Repository: wsdjeg/SpaceVim Branch: master Commit: eed9d8f14951 Files: 13737 Total size: 90.8 MB Directory structure: gitextract_zisc536k/ ├── .SpaceVim.d/ │ ├── README.md │ ├── ReleasePostCheckList.md │ ├── ReleasePreCheckList.md │ ├── autoload/ │ │ └── SpaceVim/ │ │ ├── api/ │ │ │ └── dev/ │ │ │ └── autodoc.vim │ │ └── dev/ │ │ ├── Achievements.vim │ │ ├── api.vim │ │ ├── codeowner.vim │ │ ├── followHEAD.vim │ │ ├── g.vim │ │ ├── issuemanager.vim │ │ ├── layers.vim │ │ ├── profile.vim │ │ ├── pull.vim │ │ ├── reddit.vim │ │ ├── releases.vim │ │ ├── roadmap.vim │ │ ├── send_to_channel.vim │ │ ├── website.vim │ │ ├── wiki.vim │ │ └── z.vim │ ├── ftplugin/ │ │ └── git-commit.vim │ ├── init.lua │ ├── init.vim │ ├── languages.json │ ├── plugin/ │ │ └── neovim-qt.lua │ ├── projections.toml │ ├── tasks.toml │ └── types/ │ └── vim.fn.lua ├── .ci/ │ ├── bootstrap │ ├── build-production │ ├── common/ │ │ └── github_commenter.vim │ ├── detach_plugin.sh │ ├── install/ │ │ ├── linux.sh │ │ └── windows.ps1 │ ├── push_baidu.sh │ ├── script.sh │ └── update_mirror.sh ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── SUPPORT.md │ └── workflows/ │ ├── async.yml │ ├── check.yml │ ├── docker.yml │ ├── lint.yml │ └── remote.yml ├── .gitignore ├── .stylua.toml ├── LICENSE ├── Makefile ├── README.md ├── addon-info.json ├── after/ │ └── syntax/ │ └── help.vim ├── autoload/ │ ├── SpaceVim/ │ │ ├── api/ │ │ │ ├── bash/ │ │ │ │ └── complete.vim │ │ │ ├── clock.vim │ │ │ ├── cmdlinemenu.vim │ │ │ ├── color.vim │ │ │ ├── data/ │ │ │ │ ├── base64.vim │ │ │ │ ├── dict.vim │ │ │ │ ├── json.vim │ │ │ │ ├── list.vim │ │ │ │ ├── number.vim │ │ │ │ ├── quopri.vim │ │ │ │ ├── string.vim │ │ │ │ └── toml.vim │ │ │ ├── file.vim │ │ │ ├── iconv/ │ │ │ │ ├── bytes.vim │ │ │ │ └── codecs/ │ │ │ │ ├── _8859_1.vim │ │ │ │ ├── _8859_10.vim │ │ │ │ ├── _8859_11.vim │ │ │ │ ├── _8859_13.vim │ │ │ │ ├── _8859_14.vim │ │ │ │ ├── _8859_15.vim │ │ │ │ ├── _8859_16.vim │ │ │ │ ├── _8859_2.vim │ │ │ │ ├── _8859_3.vim │ │ │ │ ├── _8859_4.vim │ │ │ │ ├── _8859_5.vim │ │ │ │ ├── _8859_6.vim │ │ │ │ ├── _8859_7.vim │ │ │ │ ├── _8859_8.vim │ │ │ │ ├── _8859_9.vim │ │ │ │ ├── _cp037.vim │ │ │ │ ├── _cp1026.vim │ │ │ │ ├── _cp1250.vim │ │ │ │ ├── _cp1251.vim │ │ │ │ ├── _cp1252.vim │ │ │ │ ├── _cp1253.vim │ │ │ │ ├── _cp1254.vim │ │ │ │ ├── _cp1255.vim │ │ │ │ ├── _cp1256.vim │ │ │ │ ├── _cp1257.vim │ │ │ │ ├── _cp1258.vim │ │ │ │ ├── _cp437.vim │ │ │ │ ├── _cp500.vim │ │ │ │ ├── _cp737.vim │ │ │ │ ├── _cp775.vim │ │ │ │ ├── _cp850.vim │ │ │ │ ├── _cp852.vim │ │ │ │ ├── _cp855.vim │ │ │ │ ├── _cp857.vim │ │ │ │ ├── _cp860.vim │ │ │ │ ├── _cp861.vim │ │ │ │ ├── _cp862.vim │ │ │ │ ├── _cp863.vim │ │ │ │ ├── _cp864.vim │ │ │ │ ├── _cp865.vim │ │ │ │ ├── _cp866.vim │ │ │ │ ├── _cp869.vim │ │ │ │ ├── _cp874.vim │ │ │ │ ├── _cp875.vim │ │ │ │ ├── _cp932.vim │ │ │ │ ├── _cp936.vim │ │ │ │ ├── _cp949.vim │ │ │ │ ├── _cp950.vim │ │ │ │ ├── _euc_jp.vim │ │ │ │ ├── ascii.vim │ │ │ │ ├── base.vim │ │ │ │ ├── error.vim │ │ │ │ ├── tablebase.vim │ │ │ │ ├── utf16.vim │ │ │ │ ├── utf16be.vim │ │ │ │ ├── utf16le.vim │ │ │ │ ├── utf32.vim │ │ │ │ ├── utf32be.vim │ │ │ │ ├── utf32le.vim │ │ │ │ └── utf8.vim │ │ │ ├── iconv.vim │ │ │ ├── job.vim │ │ │ ├── language.vim │ │ │ ├── logger.vim │ │ │ ├── messletters.vim │ │ │ ├── neovim/ │ │ │ │ ├── floating.vim │ │ │ │ ├── gui.vim │ │ │ │ └── version.vim │ │ │ ├── notify.vim │ │ │ ├── password.vim │ │ │ ├── prompt.vim │ │ │ ├── system.vim │ │ │ ├── time.vim │ │ │ ├── transient_state.vim │ │ │ ├── unicode/ │ │ │ │ ├── box.vim │ │ │ │ ├── icon.vim │ │ │ │ ├── spinners.vim │ │ │ │ └── tree.vim │ │ │ ├── vim/ │ │ │ │ ├── buffer.vim │ │ │ │ ├── command.vim │ │ │ │ ├── compatible.vim │ │ │ │ ├── floating.vim │ │ │ │ ├── highlight.vim │ │ │ │ ├── key.vim │ │ │ │ ├── mapping.vim │ │ │ │ ├── message.vim │ │ │ │ ├── regex.vim │ │ │ │ ├── sid.vim │ │ │ │ ├── signatures.vim │ │ │ │ ├── statusline.vim │ │ │ │ ├── tab.vim │ │ │ │ └── window.vim │ │ │ ├── vim.vim │ │ │ └── web/ │ │ │ ├── html.vim │ │ │ ├── http.vim │ │ │ └── xml.vim │ │ ├── api.vim │ │ ├── autocmds.vim │ │ ├── bin/ │ │ │ ├── complete │ │ │ └── get_complete │ │ ├── commands/ │ │ │ └── debug.vim │ │ ├── commands.vim │ │ ├── custom.vim │ │ ├── default.vim │ │ ├── health/ │ │ │ ├── clipboard.vim │ │ │ ├── environment.vim │ │ │ ├── lua.vim │ │ │ └── python.vim │ │ ├── health.vim │ │ ├── issue.vim │ │ ├── layers/ │ │ │ ├── VersionControl.vim │ │ │ ├── autocomplete.vim │ │ │ ├── chat.vim │ │ │ ├── checkers.vim │ │ │ ├── chinese.vim │ │ │ ├── colorscheme.vim │ │ │ ├── core/ │ │ │ │ ├── banner.vim │ │ │ │ ├── statuscolumn.vim │ │ │ │ ├── statusline.vim │ │ │ │ └── tabline.vim │ │ │ ├── core.vim │ │ │ ├── cscope.vim │ │ │ ├── ctrlp.vim │ │ │ ├── ctrlspace.vim │ │ │ ├── debug.vim │ │ │ ├── denite.vim │ │ │ ├── edit.vim │ │ │ ├── exprfold.vim │ │ │ ├── floobits.vim │ │ │ ├── foldsearch.vim │ │ │ ├── format.vim │ │ │ ├── framework/ │ │ │ │ └── django.vim │ │ │ ├── fuzzy.vim │ │ │ ├── fzf.vim │ │ │ ├── games.vim │ │ │ ├── git.vim │ │ │ ├── github.vim │ │ │ ├── gtags.vim │ │ │ ├── incsearch.vim │ │ │ ├── indentmove.vim │ │ │ ├── japanese.vim │ │ │ ├── lang/ │ │ │ │ ├── WebAssembly.vim │ │ │ │ ├── actionscript.vim │ │ │ │ ├── agda.vim │ │ │ │ ├── asciidoc.vim │ │ │ │ ├── aspectj.vim │ │ │ │ ├── assembly.vim │ │ │ │ ├── autohotkey.vim │ │ │ │ ├── autoit.vim │ │ │ │ ├── batch.vim │ │ │ │ ├── c.vim │ │ │ │ ├── chapel.vim │ │ │ │ ├── clojure.vim │ │ │ │ ├── cmake.vim │ │ │ │ ├── coffeescript.vim │ │ │ │ ├── crystal.vim │ │ │ │ ├── csharp.vim │ │ │ │ ├── d.vim │ │ │ │ ├── dart.vim │ │ │ │ ├── dockerfile.vim │ │ │ │ ├── e.vim │ │ │ │ ├── eiffel.vim │ │ │ │ ├── elixir.vim │ │ │ │ ├── elm.vim │ │ │ │ ├── erlang.vim │ │ │ │ ├── extra.vim │ │ │ │ ├── factor.vim │ │ │ │ ├── fennel.vim │ │ │ │ ├── forth.vim │ │ │ │ ├── fortran.vim │ │ │ │ ├── foxpro.vim │ │ │ │ ├── fsharp.vim │ │ │ │ ├── go.vim │ │ │ │ ├── goby.vim │ │ │ │ ├── gosu.vim │ │ │ │ ├── graphql.vim │ │ │ │ ├── groovy.vim │ │ │ │ ├── hack.vim │ │ │ │ ├── haskell.vim │ │ │ │ ├── haxe.vim │ │ │ │ ├── html.vim │ │ │ │ ├── hy.vim │ │ │ │ ├── idris.vim │ │ │ │ ├── io.vim │ │ │ │ ├── ipynb.vim │ │ │ │ ├── j.vim │ │ │ │ ├── janet.vim │ │ │ │ ├── java.vim │ │ │ │ ├── javascript.vim │ │ │ │ ├── jr.vim │ │ │ │ ├── json.vim │ │ │ │ ├── jsonnet.vim │ │ │ │ ├── julia.vim │ │ │ │ ├── kotlin.vim │ │ │ │ ├── lasso.vim │ │ │ │ ├── latex.vim │ │ │ │ ├── liquid.vim │ │ │ │ ├── lisp.vim │ │ │ │ ├── livescript.vim │ │ │ │ ├── lua.vim │ │ │ │ ├── markdown.vim │ │ │ │ ├── matlab.vim │ │ │ │ ├── moonscript.vim │ │ │ │ ├── nim.vim │ │ │ │ ├── nix.vim │ │ │ │ ├── ocaml.vim │ │ │ │ ├── octave.vim │ │ │ │ ├── org.vim │ │ │ │ ├── pact.vim │ │ │ │ ├── pascal.vim │ │ │ │ ├── perl.vim │ │ │ │ ├── php.vim │ │ │ │ ├── plantuml.vim │ │ │ │ ├── pony.vim │ │ │ │ ├── postscript.vim │ │ │ │ ├── povray.vim │ │ │ │ ├── powershell.vim │ │ │ │ ├── processing.vim │ │ │ │ ├── prolog.vim │ │ │ │ ├── puppet.vim │ │ │ │ ├── purescript.vim │ │ │ │ ├── python.vim │ │ │ │ ├── qml.vim │ │ │ │ ├── r.vim │ │ │ │ ├── racket.vim │ │ │ │ ├── reason.vim │ │ │ │ ├── red.vim │ │ │ │ ├── rescript.vim │ │ │ │ ├── ring.vim │ │ │ │ ├── rst.vim │ │ │ │ ├── ruby.vim │ │ │ │ ├── rust.vim │ │ │ │ ├── s.vim │ │ │ │ ├── scala.vim │ │ │ │ ├── scheme.vim │ │ │ │ ├── sh.vim │ │ │ │ ├── slim.vim │ │ │ │ ├── smalltalk.vim │ │ │ │ ├── sml.vim │ │ │ │ ├── solidity.vim │ │ │ │ ├── splus.vim │ │ │ │ ├── sql.vim │ │ │ │ ├── supercollider.vim │ │ │ │ ├── swift.vim │ │ │ │ ├── swig.vim │ │ │ │ ├── tcl.vim │ │ │ │ ├── teal.vim │ │ │ │ ├── toml.vim │ │ │ │ ├── typescript.vim │ │ │ │ ├── v.vim │ │ │ │ ├── vala.vim │ │ │ │ ├── vbnet.vim │ │ │ │ ├── verilog.vim │ │ │ │ ├── vim.vim │ │ │ │ ├── vue.vim │ │ │ │ ├── wdl.vim │ │ │ │ ├── wolfram.vim │ │ │ │ ├── xml.vim │ │ │ │ ├── xquery.vim │ │ │ │ ├── yang.vim │ │ │ │ └── zig.vim │ │ │ ├── leaderf.vim │ │ │ ├── lsp.vim │ │ │ ├── mail.vim │ │ │ ├── operator.vim │ │ │ ├── org.vim │ │ │ ├── shell.vim │ │ │ ├── ssh.vim │ │ │ ├── sudo.vim │ │ │ ├── telescope.vim │ │ │ ├── test.vim │ │ │ ├── tmux.vim │ │ │ ├── tools/ │ │ │ │ ├── cpicker.vim │ │ │ │ ├── dash.vim │ │ │ │ ├── mpv.vim │ │ │ │ ├── screensaver.vim │ │ │ │ └── zeal.vim │ │ │ ├── tools.vim │ │ │ ├── treesitter.vim │ │ │ ├── ui.vim │ │ │ ├── unite.vim │ │ │ ├── vim.vim │ │ │ ├── xmake.vim │ │ │ └── zettelkasten.vim │ │ ├── layers.vim │ │ ├── logger.vim │ │ ├── lsp.vim │ │ ├── mapping/ │ │ │ ├── enter.vim │ │ │ ├── frequency.vim │ │ │ ├── g.vim │ │ │ ├── g_capital_d.vim │ │ │ ├── gd.vim │ │ │ ├── guide/ │ │ │ │ ├── paser.vim │ │ │ │ ├── theme/ │ │ │ │ │ ├── NeoSolarized.vim │ │ │ │ │ ├── SpaceVim.vim │ │ │ │ │ ├── dracula.vim │ │ │ │ │ ├── gruvbox.vim │ │ │ │ │ ├── hybrid.vim │ │ │ │ │ ├── jellybeans.vim │ │ │ │ │ ├── material.vim │ │ │ │ │ ├── molokai.vim │ │ │ │ │ ├── nord.vim │ │ │ │ │ ├── one.vim │ │ │ │ │ ├── onedark.vim │ │ │ │ │ ├── palenight.vim │ │ │ │ │ ├── solarized.vim │ │ │ │ │ └── srcery.vim │ │ │ │ └── theme.vim │ │ │ ├── guide.vim │ │ │ ├── leader.vim │ │ │ ├── search.vim │ │ │ ├── space.vim │ │ │ ├── tab.vim │ │ │ └── z.vim │ │ ├── mapping.vim │ │ ├── options.vim │ │ ├── plugins/ │ │ │ ├── a.vim │ │ │ ├── autosave.vim │ │ │ ├── bashcomplete.vim │ │ │ ├── ctrlg.vim │ │ │ ├── find.vim │ │ │ ├── flygrep.vim │ │ │ ├── foldsearch.vim │ │ │ ├── gitcommit.vim │ │ │ ├── help.vim │ │ │ ├── helpgrep.vim │ │ │ ├── highlight.vim │ │ │ ├── history.vim │ │ │ ├── iedit.vim │ │ │ ├── manager.vim │ │ │ ├── mkdir.vim │ │ │ ├── pastebin.vim │ │ │ ├── pmd.vim │ │ │ ├── projectmanager.vim │ │ │ ├── quickfix.vim │ │ │ ├── repl.vim │ │ │ ├── runner.vim │ │ │ ├── scrollbar.vim │ │ │ ├── searcher.vim │ │ │ ├── sidebar.vim │ │ │ ├── tabmanager.vim │ │ │ ├── tasks.vim │ │ │ ├── todo.vim │ │ │ ├── windisk.vim │ │ │ └── windowsmanager.vim │ │ ├── plugins.vim │ │ ├── server.vim │ │ └── util.vim │ ├── SpaceVim.vim │ ├── airline/ │ │ └── extensions/ │ │ └── tabline/ │ │ └── formatters/ │ │ └── spacevim.vim │ ├── leaderf/ │ │ └── colorscheme/ │ │ └── SpaceVim.vim │ └── vimfiler/ │ └── columns/ │ ├── filetypeicon.vim │ └── gitstatus.vim ├── bin/ │ ├── nsvc │ ├── nsvc.bat │ ├── svc │ └── svc.bat ├── bundle/ │ ├── Chatting-server/ │ │ ├── .gitignore │ │ ├── .projections.json │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── wsdjeg/ │ │ │ └── chat/ │ │ │ ├── Client.java │ │ │ ├── Server.java │ │ │ └── server/ │ │ │ ├── Account.java │ │ │ ├── Command.java │ │ │ ├── FriendManager.java │ │ │ ├── Group.java │ │ │ ├── GroupManager.java │ │ │ ├── Logger.java │ │ │ ├── Message.java │ │ │ ├── MessageSender.java │ │ │ ├── Security.java │ │ │ ├── ServerThread.java │ │ │ ├── User.java │ │ │ ├── UserManager.java │ │ │ ├── bot/ │ │ │ │ ├── Bot.java │ │ │ │ ├── BotFactory.java │ │ │ │ ├── MathBot.java │ │ │ │ └── SmartBot.java │ │ │ └── util/ │ │ │ ├── JsonBuilder.java │ │ │ └── MathUtils.java │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── wsdjeg/ │ │ └── chat/ │ │ ├── ClientTest.java │ │ └── server/ │ │ ├── AccountTest.java │ │ ├── CommandTest.java │ │ ├── GroupManagerTest.java │ │ ├── LoggerTest.java │ │ ├── MessageTest.java │ │ ├── SecurityTest.java │ │ ├── UserTest.java │ │ ├── bot/ │ │ │ └── MathBotTest.java │ │ └── util/ │ │ └── JsonBuilderTest.java │ ├── ChineseLinter.vim/ │ │ ├── .ci/ │ │ │ ├── install.sh │ │ │ └── script.sh │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Makefile │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ └── ChineseLinter.vim │ │ ├── codecov.yml │ │ ├── doc/ │ │ │ └── ChineseLinter.txt │ │ ├── plugin/ │ │ │ └── ChineseLinter.vim │ │ └── test/ │ │ ├── clear.vader │ │ ├── e001.vader │ │ ├── e002.vader │ │ ├── e003.vader │ │ ├── e004.vader │ │ ├── e005.vader │ │ ├── e006.vader │ │ └── vimrc │ ├── CompleteParameter.vim/ │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── PULL_REQUEST_TEMPLATE.md │ │ ├── .travis.yml │ │ ├── CHANGELOG │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── compatible_with_ultisnips.vim │ │ ├── autoload/ │ │ │ ├── cmp/ │ │ │ │ └── ultisnips.vim │ │ │ ├── cmp.vim │ │ │ └── complete_parameter.vim │ │ ├── ci/ │ │ │ ├── travis_install.sh │ │ │ └── travis_script.sh │ │ ├── cm_parser/ │ │ │ ├── c.vim │ │ │ ├── cpp.vim │ │ │ ├── erlang.vim │ │ │ ├── go.vim │ │ │ ├── javascript.vim │ │ │ ├── python.vim │ │ │ ├── rust.vim │ │ │ └── typescript.vim │ │ ├── doc/ │ │ │ ├── .gitignore │ │ │ └── complete_parameter.txt │ │ ├── plugin/ │ │ │ └── complete_parameter.vim │ │ └── vader/ │ │ ├── c.vader │ │ ├── complete.vader │ │ ├── cpp.vader │ │ ├── erlang.vader │ │ ├── go.vader │ │ ├── goto_parameter.vader │ │ ├── javascript.vader │ │ ├── jumpable.vader │ │ ├── next_overload_content.vader │ │ ├── parameter_position.vader │ │ ├── parser.vader │ │ ├── python.vader │ │ ├── rust.vader │ │ ├── test.sh │ │ └── typescript.vader │ ├── FlyGrep/ │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ └── flygrep.vim │ │ ├── doc/ │ │ │ └── FlyGrep.txt │ │ ├── plugin/ │ │ │ └── FlyGrep.vim │ │ └── test/ │ │ └── vimrc │ ├── JavaUnit.vim/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── .vintrc.yaml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── javaunit/ │ │ │ │ ├── util.vim │ │ │ │ └── win.vim │ │ │ └── javaunit.vim │ │ ├── bin/ │ │ │ └── test.txt │ │ ├── doc/ │ │ │ └── JavaUnite.vim.txt │ │ ├── plugin/ │ │ │ └── javaunit.vim │ │ └── src/ │ │ └── com/ │ │ └── wsdjeg/ │ │ └── util/ │ │ ├── GenerateMethod.java │ │ └── TestMethod.java │ ├── LeaderF-neosnippet/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── lf_neosnippet.vim │ │ ├── autoload/ │ │ │ └── lf_neosnippet.vim │ │ └── plugin/ │ │ └── lf_neosnippet.vim │ ├── LeaderF-snippet/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ └── plugin/ │ │ ├── leaderf_snippet.py │ │ └── leaderf_snippet.vim │ ├── SourceCounter.vim/ │ │ ├── .gitignore │ │ ├── .vintrc.yaml │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ └── SourceCounter.vim │ │ ├── doc/ │ │ │ └── SourceCounter.vim.txt │ │ └── plugin/ │ │ └── SourceCounter.vim │ ├── VimRegStyle/ │ │ ├── .gitignore │ │ ├── README.asciidoc │ │ ├── TODO │ │ ├── autoload/ │ │ │ ├── extended_regex.vim │ │ │ └── vrs.vim │ │ ├── doc/ │ │ │ └── vimregstyle.txt │ │ ├── ftdetect/ │ │ │ └── vrs.vim │ │ ├── patterns/ │ │ │ ├── datetime.vrs │ │ │ ├── numbers.vrs │ │ │ ├── test.vrs │ │ │ └── vim.vrs │ │ ├── plugin/ │ │ │ ├── extended_regex.vim │ │ │ └── vrs.vim │ │ ├── syntax/ │ │ │ └── vrs.vim │ │ └── test/ │ │ ├── 001_numbers_floating.vim │ │ ├── 001_numbers_integers.vim │ │ ├── 001_numbers_ip-addresses.vim │ │ ├── 001_numbers_phone-numbers-pcre.vim │ │ ├── 001_numbers_phone-numbers.vim │ │ ├── 002_extended-regex_vrs.vim │ │ ├── 003_extended-regex_vim.vim │ │ ├── 004_do_not_accept_duplicates.vim │ │ ├── README │ │ └── _setup.vim │ ├── ale/ │ │ ├── LICENSE │ │ ├── ale_linters/ │ │ │ ├── ada/ │ │ │ │ ├── adals.vim │ │ │ │ ├── cspell.vim │ │ │ │ └── gcc.vim │ │ │ ├── ansible/ │ │ │ │ ├── ansible_language_server.vim │ │ │ │ └── ansible_lint.vim │ │ │ ├── apiblueprint/ │ │ │ │ └── drafter.vim │ │ │ ├── apkbuild/ │ │ │ │ ├── apkbuild_lint.vim │ │ │ │ └── secfixes_check.vim │ │ │ ├── asciidoc/ │ │ │ │ ├── alex.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── languagetool.vim │ │ │ │ ├── proselint.vim │ │ │ │ ├── redpen.vim │ │ │ │ ├── textlint.vim │ │ │ │ ├── vale.vim │ │ │ │ └── writegood.vim │ │ │ ├── asm/ │ │ │ │ └── gcc.vim │ │ │ ├── avra/ │ │ │ │ └── avra.vim │ │ │ ├── awk/ │ │ │ │ └── gawk.vim │ │ │ ├── bats/ │ │ │ │ └── shellcheck.vim │ │ │ ├── bib/ │ │ │ │ └── bibclean.vim │ │ │ ├── bicep/ │ │ │ │ └── bicep.vim │ │ │ ├── bitbake/ │ │ │ │ └── oelint_adv.vim │ │ │ ├── c/ │ │ │ │ ├── cc.vim │ │ │ │ ├── ccls.vim │ │ │ │ ├── clangd.vim │ │ │ │ ├── clangtidy.vim │ │ │ │ ├── cppcheck.vim │ │ │ │ ├── cpplint.vim │ │ │ │ ├── cquery.vim │ │ │ │ ├── cspell.vim │ │ │ │ └── flawfinder.vim │ │ │ ├── cairo/ │ │ │ │ └── starknet.vim │ │ │ ├── chef/ │ │ │ │ ├── cookstyle.vim │ │ │ │ └── foodcritic.vim │ │ │ ├── clojure/ │ │ │ │ ├── clj_kondo.vim │ │ │ │ └── joker.vim │ │ │ ├── cloudformation/ │ │ │ │ └── cfn_python_lint.vim │ │ │ ├── cmake/ │ │ │ │ ├── cmake_lint.vim │ │ │ │ └── cmakelint.vim │ │ │ ├── coffee/ │ │ │ │ ├── coffee.vim │ │ │ │ └── coffeelint.vim │ │ │ ├── cpp/ │ │ │ │ ├── cc.vim │ │ │ │ ├── ccls.vim │ │ │ │ ├── clangcheck.vim │ │ │ │ ├── clangd.vim │ │ │ │ ├── clangtidy.vim │ │ │ │ ├── clazy.vim │ │ │ │ ├── cppcheck.vim │ │ │ │ ├── cpplint.vim │ │ │ │ ├── cquery.vim │ │ │ │ ├── cspell.vim │ │ │ │ └── flawfinder.vim │ │ │ ├── crystal/ │ │ │ │ ├── ameba.vim │ │ │ │ └── crystal.vim │ │ │ ├── cs/ │ │ │ │ ├── csc.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── mcs.vim │ │ │ │ └── mcsc.vim │ │ │ ├── css/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── csslint.vim │ │ │ │ ├── fecs.vim │ │ │ │ ├── stylelint.vim │ │ │ │ └── vscodecss.vim │ │ │ ├── cucumber/ │ │ │ │ └── cucumber.vim │ │ │ ├── cuda/ │ │ │ │ ├── clangd.vim │ │ │ │ └── nvcc.vim │ │ │ ├── cypher/ │ │ │ │ └── cypher_lint.vim │ │ │ ├── d/ │ │ │ │ ├── dls.vim │ │ │ │ └── dmd.vim │ │ │ ├── dafny/ │ │ │ │ └── dafny.vim │ │ │ ├── dart/ │ │ │ │ ├── analysis_server.vim │ │ │ │ ├── dart_analyze.vim │ │ │ │ └── language_server.vim │ │ │ ├── desktop/ │ │ │ │ └── desktop_file_validate.vim │ │ │ ├── dockerfile/ │ │ │ │ ├── dockerfile_lint.vim │ │ │ │ └── hadolint.vim │ │ │ ├── elixir/ │ │ │ │ ├── credo.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── dialyxir.vim │ │ │ │ ├── dogma.vim │ │ │ │ ├── elixir_ls.vim │ │ │ │ └── mix.vim │ │ │ ├── elm/ │ │ │ │ ├── elm_ls.vim │ │ │ │ └── make.vim │ │ │ ├── erlang/ │ │ │ │ ├── dialyzer.vim │ │ │ │ ├── elvis.vim │ │ │ │ ├── erlang_ls.vim │ │ │ │ ├── erlc.vim │ │ │ │ └── syntaxerl.vim │ │ │ ├── eruby/ │ │ │ │ ├── erb.vim │ │ │ │ ├── erblint.vim │ │ │ │ ├── erubi.vim │ │ │ │ ├── erubis.vim │ │ │ │ └── ruumba.vim │ │ │ ├── fish/ │ │ │ │ └── fish.vim │ │ │ ├── fortran/ │ │ │ │ ├── gcc.vim │ │ │ │ └── language_server.vim │ │ │ ├── fountain/ │ │ │ │ └── proselint.vim │ │ │ ├── fuse/ │ │ │ │ └── fusionlint.vim │ │ │ ├── gitcommit/ │ │ │ │ └── gitlint.vim │ │ │ ├── glsl/ │ │ │ │ ├── glslang.vim │ │ │ │ └── glslls.vim │ │ │ ├── go/ │ │ │ │ ├── bingo.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── gobuild.vim │ │ │ │ ├── gofmt.vim │ │ │ │ ├── golangci_lint.vim │ │ │ │ ├── golint.vim │ │ │ │ ├── gometalinter.vim │ │ │ │ ├── gopls.vim │ │ │ │ ├── gosimple.vim │ │ │ │ ├── gotype.vim │ │ │ │ ├── govet.vim │ │ │ │ ├── langserver.vim │ │ │ │ ├── revive.vim │ │ │ │ └── staticcheck.vim │ │ │ ├── graphql/ │ │ │ │ ├── eslint.vim │ │ │ │ └── gqlint.vim │ │ │ ├── hack/ │ │ │ │ ├── hack.vim │ │ │ │ └── hhast.vim │ │ │ ├── haml/ │ │ │ │ └── hamllint.vim │ │ │ ├── handlebars/ │ │ │ │ └── embertemplatelint.vim │ │ │ ├── haskell/ │ │ │ │ ├── cabal_ghc.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── ghc.vim │ │ │ │ ├── ghc_mod.vim │ │ │ │ ├── hdevtools.vim │ │ │ │ ├── hie.vim │ │ │ │ ├── hlint.vim │ │ │ │ ├── hls.vim │ │ │ │ ├── stack_build.vim │ │ │ │ └── stack_ghc.vim │ │ │ ├── help/ │ │ │ │ ├── alex.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── proselint.vim │ │ │ │ └── writegood.vim │ │ │ ├── html/ │ │ │ │ ├── alex.vim │ │ │ │ ├── angular.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── fecs.vim │ │ │ │ ├── htmlhint.vim │ │ │ │ ├── proselint.vim │ │ │ │ ├── stylelint.vim │ │ │ │ ├── tidy.vim │ │ │ │ ├── vscodehtml.vim │ │ │ │ └── writegood.vim │ │ │ ├── idris/ │ │ │ │ └── idris.vim │ │ │ ├── ink/ │ │ │ │ └── ls.vim │ │ │ ├── inko/ │ │ │ │ └── inko.vim │ │ │ ├── ispc/ │ │ │ │ └── ispc.vim │ │ │ ├── java/ │ │ │ │ ├── checkstyle.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── eclipselsp.vim │ │ │ │ ├── javac.vim │ │ │ │ ├── javalsp.vim │ │ │ │ └── pmd.vim │ │ │ ├── javascript/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── deno.vim │ │ │ │ ├── eslint.vim │ │ │ │ ├── fecs.vim │ │ │ │ ├── flow.vim │ │ │ │ ├── flow_ls.vim │ │ │ │ ├── jscs.vim │ │ │ │ ├── jshint.vim │ │ │ │ ├── standard.vim │ │ │ │ ├── tsserver.vim │ │ │ │ └── xo.vim │ │ │ ├── json/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── eslint.vim │ │ │ │ ├── jq.vim │ │ │ │ ├── jsonlint.vim │ │ │ │ ├── spectral.vim │ │ │ │ └── vscodejson.vim │ │ │ ├── json5/ │ │ │ │ └── eslint.vim │ │ │ ├── jsonc/ │ │ │ │ └── eslint.vim │ │ │ ├── jsonnet/ │ │ │ │ ├── jsonnet_lint.vim │ │ │ │ └── jsonnetfmt.vim │ │ │ ├── julia/ │ │ │ │ └── languageserver.vim │ │ │ ├── kotlin/ │ │ │ │ ├── kotlinc.vim │ │ │ │ ├── ktlint.vim │ │ │ │ └── languageserver.vim │ │ │ ├── less/ │ │ │ │ ├── lessc.vim │ │ │ │ └── stylelint.vim │ │ │ ├── llvm/ │ │ │ │ └── llc.vim │ │ │ ├── lua/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── luac.vim │ │ │ │ ├── luacheck.vim │ │ │ │ └── selene.vim │ │ │ ├── mail/ │ │ │ │ ├── alex.vim │ │ │ │ ├── languagetool.vim │ │ │ │ ├── proselint.vim │ │ │ │ └── vale.vim │ │ │ ├── make/ │ │ │ │ └── checkmake.vim │ │ │ ├── markdown/ │ │ │ │ ├── alex.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── languagetool.vim │ │ │ │ ├── markdownlint.vim │ │ │ │ ├── mdl.vim │ │ │ │ ├── proselint.vim │ │ │ │ ├── redpen.vim │ │ │ │ ├── remark_lint.vim │ │ │ │ ├── textlint.vim │ │ │ │ ├── vale.vim │ │ │ │ └── writegood.vim │ │ │ ├── matlab/ │ │ │ │ └── mlint.vim │ │ │ ├── mercury/ │ │ │ │ └── mmc.vim │ │ │ ├── nasm/ │ │ │ │ └── nasm.vim │ │ │ ├── nim/ │ │ │ │ ├── nimcheck.vim │ │ │ │ └── nimlsp.vim │ │ │ ├── nix/ │ │ │ │ ├── nix.vim │ │ │ │ ├── rnix_lsp.vim │ │ │ │ └── statix.vim │ │ │ ├── nroff/ │ │ │ │ ├── alex.vim │ │ │ │ ├── proselint.vim │ │ │ │ └── writegood.vim │ │ │ ├── objc/ │ │ │ │ ├── ccls.vim │ │ │ │ ├── clang.vim │ │ │ │ └── clangd.vim │ │ │ ├── objcpp/ │ │ │ │ ├── clang.vim │ │ │ │ └── clangd.vim │ │ │ ├── ocaml/ │ │ │ │ ├── merlin.vim │ │ │ │ ├── ocamllsp.vim │ │ │ │ └── ols.vim │ │ │ ├── ocamlinterface/ │ │ │ │ ├── merlin.vim │ │ │ │ └── ocamllsp.vim │ │ │ ├── openapi/ │ │ │ │ ├── ibm_validator.vim │ │ │ │ └── yamllint.vim │ │ │ ├── openscad/ │ │ │ │ └── sca2d.vim │ │ │ ├── perl/ │ │ │ │ ├── perl.vim │ │ │ │ └── perlcritic.vim │ │ │ ├── perl6/ │ │ │ │ └── perl6.vim │ │ │ ├── php/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── intelephense.vim │ │ │ │ ├── langserver.vim │ │ │ │ ├── phan.vim │ │ │ │ ├── php.vim │ │ │ │ ├── phpactor.vim │ │ │ │ ├── phpcs.vim │ │ │ │ ├── phpmd.vim │ │ │ │ ├── phpstan.vim │ │ │ │ ├── psalm.vim │ │ │ │ └── tlint.vim │ │ │ ├── po/ │ │ │ │ ├── alex.vim │ │ │ │ ├── msgfmt.vim │ │ │ │ ├── proselint.vim │ │ │ │ └── writegood.vim │ │ │ ├── pod/ │ │ │ │ ├── alex.vim │ │ │ │ ├── proselint.vim │ │ │ │ └── writegood.vim │ │ │ ├── pony/ │ │ │ │ └── ponyc.vim │ │ │ ├── powershell/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── powershell.vim │ │ │ │ └── psscriptanalyzer.vim │ │ │ ├── prolog/ │ │ │ │ └── swipl.vim │ │ │ ├── proto/ │ │ │ │ ├── buf_lint.vim │ │ │ │ ├── protoc_gen_lint.vim │ │ │ │ └── protolint.vim │ │ │ ├── pug/ │ │ │ │ └── puglint.vim │ │ │ ├── puppet/ │ │ │ │ ├── languageserver.vim │ │ │ │ ├── puppet.vim │ │ │ │ └── puppetlint.vim │ │ │ ├── purescript/ │ │ │ │ └── ls.vim │ │ │ ├── pyrex/ │ │ │ │ └── cython.vim │ │ │ ├── python/ │ │ │ │ ├── bandit.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── flake8.vim │ │ │ │ ├── flakehell.vim │ │ │ │ ├── jedils.vim │ │ │ │ ├── mypy.vim │ │ │ │ ├── prospector.vim │ │ │ │ ├── pycodestyle.vim │ │ │ │ ├── pydocstyle.vim │ │ │ │ ├── pyflakes.vim │ │ │ │ ├── pylama.vim │ │ │ │ ├── pylint.vim │ │ │ │ ├── pylsp.vim │ │ │ │ ├── pyre.vim │ │ │ │ ├── pyright.vim │ │ │ │ ├── refurb.vim │ │ │ │ ├── ruff.vim │ │ │ │ ├── unimport.vim │ │ │ │ └── vulture.vim │ │ │ ├── qml/ │ │ │ │ ├── qmlfmt.vim │ │ │ │ └── qmllint.vim │ │ │ ├── r/ │ │ │ │ ├── languageserver.vim │ │ │ │ └── lintr.vim │ │ │ ├── racket/ │ │ │ │ ├── langserver.vim │ │ │ │ └── raco.vim │ │ │ ├── reason/ │ │ │ │ ├── ls.vim │ │ │ │ ├── merlin.vim │ │ │ │ └── ols.vim │ │ │ ├── rego/ │ │ │ │ ├── cspell.vim │ │ │ │ └── opacheck.vim │ │ │ ├── review/ │ │ │ │ └── redpen.vim │ │ │ ├── robot/ │ │ │ │ └── rflint.vim │ │ │ ├── rst/ │ │ │ │ ├── alex.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── proselint.vim │ │ │ │ ├── redpen.vim │ │ │ │ ├── rstcheck.vim │ │ │ │ ├── textlint.vim │ │ │ │ ├── vale.vim │ │ │ │ └── writegood.vim │ │ │ ├── ruby/ │ │ │ │ ├── brakeman.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── debride.vim │ │ │ │ ├── rails_best_practices.vim │ │ │ │ ├── reek.vim │ │ │ │ ├── rubocop.vim │ │ │ │ ├── ruby.vim │ │ │ │ ├── solargraph.vim │ │ │ │ ├── sorbet.vim │ │ │ │ └── standardrb.vim │ │ │ ├── rust/ │ │ │ │ ├── analyzer.vim │ │ │ │ ├── cargo.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── rls.vim │ │ │ │ └── rustc.vim │ │ │ ├── salt/ │ │ │ │ └── salt_lint.vim │ │ │ ├── sass/ │ │ │ │ ├── sasslint.vim │ │ │ │ └── stylelint.vim │ │ │ ├── scala/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── fsc.vim │ │ │ │ ├── metals.vim │ │ │ │ ├── sbtserver.vim │ │ │ │ ├── scalac.vim │ │ │ │ └── scalastyle.vim │ │ │ ├── scss/ │ │ │ │ ├── sasslint.vim │ │ │ │ ├── scsslint.vim │ │ │ │ └── stylelint.vim │ │ │ ├── sh/ │ │ │ │ ├── bashate.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── language_server.vim │ │ │ │ ├── shell.vim │ │ │ │ └── shellcheck.vim │ │ │ ├── slim/ │ │ │ │ └── slimlint.vim │ │ │ ├── sml/ │ │ │ │ ├── smlnj.vim │ │ │ │ └── smlnj_cm.vim │ │ │ ├── solidity/ │ │ │ │ ├── solc.vim │ │ │ │ ├── solhint.vim │ │ │ │ └── solium.vim │ │ │ ├── spec/ │ │ │ │ └── rpmlint.vim │ │ │ ├── sql/ │ │ │ │ ├── sqlfluff.vim │ │ │ │ ├── sqlint.vim │ │ │ │ └── sqllint.vim │ │ │ ├── stylus/ │ │ │ │ └── stylelint.vim │ │ │ ├── sugarss/ │ │ │ │ └── stylelint.vim │ │ │ ├── svelte/ │ │ │ │ └── svelteserver.vim │ │ │ ├── swift/ │ │ │ │ ├── appleswiftformat.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── sourcekitlsp.vim │ │ │ │ └── swiftlint.vim │ │ │ ├── systemd/ │ │ │ │ └── systemd_analyze.vim │ │ │ ├── tcl/ │ │ │ │ └── nagelfar.vim │ │ │ ├── terraform/ │ │ │ │ ├── checkov.vim │ │ │ │ ├── terraform.vim │ │ │ │ ├── terraform_ls.vim │ │ │ │ ├── terraform_lsp.vim │ │ │ │ ├── tflint.vim │ │ │ │ └── tfsec.vim │ │ │ ├── testft/ │ │ │ │ └── testlinter.vim │ │ │ ├── tex/ │ │ │ │ ├── alex.vim │ │ │ │ ├── chktex.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── lacheck.vim │ │ │ │ ├── proselint.vim │ │ │ │ ├── redpen.vim │ │ │ │ ├── texlab.vim │ │ │ │ ├── textlint.vim │ │ │ │ ├── vale.vim │ │ │ │ └── writegood.vim │ │ │ ├── texinfo/ │ │ │ │ ├── alex.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── proselint.vim │ │ │ │ └── writegood.vim │ │ │ ├── text/ │ │ │ │ ├── alex.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── languagetool.vim │ │ │ │ ├── proselint.vim │ │ │ │ ├── redpen.vim │ │ │ │ ├── textlint.vim │ │ │ │ ├── vale.vim │ │ │ │ └── writegood.vim │ │ │ ├── thrift/ │ │ │ │ ├── thrift.vim │ │ │ │ └── thriftcheck.vim │ │ │ ├── typescript/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── deno.vim │ │ │ │ ├── eslint.vim │ │ │ │ ├── standard.vim │ │ │ │ ├── tslint.vim │ │ │ │ ├── tsserver.vim │ │ │ │ ├── typecheck.vim │ │ │ │ └── xo.vim │ │ │ ├── v/ │ │ │ │ └── v.vim │ │ │ ├── vala/ │ │ │ │ └── vala_lint.vim │ │ │ ├── verilog/ │ │ │ │ ├── hdl_checker.vim │ │ │ │ ├── iverilog.vim │ │ │ │ ├── verilator.vim │ │ │ │ ├── vlog.vim │ │ │ │ ├── xvlog.vim │ │ │ │ └── yosys.vim │ │ │ ├── vhdl/ │ │ │ │ ├── ghdl.vim │ │ │ │ ├── hdl_checker.vim │ │ │ │ ├── vcom.vim │ │ │ │ └── xvhdl.vim │ │ │ ├── vim/ │ │ │ │ ├── ale_custom_linting_rules.vim │ │ │ │ ├── vimls.vim │ │ │ │ └── vint.vim │ │ │ ├── vue/ │ │ │ │ ├── cspell.vim │ │ │ │ ├── vls.vim │ │ │ │ └── volar.vim │ │ │ ├── wgsl/ │ │ │ │ └── naga.vim │ │ │ ├── xhtml/ │ │ │ │ ├── alex.vim │ │ │ │ ├── cspell.vim │ │ │ │ ├── proselint.vim │ │ │ │ └── writegood.vim │ │ │ ├── xml/ │ │ │ │ └── xmllint.vim │ │ │ ├── yaml/ │ │ │ │ ├── actionlint.vim │ │ │ │ ├── circleci.vim │ │ │ │ ├── gitlablint.vim │ │ │ │ ├── ls.vim │ │ │ │ ├── spectral.vim │ │ │ │ ├── swaglint.vim │ │ │ │ └── yamllint.vim │ │ │ ├── yang/ │ │ │ │ └── yang_lsp.vim │ │ │ ├── zeek/ │ │ │ │ └── zeek.vim │ │ │ └── zig/ │ │ │ └── zls.vim │ │ ├── autoload/ │ │ │ ├── ale/ │ │ │ │ ├── ant.vim │ │ │ │ ├── args.vim │ │ │ │ ├── assert.vim │ │ │ │ ├── balloon.vim │ │ │ │ ├── c.vim │ │ │ │ ├── code_action.vim │ │ │ │ ├── codefix.vim │ │ │ │ ├── command.vim │ │ │ │ ├── completion/ │ │ │ │ │ └── python.vim │ │ │ │ ├── completion.vim │ │ │ │ ├── cursor.vim │ │ │ │ ├── d.vim │ │ │ │ ├── debugging.vim │ │ │ │ ├── definition.vim │ │ │ │ ├── dhall.vim │ │ │ │ ├── engine/ │ │ │ │ │ └── ignore.vim │ │ │ │ ├── engine.vim │ │ │ │ ├── events.vim │ │ │ │ ├── filename_mapping.vim │ │ │ │ ├── filerename.vim │ │ │ │ ├── filetypes.vim │ │ │ │ ├── fix/ │ │ │ │ │ └── registry.vim │ │ │ │ ├── fix.vim │ │ │ │ ├── fixers/ │ │ │ │ │ ├── appleswiftformat.vim │ │ │ │ │ ├── astyle.vim │ │ │ │ │ ├── autoflake.vim │ │ │ │ │ ├── autoimport.vim │ │ │ │ │ ├── autopep8.vim │ │ │ │ │ ├── bibclean.vim │ │ │ │ │ ├── black.vim │ │ │ │ │ ├── brittany.vim │ │ │ │ │ ├── buf_format.vim │ │ │ │ │ ├── buildifier.vim │ │ │ │ │ ├── clangformat.vim │ │ │ │ │ ├── clangtidy.vim │ │ │ │ │ ├── cmakeformat.vim │ │ │ │ │ ├── crystal.vim │ │ │ │ │ ├── css_beautify.vim │ │ │ │ │ ├── dart_format.vim │ │ │ │ │ ├── dartfmt.vim │ │ │ │ │ ├── deno.vim │ │ │ │ │ ├── dfmt.vim │ │ │ │ │ ├── dhall_format.vim │ │ │ │ │ ├── dhall_freeze.vim │ │ │ │ │ ├── dhall_lint.vim │ │ │ │ │ ├── dotnet_format.vim │ │ │ │ │ ├── dprint.vim │ │ │ │ │ ├── dune.vim │ │ │ │ │ ├── elm_format.vim │ │ │ │ │ ├── erblint.vim │ │ │ │ │ ├── erlfmt.vim │ │ │ │ │ ├── eslint.vim │ │ │ │ │ ├── fecs.vim │ │ │ │ │ ├── fish_indent.vim │ │ │ │ │ ├── fixjson.vim │ │ │ │ │ ├── floskell.vim │ │ │ │ │ ├── generic.vim │ │ │ │ │ ├── generic_python.vim │ │ │ │ │ ├── gnatpp.vim │ │ │ │ │ ├── gofmt.vim │ │ │ │ │ ├── gofumpt.vim │ │ │ │ │ ├── goimports.vim │ │ │ │ │ ├── golines.vim │ │ │ │ │ ├── gomod.vim │ │ │ │ │ ├── google_java_format.vim │ │ │ │ │ ├── hackfmt.vim │ │ │ │ │ ├── help.vim │ │ │ │ │ ├── hfmt.vim │ │ │ │ │ ├── hindent.vim │ │ │ │ │ ├── hlint.vim │ │ │ │ │ ├── html_beautify.vim │ │ │ │ │ ├── importjs.vim │ │ │ │ │ ├── isort.vim │ │ │ │ │ ├── jq.vim │ │ │ │ │ ├── jsonnetfmt.vim │ │ │ │ │ ├── ktlint.vim │ │ │ │ │ ├── latexindent.vim │ │ │ │ │ ├── lua_format.vim │ │ │ │ │ ├── luafmt.vim │ │ │ │ │ ├── mix_format.vim │ │ │ │ │ ├── nimpretty.vim │ │ │ │ │ ├── nixfmt.vim │ │ │ │ │ ├── nixpkgsfmt.vim │ │ │ │ │ ├── ocamlformat.vim │ │ │ │ │ ├── ocp_indent.vim │ │ │ │ │ ├── opafmt.vim │ │ │ │ │ ├── ormolu.vim │ │ │ │ │ ├── packer.vim │ │ │ │ │ ├── pandoc.vim │ │ │ │ │ ├── perltidy.vim │ │ │ │ │ ├── pgformatter.vim │ │ │ │ │ ├── php_cs_fixer.vim │ │ │ │ │ ├── phpcbf.vim │ │ │ │ │ ├── pint.vim │ │ │ │ │ ├── prettier.vim │ │ │ │ │ ├── prettier_eslint.vim │ │ │ │ │ ├── prettier_standard.vim │ │ │ │ │ ├── protolint.vim │ │ │ │ │ ├── ptop.vim │ │ │ │ │ ├── puppetlint.vim │ │ │ │ │ ├── purs_tidy.vim │ │ │ │ │ ├── purty.vim │ │ │ │ │ ├── pyflyby.vim │ │ │ │ │ ├── qmlfmt.vim │ │ │ │ │ ├── raco_fmt.vim │ │ │ │ │ ├── refmt.vim │ │ │ │ │ ├── remark_lint.vim │ │ │ │ │ ├── reorder_python_imports.vim │ │ │ │ │ ├── rubocop.vim │ │ │ │ │ ├── ruff.vim │ │ │ │ │ ├── rufo.vim │ │ │ │ │ ├── rustfmt.vim │ │ │ │ │ ├── scalafmt.vim │ │ │ │ │ ├── shfmt.vim │ │ │ │ │ ├── sorbet.vim │ │ │ │ │ ├── sqlfluff.vim │ │ │ │ │ ├── sqlfmt.vim │ │ │ │ │ ├── sqlformat.vim │ │ │ │ │ ├── standard.vim │ │ │ │ │ ├── standardrb.vim │ │ │ │ │ ├── statix.vim │ │ │ │ │ ├── stylelint.vim │ │ │ │ │ ├── styler.vim │ │ │ │ │ ├── stylish_haskell.vim │ │ │ │ │ ├── stylua.vim │ │ │ │ │ ├── swiftformat.vim │ │ │ │ │ ├── syntax_tree.vim │ │ │ │ │ ├── terraform.vim │ │ │ │ │ ├── textlint.vim │ │ │ │ │ ├── tidy.vim │ │ │ │ │ ├── tslint.vim │ │ │ │ │ ├── uncrustify.vim │ │ │ │ │ ├── vfmt.vim │ │ │ │ │ ├── xmllint.vim │ │ │ │ │ ├── xo.vim │ │ │ │ │ ├── yamlfix.vim │ │ │ │ │ ├── yapf.vim │ │ │ │ │ └── zigfmt.vim │ │ │ │ ├── floating_preview.vim │ │ │ │ ├── go.vim │ │ │ │ ├── gradle/ │ │ │ │ │ └── init.gradle │ │ │ │ ├── gradle.vim │ │ │ │ ├── handlers/ │ │ │ │ │ ├── actionlint.vim │ │ │ │ │ ├── alex.vim │ │ │ │ │ ├── atools.vim │ │ │ │ │ ├── ccls.vim │ │ │ │ │ ├── cppcheck.vim │ │ │ │ │ ├── cpplint.vim │ │ │ │ │ ├── cspell.vim │ │ │ │ │ ├── css.vim │ │ │ │ │ ├── deno.vim │ │ │ │ │ ├── elixir.vim │ │ │ │ │ ├── eslint.vim │ │ │ │ │ ├── fecs.vim │ │ │ │ │ ├── flawfinder.vim │ │ │ │ │ ├── gawk.vim │ │ │ │ │ ├── gcc.vim │ │ │ │ │ ├── go.vim │ │ │ │ │ ├── haskell.vim │ │ │ │ │ ├── haskell_stack.vim │ │ │ │ │ ├── hdl_checker.vim │ │ │ │ │ ├── hlint.vim │ │ │ │ │ ├── inko.vim │ │ │ │ │ ├── ktlint.vim │ │ │ │ │ ├── languagetool.vim │ │ │ │ │ ├── markdownlint.vim │ │ │ │ │ ├── naga.vim │ │ │ │ │ ├── ocamllsp.vim │ │ │ │ │ ├── ols.vim │ │ │ │ │ ├── openscad.vim │ │ │ │ │ ├── pony.vim │ │ │ │ │ ├── redpen.vim │ │ │ │ │ ├── ruby.vim │ │ │ │ │ ├── rust.vim │ │ │ │ │ ├── scala.vim │ │ │ │ │ ├── sh.vim │ │ │ │ │ ├── shellcheck.vim │ │ │ │ │ ├── sml.vim │ │ │ │ │ ├── solhint.vim │ │ │ │ │ ├── spectral.vim │ │ │ │ │ ├── statix.vim │ │ │ │ │ ├── textlint.vim │ │ │ │ │ ├── tslint.vim │ │ │ │ │ ├── tsserver.vim │ │ │ │ │ ├── unix.vim │ │ │ │ │ ├── vale.vim │ │ │ │ │ ├── writegood.vim │ │ │ │ │ ├── xo.vim │ │ │ │ │ └── yamllint.vim │ │ │ │ ├── highlight.vim │ │ │ │ ├── history.vim │ │ │ │ ├── hover.vim │ │ │ │ ├── java.vim │ │ │ │ ├── job.vim │ │ │ │ ├── julia.vim │ │ │ │ ├── linter.vim │ │ │ │ ├── list.vim │ │ │ │ ├── loclist_jumping.vim │ │ │ │ ├── lsp/ │ │ │ │ │ ├── message.vim │ │ │ │ │ ├── reset.vim │ │ │ │ │ ├── response.vim │ │ │ │ │ └── tsserver_message.vim │ │ │ │ ├── lsp.vim │ │ │ │ ├── lsp_linter.vim │ │ │ │ ├── lsp_window.vim │ │ │ │ ├── maven.vim │ │ │ │ ├── node.vim │ │ │ │ ├── organize_imports.vim │ │ │ │ ├── other_source.vim │ │ │ │ ├── path.vim │ │ │ │ ├── pattern_options.vim │ │ │ │ ├── powershell.vim │ │ │ │ ├── preview.vim │ │ │ │ ├── python.vim │ │ │ │ ├── racket.vim │ │ │ │ ├── references.vim │ │ │ │ ├── rename.vim │ │ │ │ ├── ruby.vim │ │ │ │ ├── semver.vim │ │ │ │ ├── sign.vim │ │ │ │ ├── socket.vim │ │ │ │ ├── statusline.vim │ │ │ │ ├── swift.vim │ │ │ │ ├── symbol.vim │ │ │ │ ├── test.vim │ │ │ │ ├── toggle.vim │ │ │ │ ├── uri/ │ │ │ │ │ └── jdt.vim │ │ │ │ ├── uri.vim │ │ │ │ ├── util.vim │ │ │ │ └── virtualtext.vim │ │ │ ├── ale.vim │ │ │ └── asyncomplete/ │ │ │ └── sources/ │ │ │ └── ale.vim │ │ ├── doc/ │ │ │ ├── ale-ada.txt │ │ │ ├── ale-ansible.txt │ │ │ ├── ale-apkbuild.txt │ │ │ ├── ale-asciidoc.txt │ │ │ ├── ale-asm.txt │ │ │ ├── ale-avra.txt │ │ │ ├── ale-awk.txt │ │ │ ├── ale-bats.txt │ │ │ ├── ale-bazel.txt │ │ │ ├── ale-bib.txt │ │ │ ├── ale-bicep.txt │ │ │ ├── ale-bitbake.txt │ │ │ ├── ale-c.txt │ │ │ ├── ale-cairo.txt │ │ │ ├── ale-chef.txt │ │ │ ├── ale-clojure.txt │ │ │ ├── ale-cloudformation.txt │ │ │ ├── ale-cmake.txt │ │ │ ├── ale-cpp.txt │ │ │ ├── ale-cs.txt │ │ │ ├── ale-css.txt │ │ │ ├── ale-cuda.txt │ │ │ ├── ale-d.txt │ │ │ ├── ale-dafny.txt │ │ │ ├── ale-dart.txt │ │ │ ├── ale-desktop.txt │ │ │ ├── ale-development.txt │ │ │ ├── ale-dhall.txt │ │ │ ├── ale-dockerfile.txt │ │ │ ├── ale-elixir.txt │ │ │ ├── ale-elm.txt │ │ │ ├── ale-erlang.txt │ │ │ ├── ale-eruby.txt │ │ │ ├── ale-fish.txt │ │ │ ├── ale-fortran.txt │ │ │ ├── ale-fountain.txt │ │ │ ├── ale-fuse.txt │ │ │ ├── ale-gitcommit.txt │ │ │ ├── ale-glsl.txt │ │ │ ├── ale-go.txt │ │ │ ├── ale-graphql.txt │ │ │ ├── ale-hack.txt │ │ │ ├── ale-handlebars.txt │ │ │ ├── ale-haskell.txt │ │ │ ├── ale-hcl.txt │ │ │ ├── ale-help.txt │ │ │ ├── ale-html.txt │ │ │ ├── ale-idris.txt │ │ │ ├── ale-ink.txt │ │ │ ├── ale-inko.txt │ │ │ ├── ale-ispc.txt │ │ │ ├── ale-java.txt │ │ │ ├── ale-javascript.txt │ │ │ ├── ale-json.txt │ │ │ ├── ale-json5.txt │ │ │ ├── ale-jsonc.txt │ │ │ ├── ale-jsonnet.txt │ │ │ ├── ale-julia.txt │ │ │ ├── ale-kotlin.txt │ │ │ ├── ale-latex.txt │ │ │ ├── ale-less.txt │ │ │ ├── ale-llvm.txt │ │ │ ├── ale-lua.txt │ │ │ ├── ale-make.txt │ │ │ ├── ale-markdown.txt │ │ │ ├── ale-mercury.txt │ │ │ ├── ale-nasm.txt │ │ │ ├── ale-nim.txt │ │ │ ├── ale-nix.txt │ │ │ ├── ale-nroff.txt │ │ │ ├── ale-objc.txt │ │ │ ├── ale-objcpp.txt │ │ │ ├── ale-ocaml.txt │ │ │ ├── ale-openapi.txt │ │ │ ├── ale-openscad.txt │ │ │ ├── ale-packer.txt │ │ │ ├── ale-pascal.txt │ │ │ ├── ale-pawn.txt │ │ │ ├── ale-perl.txt │ │ │ ├── ale-perl6.txt │ │ │ ├── ale-php.txt │ │ │ ├── ale-po.txt │ │ │ ├── ale-pod.txt │ │ │ ├── ale-pony.txt │ │ │ ├── ale-powershell.txt │ │ │ ├── ale-prolog.txt │ │ │ ├── ale-proto.txt │ │ │ ├── ale-pug.txt │ │ │ ├── ale-puppet.txt │ │ │ ├── ale-purescript.txt │ │ │ ├── ale-pyrex.txt │ │ │ ├── ale-python.txt │ │ │ ├── ale-qml.txt │ │ │ ├── ale-r.txt │ │ │ ├── ale-racket.txt │ │ │ ├── ale-reasonml.txt │ │ │ ├── ale-rego.txt │ │ │ ├── ale-restructuredtext.txt │ │ │ ├── ale-robot.txt │ │ │ ├── ale-ruby.txt │ │ │ ├── ale-rust.txt │ │ │ ├── ale-salt.tmt │ │ │ ├── ale-sass.txt │ │ │ ├── ale-scala.txt │ │ │ ├── ale-scss.txt │ │ │ ├── ale-sh.txt │ │ │ ├── ale-sml.txt │ │ │ ├── ale-solidity.txt │ │ │ ├── ale-spec.txt │ │ │ ├── ale-sql.txt │ │ │ ├── ale-stylus.txt │ │ │ ├── ale-sugarss.txt │ │ │ ├── ale-supported-languages-and-tools.txt │ │ │ ├── ale-svelte.txt │ │ │ ├── ale-swift.txt │ │ │ ├── ale-systemd.txt │ │ │ ├── ale-tcl.txt │ │ │ ├── ale-terraform.txt │ │ │ ├── ale-tex.txt │ │ │ ├── ale-texinfo.txt │ │ │ ├── ale-text.txt │ │ │ ├── ale-thrift.txt │ │ │ ├── ale-toml.txt │ │ │ ├── ale-typescript.txt │ │ │ ├── ale-v.txt │ │ │ ├── ale-vala.txt │ │ │ ├── ale-verilog.txt │ │ │ ├── ale-vhdl.txt │ │ │ ├── ale-vim-help.txt │ │ │ ├── ale-vim.txt │ │ │ ├── ale-vue.txt │ │ │ ├── ale-wgsl.txt │ │ │ ├── ale-xhtml.txt │ │ │ ├── ale-xml.txt │ │ │ ├── ale-yaml.txt │ │ │ ├── ale-yang.txt │ │ │ ├── ale-zeek.txt │ │ │ ├── ale-zig.txt │ │ │ └── ale.txt │ │ ├── ftplugin/ │ │ │ ├── ale-fix-suggest.vim │ │ │ ├── ale-preview-selection.vim │ │ │ └── ale-preview.vim │ │ ├── plugin/ │ │ │ └── ale.vim │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── deoplete/ │ │ │ └── sources/ │ │ │ └── ale.py │ │ ├── supported-tools.md │ │ └── syntax/ │ │ ├── ale-fix-suggest.vim │ │ └── ale-preview-selection.vim │ ├── bookmarks.vim/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── bookmarks/ │ │ │ │ ├── cache.vim │ │ │ │ ├── logger.vim │ │ │ │ ├── sign.vim │ │ │ │ └── vtext.vim │ │ │ └── bookmarks.vim │ │ ├── doc/ │ │ │ └── bookmarks.txt │ │ └── plugin/ │ │ └── bookmarks.vim │ ├── calendar.vim/ │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── ci.yaml │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── calendar/ │ │ │ │ ├── argument.vim │ │ │ │ ├── async.vim │ │ │ │ ├── autocmd.vim │ │ │ │ ├── cache.vim │ │ │ │ ├── cipher.vim │ │ │ │ ├── color.vim │ │ │ │ ├── constructor/ │ │ │ │ │ ├── day.vim │ │ │ │ │ ├── day_hybrid.vim │ │ │ │ │ ├── month.vim │ │ │ │ │ ├── view.vim │ │ │ │ │ ├── view_clock.vim │ │ │ │ │ ├── view_days.vim │ │ │ │ │ ├── view_months.vim │ │ │ │ │ ├── view_textbox.vim │ │ │ │ │ ├── view_ymd.vim │ │ │ │ │ └── year.vim │ │ │ │ ├── controller.vim │ │ │ │ ├── countcache.vim │ │ │ │ ├── day/ │ │ │ │ │ ├── austria.vim │ │ │ │ │ ├── austriastyria.vim │ │ │ │ │ ├── british.vim │ │ │ │ │ ├── bulgaria.vim │ │ │ │ │ ├── canada.vim │ │ │ │ │ ├── default.vim │ │ │ │ │ ├── estonia.vim │ │ │ │ │ ├── france.vim │ │ │ │ │ ├── germany.vim │ │ │ │ │ ├── germanyprussia.vim │ │ │ │ │ ├── greece.vim │ │ │ │ │ ├── gregorian.vim │ │ │ │ │ ├── holland.vim │ │ │ │ │ ├── hungary.vim │ │ │ │ │ ├── italy.vim │ │ │ │ │ ├── japan.vim │ │ │ │ │ ├── julian.vim │ │ │ │ │ ├── poland.vim │ │ │ │ │ ├── portugal.vim │ │ │ │ │ ├── russia.vim │ │ │ │ │ ├── spain.vim │ │ │ │ │ ├── turkey.vim │ │ │ │ │ └── us.vim │ │ │ │ ├── day.vim │ │ │ │ ├── echo.vim │ │ │ │ ├── event/ │ │ │ │ │ ├── google.vim │ │ │ │ │ └── local.vim │ │ │ │ ├── event.vim │ │ │ │ ├── google/ │ │ │ │ │ ├── calendar.vim │ │ │ │ │ ├── client.vim │ │ │ │ │ └── task.vim │ │ │ │ ├── mapping.vim │ │ │ │ ├── mark.vim │ │ │ │ ├── message/ │ │ │ │ │ ├── default.vim │ │ │ │ │ ├── en.vim │ │ │ │ │ └── ja.vim │ │ │ │ ├── message.vim │ │ │ │ ├── model.vim │ │ │ │ ├── pixel/ │ │ │ │ │ ├── 100 │ │ │ │ │ ├── 101 │ │ │ │ │ ├── 102 │ │ │ │ │ ├── 103 │ │ │ │ │ ├── 104 │ │ │ │ │ ├── 105 │ │ │ │ │ ├── 106 │ │ │ │ │ ├── 107 │ │ │ │ │ ├── 108 │ │ │ │ │ ├── 109 │ │ │ │ │ ├── 110 │ │ │ │ │ ├── 111 │ │ │ │ │ ├── 112 │ │ │ │ │ ├── 113 │ │ │ │ │ ├── 114 │ │ │ │ │ ├── 115 │ │ │ │ │ ├── 116 │ │ │ │ │ ├── 117 │ │ │ │ │ ├── 118 │ │ │ │ │ ├── 119 │ │ │ │ │ ├── 120 │ │ │ │ │ ├── 121 │ │ │ │ │ ├── 122 │ │ │ │ │ ├── 123 │ │ │ │ │ ├── 124 │ │ │ │ │ ├── 125 │ │ │ │ │ ├── 126 │ │ │ │ │ ├── 33 │ │ │ │ │ ├── 34 │ │ │ │ │ ├── 35 │ │ │ │ │ ├── 36 │ │ │ │ │ ├── 37 │ │ │ │ │ ├── 38 │ │ │ │ │ ├── 39 │ │ │ │ │ ├── 40 │ │ │ │ │ ├── 41 │ │ │ │ │ ├── 42 │ │ │ │ │ ├── 43 │ │ │ │ │ ├── 44 │ │ │ │ │ ├── 45 │ │ │ │ │ ├── 46 │ │ │ │ │ ├── 47 │ │ │ │ │ ├── 48 │ │ │ │ │ ├── 49 │ │ │ │ │ ├── 50 │ │ │ │ │ ├── 51 │ │ │ │ │ ├── 52 │ │ │ │ │ ├── 53 │ │ │ │ │ ├── 54 │ │ │ │ │ ├── 55 │ │ │ │ │ ├── 56 │ │ │ │ │ ├── 57 │ │ │ │ │ ├── 58 │ │ │ │ │ ├── 59 │ │ │ │ │ ├── 60 │ │ │ │ │ ├── 61 │ │ │ │ │ ├── 62 │ │ │ │ │ ├── 63 │ │ │ │ │ ├── 64 │ │ │ │ │ ├── 65 │ │ │ │ │ ├── 66 │ │ │ │ │ ├── 67 │ │ │ │ │ ├── 68 │ │ │ │ │ ├── 69 │ │ │ │ │ ├── 70 │ │ │ │ │ ├── 71 │ │ │ │ │ ├── 72 │ │ │ │ │ ├── 73 │ │ │ │ │ ├── 74 │ │ │ │ │ ├── 75 │ │ │ │ │ ├── 76 │ │ │ │ │ ├── 77 │ │ │ │ │ ├── 78 │ │ │ │ │ ├── 79 │ │ │ │ │ ├── 80 │ │ │ │ │ ├── 81 │ │ │ │ │ ├── 82 │ │ │ │ │ ├── 83 │ │ │ │ │ ├── 84 │ │ │ │ │ ├── 85 │ │ │ │ │ ├── 86 │ │ │ │ │ ├── 87 │ │ │ │ │ ├── 88 │ │ │ │ │ ├── 89 │ │ │ │ │ ├── 90 │ │ │ │ │ ├── 91 │ │ │ │ │ ├── 92 │ │ │ │ │ ├── 93 │ │ │ │ │ ├── 94 │ │ │ │ │ ├── 95 │ │ │ │ │ ├── 96 │ │ │ │ │ ├── 97 │ │ │ │ │ ├── 98 │ │ │ │ │ └── 99 │ │ │ │ ├── pixel.vim │ │ │ │ ├── setlocal.vim │ │ │ │ ├── setting.vim │ │ │ │ ├── string.vim │ │ │ │ ├── task/ │ │ │ │ │ ├── google.vim │ │ │ │ │ └── local.vim │ │ │ │ ├── task.vim │ │ │ │ ├── text.vim │ │ │ │ ├── time.vim │ │ │ │ ├── timestamp.vim │ │ │ │ ├── util.vim │ │ │ │ ├── view.vim │ │ │ │ ├── webapi.vim │ │ │ │ └── week.vim │ │ │ └── calendar.vim │ │ ├── doc/ │ │ │ └── calendar.txt │ │ ├── plugin/ │ │ │ └── calendar.vim │ │ ├── syntax/ │ │ │ └── calendar.vim │ │ └── test/ │ │ ├── cipher.vim │ │ ├── day.vim │ │ ├── pixel.vim │ │ └── week.vim │ ├── clever-f.vim/ │ │ ├── .codecov.yml │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ ├── ci.yml │ │ │ └── weekly.yml │ │ ├── .gitignore │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── clever_f/ │ │ │ │ ├── compat.vim │ │ │ │ └── migemo/ │ │ │ │ ├── cp932.vim │ │ │ │ ├── eucjp.vim │ │ │ │ └── utf8.vim │ │ │ └── clever_f.vim │ │ ├── doc/ │ │ │ └── clever_f.txt │ │ ├── plugin/ │ │ │ └── clever-f.vim │ │ └── test/ │ │ ├── .coveragerc │ │ ├── .themisrc │ │ ├── README.md │ │ └── test.vimspec │ ├── cmp-buffer/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── cmp_buffer.lua │ │ └── lua/ │ │ └── cmp_buffer/ │ │ ├── buffer.lua │ │ ├── init.lua │ │ ├── source.lua │ │ └── timer.lua │ ├── cmp-cmdline/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── cmp_cmdline.lua │ │ └── lua/ │ │ └── cmp_cmdline/ │ │ └── init.lua │ ├── cmp-dictionary/ │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── test.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── cmp_dictionary.lua │ │ ├── doc/ │ │ │ └── cmp-dictionary.txt │ │ ├── lua/ │ │ │ └── cmp_dictionary/ │ │ │ ├── caches.lua │ │ │ ├── config.lua │ │ │ ├── db.lua │ │ │ ├── document.lua │ │ │ ├── init.lua │ │ │ ├── init_spec.lua │ │ │ ├── kit/ │ │ │ │ ├── App/ │ │ │ │ │ ├── Cache.lua │ │ │ │ │ ├── Character.lua │ │ │ │ │ ├── Config.lua │ │ │ │ │ └── Event.lua │ │ │ │ ├── Async/ │ │ │ │ │ ├── AsyncTask.lua │ │ │ │ │ └── init.lua │ │ │ │ ├── IO/ │ │ │ │ │ └── init.lua │ │ │ │ ├── LSP/ │ │ │ │ │ ├── Client.lua │ │ │ │ │ ├── Position.lua │ │ │ │ │ ├── Range.lua │ │ │ │ │ └── init.lua │ │ │ │ ├── Thread/ │ │ │ │ │ ├── Server/ │ │ │ │ │ │ ├── Session.lua │ │ │ │ │ │ ├── _bootstrap.lua │ │ │ │ │ │ └── init.lua │ │ │ │ │ └── Worker.lua │ │ │ │ ├── Vim/ │ │ │ │ │ ├── Keymap.lua │ │ │ │ │ ├── RegExp.lua │ │ │ │ │ └── Syntax.lua │ │ │ │ └── init.lua │ │ │ ├── lfu.lua │ │ │ ├── lfu_spec.lua │ │ │ ├── lib/ │ │ │ │ └── utf8.lua │ │ │ ├── source.lua │ │ │ └── util.lua │ │ └── stylua.toml │ ├── cmp-neosnippet/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── cmp_neosnippet.lua │ │ └── lua/ │ │ └── cmp_neosnippet/ │ │ └── init.lua │ ├── cmp-nvim-lsp/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── cmp_nvim_lsp.lua │ │ └── lua/ │ │ └── cmp_nvim_lsp/ │ │ ├── init.lua │ │ └── source.lua │ ├── cmp-path/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── cmp_path.lua │ │ └── lua/ │ │ └── cmp_path/ │ │ └── init.lua │ ├── coc.nvim-release/ │ │ ├── .gitignore │ │ ├── LICENSE.md │ │ ├── Readme.md │ │ ├── autoload/ │ │ │ ├── coc/ │ │ │ │ ├── api.vim │ │ │ │ ├── client.vim │ │ │ │ ├── color.vim │ │ │ │ ├── compat.vim │ │ │ │ ├── cursor.vim │ │ │ │ ├── dialog.vim │ │ │ │ ├── dict.vim │ │ │ │ ├── float.vim │ │ │ │ ├── helper.vim │ │ │ │ ├── highlight.vim │ │ │ │ ├── list.vim │ │ │ │ ├── math.vim │ │ │ │ ├── notify.vim │ │ │ │ ├── prompt.vim │ │ │ │ ├── pum.vim │ │ │ │ ├── rpc.vim │ │ │ │ ├── snippet.vim │ │ │ │ ├── string.vim │ │ │ │ ├── task.vim │ │ │ │ ├── terminal.vim │ │ │ │ ├── ui.vim │ │ │ │ ├── util.vim │ │ │ │ ├── vtext.vim │ │ │ │ └── window.vim │ │ │ ├── coc.vim │ │ │ └── health/ │ │ │ └── coc.vim │ │ ├── bin/ │ │ │ ├── fuzzy.wasm │ │ │ ├── prompt.js │ │ │ ├── strwidth.wasm │ │ │ └── terminateProcess.sh │ │ ├── doc/ │ │ │ ├── coc-api.txt │ │ │ ├── coc-config.txt │ │ │ └── coc.txt │ │ ├── history.md │ │ ├── lua/ │ │ │ └── coc/ │ │ │ └── highlight.lua │ │ ├── package.json │ │ └── plugin/ │ │ └── coc.vim │ ├── context_filetype.vim/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── LICENSE │ │ ├── autoload/ │ │ │ ├── context_filetype/ │ │ │ │ └── defaults.vim │ │ │ └── context_filetype.vim │ │ ├── doc/ │ │ │ ├── context_filetype.jax │ │ │ ├── context_filetype.txt │ │ │ └── tags-ja │ │ └── test/ │ │ ├── test.vim │ │ └── test_files/ │ │ ├── test.html │ │ ├── test.md │ │ ├── test.ny │ │ └── test.vim │ ├── coveragepy.vim/ │ │ ├── .gitignore │ │ ├── README.rst │ │ ├── doc/ │ │ │ └── coveragepy.txt │ │ └── ftplugin/ │ │ └── python/ │ │ └── coveragepy.vim │ ├── cpicker.nvim/ │ │ ├── README.md │ │ ├── lua/ │ │ │ ├── cpicker/ │ │ │ │ ├── formats/ │ │ │ │ │ ├── cmyk.lua │ │ │ │ │ ├── hsl.lua │ │ │ │ │ ├── hsv.lua │ │ │ │ │ ├── hwb.lua │ │ │ │ │ ├── lab.lua │ │ │ │ │ ├── linear.lua │ │ │ │ │ ├── rgb.lua │ │ │ │ │ └── xyz.lua │ │ │ │ ├── mix.lua │ │ │ │ └── util.lua │ │ │ └── cpicker.lua │ │ ├── plugin/ │ │ │ └── cpicker.lua │ │ └── syntax/ │ │ ├── spacevim_cpicker.vim │ │ └── spacevim_cpicker_mix.vim │ ├── cscope.vim/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── cscope.vim │ │ │ └── unite/ │ │ │ └── sources/ │ │ │ ├── cscope/ │ │ │ │ ├── assignments_to_symbol.vim │ │ │ │ ├── egrep_pattern.vim │ │ │ │ ├── find_file.vim │ │ │ │ ├── find_this_symbol.vim │ │ │ │ ├── functions_called_by.vim │ │ │ │ ├── functions_calling.vim │ │ │ │ ├── global_definition.vim │ │ │ │ ├── including_this_file.vim │ │ │ │ └── text_string.vim │ │ │ └── cscope.vim │ │ ├── doc/ │ │ │ └── cscope.vim.txt │ │ └── plugin/ │ │ └── cscope.vim │ ├── defx-git/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ftplugin/ │ │ │ └── defx.vim │ │ └── rplugin/ │ │ └── python3/ │ │ └── defx/ │ │ └── column/ │ │ └── git.py │ ├── defx-icons/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── plugin/ │ │ │ └── defx_icons.vim │ │ └── rplugin/ │ │ └── python3/ │ │ └── defx/ │ │ └── column/ │ │ └── icons.py │ ├── defx-sftp/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ └── rplugin/ │ │ └── python3/ │ │ └── defx/ │ │ ├── column/ │ │ │ ├── sftp_mark.py │ │ │ ├── sftp_size.py │ │ │ └── sftp_time.py │ │ ├── kind/ │ │ │ └── sftp.py │ │ ├── sftp/ │ │ │ └── __init__.py │ │ └── source/ │ │ └── sftp.py │ ├── defx.nvim/ │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── workflows/ │ │ │ └── lint.yml │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── defx/ │ │ │ │ ├── custom.vim │ │ │ │ ├── exrename.vim │ │ │ │ ├── init.vim │ │ │ │ └── util.vim │ │ │ ├── defx.vim │ │ │ └── health/ │ │ │ └── defx.vim │ │ ├── doc/ │ │ │ └── defx.txt │ │ ├── plugin/ │ │ │ └── defx.vim │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ ├── defx/ │ │ │ │ ├── __init__.py │ │ │ │ ├── action.py │ │ │ │ ├── base/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── column.py │ │ │ │ │ ├── kind.py │ │ │ │ │ └── source.py │ │ │ │ ├── clipboard.py │ │ │ │ ├── column/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── filename.py │ │ │ │ │ ├── icon.py │ │ │ │ │ ├── indent.py │ │ │ │ │ ├── mark.py │ │ │ │ │ ├── size.py │ │ │ │ │ ├── space.py │ │ │ │ │ ├── time.py │ │ │ │ │ └── type.py │ │ │ │ ├── context.py │ │ │ │ ├── defx.py │ │ │ │ ├── kind/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── file.py │ │ │ │ ├── preview_image.py │ │ │ │ ├── preview_image.sh │ │ │ │ ├── rplugin.py │ │ │ │ ├── session.py │ │ │ │ ├── sort.py │ │ │ │ ├── source/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── file/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── list.py │ │ │ │ ├── util.py │ │ │ │ └── view.py │ │ │ └── denite/ │ │ │ └── source/ │ │ │ └── defx/ │ │ │ ├── __init__.py │ │ │ ├── drive.py │ │ │ ├── history.py │ │ │ └── session.py │ │ └── test/ │ │ ├── autoload/ │ │ │ └── defx/ │ │ │ └── custom.vim │ │ ├── conftest.py │ │ ├── requirements.txt │ │ └── rplugin/ │ │ └── python3/ │ │ └── defx/ │ │ └── test_defx.py │ ├── dein-ui.vim/ │ │ ├── README.md │ │ └── plugin/ │ │ └── deinui.vim │ ├── dein.vim/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── workflows/ │ │ │ └── workflow.yaml │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── dein/ │ │ │ │ ├── DateTime.vim │ │ │ │ ├── autoload.vim │ │ │ │ ├── install.vim │ │ │ │ ├── min.vim │ │ │ │ ├── parse.vim │ │ │ │ ├── toml.vim │ │ │ │ ├── types/ │ │ │ │ │ ├── git.vim │ │ │ │ │ └── raw.vim │ │ │ │ └── util.vim │ │ │ ├── dein.vim │ │ │ ├── unite/ │ │ │ │ ├── kinds/ │ │ │ │ │ └── dein.vim │ │ │ │ └── sources/ │ │ │ │ ├── dein.vim │ │ │ │ └── dein_log.vim │ │ │ └── vital/ │ │ │ ├── _dein/ │ │ │ │ └── System/ │ │ │ │ ├── Job/ │ │ │ │ │ ├── Neovim.vim │ │ │ │ │ └── Vim.vim │ │ │ │ └── Job.vim │ │ │ ├── _dein.vim │ │ │ ├── dein.vim │ │ │ └── dein.vital │ │ ├── bin/ │ │ │ ├── installer.ps1 │ │ │ └── installer.sh │ │ ├── denops/ │ │ │ └── @ddu-sources/ │ │ │ └── dein.ts │ │ ├── doc/ │ │ │ └── dein.txt │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── denite/ │ │ │ └── source/ │ │ │ ├── dein.py │ │ │ └── dein_log.py │ │ └── test/ │ │ ├── base.vim │ │ ├── git.vim │ │ ├── install.vim │ │ ├── install_base.vim │ │ ├── parse.vim │ │ ├── raw.vim │ │ ├── requirements.txt │ │ ├── state.vim │ │ └── toml.vim │ ├── delimitMate/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── delimitMate.vim │ │ ├── basic_vimrc │ │ ├── doc/ │ │ │ └── delimitMate.txt │ │ ├── plugin/ │ │ │ └── delimitMate.vim │ │ └── test/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── _setup.vim │ │ ├── autoclose_matchpairs.txt │ │ ├── autoclose_matchpairs.vim │ │ ├── autoclose_quotes.txt │ │ ├── autoclose_quotes.vim │ │ ├── eol_marker.vim │ │ ├── expand_cr.txt │ │ ├── expand_cr.vim │ │ ├── expand_space.txt │ │ ├── expand_space.vim │ │ └── first_buffer_no_ft.vim │ ├── deoplete-dictionary/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── rplugin/ │ │ └── python3/ │ │ └── deoplete/ │ │ └── source/ │ │ └── dictionary.py │ ├── deoplete-fsharp/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ftdetect/ │ │ │ └── deoplete-fsharp-setting.vim │ │ ├── install.bash │ │ ├── install.cmd │ │ └── rplugin/ │ │ └── python3/ │ │ └── deoplete/ │ │ └── sources/ │ │ └── deoplete-fsharp.py │ ├── deoplete-go/ │ │ ├── .dockerignore │ │ ├── .flake8 │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── benchmark/ │ │ │ ├── Dockerfile │ │ │ ├── README.md │ │ │ ├── benchmark.py │ │ │ ├── json/ │ │ │ │ ├── fmt.json │ │ │ │ ├── gocode-twice.json │ │ │ │ ├── gocode.json │ │ │ │ └── syscall.json │ │ │ └── requirements.txt │ │ ├── data/ │ │ │ ├── gen_json.py │ │ │ ├── json/ │ │ │ │ └── 1.7.3/ │ │ │ │ ├── darwin_amd64/ │ │ │ │ │ ├── archive/ │ │ │ │ │ │ ├── tar.json │ │ │ │ │ │ └── zip.json │ │ │ │ │ ├── bufio/ │ │ │ │ │ │ └── bufio.json │ │ │ │ │ ├── bytes/ │ │ │ │ │ │ └── bytes.json │ │ │ │ │ ├── compress/ │ │ │ │ │ │ ├── bzip2.json │ │ │ │ │ │ ├── flate.json │ │ │ │ │ │ ├── gzip.json │ │ │ │ │ │ ├── lzw.json │ │ │ │ │ │ └── zlib.json │ │ │ │ │ ├── container/ │ │ │ │ │ │ ├── heap.json │ │ │ │ │ │ ├── list.json │ │ │ │ │ │ └── ring.json │ │ │ │ │ ├── context/ │ │ │ │ │ │ └── context.json │ │ │ │ │ ├── crypto/ │ │ │ │ │ │ ├── aes.json │ │ │ │ │ │ ├── cipher.json │ │ │ │ │ │ ├── crypto.json │ │ │ │ │ │ ├── des.json │ │ │ │ │ │ ├── dsa.json │ │ │ │ │ │ ├── ecdsa.json │ │ │ │ │ │ ├── elliptic.json │ │ │ │ │ │ ├── hmac.json │ │ │ │ │ │ ├── md5.json │ │ │ │ │ │ ├── rand.json │ │ │ │ │ │ ├── rc4.json │ │ │ │ │ │ ├── rsa.json │ │ │ │ │ │ ├── sha1.json │ │ │ │ │ │ ├── sha256.json │ │ │ │ │ │ ├── sha512.json │ │ │ │ │ │ ├── subtle.json │ │ │ │ │ │ ├── tls.json │ │ │ │ │ │ ├── x509/ │ │ │ │ │ │ │ └── pkix.json │ │ │ │ │ │ └── x509.json │ │ │ │ │ ├── database/ │ │ │ │ │ │ ├── sql/ │ │ │ │ │ │ │ └── driver.json │ │ │ │ │ │ └── sql.json │ │ │ │ │ ├── debug/ │ │ │ │ │ │ ├── dwarf.json │ │ │ │ │ │ ├── elf.json │ │ │ │ │ │ ├── gosym.json │ │ │ │ │ │ ├── macho.json │ │ │ │ │ │ ├── pe.json │ │ │ │ │ │ └── plan9obj.json │ │ │ │ │ ├── encoding/ │ │ │ │ │ │ ├── ascii85.json │ │ │ │ │ │ ├── asn1.json │ │ │ │ │ │ ├── base32.json │ │ │ │ │ │ ├── base64.json │ │ │ │ │ │ ├── binary.json │ │ │ │ │ │ ├── csv.json │ │ │ │ │ │ ├── encoding.json │ │ │ │ │ │ ├── gob.json │ │ │ │ │ │ ├── hex.json │ │ │ │ │ │ ├── json.json │ │ │ │ │ │ ├── pem.json │ │ │ │ │ │ └── xml.json │ │ │ │ │ ├── errors/ │ │ │ │ │ │ └── errors.json │ │ │ │ │ ├── expvar/ │ │ │ │ │ │ └── expvar.json │ │ │ │ │ ├── flag/ │ │ │ │ │ │ └── flag.json │ │ │ │ │ ├── fmt/ │ │ │ │ │ │ └── fmt.json │ │ │ │ │ ├── go/ │ │ │ │ │ │ ├── ast.json │ │ │ │ │ │ ├── build.json │ │ │ │ │ │ ├── constant.json │ │ │ │ │ │ ├── doc.json │ │ │ │ │ │ ├── format.json │ │ │ │ │ │ ├── importer.json │ │ │ │ │ │ ├── parser.json │ │ │ │ │ │ ├── printer.json │ │ │ │ │ │ ├── scanner.json │ │ │ │ │ │ ├── token.json │ │ │ │ │ │ └── types.json │ │ │ │ │ ├── hash/ │ │ │ │ │ │ ├── adler32.json │ │ │ │ │ │ ├── crc32.json │ │ │ │ │ │ ├── crc64.json │ │ │ │ │ │ ├── fnv.json │ │ │ │ │ │ └── hash.json │ │ │ │ │ ├── html/ │ │ │ │ │ │ ├── html.json │ │ │ │ │ │ └── template.json │ │ │ │ │ ├── image/ │ │ │ │ │ │ ├── color/ │ │ │ │ │ │ │ └── palette.json │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ ├── draw.json │ │ │ │ │ │ ├── gif.json │ │ │ │ │ │ ├── image.json │ │ │ │ │ │ ├── jpeg.json │ │ │ │ │ │ └── png.json │ │ │ │ │ ├── index/ │ │ │ │ │ │ └── suffixarray.json │ │ │ │ │ ├── io/ │ │ │ │ │ │ ├── io.json │ │ │ │ │ │ └── ioutil.json │ │ │ │ │ ├── log/ │ │ │ │ │ │ ├── log.json │ │ │ │ │ │ └── syslog.json │ │ │ │ │ ├── math/ │ │ │ │ │ │ ├── big.json │ │ │ │ │ │ ├── cmplx.json │ │ │ │ │ │ ├── math.json │ │ │ │ │ │ └── rand.json │ │ │ │ │ ├── mime/ │ │ │ │ │ │ ├── mime.json │ │ │ │ │ │ ├── multipart.json │ │ │ │ │ │ └── quotedprintable.json │ │ │ │ │ ├── net/ │ │ │ │ │ │ ├── http/ │ │ │ │ │ │ │ ├── cgi.json │ │ │ │ │ │ │ ├── cookiejar.json │ │ │ │ │ │ │ ├── fcgi.json │ │ │ │ │ │ │ ├── httptest.json │ │ │ │ │ │ │ ├── httptrace.json │ │ │ │ │ │ │ ├── httputil.json │ │ │ │ │ │ │ └── pprof.json │ │ │ │ │ │ ├── http.json │ │ │ │ │ │ ├── mail.json │ │ │ │ │ │ ├── net.json │ │ │ │ │ │ ├── rpc/ │ │ │ │ │ │ │ └── jsonrpc.json │ │ │ │ │ │ ├── rpc.json │ │ │ │ │ │ ├── smtp.json │ │ │ │ │ │ ├── textproto.json │ │ │ │ │ │ └── url.json │ │ │ │ │ ├── os/ │ │ │ │ │ │ ├── exec.json │ │ │ │ │ │ ├── os.json │ │ │ │ │ │ ├── signal.json │ │ │ │ │ │ └── user.json │ │ │ │ │ ├── path/ │ │ │ │ │ │ ├── filepath.json │ │ │ │ │ │ └── path.json │ │ │ │ │ ├── reflect/ │ │ │ │ │ │ └── reflect.json │ │ │ │ │ ├── regexp/ │ │ │ │ │ │ ├── regexp.json │ │ │ │ │ │ └── syntax.json │ │ │ │ │ ├── runtime/ │ │ │ │ │ │ ├── debug.json │ │ │ │ │ │ ├── pprof.json │ │ │ │ │ │ ├── runtime.json │ │ │ │ │ │ └── trace.json │ │ │ │ │ ├── sort/ │ │ │ │ │ │ └── sort.json │ │ │ │ │ ├── strconv/ │ │ │ │ │ │ └── strconv.json │ │ │ │ │ ├── strings/ │ │ │ │ │ │ └── strings.json │ │ │ │ │ ├── sync/ │ │ │ │ │ │ ├── atomic.json │ │ │ │ │ │ └── sync.json │ │ │ │ │ ├── syscall/ │ │ │ │ │ │ └── syscall.json │ │ │ │ │ ├── testing/ │ │ │ │ │ │ ├── iotest.json │ │ │ │ │ │ ├── quick.json │ │ │ │ │ │ └── testing.json │ │ │ │ │ ├── text/ │ │ │ │ │ │ ├── scanner.json │ │ │ │ │ │ ├── tabwriter.json │ │ │ │ │ │ ├── template/ │ │ │ │ │ │ │ └── parse.json │ │ │ │ │ │ └── template.json │ │ │ │ │ ├── time/ │ │ │ │ │ │ └── time.json │ │ │ │ │ ├── unicode/ │ │ │ │ │ │ ├── unicode.json │ │ │ │ │ │ ├── utf16.json │ │ │ │ │ │ └── utf8.json │ │ │ │ │ └── unsafe/ │ │ │ │ │ └── unsafe.json │ │ │ │ └── linux_amd64/ │ │ │ │ ├── archive/ │ │ │ │ │ ├── tar.json │ │ │ │ │ └── zip.json │ │ │ │ ├── bufio/ │ │ │ │ │ └── bufio.json │ │ │ │ ├── bytes/ │ │ │ │ │ └── bytes.json │ │ │ │ ├── compress/ │ │ │ │ │ ├── bzip2.json │ │ │ │ │ ├── flate.json │ │ │ │ │ ├── gzip.json │ │ │ │ │ ├── lzw.json │ │ │ │ │ └── zlib.json │ │ │ │ ├── container/ │ │ │ │ │ ├── heap.json │ │ │ │ │ ├── list.json │ │ │ │ │ └── ring.json │ │ │ │ ├── context/ │ │ │ │ │ └── context.json │ │ │ │ ├── crypto/ │ │ │ │ │ ├── aes.json │ │ │ │ │ ├── cipher.json │ │ │ │ │ ├── crypto.json │ │ │ │ │ ├── des.json │ │ │ │ │ ├── dsa.json │ │ │ │ │ ├── ecdsa.json │ │ │ │ │ ├── elliptic.json │ │ │ │ │ ├── hmac.json │ │ │ │ │ ├── md5.json │ │ │ │ │ ├── rand.json │ │ │ │ │ ├── rc4.json │ │ │ │ │ ├── rsa.json │ │ │ │ │ ├── sha1.json │ │ │ │ │ ├── sha256.json │ │ │ │ │ ├── sha512.json │ │ │ │ │ ├── subtle.json │ │ │ │ │ ├── tls.json │ │ │ │ │ ├── x509/ │ │ │ │ │ │ └── pkix.json │ │ │ │ │ └── x509.json │ │ │ │ ├── database/ │ │ │ │ │ ├── sql/ │ │ │ │ │ │ └── driver.json │ │ │ │ │ └── sql.json │ │ │ │ ├── debug/ │ │ │ │ │ ├── dwarf.json │ │ │ │ │ ├── elf.json │ │ │ │ │ ├── gosym.json │ │ │ │ │ ├── macho.json │ │ │ │ │ ├── pe.json │ │ │ │ │ └── plan9obj.json │ │ │ │ ├── encoding/ │ │ │ │ │ ├── ascii85.json │ │ │ │ │ ├── asn1.json │ │ │ │ │ ├── base32.json │ │ │ │ │ ├── base64.json │ │ │ │ │ ├── binary.json │ │ │ │ │ ├── csv.json │ │ │ │ │ ├── encoding.json │ │ │ │ │ ├── gob.json │ │ │ │ │ ├── hex.json │ │ │ │ │ ├── json.json │ │ │ │ │ ├── pem.json │ │ │ │ │ └── xml.json │ │ │ │ ├── errors/ │ │ │ │ │ └── errors.json │ │ │ │ ├── expvar/ │ │ │ │ │ └── expvar.json │ │ │ │ ├── flag/ │ │ │ │ │ └── flag.json │ │ │ │ ├── fmt/ │ │ │ │ │ └── fmt.json │ │ │ │ ├── go/ │ │ │ │ │ ├── ast.json │ │ │ │ │ ├── build.json │ │ │ │ │ ├── constant.json │ │ │ │ │ ├── doc.json │ │ │ │ │ ├── format.json │ │ │ │ │ ├── importer.json │ │ │ │ │ ├── parser.json │ │ │ │ │ ├── printer.json │ │ │ │ │ ├── scanner.json │ │ │ │ │ ├── token.json │ │ │ │ │ └── types.json │ │ │ │ ├── hash/ │ │ │ │ │ ├── adler32.json │ │ │ │ │ ├── crc32.json │ │ │ │ │ ├── crc64.json │ │ │ │ │ ├── fnv.json │ │ │ │ │ └── hash.json │ │ │ │ ├── html/ │ │ │ │ │ ├── html.json │ │ │ │ │ └── template.json │ │ │ │ ├── image/ │ │ │ │ │ ├── color/ │ │ │ │ │ │ └── palette.json │ │ │ │ │ ├── color.json │ │ │ │ │ ├── draw.json │ │ │ │ │ ├── gif.json │ │ │ │ │ ├── image.json │ │ │ │ │ ├── jpeg.json │ │ │ │ │ └── png.json │ │ │ │ ├── index/ │ │ │ │ │ └── suffixarray.json │ │ │ │ ├── io/ │ │ │ │ │ ├── io.json │ │ │ │ │ └── ioutil.json │ │ │ │ ├── log/ │ │ │ │ │ ├── log.json │ │ │ │ │ └── syslog.json │ │ │ │ ├── math/ │ │ │ │ │ ├── big.json │ │ │ │ │ ├── cmplx.json │ │ │ │ │ ├── math.json │ │ │ │ │ └── rand.json │ │ │ │ ├── mime/ │ │ │ │ │ ├── mime.json │ │ │ │ │ ├── multipart.json │ │ │ │ │ └── quotedprintable.json │ │ │ │ ├── net/ │ │ │ │ │ ├── http/ │ │ │ │ │ │ ├── cgi.json │ │ │ │ │ │ ├── cookiejar.json │ │ │ │ │ │ ├── fcgi.json │ │ │ │ │ │ ├── httptest.json │ │ │ │ │ │ ├── httptrace.json │ │ │ │ │ │ ├── httputil.json │ │ │ │ │ │ └── pprof.json │ │ │ │ │ ├── http.json │ │ │ │ │ ├── mail.json │ │ │ │ │ ├── net.json │ │ │ │ │ ├── rpc/ │ │ │ │ │ │ └── jsonrpc.json │ │ │ │ │ ├── rpc.json │ │ │ │ │ ├── smtp.json │ │ │ │ │ ├── textproto.json │ │ │ │ │ └── url.json │ │ │ │ ├── os/ │ │ │ │ │ ├── exec.json │ │ │ │ │ ├── os.json │ │ │ │ │ ├── signal.json │ │ │ │ │ └── user.json │ │ │ │ ├── path/ │ │ │ │ │ ├── filepath.json │ │ │ │ │ └── path.json │ │ │ │ ├── reflect/ │ │ │ │ │ └── reflect.json │ │ │ │ ├── regexp/ │ │ │ │ │ ├── regexp.json │ │ │ │ │ └── syntax.json │ │ │ │ ├── runtime/ │ │ │ │ │ ├── debug.json │ │ │ │ │ ├── pprof.json │ │ │ │ │ ├── runtime.json │ │ │ │ │ └── trace.json │ │ │ │ ├── sort/ │ │ │ │ │ └── sort.json │ │ │ │ ├── strconv/ │ │ │ │ │ └── strconv.json │ │ │ │ ├── strings/ │ │ │ │ │ └── strings.json │ │ │ │ ├── sync/ │ │ │ │ │ ├── atomic.json │ │ │ │ │ └── sync.json │ │ │ │ ├── syscall/ │ │ │ │ │ └── syscall.json │ │ │ │ ├── testing/ │ │ │ │ │ ├── iotest.json │ │ │ │ │ ├── quick.json │ │ │ │ │ └── testing.json │ │ │ │ ├── text/ │ │ │ │ │ ├── scanner.json │ │ │ │ │ ├── tabwriter.json │ │ │ │ │ ├── template/ │ │ │ │ │ │ └── parse.json │ │ │ │ │ └── template.json │ │ │ │ ├── time/ │ │ │ │ │ └── time.json │ │ │ │ ├── unicode/ │ │ │ │ │ ├── unicode.json │ │ │ │ │ ├── utf16.json │ │ │ │ │ └── utf8.json │ │ │ │ └── unsafe/ │ │ │ │ └── unsafe.json │ │ │ ├── stdlib-1.7.3_darwin_amd64.txt │ │ │ ├── stdlib-1.7.3_linux_amd64.txt │ │ │ ├── stdlib-1.7_darwin_amd64.txt │ │ │ ├── stdlib-1.7_linux_amd64.txt │ │ │ └── template.go │ │ ├── dockerfiles/ │ │ │ ├── Dockerfile │ │ │ └── gen-json.dockerfile │ │ ├── plugin/ │ │ │ └── deoplete-go.vim │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── deoplete/ │ │ │ └── sources/ │ │ │ ├── deoplete_go/ │ │ │ │ ├── cgo.py │ │ │ │ ├── clang_index.py │ │ │ │ ├── profiler.py │ │ │ │ └── stdlib.py │ │ │ └── deoplete_go.py │ │ └── tests/ │ │ ├── cgo.go │ │ ├── cgo_git2go.go │ │ ├── deoplete-go.vim │ │ ├── fmt.go │ │ ├── requirements.txt │ │ ├── syscall.go │ │ ├── syscall_linux.go │ │ └── syscall_windows.go │ ├── deoplete-jedi/ │ │ ├── .flake8 │ │ ├── .github/ │ │ │ └── ISSUE_TEMPLATE.md │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Dockerfile │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── mk/ │ │ │ ├── color.mk │ │ │ └── debug_code.mk │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── deoplete/ │ │ │ └── sources/ │ │ │ ├── deoplete_jedi/ │ │ │ │ ├── __init__.py │ │ │ │ ├── helper.py │ │ │ │ ├── profiler.py │ │ │ │ └── utils.py │ │ │ └── deoplete_jedi.py │ │ ├── setup.cfg │ │ └── tests/ │ │ ├── README.md │ │ ├── jedi-deoplete-conflict.vim │ │ ├── jedi-deoplete.vim │ │ ├── jedi-omnifunc.vim │ │ ├── requirements.txt │ │ └── test-jedi.py │ ├── deoplete-lsp/ │ │ ├── .github/ │ │ │ └── ISSUE_TEMPLATE.md │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── deoplete/ │ │ │ ├── lsp/ │ │ │ │ ├── handler.vim │ │ │ │ └── init.vim │ │ │ └── lsp.vim │ │ ├── lua/ │ │ │ ├── candidates.lua │ │ │ ├── hover.lua │ │ │ └── util.lua │ │ ├── plugin/ │ │ │ └── deoplete/ │ │ │ └── lsp.vim │ │ └── rplugin/ │ │ └── python3/ │ │ └── deoplete/ │ │ └── source/ │ │ └── lsp.py │ ├── deoplete.nvim/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── workflows/ │ │ │ └── workflow.yaml │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── deoplete/ │ │ │ │ ├── _main.py │ │ │ │ ├── custom.vim │ │ │ │ ├── handler.vim │ │ │ │ ├── init.vim │ │ │ │ ├── mapping.vim │ │ │ │ └── util.vim │ │ │ ├── deoplete.vim │ │ │ └── health/ │ │ │ └── deoplete.vim │ │ ├── doc/ │ │ │ └── deoplete.txt │ │ ├── plugin/ │ │ │ └── deoplete.vim │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── deoplete/ │ │ │ ├── __init__.py │ │ │ ├── base/ │ │ │ │ ├── __init__.py │ │ │ │ ├── filter.py │ │ │ │ └── source.py │ │ │ ├── child.py │ │ │ ├── context.py │ │ │ ├── deoplete.py │ │ │ ├── exceptions.py │ │ │ ├── filter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── converter_auto_delimiter.py │ │ │ │ ├── converter_auto_paren.py │ │ │ │ ├── converter_case.py │ │ │ │ ├── converter_remove_overlap.py │ │ │ │ ├── converter_remove_paren.py │ │ │ │ ├── converter_reorder_attr.py │ │ │ │ ├── converter_truncate_abbr.py │ │ │ │ ├── converter_truncate_info.py │ │ │ │ ├── converter_truncate_kind.py │ │ │ │ ├── converter_truncate_menu.py │ │ │ │ ├── converter_word_abbr.py │ │ │ │ ├── matcher_cpsm.py │ │ │ │ ├── matcher_full_fuzzy.py │ │ │ │ ├── matcher_fuzzy.py │ │ │ │ ├── matcher_head.py │ │ │ │ ├── matcher_length.py │ │ │ │ ├── matcher_matchfuzzy.py │ │ │ │ ├── sorter_rank.py │ │ │ │ └── sorter_word.py │ │ │ ├── logger.py │ │ │ ├── parent.py │ │ │ ├── process.py │ │ │ ├── source/ │ │ │ │ ├── __init__.py │ │ │ │ ├── around.py │ │ │ │ ├── base.py │ │ │ │ ├── buffer.py │ │ │ │ ├── file.py │ │ │ │ ├── member.py │ │ │ │ └── omni.py │ │ │ └── util.py │ │ └── test/ │ │ ├── autoload/ │ │ │ └── deoplete/ │ │ │ ├── custom.vim │ │ │ └── util.vim │ │ ├── conftest.py │ │ ├── requirements.txt │ │ └── rplugin/ │ │ └── python3/ │ │ └── deoplete/ │ │ ├── test_converter_reorder_attr.py │ │ ├── test_filter.py │ │ ├── test_matcher_full_fuzzy.py │ │ ├── test_matcher_fuzzy.py │ │ └── test_util.py │ ├── django-plus.vim/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ ├── ftplugin/ │ │ │ │ ├── htmldjango.vim │ │ │ │ └── python.vim │ │ │ ├── indent/ │ │ │ │ └── htmldjango.vim │ │ │ └── syntax/ │ │ │ ├── django.vim │ │ │ ├── htmldjango.vim │ │ │ └── python.vim │ │ ├── autoload/ │ │ │ ├── djangoplus/ │ │ │ │ └── detect.vim │ │ │ └── djangoplus.vim │ │ ├── bin/ │ │ │ ├── completions.py │ │ │ └── template_finder.py │ │ ├── doc/ │ │ │ └── django-plus.txt │ │ ├── filetype.vim │ │ └── rplugin/ │ │ └── python3/ │ │ └── deoplete/ │ │ └── sources/ │ │ └── django.py │ ├── dracula/ │ │ ├── .github/ │ │ │ ├── issue_template.md │ │ │ └── pull_request_template.md │ │ ├── .gitignore │ │ ├── INSTALL.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ ├── plugin/ │ │ │ │ └── dracula.vim │ │ │ └── syntax/ │ │ │ ├── css.vim │ │ │ ├── gitcommit.vim │ │ │ ├── html.vim │ │ │ ├── javascript.vim │ │ │ ├── javascriptreact.vim │ │ │ ├── json.vim │ │ │ ├── lua.vim │ │ │ ├── markdown.vim │ │ │ ├── ocaml.vim │ │ │ ├── perl.vim │ │ │ ├── php.vim │ │ │ ├── plantuml.vim │ │ │ ├── purescript.vim │ │ │ ├── python.vim │ │ │ ├── rst.vim │ │ │ ├── ruby.vim │ │ │ ├── rust.vim │ │ │ ├── sass.vim │ │ │ ├── sh.vim │ │ │ ├── tex.vim │ │ │ ├── typescript.vim │ │ │ ├── typescriptreact.vim │ │ │ ├── vim.vim │ │ │ ├── xml.vim │ │ │ └── yaml.vim │ │ ├── autoload/ │ │ │ ├── airline/ │ │ │ │ └── themes/ │ │ │ │ └── dracula.vim │ │ │ ├── dracula.vim │ │ │ └── lightline/ │ │ │ └── colorscheme/ │ │ │ └── dracula.vim │ │ ├── colors/ │ │ │ └── dracula.vim │ │ └── doc/ │ │ └── dracula.txt │ ├── echodoc.vim/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── echodoc/ │ │ │ │ ├── default.vim │ │ │ │ └── util.vim │ │ │ └── echodoc.vim │ │ ├── doc/ │ │ │ └── echodoc.txt │ │ ├── plugin/ │ │ │ └── echodoc.vim │ │ └── test/ │ │ ├── .themisrc │ │ ├── parse.vim │ │ └── scan.vim │ ├── editorconfig-vim/ │ │ ├── .appveyor.yml │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── .travis.yml │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── LICENSE.PSF │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── editorconfig.vim │ │ │ ├── editorconfig_core/ │ │ │ │ ├── fnmatch.vim │ │ │ │ ├── handler.vim │ │ │ │ ├── ini.vim │ │ │ │ └── util.vim │ │ │ └── editorconfig_core.vim │ │ ├── doc/ │ │ │ └── editorconfig.txt │ │ ├── mkzip.sh │ │ ├── plugin/ │ │ │ └── editorconfig.vim │ │ └── tests/ │ │ ├── core/ │ │ │ ├── CMakeLists.txt │ │ │ ├── CTestCustom.cmake │ │ │ ├── ecvbslib.vbs │ │ │ ├── ecvimlib.ps1 │ │ │ ├── editorconfig │ │ │ ├── editorconfig.bat │ │ │ ├── editorconfig1.vbs │ │ │ └── editorconfig2.ps1 │ │ ├── fetch-vim.bat │ │ ├── fetch-vim.sh │ │ ├── plugin/ │ │ │ ├── .gitignore │ │ │ ├── Gemfile │ │ │ ├── Rakefile │ │ │ └── spec/ │ │ │ ├── .editorconfig │ │ │ └── editorconfig_spec.rb │ │ └── travis-test.sh │ ├── fcitx.vim/ │ │ ├── README.md │ │ ├── plugin/ │ │ │ ├── fcitx.py │ │ │ └── fcitx.vim │ │ └── so/ │ │ └── fcitx.vim │ ├── flygrep.nvim/ │ │ ├── README.md │ │ ├── lua/ │ │ │ ├── flygrep/ │ │ │ │ ├── config.lua │ │ │ │ └── highlight.lua │ │ │ └── flygrep.lua │ │ └── plugin/ │ │ └── flygrep.lua │ ├── format.nvim/ │ │ ├── README.md │ │ ├── lua/ │ │ │ ├── format/ │ │ │ │ ├── config.lua │ │ │ │ ├── ft/ │ │ │ │ │ ├── c.lua │ │ │ │ │ ├── json.lua │ │ │ │ │ ├── lua.lua │ │ │ │ │ ├── markdown.lua │ │ │ │ │ └── rust.lua │ │ │ │ ├── task.lua │ │ │ │ └── util.lua │ │ │ └── format.lua │ │ └── plugin/ │ │ └── format.lua │ ├── fortran.vim/ │ │ ├── README │ │ ├── indent/ │ │ │ └── fortran.vim │ │ └── syntax/ │ │ └── fortran.vim │ ├── gina.vim/ │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ ├── neovim.yml │ │ │ ├── reviewdog.yml │ │ │ └── vim.yml │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── gina/ │ │ │ │ ├── action/ │ │ │ │ │ ├── blame.vim │ │ │ │ │ ├── branch.vim │ │ │ │ │ ├── browse.vim │ │ │ │ │ ├── changes.vim │ │ │ │ │ ├── chaperon.vim │ │ │ │ │ ├── commit.vim │ │ │ │ │ ├── compare.vim │ │ │ │ │ ├── diff.vim │ │ │ │ │ ├── edit.vim │ │ │ │ │ ├── export.vim │ │ │ │ │ ├── index.vim │ │ │ │ │ ├── ls.vim │ │ │ │ │ ├── patch.vim │ │ │ │ │ ├── show.vim │ │ │ │ │ ├── stash.vim │ │ │ │ │ ├── tag.vim │ │ │ │ │ └── yank.vim │ │ │ │ ├── action.vim │ │ │ │ ├── command/ │ │ │ │ │ ├── _events.vim │ │ │ │ │ ├── _raw.vim │ │ │ │ │ ├── _shell.vim │ │ │ │ │ ├── blame/ │ │ │ │ │ │ ├── formatter.vim │ │ │ │ │ │ └── pipe.vim │ │ │ │ │ ├── blame.vim │ │ │ │ │ ├── branch.vim │ │ │ │ │ ├── browse.vim │ │ │ │ │ ├── cd.vim │ │ │ │ │ ├── changes.vim │ │ │ │ │ ├── chaperon.vim │ │ │ │ │ ├── commit.vim │ │ │ │ │ ├── compare.vim │ │ │ │ │ ├── diff.vim │ │ │ │ │ ├── edit.vim │ │ │ │ │ ├── grep.vim │ │ │ │ │ ├── lcd.vim │ │ │ │ │ ├── log.vim │ │ │ │ │ ├── ls.vim │ │ │ │ │ ├── patch.vim │ │ │ │ │ ├── qrep.vim │ │ │ │ │ ├── reflog.vim │ │ │ │ │ ├── show.vim │ │ │ │ │ ├── stash/ │ │ │ │ │ │ ├── list.vim │ │ │ │ │ │ └── show.vim │ │ │ │ │ ├── stash.vim │ │ │ │ │ ├── status.vim │ │ │ │ │ ├── tag/ │ │ │ │ │ │ └── edit.vim │ │ │ │ │ └── tag.vim │ │ │ │ ├── command.vim │ │ │ │ ├── complete/ │ │ │ │ │ ├── commit.vim │ │ │ │ │ ├── common.vim │ │ │ │ │ ├── filename.vim │ │ │ │ │ ├── range.vim │ │ │ │ │ ├── stash.vim │ │ │ │ │ └── tag.vim │ │ │ │ ├── component/ │ │ │ │ │ ├── repo.vim │ │ │ │ │ ├── status.vim │ │ │ │ │ └── traffic.vim │ │ │ │ ├── core/ │ │ │ │ │ ├── args.vim │ │ │ │ │ ├── askpass.vim │ │ │ │ │ ├── buffer.vim │ │ │ │ │ ├── console.vim │ │ │ │ │ ├── diffjump.vim │ │ │ │ │ ├── emitter.vim │ │ │ │ │ ├── locator.vim │ │ │ │ │ ├── meta.vim │ │ │ │ │ ├── options.vim │ │ │ │ │ ├── path.vim │ │ │ │ │ ├── repo.vim │ │ │ │ │ ├── revelator.vim │ │ │ │ │ ├── spinner.vim │ │ │ │ │ ├── timestamper.vim │ │ │ │ │ ├── tracker.vim │ │ │ │ │ ├── treeish.vim │ │ │ │ │ └── writer.vim │ │ │ │ ├── core.vim │ │ │ │ ├── custom/ │ │ │ │ │ ├── action.vim │ │ │ │ │ ├── command.vim │ │ │ │ │ └── mapping.vim │ │ │ │ ├── custom.vim │ │ │ │ ├── process/ │ │ │ │ │ └── pipe.vim │ │ │ │ ├── process.vim │ │ │ │ └── util.vim │ │ │ ├── gina.vim │ │ │ └── vital/ │ │ │ ├── __gina__/ │ │ │ │ ├── Action.vim │ │ │ │ ├── Argument.vim │ │ │ │ ├── Git.vim │ │ │ │ ├── Options.vim │ │ │ │ └── System/ │ │ │ │ └── Store.vim │ │ │ ├── _gina/ │ │ │ │ ├── App/ │ │ │ │ │ ├── Emitter.vim │ │ │ │ │ └── Revelator.vim │ │ │ │ ├── Bitwise.vim │ │ │ │ ├── Config.vim │ │ │ │ ├── Data/ │ │ │ │ │ ├── Dict.vim │ │ │ │ │ ├── List.vim │ │ │ │ │ ├── String/ │ │ │ │ │ │ └── Formatter.vim │ │ │ │ │ └── String.vim │ │ │ │ ├── DateTime.vim │ │ │ │ ├── Prelude.vim │ │ │ │ ├── Process.vim │ │ │ │ ├── System/ │ │ │ │ │ ├── Cache/ │ │ │ │ │ │ ├── Base.vim │ │ │ │ │ │ └── Memory.vim │ │ │ │ │ ├── File.vim │ │ │ │ │ ├── Filepath.vim │ │ │ │ │ ├── Job/ │ │ │ │ │ │ ├── Neovim.vim │ │ │ │ │ │ └── Vim.vim │ │ │ │ │ └── Job.vim │ │ │ │ ├── Text/ │ │ │ │ │ └── INI.vim │ │ │ │ └── Vim/ │ │ │ │ ├── Buffer/ │ │ │ │ │ ├── ANSI.vim │ │ │ │ │ ├── Group.vim │ │ │ │ │ ├── Opener.vim │ │ │ │ │ └── Writer.vim │ │ │ │ ├── Buffer.vim │ │ │ │ ├── BufferManager.vim │ │ │ │ ├── Console.vim │ │ │ │ ├── Guard.vim │ │ │ │ ├── Highlight.vim │ │ │ │ ├── Type.vim │ │ │ │ └── Window.vim │ │ │ ├── _gina.vim │ │ │ ├── gina.vim │ │ │ └── gina.vital │ │ ├── doc/ │ │ │ ├── Vital/ │ │ │ │ └── Argument.txt │ │ │ ├── gina-develop.txt │ │ │ └── gina.txt │ │ ├── ftplugin/ │ │ │ ├── gina-blame.vim │ │ │ ├── gina-branch.vim │ │ │ ├── gina-changes.vim │ │ │ ├── gina-commit.vim │ │ │ ├── gina-grep.vim │ │ │ ├── gina-log.vim │ │ │ ├── gina-ls.vim │ │ │ ├── gina-reflog.vim │ │ │ ├── gina-stash-list.vim │ │ │ ├── gina-stash-show.vim │ │ │ ├── gina-status.vim │ │ │ ├── gina-tag.vim │ │ │ └── gitrebase/ │ │ │ └── gina.vim │ │ ├── plugin/ │ │ │ └── gina.vim │ │ ├── scripts/ │ │ │ ├── askpass.mac │ │ │ └── askpass.zenity │ │ ├── syntax/ │ │ │ ├── gina-_events.vim │ │ │ ├── gina-blame.vim │ │ │ ├── gina-branch.vim │ │ │ ├── gina-changes.vim │ │ │ ├── gina-commit.vim │ │ │ ├── gina-grep.vim │ │ │ ├── gina-log.vim │ │ │ ├── gina-reflog.vim │ │ │ ├── gina-stash-show.vim │ │ │ ├── gina-status.vim │ │ │ └── gina-tag.vim │ │ └── test/ │ │ ├── .themisrc │ │ ├── gina/ │ │ │ ├── _testdata/ │ │ │ │ ├── cp1250-encoding.txt │ │ │ │ ├── cp932-encoding.txt │ │ │ │ ├── euc-jp-encoding.txt │ │ │ │ ├── pluscmd.txt │ │ │ │ ├── sjis-encoding.txt │ │ │ │ └── utf-8-encoding.txt │ │ │ ├── action/ │ │ │ │ └── index.vimspec │ │ │ ├── command/ │ │ │ │ ├── branch.vimspec │ │ │ │ ├── browse.vimspec │ │ │ │ ├── cd.vimspec │ │ │ │ ├── changes.vimspec │ │ │ │ ├── chaperon.vimspec │ │ │ │ ├── commit.vimspec │ │ │ │ ├── compare.vimspec │ │ │ │ ├── diff.vimspec │ │ │ │ ├── edit.vimspec │ │ │ │ ├── grep.vimspec │ │ │ │ ├── lcd.vimspec │ │ │ │ ├── log.vimspec │ │ │ │ ├── ls.vimspec │ │ │ │ ├── patch.vimspec │ │ │ │ ├── qrep.vimspec │ │ │ │ ├── reflog.vimspec │ │ │ │ ├── show.vimspec │ │ │ │ ├── stash/ │ │ │ │ │ ├── list.vimspec │ │ │ │ │ └── show.vimspec │ │ │ │ ├── status.vimspec │ │ │ │ └── tag.vimspec │ │ │ ├── core/ │ │ │ │ ├── args.vimspec │ │ │ │ ├── buffer.vimspec │ │ │ │ ├── diffjump.vimspec │ │ │ │ ├── emitter.vimspec │ │ │ │ ├── meta.vimspec │ │ │ │ ├── path.vimspec │ │ │ │ ├── repo.vimspec │ │ │ │ └── treeish.vimspec │ │ │ ├── core.vimspec │ │ │ ├── custom/ │ │ │ │ ├── action.vimspec │ │ │ │ ├── command.vimspec │ │ │ │ └── mapping.vimspec │ │ │ ├── custom.vimspec │ │ │ ├── process.vimspec │ │ │ └── util.vimspec │ │ ├── run_themis.sh │ │ ├── slit.vim │ │ └── vital/ │ │ ├── Action.vimspec │ │ ├── Argument.vimspec │ │ ├── Git.vimspec │ │ ├── System/ │ │ │ └── Store.vimspec │ │ ├── Vim/ │ │ │ └── Highlight.vimspec │ │ └── _testdata/ │ │ └── Vim/ │ │ └── Buffer/ │ │ └── Writer/ │ │ ├── cp1250-encoding.txt │ │ ├── cp932-encoding.txt │ │ ├── euc-jp-encoding.txt │ │ ├── sjis-encoding.txt │ │ └── utf-8-encoding.txt │ ├── git.vim/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── git/ │ │ │ │ ├── add.vim │ │ │ │ ├── blame.vim │ │ │ │ ├── branch/ │ │ │ │ │ └── manager.vim │ │ │ │ ├── branch.vim │ │ │ │ ├── checkout.vim │ │ │ │ ├── cherry_pick.vim │ │ │ │ ├── clean.vim │ │ │ │ ├── commit.vim │ │ │ │ ├── config.vim │ │ │ │ ├── diff.vim │ │ │ │ ├── fetch.vim │ │ │ │ ├── log.vim │ │ │ │ ├── logger.vim │ │ │ │ ├── merge.vim │ │ │ │ ├── mv.vim │ │ │ │ ├── pull.vim │ │ │ │ ├── push.vim │ │ │ │ ├── rebase.vim │ │ │ │ ├── reflog.vim │ │ │ │ ├── remote.vim │ │ │ │ ├── reset.vim │ │ │ │ ├── rm.vim │ │ │ │ ├── stash.vim │ │ │ │ ├── status.vim │ │ │ │ └── tag.vim │ │ │ └── git.vim │ │ ├── doc/ │ │ │ └── git.txt │ │ ├── lua/ │ │ │ └── git/ │ │ │ ├── command/ │ │ │ │ ├── add.lua │ │ │ │ ├── blame.lua │ │ │ │ ├── branch.lua │ │ │ │ ├── checkout.lua │ │ │ │ ├── cherry-pick.lua │ │ │ │ ├── clean.lua │ │ │ │ ├── commit.lua │ │ │ │ ├── config.lua │ │ │ │ ├── diff.lua │ │ │ │ ├── fetch.lua │ │ │ │ ├── grep.lua │ │ │ │ ├── log.lua │ │ │ │ ├── merge.lua │ │ │ │ ├── mv.lua │ │ │ │ ├── pull.lua │ │ │ │ ├── push.lua │ │ │ │ ├── rebase.lua │ │ │ │ ├── reflog.lua │ │ │ │ ├── remote.lua │ │ │ │ ├── reset.lua │ │ │ │ ├── rm.lua │ │ │ │ ├── shortlog.lua │ │ │ │ ├── stash.lua │ │ │ │ ├── status.lua │ │ │ │ ├── tag.lua │ │ │ │ └── update-index.lua │ │ │ ├── init.lua │ │ │ ├── log.lua │ │ │ └── ui/ │ │ │ ├── branch.lua │ │ │ └── remote.lua │ │ ├── plugin/ │ │ │ └── git.vim │ │ ├── syntax/ │ │ │ ├── git-blame.vim │ │ │ ├── git-config.vim │ │ │ ├── git-log.vim │ │ │ └── git-reflog.vim │ │ └── test/ │ │ └── vimrc │ ├── github-issues.vim/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── gh_colors.vim │ │ │ └── ghissues.vim │ │ ├── doc/ │ │ │ └── Gissues.txt │ │ ├── plugin/ │ │ │ └── githubissues.vim │ │ ├── rplugin/ │ │ │ └── python/ │ │ │ └── ghissues.py │ │ ├── syntax/ │ │ │ └── gfimarkdown.vim │ │ └── test/ │ │ └── test.vim │ ├── github.vim/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── .vintrc.yaml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── _config.yml │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── github/ │ │ │ │ ├── api/ │ │ │ │ │ ├── activity.vim │ │ │ │ │ ├── cache.vim │ │ │ │ │ ├── gist.vim │ │ │ │ │ ├── issues/ │ │ │ │ │ │ ├── assignees.vim │ │ │ │ │ │ ├── comments.vim │ │ │ │ │ │ └── labels.vim │ │ │ │ │ ├── issues.vim │ │ │ │ │ ├── labels.vim │ │ │ │ │ ├── obj.vim │ │ │ │ │ ├── orgs.vim │ │ │ │ │ ├── pulls.vim │ │ │ │ │ ├── repos/ │ │ │ │ │ │ └── releases.vim │ │ │ │ │ ├── repos.vim │ │ │ │ │ ├── search.vim │ │ │ │ │ ├── user.vim │ │ │ │ │ ├── users.vim │ │ │ │ │ ├── util/ │ │ │ │ │ │ ├── curl.vim │ │ │ │ │ │ └── wget.vim │ │ │ │ │ └── util.vim │ │ │ │ ├── api.vim │ │ │ │ ├── client.vim │ │ │ │ └── server.vim │ │ │ └── github.vim │ │ ├── doc/ │ │ │ └── github.txt │ │ ├── plugin/ │ │ │ └── github.vim │ │ └── test/ │ │ ├── init.vader │ │ ├── issues.vader │ │ ├── repos/ │ │ │ └── releases.vader │ │ └── vimrc │ ├── gruvbox/ │ │ ├── .github/ │ │ │ └── ISSUE_TEMPLATE/ │ │ │ └── bug_report.md │ │ ├── CHANGELOG.md │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── airline/ │ │ │ │ └── themes/ │ │ │ │ └── gruvbox.vim │ │ │ ├── gruvbox.vim │ │ │ └── lightline/ │ │ │ └── colorscheme/ │ │ │ └── gruvbox.vim │ │ ├── colors/ │ │ │ └── gruvbox.vim │ │ ├── gruvbox_256palette.sh │ │ ├── gruvbox_256palette_osx.sh │ │ └── package.json │ ├── gtags.vim/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── .vintrc.yaml │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── ctags.vim │ │ │ └── gtags.vim │ │ ├── doc/ │ │ │ └── gtags.txt │ │ ├── lua/ │ │ │ └── ctags/ │ │ │ └── init.lua │ │ └── plugin/ │ │ └── gtags.vim │ ├── helpful.vim/ │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── update-tags.yml │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── helpful.vim │ │ ├── doc/ │ │ │ └── helpful-version.txt │ │ ├── plugin/ │ │ │ ├── helpful.vim │ │ │ └── tags.txt │ │ └── support/ │ │ ├── README.md │ │ └── difftags.py │ ├── hop.nvim/ │ │ ├── .gitignore │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ └── hop.txt │ │ ├── examples/ │ │ │ └── hop-extension-hello-world/ │ │ │ └── lua/ │ │ │ └── hop-extension-hello-world/ │ │ │ └── init.lua │ │ ├── lua/ │ │ │ └── hop/ │ │ │ ├── defaults.lua │ │ │ ├── health.lua │ │ │ ├── highlight.lua │ │ │ ├── hint.lua │ │ │ ├── init.lua │ │ │ ├── jump_target.lua │ │ │ ├── perm.lua │ │ │ ├── priority.lua │ │ │ └── window.lua │ │ ├── plugin/ │ │ │ └── hop.vim │ │ └── rfcs/ │ │ └── 0001-hop-general-hint-modes.md │ ├── incsearch-easymotion.vim/ │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── incsearch/ │ │ │ ├── config/ │ │ │ │ └── easymotion.vim │ │ │ └── over/ │ │ │ └── modules/ │ │ │ └── EasyMotion.vim │ │ └── plugin/ │ │ └── incsearch/ │ │ └── easymotion.vim │ ├── incsearch-fuzzy.vim/ │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── incsearch/ │ │ │ │ └── config/ │ │ │ │ ├── fuzzy.vim │ │ │ │ ├── fuzzyspell.vim │ │ │ │ └── fuzzyword.vim │ │ │ ├── vital/ │ │ │ │ ├── _incsearch_fuzzy/ │ │ │ │ │ └── Data/ │ │ │ │ │ └── String/ │ │ │ │ │ └── Converter.vim │ │ │ │ ├── _incsearch_fuzzy.vim │ │ │ │ ├── incsearch_fuzzy.vim │ │ │ │ └── incsearch_fuzzy.vital │ │ │ └── vital.vim │ │ └── plugin/ │ │ └── incsearch/ │ │ └── fuzzy.vim │ ├── incsearch.vim/ │ │ ├── .travis.yml │ │ ├── .vintrc.yaml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── appveyor.yml │ │ ├── autoload/ │ │ │ ├── incsearch/ │ │ │ │ ├── autocmd.vim │ │ │ │ ├── cli.vim │ │ │ │ ├── config.vim │ │ │ │ ├── highlight.vim │ │ │ │ ├── over/ │ │ │ │ │ ├── extend.vim │ │ │ │ │ └── modules/ │ │ │ │ │ ├── bracketed_paste.vim │ │ │ │ │ ├── bulk_input_char.vim │ │ │ │ │ ├── exit.vim │ │ │ │ │ ├── incsearch.vim │ │ │ │ │ ├── insert_register.vim │ │ │ │ │ ├── module_management.vim │ │ │ │ │ └── pattern_saver.vim │ │ │ │ └── util.vim │ │ │ ├── incsearch.vim │ │ │ ├── vital/ │ │ │ │ ├── _incsearch/ │ │ │ │ │ ├── Coaster/ │ │ │ │ │ │ ├── Highlight.vim │ │ │ │ │ │ └── Window.vim │ │ │ │ │ ├── Data/ │ │ │ │ │ │ ├── Dict.vim │ │ │ │ │ │ └── List.vim │ │ │ │ │ ├── Gift/ │ │ │ │ │ │ ├── Tabpage.vim │ │ │ │ │ │ └── Window.vim │ │ │ │ │ ├── Gift.vim │ │ │ │ │ ├── Over/ │ │ │ │ │ │ ├── Commandline/ │ │ │ │ │ │ │ ├── Base.vim │ │ │ │ │ │ │ ├── Maker.vim │ │ │ │ │ │ │ ├── Modules/ │ │ │ │ │ │ │ │ ├── All.vim │ │ │ │ │ │ │ │ ├── AsyncUpdate.vim │ │ │ │ │ │ │ │ ├── BufferComplete.vim │ │ │ │ │ │ │ │ ├── Cancel.vim │ │ │ │ │ │ │ │ ├── CursorMove.vim │ │ │ │ │ │ │ │ ├── Delete.vim │ │ │ │ │ │ │ │ ├── Digraphs.vim │ │ │ │ │ │ │ │ ├── Doautocmd.vim │ │ │ │ │ │ │ │ ├── DrawCommandline.vim │ │ │ │ │ │ │ │ ├── ExceptionExit.vim │ │ │ │ │ │ │ │ ├── ExceptionMessage.vim │ │ │ │ │ │ │ │ ├── Execute.vim │ │ │ │ │ │ │ │ ├── Exit.vim │ │ │ │ │ │ │ │ ├── HistAdd.vim │ │ │ │ │ │ │ │ ├── History.vim │ │ │ │ │ │ │ │ ├── IgnoreRegexpBackwardWord.vim │ │ │ │ │ │ │ │ ├── Incsearch.vim │ │ │ │ │ │ │ │ ├── InsertRegister.vim │ │ │ │ │ │ │ │ ├── KeyMapping.vim │ │ │ │ │ │ │ │ ├── LiteralInsert.vim │ │ │ │ │ │ │ │ ├── NoInsert.vim │ │ │ │ │ │ │ │ ├── Paste.vim │ │ │ │ │ │ │ │ ├── Redraw.vim │ │ │ │ │ │ │ │ └── Scroll.vim │ │ │ │ │ │ │ └── Modules.vim │ │ │ │ │ │ ├── Commandline.vim │ │ │ │ │ │ ├── Exception.vim │ │ │ │ │ │ ├── Input.vim │ │ │ │ │ │ ├── Keymapping.vim │ │ │ │ │ │ ├── Signals.vim │ │ │ │ │ │ └── String.vim │ │ │ │ │ ├── Palette/ │ │ │ │ │ │ ├── Capture.vim │ │ │ │ │ │ ├── Highlight.vim │ │ │ │ │ │ └── Keymapping.vim │ │ │ │ │ ├── Prelude.vim │ │ │ │ │ └── Vim/ │ │ │ │ │ ├── Buffer.vim │ │ │ │ │ ├── Guard.vim │ │ │ │ │ ├── Message.vim │ │ │ │ │ └── Type.vim │ │ │ │ ├── _incsearch.vim │ │ │ │ ├── incsearch.vim │ │ │ │ └── incsearch.vital │ │ │ └── vital.vim │ │ ├── doc/ │ │ │ ├── .gitignore │ │ │ └── incsearch.txt │ │ ├── plugin/ │ │ │ └── incsearch.vim │ │ └── test/ │ │ ├── .themisrc │ │ ├── api/ │ │ │ ├── config/ │ │ │ │ └── keymap.vimspec │ │ │ └── converter.vimspec │ │ ├── autocmd.vimspec │ │ ├── autonohlsearch.vim │ │ ├── cancel.vim │ │ ├── count.vim │ │ ├── default_behaviors.vim │ │ ├── default_settings.vim │ │ ├── error_warning_emulation.vim │ │ ├── fold.vim │ │ ├── highlight.vim │ │ ├── history.vim │ │ ├── inc_cursor_pos.vim │ │ ├── inc_hlsearch.vim │ │ ├── incremental_next_prev.vim │ │ ├── insert_register.vim │ │ ├── jumplist.vim │ │ ├── lastpattern.vimspec │ │ ├── magic_option.vim │ │ ├── module.vim │ │ ├── n_and_N.vim │ │ ├── nomagic.vim │ │ ├── operator_pending_behavior.vim │ │ ├── question_pattern.vimspec │ │ ├── register.vim │ │ ├── repetition.vim │ │ ├── scroll.vim │ │ ├── test.vimrc │ │ ├── util/ │ │ │ └── regexp.vimspec │ │ ├── util.vim │ │ ├── vimlint.sh │ │ ├── visual_behavior.vim │ │ └── visual_emulation.vim │ ├── indent-blankline.nvim/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ └── workflows/ │ │ │ └── pr_check.yml │ │ ├── .luacheckrc │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── doc/ │ │ │ └── indent_blankline.txt │ │ ├── lua/ │ │ │ └── indent_blankline/ │ │ │ ├── commands.lua │ │ │ ├── init.lua │ │ │ └── utils.lua │ │ ├── plugin/ │ │ │ └── indent_blankline.vim │ │ └── stylua.toml │ ├── indentLine/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ ├── plugin/ │ │ │ │ └── indentLine.vim │ │ │ └── syntax/ │ │ │ └── indentLine.vim │ │ ├── doc/ │ │ │ └── indentLine.txt │ │ └── glyph/ │ │ └── indentLine-dotted-guide.eps │ ├── java_getset.vim/ │ │ ├── README.md │ │ └── ftplugin/ │ │ └── java_getset.vim │ ├── jedi-vim/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── workflows/ │ │ │ └── ci.yml │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── .travis.yml │ │ ├── AUTHORS.txt │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.txt │ │ ├── Makefile │ │ ├── README.rst │ │ ├── after/ │ │ │ ├── ftplugin/ │ │ │ │ └── python/ │ │ │ │ └── jedi.vim │ │ │ └── syntax/ │ │ │ └── python.vim │ │ ├── autoload/ │ │ │ ├── health/ │ │ │ │ └── jedi.vim │ │ │ └── jedi.vim │ │ ├── codecov.yml │ │ ├── doc/ │ │ │ └── jedi-vim.txt │ │ ├── ftplugin/ │ │ │ └── python/ │ │ │ └── jedi.vim │ │ ├── plugin/ │ │ │ └── jedi.vim │ │ ├── pythonx/ │ │ │ ├── jedi/ │ │ │ │ ├── .editorconfig │ │ │ │ ├── .gitattributes │ │ │ │ ├── .github/ │ │ │ │ │ ├── FUNDING.yml │ │ │ │ │ └── workflows/ │ │ │ │ │ └── ci.yml │ │ │ │ ├── .gitignore │ │ │ │ ├── .gitmodules │ │ │ │ ├── .readthedocs.yml │ │ │ │ ├── AUTHORS.txt │ │ │ │ ├── CHANGELOG.rst │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── MANIFEST.in │ │ │ │ ├── README.rst │ │ │ │ ├── conftest.py │ │ │ │ ├── deploy-master.sh │ │ │ │ ├── docs/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── _static/ │ │ │ │ │ │ ├── custom_style.css │ │ │ │ │ │ └── logo-src.txt │ │ │ │ │ ├── _templates/ │ │ │ │ │ │ ├── ghbuttons.html │ │ │ │ │ │ └── sidebarlogo.html │ │ │ │ │ ├── conf.py │ │ │ │ │ ├── docs/ │ │ │ │ │ │ ├── acknowledgements.rst │ │ │ │ │ │ ├── api-classes.rst │ │ │ │ │ │ ├── api.rst │ │ │ │ │ │ ├── changelog.rst │ │ │ │ │ │ ├── development.rst │ │ │ │ │ │ ├── features.rst │ │ │ │ │ │ ├── installation.rst │ │ │ │ │ │ ├── settings.rst │ │ │ │ │ │ ├── testing.rst │ │ │ │ │ │ └── usage.rst │ │ │ │ │ ├── global.rst │ │ │ │ │ └── index.rst │ │ │ │ ├── jedi/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── __main__.py │ │ │ │ │ ├── _compatibility.py │ │ │ │ │ ├── api/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── classes.py │ │ │ │ │ │ ├── completion.py │ │ │ │ │ │ ├── completion_cache.py │ │ │ │ │ │ ├── environment.py │ │ │ │ │ │ ├── errors.py │ │ │ │ │ │ ├── exceptions.py │ │ │ │ │ │ ├── file_name.py │ │ │ │ │ │ ├── helpers.py │ │ │ │ │ │ ├── interpreter.py │ │ │ │ │ │ ├── keywords.py │ │ │ │ │ │ ├── project.py │ │ │ │ │ │ ├── refactoring/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── extract.py │ │ │ │ │ │ ├── replstartup.py │ │ │ │ │ │ └── strings.py │ │ │ │ │ ├── cache.py │ │ │ │ │ ├── common.py │ │ │ │ │ ├── debug.py │ │ │ │ │ ├── file_io.py │ │ │ │ │ ├── inference/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── analysis.py │ │ │ │ │ │ ├── arguments.py │ │ │ │ │ │ ├── base_value.py │ │ │ │ │ │ ├── cache.py │ │ │ │ │ │ ├── compiled/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── access.py │ │ │ │ │ │ │ ├── getattr_static.py │ │ │ │ │ │ │ ├── mixed.py │ │ │ │ │ │ │ ├── subprocess/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── __main__.py │ │ │ │ │ │ │ │ └── functions.py │ │ │ │ │ │ │ └── value.py │ │ │ │ │ │ ├── context.py │ │ │ │ │ │ ├── docstring_utils.py │ │ │ │ │ │ ├── docstrings.py │ │ │ │ │ │ ├── dynamic_params.py │ │ │ │ │ │ ├── filters.py │ │ │ │ │ │ ├── finder.py │ │ │ │ │ │ ├── flow_analysis.py │ │ │ │ │ │ ├── gradual/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── annotation.py │ │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ │ ├── conversion.py │ │ │ │ │ │ │ ├── generics.py │ │ │ │ │ │ │ ├── stub_value.py │ │ │ │ │ │ │ ├── type_var.py │ │ │ │ │ │ │ ├── typeshed.py │ │ │ │ │ │ │ ├── typing.py │ │ │ │ │ │ │ └── utils.py │ │ │ │ │ │ ├── helpers.py │ │ │ │ │ │ ├── imports.py │ │ │ │ │ │ ├── lazy_value.py │ │ │ │ │ │ ├── names.py │ │ │ │ │ │ ├── param.py │ │ │ │ │ │ ├── parser_cache.py │ │ │ │ │ │ ├── recursion.py │ │ │ │ │ │ ├── references.py │ │ │ │ │ │ ├── signature.py │ │ │ │ │ │ ├── star_args.py │ │ │ │ │ │ ├── syntax_tree.py │ │ │ │ │ │ ├── sys_path.py │ │ │ │ │ │ ├── utils.py │ │ │ │ │ │ └── value/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── decorator.py │ │ │ │ │ │ ├── dynamic_arrays.py │ │ │ │ │ │ ├── function.py │ │ │ │ │ │ ├── instance.py │ │ │ │ │ │ ├── iterable.py │ │ │ │ │ │ ├── klass.py │ │ │ │ │ │ ├── module.py │ │ │ │ │ │ └── namespace.py │ │ │ │ │ ├── parser_utils.py │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── django.py │ │ │ │ │ │ ├── flask.py │ │ │ │ │ │ ├── pytest.py │ │ │ │ │ │ ├── registry.py │ │ │ │ │ │ └── stdlib.py │ │ │ │ │ ├── settings.py │ │ │ │ │ ├── third_party/ │ │ │ │ │ │ ├── README_typeshed.md │ │ │ │ │ │ ├── django-stubs/ │ │ │ │ │ │ │ ├── .editorconfig │ │ │ │ │ │ │ ├── .github/ │ │ │ │ │ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ │ │ │ │ │ └── bug.md │ │ │ │ │ │ │ │ └── pull_request_template.md │ │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── dev-requirements.txt │ │ │ │ │ │ │ ├── django-stubs/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── apps/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── config.pyi │ │ │ │ │ │ │ │ │ └── registry.pyi │ │ │ │ │ │ │ │ ├── conf/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── global_settings.pyi │ │ │ │ │ │ │ │ │ ├── locale/ │ │ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ │ │ └── urls/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── i18n.pyi │ │ │ │ │ │ │ │ │ └── static.pyi │ │ │ │ │ │ │ │ ├── contrib/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── actions.pyi │ │ │ │ │ │ │ │ │ │ ├── apps.pyi │ │ │ │ │ │ │ │ │ │ ├── checks.pyi │ │ │ │ │ │ │ │ │ │ ├── decorators.pyi │ │ │ │ │ │ │ │ │ │ ├── filters.pyi │ │ │ │ │ │ │ │ │ │ ├── forms.pyi │ │ │ │ │ │ │ │ │ │ ├── helpers.pyi │ │ │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ │ │ ├── options.pyi │ │ │ │ │ │ │ │ │ │ ├── sites.pyi │ │ │ │ │ │ │ │ │ │ ├── templatetags/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── admin_list.pyi │ │ │ │ │ │ │ │ │ │ │ ├── admin_modify.pyi │ │ │ │ │ │ │ │ │ │ │ ├── admin_static.pyi │ │ │ │ │ │ │ │ │ │ │ ├── admin_urls.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ └── log.pyi │ │ │ │ │ │ │ │ │ │ ├── tests.pyi │ │ │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ │ │ ├── views/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── autocomplete.pyi │ │ │ │ │ │ │ │ │ │ │ ├── decorators.pyi │ │ │ │ │ │ │ │ │ │ │ └── main.pyi │ │ │ │ │ │ │ │ │ │ └── widgets.pyi │ │ │ │ │ │ │ │ │ ├── admindocs/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── middleware.pyi │ │ │ │ │ │ │ │ │ │ ├── urls.pyi │ │ │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ │ │ └── views.pyi │ │ │ │ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── admin.pyi │ │ │ │ │ │ │ │ │ │ ├── apps.pyi │ │ │ │ │ │ │ │ │ │ ├── backends.pyi │ │ │ │ │ │ │ │ │ │ ├── base_user.pyi │ │ │ │ │ │ │ │ │ │ ├── checks.pyi │ │ │ │ │ │ │ │ │ │ ├── context_processors.pyi │ │ │ │ │ │ │ │ │ │ ├── decorators.pyi │ │ │ │ │ │ │ │ │ │ ├── forms.pyi │ │ │ │ │ │ │ │ │ │ ├── handlers/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── modwsgi.pyi │ │ │ │ │ │ │ │ │ │ ├── hashers.pyi │ │ │ │ │ │ │ │ │ │ ├── management/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── commands/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── changepassword.pyi │ │ │ │ │ │ │ │ │ │ │ └── createsuperuser.pyi │ │ │ │ │ │ │ │ │ │ ├── middleware.pyi │ │ │ │ │ │ │ │ │ │ ├── mixins.pyi │ │ │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ │ │ ├── password_validation.pyi │ │ │ │ │ │ │ │ │ │ ├── signals.pyi │ │ │ │ │ │ │ │ │ │ ├── tokens.pyi │ │ │ │ │ │ │ │ │ │ ├── urls.pyi │ │ │ │ │ │ │ │ │ │ ├── validators.pyi │ │ │ │ │ │ │ │ │ │ └── views.pyi │ │ │ │ │ │ │ │ │ ├── contenttypes/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── admin.pyi │ │ │ │ │ │ │ │ │ │ ├── apps.pyi │ │ │ │ │ │ │ │ │ │ ├── checks.pyi │ │ │ │ │ │ │ │ │ │ ├── fields.pyi │ │ │ │ │ │ │ │ │ │ ├── forms.pyi │ │ │ │ │ │ │ │ │ │ ├── management/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── commands/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── remove_stale_contenttypes.pyi │ │ │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ │ │ └── views.pyi │ │ │ │ │ │ │ │ │ ├── flatpages/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── forms.pyi │ │ │ │ │ │ │ │ │ │ ├── middleware.pyi │ │ │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ │ │ ├── sitemaps.pyi │ │ │ │ │ │ │ │ │ │ ├── templatetags/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── flatpages.pyi │ │ │ │ │ │ │ │ │ │ ├── urls.pyi │ │ │ │ │ │ │ │ │ │ └── views.pyi │ │ │ │ │ │ │ │ │ ├── gis/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── db/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── models/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── fields.pyi │ │ │ │ │ │ │ │ │ ├── humanize/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── templatetags/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── humanize.pyi │ │ │ │ │ │ │ │ │ ├── messages/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── api.pyi │ │ │ │ │ │ │ │ │ │ ├── constants.pyi │ │ │ │ │ │ │ │ │ │ ├── context_processors.pyi │ │ │ │ │ │ │ │ │ │ ├── middleware.pyi │ │ │ │ │ │ │ │ │ │ ├── storage/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── cookie.pyi │ │ │ │ │ │ │ │ │ │ │ ├── fallback.pyi │ │ │ │ │ │ │ │ │ │ │ └── session.pyi │ │ │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ │ │ └── views.pyi │ │ │ │ │ │ │ │ │ ├── postgres/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── aggregates/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── general.pyi │ │ │ │ │ │ │ │ │ │ │ ├── mixins.pyi │ │ │ │ │ │ │ │ │ │ │ └── statistics.pyi │ │ │ │ │ │ │ │ │ │ ├── constraints.pyi │ │ │ │ │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── array.pyi │ │ │ │ │ │ │ │ │ │ │ ├── citext.pyi │ │ │ │ │ │ │ │ │ │ │ ├── hstore.pyi │ │ │ │ │ │ │ │ │ │ │ ├── jsonb.pyi │ │ │ │ │ │ │ │ │ │ │ ├── mixins.pyi │ │ │ │ │ │ │ │ │ │ │ └── ranges.pyi │ │ │ │ │ │ │ │ │ │ ├── functions.pyi │ │ │ │ │ │ │ │ │ │ ├── indexes.pyi │ │ │ │ │ │ │ │ │ │ ├── lookups.pyi │ │ │ │ │ │ │ │ │ │ ├── operations.pyi │ │ │ │ │ │ │ │ │ │ ├── search.pyi │ │ │ │ │ │ │ │ │ │ ├── signals.pyi │ │ │ │ │ │ │ │ │ │ └── validators.pyi │ │ │ │ │ │ │ │ │ ├── redirects/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── middleware.pyi │ │ │ │ │ │ │ │ │ │ └── models.pyi │ │ │ │ │ │ │ │ │ ├── sessions/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── backends/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── cache.pyi │ │ │ │ │ │ │ │ │ │ │ ├── cached_db.pyi │ │ │ │ │ │ │ │ │ │ │ ├── db.pyi │ │ │ │ │ │ │ │ │ │ │ ├── file.pyi │ │ │ │ │ │ │ │ │ │ │ └── signed_cookies.pyi │ │ │ │ │ │ │ │ │ │ ├── base_session.pyi │ │ │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ │ │ ├── management/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── commands/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── clearsessions.pyi │ │ │ │ │ │ │ │ │ │ ├── middleware.pyi │ │ │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ │ │ └── serializers.pyi │ │ │ │ │ │ │ │ │ ├── sitemaps/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── management/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── commands/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── ping_google.pyi │ │ │ │ │ │ │ │ │ │ └── views.pyi │ │ │ │ │ │ │ │ │ ├── sites/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── apps.pyi │ │ │ │ │ │ │ │ │ │ ├── management.pyi │ │ │ │ │ │ │ │ │ │ ├── managers.pyi │ │ │ │ │ │ │ │ │ │ ├── middleware.pyi │ │ │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ │ │ ├── requests.pyi │ │ │ │ │ │ │ │ │ │ └── shortcuts.pyi │ │ │ │ │ │ │ │ │ ├── staticfiles/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── apps.pyi │ │ │ │ │ │ │ │ │ │ ├── checks.pyi │ │ │ │ │ │ │ │ │ │ ├── finders.pyi │ │ │ │ │ │ │ │ │ │ ├── handlers.pyi │ │ │ │ │ │ │ │ │ │ ├── management/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── commands/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── collectstatic.pyi │ │ │ │ │ │ │ │ │ │ │ ├── findstatic.pyi │ │ │ │ │ │ │ │ │ │ │ └── runserver.pyi │ │ │ │ │ │ │ │ │ │ ├── storage.pyi │ │ │ │ │ │ │ │ │ │ ├── templatetags/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── staticfiles.pyi │ │ │ │ │ │ │ │ │ │ ├── testing.pyi │ │ │ │ │ │ │ │ │ │ ├── urls.pyi │ │ │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ │ │ └── views.pyi │ │ │ │ │ │ │ │ │ └── syndication/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── views.pyi │ │ │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── cache/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── backends/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── db.pyi │ │ │ │ │ │ │ │ │ │ │ ├── dummy.pyi │ │ │ │ │ │ │ │ │ │ │ ├── filebased.pyi │ │ │ │ │ │ │ │ │ │ │ ├── locmem.pyi │ │ │ │ │ │ │ │ │ │ │ └── memcached.pyi │ │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ │ ├── checks/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── caches.pyi │ │ │ │ │ │ │ │ │ │ ├── database.pyi │ │ │ │ │ │ │ │ │ │ ├── messages.pyi │ │ │ │ │ │ │ │ │ │ ├── model_checks.pyi │ │ │ │ │ │ │ │ │ │ ├── registry.pyi │ │ │ │ │ │ │ │ │ │ ├── security/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── csrf.pyi │ │ │ │ │ │ │ │ │ │ │ └── sessions.pyi │ │ │ │ │ │ │ │ │ │ ├── templates.pyi │ │ │ │ │ │ │ │ │ │ ├── translation.pyi │ │ │ │ │ │ │ │ │ │ └── urls.pyi │ │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ │ ├── files/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── images.pyi │ │ │ │ │ │ │ │ │ │ ├── locks.pyi │ │ │ │ │ │ │ │ │ │ ├── move.pyi │ │ │ │ │ │ │ │ │ │ ├── storage.pyi │ │ │ │ │ │ │ │ │ │ ├── temp.pyi │ │ │ │ │ │ │ │ │ │ ├── uploadedfile.pyi │ │ │ │ │ │ │ │ │ │ ├── uploadhandler.pyi │ │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ │ ├── handlers/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── exception.pyi │ │ │ │ │ │ │ │ │ │ └── wsgi.pyi │ │ │ │ │ │ │ │ │ ├── mail/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── backends/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── console.pyi │ │ │ │ │ │ │ │ │ │ │ ├── dummy.pyi │ │ │ │ │ │ │ │ │ │ │ ├── filebased.pyi │ │ │ │ │ │ │ │ │ │ │ ├── locmem.pyi │ │ │ │ │ │ │ │ │ │ │ └── smtp.pyi │ │ │ │ │ │ │ │ │ │ ├── message.pyi │ │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ │ ├── management/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── color.pyi │ │ │ │ │ │ │ │ │ │ ├── commands/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── dumpdata.pyi │ │ │ │ │ │ │ │ │ │ │ ├── loaddata.pyi │ │ │ │ │ │ │ │ │ │ │ ├── makemessages.pyi │ │ │ │ │ │ │ │ │ │ │ ├── runserver.pyi │ │ │ │ │ │ │ │ │ │ │ └── testserver.pyi │ │ │ │ │ │ │ │ │ │ ├── sql.pyi │ │ │ │ │ │ │ │ │ │ ├── templates.pyi │ │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ │ ├── paginator.pyi │ │ │ │ │ │ │ │ │ ├── serializers/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── json.pyi │ │ │ │ │ │ │ │ │ │ └── python.pyi │ │ │ │ │ │ │ │ │ ├── servers/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── basehttp.pyi │ │ │ │ │ │ │ │ │ ├── signals.pyi │ │ │ │ │ │ │ │ │ ├── signing.pyi │ │ │ │ │ │ │ │ │ ├── validators.pyi │ │ │ │ │ │ │ │ │ └── wsgi.pyi │ │ │ │ │ │ │ │ ├── db/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── backends/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── client.pyi │ │ │ │ │ │ │ │ │ │ │ ├── creation.pyi │ │ │ │ │ │ │ │ │ │ │ ├── features.pyi │ │ │ │ │ │ │ │ │ │ │ ├── introspection.pyi │ │ │ │ │ │ │ │ │ │ │ ├── operations.pyi │ │ │ │ │ │ │ │ │ │ │ ├── schema.pyi │ │ │ │ │ │ │ │ │ │ │ └── validation.pyi │ │ │ │ │ │ │ │ │ │ ├── ddl_references.pyi │ │ │ │ │ │ │ │ │ │ ├── dummy/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── base.pyi │ │ │ │ │ │ │ │ │ │ ├── mysql/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ └── client.pyi │ │ │ │ │ │ │ │ │ │ ├── postgresql/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── client.pyi │ │ │ │ │ │ │ │ │ │ │ ├── creation.pyi │ │ │ │ │ │ │ │ │ │ │ └── operations.pyi │ │ │ │ │ │ │ │ │ │ ├── signals.pyi │ │ │ │ │ │ │ │ │ │ ├── sqlite3/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── creation.pyi │ │ │ │ │ │ │ │ │ │ │ ├── features.pyi │ │ │ │ │ │ │ │ │ │ │ ├── introspection.pyi │ │ │ │ │ │ │ │ │ │ │ ├── operations.pyi │ │ │ │ │ │ │ │ │ │ │ └── schema.pyi │ │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ │ ├── migrations/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── autodetector.pyi │ │ │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ │ │ ├── executor.pyi │ │ │ │ │ │ │ │ │ │ ├── graph.pyi │ │ │ │ │ │ │ │ │ │ ├── loader.pyi │ │ │ │ │ │ │ │ │ │ ├── migration.pyi │ │ │ │ │ │ │ │ │ │ ├── operations/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ │ ├── fields.pyi │ │ │ │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ │ │ │ ├── special.pyi │ │ │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ │ │ ├── optimizer.pyi │ │ │ │ │ │ │ │ │ │ ├── questioner.pyi │ │ │ │ │ │ │ │ │ │ ├── recorder.pyi │ │ │ │ │ │ │ │ │ │ ├── serializer.pyi │ │ │ │ │ │ │ │ │ │ ├── state.pyi │ │ │ │ │ │ │ │ │ │ ├── topological_sort.pyi │ │ │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ │ │ └── writer.pyi │ │ │ │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── aggregates.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── constraints.pyi │ │ │ │ │ │ │ │ │ │ ├── deletion.pyi │ │ │ │ │ │ │ │ │ │ ├── enums.pyi │ │ │ │ │ │ │ │ │ │ ├── expressions.pyi │ │ │ │ │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── files.pyi │ │ │ │ │ │ │ │ │ │ │ ├── mixins.pyi │ │ │ │ │ │ │ │ │ │ │ ├── proxy.pyi │ │ │ │ │ │ │ │ │ │ │ ├── related.pyi │ │ │ │ │ │ │ │ │ │ │ ├── related_descriptors.pyi │ │ │ │ │ │ │ │ │ │ │ ├── related_lookups.pyi │ │ │ │ │ │ │ │ │ │ │ └── reverse_related.pyi │ │ │ │ │ │ │ │ │ │ ├── functions/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── comparison.pyi │ │ │ │ │ │ │ │ │ │ │ ├── datetime.pyi │ │ │ │ │ │ │ │ │ │ │ ├── math.pyi │ │ │ │ │ │ │ │ │ │ │ ├── mixins.pyi │ │ │ │ │ │ │ │ │ │ │ ├── text.pyi │ │ │ │ │ │ │ │ │ │ │ └── window.pyi │ │ │ │ │ │ │ │ │ │ ├── indexes.pyi │ │ │ │ │ │ │ │ │ │ ├── lookups.pyi │ │ │ │ │ │ │ │ │ │ ├── manager.pyi │ │ │ │ │ │ │ │ │ │ ├── options.pyi │ │ │ │ │ │ │ │ │ │ ├── query.pyi │ │ │ │ │ │ │ │ │ │ ├── query_utils.pyi │ │ │ │ │ │ │ │ │ │ ├── signals.pyi │ │ │ │ │ │ │ │ │ │ ├── sql/ │ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ │ ├── compiler.pyi │ │ │ │ │ │ │ │ │ │ │ ├── constants.pyi │ │ │ │ │ │ │ │ │ │ │ ├── datastructures.pyi │ │ │ │ │ │ │ │ │ │ │ ├── query.pyi │ │ │ │ │ │ │ │ │ │ │ ├── subqueries.pyi │ │ │ │ │ │ │ │ │ │ │ └── where.pyi │ │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ │ ├── transaction.pyi │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ ├── dispatch/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── dispatcher.pyi │ │ │ │ │ │ │ │ ├── forms/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── boundfield.pyi │ │ │ │ │ │ │ │ │ ├── fields.pyi │ │ │ │ │ │ │ │ │ ├── forms.pyi │ │ │ │ │ │ │ │ │ ├── formsets.pyi │ │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ │ ├── renderers.pyi │ │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ │ └── widgets.pyi │ │ │ │ │ │ │ │ ├── http/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── cookie.pyi │ │ │ │ │ │ │ │ │ ├── multipartparser.pyi │ │ │ │ │ │ │ │ │ ├── request.pyi │ │ │ │ │ │ │ │ │ └── response.pyi │ │ │ │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── cache.pyi │ │ │ │ │ │ │ │ │ ├── clickjacking.pyi │ │ │ │ │ │ │ │ │ ├── common.pyi │ │ │ │ │ │ │ │ │ ├── csrf.pyi │ │ │ │ │ │ │ │ │ ├── gzip.pyi │ │ │ │ │ │ │ │ │ ├── http.pyi │ │ │ │ │ │ │ │ │ ├── locale.pyi │ │ │ │ │ │ │ │ │ └── security.pyi │ │ │ │ │ │ │ │ ├── shortcuts.pyi │ │ │ │ │ │ │ │ ├── template/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── backends/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── django.pyi │ │ │ │ │ │ │ │ │ │ ├── dummy.pyi │ │ │ │ │ │ │ │ │ │ ├── jinja2.pyi │ │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ ├── context.pyi │ │ │ │ │ │ │ │ │ ├── context_processors.pyi │ │ │ │ │ │ │ │ │ ├── defaultfilters.pyi │ │ │ │ │ │ │ │ │ ├── defaulttags.pyi │ │ │ │ │ │ │ │ │ ├── engine.pyi │ │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ │ ├── library.pyi │ │ │ │ │ │ │ │ │ ├── loader.pyi │ │ │ │ │ │ │ │ │ ├── loader_tags.pyi │ │ │ │ │ │ │ │ │ ├── loaders/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── app_directories.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── cached.pyi │ │ │ │ │ │ │ │ │ │ ├── filesystem.pyi │ │ │ │ │ │ │ │ │ │ └── locmem.pyi │ │ │ │ │ │ │ │ │ ├── response.pyi │ │ │ │ │ │ │ │ │ ├── smartif.pyi │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ ├── templatetags/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── cache.pyi │ │ │ │ │ │ │ │ │ ├── i18n.pyi │ │ │ │ │ │ │ │ │ ├── l10n.pyi │ │ │ │ │ │ │ │ │ ├── static.pyi │ │ │ │ │ │ │ │ │ └── tz.pyi │ │ │ │ │ │ │ │ ├── test/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── client.pyi │ │ │ │ │ │ │ │ │ ├── html.pyi │ │ │ │ │ │ │ │ │ ├── runner.pyi │ │ │ │ │ │ │ │ │ ├── selenium.pyi │ │ │ │ │ │ │ │ │ ├── signals.pyi │ │ │ │ │ │ │ │ │ ├── testcases.pyi │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ ├── urls/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ ├── conf.pyi │ │ │ │ │ │ │ │ │ ├── converters.pyi │ │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ │ ├── resolvers.pyi │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── _os.pyi │ │ │ │ │ │ │ │ │ ├── archive.pyi │ │ │ │ │ │ │ │ │ ├── autoreload.pyi │ │ │ │ │ │ │ │ │ ├── baseconv.pyi │ │ │ │ │ │ │ │ │ ├── cache.pyi │ │ │ │ │ │ │ │ │ ├── crypto.pyi │ │ │ │ │ │ │ │ │ ├── datastructures.pyi │ │ │ │ │ │ │ │ │ ├── dateformat.pyi │ │ │ │ │ │ │ │ │ ├── dateparse.pyi │ │ │ │ │ │ │ │ │ ├── dates.pyi │ │ │ │ │ │ │ │ │ ├── datetime_safe.pyi │ │ │ │ │ │ │ │ │ ├── deconstruct.pyi │ │ │ │ │ │ │ │ │ ├── decorators.pyi │ │ │ │ │ │ │ │ │ ├── deprecation.pyi │ │ │ │ │ │ │ │ │ ├── duration.pyi │ │ │ │ │ │ │ │ │ ├── encoding.pyi │ │ │ │ │ │ │ │ │ ├── feedgenerator.pyi │ │ │ │ │ │ │ │ │ ├── formats.pyi │ │ │ │ │ │ │ │ │ ├── functional.pyi │ │ │ │ │ │ │ │ │ ├── hashable.pyi │ │ │ │ │ │ │ │ │ ├── html.pyi │ │ │ │ │ │ │ │ │ ├── http.pyi │ │ │ │ │ │ │ │ │ ├── inspect.pyi │ │ │ │ │ │ │ │ │ ├── ipv6.pyi │ │ │ │ │ │ │ │ │ ├── itercompat.pyi │ │ │ │ │ │ │ │ │ ├── jslex.pyi │ │ │ │ │ │ │ │ │ ├── log.pyi │ │ │ │ │ │ │ │ │ ├── lorem_ipsum.pyi │ │ │ │ │ │ │ │ │ ├── module_loading.pyi │ │ │ │ │ │ │ │ │ ├── numberformat.pyi │ │ │ │ │ │ │ │ │ ├── regex_helper.pyi │ │ │ │ │ │ │ │ │ ├── safestring.pyi │ │ │ │ │ │ │ │ │ ├── six.pyi │ │ │ │ │ │ │ │ │ ├── termcolors.pyi │ │ │ │ │ │ │ │ │ ├── text.pyi │ │ │ │ │ │ │ │ │ ├── timesince.pyi │ │ │ │ │ │ │ │ │ ├── timezone.pyi │ │ │ │ │ │ │ │ │ ├── topological_sort.pyi │ │ │ │ │ │ │ │ │ ├── translation/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── reloader.pyi │ │ │ │ │ │ │ │ │ │ ├── template.pyi │ │ │ │ │ │ │ │ │ │ ├── trans_null.pyi │ │ │ │ │ │ │ │ │ │ └── trans_real.pyi │ │ │ │ │ │ │ │ │ ├── tree.pyi │ │ │ │ │ │ │ │ │ ├── version.pyi │ │ │ │ │ │ │ │ │ └── xmlutils.pyi │ │ │ │ │ │ │ │ └── views/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── csrf.pyi │ │ │ │ │ │ │ │ ├── debug.pyi │ │ │ │ │ │ │ │ ├── decorators/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── cache.pyi │ │ │ │ │ │ │ │ │ ├── clickjacking.pyi │ │ │ │ │ │ │ │ │ ├── csrf.pyi │ │ │ │ │ │ │ │ │ ├── debug.pyi │ │ │ │ │ │ │ │ │ ├── gzip.pyi │ │ │ │ │ │ │ │ │ ├── http.pyi │ │ │ │ │ │ │ │ │ └── vary.pyi │ │ │ │ │ │ │ │ ├── defaults.pyi │ │ │ │ │ │ │ │ ├── generic/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ ├── dates.pyi │ │ │ │ │ │ │ │ │ ├── detail.pyi │ │ │ │ │ │ │ │ │ ├── edit.pyi │ │ │ │ │ │ │ │ │ └── list.pyi │ │ │ │ │ │ │ │ ├── i18n.pyi │ │ │ │ │ │ │ │ └── static.pyi │ │ │ │ │ │ │ ├── flake8-pyi.ini │ │ │ │ │ │ │ ├── mypy.ini │ │ │ │ │ │ │ ├── mypy_django_plugin/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── django/ │ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ │ └── context.py │ │ │ │ │ │ │ │ ├── lib/ │ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ │ ├── fullnames.py │ │ │ │ │ │ │ │ │ └── helpers.py │ │ │ │ │ │ │ │ ├── main.py │ │ │ │ │ │ │ │ └── transformers/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── fields.py │ │ │ │ │ │ │ │ ├── forms.py │ │ │ │ │ │ │ │ ├── init_create.py │ │ │ │ │ │ │ │ ├── managers.py │ │ │ │ │ │ │ │ ├── meta.py │ │ │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ │ │ ├── orm_lookups.py │ │ │ │ │ │ │ │ ├── querysets.py │ │ │ │ │ │ │ │ ├── request.py │ │ │ │ │ │ │ │ └── settings.py │ │ │ │ │ │ │ ├── pyproject.toml │ │ │ │ │ │ │ ├── pytest.ini │ │ │ │ │ │ │ ├── reformat.xsh │ │ │ │ │ │ │ ├── release.xsh │ │ │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── build_import_all_test.py │ │ │ │ │ │ │ │ ├── catch_non_abstract_annotation.py │ │ │ │ │ │ │ │ ├── django_tests_settings.py │ │ │ │ │ │ │ │ ├── enabled_test_modules.py │ │ │ │ │ │ │ │ ├── mypy.ini │ │ │ │ │ │ │ │ ├── tests_extension_hook.py │ │ │ │ │ │ │ │ └── typecheck_tests.py │ │ │ │ │ │ │ ├── setup.cfg │ │ │ │ │ │ │ ├── setup.py │ │ │ │ │ │ │ └── test-data/ │ │ │ │ │ │ │ ├── plugins.ini │ │ │ │ │ │ │ └── typecheck/ │ │ │ │ │ │ │ ├── contrib/ │ │ │ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ │ │ │ └── test_options.yml │ │ │ │ │ │ │ │ └── auth/ │ │ │ │ │ │ │ │ └── test_decorators.yml │ │ │ │ │ │ │ ├── db/ │ │ │ │ │ │ │ │ └── test_transaction.yml │ │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ │ ├── test_base.yml │ │ │ │ │ │ │ │ ├── test_generic_foreign_key.yml │ │ │ │ │ │ │ │ ├── test_nullable.yml │ │ │ │ │ │ │ │ ├── test_postgres_fields.yml │ │ │ │ │ │ │ │ └── test_related.yml │ │ │ │ │ │ │ ├── managers/ │ │ │ │ │ │ │ │ ├── querysets/ │ │ │ │ │ │ │ │ │ ├── test_basic_methods.yml │ │ │ │ │ │ │ │ │ ├── test_filter.yml │ │ │ │ │ │ │ │ │ ├── test_from_queryset.yml │ │ │ │ │ │ │ │ │ ├── test_values.yml │ │ │ │ │ │ │ │ │ └── test_values_list.yml │ │ │ │ │ │ │ │ └── test_managers.yml │ │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ │ ├── test_contrib_models.yml │ │ │ │ │ │ │ │ ├── test_create.yml │ │ │ │ │ │ │ │ ├── test_extra_methods.yml │ │ │ │ │ │ │ │ ├── test_inheritance.yml │ │ │ │ │ │ │ │ ├── test_init.yml │ │ │ │ │ │ │ │ ├── test_meta_options.yml │ │ │ │ │ │ │ │ ├── test_proxy_models.yml │ │ │ │ │ │ │ │ └── test_state.yml │ │ │ │ │ │ │ ├── test/ │ │ │ │ │ │ │ │ └── test_testcase.yml │ │ │ │ │ │ │ ├── test_config.yml │ │ │ │ │ │ │ ├── test_forms.yml │ │ │ │ │ │ │ ├── test_helpers.yml │ │ │ │ │ │ │ ├── test_import_all.yml │ │ │ │ │ │ │ ├── test_request.yml │ │ │ │ │ │ │ ├── test_settings.yml │ │ │ │ │ │ │ ├── test_shortcuts.yml │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── test_decorators.yml │ │ │ │ │ │ │ └── test_functional.yml │ │ │ │ │ │ └── typeshed/ │ │ │ │ │ │ ├── .flake8 │ │ │ │ │ │ ├── .github/ │ │ │ │ │ │ │ └── workflows/ │ │ │ │ │ │ │ ├── mypy_primer.yml │ │ │ │ │ │ │ ├── mypy_primer_comment.yml │ │ │ │ │ │ │ ├── stubtest-unused-whitelist.yml │ │ │ │ │ │ │ └── tests.yml │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── pre-commit │ │ │ │ │ │ ├── pyproject.toml │ │ │ │ │ │ ├── requirements-tests-py3.txt │ │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ │ ├── generate_proto_stubs.sh │ │ │ │ │ │ │ ├── migrate_script.py │ │ │ │ │ │ │ └── update-stubtest-whitelist.py │ │ │ │ │ │ ├── stdlib/ │ │ │ │ │ │ │ ├── 2/ │ │ │ │ │ │ │ │ ├── BaseHTTPServer.pyi │ │ │ │ │ │ │ │ ├── CGIHTTPServer.pyi │ │ │ │ │ │ │ │ ├── ConfigParser.pyi │ │ │ │ │ │ │ │ ├── Cookie.pyi │ │ │ │ │ │ │ │ ├── HTMLParser.pyi │ │ │ │ │ │ │ │ ├── Queue.pyi │ │ │ │ │ │ │ │ ├── SimpleHTTPServer.pyi │ │ │ │ │ │ │ │ ├── SocketServer.pyi │ │ │ │ │ │ │ │ ├── StringIO.pyi │ │ │ │ │ │ │ │ ├── UserDict.pyi │ │ │ │ │ │ │ │ ├── UserList.pyi │ │ │ │ │ │ │ │ ├── UserString.pyi │ │ │ │ │ │ │ │ ├── __builtin__.pyi │ │ │ │ │ │ │ │ ├── _ast.pyi │ │ │ │ │ │ │ │ ├── _collections.pyi │ │ │ │ │ │ │ │ ├── _functools.pyi │ │ │ │ │ │ │ │ ├── _hotshot.pyi │ │ │ │ │ │ │ │ ├── _io.pyi │ │ │ │ │ │ │ │ ├── _json.pyi │ │ │ │ │ │ │ │ ├── _md5.pyi │ │ │ │ │ │ │ │ ├── _sha.pyi │ │ │ │ │ │ │ │ ├── _sha256.pyi │ │ │ │ │ │ │ │ ├── _sha512.pyi │ │ │ │ │ │ │ │ ├── _socket.pyi │ │ │ │ │ │ │ │ ├── _sre.pyi │ │ │ │ │ │ │ │ ├── _struct.pyi │ │ │ │ │ │ │ │ ├── _symtable.pyi │ │ │ │ │ │ │ │ ├── _threading_local.pyi │ │ │ │ │ │ │ │ ├── _winreg.pyi │ │ │ │ │ │ │ │ ├── abc.pyi │ │ │ │ │ │ │ │ ├── ast.pyi │ │ │ │ │ │ │ │ ├── atexit.pyi │ │ │ │ │ │ │ │ ├── builtins.pyi │ │ │ │ │ │ │ │ ├── cPickle.pyi │ │ │ │ │ │ │ │ ├── cStringIO.pyi │ │ │ │ │ │ │ │ ├── collections.pyi │ │ │ │ │ │ │ │ ├── commands.pyi │ │ │ │ │ │ │ │ ├── compileall.pyi │ │ │ │ │ │ │ │ ├── cookielib.pyi │ │ │ │ │ │ │ │ ├── copy_reg.pyi │ │ │ │ │ │ │ │ ├── dircache.pyi │ │ │ │ │ │ │ │ ├── distutils/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── archive_util.pyi │ │ │ │ │ │ │ │ │ ├── bcppcompiler.pyi │ │ │ │ │ │ │ │ │ ├── ccompiler.pyi │ │ │ │ │ │ │ │ │ ├── cmd.pyi │ │ │ │ │ │ │ │ │ ├── command/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_dumb.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_msi.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_packager.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_rpm.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_wininst.pyi │ │ │ │ │ │ │ │ │ │ ├── build.pyi │ │ │ │ │ │ │ │ │ │ ├── build_clib.pyi │ │ │ │ │ │ │ │ │ │ ├── build_ext.pyi │ │ │ │ │ │ │ │ │ │ ├── build_py.pyi │ │ │ │ │ │ │ │ │ │ ├── build_scripts.pyi │ │ │ │ │ │ │ │ │ │ ├── check.pyi │ │ │ │ │ │ │ │ │ │ ├── clean.pyi │ │ │ │ │ │ │ │ │ │ ├── config.pyi │ │ │ │ │ │ │ │ │ │ ├── install.pyi │ │ │ │ │ │ │ │ │ │ ├── install_data.pyi │ │ │ │ │ │ │ │ │ │ ├── install_egg_info.pyi │ │ │ │ │ │ │ │ │ │ ├── install_headers.pyi │ │ │ │ │ │ │ │ │ │ ├── install_lib.pyi │ │ │ │ │ │ │ │ │ │ ├── install_scripts.pyi │ │ │ │ │ │ │ │ │ │ ├── register.pyi │ │ │ │ │ │ │ │ │ │ ├── sdist.pyi │ │ │ │ │ │ │ │ │ │ └── upload.pyi │ │ │ │ │ │ │ │ │ ├── config.pyi │ │ │ │ │ │ │ │ │ ├── core.pyi │ │ │ │ │ │ │ │ │ ├── cygwinccompiler.pyi │ │ │ │ │ │ │ │ │ ├── debug.pyi │ │ │ │ │ │ │ │ │ ├── dep_util.pyi │ │ │ │ │ │ │ │ │ ├── dir_util.pyi │ │ │ │ │ │ │ │ │ ├── dist.pyi │ │ │ │ │ │ │ │ │ ├── emxccompiler.pyi │ │ │ │ │ │ │ │ │ ├── errors.pyi │ │ │ │ │ │ │ │ │ ├── extension.pyi │ │ │ │ │ │ │ │ │ ├── fancy_getopt.pyi │ │ │ │ │ │ │ │ │ ├── file_util.pyi │ │ │ │ │ │ │ │ │ ├── filelist.pyi │ │ │ │ │ │ │ │ │ ├── log.pyi │ │ │ │ │ │ │ │ │ ├── msvccompiler.pyi │ │ │ │ │ │ │ │ │ ├── spawn.pyi │ │ │ │ │ │ │ │ │ ├── sysconfig.pyi │ │ │ │ │ │ │ │ │ ├── text_file.pyi │ │ │ │ │ │ │ │ │ ├── unixccompiler.pyi │ │ │ │ │ │ │ │ │ ├── util.pyi │ │ │ │ │ │ │ │ │ └── version.pyi │ │ │ │ │ │ │ │ ├── dummy_thread.pyi │ │ │ │ │ │ │ │ ├── email/ │ │ │ │ │ │ │ │ │ ├── MIMEText.pyi │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── _parseaddr.pyi │ │ │ │ │ │ │ │ │ ├── base64mime.pyi │ │ │ │ │ │ │ │ │ ├── charset.pyi │ │ │ │ │ │ │ │ │ ├── encoders.pyi │ │ │ │ │ │ │ │ │ ├── feedparser.pyi │ │ │ │ │ │ │ │ │ ├── generator.pyi │ │ │ │ │ │ │ │ │ ├── header.pyi │ │ │ │ │ │ │ │ │ ├── iterators.pyi │ │ │ │ │ │ │ │ │ ├── message.pyi │ │ │ │ │ │ │ │ │ ├── mime/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── application.pyi │ │ │ │ │ │ │ │ │ │ ├── audio.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── image.pyi │ │ │ │ │ │ │ │ │ │ ├── message.pyi │ │ │ │ │ │ │ │ │ │ ├── multipart.pyi │ │ │ │ │ │ │ │ │ │ ├── nonmultipart.pyi │ │ │ │ │ │ │ │ │ │ └── text.pyi │ │ │ │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ │ │ │ ├── quoprimime.pyi │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ ├── encodings/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── utf_8.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ ├── fcntl.pyi │ │ │ │ │ │ │ │ ├── fnmatch.pyi │ │ │ │ │ │ │ │ ├── functools.pyi │ │ │ │ │ │ │ │ ├── future_builtins.pyi │ │ │ │ │ │ │ │ ├── gc.pyi │ │ │ │ │ │ │ │ ├── getopt.pyi │ │ │ │ │ │ │ │ ├── getpass.pyi │ │ │ │ │ │ │ │ ├── gettext.pyi │ │ │ │ │ │ │ │ ├── glob.pyi │ │ │ │ │ │ │ │ ├── gzip.pyi │ │ │ │ │ │ │ │ ├── hashlib.pyi │ │ │ │ │ │ │ │ ├── heapq.pyi │ │ │ │ │ │ │ │ ├── htmlentitydefs.pyi │ │ │ │ │ │ │ │ ├── httplib.pyi │ │ │ │ │ │ │ │ ├── imp.pyi │ │ │ │ │ │ │ │ ├── importlib.pyi │ │ │ │ │ │ │ │ ├── inspect.pyi │ │ │ │ │ │ │ │ ├── io.pyi │ │ │ │ │ │ │ │ ├── itertools.pyi │ │ │ │ │ │ │ │ ├── json.pyi │ │ │ │ │ │ │ │ ├── markupbase.pyi │ │ │ │ │ │ │ │ ├── md5.pyi │ │ │ │ │ │ │ │ ├── mimetools.pyi │ │ │ │ │ │ │ │ ├── multiprocessing/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── dummy/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── connection.pyi │ │ │ │ │ │ │ │ │ ├── pool.pyi │ │ │ │ │ │ │ │ │ ├── process.pyi │ │ │ │ │ │ │ │ │ └── util.pyi │ │ │ │ │ │ │ │ ├── mutex.pyi │ │ │ │ │ │ │ │ ├── ntpath.pyi │ │ │ │ │ │ │ │ ├── nturl2path.pyi │ │ │ │ │ │ │ │ ├── os/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── path.pyi │ │ │ │ │ │ │ │ ├── os2emxpath.pyi │ │ │ │ │ │ │ │ ├── pipes.pyi │ │ │ │ │ │ │ │ ├── platform.pyi │ │ │ │ │ │ │ │ ├── popen2.pyi │ │ │ │ │ │ │ │ ├── posix.pyi │ │ │ │ │ │ │ │ ├── posixpath.pyi │ │ │ │ │ │ │ │ ├── random.pyi │ │ │ │ │ │ │ │ ├── re.pyi │ │ │ │ │ │ │ │ ├── repr.pyi │ │ │ │ │ │ │ │ ├── resource.pyi │ │ │ │ │ │ │ │ ├── rfc822.pyi │ │ │ │ │ │ │ │ ├── robotparser.pyi │ │ │ │ │ │ │ │ ├── runpy.pyi │ │ │ │ │ │ │ │ ├── sets.pyi │ │ │ │ │ │ │ │ ├── sha.pyi │ │ │ │ │ │ │ │ ├── shelve.pyi │ │ │ │ │ │ │ │ ├── shlex.pyi │ │ │ │ │ │ │ │ ├── signal.pyi │ │ │ │ │ │ │ │ ├── smtplib.pyi │ │ │ │ │ │ │ │ ├── spwd.pyi │ │ │ │ │ │ │ │ ├── sre_constants.pyi │ │ │ │ │ │ │ │ ├── sre_parse.pyi │ │ │ │ │ │ │ │ ├── stat.pyi │ │ │ │ │ │ │ │ ├── string.pyi │ │ │ │ │ │ │ │ ├── stringold.pyi │ │ │ │ │ │ │ │ ├── strop.pyi │ │ │ │ │ │ │ │ ├── subprocess.pyi │ │ │ │ │ │ │ │ ├── symbol.pyi │ │ │ │ │ │ │ │ ├── sys.pyi │ │ │ │ │ │ │ │ ├── tempfile.pyi │ │ │ │ │ │ │ │ ├── textwrap.pyi │ │ │ │ │ │ │ │ ├── thread.pyi │ │ │ │ │ │ │ │ ├── toaiff.pyi │ │ │ │ │ │ │ │ ├── tokenize.pyi │ │ │ │ │ │ │ │ ├── types.pyi │ │ │ │ │ │ │ │ ├── typing.pyi │ │ │ │ │ │ │ │ ├── unittest.pyi │ │ │ │ │ │ │ │ ├── urllib.pyi │ │ │ │ │ │ │ │ ├── urllib2.pyi │ │ │ │ │ │ │ │ ├── urlparse.pyi │ │ │ │ │ │ │ │ ├── user.pyi │ │ │ │ │ │ │ │ ├── whichdb.pyi │ │ │ │ │ │ │ │ └── xmlrpclib.pyi │ │ │ │ │ │ │ ├── 2and3/ │ │ │ │ │ │ │ │ ├── __future__.pyi │ │ │ │ │ │ │ │ ├── _bisect.pyi │ │ │ │ │ │ │ │ ├── _codecs.pyi │ │ │ │ │ │ │ │ ├── _csv.pyi │ │ │ │ │ │ │ │ ├── _curses.pyi │ │ │ │ │ │ │ │ ├── _dummy_threading.pyi │ │ │ │ │ │ │ │ ├── _heapq.pyi │ │ │ │ │ │ │ │ ├── _msi.pyi │ │ │ │ │ │ │ │ ├── _random.pyi │ │ │ │ │ │ │ │ ├── _typeshed/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── wsgi.pyi │ │ │ │ │ │ │ │ │ └── xml.pyi │ │ │ │ │ │ │ │ ├── _warnings.pyi │ │ │ │ │ │ │ │ ├── _weakref.pyi │ │ │ │ │ │ │ │ ├── _weakrefset.pyi │ │ │ │ │ │ │ │ ├── aifc.pyi │ │ │ │ │ │ │ │ ├── antigravity.pyi │ │ │ │ │ │ │ │ ├── argparse.pyi │ │ │ │ │ │ │ │ ├── array.pyi │ │ │ │ │ │ │ │ ├── asynchat.pyi │ │ │ │ │ │ │ │ ├── asyncore.pyi │ │ │ │ │ │ │ │ ├── audioop.pyi │ │ │ │ │ │ │ │ ├── base64.pyi │ │ │ │ │ │ │ │ ├── bdb.pyi │ │ │ │ │ │ │ │ ├── binascii.pyi │ │ │ │ │ │ │ │ ├── binhex.pyi │ │ │ │ │ │ │ │ ├── bisect.pyi │ │ │ │ │ │ │ │ ├── bz2.pyi │ │ │ │ │ │ │ │ ├── cProfile.pyi │ │ │ │ │ │ │ │ ├── calendar.pyi │ │ │ │ │ │ │ │ ├── cgi.pyi │ │ │ │ │ │ │ │ ├── cgitb.pyi │ │ │ │ │ │ │ │ ├── chunk.pyi │ │ │ │ │ │ │ │ ├── cmath.pyi │ │ │ │ │ │ │ │ ├── cmd.pyi │ │ │ │ │ │ │ │ ├── code.pyi │ │ │ │ │ │ │ │ ├── codecs.pyi │ │ │ │ │ │ │ │ ├── codeop.pyi │ │ │ │ │ │ │ │ ├── colorsys.pyi │ │ │ │ │ │ │ │ ├── contextlib.pyi │ │ │ │ │ │ │ │ ├── copy.pyi │ │ │ │ │ │ │ │ ├── crypt.pyi │ │ │ │ │ │ │ │ ├── csv.pyi │ │ │ │ │ │ │ │ ├── ctypes/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── util.pyi │ │ │ │ │ │ │ │ │ └── wintypes.pyi │ │ │ │ │ │ │ │ ├── curses/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── ascii.pyi │ │ │ │ │ │ │ │ │ ├── panel.pyi │ │ │ │ │ │ │ │ │ └── textpad.pyi │ │ │ │ │ │ │ │ ├── datetime.pyi │ │ │ │ │ │ │ │ ├── decimal.pyi │ │ │ │ │ │ │ │ ├── difflib.pyi │ │ │ │ │ │ │ │ ├── dis.pyi │ │ │ │ │ │ │ │ ├── doctest.pyi │ │ │ │ │ │ │ │ ├── dummy_threading.pyi │ │ │ │ │ │ │ │ ├── ensurepip/ │ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ │ ├── errno.pyi │ │ │ │ │ │ │ │ ├── filecmp.pyi │ │ │ │ │ │ │ │ ├── fileinput.pyi │ │ │ │ │ │ │ │ ├── formatter.pyi │ │ │ │ │ │ │ │ ├── fractions.pyi │ │ │ │ │ │ │ │ ├── ftplib.pyi │ │ │ │ │ │ │ │ ├── genericpath.pyi │ │ │ │ │ │ │ │ ├── grp.pyi │ │ │ │ │ │ │ │ ├── hmac.pyi │ │ │ │ │ │ │ │ ├── imaplib.pyi │ │ │ │ │ │ │ │ ├── imghdr.pyi │ │ │ │ │ │ │ │ ├── keyword.pyi │ │ │ │ │ │ │ │ ├── lib2to3/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── pgen2/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── driver.pyi │ │ │ │ │ │ │ │ │ │ ├── grammar.pyi │ │ │ │ │ │ │ │ │ │ ├── literals.pyi │ │ │ │ │ │ │ │ │ │ ├── parse.pyi │ │ │ │ │ │ │ │ │ │ ├── pgen.pyi │ │ │ │ │ │ │ │ │ │ ├── token.pyi │ │ │ │ │ │ │ │ │ │ └── tokenize.pyi │ │ │ │ │ │ │ │ │ ├── pygram.pyi │ │ │ │ │ │ │ │ │ └── pytree.pyi │ │ │ │ │ │ │ │ ├── linecache.pyi │ │ │ │ │ │ │ │ ├── locale.pyi │ │ │ │ │ │ │ │ ├── logging/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── config.pyi │ │ │ │ │ │ │ │ │ └── handlers.pyi │ │ │ │ │ │ │ │ ├── macpath.pyi │ │ │ │ │ │ │ │ ├── mailbox.pyi │ │ │ │ │ │ │ │ ├── mailcap.pyi │ │ │ │ │ │ │ │ ├── marshal.pyi │ │ │ │ │ │ │ │ ├── math.pyi │ │ │ │ │ │ │ │ ├── mimetypes.pyi │ │ │ │ │ │ │ │ ├── mmap.pyi │ │ │ │ │ │ │ │ ├── modulefinder.pyi │ │ │ │ │ │ │ │ ├── msilib/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── schema.pyi │ │ │ │ │ │ │ │ │ ├── sequence.pyi │ │ │ │ │ │ │ │ │ └── text.pyi │ │ │ │ │ │ │ │ ├── msvcrt.pyi │ │ │ │ │ │ │ │ ├── netrc.pyi │ │ │ │ │ │ │ │ ├── nis.pyi │ │ │ │ │ │ │ │ ├── numbers.pyi │ │ │ │ │ │ │ │ ├── opcode.pyi │ │ │ │ │ │ │ │ ├── operator.pyi │ │ │ │ │ │ │ │ ├── optparse.pyi │ │ │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ │ │ ├── pdb.pyi │ │ │ │ │ │ │ │ ├── pickle.pyi │ │ │ │ │ │ │ │ ├── pickletools.pyi │ │ │ │ │ │ │ │ ├── pkgutil.pyi │ │ │ │ │ │ │ │ ├── plistlib.pyi │ │ │ │ │ │ │ │ ├── poplib.pyi │ │ │ │ │ │ │ │ ├── pprint.pyi │ │ │ │ │ │ │ │ ├── profile.pyi │ │ │ │ │ │ │ │ ├── pstats.pyi │ │ │ │ │ │ │ │ ├── pty.pyi │ │ │ │ │ │ │ │ ├── pwd.pyi │ │ │ │ │ │ │ │ ├── py_compile.pyi │ │ │ │ │ │ │ │ ├── pyclbr.pyi │ │ │ │ │ │ │ │ ├── pydoc.pyi │ │ │ │ │ │ │ │ ├── pydoc_data/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── topics.pyi │ │ │ │ │ │ │ │ ├── pyexpat/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── errors.pyi │ │ │ │ │ │ │ │ │ └── model.pyi │ │ │ │ │ │ │ │ ├── quopri.pyi │ │ │ │ │ │ │ │ ├── readline.pyi │ │ │ │ │ │ │ │ ├── rlcompleter.pyi │ │ │ │ │ │ │ │ ├── sched.pyi │ │ │ │ │ │ │ │ ├── select.pyi │ │ │ │ │ │ │ │ ├── shutil.pyi │ │ │ │ │ │ │ │ ├── site.pyi │ │ │ │ │ │ │ │ ├── smtpd.pyi │ │ │ │ │ │ │ │ ├── sndhdr.pyi │ │ │ │ │ │ │ │ ├── socket.pyi │ │ │ │ │ │ │ │ ├── sqlite3/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── dbapi2.pyi │ │ │ │ │ │ │ │ ├── sre_compile.pyi │ │ │ │ │ │ │ │ ├── ssl.pyi │ │ │ │ │ │ │ │ ├── stringprep.pyi │ │ │ │ │ │ │ │ ├── struct.pyi │ │ │ │ │ │ │ │ ├── sunau.pyi │ │ │ │ │ │ │ │ ├── symtable.pyi │ │ │ │ │ │ │ │ ├── sysconfig.pyi │ │ │ │ │ │ │ │ ├── syslog.pyi │ │ │ │ │ │ │ │ ├── tabnanny.pyi │ │ │ │ │ │ │ │ ├── tarfile.pyi │ │ │ │ │ │ │ │ ├── telnetlib.pyi │ │ │ │ │ │ │ │ ├── termios.pyi │ │ │ │ │ │ │ │ ├── this.pyi │ │ │ │ │ │ │ │ ├── threading.pyi │ │ │ │ │ │ │ │ ├── time.pyi │ │ │ │ │ │ │ │ ├── timeit.pyi │ │ │ │ │ │ │ │ ├── token.pyi │ │ │ │ │ │ │ │ ├── trace.pyi │ │ │ │ │ │ │ │ ├── traceback.pyi │ │ │ │ │ │ │ │ ├── tty.pyi │ │ │ │ │ │ │ │ ├── turtle.pyi │ │ │ │ │ │ │ │ ├── unicodedata.pyi │ │ │ │ │ │ │ │ ├── uu.pyi │ │ │ │ │ │ │ │ ├── uuid.pyi │ │ │ │ │ │ │ │ ├── warnings.pyi │ │ │ │ │ │ │ │ ├── wave.pyi │ │ │ │ │ │ │ │ ├── weakref.pyi │ │ │ │ │ │ │ │ ├── webbrowser.pyi │ │ │ │ │ │ │ │ ├── winsound.pyi │ │ │ │ │ │ │ │ ├── wsgiref/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── handlers.pyi │ │ │ │ │ │ │ │ │ ├── headers.pyi │ │ │ │ │ │ │ │ │ ├── simple_server.pyi │ │ │ │ │ │ │ │ │ ├── types.pyi │ │ │ │ │ │ │ │ │ ├── util.pyi │ │ │ │ │ │ │ │ │ └── validate.pyi │ │ │ │ │ │ │ │ ├── xdrlib.pyi │ │ │ │ │ │ │ │ ├── xml/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── dom/ │ │ │ │ │ │ │ │ │ │ ├── NodeFilter.pyi │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── domreg.pyi │ │ │ │ │ │ │ │ │ │ ├── expatbuilder.pyi │ │ │ │ │ │ │ │ │ │ ├── minicompat.pyi │ │ │ │ │ │ │ │ │ │ ├── minidom.pyi │ │ │ │ │ │ │ │ │ │ ├── pulldom.pyi │ │ │ │ │ │ │ │ │ │ └── xmlbuilder.pyi │ │ │ │ │ │ │ │ │ ├── etree/ │ │ │ │ │ │ │ │ │ │ ├── ElementInclude.pyi │ │ │ │ │ │ │ │ │ │ ├── ElementPath.pyi │ │ │ │ │ │ │ │ │ │ ├── ElementTree.pyi │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── cElementTree.pyi │ │ │ │ │ │ │ │ │ ├── parsers/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── expat/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── errors.pyi │ │ │ │ │ │ │ │ │ │ └── model.pyi │ │ │ │ │ │ │ │ │ └── sax/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── handler.pyi │ │ │ │ │ │ │ │ │ ├── saxutils.pyi │ │ │ │ │ │ │ │ │ └── xmlreader.pyi │ │ │ │ │ │ │ │ ├── zipfile.pyi │ │ │ │ │ │ │ │ ├── zipimport.pyi │ │ │ │ │ │ │ │ └── zlib.pyi │ │ │ │ │ │ │ ├── 3/ │ │ │ │ │ │ │ │ ├── _ast.pyi │ │ │ │ │ │ │ │ ├── _bootlocale.pyi │ │ │ │ │ │ │ │ ├── _compat_pickle.pyi │ │ │ │ │ │ │ │ ├── _compression.pyi │ │ │ │ │ │ │ │ ├── _decimal.pyi │ │ │ │ │ │ │ │ ├── _dummy_thread.pyi │ │ │ │ │ │ │ │ ├── _imp.pyi │ │ │ │ │ │ │ │ ├── _importlib_modulespec.pyi │ │ │ │ │ │ │ │ ├── _json.pyi │ │ │ │ │ │ │ │ ├── _markupbase.pyi │ │ │ │ │ │ │ │ ├── _operator.pyi │ │ │ │ │ │ │ │ ├── _osx_support.pyi │ │ │ │ │ │ │ │ ├── _posixsubprocess.pyi │ │ │ │ │ │ │ │ ├── _pydecimal.pyi │ │ │ │ │ │ │ │ ├── _sitebuiltins.pyi │ │ │ │ │ │ │ │ ├── _stat.pyi │ │ │ │ │ │ │ │ ├── _thread.pyi │ │ │ │ │ │ │ │ ├── _threading_local.pyi │ │ │ │ │ │ │ │ ├── _tkinter.pyi │ │ │ │ │ │ │ │ ├── _tracemalloc.pyi │ │ │ │ │ │ │ │ ├── _winapi.pyi │ │ │ │ │ │ │ │ ├── abc.pyi │ │ │ │ │ │ │ │ ├── ast.pyi │ │ │ │ │ │ │ │ ├── asyncio/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── base_events.pyi │ │ │ │ │ │ │ │ │ ├── base_futures.pyi │ │ │ │ │ │ │ │ │ ├── base_subprocess.pyi │ │ │ │ │ │ │ │ │ ├── base_tasks.pyi │ │ │ │ │ │ │ │ │ ├── compat.pyi │ │ │ │ │ │ │ │ │ ├── constants.pyi │ │ │ │ │ │ │ │ │ ├── coroutines.pyi │ │ │ │ │ │ │ │ │ ├── events.pyi │ │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ │ ├── format_helpers.pyi │ │ │ │ │ │ │ │ │ ├── futures.pyi │ │ │ │ │ │ │ │ │ ├── locks.pyi │ │ │ │ │ │ │ │ │ ├── log.pyi │ │ │ │ │ │ │ │ │ ├── proactor_events.pyi │ │ │ │ │ │ │ │ │ ├── protocols.pyi │ │ │ │ │ │ │ │ │ ├── queues.pyi │ │ │ │ │ │ │ │ │ ├── runners.pyi │ │ │ │ │ │ │ │ │ ├── selector_events.pyi │ │ │ │ │ │ │ │ │ ├── sslproto.pyi │ │ │ │ │ │ │ │ │ ├── staggered.pyi │ │ │ │ │ │ │ │ │ ├── streams.pyi │ │ │ │ │ │ │ │ │ ├── subprocess.pyi │ │ │ │ │ │ │ │ │ ├── tasks.pyi │ │ │ │ │ │ │ │ │ ├── threads.pyi │ │ │ │ │ │ │ │ │ ├── transports.pyi │ │ │ │ │ │ │ │ │ ├── trsock.pyi │ │ │ │ │ │ │ │ │ ├── unix_events.pyi │ │ │ │ │ │ │ │ │ ├── windows_events.pyi │ │ │ │ │ │ │ │ │ └── windows_utils.pyi │ │ │ │ │ │ │ │ ├── atexit.pyi │ │ │ │ │ │ │ │ ├── builtins.pyi │ │ │ │ │ │ │ │ ├── collections/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── abc.pyi │ │ │ │ │ │ │ │ ├── compileall.pyi │ │ │ │ │ │ │ │ ├── concurrent/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── futures/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── _base.pyi │ │ │ │ │ │ │ │ │ ├── process.pyi │ │ │ │ │ │ │ │ │ └── thread.pyi │ │ │ │ │ │ │ │ ├── configparser.pyi │ │ │ │ │ │ │ │ ├── copyreg.pyi │ │ │ │ │ │ │ │ ├── dbm/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── dumb.pyi │ │ │ │ │ │ │ │ │ ├── gnu.pyi │ │ │ │ │ │ │ │ │ └── ndbm.pyi │ │ │ │ │ │ │ │ ├── distutils/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── archive_util.pyi │ │ │ │ │ │ │ │ │ ├── bcppcompiler.pyi │ │ │ │ │ │ │ │ │ ├── ccompiler.pyi │ │ │ │ │ │ │ │ │ ├── cmd.pyi │ │ │ │ │ │ │ │ │ ├── command/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_dumb.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_msi.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_packager.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_rpm.pyi │ │ │ │ │ │ │ │ │ │ ├── bdist_wininst.pyi │ │ │ │ │ │ │ │ │ │ ├── build.pyi │ │ │ │ │ │ │ │ │ │ ├── build_clib.pyi │ │ │ │ │ │ │ │ │ │ ├── build_ext.pyi │ │ │ │ │ │ │ │ │ │ ├── build_py.pyi │ │ │ │ │ │ │ │ │ │ ├── build_scripts.pyi │ │ │ │ │ │ │ │ │ │ ├── check.pyi │ │ │ │ │ │ │ │ │ │ ├── clean.pyi │ │ │ │ │ │ │ │ │ │ ├── config.pyi │ │ │ │ │ │ │ │ │ │ ├── install.pyi │ │ │ │ │ │ │ │ │ │ ├── install_data.pyi │ │ │ │ │ │ │ │ │ │ ├── install_egg_info.pyi │ │ │ │ │ │ │ │ │ │ ├── install_headers.pyi │ │ │ │ │ │ │ │ │ │ ├── install_lib.pyi │ │ │ │ │ │ │ │ │ │ ├── install_scripts.pyi │ │ │ │ │ │ │ │ │ │ ├── register.pyi │ │ │ │ │ │ │ │ │ │ ├── sdist.pyi │ │ │ │ │ │ │ │ │ │ └── upload.pyi │ │ │ │ │ │ │ │ │ ├── config.pyi │ │ │ │ │ │ │ │ │ ├── core.pyi │ │ │ │ │ │ │ │ │ ├── cygwinccompiler.pyi │ │ │ │ │ │ │ │ │ ├── debug.pyi │ │ │ │ │ │ │ │ │ ├── dep_util.pyi │ │ │ │ │ │ │ │ │ ├── dir_util.pyi │ │ │ │ │ │ │ │ │ ├── dist.pyi │ │ │ │ │ │ │ │ │ ├── errors.pyi │ │ │ │ │ │ │ │ │ ├── extension.pyi │ │ │ │ │ │ │ │ │ ├── fancy_getopt.pyi │ │ │ │ │ │ │ │ │ ├── file_util.pyi │ │ │ │ │ │ │ │ │ ├── filelist.pyi │ │ │ │ │ │ │ │ │ ├── log.pyi │ │ │ │ │ │ │ │ │ ├── msvccompiler.pyi │ │ │ │ │ │ │ │ │ ├── spawn.pyi │ │ │ │ │ │ │ │ │ ├── sysconfig.pyi │ │ │ │ │ │ │ │ │ ├── text_file.pyi │ │ │ │ │ │ │ │ │ ├── unixccompiler.pyi │ │ │ │ │ │ │ │ │ ├── util.pyi │ │ │ │ │ │ │ │ │ └── version.pyi │ │ │ │ │ │ │ │ ├── email/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── charset.pyi │ │ │ │ │ │ │ │ │ ├── contentmanager.pyi │ │ │ │ │ │ │ │ │ ├── encoders.pyi │ │ │ │ │ │ │ │ │ ├── errors.pyi │ │ │ │ │ │ │ │ │ ├── feedparser.pyi │ │ │ │ │ │ │ │ │ ├── generator.pyi │ │ │ │ │ │ │ │ │ ├── header.pyi │ │ │ │ │ │ │ │ │ ├── headerregistry.pyi │ │ │ │ │ │ │ │ │ ├── iterators.pyi │ │ │ │ │ │ │ │ │ ├── message.pyi │ │ │ │ │ │ │ │ │ ├── mime/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── application.pyi │ │ │ │ │ │ │ │ │ │ ├── audio.pyi │ │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ │ ├── image.pyi │ │ │ │ │ │ │ │ │ │ ├── message.pyi │ │ │ │ │ │ │ │ │ │ ├── multipart.pyi │ │ │ │ │ │ │ │ │ │ ├── nonmultipart.pyi │ │ │ │ │ │ │ │ │ │ └── text.pyi │ │ │ │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ │ │ │ ├── policy.pyi │ │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ │ ├── encodings/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── utf_8.pyi │ │ │ │ │ │ │ │ ├── enum.pyi │ │ │ │ │ │ │ │ ├── faulthandler.pyi │ │ │ │ │ │ │ │ ├── fcntl.pyi │ │ │ │ │ │ │ │ ├── fnmatch.pyi │ │ │ │ │ │ │ │ ├── functools.pyi │ │ │ │ │ │ │ │ ├── gc.pyi │ │ │ │ │ │ │ │ ├── getopt.pyi │ │ │ │ │ │ │ │ ├── getpass.pyi │ │ │ │ │ │ │ │ ├── gettext.pyi │ │ │ │ │ │ │ │ ├── glob.pyi │ │ │ │ │ │ │ │ ├── gzip.pyi │ │ │ │ │ │ │ │ ├── hashlib.pyi │ │ │ │ │ │ │ │ ├── heapq.pyi │ │ │ │ │ │ │ │ ├── html/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── entities.pyi │ │ │ │ │ │ │ │ │ └── parser.pyi │ │ │ │ │ │ │ │ ├── http/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── client.pyi │ │ │ │ │ │ │ │ │ ├── cookiejar.pyi │ │ │ │ │ │ │ │ │ ├── cookies.pyi │ │ │ │ │ │ │ │ │ └── server.pyi │ │ │ │ │ │ │ │ ├── imp.pyi │ │ │ │ │ │ │ │ ├── importlib/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── abc.pyi │ │ │ │ │ │ │ │ │ ├── machinery.pyi │ │ │ │ │ │ │ │ │ ├── metadata.pyi │ │ │ │ │ │ │ │ │ ├── resources.pyi │ │ │ │ │ │ │ │ │ └── util.pyi │ │ │ │ │ │ │ │ ├── inspect.pyi │ │ │ │ │ │ │ │ ├── io.pyi │ │ │ │ │ │ │ │ ├── ipaddress.pyi │ │ │ │ │ │ │ │ ├── itertools.pyi │ │ │ │ │ │ │ │ ├── json/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── decoder.pyi │ │ │ │ │ │ │ │ │ ├── encoder.pyi │ │ │ │ │ │ │ │ │ └── tool.pyi │ │ │ │ │ │ │ │ ├── lzma.pyi │ │ │ │ │ │ │ │ ├── macurl2path.pyi │ │ │ │ │ │ │ │ ├── multiprocessing/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── connection.pyi │ │ │ │ │ │ │ │ │ ├── context.pyi │ │ │ │ │ │ │ │ │ ├── dummy/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── connection.pyi │ │ │ │ │ │ │ │ │ ├── managers.pyi │ │ │ │ │ │ │ │ │ ├── pool.pyi │ │ │ │ │ │ │ │ │ ├── process.pyi │ │ │ │ │ │ │ │ │ ├── queues.pyi │ │ │ │ │ │ │ │ │ ├── shared_memory.pyi │ │ │ │ │ │ │ │ │ ├── sharedctypes.pyi │ │ │ │ │ │ │ │ │ ├── spawn.pyi │ │ │ │ │ │ │ │ │ └── synchronize.pyi │ │ │ │ │ │ │ │ ├── nntplib.pyi │ │ │ │ │ │ │ │ ├── ntpath.pyi │ │ │ │ │ │ │ │ ├── nturl2path.pyi │ │ │ │ │ │ │ │ ├── os/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── path.pyi │ │ │ │ │ │ │ │ ├── pathlib.pyi │ │ │ │ │ │ │ │ ├── pipes.pyi │ │ │ │ │ │ │ │ ├── platform.pyi │ │ │ │ │ │ │ │ ├── posix.pyi │ │ │ │ │ │ │ │ ├── posixpath.pyi │ │ │ │ │ │ │ │ ├── queue.pyi │ │ │ │ │ │ │ │ ├── random.pyi │ │ │ │ │ │ │ │ ├── re.pyi │ │ │ │ │ │ │ │ ├── reprlib.pyi │ │ │ │ │ │ │ │ ├── resource.pyi │ │ │ │ │ │ │ │ ├── runpy.pyi │ │ │ │ │ │ │ │ ├── secrets.pyi │ │ │ │ │ │ │ │ ├── selectors.pyi │ │ │ │ │ │ │ │ ├── shelve.pyi │ │ │ │ │ │ │ │ ├── shlex.pyi │ │ │ │ │ │ │ │ ├── signal.pyi │ │ │ │ │ │ │ │ ├── smtplib.pyi │ │ │ │ │ │ │ │ ├── socketserver.pyi │ │ │ │ │ │ │ │ ├── spwd.pyi │ │ │ │ │ │ │ │ ├── sre_constants.pyi │ │ │ │ │ │ │ │ ├── sre_parse.pyi │ │ │ │ │ │ │ │ ├── stat.pyi │ │ │ │ │ │ │ │ ├── statistics.pyi │ │ │ │ │ │ │ │ ├── string.pyi │ │ │ │ │ │ │ │ ├── subprocess.pyi │ │ │ │ │ │ │ │ ├── symbol.pyi │ │ │ │ │ │ │ │ ├── sys.pyi │ │ │ │ │ │ │ │ ├── tempfile.pyi │ │ │ │ │ │ │ │ ├── textwrap.pyi │ │ │ │ │ │ │ │ ├── tkinter/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── commondialog.pyi │ │ │ │ │ │ │ │ │ ├── constants.pyi │ │ │ │ │ │ │ │ │ ├── dialog.pyi │ │ │ │ │ │ │ │ │ ├── filedialog.pyi │ │ │ │ │ │ │ │ │ ├── font.pyi │ │ │ │ │ │ │ │ │ ├── messagebox.pyi │ │ │ │ │ │ │ │ │ └── ttk.pyi │ │ │ │ │ │ │ │ ├── tokenize.pyi │ │ │ │ │ │ │ │ ├── tracemalloc.pyi │ │ │ │ │ │ │ │ ├── types.pyi │ │ │ │ │ │ │ │ ├── typing.pyi │ │ │ │ │ │ │ │ ├── unittest/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── async_case.pyi │ │ │ │ │ │ │ │ │ ├── case.pyi │ │ │ │ │ │ │ │ │ ├── loader.pyi │ │ │ │ │ │ │ │ │ ├── main.pyi │ │ │ │ │ │ │ │ │ ├── mock.pyi │ │ │ │ │ │ │ │ │ ├── result.pyi │ │ │ │ │ │ │ │ │ ├── runner.pyi │ │ │ │ │ │ │ │ │ ├── signals.pyi │ │ │ │ │ │ │ │ │ ├── suite.pyi │ │ │ │ │ │ │ │ │ └── util.pyi │ │ │ │ │ │ │ │ ├── urllib/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── error.pyi │ │ │ │ │ │ │ │ │ ├── parse.pyi │ │ │ │ │ │ │ │ │ ├── request.pyi │ │ │ │ │ │ │ │ │ ├── response.pyi │ │ │ │ │ │ │ │ │ └── robotparser.pyi │ │ │ │ │ │ │ │ ├── venv/ │ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ │ ├── winreg.pyi │ │ │ │ │ │ │ │ ├── xmlrpc/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── client.pyi │ │ │ │ │ │ │ │ │ └── server.pyi │ │ │ │ │ │ │ │ ├── xxlimited.pyi │ │ │ │ │ │ │ │ └── zipapp.pyi │ │ │ │ │ │ │ ├── 3.7/ │ │ │ │ │ │ │ │ ├── _py_abc.pyi │ │ │ │ │ │ │ │ ├── contextvars.pyi │ │ │ │ │ │ │ │ └── dataclasses.pyi │ │ │ │ │ │ │ └── 3.9/ │ │ │ │ │ │ │ ├── graphlib.pyi │ │ │ │ │ │ │ └── zoneinfo/ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── check_consistent.py │ │ │ │ │ │ │ ├── mypy_exclude_list.txt │ │ │ │ │ │ │ ├── mypy_self_check.py │ │ │ │ │ │ │ ├── mypy_test.py │ │ │ │ │ │ │ ├── mypy_test_suite.py │ │ │ │ │ │ │ ├── pytype_exclude_list.txt │ │ │ │ │ │ │ ├── pytype_test.py │ │ │ │ │ │ │ ├── stubtest_test.py │ │ │ │ │ │ │ ├── stubtest_unused.py │ │ │ │ │ │ │ └── stubtest_whitelists/ │ │ │ │ │ │ │ ├── linux-py36.txt │ │ │ │ │ │ │ ├── linux-py37.txt │ │ │ │ │ │ │ ├── linux-py38.txt │ │ │ │ │ │ │ ├── linux.txt │ │ │ │ │ │ │ ├── py36.txt │ │ │ │ │ │ │ ├── py37.txt │ │ │ │ │ │ │ ├── py38.txt │ │ │ │ │ │ │ ├── py39.txt │ │ │ │ │ │ │ ├── py3_common.txt │ │ │ │ │ │ │ ├── win32-py36.txt │ │ │ │ │ │ │ ├── win32-py37.txt │ │ │ │ │ │ │ ├── win32-py38.txt │ │ │ │ │ │ │ └── win32.txt │ │ │ │ │ │ └── third_party/ │ │ │ │ │ │ ├── 2/ │ │ │ │ │ │ │ ├── OpenSSL/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ └── crypto.pyi │ │ │ │ │ │ │ ├── concurrent/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ └── futures/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _base.pyi │ │ │ │ │ │ │ │ ├── process.pyi │ │ │ │ │ │ │ │ └── thread.pyi │ │ │ │ │ │ │ ├── enum.pyi │ │ │ │ │ │ │ ├── fb303/ │ │ │ │ │ │ │ │ ├── FacebookService.pyi │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ ├── ipaddress.pyi │ │ │ │ │ │ │ ├── kazoo/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── client.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ └── recipe/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ └── watchers.pyi │ │ │ │ │ │ │ ├── pathlib2.pyi │ │ │ │ │ │ │ ├── pymssql.pyi │ │ │ │ │ │ │ ├── routes/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── mapper.pyi │ │ │ │ │ │ │ │ └── util.pyi │ │ │ │ │ │ │ ├── scribe/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── scribe.pyi │ │ │ │ │ │ │ │ └── ttypes.pyi │ │ │ │ │ │ │ ├── six/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ └── moves/ │ │ │ │ │ │ │ │ ├── BaseHTTPServer.pyi │ │ │ │ │ │ │ │ ├── CGIHTTPServer.pyi │ │ │ │ │ │ │ │ ├── SimpleHTTPServer.pyi │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _dummy_thread.pyi │ │ │ │ │ │ │ │ ├── _thread.pyi │ │ │ │ │ │ │ │ ├── cPickle.pyi │ │ │ │ │ │ │ │ ├── collections_abc.pyi │ │ │ │ │ │ │ │ ├── configparser.pyi │ │ │ │ │ │ │ │ ├── email_mime_base.pyi │ │ │ │ │ │ │ │ ├── email_mime_multipart.pyi │ │ │ │ │ │ │ │ ├── email_mime_nonmultipart.pyi │ │ │ │ │ │ │ │ ├── email_mime_text.pyi │ │ │ │ │ │ │ │ ├── html_entities.pyi │ │ │ │ │ │ │ │ ├── html_parser.pyi │ │ │ │ │ │ │ │ ├── http_client.pyi │ │ │ │ │ │ │ │ ├── http_cookiejar.pyi │ │ │ │ │ │ │ │ ├── http_cookies.pyi │ │ │ │ │ │ │ │ ├── queue.pyi │ │ │ │ │ │ │ │ ├── reprlib.pyi │ │ │ │ │ │ │ │ ├── socketserver.pyi │ │ │ │ │ │ │ │ ├── urllib/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── error.pyi │ │ │ │ │ │ │ │ │ ├── parse.pyi │ │ │ │ │ │ │ │ │ ├── request.pyi │ │ │ │ │ │ │ │ │ ├── response.pyi │ │ │ │ │ │ │ │ │ └── robotparser.pyi │ │ │ │ │ │ │ │ ├── urllib_error.pyi │ │ │ │ │ │ │ │ ├── urllib_parse.pyi │ │ │ │ │ │ │ │ ├── urllib_request.pyi │ │ │ │ │ │ │ │ ├── urllib_response.pyi │ │ │ │ │ │ │ │ ├── urllib_robotparser.pyi │ │ │ │ │ │ │ │ └── xmlrpc_client.pyi │ │ │ │ │ │ │ └── tornado/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── concurrent.pyi │ │ │ │ │ │ │ ├── gen.pyi │ │ │ │ │ │ │ ├── httpclient.pyi │ │ │ │ │ │ │ ├── httpserver.pyi │ │ │ │ │ │ │ ├── httputil.pyi │ │ │ │ │ │ │ ├── ioloop.pyi │ │ │ │ │ │ │ ├── locks.pyi │ │ │ │ │ │ │ ├── netutil.pyi │ │ │ │ │ │ │ ├── process.pyi │ │ │ │ │ │ │ ├── tcpserver.pyi │ │ │ │ │ │ │ ├── testing.pyi │ │ │ │ │ │ │ ├── util.pyi │ │ │ │ │ │ │ └── web.pyi │ │ │ │ │ │ ├── 2and3/ │ │ │ │ │ │ │ ├── atomicwrites/ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ ├── attr/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _version_info.pyi │ │ │ │ │ │ │ │ ├── converters.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ ├── filters.pyi │ │ │ │ │ │ │ │ └── validators.pyi │ │ │ │ │ │ │ ├── backports/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ └── ssl_match_hostname.pyi │ │ │ │ │ │ │ ├── backports_abc.pyi │ │ │ │ │ │ │ ├── bleach/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── callbacks.pyi │ │ │ │ │ │ │ │ ├── linkifier.pyi │ │ │ │ │ │ │ │ ├── sanitizer.pyi │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ ├── boto/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── auth.pyi │ │ │ │ │ │ │ │ ├── auth_handler.pyi │ │ │ │ │ │ │ │ ├── compat.pyi │ │ │ │ │ │ │ │ ├── connection.pyi │ │ │ │ │ │ │ │ ├── ec2/ │ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ │ ├── elb/ │ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ │ ├── exception.pyi │ │ │ │ │ │ │ │ ├── kms/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ │ └── layer1.pyi │ │ │ │ │ │ │ │ ├── plugin.pyi │ │ │ │ │ │ │ │ ├── regioninfo.pyi │ │ │ │ │ │ │ │ ├── s3/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── acl.pyi │ │ │ │ │ │ │ │ │ ├── bucket.pyi │ │ │ │ │ │ │ │ │ ├── bucketlistresultset.pyi │ │ │ │ │ │ │ │ │ ├── bucketlogging.pyi │ │ │ │ │ │ │ │ │ ├── connection.pyi │ │ │ │ │ │ │ │ │ ├── cors.pyi │ │ │ │ │ │ │ │ │ ├── deletemarker.pyi │ │ │ │ │ │ │ │ │ ├── key.pyi │ │ │ │ │ │ │ │ │ ├── keyfile.pyi │ │ │ │ │ │ │ │ │ ├── lifecycle.pyi │ │ │ │ │ │ │ │ │ ├── multidelete.pyi │ │ │ │ │ │ │ │ │ ├── multipart.pyi │ │ │ │ │ │ │ │ │ ├── prefix.pyi │ │ │ │ │ │ │ │ │ ├── tagging.pyi │ │ │ │ │ │ │ │ │ ├── user.pyi │ │ │ │ │ │ │ │ │ └── website.pyi │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ ├── cachetools/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── abc.pyi │ │ │ │ │ │ │ │ ├── cache.pyi │ │ │ │ │ │ │ │ ├── decorators.pyi │ │ │ │ │ │ │ │ ├── func.pyi │ │ │ │ │ │ │ │ ├── lfu.pyi │ │ │ │ │ │ │ │ ├── lru.pyi │ │ │ │ │ │ │ │ ├── rr.pyi │ │ │ │ │ │ │ │ └── ttl.pyi │ │ │ │ │ │ │ ├── certifi.pyi │ │ │ │ │ │ │ ├── characteristic/ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ ├── chardet/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── enums.pyi │ │ │ │ │ │ │ │ ├── langbulgarianmodel.pyi │ │ │ │ │ │ │ │ ├── langcyrillicmodel.pyi │ │ │ │ │ │ │ │ ├── langgreekmodel.pyi │ │ │ │ │ │ │ │ ├── langhebrewmodel.pyi │ │ │ │ │ │ │ │ ├── langhungarianmodel.pyi │ │ │ │ │ │ │ │ ├── langthaimodel.pyi │ │ │ │ │ │ │ │ ├── langturkishmodel.pyi │ │ │ │ │ │ │ │ ├── universaldetector.pyi │ │ │ │ │ │ │ │ └── version.pyi │ │ │ │ │ │ │ ├── click/ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _termui_impl.pyi │ │ │ │ │ │ │ │ ├── core.pyi │ │ │ │ │ │ │ │ ├── decorators.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ ├── formatting.pyi │ │ │ │ │ │ │ │ ├── globals.pyi │ │ │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ │ │ ├── termui.pyi │ │ │ │ │ │ │ │ ├── testing.pyi │ │ │ │ │ │ │ │ ├── types.pyi │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ ├── croniter.pyi │ │ │ │ │ │ │ ├── cryptography/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ ├── fernet.pyi │ │ │ │ │ │ │ │ ├── hazmat/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── backends/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── interfaces.pyi │ │ │ │ │ │ │ │ │ ├── bindings/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── openssl/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── binding.pyi │ │ │ │ │ │ │ │ │ └── primitives/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── asymmetric/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── dh.pyi │ │ │ │ │ │ │ │ │ │ ├── dsa.pyi │ │ │ │ │ │ │ │ │ │ ├── ec.pyi │ │ │ │ │ │ │ │ │ │ ├── ed25519.pyi │ │ │ │ │ │ │ │ │ │ ├── ed448.pyi │ │ │ │ │ │ │ │ │ │ ├── padding.pyi │ │ │ │ │ │ │ │ │ │ ├── rsa.pyi │ │ │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ │ │ ├── x25519.pyi │ │ │ │ │ │ │ │ │ │ └── x448.pyi │ │ │ │ │ │ │ │ │ ├── ciphers/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── aead.pyi │ │ │ │ │ │ │ │ │ │ ├── algorithms.pyi │ │ │ │ │ │ │ │ │ │ └── modes.pyi │ │ │ │ │ │ │ │ │ ├── cmac.pyi │ │ │ │ │ │ │ │ │ ├── constant_time.pyi │ │ │ │ │ │ │ │ │ ├── hashes.pyi │ │ │ │ │ │ │ │ │ ├── hmac.pyi │ │ │ │ │ │ │ │ │ ├── kdf/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ ├── concatkdf.pyi │ │ │ │ │ │ │ │ │ │ ├── hkdf.pyi │ │ │ │ │ │ │ │ │ │ ├── kbkdf.pyi │ │ │ │ │ │ │ │ │ │ ├── pbkdf2.pyi │ │ │ │ │ │ │ │ │ │ ├── scrypt.pyi │ │ │ │ │ │ │ │ │ │ └── x963kdf.pyi │ │ │ │ │ │ │ │ │ ├── keywrap.pyi │ │ │ │ │ │ │ │ │ ├── padding.pyi │ │ │ │ │ │ │ │ │ ├── poly1305.pyi │ │ │ │ │ │ │ │ │ ├── serialization/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── pkcs12.pyi │ │ │ │ │ │ │ │ │ └── twofactor/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── hotp.pyi │ │ │ │ │ │ │ │ │ └── totp.pyi │ │ │ │ │ │ │ │ └── x509/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── extensions.pyi │ │ │ │ │ │ │ │ └── oid.pyi │ │ │ │ │ │ │ ├── dateparser.pyi │ │ │ │ │ │ │ ├── datetimerange/ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ ├── dateutil/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _common.pyi │ │ │ │ │ │ │ │ ├── easter.pyi │ │ │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ │ │ ├── relativedelta.pyi │ │ │ │ │ │ │ │ ├── rrule.pyi │ │ │ │ │ │ │ │ ├── tz/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── _common.pyi │ │ │ │ │ │ │ │ │ └── tz.pyi │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ ├── decorator.pyi │ │ │ │ │ │ │ ├── deprecated/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── classic.pyi │ │ │ │ │ │ │ │ └── sphinx.pyi │ │ │ │ │ │ │ ├── emoji/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── core.pyi │ │ │ │ │ │ │ │ └── unicode_codes.pyi │ │ │ │ │ │ │ ├── first.pyi │ │ │ │ │ │ │ ├── flask/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── app.pyi │ │ │ │ │ │ │ │ ├── blueprints.pyi │ │ │ │ │ │ │ │ ├── cli.pyi │ │ │ │ │ │ │ │ ├── config.pyi │ │ │ │ │ │ │ │ ├── ctx.pyi │ │ │ │ │ │ │ │ ├── debughelpers.pyi │ │ │ │ │ │ │ │ ├── globals.pyi │ │ │ │ │ │ │ │ ├── helpers.pyi │ │ │ │ │ │ │ │ ├── json/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── tag.pyi │ │ │ │ │ │ │ │ ├── logging.pyi │ │ │ │ │ │ │ │ ├── sessions.pyi │ │ │ │ │ │ │ │ ├── signals.pyi │ │ │ │ │ │ │ │ ├── templating.pyi │ │ │ │ │ │ │ │ ├── testing.pyi │ │ │ │ │ │ │ │ ├── views.pyi │ │ │ │ │ │ │ │ └── wrappers.pyi │ │ │ │ │ │ │ ├── geoip2/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── database.pyi │ │ │ │ │ │ │ │ ├── errors.pyi │ │ │ │ │ │ │ │ ├── mixins.pyi │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ └── records.pyi │ │ │ │ │ │ │ ├── gflags.pyi │ │ │ │ │ │ │ ├── google/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ └── protobuf/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── any_pb2.pyi │ │ │ │ │ │ │ │ ├── api_pb2.pyi │ │ │ │ │ │ │ │ ├── compiler/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── plugin_pb2.pyi │ │ │ │ │ │ │ │ ├── descriptor.pyi │ │ │ │ │ │ │ │ ├── descriptor_pb2.pyi │ │ │ │ │ │ │ │ ├── descriptor_pool.pyi │ │ │ │ │ │ │ │ ├── duration_pb2.pyi │ │ │ │ │ │ │ │ ├── empty_pb2.pyi │ │ │ │ │ │ │ │ ├── field_mask_pb2.pyi │ │ │ │ │ │ │ │ ├── internal/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── containers.pyi │ │ │ │ │ │ │ │ │ ├── decoder.pyi │ │ │ │ │ │ │ │ │ ├── encoder.pyi │ │ │ │ │ │ │ │ │ ├── enum_type_wrapper.pyi │ │ │ │ │ │ │ │ │ ├── extension_dict.pyi │ │ │ │ │ │ │ │ │ ├── message_listener.pyi │ │ │ │ │ │ │ │ │ ├── python_message.pyi │ │ │ │ │ │ │ │ │ ├── well_known_types.pyi │ │ │ │ │ │ │ │ │ └── wire_format.pyi │ │ │ │ │ │ │ │ ├── json_format.pyi │ │ │ │ │ │ │ │ ├── message.pyi │ │ │ │ │ │ │ │ ├── message_factory.pyi │ │ │ │ │ │ │ │ ├── reflection.pyi │ │ │ │ │ │ │ │ ├── service.pyi │ │ │ │ │ │ │ │ ├── source_context_pb2.pyi │ │ │ │ │ │ │ │ ├── struct_pb2.pyi │ │ │ │ │ │ │ │ ├── symbol_database.pyi │ │ │ │ │ │ │ │ ├── timestamp_pb2.pyi │ │ │ │ │ │ │ │ ├── type_pb2.pyi │ │ │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ │ └── wrappers_pb2.pyi │ │ │ │ │ │ │ ├── itsdangerous.pyi │ │ │ │ │ │ │ ├── jinja2/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _compat.pyi │ │ │ │ │ │ │ │ ├── _stringdefs.pyi │ │ │ │ │ │ │ │ ├── bccache.pyi │ │ │ │ │ │ │ │ ├── compiler.pyi │ │ │ │ │ │ │ │ ├── constants.pyi │ │ │ │ │ │ │ │ ├── debug.pyi │ │ │ │ │ │ │ │ ├── defaults.pyi │ │ │ │ │ │ │ │ ├── environment.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ ├── ext.pyi │ │ │ │ │ │ │ │ ├── filters.pyi │ │ │ │ │ │ │ │ ├── lexer.pyi │ │ │ │ │ │ │ │ ├── loaders.pyi │ │ │ │ │ │ │ │ ├── meta.pyi │ │ │ │ │ │ │ │ ├── nodes.pyi │ │ │ │ │ │ │ │ ├── optimizer.pyi │ │ │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ │ │ ├── runtime.pyi │ │ │ │ │ │ │ │ ├── sandbox.pyi │ │ │ │ │ │ │ │ ├── tests.pyi │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ └── visitor.pyi │ │ │ │ │ │ │ ├── markdown/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── __meta__.pyi │ │ │ │ │ │ │ │ ├── blockparser.pyi │ │ │ │ │ │ │ │ ├── blockprocessors.pyi │ │ │ │ │ │ │ │ ├── core.pyi │ │ │ │ │ │ │ │ ├── extensions/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── abbr.pyi │ │ │ │ │ │ │ │ │ ├── admonition.pyi │ │ │ │ │ │ │ │ │ ├── attr_list.pyi │ │ │ │ │ │ │ │ │ ├── codehilite.pyi │ │ │ │ │ │ │ │ │ ├── def_list.pyi │ │ │ │ │ │ │ │ │ ├── extra.pyi │ │ │ │ │ │ │ │ │ ├── fenced_code.pyi │ │ │ │ │ │ │ │ │ ├── footnotes.pyi │ │ │ │ │ │ │ │ │ ├── legacy_attrs.pyi │ │ │ │ │ │ │ │ │ ├── legacy_em.pyi │ │ │ │ │ │ │ │ │ ├── md_in_html.pyi │ │ │ │ │ │ │ │ │ ├── meta.pyi │ │ │ │ │ │ │ │ │ ├── nl2br.pyi │ │ │ │ │ │ │ │ │ ├── sane_lists.pyi │ │ │ │ │ │ │ │ │ ├── smarty.pyi │ │ │ │ │ │ │ │ │ ├── tables.pyi │ │ │ │ │ │ │ │ │ ├── toc.pyi │ │ │ │ │ │ │ │ │ └── wikilinks.pyi │ │ │ │ │ │ │ │ ├── inlinepatterns.pyi │ │ │ │ │ │ │ │ ├── pep562.pyi │ │ │ │ │ │ │ │ ├── postprocessors.pyi │ │ │ │ │ │ │ │ ├── preprocessors.pyi │ │ │ │ │ │ │ │ ├── serializers.pyi │ │ │ │ │ │ │ │ ├── treeprocessors.pyi │ │ │ │ │ │ │ │ └── util.pyi │ │ │ │ │ │ │ ├── markupsafe/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _compat.pyi │ │ │ │ │ │ │ │ ├── _constants.pyi │ │ │ │ │ │ │ │ ├── _native.pyi │ │ │ │ │ │ │ │ └── _speedups.pyi │ │ │ │ │ │ │ ├── maxminddb/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── compat.pyi │ │ │ │ │ │ │ │ ├── const.pyi │ │ │ │ │ │ │ │ ├── decoder.pyi │ │ │ │ │ │ │ │ ├── errors.pyi │ │ │ │ │ │ │ │ ├── extension.pyi │ │ │ │ │ │ │ │ └── reader.pyi │ │ │ │ │ │ │ ├── mock.pyi │ │ │ │ │ │ │ ├── mypy_extensions.pyi │ │ │ │ │ │ │ ├── nmap/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ └── nmap.pyi │ │ │ │ │ │ │ ├── paramiko/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _version.pyi │ │ │ │ │ │ │ │ ├── _winapi.pyi │ │ │ │ │ │ │ │ ├── agent.pyi │ │ │ │ │ │ │ │ ├── auth_handler.pyi │ │ │ │ │ │ │ │ ├── ber.pyi │ │ │ │ │ │ │ │ ├── buffered_pipe.pyi │ │ │ │ │ │ │ │ ├── channel.pyi │ │ │ │ │ │ │ │ ├── client.pyi │ │ │ │ │ │ │ │ ├── common.pyi │ │ │ │ │ │ │ │ ├── compress.pyi │ │ │ │ │ │ │ │ ├── config.pyi │ │ │ │ │ │ │ │ ├── dsskey.pyi │ │ │ │ │ │ │ │ ├── ecdsakey.pyi │ │ │ │ │ │ │ │ ├── ed25519key.pyi │ │ │ │ │ │ │ │ ├── file.pyi │ │ │ │ │ │ │ │ ├── hostkeys.pyi │ │ │ │ │ │ │ │ ├── kex_curve25519.pyi │ │ │ │ │ │ │ │ ├── kex_ecdh_nist.pyi │ │ │ │ │ │ │ │ ├── kex_gex.pyi │ │ │ │ │ │ │ │ ├── kex_group1.pyi │ │ │ │ │ │ │ │ ├── kex_group14.pyi │ │ │ │ │ │ │ │ ├── kex_group16.pyi │ │ │ │ │ │ │ │ ├── kex_gss.pyi │ │ │ │ │ │ │ │ ├── message.pyi │ │ │ │ │ │ │ │ ├── packet.pyi │ │ │ │ │ │ │ │ ├── pipe.pyi │ │ │ │ │ │ │ │ ├── pkey.pyi │ │ │ │ │ │ │ │ ├── primes.pyi │ │ │ │ │ │ │ │ ├── proxy.pyi │ │ │ │ │ │ │ │ ├── py3compat.pyi │ │ │ │ │ │ │ │ ├── rsakey.pyi │ │ │ │ │ │ │ │ ├── server.pyi │ │ │ │ │ │ │ │ ├── sftp.pyi │ │ │ │ │ │ │ │ ├── sftp_attr.pyi │ │ │ │ │ │ │ │ ├── sftp_client.pyi │ │ │ │ │ │ │ │ ├── sftp_file.pyi │ │ │ │ │ │ │ │ ├── sftp_handle.pyi │ │ │ │ │ │ │ │ ├── sftp_server.pyi │ │ │ │ │ │ │ │ ├── sftp_si.pyi │ │ │ │ │ │ │ │ ├── ssh_exception.pyi │ │ │ │ │ │ │ │ ├── ssh_gss.pyi │ │ │ │ │ │ │ │ ├── transport.pyi │ │ │ │ │ │ │ │ ├── util.pyi │ │ │ │ │ │ │ │ └── win_pageant.pyi │ │ │ │ │ │ │ ├── polib.pyi │ │ │ │ │ │ │ ├── pyVmomi/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── vim/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── event.pyi │ │ │ │ │ │ │ │ │ ├── fault.pyi │ │ │ │ │ │ │ │ │ ├── option.pyi │ │ │ │ │ │ │ │ │ └── view.pyi │ │ │ │ │ │ │ │ └── vmodl/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── fault.pyi │ │ │ │ │ │ │ │ └── query.pyi │ │ │ │ │ │ │ ├── pycurl.pyi │ │ │ │ │ │ │ ├── pymysql/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── charset.pyi │ │ │ │ │ │ │ │ ├── connections.pyi │ │ │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ │ │ ├── CLIENT.pyi │ │ │ │ │ │ │ │ │ ├── COMMAND.pyi │ │ │ │ │ │ │ │ │ ├── ER.pyi │ │ │ │ │ │ │ │ │ ├── FIELD_TYPE.pyi │ │ │ │ │ │ │ │ │ ├── FLAG.pyi │ │ │ │ │ │ │ │ │ ├── SERVER_STATUS.pyi │ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ │ ├── converters.pyi │ │ │ │ │ │ │ │ ├── cursors.pyi │ │ │ │ │ │ │ │ ├── err.pyi │ │ │ │ │ │ │ │ ├── times.pyi │ │ │ │ │ │ │ │ └── util.pyi │ │ │ │ │ │ │ ├── pynamodb/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── attributes.pyi │ │ │ │ │ │ │ │ ├── connection/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ │ │ ├── table.pyi │ │ │ │ │ │ │ │ │ └── util.pyi │ │ │ │ │ │ │ │ ├── constants.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ ├── indexes.pyi │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ ├── settings.pyi │ │ │ │ │ │ │ │ ├── throttle.pyi │ │ │ │ │ │ │ │ └── types.pyi │ │ │ │ │ │ │ ├── pyre_extensions.pyi │ │ │ │ │ │ │ ├── pytz/ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ ├── redis/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── client.pyi │ │ │ │ │ │ │ │ ├── connection.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── adapters.pyi │ │ │ │ │ │ │ │ ├── api.pyi │ │ │ │ │ │ │ │ ├── auth.pyi │ │ │ │ │ │ │ │ ├── compat.pyi │ │ │ │ │ │ │ │ ├── cookies.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ ├── hooks.pyi │ │ │ │ │ │ │ │ ├── models.pyi │ │ │ │ │ │ │ │ ├── packages/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ └── urllib3/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── _collections.pyi │ │ │ │ │ │ │ │ │ ├── connection.pyi │ │ │ │ │ │ │ │ │ ├── connectionpool.pyi │ │ │ │ │ │ │ │ │ ├── contrib/ │ │ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ │ ├── fields.pyi │ │ │ │ │ │ │ │ │ ├── filepost.pyi │ │ │ │ │ │ │ │ │ ├── packages/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── ssl_match_hostname/ │ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ │ └── _implementation.pyi │ │ │ │ │ │ │ │ │ ├── poolmanager.pyi │ │ │ │ │ │ │ │ │ ├── request.pyi │ │ │ │ │ │ │ │ │ ├── response.pyi │ │ │ │ │ │ │ │ │ └── util/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── connection.pyi │ │ │ │ │ │ │ │ │ ├── request.pyi │ │ │ │ │ │ │ │ │ ├── response.pyi │ │ │ │ │ │ │ │ │ ├── retry.pyi │ │ │ │ │ │ │ │ │ ├── ssl_.pyi │ │ │ │ │ │ │ │ │ ├── timeout.pyi │ │ │ │ │ │ │ │ │ └── url.pyi │ │ │ │ │ │ │ │ ├── sessions.pyi │ │ │ │ │ │ │ │ ├── status_codes.pyi │ │ │ │ │ │ │ │ ├── structures.pyi │ │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ │ ├── retry/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ └── api.pyi │ │ │ │ │ │ │ ├── simplejson/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── decoder.pyi │ │ │ │ │ │ │ │ ├── encoder.pyi │ │ │ │ │ │ │ │ └── scanner.pyi │ │ │ │ │ │ │ ├── singledispatch.pyi │ │ │ │ │ │ │ ├── slugify/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── slugify.pyi │ │ │ │ │ │ │ │ └── special.pyi │ │ │ │ │ │ │ ├── tabulate.pyi │ │ │ │ │ │ │ ├── termcolor.pyi │ │ │ │ │ │ │ ├── toml.pyi │ │ │ │ │ │ │ ├── typing_extensions.pyi │ │ │ │ │ │ │ ├── tzlocal/ │ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ │ ├── ujson.pyi │ │ │ │ │ │ │ ├── werkzeug/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── _compat.pyi │ │ │ │ │ │ │ │ ├── _internal.pyi │ │ │ │ │ │ │ │ ├── _reloader.pyi │ │ │ │ │ │ │ │ ├── contrib/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── atom.pyi │ │ │ │ │ │ │ │ │ ├── cache.pyi │ │ │ │ │ │ │ │ │ ├── fixers.pyi │ │ │ │ │ │ │ │ │ ├── iterio.pyi │ │ │ │ │ │ │ │ │ ├── jsrouting.pyi │ │ │ │ │ │ │ │ │ ├── limiter.pyi │ │ │ │ │ │ │ │ │ ├── lint.pyi │ │ │ │ │ │ │ │ │ ├── profiler.pyi │ │ │ │ │ │ │ │ │ ├── securecookie.pyi │ │ │ │ │ │ │ │ │ ├── sessions.pyi │ │ │ │ │ │ │ │ │ ├── testtools.pyi │ │ │ │ │ │ │ │ │ └── wrappers.pyi │ │ │ │ │ │ │ │ ├── datastructures.pyi │ │ │ │ │ │ │ │ ├── debug/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── console.pyi │ │ │ │ │ │ │ │ │ ├── repr.pyi │ │ │ │ │ │ │ │ │ └── tbtools.pyi │ │ │ │ │ │ │ │ ├── exceptions.pyi │ │ │ │ │ │ │ │ ├── filesystem.pyi │ │ │ │ │ │ │ │ ├── formparser.pyi │ │ │ │ │ │ │ │ ├── http.pyi │ │ │ │ │ │ │ │ ├── local.pyi │ │ │ │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ │ ├── dispatcher.pyi │ │ │ │ │ │ │ │ │ ├── http_proxy.pyi │ │ │ │ │ │ │ │ │ ├── lint.pyi │ │ │ │ │ │ │ │ │ ├── profiler.pyi │ │ │ │ │ │ │ │ │ ├── proxy_fix.pyi │ │ │ │ │ │ │ │ │ └── shared_data.pyi │ │ │ │ │ │ │ │ ├── posixemulation.pyi │ │ │ │ │ │ │ │ ├── routing.pyi │ │ │ │ │ │ │ │ ├── script.pyi │ │ │ │ │ │ │ │ ├── security.pyi │ │ │ │ │ │ │ │ ├── serving.pyi │ │ │ │ │ │ │ │ ├── test.pyi │ │ │ │ │ │ │ │ ├── testapp.pyi │ │ │ │ │ │ │ │ ├── urls.pyi │ │ │ │ │ │ │ │ ├── useragents.pyi │ │ │ │ │ │ │ │ ├── utils.pyi │ │ │ │ │ │ │ │ ├── wrappers.pyi │ │ │ │ │ │ │ │ └── wsgi.pyi │ │ │ │ │ │ │ └── yaml/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── composer.pyi │ │ │ │ │ │ │ ├── constructor.pyi │ │ │ │ │ │ │ ├── cyaml.pyi │ │ │ │ │ │ │ ├── dumper.pyi │ │ │ │ │ │ │ ├── emitter.pyi │ │ │ │ │ │ │ ├── error.pyi │ │ │ │ │ │ │ ├── events.pyi │ │ │ │ │ │ │ ├── loader.pyi │ │ │ │ │ │ │ ├── nodes.pyi │ │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ │ ├── reader.pyi │ │ │ │ │ │ │ ├── representer.pyi │ │ │ │ │ │ │ ├── resolver.pyi │ │ │ │ │ │ │ ├── scanner.pyi │ │ │ │ │ │ │ ├── serializer.pyi │ │ │ │ │ │ │ └── tokens.pyi │ │ │ │ │ │ └── 3/ │ │ │ │ │ │ ├── aiofiles/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── base.pyi │ │ │ │ │ │ │ ├── os.pyi │ │ │ │ │ │ │ └── threadpool/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── binary.pyi │ │ │ │ │ │ │ └── text.pyi │ │ │ │ │ │ ├── contextvars.pyi │ │ │ │ │ │ ├── dataclasses.pyi │ │ │ │ │ │ ├── docutils/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── examples.pyi │ │ │ │ │ │ │ ├── nodes.pyi │ │ │ │ │ │ │ └── parsers/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ └── rst/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── nodes.pyi │ │ │ │ │ │ │ ├── roles.pyi │ │ │ │ │ │ │ └── states.pyi │ │ │ │ │ │ ├── filelock/ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ ├── freezegun/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ └── api.pyi │ │ │ │ │ │ ├── frozendict.pyi │ │ │ │ │ │ ├── jwt/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── algorithms.pyi │ │ │ │ │ │ │ └── contrib/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ └── algorithms/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── py_ecdsa.pyi │ │ │ │ │ │ │ └── pycrypto.pyi │ │ │ │ │ │ ├── orjson.pyi │ │ │ │ │ │ ├── pkg_resources/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ └── py31compat.pyi │ │ │ │ │ │ ├── pyrfc3339/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── generator.pyi │ │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ │ └── utils.pyi │ │ │ │ │ │ ├── six/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ └── moves/ │ │ │ │ │ │ │ ├── BaseHTTPServer.pyi │ │ │ │ │ │ │ ├── CGIHTTPServer.pyi │ │ │ │ │ │ │ ├── SimpleHTTPServer.pyi │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── _dummy_thread.pyi │ │ │ │ │ │ │ ├── _thread.pyi │ │ │ │ │ │ │ ├── builtins.pyi │ │ │ │ │ │ │ ├── cPickle.pyi │ │ │ │ │ │ │ ├── collections_abc.pyi │ │ │ │ │ │ │ ├── configparser.pyi │ │ │ │ │ │ │ ├── email_mime_base.pyi │ │ │ │ │ │ │ ├── email_mime_multipart.pyi │ │ │ │ │ │ │ ├── email_mime_nonmultipart.pyi │ │ │ │ │ │ │ ├── email_mime_text.pyi │ │ │ │ │ │ │ ├── html_entities.pyi │ │ │ │ │ │ │ ├── html_parser.pyi │ │ │ │ │ │ │ ├── http_client.pyi │ │ │ │ │ │ │ ├── http_cookiejar.pyi │ │ │ │ │ │ │ ├── http_cookies.pyi │ │ │ │ │ │ │ ├── queue.pyi │ │ │ │ │ │ │ ├── reprlib.pyi │ │ │ │ │ │ │ ├── socketserver.pyi │ │ │ │ │ │ │ ├── tkinter.pyi │ │ │ │ │ │ │ ├── tkinter_commondialog.pyi │ │ │ │ │ │ │ ├── tkinter_constants.pyi │ │ │ │ │ │ │ ├── tkinter_dialog.pyi │ │ │ │ │ │ │ ├── tkinter_filedialog.pyi │ │ │ │ │ │ │ ├── tkinter_tkfiledialog.pyi │ │ │ │ │ │ │ ├── tkinter_ttk.pyi │ │ │ │ │ │ │ ├── urllib/ │ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ │ ├── error.pyi │ │ │ │ │ │ │ │ ├── parse.pyi │ │ │ │ │ │ │ │ ├── request.pyi │ │ │ │ │ │ │ │ ├── response.pyi │ │ │ │ │ │ │ │ └── robotparser.pyi │ │ │ │ │ │ │ ├── urllib_error.pyi │ │ │ │ │ │ │ ├── urllib_parse.pyi │ │ │ │ │ │ │ ├── urllib_request.pyi │ │ │ │ │ │ │ ├── urllib_response.pyi │ │ │ │ │ │ │ └── urllib_robotparser.pyi │ │ │ │ │ │ ├── typed_ast/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── ast27.pyi │ │ │ │ │ │ │ ├── ast3.pyi │ │ │ │ │ │ │ └── conversions.pyi │ │ │ │ │ │ └── waitress/ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ ├── adjustments.pyi │ │ │ │ │ │ ├── buffers.pyi │ │ │ │ │ │ ├── channel.pyi │ │ │ │ │ │ ├── compat.pyi │ │ │ │ │ │ ├── parser.pyi │ │ │ │ │ │ ├── proxy_headers.pyi │ │ │ │ │ │ ├── receiver.pyi │ │ │ │ │ │ ├── rfc7230.pyi │ │ │ │ │ │ ├── runner.pyi │ │ │ │ │ │ ├── server.pyi │ │ │ │ │ │ ├── task.pyi │ │ │ │ │ │ ├── trigger.pyi │ │ │ │ │ │ ├── utilities.pyi │ │ │ │ │ │ └── wasyncore.pyi │ │ │ │ │ └── utils.py │ │ │ │ ├── pytest.ini │ │ │ │ ├── scripts/ │ │ │ │ │ ├── diff_parser_profile.py │ │ │ │ │ ├── memory_check.py │ │ │ │ │ ├── profile_output.py │ │ │ │ │ ├── profiled_pytest.sh │ │ │ │ │ └── wx_check.py │ │ │ │ ├── setup.cfg │ │ │ │ ├── setup.py │ │ │ │ ├── sith.py │ │ │ │ └── test/ │ │ │ │ ├── __init__.py │ │ │ │ ├── completion/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── arrays.py │ │ │ │ │ ├── async_.py │ │ │ │ │ ├── basic.py │ │ │ │ │ ├── classes.py │ │ │ │ │ ├── completion.py │ │ │ │ │ ├── complex.py │ │ │ │ │ ├── comprehensions.py │ │ │ │ │ ├── conftest.py │ │ │ │ │ ├── context.py │ │ │ │ │ ├── decorators.py │ │ │ │ │ ├── descriptors.py │ │ │ │ │ ├── django.py │ │ │ │ │ ├── docstring.py │ │ │ │ │ ├── dynamic_arrays.py │ │ │ │ │ ├── dynamic_params.py │ │ │ │ │ ├── flow_analysis.py │ │ │ │ │ ├── fstring.py │ │ │ │ │ ├── functions.py │ │ │ │ │ ├── generators.py │ │ │ │ │ ├── goto.py │ │ │ │ │ ├── import_tree/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── classes.py │ │ │ │ │ │ ├── flow_import.py │ │ │ │ │ │ ├── globals.py │ │ │ │ │ │ ├── invisible_pkg.py │ │ │ │ │ │ ├── mod1.py │ │ │ │ │ │ ├── mod2.py │ │ │ │ │ │ ├── pkg/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ │ └── mod1.py │ │ │ │ │ │ ├── random.py │ │ │ │ │ │ ├── recurse_class1.py │ │ │ │ │ │ ├── recurse_class2.py │ │ │ │ │ │ ├── references.py │ │ │ │ │ │ ├── rename1.py │ │ │ │ │ │ └── rename2.py │ │ │ │ │ ├── imports.py │ │ │ │ │ ├── inheritance.py │ │ │ │ │ ├── invalid.py │ │ │ │ │ ├── isinstance.py │ │ │ │ │ ├── keywords.py │ │ │ │ │ ├── lambdas.py │ │ │ │ │ ├── named_expression.py │ │ │ │ │ ├── named_param.py │ │ │ │ │ ├── namespace1/ │ │ │ │ │ │ └── pkg1/ │ │ │ │ │ │ └── pkg2/ │ │ │ │ │ │ └── mod1.py │ │ │ │ │ ├── namespace2/ │ │ │ │ │ │ └── pkg1/ │ │ │ │ │ │ └── pkg2/ │ │ │ │ │ │ └── mod2.py │ │ │ │ │ ├── ns_path.py │ │ │ │ │ ├── on_import.py │ │ │ │ │ ├── ordering.py │ │ │ │ │ ├── parser.py │ │ │ │ │ ├── pep0484_basic.py │ │ │ │ │ ├── pep0484_comments.py │ │ │ │ │ ├── pep0484_generic_mismatches.py │ │ │ │ │ ├── pep0484_generic_parameters.py │ │ │ │ │ ├── pep0484_generic_passthroughs.py │ │ │ │ │ ├── pep0484_overload.py │ │ │ │ │ ├── pep0484_typing.py │ │ │ │ │ ├── pep0526_variables.py │ │ │ │ │ ├── positional_only_params.py │ │ │ │ │ ├── precedence.py │ │ │ │ │ ├── pytest.py │ │ │ │ │ ├── recursion.py │ │ │ │ │ ├── stdlib.py │ │ │ │ │ ├── stub_folder/ │ │ │ │ │ │ ├── stub_only.pyi │ │ │ │ │ │ ├── stub_only_folder/ │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── nested_stub_only.pyi │ │ │ │ │ │ │ ├── nested_with_stub.py │ │ │ │ │ │ │ ├── nested_with_stub.pyi │ │ │ │ │ │ │ └── python_only.py │ │ │ │ │ │ ├── with_stub.py │ │ │ │ │ │ ├── with_stub.pyi │ │ │ │ │ │ └── with_stub_folder/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ ├── nested_stub_only.pyi │ │ │ │ │ │ ├── nested_with_stub.py │ │ │ │ │ │ ├── nested_with_stub.pyi │ │ │ │ │ │ └── python_only.py │ │ │ │ │ ├── stubs.py │ │ │ │ │ ├── sys_path.py │ │ │ │ │ ├── thirdparty/ │ │ │ │ │ │ ├── PyQt4_.py │ │ │ │ │ │ ├── jedi_.py │ │ │ │ │ │ ├── psycopg2_.py │ │ │ │ │ │ └── pylab_.py │ │ │ │ │ ├── types.py │ │ │ │ │ └── usages.py │ │ │ │ ├── conftest.py │ │ │ │ ├── examples/ │ │ │ │ │ ├── README.rst │ │ │ │ │ ├── buildout_project/ │ │ │ │ │ │ ├── bin/ │ │ │ │ │ │ │ ├── app │ │ │ │ │ │ │ ├── binary_file │ │ │ │ │ │ │ └── empty_file │ │ │ │ │ │ ├── buildout.cfg │ │ │ │ │ │ └── src/ │ │ │ │ │ │ └── proj_name/ │ │ │ │ │ │ └── module_name.py │ │ │ │ │ ├── django/ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── models.py │ │ │ │ │ │ └── manage.py │ │ │ │ │ ├── flask-site-packages/ │ │ │ │ │ │ ├── flask/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── ext/ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ ├── flask_baz/ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ ├── flask_foo.py │ │ │ │ │ │ └── flaskext/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── bar.py │ │ │ │ │ │ └── moo/ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ ├── implicit_namespace_package/ │ │ │ │ │ │ ├── ns1/ │ │ │ │ │ │ │ └── pkg/ │ │ │ │ │ │ │ └── ns1_file.py │ │ │ │ │ │ └── ns2/ │ │ │ │ │ │ └── pkg/ │ │ │ │ │ │ └── ns2_file.py │ │ │ │ │ ├── implicit_nested_namespaces/ │ │ │ │ │ │ └── namespace/ │ │ │ │ │ │ └── pkg/ │ │ │ │ │ │ └── module.py │ │ │ │ │ ├── import-recursion/ │ │ │ │ │ │ ├── cadquery_simple/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── cq.py │ │ │ │ │ │ └── cq_example.py │ │ │ │ │ ├── inheritance/ │ │ │ │ │ │ └── pkg/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── module.py │ │ │ │ │ ├── init_extension_module/ │ │ │ │ │ │ ├── module.c │ │ │ │ │ │ └── setup.py │ │ │ │ │ ├── issue1209/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── whatever/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── api_test1.py │ │ │ │ │ │ └── whatever/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── test.py │ │ │ │ │ ├── namespace_package/ │ │ │ │ │ │ ├── ns1/ │ │ │ │ │ │ │ └── pkg/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── ns1_file.py │ │ │ │ │ │ │ └── ns1_folder/ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ └── ns2/ │ │ │ │ │ │ └── pkg/ │ │ │ │ │ │ ├── ns2_file.py │ │ │ │ │ │ └── ns2_folder/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── nested/ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ ├── namespace_package_relative_import/ │ │ │ │ │ │ ├── rel1.py │ │ │ │ │ │ └── rel2.py │ │ │ │ │ ├── nested_namespaces/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── namespace/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── pkg/ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ ├── not_in_sys_path/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── not_in_sys_path.py │ │ │ │ │ │ ├── not_in_sys_path_package/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── module.py │ │ │ │ │ │ └── pkg/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── module.py │ │ │ │ │ ├── sample_venvs/ │ │ │ │ │ │ └── pth_directory/ │ │ │ │ │ │ ├── dir-from-foo-pth/ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ ├── egg_link.egg-link │ │ │ │ │ │ ├── foo.pth │ │ │ │ │ │ ├── import_smth.pth │ │ │ │ │ │ ├── relative.egg-link │ │ │ │ │ │ └── smth.py │ │ │ │ │ ├── simple_import/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── module.py │ │ │ │ │ │ └── module2.py │ │ │ │ │ ├── speed/ │ │ │ │ │ │ └── precedence.py │ │ │ │ │ ├── stub_packages/ │ │ │ │ │ │ ├── no_python-stubs/ │ │ │ │ │ │ │ └── __init__.pyi │ │ │ │ │ │ ├── with_python/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── module.py │ │ │ │ │ │ └── with_python-stubs/ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ └── module.pyi │ │ │ │ │ └── typing_overload/ │ │ │ │ │ ├── file.py │ │ │ │ │ └── file.pyi │ │ │ │ ├── helpers.py │ │ │ │ ├── refactor/ │ │ │ │ │ ├── extract_function.py │ │ │ │ │ ├── extract_variable.py │ │ │ │ │ ├── import_tree/ │ │ │ │ │ │ ├── inline_mod.py │ │ │ │ │ │ ├── pkgx/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ │ ├── mod.pyi │ │ │ │ │ │ │ └── mod2.py │ │ │ │ │ │ └── some_mod.py │ │ │ │ │ ├── inline.py │ │ │ │ │ └── rename.py │ │ │ │ ├── refactor.py │ │ │ │ ├── run.py │ │ │ │ ├── static_analysis/ │ │ │ │ │ ├── attribute_error.py │ │ │ │ │ ├── attribute_warnings.py │ │ │ │ │ ├── branches.py │ │ │ │ │ ├── builtins.py │ │ │ │ │ ├── class_simple.py │ │ │ │ │ ├── comprehensions.py │ │ │ │ │ ├── descriptors.py │ │ │ │ │ ├── generators.py │ │ │ │ │ ├── import_tree/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── a.py │ │ │ │ │ │ └── b.py │ │ │ │ │ ├── imports.py │ │ │ │ │ ├── iterable.py │ │ │ │ │ ├── keywords.py │ │ │ │ │ ├── normal_arguments.py │ │ │ │ │ ├── operations.py │ │ │ │ │ ├── star_arguments.py │ │ │ │ │ └── try_except.py │ │ │ │ ├── test_api/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_analysis.py │ │ │ │ │ ├── test_api.py │ │ │ │ │ ├── test_api_classes_follow_definition.py │ │ │ │ │ ├── test_call_signatures.py │ │ │ │ │ ├── test_classes.py │ │ │ │ │ ├── test_completion.py │ │ │ │ │ ├── test_context.py │ │ │ │ │ ├── test_documentation.py │ │ │ │ │ ├── test_environment.py │ │ │ │ │ ├── test_full_name.py │ │ │ │ │ ├── test_interpreter.py │ │ │ │ │ ├── test_keyword.py │ │ │ │ │ ├── test_names.py │ │ │ │ │ ├── test_project.py │ │ │ │ │ ├── test_refactoring.py │ │ │ │ │ ├── test_search.py │ │ │ │ │ ├── test_settings.py │ │ │ │ │ ├── test_signatures.py │ │ │ │ │ ├── test_syntax_errors.py │ │ │ │ │ ├── test_unicode.py │ │ │ │ │ └── test_usages.py │ │ │ │ ├── test_cache.py │ │ │ │ ├── test_debug.py │ │ │ │ ├── test_file_io.py │ │ │ │ ├── test_inference/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_annotations.py │ │ │ │ │ ├── test_buildout_detection.py │ │ │ │ │ ├── test_compiled.py │ │ │ │ │ ├── test_context.py │ │ │ │ │ ├── test_docstring.py │ │ │ │ │ ├── test_extension.py │ │ │ │ │ ├── test_fstring.py │ │ │ │ │ ├── test_gradual/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── test_conversion.py │ │ │ │ │ │ ├── test_stub_loading.py │ │ │ │ │ │ ├── test_stubs.py │ │ │ │ │ │ └── test_typeshed.py │ │ │ │ │ ├── test_implicit_namespace_package.py │ │ │ │ │ ├── test_imports.py │ │ │ │ │ ├── test_literals.py │ │ │ │ │ ├── test_mixed.py │ │ │ │ │ ├── test_namespace_package.py │ │ │ │ │ ├── test_precedence.py │ │ │ │ │ ├── test_pyc.py │ │ │ │ │ ├── test_representation.py │ │ │ │ │ ├── test_signature.py │ │ │ │ │ ├── test_stdlib.py │ │ │ │ │ └── test_sys_path.py │ │ │ │ ├── test_integration.py │ │ │ │ ├── test_parso_integration/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_basic.py │ │ │ │ │ ├── test_error_correction.py │ │ │ │ │ └── test_parser_utils.py │ │ │ │ ├── test_settings.py │ │ │ │ └── test_utils.py │ │ │ ├── jedi_vim.py │ │ │ ├── jedi_vim_debug.py │ │ │ └── parso/ │ │ │ ├── .github/ │ │ │ │ └── workflows/ │ │ │ │ └── build.yml │ │ │ ├── .gitignore │ │ │ ├── AUTHORS.txt │ │ │ ├── CHANGELOG.rst │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE.txt │ │ │ ├── MANIFEST.in │ │ │ ├── README.rst │ │ │ ├── conftest.py │ │ │ ├── deploy-master.sh │ │ │ ├── docs/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── _templates/ │ │ │ │ │ ├── ghbuttons.html │ │ │ │ │ └── sidebarlogo.html │ │ │ │ ├── _themes/ │ │ │ │ │ ├── flask/ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── layout.html │ │ │ │ │ │ ├── relations.html │ │ │ │ │ │ ├── static/ │ │ │ │ │ │ │ ├── flasky.css_t │ │ │ │ │ │ │ └── small_flask.css │ │ │ │ │ │ └── theme.conf │ │ │ │ │ └── flask_theme_support.py │ │ │ │ ├── conf.py │ │ │ │ ├── docs/ │ │ │ │ │ ├── development.rst │ │ │ │ │ ├── installation.rst │ │ │ │ │ ├── parser-tree.rst │ │ │ │ │ └── usage.rst │ │ │ │ ├── global.rst │ │ │ │ └── index.rst │ │ │ ├── parso/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _compatibility.py │ │ │ │ ├── cache.py │ │ │ │ ├── file_io.py │ │ │ │ ├── grammar.py │ │ │ │ ├── normalizer.py │ │ │ │ ├── parser.py │ │ │ │ ├── pgen2/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── generator.py │ │ │ │ │ └── grammar_parser.py │ │ │ │ ├── py.typed │ │ │ │ ├── python/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── diff.py │ │ │ │ │ ├── errors.py │ │ │ │ │ ├── grammar310.txt │ │ │ │ │ ├── grammar311.txt │ │ │ │ │ ├── grammar312.txt │ │ │ │ │ ├── grammar36.txt │ │ │ │ │ ├── grammar37.txt │ │ │ │ │ ├── grammar38.txt │ │ │ │ │ ├── grammar39.txt │ │ │ │ │ ├── issue_list.txt │ │ │ │ │ ├── parser.py │ │ │ │ │ ├── pep8.py │ │ │ │ │ ├── prefix.py │ │ │ │ │ ├── token.py │ │ │ │ │ ├── tokenize.py │ │ │ │ │ └── tree.py │ │ │ │ ├── tree.py │ │ │ │ └── utils.py │ │ │ ├── pytest.ini │ │ │ ├── scripts/ │ │ │ │ └── diff_parser_profile.py │ │ │ ├── setup.cfg │ │ │ ├── setup.py │ │ │ └── test/ │ │ │ ├── __init__.py │ │ │ ├── failing_examples.py │ │ │ ├── fuzz_diff_parser.py │ │ │ ├── normalizer_issue_files/ │ │ │ │ ├── E10.py │ │ │ │ ├── E101.py │ │ │ │ ├── E11.py │ │ │ │ ├── E12_first.py │ │ │ │ ├── E12_not_first.py │ │ │ │ ├── E12_not_second.py │ │ │ │ ├── E12_second.py │ │ │ │ ├── E12_third.py │ │ │ │ ├── E20.py │ │ │ │ ├── E21.py │ │ │ │ ├── E22.py │ │ │ │ ├── E23.py │ │ │ │ ├── E25.py │ │ │ │ ├── E26.py │ │ │ │ ├── E27.py │ │ │ │ ├── E29.py │ │ │ │ ├── E30.py │ │ │ │ ├── E30not.py │ │ │ │ ├── E40.py │ │ │ │ ├── E50.py │ │ │ │ ├── E70.py │ │ │ │ ├── E71.py │ │ │ │ ├── E72.py │ │ │ │ ├── E73.py │ │ │ │ ├── LICENSE │ │ │ │ ├── allowed_syntax.py │ │ │ │ ├── latin-1.py │ │ │ │ ├── python.py │ │ │ │ ├── utf-8-bom.py │ │ │ │ └── utf-8.py │ │ │ ├── test_cache.py │ │ │ ├── test_diff_parser.py │ │ │ ├── test_dump_tree.py │ │ │ ├── test_error_recovery.py │ │ │ ├── test_file_python_errors.py │ │ │ ├── test_fstring.py │ │ │ ├── test_get_code.py │ │ │ ├── test_grammar.py │ │ │ ├── test_load_grammar.py │ │ │ ├── test_normalizer_issues_files.py │ │ │ ├── test_old_fast_parser.py │ │ │ ├── test_param_splitting.py │ │ │ ├── test_parser.py │ │ │ ├── test_parser_tree.py │ │ │ ├── test_pep8.py │ │ │ ├── test_pgen2.py │ │ │ ├── test_prefix.py │ │ │ ├── test_python_errors.py │ │ │ ├── test_tokenize.py │ │ │ └── test_utils.py │ │ ├── setup.cfg │ │ └── test/ │ │ ├── _utils.vim │ │ ├── test_integration.py │ │ ├── vimrc │ │ └── vspec/ │ │ ├── choose-venv.vim │ │ ├── completions.vim │ │ ├── completions_disabled.vim │ │ ├── documentation.vim │ │ ├── goto.vim │ │ ├── jedi_debug_info.vim │ │ ├── pyimport.vim │ │ └── signatures.vim │ ├── lspkind-nvim/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── lua/ │ │ └── lspkind/ │ │ └── init.lua │ ├── neco-syntax/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── autoload/ │ │ │ ├── cm/ │ │ │ │ └── sources/ │ │ │ │ └── necosyntax.vim │ │ │ ├── necosyntax.vim │ │ │ └── neocomplete/ │ │ │ └── sources/ │ │ │ └── syntax.vim │ │ ├── doc/ │ │ │ └── necosyntax.txt │ │ ├── plugin/ │ │ │ └── necosyntax.vim │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── deoplete/ │ │ │ └── sources/ │ │ │ └── syntax.py │ │ └── test/ │ │ └── necosyntax.vim │ ├── neo-tree.nvim/ │ │ ├── .codecov.yml │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ ├── ci.yml │ │ │ └── protect_release_branches.yml │ │ ├── .gitignore │ │ ├── .luacov │ │ ├── .luarc.json │ │ ├── .stylua.toml │ │ ├── .styluaignore │ │ ├── CONTRIBUTING.md │ │ ├── Dockerfile │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── doc/ │ │ │ └── neo-tree.txt │ │ ├── lua/ │ │ │ ├── neo-tree/ │ │ │ │ ├── collections.lua │ │ │ │ ├── command/ │ │ │ │ │ ├── completion.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ └── parser.lua │ │ │ │ ├── defaults.lua │ │ │ │ ├── events/ │ │ │ │ │ ├── init.lua │ │ │ │ │ └── queue.lua │ │ │ │ ├── git/ │ │ │ │ │ ├── ignored.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── status.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── log.lua │ │ │ │ ├── setup/ │ │ │ │ │ ├── deprecations.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── mapping-helper.lua │ │ │ │ │ └── netrw.lua │ │ │ │ ├── sources/ │ │ │ │ │ ├── buffers/ │ │ │ │ │ │ ├── commands.lua │ │ │ │ │ │ ├── components.lua │ │ │ │ │ │ ├── init.lua │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ └── items.lua │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── commands.lua │ │ │ │ │ │ ├── components.lua │ │ │ │ │ │ ├── container.lua │ │ │ │ │ │ ├── file-items.lua │ │ │ │ │ │ ├── file-nesting.lua │ │ │ │ │ │ ├── filters/ │ │ │ │ │ │ │ ├── filter_fzy.lua │ │ │ │ │ │ │ └── init.lua │ │ │ │ │ │ ├── help.lua │ │ │ │ │ │ └── preview.lua │ │ │ │ │ ├── document_symbols/ │ │ │ │ │ │ ├── commands.lua │ │ │ │ │ │ ├── components.lua │ │ │ │ │ │ ├── init.lua │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ ├── client_filters.lua │ │ │ │ │ │ ├── kinds.lua │ │ │ │ │ │ └── symbols_utils.lua │ │ │ │ │ ├── filesystem/ │ │ │ │ │ │ ├── commands.lua │ │ │ │ │ │ ├── components.lua │ │ │ │ │ │ ├── init.lua │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ ├── filter.lua │ │ │ │ │ │ ├── filter_external.lua │ │ │ │ │ │ ├── fs_actions.lua │ │ │ │ │ │ ├── fs_scan.lua │ │ │ │ │ │ ├── fs_watch.lua │ │ │ │ │ │ └── globtopattern.lua │ │ │ │ │ ├── git_status/ │ │ │ │ │ │ ├── commands.lua │ │ │ │ │ │ ├── components.lua │ │ │ │ │ │ ├── init.lua │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ └── items.lua │ │ │ │ │ └── manager.lua │ │ │ │ ├── ui/ │ │ │ │ │ ├── highlights.lua │ │ │ │ │ ├── inputs.lua │ │ │ │ │ ├── popups.lua │ │ │ │ │ ├── renderer.lua │ │ │ │ │ └── selector.lua │ │ │ │ └── utils.lua │ │ │ └── neo-tree.lua │ │ ├── plugin/ │ │ │ └── neo-tree.vim │ │ ├── release.sh │ │ ├── scripts/ │ │ │ └── test.sh │ │ └── tests/ │ │ ├── mininit.lua │ │ ├── neo-tree/ │ │ │ ├── command/ │ │ │ │ ├── command_current_spec.lua │ │ │ │ └── command_spec.lua │ │ │ ├── events/ │ │ │ │ └── queue_spec.lua │ │ │ ├── sources/ │ │ │ │ ├── container_spec.lua │ │ │ │ ├── filesystem/ │ │ │ │ │ ├── filesystem_command_spec.lua │ │ │ │ │ └── filesystem_netrw_hijack_spec.lua │ │ │ │ └── manager_spec.lua │ │ │ └── ui/ │ │ │ └── icons_spec.lua │ │ └── utils/ │ │ ├── fs.lua │ │ ├── init.lua │ │ └── verify.lua │ ├── neobundle.vim/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE-MIT.txt │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── neobundle/ │ │ │ │ ├── TOML.vim │ │ │ │ ├── autoload.vim │ │ │ │ ├── cache.vim │ │ │ │ ├── commands.vim │ │ │ │ ├── config.vim │ │ │ │ ├── init.vim │ │ │ │ ├── installer.vim │ │ │ │ ├── metadata.vim │ │ │ │ ├── parser.vim │ │ │ │ ├── sources/ │ │ │ │ │ ├── github.vim │ │ │ │ │ ├── metadata.vim │ │ │ │ │ └── vim_scripts_org.vim │ │ │ │ ├── types/ │ │ │ │ │ ├── git.vim │ │ │ │ │ ├── hg.vim │ │ │ │ │ ├── none.vim │ │ │ │ │ ├── raw.vim │ │ │ │ │ ├── svn.vim │ │ │ │ │ └── vba.vim │ │ │ │ └── util.vim │ │ │ ├── neobundle.vim │ │ │ └── unite/ │ │ │ ├── kinds/ │ │ │ │ └── neobundle.vim │ │ │ └── sources/ │ │ │ ├── neobundle.vim │ │ │ ├── neobundle_install.vim │ │ │ ├── neobundle_lazy.vim │ │ │ ├── neobundle_log.vim │ │ │ └── neobundle_search.vim │ │ ├── bin/ │ │ │ ├── install.sh │ │ │ ├── neoinstall │ │ │ ├── neoinstall.bat │ │ │ └── neoinstall_novimproc.bat │ │ ├── doc/ │ │ │ └── neobundle.txt │ │ ├── plugin/ │ │ │ └── neobundle.vim │ │ └── test/ │ │ ├── commands.vim │ │ ├── lock.vim │ │ ├── parse.vim │ │ ├── sample.vim │ │ ├── source.vim │ │ ├── toml.vim │ │ └── tsort.vim │ ├── neocomplete.vim/ │ │ ├── .github/ │ │ │ └── ISSUE_TEMPLATE.md │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── neocomplete/ │ │ │ │ ├── async_cache.vim │ │ │ │ ├── cache.vim │ │ │ │ ├── commands.vim │ │ │ │ ├── complete.vim │ │ │ │ ├── context_filetype.vim │ │ │ │ ├── custom.vim │ │ │ │ ├── filters/ │ │ │ │ │ ├── converter_abbr.vim │ │ │ │ │ ├── converter_add_paren.vim │ │ │ │ │ ├── converter_case.vim │ │ │ │ │ ├── converter_delimiter.vim │ │ │ │ │ ├── converter_disable_abbr.vim │ │ │ │ │ ├── converter_remove_last_paren.vim │ │ │ │ │ ├── converter_remove_overlap.vim │ │ │ │ │ ├── matcher_fuzzy.vim │ │ │ │ │ ├── matcher_head.vim │ │ │ │ │ ├── matcher_length.vim │ │ │ │ │ ├── matcher_nothing.vim │ │ │ │ │ ├── sorter_filename.vim │ │ │ │ │ ├── sorter_length.vim │ │ │ │ │ ├── sorter_rank.vim │ │ │ │ │ └── sorter_word.vim │ │ │ │ ├── filters.vim │ │ │ │ ├── handler.vim │ │ │ │ ├── helper.vim │ │ │ │ ├── init.vim │ │ │ │ ├── mappings.vim │ │ │ │ ├── sources/ │ │ │ │ │ ├── buffer.vim │ │ │ │ │ ├── dictionary.vim │ │ │ │ │ ├── file.vim │ │ │ │ │ ├── member.vim │ │ │ │ │ ├── omni.vim │ │ │ │ │ └── tag.vim │ │ │ │ ├── util.vim │ │ │ │ └── variables.vim │ │ │ ├── neocomplete.vim │ │ │ ├── unite/ │ │ │ │ └── sources/ │ │ │ │ └── neocomplete.vim │ │ │ ├── vital/ │ │ │ │ ├── _neocomplete/ │ │ │ │ │ ├── Data/ │ │ │ │ │ │ ├── List.vim │ │ │ │ │ │ └── String.vim │ │ │ │ │ ├── Prelude.vim │ │ │ │ │ ├── Process.vim │ │ │ │ │ └── System/ │ │ │ │ │ └── Cache/ │ │ │ │ │ └── Deprecated.vim │ │ │ │ ├── _neocomplete.vim │ │ │ │ ├── neocomplete.vim │ │ │ │ └── neocomplete.vital │ │ │ └── vital.vim │ │ ├── doc/ │ │ │ └── neocomplete.txt │ │ ├── plugin/ │ │ │ ├── neocomplete/ │ │ │ │ ├── buffer.vim │ │ │ │ ├── dictionary.vim │ │ │ │ ├── member.vim │ │ │ │ └── tag.vim │ │ │ └── neocomplete.vim │ │ └── test/ │ │ └── neocomplete.vim │ ├── neodev.nvim/ │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ └── feature_request.yml │ │ │ └── workflows/ │ │ │ ├── ci.yml │ │ │ └── types.yml │ │ ├── .gitignore │ │ ├── .neoconf.json │ │ ├── BUILD.md │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ ├── lua-dev.txt │ │ │ └── neodev.nvim.txt │ │ ├── lua/ │ │ │ ├── lua-dev.lua │ │ │ └── neodev/ │ │ │ ├── config.lua │ │ │ ├── init.lua │ │ │ ├── lsp.lua │ │ │ ├── luals.lua │ │ │ └── util.lua │ │ ├── selene.toml │ │ ├── stylua.toml │ │ ├── types/ │ │ │ ├── nightly/ │ │ │ │ ├── alias.lua │ │ │ │ ├── api.lua │ │ │ │ ├── cmd.lua │ │ │ │ ├── lpeg.lua │ │ │ │ ├── lua.lua │ │ │ │ ├── options.1.lua │ │ │ │ ├── options.2.lua │ │ │ │ ├── options.3.lua │ │ │ │ ├── options.lua │ │ │ │ ├── uv.lua │ │ │ │ ├── vim.fn.1.lua │ │ │ │ ├── vim.fn.lua │ │ │ │ └── vim.lua │ │ │ ├── override/ │ │ │ │ ├── api.lua │ │ │ │ ├── lua.lua │ │ │ │ ├── options.lua │ │ │ │ └── vim.fn.lua │ │ │ └── stable/ │ │ │ ├── alias.lua │ │ │ ├── api.lua │ │ │ ├── cmd.lua │ │ │ ├── lpeg.lua │ │ │ ├── lua.lua │ │ │ ├── options.1.lua │ │ │ ├── options.2.lua │ │ │ ├── options.3.lua │ │ │ ├── options.lua │ │ │ ├── uv.lua │ │ │ ├── vim.fn.1.lua │ │ │ ├── vim.fn.lua │ │ │ └── vim.lua │ │ └── vim.toml │ ├── neoformat/ │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── .kodiak.toml │ │ ├── .nvmrc │ │ ├── .travis.yml │ │ ├── .vintrc.yaml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── neoformat/ │ │ │ │ ├── formatters/ │ │ │ │ │ ├── arduino.vim │ │ │ │ │ ├── asm.vim │ │ │ │ │ ├── beancount.vim │ │ │ │ │ ├── bib.vim │ │ │ │ │ ├── blade.vim │ │ │ │ │ ├── bzl.vim │ │ │ │ │ ├── c.vim │ │ │ │ │ ├── cabal.vim │ │ │ │ │ ├── cmake.vim │ │ │ │ │ ├── cpp.vim │ │ │ │ │ ├── crystal.vim │ │ │ │ │ ├── cs.vim │ │ │ │ │ ├── css.vim │ │ │ │ │ ├── csv.vim │ │ │ │ │ ├── cue.vim │ │ │ │ │ ├── d.vim │ │ │ │ │ ├── dart.vim │ │ │ │ │ ├── dhall.vim │ │ │ │ │ ├── dune.vim │ │ │ │ │ ├── ebuild.vim │ │ │ │ │ ├── elixir.vim │ │ │ │ │ ├── elm.vim │ │ │ │ │ ├── erlang.vim │ │ │ │ │ ├── fish.vim │ │ │ │ │ ├── fortran.vim │ │ │ │ │ ├── fsharp.vim │ │ │ │ │ ├── gdscript.vim │ │ │ │ │ ├── gleam.vim │ │ │ │ │ ├── glsl.vim │ │ │ │ │ ├── gn.vim │ │ │ │ │ ├── go.vim │ │ │ │ │ ├── graphql.vim │ │ │ │ │ ├── haskell.vim │ │ │ │ │ ├── html.vim │ │ │ │ │ ├── htmldjango.vim │ │ │ │ │ ├── jade.vim │ │ │ │ │ ├── java.vim │ │ │ │ │ ├── javascript.vim │ │ │ │ │ ├── javascriptreact.vim │ │ │ │ │ ├── jinja.vim │ │ │ │ │ ├── json.vim │ │ │ │ │ ├── jsonc.vim │ │ │ │ │ ├── kotlin.vim │ │ │ │ │ ├── less.vim │ │ │ │ │ ├── lua.vim │ │ │ │ │ ├── markdown.vim │ │ │ │ │ ├── matlab.vim │ │ │ │ │ ├── nginx.vim │ │ │ │ │ ├── nim.vim │ │ │ │ │ ├── nix.vim │ │ │ │ │ ├── objc.vim │ │ │ │ │ ├── ocaml.vim │ │ │ │ │ ├── opencl.vim │ │ │ │ │ ├── pandoc.vim │ │ │ │ │ ├── pawn.vim │ │ │ │ │ ├── perl.vim │ │ │ │ │ ├── php.vim │ │ │ │ │ ├── powershell.vim │ │ │ │ │ ├── prisma.vim │ │ │ │ │ ├── proto.vim │ │ │ │ │ ├── ps1.vim │ │ │ │ │ ├── pug.vim │ │ │ │ │ ├── puppet.vim │ │ │ │ │ ├── purescript.vim │ │ │ │ │ ├── python.vim │ │ │ │ │ ├── r.vim │ │ │ │ │ ├── reason.vim │ │ │ │ │ ├── ruby.vim │ │ │ │ │ ├── rust.vim │ │ │ │ │ ├── sass.vim │ │ │ │ │ ├── sbt.vim │ │ │ │ │ ├── scala.vim │ │ │ │ │ ├── scss.vim │ │ │ │ │ ├── sh.vim │ │ │ │ │ ├── solidity.vim │ │ │ │ │ ├── sql.vim │ │ │ │ │ ├── starlark.vim │ │ │ │ │ ├── svelte.vim │ │ │ │ │ ├── swift.vim │ │ │ │ │ ├── terraform.vim │ │ │ │ │ ├── tex.vim │ │ │ │ │ ├── tf.vim │ │ │ │ │ ├── toml.vim │ │ │ │ │ ├── typescript.vim │ │ │ │ │ ├── typescriptreact.vim │ │ │ │ │ ├── v.vim │ │ │ │ │ ├── vala.vim │ │ │ │ │ ├── vue.vim │ │ │ │ │ ├── xhtml.vim │ │ │ │ │ ├── xml.vim │ │ │ │ │ ├── yaml.vim │ │ │ │ │ ├── zig.vim │ │ │ │ │ └── zsh.vim │ │ │ │ ├── sugarss.vim │ │ │ │ └── utils.vim │ │ │ └── neoformat.vim │ │ ├── doc/ │ │ │ └── neoformat.txt │ │ ├── plugin/ │ │ │ └── neoformat.vim │ │ └── test/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── after/ │ │ │ ├── cp.cp │ │ │ ├── cssbeautify-indent-6.css │ │ │ ├── cssbeautify.css │ │ │ ├── csscomb.css │ │ │ ├── prettydiff.css │ │ │ ├── tsfmt.ts │ │ │ └── yapf.py │ │ ├── autocomplete_test.vim │ │ ├── before/ │ │ │ ├── cp.cp │ │ │ ├── cssbeautify.css │ │ │ ├── csscomb.css │ │ │ ├── prettydiff.css │ │ │ ├── tsfmt.ts │ │ │ └── yapf.py │ │ ├── bin/ │ │ │ └── exit64 │ │ ├── install.sh │ │ ├── neoformat.vader │ │ ├── requirements.txt │ │ ├── test.py │ │ ├── utils.vader │ │ ├── vimrc │ │ ├── visual_after/ │ │ │ ├── css_cssbeautify_3_4 │ │ │ └── javascript_jsbeautify_3_4 │ │ ├── visual_before/ │ │ │ ├── css_cssbeautify_3_4 │ │ │ └── javascript_jsbeautify_3_4 │ │ ├── visual_selection_after.txt │ │ └── visual_selection_before.txt │ ├── neoinclude.vim/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── autoload/ │ │ │ ├── cm/ │ │ │ │ └── sources/ │ │ │ │ └── neoinclude.vim │ │ │ ├── neocomplete/ │ │ │ │ └── sources/ │ │ │ │ └── file_include.vim │ │ │ ├── neoinclude/ │ │ │ │ ├── file_include.vim │ │ │ │ ├── include.vim │ │ │ │ └── util.vim │ │ │ ├── neoinclude.vim │ │ │ └── unite/ │ │ │ └── sources/ │ │ │ └── file_include.vim │ │ ├── doc/ │ │ │ └── neoinclude.txt │ │ ├── plugin/ │ │ │ └── neoinclude.vim │ │ └── rplugin/ │ │ └── python3/ │ │ └── deoplete/ │ │ └── sources/ │ │ └── file_include.py │ ├── neomake/ │ │ ├── .circleci/ │ │ │ └── config.yml │ │ ├── .coveragerc │ │ ├── .dockerignore │ │ ├── .github/ │ │ │ └── ISSUE_TEMPLATE.md │ │ ├── .gitignore │ │ ├── .vintrc.yaml │ │ ├── Dockerfile.tests │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── neomake/ │ │ │ │ ├── action_queue.vim │ │ │ │ ├── cmd.vim │ │ │ │ ├── compat.vim │ │ │ │ ├── config.vim │ │ │ │ ├── configure.vim │ │ │ │ ├── core.vim │ │ │ │ ├── debug.vim │ │ │ │ ├── highlights.vim │ │ │ │ ├── jobinfo.vim │ │ │ │ ├── list.vim │ │ │ │ ├── log.vim │ │ │ │ ├── makers/ │ │ │ │ │ ├── cabal.vim │ │ │ │ │ ├── clippy.vim │ │ │ │ │ ├── ft/ │ │ │ │ │ │ ├── ada.vim │ │ │ │ │ │ ├── angular.vim │ │ │ │ │ │ ├── ansible.vim │ │ │ │ │ │ ├── apiblueprint.vim │ │ │ │ │ │ ├── applescript.vim │ │ │ │ │ │ ├── asciidoc.vim │ │ │ │ │ │ ├── beancount.vim │ │ │ │ │ │ ├── bib.vim │ │ │ │ │ │ ├── c.vim │ │ │ │ │ │ ├── cf3.vim │ │ │ │ │ │ ├── chef.vim │ │ │ │ │ │ ├── clojure.vim │ │ │ │ │ │ ├── coffee.vim │ │ │ │ │ │ ├── cpp.vim │ │ │ │ │ │ ├── crystal.vim │ │ │ │ │ │ ├── cs.vim │ │ │ │ │ │ ├── css.vim │ │ │ │ │ │ ├── cuda.vim │ │ │ │ │ │ ├── d.vim │ │ │ │ │ │ ├── docbk.vim │ │ │ │ │ │ ├── dockerfile.vim │ │ │ │ │ │ ├── elixir.vim │ │ │ │ │ │ ├── elm.vim │ │ │ │ │ │ ├── erlang.vim │ │ │ │ │ │ ├── fish.vim │ │ │ │ │ │ ├── fortran.vim │ │ │ │ │ │ ├── go.vim │ │ │ │ │ │ ├── haml.vim │ │ │ │ │ │ ├── haskell.vim │ │ │ │ │ │ ├── haxe.vim │ │ │ │ │ │ ├── help.vim │ │ │ │ │ │ ├── html.vim │ │ │ │ │ │ ├── idris.vim │ │ │ │ │ │ ├── jade.vim │ │ │ │ │ │ ├── jasmine.vim │ │ │ │ │ │ ├── java/ │ │ │ │ │ │ │ ├── classpath.gradle │ │ │ │ │ │ │ └── classpath.py │ │ │ │ │ │ ├── java.vim │ │ │ │ │ │ ├── javascript.vim │ │ │ │ │ │ ├── javascriptreact.vim │ │ │ │ │ │ ├── json.vim │ │ │ │ │ │ ├── jsx.vim │ │ │ │ │ │ ├── julia.vim │ │ │ │ │ │ ├── kotlin.vim │ │ │ │ │ │ ├── less.vim │ │ │ │ │ │ ├── lex.vim │ │ │ │ │ │ ├── lua.vim │ │ │ │ │ │ ├── mail.vim │ │ │ │ │ │ ├── markdown.vim │ │ │ │ │ │ ├── matlab.vim │ │ │ │ │ │ ├── moon.vim │ │ │ │ │ │ ├── neomake_tests.vim │ │ │ │ │ │ ├── nim.vim │ │ │ │ │ │ ├── nix.vim │ │ │ │ │ │ ├── node.vim │ │ │ │ │ │ ├── objc.vim │ │ │ │ │ │ ├── pandoc.vim │ │ │ │ │ │ ├── perl.vim │ │ │ │ │ │ ├── php.vim │ │ │ │ │ │ ├── proto.vim │ │ │ │ │ │ ├── pug.vim │ │ │ │ │ │ ├── puppet.vim │ │ │ │ │ │ ├── purescript.vim │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ └── compile.py │ │ │ │ │ │ ├── python.vim │ │ │ │ │ │ ├── r.vim │ │ │ │ │ │ ├── racket.vim │ │ │ │ │ │ ├── rst.vim │ │ │ │ │ │ ├── ruby.vim │ │ │ │ │ │ ├── rust.vim │ │ │ │ │ │ ├── scala.vim │ │ │ │ │ │ ├── scss.vim │ │ │ │ │ │ ├── serpent.vim │ │ │ │ │ │ ├── sh.vim │ │ │ │ │ │ ├── slim.vim │ │ │ │ │ │ ├── sml.vim │ │ │ │ │ │ ├── solidity.vim │ │ │ │ │ │ ├── spar.vim │ │ │ │ │ │ ├── spec.vim │ │ │ │ │ │ ├── sql.vim │ │ │ │ │ │ ├── stylus.vim │ │ │ │ │ │ ├── swift.vim │ │ │ │ │ │ ├── tcl.vim │ │ │ │ │ │ ├── tex.vim │ │ │ │ │ │ ├── text.vim │ │ │ │ │ │ ├── toml.vim │ │ │ │ │ │ ├── tsx.vim │ │ │ │ │ │ ├── typescript.vim │ │ │ │ │ │ ├── typescriptreact.vim │ │ │ │ │ │ ├── verilog.vim │ │ │ │ │ │ ├── vhdl.vim │ │ │ │ │ │ ├── vim.vim │ │ │ │ │ │ ├── vue.vim │ │ │ │ │ │ ├── xml.vim │ │ │ │ │ │ ├── xslt.vim │ │ │ │ │ │ ├── yacc.vim │ │ │ │ │ │ ├── yaml.vim │ │ │ │ │ │ └── zsh.vim │ │ │ │ │ ├── gradle.vim │ │ │ │ │ ├── mvn.vim │ │ │ │ │ └── sbt.vim │ │ │ │ ├── postprocess.vim │ │ │ │ ├── quickfix.vim │ │ │ │ ├── setup.vim │ │ │ │ ├── signs.vim │ │ │ │ ├── statusline.vim │ │ │ │ ├── utils.vim │ │ │ │ └── virtualtext.vim │ │ │ └── neomake.vim │ │ ├── contrib/ │ │ │ ├── highlight-log │ │ │ ├── run-tests-watch │ │ │ ├── vim-checks │ │ │ └── vimhelplint │ │ ├── doc/ │ │ │ └── neomake.txt │ │ ├── plugin/ │ │ │ └── neomake.vim │ │ ├── syntax/ │ │ │ ├── neomake/ │ │ │ │ ├── python.vim │ │ │ │ └── qf.vim │ │ │ └── qf.vim │ │ └── tests/ │ │ ├── action_queue.vader │ │ ├── all.vader │ │ ├── args.vader │ │ ├── automake.vader │ │ ├── cancellation.vader │ │ ├── clean.vader │ │ ├── cmd_neomakeinfo.vader │ │ ├── compat.vader │ │ ├── completion.vader │ │ ├── config.vader │ │ ├── current_error.vader │ │ ├── customqf.vader │ │ ├── cwd.vader │ │ ├── debug.vader │ │ ├── env.vader │ │ ├── errors.vader │ │ ├── filetypes.vader │ │ ├── filter_output.vader │ │ ├── fixtures/ │ │ │ ├── a filename with spaces │ │ │ ├── errors.py │ │ │ ├── errors.sh │ │ │ ├── input/ │ │ │ │ ├── puppet/ │ │ │ │ │ ├── syntax-error-eoi.pp │ │ │ │ │ └── syntax-error.pp │ │ │ │ ├── puppet-lint/ │ │ │ │ │ └── err_and_warn.pp │ │ │ │ └── xmllint/ │ │ │ │ ├── missingdtd.xml │ │ │ │ └── validity-error.xml │ │ │ ├── javascript/ │ │ │ │ └── eslint_example.json │ │ │ ├── output/ │ │ │ │ ├── puppet/ │ │ │ │ │ ├── syntax-error-eoi.pp.exitcode │ │ │ │ │ ├── syntax-error-eoi.pp.stderr │ │ │ │ │ ├── syntax-error-eoi.pp.stdout │ │ │ │ │ ├── syntax-error.pp.exitcode │ │ │ │ │ ├── syntax-error.pp.stderr │ │ │ │ │ └── syntax-error.pp.stdout │ │ │ │ ├── puppet-lint/ │ │ │ │ │ ├── err_and_warn.pp.exitcode │ │ │ │ │ ├── err_and_warn.pp.stderr │ │ │ │ │ └── err_and_warn.pp.stdout │ │ │ │ ├── xmllint/ │ │ │ │ │ ├── missingdtd.xml.exitcode │ │ │ │ │ ├── missingdtd.xml.stderr │ │ │ │ │ ├── missingdtd.xml.stdout │ │ │ │ │ ├── validity-error.xml.exitcode │ │ │ │ │ ├── validity-error.xml.stderr │ │ │ │ │ └── validity-error.xml.stdout │ │ │ │ └── zsh/ │ │ │ │ ├── parse-error.zsh.exitcode │ │ │ │ ├── parse-error.zsh.stderr │ │ │ │ └── parse-error.zsh.stdout │ │ │ ├── rust/ │ │ │ │ ├── cargo_error.json │ │ │ │ ├── cargo_error_children.json │ │ │ │ ├── cargo_error_primary_span.json │ │ │ │ ├── cargo_error_without_span.json │ │ │ │ ├── cargo_info.json │ │ │ │ ├── cargo_warning.json │ │ │ │ └── cargotest_with_failures │ │ │ ├── vim/ │ │ │ │ ├── func-with-errors.vim │ │ │ │ └── func-with-errors.vim.output │ │ │ └── ~ │ │ ├── ft_asciidoc.vader │ │ ├── ft_clojure.vader │ │ ├── ft_cs.vader │ │ ├── ft_css.vader │ │ ├── ft_dockerfile.vader │ │ ├── ft_elixir.vader │ │ ├── ft_elm.vader │ │ ├── ft_erlang.vader │ │ ├── ft_go.vader │ │ ├── ft_haskell.vader │ │ ├── ft_html.vader │ │ ├── ft_idris.vader │ │ ├── ft_javascript.vader │ │ ├── ft_markdown.vader │ │ ├── ft_perl.vader │ │ ├── ft_php.vader │ │ ├── ft_puppet.vader │ │ ├── ft_purescript.vader │ │ ├── ft_python.vader │ │ ├── ft_rst.vader │ │ ├── ft_rust.vader │ │ ├── ft_sh.vader │ │ ├── ft_sql.vader │ │ ├── ft_text.vader │ │ ├── ft_typescript.vader │ │ ├── ft_vim.vader │ │ ├── ft_xml.vader │ │ ├── helpers/ │ │ │ └── trap.sh │ │ ├── highlights.vader │ │ ├── hooks-queue.vader │ │ ├── hooks.vader │ │ ├── include/ │ │ │ ├── init.vim │ │ │ └── setup.vader │ │ ├── integration.vader │ │ ├── isolated/ │ │ │ ├── compat-get_argv-on-emulated-windows.vader │ │ │ ├── completion-handles-throw.vader │ │ │ ├── configure.vader │ │ │ ├── customqf.vader │ │ │ ├── ft_help.vader │ │ │ ├── ft_vim.vader │ │ │ ├── highlights.vader │ │ │ ├── logging.vader │ │ │ ├── modes.vader │ │ │ ├── resets-ignore_automake_events.vader │ │ │ ├── sign-highlights.vader │ │ │ ├── signs.vader │ │ │ ├── statusline-highlights.vader │ │ │ └── tempfiles-cleanup.vader │ │ ├── isolated.vader │ │ ├── jobinfo.vader │ │ ├── json.vader │ │ ├── list-entries.vader │ │ ├── list.vader │ │ ├── lists.vader │ │ ├── log.vader │ │ ├── main.vader │ │ ├── makeprg.vader │ │ ├── maker_errors.vader │ │ ├── makers.vader │ │ ├── mapexpr.vader │ │ ├── postprocess.vader │ │ ├── processing.vader │ │ ├── serialize.vader │ │ ├── signs.vader │ │ ├── statusline.vader │ │ ├── stdin.vader │ │ ├── tempfiles.vader │ │ ├── toggle.vader │ │ ├── utils.vader │ │ ├── utils_projectroot.vader │ │ ├── verbosity.vader │ │ ├── vim/ │ │ │ └── vimrc │ │ └── vim_and_neovim_behavior.vader │ ├── neomru.vim/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── autoload/ │ │ │ ├── neomru.vim │ │ │ └── unite/ │ │ │ └── sources/ │ │ │ ├── mru.vim │ │ │ └── neomru.vim │ │ ├── doc/ │ │ │ └── neomru.txt │ │ ├── plugin/ │ │ │ └── neomru.vim │ │ └── rplugin/ │ │ └── python3/ │ │ └── denite/ │ │ └── source/ │ │ ├── directory_mru.py │ │ └── file_mru.py │ ├── neopairs.vim/ │ │ ├── autoload/ │ │ │ └── neopairs.vim │ │ ├── doc/ │ │ │ └── neopairs.txt │ │ └── plugin/ │ │ └── neopairs.vim │ ├── neosnippet-snippets/ │ │ ├── LICENSE │ │ ├── README.mkd │ │ └── neosnippets/ │ │ ├── Gemfile.snip │ │ ├── _.snip │ │ ├── actionscript.snip │ │ ├── ada.snip │ │ ├── apache.snip │ │ ├── applescript.snip │ │ ├── asm.snip │ │ ├── beancount.snip │ │ ├── bib.snip │ │ ├── blade.snip │ │ ├── c.snip │ │ ├── clojure.snip │ │ ├── cmake.snip │ │ ├── coffee.snip │ │ ├── cpp.snip │ │ ├── cs.snip │ │ ├── css.snip │ │ ├── cuda.snip │ │ ├── d.snip │ │ ├── elixir.snip │ │ ├── elm.snip │ │ ├── erlang.snip │ │ ├── eruby.snip │ │ ├── fortran.snip │ │ ├── fsharp.snip │ │ ├── gnuplot.snip │ │ ├── go.snip │ │ ├── go.vim │ │ ├── groovy.snip │ │ ├── haskell.snip │ │ ├── html.snip │ │ ├── java.snip │ │ ├── javascript.snip │ │ ├── julia.snip │ │ ├── kp19pp.snip │ │ ├── liquid.snip │ │ ├── lua.snip │ │ ├── make.snip │ │ ├── markdown.snip │ │ ├── mediawiki.snip │ │ ├── mkd.snip │ │ ├── moon.snip │ │ ├── neosnippet.snip │ │ ├── nim.snip │ │ ├── objc.snip │ │ ├── ocaml.snip │ │ ├── perl.snip │ │ ├── php.snip │ │ ├── prolog.snip │ │ ├── python.snip │ │ ├── rails.snip │ │ ├── rst.snip │ │ ├── ruby.snip │ │ ├── rust.snip │ │ ├── scala.snip │ │ ├── scheme.snip │ │ ├── scss.snip │ │ ├── sh.snip │ │ ├── sql.snip │ │ ├── sshconfig.snip │ │ ├── swift.snip │ │ ├── systemverilog.snip │ │ ├── tex.snip │ │ ├── toml.snip │ │ ├── twig.snip │ │ ├── typescript.snip │ │ ├── typescriptreact.snip │ │ ├── verilog.snip │ │ ├── vim/ │ │ │ └── vital.snip │ │ ├── vim.snip │ │ ├── vimshell.snip │ │ ├── vimspec.snip │ │ ├── vimwiki.snip │ │ ├── vue.snip │ │ ├── xhtml.snip │ │ └── zsh.snip │ ├── neosnippet.vim/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── neocomplcache/ │ │ │ │ └── sources/ │ │ │ │ └── snippets_complete.vim │ │ │ ├── neocomplete/ │ │ │ │ └── sources/ │ │ │ │ └── neosnippet.vim │ │ │ ├── neosnippet/ │ │ │ │ ├── commands.vim │ │ │ │ ├── handlers.vim │ │ │ │ ├── helpers.vim │ │ │ │ ├── init.vim │ │ │ │ ├── mappings.vim │ │ │ │ ├── parser.vim │ │ │ │ ├── util.vim │ │ │ │ ├── variables.vim │ │ │ │ └── view.vim │ │ │ ├── neosnippet.vim │ │ │ ├── unite/ │ │ │ │ └── sources/ │ │ │ │ ├── neosnippet.vim │ │ │ │ └── neosnippet_file.vim │ │ │ ├── vim_snippets.vim │ │ │ ├── vital/ │ │ │ │ ├── _neosnippet/ │ │ │ │ │ ├── Data/ │ │ │ │ │ │ ├── List.vim │ │ │ │ │ │ └── String.vim │ │ │ │ │ ├── Prelude.vim │ │ │ │ │ ├── Process.vim │ │ │ │ │ └── System/ │ │ │ │ │ └── Cache/ │ │ │ │ │ └── Deprecated.vim │ │ │ │ ├── _neosnippet.vim │ │ │ │ ├── neosnippet.vim │ │ │ │ └── neosnippet.vital │ │ │ └── vital.vim │ │ ├── denops/ │ │ │ └── @ddc-sources/ │ │ │ └── neosnippet.ts │ │ ├── doc/ │ │ │ └── neosnippet.txt │ │ ├── ftdetect/ │ │ │ └── neosnippet.vim │ │ ├── ftplugin/ │ │ │ └── neosnippet.vim │ │ ├── indent/ │ │ │ └── neosnippet.vim │ │ ├── plugin/ │ │ │ └── neosnippet.vim │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ ├── denite/ │ │ │ │ └── source/ │ │ │ │ └── neosnippet.py │ │ │ └── deoplete/ │ │ │ └── sources/ │ │ │ └── neosnippet.py │ │ ├── syntax/ │ │ │ └── neosnippet.vim │ │ └── test/ │ │ └── functions.vim │ ├── neoyank.vim/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── autoload/ │ │ │ ├── neoyank.vim │ │ │ └── unite/ │ │ │ └── sources/ │ │ │ └── history_yank.vim │ │ ├── doc/ │ │ │ └── neoyank.txt │ │ ├── plugin/ │ │ │ └── neoyank.vim │ │ └── rplugin/ │ │ └── python3/ │ │ └── denite/ │ │ └── source/ │ │ └── neoyank.py │ ├── nerdcommenter/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ └── workflows/ │ │ │ ├── reviewdog.yml │ │ │ └── vint.yml │ │ ├── .gitignore │ │ ├── .vintrc.yaml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ └── NERD_commenter.txt │ │ └── plugin/ │ │ └── nerdcommenter.vim │ ├── nerdtree/ │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug.md │ │ │ │ ├── feature_request.md │ │ │ │ └── question.md │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ └── workflows/ │ │ │ └── vint.yml │ │ ├── .gitignore │ │ ├── .vintrc.yaml │ │ ├── CHANGELOG.md │ │ ├── LICENCE │ │ ├── README.markdown │ │ ├── _config.yml │ │ ├── autoload/ │ │ │ ├── nerdtree/ │ │ │ │ └── ui_glue.vim │ │ │ └── nerdtree.vim │ │ ├── doc/ │ │ │ └── NERDTree.txt │ │ ├── lib/ │ │ │ └── nerdtree/ │ │ │ ├── bookmark.vim │ │ │ ├── creator.vim │ │ │ ├── event.vim │ │ │ ├── flag_set.vim │ │ │ ├── key_map.vim │ │ │ ├── menu_controller.vim │ │ │ ├── menu_item.vim │ │ │ ├── nerdtree.vim │ │ │ ├── notifier.vim │ │ │ ├── opener.vim │ │ │ ├── path.vim │ │ │ ├── tree_dir_node.vim │ │ │ ├── tree_file_node.vim │ │ │ └── ui.vim │ │ ├── nerdtree_plugin/ │ │ │ ├── exec_menuitem.vim │ │ │ ├── fs_menu.vim │ │ │ └── vcs.vim │ │ ├── plugin/ │ │ │ └── NERD_tree.vim │ │ └── syntax/ │ │ └── nerdtree.vim │ ├── nerdtree-git-plugin/ │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug.md │ │ │ │ ├── feature_request.md │ │ │ │ └── question.md │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ ├── stale.yml │ │ │ └── workflows/ │ │ │ └── ci.yml │ │ ├── .pre-commit-config.yaml │ │ ├── .vintrc.yaml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── syntax/ │ │ │ └── nerdtree.vim │ │ ├── autoload/ │ │ │ ├── gitstatus/ │ │ │ │ ├── doctor.vim │ │ │ │ ├── job.vim │ │ │ │ ├── listener.vim │ │ │ │ ├── log.vim │ │ │ │ └── util.vim │ │ │ └── gitstatus.vim │ │ ├── nerdtree_plugin/ │ │ │ └── git_status.vim │ │ └── tests/ │ │ ├── .themisrc │ │ └── test_all.vim │ ├── nui.nvim/ │ │ ├── .codecov.yml │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ ├── ci.yml │ │ │ └── publish.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .luacov │ │ ├── .stylua.toml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lua/ │ │ │ └── nui/ │ │ │ ├── input/ │ │ │ │ ├── README.md │ │ │ │ └── init.lua │ │ │ ├── layout/ │ │ │ │ ├── README.md │ │ │ │ ├── float.lua │ │ │ │ ├── init.lua │ │ │ │ ├── split.lua │ │ │ │ └── utils.lua │ │ │ ├── line/ │ │ │ │ ├── README.md │ │ │ │ └── init.lua │ │ │ ├── menu/ │ │ │ │ ├── README.md │ │ │ │ └── init.lua │ │ │ ├── object/ │ │ │ │ └── init.lua │ │ │ ├── popup/ │ │ │ │ ├── README.md │ │ │ │ ├── border.lua │ │ │ │ └── init.lua │ │ │ ├── split/ │ │ │ │ ├── README.md │ │ │ │ ├── init.lua │ │ │ │ └── utils.lua │ │ │ ├── text/ │ │ │ │ ├── README.md │ │ │ │ └── init.lua │ │ │ ├── tree/ │ │ │ │ ├── README.md │ │ │ │ ├── init.lua │ │ │ │ └── util.lua │ │ │ └── utils/ │ │ │ ├── autocmd.lua │ │ │ ├── buf_storage.lua │ │ │ ├── init.lua │ │ │ └── keymap.lua │ │ ├── nui.nvim-dev-1.rockspec │ │ ├── scripts/ │ │ │ ├── format.sh │ │ │ ├── lint.sh │ │ │ ├── plenary-353.patch │ │ │ └── test.sh │ │ └── tests/ │ │ ├── helpers/ │ │ │ └── init.lua │ │ ├── minimal_init.lua │ │ └── nui/ │ │ ├── input/ │ │ │ └── init_spec.lua │ │ ├── layout/ │ │ │ ├── init_spec.lua │ │ │ └── utils_spec.lua │ │ ├── line/ │ │ │ └── init_spec.lua │ │ ├── menu/ │ │ │ └── init_spec.lua │ │ ├── object/ │ │ │ └── init_spec.lua │ │ ├── popup/ │ │ │ ├── border_spec.lua │ │ │ └── init_spec.lua │ │ ├── split/ │ │ │ └── init_spec.lua │ │ ├── text/ │ │ │ └── init_spec.lua │ │ └── tree/ │ │ └── init_spec.lua │ ├── nvim-cmp/ │ │ ├── .githooks/ │ │ │ └── pre-commit │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ └── bug_report.yml │ │ │ └── workflows/ │ │ │ ├── format.yaml │ │ │ ├── integration.yaml │ │ │ └── release.yaml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── cmp.vim │ │ ├── doc/ │ │ │ └── cmp.txt │ │ ├── init.sh │ │ ├── lua/ │ │ │ └── cmp/ │ │ │ ├── config/ │ │ │ │ ├── compare.lua │ │ │ │ ├── context.lua │ │ │ │ ├── default.lua │ │ │ │ ├── mapping.lua │ │ │ │ ├── sources.lua │ │ │ │ └── window.lua │ │ │ ├── config.lua │ │ │ ├── context.lua │ │ │ ├── context_spec.lua │ │ │ ├── core.lua │ │ │ ├── core_spec.lua │ │ │ ├── entry.lua │ │ │ ├── entry_spec.lua │ │ │ ├── init.lua │ │ │ ├── matcher.lua │ │ │ ├── matcher_spec.lua │ │ │ ├── source.lua │ │ │ ├── source_spec.lua │ │ │ ├── types/ │ │ │ │ ├── cmp.lua │ │ │ │ ├── init.lua │ │ │ │ ├── lsp.lua │ │ │ │ ├── lsp_spec.lua │ │ │ │ └── vim.lua │ │ │ ├── utils/ │ │ │ │ ├── api.lua │ │ │ │ ├── api_spec.lua │ │ │ │ ├── async.lua │ │ │ │ ├── async_spec.lua │ │ │ │ ├── autocmd.lua │ │ │ │ ├── binary.lua │ │ │ │ ├── binary_spec.lua │ │ │ │ ├── buffer.lua │ │ │ │ ├── cache.lua │ │ │ │ ├── char.lua │ │ │ │ ├── debug.lua │ │ │ │ ├── event.lua │ │ │ │ ├── feedkeys.lua │ │ │ │ ├── feedkeys_spec.lua │ │ │ │ ├── highlight.lua │ │ │ │ ├── keymap.lua │ │ │ │ ├── keymap_spec.lua │ │ │ │ ├── misc.lua │ │ │ │ ├── misc_spec.lua │ │ │ │ ├── options.lua │ │ │ │ ├── pattern.lua │ │ │ │ ├── spec.lua │ │ │ │ ├── str.lua │ │ │ │ ├── str_spec.lua │ │ │ │ └── window.lua │ │ │ ├── view.lua │ │ │ └── vim_source.lua │ │ ├── nvim-cmp-scm-1.rockspec │ │ ├── plugin/ │ │ │ └── cmp.lua │ │ ├── stylua.toml │ │ └── utils/ │ │ └── vimrc.vim │ ├── nvim-if-lua-compat/ │ │ ├── README.md │ │ └── lua/ │ │ └── if_lua_compat/ │ │ ├── blob.lua │ │ ├── buffer.lua │ │ ├── dict.lua │ │ ├── init.lua │ │ ├── list.lua │ │ ├── misc.lua │ │ ├── test123.lua │ │ └── window.lua │ ├── nvim-lspconfig/ │ │ ├── .codespellignorewords │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── config.yml │ │ │ │ └── feature_request.yml │ │ │ ├── PULL_REQUEST_TEMPLATE/ │ │ │ │ └── pull_request_template.md │ │ │ ├── ci/ │ │ │ │ └── run_sanitizer.sh │ │ │ └── workflows/ │ │ │ ├── close-config-changes.yml │ │ │ ├── codespell.yml │ │ │ ├── commit_lint.yml │ │ │ ├── docgen.yml │ │ │ ├── feature-branch-check.yml │ │ │ ├── lint.yml │ │ │ ├── problem_matchers/ │ │ │ │ └── selene.json │ │ │ ├── sanitizer.yml │ │ │ └── test.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CONFIG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── health/ │ │ │ └── lspconfig.vim │ │ ├── doc/ │ │ │ ├── lspconfig.txt │ │ │ ├── server_configurations.md │ │ │ └── server_configurations.txt │ │ ├── flake.nix │ │ ├── lua/ │ │ │ ├── lspconfig/ │ │ │ │ ├── configs.lua │ │ │ │ ├── health.lua │ │ │ │ ├── server_configurations/ │ │ │ │ │ ├── als.lua │ │ │ │ │ ├── angularls.lua │ │ │ │ │ ├── ansiblels.lua │ │ │ │ │ ├── arduino_language_server.lua │ │ │ │ │ ├── bashls.lua │ │ │ │ │ ├── beancount.lua │ │ │ │ │ ├── bicep.lua │ │ │ │ │ ├── bsl_ls.lua │ │ │ │ │ ├── ccls.lua │ │ │ │ │ ├── clangd.lua │ │ │ │ │ ├── clojure_lsp.lua │ │ │ │ │ ├── cmake.lua │ │ │ │ │ ├── codeqlls.lua │ │ │ │ │ ├── crystalline.lua │ │ │ │ │ ├── csharp_ls.lua │ │ │ │ │ ├── cssls.lua │ │ │ │ │ ├── cucumber_language_server.lua │ │ │ │ │ ├── dartls.lua │ │ │ │ │ ├── denols.lua │ │ │ │ │ ├── dhall_lsp_server.lua │ │ │ │ │ ├── diagnosticls.lua │ │ │ │ │ ├── dockerls.lua │ │ │ │ │ ├── dotls.lua │ │ │ │ │ ├── efm.lua │ │ │ │ │ ├── elixirls.lua │ │ │ │ │ ├── elmls.lua │ │ │ │ │ ├── ember.lua │ │ │ │ │ ├── emmet_ls.lua │ │ │ │ │ ├── erlangls.lua │ │ │ │ │ ├── esbonio.lua │ │ │ │ │ ├── eslint.lua │ │ │ │ │ ├── flow.lua │ │ │ │ │ ├── flux-lsp.lua │ │ │ │ │ ├── fortls.lua │ │ │ │ │ ├── fsautocomplete.lua │ │ │ │ │ ├── fstar.lua │ │ │ │ │ ├── gdscript.lua │ │ │ │ │ ├── ghcide.lua │ │ │ │ │ ├── golangci_lint_ls.lua │ │ │ │ │ ├── gopls.lua │ │ │ │ │ ├── graphql.lua │ │ │ │ │ ├── groovyls.lua │ │ │ │ │ ├── haxe_language_server.lua │ │ │ │ │ ├── hie.lua │ │ │ │ │ ├── hls.lua │ │ │ │ │ ├── html.lua │ │ │ │ │ ├── idris2_lsp.lua │ │ │ │ │ ├── intelephense.lua │ │ │ │ │ ├── java_language_server.lua │ │ │ │ │ ├── jdtls.lua │ │ │ │ │ ├── jedi_language_server.lua │ │ │ │ │ ├── jsonls.lua │ │ │ │ │ ├── jsonnet_ls.lua │ │ │ │ │ ├── julials.lua │ │ │ │ │ ├── kotlin_language_server.lua │ │ │ │ │ ├── lean3ls.lua │ │ │ │ │ ├── leanls.lua │ │ │ │ │ ├── lelwel_ls.lua │ │ │ │ │ ├── lemminx.lua │ │ │ │ │ ├── ltex.lua │ │ │ │ │ ├── metals.lua │ │ │ │ │ ├── mint.lua │ │ │ │ │ ├── nickel_ls.lua │ │ │ │ │ ├── nimls.lua │ │ │ │ │ ├── ocamlls.lua │ │ │ │ │ ├── ocamllsp.lua │ │ │ │ │ ├── omnisharp.lua │ │ │ │ │ ├── pasls.lua │ │ │ │ │ ├── perlls.lua │ │ │ │ │ ├── perlpls.lua │ │ │ │ │ ├── phpactor.lua │ │ │ │ │ ├── powershell_es.lua │ │ │ │ │ ├── prismals.lua │ │ │ │ │ ├── psalm.lua │ │ │ │ │ ├── puppet.lua │ │ │ │ │ ├── purescriptls.lua │ │ │ │ │ ├── pylsp.lua │ │ │ │ │ ├── pyre.lua │ │ │ │ │ ├── pyright.lua │ │ │ │ │ ├── r_language_server.lua │ │ │ │ │ ├── racket_langserver.lua │ │ │ │ │ ├── rescriptls.lua │ │ │ │ │ ├── rls.lua │ │ │ │ │ ├── rnix.lua │ │ │ │ │ ├── robotframework_ls.lua │ │ │ │ │ ├── rome.lua │ │ │ │ │ ├── rust_analyzer.lua │ │ │ │ │ ├── scry.lua │ │ │ │ │ ├── serve_d.lua │ │ │ │ │ ├── sixtyfps.lua │ │ │ │ │ ├── solang.lua │ │ │ │ │ ├── solargraph.lua │ │ │ │ │ ├── sorbet.lua │ │ │ │ │ ├── sourcekit.lua │ │ │ │ │ ├── spectral.lua │ │ │ │ │ ├── sqlls.lua │ │ │ │ │ ├── sqls.lua │ │ │ │ │ ├── stylelint_lsp.lua │ │ │ │ │ ├── sumneko_lua.lua │ │ │ │ │ ├── svelte.lua │ │ │ │ │ ├── svls.lua │ │ │ │ │ ├── tailwindcss.lua │ │ │ │ │ ├── taplo.lua │ │ │ │ │ ├── terraform_lsp.lua │ │ │ │ │ ├── terraformls.lua │ │ │ │ │ ├── texlab.lua │ │ │ │ │ ├── tflint.lua │ │ │ │ │ ├── theme_check.lua │ │ │ │ │ ├── tsserver.lua │ │ │ │ │ ├── typeprof.lua │ │ │ │ │ ├── vala_ls.lua │ │ │ │ │ ├── vdmj.lua │ │ │ │ │ ├── vimls.lua │ │ │ │ │ ├── vls.lua │ │ │ │ │ ├── volar.lua │ │ │ │ │ ├── vuels.lua │ │ │ │ │ ├── yamlls.lua │ │ │ │ │ ├── zeta_note.lua │ │ │ │ │ ├── zk.lua │ │ │ │ │ └── zls.lua │ │ │ │ ├── ui/ │ │ │ │ │ ├── lspinfo.lua │ │ │ │ │ └── windows.lua │ │ │ │ └── util.lua │ │ │ └── lspconfig.lua │ │ ├── neovim.toml │ │ ├── plugin/ │ │ │ └── lspconfig.vim │ │ ├── scripts/ │ │ │ ├── README_template.md │ │ │ ├── docgen.lua │ │ │ ├── docgen.sh │ │ │ └── run_test.sh │ │ ├── selene.toml │ │ └── test/ │ │ ├── lspconfig_spec.lua │ │ ├── minimal_init.lua │ │ └── test_dir/ │ │ ├── a/ │ │ │ └── a_marker.txt │ │ └── root_marker.txt │ ├── nvim-lspconfig-0.1.3/ │ │ ├── .codespellignorewords │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── config.yml │ │ │ │ └── feature_request.yml │ │ │ ├── PULL_REQUEST_TEMPLATE/ │ │ │ │ └── pull_request_template.md │ │ │ ├── ci/ │ │ │ │ └── run_sanitizer.sh │ │ │ └── workflows/ │ │ │ ├── close-config-changes.yml │ │ │ ├── codespell.yml │ │ │ ├── commit_lint.yml │ │ │ ├── docgen.yml │ │ │ ├── feature-branch-check.yml │ │ │ ├── lint.yml │ │ │ ├── problem_matchers/ │ │ │ │ └── selene.json │ │ │ ├── sanitizer.yml │ │ │ └── test.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CONFIG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── doc/ │ │ │ ├── lspconfig.txt │ │ │ ├── server_configurations.md │ │ │ └── server_configurations.txt │ │ ├── flake.nix │ │ ├── lua/ │ │ │ ├── lspconfig/ │ │ │ │ ├── configs.lua │ │ │ │ ├── server_configurations/ │ │ │ │ │ ├── als.lua │ │ │ │ │ ├── angularls.lua │ │ │ │ │ ├── ansiblels.lua │ │ │ │ │ ├── arduino_language_server.lua │ │ │ │ │ ├── asm_lsp.lua │ │ │ │ │ ├── awk_ls.lua │ │ │ │ │ ├── bashls.lua │ │ │ │ │ ├── beancount.lua │ │ │ │ │ ├── bicep.lua │ │ │ │ │ ├── bsl_ls.lua │ │ │ │ │ ├── ccls.lua │ │ │ │ │ ├── clangd.lua │ │ │ │ │ ├── clarity_lsp.lua │ │ │ │ │ ├── clojure_lsp.lua │ │ │ │ │ ├── cmake.lua │ │ │ │ │ ├── codeqlls.lua │ │ │ │ │ ├── crystalline.lua │ │ │ │ │ ├── csharp_ls.lua │ │ │ │ │ ├── cssls.lua │ │ │ │ │ ├── cssmodules_ls.lua │ │ │ │ │ ├── cucumber_language_server.lua │ │ │ │ │ ├── dartls.lua │ │ │ │ │ ├── denols.lua │ │ │ │ │ ├── dhall_lsp_server.lua │ │ │ │ │ ├── diagnosticls.lua │ │ │ │ │ ├── dockerls.lua │ │ │ │ │ ├── dotls.lua │ │ │ │ │ ├── efm.lua │ │ │ │ │ ├── elixirls.lua │ │ │ │ │ ├── elmls.lua │ │ │ │ │ ├── ember.lua │ │ │ │ │ ├── emmet_ls.lua │ │ │ │ │ ├── erlangls.lua │ │ │ │ │ ├── esbonio.lua │ │ │ │ │ ├── eslint.lua │ │ │ │ │ ├── flow.lua │ │ │ │ │ ├── flux_lsp.lua │ │ │ │ │ ├── foam_ls.lua │ │ │ │ │ ├── fortls.lua │ │ │ │ │ ├── fsautocomplete.lua │ │ │ │ │ ├── fstar.lua │ │ │ │ │ ├── gdscript.lua │ │ │ │ │ ├── ghcide.lua │ │ │ │ │ ├── golangci_lint_ls.lua │ │ │ │ │ ├── gopls.lua │ │ │ │ │ ├── gradle_ls.lua │ │ │ │ │ ├── grammarly.lua │ │ │ │ │ ├── graphql.lua │ │ │ │ │ ├── groovyls.lua │ │ │ │ │ ├── haxe_language_server.lua │ │ │ │ │ ├── hdl_checker.lua │ │ │ │ │ ├── hhvm.lua │ │ │ │ │ ├── hie.lua │ │ │ │ │ ├── hls.lua │ │ │ │ │ ├── hoon_ls.lua │ │ │ │ │ ├── html.lua │ │ │ │ │ ├── idris2_lsp.lua │ │ │ │ │ ├── intelephense.lua │ │ │ │ │ ├── java_language_server.lua │ │ │ │ │ ├── jdtls.lua │ │ │ │ │ ├── jedi_language_server.lua │ │ │ │ │ ├── jsonls.lua │ │ │ │ │ ├── jsonnet_ls.lua │ │ │ │ │ ├── julials.lua │ │ │ │ │ ├── kotlin_language_server.lua │ │ │ │ │ ├── lean3ls.lua │ │ │ │ │ ├── leanls.lua │ │ │ │ │ ├── lelwel_ls.lua │ │ │ │ │ ├── lemminx.lua │ │ │ │ │ ├── ltex.lua │ │ │ │ │ ├── metals.lua │ │ │ │ │ ├── mint.lua │ │ │ │ │ ├── mm0_ls.lua │ │ │ │ │ ├── nickel_ls.lua │ │ │ │ │ ├── nimls.lua │ │ │ │ │ ├── ocamlls.lua │ │ │ │ │ ├── ocamllsp.lua │ │ │ │ │ ├── ols.lua │ │ │ │ │ ├── omnisharp.lua │ │ │ │ │ ├── opencl_ls.lua │ │ │ │ │ ├── openscad_ls.lua │ │ │ │ │ ├── pasls.lua │ │ │ │ │ ├── perlls.lua │ │ │ │ │ ├── perlnavigator.lua │ │ │ │ │ ├── perlpls.lua │ │ │ │ │ ├── phpactor.lua │ │ │ │ │ ├── please.lua │ │ │ │ │ ├── powershell_es.lua │ │ │ │ │ ├── prismals.lua │ │ │ │ │ ├── prosemd_lsp.lua │ │ │ │ │ ├── psalm.lua │ │ │ │ │ ├── puppet.lua │ │ │ │ │ ├── purescriptls.lua │ │ │ │ │ ├── pylsp.lua │ │ │ │ │ ├── pyre.lua │ │ │ │ │ ├── pyright.lua │ │ │ │ │ ├── quick_lint_js.lua │ │ │ │ │ ├── r_language_server.lua │ │ │ │ │ ├── racket_langserver.lua │ │ │ │ │ ├── reason_ls.lua │ │ │ │ │ ├── remark_ls.lua │ │ │ │ │ ├── rescriptls.lua │ │ │ │ │ ├── rls.lua │ │ │ │ │ ├── rnix.lua │ │ │ │ │ ├── robotframework_ls.lua │ │ │ │ │ ├── rome.lua │ │ │ │ │ ├── rust_analyzer.lua │ │ │ │ │ ├── salt_ls.lua │ │ │ │ │ ├── scry.lua │ │ │ │ │ ├── serve_d.lua │ │ │ │ │ ├── sixtyfps.lua │ │ │ │ │ ├── slint_lsp.lua │ │ │ │ │ ├── solang.lua │ │ │ │ │ ├── solargraph.lua │ │ │ │ │ ├── solc.lua │ │ │ │ │ ├── solidity_ls.lua │ │ │ │ │ ├── sorbet.lua │ │ │ │ │ ├── sourcekit.lua │ │ │ │ │ ├── sourcery.lua │ │ │ │ │ ├── spectral.lua │ │ │ │ │ ├── sqlls.lua │ │ │ │ │ ├── sqls.lua │ │ │ │ │ ├── stylelint_lsp.lua │ │ │ │ │ ├── sumneko_lua.lua │ │ │ │ │ ├── svelte.lua │ │ │ │ │ ├── svls.lua │ │ │ │ │ ├── tailwindcss.lua │ │ │ │ │ ├── taplo.lua │ │ │ │ │ ├── teal_ls.lua │ │ │ │ │ ├── terraform_lsp.lua │ │ │ │ │ ├── terraformls.lua │ │ │ │ │ ├── texlab.lua │ │ │ │ │ ├── tflint.lua │ │ │ │ │ ├── theme_check.lua │ │ │ │ │ ├── tsserver.lua │ │ │ │ │ ├── typeprof.lua │ │ │ │ │ ├── vala_ls.lua │ │ │ │ │ ├── vdmj.lua │ │ │ │ │ ├── verible.lua │ │ │ │ │ ├── vimls.lua │ │ │ │ │ ├── vls.lua │ │ │ │ │ ├── volar.lua │ │ │ │ │ ├── vuels.lua │ │ │ │ │ ├── yamlls.lua │ │ │ │ │ ├── zeta_note.lua │ │ │ │ │ ├── zk.lua │ │ │ │ │ └── zls.lua │ │ │ │ ├── ui/ │ │ │ │ │ ├── lspinfo.lua │ │ │ │ │ └── windows.lua │ │ │ │ └── util.lua │ │ │ └── lspconfig.lua │ │ ├── neovim.toml │ │ ├── plugin/ │ │ │ └── lspconfig.vim │ │ ├── scripts/ │ │ │ ├── README_template.md │ │ │ ├── docgen.lua │ │ │ ├── docgen.sh │ │ │ └── run_test.sh │ │ ├── selene.toml │ │ └── test/ │ │ ├── lspconfig_spec.lua │ │ ├── minimal_init.lua │ │ └── test_dir/ │ │ ├── a/ │ │ │ └── a_marker.txt │ │ └── root_marker.txt │ ├── nvim-lspconfig-0.1.4/ │ │ ├── .codespellignorewords │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── config.yml │ │ │ │ └── feature_request.yml │ │ │ ├── PULL_REQUEST_TEMPLATE/ │ │ │ │ └── pull_request_template.md │ │ │ ├── ci/ │ │ │ │ └── run_sanitizer.sh │ │ │ └── workflows/ │ │ │ ├── codespell.yml │ │ │ ├── comment-config-changes.yml │ │ │ ├── commit_lint.yml │ │ │ ├── docgen.yml │ │ │ ├── lint.yml │ │ │ ├── problem_matchers/ │ │ │ │ └── selene.json │ │ │ ├── sanitizer.yml │ │ │ └── test.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── doc/ │ │ │ ├── lspconfig.txt │ │ │ ├── server_configurations.md │ │ │ └── server_configurations.txt │ │ ├── flake.nix │ │ ├── lua/ │ │ │ ├── lspconfig/ │ │ │ │ ├── configs.lua │ │ │ │ ├── server_configurations/ │ │ │ │ │ ├── als.lua │ │ │ │ │ ├── anakin_language_server.lua │ │ │ │ │ ├── angularls.lua │ │ │ │ │ ├── ansiblels.lua │ │ │ │ │ ├── antlersls.lua │ │ │ │ │ ├── apex_ls.lua │ │ │ │ │ ├── arduino_language_server.lua │ │ │ │ │ ├── asm_lsp.lua │ │ │ │ │ ├── astro.lua │ │ │ │ │ ├── awk_ls.lua │ │ │ │ │ ├── bashls.lua │ │ │ │ │ ├── beancount.lua │ │ │ │ │ ├── bicep.lua │ │ │ │ │ ├── blueprint_ls.lua │ │ │ │ │ ├── bsl_ls.lua │ │ │ │ │ ├── bufls.lua │ │ │ │ │ ├── ccls.lua │ │ │ │ │ ├── clangd.lua │ │ │ │ │ ├── clarity_lsp.lua │ │ │ │ │ ├── clojure_lsp.lua │ │ │ │ │ ├── cmake.lua │ │ │ │ │ ├── codeqlls.lua │ │ │ │ │ ├── crystalline.lua │ │ │ │ │ ├── csharp_ls.lua │ │ │ │ │ ├── cssls.lua │ │ │ │ │ ├── cssmodules_ls.lua │ │ │ │ │ ├── cucumber_language_server.lua │ │ │ │ │ ├── dafny.lua │ │ │ │ │ ├── dagger.lua │ │ │ │ │ ├── dartls.lua │ │ │ │ │ ├── denols.lua │ │ │ │ │ ├── dhall_lsp_server.lua │ │ │ │ │ ├── diagnosticls.lua │ │ │ │ │ ├── dockerls.lua │ │ │ │ │ ├── dolmenls.lua │ │ │ │ │ ├── dotls.lua │ │ │ │ │ ├── efm.lua │ │ │ │ │ ├── elixirls.lua │ │ │ │ │ ├── elmls.lua │ │ │ │ │ ├── ember.lua │ │ │ │ │ ├── emmet_ls.lua │ │ │ │ │ ├── erg_language_server.lua │ │ │ │ │ ├── erlangls.lua │ │ │ │ │ ├── esbonio.lua │ │ │ │ │ ├── eslint.lua │ │ │ │ │ ├── fennel-ls.lua │ │ │ │ │ ├── flow.lua │ │ │ │ │ ├── flux_lsp.lua │ │ │ │ │ ├── foam_ls.lua │ │ │ │ │ ├── fortls.lua │ │ │ │ │ ├── fsautocomplete.lua │ │ │ │ │ ├── fsharp_language_server.lua │ │ │ │ │ ├── fstar.lua │ │ │ │ │ ├── gdscript.lua │ │ │ │ │ ├── ghcide.lua │ │ │ │ │ ├── ghdl_ls.lua │ │ │ │ │ ├── gleam.lua │ │ │ │ │ ├── glint.lua │ │ │ │ │ ├── glslls.lua │ │ │ │ │ ├── golangci_lint_ls.lua │ │ │ │ │ ├── gopls.lua │ │ │ │ │ ├── gradle_ls.lua │ │ │ │ │ ├── grammarly.lua │ │ │ │ │ ├── graphql.lua │ │ │ │ │ ├── groovyls.lua │ │ │ │ │ ├── haxe_language_server.lua │ │ │ │ │ ├── hdl_checker.lua │ │ │ │ │ ├── hhvm.lua │ │ │ │ │ ├── hie.lua │ │ │ │ │ ├── hls.lua │ │ │ │ │ ├── hoon_ls.lua │ │ │ │ │ ├── html.lua │ │ │ │ │ ├── idris2_lsp.lua │ │ │ │ │ ├── intelephense.lua │ │ │ │ │ ├── java_language_server.lua │ │ │ │ │ ├── jdtls.lua │ │ │ │ │ ├── jedi_language_server.lua │ │ │ │ │ ├── jsonls.lua │ │ │ │ │ ├── jsonnet_ls.lua │ │ │ │ │ ├── julials.lua │ │ │ │ │ ├── kotlin_language_server.lua │ │ │ │ │ ├── lean3ls.lua │ │ │ │ │ ├── leanls.lua │ │ │ │ │ ├── lelwel_ls.lua │ │ │ │ │ ├── lemminx.lua │ │ │ │ │ ├── ltex.lua │ │ │ │ │ ├── luau_lsp.lua │ │ │ │ │ ├── m68k.lua │ │ │ │ │ ├── marksman.lua │ │ │ │ │ ├── metals.lua │ │ │ │ │ ├── millet.lua │ │ │ │ │ ├── mint.lua │ │ │ │ │ ├── mlir_lsp_server.lua │ │ │ │ │ ├── mlir_pdll_lsp_server.lua │ │ │ │ │ ├── mm0_ls.lua │ │ │ │ │ ├── move_analyzer.lua │ │ │ │ │ ├── neocmake.lua │ │ │ │ │ ├── nickel_ls.lua │ │ │ │ │ ├── nil_ls.lua │ │ │ │ │ ├── nimls.lua │ │ │ │ │ ├── ntt.lua │ │ │ │ │ ├── nxls.lua │ │ │ │ │ ├── ocamlls.lua │ │ │ │ │ ├── ocamllsp.lua │ │ │ │ │ ├── ols.lua │ │ │ │ │ ├── omnisharp.lua │ │ │ │ │ ├── opencl_ls.lua │ │ │ │ │ ├── openscad_ls.lua │ │ │ │ │ ├── pasls.lua │ │ │ │ │ ├── perlls.lua │ │ │ │ │ ├── perlnavigator.lua │ │ │ │ │ ├── perlpls.lua │ │ │ │ │ ├── phan.lua │ │ │ │ │ ├── phpactor.lua │ │ │ │ │ ├── please.lua │ │ │ │ │ ├── powershell_es.lua │ │ │ │ │ ├── prismals.lua │ │ │ │ │ ├── prolog_ls.lua │ │ │ │ │ ├── prosemd_lsp.lua │ │ │ │ │ ├── psalm.lua │ │ │ │ │ ├── puppet.lua │ │ │ │ │ ├── purescriptls.lua │ │ │ │ │ ├── pylsp.lua │ │ │ │ │ ├── pyre.lua │ │ │ │ │ ├── pyright.lua │ │ │ │ │ ├── qml_lsp.lua │ │ │ │ │ ├── qmlls.lua │ │ │ │ │ ├── quick_lint_js.lua │ │ │ │ │ ├── r_language_server.lua │ │ │ │ │ ├── racket_langserver.lua │ │ │ │ │ ├── reason_ls.lua │ │ │ │ │ ├── relay_lsp.lua │ │ │ │ │ ├── remark_ls.lua │ │ │ │ │ ├── rescriptls.lua │ │ │ │ │ ├── rls.lua │ │ │ │ │ ├── rnix.lua │ │ │ │ │ ├── robotframework_ls.lua │ │ │ │ │ ├── rome.lua │ │ │ │ │ ├── ruby_ls.lua │ │ │ │ │ ├── rust_analyzer.lua │ │ │ │ │ ├── salt_ls.lua │ │ │ │ │ ├── scheme_langserver.lua │ │ │ │ │ ├── scry.lua │ │ │ │ │ ├── serve_d.lua │ │ │ │ │ ├── sixtyfps.lua │ │ │ │ │ ├── slint_lsp.lua │ │ │ │ │ ├── smarty_ls.lua │ │ │ │ │ ├── solang.lua │ │ │ │ │ ├── solargraph.lua │ │ │ │ │ ├── solc.lua │ │ │ │ │ ├── solidity.lua │ │ │ │ │ ├── solidity_ls.lua │ │ │ │ │ ├── sorbet.lua │ │ │ │ │ ├── sourcekit.lua │ │ │ │ │ ├── sourcery.lua │ │ │ │ │ ├── spectral.lua │ │ │ │ │ ├── sqlls.lua │ │ │ │ │ ├── sqls.lua │ │ │ │ │ ├── starlark-rust.lua │ │ │ │ │ ├── steep.lua │ │ │ │ │ ├── stylelint_lsp.lua │ │ │ │ │ ├── sumneko_lua.lua │ │ │ │ │ ├── svelte.lua │ │ │ │ │ ├── svlangserver.lua │ │ │ │ │ ├── svls.lua │ │ │ │ │ ├── syntax_tree.lua │ │ │ │ │ ├── tailwindcss.lua │ │ │ │ │ ├── taplo.lua │ │ │ │ │ ├── tblgen_lsp_server.lua │ │ │ │ │ ├── teal_ls.lua │ │ │ │ │ ├── terraform_lsp.lua │ │ │ │ │ ├── terraformls.lua │ │ │ │ │ ├── texlab.lua │ │ │ │ │ ├── tflint.lua │ │ │ │ │ ├── theme_check.lua │ │ │ │ │ ├── tilt_ls.lua │ │ │ │ │ ├── tsserver.lua │ │ │ │ │ ├── turtle_ls.lua │ │ │ │ │ ├── typeprof.lua │ │ │ │ │ ├── unison.lua │ │ │ │ │ ├── vala_ls.lua │ │ │ │ │ ├── vdmj.lua │ │ │ │ │ ├── verible.lua │ │ │ │ │ ├── veridian.lua │ │ │ │ │ ├── vimls.lua │ │ │ │ │ ├── visualforce_ls.lua │ │ │ │ │ ├── vls.lua │ │ │ │ │ ├── volar.lua │ │ │ │ │ ├── vuels.lua │ │ │ │ │ ├── wgsl_analyzer.lua │ │ │ │ │ ├── yamlls.lua │ │ │ │ │ ├── zk.lua │ │ │ │ │ └── zls.lua │ │ │ │ ├── ui/ │ │ │ │ │ ├── lspinfo.lua │ │ │ │ │ └── windows.lua │ │ │ │ └── util.lua │ │ │ └── lspconfig.lua │ │ ├── neovim.yml │ │ ├── nvim-lspconfig-scm-1.rockspec │ │ ├── plugin/ │ │ │ └── lspconfig.lua │ │ ├── scripts/ │ │ │ ├── README_template.md │ │ │ ├── docgen.lua │ │ │ ├── docgen.sh │ │ │ └── run_test.sh │ │ ├── selene.toml │ │ └── test/ │ │ ├── lspconfig_spec.lua │ │ ├── minimal_init.lua │ │ └── test_dir/ │ │ ├── a/ │ │ │ └── a_marker.txt │ │ └── root_marker.txt │ ├── nvim-lspconfig-latest/ │ │ ├── .codespellignorewords │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ ├── CODEOWNERS │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ └── config.yml │ │ │ ├── PULL_REQUEST_TEMPLATE/ │ │ │ │ └── pull_request_template.md │ │ │ ├── ci/ │ │ │ │ └── run_sanitizer.sh │ │ │ ├── dependabot.yml │ │ │ └── workflows/ │ │ │ ├── codespell.yml │ │ │ ├── comment-config-changes.yml │ │ │ ├── commit_lint.yml │ │ │ ├── docgen.yml │ │ │ ├── lint.yml │ │ │ ├── problem_matchers/ │ │ │ │ └── selene.json │ │ │ ├── release.yml │ │ │ ├── sanitizer.yml │ │ │ └── test.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── doc/ │ │ │ ├── lspconfig.txt │ │ │ ├── server_configurations.md │ │ │ └── server_configurations.txt │ │ ├── flake.nix │ │ ├── lua/ │ │ │ ├── lspconfig/ │ │ │ │ ├── async.lua │ │ │ │ ├── configs.lua │ │ │ │ ├── manager.lua │ │ │ │ ├── server_configurations/ │ │ │ │ │ ├── agda_ls.lua │ │ │ │ │ ├── aiken.lua │ │ │ │ │ ├── als.lua │ │ │ │ │ ├── anakin_language_server.lua │ │ │ │ │ ├── angularls.lua │ │ │ │ │ ├── ansiblels.lua │ │ │ │ │ ├── antlersls.lua │ │ │ │ │ ├── apex_ls.lua │ │ │ │ │ ├── arduino_language_server.lua │ │ │ │ │ ├── asm_lsp.lua │ │ │ │ │ ├── ast_grep.lua │ │ │ │ │ ├── astro.lua │ │ │ │ │ ├── autotools_ls.lua │ │ │ │ │ ├── awk_ls.lua │ │ │ │ │ ├── azure_pipelines_ls.lua │ │ │ │ │ ├── bacon_ls.lua │ │ │ │ │ ├── basedpyright.lua │ │ │ │ │ ├── bashls.lua │ │ │ │ │ ├── beancount.lua │ │ │ │ │ ├── bicep.lua │ │ │ │ │ ├── biome.lua │ │ │ │ │ ├── bitbake_language_server.lua │ │ │ │ │ ├── blueprint_ls.lua │ │ │ │ │ ├── bqnlsp.lua │ │ │ │ │ ├── bright_script.lua │ │ │ │ │ ├── bsl_ls.lua │ │ │ │ │ ├── buck2.lua │ │ │ │ │ ├── buddy_ls.lua │ │ │ │ │ ├── bufls.lua │ │ │ │ │ ├── bzl.lua │ │ │ │ │ ├── cadence.lua │ │ │ │ │ ├── cairo_ls.lua │ │ │ │ │ ├── ccls.lua │ │ │ │ │ ├── cds_lsp.lua │ │ │ │ │ ├── circom-lsp.lua │ │ │ │ │ ├── clangd.lua │ │ │ │ │ ├── clarity_lsp.lua │ │ │ │ │ ├── clojure_lsp.lua │ │ │ │ │ ├── cmake.lua │ │ │ │ │ ├── cobol_ls.lua │ │ │ │ │ ├── codeqlls.lua │ │ │ │ │ ├── coffeesense.lua │ │ │ │ │ ├── contextive.lua │ │ │ │ │ ├── coq_lsp.lua │ │ │ │ │ ├── crystalline.lua │ │ │ │ │ ├── csharp_ls.lua │ │ │ │ │ ├── css_variables.lua │ │ │ │ │ ├── cssls.lua │ │ │ │ │ ├── cssmodules_ls.lua │ │ │ │ │ ├── cucumber_language_server.lua │ │ │ │ │ ├── custom_elements_ls.lua │ │ │ │ │ ├── cypher_ls.lua │ │ │ │ │ ├── dafny.lua │ │ │ │ │ ├── dagger.lua │ │ │ │ │ ├── dartls.lua │ │ │ │ │ ├── dcmls.lua │ │ │ │ │ ├── debputy.lua │ │ │ │ │ ├── delphi_ls.lua │ │ │ │ │ ├── denols.lua │ │ │ │ │ ├── dhall_lsp_server.lua │ │ │ │ │ ├── diagnosticls.lua │ │ │ │ │ ├── digestif.lua │ │ │ │ │ ├── docker_compose_language_service.lua │ │ │ │ │ ├── dockerls.lua │ │ │ │ │ ├── dolmenls.lua │ │ │ │ │ ├── dotls.lua │ │ │ │ │ ├── dprint.lua │ │ │ │ │ ├── drools_lsp.lua │ │ │ │ │ ├── ds_pinyin_lsp.lua │ │ │ │ │ ├── earthlyls.lua │ │ │ │ │ ├── ecsact.lua │ │ │ │ │ ├── efm.lua │ │ │ │ │ ├── elixirls.lua │ │ │ │ │ ├── elmls.lua │ │ │ │ │ ├── elp.lua │ │ │ │ │ ├── ember.lua │ │ │ │ │ ├── emmet_language_server.lua │ │ │ │ │ ├── emmet_ls.lua │ │ │ │ │ ├── erg_language_server.lua │ │ │ │ │ ├── erlangls.lua │ │ │ │ │ ├── esbonio.lua │ │ │ │ │ ├── eslint.lua │ │ │ │ │ ├── facility_language_server.lua │ │ │ │ │ ├── fennel_language_server.lua │ │ │ │ │ ├── fennel_ls.lua │ │ │ │ │ ├── flow.lua │ │ │ │ │ ├── flux_lsp.lua │ │ │ │ │ ├── foam_ls.lua │ │ │ │ │ ├── fortls.lua │ │ │ │ │ ├── fsautocomplete.lua │ │ │ │ │ ├── fsharp_language_server.lua │ │ │ │ │ ├── fstar.lua │ │ │ │ │ ├── futhark_lsp.lua │ │ │ │ │ ├── gdscript.lua │ │ │ │ │ ├── gdshader_lsp.lua │ │ │ │ │ ├── ghcide.lua │ │ │ │ │ ├── ghdl_ls.lua │ │ │ │ │ ├── ginko_ls.lua │ │ │ │ │ ├── gitlab_ci_ls.lua │ │ │ │ │ ├── gleam.lua │ │ │ │ │ ├── glint.lua │ │ │ │ │ ├── glsl_analyzer.lua │ │ │ │ │ ├── glslls.lua │ │ │ │ │ ├── golangci_lint_ls.lua │ │ │ │ │ ├── gopls.lua │ │ │ │ │ ├── gradle_ls.lua │ │ │ │ │ ├── grammarly.lua │ │ │ │ │ ├── graphql.lua │ │ │ │ │ ├── groovyls.lua │ │ │ │ │ ├── guile_ls.lua │ │ │ │ │ ├── harper_ls.lua │ │ │ │ │ ├── haxe_language_server.lua │ │ │ │ │ ├── hdl_checker.lua │ │ │ │ │ ├── helm_ls.lua │ │ │ │ │ ├── hhvm.lua │ │ │ │ │ ├── hie.lua │ │ │ │ │ ├── hlasm.lua │ │ │ │ │ ├── hls.lua │ │ │ │ │ ├── hoon_ls.lua │ │ │ │ │ ├── html.lua │ │ │ │ │ ├── htmx.lua │ │ │ │ │ ├── hydra_lsp.lua │ │ │ │ │ ├── hyprls.lua │ │ │ │ │ ├── idris2_lsp.lua │ │ │ │ │ ├── intelephense.lua │ │ │ │ │ ├── java_language_server.lua │ │ │ │ │ ├── jdtls.lua │ │ │ │ │ ├── jedi_language_server.lua │ │ │ │ │ ├── jinja_lsp.lua │ │ │ │ │ ├── jqls.lua │ │ │ │ │ ├── jsonls.lua │ │ │ │ │ ├── jsonnet_ls.lua │ │ │ │ │ ├── julials.lua │ │ │ │ │ ├── koka.lua │ │ │ │ │ ├── kotlin_language_server.lua │ │ │ │ │ ├── lean3ls.lua │ │ │ │ │ ├── leanls.lua │ │ │ │ │ ├── lelwel_ls.lua │ │ │ │ │ ├── lemminx.lua │ │ │ │ │ ├── lexical.lua │ │ │ │ │ ├── ltex.lua │ │ │ │ │ ├── lua_ls.lua │ │ │ │ │ ├── luau_lsp.lua │ │ │ │ │ ├── lwc_ls.lua │ │ │ │ │ ├── m68k.lua │ │ │ │ │ ├── markdown_oxide.lua │ │ │ │ │ ├── marksman.lua │ │ │ │ │ ├── matlab_ls.lua │ │ │ │ │ ├── mdx_analyzer.lua │ │ │ │ │ ├── mesonlsp.lua │ │ │ │ │ ├── metals.lua │ │ │ │ │ ├── millet.lua │ │ │ │ │ ├── mint.lua │ │ │ │ │ ├── mlir_lsp_server.lua │ │ │ │ │ ├── mlir_pdll_lsp_server.lua │ │ │ │ │ ├── mm0_ls.lua │ │ │ │ │ ├── mojo.lua │ │ │ │ │ ├── motoko_lsp.lua │ │ │ │ │ ├── move_analyzer.lua │ │ │ │ │ ├── mutt_ls.lua │ │ │ │ │ ├── nelua_lsp.lua │ │ │ │ │ ├── neocmake.lua │ │ │ │ │ ├── nextls.lua │ │ │ │ │ ├── nginx_language_server.lua │ │ │ │ │ ├── nickel_ls.lua │ │ │ │ │ ├── nil_ls.lua │ │ │ │ │ ├── nim_langserver.lua │ │ │ │ │ ├── nimls.lua │ │ │ │ │ ├── nixd.lua │ │ │ │ │ ├── nomad_lsp.lua │ │ │ │ │ ├── ntt.lua │ │ │ │ │ ├── nushell.lua │ │ │ │ │ ├── nxls.lua │ │ │ │ │ ├── ocamlls.lua │ │ │ │ │ ├── ocamllsp.lua │ │ │ │ │ ├── ols.lua │ │ │ │ │ ├── omnisharp.lua │ │ │ │ │ ├── opencl_ls.lua │ │ │ │ │ ├── openedge_ls.lua │ │ │ │ │ ├── openscad_ls.lua │ │ │ │ │ ├── openscad_lsp.lua │ │ │ │ │ ├── pact_ls.lua │ │ │ │ │ ├── pasls.lua │ │ │ │ │ ├── pbls.lua │ │ │ │ │ ├── perlls.lua │ │ │ │ │ ├── perlnavigator.lua │ │ │ │ │ ├── perlpls.lua │ │ │ │ │ ├── pest_ls.lua │ │ │ │ │ ├── phan.lua │ │ │ │ │ ├── phpactor.lua │ │ │ │ │ ├── pico8_ls.lua │ │ │ │ │ ├── pkgbuild_language_server.lua │ │ │ │ │ ├── please.lua │ │ │ │ │ ├── postgres_lsp.lua │ │ │ │ │ ├── powershell_es.lua │ │ │ │ │ ├── prismals.lua │ │ │ │ │ ├── prolog_ls.lua │ │ │ │ │ ├── prosemd_lsp.lua │ │ │ │ │ ├── psalm.lua │ │ │ │ │ ├── puppet.lua │ │ │ │ │ ├── purescriptls.lua │ │ │ │ │ ├── pylsp.lua │ │ │ │ │ ├── pylyzer.lua │ │ │ │ │ ├── pyre.lua │ │ │ │ │ ├── pyright.lua │ │ │ │ │ ├── qml_lsp.lua │ │ │ │ │ ├── qmlls.lua │ │ │ │ │ ├── quick_lint_js.lua │ │ │ │ │ ├── r_language_server.lua │ │ │ │ │ ├── racket_langserver.lua │ │ │ │ │ ├── raku_navigator.lua │ │ │ │ │ ├── reason_ls.lua │ │ │ │ │ ├── regal.lua │ │ │ │ │ ├── regols.lua │ │ │ │ │ ├── relay_lsp.lua │ │ │ │ │ ├── remark_ls.lua │ │ │ │ │ ├── rescriptls.lua │ │ │ │ │ ├── rls.lua │ │ │ │ │ ├── rnix.lua │ │ │ │ │ ├── robotframework_ls.lua │ │ │ │ │ ├── roc_ls.lua │ │ │ │ │ ├── rome.lua │ │ │ │ │ ├── rubocop.lua │ │ │ │ │ ├── ruby_lsp.lua │ │ │ │ │ ├── ruff.lua │ │ │ │ │ ├── ruff_lsp.lua │ │ │ │ │ ├── rune_languageserver.lua │ │ │ │ │ ├── rust_analyzer.lua │ │ │ │ │ ├── salt_ls.lua │ │ │ │ │ ├── scheme_langserver.lua │ │ │ │ │ ├── scry.lua │ │ │ │ │ ├── serve_d.lua │ │ │ │ │ ├── shopify_theme_ls.lua │ │ │ │ │ ├── sixtyfps.lua │ │ │ │ │ ├── slangd.lua │ │ │ │ │ ├── slint_lsp.lua │ │ │ │ │ ├── smarty_ls.lua │ │ │ │ │ ├── smithy_ls.lua │ │ │ │ │ ├── snyk_ls.lua │ │ │ │ │ ├── solang.lua │ │ │ │ │ ├── solargraph.lua │ │ │ │ │ ├── solc.lua │ │ │ │ │ ├── solidity.lua │ │ │ │ │ ├── solidity_ls.lua │ │ │ │ │ ├── solidity_ls_nomicfoundation.lua │ │ │ │ │ ├── somesass_ls.lua │ │ │ │ │ ├── sorbet.lua │ │ │ │ │ ├── sourcekit.lua │ │ │ │ │ ├── sourcery.lua │ │ │ │ │ ├── spectral.lua │ │ │ │ │ ├── spyglassmc_language_server.lua │ │ │ │ │ ├── sqlls.lua │ │ │ │ │ ├── sqls.lua │ │ │ │ │ ├── standardrb.lua │ │ │ │ │ ├── starlark_rust.lua │ │ │ │ │ ├── starpls.lua │ │ │ │ │ ├── statix.lua │ │ │ │ │ ├── steep.lua │ │ │ │ │ ├── stimulus_ls.lua │ │ │ │ │ ├── stylelint_lsp.lua │ │ │ │ │ ├── svelte.lua │ │ │ │ │ ├── svlangserver.lua │ │ │ │ │ ├── svls.lua │ │ │ │ │ ├── swift_mesonls.lua │ │ │ │ │ ├── syntax_tree.lua │ │ │ │ │ ├── tabby_ml.lua │ │ │ │ │ ├── tailwindcss.lua │ │ │ │ │ ├── taplo.lua │ │ │ │ │ ├── tblgen_lsp_server.lua │ │ │ │ │ ├── teal_ls.lua │ │ │ │ │ ├── templ.lua │ │ │ │ │ ├── terraform_lsp.lua │ │ │ │ │ ├── terraformls.lua │ │ │ │ │ ├── texlab.lua │ │ │ │ │ ├── textlsp.lua │ │ │ │ │ ├── tflint.lua │ │ │ │ │ ├── theme_check.lua │ │ │ │ │ ├── thriftls.lua │ │ │ │ │ ├── tilt_ls.lua │ │ │ │ │ ├── tinymist.lua │ │ │ │ │ ├── tsp_server.lua │ │ │ │ │ ├── tsserver.lua │ │ │ │ │ ├── ttags.lua │ │ │ │ │ ├── turtle_ls.lua │ │ │ │ │ ├── twiggy_language_server.lua │ │ │ │ │ ├── typeprof.lua │ │ │ │ │ ├── typos_lsp.lua │ │ │ │ │ ├── typst_lsp.lua │ │ │ │ │ ├── uiua.lua │ │ │ │ │ ├── unison.lua │ │ │ │ │ ├── unocss.lua │ │ │ │ │ ├── uvls.lua │ │ │ │ │ ├── v_analyzer.lua │ │ │ │ │ ├── vacuum.lua │ │ │ │ │ ├── vala_ls.lua │ │ │ │ │ ├── vale_ls.lua │ │ │ │ │ ├── vdmj.lua │ │ │ │ │ ├── verible.lua │ │ │ │ │ ├── veridian.lua │ │ │ │ │ ├── veryl_ls.lua │ │ │ │ │ ├── vhdl_ls.lua │ │ │ │ │ ├── vimls.lua │ │ │ │ │ ├── visualforce_ls.lua │ │ │ │ │ ├── vls.lua │ │ │ │ │ ├── volar.lua │ │ │ │ │ ├── vtsls.lua │ │ │ │ │ ├── vuels.lua │ │ │ │ │ ├── wgsl_analyzer.lua │ │ │ │ │ ├── yamlls.lua │ │ │ │ │ ├── yang_lsp.lua │ │ │ │ │ ├── yls.lua │ │ │ │ │ ├── zk.lua │ │ │ │ │ └── zls.lua │ │ │ │ ├── ui/ │ │ │ │ │ ├── lspinfo.lua │ │ │ │ │ └── windows.lua │ │ │ │ └── util.lua │ │ │ └── lspconfig.lua │ │ ├── neovim.yml │ │ ├── nvim-lspconfig-scm-1.rockspec │ │ ├── plugin/ │ │ │ └── lspconfig.lua │ │ ├── scripts/ │ │ │ ├── README_template.md │ │ │ ├── docgen.lua │ │ │ └── docgen.sh │ │ ├── selene.toml │ │ └── test/ │ │ ├── lspconfig_spec.lua │ │ ├── minimal_init.lua │ │ └── test_dir/ │ │ ├── a/ │ │ │ └── a_marker.txt │ │ └── root_marker.txt │ ├── nvim-plug/ │ │ ├── README.md │ │ ├── lua/ │ │ │ └── plug/ │ │ │ ├── config.lua │ │ │ ├── hooks.lua │ │ │ ├── init.lua │ │ │ ├── installer.lua │ │ │ ├── loader.lua │ │ │ └── ui.lua │ │ ├── plugin/ │ │ │ └── plug.lua │ │ └── test/ │ │ └── init.lua │ ├── nvim-surround/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── config.yml │ │ │ │ └── feature_request.md │ │ │ └── workflows/ │ │ │ ├── integration.yml │ │ │ ├── luarocks-release.yml │ │ │ └── release-please.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ └── nvim-surround.txt │ │ ├── lua/ │ │ │ └── nvim-surround/ │ │ │ ├── annotations.lua │ │ │ ├── buffer.lua │ │ │ ├── cache.lua │ │ │ ├── config.lua │ │ │ ├── functional.lua │ │ │ ├── init.lua │ │ │ ├── input.lua │ │ │ ├── motions.lua │ │ │ ├── patterns.lua │ │ │ ├── queries.lua │ │ │ ├── treesitter.lua │ │ │ └── utils.lua │ │ ├── queries/ │ │ │ └── lua/ │ │ │ └── nvim-surround.scm │ │ ├── selene.toml │ │ ├── stylua.toml │ │ ├── tests/ │ │ │ ├── aliases_spec.lua │ │ │ ├── basics_spec.lua │ │ │ ├── configuration_spec.lua │ │ │ ├── dot_repeat_spec.lua │ │ │ ├── function_calls_spec.lua │ │ │ ├── html_tags_spec.lua │ │ │ ├── jumps_spec.lua │ │ │ └── minimal_init.lua │ │ └── vim.yml │ ├── nvim-tree.lua/ │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── feature_request.md │ │ │ │ └── nvt-min.lua │ │ │ └── workflows/ │ │ │ └── ci.yml │ │ ├── .hooks/ │ │ │ └── pre-commit.sh │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ ├── .gitignore │ │ │ └── nvim-tree-lua.txt │ │ ├── lua/ │ │ │ ├── nvim-tree/ │ │ │ │ ├── actions/ │ │ │ │ │ ├── change-dir.lua │ │ │ │ │ ├── collapse-all.lua │ │ │ │ │ ├── copy-paste.lua │ │ │ │ │ ├── create-file.lua │ │ │ │ │ ├── dir-up.lua │ │ │ │ │ ├── file-popup.lua │ │ │ │ │ ├── find-file.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── movements.lua │ │ │ │ │ ├── open-file.lua │ │ │ │ │ ├── reloaders.lua │ │ │ │ │ ├── remove-file.lua │ │ │ │ │ ├── rename-file.lua │ │ │ │ │ ├── run-command.lua │ │ │ │ │ ├── search-node.lua │ │ │ │ │ ├── system-open.lua │ │ │ │ │ ├── toggles.lua │ │ │ │ │ └── trash.lua │ │ │ │ ├── colors.lua │ │ │ │ ├── config.lua │ │ │ │ ├── core.lua │ │ │ │ ├── diagnostics.lua │ │ │ │ ├── events.lua │ │ │ │ ├── explorer/ │ │ │ │ │ ├── common.lua │ │ │ │ │ ├── explore.lua │ │ │ │ │ ├── filters.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── node-builders.lua │ │ │ │ │ ├── reload.lua │ │ │ │ │ └── sorters.lua │ │ │ │ ├── git/ │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── runner.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── legacy.lua │ │ │ │ ├── lib.lua │ │ │ │ ├── log.lua │ │ │ │ ├── renderer/ │ │ │ │ │ ├── builder.lua │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── git.lua │ │ │ │ │ │ ├── icons.lua │ │ │ │ │ │ └── padding.lua │ │ │ │ │ ├── help.lua │ │ │ │ │ ├── icon-config.lua │ │ │ │ │ └── init.lua │ │ │ │ ├── utils.lua │ │ │ │ └── view.lua │ │ │ └── nvim-tree.lua │ │ ├── scripts/ │ │ │ └── setup-hooks.sh │ │ └── update-default-opts.sh │ ├── nvim-treesitter/ │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ ├── CODEOWNERS │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── feature_request.md │ │ │ │ └── highlighting_issue.yml │ │ │ ├── mergify.yml │ │ │ └── workflows/ │ │ │ ├── lint.yml │ │ │ ├── release.yml │ │ │ ├── test-queries.yml │ │ │ ├── tests.yml │ │ │ ├── update-lockfile.yml │ │ │ └── update-readme.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── .styluaignore │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── nvim_treesitter.vim │ │ ├── doc/ │ │ │ └── nvim-treesitter.txt │ │ ├── lockfile.json │ │ ├── lua/ │ │ │ ├── nvim-treesitter/ │ │ │ │ ├── caching.lua │ │ │ │ ├── compat.lua │ │ │ │ ├── configs.lua │ │ │ │ ├── fold.lua │ │ │ │ ├── health.lua │ │ │ │ ├── highlight.lua │ │ │ │ ├── incremental_selection.lua │ │ │ │ ├── indent.lua │ │ │ │ ├── info.lua │ │ │ │ ├── install.lua │ │ │ │ ├── locals.lua │ │ │ │ ├── parsers.lua │ │ │ │ ├── query.lua │ │ │ │ ├── query_predicates.lua │ │ │ │ ├── shell_command_selectors.lua │ │ │ │ ├── statusline.lua │ │ │ │ ├── ts_utils.lua │ │ │ │ ├── tsrange.lua │ │ │ │ └── utils.lua │ │ │ └── nvim-treesitter.lua │ │ ├── nvim-treesitter-scm-1.rockspec │ │ ├── parser/ │ │ │ └── .gitignore │ │ ├── parser-info/ │ │ │ └── .gitignore │ │ ├── plugin/ │ │ │ └── nvim-treesitter.lua │ │ ├── queries/ │ │ │ ├── ada/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── agda/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── arduino/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── astro/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── awk/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── bash/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── bass/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── beancount/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── bibtex/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── bicep/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── blueprint/ │ │ │ │ └── highlights.scm │ │ │ ├── c/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── c_sharp/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── capnp/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── chatito/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── clojure/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── cmake/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── comment/ │ │ │ │ └── highlights.scm │ │ │ ├── commonlisp/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── cooklang/ │ │ │ │ └── highlights.scm │ │ │ ├── corn/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── cpon/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── cpp/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── css/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── cuda/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── cue/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── d/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── dart/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── devicetree/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── dhall/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── diff/ │ │ │ │ └── highlights.scm │ │ │ ├── dockerfile/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── dot/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── ebnf/ │ │ │ │ └── highlights.scm │ │ │ ├── ecma/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── eex/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── elixir/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── elm/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── elsa/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── elvish/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── embedded_template/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── erlang/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── fennel/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── firrtl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── fish/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── foam/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── fortran/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── fsh/ │ │ │ │ └── highlights.scm │ │ │ ├── func/ │ │ │ │ └── highlights.scm │ │ │ ├── fusion/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── gdscript/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── git_config/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── git_rebase/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── gitattributes/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── gitcommit/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── gitignore/ │ │ │ │ └── highlights.scm │ │ │ ├── gleam/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── glimmer/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── glsl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── go/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── godot_resource/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── gomod/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── gosum/ │ │ │ │ └── highlights.scm │ │ │ ├── gowork/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── graphql/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── hack/ │ │ │ │ └── highlights.scm │ │ │ ├── hare/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── haskell/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── hcl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── heex/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── hjson/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── hlsl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── hocon/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── html/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── html_tags/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── htmldjango/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── http/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── ini/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── ispc/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── janet_simple/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── java/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── javascript/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── jq/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── jsdoc/ │ │ │ │ └── highlights.scm │ │ │ ├── json/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── json5/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── jsonc/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── jsonnet/ │ │ │ │ └── highlights.scm │ │ │ ├── jsx/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── julia/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── kdl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── kotlin/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── lalrpop/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── latex/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── ledger/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── llvm/ │ │ │ │ └── highlights.scm │ │ │ ├── lua/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── luadoc/ │ │ │ │ └── highlights.scm │ │ │ ├── luap/ │ │ │ │ └── highlights.scm │ │ │ ├── luau/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── m68k/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── make/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── markdown/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── markdown_inline/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── matlab/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── menhir/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── mermaid/ │ │ │ │ └── highlights.scm │ │ │ ├── meson/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── mlir/ │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── nickel/ │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── ninja/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── nix/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── objc/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ocaml/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ocaml_interface/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ocamllex/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── odin/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── pascal/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── passwd/ │ │ │ │ └── highlights.scm │ │ │ ├── perl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── php/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── phpdoc/ │ │ │ │ └── highlights.scm │ │ │ ├── pioasm/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── po/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── poe_filter/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── pony/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── prisma/ │ │ │ │ └── highlights.scm │ │ │ ├── proto/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── prql/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── pug/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── puppet/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── python/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ql/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── qmldir/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── qmljs/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── query/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── r/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── racket/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── rasi/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── regex/ │ │ │ │ └── highlights.scm │ │ │ ├── rego/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── rnoweb/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── ron/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── rst/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ruby/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── rust/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── scala/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── scheme/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── scss/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── slint/ │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── smali/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── smithy/ │ │ │ │ └── highlights.scm │ │ │ ├── solidity/ │ │ │ │ └── highlights.scm │ │ │ ├── sparql/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── sql/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── squirrel/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── starlark/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── supercollider/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── surface/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── svelte/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── swift/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── sxhkdrc/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── t32/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── tablegen/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── teal/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── terraform/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── thrift/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── tiger/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── tlaplus/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── todotxt/ │ │ │ │ └── highlights.scm │ │ │ ├── toml/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── tsx/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── turtle/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── twig/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── typescript/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ungrammar/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── usd/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── uxntal/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── v/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── vala/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── verilog/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── vhs/ │ │ │ │ └── highlights.scm │ │ │ ├── vim/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── vimdoc/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── vue/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── wgsl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── wgsl_bevy/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── yaml/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── yang/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── yuck/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ └── zig/ │ │ │ ├── folds.scm │ │ │ ├── highlights.scm │ │ │ ├── indents.scm │ │ │ ├── injections.scm │ │ │ └── locals.scm │ │ ├── scripts/ │ │ │ ├── check-queries.lua │ │ │ ├── ci-install-macos-latest.sh │ │ │ ├── ci-install-ubuntu-latest.sh │ │ │ ├── ci-install-windows-2022.sh │ │ │ ├── compile_parsers.makefile │ │ │ ├── minimal_init.lua │ │ │ ├── pre-push │ │ │ ├── run_tests.sh │ │ │ ├── update-lockfile.sh │ │ │ ├── update-readme.lua │ │ │ └── write-lockfile.lua │ │ └── tests/ │ │ ├── indent/ │ │ │ ├── algorithm/ │ │ │ │ ├── trailing.py │ │ │ │ └── trailing_whitespace.html │ │ │ ├── algorithm_spec.lua │ │ │ ├── c/ │ │ │ │ ├── aligned_indent.c │ │ │ │ ├── array.c │ │ │ │ ├── comment.c │ │ │ │ ├── compound_lit.c │ │ │ │ ├── cond.c │ │ │ │ ├── enum.c │ │ │ │ ├── expr.c │ │ │ │ ├── func.c │ │ │ │ ├── if_else.c │ │ │ │ ├── issue-1568.c │ │ │ │ ├── issue-2086.c │ │ │ │ ├── issue-4079.c │ │ │ │ ├── issue-4117.c │ │ │ │ ├── issue-4525.c │ │ │ │ ├── label.c │ │ │ │ ├── loop.c │ │ │ │ ├── no_braces.c │ │ │ │ ├── preproc_cond.c │ │ │ │ ├── preproc_func.c │ │ │ │ ├── string.c │ │ │ │ ├── struct.c │ │ │ │ ├── switch.c │ │ │ │ ├── ternary.c │ │ │ │ └── unfinished_comment.c │ │ │ ├── c_spec.lua │ │ │ ├── capnp/ │ │ │ │ └── test.capnp │ │ │ ├── capnp_spec.lua │ │ │ ├── common.lua │ │ │ ├── cpp/ │ │ │ │ ├── access.cpp │ │ │ │ ├── class.cpp │ │ │ │ ├── initializer_list.cpp │ │ │ │ └── stream.cpp │ │ │ ├── cpp_spec.lua │ │ │ ├── css/ │ │ │ │ ├── next_rule.css │ │ │ │ └── open_block.css │ │ │ ├── css_spec.lua │ │ │ ├── dart/ │ │ │ │ ├── class.dart │ │ │ │ ├── class_function_argument.dart │ │ │ │ ├── multiple_arguments.dart │ │ │ │ ├── switch.dart │ │ │ │ └── try.dart │ │ │ ├── dart_spec.lua │ │ │ ├── ecma/ │ │ │ │ ├── array-issue3382.js │ │ │ │ ├── binary_expression.js │ │ │ │ ├── callback.js │ │ │ │ ├── class.js │ │ │ │ ├── func.js │ │ │ │ ├── if_else.js │ │ │ │ ├── issue-2515.js │ │ │ │ ├── new-line-after-class.js │ │ │ │ ├── object.js │ │ │ │ ├── switch.js │ │ │ │ ├── ternary.js │ │ │ │ ├── try_catch.js │ │ │ │ └── variable.js │ │ │ ├── gdscript/ │ │ │ │ └── basic_blocks.gd │ │ │ ├── gdscript_spec.lua │ │ │ ├── gleam/ │ │ │ │ ├── anonymous_function.gleam │ │ │ │ ├── assert.gleam │ │ │ │ ├── binary_expression.gleam │ │ │ │ ├── case.gleam │ │ │ │ ├── constant.gleam │ │ │ │ ├── function.gleam │ │ │ │ ├── import.gleam │ │ │ │ ├── let.gleam │ │ │ │ ├── list.gleam │ │ │ │ ├── pipe.gleam │ │ │ │ ├── todo.gleam │ │ │ │ ├── tuple.gleam │ │ │ │ └── type.gleam │ │ │ ├── gleam_spec.lua │ │ │ ├── go/ │ │ │ │ ├── const_declaration.go │ │ │ │ ├── issue-2369-newline.go │ │ │ │ ├── issue-2369.go │ │ │ │ ├── issue-3288.go │ │ │ │ ├── multiple-vars.go │ │ │ │ ├── select.go │ │ │ │ └── switch.go │ │ │ ├── go_spec.lua │ │ │ ├── graphql/ │ │ │ │ └── issue-1981.graphql │ │ │ ├── graphql_spec.lua │ │ │ ├── html/ │ │ │ │ ├── issue-3986.html │ │ │ │ ├── script_style.html │ │ │ │ ├── self_closing_tag.html │ │ │ │ └── start_tag.html │ │ │ ├── html_spec.lua │ │ │ ├── java/ │ │ │ │ ├── annotation.java │ │ │ │ ├── annotation_2.java │ │ │ │ ├── class_with_annotation.java │ │ │ │ ├── constructor_with_arguments_on_multiple_lines.java │ │ │ │ ├── enum.java │ │ │ │ ├── enum_with_annotation.java │ │ │ │ ├── interface.java │ │ │ │ ├── issue_2571.java │ │ │ │ ├── issue_2583.java │ │ │ │ ├── javadoc.java │ │ │ │ ├── method.java │ │ │ │ ├── method_chaining.java │ │ │ │ └── method_with_arguments_on_multiple_lines.java │ │ │ ├── java_spec.lua │ │ │ ├── javascript_spec.lua │ │ │ ├── jsx/ │ │ │ │ ├── element_attributes.jsx │ │ │ │ ├── issue-3986.jsx │ │ │ │ └── jsx_expression.jsx │ │ │ ├── jsx_spec.lua │ │ │ ├── lua/ │ │ │ │ ├── comment.lua │ │ │ │ ├── cond.lua │ │ │ │ ├── func.lua │ │ │ │ ├── loop.lua │ │ │ │ ├── method_index_expr.lua │ │ │ │ ├── nested-table.lua │ │ │ │ ├── no-indent-after-paren-pairs.lua │ │ │ │ ├── string.lua │ │ │ │ └── table.lua │ │ │ ├── lua_spec.lua │ │ │ ├── nickel/ │ │ │ │ └── indent-newline.ncl │ │ │ ├── nickel_spec.lua │ │ │ ├── php/ │ │ │ │ ├── enum-indent.php │ │ │ │ ├── example.php │ │ │ │ ├── example2.php │ │ │ │ ├── issue-2497.php │ │ │ │ ├── issue-3591.php │ │ │ │ └── unfinished-call.php │ │ │ ├── php_spec.lua │ │ │ ├── python/ │ │ │ │ ├── aligned_indent.py │ │ │ │ ├── aligned_indent_2.py │ │ │ │ ├── basic_blocks.py │ │ │ │ ├── basic_collections.py │ │ │ │ ├── branches.py │ │ │ │ ├── break_continue.py │ │ │ │ ├── comprehensions.py │ │ │ │ ├── control_flow.py │ │ │ │ ├── error_state_def.py │ │ │ │ ├── error_state_dict.py │ │ │ │ ├── error_state_funcall.py │ │ │ │ ├── error_state_list.py │ │ │ │ ├── error_state_set.py │ │ │ │ ├── error_state_tuple.py │ │ │ │ ├── error_state_tuple_align.py │ │ │ │ ├── hanging_indent.py │ │ │ │ ├── if_else.py │ │ │ │ ├── join_lines.py │ │ │ │ ├── line_after_indent.py │ │ │ │ ├── match_case.py │ │ │ │ ├── nested_collections.py │ │ │ │ ├── return_dedent.py │ │ │ │ └── strings.py │ │ │ ├── python_spec.lua │ │ │ ├── ql/ │ │ │ │ └── module.ql │ │ │ ├── ql_spec.lua │ │ │ ├── r/ │ │ │ │ ├── aligned_indent.R │ │ │ │ ├── comment.R │ │ │ │ ├── cond.R │ │ │ │ ├── func.R │ │ │ │ ├── loop.R │ │ │ │ └── pipe.R │ │ │ ├── r_spec.lua │ │ │ ├── ruby/ │ │ │ │ ├── indent-assignment.rb │ │ │ │ ├── indent-brackets.rb │ │ │ │ ├── indent-ensure.rb │ │ │ │ ├── indent-parens.rb │ │ │ │ ├── indent-parenthesized-statements.rb │ │ │ │ ├── indent-rescue.rb │ │ │ │ ├── indent-square-brackets.rb │ │ │ │ ├── indent-unless.rb │ │ │ │ └── period-issue-3364.rb │ │ │ ├── ruby_spec.lua │ │ │ ├── rust/ │ │ │ │ ├── array.rs │ │ │ │ ├── comment.rs │ │ │ │ ├── cond.rs │ │ │ │ ├── enum.rs │ │ │ │ ├── func.rs │ │ │ │ ├── if_let_cond.rs │ │ │ │ ├── impl.rs │ │ │ │ ├── loop.rs │ │ │ │ ├── macro.rs │ │ │ │ ├── match.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── string.rs │ │ │ │ ├── struct.rs │ │ │ │ ├── trait.rs │ │ │ │ └── where.rs │ │ │ ├── rust_spec.lua │ │ │ ├── smali/ │ │ │ │ ├── array_and_switch.smali │ │ │ │ ├── field.smali │ │ │ │ ├── method.smali │ │ │ │ └── parameter.smali │ │ │ ├── smali_spec.lua │ │ │ ├── sql/ │ │ │ │ ├── case.sql │ │ │ │ ├── compound.sql │ │ │ │ ├── create.sql │ │ │ │ ├── cte.sql │ │ │ │ ├── insert.sql │ │ │ │ ├── select.sql │ │ │ │ └── subquery.sql │ │ │ ├── sql_spec.lua │ │ │ ├── swift/ │ │ │ │ ├── declarations.swift │ │ │ │ ├── expressions.swift │ │ │ │ └── statements.swift │ │ │ ├── swift_spec.lua │ │ │ ├── t32/ │ │ │ │ ├── if_block.cmm │ │ │ │ ├── repeat_block.cmm │ │ │ │ ├── subroutine_block.cmm │ │ │ │ └── while_block.cmm │ │ │ ├── t32_spec.lua │ │ │ ├── terraform/ │ │ │ │ ├── function_call.tf │ │ │ │ ├── indent-in-multiline-objects.tf │ │ │ │ ├── indent-in-multiline-tuples.tf │ │ │ │ ├── multiline-comments.tf │ │ │ │ ├── multiple-attributes.tf │ │ │ │ ├── multiple-blocks.tf │ │ │ │ ├── nested_blocks.tf │ │ │ │ └── no-indent-after-brace.tf │ │ │ ├── terraform_spec.lua │ │ │ ├── tiger/ │ │ │ │ ├── classes.tig │ │ │ │ ├── control-flow.tig │ │ │ │ ├── functions.tig │ │ │ │ ├── groupings.tig │ │ │ │ └── values-and-expressions.tig │ │ │ ├── tiger_spec.lua │ │ │ ├── usd/ │ │ │ │ └── prim.usd │ │ │ ├── usd_spec.lua │ │ │ ├── vue/ │ │ │ │ └── template_indent.vue │ │ │ ├── vue_spec.lua │ │ │ ├── wgsl/ │ │ │ │ └── basic.wgsl │ │ │ ├── wgsl_spec.lua │ │ │ ├── yaml/ │ │ │ │ ├── autoindent-mapping-pair.yaml │ │ │ │ └── indent-sequence-items.yaml │ │ │ ├── yaml_spec.lua │ │ │ ├── yang/ │ │ │ │ └── module.yang │ │ │ ├── yang_spec.lua │ │ │ ├── zig/ │ │ │ │ └── pr-3269.zig │ │ │ └── zig_spec.lua │ │ ├── query/ │ │ │ ├── highlights/ │ │ │ │ ├── bash/ │ │ │ │ │ └── double-parens.sh │ │ │ │ ├── c/ │ │ │ │ │ └── enums-as-constants.c │ │ │ │ ├── capnp/ │ │ │ │ │ └── test.capnp │ │ │ │ ├── cpp/ │ │ │ │ │ ├── concepts.cpp │ │ │ │ │ ├── enums-as-constants.cpp │ │ │ │ │ ├── static-namespace-functions.cpp │ │ │ │ │ └── test.cpp │ │ │ │ ├── ecma/ │ │ │ │ │ ├── const.js │ │ │ │ │ └── test.ts │ │ │ │ ├── fusion/ │ │ │ │ │ ├── afx.fusion │ │ │ │ │ ├── basic.fusion │ │ │ │ │ └── expressions.fusion │ │ │ │ ├── gitattributes/ │ │ │ │ │ └── test.gitattributes │ │ │ │ ├── gleam/ │ │ │ │ │ ├── assert.gleam │ │ │ │ │ ├── function.gleam │ │ │ │ │ ├── import.gleam │ │ │ │ │ ├── pipe.gleam │ │ │ │ │ ├── todo.gleam │ │ │ │ │ └── type.gleam │ │ │ │ ├── hack/ │ │ │ │ │ ├── as-foreach.hack │ │ │ │ │ ├── async-functions.hack │ │ │ │ │ ├── attribute-type.hack │ │ │ │ │ ├── generics.hack │ │ │ │ │ ├── heredoc-dollar.hack │ │ │ │ │ ├── shapes.hack │ │ │ │ │ ├── use.hack │ │ │ │ │ ├── using.hack │ │ │ │ │ └── xhp.hack │ │ │ │ ├── hocon/ │ │ │ │ │ └── test.conf │ │ │ │ ├── julia/ │ │ │ │ │ └── test.jl │ │ │ │ ├── lua/ │ │ │ │ │ └── test.lua │ │ │ │ ├── markdown/ │ │ │ │ │ └── test.md │ │ │ │ ├── pascal/ │ │ │ │ │ └── test.pas │ │ │ │ ├── prisma/ │ │ │ │ │ └── test.prisma │ │ │ │ ├── python/ │ │ │ │ │ ├── fields.py │ │ │ │ │ ├── future_import.py │ │ │ │ │ ├── pattern_matching.py │ │ │ │ │ ├── raise_from.py │ │ │ │ │ └── yield_from.py │ │ │ │ ├── r/ │ │ │ │ │ └── test.r │ │ │ │ ├── rust/ │ │ │ │ │ ├── for.rs │ │ │ │ │ └── super-crate-imports.rs │ │ │ │ ├── smali/ │ │ │ │ │ └── baksmali_test_class.smali │ │ │ │ ├── solidity/ │ │ │ │ │ └── test.sol │ │ │ │ ├── t32/ │ │ │ │ │ ├── comments.cmm │ │ │ │ │ ├── keywords.cmm │ │ │ │ │ ├── literals.cmm │ │ │ │ │ └── var.cmm │ │ │ │ ├── tiger/ │ │ │ │ │ ├── built-ins.tig │ │ │ │ │ ├── comment.tig │ │ │ │ │ ├── functions.tig │ │ │ │ │ ├── identifiers.tig │ │ │ │ │ ├── imports.tig │ │ │ │ │ ├── keywords.tig │ │ │ │ │ ├── literals.tig │ │ │ │ │ ├── meta-variables.tig │ │ │ │ │ ├── object-oriented.tig │ │ │ │ │ └── operators.tig │ │ │ │ ├── typescript/ │ │ │ │ │ └── as.ts │ │ │ │ ├── usd/ │ │ │ │ │ ├── prims.usda │ │ │ │ │ ├── properties.usda │ │ │ │ │ └── subLayers.usda │ │ │ │ └── xhp-intro.hack │ │ │ ├── highlights_spec.lua │ │ │ ├── injection_spec.lua │ │ │ └── injections/ │ │ │ ├── cuda/ │ │ │ │ └── macro-self-injection.cu │ │ │ ├── ecma/ │ │ │ │ └── ecma-test-injections.js │ │ │ ├── html/ │ │ │ │ └── test-html-injections.html │ │ │ ├── svelte/ │ │ │ │ └── test-svelte-injections.svelte │ │ │ ├── vue/ │ │ │ │ ├── negative-assertions.vue │ │ │ │ └── test-vue-injections.vue │ │ │ └── yaml/ │ │ │ └── bash-on-github-actions.yml │ │ └── unit/ │ │ └── ts_utils_spec.lua │ ├── nvim-treesitter-0.9.1/ │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ ├── CODEOWNERS │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── feature_request.md │ │ │ │ └── highlighting_issue.yml │ │ │ ├── mergify.yml │ │ │ └── workflows/ │ │ │ ├── lint.yml │ │ │ ├── release.yml │ │ │ ├── test-queries.yml │ │ │ ├── tests.yml │ │ │ ├── update-lockfile.yml │ │ │ └── update-readme.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .luarc.json │ │ ├── .stylua.toml │ │ ├── .styluaignore │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── nvim_treesitter.vim │ │ ├── doc/ │ │ │ └── nvim-treesitter.txt │ │ ├── lockfile.json │ │ ├── lua/ │ │ │ ├── nvim-treesitter/ │ │ │ │ ├── caching.lua │ │ │ │ ├── compat.lua │ │ │ │ ├── configs.lua │ │ │ │ ├── fold.lua │ │ │ │ ├── health.lua │ │ │ │ ├── highlight.lua │ │ │ │ ├── incremental_selection.lua │ │ │ │ ├── indent.lua │ │ │ │ ├── info.lua │ │ │ │ ├── install.lua │ │ │ │ ├── locals.lua │ │ │ │ ├── parsers.lua │ │ │ │ ├── query.lua │ │ │ │ ├── query_predicates.lua │ │ │ │ ├── shell_command_selectors.lua │ │ │ │ ├── statusline.lua │ │ │ │ ├── ts_utils.lua │ │ │ │ ├── tsrange.lua │ │ │ │ └── utils.lua │ │ │ └── nvim-treesitter.lua │ │ ├── nvim-treesitter-scm-1.rockspec │ │ ├── parser/ │ │ │ └── .gitignore │ │ ├── parser-info/ │ │ │ └── .gitignore │ │ ├── plugin/ │ │ │ └── nvim-treesitter.lua │ │ ├── queries/ │ │ │ ├── ada/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── agda/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── arduino/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── astro/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── awk/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── bash/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── bass/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── beancount/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── bibtex/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── bicep/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── blueprint/ │ │ │ │ └── highlights.scm │ │ │ ├── c/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── c_sharp/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── cairo/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── capnp/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── chatito/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── clojure/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── cmake/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── comment/ │ │ │ │ └── highlights.scm │ │ │ ├── commonlisp/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── cooklang/ │ │ │ │ └── highlights.scm │ │ │ ├── corn/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── cpon/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── cpp/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── css/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── cuda/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── cue/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── d/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── dart/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── devicetree/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── dhall/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── diff/ │ │ │ │ └── highlights.scm │ │ │ ├── dockerfile/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── dot/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── ebnf/ │ │ │ │ └── highlights.scm │ │ │ ├── ecma/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── eex/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── elixir/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── elm/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── elsa/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── elvish/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── embedded_template/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── erlang/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── fennel/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── firrtl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── fish/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── foam/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── fortran/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── fsh/ │ │ │ │ └── highlights.scm │ │ │ ├── func/ │ │ │ │ └── highlights.scm │ │ │ ├── fusion/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── gdscript/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── git_config/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── git_rebase/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── gitattributes/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── gitcommit/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── gitignore/ │ │ │ │ └── highlights.scm │ │ │ ├── gleam/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── glimmer/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── glsl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── go/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── godot_resource/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── gomod/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── gosum/ │ │ │ │ └── highlights.scm │ │ │ ├── gowork/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── graphql/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── groovy/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── hack/ │ │ │ │ └── highlights.scm │ │ │ ├── hare/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── haskell/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── haskell_persistent/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── hcl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── heex/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── hjson/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── hlsl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── hocon/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── hoon/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── html/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── html_tags/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── htmldjango/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── http/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── hurl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── ini/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── ispc/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── janet_simple/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── java/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── javascript/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── jq/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── jsdoc/ │ │ │ │ └── highlights.scm │ │ │ ├── json/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── json5/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── jsonc/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── jsonnet/ │ │ │ │ └── highlights.scm │ │ │ ├── jsx/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── julia/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── kdl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── kotlin/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── lalrpop/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── latex/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── ledger/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── llvm/ │ │ │ │ └── highlights.scm │ │ │ ├── lua/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── luadoc/ │ │ │ │ └── highlights.scm │ │ │ ├── luap/ │ │ │ │ └── highlights.scm │ │ │ ├── luau/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── m68k/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── make/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── markdown/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── markdown_inline/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── matlab/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── menhir/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── mermaid/ │ │ │ │ └── highlights.scm │ │ │ ├── meson/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── mlir/ │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── nickel/ │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── ninja/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── nix/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── objc/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ocaml/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ocaml_interface/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ocamllex/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── odin/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── pascal/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── passwd/ │ │ │ │ └── highlights.scm │ │ │ ├── pem/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── perl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── php/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── phpdoc/ │ │ │ │ └── highlights.scm │ │ │ ├── pioasm/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── po/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── poe_filter/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── pony/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── prisma/ │ │ │ │ └── highlights.scm │ │ │ ├── promql/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── proto/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── prql/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── pug/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── puppet/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── python/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ql/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── qmldir/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── qmljs/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── query/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── r/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── racket/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── rasi/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── regex/ │ │ │ │ └── highlights.scm │ │ │ ├── rego/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── requirements/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── rnoweb/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── robot/ │ │ │ │ └── highlights.scm │ │ │ ├── ron/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── rst/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ruby/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── rust/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── scala/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── scfg/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── scheme/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── scss/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── slint/ │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── smali/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── smithy/ │ │ │ │ └── highlights.scm │ │ │ ├── solidity/ │ │ │ │ └── highlights.scm │ │ │ ├── sparql/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── sql/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── squirrel/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── starlark/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── supercollider/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── surface/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── svelte/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── swift/ │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── sxhkdrc/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── systemtap/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── t32/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── tablegen/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── teal/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── terraform/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── thrift/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── tiger/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── tlaplus/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── todotxt/ │ │ │ │ └── highlights.scm │ │ │ ├── toml/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── tsx/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── turtle/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── twig/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── typescript/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── ungrammar/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── usd/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── locals.scm │ │ │ ├── uxntal/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── v/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── vala/ │ │ │ │ ├── folds.scm │ │ │ │ └── highlights.scm │ │ │ ├── verilog/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── vhs/ │ │ │ │ └── highlights.scm │ │ │ ├── vim/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── vimdoc/ │ │ │ │ ├── highlights.scm │ │ │ │ └── injections.scm │ │ │ ├── vue/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── wgsl/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── wgsl_bevy/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── indents.scm │ │ │ ├── wing/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ └── locals.scm │ │ │ ├── yaml/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ ├── yang/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ └── injections.scm │ │ │ ├── yuck/ │ │ │ │ ├── folds.scm │ │ │ │ ├── highlights.scm │ │ │ │ ├── indents.scm │ │ │ │ ├── injections.scm │ │ │ │ └── locals.scm │ │ │ └── zig/ │ │ │ ├── folds.scm │ │ │ ├── highlights.scm │ │ │ ├── indents.scm │ │ │ ├── injections.scm │ │ │ └── locals.scm │ │ ├── scripts/ │ │ │ ├── check-queries.lua │ │ │ ├── ci-install-macos-latest.sh │ │ │ ├── ci-install-ubuntu-latest.sh │ │ │ ├── ci-install-windows-2022.sh │ │ │ ├── compile_parsers.makefile │ │ │ ├── minimal_init.lua │ │ │ ├── pre-push │ │ │ ├── run_tests.sh │ │ │ ├── update-lockfile.sh │ │ │ ├── update-readme.lua │ │ │ └── write-lockfile.lua │ │ └── tests/ │ │ ├── indent/ │ │ │ ├── algorithm/ │ │ │ │ ├── trailing.py │ │ │ │ └── trailing_whitespace.html │ │ │ ├── algorithm_spec.lua │ │ │ ├── c/ │ │ │ │ ├── aligned_indent.c │ │ │ │ ├── array.c │ │ │ │ ├── comment.c │ │ │ │ ├── compound_lit.c │ │ │ │ ├── cond.c │ │ │ │ ├── enum.c │ │ │ │ ├── expr.c │ │ │ │ ├── func.c │ │ │ │ ├── if_else.c │ │ │ │ ├── issue-1568.c │ │ │ │ ├── issue-2086.c │ │ │ │ ├── issue-4079.c │ │ │ │ ├── issue-4117.c │ │ │ │ ├── issue-4525.c │ │ │ │ ├── label.c │ │ │ │ ├── loop.c │ │ │ │ ├── no_braces.c │ │ │ │ ├── preproc_cond.c │ │ │ │ ├── preproc_func.c │ │ │ │ ├── string.c │ │ │ │ ├── struct.c │ │ │ │ ├── switch.c │ │ │ │ ├── ternary.c │ │ │ │ └── unfinished_comment.c │ │ │ ├── c_spec.lua │ │ │ ├── capnp/ │ │ │ │ └── test.capnp │ │ │ ├── capnp_spec.lua │ │ │ ├── common.lua │ │ │ ├── cpp/ │ │ │ │ ├── access.cpp │ │ │ │ ├── class.cpp │ │ │ │ ├── initializer_list.cpp │ │ │ │ └── stream.cpp │ │ │ ├── cpp_spec.lua │ │ │ ├── css/ │ │ │ │ ├── next_rule.css │ │ │ │ └── open_block.css │ │ │ ├── css_spec.lua │ │ │ ├── dart/ │ │ │ │ ├── class.dart │ │ │ │ ├── class_function_argument.dart │ │ │ │ ├── multiple_arguments.dart │ │ │ │ ├── switch.dart │ │ │ │ └── try.dart │ │ │ ├── dart_spec.lua │ │ │ ├── ecma/ │ │ │ │ ├── array-issue3382.js │ │ │ │ ├── binary_expression.js │ │ │ │ ├── callback.js │ │ │ │ ├── class.js │ │ │ │ ├── func.js │ │ │ │ ├── if_else.js │ │ │ │ ├── issue-2515.js │ │ │ │ ├── new-line-after-class.js │ │ │ │ ├── object.js │ │ │ │ ├── switch.js │ │ │ │ ├── ternary.js │ │ │ │ ├── try_catch.js │ │ │ │ └── variable.js │ │ │ ├── gdscript/ │ │ │ │ └── basic_blocks.gd │ │ │ ├── gdscript_spec.lua │ │ │ ├── gleam/ │ │ │ │ ├── anonymous_function.gleam │ │ │ │ ├── assert.gleam │ │ │ │ ├── binary_expression.gleam │ │ │ │ ├── case.gleam │ │ │ │ ├── constant.gleam │ │ │ │ ├── function.gleam │ │ │ │ ├── import.gleam │ │ │ │ ├── let.gleam │ │ │ │ ├── list.gleam │ │ │ │ ├── pipe.gleam │ │ │ │ ├── todo.gleam │ │ │ │ ├── tuple.gleam │ │ │ │ └── type.gleam │ │ │ ├── gleam_spec.lua │ │ │ ├── go/ │ │ │ │ ├── const_declaration.go │ │ │ │ ├── issue-2369-newline.go │ │ │ │ ├── issue-2369.go │ │ │ │ ├── issue-3288.go │ │ │ │ ├── multiple-vars.go │ │ │ │ ├── select.go │ │ │ │ └── switch.go │ │ │ ├── go_spec.lua │ │ │ ├── graphql/ │ │ │ │ └── issue-1981.graphql │ │ │ ├── graphql_spec.lua │ │ │ ├── html/ │ │ │ │ ├── issue-3986.html │ │ │ │ ├── script_style.html │ │ │ │ ├── self_closing_tag.html │ │ │ │ └── start_tag.html │ │ │ ├── html_spec.lua │ │ │ ├── java/ │ │ │ │ ├── annotation.java │ │ │ │ ├── annotation_2.java │ │ │ │ ├── class_with_annotation.java │ │ │ │ ├── constructor_with_arguments_on_multiple_lines.java │ │ │ │ ├── enum.java │ │ │ │ ├── enum_with_annotation.java │ │ │ │ ├── interface.java │ │ │ │ ├── issue_2571.java │ │ │ │ ├── issue_2583.java │ │ │ │ ├── javadoc.java │ │ │ │ ├── method.java │ │ │ │ ├── method_chaining.java │ │ │ │ └── method_with_arguments_on_multiple_lines.java │ │ │ ├── java_spec.lua │ │ │ ├── javascript_spec.lua │ │ │ ├── jsx/ │ │ │ │ ├── element_attributes.jsx │ │ │ │ ├── issue-3986.jsx │ │ │ │ └── jsx_expression.jsx │ │ │ ├── jsx_spec.lua │ │ │ ├── lua/ │ │ │ │ ├── comment.lua │ │ │ │ ├── cond.lua │ │ │ │ ├── func.lua │ │ │ │ ├── loop.lua │ │ │ │ ├── method_index_expr.lua │ │ │ │ ├── nested-table.lua │ │ │ │ ├── no-indent-after-paren-pairs.lua │ │ │ │ ├── string.lua │ │ │ │ └── table.lua │ │ │ ├── lua_spec.lua │ │ │ ├── nickel/ │ │ │ │ └── indent-newline.ncl │ │ │ ├── nickel_spec.lua │ │ │ ├── php/ │ │ │ │ ├── enum-indent.php │ │ │ │ ├── example.php │ │ │ │ ├── example2.php │ │ │ │ ├── issue-2497.php │ │ │ │ ├── issue-3591.php │ │ │ │ └── unfinished-call.php │ │ │ ├── php_spec.lua │ │ │ ├── python/ │ │ │ │ ├── aligned_indent.py │ │ │ │ ├── aligned_indent_2.py │ │ │ │ ├── basic_blocks.py │ │ │ │ ├── basic_collections.py │ │ │ │ ├── branches.py │ │ │ │ ├── break_continue.py │ │ │ │ ├── comprehensions.py │ │ │ │ ├── control_flow.py │ │ │ │ ├── error_state_def.py │ │ │ │ ├── error_state_dict.py │ │ │ │ ├── error_state_funcall.py │ │ │ │ ├── error_state_list.py │ │ │ │ ├── error_state_set.py │ │ │ │ ├── error_state_tuple.py │ │ │ │ ├── error_state_tuple_align.py │ │ │ │ ├── hanging_indent.py │ │ │ │ ├── if_else.py │ │ │ │ ├── join_lines.py │ │ │ │ ├── line_after_indent.py │ │ │ │ ├── match_case.py │ │ │ │ ├── nested_collections.py │ │ │ │ ├── return_dedent.py │ │ │ │ └── strings.py │ │ │ ├── python_spec.lua │ │ │ ├── ql/ │ │ │ │ └── module.ql │ │ │ ├── ql_spec.lua │ │ │ ├── r/ │ │ │ │ ├── aligned_indent.R │ │ │ │ ├── comment.R │ │ │ │ ├── cond.R │ │ │ │ ├── func.R │ │ │ │ ├── loop.R │ │ │ │ └── pipe.R │ │ │ ├── r_spec.lua │ │ │ ├── ruby/ │ │ │ │ ├── indent-assignment.rb │ │ │ │ ├── indent-brackets.rb │ │ │ │ ├── indent-ensure.rb │ │ │ │ ├── indent-parens.rb │ │ │ │ ├── indent-parenthesized-statements.rb │ │ │ │ ├── indent-rescue.rb │ │ │ │ ├── indent-square-brackets.rb │ │ │ │ ├── indent-unless.rb │ │ │ │ └── period-issue-3364.rb │ │ │ ├── ruby_spec.lua │ │ │ ├── rust/ │ │ │ │ ├── array.rs │ │ │ │ ├── comment.rs │ │ │ │ ├── cond.rs │ │ │ │ ├── enum.rs │ │ │ │ ├── func.rs │ │ │ │ ├── if_let_cond.rs │ │ │ │ ├── impl.rs │ │ │ │ ├── loop.rs │ │ │ │ ├── macro.rs │ │ │ │ ├── match.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── string.rs │ │ │ │ ├── struct.rs │ │ │ │ ├── trait.rs │ │ │ │ └── where.rs │ │ │ ├── rust_spec.lua │ │ │ ├── smali/ │ │ │ │ ├── array_and_switch.smali │ │ │ │ ├── field.smali │ │ │ │ ├── method.smali │ │ │ │ └── parameter.smali │ │ │ ├── smali_spec.lua │ │ │ ├── sql/ │ │ │ │ ├── case.sql │ │ │ │ ├── compound.sql │ │ │ │ ├── create.sql │ │ │ │ ├── cte.sql │ │ │ │ ├── insert.sql │ │ │ │ ├── select.sql │ │ │ │ └── subquery.sql │ │ │ ├── sql_spec.lua │ │ │ ├── swift/ │ │ │ │ ├── declarations.swift │ │ │ │ ├── expressions.swift │ │ │ │ └── statements.swift │ │ │ ├── swift_spec.lua │ │ │ ├── t32/ │ │ │ │ ├── if_block.cmm │ │ │ │ ├── repeat_block.cmm │ │ │ │ ├── subroutine_block.cmm │ │ │ │ └── while_block.cmm │ │ │ ├── t32_spec.lua │ │ │ ├── terraform/ │ │ │ │ ├── function_call.tf │ │ │ │ ├── indent-in-multiline-objects.tf │ │ │ │ ├── indent-in-multiline-tuples.tf │ │ │ │ ├── multiline-comments.tf │ │ │ │ ├── multiple-attributes.tf │ │ │ │ ├── multiple-blocks.tf │ │ │ │ ├── nested_blocks.tf │ │ │ │ └── no-indent-after-brace.tf │ │ │ ├── terraform_spec.lua │ │ │ ├── tiger/ │ │ │ │ ├── classes.tig │ │ │ │ ├── control-flow.tig │ │ │ │ ├── functions.tig │ │ │ │ ├── groupings.tig │ │ │ │ └── values-and-expressions.tig │ │ │ ├── tiger_spec.lua │ │ │ ├── usd/ │ │ │ │ └── prim.usd │ │ │ ├── usd_spec.lua │ │ │ ├── vue/ │ │ │ │ └── template_indent.vue │ │ │ ├── vue_spec.lua │ │ │ ├── wgsl/ │ │ │ │ └── basic.wgsl │ │ │ ├── wgsl_spec.lua │ │ │ ├── yaml/ │ │ │ │ ├── autoindent-mapping-pair.yaml │ │ │ │ └── indent-sequence-items.yaml │ │ │ ├── yaml_spec.lua │ │ │ ├── yang/ │ │ │ │ └── module.yang │ │ │ ├── yang_spec.lua │ │ │ ├── zig/ │ │ │ │ └── pr-3269.zig │ │ │ └── zig_spec.lua │ │ ├── query/ │ │ │ ├── highlights/ │ │ │ │ ├── bash/ │ │ │ │ │ └── double-parens.sh │ │ │ │ ├── c/ │ │ │ │ │ └── enums-as-constants.c │ │ │ │ ├── capnp/ │ │ │ │ │ └── test.capnp │ │ │ │ ├── cpp/ │ │ │ │ │ ├── concepts.cpp │ │ │ │ │ ├── enums-as-constants.cpp │ │ │ │ │ ├── static-namespace-functions.cpp │ │ │ │ │ └── test.cpp │ │ │ │ ├── ecma/ │ │ │ │ │ ├── const.js │ │ │ │ │ └── test.ts │ │ │ │ ├── fusion/ │ │ │ │ │ ├── afx.fusion │ │ │ │ │ ├── basic.fusion │ │ │ │ │ └── expressions.fusion │ │ │ │ ├── gitattributes/ │ │ │ │ │ └── test.gitattributes │ │ │ │ ├── gleam/ │ │ │ │ │ ├── assert.gleam │ │ │ │ │ ├── function.gleam │ │ │ │ │ ├── import.gleam │ │ │ │ │ ├── pipe.gleam │ │ │ │ │ ├── todo.gleam │ │ │ │ │ └── type.gleam │ │ │ │ ├── hack/ │ │ │ │ │ ├── as-foreach.hack │ │ │ │ │ ├── async-functions.hack │ │ │ │ │ ├── attribute-type.hack │ │ │ │ │ ├── generics.hack │ │ │ │ │ ├── heredoc-dollar.hack │ │ │ │ │ ├── shapes.hack │ │ │ │ │ ├── use.hack │ │ │ │ │ ├── using.hack │ │ │ │ │ └── xhp.hack │ │ │ │ ├── hocon/ │ │ │ │ │ └── test.conf │ │ │ │ ├── julia/ │ │ │ │ │ └── test.jl │ │ │ │ ├── lua/ │ │ │ │ │ └── test.lua │ │ │ │ ├── markdown/ │ │ │ │ │ └── test.md │ │ │ │ ├── pascal/ │ │ │ │ │ └── test.pas │ │ │ │ ├── prisma/ │ │ │ │ │ └── test.prisma │ │ │ │ ├── python/ │ │ │ │ │ ├── fields.py │ │ │ │ │ ├── future_import.py │ │ │ │ │ ├── pattern_matching.py │ │ │ │ │ ├── raise_from.py │ │ │ │ │ └── yield_from.py │ │ │ │ ├── r/ │ │ │ │ │ └── test.r │ │ │ │ ├── rust/ │ │ │ │ │ ├── for.rs │ │ │ │ │ └── super-crate-imports.rs │ │ │ │ ├── smali/ │ │ │ │ │ └── baksmali_test_class.smali │ │ │ │ ├── solidity/ │ │ │ │ │ └── test.sol │ │ │ │ ├── t32/ │ │ │ │ │ ├── comments.cmm │ │ │ │ │ ├── keywords.cmm │ │ │ │ │ ├── literals.cmm │ │ │ │ │ └── var.cmm │ │ │ │ ├── tiger/ │ │ │ │ │ ├── built-ins.tig │ │ │ │ │ ├── comment.tig │ │ │ │ │ ├── functions.tig │ │ │ │ │ ├── identifiers.tig │ │ │ │ │ ├── imports.tig │ │ │ │ │ ├── keywords.tig │ │ │ │ │ ├── literals.tig │ │ │ │ │ ├── meta-variables.tig │ │ │ │ │ ├── object-oriented.tig │ │ │ │ │ └── operators.tig │ │ │ │ ├── typescript/ │ │ │ │ │ └── as.ts │ │ │ │ ├── usd/ │ │ │ │ │ ├── prims.usda │ │ │ │ │ ├── properties.usda │ │ │ │ │ └── subLayers.usda │ │ │ │ ├── wing/ │ │ │ │ │ ├── class.w │ │ │ │ │ └── nested_method.w │ │ │ │ └── xhp-intro.hack │ │ │ ├── highlights_spec.lua │ │ │ ├── injection_spec.lua │ │ │ └── injections/ │ │ │ ├── cuda/ │ │ │ │ └── macro-self-injection.cu │ │ │ ├── ecma/ │ │ │ │ └── ecma-test-injections.js │ │ │ ├── html/ │ │ │ │ └── test-html-injections.html │ │ │ ├── svelte/ │ │ │ │ └── test-svelte-injections.svelte │ │ │ ├── vue/ │ │ │ │ ├── negative-assertions.vue │ │ │ │ └── test-vue-injections.vue │ │ │ └── yaml/ │ │ │ ├── bash-on-github-actions.yml │ │ │ └── promql-on-prometheus-rules.yaml │ │ └── unit/ │ │ └── ts_utils_spec.lua │ ├── nvim-web-devicons/ │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ ├── lint.yml │ │ │ ├── pre-commit-autoupdate.yml │ │ │ └── semantic-pr-subject.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .luarc.json │ │ ├── .pre-commit-config.yaml │ │ ├── .stylua.toml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── lua/ │ │ │ ├── nvim-web-devicons-light.lua │ │ │ └── nvim-web-devicons.lua │ │ ├── plugin/ │ │ │ └── nvim-web-devicons.vim │ │ └── scripts/ │ │ ├── filetype-generator.sh │ │ └── generate_colors.lua │ ├── nvim-yarp/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── yarp/ │ │ │ │ ├── core.vim │ │ │ │ └── pyx.vim │ │ │ └── yarp.vim │ │ └── pythonx/ │ │ └── yarp.py │ ├── octave/ │ │ ├── ftdetect/ │ │ │ └── octave.vim │ │ └── syntax/ │ │ └── octave.vim │ ├── open-browser.vim/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── appveyor.yml │ │ ├── autoload/ │ │ │ ├── openbrowser.vim │ │ │ └── vital/ │ │ │ ├── __openbrowser__/ │ │ │ │ ├── OpenBrowser/ │ │ │ │ │ ├── Config.vim │ │ │ │ │ ├── Opener.vim │ │ │ │ │ └── URIExtractor.vim │ │ │ │ └── OpenBrowser.vim │ │ │ ├── _openbrowser/ │ │ │ │ ├── Data/ │ │ │ │ │ ├── Dict.vim │ │ │ │ │ ├── List.vim │ │ │ │ │ ├── Optional.vim │ │ │ │ │ └── String.vim │ │ │ │ ├── Prelude.vim │ │ │ │ ├── Process.vim │ │ │ │ ├── Vim/ │ │ │ │ │ ├── Buffer.vim │ │ │ │ │ ├── Guard.vim │ │ │ │ │ ├── Message.vim │ │ │ │ │ └── Type.vim │ │ │ │ └── Web/ │ │ │ │ ├── HTTP.vim │ │ │ │ ├── URI/ │ │ │ │ │ ├── HTTP.vim │ │ │ │ │ └── HTTPS.vim │ │ │ │ └── URI.vim │ │ │ ├── _openbrowser.vim │ │ │ ├── openbrowser.vim │ │ │ └── openbrowser.vital │ │ ├── doc/ │ │ │ └── openbrowser.txt │ │ ├── lang/ │ │ │ └── openbrowser_menu_ja.vim │ │ ├── plugin/ │ │ │ └── openbrowser.vim │ │ └── test/ │ │ └── dummy.vim │ ├── org-mode/ │ │ ├── .gitignore │ │ ├── INSTALL.txt │ │ ├── README.md │ │ ├── VimOrganizerCheatsheet.org │ │ ├── _vimrc │ │ ├── autoload/ │ │ │ ├── calutil.vim │ │ │ ├── org/ │ │ │ │ ├── buffer.vim │ │ │ │ ├── fold.vim │ │ │ │ ├── tbl.vim │ │ │ │ ├── util.vim │ │ │ │ └── windows.vim │ │ │ ├── org.vim │ │ │ └── orgcheck.vim │ │ ├── contrib/ │ │ │ ├── README.txt │ │ │ ├── vim72.diff │ │ │ ├── vim73_390_foldinghighlighting.patch │ │ │ ├── vim73_46_foldhighlight.patch │ │ │ └── vim74_foldhighlight.patch │ │ ├── doc/ │ │ │ └── vimorg.txt │ │ ├── ftplugin/ │ │ │ ├── org.vim │ │ │ ├── vimorg-agenda-mappings.vim │ │ │ └── vimorg-main-mappings.vim │ │ ├── indent/ │ │ │ └── org.vim │ │ ├── intro.txt │ │ ├── plugin/ │ │ │ └── org.vim │ │ └── syntax/ │ │ └── org.vim │ ├── phpcomplete.vim/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── GUIDE.md │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── phpcomplete.vim │ │ ├── bin/ │ │ │ ├── generate_builtin_dicts.php │ │ │ └── generator/ │ │ │ ├── classes.php │ │ │ ├── constants.php │ │ │ ├── functions.php │ │ │ └── tools.php │ │ ├── ftplugin/ │ │ │ └── php_phpcomplete.vim │ │ ├── misc/ │ │ │ ├── available_extensions │ │ │ ├── builtin.vim │ │ │ ├── builtin_manual.vim │ │ │ ├── ctags-better-php.rb │ │ │ └── php_keywords.vim │ │ ├── syntax/ │ │ │ └── phpcompletetempbuffer.vim │ │ └── tests/ │ │ ├── CompleteBuiltInClass_test.vim │ │ ├── CompleteClassName_test.vim │ │ ├── CompleteGeneral_test.vim │ │ ├── CompletePHP_test.vim │ │ ├── CompleteUnknownClass_test.vim │ │ ├── CompleteUse_test.vim │ │ ├── CompleteUserClass_test.vim │ │ ├── CompleteVariable_test.vim │ │ ├── ExpandClassName_test.vim │ │ ├── GenerateBuiltinClassStub_test.vim │ │ ├── GetClassContents_test.vim │ │ ├── GetClassLocation_test.vim │ │ ├── GetClassName_test.vim │ │ ├── GetCurrentFunctionBoundaries_test.vim │ │ ├── GetCurrentInstruction_test.vim │ │ ├── GetCurrentNameSpace_test.vim │ │ ├── GetCurrentSymbolWithContext_test.vim │ │ ├── GetDocBlock_test.vim │ │ ├── GetFunctionLocation_test.vim │ │ ├── GetFunctionReturnTypeHint_test.vim │ │ ├── GetMethodStack_test.vim │ │ ├── GetTypeFromDocBlockParam_test.vim │ │ ├── LoadData_test.vim │ │ ├── LocateSymbol_test.vim │ │ ├── ParseDocBlock_test.vim │ │ ├── README.md │ │ ├── fixtures/ │ │ │ ├── CompleteClassName/ │ │ │ │ ├── empty.php │ │ │ │ ├── foo.class.php │ │ │ │ ├── namespaced.foo.php │ │ │ │ ├── old_style_tags │ │ │ │ ├── subnamespace.php │ │ │ │ └── tagclass.php │ │ │ ├── CompleteGeneral/ │ │ │ │ ├── constants.php │ │ │ │ ├── functions.php │ │ │ │ ├── namespaced_constants.php │ │ │ │ ├── namespaced_foo.php │ │ │ │ ├── namespaced_tags │ │ │ │ ├── old_style_namespaced_tags │ │ │ │ └── patched_tags │ │ │ ├── CompleteUnknownClass/ │ │ │ │ ├── empty.php │ │ │ │ ├── foo_methods.class.php │ │ │ │ ├── foo_properties.class.php │ │ │ │ └── patched_tags │ │ │ ├── CompleteUse/ │ │ │ │ └── old_style_tags │ │ │ ├── CompleteUserClass/ │ │ │ │ ├── commented_foo.class.php │ │ │ │ ├── user_extended.class.php │ │ │ │ └── user_interface_implemented.php │ │ │ ├── CompleteVariable/ │ │ │ │ ├── empty.php │ │ │ │ └── local_variables.php │ │ │ ├── DocBlock/ │ │ │ │ └── foo.class.php │ │ │ ├── GenerateBuiltinClassStub/ │ │ │ │ ├── arrayaccess.txt │ │ │ │ └── fictionalbuiltinclass.txt │ │ │ ├── GetClassContents/ │ │ │ │ ├── docblocked_foo.php │ │ │ │ ├── extends/ │ │ │ │ │ ├── bar.class.php │ │ │ │ │ └── foo_extends_bar.class.php │ │ │ │ ├── extends_extends/ │ │ │ │ │ ├── bar2_extends_baz.class.php │ │ │ │ │ ├── baz.class.php │ │ │ │ │ └── foo2_extends_bar2.class.php │ │ │ │ ├── foo.class.php │ │ │ │ ├── foo.interface.php │ │ │ │ ├── foo.trait.php │ │ │ │ ├── foo2.class.php │ │ │ │ ├── foo3.class.php │ │ │ │ ├── foo_only_from_tags.php │ │ │ │ ├── foo_whitespace.class.php │ │ │ │ ├── foo_with_extra_content.class.php │ │ │ │ ├── implements.php │ │ │ │ ├── import/ │ │ │ │ │ ├── ns1_foo2.php │ │ │ │ │ └── ns2_foo.php │ │ │ │ ├── interface_tags │ │ │ │ ├── interfaces.php │ │ │ │ ├── ns1_foo2.php │ │ │ │ ├── ns2_foo.php │ │ │ │ ├── same_classname/ │ │ │ │ │ ├── foo.class.php │ │ │ │ │ └── ns1_foo.class.php │ │ │ │ └── same_file_class.php │ │ │ ├── GetClassLocation/ │ │ │ │ ├── empty.php │ │ │ │ ├── foo.class.php │ │ │ │ └── old_style_tags │ │ │ ├── GetClassName/ │ │ │ │ ├── arrays.php │ │ │ │ ├── builtin_function.php │ │ │ │ ├── builtin_static_return_type.php │ │ │ │ ├── call_chains.php │ │ │ │ ├── catch.php │ │ │ │ ├── clone.php │ │ │ │ ├── completion_in_function_insides.php │ │ │ │ ├── foo.class.php │ │ │ │ ├── foo_abstract.class.php │ │ │ │ ├── foo_abstract_with_whitespace.class.php │ │ │ │ ├── foo_equals_new_foo.php │ │ │ │ ├── foo_inheritance_level1.php │ │ │ │ ├── foo_inheritance_level2.php │ │ │ │ ├── foo_inheritance_level3.php │ │ │ │ ├── foo_inheritance_level31.php │ │ │ │ ├── foo_method_chains.php │ │ │ │ ├── foo_new_oneline_chain.php │ │ │ │ ├── foo_only_form_tags.php │ │ │ │ ├── foo_outside.class.php │ │ │ │ ├── foo_with_whitespace.class.php │ │ │ │ ├── function_docblock.php │ │ │ │ ├── function_return_type.php │ │ │ │ ├── function_return_type_tags │ │ │ │ ├── multi_hoops.php │ │ │ │ ├── multi_hoops_extra_whitespace.php │ │ │ │ ├── non_namespaced_function.php │ │ │ │ ├── old_style_function_return_type_tags │ │ │ │ ├── parent.php │ │ │ │ ├── return_typehinted_functions.php │ │ │ │ ├── self_return_type.php │ │ │ │ ├── self_return_type_array.php │ │ │ │ ├── singleton_getinstance.php │ │ │ │ ├── static_docblock_namespaced.php │ │ │ │ ├── static_docblock_namespaced_imported.php │ │ │ │ ├── static_docblock_namespaced_tags │ │ │ │ ├── static_docblock_return.php │ │ │ │ ├── static_docblock_return_tags │ │ │ │ ├── stuff_with_the_word_class_in_them.php │ │ │ │ ├── tags_inheritance │ │ │ │ ├── typehinted_functions.php │ │ │ │ └── var_comment_mark.php │ │ │ ├── GetCurrentFunctionBoundaries/ │ │ │ │ └── test.php │ │ │ ├── GetCurrentInstruction/ │ │ │ │ └── instructions.php │ │ │ ├── GetCurrentNameSpace/ │ │ │ │ ├── code_blocks.php │ │ │ │ ├── imports.php │ │ │ │ ├── multiple_namespace.php │ │ │ │ ├── single_namespace.php │ │ │ │ ├── single_namespace2.php │ │ │ │ ├── single_namespace_uppercase.php │ │ │ │ └── traits.php │ │ │ ├── GetCurrentSymbolWithContext/ │ │ │ │ ├── base_foo.php │ │ │ │ ├── child_foo.php │ │ │ │ ├── foo.php │ │ │ │ ├── foo_references.php │ │ │ │ ├── inherited_tags │ │ │ │ ├── namespaced_foo.php │ │ │ │ ├── namespaced_foo2.php │ │ │ │ └── namespaced_tags │ │ │ ├── GetFunctionLocation/ │ │ │ │ ├── empty.php │ │ │ │ └── foo.function.php │ │ │ ├── GetFunctionReturnTypeHint/ │ │ │ │ └── functions.php │ │ │ └── common/ │ │ │ ├── namespaced_foo.php │ │ │ ├── namespaced_foo_tags │ │ │ └── old_style_namespaced_foo_tags │ │ ├── runtests.sh │ │ └── vimrc │ ├── phpcomplete.vim-vim7/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── GUIDE.md │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── phpcomplete.vim │ │ ├── bin/ │ │ │ ├── generate_builtin_dicts.php │ │ │ └── generator/ │ │ │ ├── classes.php │ │ │ ├── constants.php │ │ │ ├── functions.php │ │ │ └── tools.php │ │ ├── ftplugin/ │ │ │ └── php_phpcomplete.vim │ │ ├── misc/ │ │ │ ├── available_extensions │ │ │ ├── builtin.vim │ │ │ ├── builtin_manual.vim │ │ │ ├── ctags-better-php.rb │ │ │ └── php_keywords.vim │ │ ├── syntax/ │ │ │ └── phpcompletetempbuffer.vim │ │ └── tests/ │ │ ├── CompleteBuiltInClass_test.vim │ │ ├── CompleteClassName_test.vim │ │ ├── CompleteGeneral_test.vim │ │ ├── CompletePHP_test.vim │ │ ├── CompleteUnknownClass_test.vim │ │ ├── CompleteUse_test.vim │ │ ├── CompleteUserClass_test.vim │ │ ├── CompleteVariable_test.vim │ │ ├── ExpandClassName_test.vim │ │ ├── GenerateBuiltinClassStub_test.vim │ │ ├── GetClassContents_test.vim │ │ ├── GetClassLocation_test.vim │ │ ├── GetClassName_test.vim │ │ ├── GetCurrentFunctionBoundaries_test.vim │ │ ├── GetCurrentInstruction_test.vim │ │ ├── GetCurrentNameSpace_test.vim │ │ ├── GetCurrentSymbolWithContext_test.vim │ │ ├── GetDocBlock_test.vim │ │ ├── GetFunctionLocation_test.vim │ │ ├── GetFunctionReturnTypeHint_test.vim │ │ ├── GetMethodStack_test.vim │ │ ├── GetTypeFromDocBlockParam_test.vim │ │ ├── LoadData_test.vim │ │ ├── LocateSymbol_test.vim │ │ ├── ParseDocBlock_test.vim │ │ ├── README.md │ │ ├── fixtures/ │ │ │ ├── CompleteClassName/ │ │ │ │ ├── empty.php │ │ │ │ ├── foo.class.php │ │ │ │ ├── namespaced.foo.php │ │ │ │ ├── old_style_tags │ │ │ │ ├── subnamespace.php │ │ │ │ └── tagclass.php │ │ │ ├── CompleteGeneral/ │ │ │ │ ├── constants.php │ │ │ │ ├── functions.php │ │ │ │ ├── namespaced_constants.php │ │ │ │ ├── namespaced_foo.php │ │ │ │ ├── namespaced_tags │ │ │ │ ├── old_style_namespaced_tags │ │ │ │ └── patched_tags │ │ │ ├── CompleteUnknownClass/ │ │ │ │ ├── empty.php │ │ │ │ ├── foo_methods.class.php │ │ │ │ ├── foo_properties.class.php │ │ │ │ └── patched_tags │ │ │ ├── CompleteUse/ │ │ │ │ └── old_style_tags │ │ │ ├── CompleteUserClass/ │ │ │ │ ├── commented_foo.class.php │ │ │ │ ├── user_extended.class.php │ │ │ │ └── user_interface_implemented.php │ │ │ ├── CompleteVariable/ │ │ │ │ ├── empty.php │ │ │ │ └── local_variables.php │ │ │ ├── DocBlock/ │ │ │ │ └── foo.class.php │ │ │ ├── GenerateBuiltinClassStub/ │ │ │ │ ├── arrayaccess.txt │ │ │ │ └── fictionalbuiltinclass.txt │ │ │ ├── GetClassContents/ │ │ │ │ ├── docblocked_foo.php │ │ │ │ ├── extends/ │ │ │ │ │ ├── bar.class.php │ │ │ │ │ └── foo_extends_bar.class.php │ │ │ │ ├── extends_extends/ │ │ │ │ │ ├── bar2_extends_baz.class.php │ │ │ │ │ ├── baz.class.php │ │ │ │ │ └── foo2_extends_bar2.class.php │ │ │ │ ├── foo.class.php │ │ │ │ ├── foo.interface.php │ │ │ │ ├── foo.trait.php │ │ │ │ ├── foo2.class.php │ │ │ │ ├── foo3.class.php │ │ │ │ ├── foo_only_from_tags.php │ │ │ │ ├── foo_whitespace.class.php │ │ │ │ ├── foo_with_extra_content.class.php │ │ │ │ ├── implements.php │ │ │ │ ├── import/ │ │ │ │ │ ├── ns1_foo2.php │ │ │ │ │ └── ns2_foo.php │ │ │ │ ├── interface_tags │ │ │ │ ├── interfaces.php │ │ │ │ ├── ns1_foo2.php │ │ │ │ ├── ns2_foo.php │ │ │ │ ├── same_classname/ │ │ │ │ │ ├── foo.class.php │ │ │ │ │ └── ns1_foo.class.php │ │ │ │ └── same_file_class.php │ │ │ ├── GetClassLocation/ │ │ │ │ ├── empty.php │ │ │ │ ├── foo.class.php │ │ │ │ └── old_style_tags │ │ │ ├── GetClassName/ │ │ │ │ ├── arrays.php │ │ │ │ ├── builtin_function.php │ │ │ │ ├── builtin_static_return_type.php │ │ │ │ ├── call_chains.php │ │ │ │ ├── catch.php │ │ │ │ ├── clone.php │ │ │ │ ├── completion_in_function_insides.php │ │ │ │ ├── foo.class.php │ │ │ │ ├── foo_abstract.class.php │ │ │ │ ├── foo_abstract_with_whitespace.class.php │ │ │ │ ├── foo_equals_new_foo.php │ │ │ │ ├── foo_inheritance_level1.php │ │ │ │ ├── foo_inheritance_level2.php │ │ │ │ ├── foo_inheritance_level3.php │ │ │ │ ├── foo_inheritance_level31.php │ │ │ │ ├── foo_method_chains.php │ │ │ │ ├── foo_new_oneline_chain.php │ │ │ │ ├── foo_only_form_tags.php │ │ │ │ ├── foo_outside.class.php │ │ │ │ ├── foo_with_whitespace.class.php │ │ │ │ ├── function_docblock.php │ │ │ │ ├── function_return_type.php │ │ │ │ ├── function_return_type_tags │ │ │ │ ├── multi_hoops.php │ │ │ │ ├── multi_hoops_extra_whitespace.php │ │ │ │ ├── non_namespaced_function.php │ │ │ │ ├── old_style_function_return_type_tags │ │ │ │ ├── parent.php │ │ │ │ ├── return_typehinted_functions.php │ │ │ │ ├── self_return_type.php │ │ │ │ ├── self_return_type_array.php │ │ │ │ ├── singleton_getinstance.php │ │ │ │ ├── static_docblock_namespaced.php │ │ │ │ ├── static_docblock_namespaced_imported.php │ │ │ │ ├── static_docblock_namespaced_tags │ │ │ │ ├── static_docblock_return.php │ │ │ │ ├── static_docblock_return_tags │ │ │ │ ├── stuff_with_the_word_class_in_them.php │ │ │ │ ├── tags_inheritance │ │ │ │ ├── typehinted_functions.php │ │ │ │ └── var_comment_mark.php │ │ │ ├── GetCurrentFunctionBoundaries/ │ │ │ │ └── test.php │ │ │ ├── GetCurrentInstruction/ │ │ │ │ └── instructions.php │ │ │ ├── GetCurrentNameSpace/ │ │ │ │ ├── code_blocks.php │ │ │ │ ├── imports.php │ │ │ │ ├── multiple_namespace.php │ │ │ │ ├── single_namespace.php │ │ │ │ ├── single_namespace2.php │ │ │ │ ├── single_namespace_uppercase.php │ │ │ │ └── traits.php │ │ │ ├── GetCurrentSymbolWithContext/ │ │ │ │ ├── base_foo.php │ │ │ │ ├── child_foo.php │ │ │ │ ├── foo.php │ │ │ │ ├── foo_references.php │ │ │ │ ├── inherited_tags │ │ │ │ ├── namespaced_foo.php │ │ │ │ ├── namespaced_foo2.php │ │ │ │ └── namespaced_tags │ │ │ ├── GetFunctionLocation/ │ │ │ │ ├── empty.php │ │ │ │ └── foo.function.php │ │ │ ├── GetFunctionReturnTypeHint/ │ │ │ │ └── functions.php │ │ │ └── common/ │ │ │ ├── namespaced_foo.php │ │ │ ├── namespaced_foo_tags │ │ │ └── old_style_namespaced_foo_tags │ │ ├── runtests.sh │ │ └── vimrc │ ├── plantuml-previewer.vim/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── plantuml_previewer.vim │ │ │ └── vital/ │ │ │ ├── _plantuml_previewer/ │ │ │ │ ├── Data/ │ │ │ │ │ ├── Dict.vim │ │ │ │ │ ├── List.vim │ │ │ │ │ └── String.vim │ │ │ │ ├── Prelude.vim │ │ │ │ ├── System/ │ │ │ │ │ ├── Job/ │ │ │ │ │ │ ├── Neovim.vim │ │ │ │ │ │ └── Vim.vim │ │ │ │ │ ├── Job.vim │ │ │ │ │ ├── Process/ │ │ │ │ │ │ ├── System.vim │ │ │ │ │ │ └── Vimproc.vim │ │ │ │ │ └── Process.vim │ │ │ │ └── Vim/ │ │ │ │ ├── Guard.vim │ │ │ │ └── Type.vim │ │ │ ├── _plantuml_previewer.vim │ │ │ ├── plantuml_previewer.vim │ │ │ └── plantuml_previewer.vital │ │ ├── demo.puml │ │ ├── doc/ │ │ │ └── plantuml-previewer.txt │ │ ├── lib/ │ │ │ └── plantuml.jar │ │ ├── plugin/ │ │ │ └── plantuml-previewer.vim │ │ ├── script/ │ │ │ ├── save-as.cmd │ │ │ ├── save-as.sh │ │ │ ├── update-viewer.cmd │ │ │ └── update-viewer.sh │ │ └── viewer/ │ │ ├── dist/ │ │ │ ├── index.html │ │ │ ├── main.3f72aac9.css │ │ │ ├── main.e8e44d5b.js │ │ │ └── vendors~main.16025f89.js │ │ ├── index.ejs │ │ ├── index.html │ │ ├── package.json │ │ ├── poi.config.js │ │ └── src/ │ │ ├── index.js │ │ ├── index.scss │ │ └── preview.vue │ ├── plantuml-syntax/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ftdetect/ │ │ │ └── plantuml.vim │ │ ├── ftplugin/ │ │ │ └── plantuml.vim │ │ ├── indent/ │ │ │ └── plantuml.vim │ │ └── syntax/ │ │ └── plantuml.vim │ ├── plenary.nvim/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ └── workflows/ │ │ │ └── default.yml │ │ ├── .gitignore │ │ ├── .stylua.toml │ │ ├── .styluaignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── POPUP.md │ │ ├── README.md │ │ ├── TESTS_README.md │ │ ├── data/ │ │ │ └── plenary/ │ │ │ └── filetypes/ │ │ │ ├── base.lua │ │ │ └── builtin.lua │ │ ├── lua/ │ │ │ ├── luassert/ │ │ │ │ ├── array.lua │ │ │ │ ├── assert.lua │ │ │ │ ├── assertions.lua │ │ │ │ ├── compatibility.lua │ │ │ │ ├── formatters/ │ │ │ │ │ ├── binarystring.lua │ │ │ │ │ └── init.lua │ │ │ │ ├── init.lua │ │ │ │ ├── languages/ │ │ │ │ │ └── en.lua │ │ │ │ ├── match.lua │ │ │ │ ├── matchers/ │ │ │ │ │ ├── composite.lua │ │ │ │ │ ├── core.lua │ │ │ │ │ └── init.lua │ │ │ │ ├── mock.lua │ │ │ │ ├── modifiers.lua │ │ │ │ ├── namespaces.lua │ │ │ │ ├── spy.lua │ │ │ │ ├── state.lua │ │ │ │ ├── stub.lua │ │ │ │ └── util.lua │ │ │ ├── plenary/ │ │ │ │ ├── async/ │ │ │ │ │ ├── api.lua │ │ │ │ │ ├── async.lua │ │ │ │ │ ├── control.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── lsp.lua │ │ │ │ │ ├── structs.lua │ │ │ │ │ ├── tests.lua │ │ │ │ │ ├── util.lua │ │ │ │ │ └── uv_async.lua │ │ │ │ ├── async_lib/ │ │ │ │ │ ├── api.lua │ │ │ │ │ ├── async.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── lsp.lua │ │ │ │ │ ├── structs.lua │ │ │ │ │ ├── tests.lua │ │ │ │ │ ├── util.lua │ │ │ │ │ └── uv_async.lua │ │ │ │ ├── benchmark/ │ │ │ │ │ ├── init.lua │ │ │ │ │ └── stat.lua │ │ │ │ ├── bit.lua │ │ │ │ ├── busted.lua │ │ │ │ ├── class.lua │ │ │ │ ├── collections/ │ │ │ │ │ └── py_list.lua │ │ │ │ ├── context_manager.lua │ │ │ │ ├── curl.lua │ │ │ │ ├── debug_utils.lua │ │ │ │ ├── enum.lua │ │ │ │ ├── errors.lua │ │ │ │ ├── filetype.lua │ │ │ │ ├── fun.lua │ │ │ │ ├── functional.lua │ │ │ │ ├── init.lua │ │ │ │ ├── iterators.lua │ │ │ │ ├── job.lua │ │ │ │ ├── json.lua │ │ │ │ ├── log.lua │ │ │ │ ├── lsp/ │ │ │ │ │ └── override.lua │ │ │ │ ├── neorocks/ │ │ │ │ │ └── init.lua │ │ │ │ ├── nvim_meta.lua │ │ │ │ ├── operators.lua │ │ │ │ ├── path.lua │ │ │ │ ├── popup/ │ │ │ │ │ ├── init.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── profile/ │ │ │ │ │ ├── lua_profiler.lua │ │ │ │ │ ├── memory_profiler.lua │ │ │ │ │ └── p.lua │ │ │ │ ├── profile.lua │ │ │ │ ├── reload.lua │ │ │ │ ├── run.lua │ │ │ │ ├── scandir.lua │ │ │ │ ├── strings.lua │ │ │ │ ├── tbl.lua │ │ │ │ ├── test_harness.lua │ │ │ │ ├── vararg/ │ │ │ │ │ ├── init.lua │ │ │ │ │ └── rotate.lua │ │ │ │ └── window/ │ │ │ │ ├── border.lua │ │ │ │ ├── float.lua │ │ │ │ └── init.lua │ │ │ └── say.lua │ │ ├── plenary.nvim-scm-1.rockspec │ │ ├── plugin/ │ │ │ └── plenary.vim │ │ ├── scratch/ │ │ │ ├── _reference_count.lua │ │ │ ├── busted_tester.lua │ │ │ ├── coroutine_examples.lua │ │ │ ├── iterators.lua │ │ │ ├── job_graveyard.lua │ │ │ ├── job_memory_leaker.lua │ │ │ ├── memory_profiler.lua │ │ │ ├── memory_tracker.lua │ │ │ ├── minimal_init.vim │ │ │ ├── new_line_finder.lua │ │ │ ├── rotate_bench.lua │ │ │ ├── run_tester.lua │ │ │ ├── term_open_checker.lua │ │ │ └── window_test.lua │ │ ├── scripts/ │ │ │ ├── minimal.vim │ │ │ ├── update_filetypes_from_github.lua │ │ │ ├── update_vararg.py │ │ │ └── vararg/ │ │ │ └── rotate.lua │ │ └── tests/ │ │ ├── manual/ │ │ │ └── large_job_spec.lua │ │ ├── minimal_init.vim │ │ └── plenary/ │ │ ├── async/ │ │ │ ├── async_spec.lua │ │ │ ├── channel_spec.lua │ │ │ ├── condvar_spec.lua │ │ │ ├── deque_spec.lua │ │ │ ├── read_file_bench.lua │ │ │ ├── semaphore_spec.lua │ │ │ ├── test_spec.lua │ │ │ └── util_spec.lua │ │ ├── context_manager_spec.lua │ │ ├── curl_spec.lua │ │ ├── enum_spec.lua │ │ ├── filetype_spec.lua │ │ ├── iterators_spec.lua │ │ ├── job/ │ │ │ └── validation_spec.lua │ │ ├── job_spec.lua │ │ ├── json_spec.lua │ │ ├── path_spec.lua │ │ ├── popup_requires_spec.lua │ │ ├── popup_spec.lua │ │ ├── py_list_spec.lua │ │ ├── rotate_spec.lua │ │ ├── scandir_spec.lua │ │ ├── simple_busted_spec.lua │ │ ├── strings_spec.lua │ │ ├── tbl_spec.lua │ │ └── uses_nvim_spec.lua │ ├── python-imports.vim/ │ │ ├── .coverage │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── build.yml │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.rst │ │ ├── autoload/ │ │ │ └── python_imports.vim │ │ ├── plugin/ │ │ │ └── python-imports.vim │ │ ├── pytest.ini │ │ ├── python-imports.cfg │ │ ├── pythonx/ │ │ │ ├── python_imports.py │ │ │ └── vim.pyi │ │ ├── setup.cfg │ │ ├── test/ │ │ │ ├── conftest.py │ │ │ ├── run │ │ │ ├── test_python_imports.py │ │ │ ├── tests.vader │ │ │ └── vimrc │ │ └── tox.ini │ ├── quickfix.nvim/ │ │ ├── README.md │ │ ├── lua/ │ │ │ ├── quickfix/ │ │ │ │ └── loc.lua │ │ │ └── quickfix.lua │ │ └── plugin/ │ │ └── quickfix.lua │ ├── rainbow/ │ │ ├── .github/ │ │ │ └── ISSUE_TEMPLATE/ │ │ │ ├── bug_report.md │ │ │ ├── feature_request.md │ │ │ └── not-issue.md │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── README_zh.md │ │ ├── autoload/ │ │ │ ├── rainbow.vim │ │ │ └── rainbow_main.vim │ │ ├── doc/ │ │ │ └── rainbow.txt │ │ ├── plugin/ │ │ │ └── rainbow_main.vim │ │ └── tests/ │ │ ├── test.c │ │ ├── test.css │ │ ├── test.csv │ │ ├── test.go │ │ ├── test.hs │ │ ├── test.html │ │ ├── test.html.txt │ │ ├── test.js │ │ ├── test.lua │ │ ├── test.php │ │ ├── test.pl │ │ ├── test.rb │ │ ├── test.sh │ │ ├── test.special-ft │ │ ├── test.styl │ │ ├── test.tex │ │ └── test.xml │ ├── record-key.nvim/ │ │ ├── README.md │ │ └── plugin/ │ │ └── record-key.lua │ ├── rust.vim/ │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── ci.yml │ │ ├── .gitignore │ │ ├── .vintrc.yml │ │ ├── ISSUE_TEMPLATE.md │ │ ├── LICENSE-APACHE │ │ ├── LICENSE-MIT │ │ ├── README.md │ │ ├── after/ │ │ │ └── syntax/ │ │ │ └── rust.vim │ │ ├── autoload/ │ │ │ ├── cargo/ │ │ │ │ └── quickfix.vim │ │ │ ├── cargo.vim │ │ │ ├── rust/ │ │ │ │ ├── debugging.vim │ │ │ │ ├── delimitmate.vim │ │ │ │ └── tags.vim │ │ │ ├── rust.vim │ │ │ └── rustfmt.vim │ │ ├── compiler/ │ │ │ ├── cargo.vim │ │ │ └── rustc.vim │ │ ├── ctags/ │ │ │ └── rust.ctags │ │ ├── doc/ │ │ │ └── rust.txt │ │ ├── ftdetect/ │ │ │ └── rust.vim │ │ ├── ftplugin/ │ │ │ ├── rust/ │ │ │ │ └── tagbar.vim │ │ │ └── rust.vim │ │ ├── indent/ │ │ │ └── rust.vim │ │ ├── plugin/ │ │ │ ├── cargo.vim │ │ │ └── rust.vim │ │ ├── syntax/ │ │ │ └── rust.vim │ │ ├── syntax_checkers/ │ │ │ └── rust/ │ │ │ ├── cargo.vim │ │ │ └── rustc.vim │ │ ├── test/ │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── coverage.vader │ │ │ ├── indent.vader │ │ │ ├── run-tests │ │ │ ├── sample.rs │ │ │ └── vimrc │ │ └── triagebot.toml │ ├── screensaver.vim/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── screensaver/ │ │ │ │ ├── pixel/ │ │ │ │ │ ├── 100 │ │ │ │ │ ├── 101 │ │ │ │ │ ├── 102 │ │ │ │ │ ├── 103 │ │ │ │ │ ├── 104 │ │ │ │ │ ├── 105 │ │ │ │ │ ├── 106 │ │ │ │ │ ├── 107 │ │ │ │ │ ├── 108 │ │ │ │ │ ├── 109 │ │ │ │ │ ├── 110 │ │ │ │ │ ├── 111 │ │ │ │ │ ├── 112 │ │ │ │ │ ├── 113 │ │ │ │ │ ├── 114 │ │ │ │ │ ├── 115 │ │ │ │ │ ├── 116 │ │ │ │ │ ├── 117 │ │ │ │ │ ├── 118 │ │ │ │ │ ├── 119 │ │ │ │ │ ├── 120 │ │ │ │ │ ├── 121 │ │ │ │ │ ├── 122 │ │ │ │ │ ├── 123 │ │ │ │ │ ├── 124 │ │ │ │ │ ├── 125 │ │ │ │ │ ├── 126 │ │ │ │ │ ├── 33 │ │ │ │ │ ├── 34 │ │ │ │ │ ├── 35 │ │ │ │ │ ├── 36 │ │ │ │ │ ├── 37 │ │ │ │ │ ├── 38 │ │ │ │ │ ├── 39 │ │ │ │ │ ├── 40 │ │ │ │ │ ├── 41 │ │ │ │ │ ├── 42 │ │ │ │ │ ├── 43 │ │ │ │ │ ├── 44 │ │ │ │ │ ├── 45 │ │ │ │ │ ├── 46 │ │ │ │ │ ├── 47 │ │ │ │ │ ├── 48 │ │ │ │ │ ├── 49 │ │ │ │ │ ├── 50 │ │ │ │ │ ├── 51 │ │ │ │ │ ├── 52 │ │ │ │ │ ├── 53 │ │ │ │ │ ├── 54 │ │ │ │ │ ├── 55 │ │ │ │ │ ├── 56 │ │ │ │ │ ├── 57 │ │ │ │ │ ├── 58 │ │ │ │ │ ├── 59 │ │ │ │ │ ├── 60 │ │ │ │ │ ├── 61 │ │ │ │ │ ├── 62 │ │ │ │ │ ├── 63 │ │ │ │ │ ├── 64 │ │ │ │ │ ├── 65 │ │ │ │ │ ├── 66 │ │ │ │ │ ├── 67 │ │ │ │ │ ├── 68 │ │ │ │ │ ├── 69 │ │ │ │ │ ├── 70 │ │ │ │ │ ├── 71 │ │ │ │ │ ├── 72 │ │ │ │ │ ├── 73 │ │ │ │ │ ├── 74 │ │ │ │ │ ├── 75 │ │ │ │ │ ├── 76 │ │ │ │ │ ├── 77 │ │ │ │ │ ├── 78 │ │ │ │ │ ├── 79 │ │ │ │ │ ├── 80 │ │ │ │ │ ├── 81 │ │ │ │ │ ├── 82 │ │ │ │ │ ├── 83 │ │ │ │ │ ├── 84 │ │ │ │ │ ├── 85 │ │ │ │ │ ├── 86 │ │ │ │ │ ├── 87 │ │ │ │ │ ├── 88 │ │ │ │ │ ├── 89 │ │ │ │ │ ├── 90 │ │ │ │ │ ├── 91 │ │ │ │ │ ├── 92 │ │ │ │ │ ├── 93 │ │ │ │ │ ├── 94 │ │ │ │ │ ├── 95 │ │ │ │ │ ├── 96 │ │ │ │ │ ├── 97 │ │ │ │ │ ├── 98 │ │ │ │ │ └── 99 │ │ │ │ ├── pixel.vim │ │ │ │ ├── random.vim │ │ │ │ ├── randomcolor.vim │ │ │ │ ├── randomhighlight.vim │ │ │ │ ├── source/ │ │ │ │ │ ├── clock.vim │ │ │ │ │ ├── helloworld.vim │ │ │ │ │ ├── largeclock.vim │ │ │ │ │ └── password.vim │ │ │ │ └── util.vim │ │ │ └── screensaver.vim │ │ ├── doc/ │ │ │ └── screensaver.txt │ │ └── plugin/ │ │ └── screensaver.vim │ ├── scrollbar.vim/ │ │ ├── README.md │ │ ├── plugin/ │ │ │ └── scrollbar.vim │ │ └── test/ │ │ └── vimrc │ ├── smalltalk/ │ │ ├── ftdetect/ │ │ │ └── smalltalk.vim │ │ ├── indent/ │ │ │ └── smalltalk.vim │ │ └── syntax/ │ │ └── smalltalk.vim │ ├── spacevim/ │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ └── spacevimcn.vim │ │ └── doc/ │ │ └── SpaceVim.txt │ ├── splitjoin.vim/ │ │ ├── .circleci/ │ │ │ └── config.yml │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── mirror.yml │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── .rspec │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── Gemfile │ │ ├── Guardfile │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Rakefile │ │ ├── autoload/ │ │ │ ├── sj/ │ │ │ │ ├── argparser/ │ │ │ │ │ ├── clojure.vim │ │ │ │ │ ├── common.vim │ │ │ │ │ ├── elixir.vim │ │ │ │ │ ├── go_vars.vim │ │ │ │ │ ├── html_args.vim │ │ │ │ │ ├── js.vim │ │ │ │ │ ├── json.vim │ │ │ │ │ ├── ruby.vim │ │ │ │ │ ├── rust_list.vim │ │ │ │ │ ├── rust_struct.vim │ │ │ │ │ └── sh.vim │ │ │ │ ├── c.vim │ │ │ │ ├── clojure.vim │ │ │ │ ├── coffee.vim │ │ │ │ ├── css.vim │ │ │ │ ├── cue.vim │ │ │ │ ├── elixir.vim │ │ │ │ ├── elm.vim │ │ │ │ ├── eruby.vim │ │ │ │ ├── go.vim │ │ │ │ ├── haml.vim │ │ │ │ ├── handlebars.vim │ │ │ │ ├── html.vim │ │ │ │ ├── java.vim │ │ │ │ ├── js.vim │ │ │ │ ├── jsx.vim │ │ │ │ ├── lua.vim │ │ │ │ ├── perl.vim │ │ │ │ ├── php.vim │ │ │ │ ├── python.vim │ │ │ │ ├── r.vim │ │ │ │ ├── ruby.vim │ │ │ │ ├── rust.vim │ │ │ │ ├── scss.vim │ │ │ │ ├── settings.vim │ │ │ │ ├── sh.vim │ │ │ │ ├── tex.vim │ │ │ │ ├── vim.vim │ │ │ │ ├── vue.vim │ │ │ │ └── yaml.vim │ │ │ └── sj.vim │ │ ├── doc/ │ │ │ └── splitjoin.txt │ │ ├── ftplugin/ │ │ │ ├── c/ │ │ │ │ └── splitjoin.vim │ │ │ ├── clojure/ │ │ │ │ └── splitjoin.vim │ │ │ ├── coffee/ │ │ │ │ └── splitjoin.vim │ │ │ ├── cs/ │ │ │ │ └── splitjoin.vim │ │ │ ├── css/ │ │ │ │ └── splitjoin.vim │ │ │ ├── cue/ │ │ │ │ └── splitjoin.vim │ │ │ ├── elixir/ │ │ │ │ └── splitjoin.vim │ │ │ ├── elm/ │ │ │ │ └── splitjoin.vim │ │ │ ├── eruby/ │ │ │ │ └── splitjoin.vim │ │ │ ├── go/ │ │ │ │ └── splitjoin.vim │ │ │ ├── haml/ │ │ │ │ └── splitjoin.vim │ │ │ ├── handlebars/ │ │ │ │ └── splitjoin.vim │ │ │ ├── html/ │ │ │ │ └── splitjoin.vim │ │ │ ├── htmldjango/ │ │ │ │ └── splitjoin.vim │ │ │ ├── java/ │ │ │ │ └── splitjoin.vim │ │ │ ├── javascript/ │ │ │ │ └── splitjoin.vim │ │ │ ├── javascriptreact/ │ │ │ │ └── splitjoin.vim │ │ │ ├── json/ │ │ │ │ └── splitjoin.vim │ │ │ ├── jsx/ │ │ │ │ └── splitjoin.vim │ │ │ ├── less/ │ │ │ │ └── splitjoin.vim │ │ │ ├── lua/ │ │ │ │ └── splitjoin.vim │ │ │ ├── perl/ │ │ │ │ └── splitjoin.vim │ │ │ ├── php/ │ │ │ │ └── splitjoin.vim │ │ │ ├── python/ │ │ │ │ └── splitjoin.vim │ │ │ ├── r/ │ │ │ │ └── splitjoin.vim │ │ │ ├── ruby/ │ │ │ │ └── splitjoin.vim │ │ │ ├── rust/ │ │ │ │ └── splitjoin.vim │ │ │ ├── scss/ │ │ │ │ └── splitjoin.vim │ │ │ ├── sh/ │ │ │ │ └── splitjoin.vim │ │ │ ├── snakemake/ │ │ │ │ └── splitjoin.vim │ │ │ ├── svelte/ │ │ │ │ └── splitjoin.vim │ │ │ ├── tex/ │ │ │ │ └── splitjoin.vim │ │ │ ├── tsx/ │ │ │ │ └── splitjoin.vim │ │ │ ├── typescript/ │ │ │ │ └── splitjoin.vim │ │ │ ├── typescriptreact/ │ │ │ │ └── splitjoin.vim │ │ │ ├── vim/ │ │ │ │ └── splitjoin.vim │ │ │ ├── vue/ │ │ │ │ └── splitjoin.vim │ │ │ ├── xml/ │ │ │ │ └── splitjoin.vim │ │ │ ├── yaml/ │ │ │ │ └── splitjoin.vim │ │ │ └── zsh/ │ │ │ └── splitjoin.vim │ │ ├── plugin/ │ │ │ └── splitjoin.vim │ │ └── spec/ │ │ ├── plugin/ │ │ │ ├── c_spec.rb │ │ │ ├── clojure_spec.rb │ │ │ ├── coffee_spec.rb │ │ │ ├── css_spec.rb │ │ │ ├── elixir_spec.rb │ │ │ ├── elm_spec.rb │ │ │ ├── eruby_spec.rb │ │ │ ├── go_spec.rb │ │ │ ├── haml_spec.rb │ │ │ ├── handlebars_spec.rb │ │ │ ├── html_spec.rb │ │ │ ├── java_spec.rb │ │ │ ├── js_spec.rb │ │ │ ├── jsx_spec.rb │ │ │ ├── lua_spec.rb │ │ │ ├── perl_spec.rb │ │ │ ├── php_spec.rb │ │ │ ├── python_spec.rb │ │ │ ├── r_spec.rb │ │ │ ├── ruby_spec.rb │ │ │ ├── rust_spec.rb │ │ │ ├── scss_spec.rb │ │ │ ├── settings_spec.rb │ │ │ ├── sh_spec.rb │ │ │ ├── tex_spec.rb │ │ │ ├── vim_spec.rb │ │ │ └── yaml_spec.rb │ │ ├── spec_helper.rb │ │ └── support/ │ │ └── vim.rb │ ├── tabular/ │ │ ├── .gitignore │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── after/ │ │ │ └── plugin/ │ │ │ └── TabularMaps.vim │ │ ├── autoload/ │ │ │ └── tabular.vim │ │ ├── doc/ │ │ │ └── Tabular.txt │ │ └── plugin/ │ │ └── Tabular.vim │ ├── tagbar/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ └── workflows/ │ │ │ ├── check.yml │ │ │ ├── reviewdog.yml │ │ │ └── vint.yml │ │ ├── .vintrc.yaml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── tagbar/ │ │ │ │ ├── log.vim │ │ │ │ ├── prototypes/ │ │ │ │ │ ├── basetag.vim │ │ │ │ │ ├── fileinfo.vim │ │ │ │ │ ├── kindheadertag.vim │ │ │ │ │ ├── normaltag.vim │ │ │ │ │ ├── pseudotag.vim │ │ │ │ │ ├── splittag.vim │ │ │ │ │ └── typeinfo.vim │ │ │ │ ├── sorting.vim │ │ │ │ ├── state.vim │ │ │ │ └── types/ │ │ │ │ ├── ctags.vim │ │ │ │ └── uctags.vim │ │ │ └── tagbar.vim │ │ ├── doc/ │ │ │ └── tagbar.txt │ │ ├── plugin/ │ │ │ └── tagbar.vim │ │ └── syntax/ │ │ └── tagbar.vim │ ├── tagbar-makefile.vim/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ctags/ │ │ │ └── makefile.cnf │ │ └── ftplugin/ │ │ └── make.vim │ ├── tagbar-proto.vim/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ctags/ │ │ │ └── proto.cnf │ │ └── ftplugin/ │ │ └── proto.vim │ ├── telescope-ctags-outline.nvim/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lua/ │ │ │ └── telescope/ │ │ │ └── _extensions/ │ │ │ └── ctags_outline.lua │ │ └── stylua.toml │ ├── telescope-fzf-native.nvim/ │ │ ├── .clang-format │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ └── workflows/ │ │ │ ├── ci.yml │ │ │ └── lint.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── lua/ │ │ │ ├── fzf_lib.lua │ │ │ └── telescope/ │ │ │ └── _extensions/ │ │ │ └── fzf.lua │ │ ├── src/ │ │ │ ├── fzf.c │ │ │ └── fzf.h │ │ └── test/ │ │ ├── fzf_lib_spec.lua │ │ ├── minrc.vim │ │ └── test.c │ ├── telescope-menu/ │ │ └── lua/ │ │ └── telescope/ │ │ └── _extensions/ │ │ └── menu.lua │ ├── telescope.nvim-0.1.2/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── config.yml │ │ │ │ └── feature_request.md │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ └── workflows/ │ │ │ ├── ci.yml │ │ │ ├── docgen.yml │ │ │ ├── lint.yml │ │ │ └── release.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── health/ │ │ │ └── telescope.vim │ │ ├── data/ │ │ │ └── memes/ │ │ │ └── planets/ │ │ │ ├── earth │ │ │ ├── jupiter │ │ │ ├── mars │ │ │ ├── mercury │ │ │ ├── moon │ │ │ ├── neptune │ │ │ ├── pluto │ │ │ ├── saturn │ │ │ ├── uranus │ │ │ └── venus │ │ ├── developers.md │ │ ├── doc/ │ │ │ ├── secret.txt │ │ │ ├── telescope.txt │ │ │ └── telescope_changelog.txt │ │ ├── ftplugin/ │ │ │ ├── TelescopePrompt.lua │ │ │ └── TelescopeResults.lua │ │ ├── lua/ │ │ │ ├── telescope/ │ │ │ │ ├── _.lua │ │ │ │ ├── _extensions/ │ │ │ │ │ └── init.lua │ │ │ │ ├── actions/ │ │ │ │ │ ├── generate.lua │ │ │ │ │ ├── history.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── layout.lua │ │ │ │ │ ├── mt.lua │ │ │ │ │ ├── set.lua │ │ │ │ │ ├── state.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── algos/ │ │ │ │ │ ├── fzy.lua │ │ │ │ │ ├── linked_list.lua │ │ │ │ │ └── string_distance.lua │ │ │ │ ├── builtin/ │ │ │ │ │ ├── __diagnostics.lua │ │ │ │ │ ├── __files.lua │ │ │ │ │ ├── __git.lua │ │ │ │ │ ├── __internal.lua │ │ │ │ │ ├── __lsp.lua │ │ │ │ │ └── init.lua │ │ │ │ ├── command.lua │ │ │ │ ├── config/ │ │ │ │ │ └── resolve.lua │ │ │ │ ├── config.lua │ │ │ │ ├── debounce.lua │ │ │ │ ├── deprecated.lua │ │ │ │ ├── entry_manager.lua │ │ │ │ ├── finders/ │ │ │ │ │ ├── async_job_finder.lua │ │ │ │ │ ├── async_oneshot_finder.lua │ │ │ │ │ └── async_static_finder.lua │ │ │ │ ├── finders.lua │ │ │ │ ├── from_entry.lua │ │ │ │ ├── health.lua │ │ │ │ ├── init.lua │ │ │ │ ├── log.lua │ │ │ │ ├── make_entry.lua │ │ │ │ ├── mappings.lua │ │ │ │ ├── pickers/ │ │ │ │ │ ├── entry_display.lua │ │ │ │ │ ├── highlights.lua │ │ │ │ │ ├── layout_strategies.lua │ │ │ │ │ ├── multi.lua │ │ │ │ │ ├── scroller.lua │ │ │ │ │ └── window.lua │ │ │ │ ├── pickers.lua │ │ │ │ ├── previewers/ │ │ │ │ │ ├── buffer_previewer.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── previewer.lua │ │ │ │ │ ├── term_previewer.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── sorters.lua │ │ │ │ ├── state.lua │ │ │ │ ├── testharness/ │ │ │ │ │ ├── helpers.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ └── runner.lua │ │ │ │ ├── themes.lua │ │ │ │ └── utils.lua │ │ │ └── tests/ │ │ │ ├── automated/ │ │ │ │ ├── action_spec.lua │ │ │ │ ├── command_spec.lua │ │ │ │ ├── entry_display_spec.lua │ │ │ │ ├── entry_manager_spec.lua │ │ │ │ ├── layout_strategies_spec.lua │ │ │ │ ├── linked_list_spec.lua │ │ │ │ ├── pickers/ │ │ │ │ │ └── find_files_spec.lua │ │ │ │ ├── resolver_spec.lua │ │ │ │ ├── scroller_spec.lua │ │ │ │ └── telescope_spec.lua │ │ │ ├── fixtures/ │ │ │ │ └── find_files/ │ │ │ │ ├── file_a.txt │ │ │ │ └── file_abc.txt │ │ │ ├── helpers.lua │ │ │ └── pickers/ │ │ │ ├── find_files__readme.lua │ │ │ └── find_files__scrolling_descending_cycle.lua │ │ ├── plugin/ │ │ │ └── telescope.lua │ │ ├── scripts/ │ │ │ ├── gendocs.lua │ │ │ └── minimal_init.vim │ │ └── telescope.nvim-scm-1.rockspec │ ├── telescope.nvim-0.1.5/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── config.yml │ │ │ │ └── feature_request.md │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ └── workflows/ │ │ │ ├── ci.yml │ │ │ ├── docgen.yml │ │ │ ├── lint.yml │ │ │ └── release.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── health/ │ │ │ └── telescope.vim │ │ ├── data/ │ │ │ └── memes/ │ │ │ └── planets/ │ │ │ ├── earth │ │ │ ├── jupiter │ │ │ ├── mars │ │ │ ├── mercury │ │ │ ├── moon │ │ │ ├── neptune │ │ │ ├── pluto │ │ │ ├── saturn │ │ │ ├── uranus │ │ │ └── venus │ │ ├── developers.md │ │ ├── doc/ │ │ │ ├── secret.txt │ │ │ ├── telescope.txt │ │ │ └── telescope_changelog.txt │ │ ├── ftplugin/ │ │ │ ├── TelescopePrompt.lua │ │ │ └── TelescopeResults.lua │ │ ├── lua/ │ │ │ ├── telescope/ │ │ │ │ ├── _.lua │ │ │ │ ├── _extensions/ │ │ │ │ │ └── init.lua │ │ │ │ ├── actions/ │ │ │ │ │ ├── generate.lua │ │ │ │ │ ├── history.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── layout.lua │ │ │ │ │ ├── mt.lua │ │ │ │ │ ├── set.lua │ │ │ │ │ ├── state.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── algos/ │ │ │ │ │ ├── fzy.lua │ │ │ │ │ ├── linked_list.lua │ │ │ │ │ └── string_distance.lua │ │ │ │ ├── builtin/ │ │ │ │ │ ├── __diagnostics.lua │ │ │ │ │ ├── __files.lua │ │ │ │ │ ├── __git.lua │ │ │ │ │ ├── __internal.lua │ │ │ │ │ ├── __lsp.lua │ │ │ │ │ └── init.lua │ │ │ │ ├── command.lua │ │ │ │ ├── config/ │ │ │ │ │ └── resolve.lua │ │ │ │ ├── config.lua │ │ │ │ ├── debounce.lua │ │ │ │ ├── deprecated.lua │ │ │ │ ├── entry_manager.lua │ │ │ │ ├── finders/ │ │ │ │ │ ├── async_job_finder.lua │ │ │ │ │ ├── async_oneshot_finder.lua │ │ │ │ │ └── async_static_finder.lua │ │ │ │ ├── finders.lua │ │ │ │ ├── from_entry.lua │ │ │ │ ├── health.lua │ │ │ │ ├── init.lua │ │ │ │ ├── log.lua │ │ │ │ ├── make_entry.lua │ │ │ │ ├── mappings.lua │ │ │ │ ├── pickers/ │ │ │ │ │ ├── entry_display.lua │ │ │ │ │ ├── highlights.lua │ │ │ │ │ ├── layout_strategies.lua │ │ │ │ │ ├── multi.lua │ │ │ │ │ ├── scroller.lua │ │ │ │ │ └── window.lua │ │ │ │ ├── pickers.lua │ │ │ │ ├── previewers/ │ │ │ │ │ ├── buffer_previewer.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── previewer.lua │ │ │ │ │ ├── term_previewer.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── sorters.lua │ │ │ │ ├── state.lua │ │ │ │ ├── testharness/ │ │ │ │ │ ├── helpers.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ └── runner.lua │ │ │ │ ├── themes.lua │ │ │ │ └── utils.lua │ │ │ └── tests/ │ │ │ ├── automated/ │ │ │ │ ├── action_spec.lua │ │ │ │ ├── command_spec.lua │ │ │ │ ├── entry_display_spec.lua │ │ │ │ ├── entry_manager_spec.lua │ │ │ │ ├── layout_strategies_spec.lua │ │ │ │ ├── linked_list_spec.lua │ │ │ │ ├── pickers/ │ │ │ │ │ └── find_files_spec.lua │ │ │ │ ├── resolver_spec.lua │ │ │ │ ├── scroller_spec.lua │ │ │ │ ├── telescope_spec.lua │ │ │ │ └── utils_spec.lua │ │ │ ├── fixtures/ │ │ │ │ └── find_files/ │ │ │ │ ├── file_a.txt │ │ │ │ └── file_abc.txt │ │ │ ├── helpers.lua │ │ │ └── pickers/ │ │ │ ├── find_files__readme.lua │ │ │ └── find_files__scrolling_descending_cycle.lua │ │ ├── plugin/ │ │ │ └── telescope.lua │ │ ├── scripts/ │ │ │ ├── gendocs.lua │ │ │ └── minimal_init.vim │ │ └── telescope.nvim-scm-1.rockspec │ ├── telescope.nvim-0.1.8/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ ├── config.yml │ │ │ │ └── feature_request.md │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ └── workflows/ │ │ │ ├── ci.yml │ │ │ ├── docgen.yml │ │ │ ├── lint.yml │ │ │ └── release.yml │ │ ├── .gitignore │ │ ├── .luacheckrc │ │ ├── .stylua.toml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── health/ │ │ │ └── telescope.vim │ │ ├── data/ │ │ │ └── memes/ │ │ │ └── planets/ │ │ │ ├── earth │ │ │ ├── jupiter │ │ │ ├── mars │ │ │ ├── mercury │ │ │ ├── moon │ │ │ ├── neptune │ │ │ ├── pluto │ │ │ ├── saturn │ │ │ ├── uranus │ │ │ └── venus │ │ ├── developers.md │ │ ├── doc/ │ │ │ ├── secret.txt │ │ │ ├── telescope.txt │ │ │ └── telescope_changelog.txt │ │ ├── ftplugin/ │ │ │ ├── TelescopePrompt.lua │ │ │ └── TelescopeResults.lua │ │ ├── lua/ │ │ │ ├── telescope/ │ │ │ │ ├── _.lua │ │ │ │ ├── _extensions/ │ │ │ │ │ └── init.lua │ │ │ │ ├── actions/ │ │ │ │ │ ├── generate.lua │ │ │ │ │ ├── history.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── layout.lua │ │ │ │ │ ├── mt.lua │ │ │ │ │ ├── set.lua │ │ │ │ │ ├── state.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── algos/ │ │ │ │ │ ├── fzy.lua │ │ │ │ │ ├── linked_list.lua │ │ │ │ │ └── string_distance.lua │ │ │ │ ├── builtin/ │ │ │ │ │ ├── __diagnostics.lua │ │ │ │ │ ├── __files.lua │ │ │ │ │ ├── __git.lua │ │ │ │ │ ├── __internal.lua │ │ │ │ │ ├── __lsp.lua │ │ │ │ │ └── init.lua │ │ │ │ ├── command.lua │ │ │ │ ├── config/ │ │ │ │ │ └── resolve.lua │ │ │ │ ├── config.lua │ │ │ │ ├── debounce.lua │ │ │ │ ├── deprecated.lua │ │ │ │ ├── entry_manager.lua │ │ │ │ ├── finders/ │ │ │ │ │ ├── async_job_finder.lua │ │ │ │ │ ├── async_oneshot_finder.lua │ │ │ │ │ └── async_static_finder.lua │ │ │ │ ├── finders.lua │ │ │ │ ├── from_entry.lua │ │ │ │ ├── health.lua │ │ │ │ ├── init.lua │ │ │ │ ├── log.lua │ │ │ │ ├── make_entry.lua │ │ │ │ ├── mappings.lua │ │ │ │ ├── pickers/ │ │ │ │ │ ├── entry_display.lua │ │ │ │ │ ├── highlights.lua │ │ │ │ │ ├── layout_strategies.lua │ │ │ │ │ ├── multi.lua │ │ │ │ │ ├── scroller.lua │ │ │ │ │ └── window.lua │ │ │ │ ├── pickers.lua │ │ │ │ ├── previewers/ │ │ │ │ │ ├── buffer_previewer.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ ├── previewer.lua │ │ │ │ │ ├── term_previewer.lua │ │ │ │ │ └── utils.lua │ │ │ │ ├── sorters.lua │ │ │ │ ├── state.lua │ │ │ │ ├── testharness/ │ │ │ │ │ ├── helpers.lua │ │ │ │ │ ├── init.lua │ │ │ │ │ └── runner.lua │ │ │ │ ├── themes.lua │ │ │ │ └── utils.lua │ │ │ └── tests/ │ │ │ ├── automated/ │ │ │ │ ├── action_spec.lua │ │ │ │ ├── command_spec.lua │ │ │ │ ├── entry_display_spec.lua │ │ │ │ ├── entry_manager_spec.lua │ │ │ │ ├── layout_strategies_spec.lua │ │ │ │ ├── linked_list_spec.lua │ │ │ │ ├── pickers/ │ │ │ │ │ └── find_files_spec.lua │ │ │ │ ├── resolver_spec.lua │ │ │ │ ├── scroller_spec.lua │ │ │ │ ├── telescope_spec.lua │ │ │ │ └── utils_spec.lua │ │ │ ├── fixtures/ │ │ │ │ └── find_files/ │ │ │ │ ├── file_a.txt │ │ │ │ └── file_abc.txt │ │ │ ├── helpers.lua │ │ │ └── pickers/ │ │ │ ├── find_files__readme.lua │ │ │ └── find_files__scrolling_descending_cycle.lua │ │ ├── plugin/ │ │ │ └── telescope.lua │ │ ├── scripts/ │ │ │ ├── gendocs.lua │ │ │ └── minimal_init.vim │ │ └── telescope.nvim-scm-1.rockspec │ ├── trouble.nvim/ │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.yml │ │ │ │ └── feature_request.yml │ │ │ └── workflows/ │ │ │ └── ci.yml │ │ ├── .gitignore │ │ ├── .lua-format │ │ ├── .nvim.lsp.json │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ └── trouble.nvim.txt │ │ ├── lua/ │ │ │ └── trouble/ │ │ │ ├── colors.lua │ │ │ ├── config.lua │ │ │ ├── folds.lua │ │ │ ├── init.lua │ │ │ ├── providers/ │ │ │ │ ├── diagnostic.lua │ │ │ │ ├── init.lua │ │ │ │ ├── lsp.lua │ │ │ │ ├── qf.lua │ │ │ │ └── telescope.lua │ │ │ ├── renderer.lua │ │ │ ├── text.lua │ │ │ ├── util.lua │ │ │ └── view.lua │ │ ├── plugin/ │ │ │ └── trouble.vim │ │ ├── selene.toml │ │ ├── stylua.toml │ │ └── vim.toml │ ├── undotree/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── undotree.vim │ │ ├── doc/ │ │ │ └── undotree.txt │ │ ├── plugin/ │ │ │ └── undotree.vim │ │ └── syntax/ │ │ └── undotree.vim │ ├── unite-sources/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── autoload/ │ │ │ ├── unicode.vim │ │ │ └── unite/ │ │ │ ├── filters/ │ │ │ │ └── gtags_tree_matcher.vim │ │ │ ├── kinds/ │ │ │ │ ├── gtags_completion.vim │ │ │ │ ├── unicode.vim │ │ │ │ └── unicodeSelect.vim │ │ │ ├── libs/ │ │ │ │ └── gtags.vim │ │ │ └── sources/ │ │ │ ├── colorscheme.vim │ │ │ ├── gtags.vim │ │ │ ├── help.vim │ │ │ ├── history.vim │ │ │ ├── locationlist.vim │ │ │ ├── radio.vim │ │ │ ├── unicode.vim │ │ │ └── unicodeSelect.vim │ │ ├── data/ │ │ │ ├── arabic.txt │ │ │ ├── armenian.txt │ │ │ ├── bopomofo.txt │ │ │ ├── braille.txt │ │ │ ├── cuneiform.txt │ │ │ ├── cyrillic.txt │ │ │ ├── games.txt │ │ │ ├── greek.txt │ │ │ ├── greek_extended.txt │ │ │ ├── hangul.txt │ │ │ ├── hebrew.txt │ │ │ ├── ipa_extension.txt │ │ │ ├── japanese.txt │ │ │ ├── latin_basic.txt │ │ │ ├── latin_extended.txt │ │ │ ├── mathematics.txt │ │ │ ├── mod/ │ │ │ │ └── unicode_trimmed.txt │ │ │ ├── other.txt │ │ │ ├── radicals.txt │ │ │ ├── raw/ │ │ │ │ ├── unicode_data.txt │ │ │ │ └── unicode_small.txt │ │ │ └── thai.txt │ │ ├── doc/ │ │ │ └── unite-radio.txt │ │ ├── gtags.md │ │ └── plugin/ │ │ ├── gtags.vim │ │ └── unite-unicode.vim │ ├── unite.vim/ │ │ ├── .github/ │ │ │ └── ISSUE_TEMPLATE.md │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── unite/ │ │ │ │ ├── action.vim │ │ │ │ ├── candidates.vim │ │ │ │ ├── complete.vim │ │ │ │ ├── custom.vim │ │ │ │ ├── exrename.vim │ │ │ │ ├── filters/ │ │ │ │ │ ├── converter_abbr_word.vim │ │ │ │ │ ├── converter_default.vim │ │ │ │ │ ├── converter_file_directory.vim │ │ │ │ │ ├── converter_full_path.vim │ │ │ │ │ ├── converter_nothing.vim │ │ │ │ │ ├── converter_relative_abbr.vim │ │ │ │ │ ├── converter_relative_word.vim │ │ │ │ │ ├── converter_smart_path.vim │ │ │ │ │ ├── converter_tail.vim │ │ │ │ │ ├── converter_tail_abbr.vim │ │ │ │ │ ├── converter_uniq_word.vim │ │ │ │ │ ├── converter_word_abbr.vim │ │ │ │ │ ├── matcher_context.vim │ │ │ │ │ ├── matcher_default.vim │ │ │ │ │ ├── matcher_fuzzy.vim │ │ │ │ │ ├── matcher_glob.vim │ │ │ │ │ ├── matcher_hide_current_file.vim │ │ │ │ │ ├── matcher_hide_hidden_files.vim │ │ │ │ │ ├── matcher_migemo.vim │ │ │ │ │ ├── matcher_project_files.vim │ │ │ │ │ ├── matcher_project_ignore_files.vim │ │ │ │ │ ├── matcher_regexp.vim │ │ │ │ │ ├── sorter_default.vim │ │ │ │ │ ├── sorter_ftime.vim │ │ │ │ │ ├── sorter_length.vim │ │ │ │ │ ├── sorter_nothing.vim │ │ │ │ │ ├── sorter_rank.vim │ │ │ │ │ ├── sorter_reverse.vim │ │ │ │ │ ├── sorter_selecta.py │ │ │ │ │ ├── sorter_selecta.vim │ │ │ │ │ └── sorter_word.vim │ │ │ │ ├── filters.vim │ │ │ │ ├── handlers.vim │ │ │ │ ├── helper.vim │ │ │ │ ├── init.vim │ │ │ │ ├── kinds/ │ │ │ │ │ ├── buffer.vim │ │ │ │ │ ├── cdable.vim │ │ │ │ │ ├── command.vim │ │ │ │ │ ├── common.vim │ │ │ │ │ ├── completion.vim │ │ │ │ │ ├── directory.vim │ │ │ │ │ ├── file.vim │ │ │ │ │ ├── file_base.vim │ │ │ │ │ ├── file_vimfiler_base.vim │ │ │ │ │ ├── guicmd.vim │ │ │ │ │ ├── jump_list.vim │ │ │ │ │ ├── openable.vim │ │ │ │ │ ├── source.vim │ │ │ │ │ ├── tab.vim │ │ │ │ │ ├── uri.vim │ │ │ │ │ ├── window.vim │ │ │ │ │ └── word.vim │ │ │ │ ├── mappings.vim │ │ │ │ ├── sources/ │ │ │ │ │ ├── action.vim │ │ │ │ │ ├── alias.vim │ │ │ │ │ ├── bookmark.vim │ │ │ │ │ ├── buffer/ │ │ │ │ │ │ └── variables.vim │ │ │ │ │ ├── buffer.vim │ │ │ │ │ ├── change.vim │ │ │ │ │ ├── command.vim │ │ │ │ │ ├── directory.vim │ │ │ │ │ ├── file.vim │ │ │ │ │ ├── file_list.vim │ │ │ │ │ ├── file_point.vim │ │ │ │ │ ├── find.vim │ │ │ │ │ ├── function.vim │ │ │ │ │ ├── grep.vim │ │ │ │ │ ├── grep_git.vim │ │ │ │ │ ├── history_input.vim │ │ │ │ │ ├── history_unite.vim │ │ │ │ │ ├── interactive.vim │ │ │ │ │ ├── jump.vim │ │ │ │ │ ├── jump_point.vim │ │ │ │ │ ├── launcher.vim │ │ │ │ │ ├── line.vim │ │ │ │ │ ├── mapping.vim │ │ │ │ │ ├── menu.vim │ │ │ │ │ ├── output.vim │ │ │ │ │ ├── output_shellcmd.vim │ │ │ │ │ ├── process.vim │ │ │ │ │ ├── rec.vim │ │ │ │ │ ├── register.vim │ │ │ │ │ ├── resume.vim │ │ │ │ │ ├── runtimepath.vim │ │ │ │ │ ├── script.vim │ │ │ │ │ ├── source.vim │ │ │ │ │ ├── tab.vim │ │ │ │ │ ├── vimgrep.vim │ │ │ │ │ ├── window.vim │ │ │ │ │ └── window_gui.vim │ │ │ │ ├── start.vim │ │ │ │ ├── util.vim │ │ │ │ ├── variables.vim │ │ │ │ └── view.vim │ │ │ ├── unite.vim │ │ │ ├── vital/ │ │ │ │ ├── _unite/ │ │ │ │ │ ├── Data/ │ │ │ │ │ │ ├── List.vim │ │ │ │ │ │ └── String.vim │ │ │ │ │ ├── Prelude.vim │ │ │ │ │ ├── Process.vim │ │ │ │ │ ├── System/ │ │ │ │ │ │ ├── Cache/ │ │ │ │ │ │ │ └── Deprecated.vim │ │ │ │ │ │ ├── File.vim │ │ │ │ │ │ └── Filepath.vim │ │ │ │ │ └── Vim/ │ │ │ │ │ └── Message.vim │ │ │ │ ├── _unite.vim │ │ │ │ ├── unite.vim │ │ │ │ └── unite.vital │ │ │ └── vital.vim │ │ ├── doc/ │ │ │ └── unite.txt │ │ ├── plugin/ │ │ │ ├── unite/ │ │ │ │ ├── bookmark.vim │ │ │ │ ├── buffer.vim │ │ │ │ └── window.vim │ │ │ └── unite.vim │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── denite/ │ │ │ ├── kind/ │ │ │ │ └── unite.py │ │ │ └── source/ │ │ │ └── unite.py │ │ ├── syntax/ │ │ │ ├── unite.vim │ │ │ └── unite_exrename.vim │ │ └── test/ │ │ ├── converter.vim │ │ ├── grep.vim │ │ ├── matcher.vim │ │ ├── sorter.vim │ │ └── source.vim │ ├── verilog/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Makefile │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── verilog.vim │ │ ├── compiler/ │ │ │ ├── cver.vim │ │ │ ├── iverilog.vim │ │ │ ├── leda.vim │ │ │ ├── msim.vim │ │ │ ├── ncverilog.vim │ │ │ ├── spyglass.vim │ │ │ ├── vcs.vim │ │ │ ├── verilator.vim │ │ │ └── verilog_common.vim │ │ ├── doc/ │ │ │ └── verilog_systemverilog.txt │ │ ├── ftdetect/ │ │ │ └── verilog.vim │ │ ├── ftplugin/ │ │ │ └── verilog.vim │ │ ├── indent/ │ │ │ └── verilog.vim │ │ ├── plugin/ │ │ │ └── verilog.vim │ │ ├── syntax/ │ │ │ └── verilog_systemverilog.vim │ │ └── test/ │ │ ├── errorformat.txt │ │ ├── folding.v │ │ ├── folding.v.html │ │ ├── functions.vim │ │ ├── indent.sv │ │ ├── indent.sv.html │ │ ├── mod.sv │ │ ├── run_test.vim │ │ ├── syntax.sv │ │ ├── syntax.sv.html │ │ ├── test.v │ │ └── test_vimrc │ ├── vim-airline/ │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── workflows/ │ │ │ └── reviewdog.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── Gemfile │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Rakefile │ │ ├── autoload/ │ │ │ ├── airline/ │ │ │ │ ├── async.vim │ │ │ │ ├── builder.vim │ │ │ │ ├── debug.vim │ │ │ │ ├── extensions/ │ │ │ │ │ ├── ale.vim │ │ │ │ │ ├── bookmark.vim │ │ │ │ │ ├── branch.vim │ │ │ │ │ ├── bufferline.vim │ │ │ │ │ ├── capslock.vim │ │ │ │ │ ├── coc.vim │ │ │ │ │ ├── commandt.vim │ │ │ │ │ ├── csv.vim │ │ │ │ │ ├── ctrlp.vim │ │ │ │ │ ├── ctrlspace.vim │ │ │ │ │ ├── cursormode.vim │ │ │ │ │ ├── default.vim │ │ │ │ │ ├── denite.vim │ │ │ │ │ ├── dirvish.vim │ │ │ │ │ ├── eclim.vim │ │ │ │ │ ├── example.vim │ │ │ │ │ ├── fugitiveline.vim │ │ │ │ │ ├── gina.vim │ │ │ │ │ ├── grepper.vim │ │ │ │ │ ├── gutentags.vim │ │ │ │ │ ├── hunks.vim │ │ │ │ │ ├── keymap.vim │ │ │ │ │ ├── languageclient.vim │ │ │ │ │ ├── localsearch.vim │ │ │ │ │ ├── lsp.vim │ │ │ │ │ ├── neomake.vim │ │ │ │ │ ├── netrw.vim │ │ │ │ │ ├── nrrwrgn.vim │ │ │ │ │ ├── obsession.vim │ │ │ │ │ ├── po.vim │ │ │ │ │ ├── poetv.vim │ │ │ │ │ ├── promptline.vim │ │ │ │ │ ├── quickfix.vim │ │ │ │ │ ├── syntastic.vim │ │ │ │ │ ├── tabline/ │ │ │ │ │ │ ├── autoshow.vim │ │ │ │ │ │ ├── buffers.vim │ │ │ │ │ │ ├── buflist.vim │ │ │ │ │ │ ├── builder.vim │ │ │ │ │ │ ├── ctrlspace.vim │ │ │ │ │ │ ├── formatters/ │ │ │ │ │ │ │ ├── default.vim │ │ │ │ │ │ │ ├── jsformatter.vim │ │ │ │ │ │ │ ├── short_path.vim │ │ │ │ │ │ │ ├── tabnr.vim │ │ │ │ │ │ │ ├── unique_tail.vim │ │ │ │ │ │ │ └── unique_tail_improved.vim │ │ │ │ │ │ ├── tabs.vim │ │ │ │ │ │ ├── tabws.vim │ │ │ │ │ │ └── xtabline.vim │ │ │ │ │ ├── tabline.vim │ │ │ │ │ ├── tagbar.vim │ │ │ │ │ ├── term.vim │ │ │ │ │ ├── tmuxline.vim │ │ │ │ │ ├── undotree.vim │ │ │ │ │ ├── unicode.vim │ │ │ │ │ ├── unite.vim │ │ │ │ │ ├── vimagit.vim │ │ │ │ │ ├── vimtex.vim │ │ │ │ │ ├── virtualenv.vim │ │ │ │ │ ├── vista.vim │ │ │ │ │ ├── whitespace.vim │ │ │ │ │ ├── windowswap.vim │ │ │ │ │ ├── wordcount/ │ │ │ │ │ │ └── formatters/ │ │ │ │ │ │ └── default.vim │ │ │ │ │ ├── wordcount.vim │ │ │ │ │ ├── xkblayout.vim │ │ │ │ │ ├── ycm.vim │ │ │ │ │ └── zoomwintab.vim │ │ │ │ ├── extensions.vim │ │ │ │ ├── highlighter.vim │ │ │ │ ├── init.vim │ │ │ │ ├── msdos.vim │ │ │ │ ├── parts.vim │ │ │ │ ├── section.vim │ │ │ │ ├── themes/ │ │ │ │ │ └── dark.vim │ │ │ │ ├── themes.vim │ │ │ │ └── util.vim │ │ │ └── airline.vim │ │ ├── doc/ │ │ │ └── airline.txt │ │ ├── plugin/ │ │ │ └── airline.vim │ │ └── t/ │ │ ├── airline.vim │ │ ├── builder.vim │ │ ├── commands.vim │ │ ├── extensions_default.vim │ │ ├── extensions_tabline.vim │ │ ├── highlighter.vim │ │ ├── init.vim │ │ ├── parts.vim │ │ ├── section.vim │ │ ├── themes.vim │ │ └── util.vim │ ├── vim-airline-themes/ │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── workflows/ │ │ │ └── reviewdog.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── airline/ │ │ │ └── themes/ │ │ │ ├── alduin.vim │ │ │ ├── angr.vim │ │ │ ├── atomic.vim │ │ │ ├── ayu_dark.vim │ │ │ ├── ayu_light.vim │ │ │ ├── ayu_mirage.vim │ │ │ ├── badwolf.vim │ │ │ ├── base16.vim │ │ │ ├── base16_3024.vim │ │ │ ├── base16_adwaita.vim │ │ │ ├── base16_apathy.vim │ │ │ ├── base16_ashes.vim │ │ │ ├── base16_atelierdune.vim │ │ │ ├── base16_atelierforest.vim │ │ │ ├── base16_atelierheath.vim │ │ │ ├── base16_atelierlakeside.vim │ │ │ ├── base16_atelierseaside.vim │ │ │ ├── base16_bespin.vim │ │ │ ├── base16_brewer.vim │ │ │ ├── base16_bright.vim │ │ │ ├── base16_chalk.vim │ │ │ ├── base16_classic.vim │ │ │ ├── base16_codeschool.vim │ │ │ ├── base16_colors.vim │ │ │ ├── base16_default.vim │ │ │ ├── base16_eighties.vim │ │ │ ├── base16_embers.vim │ │ │ ├── base16_flat.vim │ │ │ ├── base16_google.vim │ │ │ ├── base16_grayscale.vim │ │ │ ├── base16_greenscreen.vim │ │ │ ├── base16_gruvbox_dark_hard.vim │ │ │ ├── base16_harmonic16.vim │ │ │ ├── base16_hopscotch.vim │ │ │ ├── base16_isotope.vim │ │ │ ├── base16_londontube.vim │ │ │ ├── base16_marrakesh.vim │ │ │ ├── base16_mocha.vim │ │ │ ├── base16_monokai.vim │ │ │ ├── base16_nord.vim │ │ │ ├── base16_ocean.vim │ │ │ ├── base16_oceanicnext.vim │ │ │ ├── base16_paraiso.vim │ │ │ ├── base16_pop.vim │ │ │ ├── base16_railscasts.vim │ │ │ ├── base16_seti.vim │ │ │ ├── base16_shapeshifter.vim │ │ │ ├── base16_shell.vim │ │ │ ├── base16_snazzy.vim │ │ │ ├── base16_solarized.vim │ │ │ ├── base16_spacemacs.vim │ │ │ ├── base16_summerfruit.vim │ │ │ ├── base16_tomorrow.vim │ │ │ ├── base16_twilight.vim │ │ │ ├── base16_vim.vim │ │ │ ├── base16color.vim │ │ │ ├── behelit.vim │ │ │ ├── biogoo.vim │ │ │ ├── bubblegum.vim │ │ │ ├── cobalt2.vim │ │ │ ├── cool.vim │ │ │ ├── dark_minimal.vim │ │ │ ├── desertink.vim │ │ │ ├── deus.vim │ │ │ ├── distinguished.vim │ │ │ ├── durant.vim │ │ │ ├── fairyfloss.vim │ │ │ ├── fruit_punch.vim │ │ │ ├── hybrid.vim │ │ │ ├── hybridline.vim │ │ │ ├── jellybeans.vim │ │ │ ├── jet.vim │ │ │ ├── kalisi.vim │ │ │ ├── kolor.vim │ │ │ ├── laederon.vim │ │ │ ├── light.vim │ │ │ ├── lucius.vim │ │ │ ├── luna.vim │ │ │ ├── minimalist.vim │ │ │ ├── molokai.vim │ │ │ ├── monochrome.vim │ │ │ ├── murmur.vim │ │ │ ├── night_owl.vim │ │ │ ├── onedark.vim │ │ │ ├── ouo.vim │ │ │ ├── owo.vim │ │ │ ├── papercolor.vim │ │ │ ├── peaksea.vim │ │ │ ├── powerlineish.vim │ │ │ ├── qwq.vim │ │ │ ├── raven.vim │ │ │ ├── ravenpower.vim │ │ │ ├── seagull.vim │ │ │ ├── serene.vim │ │ │ ├── sierra.vim │ │ │ ├── silver.vim │ │ │ ├── simple.vim │ │ │ ├── soda.vim │ │ │ ├── sol.vim │ │ │ ├── solarized.vim │ │ │ ├── solarized_flood.vim │ │ │ ├── term.vim │ │ │ ├── term_light.vim │ │ │ ├── tomorrow.vim │ │ │ ├── ubaryd.vim │ │ │ ├── understated.vim │ │ │ ├── violet.vim │ │ │ ├── wombat.vim │ │ │ ├── xtermlight.vim │ │ │ └── zenburn.vim │ │ ├── doc/ │ │ │ └── airline-themes.txt │ │ ├── plugin/ │ │ │ └── airline-themes.vim │ │ └── test/ │ │ └── airline-themes.vader │ ├── vim-asciidoc/ │ │ ├── README.asciidoc │ │ ├── UltiSnips/ │ │ │ └── asciidoc.snippets │ │ ├── autoload/ │ │ │ └── asciidoc.vim │ │ ├── compiler/ │ │ │ ├── asciidoc.vim │ │ │ └── asciidoctor.vim │ │ ├── ctags/ │ │ │ └── asciidoc.conf │ │ ├── ftdetect/ │ │ │ └── asciidoc.vim │ │ ├── ftplugin/ │ │ │ └── asciidoc.vim │ │ └── syntax/ │ │ └── asciidoc.vim │ ├── vim-assembly/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ftdetect/ │ │ │ └── assembly.vim │ │ ├── ftplugin/ │ │ │ └── assembly.vim │ │ └── syntax/ │ │ └── assembly.vim │ ├── vim-asterisk/ │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── reviewdog.yml │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── asterisk.vim │ │ ├── doc/ │ │ │ └── asterisk.txt │ │ ├── plugin/ │ │ │ └── asterisk.vim │ │ └── test/ │ │ ├── .themisrc │ │ ├── basic_asterisk.vimspec │ │ ├── keeppos.vimspec │ │ ├── visual.vimspec │ │ └── zstar.vimspec │ ├── vim-autohotkey/ │ │ ├── .vintrc.yaml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── autohotkey.vim │ │ ├── ftdetect/ │ │ │ └── autohotkey.vim │ │ ├── plugin/ │ │ │ └── autohotkey.vim │ │ └── syntax/ │ │ └── autohotkey.vim │ ├── vim-bepo/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ ├── ftplugin/ │ │ │ │ ├── fugitive.vim │ │ │ │ └── netrw.vim │ │ │ └── plugin/ │ │ │ ├── surround.vim │ │ │ └── unimpaired.vim │ │ ├── doc/ │ │ │ └── bépo.txt │ │ └── plugin/ │ │ └── bepo.vim │ ├── vim-better-whitespace/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ └── better-whitespace.txt │ │ ├── plugin/ │ │ │ └── better-whitespace.vim │ │ └── whitespace_examples.txt │ ├── vim-chat/ │ │ ├── .gitignore │ │ ├── .vintrc.yaml │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── chat/ │ │ │ │ ├── gitter.vim │ │ │ │ ├── irc.vim │ │ │ │ ├── logger.vim │ │ │ │ ├── notify.vim │ │ │ │ ├── qq.vim │ │ │ │ ├── weixin.vim │ │ │ │ └── windows.vim │ │ │ └── chat.vim │ │ ├── doc/ │ │ │ └── vim-chat.txt │ │ └── syntax/ │ │ └── vimchat.vim │ ├── vim-cheat/ │ │ ├── .travis.yml │ │ ├── .vintrc.yaml │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── cheat.vim │ │ └── plugin/ │ │ ├── addon-info.json │ │ ├── cheat.vim │ │ └── doc/ │ │ └── vim-cheat.txt │ ├── vim-choosewin/ │ │ ├── .gitignore │ │ ├── README-JP.md │ │ ├── README.md │ │ ├── Rakefile │ │ ├── VERSION │ │ ├── autoload/ │ │ │ ├── choosewin/ │ │ │ │ ├── action.vim │ │ │ │ ├── color.vim │ │ │ │ ├── config.vim │ │ │ │ ├── data/ │ │ │ │ │ ├── large │ │ │ │ │ └── small │ │ │ │ ├── font.vim │ │ │ │ ├── hlmanager.vim │ │ │ │ ├── overlay.vim │ │ │ │ └── util.vim │ │ │ └── choosewin.vim │ │ ├── doc/ │ │ │ └── choosewin.txt │ │ ├── plugin/ │ │ │ └── choosewin.vim │ │ └── test/ │ │ ├── font.vim │ │ └── font_load.vim │ ├── vim-clipboard/ │ │ └── autoload/ │ │ └── clipboard.vim │ ├── vim-cmake/ │ │ └── plugin/ │ │ └── cmake.vim │ ├── vim-cmake-syntax/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── cmake.vim.in │ │ ├── extract-upper-case.pl │ │ ├── indent/ │ │ │ └── cmake.vim │ │ ├── modules/ │ │ │ └── Doxygen.json │ │ ├── syntax/ │ │ │ └── cmake.vim │ │ └── test/ │ │ ├── .vimrc │ │ ├── CMakeLists.txt │ │ ├── bracket-args-and-comment.cmake │ │ ├── bracket-args-and-comment.cmake.html.ref │ │ ├── command-as-args.cmake │ │ ├── command-as-args.cmake.html.ref │ │ ├── escaped-quotes.cmake │ │ ├── escaped-quotes.cmake.html.ref │ │ ├── generator-expression-not-plain-args.cmake │ │ ├── generator-expression-not-plain-args.cmake.html.ref │ │ ├── package-config-helpers.cmake │ │ ├── package-config-helpers.cmake.html.ref │ │ ├── run-test.sh │ │ ├── variable-as-varname.cmake │ │ └── variable-as-varname.cmake.html.ref │ ├── vim-cursorword/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── cursorword.vim │ │ ├── doc/ │ │ │ └── cursorword.txt │ │ └── plugin/ │ │ └── cursorword.vim │ ├── vim-dict/ │ │ ├── README.MD │ │ ├── autoload/ │ │ │ └── xml/ │ │ │ ├── android.vim │ │ │ ├── manifest.vim │ │ │ └── pom.vim │ │ └── dict/ │ │ └── android_xml.dic │ ├── vim-dispatch/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── .gitignore │ │ ├── CONTRIBUTING.markdown │ │ ├── README.markdown │ │ ├── autoload/ │ │ │ ├── dispatch/ │ │ │ │ ├── headless.vim │ │ │ │ ├── iterm.vim │ │ │ │ ├── job.vim │ │ │ │ ├── screen.vim │ │ │ │ ├── terminal.vim │ │ │ │ ├── tmux.vim │ │ │ │ ├── windows.vim │ │ │ │ └── x11.vim │ │ │ └── dispatch.vim │ │ ├── doc/ │ │ │ └── dispatch.txt │ │ └── plugin/ │ │ └── dispatch.vim │ ├── vim-easymotion/ │ │ ├── .github/ │ │ │ ├── FUNDING.yml │ │ │ └── workflows/ │ │ │ └── reviewdog.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gemfile │ │ ├── README.md │ │ ├── Rakefile │ │ ├── autoload/ │ │ │ ├── EasyMotion/ │ │ │ │ ├── cmigemo.vim │ │ │ │ ├── command_line.vim │ │ │ │ ├── helper.vim │ │ │ │ ├── highlight.vim │ │ │ │ ├── migemo/ │ │ │ │ │ ├── cp932.vim │ │ │ │ │ ├── eucjp.vim │ │ │ │ │ └── utf8.vim │ │ │ │ ├── overwin.vim │ │ │ │ ├── sticky_table.vim │ │ │ │ └── undo.vim │ │ │ ├── EasyMotion.vim │ │ │ ├── vital/ │ │ │ │ ├── _easymotion/ │ │ │ │ │ ├── Data/ │ │ │ │ │ │ ├── Dict.vim │ │ │ │ │ │ ├── List.vim │ │ │ │ │ │ └── Set.vim │ │ │ │ │ ├── HitAHint/ │ │ │ │ │ │ ├── Hint.vim │ │ │ │ │ │ └── Motion.vim │ │ │ │ │ ├── Over/ │ │ │ │ │ │ ├── Commandline/ │ │ │ │ │ │ │ ├── Base.vim │ │ │ │ │ │ │ ├── Modules/ │ │ │ │ │ │ │ │ ├── BufferComplete.vim │ │ │ │ │ │ │ │ ├── Cancel.vim │ │ │ │ │ │ │ │ ├── CursorMove.vim │ │ │ │ │ │ │ │ ├── Delete.vim │ │ │ │ │ │ │ │ ├── Doautocmd.vim │ │ │ │ │ │ │ │ ├── DrawCommandline.vim │ │ │ │ │ │ │ │ ├── ExceptionExit.vim │ │ │ │ │ │ │ │ ├── ExceptionMessage.vim │ │ │ │ │ │ │ │ ├── Exit.vim │ │ │ │ │ │ │ │ ├── History.vim │ │ │ │ │ │ │ │ ├── InsertRegister.vim │ │ │ │ │ │ │ │ ├── KeyMapping.vim │ │ │ │ │ │ │ │ ├── NoInsert.vim │ │ │ │ │ │ │ │ ├── Paste.vim │ │ │ │ │ │ │ │ └── Redraw.vim │ │ │ │ │ │ │ └── Modules.vim │ │ │ │ │ │ ├── Exception.vim │ │ │ │ │ │ ├── Input.vim │ │ │ │ │ │ ├── Keymapping.vim │ │ │ │ │ │ ├── Signals.vim │ │ │ │ │ │ └── String.vim │ │ │ │ │ ├── Palette/ │ │ │ │ │ │ ├── Capture.vim │ │ │ │ │ │ ├── Highlight.vim │ │ │ │ │ │ └── Keymapping.vim │ │ │ │ │ ├── Prelude.vim │ │ │ │ │ └── Vim/ │ │ │ │ │ ├── Buffer.vim │ │ │ │ │ ├── Guard.vim │ │ │ │ │ └── Message.vim │ │ │ │ ├── _easymotion.vim │ │ │ │ ├── easymotion.vim │ │ │ │ └── easymotion.vital │ │ │ └── vital.vim │ │ ├── doc/ │ │ │ └── easymotion.txt │ │ ├── plugin/ │ │ │ └── EasyMotion.vim │ │ └── t/ │ │ ├── compare_movements_spec.vim │ │ ├── easymotion_spec.vim │ │ ├── operator_pending_spec.vim │ │ └── smartsign_spec.vim │ ├── vim-easyoperator-line/ │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── easyoperator/ │ │ │ └── line.vim │ │ ├── doc/ │ │ │ └── easyoperator_line.txt │ │ └── plugin/ │ │ └── easyoperator/ │ │ └── line.vim │ ├── vim-elang/ │ │ └── ftdetect/ │ │ └── e.vim │ ├── vim-emoji/ │ │ ├── autoload/ │ │ │ ├── emoji/ │ │ │ │ └── data.vim │ │ │ └── emoji.vim │ │ └── test/ │ │ └── emoji.vader │ ├── vim-expand-region/ │ │ ├── MIT-LICENSE.txt │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── expand_region.vim │ │ ├── doc/ │ │ │ └── expand_region.txt │ │ └── plugin/ │ │ └── expand_region.vim │ ├── vim-fsharp/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ftdetect/ │ │ │ └── fsharp.vim │ │ ├── indent/ │ │ │ └── fsharp.vim │ │ └── syntax/ │ │ └── fsharp.vim │ ├── vim-fugitive/ │ │ ├── autoload/ │ │ │ └── fugitive.vim │ │ ├── doc/ │ │ │ └── fugitive.txt │ │ ├── ftdetect/ │ │ │ └── fugitive.vim │ │ ├── ftplugin/ │ │ │ └── fugitiveblame.vim │ │ ├── plugin/ │ │ │ └── fugitive.vim │ │ └── syntax/ │ │ ├── fugitive.vim │ │ └── fugitiveblame.vim │ ├── vim-github-dashboard/ │ │ ├── autoload/ │ │ │ └── github_dashboard.vim │ │ ├── doc/ │ │ │ └── github_dashboard.txt │ │ └── plugin/ │ │ └── github_dashboard.vim │ ├── vim-go/ │ │ ├── .codecov.yml │ │ ├── .coveragerc │ │ ├── .dockerignore │ │ ├── .editorconfig │ │ ├── .github/ │ │ │ ├── CONTRIBUTING.md │ │ │ ├── FUNDING.yml │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── workflows/ │ │ │ ├── git.yml │ │ │ └── test.yml │ │ ├── .gitignore │ │ ├── .vintrc.yaml │ │ ├── CHANGELOG.md │ │ ├── Dockerfile │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── ctrlp/ │ │ │ │ └── decls.vim │ │ │ ├── fzf/ │ │ │ │ └── decls.vim │ │ │ ├── go/ │ │ │ │ ├── alternate.vim │ │ │ │ ├── asmfmt.vim │ │ │ │ ├── auto.vim │ │ │ │ ├── calls.vim │ │ │ │ ├── calls_test.vim │ │ │ │ ├── cmd.vim │ │ │ │ ├── cmd_test.vim │ │ │ │ ├── complete.vim │ │ │ │ ├── complete_test.vim │ │ │ │ ├── config.vim │ │ │ │ ├── config_test.vim │ │ │ │ ├── coverage.vim │ │ │ │ ├── debug.vim │ │ │ │ ├── debug_test.vim │ │ │ │ ├── decls.vim │ │ │ │ ├── def.vim │ │ │ │ ├── def_test.vim │ │ │ │ ├── doc.vim │ │ │ │ ├── fillstruct.vim │ │ │ │ ├── fillstruct_test.vim │ │ │ │ ├── fmt.vim │ │ │ │ ├── fmt_test.vim │ │ │ │ ├── guru.vim │ │ │ │ ├── guru_test.vim │ │ │ │ ├── highlight_test.vim │ │ │ │ ├── iferr.vim │ │ │ │ ├── impl.vim │ │ │ │ ├── impl_test.vim │ │ │ │ ├── implements.vim │ │ │ │ ├── import.vim │ │ │ │ ├── import_test.vim │ │ │ │ ├── indent_test.vim │ │ │ │ ├── issue.vim │ │ │ │ ├── job.vim │ │ │ │ ├── job_test.vim │ │ │ │ ├── keyify.vim │ │ │ │ ├── lint.vim │ │ │ │ ├── lint_test.vim │ │ │ │ ├── list.vim │ │ │ │ ├── lsp/ │ │ │ │ │ ├── completionitemkind.vim │ │ │ │ │ ├── filechangetype.vim │ │ │ │ │ ├── lsp.vim │ │ │ │ │ ├── lsp_test.vim │ │ │ │ │ └── message.vim │ │ │ │ ├── lsp.vim │ │ │ │ ├── lsp_test.vim │ │ │ │ ├── mod.vim │ │ │ │ ├── package.vim │ │ │ │ ├── package_test.vim │ │ │ │ ├── path.vim │ │ │ │ ├── play.vim │ │ │ │ ├── promise.vim │ │ │ │ ├── promise_test.vim │ │ │ │ ├── referrers.vim │ │ │ │ ├── rename.vim │ │ │ │ ├── statusline.vim │ │ │ │ ├── tags.vim │ │ │ │ ├── tags_test.vim │ │ │ │ ├── template.vim │ │ │ │ ├── template_test.vim │ │ │ │ ├── term.vim │ │ │ │ ├── term_test.vim │ │ │ │ ├── test-fixtures/ │ │ │ │ │ ├── cmd/ │ │ │ │ │ │ └── bad.go │ │ │ │ │ ├── complete/ │ │ │ │ │ │ └── complete.go │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── buildtags/ │ │ │ │ │ │ ├── buildtags.go │ │ │ │ │ │ ├── constrainedfoo.go │ │ │ │ │ │ ├── foo.go │ │ │ │ │ │ └── go.mod │ │ │ │ │ ├── debug/ │ │ │ │ │ │ ├── compilerror/ │ │ │ │ │ │ │ └── main.go │ │ │ │ │ │ └── debugmain/ │ │ │ │ │ │ └── debugmain.go │ │ │ │ │ ├── def/ │ │ │ │ │ │ └── jump.go │ │ │ │ │ ├── fmt/ │ │ │ │ │ │ ├── hello.go │ │ │ │ │ │ ├── hello_golden.go │ │ │ │ │ │ └── src/ │ │ │ │ │ │ └── imports/ │ │ │ │ │ │ ├── goimports.go │ │ │ │ │ │ ├── goimports_golden.go │ │ │ │ │ │ └── vendor/ │ │ │ │ │ │ └── gh.com/ │ │ │ │ │ │ └── gi/ │ │ │ │ │ │ └── foo-logging/ │ │ │ │ │ │ └── logger.go │ │ │ │ │ ├── job/ │ │ │ │ │ │ └── dir has spaces/ │ │ │ │ │ │ └── main.go │ │ │ │ │ ├── lint/ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ ├── errcheck/ │ │ │ │ │ │ │ ├── compilererror/ │ │ │ │ │ │ │ │ └── compilererror.go │ │ │ │ │ │ │ ├── errcheck.go │ │ │ │ │ │ │ ├── errcheck_test.go │ │ │ │ │ │ │ └── go.mod │ │ │ │ │ │ ├── foo/ │ │ │ │ │ │ │ ├── foo.go │ │ │ │ │ │ │ └── go.mod │ │ │ │ │ │ ├── lint/ │ │ │ │ │ │ │ ├── baz.go │ │ │ │ │ │ │ ├── go.mod │ │ │ │ │ │ │ ├── golangci-lint/ │ │ │ │ │ │ │ │ └── problems/ │ │ │ │ │ │ │ │ ├── importabs/ │ │ │ │ │ │ │ │ │ ├── ok.go │ │ │ │ │ │ │ │ │ └── problems.go │ │ │ │ │ │ │ │ ├── multiple/ │ │ │ │ │ │ │ │ │ └── problems.go │ │ │ │ │ │ │ │ └── shadow/ │ │ │ │ │ │ │ │ └── problems.go │ │ │ │ │ │ │ ├── lint.go │ │ │ │ │ │ │ └── quux.go │ │ │ │ │ │ └── vet/ │ │ │ │ │ │ ├── compilererror/ │ │ │ │ │ │ │ └── compilererror.go │ │ │ │ │ │ ├── go.mod │ │ │ │ │ │ └── vet.go │ │ │ │ │ ├── lsp/ │ │ │ │ │ │ ├── fmt/ │ │ │ │ │ │ │ ├── format.go │ │ │ │ │ │ │ ├── format_golden.go │ │ │ │ │ │ │ └── newline.go │ │ │ │ │ │ └── imports/ │ │ │ │ │ │ ├── imports.go │ │ │ │ │ │ └── imports_golden.go │ │ │ │ │ ├── package/ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ └── package/ │ │ │ │ │ │ ├── bar/ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ ├── baz/ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ ├── go.mod │ │ │ │ │ │ ├── package.go │ │ │ │ │ │ └── vendor/ │ │ │ │ │ │ └── foo/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── term/ │ │ │ │ │ │ └── term.go │ │ │ │ │ └── test/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ └── src/ │ │ │ │ │ ├── compilerror/ │ │ │ │ │ │ ├── compilerror.go │ │ │ │ │ │ └── go.mod │ │ │ │ │ ├── example/ │ │ │ │ │ │ ├── example_test.go │ │ │ │ │ │ └── go.mod │ │ │ │ │ ├── play/ │ │ │ │ │ │ ├── go.mod │ │ │ │ │ │ ├── mock/ │ │ │ │ │ │ │ └── controller.go │ │ │ │ │ │ └── play_test.go │ │ │ │ │ ├── showname/ │ │ │ │ │ │ ├── go.mod │ │ │ │ │ │ └── showname_test.go │ │ │ │ │ ├── testcompilerror/ │ │ │ │ │ │ ├── go.mod │ │ │ │ │ │ └── testcompilerror_test.go │ │ │ │ │ ├── timeout/ │ │ │ │ │ │ ├── go.mod │ │ │ │ │ │ └── timeout_test.go │ │ │ │ │ └── veterror/ │ │ │ │ │ ├── go.mod │ │ │ │ │ └── veterror.go │ │ │ │ ├── test.vim │ │ │ │ ├── test_test.vim │ │ │ │ ├── textobj.vim │ │ │ │ ├── tool.vim │ │ │ │ ├── tool_test.vim │ │ │ │ ├── ui.vim │ │ │ │ ├── uri.vim │ │ │ │ ├── uri_test.vim │ │ │ │ └── util.vim │ │ │ ├── gotest.vim │ │ │ └── unite/ │ │ │ └── sources/ │ │ │ └── decls.vim │ │ ├── compiler/ │ │ │ └── go.vim │ │ ├── doc/ │ │ │ └── vim-go.txt │ │ ├── ftdetect/ │ │ │ └── gofiletype.vim │ │ ├── ftplugin/ │ │ │ ├── asm.vim │ │ │ ├── go/ │ │ │ │ ├── commands.vim │ │ │ │ ├── mappings.vim │ │ │ │ ├── snippets.vim │ │ │ │ └── tagbar.vim │ │ │ ├── go.vim │ │ │ ├── gohtmltmpl.vim │ │ │ ├── gomod/ │ │ │ │ ├── commands.vim │ │ │ │ └── mappings.vim │ │ │ └── gomod.vim │ │ ├── gosnippets/ │ │ │ ├── UltiSnips/ │ │ │ │ └── go.snippets │ │ │ ├── minisnip/ │ │ │ │ ├── _go_eq │ │ │ │ ├── _go_err │ │ │ │ ├── _go_errt │ │ │ │ ├── _go_errw │ │ │ │ ├── _go_f │ │ │ │ ├── _go_ff │ │ │ │ ├── _go_fori │ │ │ │ ├── _go_pkg │ │ │ │ ├── _go_sp │ │ │ │ └── _go_tt │ │ │ └── snippets/ │ │ │ └── go.snip │ │ ├── indent/ │ │ │ ├── go.vim │ │ │ └── gohtmltmpl.vim │ │ ├── plugin/ │ │ │ └── go.vim │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── denite/ │ │ │ └── source/ │ │ │ └── decls.py │ │ ├── scripts/ │ │ │ ├── bench-syntax │ │ │ ├── docker-test │ │ │ ├── install-tools │ │ │ ├── install-vim │ │ │ ├── lint │ │ │ ├── run-vim │ │ │ ├── runbench.vim │ │ │ ├── runtest.vim │ │ │ └── test │ │ ├── syntax/ │ │ │ ├── go.vim │ │ │ ├── godebugoutput.vim │ │ │ ├── godebugstacktrace.vim │ │ │ ├── godebugvariables.vim │ │ │ ├── godefstack.vim │ │ │ ├── gohtmltmpl.vim │ │ │ ├── gomod.vim │ │ │ ├── gosum.vim │ │ │ ├── gotexttmpl.vim │ │ │ ├── gowork.vim │ │ │ └── vimgo.vim │ │ ├── templates/ │ │ │ ├── hello_world.go │ │ │ └── hello_world_test.go │ │ └── test/ │ │ └── parse.go │ ├── vim-grammarous/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── grammarous/ │ │ │ │ ├── downloader.vim │ │ │ │ └── info_win.vim │ │ │ ├── grammarous.vim │ │ │ ├── operator/ │ │ │ │ └── grammarous.vim │ │ │ ├── unite/ │ │ │ │ └── sources/ │ │ │ │ └── grammarous.vim │ │ │ ├── vital/ │ │ │ │ ├── _grammarous/ │ │ │ │ │ ├── Data/ │ │ │ │ │ │ ├── List.vim │ │ │ │ │ │ └── String.vim │ │ │ │ │ ├── OptionParser.vim │ │ │ │ │ ├── Prelude.vim │ │ │ │ │ ├── Process.vim │ │ │ │ │ └── Web/ │ │ │ │ │ ├── HTTP.vim │ │ │ │ │ └── XML.vim │ │ │ │ ├── _grammarous.vim │ │ │ │ ├── grammarous.vim │ │ │ │ └── grammarous.vital │ │ │ └── vital.vim │ │ ├── doc/ │ │ │ └── grammarous.txt │ │ ├── plugin/ │ │ │ └── grammarous.vim │ │ └── rplugin/ │ │ └── python3/ │ │ └── denite/ │ │ └── source/ │ │ └── grammarous.py │ ├── vim-grepper/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ └── grepper.txt │ │ ├── plugin/ │ │ │ └── grepper.vim │ │ └── test/ │ │ ├── feature/ │ │ │ └── flags.vader │ │ ├── include/ │ │ │ └── test.txt │ │ ├── run │ │ ├── viminfo │ │ └── vimrc │ ├── vim-haxe/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── vaxe/ │ │ │ │ ├── flow.vim │ │ │ │ ├── hss.vim │ │ │ │ ├── lime.vim │ │ │ │ └── util.vim │ │ │ └── vaxe.vim │ │ ├── compiler/ │ │ │ └── haxe.vim │ │ ├── doc/ │ │ │ └── vaxe.txt │ │ ├── ftdetect/ │ │ │ ├── flow.vim │ │ │ ├── haxe.vim │ │ │ ├── hss.vim │ │ │ ├── hxml.vim │ │ │ ├── lime.vim │ │ │ └── nmml.vim │ │ ├── ftplugin/ │ │ │ ├── haxe.vim │ │ │ ├── hss.vim │ │ │ └── hxml.vim │ │ ├── indent/ │ │ │ └── haxe.vim │ │ ├── plugin/ │ │ │ ├── haxe.vim │ │ │ └── hxml.vim │ │ ├── python/ │ │ │ └── vaxe.py │ │ ├── snippets/ │ │ │ ├── haxe.snippets │ │ │ ├── hxml.snippets │ │ │ └── nmml.snippets │ │ ├── syntax/ │ │ │ ├── README.md │ │ │ ├── haxe.vim │ │ │ ├── haxe_extended.vim │ │ │ ├── hss.vim │ │ │ └── hxml.vim │ │ ├── tools/ │ │ │ ├── add_remote.sh │ │ │ ├── create_ultisnips.sh │ │ │ ├── pull_syntax.sh │ │ │ └── push_syntax.xh │ │ └── ultisnips/ │ │ ├── haxe.snippets │ │ ├── hxml.snippets │ │ └── nmml.snippets │ ├── vim-hug-neovim-rpc/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── neovim_rpc.vim │ │ └── pythonx/ │ │ ├── neovim_rpc_methods.py │ │ ├── neovim_rpc_protocol.py │ │ ├── neovim_rpc_server.py │ │ └── neovim_rpc_server_api_info.py │ ├── vim-hybrid/ │ │ ├── README.md │ │ └── colors/ │ │ └── hybrid.vim │ ├── vim-javacomplete2/ │ │ ├── .bundle/ │ │ │ └── config │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── workflows/ │ │ │ └── vint.yml │ │ ├── .gitignore │ │ ├── Gemfile │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Rakefile │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── classpath.py │ │ │ ├── cm/ │ │ │ │ └── sources/ │ │ │ │ └── java.vim │ │ │ ├── java_parser.vim │ │ │ ├── javacomplete/ │ │ │ │ ├── classpath/ │ │ │ │ │ ├── ant.vim │ │ │ │ │ ├── classpath.vim │ │ │ │ │ ├── gradle.vim │ │ │ │ │ └── maven.vim │ │ │ │ ├── collector.vim │ │ │ │ ├── complete/ │ │ │ │ │ ├── complete.vim │ │ │ │ │ └── context.vim │ │ │ │ ├── generators.vim │ │ │ │ ├── highlights.vim │ │ │ │ ├── imports.vim │ │ │ │ ├── logger.vim │ │ │ │ ├── newclass.vim │ │ │ │ ├── parseradapter.vim │ │ │ │ ├── scanner.vim │ │ │ │ ├── server.vim │ │ │ │ ├── util.vim │ │ │ │ └── version.vim │ │ │ ├── javacomplete.vim │ │ │ └── javavibridge.py │ │ ├── classpath.gradle │ │ ├── doc/ │ │ │ └── javacomplete.txt │ │ ├── libs/ │ │ │ └── javavi/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── kg/ │ │ │ │ │ └── ash/ │ │ │ │ │ └── javavi/ │ │ │ │ │ ├── Daemon.java │ │ │ │ │ ├── Javavi.java │ │ │ │ │ ├── TargetParser.java │ │ │ │ │ ├── actions/ │ │ │ │ │ │ ├── Action.java │ │ │ │ │ │ ├── ActionFactory.java │ │ │ │ │ │ ├── ActionWithTarget.java │ │ │ │ │ │ ├── AddClassToCacheAction.java │ │ │ │ │ │ ├── ClassRecompileAction.java │ │ │ │ │ │ ├── CollectPackagesAction.java │ │ │ │ │ │ ├── ExecuteDaemonAction.java │ │ │ │ │ │ ├── FilterSimilarAnnotationsAction.java │ │ │ │ │ │ ├── FilterSimilarClassesAction.java │ │ │ │ │ │ ├── GetAppVersion.java │ │ │ │ │ │ ├── GetClassInfoAction.java │ │ │ │ │ │ ├── GetClassInfoFromSourceAction.java │ │ │ │ │ │ ├── GetClassPackagesAction.java │ │ │ │ │ │ ├── GetClassesArchiveNamesAction.java │ │ │ │ │ │ ├── GetDebugLogPath.java │ │ │ │ │ │ ├── GetMissingImportsAction.java │ │ │ │ │ │ ├── GetPackageInfoAction.java │ │ │ │ │ │ ├── GetUnusedImportsAction.java │ │ │ │ │ │ ├── ImportsAction.java │ │ │ │ │ │ ├── ParseByContentAction.java │ │ │ │ │ │ └── RemoveClassInfoFromCache.java │ │ │ │ │ ├── cache/ │ │ │ │ │ │ ├── Cache.java │ │ │ │ │ │ └── CacheSerializator.java │ │ │ │ │ ├── clazz/ │ │ │ │ │ │ ├── ClassConstructor.java │ │ │ │ │ │ ├── ClassField.java │ │ │ │ │ │ ├── ClassImport.java │ │ │ │ │ │ ├── ClassMethod.java │ │ │ │ │ │ ├── ClassTypeParameter.java │ │ │ │ │ │ ├── CodeRegion.java │ │ │ │ │ │ └── SourceClass.java │ │ │ │ │ ├── output/ │ │ │ │ │ │ ├── OutputClassInfo.java │ │ │ │ │ │ ├── OutputClassPackages.java │ │ │ │ │ │ ├── OutputPackageInfo.java │ │ │ │ │ │ ├── OutputSimilar.java │ │ │ │ │ │ ├── OutputSimilarAnnotations.java │ │ │ │ │ │ └── OutputSimilarClasses.java │ │ │ │ │ ├── readers/ │ │ │ │ │ │ ├── ClassReader.java │ │ │ │ │ │ ├── FileClassLoader.java │ │ │ │ │ │ ├── Parser.java │ │ │ │ │ │ ├── Reflection.java │ │ │ │ │ │ └── source/ │ │ │ │ │ │ ├── ClassNamesFetcher.java │ │ │ │ │ │ ├── CompilationUnitCreator.java │ │ │ │ │ │ └── CompilationUnitResult.java │ │ │ │ │ └── searchers/ │ │ │ │ │ ├── ByExtensionVisitor.java │ │ │ │ │ ├── ClassNameMap.java │ │ │ │ │ ├── ClassSearcher.java │ │ │ │ │ ├── ClasspathCollector.java │ │ │ │ │ ├── ClasspathPackageSearcher.java │ │ │ │ │ ├── FqnSearcher.java │ │ │ │ │ ├── JavaClassMap.java │ │ │ │ │ ├── PackageEntry.java │ │ │ │ │ ├── PackageNameMap.java │ │ │ │ │ ├── PackageSeacherIFace.java │ │ │ │ │ ├── PackagesLoader.java │ │ │ │ │ ├── SourceFileVisitor.java │ │ │ │ │ └── SourcePackageSearcher.java │ │ │ │ └── resources/ │ │ │ │ └── log4j2.xml │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── kg/ │ │ │ │ └── ash/ │ │ │ │ └── javavi/ │ │ │ │ ├── DaemonTest.java │ │ │ │ ├── TargetParserTest.java │ │ │ │ ├── actions/ │ │ │ │ │ ├── ClassRecompileActionTest.java │ │ │ │ │ ├── GetClassInfoActionTest.java │ │ │ │ │ └── GetClassesArchiveNamesActionTest.java │ │ │ │ ├── output/ │ │ │ │ │ ├── OutputClassInfoTest.java │ │ │ │ │ ├── OutputClassPackagesTest.java │ │ │ │ │ ├── OutputPackageInfoTest.java │ │ │ │ │ └── OutputSimilarClassesTest.java │ │ │ │ ├── readers/ │ │ │ │ │ └── source/ │ │ │ │ │ └── ClassNamesFetcherTest.java │ │ │ │ └── searchers/ │ │ │ │ ├── ClasspathPackageSearcherTest.java │ │ │ │ ├── FqnSeacherTest.java │ │ │ │ ├── PackagesLoaderTest.java │ │ │ │ └── SourceFileVisitorTest.java │ │ │ └── resources/ │ │ │ └── kg/ │ │ │ └── ash/ │ │ │ └── javavi/ │ │ │ ├── ClassWithClasses.java │ │ │ └── ResourceClassForClassFetcherTest.java │ │ ├── plugin/ │ │ │ ├── javacomplete.vim │ │ │ └── res/ │ │ │ ├── gen__class.tpl │ │ │ ├── gen__class_android_activity.tpl │ │ │ ├── gen__class_android_broadcast_receiver.tpl │ │ │ ├── gen__class_android_fragment.tpl │ │ │ ├── gen__class_android_service.tpl │ │ │ ├── gen__class_annotation.tpl │ │ │ ├── gen__class_enum.tpl │ │ │ ├── gen__class_exception.tpl │ │ │ ├── gen__class_interface.tpl │ │ │ ├── gen__class_junit.tpl │ │ │ ├── gen__class_main.tpl │ │ │ ├── gen__class_servlet.tpl │ │ │ ├── gen__class_singleton.tpl │ │ │ ├── gen__constructor.tpl │ │ │ ├── gen__equals.tpl │ │ │ ├── gen__hashCode.tpl │ │ │ ├── gen__toString_StringBuilder.tpl │ │ │ └── gen__toString_concat.tpl │ │ ├── rplugin/ │ │ │ └── python3/ │ │ │ └── deoplete/ │ │ │ └── sources/ │ │ │ └── javacomplete2.py │ │ └── t/ │ │ ├── collector.vim │ │ ├── complete.vim │ │ ├── data/ │ │ │ ├── LambdaAnonClass.java │ │ │ ├── LambdaNamedClass.java │ │ │ └── LambdaReturnClass.java │ │ ├── imports.vim │ │ ├── java_parser.vim │ │ ├── javacomplete.vim │ │ ├── newclass.vim │ │ ├── parseradapter.vim │ │ ├── scanner.vim │ │ ├── utils.vim │ │ └── version.vim │ ├── vim-jplus/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── jplus.vim │ │ ├── doc/ │ │ │ ├── jplus.jax │ │ │ └── jplus.txt │ │ └── plugin/ │ │ └── jplus.vim │ ├── vim-jr/ │ │ ├── ftdetect/ │ │ │ └── jr.vim │ │ └── syntax/ │ │ └── jr.vim │ ├── vim-jsonnet/ │ │ ├── .gitignore │ │ ├── CONTRIBUTING │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── jsonnet.vim │ │ ├── doc/ │ │ │ └── vim-jsonnet.txt │ │ ├── ftdetect/ │ │ │ └── jsonnet.vim │ │ ├── ftplugin/ │ │ │ └── jsonnet.vim │ │ ├── plugin/ │ │ │ └── jsonnet.vim │ │ ├── syntax/ │ │ │ └── jsonnet.vim │ │ └── syntax_checkers/ │ │ └── jsonnet/ │ │ └── jsonnet.vim │ ├── vim-jsx-typescript/ │ │ ├── after/ │ │ │ ├── ftplugin/ │ │ │ │ └── typescriptreact.vim │ │ │ ├── indent/ │ │ │ │ └── typescriptreact.vim │ │ │ └── syntax/ │ │ │ └── typescriptreact.vim │ │ └── ftdetect/ │ │ └── typescript.vim │ ├── vim-liquid/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── ftdetect/ │ │ │ └── liquid.vim │ │ ├── ftplugin/ │ │ │ └── liquid.vim │ │ ├── indent/ │ │ │ └── liquid.vim │ │ └── syntax/ │ │ └── liquid.vim │ ├── vim-lookup/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── lookup.vim │ │ └── test/ │ │ ├── fixture/ │ │ │ ├── autoload/ │ │ │ │ └── auto/ │ │ │ │ └── foo.vim │ │ │ └── plugin/ │ │ │ └── auto.vim │ │ ├── run │ │ ├── tests/ │ │ │ ├── autoload.vader │ │ │ ├── command.vader │ │ │ ├── local.vader │ │ │ └── tagstack.vader │ │ └── vimrc │ ├── vim-lua/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── lua/ │ │ │ │ ├── fold.vim │ │ │ │ └── omni.vim │ │ │ └── lua.vim │ │ ├── doc/ │ │ │ └── vim-lua.txt │ │ ├── ftplugin/ │ │ │ └── lua.vim │ │ ├── indent/ │ │ │ └── lua.vim │ │ ├── lib/ │ │ │ └── luavi/ │ │ │ └── luacomplete.lua │ │ ├── lua/ │ │ │ ├── luavi/ │ │ │ │ ├── complete.lua │ │ │ │ ├── fold.lua │ │ │ │ └── vimutils.lua │ │ │ └── luavi.lua │ │ ├── plugin/ │ │ │ └── lua.vim │ │ └── syntax/ │ │ └── lua.vim │ ├── vim-mail/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── mail/ │ │ │ │ ├── client/ │ │ │ │ │ ├── mailbox.vim │ │ │ │ │ └── win.vim │ │ │ │ ├── client.vim │ │ │ │ ├── command.vim │ │ │ │ └── logger.vim │ │ │ └── mail.vim │ │ ├── plugin/ │ │ │ └── mail.vim │ │ └── syntax/ │ │ └── mail.vim │ ├── vim-markdown/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── addon-info.json │ │ ├── after/ │ │ │ └── syntax/ │ │ │ └── markdown.vim │ │ ├── doc/ │ │ │ └── markdown.txt │ │ ├── ftdetect/ │ │ │ └── markdown.vim │ │ ├── ftplugin/ │ │ │ └── markdown.vim │ │ ├── indent/ │ │ │ └── markdown.vim │ │ ├── plugin/ │ │ │ └── markdown.vim │ │ └── syntax/ │ │ └── markdown.vim │ ├── vim-markdown-toc/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ftdetect/ │ │ │ └── markdown.vim │ │ ├── ftplugin/ │ │ │ └── markdown.vim │ │ └── test/ │ │ ├── GFM.md │ │ ├── Marked.md │ │ └── test.vim │ ├── vim-matchup/ │ │ ├── .gitlab-ci.yml │ │ ├── .projections.json │ │ ├── CONTRIBUTING.md │ │ ├── ISSUE_TEMPLATE.md │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── after/ │ │ │ ├── ftplugin/ │ │ │ │ ├── c_matchup.vim │ │ │ │ ├── cpp_matchup.vim │ │ │ │ ├── fortran_matchup.vim │ │ │ │ ├── html_matchup.vim │ │ │ │ ├── lua_matchup.vim │ │ │ │ ├── ocaml_matchup.vim │ │ │ │ ├── ruby_matchup.vim │ │ │ │ ├── tex_matchup.vim │ │ │ │ ├── vim_matchup.vim │ │ │ │ ├── vue_matchup.vim │ │ │ │ └── xml_matchup.vim │ │ │ └── plugin/ │ │ │ └── matchit.vim │ │ ├── autoload/ │ │ │ ├── matchup/ │ │ │ │ ├── custom.vim │ │ │ │ ├── delim.vim │ │ │ │ ├── loader.vim │ │ │ │ ├── matchparen.vim │ │ │ │ ├── misc.vim │ │ │ │ ├── motion.vim │ │ │ │ ├── perf.vim │ │ │ │ ├── pos.vim │ │ │ │ ├── quirks.vim │ │ │ │ ├── re.vim │ │ │ │ ├── surround.vim │ │ │ │ ├── text_obj.vim │ │ │ │ ├── transmute.vim │ │ │ │ ├── unmatchit.vim │ │ │ │ ├── util.vim │ │ │ │ └── where.vim │ │ │ └── matchup.vim │ │ ├── doc/ │ │ │ └── matchup.txt │ │ ├── plugin/ │ │ │ └── matchup.vim │ │ └── test/ │ │ ├── addrtp.vim │ │ ├── augment.matchuptest │ │ ├── bootstrap.vim │ │ ├── forwhile.vim │ │ ├── hlend.matchuptest │ │ ├── issues/ │ │ │ ├── 10/ │ │ │ │ ├── legacy.vim │ │ │ │ └── string.vim │ │ │ ├── 14/ │ │ │ │ └── example.tex │ │ │ ├── 15/ │ │ │ │ ├── enhance-vimrc │ │ │ │ ├── gc.vim │ │ │ │ └── issue-vimrc │ │ │ ├── 16/ │ │ │ │ ├── any.vim │ │ │ │ └── blocks.vim │ │ │ ├── 19/ │ │ │ │ ├── hotfix.vim │ │ │ │ ├── option.vim │ │ │ │ └── test.html │ │ │ ├── 21/ │ │ │ │ └── Matchup_Problem_File.txt │ │ │ ├── 26/ │ │ │ │ └── example.rb │ │ │ ├── 3/ │ │ │ │ ├── hotfix.vim │ │ │ │ └── test.sql │ │ │ ├── 30/ │ │ │ │ ├── complex-hl.html │ │ │ │ ├── example.html │ │ │ │ ├── example.vue │ │ │ │ └── minvimrc │ │ │ ├── 33/ │ │ │ │ ├── minvimrc │ │ │ │ └── test.rb │ │ │ ├── 34/ │ │ │ │ └── endvar.vim │ │ │ ├── 36/ │ │ │ │ └── image_uploader.rb │ │ │ ├── 46/ │ │ │ │ ├── Sample.jsx │ │ │ │ ├── minvimrc1 │ │ │ │ └── minvimrc2 │ │ │ ├── 48/ │ │ │ │ ├── minvimrc │ │ │ │ ├── new.xml │ │ │ │ ├── simple.xml │ │ │ │ └── vim-matchup-20181230.xml │ │ │ ├── 49/ │ │ │ │ ├── example.vim │ │ │ │ └── test.sh │ │ │ ├── 51/ │ │ │ │ └── test.f90 │ │ │ ├── 54/ │ │ │ │ └── foo.vim │ │ │ ├── 59/ │ │ │ │ └── rebind.vim │ │ │ ├── 63/ │ │ │ │ └── test.f90 │ │ │ ├── 64/ │ │ │ │ └── ast.cc │ │ │ ├── 69/ │ │ │ │ ├── cpptemplate.vim │ │ │ │ └── template.cpp │ │ │ ├── 7/ │ │ │ │ ├── augroup.vim │ │ │ │ ├── hotfix.vim │ │ │ │ └── hotfix2.vim │ │ │ ├── 8/ │ │ │ │ ├── flex.html │ │ │ │ ├── flex2.html │ │ │ │ ├── hotfix.vim │ │ │ │ └── slash.html │ │ │ ├── 84/ │ │ │ │ └── ex.tex │ │ │ └── 88/ │ │ │ └── ex.cs │ │ ├── lang/ │ │ │ ├── lua/ │ │ │ │ └── tohtml.lua │ │ │ └── ruby/ │ │ │ └── next.rb │ │ ├── minvimrc │ │ ├── mwe.vim │ │ ├── parens.txt │ │ ├── parts.vim │ │ ├── rtp/ │ │ │ ├── ftdetect/ │ │ │ │ └── matchuptest.vim │ │ │ └── ftplugin/ │ │ │ └── matchuptest.vim │ │ ├── startup.sh │ │ ├── tabs.vim │ │ ├── test.html │ │ ├── textobjV.vim │ │ ├── transmute.html │ │ ├── transmute2.html │ │ ├── unicode.matchuptest │ │ ├── vader/ │ │ │ ├── issue-66.vader │ │ │ ├── minvimrc │ │ │ ├── motion.vader │ │ │ ├── motion_force.vader │ │ │ ├── ruby.vader │ │ │ ├── run │ │ │ ├── syn.vader │ │ │ └── text_obj.vader │ │ ├── vimrc-startup │ │ └── zsze.matchuptest │ ├── vim-mundo/ │ │ ├── .gitignore │ │ ├── COPYRIGHT │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── airline/ │ │ │ │ └── extensions/ │ │ │ │ └── mundo.vim │ │ │ ├── graphlog_test.py │ │ │ ├── mundo/ │ │ │ │ ├── __init__.py │ │ │ │ ├── diff.py │ │ │ │ ├── graphlog.py │ │ │ │ ├── node.py │ │ │ │ ├── util.py │ │ │ │ └── util.vim │ │ │ ├── mundo.py │ │ │ ├── mundo.vim │ │ │ └── utils_test.py │ │ ├── doc/ │ │ │ └── mundo.txt │ │ ├── plugin/ │ │ │ └── mundo.vim │ │ ├── requirements.txt │ │ └── tests/ │ │ ├── README.md │ │ ├── bundled/ │ │ │ ├── lh-vim-lib/ │ │ │ │ ├── autoload/ │ │ │ │ │ └── lh/ │ │ │ │ │ ├── UT.vim │ │ │ │ │ ├── askvim.vim │ │ │ │ │ ├── buffer/ │ │ │ │ │ │ └── dialog.vim │ │ │ │ │ ├── buffer.vim │ │ │ │ │ ├── command.vim │ │ │ │ │ ├── common.vim │ │ │ │ │ ├── encoding.vim │ │ │ │ │ ├── env.vim │ │ │ │ │ ├── event.vim │ │ │ │ │ ├── function.vim │ │ │ │ │ ├── graph/ │ │ │ │ │ │ └── tsort.vim │ │ │ │ │ ├── list.vim │ │ │ │ │ ├── menu.vim │ │ │ │ │ ├── option.vim │ │ │ │ │ ├── path.vim │ │ │ │ │ ├── position.vim │ │ │ │ │ ├── syntax.vim │ │ │ │ │ └── visual.vim │ │ │ │ ├── doc/ │ │ │ │ │ └── lh-vim-lib.txt │ │ │ │ ├── lh-vim-lib.README │ │ │ │ ├── macros/ │ │ │ │ │ └── menu-map.vim │ │ │ │ ├── mkVba/ │ │ │ │ │ └── mk-lh-vim-lib.vim │ │ │ │ ├── plugin/ │ │ │ │ │ ├── let.vim │ │ │ │ │ ├── lhvl.vim │ │ │ │ │ ├── ui-functions.vim │ │ │ │ │ └── words_tools.vim │ │ │ │ └── tests/ │ │ │ │ └── lh/ │ │ │ │ ├── function.vim │ │ │ │ ├── list.vim │ │ │ │ ├── path.vim │ │ │ │ ├── test-Fargs2String.vim │ │ │ │ ├── test-askmenu.vim │ │ │ │ ├── test-command.vim │ │ │ │ ├── test-menu-map.vim │ │ │ │ ├── test-toggle-menu.vim │ │ │ │ └── topological-sort.vim │ │ │ └── ut/ │ │ │ ├── UT.README │ │ │ ├── autoload/ │ │ │ │ ├── lh/ │ │ │ │ │ └── UT.vim │ │ │ │ └── should/ │ │ │ │ └── be.vim │ │ │ ├── doc/ │ │ │ │ └── UT.txt │ │ │ ├── ftplugin/ │ │ │ │ └── vim/ │ │ │ │ └── vim_UT.vim │ │ │ ├── mkVba/ │ │ │ │ └── mk-UT.vim │ │ │ ├── plugin/ │ │ │ │ └── UT.vim │ │ │ └── tests/ │ │ │ └── lh/ │ │ │ ├── UT-fixtures.vim │ │ │ └── UT.vim │ │ ├── run-tests.sh │ │ ├── test-graph.vim │ │ ├── test-movement.vim │ │ ├── test-preview.vim │ │ ├── test-toggle.vim │ │ ├── vim_test/ │ │ │ ├── colors/ │ │ │ │ └── desert.vim │ │ │ └── plugin/ │ │ │ └── mundo_test_utils.vim │ │ └── vimrc_test │ ├── vim-one/ │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── main.yml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── airline/ │ │ │ └── themes/ │ │ │ └── one.vim │ │ ├── colors/ │ │ │ └── one.vim │ │ ├── estilo/ │ │ │ ├── addons/ │ │ │ │ └── nvim-term.yml │ │ │ ├── palettes/ │ │ │ │ └── vim-one-dark.yml │ │ │ └── syntax/ │ │ │ └── base.yml │ │ ├── estilo.yml │ │ └── screenshots/ │ │ └── Untitled.sketch │ ├── vim-over/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── over/ │ │ │ │ ├── command_line/ │ │ │ │ │ ├── command_history.vim │ │ │ │ │ ├── complete.vim │ │ │ │ │ ├── global.vim │ │ │ │ │ ├── insert_register.vim │ │ │ │ │ ├── search.vim │ │ │ │ │ └── substitute.vim │ │ │ │ └── command_line.vim │ │ │ ├── over.vim │ │ │ └── vital/ │ │ │ ├── _over/ │ │ │ │ ├── Coaster/ │ │ │ │ │ ├── Buffer/ │ │ │ │ │ │ └── Object.vim │ │ │ │ │ ├── Buffer.vim │ │ │ │ │ ├── Highlight.vim │ │ │ │ │ ├── Search.vim │ │ │ │ │ └── Window.vim │ │ │ │ ├── Data/ │ │ │ │ │ ├── Dict.vim │ │ │ │ │ └── List.vim │ │ │ │ ├── Gift/ │ │ │ │ │ ├── Tabpage.vim │ │ │ │ │ └── Window.vim │ │ │ │ ├── Gift.vim │ │ │ │ ├── Over/ │ │ │ │ │ ├── Commandline/ │ │ │ │ │ │ ├── Base.vim │ │ │ │ │ │ ├── Maker.vim │ │ │ │ │ │ ├── Modules/ │ │ │ │ │ │ │ ├── All.vim │ │ │ │ │ │ │ ├── AsyncUpdate.vim │ │ │ │ │ │ │ ├── BufferComplete.vim │ │ │ │ │ │ │ ├── Cancel.vim │ │ │ │ │ │ │ ├── CursorMove.vim │ │ │ │ │ │ │ ├── Delete.vim │ │ │ │ │ │ │ ├── Digraphs.vim │ │ │ │ │ │ │ ├── Doautocmd.vim │ │ │ │ │ │ │ ├── DrawCommandline.vim │ │ │ │ │ │ │ ├── ExceptionExit.vim │ │ │ │ │ │ │ ├── ExceptionMessage.vim │ │ │ │ │ │ │ ├── Execute.vim │ │ │ │ │ │ │ ├── ExecuteFailedMessage.vim │ │ │ │ │ │ │ ├── Exit.vim │ │ │ │ │ │ │ ├── HighlightBufferCursor.vim │ │ │ │ │ │ │ ├── HistAdd.vim │ │ │ │ │ │ │ ├── History.vim │ │ │ │ │ │ │ ├── IgnoreRegexpBackwardWord.vim │ │ │ │ │ │ │ ├── Incsearch.vim │ │ │ │ │ │ │ ├── InsertRegister.vim │ │ │ │ │ │ │ ├── KeyMapping.vim │ │ │ │ │ │ │ ├── LiteralInsert.vim │ │ │ │ │ │ │ ├── NoInsert.vim │ │ │ │ │ │ │ ├── Paste.vim │ │ │ │ │ │ │ ├── Redraw.vim │ │ │ │ │ │ │ └── Scroll.vim │ │ │ │ │ │ └── Modules.vim │ │ │ │ │ ├── Commandline.vim │ │ │ │ │ ├── Exception.vim │ │ │ │ │ ├── Input.vim │ │ │ │ │ ├── Keymapping.vim │ │ │ │ │ ├── Signals.vim │ │ │ │ │ └── String.vim │ │ │ │ ├── Over.vim │ │ │ │ ├── Palette/ │ │ │ │ │ ├── Capture.vim │ │ │ │ │ ├── Highlight.vim │ │ │ │ │ └── Keymapping.vim │ │ │ │ ├── Prelude.vim │ │ │ │ ├── Unlocker/ │ │ │ │ │ ├── Holder/ │ │ │ │ │ │ ├── Any.vim │ │ │ │ │ │ ├── Buffer/ │ │ │ │ │ │ │ ├── Text.vim │ │ │ │ │ │ │ └── Undofile.vim │ │ │ │ │ │ ├── File.vim │ │ │ │ │ │ ├── Multi.vim │ │ │ │ │ │ ├── Option.vim │ │ │ │ │ │ ├── Position.vim │ │ │ │ │ │ ├── Register.vim │ │ │ │ │ │ ├── Value.vim │ │ │ │ │ │ ├── Variable.vim │ │ │ │ │ │ └── Winview.vim │ │ │ │ │ ├── Holder.vim │ │ │ │ │ ├── Rocker/ │ │ │ │ │ │ ├── HolderBase.vim │ │ │ │ │ │ ├── Multi.vim │ │ │ │ │ │ └── Undotree.vim │ │ │ │ │ └── Rocker.vim │ │ │ │ └── Vim/ │ │ │ │ ├── Buffer.vim │ │ │ │ ├── Guard.vim │ │ │ │ ├── Message.vim │ │ │ │ └── Type.vim │ │ │ ├── _over.vim │ │ │ ├── over.vim │ │ │ └── over.vital │ │ ├── doc/ │ │ │ ├── over.jax │ │ │ └── over.txt │ │ ├── plugin/ │ │ │ └── over.vim │ │ └── test/ │ │ └── autoload/ │ │ ├── over/ │ │ │ └── command_line/ │ │ │ ├── complete.vim │ │ │ └── substitute.vim │ │ └── over.vim │ ├── vim-postscript/ │ │ ├── ftdetect/ │ │ │ └── postscript.vim │ │ ├── ftplugin/ │ │ │ └── postscript.vim │ │ ├── indent/ │ │ │ └── postscript.vim │ │ └── syntax/ │ │ └── postscript.vim │ ├── vim-povray/ │ │ ├── README.md │ │ ├── ftdetect/ │ │ │ └── povray.vim │ │ ├── ftplugin/ │ │ │ └── povray.vim │ │ ├── indent/ │ │ │ └── povray.vim │ │ └── syntax/ │ │ └── povray.vim │ ├── vim-pydocstring/ │ │ ├── .gitignore │ │ ├── CHANGES.rst │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.rst │ │ ├── autoload/ │ │ │ └── pydocstring.vim │ │ ├── doc/ │ │ │ └── pydocstring.txt │ │ └── ftplugin/ │ │ └── python/ │ │ └── pydocstring.vim │ ├── vim-python-pep8-indent/ │ │ ├── .circleci/ │ │ │ └── config.yml │ │ ├── .coveragerc │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── CONTRIBUTING.rst │ │ ├── COPYING.txt │ │ ├── Dockerfile │ │ ├── Gemfile │ │ ├── Makefile │ │ ├── README.rst │ │ ├── docker-compose.yml │ │ ├── indent/ │ │ │ ├── cython.vim │ │ │ └── python.vim │ │ └── spec/ │ │ ├── indent/ │ │ │ ├── bytes_spec.rb │ │ │ ├── cython_spec.rb │ │ │ └── indent_spec.rb │ │ ├── make-coverage │ │ ├── spec_helper.rb │ │ └── vimrc │ ├── vim-pythonsense/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── after/ │ │ │ └── ftplugin/ │ │ │ └── python/ │ │ │ └── pythonsense.vim │ │ ├── autoload/ │ │ │ └── pythonsense.vim │ │ ├── doc/ │ │ │ └── pythonsense.txt │ │ └── ftplugin/ │ │ └── python/ │ │ └── pythonsense.vim │ ├── vim-qml/ │ │ ├── CONTRIBUTORS.md │ │ ├── README.md │ │ ├── bin/ │ │ │ └── update_contributors.sh │ │ ├── ftdetect/ │ │ │ └── qml.vim │ │ ├── ftplugin/ │ │ │ └── qml.vim │ │ ├── indent/ │ │ │ └── qml.vim │ │ └── syntax/ │ │ └── qml.vim │ ├── vim-reason/ │ │ ├── ftdetect/ │ │ │ └── reason.vim │ │ ├── indent/ │ │ │ └── reason.vim │ │ └── syntax/ │ │ └── reason.vim │ ├── vim-repeat/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── README.markdown │ │ └── autoload/ │ │ └── repeat.vim │ ├── vim-rescript/ │ │ ├── ftdetect/ │ │ │ └── rescript.vim │ │ ├── indent/ │ │ │ └── rescript.vim │ │ └── syntax/ │ │ └── rescript.vim │ ├── vim-ruby/ │ │ ├── .gitignore │ │ ├── .rspec │ │ ├── CONTRIBUTORS │ │ ├── ChangeLog │ │ ├── Gemfile │ │ ├── INSTALL.markdown │ │ ├── NEWS │ │ ├── README.markdown │ │ ├── autoload/ │ │ │ └── rubycomplete.vim │ │ ├── compiler/ │ │ │ ├── eruby.vim │ │ │ ├── rake.vim │ │ │ ├── rspec.vim │ │ │ ├── ruby.vim │ │ │ └── rubyunit.vim │ │ ├── doc/ │ │ │ ├── ft-ruby-indent.txt │ │ │ ├── ft-ruby-omni.txt │ │ │ ├── ft-ruby-plugin.txt │ │ │ └── ft-ruby-syntax.txt │ │ ├── etc/ │ │ │ └── examples/ │ │ │ ├── generators/ │ │ │ │ └── syntax.rb │ │ │ └── indent/ │ │ │ └── closing_brackets.rb │ │ ├── ftdetect/ │ │ │ ├── ruby.vim │ │ │ └── ruby_extra.vim │ │ ├── ftplugin/ │ │ │ ├── eruby.vim │ │ │ └── ruby.vim │ │ ├── indent/ │ │ │ ├── eruby.vim │ │ │ └── ruby.vim │ │ ├── spec/ │ │ │ ├── indent/ │ │ │ │ ├── arguments_spec.rb │ │ │ │ ├── basic_spec.rb │ │ │ │ ├── blocks_spec.rb │ │ │ │ ├── case_in_spec.rb │ │ │ │ ├── continuations_spec.rb │ │ │ │ ├── end_constructs_spec.rb │ │ │ │ ├── eruby_spec.rb │ │ │ │ ├── hanging_elements_spec.rb │ │ │ │ ├── identifiers_spec.rb │ │ │ │ ├── indent_access_modifier_spec.rb │ │ │ │ ├── method_definitions_spec.rb │ │ │ │ ├── nesting_spec.rb │ │ │ │ └── splat_spec.rb │ │ │ ├── spec_helper.rb │ │ │ ├── syntax/ │ │ │ │ ├── blocks_spec.rb │ │ │ │ ├── characters_spec.rb │ │ │ │ ├── comments_spec.rb │ │ │ │ ├── line_continuations_spec.rb │ │ │ │ ├── maxmempattern_limit_spec.rb │ │ │ │ ├── methods_spec.rb │ │ │ │ ├── operators_spec.rb │ │ │ │ ├── regular_expressions_spec.rb │ │ │ │ ├── statement_modifiers_spec.rb │ │ │ │ ├── strings/ │ │ │ │ │ ├── heredoc_spec.rb │ │ │ │ │ ├── interpolation_spec.rb │ │ │ │ │ └── strings_spec.rb │ │ │ │ └── symbols_spec.rb │ │ │ └── vim/ │ │ │ └── plugin/ │ │ │ └── syntax_test.vim │ │ └── syntax/ │ │ ├── eruby.vim │ │ └── ruby.vim │ ├── vim-scala/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gemfile │ │ ├── LICENSE.TXT │ │ ├── README.md │ │ ├── Rakefile │ │ ├── after/ │ │ │ └── syntax/ │ │ │ └── help.vim │ │ ├── compiler/ │ │ │ └── sbt.vim │ │ ├── ctags/ │ │ │ └── scala.ctags │ │ ├── doc/ │ │ │ └── scala.txt │ │ ├── ftdetect/ │ │ │ └── scala.vim │ │ ├── ftplugin/ │ │ │ ├── scala/ │ │ │ │ └── tagbar.vim │ │ │ ├── scala.vim │ │ │ └── scala.xpt.vim │ │ ├── indent/ │ │ │ ├── README │ │ │ ├── scala.vim │ │ │ └── testfile.scala │ │ ├── plugin/ │ │ │ └── scala.vim │ │ ├── spec/ │ │ │ ├── fixtures/ │ │ │ │ ├── multiple_newlines.expected.scala │ │ │ │ ├── multiple_newlines.scala │ │ │ │ ├── no_newline.expected.scala │ │ │ │ ├── no_newline.scala │ │ │ │ ├── no_newline_after.expected.scala │ │ │ │ ├── no_newline_after.scala │ │ │ │ ├── no_package.expected.scala │ │ │ │ ├── no_package.scala │ │ │ │ ├── vanilla.expected.scala │ │ │ │ └── vanilla.scala │ │ │ ├── import_sorting_spec.rb │ │ │ └── spec_helper.rb │ │ └── syntax/ │ │ ├── scala.vim │ │ └── testfile.scala │ ├── vim-slumlord/ │ │ ├── .gitignore │ │ ├── LICENCE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── slumlord.vim │ │ ├── ftplugin/ │ │ │ └── plantuml.vim │ │ ├── plantuml.jar │ │ └── syntax/ │ │ └── plantuml.vim │ ├── vim-smoothie/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── smoothie.vim │ │ └── plugin/ │ │ └── smoothie.vim │ ├── vim-snippets/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── AUTHORS │ │ ├── LICENSE │ │ ├── README.md │ │ ├── UltiSnips/ │ │ │ ├── README │ │ │ ├── ada.snippets │ │ │ ├── all.snippets │ │ │ ├── bib.snippets │ │ │ ├── bindzone.snippets │ │ │ ├── blade.snippets │ │ │ ├── c.snippets │ │ │ ├── coffee-jasmine.snippets │ │ │ ├── coffee-react.snippets │ │ │ ├── coffee.snippets │ │ │ ├── cpp.snippets │ │ │ ├── crystal.snippets │ │ │ ├── cs.snippets │ │ │ ├── css.snippets │ │ │ ├── cuda.snippets │ │ │ ├── d.snippets │ │ │ ├── django.snippets │ │ │ ├── eelixir.snippets │ │ │ ├── ejs.snippets │ │ │ ├── elm.snippets │ │ │ ├── erlang.snippets │ │ │ ├── eruby.snippets │ │ │ ├── go.snippets │ │ │ ├── haskell.snippets │ │ │ ├── help.snippets │ │ │ ├── html.snippets │ │ │ ├── html_minimal.snippets │ │ │ ├── htmldjango.snippets │ │ │ ├── htmljinja.snippets │ │ │ ├── java.snippets │ │ │ ├── javascript-angular.snippets │ │ │ ├── javascript-ember.snippets │ │ │ ├── javascript-jasmine-arrow.snippets │ │ │ ├── javascript-jsdoc.snippets │ │ │ ├── javascript-node.snippets │ │ │ ├── javascript.snippets │ │ │ ├── javascript_react.snippets │ │ │ ├── jinja2.snippets │ │ │ ├── json.snippets │ │ │ ├── julia.snippets │ │ │ ├── ledger.snippets │ │ │ ├── lhaskell.snippets │ │ │ ├── lua.snippets │ │ │ ├── mako.snippets │ │ │ ├── markdown.snippets │ │ │ ├── matlab.snippets │ │ │ ├── objc.snippets │ │ │ ├── ocaml.snippets │ │ │ ├── octave.snippets │ │ │ ├── pandoc.snippets │ │ │ ├── perl.snippets │ │ │ ├── php-laravel.snippets │ │ │ ├── php-phpspec.snippets │ │ │ ├── php-symfony2.snippets │ │ │ ├── php.snippets │ │ │ ├── plsql.snippets │ │ │ ├── proto.snippets │ │ │ ├── puppet.snippets │ │ │ ├── python.snippets │ │ │ ├── r.snippets │ │ │ ├── rails.snippets │ │ │ ├── rnoweb.snippets │ │ │ ├── robot.snippets │ │ │ ├── rst.snippets │ │ │ ├── ruby.snippets │ │ │ ├── rust.snippets │ │ │ ├── sh.snippets │ │ │ ├── snippets.snippets │ │ │ ├── soy.snippets │ │ │ ├── supercollider.snippets │ │ │ ├── svelte.snippets │ │ │ ├── tcl.snippets │ │ │ ├── tex.snippets │ │ │ ├── texmath.snippets │ │ │ ├── typescript.snippets │ │ │ ├── vim.snippets │ │ │ ├── vue.snippets │ │ │ ├── xhtml.snippets │ │ │ ├── xml.snippets │ │ │ └── zsh.snippets │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ └── vim_snippets.vim │ │ ├── plugin/ │ │ │ └── vimsnippets.vim │ │ ├── pythonx/ │ │ │ ├── javascript_snippets.py │ │ │ └── vimsnippets.py │ │ ├── snippets/ │ │ │ ├── _.snippets │ │ │ ├── actionscript.snippets │ │ │ ├── ada.snippets │ │ │ ├── alpaca.snippets │ │ │ ├── apache.snippets │ │ │ ├── arduino.snippets │ │ │ ├── autoit.snippets │ │ │ ├── awk.snippets │ │ │ ├── c.snippets │ │ │ ├── chef.snippets │ │ │ ├── clojure.snippets │ │ │ ├── cmake.snippets │ │ │ ├── codeigniter.snippets │ │ │ ├── coffee/ │ │ │ │ ├── angular_coffee.snippets │ │ │ │ ├── coffee.snippets │ │ │ │ ├── jquery_coffee.snippets │ │ │ │ └── requirejs_coffee.snippets │ │ │ ├── cpp.snippets │ │ │ ├── crystal.snippets │ │ │ ├── cs.snippets │ │ │ ├── css.snippets │ │ │ ├── cuda.snippets │ │ │ ├── d.snippets │ │ │ ├── dart-flutter.snippets │ │ │ ├── dart.snippets │ │ │ ├── diff.snippets │ │ │ ├── django.snippets │ │ │ ├── dosini.snippets │ │ │ ├── eelixir.snippets │ │ │ ├── elixir.snippets │ │ │ ├── elm.snippets │ │ │ ├── erlang.snippets │ │ │ ├── eruby.snippets │ │ │ ├── falcon.snippets │ │ │ ├── fortran.snippets │ │ │ ├── freemarker.snippets │ │ │ ├── go.snippets │ │ │ ├── haml.snippets │ │ │ ├── handlebars.snippets │ │ │ ├── haskell.snippets │ │ │ ├── helm.snippets │ │ │ ├── html.snippets │ │ │ ├── htmldjango.snippets │ │ │ ├── htmltornado.snippets │ │ │ ├── idris.snippets │ │ │ ├── jade.snippets │ │ │ ├── java.snippets │ │ │ ├── javascript/ │ │ │ │ ├── javascript-jasmine.snippets │ │ │ │ ├── javascript-jquery.snippets │ │ │ │ ├── javascript-react.snippets │ │ │ │ ├── javascript-redux.snippets │ │ │ │ ├── javascript-requirejs.snippets │ │ │ │ ├── javascript.node.snippets │ │ │ │ └── javascript.snippets │ │ │ ├── javascript-bemjson.snippets │ │ │ ├── javascript-d3.snippets │ │ │ ├── javascript-es6-react.snippets │ │ │ ├── javascript-mocha.snippets │ │ │ ├── javascript-openui5.snippets │ │ │ ├── jenkins.snippets │ │ │ ├── jinja.snippets │ │ │ ├── jsp.snippets │ │ │ ├── julia.snippets │ │ │ ├── kotlin.snippets │ │ │ ├── laravel.snippets │ │ │ ├── ledger.snippets │ │ │ ├── lfe.snippets │ │ │ ├── liquid.snippets │ │ │ ├── ls.snippets │ │ │ ├── lua.snippets │ │ │ ├── make.snippets │ │ │ ├── mako.snippets │ │ │ ├── markdown.snippets │ │ │ ├── matlab.snippets │ │ │ ├── mustache.snippets │ │ │ ├── objc.snippets │ │ │ ├── ocaml.snippets │ │ │ ├── octave.snippets │ │ │ ├── openfoam.snippets │ │ │ ├── pandoc.snippets │ │ │ ├── perl.snippets │ │ │ ├── perl6.snippets │ │ │ ├── phoenix.snippets │ │ │ ├── php.snippets │ │ │ ├── plsql.snippets │ │ │ ├── po.snippets │ │ │ ├── processing.snippets │ │ │ ├── progress.snippets │ │ │ ├── ps1.snippets │ │ │ ├── puppet.snippets │ │ │ ├── purescript.snippets │ │ │ ├── python.snippets │ │ │ ├── r.snippets │ │ │ ├── racket.snippets │ │ │ ├── rails.snippets │ │ │ ├── reason.snippets │ │ │ ├── rmd.snippets │ │ │ ├── rst.snippets │ │ │ ├── ruby.snippets │ │ │ ├── rust.snippets │ │ │ ├── sass.snippets │ │ │ ├── scala.snippets │ │ │ ├── scheme.snippets │ │ │ ├── scss.snippets │ │ │ ├── sh.snippets │ │ │ ├── simplemvcf.snippets │ │ │ ├── slim.snippets │ │ │ ├── snippets.snippets │ │ │ ├── sql.snippets │ │ │ ├── stylus.snippets │ │ │ ├── supercollider.snippets │ │ │ ├── svelte.snippets │ │ │ ├── systemverilog.snippets │ │ │ ├── tcl.snippets │ │ │ ├── tex.snippets │ │ │ ├── textile.snippets │ │ │ ├── twig.snippets │ │ │ ├── typescript.snippets │ │ │ ├── typescriptreact.snippets │ │ │ ├── verilog.snippets │ │ │ ├── vhdl.snippets │ │ │ ├── vim.snippets │ │ │ ├── vue.snippets │ │ │ ├── xml.snippets │ │ │ ├── xslt.snippets │ │ │ ├── yii-chtml.snippets │ │ │ ├── yii.snippets │ │ │ └── zsh.snippets │ │ └── tests.sh │ ├── vim-startify/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── startify/ │ │ │ │ └── fortune.vim │ │ │ └── startify.vim │ │ ├── doc/ │ │ │ └── startify.txt │ │ ├── ftplugin/ │ │ │ └── startify.vim │ │ ├── plugin/ │ │ │ └── startify.vim │ │ ├── syntax/ │ │ │ └── startify.vim │ │ └── test/ │ │ ├── feature/ │ │ │ ├── buffer.vader │ │ │ ├── mapping.vader │ │ │ └── session.vader │ │ ├── include/ │ │ │ └── testfile.txt │ │ ├── run │ │ ├── session/ │ │ │ └── .gitkeep │ │ ├── viminfo │ │ └── vimrc │ ├── vim-surround/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── .gitignore │ │ ├── README.markdown │ │ ├── doc/ │ │ │ └── surround.txt │ │ └── plugin/ │ │ └── surround.vim │ ├── vim-table-mode/ │ │ ├── .github/ │ │ │ └── FUNDING.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── Gemfile │ │ ├── README.md │ │ ├── Rakefile │ │ ├── autoload/ │ │ │ ├── tablemode/ │ │ │ │ ├── align.vim │ │ │ │ ├── logger.vim │ │ │ │ ├── spreadsheet/ │ │ │ │ │ ├── cell.vim │ │ │ │ │ └── formula.vim │ │ │ │ ├── spreadsheet.vim │ │ │ │ ├── table.vim │ │ │ │ └── utils.vim │ │ │ └── tablemode.vim │ │ ├── doc/ │ │ │ └── table-mode.txt │ │ ├── ftplugin/ │ │ │ ├── markdown_tablemode.vim │ │ │ └── rst_tablemode.vim │ │ ├── plugin/ │ │ │ └── table-mode.vim │ │ └── t/ │ │ ├── align.vim │ │ ├── cell.vim │ │ ├── config/ │ │ │ └── options.vim │ │ ├── fixtures/ │ │ │ ├── align/ │ │ │ │ ├── simple_after.txt │ │ │ │ ├── simple_before.txt │ │ │ │ ├── unicode_after.txt │ │ │ │ └── unicode_before.txt │ │ │ ├── big_sample.txt │ │ │ ├── cell/ │ │ │ │ ├── counts.txt │ │ │ │ └── sample.txt │ │ │ ├── complex_header.txt │ │ │ ├── escaped_seperator.txt │ │ │ ├── formula/ │ │ │ │ ├── formula.txt │ │ │ │ └── sample.txt │ │ │ ├── sample.txt │ │ │ ├── table/ │ │ │ │ ├── sample.txt │ │ │ │ ├── sample_for_header.txt │ │ │ │ ├── sample_for_header_unicode.txt │ │ │ │ ├── sample_header_realign_after.txt │ │ │ │ ├── sample_header_realign_before.txt │ │ │ │ ├── sample_header_realign_unicode_after.txt │ │ │ │ ├── sample_header_realign_unicode_before.txt │ │ │ │ ├── sample_realign_after.txt │ │ │ │ ├── sample_realign_before.txt │ │ │ │ ├── sample_realign_unicode_after.txt │ │ │ │ ├── sample_realign_unicode_before.txt │ │ │ │ └── sample_with_header.txt │ │ │ └── tableize.txt │ │ ├── formula.vim │ │ ├── spreadsheet.vim │ │ ├── table.vim │ │ ├── tablemode.vim │ │ └── utils.vim │ ├── vim-teal/ │ │ ├── CODE_OF_CONDUCT.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ale_linters/ │ │ │ └── teal/ │ │ │ └── tlcheck.vim │ │ ├── compiler/ │ │ │ └── tl.vim │ │ ├── ftdetect/ │ │ │ └── teal.vim │ │ ├── ftplugin/ │ │ │ └── teal.vim │ │ ├── indent/ │ │ │ └── teal.vim │ │ ├── plugin/ │ │ │ └── teal.vim │ │ ├── syntax/ │ │ │ └── teal.vim │ │ └── test/ │ │ └── test.tl │ ├── vim-textobj-entire/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gemfile │ │ ├── README.md │ │ ├── Rakefile │ │ ├── VimFlavor │ │ ├── autoload/ │ │ │ └── textobj/ │ │ │ └── entire.vim │ │ ├── doc/ │ │ │ └── textobj-entire.txt │ │ ├── plugin/ │ │ │ └── textobj/ │ │ │ └── entire.vim │ │ └── t/ │ │ ├── basics.vim │ │ ├── jumplist.vim │ │ └── mark.vim │ ├── vim-textobj-indent/ │ │ ├── VimFlavor │ │ ├── autoload/ │ │ │ └── textobj/ │ │ │ └── indent.vim │ │ ├── doc/ │ │ │ └── textobj-indent.txt │ │ ├── plugin/ │ │ │ └── textobj/ │ │ │ └── indent.vim │ │ └── t/ │ │ └── basics.vim │ ├── vim-textobj-line/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gemfile │ │ ├── Rakefile │ │ ├── VimFlavor │ │ ├── autoload/ │ │ │ └── textobj/ │ │ │ └── line.vim │ │ ├── doc/ │ │ │ └── textobj-line.txt │ │ ├── plugin/ │ │ │ └── textobj/ │ │ │ └── line.vim │ │ └── t/ │ │ └── basics.vim │ ├── vim-textobj-user/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gemfile │ │ ├── README.md │ │ ├── Rakefile │ │ ├── autoload/ │ │ │ └── textobj/ │ │ │ └── user.vim │ │ ├── doc/ │ │ │ └── textobj-user.txt │ │ └── t/ │ │ ├── failed-selection.vim │ │ ├── keep-marks.vim │ │ ├── map.vim │ │ ├── move.vim │ │ ├── old-property-names.vim │ │ ├── plugin.vim │ │ ├── region-type.vim │ │ ├── scan.vim │ │ ├── script-local.vim │ │ ├── select-x-function-countability.vim │ │ ├── selection.vim │ │ ├── single-character-objects.vim │ │ └── snr-prefix.vim │ ├── vim-tmux-navigator/ │ │ ├── .gitignore │ │ ├── License.md │ │ ├── README.md │ │ ├── doc/ │ │ │ └── tmux-navigator.txt │ │ ├── pattern-check │ │ ├── plugin/ │ │ │ └── tmux_navigator.vim │ │ └── vim-tmux-navigator.tmux │ ├── vim-toml/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── toml.vim │ │ ├── ftdetect/ │ │ │ └── toml.vim │ │ ├── ftplugin/ │ │ │ └── toml.vim │ │ ├── indent/ │ │ │ └── toml.vim │ │ ├── syntax/ │ │ │ └── toml.vim │ │ └── test/ │ │ └── test.toml │ ├── vim-unstack/ │ │ ├── .gitignore │ │ ├── README.markdown │ │ ├── autoload/ │ │ │ ├── unstack/ │ │ │ │ └── extractors.vim │ │ │ └── unstack.vim │ │ ├── doc/ │ │ │ └── unstack.txt │ │ └── plugin/ │ │ └── unstack.vim │ ├── vim-van/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ └── unite/ │ │ │ └── sources/ │ │ │ └── manpage.vim │ │ └── plugin/ │ │ └── superman.vim │ ├── vim-virtualenv/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.mkd │ │ ├── autoload/ │ │ │ ├── pyvenv.py │ │ │ └── virtualenv.vim │ │ ├── doc/ │ │ │ └── virtualenv.txt │ │ └── plugin/ │ │ └── virtualenv.vim │ ├── vim-zettelkasten/ │ │ ├── README.md │ │ ├── doc/ │ │ │ └── vim-zettelkasten.txt │ │ ├── ftdetect/ │ │ │ └── zettelkasten.lua │ │ ├── ftplugin/ │ │ │ ├── markdown.lua │ │ │ ├── zkbrowser.lua │ │ │ └── zktagstree.lua │ │ ├── lua/ │ │ │ ├── telescope/ │ │ │ │ └── _extensions/ │ │ │ │ ├── zettelkasten.lua │ │ │ │ ├── zettelkasten_tags.lua │ │ │ │ └── zettelkasten_template.lua │ │ │ ├── zettelkasten/ │ │ │ │ ├── browser.lua │ │ │ │ ├── config.lua │ │ │ │ ├── formatter.lua │ │ │ │ ├── log.lua │ │ │ │ └── sidebar.lua │ │ │ └── zettelkasten.lua │ │ ├── plugin/ │ │ │ └── zettelkasten.lua │ │ ├── syntax/ │ │ │ ├── zkbrowser.vim │ │ │ └── zktagstree.vim │ │ └── test/ │ │ └── init.vim │ ├── vimfiler.vim/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── unite/ │ │ │ │ ├── filters/ │ │ │ │ │ └── matcher_vimfiler_mask.vim │ │ │ │ └── sources/ │ │ │ │ ├── vimfiler_drive.vim │ │ │ │ ├── vimfiler_execute.vim │ │ │ │ ├── vimfiler_history.vim │ │ │ │ ├── vimfiler_mask.vim │ │ │ │ ├── vimfiler_popd.vim │ │ │ │ └── vimfiler_sort.vim │ │ │ ├── vimfiler/ │ │ │ │ ├── columns/ │ │ │ │ │ ├── size.vim │ │ │ │ │ ├── time.vim │ │ │ │ │ └── type.vim │ │ │ │ ├── custom.vim │ │ │ │ ├── exrename.vim │ │ │ │ ├── filters/ │ │ │ │ │ ├── matcher_ignore_files.vim │ │ │ │ │ ├── matcher_ignore_pattern.vim │ │ │ │ │ └── matcher_ignore_wildignore.vim │ │ │ │ ├── handler.vim │ │ │ │ ├── helper.vim │ │ │ │ ├── init.vim │ │ │ │ ├── mappings.vim │ │ │ │ ├── util.vim │ │ │ │ ├── variables.vim │ │ │ │ └── view.vim │ │ │ ├── vimfiler.vim │ │ │ ├── vital/ │ │ │ │ ├── _vimfiler/ │ │ │ │ │ ├── Data/ │ │ │ │ │ │ ├── Dict.vim │ │ │ │ │ │ ├── List.vim │ │ │ │ │ │ └── String.vim │ │ │ │ │ ├── Prelude.vim │ │ │ │ │ ├── Process.vim │ │ │ │ │ ├── System/ │ │ │ │ │ │ └── Cache/ │ │ │ │ │ │ └── Deprecated.vim │ │ │ │ │ └── Vim/ │ │ │ │ │ ├── Buffer.vim │ │ │ │ │ ├── Guard.vim │ │ │ │ │ └── Message.vim │ │ │ │ ├── _vimfiler.vim │ │ │ │ ├── vimfiler.vim │ │ │ │ └── vimfiler.vital │ │ │ └── vital.vim │ │ ├── doc/ │ │ │ └── vimfiler.txt │ │ ├── plugin/ │ │ │ └── vimfiler.vim │ │ ├── syntax/ │ │ │ └── vimfiler.vim │ │ └── test/ │ │ └── functions.vim │ ├── vimproc.vim/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Makefile │ │ ├── README.mkd │ │ ├── appveyor.yml │ │ ├── autoload/ │ │ │ ├── vimproc/ │ │ │ │ ├── cmd.vim │ │ │ │ ├── commands.vim │ │ │ │ ├── filepath.vim │ │ │ │ ├── lexer.vim │ │ │ │ ├── parser.vim │ │ │ │ └── util.vim │ │ │ └── vimproc.vim │ │ ├── doc/ │ │ │ └── vimproc.txt │ │ ├── lib/ │ │ │ └── .gitignore │ │ ├── make_android.mak │ │ ├── make_bsd.mak │ │ ├── make_cygwin.mak │ │ ├── make_cygwin64.mak │ │ ├── make_mac.mak │ │ ├── make_mingw32.mak │ │ ├── make_mingw64.mak │ │ ├── make_msvc.mak │ │ ├── make_sunos.mak │ │ ├── make_unix.mak │ │ ├── plugin/ │ │ │ └── vimproc.vim │ │ ├── src/ │ │ │ ├── fakepoll.h │ │ │ ├── proc.c │ │ │ ├── proc_w32.c │ │ │ ├── ptytty.c │ │ │ ├── ptytty.h │ │ │ └── vimstack.c │ │ ├── test/ │ │ │ ├── fopen.vim │ │ │ ├── functions.vim │ │ │ ├── lexer.vim │ │ │ ├── parser.vim │ │ │ ├── popen.vim │ │ │ ├── socket.vim │ │ │ └── system.vim │ │ └── tools/ │ │ ├── appveyor.bat │ │ ├── benchmark.vim │ │ ├── dl-kaoriya-vim.py │ │ ├── fork.py │ │ ├── leak_check.vim │ │ ├── leak_check2.vim │ │ ├── update-dll-mingw.bat │ │ └── update-dll-msvc.bat │ ├── wildfire.vim/ │ │ ├── .gitignore │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── autoload/ │ │ │ ├── wildfire/ │ │ │ │ └── triggers.vim │ │ │ └── wildfire.vim │ │ ├── doc/ │ │ │ └── wildfire.txt │ │ └── plugin/ │ │ └── wildfire.vim │ ├── winbar.nvim/ │ │ ├── README.md │ │ ├── lua/ │ │ │ └── winbar/ │ │ │ └── init.lua │ │ └── plugin/ │ │ └── winbar.lua │ ├── xmake.vim/ │ │ ├── README.md │ │ ├── UltiSnips/ │ │ │ └── lua.snippets │ │ ├── addon-info.json │ │ ├── autoload/ │ │ │ ├── spy.lua │ │ │ ├── xmake/ │ │ │ │ └── log.vim │ │ │ └── xmake.vim │ │ ├── doc/ │ │ │ └── xmake.txt │ │ ├── plugin/ │ │ │ ├── xmake.vim │ │ │ └── xmgen.py │ │ └── rplugin/ │ │ └── python3/ │ │ └── deoplete/ │ │ └── sources/ │ │ ├── docs/ │ │ │ ├── add_defines │ │ │ ├── add_deps │ │ │ ├── add_files │ │ │ ├── add_headers │ │ │ ├── add_includedirs │ │ │ ├── add_linkdirs │ │ │ ├── add_links │ │ │ ├── add_subdirs │ │ │ ├── is_os │ │ │ ├── is_plat │ │ │ ├── set_basename │ │ │ ├── set_headerdir │ │ │ ├── set_kind │ │ │ ├── set_languages │ │ │ ├── set_objectdir │ │ │ ├── set_optimize │ │ │ ├── set_project │ │ │ ├── set_strip │ │ │ ├── set_symbols │ │ │ ├── set_targetdir │ │ │ └── set_warnings │ │ └── xmake.py │ └── yang.vim/ │ ├── README.md │ ├── ftdetect/ │ │ └── yang.vim │ ├── ftplugin/ │ │ └── yang.vim │ ├── indent/ │ │ └── yang.vim │ └── syntax/ │ └── yang.vim ├── codecov.yml ├── colors/ │ └── SpaceVim.vim ├── config/ │ ├── plugins/ │ │ ├── LeaderF.vim │ │ ├── ag.vim │ │ ├── asyncomplete-buffer.vim │ │ ├── asyncomplete-clang.vim │ │ ├── asyncomplete-necovim.vim │ │ ├── asyncomplete-omni.vim │ │ ├── asyncomplete.vim │ │ ├── coc.nvim-release.vim │ │ ├── coc.vim │ │ ├── completor.vim │ │ ├── ctrlp.vim │ │ ├── ctrlsf.vim │ │ ├── defx-git.vim │ │ ├── defx.vim │ │ ├── denite.vim │ │ ├── deoplete-clang.vim │ │ ├── deoplete.vim │ │ ├── goyo.vim │ │ ├── gruvbox.vim │ │ ├── hop.vim │ │ ├── java_getset.vim │ │ ├── jedi-vim.vim │ │ ├── neo-tree.vim │ │ ├── neocomplcache.vim │ │ ├── neocomplete.vim │ │ ├── neomake.vim │ │ ├── neosnippet.vim │ │ ├── nerdcommenter.vim │ │ ├── nerdtree.vim │ │ ├── nvim-cmp.vim │ │ ├── nvim-lspconfig-0.1.3.vim │ │ ├── nvim-lspconfig-0.1.4.vim │ │ ├── nvim-lspconfig-latest.vim │ │ ├── nvim-lspconfig.vim │ │ ├── nvim-surround.vim │ │ ├── nvim-tree.vim │ │ ├── nvim-treesitter-0.9.1.vim │ │ ├── nvim-web-devicons.vim │ │ ├── open-browser.vim │ │ ├── phpcomplete-extended.vim │ │ ├── splitjoin.vim │ │ ├── syntastic.vim │ │ ├── tagbar.vim │ │ ├── taglist.vim │ │ ├── telescope.nvim-0.1.2.vim │ │ ├── telescope.nvim-0.1.5.vim │ │ ├── telescope.nvim-0.1.8.vim │ │ ├── unite-gtags.vim │ │ ├── unite-radio.vim │ │ ├── unite.vim │ │ ├── vim-airline.vim │ │ ├── vim-expand-region.vim │ │ ├── vim-glaive.vim │ │ ├── vim-grepper.vim │ │ ├── vim-gutentags.vim │ │ ├── vim-javacomplete2.vim │ │ ├── vim-multiple-cursors.vim │ │ ├── vim-ref.vim │ │ ├── vim-signify.vim │ │ ├── vim-startify.vim │ │ ├── vim-zettelkasten.vim │ │ └── vimfiler.vim │ └── plugins_before/ │ ├── YouCompleteMe.vim │ ├── ale.vim │ ├── ctrlsf.vim │ ├── echodoc.vim │ ├── neco-vim.vim │ ├── supertab.vim │ ├── ultisnips.vim │ ├── vim-jplus.vim │ └── vimfiler.vim ├── doc/ │ ├── SpaceVim.cnx │ └── SpaceVim.txt ├── docker/ │ ├── Dockerfile │ ├── Makefile │ ├── README.md │ └── init.toml ├── docs/ │ ├── 404.md │ ├── BingSiteAuth.xml │ ├── CNAME │ ├── Gemfile │ ├── _config.yml │ ├── _data/ │ │ └── i18n.yaml │ ├── _includes/ │ │ ├── bilibilivedio.html │ │ └── codeHeader.html │ ├── _layouts/ │ │ └── default.html │ ├── _posts/ │ │ ├── 2017-01-26-SpaceVim-release-v0.1.0.md │ │ ├── 2017-02-11-use-vim-as-a-java-ide.md │ │ ├── 2017-02-11-vim8-new-feature-timers.md │ │ ├── 2017-02-20-install-vim-or-neovim-with-python-support.md │ │ ├── 2017-03-30-SpaceVim-release-v0.2.0.md │ │ ├── 2017-05-25-mnemonic-key-bindings-navigation.md │ │ ├── 2017-05-31-SpaceVim-Newsletter-A-New-Hope.md │ │ ├── 2017-05-31-SpaceVim-release-v0.3.0.md │ │ ├── 2017-06-27-SpaceVim-release-v0.3.1.md │ │ ├── 2017-08-05-SpaceVim-release-v0.4.0.md │ │ ├── 2017-08-11-asynchronous-plugin-manager.md │ │ ├── 2017-11-04-use-ctrl-in-terminal-and-vim.md │ │ ├── 2017-11-06-SpaceVim-release-v0.5.0.md │ │ ├── 2017-11-6-help-description-for-key-bindings.md │ │ ├── 2017-12-07-async-code-runner-in-SpaceVim.md │ │ ├── 2017-12-30-SpaceVim-release-v0.6.0.md │ │ ├── 2018-01-01-SpaceVim-Newsletter-Never-lost-never-give-up.md │ │ ├── 2018-01-23-grep-on-the-fly-in-spacevim.md │ │ ├── 2018-01-31-grep-on-the-fly-in-spacevim.md │ │ ├── 2018-03-18-SpaceVim-release-v0.7.0.md │ │ ├── 2018-06-18-SpaceVim-release-v0.8.0.md │ │ ├── 2018-06-24-first-meetup-in-hangzhou.md │ │ ├── 2018-09-19-use-vim-as-a-java-ide.md │ │ ├── 2018-09-26-SpaceVim-release-v0.9.0.md │ │ ├── 2018-09-27-use-vim-as-a-python-ide.md │ │ ├── 2018-09-27-use-vim-as-ide.md │ │ ├── 2018-09-28-use-vim-as-a-python-ide.md │ │ ├── 2018-09-28-use-vim-as-ide.md │ │ ├── 2018-12-25-SpaceVim-release-v1.0.0.md │ │ ├── 2018-12-29-async-code-runner-in-SpaceVim.md │ │ ├── 2019-01-07-use-vim-as-a-go-ide.md │ │ ├── 2019-01-08-use-vim-as-a-go-ide.md │ │ ├── 2019-01-19-use-vim-as-a-lua-ide.md │ │ ├── 2019-01-20-use-vim-as-a-lua-ide.md │ │ ├── 2019-01-27-use-vim-as-a-javascript-ide.md │ │ ├── 2019-01-28-use-vim-as-a-coffeescript-ide.md │ │ ├── 2019-01-29-use-vim-as-a-coffeescript-ide.md │ │ ├── 2019-01-30-use-vim-as-a-javascript-ide.md │ │ ├── 2019-02-11-use-vim-as-a-perl-ide.md │ │ ├── 2019-02-12-use-vim-as-a-perl-ide.md │ │ ├── 2019-02-17-use-vim-as-a-ruby-ide.md │ │ ├── 2019-02-18-use-vim-as-a-ruby-ide.md │ │ ├── 2019-04-08-SpaceVim-release-v1.1.0.md │ │ ├── 2019-05-08-use-vim-as-a-php-ide.md │ │ ├── 2019-05-09-use-vim-as-a-php-ide.md │ │ ├── 2019-05-10-use-vim-as-a-c-cpp-ide.md │ │ ├── 2019-05-11-use-vim-as-a-c-cpp-ide.md │ │ ├── 2019-05-26-mnemonic-key-bindings-navigation.md │ │ ├── 2019-07-16-asynchronous-todo-manager.md │ │ ├── 2019-07-17-SpaceVim-release-v1.2.0.md │ │ ├── 2019-11-04-SpaceVim-release-v1.3.0.md │ │ ├── 2020-01-27-manage-project-alternate-files.md │ │ ├── 2020-01-28-manage-project-alternate-files.md │ │ ├── 2020-02-25-use-vim-as-a-rust-ide.md │ │ ├── 2020-02-26-use-vim-as-a-rust-ide.md │ │ ├── 2020-04-05-SpaceVim-release-v1.4.0.md │ │ ├── 2020-04-11-use-vim-as-a-typescript-ide.md │ │ ├── 2020-04-12-use-vim-as-a-typescript-ide.md │ │ ├── 2020-08-01-SpaceVim-release-v1.5.0.md │ │ ├── 2020-08-10-use-vim-as-a-swift-ide.md │ │ ├── 2020-08-13-use-vim-as-a-elixir-ide.md │ │ ├── 2020-09-24-use-vim-as-a-kotlin-ide.md │ │ ├── 2020-09-25-use-vim-as-a-kotlin-ide.md │ │ ├── 2020-09-28-asynchronous-plugin-manager.md │ │ ├── 2020-10-06-use-vim-as-a-clojure-ide.md │ │ ├── 2020-10-07-use-vim-as-a-clojure-ide.md │ │ ├── 2020-11-28-use-vim-as-a-nim-ide.md │ │ ├── 2020-12-31-SpaceVim-release-v1.6.0.md │ │ ├── 2021-06-14-SpaceVim-release-v1.7.0.md │ │ ├── 2021-10-04-SpaceVim-release-v1.8.0.md │ │ ├── 2022-01-06-SpaceVim-release-v1.9.0.md │ │ ├── 2022-04-08-multiple-cursor-support-with-iedit.md │ │ ├── 2022-04-09-multiple-cursor-support-with-iedit.md │ │ ├── 2022-04-24-use-vim-as-a-scala-ide.md │ │ ├── 2022-07-02-SpaceVim-release-v2.0.0.md │ │ ├── 2023-03-30-SpaceVim-release-v2.1.0.md │ │ ├── 2023-07-05-SpaceVim-release-v2.2.0.md │ │ ├── 2023-09-06-use-lua-to-reimplement-core-plugins.md │ │ ├── 2024-03-01-use-vim-as-a-elixir-ide.md │ │ ├── 2024-03-09-use-vim-as-a-nim-ide.md │ │ ├── 2024-03-09-use-vim-as-a-scala-ide.md │ │ ├── 2024-03-09-use-vim-as-a-swift-ide.md │ │ ├── 2024-03-23-SpaceVim-release-v2.3.0.md │ │ ├── 2024-03-24-SpaceVim-release-v2.3.0.md │ │ ├── 2024-12-22-SpaceVim-release-v2.4.0.md │ │ └── 2024-12-23-SpaceVim-release-v2.4.0.md │ ├── _sass/ │ │ ├── _gitment.scss │ │ ├── _spacevim.scss │ │ └── _variables.scss │ ├── about.md │ ├── api/ │ │ ├── cmdlinemenu.md │ │ ├── data/ │ │ │ ├── base64.md │ │ │ ├── dict.md │ │ │ ├── list.md │ │ │ ├── number.md │ │ │ ├── string.md │ │ │ └── toml.md │ │ ├── file.md │ │ ├── job.md │ │ ├── logger.md │ │ ├── messletters.md │ │ ├── notify.md │ │ ├── password.md │ │ ├── prompt.md │ │ ├── system.md │ │ ├── transient-state.md │ │ ├── unicode/ │ │ │ ├── box.md │ │ │ └── spinners.md │ │ ├── vim/ │ │ │ ├── buffer.md │ │ │ ├── command.md │ │ │ ├── highlight.md │ │ │ ├── message.md │ │ │ ├── signatures.md │ │ │ └── window.md │ │ ├── vim.md │ │ └── web/ │ │ ├── html.md │ │ ├── http.md │ │ └── xml.md │ ├── api.md │ ├── assets/ │ │ ├── css/ │ │ │ └── main.scss │ │ └── js/ │ │ ├── codeCopy.js │ │ └── respond.js │ ├── blog.md │ ├── cn/ │ │ ├── about.md │ │ ├── api/ │ │ │ ├── cmdlinemenu.md │ │ │ ├── data/ │ │ │ │ ├── dict.md │ │ │ │ ├── list.md │ │ │ │ ├── number.md │ │ │ │ └── string.md │ │ │ ├── file.md │ │ │ ├── job.md │ │ │ ├── notify.md │ │ │ ├── system.md │ │ │ ├── unicode/ │ │ │ │ └── spinners.md │ │ │ └── vim/ │ │ │ ├── command.md │ │ │ ├── highlight.md │ │ │ ├── message.md │ │ │ └── signatures.md │ │ ├── api.md │ │ ├── blog.md │ │ ├── community.md │ │ ├── conventions.md │ │ ├── development/ │ │ │ ├── lua-guide.md │ │ │ └── vim-script.md │ │ ├── development.md │ │ ├── documentation.md │ │ ├── faq.md │ │ ├── feed.xml │ │ ├── following-head.md │ │ ├── index.md │ │ ├── install.cmd │ │ ├── install.sh │ │ ├── layers/ │ │ │ ├── VersionControl.md │ │ │ ├── autocomplete.md │ │ │ ├── chat.md │ │ │ ├── checkers.md │ │ │ ├── chinese.md │ │ │ ├── colorscheme.md │ │ │ ├── core/ │ │ │ │ ├── banner.md │ │ │ │ ├── statusline.md │ │ │ │ └── tabline.md │ │ │ ├── core.md │ │ │ ├── cscope.md │ │ │ ├── ctrlp.md │ │ │ ├── debug.md │ │ │ ├── default.md │ │ │ ├── denite.md │ │ │ ├── edit.md │ │ │ ├── floobits.md │ │ │ ├── foldsearch.md │ │ │ ├── format.md │ │ │ ├── fzf.md │ │ │ ├── git.md │ │ │ ├── github.md │ │ │ ├── gtags.md │ │ │ ├── japanese.md │ │ │ ├── lang/ │ │ │ │ ├── WebAssembly.md │ │ │ │ ├── actionscript.md │ │ │ │ ├── agda.md │ │ │ │ ├── asciidoc.md │ │ │ │ ├── aspectj.md │ │ │ │ ├── assembly.md │ │ │ │ ├── autohotkey.md │ │ │ │ ├── batch.md │ │ │ │ ├── c.md │ │ │ │ ├── chapel.md │ │ │ │ ├── clojure.md │ │ │ │ ├── cmake.md │ │ │ │ ├── coffeescript.md │ │ │ │ ├── crystal.md │ │ │ │ ├── csharp.md │ │ │ │ ├── d.md │ │ │ │ ├── dart.md │ │ │ │ ├── dockerfile.md │ │ │ │ ├── eiffel.md │ │ │ │ ├── elixir.md │ │ │ │ ├── elm.md │ │ │ │ ├── erlang.md │ │ │ │ ├── extra.md │ │ │ │ ├── fennel.md │ │ │ │ ├── fortran.md │ │ │ │ ├── foxpro.md │ │ │ │ ├── fsharp.md │ │ │ │ ├── go.md │ │ │ │ ├── goby.md │ │ │ │ ├── gosu.md │ │ │ │ ├── groovy.md │ │ │ │ ├── hack.md │ │ │ │ ├── haskell.md │ │ │ │ ├── html.md │ │ │ │ ├── hy.md │ │ │ │ ├── idris.md │ │ │ │ ├── io.md │ │ │ │ ├── ipynb.md │ │ │ │ ├── j.md │ │ │ │ ├── janet.md │ │ │ │ ├── java.md │ │ │ │ ├── javascript.md │ │ │ │ ├── julia.md │ │ │ │ ├── kotlin.md │ │ │ │ ├── lasso.md │ │ │ │ ├── latex.md │ │ │ │ ├── lisp.md │ │ │ │ ├── livescript.md │ │ │ │ ├── lua.md │ │ │ │ ├── markdown.md │ │ │ │ ├── matlab.md │ │ │ │ ├── moonscript.md │ │ │ │ ├── nim.md │ │ │ │ ├── ocaml.md │ │ │ │ ├── org.md │ │ │ │ ├── pact.md │ │ │ │ ├── pascal.md │ │ │ │ ├── perl.md │ │ │ │ ├── php.md │ │ │ │ ├── plantuml.md │ │ │ │ ├── pony.md │ │ │ │ ├── povray.md │ │ │ │ ├── powershell.md │ │ │ │ ├── prolog.md │ │ │ │ ├── puppet.md │ │ │ │ ├── purescript.md │ │ │ │ ├── python.md │ │ │ │ ├── r.md │ │ │ │ ├── racket.md │ │ │ │ ├── red.md │ │ │ │ ├── ring.md │ │ │ │ ├── rst.md │ │ │ │ ├── ruby.md │ │ │ │ ├── rust.md │ │ │ │ ├── scala.md │ │ │ │ ├── scheme.md │ │ │ │ ├── sh.md │ │ │ │ ├── slim.md │ │ │ │ ├── sml.md │ │ │ │ ├── swift.md │ │ │ │ ├── tcl.md │ │ │ │ ├── toml.md │ │ │ │ ├── typescript.md │ │ │ │ ├── v.md │ │ │ │ ├── vbnet.md │ │ │ │ ├── verilog.md │ │ │ │ ├── vim.md │ │ │ │ ├── vue.md │ │ │ │ ├── wolfram.md │ │ │ │ ├── xml.md │ │ │ │ └── zig.md │ │ │ ├── language-server-protocol.md │ │ │ ├── leaderf.md │ │ │ ├── shell.md │ │ │ ├── ssh.md │ │ │ ├── sudo.md │ │ │ ├── test.md │ │ │ ├── tmux.md │ │ │ ├── tools/ │ │ │ │ ├── cpicker.md │ │ │ │ ├── dash.md │ │ │ │ └── mpv.md │ │ │ ├── tools.md │ │ │ ├── treesitter.md │ │ │ ├── ui.md │ │ │ ├── unite.md │ │ │ └── xmake.md │ │ ├── layers.md │ │ ├── quick-start-guide/ │ │ │ └── vim-basic.md │ │ ├── quick-start-guide.md │ │ ├── roadmap.md │ │ ├── sitemap.xml │ │ ├── sponsors.md │ │ └── vim-script.md │ ├── community.md │ ├── conventions.md │ ├── development/ │ │ ├── lua-guide.md │ │ └── vim-script.md │ ├── development.md │ ├── documentation.md │ ├── faq.md │ ├── feed.xml │ ├── following-head.md │ ├── index.md │ ├── install.cmd │ ├── install.sh │ ├── layers/ │ │ ├── VersionControl.md │ │ ├── autocomplete.md │ │ ├── chat.md │ │ ├── checkers.md │ │ ├── chinese.md │ │ ├── colorscheme.md │ │ ├── core/ │ │ │ ├── banner.md │ │ │ ├── statusline.md │ │ │ └── tabline.md │ │ ├── core.md │ │ ├── cscope.md │ │ ├── ctrlp.md │ │ ├── ctrlspace.md │ │ ├── debug.md │ │ ├── default.md │ │ ├── denite.md │ │ ├── edit.md │ │ ├── floobits.md │ │ ├── foldsearch.md │ │ ├── format.md │ │ ├── fzf.md │ │ ├── git.md │ │ ├── github.md │ │ ├── gtags.md │ │ ├── japanese.md │ │ ├── lang/ │ │ │ ├── WebAssembly.md │ │ │ ├── actionscript.md │ │ │ ├── agda.md │ │ │ ├── asciidoc.md │ │ │ ├── aspectj.md │ │ │ ├── assembly.md │ │ │ ├── autohotkey.md │ │ │ ├── batch.md │ │ │ ├── c.md │ │ │ ├── chapel.md │ │ │ ├── clojure.md │ │ │ ├── cmake.md │ │ │ ├── coffeescript.md │ │ │ ├── crystal.md │ │ │ ├── csharp.md │ │ │ ├── d.md │ │ │ ├── dart.md │ │ │ ├── dockerfile.md │ │ │ ├── e.md │ │ │ ├── eiffel.md │ │ │ ├── elixir.md │ │ │ ├── elm.md │ │ │ ├── erlang.md │ │ │ ├── extra.md │ │ │ ├── factor.md │ │ │ ├── fennel.md │ │ │ ├── fortran.md │ │ │ ├── foxpro.md │ │ │ ├── fsharp.md │ │ │ ├── go.md │ │ │ ├── goby.md │ │ │ ├── gosu.md │ │ │ ├── graphql.md │ │ │ ├── groovy.md │ │ │ ├── hack.md │ │ │ ├── haskell.md │ │ │ ├── haxe.md │ │ │ ├── html.md │ │ │ ├── hy.md │ │ │ ├── idris.md │ │ │ ├── io.md │ │ │ ├── ipynb.md │ │ │ ├── j.md │ │ │ ├── janet.md │ │ │ ├── java.md │ │ │ ├── javascript.md │ │ │ ├── json.md │ │ │ ├── jsonnet.md │ │ │ ├── julia.md │ │ │ ├── kotlin.md │ │ │ ├── lasso.md │ │ │ ├── latex.md │ │ │ ├── lisp.md │ │ │ ├── livescript.md │ │ │ ├── lua.md │ │ │ ├── markdown.md │ │ │ ├── matlab.md │ │ │ ├── moonscript.md │ │ │ ├── nim.md │ │ │ ├── nix.md │ │ │ ├── ocaml.md │ │ │ ├── org.md │ │ │ ├── pact.md │ │ │ ├── pascal.md │ │ │ ├── perl.md │ │ │ ├── php.md │ │ │ ├── plantuml.md │ │ │ ├── pony.md │ │ │ ├── postscript.md │ │ │ ├── povray.md │ │ │ ├── powershell.md │ │ │ ├── processing.md │ │ │ ├── prolog.md │ │ │ ├── puppet.md │ │ │ ├── purescript.md │ │ │ ├── python.md │ │ │ ├── r.md │ │ │ ├── racket.md │ │ │ ├── reason.md │ │ │ ├── red.md │ │ │ ├── rescript.md │ │ │ ├── ring.md │ │ │ ├── rst.md │ │ │ ├── ruby.md │ │ │ ├── rust.md │ │ │ ├── scala.md │ │ │ ├── scheme.md │ │ │ ├── sh.md │ │ │ ├── slim.md │ │ │ ├── smalltalk.md │ │ │ ├── sml.md │ │ │ ├── swift.md │ │ │ ├── tcl.md │ │ │ ├── teal.md │ │ │ ├── toml.md │ │ │ ├── typescript.md │ │ │ ├── v.md │ │ │ ├── vbnet.md │ │ │ ├── verilog.md │ │ │ ├── vim.md │ │ │ ├── vue.md │ │ │ ├── wolfram.md │ │ │ ├── xml.md │ │ │ └── zig.md │ │ ├── language-server-protocol.md │ │ ├── leaderf.md │ │ ├── mail.md │ │ ├── shell.md │ │ ├── ssh.md │ │ ├── sudo.md │ │ ├── telescope.md │ │ ├── test.md │ │ ├── tmux.md │ │ ├── tools/ │ │ │ ├── cpicker.md │ │ │ ├── dash.md │ │ │ ├── mpv.md │ │ │ └── zeal.md │ │ ├── tools.md │ │ ├── treesitter.md │ │ ├── ui.md │ │ ├── unite.md │ │ ├── xmake.md │ │ └── zettelkasten.md │ ├── layers.md │ ├── quick-start-guide/ │ │ └── vim-basic.md │ ├── quick-start-guide.md │ ├── roadmap.md │ ├── robots.txt │ ├── sitemap.xml │ └── sponsors.md ├── ftplugin/ │ ├── SpaceVimLayerManager.vim │ ├── SpaceVimPlugManager.vim │ └── SpaceVimTabsManager.vim ├── ginit.vim ├── init.vim ├── lua/ │ ├── config/ │ │ ├── neo-tree.lua │ │ └── nvim-cmp.lua │ ├── easing.lua │ ├── spacevim/ │ │ ├── api/ │ │ │ ├── cmdlinemenu.lua │ │ │ ├── color.lua │ │ │ ├── data/ │ │ │ │ ├── dict.lua │ │ │ │ ├── json.lua │ │ │ │ ├── list.lua │ │ │ │ ├── string.lua │ │ │ │ └── toml.lua │ │ │ ├── file.lua │ │ │ ├── iconv/ │ │ │ │ └── codecs/ │ │ │ │ ├── cp932.lua │ │ │ │ ├── cp932_back.lua │ │ │ │ ├── cp932_next.lua │ │ │ │ ├── cp932_previous.lua │ │ │ │ ├── cp936.lua │ │ │ │ ├── cp936_back.lua │ │ │ │ ├── cp936_next.lua │ │ │ │ ├── cp936_previous.lua │ │ │ │ ├── cp949.lua │ │ │ │ ├── cp949_back.lua │ │ │ │ ├── cp949_next.lua │ │ │ │ ├── cp949_previous.lua │ │ │ │ ├── cp950.lua │ │ │ │ ├── cp950_back.lua │ │ │ │ ├── cp950_next.lua │ │ │ │ ├── cp950_previous.lua │ │ │ │ ├── euc_jp.lua │ │ │ │ ├── euc_jp_back.lua │ │ │ │ ├── euc_jp_next.lua │ │ │ │ └── euc_jp_previous.lua │ │ │ ├── iconv.lua │ │ │ ├── job.lua │ │ │ ├── language.lua │ │ │ ├── logger.lua │ │ │ ├── messletters.lua │ │ │ ├── neojob.lua │ │ │ ├── neovim/ │ │ │ │ └── floating.lua │ │ │ ├── notify.lua │ │ │ ├── password.lua │ │ │ ├── prompt.lua │ │ │ ├── system.lua │ │ │ ├── time.lua │ │ │ ├── unicode/ │ │ │ │ └── spinners.lua │ │ │ ├── vim/ │ │ │ │ ├── argv.lua │ │ │ │ ├── buffer.lua │ │ │ │ ├── command.lua │ │ │ │ ├── compatible.lua │ │ │ │ ├── floating.lua │ │ │ │ ├── highlight.lua │ │ │ │ ├── keys.lua │ │ │ │ ├── option.lua │ │ │ │ ├── regex.lua │ │ │ │ ├── statusline.lua │ │ │ │ └── window.lua │ │ │ └── vim.lua │ │ ├── api.lua │ │ ├── autocmds.lua │ │ ├── command.lua │ │ ├── default.lua │ │ ├── diagnostic.lua │ │ ├── layer/ │ │ │ ├── core/ │ │ │ │ └── tabline.lua │ │ │ ├── core.lua │ │ │ └── lang/ │ │ │ └── java.lua │ │ ├── layer.lua │ │ ├── logger.lua │ │ ├── lsp.lua │ │ ├── opt.lua │ │ ├── plugin/ │ │ │ ├── a.lua │ │ │ ├── autosave.lua │ │ │ ├── flygrep.lua │ │ │ ├── guide.lua │ │ │ ├── hop.lua │ │ │ ├── iedit.lua │ │ │ ├── logevents.lua │ │ │ ├── mkdir.lua │ │ │ ├── pastebin.lua │ │ │ ├── projectmanager.lua │ │ │ ├── record-key.lua │ │ │ ├── repl.lua │ │ │ ├── runner.lua │ │ │ ├── scrollbar.lua │ │ │ ├── search.lua │ │ │ ├── searcher.lua │ │ │ ├── statusline.lua │ │ │ ├── tabline.lua │ │ │ ├── tasks.lua │ │ │ ├── todo.lua │ │ │ ├── tomlprew.lua │ │ │ └── windisk.lua │ │ ├── plugins.lua │ │ └── treesitter.lua │ ├── spacevim.lua │ └── telescope/ │ └── _extensions/ │ ├── bookmarks.lua │ ├── messages.lua │ ├── neomru.lua │ ├── neoyank.lua │ ├── project.lua │ ├── scriptnames.lua │ └── task.lua ├── mode/ │ ├── basic.toml │ └── dark_powered.toml ├── syntax/ │ ├── HelpDescribe.vim │ ├── SpaceVimFindArgv.vim │ ├── SpaceVimFlyGrep.vim │ ├── SpaceVimGitLogPopup.vim │ ├── SpaceVimGitRemoteManager.vim │ ├── SpaceVimLayerManager.vim │ ├── SpaceVimLog.vim │ ├── SpaceVimPlugManager.vim │ ├── SpaceVimQuickFix.vim │ ├── SpaceVimREPL.vim │ ├── SpaceVimRunner.vim │ ├── SpaceVimTabsManager.vim │ ├── SpaceVimTasksInfo.vim │ ├── SpaceVimTodoManager.vim │ └── leaderGuide.vim ├── test/ │ ├── api/ │ │ ├── cmdlinemenu.vader │ │ ├── color.vader │ │ ├── data/ │ │ │ ├── base64.vader │ │ │ ├── chinese_str.vader │ │ │ ├── dict.vader │ │ │ ├── json.vader │ │ │ ├── list.vader │ │ │ ├── number.vader │ │ │ ├── string.vader │ │ │ └── toml.vader │ │ ├── file.vader │ │ ├── iconv.vader │ │ ├── job.vader │ │ ├── logger.vader │ │ ├── system.vader │ │ ├── unicode/ │ │ │ ├── box.vader │ │ │ ├── icon.vader │ │ │ └── tree.vader │ │ ├── vim/ │ │ │ ├── buffer.vader │ │ │ ├── command.vader │ │ │ ├── highlight.vader │ │ │ ├── key.vader │ │ │ └── regex.vader │ │ ├── vim.vader │ │ └── web/ │ │ ├── html.vader │ │ └── http.vader │ ├── color/ │ │ ├── SpaceVim.vader │ │ └── theme.vader │ ├── config/ │ │ ├── LeaderF.vader │ │ ├── ag.vader │ │ ├── ctrlp.vader │ │ ├── goyo.vader │ │ ├── java_getset.vader │ │ ├── javacomplete.vader │ │ ├── neomake.vader │ │ ├── nerdtree.vader │ │ ├── openbrowser.vader │ │ └── vim-ref.vader │ ├── layer.vader │ ├── lua/ │ │ ├── api/ │ │ │ ├── data/ │ │ │ │ ├── dict.vader │ │ │ │ ├── json.vader │ │ │ │ └── list.vader │ │ │ ├── file.vader │ │ │ ├── system.vader │ │ │ └── vim/ │ │ │ ├── argv.vader │ │ │ └── keys.vader │ │ ├── data/ │ │ │ ├── string.vader │ │ │ └── toml.vader │ │ ├── layer/ │ │ │ └── lang/ │ │ │ └── java.vader │ │ ├── logger.vader │ │ └── plugin/ │ │ └── a.vader │ ├── mode.vader │ ├── plugin/ │ │ ├── a.vader │ │ ├── flygrep.vader │ │ ├── guide.vader │ │ ├── help.vader │ │ ├── highlight.vader │ │ ├── iedit.vader │ │ ├── mkdir.vader │ │ ├── projectmanager.vader │ │ ├── quickfix.vader │ │ ├── runner.vader │ │ ├── tabmanager.vader │ │ ├── tasks.vader │ │ └── todo.vader │ ├── syntax.vader │ └── vimrc └── vimrc ================================================ FILE CONTENTS ================================================ ================================================ FILE: .SpaceVim.d/README.md ================================================ # SpaceVim development This directory was used for spacevim development. ## Commands - `:IssueEdit`: edit specific issue, for example `:IssueEdit 1988` - `:PullCreate`: Create new pull request based on current branch. - `:PullMerge`: merge specific pull request. ## Key bindings - `SPC a r`: release spacevim - `SPC a w`: open spacevim local website - `SPC a t`: close spacevim local website ================================================ FILE: .SpaceVim.d/ReleasePostCheckList.md ================================================ ## Release-Post check list ### Version update from `v1.0.0` to `v1.1.0-dev` - [ ] vim script version: `autoload/SpaceVim.vim` - [ ] bash script: `docs/install.sh` - [ ] bash script: `docs/cn/install.sh` - [ ] batch script: `docs/install.cmd` - [ ] batch script: `docs/cn/install.cmd` ================================================ FILE: .SpaceVim.d/ReleasePreCheckList.md ================================================ ## Pre-release check list ### Version update from `v1.0.0-dev` to `v1.0.0` - [ ] vim script version: `autoload/SpaceVim.vim` - [ ] bash script: `docs/install.sh` - [ ] bash script: `docs/cn/install.sh` - [ ] batch script: `docs/install.cmd` - [ ] batch script: `docs/cn/install.cmd` ### Website && Wiki - [ ] Home page - [ ] Readme of github and gitee - [ ] roadmap - [ ] screenshort ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/api/dev/autodoc.vim ================================================ let s:self = {} let s:self.begin = '' let s:self.end = '' let s:self.content_func = '' let s:self.autoformat = 0 function! s:self._find_position() abort let start = search(self.begin,'bwnc') let end = search(self.end,'bnwc') return sort([start, end], 'n') endfunction function! s:self.update(...) abort let [start, end] = self._find_position() if start != 0 && end != 0 if end - start > 1 exe (start + 1) . ',' . (end - 1) . 'delete' endif call append(start, call(self.content_func, a:000)) if self.autoformat silent! Neoformat endif endif endfunction function! SpaceVim#api#dev#autodoc#get() abort return deepcopy(s:self) endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/Achievements.vim ================================================ "============================================================================= " Achievements.vim --- Script for generate achievements " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! s:generate_content() abort let content = ['## Achievements', ''] let content += s:issues_ac() let content += s:stargazers_ac() return content endfunction function! s:find_position() abort let start = search('^$','bwnc') let end = search('^$','bnwc') return sort([start, end]) endfunction function! s:issues_ac() abort let line = ['### issues'] call add(line, '') call add(line, 'Achievements | Account') call add(line, '----- | -----') let acc = [100, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000] for id in acc let issue = github#api#issues#Get_issue('SpaceVim', 'SpaceVim', id) if has_key(issue, 'id') let is_pr = has_key(issue, 'pull_request') call add(line, '[' . id . 'th issue(' . \ (is_pr ? 'PR' : 'issue') . \ ')](https://github.com/SpaceVim/SpaceVim/issues/' . id . ') | [' . issue.user.login \ . '](https://github.com/' . issue.user.login . ')' \ ) else break endif endfor if line[-1] !=# '' let line += [''] endif return line endfunction function! s:stargazers_ac() abort let line = ['### Stars, forks and watchers'] call add(line, '') call add(line, 'Achievements | Account') call add(line, '----- | -----') let stc = [1, 100, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000] for id in stc if id == 1 let user = github#api#activity#List_stargazers('SpaceVim','SpaceVim')[0] call add(line, 'First stargazers | [' . user.login . '](https://github.com/' . user.login . ')') else let index = id % 30 if index == 0 let page = id/30 let index = 30 else let page = id/30 + 1 endif let users = github#api#activity#List_stargazers('SpaceVim','SpaceVim', page) if type(users) == type([]) && len(users) >= index let user = users[index - 1] call add(line, id . 'th stargazers | [' . user.login . '](https://github.com/' . user.login . ')') endif endif endfor if line[-1] !=# '' let line += [''] endif return line endfunction function! SpaceVim#dev#Achievements#update() abort let [start, end] = s:find_position() if start != 0 && end != 0 if end - start > 1 exe (start + 1) . ',' . (end - 1) . 'delete' endif call append(start, s:generate_content()) endif endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/api.vim ================================================ "============================================================================= " api.vim --- Develop script for update api index " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:FILE = SpaceVim#api#import('file') let s:SYS = SpaceVim#api#import('system') let s:CMP = SpaceVim#api#import('vim#compatible') let s:AUTODOC = SpaceVim#api#import('dev#autodoc') let s:AUTODOC.autoformat = 1 function! SpaceVim#dev#api#update() abort let s:AUTODOC.begin = '^$' let s:AUTODOC.end = '^$' let s:AUTODOC.content_func = function('s:generate_content') call s:AUTODOC.update() endfunction function! SpaceVim#dev#api#updateCn() abort let s:AUTODOC.begin = '^$' let s:AUTODOC.end = '^$' let s:AUTODOC.content_func = function('s:generate_content_cn') call s:AUTODOC.update() endfunction function! s:generate_content_cn() abort let content = ['', '## 可用 APIs', ''] let content += s:api_list_cn() let content += [''] return content endfunction function! s:generate_content() abort let content = ['', '## Available APIs', '', 'Here is the list of all available APIs, and welcome to contribute to SpaceVim.', ''] let content += s:api_list() let content += [''] return content endfunction function! s:api_list() abort let layers = s:CMP.globpath('~/.SpaceVim/', 'docs/api/**/*.md') let list = [ \ '| Name | Description |', \ '| ---------- | ------------ |' \ ] if s:SYS.isWindows let pattern = join(['', 'docs', 'api', ''], s:FILE.separator . s:FILE.separator) else let pattern = join(['', 'docs', 'api', ''], s:FILE.separator) endif for layer in layers let name = split(layer, pattern)[1][:-4] . s:FILE.separator let url = join(split(name, s:FILE.separator), '/') . '/' let content = readfile(layer) if len(content) > 3 let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | ' . content[2][14:-2] . ' | ' else let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | can not find Description |' endif call add(list, line) endfor return list endfunction function! s:api_list_cn() abort let layers = s:CMP.globpath('~/.SpaceVim/', 'docs/cn/api/**/*.md') let list = [ \ '| 名称 | 描述 |', \ '| ---------- | ------------ |' \ ] if s:SYS.isWindows let pattern = join(['', 'docs', 'cn', 'api', ''], s:FILE.separator . s:FILE.separator) else let pattern = join(['', 'docs', 'cn', 'api', ''], s:FILE.separator) endif for layer in layers let name = split(layer, pattern)[1][:-4] . s:FILE.separator let url = join(split(name, s:FILE.separator), '/') . '/' let content = readfile(layer) if len(content) > 3 let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | ' . content[2][14:-2] . ' | ' else let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | can not find Description |' endif call add(list, line) endfor return list endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/codeowner.vim ================================================ let s:FILE = SpaceVim#api#import('file') func! s:paser(file) abort let config = readfile(a:file, '') let rst = {} for line in config if line !~# '^#' && !empty(line) let file = split(line)[0] let owners = split(line)[1:] call extend(rst, {file : owners}) endif endfor return rst endf let s:owners = s:paser('.github/CODEOWNERS') let g:owners = s:owners func! SpaceVim#dev#codeowner#open_profile() abort let url = 'https://github.com/' let owners = get(s:owners, s:FILE.unify_path(expand('%'), ':.'), []) if !empty(owners) let url = url . owners[0][1:] exe 'OpenBrowser ' . url else echohl WarnMsg echon 'can not find owner for current file' echohl None endif endf ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/followHEAD.vim ================================================ "============================================================================= " followHEAD.vim --- generate follow HEAD page " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:AUTODOC = SpaceVim#api#import('dev#autodoc') let s:AUTODOC.begin = '^$' let s:AUTODOC.end = '^$' function! s:generate_content(lang) abort if a:lang == 'cn' let features = ['## 新特性', ''] let bugfixs = ['', '## 问题修复', ''] let docs = ['', '## 文档更新', ''] let tests = ['', '## 测试', ''] let others = ['', '## 其他', ''] let breakchanges = ['', '## 非兼容变更'] else let features = ['## New features', ''] let bugfixs = ['', '## Bugfixs', ''] let docs = ['', '## Docs', ''] let tests = ['', '## Tests', ''] let others = ['', '## Others', ''] let breakchanges = ['', '## Breakchanges'] endif let logs = systemlist('git log --oneline --pretty="- %s" 2a2deac2..HEAD') for l in logs if l =~ '^- [^(]*([^)]*)!:' call add(breakchanges, l) elseif l =~ '^- feat(' || l =~ '^- perf(' call add(features, l) elseif l =~ '^- fix(' call add(bugfixs, l) elseif l =~ '^- docs(' call add(docs, l) elseif l =~ '^- test(' call add(tests, l) else call add(others, l) endif endfor return features + bugfixs + docs + tests + others + breakchanges endfunction let s:AUTODOC.content_func = function('s:generate_content') let s:AUTODOC.autoformat = 1 function! SpaceVim#dev#followHEAD#update(lang) abort call s:AUTODOC.update(a:lang) endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/g.vim ================================================ function! SpaceVim#dev#g#updatedoc() abort let keys = keys(g:_spacevim_mappings_g) let lines = [] for key in keys if key ==# '`' let line = '`` g' . key . ' `` | ' . g:_spacevim_mappings_g[key][1] else let line = '`g' . key . '` | ' . g:_spacevim_mappings_g[key][1] endif call add(lines, line) endfor call append(line('.'), lines) endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/issuemanager.vim ================================================ "============================================================================= " issuemanager.vim --- issue manager for SpaceVim development " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#dev#issuemanager#edit(id) abort let issue = github#api#issues#Get_issue('SpaceVim', 'SpaceVim', a:id) exe 'silent tabnew ++ff=unix ' . tempname() . '/issue_' . a:id . '.md' let content = split(issue.body, "\n") let b:current_issue = issue call setline(1, map(content, "substitute(v:val, ' $', '', 'g')")) augroup spacevim_dev_issuemanager autocmd! autocmd BufWritePost call update_issue() augroup END endfunction function! s:update_issue() abort let issue = get(b:, 'current_issue', {}) if !empty(issue) let new = {'title' : issue.title, \ 'body' : join(getline(1, '$'), "\n")} redraw call inputsave() let username = input('github username:') let password = input('github password:') call inputrestore() let respons = github#api#issues#Edit('SpaceVim', 'SpaceVim', issue.number, username, password, new) normal! : if !empty(respons) && get(respons, 'number', 0) == issue.number echon 'Issue ' . issue.number . ' has been updated!' elseif !empty(respons) let msg = get(respons, 'message', '') echon 'Failed to update issue ' . issue.number . ':' . msg endif endif endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/layers.vim ================================================ "============================================================================= " layers.vim --- Develop script for update layer index " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:FILE = SpaceVim#api#import('file') let s:SYS = SpaceVim#api#import('system') let s:CMP = SpaceVim#api#import('vim#compatible') let s:AUTODOC = SpaceVim#api#import('dev#autodoc') let s:AUTODOC.autoformat = 1 function! SpaceVim#dev#layers#update() abort let s:AUTODOC.begin = '^$' let s:AUTODOC.end = '^$' let s:AUTODOC.content_func = function('s:generate_content') call s:AUTODOC.update() endfunction function! SpaceVim#dev#layers#updateCn() abort let s:AUTODOC.begin = '^$' let s:AUTODOC.end = '^$' let s:AUTODOC.content_func = function('s:generate_content_cn') call s:AUTODOC.update() endfunction function! SpaceVim#dev#layers#updatedocker() abort let [start, end] = s:find_docker_position() if start != 0 && end != 0 if end - start > 1 exe (start + 1) . ',' . (end - 1) . 'delete' endif call append(start, s:generate_docker_content()) endif endfunction function! s:find_position() abort let start = search('^$','bwnc') let end = search('^$','bnwc') return sort([start, end], 'n') endfunction function! s:find_docker_position() abort let start = search('^## -- SpaceVim layer list start$','bwnc') let end = search('^## -- SpaceVim layer list end$','bnwc') return sort([start, end], 'n') endfunction function! s:find_position_cn() abort let start = search('^$','bwnc') let end = search('^$','bnwc') return sort([start, end], 'n') endfunction function! s:generate_content() abort let content = ['', '## Available layers', ''] let content += s:layer_list() let content += [''] return content endfunction function! s:generate_content_cn() abort let content = ['', '## 可用模块', ''] let content += s:layer_list_cn() let content += [''] return content endfunction function! s:generate_docker_content() abort let layers = s:CMP.globpath('~/.SpaceVim/', 'docs/cn/layers/**/*.md') let list = [ \ ] call remove(layers, index(layers, '/home/wsdjeg/.SpaceVim/docs/cn/layers/index.md')) for layer in layers let name = split(layer, '/docs/cn/layers/')[1][:-4] . '/' if name ==# 'language-server-protocol/' let name = 'lsp' endif let name = join(split(name, '/'), '#') let snippet = ['[[layers]]', ' name = "' . name . '"', ''] let list += snippet endfor return list endfunction function! s:layer_list() abort let layers = s:CMP.globpath('~/.SpaceVim/', 'docs/layers/**/*.md') let list = [ \ '| Name | Description |', \ '| ---------- | ------------ |' \ ] if s:SYS.isWindows let pattern = join(['', 'docs', 'layers', ''], s:FILE.separator . s:FILE.separator) else let pattern = join(['', 'docs', 'layers', ''], s:FILE.separator) endif for layer in layers let name = split(layer, pattern)[1][:-4] . s:FILE.separator let url = join(split(name, s:FILE.separator), '/') . '/' let content = readfile(layer) if len(content) > 3 let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | ' . content[2][14:-2] . ' | ' else let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | can not find Description |' endif call add(list, line) endfor return list endfunction function! s:layer_list_cn() abort let layers = s:CMP.globpath('~/.SpaceVim/', 'docs/cn/layers/**/*.md') let list = [ \ '| 名称 | 描述 |', \ '| ---------- | ------------ |' \ ] if s:SYS.isWindows let pattern = join(['', 'docs', 'cn', 'layers', ''], s:FILE.separator . s:FILE.separator) else let pattern = join(['', 'docs', 'cn', 'layers', ''], s:FILE.separator) endif for layer in layers let name = split(layer, pattern)[1][:-4] . s:FILE.separator let url = join(split(name, s:FILE.separator), '/') . '/' let content = readfile(layer) if len(content) > 3 let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | ' . content[2][14:-2] . ' | ' else let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | can not find Description |' endif call add(list, line) endfor return list endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/profile.vim ================================================ "============================================================================= " profile.vim --- Profile startuptime " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:CPT = SpaceVim#api#import('vim#compatible') let s:plugin_hints = [ \ 'autoload', \ 'colors', \ 'compiler', \ 'filetype.vim', \ 'ftdetect', \ 'ftplugin', \ 'indent', \ 'keymap', \ 'plugin', \ 'rplugin', \ 'syntax', \ ] let s:levels = [ \ 'Flawless Victory', \ 'Outstanding', \ 'Fatality', \ 'Toasty', \ 'Impressive', \ 'Well Done', \ 'Test your might', \ ] function! s:plugin_sort(a, b) abort return len(a:b[0]) - len(a:a[0]) endfunction function! s:result_sort(a, b) abort if a:a[1] < a:b[1] return 1 elseif a:a[1] > a:b[1] return -1 endif return 0 endfunction function! s:get_vimrc() abort if exists('$MYVIMRC') && !empty($MYVIMRC) return expand($MYVIMRC) endif return expand(matchstr(s:CPT.execute('silent scriptnames'), '1: \zs\f\+')) endfunction function! s:init_plugins(vimrc) abort let vimrc_path = substitute(fnamemodify(a:vimrc, ':p:h') . '/', \ '//', '/', 'g') let default_vimrc_path = fnamemodify('~/.vim', ':p') let runtime_path = fnamemodify(expand('$VIMRUNTIME'), ':p') let nvim_config = substitute((exists('$XDG_CONFIG_HOME') \ ? expand('$XDG_CONFIG_HOME') : fnamemodify('~/.config', ':p')) \ . '/nvim/', '//', '/', 'g') let home = fnamemodify('~', ':p') let seen = [vimrc_path, default_vimrc_path, runtime_path, nvim_config] let s:plugins = [] if exists('g:plugs') for [plugin, info] in items(g:plugs) if !has_key(info, 'dir') || index(seen, info.dir) != -1 continue endif call add(s:plugins, [info.dir, plugin]) call add(seen, info.dir) endfor elseif exists('g:dein#_plugins') for [plugin, info] in items(g:dein#_plugins) if !has_key(info, 'rtp') || index(seen, info.rtp) != -1 continue endif let dir = fnamemodify(info.rtp, ':p') call add(s:plugins, [dir, plugin]) call add(seen, dir) endfor endif for path in split(&runtimepath, ',') let path = fnamemodify(path, ':p') if path =~# '/$' let path = path[:-2] endif if path =~# '/after$' let path = fnamemodify(path, ':h') if path =~# '/$' let path = path[:-2] endif endif if isdirectory(path) && index(seen, path . '/') == -1 for hint in s:plugin_hints let hint_path = path . '/' . hint if isdirectory(hint_path) || filereadable(hint_path) let name = fnamemodify(path, ':t') call add(s:plugins, [path . '/', name]) call add(seen, path . '/') break endif endfor endif endfor call sort(s:plugins, function('s:plugin_sort')) call add(s:plugins, [runtime_path, '[runtime]']) if vimrc_path != home call add(s:plugins, [vimrc_path, '[vimrc]']) endif if vimrc_path != default_vimrc_path && isdirectory(default_vimrc_path) call add(s:plugins, [default_vimrc_path, '[vimrc]']) endif if isdirectory(nvim_config) call add(s:plugins, [nvim_config, '[vimrc]']) endif endfunction function! s:get_plugin(fname) abort for [path, name] in s:plugins if len(path) < len(a:fname) && a:fname[:len(path)-1] == path return name endif endfor return '[unknown]' endfunction function! s:get_samples(cmd, count, tmp) abort let c = 0 let phase_order = [] let phases = {'startup': {'_files': {}, '_time': 0}} let totals = {} let total_time = 0 let logs = [] while c < a:count if getchar(0) == 27 echomsg printf('Stopped after %d samples', c) break endif let c += 1 redraw echo printf('Sample %d/%d', c, a:count) call system(a:cmd) if !filereadable(a:tmp) echohl ErrorMsg echo 'Profile log wasn''t created' echohl None break endif let phase = 'startup' let log = readfile(a:tmp) call add(logs, log) for line in log if line =~# '^\%(\d\+\.\d\+\s*\)\{2}:' if c == 1 call add(phase_order, phase) endif " call add(phases, {'phase': phase, 'times': cur_phase}) " let cur_phase = {} let phase = matchstr(line, '\d\+\.\d\+: \zs.*') if !has_key(phases, phase) let phases[phase] = {'_files': {}, '_time': 0} endif elseif line =~# '^\%(\d\+\.\d\+\s*\)\{3}: sourcing ' let [time, fname] = split(matchstr(line, '\d\+\.\d\+: .*'), ':\s*sourcing\s*') let plugin = s:get_plugin(fname) if !has_key(phases[phase], plugin) let phases[phase][plugin] = 0 let phases[phase]['_files'][plugin] = {} endif if !has_key(phases[phase]['_files'][plugin], fname) let phases[phase]['_files'][plugin][fname] = 0 endif if !has_key(totals, plugin) let totals[plugin] = 0 endif let t = str2float(time) let phases[phase][plugin] += t let phases[phase]['_time'] += t let phases[phase]['_files'][plugin][fname] += t let totals[plugin] += t let total_time += t endif endfor call delete(a:tmp) endwhile for phase in keys(phases) for plugin in keys(phases[phase]) if plugin != '_files' let phases[phase][plugin] = phases[phase][plugin] / c else for fplugin in keys(phases[phase][plugin]) for fname in keys(phases[phase][plugin][fplugin]) let phases[phase][plugin][fplugin][fname] = phases[phase][plugin][fplugin][fname] / c endfor endfor endif endfor endfor for plugin in keys(totals) let totals[plugin] = totals[plugin] / c endfor let total_time = total_time / c return [total_time, totals, phase_order, phases, logs] endfunction function! SpaceVim#dev#profile#run(...) let sample_count = 10 let vimrc = s:get_vimrc() let extra_args = [] for arg in a:000 if arg == '--' call add(extra_args, '') elseif !empty(extra_args) call add(extra_args, arg) elseif arg =~# '\d\+' let sample_count = str2nr(arg) elseif arg =~# '\f\+' && filereadable(expand(arg)) let vimrc = expand(arg) endif endfor if a:0 && type(a:1) == type(0) && a:1 > 0 let sample_count = a:1 endif call s:init_plugins(vimrc) if exists('v:progpath') && !empty(v:progpath) && executable(v:progpath) let exe = v:progpath else let exe = has('nvim') ? 'nvim' : 'vim' if has('win32') let exe .= '.exe' endif endif let tmp = tempname() let wintmp = '' let quiet_arg = has('nvim') ? '--headless' : '--not-a-term' let args = ' -i NONE --startuptime ' . tmp . ' +qa!' if !empty(vimrc) let args = ' -u ' . vimrc . args endif if !empty(extra_args) let args .= ' ' . join(extra_args, ' ') endif call system(exe . ' ' . quiet_arg . ' +qa!') if v:shell_error " Use `script` so Vim doesn't issue a delay warning if has('macunix') let cmd = 'script -q /dev/null ' . exe . args elseif has('win32') " Just hope for the best let wintmp = tempname() let cmd = exe . args . ' >' . wintmp .' 2>&1' else let cmd = 'script -q -c "' . exe . args . '" /dev/null' endif else let cmd = exe . ' ' . quiet_arg . args endif echomsg 'Sampling with command:' cmd let [total_time, totals, phase_order, \ phases, logs] = s:get_samples(cmd, sample_count, tmp) let total_samples = len(logs) if !empty(wintmp) && filereadable(wintmp) call delete(wintmp) endif let level_time = 1000 / (len(s:levels) - 1) let l = float2nr(floor(min([float2nr(total_time), 1000]) / level_time)) let level = s:levels[l] let lines = [printf('Total Time: %8.3f -- %s', total_time, level), ''] let slowest = sort(items(totals), function('s:result_sort'))[:9] let width = max(map(copy(slowest), 'len(v:val[0])')) let lines += ['', printf('Slowest %d plugins (out of %d)~', len(slowest), len(totals))] for [plugin, time] in slowest call add(lines, printf("%*s\t%-8.3f", width, plugin, time)) endfor let lines += ['', 'Phase Detail:~', ''] for phase in phase_order let item = phases[phase] let files = remove(item, '_files') let phase_total = remove(item, '_time') if empty(item) continue endif let lines += [printf('%s (%0.3f)~', phase, phase_total)] for [plugin, time] in sort(items(item), function('s:result_sort')) let lines += [printf("%-8.3f %s >", time, plugin)] for [fname, time] in sort(items(files[plugin]), function('s:result_sort')) let lines += [printf("\t%-8.3f %s", time, fname)] endfor let lines += ['<'] endfor let lines += [''] endfor let banner_line = repeat('=', 34) let lines += ['', printf('%s FULL LOGS %s', banner_line, banner_line), ''] let i = 0 for log in logs let i += 1 let lines += [printf('Log %d/%d >', i, total_samples)] let l = 0 for line in log if line !~# '^\s*$' let log = log[l :] break endif let l += 1 endfor let lines += map(log, '" " . v:val') + ['<'] endfor enew silent %put=lines call cursor(1, 1) silent delete _ set buftype=nofile syntax=help foldmethod=marker foldmarker=>,< nomodified silent file startup-log.txt normal! zM endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/pull.vim ================================================ function! SpaceVim#dev#pull#create(branch) abort let title = input('title:') call inputsave() let username = input('github username:') let password = input('github password:') call inputrestore() let pull = { \ 'title' : title, \ 'head' : 'wsdjeg:' . a:branch, \ 'base' : 'master' \ } let respons = github#api#pulls#create('SpaceVim', 'SpaceVim', username, password, pull) normal! : if !empty(respons) && get(respons, 'number', 0) > 0 echom 'Pull request #' . respons.number . ' has been created!' elseif !empty(respons) let msg = get(respons, 'message', '') echon 'Failed to create pull request:' . msg endif endfunction function! SpaceVim#dev#pull#merge(id) abort let commit_title = input('commit title:') call inputsave() let username = input('github username:') let password = input('github password:') call inputrestore() let commit = { \ 'commit_title' : commit_title, \ 'merge_method' : 'squash' \ } let respons = github#api#pulls#Merge('SpaceVim', 'SpaceVim', a:id, commit, username, password) normal! : if !empty(respons) && has_key(respons, 'sha') echom 'Pull request #' . a:id . ' has been merged!' elseif !empty(respons) let msg = get(respons, 'message', '') echon 'Failed to merge pull request ' . a:id . ':' . msg endif endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/reddit.vim ================================================ let s:api = '/api/site_admin' function! SpaceVim#dev#reddit#site_admin() abort endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/releases.vim ================================================ "============================================================================= " releases.vim --- release script for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:log_pretty = 'tformat:%h%- %s' function! s:get_logs() abort let cmd = ['git', 'log', '--graph', '--date=relative', '--pretty=' . s:log_pretty] + ['v1.8.0..HEAD'] return systemlist(cmd) endfunction function! Tget() abort return s:get_logs() endfunction function! s:body() abort return 'SpaceVim development (pre-release:' . g:spacevim_version . ') build.' endfunction function! SpaceVim#dev#releases#open() abort let username = input('github username:') let password = input('github password:') let is_dev = g:spacevim_version =~# 'dev' let releases = { \ 'tag_name': (is_dev ? 'nightly' : g:spacevim_version), \ 'target_commitish': 'master', \ 'name': (is_dev ? 'nightly' : 'SpaceVim v' . g:spacevim_version), \ 'body': (is_dev ? s:body() : SpaceVim#dev#releases#content()), \ 'draft': v:false, \ 'prerelease': (is_dev ? v:true : v:false) \ } let response = github#api#repos#releases#Create('SpaceVim', 'SpaceVim', \ username, password, releases) if !empty(response) echomsg 'releases successed! ' . response.url else echom 'releases failed!' endif endfunction function! SpaceVim#dev#releases#content() abort let md = [ \ '### SpaceVim release ' . g:spacevim_version \ ] let md = md + SpaceVim#dev#releases#parser_prs(s:get_logs(), 'en') return join(md, "\n") endfunction function! SpaceVim#dev#releases#parser_prs(...) abort let is_cn = get(a:000, 0, '') ==# 'cn' let feat = [] let fix = [] let docs = [] let doc = [] let style = [] let refactor = [] let pref = [] let test = [] let build = [] let ci = [] let chore = [] let revert = [] for log in s:get_logs() let type = matchstr(log, '^\*\s\+\S*\s\zs[a-z]*') try exe printf('call add(%s, "%s")', type, log) catch endtry endfor let md = [] call add(md, is_cn ? '#### 新特性' : '#### New Features') let md = md + feat call add(md, is_cn ? '#### 问题修复' : '#### Bug Fixs') let md = md + fix " " - if !empty(adds) " - call add(md, '') " - call add(md, '') " - call extend(md, adds) " - call add(md, '') " - endif " - if !empty(changes) " - call add(md, '') " - call add(md, is_cn ? '#### 改变' : '#### Feature Changes') " - call add(md, '') " - call extend(md, changes) " - call add(md, '') " - endif " - if !empty(fixs) " - call add(md, '') " - call add(md, '') " - call extend(md, fixs) " - call add(md, '') " - endif " - if !empty(others) " - call add(md, '') " - call add(md, is_cn ? '#### 未知' : '#### Unmarked PRs') " - call add(md, '') " - call extend(md, others) " - call add(md, '') " - endif return md endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/roadmap.vim ================================================ "============================================================================= " roadmap.vim --- genrate roadmap completed items " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:AUTODOC = SpaceVim#api#import('dev#autodoc') function! s:get_milestones() abort let milestones = github#api#issues#ListAllMilestones('SpaceVim', 'SpaceVim', 'closed', 'due_on', 'asc') let line = [] for milestone in milestones call add(line, '### [' . milestone.title . '](' . milestone.html_url . ')' ) call add(line, '') if !empty(get(milestone, 'description', '')) let line += split(milestone.description, "\n") call add(line, '') endif call add(line, 'release note: [' . milestone.title . '](http://spacevim.org/SpaceVim-release-' . milestone.title . '/)' ) call add(line, '') endfor if line[-1] !=# '' let line += [''] endif return line endfunction function! s:generate_content() abort let content = ['## Completed', \ '' \ ] let content += s:get_milestones() return content endfunction function! s:get_milestones_cn() abort let milestones = github#api#issues#ListAllMilestones('SpaceVim', 'SpaceVim', 'closed', 'due_on', 'asc') let line = [] for milestone in milestones call add(line, '### [' . milestone.title . '](' . milestone.html_url . ')' ) call add(line, '') if !empty(get(milestone, 'description', '')) let line += split(milestone.description, "\n") call add(line, '') endif call add(line, 'release note: [' . milestone.title . '](http://spacevim.org/SpaceVim-release-' . milestone.title . '/)' ) call add(line, '') endfor if line[-1] !=# '' let line += [''] endif return line endfunction function! s:generate_content_cn() abort let content = ['## 已完成', \ '' \ ] let content += s:get_milestones_cn() return content endfunction function! SpaceVim#dev#roadmap#updateCompletedItems(lang) abort let s:AUTODOC.begin = '^$' let s:AUTODOC.end = '^$' if a:lang ==# 'cn' let s:AUTODOC.content_func = function('s:generate_content_cn') else let s:AUTODOC.content_func = function('s:generate_content') endif let s:AUTODOC.autoformat = 1 call s:AUTODOC.update() endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/send_to_channel.vim ================================================ let s:username = 'wsdjeg' let s:gateway = 'SpaceVim-cn' let s:port = '9995' let s:JSON = SpaceVim#api#import('data#json') let s:JOB = SpaceVim#api#import('job') func! SpaceVim#dev#send_to_channel#setport(port) abort let s:port = a:port endf func! SpaceVim#dev#send_to_channel#send(t) abort if a:t ==# 'line' call s:sendline() endif endf func! s:send(msg) abort let msg = { \ 'text' : a:msg, \ 'username' : s:username, \ 'gateway' : s:gateway \ } " run command curl -XPOST -H 'Content-Type: application/json' -d '{"text":"test","username":"randomuser","gateway":"gateway1"}' http://localhost:4242/api/message let cmd = ['curl', '-XPOST', '-H', 'Content-Type: application/json', '-d', s:JSON.json_encode(msg), 'http://localhost:' . s:port . '/api/message'] call s:JOB.start(cmd) endf function! s:sendline() abort call s:send(getline('.')) endfunction function! s:sendselection() abort endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/website.vim ================================================ let s:JOB = SpaceVim#api#import('job') let s:job_id = 0 let s:server_address = '' function! SpaceVim#dev#website#open() abort let path = expand('~/.SpaceVim/docs/') let cmd = ['bundle', 'exec', 'jekyll', 'serve'] if s:job_id == 0 && s:server_address ==# '' let s:job_id = s:JOB.start(cmd, { \ 'cwd' : path, \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ 'on_exit' : function('s:on_exit'), \ }) else exe 'OpenBrowser' s:server_address endif endfunction function! SpaceVim#dev#website#terminal() abort if s:job_id != 0 call s:JOB.stop(s:job_id) endif endfunction " @vimlint(EVL103, 1, a:event) " @vimlint(EVL103, 1, a:id) " @vimlint(EVL103, 1, a:data) function! s:on_stdout(id, data, event) abort for data in a:data if data =~# 'Server address:' let s:server_address = split(data, 'address:')[1] exe 'OpenBrowser' s:server_address endif endfor endfunction function! s:on_stderr(id, data, event) abort for data in a:data echohl WarningMsg echom 'SpaceVim website:' . data echohl None endfor endfunction " @vimlint(EVL103, 0, a:id) " @vimlint(EVL103, 0, a:data) " @vimlint(EVL103, 0, a:event) function! s:on_exit(...) abort let s:job_id = 0 let s:server_address = '' endfunction " vim:set et sw=2 cc=80: ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/wiki.vim ================================================ function! SpaceVim#dev#wiki#updateLabels() abort let [start, end] = s:find_position() if start != 0 && end != 0 if end - start > 1 exe (start + 1) . ',' . (end - 1) . 'delete' endif call append(start, s:generate_content()) silent! Neoformat endif endfunction function! s:find_position() abort let start = search('^$','bwnc') let end = search('^$','bnwc') return sort([start, end]) endfunction function! s:generate_content() abort let content = ['## Labels', \ '', \ 'Name | color | description', \ '--- | ---- | ----' \ ] let content += s:get_labels() return content endfunction function! s:get_labels() abort let labels = github#api#labels#GetAll('SpaceVim', 'SpaceVim') let line = [] for label in labels call add(line, label.name . ' | #' . label.color . ' | ' . get(label, 'description', '') ) endfor if line[-1] !=# '' let line += [''] endif return line endfunction ================================================ FILE: .SpaceVim.d/autoload/SpaceVim/dev/z.vim ================================================ "============================================================================= " z.vim --- Script for generate doc of z key bindings " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#dev#z#updatedoc() abort let keys = keys(g:_spacevim_mappings_z) let lines = [] for key in keys if key ==# '`' let line = '`` z' . key . ' `` | ' . g:_spacevim_mappings_z[key][1] else let line = '`z' . key . '` | ' . g:_spacevim_mappings_z[key][1] endif call add(lines, line) endfor call append(line('.'), lines) endfunction ================================================ FILE: .SpaceVim.d/ftplugin/git-commit.vim ================================================ setl omnifunc=SpaceVim#plugins#gitcommit#complete setl nocindent ================================================ FILE: .SpaceVim.d/init.lua ================================================ --============================================================================= -- init.lua --- demo -- Copyright (c) 2016-2023 Wang Shidong & Contributors -- Author: Wang Shidong < wsdjeg@outlook.com > -- URL: https://spacevim.org -- License: GPLv3 --============================================================================= local layer = require('spacevim.layer') local opt = require('spacevim.opt') opt.colorscheme = 'one' layer.load('lang#java', { format_on_save = false }) ================================================ FILE: .SpaceVim.d/init.vim ================================================ "============================================================================= " init.vim --- local config for SpaceVim development " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let g:spacevim_force_global_config = 1 call SpaceVim#custom#SPC('nnoremap', ['a', 'r'], 'call SpaceVim#dev#releases#open()', 'Release SpaceVim', 1) call SpaceVim#custom#SPC('nnoremap', ['a', 'w'], 'call SpaceVim#dev#website#open()', 'Open SpaceVim local website', 1) call SpaceVim#custom#SPC('nnoremap', ['a', 't'], 'call SpaceVim#dev#website#terminal()', 'Close SpaceVim local website', 1) " after run make test, the vader will be downloaded to ./build/vader/ let &runtimepath .= ',' . fnamemodify(g:_spacevim_root_dir, ':p:h') . '/build/vader' augroup vader_filetype autocmd! autocmd FileType vader-result setlocal nobuflisted augroup END " vader language specific key bindings function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'Vader', \ 'execute current file', 1) endfunction call SpaceVim#plugins#a#set_config_name(getcwd(), '.SpaceVim.d/projections.toml') call SpaceVim#mapping#space#regesit_lang_mappings('vader', function('s:language_specified_mappings')) command! -nargs=1 IssueEdit call SpaceVim#dev#issuemanager#edit() command! -nargs=1 PullCreate call SpaceVim#dev#pull#create() command! -nargs=1 PullMerge call SpaceVim#dev#pull#merge() command! ReleaseSpaceVim call SpaceVim#dev#releases#open() command! -nargs=* -complete=file Profile call SpaceVim#dev#profile#run() ================================================ FILE: .SpaceVim.d/languages.json ================================================ { "1C Enterprise": { "type": "programming", "color": "#814CCC", "extensions": [ ".bsl", ".os" ], "tm_scope": "source.bsl", "ace_mode": "text", "language_id": 0 }, "ABAP": { "type": "programming", "color": "#E8274B", "extensions": [ ".abap" ], "tm_scope": "source.abap", "ace_mode": "abap", "language_id": 1 }, "ABNF": { "type": "data", "ace_mode": "text", "extensions": [ ".abnf" ], "tm_scope": "source.abnf", "language_id": 429 }, "AGS Script": { "type": "programming", "color": "#B9D9FF", "aliases": [ "ags" ], "extensions": [ ".asc", ".ash" ], "tm_scope": "source.c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "language_id": 2 }, "AMPL": { "type": "programming", "color": "#E6EFBB", "extensions": [ ".ampl", ".mod" ], "tm_scope": "source.ampl", "ace_mode": "text", "language_id": 3 }, "ANTLR": { "type": "programming", "color": "#9DC3FF", "extensions": [ ".g4" ], "tm_scope": "source.antlr", "ace_mode": "text", "language_id": 4 }, "API Blueprint": { "type": "markup", "color": "#2ACCA8", "ace_mode": "markdown", "extensions": [ ".apib" ], "tm_scope": "text.html.markdown.source.gfm.apib", "language_id": 5 }, "APL": { "type": "programming", "color": "#5A8164", "extensions": [ ".apl", ".dyalog" ], "interpreters": [ "apl", "aplx", "dyalog" ], "tm_scope": "source.apl", "ace_mode": "text", "codemirror_mode": "apl", "codemirror_mime_type": "text/apl", "language_id": 6 }, "ASN.1": { "type": "data", "extensions": [ ".asn", ".asn1" ], "tm_scope": "source.asn", "ace_mode": "text", "codemirror_mode": "asn.1", "codemirror_mime_type": "text/x-ttcn-asn", "language_id": 7 }, "ASP": { "type": "programming", "color": "#6a40fd", "tm_scope": "text.html.asp", "aliases": [ "aspx", "aspx-vb" ], "extensions": [ ".asp", ".asax", ".ascx", ".ashx", ".asmx", ".aspx", ".axd" ], "ace_mode": "text", "codemirror_mode": "htmlembedded", "codemirror_mime_type": "application/x-aspx", "language_id": 8 }, "ATS": { "type": "programming", "color": "#1ac620", "aliases": [ "ats2" ], "extensions": [ ".dats", ".hats", ".sats" ], "tm_scope": "source.ats", "ace_mode": "ocaml", "language_id": 9 }, "ActionScript": { "type": "programming", "tm_scope": "source.actionscript.3", "color": "#882B0F", "aliases": [ "actionscript 3", "actionscript3", "as3" ], "extensions": [ ".as" ], "ace_mode": "actionscript", "language_id": 10 }, "Ada": { "type": "programming", "color": "#02f88c", "extensions": [ ".adb", ".ada", ".ads" ], "aliases": [ "ada95", "ada2005" ], "tm_scope": "source.ada", "ace_mode": "ada", "language_id": 11 }, "Adobe Font Metrics": { "type": "data", "tm_scope": "source.afm", "extensions": [ ".afm" ], "aliases": [ "acfm", "adobe composite font metrics", "adobe multiple font metrics", "amfm" ], "ace_mode": "text", "language_id": 147198098 }, "Agda": { "type": "programming", "color": "#315665", "extensions": [ ".agda" ], "tm_scope": "source.agda", "ace_mode": "text", "language_id": 12 }, "Alloy": { "type": "programming", "color": "#64C800", "extensions": [ ".als" ], "tm_scope": "source.alloy", "ace_mode": "text", "language_id": 13 }, "Alpine Abuild": { "type": "programming", "group": "Shell", "aliases": [ "abuild", "apkbuild" ], "filenames": [ "APKBUILD" ], "tm_scope": "source.shell", "ace_mode": "sh", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 14 }, "Altium Designer": { "type": "data", "aliases": [ "altium" ], "extensions": [ ".OutJob", ".PcbDoc", ".PrjPCB", ".SchDoc" ], "tm_scope": "source.ini", "ace_mode": "ini", "language_id": 187772328 }, "AngelScript": { "type": "programming", "color": "#C7D7DC", "extensions": [ ".as", ".angelscript" ], "tm_scope": "source.angelscript", "ace_mode": "text", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "language_id": 389477596 }, "Ant Build System": { "type": "data", "tm_scope": "text.xml.ant", "filenames": [ "ant.xml", "build.xml" ], "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "application/xml", "language_id": 15 }, "ApacheConf": { "type": "data", "aliases": [ "aconf", "apache" ], "extensions": [ ".apacheconf", ".vhost" ], "filenames": [ ".htaccess", "apache2.conf", "httpd.conf" ], "tm_scope": "source.apache-config", "ace_mode": "apache_conf", "language_id": 16 }, "Apex": { "type": "programming", "extensions": [ ".cls" ], "tm_scope": "source.java", "ace_mode": "java", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-java", "language_id": 17 }, "Apollo Guidance Computer": { "type": "programming", "group": "Assembly", "extensions": [ ".agc" ], "tm_scope": "source.agc", "ace_mode": "assembly_x86", "language_id": 18 }, "AppleScript": { "type": "programming", "aliases": [ "osascript" ], "extensions": [ ".applescript", ".scpt" ], "interpreters": [ "osascript" ], "tm_scope": "source.applescript", "ace_mode": "applescript", "color": "#101F1F", "language_id": 19 }, "Arc": { "type": "programming", "color": "#aa2afe", "extensions": [ ".arc" ], "tm_scope": "none", "ace_mode": "text", "language_id": 20 }, "AsciiDoc": { "type": "prose", "ace_mode": "asciidoc", "wrap": true, "extensions": [ ".asciidoc", ".adoc", ".asc" ], "tm_scope": "text.html.asciidoc", "language_id": 22 }, "AspectJ": { "type": "programming", "color": "#a957b0", "extensions": [ ".aj" ], "tm_scope": "source.aspectj", "ace_mode": "text", "language_id": 23 }, "Assembly": { "type": "programming", "color": "#6E4C13", "aliases": [ "asm", "nasm" ], "extensions": [ ".asm", ".a51", ".i", ".inc", ".nasm" ], "tm_scope": "source.assembly", "ace_mode": "assembly_x86", "language_id": 24 }, "Asymptote": { "type": "programming", "color": "#4a0c0c", "extensions": [ ".asy" ], "interpreters": [ "asy" ], "tm_scope": "source.c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-kotlin", "language_id": 591605007 }, "Augeas": { "type": "programming", "extensions": [ ".aug" ], "tm_scope": "none", "ace_mode": "text", "language_id": 25 }, "AutoHotkey": { "type": "programming", "color": "#6594b9", "aliases": [ "ahk" ], "extensions": [ ".ahk", ".ahkl" ], "tm_scope": "source.ahk", "ace_mode": "autohotkey", "language_id": 26 }, "AutoIt": { "type": "programming", "color": "#1C3552", "aliases": [ "au3", "AutoIt3", "AutoItScript" ], "extensions": [ ".au3" ], "tm_scope": "source.autoit", "ace_mode": "autohotkey", "language_id": 27 }, "Awk": { "type": "programming", "extensions": [ ".awk", ".auk", ".gawk", ".mawk", ".nawk" ], "interpreters": [ "awk", "gawk", "mawk", "nawk" ], "tm_scope": "source.awk", "ace_mode": "text", "language_id": 28 }, "Ballerina": { "type": "programming", "extensions": [ ".bal" ], "tm_scope": "source.ballerina", "ace_mode": "text", "color": "#FF5000", "language_id": 720859680 }, "Batchfile": { "type": "programming", "aliases": [ "bat", "batch", "dosbatch", "winbatch" ], "extensions": [ ".bat", ".cmd" ], "tm_scope": "source.batchfile", "ace_mode": "batchfile", "color": "#C1F12E", "language_id": 29 }, "Befunge": { "type": "programming", "extensions": [ ".befunge" ], "tm_scope": "source.befunge", "ace_mode": "text", "language_id": 30 }, "BibTeX": { "type": "markup", "group": "TeX", "extensions": [ ".bib", ".bibtex" ], "tm_scope": "text.bibtex", "ace_mode": "tex", "codemirror_mode": "stex", "codemirror_mime_type": "text/x-stex", "language_id": 982188347 }, "Bison": { "type": "programming", "group": "Yacc", "tm_scope": "source.yacc", "extensions": [ ".bison" ], "ace_mode": "text", "language_id": 31 }, "BitBake": { "type": "programming", "tm_scope": "none", "extensions": [ ".bb" ], "ace_mode": "text", "language_id": 32 }, "Blade": { "type": "markup", "group": "HTML", "extensions": [ ".blade", ".blade.php" ], "tm_scope": "text.html.php.blade", "ace_mode": "text", "language_id": 33 }, "BlitzBasic": { "type": "programming", "aliases": [ "b3d", "blitz3d", "blitzplus", "bplus" ], "extensions": [ ".bb", ".decls" ], "tm_scope": "source.blitzmax", "ace_mode": "text", "language_id": 34 }, "BlitzMax": { "type": "programming", "color": "#cd6400", "extensions": [ ".bmx" ], "aliases": [ "bmax" ], "tm_scope": "source.blitzmax", "ace_mode": "text", "language_id": 35 }, "Bluespec": { "type": "programming", "extensions": [ ".bsv" ], "tm_scope": "source.bsv", "ace_mode": "verilog", "language_id": 36 }, "Boo": { "type": "programming", "color": "#d4bec1", "extensions": [ ".boo" ], "ace_mode": "text", "tm_scope": "source.boo", "language_id": 37 }, "Brainfuck": { "type": "programming", "color": "#2F2530", "extensions": [ ".b", ".bf" ], "tm_scope": "source.bf", "ace_mode": "text", "codemirror_mode": "brainfuck", "codemirror_mime_type": "text/x-brainfuck", "language_id": 38 }, "Brightscript": { "type": "programming", "extensions": [ ".brs" ], "tm_scope": "source.brightscript", "ace_mode": "text", "language_id": 39 }, "C": { "type": "programming", "color": "#555555", "extensions": [ ".c", ".cats", ".h", ".idc" ], "interpreters": [ "tcc" ], "tm_scope": "source.c", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "language_id": 41 }, "C#": { "type": "programming", "ace_mode": "csharp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csharp", "tm_scope": "source.cs", "color": "#178600", "aliases": [ "csharp" ], "extensions": [ ".cs", ".cake", ".csx" ], "language_id": 42 }, "C++": { "type": "programming", "tm_scope": "source.c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "color": "#f34b7d", "aliases": [ "cpp" ], "extensions": [ ".cpp", ".c++", ".cc", ".cp", ".cxx", ".h", ".h++", ".hh", ".hpp", ".hxx", ".inc", ".inl", ".ino", ".ipp", ".re", ".tcc", ".tpp" ], "language_id": 43 }, "C-ObjDump": { "type": "data", "extensions": [ ".c-objdump" ], "tm_scope": "objdump.x86asm", "ace_mode": "assembly_x86", "language_id": 44 }, "C2hs Haskell": { "type": "programming", "group": "Haskell", "aliases": [ "c2hs" ], "extensions": [ ".chs" ], "tm_scope": "source.haskell", "ace_mode": "haskell", "codemirror_mode": "haskell", "codemirror_mime_type": "text/x-haskell", "language_id": 45 }, "CLIPS": { "type": "programming", "extensions": [ ".clp" ], "tm_scope": "source.clips", "ace_mode": "text", "language_id": 46 }, "CMake": { "type": "programming", "extensions": [ ".cmake", ".cmake.in" ], "filenames": [ "CMakeLists.txt" ], "tm_scope": "source.cmake", "ace_mode": "text", "codemirror_mode": "cmake", "codemirror_mime_type": "text/x-cmake", "language_id": 47 }, "COBOL": { "type": "programming", "extensions": [ ".cob", ".cbl", ".ccp", ".cobol", ".cpy" ], "tm_scope": "source.cobol", "ace_mode": "cobol", "codemirror_mode": "cobol", "codemirror_mime_type": "text/x-cobol", "language_id": 48 }, "COLLADA": { "type": "data", "extensions": [ ".dae" ], "tm_scope": "text.xml", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 49 }, "CSON": { "type": "data", "tm_scope": "source.coffee", "ace_mode": "coffee", "codemirror_mode": "coffeescript", "codemirror_mime_type": "text/x-coffeescript", "extensions": [ ".cson" ], "language_id": 424 }, "CSS": { "type": "markup", "tm_scope": "source.css", "ace_mode": "css", "codemirror_mode": "css", "codemirror_mime_type": "text/css", "color": "#563d7c", "extensions": [ ".css" ], "language_id": 50 }, "CSV": { "type": "data", "ace_mode": "text", "tm_scope": "none", "extensions": [ ".csv" ], "language_id": 51 }, "CWeb": { "type": "programming", "extensions": [ ".w" ], "tm_scope": "none", "ace_mode": "text", "language_id": 657332628 }, "Cabal Config": { "type": "data", "aliases": [ "Cabal" ], "extensions": [ ".cabal" ], "filenames": [ "cabal.config", "cabal.project" ], "ace_mode": "haskell", "codemirror_mode": "haskell", "codemirror_mime_type": "text/x-haskell", "tm_scope": "source.cabal", "language_id": 677095381 }, "Cap'n Proto": { "type": "programming", "tm_scope": "source.capnp", "extensions": [ ".capnp" ], "ace_mode": "text", "language_id": 52 }, "CartoCSS": { "type": "programming", "aliases": [ "Carto" ], "extensions": [ ".mss" ], "ace_mode": "text", "tm_scope": "source.css.mss", "language_id": 53 }, "Ceylon": { "type": "programming", "color": "#dfa535", "extensions": [ ".ceylon" ], "tm_scope": "source.ceylon", "ace_mode": "text", "language_id": 54 }, "Chapel": { "type": "programming", "color": "#8dc63f", "aliases": [ "chpl" ], "extensions": [ ".chpl" ], "tm_scope": "source.chapel", "ace_mode": "text", "language_id": 55 }, "Charity": { "type": "programming", "extensions": [ ".ch" ], "tm_scope": "none", "ace_mode": "text", "language_id": 56 }, "ChucK": { "type": "programming", "extensions": [ ".ck" ], "tm_scope": "source.java", "ace_mode": "java", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-java", "language_id": 57 }, "Cirru": { "type": "programming", "color": "#ccccff", "tm_scope": "source.cirru", "ace_mode": "cirru", "extensions": [ ".cirru" ], "language_id": 58 }, "Clarion": { "type": "programming", "color": "#db901e", "ace_mode": "text", "extensions": [ ".clw" ], "tm_scope": "source.clarion", "language_id": 59 }, "Clean": { "type": "programming", "color": "#3F85AF", "extensions": [ ".icl", ".dcl" ], "tm_scope": "source.clean", "ace_mode": "text", "language_id": 60 }, "Click": { "type": "programming", "color": "#E4E6F3", "extensions": [ ".click" ], "tm_scope": "source.click", "ace_mode": "text", "language_id": 61 }, "Clojure": { "type": "programming", "tm_scope": "source.clojure", "ace_mode": "clojure", "codemirror_mode": "clojure", "codemirror_mime_type": "text/x-clojure", "color": "#db5855", "extensions": [ ".clj", ".boot", ".cl2", ".cljc", ".cljs", ".cljs.hl", ".cljscm", ".cljx", ".hic" ], "filenames": [ "riemann.config" ], "language_id": 62 }, "Closure Templates": { "type": "markup", "group": "HTML", "ace_mode": "soy_template", "codemirror_mode": "soy", "codemirror_mime_type": "text/x-soy", "aliases": [ "soy" ], "extensions": [ ".soy" ], "tm_scope": "text.html.soy", "language_id": 357046146 }, "Cloud Firestore Security Rules": { "type": "data", "ace_mode": "less", "codemirror_mode": "css", "codemirror_mime_type": "text/css", "tm_scope": "source.firestore", "filenames": [ "firestore.rules" ], "language_id": 407996372 }, "CoNLL-U": { "type": "data", "extensions": [ ".conllu", ".conll" ], "tm_scope": "text.conllu", "ace_mode": "text", "aliases": [ "CoNLL", "CoNLL-X" ], "language_id": 421026389 }, "CoffeeScript": { "type": "programming", "tm_scope": "source.coffee", "ace_mode": "coffee", "codemirror_mode": "coffeescript", "codemirror_mime_type": "text/x-coffeescript", "color": "#244776", "aliases": [ "coffee", "coffee-script" ], "extensions": [ ".coffee", "._coffee", ".cake", ".cjsx", ".iced" ], "filenames": [ "Cakefile" ], "interpreters": [ "coffee" ], "language_id": 63 }, "ColdFusion": { "type": "programming", "ace_mode": "coldfusion", "color": "#ed2cd6", "aliases": [ "cfm", "cfml", "coldfusion html" ], "extensions": [ ".cfm", ".cfml" ], "tm_scope": "text.html.cfm", "language_id": 64 }, "ColdFusion CFC": { "type": "programming", "group": "ColdFusion", "ace_mode": "coldfusion", "aliases": [ "cfc" ], "extensions": [ ".cfc" ], "tm_scope": "source.cfscript", "language_id": 65 }, "Common Lisp": { "type": "programming", "tm_scope": "source.lisp", "color": "#3fb68b", "aliases": [ "lisp" ], "extensions": [ ".lisp", ".asd", ".cl", ".l", ".lsp", ".ny", ".podsl", ".sexp" ], "interpreters": [ "lisp", "sbcl", "ccl", "clisp", "ecl" ], "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "language_id": 66 }, "Common Workflow Language": { "aliases": [ "cwl" ], "type": "programming", "ace_mode": "yaml", "codemirror_mode": "yaml", "codemirror_mime_type": "text/x-yaml", "extensions": [ ".cwl" ], "interpreters": [ "cwl-runner" ], "color": "#B5314C", "tm_scope": "source.cwl", "language_id": 988547172 }, "Component Pascal": { "type": "programming", "color": "#B0CE4E", "extensions": [ ".cp", ".cps" ], "tm_scope": "source.pascal", "aliases": [ "delphi", "objectpascal" ], "ace_mode": "pascal", "codemirror_mode": "pascal", "codemirror_mime_type": "text/x-pascal", "language_id": 67 }, "Cool": { "type": "programming", "extensions": [ ".cl" ], "tm_scope": "source.cool", "ace_mode": "text", "language_id": 68 }, "Coq": { "type": "programming", "extensions": [ ".coq", ".v" ], "tm_scope": "source.coq", "ace_mode": "text", "language_id": 69 }, "Cpp-ObjDump": { "type": "data", "extensions": [ ".cppobjdump", ".c++-objdump", ".c++objdump", ".cpp-objdump", ".cxx-objdump" ], "tm_scope": "objdump.x86asm", "aliases": [ "c++-objdump" ], "ace_mode": "assembly_x86", "language_id": 70 }, "Creole": { "type": "prose", "wrap": true, "extensions": [ ".creole" ], "tm_scope": "text.html.creole", "ace_mode": "text", "language_id": 71 }, "Crystal": { "type": "programming", "color": "#000100", "extensions": [ ".cr" ], "ace_mode": "ruby", "codemirror_mode": "crystal", "codemirror_mime_type": "text/x-crystal", "tm_scope": "source.crystal", "interpreters": [ "crystal" ], "language_id": 72 }, "Csound": { "type": "programming", "aliases": [ "csound-orc" ], "extensions": [ ".orc", ".udo" ], "tm_scope": "source.csound", "ace_mode": "csound_orchestra", "language_id": 73 }, "Csound Document": { "type": "programming", "aliases": [ "csound-csd" ], "extensions": [ ".csd" ], "tm_scope": "source.csound-document", "ace_mode": "csound_document", "language_id": 74 }, "Csound Score": { "type": "programming", "aliases": [ "csound-sco" ], "extensions": [ ".sco" ], "tm_scope": "source.csound-score", "ace_mode": "csound_score", "language_id": 75 }, "Cuda": { "type": "programming", "extensions": [ ".cu", ".cuh" ], "tm_scope": "source.cuda-c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "color": "#3A4E3A", "language_id": 77 }, "Cycript": { "type": "programming", "extensions": [ ".cy" ], "tm_scope": "source.js", "ace_mode": "javascript", "codemirror_mode": "javascript", "codemirror_mime_type": "text/javascript", "language_id": 78 }, "Cython": { "type": "programming", "group": "Python", "extensions": [ ".pyx", ".pxd", ".pxi" ], "aliases": [ "pyrex" ], "tm_scope": "source.cython", "ace_mode": "text", "codemirror_mode": "python", "codemirror_mime_type": "text/x-cython", "language_id": 79 }, "D": { "type": "programming", "color": "#ba595e", "extensions": [ ".d", ".di" ], "tm_scope": "source.d", "ace_mode": "d", "codemirror_mode": "d", "codemirror_mime_type": "text/x-d", "language_id": 80 }, "D-ObjDump": { "type": "data", "extensions": [ ".d-objdump" ], "tm_scope": "objdump.x86asm", "ace_mode": "assembly_x86", "language_id": 81 }, "DIGITAL Command Language": { "type": "programming", "aliases": [ "dcl" ], "extensions": [ ".com" ], "tm_scope": "none", "ace_mode": "text", "language_id": 82 }, "DM": { "type": "programming", "color": "#447265", "extensions": [ ".dm" ], "aliases": [ "byond" ], "tm_scope": "source.dm", "ace_mode": "c_cpp", "language_id": 83 }, "DNS Zone": { "type": "data", "extensions": [ ".zone", ".arpa" ], "tm_scope": "text.zone_file", "ace_mode": "text", "language_id": 84 }, "DTrace": { "type": "programming", "aliases": [ "dtrace-script" ], "extensions": [ ".d" ], "interpreters": [ "dtrace" ], "tm_scope": "source.c", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "language_id": 85 }, "Darcs Patch": { "type": "data", "aliases": [ "dpatch" ], "extensions": [ ".darcspatch", ".dpatch" ], "tm_scope": "none", "ace_mode": "text", "language_id": 86 }, "Dart": { "type": "programming", "color": "#00B4AB", "extensions": [ ".dart" ], "interpreters": [ "dart" ], "tm_scope": "source.dart", "ace_mode": "dart", "codemirror_mode": "dart", "codemirror_mime_type": "application/dart", "language_id": 87 }, "DataWeave": { "type": "programming", "color": "#003a52", "extensions": [ ".dwl" ], "ace_mode": "text", "tm_scope": "source.data-weave", "language_id": 974514097 }, "Dhall": { "type": "programming", "color": "#dfafff", "extensions": [ ".dhall" ], "tm_scope": "source.haskell", "ace_mode": "haskell", "codemirror_mode": "haskell", "codemirror_mime_type": "text/x-haskell", "language_id": 793969321 }, "Diff": { "type": "data", "extensions": [ ".diff", ".patch" ], "aliases": [ "udiff" ], "tm_scope": "source.diff", "ace_mode": "diff", "codemirror_mode": "diff", "codemirror_mime_type": "text/x-diff", "language_id": 88 }, "DirectX 3D File": { "type": "data", "extensions": [ ".x" ], "ace_mode": "text", "tm_scope": "none", "language_id": 201049282 }, "Dockerfile": { "type": "programming", "color": "#384d54", "tm_scope": "source.dockerfile", "extensions": [ ".dockerfile" ], "filenames": [ "Dockerfile" ], "ace_mode": "dockerfile", "codemirror_mode": "dockerfile", "codemirror_mime_type": "text/x-dockerfile", "language_id": 89 }, "Dogescript": { "type": "programming", "color": "#cca760", "extensions": [ ".djs" ], "tm_scope": "none", "ace_mode": "text", "language_id": 90 }, "Dylan": { "type": "programming", "color": "#6c616e", "extensions": [ ".dylan", ".dyl", ".intr", ".lid" ], "tm_scope": "source.dylan", "ace_mode": "text", "codemirror_mode": "dylan", "codemirror_mime_type": "text/x-dylan", "language_id": 91 }, "E": { "type": "programming", "color": "#ccce35", "extensions": [ ".E" ], "interpreters": [ "rune" ], "tm_scope": "none", "ace_mode": "text", "language_id": 92 }, "EBNF": { "type": "data", "extensions": [ ".ebnf" ], "tm_scope": "source.ebnf", "ace_mode": "text", "codemirror_mode": "ebnf", "codemirror_mime_type": "text/x-ebnf", "language_id": 430 }, "ECL": { "type": "programming", "color": "#8a1267", "extensions": [ ".ecl", ".eclxml" ], "tm_scope": "none", "ace_mode": "text", "codemirror_mode": "ecl", "codemirror_mime_type": "text/x-ecl", "language_id": 93 }, "ECLiPSe": { "type": "programming", "group": "prolog", "extensions": [ ".ecl" ], "tm_scope": "source.prolog.eclipse", "ace_mode": "prolog", "language_id": 94 }, "EJS": { "type": "markup", "group": "HTML", "extensions": [ ".ejs" ], "tm_scope": "text.html.js", "ace_mode": "ejs", "language_id": 95 }, "EML": { "type": "data", "extensions": [ ".eml", ".mbox" ], "tm_scope": "text.eml.basic", "ace_mode": "text", "language_id": 529653389 }, "EQ": { "type": "programming", "color": "#a78649", "extensions": [ ".eq" ], "tm_scope": "source.cs", "ace_mode": "csharp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csharp", "language_id": 96 }, "Eagle": { "type": "data", "extensions": [ ".sch", ".brd" ], "tm_scope": "text.xml", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 97 }, "Easybuild": { "type": "data", "group": "Python", "ace_mode": "python", "codemirror_mode": "python", "codemirror_mime_type": "text/x-python", "tm_scope": "source.python", "extensions": [ ".eb" ], "language_id": 342840477 }, "Ecere Projects": { "type": "data", "group": "JavaScript", "extensions": [ ".epj" ], "tm_scope": "source.json", "ace_mode": "json", "codemirror_mode": "javascript", "codemirror_mime_type": "application/json", "language_id": 98 }, "EditorConfig": { "type": "data", "group": "INI", "filenames": [ ".editorconfig" ], "aliases": [ "editor-config" ], "ace_mode": "ini", "codemirror_mode": "properties", "codemirror_mime_type": "text/x-properties", "tm_scope": "source.editorconfig", "language_id": 96139566 }, "Edje Data Collection": { "type": "data", "extensions": [ ".edc" ], "tm_scope": "source.c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "language_id": 342840478 }, "Eiffel": { "type": "programming", "color": "#946d57", "extensions": [ ".e" ], "tm_scope": "source.eiffel", "ace_mode": "eiffel", "codemirror_mode": "eiffel", "codemirror_mime_type": "text/x-eiffel", "language_id": 99 }, "Elixir": { "type": "programming", "color": "#6e4a7e", "extensions": [ ".ex", ".exs" ], "tm_scope": "source.elixir", "ace_mode": "elixir", "filenames": [ "mix.lock" ], "interpreters": [ "elixir" ], "language_id": 100 }, "Elm": { "type": "programming", "color": "#60B5CC", "extensions": [ ".elm" ], "tm_scope": "source.elm", "ace_mode": "elm", "codemirror_mode": "elm", "codemirror_mime_type": "text/x-elm", "language_id": 101 }, "Emacs Lisp": { "type": "programming", "tm_scope": "source.emacs.lisp", "color": "#c065db", "aliases": [ "elisp", "emacs" ], "filenames": [ ".abbrev_defs", ".emacs", ".emacs.desktop", ".gnus", ".spacemacs", ".viper", "Cask", "Project.ede", "_emacs", "abbrev_defs" ], "extensions": [ ".el", ".emacs", ".emacs.desktop" ], "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "language_id": 102 }, "EmberScript": { "type": "programming", "color": "#FFF4F3", "extensions": [ ".em", ".emberscript" ], "tm_scope": "source.coffee", "ace_mode": "coffee", "codemirror_mode": "coffeescript", "codemirror_mime_type": "text/x-coffeescript", "language_id": 103 }, "Erlang": { "type": "programming", "color": "#B83998", "extensions": [ ".erl", ".app.src", ".es", ".escript", ".hrl", ".xrl", ".yrl" ], "filenames": [ "Emakefile", "rebar.config", "rebar.config.lock", "rebar.lock" ], "tm_scope": "source.erlang", "ace_mode": "erlang", "codemirror_mode": "erlang", "codemirror_mime_type": "text/x-erlang", "interpreters": [ "escript" ], "language_id": 104 }, "F#": { "type": "programming", "color": "#b845fc", "aliases": [ "fsharp" ], "extensions": [ ".fs", ".fsi", ".fsx" ], "tm_scope": "source.fsharp", "ace_mode": "text", "codemirror_mode": "mllike", "codemirror_mime_type": "text/x-fsharp", "language_id": 105 }, "F*": { "fs_name": "Fstar", "type": "programming", "color": "#572e30", "aliases": [ "fstar" ], "extensions": [ ".fst" ], "tm_scope": "source.fstar", "ace_mode": "text", "language_id": 336943375 }, "FIGlet Font": { "type": "data", "aliases": [ "FIGfont" ], "extensions": [ ".flf" ], "tm_scope": "source.figfont", "ace_mode": "text", "language_id": 686129783 }, "FLUX": { "type": "programming", "color": "#88ccff", "extensions": [ ".fx", ".flux" ], "tm_scope": "none", "ace_mode": "text", "language_id": 106 }, "Factor": { "type": "programming", "color": "#636746", "extensions": [ ".factor" ], "filenames": [ ".factor-boot-rc", ".factor-rc" ], "tm_scope": "source.factor", "ace_mode": "text", "codemirror_mode": "factor", "codemirror_mime_type": "text/x-factor", "language_id": 108 }, "Fancy": { "type": "programming", "color": "#7b9db4", "extensions": [ ".fy", ".fancypack" ], "filenames": [ "Fakefile" ], "tm_scope": "source.fancy", "ace_mode": "text", "language_id": 109 }, "Fantom": { "type": "programming", "color": "#14253c", "extensions": [ ".fan" ], "tm_scope": "source.fan", "ace_mode": "text", "language_id": 110 }, "Faust": { "type": "programming", "color": "#c37240", "extensions": [ ".dsp" ], "tm_scope": "source.faust", "ace_mode": "text", "language_id": 622529198 }, "Filebench WML": { "type": "programming", "extensions": [ ".f" ], "tm_scope": "none", "ace_mode": "text", "language_id": 111 }, "Filterscript": { "type": "programming", "group": "RenderScript", "extensions": [ ".fs" ], "tm_scope": "none", "ace_mode": "text", "language_id": 112 }, "Formatted": { "type": "data", "extensions": [ ".for", ".eam.fs" ], "tm_scope": "none", "ace_mode": "text", "language_id": 113 }, "Forth": { "type": "programming", "color": "#341708", "extensions": [ ".fth", ".4th", ".f", ".for", ".forth", ".fr", ".frt", ".fs" ], "tm_scope": "source.forth", "ace_mode": "forth", "codemirror_mode": "forth", "codemirror_mime_type": "text/x-forth", "language_id": 114 }, "Fortran": { "type": "programming", "color": "#4d41b1", "extensions": [ ".f90", ".f", ".f03", ".f08", ".f77", ".f95", ".for", ".fpp" ], "tm_scope": "source.fortran", "ace_mode": "text", "codemirror_mode": "fortran", "codemirror_mime_type": "text/x-fortran", "language_id": 107 }, "FreeMarker": { "type": "programming", "color": "#0050b2", "aliases": [ "ftl" ], "extensions": [ ".ftl" ], "tm_scope": "text.html.ftl", "ace_mode": "ftl", "language_id": 115 }, "Frege": { "type": "programming", "color": "#00cafe", "extensions": [ ".fr" ], "tm_scope": "source.haskell", "ace_mode": "haskell", "language_id": 116 }, "G-code": { "type": "programming", "color": "#D08CF2", "extensions": [ ".g", ".cnc", ".gco", ".gcode" ], "tm_scope": "source.gcode", "ace_mode": "gcode", "language_id": 117 }, "GAML": { "type": "programming", "color": "#FFC766", "extensions": [ ".gaml" ], "tm_scope": "none", "ace_mode": "text", "language_id": 290345951 }, "GAMS": { "type": "programming", "extensions": [ ".gms" ], "tm_scope": "none", "ace_mode": "text", "language_id": 118 }, "GAP": { "type": "programming", "extensions": [ ".g", ".gap", ".gd", ".gi", ".tst" ], "tm_scope": "source.gap", "ace_mode": "text", "language_id": 119 }, "GCC Machine Description": { "type": "programming", "extensions": [ ".md" ], "tm_scope": "source.lisp", "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "language_id": 121 }, "GDB": { "type": "programming", "extensions": [ ".gdb", ".gdbinit" ], "tm_scope": "source.gdb", "ace_mode": "text", "language_id": 122 }, "GDScript": { "type": "programming", "color": "#355570", "extensions": [ ".gd" ], "tm_scope": "source.gdscript", "ace_mode": "text", "language_id": 123 }, "GLSL": { "type": "programming", "extensions": [ ".glsl", ".fp", ".frag", ".frg", ".fs", ".fsh", ".fshader", ".geo", ".geom", ".glslf", ".glslv", ".gs", ".gshader", ".shader", ".tesc", ".tese", ".vert", ".vrx", ".vsh", ".vshader" ], "tm_scope": "source.glsl", "ace_mode": "glsl", "language_id": 124 }, "GN": { "type": "data", "extensions": [ ".gn", ".gni" ], "interpreters": [ "gn" ], "filenames": [ ".gn" ], "tm_scope": "source.gn", "ace_mode": "python", "codemirror_mode": "python", "codemirror_mime_type": "text/x-python", "language_id": 302957008 }, "Game Maker Language": { "type": "programming", "color": "#71b417", "extensions": [ ".gml" ], "tm_scope": "source.c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "language_id": 125 }, "Genie": { "type": "programming", "ace_mode": "text", "extensions": [ ".gs" ], "color": "#fb855d", "tm_scope": "none", "language_id": 792408528 }, "Genshi": { "type": "programming", "extensions": [ ".kid" ], "tm_scope": "text.xml.genshi", "aliases": [ "xml+genshi", "xml+kid" ], "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 126 }, "Gentoo Ebuild": { "type": "programming", "group": "Shell", "extensions": [ ".ebuild" ], "tm_scope": "source.shell", "ace_mode": "sh", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 127 }, "Gentoo Eclass": { "type": "programming", "group": "Shell", "extensions": [ ".eclass" ], "tm_scope": "source.shell", "ace_mode": "sh", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 128 }, "Gerber Image": { "type": "data", "aliases": [ "rs-274x" ], "extensions": [ ".gbr", ".gbl", ".gbo", ".gbp", ".gbs", ".gko", ".gml", ".gpb", ".gpt", ".gtl", ".gto", ".gtp", ".gts" ], "interpreters": [ "gerbv", "gerbview" ], "tm_scope": "source.gerber", "ace_mode": "text", "language_id": 404627610 }, "Gettext Catalog": { "type": "prose", "searchable": false, "aliases": [ "pot" ], "extensions": [ ".po", ".pot" ], "tm_scope": "source.po", "ace_mode": "text", "language_id": 129 }, "Gherkin": { "type": "programming", "extensions": [ ".feature" ], "tm_scope": "text.gherkin.feature", "aliases": [ "cucumber" ], "ace_mode": "text", "color": "#5B2063", "language_id": 76 }, "Git Attributes": { "type": "data", "group": "INI", "aliases": [ "gitattributes" ], "filenames": [ ".gitattributes" ], "tm_scope": "source.gitattributes", "ace_mode": "gitignore", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 956324166 }, "Git Config": { "type": "data", "group": "INI", "aliases": [ "gitconfig", "gitmodules" ], "extensions": [ ".gitconfig" ], "filenames": [ ".gitconfig", ".gitmodules" ], "ace_mode": "ini", "codemirror_mode": "properties", "codemirror_mime_type": "text/x-properties", "tm_scope": "source.gitconfig", "language_id": 807968997 }, "Glyph": { "type": "programming", "color": "#c1ac7f", "extensions": [ ".glf" ], "tm_scope": "source.tcl", "ace_mode": "tcl", "codemirror_mode": "tcl", "codemirror_mime_type": "text/x-tcl", "language_id": 130 }, "Glyph Bitmap Distribution Format": { "type": "data", "extensions": [ ".bdf" ], "tm_scope": "source.bdf", "ace_mode": "text", "language_id": 997665271 }, "Gnuplot": { "type": "programming", "color": "#f0a9f0", "extensions": [ ".gp", ".gnu", ".gnuplot", ".p", ".plot", ".plt" ], "interpreters": [ "gnuplot" ], "tm_scope": "source.gnuplot", "ace_mode": "text", "language_id": 131 }, "Go": { "type": "programming", "color": "#00ADD8", "aliases": [ "golang" ], "extensions": [ ".go" ], "tm_scope": "source.go", "ace_mode": "golang", "codemirror_mode": "go", "codemirror_mime_type": "text/x-go", "language_id": 132 }, "Golo": { "type": "programming", "color": "#88562A", "extensions": [ ".golo" ], "tm_scope": "source.golo", "ace_mode": "text", "language_id": 133 }, "Gosu": { "type": "programming", "color": "#82937f", "extensions": [ ".gs", ".gst", ".gsx", ".vark" ], "tm_scope": "source.gosu.2", "ace_mode": "text", "language_id": 134 }, "Grace": { "type": "programming", "extensions": [ ".grace" ], "tm_scope": "source.grace", "ace_mode": "text", "language_id": 135 }, "Gradle": { "type": "data", "extensions": [ ".gradle" ], "tm_scope": "source.groovy.gradle", "ace_mode": "text", "language_id": 136 }, "Grammatical Framework": { "type": "programming", "aliases": [ "gf" ], "extensions": [ ".gf" ], "color": "#79aa7a", "tm_scope": "source.gf", "ace_mode": "haskell", "codemirror_mode": "haskell", "codemirror_mime_type": "text/x-haskell", "language_id": 137 }, "Graph Modeling Language": { "type": "data", "extensions": [ ".gml" ], "tm_scope": "none", "ace_mode": "text", "language_id": 138 }, "GraphQL": { "type": "data", "extensions": [ ".graphql", ".gql", ".graphqls" ], "tm_scope": "source.graphql", "ace_mode": "text", "language_id": 139 }, "Graphviz (DOT)": { "type": "data", "tm_scope": "source.dot", "extensions": [ ".dot", ".gv" ], "ace_mode": "text", "language_id": 140 }, "Groovy": { "type": "programming", "tm_scope": "source.groovy", "ace_mode": "groovy", "codemirror_mode": "groovy", "codemirror_mime_type": "text/x-groovy", "color": "#e69f56", "extensions": [ ".groovy", ".grt", ".gtpl", ".gvy" ], "interpreters": [ "groovy" ], "filenames": [ "Jenkinsfile" ], "language_id": 142 }, "Groovy Server Pages": { "type": "programming", "group": "Groovy", "aliases": [ "gsp", "java server page" ], "extensions": [ ".gsp" ], "tm_scope": "text.html.jsp", "ace_mode": "jsp", "codemirror_mode": "htmlembedded", "codemirror_mime_type": "application/x-jsp", "language_id": 143 }, "HAProxy": { "type": "data", "extensions": [ ".cfg" ], "filenames": [ "haproxy.cfg" ], "tm_scope": "source.haproxy-config", "ace_mode": "text", "language_id": 366607477 }, "HCL": { "type": "programming", "extensions": [ ".hcl", ".tf", ".tfvars", ".workflow" ], "aliases": [ "terraform" ], "ace_mode": "ruby", "codemirror_mode": "ruby", "codemirror_mime_type": "text/x-ruby", "tm_scope": "source.terraform", "language_id": 144 }, "HLSL": { "type": "programming", "extensions": [ ".hlsl", ".cginc", ".fx", ".fxh", ".hlsli" ], "ace_mode": "text", "tm_scope": "source.hlsl", "language_id": 145 }, "HTML": { "type": "markup", "tm_scope": "text.html.basic", "ace_mode": "html", "codemirror_mode": "htmlmixed", "codemirror_mime_type": "text/html", "color": "#e34c26", "aliases": [ "xhtml" ], "extensions": [ ".html", ".htm", ".html.hl", ".inc", ".st", ".xht", ".xhtml" ], "language_id": 146 }, "HTML+Django": { "type": "markup", "tm_scope": "text.html.django", "group": "HTML", "extensions": [ ".jinja", ".jinja2", ".mustache", ".njk" ], "aliases": [ "django", "html+django/jinja", "html+jinja", "htmldjango", "njk", "nunjucks" ], "ace_mode": "django", "codemirror_mode": "django", "codemirror_mime_type": "text/x-django", "language_id": 147 }, "HTML+ECR": { "type": "markup", "tm_scope": "text.html.ecr", "group": "HTML", "aliases": [ "ecr" ], "extensions": [ ".ecr" ], "ace_mode": "text", "codemirror_mode": "htmlmixed", "codemirror_mime_type": "text/html", "language_id": 148 }, "HTML+EEX": { "type": "markup", "tm_scope": "text.html.elixir", "group": "HTML", "aliases": [ "eex" ], "extensions": [ ".eex" ], "ace_mode": "text", "codemirror_mode": "htmlmixed", "codemirror_mime_type": "text/html", "language_id": 149 }, "HTML+ERB": { "type": "markup", "tm_scope": "text.html.erb", "group": "HTML", "aliases": [ "erb" ], "extensions": [ ".erb", ".erb.deface" ], "ace_mode": "text", "codemirror_mode": "htmlembedded", "codemirror_mime_type": "application/x-erb", "language_id": 150 }, "HTML+PHP": { "type": "markup", "tm_scope": "text.html.php", "group": "HTML", "extensions": [ ".phtml" ], "ace_mode": "php", "codemirror_mode": "php", "codemirror_mime_type": "application/x-httpd-php", "language_id": 151 }, "HTML+Razor": { "type": "markup", "tm_scope": "text.html.cshtml", "group": "HTML", "aliases": [ "razor" ], "extensions": [ ".cshtml", ".razor" ], "ace_mode": "razor", "codemirror_mode": "htmlmixed", "codemirror_mime_type": "text/html", "language_id": 479039817 }, "HTTP": { "type": "data", "extensions": [ ".http" ], "tm_scope": "source.httpspec", "ace_mode": "text", "codemirror_mode": "http", "codemirror_mime_type": "message/http", "language_id": 152 }, "HXML": { "type": "data", "ace_mode": "text", "extensions": [ ".hxml" ], "tm_scope": "source.hxml", "language_id": 786683730 }, "Hack": { "type": "programming", "ace_mode": "php", "codemirror_mode": "php", "codemirror_mime_type": "application/x-httpd-php", "extensions": [ ".hack", ".hh", ".hhi", ".php" ], "tm_scope": "source.hack", "color": "#878787", "language_id": 153 }, "Haml": { "group": "HTML", "type": "markup", "extensions": [ ".haml", ".haml.deface" ], "tm_scope": "text.haml", "ace_mode": "haml", "codemirror_mode": "haml", "codemirror_mime_type": "text/x-haml", "language_id": 154 }, "Handlebars": { "type": "markup", "group": "HTML", "aliases": [ "hbs", "htmlbars" ], "extensions": [ ".handlebars", ".hbs" ], "tm_scope": "text.html.handlebars", "ace_mode": "handlebars", "language_id": 155 }, "Harbour": { "type": "programming", "color": "#0e60e3", "extensions": [ ".hb" ], "tm_scope": "source.harbour", "ace_mode": "text", "language_id": 156 }, "Haskell": { "type": "programming", "color": "#5e5086", "extensions": [ ".hs", ".hs-boot", ".hsc" ], "interpreters": [ "runhaskell" ], "tm_scope": "source.haskell", "ace_mode": "haskell", "codemirror_mode": "haskell", "codemirror_mime_type": "text/x-haskell", "language_id": 157 }, "Haxe": { "type": "programming", "ace_mode": "haxe", "codemirror_mode": "haxe", "codemirror_mime_type": "text/x-haxe", "color": "#df7900", "extensions": [ ".hx", ".hxsl" ], "tm_scope": "source.hx", "language_id": 158 }, "HiveQL": { "type": "programming", "extensions": [ ".q", ".hql" ], "color": "#dce200", "tm_scope": "source.hql", "ace_mode": "sql", "language_id": 931814087 }, "HolyC": { "type": "programming", "color": "#ffefaf", "extensions": [ ".hc" ], "tm_scope": "source.hc", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "language_id": 928121743 }, "Hy": { "type": "programming", "ace_mode": "text", "color": "#7790B2", "extensions": [ ".hy" ], "interpreters": [ "hy" ], "aliases": [ "hylang" ], "tm_scope": "source.hy", "language_id": 159 }, "HyPhy": { "type": "programming", "ace_mode": "text", "extensions": [ ".bf" ], "tm_scope": "none", "language_id": 160 }, "IDL": { "type": "programming", "color": "#a3522f", "extensions": [ ".pro", ".dlm" ], "tm_scope": "source.idl", "ace_mode": "text", "codemirror_mode": "idl", "codemirror_mime_type": "text/x-idl", "language_id": 161 }, "IGOR Pro": { "type": "programming", "color": "#0000cc", "extensions": [ ".ipf" ], "aliases": [ "igor", "igorpro" ], "tm_scope": "source.igor", "ace_mode": "text", "language_id": 162 }, "INI": { "type": "data", "extensions": [ ".ini", ".cfg", ".dof", ".lektorproject", ".prefs", ".pro", ".properties" ], "filenames": [ "buildozer.spec" ], "tm_scope": "source.ini", "aliases": [ "dosini" ], "ace_mode": "ini", "codemirror_mode": "properties", "codemirror_mime_type": "text/x-properties", "language_id": 163 }, "IRC log": { "type": "data", "aliases": [ "irc", "irc logs" ], "extensions": [ ".irclog", ".weechatlog" ], "tm_scope": "none", "ace_mode": "text", "codemirror_mode": "mirc", "codemirror_mime_type": "text/mirc", "language_id": 164 }, "Idris": { "type": "programming", "color": "#b30000", "extensions": [ ".idr", ".lidr" ], "ace_mode": "text", "tm_scope": "source.idris", "language_id": 165 }, "Ignore List": { "type": "data", "group": "INI", "aliases": [ "ignore", "gitignore", "git-ignore" ], "extensions": [ ".gitignore" ], "filenames": [ ".atomignore", ".babelignore", ".bzrignore", ".coffeelintignore", ".cvsignore", ".dockerignore", ".eslintignore", ".gitignore", ".nodemonignore", ".npmignore", ".prettierignore", ".stylelintignore", ".vscodeignore", "gitignore-global", "gitignore_global" ], "ace_mode": "gitignore", "tm_scope": "source.gitignore", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 74444240 }, "Inform 7": { "type": "programming", "wrap": true, "extensions": [ ".ni", ".i7x" ], "tm_scope": "source.inform7", "aliases": [ "i7", "inform7" ], "ace_mode": "text", "language_id": 166 }, "Inno Setup": { "type": "programming", "extensions": [ ".iss" ], "tm_scope": "source.inno", "ace_mode": "text", "language_id": 167 }, "Io": { "type": "programming", "color": "#a9188d", "extensions": [ ".io" ], "interpreters": [ "io" ], "tm_scope": "source.io", "ace_mode": "io", "language_id": 168 }, "Ioke": { "type": "programming", "color": "#078193", "extensions": [ ".ik" ], "interpreters": [ "ioke" ], "tm_scope": "source.ioke", "ace_mode": "text", "language_id": 169 }, "Isabelle": { "type": "programming", "color": "#FEFE00", "extensions": [ ".thy" ], "tm_scope": "source.isabelle.theory", "ace_mode": "text", "language_id": 170 }, "Isabelle ROOT": { "type": "programming", "group": "Isabelle", "filenames": [ "ROOT" ], "tm_scope": "source.isabelle.root", "ace_mode": "text", "language_id": 171 }, "J": { "type": "programming", "color": "#9EEDFF", "extensions": [ ".ijs" ], "interpreters": [ "jconsole" ], "tm_scope": "source.j", "ace_mode": "text", "language_id": 172 }, "JFlex": { "type": "programming", "group": "Lex", "extensions": [ ".flex", ".jflex" ], "tm_scope": "source.jflex", "ace_mode": "text", "language_id": 173 }, "JSON": { "type": "data", "tm_scope": "source.json", "ace_mode": "json", "codemirror_mode": "javascript", "codemirror_mime_type": "application/json", "searchable": false, "extensions": [ ".json", ".avsc", ".geojson", ".gltf", ".har", ".ice", ".JSON-tmLanguage", ".jsonl", ".mcmeta", ".tfstate", ".tfstate.backup", ".topojson", ".webapp", ".webmanifest", ".yy", ".yyp" ], "filenames": [ ".arcconfig", ".htmlhintrc", ".tern-config", ".tern-project", ".watchmanconfig", "composer.lock", "mcmod.info" ], "language_id": 174 }, "JSON with Comments": { "type": "data", "group": "JSON", "tm_scope": "source.js", "ace_mode": "javascript", "codemirror_mode": "javascript", "codemirror_mime_type": "text/javascript", "aliases": [ "jsonc" ], "extensions": [ ".sublime-build", ".sublime-commands", ".sublime-completions", ".sublime-keymap", ".sublime-macro", ".sublime-menu", ".sublime-mousemap", ".sublime-project", ".sublime-settings", ".sublime-theme", ".sublime-workspace", ".sublime_metrics", ".sublime_session" ], "filenames": [ ".babelrc", ".eslintrc.json", ".jscsrc", ".jshintrc", ".jslintrc", "jsconfig.json", "language-configuration.json", "tsconfig.json" ], "language_id": 423 }, "JSON5": { "type": "data", "extensions": [ ".json5" ], "tm_scope": "source.js", "ace_mode": "javascript", "codemirror_mode": "javascript", "codemirror_mime_type": "application/json", "language_id": 175 }, "JSONLD": { "type": "data", "extensions": [ ".jsonld" ], "tm_scope": "source.js", "ace_mode": "javascript", "codemirror_mode": "javascript", "codemirror_mime_type": "application/json", "language_id": 176 }, "JSONiq": { "color": "#40d47e", "type": "programming", "ace_mode": "jsoniq", "codemirror_mode": "javascript", "codemirror_mime_type": "application/json", "extensions": [ ".jq" ], "tm_scope": "source.jq", "language_id": 177 }, "JSX": { "type": "programming", "group": "JavaScript", "extensions": [ ".jsx" ], "tm_scope": "source.js.jsx", "ace_mode": "javascript", "codemirror_mode": "jsx", "codemirror_mime_type": "text/jsx", "language_id": 178 }, "Jasmin": { "type": "programming", "ace_mode": "java", "extensions": [ ".j" ], "tm_scope": "source.jasmin", "language_id": 180 }, "Java": { "type": "programming", "tm_scope": "source.java", "ace_mode": "java", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-java", "color": "#b07219", "extensions": [ ".java" ], "language_id": 181 }, "Java Properties": { "type": "data", "extensions": [ ".properties" ], "tm_scope": "source.java-properties", "ace_mode": "properties", "codemirror_mode": "properties", "codemirror_mime_type": "text/x-properties", "language_id": 519377561 }, "Java Server Pages": { "type": "programming", "group": "Java", "aliases": [ "jsp" ], "extensions": [ ".jsp" ], "tm_scope": "text.html.jsp", "ace_mode": "jsp", "codemirror_mode": "htmlembedded", "codemirror_mime_type": "application/x-jsp", "language_id": 182 }, "JavaScript": { "type": "programming", "tm_scope": "source.js", "ace_mode": "javascript", "codemirror_mode": "javascript", "codemirror_mime_type": "text/javascript", "color": "#f1e05a", "aliases": [ "js", "node" ], "extensions": [ ".js", "._js", ".bones", ".cjs", ".es", ".es6", ".frag", ".gs", ".jake", ".jsb", ".jscad", ".jsfl", ".jsm", ".jss", ".mjs", ".njs", ".pac", ".sjs", ".ssjs", ".xsjs", ".xsjslib" ], "filenames": [ "Jakefile" ], "interpreters": [ "chakra", "d8", "gjs", "js", "node", "qjs", "rhino", "v8", "v8-shell" ], "language_id": 183 }, "JavaScript+ERB": { "type": "programming", "tm_scope": "source.js", "group": "JavaScript", "extensions": [ ".js.erb" ], "ace_mode": "javascript", "codemirror_mode": "javascript", "codemirror_mime_type": "application/javascript", "language_id": 914318960 }, "Jison": { "type": "programming", "group": "Yacc", "extensions": [ ".jison" ], "tm_scope": "source.jison", "ace_mode": "text", "language_id": 284531423 }, "Jison Lex": { "type": "programming", "group": "Lex", "extensions": [ ".jisonlex" ], "tm_scope": "source.jisonlex", "ace_mode": "text", "language_id": 406395330 }, "Jolie": { "type": "programming", "extensions": [ ".ol", ".iol" ], "interpreters": [ "jolie" ], "color": "#843179", "ace_mode": "text", "tm_scope": "source.jolie", "language_id": 998078858 }, "Jsonnet": { "color": "#0064bd", "type": "programming", "ace_mode": "text", "extensions": [ ".jsonnet", ".libsonnet" ], "tm_scope": "source.jsonnet", "language_id": 664885656 }, "Julia": { "type": "programming", "extensions": [ ".jl" ], "interpreters": [ "julia" ], "color": "#a270ba", "tm_scope": "source.julia", "ace_mode": "julia", "codemirror_mode": "julia", "codemirror_mime_type": "text/x-julia", "language_id": 184 }, "Jupyter Notebook": { "type": "markup", "ace_mode": "json", "codemirror_mode": "javascript", "codemirror_mime_type": "application/json", "tm_scope": "source.json", "color": "#DA5B0B", "extensions": [ ".ipynb" ], "filenames": [ "Notebook" ], "aliases": [ "IPython Notebook" ], "language_id": 185 }, "KRL": { "type": "programming", "color": "#28430A", "extensions": [ ".krl" ], "tm_scope": "none", "ace_mode": "text", "language_id": 186 }, "KiCad Layout": { "type": "data", "aliases": [ "pcbnew" ], "extensions": [ ".kicad_pcb", ".kicad_mod", ".kicad_wks" ], "filenames": [ "fp-lib-table" ], "tm_scope": "source.pcb.sexp", "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "language_id": 187 }, "KiCad Legacy Layout": { "type": "data", "extensions": [ ".brd" ], "tm_scope": "source.pcb.board", "ace_mode": "text", "language_id": 140848857 }, "KiCad Schematic": { "type": "data", "aliases": [ "eeschema schematic" ], "extensions": [ ".sch" ], "tm_scope": "source.pcb.schematic", "ace_mode": "text", "language_id": 622447435 }, "Kit": { "type": "markup", "ace_mode": "html", "codemirror_mode": "htmlmixed", "codemirror_mime_type": "text/html", "extensions": [ ".kit" ], "tm_scope": "text.html.basic", "language_id": 188 }, "Kotlin": { "type": "programming", "color": "#F18E33", "extensions": [ ".kt", ".ktm", ".kts" ], "tm_scope": "source.kotlin", "ace_mode": "text", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-kotlin", "language_id": 189 }, "LFE": { "type": "programming", "color": "#4C3023", "extensions": [ ".lfe" ], "tm_scope": "source.lisp", "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "language_id": 190 }, "LLVM": { "type": "programming", "extensions": [ ".ll" ], "tm_scope": "source.llvm", "ace_mode": "text", "color": "#185619", "language_id": 191 }, "LOLCODE": { "type": "programming", "extensions": [ ".lol" ], "color": "#cc9900", "tm_scope": "none", "ace_mode": "text", "language_id": 192 }, "LSL": { "type": "programming", "tm_scope": "source.lsl", "ace_mode": "lsl", "extensions": [ ".lsl", ".lslp" ], "interpreters": [ "lsl" ], "color": "#3d9970", "language_id": 193 }, "LTspice Symbol": { "type": "data", "extensions": [ ".asy" ], "tm_scope": "source.ltspice.symbol", "ace_mode": "text", "codemirror_mode": "spreadsheet", "codemirror_mime_type": "text/x-spreadsheet", "language_id": 1013566805 }, "LabVIEW": { "type": "programming", "extensions": [ ".lvproj" ], "tm_scope": "text.xml", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 194 }, "Lasso": { "type": "programming", "color": "#999999", "extensions": [ ".lasso", ".las", ".lasso8", ".lasso9" ], "tm_scope": "file.lasso", "aliases": [ "lassoscript" ], "ace_mode": "text", "language_id": 195 }, "Latte": { "type": "markup", "group": "HTML", "extensions": [ ".latte" ], "tm_scope": "text.html.smarty", "ace_mode": "smarty", "codemirror_mode": "smarty", "codemirror_mime_type": "text/x-smarty", "language_id": 196 }, "Lean": { "type": "programming", "extensions": [ ".lean", ".hlean" ], "tm_scope": "source.lean", "ace_mode": "text", "language_id": 197 }, "Less": { "type": "markup", "group": "CSS", "extensions": [ ".less" ], "tm_scope": "source.css.less", "ace_mode": "less", "codemirror_mode": "css", "codemirror_mime_type": "text/css", "language_id": 198 }, "Lex": { "type": "programming", "color": "#DBCA00", "aliases": [ "flex" ], "extensions": [ ".l", ".lex" ], "tm_scope": "source.lex", "ace_mode": "text", "language_id": 199 }, "LilyPond": { "type": "programming", "extensions": [ ".ly", ".ily" ], "tm_scope": "source.lilypond", "ace_mode": "text", "language_id": 200 }, "Limbo": { "type": "programming", "extensions": [ ".b", ".m" ], "tm_scope": "none", "ace_mode": "text", "language_id": 201 }, "Linker Script": { "type": "data", "extensions": [ ".ld", ".lds", ".x" ], "filenames": [ "ld.script" ], "tm_scope": "none", "ace_mode": "text", "language_id": 202 }, "Linux Kernel Module": { "type": "data", "extensions": [ ".mod" ], "tm_scope": "none", "ace_mode": "text", "language_id": 203 }, "Liquid": { "type": "markup", "extensions": [ ".liquid" ], "tm_scope": "text.html.liquid", "ace_mode": "liquid", "language_id": 204 }, "Literate Agda": { "type": "programming", "group": "Agda", "extensions": [ ".lagda" ], "tm_scope": "none", "ace_mode": "text", "language_id": 205 }, "Literate CoffeeScript": { "type": "programming", "tm_scope": "source.litcoffee", "group": "CoffeeScript", "ace_mode": "text", "wrap": true, "aliases": [ "litcoffee" ], "extensions": [ ".litcoffee" ], "language_id": 206 }, "Literate Haskell": { "type": "programming", "group": "Haskell", "aliases": [ "lhaskell", "lhs" ], "extensions": [ ".lhs" ], "tm_scope": "text.tex.latex.haskell", "ace_mode": "text", "codemirror_mode": "haskell-literate", "codemirror_mime_type": "text/x-literate-haskell", "language_id": 207 }, "LiveScript": { "type": "programming", "color": "#499886", "aliases": [ "live-script", "ls" ], "extensions": [ ".ls", "._ls" ], "filenames": [ "Slakefile" ], "tm_scope": "source.livescript", "ace_mode": "livescript", "codemirror_mode": "livescript", "codemirror_mime_type": "text/x-livescript", "language_id": 208 }, "Logos": { "type": "programming", "extensions": [ ".xm", ".x", ".xi" ], "ace_mode": "text", "tm_scope": "source.logos", "language_id": 209 }, "Logtalk": { "type": "programming", "extensions": [ ".lgt", ".logtalk" ], "tm_scope": "source.logtalk", "ace_mode": "text", "language_id": 210 }, "LookML": { "type": "programming", "ace_mode": "yaml", "codemirror_mode": "yaml", "codemirror_mime_type": "text/x-yaml", "color": "#652B81", "extensions": [ ".lookml", ".model.lkml", ".view.lkml" ], "tm_scope": "source.yaml", "language_id": 211 }, "LoomScript": { "type": "programming", "extensions": [ ".ls" ], "tm_scope": "source.loomscript", "ace_mode": "text", "language_id": 212 }, "Lua": { "type": "programming", "tm_scope": "source.lua", "ace_mode": "lua", "codemirror_mode": "lua", "codemirror_mime_type": "text/x-lua", "color": "#000080", "extensions": [ ".lua", ".fcgi", ".nse", ".p8", ".pd_lua", ".rbxs", ".rockspec", ".wlua" ], "interpreters": [ "lua" ], "language_id": 213 }, "M": { "type": "programming", "aliases": [ "mumps" ], "extensions": [ ".mumps", ".m" ], "ace_mode": "text", "codemirror_mode": "mumps", "codemirror_mime_type": "text/x-mumps", "language_id": 214, "tm_scope": "none" }, "M4": { "type": "programming", "extensions": [ ".m4" ], "tm_scope": "source.m4", "ace_mode": "text", "language_id": 215 }, "M4Sugar": { "type": "programming", "group": "M4", "aliases": [ "autoconf" ], "extensions": [ ".m4" ], "filenames": [ "configure.ac" ], "tm_scope": "source.m4", "ace_mode": "text", "language_id": 216 }, "MATLAB": { "type": "programming", "color": "#e16737", "aliases": [ "octave" ], "extensions": [ ".matlab", ".m" ], "tm_scope": "source.matlab", "ace_mode": "matlab", "codemirror_mode": "octave", "codemirror_mime_type": "text/x-octave", "language_id": 225 }, "MAXScript": { "type": "programming", "color": "#00a6a6", "extensions": [ ".ms", ".mcr" ], "tm_scope": "source.maxscript", "ace_mode": "text", "language_id": 217 }, "MLIR": { "type": "programming", "color": "#5EC8DB", "extensions": [ ".mlir" ], "tm_scope": "source.mlir", "ace_mode": "text", "language_id": 448253929 }, "MQL4": { "type": "programming", "color": "#62A8D6", "extensions": [ ".mq4", ".mqh" ], "tm_scope": "source.mql5", "ace_mode": "c_cpp", "language_id": 426 }, "MQL5": { "type": "programming", "color": "#4A76B8", "extensions": [ ".mq5", ".mqh" ], "tm_scope": "source.mql5", "ace_mode": "c_cpp", "language_id": 427 }, "MTML": { "type": "markup", "color": "#b7e1f4", "extensions": [ ".mtml" ], "tm_scope": "text.html.basic", "ace_mode": "html", "codemirror_mode": "htmlmixed", "codemirror_mime_type": "text/html", "language_id": 218 }, "MUF": { "type": "programming", "group": "Forth", "extensions": [ ".muf", ".m" ], "tm_scope": "none", "ace_mode": "forth", "codemirror_mode": "forth", "codemirror_mime_type": "text/x-forth", "language_id": 219 }, "Makefile": { "type": "programming", "color": "#427819", "aliases": [ "bsdmake", "make", "mf" ], "extensions": [ ".mak", ".d", ".make", ".mk", ".mkfile" ], "filenames": [ "BSDmakefile", "GNUmakefile", "Kbuild", "Makefile", "Makefile.am", "Makefile.boot", "Makefile.frag", "Makefile.in", "Makefile.inc", "Makefile.wat", "makefile", "makefile.sco", "mkfile" ], "interpreters": [ "make" ], "tm_scope": "source.makefile", "ace_mode": "makefile", "codemirror_mode": "cmake", "codemirror_mime_type": "text/x-cmake", "language_id": 220 }, "Mako": { "type": "programming", "extensions": [ ".mako", ".mao" ], "tm_scope": "text.html.mako", "ace_mode": "text", "language_id": 221 }, "Markdown": { "type": "prose", "aliases": [ "pandoc" ], "ace_mode": "markdown", "codemirror_mode": "gfm", "codemirror_mime_type": "text/x-gfm", "wrap": true, "extensions": [ ".md", ".markdown", ".mdown", ".mdwn", ".mdx", ".mkd", ".mkdn", ".mkdown", ".ronn", ".workbook" ], "filenames": [ "contents.lr" ], "tm_scope": "source.gfm", "language_id": 222 }, "Marko": { "group": "HTML", "type": "markup", "tm_scope": "text.marko", "extensions": [ ".marko" ], "aliases": [ "markojs" ], "ace_mode": "text", "codemirror_mode": "htmlmixed", "codemirror_mime_type": "text/html", "language_id": 932782397 }, "Mask": { "type": "markup", "color": "#f97732", "ace_mode": "mask", "extensions": [ ".mask" ], "tm_scope": "source.mask", "language_id": 223 }, "Mathematica": { "type": "programming", "extensions": [ ".mathematica", ".cdf", ".m", ".ma", ".mt", ".nb", ".nbp", ".wl", ".wlt" ], "aliases": [ "mma" ], "tm_scope": "source.mathematica", "ace_mode": "text", "codemirror_mode": "mathematica", "codemirror_mime_type": "text/x-mathematica", "language_id": 224 }, "Maven POM": { "type": "data", "tm_scope": "text.xml.pom", "filenames": [ "pom.xml" ], "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 226 }, "Max": { "type": "programming", "color": "#c4a79c", "aliases": [ "max/msp", "maxmsp" ], "extensions": [ ".maxpat", ".maxhelp", ".maxproj", ".mxt", ".pat" ], "tm_scope": "source.json", "ace_mode": "json", "codemirror_mode": "javascript", "codemirror_mime_type": "application/json", "language_id": 227 }, "MediaWiki": { "type": "prose", "wrap": true, "extensions": [ ".mediawiki", ".wiki" ], "tm_scope": "text.html.mediawiki", "ace_mode": "text", "language_id": 228 }, "Mercury": { "type": "programming", "color": "#ff2b2b", "ace_mode": "prolog", "interpreters": [ "mmi" ], "extensions": [ ".m", ".moo" ], "tm_scope": "source.mercury", "language_id": 229 }, "Meson": { "type": "programming", "color": "#007800", "filenames": [ "meson.build", "meson_options.txt" ], "tm_scope": "source.meson", "ace_mode": "text", "language_id": 799141244 }, "Metal": { "type": "programming", "color": "#8f14e9", "extensions": [ ".metal" ], "tm_scope": "source.c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "language_id": 230 }, "Microsoft Developer Studio Project": { "type": "data", "extensions": [ ".dsp" ], "tm_scope": "none", "ace_mode": "text", "language_id": 800983837 }, "MiniD": { "type": "programming", "searchable": false, "extensions": [ ".minid" ], "tm_scope": "none", "ace_mode": "text", "language_id": 231 }, "Mirah": { "type": "programming", "color": "#c7a938", "extensions": [ ".druby", ".duby", ".mirah" ], "tm_scope": "source.ruby", "ace_mode": "ruby", "codemirror_mode": "ruby", "codemirror_mime_type": "text/x-ruby", "language_id": 232 }, "Modelica": { "type": "programming", "extensions": [ ".mo" ], "tm_scope": "source.modelica", "ace_mode": "text", "codemirror_mode": "modelica", "codemirror_mime_type": "text/x-modelica", "language_id": 233 }, "Modula-2": { "type": "programming", "extensions": [ ".mod" ], "tm_scope": "source.modula2", "ace_mode": "text", "language_id": 234 }, "Modula-3": { "type": "programming", "extensions": [ ".i3", ".ig", ".m3", ".mg" ], "color": "#223388", "ace_mode": "text", "tm_scope": "source.modula-3", "language_id": 564743864 }, "Module Management System": { "type": "programming", "extensions": [ ".mms", ".mmk" ], "filenames": [ "descrip.mmk", "descrip.mms" ], "tm_scope": "none", "ace_mode": "text", "language_id": 235 }, "Monkey": { "type": "programming", "extensions": [ ".monkey", ".monkey2" ], "ace_mode": "text", "tm_scope": "source.monkey", "language_id": 236 }, "Moocode": { "type": "programming", "extensions": [ ".moo" ], "tm_scope": "none", "ace_mode": "text", "language_id": 237 }, "MoonScript": { "type": "programming", "extensions": [ ".moon" ], "interpreters": [ "moon" ], "tm_scope": "source.moonscript", "ace_mode": "text", "language_id": 238 }, "Motorola 68K Assembly": { "type": "programming", "group": "Assembly", "aliases": [ "m68k" ], "extensions": [ ".asm", ".i", ".inc", ".s", ".x68" ], "tm_scope": "source.m68k", "ace_mode": "assembly_x86", "language_id": 477582706 }, "Muse": { "type": "prose", "extensions": [ ".muse" ], "tm_scope": "text.muse", "ace_mode": "text", "wrap": true, "language_id": 474864066, "aliases": [ "amusewiki", "emacs muse" ] }, "Myghty": { "type": "programming", "extensions": [ ".myt" ], "tm_scope": "none", "ace_mode": "text", "language_id": 239 }, "NCL": { "type": "programming", "color": "#28431f", "extensions": [ ".ncl" ], "tm_scope": "source.ncl", "ace_mode": "text", "language_id": 240 }, "NL": { "type": "data", "extensions": [ ".nl" ], "tm_scope": "none", "ace_mode": "text", "language_id": 241 }, "NPM Config": { "type": "data", "group": "INI", "aliases": [ "npmrc" ], "filenames": [ ".npmrc" ], "tm_scope": "source.ini.npmrc", "ace_mode": "text", "language_id": 685022663 }, "NSIS": { "type": "programming", "extensions": [ ".nsi", ".nsh" ], "tm_scope": "source.nsis", "ace_mode": "text", "codemirror_mode": "nsis", "codemirror_mime_type": "text/x-nsis", "language_id": 242 }, "Nearley": { "type": "programming", "ace_mode": "text", "color": "#990000", "extensions": [ ".ne", ".nearley" ], "tm_scope": "source.ne", "language_id": 521429430 }, "Nemerle": { "type": "programming", "color": "#3d3c6e", "extensions": [ ".n" ], "tm_scope": "source.nemerle", "ace_mode": "text", "language_id": 243 }, "NetLinx": { "type": "programming", "color": "#0aa0ff", "extensions": [ ".axs", ".axi" ], "tm_scope": "source.netlinx", "ace_mode": "text", "language_id": 244 }, "NetLinx+ERB": { "type": "programming", "color": "#747faa", "extensions": [ ".axs.erb", ".axi.erb" ], "tm_scope": "source.netlinx.erb", "ace_mode": "text", "language_id": 245 }, "NetLogo": { "type": "programming", "color": "#ff6375", "extensions": [ ".nlogo" ], "tm_scope": "source.lisp", "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "language_id": 246 }, "NewLisp": { "type": "programming", "color": "#87AED7", "extensions": [ ".nl", ".lisp", ".lsp" ], "interpreters": [ "newlisp" ], "tm_scope": "source.lisp", "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "language_id": 247 }, "Nextflow": { "type": "programming", "ace_mode": "groovy", "tm_scope": "source.nextflow", "color": "#3ac486", "extensions": [ ".nf" ], "filenames": [ "nextflow.config" ], "interpreters": [ "nextflow" ], "language_id": 506780613 }, "Nginx": { "type": "data", "extensions": [ ".nginxconf", ".vhost" ], "filenames": [ "nginx.conf" ], "tm_scope": "source.nginx", "aliases": [ "nginx configuration file" ], "ace_mode": "text", "codemirror_mode": "nginx", "codemirror_mime_type": "text/x-nginx-conf", "language_id": 248 }, "Nim": { "type": "programming", "color": "#37775b", "extensions": [ ".nim", ".nim.cfg", ".nimble", ".nimrod", ".nims" ], "filenames": [ "nim.cfg" ], "ace_mode": "text", "tm_scope": "source.nim", "language_id": 249 }, "Ninja": { "type": "data", "tm_scope": "source.ninja", "extensions": [ ".ninja" ], "ace_mode": "text", "language_id": 250 }, "Nit": { "type": "programming", "color": "#009917", "extensions": [ ".nit" ], "tm_scope": "source.nit", "ace_mode": "text", "language_id": 251 }, "Nix": { "type": "programming", "color": "#7e7eff", "extensions": [ ".nix" ], "aliases": [ "nixos" ], "tm_scope": "source.nix", "ace_mode": "nix", "language_id": 252 }, "Nu": { "type": "programming", "color": "#c9df40", "aliases": [ "nush" ], "extensions": [ ".nu" ], "filenames": [ "Nukefile" ], "tm_scope": "source.nu", "ace_mode": "scheme", "codemirror_mode": "scheme", "codemirror_mime_type": "text/x-scheme", "interpreters": [ "nush" ], "language_id": 253 }, "NumPy": { "type": "programming", "group": "Python", "extensions": [ ".numpy", ".numpyw", ".numsc" ], "tm_scope": "none", "ace_mode": "text", "codemirror_mode": "python", "codemirror_mime_type": "text/x-python", "language_id": 254 }, "OCaml": { "type": "programming", "ace_mode": "ocaml", "codemirror_mode": "mllike", "codemirror_mime_type": "text/x-ocaml", "color": "#3be133", "extensions": [ ".ml", ".eliom", ".eliomi", ".ml4", ".mli", ".mll", ".mly" ], "interpreters": [ "ocaml", "ocamlrun", "ocamlscript" ], "tm_scope": "source.ocaml", "language_id": 255 }, "ObjDump": { "type": "data", "extensions": [ ".objdump" ], "tm_scope": "objdump.x86asm", "ace_mode": "assembly_x86", "language_id": 256 }, "Object Data Instance Notation": { "type": "data", "extensions": [ ".odin" ], "tm_scope": "source.odin-ehr", "ace_mode": "text", "language_id": 985227236 }, "ObjectScript": { "type": "programming", "extensions": [ ".cls" ], "language_id": 202735509, "tm_scope": "source.objectscript", "color": "#424893", "ace_mode": "text" }, "Objective-C": { "type": "programming", "tm_scope": "source.objc", "color": "#438eff", "aliases": [ "obj-c", "objc", "objectivec" ], "extensions": [ ".m", ".h" ], "ace_mode": "objectivec", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-objectivec", "language_id": 257 }, "Objective-C++": { "type": "programming", "tm_scope": "source.objc++", "color": "#6866fb", "aliases": [ "obj-c++", "objc++", "objectivec++" ], "extensions": [ ".mm" ], "ace_mode": "objectivec", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-objectivec", "language_id": 258 }, "Objective-J": { "type": "programming", "color": "#ff0c5a", "aliases": [ "obj-j", "objectivej", "objj" ], "extensions": [ ".j", ".sj" ], "tm_scope": "source.js.objj", "ace_mode": "text", "language_id": 259 }, "Odin": { "type": "programming", "color": "#60AFFE", "aliases": [ "odinlang", "odin-lang" ], "extensions": [ ".odin" ], "tm_scope": "source.odin", "ace_mode": "text", "language_id": 889244082 }, "Omgrofl": { "type": "programming", "extensions": [ ".omgrofl" ], "color": "#cabbff", "tm_scope": "none", "ace_mode": "text", "language_id": 260 }, "Opa": { "type": "programming", "extensions": [ ".opa" ], "tm_scope": "source.opa", "ace_mode": "text", "language_id": 261 }, "Opal": { "type": "programming", "color": "#f7ede0", "extensions": [ ".opal" ], "tm_scope": "source.opal", "ace_mode": "text", "language_id": 262 }, "Open Policy Agent": { "type": "programming", "ace_mode": "text", "extensions": [ ".rego" ], "language_id": 840483232, "tm_scope": "source.rego" }, "OpenCL": { "type": "programming", "group": "C", "extensions": [ ".cl", ".opencl" ], "tm_scope": "source.c", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "language_id": 263 }, "OpenEdge ABL": { "type": "programming", "aliases": [ "progress", "openedge", "abl" ], "extensions": [ ".p", ".cls", ".w" ], "tm_scope": "source.abl", "ace_mode": "text", "language_id": 264 }, "OpenRC runscript": { "type": "programming", "group": "Shell", "aliases": [ "openrc" ], "interpreters": [ "openrc-run" ], "tm_scope": "source.shell", "ace_mode": "sh", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 265 }, "OpenSCAD": { "type": "programming", "extensions": [ ".scad" ], "tm_scope": "source.scad", "ace_mode": "scad", "language_id": 266 }, "OpenStep Property List": { "type": "data", "extensions": [ ".plist" ], "tm_scope": "source.plist", "ace_mode": "text", "language_id": 598917541 }, "OpenType Feature File": { "type": "data", "aliases": [ "AFDKO" ], "extensions": [ ".fea" ], "tm_scope": "source.opentype", "ace_mode": "text", "language_id": 374317347 }, "Org": { "type": "prose", "wrap": true, "extensions": [ ".org" ], "tm_scope": "none", "ace_mode": "text", "language_id": 267 }, "Ox": { "type": "programming", "extensions": [ ".ox", ".oxh", ".oxo" ], "tm_scope": "source.ox", "ace_mode": "text", "language_id": 268 }, "Oxygene": { "type": "programming", "color": "#cdd0e3", "extensions": [ ".oxygene" ], "tm_scope": "none", "ace_mode": "text", "language_id": 269 }, "Oz": { "type": "programming", "color": "#fab738", "extensions": [ ".oz" ], "tm_scope": "source.oz", "ace_mode": "text", "codemirror_mode": "oz", "codemirror_mime_type": "text/x-oz", "language_id": 270 }, "P4": { "type": "programming", "color": "#7055b5", "extensions": [ ".p4" ], "tm_scope": "source.p4", "ace_mode": "text", "language_id": 348895984 }, "PHP": { "type": "programming", "tm_scope": "text.html.php", "ace_mode": "php", "codemirror_mode": "php", "codemirror_mime_type": "application/x-httpd-php", "color": "#4F5D95", "extensions": [ ".php", ".aw", ".ctp", ".fcgi", ".inc", ".php3", ".php4", ".php5", ".phps", ".phpt" ], "filenames": [ ".php", ".php_cs", ".php_cs.dist", "Phakefile" ], "interpreters": [ "php" ], "aliases": [ "inc" ], "language_id": 272 }, "PLSQL": { "type": "programming", "ace_mode": "sql", "codemirror_mode": "sql", "codemirror_mime_type": "text/x-plsql", "tm_scope": "none", "color": "#dad8d8", "extensions": [ ".pls", ".bdy", ".ddl", ".fnc", ".pck", ".pkb", ".pks", ".plb", ".plsql", ".prc", ".spc", ".sql", ".tpb", ".tps", ".trg", ".vw" ], "language_id": 273 }, "PLpgSQL": { "type": "programming", "ace_mode": "pgsql", "codemirror_mode": "sql", "codemirror_mime_type": "text/x-sql", "tm_scope": "source.sql", "extensions": [ ".pgsql", ".sql" ], "language_id": 274 }, "POV-Ray SDL": { "type": "programming", "aliases": [ "pov-ray", "povray" ], "extensions": [ ".pov", ".inc" ], "tm_scope": "source.pov-ray sdl", "ace_mode": "text", "language_id": 275 }, "Pan": { "type": "programming", "color": "#cc0000", "extensions": [ ".pan" ], "tm_scope": "source.pan", "ace_mode": "text", "language_id": 276 }, "Papyrus": { "type": "programming", "color": "#6600cc", "extensions": [ ".psc" ], "tm_scope": "source.papyrus.skyrim", "ace_mode": "text", "language_id": 277 }, "Parrot": { "type": "programming", "color": "#f3ca0a", "extensions": [ ".parrot" ], "tm_scope": "none", "ace_mode": "text", "language_id": 278 }, "Parrot Assembly": { "group": "Parrot", "type": "programming", "aliases": [ "pasm" ], "extensions": [ ".pasm" ], "interpreters": [ "parrot" ], "tm_scope": "none", "ace_mode": "text", "language_id": 279 }, "Parrot Internal Representation": { "group": "Parrot", "tm_scope": "source.parrot.pir", "type": "programming", "aliases": [ "pir" ], "extensions": [ ".pir" ], "interpreters": [ "parrot" ], "ace_mode": "text", "language_id": 280 }, "Pascal": { "type": "programming", "color": "#E3F171", "extensions": [ ".pas", ".dfm", ".dpr", ".inc", ".lpr", ".pascal", ".pp" ], "interpreters": [ "instantfpc" ], "tm_scope": "source.pascal", "ace_mode": "pascal", "codemirror_mode": "pascal", "codemirror_mime_type": "text/x-pascal", "language_id": 281 }, "Pawn": { "type": "programming", "color": "#dbb284", "extensions": [ ".pwn", ".inc", ".sma" ], "tm_scope": "source.pawn", "ace_mode": "text", "language_id": 271 }, "Pep8": { "type": "programming", "color": "#C76F5B", "extensions": [ ".pep" ], "ace_mode": "text", "tm_scope": "source.pep8", "language_id": 840372442 }, "Perl": { "type": "programming", "tm_scope": "source.perl", "ace_mode": "perl", "codemirror_mode": "perl", "codemirror_mime_type": "text/x-perl", "color": "#0298c3", "extensions": [ ".pl", ".al", ".cgi", ".fcgi", ".perl", ".ph", ".plx", ".pm", ".psgi", ".t" ], "filenames": [ "Makefile.PL", "Rexfile", "ack", "cpanfile" ], "interpreters": [ "cperl", "perl" ], "aliases": [ "cperl" ], "language_id": 282 }, "Pic": { "type": "markup", "group": "Roff", "tm_scope": "source.pic", "extensions": [ ".pic", ".chem" ], "ace_mode": "text", "codemirror_mode": "troff", "codemirror_mime_type": "text/troff", "language_id": 425 }, "Pickle": { "type": "data", "extensions": [ ".pkl" ], "tm_scope": "none", "ace_mode": "text", "language_id": 284 }, "PicoLisp": { "type": "programming", "extensions": [ ".l" ], "interpreters": [ "picolisp", "pil" ], "tm_scope": "source.lisp", "ace_mode": "lisp", "language_id": 285 }, "PigLatin": { "type": "programming", "color": "#fcd7de", "extensions": [ ".pig" ], "tm_scope": "source.pig_latin", "ace_mode": "text", "language_id": 286 }, "Pike": { "type": "programming", "color": "#005390", "extensions": [ ".pike", ".pmod" ], "interpreters": [ "pike" ], "tm_scope": "source.pike", "ace_mode": "text", "language_id": 287 }, "Pod": { "type": "prose", "ace_mode": "perl", "codemirror_mode": "perl", "codemirror_mime_type": "text/x-perl", "wrap": true, "extensions": [ ".pod" ], "interpreters": [ "perl" ], "tm_scope": "none", "language_id": 288 }, "Pod 6": { "type": "prose", "ace_mode": "perl", "tm_scope": "source.perl6fe", "wrap": true, "extensions": [ ".pod", ".pod6" ], "interpreters": [ "perl6" ], "language_id": 155357471 }, "PogoScript": { "type": "programming", "color": "#d80074", "extensions": [ ".pogo" ], "tm_scope": "source.pogoscript", "ace_mode": "text", "language_id": 289 }, "Pony": { "type": "programming", "extensions": [ ".pony" ], "tm_scope": "source.pony", "ace_mode": "text", "language_id": 290 }, "PostCSS": { "type": "markup", "tm_scope": "source.postcss", "group": "CSS", "extensions": [ ".pcss", ".postcss" ], "ace_mode": "text", "language_id": 262764437 }, "PostScript": { "type": "markup", "color": "#da291c", "extensions": [ ".ps", ".eps", ".epsi", ".pfa" ], "tm_scope": "source.postscript", "aliases": [ "postscr" ], "ace_mode": "text", "language_id": 291 }, "PowerBuilder": { "type": "programming", "color": "#8f0f8d", "extensions": [ ".pbt", ".sra", ".sru", ".srw" ], "tm_scope": "none", "ace_mode": "text", "language_id": 292 }, "PowerShell": { "type": "programming", "color": "#012456", "tm_scope": "source.powershell", "ace_mode": "powershell", "codemirror_mode": "powershell", "codemirror_mime_type": "application/x-powershell", "aliases": [ "posh", "pwsh" ], "extensions": [ ".ps1", ".psd1", ".psm1" ], "interpreters": [ "pwsh" ], "language_id": 293 }, "Prisma": { "type": "data", "extensions": [ ".prisma" ], "tm_scope": "source.prisma", "ace_mode": "text", "language_id": 499933428 }, "Processing": { "type": "programming", "color": "#0096D8", "extensions": [ ".pde" ], "tm_scope": "source.processing", "ace_mode": "text", "language_id": 294 }, "Proguard": { "type": "data", "extensions": [ ".pro" ], "tm_scope": "none", "ace_mode": "text", "language_id": 716513858 }, "Prolog": { "type": "programming", "color": "#74283c", "extensions": [ ".pl", ".pro", ".prolog", ".yap" ], "interpreters": [ "swipl", "yap" ], "tm_scope": "source.prolog", "ace_mode": "prolog", "language_id": 295 }, "Propeller Spin": { "type": "programming", "color": "#7fa2a7", "extensions": [ ".spin" ], "tm_scope": "source.spin", "ace_mode": "text", "language_id": 296 }, "Protocol Buffer": { "type": "data", "aliases": [ "protobuf", "Protocol Buffers" ], "extensions": [ ".proto" ], "tm_scope": "source.protobuf", "ace_mode": "protobuf", "codemirror_mode": "protobuf", "codemirror_mime_type": "text/x-protobuf", "language_id": 297 }, "Public Key": { "type": "data", "extensions": [ ".asc", ".pub" ], "tm_scope": "none", "ace_mode": "text", "codemirror_mode": "asciiarmor", "codemirror_mime_type": "application/pgp", "language_id": 298 }, "Pug": { "group": "HTML", "type": "markup", "extensions": [ ".jade", ".pug" ], "tm_scope": "text.jade", "ace_mode": "jade", "codemirror_mode": "pug", "codemirror_mime_type": "text/x-pug", "language_id": 179 }, "Puppet": { "type": "programming", "color": "#302B6D", "extensions": [ ".pp" ], "filenames": [ "Modulefile" ], "ace_mode": "text", "codemirror_mode": "puppet", "codemirror_mime_type": "text/x-puppet", "tm_scope": "source.puppet", "language_id": 299 }, "Pure Data": { "type": "data", "extensions": [ ".pd" ], "tm_scope": "none", "ace_mode": "text", "language_id": 300 }, "PureBasic": { "type": "programming", "color": "#5a6986", "extensions": [ ".pb", ".pbi" ], "tm_scope": "none", "ace_mode": "text", "language_id": 301 }, "PureScript": { "type": "programming", "color": "#1D222D", "extensions": [ ".purs" ], "tm_scope": "source.purescript", "ace_mode": "haskell", "codemirror_mode": "haskell", "codemirror_mime_type": "text/x-haskell", "language_id": 302 }, "Python": { "type": "programming", "tm_scope": "source.python", "ace_mode": "python", "codemirror_mode": "python", "codemirror_mime_type": "text/x-python", "color": "#3572A5", "extensions": [ ".py", ".cgi", ".fcgi", ".gyp", ".gypi", ".lmi", ".py3", ".pyde", ".pyi", ".pyp", ".pyt", ".pyw", ".rpy", ".smk", ".spec", ".tac", ".wsgi", ".xpy" ], "filenames": [ ".gclient", "DEPS", "SConscript", "SConstruct", "Snakefile", "wscript" ], "interpreters": [ "python", "python2", "python3" ], "aliases": [ "python3", "rusthon" ], "language_id": 303 }, "Python console": { "type": "programming", "group": "Python", "searchable": false, "aliases": [ "pycon" ], "tm_scope": "text.python.console", "ace_mode": "text", "language_id": 428 }, "Python traceback": { "type": "data", "group": "Python", "searchable": false, "extensions": [ ".pytb" ], "tm_scope": "text.python.traceback", "ace_mode": "text", "language_id": 304 }, "QML": { "type": "programming", "color": "#44a51c", "extensions": [ ".qml", ".qbs" ], "tm_scope": "source.qml", "ace_mode": "text", "language_id": 305 }, "QMake": { "type": "programming", "extensions": [ ".pro", ".pri" ], "interpreters": [ "qmake" ], "tm_scope": "source.qmake", "ace_mode": "text", "language_id": 306 }, "Quake": { "type": "programming", "filenames": [ "m3makefile", "m3overrides" ], "color": "#882233", "ace_mode": "text", "tm_scope": "source.quake", "language_id": 375265331 }, "R": { "type": "programming", "color": "#198CE7", "aliases": [ "R", "Rscript", "splus" ], "extensions": [ ".r", ".rd", ".rsx" ], "filenames": [ ".Rprofile", "expr-dist" ], "interpreters": [ "Rscript" ], "tm_scope": "source.r", "ace_mode": "r", "codemirror_mode": "r", "codemirror_mime_type": "text/x-rsrc", "language_id": 307 }, "RAML": { "type": "markup", "ace_mode": "yaml", "codemirror_mode": "yaml", "codemirror_mime_type": "text/x-yaml", "tm_scope": "source.yaml", "color": "#77d9fb", "extensions": [ ".raml" ], "language_id": 308 }, "RDoc": { "type": "prose", "ace_mode": "rdoc", "wrap": true, "extensions": [ ".rdoc" ], "tm_scope": "text.rdoc", "language_id": 309 }, "REALbasic": { "type": "programming", "extensions": [ ".rbbas", ".rbfrm", ".rbmnu", ".rbres", ".rbtbar", ".rbuistate" ], "tm_scope": "source.vbnet", "ace_mode": "text", "language_id": 310 }, "REXX": { "type": "programming", "aliases": [ "arexx" ], "extensions": [ ".rexx", ".pprx", ".rex" ], "interpreters": [ "regina", "rexx" ], "tm_scope": "source.rexx", "ace_mode": "text", "language_id": 311 }, "RHTML": { "type": "markup", "group": "HTML", "extensions": [ ".rhtml" ], "tm_scope": "text.html.erb", "aliases": [ "html+ruby" ], "ace_mode": "rhtml", "codemirror_mode": "htmlembedded", "codemirror_mime_type": "application/x-erb", "language_id": 312 }, "RMarkdown": { "type": "prose", "wrap": true, "ace_mode": "markdown", "codemirror_mode": "gfm", "codemirror_mime_type": "text/x-gfm", "extensions": [ ".rmd" ], "tm_scope": "source.gfm", "language_id": 313 }, "RPC": { "type": "programming", "aliases": [ "rpcgen", "oncrpc", "xdr" ], "ace_mode": "c_cpp", "extensions": [ ".x" ], "tm_scope": "source.c", "language_id": 1031374237 }, "RPM Spec": { "type": "data", "tm_scope": "source.rpm-spec", "extensions": [ ".spec" ], "aliases": [ "specfile" ], "ace_mode": "text", "codemirror_mode": "rpm", "codemirror_mime_type": "text/x-rpm-spec", "language_id": 314 }, "RUNOFF": { "type": "markup", "color": "#665a4e", "extensions": [ ".rnh", ".rno" ], "tm_scope": "text.runoff", "ace_mode": "text", "language_id": 315 }, "Racket": { "type": "programming", "color": "#3c5caa", "extensions": [ ".rkt", ".rktd", ".rktl", ".scrbl" ], "interpreters": [ "racket" ], "tm_scope": "source.racket", "ace_mode": "lisp", "language_id": 316 }, "Ragel": { "type": "programming", "color": "#9d5200", "extensions": [ ".rl" ], "aliases": [ "ragel-rb", "ragel-ruby" ], "tm_scope": "none", "ace_mode": "text", "language_id": 317 }, "Raku": { "type": "programming", "color": "#0000fb", "extensions": [ ".6pl", ".6pm", ".nqp", ".p6", ".p6l", ".p6m", ".pl", ".pl6", ".pm", ".pm6", ".t" ], "interpreters": [ "perl6", "raku", "rakudo" ], "aliases": [ "perl6", "perl-6" ], "tm_scope": "source.perl6fe", "ace_mode": "perl", "codemirror_mode": "perl", "codemirror_mime_type": "text/x-perl", "language_id": 283 }, "Rascal": { "type": "programming", "color": "#fffaa0", "extensions": [ ".rsc" ], "tm_scope": "source.rascal", "ace_mode": "text", "language_id": 173616037 }, "Raw token data": { "type": "data", "aliases": [ "raw" ], "extensions": [ ".raw" ], "tm_scope": "none", "ace_mode": "text", "language_id": 318 }, "Readline Config": { "type": "data", "group": "INI", "aliases": [ "inputrc", "readline" ], "filenames": [ ".inputrc", "inputrc" ], "tm_scope": "source.inputrc", "ace_mode": "text", "language_id": 538732839 }, "Reason": { "type": "programming", "color": "#ff5847", "ace_mode": "rust", "codemirror_mode": "rust", "codemirror_mime_type": "text/x-rustsrc", "extensions": [ ".re", ".rei" ], "interpreters": [ "ocaml" ], "tm_scope": "source.reason", "language_id": 869538413 }, "Rebol": { "type": "programming", "color": "#358a5b", "extensions": [ ".reb", ".r", ".r2", ".r3", ".rebol" ], "ace_mode": "text", "tm_scope": "source.rebol", "language_id": 319 }, "Red": { "type": "programming", "color": "#f50000", "extensions": [ ".red", ".reds" ], "aliases": [ "red/system" ], "tm_scope": "source.red", "ace_mode": "text", "language_id": 320 }, "Redcode": { "type": "programming", "extensions": [ ".cw" ], "tm_scope": "none", "ace_mode": "text", "language_id": 321 }, "Regular Expression": { "type": "data", "extensions": [ ".regexp", ".regex" ], "aliases": [ "regexp", "regex" ], "ace_mode": "text", "tm_scope": "source.regexp", "language_id": 363378884 }, "Ren'Py": { "type": "programming", "aliases": [ "renpy" ], "color": "#ff7f7f", "extensions": [ ".rpy" ], "tm_scope": "source.renpy", "ace_mode": "python", "language_id": 322 }, "RenderScript": { "type": "programming", "extensions": [ ".rs", ".rsh" ], "tm_scope": "none", "ace_mode": "text", "language_id": 323 }, "Rich Text Format": { "type": "markup", "extensions": [ ".rtf" ], "tm_scope": "text.rtf", "ace_mode": "text", "language_id": 51601661 }, "Ring": { "type": "programming", "color": "#2D54CB", "extensions": [ ".ring" ], "tm_scope": "source.ring", "ace_mode": "text", "language_id": 431 }, "Riot": { "type": "markup", "color": "#A71E49", "ace_mode": "html", "extensions": [ ".riot" ], "tm_scope": "text.html.riot", "language_id": 878396783 }, "RobotFramework": { "type": "programming", "extensions": [ ".robot" ], "tm_scope": "text.robot", "ace_mode": "text", "language_id": 324 }, "Roff": { "type": "markup", "color": "#ecdebe", "extensions": [ ".roff", ".1", ".1in", ".1m", ".1x", ".2", ".3", ".3in", ".3m", ".3p", ".3pm", ".3qt", ".3x", ".4", ".5", ".6", ".7", ".8", ".9", ".l", ".man", ".mdoc", ".me", ".ms", ".n", ".nr", ".rno", ".tmac" ], "filenames": [ "eqnrc", "mmn", "mmt", "troffrc", "troffrc-end" ], "tm_scope": "text.roff", "aliases": [ "groff", "man", "manpage", "man page", "man-page", "mdoc", "nroff", "troff" ], "ace_mode": "text", "codemirror_mode": "troff", "codemirror_mime_type": "text/troff", "language_id": 141 }, "Roff Manpage": { "type": "markup", "group": "Roff", "extensions": [ ".1", ".1in", ".1m", ".1x", ".2", ".3", ".3in", ".3m", ".3p", ".3pm", ".3qt", ".3x", ".4", ".5", ".6", ".7", ".8", ".9", ".man", ".mdoc" ], "tm_scope": "text.roff", "ace_mode": "text", "codemirror_mode": "troff", "codemirror_mime_type": "text/troff", "language_id": 612669833 }, "Rouge": { "type": "programming", "ace_mode": "clojure", "codemirror_mode": "clojure", "codemirror_mime_type": "text/x-clojure", "color": "#cc0088", "extensions": [ ".rg" ], "tm_scope": "source.clojure", "language_id": 325 }, "Ruby": { "type": "programming", "tm_scope": "source.ruby", "ace_mode": "ruby", "codemirror_mode": "ruby", "codemirror_mime_type": "text/x-ruby", "color": "#701516", "aliases": [ "jruby", "macruby", "rake", "rb", "rbx" ], "extensions": [ ".rb", ".builder", ".eye", ".fcgi", ".gemspec", ".god", ".jbuilder", ".mspec", ".pluginspec", ".podspec", ".rabl", ".rake", ".rbi", ".rbuild", ".rbw", ".rbx", ".ru", ".ruby", ".spec", ".thor", ".watchr" ], "interpreters": [ "ruby", "macruby", "rake", "jruby", "rbx" ], "filenames": [ ".irbrc", ".pryrc", "Appraisals", "Berksfile", "Brewfile", "Buildfile", "Capfile", "Dangerfile", "Deliverfile", "Fastfile", "Gemfile", "Gemfile.lock", "Guardfile", "Jarfile", "Mavenfile", "Podfile", "Puppetfile", "Rakefile", "Snapfile", "Thorfile", "Vagrantfile", "buildfile" ], "language_id": 326 }, "Rust": { "type": "programming", "color": "#dea584", "extensions": [ ".rs", ".rs.in" ], "tm_scope": "source.rust", "ace_mode": "rust", "codemirror_mode": "rust", "codemirror_mime_type": "text/x-rustsrc", "language_id": 327 }, "SAS": { "type": "programming", "color": "#B34936", "extensions": [ ".sas" ], "tm_scope": "source.sas", "ace_mode": "text", "codemirror_mode": "sas", "codemirror_mime_type": "text/x-sas", "language_id": 328 }, "SCSS": { "type": "markup", "tm_scope": "source.css.scss", "group": "CSS", "ace_mode": "scss", "codemirror_mode": "css", "codemirror_mime_type": "text/x-scss", "extensions": [ ".scss" ], "language_id": 329 }, "SMT": { "type": "programming", "extensions": [ ".smt2", ".smt" ], "interpreters": [ "boolector", "cvc4", "mathsat5", "opensmt", "smtinterpol", "smt-rat", "stp", "verit", "yices2", "z3" ], "tm_scope": "source.smt", "ace_mode": "text", "language_id": 330 }, "SPARQL": { "type": "data", "tm_scope": "source.sparql", "ace_mode": "text", "codemirror_mode": "sparql", "codemirror_mime_type": "application/sparql-query", "extensions": [ ".sparql", ".rq" ], "language_id": 331 }, "SQF": { "type": "programming", "color": "#3F3F3F", "extensions": [ ".sqf", ".hqf" ], "tm_scope": "source.sqf", "ace_mode": "text", "language_id": 332 }, "SQL": { "type": "data", "tm_scope": "source.sql", "ace_mode": "sql", "codemirror_mode": "sql", "codemirror_mime_type": "text/x-sql", "extensions": [ ".sql", ".cql", ".ddl", ".inc", ".mysql", ".prc", ".tab", ".udf", ".viw" ], "language_id": 333 }, "SQLPL": { "type": "programming", "ace_mode": "sql", "codemirror_mode": "sql", "codemirror_mime_type": "text/x-sql", "tm_scope": "source.sql", "extensions": [ ".sql", ".db2" ], "language_id": 334 }, "SRecode Template": { "type": "markup", "color": "#348a34", "tm_scope": "source.lisp", "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "extensions": [ ".srt" ], "language_id": 335 }, "SSH Config": { "type": "data", "group": "INI", "filenames": [ "ssh-config", "ssh_config", "sshconfig", "sshconfig.snip", "sshd-config", "sshd_config" ], "ace_mode": "text", "tm_scope": "source.ssh-config", "language_id": 554920715 }, "STON": { "type": "data", "group": "Smalltalk", "extensions": [ ".ston" ], "tm_scope": "source.smalltalk", "ace_mode": "text", "language_id": 336 }, "SVG": { "type": "data", "extensions": [ ".svg" ], "tm_scope": "text.xml.svg", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 337 }, "SWIG": { "type": "programming", "extensions": [ ".i" ], "tm_scope": "source.c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "language_id": 1066250075 }, "Sage": { "type": "programming", "group": "Python", "extensions": [ ".sage", ".sagews" ], "tm_scope": "source.python", "ace_mode": "python", "codemirror_mode": "python", "codemirror_mime_type": "text/x-python", "language_id": 338 }, "SaltStack": { "type": "programming", "color": "#646464", "aliases": [ "saltstate", "salt" ], "extensions": [ ".sls" ], "tm_scope": "source.yaml.salt", "ace_mode": "yaml", "codemirror_mode": "yaml", "codemirror_mime_type": "text/x-yaml", "language_id": 339 }, "Sass": { "type": "markup", "tm_scope": "source.sass", "group": "CSS", "extensions": [ ".sass" ], "ace_mode": "sass", "codemirror_mode": "sass", "codemirror_mime_type": "text/x-sass", "language_id": 340 }, "Scala": { "type": "programming", "tm_scope": "source.scala", "ace_mode": "scala", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-scala", "color": "#c22d40", "extensions": [ ".scala", ".kojo", ".sbt", ".sc" ], "interpreters": [ "scala" ], "language_id": 341 }, "Scaml": { "group": "HTML", "type": "markup", "extensions": [ ".scaml" ], "tm_scope": "source.scaml", "ace_mode": "text", "language_id": 342 }, "Scheme": { "type": "programming", "color": "#1e4aec", "extensions": [ ".scm", ".sch", ".sld", ".sls", ".sps", ".ss" ], "interpreters": [ "scheme", "guile", "bigloo", "chicken", "csi", "gosh", "r6rs" ], "tm_scope": "source.scheme", "ace_mode": "scheme", "codemirror_mode": "scheme", "codemirror_mime_type": "text/x-scheme", "language_id": 343 }, "Scilab": { "type": "programming", "extensions": [ ".sci", ".sce", ".tst" ], "tm_scope": "source.scilab", "ace_mode": "text", "language_id": 344 }, "Self": { "type": "programming", "color": "#0579aa", "extensions": [ ".self" ], "tm_scope": "none", "ace_mode": "text", "language_id": 345 }, "ShaderLab": { "type": "programming", "extensions": [ ".shader" ], "ace_mode": "text", "tm_scope": "source.shaderlab", "language_id": 664257356 }, "Shell": { "type": "programming", "color": "#89e051", "aliases": [ "sh", "shell-script", "bash", "zsh" ], "extensions": [ ".sh", ".bash", ".bats", ".cgi", ".command", ".fcgi", ".ksh", ".sh.in", ".tmux", ".tool", ".zsh" ], "filenames": [ ".bash_aliases", ".bash_history", ".bash_logout", ".bash_profile", ".bashrc", ".cshrc", ".login", ".profile", ".zlogin", ".zlogout", ".zprofile", ".zshenv", ".zshrc", "9fs", "PKGBUILD", "bash_aliases", "bash_logout", "bash_profile", "bashrc", "cshrc", "gradlew", "login", "man", "profile", "zlogin", "zlogout", "zprofile", "zshenv", "zshrc" ], "interpreters": [ "ash", "bash", "dash", "ksh", "mksh", "pdksh", "rc", "sh", "zsh" ], "tm_scope": "source.shell", "ace_mode": "sh", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 346 }, "ShellSession": { "type": "programming", "extensions": [ ".sh-session" ], "aliases": [ "bash session", "console" ], "tm_scope": "text.shell-session", "ace_mode": "sh", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 347 }, "Shen": { "type": "programming", "color": "#120F14", "extensions": [ ".shen" ], "tm_scope": "source.shen", "ace_mode": "text", "language_id": 348 }, "Slash": { "type": "programming", "color": "#007eff", "extensions": [ ".sl" ], "tm_scope": "text.html.slash", "ace_mode": "text", "language_id": 349 }, "Slice": { "type": "programming", "color": "#003fa2", "tm_scope": "source.slice", "ace_mode": "text", "extensions": [ ".ice" ], "language_id": 894641667 }, "Slim": { "group": "HTML", "type": "markup", "extensions": [ ".slim" ], "tm_scope": "text.slim", "ace_mode": "text", "codemirror_mode": "slim", "codemirror_mime_type": "text/x-slim", "language_id": 350 }, "SmPL": { "type": "programming", "extensions": [ ".cocci" ], "aliases": [ "coccinelle" ], "ace_mode": "text", "tm_scope": "source.smpl", "color": "#c94949", "language_id": 164123055 }, "Smali": { "type": "programming", "extensions": [ ".smali" ], "ace_mode": "text", "tm_scope": "source.smali", "language_id": 351 }, "Smalltalk": { "type": "programming", "color": "#596706", "extensions": [ ".st", ".cs" ], "aliases": [ "squeak" ], "tm_scope": "source.smalltalk", "ace_mode": "text", "codemirror_mode": "smalltalk", "codemirror_mime_type": "text/x-stsrc", "language_id": 352 }, "Smarty": { "type": "programming", "extensions": [ ".tpl" ], "ace_mode": "smarty", "codemirror_mode": "smarty", "codemirror_mime_type": "text/x-smarty", "tm_scope": "text.html.smarty", "language_id": 353 }, "Solidity": { "type": "programming", "color": "#AA6746", "ace_mode": "text", "tm_scope": "source.solidity", "language_id": 237469032 }, "SourcePawn": { "type": "programming", "color": "#5c7611", "aliases": [ "sourcemod" ], "extensions": [ ".sp", ".inc" ], "tm_scope": "source.sourcepawn", "ace_mode": "text", "language_id": 354 }, "Spline Font Database": { "type": "data", "extensions": [ ".sfd" ], "tm_scope": "text.sfd", "ace_mode": "yaml", "language_id": 767169629 }, "Squirrel": { "type": "programming", "color": "#800000", "extensions": [ ".nut" ], "tm_scope": "source.c++", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-c++src", "language_id": 355 }, "Stan": { "type": "programming", "color": "#b2011d", "extensions": [ ".stan" ], "ace_mode": "text", "tm_scope": "source.stan", "language_id": 356 }, "Standard ML": { "type": "programming", "color": "#dc566d", "aliases": [ "sml" ], "extensions": [ ".ML", ".fun", ".sig", ".sml" ], "tm_scope": "source.ml", "ace_mode": "text", "codemirror_mode": "mllike", "codemirror_mime_type": "text/x-ocaml", "language_id": 357 }, "Starlark": { "type": "programming", "tm_scope": "source.python", "ace_mode": "python", "codemirror_mode": "python", "codemirror_mime_type": "text/x-python", "color": "#76d275", "extensions": [ ".bzl" ], "filenames": [ "BUCK", "BUILD", "BUILD.bazel", "WORKSPACE" ], "aliases": [ "bazel", "bzl" ], "language_id": 960266174 }, "Stata": { "type": "programming", "extensions": [ ".do", ".ado", ".doh", ".ihlp", ".mata", ".matah", ".sthlp" ], "tm_scope": "source.stata", "ace_mode": "text", "language_id": 358 }, "Stylus": { "type": "markup", "group": "CSS", "extensions": [ ".styl" ], "tm_scope": "source.stylus", "ace_mode": "stylus", "language_id": 359 }, "SubRip Text": { "type": "data", "extensions": [ ".srt" ], "ace_mode": "text", "tm_scope": "text.srt", "language_id": 360 }, "SugarSS": { "type": "markup", "tm_scope": "source.css.postcss.sugarss", "group": "CSS", "extensions": [ ".sss" ], "ace_mode": "text", "language_id": 826404698 }, "SuperCollider": { "type": "programming", "color": "#46390b", "extensions": [ ".sc", ".scd" ], "interpreters": [ "sclang", "scsynth" ], "tm_scope": "source.supercollider", "ace_mode": "text", "language_id": 361 }, "Svelte": { "type": "markup", "tm_scope": "source.svelte", "group": "HTML", "ace_mode": "html", "codemirror_mode": "htmlmixed", "codemirror_mime_type": "text/html", "extensions": [ ".svelte" ], "language_id": 928734530 }, "Swift": { "type": "programming", "color": "#ffac45", "extensions": [ ".swift" ], "tm_scope": "source.swift", "ace_mode": "text", "codemirror_mode": "swift", "codemirror_mime_type": "text/x-swift", "language_id": 362 }, "SystemVerilog": { "type": "programming", "color": "#DAE1C2", "extensions": [ ".sv", ".svh", ".vh" ], "tm_scope": "source.systemverilog", "ace_mode": "verilog", "codemirror_mode": "verilog", "codemirror_mime_type": "text/x-systemverilog", "language_id": 363 }, "TI Program": { "type": "programming", "ace_mode": "text", "color": "#A0AA87", "extensions": [ ".8xp", ".8xk", ".8xk.txt", ".8xp.txt" ], "language_id": 422, "tm_scope": "none" }, "TLA": { "type": "programming", "extensions": [ ".tla" ], "tm_scope": "source.tla", "ace_mode": "text", "language_id": 364 }, "TOML": { "type": "data", "extensions": [ ".toml" ], "filenames": [ "Cargo.lock", "Gopkg.lock" ], "tm_scope": "source.toml", "ace_mode": "toml", "codemirror_mode": "toml", "codemirror_mime_type": "text/x-toml", "language_id": 365 }, "TSQL": { "type": "programming", "extensions": [ ".sql" ], "ace_mode": "sql", "tm_scope": "source.tsql", "language_id": 918334941 }, "TSX": { "type": "programming", "group": "TypeScript", "extensions": [ ".tsx" ], "tm_scope": "source.tsx", "ace_mode": "javascript", "codemirror_mode": "jsx", "codemirror_mime_type": "text/jsx", "language_id": 94901924 }, "TXL": { "type": "programming", "extensions": [ ".txl" ], "tm_scope": "source.txl", "ace_mode": "text", "language_id": 366 }, "Tcl": { "type": "programming", "color": "#e4cc98", "extensions": [ ".tcl", ".adp", ".tm" ], "filenames": [ "owh", "starfield" ], "interpreters": [ "tclsh", "wish" ], "tm_scope": "source.tcl", "ace_mode": "tcl", "codemirror_mode": "tcl", "codemirror_mime_type": "text/x-tcl", "language_id": 367 }, "Tcsh": { "type": "programming", "group": "Shell", "extensions": [ ".tcsh", ".csh" ], "interpreters": [ "tcsh", "csh" ], "tm_scope": "source.shell", "ace_mode": "sh", "codemirror_mode": "shell", "codemirror_mime_type": "text/x-sh", "language_id": 368 }, "TeX": { "type": "markup", "color": "#3D6117", "ace_mode": "tex", "codemirror_mode": "stex", "codemirror_mime_type": "text/x-stex", "tm_scope": "text.tex.latex", "wrap": true, "aliases": [ "latex" ], "extensions": [ ".tex", ".aux", ".bbx", ".cbx", ".cls", ".dtx", ".ins", ".lbx", ".ltx", ".mkii", ".mkiv", ".mkvi", ".sty", ".toc" ], "language_id": 369 }, "Tea": { "type": "markup", "extensions": [ ".tea" ], "tm_scope": "source.tea", "ace_mode": "text", "language_id": 370 }, "Terra": { "type": "programming", "extensions": [ ".t" ], "color": "#00004c", "tm_scope": "source.terra", "ace_mode": "lua", "codemirror_mode": "lua", "codemirror_mime_type": "text/x-lua", "interpreters": [ "lua" ], "language_id": 371 }, "Texinfo": { "type": "prose", "wrap": true, "extensions": [ ".texinfo", ".texi", ".txi" ], "ace_mode": "text", "tm_scope": "text.texinfo", "interpreters": [ "makeinfo" ], "language_id": 988020015 }, "Text": { "type": "prose", "wrap": true, "aliases": [ "fundamental" ], "extensions": [ ".txt", ".fr", ".nb", ".ncl", ".no" ], "filenames": [ "COPYING", "COPYING.regex", "COPYRIGHT.regex", "FONTLOG", "INSTALL", "INSTALL.mysql", "LICENSE", "LICENSE.mysql", "NEWS", "README.1ST", "README.me", "README.mysql", "click.me", "delete.me", "go.mod", "go.sum", "keep.me", "package.mask", "package.use.mask", "package.use.stable.mask", "read.me", "readme.1st", "test.me", "use.mask", "use.stable.mask" ], "tm_scope": "none", "ace_mode": "text", "language_id": 372 }, "Textile": { "type": "prose", "ace_mode": "textile", "codemirror_mode": "textile", "codemirror_mime_type": "text/x-textile", "wrap": true, "extensions": [ ".textile" ], "tm_scope": "none", "language_id": 373 }, "Thrift": { "type": "programming", "tm_scope": "source.thrift", "extensions": [ ".thrift" ], "ace_mode": "text", "language_id": 374 }, "Turing": { "type": "programming", "color": "#cf142b", "extensions": [ ".t", ".tu" ], "tm_scope": "source.turing", "ace_mode": "text", "language_id": 375 }, "Turtle": { "type": "data", "extensions": [ ".ttl" ], "tm_scope": "source.turtle", "ace_mode": "text", "codemirror_mode": "turtle", "codemirror_mime_type": "text/turtle", "language_id": 376 }, "Twig": { "type": "markup", "group": "HTML", "extensions": [ ".twig" ], "tm_scope": "text.html.twig", "ace_mode": "twig", "codemirror_mode": "twig", "codemirror_mime_type": "text/x-twig", "language_id": 377 }, "Type Language": { "type": "data", "aliases": [ "tl" ], "extensions": [ ".tl" ], "tm_scope": "source.tl", "ace_mode": "text", "language_id": 632765617 }, "TypeScript": { "type": "programming", "color": "#2b7489", "aliases": [ "ts" ], "interpreters": [ "deno", "ts-node" ], "extensions": [ ".ts" ], "tm_scope": "source.ts", "ace_mode": "typescript", "codemirror_mode": "javascript", "codemirror_mime_type": "application/typescript", "language_id": 378 }, "Unified Parallel C": { "type": "programming", "group": "C", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "extensions": [ ".upc" ], "tm_scope": "source.c", "language_id": 379 }, "Unity3D Asset": { "type": "data", "ace_mode": "yaml", "codemirror_mode": "yaml", "codemirror_mime_type": "text/x-yaml", "extensions": [ ".anim", ".asset", ".mask", ".mat", ".meta", ".prefab", ".unity" ], "tm_scope": "source.yaml", "language_id": 380 }, "Unix Assembly": { "type": "programming", "group": "Assembly", "extensions": [ ".s", ".ms" ], "tm_scope": "source.x86", "ace_mode": "assembly_x86", "language_id": 120 }, "Uno": { "type": "programming", "extensions": [ ".uno" ], "ace_mode": "csharp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csharp", "tm_scope": "source.cs", "language_id": 381 }, "UnrealScript": { "type": "programming", "color": "#a54c4d", "extensions": [ ".uc" ], "tm_scope": "source.java", "ace_mode": "java", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-java", "language_id": 382 }, "UrWeb": { "type": "programming", "aliases": [ "Ur/Web", "Ur" ], "extensions": [ ".ur", ".urs" ], "tm_scope": "source.ur", "ace_mode": "text", "language_id": 383 }, "V": { "type": "programming", "color": "#5d87bd", "aliases": [ "vlang" ], "extensions": [ ".v" ], "tm_scope": "source.v", "ace_mode": "golang", "codemirror_mode": "go", "codemirror_mime_type": "text/x-go", "language_id": 603371597 }, "VBA": { "type": "programming", "color": "#867db1", "extensions": [ ".bas", ".cls", ".frm", ".frx", ".vba" ], "tm_scope": "source.vbnet", "aliases": [ "vb6", "visual basic 6", "visual basic for applications" ], "ace_mode": "text", "codemirror_mode": "vb", "codemirror_mime_type": "text/x-vb", "language_id": 399230729 }, "VBScript": { "type": "programming", "color": "#15dcdc", "extensions": [ ".vbs" ], "tm_scope": "source.vbnet", "ace_mode": "text", "codemirror_mode": "vbscript", "codemirror_mime_type": "text/vbscript", "language_id": 408016005 }, "VCL": { "type": "programming", "color": "#148AA8", "extensions": [ ".vcl" ], "tm_scope": "source.varnish.vcl", "ace_mode": "text", "language_id": 384 }, "VHDL": { "type": "programming", "color": "#adb2cb", "extensions": [ ".vhdl", ".vhd", ".vhf", ".vhi", ".vho", ".vhs", ".vht", ".vhw" ], "tm_scope": "source.vhdl", "ace_mode": "vhdl", "codemirror_mode": "vhdl", "codemirror_mime_type": "text/x-vhdl", "language_id": 385 }, "Vala": { "type": "programming", "color": "#fbe5cd", "extensions": [ ".vala", ".vapi" ], "tm_scope": "source.vala", "ace_mode": "vala", "language_id": 386 }, "Verilog": { "type": "programming", "color": "#b2b7f8", "extensions": [ ".v", ".veo" ], "tm_scope": "source.verilog", "ace_mode": "verilog", "codemirror_mode": "verilog", "codemirror_mime_type": "text/x-verilog", "language_id": 387 }, "Vim Snippet": { "type": "markup", "aliases": [ "SnipMate", "UltiSnip", "UltiSnips", "NeoSnippet" ], "extensions": [ ".snip", ".snippet", ".snippets" ], "tm_scope": "source.vim-snippet", "ace_mode": "text", "language_id": 81265970 }, "Vim script": { "type": "programming", "color": "#199f4b", "tm_scope": "source.viml", "aliases": [ "vim", "viml", "nvim" ], "extensions": [ ".vim", ".vba", ".vmb" ], "filenames": [ ".gvimrc", ".nvimrc", ".vimrc", "_vimrc", "gvimrc", "nvimrc", "vimrc" ], "ace_mode": "text", "language_id": 388 }, "Visual Basic .NET": { "type": "programming", "color": "#945db7", "extensions": [ ".vb", ".vbhtml" ], "aliases": [ "visual basic", "vbnet", "vb .net", "vb.net" ], "tm_scope": "source.vbnet", "ace_mode": "text", "codemirror_mode": "vb", "codemirror_mime_type": "text/x-vb", "language_id": 389 }, "Volt": { "type": "programming", "color": "#1F1F1F", "extensions": [ ".volt" ], "tm_scope": "source.d", "ace_mode": "d", "codemirror_mode": "d", "codemirror_mime_type": "text/x-d", "language_id": 390 }, "Vue": { "type": "markup", "color": "#2c3e50", "extensions": [ ".vue" ], "tm_scope": "text.html.vue", "ace_mode": "html", "language_id": 391 }, "Wavefront Material": { "type": "data", "extensions": [ ".mtl" ], "tm_scope": "source.wavefront.mtl", "ace_mode": "text", "language_id": 392 }, "Wavefront Object": { "type": "data", "extensions": [ ".obj" ], "tm_scope": "source.wavefront.obj", "ace_mode": "text", "language_id": 393 }, "Web Ontology Language": { "type": "data", "extensions": [ ".owl" ], "tm_scope": "text.xml", "ace_mode": "xml", "language_id": 394 }, "WebAssembly": { "type": "programming", "color": "#04133b", "extensions": [ ".wast", ".wat" ], "aliases": [ "wast", "wasm" ], "tm_scope": "source.webassembly", "ace_mode": "lisp", "codemirror_mode": "commonlisp", "codemirror_mime_type": "text/x-common-lisp", "language_id": 956556503 }, "WebIDL": { "type": "programming", "extensions": [ ".webidl" ], "tm_scope": "source.webidl", "ace_mode": "text", "codemirror_mode": "webidl", "codemirror_mime_type": "text/x-webidl", "language_id": 395 }, "WebVTT": { "type": "data", "wrap": true, "extensions": [ ".vtt" ], "tm_scope": "source.vtt", "ace_mode": "text", "language_id": 658679714 }, "Wget Config": { "type": "data", "group": "INI", "aliases": [ "wgetrc" ], "filenames": [ ".wgetrc" ], "tm_scope": "source.wgetrc", "ace_mode": "text", "language_id": 668457123 }, "Windows Registry Entries": { "type": "data", "extensions": [ ".reg" ], "tm_scope": "source.reg", "ace_mode": "ini", "codemirror_mode": "properties", "codemirror_mime_type": "text/x-properties", "language_id": 969674868 }, "Wollok": { "type": "programming", "color": "#a23738", "extensions": [ ".wlk" ], "ace_mode": "text", "tm_scope": "source.wollok", "language_id": 632745969 }, "World of Warcraft Addon Data": { "type": "data", "extensions": [ ".toc" ], "tm_scope": "source.toc", "ace_mode": "text", "language_id": 396 }, "X BitMap": { "type": "data", "group": "C", "aliases": [ "xbm" ], "extensions": [ ".xbm" ], "ace_mode": "c_cpp", "tm_scope": "source.c", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "language_id": 782911107 }, "X Font Directory Index": { "type": "data", "filenames": [ "encodings.dir", "fonts.alias", "fonts.dir", "fonts.scale" ], "tm_scope": "source.fontdir", "ace_mode": "text", "language_id": 208700028 }, "X PixMap": { "type": "data", "group": "C", "aliases": [ "xpm" ], "extensions": [ ".xpm", ".pm" ], "ace_mode": "c_cpp", "tm_scope": "source.c", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "language_id": 781846279 }, "X10": { "type": "programming", "aliases": [ "xten" ], "ace_mode": "text", "extensions": [ ".x10" ], "color": "#4B6BEF", "tm_scope": "source.x10", "language_id": 397 }, "XC": { "type": "programming", "color": "#99DA07", "extensions": [ ".xc" ], "tm_scope": "source.xc", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "language_id": 398 }, "XCompose": { "type": "data", "filenames": [ ".XCompose", "XCompose", "xcompose" ], "tm_scope": "config.xcompose", "ace_mode": "text", "language_id": 225167241 }, "XML": { "type": "data", "tm_scope": "text.xml", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "aliases": [ "rss", "xsd", "wsdl" ], "extensions": [ ".xml", ".adml", ".admx", ".ant", ".axml", ".builds", ".ccproj", ".ccxml", ".clixml", ".cproject", ".cscfg", ".csdef", ".csl", ".csproj", ".ct", ".depproj", ".dita", ".ditamap", ".ditaval", ".dll.config", ".dotsettings", ".filters", ".fsproj", ".fxml", ".glade", ".gml", ".gmx", ".grxml", ".iml", ".ivy", ".jelly", ".jsproj", ".kml", ".launch", ".mdpolicy", ".mjml", ".mm", ".mod", ".mxml", ".natvis", ".ncl", ".ndproj", ".nproj", ".nuspec", ".odd", ".osm", ".pkgproj", ".pluginspec", ".proj", ".props", ".ps1xml", ".psc1", ".pt", ".rdf", ".resx", ".rss", ".sch", ".scxml", ".sfproj", ".shproj", ".srdf", ".storyboard", ".sublime-snippet", ".targets", ".tml", ".ts", ".tsx", ".ui", ".urdf", ".ux", ".vbproj", ".vcxproj", ".vsixmanifest", ".vssettings", ".vstemplate", ".vxml", ".wixproj", ".workflow", ".wsdl", ".wsf", ".wxi", ".wxl", ".wxs", ".x3d", ".xacro", ".xaml", ".xib", ".xlf", ".xliff", ".xmi", ".xml.dist", ".xproj", ".xsd", ".xspec", ".xul", ".zcml" ], "filenames": [ ".classpath", ".cproject", ".project", "App.config", "NuGet.config", "Settings.StyleCop", "Web.Debug.config", "Web.Release.config", "Web.config", "packages.config" ], "language_id": 399 }, "XML Property List": { "type": "data", "group": "XML", "extensions": [ ".plist", ".stTheme", ".tmCommand", ".tmLanguage", ".tmPreferences", ".tmSnippet", ".tmTheme" ], "tm_scope": "text.xml.plist", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 75622871 }, "XPages": { "type": "data", "extensions": [ ".xsp-config", ".xsp.metadata" ], "tm_scope": "text.xml", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 400 }, "XProc": { "type": "programming", "extensions": [ ".xpl", ".xproc" ], "tm_scope": "text.xml", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "language_id": 401 }, "XQuery": { "type": "programming", "color": "#5232e7", "extensions": [ ".xquery", ".xq", ".xql", ".xqm", ".xqy" ], "ace_mode": "xquery", "codemirror_mode": "xquery", "codemirror_mime_type": "application/xquery", "tm_scope": "source.xq", "language_id": 402 }, "XS": { "type": "programming", "extensions": [ ".xs" ], "tm_scope": "source.c", "ace_mode": "c_cpp", "codemirror_mode": "clike", "codemirror_mime_type": "text/x-csrc", "language_id": 403 }, "XSLT": { "type": "programming", "aliases": [ "xsl" ], "extensions": [ ".xslt", ".xsl" ], "tm_scope": "text.xml.xsl", "ace_mode": "xml", "codemirror_mode": "xml", "codemirror_mime_type": "text/xml", "color": "#EB8CEB", "language_id": 404 }, "Xojo": { "type": "programming", "extensions": [ ".xojo_code", ".xojo_menu", ".xojo_report", ".xojo_script", ".xojo_toolbar", ".xojo_window" ], "tm_scope": "source.xojo", "ace_mode": "text", "language_id": 405 }, "Xtend": { "type": "programming", "extensions": [ ".xtend" ], "tm_scope": "source.xtend", "ace_mode": "text", "language_id": 406 }, "YAML": { "type": "data", "tm_scope": "source.yaml", "aliases": [ "yml" ], "extensions": [ ".yml", ".mir", ".reek", ".rviz", ".sublime-syntax", ".syntax", ".yaml", ".yaml-tmlanguage", ".yaml.sed", ".yml.mysql" ], "filenames": [ ".clang-format", ".clang-tidy", ".gemrc", "glide.lock" ], "ace_mode": "yaml", "codemirror_mode": "yaml", "codemirror_mime_type": "text/x-yaml", "language_id": 407 }, "YANG": { "type": "data", "extensions": [ ".yang" ], "tm_scope": "source.yang", "ace_mode": "text", "language_id": 408 }, "YARA": { "type": "programming", "color": "#220000", "ace_mode": "text", "extensions": [ ".yar", ".yara" ], "tm_scope": "source.yara", "language_id": 805122868 }, "YASnippet": { "type": "markup", "aliases": [ "snippet", "yas" ], "color": "#32AB90", "extensions": [ ".yasnippet" ], "tm_scope": "source.yasnippet", "ace_mode": "text", "language_id": 378760102 }, "Yacc": { "type": "programming", "extensions": [ ".y", ".yacc", ".yy" ], "tm_scope": "source.yacc", "ace_mode": "text", "color": "#4B6C4B", "language_id": 409 }, "ZAP": { "type": "programming", "color": "#0d665e", "extensions": [ ".zap", ".xzap" ], "tm_scope": "source.zap", "ace_mode": "text", "language_id": 952972794 }, "ZIL": { "type": "programming", "color": "#dc75e5", "extensions": [ ".zil", ".mud" ], "tm_scope": "source.zil", "ace_mode": "text", "language_id": 973483626 }, "Zeek": { "type": "programming", "aliases": [ "bro" ], "extensions": [ ".zeek", ".bro" ], "tm_scope": "source.zeek", "ace_mode": "text", "language_id": 40 }, "ZenScript": { "type": "programming", "color": "#00BCD1", "extensions": [ ".zs" ], "tm_scope": "source.zenscript", "ace_mode": "text", "language_id": 494938890 }, "Zephir": { "type": "programming", "color": "#118f9e", "extensions": [ ".zep" ], "tm_scope": "source.php.zephir", "ace_mode": "php", "language_id": 410 }, "Zig": { "type": "programming", "color": "#ec915c", "extensions": [ ".zig" ], "tm_scope": "source.zig", "ace_mode": "text", "language_id": 646424281 }, "Zimpl": { "type": "programming", "extensions": [ ".zimpl", ".zmpl", ".zpl" ], "tm_scope": "none", "ace_mode": "text", "language_id": 411 }, "cURL Config": { "type": "data", "group": "INI", "aliases": [ "curlrc" ], "filenames": [ ".curlrc", "_curlrc" ], "tm_scope": "source.curlrc", "ace_mode": "text", "language_id": 992375436 }, "desktop": { "type": "data", "extensions": [ ".desktop", ".desktop.in" ], "tm_scope": "source.desktop", "ace_mode": "text", "language_id": 412 }, "dircolors": { "type": "data", "extensions": [ ".dircolors" ], "filenames": [ ".dir_colors", ".dircolors", "DIR_COLORS", "_dir_colors", "_dircolors", "dir_colors" ], "tm_scope": "source.dircolors", "ace_mode": "text", "language_id": 691605112 }, "eC": { "type": "programming", "color": "#913960", "extensions": [ ".ec", ".eh" ], "tm_scope": "source.c.ec", "ace_mode": "text", "language_id": 413 }, "edn": { "type": "data", "ace_mode": "clojure", "codemirror_mode": "clojure", "codemirror_mime_type": "text/x-clojure", "extensions": [ ".edn" ], "tm_scope": "source.clojure", "language_id": 414 }, "fish": { "type": "programming", "group": "Shell", "interpreters": [ "fish" ], "extensions": [ ".fish" ], "tm_scope": "source.fish", "ace_mode": "text", "language_id": 415 }, "mIRC Script": { "type": "programming", "color": "#926059", "extensions": [ ".mrc" ], "tm_scope": "source.mrc", "ace_mode": "text", "language_id": 517654727 }, "mcfunction": { "type": "programming", "color": "#E22837", "extensions": [ ".mcfunction" ], "tm_scope": "source.mcfunction", "ace_mode": "text", "language_id": 462488745 }, "mupad": { "type": "programming", "extensions": [ ".mu" ], "tm_scope": "source.mupad", "ace_mode": "text", "language_id": 416 }, "nanorc": { "type": "data", "group": "INI", "extensions": [ ".nanorc" ], "filenames": [ ".nanorc", "nanorc" ], "tm_scope": "source.nanorc", "ace_mode": "text", "language_id": 775996197 }, "nesC": { "type": "programming", "color": "#94B0C7", "extensions": [ ".nc" ], "ace_mode": "text", "tm_scope": "source.nesc", "language_id": 417 }, "ooc": { "type": "programming", "color": "#b0b77e", "extensions": [ ".ooc" ], "tm_scope": "source.ooc", "ace_mode": "text", "language_id": 418 }, "q": { "type": "programming", "extensions": [ ".q" ], "tm_scope": "source.q", "ace_mode": "text", "color": "#0040cd", "language_id": 970539067 }, "reStructuredText": { "type": "prose", "wrap": true, "aliases": [ "rst" ], "extensions": [ ".rst", ".rest", ".rest.txt", ".rst.txt" ], "tm_scope": "text.restructuredtext", "ace_mode": "text", "codemirror_mode": "rst", "codemirror_mime_type": "text/x-rst", "language_id": 419 }, "sed": { "type": "programming", "color": "#64b970", "extensions": [ ".sed" ], "interpreters": [ "gsed", "minised", "sed", "ssed" ], "ace_mode": "text", "tm_scope": "source.sed", "language_id": 847830017 }, "wdl": { "type": "programming", "color": "#42f1f4", "extensions": [ ".wdl" ], "tm_scope": "source.wdl", "ace_mode": "text", "language_id": 374521672 }, "wisp": { "type": "programming", "ace_mode": "clojure", "codemirror_mode": "clojure", "codemirror_mime_type": "text/x-clojure", "color": "#7582D1", "extensions": [ ".wisp" ], "tm_scope": "source.clojure", "language_id": 420 }, "xBase": { "type": "programming", "color": "#403a40", "aliases": [ "advpl", "clipper", "foxpro" ], "extensions": [ ".prg", ".ch", ".prw" ], "tm_scope": "source.harbour", "ace_mode": "text", "language_id": 421 } } ================================================ FILE: .SpaceVim.d/plugin/neovim-qt.lua ================================================ if vim.api.nvim_create_user_command then vim.api.nvim_create_user_command('Nvim', function(opt) local cmd = { 'nvim-qt', '--' } for _, v in pairs(opt.fargs) do table.insert(cmd, v) end vim.fn.jobstart(cmd) end, { nargs = '*', complete = 'file' }) vim.api.nvim_create_user_command('Vim', function(opt) local cmd = { 'gvim' } for _, v in pairs(opt.fargs) do table.insert(cmd, v) end vim.fn.jobstart(cmd, { env = { VIM = '', VIMRUNTIME = '', }, }) end, { nargs = '*', complete = 'file' }) end ================================================ FILE: .SpaceVim.d/projections.toml ================================================ ["autoload/SpaceVim/api/*.vim"] alternate = "test/api/{}.vader" doc = "docs/api/{}.md" ["autoload/SpaceVim/plugins/*.vim"] alternate = "test/plugin/{}.vader" lua = "lua/spacevim/plugin/{}.lua" ["lua/spacevim/plugin/*.lua"] alternate = "test/lua/plugin/{}.vader" vim = "autoload/SpaceVim/plugins/{}.vim" ["test/plugin/*.vader"] alternate = "autoload/SpaceVim/plugins/{}.vim" ["test/lua/plugin/*.vader"] alternate = "lua/spacevim/plugin/{}.lua" ["autoload/SpaceVim/layers/lang/*.vim"] doc = "docs/layers/lang/{}.md" ["autoload/SpaceVim/layers/*.vim"] doc = "docs/layers/{}.md" ["test/api/*.vader"] alternate = "autoload/SpaceVim/api/{}.vim" ["docs/layers/*.md"] alternate = "docs/cn/layers/{}.md" code = "autoload/SpaceVim/layers/{}.vim" ["docs/cn/layers/*.md"] alternate = "docs/layers/{}.md" code = "autoload/SpaceVim/layers/{}.vim" ["docs/*.md"] alternate = "docs/cn/{}.md" ["docs/cn/*.md"] alternate = "docs/{}.md" ["doc/*.txt"] alternate = "doc/{}.cnx" ["doc/*.cnx"] alternate = "doc/{}.txt" ["docs/*.cmd"] alternate = "docs/cn/{}.cmd" ["docs/cn/*.cmd"] alternate = "docs/{}.cmd" ["wiki/en/Project-layout.md"] alternate = "wiki/cn/Project-layout.md" ["wiki/cn/Project-layout.md"] alternate = "wiki/en/Project-layout.md" ["wiki/en/Following-HEAD.md"] alternate = "wiki/cn/Following-HEAD.md" ["wiki/cn/Following-HEAD.md"] alternate = "wiki/en/Following-HEAD.md" ["autoload/SpaceVim/layers/lsp.vim"] doc = "docs/layers/language-server-protocol.md" ["docs/_posts/2017-02-11-use-vim-as-a-java-ide.md"] alternate = "docs/_posts/2018-09-19-use-vim-as-a-java-ide.md" ["docs/_posts/2018-09-19-use-vim-as-a-java-ide.md"] alternate = "docs/_posts/2017-02-11-use-vim-as-a-java-ide.md" ["docs/_posts/2019-01-08-use-vim-as-a-go-ide.md"] alternate = "docs/_posts/2019-01-07-use-vim-as-a-go-ide.md" ["docs/_posts/2019-01-07-use-vim-as-a-go-ide.md"] alternate = "docs/_posts/2019-01-08-use-vim-as-a-go-ide.md" ["docs/_posts/2019-01-28-use-vim-as-a-coffeescript-ide.md"] alternate = "docs/_posts/2019-01-29-use-vim-as-a-coffeescript-ide.md" ["docs/_posts/2019-01-29-use-vim-as-a-coffeescript-ide.md"] alternate = "docs/_posts/2019-01-28-use-vim-as-a-coffeescript-ide.md" ["docs/_posts/2018-09-27-use-vim-as-a-python-ide.md"] alternate = "docs/_posts/2018-09-28-use-vim-as-a-python-ide.md" ["docs/_posts/2018-09-28-use-vim-as-a-python-ide.md"] alternate = "docs/_posts/2018-09-27-use-vim-as-a-python-ide.md" ["docs/_posts/2019-02-11-use-vim-as-a-perl-ide.md"] alternate = "docs/_posts/2019-02-12-use-vim-as-a-perl-ide.md" ["docs/_posts/2019-02-12-use-vim-as-a-perl-ide.md"] alternate = "docs/_posts/2019-02-11-use-vim-as-a-perl-ide.md" ["docs/_posts/2019-02-17-use-vim-as-a-ruby-ide.md"] alternate = "docs/_posts/2019-02-18-use-vim-as-a-ruby-ide.md" ["docs/_posts/2019-02-18-use-vim-as-a-ruby-ide.md"] alternate = "docs/_posts/2019-02-17-use-vim-as-a-ruby-ide.md" ["docs/_posts/2019-05-08-use-vim-as-a-php-ide.md"] alternate = "docs/_posts/2019-05-09-use-vim-as-a-php-ide.md" ["docs/_posts/2019-05-09-use-vim-as-a-php-ide.md"] alternate = "docs/_posts/2019-05-08-use-vim-as-a-php-ide.md" ["docs/_posts/2019-05-10-use-vim-as-a-c-cpp-ide.md"] alternate = "docs/_posts/2019-05-11-use-vim-as-a-c-cpp-ide.md" ["docs/_posts/2019-05-11-use-vim-as-a-c-cpp-ide.md"] alternate = "docs/_posts/2019-05-10-use-vim-as-a-c-cpp-ide.md" ["docs/_posts/2018-09-27-use-vim-as-ide.md"] alternate = "docs/_posts/2018-09-28-use-vim-as-ide.md" ["docs/_posts/2018-01-23-grep-on-the-fly-in-spacevim.md"] alternate = "docs/_posts/2018-01-31-grep-on-the-fly-in-spacevim.md" ["docs/_posts/2018-01-31-grep-on-the-fly-in-spacevim.md"] alternate = "docs/_posts/2018-01-23-grep-on-the-fly-in-spacevim.md" ["docs/_posts/2018-09-28-use-vim-as-ide.md"] alternate = "docs/_posts/2018-09-27-use-vim-as-ide.md" ["docs/_posts/2020-01-27-manage-project-alternate-files.md"] alternate = "docs/_posts/2020-01-28-manage-project-alternate-files.md" ["docs/_posts/2020-01-28-manage-project-alternate-files.md"] alternate = "docs/_posts/2020-01-27-manage-project-alternate-files.md" ["docs/_posts/2019-07-17-Asynchronous-todo-manager.md"] alternate = "docs/_posts/2019-07-16-Asynchronous-todo-manager.md" ["docs/_posts/2019-07-16-Asynchronous-todo-manager.md"] alternate = "docs/_posts/2019-07-17-Asynchronous-todo-manager.md" ["docs/_posts/2020-09-25-use-vim-as-a-kotlin-ide.md"] alternate = "docs/_posts/2020-09-24-use-vim-as-a-kotlin-ide.md" ["docs/_posts/2020-09-24-use-vim-as-a-kotlin-ide.md"] alternate = "docs/_posts/2020-09-25-use-vim-as-a-kotlin-ide.md" ["docs/_posts/2020-11-28-use-vim-as-a-nim-ide.md"] alternate = "docs/_posts/2024-03-09-use-vim-as-a-nim-ide.md" ["docs/_posts/2024-03-09-use-vim-as-a-nim-ide.md"] alternate = "docs/_posts/2020-11-28-use-vim-as-a-nim-ide.md" ["docs/_posts/2020-08-10-use-vim-as-a-swift-ide.md"] alternate = "docs/_posts/2024-03-09-use-vim-as-a-swift-ide.md" ["docs/_posts/2024-03-09-use-vim-as-a-swift-ide.md"] alternate = "docs/_posts/2020-08-10-use-vim-as-a-swift-ide.md" ["docs/_posts/2022-04-24-use-vim-as-a-scala-ide.md"] alternate = "docs/_posts/2024-03-09-use-vim-as-a-scala-ide.md" ["docs/_posts/2024-03-09-use-vim-as-a-scala-ide.md"] alternate = "docs/_posts/2022-04-24-use-vim-as-a-scala-ide.md" ["docs/_posts/2024-03-01-use-vim-as-a-elixir-ide.md"] alternate = "docs/_posts/2020-08-13-use-vim-as-a-elixir-ide.md" ["docs/_posts/2020-08-13-use-vim-as-a-elixir-ide.md"] alternate = "docs/_posts/2024-03-01-use-vim-as-a-elixir-ide.md" ["README.md"] alternate = "README.cn.md" ["README.cn.md"] alternate = "README.md" ================================================ FILE: .SpaceVim.d/tasks.toml ================================================ # 测试版本: # vim 7.4.052 Ubuntu 14.04 # vim 7.4.1689 Ubuntu 16.04 # vim 8.0.1453 Ubuntu 18.04 # vim 8.1.2269 Ubuntu 20.04 # vim 8.2.3995 Ubuntu 22.04 # vim 9.1.0016 Ubuntu 24.04 # nvim 0.4.3 Ubuntu 20.04 # nvim 0.6.1 Ubuntu 22.04 # nvim 0.7.2 Ubuntu 24.04 # - vimbin: vim # vimtag: v7.4.052 # disable_es: true # - vimbin: vim # vimtag: v7.4.629 # disable_es: true # - vimbin: vim # vimtag: v7.4.1689 # disable_es: true # - vimbin: vim # vimtag: v8.0.0027 # disable_es: true # - vimbin: vim # vimtag: v8.0.0183 # disable_es: true # - vimbin: vim # vimtag: v8.0.0184 # - vimbin: vim # vimtag: v8.0.1453 # - vimbin: vim # vimtag: v8.1.2269 # - vimbin: vim # vimtag: v8.2.2434 # - vimbin: vim # vimtag: v8.2.3995 # - vimbin: vim # vimtag: nightly # - vimbin: nvim # vimtag: nightly # - vimbin: nvim # vimtag: v0.9.1 # - vimbin: nvim # vimtag: v0.9.0 # - vimbin: nvim # vimtag: v0.8.3 # - vimbin: nvim # vimtag: v0.8.2 # - vimbin: nvim # vimtag: v0.8.1 # - vimbin: nvim # vimtag: v0.8.0 # - vimbin: nvim # vimtag: v0.7.2 # - vimbin: nvim # vimtag: v0.7.0 # - vimbin: nvim # vimtag: v0.6.1 # - vimbin: nvim # vimtag: v0.6.0 # - vimbin: nvim # vimtag: v0.5.1 # - vimbin: nvim # vimtag: v0.5.0 # - vimbin: nvim # vimtag: v0.4.4 # - vimbin: nvim # vimtag: v0.4.3 # - vimbin: nvim # vimtag: v0.4.2 # - vimbin: nvim # vimtag: v0.4.0 # - vimbin: nvim # vimtag: v0.3.8 [vader-nvim-win] command = "make" args = ['test'] isBackground = false [vader-nvim-win.options.env] VIM_BIN = 'nvim' VIM_Es = "--headless" [vader-nvim-wsl] command = "make" args = ['test'] isBackground = false [vader-nvim-wsl.options.env] VIM_BIN = 'wsl -e nvim' VIM_Es = "--headless" [vader-nvim-038] command = "make" args = ['test'] isBackground = false [vader-nvim-038.options.env] VIM_BIN = 'D:\Neovim\v0.3.8\bin\nvim.exe' VIM_Es = "--headless" VIM = 'D:\Neovim\v0.3.8' VIMRUNTIME = 'D:\Neovim\v0.3.8\share\nvim\runtime' [vader-nvim-050] command = "make" args = ['test'] isBackground = false [vader-nvim-050.options.env] VIM_BIN = 'D:\Neovim\v0.5.0\bin\nvim.exe' VIM_Es = "--headless" VIM = 'D:\Neovim\v0.5.0' VIMRUNTIME = 'D:\Neovim\v0.5.0\share\nvim\runtime' [vader-nvim-061] command = "make" args = ['test'] isBackground = false [vader-nvim-061.options.env] VIM_BIN = 'D:\Neovim\v0.6.1\bin\nvim.exe' VIM_Es = "--headless" VIM = 'D:\Neovim\v0.6.1' VIMRUNTIME = 'D:\Neovim\v0.6.1\share\nvim\runtime' [vader-nvim-072] command = "make" args = ['test'] isBackground = false [vader-nvim-072.options.env] VIM_BIN = 'D:\Neovim\v0.7.2\bin\nvim.exe' VIM_Es = "--headless" VIM = 'D:\Neovim\v0.7.2' [vader-nvim-080] command = "make" args = ['test'] isBackground = false [vader-nvim-080.options.env] VIM_BIN = 'D:\Neovim\v0.8.0\bin\nvim.exe' VIM_Es = "--headless" VIM = 'D:\Neovim\v0.8.0' # vim 7.4.1185 [vader-vim-741185] command = "make" args = ['test'] isBackground = false [vader-vim-741185.options.env] VIM_BIN = 'D:\Vim\gvim_7.4.1185_x64\vim.exe' VIM_Es = "-Es" VIM = 'D:\Vim\gvim_7.4.1185_x64' VIMRUNTIME = 'D:\Vim\gvim_7.4.1185_x64' [vader-vim-741185-buf] command = 'D:\Vim\gvim_7.4.1185_x64\vim.exe' args = ['-Nu', 'test/vimrc', '-c', 'Vader! ${relativeFile}'] isBackground = false [vader-vim-741185-buf.options.env] VIM = 'D:\Vim\gvim_7.4.1185_x64' VIMRUNTIME = 'D:\Vim\gvim_7.4.1185_x64' # vim 7.4.1689 [vader-vim-741689] command = "make" args = ['test'] isBackground = false [vader-vim-741689.options.env] VIM_BIN = 'D:\Vim\gvim_7.4.1689_x64\vim.exe' VIM_Es = "-Es" VIM = 'D:\Vim\gvim_7.4.1689_x64' VIMRUNTIME = 'D:\Vim\gvim_7.4.1689_x64' [vader-vim-741689-buf] command = 'D:\Vim\gvim_7.4.1689_x64\vim.exe' args = ['-Nu', 'test/vimrc', '-c', 'Vader! ${relativeFile}'] isBackground = false [vader-vim-741689-buf.options.env] VIM = 'D:\Vim\gvim_7.4.1689_x64' VIMRUNTIME = 'D:\Vim\gvim_7.4.1689_x64' # vim 8.0.0027 [vader-vim-800027] command = "make" args = ['test'] isBackground = false [vader-vim-800027.options.env] VIM_BIN = 'D:\Vim\gvim_8.0.0027_x64\vim.exe' VIM_Es = "-Es" VIM = 'D:\Vim\gvim_8.0.0027_x64' VIMRUNTIME = 'D:\Vim\gvim_8.0.0027_x64' [vader-vim-800027-buf] command = 'D:\Vim\gvim_8.0.0027_x64\vim.exe' args = ['-Nu', 'test/vimrc', '-c', 'Vader! ${relativeFile}'] isBackground = false [vader-vim-800027-buf.options.env] VIM = 'D:\Vim\gvim_8.0.0027_x64' VIMRUNTIME = 'D:\Vim\gvim_8.0.0027_x64' # vim 8.0.1453 [vader-vim-801453] command = "make" args = ['test'] isBackground = false [vader-vim-801453.options.env] VIM_BIN = 'D:\Vim\gvim_8.0.1453_x64\vim.exe' VIM_Es = "-Es" VIM = 'D:\Vim\gvim_8.0.1453_x64' VIMRUNTIME = 'D:\Vim\gvim_8.0.1453_x64' [vader-vim-801453-buf] command = 'D:\Vim\gvim_8.0.1453_x64\vim.exe' args = ['-Nu', 'test/vimrc', '-c', 'Vader! ${relativeFile}'] isBackground = false [vader-vim-801453-buf.options.env] VIM = 'D:\Vim\gvim_8.0.1453_x64' VIMRUNTIME = 'D:\Vim\gvim_8.0.1453_x64' # vim 8.1.2269 [vader-vim-812269] command = "make" args = ['test'] isBackground = false [vader-vim-812269.options.env] VIM_BIN = 'D:\Vim\gvim_8.1.2269_x64\vim.exe' VIM_Es = "-Es" VIM = 'D:\Vim\gvim_8.1.2269_x64' VIMRUNTIME = 'D:\Vim\gvim_8.1.2269_x64' [vader-vim-812269-buf] command = 'D:\Vim\gvim_8.1.2269_x64\vim.exe' args = ['-Nu', 'test/vimrc', '-c', 'Vader! ${relativeFile}'] isBackground = false [vader-vim-812269-buf.options.env] VIM = 'D:\Vim\gvim_8.1.2269_x64' VIMRUNTIME = 'D:\Vim\gvim_8.1.2269_x64' # vim 8.2.3995 [vader-vim-823995] command = "make" args = ['test'] isBackground = false [vader-vim-823995.options.env] VIM_BIN = 'D:\Vim\gvim_8.2.3995_x64\vim.exe' VIM_Es = "-Es" VIM = 'D:\Vim\gvim_8.2.3995_x64' VIMRUNTIME = 'D:\Vim\gvim_8.2.3995_x64' [vader-vim-823995-buf] command = 'D:\Vim\gvim_8.2.3995_x64\vim.exe' args = ['-Nu', 'test/vimrc', '-c', 'Vader! ${relativeFile}'] isBackground = false [vader-vim-823995-buf.options.env] VIM = 'D:\Vim\gvim_8.2.3995_x64' VIMRUNTIME = 'D:\Vim\gvim_8.2.3995_x64' # vim 9.1.0196 [vader-vim-910196] command = "make" args = ['test'] isBackground = false [vader-vim-910196.options.env] VIM_BIN = 'D:\Vim\gvim_9.1.0196_x64\vim.exe' VIM_Es = "-Es" VIM = 'D:\Vim\gvim_9.1.0196_x64' VIMRUNTIME = 'D:\Vim\gvim_9.1.0196_x64' [vader-vim-910196-buf] command = 'D:\Vim\gvim_9.1.0196_x64\vim.exe' args = ['-Nu', 'test/vimrc', '-Es', '-c', 'Vader! ${relativeFile}'] isBackground = false [vader-vim-910196-buf.options.env] VIM = 'D:\Vim\gvim_9.1.0196_x64' VIMRUNTIME = 'D:\Vim\gvim_9.0.0196_x64' [vader-nvim-buf] command = 'nvim' args = ['-Nu', 'test/vimrc', '--headless', '-c', 'Vader! ${relativeFile}'] isBackground = false [vader-nvim-buf.options.env] VIM = '' VIMRUNTIME = '' [generate-vim-doc] command = "python" args = ['-m', 'vimdoc', '.'] isBackground = true [test_problemMatcher] command = "echo" args = ['.SpaceVim.d/tasks.toml:6:1 test error message'] isBackground = true [test_problemMatcher.problemMatcher] useStdout = true errorformat = '%f:%l:%c\ %m' [test_regexp] command = "echo" args = ['.SpaceVim.d/tasks.toml:12:1 test error message'] isBackground = true [test_regexp.problemMatcher] useStdout = true [test_regexp.problemMatcher.pattern] regexp = '\(.*\):\(\d\+\):\(\d\+\)\s\(\S.*\)' file = 1 line = 2 column = 3 #severity = 4 message = 4 [open-nvim-050] command = "wt.exe" args = ['new-tab', '-p', 'nvim-v0.5.0'] isBackground = true [open-nvim-050.options] cwd = 'C:\Users\wsdjeg\.SpaceVim' [open-nvim-050.options.env] VIM = 'D:\Neovim\v0.5.0' VIMRUNTIME = 'D:\Neovim\v0.5.0\share\nvim\runtime' [open-nvim-030] command = "wt.exe" args = ['new-tab', '-p', 'nvim-v0.3.0'] isBackground = true description = 'open neovim v0.3.0 in new terminal tab' [open-nvim-030.options] cwd = 'C:\Users\wsdjeg\.SpaceVim' [open-nvim-030.options.env] VIM = 'D:\Neovim\v0.3.0\share\nvim' VIMRUNTIME = 'D:\Neovim\v0.3.0\share\nvim\runtime' # test bundle scrollbar.vim [bundle-scrollbar-vim-812269] command = 'wt.exe' args = ['-d', 'D:\wsdjeg\scrollbar.vim', 'D:\Vim\gvim_8.1.2269_x64\vim.exe', '-Nu', 'test/vimrc'] isBackground = true [bundle-scrollbar-vim-812269.options.env] VIM = 'D:\Vim\gvim_8.1.2269_x64' VIMRUNTIME = 'D:\Vim\gvim_8.1.2269_x64' [bundle-scrollbar-nvim-038] command = 'wt.exe' args = ['-d', 'D:\wsdjeg\scrollbar.vim', 'D:\Neovim\v0.4.2\bin\nvim.exe', '-Nu', 'test/vimrc'] isBackground = true [bundle-scrollbar-nvim-038.options.env] VIM = 'D:\Neovim\v0.4.2' VIMRUNTIME = 'D:\Neovim\v0.4.2\share\nvim\runtime' [bundle-vim-zettelkasten-nvim] command = 'wt.exe' args = ['-d', 'D:\wsdjeg\vim-zettelkasten', 'D:\Scoop\apps\neovim\current\bin\nvim.exe', '-Nu', 'test/init.vim'] isBackground = true [bundle-vim-zettelkasten-nvim.options.env] VIM = 'D:\Scoop\apps\neovim\current\share\nvim' VIMRUNTIME = 'D:\Scoop\apps\neovim\current\share\nvim\runtime' [bundle-nvim-plug] command = 'wt.exe' args = ['-d', 'C:\Users\wsdjeg\.SpaceVim\bundle\nvim-plug', 'D:\Scoop\apps\neovim\current\bin\nvim.exe', '-Nu', 'test/init.lua'] isBackground = true [bundle-nvim-plug.options.env] VIM = 'D:\Scoop\apps\neovim\current\share\nvim' VIMRUNTIME = 'D:\Scoop\apps\neovim\current\share\nvim\runtime' ================================================ FILE: .SpaceVim.d/types/vim.fn.lua ================================================ -- Return an item that represents a time value. The item is a -- list with items that depend on the system. -- The item can be passed to `reltimestr()` to convert it to a -- string or `reltimefloat()` to convert to a Float. -- -- Without an argument it returns the current "relative time", an -- implementation-defined value meaningful only when used as an -- argument to `reltime()`, `reltimestr()` and `reltimefloat()`. -- -- With one argument it returns the time passed since the time -- specified in the argument. -- With two arguments it returns the time passed between {start} -- and {end}. -- -- The {start} and {end} arguments must be values returned by -- reltime(). Returns zero on error. -- -- Can also be used as a `method`: -- ```vim -- GetStart()->reltime() -- ``` -- Note: `localtime()` returns the current (non-relative) time. --- @param start? any[] --- @param end_? any[] --- @return any[] function vim.fn.reltime(start, end_) end ================================================ FILE: .ci/bootstrap ================================================ #!/bin/sh # usage: script/bootstrap # cd docs && bundle install ================================================ FILE: .ci/build-production ================================================ #!/bin/sh # usage: script/build-production # # Run the jekyll build cd docs && bundle exec jekyll build ================================================ FILE: .ci/common/github_commenter.vim ================================================ exe 'set nocp' set rtp+=/build/GitHub.vim set rtp+=/API so /build/GitHub.vim/plugin/github.vim let s:LIST = SpaceVim#api#import('data#list') let s:log = filereadable('build_log') ? system('cat build_log') : '' let g:githubapi_verbose = 1 function! s:update_log(log, summary, new_log) abort let log = split(a:log, "\n") let begin = -1 let end = -1 for i in range(len(log)) if log[i] =~ a:summary let begin = i endif if begin != -1 && log[i] ==# '' let end = i endif endfor if begin != -1 && end != -1 return s:LIST.replace(log, begin, end, split(a:new_log, "\n")) else return a:log . "\n" . a:new_log endif endfunction if !empty(s:log) if $LINT ==# 'vader' let s:summary = $VIM . ' ' . $LINT . ' build log' else let s:summary = $LINT . ' build log' endif let s:log = '
' . s:summary . "\n" . s:log . "\n
" let s:comments = github#api#issues#List_comments('SpaceVim', 'SpaceVim',$TRAVIS_PULL_REQUEST ,'') if empty(s:comments) call github#api#issues#Create_comment('SpaceVim','SpaceVim', $TRAVIS_PULL_REQUEST, {'body': s:log}, 'SpaceVimBot', $BOTSECRET) else let s:nr = 0 for s:comment in s:comments if s:comment.user.login ==# 'SpaceVimBot' let s:nr = s:comment.id break endif endfor if s:nr == 0 call github#api#issues#Create_comment('SpaceVim','SpaceVim', $TRAVIS_PULL_REQUEST, {'body': s:log}, 'SpaceVimBot', $BOTSECRET) else call github#api#issues#Edit_comment('SpaceVim','SpaceVim', s:nr, \ {'body': s:update_log(s:comment.body, s:summary, s:log)}, 'SpaceVimBot', $BOTSECRET) endif endif else if $LINT ==# 'vader' let s:summary = $VIM . ' ' . $LINT . ' build log' else let s:summary = $LINT . ' build log' endif let s:log = '
' . s:summary . "\n" . s:log . "\n
" let s:comments = github#api#issues#List_comments('SpaceVim', 'SpaceVim',$TRAVIS_PULL_REQUEST ,'') if !empty(s:comments) let s:nr = 0 for s:comment in s:comments if s:comment.user.login ==# 'SpaceVimBot' let s:nr = s:comment.id break endif endfor if s:nr != 0 call github#api#issues#Edit_comment('SpaceVim','SpaceVim', s:nr, \ {'body': s:update_log(s:comment.body, s:summary, s:log)}, 'SpaceVimBot', $BOTSECRET) endif endif endif echom v:shell_error quit ================================================ FILE: .ci/detach_plugin.sh ================================================ #!/usr/bin/env bash _detact () { cp -f ../../$1 $1 } _detact_bundle () { cp -f ../../bundle/$1/$2 $2 } _checkdir () { if [[ ! -d "$1" ]]; then mkdir -p $1 fi } _default_readme () { cat < README.md # $1 > $2 This plugin is automatically detach from [SpaceVim](https://github.com/SpaceVim/SpaceVim/). you can use it without SpaceVim. EOT } main () { case "$1" in FlyGrep.vim) git clone https://github.com/wsdjeg/$1.git detach/$1 cd detach/$1 _checkdir syntax/ _checkdir autoload/SpaceVim/api _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/neovim _checkdir autoload/SpaceVim/api/data _checkdir autoload/SpaceVim/mapping _checkdir autoload/SpaceVim/plugins _detact autoload/SpaceVim/plugins/flygrep.vim _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/logger.vim _detact autoload/SpaceVim/api/vim/buffer.vim _detact autoload/SpaceVim/api/vim/regex.vim _detact autoload/SpaceVim/api/vim/compatible.vim _detact autoload/SpaceVim/api/vim/floating.vim _detact autoload/SpaceVim/api/vim/highlight.vim _detact autoload/SpaceVim/api/vim/statusline.vim _detact autoload/SpaceVim/api/vim/window.vim _detact autoload/SpaceVim/api/neovim/floating.vim _detact autoload/SpaceVim/api/data/dict.vim _detact autoload/SpaceVim/api/data/list.vim _detact autoload/SpaceVim/api/data/json.vim _detact autoload/SpaceVim/api/data/string.vim _detact autoload/SpaceVim/api/prompt.vim _detact autoload/SpaceVim/api/job.vim _detact autoload/SpaceVim/api/vim.vim _detact autoload/SpaceVim/api/file.vim _detact autoload/SpaceVim/api/system.vim _detact autoload/SpaceVim/api/time.vim _detact autoload/SpaceVim/mapping/search.vim _detact autoload/SpaceVim/logger.vim # detach lua version flygrep _checkdir lua/spacevim/api _checkdir lua/spacevim/api/vim _checkdir lua/spacevim/plugin _detact lua/spacevim/plugin/flygrep.lua _detact lua/spacevim/plugin/search.lua _detact lua/spacevim.lua _detact lua/spacevim/logger.lua _detact lua/spacevim/api.lua _detact lua/spacevim/api/logger.lua _detact lua/spacevim/api/prompt.lua _detact lua/spacevim/api/notify.lua _detact lua/easing.lua _detact lua/spacevim/api/job.lua _detact lua/spacevim/api/password.lua _detact lua/spacevim/api/vim.lua _detact lua/spacevim/api/system.lua _detact lua/spacevim/api/vim/compatible.lua _detact lua/spacevim/api/vim/highlight.lua _detact lua/spacevim/api/vim/regex.lua _detact lua/spacevim/api/vim/keys.lua _detact lua/spacevim/api/vim/buffer.lua _detact lua/spacevim/api/vim/window.lua _detact lua/spacevim/api/vim/statusline.lua # detach syntax/ftplugin etc _detact syntax/SpaceVimFlyGrep.vim # detach bundle _checkdir plugin _detact_bundle FlyGrep plugin/FlyGrep.vim _detact_bundle FlyGrep README.md _detact_bundle FlyGrep addon-info.json _checkdir doc/ _detact_bundle FlyGrep doc/FlyGrep.txt # detach LICENSE _detact LICENSE # detach test vimrc _checkdir test _detact_bundle FlyGrep test/vimrc ;; flygrep.nvim) git clone https://github.com/wsdjeg/$1.git detach/$1 cd detach/$1 _detact LICENSE _checkdir plugin _detact_bundle flygrep.nvim plugin/flygrep.lua _detact_bundle flygrep.nvim README.md _checkdir lua/flygrep _detact_bundle flygrep.nvim lua/flygrep.lua _detact_bundle flygrep.nvim lua/flygrep/config.lua _detact_bundle flygrep.nvim lua/flygrep/highlight.lua _detact LICENSE _detact .stylua.toml _checkdir lua/spacevim/api/vim _detact lua/spacevim/api/job.lua _detact lua/spacevim/api/vim/highlight.lua ;; dein-ui.vim) git clone https://github.com/wsdjeg/dein-ui.vim.git detach/$1 cd detach/$1 _checkdir syntax/ _checkdir autoload/SpaceVim/api _checkdir autoload/SpaceVim/api/data _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/mapping _checkdir autoload/SpaceVim/plugins _detact autoload/SpaceVim/plugins/manager.vim _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/commands.vim _detact autoload/SpaceVim/logger.vim _detact autoload/SpaceVim/api/job.vim _detact autoload/SpaceVim/api/system.vim _detact autoload/SpaceVim/api/data/list.vim _detact autoload/SpaceVim/api/vim/compatible.vim _detact syntax/SpaceVimPlugManager.vim _detact LICENSE _detact_bundle dein-ui.vim README.md _detact_bundle dein-ui.vim plugin/deinui.vim ;; nvim-plug) git clone https://github.com/wsdjeg/nvim-plug.git detach/$1 cd detach/$1 _checkdir lua/spacevim/api _detact lua/spacevim/api/job.lua _detact lua/spacevim/api/notify.lua _detact lua/easing.lua _detact lua/spacevim/api/password.lua _detact LICENSE _detact_bundle $1 README.md _checkdir plugin _detact_bundle $1 plugin/plug.lua _checkdir lua/plug _detact_bundle $1 lua/plug/config.lua _detact_bundle $1 lua/plug/hooks.lua _detact_bundle $1 lua/plug/init.lua _detact_bundle $1 lua/plug/installer.lua _detact_bundle $1 lua/plug/loader.lua _detact_bundle $1 lua/plug/ui.lua _checkdir test _detact_bundle $1 test/init.lua ;; format.nvim) git clone https://github.com/wsdjeg/format.nvim.git detach/$1 cd detach/$1 _detact LICENSE _checkdir plugin _detact_bundle format.nvim plugin/format.lua _detact_bundle format.nvim README.md _checkdir lua/format/ft _detact_bundle format.nvim lua/format.lua _detact_bundle format.nvim lua/format/util.lua _detact_bundle format.nvim lua/format/task.lua _detact_bundle format.nvim lua/format/config.lua _detact_bundle format.nvim lua/format/ft/c.lua _detact_bundle format.nvim lua/format/ft/json.lua _detact_bundle format.nvim lua/format/ft/markdown.lua _detact_bundle format.nvim lua/format/ft/rust.lua # detact spacevim core files _checkdir lua/spacevim/api _detact lua/spacevim.lua _detact lua/spacevim/logger.lua _detact lua/spacevim/api.lua _detact lua/spacevim/api/logger.lua _detact lua/spacevim/api/job.lua _detact lua/spacevim/api/notify.lua _detact lua/easing.lua _detact lua/spacevim/api/password.lua _checkdir autoload/SpaceVim/api/neovim _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/data _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/notify.vim _detact autoload/SpaceVim/api/neovim/floating.vim _detact autoload/SpaceVim/api/vim/floating.vim _detact autoload/SpaceVim/api/data/dict.vim ;; record-key.nvim) git clone https://github.com/wsdjeg/record-key.nvim.git detach/$1 cd detach/$1 _checkdir plugin _detact_bundle record-key.nvim plugin/record-key.lua _detact_bundle record-key.nvim README.md _checkdir lua/spacevim/plugin _detact lua/spacevim/plugin/record-key.lua _checkdir lua/spacevim/api _detact lua/spacevim.lua _detact lua/spacevim/logger.lua _detact lua/spacevim/api.lua _detact lua/spacevim/api/logger.lua _detact lua/spacevim/api/notify.lua _detact lua/easing.lua _detact lua/spacevim/api/password.lua _checkdir autoload/SpaceVim/api/neovim _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/data _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/notify.vim _detact autoload/SpaceVim/api/neovim/floating.vim _detact autoload/SpaceVim/api/vim/floating.vim _detact autoload/SpaceVim/api/data/dict.vim ;; cpicker.nvim) git clone https://github.com/wsdjeg/cpicker.nvim.git detach/$1 cd detach/$1 _checkdir syntax _detact_bundle cpicker.nvim syntax/spacevim_cpicker.vim _detact_bundle cpicker.nvim syntax/spacevim_cpicker_mix.vim _detact_bundle cpicker.nvim README.md _checkdir plugin _detact_bundle cpicker.nvim plugin/cpicker.lua _checkdir lua/cpicker/formats _detact_bundle cpicker.nvim lua/cpicker.lua _detact_bundle cpicker.nvim lua/cpicker/util.lua _detact_bundle cpicker.nvim lua/cpicker/mix.lua _detact_bundle cpicker.nvim lua/cpicker/formats/cmyk.lua _detact_bundle cpicker.nvim lua/cpicker/formats/hsl.lua _detact_bundle cpicker.nvim lua/cpicker/formats/hsv.lua _detact_bundle cpicker.nvim lua/cpicker/formats/hwb.lua _detact_bundle cpicker.nvim lua/cpicker/formats/lab.lua _detact_bundle cpicker.nvim lua/cpicker/formats/linear.lua _detact_bundle cpicker.nvim lua/cpicker/formats/rgb.lua _detact_bundle cpicker.nvim lua/cpicker/formats/xyz.lua _checkdir lua/spacevim/api _detact lua/spacevim/api/color.lua _detact lua/spacevim/api/notify.lua _detact lua/easing.lua _detact lua/spacevim/api/password.lua _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/data _detact autoload/SpaceVim/api/notify.vim _detact autoload/SpaceVim/api/data/string.vim _detact autoload/SpaceVim/api/data/number.vim _detact autoload/SpaceVim/api/vim/buffer.vim _detact autoload/SpaceVim/api/vim/floatting.vim _checkdir autoload/SpaceVim/api/neovim _detact autoload/SpaceVim/api/neovim/floatting.vim _detact LICENSE ;; SourceCounter.vim) git clone https://github.com/wsdjeg/SourceCounter.vim.git detach/$1 cd detach/$1 _checkdir plugin _detact_bundle SourceCounter.vim plugin/SourceCounter.vim _checkdir autoload _detact_bundle SourceCounter.vim autoload/SourceCounter.vim _checkdir doc _detact_bundle SourceCounter.vim doc/SourceCounter.vim.txt _detact_bundle SourceCounter.vim README.md _detact_bundle SourceCounter.vim addon-info.json _detact LICENSE _checkdir pic _detact_bundle SourceCounter.vim pic/screen.png _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/data _detact autoload/SpaceVim/api/notify.vim _detact autoload/SpaceVim/api/data/string.vim _detact autoload/SpaceVim/api/data/number.vim _detact autoload/SpaceVim/api/vim/buffer.vim _detact autoload/SpaceVim/api/vim/floatting.vim _checkdir autoload/SpaceVim/api/neovim _detact autoload/SpaceVim/api/neovim/floatting.vim ;; iedit.vim) git clone https://github.com/wsdjeg/iedit.vim.git detach/$1 cd detach/$1 _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/data _checkdir autoload/SpaceVim/plugins _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/vim/compatible.vim _detact autoload/SpaceVim/api/vim/highlight.vim _detact autoload/SpaceVim/api/data/string.vim _detact autoload/SpaceVim/plugins/iedit.vim _checkdir autoload/plugin cat < autoload/plugin/iedit.vim "============================================================================= " iedit.vim --- multiple cursor support for neovim and vim " Copyright (c) 2016-2022 Shidong Wang & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://github.com/wsdjeg/iedit.vim " License: MIT license "============================================================================= "" " @section Introduction, intro " @stylized iedit.vim " @library " @order intro version dicts functions exceptions layers api faq " multiple cursor in vim, written in pure vim script for MacVim, gvim and vim version " 8.0+. " command! -nargs=0 Iedit call SpaceVim#plugins#iedit#start() EOT _detact LICENSE _default_readme "iedit.vim" "multiple cussor support for Vim/Neovim" ;; vim-todo) git clone https://github.com/wsdjeg/vim-todo.git detach/$1 cd detach/$1 _checkdir syntax/ _detact syntax/SpaceVimTodoManager.vim _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/data _checkdir autoload/SpaceVim/plugins _checkdir autoload/SpaceVim/mapping _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/logger.vim _detact autoload/SpaceVim/api/job.vim _detact autoload/SpaceVim/api/system.vim _detact autoload/SpaceVim/api/data/string.vim _detact autoload/SpaceVim/api/file.vim _detact autoload/SpaceVim/api/vim/buffer.vim _detact autoload/SpaceVim/api/vim/regex.vim _detact autoload/SpaceVim/api/vim/compatible.vim _detact autoload/SpaceVim/logger.vim _detact autoload/SpaceVim/mapping/search.vim _detact autoload/SpaceVim/plugins/todo.vim _checkdir plugin cat < plugin/todo.vim "============================================================================= " todo.vim --- todo manager for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= command! OpenTodo call todo#open() EOT _detact LICENSE ;; vim-chat) git clone https://github.com/wsdjeg/vim-chat.git detach/$1 cd detach/$1 _detact LICENSE _checkdir autoload/SpaceVim/api _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/job.vim _checkdir autoload/chat/ _detact_bundle vim-chat autoload/chat.vim _detact_bundle vim-chat autoload/chat/gitter.vim _detact_bundle vim-chat autoload/chat/logger.vim _detact_bundle vim-chat autoload/chat/notify.vim _detact_bundle vim-chat autoload/chat/qq.vim _detact_bundle vim-chat autoload/chat/weixin.vim _checkdir doc/ _detact_bundle vim-chat doc/vim-chat.txt _checkdir syntax/ _detact_bundle vim-chat syntax/vimchat.vim _detact_bundle vim-chat addon-info.json _detact_bundle vim-chat README.md ;; JavaUnit.vim) git clone https://github.com/wsdjeg/JavaUnit.vim.git detach/$1 cd detach/$1 # _detact LICENSE # _checkdir autoload/SpaceVim/api # _detact autoload/SpaceVim/api.vim # _detact autoload/SpaceVim/api/job.vim # _checkdir autoload/chat/ _detact_bundle JavaUnit.vim README.md ;; git.vim) git clone https://github.com/wsdjeg/git.vim.git detach/$1 cd detach/$1 _checkdir autoload/SpaceVim/api _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/job.vim _detact_bundle git.vim LICENSE _detact_bundle git.vim README.md _detact_bundle git.vim addon-info.json _checkdir autoload/git/branch _detact_bundle git.vim autoload/git.vim _detact_bundle git.vim autoload/git/add.vim _detact_bundle git.vim autoload/git/blame.vim _detact_bundle git.vim autoload/git/branch.vim _detact_bundle git.vim autoload/git/branch/manager.vim _detact_bundle git.vim autoload/git/checkout.vim _detact_bundle git.vim autoload/git/cherry_pick.vim _detact_bundle git.vim autoload/git/clean.vim _detact_bundle git.vim autoload/git/commit.vim _detact_bundle git.vim autoload/git/config.vim _detact_bundle git.vim autoload/git/diff.vim _detact_bundle git.vim autoload/git/fetch.vim _detact_bundle git.vim autoload/git/log.vim _detact_bundle git.vim autoload/git/logger.vim _detact_bundle git.vim autoload/git/merge.vim _detact_bundle git.vim autoload/git/mv.vim _detact_bundle git.vim autoload/git/pull.vim _detact_bundle git.vim autoload/git/push.vim _detact_bundle git.vim autoload/git/rebase.vim _detact_bundle git.vim autoload/git/reflog.vim _detact_bundle git.vim autoload/git/remote.vim _detact_bundle git.vim autoload/git/reset.vim _detact_bundle git.vim autoload/git/rm.vim _detact_bundle git.vim autoload/git/stash.vim _detact_bundle git.vim autoload/git/status.vim _checkdir doc _detact_bundle git.vim doc/git.txt _checkdir plugin _detact_bundle git.vim plugin/git.vim _checkdir syntax _detact_bundle git.vim syntax/git-blame.vim _detact_bundle git.vim syntax/git-commit.vim _detact_bundle git.vim syntax/git-config.vim _detact_bundle git.vim syntax/git-log.vim _detact_bundle git.vim syntax/git-rebase.vim _detact_bundle git.vim syntax/git-reflog.vim _checkdir test _detact_bundle git.vim test/vimrc _checkdir lua/spacevim/api _detact lua/spacevim/api/job.lua _detact lua/spacevim/api/logger.lua _detact lua/spacevim/api.lua _detact lua/spacevim/logger.lua _detact lua/spacevim.lua _detact lua/spacevim/api/notify.lua _detact lua/easing.lua _detact lua/spacevim/api/password.lua _checkdir lua/git/command _checkdir lua/git/ui _detact_bundle git.vim lua/git/init.lua _detact_bundle git.vim lua/git/log.lua _detact_bundle git.vim lua/git/command/add.lua _detact_bundle git.vim lua/git/command/add.lua _detact_bundle git.vim lua/git/command/blame.lua _detact_bundle git.vim lua/git/command/branch.lua _detact_bundle git.vim lua/git/command/checkout.lua _detact_bundle git.vim lua/git/command/cherry-pick.lua _detact_bundle git.vim lua/git/command/clean.lua _detact_bundle git.vim lua/git/command/commit.lua _detact_bundle git.vim lua/git/command/config.lua _detact_bundle git.vim lua/git/command/diff.lua _detact_bundle git.vim lua/git/command/fetch.lua _detact_bundle git.vim lua/git/command/grep.lua _detact_bundle git.vim lua/git/command/log.lua _detact_bundle git.vim lua/git/command/merge.lua _detact_bundle git.vim lua/git/command/mv.lua _detact_bundle git.vim lua/git/command/pull.lua _detact_bundle git.vim lua/git/command/push.lua _detact_bundle git.vim lua/git/command/rebase.lua _detact_bundle git.vim lua/git/command/reflog.lua _detact_bundle git.vim lua/git/command/remote.lua _detact_bundle git.vim lua/git/command/reset.lua _detact_bundle git.vim lua/git/command/rm.lua _detact_bundle git.vim lua/git/command/shortlog.lua _detact_bundle git.vim lua/git/command/stash.lua _detact_bundle git.vim lua/git/command/status.lua _detact_bundle git.vim lua/git/command/tag.lua _detact_bundle git.vim lua/git/command/update-index.lua _detact_bundle git.vim lua/git/ui/branch.lua _detact_bundle git.vim lua/git/ui/remote.lua ;; vim-cheat) git clone https://github.com/wsdjeg/vim-cheat.git detach/$1 cd detach/$1 _checkdir plugin/ _checkdir autoload/ _detact LICENSE _detact_bundle vim-cheat autoload/cheat.vim _detact_bundle vim-cheat plugin/cheat.vim _detact_bundle vim-cheat README.md _detact_bundle vim-cheat .travis.yml _detact_bundle vim-cheat .vintrc.yaml _checkdir doc/ _detact_bundle vim-cheat doc/vim-cheat.txt ;; vim-zettelkasten) git clone https://github.com/wsdjeg/vim-zettelkasten.git detach/$1 cd detach/$1 _detact LICENSE _checkdir plugin/ _detact_bundle vim-zettelkasten plugin/zettelkasten.lua _detact_bundle vim-zettelkasten README.md _checkdir doc/ _detact_bundle vim-zettelkasten doc/vim-zettelkasten.txt _checkdir ftdetect _detact_bundle vim-zettelkasten ftdetect/zettelkasten.lua _checkdir syntax _detact_bundle vim-zettelkasten syntax/zkbrowser.vim _detact_bundle vim-zettelkasten syntax/zktagstree.vim _checkdir ftplugin _detact_bundle vim-zettelkasten ftplugin/markdown.lua _detact_bundle vim-zettelkasten ftplugin/zkbrowser.lua _detact_bundle vim-zettelkasten ftplugin/zktagstree.lua _checkdir lua/zettelkasten _detact_bundle vim-zettelkasten lua/zettelkasten.lua _detact_bundle vim-zettelkasten lua/zettelkasten/browser.lua _detact_bundle vim-zettelkasten lua/zettelkasten/config.lua _detact_bundle vim-zettelkasten lua/zettelkasten/formatter.lua _detact_bundle vim-zettelkasten lua/zettelkasten/log.lua _detact_bundle vim-zettelkasten lua/zettelkasten/sidebar.lua _checkdir test/ _detact_bundle vim-zettelkasten test/init.vim _checkdir lua/telescope/_extensions _detact_bundle vim-zettelkasten lua/telescope/_extensions/zettelkasten_tags.lua _detact_bundle vim-zettelkasten lua/telescope/_extensions/zettelkasten_template.lua _detact_bundle vim-zettelkasten lua/telescope/_extensions/zettelkasten.lua # detach spacevim core files _checkdir lua/spacevim/api/vim _detact lua/spacevim.lua _detact lua/spacevim/logger.lua _detact lua/spacevim/api.lua _detact lua/spacevim/api/logger.lua _detact lua/spacevim/api/notify.lua _detact lua/easing.lua _detact lua/spacevim/api/password.lua _detact lua/spacevim/api/vim/highlight.lua _checkdir autoload/SpaceVim/api _checkdir autoload/SpaceVim/api/neovim _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/data _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/notify.vim _detact autoload/SpaceVim/api/neovim/floating.vim _detact autoload/SpaceVim/api/vim/floating.vim _detact autoload/SpaceVim/api/data/dict.vim ;; xmake.vim) git clone https://github.com/wsdjeg/xmake.vim.git detach/$1 cd detach/$1 _checkdir plugin/ _detact_bundle xmake.vim plugin/xmake.vim _detact_bundle xmake.vim plugin/xmgen.py _checkdir autoload/ _detact_bundle xmake.vim autoload/xmake.vim _detact_bundle xmake.vim autoload/spy.lua _detact LICENSE _default_readme "xmake.vim" "xmake support for neovim/vim" _checkdir autoload/xmake/ _detact_bundle xmake.vim autoload/xmake/log.vim _checkdir doc/ _detact_bundle xmake.vim doc/xmake.txt _checkdir UltiSnips/ _detact_bundle xmake.vim UltiSnips/lua.snippets _checkdir rplugin/python3/deoplete/sources/docs/ _detact_bundle xmake.vim rplugin/python3/deoplete/sources/xmake.py _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_defines _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_defines _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_deps _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_files _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_headers _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_includedirs _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_linkdirs _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_links _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/add_subdirs _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/is_os _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/is_plat _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_basename _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_headerdir _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_kind _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_languages _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_objectdir _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_optimize _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_project _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_strip _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_symbols _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_targetdir _detact_bundle xmake.vim rplugin/python3/deoplete/sources/docs/set_warnings ;; scrollbar.vim) git clone https://github.com/wsdjeg/scrollbar.vim.git detach/$1 cd detach/$1 _checkdir autoload/SpaceVim/api/ _checkdir autoload/SpaceVim/api/vim _checkdir autoload/SpaceVim/api/neovim _checkdir autoload/SpaceVim/api/data _detact autoload/SpaceVim/api.vim _detact autoload/SpaceVim/api/vim.vim _detact autoload/SpaceVim/api/system.vim _detact autoload/SpaceVim/api/logger.vim _detact autoload/SpaceVim/api/time.vim _detact autoload/SpaceVim/api/vim/compatible.vim _detact autoload/SpaceVim/api/vim/buffer.vim _detact autoload/SpaceVim/api/vim/window.vim _detact autoload/SpaceVim/api/vim/floating.vim _detact autoload/SpaceVim/api/vim/highlight.vim _detact autoload/SpaceVim/api/neovim/floating.vim _detact autoload/SpaceVim/api/data/dict.vim _detact autoload/SpaceVim/api/data/string.vim _checkdir autoload/SpaceVim/plugins/ _detact autoload/SpaceVim/plugins/scrollbar.vim _detact LICENSE _detact_bundle scrollbar.vim README.md _checkdir plugin _detact_bundle scrollbar.vim plugin/scrollbar.vim _checkdir test _detact_bundle scrollbar.vim test/vimrc _checkdir lua/spacevim/plugin _detact lua/spacevim/plugin/scrollbar.lua _checkdir lua/spacevim/api/vim _detact lua/spacevim/api/vim/buffer.lua _detact lua/spacevim/api/vim/window.lua _detact autoload/SpaceVim/logger.vim ;; quickfix.nvim) git clone https://github.com/wsdjeg/quickfix.nvim.git detach/$1 cd detach/$1 _checkdir plugin _checkdir lua _detact_bundle quickfix.nvim lua/quickfix.lua _detact_bundle quickfix.nvim plugin/quickfix.lua _detact LICENSE _detact_bundle quickfix.nvim README.md ;; winbar.nvim) git clone https://github.com/wsdjeg/winbar.nvim.git detach/$1 cd detach/$1 _checkdir plugin _checkdir lua/winbar _detact_bundle winbar.nvim lua/winbar/init.lua _detact_bundle winbar.nvim plugin/winbar.lua _detact LICENSE _detact_bundle winbar.nvim README.md _checkdir autoload/SpaceVim/mapping/guide/theme _detact autoload/SpaceVim/mapping/guide/theme/gruvbox.vim _checkdir lua/spacevim/api/vim _detact lua/spacevim/api/vim/highlight.lua ;; GitHub.vim) git clone https://github.com/wsdjeg/GitHub.vim.git detach/$1 cd detach/$1 _checkdir plugin/ _checkdir autoload/ _detact LICENSE _detact_bundle github.vim autoload/github.vim _detact_bundle github.vim plugin/github.vim _default_readme "GitHub.vim" "GitHub API support for neovim/vim[wip]" _checkdir doc/ _detact_bundle github doc/github.txt ;; esac git add . git config user.email "wsdjeg@outlook.com" git config user.name "Eric Wong" git commit -m "${SpaceVim_COMMIT_MSG}" git remote add wsdjeg_$1 https://SpaceVimBot:${BOTSECRET}@github.com/wsdjeg/$1.git git push wsdjeg_$1 master cd - rm -rf detach/$1 exit 0 } main $@ ================================================ FILE: .ci/install/linux.sh ================================================ #!/usr/bin/env bash # Fail on unset variables and command errors set -ue -o pipefail # Prevent commands misbehaving due to locale differences export LC_ALL=C install_vim() { local URL=https://github.com/vim/vim local tag=$1 local ext=$([[ $tag == "nightly" ]] && echo "" || echo "-b $tag") local tmp="$(mktemp -d)" local out="${DEPS}/_vim/$tag" mkdir -p $out git clone --depth 1 --single-branch $ext $URL $tmp cd $tmp # Apply Vim patch v8.0.1635 to fix build with Python. if grep -q _POSIX_THREADS src/if_python3.c; then sed -i '/#ifdef _POSIX_THREADS/,+2 d' src/if_python3.c fi ./configure \ --with-features=huge \ --enable-pythoninterp \ --enable-python3interp \ --enable-luainterp \ --prefix=${out} make make install } install_nvim() { local URL=https://github.com/neovim/neovim local tag=$1 local tmp="$(mktemp -d)" local out="${DEPS}/_neovim/$tag" mkdir -p $out if [[ $tag == "nightly" ]]; then curl -o $tmp/nvim-linux-x86_64.tar.gz -L "https://github.com/neovim/neovim/releases/download/$tag/nvim-linux-x86_64.tar.gz" tar -xzvf $tmp/nvim-linux-x86_64.tar.gz -C $tmp cp -r $tmp/nvim-linux-x86_64/* $out else curl -o $tmp/nvim-linux64.tar.gz -L "https://github.com/neovim/neovim/releases/download/$tag/nvim-linux64.tar.gz" tar -xzvf $tmp/nvim-linux64.tar.gz -C $tmp cp -r $tmp/nvim-linux64/* $out fi chmod +x $out/bin/nvim # fix ModuleNotFoundError: No module named 'setuptools' python3 -m pip install -U setuptools python3 -m pip install pynvim } install() { local vim=$1 local tag=$2 if [[ -d "${DEPS}/_$vim/$tag/bin" ]]; then echo "Use a cached version '$HOME/_$vim/$tag'." return fi if [[ $vim == "nvim" ]]; then install_nvim $tag else install_vim $tag fi } install $@ ================================================ FILE: .ci/install/windows.ps1 ================================================ function install_vim($ver) { if ($ver -eq "nightly") { $url = 'https://github.com/vim/vim-win32-installer/releases/download/v8.2.3361/gvim_8.2.3361_x86.zip' } else { $ver = $ver -replace "^v", "" $url = 'https://github.com/vim/vim-win32-installer/releases/download/v' + $ver + '/gvim_' + $ver + '_x86.zip' } $Env:VIM_BIN = $Env:DEPS + '\vim\vim82\vim.exe' $zip = $Env:DEPS + '\vim.zip' echo "download: $url" echo "path: $zip" (New-Object Net.WebClient).DownloadFile($url, $zip) [Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null [System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $Env:DEPS) } function install_nvim($ver) { if ($ver -eq "nightly") { $url = 'https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.zip' } else { $url = 'https://github.com/neovim/neovim/releases/download/' + $ver + '/nvim-win64.zip' } $zip = $Env:DEPS + '\nvim.zip' (New-Object Net.WebClient).DownloadFile($url, $zip) [Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null [System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $Env:DEPS) if (Test-Path '$DEPS\Neovim\bin\nvim.exe') { $Env:VIM_BIN = $Env:DEPS + '\Neovim\bin\nvim.exe' }else{ $Env:VIM_BIN = $Env:DEPS + '\nvim-win64\bin\nvim.exe' } echo "VIM_BIN is: $Env:VIM_BIN" } function download_lua() { $url = 'https://github.com/wsdjeg/vim-galore-zh_cn/releases/download/downdows/lua53.zip' $zip = $Env:DEPS + '\lua53.zip' (New-Object Net.WebClient).DownloadFile($url, $zip) [Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null [System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $Env:DEPS + '\vim\vim82') } if ($Env:VIM_BIN.StartsWith("nvim")) { mkdir $Env:DEPS install_nvim $Env:VIM_TAG } elseif ($Env:VIM_BIN.StartsWith("vim")) { mkdir $Env:DEPS install_vim $Env:VIM_TAG download_lua } ================================================ FILE: .ci/push_baidu.sh ================================================ #!/usr/bin/env bash date_en=`cat docs/_site/sitemap.xml` date_cn=`cat docs/_site/cn/sitemap.xml` echo $date_en | grep -oP 'https://spacevim[^\<]*' > urls_en.txt echo $date_cn | grep -oP 'https://spacevim[^\<]*' > urls_cn.txt curl -H 'Content-Type:text/plain' --data-binary @urls_en.txt "http://data.zz.baidu.com/urls?site=spacevim.org&token=4MYgdYW7QHIaM01P" curl -H 'Content-Type:text/plain' --data-binary @urls_cn.txt "http://data.zz.baidu.com/urls?site=spacevim.org&token=4MYgdYW7QHIaM01P" ================================================ FILE: .ci/script.sh ================================================ #!/usr/bin/env bash set -ex export TRAVIS_PULL_REQUEST=${TRAVIS_PULL_REQUEST} if [ "$LINT" = "vimlint" ]; then if [[ -f build_log ]]; then rm build_log fi for file in $(git ls-files | grep SpaceVim.*.vim); do /tmp/vimlint/bin/vimlint.sh -l /tmp/vimlint -p /tmp/vimlparser $file >> build_log 2>&1; done if [[ -s build_log ]]; then exit 2 fi elif [ "$LINT" = "vimlint-errors" ]; then if [[ -f build_log ]]; then rm build_log fi for file in $(git ls-files | grep SpaceVim.*.vim); do /tmp/vimlint/bin/vimlint.sh -E -l /tmp/vimlint -p /tmp/vimlparser $file >> build_log 2>&1; done if [[ -s build_log ]]; then exit 2 fi elif [ "$LINT" = "file-encoding" ]; then if [[ -f build_log ]]; then rm build_log fi for file in $(git diff --name-only HEAD master); do # get the encoding of a file, based on: # https://superuser.com/a/351658/618193 # It should be -b instead of -bi encoding=`file -b --mime-encoding $file` if [ $encoding != "utf-8" ] && [ $encoding != "us-ascii" ]; then echo $file " " $encoding >> build_log fi done if [[ -s build_log ]]; then exit 2 fi elif [ "$LINT" = "vint" ]; then if [[ -f build_log ]]; then rm build_log fi for file in $(git ls-files | grep SpaceVim.*.vim); do vint --enable-neovim $file >> build_log 2>&1; done if [[ -s build_log ]]; then exit 2 fi elif [ "$LINT" = "vint-errors" ]; then if [[ -f build_log ]]; then rm build_log fi for file in $(git ls-files | grep SpaceVim.*.vim); do vint --enable-neovim --error $file >> build_log 2>&1; done if [[ -s build_log ]]; then exit 2 fi elif [ "$LINT" = "vader" ]; then if [ "$VIM_BIN" = "nvim" ]; then export PATH="${DEPS}/_neovim/${VIM_TAG}/bin:${PATH}" export VIM="${DEPS}/_neovim/${VIM_TAG}/share/nvim/runtime" else export PATH="${DEPS}/_vim/${VIM_TAG}/bin:${PATH}" export VIM="${DEPS}/_vim/${VIM_TAG}/share/vim" fi echo "\$PATH: \"${PATH}\"" echo "\$VIM: \"${VIM}\"" echo "================= ${VIM_BIN} version ======================" $VIM_BIN --version pip install covimerage pip install codecov python -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);' make test_coverage covimerage -vv xml --omit 'build/*' codecov -X search gcov pycov -f coverage.xml elif [ "$LINT" = "jekyll" ]; then .ci/build-production fi set +x ================================================ FILE: .ci/update_mirror.sh ================================================ #!/usr/bin/env bash usage () { echo ".ci/update_remote.sh [option] [target]" } push_gitee() { git remote add gitee https://SpaceVimBot:${BOTSECRET}@gitee.com/spacevim/SpaceVim.git git push gitee master } push_gitlab() { git remote add gitlab https://SpaceVimBot:${BOTSECRET}@gitlab.com/SpaceVim/SpaceVim.git git push gitlab master } push_coding() { git remote add coding https://spacevim%40outlook.com:${CODINGBOTSECRET}@e.coding.net/spacevim/SpaceVim.git git push coding master } main () { case $1 in --help|-h) usage exit 0 ;; gitee) push_gitee exit 0 ;; gitlab) push_gitlab exit 0 ;; coding) push_coding exit 0 ;; esac } main $@ ================================================ FILE: .editorconfig ================================================ root = true [*.vim] indent_style = space indent_size = 2 end_of_line = lf insert_final_newline = true charset = utf-8 [*.toml] indent_style = space indent_size = 4 charset = utf-8 ================================================ FILE: .gitattributes ================================================ autoload/SpaceVim/api/iconv/** linguist-vendored lua/spacevim/api/iconv/** linguist-vendored bundle/** linguist-vendored bundle/bookmarks.vim/** linguist-vendored=false bundle/git.vim/** linguist-vendored=false bundle/flygrep.nvim/** linguist-vendored=false bundle/nvim-plug/** linguist-vendored=false bundle/FlyGrep/** linguist-vendored=false bundle/Chatting-server/** linguist-vendored=false bundle/ChineseLinter.vim/** linguist-vendored=false bundle/cpicker.nvim/** linguist-vendored=false bundle/format.nvim/** linguist-vendored=false bundle/github.vim/** linguist-vendored=false bundle/gtags.vim/** linguist-vendored=false bundle/record-key.nvim/** linguist-vendored=false bundle/vim-zettelkasten/** linguist-vendored=false # Bundle changed plugins: bundle/vim-startify/** linguist-vendored=false .ci/** linguist-vendored docker/** linguist-vendored docs/** linguist-documentation Makefile linguist-vendored ================================================ FILE: .github/CODEOWNERS ================================================ # These owners will be the default owners for everything in # the repo. Unless a later match takes precedence, # @wsdjeg will be requested for review when someone opens a # pull request. # Just watching this repo, disable duplicate message # * @wsdjeg # lang#julia layer autoload/SpaceVim/layers/lang/julia.vim @jingpengw docs/layers/lang/julia.md @jingpengw docs/cn/layers/lang/julia.md @jingpengw # lang#javascript layer autoload/SpaceVim/layers/lang/javascript.vim @zhujinxuan @S1ngS1ng @chemzqm docs/layers/lang/javascript.md @zhujinxuan @S1ngS1ng @chemzqm docs/cn/layers/lang/javascript.md @zhujinxuan @S1ngS1ng @chemzqm # lang#erlang layer autoload/SpaceVim/layers/lang/erlang.vim @suzuiyuegjy docs/layers/lang/erlang.md @suzuiyuegjy docs/cn/layers/lang/erlang.md @suzuiyuegjy ================================================ FILE: .github/FUNDING.yml ================================================ custom: https://spacevim.org/sponsors/ ================================================ FILE: .github/ISSUE_TEMPLATE/bug-report.yml ================================================ name: Bug Report description: File a bug report labels: ["bug"] body: - type: markdown attributes: value: | Thanks for taking the time to fill out this bug report! - type: textarea id: expected-behavior attributes: label: Expected behavior. description: What is the expected behavior? validations: required: true - type: textarea id: reproduce-step attributes: label: The reproduce ways from Vim starting. description: The reproduce ways are needed to debug. placeholder: Tell us what you see! value: "A bug happened!" validations: required: true - type: textarea id: SPDebugInfo attributes: label: Output of the `:SPDebugInfo!` description: Please copy and paste the result of :SPDebugInfo! command. validations: required: true ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ blank_issues_enabled: false contact_links: - name: Community Support url: https://app.element.io/#/room/#spacevim:matrix.org about: Please ask and answer questions here. ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.yml ================================================ name: Feature Request description: request an new feature labels: ["feature request"] body: - type: markdown attributes: value: | Thanks for taking the time to fill out this feature request! - type: textarea id: feature-description attributes: label: Is your feature request related to a problem? Please describe.. description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] validations: required: true - type: textarea id: feature-solution attributes: label: Describe the solution you'd like. description: A clear and concise description of what you want to happen. validations: required: true - type: textarea id: additional-context attributes: label: Additional context description: Add any other context or screenshots about the feature request here. ================================================ FILE: .github/PULL_REQUEST_TEMPLATE.md ================================================ ### PR Prelude Thank you for working on SpaceVim! :) Please complete these steps and check these boxes before filing your PR: - [ ] I have read and understood SpaceVim's [CONTRIBUTING](https://github.com/SpaceVim/SpaceVim/blob/master/CONTRIBUTING.md) document. - [ ] I have read and understood SpaceVim's [CODE_OF_CONDUCT](https://github.com/SpaceVim/SpaceVim/blob/master/CODE_OF_CONDUCT.md) document. - [ ] I understand my PR may be closed if it becomes obvious I didn't actually perform all of these steps. ### Why this change is necessary and useful? [Please explain **in detail** why the changes in this PR are needed.] ================================================ FILE: .github/SUPPORT.md ================================================ SpaceVim is an open source project. Currently, this project is maintained by [@wsdjeg](https://github.com/wsdjeg), If you use SpaceVim in your daily work and feel that it has made your life easier, please consider supporting SpaceVim by: - [Become a backer on opencollective](https://opencollective.com/spacevim) - [Become a backer on Bountysource](https://salt.bountysource.com/teams/spacevim) Also, you can buy me a coffee via ko-fi.com or wechat: Buy Me a Coffee at ko-fi.com | wechat | alipay | | ------------------------------------------------------------------------ | -------------------------------------------------------------------------- | | | | ================================================ FILE: .github/workflows/async.yml ================================================ name: Detach Plugins on: push: branches: - master jobs: check: strategy: fail-fast: false matrix: detachPlugin: ["FlyGrep.vim", "dein-ui.vim", "vim-todo", "iedit.vim", "scrollbar.vim", "vim-chat", "vim-cheat", "xmake.vim", "GitHub.vim", "JavaUnit.vim", "git.vim", "cpicker.nvim", "SourceCounter.vim", "vim-zettelkasten", "format.nvim", "record-key.nvim", "quickfix.nvim", "winbar.nvim", "flygrep.nvim", 'nvim-plug'] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master - name: Detach ${{ matrix.detachPlugin }} env: BOTSECRET: ${{ secrets.BOTSECRET_GITHUB }} SpaceVim_COMMIT_MSG: ${{ github.event.commits[0].message }} run: .ci/detach_plugin.sh ${{ matrix.detachPlugin }} ================================================ FILE: .github/workflows/check.yml ================================================ name: test on: [push, pull_request] jobs: Linux: strategy: fail-fast: false matrix: include: - vimbin: vim vimtag: v8.2.3995 - vimbin: vim vimtag: nightly - vimbin: nvim vimtag: nightly - vimbin: nvim vimtag: v0.9.1 - vimbin: nvim vimtag: v0.9.0 - vimbin: nvim vimtag: v0.8.3 - vimbin: nvim vimtag: v0.8.2 - vimbin: nvim vimtag: v0.8.1 - vimbin: nvim vimtag: v0.8.0 - vimbin: nvim vimtag: v0.7.2 - vimbin: nvim vimtag: v0.7.0 - vimbin: nvim vimtag: v0.6.1 - vimbin: nvim vimtag: v0.6.0 runs-on: ubuntu-22.04 env: VIM_BIN: ${{ matrix.vimbin }} VIM_TAG: ${{ matrix.vimtag }} DEPS: /home/runner/work/SpaceVim/deps DISABLE_ES: ${{ matrix.disable_es }} steps: - name: Checkout uses: actions/checkout@master - name: Install dependencies run: | sudo apt-get update sudo apt-get install ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip curl lua5.2 liblua5.2-dev - name: Install ${{ matrix.vimbin }} ${{ matrix.vimtag }} run: | .ci/install/linux.sh $VIM_BIN $VIM_TAG - name: Run test run: | if [ "$VIM_BIN" = "nvim" ]; then export PATH="${DEPS}/_neovim/${VIM_TAG}/bin:${PATH}" export VIM="${DEPS}/_neovim/${VIM_TAG}/share/nvim/runtime" export VIM_Es="--headless" else export PATH="${DEPS}/_vim/${VIM_TAG}/bin:${PATH}" export VIM="${DEPS}/_vim/${VIM_TAG}/share/vim" if [ "$DISABLE_ES" = "true" ]; then export VIM_Es="" else export VIM_Es="-Es" fi fi export PATH="/home/runner/.local/bin:${PATH}" echo "\$PATH: \"${PATH}\"" echo "\$VIM: \"${VIM}\"" echo "================= ${VIM_BIN} version ======================" $VIM_BIN --version pip3 install --upgrade "pip < 21.0" pip3 install covimerage virtualenv codecov make test_coverage covimerage -vv xml --omit 'build/*' --omit 'bundle/*' codecov -X search gcov pycov -f coverage.xml Windows: strategy: fail-fast: false matrix: include: - vimbin: vim vimtag: nightly - vimbin: vim vimtag: v8.2.3995 - vimbin: nvim vimtag: nightly - vimbin: nvim vimtag: v0.9.1 - vimbin: nvim vimtag: v0.9.0 - vimbin: nvim vimtag: v0.8.3 - vimbin: nvim vimtag: v0.8.2 - vimbin: nvim vimtag: v0.8.1 - vimbin: nvim vimtag: v0.8.0 - vimbin: nvim vimtag: v0.7.2 - vimbin: nvim vimtag: v0.7.0 - vimbin: nvim vimtag: v0.6.1 - vimbin: nvim vimtag: v0.6.0 runs-on: windows-latest env: VIM_BIN: ${{ matrix.vimbin }} VIM_TAG: ${{ matrix.vimtag }} DEPS: C:\deps steps: - name: Checkout uses: actions/checkout@master - name: Install ${{ matrix.vimbin }} ${{ matrix.vimtag }} run: | .ci/install/windows.ps1 $VIM_BIN $VIM_TAG - name: Run test run: | if ($Env:VIM_BIN.StartsWith("nvim")) { if (Test-Path $env:DEPS\Neovim\bin ) { $Env:PATH = $Env:DEPS + '\Neovim\bin\;' + $Env:PATH $Env:VIM = $Env:DEPS + '\Neovim\share\nvim' }else{ $Env:PATH = $Env:DEPS + '\nvim-win64\bin\;' + $Env:PATH $Env:VIM = $Env:DEPS + '\nvim-win64\share\nvim' } $Env:VIM_Es = '--headless' } elseif ($Env:VIM_BIN.StartsWith("vim")) { $Env:PATH = $Env:DEPS + '\vim\vim82\;' + $Env:PATH $Env:VIM = $Env:DEPS + '\vim' } echo $Env:PATH echo $Env:VIM make test ================================================ FILE: .github/workflows/docker.yml ================================================ name: docker on: push: branches: - 'master' jobs: docker: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v2 with: context: . file: docker/Dockerfile push: true tags: wsdjeg2/spacevim:latest ================================================ FILE: .github/workflows/lint.yml ================================================ name: reviewdog on: [pull_request] jobs: vint: name: runner / vint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: vint uses: reviewdog/action-vint@v1 with: github_token: ${{ secrets.github_token }} reporter: github-pr-review # Change reporter. ================================================ FILE: .github/workflows/remote.yml ================================================ name: mirror on: [push] jobs: check: strategy: fail-fast: false matrix: mirror: ["gitee", "coding", "gitlab"] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master with: fetch-depth: 0 - name: Push to ${{ matrix.mirror }} env: BOTSECRET: ${{ secrets.BOTSECRET }} BOTSECRET_GITHUB: ${{ secrets.BOTSECRET_GITHUB }} CODINGBOTSECRET: ${{ secrets.CODINGBOTSECRET }} run: .ci/update_mirror.sh ${{ matrix.mirror }} ================================================ FILE: .gitignore ================================================ !0/ .spacevim.log doc/tags doc/tags-cn .ropeproject/ wiki/.git *.class .floo .meta/ *.pyc .flooignore *.netrwhist *-rplugin~ *rplugin.vim .SpaceVim.log docs/_site/* docs/Gemfile.lock # Ignore tags created by etags, ctags, gtags (GNU global) and cscope TAGS .TAGS !TAGS/ tags .tags !tags/ gtags.files GTAGS GRTAGS GPATH GSYMS cscope.files cscope.out cscope.in.out cscope.po.out build/ public/ .coverage.covimerage *.swp .gtm/ .metadata/ jdt.ls-java-project/ # generated by rustfmt.vim # https://github.com/rust-lang/rust.vim/blob/master/autoload/rustfmt.vim#L110 view/ .vim-bookmarks # ignore cache .cache/ .xmake/ # bundle javacomplet2 bundle/vim-javacomplete2/libs/javavi/.classpath bundle/vim-javacomplete2/libs/javavi/.factorypath bundle/vim-javacomplete2/libs/javavi/.project bundle/vim-javacomplete2/libs/javavi/.settings/org.eclipse.core.resources.prefs bundle/vim-javacomplete2/libs/javavi/.settings/org.eclipse.jdt.apt.core.prefs bundle/vim-javacomplete2/libs/javavi/.settings/org.eclipse.jdt.core.prefs bundle/vim-javacomplete2/libs/javavi/.settings/org.eclipse.m2e.core.prefs ================================================ FILE: .stylua.toml ================================================ column_width = 100 line_endings = "Unix" indent_type = "Spaces" indent_width = 2 quote_style = "AutoPreferSingle" call_parentheses = "Always" ================================================ FILE: LICENSE ================================================ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ================================================ FILE: Makefile ================================================ test: build/vader | build $(VIM_BIN) -Nu test/vimrc $(VIM_Es) -c 'Vader! test/**' COVIMERAGE=$(shell command -v covimerage 2>/dev/null || echo build/covimerage/bin/covimerage) test_coverage: $(COVIMERAGE) build/vader | build $(COVIMERAGE) run --source after --source syntax --source autoload --source colors --source config --source ftplugin $(VIM_BIN) -Nu test/vimrc $(VIM_Es) -c 'Vader! test/**' $(COVIMERAGE): $(COVIMERAGE) run --source after --source syntax --source autoload --source colors --source config --source ftplugin $(VIM_BIN) -Nu test/vimrc $(VIM_Es) -c 'Vader! test/**' build/covimerage: virtualenv $@ build/covimerage/bin/covimerage: | build/covimerage build/covimerage/bin/pip install covimerage build/vader: git clone --depth 1 https://github.com/junegunn/vader.vim.git $@ build: mkdir -p $@ clean: $(RM) -r build .PHONY: clean test ================================================ FILE: README.md ================================================

SpaceVim

[Quick Start Guide](https://spacevim.org/quick-start-guide/) \| [Chat](https://chat.mozilla.org/#/room/#spacevim:matrix.org) \| [Documentation](https://spacevim.org/documentation/) \| [Layers](https://spacevim.org/layers/) [![build](https://img.shields.io/github/actions/workflow/status/SpaceVim/SpaceVim/check.yml?branch=master)](https://github.com/SpaceVim/SpaceVim/actions/workflows/check.yml?query=branch%3Amaster) [![Codecov coverage](https://img.shields.io/codecov/c/github/SpaceVim/SpaceVim.svg)](https://codecov.io/gh/SpaceVim/SpaceVim) [![Release](https://img.shields.io/badge/Release-2.4.0-8700FF.svg)](https://spacevim.org/SpaceVim-release-v2.4.0/) [![GPLv3 License](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://github.com/SpaceVim/SpaceVim/blob/master/LICENSE) ![work-flow](https://img.spacevim.org/workflow.png) SpaceVim is a modular configuration of Vim and Neovim. It's inspired by spacemacs. It manages collections of plugins in layers, which help to collect related packages together to provide features. This approach helps keep the configuration organized and reduces overhead for the user by keeping them from having to think about what packages to install. ## Features - **Modularization:** plugins and functions are organized in [layers](https://spacevim.org/layers/). - **Compatible api:** a series of [compatible APIs](https://spacevim.org/api/) for Vim/Neovim. - **Great documentation:** online [documentation](https://spacevim.org/documentation/) and `:h SpaceVim`. - **Better experience:** rewrite core plugins using lua - **Beautiful UI:** you'll love the awesome UI and its useful features. - **Mnemonic key bindings:** key binding guide will be displayed automatically - **Fast boot time:** Lazy-load 90% of plugins with [dein.vim](https://github.com/Shougo/dein.vim) - **Lower the risk of RSI:** by heavily using the space bar instead of modifiers. - **Consistent experience:** consistent experience between terminal and gui ## Project Layout ```txt ├─ .ci/ build automation ├─ .github/ issue/PR templates ├─ .SpaceVim.d/ project specific configuration ├─ after/ overrule or add to the distributed defaults ├─ autoload/SpaceVim.vim SpaceVim core file ├─ autoload/SpaceVim/api/ Public APIs ├─ autoload/SpaceVim/layers/ available layers ├─ autoload/SpaceVim/plugins/ builtin plugins ├─ autoload/SpaceVim/mapping/ mapping guide ├─ colors/ default colorscheme ├─ docker/ docker image generator ├─ bundle/ bundle plugins ├─ lua/spacevim/plugin builtin plugins(lua) ├─ doc/ help(cn/en) ├─ docs/ website(cn/en) ├─ wiki/ wiki(cn/en) ├─ bin/ executable └─ test/ tests ``` ## Contribute This project wouldn't exist without all the people who contributed, We are thankful for any contributions from the community. ## Credits - [Hack-SpaceVim](https://github.com/Gabirel/Hack-SpaceVim) by [@Gabirel](https://github.com/Gabirel) - [SpaceVimTutorial](https://everettjf.gitbooks.io/spacevimtutorial/content/) by [@everettjf](https://github.com/everettjf) - [10-minutes-to-SpaceVim](https://github.com/Jackiexiao/10-minutes-to-SpaceVim) by [@Jackiexiao](https://github.com/Jackiexiao) - [A First Look At SpaceVim](https://www.youtube.com/watch?v=iXPS_NHLj9k) by [@DistroTube](https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg) - [Getting Started With SpaceVim](https://www.youtube.com/watch?v=3xB501CJDB8) by [FOSS King](https://www.youtube.com/channel/UCfU_sitghekwveLh6yM_xuA) - [vimdoc](https://github.com/google/vimdoc): Vim help file generator - [spacemacs](https://www.spacemacs.org/): A community-driven Emacs distribution - Authors of all the plugins used in SpaceVim. ================================================ FILE: addon-info.json ================================================ { "name": "SpaceVim", "description": "\n\n \n /###### /## /##/## \n /##__ ## | ## | #|__/ \n | ## \\__/ /###### /###### /####### /######| ## | ##/##/######/#### \n | ###### /##__ ##|____ ##/##_____//##__ #| ## / ##| #| ##_ ##_ ## \n \\____ #| ## \\ ## /######| ## | ########\\ ## ##/| #| ## \\ ## \\ ## \n /## \\ #| ## | ##/##__ #| ## | ##_____/ \\ ###/ | #| ## | ## | ## \n | ######| #######| ######| ######| ####### \\ #/ | #| ## | ## | ## \n \\______/| ##____/ \\_______/\\_______/\\_______/ \\_/ |__|__/ |__/ |__/ \n | ## \n | ## \n |__/ ", "author": "wsdjeg" } ================================================ FILE: after/syntax/help.vim ================================================ "============================================================================= " help.vim --- after syntax for vim help " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()_#]*\ze\(\s\+\*\|$\)" ================================================ FILE: autoload/SpaceVim/api/bash/complete.vim ================================================ "============================================================================= " complete.vim --- SpaceVim complete API for bash " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:completer = g:_spacevim_root_dir . '/autoload/SpaceVim/bin/get_complete' let s:COP = SpaceVim#api#import('vim#compatible') " this is for vim command completion " @vimlint(EVL103, 1, a:ArgLead) " @vimlint(EVL103, 1, a:CmdLine) " @vimlint(EVL103, 1, a:CursorPos) function! s:self.complete(ArgLead, CmdLine, CursorPos) abort if a:CmdLine =~? '^\s\{0,\}\w\+$' return s:COP.systemlist('compgen -c ' . a:CmdLine) endif let result = s:COP.systemlist([s:completer, a:CmdLine]) return map(result, 'substitute(v:val, "[ ]*$", "", "g")') endfunction " this is for vim input() function! s:self.complete_input(ArgLead, CmdLine, CursorPos) abort if a:CmdLine =~? '^\s\{0,\}\w\+$' return s:COP.systemlist('compgen -c ' . a:CmdLine) endif let result = s:COP.systemlist([s:completer, a:CmdLine]) if a:ArgLead ==# '' let result = map(result, 'a:CmdLine . v:val') else let leader = substitute(a:CmdLine, '[^ ]*$', '', 'g') let result = map(result, 'leader . v:val') endif return result endfunction " @vimlint(EVL103, 0, a:ArgLead) " @vimlint(EVL103, 0, a:CmdLine) " @vimlint(EVL103, 0, a:CursorPos) function! SpaceVim#api#bash#complete#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/clock.vim ================================================ "============================================================================= " clock.vim --- clock API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section clock, api-clock " @parentsection api " The `clock` api provides basic functions to manage clock. The following " functions can be used: " " - `start()`: start a new clock. " - `pause()`: pause current clock. " - `continue()`: continue current clock. " - `end()`: stop current clock, and return the time. " " Example: " > " let s:CLOCK = SpaceVim#api#import('clock') " call s:CLOCK.start() " " do something " echo s:CLOCK.end() " < let s:self = {} let s:self.__begin = 0 let s:self.__long = 0 function! s:self.start() abort let self.__begin = reltime() let self.__long = 0 endfunction function! s:self.pause() abort let self.__long = reltimefloat(reltime(self.__begin)) endfunction function! s:self.continue() abort let self.__begin = reltime() endfunction function! s:self.end() abort let self.__end = reltimefloat(reltime(self.__begin)) return self.__end + self.__long endfunction function! SpaceVim#api#clock#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/cmdlinemenu.vim ================================================ "============================================================================= " cmdlinemenu.vim --- SpaceVim cmdlinemenu API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:api = {} function! s:parseInput(char) abort if a:char == 27 return '' else return a:char endif endfunction function! s:nextItem(list, item) abort let id = index(a:list, a:item) if id == len(a:list) - 1 return a:list[0] else return a:list[id + 1] endif endfunction function! s:previousItem(list, item) abort let id = index(a:list, a:item) if id == 0 return a:list[len(a:list) - 1] else return a:list[id - 1] endif endfunction function! s:parseItems(items) abort let items = {} for item in a:items let id = index(a:items, item) + 1 let items[id] = ['(' . id . ')' . item[0]] + item[1:] endfor return items endfunction " items should be a list of [name, funcrc or string] "" " @section cmdlinemenu, api-cmdlinemenu " @parentsection api " menu({items}) " " Create a cmdline selection menu from a list of {items}, each item should be a " list of two value in it, first one is the description, and the next one " should be a funcrc. " " Example: " > " let menu = SpaceVim#api#import('cmdlinemenu') " let ques = [ " \ ['basic mode', function('s:basic_mode')], " \ ['dark powered mode', function('s:awesome_mode')], " \ ] " call menu.menu(ques) " < function! s:menu(items) abort let cancelled = 0 let saved_more = &more let save_cmdheight = &cmdheight set nomore let items = s:parseItems(a:items) let &cmdheight = len(items) + 1 redrawstatus! let selected = '1' let exit = 0 let indent = repeat(' ', 7) while !exit let menu = "Cmdline menu: Use j/k/enter and the shortcuts indicated\n" for id in keys(items) let m = items[id] if type(m) == type([]) let m = m[0] endif if id == selected let menu .= indent . '>' . items[id][0] . "\n" else let menu .= indent . ' ' . items[id][0] . "\n" endif endfor redraw! echo menu[:-2] let nr = getchar() if s:parseInput(nr) ==# '' || nr == 3 let exit = 1 let cancelled = 1 normal! : elseif index(keys(items), nr2char(nr)) != -1 || nr == 13 if nr != 13 let selected = nr2char(nr) endif let Value = items[selected][1] normal! : if type(Value) == 2 let args = get(items[selected], 2, []) call call(Value, args) elseif type(Value) == type('') && !empty(Value) execute Value endif let exit = 1 elseif nr2char(nr) ==# 'j' || nr ==# 9 let selected = s:nextItem(keys(items), selected) normal! : elseif nr2char(nr) ==# 'k' || nr ==# "\" let selected = s:previousItem(keys(items), selected) normal! : else normal! : endif endwhile let &more = saved_more let &cmdheight = save_cmdheight redraw! if cancelled echo 'cancelled!' endif endfunction let s:api['menu'] = function('s:menu') function! SpaceVim#api#cmdlinemenu#get() abort return deepcopy(s:api) endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/api/color.vim ================================================ "============================================================================= " color.vim --- SpaceVim color API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} " based on https://www.ditig.com/256-colors-cheat-sheet let s:self._color_map = { \ '0' : '#000000', \ '1' : '#800000', \ '2' : '#008000', \ '3' : '#808000', \ '4' : '#000080', \ '5' : '#800080', \ '6' : '#008080', \ '7' : '#c0c0c0', \ '8' : '#808080', \ '9' : '#ff0000', \ '10' : '#00ff00', \ '11' : '#ffff00', \ '12' : '#0000ff', \ '13' : '#ff00ff', \ '14' : '#00ffff', \ '15' : '#ffffff', \ '16' : '#000000', \ '17' : '#00005f', \ '18' : '#000087', \ '19' : '#0000af', \ '20' : '#0000d7', \ '21' : '#0000ff', \ '22' : '#005f00', \ '23' : '#005f5f', \ '24' : '#005f87', \ '25' : '#005faf', \ '26' : '#005fd7', \ '27' : '#005fff', \ '28' : '#008700', \ '29' : '#00875f', \ '30' : '#008787', \ '31' : '#0087af', \ '32' : '#0087d7', \ '33' : '#0087ff', \ '34' : '#00af00', \ '35' : '#00af5f', \ '36' : '#00af87', \ '37' : '#00afaf', \ '38' : '#00afd7', \ '39' : '#00afff', \ '40' : '#00d700', \ '41' : '#00d75f', \ '42' : '#00d787', \ '43' : '#00d7af', \ '44' : '#00d7d7', \ '45' : '#00d7ff', \ '46' : '#00ff00', \ '47' : '#00ff5f', \ '48' : '#00ff87', \ '49' : '#00ffaf', \ '50' : '#00ffd7', \ '51' : '#00ffff', \ '52' : '#5f0000', \ '53' : '#5f005f', \ '54' : '#5f0087', \ '55' : '#5f00af', \ '56' : '#5f00d7', \ '57' : '#5f00ff', \ '58' : '#5f5f00', \ '59' : '#5f5f5f', \ '60' : '#5f5f87', \ '61' : '#5f5faf', \ '62' : '#5f5fd7', \ '63' : '#5f5fff', \ '64' : '#5f8700', \ '65' : '#5f875f', \ '66' : '#5f8787', \ '67' : '#5f87af', \ '68' : '#5f87d7', \ '69' : '#5f87ff', \ '70' : '#5faf00', \ '71' : '#5faf5f', \ '72' : '#5faf87', \ '73' : '#5fafaf', \ '74' : '#5fafd7', \ '75' : '#5fafff', \ '76' : '#5fd700', \ '77' : '#5fd75f', \ '78' : '#5fd787', \ '79' : '#5fd7af', \ '80' : '#5fd7d7', \ '81' : '#5fd7ff', \ '82' : '#5fff00', \ '83' : '#5fff5f', \ '84' : '#5fff87', \ '85' : '#5fffaf', \ '86' : '#5fffd7', \ '87' : '#5fffff', \ '88' : '#870000', \ '89' : '#87005f', \ '90' : '#870087', \ '91' : '#8700af', \ '92' : '#8700d7', \ '93' : '#8700ff', \ '94' : '#875f00', \ '95' : '#875f5f', \ '96' : '#875f87', \ '97' : '#875faf', \ '98' : '#875fd7', \ '99' : '#875fff', \ '100' : '#878700', \ '101' : '#87875f', \ '102' : '#878787', \ '103' : '#8787af', \ '104' : '#8787d7', \ '105' : '#8787ff', \ '106' : '#87af00', \ '107' : '#87af5f', \ '108' : '#87af87', \ '109' : '#87afaf', \ '110' : '#87afd7', \ '111' : '#87afff', \ '112' : '#87d700', \ '113' : '#87d75f', \ '114' : '#87d787', \ '115' : '#87d7af', \ '116' : '#87d7d7', \ '117' : '#87d7ff', \ '118' : '#87ff00', \ '119' : '#87ff5f', \ '120' : '#87ff87', \ '121' : '#87ffaf', \ '122' : '#87ffd7', \ '123' : '#87ffff', \ '124' : '#af0000', \ '125' : '#af005f', \ '126' : '#af0087', \ '127' : '#af00af', \ '128' : '#af00d7', \ '129' : '#af00ff', \ '130' : '#af5f00', \ '131' : '#af5f5f', \ '132' : '#af5f87', \ '133' : '#af5faf', \ '134' : '#af5fd7', \ '135' : '#af5fff', \ '136' : '#af8700', \ '137' : '#af875f', \ '138' : '#af8787', \ '139' : '#af87af', \ '140' : '#af87d7', \ '141' : '#af87ff', \ '142' : '#afaf00', \ '143' : '#afaf5f', \ '144' : '#afaf87', \ '145' : '#afafaf', \ '146' : '#afafd7', \ '147' : '#afafff', \ '148' : '#afd700', \ '149' : '#afd75f', \ '150' : '#afd787', \ '151' : '#afd7af', \ '152' : '#afd7d7', \ '153' : '#afd7ff', \ '154' : '#afff00', \ '155' : '#afff5f', \ '156' : '#afff87', \ '157' : '#afffaf', \ '158' : '#afffd7', \ '159' : '#afffff', \ '160' : '#d70000', \ '161' : '#d7005f', \ '162' : '#d70087', \ '163' : '#d700af', \ '164' : '#d700d7', \ '165' : '#d700ff', \ '166' : '#d75f00', \ '167' : '#d75f5f', \ '168' : '#d75f87', \ '169' : '#d75faf', \ '170' : '#d75fd7', \ '171' : '#d75fff', \ '172' : '#d78700', \ '173' : '#d7875f', \ '174' : '#d78787', \ '175' : '#d787af', \ '176' : '#d787d7', \ '177' : '#d787ff', \ '178' : '#d7af00', \ '179' : '#d7af5f', \ '180' : '#d7af87', \ '181' : '#d7afaf', \ '182' : '#d7afd7', \ '183' : '#d7afff', \ '184' : '#d7d700', \ '185' : '#d7d75f', \ '186' : '#d7d787', \ '187' : '#d7d7af', \ '188' : '#d7d7d7', \ '189' : '#d7d7ff', \ '190' : '#d7ff00', \ '191' : '#d7ff5f', \ '192' : '#d7ff87', \ '193' : '#d7ffaf', \ '194' : '#d7ffd7', \ '195' : '#d7ffff', \ '196' : '#ff0000', \ '197' : '#ff005f', \ '198' : '#ff0087', \ '199' : '#ff00af', \ '200' : '#ff00d7', \ '201' : '#ff00ff', \ '202' : '#ff5f00', \ '203' : '#ff5f5f', \ '204' : '#ff5f87', \ '205' : '#ff5faf', \ '206' : '#ff5fd7', \ '207' : '#ff5fff', \ '208' : '#ff8700', \ '209' : '#ff875f', \ '210' : '#ff8787', \ '211' : '#ff87af', \ '212' : '#ff87d7', \ '213' : '#ff87ff', \ '214' : '#ffaf00', \ '215' : '#ffaf5f', \ '216' : '#ffaf87', \ '217' : '#ffafaf', \ '218' : '#ffafd7', \ '219' : '#ffafff', \ '220' : '#ffd700', \ '221' : '#ffd75f', \ '222' : '#ffd787', \ '223' : '#ffd7af', \ '224' : '#ffd7d7', \ '225' : '#ffd7ff', \ '226' : '#ffff00', \ '227' : '#ffff5f', \ '228' : '#ffff87', \ '229' : '#ffffaf', \ '230' : '#ffffd7', \ '231' : '#ffffff', \ '232' : '#080808', \ '233' : '#121212', \ '234' : '#1c1c1c', \ '235' : '#262626', \ '236' : '#303030', \ '237' : '#3a3a3a', \ '238' : '#444444', \ '239' : '#4e4e4e', \ '240' : '#585858', \ '241' : '#626262', \ '242' : '#6c6c6c', \ '243' : '#767676', \ '244' : '#808080', \ '245' : '#8a8a8a', \ '246' : '#949494', \ '247' : '#9e9e9e', \ '248' : '#a8a8a8', \ '249' : '#b2b2b2', \ '250' : '#bcbcbc', \ '251' : '#c6c6c6', \ '252' : '#d0d0d0', \ '253' : '#dadada', \ '254' : '#e4e4e4', \ '255' : '#eeeeee', 'fg': 'fg', 'bg': 'bg', 'NONE': 'NONE' \ } let s:self._deps = SpaceVim#api#import('data#dict') function! s:self.nr2str(nr) abort return get(self._color_map, a:nr, '') endfunction function! s:self.str2nr(str) abort let nr = get(self._deps.swap(self._color_map), a:str, -1) if nr =~# 'fg\|bg\|NONE' return nr else return str2nr(nr) endif endfunction function! SpaceVim#api#color#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/data/base64.vim ================================================ "============================================================================= " base64.vim --- SpaceVim base64 API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:CMP = SpaceVim#api#import('vim#compatible') if s:CMP.has('python') && !has('nvim-0.7') " https://github.com/neovim/neovim/pull/17222 " @vimlint(EVL103, 1, a:text) function! s:self.encode(text) abort py import vim py import base64 py ret = base64.b64encode(vim.eval('a:text')) py vim.command("return '{}'".format(ret)) endfunction " base64Test => YmFzZTY0VGVzdA== function! s:self.decode(text) abort python < " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section data#dict, api-data-dict " @parentsection api " provides some functions to manipulate a dict. " " make({keys}, {values}[, {fill}]) " " make a dictionary from two list, the {keys} and {values}. " " swap({dict}) " " swap the keys and values in a dictionary. " " make_index " " make a dictionary from a list, use function! SpaceVim#api#data#dict#get() abort return map({ \ 'make' : '', \ 'swap' : '', \ 'make_index' : '', \ 'pick' : '', \ 'omit' : '', \ 'clear' : '', \ 'max_by' : '', \ 'min_by' : '', \ 'foldl' : '', \ 'foldr' : '', \ 'entrys' : '', \ }, \ "function('s:' . v:key)" \ ) endfunction " if get(g:, '_spacevim_if_lua', 0) || has('nvim') " function! s:entrys(dict) abort " lua require("spacevim.api.data.dict").entrys( " \ require("spacevim").eval("a:dict") " \ ) " endfunction " function! s:pick(dict, keys) abort " lua require("spacevim.api.data.dict").pick( " \ require("spacevim").eval("a:dict"), " \ require("spacevim").eval("a:keys") " \ ) " endfunction " else function! s:entrys(dict) abort let entrys = [] for key in keys(a:dict) call add(entrys, {key : a:dict[key]}) endfor return entrys endfunction function! s:pick(dict, keys) abort let new_dict = {} for key in a:keys if has_key(a:dict, key) let new_dict[key] = a:dict[key] endif endfor return new_dict endfunction " endif function! s:make(keys, values, ...) abort let dict = {} let fill = a:0 ? a:1 : 0 for i in range(len(a:keys)) let key = type(a:keys[i]) == type('') ? a:keys[i] : string(a:keys[i]) if key ==# '' throw "SpaceVim API: data#dict: Can't use an empty string for key." endif let dict[key] = get(a:values, i, fill) endfor return dict endfunction " Swaps keys and values function! s:swap(dict) abort return s:make(values(a:dict), keys(a:dict)) endfunction " Makes a index dict from a list function! s:make_index(list, ...) abort let value = a:0 ? a:1 : 1 return s:make(a:list, [], value) endfunction function! s:omit(dict, keys) abort let new_dict = copy(a:dict) for key in a:keys if has_key(a:dict, key) call remove(new_dict, key) endif endfor return new_dict endfunction function! s:clear(dict) abort for key in keys(a:dict) call remove(a:dict, key) endfor return a:dict endfunction function! s:_max_by(dict, expr) abort let dict = s:swap(map(copy(a:dict), a:expr)) let key = dict[max(keys(dict))] return [key, a:dict[key]] endfunction function! s:max_by(dict, expr) abort if empty(a:dict) throw 'SpaceVim API: data#dict: Empty dictionary' endif return s:_max_by(a:dict, a:expr) endfunction function! s:min_by(dict, expr) abort if empty(a:dict) throw 'SpaceVim API: data#dict: Empty dictionary' endif return s:_max_by(a:dict, '-(' . a:expr . ')') endfunction function! s:_foldl(f, init, xs) abort let memo = a:init for [k, v] in a:xs let expr = substitute(a:f, 'v:key', string(k), 'g') let expr = substitute(expr, 'v:val', string(v), 'g') let expr = substitute(expr, 'v:memo', string(memo), 'g') unlet memo let memo = eval(expr) endfor return memo endfunction function! s:foldl(f, init, dict) abort return s:_foldl(a:f, a:init, items(a:dict)) endfunction function! s:foldr(f, init, dict) abort return s:_foldl(a:f, a:init, reverse(items(a:dict))) endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/api/data/json.vim ================================================ "============================================================================= " json.vim --- SpaceVim json API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:self._vim = SpaceVim#api#import('vim') let s:self._iconv = SpaceVim#api#import('iconv') function! s:self._json_null() abort return 0 endfunction function! s:self._json_true() abort return 1 endfunction function! s:self._json_false() abort return 0 endfunction if exists('*json_decode') function! s:self.json_decode(json) abort if a:json ==# '' " instead of throw error, if json is empty string, just return an empty " string return '' endif return json_decode(a:json) endfunction else function! s:self._fixvar(val) abort if self._vim.is_number(a:val) \ || self._vim.is_string(a:val) \ || empty(a:val) return a:val elseif self._vim.is_list(a:val) && len(a:val) ==# 1 if string(a:val[0]) == string(self._json_true) return get(v:, 'true', 1) elseif string(a:val[0]) ==# string(self._json_false) return get(v:, 'false', 0) elseif string(a:val[0]) ==# string(self._json_null) return get(v:, 'null', 0) else return a:val endif elseif self._vim.is_list(a:val) && len(a:val) > 1 return map(a:val, 'self._fixvar(v:val)') elseif self._vim.is_dict(a:val) return map(a:val, 'self._fixvar(v:val)') endif endfunction " @vimlint(EVL102, 1, l:true) " @vimlint(EVL102, 1, l:false) " @vimlint(EVL102, 1, l:null) function! s:self.json_decode(json) abort let true = [self._json_true] let false = [self._json_false] let null = [self._json_null] " we need to remove \n, because eval() do not work let json = join(split(a:json, "\n"), '') try let object = eval(json) catch let object = '' endtry call self._fixvar(object) return object endfunction " @vimlint(EVL102, 0, l:true) " @vimlint(EVL102, 0, l:false) " @vimlint(EVL102, 0, l:null) endif if exists('*json_encode') function! s:self.json_encode(val) abort return json_encode(a:val) endfunction else function! s:self.json_encode(val) abort if type(a:val) == type(0) return a:val elseif type(a:val) == type('') let json = '"' . escape(a:val, '\"') . '"' let json = substitute(json, "\r", '\\r', 'g') let json = substitute(json, "\n", '\\n', 'g') let json = substitute(json, "\t", '\\t', 'g') let json = substitute(json, '\([[:cntrl:]]\)', '\=printf("\x%02d", char2nr(submatch(1)))', 'g') return self._iconv.iconv(json, &encoding, 'utf-8') elseif self._vim.is_func(a:val) let s = string(a:val) if s ==# string(self._json_null) return 'null' elseif s ==# string(self._json_true) return 'true' elseif s ==# string(self._json_false) return 'false' endif elseif self._vim.is_list(a:val) return '[' . join(map(copy(a:val), 'self.json_encode(v:val)'), ',') . ']' elseif self._vim.is_dict(a:val) return '{' . join(map(keys(a:val), "self.json_encode(v:val) . ':' . self.json_encode(a:val[v:val])"), ',') . '}' else return string(a:val) endif endfunction endif function! SpaceVim#api#data#json#get() abort return deepcopy(s:self) endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/api/data/list.vim ================================================ "============================================================================= " list.vim --- SpaceVim list API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#api#data#list#get() abort return map({'pop' : '', \ 'push' : '', \ 'shift' : '', \ 'unshift' : '', \ 'uniq' : '', \ 'uniq_by' : '', \ 'uniq_by_func' : '', \ 'clear' : '', \ 'char_range' : '', \ 'has' : '', \ 'has_index' : '', \ 'listpart' : '', \ 'replace' : '', \ }, \ "function('s:' . v:key)" \ ) endfunction "" " @section data#list, api-data-list " @parentsection api " provides some functions to manipulate a list. " " pop({list}) " " Removes the last element from {list} and returns the element, " as if the {list} is a stack. " " push({list}) " " Appends {val} to the end of {list} and returns the list itself, " as if the {list} is a stack. " " listpart({list}, {start}[, {len}]) " " The result is a List, which is part of {list}, starting from " index {start}, with the length {len} " " replace(list, begin, end, re_list) " " replace {list} from {begin} to {end} with {re_list} " " shift({list}) " " remove first item in a {list}, and return the item " " unshift({list}) " " insert an item to the begin of the {list} " " clear({list}) " " clear items in the {list} " " char_range({from}, {to}) " " return a characters list based on the ascii number range. function! s:pop(list) abort return remove(a:list, -1) endfunction function! s:listpart(list, start, ...) abort let idx = range(a:start, a:start + get(a:000, 0, 0)) let rst = [] for i in idx call add(rst, get(a:list, i)) endfor return rst endfunction function! s:push(list, val) abort call add(a:list, a:val) return a:list endfunction function! s:shift(list) abort return remove(a:list, 0) endfunction function! s:unshift(list, val) abort return insert(a:list, a:val) endfunction function! s:uniq(list) abort return s:uniq_by(a:list, 'v:val') endfunction function! s:uniq_by_func(list, func) abort let list = map(copy(a:list), '[v:val, call(a:func, [v:val])]') let i = 0 let seen = {} while i < len(list) let key = string(list[i][1]) if has_key(seen, key) call remove(list, i) else let seen[key] = 1 let i += 1 endif endwhile return map(list, 'v:val[0]') endfunction function! s:uniq_by(list, f) abort let list = map(copy(a:list), printf('[v:val, %s]', a:f)) let i = 0 let seen = {} while i < len(list) let key = string(list[i][1]) if has_key(seen, key) call remove(list, i) else let seen[key] = 1 let i += 1 endif endwhile return map(list, 'v:val[0]') endfunction function! s:clear(list) abort if !empty(a:list) unlet! a:list[0 : len(a:list) - 1] endif return a:list endfunction function! s:char_range(from, to) abort return map( \ range(char2nr(a:from), char2nr(a:to)), \ 'nr2char(v:val)' \) endfunction function! s:has(list, val) abort return index(a:list, a:val) != -1 endfunction function! s:has_index(list, index) abort return 0 <= a:index && a:index < len(a:list) endfunction function! s:replace(list, begin, end, re_list) abort if a:begin <= a:end && a:begin >= 0 && a:end < len(a:list) return a:list[:a:begin - 1] + a:re_list + a:list[a:end + 1:] else return a:list endif endf " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/api/data/number.vim ================================================ "============================================================================= " number.vim --- SpaceVim number API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim function! SpaceVim#api#data#number#get() abort return map({ \ 'random' : '', \ }, \ "function('s:' . v:key)" \ ) endfunction "" " @section data#number, api-data-number " @parentsection api " data#number API provides some basic functions to generate number. " " random([{a}[, {b}]]) " > " random() : an unbounded random integer number. " random(a) : an unbounded random number larger than a. " random(a, b) : a random number from [a, a + b - 1]. " < " Random seed. if has('reltime') let s:rel = reltime() + reltime() if len(s:rel) > 3 let [s:x, s:y, s:z, s:w; s:rest] = s:rel else let [s:x, s:y, s:z, s:w] = [1, 2, 3, 4] endif else let [s:x, s:y, s:z, s:w] = [1, 2, 3, 4] endif function! s:random(...) abort let a = a:0 ? a:1 : 0 let b = a:0 > 1 ? a:2 : 0x1000000 let t = s:xor(s:x, (s:x * 0x800)) let [s:x, s:y, s:z] = [s:y, s:z, s:w] let s:w = s:xor(s:xor(s:w, (s:w / 0x80000)), s:xor(t, (t / 0x100))) return a + s:w % b endfunction " xor function from vital.vim if exists('*xor') function! s:xor(a, b) abort return xor(a:a, a:b) endfunction else function! s:xor(a, b) abort let a = a:a < 0 ? a:a - 0x80000000 : a:a let b = a:b < 0 ? a:b - 0x80000000 : a:b let r = 0 let n = 1 while a || b let r += s:xor[a % 0x10][b % 0x10] * n let a = a / 0x10 let b = b / 0x10 let n = n * 0x10 endwhile if (a:a < 0) != (a:b < 0) let r += 0x80000000 endif return r endfunction " xor table from vital.vim let s:xor = [ \ [0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF], \ [0x1, 0x0, 0x3, 0x2, 0x5, 0x4, 0x7, 0x6, 0x9, 0x8, 0xB, 0xA, 0xD, 0xC, 0xF, 0xE], \ [0x2, 0x3, 0x0, 0x1, 0x6, 0x7, 0x4, 0x5, 0xA, 0xB, 0x8, 0x9, 0xE, 0xF, 0xC, 0xD], \ [0x3, 0x2, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4, 0xB, 0xA, 0x9, 0x8, 0xF, 0xE, 0xD, 0xC], \ [0x4, 0x5, 0x6, 0x7, 0x0, 0x1, 0x2, 0x3, 0xC, 0xD, 0xE, 0xF, 0x8, 0x9, 0xA, 0xB], \ [0x5, 0x4, 0x7, 0x6, 0x1, 0x0, 0x3, 0x2, 0xD, 0xC, 0xF, 0xE, 0x9, 0x8, 0xB, 0xA], \ [0x6, 0x7, 0x4, 0x5, 0x2, 0x3, 0x0, 0x1, 0xE, 0xF, 0xC, 0xD, 0xA, 0xB, 0x8, 0x9], \ [0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0, 0xF, 0xE, 0xD, 0xC, 0xB, 0xA, 0x9, 0x8], \ [0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7], \ [0x9, 0x8, 0xB, 0xA, 0xD, 0xC, 0xF, 0xE, 0x1, 0x0, 0x3, 0x2, 0x5, 0x4, 0x7, 0x6], \ [0xA, 0xB, 0x8, 0x9, 0xE, 0xF, 0xC, 0xD, 0x2, 0x3, 0x0, 0x1, 0x6, 0x7, 0x4, 0x5], \ [0xB, 0xA, 0x9, 0x8, 0xF, 0xE, 0xD, 0xC, 0x3, 0x2, 0x1, 0x0, 0x7, 0x6, 0x5, 0x4], \ [0xC, 0xD, 0xE, 0xF, 0x8, 0x9, 0xA, 0xB, 0x4, 0x5, 0x6, 0x7, 0x0, 0x1, 0x2, 0x3], \ [0xD, 0xC, 0xF, 0xE, 0x9, 0x8, 0xB, 0xA, 0x5, 0x4, 0x7, 0x6, 0x1, 0x0, 0x3, 0x2], \ [0xE, 0xF, 0xC, 0xD, 0xA, 0xB, 0x8, 0x9, 0x6, 0x7, 0x4, 0x5, 0x2, 0x3, 0x0, 0x1], \ [0xF, 0xE, 0xD, 0xC, 0xB, 0xA, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0] \ ] endif let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: autoload/SpaceVim/api/data/quopri.vim ================================================ let s:self = {} function! s:self.decode(str) abort endfunction function! s:self.encode(str) abort endfunction function! SpaceVim#api#data#quopri#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/data/string.vim ================================================ "============================================================================= " string.vim --- SpaceVim string API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section data#string, api-data-string " @parentsection api " " @subsection Functions " " split(str [, sep [, keepempty[, max]]]) " " run vim command, and return the output of such command. " " trim(str) " " remove space at the begin and end of a string, same as |trim()| " " fill(str, length[, char]) " " fill string to length with {char}, if {char} is omnit, a space is used. let s:self = {} function! s:self.trim(str) abort let str = substitute(a:str, '\s*$', '', 'g') return substitute(str, '^\s*', '', 'g') endfunction " strcharpart is added in v7.4.1761 " if exists('*strcharpart') function! s:self.strcharpart(str, start, ...) abort return call('strcharpart', [a:str, a:start] + a:000) endfunction else function! s:self.strcharpart(str, start, ...) abort let chars = self.string2chars(a:str) return join(chars[a:start : get(a:000, 0, -1)], '') endfunction endif function! s:self.fill(str, length, ...) abort if strwidth(a:str) <= a:length let l:string = a:str else let l:rightmost = 0 while strwidth(self.strcharpart(a:str, 0, l:rightmost)) < a:length let l:rightmost += 1 endwhile let l:string = self.strcharpart(a:str, 0, l:rightmost) endif let char = get(a:000, 0, ' ') if type(char) !=# 1 || len(char) > 1 let char = ' ' endif let l:spaces = repeat(char, a:length - strwidth(l:string)) return l:string . l:spaces endfunction function! s:self.toggle_case(str) abort let chars = [] for char in self.string2chars(a:str) if char2nr(char) >= 97 && char2nr(char) <= 122 call add(chars, nr2char(char2nr(char) - 32)) elseif char2nr(char) >= 65 && char2nr(char) <= 90 call add(chars, nr2char(char2nr(char) + 32)) else call add(chars, char) endif endfor return join(chars, '') endfunction function! s:self.fill_left(str, length, ...) abort if strwidth(a:str) <= a:length let l:string = a:str else let l:string = self.strcharpart(a:str, strwidth(a:str) - a:length, a:length) endif let char = get(a:000, 0, ' ') if type(char) !=# 1 || len(char) > 1 let char = ' ' endif let l:spaces = repeat(char, a:length - strwidth(l:string)) return l:spaces . l:string endfunction function! s:self.fill_middle(str, length, ...) abort if strwidth(a:str) <= a:length let l:string = a:str else let l:string = self.strcharpart(a:str, (a:length/2 < 1 ? 1 : a:length/2), a:length) endif let l:numofspaces = a:length - strwidth(l:string) let char = get(a:000, 0, ' ') if type(char) !=# 1 || len(char) > 1 let char = ' ' endif let l:halfspaces = repeat(char, l:numofspaces/2) let l:rst = l:halfspaces . l:string . l:halfspaces if l:numofspaces % 2 let l:rst .= char endif return l:rst endfunction function! s:self.trim_start(str) abort return substitute(a:str, '^\s*', '', 'g') endfunction function! s:self.trim_end(str) abort return substitute(a:str, '\s*$', '', 'g') endfunction " note: this function only works when encoding is utf-8 " old vim always add ^@ after chinese char. " and it is fixed in 8.1.2269 ~ 8.2.3395 " and I do not know which patch fix it. " @bug find the patch for split-\zs function! s:self.string2chars(str) abort let save_enc = &encoding let &encoding = 'utf-8' let chars = split(a:str, '\zs') let &encoding = save_enc return chars endfunction if exists('*strcharpart') && 0 function! s:self.matchstrpos(str, need, ...) abort return call('matchstrpos', [a:str, a:need] + a:000) endfunction else function! s:self.matchstrpos(str, need, ...) abort let matchedstr = call('matchstr', [a:str, a:need] + a:000) let matchbegin = call('match', [a:str, a:need] + a:000) let matchend = call('matchend', [a:str, a:need] + a:000) return [matchedstr, matchbegin, matchend] endfunction endif function! s:self.strAllIndex(str, need, use_expr) abort if a:use_expr let rst = [] let idx = self.matchstrpos(a:str, a:need) while idx[1] != -1 call add(rst, [idx[1], idx[2]]) let idx = self.matchstrpos(a:str, a:need, idx[2]) endwhile return rst else let rst = [] let pattern = '\<\V' . a:need . '\ze\W\|\<\V' . a:need . '\ze\$' let idx = match(a:str, pattern) while idx != -1 call add(rst, [idx, idx+len(a:need)]) let idx = match(a:str, pattern, idx + 1 + len(a:need)) endwhile return rst endif endfunction function! s:self.strQ2B(str) abort let save_enc = &encoding let &encoding = 'utf-8' let chars = self.string2chars(a:str) let bchars = [] for char in chars let nr = char2nr(char) if nr == 12288 call add(bchars, nr2char(32)) elseif nr == 8216 || nr == 8217 call add(bchars, nr2char(39)) elseif nr >= 65281 && nr <= 65374 call add(bchars, nr2char(nr - 65248)) else call add(bchars, char) endif endfor let &encoding = save_enc return join(bchars, '') endfunction function! s:self.strB2Q(str) abort let save_enc = &encoding let &encoding = 'utf-8' let chars = self.string2chars(a:str) let bchars = [] for char in chars let nr = char2nr(char) if nr == 32 call add(bchars, nr2char(12288)) elseif nr >= 32 && nr <= 126 call add(bchars, nr2char(nr + 65248)) else call add(bchars, char) endif endfor let &encoding = save_enc return join(bchars, '') endfunction function! s:self.split(str, ...) abort let sep = get(a:000, 0, '') let keepempty = get(a:000, 1, 0) let max = get(a:000, 2, -1) let rlist = split(a:str, sep, keepempty) if max >= 2 let rst = [] for item in rlist if len(rst) >= max - 1 break endif call add(rst, item) endfor let last = join(rlist[max-1:], sep) call add(rst, last) return rst else return rlist endif endfunction function! SpaceVim#api#data#string#get() abort return deepcopy(s:self) endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/api/data/toml.vim ================================================ "============================================================================= " toml.vim --- toml api for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim let s:self = {} " " public api " function! s:self.parse(text) abort let input = { \ 'text': a:text, \ 'p': 0, \ 'length': strlen(a:text), \} return s:_parse(input) endfunction function! s:self.parse_file(filename) abort if !filereadable(a:filename) throw printf("toml API: No such file `%s'.", a:filename) endif let text = join(readfile(a:filename), "\n") " fileencoding is always UTF-8 return self.parse(iconv(text, 'utf-8', &encoding)) endfunction " " private api " let s:skip_pattern = '\C^\%(\%(\s\|\r\?\n\)\+\|#[^\r\n]*\)' let s:bare_key_pattern = '\%([A-Za-z0-9_-]\+\)' function! s:_skip(input) abort while s:_match(a:input, '\%(\s\|\r\?\n\|#\)') let a:input.p = matchend(a:input.text, s:skip_pattern, a:input.p) endwhile endfunction " XXX: old engine is faster than NFA engine (in this context). if exists('+regexpengine') let s:regex_prefix = '\%#=1\C^' else let s:regex_prefix = '\C^' endif function! s:_consume(input, pattern) abort call s:_skip(a:input) let end = matchend(a:input.text, s:regex_prefix . a:pattern, a:input.p) if end == -1 call s:_error(a:input) elseif end == a:input.p return '' endif let matched = strpart(a:input.text, a:input.p, end - a:input.p) let a:input.p = end return matched endfunction function! s:_match(input, pattern) abort return match(a:input.text, s:regex_prefix . a:pattern, a:input.p) != -1 endfunction function! s:_eof(input) abort return a:input.p >= a:input.length endfunction function! s:_error(input) abort let s = matchstr(a:input.text, s:regex_prefix . '.\{-}\ze\%(\r\?\n\|$\)', a:input.p) let s = substitute(s, '\r', '\\r', 'g') throw printf("toml API: Illegal TOML format at `%s'.", s) endfunction function! s:_parse(input) abort let data = {} call s:_skip(a:input) while !s:_eof(a:input) if s:_match(a:input, '[^ [:tab:]#.[\]]') let keys = s:_keys(a:input, '=') call s:_equals(a:input) let value = s:_value(a:input) call s:_put_dict(data, keys, value) elseif s:_match(a:input, '\[\[') let [keys, value] = s:_array_of_tables(a:input) call s:_put_array(data, keys, value) elseif s:_match(a:input, '\[') let [keys, value] = s:_table(a:input) call s:_put_dict(data, keys, value) else call s:_error(a:input) endif call s:_skip(a:input) unlet keys value endwhile return data endfunction function! s:_keys(input, end) abort let keys = [] while !s:_eof(a:input) && !s:_match(a:input, a:end) call s:_skip(a:input) if s:_match(a:input, '"') let key = s:_basic_string(a:input) elseif s:_match(a:input, "'") let key = s:_literal(a:input) else let key = s:_consume(a:input, s:bare_key_pattern) endif let keys += [key] call s:_consume(a:input, '\.\?') endwhile if empty(keys) return s:_error(a:input) endif return keys endfunction function! s:_equals(input) abort return s:_consume(a:input, '=') endfunction function! s:_value(input) abort call s:_skip(a:input) if s:_match(a:input, '"\{3}') return s:_multiline_basic_string(a:input) elseif s:_match(a:input, '"') return s:_basic_string(a:input) elseif s:_match(a:input, "'\\{3}") return s:_multiline_literal(a:input) elseif s:_match(a:input, "'") return s:_literal(a:input) elseif s:_match(a:input, '\[') return s:_array(a:input) elseif s:_match(a:input, '{') return s:_inline_table(a:input) elseif s:_match(a:input, '\%(true\|false\)') return s:_boolean(a:input) elseif s:_match(a:input, '\d\{4}-') return s:_datetime(a:input) elseif s:_match(a:input, '\d\{2}:') return s:_local_time(a:input) elseif s:_match(a:input, '[+-]\?\d\+\%(_\d\+\)*\%(\.\d\+\%(_\d\+\)*\|\%(\.\d\+\%(_\d\+\)*\)\?[eE]\)') return s:_float(a:input) elseif s:_match(a:input, '[+-]\?\%(inf\|nan\)') return s:_special_float(a:input) else return s:_integer(a:input) endif endfunction " " String " function! s:_basic_string(input) abort let s = s:_consume(a:input, '"\%(\\"\|[^"]\)*"') let s = s[1 : -2] return s:_unescape(s) endfunction function! s:_multiline_basic_string(input) abort let s = s:_consume(a:input, '"\{3}\%(\\.\|\_.\)\{-}"\{,2}"\{3}') let s = s[3 : -4] let s = substitute(s, '^\r\?\n', '', '') let s = substitute(s, '\\\%(\s\|\r\?\n\)*', '', 'g') return s:_unescape(s) endfunction function! s:_literal(input) abort let s = s:_consume(a:input, "'[^']*'") return s[1 : -2] endfunction function! s:_multiline_literal(input) abort let s = s:_consume(a:input, "'\\{3}.\\{-}'\\{,2}'\\{3}") let s = s[3 : -4] let s = substitute(s, '^\r\?\n', '', '') return s endfunction " " Integer " function! s:_integer(input) abort if s:_match(a:input, '0b') let s = s:_consume(a:input, '0b[01]\+\%(_[01]\+\)*') let base = 2 elseif s:_match(a:input, '0o') let s = s:_consume(a:input, '0o[0-7]\+\%(_[0-7]\+\)*') let s = s[2 :] let base = 8 elseif s:_match(a:input, '0x') let s = s:_consume(a:input, '0x[A-Fa-f0-9]\+\%(_[A-Fa-f0-9]\+\)*') let base = 16 else let s = s:_consume(a:input, '[+-]\?\d\+\%(_\d\+\)*') let base = 10 endif let s = substitute(s, '_', '', 'g') return str2nr(s, base) endfunction " " Float " function! s:_float(input) abort let s = s:_consume(a:input, '[+-]\?[0-9._]\+\%([eE][+-]\?\d\+\%(_\d\+\)*\)\?') let s = substitute(s, '_', '', 'g') return str2float(s) endfunction function! s:_special_float(input) abort let s = s:_consume(a:input, '[+-]\?\%(inf\|nan\)') return str2float(s) endfunction " " Boolean " function! s:_boolean(input) abort let s = s:_consume(a:input, '\%(true\|false\)') return s ==# 'true' endfunction " " Offset Date-Time " Local Date-Time " Local Date " function! s:_datetime(input) abort return s:_consume(a:input, '\d\{4}-\d\{2}-\d\{2}\%([T ]\d\{2}:\d\{2}:\d\{2}\%(\.\d\+\)\?\%(Z\|[+-]\d\{2}:\d\{2}\)\?\)\?') endfunction " " Local Time " function! s:_local_time(input) abort return s:_consume(a:input, '\d\{2}:\d\{2}:\d\{2}\%(\.\d\+\)\?') endfunction " " Array " function! s:_array(input) abort let ary = [] call s:_consume(a:input, '\[') call s:_skip(a:input) while !s:_eof(a:input) && !s:_match(a:input, '\]') let ary += [s:_value(a:input)] call s:_consume(a:input, ',\?') call s:_skip(a:input) endwhile call s:_consume(a:input, '\]') return ary endfunction " " Table " function! s:_table(input) abort let tbl = {} call s:_consume(a:input, '\[') let name = s:_keys(a:input, '\]') call s:_consume(a:input, '\]') call s:_skip(a:input) " while !s:_eof(a:input) && !s:_match(a:input, '\[\{1,2}[a-zA-Z0-9.]\+\]\{1,2}') while !s:_eof(a:input) && !s:_match(a:input, '\[') let keys = s:_keys(a:input, '=') call s:_equals(a:input) let value = s:_value(a:input) call s:_put_dict(tbl, keys, value) call s:_skip(a:input) unlet keys value endwhile return [name, tbl] endfunction " " Inline Table " function! s:_inline_table(input) abort let tbl = {} call s:_consume(a:input, '{') while !s:_eof(a:input) && !s:_match(a:input, '}') let keys = s:_keys(a:input, '=') call s:_equals(a:input) let value = s:_value(a:input) call s:_put_dict(tbl, keys, value) call s:_consume(a:input, ',\?') call s:_skip(a:input) endwhile call s:_consume(a:input, '}') return tbl endfunction " " Array of Tables " function! s:_array_of_tables(input) abort let tbl = {} call s:_consume(a:input, '\[\[') let name = s:_keys(a:input, '\]\]') call s:_consume(a:input, '\]\]') call s:_skip(a:input) " while !s:_eof(a:input) && !s:_match(a:input, '\[\{1,2}[a-zA-Z0-9.]\+\]\{1,2}') while !s:_eof(a:input) && !s:_match(a:input, '\[') let keys = s:_keys(a:input, '=') call s:_equals(a:input) let value = s:_value(a:input) call s:_put_dict(tbl, keys, value) call s:_skip(a:input) endwhile return [name, [tbl]] endfunction function! s:_unescape(text) abort let text = a:text let text = substitute(text, '\\"', '"', 'g') let text = substitute(text, '\\b', "\b", 'g') let text = substitute(text, '\\t', "\t", 'g') let text = substitute(text, '\\n', "\n", 'g') let text = substitute(text, '\\f', "\f", 'g') let text = substitute(text, '\\r', "\r", 'g') let text = substitute(text, '\\\\', '\', 'g') let text = substitute(text, '\C\\u\(\x\{4}\)', '\=s:_nr2char("0x" . submatch(1))', 'g') let text = substitute(text, '\C\\U\(\x\{8}\)', '\=s:_nr2char("0x" . submatch(1))', 'g') return text endfunction function! s:_nr2char(nr) abort return iconv(nr2char(a:nr), &encoding, 'utf-8') endfunction function! s:_put_dict(dict, keys, value) abort let ref = a:dict for key in a:keys[: -2] if has_key(ref, key) && type(ref[key]) == 4 let ref = ref[key] elseif has_key(ref, key) && type(ref[key]) == 3 let ref = ref[key][-1] else let ref[key] = {} let ref = ref[key] endif endfor if has_key(ref, a:keys[-1]) && type(a:value) == 4 call extend(ref[a:keys[-1]], a:value) else let ref[a:keys[-1]] = a:value endif endfunction function! s:_put_array(dict, keys, value) abort let ref = a:dict for key in a:keys[: -2] let ref[key] = get(ref, key, {}) if type(ref[key]) == 3 let ref = ref[key][-1] else let ref = ref[key] endif endfor let ref[a:keys[-1]] = get(ref, a:keys[-1], []) + a:value endfunction function! SpaceVim#api#data#toml#get() abort return deepcopy(s:self) endfunction let &cpo = s:save_cpo unlet s:save_cpo " vim:set et ts=2 sts=2 sw=2 tw=0: ================================================ FILE: autoload/SpaceVim/api/file.vim ================================================ "============================================================================= " file.vim --- SpaceVim file API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 if exists('s:self') finish endif "" " @section file, api-file " @parentsection api " The `file` api provides basic functions to manage file. The following " functions can be used: " " - `fticon(path)`: get the filetype icon of path " - `write(msg, fname)`: append msg to fname. " - `override(msg, fname)`: override fname with msg. " - `read(fname)`: read the context of fname. " - `ls(dir, if_file_only)`: list files and directories in dir " - `updatefiles(files)`: update all files " - `unify_path(path, ...)`: unify the format of path " - `path_to_fname(path)`: get unify string of a path. " - `findfile(pattern, dir)`: find path match pattern in dir. " - `finddir(pattern, dir)`: find directory match pattern in dir " " Example: " > " let s:FILE = SpaceVim#api#import('file') " < let s:self = {} let s:self.__system = SpaceVim#api#import('system') let s:self.__cmp = SpaceVim#api#import('vim#compatible') if s:self.__system.isWindows let s:self.separator = '\' let s:self.pathSeparator = ';' else let s:self.separator = '/' let s:self.pathSeparator = ':' endif let s:gui_colors = { \ 'brown' : '#905532', \ 'aqua' : '#3AFFDB', \ 'blue' : '#689FB6', \ 'darkBlue' : '#44788E', \ 'purple' : '#834F79', \ 'lightPurple' : '#834F79', \ 'red' : '#AE403F', \ 'beige' : '#F5C06F', \ 'yellow' : '#F09F17', \ 'orange' : '#D4843E', \ 'darkOrange' : '#F16529', \ 'pink' : '#CB6F6F', \ 'salmon' : '#EE6E73', \ 'green' : '#8FAA54', \ 'lightGreen' : '#31B53E', \ 'default': '#abb2bf', \ } let s:term_colors = { \ 'brown' : 130, \ 'aqua' : 66, \ 'blue' : 67, \ 'darkBlue' : 57, \ 'purple' : 60, \ 'lightPurple' : 103, \ 'red' : 131, \ 'beige' : 137, \ 'yellow' : 229, \ 'orange' : 208, \ 'darkOrange' : 166, \ 'pink' : 205, \ 'salmon' : 209, \ 'green' : 65, \ 'lightGreen' : 108, \ 'default' : 231, \ } let s:icons_color = { \ 'jpg' : {'icon': '', 'color': s:gui_colors.aqua, 'term_color': s:term_colors.aqua}, \ 'json' : {'icon': '', 'color': s:gui_colors.beige, 'term_color': s:term_colors.beige}, \ 'mjs' : {'icon': '', 'color': s:gui_colors.beige, 'term_color': s:term_colors.beige}, \ 'hs' : {'icon': '', 'color': s:gui_colors.beige, 'term_color': s:term_colors.beige}, \ 'go' : {'icon': '', 'color': s:gui_colors.beige, 'term_color': s:term_colors.beige}, \ 'css' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'jsx' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'c' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'db' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'pl' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'fsscript' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'ts' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'tsx' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'cs' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'hh' : {'icon': '', 'color': s:gui_colors.blue, 'term_color': s:term_colors.blue}, \ 'coffee' : {'icon': '', 'color': s:gui_colors.brown, 'term_color': s:term_colors.brown}, \ 'less' : {'icon': '', 'color': s:gui_colors.darkBlue, 'term_color': s:term_colors.darkBlue}, \ 'sql' : {'icon': '', 'color': s:gui_colors.darkBlue, 'term_color': s:term_colors.darkBlue}, \ 'psd' : {'icon': '', 'color': s:gui_colors.darkBlue, 'term_color': s:term_colors.darkBlue}, \ 'fsharp' : {'icon': '', 'color': s:gui_colors.darkBlue, 'term_color': s:term_colors.darkBlue}, \ 'html' : {'icon': '', 'color': s:gui_colors.darkOrange, 'term_color': s:term_colors.darkOrange}, \ 'xul' : {'icon': '', 'color': s:gui_colors.darkOrange, 'term_color': s:term_colors.darkOrange}, \ 'rss' : {'icon': '', 'color': s:gui_colors.darkOrange, 'term_color': s:term_colors.darkOrange}, \ 'rs' : {'icon': '', 'color': s:gui_colors.darkOrange, 'term_color': s:term_colors.darkOrange}, \ 'rlib' : {'icon': '', 'color': s:gui_colors.darkOrange, 'term_color': s:term_colors.darkOrange}, \ 'ai' : {'icon': '', 'color': s:gui_colors.darkOrange, 'term_color': s:term_colors.darkOrange}, \ 'svelte' : {'icon': '', 'color': s:gui_colors.darkOrange, 'term_color': s:term_colors.darkOrange}, \ 'sass' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'rmd' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'conf' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'h' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'bash' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'diff' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'dart' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'pp' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'key' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'elm' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'gemspec' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'haml' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'leex' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'rake' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'tex' : {'icon': 'ﭨ', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'webmanifest' : {'icon': '', 'color': s:gui_colors.default, 'term_color': s:term_colors.default}, \ 'styl' : {'icon': '', 'color': s:gui_colors.green, 'term_color': s:term_colors.green}, \ 'twig' : {'icon': '', 'color': s:gui_colors.green, 'term_color': s:term_colors.green}, \ 'fish' : {'icon': '', 'color': s:gui_colors.green, 'term_color': s:term_colors.green}, \ 'clj' : {'icon': '', 'color': s:gui_colors.green, 'term_color': s:term_colors.green}, \ 'cljc' : {'icon': '', 'color': s:gui_colors.green, 'term_color': s:term_colors.green}, \ 'cljs' : {'icon': '', 'color': s:gui_colors.green, 'term_color': s:term_colors.green}, \ 'edn' : {'icon': '', 'color': s:gui_colors.green, 'term_color': s:term_colors.green}, \ 'vim' : {'icon': '', 'color': s:gui_colors.green, 'term_color': s:term_colors.green}, \ 'sh' : {'icon': '', 'color': s:gui_colors.lightPurple, 'term_color': s:term_colors.lightPurple}, \ 'erl' : {'icon': '', 'color': s:gui_colors.lightPurple, 'term_color': s:term_colors.lightPurple}, \ 'ex' : {'icon': '', 'color': s:gui_colors.lightPurple, 'term_color': s:term_colors.lightPurple}, \ 'slim' : {'icon': '', 'color': s:gui_colors.orange, 'term_color': s:term_colors.orange}, \ 'mustache' : {'icon': '', 'color': s:gui_colors.orange, 'term_color': s:term_colors.orange}, \ 'swift' : {'icon': '', 'color': s:gui_colors.orange, 'term_color': s:term_colors.orange}, \ 'scss' : {'icon': '', 'color': s:gui_colors.pink, 'term_color': s:term_colors.pink}, \ 'hrl' : {'icon': '', 'color': s:gui_colors.pink, 'term_color': s:term_colors.pink}, \ 'php' : {'icon': '', 'color': s:gui_colors.purple, 'term_color': s:term_colors.purple}, \ 'lua' : {'icon': '', 'color': s:gui_colors.purple, 'term_color': s:term_colors.purple}, \ 'java' : {'icon': '', 'color': s:gui_colors.purple, 'term_color': s:term_colors.purple}, \ 'sln' : {'icon': '', 'color': s:gui_colors.purple, 'term_color': s:term_colors.purple}, \ 'jl' : {'icon': '', 'color': s:gui_colors.purple, 'term_color': s:term_colors.purple}, \ 'rb' : {'icon': '', 'color': s:gui_colors.red, 'term_color': s:term_colors.red}, \ 'scala' : {'icon': '', 'color': s:gui_colors.red, 'term_color': s:term_colors.red}, \ 'd' : {'icon': '', 'color': s:gui_colors.red, 'term_color': s:term_colors.red}, \ 'ejs' : {'icon': '', 'color': s:gui_colors.yellow, 'term_color': s:term_colors.yellow}, \ 'md' : {'icon': '', 'color': s:gui_colors.yellow, 'term_color': s:term_colors.yellow}, \ 'py' : {'icon': '', 'color': s:gui_colors.yellow, 'term_color': s:term_colors.yellow}, \ 'ml' : {'icon': 'λ', 'color': s:gui_colors.yellow, 'term_color': s:term_colors.yellow}, \} let s:file_node_extensions = { \ 'styl' : '', \ 'scss' : '', \ 'htm' : '', \ 'html' : '', \ 'erb' : '', \ 'slim' : '', \ 'ejs' : '', \ 'wxml' : '', \ 'css' : '', \ 'less' : '', \ 'wxss' : '', \ 'md' : '', \ 'doc' : '', \ 'help' : '', \ 'txt' : '', \ 'toml' : '', \ 'markdown' : '', \ 'json' : '', \ 'js' : '', \ 'jsx' : '', \ 'rb' : '', \ 'php' : '', \ 'py' : '', \ 'pyc' : '', \ 'pyo' : '', \ 'pyd' : '', \ 'coffee' : '', \ 'mustache' : '', \ 'hbs' : '', \ 'conf' : '', \ 'ini' : '', \ 'yml' : '', \ 'bat' : '', \ 'jpg' : '', \ 'jpeg' : '', \ 'bmp' : '', \ 'png' : '', \ 'gif' : '', \ 'ico' : '', \ 'twig' : '', \ 'cpp' : '', \ 'c++' : '', \ 'cxx' : '', \ 'cc' : '', \ 'cp' : '', \ 'c' : '', \ 'hs' : '', \ 'lhs' : '', \ 'lua' : '', \ 'java' : '', \ 'sh' : '', \ 'fish' : '', \ 'ml' : 'λ', \ 'mli' : 'λ', \ 'diff' : '', \ 'db' : '', \ 'sql' : '', \ 'dump' : '', \ 'clj' : '', \ 'cljc' : '', \ 'cljs' : '', \ 'edn' : '', \ 'scala' : '', \ 'go' : '', \ 'dart' : '', \ 'xul' : '', \ 'sln' : '', \ 'suo' : '', \ 'pl' : '', \ 'pm' : '', \ 't' : '', \ 'rss' : '', \ 'f#' : '', \ 'fsscript' : '', \ 'fsx' : '', \ 'fs' : '', \ 'fsi' : '', \ 'rs' : '', \ 'rlib' : '', \ 'd' : '', \ 'erl' : '', \ 'hrl' : '', \ 'vim' : '', \ 'ai' : '', \ 'psd' : '', \ 'psb' : '', \ 'ts' : '', \ 'tsx' : '', \ 'jl' : '', \ 'ex' : '', \ 'exs' : '', \ 'eex' : '', \ 'leex' : '', \} let s:file_node_exact_matches = { \ 'exact-match-case-sensitive-1.txt' : 'X1', \ 'exact-match-case-sensitive-2' : 'X2', \ 'gruntfile.coffee' : '', \ 'gruntfile.js' : '', \ 'gruntfile.ls' : '', \ 'gulpfile.coffee' : '', \ 'gulpfile.js' : '', \ 'gulpfile.ls' : '', \ 'dropbox' : '', \ '.ds_store' : '', \ '.gitconfig' : '', \ '.gitignore' : '', \ 'config' : '', \ 'muttrc' : '', \ 'Makefile' : '', \ '.bashrc' : '', \ '.bashprofile' : '', \ 'favicon.ico' : '', \ 'license' : '', \ 'node_modules' : '', \ 'react.jsx' : '', \ 'Procfile' : '', \ '.vimrc' : '', \ 'vimrc' : '', \ 'mix.lock' : '', \} let s:file_node_pattern_matches = { \ '.*jquery.*\.js$' : '', \ '.*angular.*\.js$' : '', \ '.*backbone.*\.js$' : '', \ '.*require.*\.js$' : '', \ '.*materialize.*\.js$' : '', \ '.*materialize.*\.css$' : '', \ '.*mootools.*\.js$' : '' \} function! s:self.fticon(path) abort let file = fnamemodify(a:path, ':t') if has_key(s:file_node_exact_matches, file) return s:file_node_exact_matches[file] endif for [k, v] in items(s:file_node_pattern_matches) if match(file, k) != -1 return v endif endfor let ext = fnamemodify(file, ':e') if has_key(get(g:, 'spacevim_filetype_icons', {}), ext) return g:spacevim_filetype_icons[ext] elseif has_key(s:file_node_extensions, ext) return s:file_node_extensions[ext] endif return '' endfunction function! s:self.hi_icons() abort for [name, icon] in items(s:icons_color) call execute(printf('hi! SpaceVim_API_FILE_%s guifg=%s ctermfg=%s', name, icon.color, icon.term_color)) call execute(printf('call matchadd("SpaceVim_API_FILE_%s", "%s", 2)', name, icon.icon)) endfor endfunction function! s:self.clear_icons() abort call clearmatches() endfunction function! s:self.write(msg, fname) abort let flags = filewritable(a:fname) ? 'a' : '' call writefile([a:msg], a:fname, flags) endfunction function! s:self.override(msg, fname) abort let flags = filewritable(a:fname) ? 'b' : '' call writefile([a:msg], a:fname, flags) endfunction function! s:self.read(fname) abort if filereadable(a:fname) return readfile(a:fname, '') else return '' endif endfunction function! s:self.ls(dir, if_file_only) abort let items = s:vim_comp.globpath(a:dir, '*') if a:if_file_only let items = filter(items, '!isdirectory(v:val)') endif return map(items, "fnamemodify(v:val, ':t')") endfunction " " { " 'filename' : { " line1 : content, " line2 : content, " } " } function! s:self.updatefiles(files) abort let failed = [] for fname in keys(a:files) let buffer = readfile(fname) for line in keys(a:files[fname]) let buffer[line - 1] = a:files[fname][line] endfor try call writefile(buffer, fname, 'b') catch call add(failed, fname) endtry endfor return failed endfunction " this function should return a unify path " CHANGED: This function will not run resolve " 1. the sep is / " 2. if it is a dir, end with / " 3. if a:path end with /, then return path also end with / function! s:self.unify_path(path, ...) abort if empty(a:path) return '' endif let mod = a:0 > 0 ? a:1 : ':p' let path = fnamemodify(a:path, mod . ':gs?[\\/]?/?') if isdirectory(path) && path[-1:] !=# '/' return path . '/' elseif a:path[-1:] ==# '/' && path[-1:] !=# '/' return path . '/' else return path endif endfunction function! s:self.path_to_fname(path, ...) abort let sep = get(a:000, 0, '_') return substitute(self.unify_path(a:path), '[\\/:;.]', sep, 'g') endfunction " Both findfile() and finddir() do not has same logic between latest " version of vim and vim7.4.629. I do not know which pathch cause this " issue. But I have change the logic of these functions. " Now it should works same as in vim8 and old vim. function! s:self.findfile(what, where, ...) abort let old_suffixesadd = &suffixesadd let &suffixesadd = '' let l:count = get(a:000, 0, 0) if filereadable(a:where) && !isdirectory(a:where) let path = fnamemodify(a:where, ':h') else let path = a:where endif if l:count > 0 let file = findfile(a:what, escape(path, ' ') . ';', l:count) elseif a:0 ==# 0 let file = findfile(a:what, escape(path, ' ') . ';') elseif l:count ==# 0 let file = findfile(a:what, escape(path, ' ') . ';', -1) else let file = get(findfile(a:what, escape(path, ' ') . ';', -1), l:count, '') endif let &suffixesadd = old_suffixesadd return file endfunction function! s:self.finddir(what, where, ...) abort let old_suffixesadd = &suffixesadd let &suffixesadd = '' let l:count = get(a:000, 0, 0) if filereadable(a:where) && !isdirectory(a:where) let path = fnamemodify(a:where, ':h') else let path = a:where endif if l:count > 0 let file = finddir(a:what, escape(path, ' ') . ';', l:count) elseif a:0 ==# 0 let file = finddir(a:what, escape(path, ' ') . ';') elseif l:count ==# 0 let file = finddir(a:what, escape(path, ' ') . ';', -1) else let file = get(finddir(a:what, escape(path, ' ') . ';', -1), l:count, '') endif let &suffixesadd = old_suffixesadd return file endfunction function! SpaceVim#api#file#get() abort return deepcopy(s:self) endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/api/iconv/bytes.vim ================================================ function! SpaceVim#api#iconv#bytes#import() abort return s:bytes endfunction let s:bytes = {} function! s:bytes.tobytes(v) abort if type(a:v) == type([]) return a:v elseif type(a:v) == type('') return self.str2bytes(a:v) else throw "Can't convert to bytes" endif endfunction function! s:bytes.str2bytes(str) abort return map(range(len(a:str)), 'char2nr(a:str[v:val])') endfunction function! s:bytes.bytes2str(bytes) abort return eval('"' . join(map(copy(a:bytes), 'printf(''\x%02x'', v:val)'), '') . '"') endfunction function! s:bytes.bytes2hex(bytes) abort return join(map(copy(a:bytes), 'printf("%02x", v:val)'), '') endfunction function! s:bytes.hex2bytes(hex) abort return map(split(a:hex, '..\zs'), 'str2nr(v:val, 16)') endfunction function! s:bytes.lines2bytes(lines) abort let bytes = [] let first = 1 for line in a:lines if !first call add(bytes, 10) endif let first = 0 call extend(bytes, map(range(len(line)), 'line[v:val] ==# "\n" ? 0 : char2nr(line[v:val])')) endfor return bytes endfunction function! s:bytes.bytes2lines(bytes) abort let table = map(range(256), 'printf(''\x%02x'', v:val == 0 ? 10 : v:val)') let lines = [] let start = 0 while start < len(a:bytes) let end = index(a:bytes, 10, start) if end == -1 let end = len(a:bytes) endif let line = eval('"' . join(map(range(start, end - 1), 'table[a:bytes[v:val]]'), '') . '"') call add(lines, line) if end == len(a:bytes) - 1 call add(lines, '') endif let start = end + 1 endwhile return lines endfunction function! s:bytes.readfile(filename) abort try let lines = readfile(a:filename, 'b') catch /^Vim\%((\a\+)\)\=:E484:/ throw "Can't read file" endtry let bytes = self.lines2bytes(lines) return bytes endfunction function! s:bytes.writefile(bytes, filename) abort let lines = self.bytes2lines(a:bytes) if writefile(lines, a:filename, 'b') != 0 throw "Can't write file" endif endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_1.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_1#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_1" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [161] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [170] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [186] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [188] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [190] let s:lib.Codec.decoding_table["191"] = [191] let s:lib.Codec.decoding_table["192"] = [192] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [195] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [200] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [202] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [204] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["208"] = [208] let s:lib.Codec.decoding_table["209"] = [209] let s:lib.Codec.decoding_table["210"] = [210] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [216] let s:lib.Codec.decoding_table["217"] = [217] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [221] let s:lib.Codec.decoding_table["222"] = [222] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [227] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [240] let s:lib.Codec.decoding_table["241"] = [241] let s:lib.Codec.decoding_table["242"] = [242] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [248] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [253] let s:lib.Codec.decoding_table["254"] = [254] let s:lib.Codec.decoding_table["255"] = [255] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["161"] = [161] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["170"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["186"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["188"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["190"] = [190] let s:lib.Codec.encoding_table["191"] = [191] let s:lib.Codec.encoding_table["192"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["195"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["200"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["202"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["204"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["208"] = [208] let s:lib.Codec.encoding_table["209"] = [209] let s:lib.Codec.encoding_table["210"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["216"] = [216] let s:lib.Codec.encoding_table["217"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["221"] = [221] let s:lib.Codec.encoding_table["222"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["227"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["240"] = [240] let s:lib.Codec.encoding_table["241"] = [241] let s:lib.Codec.encoding_table["242"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["248"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["253"] = [253] let s:lib.Codec.encoding_table["254"] = [254] let s:lib.Codec.encoding_table["255"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_10.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_10#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_10" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [260] let s:lib.Codec.decoding_table["162"] = [274] let s:lib.Codec.decoding_table["163"] = [290] let s:lib.Codec.decoding_table["164"] = [298] let s:lib.Codec.decoding_table["165"] = [296] let s:lib.Codec.decoding_table["166"] = [310] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [315] let s:lib.Codec.decoding_table["169"] = [272] let s:lib.Codec.decoding_table["170"] = [352] let s:lib.Codec.decoding_table["171"] = [358] let s:lib.Codec.decoding_table["172"] = [381] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [362] let s:lib.Codec.decoding_table["175"] = [330] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [261] let s:lib.Codec.decoding_table["178"] = [275] let s:lib.Codec.decoding_table["179"] = [291] let s:lib.Codec.decoding_table["180"] = [299] let s:lib.Codec.decoding_table["181"] = [297] let s:lib.Codec.decoding_table["182"] = [311] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [316] let s:lib.Codec.decoding_table["185"] = [273] let s:lib.Codec.decoding_table["186"] = [353] let s:lib.Codec.decoding_table["187"] = [359] let s:lib.Codec.decoding_table["188"] = [382] let s:lib.Codec.decoding_table["189"] = [8213] let s:lib.Codec.decoding_table["190"] = [363] let s:lib.Codec.decoding_table["191"] = [331] let s:lib.Codec.decoding_table["192"] = [256] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [195] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [302] let s:lib.Codec.decoding_table["200"] = [268] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [280] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [278] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["208"] = [208] let s:lib.Codec.decoding_table["209"] = [325] let s:lib.Codec.decoding_table["210"] = [332] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [360] let s:lib.Codec.decoding_table["216"] = [216] let s:lib.Codec.decoding_table["217"] = [370] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [221] let s:lib.Codec.decoding_table["222"] = [222] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [257] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [227] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [303] let s:lib.Codec.decoding_table["232"] = [269] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [281] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [279] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [240] let s:lib.Codec.decoding_table["241"] = [326] let s:lib.Codec.decoding_table["242"] = [333] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [361] let s:lib.Codec.decoding_table["248"] = [248] let s:lib.Codec.decoding_table["249"] = [371] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [253] let s:lib.Codec.decoding_table["254"] = [254] let s:lib.Codec.decoding_table["255"] = [312] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["260"] = [161] let s:lib.Codec.encoding_table["274"] = [162] let s:lib.Codec.encoding_table["290"] = [163] let s:lib.Codec.encoding_table["298"] = [164] let s:lib.Codec.encoding_table["296"] = [165] let s:lib.Codec.encoding_table["310"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["315"] = [168] let s:lib.Codec.encoding_table["272"] = [169] let s:lib.Codec.encoding_table["352"] = [170] let s:lib.Codec.encoding_table["358"] = [171] let s:lib.Codec.encoding_table["381"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["362"] = [174] let s:lib.Codec.encoding_table["330"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["261"] = [177] let s:lib.Codec.encoding_table["275"] = [178] let s:lib.Codec.encoding_table["291"] = [179] let s:lib.Codec.encoding_table["299"] = [180] let s:lib.Codec.encoding_table["297"] = [181] let s:lib.Codec.encoding_table["311"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["316"] = [184] let s:lib.Codec.encoding_table["273"] = [185] let s:lib.Codec.encoding_table["353"] = [186] let s:lib.Codec.encoding_table["359"] = [187] let s:lib.Codec.encoding_table["382"] = [188] let s:lib.Codec.encoding_table["8213"] = [189] let s:lib.Codec.encoding_table["363"] = [190] let s:lib.Codec.encoding_table["331"] = [191] let s:lib.Codec.encoding_table["256"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["195"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["302"] = [199] let s:lib.Codec.encoding_table["268"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["280"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["278"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["208"] = [208] let s:lib.Codec.encoding_table["325"] = [209] let s:lib.Codec.encoding_table["332"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["360"] = [215] let s:lib.Codec.encoding_table["216"] = [216] let s:lib.Codec.encoding_table["370"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["221"] = [221] let s:lib.Codec.encoding_table["222"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["257"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["227"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["303"] = [231] let s:lib.Codec.encoding_table["269"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["281"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["279"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["240"] = [240] let s:lib.Codec.encoding_table["326"] = [241] let s:lib.Codec.encoding_table["333"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["361"] = [247] let s:lib.Codec.encoding_table["248"] = [248] let s:lib.Codec.encoding_table["371"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["253"] = [253] let s:lib.Codec.encoding_table["254"] = [254] let s:lib.Codec.encoding_table["312"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_11.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_11#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_11" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [3585] let s:lib.Codec.decoding_table["162"] = [3586] let s:lib.Codec.decoding_table["163"] = [3587] let s:lib.Codec.decoding_table["164"] = [3588] let s:lib.Codec.decoding_table["165"] = [3589] let s:lib.Codec.decoding_table["166"] = [3590] let s:lib.Codec.decoding_table["167"] = [3591] let s:lib.Codec.decoding_table["168"] = [3592] let s:lib.Codec.decoding_table["169"] = [3593] let s:lib.Codec.decoding_table["170"] = [3594] let s:lib.Codec.decoding_table["171"] = [3595] let s:lib.Codec.decoding_table["172"] = [3596] let s:lib.Codec.decoding_table["173"] = [3597] let s:lib.Codec.decoding_table["174"] = [3598] let s:lib.Codec.decoding_table["175"] = [3599] let s:lib.Codec.decoding_table["176"] = [3600] let s:lib.Codec.decoding_table["177"] = [3601] let s:lib.Codec.decoding_table["178"] = [3602] let s:lib.Codec.decoding_table["179"] = [3603] let s:lib.Codec.decoding_table["180"] = [3604] let s:lib.Codec.decoding_table["181"] = [3605] let s:lib.Codec.decoding_table["182"] = [3606] let s:lib.Codec.decoding_table["183"] = [3607] let s:lib.Codec.decoding_table["184"] = [3608] let s:lib.Codec.decoding_table["185"] = [3609] let s:lib.Codec.decoding_table["186"] = [3610] let s:lib.Codec.decoding_table["187"] = [3611] let s:lib.Codec.decoding_table["188"] = [3612] let s:lib.Codec.decoding_table["189"] = [3613] let s:lib.Codec.decoding_table["190"] = [3614] let s:lib.Codec.decoding_table["191"] = [3615] let s:lib.Codec.decoding_table["192"] = [3616] let s:lib.Codec.decoding_table["193"] = [3617] let s:lib.Codec.decoding_table["194"] = [3618] let s:lib.Codec.decoding_table["195"] = [3619] let s:lib.Codec.decoding_table["196"] = [3620] let s:lib.Codec.decoding_table["197"] = [3621] let s:lib.Codec.decoding_table["198"] = [3622] let s:lib.Codec.decoding_table["199"] = [3623] let s:lib.Codec.decoding_table["200"] = [3624] let s:lib.Codec.decoding_table["201"] = [3625] let s:lib.Codec.decoding_table["202"] = [3626] let s:lib.Codec.decoding_table["203"] = [3627] let s:lib.Codec.decoding_table["204"] = [3628] let s:lib.Codec.decoding_table["205"] = [3629] let s:lib.Codec.decoding_table["206"] = [3630] let s:lib.Codec.decoding_table["207"] = [3631] let s:lib.Codec.decoding_table["208"] = [3632] let s:lib.Codec.decoding_table["209"] = [3633] let s:lib.Codec.decoding_table["210"] = [3634] let s:lib.Codec.decoding_table["211"] = [3635] let s:lib.Codec.decoding_table["212"] = [3636] let s:lib.Codec.decoding_table["213"] = [3637] let s:lib.Codec.decoding_table["214"] = [3638] let s:lib.Codec.decoding_table["215"] = [3639] let s:lib.Codec.decoding_table["216"] = [3640] let s:lib.Codec.decoding_table["217"] = [3641] let s:lib.Codec.decoding_table["218"] = [3642] let s:lib.Codec.decoding_table["223"] = [3647] let s:lib.Codec.decoding_table["224"] = [3648] let s:lib.Codec.decoding_table["225"] = [3649] let s:lib.Codec.decoding_table["226"] = [3650] let s:lib.Codec.decoding_table["227"] = [3651] let s:lib.Codec.decoding_table["228"] = [3652] let s:lib.Codec.decoding_table["229"] = [3653] let s:lib.Codec.decoding_table["230"] = [3654] let s:lib.Codec.decoding_table["231"] = [3655] let s:lib.Codec.decoding_table["232"] = [3656] let s:lib.Codec.decoding_table["233"] = [3657] let s:lib.Codec.decoding_table["234"] = [3658] let s:lib.Codec.decoding_table["235"] = [3659] let s:lib.Codec.decoding_table["236"] = [3660] let s:lib.Codec.decoding_table["237"] = [3661] let s:lib.Codec.decoding_table["238"] = [3662] let s:lib.Codec.decoding_table["239"] = [3663] let s:lib.Codec.decoding_table["240"] = [3664] let s:lib.Codec.decoding_table["241"] = [3665] let s:lib.Codec.decoding_table["242"] = [3666] let s:lib.Codec.decoding_table["243"] = [3667] let s:lib.Codec.decoding_table["244"] = [3668] let s:lib.Codec.decoding_table["245"] = [3669] let s:lib.Codec.decoding_table["246"] = [3670] let s:lib.Codec.decoding_table["247"] = [3671] let s:lib.Codec.decoding_table["248"] = [3672] let s:lib.Codec.decoding_table["249"] = [3673] let s:lib.Codec.decoding_table["250"] = [3674] let s:lib.Codec.decoding_table["251"] = [3675] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["3585"] = [161] let s:lib.Codec.encoding_table["3586"] = [162] let s:lib.Codec.encoding_table["3587"] = [163] let s:lib.Codec.encoding_table["3588"] = [164] let s:lib.Codec.encoding_table["3589"] = [165] let s:lib.Codec.encoding_table["3590"] = [166] let s:lib.Codec.encoding_table["3591"] = [167] let s:lib.Codec.encoding_table["3592"] = [168] let s:lib.Codec.encoding_table["3593"] = [169] let s:lib.Codec.encoding_table["3594"] = [170] let s:lib.Codec.encoding_table["3595"] = [171] let s:lib.Codec.encoding_table["3596"] = [172] let s:lib.Codec.encoding_table["3597"] = [173] let s:lib.Codec.encoding_table["3598"] = [174] let s:lib.Codec.encoding_table["3599"] = [175] let s:lib.Codec.encoding_table["3600"] = [176] let s:lib.Codec.encoding_table["3601"] = [177] let s:lib.Codec.encoding_table["3602"] = [178] let s:lib.Codec.encoding_table["3603"] = [179] let s:lib.Codec.encoding_table["3604"] = [180] let s:lib.Codec.encoding_table["3605"] = [181] let s:lib.Codec.encoding_table["3606"] = [182] let s:lib.Codec.encoding_table["3607"] = [183] let s:lib.Codec.encoding_table["3608"] = [184] let s:lib.Codec.encoding_table["3609"] = [185] let s:lib.Codec.encoding_table["3610"] = [186] let s:lib.Codec.encoding_table["3611"] = [187] let s:lib.Codec.encoding_table["3612"] = [188] let s:lib.Codec.encoding_table["3613"] = [189] let s:lib.Codec.encoding_table["3614"] = [190] let s:lib.Codec.encoding_table["3615"] = [191] let s:lib.Codec.encoding_table["3616"] = [192] let s:lib.Codec.encoding_table["3617"] = [193] let s:lib.Codec.encoding_table["3618"] = [194] let s:lib.Codec.encoding_table["3619"] = [195] let s:lib.Codec.encoding_table["3620"] = [196] let s:lib.Codec.encoding_table["3621"] = [197] let s:lib.Codec.encoding_table["3622"] = [198] let s:lib.Codec.encoding_table["3623"] = [199] let s:lib.Codec.encoding_table["3624"] = [200] let s:lib.Codec.encoding_table["3625"] = [201] let s:lib.Codec.encoding_table["3626"] = [202] let s:lib.Codec.encoding_table["3627"] = [203] let s:lib.Codec.encoding_table["3628"] = [204] let s:lib.Codec.encoding_table["3629"] = [205] let s:lib.Codec.encoding_table["3630"] = [206] let s:lib.Codec.encoding_table["3631"] = [207] let s:lib.Codec.encoding_table["3632"] = [208] let s:lib.Codec.encoding_table["3633"] = [209] let s:lib.Codec.encoding_table["3634"] = [210] let s:lib.Codec.encoding_table["3635"] = [211] let s:lib.Codec.encoding_table["3636"] = [212] let s:lib.Codec.encoding_table["3637"] = [213] let s:lib.Codec.encoding_table["3638"] = [214] let s:lib.Codec.encoding_table["3639"] = [215] let s:lib.Codec.encoding_table["3640"] = [216] let s:lib.Codec.encoding_table["3641"] = [217] let s:lib.Codec.encoding_table["3642"] = [218] let s:lib.Codec.encoding_table["3647"] = [223] let s:lib.Codec.encoding_table["3648"] = [224] let s:lib.Codec.encoding_table["3649"] = [225] let s:lib.Codec.encoding_table["3650"] = [226] let s:lib.Codec.encoding_table["3651"] = [227] let s:lib.Codec.encoding_table["3652"] = [228] let s:lib.Codec.encoding_table["3653"] = [229] let s:lib.Codec.encoding_table["3654"] = [230] let s:lib.Codec.encoding_table["3655"] = [231] let s:lib.Codec.encoding_table["3656"] = [232] let s:lib.Codec.encoding_table["3657"] = [233] let s:lib.Codec.encoding_table["3658"] = [234] let s:lib.Codec.encoding_table["3659"] = [235] let s:lib.Codec.encoding_table["3660"] = [236] let s:lib.Codec.encoding_table["3661"] = [237] let s:lib.Codec.encoding_table["3662"] = [238] let s:lib.Codec.encoding_table["3663"] = [239] let s:lib.Codec.encoding_table["3664"] = [240] let s:lib.Codec.encoding_table["3665"] = [241] let s:lib.Codec.encoding_table["3666"] = [242] let s:lib.Codec.encoding_table["3667"] = [243] let s:lib.Codec.encoding_table["3668"] = [244] let s:lib.Codec.encoding_table["3669"] = [245] let s:lib.Codec.encoding_table["3670"] = [246] let s:lib.Codec.encoding_table["3671"] = [247] let s:lib.Codec.encoding_table["3672"] = [248] let s:lib.Codec.encoding_table["3673"] = [249] let s:lib.Codec.encoding_table["3674"] = [250] let s:lib.Codec.encoding_table["3675"] = [251] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_13.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_13#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_13" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [8221] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [8222] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [216] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [342] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [198] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [8220] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [248] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [343] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [188] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [190] let s:lib.Codec.decoding_table["191"] = [230] let s:lib.Codec.decoding_table["192"] = [260] let s:lib.Codec.decoding_table["193"] = [302] let s:lib.Codec.decoding_table["194"] = [256] let s:lib.Codec.decoding_table["195"] = [262] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [280] let s:lib.Codec.decoding_table["199"] = [274] let s:lib.Codec.decoding_table["200"] = [268] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [377] let s:lib.Codec.decoding_table["203"] = [278] let s:lib.Codec.decoding_table["204"] = [290] let s:lib.Codec.decoding_table["205"] = [310] let s:lib.Codec.decoding_table["206"] = [298] let s:lib.Codec.decoding_table["207"] = [315] let s:lib.Codec.decoding_table["208"] = [352] let s:lib.Codec.decoding_table["209"] = [323] let s:lib.Codec.decoding_table["210"] = [325] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [332] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [370] let s:lib.Codec.decoding_table["217"] = [321] let s:lib.Codec.decoding_table["218"] = [346] let s:lib.Codec.decoding_table["219"] = [362] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [379] let s:lib.Codec.decoding_table["222"] = [381] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [261] let s:lib.Codec.decoding_table["225"] = [303] let s:lib.Codec.decoding_table["226"] = [257] let s:lib.Codec.decoding_table["227"] = [263] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [281] let s:lib.Codec.decoding_table["231"] = [275] let s:lib.Codec.decoding_table["232"] = [269] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [378] let s:lib.Codec.decoding_table["235"] = [279] let s:lib.Codec.decoding_table["236"] = [291] let s:lib.Codec.decoding_table["237"] = [311] let s:lib.Codec.decoding_table["238"] = [299] let s:lib.Codec.decoding_table["239"] = [316] let s:lib.Codec.decoding_table["240"] = [353] let s:lib.Codec.decoding_table["241"] = [324] let s:lib.Codec.decoding_table["242"] = [326] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [333] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [371] let s:lib.Codec.decoding_table["249"] = [322] let s:lib.Codec.decoding_table["250"] = [347] let s:lib.Codec.decoding_table["251"] = [363] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [380] let s:lib.Codec.decoding_table["254"] = [382] let s:lib.Codec.decoding_table["255"] = [8217] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["8221"] = [161] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["8222"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["216"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["342"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["198"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["8220"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["248"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["343"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["188"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["190"] = [190] let s:lib.Codec.encoding_table["230"] = [191] let s:lib.Codec.encoding_table["260"] = [192] let s:lib.Codec.encoding_table["302"] = [193] let s:lib.Codec.encoding_table["256"] = [194] let s:lib.Codec.encoding_table["262"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["280"] = [198] let s:lib.Codec.encoding_table["274"] = [199] let s:lib.Codec.encoding_table["268"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["377"] = [202] let s:lib.Codec.encoding_table["278"] = [203] let s:lib.Codec.encoding_table["290"] = [204] let s:lib.Codec.encoding_table["310"] = [205] let s:lib.Codec.encoding_table["298"] = [206] let s:lib.Codec.encoding_table["315"] = [207] let s:lib.Codec.encoding_table["352"] = [208] let s:lib.Codec.encoding_table["323"] = [209] let s:lib.Codec.encoding_table["325"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["332"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["370"] = [216] let s:lib.Codec.encoding_table["321"] = [217] let s:lib.Codec.encoding_table["346"] = [218] let s:lib.Codec.encoding_table["362"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["379"] = [221] let s:lib.Codec.encoding_table["381"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["261"] = [224] let s:lib.Codec.encoding_table["303"] = [225] let s:lib.Codec.encoding_table["257"] = [226] let s:lib.Codec.encoding_table["263"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["281"] = [230] let s:lib.Codec.encoding_table["275"] = [231] let s:lib.Codec.encoding_table["269"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["378"] = [234] let s:lib.Codec.encoding_table["279"] = [235] let s:lib.Codec.encoding_table["291"] = [236] let s:lib.Codec.encoding_table["311"] = [237] let s:lib.Codec.encoding_table["299"] = [238] let s:lib.Codec.encoding_table["316"] = [239] let s:lib.Codec.encoding_table["353"] = [240] let s:lib.Codec.encoding_table["324"] = [241] let s:lib.Codec.encoding_table["326"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["333"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["371"] = [248] let s:lib.Codec.encoding_table["322"] = [249] let s:lib.Codec.encoding_table["347"] = [250] let s:lib.Codec.encoding_table["363"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["380"] = [253] let s:lib.Codec.encoding_table["382"] = [254] let s:lib.Codec.encoding_table["8217"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_14.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_14#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_14" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [7682] let s:lib.Codec.decoding_table["162"] = [7683] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [266] let s:lib.Codec.decoding_table["165"] = [267] let s:lib.Codec.decoding_table["166"] = [7690] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [7808] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [7810] let s:lib.Codec.decoding_table["171"] = [7691] let s:lib.Codec.decoding_table["172"] = [7922] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [376] let s:lib.Codec.decoding_table["176"] = [7710] let s:lib.Codec.decoding_table["177"] = [7711] let s:lib.Codec.decoding_table["178"] = [288] let s:lib.Codec.decoding_table["179"] = [289] let s:lib.Codec.decoding_table["180"] = [7744] let s:lib.Codec.decoding_table["181"] = [7745] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [7766] let s:lib.Codec.decoding_table["184"] = [7809] let s:lib.Codec.decoding_table["185"] = [7767] let s:lib.Codec.decoding_table["186"] = [7811] let s:lib.Codec.decoding_table["187"] = [7776] let s:lib.Codec.decoding_table["188"] = [7923] let s:lib.Codec.decoding_table["189"] = [7812] let s:lib.Codec.decoding_table["190"] = [7813] let s:lib.Codec.decoding_table["191"] = [7777] let s:lib.Codec.decoding_table["192"] = [192] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [195] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [200] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [202] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [204] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["208"] = [372] let s:lib.Codec.decoding_table["209"] = [209] let s:lib.Codec.decoding_table["210"] = [210] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [7786] let s:lib.Codec.decoding_table["216"] = [216] let s:lib.Codec.decoding_table["217"] = [217] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [221] let s:lib.Codec.decoding_table["222"] = [374] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [227] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [373] let s:lib.Codec.decoding_table["241"] = [241] let s:lib.Codec.decoding_table["242"] = [242] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [7787] let s:lib.Codec.decoding_table["248"] = [248] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [253] let s:lib.Codec.decoding_table["254"] = [375] let s:lib.Codec.decoding_table["255"] = [255] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["7682"] = [161] let s:lib.Codec.encoding_table["7683"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["266"] = [164] let s:lib.Codec.encoding_table["267"] = [165] let s:lib.Codec.encoding_table["7690"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["7808"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["7810"] = [170] let s:lib.Codec.encoding_table["7691"] = [171] let s:lib.Codec.encoding_table["7922"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["376"] = [175] let s:lib.Codec.encoding_table["7710"] = [176] let s:lib.Codec.encoding_table["7711"] = [177] let s:lib.Codec.encoding_table["288"] = [178] let s:lib.Codec.encoding_table["289"] = [179] let s:lib.Codec.encoding_table["7744"] = [180] let s:lib.Codec.encoding_table["7745"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["7766"] = [183] let s:lib.Codec.encoding_table["7809"] = [184] let s:lib.Codec.encoding_table["7767"] = [185] let s:lib.Codec.encoding_table["7811"] = [186] let s:lib.Codec.encoding_table["7776"] = [187] let s:lib.Codec.encoding_table["7923"] = [188] let s:lib.Codec.encoding_table["7812"] = [189] let s:lib.Codec.encoding_table["7813"] = [190] let s:lib.Codec.encoding_table["7777"] = [191] let s:lib.Codec.encoding_table["192"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["195"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["200"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["202"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["204"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["372"] = [208] let s:lib.Codec.encoding_table["209"] = [209] let s:lib.Codec.encoding_table["210"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["7786"] = [215] let s:lib.Codec.encoding_table["216"] = [216] let s:lib.Codec.encoding_table["217"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["221"] = [221] let s:lib.Codec.encoding_table["374"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["227"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["373"] = [240] let s:lib.Codec.encoding_table["241"] = [241] let s:lib.Codec.encoding_table["242"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["7787"] = [247] let s:lib.Codec.encoding_table["248"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["253"] = [253] let s:lib.Codec.encoding_table["375"] = [254] let s:lib.Codec.encoding_table["255"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_15.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_15#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_15" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [161] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [8364] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [352] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [353] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [170] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [381] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [382] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [186] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [338] let s:lib.Codec.decoding_table["189"] = [339] let s:lib.Codec.decoding_table["190"] = [376] let s:lib.Codec.decoding_table["191"] = [191] let s:lib.Codec.decoding_table["192"] = [192] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [195] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [200] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [202] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [204] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["208"] = [208] let s:lib.Codec.decoding_table["209"] = [209] let s:lib.Codec.decoding_table["210"] = [210] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [216] let s:lib.Codec.decoding_table["217"] = [217] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [221] let s:lib.Codec.decoding_table["222"] = [222] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [227] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [240] let s:lib.Codec.decoding_table["241"] = [241] let s:lib.Codec.decoding_table["242"] = [242] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [248] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [253] let s:lib.Codec.decoding_table["254"] = [254] let s:lib.Codec.decoding_table["255"] = [255] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["161"] = [161] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["8364"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["352"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["353"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["170"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["381"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["382"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["186"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["338"] = [188] let s:lib.Codec.encoding_table["339"] = [189] let s:lib.Codec.encoding_table["376"] = [190] let s:lib.Codec.encoding_table["191"] = [191] let s:lib.Codec.encoding_table["192"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["195"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["200"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["202"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["204"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["208"] = [208] let s:lib.Codec.encoding_table["209"] = [209] let s:lib.Codec.encoding_table["210"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["216"] = [216] let s:lib.Codec.encoding_table["217"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["221"] = [221] let s:lib.Codec.encoding_table["222"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["227"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["240"] = [240] let s:lib.Codec.encoding_table["241"] = [241] let s:lib.Codec.encoding_table["242"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["248"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["253"] = [253] let s:lib.Codec.encoding_table["254"] = [254] let s:lib.Codec.encoding_table["255"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_16.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_16#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_16" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [260] let s:lib.Codec.decoding_table["162"] = [261] let s:lib.Codec.decoding_table["163"] = [321] let s:lib.Codec.decoding_table["164"] = [8364] let s:lib.Codec.decoding_table["165"] = [8222] let s:lib.Codec.decoding_table["166"] = [352] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [353] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [536] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [377] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [378] let s:lib.Codec.decoding_table["175"] = [379] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [268] let s:lib.Codec.decoding_table["179"] = [322] let s:lib.Codec.decoding_table["180"] = [381] let s:lib.Codec.decoding_table["181"] = [8221] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [382] let s:lib.Codec.decoding_table["185"] = [269] let s:lib.Codec.decoding_table["186"] = [537] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [338] let s:lib.Codec.decoding_table["189"] = [339] let s:lib.Codec.decoding_table["190"] = [376] let s:lib.Codec.decoding_table["191"] = [380] let s:lib.Codec.decoding_table["192"] = [192] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [258] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [262] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [200] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [202] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [204] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["208"] = [272] let s:lib.Codec.decoding_table["209"] = [323] let s:lib.Codec.decoding_table["210"] = [210] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [336] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [346] let s:lib.Codec.decoding_table["216"] = [368] let s:lib.Codec.decoding_table["217"] = [217] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [280] let s:lib.Codec.decoding_table["222"] = [538] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [259] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [263] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [273] let s:lib.Codec.decoding_table["241"] = [324] let s:lib.Codec.decoding_table["242"] = [242] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [337] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [347] let s:lib.Codec.decoding_table["248"] = [369] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [281] let s:lib.Codec.decoding_table["254"] = [539] let s:lib.Codec.decoding_table["255"] = [255] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["260"] = [161] let s:lib.Codec.encoding_table["261"] = [162] let s:lib.Codec.encoding_table["321"] = [163] let s:lib.Codec.encoding_table["8364"] = [164] let s:lib.Codec.encoding_table["8222"] = [165] let s:lib.Codec.encoding_table["352"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["353"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["536"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["377"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["378"] = [174] let s:lib.Codec.encoding_table["379"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["268"] = [178] let s:lib.Codec.encoding_table["322"] = [179] let s:lib.Codec.encoding_table["381"] = [180] let s:lib.Codec.encoding_table["8221"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["382"] = [184] let s:lib.Codec.encoding_table["269"] = [185] let s:lib.Codec.encoding_table["537"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["338"] = [188] let s:lib.Codec.encoding_table["339"] = [189] let s:lib.Codec.encoding_table["376"] = [190] let s:lib.Codec.encoding_table["380"] = [191] let s:lib.Codec.encoding_table["192"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["258"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["262"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["200"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["202"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["204"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["272"] = [208] let s:lib.Codec.encoding_table["323"] = [209] let s:lib.Codec.encoding_table["210"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["336"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["346"] = [215] let s:lib.Codec.encoding_table["368"] = [216] let s:lib.Codec.encoding_table["217"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["280"] = [221] let s:lib.Codec.encoding_table["538"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["259"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["263"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["273"] = [240] let s:lib.Codec.encoding_table["324"] = [241] let s:lib.Codec.encoding_table["242"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["337"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["347"] = [247] let s:lib.Codec.encoding_table["369"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["281"] = [253] let s:lib.Codec.encoding_table["539"] = [254] let s:lib.Codec.encoding_table["255"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_2.vim ================================================ let s:nsiconv = expand(':p:h:h:gs?[\\/]?#?:s?^.*#autoload\(#\|$\)??:s?$?#?') let s:ns = expand(':p:r:gs?[\\/]?#?:s?^.*#autoload#??:s?$?#?') function! SpaceVim#api#iconv#codecs#_8859_2#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_2" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [260] let s:lib.Codec.decoding_table["162"] = [728] let s:lib.Codec.decoding_table["163"] = [321] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [317] let s:lib.Codec.decoding_table["166"] = [346] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [352] let s:lib.Codec.decoding_table["170"] = [350] let s:lib.Codec.decoding_table["171"] = [356] let s:lib.Codec.decoding_table["172"] = [377] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [381] let s:lib.Codec.decoding_table["175"] = [379] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [261] let s:lib.Codec.decoding_table["178"] = [731] let s:lib.Codec.decoding_table["179"] = [322] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [318] let s:lib.Codec.decoding_table["182"] = [347] let s:lib.Codec.decoding_table["183"] = [711] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [353] let s:lib.Codec.decoding_table["186"] = [351] let s:lib.Codec.decoding_table["187"] = [357] let s:lib.Codec.decoding_table["188"] = [378] let s:lib.Codec.decoding_table["189"] = [733] let s:lib.Codec.decoding_table["190"] = [382] let s:lib.Codec.decoding_table["191"] = [380] let s:lib.Codec.decoding_table["192"] = [340] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [258] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [313] let s:lib.Codec.decoding_table["198"] = [262] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [268] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [280] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [282] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [270] let s:lib.Codec.decoding_table["208"] = [272] let s:lib.Codec.decoding_table["209"] = [323] let s:lib.Codec.decoding_table["210"] = [327] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [336] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [344] let s:lib.Codec.decoding_table["217"] = [366] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [368] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [221] let s:lib.Codec.decoding_table["222"] = [354] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [341] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [259] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [314] let s:lib.Codec.decoding_table["230"] = [263] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [269] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [281] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [283] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [271] let s:lib.Codec.decoding_table["240"] = [273] let s:lib.Codec.decoding_table["241"] = [324] let s:lib.Codec.decoding_table["242"] = [328] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [337] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [345] let s:lib.Codec.decoding_table["249"] = [367] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [369] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [253] let s:lib.Codec.decoding_table["254"] = [355] let s:lib.Codec.decoding_table["255"] = [729] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["260"] = [161] let s:lib.Codec.encoding_table["728"] = [162] let s:lib.Codec.encoding_table["321"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["317"] = [165] let s:lib.Codec.encoding_table["346"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["352"] = [169] let s:lib.Codec.encoding_table["350"] = [170] let s:lib.Codec.encoding_table["356"] = [171] let s:lib.Codec.encoding_table["377"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["381"] = [174] let s:lib.Codec.encoding_table["379"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["261"] = [177] let s:lib.Codec.encoding_table["731"] = [178] let s:lib.Codec.encoding_table["322"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["318"] = [181] let s:lib.Codec.encoding_table["347"] = [182] let s:lib.Codec.encoding_table["711"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["353"] = [185] let s:lib.Codec.encoding_table["351"] = [186] let s:lib.Codec.encoding_table["357"] = [187] let s:lib.Codec.encoding_table["378"] = [188] let s:lib.Codec.encoding_table["733"] = [189] let s:lib.Codec.encoding_table["382"] = [190] let s:lib.Codec.encoding_table["380"] = [191] let s:lib.Codec.encoding_table["340"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["258"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["313"] = [197] let s:lib.Codec.encoding_table["262"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["268"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["280"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["282"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["270"] = [207] let s:lib.Codec.encoding_table["272"] = [208] let s:lib.Codec.encoding_table["323"] = [209] let s:lib.Codec.encoding_table["327"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["336"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["344"] = [216] let s:lib.Codec.encoding_table["366"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["368"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["221"] = [221] let s:lib.Codec.encoding_table["354"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["341"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["259"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["314"] = [229] let s:lib.Codec.encoding_table["263"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["269"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["281"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["283"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["271"] = [239] let s:lib.Codec.encoding_table["273"] = [240] let s:lib.Codec.encoding_table["324"] = [241] let s:lib.Codec.encoding_table["328"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["337"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["345"] = [248] let s:lib.Codec.encoding_table["367"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["369"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["253"] = [253] let s:lib.Codec.encoding_table["355"] = [254] let s:lib.Codec.encoding_table["729"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_3.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_3#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_3" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [294] let s:lib.Codec.decoding_table["162"] = [728] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["166"] = [292] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [304] let s:lib.Codec.decoding_table["170"] = [350] let s:lib.Codec.decoding_table["171"] = [286] let s:lib.Codec.decoding_table["172"] = [308] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["175"] = [379] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [295] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [293] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [305] let s:lib.Codec.decoding_table["186"] = [351] let s:lib.Codec.decoding_table["187"] = [287] let s:lib.Codec.decoding_table["188"] = [309] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["191"] = [380] let s:lib.Codec.decoding_table["192"] = [192] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [266] let s:lib.Codec.decoding_table["198"] = [264] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [200] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [202] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [204] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["209"] = [209] let s:lib.Codec.decoding_table["210"] = [210] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [288] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [284] let s:lib.Codec.decoding_table["217"] = [217] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [364] let s:lib.Codec.decoding_table["222"] = [348] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [267] let s:lib.Codec.decoding_table["230"] = [265] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["241"] = [241] let s:lib.Codec.decoding_table["242"] = [242] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [289] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [285] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [365] let s:lib.Codec.decoding_table["254"] = [349] let s:lib.Codec.decoding_table["255"] = [729] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["294"] = [161] let s:lib.Codec.encoding_table["728"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["292"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["304"] = [169] let s:lib.Codec.encoding_table["350"] = [170] let s:lib.Codec.encoding_table["286"] = [171] let s:lib.Codec.encoding_table["308"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["379"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["295"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["293"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["305"] = [185] let s:lib.Codec.encoding_table["351"] = [186] let s:lib.Codec.encoding_table["287"] = [187] let s:lib.Codec.encoding_table["309"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["380"] = [191] let s:lib.Codec.encoding_table["192"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["266"] = [197] let s:lib.Codec.encoding_table["264"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["200"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["202"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["204"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["209"] = [209] let s:lib.Codec.encoding_table["210"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["288"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["284"] = [216] let s:lib.Codec.encoding_table["217"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["364"] = [221] let s:lib.Codec.encoding_table["348"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["267"] = [229] let s:lib.Codec.encoding_table["265"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["241"] = [241] let s:lib.Codec.encoding_table["242"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["289"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["285"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["365"] = [253] let s:lib.Codec.encoding_table["349"] = [254] let s:lib.Codec.encoding_table["729"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_4.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_4#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_4" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [260] let s:lib.Codec.decoding_table["162"] = [312] let s:lib.Codec.decoding_table["163"] = [342] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [296] let s:lib.Codec.decoding_table["166"] = [315] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [352] let s:lib.Codec.decoding_table["170"] = [274] let s:lib.Codec.decoding_table["171"] = [290] let s:lib.Codec.decoding_table["172"] = [358] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [381] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [261] let s:lib.Codec.decoding_table["178"] = [731] let s:lib.Codec.decoding_table["179"] = [343] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [297] let s:lib.Codec.decoding_table["182"] = [316] let s:lib.Codec.decoding_table["183"] = [711] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [353] let s:lib.Codec.decoding_table["186"] = [275] let s:lib.Codec.decoding_table["187"] = [291] let s:lib.Codec.decoding_table["188"] = [359] let s:lib.Codec.decoding_table["189"] = [330] let s:lib.Codec.decoding_table["190"] = [382] let s:lib.Codec.decoding_table["191"] = [331] let s:lib.Codec.decoding_table["192"] = [256] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [195] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [302] let s:lib.Codec.decoding_table["200"] = [268] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [280] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [278] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [298] let s:lib.Codec.decoding_table["208"] = [272] let s:lib.Codec.decoding_table["209"] = [325] let s:lib.Codec.decoding_table["210"] = [332] let s:lib.Codec.decoding_table["211"] = [310] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [216] let s:lib.Codec.decoding_table["217"] = [370] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [360] let s:lib.Codec.decoding_table["222"] = [362] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [257] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [227] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [303] let s:lib.Codec.decoding_table["232"] = [269] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [281] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [279] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [299] let s:lib.Codec.decoding_table["240"] = [273] let s:lib.Codec.decoding_table["241"] = [326] let s:lib.Codec.decoding_table["242"] = [333] let s:lib.Codec.decoding_table["243"] = [311] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [248] let s:lib.Codec.decoding_table["249"] = [371] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [361] let s:lib.Codec.decoding_table["254"] = [363] let s:lib.Codec.decoding_table["255"] = [729] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["260"] = [161] let s:lib.Codec.encoding_table["312"] = [162] let s:lib.Codec.encoding_table["342"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["296"] = [165] let s:lib.Codec.encoding_table["315"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["352"] = [169] let s:lib.Codec.encoding_table["274"] = [170] let s:lib.Codec.encoding_table["290"] = [171] let s:lib.Codec.encoding_table["358"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["381"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["261"] = [177] let s:lib.Codec.encoding_table["731"] = [178] let s:lib.Codec.encoding_table["343"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["297"] = [181] let s:lib.Codec.encoding_table["316"] = [182] let s:lib.Codec.encoding_table["711"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["353"] = [185] let s:lib.Codec.encoding_table["275"] = [186] let s:lib.Codec.encoding_table["291"] = [187] let s:lib.Codec.encoding_table["359"] = [188] let s:lib.Codec.encoding_table["330"] = [189] let s:lib.Codec.encoding_table["382"] = [190] let s:lib.Codec.encoding_table["331"] = [191] let s:lib.Codec.encoding_table["256"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["195"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["302"] = [199] let s:lib.Codec.encoding_table["268"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["280"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["278"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["298"] = [207] let s:lib.Codec.encoding_table["272"] = [208] let s:lib.Codec.encoding_table["325"] = [209] let s:lib.Codec.encoding_table["332"] = [210] let s:lib.Codec.encoding_table["310"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["216"] = [216] let s:lib.Codec.encoding_table["370"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["360"] = [221] let s:lib.Codec.encoding_table["362"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["257"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["227"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["303"] = [231] let s:lib.Codec.encoding_table["269"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["281"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["279"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["299"] = [239] let s:lib.Codec.encoding_table["273"] = [240] let s:lib.Codec.encoding_table["326"] = [241] let s:lib.Codec.encoding_table["333"] = [242] let s:lib.Codec.encoding_table["311"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["248"] = [248] let s:lib.Codec.encoding_table["371"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["361"] = [253] let s:lib.Codec.encoding_table["363"] = [254] let s:lib.Codec.encoding_table["729"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_5.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_5#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_5" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [1025] let s:lib.Codec.decoding_table["162"] = [1026] let s:lib.Codec.decoding_table["163"] = [1027] let s:lib.Codec.decoding_table["164"] = [1028] let s:lib.Codec.decoding_table["165"] = [1029] let s:lib.Codec.decoding_table["166"] = [1030] let s:lib.Codec.decoding_table["167"] = [1031] let s:lib.Codec.decoding_table["168"] = [1032] let s:lib.Codec.decoding_table["169"] = [1033] let s:lib.Codec.decoding_table["170"] = [1034] let s:lib.Codec.decoding_table["171"] = [1035] let s:lib.Codec.decoding_table["172"] = [1036] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [1038] let s:lib.Codec.decoding_table["175"] = [1039] let s:lib.Codec.decoding_table["176"] = [1040] let s:lib.Codec.decoding_table["177"] = [1041] let s:lib.Codec.decoding_table["178"] = [1042] let s:lib.Codec.decoding_table["179"] = [1043] let s:lib.Codec.decoding_table["180"] = [1044] let s:lib.Codec.decoding_table["181"] = [1045] let s:lib.Codec.decoding_table["182"] = [1046] let s:lib.Codec.decoding_table["183"] = [1047] let s:lib.Codec.decoding_table["184"] = [1048] let s:lib.Codec.decoding_table["185"] = [1049] let s:lib.Codec.decoding_table["186"] = [1050] let s:lib.Codec.decoding_table["187"] = [1051] let s:lib.Codec.decoding_table["188"] = [1052] let s:lib.Codec.decoding_table["189"] = [1053] let s:lib.Codec.decoding_table["190"] = [1054] let s:lib.Codec.decoding_table["191"] = [1055] let s:lib.Codec.decoding_table["192"] = [1056] let s:lib.Codec.decoding_table["193"] = [1057] let s:lib.Codec.decoding_table["194"] = [1058] let s:lib.Codec.decoding_table["195"] = [1059] let s:lib.Codec.decoding_table["196"] = [1060] let s:lib.Codec.decoding_table["197"] = [1061] let s:lib.Codec.decoding_table["198"] = [1062] let s:lib.Codec.decoding_table["199"] = [1063] let s:lib.Codec.decoding_table["200"] = [1064] let s:lib.Codec.decoding_table["201"] = [1065] let s:lib.Codec.decoding_table["202"] = [1066] let s:lib.Codec.decoding_table["203"] = [1067] let s:lib.Codec.decoding_table["204"] = [1068] let s:lib.Codec.decoding_table["205"] = [1069] let s:lib.Codec.decoding_table["206"] = [1070] let s:lib.Codec.decoding_table["207"] = [1071] let s:lib.Codec.decoding_table["208"] = [1072] let s:lib.Codec.decoding_table["209"] = [1073] let s:lib.Codec.decoding_table["210"] = [1074] let s:lib.Codec.decoding_table["211"] = [1075] let s:lib.Codec.decoding_table["212"] = [1076] let s:lib.Codec.decoding_table["213"] = [1077] let s:lib.Codec.decoding_table["214"] = [1078] let s:lib.Codec.decoding_table["215"] = [1079] let s:lib.Codec.decoding_table["216"] = [1080] let s:lib.Codec.decoding_table["217"] = [1081] let s:lib.Codec.decoding_table["218"] = [1082] let s:lib.Codec.decoding_table["219"] = [1083] let s:lib.Codec.decoding_table["220"] = [1084] let s:lib.Codec.decoding_table["221"] = [1085] let s:lib.Codec.decoding_table["222"] = [1086] let s:lib.Codec.decoding_table["223"] = [1087] let s:lib.Codec.decoding_table["224"] = [1088] let s:lib.Codec.decoding_table["225"] = [1089] let s:lib.Codec.decoding_table["226"] = [1090] let s:lib.Codec.decoding_table["227"] = [1091] let s:lib.Codec.decoding_table["228"] = [1092] let s:lib.Codec.decoding_table["229"] = [1093] let s:lib.Codec.decoding_table["230"] = [1094] let s:lib.Codec.decoding_table["231"] = [1095] let s:lib.Codec.decoding_table["232"] = [1096] let s:lib.Codec.decoding_table["233"] = [1097] let s:lib.Codec.decoding_table["234"] = [1098] let s:lib.Codec.decoding_table["235"] = [1099] let s:lib.Codec.decoding_table["236"] = [1100] let s:lib.Codec.decoding_table["237"] = [1101] let s:lib.Codec.decoding_table["238"] = [1102] let s:lib.Codec.decoding_table["239"] = [1103] let s:lib.Codec.decoding_table["240"] = [8470] let s:lib.Codec.decoding_table["241"] = [1105] let s:lib.Codec.decoding_table["242"] = [1106] let s:lib.Codec.decoding_table["243"] = [1107] let s:lib.Codec.decoding_table["244"] = [1108] let s:lib.Codec.decoding_table["245"] = [1109] let s:lib.Codec.decoding_table["246"] = [1110] let s:lib.Codec.decoding_table["247"] = [1111] let s:lib.Codec.decoding_table["248"] = [1112] let s:lib.Codec.decoding_table["249"] = [1113] let s:lib.Codec.decoding_table["250"] = [1114] let s:lib.Codec.decoding_table["251"] = [1115] let s:lib.Codec.decoding_table["252"] = [1116] let s:lib.Codec.decoding_table["253"] = [167] let s:lib.Codec.decoding_table["254"] = [1118] let s:lib.Codec.decoding_table["255"] = [1119] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["1025"] = [161] let s:lib.Codec.encoding_table["1026"] = [162] let s:lib.Codec.encoding_table["1027"] = [163] let s:lib.Codec.encoding_table["1028"] = [164] let s:lib.Codec.encoding_table["1029"] = [165] let s:lib.Codec.encoding_table["1030"] = [166] let s:lib.Codec.encoding_table["1031"] = [167] let s:lib.Codec.encoding_table["1032"] = [168] let s:lib.Codec.encoding_table["1033"] = [169] let s:lib.Codec.encoding_table["1034"] = [170] let s:lib.Codec.encoding_table["1035"] = [171] let s:lib.Codec.encoding_table["1036"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["1038"] = [174] let s:lib.Codec.encoding_table["1039"] = [175] let s:lib.Codec.encoding_table["1040"] = [176] let s:lib.Codec.encoding_table["1041"] = [177] let s:lib.Codec.encoding_table["1042"] = [178] let s:lib.Codec.encoding_table["1043"] = [179] let s:lib.Codec.encoding_table["1044"] = [180] let s:lib.Codec.encoding_table["1045"] = [181] let s:lib.Codec.encoding_table["1046"] = [182] let s:lib.Codec.encoding_table["1047"] = [183] let s:lib.Codec.encoding_table["1048"] = [184] let s:lib.Codec.encoding_table["1049"] = [185] let s:lib.Codec.encoding_table["1050"] = [186] let s:lib.Codec.encoding_table["1051"] = [187] let s:lib.Codec.encoding_table["1052"] = [188] let s:lib.Codec.encoding_table["1053"] = [189] let s:lib.Codec.encoding_table["1054"] = [190] let s:lib.Codec.encoding_table["1055"] = [191] let s:lib.Codec.encoding_table["1056"] = [192] let s:lib.Codec.encoding_table["1057"] = [193] let s:lib.Codec.encoding_table["1058"] = [194] let s:lib.Codec.encoding_table["1059"] = [195] let s:lib.Codec.encoding_table["1060"] = [196] let s:lib.Codec.encoding_table["1061"] = [197] let s:lib.Codec.encoding_table["1062"] = [198] let s:lib.Codec.encoding_table["1063"] = [199] let s:lib.Codec.encoding_table["1064"] = [200] let s:lib.Codec.encoding_table["1065"] = [201] let s:lib.Codec.encoding_table["1066"] = [202] let s:lib.Codec.encoding_table["1067"] = [203] let s:lib.Codec.encoding_table["1068"] = [204] let s:lib.Codec.encoding_table["1069"] = [205] let s:lib.Codec.encoding_table["1070"] = [206] let s:lib.Codec.encoding_table["1071"] = [207] let s:lib.Codec.encoding_table["1072"] = [208] let s:lib.Codec.encoding_table["1073"] = [209] let s:lib.Codec.encoding_table["1074"] = [210] let s:lib.Codec.encoding_table["1075"] = [211] let s:lib.Codec.encoding_table["1076"] = [212] let s:lib.Codec.encoding_table["1077"] = [213] let s:lib.Codec.encoding_table["1078"] = [214] let s:lib.Codec.encoding_table["1079"] = [215] let s:lib.Codec.encoding_table["1080"] = [216] let s:lib.Codec.encoding_table["1081"] = [217] let s:lib.Codec.encoding_table["1082"] = [218] let s:lib.Codec.encoding_table["1083"] = [219] let s:lib.Codec.encoding_table["1084"] = [220] let s:lib.Codec.encoding_table["1085"] = [221] let s:lib.Codec.encoding_table["1086"] = [222] let s:lib.Codec.encoding_table["1087"] = [223] let s:lib.Codec.encoding_table["1088"] = [224] let s:lib.Codec.encoding_table["1089"] = [225] let s:lib.Codec.encoding_table["1090"] = [226] let s:lib.Codec.encoding_table["1091"] = [227] let s:lib.Codec.encoding_table["1092"] = [228] let s:lib.Codec.encoding_table["1093"] = [229] let s:lib.Codec.encoding_table["1094"] = [230] let s:lib.Codec.encoding_table["1095"] = [231] let s:lib.Codec.encoding_table["1096"] = [232] let s:lib.Codec.encoding_table["1097"] = [233] let s:lib.Codec.encoding_table["1098"] = [234] let s:lib.Codec.encoding_table["1099"] = [235] let s:lib.Codec.encoding_table["1100"] = [236] let s:lib.Codec.encoding_table["1101"] = [237] let s:lib.Codec.encoding_table["1102"] = [238] let s:lib.Codec.encoding_table["1103"] = [239] let s:lib.Codec.encoding_table["8470"] = [240] let s:lib.Codec.encoding_table["1105"] = [241] let s:lib.Codec.encoding_table["1106"] = [242] let s:lib.Codec.encoding_table["1107"] = [243] let s:lib.Codec.encoding_table["1108"] = [244] let s:lib.Codec.encoding_table["1109"] = [245] let s:lib.Codec.encoding_table["1110"] = [246] let s:lib.Codec.encoding_table["1111"] = [247] let s:lib.Codec.encoding_table["1112"] = [248] let s:lib.Codec.encoding_table["1113"] = [249] let s:lib.Codec.encoding_table["1114"] = [250] let s:lib.Codec.encoding_table["1115"] = [251] let s:lib.Codec.encoding_table["1116"] = [252] let s:lib.Codec.encoding_table["167"] = [253] let s:lib.Codec.encoding_table["1118"] = [254] let s:lib.Codec.encoding_table["1119"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_6.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_6#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_6" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["172"] = [1548] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["187"] = [1563] let s:lib.Codec.decoding_table["191"] = [1567] let s:lib.Codec.decoding_table["193"] = [1569] let s:lib.Codec.decoding_table["194"] = [1570] let s:lib.Codec.decoding_table["195"] = [1571] let s:lib.Codec.decoding_table["196"] = [1572] let s:lib.Codec.decoding_table["197"] = [1573] let s:lib.Codec.decoding_table["198"] = [1574] let s:lib.Codec.decoding_table["199"] = [1575] let s:lib.Codec.decoding_table["200"] = [1576] let s:lib.Codec.decoding_table["201"] = [1577] let s:lib.Codec.decoding_table["202"] = [1578] let s:lib.Codec.decoding_table["203"] = [1579] let s:lib.Codec.decoding_table["204"] = [1580] let s:lib.Codec.decoding_table["205"] = [1581] let s:lib.Codec.decoding_table["206"] = [1582] let s:lib.Codec.decoding_table["207"] = [1583] let s:lib.Codec.decoding_table["208"] = [1584] let s:lib.Codec.decoding_table["209"] = [1585] let s:lib.Codec.decoding_table["210"] = [1586] let s:lib.Codec.decoding_table["211"] = [1587] let s:lib.Codec.decoding_table["212"] = [1588] let s:lib.Codec.decoding_table["213"] = [1589] let s:lib.Codec.decoding_table["214"] = [1590] let s:lib.Codec.decoding_table["215"] = [1591] let s:lib.Codec.decoding_table["216"] = [1592] let s:lib.Codec.decoding_table["217"] = [1593] let s:lib.Codec.decoding_table["218"] = [1594] let s:lib.Codec.decoding_table["224"] = [1600] let s:lib.Codec.decoding_table["225"] = [1601] let s:lib.Codec.decoding_table["226"] = [1602] let s:lib.Codec.decoding_table["227"] = [1603] let s:lib.Codec.decoding_table["228"] = [1604] let s:lib.Codec.decoding_table["229"] = [1605] let s:lib.Codec.decoding_table["230"] = [1606] let s:lib.Codec.decoding_table["231"] = [1607] let s:lib.Codec.decoding_table["232"] = [1608] let s:lib.Codec.decoding_table["233"] = [1609] let s:lib.Codec.decoding_table["234"] = [1610] let s:lib.Codec.decoding_table["235"] = [1611] let s:lib.Codec.decoding_table["236"] = [1612] let s:lib.Codec.decoding_table["237"] = [1613] let s:lib.Codec.decoding_table["238"] = [1614] let s:lib.Codec.decoding_table["239"] = [1615] let s:lib.Codec.decoding_table["240"] = [1616] let s:lib.Codec.decoding_table["241"] = [1617] let s:lib.Codec.decoding_table["242"] = [1618] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["1548"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["1563"] = [187] let s:lib.Codec.encoding_table["1567"] = [191] let s:lib.Codec.encoding_table["1569"] = [193] let s:lib.Codec.encoding_table["1570"] = [194] let s:lib.Codec.encoding_table["1571"] = [195] let s:lib.Codec.encoding_table["1572"] = [196] let s:lib.Codec.encoding_table["1573"] = [197] let s:lib.Codec.encoding_table["1574"] = [198] let s:lib.Codec.encoding_table["1575"] = [199] let s:lib.Codec.encoding_table["1576"] = [200] let s:lib.Codec.encoding_table["1577"] = [201] let s:lib.Codec.encoding_table["1578"] = [202] let s:lib.Codec.encoding_table["1579"] = [203] let s:lib.Codec.encoding_table["1580"] = [204] let s:lib.Codec.encoding_table["1581"] = [205] let s:lib.Codec.encoding_table["1582"] = [206] let s:lib.Codec.encoding_table["1583"] = [207] let s:lib.Codec.encoding_table["1584"] = [208] let s:lib.Codec.encoding_table["1585"] = [209] let s:lib.Codec.encoding_table["1586"] = [210] let s:lib.Codec.encoding_table["1587"] = [211] let s:lib.Codec.encoding_table["1588"] = [212] let s:lib.Codec.encoding_table["1589"] = [213] let s:lib.Codec.encoding_table["1590"] = [214] let s:lib.Codec.encoding_table["1591"] = [215] let s:lib.Codec.encoding_table["1592"] = [216] let s:lib.Codec.encoding_table["1593"] = [217] let s:lib.Codec.encoding_table["1594"] = [218] let s:lib.Codec.encoding_table["1600"] = [224] let s:lib.Codec.encoding_table["1601"] = [225] let s:lib.Codec.encoding_table["1602"] = [226] let s:lib.Codec.encoding_table["1603"] = [227] let s:lib.Codec.encoding_table["1604"] = [228] let s:lib.Codec.encoding_table["1605"] = [229] let s:lib.Codec.encoding_table["1606"] = [230] let s:lib.Codec.encoding_table["1607"] = [231] let s:lib.Codec.encoding_table["1608"] = [232] let s:lib.Codec.encoding_table["1609"] = [233] let s:lib.Codec.encoding_table["1610"] = [234] let s:lib.Codec.encoding_table["1611"] = [235] let s:lib.Codec.encoding_table["1612"] = [236] let s:lib.Codec.encoding_table["1613"] = [237] let s:lib.Codec.encoding_table["1614"] = [238] let s:lib.Codec.encoding_table["1615"] = [239] let s:lib.Codec.encoding_table["1616"] = [240] let s:lib.Codec.encoding_table["1617"] = [241] let s:lib.Codec.encoding_table["1618"] = [242] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_7.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_7#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_7" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [8216] let s:lib.Codec.decoding_table["162"] = [8217] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [8364] let s:lib.Codec.decoding_table["165"] = [8367] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [890] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["175"] = [8213] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [900] let s:lib.Codec.decoding_table["181"] = [901] let s:lib.Codec.decoding_table["182"] = [902] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [904] let s:lib.Codec.decoding_table["185"] = [905] let s:lib.Codec.decoding_table["186"] = [906] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [908] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [910] let s:lib.Codec.decoding_table["191"] = [911] let s:lib.Codec.decoding_table["192"] = [912] let s:lib.Codec.decoding_table["193"] = [913] let s:lib.Codec.decoding_table["194"] = [914] let s:lib.Codec.decoding_table["195"] = [915] let s:lib.Codec.decoding_table["196"] = [916] let s:lib.Codec.decoding_table["197"] = [917] let s:lib.Codec.decoding_table["198"] = [918] let s:lib.Codec.decoding_table["199"] = [919] let s:lib.Codec.decoding_table["200"] = [920] let s:lib.Codec.decoding_table["201"] = [921] let s:lib.Codec.decoding_table["202"] = [922] let s:lib.Codec.decoding_table["203"] = [923] let s:lib.Codec.decoding_table["204"] = [924] let s:lib.Codec.decoding_table["205"] = [925] let s:lib.Codec.decoding_table["206"] = [926] let s:lib.Codec.decoding_table["207"] = [927] let s:lib.Codec.decoding_table["208"] = [928] let s:lib.Codec.decoding_table["209"] = [929] let s:lib.Codec.decoding_table["211"] = [931] let s:lib.Codec.decoding_table["212"] = [932] let s:lib.Codec.decoding_table["213"] = [933] let s:lib.Codec.decoding_table["214"] = [934] let s:lib.Codec.decoding_table["215"] = [935] let s:lib.Codec.decoding_table["216"] = [936] let s:lib.Codec.decoding_table["217"] = [937] let s:lib.Codec.decoding_table["218"] = [938] let s:lib.Codec.decoding_table["219"] = [939] let s:lib.Codec.decoding_table["220"] = [940] let s:lib.Codec.decoding_table["221"] = [941] let s:lib.Codec.decoding_table["222"] = [942] let s:lib.Codec.decoding_table["223"] = [943] let s:lib.Codec.decoding_table["224"] = [944] let s:lib.Codec.decoding_table["225"] = [945] let s:lib.Codec.decoding_table["226"] = [946] let s:lib.Codec.decoding_table["227"] = [947] let s:lib.Codec.decoding_table["228"] = [948] let s:lib.Codec.decoding_table["229"] = [949] let s:lib.Codec.decoding_table["230"] = [950] let s:lib.Codec.decoding_table["231"] = [951] let s:lib.Codec.decoding_table["232"] = [952] let s:lib.Codec.decoding_table["233"] = [953] let s:lib.Codec.decoding_table["234"] = [954] let s:lib.Codec.decoding_table["235"] = [955] let s:lib.Codec.decoding_table["236"] = [956] let s:lib.Codec.decoding_table["237"] = [957] let s:lib.Codec.decoding_table["238"] = [958] let s:lib.Codec.decoding_table["239"] = [959] let s:lib.Codec.decoding_table["240"] = [960] let s:lib.Codec.decoding_table["241"] = [961] let s:lib.Codec.decoding_table["242"] = [962] let s:lib.Codec.decoding_table["243"] = [963] let s:lib.Codec.decoding_table["244"] = [964] let s:lib.Codec.decoding_table["245"] = [965] let s:lib.Codec.decoding_table["246"] = [966] let s:lib.Codec.decoding_table["247"] = [967] let s:lib.Codec.decoding_table["248"] = [968] let s:lib.Codec.decoding_table["249"] = [969] let s:lib.Codec.decoding_table["250"] = [970] let s:lib.Codec.decoding_table["251"] = [971] let s:lib.Codec.decoding_table["252"] = [972] let s:lib.Codec.decoding_table["253"] = [973] let s:lib.Codec.decoding_table["254"] = [974] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["8216"] = [161] let s:lib.Codec.encoding_table["8217"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["8364"] = [164] let s:lib.Codec.encoding_table["8367"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["890"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["8213"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["900"] = [180] let s:lib.Codec.encoding_table["901"] = [181] let s:lib.Codec.encoding_table["902"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["904"] = [184] let s:lib.Codec.encoding_table["905"] = [185] let s:lib.Codec.encoding_table["906"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["908"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["910"] = [190] let s:lib.Codec.encoding_table["911"] = [191] let s:lib.Codec.encoding_table["912"] = [192] let s:lib.Codec.encoding_table["913"] = [193] let s:lib.Codec.encoding_table["914"] = [194] let s:lib.Codec.encoding_table["915"] = [195] let s:lib.Codec.encoding_table["916"] = [196] let s:lib.Codec.encoding_table["917"] = [197] let s:lib.Codec.encoding_table["918"] = [198] let s:lib.Codec.encoding_table["919"] = [199] let s:lib.Codec.encoding_table["920"] = [200] let s:lib.Codec.encoding_table["921"] = [201] let s:lib.Codec.encoding_table["922"] = [202] let s:lib.Codec.encoding_table["923"] = [203] let s:lib.Codec.encoding_table["924"] = [204] let s:lib.Codec.encoding_table["925"] = [205] let s:lib.Codec.encoding_table["926"] = [206] let s:lib.Codec.encoding_table["927"] = [207] let s:lib.Codec.encoding_table["928"] = [208] let s:lib.Codec.encoding_table["929"] = [209] let s:lib.Codec.encoding_table["931"] = [211] let s:lib.Codec.encoding_table["932"] = [212] let s:lib.Codec.encoding_table["933"] = [213] let s:lib.Codec.encoding_table["934"] = [214] let s:lib.Codec.encoding_table["935"] = [215] let s:lib.Codec.encoding_table["936"] = [216] let s:lib.Codec.encoding_table["937"] = [217] let s:lib.Codec.encoding_table["938"] = [218] let s:lib.Codec.encoding_table["939"] = [219] let s:lib.Codec.encoding_table["940"] = [220] let s:lib.Codec.encoding_table["941"] = [221] let s:lib.Codec.encoding_table["942"] = [222] let s:lib.Codec.encoding_table["943"] = [223] let s:lib.Codec.encoding_table["944"] = [224] let s:lib.Codec.encoding_table["945"] = [225] let s:lib.Codec.encoding_table["946"] = [226] let s:lib.Codec.encoding_table["947"] = [227] let s:lib.Codec.encoding_table["948"] = [228] let s:lib.Codec.encoding_table["949"] = [229] let s:lib.Codec.encoding_table["950"] = [230] let s:lib.Codec.encoding_table["951"] = [231] let s:lib.Codec.encoding_table["952"] = [232] let s:lib.Codec.encoding_table["953"] = [233] let s:lib.Codec.encoding_table["954"] = [234] let s:lib.Codec.encoding_table["955"] = [235] let s:lib.Codec.encoding_table["956"] = [236] let s:lib.Codec.encoding_table["957"] = [237] let s:lib.Codec.encoding_table["958"] = [238] let s:lib.Codec.encoding_table["959"] = [239] let s:lib.Codec.encoding_table["960"] = [240] let s:lib.Codec.encoding_table["961"] = [241] let s:lib.Codec.encoding_table["962"] = [242] let s:lib.Codec.encoding_table["963"] = [243] let s:lib.Codec.encoding_table["964"] = [244] let s:lib.Codec.encoding_table["965"] = [245] let s:lib.Codec.encoding_table["966"] = [246] let s:lib.Codec.encoding_table["967"] = [247] let s:lib.Codec.encoding_table["968"] = [248] let s:lib.Codec.encoding_table["969"] = [249] let s:lib.Codec.encoding_table["970"] = [250] let s:lib.Codec.encoding_table["971"] = [251] let s:lib.Codec.encoding_table["972"] = [252] let s:lib.Codec.encoding_table["973"] = [253] let s:lib.Codec.encoding_table["974"] = [254] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_8.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_8#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_8" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [215] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [247] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [188] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [190] let s:lib.Codec.decoding_table["223"] = [8215] let s:lib.Codec.decoding_table["224"] = [1488] let s:lib.Codec.decoding_table["225"] = [1489] let s:lib.Codec.decoding_table["226"] = [1490] let s:lib.Codec.decoding_table["227"] = [1491] let s:lib.Codec.decoding_table["228"] = [1492] let s:lib.Codec.decoding_table["229"] = [1493] let s:lib.Codec.decoding_table["230"] = [1494] let s:lib.Codec.decoding_table["231"] = [1495] let s:lib.Codec.decoding_table["232"] = [1496] let s:lib.Codec.decoding_table["233"] = [1497] let s:lib.Codec.decoding_table["234"] = [1498] let s:lib.Codec.decoding_table["235"] = [1499] let s:lib.Codec.decoding_table["236"] = [1500] let s:lib.Codec.decoding_table["237"] = [1501] let s:lib.Codec.decoding_table["238"] = [1502] let s:lib.Codec.decoding_table["239"] = [1503] let s:lib.Codec.decoding_table["240"] = [1504] let s:lib.Codec.decoding_table["241"] = [1505] let s:lib.Codec.decoding_table["242"] = [1506] let s:lib.Codec.decoding_table["243"] = [1507] let s:lib.Codec.decoding_table["244"] = [1508] let s:lib.Codec.decoding_table["245"] = [1509] let s:lib.Codec.decoding_table["246"] = [1510] let s:lib.Codec.decoding_table["247"] = [1511] let s:lib.Codec.decoding_table["248"] = [1512] let s:lib.Codec.decoding_table["249"] = [1513] let s:lib.Codec.decoding_table["250"] = [1514] let s:lib.Codec.decoding_table["253"] = [8206] let s:lib.Codec.decoding_table["254"] = [8207] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["215"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["247"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["188"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["190"] = [190] let s:lib.Codec.encoding_table["8215"] = [223] let s:lib.Codec.encoding_table["1488"] = [224] let s:lib.Codec.encoding_table["1489"] = [225] let s:lib.Codec.encoding_table["1490"] = [226] let s:lib.Codec.encoding_table["1491"] = [227] let s:lib.Codec.encoding_table["1492"] = [228] let s:lib.Codec.encoding_table["1493"] = [229] let s:lib.Codec.encoding_table["1494"] = [230] let s:lib.Codec.encoding_table["1495"] = [231] let s:lib.Codec.encoding_table["1496"] = [232] let s:lib.Codec.encoding_table["1497"] = [233] let s:lib.Codec.encoding_table["1498"] = [234] let s:lib.Codec.encoding_table["1499"] = [235] let s:lib.Codec.encoding_table["1500"] = [236] let s:lib.Codec.encoding_table["1501"] = [237] let s:lib.Codec.encoding_table["1502"] = [238] let s:lib.Codec.encoding_table["1503"] = [239] let s:lib.Codec.encoding_table["1504"] = [240] let s:lib.Codec.encoding_table["1505"] = [241] let s:lib.Codec.encoding_table["1506"] = [242] let s:lib.Codec.encoding_table["1507"] = [243] let s:lib.Codec.encoding_table["1508"] = [244] let s:lib.Codec.encoding_table["1509"] = [245] let s:lib.Codec.encoding_table["1510"] = [246] let s:lib.Codec.encoding_table["1511"] = [247] let s:lib.Codec.encoding_table["1512"] = [248] let s:lib.Codec.encoding_table["1513"] = [249] let s:lib.Codec.encoding_table["1514"] = [250] let s:lib.Codec.encoding_table["8206"] = [253] let s:lib.Codec.encoding_table["8207"] = [254] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_8859_9.vim ================================================ function! SpaceVim#api#iconv#codecs#_8859_9#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "8859_9" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [128] let s:lib.Codec.decoding_table["129"] = [129] let s:lib.Codec.decoding_table["130"] = [130] let s:lib.Codec.decoding_table["131"] = [131] let s:lib.Codec.decoding_table["132"] = [132] let s:lib.Codec.decoding_table["133"] = [133] let s:lib.Codec.decoding_table["134"] = [134] let s:lib.Codec.decoding_table["135"] = [135] let s:lib.Codec.decoding_table["136"] = [136] let s:lib.Codec.decoding_table["137"] = [137] let s:lib.Codec.decoding_table["138"] = [138] let s:lib.Codec.decoding_table["139"] = [139] let s:lib.Codec.decoding_table["140"] = [140] let s:lib.Codec.decoding_table["141"] = [141] let s:lib.Codec.decoding_table["142"] = [142] let s:lib.Codec.decoding_table["143"] = [143] let s:lib.Codec.decoding_table["144"] = [144] let s:lib.Codec.decoding_table["145"] = [145] let s:lib.Codec.decoding_table["146"] = [146] let s:lib.Codec.decoding_table["147"] = [147] let s:lib.Codec.decoding_table["148"] = [148] let s:lib.Codec.decoding_table["149"] = [149] let s:lib.Codec.decoding_table["150"] = [150] let s:lib.Codec.decoding_table["151"] = [151] let s:lib.Codec.decoding_table["152"] = [152] let s:lib.Codec.decoding_table["153"] = [153] let s:lib.Codec.decoding_table["154"] = [154] let s:lib.Codec.decoding_table["155"] = [155] let s:lib.Codec.decoding_table["156"] = [156] let s:lib.Codec.decoding_table["157"] = [157] let s:lib.Codec.decoding_table["158"] = [158] let s:lib.Codec.decoding_table["159"] = [159] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [161] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [170] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [186] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [188] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [190] let s:lib.Codec.decoding_table["191"] = [191] let s:lib.Codec.decoding_table["192"] = [192] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [195] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [200] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [202] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [204] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["208"] = [286] let s:lib.Codec.decoding_table["209"] = [209] let s:lib.Codec.decoding_table["210"] = [210] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [216] let s:lib.Codec.decoding_table["217"] = [217] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [304] let s:lib.Codec.decoding_table["222"] = [350] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [227] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [287] let s:lib.Codec.decoding_table["241"] = [241] let s:lib.Codec.decoding_table["242"] = [242] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [248] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [305] let s:lib.Codec.decoding_table["254"] = [351] let s:lib.Codec.decoding_table["255"] = [255] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["128"] = [128] let s:lib.Codec.encoding_table["129"] = [129] let s:lib.Codec.encoding_table["130"] = [130] let s:lib.Codec.encoding_table["131"] = [131] let s:lib.Codec.encoding_table["132"] = [132] let s:lib.Codec.encoding_table["133"] = [133] let s:lib.Codec.encoding_table["134"] = [134] let s:lib.Codec.encoding_table["135"] = [135] let s:lib.Codec.encoding_table["136"] = [136] let s:lib.Codec.encoding_table["137"] = [137] let s:lib.Codec.encoding_table["138"] = [138] let s:lib.Codec.encoding_table["139"] = [139] let s:lib.Codec.encoding_table["140"] = [140] let s:lib.Codec.encoding_table["141"] = [141] let s:lib.Codec.encoding_table["142"] = [142] let s:lib.Codec.encoding_table["143"] = [143] let s:lib.Codec.encoding_table["144"] = [144] let s:lib.Codec.encoding_table["145"] = [145] let s:lib.Codec.encoding_table["146"] = [146] let s:lib.Codec.encoding_table["147"] = [147] let s:lib.Codec.encoding_table["148"] = [148] let s:lib.Codec.encoding_table["149"] = [149] let s:lib.Codec.encoding_table["150"] = [150] let s:lib.Codec.encoding_table["151"] = [151] let s:lib.Codec.encoding_table["152"] = [152] let s:lib.Codec.encoding_table["153"] = [153] let s:lib.Codec.encoding_table["154"] = [154] let s:lib.Codec.encoding_table["155"] = [155] let s:lib.Codec.encoding_table["156"] = [156] let s:lib.Codec.encoding_table["157"] = [157] let s:lib.Codec.encoding_table["158"] = [158] let s:lib.Codec.encoding_table["159"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["161"] = [161] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["170"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["186"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["188"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["190"] = [190] let s:lib.Codec.encoding_table["191"] = [191] let s:lib.Codec.encoding_table["192"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["195"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["200"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["202"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["204"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["286"] = [208] let s:lib.Codec.encoding_table["209"] = [209] let s:lib.Codec.encoding_table["210"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["216"] = [216] let s:lib.Codec.encoding_table["217"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["304"] = [221] let s:lib.Codec.encoding_table["350"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["227"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["287"] = [240] let s:lib.Codec.encoding_table["241"] = [241] let s:lib.Codec.encoding_table["242"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["248"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["305"] = [253] let s:lib.Codec.encoding_table["351"] = [254] let s:lib.Codec.encoding_table["255"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp037.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp037#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP037" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [156] let s:lib.Codec.decoding_table["5"] = [9] let s:lib.Codec.decoding_table["6"] = [134] let s:lib.Codec.decoding_table["7"] = [127] let s:lib.Codec.decoding_table["8"] = [151] let s:lib.Codec.decoding_table["9"] = [141] let s:lib.Codec.decoding_table["10"] = [142] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [157] let s:lib.Codec.decoding_table["21"] = [133] let s:lib.Codec.decoding_table["22"] = [8] let s:lib.Codec.decoding_table["23"] = [135] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [146] let s:lib.Codec.decoding_table["27"] = [143] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [128] let s:lib.Codec.decoding_table["33"] = [129] let s:lib.Codec.decoding_table["34"] = [130] let s:lib.Codec.decoding_table["35"] = [131] let s:lib.Codec.decoding_table["36"] = [132] let s:lib.Codec.decoding_table["37"] = [10] let s:lib.Codec.decoding_table["38"] = [23] let s:lib.Codec.decoding_table["39"] = [27] let s:lib.Codec.decoding_table["40"] = [136] let s:lib.Codec.decoding_table["41"] = [137] let s:lib.Codec.decoding_table["42"] = [138] let s:lib.Codec.decoding_table["43"] = [139] let s:lib.Codec.decoding_table["44"] = [140] let s:lib.Codec.decoding_table["45"] = [5] let s:lib.Codec.decoding_table["46"] = [6] let s:lib.Codec.decoding_table["47"] = [7] let s:lib.Codec.decoding_table["48"] = [144] let s:lib.Codec.decoding_table["49"] = [145] let s:lib.Codec.decoding_table["50"] = [22] let s:lib.Codec.decoding_table["51"] = [147] let s:lib.Codec.decoding_table["52"] = [148] let s:lib.Codec.decoding_table["53"] = [149] let s:lib.Codec.decoding_table["54"] = [150] let s:lib.Codec.decoding_table["55"] = [4] let s:lib.Codec.decoding_table["56"] = [152] let s:lib.Codec.decoding_table["57"] = [153] let s:lib.Codec.decoding_table["58"] = [154] let s:lib.Codec.decoding_table["59"] = [155] let s:lib.Codec.decoding_table["60"] = [20] let s:lib.Codec.decoding_table["61"] = [21] let s:lib.Codec.decoding_table["62"] = [158] let s:lib.Codec.decoding_table["63"] = [26] let s:lib.Codec.decoding_table["64"] = [32] let s:lib.Codec.decoding_table["65"] = [160] let s:lib.Codec.decoding_table["66"] = [226] let s:lib.Codec.decoding_table["67"] = [228] let s:lib.Codec.decoding_table["68"] = [224] let s:lib.Codec.decoding_table["69"] = [225] let s:lib.Codec.decoding_table["70"] = [227] let s:lib.Codec.decoding_table["71"] = [229] let s:lib.Codec.decoding_table["72"] = [231] let s:lib.Codec.decoding_table["73"] = [241] let s:lib.Codec.decoding_table["74"] = [162] let s:lib.Codec.decoding_table["75"] = [46] let s:lib.Codec.decoding_table["76"] = [60] let s:lib.Codec.decoding_table["77"] = [40] let s:lib.Codec.decoding_table["78"] = [43] let s:lib.Codec.decoding_table["79"] = [124] let s:lib.Codec.decoding_table["80"] = [38] let s:lib.Codec.decoding_table["81"] = [233] let s:lib.Codec.decoding_table["82"] = [234] let s:lib.Codec.decoding_table["83"] = [235] let s:lib.Codec.decoding_table["84"] = [232] let s:lib.Codec.decoding_table["85"] = [237] let s:lib.Codec.decoding_table["86"] = [238] let s:lib.Codec.decoding_table["87"] = [239] let s:lib.Codec.decoding_table["88"] = [236] let s:lib.Codec.decoding_table["89"] = [223] let s:lib.Codec.decoding_table["90"] = [33] let s:lib.Codec.decoding_table["91"] = [36] let s:lib.Codec.decoding_table["92"] = [42] let s:lib.Codec.decoding_table["93"] = [41] let s:lib.Codec.decoding_table["94"] = [59] let s:lib.Codec.decoding_table["95"] = [172] let s:lib.Codec.decoding_table["96"] = [45] let s:lib.Codec.decoding_table["97"] = [47] let s:lib.Codec.decoding_table["98"] = [194] let s:lib.Codec.decoding_table["99"] = [196] let s:lib.Codec.decoding_table["100"] = [192] let s:lib.Codec.decoding_table["101"] = [193] let s:lib.Codec.decoding_table["102"] = [195] let s:lib.Codec.decoding_table["103"] = [197] let s:lib.Codec.decoding_table["104"] = [199] let s:lib.Codec.decoding_table["105"] = [209] let s:lib.Codec.decoding_table["106"] = [166] let s:lib.Codec.decoding_table["107"] = [44] let s:lib.Codec.decoding_table["108"] = [37] let s:lib.Codec.decoding_table["109"] = [95] let s:lib.Codec.decoding_table["110"] = [62] let s:lib.Codec.decoding_table["111"] = [63] let s:lib.Codec.decoding_table["112"] = [248] let s:lib.Codec.decoding_table["113"] = [201] let s:lib.Codec.decoding_table["114"] = [202] let s:lib.Codec.decoding_table["115"] = [203] let s:lib.Codec.decoding_table["116"] = [200] let s:lib.Codec.decoding_table["117"] = [205] let s:lib.Codec.decoding_table["118"] = [206] let s:lib.Codec.decoding_table["119"] = [207] let s:lib.Codec.decoding_table["120"] = [204] let s:lib.Codec.decoding_table["121"] = [96] let s:lib.Codec.decoding_table["122"] = [58] let s:lib.Codec.decoding_table["123"] = [35] let s:lib.Codec.decoding_table["124"] = [64] let s:lib.Codec.decoding_table["125"] = [39] let s:lib.Codec.decoding_table["126"] = [61] let s:lib.Codec.decoding_table["127"] = [34] let s:lib.Codec.decoding_table["128"] = [216] let s:lib.Codec.decoding_table["129"] = [97] let s:lib.Codec.decoding_table["130"] = [98] let s:lib.Codec.decoding_table["131"] = [99] let s:lib.Codec.decoding_table["132"] = [100] let s:lib.Codec.decoding_table["133"] = [101] let s:lib.Codec.decoding_table["134"] = [102] let s:lib.Codec.decoding_table["135"] = [103] let s:lib.Codec.decoding_table["136"] = [104] let s:lib.Codec.decoding_table["137"] = [105] let s:lib.Codec.decoding_table["138"] = [171] let s:lib.Codec.decoding_table["139"] = [187] let s:lib.Codec.decoding_table["140"] = [240] let s:lib.Codec.decoding_table["141"] = [253] let s:lib.Codec.decoding_table["142"] = [254] let s:lib.Codec.decoding_table["143"] = [177] let s:lib.Codec.decoding_table["144"] = [176] let s:lib.Codec.decoding_table["145"] = [106] let s:lib.Codec.decoding_table["146"] = [107] let s:lib.Codec.decoding_table["147"] = [108] let s:lib.Codec.decoding_table["148"] = [109] let s:lib.Codec.decoding_table["149"] = [110] let s:lib.Codec.decoding_table["150"] = [111] let s:lib.Codec.decoding_table["151"] = [112] let s:lib.Codec.decoding_table["152"] = [113] let s:lib.Codec.decoding_table["153"] = [114] let s:lib.Codec.decoding_table["154"] = [170] let s:lib.Codec.decoding_table["155"] = [186] let s:lib.Codec.decoding_table["156"] = [230] let s:lib.Codec.decoding_table["157"] = [184] let s:lib.Codec.decoding_table["158"] = [198] let s:lib.Codec.decoding_table["159"] = [164] let s:lib.Codec.decoding_table["160"] = [181] let s:lib.Codec.decoding_table["161"] = [126] let s:lib.Codec.decoding_table["162"] = [115] let s:lib.Codec.decoding_table["163"] = [116] let s:lib.Codec.decoding_table["164"] = [117] let s:lib.Codec.decoding_table["165"] = [118] let s:lib.Codec.decoding_table["166"] = [119] let s:lib.Codec.decoding_table["167"] = [120] let s:lib.Codec.decoding_table["168"] = [121] let s:lib.Codec.decoding_table["169"] = [122] let s:lib.Codec.decoding_table["170"] = [161] let s:lib.Codec.decoding_table["171"] = [191] let s:lib.Codec.decoding_table["172"] = [208] let s:lib.Codec.decoding_table["173"] = [221] let s:lib.Codec.decoding_table["174"] = [222] let s:lib.Codec.decoding_table["175"] = [174] let s:lib.Codec.decoding_table["176"] = [94] let s:lib.Codec.decoding_table["177"] = [163] let s:lib.Codec.decoding_table["178"] = [165] let s:lib.Codec.decoding_table["179"] = [183] let s:lib.Codec.decoding_table["180"] = [169] let s:lib.Codec.decoding_table["181"] = [167] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [188] let s:lib.Codec.decoding_table["184"] = [189] let s:lib.Codec.decoding_table["185"] = [190] let s:lib.Codec.decoding_table["186"] = [91] let s:lib.Codec.decoding_table["187"] = [93] let s:lib.Codec.decoding_table["188"] = [175] let s:lib.Codec.decoding_table["189"] = [168] let s:lib.Codec.decoding_table["190"] = [180] let s:lib.Codec.decoding_table["191"] = [215] let s:lib.Codec.decoding_table["192"] = [123] let s:lib.Codec.decoding_table["193"] = [65] let s:lib.Codec.decoding_table["194"] = [66] let s:lib.Codec.decoding_table["195"] = [67] let s:lib.Codec.decoding_table["196"] = [68] let s:lib.Codec.decoding_table["197"] = [69] let s:lib.Codec.decoding_table["198"] = [70] let s:lib.Codec.decoding_table["199"] = [71] let s:lib.Codec.decoding_table["200"] = [72] let s:lib.Codec.decoding_table["201"] = [73] let s:lib.Codec.decoding_table["202"] = [173] let s:lib.Codec.decoding_table["203"] = [244] let s:lib.Codec.decoding_table["204"] = [246] let s:lib.Codec.decoding_table["205"] = [242] let s:lib.Codec.decoding_table["206"] = [243] let s:lib.Codec.decoding_table["207"] = [245] let s:lib.Codec.decoding_table["208"] = [125] let s:lib.Codec.decoding_table["209"] = [74] let s:lib.Codec.decoding_table["210"] = [75] let s:lib.Codec.decoding_table["211"] = [76] let s:lib.Codec.decoding_table["212"] = [77] let s:lib.Codec.decoding_table["213"] = [78] let s:lib.Codec.decoding_table["214"] = [79] let s:lib.Codec.decoding_table["215"] = [80] let s:lib.Codec.decoding_table["216"] = [81] let s:lib.Codec.decoding_table["217"] = [82] let s:lib.Codec.decoding_table["218"] = [185] let s:lib.Codec.decoding_table["219"] = [251] let s:lib.Codec.decoding_table["220"] = [252] let s:lib.Codec.decoding_table["221"] = [249] let s:lib.Codec.decoding_table["222"] = [250] let s:lib.Codec.decoding_table["223"] = [255] let s:lib.Codec.decoding_table["224"] = [92] let s:lib.Codec.decoding_table["225"] = [247] let s:lib.Codec.decoding_table["226"] = [83] let s:lib.Codec.decoding_table["227"] = [84] let s:lib.Codec.decoding_table["228"] = [85] let s:lib.Codec.decoding_table["229"] = [86] let s:lib.Codec.decoding_table["230"] = [87] let s:lib.Codec.decoding_table["231"] = [88] let s:lib.Codec.decoding_table["232"] = [89] let s:lib.Codec.decoding_table["233"] = [90] let s:lib.Codec.decoding_table["234"] = [178] let s:lib.Codec.decoding_table["235"] = [212] let s:lib.Codec.decoding_table["236"] = [214] let s:lib.Codec.decoding_table["237"] = [210] let s:lib.Codec.decoding_table["238"] = [211] let s:lib.Codec.decoding_table["239"] = [213] let s:lib.Codec.decoding_table["240"] = [48] let s:lib.Codec.decoding_table["241"] = [49] let s:lib.Codec.decoding_table["242"] = [50] let s:lib.Codec.decoding_table["243"] = [51] let s:lib.Codec.decoding_table["244"] = [52] let s:lib.Codec.decoding_table["245"] = [53] let s:lib.Codec.decoding_table["246"] = [54] let s:lib.Codec.decoding_table["247"] = [55] let s:lib.Codec.decoding_table["248"] = [56] let s:lib.Codec.decoding_table["249"] = [57] let s:lib.Codec.decoding_table["250"] = [179] let s:lib.Codec.decoding_table["251"] = [219] let s:lib.Codec.decoding_table["252"] = [220] let s:lib.Codec.decoding_table["253"] = [217] let s:lib.Codec.decoding_table["254"] = [218] let s:lib.Codec.decoding_table["255"] = [159] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["156"] = [4] let s:lib.Codec.encoding_table["9"] = [5] let s:lib.Codec.encoding_table["134"] = [6] let s:lib.Codec.encoding_table["127"] = [7] let s:lib.Codec.encoding_table["151"] = [8] let s:lib.Codec.encoding_table["141"] = [9] let s:lib.Codec.encoding_table["142"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["157"] = [20] let s:lib.Codec.encoding_table["133"] = [21] let s:lib.Codec.encoding_table["8"] = [22] let s:lib.Codec.encoding_table["135"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["146"] = [26] let s:lib.Codec.encoding_table["143"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["128"] = [32] let s:lib.Codec.encoding_table["129"] = [33] let s:lib.Codec.encoding_table["130"] = [34] let s:lib.Codec.encoding_table["131"] = [35] let s:lib.Codec.encoding_table["132"] = [36] let s:lib.Codec.encoding_table["10"] = [37] let s:lib.Codec.encoding_table["23"] = [38] let s:lib.Codec.encoding_table["27"] = [39] let s:lib.Codec.encoding_table["136"] = [40] let s:lib.Codec.encoding_table["137"] = [41] let s:lib.Codec.encoding_table["138"] = [42] let s:lib.Codec.encoding_table["139"] = [43] let s:lib.Codec.encoding_table["140"] = [44] let s:lib.Codec.encoding_table["5"] = [45] let s:lib.Codec.encoding_table["6"] = [46] let s:lib.Codec.encoding_table["7"] = [47] let s:lib.Codec.encoding_table["144"] = [48] let s:lib.Codec.encoding_table["145"] = [49] let s:lib.Codec.encoding_table["22"] = [50] let s:lib.Codec.encoding_table["147"] = [51] let s:lib.Codec.encoding_table["148"] = [52] let s:lib.Codec.encoding_table["149"] = [53] let s:lib.Codec.encoding_table["150"] = [54] let s:lib.Codec.encoding_table["4"] = [55] let s:lib.Codec.encoding_table["152"] = [56] let s:lib.Codec.encoding_table["153"] = [57] let s:lib.Codec.encoding_table["154"] = [58] let s:lib.Codec.encoding_table["155"] = [59] let s:lib.Codec.encoding_table["20"] = [60] let s:lib.Codec.encoding_table["21"] = [61] let s:lib.Codec.encoding_table["158"] = [62] let s:lib.Codec.encoding_table["26"] = [63] let s:lib.Codec.encoding_table["32"] = [64] let s:lib.Codec.encoding_table["160"] = [65] let s:lib.Codec.encoding_table["226"] = [66] let s:lib.Codec.encoding_table["228"] = [67] let s:lib.Codec.encoding_table["224"] = [68] let s:lib.Codec.encoding_table["225"] = [69] let s:lib.Codec.encoding_table["227"] = [70] let s:lib.Codec.encoding_table["229"] = [71] let s:lib.Codec.encoding_table["231"] = [72] let s:lib.Codec.encoding_table["241"] = [73] let s:lib.Codec.encoding_table["162"] = [74] let s:lib.Codec.encoding_table["46"] = [75] let s:lib.Codec.encoding_table["60"] = [76] let s:lib.Codec.encoding_table["40"] = [77] let s:lib.Codec.encoding_table["43"] = [78] let s:lib.Codec.encoding_table["124"] = [79] let s:lib.Codec.encoding_table["38"] = [80] let s:lib.Codec.encoding_table["233"] = [81] let s:lib.Codec.encoding_table["234"] = [82] let s:lib.Codec.encoding_table["235"] = [83] let s:lib.Codec.encoding_table["232"] = [84] let s:lib.Codec.encoding_table["237"] = [85] let s:lib.Codec.encoding_table["238"] = [86] let s:lib.Codec.encoding_table["239"] = [87] let s:lib.Codec.encoding_table["236"] = [88] let s:lib.Codec.encoding_table["223"] = [89] let s:lib.Codec.encoding_table["33"] = [90] let s:lib.Codec.encoding_table["36"] = [91] let s:lib.Codec.encoding_table["42"] = [92] let s:lib.Codec.encoding_table["41"] = [93] let s:lib.Codec.encoding_table["59"] = [94] let s:lib.Codec.encoding_table["172"] = [95] let s:lib.Codec.encoding_table["45"] = [96] let s:lib.Codec.encoding_table["47"] = [97] let s:lib.Codec.encoding_table["194"] = [98] let s:lib.Codec.encoding_table["196"] = [99] let s:lib.Codec.encoding_table["192"] = [100] let s:lib.Codec.encoding_table["193"] = [101] let s:lib.Codec.encoding_table["195"] = [102] let s:lib.Codec.encoding_table["197"] = [103] let s:lib.Codec.encoding_table["199"] = [104] let s:lib.Codec.encoding_table["209"] = [105] let s:lib.Codec.encoding_table["166"] = [106] let s:lib.Codec.encoding_table["44"] = [107] let s:lib.Codec.encoding_table["37"] = [108] let s:lib.Codec.encoding_table["95"] = [109] let s:lib.Codec.encoding_table["62"] = [110] let s:lib.Codec.encoding_table["63"] = [111] let s:lib.Codec.encoding_table["248"] = [112] let s:lib.Codec.encoding_table["201"] = [113] let s:lib.Codec.encoding_table["202"] = [114] let s:lib.Codec.encoding_table["203"] = [115] let s:lib.Codec.encoding_table["200"] = [116] let s:lib.Codec.encoding_table["205"] = [117] let s:lib.Codec.encoding_table["206"] = [118] let s:lib.Codec.encoding_table["207"] = [119] let s:lib.Codec.encoding_table["204"] = [120] let s:lib.Codec.encoding_table["96"] = [121] let s:lib.Codec.encoding_table["58"] = [122] let s:lib.Codec.encoding_table["35"] = [123] let s:lib.Codec.encoding_table["64"] = [124] let s:lib.Codec.encoding_table["39"] = [125] let s:lib.Codec.encoding_table["61"] = [126] let s:lib.Codec.encoding_table["34"] = [127] let s:lib.Codec.encoding_table["216"] = [128] let s:lib.Codec.encoding_table["97"] = [129] let s:lib.Codec.encoding_table["98"] = [130] let s:lib.Codec.encoding_table["99"] = [131] let s:lib.Codec.encoding_table["100"] = [132] let s:lib.Codec.encoding_table["101"] = [133] let s:lib.Codec.encoding_table["102"] = [134] let s:lib.Codec.encoding_table["103"] = [135] let s:lib.Codec.encoding_table["104"] = [136] let s:lib.Codec.encoding_table["105"] = [137] let s:lib.Codec.encoding_table["171"] = [138] let s:lib.Codec.encoding_table["187"] = [139] let s:lib.Codec.encoding_table["240"] = [140] let s:lib.Codec.encoding_table["253"] = [141] let s:lib.Codec.encoding_table["254"] = [142] let s:lib.Codec.encoding_table["177"] = [143] let s:lib.Codec.encoding_table["176"] = [144] let s:lib.Codec.encoding_table["106"] = [145] let s:lib.Codec.encoding_table["107"] = [146] let s:lib.Codec.encoding_table["108"] = [147] let s:lib.Codec.encoding_table["109"] = [148] let s:lib.Codec.encoding_table["110"] = [149] let s:lib.Codec.encoding_table["111"] = [150] let s:lib.Codec.encoding_table["112"] = [151] let s:lib.Codec.encoding_table["113"] = [152] let s:lib.Codec.encoding_table["114"] = [153] let s:lib.Codec.encoding_table["170"] = [154] let s:lib.Codec.encoding_table["186"] = [155] let s:lib.Codec.encoding_table["230"] = [156] let s:lib.Codec.encoding_table["184"] = [157] let s:lib.Codec.encoding_table["198"] = [158] let s:lib.Codec.encoding_table["164"] = [159] let s:lib.Codec.encoding_table["181"] = [160] let s:lib.Codec.encoding_table["126"] = [161] let s:lib.Codec.encoding_table["115"] = [162] let s:lib.Codec.encoding_table["116"] = [163] let s:lib.Codec.encoding_table["117"] = [164] let s:lib.Codec.encoding_table["118"] = [165] let s:lib.Codec.encoding_table["119"] = [166] let s:lib.Codec.encoding_table["120"] = [167] let s:lib.Codec.encoding_table["121"] = [168] let s:lib.Codec.encoding_table["122"] = [169] let s:lib.Codec.encoding_table["161"] = [170] let s:lib.Codec.encoding_table["191"] = [171] let s:lib.Codec.encoding_table["208"] = [172] let s:lib.Codec.encoding_table["221"] = [173] let s:lib.Codec.encoding_table["222"] = [174] let s:lib.Codec.encoding_table["174"] = [175] let s:lib.Codec.encoding_table["94"] = [176] let s:lib.Codec.encoding_table["163"] = [177] let s:lib.Codec.encoding_table["165"] = [178] let s:lib.Codec.encoding_table["183"] = [179] let s:lib.Codec.encoding_table["169"] = [180] let s:lib.Codec.encoding_table["167"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["188"] = [183] let s:lib.Codec.encoding_table["189"] = [184] let s:lib.Codec.encoding_table["190"] = [185] let s:lib.Codec.encoding_table["91"] = [186] let s:lib.Codec.encoding_table["93"] = [187] let s:lib.Codec.encoding_table["175"] = [188] let s:lib.Codec.encoding_table["168"] = [189] let s:lib.Codec.encoding_table["180"] = [190] let s:lib.Codec.encoding_table["215"] = [191] let s:lib.Codec.encoding_table["123"] = [192] let s:lib.Codec.encoding_table["65"] = [193] let s:lib.Codec.encoding_table["66"] = [194] let s:lib.Codec.encoding_table["67"] = [195] let s:lib.Codec.encoding_table["68"] = [196] let s:lib.Codec.encoding_table["69"] = [197] let s:lib.Codec.encoding_table["70"] = [198] let s:lib.Codec.encoding_table["71"] = [199] let s:lib.Codec.encoding_table["72"] = [200] let s:lib.Codec.encoding_table["73"] = [201] let s:lib.Codec.encoding_table["173"] = [202] let s:lib.Codec.encoding_table["244"] = [203] let s:lib.Codec.encoding_table["246"] = [204] let s:lib.Codec.encoding_table["242"] = [205] let s:lib.Codec.encoding_table["243"] = [206] let s:lib.Codec.encoding_table["245"] = [207] let s:lib.Codec.encoding_table["125"] = [208] let s:lib.Codec.encoding_table["74"] = [209] let s:lib.Codec.encoding_table["75"] = [210] let s:lib.Codec.encoding_table["76"] = [211] let s:lib.Codec.encoding_table["77"] = [212] let s:lib.Codec.encoding_table["78"] = [213] let s:lib.Codec.encoding_table["79"] = [214] let s:lib.Codec.encoding_table["80"] = [215] let s:lib.Codec.encoding_table["81"] = [216] let s:lib.Codec.encoding_table["82"] = [217] let s:lib.Codec.encoding_table["185"] = [218] let s:lib.Codec.encoding_table["251"] = [219] let s:lib.Codec.encoding_table["252"] = [220] let s:lib.Codec.encoding_table["249"] = [221] let s:lib.Codec.encoding_table["250"] = [222] let s:lib.Codec.encoding_table["255"] = [223] let s:lib.Codec.encoding_table["92"] = [224] let s:lib.Codec.encoding_table["247"] = [225] let s:lib.Codec.encoding_table["83"] = [226] let s:lib.Codec.encoding_table["84"] = [227] let s:lib.Codec.encoding_table["85"] = [228] let s:lib.Codec.encoding_table["86"] = [229] let s:lib.Codec.encoding_table["87"] = [230] let s:lib.Codec.encoding_table["88"] = [231] let s:lib.Codec.encoding_table["89"] = [232] let s:lib.Codec.encoding_table["90"] = [233] let s:lib.Codec.encoding_table["178"] = [234] let s:lib.Codec.encoding_table["212"] = [235] let s:lib.Codec.encoding_table["214"] = [236] let s:lib.Codec.encoding_table["210"] = [237] let s:lib.Codec.encoding_table["211"] = [238] let s:lib.Codec.encoding_table["213"] = [239] let s:lib.Codec.encoding_table["48"] = [240] let s:lib.Codec.encoding_table["49"] = [241] let s:lib.Codec.encoding_table["50"] = [242] let s:lib.Codec.encoding_table["51"] = [243] let s:lib.Codec.encoding_table["52"] = [244] let s:lib.Codec.encoding_table["53"] = [245] let s:lib.Codec.encoding_table["54"] = [246] let s:lib.Codec.encoding_table["55"] = [247] let s:lib.Codec.encoding_table["56"] = [248] let s:lib.Codec.encoding_table["57"] = [249] let s:lib.Codec.encoding_table["179"] = [250] let s:lib.Codec.encoding_table["219"] = [251] let s:lib.Codec.encoding_table["220"] = [252] let s:lib.Codec.encoding_table["217"] = [253] let s:lib.Codec.encoding_table["218"] = [254] let s:lib.Codec.encoding_table["159"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1026.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1026#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP1026" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [156] let s:lib.Codec.decoding_table["5"] = [9] let s:lib.Codec.decoding_table["6"] = [134] let s:lib.Codec.decoding_table["7"] = [127] let s:lib.Codec.decoding_table["8"] = [151] let s:lib.Codec.decoding_table["9"] = [141] let s:lib.Codec.decoding_table["10"] = [142] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [157] let s:lib.Codec.decoding_table["21"] = [133] let s:lib.Codec.decoding_table["22"] = [8] let s:lib.Codec.decoding_table["23"] = [135] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [146] let s:lib.Codec.decoding_table["27"] = [143] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [128] let s:lib.Codec.decoding_table["33"] = [129] let s:lib.Codec.decoding_table["34"] = [130] let s:lib.Codec.decoding_table["35"] = [131] let s:lib.Codec.decoding_table["36"] = [132] let s:lib.Codec.decoding_table["37"] = [10] let s:lib.Codec.decoding_table["38"] = [23] let s:lib.Codec.decoding_table["39"] = [27] let s:lib.Codec.decoding_table["40"] = [136] let s:lib.Codec.decoding_table["41"] = [137] let s:lib.Codec.decoding_table["42"] = [138] let s:lib.Codec.decoding_table["43"] = [139] let s:lib.Codec.decoding_table["44"] = [140] let s:lib.Codec.decoding_table["45"] = [5] let s:lib.Codec.decoding_table["46"] = [6] let s:lib.Codec.decoding_table["47"] = [7] let s:lib.Codec.decoding_table["48"] = [144] let s:lib.Codec.decoding_table["49"] = [145] let s:lib.Codec.decoding_table["50"] = [22] let s:lib.Codec.decoding_table["51"] = [147] let s:lib.Codec.decoding_table["52"] = [148] let s:lib.Codec.decoding_table["53"] = [149] let s:lib.Codec.decoding_table["54"] = [150] let s:lib.Codec.decoding_table["55"] = [4] let s:lib.Codec.decoding_table["56"] = [152] let s:lib.Codec.decoding_table["57"] = [153] let s:lib.Codec.decoding_table["58"] = [154] let s:lib.Codec.decoding_table["59"] = [155] let s:lib.Codec.decoding_table["60"] = [20] let s:lib.Codec.decoding_table["61"] = [21] let s:lib.Codec.decoding_table["62"] = [158] let s:lib.Codec.decoding_table["63"] = [26] let s:lib.Codec.decoding_table["64"] = [32] let s:lib.Codec.decoding_table["65"] = [160] let s:lib.Codec.decoding_table["66"] = [226] let s:lib.Codec.decoding_table["67"] = [228] let s:lib.Codec.decoding_table["68"] = [224] let s:lib.Codec.decoding_table["69"] = [225] let s:lib.Codec.decoding_table["70"] = [227] let s:lib.Codec.decoding_table["71"] = [229] let s:lib.Codec.decoding_table["72"] = [123] let s:lib.Codec.decoding_table["73"] = [241] let s:lib.Codec.decoding_table["74"] = [199] let s:lib.Codec.decoding_table["75"] = [46] let s:lib.Codec.decoding_table["76"] = [60] let s:lib.Codec.decoding_table["77"] = [40] let s:lib.Codec.decoding_table["78"] = [43] let s:lib.Codec.decoding_table["79"] = [33] let s:lib.Codec.decoding_table["80"] = [38] let s:lib.Codec.decoding_table["81"] = [233] let s:lib.Codec.decoding_table["82"] = [234] let s:lib.Codec.decoding_table["83"] = [235] let s:lib.Codec.decoding_table["84"] = [232] let s:lib.Codec.decoding_table["85"] = [237] let s:lib.Codec.decoding_table["86"] = [238] let s:lib.Codec.decoding_table["87"] = [239] let s:lib.Codec.decoding_table["88"] = [236] let s:lib.Codec.decoding_table["89"] = [223] let s:lib.Codec.decoding_table["90"] = [286] let s:lib.Codec.decoding_table["91"] = [304] let s:lib.Codec.decoding_table["92"] = [42] let s:lib.Codec.decoding_table["93"] = [41] let s:lib.Codec.decoding_table["94"] = [59] let s:lib.Codec.decoding_table["95"] = [94] let s:lib.Codec.decoding_table["96"] = [45] let s:lib.Codec.decoding_table["97"] = [47] let s:lib.Codec.decoding_table["98"] = [194] let s:lib.Codec.decoding_table["99"] = [196] let s:lib.Codec.decoding_table["100"] = [192] let s:lib.Codec.decoding_table["101"] = [193] let s:lib.Codec.decoding_table["102"] = [195] let s:lib.Codec.decoding_table["103"] = [197] let s:lib.Codec.decoding_table["104"] = [91] let s:lib.Codec.decoding_table["105"] = [209] let s:lib.Codec.decoding_table["106"] = [351] let s:lib.Codec.decoding_table["107"] = [44] let s:lib.Codec.decoding_table["108"] = [37] let s:lib.Codec.decoding_table["109"] = [95] let s:lib.Codec.decoding_table["110"] = [62] let s:lib.Codec.decoding_table["111"] = [63] let s:lib.Codec.decoding_table["112"] = [248] let s:lib.Codec.decoding_table["113"] = [201] let s:lib.Codec.decoding_table["114"] = [202] let s:lib.Codec.decoding_table["115"] = [203] let s:lib.Codec.decoding_table["116"] = [200] let s:lib.Codec.decoding_table["117"] = [205] let s:lib.Codec.decoding_table["118"] = [206] let s:lib.Codec.decoding_table["119"] = [207] let s:lib.Codec.decoding_table["120"] = [204] let s:lib.Codec.decoding_table["121"] = [305] let s:lib.Codec.decoding_table["122"] = [58] let s:lib.Codec.decoding_table["123"] = [214] let s:lib.Codec.decoding_table["124"] = [350] let s:lib.Codec.decoding_table["125"] = [39] let s:lib.Codec.decoding_table["126"] = [61] let s:lib.Codec.decoding_table["127"] = [220] let s:lib.Codec.decoding_table["128"] = [216] let s:lib.Codec.decoding_table["129"] = [97] let s:lib.Codec.decoding_table["130"] = [98] let s:lib.Codec.decoding_table["131"] = [99] let s:lib.Codec.decoding_table["132"] = [100] let s:lib.Codec.decoding_table["133"] = [101] let s:lib.Codec.decoding_table["134"] = [102] let s:lib.Codec.decoding_table["135"] = [103] let s:lib.Codec.decoding_table["136"] = [104] let s:lib.Codec.decoding_table["137"] = [105] let s:lib.Codec.decoding_table["138"] = [171] let s:lib.Codec.decoding_table["139"] = [187] let s:lib.Codec.decoding_table["140"] = [125] let s:lib.Codec.decoding_table["141"] = [96] let s:lib.Codec.decoding_table["142"] = [166] let s:lib.Codec.decoding_table["143"] = [177] let s:lib.Codec.decoding_table["144"] = [176] let s:lib.Codec.decoding_table["145"] = [106] let s:lib.Codec.decoding_table["146"] = [107] let s:lib.Codec.decoding_table["147"] = [108] let s:lib.Codec.decoding_table["148"] = [109] let s:lib.Codec.decoding_table["149"] = [110] let s:lib.Codec.decoding_table["150"] = [111] let s:lib.Codec.decoding_table["151"] = [112] let s:lib.Codec.decoding_table["152"] = [113] let s:lib.Codec.decoding_table["153"] = [114] let s:lib.Codec.decoding_table["154"] = [170] let s:lib.Codec.decoding_table["155"] = [186] let s:lib.Codec.decoding_table["156"] = [230] let s:lib.Codec.decoding_table["157"] = [184] let s:lib.Codec.decoding_table["158"] = [198] let s:lib.Codec.decoding_table["159"] = [164] let s:lib.Codec.decoding_table["160"] = [181] let s:lib.Codec.decoding_table["161"] = [246] let s:lib.Codec.decoding_table["162"] = [115] let s:lib.Codec.decoding_table["163"] = [116] let s:lib.Codec.decoding_table["164"] = [117] let s:lib.Codec.decoding_table["165"] = [118] let s:lib.Codec.decoding_table["166"] = [119] let s:lib.Codec.decoding_table["167"] = [120] let s:lib.Codec.decoding_table["168"] = [121] let s:lib.Codec.decoding_table["169"] = [122] let s:lib.Codec.decoding_table["170"] = [161] let s:lib.Codec.decoding_table["171"] = [191] let s:lib.Codec.decoding_table["172"] = [93] let s:lib.Codec.decoding_table["173"] = [36] let s:lib.Codec.decoding_table["174"] = [64] let s:lib.Codec.decoding_table["175"] = [174] let s:lib.Codec.decoding_table["176"] = [162] let s:lib.Codec.decoding_table["177"] = [163] let s:lib.Codec.decoding_table["178"] = [165] let s:lib.Codec.decoding_table["179"] = [183] let s:lib.Codec.decoding_table["180"] = [169] let s:lib.Codec.decoding_table["181"] = [167] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [188] let s:lib.Codec.decoding_table["184"] = [189] let s:lib.Codec.decoding_table["185"] = [190] let s:lib.Codec.decoding_table["186"] = [172] let s:lib.Codec.decoding_table["187"] = [124] let s:lib.Codec.decoding_table["188"] = [175] let s:lib.Codec.decoding_table["189"] = [168] let s:lib.Codec.decoding_table["190"] = [180] let s:lib.Codec.decoding_table["191"] = [215] let s:lib.Codec.decoding_table["192"] = [231] let s:lib.Codec.decoding_table["193"] = [65] let s:lib.Codec.decoding_table["194"] = [66] let s:lib.Codec.decoding_table["195"] = [67] let s:lib.Codec.decoding_table["196"] = [68] let s:lib.Codec.decoding_table["197"] = [69] let s:lib.Codec.decoding_table["198"] = [70] let s:lib.Codec.decoding_table["199"] = [71] let s:lib.Codec.decoding_table["200"] = [72] let s:lib.Codec.decoding_table["201"] = [73] let s:lib.Codec.decoding_table["202"] = [173] let s:lib.Codec.decoding_table["203"] = [244] let s:lib.Codec.decoding_table["204"] = [126] let s:lib.Codec.decoding_table["205"] = [242] let s:lib.Codec.decoding_table["206"] = [243] let s:lib.Codec.decoding_table["207"] = [245] let s:lib.Codec.decoding_table["208"] = [287] let s:lib.Codec.decoding_table["209"] = [74] let s:lib.Codec.decoding_table["210"] = [75] let s:lib.Codec.decoding_table["211"] = [76] let s:lib.Codec.decoding_table["212"] = [77] let s:lib.Codec.decoding_table["213"] = [78] let s:lib.Codec.decoding_table["214"] = [79] let s:lib.Codec.decoding_table["215"] = [80] let s:lib.Codec.decoding_table["216"] = [81] let s:lib.Codec.decoding_table["217"] = [82] let s:lib.Codec.decoding_table["218"] = [185] let s:lib.Codec.decoding_table["219"] = [251] let s:lib.Codec.decoding_table["220"] = [92] let s:lib.Codec.decoding_table["221"] = [249] let s:lib.Codec.decoding_table["222"] = [250] let s:lib.Codec.decoding_table["223"] = [255] let s:lib.Codec.decoding_table["224"] = [252] let s:lib.Codec.decoding_table["225"] = [247] let s:lib.Codec.decoding_table["226"] = [83] let s:lib.Codec.decoding_table["227"] = [84] let s:lib.Codec.decoding_table["228"] = [85] let s:lib.Codec.decoding_table["229"] = [86] let s:lib.Codec.decoding_table["230"] = [87] let s:lib.Codec.decoding_table["231"] = [88] let s:lib.Codec.decoding_table["232"] = [89] let s:lib.Codec.decoding_table["233"] = [90] let s:lib.Codec.decoding_table["234"] = [178] let s:lib.Codec.decoding_table["235"] = [212] let s:lib.Codec.decoding_table["236"] = [35] let s:lib.Codec.decoding_table["237"] = [210] let s:lib.Codec.decoding_table["238"] = [211] let s:lib.Codec.decoding_table["239"] = [213] let s:lib.Codec.decoding_table["240"] = [48] let s:lib.Codec.decoding_table["241"] = [49] let s:lib.Codec.decoding_table["242"] = [50] let s:lib.Codec.decoding_table["243"] = [51] let s:lib.Codec.decoding_table["244"] = [52] let s:lib.Codec.decoding_table["245"] = [53] let s:lib.Codec.decoding_table["246"] = [54] let s:lib.Codec.decoding_table["247"] = [55] let s:lib.Codec.decoding_table["248"] = [56] let s:lib.Codec.decoding_table["249"] = [57] let s:lib.Codec.decoding_table["250"] = [179] let s:lib.Codec.decoding_table["251"] = [219] let s:lib.Codec.decoding_table["252"] = [34] let s:lib.Codec.decoding_table["253"] = [217] let s:lib.Codec.decoding_table["254"] = [218] let s:lib.Codec.decoding_table["255"] = [159] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["156"] = [4] let s:lib.Codec.encoding_table["9"] = [5] let s:lib.Codec.encoding_table["134"] = [6] let s:lib.Codec.encoding_table["127"] = [7] let s:lib.Codec.encoding_table["151"] = [8] let s:lib.Codec.encoding_table["141"] = [9] let s:lib.Codec.encoding_table["142"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["157"] = [20] let s:lib.Codec.encoding_table["133"] = [21] let s:lib.Codec.encoding_table["8"] = [22] let s:lib.Codec.encoding_table["135"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["146"] = [26] let s:lib.Codec.encoding_table["143"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["128"] = [32] let s:lib.Codec.encoding_table["129"] = [33] let s:lib.Codec.encoding_table["130"] = [34] let s:lib.Codec.encoding_table["131"] = [35] let s:lib.Codec.encoding_table["132"] = [36] let s:lib.Codec.encoding_table["10"] = [37] let s:lib.Codec.encoding_table["23"] = [38] let s:lib.Codec.encoding_table["27"] = [39] let s:lib.Codec.encoding_table["136"] = [40] let s:lib.Codec.encoding_table["137"] = [41] let s:lib.Codec.encoding_table["138"] = [42] let s:lib.Codec.encoding_table["139"] = [43] let s:lib.Codec.encoding_table["140"] = [44] let s:lib.Codec.encoding_table["5"] = [45] let s:lib.Codec.encoding_table["6"] = [46] let s:lib.Codec.encoding_table["7"] = [47] let s:lib.Codec.encoding_table["144"] = [48] let s:lib.Codec.encoding_table["145"] = [49] let s:lib.Codec.encoding_table["22"] = [50] let s:lib.Codec.encoding_table["147"] = [51] let s:lib.Codec.encoding_table["148"] = [52] let s:lib.Codec.encoding_table["149"] = [53] let s:lib.Codec.encoding_table["150"] = [54] let s:lib.Codec.encoding_table["4"] = [55] let s:lib.Codec.encoding_table["152"] = [56] let s:lib.Codec.encoding_table["153"] = [57] let s:lib.Codec.encoding_table["154"] = [58] let s:lib.Codec.encoding_table["155"] = [59] let s:lib.Codec.encoding_table["20"] = [60] let s:lib.Codec.encoding_table["21"] = [61] let s:lib.Codec.encoding_table["158"] = [62] let s:lib.Codec.encoding_table["26"] = [63] let s:lib.Codec.encoding_table["32"] = [64] let s:lib.Codec.encoding_table["160"] = [65] let s:lib.Codec.encoding_table["226"] = [66] let s:lib.Codec.encoding_table["228"] = [67] let s:lib.Codec.encoding_table["224"] = [68] let s:lib.Codec.encoding_table["225"] = [69] let s:lib.Codec.encoding_table["227"] = [70] let s:lib.Codec.encoding_table["229"] = [71] let s:lib.Codec.encoding_table["123"] = [72] let s:lib.Codec.encoding_table["241"] = [73] let s:lib.Codec.encoding_table["199"] = [74] let s:lib.Codec.encoding_table["46"] = [75] let s:lib.Codec.encoding_table["60"] = [76] let s:lib.Codec.encoding_table["40"] = [77] let s:lib.Codec.encoding_table["43"] = [78] let s:lib.Codec.encoding_table["33"] = [79] let s:lib.Codec.encoding_table["38"] = [80] let s:lib.Codec.encoding_table["233"] = [81] let s:lib.Codec.encoding_table["234"] = [82] let s:lib.Codec.encoding_table["235"] = [83] let s:lib.Codec.encoding_table["232"] = [84] let s:lib.Codec.encoding_table["237"] = [85] let s:lib.Codec.encoding_table["238"] = [86] let s:lib.Codec.encoding_table["239"] = [87] let s:lib.Codec.encoding_table["236"] = [88] let s:lib.Codec.encoding_table["223"] = [89] let s:lib.Codec.encoding_table["286"] = [90] let s:lib.Codec.encoding_table["304"] = [91] let s:lib.Codec.encoding_table["42"] = [92] let s:lib.Codec.encoding_table["41"] = [93] let s:lib.Codec.encoding_table["59"] = [94] let s:lib.Codec.encoding_table["94"] = [95] let s:lib.Codec.encoding_table["45"] = [96] let s:lib.Codec.encoding_table["47"] = [97] let s:lib.Codec.encoding_table["194"] = [98] let s:lib.Codec.encoding_table["196"] = [99] let s:lib.Codec.encoding_table["192"] = [100] let s:lib.Codec.encoding_table["193"] = [101] let s:lib.Codec.encoding_table["195"] = [102] let s:lib.Codec.encoding_table["197"] = [103] let s:lib.Codec.encoding_table["91"] = [104] let s:lib.Codec.encoding_table["209"] = [105] let s:lib.Codec.encoding_table["351"] = [106] let s:lib.Codec.encoding_table["44"] = [107] let s:lib.Codec.encoding_table["37"] = [108] let s:lib.Codec.encoding_table["95"] = [109] let s:lib.Codec.encoding_table["62"] = [110] let s:lib.Codec.encoding_table["63"] = [111] let s:lib.Codec.encoding_table["248"] = [112] let s:lib.Codec.encoding_table["201"] = [113] let s:lib.Codec.encoding_table["202"] = [114] let s:lib.Codec.encoding_table["203"] = [115] let s:lib.Codec.encoding_table["200"] = [116] let s:lib.Codec.encoding_table["205"] = [117] let s:lib.Codec.encoding_table["206"] = [118] let s:lib.Codec.encoding_table["207"] = [119] let s:lib.Codec.encoding_table["204"] = [120] let s:lib.Codec.encoding_table["305"] = [121] let s:lib.Codec.encoding_table["58"] = [122] let s:lib.Codec.encoding_table["214"] = [123] let s:lib.Codec.encoding_table["350"] = [124] let s:lib.Codec.encoding_table["39"] = [125] let s:lib.Codec.encoding_table["61"] = [126] let s:lib.Codec.encoding_table["220"] = [127] let s:lib.Codec.encoding_table["216"] = [128] let s:lib.Codec.encoding_table["97"] = [129] let s:lib.Codec.encoding_table["98"] = [130] let s:lib.Codec.encoding_table["99"] = [131] let s:lib.Codec.encoding_table["100"] = [132] let s:lib.Codec.encoding_table["101"] = [133] let s:lib.Codec.encoding_table["102"] = [134] let s:lib.Codec.encoding_table["103"] = [135] let s:lib.Codec.encoding_table["104"] = [136] let s:lib.Codec.encoding_table["105"] = [137] let s:lib.Codec.encoding_table["171"] = [138] let s:lib.Codec.encoding_table["187"] = [139] let s:lib.Codec.encoding_table["125"] = [140] let s:lib.Codec.encoding_table["96"] = [141] let s:lib.Codec.encoding_table["166"] = [142] let s:lib.Codec.encoding_table["177"] = [143] let s:lib.Codec.encoding_table["176"] = [144] let s:lib.Codec.encoding_table["106"] = [145] let s:lib.Codec.encoding_table["107"] = [146] let s:lib.Codec.encoding_table["108"] = [147] let s:lib.Codec.encoding_table["109"] = [148] let s:lib.Codec.encoding_table["110"] = [149] let s:lib.Codec.encoding_table["111"] = [150] let s:lib.Codec.encoding_table["112"] = [151] let s:lib.Codec.encoding_table["113"] = [152] let s:lib.Codec.encoding_table["114"] = [153] let s:lib.Codec.encoding_table["170"] = [154] let s:lib.Codec.encoding_table["186"] = [155] let s:lib.Codec.encoding_table["230"] = [156] let s:lib.Codec.encoding_table["184"] = [157] let s:lib.Codec.encoding_table["198"] = [158] let s:lib.Codec.encoding_table["164"] = [159] let s:lib.Codec.encoding_table["181"] = [160] let s:lib.Codec.encoding_table["246"] = [161] let s:lib.Codec.encoding_table["115"] = [162] let s:lib.Codec.encoding_table["116"] = [163] let s:lib.Codec.encoding_table["117"] = [164] let s:lib.Codec.encoding_table["118"] = [165] let s:lib.Codec.encoding_table["119"] = [166] let s:lib.Codec.encoding_table["120"] = [167] let s:lib.Codec.encoding_table["121"] = [168] let s:lib.Codec.encoding_table["122"] = [169] let s:lib.Codec.encoding_table["161"] = [170] let s:lib.Codec.encoding_table["191"] = [171] let s:lib.Codec.encoding_table["93"] = [172] let s:lib.Codec.encoding_table["36"] = [173] let s:lib.Codec.encoding_table["64"] = [174] let s:lib.Codec.encoding_table["174"] = [175] let s:lib.Codec.encoding_table["162"] = [176] let s:lib.Codec.encoding_table["163"] = [177] let s:lib.Codec.encoding_table["165"] = [178] let s:lib.Codec.encoding_table["183"] = [179] let s:lib.Codec.encoding_table["169"] = [180] let s:lib.Codec.encoding_table["167"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["188"] = [183] let s:lib.Codec.encoding_table["189"] = [184] let s:lib.Codec.encoding_table["190"] = [185] let s:lib.Codec.encoding_table["172"] = [186] let s:lib.Codec.encoding_table["124"] = [187] let s:lib.Codec.encoding_table["175"] = [188] let s:lib.Codec.encoding_table["168"] = [189] let s:lib.Codec.encoding_table["180"] = [190] let s:lib.Codec.encoding_table["215"] = [191] let s:lib.Codec.encoding_table["231"] = [192] let s:lib.Codec.encoding_table["65"] = [193] let s:lib.Codec.encoding_table["66"] = [194] let s:lib.Codec.encoding_table["67"] = [195] let s:lib.Codec.encoding_table["68"] = [196] let s:lib.Codec.encoding_table["69"] = [197] let s:lib.Codec.encoding_table["70"] = [198] let s:lib.Codec.encoding_table["71"] = [199] let s:lib.Codec.encoding_table["72"] = [200] let s:lib.Codec.encoding_table["73"] = [201] let s:lib.Codec.encoding_table["173"] = [202] let s:lib.Codec.encoding_table["244"] = [203] let s:lib.Codec.encoding_table["126"] = [204] let s:lib.Codec.encoding_table["242"] = [205] let s:lib.Codec.encoding_table["243"] = [206] let s:lib.Codec.encoding_table["245"] = [207] let s:lib.Codec.encoding_table["287"] = [208] let s:lib.Codec.encoding_table["74"] = [209] let s:lib.Codec.encoding_table["75"] = [210] let s:lib.Codec.encoding_table["76"] = [211] let s:lib.Codec.encoding_table["77"] = [212] let s:lib.Codec.encoding_table["78"] = [213] let s:lib.Codec.encoding_table["79"] = [214] let s:lib.Codec.encoding_table["80"] = [215] let s:lib.Codec.encoding_table["81"] = [216] let s:lib.Codec.encoding_table["82"] = [217] let s:lib.Codec.encoding_table["185"] = [218] let s:lib.Codec.encoding_table["251"] = [219] let s:lib.Codec.encoding_table["92"] = [220] let s:lib.Codec.encoding_table["249"] = [221] let s:lib.Codec.encoding_table["250"] = [222] let s:lib.Codec.encoding_table["255"] = [223] let s:lib.Codec.encoding_table["252"] = [224] let s:lib.Codec.encoding_table["247"] = [225] let s:lib.Codec.encoding_table["83"] = [226] let s:lib.Codec.encoding_table["84"] = [227] let s:lib.Codec.encoding_table["85"] = [228] let s:lib.Codec.encoding_table["86"] = [229] let s:lib.Codec.encoding_table["87"] = [230] let s:lib.Codec.encoding_table["88"] = [231] let s:lib.Codec.encoding_table["89"] = [232] let s:lib.Codec.encoding_table["90"] = [233] let s:lib.Codec.encoding_table["178"] = [234] let s:lib.Codec.encoding_table["212"] = [235] let s:lib.Codec.encoding_table["35"] = [236] let s:lib.Codec.encoding_table["210"] = [237] let s:lib.Codec.encoding_table["211"] = [238] let s:lib.Codec.encoding_table["213"] = [239] let s:lib.Codec.encoding_table["48"] = [240] let s:lib.Codec.encoding_table["49"] = [241] let s:lib.Codec.encoding_table["50"] = [242] let s:lib.Codec.encoding_table["51"] = [243] let s:lib.Codec.encoding_table["52"] = [244] let s:lib.Codec.encoding_table["53"] = [245] let s:lib.Codec.encoding_table["54"] = [246] let s:lib.Codec.encoding_table["55"] = [247] let s:lib.Codec.encoding_table["56"] = [248] let s:lib.Codec.encoding_table["57"] = [249] let s:lib.Codec.encoding_table["179"] = [250] let s:lib.Codec.encoding_table["219"] = [251] let s:lib.Codec.encoding_table["34"] = [252] let s:lib.Codec.encoding_table["217"] = [253] let s:lib.Codec.encoding_table["218"] = [254] let s:lib.Codec.encoding_table["159"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1250.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1250#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP1250" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [8364] let s:lib.Codec.decoding_table["130"] = [8218] let s:lib.Codec.decoding_table["132"] = [8222] let s:lib.Codec.decoding_table["133"] = [8230] let s:lib.Codec.decoding_table["134"] = [8224] let s:lib.Codec.decoding_table["135"] = [8225] let s:lib.Codec.decoding_table["137"] = [8240] let s:lib.Codec.decoding_table["138"] = [352] let s:lib.Codec.decoding_table["139"] = [8249] let s:lib.Codec.decoding_table["140"] = [346] let s:lib.Codec.decoding_table["141"] = [356] let s:lib.Codec.decoding_table["142"] = [381] let s:lib.Codec.decoding_table["143"] = [377] let s:lib.Codec.decoding_table["145"] = [8216] let s:lib.Codec.decoding_table["146"] = [8217] let s:lib.Codec.decoding_table["147"] = [8220] let s:lib.Codec.decoding_table["148"] = [8221] let s:lib.Codec.decoding_table["149"] = [8226] let s:lib.Codec.decoding_table["150"] = [8211] let s:lib.Codec.decoding_table["151"] = [8212] let s:lib.Codec.decoding_table["153"] = [8482] let s:lib.Codec.decoding_table["154"] = [353] let s:lib.Codec.decoding_table["155"] = [8250] let s:lib.Codec.decoding_table["156"] = [347] let s:lib.Codec.decoding_table["157"] = [357] let s:lib.Codec.decoding_table["158"] = [382] let s:lib.Codec.decoding_table["159"] = [378] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [711] let s:lib.Codec.decoding_table["162"] = [728] let s:lib.Codec.decoding_table["163"] = [321] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [260] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [350] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [379] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [731] let s:lib.Codec.decoding_table["179"] = [322] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [261] let s:lib.Codec.decoding_table["186"] = [351] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [317] let s:lib.Codec.decoding_table["189"] = [733] let s:lib.Codec.decoding_table["190"] = [318] let s:lib.Codec.decoding_table["191"] = [380] let s:lib.Codec.decoding_table["192"] = [340] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [258] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [313] let s:lib.Codec.decoding_table["198"] = [262] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [268] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [280] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [282] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [270] let s:lib.Codec.decoding_table["208"] = [272] let s:lib.Codec.decoding_table["209"] = [323] let s:lib.Codec.decoding_table["210"] = [327] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [336] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [344] let s:lib.Codec.decoding_table["217"] = [366] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [368] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [221] let s:lib.Codec.decoding_table["222"] = [354] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [341] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [259] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [314] let s:lib.Codec.decoding_table["230"] = [263] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [269] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [281] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [283] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [271] let s:lib.Codec.decoding_table["240"] = [273] let s:lib.Codec.decoding_table["241"] = [324] let s:lib.Codec.decoding_table["242"] = [328] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [337] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [345] let s:lib.Codec.decoding_table["249"] = [367] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [369] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [253] let s:lib.Codec.decoding_table["254"] = [355] let s:lib.Codec.decoding_table["255"] = [729] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["8364"] = [128] let s:lib.Codec.encoding_table["8218"] = [130] let s:lib.Codec.encoding_table["8222"] = [132] let s:lib.Codec.encoding_table["8230"] = [133] let s:lib.Codec.encoding_table["8224"] = [134] let s:lib.Codec.encoding_table["8225"] = [135] let s:lib.Codec.encoding_table["8240"] = [137] let s:lib.Codec.encoding_table["352"] = [138] let s:lib.Codec.encoding_table["8249"] = [139] let s:lib.Codec.encoding_table["346"] = [140] let s:lib.Codec.encoding_table["356"] = [141] let s:lib.Codec.encoding_table["381"] = [142] let s:lib.Codec.encoding_table["377"] = [143] let s:lib.Codec.encoding_table["8216"] = [145] let s:lib.Codec.encoding_table["8217"] = [146] let s:lib.Codec.encoding_table["8220"] = [147] let s:lib.Codec.encoding_table["8221"] = [148] let s:lib.Codec.encoding_table["8226"] = [149] let s:lib.Codec.encoding_table["8211"] = [150] let s:lib.Codec.encoding_table["8212"] = [151] let s:lib.Codec.encoding_table["8482"] = [153] let s:lib.Codec.encoding_table["353"] = [154] let s:lib.Codec.encoding_table["8250"] = [155] let s:lib.Codec.encoding_table["347"] = [156] let s:lib.Codec.encoding_table["357"] = [157] let s:lib.Codec.encoding_table["382"] = [158] let s:lib.Codec.encoding_table["378"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["711"] = [161] let s:lib.Codec.encoding_table["728"] = [162] let s:lib.Codec.encoding_table["321"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["260"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["350"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["379"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["731"] = [178] let s:lib.Codec.encoding_table["322"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["261"] = [185] let s:lib.Codec.encoding_table["351"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["317"] = [188] let s:lib.Codec.encoding_table["733"] = [189] let s:lib.Codec.encoding_table["318"] = [190] let s:lib.Codec.encoding_table["380"] = [191] let s:lib.Codec.encoding_table["340"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["258"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["313"] = [197] let s:lib.Codec.encoding_table["262"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["268"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["280"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["282"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["270"] = [207] let s:lib.Codec.encoding_table["272"] = [208] let s:lib.Codec.encoding_table["323"] = [209] let s:lib.Codec.encoding_table["327"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["336"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["344"] = [216] let s:lib.Codec.encoding_table["366"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["368"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["221"] = [221] let s:lib.Codec.encoding_table["354"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["341"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["259"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["314"] = [229] let s:lib.Codec.encoding_table["263"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["269"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["281"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["283"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["271"] = [239] let s:lib.Codec.encoding_table["273"] = [240] let s:lib.Codec.encoding_table["324"] = [241] let s:lib.Codec.encoding_table["328"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["337"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["345"] = [248] let s:lib.Codec.encoding_table["367"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["369"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["253"] = [253] let s:lib.Codec.encoding_table["355"] = [254] let s:lib.Codec.encoding_table["729"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1251.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1251#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP1251" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [1026] let s:lib.Codec.decoding_table["129"] = [1027] let s:lib.Codec.decoding_table["130"] = [8218] let s:lib.Codec.decoding_table["131"] = [1107] let s:lib.Codec.decoding_table["132"] = [8222] let s:lib.Codec.decoding_table["133"] = [8230] let s:lib.Codec.decoding_table["134"] = [8224] let s:lib.Codec.decoding_table["135"] = [8225] let s:lib.Codec.decoding_table["136"] = [8364] let s:lib.Codec.decoding_table["137"] = [8240] let s:lib.Codec.decoding_table["138"] = [1033] let s:lib.Codec.decoding_table["139"] = [8249] let s:lib.Codec.decoding_table["140"] = [1034] let s:lib.Codec.decoding_table["141"] = [1036] let s:lib.Codec.decoding_table["142"] = [1035] let s:lib.Codec.decoding_table["143"] = [1039] let s:lib.Codec.decoding_table["144"] = [1106] let s:lib.Codec.decoding_table["145"] = [8216] let s:lib.Codec.decoding_table["146"] = [8217] let s:lib.Codec.decoding_table["147"] = [8220] let s:lib.Codec.decoding_table["148"] = [8221] let s:lib.Codec.decoding_table["149"] = [8226] let s:lib.Codec.decoding_table["150"] = [8211] let s:lib.Codec.decoding_table["151"] = [8212] let s:lib.Codec.decoding_table["153"] = [8482] let s:lib.Codec.decoding_table["154"] = [1113] let s:lib.Codec.decoding_table["155"] = [8250] let s:lib.Codec.decoding_table["156"] = [1114] let s:lib.Codec.decoding_table["157"] = [1116] let s:lib.Codec.decoding_table["158"] = [1115] let s:lib.Codec.decoding_table["159"] = [1119] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [1038] let s:lib.Codec.decoding_table["162"] = [1118] let s:lib.Codec.decoding_table["163"] = [1032] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [1168] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [1025] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [1028] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [1031] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [1030] let s:lib.Codec.decoding_table["179"] = [1110] let s:lib.Codec.decoding_table["180"] = [1169] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [1105] let s:lib.Codec.decoding_table["185"] = [8470] let s:lib.Codec.decoding_table["186"] = [1108] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [1112] let s:lib.Codec.decoding_table["189"] = [1029] let s:lib.Codec.decoding_table["190"] = [1109] let s:lib.Codec.decoding_table["191"] = [1111] let s:lib.Codec.decoding_table["192"] = [1040] let s:lib.Codec.decoding_table["193"] = [1041] let s:lib.Codec.decoding_table["194"] = [1042] let s:lib.Codec.decoding_table["195"] = [1043] let s:lib.Codec.decoding_table["196"] = [1044] let s:lib.Codec.decoding_table["197"] = [1045] let s:lib.Codec.decoding_table["198"] = [1046] let s:lib.Codec.decoding_table["199"] = [1047] let s:lib.Codec.decoding_table["200"] = [1048] let s:lib.Codec.decoding_table["201"] = [1049] let s:lib.Codec.decoding_table["202"] = [1050] let s:lib.Codec.decoding_table["203"] = [1051] let s:lib.Codec.decoding_table["204"] = [1052] let s:lib.Codec.decoding_table["205"] = [1053] let s:lib.Codec.decoding_table["206"] = [1054] let s:lib.Codec.decoding_table["207"] = [1055] let s:lib.Codec.decoding_table["208"] = [1056] let s:lib.Codec.decoding_table["209"] = [1057] let s:lib.Codec.decoding_table["210"] = [1058] let s:lib.Codec.decoding_table["211"] = [1059] let s:lib.Codec.decoding_table["212"] = [1060] let s:lib.Codec.decoding_table["213"] = [1061] let s:lib.Codec.decoding_table["214"] = [1062] let s:lib.Codec.decoding_table["215"] = [1063] let s:lib.Codec.decoding_table["216"] = [1064] let s:lib.Codec.decoding_table["217"] = [1065] let s:lib.Codec.decoding_table["218"] = [1066] let s:lib.Codec.decoding_table["219"] = [1067] let s:lib.Codec.decoding_table["220"] = [1068] let s:lib.Codec.decoding_table["221"] = [1069] let s:lib.Codec.decoding_table["222"] = [1070] let s:lib.Codec.decoding_table["223"] = [1071] let s:lib.Codec.decoding_table["224"] = [1072] let s:lib.Codec.decoding_table["225"] = [1073] let s:lib.Codec.decoding_table["226"] = [1074] let s:lib.Codec.decoding_table["227"] = [1075] let s:lib.Codec.decoding_table["228"] = [1076] let s:lib.Codec.decoding_table["229"] = [1077] let s:lib.Codec.decoding_table["230"] = [1078] let s:lib.Codec.decoding_table["231"] = [1079] let s:lib.Codec.decoding_table["232"] = [1080] let s:lib.Codec.decoding_table["233"] = [1081] let s:lib.Codec.decoding_table["234"] = [1082] let s:lib.Codec.decoding_table["235"] = [1083] let s:lib.Codec.decoding_table["236"] = [1084] let s:lib.Codec.decoding_table["237"] = [1085] let s:lib.Codec.decoding_table["238"] = [1086] let s:lib.Codec.decoding_table["239"] = [1087] let s:lib.Codec.decoding_table["240"] = [1088] let s:lib.Codec.decoding_table["241"] = [1089] let s:lib.Codec.decoding_table["242"] = [1090] let s:lib.Codec.decoding_table["243"] = [1091] let s:lib.Codec.decoding_table["244"] = [1092] let s:lib.Codec.decoding_table["245"] = [1093] let s:lib.Codec.decoding_table["246"] = [1094] let s:lib.Codec.decoding_table["247"] = [1095] let s:lib.Codec.decoding_table["248"] = [1096] let s:lib.Codec.decoding_table["249"] = [1097] let s:lib.Codec.decoding_table["250"] = [1098] let s:lib.Codec.decoding_table["251"] = [1099] let s:lib.Codec.decoding_table["252"] = [1100] let s:lib.Codec.decoding_table["253"] = [1101] let s:lib.Codec.decoding_table["254"] = [1102] let s:lib.Codec.decoding_table["255"] = [1103] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["1026"] = [128] let s:lib.Codec.encoding_table["1027"] = [129] let s:lib.Codec.encoding_table["8218"] = [130] let s:lib.Codec.encoding_table["1107"] = [131] let s:lib.Codec.encoding_table["8222"] = [132] let s:lib.Codec.encoding_table["8230"] = [133] let s:lib.Codec.encoding_table["8224"] = [134] let s:lib.Codec.encoding_table["8225"] = [135] let s:lib.Codec.encoding_table["8364"] = [136] let s:lib.Codec.encoding_table["8240"] = [137] let s:lib.Codec.encoding_table["1033"] = [138] let s:lib.Codec.encoding_table["8249"] = [139] let s:lib.Codec.encoding_table["1034"] = [140] let s:lib.Codec.encoding_table["1036"] = [141] let s:lib.Codec.encoding_table["1035"] = [142] let s:lib.Codec.encoding_table["1039"] = [143] let s:lib.Codec.encoding_table["1106"] = [144] let s:lib.Codec.encoding_table["8216"] = [145] let s:lib.Codec.encoding_table["8217"] = [146] let s:lib.Codec.encoding_table["8220"] = [147] let s:lib.Codec.encoding_table["8221"] = [148] let s:lib.Codec.encoding_table["8226"] = [149] let s:lib.Codec.encoding_table["8211"] = [150] let s:lib.Codec.encoding_table["8212"] = [151] let s:lib.Codec.encoding_table["8482"] = [153] let s:lib.Codec.encoding_table["1113"] = [154] let s:lib.Codec.encoding_table["8250"] = [155] let s:lib.Codec.encoding_table["1114"] = [156] let s:lib.Codec.encoding_table["1116"] = [157] let s:lib.Codec.encoding_table["1115"] = [158] let s:lib.Codec.encoding_table["1119"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["1038"] = [161] let s:lib.Codec.encoding_table["1118"] = [162] let s:lib.Codec.encoding_table["1032"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["1168"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["1025"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["1028"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["1031"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["1030"] = [178] let s:lib.Codec.encoding_table["1110"] = [179] let s:lib.Codec.encoding_table["1169"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["1105"] = [184] let s:lib.Codec.encoding_table["8470"] = [185] let s:lib.Codec.encoding_table["1108"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["1112"] = [188] let s:lib.Codec.encoding_table["1029"] = [189] let s:lib.Codec.encoding_table["1109"] = [190] let s:lib.Codec.encoding_table["1111"] = [191] let s:lib.Codec.encoding_table["1040"] = [192] let s:lib.Codec.encoding_table["1041"] = [193] let s:lib.Codec.encoding_table["1042"] = [194] let s:lib.Codec.encoding_table["1043"] = [195] let s:lib.Codec.encoding_table["1044"] = [196] let s:lib.Codec.encoding_table["1045"] = [197] let s:lib.Codec.encoding_table["1046"] = [198] let s:lib.Codec.encoding_table["1047"] = [199] let s:lib.Codec.encoding_table["1048"] = [200] let s:lib.Codec.encoding_table["1049"] = [201] let s:lib.Codec.encoding_table["1050"] = [202] let s:lib.Codec.encoding_table["1051"] = [203] let s:lib.Codec.encoding_table["1052"] = [204] let s:lib.Codec.encoding_table["1053"] = [205] let s:lib.Codec.encoding_table["1054"] = [206] let s:lib.Codec.encoding_table["1055"] = [207] let s:lib.Codec.encoding_table["1056"] = [208] let s:lib.Codec.encoding_table["1057"] = [209] let s:lib.Codec.encoding_table["1058"] = [210] let s:lib.Codec.encoding_table["1059"] = [211] let s:lib.Codec.encoding_table["1060"] = [212] let s:lib.Codec.encoding_table["1061"] = [213] let s:lib.Codec.encoding_table["1062"] = [214] let s:lib.Codec.encoding_table["1063"] = [215] let s:lib.Codec.encoding_table["1064"] = [216] let s:lib.Codec.encoding_table["1065"] = [217] let s:lib.Codec.encoding_table["1066"] = [218] let s:lib.Codec.encoding_table["1067"] = [219] let s:lib.Codec.encoding_table["1068"] = [220] let s:lib.Codec.encoding_table["1069"] = [221] let s:lib.Codec.encoding_table["1070"] = [222] let s:lib.Codec.encoding_table["1071"] = [223] let s:lib.Codec.encoding_table["1072"] = [224] let s:lib.Codec.encoding_table["1073"] = [225] let s:lib.Codec.encoding_table["1074"] = [226] let s:lib.Codec.encoding_table["1075"] = [227] let s:lib.Codec.encoding_table["1076"] = [228] let s:lib.Codec.encoding_table["1077"] = [229] let s:lib.Codec.encoding_table["1078"] = [230] let s:lib.Codec.encoding_table["1079"] = [231] let s:lib.Codec.encoding_table["1080"] = [232] let s:lib.Codec.encoding_table["1081"] = [233] let s:lib.Codec.encoding_table["1082"] = [234] let s:lib.Codec.encoding_table["1083"] = [235] let s:lib.Codec.encoding_table["1084"] = [236] let s:lib.Codec.encoding_table["1085"] = [237] let s:lib.Codec.encoding_table["1086"] = [238] let s:lib.Codec.encoding_table["1087"] = [239] let s:lib.Codec.encoding_table["1088"] = [240] let s:lib.Codec.encoding_table["1089"] = [241] let s:lib.Codec.encoding_table["1090"] = [242] let s:lib.Codec.encoding_table["1091"] = [243] let s:lib.Codec.encoding_table["1092"] = [244] let s:lib.Codec.encoding_table["1093"] = [245] let s:lib.Codec.encoding_table["1094"] = [246] let s:lib.Codec.encoding_table["1095"] = [247] let s:lib.Codec.encoding_table["1096"] = [248] let s:lib.Codec.encoding_table["1097"] = [249] let s:lib.Codec.encoding_table["1098"] = [250] let s:lib.Codec.encoding_table["1099"] = [251] let s:lib.Codec.encoding_table["1100"] = [252] let s:lib.Codec.encoding_table["1101"] = [253] let s:lib.Codec.encoding_table["1102"] = [254] let s:lib.Codec.encoding_table["1103"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1252.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1252#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP1252" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [8364] let s:lib.Codec.decoding_table["130"] = [8218] let s:lib.Codec.decoding_table["131"] = [402] let s:lib.Codec.decoding_table["132"] = [8222] let s:lib.Codec.decoding_table["133"] = [8230] let s:lib.Codec.decoding_table["134"] = [8224] let s:lib.Codec.decoding_table["135"] = [8225] let s:lib.Codec.decoding_table["136"] = [710] let s:lib.Codec.decoding_table["137"] = [8240] let s:lib.Codec.decoding_table["138"] = [352] let s:lib.Codec.decoding_table["139"] = [8249] let s:lib.Codec.decoding_table["140"] = [338] let s:lib.Codec.decoding_table["142"] = [381] let s:lib.Codec.decoding_table["145"] = [8216] let s:lib.Codec.decoding_table["146"] = [8217] let s:lib.Codec.decoding_table["147"] = [8220] let s:lib.Codec.decoding_table["148"] = [8221] let s:lib.Codec.decoding_table["149"] = [8226] let s:lib.Codec.decoding_table["150"] = [8211] let s:lib.Codec.decoding_table["151"] = [8212] let s:lib.Codec.decoding_table["152"] = [732] let s:lib.Codec.decoding_table["153"] = [8482] let s:lib.Codec.decoding_table["154"] = [353] let s:lib.Codec.decoding_table["155"] = [8250] let s:lib.Codec.decoding_table["156"] = [339] let s:lib.Codec.decoding_table["158"] = [382] let s:lib.Codec.decoding_table["159"] = [376] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [161] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [170] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [186] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [188] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [190] let s:lib.Codec.decoding_table["191"] = [191] let s:lib.Codec.decoding_table["192"] = [192] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [195] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [200] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [202] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [204] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["208"] = [208] let s:lib.Codec.decoding_table["209"] = [209] let s:lib.Codec.decoding_table["210"] = [210] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [216] let s:lib.Codec.decoding_table["217"] = [217] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [221] let s:lib.Codec.decoding_table["222"] = [222] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [227] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [240] let s:lib.Codec.decoding_table["241"] = [241] let s:lib.Codec.decoding_table["242"] = [242] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [248] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [253] let s:lib.Codec.decoding_table["254"] = [254] let s:lib.Codec.decoding_table["255"] = [255] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["8364"] = [128] let s:lib.Codec.encoding_table["8218"] = [130] let s:lib.Codec.encoding_table["402"] = [131] let s:lib.Codec.encoding_table["8222"] = [132] let s:lib.Codec.encoding_table["8230"] = [133] let s:lib.Codec.encoding_table["8224"] = [134] let s:lib.Codec.encoding_table["8225"] = [135] let s:lib.Codec.encoding_table["710"] = [136] let s:lib.Codec.encoding_table["8240"] = [137] let s:lib.Codec.encoding_table["352"] = [138] let s:lib.Codec.encoding_table["8249"] = [139] let s:lib.Codec.encoding_table["338"] = [140] let s:lib.Codec.encoding_table["381"] = [142] let s:lib.Codec.encoding_table["8216"] = [145] let s:lib.Codec.encoding_table["8217"] = [146] let s:lib.Codec.encoding_table["8220"] = [147] let s:lib.Codec.encoding_table["8221"] = [148] let s:lib.Codec.encoding_table["8226"] = [149] let s:lib.Codec.encoding_table["8211"] = [150] let s:lib.Codec.encoding_table["8212"] = [151] let s:lib.Codec.encoding_table["732"] = [152] let s:lib.Codec.encoding_table["8482"] = [153] let s:lib.Codec.encoding_table["353"] = [154] let s:lib.Codec.encoding_table["8250"] = [155] let s:lib.Codec.encoding_table["339"] = [156] let s:lib.Codec.encoding_table["382"] = [158] let s:lib.Codec.encoding_table["376"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["161"] = [161] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["170"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["186"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["188"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["190"] = [190] let s:lib.Codec.encoding_table["191"] = [191] let s:lib.Codec.encoding_table["192"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["195"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["200"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["202"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["204"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["208"] = [208] let s:lib.Codec.encoding_table["209"] = [209] let s:lib.Codec.encoding_table["210"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["216"] = [216] let s:lib.Codec.encoding_table["217"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["221"] = [221] let s:lib.Codec.encoding_table["222"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["227"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["240"] = [240] let s:lib.Codec.encoding_table["241"] = [241] let s:lib.Codec.encoding_table["242"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["248"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["253"] = [253] let s:lib.Codec.encoding_table["254"] = [254] let s:lib.Codec.encoding_table["255"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1253.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1253#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP1253" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [8364] let s:lib.Codec.decoding_table["130"] = [8218] let s:lib.Codec.decoding_table["131"] = [402] let s:lib.Codec.decoding_table["132"] = [8222] let s:lib.Codec.decoding_table["133"] = [8230] let s:lib.Codec.decoding_table["134"] = [8224] let s:lib.Codec.decoding_table["135"] = [8225] let s:lib.Codec.decoding_table["137"] = [8240] let s:lib.Codec.decoding_table["139"] = [8249] let s:lib.Codec.decoding_table["145"] = [8216] let s:lib.Codec.decoding_table["146"] = [8217] let s:lib.Codec.decoding_table["147"] = [8220] let s:lib.Codec.decoding_table["148"] = [8221] let s:lib.Codec.decoding_table["149"] = [8226] let s:lib.Codec.decoding_table["150"] = [8211] let s:lib.Codec.decoding_table["151"] = [8212] let s:lib.Codec.decoding_table["153"] = [8482] let s:lib.Codec.decoding_table["155"] = [8250] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [901] let s:lib.Codec.decoding_table["162"] = [902] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [8213] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [900] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [904] let s:lib.Codec.decoding_table["185"] = [905] let s:lib.Codec.decoding_table["186"] = [906] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [908] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [910] let s:lib.Codec.decoding_table["191"] = [911] let s:lib.Codec.decoding_table["192"] = [912] let s:lib.Codec.decoding_table["193"] = [913] let s:lib.Codec.decoding_table["194"] = [914] let s:lib.Codec.decoding_table["195"] = [915] let s:lib.Codec.decoding_table["196"] = [916] let s:lib.Codec.decoding_table["197"] = [917] let s:lib.Codec.decoding_table["198"] = [918] let s:lib.Codec.decoding_table["199"] = [919] let s:lib.Codec.decoding_table["200"] = [920] let s:lib.Codec.decoding_table["201"] = [921] let s:lib.Codec.decoding_table["202"] = [922] let s:lib.Codec.decoding_table["203"] = [923] let s:lib.Codec.decoding_table["204"] = [924] let s:lib.Codec.decoding_table["205"] = [925] let s:lib.Codec.decoding_table["206"] = [926] let s:lib.Codec.decoding_table["207"] = [927] let s:lib.Codec.decoding_table["208"] = [928] let s:lib.Codec.decoding_table["209"] = [929] let s:lib.Codec.decoding_table["211"] = [931] let s:lib.Codec.decoding_table["212"] = [932] let s:lib.Codec.decoding_table["213"] = [933] let s:lib.Codec.decoding_table["214"] = [934] let s:lib.Codec.decoding_table["215"] = [935] let s:lib.Codec.decoding_table["216"] = [936] let s:lib.Codec.decoding_table["217"] = [937] let s:lib.Codec.decoding_table["218"] = [938] let s:lib.Codec.decoding_table["219"] = [939] let s:lib.Codec.decoding_table["220"] = [940] let s:lib.Codec.decoding_table["221"] = [941] let s:lib.Codec.decoding_table["222"] = [942] let s:lib.Codec.decoding_table["223"] = [943] let s:lib.Codec.decoding_table["224"] = [944] let s:lib.Codec.decoding_table["225"] = [945] let s:lib.Codec.decoding_table["226"] = [946] let s:lib.Codec.decoding_table["227"] = [947] let s:lib.Codec.decoding_table["228"] = [948] let s:lib.Codec.decoding_table["229"] = [949] let s:lib.Codec.decoding_table["230"] = [950] let s:lib.Codec.decoding_table["231"] = [951] let s:lib.Codec.decoding_table["232"] = [952] let s:lib.Codec.decoding_table["233"] = [953] let s:lib.Codec.decoding_table["234"] = [954] let s:lib.Codec.decoding_table["235"] = [955] let s:lib.Codec.decoding_table["236"] = [956] let s:lib.Codec.decoding_table["237"] = [957] let s:lib.Codec.decoding_table["238"] = [958] let s:lib.Codec.decoding_table["239"] = [959] let s:lib.Codec.decoding_table["240"] = [960] let s:lib.Codec.decoding_table["241"] = [961] let s:lib.Codec.decoding_table["242"] = [962] let s:lib.Codec.decoding_table["243"] = [963] let s:lib.Codec.decoding_table["244"] = [964] let s:lib.Codec.decoding_table["245"] = [965] let s:lib.Codec.decoding_table["246"] = [966] let s:lib.Codec.decoding_table["247"] = [967] let s:lib.Codec.decoding_table["248"] = [968] let s:lib.Codec.decoding_table["249"] = [969] let s:lib.Codec.decoding_table["250"] = [970] let s:lib.Codec.decoding_table["251"] = [971] let s:lib.Codec.decoding_table["252"] = [972] let s:lib.Codec.decoding_table["253"] = [973] let s:lib.Codec.decoding_table["254"] = [974] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["8364"] = [128] let s:lib.Codec.encoding_table["8218"] = [130] let s:lib.Codec.encoding_table["402"] = [131] let s:lib.Codec.encoding_table["8222"] = [132] let s:lib.Codec.encoding_table["8230"] = [133] let s:lib.Codec.encoding_table["8224"] = [134] let s:lib.Codec.encoding_table["8225"] = [135] let s:lib.Codec.encoding_table["8240"] = [137] let s:lib.Codec.encoding_table["8249"] = [139] let s:lib.Codec.encoding_table["8216"] = [145] let s:lib.Codec.encoding_table["8217"] = [146] let s:lib.Codec.encoding_table["8220"] = [147] let s:lib.Codec.encoding_table["8221"] = [148] let s:lib.Codec.encoding_table["8226"] = [149] let s:lib.Codec.encoding_table["8211"] = [150] let s:lib.Codec.encoding_table["8212"] = [151] let s:lib.Codec.encoding_table["8482"] = [153] let s:lib.Codec.encoding_table["8250"] = [155] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["901"] = [161] let s:lib.Codec.encoding_table["902"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["8213"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["900"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["904"] = [184] let s:lib.Codec.encoding_table["905"] = [185] let s:lib.Codec.encoding_table["906"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["908"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["910"] = [190] let s:lib.Codec.encoding_table["911"] = [191] let s:lib.Codec.encoding_table["912"] = [192] let s:lib.Codec.encoding_table["913"] = [193] let s:lib.Codec.encoding_table["914"] = [194] let s:lib.Codec.encoding_table["915"] = [195] let s:lib.Codec.encoding_table["916"] = [196] let s:lib.Codec.encoding_table["917"] = [197] let s:lib.Codec.encoding_table["918"] = [198] let s:lib.Codec.encoding_table["919"] = [199] let s:lib.Codec.encoding_table["920"] = [200] let s:lib.Codec.encoding_table["921"] = [201] let s:lib.Codec.encoding_table["922"] = [202] let s:lib.Codec.encoding_table["923"] = [203] let s:lib.Codec.encoding_table["924"] = [204] let s:lib.Codec.encoding_table["925"] = [205] let s:lib.Codec.encoding_table["926"] = [206] let s:lib.Codec.encoding_table["927"] = [207] let s:lib.Codec.encoding_table["928"] = [208] let s:lib.Codec.encoding_table["929"] = [209] let s:lib.Codec.encoding_table["931"] = [211] let s:lib.Codec.encoding_table["932"] = [212] let s:lib.Codec.encoding_table["933"] = [213] let s:lib.Codec.encoding_table["934"] = [214] let s:lib.Codec.encoding_table["935"] = [215] let s:lib.Codec.encoding_table["936"] = [216] let s:lib.Codec.encoding_table["937"] = [217] let s:lib.Codec.encoding_table["938"] = [218] let s:lib.Codec.encoding_table["939"] = [219] let s:lib.Codec.encoding_table["940"] = [220] let s:lib.Codec.encoding_table["941"] = [221] let s:lib.Codec.encoding_table["942"] = [222] let s:lib.Codec.encoding_table["943"] = [223] let s:lib.Codec.encoding_table["944"] = [224] let s:lib.Codec.encoding_table["945"] = [225] let s:lib.Codec.encoding_table["946"] = [226] let s:lib.Codec.encoding_table["947"] = [227] let s:lib.Codec.encoding_table["948"] = [228] let s:lib.Codec.encoding_table["949"] = [229] let s:lib.Codec.encoding_table["950"] = [230] let s:lib.Codec.encoding_table["951"] = [231] let s:lib.Codec.encoding_table["952"] = [232] let s:lib.Codec.encoding_table["953"] = [233] let s:lib.Codec.encoding_table["954"] = [234] let s:lib.Codec.encoding_table["955"] = [235] let s:lib.Codec.encoding_table["956"] = [236] let s:lib.Codec.encoding_table["957"] = [237] let s:lib.Codec.encoding_table["958"] = [238] let s:lib.Codec.encoding_table["959"] = [239] let s:lib.Codec.encoding_table["960"] = [240] let s:lib.Codec.encoding_table["961"] = [241] let s:lib.Codec.encoding_table["962"] = [242] let s:lib.Codec.encoding_table["963"] = [243] let s:lib.Codec.encoding_table["964"] = [244] let s:lib.Codec.encoding_table["965"] = [245] let s:lib.Codec.encoding_table["966"] = [246] let s:lib.Codec.encoding_table["967"] = [247] let s:lib.Codec.encoding_table["968"] = [248] let s:lib.Codec.encoding_table["969"] = [249] let s:lib.Codec.encoding_table["970"] = [250] let s:lib.Codec.encoding_table["971"] = [251] let s:lib.Codec.encoding_table["972"] = [252] let s:lib.Codec.encoding_table["973"] = [253] let s:lib.Codec.encoding_table["974"] = [254] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1254.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1254#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP1254" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [8364] let s:lib.Codec.decoding_table["130"] = [8218] let s:lib.Codec.decoding_table["131"] = [402] let s:lib.Codec.decoding_table["132"] = [8222] let s:lib.Codec.decoding_table["133"] = [8230] let s:lib.Codec.decoding_table["134"] = [8224] let s:lib.Codec.decoding_table["135"] = [8225] let s:lib.Codec.decoding_table["136"] = [710] let s:lib.Codec.decoding_table["137"] = [8240] let s:lib.Codec.decoding_table["138"] = [352] let s:lib.Codec.decoding_table["139"] = [8249] let s:lib.Codec.decoding_table["140"] = [338] let s:lib.Codec.decoding_table["145"] = [8216] let s:lib.Codec.decoding_table["146"] = [8217] let s:lib.Codec.decoding_table["147"] = [8220] let s:lib.Codec.decoding_table["148"] = [8221] let s:lib.Codec.decoding_table["149"] = [8226] let s:lib.Codec.decoding_table["150"] = [8211] let s:lib.Codec.decoding_table["151"] = [8212] let s:lib.Codec.decoding_table["152"] = [732] let s:lib.Codec.decoding_table["153"] = [8482] let s:lib.Codec.decoding_table["154"] = [353] let s:lib.Codec.decoding_table["155"] = [8250] let s:lib.Codec.decoding_table["156"] = [339] let s:lib.Codec.decoding_table["159"] = [376] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [161] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [170] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [186] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [188] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [190] let s:lib.Codec.decoding_table["191"] = [191] let s:lib.Codec.decoding_table["192"] = [192] let s:lib.Codec.decoding_table["193"] = [193] let s:lib.Codec.decoding_table["194"] = [194] let s:lib.Codec.decoding_table["195"] = [195] let s:lib.Codec.decoding_table["196"] = [196] let s:lib.Codec.decoding_table["197"] = [197] let s:lib.Codec.decoding_table["198"] = [198] let s:lib.Codec.decoding_table["199"] = [199] let s:lib.Codec.decoding_table["200"] = [200] let s:lib.Codec.decoding_table["201"] = [201] let s:lib.Codec.decoding_table["202"] = [202] let s:lib.Codec.decoding_table["203"] = [203] let s:lib.Codec.decoding_table["204"] = [204] let s:lib.Codec.decoding_table["205"] = [205] let s:lib.Codec.decoding_table["206"] = [206] let s:lib.Codec.decoding_table["207"] = [207] let s:lib.Codec.decoding_table["208"] = [286] let s:lib.Codec.decoding_table["209"] = [209] let s:lib.Codec.decoding_table["210"] = [210] let s:lib.Codec.decoding_table["211"] = [211] let s:lib.Codec.decoding_table["212"] = [212] let s:lib.Codec.decoding_table["213"] = [213] let s:lib.Codec.decoding_table["214"] = [214] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [216] let s:lib.Codec.decoding_table["217"] = [217] let s:lib.Codec.decoding_table["218"] = [218] let s:lib.Codec.decoding_table["219"] = [219] let s:lib.Codec.decoding_table["220"] = [220] let s:lib.Codec.decoding_table["221"] = [304] let s:lib.Codec.decoding_table["222"] = [350] let s:lib.Codec.decoding_table["223"] = [223] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [225] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [227] let s:lib.Codec.decoding_table["228"] = [228] let s:lib.Codec.decoding_table["229"] = [229] let s:lib.Codec.decoding_table["230"] = [230] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [237] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [287] let s:lib.Codec.decoding_table["241"] = [241] let s:lib.Codec.decoding_table["242"] = [242] let s:lib.Codec.decoding_table["243"] = [243] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [245] let s:lib.Codec.decoding_table["246"] = [246] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [248] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [250] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [305] let s:lib.Codec.decoding_table["254"] = [351] let s:lib.Codec.decoding_table["255"] = [255] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["8364"] = [128] let s:lib.Codec.encoding_table["8218"] = [130] let s:lib.Codec.encoding_table["402"] = [131] let s:lib.Codec.encoding_table["8222"] = [132] let s:lib.Codec.encoding_table["8230"] = [133] let s:lib.Codec.encoding_table["8224"] = [134] let s:lib.Codec.encoding_table["8225"] = [135] let s:lib.Codec.encoding_table["710"] = [136] let s:lib.Codec.encoding_table["8240"] = [137] let s:lib.Codec.encoding_table["352"] = [138] let s:lib.Codec.encoding_table["8249"] = [139] let s:lib.Codec.encoding_table["338"] = [140] let s:lib.Codec.encoding_table["8216"] = [145] let s:lib.Codec.encoding_table["8217"] = [146] let s:lib.Codec.encoding_table["8220"] = [147] let s:lib.Codec.encoding_table["8221"] = [148] let s:lib.Codec.encoding_table["8226"] = [149] let s:lib.Codec.encoding_table["8211"] = [150] let s:lib.Codec.encoding_table["8212"] = [151] let s:lib.Codec.encoding_table["732"] = [152] let s:lib.Codec.encoding_table["8482"] = [153] let s:lib.Codec.encoding_table["353"] = [154] let s:lib.Codec.encoding_table["8250"] = [155] let s:lib.Codec.encoding_table["339"] = [156] let s:lib.Codec.encoding_table["376"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["161"] = [161] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["170"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["186"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["188"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["190"] = [190] let s:lib.Codec.encoding_table["191"] = [191] let s:lib.Codec.encoding_table["192"] = [192] let s:lib.Codec.encoding_table["193"] = [193] let s:lib.Codec.encoding_table["194"] = [194] let s:lib.Codec.encoding_table["195"] = [195] let s:lib.Codec.encoding_table["196"] = [196] let s:lib.Codec.encoding_table["197"] = [197] let s:lib.Codec.encoding_table["198"] = [198] let s:lib.Codec.encoding_table["199"] = [199] let s:lib.Codec.encoding_table["200"] = [200] let s:lib.Codec.encoding_table["201"] = [201] let s:lib.Codec.encoding_table["202"] = [202] let s:lib.Codec.encoding_table["203"] = [203] let s:lib.Codec.encoding_table["204"] = [204] let s:lib.Codec.encoding_table["205"] = [205] let s:lib.Codec.encoding_table["206"] = [206] let s:lib.Codec.encoding_table["207"] = [207] let s:lib.Codec.encoding_table["286"] = [208] let s:lib.Codec.encoding_table["209"] = [209] let s:lib.Codec.encoding_table["210"] = [210] let s:lib.Codec.encoding_table["211"] = [211] let s:lib.Codec.encoding_table["212"] = [212] let s:lib.Codec.encoding_table["213"] = [213] let s:lib.Codec.encoding_table["214"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["216"] = [216] let s:lib.Codec.encoding_table["217"] = [217] let s:lib.Codec.encoding_table["218"] = [218] let s:lib.Codec.encoding_table["219"] = [219] let s:lib.Codec.encoding_table["220"] = [220] let s:lib.Codec.encoding_table["304"] = [221] let s:lib.Codec.encoding_table["350"] = [222] let s:lib.Codec.encoding_table["223"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["225"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["227"] = [227] let s:lib.Codec.encoding_table["228"] = [228] let s:lib.Codec.encoding_table["229"] = [229] let s:lib.Codec.encoding_table["230"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["237"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["287"] = [240] let s:lib.Codec.encoding_table["241"] = [241] let s:lib.Codec.encoding_table["242"] = [242] let s:lib.Codec.encoding_table["243"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["245"] = [245] let s:lib.Codec.encoding_table["246"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["248"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["250"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["305"] = [253] let s:lib.Codec.encoding_table["351"] = [254] let s:lib.Codec.encoding_table["255"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1255.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1255#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP1255" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [8364] let s:lib.Codec.decoding_table["130"] = [8218] let s:lib.Codec.decoding_table["131"] = [402] let s:lib.Codec.decoding_table["132"] = [8222] let s:lib.Codec.decoding_table["133"] = [8230] let s:lib.Codec.decoding_table["134"] = [8224] let s:lib.Codec.decoding_table["135"] = [8225] let s:lib.Codec.decoding_table["136"] = [710] let s:lib.Codec.decoding_table["137"] = [8240] let s:lib.Codec.decoding_table["139"] = [8249] let s:lib.Codec.decoding_table["145"] = [8216] let s:lib.Codec.decoding_table["146"] = [8217] let s:lib.Codec.decoding_table["147"] = [8220] let s:lib.Codec.decoding_table["148"] = [8221] let s:lib.Codec.decoding_table["149"] = [8226] let s:lib.Codec.decoding_table["150"] = [8211] let s:lib.Codec.decoding_table["151"] = [8212] let s:lib.Codec.decoding_table["152"] = [732] let s:lib.Codec.decoding_table["153"] = [8482] let s:lib.Codec.decoding_table["155"] = [8250] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [161] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [8362] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [215] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [247] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [188] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [190] let s:lib.Codec.decoding_table["191"] = [191] let s:lib.Codec.decoding_table["192"] = [1456] let s:lib.Codec.decoding_table["193"] = [1457] let s:lib.Codec.decoding_table["194"] = [1458] let s:lib.Codec.decoding_table["195"] = [1459] let s:lib.Codec.decoding_table["196"] = [1460] let s:lib.Codec.decoding_table["197"] = [1461] let s:lib.Codec.decoding_table["198"] = [1462] let s:lib.Codec.decoding_table["199"] = [1463] let s:lib.Codec.decoding_table["200"] = [1464] let s:lib.Codec.decoding_table["201"] = [1465] let s:lib.Codec.decoding_table["203"] = [1467] let s:lib.Codec.decoding_table["204"] = [1468] let s:lib.Codec.decoding_table["205"] = [1469] let s:lib.Codec.decoding_table["206"] = [1470] let s:lib.Codec.decoding_table["207"] = [1471] let s:lib.Codec.decoding_table["208"] = [1472] let s:lib.Codec.decoding_table["209"] = [1473] let s:lib.Codec.decoding_table["210"] = [1474] let s:lib.Codec.decoding_table["211"] = [1475] let s:lib.Codec.decoding_table["212"] = [1520] let s:lib.Codec.decoding_table["213"] = [1521] let s:lib.Codec.decoding_table["214"] = [1522] let s:lib.Codec.decoding_table["215"] = [1523] let s:lib.Codec.decoding_table["216"] = [1524] let s:lib.Codec.decoding_table["224"] = [1488] let s:lib.Codec.decoding_table["225"] = [1489] let s:lib.Codec.decoding_table["226"] = [1490] let s:lib.Codec.decoding_table["227"] = [1491] let s:lib.Codec.decoding_table["228"] = [1492] let s:lib.Codec.decoding_table["229"] = [1493] let s:lib.Codec.decoding_table["230"] = [1494] let s:lib.Codec.decoding_table["231"] = [1495] let s:lib.Codec.decoding_table["232"] = [1496] let s:lib.Codec.decoding_table["233"] = [1497] let s:lib.Codec.decoding_table["234"] = [1498] let s:lib.Codec.decoding_table["235"] = [1499] let s:lib.Codec.decoding_table["236"] = [1500] let s:lib.Codec.decoding_table["237"] = [1501] let s:lib.Codec.decoding_table["238"] = [1502] let s:lib.Codec.decoding_table["239"] = [1503] let s:lib.Codec.decoding_table["240"] = [1504] let s:lib.Codec.decoding_table["241"] = [1505] let s:lib.Codec.decoding_table["242"] = [1506] let s:lib.Codec.decoding_table["243"] = [1507] let s:lib.Codec.decoding_table["244"] = [1508] let s:lib.Codec.decoding_table["245"] = [1509] let s:lib.Codec.decoding_table["246"] = [1510] let s:lib.Codec.decoding_table["247"] = [1511] let s:lib.Codec.decoding_table["248"] = [1512] let s:lib.Codec.decoding_table["249"] = [1513] let s:lib.Codec.decoding_table["250"] = [1514] let s:lib.Codec.decoding_table["253"] = [8206] let s:lib.Codec.decoding_table["254"] = [8207] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["8364"] = [128] let s:lib.Codec.encoding_table["8218"] = [130] let s:lib.Codec.encoding_table["402"] = [131] let s:lib.Codec.encoding_table["8222"] = [132] let s:lib.Codec.encoding_table["8230"] = [133] let s:lib.Codec.encoding_table["8224"] = [134] let s:lib.Codec.encoding_table["8225"] = [135] let s:lib.Codec.encoding_table["710"] = [136] let s:lib.Codec.encoding_table["8240"] = [137] let s:lib.Codec.encoding_table["8249"] = [139] let s:lib.Codec.encoding_table["8216"] = [145] let s:lib.Codec.encoding_table["8217"] = [146] let s:lib.Codec.encoding_table["8220"] = [147] let s:lib.Codec.encoding_table["8221"] = [148] let s:lib.Codec.encoding_table["8226"] = [149] let s:lib.Codec.encoding_table["8211"] = [150] let s:lib.Codec.encoding_table["8212"] = [151] let s:lib.Codec.encoding_table["732"] = [152] let s:lib.Codec.encoding_table["8482"] = [153] let s:lib.Codec.encoding_table["8250"] = [155] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["161"] = [161] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["8362"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["215"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["247"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["188"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["190"] = [190] let s:lib.Codec.encoding_table["191"] = [191] let s:lib.Codec.encoding_table["1456"] = [192] let s:lib.Codec.encoding_table["1457"] = [193] let s:lib.Codec.encoding_table["1458"] = [194] let s:lib.Codec.encoding_table["1459"] = [195] let s:lib.Codec.encoding_table["1460"] = [196] let s:lib.Codec.encoding_table["1461"] = [197] let s:lib.Codec.encoding_table["1462"] = [198] let s:lib.Codec.encoding_table["1463"] = [199] let s:lib.Codec.encoding_table["1464"] = [200] let s:lib.Codec.encoding_table["1465"] = [201] let s:lib.Codec.encoding_table["1467"] = [203] let s:lib.Codec.encoding_table["1468"] = [204] let s:lib.Codec.encoding_table["1469"] = [205] let s:lib.Codec.encoding_table["1470"] = [206] let s:lib.Codec.encoding_table["1471"] = [207] let s:lib.Codec.encoding_table["1472"] = [208] let s:lib.Codec.encoding_table["1473"] = [209] let s:lib.Codec.encoding_table["1474"] = [210] let s:lib.Codec.encoding_table["1475"] = [211] let s:lib.Codec.encoding_table["1520"] = [212] let s:lib.Codec.encoding_table["1521"] = [213] let s:lib.Codec.encoding_table["1522"] = [214] let s:lib.Codec.encoding_table["1523"] = [215] let s:lib.Codec.encoding_table["1524"] = [216] let s:lib.Codec.encoding_table["1488"] = [224] let s:lib.Codec.encoding_table["1489"] = [225] let s:lib.Codec.encoding_table["1490"] = [226] let s:lib.Codec.encoding_table["1491"] = [227] let s:lib.Codec.encoding_table["1492"] = [228] let s:lib.Codec.encoding_table["1493"] = [229] let s:lib.Codec.encoding_table["1494"] = [230] let s:lib.Codec.encoding_table["1495"] = [231] let s:lib.Codec.encoding_table["1496"] = [232] let s:lib.Codec.encoding_table["1497"] = [233] let s:lib.Codec.encoding_table["1498"] = [234] let s:lib.Codec.encoding_table["1499"] = [235] let s:lib.Codec.encoding_table["1500"] = [236] let s:lib.Codec.encoding_table["1501"] = [237] let s:lib.Codec.encoding_table["1502"] = [238] let s:lib.Codec.encoding_table["1503"] = [239] let s:lib.Codec.encoding_table["1504"] = [240] let s:lib.Codec.encoding_table["1505"] = [241] let s:lib.Codec.encoding_table["1506"] = [242] let s:lib.Codec.encoding_table["1507"] = [243] let s:lib.Codec.encoding_table["1508"] = [244] let s:lib.Codec.encoding_table["1509"] = [245] let s:lib.Codec.encoding_table["1510"] = [246] let s:lib.Codec.encoding_table["1511"] = [247] let s:lib.Codec.encoding_table["1512"] = [248] let s:lib.Codec.encoding_table["1513"] = [249] let s:lib.Codec.encoding_table["1514"] = [250] let s:lib.Codec.encoding_table["8206"] = [253] let s:lib.Codec.encoding_table["8207"] = [254] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1256.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1256#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP1256" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [8364] let s:lib.Codec.decoding_table["129"] = [1662] let s:lib.Codec.decoding_table["130"] = [8218] let s:lib.Codec.decoding_table["131"] = [402] let s:lib.Codec.decoding_table["132"] = [8222] let s:lib.Codec.decoding_table["133"] = [8230] let s:lib.Codec.decoding_table["134"] = [8224] let s:lib.Codec.decoding_table["135"] = [8225] let s:lib.Codec.decoding_table["136"] = [710] let s:lib.Codec.decoding_table["137"] = [8240] let s:lib.Codec.decoding_table["138"] = [1657] let s:lib.Codec.decoding_table["139"] = [8249] let s:lib.Codec.decoding_table["140"] = [338] let s:lib.Codec.decoding_table["141"] = [1670] let s:lib.Codec.decoding_table["142"] = [1688] let s:lib.Codec.decoding_table["143"] = [1672] let s:lib.Codec.decoding_table["144"] = [1711] let s:lib.Codec.decoding_table["145"] = [8216] let s:lib.Codec.decoding_table["146"] = [8217] let s:lib.Codec.decoding_table["147"] = [8220] let s:lib.Codec.decoding_table["148"] = [8221] let s:lib.Codec.decoding_table["149"] = [8226] let s:lib.Codec.decoding_table["150"] = [8211] let s:lib.Codec.decoding_table["151"] = [8212] let s:lib.Codec.decoding_table["152"] = [1705] let s:lib.Codec.decoding_table["153"] = [8482] let s:lib.Codec.decoding_table["154"] = [1681] let s:lib.Codec.decoding_table["155"] = [8250] let s:lib.Codec.decoding_table["156"] = [339] let s:lib.Codec.decoding_table["157"] = [8204] let s:lib.Codec.decoding_table["158"] = [8205] let s:lib.Codec.decoding_table["159"] = [1722] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [1548] let s:lib.Codec.decoding_table["162"] = [162] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [165] let s:lib.Codec.decoding_table["166"] = [166] let s:lib.Codec.decoding_table["167"] = [167] let s:lib.Codec.decoding_table["168"] = [168] let s:lib.Codec.decoding_table["169"] = [169] let s:lib.Codec.decoding_table["170"] = [1726] let s:lib.Codec.decoding_table["171"] = [171] let s:lib.Codec.decoding_table["172"] = [172] let s:lib.Codec.decoding_table["173"] = [173] let s:lib.Codec.decoding_table["174"] = [174] let s:lib.Codec.decoding_table["175"] = [175] let s:lib.Codec.decoding_table["176"] = [176] let s:lib.Codec.decoding_table["177"] = [177] let s:lib.Codec.decoding_table["178"] = [178] let s:lib.Codec.decoding_table["179"] = [179] let s:lib.Codec.decoding_table["180"] = [180] let s:lib.Codec.decoding_table["181"] = [181] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [183] let s:lib.Codec.decoding_table["184"] = [184] let s:lib.Codec.decoding_table["185"] = [185] let s:lib.Codec.decoding_table["186"] = [1563] let s:lib.Codec.decoding_table["187"] = [187] let s:lib.Codec.decoding_table["188"] = [188] let s:lib.Codec.decoding_table["189"] = [189] let s:lib.Codec.decoding_table["190"] = [190] let s:lib.Codec.decoding_table["191"] = [1567] let s:lib.Codec.decoding_table["192"] = [1729] let s:lib.Codec.decoding_table["193"] = [1569] let s:lib.Codec.decoding_table["194"] = [1570] let s:lib.Codec.decoding_table["195"] = [1571] let s:lib.Codec.decoding_table["196"] = [1572] let s:lib.Codec.decoding_table["197"] = [1573] let s:lib.Codec.decoding_table["198"] = [1574] let s:lib.Codec.decoding_table["199"] = [1575] let s:lib.Codec.decoding_table["200"] = [1576] let s:lib.Codec.decoding_table["201"] = [1577] let s:lib.Codec.decoding_table["202"] = [1578] let s:lib.Codec.decoding_table["203"] = [1579] let s:lib.Codec.decoding_table["204"] = [1580] let s:lib.Codec.decoding_table["205"] = [1581] let s:lib.Codec.decoding_table["206"] = [1582] let s:lib.Codec.decoding_table["207"] = [1583] let s:lib.Codec.decoding_table["208"] = [1584] let s:lib.Codec.decoding_table["209"] = [1585] let s:lib.Codec.decoding_table["210"] = [1586] let s:lib.Codec.decoding_table["211"] = [1587] let s:lib.Codec.decoding_table["212"] = [1588] let s:lib.Codec.decoding_table["213"] = [1589] let s:lib.Codec.decoding_table["214"] = [1590] let s:lib.Codec.decoding_table["215"] = [215] let s:lib.Codec.decoding_table["216"] = [1591] let s:lib.Codec.decoding_table["217"] = [1592] let s:lib.Codec.decoding_table["218"] = [1593] let s:lib.Codec.decoding_table["219"] = [1594] let s:lib.Codec.decoding_table["220"] = [1600] let s:lib.Codec.decoding_table["221"] = [1601] let s:lib.Codec.decoding_table["222"] = [1602] let s:lib.Codec.decoding_table["223"] = [1603] let s:lib.Codec.decoding_table["224"] = [224] let s:lib.Codec.decoding_table["225"] = [1604] let s:lib.Codec.decoding_table["226"] = [226] let s:lib.Codec.decoding_table["227"] = [1605] let s:lib.Codec.decoding_table["228"] = [1606] let s:lib.Codec.decoding_table["229"] = [1607] let s:lib.Codec.decoding_table["230"] = [1608] let s:lib.Codec.decoding_table["231"] = [231] let s:lib.Codec.decoding_table["232"] = [232] let s:lib.Codec.decoding_table["233"] = [233] let s:lib.Codec.decoding_table["234"] = [234] let s:lib.Codec.decoding_table["235"] = [235] let s:lib.Codec.decoding_table["236"] = [1609] let s:lib.Codec.decoding_table["237"] = [1610] let s:lib.Codec.decoding_table["238"] = [238] let s:lib.Codec.decoding_table["239"] = [239] let s:lib.Codec.decoding_table["240"] = [1611] let s:lib.Codec.decoding_table["241"] = [1612] let s:lib.Codec.decoding_table["242"] = [1613] let s:lib.Codec.decoding_table["243"] = [1614] let s:lib.Codec.decoding_table["244"] = [244] let s:lib.Codec.decoding_table["245"] = [1615] let s:lib.Codec.decoding_table["246"] = [1616] let s:lib.Codec.decoding_table["247"] = [247] let s:lib.Codec.decoding_table["248"] = [1617] let s:lib.Codec.decoding_table["249"] = [249] let s:lib.Codec.decoding_table["250"] = [1618] let s:lib.Codec.decoding_table["251"] = [251] let s:lib.Codec.decoding_table["252"] = [252] let s:lib.Codec.decoding_table["253"] = [8206] let s:lib.Codec.decoding_table["254"] = [8207] let s:lib.Codec.decoding_table["255"] = [1746] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["8364"] = [128] let s:lib.Codec.encoding_table["1662"] = [129] let s:lib.Codec.encoding_table["8218"] = [130] let s:lib.Codec.encoding_table["402"] = [131] let s:lib.Codec.encoding_table["8222"] = [132] let s:lib.Codec.encoding_table["8230"] = [133] let s:lib.Codec.encoding_table["8224"] = [134] let s:lib.Codec.encoding_table["8225"] = [135] let s:lib.Codec.encoding_table["710"] = [136] let s:lib.Codec.encoding_table["8240"] = [137] let s:lib.Codec.encoding_table["1657"] = [138] let s:lib.Codec.encoding_table["8249"] = [139] let s:lib.Codec.encoding_table["338"] = [140] let s:lib.Codec.encoding_table["1670"] = [141] let s:lib.Codec.encoding_table["1688"] = [142] let s:lib.Codec.encoding_table["1672"] = [143] let s:lib.Codec.encoding_table["1711"] = [144] let s:lib.Codec.encoding_table["8216"] = [145] let s:lib.Codec.encoding_table["8217"] = [146] let s:lib.Codec.encoding_table["8220"] = [147] let s:lib.Codec.encoding_table["8221"] = [148] let s:lib.Codec.encoding_table["8226"] = [149] let s:lib.Codec.encoding_table["8211"] = [150] let s:lib.Codec.encoding_table["8212"] = [151] let s:lib.Codec.encoding_table["1705"] = [152] let s:lib.Codec.encoding_table["8482"] = [153] let s:lib.Codec.encoding_table["1681"] = [154] let s:lib.Codec.encoding_table["8250"] = [155] let s:lib.Codec.encoding_table["339"] = [156] let s:lib.Codec.encoding_table["8204"] = [157] let s:lib.Codec.encoding_table["8205"] = [158] let s:lib.Codec.encoding_table["1722"] = [159] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["1548"] = [161] let s:lib.Codec.encoding_table["162"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["165"] = [165] let s:lib.Codec.encoding_table["166"] = [166] let s:lib.Codec.encoding_table["167"] = [167] let s:lib.Codec.encoding_table["168"] = [168] let s:lib.Codec.encoding_table["169"] = [169] let s:lib.Codec.encoding_table["1726"] = [170] let s:lib.Codec.encoding_table["171"] = [171] let s:lib.Codec.encoding_table["172"] = [172] let s:lib.Codec.encoding_table["173"] = [173] let s:lib.Codec.encoding_table["174"] = [174] let s:lib.Codec.encoding_table["175"] = [175] let s:lib.Codec.encoding_table["176"] = [176] let s:lib.Codec.encoding_table["177"] = [177] let s:lib.Codec.encoding_table["178"] = [178] let s:lib.Codec.encoding_table["179"] = [179] let s:lib.Codec.encoding_table["180"] = [180] let s:lib.Codec.encoding_table["181"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["183"] = [183] let s:lib.Codec.encoding_table["184"] = [184] let s:lib.Codec.encoding_table["185"] = [185] let s:lib.Codec.encoding_table["1563"] = [186] let s:lib.Codec.encoding_table["187"] = [187] let s:lib.Codec.encoding_table["188"] = [188] let s:lib.Codec.encoding_table["189"] = [189] let s:lib.Codec.encoding_table["190"] = [190] let s:lib.Codec.encoding_table["1567"] = [191] let s:lib.Codec.encoding_table["1729"] = [192] let s:lib.Codec.encoding_table["1569"] = [193] let s:lib.Codec.encoding_table["1570"] = [194] let s:lib.Codec.encoding_table["1571"] = [195] let s:lib.Codec.encoding_table["1572"] = [196] let s:lib.Codec.encoding_table["1573"] = [197] let s:lib.Codec.encoding_table["1574"] = [198] let s:lib.Codec.encoding_table["1575"] = [199] let s:lib.Codec.encoding_table["1576"] = [200] let s:lib.Codec.encoding_table["1577"] = [201] let s:lib.Codec.encoding_table["1578"] = [202] let s:lib.Codec.encoding_table["1579"] = [203] let s:lib.Codec.encoding_table["1580"] = [204] let s:lib.Codec.encoding_table["1581"] = [205] let s:lib.Codec.encoding_table["1582"] = [206] let s:lib.Codec.encoding_table["1583"] = [207] let s:lib.Codec.encoding_table["1584"] = [208] let s:lib.Codec.encoding_table["1585"] = [209] let s:lib.Codec.encoding_table["1586"] = [210] let s:lib.Codec.encoding_table["1587"] = [211] let s:lib.Codec.encoding_table["1588"] = [212] let s:lib.Codec.encoding_table["1589"] = [213] let s:lib.Codec.encoding_table["1590"] = [214] let s:lib.Codec.encoding_table["215"] = [215] let s:lib.Codec.encoding_table["1591"] = [216] let s:lib.Codec.encoding_table["1592"] = [217] let s:lib.Codec.encoding_table["1593"] = [218] let s:lib.Codec.encoding_table["1594"] = [219] let s:lib.Codec.encoding_table["1600"] = [220] let s:lib.Codec.encoding_table["1601"] = [221] let s:lib.Codec.encoding_table["1602"] = [222] let s:lib.Codec.encoding_table["1603"] = [223] let s:lib.Codec.encoding_table["224"] = [224] let s:lib.Codec.encoding_table["1604"] = [225] let s:lib.Codec.encoding_table["226"] = [226] let s:lib.Codec.encoding_table["1605"] = [227] let s:lib.Codec.encoding_table["1606"] = [228] let s:lib.Codec.encoding_table["1607"] = [229] let s:lib.Codec.encoding_table["1608"] = [230] let s:lib.Codec.encoding_table["231"] = [231] let s:lib.Codec.encoding_table["232"] = [232] let s:lib.Codec.encoding_table["233"] = [233] let s:lib.Codec.encoding_table["234"] = [234] let s:lib.Codec.encoding_table["235"] = [235] let s:lib.Codec.encoding_table["1609"] = [236] let s:lib.Codec.encoding_table["1610"] = [237] let s:lib.Codec.encoding_table["238"] = [238] let s:lib.Codec.encoding_table["239"] = [239] let s:lib.Codec.encoding_table["1611"] = [240] let s:lib.Codec.encoding_table["1612"] = [241] let s:lib.Codec.encoding_table["1613"] = [242] let s:lib.Codec.encoding_table["1614"] = [243] let s:lib.Codec.encoding_table["244"] = [244] let s:lib.Codec.encoding_table["1615"] = [245] let s:lib.Codec.encoding_table["1616"] = [246] let s:lib.Codec.encoding_table["247"] = [247] let s:lib.Codec.encoding_table["1617"] = [248] let s:lib.Codec.encoding_table["249"] = [249] let s:lib.Codec.encoding_table["1618"] = [250] let s:lib.Codec.encoding_table["251"] = [251] let s:lib.Codec.encoding_table["252"] = [252] let s:lib.Codec.encoding_table["8206"] = [253] let s:lib.Codec.encoding_table["8207"] = [254] let s:lib.Codec.encoding_table["1746"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1257.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1257#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = 'CP1257' let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table['0'] = [0] let s:lib.Codec.decoding_table['1'] = [1] let s:lib.Codec.decoding_table['2'] = [2] let s:lib.Codec.decoding_table['3'] = [3] let s:lib.Codec.decoding_table['4'] = [4] let s:lib.Codec.decoding_table['5'] = [5] let s:lib.Codec.decoding_table['6'] = [6] let s:lib.Codec.decoding_table['7'] = [7] let s:lib.Codec.decoding_table['8'] = [8] let s:lib.Codec.decoding_table['9'] = [9] let s:lib.Codec.decoding_table['10'] = [10] let s:lib.Codec.decoding_table['11'] = [11] let s:lib.Codec.decoding_table['12'] = [12] let s:lib.Codec.decoding_table['13'] = [13] let s:lib.Codec.decoding_table['14'] = [14] let s:lib.Codec.decoding_table['15'] = [15] let s:lib.Codec.decoding_table['16'] = [16] let s:lib.Codec.decoding_table['17'] = [17] let s:lib.Codec.decoding_table['18'] = [18] let s:lib.Codec.decoding_table['19'] = [19] let s:lib.Codec.decoding_table['20'] = [20] let s:lib.Codec.decoding_table['21'] = [21] let s:lib.Codec.decoding_table['22'] = [22] let s:lib.Codec.decoding_table['23'] = [23] let s:lib.Codec.decoding_table['24'] = [24] let s:lib.Codec.decoding_table['25'] = [25] let s:lib.Codec.decoding_table['26'] = [26] let s:lib.Codec.decoding_table['27'] = [27] let s:lib.Codec.decoding_table['28'] = [28] let s:lib.Codec.decoding_table['29'] = [29] let s:lib.Codec.decoding_table['30'] = [30] let s:lib.Codec.decoding_table['31'] = [31] let s:lib.Codec.decoding_table['32'] = [32] let s:lib.Codec.decoding_table['33'] = [33] let s:lib.Codec.decoding_table['34'] = [34] let s:lib.Codec.decoding_table['35'] = [35] let s:lib.Codec.decoding_table['36'] = [36] let s:lib.Codec.decoding_table['37'] = [37] let s:lib.Codec.decoding_table['38'] = [38] let s:lib.Codec.decoding_table['39'] = [39] let s:lib.Codec.decoding_table['40'] = [40] let s:lib.Codec.decoding_table['41'] = [41] let s:lib.Codec.decoding_table['42'] = [42] let s:lib.Codec.decoding_table['43'] = [43] let s:lib.Codec.decoding_table['44'] = [44] let s:lib.Codec.decoding_table['45'] = [45] let s:lib.Codec.decoding_table['46'] = [46] let s:lib.Codec.decoding_table['47'] = [47] let s:lib.Codec.decoding_table['48'] = [48] let s:lib.Codec.decoding_table['49'] = [49] let s:lib.Codec.decoding_table['50'] = [50] let s:lib.Codec.decoding_table['51'] = [51] let s:lib.Codec.decoding_table['52'] = [52] let s:lib.Codec.decoding_table['53'] = [53] let s:lib.Codec.decoding_table['54'] = [54] let s:lib.Codec.decoding_table['55'] = [55] let s:lib.Codec.decoding_table['56'] = [56] let s:lib.Codec.decoding_table['57'] = [57] let s:lib.Codec.decoding_table['58'] = [58] let s:lib.Codec.decoding_table['59'] = [59] let s:lib.Codec.decoding_table['60'] = [60] let s:lib.Codec.decoding_table['61'] = [61] let s:lib.Codec.decoding_table['62'] = [62] let s:lib.Codec.decoding_table['63'] = [63] let s:lib.Codec.decoding_table['64'] = [64] let s:lib.Codec.decoding_table['65'] = [65] let s:lib.Codec.decoding_table['66'] = [66] let s:lib.Codec.decoding_table['67'] = [67] let s:lib.Codec.decoding_table['68'] = [68] let s:lib.Codec.decoding_table['69'] = [69] let s:lib.Codec.decoding_table['70'] = [70] let s:lib.Codec.decoding_table['71'] = [71] let s:lib.Codec.decoding_table['72'] = [72] let s:lib.Codec.decoding_table['73'] = [73] let s:lib.Codec.decoding_table['74'] = [74] let s:lib.Codec.decoding_table['75'] = [75] let s:lib.Codec.decoding_table['76'] = [76] let s:lib.Codec.decoding_table['77'] = [77] let s:lib.Codec.decoding_table['78'] = [78] let s:lib.Codec.decoding_table['79'] = [79] let s:lib.Codec.decoding_table['80'] = [80] let s:lib.Codec.decoding_table['81'] = [81] let s:lib.Codec.decoding_table['82'] = [82] let s:lib.Codec.decoding_table['83'] = [83] let s:lib.Codec.decoding_table['84'] = [84] let s:lib.Codec.decoding_table['85'] = [85] let s:lib.Codec.decoding_table['86'] = [86] let s:lib.Codec.decoding_table['87'] = [87] let s:lib.Codec.decoding_table['88'] = [88] let s:lib.Codec.decoding_table['89'] = [89] let s:lib.Codec.decoding_table['90'] = [90] let s:lib.Codec.decoding_table['91'] = [91] let s:lib.Codec.decoding_table['92'] = [92] let s:lib.Codec.decoding_table['93'] = [93] let s:lib.Codec.decoding_table['94'] = [94] let s:lib.Codec.decoding_table['95'] = [95] let s:lib.Codec.decoding_table['96'] = [96] let s:lib.Codec.decoding_table['97'] = [97] let s:lib.Codec.decoding_table['98'] = [98] let s:lib.Codec.decoding_table['99'] = [99] let s:lib.Codec.decoding_table['100'] = [100] let s:lib.Codec.decoding_table['101'] = [101] let s:lib.Codec.decoding_table['102'] = [102] let s:lib.Codec.decoding_table['103'] = [103] let s:lib.Codec.decoding_table['104'] = [104] let s:lib.Codec.decoding_table['105'] = [105] let s:lib.Codec.decoding_table['106'] = [106] let s:lib.Codec.decoding_table['107'] = [107] let s:lib.Codec.decoding_table['108'] = [108] let s:lib.Codec.decoding_table['109'] = [109] let s:lib.Codec.decoding_table['110'] = [110] let s:lib.Codec.decoding_table['111'] = [111] let s:lib.Codec.decoding_table['112'] = [112] let s:lib.Codec.decoding_table['113'] = [113] let s:lib.Codec.decoding_table['114'] = [114] let s:lib.Codec.decoding_table['115'] = [115] let s:lib.Codec.decoding_table['116'] = [116] let s:lib.Codec.decoding_table['117'] = [117] let s:lib.Codec.decoding_table['118'] = [118] let s:lib.Codec.decoding_table['119'] = [119] let s:lib.Codec.decoding_table['120'] = [120] let s:lib.Codec.decoding_table['121'] = [121] let s:lib.Codec.decoding_table['122'] = [122] let s:lib.Codec.decoding_table['123'] = [123] let s:lib.Codec.decoding_table['124'] = [124] let s:lib.Codec.decoding_table['125'] = [125] let s:lib.Codec.decoding_table['126'] = [126] let s:lib.Codec.decoding_table['127'] = [127] let s:lib.Codec.decoding_table['128'] = [8364] let s:lib.Codec.decoding_table['130'] = [8218] let s:lib.Codec.decoding_table['132'] = [8222] let s:lib.Codec.decoding_table['133'] = [8230] let s:lib.Codec.decoding_table['134'] = [8224] let s:lib.Codec.decoding_table['135'] = [8225] let s:lib.Codec.decoding_table['137'] = [8240] let s:lib.Codec.decoding_table['139'] = [8249] let s:lib.Codec.decoding_table['141'] = [168] let s:lib.Codec.decoding_table['142'] = [711] let s:lib.Codec.decoding_table['143'] = [184] let s:lib.Codec.decoding_table['145'] = [8216] let s:lib.Codec.decoding_table['146'] = [8217] let s:lib.Codec.decoding_table['147'] = [8220] let s:lib.Codec.decoding_table['148'] = [8221] let s:lib.Codec.decoding_table['149'] = [8226] let s:lib.Codec.decoding_table['150'] = [8211] let s:lib.Codec.decoding_table['151'] = [8212] let s:lib.Codec.decoding_table['153'] = [8482] let s:lib.Codec.decoding_table['155'] = [8250] let s:lib.Codec.decoding_table['157'] = [175] let s:lib.Codec.decoding_table['158'] = [731] let s:lib.Codec.decoding_table['160'] = [160] let s:lib.Codec.decoding_table['162'] = [162] let s:lib.Codec.decoding_table['163'] = [163] let s:lib.Codec.decoding_table['164'] = [164] let s:lib.Codec.decoding_table['166'] = [166] let s:lib.Codec.decoding_table['167'] = [167] let s:lib.Codec.decoding_table['168'] = [216] let s:lib.Codec.decoding_table['169'] = [169] let s:lib.Codec.decoding_table['170'] = [342] let s:lib.Codec.decoding_table['171'] = [171] let s:lib.Codec.decoding_table['172'] = [172] let s:lib.Codec.decoding_table['173'] = [173] let s:lib.Codec.decoding_table['174'] = [174] let s:lib.Codec.decoding_table['175'] = [198] let s:lib.Codec.decoding_table['176'] = [176] let s:lib.Codec.decoding_table['177'] = [177] let s:lib.Codec.decoding_table['178'] = [178] let s:lib.Codec.decoding_table['179'] = [179] let s:lib.Codec.decoding_table['180'] = [180] let s:lib.Codec.decoding_table['181'] = [181] let s:lib.Codec.decoding_table['182'] = [182] let s:lib.Codec.decoding_table['183'] = [183] let s:lib.Codec.decoding_table['184'] = [248] let s:lib.Codec.decoding_table['185'] = [185] let s:lib.Codec.decoding_table['186'] = [343] let s:lib.Codec.decoding_table['187'] = [187] let s:lib.Codec.decoding_table['188'] = [188] let s:lib.Codec.decoding_table['189'] = [189] let s:lib.Codec.decoding_table['190'] = [190] let s:lib.Codec.decoding_table['191'] = [230] let s:lib.Codec.decoding_table['192'] = [260] let s:lib.Codec.decoding_table['193'] = [302] let s:lib.Codec.decoding_table['194'] = [256] let s:lib.Codec.decoding_table['195'] = [262] let s:lib.Codec.decoding_table['196'] = [196] let s:lib.Codec.decoding_table['197'] = [197] let s:lib.Codec.decoding_table['198'] = [280] let s:lib.Codec.decoding_table['199'] = [274] let s:lib.Codec.decoding_table['200'] = [268] let s:lib.Codec.decoding_table['201'] = [201] let s:lib.Codec.decoding_table['202'] = [377] let s:lib.Codec.decoding_table['203'] = [278] let s:lib.Codec.decoding_table['204'] = [290] let s:lib.Codec.decoding_table['205'] = [310] let s:lib.Codec.decoding_table['206'] = [298] let s:lib.Codec.decoding_table['207'] = [315] let s:lib.Codec.decoding_table['208'] = [352] let s:lib.Codec.decoding_table['209'] = [323] let s:lib.Codec.decoding_table['210'] = [325] let s:lib.Codec.decoding_table['211'] = [211] let s:lib.Codec.decoding_table['212'] = [332] let s:lib.Codec.decoding_table['213'] = [213] let s:lib.Codec.decoding_table['214'] = [214] let s:lib.Codec.decoding_table['215'] = [215] let s:lib.Codec.decoding_table['216'] = [370] let s:lib.Codec.decoding_table['217'] = [321] let s:lib.Codec.decoding_table['218'] = [346] let s:lib.Codec.decoding_table['219'] = [362] let s:lib.Codec.decoding_table['220'] = [220] let s:lib.Codec.decoding_table['221'] = [379] let s:lib.Codec.decoding_table['222'] = [381] let s:lib.Codec.decoding_table['223'] = [223] let s:lib.Codec.decoding_table['224'] = [261] let s:lib.Codec.decoding_table['225'] = [303] let s:lib.Codec.decoding_table['226'] = [257] let s:lib.Codec.decoding_table['227'] = [263] let s:lib.Codec.decoding_table['228'] = [228] let s:lib.Codec.decoding_table['229'] = [229] let s:lib.Codec.decoding_table['230'] = [281] let s:lib.Codec.decoding_table['231'] = [275] let s:lib.Codec.decoding_table['232'] = [269] let s:lib.Codec.decoding_table['233'] = [233] let s:lib.Codec.decoding_table['234'] = [378] let s:lib.Codec.decoding_table['235'] = [279] let s:lib.Codec.decoding_table['236'] = [291] let s:lib.Codec.decoding_table['237'] = [311] let s:lib.Codec.decoding_table['238'] = [299] let s:lib.Codec.decoding_table['239'] = [316] let s:lib.Codec.decoding_table['240'] = [353] let s:lib.Codec.decoding_table['241'] = [324] let s:lib.Codec.decoding_table['242'] = [326] let s:lib.Codec.decoding_table['243'] = [243] let s:lib.Codec.decoding_table['244'] = [333] let s:lib.Codec.decoding_table['245'] = [245] let s:lib.Codec.decoding_table['246'] = [246] let s:lib.Codec.decoding_table['247'] = [247] let s:lib.Codec.decoding_table['248'] = [371] let s:lib.Codec.decoding_table['249'] = [322] let s:lib.Codec.decoding_table['250'] = [347] let s:lib.Codec.decoding_table['251'] = [363] let s:lib.Codec.decoding_table['252'] = [252] let s:lib.Codec.decoding_table['253'] = [380] let s:lib.Codec.decoding_table['254'] = [382] let s:lib.Codec.decoding_table['255'] = [729] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table['0'] = [0] let s:lib.Codec.encoding_table['1'] = [1] let s:lib.Codec.encoding_table['2'] = [2] let s:lib.Codec.encoding_table['3'] = [3] let s:lib.Codec.encoding_table['4'] = [4] let s:lib.Codec.encoding_table['5'] = [5] let s:lib.Codec.encoding_table['6'] = [6] let s:lib.Codec.encoding_table['7'] = [7] let s:lib.Codec.encoding_table['8'] = [8] let s:lib.Codec.encoding_table['9'] = [9] let s:lib.Codec.encoding_table['10'] = [10] let s:lib.Codec.encoding_table['11'] = [11] let s:lib.Codec.encoding_table['12'] = [12] let s:lib.Codec.encoding_table['13'] = [13] let s:lib.Codec.encoding_table['14'] = [14] let s:lib.Codec.encoding_table['15'] = [15] let s:lib.Codec.encoding_table['16'] = [16] let s:lib.Codec.encoding_table['17'] = [17] let s:lib.Codec.encoding_table['18'] = [18] let s:lib.Codec.encoding_table['19'] = [19] let s:lib.Codec.encoding_table['20'] = [20] let s:lib.Codec.encoding_table['21'] = [21] let s:lib.Codec.encoding_table['22'] = [22] let s:lib.Codec.encoding_table['23'] = [23] let s:lib.Codec.encoding_table['24'] = [24] let s:lib.Codec.encoding_table['25'] = [25] let s:lib.Codec.encoding_table['26'] = [26] let s:lib.Codec.encoding_table['27'] = [27] let s:lib.Codec.encoding_table['28'] = [28] let s:lib.Codec.encoding_table['29'] = [29] let s:lib.Codec.encoding_table['30'] = [30] let s:lib.Codec.encoding_table['31'] = [31] let s:lib.Codec.encoding_table['32'] = [32] let s:lib.Codec.encoding_table['33'] = [33] let s:lib.Codec.encoding_table['34'] = [34] let s:lib.Codec.encoding_table['35'] = [35] let s:lib.Codec.encoding_table['36'] = [36] let s:lib.Codec.encoding_table['37'] = [37] let s:lib.Codec.encoding_table['38'] = [38] let s:lib.Codec.encoding_table['39'] = [39] let s:lib.Codec.encoding_table['40'] = [40] let s:lib.Codec.encoding_table['41'] = [41] let s:lib.Codec.encoding_table['42'] = [42] let s:lib.Codec.encoding_table['43'] = [43] let s:lib.Codec.encoding_table['44'] = [44] let s:lib.Codec.encoding_table['45'] = [45] let s:lib.Codec.encoding_table['46'] = [46] let s:lib.Codec.encoding_table['47'] = [47] let s:lib.Codec.encoding_table['48'] = [48] let s:lib.Codec.encoding_table['49'] = [49] let s:lib.Codec.encoding_table['50'] = [50] let s:lib.Codec.encoding_table['51'] = [51] let s:lib.Codec.encoding_table['52'] = [52] let s:lib.Codec.encoding_table['53'] = [53] let s:lib.Codec.encoding_table['54'] = [54] let s:lib.Codec.encoding_table['55'] = [55] let s:lib.Codec.encoding_table['56'] = [56] let s:lib.Codec.encoding_table['57'] = [57] let s:lib.Codec.encoding_table['58'] = [58] let s:lib.Codec.encoding_table['59'] = [59] let s:lib.Codec.encoding_table['60'] = [60] let s:lib.Codec.encoding_table['61'] = [61] let s:lib.Codec.encoding_table['62'] = [62] let s:lib.Codec.encoding_table['63'] = [63] let s:lib.Codec.encoding_table['64'] = [64] let s:lib.Codec.encoding_table['65'] = [65] let s:lib.Codec.encoding_table['66'] = [66] let s:lib.Codec.encoding_table['67'] = [67] let s:lib.Codec.encoding_table['68'] = [68] let s:lib.Codec.encoding_table['69'] = [69] let s:lib.Codec.encoding_table['70'] = [70] let s:lib.Codec.encoding_table['71'] = [71] let s:lib.Codec.encoding_table['72'] = [72] let s:lib.Codec.encoding_table['73'] = [73] let s:lib.Codec.encoding_table['74'] = [74] let s:lib.Codec.encoding_table['75'] = [75] let s:lib.Codec.encoding_table['76'] = [76] let s:lib.Codec.encoding_table['77'] = [77] let s:lib.Codec.encoding_table['78'] = [78] let s:lib.Codec.encoding_table['79'] = [79] let s:lib.Codec.encoding_table['80'] = [80] let s:lib.Codec.encoding_table['81'] = [81] let s:lib.Codec.encoding_table['82'] = [82] let s:lib.Codec.encoding_table['83'] = [83] let s:lib.Codec.encoding_table['84'] = [84] let s:lib.Codec.encoding_table['85'] = [85] let s:lib.Codec.encoding_table['86'] = [86] let s:lib.Codec.encoding_table['87'] = [87] let s:lib.Codec.encoding_table['88'] = [88] let s:lib.Codec.encoding_table['89'] = [89] let s:lib.Codec.encoding_table['90'] = [90] let s:lib.Codec.encoding_table['91'] = [91] let s:lib.Codec.encoding_table['92'] = [92] let s:lib.Codec.encoding_table['93'] = [93] let s:lib.Codec.encoding_table['94'] = [94] let s:lib.Codec.encoding_table['95'] = [95] let s:lib.Codec.encoding_table['96'] = [96] let s:lib.Codec.encoding_table['97'] = [97] let s:lib.Codec.encoding_table['98'] = [98] let s:lib.Codec.encoding_table['99'] = [99] let s:lib.Codec.encoding_table['100'] = [100] let s:lib.Codec.encoding_table['101'] = [101] let s:lib.Codec.encoding_table['102'] = [102] let s:lib.Codec.encoding_table['103'] = [103] let s:lib.Codec.encoding_table['104'] = [104] let s:lib.Codec.encoding_table['105'] = [105] let s:lib.Codec.encoding_table['106'] = [106] let s:lib.Codec.encoding_table['107'] = [107] let s:lib.Codec.encoding_table['108'] = [108] let s:lib.Codec.encoding_table['109'] = [109] let s:lib.Codec.encoding_table['110'] = [110] let s:lib.Codec.encoding_table['111'] = [111] let s:lib.Codec.encoding_table['112'] = [112] let s:lib.Codec.encoding_table['113'] = [113] let s:lib.Codec.encoding_table['114'] = [114] let s:lib.Codec.encoding_table['115'] = [115] let s:lib.Codec.encoding_table['116'] = [116] let s:lib.Codec.encoding_table['117'] = [117] let s:lib.Codec.encoding_table['118'] = [118] let s:lib.Codec.encoding_table['119'] = [119] let s:lib.Codec.encoding_table['120'] = [120] let s:lib.Codec.encoding_table['121'] = [121] let s:lib.Codec.encoding_table['122'] = [122] let s:lib.Codec.encoding_table['123'] = [123] let s:lib.Codec.encoding_table['124'] = [124] let s:lib.Codec.encoding_table['125'] = [125] let s:lib.Codec.encoding_table['126'] = [126] let s:lib.Codec.encoding_table['127'] = [127] let s:lib.Codec.encoding_table['8364'] = [128] let s:lib.Codec.encoding_table['8218'] = [130] let s:lib.Codec.encoding_table['8222'] = [132] let s:lib.Codec.encoding_table['8230'] = [133] let s:lib.Codec.encoding_table['8224'] = [134] let s:lib.Codec.encoding_table['8225'] = [135] let s:lib.Codec.encoding_table['8240'] = [137] let s:lib.Codec.encoding_table['8249'] = [139] let s:lib.Codec.encoding_table['168'] = [141] let s:lib.Codec.encoding_table['711'] = [142] let s:lib.Codec.encoding_table['184'] = [143] let s:lib.Codec.encoding_table['8216'] = [145] let s:lib.Codec.encoding_table['8217'] = [146] let s:lib.Codec.encoding_table['8220'] = [147] let s:lib.Codec.encoding_table['8221'] = [148] let s:lib.Codec.encoding_table['8226'] = [149] let s:lib.Codec.encoding_table['8211'] = [150] let s:lib.Codec.encoding_table['8212'] = [151] let s:lib.Codec.encoding_table['8482'] = [153] let s:lib.Codec.encoding_table['8250'] = [155] let s:lib.Codec.encoding_table['175'] = [157] let s:lib.Codec.encoding_table['731'] = [158] let s:lib.Codec.encoding_table['160'] = [160] let s:lib.Codec.encoding_table['162'] = [162] let s:lib.Codec.encoding_table['163'] = [163] let s:lib.Codec.encoding_table['164'] = [164] let s:lib.Codec.encoding_table['166'] = [166] let s:lib.Codec.encoding_table['167'] = [167] let s:lib.Codec.encoding_table['216'] = [168] let s:lib.Codec.encoding_table['169'] = [169] let s:lib.Codec.encoding_table['342'] = [170] let s:lib.Codec.encoding_table['171'] = [171] let s:lib.Codec.encoding_table['172'] = [172] let s:lib.Codec.encoding_table['173'] = [173] let s:lib.Codec.encoding_table['174'] = [174] let s:lib.Codec.encoding_table['198'] = [175] let s:lib.Codec.encoding_table['176'] = [176] let s:lib.Codec.encoding_table['177'] = [177] let s:lib.Codec.encoding_table['178'] = [178] let s:lib.Codec.encoding_table['179'] = [179] let s:lib.Codec.encoding_table['180'] = [180] let s:lib.Codec.encoding_table['181'] = [181] let s:lib.Codec.encoding_table['182'] = [182] let s:lib.Codec.encoding_table['183'] = [183] let s:lib.Codec.encoding_table['248'] = [184] let s:lib.Codec.encoding_table['185'] = [185] let s:lib.Codec.encoding_table['343'] = [186] let s:lib.Codec.encoding_table['187'] = [187] let s:lib.Codec.encoding_table['188'] = [188] let s:lib.Codec.encoding_table['189'] = [189] let s:lib.Codec.encoding_table['190'] = [190] let s:lib.Codec.encoding_table['230'] = [191] let s:lib.Codec.encoding_table['260'] = [192] let s:lib.Codec.encoding_table['302'] = [193] let s:lib.Codec.encoding_table['256'] = [194] let s:lib.Codec.encoding_table['262'] = [195] let s:lib.Codec.encoding_table['196'] = [196] let s:lib.Codec.encoding_table['197'] = [197] let s:lib.Codec.encoding_table['280'] = [198] let s:lib.Codec.encoding_table['274'] = [199] let s:lib.Codec.encoding_table['268'] = [200] let s:lib.Codec.encoding_table['201'] = [201] let s:lib.Codec.encoding_table['377'] = [202] let s:lib.Codec.encoding_table['278'] = [203] let s:lib.Codec.encoding_table['290'] = [204] let s:lib.Codec.encoding_table['310'] = [205] let s:lib.Codec.encoding_table['298'] = [206] let s:lib.Codec.encoding_table['315'] = [207] let s:lib.Codec.encoding_table['352'] = [208] let s:lib.Codec.encoding_table['323'] = [209] let s:lib.Codec.encoding_table['325'] = [210] let s:lib.Codec.encoding_table['211'] = [211] let s:lib.Codec.encoding_table['332'] = [212] let s:lib.Codec.encoding_table['213'] = [213] let s:lib.Codec.encoding_table['214'] = [214] let s:lib.Codec.encoding_table['215'] = [215] let s:lib.Codec.encoding_table['370'] = [216] let s:lib.Codec.encoding_table['321'] = [217] let s:lib.Codec.encoding_table['346'] = [218] let s:lib.Codec.encoding_table['362'] = [219] let s:lib.Codec.encoding_table['220'] = [220] let s:lib.Codec.encoding_table['379'] = [221] let s:lib.Codec.encoding_table['381'] = [222] let s:lib.Codec.encoding_table['223'] = [223] let s:lib.Codec.encoding_table['261'] = [224] let s:lib.Codec.encoding_table['303'] = [225] let s:lib.Codec.encoding_table['257'] = [226] let s:lib.Codec.encoding_table['263'] = [227] let s:lib.Codec.encoding_table['228'] = [228] let s:lib.Codec.encoding_table['229'] = [229] let s:lib.Codec.encoding_table['281'] = [230] let s:lib.Codec.encoding_table['275'] = [231] let s:lib.Codec.encoding_table['269'] = [232] let s:lib.Codec.encoding_table['233'] = [233] let s:lib.Codec.encoding_table['378'] = [234] let s:lib.Codec.encoding_table['279'] = [235] let s:lib.Codec.encoding_table['291'] = [236] let s:lib.Codec.encoding_table['311'] = [237] let s:lib.Codec.encoding_table['299'] = [238] let s:lib.Codec.encoding_table['316'] = [239] let s:lib.Codec.encoding_table['353'] = [240] let s:lib.Codec.encoding_table['324'] = [241] let s:lib.Codec.encoding_table['326'] = [242] let s:lib.Codec.encoding_table['243'] = [243] let s:lib.Codec.encoding_table['333'] = [244] let s:lib.Codec.encoding_table['245'] = [245] let s:lib.Codec.encoding_table['246'] = [246] let s:lib.Codec.encoding_table['247'] = [247] let s:lib.Codec.encoding_table['371'] = [248] let s:lib.Codec.encoding_table['322'] = [249] let s:lib.Codec.encoding_table['347'] = [250] let s:lib.Codec.encoding_table['363'] = [251] let s:lib.Codec.encoding_table['252'] = [252] let s:lib.Codec.encoding_table['380'] = [253] let s:lib.Codec.encoding_table['382'] = [254] let s:lib.Codec.encoding_table['729'] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp1258.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp1258#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = 'CP1258' let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table['0'] = [0] let s:lib.Codec.decoding_table['1'] = [1] let s:lib.Codec.decoding_table['2'] = [2] let s:lib.Codec.decoding_table['3'] = [3] let s:lib.Codec.decoding_table['4'] = [4] let s:lib.Codec.decoding_table['5'] = [5] let s:lib.Codec.decoding_table['6'] = [6] let s:lib.Codec.decoding_table['7'] = [7] let s:lib.Codec.decoding_table['8'] = [8] let s:lib.Codec.decoding_table['9'] = [9] let s:lib.Codec.decoding_table['10'] = [10] let s:lib.Codec.decoding_table['11'] = [11] let s:lib.Codec.decoding_table['12'] = [12] let s:lib.Codec.decoding_table['13'] = [13] let s:lib.Codec.decoding_table['14'] = [14] let s:lib.Codec.decoding_table['15'] = [15] let s:lib.Codec.decoding_table['16'] = [16] let s:lib.Codec.decoding_table['17'] = [17] let s:lib.Codec.decoding_table['18'] = [18] let s:lib.Codec.decoding_table['19'] = [19] let s:lib.Codec.decoding_table['20'] = [20] let s:lib.Codec.decoding_table['21'] = [21] let s:lib.Codec.decoding_table['22'] = [22] let s:lib.Codec.decoding_table['23'] = [23] let s:lib.Codec.decoding_table['24'] = [24] let s:lib.Codec.decoding_table['25'] = [25] let s:lib.Codec.decoding_table['26'] = [26] let s:lib.Codec.decoding_table['27'] = [27] let s:lib.Codec.decoding_table['28'] = [28] let s:lib.Codec.decoding_table['29'] = [29] let s:lib.Codec.decoding_table['30'] = [30] let s:lib.Codec.decoding_table['31'] = [31] let s:lib.Codec.decoding_table['32'] = [32] let s:lib.Codec.decoding_table['33'] = [33] let s:lib.Codec.decoding_table['34'] = [34] let s:lib.Codec.decoding_table['35'] = [35] let s:lib.Codec.decoding_table['36'] = [36] let s:lib.Codec.decoding_table['37'] = [37] let s:lib.Codec.decoding_table['38'] = [38] let s:lib.Codec.decoding_table['39'] = [39] let s:lib.Codec.decoding_table['40'] = [40] let s:lib.Codec.decoding_table['41'] = [41] let s:lib.Codec.decoding_table['42'] = [42] let s:lib.Codec.decoding_table['43'] = [43] let s:lib.Codec.decoding_table['44'] = [44] let s:lib.Codec.decoding_table['45'] = [45] let s:lib.Codec.decoding_table['46'] = [46] let s:lib.Codec.decoding_table['47'] = [47] let s:lib.Codec.decoding_table['48'] = [48] let s:lib.Codec.decoding_table['49'] = [49] let s:lib.Codec.decoding_table['50'] = [50] let s:lib.Codec.decoding_table['51'] = [51] let s:lib.Codec.decoding_table['52'] = [52] let s:lib.Codec.decoding_table['53'] = [53] let s:lib.Codec.decoding_table['54'] = [54] let s:lib.Codec.decoding_table['55'] = [55] let s:lib.Codec.decoding_table['56'] = [56] let s:lib.Codec.decoding_table['57'] = [57] let s:lib.Codec.decoding_table['58'] = [58] let s:lib.Codec.decoding_table['59'] = [59] let s:lib.Codec.decoding_table['60'] = [60] let s:lib.Codec.decoding_table['61'] = [61] let s:lib.Codec.decoding_table['62'] = [62] let s:lib.Codec.decoding_table['63'] = [63] let s:lib.Codec.decoding_table['64'] = [64] let s:lib.Codec.decoding_table['65'] = [65] let s:lib.Codec.decoding_table['66'] = [66] let s:lib.Codec.decoding_table['67'] = [67] let s:lib.Codec.decoding_table['68'] = [68] let s:lib.Codec.decoding_table['69'] = [69] let s:lib.Codec.decoding_table['70'] = [70] let s:lib.Codec.decoding_table['71'] = [71] let s:lib.Codec.decoding_table['72'] = [72] let s:lib.Codec.decoding_table['73'] = [73] let s:lib.Codec.decoding_table['74'] = [74] let s:lib.Codec.decoding_table['75'] = [75] let s:lib.Codec.decoding_table['76'] = [76] let s:lib.Codec.decoding_table['77'] = [77] let s:lib.Codec.decoding_table['78'] = [78] let s:lib.Codec.decoding_table['79'] = [79] let s:lib.Codec.decoding_table['80'] = [80] let s:lib.Codec.decoding_table['81'] = [81] let s:lib.Codec.decoding_table['82'] = [82] let s:lib.Codec.decoding_table['83'] = [83] let s:lib.Codec.decoding_table['84'] = [84] let s:lib.Codec.decoding_table['85'] = [85] let s:lib.Codec.decoding_table['86'] = [86] let s:lib.Codec.decoding_table['87'] = [87] let s:lib.Codec.decoding_table['88'] = [88] let s:lib.Codec.decoding_table['89'] = [89] let s:lib.Codec.decoding_table['90'] = [90] let s:lib.Codec.decoding_table['91'] = [91] let s:lib.Codec.decoding_table['92'] = [92] let s:lib.Codec.decoding_table['93'] = [93] let s:lib.Codec.decoding_table['94'] = [94] let s:lib.Codec.decoding_table['95'] = [95] let s:lib.Codec.decoding_table['96'] = [96] let s:lib.Codec.decoding_table['97'] = [97] let s:lib.Codec.decoding_table['98'] = [98] let s:lib.Codec.decoding_table['99'] = [99] let s:lib.Codec.decoding_table['100'] = [100] let s:lib.Codec.decoding_table['101'] = [101] let s:lib.Codec.decoding_table['102'] = [102] let s:lib.Codec.decoding_table['103'] = [103] let s:lib.Codec.decoding_table['104'] = [104] let s:lib.Codec.decoding_table['105'] = [105] let s:lib.Codec.decoding_table['106'] = [106] let s:lib.Codec.decoding_table['107'] = [107] let s:lib.Codec.decoding_table['108'] = [108] let s:lib.Codec.decoding_table['109'] = [109] let s:lib.Codec.decoding_table['110'] = [110] let s:lib.Codec.decoding_table['111'] = [111] let s:lib.Codec.decoding_table['112'] = [112] let s:lib.Codec.decoding_table['113'] = [113] let s:lib.Codec.decoding_table['114'] = [114] let s:lib.Codec.decoding_table['115'] = [115] let s:lib.Codec.decoding_table['116'] = [116] let s:lib.Codec.decoding_table['117'] = [117] let s:lib.Codec.decoding_table['118'] = [118] let s:lib.Codec.decoding_table['119'] = [119] let s:lib.Codec.decoding_table['120'] = [120] let s:lib.Codec.decoding_table['121'] = [121] let s:lib.Codec.decoding_table['122'] = [122] let s:lib.Codec.decoding_table['123'] = [123] let s:lib.Codec.decoding_table['124'] = [124] let s:lib.Codec.decoding_table['125'] = [125] let s:lib.Codec.decoding_table['126'] = [126] let s:lib.Codec.decoding_table['127'] = [127] let s:lib.Codec.decoding_table['128'] = [8364] let s:lib.Codec.decoding_table['130'] = [8218] let s:lib.Codec.decoding_table['131'] = [402] let s:lib.Codec.decoding_table['132'] = [8222] let s:lib.Codec.decoding_table['133'] = [8230] let s:lib.Codec.decoding_table['134'] = [8224] let s:lib.Codec.decoding_table['135'] = [8225] let s:lib.Codec.decoding_table['136'] = [710] let s:lib.Codec.decoding_table['137'] = [8240] let s:lib.Codec.decoding_table['139'] = [8249] let s:lib.Codec.decoding_table['140'] = [338] let s:lib.Codec.decoding_table['145'] = [8216] let s:lib.Codec.decoding_table['146'] = [8217] let s:lib.Codec.decoding_table['147'] = [8220] let s:lib.Codec.decoding_table['148'] = [8221] let s:lib.Codec.decoding_table['149'] = [8226] let s:lib.Codec.decoding_table['150'] = [8211] let s:lib.Codec.decoding_table['151'] = [8212] let s:lib.Codec.decoding_table['152'] = [732] let s:lib.Codec.decoding_table['153'] = [8482] let s:lib.Codec.decoding_table['155'] = [8250] let s:lib.Codec.decoding_table['156'] = [339] let s:lib.Codec.decoding_table['159'] = [376] let s:lib.Codec.decoding_table['160'] = [160] let s:lib.Codec.decoding_table['161'] = [161] let s:lib.Codec.decoding_table['162'] = [162] let s:lib.Codec.decoding_table['163'] = [163] let s:lib.Codec.decoding_table['164'] = [164] let s:lib.Codec.decoding_table['165'] = [165] let s:lib.Codec.decoding_table['166'] = [166] let s:lib.Codec.decoding_table['167'] = [167] let s:lib.Codec.decoding_table['168'] = [168] let s:lib.Codec.decoding_table['169'] = [169] let s:lib.Codec.decoding_table['170'] = [170] let s:lib.Codec.decoding_table['171'] = [171] let s:lib.Codec.decoding_table['172'] = [172] let s:lib.Codec.decoding_table['173'] = [173] let s:lib.Codec.decoding_table['174'] = [174] let s:lib.Codec.decoding_table['175'] = [175] let s:lib.Codec.decoding_table['176'] = [176] let s:lib.Codec.decoding_table['177'] = [177] let s:lib.Codec.decoding_table['178'] = [178] let s:lib.Codec.decoding_table['179'] = [179] let s:lib.Codec.decoding_table['180'] = [180] let s:lib.Codec.decoding_table['181'] = [181] let s:lib.Codec.decoding_table['182'] = [182] let s:lib.Codec.decoding_table['183'] = [183] let s:lib.Codec.decoding_table['184'] = [184] let s:lib.Codec.decoding_table['185'] = [185] let s:lib.Codec.decoding_table['186'] = [186] let s:lib.Codec.decoding_table['187'] = [187] let s:lib.Codec.decoding_table['188'] = [188] let s:lib.Codec.decoding_table['189'] = [189] let s:lib.Codec.decoding_table['190'] = [190] let s:lib.Codec.decoding_table['191'] = [191] let s:lib.Codec.decoding_table['192'] = [192] let s:lib.Codec.decoding_table['193'] = [193] let s:lib.Codec.decoding_table['194'] = [194] let s:lib.Codec.decoding_table['195'] = [258] let s:lib.Codec.decoding_table['196'] = [196] let s:lib.Codec.decoding_table['197'] = [197] let s:lib.Codec.decoding_table['198'] = [198] let s:lib.Codec.decoding_table['199'] = [199] let s:lib.Codec.decoding_table['200'] = [200] let s:lib.Codec.decoding_table['201'] = [201] let s:lib.Codec.decoding_table['202'] = [202] let s:lib.Codec.decoding_table['203'] = [203] let s:lib.Codec.decoding_table['204'] = [768] let s:lib.Codec.decoding_table['205'] = [205] let s:lib.Codec.decoding_table['206'] = [206] let s:lib.Codec.decoding_table['207'] = [207] let s:lib.Codec.decoding_table['208'] = [272] let s:lib.Codec.decoding_table['209'] = [209] let s:lib.Codec.decoding_table['210'] = [777] let s:lib.Codec.decoding_table['211'] = [211] let s:lib.Codec.decoding_table['212'] = [212] let s:lib.Codec.decoding_table['213'] = [416] let s:lib.Codec.decoding_table['214'] = [214] let s:lib.Codec.decoding_table['215'] = [215] let s:lib.Codec.decoding_table['216'] = [216] let s:lib.Codec.decoding_table['217'] = [217] let s:lib.Codec.decoding_table['218'] = [218] let s:lib.Codec.decoding_table['219'] = [219] let s:lib.Codec.decoding_table['220'] = [220] let s:lib.Codec.decoding_table['221'] = [431] let s:lib.Codec.decoding_table['222'] = [771] let s:lib.Codec.decoding_table['223'] = [223] let s:lib.Codec.decoding_table['224'] = [224] let s:lib.Codec.decoding_table['225'] = [225] let s:lib.Codec.decoding_table['226'] = [226] let s:lib.Codec.decoding_table['227'] = [259] let s:lib.Codec.decoding_table['228'] = [228] let s:lib.Codec.decoding_table['229'] = [229] let s:lib.Codec.decoding_table['230'] = [230] let s:lib.Codec.decoding_table['231'] = [231] let s:lib.Codec.decoding_table['232'] = [232] let s:lib.Codec.decoding_table['233'] = [233] let s:lib.Codec.decoding_table['234'] = [234] let s:lib.Codec.decoding_table['235'] = [235] let s:lib.Codec.decoding_table['236'] = [769] let s:lib.Codec.decoding_table['237'] = [237] let s:lib.Codec.decoding_table['238'] = [238] let s:lib.Codec.decoding_table['239'] = [239] let s:lib.Codec.decoding_table['240'] = [273] let s:lib.Codec.decoding_table['241'] = [241] let s:lib.Codec.decoding_table['242'] = [803] let s:lib.Codec.decoding_table['243'] = [243] let s:lib.Codec.decoding_table['244'] = [244] let s:lib.Codec.decoding_table['245'] = [417] let s:lib.Codec.decoding_table['246'] = [246] let s:lib.Codec.decoding_table['247'] = [247] let s:lib.Codec.decoding_table['248'] = [248] let s:lib.Codec.decoding_table['249'] = [249] let s:lib.Codec.decoding_table['250'] = [250] let s:lib.Codec.decoding_table['251'] = [251] let s:lib.Codec.decoding_table['252'] = [252] let s:lib.Codec.decoding_table['253'] = [432] let s:lib.Codec.decoding_table['254'] = [8363] let s:lib.Codec.decoding_table['255'] = [255] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table['0'] = [0] let s:lib.Codec.encoding_table['1'] = [1] let s:lib.Codec.encoding_table['2'] = [2] let s:lib.Codec.encoding_table['3'] = [3] let s:lib.Codec.encoding_table['4'] = [4] let s:lib.Codec.encoding_table['5'] = [5] let s:lib.Codec.encoding_table['6'] = [6] let s:lib.Codec.encoding_table['7'] = [7] let s:lib.Codec.encoding_table['8'] = [8] let s:lib.Codec.encoding_table['9'] = [9] let s:lib.Codec.encoding_table['10'] = [10] let s:lib.Codec.encoding_table['11'] = [11] let s:lib.Codec.encoding_table['12'] = [12] let s:lib.Codec.encoding_table['13'] = [13] let s:lib.Codec.encoding_table['14'] = [14] let s:lib.Codec.encoding_table['15'] = [15] let s:lib.Codec.encoding_table['16'] = [16] let s:lib.Codec.encoding_table['17'] = [17] let s:lib.Codec.encoding_table['18'] = [18] let s:lib.Codec.encoding_table['19'] = [19] let s:lib.Codec.encoding_table['20'] = [20] let s:lib.Codec.encoding_table['21'] = [21] let s:lib.Codec.encoding_table['22'] = [22] let s:lib.Codec.encoding_table['23'] = [23] let s:lib.Codec.encoding_table['24'] = [24] let s:lib.Codec.encoding_table['25'] = [25] let s:lib.Codec.encoding_table['26'] = [26] let s:lib.Codec.encoding_table['27'] = [27] let s:lib.Codec.encoding_table['28'] = [28] let s:lib.Codec.encoding_table['29'] = [29] let s:lib.Codec.encoding_table['30'] = [30] let s:lib.Codec.encoding_table['31'] = [31] let s:lib.Codec.encoding_table['32'] = [32] let s:lib.Codec.encoding_table['33'] = [33] let s:lib.Codec.encoding_table['34'] = [34] let s:lib.Codec.encoding_table['35'] = [35] let s:lib.Codec.encoding_table['36'] = [36] let s:lib.Codec.encoding_table['37'] = [37] let s:lib.Codec.encoding_table['38'] = [38] let s:lib.Codec.encoding_table['39'] = [39] let s:lib.Codec.encoding_table['40'] = [40] let s:lib.Codec.encoding_table['41'] = [41] let s:lib.Codec.encoding_table['42'] = [42] let s:lib.Codec.encoding_table['43'] = [43] let s:lib.Codec.encoding_table['44'] = [44] let s:lib.Codec.encoding_table['45'] = [45] let s:lib.Codec.encoding_table['46'] = [46] let s:lib.Codec.encoding_table['47'] = [47] let s:lib.Codec.encoding_table['48'] = [48] let s:lib.Codec.encoding_table['49'] = [49] let s:lib.Codec.encoding_table['50'] = [50] let s:lib.Codec.encoding_table['51'] = [51] let s:lib.Codec.encoding_table['52'] = [52] let s:lib.Codec.encoding_table['53'] = [53] let s:lib.Codec.encoding_table['54'] = [54] let s:lib.Codec.encoding_table['55'] = [55] let s:lib.Codec.encoding_table['56'] = [56] let s:lib.Codec.encoding_table['57'] = [57] let s:lib.Codec.encoding_table['58'] = [58] let s:lib.Codec.encoding_table['59'] = [59] let s:lib.Codec.encoding_table['60'] = [60] let s:lib.Codec.encoding_table['61'] = [61] let s:lib.Codec.encoding_table['62'] = [62] let s:lib.Codec.encoding_table['63'] = [63] let s:lib.Codec.encoding_table['64'] = [64] let s:lib.Codec.encoding_table['65'] = [65] let s:lib.Codec.encoding_table['66'] = [66] let s:lib.Codec.encoding_table['67'] = [67] let s:lib.Codec.encoding_table['68'] = [68] let s:lib.Codec.encoding_table['69'] = [69] let s:lib.Codec.encoding_table['70'] = [70] let s:lib.Codec.encoding_table['71'] = [71] let s:lib.Codec.encoding_table['72'] = [72] let s:lib.Codec.encoding_table['73'] = [73] let s:lib.Codec.encoding_table['74'] = [74] let s:lib.Codec.encoding_table['75'] = [75] let s:lib.Codec.encoding_table['76'] = [76] let s:lib.Codec.encoding_table['77'] = [77] let s:lib.Codec.encoding_table['78'] = [78] let s:lib.Codec.encoding_table['79'] = [79] let s:lib.Codec.encoding_table['80'] = [80] let s:lib.Codec.encoding_table['81'] = [81] let s:lib.Codec.encoding_table['82'] = [82] let s:lib.Codec.encoding_table['83'] = [83] let s:lib.Codec.encoding_table['84'] = [84] let s:lib.Codec.encoding_table['85'] = [85] let s:lib.Codec.encoding_table['86'] = [86] let s:lib.Codec.encoding_table['87'] = [87] let s:lib.Codec.encoding_table['88'] = [88] let s:lib.Codec.encoding_table['89'] = [89] let s:lib.Codec.encoding_table['90'] = [90] let s:lib.Codec.encoding_table['91'] = [91] let s:lib.Codec.encoding_table['92'] = [92] let s:lib.Codec.encoding_table['93'] = [93] let s:lib.Codec.encoding_table['94'] = [94] let s:lib.Codec.encoding_table['95'] = [95] let s:lib.Codec.encoding_table['96'] = [96] let s:lib.Codec.encoding_table['97'] = [97] let s:lib.Codec.encoding_table['98'] = [98] let s:lib.Codec.encoding_table['99'] = [99] let s:lib.Codec.encoding_table['100'] = [100] let s:lib.Codec.encoding_table['101'] = [101] let s:lib.Codec.encoding_table['102'] = [102] let s:lib.Codec.encoding_table['103'] = [103] let s:lib.Codec.encoding_table['104'] = [104] let s:lib.Codec.encoding_table['105'] = [105] let s:lib.Codec.encoding_table['106'] = [106] let s:lib.Codec.encoding_table['107'] = [107] let s:lib.Codec.encoding_table['108'] = [108] let s:lib.Codec.encoding_table['109'] = [109] let s:lib.Codec.encoding_table['110'] = [110] let s:lib.Codec.encoding_table['111'] = [111] let s:lib.Codec.encoding_table['112'] = [112] let s:lib.Codec.encoding_table['113'] = [113] let s:lib.Codec.encoding_table['114'] = [114] let s:lib.Codec.encoding_table['115'] = [115] let s:lib.Codec.encoding_table['116'] = [116] let s:lib.Codec.encoding_table['117'] = [117] let s:lib.Codec.encoding_table['118'] = [118] let s:lib.Codec.encoding_table['119'] = [119] let s:lib.Codec.encoding_table['120'] = [120] let s:lib.Codec.encoding_table['121'] = [121] let s:lib.Codec.encoding_table['122'] = [122] let s:lib.Codec.encoding_table['123'] = [123] let s:lib.Codec.encoding_table['124'] = [124] let s:lib.Codec.encoding_table['125'] = [125] let s:lib.Codec.encoding_table['126'] = [126] let s:lib.Codec.encoding_table['127'] = [127] let s:lib.Codec.encoding_table['8364'] = [128] let s:lib.Codec.encoding_table['8218'] = [130] let s:lib.Codec.encoding_table['402'] = [131] let s:lib.Codec.encoding_table['8222'] = [132] let s:lib.Codec.encoding_table['8230'] = [133] let s:lib.Codec.encoding_table['8224'] = [134] let s:lib.Codec.encoding_table['8225'] = [135] let s:lib.Codec.encoding_table['710'] = [136] let s:lib.Codec.encoding_table['8240'] = [137] let s:lib.Codec.encoding_table['8249'] = [139] let s:lib.Codec.encoding_table['338'] = [140] let s:lib.Codec.encoding_table['8216'] = [145] let s:lib.Codec.encoding_table['8217'] = [146] let s:lib.Codec.encoding_table['8220'] = [147] let s:lib.Codec.encoding_table['8221'] = [148] let s:lib.Codec.encoding_table['8226'] = [149] let s:lib.Codec.encoding_table['8211'] = [150] let s:lib.Codec.encoding_table['8212'] = [151] let s:lib.Codec.encoding_table['732'] = [152] let s:lib.Codec.encoding_table['8482'] = [153] let s:lib.Codec.encoding_table['8250'] = [155] let s:lib.Codec.encoding_table['339'] = [156] let s:lib.Codec.encoding_table['376'] = [159] let s:lib.Codec.encoding_table['160'] = [160] let s:lib.Codec.encoding_table['161'] = [161] let s:lib.Codec.encoding_table['162'] = [162] let s:lib.Codec.encoding_table['163'] = [163] let s:lib.Codec.encoding_table['164'] = [164] let s:lib.Codec.encoding_table['165'] = [165] let s:lib.Codec.encoding_table['166'] = [166] let s:lib.Codec.encoding_table['167'] = [167] let s:lib.Codec.encoding_table['168'] = [168] let s:lib.Codec.encoding_table['169'] = [169] let s:lib.Codec.encoding_table['170'] = [170] let s:lib.Codec.encoding_table['171'] = [171] let s:lib.Codec.encoding_table['172'] = [172] let s:lib.Codec.encoding_table['173'] = [173] let s:lib.Codec.encoding_table['174'] = [174] let s:lib.Codec.encoding_table['175'] = [175] let s:lib.Codec.encoding_table['176'] = [176] let s:lib.Codec.encoding_table['177'] = [177] let s:lib.Codec.encoding_table['178'] = [178] let s:lib.Codec.encoding_table['179'] = [179] let s:lib.Codec.encoding_table['180'] = [180] let s:lib.Codec.encoding_table['181'] = [181] let s:lib.Codec.encoding_table['182'] = [182] let s:lib.Codec.encoding_table['183'] = [183] let s:lib.Codec.encoding_table['184'] = [184] let s:lib.Codec.encoding_table['185'] = [185] let s:lib.Codec.encoding_table['186'] = [186] let s:lib.Codec.encoding_table['187'] = [187] let s:lib.Codec.encoding_table['188'] = [188] let s:lib.Codec.encoding_table['189'] = [189] let s:lib.Codec.encoding_table['190'] = [190] let s:lib.Codec.encoding_table['191'] = [191] let s:lib.Codec.encoding_table['192'] = [192] let s:lib.Codec.encoding_table['193'] = [193] let s:lib.Codec.encoding_table['194'] = [194] let s:lib.Codec.encoding_table['258'] = [195] let s:lib.Codec.encoding_table['196'] = [196] let s:lib.Codec.encoding_table['197'] = [197] let s:lib.Codec.encoding_table['198'] = [198] let s:lib.Codec.encoding_table['199'] = [199] let s:lib.Codec.encoding_table['200'] = [200] let s:lib.Codec.encoding_table['201'] = [201] let s:lib.Codec.encoding_table['202'] = [202] let s:lib.Codec.encoding_table['203'] = [203] let s:lib.Codec.encoding_table['768'] = [204] let s:lib.Codec.encoding_table['205'] = [205] let s:lib.Codec.encoding_table['206'] = [206] let s:lib.Codec.encoding_table['207'] = [207] let s:lib.Codec.encoding_table['272'] = [208] let s:lib.Codec.encoding_table['209'] = [209] let s:lib.Codec.encoding_table['777'] = [210] let s:lib.Codec.encoding_table['211'] = [211] let s:lib.Codec.encoding_table['212'] = [212] let s:lib.Codec.encoding_table['416'] = [213] let s:lib.Codec.encoding_table['214'] = [214] let s:lib.Codec.encoding_table['215'] = [215] let s:lib.Codec.encoding_table['216'] = [216] let s:lib.Codec.encoding_table['217'] = [217] let s:lib.Codec.encoding_table['218'] = [218] let s:lib.Codec.encoding_table['219'] = [219] let s:lib.Codec.encoding_table['220'] = [220] let s:lib.Codec.encoding_table['431'] = [221] let s:lib.Codec.encoding_table['771'] = [222] let s:lib.Codec.encoding_table['223'] = [223] let s:lib.Codec.encoding_table['224'] = [224] let s:lib.Codec.encoding_table['225'] = [225] let s:lib.Codec.encoding_table['226'] = [226] let s:lib.Codec.encoding_table['259'] = [227] let s:lib.Codec.encoding_table['228'] = [228] let s:lib.Codec.encoding_table['229'] = [229] let s:lib.Codec.encoding_table['230'] = [230] let s:lib.Codec.encoding_table['231'] = [231] let s:lib.Codec.encoding_table['232'] = [232] let s:lib.Codec.encoding_table['233'] = [233] let s:lib.Codec.encoding_table['234'] = [234] let s:lib.Codec.encoding_table['235'] = [235] let s:lib.Codec.encoding_table['769'] = [236] let s:lib.Codec.encoding_table['237'] = [237] let s:lib.Codec.encoding_table['238'] = [238] let s:lib.Codec.encoding_table['239'] = [239] let s:lib.Codec.encoding_table['273'] = [240] let s:lib.Codec.encoding_table['241'] = [241] let s:lib.Codec.encoding_table['803'] = [242] let s:lib.Codec.encoding_table['243'] = [243] let s:lib.Codec.encoding_table['244'] = [244] let s:lib.Codec.encoding_table['417'] = [245] let s:lib.Codec.encoding_table['246'] = [246] let s:lib.Codec.encoding_table['247'] = [247] let s:lib.Codec.encoding_table['248'] = [248] let s:lib.Codec.encoding_table['249'] = [249] let s:lib.Codec.encoding_table['250'] = [250] let s:lib.Codec.encoding_table['251'] = [251] let s:lib.Codec.encoding_table['252'] = [252] let s:lib.Codec.encoding_table['432'] = [253] let s:lib.Codec.encoding_table['8363'] = [254] let s:lib.Codec.encoding_table['255'] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp437.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp437#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP437" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [199] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [226] let s:lib.Codec.decoding_table["132"] = [228] let s:lib.Codec.decoding_table["133"] = [224] let s:lib.Codec.decoding_table["134"] = [229] let s:lib.Codec.decoding_table["135"] = [231] let s:lib.Codec.decoding_table["136"] = [234] let s:lib.Codec.decoding_table["137"] = [235] let s:lib.Codec.decoding_table["138"] = [232] let s:lib.Codec.decoding_table["139"] = [239] let s:lib.Codec.decoding_table["140"] = [238] let s:lib.Codec.decoding_table["141"] = [236] let s:lib.Codec.decoding_table["142"] = [196] let s:lib.Codec.decoding_table["143"] = [197] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [230] let s:lib.Codec.decoding_table["146"] = [198] let s:lib.Codec.decoding_table["147"] = [244] let s:lib.Codec.decoding_table["148"] = [246] let s:lib.Codec.decoding_table["149"] = [242] let s:lib.Codec.decoding_table["150"] = [251] let s:lib.Codec.decoding_table["151"] = [249] let s:lib.Codec.decoding_table["152"] = [255] let s:lib.Codec.decoding_table["153"] = [214] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [162] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [165] let s:lib.Codec.decoding_table["158"] = [8359] let s:lib.Codec.decoding_table["159"] = [402] let s:lib.Codec.decoding_table["160"] = [225] let s:lib.Codec.decoding_table["161"] = [237] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [241] let s:lib.Codec.decoding_table["165"] = [209] let s:lib.Codec.decoding_table["166"] = [170] let s:lib.Codec.decoding_table["167"] = [186] let s:lib.Codec.decoding_table["168"] = [191] let s:lib.Codec.decoding_table["169"] = [8976] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [161] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [9569] let s:lib.Codec.decoding_table["182"] = [9570] let s:lib.Codec.decoding_table["183"] = [9558] let s:lib.Codec.decoding_table["184"] = [9557] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [9564] let s:lib.Codec.decoding_table["190"] = [9563] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [9566] let s:lib.Codec.decoding_table["199"] = [9567] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [9575] let s:lib.Codec.decoding_table["208"] = [9576] let s:lib.Codec.decoding_table["209"] = [9572] let s:lib.Codec.decoding_table["210"] = [9573] let s:lib.Codec.decoding_table["211"] = [9561] let s:lib.Codec.decoding_table["212"] = [9560] let s:lib.Codec.decoding_table["213"] = [9554] let s:lib.Codec.decoding_table["214"] = [9555] let s:lib.Codec.decoding_table["215"] = [9579] let s:lib.Codec.decoding_table["216"] = [9578] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [945] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [915] let s:lib.Codec.decoding_table["227"] = [960] let s:lib.Codec.decoding_table["228"] = [931] let s:lib.Codec.decoding_table["229"] = [963] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["231"] = [964] let s:lib.Codec.decoding_table["232"] = [934] let s:lib.Codec.decoding_table["233"] = [920] let s:lib.Codec.decoding_table["234"] = [937] let s:lib.Codec.decoding_table["235"] = [948] let s:lib.Codec.decoding_table["236"] = [8734] let s:lib.Codec.decoding_table["237"] = [966] let s:lib.Codec.decoding_table["238"] = [949] let s:lib.Codec.decoding_table["239"] = [8745] let s:lib.Codec.decoding_table["240"] = [8801] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8805] let s:lib.Codec.decoding_table["243"] = [8804] let s:lib.Codec.decoding_table["244"] = [8992] let s:lib.Codec.decoding_table["245"] = [8993] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [8776] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [8730] let s:lib.Codec.decoding_table["252"] = [8319] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["199"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["226"] = [131] let s:lib.Codec.encoding_table["228"] = [132] let s:lib.Codec.encoding_table["224"] = [133] let s:lib.Codec.encoding_table["229"] = [134] let s:lib.Codec.encoding_table["231"] = [135] let s:lib.Codec.encoding_table["234"] = [136] let s:lib.Codec.encoding_table["235"] = [137] let s:lib.Codec.encoding_table["232"] = [138] let s:lib.Codec.encoding_table["239"] = [139] let s:lib.Codec.encoding_table["238"] = [140] let s:lib.Codec.encoding_table["236"] = [141] let s:lib.Codec.encoding_table["196"] = [142] let s:lib.Codec.encoding_table["197"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["230"] = [145] let s:lib.Codec.encoding_table["198"] = [146] let s:lib.Codec.encoding_table["244"] = [147] let s:lib.Codec.encoding_table["246"] = [148] let s:lib.Codec.encoding_table["242"] = [149] let s:lib.Codec.encoding_table["251"] = [150] let s:lib.Codec.encoding_table["249"] = [151] let s:lib.Codec.encoding_table["255"] = [152] let s:lib.Codec.encoding_table["214"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["162"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["165"] = [157] let s:lib.Codec.encoding_table["8359"] = [158] let s:lib.Codec.encoding_table["402"] = [159] let s:lib.Codec.encoding_table["225"] = [160] let s:lib.Codec.encoding_table["237"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["241"] = [164] let s:lib.Codec.encoding_table["209"] = [165] let s:lib.Codec.encoding_table["170"] = [166] let s:lib.Codec.encoding_table["186"] = [167] let s:lib.Codec.encoding_table["191"] = [168] let s:lib.Codec.encoding_table["8976"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["161"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["9569"] = [181] let s:lib.Codec.encoding_table["9570"] = [182] let s:lib.Codec.encoding_table["9558"] = [183] let s:lib.Codec.encoding_table["9557"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["9564"] = [189] let s:lib.Codec.encoding_table["9563"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["9566"] = [198] let s:lib.Codec.encoding_table["9567"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["9575"] = [207] let s:lib.Codec.encoding_table["9576"] = [208] let s:lib.Codec.encoding_table["9572"] = [209] let s:lib.Codec.encoding_table["9573"] = [210] let s:lib.Codec.encoding_table["9561"] = [211] let s:lib.Codec.encoding_table["9560"] = [212] let s:lib.Codec.encoding_table["9554"] = [213] let s:lib.Codec.encoding_table["9555"] = [214] let s:lib.Codec.encoding_table["9579"] = [215] let s:lib.Codec.encoding_table["9578"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["945"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["915"] = [226] let s:lib.Codec.encoding_table["960"] = [227] let s:lib.Codec.encoding_table["931"] = [228] let s:lib.Codec.encoding_table["963"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["964"] = [231] let s:lib.Codec.encoding_table["934"] = [232] let s:lib.Codec.encoding_table["920"] = [233] let s:lib.Codec.encoding_table["937"] = [234] let s:lib.Codec.encoding_table["948"] = [235] let s:lib.Codec.encoding_table["8734"] = [236] let s:lib.Codec.encoding_table["966"] = [237] let s:lib.Codec.encoding_table["949"] = [238] let s:lib.Codec.encoding_table["8745"] = [239] let s:lib.Codec.encoding_table["8801"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8805"] = [242] let s:lib.Codec.encoding_table["8804"] = [243] let s:lib.Codec.encoding_table["8992"] = [244] let s:lib.Codec.encoding_table["8993"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["8776"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["8730"] = [251] let s:lib.Codec.encoding_table["8319"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp500.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp500#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP500" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [156] let s:lib.Codec.decoding_table["5"] = [9] let s:lib.Codec.decoding_table["6"] = [134] let s:lib.Codec.decoding_table["7"] = [127] let s:lib.Codec.decoding_table["8"] = [151] let s:lib.Codec.decoding_table["9"] = [141] let s:lib.Codec.decoding_table["10"] = [142] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [157] let s:lib.Codec.decoding_table["21"] = [133] let s:lib.Codec.decoding_table["22"] = [8] let s:lib.Codec.decoding_table["23"] = [135] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [146] let s:lib.Codec.decoding_table["27"] = [143] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [128] let s:lib.Codec.decoding_table["33"] = [129] let s:lib.Codec.decoding_table["34"] = [130] let s:lib.Codec.decoding_table["35"] = [131] let s:lib.Codec.decoding_table["36"] = [132] let s:lib.Codec.decoding_table["37"] = [10] let s:lib.Codec.decoding_table["38"] = [23] let s:lib.Codec.decoding_table["39"] = [27] let s:lib.Codec.decoding_table["40"] = [136] let s:lib.Codec.decoding_table["41"] = [137] let s:lib.Codec.decoding_table["42"] = [138] let s:lib.Codec.decoding_table["43"] = [139] let s:lib.Codec.decoding_table["44"] = [140] let s:lib.Codec.decoding_table["45"] = [5] let s:lib.Codec.decoding_table["46"] = [6] let s:lib.Codec.decoding_table["47"] = [7] let s:lib.Codec.decoding_table["48"] = [144] let s:lib.Codec.decoding_table["49"] = [145] let s:lib.Codec.decoding_table["50"] = [22] let s:lib.Codec.decoding_table["51"] = [147] let s:lib.Codec.decoding_table["52"] = [148] let s:lib.Codec.decoding_table["53"] = [149] let s:lib.Codec.decoding_table["54"] = [150] let s:lib.Codec.decoding_table["55"] = [4] let s:lib.Codec.decoding_table["56"] = [152] let s:lib.Codec.decoding_table["57"] = [153] let s:lib.Codec.decoding_table["58"] = [154] let s:lib.Codec.decoding_table["59"] = [155] let s:lib.Codec.decoding_table["60"] = [20] let s:lib.Codec.decoding_table["61"] = [21] let s:lib.Codec.decoding_table["62"] = [158] let s:lib.Codec.decoding_table["63"] = [26] let s:lib.Codec.decoding_table["64"] = [32] let s:lib.Codec.decoding_table["65"] = [160] let s:lib.Codec.decoding_table["66"] = [226] let s:lib.Codec.decoding_table["67"] = [228] let s:lib.Codec.decoding_table["68"] = [224] let s:lib.Codec.decoding_table["69"] = [225] let s:lib.Codec.decoding_table["70"] = [227] let s:lib.Codec.decoding_table["71"] = [229] let s:lib.Codec.decoding_table["72"] = [231] let s:lib.Codec.decoding_table["73"] = [241] let s:lib.Codec.decoding_table["74"] = [91] let s:lib.Codec.decoding_table["75"] = [46] let s:lib.Codec.decoding_table["76"] = [60] let s:lib.Codec.decoding_table["77"] = [40] let s:lib.Codec.decoding_table["78"] = [43] let s:lib.Codec.decoding_table["79"] = [33] let s:lib.Codec.decoding_table["80"] = [38] let s:lib.Codec.decoding_table["81"] = [233] let s:lib.Codec.decoding_table["82"] = [234] let s:lib.Codec.decoding_table["83"] = [235] let s:lib.Codec.decoding_table["84"] = [232] let s:lib.Codec.decoding_table["85"] = [237] let s:lib.Codec.decoding_table["86"] = [238] let s:lib.Codec.decoding_table["87"] = [239] let s:lib.Codec.decoding_table["88"] = [236] let s:lib.Codec.decoding_table["89"] = [223] let s:lib.Codec.decoding_table["90"] = [93] let s:lib.Codec.decoding_table["91"] = [36] let s:lib.Codec.decoding_table["92"] = [42] let s:lib.Codec.decoding_table["93"] = [41] let s:lib.Codec.decoding_table["94"] = [59] let s:lib.Codec.decoding_table["95"] = [94] let s:lib.Codec.decoding_table["96"] = [45] let s:lib.Codec.decoding_table["97"] = [47] let s:lib.Codec.decoding_table["98"] = [194] let s:lib.Codec.decoding_table["99"] = [196] let s:lib.Codec.decoding_table["100"] = [192] let s:lib.Codec.decoding_table["101"] = [193] let s:lib.Codec.decoding_table["102"] = [195] let s:lib.Codec.decoding_table["103"] = [197] let s:lib.Codec.decoding_table["104"] = [199] let s:lib.Codec.decoding_table["105"] = [209] let s:lib.Codec.decoding_table["106"] = [166] let s:lib.Codec.decoding_table["107"] = [44] let s:lib.Codec.decoding_table["108"] = [37] let s:lib.Codec.decoding_table["109"] = [95] let s:lib.Codec.decoding_table["110"] = [62] let s:lib.Codec.decoding_table["111"] = [63] let s:lib.Codec.decoding_table["112"] = [248] let s:lib.Codec.decoding_table["113"] = [201] let s:lib.Codec.decoding_table["114"] = [202] let s:lib.Codec.decoding_table["115"] = [203] let s:lib.Codec.decoding_table["116"] = [200] let s:lib.Codec.decoding_table["117"] = [205] let s:lib.Codec.decoding_table["118"] = [206] let s:lib.Codec.decoding_table["119"] = [207] let s:lib.Codec.decoding_table["120"] = [204] let s:lib.Codec.decoding_table["121"] = [96] let s:lib.Codec.decoding_table["122"] = [58] let s:lib.Codec.decoding_table["123"] = [35] let s:lib.Codec.decoding_table["124"] = [64] let s:lib.Codec.decoding_table["125"] = [39] let s:lib.Codec.decoding_table["126"] = [61] let s:lib.Codec.decoding_table["127"] = [34] let s:lib.Codec.decoding_table["128"] = [216] let s:lib.Codec.decoding_table["129"] = [97] let s:lib.Codec.decoding_table["130"] = [98] let s:lib.Codec.decoding_table["131"] = [99] let s:lib.Codec.decoding_table["132"] = [100] let s:lib.Codec.decoding_table["133"] = [101] let s:lib.Codec.decoding_table["134"] = [102] let s:lib.Codec.decoding_table["135"] = [103] let s:lib.Codec.decoding_table["136"] = [104] let s:lib.Codec.decoding_table["137"] = [105] let s:lib.Codec.decoding_table["138"] = [171] let s:lib.Codec.decoding_table["139"] = [187] let s:lib.Codec.decoding_table["140"] = [240] let s:lib.Codec.decoding_table["141"] = [253] let s:lib.Codec.decoding_table["142"] = [254] let s:lib.Codec.decoding_table["143"] = [177] let s:lib.Codec.decoding_table["144"] = [176] let s:lib.Codec.decoding_table["145"] = [106] let s:lib.Codec.decoding_table["146"] = [107] let s:lib.Codec.decoding_table["147"] = [108] let s:lib.Codec.decoding_table["148"] = [109] let s:lib.Codec.decoding_table["149"] = [110] let s:lib.Codec.decoding_table["150"] = [111] let s:lib.Codec.decoding_table["151"] = [112] let s:lib.Codec.decoding_table["152"] = [113] let s:lib.Codec.decoding_table["153"] = [114] let s:lib.Codec.decoding_table["154"] = [170] let s:lib.Codec.decoding_table["155"] = [186] let s:lib.Codec.decoding_table["156"] = [230] let s:lib.Codec.decoding_table["157"] = [184] let s:lib.Codec.decoding_table["158"] = [198] let s:lib.Codec.decoding_table["159"] = [164] let s:lib.Codec.decoding_table["160"] = [181] let s:lib.Codec.decoding_table["161"] = [126] let s:lib.Codec.decoding_table["162"] = [115] let s:lib.Codec.decoding_table["163"] = [116] let s:lib.Codec.decoding_table["164"] = [117] let s:lib.Codec.decoding_table["165"] = [118] let s:lib.Codec.decoding_table["166"] = [119] let s:lib.Codec.decoding_table["167"] = [120] let s:lib.Codec.decoding_table["168"] = [121] let s:lib.Codec.decoding_table["169"] = [122] let s:lib.Codec.decoding_table["170"] = [161] let s:lib.Codec.decoding_table["171"] = [191] let s:lib.Codec.decoding_table["172"] = [208] let s:lib.Codec.decoding_table["173"] = [221] let s:lib.Codec.decoding_table["174"] = [222] let s:lib.Codec.decoding_table["175"] = [174] let s:lib.Codec.decoding_table["176"] = [162] let s:lib.Codec.decoding_table["177"] = [163] let s:lib.Codec.decoding_table["178"] = [165] let s:lib.Codec.decoding_table["179"] = [183] let s:lib.Codec.decoding_table["180"] = [169] let s:lib.Codec.decoding_table["181"] = [167] let s:lib.Codec.decoding_table["182"] = [182] let s:lib.Codec.decoding_table["183"] = [188] let s:lib.Codec.decoding_table["184"] = [189] let s:lib.Codec.decoding_table["185"] = [190] let s:lib.Codec.decoding_table["186"] = [172] let s:lib.Codec.decoding_table["187"] = [124] let s:lib.Codec.decoding_table["188"] = [175] let s:lib.Codec.decoding_table["189"] = [168] let s:lib.Codec.decoding_table["190"] = [180] let s:lib.Codec.decoding_table["191"] = [215] let s:lib.Codec.decoding_table["192"] = [123] let s:lib.Codec.decoding_table["193"] = [65] let s:lib.Codec.decoding_table["194"] = [66] let s:lib.Codec.decoding_table["195"] = [67] let s:lib.Codec.decoding_table["196"] = [68] let s:lib.Codec.decoding_table["197"] = [69] let s:lib.Codec.decoding_table["198"] = [70] let s:lib.Codec.decoding_table["199"] = [71] let s:lib.Codec.decoding_table["200"] = [72] let s:lib.Codec.decoding_table["201"] = [73] let s:lib.Codec.decoding_table["202"] = [173] let s:lib.Codec.decoding_table["203"] = [244] let s:lib.Codec.decoding_table["204"] = [246] let s:lib.Codec.decoding_table["205"] = [242] let s:lib.Codec.decoding_table["206"] = [243] let s:lib.Codec.decoding_table["207"] = [245] let s:lib.Codec.decoding_table["208"] = [125] let s:lib.Codec.decoding_table["209"] = [74] let s:lib.Codec.decoding_table["210"] = [75] let s:lib.Codec.decoding_table["211"] = [76] let s:lib.Codec.decoding_table["212"] = [77] let s:lib.Codec.decoding_table["213"] = [78] let s:lib.Codec.decoding_table["214"] = [79] let s:lib.Codec.decoding_table["215"] = [80] let s:lib.Codec.decoding_table["216"] = [81] let s:lib.Codec.decoding_table["217"] = [82] let s:lib.Codec.decoding_table["218"] = [185] let s:lib.Codec.decoding_table["219"] = [251] let s:lib.Codec.decoding_table["220"] = [252] let s:lib.Codec.decoding_table["221"] = [249] let s:lib.Codec.decoding_table["222"] = [250] let s:lib.Codec.decoding_table["223"] = [255] let s:lib.Codec.decoding_table["224"] = [92] let s:lib.Codec.decoding_table["225"] = [247] let s:lib.Codec.decoding_table["226"] = [83] let s:lib.Codec.decoding_table["227"] = [84] let s:lib.Codec.decoding_table["228"] = [85] let s:lib.Codec.decoding_table["229"] = [86] let s:lib.Codec.decoding_table["230"] = [87] let s:lib.Codec.decoding_table["231"] = [88] let s:lib.Codec.decoding_table["232"] = [89] let s:lib.Codec.decoding_table["233"] = [90] let s:lib.Codec.decoding_table["234"] = [178] let s:lib.Codec.decoding_table["235"] = [212] let s:lib.Codec.decoding_table["236"] = [214] let s:lib.Codec.decoding_table["237"] = [210] let s:lib.Codec.decoding_table["238"] = [211] let s:lib.Codec.decoding_table["239"] = [213] let s:lib.Codec.decoding_table["240"] = [48] let s:lib.Codec.decoding_table["241"] = [49] let s:lib.Codec.decoding_table["242"] = [50] let s:lib.Codec.decoding_table["243"] = [51] let s:lib.Codec.decoding_table["244"] = [52] let s:lib.Codec.decoding_table["245"] = [53] let s:lib.Codec.decoding_table["246"] = [54] let s:lib.Codec.decoding_table["247"] = [55] let s:lib.Codec.decoding_table["248"] = [56] let s:lib.Codec.decoding_table["249"] = [57] let s:lib.Codec.decoding_table["250"] = [179] let s:lib.Codec.decoding_table["251"] = [219] let s:lib.Codec.decoding_table["252"] = [220] let s:lib.Codec.decoding_table["253"] = [217] let s:lib.Codec.decoding_table["254"] = [218] let s:lib.Codec.decoding_table["255"] = [159] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["156"] = [4] let s:lib.Codec.encoding_table["9"] = [5] let s:lib.Codec.encoding_table["134"] = [6] let s:lib.Codec.encoding_table["127"] = [7] let s:lib.Codec.encoding_table["151"] = [8] let s:lib.Codec.encoding_table["141"] = [9] let s:lib.Codec.encoding_table["142"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["157"] = [20] let s:lib.Codec.encoding_table["133"] = [21] let s:lib.Codec.encoding_table["8"] = [22] let s:lib.Codec.encoding_table["135"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["146"] = [26] let s:lib.Codec.encoding_table["143"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["128"] = [32] let s:lib.Codec.encoding_table["129"] = [33] let s:lib.Codec.encoding_table["130"] = [34] let s:lib.Codec.encoding_table["131"] = [35] let s:lib.Codec.encoding_table["132"] = [36] let s:lib.Codec.encoding_table["10"] = [37] let s:lib.Codec.encoding_table["23"] = [38] let s:lib.Codec.encoding_table["27"] = [39] let s:lib.Codec.encoding_table["136"] = [40] let s:lib.Codec.encoding_table["137"] = [41] let s:lib.Codec.encoding_table["138"] = [42] let s:lib.Codec.encoding_table["139"] = [43] let s:lib.Codec.encoding_table["140"] = [44] let s:lib.Codec.encoding_table["5"] = [45] let s:lib.Codec.encoding_table["6"] = [46] let s:lib.Codec.encoding_table["7"] = [47] let s:lib.Codec.encoding_table["144"] = [48] let s:lib.Codec.encoding_table["145"] = [49] let s:lib.Codec.encoding_table["22"] = [50] let s:lib.Codec.encoding_table["147"] = [51] let s:lib.Codec.encoding_table["148"] = [52] let s:lib.Codec.encoding_table["149"] = [53] let s:lib.Codec.encoding_table["150"] = [54] let s:lib.Codec.encoding_table["4"] = [55] let s:lib.Codec.encoding_table["152"] = [56] let s:lib.Codec.encoding_table["153"] = [57] let s:lib.Codec.encoding_table["154"] = [58] let s:lib.Codec.encoding_table["155"] = [59] let s:lib.Codec.encoding_table["20"] = [60] let s:lib.Codec.encoding_table["21"] = [61] let s:lib.Codec.encoding_table["158"] = [62] let s:lib.Codec.encoding_table["26"] = [63] let s:lib.Codec.encoding_table["32"] = [64] let s:lib.Codec.encoding_table["160"] = [65] let s:lib.Codec.encoding_table["226"] = [66] let s:lib.Codec.encoding_table["228"] = [67] let s:lib.Codec.encoding_table["224"] = [68] let s:lib.Codec.encoding_table["225"] = [69] let s:lib.Codec.encoding_table["227"] = [70] let s:lib.Codec.encoding_table["229"] = [71] let s:lib.Codec.encoding_table["231"] = [72] let s:lib.Codec.encoding_table["241"] = [73] let s:lib.Codec.encoding_table["91"] = [74] let s:lib.Codec.encoding_table["46"] = [75] let s:lib.Codec.encoding_table["60"] = [76] let s:lib.Codec.encoding_table["40"] = [77] let s:lib.Codec.encoding_table["43"] = [78] let s:lib.Codec.encoding_table["33"] = [79] let s:lib.Codec.encoding_table["38"] = [80] let s:lib.Codec.encoding_table["233"] = [81] let s:lib.Codec.encoding_table["234"] = [82] let s:lib.Codec.encoding_table["235"] = [83] let s:lib.Codec.encoding_table["232"] = [84] let s:lib.Codec.encoding_table["237"] = [85] let s:lib.Codec.encoding_table["238"] = [86] let s:lib.Codec.encoding_table["239"] = [87] let s:lib.Codec.encoding_table["236"] = [88] let s:lib.Codec.encoding_table["223"] = [89] let s:lib.Codec.encoding_table["93"] = [90] let s:lib.Codec.encoding_table["36"] = [91] let s:lib.Codec.encoding_table["42"] = [92] let s:lib.Codec.encoding_table["41"] = [93] let s:lib.Codec.encoding_table["59"] = [94] let s:lib.Codec.encoding_table["94"] = [95] let s:lib.Codec.encoding_table["45"] = [96] let s:lib.Codec.encoding_table["47"] = [97] let s:lib.Codec.encoding_table["194"] = [98] let s:lib.Codec.encoding_table["196"] = [99] let s:lib.Codec.encoding_table["192"] = [100] let s:lib.Codec.encoding_table["193"] = [101] let s:lib.Codec.encoding_table["195"] = [102] let s:lib.Codec.encoding_table["197"] = [103] let s:lib.Codec.encoding_table["199"] = [104] let s:lib.Codec.encoding_table["209"] = [105] let s:lib.Codec.encoding_table["166"] = [106] let s:lib.Codec.encoding_table["44"] = [107] let s:lib.Codec.encoding_table["37"] = [108] let s:lib.Codec.encoding_table["95"] = [109] let s:lib.Codec.encoding_table["62"] = [110] let s:lib.Codec.encoding_table["63"] = [111] let s:lib.Codec.encoding_table["248"] = [112] let s:lib.Codec.encoding_table["201"] = [113] let s:lib.Codec.encoding_table["202"] = [114] let s:lib.Codec.encoding_table["203"] = [115] let s:lib.Codec.encoding_table["200"] = [116] let s:lib.Codec.encoding_table["205"] = [117] let s:lib.Codec.encoding_table["206"] = [118] let s:lib.Codec.encoding_table["207"] = [119] let s:lib.Codec.encoding_table["204"] = [120] let s:lib.Codec.encoding_table["96"] = [121] let s:lib.Codec.encoding_table["58"] = [122] let s:lib.Codec.encoding_table["35"] = [123] let s:lib.Codec.encoding_table["64"] = [124] let s:lib.Codec.encoding_table["39"] = [125] let s:lib.Codec.encoding_table["61"] = [126] let s:lib.Codec.encoding_table["34"] = [127] let s:lib.Codec.encoding_table["216"] = [128] let s:lib.Codec.encoding_table["97"] = [129] let s:lib.Codec.encoding_table["98"] = [130] let s:lib.Codec.encoding_table["99"] = [131] let s:lib.Codec.encoding_table["100"] = [132] let s:lib.Codec.encoding_table["101"] = [133] let s:lib.Codec.encoding_table["102"] = [134] let s:lib.Codec.encoding_table["103"] = [135] let s:lib.Codec.encoding_table["104"] = [136] let s:lib.Codec.encoding_table["105"] = [137] let s:lib.Codec.encoding_table["171"] = [138] let s:lib.Codec.encoding_table["187"] = [139] let s:lib.Codec.encoding_table["240"] = [140] let s:lib.Codec.encoding_table["253"] = [141] let s:lib.Codec.encoding_table["254"] = [142] let s:lib.Codec.encoding_table["177"] = [143] let s:lib.Codec.encoding_table["176"] = [144] let s:lib.Codec.encoding_table["106"] = [145] let s:lib.Codec.encoding_table["107"] = [146] let s:lib.Codec.encoding_table["108"] = [147] let s:lib.Codec.encoding_table["109"] = [148] let s:lib.Codec.encoding_table["110"] = [149] let s:lib.Codec.encoding_table["111"] = [150] let s:lib.Codec.encoding_table["112"] = [151] let s:lib.Codec.encoding_table["113"] = [152] let s:lib.Codec.encoding_table["114"] = [153] let s:lib.Codec.encoding_table["170"] = [154] let s:lib.Codec.encoding_table["186"] = [155] let s:lib.Codec.encoding_table["230"] = [156] let s:lib.Codec.encoding_table["184"] = [157] let s:lib.Codec.encoding_table["198"] = [158] let s:lib.Codec.encoding_table["164"] = [159] let s:lib.Codec.encoding_table["181"] = [160] let s:lib.Codec.encoding_table["126"] = [161] let s:lib.Codec.encoding_table["115"] = [162] let s:lib.Codec.encoding_table["116"] = [163] let s:lib.Codec.encoding_table["117"] = [164] let s:lib.Codec.encoding_table["118"] = [165] let s:lib.Codec.encoding_table["119"] = [166] let s:lib.Codec.encoding_table["120"] = [167] let s:lib.Codec.encoding_table["121"] = [168] let s:lib.Codec.encoding_table["122"] = [169] let s:lib.Codec.encoding_table["161"] = [170] let s:lib.Codec.encoding_table["191"] = [171] let s:lib.Codec.encoding_table["208"] = [172] let s:lib.Codec.encoding_table["221"] = [173] let s:lib.Codec.encoding_table["222"] = [174] let s:lib.Codec.encoding_table["174"] = [175] let s:lib.Codec.encoding_table["162"] = [176] let s:lib.Codec.encoding_table["163"] = [177] let s:lib.Codec.encoding_table["165"] = [178] let s:lib.Codec.encoding_table["183"] = [179] let s:lib.Codec.encoding_table["169"] = [180] let s:lib.Codec.encoding_table["167"] = [181] let s:lib.Codec.encoding_table["182"] = [182] let s:lib.Codec.encoding_table["188"] = [183] let s:lib.Codec.encoding_table["189"] = [184] let s:lib.Codec.encoding_table["190"] = [185] let s:lib.Codec.encoding_table["172"] = [186] let s:lib.Codec.encoding_table["124"] = [187] let s:lib.Codec.encoding_table["175"] = [188] let s:lib.Codec.encoding_table["168"] = [189] let s:lib.Codec.encoding_table["180"] = [190] let s:lib.Codec.encoding_table["215"] = [191] let s:lib.Codec.encoding_table["123"] = [192] let s:lib.Codec.encoding_table["65"] = [193] let s:lib.Codec.encoding_table["66"] = [194] let s:lib.Codec.encoding_table["67"] = [195] let s:lib.Codec.encoding_table["68"] = [196] let s:lib.Codec.encoding_table["69"] = [197] let s:lib.Codec.encoding_table["70"] = [198] let s:lib.Codec.encoding_table["71"] = [199] let s:lib.Codec.encoding_table["72"] = [200] let s:lib.Codec.encoding_table["73"] = [201] let s:lib.Codec.encoding_table["173"] = [202] let s:lib.Codec.encoding_table["244"] = [203] let s:lib.Codec.encoding_table["246"] = [204] let s:lib.Codec.encoding_table["242"] = [205] let s:lib.Codec.encoding_table["243"] = [206] let s:lib.Codec.encoding_table["245"] = [207] let s:lib.Codec.encoding_table["125"] = [208] let s:lib.Codec.encoding_table["74"] = [209] let s:lib.Codec.encoding_table["75"] = [210] let s:lib.Codec.encoding_table["76"] = [211] let s:lib.Codec.encoding_table["77"] = [212] let s:lib.Codec.encoding_table["78"] = [213] let s:lib.Codec.encoding_table["79"] = [214] let s:lib.Codec.encoding_table["80"] = [215] let s:lib.Codec.encoding_table["81"] = [216] let s:lib.Codec.encoding_table["82"] = [217] let s:lib.Codec.encoding_table["185"] = [218] let s:lib.Codec.encoding_table["251"] = [219] let s:lib.Codec.encoding_table["252"] = [220] let s:lib.Codec.encoding_table["249"] = [221] let s:lib.Codec.encoding_table["250"] = [222] let s:lib.Codec.encoding_table["255"] = [223] let s:lib.Codec.encoding_table["92"] = [224] let s:lib.Codec.encoding_table["247"] = [225] let s:lib.Codec.encoding_table["83"] = [226] let s:lib.Codec.encoding_table["84"] = [227] let s:lib.Codec.encoding_table["85"] = [228] let s:lib.Codec.encoding_table["86"] = [229] let s:lib.Codec.encoding_table["87"] = [230] let s:lib.Codec.encoding_table["88"] = [231] let s:lib.Codec.encoding_table["89"] = [232] let s:lib.Codec.encoding_table["90"] = [233] let s:lib.Codec.encoding_table["178"] = [234] let s:lib.Codec.encoding_table["212"] = [235] let s:lib.Codec.encoding_table["214"] = [236] let s:lib.Codec.encoding_table["210"] = [237] let s:lib.Codec.encoding_table["211"] = [238] let s:lib.Codec.encoding_table["213"] = [239] let s:lib.Codec.encoding_table["48"] = [240] let s:lib.Codec.encoding_table["49"] = [241] let s:lib.Codec.encoding_table["50"] = [242] let s:lib.Codec.encoding_table["51"] = [243] let s:lib.Codec.encoding_table["52"] = [244] let s:lib.Codec.encoding_table["53"] = [245] let s:lib.Codec.encoding_table["54"] = [246] let s:lib.Codec.encoding_table["55"] = [247] let s:lib.Codec.encoding_table["56"] = [248] let s:lib.Codec.encoding_table["57"] = [249] let s:lib.Codec.encoding_table["179"] = [250] let s:lib.Codec.encoding_table["219"] = [251] let s:lib.Codec.encoding_table["220"] = [252] let s:lib.Codec.encoding_table["217"] = [253] let s:lib.Codec.encoding_table["218"] = [254] let s:lib.Codec.encoding_table["159"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp737.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp737#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP737" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [913] let s:lib.Codec.decoding_table["129"] = [914] let s:lib.Codec.decoding_table["130"] = [915] let s:lib.Codec.decoding_table["131"] = [916] let s:lib.Codec.decoding_table["132"] = [917] let s:lib.Codec.decoding_table["133"] = [918] let s:lib.Codec.decoding_table["134"] = [919] let s:lib.Codec.decoding_table["135"] = [920] let s:lib.Codec.decoding_table["136"] = [921] let s:lib.Codec.decoding_table["137"] = [922] let s:lib.Codec.decoding_table["138"] = [923] let s:lib.Codec.decoding_table["139"] = [924] let s:lib.Codec.decoding_table["140"] = [925] let s:lib.Codec.decoding_table["141"] = [926] let s:lib.Codec.decoding_table["142"] = [927] let s:lib.Codec.decoding_table["143"] = [928] let s:lib.Codec.decoding_table["144"] = [929] let s:lib.Codec.decoding_table["145"] = [931] let s:lib.Codec.decoding_table["146"] = [932] let s:lib.Codec.decoding_table["147"] = [933] let s:lib.Codec.decoding_table["148"] = [934] let s:lib.Codec.decoding_table["149"] = [935] let s:lib.Codec.decoding_table["150"] = [936] let s:lib.Codec.decoding_table["151"] = [937] let s:lib.Codec.decoding_table["152"] = [945] let s:lib.Codec.decoding_table["153"] = [946] let s:lib.Codec.decoding_table["154"] = [947] let s:lib.Codec.decoding_table["155"] = [948] let s:lib.Codec.decoding_table["156"] = [949] let s:lib.Codec.decoding_table["157"] = [950] let s:lib.Codec.decoding_table["158"] = [951] let s:lib.Codec.decoding_table["159"] = [952] let s:lib.Codec.decoding_table["160"] = [953] let s:lib.Codec.decoding_table["161"] = [954] let s:lib.Codec.decoding_table["162"] = [955] let s:lib.Codec.decoding_table["163"] = [956] let s:lib.Codec.decoding_table["164"] = [957] let s:lib.Codec.decoding_table["165"] = [958] let s:lib.Codec.decoding_table["166"] = [959] let s:lib.Codec.decoding_table["167"] = [960] let s:lib.Codec.decoding_table["168"] = [961] let s:lib.Codec.decoding_table["169"] = [963] let s:lib.Codec.decoding_table["170"] = [962] let s:lib.Codec.decoding_table["171"] = [964] let s:lib.Codec.decoding_table["172"] = [965] let s:lib.Codec.decoding_table["173"] = [966] let s:lib.Codec.decoding_table["174"] = [967] let s:lib.Codec.decoding_table["175"] = [968] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [9569] let s:lib.Codec.decoding_table["182"] = [9570] let s:lib.Codec.decoding_table["183"] = [9558] let s:lib.Codec.decoding_table["184"] = [9557] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [9564] let s:lib.Codec.decoding_table["190"] = [9563] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [9566] let s:lib.Codec.decoding_table["199"] = [9567] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [9575] let s:lib.Codec.decoding_table["208"] = [9576] let s:lib.Codec.decoding_table["209"] = [9572] let s:lib.Codec.decoding_table["210"] = [9573] let s:lib.Codec.decoding_table["211"] = [9561] let s:lib.Codec.decoding_table["212"] = [9560] let s:lib.Codec.decoding_table["213"] = [9554] let s:lib.Codec.decoding_table["214"] = [9555] let s:lib.Codec.decoding_table["215"] = [9579] let s:lib.Codec.decoding_table["216"] = [9578] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [969] let s:lib.Codec.decoding_table["225"] = [940] let s:lib.Codec.decoding_table["226"] = [941] let s:lib.Codec.decoding_table["227"] = [942] let s:lib.Codec.decoding_table["228"] = [970] let s:lib.Codec.decoding_table["229"] = [943] let s:lib.Codec.decoding_table["230"] = [972] let s:lib.Codec.decoding_table["231"] = [973] let s:lib.Codec.decoding_table["232"] = [971] let s:lib.Codec.decoding_table["233"] = [974] let s:lib.Codec.decoding_table["234"] = [902] let s:lib.Codec.decoding_table["235"] = [904] let s:lib.Codec.decoding_table["236"] = [905] let s:lib.Codec.decoding_table["237"] = [906] let s:lib.Codec.decoding_table["238"] = [908] let s:lib.Codec.decoding_table["239"] = [910] let s:lib.Codec.decoding_table["240"] = [911] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8805] let s:lib.Codec.decoding_table["243"] = [8804] let s:lib.Codec.decoding_table["244"] = [938] let s:lib.Codec.decoding_table["245"] = [939] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [8776] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [8730] let s:lib.Codec.decoding_table["252"] = [8319] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["913"] = [128] let s:lib.Codec.encoding_table["914"] = [129] let s:lib.Codec.encoding_table["915"] = [130] let s:lib.Codec.encoding_table["916"] = [131] let s:lib.Codec.encoding_table["917"] = [132] let s:lib.Codec.encoding_table["918"] = [133] let s:lib.Codec.encoding_table["919"] = [134] let s:lib.Codec.encoding_table["920"] = [135] let s:lib.Codec.encoding_table["921"] = [136] let s:lib.Codec.encoding_table["922"] = [137] let s:lib.Codec.encoding_table["923"] = [138] let s:lib.Codec.encoding_table["924"] = [139] let s:lib.Codec.encoding_table["925"] = [140] let s:lib.Codec.encoding_table["926"] = [141] let s:lib.Codec.encoding_table["927"] = [142] let s:lib.Codec.encoding_table["928"] = [143] let s:lib.Codec.encoding_table["929"] = [144] let s:lib.Codec.encoding_table["931"] = [145] let s:lib.Codec.encoding_table["932"] = [146] let s:lib.Codec.encoding_table["933"] = [147] let s:lib.Codec.encoding_table["934"] = [148] let s:lib.Codec.encoding_table["935"] = [149] let s:lib.Codec.encoding_table["936"] = [150] let s:lib.Codec.encoding_table["937"] = [151] let s:lib.Codec.encoding_table["945"] = [152] let s:lib.Codec.encoding_table["946"] = [153] let s:lib.Codec.encoding_table["947"] = [154] let s:lib.Codec.encoding_table["948"] = [155] let s:lib.Codec.encoding_table["949"] = [156] let s:lib.Codec.encoding_table["950"] = [157] let s:lib.Codec.encoding_table["951"] = [158] let s:lib.Codec.encoding_table["952"] = [159] let s:lib.Codec.encoding_table["953"] = [160] let s:lib.Codec.encoding_table["954"] = [161] let s:lib.Codec.encoding_table["955"] = [162] let s:lib.Codec.encoding_table["956"] = [163] let s:lib.Codec.encoding_table["957"] = [164] let s:lib.Codec.encoding_table["958"] = [165] let s:lib.Codec.encoding_table["959"] = [166] let s:lib.Codec.encoding_table["960"] = [167] let s:lib.Codec.encoding_table["961"] = [168] let s:lib.Codec.encoding_table["963"] = [169] let s:lib.Codec.encoding_table["962"] = [170] let s:lib.Codec.encoding_table["964"] = [171] let s:lib.Codec.encoding_table["965"] = [172] let s:lib.Codec.encoding_table["966"] = [173] let s:lib.Codec.encoding_table["967"] = [174] let s:lib.Codec.encoding_table["968"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["9569"] = [181] let s:lib.Codec.encoding_table["9570"] = [182] let s:lib.Codec.encoding_table["9558"] = [183] let s:lib.Codec.encoding_table["9557"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["9564"] = [189] let s:lib.Codec.encoding_table["9563"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["9566"] = [198] let s:lib.Codec.encoding_table["9567"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["9575"] = [207] let s:lib.Codec.encoding_table["9576"] = [208] let s:lib.Codec.encoding_table["9572"] = [209] let s:lib.Codec.encoding_table["9573"] = [210] let s:lib.Codec.encoding_table["9561"] = [211] let s:lib.Codec.encoding_table["9560"] = [212] let s:lib.Codec.encoding_table["9554"] = [213] let s:lib.Codec.encoding_table["9555"] = [214] let s:lib.Codec.encoding_table["9579"] = [215] let s:lib.Codec.encoding_table["9578"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["969"] = [224] let s:lib.Codec.encoding_table["940"] = [225] let s:lib.Codec.encoding_table["941"] = [226] let s:lib.Codec.encoding_table["942"] = [227] let s:lib.Codec.encoding_table["970"] = [228] let s:lib.Codec.encoding_table["943"] = [229] let s:lib.Codec.encoding_table["972"] = [230] let s:lib.Codec.encoding_table["973"] = [231] let s:lib.Codec.encoding_table["971"] = [232] let s:lib.Codec.encoding_table["974"] = [233] let s:lib.Codec.encoding_table["902"] = [234] let s:lib.Codec.encoding_table["904"] = [235] let s:lib.Codec.encoding_table["905"] = [236] let s:lib.Codec.encoding_table["906"] = [237] let s:lib.Codec.encoding_table["908"] = [238] let s:lib.Codec.encoding_table["910"] = [239] let s:lib.Codec.encoding_table["911"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8805"] = [242] let s:lib.Codec.encoding_table["8804"] = [243] let s:lib.Codec.encoding_table["938"] = [244] let s:lib.Codec.encoding_table["939"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["8776"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["8730"] = [251] let s:lib.Codec.encoding_table["8319"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp775.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp775#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP775" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [262] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [257] let s:lib.Codec.decoding_table["132"] = [228] let s:lib.Codec.decoding_table["133"] = [291] let s:lib.Codec.decoding_table["134"] = [229] let s:lib.Codec.decoding_table["135"] = [263] let s:lib.Codec.decoding_table["136"] = [322] let s:lib.Codec.decoding_table["137"] = [275] let s:lib.Codec.decoding_table["138"] = [342] let s:lib.Codec.decoding_table["139"] = [343] let s:lib.Codec.decoding_table["140"] = [299] let s:lib.Codec.decoding_table["141"] = [377] let s:lib.Codec.decoding_table["142"] = [196] let s:lib.Codec.decoding_table["143"] = [197] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [230] let s:lib.Codec.decoding_table["146"] = [198] let s:lib.Codec.decoding_table["147"] = [333] let s:lib.Codec.decoding_table["148"] = [246] let s:lib.Codec.decoding_table["149"] = [290] let s:lib.Codec.decoding_table["150"] = [162] let s:lib.Codec.decoding_table["151"] = [346] let s:lib.Codec.decoding_table["152"] = [347] let s:lib.Codec.decoding_table["153"] = [214] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [248] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [216] let s:lib.Codec.decoding_table["158"] = [215] let s:lib.Codec.decoding_table["159"] = [164] let s:lib.Codec.decoding_table["160"] = [256] let s:lib.Codec.decoding_table["161"] = [298] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [379] let s:lib.Codec.decoding_table["164"] = [380] let s:lib.Codec.decoding_table["165"] = [378] let s:lib.Codec.decoding_table["166"] = [8221] let s:lib.Codec.decoding_table["167"] = [166] let s:lib.Codec.decoding_table["168"] = [169] let s:lib.Codec.decoding_table["169"] = [174] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [321] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [260] let s:lib.Codec.decoding_table["182"] = [268] let s:lib.Codec.decoding_table["183"] = [280] let s:lib.Codec.decoding_table["184"] = [278] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [302] let s:lib.Codec.decoding_table["190"] = [352] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [370] let s:lib.Codec.decoding_table["199"] = [362] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [381] let s:lib.Codec.decoding_table["208"] = [261] let s:lib.Codec.decoding_table["209"] = [269] let s:lib.Codec.decoding_table["210"] = [281] let s:lib.Codec.decoding_table["211"] = [279] let s:lib.Codec.decoding_table["212"] = [303] let s:lib.Codec.decoding_table["213"] = [353] let s:lib.Codec.decoding_table["214"] = [371] let s:lib.Codec.decoding_table["215"] = [363] let s:lib.Codec.decoding_table["216"] = [382] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [211] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [332] let s:lib.Codec.decoding_table["227"] = [323] let s:lib.Codec.decoding_table["228"] = [245] let s:lib.Codec.decoding_table["229"] = [213] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["231"] = [324] let s:lib.Codec.decoding_table["232"] = [310] let s:lib.Codec.decoding_table["233"] = [311] let s:lib.Codec.decoding_table["234"] = [315] let s:lib.Codec.decoding_table["235"] = [316] let s:lib.Codec.decoding_table["236"] = [326] let s:lib.Codec.decoding_table["237"] = [274] let s:lib.Codec.decoding_table["238"] = [325] let s:lib.Codec.decoding_table["239"] = [8217] let s:lib.Codec.decoding_table["240"] = [173] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8220] let s:lib.Codec.decoding_table["243"] = [190] let s:lib.Codec.decoding_table["244"] = [182] let s:lib.Codec.decoding_table["245"] = [167] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [8222] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [185] let s:lib.Codec.decoding_table["252"] = [179] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["262"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["257"] = [131] let s:lib.Codec.encoding_table["228"] = [132] let s:lib.Codec.encoding_table["291"] = [133] let s:lib.Codec.encoding_table["229"] = [134] let s:lib.Codec.encoding_table["263"] = [135] let s:lib.Codec.encoding_table["322"] = [136] let s:lib.Codec.encoding_table["275"] = [137] let s:lib.Codec.encoding_table["342"] = [138] let s:lib.Codec.encoding_table["343"] = [139] let s:lib.Codec.encoding_table["299"] = [140] let s:lib.Codec.encoding_table["377"] = [141] let s:lib.Codec.encoding_table["196"] = [142] let s:lib.Codec.encoding_table["197"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["230"] = [145] let s:lib.Codec.encoding_table["198"] = [146] let s:lib.Codec.encoding_table["333"] = [147] let s:lib.Codec.encoding_table["246"] = [148] let s:lib.Codec.encoding_table["290"] = [149] let s:lib.Codec.encoding_table["162"] = [150] let s:lib.Codec.encoding_table["346"] = [151] let s:lib.Codec.encoding_table["347"] = [152] let s:lib.Codec.encoding_table["214"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["248"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["216"] = [157] let s:lib.Codec.encoding_table["215"] = [158] let s:lib.Codec.encoding_table["164"] = [159] let s:lib.Codec.encoding_table["256"] = [160] let s:lib.Codec.encoding_table["298"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["379"] = [163] let s:lib.Codec.encoding_table["380"] = [164] let s:lib.Codec.encoding_table["378"] = [165] let s:lib.Codec.encoding_table["8221"] = [166] let s:lib.Codec.encoding_table["166"] = [167] let s:lib.Codec.encoding_table["169"] = [168] let s:lib.Codec.encoding_table["174"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["321"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["260"] = [181] let s:lib.Codec.encoding_table["268"] = [182] let s:lib.Codec.encoding_table["280"] = [183] let s:lib.Codec.encoding_table["278"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["302"] = [189] let s:lib.Codec.encoding_table["352"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["370"] = [198] let s:lib.Codec.encoding_table["362"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["381"] = [207] let s:lib.Codec.encoding_table["261"] = [208] let s:lib.Codec.encoding_table["269"] = [209] let s:lib.Codec.encoding_table["281"] = [210] let s:lib.Codec.encoding_table["279"] = [211] let s:lib.Codec.encoding_table["303"] = [212] let s:lib.Codec.encoding_table["353"] = [213] let s:lib.Codec.encoding_table["371"] = [214] let s:lib.Codec.encoding_table["363"] = [215] let s:lib.Codec.encoding_table["382"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["211"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["332"] = [226] let s:lib.Codec.encoding_table["323"] = [227] let s:lib.Codec.encoding_table["245"] = [228] let s:lib.Codec.encoding_table["213"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["324"] = [231] let s:lib.Codec.encoding_table["310"] = [232] let s:lib.Codec.encoding_table["311"] = [233] let s:lib.Codec.encoding_table["315"] = [234] let s:lib.Codec.encoding_table["316"] = [235] let s:lib.Codec.encoding_table["326"] = [236] let s:lib.Codec.encoding_table["274"] = [237] let s:lib.Codec.encoding_table["325"] = [238] let s:lib.Codec.encoding_table["8217"] = [239] let s:lib.Codec.encoding_table["173"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8220"] = [242] let s:lib.Codec.encoding_table["190"] = [243] let s:lib.Codec.encoding_table["182"] = [244] let s:lib.Codec.encoding_table["167"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["8222"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["185"] = [251] let s:lib.Codec.encoding_table["179"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp850.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp850#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP850" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [199] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [226] let s:lib.Codec.decoding_table["132"] = [228] let s:lib.Codec.decoding_table["133"] = [224] let s:lib.Codec.decoding_table["134"] = [229] let s:lib.Codec.decoding_table["135"] = [231] let s:lib.Codec.decoding_table["136"] = [234] let s:lib.Codec.decoding_table["137"] = [235] let s:lib.Codec.decoding_table["138"] = [232] let s:lib.Codec.decoding_table["139"] = [239] let s:lib.Codec.decoding_table["140"] = [238] let s:lib.Codec.decoding_table["141"] = [236] let s:lib.Codec.decoding_table["142"] = [196] let s:lib.Codec.decoding_table["143"] = [197] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [230] let s:lib.Codec.decoding_table["146"] = [198] let s:lib.Codec.decoding_table["147"] = [244] let s:lib.Codec.decoding_table["148"] = [246] let s:lib.Codec.decoding_table["149"] = [242] let s:lib.Codec.decoding_table["150"] = [251] let s:lib.Codec.decoding_table["151"] = [249] let s:lib.Codec.decoding_table["152"] = [255] let s:lib.Codec.decoding_table["153"] = [214] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [248] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [216] let s:lib.Codec.decoding_table["158"] = [215] let s:lib.Codec.decoding_table["159"] = [402] let s:lib.Codec.decoding_table["160"] = [225] let s:lib.Codec.decoding_table["161"] = [237] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [241] let s:lib.Codec.decoding_table["165"] = [209] let s:lib.Codec.decoding_table["166"] = [170] let s:lib.Codec.decoding_table["167"] = [186] let s:lib.Codec.decoding_table["168"] = [191] let s:lib.Codec.decoding_table["169"] = [174] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [161] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [193] let s:lib.Codec.decoding_table["182"] = [194] let s:lib.Codec.decoding_table["183"] = [192] let s:lib.Codec.decoding_table["184"] = [169] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [162] let s:lib.Codec.decoding_table["190"] = [165] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [227] let s:lib.Codec.decoding_table["199"] = [195] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [164] let s:lib.Codec.decoding_table["208"] = [240] let s:lib.Codec.decoding_table["209"] = [208] let s:lib.Codec.decoding_table["210"] = [202] let s:lib.Codec.decoding_table["211"] = [203] let s:lib.Codec.decoding_table["212"] = [200] let s:lib.Codec.decoding_table["213"] = [305] let s:lib.Codec.decoding_table["214"] = [205] let s:lib.Codec.decoding_table["215"] = [206] let s:lib.Codec.decoding_table["216"] = [207] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [166] let s:lib.Codec.decoding_table["222"] = [204] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [211] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [212] let s:lib.Codec.decoding_table["227"] = [210] let s:lib.Codec.decoding_table["228"] = [245] let s:lib.Codec.decoding_table["229"] = [213] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["231"] = [254] let s:lib.Codec.decoding_table["232"] = [222] let s:lib.Codec.decoding_table["233"] = [218] let s:lib.Codec.decoding_table["234"] = [219] let s:lib.Codec.decoding_table["235"] = [217] let s:lib.Codec.decoding_table["236"] = [253] let s:lib.Codec.decoding_table["237"] = [221] let s:lib.Codec.decoding_table["238"] = [175] let s:lib.Codec.decoding_table["239"] = [180] let s:lib.Codec.decoding_table["240"] = [173] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8215] let s:lib.Codec.decoding_table["243"] = [190] let s:lib.Codec.decoding_table["244"] = [182] let s:lib.Codec.decoding_table["245"] = [167] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [184] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [168] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [185] let s:lib.Codec.decoding_table["252"] = [179] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["199"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["226"] = [131] let s:lib.Codec.encoding_table["228"] = [132] let s:lib.Codec.encoding_table["224"] = [133] let s:lib.Codec.encoding_table["229"] = [134] let s:lib.Codec.encoding_table["231"] = [135] let s:lib.Codec.encoding_table["234"] = [136] let s:lib.Codec.encoding_table["235"] = [137] let s:lib.Codec.encoding_table["232"] = [138] let s:lib.Codec.encoding_table["239"] = [139] let s:lib.Codec.encoding_table["238"] = [140] let s:lib.Codec.encoding_table["236"] = [141] let s:lib.Codec.encoding_table["196"] = [142] let s:lib.Codec.encoding_table["197"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["230"] = [145] let s:lib.Codec.encoding_table["198"] = [146] let s:lib.Codec.encoding_table["244"] = [147] let s:lib.Codec.encoding_table["246"] = [148] let s:lib.Codec.encoding_table["242"] = [149] let s:lib.Codec.encoding_table["251"] = [150] let s:lib.Codec.encoding_table["249"] = [151] let s:lib.Codec.encoding_table["255"] = [152] let s:lib.Codec.encoding_table["214"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["248"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["216"] = [157] let s:lib.Codec.encoding_table["215"] = [158] let s:lib.Codec.encoding_table["402"] = [159] let s:lib.Codec.encoding_table["225"] = [160] let s:lib.Codec.encoding_table["237"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["241"] = [164] let s:lib.Codec.encoding_table["209"] = [165] let s:lib.Codec.encoding_table["170"] = [166] let s:lib.Codec.encoding_table["186"] = [167] let s:lib.Codec.encoding_table["191"] = [168] let s:lib.Codec.encoding_table["174"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["161"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["193"] = [181] let s:lib.Codec.encoding_table["194"] = [182] let s:lib.Codec.encoding_table["192"] = [183] let s:lib.Codec.encoding_table["169"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["162"] = [189] let s:lib.Codec.encoding_table["165"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["227"] = [198] let s:lib.Codec.encoding_table["195"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["164"] = [207] let s:lib.Codec.encoding_table["240"] = [208] let s:lib.Codec.encoding_table["208"] = [209] let s:lib.Codec.encoding_table["202"] = [210] let s:lib.Codec.encoding_table["203"] = [211] let s:lib.Codec.encoding_table["200"] = [212] let s:lib.Codec.encoding_table["305"] = [213] let s:lib.Codec.encoding_table["205"] = [214] let s:lib.Codec.encoding_table["206"] = [215] let s:lib.Codec.encoding_table["207"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["166"] = [221] let s:lib.Codec.encoding_table["204"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["211"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["212"] = [226] let s:lib.Codec.encoding_table["210"] = [227] let s:lib.Codec.encoding_table["245"] = [228] let s:lib.Codec.encoding_table["213"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["254"] = [231] let s:lib.Codec.encoding_table["222"] = [232] let s:lib.Codec.encoding_table["218"] = [233] let s:lib.Codec.encoding_table["219"] = [234] let s:lib.Codec.encoding_table["217"] = [235] let s:lib.Codec.encoding_table["253"] = [236] let s:lib.Codec.encoding_table["221"] = [237] let s:lib.Codec.encoding_table["175"] = [238] let s:lib.Codec.encoding_table["180"] = [239] let s:lib.Codec.encoding_table["173"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8215"] = [242] let s:lib.Codec.encoding_table["190"] = [243] let s:lib.Codec.encoding_table["182"] = [244] let s:lib.Codec.encoding_table["167"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["184"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["168"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["185"] = [251] let s:lib.Codec.encoding_table["179"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp852.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp852#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP852" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [199] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [226] let s:lib.Codec.decoding_table["132"] = [228] let s:lib.Codec.decoding_table["133"] = [367] let s:lib.Codec.decoding_table["134"] = [263] let s:lib.Codec.decoding_table["135"] = [231] let s:lib.Codec.decoding_table["136"] = [322] let s:lib.Codec.decoding_table["137"] = [235] let s:lib.Codec.decoding_table["138"] = [336] let s:lib.Codec.decoding_table["139"] = [337] let s:lib.Codec.decoding_table["140"] = [238] let s:lib.Codec.decoding_table["141"] = [377] let s:lib.Codec.decoding_table["142"] = [196] let s:lib.Codec.decoding_table["143"] = [262] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [313] let s:lib.Codec.decoding_table["146"] = [314] let s:lib.Codec.decoding_table["147"] = [244] let s:lib.Codec.decoding_table["148"] = [246] let s:lib.Codec.decoding_table["149"] = [317] let s:lib.Codec.decoding_table["150"] = [318] let s:lib.Codec.decoding_table["151"] = [346] let s:lib.Codec.decoding_table["152"] = [347] let s:lib.Codec.decoding_table["153"] = [214] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [356] let s:lib.Codec.decoding_table["156"] = [357] let s:lib.Codec.decoding_table["157"] = [321] let s:lib.Codec.decoding_table["158"] = [215] let s:lib.Codec.decoding_table["159"] = [269] let s:lib.Codec.decoding_table["160"] = [225] let s:lib.Codec.decoding_table["161"] = [237] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [260] let s:lib.Codec.decoding_table["165"] = [261] let s:lib.Codec.decoding_table["166"] = [381] let s:lib.Codec.decoding_table["167"] = [382] let s:lib.Codec.decoding_table["168"] = [280] let s:lib.Codec.decoding_table["169"] = [281] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [378] let s:lib.Codec.decoding_table["172"] = [268] let s:lib.Codec.decoding_table["173"] = [351] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [193] let s:lib.Codec.decoding_table["182"] = [194] let s:lib.Codec.decoding_table["183"] = [282] let s:lib.Codec.decoding_table["184"] = [350] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [379] let s:lib.Codec.decoding_table["190"] = [380] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [258] let s:lib.Codec.decoding_table["199"] = [259] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [164] let s:lib.Codec.decoding_table["208"] = [273] let s:lib.Codec.decoding_table["209"] = [272] let s:lib.Codec.decoding_table["210"] = [270] let s:lib.Codec.decoding_table["211"] = [203] let s:lib.Codec.decoding_table["212"] = [271] let s:lib.Codec.decoding_table["213"] = [327] let s:lib.Codec.decoding_table["214"] = [205] let s:lib.Codec.decoding_table["215"] = [206] let s:lib.Codec.decoding_table["216"] = [283] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [354] let s:lib.Codec.decoding_table["222"] = [366] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [211] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [212] let s:lib.Codec.decoding_table["227"] = [323] let s:lib.Codec.decoding_table["228"] = [324] let s:lib.Codec.decoding_table["229"] = [328] let s:lib.Codec.decoding_table["230"] = [352] let s:lib.Codec.decoding_table["231"] = [353] let s:lib.Codec.decoding_table["232"] = [340] let s:lib.Codec.decoding_table["233"] = [218] let s:lib.Codec.decoding_table["234"] = [341] let s:lib.Codec.decoding_table["235"] = [368] let s:lib.Codec.decoding_table["236"] = [253] let s:lib.Codec.decoding_table["237"] = [221] let s:lib.Codec.decoding_table["238"] = [355] let s:lib.Codec.decoding_table["239"] = [180] let s:lib.Codec.decoding_table["240"] = [173] let s:lib.Codec.decoding_table["241"] = [733] let s:lib.Codec.decoding_table["242"] = [731] let s:lib.Codec.decoding_table["243"] = [711] let s:lib.Codec.decoding_table["244"] = [728] let s:lib.Codec.decoding_table["245"] = [167] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [184] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [168] let s:lib.Codec.decoding_table["250"] = [729] let s:lib.Codec.decoding_table["251"] = [369] let s:lib.Codec.decoding_table["252"] = [344] let s:lib.Codec.decoding_table["253"] = [345] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["199"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["226"] = [131] let s:lib.Codec.encoding_table["228"] = [132] let s:lib.Codec.encoding_table["367"] = [133] let s:lib.Codec.encoding_table["263"] = [134] let s:lib.Codec.encoding_table["231"] = [135] let s:lib.Codec.encoding_table["322"] = [136] let s:lib.Codec.encoding_table["235"] = [137] let s:lib.Codec.encoding_table["336"] = [138] let s:lib.Codec.encoding_table["337"] = [139] let s:lib.Codec.encoding_table["238"] = [140] let s:lib.Codec.encoding_table["377"] = [141] let s:lib.Codec.encoding_table["196"] = [142] let s:lib.Codec.encoding_table["262"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["313"] = [145] let s:lib.Codec.encoding_table["314"] = [146] let s:lib.Codec.encoding_table["244"] = [147] let s:lib.Codec.encoding_table["246"] = [148] let s:lib.Codec.encoding_table["317"] = [149] let s:lib.Codec.encoding_table["318"] = [150] let s:lib.Codec.encoding_table["346"] = [151] let s:lib.Codec.encoding_table["347"] = [152] let s:lib.Codec.encoding_table["214"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["356"] = [155] let s:lib.Codec.encoding_table["357"] = [156] let s:lib.Codec.encoding_table["321"] = [157] let s:lib.Codec.encoding_table["215"] = [158] let s:lib.Codec.encoding_table["269"] = [159] let s:lib.Codec.encoding_table["225"] = [160] let s:lib.Codec.encoding_table["237"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["260"] = [164] let s:lib.Codec.encoding_table["261"] = [165] let s:lib.Codec.encoding_table["381"] = [166] let s:lib.Codec.encoding_table["382"] = [167] let s:lib.Codec.encoding_table["280"] = [168] let s:lib.Codec.encoding_table["281"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["378"] = [171] let s:lib.Codec.encoding_table["268"] = [172] let s:lib.Codec.encoding_table["351"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["193"] = [181] let s:lib.Codec.encoding_table["194"] = [182] let s:lib.Codec.encoding_table["282"] = [183] let s:lib.Codec.encoding_table["350"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["379"] = [189] let s:lib.Codec.encoding_table["380"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["258"] = [198] let s:lib.Codec.encoding_table["259"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["164"] = [207] let s:lib.Codec.encoding_table["273"] = [208] let s:lib.Codec.encoding_table["272"] = [209] let s:lib.Codec.encoding_table["270"] = [210] let s:lib.Codec.encoding_table["203"] = [211] let s:lib.Codec.encoding_table["271"] = [212] let s:lib.Codec.encoding_table["327"] = [213] let s:lib.Codec.encoding_table["205"] = [214] let s:lib.Codec.encoding_table["206"] = [215] let s:lib.Codec.encoding_table["283"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["354"] = [221] let s:lib.Codec.encoding_table["366"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["211"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["212"] = [226] let s:lib.Codec.encoding_table["323"] = [227] let s:lib.Codec.encoding_table["324"] = [228] let s:lib.Codec.encoding_table["328"] = [229] let s:lib.Codec.encoding_table["352"] = [230] let s:lib.Codec.encoding_table["353"] = [231] let s:lib.Codec.encoding_table["340"] = [232] let s:lib.Codec.encoding_table["218"] = [233] let s:lib.Codec.encoding_table["341"] = [234] let s:lib.Codec.encoding_table["368"] = [235] let s:lib.Codec.encoding_table["253"] = [236] let s:lib.Codec.encoding_table["221"] = [237] let s:lib.Codec.encoding_table["355"] = [238] let s:lib.Codec.encoding_table["180"] = [239] let s:lib.Codec.encoding_table["173"] = [240] let s:lib.Codec.encoding_table["733"] = [241] let s:lib.Codec.encoding_table["731"] = [242] let s:lib.Codec.encoding_table["711"] = [243] let s:lib.Codec.encoding_table["728"] = [244] let s:lib.Codec.encoding_table["167"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["184"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["168"] = [249] let s:lib.Codec.encoding_table["729"] = [250] let s:lib.Codec.encoding_table["369"] = [251] let s:lib.Codec.encoding_table["344"] = [252] let s:lib.Codec.encoding_table["345"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp855.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp855#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP855" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [1106] let s:lib.Codec.decoding_table["129"] = [1026] let s:lib.Codec.decoding_table["130"] = [1107] let s:lib.Codec.decoding_table["131"] = [1027] let s:lib.Codec.decoding_table["132"] = [1105] let s:lib.Codec.decoding_table["133"] = [1025] let s:lib.Codec.decoding_table["134"] = [1108] let s:lib.Codec.decoding_table["135"] = [1028] let s:lib.Codec.decoding_table["136"] = [1109] let s:lib.Codec.decoding_table["137"] = [1029] let s:lib.Codec.decoding_table["138"] = [1110] let s:lib.Codec.decoding_table["139"] = [1030] let s:lib.Codec.decoding_table["140"] = [1111] let s:lib.Codec.decoding_table["141"] = [1031] let s:lib.Codec.decoding_table["142"] = [1112] let s:lib.Codec.decoding_table["143"] = [1032] let s:lib.Codec.decoding_table["144"] = [1113] let s:lib.Codec.decoding_table["145"] = [1033] let s:lib.Codec.decoding_table["146"] = [1114] let s:lib.Codec.decoding_table["147"] = [1034] let s:lib.Codec.decoding_table["148"] = [1115] let s:lib.Codec.decoding_table["149"] = [1035] let s:lib.Codec.decoding_table["150"] = [1116] let s:lib.Codec.decoding_table["151"] = [1036] let s:lib.Codec.decoding_table["152"] = [1118] let s:lib.Codec.decoding_table["153"] = [1038] let s:lib.Codec.decoding_table["154"] = [1119] let s:lib.Codec.decoding_table["155"] = [1039] let s:lib.Codec.decoding_table["156"] = [1102] let s:lib.Codec.decoding_table["157"] = [1070] let s:lib.Codec.decoding_table["158"] = [1098] let s:lib.Codec.decoding_table["159"] = [1066] let s:lib.Codec.decoding_table["160"] = [1072] let s:lib.Codec.decoding_table["161"] = [1040] let s:lib.Codec.decoding_table["162"] = [1073] let s:lib.Codec.decoding_table["163"] = [1041] let s:lib.Codec.decoding_table["164"] = [1094] let s:lib.Codec.decoding_table["165"] = [1062] let s:lib.Codec.decoding_table["166"] = [1076] let s:lib.Codec.decoding_table["167"] = [1044] let s:lib.Codec.decoding_table["168"] = [1077] let s:lib.Codec.decoding_table["169"] = [1045] let s:lib.Codec.decoding_table["170"] = [1092] let s:lib.Codec.decoding_table["171"] = [1060] let s:lib.Codec.decoding_table["172"] = [1075] let s:lib.Codec.decoding_table["173"] = [1043] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [1093] let s:lib.Codec.decoding_table["182"] = [1061] let s:lib.Codec.decoding_table["183"] = [1080] let s:lib.Codec.decoding_table["184"] = [1048] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [1081] let s:lib.Codec.decoding_table["190"] = [1049] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [1082] let s:lib.Codec.decoding_table["199"] = [1050] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [164] let s:lib.Codec.decoding_table["208"] = [1083] let s:lib.Codec.decoding_table["209"] = [1051] let s:lib.Codec.decoding_table["210"] = [1084] let s:lib.Codec.decoding_table["211"] = [1052] let s:lib.Codec.decoding_table["212"] = [1085] let s:lib.Codec.decoding_table["213"] = [1053] let s:lib.Codec.decoding_table["214"] = [1086] let s:lib.Codec.decoding_table["215"] = [1054] let s:lib.Codec.decoding_table["216"] = [1087] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [1055] let s:lib.Codec.decoding_table["222"] = [1103] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [1071] let s:lib.Codec.decoding_table["225"] = [1088] let s:lib.Codec.decoding_table["226"] = [1056] let s:lib.Codec.decoding_table["227"] = [1089] let s:lib.Codec.decoding_table["228"] = [1057] let s:lib.Codec.decoding_table["229"] = [1090] let s:lib.Codec.decoding_table["230"] = [1058] let s:lib.Codec.decoding_table["231"] = [1091] let s:lib.Codec.decoding_table["232"] = [1059] let s:lib.Codec.decoding_table["233"] = [1078] let s:lib.Codec.decoding_table["234"] = [1046] let s:lib.Codec.decoding_table["235"] = [1074] let s:lib.Codec.decoding_table["236"] = [1042] let s:lib.Codec.decoding_table["237"] = [1100] let s:lib.Codec.decoding_table["238"] = [1068] let s:lib.Codec.decoding_table["239"] = [8470] let s:lib.Codec.decoding_table["240"] = [173] let s:lib.Codec.decoding_table["241"] = [1099] let s:lib.Codec.decoding_table["242"] = [1067] let s:lib.Codec.decoding_table["243"] = [1079] let s:lib.Codec.decoding_table["244"] = [1047] let s:lib.Codec.decoding_table["245"] = [1096] let s:lib.Codec.decoding_table["246"] = [1064] let s:lib.Codec.decoding_table["247"] = [1101] let s:lib.Codec.decoding_table["248"] = [1069] let s:lib.Codec.decoding_table["249"] = [1097] let s:lib.Codec.decoding_table["250"] = [1065] let s:lib.Codec.decoding_table["251"] = [1095] let s:lib.Codec.decoding_table["252"] = [1063] let s:lib.Codec.decoding_table["253"] = [167] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["1106"] = [128] let s:lib.Codec.encoding_table["1026"] = [129] let s:lib.Codec.encoding_table["1107"] = [130] let s:lib.Codec.encoding_table["1027"] = [131] let s:lib.Codec.encoding_table["1105"] = [132] let s:lib.Codec.encoding_table["1025"] = [133] let s:lib.Codec.encoding_table["1108"] = [134] let s:lib.Codec.encoding_table["1028"] = [135] let s:lib.Codec.encoding_table["1109"] = [136] let s:lib.Codec.encoding_table["1029"] = [137] let s:lib.Codec.encoding_table["1110"] = [138] let s:lib.Codec.encoding_table["1030"] = [139] let s:lib.Codec.encoding_table["1111"] = [140] let s:lib.Codec.encoding_table["1031"] = [141] let s:lib.Codec.encoding_table["1112"] = [142] let s:lib.Codec.encoding_table["1032"] = [143] let s:lib.Codec.encoding_table["1113"] = [144] let s:lib.Codec.encoding_table["1033"] = [145] let s:lib.Codec.encoding_table["1114"] = [146] let s:lib.Codec.encoding_table["1034"] = [147] let s:lib.Codec.encoding_table["1115"] = [148] let s:lib.Codec.encoding_table["1035"] = [149] let s:lib.Codec.encoding_table["1116"] = [150] let s:lib.Codec.encoding_table["1036"] = [151] let s:lib.Codec.encoding_table["1118"] = [152] let s:lib.Codec.encoding_table["1038"] = [153] let s:lib.Codec.encoding_table["1119"] = [154] let s:lib.Codec.encoding_table["1039"] = [155] let s:lib.Codec.encoding_table["1102"] = [156] let s:lib.Codec.encoding_table["1070"] = [157] let s:lib.Codec.encoding_table["1098"] = [158] let s:lib.Codec.encoding_table["1066"] = [159] let s:lib.Codec.encoding_table["1072"] = [160] let s:lib.Codec.encoding_table["1040"] = [161] let s:lib.Codec.encoding_table["1073"] = [162] let s:lib.Codec.encoding_table["1041"] = [163] let s:lib.Codec.encoding_table["1094"] = [164] let s:lib.Codec.encoding_table["1062"] = [165] let s:lib.Codec.encoding_table["1076"] = [166] let s:lib.Codec.encoding_table["1044"] = [167] let s:lib.Codec.encoding_table["1077"] = [168] let s:lib.Codec.encoding_table["1045"] = [169] let s:lib.Codec.encoding_table["1092"] = [170] let s:lib.Codec.encoding_table["1060"] = [171] let s:lib.Codec.encoding_table["1075"] = [172] let s:lib.Codec.encoding_table["1043"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["1093"] = [181] let s:lib.Codec.encoding_table["1061"] = [182] let s:lib.Codec.encoding_table["1080"] = [183] let s:lib.Codec.encoding_table["1048"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["1081"] = [189] let s:lib.Codec.encoding_table["1049"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["1082"] = [198] let s:lib.Codec.encoding_table["1050"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["164"] = [207] let s:lib.Codec.encoding_table["1083"] = [208] let s:lib.Codec.encoding_table["1051"] = [209] let s:lib.Codec.encoding_table["1084"] = [210] let s:lib.Codec.encoding_table["1052"] = [211] let s:lib.Codec.encoding_table["1085"] = [212] let s:lib.Codec.encoding_table["1053"] = [213] let s:lib.Codec.encoding_table["1086"] = [214] let s:lib.Codec.encoding_table["1054"] = [215] let s:lib.Codec.encoding_table["1087"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["1055"] = [221] let s:lib.Codec.encoding_table["1103"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["1071"] = [224] let s:lib.Codec.encoding_table["1088"] = [225] let s:lib.Codec.encoding_table["1056"] = [226] let s:lib.Codec.encoding_table["1089"] = [227] let s:lib.Codec.encoding_table["1057"] = [228] let s:lib.Codec.encoding_table["1090"] = [229] let s:lib.Codec.encoding_table["1058"] = [230] let s:lib.Codec.encoding_table["1091"] = [231] let s:lib.Codec.encoding_table["1059"] = [232] let s:lib.Codec.encoding_table["1078"] = [233] let s:lib.Codec.encoding_table["1046"] = [234] let s:lib.Codec.encoding_table["1074"] = [235] let s:lib.Codec.encoding_table["1042"] = [236] let s:lib.Codec.encoding_table["1100"] = [237] let s:lib.Codec.encoding_table["1068"] = [238] let s:lib.Codec.encoding_table["8470"] = [239] let s:lib.Codec.encoding_table["173"] = [240] let s:lib.Codec.encoding_table["1099"] = [241] let s:lib.Codec.encoding_table["1067"] = [242] let s:lib.Codec.encoding_table["1079"] = [243] let s:lib.Codec.encoding_table["1047"] = [244] let s:lib.Codec.encoding_table["1096"] = [245] let s:lib.Codec.encoding_table["1064"] = [246] let s:lib.Codec.encoding_table["1101"] = [247] let s:lib.Codec.encoding_table["1069"] = [248] let s:lib.Codec.encoding_table["1097"] = [249] let s:lib.Codec.encoding_table["1065"] = [250] let s:lib.Codec.encoding_table["1095"] = [251] let s:lib.Codec.encoding_table["1063"] = [252] let s:lib.Codec.encoding_table["167"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp857.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp857#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP857" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [199] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [226] let s:lib.Codec.decoding_table["132"] = [228] let s:lib.Codec.decoding_table["133"] = [224] let s:lib.Codec.decoding_table["134"] = [229] let s:lib.Codec.decoding_table["135"] = [231] let s:lib.Codec.decoding_table["136"] = [234] let s:lib.Codec.decoding_table["137"] = [235] let s:lib.Codec.decoding_table["138"] = [232] let s:lib.Codec.decoding_table["139"] = [239] let s:lib.Codec.decoding_table["140"] = [238] let s:lib.Codec.decoding_table["141"] = [305] let s:lib.Codec.decoding_table["142"] = [196] let s:lib.Codec.decoding_table["143"] = [197] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [230] let s:lib.Codec.decoding_table["146"] = [198] let s:lib.Codec.decoding_table["147"] = [244] let s:lib.Codec.decoding_table["148"] = [246] let s:lib.Codec.decoding_table["149"] = [242] let s:lib.Codec.decoding_table["150"] = [251] let s:lib.Codec.decoding_table["151"] = [249] let s:lib.Codec.decoding_table["152"] = [304] let s:lib.Codec.decoding_table["153"] = [214] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [248] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [216] let s:lib.Codec.decoding_table["158"] = [350] let s:lib.Codec.decoding_table["159"] = [351] let s:lib.Codec.decoding_table["160"] = [225] let s:lib.Codec.decoding_table["161"] = [237] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [241] let s:lib.Codec.decoding_table["165"] = [209] let s:lib.Codec.decoding_table["166"] = [286] let s:lib.Codec.decoding_table["167"] = [287] let s:lib.Codec.decoding_table["168"] = [191] let s:lib.Codec.decoding_table["169"] = [174] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [161] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [193] let s:lib.Codec.decoding_table["182"] = [194] let s:lib.Codec.decoding_table["183"] = [192] let s:lib.Codec.decoding_table["184"] = [169] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [162] let s:lib.Codec.decoding_table["190"] = [165] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [227] let s:lib.Codec.decoding_table["199"] = [195] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [164] let s:lib.Codec.decoding_table["208"] = [186] let s:lib.Codec.decoding_table["209"] = [170] let s:lib.Codec.decoding_table["210"] = [202] let s:lib.Codec.decoding_table["211"] = [203] let s:lib.Codec.decoding_table["212"] = [200] let s:lib.Codec.decoding_table["214"] = [205] let s:lib.Codec.decoding_table["215"] = [206] let s:lib.Codec.decoding_table["216"] = [207] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [166] let s:lib.Codec.decoding_table["222"] = [204] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [211] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [212] let s:lib.Codec.decoding_table["227"] = [210] let s:lib.Codec.decoding_table["228"] = [245] let s:lib.Codec.decoding_table["229"] = [213] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["232"] = [215] let s:lib.Codec.decoding_table["233"] = [218] let s:lib.Codec.decoding_table["234"] = [219] let s:lib.Codec.decoding_table["235"] = [217] let s:lib.Codec.decoding_table["236"] = [236] let s:lib.Codec.decoding_table["237"] = [255] let s:lib.Codec.decoding_table["238"] = [175] let s:lib.Codec.decoding_table["239"] = [180] let s:lib.Codec.decoding_table["240"] = [173] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["243"] = [190] let s:lib.Codec.decoding_table["244"] = [182] let s:lib.Codec.decoding_table["245"] = [167] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [184] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [168] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [185] let s:lib.Codec.decoding_table["252"] = [179] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["199"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["226"] = [131] let s:lib.Codec.encoding_table["228"] = [132] let s:lib.Codec.encoding_table["224"] = [133] let s:lib.Codec.encoding_table["229"] = [134] let s:lib.Codec.encoding_table["231"] = [135] let s:lib.Codec.encoding_table["234"] = [136] let s:lib.Codec.encoding_table["235"] = [137] let s:lib.Codec.encoding_table["232"] = [138] let s:lib.Codec.encoding_table["239"] = [139] let s:lib.Codec.encoding_table["238"] = [140] let s:lib.Codec.encoding_table["305"] = [141] let s:lib.Codec.encoding_table["196"] = [142] let s:lib.Codec.encoding_table["197"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["230"] = [145] let s:lib.Codec.encoding_table["198"] = [146] let s:lib.Codec.encoding_table["244"] = [147] let s:lib.Codec.encoding_table["246"] = [148] let s:lib.Codec.encoding_table["242"] = [149] let s:lib.Codec.encoding_table["251"] = [150] let s:lib.Codec.encoding_table["249"] = [151] let s:lib.Codec.encoding_table["304"] = [152] let s:lib.Codec.encoding_table["214"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["248"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["216"] = [157] let s:lib.Codec.encoding_table["350"] = [158] let s:lib.Codec.encoding_table["351"] = [159] let s:lib.Codec.encoding_table["225"] = [160] let s:lib.Codec.encoding_table["237"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["241"] = [164] let s:lib.Codec.encoding_table["209"] = [165] let s:lib.Codec.encoding_table["286"] = [166] let s:lib.Codec.encoding_table["287"] = [167] let s:lib.Codec.encoding_table["191"] = [168] let s:lib.Codec.encoding_table["174"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["161"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["193"] = [181] let s:lib.Codec.encoding_table["194"] = [182] let s:lib.Codec.encoding_table["192"] = [183] let s:lib.Codec.encoding_table["169"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["162"] = [189] let s:lib.Codec.encoding_table["165"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["227"] = [198] let s:lib.Codec.encoding_table["195"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["164"] = [207] let s:lib.Codec.encoding_table["186"] = [208] let s:lib.Codec.encoding_table["170"] = [209] let s:lib.Codec.encoding_table["202"] = [210] let s:lib.Codec.encoding_table["203"] = [211] let s:lib.Codec.encoding_table["200"] = [212] let s:lib.Codec.encoding_table["205"] = [214] let s:lib.Codec.encoding_table["206"] = [215] let s:lib.Codec.encoding_table["207"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["166"] = [221] let s:lib.Codec.encoding_table["204"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["211"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["212"] = [226] let s:lib.Codec.encoding_table["210"] = [227] let s:lib.Codec.encoding_table["245"] = [228] let s:lib.Codec.encoding_table["213"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["215"] = [232] let s:lib.Codec.encoding_table["218"] = [233] let s:lib.Codec.encoding_table["219"] = [234] let s:lib.Codec.encoding_table["217"] = [235] let s:lib.Codec.encoding_table["236"] = [236] let s:lib.Codec.encoding_table["255"] = [237] let s:lib.Codec.encoding_table["175"] = [238] let s:lib.Codec.encoding_table["180"] = [239] let s:lib.Codec.encoding_table["173"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["190"] = [243] let s:lib.Codec.encoding_table["182"] = [244] let s:lib.Codec.encoding_table["167"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["184"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["168"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["185"] = [251] let s:lib.Codec.encoding_table["179"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp860.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp860#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP860" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [199] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [226] let s:lib.Codec.decoding_table["132"] = [227] let s:lib.Codec.decoding_table["133"] = [224] let s:lib.Codec.decoding_table["134"] = [193] let s:lib.Codec.decoding_table["135"] = [231] let s:lib.Codec.decoding_table["136"] = [234] let s:lib.Codec.decoding_table["137"] = [202] let s:lib.Codec.decoding_table["138"] = [232] let s:lib.Codec.decoding_table["139"] = [205] let s:lib.Codec.decoding_table["140"] = [212] let s:lib.Codec.decoding_table["141"] = [236] let s:lib.Codec.decoding_table["142"] = [195] let s:lib.Codec.decoding_table["143"] = [194] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [192] let s:lib.Codec.decoding_table["146"] = [200] let s:lib.Codec.decoding_table["147"] = [244] let s:lib.Codec.decoding_table["148"] = [245] let s:lib.Codec.decoding_table["149"] = [242] let s:lib.Codec.decoding_table["150"] = [218] let s:lib.Codec.decoding_table["151"] = [249] let s:lib.Codec.decoding_table["152"] = [204] let s:lib.Codec.decoding_table["153"] = [213] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [162] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [217] let s:lib.Codec.decoding_table["158"] = [8359] let s:lib.Codec.decoding_table["159"] = [211] let s:lib.Codec.decoding_table["160"] = [225] let s:lib.Codec.decoding_table["161"] = [237] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [241] let s:lib.Codec.decoding_table["165"] = [209] let s:lib.Codec.decoding_table["166"] = [170] let s:lib.Codec.decoding_table["167"] = [186] let s:lib.Codec.decoding_table["168"] = [191] let s:lib.Codec.decoding_table["169"] = [210] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [161] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [9569] let s:lib.Codec.decoding_table["182"] = [9570] let s:lib.Codec.decoding_table["183"] = [9558] let s:lib.Codec.decoding_table["184"] = [9557] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [9564] let s:lib.Codec.decoding_table["190"] = [9563] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [9566] let s:lib.Codec.decoding_table["199"] = [9567] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [9575] let s:lib.Codec.decoding_table["208"] = [9576] let s:lib.Codec.decoding_table["209"] = [9572] let s:lib.Codec.decoding_table["210"] = [9573] let s:lib.Codec.decoding_table["211"] = [9561] let s:lib.Codec.decoding_table["212"] = [9560] let s:lib.Codec.decoding_table["213"] = [9554] let s:lib.Codec.decoding_table["214"] = [9555] let s:lib.Codec.decoding_table["215"] = [9579] let s:lib.Codec.decoding_table["216"] = [9578] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [945] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [915] let s:lib.Codec.decoding_table["227"] = [960] let s:lib.Codec.decoding_table["228"] = [931] let s:lib.Codec.decoding_table["229"] = [963] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["231"] = [964] let s:lib.Codec.decoding_table["232"] = [934] let s:lib.Codec.decoding_table["233"] = [920] let s:lib.Codec.decoding_table["234"] = [937] let s:lib.Codec.decoding_table["235"] = [948] let s:lib.Codec.decoding_table["236"] = [8734] let s:lib.Codec.decoding_table["237"] = [966] let s:lib.Codec.decoding_table["238"] = [949] let s:lib.Codec.decoding_table["239"] = [8745] let s:lib.Codec.decoding_table["240"] = [8801] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8805] let s:lib.Codec.decoding_table["243"] = [8804] let s:lib.Codec.decoding_table["244"] = [8992] let s:lib.Codec.decoding_table["245"] = [8993] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [8776] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [8730] let s:lib.Codec.decoding_table["252"] = [8319] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["199"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["226"] = [131] let s:lib.Codec.encoding_table["227"] = [132] let s:lib.Codec.encoding_table["224"] = [133] let s:lib.Codec.encoding_table["193"] = [134] let s:lib.Codec.encoding_table["231"] = [135] let s:lib.Codec.encoding_table["234"] = [136] let s:lib.Codec.encoding_table["202"] = [137] let s:lib.Codec.encoding_table["232"] = [138] let s:lib.Codec.encoding_table["205"] = [139] let s:lib.Codec.encoding_table["212"] = [140] let s:lib.Codec.encoding_table["236"] = [141] let s:lib.Codec.encoding_table["195"] = [142] let s:lib.Codec.encoding_table["194"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["192"] = [145] let s:lib.Codec.encoding_table["200"] = [146] let s:lib.Codec.encoding_table["244"] = [147] let s:lib.Codec.encoding_table["245"] = [148] let s:lib.Codec.encoding_table["242"] = [149] let s:lib.Codec.encoding_table["218"] = [150] let s:lib.Codec.encoding_table["249"] = [151] let s:lib.Codec.encoding_table["204"] = [152] let s:lib.Codec.encoding_table["213"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["162"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["217"] = [157] let s:lib.Codec.encoding_table["8359"] = [158] let s:lib.Codec.encoding_table["211"] = [159] let s:lib.Codec.encoding_table["225"] = [160] let s:lib.Codec.encoding_table["237"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["241"] = [164] let s:lib.Codec.encoding_table["209"] = [165] let s:lib.Codec.encoding_table["170"] = [166] let s:lib.Codec.encoding_table["186"] = [167] let s:lib.Codec.encoding_table["191"] = [168] let s:lib.Codec.encoding_table["210"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["161"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["9569"] = [181] let s:lib.Codec.encoding_table["9570"] = [182] let s:lib.Codec.encoding_table["9558"] = [183] let s:lib.Codec.encoding_table["9557"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["9564"] = [189] let s:lib.Codec.encoding_table["9563"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["9566"] = [198] let s:lib.Codec.encoding_table["9567"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["9575"] = [207] let s:lib.Codec.encoding_table["9576"] = [208] let s:lib.Codec.encoding_table["9572"] = [209] let s:lib.Codec.encoding_table["9573"] = [210] let s:lib.Codec.encoding_table["9561"] = [211] let s:lib.Codec.encoding_table["9560"] = [212] let s:lib.Codec.encoding_table["9554"] = [213] let s:lib.Codec.encoding_table["9555"] = [214] let s:lib.Codec.encoding_table["9579"] = [215] let s:lib.Codec.encoding_table["9578"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["945"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["915"] = [226] let s:lib.Codec.encoding_table["960"] = [227] let s:lib.Codec.encoding_table["931"] = [228] let s:lib.Codec.encoding_table["963"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["964"] = [231] let s:lib.Codec.encoding_table["934"] = [232] let s:lib.Codec.encoding_table["920"] = [233] let s:lib.Codec.encoding_table["937"] = [234] let s:lib.Codec.encoding_table["948"] = [235] let s:lib.Codec.encoding_table["8734"] = [236] let s:lib.Codec.encoding_table["966"] = [237] let s:lib.Codec.encoding_table["949"] = [238] let s:lib.Codec.encoding_table["8745"] = [239] let s:lib.Codec.encoding_table["8801"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8805"] = [242] let s:lib.Codec.encoding_table["8804"] = [243] let s:lib.Codec.encoding_table["8992"] = [244] let s:lib.Codec.encoding_table["8993"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["8776"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["8730"] = [251] let s:lib.Codec.encoding_table["8319"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp861.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp861#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP861" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [199] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [226] let s:lib.Codec.decoding_table["132"] = [228] let s:lib.Codec.decoding_table["133"] = [224] let s:lib.Codec.decoding_table["134"] = [229] let s:lib.Codec.decoding_table["135"] = [231] let s:lib.Codec.decoding_table["136"] = [234] let s:lib.Codec.decoding_table["137"] = [235] let s:lib.Codec.decoding_table["138"] = [232] let s:lib.Codec.decoding_table["139"] = [208] let s:lib.Codec.decoding_table["140"] = [240] let s:lib.Codec.decoding_table["141"] = [222] let s:lib.Codec.decoding_table["142"] = [196] let s:lib.Codec.decoding_table["143"] = [197] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [230] let s:lib.Codec.decoding_table["146"] = [198] let s:lib.Codec.decoding_table["147"] = [244] let s:lib.Codec.decoding_table["148"] = [246] let s:lib.Codec.decoding_table["149"] = [254] let s:lib.Codec.decoding_table["150"] = [251] let s:lib.Codec.decoding_table["151"] = [221] let s:lib.Codec.decoding_table["152"] = [253] let s:lib.Codec.decoding_table["153"] = [214] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [248] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [216] let s:lib.Codec.decoding_table["158"] = [8359] let s:lib.Codec.decoding_table["159"] = [402] let s:lib.Codec.decoding_table["160"] = [225] let s:lib.Codec.decoding_table["161"] = [237] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [193] let s:lib.Codec.decoding_table["165"] = [205] let s:lib.Codec.decoding_table["166"] = [211] let s:lib.Codec.decoding_table["167"] = [218] let s:lib.Codec.decoding_table["168"] = [191] let s:lib.Codec.decoding_table["169"] = [8976] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [161] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [9569] let s:lib.Codec.decoding_table["182"] = [9570] let s:lib.Codec.decoding_table["183"] = [9558] let s:lib.Codec.decoding_table["184"] = [9557] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [9564] let s:lib.Codec.decoding_table["190"] = [9563] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [9566] let s:lib.Codec.decoding_table["199"] = [9567] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [9575] let s:lib.Codec.decoding_table["208"] = [9576] let s:lib.Codec.decoding_table["209"] = [9572] let s:lib.Codec.decoding_table["210"] = [9573] let s:lib.Codec.decoding_table["211"] = [9561] let s:lib.Codec.decoding_table["212"] = [9560] let s:lib.Codec.decoding_table["213"] = [9554] let s:lib.Codec.decoding_table["214"] = [9555] let s:lib.Codec.decoding_table["215"] = [9579] let s:lib.Codec.decoding_table["216"] = [9578] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [945] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [915] let s:lib.Codec.decoding_table["227"] = [960] let s:lib.Codec.decoding_table["228"] = [931] let s:lib.Codec.decoding_table["229"] = [963] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["231"] = [964] let s:lib.Codec.decoding_table["232"] = [934] let s:lib.Codec.decoding_table["233"] = [920] let s:lib.Codec.decoding_table["234"] = [937] let s:lib.Codec.decoding_table["235"] = [948] let s:lib.Codec.decoding_table["236"] = [8734] let s:lib.Codec.decoding_table["237"] = [966] let s:lib.Codec.decoding_table["238"] = [949] let s:lib.Codec.decoding_table["239"] = [8745] let s:lib.Codec.decoding_table["240"] = [8801] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8805] let s:lib.Codec.decoding_table["243"] = [8804] let s:lib.Codec.decoding_table["244"] = [8992] let s:lib.Codec.decoding_table["245"] = [8993] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [8776] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [8730] let s:lib.Codec.decoding_table["252"] = [8319] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["199"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["226"] = [131] let s:lib.Codec.encoding_table["228"] = [132] let s:lib.Codec.encoding_table["224"] = [133] let s:lib.Codec.encoding_table["229"] = [134] let s:lib.Codec.encoding_table["231"] = [135] let s:lib.Codec.encoding_table["234"] = [136] let s:lib.Codec.encoding_table["235"] = [137] let s:lib.Codec.encoding_table["232"] = [138] let s:lib.Codec.encoding_table["208"] = [139] let s:lib.Codec.encoding_table["240"] = [140] let s:lib.Codec.encoding_table["222"] = [141] let s:lib.Codec.encoding_table["196"] = [142] let s:lib.Codec.encoding_table["197"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["230"] = [145] let s:lib.Codec.encoding_table["198"] = [146] let s:lib.Codec.encoding_table["244"] = [147] let s:lib.Codec.encoding_table["246"] = [148] let s:lib.Codec.encoding_table["254"] = [149] let s:lib.Codec.encoding_table["251"] = [150] let s:lib.Codec.encoding_table["221"] = [151] let s:lib.Codec.encoding_table["253"] = [152] let s:lib.Codec.encoding_table["214"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["248"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["216"] = [157] let s:lib.Codec.encoding_table["8359"] = [158] let s:lib.Codec.encoding_table["402"] = [159] let s:lib.Codec.encoding_table["225"] = [160] let s:lib.Codec.encoding_table["237"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["193"] = [164] let s:lib.Codec.encoding_table["205"] = [165] let s:lib.Codec.encoding_table["211"] = [166] let s:lib.Codec.encoding_table["218"] = [167] let s:lib.Codec.encoding_table["191"] = [168] let s:lib.Codec.encoding_table["8976"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["161"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["9569"] = [181] let s:lib.Codec.encoding_table["9570"] = [182] let s:lib.Codec.encoding_table["9558"] = [183] let s:lib.Codec.encoding_table["9557"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["9564"] = [189] let s:lib.Codec.encoding_table["9563"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["9566"] = [198] let s:lib.Codec.encoding_table["9567"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["9575"] = [207] let s:lib.Codec.encoding_table["9576"] = [208] let s:lib.Codec.encoding_table["9572"] = [209] let s:lib.Codec.encoding_table["9573"] = [210] let s:lib.Codec.encoding_table["9561"] = [211] let s:lib.Codec.encoding_table["9560"] = [212] let s:lib.Codec.encoding_table["9554"] = [213] let s:lib.Codec.encoding_table["9555"] = [214] let s:lib.Codec.encoding_table["9579"] = [215] let s:lib.Codec.encoding_table["9578"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["945"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["915"] = [226] let s:lib.Codec.encoding_table["960"] = [227] let s:lib.Codec.encoding_table["931"] = [228] let s:lib.Codec.encoding_table["963"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["964"] = [231] let s:lib.Codec.encoding_table["934"] = [232] let s:lib.Codec.encoding_table["920"] = [233] let s:lib.Codec.encoding_table["937"] = [234] let s:lib.Codec.encoding_table["948"] = [235] let s:lib.Codec.encoding_table["8734"] = [236] let s:lib.Codec.encoding_table["966"] = [237] let s:lib.Codec.encoding_table["949"] = [238] let s:lib.Codec.encoding_table["8745"] = [239] let s:lib.Codec.encoding_table["8801"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8805"] = [242] let s:lib.Codec.encoding_table["8804"] = [243] let s:lib.Codec.encoding_table["8992"] = [244] let s:lib.Codec.encoding_table["8993"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["8776"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["8730"] = [251] let s:lib.Codec.encoding_table["8319"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp862.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp862#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP862" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [1488] let s:lib.Codec.decoding_table["129"] = [1489] let s:lib.Codec.decoding_table["130"] = [1490] let s:lib.Codec.decoding_table["131"] = [1491] let s:lib.Codec.decoding_table["132"] = [1492] let s:lib.Codec.decoding_table["133"] = [1493] let s:lib.Codec.decoding_table["134"] = [1494] let s:lib.Codec.decoding_table["135"] = [1495] let s:lib.Codec.decoding_table["136"] = [1496] let s:lib.Codec.decoding_table["137"] = [1497] let s:lib.Codec.decoding_table["138"] = [1498] let s:lib.Codec.decoding_table["139"] = [1499] let s:lib.Codec.decoding_table["140"] = [1500] let s:lib.Codec.decoding_table["141"] = [1501] let s:lib.Codec.decoding_table["142"] = [1502] let s:lib.Codec.decoding_table["143"] = [1503] let s:lib.Codec.decoding_table["144"] = [1504] let s:lib.Codec.decoding_table["145"] = [1505] let s:lib.Codec.decoding_table["146"] = [1506] let s:lib.Codec.decoding_table["147"] = [1507] let s:lib.Codec.decoding_table["148"] = [1508] let s:lib.Codec.decoding_table["149"] = [1509] let s:lib.Codec.decoding_table["150"] = [1510] let s:lib.Codec.decoding_table["151"] = [1511] let s:lib.Codec.decoding_table["152"] = [1512] let s:lib.Codec.decoding_table["153"] = [1513] let s:lib.Codec.decoding_table["154"] = [1514] let s:lib.Codec.decoding_table["155"] = [162] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [165] let s:lib.Codec.decoding_table["158"] = [8359] let s:lib.Codec.decoding_table["159"] = [402] let s:lib.Codec.decoding_table["160"] = [225] let s:lib.Codec.decoding_table["161"] = [237] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [241] let s:lib.Codec.decoding_table["165"] = [209] let s:lib.Codec.decoding_table["166"] = [170] let s:lib.Codec.decoding_table["167"] = [186] let s:lib.Codec.decoding_table["168"] = [191] let s:lib.Codec.decoding_table["169"] = [8976] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [161] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [9569] let s:lib.Codec.decoding_table["182"] = [9570] let s:lib.Codec.decoding_table["183"] = [9558] let s:lib.Codec.decoding_table["184"] = [9557] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [9564] let s:lib.Codec.decoding_table["190"] = [9563] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [9566] let s:lib.Codec.decoding_table["199"] = [9567] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [9575] let s:lib.Codec.decoding_table["208"] = [9576] let s:lib.Codec.decoding_table["209"] = [9572] let s:lib.Codec.decoding_table["210"] = [9573] let s:lib.Codec.decoding_table["211"] = [9561] let s:lib.Codec.decoding_table["212"] = [9560] let s:lib.Codec.decoding_table["213"] = [9554] let s:lib.Codec.decoding_table["214"] = [9555] let s:lib.Codec.decoding_table["215"] = [9579] let s:lib.Codec.decoding_table["216"] = [9578] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [945] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [915] let s:lib.Codec.decoding_table["227"] = [960] let s:lib.Codec.decoding_table["228"] = [931] let s:lib.Codec.decoding_table["229"] = [963] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["231"] = [964] let s:lib.Codec.decoding_table["232"] = [934] let s:lib.Codec.decoding_table["233"] = [920] let s:lib.Codec.decoding_table["234"] = [937] let s:lib.Codec.decoding_table["235"] = [948] let s:lib.Codec.decoding_table["236"] = [8734] let s:lib.Codec.decoding_table["237"] = [966] let s:lib.Codec.decoding_table["238"] = [949] let s:lib.Codec.decoding_table["239"] = [8745] let s:lib.Codec.decoding_table["240"] = [8801] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8805] let s:lib.Codec.decoding_table["243"] = [8804] let s:lib.Codec.decoding_table["244"] = [8992] let s:lib.Codec.decoding_table["245"] = [8993] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [8776] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [8730] let s:lib.Codec.decoding_table["252"] = [8319] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["1488"] = [128] let s:lib.Codec.encoding_table["1489"] = [129] let s:lib.Codec.encoding_table["1490"] = [130] let s:lib.Codec.encoding_table["1491"] = [131] let s:lib.Codec.encoding_table["1492"] = [132] let s:lib.Codec.encoding_table["1493"] = [133] let s:lib.Codec.encoding_table["1494"] = [134] let s:lib.Codec.encoding_table["1495"] = [135] let s:lib.Codec.encoding_table["1496"] = [136] let s:lib.Codec.encoding_table["1497"] = [137] let s:lib.Codec.encoding_table["1498"] = [138] let s:lib.Codec.encoding_table["1499"] = [139] let s:lib.Codec.encoding_table["1500"] = [140] let s:lib.Codec.encoding_table["1501"] = [141] let s:lib.Codec.encoding_table["1502"] = [142] let s:lib.Codec.encoding_table["1503"] = [143] let s:lib.Codec.encoding_table["1504"] = [144] let s:lib.Codec.encoding_table["1505"] = [145] let s:lib.Codec.encoding_table["1506"] = [146] let s:lib.Codec.encoding_table["1507"] = [147] let s:lib.Codec.encoding_table["1508"] = [148] let s:lib.Codec.encoding_table["1509"] = [149] let s:lib.Codec.encoding_table["1510"] = [150] let s:lib.Codec.encoding_table["1511"] = [151] let s:lib.Codec.encoding_table["1512"] = [152] let s:lib.Codec.encoding_table["1513"] = [153] let s:lib.Codec.encoding_table["1514"] = [154] let s:lib.Codec.encoding_table["162"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["165"] = [157] let s:lib.Codec.encoding_table["8359"] = [158] let s:lib.Codec.encoding_table["402"] = [159] let s:lib.Codec.encoding_table["225"] = [160] let s:lib.Codec.encoding_table["237"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["241"] = [164] let s:lib.Codec.encoding_table["209"] = [165] let s:lib.Codec.encoding_table["170"] = [166] let s:lib.Codec.encoding_table["186"] = [167] let s:lib.Codec.encoding_table["191"] = [168] let s:lib.Codec.encoding_table["8976"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["161"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["9569"] = [181] let s:lib.Codec.encoding_table["9570"] = [182] let s:lib.Codec.encoding_table["9558"] = [183] let s:lib.Codec.encoding_table["9557"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["9564"] = [189] let s:lib.Codec.encoding_table["9563"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["9566"] = [198] let s:lib.Codec.encoding_table["9567"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["9575"] = [207] let s:lib.Codec.encoding_table["9576"] = [208] let s:lib.Codec.encoding_table["9572"] = [209] let s:lib.Codec.encoding_table["9573"] = [210] let s:lib.Codec.encoding_table["9561"] = [211] let s:lib.Codec.encoding_table["9560"] = [212] let s:lib.Codec.encoding_table["9554"] = [213] let s:lib.Codec.encoding_table["9555"] = [214] let s:lib.Codec.encoding_table["9579"] = [215] let s:lib.Codec.encoding_table["9578"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["945"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["915"] = [226] let s:lib.Codec.encoding_table["960"] = [227] let s:lib.Codec.encoding_table["931"] = [228] let s:lib.Codec.encoding_table["963"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["964"] = [231] let s:lib.Codec.encoding_table["934"] = [232] let s:lib.Codec.encoding_table["920"] = [233] let s:lib.Codec.encoding_table["937"] = [234] let s:lib.Codec.encoding_table["948"] = [235] let s:lib.Codec.encoding_table["8734"] = [236] let s:lib.Codec.encoding_table["966"] = [237] let s:lib.Codec.encoding_table["949"] = [238] let s:lib.Codec.encoding_table["8745"] = [239] let s:lib.Codec.encoding_table["8801"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8805"] = [242] let s:lib.Codec.encoding_table["8804"] = [243] let s:lib.Codec.encoding_table["8992"] = [244] let s:lib.Codec.encoding_table["8993"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["8776"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["8730"] = [251] let s:lib.Codec.encoding_table["8319"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp863.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp863#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP863" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [199] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [226] let s:lib.Codec.decoding_table["132"] = [194] let s:lib.Codec.decoding_table["133"] = [224] let s:lib.Codec.decoding_table["134"] = [182] let s:lib.Codec.decoding_table["135"] = [231] let s:lib.Codec.decoding_table["136"] = [234] let s:lib.Codec.decoding_table["137"] = [235] let s:lib.Codec.decoding_table["138"] = [232] let s:lib.Codec.decoding_table["139"] = [239] let s:lib.Codec.decoding_table["140"] = [238] let s:lib.Codec.decoding_table["141"] = [8215] let s:lib.Codec.decoding_table["142"] = [192] let s:lib.Codec.decoding_table["143"] = [167] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [200] let s:lib.Codec.decoding_table["146"] = [202] let s:lib.Codec.decoding_table["147"] = [244] let s:lib.Codec.decoding_table["148"] = [203] let s:lib.Codec.decoding_table["149"] = [207] let s:lib.Codec.decoding_table["150"] = [251] let s:lib.Codec.decoding_table["151"] = [249] let s:lib.Codec.decoding_table["152"] = [164] let s:lib.Codec.decoding_table["153"] = [212] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [162] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [217] let s:lib.Codec.decoding_table["158"] = [219] let s:lib.Codec.decoding_table["159"] = [402] let s:lib.Codec.decoding_table["160"] = [166] let s:lib.Codec.decoding_table["161"] = [180] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [168] let s:lib.Codec.decoding_table["165"] = [184] let s:lib.Codec.decoding_table["166"] = [179] let s:lib.Codec.decoding_table["167"] = [175] let s:lib.Codec.decoding_table["168"] = [206] let s:lib.Codec.decoding_table["169"] = [8976] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [190] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [9569] let s:lib.Codec.decoding_table["182"] = [9570] let s:lib.Codec.decoding_table["183"] = [9558] let s:lib.Codec.decoding_table["184"] = [9557] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [9564] let s:lib.Codec.decoding_table["190"] = [9563] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [9566] let s:lib.Codec.decoding_table["199"] = [9567] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [9575] let s:lib.Codec.decoding_table["208"] = [9576] let s:lib.Codec.decoding_table["209"] = [9572] let s:lib.Codec.decoding_table["210"] = [9573] let s:lib.Codec.decoding_table["211"] = [9561] let s:lib.Codec.decoding_table["212"] = [9560] let s:lib.Codec.decoding_table["213"] = [9554] let s:lib.Codec.decoding_table["214"] = [9555] let s:lib.Codec.decoding_table["215"] = [9579] let s:lib.Codec.decoding_table["216"] = [9578] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [945] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [915] let s:lib.Codec.decoding_table["227"] = [960] let s:lib.Codec.decoding_table["228"] = [931] let s:lib.Codec.decoding_table["229"] = [963] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["231"] = [964] let s:lib.Codec.decoding_table["232"] = [934] let s:lib.Codec.decoding_table["233"] = [920] let s:lib.Codec.decoding_table["234"] = [937] let s:lib.Codec.decoding_table["235"] = [948] let s:lib.Codec.decoding_table["236"] = [8734] let s:lib.Codec.decoding_table["237"] = [966] let s:lib.Codec.decoding_table["238"] = [949] let s:lib.Codec.decoding_table["239"] = [8745] let s:lib.Codec.decoding_table["240"] = [8801] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8805] let s:lib.Codec.decoding_table["243"] = [8804] let s:lib.Codec.decoding_table["244"] = [8992] let s:lib.Codec.decoding_table["245"] = [8993] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [8776] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [8730] let s:lib.Codec.decoding_table["252"] = [8319] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["199"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["226"] = [131] let s:lib.Codec.encoding_table["194"] = [132] let s:lib.Codec.encoding_table["224"] = [133] let s:lib.Codec.encoding_table["182"] = [134] let s:lib.Codec.encoding_table["231"] = [135] let s:lib.Codec.encoding_table["234"] = [136] let s:lib.Codec.encoding_table["235"] = [137] let s:lib.Codec.encoding_table["232"] = [138] let s:lib.Codec.encoding_table["239"] = [139] let s:lib.Codec.encoding_table["238"] = [140] let s:lib.Codec.encoding_table["8215"] = [141] let s:lib.Codec.encoding_table["192"] = [142] let s:lib.Codec.encoding_table["167"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["200"] = [145] let s:lib.Codec.encoding_table["202"] = [146] let s:lib.Codec.encoding_table["244"] = [147] let s:lib.Codec.encoding_table["203"] = [148] let s:lib.Codec.encoding_table["207"] = [149] let s:lib.Codec.encoding_table["251"] = [150] let s:lib.Codec.encoding_table["249"] = [151] let s:lib.Codec.encoding_table["164"] = [152] let s:lib.Codec.encoding_table["212"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["162"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["217"] = [157] let s:lib.Codec.encoding_table["219"] = [158] let s:lib.Codec.encoding_table["402"] = [159] let s:lib.Codec.encoding_table["166"] = [160] let s:lib.Codec.encoding_table["180"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["168"] = [164] let s:lib.Codec.encoding_table["184"] = [165] let s:lib.Codec.encoding_table["179"] = [166] let s:lib.Codec.encoding_table["175"] = [167] let s:lib.Codec.encoding_table["206"] = [168] let s:lib.Codec.encoding_table["8976"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["190"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["9569"] = [181] let s:lib.Codec.encoding_table["9570"] = [182] let s:lib.Codec.encoding_table["9558"] = [183] let s:lib.Codec.encoding_table["9557"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["9564"] = [189] let s:lib.Codec.encoding_table["9563"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["9566"] = [198] let s:lib.Codec.encoding_table["9567"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["9575"] = [207] let s:lib.Codec.encoding_table["9576"] = [208] let s:lib.Codec.encoding_table["9572"] = [209] let s:lib.Codec.encoding_table["9573"] = [210] let s:lib.Codec.encoding_table["9561"] = [211] let s:lib.Codec.encoding_table["9560"] = [212] let s:lib.Codec.encoding_table["9554"] = [213] let s:lib.Codec.encoding_table["9555"] = [214] let s:lib.Codec.encoding_table["9579"] = [215] let s:lib.Codec.encoding_table["9578"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["945"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["915"] = [226] let s:lib.Codec.encoding_table["960"] = [227] let s:lib.Codec.encoding_table["931"] = [228] let s:lib.Codec.encoding_table["963"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["964"] = [231] let s:lib.Codec.encoding_table["934"] = [232] let s:lib.Codec.encoding_table["920"] = [233] let s:lib.Codec.encoding_table["937"] = [234] let s:lib.Codec.encoding_table["948"] = [235] let s:lib.Codec.encoding_table["8734"] = [236] let s:lib.Codec.encoding_table["966"] = [237] let s:lib.Codec.encoding_table["949"] = [238] let s:lib.Codec.encoding_table["8745"] = [239] let s:lib.Codec.encoding_table["8801"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8805"] = [242] let s:lib.Codec.encoding_table["8804"] = [243] let s:lib.Codec.encoding_table["8992"] = [244] let s:lib.Codec.encoding_table["8993"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["8776"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["8730"] = [251] let s:lib.Codec.encoding_table["8319"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp864.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp864#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP864" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [1642] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [176] let s:lib.Codec.decoding_table["129"] = [183] let s:lib.Codec.decoding_table["130"] = [8729] let s:lib.Codec.decoding_table["131"] = [8730] let s:lib.Codec.decoding_table["132"] = [9618] let s:lib.Codec.decoding_table["133"] = [9472] let s:lib.Codec.decoding_table["134"] = [9474] let s:lib.Codec.decoding_table["135"] = [9532] let s:lib.Codec.decoding_table["136"] = [9508] let s:lib.Codec.decoding_table["137"] = [9516] let s:lib.Codec.decoding_table["138"] = [9500] let s:lib.Codec.decoding_table["139"] = [9524] let s:lib.Codec.decoding_table["140"] = [9488] let s:lib.Codec.decoding_table["141"] = [9484] let s:lib.Codec.decoding_table["142"] = [9492] let s:lib.Codec.decoding_table["143"] = [9496] let s:lib.Codec.decoding_table["144"] = [946] let s:lib.Codec.decoding_table["145"] = [8734] let s:lib.Codec.decoding_table["146"] = [966] let s:lib.Codec.decoding_table["147"] = [177] let s:lib.Codec.decoding_table["148"] = [189] let s:lib.Codec.decoding_table["149"] = [188] let s:lib.Codec.decoding_table["150"] = [8776] let s:lib.Codec.decoding_table["151"] = [171] let s:lib.Codec.decoding_table["152"] = [187] let s:lib.Codec.decoding_table["153"] = [65271] let s:lib.Codec.decoding_table["154"] = [65272] let s:lib.Codec.decoding_table["157"] = [65275] let s:lib.Codec.decoding_table["158"] = [65276] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [173] let s:lib.Codec.decoding_table["162"] = [65154] let s:lib.Codec.decoding_table["163"] = [163] let s:lib.Codec.decoding_table["164"] = [164] let s:lib.Codec.decoding_table["165"] = [65156] let s:lib.Codec.decoding_table["168"] = [65166] let s:lib.Codec.decoding_table["169"] = [65167] let s:lib.Codec.decoding_table["170"] = [65173] let s:lib.Codec.decoding_table["171"] = [65177] let s:lib.Codec.decoding_table["172"] = [1548] let s:lib.Codec.decoding_table["173"] = [65181] let s:lib.Codec.decoding_table["174"] = [65185] let s:lib.Codec.decoding_table["175"] = [65189] let s:lib.Codec.decoding_table["176"] = [1632] let s:lib.Codec.decoding_table["177"] = [1633] let s:lib.Codec.decoding_table["178"] = [1634] let s:lib.Codec.decoding_table["179"] = [1635] let s:lib.Codec.decoding_table["180"] = [1636] let s:lib.Codec.decoding_table["181"] = [1637] let s:lib.Codec.decoding_table["182"] = [1638] let s:lib.Codec.decoding_table["183"] = [1639] let s:lib.Codec.decoding_table["184"] = [1640] let s:lib.Codec.decoding_table["185"] = [1641] let s:lib.Codec.decoding_table["186"] = [65233] let s:lib.Codec.decoding_table["187"] = [1563] let s:lib.Codec.decoding_table["188"] = [65201] let s:lib.Codec.decoding_table["189"] = [65205] let s:lib.Codec.decoding_table["190"] = [65209] let s:lib.Codec.decoding_table["191"] = [1567] let s:lib.Codec.decoding_table["192"] = [162] let s:lib.Codec.decoding_table["193"] = [65152] let s:lib.Codec.decoding_table["194"] = [65153] let s:lib.Codec.decoding_table["195"] = [65155] let s:lib.Codec.decoding_table["196"] = [65157] let s:lib.Codec.decoding_table["197"] = [65226] let s:lib.Codec.decoding_table["198"] = [65163] let s:lib.Codec.decoding_table["199"] = [65165] let s:lib.Codec.decoding_table["200"] = [65169] let s:lib.Codec.decoding_table["201"] = [65171] let s:lib.Codec.decoding_table["202"] = [65175] let s:lib.Codec.decoding_table["203"] = [65179] let s:lib.Codec.decoding_table["204"] = [65183] let s:lib.Codec.decoding_table["205"] = [65187] let s:lib.Codec.decoding_table["206"] = [65191] let s:lib.Codec.decoding_table["207"] = [65193] let s:lib.Codec.decoding_table["208"] = [65195] let s:lib.Codec.decoding_table["209"] = [65197] let s:lib.Codec.decoding_table["210"] = [65199] let s:lib.Codec.decoding_table["211"] = [65203] let s:lib.Codec.decoding_table["212"] = [65207] let s:lib.Codec.decoding_table["213"] = [65211] let s:lib.Codec.decoding_table["214"] = [65215] let s:lib.Codec.decoding_table["215"] = [65217] let s:lib.Codec.decoding_table["216"] = [65221] let s:lib.Codec.decoding_table["217"] = [65227] let s:lib.Codec.decoding_table["218"] = [65231] let s:lib.Codec.decoding_table["219"] = [166] let s:lib.Codec.decoding_table["220"] = [172] let s:lib.Codec.decoding_table["221"] = [247] let s:lib.Codec.decoding_table["222"] = [215] let s:lib.Codec.decoding_table["223"] = [65225] let s:lib.Codec.decoding_table["224"] = [1600] let s:lib.Codec.decoding_table["225"] = [65235] let s:lib.Codec.decoding_table["226"] = [65239] let s:lib.Codec.decoding_table["227"] = [65243] let s:lib.Codec.decoding_table["228"] = [65247] let s:lib.Codec.decoding_table["229"] = [65251] let s:lib.Codec.decoding_table["230"] = [65255] let s:lib.Codec.decoding_table["231"] = [65259] let s:lib.Codec.decoding_table["232"] = [65261] let s:lib.Codec.decoding_table["233"] = [65263] let s:lib.Codec.decoding_table["234"] = [65267] let s:lib.Codec.decoding_table["235"] = [65213] let s:lib.Codec.decoding_table["236"] = [65228] let s:lib.Codec.decoding_table["237"] = [65230] let s:lib.Codec.decoding_table["238"] = [65229] let s:lib.Codec.decoding_table["239"] = [65249] let s:lib.Codec.decoding_table["240"] = [65149] let s:lib.Codec.decoding_table["241"] = [1617] let s:lib.Codec.decoding_table["242"] = [65253] let s:lib.Codec.decoding_table["243"] = [65257] let s:lib.Codec.decoding_table["244"] = [65260] let s:lib.Codec.decoding_table["245"] = [65264] let s:lib.Codec.decoding_table["246"] = [65266] let s:lib.Codec.decoding_table["247"] = [65232] let s:lib.Codec.decoding_table["248"] = [65237] let s:lib.Codec.decoding_table["249"] = [65269] let s:lib.Codec.decoding_table["250"] = [65270] let s:lib.Codec.decoding_table["251"] = [65245] let s:lib.Codec.decoding_table["252"] = [65241] let s:lib.Codec.decoding_table["253"] = [65265] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["1642"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["176"] = [128] let s:lib.Codec.encoding_table["183"] = [129] let s:lib.Codec.encoding_table["8729"] = [130] let s:lib.Codec.encoding_table["8730"] = [131] let s:lib.Codec.encoding_table["9618"] = [132] let s:lib.Codec.encoding_table["9472"] = [133] let s:lib.Codec.encoding_table["9474"] = [134] let s:lib.Codec.encoding_table["9532"] = [135] let s:lib.Codec.encoding_table["9508"] = [136] let s:lib.Codec.encoding_table["9516"] = [137] let s:lib.Codec.encoding_table["9500"] = [138] let s:lib.Codec.encoding_table["9524"] = [139] let s:lib.Codec.encoding_table["9488"] = [140] let s:lib.Codec.encoding_table["9484"] = [141] let s:lib.Codec.encoding_table["9492"] = [142] let s:lib.Codec.encoding_table["9496"] = [143] let s:lib.Codec.encoding_table["946"] = [144] let s:lib.Codec.encoding_table["8734"] = [145] let s:lib.Codec.encoding_table["966"] = [146] let s:lib.Codec.encoding_table["177"] = [147] let s:lib.Codec.encoding_table["189"] = [148] let s:lib.Codec.encoding_table["188"] = [149] let s:lib.Codec.encoding_table["8776"] = [150] let s:lib.Codec.encoding_table["171"] = [151] let s:lib.Codec.encoding_table["187"] = [152] let s:lib.Codec.encoding_table["65271"] = [153] let s:lib.Codec.encoding_table["65272"] = [154] let s:lib.Codec.encoding_table["65275"] = [157] let s:lib.Codec.encoding_table["65276"] = [158] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["173"] = [161] let s:lib.Codec.encoding_table["65154"] = [162] let s:lib.Codec.encoding_table["163"] = [163] let s:lib.Codec.encoding_table["164"] = [164] let s:lib.Codec.encoding_table["65156"] = [165] let s:lib.Codec.encoding_table["65166"] = [168] let s:lib.Codec.encoding_table["65167"] = [169] let s:lib.Codec.encoding_table["65173"] = [170] let s:lib.Codec.encoding_table["65177"] = [171] let s:lib.Codec.encoding_table["1548"] = [172] let s:lib.Codec.encoding_table["65181"] = [173] let s:lib.Codec.encoding_table["65185"] = [174] let s:lib.Codec.encoding_table["65189"] = [175] let s:lib.Codec.encoding_table["1632"] = [176] let s:lib.Codec.encoding_table["1633"] = [177] let s:lib.Codec.encoding_table["1634"] = [178] let s:lib.Codec.encoding_table["1635"] = [179] let s:lib.Codec.encoding_table["1636"] = [180] let s:lib.Codec.encoding_table["1637"] = [181] let s:lib.Codec.encoding_table["1638"] = [182] let s:lib.Codec.encoding_table["1639"] = [183] let s:lib.Codec.encoding_table["1640"] = [184] let s:lib.Codec.encoding_table["1641"] = [185] let s:lib.Codec.encoding_table["65233"] = [186] let s:lib.Codec.encoding_table["1563"] = [187] let s:lib.Codec.encoding_table["65201"] = [188] let s:lib.Codec.encoding_table["65205"] = [189] let s:lib.Codec.encoding_table["65209"] = [190] let s:lib.Codec.encoding_table["1567"] = [191] let s:lib.Codec.encoding_table["162"] = [192] let s:lib.Codec.encoding_table["65152"] = [193] let s:lib.Codec.encoding_table["65153"] = [194] let s:lib.Codec.encoding_table["65155"] = [195] let s:lib.Codec.encoding_table["65157"] = [196] let s:lib.Codec.encoding_table["65226"] = [197] let s:lib.Codec.encoding_table["65163"] = [198] let s:lib.Codec.encoding_table["65165"] = [199] let s:lib.Codec.encoding_table["65169"] = [200] let s:lib.Codec.encoding_table["65171"] = [201] let s:lib.Codec.encoding_table["65175"] = [202] let s:lib.Codec.encoding_table["65179"] = [203] let s:lib.Codec.encoding_table["65183"] = [204] let s:lib.Codec.encoding_table["65187"] = [205] let s:lib.Codec.encoding_table["65191"] = [206] let s:lib.Codec.encoding_table["65193"] = [207] let s:lib.Codec.encoding_table["65195"] = [208] let s:lib.Codec.encoding_table["65197"] = [209] let s:lib.Codec.encoding_table["65199"] = [210] let s:lib.Codec.encoding_table["65203"] = [211] let s:lib.Codec.encoding_table["65207"] = [212] let s:lib.Codec.encoding_table["65211"] = [213] let s:lib.Codec.encoding_table["65215"] = [214] let s:lib.Codec.encoding_table["65217"] = [215] let s:lib.Codec.encoding_table["65221"] = [216] let s:lib.Codec.encoding_table["65227"] = [217] let s:lib.Codec.encoding_table["65231"] = [218] let s:lib.Codec.encoding_table["166"] = [219] let s:lib.Codec.encoding_table["172"] = [220] let s:lib.Codec.encoding_table["247"] = [221] let s:lib.Codec.encoding_table["215"] = [222] let s:lib.Codec.encoding_table["65225"] = [223] let s:lib.Codec.encoding_table["1600"] = [224] let s:lib.Codec.encoding_table["65235"] = [225] let s:lib.Codec.encoding_table["65239"] = [226] let s:lib.Codec.encoding_table["65243"] = [227] let s:lib.Codec.encoding_table["65247"] = [228] let s:lib.Codec.encoding_table["65251"] = [229] let s:lib.Codec.encoding_table["65255"] = [230] let s:lib.Codec.encoding_table["65259"] = [231] let s:lib.Codec.encoding_table["65261"] = [232] let s:lib.Codec.encoding_table["65263"] = [233] let s:lib.Codec.encoding_table["65267"] = [234] let s:lib.Codec.encoding_table["65213"] = [235] let s:lib.Codec.encoding_table["65228"] = [236] let s:lib.Codec.encoding_table["65230"] = [237] let s:lib.Codec.encoding_table["65229"] = [238] let s:lib.Codec.encoding_table["65249"] = [239] let s:lib.Codec.encoding_table["65149"] = [240] let s:lib.Codec.encoding_table["1617"] = [241] let s:lib.Codec.encoding_table["65253"] = [242] let s:lib.Codec.encoding_table["65257"] = [243] let s:lib.Codec.encoding_table["65260"] = [244] let s:lib.Codec.encoding_table["65264"] = [245] let s:lib.Codec.encoding_table["65266"] = [246] let s:lib.Codec.encoding_table["65232"] = [247] let s:lib.Codec.encoding_table["65237"] = [248] let s:lib.Codec.encoding_table["65269"] = [249] let s:lib.Codec.encoding_table["65270"] = [250] let s:lib.Codec.encoding_table["65245"] = [251] let s:lib.Codec.encoding_table["65241"] = [252] let s:lib.Codec.encoding_table["65265"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp865.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp865#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP865" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [199] let s:lib.Codec.decoding_table["129"] = [252] let s:lib.Codec.decoding_table["130"] = [233] let s:lib.Codec.decoding_table["131"] = [226] let s:lib.Codec.decoding_table["132"] = [228] let s:lib.Codec.decoding_table["133"] = [224] let s:lib.Codec.decoding_table["134"] = [229] let s:lib.Codec.decoding_table["135"] = [231] let s:lib.Codec.decoding_table["136"] = [234] let s:lib.Codec.decoding_table["137"] = [235] let s:lib.Codec.decoding_table["138"] = [232] let s:lib.Codec.decoding_table["139"] = [239] let s:lib.Codec.decoding_table["140"] = [238] let s:lib.Codec.decoding_table["141"] = [236] let s:lib.Codec.decoding_table["142"] = [196] let s:lib.Codec.decoding_table["143"] = [197] let s:lib.Codec.decoding_table["144"] = [201] let s:lib.Codec.decoding_table["145"] = [230] let s:lib.Codec.decoding_table["146"] = [198] let s:lib.Codec.decoding_table["147"] = [244] let s:lib.Codec.decoding_table["148"] = [246] let s:lib.Codec.decoding_table["149"] = [242] let s:lib.Codec.decoding_table["150"] = [251] let s:lib.Codec.decoding_table["151"] = [249] let s:lib.Codec.decoding_table["152"] = [255] let s:lib.Codec.decoding_table["153"] = [214] let s:lib.Codec.decoding_table["154"] = [220] let s:lib.Codec.decoding_table["155"] = [248] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [216] let s:lib.Codec.decoding_table["158"] = [8359] let s:lib.Codec.decoding_table["159"] = [402] let s:lib.Codec.decoding_table["160"] = [225] let s:lib.Codec.decoding_table["161"] = [237] let s:lib.Codec.decoding_table["162"] = [243] let s:lib.Codec.decoding_table["163"] = [250] let s:lib.Codec.decoding_table["164"] = [241] let s:lib.Codec.decoding_table["165"] = [209] let s:lib.Codec.decoding_table["166"] = [170] let s:lib.Codec.decoding_table["167"] = [186] let s:lib.Codec.decoding_table["168"] = [191] let s:lib.Codec.decoding_table["169"] = [8976] let s:lib.Codec.decoding_table["170"] = [172] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [188] let s:lib.Codec.decoding_table["173"] = [161] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [164] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [9569] let s:lib.Codec.decoding_table["182"] = [9570] let s:lib.Codec.decoding_table["183"] = [9558] let s:lib.Codec.decoding_table["184"] = [9557] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [9564] let s:lib.Codec.decoding_table["190"] = [9563] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [9566] let s:lib.Codec.decoding_table["199"] = [9567] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [9575] let s:lib.Codec.decoding_table["208"] = [9576] let s:lib.Codec.decoding_table["209"] = [9572] let s:lib.Codec.decoding_table["210"] = [9573] let s:lib.Codec.decoding_table["211"] = [9561] let s:lib.Codec.decoding_table["212"] = [9560] let s:lib.Codec.decoding_table["213"] = [9554] let s:lib.Codec.decoding_table["214"] = [9555] let s:lib.Codec.decoding_table["215"] = [9579] let s:lib.Codec.decoding_table["216"] = [9578] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [945] let s:lib.Codec.decoding_table["225"] = [223] let s:lib.Codec.decoding_table["226"] = [915] let s:lib.Codec.decoding_table["227"] = [960] let s:lib.Codec.decoding_table["228"] = [931] let s:lib.Codec.decoding_table["229"] = [963] let s:lib.Codec.decoding_table["230"] = [181] let s:lib.Codec.decoding_table["231"] = [964] let s:lib.Codec.decoding_table["232"] = [934] let s:lib.Codec.decoding_table["233"] = [920] let s:lib.Codec.decoding_table["234"] = [937] let s:lib.Codec.decoding_table["235"] = [948] let s:lib.Codec.decoding_table["236"] = [8734] let s:lib.Codec.decoding_table["237"] = [966] let s:lib.Codec.decoding_table["238"] = [949] let s:lib.Codec.decoding_table["239"] = [8745] let s:lib.Codec.decoding_table["240"] = [8801] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [8805] let s:lib.Codec.decoding_table["243"] = [8804] let s:lib.Codec.decoding_table["244"] = [8992] let s:lib.Codec.decoding_table["245"] = [8993] let s:lib.Codec.decoding_table["246"] = [247] let s:lib.Codec.decoding_table["247"] = [8776] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [8730] let s:lib.Codec.decoding_table["252"] = [8319] let s:lib.Codec.decoding_table["253"] = [178] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["199"] = [128] let s:lib.Codec.encoding_table["252"] = [129] let s:lib.Codec.encoding_table["233"] = [130] let s:lib.Codec.encoding_table["226"] = [131] let s:lib.Codec.encoding_table["228"] = [132] let s:lib.Codec.encoding_table["224"] = [133] let s:lib.Codec.encoding_table["229"] = [134] let s:lib.Codec.encoding_table["231"] = [135] let s:lib.Codec.encoding_table["234"] = [136] let s:lib.Codec.encoding_table["235"] = [137] let s:lib.Codec.encoding_table["232"] = [138] let s:lib.Codec.encoding_table["239"] = [139] let s:lib.Codec.encoding_table["238"] = [140] let s:lib.Codec.encoding_table["236"] = [141] let s:lib.Codec.encoding_table["196"] = [142] let s:lib.Codec.encoding_table["197"] = [143] let s:lib.Codec.encoding_table["201"] = [144] let s:lib.Codec.encoding_table["230"] = [145] let s:lib.Codec.encoding_table["198"] = [146] let s:lib.Codec.encoding_table["244"] = [147] let s:lib.Codec.encoding_table["246"] = [148] let s:lib.Codec.encoding_table["242"] = [149] let s:lib.Codec.encoding_table["251"] = [150] let s:lib.Codec.encoding_table["249"] = [151] let s:lib.Codec.encoding_table["255"] = [152] let s:lib.Codec.encoding_table["214"] = [153] let s:lib.Codec.encoding_table["220"] = [154] let s:lib.Codec.encoding_table["248"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["216"] = [157] let s:lib.Codec.encoding_table["8359"] = [158] let s:lib.Codec.encoding_table["402"] = [159] let s:lib.Codec.encoding_table["225"] = [160] let s:lib.Codec.encoding_table["237"] = [161] let s:lib.Codec.encoding_table["243"] = [162] let s:lib.Codec.encoding_table["250"] = [163] let s:lib.Codec.encoding_table["241"] = [164] let s:lib.Codec.encoding_table["209"] = [165] let s:lib.Codec.encoding_table["170"] = [166] let s:lib.Codec.encoding_table["186"] = [167] let s:lib.Codec.encoding_table["191"] = [168] let s:lib.Codec.encoding_table["8976"] = [169] let s:lib.Codec.encoding_table["172"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["188"] = [172] let s:lib.Codec.encoding_table["161"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["164"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["9569"] = [181] let s:lib.Codec.encoding_table["9570"] = [182] let s:lib.Codec.encoding_table["9558"] = [183] let s:lib.Codec.encoding_table["9557"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["9564"] = [189] let s:lib.Codec.encoding_table["9563"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["9566"] = [198] let s:lib.Codec.encoding_table["9567"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["9575"] = [207] let s:lib.Codec.encoding_table["9576"] = [208] let s:lib.Codec.encoding_table["9572"] = [209] let s:lib.Codec.encoding_table["9573"] = [210] let s:lib.Codec.encoding_table["9561"] = [211] let s:lib.Codec.encoding_table["9560"] = [212] let s:lib.Codec.encoding_table["9554"] = [213] let s:lib.Codec.encoding_table["9555"] = [214] let s:lib.Codec.encoding_table["9579"] = [215] let s:lib.Codec.encoding_table["9578"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["945"] = [224] let s:lib.Codec.encoding_table["223"] = [225] let s:lib.Codec.encoding_table["915"] = [226] let s:lib.Codec.encoding_table["960"] = [227] let s:lib.Codec.encoding_table["931"] = [228] let s:lib.Codec.encoding_table["963"] = [229] let s:lib.Codec.encoding_table["181"] = [230] let s:lib.Codec.encoding_table["964"] = [231] let s:lib.Codec.encoding_table["934"] = [232] let s:lib.Codec.encoding_table["920"] = [233] let s:lib.Codec.encoding_table["937"] = [234] let s:lib.Codec.encoding_table["948"] = [235] let s:lib.Codec.encoding_table["8734"] = [236] let s:lib.Codec.encoding_table["966"] = [237] let s:lib.Codec.encoding_table["949"] = [238] let s:lib.Codec.encoding_table["8745"] = [239] let s:lib.Codec.encoding_table["8801"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["8805"] = [242] let s:lib.Codec.encoding_table["8804"] = [243] let s:lib.Codec.encoding_table["8992"] = [244] let s:lib.Codec.encoding_table["8993"] = [245] let s:lib.Codec.encoding_table["247"] = [246] let s:lib.Codec.encoding_table["8776"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["8730"] = [251] let s:lib.Codec.encoding_table["8319"] = [252] let s:lib.Codec.encoding_table["178"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp866.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp866#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP866" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [1040] let s:lib.Codec.decoding_table["129"] = [1041] let s:lib.Codec.decoding_table["130"] = [1042] let s:lib.Codec.decoding_table["131"] = [1043] let s:lib.Codec.decoding_table["132"] = [1044] let s:lib.Codec.decoding_table["133"] = [1045] let s:lib.Codec.decoding_table["134"] = [1046] let s:lib.Codec.decoding_table["135"] = [1047] let s:lib.Codec.decoding_table["136"] = [1048] let s:lib.Codec.decoding_table["137"] = [1049] let s:lib.Codec.decoding_table["138"] = [1050] let s:lib.Codec.decoding_table["139"] = [1051] let s:lib.Codec.decoding_table["140"] = [1052] let s:lib.Codec.decoding_table["141"] = [1053] let s:lib.Codec.decoding_table["142"] = [1054] let s:lib.Codec.decoding_table["143"] = [1055] let s:lib.Codec.decoding_table["144"] = [1056] let s:lib.Codec.decoding_table["145"] = [1057] let s:lib.Codec.decoding_table["146"] = [1058] let s:lib.Codec.decoding_table["147"] = [1059] let s:lib.Codec.decoding_table["148"] = [1060] let s:lib.Codec.decoding_table["149"] = [1061] let s:lib.Codec.decoding_table["150"] = [1062] let s:lib.Codec.decoding_table["151"] = [1063] let s:lib.Codec.decoding_table["152"] = [1064] let s:lib.Codec.decoding_table["153"] = [1065] let s:lib.Codec.decoding_table["154"] = [1066] let s:lib.Codec.decoding_table["155"] = [1067] let s:lib.Codec.decoding_table["156"] = [1068] let s:lib.Codec.decoding_table["157"] = [1069] let s:lib.Codec.decoding_table["158"] = [1070] let s:lib.Codec.decoding_table["159"] = [1071] let s:lib.Codec.decoding_table["160"] = [1072] let s:lib.Codec.decoding_table["161"] = [1073] let s:lib.Codec.decoding_table["162"] = [1074] let s:lib.Codec.decoding_table["163"] = [1075] let s:lib.Codec.decoding_table["164"] = [1076] let s:lib.Codec.decoding_table["165"] = [1077] let s:lib.Codec.decoding_table["166"] = [1078] let s:lib.Codec.decoding_table["167"] = [1079] let s:lib.Codec.decoding_table["168"] = [1080] let s:lib.Codec.decoding_table["169"] = [1081] let s:lib.Codec.decoding_table["170"] = [1082] let s:lib.Codec.decoding_table["171"] = [1083] let s:lib.Codec.decoding_table["172"] = [1084] let s:lib.Codec.decoding_table["173"] = [1085] let s:lib.Codec.decoding_table["174"] = [1086] let s:lib.Codec.decoding_table["175"] = [1087] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [9569] let s:lib.Codec.decoding_table["182"] = [9570] let s:lib.Codec.decoding_table["183"] = [9558] let s:lib.Codec.decoding_table["184"] = [9557] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [9564] let s:lib.Codec.decoding_table["190"] = [9563] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [9566] let s:lib.Codec.decoding_table["199"] = [9567] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [9575] let s:lib.Codec.decoding_table["208"] = [9576] let s:lib.Codec.decoding_table["209"] = [9572] let s:lib.Codec.decoding_table["210"] = [9573] let s:lib.Codec.decoding_table["211"] = [9561] let s:lib.Codec.decoding_table["212"] = [9560] let s:lib.Codec.decoding_table["213"] = [9554] let s:lib.Codec.decoding_table["214"] = [9555] let s:lib.Codec.decoding_table["215"] = [9579] let s:lib.Codec.decoding_table["216"] = [9578] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [9612] let s:lib.Codec.decoding_table["222"] = [9616] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [1088] let s:lib.Codec.decoding_table["225"] = [1089] let s:lib.Codec.decoding_table["226"] = [1090] let s:lib.Codec.decoding_table["227"] = [1091] let s:lib.Codec.decoding_table["228"] = [1092] let s:lib.Codec.decoding_table["229"] = [1093] let s:lib.Codec.decoding_table["230"] = [1094] let s:lib.Codec.decoding_table["231"] = [1095] let s:lib.Codec.decoding_table["232"] = [1096] let s:lib.Codec.decoding_table["233"] = [1097] let s:lib.Codec.decoding_table["234"] = [1098] let s:lib.Codec.decoding_table["235"] = [1099] let s:lib.Codec.decoding_table["236"] = [1100] let s:lib.Codec.decoding_table["237"] = [1101] let s:lib.Codec.decoding_table["238"] = [1102] let s:lib.Codec.decoding_table["239"] = [1103] let s:lib.Codec.decoding_table["240"] = [1025] let s:lib.Codec.decoding_table["241"] = [1105] let s:lib.Codec.decoding_table["242"] = [1028] let s:lib.Codec.decoding_table["243"] = [1108] let s:lib.Codec.decoding_table["244"] = [1031] let s:lib.Codec.decoding_table["245"] = [1111] let s:lib.Codec.decoding_table["246"] = [1038] let s:lib.Codec.decoding_table["247"] = [1118] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [8729] let s:lib.Codec.decoding_table["250"] = [183] let s:lib.Codec.decoding_table["251"] = [8730] let s:lib.Codec.decoding_table["252"] = [8470] let s:lib.Codec.decoding_table["253"] = [164] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["1040"] = [128] let s:lib.Codec.encoding_table["1041"] = [129] let s:lib.Codec.encoding_table["1042"] = [130] let s:lib.Codec.encoding_table["1043"] = [131] let s:lib.Codec.encoding_table["1044"] = [132] let s:lib.Codec.encoding_table["1045"] = [133] let s:lib.Codec.encoding_table["1046"] = [134] let s:lib.Codec.encoding_table["1047"] = [135] let s:lib.Codec.encoding_table["1048"] = [136] let s:lib.Codec.encoding_table["1049"] = [137] let s:lib.Codec.encoding_table["1050"] = [138] let s:lib.Codec.encoding_table["1051"] = [139] let s:lib.Codec.encoding_table["1052"] = [140] let s:lib.Codec.encoding_table["1053"] = [141] let s:lib.Codec.encoding_table["1054"] = [142] let s:lib.Codec.encoding_table["1055"] = [143] let s:lib.Codec.encoding_table["1056"] = [144] let s:lib.Codec.encoding_table["1057"] = [145] let s:lib.Codec.encoding_table["1058"] = [146] let s:lib.Codec.encoding_table["1059"] = [147] let s:lib.Codec.encoding_table["1060"] = [148] let s:lib.Codec.encoding_table["1061"] = [149] let s:lib.Codec.encoding_table["1062"] = [150] let s:lib.Codec.encoding_table["1063"] = [151] let s:lib.Codec.encoding_table["1064"] = [152] let s:lib.Codec.encoding_table["1065"] = [153] let s:lib.Codec.encoding_table["1066"] = [154] let s:lib.Codec.encoding_table["1067"] = [155] let s:lib.Codec.encoding_table["1068"] = [156] let s:lib.Codec.encoding_table["1069"] = [157] let s:lib.Codec.encoding_table["1070"] = [158] let s:lib.Codec.encoding_table["1071"] = [159] let s:lib.Codec.encoding_table["1072"] = [160] let s:lib.Codec.encoding_table["1073"] = [161] let s:lib.Codec.encoding_table["1074"] = [162] let s:lib.Codec.encoding_table["1075"] = [163] let s:lib.Codec.encoding_table["1076"] = [164] let s:lib.Codec.encoding_table["1077"] = [165] let s:lib.Codec.encoding_table["1078"] = [166] let s:lib.Codec.encoding_table["1079"] = [167] let s:lib.Codec.encoding_table["1080"] = [168] let s:lib.Codec.encoding_table["1081"] = [169] let s:lib.Codec.encoding_table["1082"] = [170] let s:lib.Codec.encoding_table["1083"] = [171] let s:lib.Codec.encoding_table["1084"] = [172] let s:lib.Codec.encoding_table["1085"] = [173] let s:lib.Codec.encoding_table["1086"] = [174] let s:lib.Codec.encoding_table["1087"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["9569"] = [181] let s:lib.Codec.encoding_table["9570"] = [182] let s:lib.Codec.encoding_table["9558"] = [183] let s:lib.Codec.encoding_table["9557"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["9564"] = [189] let s:lib.Codec.encoding_table["9563"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["9566"] = [198] let s:lib.Codec.encoding_table["9567"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["9575"] = [207] let s:lib.Codec.encoding_table["9576"] = [208] let s:lib.Codec.encoding_table["9572"] = [209] let s:lib.Codec.encoding_table["9573"] = [210] let s:lib.Codec.encoding_table["9561"] = [211] let s:lib.Codec.encoding_table["9560"] = [212] let s:lib.Codec.encoding_table["9554"] = [213] let s:lib.Codec.encoding_table["9555"] = [214] let s:lib.Codec.encoding_table["9579"] = [215] let s:lib.Codec.encoding_table["9578"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["9612"] = [221] let s:lib.Codec.encoding_table["9616"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["1088"] = [224] let s:lib.Codec.encoding_table["1089"] = [225] let s:lib.Codec.encoding_table["1090"] = [226] let s:lib.Codec.encoding_table["1091"] = [227] let s:lib.Codec.encoding_table["1092"] = [228] let s:lib.Codec.encoding_table["1093"] = [229] let s:lib.Codec.encoding_table["1094"] = [230] let s:lib.Codec.encoding_table["1095"] = [231] let s:lib.Codec.encoding_table["1096"] = [232] let s:lib.Codec.encoding_table["1097"] = [233] let s:lib.Codec.encoding_table["1098"] = [234] let s:lib.Codec.encoding_table["1099"] = [235] let s:lib.Codec.encoding_table["1100"] = [236] let s:lib.Codec.encoding_table["1101"] = [237] let s:lib.Codec.encoding_table["1102"] = [238] let s:lib.Codec.encoding_table["1103"] = [239] let s:lib.Codec.encoding_table["1025"] = [240] let s:lib.Codec.encoding_table["1105"] = [241] let s:lib.Codec.encoding_table["1028"] = [242] let s:lib.Codec.encoding_table["1108"] = [243] let s:lib.Codec.encoding_table["1031"] = [244] let s:lib.Codec.encoding_table["1111"] = [245] let s:lib.Codec.encoding_table["1038"] = [246] let s:lib.Codec.encoding_table["1118"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["8729"] = [249] let s:lib.Codec.encoding_table["183"] = [250] let s:lib.Codec.encoding_table["8730"] = [251] let s:lib.Codec.encoding_table["8470"] = [252] let s:lib.Codec.encoding_table["164"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp869.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp869#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP869" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["134"] = [902] let s:lib.Codec.decoding_table["136"] = [183] let s:lib.Codec.decoding_table["137"] = [172] let s:lib.Codec.decoding_table["138"] = [166] let s:lib.Codec.decoding_table["139"] = [8216] let s:lib.Codec.decoding_table["140"] = [8217] let s:lib.Codec.decoding_table["141"] = [904] let s:lib.Codec.decoding_table["142"] = [8213] let s:lib.Codec.decoding_table["143"] = [905] let s:lib.Codec.decoding_table["144"] = [906] let s:lib.Codec.decoding_table["145"] = [938] let s:lib.Codec.decoding_table["146"] = [908] let s:lib.Codec.decoding_table["149"] = [910] let s:lib.Codec.decoding_table["150"] = [939] let s:lib.Codec.decoding_table["151"] = [169] let s:lib.Codec.decoding_table["152"] = [911] let s:lib.Codec.decoding_table["153"] = [178] let s:lib.Codec.decoding_table["154"] = [179] let s:lib.Codec.decoding_table["155"] = [940] let s:lib.Codec.decoding_table["156"] = [163] let s:lib.Codec.decoding_table["157"] = [941] let s:lib.Codec.decoding_table["158"] = [942] let s:lib.Codec.decoding_table["159"] = [943] let s:lib.Codec.decoding_table["160"] = [970] let s:lib.Codec.decoding_table["161"] = [912] let s:lib.Codec.decoding_table["162"] = [972] let s:lib.Codec.decoding_table["163"] = [973] let s:lib.Codec.decoding_table["164"] = [913] let s:lib.Codec.decoding_table["165"] = [914] let s:lib.Codec.decoding_table["166"] = [915] let s:lib.Codec.decoding_table["167"] = [916] let s:lib.Codec.decoding_table["168"] = [917] let s:lib.Codec.decoding_table["169"] = [918] let s:lib.Codec.decoding_table["170"] = [919] let s:lib.Codec.decoding_table["171"] = [189] let s:lib.Codec.decoding_table["172"] = [920] let s:lib.Codec.decoding_table["173"] = [921] let s:lib.Codec.decoding_table["174"] = [171] let s:lib.Codec.decoding_table["175"] = [187] let s:lib.Codec.decoding_table["176"] = [9617] let s:lib.Codec.decoding_table["177"] = [9618] let s:lib.Codec.decoding_table["178"] = [9619] let s:lib.Codec.decoding_table["179"] = [9474] let s:lib.Codec.decoding_table["180"] = [9508] let s:lib.Codec.decoding_table["181"] = [922] let s:lib.Codec.decoding_table["182"] = [923] let s:lib.Codec.decoding_table["183"] = [924] let s:lib.Codec.decoding_table["184"] = [925] let s:lib.Codec.decoding_table["185"] = [9571] let s:lib.Codec.decoding_table["186"] = [9553] let s:lib.Codec.decoding_table["187"] = [9559] let s:lib.Codec.decoding_table["188"] = [9565] let s:lib.Codec.decoding_table["189"] = [926] let s:lib.Codec.decoding_table["190"] = [927] let s:lib.Codec.decoding_table["191"] = [9488] let s:lib.Codec.decoding_table["192"] = [9492] let s:lib.Codec.decoding_table["193"] = [9524] let s:lib.Codec.decoding_table["194"] = [9516] let s:lib.Codec.decoding_table["195"] = [9500] let s:lib.Codec.decoding_table["196"] = [9472] let s:lib.Codec.decoding_table["197"] = [9532] let s:lib.Codec.decoding_table["198"] = [928] let s:lib.Codec.decoding_table["199"] = [929] let s:lib.Codec.decoding_table["200"] = [9562] let s:lib.Codec.decoding_table["201"] = [9556] let s:lib.Codec.decoding_table["202"] = [9577] let s:lib.Codec.decoding_table["203"] = [9574] let s:lib.Codec.decoding_table["204"] = [9568] let s:lib.Codec.decoding_table["205"] = [9552] let s:lib.Codec.decoding_table["206"] = [9580] let s:lib.Codec.decoding_table["207"] = [931] let s:lib.Codec.decoding_table["208"] = [932] let s:lib.Codec.decoding_table["209"] = [933] let s:lib.Codec.decoding_table["210"] = [934] let s:lib.Codec.decoding_table["211"] = [935] let s:lib.Codec.decoding_table["212"] = [936] let s:lib.Codec.decoding_table["213"] = [937] let s:lib.Codec.decoding_table["214"] = [945] let s:lib.Codec.decoding_table["215"] = [946] let s:lib.Codec.decoding_table["216"] = [947] let s:lib.Codec.decoding_table["217"] = [9496] let s:lib.Codec.decoding_table["218"] = [9484] let s:lib.Codec.decoding_table["219"] = [9608] let s:lib.Codec.decoding_table["220"] = [9604] let s:lib.Codec.decoding_table["221"] = [948] let s:lib.Codec.decoding_table["222"] = [949] let s:lib.Codec.decoding_table["223"] = [9600] let s:lib.Codec.decoding_table["224"] = [950] let s:lib.Codec.decoding_table["225"] = [951] let s:lib.Codec.decoding_table["226"] = [952] let s:lib.Codec.decoding_table["227"] = [953] let s:lib.Codec.decoding_table["228"] = [954] let s:lib.Codec.decoding_table["229"] = [955] let s:lib.Codec.decoding_table["230"] = [956] let s:lib.Codec.decoding_table["231"] = [957] let s:lib.Codec.decoding_table["232"] = [958] let s:lib.Codec.decoding_table["233"] = [959] let s:lib.Codec.decoding_table["234"] = [960] let s:lib.Codec.decoding_table["235"] = [961] let s:lib.Codec.decoding_table["236"] = [963] let s:lib.Codec.decoding_table["237"] = [962] let s:lib.Codec.decoding_table["238"] = [964] let s:lib.Codec.decoding_table["239"] = [900] let s:lib.Codec.decoding_table["240"] = [173] let s:lib.Codec.decoding_table["241"] = [177] let s:lib.Codec.decoding_table["242"] = [965] let s:lib.Codec.decoding_table["243"] = [966] let s:lib.Codec.decoding_table["244"] = [967] let s:lib.Codec.decoding_table["245"] = [167] let s:lib.Codec.decoding_table["246"] = [968] let s:lib.Codec.decoding_table["247"] = [901] let s:lib.Codec.decoding_table["248"] = [176] let s:lib.Codec.decoding_table["249"] = [168] let s:lib.Codec.decoding_table["250"] = [969] let s:lib.Codec.decoding_table["251"] = [971] let s:lib.Codec.decoding_table["252"] = [944] let s:lib.Codec.decoding_table["253"] = [974] let s:lib.Codec.decoding_table["254"] = [9632] let s:lib.Codec.decoding_table["255"] = [160] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["902"] = [134] let s:lib.Codec.encoding_table["183"] = [136] let s:lib.Codec.encoding_table["172"] = [137] let s:lib.Codec.encoding_table["166"] = [138] let s:lib.Codec.encoding_table["8216"] = [139] let s:lib.Codec.encoding_table["8217"] = [140] let s:lib.Codec.encoding_table["904"] = [141] let s:lib.Codec.encoding_table["8213"] = [142] let s:lib.Codec.encoding_table["905"] = [143] let s:lib.Codec.encoding_table["906"] = [144] let s:lib.Codec.encoding_table["938"] = [145] let s:lib.Codec.encoding_table["908"] = [146] let s:lib.Codec.encoding_table["910"] = [149] let s:lib.Codec.encoding_table["939"] = [150] let s:lib.Codec.encoding_table["169"] = [151] let s:lib.Codec.encoding_table["911"] = [152] let s:lib.Codec.encoding_table["178"] = [153] let s:lib.Codec.encoding_table["179"] = [154] let s:lib.Codec.encoding_table["940"] = [155] let s:lib.Codec.encoding_table["163"] = [156] let s:lib.Codec.encoding_table["941"] = [157] let s:lib.Codec.encoding_table["942"] = [158] let s:lib.Codec.encoding_table["943"] = [159] let s:lib.Codec.encoding_table["970"] = [160] let s:lib.Codec.encoding_table["912"] = [161] let s:lib.Codec.encoding_table["972"] = [162] let s:lib.Codec.encoding_table["973"] = [163] let s:lib.Codec.encoding_table["913"] = [164] let s:lib.Codec.encoding_table["914"] = [165] let s:lib.Codec.encoding_table["915"] = [166] let s:lib.Codec.encoding_table["916"] = [167] let s:lib.Codec.encoding_table["917"] = [168] let s:lib.Codec.encoding_table["918"] = [169] let s:lib.Codec.encoding_table["919"] = [170] let s:lib.Codec.encoding_table["189"] = [171] let s:lib.Codec.encoding_table["920"] = [172] let s:lib.Codec.encoding_table["921"] = [173] let s:lib.Codec.encoding_table["171"] = [174] let s:lib.Codec.encoding_table["187"] = [175] let s:lib.Codec.encoding_table["9617"] = [176] let s:lib.Codec.encoding_table["9618"] = [177] let s:lib.Codec.encoding_table["9619"] = [178] let s:lib.Codec.encoding_table["9474"] = [179] let s:lib.Codec.encoding_table["9508"] = [180] let s:lib.Codec.encoding_table["922"] = [181] let s:lib.Codec.encoding_table["923"] = [182] let s:lib.Codec.encoding_table["924"] = [183] let s:lib.Codec.encoding_table["925"] = [184] let s:lib.Codec.encoding_table["9571"] = [185] let s:lib.Codec.encoding_table["9553"] = [186] let s:lib.Codec.encoding_table["9559"] = [187] let s:lib.Codec.encoding_table["9565"] = [188] let s:lib.Codec.encoding_table["926"] = [189] let s:lib.Codec.encoding_table["927"] = [190] let s:lib.Codec.encoding_table["9488"] = [191] let s:lib.Codec.encoding_table["9492"] = [192] let s:lib.Codec.encoding_table["9524"] = [193] let s:lib.Codec.encoding_table["9516"] = [194] let s:lib.Codec.encoding_table["9500"] = [195] let s:lib.Codec.encoding_table["9472"] = [196] let s:lib.Codec.encoding_table["9532"] = [197] let s:lib.Codec.encoding_table["928"] = [198] let s:lib.Codec.encoding_table["929"] = [199] let s:lib.Codec.encoding_table["9562"] = [200] let s:lib.Codec.encoding_table["9556"] = [201] let s:lib.Codec.encoding_table["9577"] = [202] let s:lib.Codec.encoding_table["9574"] = [203] let s:lib.Codec.encoding_table["9568"] = [204] let s:lib.Codec.encoding_table["9552"] = [205] let s:lib.Codec.encoding_table["9580"] = [206] let s:lib.Codec.encoding_table["931"] = [207] let s:lib.Codec.encoding_table["932"] = [208] let s:lib.Codec.encoding_table["933"] = [209] let s:lib.Codec.encoding_table["934"] = [210] let s:lib.Codec.encoding_table["935"] = [211] let s:lib.Codec.encoding_table["936"] = [212] let s:lib.Codec.encoding_table["937"] = [213] let s:lib.Codec.encoding_table["945"] = [214] let s:lib.Codec.encoding_table["946"] = [215] let s:lib.Codec.encoding_table["947"] = [216] let s:lib.Codec.encoding_table["9496"] = [217] let s:lib.Codec.encoding_table["9484"] = [218] let s:lib.Codec.encoding_table["9608"] = [219] let s:lib.Codec.encoding_table["9604"] = [220] let s:lib.Codec.encoding_table["948"] = [221] let s:lib.Codec.encoding_table["949"] = [222] let s:lib.Codec.encoding_table["9600"] = [223] let s:lib.Codec.encoding_table["950"] = [224] let s:lib.Codec.encoding_table["951"] = [225] let s:lib.Codec.encoding_table["952"] = [226] let s:lib.Codec.encoding_table["953"] = [227] let s:lib.Codec.encoding_table["954"] = [228] let s:lib.Codec.encoding_table["955"] = [229] let s:lib.Codec.encoding_table["956"] = [230] let s:lib.Codec.encoding_table["957"] = [231] let s:lib.Codec.encoding_table["958"] = [232] let s:lib.Codec.encoding_table["959"] = [233] let s:lib.Codec.encoding_table["960"] = [234] let s:lib.Codec.encoding_table["961"] = [235] let s:lib.Codec.encoding_table["963"] = [236] let s:lib.Codec.encoding_table["962"] = [237] let s:lib.Codec.encoding_table["964"] = [238] let s:lib.Codec.encoding_table["900"] = [239] let s:lib.Codec.encoding_table["173"] = [240] let s:lib.Codec.encoding_table["177"] = [241] let s:lib.Codec.encoding_table["965"] = [242] let s:lib.Codec.encoding_table["966"] = [243] let s:lib.Codec.encoding_table["967"] = [244] let s:lib.Codec.encoding_table["167"] = [245] let s:lib.Codec.encoding_table["968"] = [246] let s:lib.Codec.encoding_table["901"] = [247] let s:lib.Codec.encoding_table["176"] = [248] let s:lib.Codec.encoding_table["168"] = [249] let s:lib.Codec.encoding_table["969"] = [250] let s:lib.Codec.encoding_table["971"] = [251] let s:lib.Codec.encoding_table["944"] = [252] let s:lib.Codec.encoding_table["974"] = [253] let s:lib.Codec.encoding_table["9632"] = [254] let s:lib.Codec.encoding_table["160"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp874.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp874#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP874" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [8364] let s:lib.Codec.decoding_table["133"] = [8230] let s:lib.Codec.decoding_table["145"] = [8216] let s:lib.Codec.decoding_table["146"] = [8217] let s:lib.Codec.decoding_table["147"] = [8220] let s:lib.Codec.decoding_table["148"] = [8221] let s:lib.Codec.decoding_table["149"] = [8226] let s:lib.Codec.decoding_table["150"] = [8211] let s:lib.Codec.decoding_table["151"] = [8212] let s:lib.Codec.decoding_table["160"] = [160] let s:lib.Codec.decoding_table["161"] = [3585] let s:lib.Codec.decoding_table["162"] = [3586] let s:lib.Codec.decoding_table["163"] = [3587] let s:lib.Codec.decoding_table["164"] = [3588] let s:lib.Codec.decoding_table["165"] = [3589] let s:lib.Codec.decoding_table["166"] = [3590] let s:lib.Codec.decoding_table["167"] = [3591] let s:lib.Codec.decoding_table["168"] = [3592] let s:lib.Codec.decoding_table["169"] = [3593] let s:lib.Codec.decoding_table["170"] = [3594] let s:lib.Codec.decoding_table["171"] = [3595] let s:lib.Codec.decoding_table["172"] = [3596] let s:lib.Codec.decoding_table["173"] = [3597] let s:lib.Codec.decoding_table["174"] = [3598] let s:lib.Codec.decoding_table["175"] = [3599] let s:lib.Codec.decoding_table["176"] = [3600] let s:lib.Codec.decoding_table["177"] = [3601] let s:lib.Codec.decoding_table["178"] = [3602] let s:lib.Codec.decoding_table["179"] = [3603] let s:lib.Codec.decoding_table["180"] = [3604] let s:lib.Codec.decoding_table["181"] = [3605] let s:lib.Codec.decoding_table["182"] = [3606] let s:lib.Codec.decoding_table["183"] = [3607] let s:lib.Codec.decoding_table["184"] = [3608] let s:lib.Codec.decoding_table["185"] = [3609] let s:lib.Codec.decoding_table["186"] = [3610] let s:lib.Codec.decoding_table["187"] = [3611] let s:lib.Codec.decoding_table["188"] = [3612] let s:lib.Codec.decoding_table["189"] = [3613] let s:lib.Codec.decoding_table["190"] = [3614] let s:lib.Codec.decoding_table["191"] = [3615] let s:lib.Codec.decoding_table["192"] = [3616] let s:lib.Codec.decoding_table["193"] = [3617] let s:lib.Codec.decoding_table["194"] = [3618] let s:lib.Codec.decoding_table["195"] = [3619] let s:lib.Codec.decoding_table["196"] = [3620] let s:lib.Codec.decoding_table["197"] = [3621] let s:lib.Codec.decoding_table["198"] = [3622] let s:lib.Codec.decoding_table["199"] = [3623] let s:lib.Codec.decoding_table["200"] = [3624] let s:lib.Codec.decoding_table["201"] = [3625] let s:lib.Codec.decoding_table["202"] = [3626] let s:lib.Codec.decoding_table["203"] = [3627] let s:lib.Codec.decoding_table["204"] = [3628] let s:lib.Codec.decoding_table["205"] = [3629] let s:lib.Codec.decoding_table["206"] = [3630] let s:lib.Codec.decoding_table["207"] = [3631] let s:lib.Codec.decoding_table["208"] = [3632] let s:lib.Codec.decoding_table["209"] = [3633] let s:lib.Codec.decoding_table["210"] = [3634] let s:lib.Codec.decoding_table["211"] = [3635] let s:lib.Codec.decoding_table["212"] = [3636] let s:lib.Codec.decoding_table["213"] = [3637] let s:lib.Codec.decoding_table["214"] = [3638] let s:lib.Codec.decoding_table["215"] = [3639] let s:lib.Codec.decoding_table["216"] = [3640] let s:lib.Codec.decoding_table["217"] = [3641] let s:lib.Codec.decoding_table["218"] = [3642] let s:lib.Codec.decoding_table["223"] = [3647] let s:lib.Codec.decoding_table["224"] = [3648] let s:lib.Codec.decoding_table["225"] = [3649] let s:lib.Codec.decoding_table["226"] = [3650] let s:lib.Codec.decoding_table["227"] = [3651] let s:lib.Codec.decoding_table["228"] = [3652] let s:lib.Codec.decoding_table["229"] = [3653] let s:lib.Codec.decoding_table["230"] = [3654] let s:lib.Codec.decoding_table["231"] = [3655] let s:lib.Codec.decoding_table["232"] = [3656] let s:lib.Codec.decoding_table["233"] = [3657] let s:lib.Codec.decoding_table["234"] = [3658] let s:lib.Codec.decoding_table["235"] = [3659] let s:lib.Codec.decoding_table["236"] = [3660] let s:lib.Codec.decoding_table["237"] = [3661] let s:lib.Codec.decoding_table["238"] = [3662] let s:lib.Codec.decoding_table["239"] = [3663] let s:lib.Codec.decoding_table["240"] = [3664] let s:lib.Codec.decoding_table["241"] = [3665] let s:lib.Codec.decoding_table["242"] = [3666] let s:lib.Codec.decoding_table["243"] = [3667] let s:lib.Codec.decoding_table["244"] = [3668] let s:lib.Codec.decoding_table["245"] = [3669] let s:lib.Codec.decoding_table["246"] = [3670] let s:lib.Codec.decoding_table["247"] = [3671] let s:lib.Codec.decoding_table["248"] = [3672] let s:lib.Codec.decoding_table["249"] = [3673] let s:lib.Codec.decoding_table["250"] = [3674] let s:lib.Codec.decoding_table["251"] = [3675] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["8364"] = [128] let s:lib.Codec.encoding_table["8230"] = [133] let s:lib.Codec.encoding_table["8216"] = [145] let s:lib.Codec.encoding_table["8217"] = [146] let s:lib.Codec.encoding_table["8220"] = [147] let s:lib.Codec.encoding_table["8221"] = [148] let s:lib.Codec.encoding_table["8226"] = [149] let s:lib.Codec.encoding_table["8211"] = [150] let s:lib.Codec.encoding_table["8212"] = [151] let s:lib.Codec.encoding_table["160"] = [160] let s:lib.Codec.encoding_table["3585"] = [161] let s:lib.Codec.encoding_table["3586"] = [162] let s:lib.Codec.encoding_table["3587"] = [163] let s:lib.Codec.encoding_table["3588"] = [164] let s:lib.Codec.encoding_table["3589"] = [165] let s:lib.Codec.encoding_table["3590"] = [166] let s:lib.Codec.encoding_table["3591"] = [167] let s:lib.Codec.encoding_table["3592"] = [168] let s:lib.Codec.encoding_table["3593"] = [169] let s:lib.Codec.encoding_table["3594"] = [170] let s:lib.Codec.encoding_table["3595"] = [171] let s:lib.Codec.encoding_table["3596"] = [172] let s:lib.Codec.encoding_table["3597"] = [173] let s:lib.Codec.encoding_table["3598"] = [174] let s:lib.Codec.encoding_table["3599"] = [175] let s:lib.Codec.encoding_table["3600"] = [176] let s:lib.Codec.encoding_table["3601"] = [177] let s:lib.Codec.encoding_table["3602"] = [178] let s:lib.Codec.encoding_table["3603"] = [179] let s:lib.Codec.encoding_table["3604"] = [180] let s:lib.Codec.encoding_table["3605"] = [181] let s:lib.Codec.encoding_table["3606"] = [182] let s:lib.Codec.encoding_table["3607"] = [183] let s:lib.Codec.encoding_table["3608"] = [184] let s:lib.Codec.encoding_table["3609"] = [185] let s:lib.Codec.encoding_table["3610"] = [186] let s:lib.Codec.encoding_table["3611"] = [187] let s:lib.Codec.encoding_table["3612"] = [188] let s:lib.Codec.encoding_table["3613"] = [189] let s:lib.Codec.encoding_table["3614"] = [190] let s:lib.Codec.encoding_table["3615"] = [191] let s:lib.Codec.encoding_table["3616"] = [192] let s:lib.Codec.encoding_table["3617"] = [193] let s:lib.Codec.encoding_table["3618"] = [194] let s:lib.Codec.encoding_table["3619"] = [195] let s:lib.Codec.encoding_table["3620"] = [196] let s:lib.Codec.encoding_table["3621"] = [197] let s:lib.Codec.encoding_table["3622"] = [198] let s:lib.Codec.encoding_table["3623"] = [199] let s:lib.Codec.encoding_table["3624"] = [200] let s:lib.Codec.encoding_table["3625"] = [201] let s:lib.Codec.encoding_table["3626"] = [202] let s:lib.Codec.encoding_table["3627"] = [203] let s:lib.Codec.encoding_table["3628"] = [204] let s:lib.Codec.encoding_table["3629"] = [205] let s:lib.Codec.encoding_table["3630"] = [206] let s:lib.Codec.encoding_table["3631"] = [207] let s:lib.Codec.encoding_table["3632"] = [208] let s:lib.Codec.encoding_table["3633"] = [209] let s:lib.Codec.encoding_table["3634"] = [210] let s:lib.Codec.encoding_table["3635"] = [211] let s:lib.Codec.encoding_table["3636"] = [212] let s:lib.Codec.encoding_table["3637"] = [213] let s:lib.Codec.encoding_table["3638"] = [214] let s:lib.Codec.encoding_table["3639"] = [215] let s:lib.Codec.encoding_table["3640"] = [216] let s:lib.Codec.encoding_table["3641"] = [217] let s:lib.Codec.encoding_table["3642"] = [218] let s:lib.Codec.encoding_table["3647"] = [223] let s:lib.Codec.encoding_table["3648"] = [224] let s:lib.Codec.encoding_table["3649"] = [225] let s:lib.Codec.encoding_table["3650"] = [226] let s:lib.Codec.encoding_table["3651"] = [227] let s:lib.Codec.encoding_table["3652"] = [228] let s:lib.Codec.encoding_table["3653"] = [229] let s:lib.Codec.encoding_table["3654"] = [230] let s:lib.Codec.encoding_table["3655"] = [231] let s:lib.Codec.encoding_table["3656"] = [232] let s:lib.Codec.encoding_table["3657"] = [233] let s:lib.Codec.encoding_table["3658"] = [234] let s:lib.Codec.encoding_table["3659"] = [235] let s:lib.Codec.encoding_table["3660"] = [236] let s:lib.Codec.encoding_table["3661"] = [237] let s:lib.Codec.encoding_table["3662"] = [238] let s:lib.Codec.encoding_table["3663"] = [239] let s:lib.Codec.encoding_table["3664"] = [240] let s:lib.Codec.encoding_table["3665"] = [241] let s:lib.Codec.encoding_table["3666"] = [242] let s:lib.Codec.encoding_table["3667"] = [243] let s:lib.Codec.encoding_table["3668"] = [244] let s:lib.Codec.encoding_table["3669"] = [245] let s:lib.Codec.encoding_table["3670"] = [246] let s:lib.Codec.encoding_table["3671"] = [247] let s:lib.Codec.encoding_table["3672"] = [248] let s:lib.Codec.encoding_table["3673"] = [249] let s:lib.Codec.encoding_table["3674"] = [250] let s:lib.Codec.encoding_table["3675"] = [251] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp875.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp875#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP875" let s:lib.Codec.decoding_table_maxlen = 1 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [156] let s:lib.Codec.decoding_table["5"] = [9] let s:lib.Codec.decoding_table["6"] = [134] let s:lib.Codec.decoding_table["7"] = [127] let s:lib.Codec.decoding_table["8"] = [151] let s:lib.Codec.decoding_table["9"] = [141] let s:lib.Codec.decoding_table["10"] = [142] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [157] let s:lib.Codec.decoding_table["21"] = [133] let s:lib.Codec.decoding_table["22"] = [8] let s:lib.Codec.decoding_table["23"] = [135] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [146] let s:lib.Codec.decoding_table["27"] = [143] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [128] let s:lib.Codec.decoding_table["33"] = [129] let s:lib.Codec.decoding_table["34"] = [130] let s:lib.Codec.decoding_table["35"] = [131] let s:lib.Codec.decoding_table["36"] = [132] let s:lib.Codec.decoding_table["37"] = [10] let s:lib.Codec.decoding_table["38"] = [23] let s:lib.Codec.decoding_table["39"] = [27] let s:lib.Codec.decoding_table["40"] = [136] let s:lib.Codec.decoding_table["41"] = [137] let s:lib.Codec.decoding_table["42"] = [138] let s:lib.Codec.decoding_table["43"] = [139] let s:lib.Codec.decoding_table["44"] = [140] let s:lib.Codec.decoding_table["45"] = [5] let s:lib.Codec.decoding_table["46"] = [6] let s:lib.Codec.decoding_table["47"] = [7] let s:lib.Codec.decoding_table["48"] = [144] let s:lib.Codec.decoding_table["49"] = [145] let s:lib.Codec.decoding_table["50"] = [22] let s:lib.Codec.decoding_table["51"] = [147] let s:lib.Codec.decoding_table["52"] = [148] let s:lib.Codec.decoding_table["53"] = [149] let s:lib.Codec.decoding_table["54"] = [150] let s:lib.Codec.decoding_table["55"] = [4] let s:lib.Codec.decoding_table["56"] = [152] let s:lib.Codec.decoding_table["57"] = [153] let s:lib.Codec.decoding_table["58"] = [154] let s:lib.Codec.decoding_table["59"] = [155] let s:lib.Codec.decoding_table["60"] = [20] let s:lib.Codec.decoding_table["61"] = [21] let s:lib.Codec.decoding_table["62"] = [158] let s:lib.Codec.decoding_table["63"] = [26] let s:lib.Codec.decoding_table["64"] = [32] let s:lib.Codec.decoding_table["65"] = [913] let s:lib.Codec.decoding_table["66"] = [914] let s:lib.Codec.decoding_table["67"] = [915] let s:lib.Codec.decoding_table["68"] = [916] let s:lib.Codec.decoding_table["69"] = [917] let s:lib.Codec.decoding_table["70"] = [918] let s:lib.Codec.decoding_table["71"] = [919] let s:lib.Codec.decoding_table["72"] = [920] let s:lib.Codec.decoding_table["73"] = [921] let s:lib.Codec.decoding_table["74"] = [91] let s:lib.Codec.decoding_table["75"] = [46] let s:lib.Codec.decoding_table["76"] = [60] let s:lib.Codec.decoding_table["77"] = [40] let s:lib.Codec.decoding_table["78"] = [43] let s:lib.Codec.decoding_table["79"] = [33] let s:lib.Codec.decoding_table["80"] = [38] let s:lib.Codec.decoding_table["81"] = [922] let s:lib.Codec.decoding_table["82"] = [923] let s:lib.Codec.decoding_table["83"] = [924] let s:lib.Codec.decoding_table["84"] = [925] let s:lib.Codec.decoding_table["85"] = [926] let s:lib.Codec.decoding_table["86"] = [927] let s:lib.Codec.decoding_table["87"] = [928] let s:lib.Codec.decoding_table["88"] = [929] let s:lib.Codec.decoding_table["89"] = [931] let s:lib.Codec.decoding_table["90"] = [93] let s:lib.Codec.decoding_table["91"] = [36] let s:lib.Codec.decoding_table["92"] = [42] let s:lib.Codec.decoding_table["93"] = [41] let s:lib.Codec.decoding_table["94"] = [59] let s:lib.Codec.decoding_table["95"] = [94] let s:lib.Codec.decoding_table["96"] = [45] let s:lib.Codec.decoding_table["97"] = [47] let s:lib.Codec.decoding_table["98"] = [932] let s:lib.Codec.decoding_table["99"] = [933] let s:lib.Codec.decoding_table["100"] = [934] let s:lib.Codec.decoding_table["101"] = [935] let s:lib.Codec.decoding_table["102"] = [936] let s:lib.Codec.decoding_table["103"] = [937] let s:lib.Codec.decoding_table["104"] = [938] let s:lib.Codec.decoding_table["105"] = [939] let s:lib.Codec.decoding_table["106"] = [124] let s:lib.Codec.decoding_table["107"] = [44] let s:lib.Codec.decoding_table["108"] = [37] let s:lib.Codec.decoding_table["109"] = [95] let s:lib.Codec.decoding_table["110"] = [62] let s:lib.Codec.decoding_table["111"] = [63] let s:lib.Codec.decoding_table["112"] = [168] let s:lib.Codec.decoding_table["113"] = [902] let s:lib.Codec.decoding_table["114"] = [904] let s:lib.Codec.decoding_table["115"] = [905] let s:lib.Codec.decoding_table["116"] = [160] let s:lib.Codec.decoding_table["117"] = [906] let s:lib.Codec.decoding_table["118"] = [908] let s:lib.Codec.decoding_table["119"] = [910] let s:lib.Codec.decoding_table["120"] = [911] let s:lib.Codec.decoding_table["121"] = [96] let s:lib.Codec.decoding_table["122"] = [58] let s:lib.Codec.decoding_table["123"] = [35] let s:lib.Codec.decoding_table["124"] = [64] let s:lib.Codec.decoding_table["125"] = [39] let s:lib.Codec.decoding_table["126"] = [61] let s:lib.Codec.decoding_table["127"] = [34] let s:lib.Codec.decoding_table["128"] = [901] let s:lib.Codec.decoding_table["129"] = [97] let s:lib.Codec.decoding_table["130"] = [98] let s:lib.Codec.decoding_table["131"] = [99] let s:lib.Codec.decoding_table["132"] = [100] let s:lib.Codec.decoding_table["133"] = [101] let s:lib.Codec.decoding_table["134"] = [102] let s:lib.Codec.decoding_table["135"] = [103] let s:lib.Codec.decoding_table["136"] = [104] let s:lib.Codec.decoding_table["137"] = [105] let s:lib.Codec.decoding_table["138"] = [945] let s:lib.Codec.decoding_table["139"] = [946] let s:lib.Codec.decoding_table["140"] = [947] let s:lib.Codec.decoding_table["141"] = [948] let s:lib.Codec.decoding_table["142"] = [949] let s:lib.Codec.decoding_table["143"] = [950] let s:lib.Codec.decoding_table["144"] = [176] let s:lib.Codec.decoding_table["145"] = [106] let s:lib.Codec.decoding_table["146"] = [107] let s:lib.Codec.decoding_table["147"] = [108] let s:lib.Codec.decoding_table["148"] = [109] let s:lib.Codec.decoding_table["149"] = [110] let s:lib.Codec.decoding_table["150"] = [111] let s:lib.Codec.decoding_table["151"] = [112] let s:lib.Codec.decoding_table["152"] = [113] let s:lib.Codec.decoding_table["153"] = [114] let s:lib.Codec.decoding_table["154"] = [951] let s:lib.Codec.decoding_table["155"] = [952] let s:lib.Codec.decoding_table["156"] = [953] let s:lib.Codec.decoding_table["157"] = [954] let s:lib.Codec.decoding_table["158"] = [955] let s:lib.Codec.decoding_table["159"] = [956] let s:lib.Codec.decoding_table["160"] = [180] let s:lib.Codec.decoding_table["161"] = [126] let s:lib.Codec.decoding_table["162"] = [115] let s:lib.Codec.decoding_table["163"] = [116] let s:lib.Codec.decoding_table["164"] = [117] let s:lib.Codec.decoding_table["165"] = [118] let s:lib.Codec.decoding_table["166"] = [119] let s:lib.Codec.decoding_table["167"] = [120] let s:lib.Codec.decoding_table["168"] = [121] let s:lib.Codec.decoding_table["169"] = [122] let s:lib.Codec.decoding_table["170"] = [957] let s:lib.Codec.decoding_table["171"] = [958] let s:lib.Codec.decoding_table["172"] = [959] let s:lib.Codec.decoding_table["173"] = [960] let s:lib.Codec.decoding_table["174"] = [961] let s:lib.Codec.decoding_table["175"] = [963] let s:lib.Codec.decoding_table["176"] = [163] let s:lib.Codec.decoding_table["177"] = [940] let s:lib.Codec.decoding_table["178"] = [941] let s:lib.Codec.decoding_table["179"] = [942] let s:lib.Codec.decoding_table["180"] = [970] let s:lib.Codec.decoding_table["181"] = [943] let s:lib.Codec.decoding_table["182"] = [972] let s:lib.Codec.decoding_table["183"] = [973] let s:lib.Codec.decoding_table["184"] = [971] let s:lib.Codec.decoding_table["185"] = [974] let s:lib.Codec.decoding_table["186"] = [962] let s:lib.Codec.decoding_table["187"] = [964] let s:lib.Codec.decoding_table["188"] = [965] let s:lib.Codec.decoding_table["189"] = [966] let s:lib.Codec.decoding_table["190"] = [967] let s:lib.Codec.decoding_table["191"] = [968] let s:lib.Codec.decoding_table["192"] = [123] let s:lib.Codec.decoding_table["193"] = [65] let s:lib.Codec.decoding_table["194"] = [66] let s:lib.Codec.decoding_table["195"] = [67] let s:lib.Codec.decoding_table["196"] = [68] let s:lib.Codec.decoding_table["197"] = [69] let s:lib.Codec.decoding_table["198"] = [70] let s:lib.Codec.decoding_table["199"] = [71] let s:lib.Codec.decoding_table["200"] = [72] let s:lib.Codec.decoding_table["201"] = [73] let s:lib.Codec.decoding_table["202"] = [173] let s:lib.Codec.decoding_table["203"] = [969] let s:lib.Codec.decoding_table["204"] = [912] let s:lib.Codec.decoding_table["205"] = [944] let s:lib.Codec.decoding_table["206"] = [8216] let s:lib.Codec.decoding_table["207"] = [8213] let s:lib.Codec.decoding_table["208"] = [125] let s:lib.Codec.decoding_table["209"] = [74] let s:lib.Codec.decoding_table["210"] = [75] let s:lib.Codec.decoding_table["211"] = [76] let s:lib.Codec.decoding_table["212"] = [77] let s:lib.Codec.decoding_table["213"] = [78] let s:lib.Codec.decoding_table["214"] = [79] let s:lib.Codec.decoding_table["215"] = [80] let s:lib.Codec.decoding_table["216"] = [81] let s:lib.Codec.decoding_table["217"] = [82] let s:lib.Codec.decoding_table["218"] = [177] let s:lib.Codec.decoding_table["219"] = [189] let s:lib.Codec.decoding_table["220"] = [26] let s:lib.Codec.decoding_table["221"] = [903] let s:lib.Codec.decoding_table["222"] = [8217] let s:lib.Codec.decoding_table["223"] = [166] let s:lib.Codec.decoding_table["224"] = [92] let s:lib.Codec.decoding_table["225"] = [26] let s:lib.Codec.decoding_table["226"] = [83] let s:lib.Codec.decoding_table["227"] = [84] let s:lib.Codec.decoding_table["228"] = [85] let s:lib.Codec.decoding_table["229"] = [86] let s:lib.Codec.decoding_table["230"] = [87] let s:lib.Codec.decoding_table["231"] = [88] let s:lib.Codec.decoding_table["232"] = [89] let s:lib.Codec.decoding_table["233"] = [90] let s:lib.Codec.decoding_table["234"] = [178] let s:lib.Codec.decoding_table["235"] = [167] let s:lib.Codec.decoding_table["236"] = [26] let s:lib.Codec.decoding_table["237"] = [26] let s:lib.Codec.decoding_table["238"] = [171] let s:lib.Codec.decoding_table["239"] = [172] let s:lib.Codec.decoding_table["240"] = [48] let s:lib.Codec.decoding_table["241"] = [49] let s:lib.Codec.decoding_table["242"] = [50] let s:lib.Codec.decoding_table["243"] = [51] let s:lib.Codec.decoding_table["244"] = [52] let s:lib.Codec.decoding_table["245"] = [53] let s:lib.Codec.decoding_table["246"] = [54] let s:lib.Codec.decoding_table["247"] = [55] let s:lib.Codec.decoding_table["248"] = [56] let s:lib.Codec.decoding_table["249"] = [57] let s:lib.Codec.decoding_table["250"] = [179] let s:lib.Codec.decoding_table["251"] = [169] let s:lib.Codec.decoding_table["252"] = [26] let s:lib.Codec.decoding_table["253"] = [26] let s:lib.Codec.decoding_table["254"] = [187] let s:lib.Codec.decoding_table["255"] = [159] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["156"] = [4] let s:lib.Codec.encoding_table["9"] = [5] let s:lib.Codec.encoding_table["134"] = [6] let s:lib.Codec.encoding_table["127"] = [7] let s:lib.Codec.encoding_table["151"] = [8] let s:lib.Codec.encoding_table["141"] = [9] let s:lib.Codec.encoding_table["142"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["157"] = [20] let s:lib.Codec.encoding_table["133"] = [21] let s:lib.Codec.encoding_table["8"] = [22] let s:lib.Codec.encoding_table["135"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["146"] = [26] let s:lib.Codec.encoding_table["143"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["128"] = [32] let s:lib.Codec.encoding_table["129"] = [33] let s:lib.Codec.encoding_table["130"] = [34] let s:lib.Codec.encoding_table["131"] = [35] let s:lib.Codec.encoding_table["132"] = [36] let s:lib.Codec.encoding_table["10"] = [37] let s:lib.Codec.encoding_table["23"] = [38] let s:lib.Codec.encoding_table["27"] = [39] let s:lib.Codec.encoding_table["136"] = [40] let s:lib.Codec.encoding_table["137"] = [41] let s:lib.Codec.encoding_table["138"] = [42] let s:lib.Codec.encoding_table["139"] = [43] let s:lib.Codec.encoding_table["140"] = [44] let s:lib.Codec.encoding_table["5"] = [45] let s:lib.Codec.encoding_table["6"] = [46] let s:lib.Codec.encoding_table["7"] = [47] let s:lib.Codec.encoding_table["144"] = [48] let s:lib.Codec.encoding_table["145"] = [49] let s:lib.Codec.encoding_table["22"] = [50] let s:lib.Codec.encoding_table["147"] = [51] let s:lib.Codec.encoding_table["148"] = [52] let s:lib.Codec.encoding_table["149"] = [53] let s:lib.Codec.encoding_table["150"] = [54] let s:lib.Codec.encoding_table["4"] = [55] let s:lib.Codec.encoding_table["152"] = [56] let s:lib.Codec.encoding_table["153"] = [57] let s:lib.Codec.encoding_table["154"] = [58] let s:lib.Codec.encoding_table["155"] = [59] let s:lib.Codec.encoding_table["20"] = [60] let s:lib.Codec.encoding_table["21"] = [61] let s:lib.Codec.encoding_table["158"] = [62] let s:lib.Codec.encoding_table["26"] = [63] let s:lib.Codec.encoding_table["32"] = [64] let s:lib.Codec.encoding_table["913"] = [65] let s:lib.Codec.encoding_table["914"] = [66] let s:lib.Codec.encoding_table["915"] = [67] let s:lib.Codec.encoding_table["916"] = [68] let s:lib.Codec.encoding_table["917"] = [69] let s:lib.Codec.encoding_table["918"] = [70] let s:lib.Codec.encoding_table["919"] = [71] let s:lib.Codec.encoding_table["920"] = [72] let s:lib.Codec.encoding_table["921"] = [73] let s:lib.Codec.encoding_table["91"] = [74] let s:lib.Codec.encoding_table["46"] = [75] let s:lib.Codec.encoding_table["60"] = [76] let s:lib.Codec.encoding_table["40"] = [77] let s:lib.Codec.encoding_table["43"] = [78] let s:lib.Codec.encoding_table["33"] = [79] let s:lib.Codec.encoding_table["38"] = [80] let s:lib.Codec.encoding_table["922"] = [81] let s:lib.Codec.encoding_table["923"] = [82] let s:lib.Codec.encoding_table["924"] = [83] let s:lib.Codec.encoding_table["925"] = [84] let s:lib.Codec.encoding_table["926"] = [85] let s:lib.Codec.encoding_table["927"] = [86] let s:lib.Codec.encoding_table["928"] = [87] let s:lib.Codec.encoding_table["929"] = [88] let s:lib.Codec.encoding_table["931"] = [89] let s:lib.Codec.encoding_table["93"] = [90] let s:lib.Codec.encoding_table["36"] = [91] let s:lib.Codec.encoding_table["42"] = [92] let s:lib.Codec.encoding_table["41"] = [93] let s:lib.Codec.encoding_table["59"] = [94] let s:lib.Codec.encoding_table["94"] = [95] let s:lib.Codec.encoding_table["45"] = [96] let s:lib.Codec.encoding_table["47"] = [97] let s:lib.Codec.encoding_table["932"] = [98] let s:lib.Codec.encoding_table["933"] = [99] let s:lib.Codec.encoding_table["934"] = [100] let s:lib.Codec.encoding_table["935"] = [101] let s:lib.Codec.encoding_table["936"] = [102] let s:lib.Codec.encoding_table["937"] = [103] let s:lib.Codec.encoding_table["938"] = [104] let s:lib.Codec.encoding_table["939"] = [105] let s:lib.Codec.encoding_table["124"] = [106] let s:lib.Codec.encoding_table["44"] = [107] let s:lib.Codec.encoding_table["37"] = [108] let s:lib.Codec.encoding_table["95"] = [109] let s:lib.Codec.encoding_table["62"] = [110] let s:lib.Codec.encoding_table["63"] = [111] let s:lib.Codec.encoding_table["168"] = [112] let s:lib.Codec.encoding_table["902"] = [113] let s:lib.Codec.encoding_table["904"] = [114] let s:lib.Codec.encoding_table["905"] = [115] let s:lib.Codec.encoding_table["160"] = [116] let s:lib.Codec.encoding_table["906"] = [117] let s:lib.Codec.encoding_table["908"] = [118] let s:lib.Codec.encoding_table["910"] = [119] let s:lib.Codec.encoding_table["911"] = [120] let s:lib.Codec.encoding_table["96"] = [121] let s:lib.Codec.encoding_table["58"] = [122] let s:lib.Codec.encoding_table["35"] = [123] let s:lib.Codec.encoding_table["64"] = [124] let s:lib.Codec.encoding_table["39"] = [125] let s:lib.Codec.encoding_table["61"] = [126] let s:lib.Codec.encoding_table["34"] = [127] let s:lib.Codec.encoding_table["901"] = [128] let s:lib.Codec.encoding_table["97"] = [129] let s:lib.Codec.encoding_table["98"] = [130] let s:lib.Codec.encoding_table["99"] = [131] let s:lib.Codec.encoding_table["100"] = [132] let s:lib.Codec.encoding_table["101"] = [133] let s:lib.Codec.encoding_table["102"] = [134] let s:lib.Codec.encoding_table["103"] = [135] let s:lib.Codec.encoding_table["104"] = [136] let s:lib.Codec.encoding_table["105"] = [137] let s:lib.Codec.encoding_table["945"] = [138] let s:lib.Codec.encoding_table["946"] = [139] let s:lib.Codec.encoding_table["947"] = [140] let s:lib.Codec.encoding_table["948"] = [141] let s:lib.Codec.encoding_table["949"] = [142] let s:lib.Codec.encoding_table["950"] = [143] let s:lib.Codec.encoding_table["176"] = [144] let s:lib.Codec.encoding_table["106"] = [145] let s:lib.Codec.encoding_table["107"] = [146] let s:lib.Codec.encoding_table["108"] = [147] let s:lib.Codec.encoding_table["109"] = [148] let s:lib.Codec.encoding_table["110"] = [149] let s:lib.Codec.encoding_table["111"] = [150] let s:lib.Codec.encoding_table["112"] = [151] let s:lib.Codec.encoding_table["113"] = [152] let s:lib.Codec.encoding_table["114"] = [153] let s:lib.Codec.encoding_table["951"] = [154] let s:lib.Codec.encoding_table["952"] = [155] let s:lib.Codec.encoding_table["953"] = [156] let s:lib.Codec.encoding_table["954"] = [157] let s:lib.Codec.encoding_table["955"] = [158] let s:lib.Codec.encoding_table["956"] = [159] let s:lib.Codec.encoding_table["180"] = [160] let s:lib.Codec.encoding_table["126"] = [161] let s:lib.Codec.encoding_table["115"] = [162] let s:lib.Codec.encoding_table["116"] = [163] let s:lib.Codec.encoding_table["117"] = [164] let s:lib.Codec.encoding_table["118"] = [165] let s:lib.Codec.encoding_table["119"] = [166] let s:lib.Codec.encoding_table["120"] = [167] let s:lib.Codec.encoding_table["121"] = [168] let s:lib.Codec.encoding_table["122"] = [169] let s:lib.Codec.encoding_table["957"] = [170] let s:lib.Codec.encoding_table["958"] = [171] let s:lib.Codec.encoding_table["959"] = [172] let s:lib.Codec.encoding_table["960"] = [173] let s:lib.Codec.encoding_table["961"] = [174] let s:lib.Codec.encoding_table["963"] = [175] let s:lib.Codec.encoding_table["163"] = [176] let s:lib.Codec.encoding_table["940"] = [177] let s:lib.Codec.encoding_table["941"] = [178] let s:lib.Codec.encoding_table["942"] = [179] let s:lib.Codec.encoding_table["970"] = [180] let s:lib.Codec.encoding_table["943"] = [181] let s:lib.Codec.encoding_table["972"] = [182] let s:lib.Codec.encoding_table["973"] = [183] let s:lib.Codec.encoding_table["971"] = [184] let s:lib.Codec.encoding_table["974"] = [185] let s:lib.Codec.encoding_table["962"] = [186] let s:lib.Codec.encoding_table["964"] = [187] let s:lib.Codec.encoding_table["965"] = [188] let s:lib.Codec.encoding_table["966"] = [189] let s:lib.Codec.encoding_table["967"] = [190] let s:lib.Codec.encoding_table["968"] = [191] let s:lib.Codec.encoding_table["123"] = [192] let s:lib.Codec.encoding_table["65"] = [193] let s:lib.Codec.encoding_table["66"] = [194] let s:lib.Codec.encoding_table["67"] = [195] let s:lib.Codec.encoding_table["68"] = [196] let s:lib.Codec.encoding_table["69"] = [197] let s:lib.Codec.encoding_table["70"] = [198] let s:lib.Codec.encoding_table["71"] = [199] let s:lib.Codec.encoding_table["72"] = [200] let s:lib.Codec.encoding_table["73"] = [201] let s:lib.Codec.encoding_table["173"] = [202] let s:lib.Codec.encoding_table["969"] = [203] let s:lib.Codec.encoding_table["912"] = [204] let s:lib.Codec.encoding_table["944"] = [205] let s:lib.Codec.encoding_table["8216"] = [206] let s:lib.Codec.encoding_table["8213"] = [207] let s:lib.Codec.encoding_table["125"] = [208] let s:lib.Codec.encoding_table["74"] = [209] let s:lib.Codec.encoding_table["75"] = [210] let s:lib.Codec.encoding_table["76"] = [211] let s:lib.Codec.encoding_table["77"] = [212] let s:lib.Codec.encoding_table["78"] = [213] let s:lib.Codec.encoding_table["79"] = [214] let s:lib.Codec.encoding_table["80"] = [215] let s:lib.Codec.encoding_table["81"] = [216] let s:lib.Codec.encoding_table["82"] = [217] let s:lib.Codec.encoding_table["177"] = [218] let s:lib.Codec.encoding_table["189"] = [219] let s:lib.Codec.encoding_table["903"] = [221] let s:lib.Codec.encoding_table["8217"] = [222] let s:lib.Codec.encoding_table["166"] = [223] let s:lib.Codec.encoding_table["92"] = [224] let s:lib.Codec.encoding_table["83"] = [226] let s:lib.Codec.encoding_table["84"] = [227] let s:lib.Codec.encoding_table["85"] = [228] let s:lib.Codec.encoding_table["86"] = [229] let s:lib.Codec.encoding_table["87"] = [230] let s:lib.Codec.encoding_table["88"] = [231] let s:lib.Codec.encoding_table["89"] = [232] let s:lib.Codec.encoding_table["90"] = [233] let s:lib.Codec.encoding_table["178"] = [234] let s:lib.Codec.encoding_table["167"] = [235] let s:lib.Codec.encoding_table["171"] = [238] let s:lib.Codec.encoding_table["172"] = [239] let s:lib.Codec.encoding_table["48"] = [240] let s:lib.Codec.encoding_table["49"] = [241] let s:lib.Codec.encoding_table["50"] = [242] let s:lib.Codec.encoding_table["51"] = [243] let s:lib.Codec.encoding_table["52"] = [244] let s:lib.Codec.encoding_table["53"] = [245] let s:lib.Codec.encoding_table["54"] = [246] let s:lib.Codec.encoding_table["55"] = [247] let s:lib.Codec.encoding_table["56"] = [248] let s:lib.Codec.encoding_table["57"] = [249] let s:lib.Codec.encoding_table["179"] = [250] let s:lib.Codec.encoding_table["169"] = [251] let s:lib.Codec.encoding_table["187"] = [254] let s:lib.Codec.encoding_table["159"] = [255] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp932.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp932#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP932" let s:lib.Codec.decoding_table_maxlen = 2 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["161"] = [65377] let s:lib.Codec.decoding_table["162"] = [65378] let s:lib.Codec.decoding_table["163"] = [65379] let s:lib.Codec.decoding_table["164"] = [65380] let s:lib.Codec.decoding_table["165"] = [65381] let s:lib.Codec.decoding_table["166"] = [65382] let s:lib.Codec.decoding_table["167"] = [65383] let s:lib.Codec.decoding_table["168"] = [65384] let s:lib.Codec.decoding_table["169"] = [65385] let s:lib.Codec.decoding_table["170"] = [65386] let s:lib.Codec.decoding_table["171"] = [65387] let s:lib.Codec.decoding_table["172"] = [65388] let s:lib.Codec.decoding_table["173"] = [65389] let s:lib.Codec.decoding_table["174"] = [65390] let s:lib.Codec.decoding_table["175"] = [65391] let s:lib.Codec.decoding_table["176"] = [65392] let s:lib.Codec.decoding_table["177"] = [65393] let s:lib.Codec.decoding_table["178"] = [65394] let s:lib.Codec.decoding_table["179"] = [65395] let s:lib.Codec.decoding_table["180"] = [65396] let s:lib.Codec.decoding_table["181"] = [65397] let s:lib.Codec.decoding_table["182"] = [65398] let s:lib.Codec.decoding_table["183"] = [65399] let s:lib.Codec.decoding_table["184"] = [65400] let s:lib.Codec.decoding_table["185"] = [65401] let s:lib.Codec.decoding_table["186"] = [65402] let s:lib.Codec.decoding_table["187"] = [65403] let s:lib.Codec.decoding_table["188"] = [65404] let s:lib.Codec.decoding_table["189"] = [65405] let s:lib.Codec.decoding_table["190"] = [65406] let s:lib.Codec.decoding_table["191"] = [65407] let s:lib.Codec.decoding_table["192"] = [65408] let s:lib.Codec.decoding_table["193"] = [65409] let s:lib.Codec.decoding_table["194"] = [65410] let s:lib.Codec.decoding_table["195"] = [65411] let s:lib.Codec.decoding_table["196"] = [65412] let s:lib.Codec.decoding_table["197"] = [65413] let s:lib.Codec.decoding_table["198"] = [65414] let s:lib.Codec.decoding_table["199"] = [65415] let s:lib.Codec.decoding_table["200"] = [65416] let s:lib.Codec.decoding_table["201"] = [65417] let s:lib.Codec.decoding_table["202"] = [65418] let s:lib.Codec.decoding_table["203"] = [65419] let s:lib.Codec.decoding_table["204"] = [65420] let s:lib.Codec.decoding_table["205"] = [65421] let s:lib.Codec.decoding_table["206"] = [65422] let s:lib.Codec.decoding_table["207"] = [65423] let s:lib.Codec.decoding_table["208"] = [65424] let s:lib.Codec.decoding_table["209"] = [65425] let s:lib.Codec.decoding_table["210"] = [65426] let s:lib.Codec.decoding_table["211"] = [65427] let s:lib.Codec.decoding_table["212"] = [65428] let s:lib.Codec.decoding_table["213"] = [65429] let s:lib.Codec.decoding_table["214"] = [65430] let s:lib.Codec.decoding_table["215"] = [65431] let s:lib.Codec.decoding_table["216"] = [65432] let s:lib.Codec.decoding_table["217"] = [65433] let s:lib.Codec.decoding_table["218"] = [65434] let s:lib.Codec.decoding_table["219"] = [65435] let s:lib.Codec.decoding_table["220"] = [65436] let s:lib.Codec.decoding_table["221"] = [65437] let s:lib.Codec.decoding_table["222"] = [65438] let s:lib.Codec.decoding_table["223"] = [65439] let s:lib.Codec.decoding_table["129,64"] = [12288] let s:lib.Codec.decoding_table["129,65"] = [12289] let s:lib.Codec.decoding_table["129,66"] = [12290] let s:lib.Codec.decoding_table["129,67"] = [65292] let s:lib.Codec.decoding_table["129,68"] = [65294] let s:lib.Codec.decoding_table["129,69"] = [12539] let s:lib.Codec.decoding_table["129,70"] = [65306] let s:lib.Codec.decoding_table["129,71"] = [65307] let s:lib.Codec.decoding_table["129,72"] = [65311] let s:lib.Codec.decoding_table["129,73"] = [65281] let s:lib.Codec.decoding_table["129,74"] = [12443] let s:lib.Codec.decoding_table["129,75"] = [12444] let s:lib.Codec.decoding_table["129,76"] = [180] let s:lib.Codec.decoding_table["129,77"] = [65344] let s:lib.Codec.decoding_table["129,78"] = [168] let s:lib.Codec.decoding_table["129,79"] = [65342] let s:lib.Codec.decoding_table["129,80"] = [65507] let s:lib.Codec.decoding_table["129,81"] = [65343] let s:lib.Codec.decoding_table["129,82"] = [12541] let s:lib.Codec.decoding_table["129,83"] = [12542] let s:lib.Codec.decoding_table["129,84"] = [12445] let s:lib.Codec.decoding_table["129,85"] = [12446] let s:lib.Codec.decoding_table["129,86"] = [12291] let s:lib.Codec.decoding_table["129,87"] = [20189] let s:lib.Codec.decoding_table["129,88"] = [12293] let s:lib.Codec.decoding_table["129,89"] = [12294] let s:lib.Codec.decoding_table["129,90"] = [12295] let s:lib.Codec.decoding_table["129,91"] = [12540] let s:lib.Codec.decoding_table["129,92"] = [8213] let s:lib.Codec.decoding_table["129,93"] = [8208] let s:lib.Codec.decoding_table["129,94"] = [65295] let s:lib.Codec.decoding_table["129,95"] = [65340] let s:lib.Codec.decoding_table["129,96"] = [65374] let s:lib.Codec.decoding_table["129,97"] = [8741] let s:lib.Codec.decoding_table["129,98"] = [65372] let s:lib.Codec.decoding_table["129,99"] = [8230] let s:lib.Codec.decoding_table["129,100"] = [8229] let s:lib.Codec.decoding_table["129,101"] = [8216] let s:lib.Codec.decoding_table["129,102"] = [8217] let s:lib.Codec.decoding_table["129,103"] = [8220] let s:lib.Codec.decoding_table["129,104"] = [8221] let s:lib.Codec.decoding_table["129,105"] = [65288] let s:lib.Codec.decoding_table["129,106"] = [65289] let s:lib.Codec.decoding_table["129,107"] = [12308] let s:lib.Codec.decoding_table["129,108"] = [12309] let s:lib.Codec.decoding_table["129,109"] = [65339] let s:lib.Codec.decoding_table["129,110"] = [65341] let s:lib.Codec.decoding_table["129,111"] = [65371] let s:lib.Codec.decoding_table["129,112"] = [65373] let s:lib.Codec.decoding_table["129,113"] = [12296] let s:lib.Codec.decoding_table["129,114"] = [12297] let s:lib.Codec.decoding_table["129,115"] = [12298] let s:lib.Codec.decoding_table["129,116"] = [12299] let s:lib.Codec.decoding_table["129,117"] = [12300] let s:lib.Codec.decoding_table["129,118"] = [12301] let s:lib.Codec.decoding_table["129,119"] = [12302] let s:lib.Codec.decoding_table["129,120"] = [12303] let s:lib.Codec.decoding_table["129,121"] = [12304] let s:lib.Codec.decoding_table["129,122"] = [12305] let s:lib.Codec.decoding_table["129,123"] = [65291] let s:lib.Codec.decoding_table["129,124"] = [65293] let s:lib.Codec.decoding_table["129,125"] = [177] let s:lib.Codec.decoding_table["129,126"] = [215] let s:lib.Codec.decoding_table["129,128"] = [247] let s:lib.Codec.decoding_table["129,129"] = [65309] let s:lib.Codec.decoding_table["129,130"] = [8800] let s:lib.Codec.decoding_table["129,131"] = [65308] let s:lib.Codec.decoding_table["129,132"] = [65310] let s:lib.Codec.decoding_table["129,133"] = [8806] let s:lib.Codec.decoding_table["129,134"] = [8807] let s:lib.Codec.decoding_table["129,135"] = [8734] let s:lib.Codec.decoding_table["129,136"] = [8756] let s:lib.Codec.decoding_table["129,137"] = [9794] let s:lib.Codec.decoding_table["129,138"] = [9792] let s:lib.Codec.decoding_table["129,139"] = [176] let s:lib.Codec.decoding_table["129,140"] = [8242] let s:lib.Codec.decoding_table["129,141"] = [8243] let s:lib.Codec.decoding_table["129,142"] = [8451] let s:lib.Codec.decoding_table["129,143"] = [65509] let s:lib.Codec.decoding_table["129,144"] = [65284] let s:lib.Codec.decoding_table["129,145"] = [65504] let s:lib.Codec.decoding_table["129,146"] = [65505] let s:lib.Codec.decoding_table["129,147"] = [65285] let s:lib.Codec.decoding_table["129,148"] = [65283] let s:lib.Codec.decoding_table["129,149"] = [65286] let s:lib.Codec.decoding_table["129,150"] = [65290] let s:lib.Codec.decoding_table["129,151"] = [65312] let s:lib.Codec.decoding_table["129,152"] = [167] let s:lib.Codec.decoding_table["129,153"] = [9734] let s:lib.Codec.decoding_table["129,154"] = [9733] let s:lib.Codec.decoding_table["129,155"] = [9675] let s:lib.Codec.decoding_table["129,156"] = [9679] let s:lib.Codec.decoding_table["129,157"] = [9678] let s:lib.Codec.decoding_table["129,158"] = [9671] let s:lib.Codec.decoding_table["129,159"] = [9670] let s:lib.Codec.decoding_table["129,160"] = [9633] let s:lib.Codec.decoding_table["129,161"] = [9632] let s:lib.Codec.decoding_table["129,162"] = [9651] let s:lib.Codec.decoding_table["129,163"] = [9650] let s:lib.Codec.decoding_table["129,164"] = [9661] let s:lib.Codec.decoding_table["129,165"] = [9660] let s:lib.Codec.decoding_table["129,166"] = [8251] let s:lib.Codec.decoding_table["129,167"] = [12306] let s:lib.Codec.decoding_table["129,168"] = [8594] let s:lib.Codec.decoding_table["129,169"] = [8592] let s:lib.Codec.decoding_table["129,170"] = [8593] let s:lib.Codec.decoding_table["129,171"] = [8595] let s:lib.Codec.decoding_table["129,172"] = [12307] let s:lib.Codec.decoding_table["129,184"] = [8712] let s:lib.Codec.decoding_table["129,185"] = [8715] let s:lib.Codec.decoding_table["129,186"] = [8838] let s:lib.Codec.decoding_table["129,187"] = [8839] let s:lib.Codec.decoding_table["129,188"] = [8834] let s:lib.Codec.decoding_table["129,189"] = [8835] let s:lib.Codec.decoding_table["129,190"] = [8746] let s:lib.Codec.decoding_table["129,191"] = [8745] let s:lib.Codec.decoding_table["129,200"] = [8743] let s:lib.Codec.decoding_table["129,201"] = [8744] let s:lib.Codec.decoding_table["129,202"] = [65506] let s:lib.Codec.decoding_table["129,203"] = [8658] let s:lib.Codec.decoding_table["129,204"] = [8660] let s:lib.Codec.decoding_table["129,205"] = [8704] let s:lib.Codec.decoding_table["129,206"] = [8707] let s:lib.Codec.decoding_table["129,218"] = [8736] let s:lib.Codec.decoding_table["129,219"] = [8869] let s:lib.Codec.decoding_table["129,220"] = [8978] let s:lib.Codec.decoding_table["129,221"] = [8706] let s:lib.Codec.decoding_table["129,222"] = [8711] let s:lib.Codec.decoding_table["129,223"] = [8801] let s:lib.Codec.decoding_table["129,224"] = [8786] let s:lib.Codec.decoding_table["129,225"] = [8810] let s:lib.Codec.decoding_table["129,226"] = [8811] let s:lib.Codec.decoding_table["129,227"] = [8730] let s:lib.Codec.decoding_table["129,228"] = [8765] let s:lib.Codec.decoding_table["129,229"] = [8733] let s:lib.Codec.decoding_table["129,230"] = [8757] let s:lib.Codec.decoding_table["129,231"] = [8747] let s:lib.Codec.decoding_table["129,232"] = [8748] let s:lib.Codec.decoding_table["129,240"] = [8491] let s:lib.Codec.decoding_table["129,241"] = [8240] let s:lib.Codec.decoding_table["129,242"] = [9839] let s:lib.Codec.decoding_table["129,243"] = [9837] let s:lib.Codec.decoding_table["129,244"] = [9834] let s:lib.Codec.decoding_table["129,245"] = [8224] let s:lib.Codec.decoding_table["129,246"] = [8225] let s:lib.Codec.decoding_table["129,247"] = [182] let s:lib.Codec.decoding_table["129,252"] = [9711] let s:lib.Codec.decoding_table["130,79"] = [65296] let s:lib.Codec.decoding_table["130,80"] = [65297] let s:lib.Codec.decoding_table["130,81"] = [65298] let s:lib.Codec.decoding_table["130,82"] = [65299] let s:lib.Codec.decoding_table["130,83"] = [65300] let s:lib.Codec.decoding_table["130,84"] = [65301] let s:lib.Codec.decoding_table["130,85"] = [65302] let s:lib.Codec.decoding_table["130,86"] = [65303] let s:lib.Codec.decoding_table["130,87"] = [65304] let s:lib.Codec.decoding_table["130,88"] = [65305] let s:lib.Codec.decoding_table["130,96"] = [65313] let s:lib.Codec.decoding_table["130,97"] = [65314] let s:lib.Codec.decoding_table["130,98"] = [65315] let s:lib.Codec.decoding_table["130,99"] = [65316] let s:lib.Codec.decoding_table["130,100"] = [65317] let s:lib.Codec.decoding_table["130,101"] = [65318] let s:lib.Codec.decoding_table["130,102"] = [65319] let s:lib.Codec.decoding_table["130,103"] = [65320] let s:lib.Codec.decoding_table["130,104"] = [65321] let s:lib.Codec.decoding_table["130,105"] = [65322] let s:lib.Codec.decoding_table["130,106"] = [65323] let s:lib.Codec.decoding_table["130,107"] = [65324] let s:lib.Codec.decoding_table["130,108"] = [65325] let s:lib.Codec.decoding_table["130,109"] = [65326] let s:lib.Codec.decoding_table["130,110"] = [65327] let s:lib.Codec.decoding_table["130,111"] = [65328] let s:lib.Codec.decoding_table["130,112"] = [65329] let s:lib.Codec.decoding_table["130,113"] = [65330] let s:lib.Codec.decoding_table["130,114"] = [65331] let s:lib.Codec.decoding_table["130,115"] = [65332] let s:lib.Codec.decoding_table["130,116"] = [65333] let s:lib.Codec.decoding_table["130,117"] = [65334] let s:lib.Codec.decoding_table["130,118"] = [65335] let s:lib.Codec.decoding_table["130,119"] = [65336] let s:lib.Codec.decoding_table["130,120"] = [65337] let s:lib.Codec.decoding_table["130,121"] = [65338] let s:lib.Codec.decoding_table["130,129"] = [65345] let s:lib.Codec.decoding_table["130,130"] = [65346] let s:lib.Codec.decoding_table["130,131"] = [65347] let s:lib.Codec.decoding_table["130,132"] = [65348] let s:lib.Codec.decoding_table["130,133"] = [65349] let s:lib.Codec.decoding_table["130,134"] = [65350] let s:lib.Codec.decoding_table["130,135"] = [65351] let s:lib.Codec.decoding_table["130,136"] = [65352] let s:lib.Codec.decoding_table["130,137"] = [65353] let s:lib.Codec.decoding_table["130,138"] = [65354] let s:lib.Codec.decoding_table["130,139"] = [65355] let s:lib.Codec.decoding_table["130,140"] = [65356] let s:lib.Codec.decoding_table["130,141"] = [65357] let s:lib.Codec.decoding_table["130,142"] = [65358] let s:lib.Codec.decoding_table["130,143"] = [65359] let s:lib.Codec.decoding_table["130,144"] = [65360] let s:lib.Codec.decoding_table["130,145"] = [65361] let s:lib.Codec.decoding_table["130,146"] = [65362] let s:lib.Codec.decoding_table["130,147"] = [65363] let s:lib.Codec.decoding_table["130,148"] = [65364] let s:lib.Codec.decoding_table["130,149"] = [65365] let s:lib.Codec.decoding_table["130,150"] = [65366] let s:lib.Codec.decoding_table["130,151"] = [65367] let s:lib.Codec.decoding_table["130,152"] = [65368] let s:lib.Codec.decoding_table["130,153"] = [65369] let s:lib.Codec.decoding_table["130,154"] = [65370] let s:lib.Codec.decoding_table["130,159"] = [12353] let s:lib.Codec.decoding_table["130,160"] = [12354] let s:lib.Codec.decoding_table["130,161"] = [12355] let s:lib.Codec.decoding_table["130,162"] = [12356] let s:lib.Codec.decoding_table["130,163"] = [12357] let s:lib.Codec.decoding_table["130,164"] = [12358] let s:lib.Codec.decoding_table["130,165"] = [12359] let s:lib.Codec.decoding_table["130,166"] = [12360] let s:lib.Codec.decoding_table["130,167"] = [12361] let s:lib.Codec.decoding_table["130,168"] = [12362] let s:lib.Codec.decoding_table["130,169"] = [12363] let s:lib.Codec.decoding_table["130,170"] = [12364] let s:lib.Codec.decoding_table["130,171"] = [12365] let s:lib.Codec.decoding_table["130,172"] = [12366] let s:lib.Codec.decoding_table["130,173"] = [12367] let s:lib.Codec.decoding_table["130,174"] = [12368] let s:lib.Codec.decoding_table["130,175"] = [12369] let s:lib.Codec.decoding_table["130,176"] = [12370] let s:lib.Codec.decoding_table["130,177"] = [12371] let s:lib.Codec.decoding_table["130,178"] = [12372] let s:lib.Codec.decoding_table["130,179"] = [12373] let s:lib.Codec.decoding_table["130,180"] = [12374] let s:lib.Codec.decoding_table["130,181"] = [12375] let s:lib.Codec.decoding_table["130,182"] = [12376] let s:lib.Codec.decoding_table["130,183"] = [12377] let s:lib.Codec.decoding_table["130,184"] = [12378] let s:lib.Codec.decoding_table["130,185"] = [12379] let s:lib.Codec.decoding_table["130,186"] = [12380] let s:lib.Codec.decoding_table["130,187"] = [12381] let s:lib.Codec.decoding_table["130,188"] = [12382] let s:lib.Codec.decoding_table["130,189"] = [12383] let s:lib.Codec.decoding_table["130,190"] = [12384] let s:lib.Codec.decoding_table["130,191"] = [12385] let s:lib.Codec.decoding_table["130,192"] = [12386] let s:lib.Codec.decoding_table["130,193"] = [12387] let s:lib.Codec.decoding_table["130,194"] = [12388] let s:lib.Codec.decoding_table["130,195"] = [12389] let s:lib.Codec.decoding_table["130,196"] = [12390] let s:lib.Codec.decoding_table["130,197"] = [12391] let s:lib.Codec.decoding_table["130,198"] = [12392] let s:lib.Codec.decoding_table["130,199"] = [12393] let s:lib.Codec.decoding_table["130,200"] = [12394] let s:lib.Codec.decoding_table["130,201"] = [12395] let s:lib.Codec.decoding_table["130,202"] = [12396] let s:lib.Codec.decoding_table["130,203"] = [12397] let s:lib.Codec.decoding_table["130,204"] = [12398] let s:lib.Codec.decoding_table["130,205"] = [12399] let s:lib.Codec.decoding_table["130,206"] = [12400] let s:lib.Codec.decoding_table["130,207"] = [12401] let s:lib.Codec.decoding_table["130,208"] = [12402] let s:lib.Codec.decoding_table["130,209"] = [12403] let s:lib.Codec.decoding_table["130,210"] = [12404] let s:lib.Codec.decoding_table["130,211"] = [12405] let s:lib.Codec.decoding_table["130,212"] = [12406] let s:lib.Codec.decoding_table["130,213"] = [12407] let s:lib.Codec.decoding_table["130,214"] = [12408] let s:lib.Codec.decoding_table["130,215"] = [12409] let s:lib.Codec.decoding_table["130,216"] = [12410] let s:lib.Codec.decoding_table["130,217"] = [12411] let s:lib.Codec.decoding_table["130,218"] = [12412] let s:lib.Codec.decoding_table["130,219"] = [12413] let s:lib.Codec.decoding_table["130,220"] = [12414] let s:lib.Codec.decoding_table["130,221"] = [12415] let s:lib.Codec.decoding_table["130,222"] = [12416] let s:lib.Codec.decoding_table["130,223"] = [12417] let s:lib.Codec.decoding_table["130,224"] = [12418] let s:lib.Codec.decoding_table["130,225"] = [12419] let s:lib.Codec.decoding_table["130,226"] = [12420] let s:lib.Codec.decoding_table["130,227"] = [12421] let s:lib.Codec.decoding_table["130,228"] = [12422] let s:lib.Codec.decoding_table["130,229"] = [12423] let s:lib.Codec.decoding_table["130,230"] = [12424] let s:lib.Codec.decoding_table["130,231"] = [12425] let s:lib.Codec.decoding_table["130,232"] = [12426] let s:lib.Codec.decoding_table["130,233"] = [12427] let s:lib.Codec.decoding_table["130,234"] = [12428] let s:lib.Codec.decoding_table["130,235"] = [12429] let s:lib.Codec.decoding_table["130,236"] = [12430] let s:lib.Codec.decoding_table["130,237"] = [12431] let s:lib.Codec.decoding_table["130,238"] = [12432] let s:lib.Codec.decoding_table["130,239"] = [12433] let s:lib.Codec.decoding_table["130,240"] = [12434] let s:lib.Codec.decoding_table["130,241"] = [12435] let s:lib.Codec.decoding_table["131,64"] = [12449] let s:lib.Codec.decoding_table["131,65"] = [12450] let s:lib.Codec.decoding_table["131,66"] = [12451] let s:lib.Codec.decoding_table["131,67"] = [12452] let s:lib.Codec.decoding_table["131,68"] = [12453] let s:lib.Codec.decoding_table["131,69"] = [12454] let s:lib.Codec.decoding_table["131,70"] = [12455] let s:lib.Codec.decoding_table["131,71"] = [12456] let s:lib.Codec.decoding_table["131,72"] = [12457] let s:lib.Codec.decoding_table["131,73"] = [12458] let s:lib.Codec.decoding_table["131,74"] = [12459] let s:lib.Codec.decoding_table["131,75"] = [12460] let s:lib.Codec.decoding_table["131,76"] = [12461] let s:lib.Codec.decoding_table["131,77"] = [12462] let s:lib.Codec.decoding_table["131,78"] = [12463] let s:lib.Codec.decoding_table["131,79"] = [12464] let s:lib.Codec.decoding_table["131,80"] = [12465] let s:lib.Codec.decoding_table["131,81"] = [12466] let s:lib.Codec.decoding_table["131,82"] = [12467] let s:lib.Codec.decoding_table["131,83"] = [12468] let s:lib.Codec.decoding_table["131,84"] = [12469] let s:lib.Codec.decoding_table["131,85"] = [12470] let s:lib.Codec.decoding_table["131,86"] = [12471] let s:lib.Codec.decoding_table["131,87"] = [12472] let s:lib.Codec.decoding_table["131,88"] = [12473] let s:lib.Codec.decoding_table["131,89"] = [12474] let s:lib.Codec.decoding_table["131,90"] = [12475] let s:lib.Codec.decoding_table["131,91"] = [12476] let s:lib.Codec.decoding_table["131,92"] = [12477] let s:lib.Codec.decoding_table["131,93"] = [12478] let s:lib.Codec.decoding_table["131,94"] = [12479] let s:lib.Codec.decoding_table["131,95"] = [12480] let s:lib.Codec.decoding_table["131,96"] = [12481] let s:lib.Codec.decoding_table["131,97"] = [12482] let s:lib.Codec.decoding_table["131,98"] = [12483] let s:lib.Codec.decoding_table["131,99"] = [12484] let s:lib.Codec.decoding_table["131,100"] = [12485] let s:lib.Codec.decoding_table["131,101"] = [12486] let s:lib.Codec.decoding_table["131,102"] = [12487] let s:lib.Codec.decoding_table["131,103"] = [12488] let s:lib.Codec.decoding_table["131,104"] = [12489] let s:lib.Codec.decoding_table["131,105"] = [12490] let s:lib.Codec.decoding_table["131,106"] = [12491] let s:lib.Codec.decoding_table["131,107"] = [12492] let s:lib.Codec.decoding_table["131,108"] = [12493] let s:lib.Codec.decoding_table["131,109"] = [12494] let s:lib.Codec.decoding_table["131,110"] = [12495] let s:lib.Codec.decoding_table["131,111"] = [12496] let s:lib.Codec.decoding_table["131,112"] = [12497] let s:lib.Codec.decoding_table["131,113"] = [12498] let s:lib.Codec.decoding_table["131,114"] = [12499] let s:lib.Codec.decoding_table["131,115"] = [12500] let s:lib.Codec.decoding_table["131,116"] = [12501] let s:lib.Codec.decoding_table["131,117"] = [12502] let s:lib.Codec.decoding_table["131,118"] = [12503] let s:lib.Codec.decoding_table["131,119"] = [12504] let s:lib.Codec.decoding_table["131,120"] = [12505] let s:lib.Codec.decoding_table["131,121"] = [12506] let s:lib.Codec.decoding_table["131,122"] = [12507] let s:lib.Codec.decoding_table["131,123"] = [12508] let s:lib.Codec.decoding_table["131,124"] = [12509] let s:lib.Codec.decoding_table["131,125"] = [12510] let s:lib.Codec.decoding_table["131,126"] = [12511] let s:lib.Codec.decoding_table["131,128"] = [12512] let s:lib.Codec.decoding_table["131,129"] = [12513] let s:lib.Codec.decoding_table["131,130"] = [12514] let s:lib.Codec.decoding_table["131,131"] = [12515] let s:lib.Codec.decoding_table["131,132"] = [12516] let s:lib.Codec.decoding_table["131,133"] = [12517] let s:lib.Codec.decoding_table["131,134"] = [12518] let s:lib.Codec.decoding_table["131,135"] = [12519] let s:lib.Codec.decoding_table["131,136"] = [12520] let s:lib.Codec.decoding_table["131,137"] = [12521] let s:lib.Codec.decoding_table["131,138"] = [12522] let s:lib.Codec.decoding_table["131,139"] = [12523] let s:lib.Codec.decoding_table["131,140"] = [12524] let s:lib.Codec.decoding_table["131,141"] = [12525] let s:lib.Codec.decoding_table["131,142"] = [12526] let s:lib.Codec.decoding_table["131,143"] = [12527] let s:lib.Codec.decoding_table["131,144"] = [12528] let s:lib.Codec.decoding_table["131,145"] = [12529] let s:lib.Codec.decoding_table["131,146"] = [12530] let s:lib.Codec.decoding_table["131,147"] = [12531] let s:lib.Codec.decoding_table["131,148"] = [12532] let s:lib.Codec.decoding_table["131,149"] = [12533] let s:lib.Codec.decoding_table["131,150"] = [12534] let s:lib.Codec.decoding_table["131,159"] = [913] let s:lib.Codec.decoding_table["131,160"] = [914] let s:lib.Codec.decoding_table["131,161"] = [915] let s:lib.Codec.decoding_table["131,162"] = [916] let s:lib.Codec.decoding_table["131,163"] = [917] let s:lib.Codec.decoding_table["131,164"] = [918] let s:lib.Codec.decoding_table["131,165"] = [919] let s:lib.Codec.decoding_table["131,166"] = [920] let s:lib.Codec.decoding_table["131,167"] = [921] let s:lib.Codec.decoding_table["131,168"] = [922] let s:lib.Codec.decoding_table["131,169"] = [923] let s:lib.Codec.decoding_table["131,170"] = [924] let s:lib.Codec.decoding_table["131,171"] = [925] let s:lib.Codec.decoding_table["131,172"] = [926] let s:lib.Codec.decoding_table["131,173"] = [927] let s:lib.Codec.decoding_table["131,174"] = [928] let s:lib.Codec.decoding_table["131,175"] = [929] let s:lib.Codec.decoding_table["131,176"] = [931] let s:lib.Codec.decoding_table["131,177"] = [932] let s:lib.Codec.decoding_table["131,178"] = [933] let s:lib.Codec.decoding_table["131,179"] = [934] let s:lib.Codec.decoding_table["131,180"] = [935] let s:lib.Codec.decoding_table["131,181"] = [936] let s:lib.Codec.decoding_table["131,182"] = [937] let s:lib.Codec.decoding_table["131,191"] = [945] let s:lib.Codec.decoding_table["131,192"] = [946] let s:lib.Codec.decoding_table["131,193"] = [947] let s:lib.Codec.decoding_table["131,194"] = [948] let s:lib.Codec.decoding_table["131,195"] = [949] let s:lib.Codec.decoding_table["131,196"] = [950] let s:lib.Codec.decoding_table["131,197"] = [951] let s:lib.Codec.decoding_table["131,198"] = [952] let s:lib.Codec.decoding_table["131,199"] = [953] let s:lib.Codec.decoding_table["131,200"] = [954] let s:lib.Codec.decoding_table["131,201"] = [955] let s:lib.Codec.decoding_table["131,202"] = [956] let s:lib.Codec.decoding_table["131,203"] = [957] let s:lib.Codec.decoding_table["131,204"] = [958] let s:lib.Codec.decoding_table["131,205"] = [959] let s:lib.Codec.decoding_table["131,206"] = [960] let s:lib.Codec.decoding_table["131,207"] = [961] let s:lib.Codec.decoding_table["131,208"] = [963] let s:lib.Codec.decoding_table["131,209"] = [964] let s:lib.Codec.decoding_table["131,210"] = [965] let s:lib.Codec.decoding_table["131,211"] = [966] let s:lib.Codec.decoding_table["131,212"] = [967] let s:lib.Codec.decoding_table["131,213"] = [968] let s:lib.Codec.decoding_table["131,214"] = [969] let s:lib.Codec.decoding_table["132,64"] = [1040] let s:lib.Codec.decoding_table["132,65"] = [1041] let s:lib.Codec.decoding_table["132,66"] = [1042] let s:lib.Codec.decoding_table["132,67"] = [1043] let s:lib.Codec.decoding_table["132,68"] = [1044] let s:lib.Codec.decoding_table["132,69"] = [1045] let s:lib.Codec.decoding_table["132,70"] = [1025] let s:lib.Codec.decoding_table["132,71"] = [1046] let s:lib.Codec.decoding_table["132,72"] = [1047] let s:lib.Codec.decoding_table["132,73"] = [1048] let s:lib.Codec.decoding_table["132,74"] = [1049] let s:lib.Codec.decoding_table["132,75"] = [1050] let s:lib.Codec.decoding_table["132,76"] = [1051] let s:lib.Codec.decoding_table["132,77"] = [1052] let s:lib.Codec.decoding_table["132,78"] = [1053] let s:lib.Codec.decoding_table["132,79"] = [1054] let s:lib.Codec.decoding_table["132,80"] = [1055] let s:lib.Codec.decoding_table["132,81"] = [1056] let s:lib.Codec.decoding_table["132,82"] = [1057] let s:lib.Codec.decoding_table["132,83"] = [1058] let s:lib.Codec.decoding_table["132,84"] = [1059] let s:lib.Codec.decoding_table["132,85"] = [1060] let s:lib.Codec.decoding_table["132,86"] = [1061] let s:lib.Codec.decoding_table["132,87"] = [1062] let s:lib.Codec.decoding_table["132,88"] = [1063] let s:lib.Codec.decoding_table["132,89"] = [1064] let s:lib.Codec.decoding_table["132,90"] = [1065] let s:lib.Codec.decoding_table["132,91"] = [1066] let s:lib.Codec.decoding_table["132,92"] = [1067] let s:lib.Codec.decoding_table["132,93"] = [1068] let s:lib.Codec.decoding_table["132,94"] = [1069] let s:lib.Codec.decoding_table["132,95"] = [1070] let s:lib.Codec.decoding_table["132,96"] = [1071] let s:lib.Codec.decoding_table["132,112"] = [1072] let s:lib.Codec.decoding_table["132,113"] = [1073] let s:lib.Codec.decoding_table["132,114"] = [1074] let s:lib.Codec.decoding_table["132,115"] = [1075] let s:lib.Codec.decoding_table["132,116"] = [1076] let s:lib.Codec.decoding_table["132,117"] = [1077] let s:lib.Codec.decoding_table["132,118"] = [1105] let s:lib.Codec.decoding_table["132,119"] = [1078] let s:lib.Codec.decoding_table["132,120"] = [1079] let s:lib.Codec.decoding_table["132,121"] = [1080] let s:lib.Codec.decoding_table["132,122"] = [1081] let s:lib.Codec.decoding_table["132,123"] = [1082] let s:lib.Codec.decoding_table["132,124"] = [1083] let s:lib.Codec.decoding_table["132,125"] = [1084] let s:lib.Codec.decoding_table["132,126"] = [1085] let s:lib.Codec.decoding_table["132,128"] = [1086] let s:lib.Codec.decoding_table["132,129"] = [1087] let s:lib.Codec.decoding_table["132,130"] = [1088] let s:lib.Codec.decoding_table["132,131"] = [1089] let s:lib.Codec.decoding_table["132,132"] = [1090] let s:lib.Codec.decoding_table["132,133"] = [1091] let s:lib.Codec.decoding_table["132,134"] = [1092] let s:lib.Codec.decoding_table["132,135"] = [1093] let s:lib.Codec.decoding_table["132,136"] = [1094] let s:lib.Codec.decoding_table["132,137"] = [1095] let s:lib.Codec.decoding_table["132,138"] = [1096] let s:lib.Codec.decoding_table["132,139"] = [1097] let s:lib.Codec.decoding_table["132,140"] = [1098] let s:lib.Codec.decoding_table["132,141"] = [1099] let s:lib.Codec.decoding_table["132,142"] = [1100] let s:lib.Codec.decoding_table["132,143"] = [1101] let s:lib.Codec.decoding_table["132,144"] = [1102] let s:lib.Codec.decoding_table["132,145"] = [1103] let s:lib.Codec.decoding_table["132,159"] = [9472] let s:lib.Codec.decoding_table["132,160"] = [9474] let s:lib.Codec.decoding_table["132,161"] = [9484] let s:lib.Codec.decoding_table["132,162"] = [9488] let s:lib.Codec.decoding_table["132,163"] = [9496] let s:lib.Codec.decoding_table["132,164"] = [9492] let s:lib.Codec.decoding_table["132,165"] = [9500] let s:lib.Codec.decoding_table["132,166"] = [9516] let s:lib.Codec.decoding_table["132,167"] = [9508] let s:lib.Codec.decoding_table["132,168"] = [9524] let s:lib.Codec.decoding_table["132,169"] = [9532] let s:lib.Codec.decoding_table["132,170"] = [9473] let s:lib.Codec.decoding_table["132,171"] = [9475] let s:lib.Codec.decoding_table["132,172"] = [9487] let s:lib.Codec.decoding_table["132,173"] = [9491] let s:lib.Codec.decoding_table["132,174"] = [9499] let s:lib.Codec.decoding_table["132,175"] = [9495] let s:lib.Codec.decoding_table["132,176"] = [9507] let s:lib.Codec.decoding_table["132,177"] = [9523] let s:lib.Codec.decoding_table["132,178"] = [9515] let s:lib.Codec.decoding_table["132,179"] = [9531] let s:lib.Codec.decoding_table["132,180"] = [9547] let s:lib.Codec.decoding_table["132,181"] = [9504] let s:lib.Codec.decoding_table["132,182"] = [9519] let s:lib.Codec.decoding_table["132,183"] = [9512] let s:lib.Codec.decoding_table["132,184"] = [9527] let s:lib.Codec.decoding_table["132,185"] = [9535] let s:lib.Codec.decoding_table["132,186"] = [9501] let s:lib.Codec.decoding_table["132,187"] = [9520] let s:lib.Codec.decoding_table["132,188"] = [9509] let s:lib.Codec.decoding_table["132,189"] = [9528] let s:lib.Codec.decoding_table["132,190"] = [9538] let s:lib.Codec.decoding_table["135,64"] = [9312] let s:lib.Codec.decoding_table["135,65"] = [9313] let s:lib.Codec.decoding_table["135,66"] = [9314] let s:lib.Codec.decoding_table["135,67"] = [9315] let s:lib.Codec.decoding_table["135,68"] = [9316] let s:lib.Codec.decoding_table["135,69"] = [9317] let s:lib.Codec.decoding_table["135,70"] = [9318] let s:lib.Codec.decoding_table["135,71"] = [9319] let s:lib.Codec.decoding_table["135,72"] = [9320] let s:lib.Codec.decoding_table["135,73"] = [9321] let s:lib.Codec.decoding_table["135,74"] = [9322] let s:lib.Codec.decoding_table["135,75"] = [9323] let s:lib.Codec.decoding_table["135,76"] = [9324] let s:lib.Codec.decoding_table["135,77"] = [9325] let s:lib.Codec.decoding_table["135,78"] = [9326] let s:lib.Codec.decoding_table["135,79"] = [9327] let s:lib.Codec.decoding_table["135,80"] = [9328] let s:lib.Codec.decoding_table["135,81"] = [9329] let s:lib.Codec.decoding_table["135,82"] = [9330] let s:lib.Codec.decoding_table["135,83"] = [9331] let s:lib.Codec.decoding_table["135,84"] = [8544] let s:lib.Codec.decoding_table["135,85"] = [8545] let s:lib.Codec.decoding_table["135,86"] = [8546] let s:lib.Codec.decoding_table["135,87"] = [8547] let s:lib.Codec.decoding_table["135,88"] = [8548] let s:lib.Codec.decoding_table["135,89"] = [8549] let s:lib.Codec.decoding_table["135,90"] = [8550] let s:lib.Codec.decoding_table["135,91"] = [8551] let s:lib.Codec.decoding_table["135,92"] = [8552] let s:lib.Codec.decoding_table["135,93"] = [8553] let s:lib.Codec.decoding_table["135,95"] = [13129] let s:lib.Codec.decoding_table["135,96"] = [13076] let s:lib.Codec.decoding_table["135,97"] = [13090] let s:lib.Codec.decoding_table["135,98"] = [13133] let s:lib.Codec.decoding_table["135,99"] = [13080] let s:lib.Codec.decoding_table["135,100"] = [13095] let s:lib.Codec.decoding_table["135,101"] = [13059] let s:lib.Codec.decoding_table["135,102"] = [13110] let s:lib.Codec.decoding_table["135,103"] = [13137] let s:lib.Codec.decoding_table["135,104"] = [13143] let s:lib.Codec.decoding_table["135,105"] = [13069] let s:lib.Codec.decoding_table["135,106"] = [13094] let s:lib.Codec.decoding_table["135,107"] = [13091] let s:lib.Codec.decoding_table["135,108"] = [13099] let s:lib.Codec.decoding_table["135,109"] = [13130] let s:lib.Codec.decoding_table["135,110"] = [13115] let s:lib.Codec.decoding_table["135,111"] = [13212] let s:lib.Codec.decoding_table["135,112"] = [13213] let s:lib.Codec.decoding_table["135,113"] = [13214] let s:lib.Codec.decoding_table["135,114"] = [13198] let s:lib.Codec.decoding_table["135,115"] = [13199] let s:lib.Codec.decoding_table["135,116"] = [13252] let s:lib.Codec.decoding_table["135,117"] = [13217] let s:lib.Codec.decoding_table["135,126"] = [13179] let s:lib.Codec.decoding_table["135,128"] = [12317] let s:lib.Codec.decoding_table["135,129"] = [12319] let s:lib.Codec.decoding_table["135,130"] = [8470] let s:lib.Codec.decoding_table["135,131"] = [13261] let s:lib.Codec.decoding_table["135,132"] = [8481] let s:lib.Codec.decoding_table["135,133"] = [12964] let s:lib.Codec.decoding_table["135,134"] = [12965] let s:lib.Codec.decoding_table["135,135"] = [12966] let s:lib.Codec.decoding_table["135,136"] = [12967] let s:lib.Codec.decoding_table["135,137"] = [12968] let s:lib.Codec.decoding_table["135,138"] = [12849] let s:lib.Codec.decoding_table["135,139"] = [12850] let s:lib.Codec.decoding_table["135,140"] = [12857] let s:lib.Codec.decoding_table["135,141"] = [13182] let s:lib.Codec.decoding_table["135,142"] = [13181] let s:lib.Codec.decoding_table["135,143"] = [13180] let s:lib.Codec.decoding_table["135,144"] = [8786] let s:lib.Codec.decoding_table["135,145"] = [8801] let s:lib.Codec.decoding_table["135,146"] = [8747] let s:lib.Codec.decoding_table["135,147"] = [8750] let s:lib.Codec.decoding_table["135,148"] = [8721] let s:lib.Codec.decoding_table["135,149"] = [8730] let s:lib.Codec.decoding_table["135,150"] = [8869] let s:lib.Codec.decoding_table["135,151"] = [8736] let s:lib.Codec.decoding_table["135,152"] = [8735] let s:lib.Codec.decoding_table["135,153"] = [8895] let s:lib.Codec.decoding_table["135,154"] = [8757] let s:lib.Codec.decoding_table["135,155"] = [8745] let s:lib.Codec.decoding_table["135,156"] = [8746] let s:lib.Codec.decoding_table["136,159"] = [20124] let s:lib.Codec.decoding_table["136,160"] = [21782] let s:lib.Codec.decoding_table["136,161"] = [23043] let s:lib.Codec.decoding_table["136,162"] = [38463] let s:lib.Codec.decoding_table["136,163"] = [21696] let s:lib.Codec.decoding_table["136,164"] = [24859] let s:lib.Codec.decoding_table["136,165"] = [25384] let s:lib.Codec.decoding_table["136,166"] = [23030] let s:lib.Codec.decoding_table["136,167"] = [36898] let s:lib.Codec.decoding_table["136,168"] = [33909] let s:lib.Codec.decoding_table["136,169"] = [33564] let s:lib.Codec.decoding_table["136,170"] = [31312] let s:lib.Codec.decoding_table["136,171"] = [24746] let s:lib.Codec.decoding_table["136,172"] = [25569] let s:lib.Codec.decoding_table["136,173"] = [28197] let s:lib.Codec.decoding_table["136,174"] = [26093] let s:lib.Codec.decoding_table["136,175"] = [33894] let s:lib.Codec.decoding_table["136,176"] = [33446] let s:lib.Codec.decoding_table["136,177"] = [39925] let s:lib.Codec.decoding_table["136,178"] = [26771] let s:lib.Codec.decoding_table["136,179"] = [22311] let s:lib.Codec.decoding_table["136,180"] = [26017] let s:lib.Codec.decoding_table["136,181"] = [25201] let s:lib.Codec.decoding_table["136,182"] = [23451] let s:lib.Codec.decoding_table["136,183"] = [22992] let s:lib.Codec.decoding_table["136,184"] = [34427] let s:lib.Codec.decoding_table["136,185"] = [39156] let s:lib.Codec.decoding_table["136,186"] = [32098] let s:lib.Codec.decoding_table["136,187"] = [32190] let s:lib.Codec.decoding_table["136,188"] = [39822] let s:lib.Codec.decoding_table["136,189"] = [25110] let s:lib.Codec.decoding_table["136,190"] = [31903] let s:lib.Codec.decoding_table["136,191"] = [34999] let s:lib.Codec.decoding_table["136,192"] = [23433] let s:lib.Codec.decoding_table["136,193"] = [24245] let s:lib.Codec.decoding_table["136,194"] = [25353] let s:lib.Codec.decoding_table["136,195"] = [26263] let s:lib.Codec.decoding_table["136,196"] = [26696] let s:lib.Codec.decoding_table["136,197"] = [38343] let s:lib.Codec.decoding_table["136,198"] = [38797] let s:lib.Codec.decoding_table["136,199"] = [26447] let s:lib.Codec.decoding_table["136,200"] = [20197] let s:lib.Codec.decoding_table["136,201"] = [20234] let s:lib.Codec.decoding_table["136,202"] = [20301] let s:lib.Codec.decoding_table["136,203"] = [20381] let s:lib.Codec.decoding_table["136,204"] = [20553] let s:lib.Codec.decoding_table["136,205"] = [22258] let s:lib.Codec.decoding_table["136,206"] = [22839] let s:lib.Codec.decoding_table["136,207"] = [22996] let s:lib.Codec.decoding_table["136,208"] = [23041] let s:lib.Codec.decoding_table["136,209"] = [23561] let s:lib.Codec.decoding_table["136,210"] = [24799] let s:lib.Codec.decoding_table["136,211"] = [24847] let s:lib.Codec.decoding_table["136,212"] = [24944] let s:lib.Codec.decoding_table["136,213"] = [26131] let s:lib.Codec.decoding_table["136,214"] = [26885] let s:lib.Codec.decoding_table["136,215"] = [28858] let s:lib.Codec.decoding_table["136,216"] = [30031] let s:lib.Codec.decoding_table["136,217"] = [30064] let s:lib.Codec.decoding_table["136,218"] = [31227] let s:lib.Codec.decoding_table["136,219"] = [32173] let s:lib.Codec.decoding_table["136,220"] = [32239] let s:lib.Codec.decoding_table["136,221"] = [32963] let s:lib.Codec.decoding_table["136,222"] = [33806] let s:lib.Codec.decoding_table["136,223"] = [34915] let s:lib.Codec.decoding_table["136,224"] = [35586] let s:lib.Codec.decoding_table["136,225"] = [36949] let s:lib.Codec.decoding_table["136,226"] = [36986] let s:lib.Codec.decoding_table["136,227"] = [21307] let s:lib.Codec.decoding_table["136,228"] = [20117] let s:lib.Codec.decoding_table["136,229"] = [20133] let s:lib.Codec.decoding_table["136,230"] = [22495] let s:lib.Codec.decoding_table["136,231"] = [32946] let s:lib.Codec.decoding_table["136,232"] = [37057] let s:lib.Codec.decoding_table["136,233"] = [30959] let s:lib.Codec.decoding_table["136,234"] = [19968] let s:lib.Codec.decoding_table["136,235"] = [22769] let s:lib.Codec.decoding_table["136,236"] = [28322] let s:lib.Codec.decoding_table["136,237"] = [36920] let s:lib.Codec.decoding_table["136,238"] = [31282] let s:lib.Codec.decoding_table["136,239"] = [33576] let s:lib.Codec.decoding_table["136,240"] = [33419] let s:lib.Codec.decoding_table["136,241"] = [39983] let s:lib.Codec.decoding_table["136,242"] = [20801] let s:lib.Codec.decoding_table["136,243"] = [21360] let s:lib.Codec.decoding_table["136,244"] = [21693] let s:lib.Codec.decoding_table["136,245"] = [21729] let s:lib.Codec.decoding_table["136,246"] = [22240] let s:lib.Codec.decoding_table["136,247"] = [23035] let s:lib.Codec.decoding_table["136,248"] = [24341] let s:lib.Codec.decoding_table["136,249"] = [39154] let s:lib.Codec.decoding_table["136,250"] = [28139] let s:lib.Codec.decoding_table["136,251"] = [32996] let s:lib.Codec.decoding_table["136,252"] = [34093] let s:lib.Codec.decoding_table["137,64"] = [38498] let s:lib.Codec.decoding_table["137,65"] = [38512] let s:lib.Codec.decoding_table["137,66"] = [38560] let s:lib.Codec.decoding_table["137,67"] = [38907] let s:lib.Codec.decoding_table["137,68"] = [21515] let s:lib.Codec.decoding_table["137,69"] = [21491] let s:lib.Codec.decoding_table["137,70"] = [23431] let s:lib.Codec.decoding_table["137,71"] = [28879] let s:lib.Codec.decoding_table["137,72"] = [32701] let s:lib.Codec.decoding_table["137,73"] = [36802] let s:lib.Codec.decoding_table["137,74"] = [38632] let s:lib.Codec.decoding_table["137,75"] = [21359] let s:lib.Codec.decoding_table["137,76"] = [40284] let s:lib.Codec.decoding_table["137,77"] = [31418] let s:lib.Codec.decoding_table["137,78"] = [19985] let s:lib.Codec.decoding_table["137,79"] = [30867] let s:lib.Codec.decoding_table["137,80"] = [33276] let s:lib.Codec.decoding_table["137,81"] = [28198] let s:lib.Codec.decoding_table["137,82"] = [22040] let s:lib.Codec.decoding_table["137,83"] = [21764] let s:lib.Codec.decoding_table["137,84"] = [27421] let s:lib.Codec.decoding_table["137,85"] = [34074] let s:lib.Codec.decoding_table["137,86"] = [39995] let s:lib.Codec.decoding_table["137,87"] = [23013] let s:lib.Codec.decoding_table["137,88"] = [21417] let s:lib.Codec.decoding_table["137,89"] = [28006] let s:lib.Codec.decoding_table["137,90"] = [29916] let s:lib.Codec.decoding_table["137,91"] = [38287] let s:lib.Codec.decoding_table["137,92"] = [22082] let s:lib.Codec.decoding_table["137,93"] = [20113] let s:lib.Codec.decoding_table["137,94"] = [36939] let s:lib.Codec.decoding_table["137,95"] = [38642] let s:lib.Codec.decoding_table["137,96"] = [33615] let s:lib.Codec.decoding_table["137,97"] = [39180] let s:lib.Codec.decoding_table["137,98"] = [21473] let s:lib.Codec.decoding_table["137,99"] = [21942] let s:lib.Codec.decoding_table["137,100"] = [23344] let s:lib.Codec.decoding_table["137,101"] = [24433] let s:lib.Codec.decoding_table["137,102"] = [26144] let s:lib.Codec.decoding_table["137,103"] = [26355] let s:lib.Codec.decoding_table["137,104"] = [26628] let s:lib.Codec.decoding_table["137,105"] = [27704] let s:lib.Codec.decoding_table["137,106"] = [27891] let s:lib.Codec.decoding_table["137,107"] = [27945] let s:lib.Codec.decoding_table["137,108"] = [29787] let s:lib.Codec.decoding_table["137,109"] = [30408] let s:lib.Codec.decoding_table["137,110"] = [31310] let s:lib.Codec.decoding_table["137,111"] = [38964] let s:lib.Codec.decoding_table["137,112"] = [33521] let s:lib.Codec.decoding_table["137,113"] = [34907] let s:lib.Codec.decoding_table["137,114"] = [35424] let s:lib.Codec.decoding_table["137,115"] = [37613] let s:lib.Codec.decoding_table["137,116"] = [28082] let s:lib.Codec.decoding_table["137,117"] = [30123] let s:lib.Codec.decoding_table["137,118"] = [30410] let s:lib.Codec.decoding_table["137,119"] = [39365] let s:lib.Codec.decoding_table["137,120"] = [24742] let s:lib.Codec.decoding_table["137,121"] = [35585] let s:lib.Codec.decoding_table["137,122"] = [36234] let s:lib.Codec.decoding_table["137,123"] = [38322] let s:lib.Codec.decoding_table["137,124"] = [27022] let s:lib.Codec.decoding_table["137,125"] = [21421] let s:lib.Codec.decoding_table["137,126"] = [20870] let s:lib.Codec.decoding_table["137,128"] = [22290] let s:lib.Codec.decoding_table["137,129"] = [22576] let s:lib.Codec.decoding_table["137,130"] = [22852] let s:lib.Codec.decoding_table["137,131"] = [23476] let s:lib.Codec.decoding_table["137,132"] = [24310] let s:lib.Codec.decoding_table["137,133"] = [24616] let s:lib.Codec.decoding_table["137,134"] = [25513] let s:lib.Codec.decoding_table["137,135"] = [25588] let s:lib.Codec.decoding_table["137,136"] = [27839] let s:lib.Codec.decoding_table["137,137"] = [28436] let s:lib.Codec.decoding_table["137,138"] = [28814] let s:lib.Codec.decoding_table["137,139"] = [28948] let s:lib.Codec.decoding_table["137,140"] = [29017] let s:lib.Codec.decoding_table["137,141"] = [29141] let s:lib.Codec.decoding_table["137,142"] = [29503] let s:lib.Codec.decoding_table["137,143"] = [32257] let s:lib.Codec.decoding_table["137,144"] = [33398] let s:lib.Codec.decoding_table["137,145"] = [33489] let s:lib.Codec.decoding_table["137,146"] = [34199] let s:lib.Codec.decoding_table["137,147"] = [36960] let s:lib.Codec.decoding_table["137,148"] = [37467] let s:lib.Codec.decoding_table["137,149"] = [40219] let s:lib.Codec.decoding_table["137,150"] = [22633] let s:lib.Codec.decoding_table["137,151"] = [26044] let s:lib.Codec.decoding_table["137,152"] = [27738] let s:lib.Codec.decoding_table["137,153"] = [29989] let s:lib.Codec.decoding_table["137,154"] = [20985] let s:lib.Codec.decoding_table["137,155"] = [22830] let s:lib.Codec.decoding_table["137,156"] = [22885] let s:lib.Codec.decoding_table["137,157"] = [24448] let s:lib.Codec.decoding_table["137,158"] = [24540] let s:lib.Codec.decoding_table["137,159"] = [25276] let s:lib.Codec.decoding_table["137,160"] = [26106] let s:lib.Codec.decoding_table["137,161"] = [27178] let s:lib.Codec.decoding_table["137,162"] = [27431] let s:lib.Codec.decoding_table["137,163"] = [27572] let s:lib.Codec.decoding_table["137,164"] = [29579] let s:lib.Codec.decoding_table["137,165"] = [32705] let s:lib.Codec.decoding_table["137,166"] = [35158] let s:lib.Codec.decoding_table["137,167"] = [40236] let s:lib.Codec.decoding_table["137,168"] = [40206] let s:lib.Codec.decoding_table["137,169"] = [40644] let s:lib.Codec.decoding_table["137,170"] = [23713] let s:lib.Codec.decoding_table["137,171"] = [27798] let s:lib.Codec.decoding_table["137,172"] = [33659] let s:lib.Codec.decoding_table["137,173"] = [20740] let s:lib.Codec.decoding_table["137,174"] = [23627] let s:lib.Codec.decoding_table["137,175"] = [25014] let s:lib.Codec.decoding_table["137,176"] = [33222] let s:lib.Codec.decoding_table["137,177"] = [26742] let s:lib.Codec.decoding_table["137,178"] = [29281] let s:lib.Codec.decoding_table["137,179"] = [20057] let s:lib.Codec.decoding_table["137,180"] = [20474] let s:lib.Codec.decoding_table["137,181"] = [21368] let s:lib.Codec.decoding_table["137,182"] = [24681] let s:lib.Codec.decoding_table["137,183"] = [28201] let s:lib.Codec.decoding_table["137,184"] = [31311] let s:lib.Codec.decoding_table["137,185"] = [38899] let s:lib.Codec.decoding_table["137,186"] = [19979] let s:lib.Codec.decoding_table["137,187"] = [21270] let s:lib.Codec.decoding_table["137,188"] = [20206] let s:lib.Codec.decoding_table["137,189"] = [20309] let s:lib.Codec.decoding_table["137,190"] = [20285] let s:lib.Codec.decoding_table["137,191"] = [20385] let s:lib.Codec.decoding_table["137,192"] = [20339] let s:lib.Codec.decoding_table["137,193"] = [21152] let s:lib.Codec.decoding_table["137,194"] = [21487] let s:lib.Codec.decoding_table["137,195"] = [22025] let s:lib.Codec.decoding_table["137,196"] = [22799] let s:lib.Codec.decoding_table["137,197"] = [23233] let s:lib.Codec.decoding_table["137,198"] = [23478] let s:lib.Codec.decoding_table["137,199"] = [23521] let s:lib.Codec.decoding_table["137,200"] = [31185] let s:lib.Codec.decoding_table["137,201"] = [26247] let s:lib.Codec.decoding_table["137,202"] = [26524] let s:lib.Codec.decoding_table["137,203"] = [26550] let s:lib.Codec.decoding_table["137,204"] = [27468] let s:lib.Codec.decoding_table["137,205"] = [27827] let s:lib.Codec.decoding_table["137,206"] = [28779] let s:lib.Codec.decoding_table["137,207"] = [29634] let s:lib.Codec.decoding_table["137,208"] = [31117] let s:lib.Codec.decoding_table["137,209"] = [31166] let s:lib.Codec.decoding_table["137,210"] = [31292] let s:lib.Codec.decoding_table["137,211"] = [31623] let s:lib.Codec.decoding_table["137,212"] = [33457] let s:lib.Codec.decoding_table["137,213"] = [33499] let s:lib.Codec.decoding_table["137,214"] = [33540] let s:lib.Codec.decoding_table["137,215"] = [33655] let s:lib.Codec.decoding_table["137,216"] = [33775] let s:lib.Codec.decoding_table["137,217"] = [33747] let s:lib.Codec.decoding_table["137,218"] = [34662] let s:lib.Codec.decoding_table["137,219"] = [35506] let s:lib.Codec.decoding_table["137,220"] = [22057] let s:lib.Codec.decoding_table["137,221"] = [36008] let s:lib.Codec.decoding_table["137,222"] = [36838] let s:lib.Codec.decoding_table["137,223"] = [36942] let s:lib.Codec.decoding_table["137,224"] = [38686] let s:lib.Codec.decoding_table["137,225"] = [34442] let s:lib.Codec.decoding_table["137,226"] = [20420] let s:lib.Codec.decoding_table["137,227"] = [23784] let s:lib.Codec.decoding_table["137,228"] = [25105] let s:lib.Codec.decoding_table["137,229"] = [29273] let s:lib.Codec.decoding_table["137,230"] = [30011] let s:lib.Codec.decoding_table["137,231"] = [33253] let s:lib.Codec.decoding_table["137,232"] = [33469] let s:lib.Codec.decoding_table["137,233"] = [34558] let s:lib.Codec.decoding_table["137,234"] = [36032] let s:lib.Codec.decoding_table["137,235"] = [38597] let s:lib.Codec.decoding_table["137,236"] = [39187] let s:lib.Codec.decoding_table["137,237"] = [39381] let s:lib.Codec.decoding_table["137,238"] = [20171] let s:lib.Codec.decoding_table["137,239"] = [20250] let s:lib.Codec.decoding_table["137,240"] = [35299] let s:lib.Codec.decoding_table["137,241"] = [22238] let s:lib.Codec.decoding_table["137,242"] = [22602] let s:lib.Codec.decoding_table["137,243"] = [22730] let s:lib.Codec.decoding_table["137,244"] = [24315] let s:lib.Codec.decoding_table["137,245"] = [24555] let s:lib.Codec.decoding_table["137,246"] = [24618] let s:lib.Codec.decoding_table["137,247"] = [24724] let s:lib.Codec.decoding_table["137,248"] = [24674] let s:lib.Codec.decoding_table["137,249"] = [25040] let s:lib.Codec.decoding_table["137,250"] = [25106] let s:lib.Codec.decoding_table["137,251"] = [25296] let s:lib.Codec.decoding_table["137,252"] = [25913] let s:lib.Codec.decoding_table["138,64"] = [39745] let s:lib.Codec.decoding_table["138,65"] = [26214] let s:lib.Codec.decoding_table["138,66"] = [26800] let s:lib.Codec.decoding_table["138,67"] = [28023] let s:lib.Codec.decoding_table["138,68"] = [28784] let s:lib.Codec.decoding_table["138,69"] = [30028] let s:lib.Codec.decoding_table["138,70"] = [30342] let s:lib.Codec.decoding_table["138,71"] = [32117] let s:lib.Codec.decoding_table["138,72"] = [33445] let s:lib.Codec.decoding_table["138,73"] = [34809] let s:lib.Codec.decoding_table["138,74"] = [38283] let s:lib.Codec.decoding_table["138,75"] = [38542] let s:lib.Codec.decoding_table["138,76"] = [35997] let s:lib.Codec.decoding_table["138,77"] = [20977] let s:lib.Codec.decoding_table["138,78"] = [21182] let s:lib.Codec.decoding_table["138,79"] = [22806] let s:lib.Codec.decoding_table["138,80"] = [21683] let s:lib.Codec.decoding_table["138,81"] = [23475] let s:lib.Codec.decoding_table["138,82"] = [23830] let s:lib.Codec.decoding_table["138,83"] = [24936] let s:lib.Codec.decoding_table["138,84"] = [27010] let s:lib.Codec.decoding_table["138,85"] = [28079] let s:lib.Codec.decoding_table["138,86"] = [30861] let s:lib.Codec.decoding_table["138,87"] = [33995] let s:lib.Codec.decoding_table["138,88"] = [34903] let s:lib.Codec.decoding_table["138,89"] = [35442] let s:lib.Codec.decoding_table["138,90"] = [37799] let s:lib.Codec.decoding_table["138,91"] = [39608] let s:lib.Codec.decoding_table["138,92"] = [28012] let s:lib.Codec.decoding_table["138,93"] = [39336] let s:lib.Codec.decoding_table["138,94"] = [34521] let s:lib.Codec.decoding_table["138,95"] = [22435] let s:lib.Codec.decoding_table["138,96"] = [26623] let s:lib.Codec.decoding_table["138,97"] = [34510] let s:lib.Codec.decoding_table["138,98"] = [37390] let s:lib.Codec.decoding_table["138,99"] = [21123] let s:lib.Codec.decoding_table["138,100"] = [22151] let s:lib.Codec.decoding_table["138,101"] = [21508] let s:lib.Codec.decoding_table["138,102"] = [24275] let s:lib.Codec.decoding_table["138,103"] = [25313] let s:lib.Codec.decoding_table["138,104"] = [25785] let s:lib.Codec.decoding_table["138,105"] = [26684] let s:lib.Codec.decoding_table["138,106"] = [26680] let s:lib.Codec.decoding_table["138,107"] = [27579] let s:lib.Codec.decoding_table["138,108"] = [29554] let s:lib.Codec.decoding_table["138,109"] = [30906] let s:lib.Codec.decoding_table["138,110"] = [31339] let s:lib.Codec.decoding_table["138,111"] = [35226] let s:lib.Codec.decoding_table["138,112"] = [35282] let s:lib.Codec.decoding_table["138,113"] = [36203] let s:lib.Codec.decoding_table["138,114"] = [36611] let s:lib.Codec.decoding_table["138,115"] = [37101] let s:lib.Codec.decoding_table["138,116"] = [38307] let s:lib.Codec.decoding_table["138,117"] = [38548] let s:lib.Codec.decoding_table["138,118"] = [38761] let s:lib.Codec.decoding_table["138,119"] = [23398] let s:lib.Codec.decoding_table["138,120"] = [23731] let s:lib.Codec.decoding_table["138,121"] = [27005] let s:lib.Codec.decoding_table["138,122"] = [38989] let s:lib.Codec.decoding_table["138,123"] = [38990] let s:lib.Codec.decoding_table["138,124"] = [25499] let s:lib.Codec.decoding_table["138,125"] = [31520] let s:lib.Codec.decoding_table["138,126"] = [27179] let s:lib.Codec.decoding_table["138,128"] = [27263] let s:lib.Codec.decoding_table["138,129"] = [26806] let s:lib.Codec.decoding_table["138,130"] = [39949] let s:lib.Codec.decoding_table["138,131"] = [28511] let s:lib.Codec.decoding_table["138,132"] = [21106] let s:lib.Codec.decoding_table["138,133"] = [21917] let s:lib.Codec.decoding_table["138,134"] = [24688] let s:lib.Codec.decoding_table["138,135"] = [25324] let s:lib.Codec.decoding_table["138,136"] = [27963] let s:lib.Codec.decoding_table["138,137"] = [28167] let s:lib.Codec.decoding_table["138,138"] = [28369] let s:lib.Codec.decoding_table["138,139"] = [33883] let s:lib.Codec.decoding_table["138,140"] = [35088] let s:lib.Codec.decoding_table["138,141"] = [36676] let s:lib.Codec.decoding_table["138,142"] = [19988] let s:lib.Codec.decoding_table["138,143"] = [39993] let s:lib.Codec.decoding_table["138,144"] = [21494] let s:lib.Codec.decoding_table["138,145"] = [26907] let s:lib.Codec.decoding_table["138,146"] = [27194] let s:lib.Codec.decoding_table["138,147"] = [38788] let s:lib.Codec.decoding_table["138,148"] = [26666] let s:lib.Codec.decoding_table["138,149"] = [20828] let s:lib.Codec.decoding_table["138,150"] = [31427] let s:lib.Codec.decoding_table["138,151"] = [33970] let s:lib.Codec.decoding_table["138,152"] = [37340] let s:lib.Codec.decoding_table["138,153"] = [37772] let s:lib.Codec.decoding_table["138,154"] = [22107] let s:lib.Codec.decoding_table["138,155"] = [40232] let s:lib.Codec.decoding_table["138,156"] = [26658] let s:lib.Codec.decoding_table["138,157"] = [33541] let s:lib.Codec.decoding_table["138,158"] = [33841] let s:lib.Codec.decoding_table["138,159"] = [31909] let s:lib.Codec.decoding_table["138,160"] = [21000] let s:lib.Codec.decoding_table["138,161"] = [33477] let s:lib.Codec.decoding_table["138,162"] = [29926] let s:lib.Codec.decoding_table["138,163"] = [20094] let s:lib.Codec.decoding_table["138,164"] = [20355] let s:lib.Codec.decoding_table["138,165"] = [20896] let s:lib.Codec.decoding_table["138,166"] = [23506] let s:lib.Codec.decoding_table["138,167"] = [21002] let s:lib.Codec.decoding_table["138,168"] = [21208] let s:lib.Codec.decoding_table["138,169"] = [21223] let s:lib.Codec.decoding_table["138,170"] = [24059] let s:lib.Codec.decoding_table["138,171"] = [21914] let s:lib.Codec.decoding_table["138,172"] = [22570] let s:lib.Codec.decoding_table["138,173"] = [23014] let s:lib.Codec.decoding_table["138,174"] = [23436] let s:lib.Codec.decoding_table["138,175"] = [23448] let s:lib.Codec.decoding_table["138,176"] = [23515] let s:lib.Codec.decoding_table["138,177"] = [24178] let s:lib.Codec.decoding_table["138,178"] = [24185] let s:lib.Codec.decoding_table["138,179"] = [24739] let s:lib.Codec.decoding_table["138,180"] = [24863] let s:lib.Codec.decoding_table["138,181"] = [24931] let s:lib.Codec.decoding_table["138,182"] = [25022] let s:lib.Codec.decoding_table["138,183"] = [25563] let s:lib.Codec.decoding_table["138,184"] = [25954] let s:lib.Codec.decoding_table["138,185"] = [26577] let s:lib.Codec.decoding_table["138,186"] = [26707] let s:lib.Codec.decoding_table["138,187"] = [26874] let s:lib.Codec.decoding_table["138,188"] = [27454] let s:lib.Codec.decoding_table["138,189"] = [27475] let s:lib.Codec.decoding_table["138,190"] = [27735] let s:lib.Codec.decoding_table["138,191"] = [28450] let s:lib.Codec.decoding_table["138,192"] = [28567] let s:lib.Codec.decoding_table["138,193"] = [28485] let s:lib.Codec.decoding_table["138,194"] = [29872] let s:lib.Codec.decoding_table["138,195"] = [29976] let s:lib.Codec.decoding_table["138,196"] = [30435] let s:lib.Codec.decoding_table["138,197"] = [30475] let s:lib.Codec.decoding_table["138,198"] = [31487] let s:lib.Codec.decoding_table["138,199"] = [31649] let s:lib.Codec.decoding_table["138,200"] = [31777] let s:lib.Codec.decoding_table["138,201"] = [32233] let s:lib.Codec.decoding_table["138,202"] = [32566] let s:lib.Codec.decoding_table["138,203"] = [32752] let s:lib.Codec.decoding_table["138,204"] = [32925] let s:lib.Codec.decoding_table["138,205"] = [33382] let s:lib.Codec.decoding_table["138,206"] = [33694] let s:lib.Codec.decoding_table["138,207"] = [35251] let s:lib.Codec.decoding_table["138,208"] = [35532] let s:lib.Codec.decoding_table["138,209"] = [36011] let s:lib.Codec.decoding_table["138,210"] = [36996] let s:lib.Codec.decoding_table["138,211"] = [37969] let s:lib.Codec.decoding_table["138,212"] = [38291] let s:lib.Codec.decoding_table["138,213"] = [38289] let s:lib.Codec.decoding_table["138,214"] = [38306] let s:lib.Codec.decoding_table["138,215"] = [38501] let s:lib.Codec.decoding_table["138,216"] = [38867] let s:lib.Codec.decoding_table["138,217"] = [39208] let s:lib.Codec.decoding_table["138,218"] = [33304] let s:lib.Codec.decoding_table["138,219"] = [20024] let s:lib.Codec.decoding_table["138,220"] = [21547] let s:lib.Codec.decoding_table["138,221"] = [23736] let s:lib.Codec.decoding_table["138,222"] = [24012] let s:lib.Codec.decoding_table["138,223"] = [29609] let s:lib.Codec.decoding_table["138,224"] = [30284] let s:lib.Codec.decoding_table["138,225"] = [30524] let s:lib.Codec.decoding_table["138,226"] = [23721] let s:lib.Codec.decoding_table["138,227"] = [32747] let s:lib.Codec.decoding_table["138,228"] = [36107] let s:lib.Codec.decoding_table["138,229"] = [38593] let s:lib.Codec.decoding_table["138,230"] = [38929] let s:lib.Codec.decoding_table["138,231"] = [38996] let s:lib.Codec.decoding_table["138,232"] = [39000] let s:lib.Codec.decoding_table["138,233"] = [20225] let s:lib.Codec.decoding_table["138,234"] = [20238] let s:lib.Codec.decoding_table["138,235"] = [21361] let s:lib.Codec.decoding_table["138,236"] = [21916] let s:lib.Codec.decoding_table["138,237"] = [22120] let s:lib.Codec.decoding_table["138,238"] = [22522] let s:lib.Codec.decoding_table["138,239"] = [22855] let s:lib.Codec.decoding_table["138,240"] = [23305] let s:lib.Codec.decoding_table["138,241"] = [23492] let s:lib.Codec.decoding_table["138,242"] = [23696] let s:lib.Codec.decoding_table["138,243"] = [24076] let s:lib.Codec.decoding_table["138,244"] = [24190] let s:lib.Codec.decoding_table["138,245"] = [24524] let s:lib.Codec.decoding_table["138,246"] = [25582] let s:lib.Codec.decoding_table["138,247"] = [26426] let s:lib.Codec.decoding_table["138,248"] = [26071] let s:lib.Codec.decoding_table["138,249"] = [26082] let s:lib.Codec.decoding_table["138,250"] = [26399] let s:lib.Codec.decoding_table["138,251"] = [26827] let s:lib.Codec.decoding_table["138,252"] = [26820] let s:lib.Codec.decoding_table["139,64"] = [27231] let s:lib.Codec.decoding_table["139,65"] = [24112] let s:lib.Codec.decoding_table["139,66"] = [27589] let s:lib.Codec.decoding_table["139,67"] = [27671] let s:lib.Codec.decoding_table["139,68"] = [27773] let s:lib.Codec.decoding_table["139,69"] = [30079] let s:lib.Codec.decoding_table["139,70"] = [31048] let s:lib.Codec.decoding_table["139,71"] = [23395] let s:lib.Codec.decoding_table["139,72"] = [31232] let s:lib.Codec.decoding_table["139,73"] = [32000] let s:lib.Codec.decoding_table["139,74"] = [24509] let s:lib.Codec.decoding_table["139,75"] = [35215] let s:lib.Codec.decoding_table["139,76"] = [35352] let s:lib.Codec.decoding_table["139,77"] = [36020] let s:lib.Codec.decoding_table["139,78"] = [36215] let s:lib.Codec.decoding_table["139,79"] = [36556] let s:lib.Codec.decoding_table["139,80"] = [36637] let s:lib.Codec.decoding_table["139,81"] = [39138] let s:lib.Codec.decoding_table["139,82"] = [39438] let s:lib.Codec.decoding_table["139,83"] = [39740] let s:lib.Codec.decoding_table["139,84"] = [20096] let s:lib.Codec.decoding_table["139,85"] = [20605] let s:lib.Codec.decoding_table["139,86"] = [20736] let s:lib.Codec.decoding_table["139,87"] = [22931] let s:lib.Codec.decoding_table["139,88"] = [23452] let s:lib.Codec.decoding_table["139,89"] = [25135] let s:lib.Codec.decoding_table["139,90"] = [25216] let s:lib.Codec.decoding_table["139,91"] = [25836] let s:lib.Codec.decoding_table["139,92"] = [27450] let s:lib.Codec.decoding_table["139,93"] = [29344] let s:lib.Codec.decoding_table["139,94"] = [30097] let s:lib.Codec.decoding_table["139,95"] = [31047] let s:lib.Codec.decoding_table["139,96"] = [32681] let s:lib.Codec.decoding_table["139,97"] = [34811] let s:lib.Codec.decoding_table["139,98"] = [35516] let s:lib.Codec.decoding_table["139,99"] = [35696] let s:lib.Codec.decoding_table["139,100"] = [25516] let s:lib.Codec.decoding_table["139,101"] = [33738] let s:lib.Codec.decoding_table["139,102"] = [38816] let s:lib.Codec.decoding_table["139,103"] = [21513] let s:lib.Codec.decoding_table["139,104"] = [21507] let s:lib.Codec.decoding_table["139,105"] = [21931] let s:lib.Codec.decoding_table["139,106"] = [26708] let s:lib.Codec.decoding_table["139,107"] = [27224] let s:lib.Codec.decoding_table["139,108"] = [35440] let s:lib.Codec.decoding_table["139,109"] = [30759] let s:lib.Codec.decoding_table["139,110"] = [26485] let s:lib.Codec.decoding_table["139,111"] = [40653] let s:lib.Codec.decoding_table["139,112"] = [21364] let s:lib.Codec.decoding_table["139,113"] = [23458] let s:lib.Codec.decoding_table["139,114"] = [33050] let s:lib.Codec.decoding_table["139,115"] = [34384] let s:lib.Codec.decoding_table["139,116"] = [36870] let s:lib.Codec.decoding_table["139,117"] = [19992] let s:lib.Codec.decoding_table["139,118"] = [20037] let s:lib.Codec.decoding_table["139,119"] = [20167] let s:lib.Codec.decoding_table["139,120"] = [20241] let s:lib.Codec.decoding_table["139,121"] = [21450] let s:lib.Codec.decoding_table["139,122"] = [21560] let s:lib.Codec.decoding_table["139,123"] = [23470] let s:lib.Codec.decoding_table["139,124"] = [24339] let s:lib.Codec.decoding_table["139,125"] = [24613] let s:lib.Codec.decoding_table["139,126"] = [25937] let s:lib.Codec.decoding_table["139,128"] = [26429] let s:lib.Codec.decoding_table["139,129"] = [27714] let s:lib.Codec.decoding_table["139,130"] = [27762] let s:lib.Codec.decoding_table["139,131"] = [27875] let s:lib.Codec.decoding_table["139,132"] = [28792] let s:lib.Codec.decoding_table["139,133"] = [29699] let s:lib.Codec.decoding_table["139,134"] = [31350] let s:lib.Codec.decoding_table["139,135"] = [31406] let s:lib.Codec.decoding_table["139,136"] = [31496] let s:lib.Codec.decoding_table["139,137"] = [32026] let s:lib.Codec.decoding_table["139,138"] = [31998] let s:lib.Codec.decoding_table["139,139"] = [32102] let s:lib.Codec.decoding_table["139,140"] = [26087] let s:lib.Codec.decoding_table["139,141"] = [29275] let s:lib.Codec.decoding_table["139,142"] = [21435] let s:lib.Codec.decoding_table["139,143"] = [23621] let s:lib.Codec.decoding_table["139,144"] = [24040] let s:lib.Codec.decoding_table["139,145"] = [25298] let s:lib.Codec.decoding_table["139,146"] = [25312] let s:lib.Codec.decoding_table["139,147"] = [25369] let s:lib.Codec.decoding_table["139,148"] = [28192] let s:lib.Codec.decoding_table["139,149"] = [34394] let s:lib.Codec.decoding_table["139,150"] = [35377] let s:lib.Codec.decoding_table["139,151"] = [36317] let s:lib.Codec.decoding_table["139,152"] = [37624] let s:lib.Codec.decoding_table["139,153"] = [28417] let s:lib.Codec.decoding_table["139,154"] = [31142] let s:lib.Codec.decoding_table["139,155"] = [39770] let s:lib.Codec.decoding_table["139,156"] = [20136] let s:lib.Codec.decoding_table["139,157"] = [20139] let s:lib.Codec.decoding_table["139,158"] = [20140] let s:lib.Codec.decoding_table["139,159"] = [20379] let s:lib.Codec.decoding_table["139,160"] = [20384] let s:lib.Codec.decoding_table["139,161"] = [20689] let s:lib.Codec.decoding_table["139,162"] = [20807] let s:lib.Codec.decoding_table["139,163"] = [31478] let s:lib.Codec.decoding_table["139,164"] = [20849] let s:lib.Codec.decoding_table["139,165"] = [20982] let s:lib.Codec.decoding_table["139,166"] = [21332] let s:lib.Codec.decoding_table["139,167"] = [21281] let s:lib.Codec.decoding_table["139,168"] = [21375] let s:lib.Codec.decoding_table["139,169"] = [21483] let s:lib.Codec.decoding_table["139,170"] = [21932] let s:lib.Codec.decoding_table["139,171"] = [22659] let s:lib.Codec.decoding_table["139,172"] = [23777] let s:lib.Codec.decoding_table["139,173"] = [24375] let s:lib.Codec.decoding_table["139,174"] = [24394] let s:lib.Codec.decoding_table["139,175"] = [24623] let s:lib.Codec.decoding_table["139,176"] = [24656] let s:lib.Codec.decoding_table["139,177"] = [24685] let s:lib.Codec.decoding_table["139,178"] = [25375] let s:lib.Codec.decoding_table["139,179"] = [25945] let s:lib.Codec.decoding_table["139,180"] = [27211] let s:lib.Codec.decoding_table["139,181"] = [27841] let s:lib.Codec.decoding_table["139,182"] = [29378] let s:lib.Codec.decoding_table["139,183"] = [29421] let s:lib.Codec.decoding_table["139,184"] = [30703] let s:lib.Codec.decoding_table["139,185"] = [33016] let s:lib.Codec.decoding_table["139,186"] = [33029] let s:lib.Codec.decoding_table["139,187"] = [33288] let s:lib.Codec.decoding_table["139,188"] = [34126] let s:lib.Codec.decoding_table["139,189"] = [37111] let s:lib.Codec.decoding_table["139,190"] = [37857] let s:lib.Codec.decoding_table["139,191"] = [38911] let s:lib.Codec.decoding_table["139,192"] = [39255] let s:lib.Codec.decoding_table["139,193"] = [39514] let s:lib.Codec.decoding_table["139,194"] = [20208] let s:lib.Codec.decoding_table["139,195"] = [20957] let s:lib.Codec.decoding_table["139,196"] = [23597] let s:lib.Codec.decoding_table["139,197"] = [26241] let s:lib.Codec.decoding_table["139,198"] = [26989] let s:lib.Codec.decoding_table["139,199"] = [23616] let s:lib.Codec.decoding_table["139,200"] = [26354] let s:lib.Codec.decoding_table["139,201"] = [26997] let s:lib.Codec.decoding_table["139,202"] = [29577] let s:lib.Codec.decoding_table["139,203"] = [26704] let s:lib.Codec.decoding_table["139,204"] = [31873] let s:lib.Codec.decoding_table["139,205"] = [20677] let s:lib.Codec.decoding_table["139,206"] = [21220] let s:lib.Codec.decoding_table["139,207"] = [22343] let s:lib.Codec.decoding_table["139,208"] = [24062] let s:lib.Codec.decoding_table["139,209"] = [37670] let s:lib.Codec.decoding_table["139,210"] = [26020] let s:lib.Codec.decoding_table["139,211"] = [27427] let s:lib.Codec.decoding_table["139,212"] = [27453] let s:lib.Codec.decoding_table["139,213"] = [29748] let s:lib.Codec.decoding_table["139,214"] = [31105] let s:lib.Codec.decoding_table["139,215"] = [31165] let s:lib.Codec.decoding_table["139,216"] = [31563] let s:lib.Codec.decoding_table["139,217"] = [32202] let s:lib.Codec.decoding_table["139,218"] = [33465] let s:lib.Codec.decoding_table["139,219"] = [33740] let s:lib.Codec.decoding_table["139,220"] = [34943] let s:lib.Codec.decoding_table["139,221"] = [35167] let s:lib.Codec.decoding_table["139,222"] = [35641] let s:lib.Codec.decoding_table["139,223"] = [36817] let s:lib.Codec.decoding_table["139,224"] = [37329] let s:lib.Codec.decoding_table["139,225"] = [21535] let s:lib.Codec.decoding_table["139,226"] = [37504] let s:lib.Codec.decoding_table["139,227"] = [20061] let s:lib.Codec.decoding_table["139,228"] = [20534] let s:lib.Codec.decoding_table["139,229"] = [21477] let s:lib.Codec.decoding_table["139,230"] = [21306] let s:lib.Codec.decoding_table["139,231"] = [29399] let s:lib.Codec.decoding_table["139,232"] = [29590] let s:lib.Codec.decoding_table["139,233"] = [30697] let s:lib.Codec.decoding_table["139,234"] = [33510] let s:lib.Codec.decoding_table["139,235"] = [36527] let s:lib.Codec.decoding_table["139,236"] = [39366] let s:lib.Codec.decoding_table["139,237"] = [39368] let s:lib.Codec.decoding_table["139,238"] = [39378] let s:lib.Codec.decoding_table["139,239"] = [20855] let s:lib.Codec.decoding_table["139,240"] = [24858] let s:lib.Codec.decoding_table["139,241"] = [34398] let s:lib.Codec.decoding_table["139,242"] = [21936] let s:lib.Codec.decoding_table["139,243"] = [31354] let s:lib.Codec.decoding_table["139,244"] = [20598] let s:lib.Codec.decoding_table["139,245"] = [23507] let s:lib.Codec.decoding_table["139,246"] = [36935] let s:lib.Codec.decoding_table["139,247"] = [38533] let s:lib.Codec.decoding_table["139,248"] = [20018] let s:lib.Codec.decoding_table["139,249"] = [27355] let s:lib.Codec.decoding_table["139,250"] = [37351] let s:lib.Codec.decoding_table["139,251"] = [23633] let s:lib.Codec.decoding_table["139,252"] = [23624] let s:lib.Codec.decoding_table["140,64"] = [25496] let s:lib.Codec.decoding_table["140,65"] = [31391] let s:lib.Codec.decoding_table["140,66"] = [27795] let s:lib.Codec.decoding_table["140,67"] = [38772] let s:lib.Codec.decoding_table["140,68"] = [36705] let s:lib.Codec.decoding_table["140,69"] = [31402] let s:lib.Codec.decoding_table["140,70"] = [29066] let s:lib.Codec.decoding_table["140,71"] = [38536] let s:lib.Codec.decoding_table["140,72"] = [31874] let s:lib.Codec.decoding_table["140,73"] = [26647] let s:lib.Codec.decoding_table["140,74"] = [32368] let s:lib.Codec.decoding_table["140,75"] = [26705] let s:lib.Codec.decoding_table["140,76"] = [37740] let s:lib.Codec.decoding_table["140,77"] = [21234] let s:lib.Codec.decoding_table["140,78"] = [21531] let s:lib.Codec.decoding_table["140,79"] = [34219] let s:lib.Codec.decoding_table["140,80"] = [35347] let s:lib.Codec.decoding_table["140,81"] = [32676] let s:lib.Codec.decoding_table["140,82"] = [36557] let s:lib.Codec.decoding_table["140,83"] = [37089] let s:lib.Codec.decoding_table["140,84"] = [21350] let s:lib.Codec.decoding_table["140,85"] = [34952] let s:lib.Codec.decoding_table["140,86"] = [31041] let s:lib.Codec.decoding_table["140,87"] = [20418] let s:lib.Codec.decoding_table["140,88"] = [20670] let s:lib.Codec.decoding_table["140,89"] = [21009] let s:lib.Codec.decoding_table["140,90"] = [20804] let s:lib.Codec.decoding_table["140,91"] = [21843] let s:lib.Codec.decoding_table["140,92"] = [22317] let s:lib.Codec.decoding_table["140,93"] = [29674] let s:lib.Codec.decoding_table["140,94"] = [22411] let s:lib.Codec.decoding_table["140,95"] = [22865] let s:lib.Codec.decoding_table["140,96"] = [24418] let s:lib.Codec.decoding_table["140,97"] = [24452] let s:lib.Codec.decoding_table["140,98"] = [24693] let s:lib.Codec.decoding_table["140,99"] = [24950] let s:lib.Codec.decoding_table["140,100"] = [24935] let s:lib.Codec.decoding_table["140,101"] = [25001] let s:lib.Codec.decoding_table["140,102"] = [25522] let s:lib.Codec.decoding_table["140,103"] = [25658] let s:lib.Codec.decoding_table["140,104"] = [25964] let s:lib.Codec.decoding_table["140,105"] = [26223] let s:lib.Codec.decoding_table["140,106"] = [26690] let s:lib.Codec.decoding_table["140,107"] = [28179] let s:lib.Codec.decoding_table["140,108"] = [30054] let s:lib.Codec.decoding_table["140,109"] = [31293] let s:lib.Codec.decoding_table["140,110"] = [31995] let s:lib.Codec.decoding_table["140,111"] = [32076] let s:lib.Codec.decoding_table["140,112"] = [32153] let s:lib.Codec.decoding_table["140,113"] = [32331] let s:lib.Codec.decoding_table["140,114"] = [32619] let s:lib.Codec.decoding_table["140,115"] = [33550] let s:lib.Codec.decoding_table["140,116"] = [33610] let s:lib.Codec.decoding_table["140,117"] = [34509] let s:lib.Codec.decoding_table["140,118"] = [35336] let s:lib.Codec.decoding_table["140,119"] = [35427] let s:lib.Codec.decoding_table["140,120"] = [35686] let s:lib.Codec.decoding_table["140,121"] = [36605] let s:lib.Codec.decoding_table["140,122"] = [38938] let s:lib.Codec.decoding_table["140,123"] = [40335] let s:lib.Codec.decoding_table["140,124"] = [33464] let s:lib.Codec.decoding_table["140,125"] = [36814] let s:lib.Codec.decoding_table["140,126"] = [39912] let s:lib.Codec.decoding_table["140,128"] = [21127] let s:lib.Codec.decoding_table["140,129"] = [25119] let s:lib.Codec.decoding_table["140,130"] = [25731] let s:lib.Codec.decoding_table["140,131"] = [28608] let s:lib.Codec.decoding_table["140,132"] = [38553] let s:lib.Codec.decoding_table["140,133"] = [26689] let s:lib.Codec.decoding_table["140,134"] = [20625] let s:lib.Codec.decoding_table["140,135"] = [27424] let s:lib.Codec.decoding_table["140,136"] = [27770] let s:lib.Codec.decoding_table["140,137"] = [28500] let s:lib.Codec.decoding_table["140,138"] = [31348] let s:lib.Codec.decoding_table["140,139"] = [32080] let s:lib.Codec.decoding_table["140,140"] = [34880] let s:lib.Codec.decoding_table["140,141"] = [35363] let s:lib.Codec.decoding_table["140,142"] = [26376] let s:lib.Codec.decoding_table["140,143"] = [20214] let s:lib.Codec.decoding_table["140,144"] = [20537] let s:lib.Codec.decoding_table["140,145"] = [20518] let s:lib.Codec.decoding_table["140,146"] = [20581] let s:lib.Codec.decoding_table["140,147"] = [20860] let s:lib.Codec.decoding_table["140,148"] = [21048] let s:lib.Codec.decoding_table["140,149"] = [21091] let s:lib.Codec.decoding_table["140,150"] = [21927] let s:lib.Codec.decoding_table["140,151"] = [22287] let s:lib.Codec.decoding_table["140,152"] = [22533] let s:lib.Codec.decoding_table["140,153"] = [23244] let s:lib.Codec.decoding_table["140,154"] = [24314] let s:lib.Codec.decoding_table["140,155"] = [25010] let s:lib.Codec.decoding_table["140,156"] = [25080] let s:lib.Codec.decoding_table["140,157"] = [25331] let s:lib.Codec.decoding_table["140,158"] = [25458] let s:lib.Codec.decoding_table["140,159"] = [26908] let s:lib.Codec.decoding_table["140,160"] = [27177] let s:lib.Codec.decoding_table["140,161"] = [29309] let s:lib.Codec.decoding_table["140,162"] = [29356] let s:lib.Codec.decoding_table["140,163"] = [29486] let s:lib.Codec.decoding_table["140,164"] = [30740] let s:lib.Codec.decoding_table["140,165"] = [30831] let s:lib.Codec.decoding_table["140,166"] = [32121] let s:lib.Codec.decoding_table["140,167"] = [30476] let s:lib.Codec.decoding_table["140,168"] = [32937] let s:lib.Codec.decoding_table["140,169"] = [35211] let s:lib.Codec.decoding_table["140,170"] = [35609] let s:lib.Codec.decoding_table["140,171"] = [36066] let s:lib.Codec.decoding_table["140,172"] = [36562] let s:lib.Codec.decoding_table["140,173"] = [36963] let s:lib.Codec.decoding_table["140,174"] = [37749] let s:lib.Codec.decoding_table["140,175"] = [38522] let s:lib.Codec.decoding_table["140,176"] = [38997] let s:lib.Codec.decoding_table["140,177"] = [39443] let s:lib.Codec.decoding_table["140,178"] = [40568] let s:lib.Codec.decoding_table["140,179"] = [20803] let s:lib.Codec.decoding_table["140,180"] = [21407] let s:lib.Codec.decoding_table["140,181"] = [21427] let s:lib.Codec.decoding_table["140,182"] = [24187] let s:lib.Codec.decoding_table["140,183"] = [24358] let s:lib.Codec.decoding_table["140,184"] = [28187] let s:lib.Codec.decoding_table["140,185"] = [28304] let s:lib.Codec.decoding_table["140,186"] = [29572] let s:lib.Codec.decoding_table["140,187"] = [29694] let s:lib.Codec.decoding_table["140,188"] = [32067] let s:lib.Codec.decoding_table["140,189"] = [33335] let s:lib.Codec.decoding_table["140,190"] = [35328] let s:lib.Codec.decoding_table["140,191"] = [35578] let s:lib.Codec.decoding_table["140,192"] = [38480] let s:lib.Codec.decoding_table["140,193"] = [20046] let s:lib.Codec.decoding_table["140,194"] = [20491] let s:lib.Codec.decoding_table["140,195"] = [21476] let s:lib.Codec.decoding_table["140,196"] = [21628] let s:lib.Codec.decoding_table["140,197"] = [22266] let s:lib.Codec.decoding_table["140,198"] = [22993] let s:lib.Codec.decoding_table["140,199"] = [23396] let s:lib.Codec.decoding_table["140,200"] = [24049] let s:lib.Codec.decoding_table["140,201"] = [24235] let s:lib.Codec.decoding_table["140,202"] = [24359] let s:lib.Codec.decoding_table["140,203"] = [25144] let s:lib.Codec.decoding_table["140,204"] = [25925] let s:lib.Codec.decoding_table["140,205"] = [26543] let s:lib.Codec.decoding_table["140,206"] = [28246] let s:lib.Codec.decoding_table["140,207"] = [29392] let s:lib.Codec.decoding_table["140,208"] = [31946] let s:lib.Codec.decoding_table["140,209"] = [34996] let s:lib.Codec.decoding_table["140,210"] = [32929] let s:lib.Codec.decoding_table["140,211"] = [32993] let s:lib.Codec.decoding_table["140,212"] = [33776] let s:lib.Codec.decoding_table["140,213"] = [34382] let s:lib.Codec.decoding_table["140,214"] = [35463] let s:lib.Codec.decoding_table["140,215"] = [36328] let s:lib.Codec.decoding_table["140,216"] = [37431] let s:lib.Codec.decoding_table["140,217"] = [38599] let s:lib.Codec.decoding_table["140,218"] = [39015] let s:lib.Codec.decoding_table["140,219"] = [40723] let s:lib.Codec.decoding_table["140,220"] = [20116] let s:lib.Codec.decoding_table["140,221"] = [20114] let s:lib.Codec.decoding_table["140,222"] = [20237] let s:lib.Codec.decoding_table["140,223"] = [21320] let s:lib.Codec.decoding_table["140,224"] = [21577] let s:lib.Codec.decoding_table["140,225"] = [21566] let s:lib.Codec.decoding_table["140,226"] = [23087] let s:lib.Codec.decoding_table["140,227"] = [24460] let s:lib.Codec.decoding_table["140,228"] = [24481] let s:lib.Codec.decoding_table["140,229"] = [24735] let s:lib.Codec.decoding_table["140,230"] = [26791] let s:lib.Codec.decoding_table["140,231"] = [27278] let s:lib.Codec.decoding_table["140,232"] = [29786] let s:lib.Codec.decoding_table["140,233"] = [30849] let s:lib.Codec.decoding_table["140,234"] = [35486] let s:lib.Codec.decoding_table["140,235"] = [35492] let s:lib.Codec.decoding_table["140,236"] = [35703] let s:lib.Codec.decoding_table["140,237"] = [37264] let s:lib.Codec.decoding_table["140,238"] = [20062] let s:lib.Codec.decoding_table["140,239"] = [39881] let s:lib.Codec.decoding_table["140,240"] = [20132] let s:lib.Codec.decoding_table["140,241"] = [20348] let s:lib.Codec.decoding_table["140,242"] = [20399] let s:lib.Codec.decoding_table["140,243"] = [20505] let s:lib.Codec.decoding_table["140,244"] = [20502] let s:lib.Codec.decoding_table["140,245"] = [20809] let s:lib.Codec.decoding_table["140,246"] = [20844] let s:lib.Codec.decoding_table["140,247"] = [21151] let s:lib.Codec.decoding_table["140,248"] = [21177] let s:lib.Codec.decoding_table["140,249"] = [21246] let s:lib.Codec.decoding_table["140,250"] = [21402] let s:lib.Codec.decoding_table["140,251"] = [21475] let s:lib.Codec.decoding_table["140,252"] = [21521] let s:lib.Codec.decoding_table["141,64"] = [21518] let s:lib.Codec.decoding_table["141,65"] = [21897] let s:lib.Codec.decoding_table["141,66"] = [22353] let s:lib.Codec.decoding_table["141,67"] = [22434] let s:lib.Codec.decoding_table["141,68"] = [22909] let s:lib.Codec.decoding_table["141,69"] = [23380] let s:lib.Codec.decoding_table["141,70"] = [23389] let s:lib.Codec.decoding_table["141,71"] = [23439] let s:lib.Codec.decoding_table["141,72"] = [24037] let s:lib.Codec.decoding_table["141,73"] = [24039] let s:lib.Codec.decoding_table["141,74"] = [24055] let s:lib.Codec.decoding_table["141,75"] = [24184] let s:lib.Codec.decoding_table["141,76"] = [24195] let s:lib.Codec.decoding_table["141,77"] = [24218] let s:lib.Codec.decoding_table["141,78"] = [24247] let s:lib.Codec.decoding_table["141,79"] = [24344] let s:lib.Codec.decoding_table["141,80"] = [24658] let s:lib.Codec.decoding_table["141,81"] = [24908] let s:lib.Codec.decoding_table["141,82"] = [25239] let s:lib.Codec.decoding_table["141,83"] = [25304] let s:lib.Codec.decoding_table["141,84"] = [25511] let s:lib.Codec.decoding_table["141,85"] = [25915] let s:lib.Codec.decoding_table["141,86"] = [26114] let s:lib.Codec.decoding_table["141,87"] = [26179] let s:lib.Codec.decoding_table["141,88"] = [26356] let s:lib.Codec.decoding_table["141,89"] = [26477] let s:lib.Codec.decoding_table["141,90"] = [26657] let s:lib.Codec.decoding_table["141,91"] = [26775] let s:lib.Codec.decoding_table["141,92"] = [27083] let s:lib.Codec.decoding_table["141,93"] = [27743] let s:lib.Codec.decoding_table["141,94"] = [27946] let s:lib.Codec.decoding_table["141,95"] = [28009] let s:lib.Codec.decoding_table["141,96"] = [28207] let s:lib.Codec.decoding_table["141,97"] = [28317] let s:lib.Codec.decoding_table["141,98"] = [30002] let s:lib.Codec.decoding_table["141,99"] = [30343] let s:lib.Codec.decoding_table["141,100"] = [30828] let s:lib.Codec.decoding_table["141,101"] = [31295] let s:lib.Codec.decoding_table["141,102"] = [31968] let s:lib.Codec.decoding_table["141,103"] = [32005] let s:lib.Codec.decoding_table["141,104"] = [32024] let s:lib.Codec.decoding_table["141,105"] = [32094] let s:lib.Codec.decoding_table["141,106"] = [32177] let s:lib.Codec.decoding_table["141,107"] = [32789] let s:lib.Codec.decoding_table["141,108"] = [32771] let s:lib.Codec.decoding_table["141,109"] = [32943] let s:lib.Codec.decoding_table["141,110"] = [32945] let s:lib.Codec.decoding_table["141,111"] = [33108] let s:lib.Codec.decoding_table["141,112"] = [33167] let s:lib.Codec.decoding_table["141,113"] = [33322] let s:lib.Codec.decoding_table["141,114"] = [33618] let s:lib.Codec.decoding_table["141,115"] = [34892] let s:lib.Codec.decoding_table["141,116"] = [34913] let s:lib.Codec.decoding_table["141,117"] = [35611] let s:lib.Codec.decoding_table["141,118"] = [36002] let s:lib.Codec.decoding_table["141,119"] = [36092] let s:lib.Codec.decoding_table["141,120"] = [37066] let s:lib.Codec.decoding_table["141,121"] = [37237] let s:lib.Codec.decoding_table["141,122"] = [37489] let s:lib.Codec.decoding_table["141,123"] = [30783] let s:lib.Codec.decoding_table["141,124"] = [37628] let s:lib.Codec.decoding_table["141,125"] = [38308] let s:lib.Codec.decoding_table["141,126"] = [38477] let s:lib.Codec.decoding_table["141,128"] = [38917] let s:lib.Codec.decoding_table["141,129"] = [39321] let s:lib.Codec.decoding_table["141,130"] = [39640] let s:lib.Codec.decoding_table["141,131"] = [40251] let s:lib.Codec.decoding_table["141,132"] = [21083] let s:lib.Codec.decoding_table["141,133"] = [21163] let s:lib.Codec.decoding_table["141,134"] = [21495] let s:lib.Codec.decoding_table["141,135"] = [21512] let s:lib.Codec.decoding_table["141,136"] = [22741] let s:lib.Codec.decoding_table["141,137"] = [25335] let s:lib.Codec.decoding_table["141,138"] = [28640] let s:lib.Codec.decoding_table["141,139"] = [35946] let s:lib.Codec.decoding_table["141,140"] = [36703] let s:lib.Codec.decoding_table["141,141"] = [40633] let s:lib.Codec.decoding_table["141,142"] = [20811] let s:lib.Codec.decoding_table["141,143"] = [21051] let s:lib.Codec.decoding_table["141,144"] = [21578] let s:lib.Codec.decoding_table["141,145"] = [22269] let s:lib.Codec.decoding_table["141,146"] = [31296] let s:lib.Codec.decoding_table["141,147"] = [37239] let s:lib.Codec.decoding_table["141,148"] = [40288] let s:lib.Codec.decoding_table["141,149"] = [40658] let s:lib.Codec.decoding_table["141,150"] = [29508] let s:lib.Codec.decoding_table["141,151"] = [28425] let s:lib.Codec.decoding_table["141,152"] = [33136] let s:lib.Codec.decoding_table["141,153"] = [29969] let s:lib.Codec.decoding_table["141,154"] = [24573] let s:lib.Codec.decoding_table["141,155"] = [24794] let s:lib.Codec.decoding_table["141,156"] = [39592] let s:lib.Codec.decoding_table["141,157"] = [29403] let s:lib.Codec.decoding_table["141,158"] = [36796] let s:lib.Codec.decoding_table["141,159"] = [27492] let s:lib.Codec.decoding_table["141,160"] = [38915] let s:lib.Codec.decoding_table["141,161"] = [20170] let s:lib.Codec.decoding_table["141,162"] = [22256] let s:lib.Codec.decoding_table["141,163"] = [22372] let s:lib.Codec.decoding_table["141,164"] = [22718] let s:lib.Codec.decoding_table["141,165"] = [23130] let s:lib.Codec.decoding_table["141,166"] = [24680] let s:lib.Codec.decoding_table["141,167"] = [25031] let s:lib.Codec.decoding_table["141,168"] = [26127] let s:lib.Codec.decoding_table["141,169"] = [26118] let s:lib.Codec.decoding_table["141,170"] = [26681] let s:lib.Codec.decoding_table["141,171"] = [26801] let s:lib.Codec.decoding_table["141,172"] = [28151] let s:lib.Codec.decoding_table["141,173"] = [30165] let s:lib.Codec.decoding_table["141,174"] = [32058] let s:lib.Codec.decoding_table["141,175"] = [33390] let s:lib.Codec.decoding_table["141,176"] = [39746] let s:lib.Codec.decoding_table["141,177"] = [20123] let s:lib.Codec.decoding_table["141,178"] = [20304] let s:lib.Codec.decoding_table["141,179"] = [21449] let s:lib.Codec.decoding_table["141,180"] = [21766] let s:lib.Codec.decoding_table["141,181"] = [23919] let s:lib.Codec.decoding_table["141,182"] = [24038] let s:lib.Codec.decoding_table["141,183"] = [24046] let s:lib.Codec.decoding_table["141,184"] = [26619] let s:lib.Codec.decoding_table["141,185"] = [27801] let s:lib.Codec.decoding_table["141,186"] = [29811] let s:lib.Codec.decoding_table["141,187"] = [30722] let s:lib.Codec.decoding_table["141,188"] = [35408] let s:lib.Codec.decoding_table["141,189"] = [37782] let s:lib.Codec.decoding_table["141,190"] = [35039] let s:lib.Codec.decoding_table["141,191"] = [22352] let s:lib.Codec.decoding_table["141,192"] = [24231] let s:lib.Codec.decoding_table["141,193"] = [25387] let s:lib.Codec.decoding_table["141,194"] = [20661] let s:lib.Codec.decoding_table["141,195"] = [20652] let s:lib.Codec.decoding_table["141,196"] = [20877] let s:lib.Codec.decoding_table["141,197"] = [26368] let s:lib.Codec.decoding_table["141,198"] = [21705] let s:lib.Codec.decoding_table["141,199"] = [22622] let s:lib.Codec.decoding_table["141,200"] = [22971] let s:lib.Codec.decoding_table["141,201"] = [23472] let s:lib.Codec.decoding_table["141,202"] = [24425] let s:lib.Codec.decoding_table["141,203"] = [25165] let s:lib.Codec.decoding_table["141,204"] = [25505] let s:lib.Codec.decoding_table["141,205"] = [26685] let s:lib.Codec.decoding_table["141,206"] = [27507] let s:lib.Codec.decoding_table["141,207"] = [28168] let s:lib.Codec.decoding_table["141,208"] = [28797] let s:lib.Codec.decoding_table["141,209"] = [37319] let s:lib.Codec.decoding_table["141,210"] = [29312] let s:lib.Codec.decoding_table["141,211"] = [30741] let s:lib.Codec.decoding_table["141,212"] = [30758] let s:lib.Codec.decoding_table["141,213"] = [31085] let s:lib.Codec.decoding_table["141,214"] = [25998] let s:lib.Codec.decoding_table["141,215"] = [32048] let s:lib.Codec.decoding_table["141,216"] = [33756] let s:lib.Codec.decoding_table["141,217"] = [35009] let s:lib.Codec.decoding_table["141,218"] = [36617] let s:lib.Codec.decoding_table["141,219"] = [38555] let s:lib.Codec.decoding_table["141,220"] = [21092] let s:lib.Codec.decoding_table["141,221"] = [22312] let s:lib.Codec.decoding_table["141,222"] = [26448] let s:lib.Codec.decoding_table["141,223"] = [32618] let s:lib.Codec.decoding_table["141,224"] = [36001] let s:lib.Codec.decoding_table["141,225"] = [20916] let s:lib.Codec.decoding_table["141,226"] = [22338] let s:lib.Codec.decoding_table["141,227"] = [38442] let s:lib.Codec.decoding_table["141,228"] = [22586] let s:lib.Codec.decoding_table["141,229"] = [27018] let s:lib.Codec.decoding_table["141,230"] = [32948] let s:lib.Codec.decoding_table["141,231"] = [21682] let s:lib.Codec.decoding_table["141,232"] = [23822] let s:lib.Codec.decoding_table["141,233"] = [22524] let s:lib.Codec.decoding_table["141,234"] = [30869] let s:lib.Codec.decoding_table["141,235"] = [40442] let s:lib.Codec.decoding_table["141,236"] = [20316] let s:lib.Codec.decoding_table["141,237"] = [21066] let s:lib.Codec.decoding_table["141,238"] = [21643] let s:lib.Codec.decoding_table["141,239"] = [25662] let s:lib.Codec.decoding_table["141,240"] = [26152] let s:lib.Codec.decoding_table["141,241"] = [26388] let s:lib.Codec.decoding_table["141,242"] = [26613] let s:lib.Codec.decoding_table["141,243"] = [31364] let s:lib.Codec.decoding_table["141,244"] = [31574] let s:lib.Codec.decoding_table["141,245"] = [32034] let s:lib.Codec.decoding_table["141,246"] = [37679] let s:lib.Codec.decoding_table["141,247"] = [26716] let s:lib.Codec.decoding_table["141,248"] = [39853] let s:lib.Codec.decoding_table["141,249"] = [31545] let s:lib.Codec.decoding_table["141,250"] = [21273] let s:lib.Codec.decoding_table["141,251"] = [20874] let s:lib.Codec.decoding_table["141,252"] = [21047] let s:lib.Codec.decoding_table["142,64"] = [23519] let s:lib.Codec.decoding_table["142,65"] = [25334] let s:lib.Codec.decoding_table["142,66"] = [25774] let s:lib.Codec.decoding_table["142,67"] = [25830] let s:lib.Codec.decoding_table["142,68"] = [26413] let s:lib.Codec.decoding_table["142,69"] = [27578] let s:lib.Codec.decoding_table["142,70"] = [34217] let s:lib.Codec.decoding_table["142,71"] = [38609] let s:lib.Codec.decoding_table["142,72"] = [30352] let s:lib.Codec.decoding_table["142,73"] = [39894] let s:lib.Codec.decoding_table["142,74"] = [25420] let s:lib.Codec.decoding_table["142,75"] = [37638] let s:lib.Codec.decoding_table["142,76"] = [39851] let s:lib.Codec.decoding_table["142,77"] = [30399] let s:lib.Codec.decoding_table["142,78"] = [26194] let s:lib.Codec.decoding_table["142,79"] = [19977] let s:lib.Codec.decoding_table["142,80"] = [20632] let s:lib.Codec.decoding_table["142,81"] = [21442] let s:lib.Codec.decoding_table["142,82"] = [23665] let s:lib.Codec.decoding_table["142,83"] = [24808] let s:lib.Codec.decoding_table["142,84"] = [25746] let s:lib.Codec.decoding_table["142,85"] = [25955] let s:lib.Codec.decoding_table["142,86"] = [26719] let s:lib.Codec.decoding_table["142,87"] = [29158] let s:lib.Codec.decoding_table["142,88"] = [29642] let s:lib.Codec.decoding_table["142,89"] = [29987] let s:lib.Codec.decoding_table["142,90"] = [31639] let s:lib.Codec.decoding_table["142,91"] = [32386] let s:lib.Codec.decoding_table["142,92"] = [34453] let s:lib.Codec.decoding_table["142,93"] = [35715] let s:lib.Codec.decoding_table["142,94"] = [36059] let s:lib.Codec.decoding_table["142,95"] = [37240] let s:lib.Codec.decoding_table["142,96"] = [39184] let s:lib.Codec.decoding_table["142,97"] = [26028] let s:lib.Codec.decoding_table["142,98"] = [26283] let s:lib.Codec.decoding_table["142,99"] = [27531] let s:lib.Codec.decoding_table["142,100"] = [20181] let s:lib.Codec.decoding_table["142,101"] = [20180] let s:lib.Codec.decoding_table["142,102"] = [20282] let s:lib.Codec.decoding_table["142,103"] = [20351] let s:lib.Codec.decoding_table["142,104"] = [21050] let s:lib.Codec.decoding_table["142,105"] = [21496] let s:lib.Codec.decoding_table["142,106"] = [21490] let s:lib.Codec.decoding_table["142,107"] = [21987] let s:lib.Codec.decoding_table["142,108"] = [22235] let s:lib.Codec.decoding_table["142,109"] = [22763] let s:lib.Codec.decoding_table["142,110"] = [22987] let s:lib.Codec.decoding_table["142,111"] = [22985] let s:lib.Codec.decoding_table["142,112"] = [23039] let s:lib.Codec.decoding_table["142,113"] = [23376] let s:lib.Codec.decoding_table["142,114"] = [23629] let s:lib.Codec.decoding_table["142,115"] = [24066] let s:lib.Codec.decoding_table["142,116"] = [24107] let s:lib.Codec.decoding_table["142,117"] = [24535] let s:lib.Codec.decoding_table["142,118"] = [24605] let s:lib.Codec.decoding_table["142,119"] = [25351] let s:lib.Codec.decoding_table["142,120"] = [25903] let s:lib.Codec.decoding_table["142,121"] = [23388] let s:lib.Codec.decoding_table["142,122"] = [26031] let s:lib.Codec.decoding_table["142,123"] = [26045] let s:lib.Codec.decoding_table["142,124"] = [26088] let s:lib.Codec.decoding_table["142,125"] = [26525] let s:lib.Codec.decoding_table["142,126"] = [27490] let s:lib.Codec.decoding_table["142,128"] = [27515] let s:lib.Codec.decoding_table["142,129"] = [27663] let s:lib.Codec.decoding_table["142,130"] = [29509] let s:lib.Codec.decoding_table["142,131"] = [31049] let s:lib.Codec.decoding_table["142,132"] = [31169] let s:lib.Codec.decoding_table["142,133"] = [31992] let s:lib.Codec.decoding_table["142,134"] = [32025] let s:lib.Codec.decoding_table["142,135"] = [32043] let s:lib.Codec.decoding_table["142,136"] = [32930] let s:lib.Codec.decoding_table["142,137"] = [33026] let s:lib.Codec.decoding_table["142,138"] = [33267] let s:lib.Codec.decoding_table["142,139"] = [35222] let s:lib.Codec.decoding_table["142,140"] = [35422] let s:lib.Codec.decoding_table["142,141"] = [35433] let s:lib.Codec.decoding_table["142,142"] = [35430] let s:lib.Codec.decoding_table["142,143"] = [35468] let s:lib.Codec.decoding_table["142,144"] = [35566] let s:lib.Codec.decoding_table["142,145"] = [36039] let s:lib.Codec.decoding_table["142,146"] = [36060] let s:lib.Codec.decoding_table["142,147"] = [38604] let s:lib.Codec.decoding_table["142,148"] = [39164] let s:lib.Codec.decoding_table["142,149"] = [27503] let s:lib.Codec.decoding_table["142,150"] = [20107] let s:lib.Codec.decoding_table["142,151"] = [20284] let s:lib.Codec.decoding_table["142,152"] = [20365] let s:lib.Codec.decoding_table["142,153"] = [20816] let s:lib.Codec.decoding_table["142,154"] = [23383] let s:lib.Codec.decoding_table["142,155"] = [23546] let s:lib.Codec.decoding_table["142,156"] = [24904] let s:lib.Codec.decoding_table["142,157"] = [25345] let s:lib.Codec.decoding_table["142,158"] = [26178] let s:lib.Codec.decoding_table["142,159"] = [27425] let s:lib.Codec.decoding_table["142,160"] = [28363] let s:lib.Codec.decoding_table["142,161"] = [27835] let s:lib.Codec.decoding_table["142,162"] = [29246] let s:lib.Codec.decoding_table["142,163"] = [29885] let s:lib.Codec.decoding_table["142,164"] = [30164] let s:lib.Codec.decoding_table["142,165"] = [30913] let s:lib.Codec.decoding_table["142,166"] = [31034] let s:lib.Codec.decoding_table["142,167"] = [32780] let s:lib.Codec.decoding_table["142,168"] = [32819] let s:lib.Codec.decoding_table["142,169"] = [33258] let s:lib.Codec.decoding_table["142,170"] = [33940] let s:lib.Codec.decoding_table["142,171"] = [36766] let s:lib.Codec.decoding_table["142,172"] = [27728] let s:lib.Codec.decoding_table["142,173"] = [40575] let s:lib.Codec.decoding_table["142,174"] = [24335] let s:lib.Codec.decoding_table["142,175"] = [35672] let s:lib.Codec.decoding_table["142,176"] = [40235] let s:lib.Codec.decoding_table["142,177"] = [31482] let s:lib.Codec.decoding_table["142,178"] = [36600] let s:lib.Codec.decoding_table["142,179"] = [23437] let s:lib.Codec.decoding_table["142,180"] = [38635] let s:lib.Codec.decoding_table["142,181"] = [19971] let s:lib.Codec.decoding_table["142,182"] = [21489] let s:lib.Codec.decoding_table["142,183"] = [22519] let s:lib.Codec.decoding_table["142,184"] = [22833] let s:lib.Codec.decoding_table["142,185"] = [23241] let s:lib.Codec.decoding_table["142,186"] = [23460] let s:lib.Codec.decoding_table["142,187"] = [24713] let s:lib.Codec.decoding_table["142,188"] = [28287] let s:lib.Codec.decoding_table["142,189"] = [28422] let s:lib.Codec.decoding_table["142,190"] = [30142] let s:lib.Codec.decoding_table["142,191"] = [36074] let s:lib.Codec.decoding_table["142,192"] = [23455] let s:lib.Codec.decoding_table["142,193"] = [34048] let s:lib.Codec.decoding_table["142,194"] = [31712] let s:lib.Codec.decoding_table["142,195"] = [20594] let s:lib.Codec.decoding_table["142,196"] = [26612] let s:lib.Codec.decoding_table["142,197"] = [33437] let s:lib.Codec.decoding_table["142,198"] = [23649] let s:lib.Codec.decoding_table["142,199"] = [34122] let s:lib.Codec.decoding_table["142,200"] = [32286] let s:lib.Codec.decoding_table["142,201"] = [33294] let s:lib.Codec.decoding_table["142,202"] = [20889] let s:lib.Codec.decoding_table["142,203"] = [23556] let s:lib.Codec.decoding_table["142,204"] = [25448] let s:lib.Codec.decoding_table["142,205"] = [36198] let s:lib.Codec.decoding_table["142,206"] = [26012] let s:lib.Codec.decoding_table["142,207"] = [29038] let s:lib.Codec.decoding_table["142,208"] = [31038] let s:lib.Codec.decoding_table["142,209"] = [32023] let s:lib.Codec.decoding_table["142,210"] = [32773] let s:lib.Codec.decoding_table["142,211"] = [35613] let s:lib.Codec.decoding_table["142,212"] = [36554] let s:lib.Codec.decoding_table["142,213"] = [36974] let s:lib.Codec.decoding_table["142,214"] = [34503] let s:lib.Codec.decoding_table["142,215"] = [37034] let s:lib.Codec.decoding_table["142,216"] = [20511] let s:lib.Codec.decoding_table["142,217"] = [21242] let s:lib.Codec.decoding_table["142,218"] = [23610] let s:lib.Codec.decoding_table["142,219"] = [26451] let s:lib.Codec.decoding_table["142,220"] = [28796] let s:lib.Codec.decoding_table["142,221"] = [29237] let s:lib.Codec.decoding_table["142,222"] = [37196] let s:lib.Codec.decoding_table["142,223"] = [37320] let s:lib.Codec.decoding_table["142,224"] = [37675] let s:lib.Codec.decoding_table["142,225"] = [33509] let s:lib.Codec.decoding_table["142,226"] = [23490] let s:lib.Codec.decoding_table["142,227"] = [24369] let s:lib.Codec.decoding_table["142,228"] = [24825] let s:lib.Codec.decoding_table["142,229"] = [20027] let s:lib.Codec.decoding_table["142,230"] = [21462] let s:lib.Codec.decoding_table["142,231"] = [23432] let s:lib.Codec.decoding_table["142,232"] = [25163] let s:lib.Codec.decoding_table["142,233"] = [26417] let s:lib.Codec.decoding_table["142,234"] = [27530] let s:lib.Codec.decoding_table["142,235"] = [29417] let s:lib.Codec.decoding_table["142,236"] = [29664] let s:lib.Codec.decoding_table["142,237"] = [31278] let s:lib.Codec.decoding_table["142,238"] = [33131] let s:lib.Codec.decoding_table["142,239"] = [36259] let s:lib.Codec.decoding_table["142,240"] = [37202] let s:lib.Codec.decoding_table["142,241"] = [39318] let s:lib.Codec.decoding_table["142,242"] = [20754] let s:lib.Codec.decoding_table["142,243"] = [21463] let s:lib.Codec.decoding_table["142,244"] = [21610] let s:lib.Codec.decoding_table["142,245"] = [23551] let s:lib.Codec.decoding_table["142,246"] = [25480] let s:lib.Codec.decoding_table["142,247"] = [27193] let s:lib.Codec.decoding_table["142,248"] = [32172] let s:lib.Codec.decoding_table["142,249"] = [38656] let s:lib.Codec.decoding_table["142,250"] = [22234] let s:lib.Codec.decoding_table["142,251"] = [21454] let s:lib.Codec.decoding_table["142,252"] = [21608] let s:lib.Codec.decoding_table["143,64"] = [23447] let s:lib.Codec.decoding_table["143,65"] = [23601] let s:lib.Codec.decoding_table["143,66"] = [24030] let s:lib.Codec.decoding_table["143,67"] = [20462] let s:lib.Codec.decoding_table["143,68"] = [24833] let s:lib.Codec.decoding_table["143,69"] = [25342] let s:lib.Codec.decoding_table["143,70"] = [27954] let s:lib.Codec.decoding_table["143,71"] = [31168] let s:lib.Codec.decoding_table["143,72"] = [31179] let s:lib.Codec.decoding_table["143,73"] = [32066] let s:lib.Codec.decoding_table["143,74"] = [32333] let s:lib.Codec.decoding_table["143,75"] = [32722] let s:lib.Codec.decoding_table["143,76"] = [33261] let s:lib.Codec.decoding_table["143,77"] = [33311] let s:lib.Codec.decoding_table["143,78"] = [33936] let s:lib.Codec.decoding_table["143,79"] = [34886] let s:lib.Codec.decoding_table["143,80"] = [35186] let s:lib.Codec.decoding_table["143,81"] = [35728] let s:lib.Codec.decoding_table["143,82"] = [36468] let s:lib.Codec.decoding_table["143,83"] = [36655] let s:lib.Codec.decoding_table["143,84"] = [36913] let s:lib.Codec.decoding_table["143,85"] = [37195] let s:lib.Codec.decoding_table["143,86"] = [37228] let s:lib.Codec.decoding_table["143,87"] = [38598] let s:lib.Codec.decoding_table["143,88"] = [37276] let s:lib.Codec.decoding_table["143,89"] = [20160] let s:lib.Codec.decoding_table["143,90"] = [20303] let s:lib.Codec.decoding_table["143,91"] = [20805] let s:lib.Codec.decoding_table["143,92"] = [21313] let s:lib.Codec.decoding_table["143,93"] = [24467] let s:lib.Codec.decoding_table["143,94"] = [25102] let s:lib.Codec.decoding_table["143,95"] = [26580] let s:lib.Codec.decoding_table["143,96"] = [27713] let s:lib.Codec.decoding_table["143,97"] = [28171] let s:lib.Codec.decoding_table["143,98"] = [29539] let s:lib.Codec.decoding_table["143,99"] = [32294] let s:lib.Codec.decoding_table["143,100"] = [37325] let s:lib.Codec.decoding_table["143,101"] = [37507] let s:lib.Codec.decoding_table["143,102"] = [21460] let s:lib.Codec.decoding_table["143,103"] = [22809] let s:lib.Codec.decoding_table["143,104"] = [23487] let s:lib.Codec.decoding_table["143,105"] = [28113] let s:lib.Codec.decoding_table["143,106"] = [31069] let s:lib.Codec.decoding_table["143,107"] = [32302] let s:lib.Codec.decoding_table["143,108"] = [31899] let s:lib.Codec.decoding_table["143,109"] = [22654] let s:lib.Codec.decoding_table["143,110"] = [29087] let s:lib.Codec.decoding_table["143,111"] = [20986] let s:lib.Codec.decoding_table["143,112"] = [34899] let s:lib.Codec.decoding_table["143,113"] = [36848] let s:lib.Codec.decoding_table["143,114"] = [20426] let s:lib.Codec.decoding_table["143,115"] = [23803] let s:lib.Codec.decoding_table["143,116"] = [26149] let s:lib.Codec.decoding_table["143,117"] = [30636] let s:lib.Codec.decoding_table["143,118"] = [31459] let s:lib.Codec.decoding_table["143,119"] = [33308] let s:lib.Codec.decoding_table["143,120"] = [39423] let s:lib.Codec.decoding_table["143,121"] = [20934] let s:lib.Codec.decoding_table["143,122"] = [24490] let s:lib.Codec.decoding_table["143,123"] = [26092] let s:lib.Codec.decoding_table["143,124"] = [26991] let s:lib.Codec.decoding_table["143,125"] = [27529] let s:lib.Codec.decoding_table["143,126"] = [28147] let s:lib.Codec.decoding_table["143,128"] = [28310] let s:lib.Codec.decoding_table["143,129"] = [28516] let s:lib.Codec.decoding_table["143,130"] = [30462] let s:lib.Codec.decoding_table["143,131"] = [32020] let s:lib.Codec.decoding_table["143,132"] = [24033] let s:lib.Codec.decoding_table["143,133"] = [36981] let s:lib.Codec.decoding_table["143,134"] = [37255] let s:lib.Codec.decoding_table["143,135"] = [38918] let s:lib.Codec.decoding_table["143,136"] = [20966] let s:lib.Codec.decoding_table["143,137"] = [21021] let s:lib.Codec.decoding_table["143,138"] = [25152] let s:lib.Codec.decoding_table["143,139"] = [26257] let s:lib.Codec.decoding_table["143,140"] = [26329] let s:lib.Codec.decoding_table["143,141"] = [28186] let s:lib.Codec.decoding_table["143,142"] = [24246] let s:lib.Codec.decoding_table["143,143"] = [32210] let s:lib.Codec.decoding_table["143,144"] = [32626] let s:lib.Codec.decoding_table["143,145"] = [26360] let s:lib.Codec.decoding_table["143,146"] = [34223] let s:lib.Codec.decoding_table["143,147"] = [34295] let s:lib.Codec.decoding_table["143,148"] = [35576] let s:lib.Codec.decoding_table["143,149"] = [21161] let s:lib.Codec.decoding_table["143,150"] = [21465] let s:lib.Codec.decoding_table["143,151"] = [22899] let s:lib.Codec.decoding_table["143,152"] = [24207] let s:lib.Codec.decoding_table["143,153"] = [24464] let s:lib.Codec.decoding_table["143,154"] = [24661] let s:lib.Codec.decoding_table["143,155"] = [37604] let s:lib.Codec.decoding_table["143,156"] = [38500] let s:lib.Codec.decoding_table["143,157"] = [20663] let s:lib.Codec.decoding_table["143,158"] = [20767] let s:lib.Codec.decoding_table["143,159"] = [21213] let s:lib.Codec.decoding_table["143,160"] = [21280] let s:lib.Codec.decoding_table["143,161"] = [21319] let s:lib.Codec.decoding_table["143,162"] = [21484] let s:lib.Codec.decoding_table["143,163"] = [21736] let s:lib.Codec.decoding_table["143,164"] = [21830] let s:lib.Codec.decoding_table["143,165"] = [21809] let s:lib.Codec.decoding_table["143,166"] = [22039] let s:lib.Codec.decoding_table["143,167"] = [22888] let s:lib.Codec.decoding_table["143,168"] = [22974] let s:lib.Codec.decoding_table["143,169"] = [23100] let s:lib.Codec.decoding_table["143,170"] = [23477] let s:lib.Codec.decoding_table["143,171"] = [23558] let s:lib.Codec.decoding_table["143,172"] = [23567] let s:lib.Codec.decoding_table["143,173"] = [23569] let s:lib.Codec.decoding_table["143,174"] = [23578] let s:lib.Codec.decoding_table["143,175"] = [24196] let s:lib.Codec.decoding_table["143,176"] = [24202] let s:lib.Codec.decoding_table["143,177"] = [24288] let s:lib.Codec.decoding_table["143,178"] = [24432] let s:lib.Codec.decoding_table["143,179"] = [25215] let s:lib.Codec.decoding_table["143,180"] = [25220] let s:lib.Codec.decoding_table["143,181"] = [25307] let s:lib.Codec.decoding_table["143,182"] = [25484] let s:lib.Codec.decoding_table["143,183"] = [25463] let s:lib.Codec.decoding_table["143,184"] = [26119] let s:lib.Codec.decoding_table["143,185"] = [26124] let s:lib.Codec.decoding_table["143,186"] = [26157] let s:lib.Codec.decoding_table["143,187"] = [26230] let s:lib.Codec.decoding_table["143,188"] = [26494] let s:lib.Codec.decoding_table["143,189"] = [26786] let s:lib.Codec.decoding_table["143,190"] = [27167] let s:lib.Codec.decoding_table["143,191"] = [27189] let s:lib.Codec.decoding_table["143,192"] = [27836] let s:lib.Codec.decoding_table["143,193"] = [28040] let s:lib.Codec.decoding_table["143,194"] = [28169] let s:lib.Codec.decoding_table["143,195"] = [28248] let s:lib.Codec.decoding_table["143,196"] = [28988] let s:lib.Codec.decoding_table["143,197"] = [28966] let s:lib.Codec.decoding_table["143,198"] = [29031] let s:lib.Codec.decoding_table["143,199"] = [30151] let s:lib.Codec.decoding_table["143,200"] = [30465] let s:lib.Codec.decoding_table["143,201"] = [30813] let s:lib.Codec.decoding_table["143,202"] = [30977] let s:lib.Codec.decoding_table["143,203"] = [31077] let s:lib.Codec.decoding_table["143,204"] = [31216] let s:lib.Codec.decoding_table["143,205"] = [31456] let s:lib.Codec.decoding_table["143,206"] = [31505] let s:lib.Codec.decoding_table["143,207"] = [31911] let s:lib.Codec.decoding_table["143,208"] = [32057] let s:lib.Codec.decoding_table["143,209"] = [32918] let s:lib.Codec.decoding_table["143,210"] = [33750] let s:lib.Codec.decoding_table["143,211"] = [33931] let s:lib.Codec.decoding_table["143,212"] = [34121] let s:lib.Codec.decoding_table["143,213"] = [34909] let s:lib.Codec.decoding_table["143,214"] = [35059] let s:lib.Codec.decoding_table["143,215"] = [35359] let s:lib.Codec.decoding_table["143,216"] = [35388] let s:lib.Codec.decoding_table["143,217"] = [35412] let s:lib.Codec.decoding_table["143,218"] = [35443] let s:lib.Codec.decoding_table["143,219"] = [35937] let s:lib.Codec.decoding_table["143,220"] = [36062] let s:lib.Codec.decoding_table["143,221"] = [37284] let s:lib.Codec.decoding_table["143,222"] = [37478] let s:lib.Codec.decoding_table["143,223"] = [37758] let s:lib.Codec.decoding_table["143,224"] = [37912] let s:lib.Codec.decoding_table["143,225"] = [38556] let s:lib.Codec.decoding_table["143,226"] = [38808] let s:lib.Codec.decoding_table["143,227"] = [19978] let s:lib.Codec.decoding_table["143,228"] = [19976] let s:lib.Codec.decoding_table["143,229"] = [19998] let s:lib.Codec.decoding_table["143,230"] = [20055] let s:lib.Codec.decoding_table["143,231"] = [20887] let s:lib.Codec.decoding_table["143,232"] = [21104] let s:lib.Codec.decoding_table["143,233"] = [22478] let s:lib.Codec.decoding_table["143,234"] = [22580] let s:lib.Codec.decoding_table["143,235"] = [22732] let s:lib.Codec.decoding_table["143,236"] = [23330] let s:lib.Codec.decoding_table["143,237"] = [24120] let s:lib.Codec.decoding_table["143,238"] = [24773] let s:lib.Codec.decoding_table["143,239"] = [25854] let s:lib.Codec.decoding_table["143,240"] = [26465] let s:lib.Codec.decoding_table["143,241"] = [26454] let s:lib.Codec.decoding_table["143,242"] = [27972] let s:lib.Codec.decoding_table["143,243"] = [29366] let s:lib.Codec.decoding_table["143,244"] = [30067] let s:lib.Codec.decoding_table["143,245"] = [31331] let s:lib.Codec.decoding_table["143,246"] = [33976] let s:lib.Codec.decoding_table["143,247"] = [35698] let s:lib.Codec.decoding_table["143,248"] = [37304] let s:lib.Codec.decoding_table["143,249"] = [37664] let s:lib.Codec.decoding_table["143,250"] = [22065] let s:lib.Codec.decoding_table["143,251"] = [22516] let s:lib.Codec.decoding_table["143,252"] = [39166] let s:lib.Codec.decoding_table["144,64"] = [25325] let s:lib.Codec.decoding_table["144,65"] = [26893] let s:lib.Codec.decoding_table["144,66"] = [27542] let s:lib.Codec.decoding_table["144,67"] = [29165] let s:lib.Codec.decoding_table["144,68"] = [32340] let s:lib.Codec.decoding_table["144,69"] = [32887] let s:lib.Codec.decoding_table["144,70"] = [33394] let s:lib.Codec.decoding_table["144,71"] = [35302] let s:lib.Codec.decoding_table["144,72"] = [39135] let s:lib.Codec.decoding_table["144,73"] = [34645] let s:lib.Codec.decoding_table["144,74"] = [36785] let s:lib.Codec.decoding_table["144,75"] = [23611] let s:lib.Codec.decoding_table["144,76"] = [20280] let s:lib.Codec.decoding_table["144,77"] = [20449] let s:lib.Codec.decoding_table["144,78"] = [20405] let s:lib.Codec.decoding_table["144,79"] = [21767] let s:lib.Codec.decoding_table["144,80"] = [23072] let s:lib.Codec.decoding_table["144,81"] = [23517] let s:lib.Codec.decoding_table["144,82"] = [23529] let s:lib.Codec.decoding_table["144,83"] = [24515] let s:lib.Codec.decoding_table["144,84"] = [24910] let s:lib.Codec.decoding_table["144,85"] = [25391] let s:lib.Codec.decoding_table["144,86"] = [26032] let s:lib.Codec.decoding_table["144,87"] = [26187] let s:lib.Codec.decoding_table["144,88"] = [26862] let s:lib.Codec.decoding_table["144,89"] = [27035] let s:lib.Codec.decoding_table["144,90"] = [28024] let s:lib.Codec.decoding_table["144,91"] = [28145] let s:lib.Codec.decoding_table["144,92"] = [30003] let s:lib.Codec.decoding_table["144,93"] = [30137] let s:lib.Codec.decoding_table["144,94"] = [30495] let s:lib.Codec.decoding_table["144,95"] = [31070] let s:lib.Codec.decoding_table["144,96"] = [31206] let s:lib.Codec.decoding_table["144,97"] = [32051] let s:lib.Codec.decoding_table["144,98"] = [33251] let s:lib.Codec.decoding_table["144,99"] = [33455] let s:lib.Codec.decoding_table["144,100"] = [34218] let s:lib.Codec.decoding_table["144,101"] = [35242] let s:lib.Codec.decoding_table["144,102"] = [35386] let s:lib.Codec.decoding_table["144,103"] = [36523] let s:lib.Codec.decoding_table["144,104"] = [36763] let s:lib.Codec.decoding_table["144,105"] = [36914] let s:lib.Codec.decoding_table["144,106"] = [37341] let s:lib.Codec.decoding_table["144,107"] = [38663] let s:lib.Codec.decoding_table["144,108"] = [20154] let s:lib.Codec.decoding_table["144,109"] = [20161] let s:lib.Codec.decoding_table["144,110"] = [20995] let s:lib.Codec.decoding_table["144,111"] = [22645] let s:lib.Codec.decoding_table["144,112"] = [22764] let s:lib.Codec.decoding_table["144,113"] = [23563] let s:lib.Codec.decoding_table["144,114"] = [29978] let s:lib.Codec.decoding_table["144,115"] = [23613] let s:lib.Codec.decoding_table["144,116"] = [33102] let s:lib.Codec.decoding_table["144,117"] = [35338] let s:lib.Codec.decoding_table["144,118"] = [36805] let s:lib.Codec.decoding_table["144,119"] = [38499] let s:lib.Codec.decoding_table["144,120"] = [38765] let s:lib.Codec.decoding_table["144,121"] = [31525] let s:lib.Codec.decoding_table["144,122"] = [35535] let s:lib.Codec.decoding_table["144,123"] = [38920] let s:lib.Codec.decoding_table["144,124"] = [37218] let s:lib.Codec.decoding_table["144,125"] = [22259] let s:lib.Codec.decoding_table["144,126"] = [21416] let s:lib.Codec.decoding_table["144,128"] = [36887] let s:lib.Codec.decoding_table["144,129"] = [21561] let s:lib.Codec.decoding_table["144,130"] = [22402] let s:lib.Codec.decoding_table["144,131"] = [24101] let s:lib.Codec.decoding_table["144,132"] = [25512] let s:lib.Codec.decoding_table["144,133"] = [27700] let s:lib.Codec.decoding_table["144,134"] = [28810] let s:lib.Codec.decoding_table["144,135"] = [30561] let s:lib.Codec.decoding_table["144,136"] = [31883] let s:lib.Codec.decoding_table["144,137"] = [32736] let s:lib.Codec.decoding_table["144,138"] = [34928] let s:lib.Codec.decoding_table["144,139"] = [36930] let s:lib.Codec.decoding_table["144,140"] = [37204] let s:lib.Codec.decoding_table["144,141"] = [37648] let s:lib.Codec.decoding_table["144,142"] = [37656] let s:lib.Codec.decoding_table["144,143"] = [38543] let s:lib.Codec.decoding_table["144,144"] = [29790] let s:lib.Codec.decoding_table["144,145"] = [39620] let s:lib.Codec.decoding_table["144,146"] = [23815] let s:lib.Codec.decoding_table["144,147"] = [23913] let s:lib.Codec.decoding_table["144,148"] = [25968] let s:lib.Codec.decoding_table["144,149"] = [26530] let s:lib.Codec.decoding_table["144,150"] = [36264] let s:lib.Codec.decoding_table["144,151"] = [38619] let s:lib.Codec.decoding_table["144,152"] = [25454] let s:lib.Codec.decoding_table["144,153"] = [26441] let s:lib.Codec.decoding_table["144,154"] = [26905] let s:lib.Codec.decoding_table["144,155"] = [33733] let s:lib.Codec.decoding_table["144,156"] = [38935] let s:lib.Codec.decoding_table["144,157"] = [38592] let s:lib.Codec.decoding_table["144,158"] = [35070] let s:lib.Codec.decoding_table["144,159"] = [28548] let s:lib.Codec.decoding_table["144,160"] = [25722] let s:lib.Codec.decoding_table["144,161"] = [23544] let s:lib.Codec.decoding_table["144,162"] = [19990] let s:lib.Codec.decoding_table["144,163"] = [28716] let s:lib.Codec.decoding_table["144,164"] = [30045] let s:lib.Codec.decoding_table["144,165"] = [26159] let s:lib.Codec.decoding_table["144,166"] = [20932] let s:lib.Codec.decoding_table["144,167"] = [21046] let s:lib.Codec.decoding_table["144,168"] = [21218] let s:lib.Codec.decoding_table["144,169"] = [22995] let s:lib.Codec.decoding_table["144,170"] = [24449] let s:lib.Codec.decoding_table["144,171"] = [24615] let s:lib.Codec.decoding_table["144,172"] = [25104] let s:lib.Codec.decoding_table["144,173"] = [25919] let s:lib.Codec.decoding_table["144,174"] = [25972] let s:lib.Codec.decoding_table["144,175"] = [26143] let s:lib.Codec.decoding_table["144,176"] = [26228] let s:lib.Codec.decoding_table["144,177"] = [26866] let s:lib.Codec.decoding_table["144,178"] = [26646] let s:lib.Codec.decoding_table["144,179"] = [27491] let s:lib.Codec.decoding_table["144,180"] = [28165] let s:lib.Codec.decoding_table["144,181"] = [29298] let s:lib.Codec.decoding_table["144,182"] = [29983] let s:lib.Codec.decoding_table["144,183"] = [30427] let s:lib.Codec.decoding_table["144,184"] = [31934] let s:lib.Codec.decoding_table["144,185"] = [32854] let s:lib.Codec.decoding_table["144,186"] = [22768] let s:lib.Codec.decoding_table["144,187"] = [35069] let s:lib.Codec.decoding_table["144,188"] = [35199] let s:lib.Codec.decoding_table["144,189"] = [35488] let s:lib.Codec.decoding_table["144,190"] = [35475] let s:lib.Codec.decoding_table["144,191"] = [35531] let s:lib.Codec.decoding_table["144,192"] = [36893] let s:lib.Codec.decoding_table["144,193"] = [37266] let s:lib.Codec.decoding_table["144,194"] = [38738] let s:lib.Codec.decoding_table["144,195"] = [38745] let s:lib.Codec.decoding_table["144,196"] = [25993] let s:lib.Codec.decoding_table["144,197"] = [31246] let s:lib.Codec.decoding_table["144,198"] = [33030] let s:lib.Codec.decoding_table["144,199"] = [38587] let s:lib.Codec.decoding_table["144,200"] = [24109] let s:lib.Codec.decoding_table["144,201"] = [24796] let s:lib.Codec.decoding_table["144,202"] = [25114] let s:lib.Codec.decoding_table["144,203"] = [26021] let s:lib.Codec.decoding_table["144,204"] = [26132] let s:lib.Codec.decoding_table["144,205"] = [26512] let s:lib.Codec.decoding_table["144,206"] = [30707] let s:lib.Codec.decoding_table["144,207"] = [31309] let s:lib.Codec.decoding_table["144,208"] = [31821] let s:lib.Codec.decoding_table["144,209"] = [32318] let s:lib.Codec.decoding_table["144,210"] = [33034] let s:lib.Codec.decoding_table["144,211"] = [36012] let s:lib.Codec.decoding_table["144,212"] = [36196] let s:lib.Codec.decoding_table["144,213"] = [36321] let s:lib.Codec.decoding_table["144,214"] = [36447] let s:lib.Codec.decoding_table["144,215"] = [30889] let s:lib.Codec.decoding_table["144,216"] = [20999] let s:lib.Codec.decoding_table["144,217"] = [25305] let s:lib.Codec.decoding_table["144,218"] = [25509] let s:lib.Codec.decoding_table["144,219"] = [25666] let s:lib.Codec.decoding_table["144,220"] = [25240] let s:lib.Codec.decoding_table["144,221"] = [35373] let s:lib.Codec.decoding_table["144,222"] = [31363] let s:lib.Codec.decoding_table["144,223"] = [31680] let s:lib.Codec.decoding_table["144,224"] = [35500] let s:lib.Codec.decoding_table["144,225"] = [38634] let s:lib.Codec.decoding_table["144,226"] = [32118] let s:lib.Codec.decoding_table["144,227"] = [33292] let s:lib.Codec.decoding_table["144,228"] = [34633] let s:lib.Codec.decoding_table["144,229"] = [20185] let s:lib.Codec.decoding_table["144,230"] = [20808] let s:lib.Codec.decoding_table["144,231"] = [21315] let s:lib.Codec.decoding_table["144,232"] = [21344] let s:lib.Codec.decoding_table["144,233"] = [23459] let s:lib.Codec.decoding_table["144,234"] = [23554] let s:lib.Codec.decoding_table["144,235"] = [23574] let s:lib.Codec.decoding_table["144,236"] = [24029] let s:lib.Codec.decoding_table["144,237"] = [25126] let s:lib.Codec.decoding_table["144,238"] = [25159] let s:lib.Codec.decoding_table["144,239"] = [25776] let s:lib.Codec.decoding_table["144,240"] = [26643] let s:lib.Codec.decoding_table["144,241"] = [26676] let s:lib.Codec.decoding_table["144,242"] = [27849] let s:lib.Codec.decoding_table["144,243"] = [27973] let s:lib.Codec.decoding_table["144,244"] = [27927] let s:lib.Codec.decoding_table["144,245"] = [26579] let s:lib.Codec.decoding_table["144,246"] = [28508] let s:lib.Codec.decoding_table["144,247"] = [29006] let s:lib.Codec.decoding_table["144,248"] = [29053] let s:lib.Codec.decoding_table["144,249"] = [26059] let s:lib.Codec.decoding_table["144,250"] = [31359] let s:lib.Codec.decoding_table["144,251"] = [31661] let s:lib.Codec.decoding_table["144,252"] = [32218] let s:lib.Codec.decoding_table["145,64"] = [32330] let s:lib.Codec.decoding_table["145,65"] = [32680] let s:lib.Codec.decoding_table["145,66"] = [33146] let s:lib.Codec.decoding_table["145,67"] = [33307] let s:lib.Codec.decoding_table["145,68"] = [33337] let s:lib.Codec.decoding_table["145,69"] = [34214] let s:lib.Codec.decoding_table["145,70"] = [35438] let s:lib.Codec.decoding_table["145,71"] = [36046] let s:lib.Codec.decoding_table["145,72"] = [36341] let s:lib.Codec.decoding_table["145,73"] = [36984] let s:lib.Codec.decoding_table["145,74"] = [36983] let s:lib.Codec.decoding_table["145,75"] = [37549] let s:lib.Codec.decoding_table["145,76"] = [37521] let s:lib.Codec.decoding_table["145,77"] = [38275] let s:lib.Codec.decoding_table["145,78"] = [39854] let s:lib.Codec.decoding_table["145,79"] = [21069] let s:lib.Codec.decoding_table["145,80"] = [21892] let s:lib.Codec.decoding_table["145,81"] = [28472] let s:lib.Codec.decoding_table["145,82"] = [28982] let s:lib.Codec.decoding_table["145,83"] = [20840] let s:lib.Codec.decoding_table["145,84"] = [31109] let s:lib.Codec.decoding_table["145,85"] = [32341] let s:lib.Codec.decoding_table["145,86"] = [33203] let s:lib.Codec.decoding_table["145,87"] = [31950] let s:lib.Codec.decoding_table["145,88"] = [22092] let s:lib.Codec.decoding_table["145,89"] = [22609] let s:lib.Codec.decoding_table["145,90"] = [23720] let s:lib.Codec.decoding_table["145,91"] = [25514] let s:lib.Codec.decoding_table["145,92"] = [26366] let s:lib.Codec.decoding_table["145,93"] = [26365] let s:lib.Codec.decoding_table["145,94"] = [26970] let s:lib.Codec.decoding_table["145,95"] = [29401] let s:lib.Codec.decoding_table["145,96"] = [30095] let s:lib.Codec.decoding_table["145,97"] = [30094] let s:lib.Codec.decoding_table["145,98"] = [30990] let s:lib.Codec.decoding_table["145,99"] = [31062] let s:lib.Codec.decoding_table["145,100"] = [31199] let s:lib.Codec.decoding_table["145,101"] = [31895] let s:lib.Codec.decoding_table["145,102"] = [32032] let s:lib.Codec.decoding_table["145,103"] = [32068] let s:lib.Codec.decoding_table["145,104"] = [34311] let s:lib.Codec.decoding_table["145,105"] = [35380] let s:lib.Codec.decoding_table["145,106"] = [38459] let s:lib.Codec.decoding_table["145,107"] = [36961] let s:lib.Codec.decoding_table["145,108"] = [40736] let s:lib.Codec.decoding_table["145,109"] = [20711] let s:lib.Codec.decoding_table["145,110"] = [21109] let s:lib.Codec.decoding_table["145,111"] = [21452] let s:lib.Codec.decoding_table["145,112"] = [21474] let s:lib.Codec.decoding_table["145,113"] = [20489] let s:lib.Codec.decoding_table["145,114"] = [21930] let s:lib.Codec.decoding_table["145,115"] = [22766] let s:lib.Codec.decoding_table["145,116"] = [22863] let s:lib.Codec.decoding_table["145,117"] = [29245] let s:lib.Codec.decoding_table["145,118"] = [23435] let s:lib.Codec.decoding_table["145,119"] = [23652] let s:lib.Codec.decoding_table["145,120"] = [21277] let s:lib.Codec.decoding_table["145,121"] = [24803] let s:lib.Codec.decoding_table["145,122"] = [24819] let s:lib.Codec.decoding_table["145,123"] = [25436] let s:lib.Codec.decoding_table["145,124"] = [25475] let s:lib.Codec.decoding_table["145,125"] = [25407] let s:lib.Codec.decoding_table["145,126"] = [25531] let s:lib.Codec.decoding_table["145,128"] = [25805] let s:lib.Codec.decoding_table["145,129"] = [26089] let s:lib.Codec.decoding_table["145,130"] = [26361] let s:lib.Codec.decoding_table["145,131"] = [24035] let s:lib.Codec.decoding_table["145,132"] = [27085] let s:lib.Codec.decoding_table["145,133"] = [27133] let s:lib.Codec.decoding_table["145,134"] = [28437] let s:lib.Codec.decoding_table["145,135"] = [29157] let s:lib.Codec.decoding_table["145,136"] = [20105] let s:lib.Codec.decoding_table["145,137"] = [30185] let s:lib.Codec.decoding_table["145,138"] = [30456] let s:lib.Codec.decoding_table["145,139"] = [31379] let s:lib.Codec.decoding_table["145,140"] = [31967] let s:lib.Codec.decoding_table["145,141"] = [32207] let s:lib.Codec.decoding_table["145,142"] = [32156] let s:lib.Codec.decoding_table["145,143"] = [32865] let s:lib.Codec.decoding_table["145,144"] = [33609] let s:lib.Codec.decoding_table["145,145"] = [33624] let s:lib.Codec.decoding_table["145,146"] = [33900] let s:lib.Codec.decoding_table["145,147"] = [33980] let s:lib.Codec.decoding_table["145,148"] = [34299] let s:lib.Codec.decoding_table["145,149"] = [35013] let s:lib.Codec.decoding_table["145,150"] = [36208] let s:lib.Codec.decoding_table["145,151"] = [36865] let s:lib.Codec.decoding_table["145,152"] = [36973] let s:lib.Codec.decoding_table["145,153"] = [37783] let s:lib.Codec.decoding_table["145,154"] = [38684] let s:lib.Codec.decoding_table["145,155"] = [39442] let s:lib.Codec.decoding_table["145,156"] = [20687] let s:lib.Codec.decoding_table["145,157"] = [22679] let s:lib.Codec.decoding_table["145,158"] = [24974] let s:lib.Codec.decoding_table["145,159"] = [33235] let s:lib.Codec.decoding_table["145,160"] = [34101] let s:lib.Codec.decoding_table["145,161"] = [36104] let s:lib.Codec.decoding_table["145,162"] = [36896] let s:lib.Codec.decoding_table["145,163"] = [20419] let s:lib.Codec.decoding_table["145,164"] = [20596] let s:lib.Codec.decoding_table["145,165"] = [21063] let s:lib.Codec.decoding_table["145,166"] = [21363] let s:lib.Codec.decoding_table["145,167"] = [24687] let s:lib.Codec.decoding_table["145,168"] = [25417] let s:lib.Codec.decoding_table["145,169"] = [26463] let s:lib.Codec.decoding_table["145,170"] = [28204] let s:lib.Codec.decoding_table["145,171"] = [36275] let s:lib.Codec.decoding_table["145,172"] = [36895] let s:lib.Codec.decoding_table["145,173"] = [20439] let s:lib.Codec.decoding_table["145,174"] = [23646] let s:lib.Codec.decoding_table["145,175"] = [36042] let s:lib.Codec.decoding_table["145,176"] = [26063] let s:lib.Codec.decoding_table["145,177"] = [32154] let s:lib.Codec.decoding_table["145,178"] = [21330] let s:lib.Codec.decoding_table["145,179"] = [34966] let s:lib.Codec.decoding_table["145,180"] = [20854] let s:lib.Codec.decoding_table["145,181"] = [25539] let s:lib.Codec.decoding_table["145,182"] = [23384] let s:lib.Codec.decoding_table["145,183"] = [23403] let s:lib.Codec.decoding_table["145,184"] = [23562] let s:lib.Codec.decoding_table["145,185"] = [25613] let s:lib.Codec.decoding_table["145,186"] = [26449] let s:lib.Codec.decoding_table["145,187"] = [36956] let s:lib.Codec.decoding_table["145,188"] = [20182] let s:lib.Codec.decoding_table["145,189"] = [22810] let s:lib.Codec.decoding_table["145,190"] = [22826] let s:lib.Codec.decoding_table["145,191"] = [27760] let s:lib.Codec.decoding_table["145,192"] = [35409] let s:lib.Codec.decoding_table["145,193"] = [21822] let s:lib.Codec.decoding_table["145,194"] = [22549] let s:lib.Codec.decoding_table["145,195"] = [22949] let s:lib.Codec.decoding_table["145,196"] = [24816] let s:lib.Codec.decoding_table["145,197"] = [25171] let s:lib.Codec.decoding_table["145,198"] = [26561] let s:lib.Codec.decoding_table["145,199"] = [33333] let s:lib.Codec.decoding_table["145,200"] = [26965] let s:lib.Codec.decoding_table["145,201"] = [38464] let s:lib.Codec.decoding_table["145,202"] = [39364] let s:lib.Codec.decoding_table["145,203"] = [39464] let s:lib.Codec.decoding_table["145,204"] = [20307] let s:lib.Codec.decoding_table["145,205"] = [22534] let s:lib.Codec.decoding_table["145,206"] = [23550] let s:lib.Codec.decoding_table["145,207"] = [32784] let s:lib.Codec.decoding_table["145,208"] = [23729] let s:lib.Codec.decoding_table["145,209"] = [24111] let s:lib.Codec.decoding_table["145,210"] = [24453] let s:lib.Codec.decoding_table["145,211"] = [24608] let s:lib.Codec.decoding_table["145,212"] = [24907] let s:lib.Codec.decoding_table["145,213"] = [25140] let s:lib.Codec.decoding_table["145,214"] = [26367] let s:lib.Codec.decoding_table["145,215"] = [27888] let s:lib.Codec.decoding_table["145,216"] = [28382] let s:lib.Codec.decoding_table["145,217"] = [32974] let s:lib.Codec.decoding_table["145,218"] = [33151] let s:lib.Codec.decoding_table["145,219"] = [33492] let s:lib.Codec.decoding_table["145,220"] = [34955] let s:lib.Codec.decoding_table["145,221"] = [36024] let s:lib.Codec.decoding_table["145,222"] = [36864] let s:lib.Codec.decoding_table["145,223"] = [36910] let s:lib.Codec.decoding_table["145,224"] = [38538] let s:lib.Codec.decoding_table["145,225"] = [40667] let s:lib.Codec.decoding_table["145,226"] = [39899] let s:lib.Codec.decoding_table["145,227"] = [20195] let s:lib.Codec.decoding_table["145,228"] = [21488] let s:lib.Codec.decoding_table["145,229"] = [22823] let s:lib.Codec.decoding_table["145,230"] = [31532] let s:lib.Codec.decoding_table["145,231"] = [37261] let s:lib.Codec.decoding_table["145,232"] = [38988] let s:lib.Codec.decoding_table["145,233"] = [40441] let s:lib.Codec.decoding_table["145,234"] = [28381] let s:lib.Codec.decoding_table["145,235"] = [28711] let s:lib.Codec.decoding_table["145,236"] = [21331] let s:lib.Codec.decoding_table["145,237"] = [21828] let s:lib.Codec.decoding_table["145,238"] = [23429] let s:lib.Codec.decoding_table["145,239"] = [25176] let s:lib.Codec.decoding_table["145,240"] = [25246] let s:lib.Codec.decoding_table["145,241"] = [25299] let s:lib.Codec.decoding_table["145,242"] = [27810] let s:lib.Codec.decoding_table["145,243"] = [28655] let s:lib.Codec.decoding_table["145,244"] = [29730] let s:lib.Codec.decoding_table["145,245"] = [35351] let s:lib.Codec.decoding_table["145,246"] = [37944] let s:lib.Codec.decoding_table["145,247"] = [28609] let s:lib.Codec.decoding_table["145,248"] = [35582] let s:lib.Codec.decoding_table["145,249"] = [33592] let s:lib.Codec.decoding_table["145,250"] = [20967] let s:lib.Codec.decoding_table["145,251"] = [34552] let s:lib.Codec.decoding_table["145,252"] = [21482] let s:lib.Codec.decoding_table["146,64"] = [21481] let s:lib.Codec.decoding_table["146,65"] = [20294] let s:lib.Codec.decoding_table["146,66"] = [36948] let s:lib.Codec.decoding_table["146,67"] = [36784] let s:lib.Codec.decoding_table["146,68"] = [22890] let s:lib.Codec.decoding_table["146,69"] = [33073] let s:lib.Codec.decoding_table["146,70"] = [24061] let s:lib.Codec.decoding_table["146,71"] = [31466] let s:lib.Codec.decoding_table["146,72"] = [36799] let s:lib.Codec.decoding_table["146,73"] = [26842] let s:lib.Codec.decoding_table["146,74"] = [35895] let s:lib.Codec.decoding_table["146,75"] = [29432] let s:lib.Codec.decoding_table["146,76"] = [40008] let s:lib.Codec.decoding_table["146,77"] = [27197] let s:lib.Codec.decoding_table["146,78"] = [35504] let s:lib.Codec.decoding_table["146,79"] = [20025] let s:lib.Codec.decoding_table["146,80"] = [21336] let s:lib.Codec.decoding_table["146,81"] = [22022] let s:lib.Codec.decoding_table["146,82"] = [22374] let s:lib.Codec.decoding_table["146,83"] = [25285] let s:lib.Codec.decoding_table["146,84"] = [25506] let s:lib.Codec.decoding_table["146,85"] = [26086] let s:lib.Codec.decoding_table["146,86"] = [27470] let s:lib.Codec.decoding_table["146,87"] = [28129] let s:lib.Codec.decoding_table["146,88"] = [28251] let s:lib.Codec.decoding_table["146,89"] = [28845] let s:lib.Codec.decoding_table["146,90"] = [30701] let s:lib.Codec.decoding_table["146,91"] = [31471] let s:lib.Codec.decoding_table["146,92"] = [31658] let s:lib.Codec.decoding_table["146,93"] = [32187] let s:lib.Codec.decoding_table["146,94"] = [32829] let s:lib.Codec.decoding_table["146,95"] = [32966] let s:lib.Codec.decoding_table["146,96"] = [34507] let s:lib.Codec.decoding_table["146,97"] = [35477] let s:lib.Codec.decoding_table["146,98"] = [37723] let s:lib.Codec.decoding_table["146,99"] = [22243] let s:lib.Codec.decoding_table["146,100"] = [22727] let s:lib.Codec.decoding_table["146,101"] = [24382] let s:lib.Codec.decoding_table["146,102"] = [26029] let s:lib.Codec.decoding_table["146,103"] = [26262] let s:lib.Codec.decoding_table["146,104"] = [27264] let s:lib.Codec.decoding_table["146,105"] = [27573] let s:lib.Codec.decoding_table["146,106"] = [30007] let s:lib.Codec.decoding_table["146,107"] = [35527] let s:lib.Codec.decoding_table["146,108"] = [20516] let s:lib.Codec.decoding_table["146,109"] = [30693] let s:lib.Codec.decoding_table["146,110"] = [22320] let s:lib.Codec.decoding_table["146,111"] = [24347] let s:lib.Codec.decoding_table["146,112"] = [24677] let s:lib.Codec.decoding_table["146,113"] = [26234] let s:lib.Codec.decoding_table["146,114"] = [27744] let s:lib.Codec.decoding_table["146,115"] = [30196] let s:lib.Codec.decoding_table["146,116"] = [31258] let s:lib.Codec.decoding_table["146,117"] = [32622] let s:lib.Codec.decoding_table["146,118"] = [33268] let s:lib.Codec.decoding_table["146,119"] = [34584] let s:lib.Codec.decoding_table["146,120"] = [36933] let s:lib.Codec.decoding_table["146,121"] = [39347] let s:lib.Codec.decoding_table["146,122"] = [31689] let s:lib.Codec.decoding_table["146,123"] = [30044] let s:lib.Codec.decoding_table["146,124"] = [31481] let s:lib.Codec.decoding_table["146,125"] = [31569] let s:lib.Codec.decoding_table["146,126"] = [33988] let s:lib.Codec.decoding_table["146,128"] = [36880] let s:lib.Codec.decoding_table["146,129"] = [31209] let s:lib.Codec.decoding_table["146,130"] = [31378] let s:lib.Codec.decoding_table["146,131"] = [33590] let s:lib.Codec.decoding_table["146,132"] = [23265] let s:lib.Codec.decoding_table["146,133"] = [30528] let s:lib.Codec.decoding_table["146,134"] = [20013] let s:lib.Codec.decoding_table["146,135"] = [20210] let s:lib.Codec.decoding_table["146,136"] = [23449] let s:lib.Codec.decoding_table["146,137"] = [24544] let s:lib.Codec.decoding_table["146,138"] = [25277] let s:lib.Codec.decoding_table["146,139"] = [26172] let s:lib.Codec.decoding_table["146,140"] = [26609] let s:lib.Codec.decoding_table["146,141"] = [27880] let s:lib.Codec.decoding_table["146,142"] = [34411] let s:lib.Codec.decoding_table["146,143"] = [34935] let s:lib.Codec.decoding_table["146,144"] = [35387] let s:lib.Codec.decoding_table["146,145"] = [37198] let s:lib.Codec.decoding_table["146,146"] = [37619] let s:lib.Codec.decoding_table["146,147"] = [39376] let s:lib.Codec.decoding_table["146,148"] = [27159] let s:lib.Codec.decoding_table["146,149"] = [28710] let s:lib.Codec.decoding_table["146,150"] = [29482] let s:lib.Codec.decoding_table["146,151"] = [33511] let s:lib.Codec.decoding_table["146,152"] = [33879] let s:lib.Codec.decoding_table["146,153"] = [36015] let s:lib.Codec.decoding_table["146,154"] = [19969] let s:lib.Codec.decoding_table["146,155"] = [20806] let s:lib.Codec.decoding_table["146,156"] = [20939] let s:lib.Codec.decoding_table["146,157"] = [21899] let s:lib.Codec.decoding_table["146,158"] = [23541] let s:lib.Codec.decoding_table["146,159"] = [24086] let s:lib.Codec.decoding_table["146,160"] = [24115] let s:lib.Codec.decoding_table["146,161"] = [24193] let s:lib.Codec.decoding_table["146,162"] = [24340] let s:lib.Codec.decoding_table["146,163"] = [24373] let s:lib.Codec.decoding_table["146,164"] = [24427] let s:lib.Codec.decoding_table["146,165"] = [24500] let s:lib.Codec.decoding_table["146,166"] = [25074] let s:lib.Codec.decoding_table["146,167"] = [25361] let s:lib.Codec.decoding_table["146,168"] = [26274] let s:lib.Codec.decoding_table["146,169"] = [26397] let s:lib.Codec.decoding_table["146,170"] = [28526] let s:lib.Codec.decoding_table["146,171"] = [29266] let s:lib.Codec.decoding_table["146,172"] = [30010] let s:lib.Codec.decoding_table["146,173"] = [30522] let s:lib.Codec.decoding_table["146,174"] = [32884] let s:lib.Codec.decoding_table["146,175"] = [33081] let s:lib.Codec.decoding_table["146,176"] = [33144] let s:lib.Codec.decoding_table["146,177"] = [34678] let s:lib.Codec.decoding_table["146,178"] = [35519] let s:lib.Codec.decoding_table["146,179"] = [35548] let s:lib.Codec.decoding_table["146,180"] = [36229] let s:lib.Codec.decoding_table["146,181"] = [36339] let s:lib.Codec.decoding_table["146,182"] = [37530] let s:lib.Codec.decoding_table["146,183"] = [38263] let s:lib.Codec.decoding_table["146,184"] = [38914] let s:lib.Codec.decoding_table["146,185"] = [40165] let s:lib.Codec.decoding_table["146,186"] = [21189] let s:lib.Codec.decoding_table["146,187"] = [25431] let s:lib.Codec.decoding_table["146,188"] = [30452] let s:lib.Codec.decoding_table["146,189"] = [26389] let s:lib.Codec.decoding_table["146,190"] = [27784] let s:lib.Codec.decoding_table["146,191"] = [29645] let s:lib.Codec.decoding_table["146,192"] = [36035] let s:lib.Codec.decoding_table["146,193"] = [37806] let s:lib.Codec.decoding_table["146,194"] = [38515] let s:lib.Codec.decoding_table["146,195"] = [27941] let s:lib.Codec.decoding_table["146,196"] = [22684] let s:lib.Codec.decoding_table["146,197"] = [26894] let s:lib.Codec.decoding_table["146,198"] = [27084] let s:lib.Codec.decoding_table["146,199"] = [36861] let s:lib.Codec.decoding_table["146,200"] = [37786] let s:lib.Codec.decoding_table["146,201"] = [30171] let s:lib.Codec.decoding_table["146,202"] = [36890] let s:lib.Codec.decoding_table["146,203"] = [22618] let s:lib.Codec.decoding_table["146,204"] = [26626] let s:lib.Codec.decoding_table["146,205"] = [25524] let s:lib.Codec.decoding_table["146,206"] = [27131] let s:lib.Codec.decoding_table["146,207"] = [20291] let s:lib.Codec.decoding_table["146,208"] = [28460] let s:lib.Codec.decoding_table["146,209"] = [26584] let s:lib.Codec.decoding_table["146,210"] = [36795] let s:lib.Codec.decoding_table["146,211"] = [34086] let s:lib.Codec.decoding_table["146,212"] = [32180] let s:lib.Codec.decoding_table["146,213"] = [37716] let s:lib.Codec.decoding_table["146,214"] = [26943] let s:lib.Codec.decoding_table["146,215"] = [28528] let s:lib.Codec.decoding_table["146,216"] = [22378] let s:lib.Codec.decoding_table["146,217"] = [22775] let s:lib.Codec.decoding_table["146,218"] = [23340] let s:lib.Codec.decoding_table["146,219"] = [32044] let s:lib.Codec.decoding_table["146,220"] = [29226] let s:lib.Codec.decoding_table["146,221"] = [21514] let s:lib.Codec.decoding_table["146,222"] = [37347] let s:lib.Codec.decoding_table["146,223"] = [40372] let s:lib.Codec.decoding_table["146,224"] = [20141] let s:lib.Codec.decoding_table["146,225"] = [20302] let s:lib.Codec.decoding_table["146,226"] = [20572] let s:lib.Codec.decoding_table["146,227"] = [20597] let s:lib.Codec.decoding_table["146,228"] = [21059] let s:lib.Codec.decoding_table["146,229"] = [35998] let s:lib.Codec.decoding_table["146,230"] = [21576] let s:lib.Codec.decoding_table["146,231"] = [22564] let s:lib.Codec.decoding_table["146,232"] = [23450] let s:lib.Codec.decoding_table["146,233"] = [24093] let s:lib.Codec.decoding_table["146,234"] = [24213] let s:lib.Codec.decoding_table["146,235"] = [24237] let s:lib.Codec.decoding_table["146,236"] = [24311] let s:lib.Codec.decoding_table["146,237"] = [24351] let s:lib.Codec.decoding_table["146,238"] = [24716] let s:lib.Codec.decoding_table["146,239"] = [25269] let s:lib.Codec.decoding_table["146,240"] = [25402] let s:lib.Codec.decoding_table["146,241"] = [25552] let s:lib.Codec.decoding_table["146,242"] = [26799] let s:lib.Codec.decoding_table["146,243"] = [27712] let s:lib.Codec.decoding_table["146,244"] = [30855] let s:lib.Codec.decoding_table["146,245"] = [31118] let s:lib.Codec.decoding_table["146,246"] = [31243] let s:lib.Codec.decoding_table["146,247"] = [32224] let s:lib.Codec.decoding_table["146,248"] = [33351] let s:lib.Codec.decoding_table["146,249"] = [35330] let s:lib.Codec.decoding_table["146,250"] = [35558] let s:lib.Codec.decoding_table["146,251"] = [36420] let s:lib.Codec.decoding_table["146,252"] = [36883] let s:lib.Codec.decoding_table["147,64"] = [37048] let s:lib.Codec.decoding_table["147,65"] = [37165] let s:lib.Codec.decoding_table["147,66"] = [37336] let s:lib.Codec.decoding_table["147,67"] = [40718] let s:lib.Codec.decoding_table["147,68"] = [27877] let s:lib.Codec.decoding_table["147,69"] = [25688] let s:lib.Codec.decoding_table["147,70"] = [25826] let s:lib.Codec.decoding_table["147,71"] = [25973] let s:lib.Codec.decoding_table["147,72"] = [28404] let s:lib.Codec.decoding_table["147,73"] = [30340] let s:lib.Codec.decoding_table["147,74"] = [31515] let s:lib.Codec.decoding_table["147,75"] = [36969] let s:lib.Codec.decoding_table["147,76"] = [37841] let s:lib.Codec.decoding_table["147,77"] = [28346] let s:lib.Codec.decoding_table["147,78"] = [21746] let s:lib.Codec.decoding_table["147,79"] = [24505] let s:lib.Codec.decoding_table["147,80"] = [25764] let s:lib.Codec.decoding_table["147,81"] = [36685] let s:lib.Codec.decoding_table["147,82"] = [36845] let s:lib.Codec.decoding_table["147,83"] = [37444] let s:lib.Codec.decoding_table["147,84"] = [20856] let s:lib.Codec.decoding_table["147,85"] = [22635] let s:lib.Codec.decoding_table["147,86"] = [22825] let s:lib.Codec.decoding_table["147,87"] = [23637] let s:lib.Codec.decoding_table["147,88"] = [24215] let s:lib.Codec.decoding_table["147,89"] = [28155] let s:lib.Codec.decoding_table["147,90"] = [32399] let s:lib.Codec.decoding_table["147,91"] = [29980] let s:lib.Codec.decoding_table["147,92"] = [36028] let s:lib.Codec.decoding_table["147,93"] = [36578] let s:lib.Codec.decoding_table["147,94"] = [39003] let s:lib.Codec.decoding_table["147,95"] = [28857] let s:lib.Codec.decoding_table["147,96"] = [20253] let s:lib.Codec.decoding_table["147,97"] = [27583] let s:lib.Codec.decoding_table["147,98"] = [28593] let s:lib.Codec.decoding_table["147,99"] = [30000] let s:lib.Codec.decoding_table["147,100"] = [38651] let s:lib.Codec.decoding_table["147,101"] = [20814] let s:lib.Codec.decoding_table["147,102"] = [21520] let s:lib.Codec.decoding_table["147,103"] = [22581] let s:lib.Codec.decoding_table["147,104"] = [22615] let s:lib.Codec.decoding_table["147,105"] = [22956] let s:lib.Codec.decoding_table["147,106"] = [23648] let s:lib.Codec.decoding_table["147,107"] = [24466] let s:lib.Codec.decoding_table["147,108"] = [26007] let s:lib.Codec.decoding_table["147,109"] = [26460] let s:lib.Codec.decoding_table["147,110"] = [28193] let s:lib.Codec.decoding_table["147,111"] = [30331] let s:lib.Codec.decoding_table["147,112"] = [33759] let s:lib.Codec.decoding_table["147,113"] = [36077] let s:lib.Codec.decoding_table["147,114"] = [36884] let s:lib.Codec.decoding_table["147,115"] = [37117] let s:lib.Codec.decoding_table["147,116"] = [37709] let s:lib.Codec.decoding_table["147,117"] = [30757] let s:lib.Codec.decoding_table["147,118"] = [30778] let s:lib.Codec.decoding_table["147,119"] = [21162] let s:lib.Codec.decoding_table["147,120"] = [24230] let s:lib.Codec.decoding_table["147,121"] = [22303] let s:lib.Codec.decoding_table["147,122"] = [22900] let s:lib.Codec.decoding_table["147,123"] = [24594] let s:lib.Codec.decoding_table["147,124"] = [20498] let s:lib.Codec.decoding_table["147,125"] = [20826] let s:lib.Codec.decoding_table["147,126"] = [20908] let s:lib.Codec.decoding_table["147,128"] = [20941] let s:lib.Codec.decoding_table["147,129"] = [20992] let s:lib.Codec.decoding_table["147,130"] = [21776] let s:lib.Codec.decoding_table["147,131"] = [22612] let s:lib.Codec.decoding_table["147,132"] = [22616] let s:lib.Codec.decoding_table["147,133"] = [22871] let s:lib.Codec.decoding_table["147,134"] = [23445] let s:lib.Codec.decoding_table["147,135"] = [23798] let s:lib.Codec.decoding_table["147,136"] = [23947] let s:lib.Codec.decoding_table["147,137"] = [24764] let s:lib.Codec.decoding_table["147,138"] = [25237] let s:lib.Codec.decoding_table["147,139"] = [25645] let s:lib.Codec.decoding_table["147,140"] = [26481] let s:lib.Codec.decoding_table["147,141"] = [26691] let s:lib.Codec.decoding_table["147,142"] = [26812] let s:lib.Codec.decoding_table["147,143"] = [26847] let s:lib.Codec.decoding_table["147,144"] = [30423] let s:lib.Codec.decoding_table["147,145"] = [28120] let s:lib.Codec.decoding_table["147,146"] = [28271] let s:lib.Codec.decoding_table["147,147"] = [28059] let s:lib.Codec.decoding_table["147,148"] = [28783] let s:lib.Codec.decoding_table["147,149"] = [29128] let s:lib.Codec.decoding_table["147,150"] = [24403] let s:lib.Codec.decoding_table["147,151"] = [30168] let s:lib.Codec.decoding_table["147,152"] = [31095] let s:lib.Codec.decoding_table["147,153"] = [31561] let s:lib.Codec.decoding_table["147,154"] = [31572] let s:lib.Codec.decoding_table["147,155"] = [31570] let s:lib.Codec.decoding_table["147,156"] = [31958] let s:lib.Codec.decoding_table["147,157"] = [32113] let s:lib.Codec.decoding_table["147,158"] = [21040] let s:lib.Codec.decoding_table["147,159"] = [33891] let s:lib.Codec.decoding_table["147,160"] = [34153] let s:lib.Codec.decoding_table["147,161"] = [34276] let s:lib.Codec.decoding_table["147,162"] = [35342] let s:lib.Codec.decoding_table["147,163"] = [35588] let s:lib.Codec.decoding_table["147,164"] = [35910] let s:lib.Codec.decoding_table["147,165"] = [36367] let s:lib.Codec.decoding_table["147,166"] = [36867] let s:lib.Codec.decoding_table["147,167"] = [36879] let s:lib.Codec.decoding_table["147,168"] = [37913] let s:lib.Codec.decoding_table["147,169"] = [38518] let s:lib.Codec.decoding_table["147,170"] = [38957] let s:lib.Codec.decoding_table["147,171"] = [39472] let s:lib.Codec.decoding_table["147,172"] = [38360] let s:lib.Codec.decoding_table["147,173"] = [20685] let s:lib.Codec.decoding_table["147,174"] = [21205] let s:lib.Codec.decoding_table["147,175"] = [21516] let s:lib.Codec.decoding_table["147,176"] = [22530] let s:lib.Codec.decoding_table["147,177"] = [23566] let s:lib.Codec.decoding_table["147,178"] = [24999] let s:lib.Codec.decoding_table["147,179"] = [25758] let s:lib.Codec.decoding_table["147,180"] = [27934] let s:lib.Codec.decoding_table["147,181"] = [30643] let s:lib.Codec.decoding_table["147,182"] = [31461] let s:lib.Codec.decoding_table["147,183"] = [33012] let s:lib.Codec.decoding_table["147,184"] = [33796] let s:lib.Codec.decoding_table["147,185"] = [36947] let s:lib.Codec.decoding_table["147,186"] = [37509] let s:lib.Codec.decoding_table["147,187"] = [23776] let s:lib.Codec.decoding_table["147,188"] = [40199] let s:lib.Codec.decoding_table["147,189"] = [21311] let s:lib.Codec.decoding_table["147,190"] = [24471] let s:lib.Codec.decoding_table["147,191"] = [24499] let s:lib.Codec.decoding_table["147,192"] = [28060] let s:lib.Codec.decoding_table["147,193"] = [29305] let s:lib.Codec.decoding_table["147,194"] = [30563] let s:lib.Codec.decoding_table["147,195"] = [31167] let s:lib.Codec.decoding_table["147,196"] = [31716] let s:lib.Codec.decoding_table["147,197"] = [27602] let s:lib.Codec.decoding_table["147,198"] = [29420] let s:lib.Codec.decoding_table["147,199"] = [35501] let s:lib.Codec.decoding_table["147,200"] = [26627] let s:lib.Codec.decoding_table["147,201"] = [27233] let s:lib.Codec.decoding_table["147,202"] = [20984] let s:lib.Codec.decoding_table["147,203"] = [31361] let s:lib.Codec.decoding_table["147,204"] = [26932] let s:lib.Codec.decoding_table["147,205"] = [23626] let s:lib.Codec.decoding_table["147,206"] = [40182] let s:lib.Codec.decoding_table["147,207"] = [33515] let s:lib.Codec.decoding_table["147,208"] = [23493] let s:lib.Codec.decoding_table["147,209"] = [37193] let s:lib.Codec.decoding_table["147,210"] = [28702] let s:lib.Codec.decoding_table["147,211"] = [22136] let s:lib.Codec.decoding_table["147,212"] = [23663] let s:lib.Codec.decoding_table["147,213"] = [24775] let s:lib.Codec.decoding_table["147,214"] = [25958] let s:lib.Codec.decoding_table["147,215"] = [27788] let s:lib.Codec.decoding_table["147,216"] = [35930] let s:lib.Codec.decoding_table["147,217"] = [36929] let s:lib.Codec.decoding_table["147,218"] = [38931] let s:lib.Codec.decoding_table["147,219"] = [21585] let s:lib.Codec.decoding_table["147,220"] = [26311] let s:lib.Codec.decoding_table["147,221"] = [37389] let s:lib.Codec.decoding_table["147,222"] = [22856] let s:lib.Codec.decoding_table["147,223"] = [37027] let s:lib.Codec.decoding_table["147,224"] = [20869] let s:lib.Codec.decoding_table["147,225"] = [20045] let s:lib.Codec.decoding_table["147,226"] = [20970] let s:lib.Codec.decoding_table["147,227"] = [34201] let s:lib.Codec.decoding_table["147,228"] = [35598] let s:lib.Codec.decoding_table["147,229"] = [28760] let s:lib.Codec.decoding_table["147,230"] = [25466] let s:lib.Codec.decoding_table["147,231"] = [37707] let s:lib.Codec.decoding_table["147,232"] = [26978] let s:lib.Codec.decoding_table["147,233"] = [39348] let s:lib.Codec.decoding_table["147,234"] = [32260] let s:lib.Codec.decoding_table["147,235"] = [30071] let s:lib.Codec.decoding_table["147,236"] = [21335] let s:lib.Codec.decoding_table["147,237"] = [26976] let s:lib.Codec.decoding_table["147,238"] = [36575] let s:lib.Codec.decoding_table["147,239"] = [38627] let s:lib.Codec.decoding_table["147,240"] = [27741] let s:lib.Codec.decoding_table["147,241"] = [20108] let s:lib.Codec.decoding_table["147,242"] = [23612] let s:lib.Codec.decoding_table["147,243"] = [24336] let s:lib.Codec.decoding_table["147,244"] = [36841] let s:lib.Codec.decoding_table["147,245"] = [21250] let s:lib.Codec.decoding_table["147,246"] = [36049] let s:lib.Codec.decoding_table["147,247"] = [32905] let s:lib.Codec.decoding_table["147,248"] = [34425] let s:lib.Codec.decoding_table["147,249"] = [24319] let s:lib.Codec.decoding_table["147,250"] = [26085] let s:lib.Codec.decoding_table["147,251"] = [20083] let s:lib.Codec.decoding_table["147,252"] = [20837] let s:lib.Codec.decoding_table["148,64"] = [22914] let s:lib.Codec.decoding_table["148,65"] = [23615] let s:lib.Codec.decoding_table["148,66"] = [38894] let s:lib.Codec.decoding_table["148,67"] = [20219] let s:lib.Codec.decoding_table["148,68"] = [22922] let s:lib.Codec.decoding_table["148,69"] = [24525] let s:lib.Codec.decoding_table["148,70"] = [35469] let s:lib.Codec.decoding_table["148,71"] = [28641] let s:lib.Codec.decoding_table["148,72"] = [31152] let s:lib.Codec.decoding_table["148,73"] = [31074] let s:lib.Codec.decoding_table["148,74"] = [23527] let s:lib.Codec.decoding_table["148,75"] = [33905] let s:lib.Codec.decoding_table["148,76"] = [29483] let s:lib.Codec.decoding_table["148,77"] = [29105] let s:lib.Codec.decoding_table["148,78"] = [24180] let s:lib.Codec.decoding_table["148,79"] = [24565] let s:lib.Codec.decoding_table["148,80"] = [25467] let s:lib.Codec.decoding_table["148,81"] = [25754] let s:lib.Codec.decoding_table["148,82"] = [29123] let s:lib.Codec.decoding_table["148,83"] = [31896] let s:lib.Codec.decoding_table["148,84"] = [20035] let s:lib.Codec.decoding_table["148,85"] = [24316] let s:lib.Codec.decoding_table["148,86"] = [20043] let s:lib.Codec.decoding_table["148,87"] = [22492] let s:lib.Codec.decoding_table["148,88"] = [22178] let s:lib.Codec.decoding_table["148,89"] = [24745] let s:lib.Codec.decoding_table["148,90"] = [28611] let s:lib.Codec.decoding_table["148,91"] = [32013] let s:lib.Codec.decoding_table["148,92"] = [33021] let s:lib.Codec.decoding_table["148,93"] = [33075] let s:lib.Codec.decoding_table["148,94"] = [33215] let s:lib.Codec.decoding_table["148,95"] = [36786] let s:lib.Codec.decoding_table["148,96"] = [35223] let s:lib.Codec.decoding_table["148,97"] = [34468] let s:lib.Codec.decoding_table["148,98"] = [24052] let s:lib.Codec.decoding_table["148,99"] = [25226] let s:lib.Codec.decoding_table["148,100"] = [25773] let s:lib.Codec.decoding_table["148,101"] = [35207] let s:lib.Codec.decoding_table["148,102"] = [26487] let s:lib.Codec.decoding_table["148,103"] = [27874] let s:lib.Codec.decoding_table["148,104"] = [27966] let s:lib.Codec.decoding_table["148,105"] = [29750] let s:lib.Codec.decoding_table["148,106"] = [30772] let s:lib.Codec.decoding_table["148,107"] = [23110] let s:lib.Codec.decoding_table["148,108"] = [32629] let s:lib.Codec.decoding_table["148,109"] = [33453] let s:lib.Codec.decoding_table["148,110"] = [39340] let s:lib.Codec.decoding_table["148,111"] = [20467] let s:lib.Codec.decoding_table["148,112"] = [24259] let s:lib.Codec.decoding_table["148,113"] = [25309] let s:lib.Codec.decoding_table["148,114"] = [25490] let s:lib.Codec.decoding_table["148,115"] = [25943] let s:lib.Codec.decoding_table["148,116"] = [26479] let s:lib.Codec.decoding_table["148,117"] = [30403] let s:lib.Codec.decoding_table["148,118"] = [29260] let s:lib.Codec.decoding_table["148,119"] = [32972] let s:lib.Codec.decoding_table["148,120"] = [32954] let s:lib.Codec.decoding_table["148,121"] = [36649] let s:lib.Codec.decoding_table["148,122"] = [37197] let s:lib.Codec.decoding_table["148,123"] = [20493] let s:lib.Codec.decoding_table["148,124"] = [22521] let s:lib.Codec.decoding_table["148,125"] = [23186] let s:lib.Codec.decoding_table["148,126"] = [26757] let s:lib.Codec.decoding_table["148,128"] = [26995] let s:lib.Codec.decoding_table["148,129"] = [29028] let s:lib.Codec.decoding_table["148,130"] = [29437] let s:lib.Codec.decoding_table["148,131"] = [36023] let s:lib.Codec.decoding_table["148,132"] = [22770] let s:lib.Codec.decoding_table["148,133"] = [36064] let s:lib.Codec.decoding_table["148,134"] = [38506] let s:lib.Codec.decoding_table["148,135"] = [36889] let s:lib.Codec.decoding_table["148,136"] = [34687] let s:lib.Codec.decoding_table["148,137"] = [31204] let s:lib.Codec.decoding_table["148,138"] = [30695] let s:lib.Codec.decoding_table["148,139"] = [33833] let s:lib.Codec.decoding_table["148,140"] = [20271] let s:lib.Codec.decoding_table["148,141"] = [21093] let s:lib.Codec.decoding_table["148,142"] = [21338] let s:lib.Codec.decoding_table["148,143"] = [25293] let s:lib.Codec.decoding_table["148,144"] = [26575] let s:lib.Codec.decoding_table["148,145"] = [27850] let s:lib.Codec.decoding_table["148,146"] = [30333] let s:lib.Codec.decoding_table["148,147"] = [31636] let s:lib.Codec.decoding_table["148,148"] = [31893] let s:lib.Codec.decoding_table["148,149"] = [33334] let s:lib.Codec.decoding_table["148,150"] = [34180] let s:lib.Codec.decoding_table["148,151"] = [36843] let s:lib.Codec.decoding_table["148,152"] = [26333] let s:lib.Codec.decoding_table["148,153"] = [28448] let s:lib.Codec.decoding_table["148,154"] = [29190] let s:lib.Codec.decoding_table["148,155"] = [32283] let s:lib.Codec.decoding_table["148,156"] = [33707] let s:lib.Codec.decoding_table["148,157"] = [39361] let s:lib.Codec.decoding_table["148,158"] = [40614] let s:lib.Codec.decoding_table["148,159"] = [20989] let s:lib.Codec.decoding_table["148,160"] = [31665] let s:lib.Codec.decoding_table["148,161"] = [30834] let s:lib.Codec.decoding_table["148,162"] = [31672] let s:lib.Codec.decoding_table["148,163"] = [32903] let s:lib.Codec.decoding_table["148,164"] = [31560] let s:lib.Codec.decoding_table["148,165"] = [27368] let s:lib.Codec.decoding_table["148,166"] = [24161] let s:lib.Codec.decoding_table["148,167"] = [32908] let s:lib.Codec.decoding_table["148,168"] = [30033] let s:lib.Codec.decoding_table["148,169"] = [30048] let s:lib.Codec.decoding_table["148,170"] = [20843] let s:lib.Codec.decoding_table["148,171"] = [37474] let s:lib.Codec.decoding_table["148,172"] = [28300] let s:lib.Codec.decoding_table["148,173"] = [30330] let s:lib.Codec.decoding_table["148,174"] = [37271] let s:lib.Codec.decoding_table["148,175"] = [39658] let s:lib.Codec.decoding_table["148,176"] = [20240] let s:lib.Codec.decoding_table["148,177"] = [32624] let s:lib.Codec.decoding_table["148,178"] = [25244] let s:lib.Codec.decoding_table["148,179"] = [31567] let s:lib.Codec.decoding_table["148,180"] = [38309] let s:lib.Codec.decoding_table["148,181"] = [40169] let s:lib.Codec.decoding_table["148,182"] = [22138] let s:lib.Codec.decoding_table["148,183"] = [22617] let s:lib.Codec.decoding_table["148,184"] = [34532] let s:lib.Codec.decoding_table["148,185"] = [38588] let s:lib.Codec.decoding_table["148,186"] = [20276] let s:lib.Codec.decoding_table["148,187"] = [21028] let s:lib.Codec.decoding_table["148,188"] = [21322] let s:lib.Codec.decoding_table["148,189"] = [21453] let s:lib.Codec.decoding_table["148,190"] = [21467] let s:lib.Codec.decoding_table["148,191"] = [24070] let s:lib.Codec.decoding_table["148,192"] = [25644] let s:lib.Codec.decoding_table["148,193"] = [26001] let s:lib.Codec.decoding_table["148,194"] = [26495] let s:lib.Codec.decoding_table["148,195"] = [27710] let s:lib.Codec.decoding_table["148,196"] = [27726] let s:lib.Codec.decoding_table["148,197"] = [29256] let s:lib.Codec.decoding_table["148,198"] = [29359] let s:lib.Codec.decoding_table["148,199"] = [29677] let s:lib.Codec.decoding_table["148,200"] = [30036] let s:lib.Codec.decoding_table["148,201"] = [32321] let s:lib.Codec.decoding_table["148,202"] = [33324] let s:lib.Codec.decoding_table["148,203"] = [34281] let s:lib.Codec.decoding_table["148,204"] = [36009] let s:lib.Codec.decoding_table["148,205"] = [31684] let s:lib.Codec.decoding_table["148,206"] = [37318] let s:lib.Codec.decoding_table["148,207"] = [29033] let s:lib.Codec.decoding_table["148,208"] = [38930] let s:lib.Codec.decoding_table["148,209"] = [39151] let s:lib.Codec.decoding_table["148,210"] = [25405] let s:lib.Codec.decoding_table["148,211"] = [26217] let s:lib.Codec.decoding_table["148,212"] = [30058] let s:lib.Codec.decoding_table["148,213"] = [30436] let s:lib.Codec.decoding_table["148,214"] = [30928] let s:lib.Codec.decoding_table["148,215"] = [34115] let s:lib.Codec.decoding_table["148,216"] = [34542] let s:lib.Codec.decoding_table["148,217"] = [21290] let s:lib.Codec.decoding_table["148,218"] = [21329] let s:lib.Codec.decoding_table["148,219"] = [21542] let s:lib.Codec.decoding_table["148,220"] = [22915] let s:lib.Codec.decoding_table["148,221"] = [24199] let s:lib.Codec.decoding_table["148,222"] = [24444] let s:lib.Codec.decoding_table["148,223"] = [24754] let s:lib.Codec.decoding_table["148,224"] = [25161] let s:lib.Codec.decoding_table["148,225"] = [25209] let s:lib.Codec.decoding_table["148,226"] = [25259] let s:lib.Codec.decoding_table["148,227"] = [26000] let s:lib.Codec.decoding_table["148,228"] = [27604] let s:lib.Codec.decoding_table["148,229"] = [27852] let s:lib.Codec.decoding_table["148,230"] = [30130] let s:lib.Codec.decoding_table["148,231"] = [30382] let s:lib.Codec.decoding_table["148,232"] = [30865] let s:lib.Codec.decoding_table["148,233"] = [31192] let s:lib.Codec.decoding_table["148,234"] = [32203] let s:lib.Codec.decoding_table["148,235"] = [32631] let s:lib.Codec.decoding_table["148,236"] = [32933] let s:lib.Codec.decoding_table["148,237"] = [34987] let s:lib.Codec.decoding_table["148,238"] = [35513] let s:lib.Codec.decoding_table["148,239"] = [36027] let s:lib.Codec.decoding_table["148,240"] = [36991] let s:lib.Codec.decoding_table["148,241"] = [38750] let s:lib.Codec.decoding_table["148,242"] = [39131] let s:lib.Codec.decoding_table["148,243"] = [27147] let s:lib.Codec.decoding_table["148,244"] = [31800] let s:lib.Codec.decoding_table["148,245"] = [20633] let s:lib.Codec.decoding_table["148,246"] = [23614] let s:lib.Codec.decoding_table["148,247"] = [24494] let s:lib.Codec.decoding_table["148,248"] = [26503] let s:lib.Codec.decoding_table["148,249"] = [27608] let s:lib.Codec.decoding_table["148,250"] = [29749] let s:lib.Codec.decoding_table["148,251"] = [30473] let s:lib.Codec.decoding_table["148,252"] = [32654] let s:lib.Codec.decoding_table["149,64"] = [40763] let s:lib.Codec.decoding_table["149,65"] = [26570] let s:lib.Codec.decoding_table["149,66"] = [31255] let s:lib.Codec.decoding_table["149,67"] = [21305] let s:lib.Codec.decoding_table["149,68"] = [30091] let s:lib.Codec.decoding_table["149,69"] = [39661] let s:lib.Codec.decoding_table["149,70"] = [24422] let s:lib.Codec.decoding_table["149,71"] = [33181] let s:lib.Codec.decoding_table["149,72"] = [33777] let s:lib.Codec.decoding_table["149,73"] = [32920] let s:lib.Codec.decoding_table["149,74"] = [24380] let s:lib.Codec.decoding_table["149,75"] = [24517] let s:lib.Codec.decoding_table["149,76"] = [30050] let s:lib.Codec.decoding_table["149,77"] = [31558] let s:lib.Codec.decoding_table["149,78"] = [36924] let s:lib.Codec.decoding_table["149,79"] = [26727] let s:lib.Codec.decoding_table["149,80"] = [23019] let s:lib.Codec.decoding_table["149,81"] = [23195] let s:lib.Codec.decoding_table["149,82"] = [32016] let s:lib.Codec.decoding_table["149,83"] = [30334] let s:lib.Codec.decoding_table["149,84"] = [35628] let s:lib.Codec.decoding_table["149,85"] = [20469] let s:lib.Codec.decoding_table["149,86"] = [24426] let s:lib.Codec.decoding_table["149,87"] = [27161] let s:lib.Codec.decoding_table["149,88"] = [27703] let s:lib.Codec.decoding_table["149,89"] = [28418] let s:lib.Codec.decoding_table["149,90"] = [29922] let s:lib.Codec.decoding_table["149,91"] = [31080] let s:lib.Codec.decoding_table["149,92"] = [34920] let s:lib.Codec.decoding_table["149,93"] = [35413] let s:lib.Codec.decoding_table["149,94"] = [35961] let s:lib.Codec.decoding_table["149,95"] = [24287] let s:lib.Codec.decoding_table["149,96"] = [25551] let s:lib.Codec.decoding_table["149,97"] = [30149] let s:lib.Codec.decoding_table["149,98"] = [31186] let s:lib.Codec.decoding_table["149,99"] = [33495] let s:lib.Codec.decoding_table["149,100"] = [37672] let s:lib.Codec.decoding_table["149,101"] = [37618] let s:lib.Codec.decoding_table["149,102"] = [33948] let s:lib.Codec.decoding_table["149,103"] = [34541] let s:lib.Codec.decoding_table["149,104"] = [39981] let s:lib.Codec.decoding_table["149,105"] = [21697] let s:lib.Codec.decoding_table["149,106"] = [24428] let s:lib.Codec.decoding_table["149,107"] = [25996] let s:lib.Codec.decoding_table["149,108"] = [27996] let s:lib.Codec.decoding_table["149,109"] = [28693] let s:lib.Codec.decoding_table["149,110"] = [36007] let s:lib.Codec.decoding_table["149,111"] = [36051] let s:lib.Codec.decoding_table["149,112"] = [38971] let s:lib.Codec.decoding_table["149,113"] = [25935] let s:lib.Codec.decoding_table["149,114"] = [29942] let s:lib.Codec.decoding_table["149,115"] = [19981] let s:lib.Codec.decoding_table["149,116"] = [20184] let s:lib.Codec.decoding_table["149,117"] = [22496] let s:lib.Codec.decoding_table["149,118"] = [22827] let s:lib.Codec.decoding_table["149,119"] = [23142] let s:lib.Codec.decoding_table["149,120"] = [23500] let s:lib.Codec.decoding_table["149,121"] = [20904] let s:lib.Codec.decoding_table["149,122"] = [24067] let s:lib.Codec.decoding_table["149,123"] = [24220] let s:lib.Codec.decoding_table["149,124"] = [24598] let s:lib.Codec.decoding_table["149,125"] = [25206] let s:lib.Codec.decoding_table["149,126"] = [25975] let s:lib.Codec.decoding_table["149,128"] = [26023] let s:lib.Codec.decoding_table["149,129"] = [26222] let s:lib.Codec.decoding_table["149,130"] = [28014] let s:lib.Codec.decoding_table["149,131"] = [29238] let s:lib.Codec.decoding_table["149,132"] = [31526] let s:lib.Codec.decoding_table["149,133"] = [33104] let s:lib.Codec.decoding_table["149,134"] = [33178] let s:lib.Codec.decoding_table["149,135"] = [33433] let s:lib.Codec.decoding_table["149,136"] = [35676] let s:lib.Codec.decoding_table["149,137"] = [36000] let s:lib.Codec.decoding_table["149,138"] = [36070] let s:lib.Codec.decoding_table["149,139"] = [36212] let s:lib.Codec.decoding_table["149,140"] = [38428] let s:lib.Codec.decoding_table["149,141"] = [38468] let s:lib.Codec.decoding_table["149,142"] = [20398] let s:lib.Codec.decoding_table["149,143"] = [25771] let s:lib.Codec.decoding_table["149,144"] = [27494] let s:lib.Codec.decoding_table["149,145"] = [33310] let s:lib.Codec.decoding_table["149,146"] = [33889] let s:lib.Codec.decoding_table["149,147"] = [34154] let s:lib.Codec.decoding_table["149,148"] = [37096] let s:lib.Codec.decoding_table["149,149"] = [23553] let s:lib.Codec.decoding_table["149,150"] = [26963] let s:lib.Codec.decoding_table["149,151"] = [39080] let s:lib.Codec.decoding_table["149,152"] = [33914] let s:lib.Codec.decoding_table["149,153"] = [34135] let s:lib.Codec.decoding_table["149,154"] = [20239] let s:lib.Codec.decoding_table["149,155"] = [21103] let s:lib.Codec.decoding_table["149,156"] = [24489] let s:lib.Codec.decoding_table["149,157"] = [24133] let s:lib.Codec.decoding_table["149,158"] = [26381] let s:lib.Codec.decoding_table["149,159"] = [31119] let s:lib.Codec.decoding_table["149,160"] = [33145] let s:lib.Codec.decoding_table["149,161"] = [35079] let s:lib.Codec.decoding_table["149,162"] = [35206] let s:lib.Codec.decoding_table["149,163"] = [28149] let s:lib.Codec.decoding_table["149,164"] = [24343] let s:lib.Codec.decoding_table["149,165"] = [25173] let s:lib.Codec.decoding_table["149,166"] = [27832] let s:lib.Codec.decoding_table["149,167"] = [20175] let s:lib.Codec.decoding_table["149,168"] = [29289] let s:lib.Codec.decoding_table["149,169"] = [39826] let s:lib.Codec.decoding_table["149,170"] = [20998] let s:lib.Codec.decoding_table["149,171"] = [21563] let s:lib.Codec.decoding_table["149,172"] = [22132] let s:lib.Codec.decoding_table["149,173"] = [22707] let s:lib.Codec.decoding_table["149,174"] = [24996] let s:lib.Codec.decoding_table["149,175"] = [25198] let s:lib.Codec.decoding_table["149,176"] = [28954] let s:lib.Codec.decoding_table["149,177"] = [22894] let s:lib.Codec.decoding_table["149,178"] = [31881] let s:lib.Codec.decoding_table["149,179"] = [31966] let s:lib.Codec.decoding_table["149,180"] = [32027] let s:lib.Codec.decoding_table["149,181"] = [38640] let s:lib.Codec.decoding_table["149,182"] = [25991] let s:lib.Codec.decoding_table["149,183"] = [32862] let s:lib.Codec.decoding_table["149,184"] = [19993] let s:lib.Codec.decoding_table["149,185"] = [20341] let s:lib.Codec.decoding_table["149,186"] = [20853] let s:lib.Codec.decoding_table["149,187"] = [22592] let s:lib.Codec.decoding_table["149,188"] = [24163] let s:lib.Codec.decoding_table["149,189"] = [24179] let s:lib.Codec.decoding_table["149,190"] = [24330] let s:lib.Codec.decoding_table["149,191"] = [26564] let s:lib.Codec.decoding_table["149,192"] = [20006] let s:lib.Codec.decoding_table["149,193"] = [34109] let s:lib.Codec.decoding_table["149,194"] = [38281] let s:lib.Codec.decoding_table["149,195"] = [38491] let s:lib.Codec.decoding_table["149,196"] = [31859] let s:lib.Codec.decoding_table["149,197"] = [38913] let s:lib.Codec.decoding_table["149,198"] = [20731] let s:lib.Codec.decoding_table["149,199"] = [22721] let s:lib.Codec.decoding_table["149,200"] = [30294] let s:lib.Codec.decoding_table["149,201"] = [30887] let s:lib.Codec.decoding_table["149,202"] = [21029] let s:lib.Codec.decoding_table["149,203"] = [30629] let s:lib.Codec.decoding_table["149,204"] = [34065] let s:lib.Codec.decoding_table["149,205"] = [31622] let s:lib.Codec.decoding_table["149,206"] = [20559] let s:lib.Codec.decoding_table["149,207"] = [22793] let s:lib.Codec.decoding_table["149,208"] = [29255] let s:lib.Codec.decoding_table["149,209"] = [31687] let s:lib.Codec.decoding_table["149,210"] = [32232] let s:lib.Codec.decoding_table["149,211"] = [36794] let s:lib.Codec.decoding_table["149,212"] = [36820] let s:lib.Codec.decoding_table["149,213"] = [36941] let s:lib.Codec.decoding_table["149,214"] = [20415] let s:lib.Codec.decoding_table["149,215"] = [21193] let s:lib.Codec.decoding_table["149,216"] = [23081] let s:lib.Codec.decoding_table["149,217"] = [24321] let s:lib.Codec.decoding_table["149,218"] = [38829] let s:lib.Codec.decoding_table["149,219"] = [20445] let s:lib.Codec.decoding_table["149,220"] = [33303] let s:lib.Codec.decoding_table["149,221"] = [37610] let s:lib.Codec.decoding_table["149,222"] = [22275] let s:lib.Codec.decoding_table["149,223"] = [25429] let s:lib.Codec.decoding_table["149,224"] = [27497] let s:lib.Codec.decoding_table["149,225"] = [29995] let s:lib.Codec.decoding_table["149,226"] = [35036] let s:lib.Codec.decoding_table["149,227"] = [36628] let s:lib.Codec.decoding_table["149,228"] = [31298] let s:lib.Codec.decoding_table["149,229"] = [21215] let s:lib.Codec.decoding_table["149,230"] = [22675] let s:lib.Codec.decoding_table["149,231"] = [24917] let s:lib.Codec.decoding_table["149,232"] = [25098] let s:lib.Codec.decoding_table["149,233"] = [26286] let s:lib.Codec.decoding_table["149,234"] = [27597] let s:lib.Codec.decoding_table["149,235"] = [31807] let s:lib.Codec.decoding_table["149,236"] = [33769] let s:lib.Codec.decoding_table["149,237"] = [20515] let s:lib.Codec.decoding_table["149,238"] = [20472] let s:lib.Codec.decoding_table["149,239"] = [21253] let s:lib.Codec.decoding_table["149,240"] = [21574] let s:lib.Codec.decoding_table["149,241"] = [22577] let s:lib.Codec.decoding_table["149,242"] = [22857] let s:lib.Codec.decoding_table["149,243"] = [23453] let s:lib.Codec.decoding_table["149,244"] = [23792] let s:lib.Codec.decoding_table["149,245"] = [23791] let s:lib.Codec.decoding_table["149,246"] = [23849] let s:lib.Codec.decoding_table["149,247"] = [24214] let s:lib.Codec.decoding_table["149,248"] = [25265] let s:lib.Codec.decoding_table["149,249"] = [25447] let s:lib.Codec.decoding_table["149,250"] = [25918] let s:lib.Codec.decoding_table["149,251"] = [26041] let s:lib.Codec.decoding_table["149,252"] = [26379] let s:lib.Codec.decoding_table["150,64"] = [27861] let s:lib.Codec.decoding_table["150,65"] = [27873] let s:lib.Codec.decoding_table["150,66"] = [28921] let s:lib.Codec.decoding_table["150,67"] = [30770] let s:lib.Codec.decoding_table["150,68"] = [32299] let s:lib.Codec.decoding_table["150,69"] = [32990] let s:lib.Codec.decoding_table["150,70"] = [33459] let s:lib.Codec.decoding_table["150,71"] = [33804] let s:lib.Codec.decoding_table["150,72"] = [34028] let s:lib.Codec.decoding_table["150,73"] = [34562] let s:lib.Codec.decoding_table["150,74"] = [35090] let s:lib.Codec.decoding_table["150,75"] = [35370] let s:lib.Codec.decoding_table["150,76"] = [35914] let s:lib.Codec.decoding_table["150,77"] = [37030] let s:lib.Codec.decoding_table["150,78"] = [37586] let s:lib.Codec.decoding_table["150,79"] = [39165] let s:lib.Codec.decoding_table["150,80"] = [40179] let s:lib.Codec.decoding_table["150,81"] = [40300] let s:lib.Codec.decoding_table["150,82"] = [20047] let s:lib.Codec.decoding_table["150,83"] = [20129] let s:lib.Codec.decoding_table["150,84"] = [20621] let s:lib.Codec.decoding_table["150,85"] = [21078] let s:lib.Codec.decoding_table["150,86"] = [22346] let s:lib.Codec.decoding_table["150,87"] = [22952] let s:lib.Codec.decoding_table["150,88"] = [24125] let s:lib.Codec.decoding_table["150,89"] = [24536] let s:lib.Codec.decoding_table["150,90"] = [24537] let s:lib.Codec.decoding_table["150,91"] = [25151] let s:lib.Codec.decoding_table["150,92"] = [26292] let s:lib.Codec.decoding_table["150,93"] = [26395] let s:lib.Codec.decoding_table["150,94"] = [26576] let s:lib.Codec.decoding_table["150,95"] = [26834] let s:lib.Codec.decoding_table["150,96"] = [20882] let s:lib.Codec.decoding_table["150,97"] = [32033] let s:lib.Codec.decoding_table["150,98"] = [32938] let s:lib.Codec.decoding_table["150,99"] = [33192] let s:lib.Codec.decoding_table["150,100"] = [35584] let s:lib.Codec.decoding_table["150,101"] = [35980] let s:lib.Codec.decoding_table["150,102"] = [36031] let s:lib.Codec.decoding_table["150,103"] = [37502] let s:lib.Codec.decoding_table["150,104"] = [38450] let s:lib.Codec.decoding_table["150,105"] = [21536] let s:lib.Codec.decoding_table["150,106"] = [38956] let s:lib.Codec.decoding_table["150,107"] = [21271] let s:lib.Codec.decoding_table["150,108"] = [20693] let s:lib.Codec.decoding_table["150,109"] = [21340] let s:lib.Codec.decoding_table["150,110"] = [22696] let s:lib.Codec.decoding_table["150,111"] = [25778] let s:lib.Codec.decoding_table["150,112"] = [26420] let s:lib.Codec.decoding_table["150,113"] = [29287] let s:lib.Codec.decoding_table["150,114"] = [30566] let s:lib.Codec.decoding_table["150,115"] = [31302] let s:lib.Codec.decoding_table["150,116"] = [37350] let s:lib.Codec.decoding_table["150,117"] = [21187] let s:lib.Codec.decoding_table["150,118"] = [27809] let s:lib.Codec.decoding_table["150,119"] = [27526] let s:lib.Codec.decoding_table["150,120"] = [22528] let s:lib.Codec.decoding_table["150,121"] = [24140] let s:lib.Codec.decoding_table["150,122"] = [22868] let s:lib.Codec.decoding_table["150,123"] = [26412] let s:lib.Codec.decoding_table["150,124"] = [32763] let s:lib.Codec.decoding_table["150,125"] = [20961] let s:lib.Codec.decoding_table["150,126"] = [30406] let s:lib.Codec.decoding_table["150,128"] = [25705] let s:lib.Codec.decoding_table["150,129"] = [30952] let s:lib.Codec.decoding_table["150,130"] = [39764] let s:lib.Codec.decoding_table["150,131"] = [40635] let s:lib.Codec.decoding_table["150,132"] = [22475] let s:lib.Codec.decoding_table["150,133"] = [22969] let s:lib.Codec.decoding_table["150,134"] = [26151] let s:lib.Codec.decoding_table["150,135"] = [26522] let s:lib.Codec.decoding_table["150,136"] = [27598] let s:lib.Codec.decoding_table["150,137"] = [21737] let s:lib.Codec.decoding_table["150,138"] = [27097] let s:lib.Codec.decoding_table["150,139"] = [24149] let s:lib.Codec.decoding_table["150,140"] = [33180] let s:lib.Codec.decoding_table["150,141"] = [26517] let s:lib.Codec.decoding_table["150,142"] = [39850] let s:lib.Codec.decoding_table["150,143"] = [26622] let s:lib.Codec.decoding_table["150,144"] = [40018] let s:lib.Codec.decoding_table["150,145"] = [26717] let s:lib.Codec.decoding_table["150,146"] = [20134] let s:lib.Codec.decoding_table["150,147"] = [20451] let s:lib.Codec.decoding_table["150,148"] = [21448] let s:lib.Codec.decoding_table["150,149"] = [25273] let s:lib.Codec.decoding_table["150,150"] = [26411] let s:lib.Codec.decoding_table["150,151"] = [27819] let s:lib.Codec.decoding_table["150,152"] = [36804] let s:lib.Codec.decoding_table["150,153"] = [20397] let s:lib.Codec.decoding_table["150,154"] = [32365] let s:lib.Codec.decoding_table["150,155"] = [40639] let s:lib.Codec.decoding_table["150,156"] = [19975] let s:lib.Codec.decoding_table["150,157"] = [24930] let s:lib.Codec.decoding_table["150,158"] = [28288] let s:lib.Codec.decoding_table["150,159"] = [28459] let s:lib.Codec.decoding_table["150,160"] = [34067] let s:lib.Codec.decoding_table["150,161"] = [21619] let s:lib.Codec.decoding_table["150,162"] = [26410] let s:lib.Codec.decoding_table["150,163"] = [39749] let s:lib.Codec.decoding_table["150,164"] = [24051] let s:lib.Codec.decoding_table["150,165"] = [31637] let s:lib.Codec.decoding_table["150,166"] = [23724] let s:lib.Codec.decoding_table["150,167"] = [23494] let s:lib.Codec.decoding_table["150,168"] = [34588] let s:lib.Codec.decoding_table["150,169"] = [28234] let s:lib.Codec.decoding_table["150,170"] = [34001] let s:lib.Codec.decoding_table["150,171"] = [31252] let s:lib.Codec.decoding_table["150,172"] = [33032] let s:lib.Codec.decoding_table["150,173"] = [22937] let s:lib.Codec.decoding_table["150,174"] = [31885] let s:lib.Codec.decoding_table["150,175"] = [27665] let s:lib.Codec.decoding_table["150,176"] = [30496] let s:lib.Codec.decoding_table["150,177"] = [21209] let s:lib.Codec.decoding_table["150,178"] = [22818] let s:lib.Codec.decoding_table["150,179"] = [28961] let s:lib.Codec.decoding_table["150,180"] = [29279] let s:lib.Codec.decoding_table["150,181"] = [30683] let s:lib.Codec.decoding_table["150,182"] = [38695] let s:lib.Codec.decoding_table["150,183"] = [40289] let s:lib.Codec.decoding_table["150,184"] = [26891] let s:lib.Codec.decoding_table["150,185"] = [23167] let s:lib.Codec.decoding_table["150,186"] = [23064] let s:lib.Codec.decoding_table["150,187"] = [20901] let s:lib.Codec.decoding_table["150,188"] = [21517] let s:lib.Codec.decoding_table["150,189"] = [21629] let s:lib.Codec.decoding_table["150,190"] = [26126] let s:lib.Codec.decoding_table["150,191"] = [30431] let s:lib.Codec.decoding_table["150,192"] = [36855] let s:lib.Codec.decoding_table["150,193"] = [37528] let s:lib.Codec.decoding_table["150,194"] = [40180] let s:lib.Codec.decoding_table["150,195"] = [23018] let s:lib.Codec.decoding_table["150,196"] = [29277] let s:lib.Codec.decoding_table["150,197"] = [28357] let s:lib.Codec.decoding_table["150,198"] = [20813] let s:lib.Codec.decoding_table["150,199"] = [26825] let s:lib.Codec.decoding_table["150,200"] = [32191] let s:lib.Codec.decoding_table["150,201"] = [32236] let s:lib.Codec.decoding_table["150,202"] = [38754] let s:lib.Codec.decoding_table["150,203"] = [40634] let s:lib.Codec.decoding_table["150,204"] = [25720] let s:lib.Codec.decoding_table["150,205"] = [27169] let s:lib.Codec.decoding_table["150,206"] = [33538] let s:lib.Codec.decoding_table["150,207"] = [22916] let s:lib.Codec.decoding_table["150,208"] = [23391] let s:lib.Codec.decoding_table["150,209"] = [27611] let s:lib.Codec.decoding_table["150,210"] = [29467] let s:lib.Codec.decoding_table["150,211"] = [30450] let s:lib.Codec.decoding_table["150,212"] = [32178] let s:lib.Codec.decoding_table["150,213"] = [32791] let s:lib.Codec.decoding_table["150,214"] = [33945] let s:lib.Codec.decoding_table["150,215"] = [20786] let s:lib.Codec.decoding_table["150,216"] = [26408] let s:lib.Codec.decoding_table["150,217"] = [40665] let s:lib.Codec.decoding_table["150,218"] = [30446] let s:lib.Codec.decoding_table["150,219"] = [26466] let s:lib.Codec.decoding_table["150,220"] = [21247] let s:lib.Codec.decoding_table["150,221"] = [39173] let s:lib.Codec.decoding_table["150,222"] = [23588] let s:lib.Codec.decoding_table["150,223"] = [25147] let s:lib.Codec.decoding_table["150,224"] = [31870] let s:lib.Codec.decoding_table["150,225"] = [36016] let s:lib.Codec.decoding_table["150,226"] = [21839] let s:lib.Codec.decoding_table["150,227"] = [24758] let s:lib.Codec.decoding_table["150,228"] = [32011] let s:lib.Codec.decoding_table["150,229"] = [38272] let s:lib.Codec.decoding_table["150,230"] = [21249] let s:lib.Codec.decoding_table["150,231"] = [20063] let s:lib.Codec.decoding_table["150,232"] = [20918] let s:lib.Codec.decoding_table["150,233"] = [22812] let s:lib.Codec.decoding_table["150,234"] = [29242] let s:lib.Codec.decoding_table["150,235"] = [32822] let s:lib.Codec.decoding_table["150,236"] = [37326] let s:lib.Codec.decoding_table["150,237"] = [24357] let s:lib.Codec.decoding_table["150,238"] = [30690] let s:lib.Codec.decoding_table["150,239"] = [21380] let s:lib.Codec.decoding_table["150,240"] = [24441] let s:lib.Codec.decoding_table["150,241"] = [32004] let s:lib.Codec.decoding_table["150,242"] = [34220] let s:lib.Codec.decoding_table["150,243"] = [35379] let s:lib.Codec.decoding_table["150,244"] = [36493] let s:lib.Codec.decoding_table["150,245"] = [38742] let s:lib.Codec.decoding_table["150,246"] = [26611] let s:lib.Codec.decoding_table["150,247"] = [34222] let s:lib.Codec.decoding_table["150,248"] = [37971] let s:lib.Codec.decoding_table["150,249"] = [24841] let s:lib.Codec.decoding_table["150,250"] = [24840] let s:lib.Codec.decoding_table["150,251"] = [27833] let s:lib.Codec.decoding_table["150,252"] = [30290] let s:lib.Codec.decoding_table["151,64"] = [35565] let s:lib.Codec.decoding_table["151,65"] = [36664] let s:lib.Codec.decoding_table["151,66"] = [21807] let s:lib.Codec.decoding_table["151,67"] = [20305] let s:lib.Codec.decoding_table["151,68"] = [20778] let s:lib.Codec.decoding_table["151,69"] = [21191] let s:lib.Codec.decoding_table["151,70"] = [21451] let s:lib.Codec.decoding_table["151,71"] = [23461] let s:lib.Codec.decoding_table["151,72"] = [24189] let s:lib.Codec.decoding_table["151,73"] = [24736] let s:lib.Codec.decoding_table["151,74"] = [24962] let s:lib.Codec.decoding_table["151,75"] = [25558] let s:lib.Codec.decoding_table["151,76"] = [26377] let s:lib.Codec.decoding_table["151,77"] = [26586] let s:lib.Codec.decoding_table["151,78"] = [28263] let s:lib.Codec.decoding_table["151,79"] = [28044] let s:lib.Codec.decoding_table["151,80"] = [29494] let s:lib.Codec.decoding_table["151,81"] = [29495] let s:lib.Codec.decoding_table["151,82"] = [30001] let s:lib.Codec.decoding_table["151,83"] = [31056] let s:lib.Codec.decoding_table["151,84"] = [35029] let s:lib.Codec.decoding_table["151,85"] = [35480] let s:lib.Codec.decoding_table["151,86"] = [36938] let s:lib.Codec.decoding_table["151,87"] = [37009] let s:lib.Codec.decoding_table["151,88"] = [37109] let s:lib.Codec.decoding_table["151,89"] = [38596] let s:lib.Codec.decoding_table["151,90"] = [34701] let s:lib.Codec.decoding_table["151,91"] = [22805] let s:lib.Codec.decoding_table["151,92"] = [20104] let s:lib.Codec.decoding_table["151,93"] = [20313] let s:lib.Codec.decoding_table["151,94"] = [19982] let s:lib.Codec.decoding_table["151,95"] = [35465] let s:lib.Codec.decoding_table["151,96"] = [36671] let s:lib.Codec.decoding_table["151,97"] = [38928] let s:lib.Codec.decoding_table["151,98"] = [20653] let s:lib.Codec.decoding_table["151,99"] = [24188] let s:lib.Codec.decoding_table["151,100"] = [22934] let s:lib.Codec.decoding_table["151,101"] = [23481] let s:lib.Codec.decoding_table["151,102"] = [24248] let s:lib.Codec.decoding_table["151,103"] = [25562] let s:lib.Codec.decoding_table["151,104"] = [25594] let s:lib.Codec.decoding_table["151,105"] = [25793] let s:lib.Codec.decoding_table["151,106"] = [26332] let s:lib.Codec.decoding_table["151,107"] = [26954] let s:lib.Codec.decoding_table["151,108"] = [27096] let s:lib.Codec.decoding_table["151,109"] = [27915] let s:lib.Codec.decoding_table["151,110"] = [28342] let s:lib.Codec.decoding_table["151,111"] = [29076] let s:lib.Codec.decoding_table["151,112"] = [29992] let s:lib.Codec.decoding_table["151,113"] = [31407] let s:lib.Codec.decoding_table["151,114"] = [32650] let s:lib.Codec.decoding_table["151,115"] = [32768] let s:lib.Codec.decoding_table["151,116"] = [33865] let s:lib.Codec.decoding_table["151,117"] = [33993] let s:lib.Codec.decoding_table["151,118"] = [35201] let s:lib.Codec.decoding_table["151,119"] = [35617] let s:lib.Codec.decoding_table["151,120"] = [36362] let s:lib.Codec.decoding_table["151,121"] = [36965] let s:lib.Codec.decoding_table["151,122"] = [38525] let s:lib.Codec.decoding_table["151,123"] = [39178] let s:lib.Codec.decoding_table["151,124"] = [24958] let s:lib.Codec.decoding_table["151,125"] = [25233] let s:lib.Codec.decoding_table["151,126"] = [27442] let s:lib.Codec.decoding_table["151,128"] = [27779] let s:lib.Codec.decoding_table["151,129"] = [28020] let s:lib.Codec.decoding_table["151,130"] = [32716] let s:lib.Codec.decoding_table["151,131"] = [32764] let s:lib.Codec.decoding_table["151,132"] = [28096] let s:lib.Codec.decoding_table["151,133"] = [32645] let s:lib.Codec.decoding_table["151,134"] = [34746] let s:lib.Codec.decoding_table["151,135"] = [35064] let s:lib.Codec.decoding_table["151,136"] = [26469] let s:lib.Codec.decoding_table["151,137"] = [33713] let s:lib.Codec.decoding_table["151,138"] = [38972] let s:lib.Codec.decoding_table["151,139"] = [38647] let s:lib.Codec.decoding_table["151,140"] = [27931] let s:lib.Codec.decoding_table["151,141"] = [32097] let s:lib.Codec.decoding_table["151,142"] = [33853] let s:lib.Codec.decoding_table["151,143"] = [37226] let s:lib.Codec.decoding_table["151,144"] = [20081] let s:lib.Codec.decoding_table["151,145"] = [21365] let s:lib.Codec.decoding_table["151,146"] = [23888] let s:lib.Codec.decoding_table["151,147"] = [27396] let s:lib.Codec.decoding_table["151,148"] = [28651] let s:lib.Codec.decoding_table["151,149"] = [34253] let s:lib.Codec.decoding_table["151,150"] = [34349] let s:lib.Codec.decoding_table["151,151"] = [35239] let s:lib.Codec.decoding_table["151,152"] = [21033] let s:lib.Codec.decoding_table["151,153"] = [21519] let s:lib.Codec.decoding_table["151,154"] = [23653] let s:lib.Codec.decoding_table["151,155"] = [26446] let s:lib.Codec.decoding_table["151,156"] = [26792] let s:lib.Codec.decoding_table["151,157"] = [29702] let s:lib.Codec.decoding_table["151,158"] = [29827] let s:lib.Codec.decoding_table["151,159"] = [30178] let s:lib.Codec.decoding_table["151,160"] = [35023] let s:lib.Codec.decoding_table["151,161"] = [35041] let s:lib.Codec.decoding_table["151,162"] = [37324] let s:lib.Codec.decoding_table["151,163"] = [38626] let s:lib.Codec.decoding_table["151,164"] = [38520] let s:lib.Codec.decoding_table["151,165"] = [24459] let s:lib.Codec.decoding_table["151,166"] = [29575] let s:lib.Codec.decoding_table["151,167"] = [31435] let s:lib.Codec.decoding_table["151,168"] = [33870] let s:lib.Codec.decoding_table["151,169"] = [25504] let s:lib.Codec.decoding_table["151,170"] = [30053] let s:lib.Codec.decoding_table["151,171"] = [21129] let s:lib.Codec.decoding_table["151,172"] = [27969] let s:lib.Codec.decoding_table["151,173"] = [28316] let s:lib.Codec.decoding_table["151,174"] = [29705] let s:lib.Codec.decoding_table["151,175"] = [30041] let s:lib.Codec.decoding_table["151,176"] = [30827] let s:lib.Codec.decoding_table["151,177"] = [31890] let s:lib.Codec.decoding_table["151,178"] = [38534] let s:lib.Codec.decoding_table["151,179"] = [31452] let s:lib.Codec.decoding_table["151,180"] = [40845] let s:lib.Codec.decoding_table["151,181"] = [20406] let s:lib.Codec.decoding_table["151,182"] = [24942] let s:lib.Codec.decoding_table["151,183"] = [26053] let s:lib.Codec.decoding_table["151,184"] = [34396] let s:lib.Codec.decoding_table["151,185"] = [20102] let s:lib.Codec.decoding_table["151,186"] = [20142] let s:lib.Codec.decoding_table["151,187"] = [20698] let s:lib.Codec.decoding_table["151,188"] = [20001] let s:lib.Codec.decoding_table["151,189"] = [20940] let s:lib.Codec.decoding_table["151,190"] = [23534] let s:lib.Codec.decoding_table["151,191"] = [26009] let s:lib.Codec.decoding_table["151,192"] = [26753] let s:lib.Codec.decoding_table["151,193"] = [28092] let s:lib.Codec.decoding_table["151,194"] = [29471] let s:lib.Codec.decoding_table["151,195"] = [30274] let s:lib.Codec.decoding_table["151,196"] = [30637] let s:lib.Codec.decoding_table["151,197"] = [31260] let s:lib.Codec.decoding_table["151,198"] = [31975] let s:lib.Codec.decoding_table["151,199"] = [33391] let s:lib.Codec.decoding_table["151,200"] = [35538] let s:lib.Codec.decoding_table["151,201"] = [36988] let s:lib.Codec.decoding_table["151,202"] = [37327] let s:lib.Codec.decoding_table["151,203"] = [38517] let s:lib.Codec.decoding_table["151,204"] = [38936] let s:lib.Codec.decoding_table["151,205"] = [21147] let s:lib.Codec.decoding_table["151,206"] = [32209] let s:lib.Codec.decoding_table["151,207"] = [20523] let s:lib.Codec.decoding_table["151,208"] = [21400] let s:lib.Codec.decoding_table["151,209"] = [26519] let s:lib.Codec.decoding_table["151,210"] = [28107] let s:lib.Codec.decoding_table["151,211"] = [29136] let s:lib.Codec.decoding_table["151,212"] = [29747] let s:lib.Codec.decoding_table["151,213"] = [33256] let s:lib.Codec.decoding_table["151,214"] = [36650] let s:lib.Codec.decoding_table["151,215"] = [38563] let s:lib.Codec.decoding_table["151,216"] = [40023] let s:lib.Codec.decoding_table["151,217"] = [40607] let s:lib.Codec.decoding_table["151,218"] = [29792] let s:lib.Codec.decoding_table["151,219"] = [22593] let s:lib.Codec.decoding_table["151,220"] = [28057] let s:lib.Codec.decoding_table["151,221"] = [32047] let s:lib.Codec.decoding_table["151,222"] = [39006] let s:lib.Codec.decoding_table["151,223"] = [20196] let s:lib.Codec.decoding_table["151,224"] = [20278] let s:lib.Codec.decoding_table["151,225"] = [20363] let s:lib.Codec.decoding_table["151,226"] = [20919] let s:lib.Codec.decoding_table["151,227"] = [21169] let s:lib.Codec.decoding_table["151,228"] = [23994] let s:lib.Codec.decoding_table["151,229"] = [24604] let s:lib.Codec.decoding_table["151,230"] = [29618] let s:lib.Codec.decoding_table["151,231"] = [31036] let s:lib.Codec.decoding_table["151,232"] = [33491] let s:lib.Codec.decoding_table["151,233"] = [37428] let s:lib.Codec.decoding_table["151,234"] = [38583] let s:lib.Codec.decoding_table["151,235"] = [38646] let s:lib.Codec.decoding_table["151,236"] = [38666] let s:lib.Codec.decoding_table["151,237"] = [40599] let s:lib.Codec.decoding_table["151,238"] = [40802] let s:lib.Codec.decoding_table["151,239"] = [26278] let s:lib.Codec.decoding_table["151,240"] = [27508] let s:lib.Codec.decoding_table["151,241"] = [21015] let s:lib.Codec.decoding_table["151,242"] = [21155] let s:lib.Codec.decoding_table["151,243"] = [28872] let s:lib.Codec.decoding_table["151,244"] = [35010] let s:lib.Codec.decoding_table["151,245"] = [24265] let s:lib.Codec.decoding_table["151,246"] = [24651] let s:lib.Codec.decoding_table["151,247"] = [24976] let s:lib.Codec.decoding_table["151,248"] = [28451] let s:lib.Codec.decoding_table["151,249"] = [29001] let s:lib.Codec.decoding_table["151,250"] = [31806] let s:lib.Codec.decoding_table["151,251"] = [32244] let s:lib.Codec.decoding_table["151,252"] = [32879] let s:lib.Codec.decoding_table["152,64"] = [34030] let s:lib.Codec.decoding_table["152,65"] = [36899] let s:lib.Codec.decoding_table["152,66"] = [37676] let s:lib.Codec.decoding_table["152,67"] = [21570] let s:lib.Codec.decoding_table["152,68"] = [39791] let s:lib.Codec.decoding_table["152,69"] = [27347] let s:lib.Codec.decoding_table["152,70"] = [28809] let s:lib.Codec.decoding_table["152,71"] = [36034] let s:lib.Codec.decoding_table["152,72"] = [36335] let s:lib.Codec.decoding_table["152,73"] = [38706] let s:lib.Codec.decoding_table["152,74"] = [21172] let s:lib.Codec.decoding_table["152,75"] = [23105] let s:lib.Codec.decoding_table["152,76"] = [24266] let s:lib.Codec.decoding_table["152,77"] = [24324] let s:lib.Codec.decoding_table["152,78"] = [26391] let s:lib.Codec.decoding_table["152,79"] = [27004] let s:lib.Codec.decoding_table["152,80"] = [27028] let s:lib.Codec.decoding_table["152,81"] = [28010] let s:lib.Codec.decoding_table["152,82"] = [28431] let s:lib.Codec.decoding_table["152,83"] = [29282] let s:lib.Codec.decoding_table["152,84"] = [29436] let s:lib.Codec.decoding_table["152,85"] = [31725] let s:lib.Codec.decoding_table["152,86"] = [32769] let s:lib.Codec.decoding_table["152,87"] = [32894] let s:lib.Codec.decoding_table["152,88"] = [34635] let s:lib.Codec.decoding_table["152,89"] = [37070] let s:lib.Codec.decoding_table["152,90"] = [20845] let s:lib.Codec.decoding_table["152,91"] = [40595] let s:lib.Codec.decoding_table["152,92"] = [31108] let s:lib.Codec.decoding_table["152,93"] = [32907] let s:lib.Codec.decoding_table["152,94"] = [37682] let s:lib.Codec.decoding_table["152,95"] = [35542] let s:lib.Codec.decoding_table["152,96"] = [20525] let s:lib.Codec.decoding_table["152,97"] = [21644] let s:lib.Codec.decoding_table["152,98"] = [35441] let s:lib.Codec.decoding_table["152,99"] = [27498] let s:lib.Codec.decoding_table["152,100"] = [36036] let s:lib.Codec.decoding_table["152,101"] = [33031] let s:lib.Codec.decoding_table["152,102"] = [24785] let s:lib.Codec.decoding_table["152,103"] = [26528] let s:lib.Codec.decoding_table["152,104"] = [40434] let s:lib.Codec.decoding_table["152,105"] = [20121] let s:lib.Codec.decoding_table["152,106"] = [20120] let s:lib.Codec.decoding_table["152,107"] = [39952] let s:lib.Codec.decoding_table["152,108"] = [35435] let s:lib.Codec.decoding_table["152,109"] = [34241] let s:lib.Codec.decoding_table["152,110"] = [34152] let s:lib.Codec.decoding_table["152,111"] = [26880] let s:lib.Codec.decoding_table["152,112"] = [28286] let s:lib.Codec.decoding_table["152,113"] = [30871] let s:lib.Codec.decoding_table["152,114"] = [33109] let s:lib.Codec.decoding_table["152,159"] = [24332] let s:lib.Codec.decoding_table["152,160"] = [19984] let s:lib.Codec.decoding_table["152,161"] = [19989] let s:lib.Codec.decoding_table["152,162"] = [20010] let s:lib.Codec.decoding_table["152,163"] = [20017] let s:lib.Codec.decoding_table["152,164"] = [20022] let s:lib.Codec.decoding_table["152,165"] = [20028] let s:lib.Codec.decoding_table["152,166"] = [20031] let s:lib.Codec.decoding_table["152,167"] = [20034] let s:lib.Codec.decoding_table["152,168"] = [20054] let s:lib.Codec.decoding_table["152,169"] = [20056] let s:lib.Codec.decoding_table["152,170"] = [20098] let s:lib.Codec.decoding_table["152,171"] = [20101] let s:lib.Codec.decoding_table["152,172"] = [35947] let s:lib.Codec.decoding_table["152,173"] = [20106] let s:lib.Codec.decoding_table["152,174"] = [33298] let s:lib.Codec.decoding_table["152,175"] = [24333] let s:lib.Codec.decoding_table["152,176"] = [20110] let s:lib.Codec.decoding_table["152,177"] = [20126] let s:lib.Codec.decoding_table["152,178"] = [20127] let s:lib.Codec.decoding_table["152,179"] = [20128] let s:lib.Codec.decoding_table["152,180"] = [20130] let s:lib.Codec.decoding_table["152,181"] = [20144] let s:lib.Codec.decoding_table["152,182"] = [20147] let s:lib.Codec.decoding_table["152,183"] = [20150] let s:lib.Codec.decoding_table["152,184"] = [20174] let s:lib.Codec.decoding_table["152,185"] = [20173] let s:lib.Codec.decoding_table["152,186"] = [20164] let s:lib.Codec.decoding_table["152,187"] = [20166] let s:lib.Codec.decoding_table["152,188"] = [20162] let s:lib.Codec.decoding_table["152,189"] = [20183] let s:lib.Codec.decoding_table["152,190"] = [20190] let s:lib.Codec.decoding_table["152,191"] = [20205] let s:lib.Codec.decoding_table["152,192"] = [20191] let s:lib.Codec.decoding_table["152,193"] = [20215] let s:lib.Codec.decoding_table["152,194"] = [20233] let s:lib.Codec.decoding_table["152,195"] = [20314] let s:lib.Codec.decoding_table["152,196"] = [20272] let s:lib.Codec.decoding_table["152,197"] = [20315] let s:lib.Codec.decoding_table["152,198"] = [20317] let s:lib.Codec.decoding_table["152,199"] = [20311] let s:lib.Codec.decoding_table["152,200"] = [20295] let s:lib.Codec.decoding_table["152,201"] = [20342] let s:lib.Codec.decoding_table["152,202"] = [20360] let s:lib.Codec.decoding_table["152,203"] = [20367] let s:lib.Codec.decoding_table["152,204"] = [20376] let s:lib.Codec.decoding_table["152,205"] = [20347] let s:lib.Codec.decoding_table["152,206"] = [20329] let s:lib.Codec.decoding_table["152,207"] = [20336] let s:lib.Codec.decoding_table["152,208"] = [20369] let s:lib.Codec.decoding_table["152,209"] = [20335] let s:lib.Codec.decoding_table["152,210"] = [20358] let s:lib.Codec.decoding_table["152,211"] = [20374] let s:lib.Codec.decoding_table["152,212"] = [20760] let s:lib.Codec.decoding_table["152,213"] = [20436] let s:lib.Codec.decoding_table["152,214"] = [20447] let s:lib.Codec.decoding_table["152,215"] = [20430] let s:lib.Codec.decoding_table["152,216"] = [20440] let s:lib.Codec.decoding_table["152,217"] = [20443] let s:lib.Codec.decoding_table["152,218"] = [20433] let s:lib.Codec.decoding_table["152,219"] = [20442] let s:lib.Codec.decoding_table["152,220"] = [20432] let s:lib.Codec.decoding_table["152,221"] = [20452] let s:lib.Codec.decoding_table["152,222"] = [20453] let s:lib.Codec.decoding_table["152,223"] = [20506] let s:lib.Codec.decoding_table["152,224"] = [20520] let s:lib.Codec.decoding_table["152,225"] = [20500] let s:lib.Codec.decoding_table["152,226"] = [20522] let s:lib.Codec.decoding_table["152,227"] = [20517] let s:lib.Codec.decoding_table["152,228"] = [20485] let s:lib.Codec.decoding_table["152,229"] = [20252] let s:lib.Codec.decoding_table["152,230"] = [20470] let s:lib.Codec.decoding_table["152,231"] = [20513] let s:lib.Codec.decoding_table["152,232"] = [20521] let s:lib.Codec.decoding_table["152,233"] = [20524] let s:lib.Codec.decoding_table["152,234"] = [20478] let s:lib.Codec.decoding_table["152,235"] = [20463] let s:lib.Codec.decoding_table["152,236"] = [20497] let s:lib.Codec.decoding_table["152,237"] = [20486] let s:lib.Codec.decoding_table["152,238"] = [20547] let s:lib.Codec.decoding_table["152,239"] = [20551] let s:lib.Codec.decoding_table["152,240"] = [26371] let s:lib.Codec.decoding_table["152,241"] = [20565] let s:lib.Codec.decoding_table["152,242"] = [20560] let s:lib.Codec.decoding_table["152,243"] = [20552] let s:lib.Codec.decoding_table["152,244"] = [20570] let s:lib.Codec.decoding_table["152,245"] = [20566] let s:lib.Codec.decoding_table["152,246"] = [20588] let s:lib.Codec.decoding_table["152,247"] = [20600] let s:lib.Codec.decoding_table["152,248"] = [20608] let s:lib.Codec.decoding_table["152,249"] = [20634] let s:lib.Codec.decoding_table["152,250"] = [20613] let s:lib.Codec.decoding_table["152,251"] = [20660] let s:lib.Codec.decoding_table["152,252"] = [20658] let s:lib.Codec.decoding_table["153,64"] = [20681] let s:lib.Codec.decoding_table["153,65"] = [20682] let s:lib.Codec.decoding_table["153,66"] = [20659] let s:lib.Codec.decoding_table["153,67"] = [20674] let s:lib.Codec.decoding_table["153,68"] = [20694] let s:lib.Codec.decoding_table["153,69"] = [20702] let s:lib.Codec.decoding_table["153,70"] = [20709] let s:lib.Codec.decoding_table["153,71"] = [20717] let s:lib.Codec.decoding_table["153,72"] = [20707] let s:lib.Codec.decoding_table["153,73"] = [20718] let s:lib.Codec.decoding_table["153,74"] = [20729] let s:lib.Codec.decoding_table["153,75"] = [20725] let s:lib.Codec.decoding_table["153,76"] = [20745] let s:lib.Codec.decoding_table["153,77"] = [20737] let s:lib.Codec.decoding_table["153,78"] = [20738] let s:lib.Codec.decoding_table["153,79"] = [20758] let s:lib.Codec.decoding_table["153,80"] = [20757] let s:lib.Codec.decoding_table["153,81"] = [20756] let s:lib.Codec.decoding_table["153,82"] = [20762] let s:lib.Codec.decoding_table["153,83"] = [20769] let s:lib.Codec.decoding_table["153,84"] = [20794] let s:lib.Codec.decoding_table["153,85"] = [20791] let s:lib.Codec.decoding_table["153,86"] = [20796] let s:lib.Codec.decoding_table["153,87"] = [20795] let s:lib.Codec.decoding_table["153,88"] = [20799] let s:lib.Codec.decoding_table["153,89"] = [20800] let s:lib.Codec.decoding_table["153,90"] = [20818] let s:lib.Codec.decoding_table["153,91"] = [20812] let s:lib.Codec.decoding_table["153,92"] = [20820] let s:lib.Codec.decoding_table["153,93"] = [20834] let s:lib.Codec.decoding_table["153,94"] = [31480] let s:lib.Codec.decoding_table["153,95"] = [20841] let s:lib.Codec.decoding_table["153,96"] = [20842] let s:lib.Codec.decoding_table["153,97"] = [20846] let s:lib.Codec.decoding_table["153,98"] = [20864] let s:lib.Codec.decoding_table["153,99"] = [20866] let s:lib.Codec.decoding_table["153,100"] = [22232] let s:lib.Codec.decoding_table["153,101"] = [20876] let s:lib.Codec.decoding_table["153,102"] = [20873] let s:lib.Codec.decoding_table["153,103"] = [20879] let s:lib.Codec.decoding_table["153,104"] = [20881] let s:lib.Codec.decoding_table["153,105"] = [20883] let s:lib.Codec.decoding_table["153,106"] = [20885] let s:lib.Codec.decoding_table["153,107"] = [20886] let s:lib.Codec.decoding_table["153,108"] = [20900] let s:lib.Codec.decoding_table["153,109"] = [20902] let s:lib.Codec.decoding_table["153,110"] = [20898] let s:lib.Codec.decoding_table["153,111"] = [20905] let s:lib.Codec.decoding_table["153,112"] = [20906] let s:lib.Codec.decoding_table["153,113"] = [20907] let s:lib.Codec.decoding_table["153,114"] = [20915] let s:lib.Codec.decoding_table["153,115"] = [20913] let s:lib.Codec.decoding_table["153,116"] = [20914] let s:lib.Codec.decoding_table["153,117"] = [20912] let s:lib.Codec.decoding_table["153,118"] = [20917] let s:lib.Codec.decoding_table["153,119"] = [20925] let s:lib.Codec.decoding_table["153,120"] = [20933] let s:lib.Codec.decoding_table["153,121"] = [20937] let s:lib.Codec.decoding_table["153,122"] = [20955] let s:lib.Codec.decoding_table["153,123"] = [20960] let s:lib.Codec.decoding_table["153,124"] = [34389] let s:lib.Codec.decoding_table["153,125"] = [20969] let s:lib.Codec.decoding_table["153,126"] = [20973] let s:lib.Codec.decoding_table["153,128"] = [20976] let s:lib.Codec.decoding_table["153,129"] = [20981] let s:lib.Codec.decoding_table["153,130"] = [20990] let s:lib.Codec.decoding_table["153,131"] = [20996] let s:lib.Codec.decoding_table["153,132"] = [21003] let s:lib.Codec.decoding_table["153,133"] = [21012] let s:lib.Codec.decoding_table["153,134"] = [21006] let s:lib.Codec.decoding_table["153,135"] = [21031] let s:lib.Codec.decoding_table["153,136"] = [21034] let s:lib.Codec.decoding_table["153,137"] = [21038] let s:lib.Codec.decoding_table["153,138"] = [21043] let s:lib.Codec.decoding_table["153,139"] = [21049] let s:lib.Codec.decoding_table["153,140"] = [21071] let s:lib.Codec.decoding_table["153,141"] = [21060] let s:lib.Codec.decoding_table["153,142"] = [21067] let s:lib.Codec.decoding_table["153,143"] = [21068] let s:lib.Codec.decoding_table["153,144"] = [21086] let s:lib.Codec.decoding_table["153,145"] = [21076] let s:lib.Codec.decoding_table["153,146"] = [21098] let s:lib.Codec.decoding_table["153,147"] = [21108] let s:lib.Codec.decoding_table["153,148"] = [21097] let s:lib.Codec.decoding_table["153,149"] = [21107] let s:lib.Codec.decoding_table["153,150"] = [21119] let s:lib.Codec.decoding_table["153,151"] = [21117] let s:lib.Codec.decoding_table["153,152"] = [21133] let s:lib.Codec.decoding_table["153,153"] = [21140] let s:lib.Codec.decoding_table["153,154"] = [21138] let s:lib.Codec.decoding_table["153,155"] = [21105] let s:lib.Codec.decoding_table["153,156"] = [21128] let s:lib.Codec.decoding_table["153,157"] = [21137] let s:lib.Codec.decoding_table["153,158"] = [36776] let s:lib.Codec.decoding_table["153,159"] = [36775] let s:lib.Codec.decoding_table["153,160"] = [21164] let s:lib.Codec.decoding_table["153,161"] = [21165] let s:lib.Codec.decoding_table["153,162"] = [21180] let s:lib.Codec.decoding_table["153,163"] = [21173] let s:lib.Codec.decoding_table["153,164"] = [21185] let s:lib.Codec.decoding_table["153,165"] = [21197] let s:lib.Codec.decoding_table["153,166"] = [21207] let s:lib.Codec.decoding_table["153,167"] = [21214] let s:lib.Codec.decoding_table["153,168"] = [21219] let s:lib.Codec.decoding_table["153,169"] = [21222] let s:lib.Codec.decoding_table["153,170"] = [39149] let s:lib.Codec.decoding_table["153,171"] = [21216] let s:lib.Codec.decoding_table["153,172"] = [21235] let s:lib.Codec.decoding_table["153,173"] = [21237] let s:lib.Codec.decoding_table["153,174"] = [21240] let s:lib.Codec.decoding_table["153,175"] = [21241] let s:lib.Codec.decoding_table["153,176"] = [21254] let s:lib.Codec.decoding_table["153,177"] = [21256] let s:lib.Codec.decoding_table["153,178"] = [30008] let s:lib.Codec.decoding_table["153,179"] = [21261] let s:lib.Codec.decoding_table["153,180"] = [21264] let s:lib.Codec.decoding_table["153,181"] = [21263] let s:lib.Codec.decoding_table["153,182"] = [21269] let s:lib.Codec.decoding_table["153,183"] = [21274] let s:lib.Codec.decoding_table["153,184"] = [21283] let s:lib.Codec.decoding_table["153,185"] = [21295] let s:lib.Codec.decoding_table["153,186"] = [21297] let s:lib.Codec.decoding_table["153,187"] = [21299] let s:lib.Codec.decoding_table["153,188"] = [21304] let s:lib.Codec.decoding_table["153,189"] = [21312] let s:lib.Codec.decoding_table["153,190"] = [21318] let s:lib.Codec.decoding_table["153,191"] = [21317] let s:lib.Codec.decoding_table["153,192"] = [19991] let s:lib.Codec.decoding_table["153,193"] = [21321] let s:lib.Codec.decoding_table["153,194"] = [21325] let s:lib.Codec.decoding_table["153,195"] = [20950] let s:lib.Codec.decoding_table["153,196"] = [21342] let s:lib.Codec.decoding_table["153,197"] = [21353] let s:lib.Codec.decoding_table["153,198"] = [21358] let s:lib.Codec.decoding_table["153,199"] = [22808] let s:lib.Codec.decoding_table["153,200"] = [21371] let s:lib.Codec.decoding_table["153,201"] = [21367] let s:lib.Codec.decoding_table["153,202"] = [21378] let s:lib.Codec.decoding_table["153,203"] = [21398] let s:lib.Codec.decoding_table["153,204"] = [21408] let s:lib.Codec.decoding_table["153,205"] = [21414] let s:lib.Codec.decoding_table["153,206"] = [21413] let s:lib.Codec.decoding_table["153,207"] = [21422] let s:lib.Codec.decoding_table["153,208"] = [21424] let s:lib.Codec.decoding_table["153,209"] = [21430] let s:lib.Codec.decoding_table["153,210"] = [21443] let s:lib.Codec.decoding_table["153,211"] = [31762] let s:lib.Codec.decoding_table["153,212"] = [38617] let s:lib.Codec.decoding_table["153,213"] = [21471] let s:lib.Codec.decoding_table["153,214"] = [26364] let s:lib.Codec.decoding_table["153,215"] = [29166] let s:lib.Codec.decoding_table["153,216"] = [21486] let s:lib.Codec.decoding_table["153,217"] = [21480] let s:lib.Codec.decoding_table["153,218"] = [21485] let s:lib.Codec.decoding_table["153,219"] = [21498] let s:lib.Codec.decoding_table["153,220"] = [21505] let s:lib.Codec.decoding_table["153,221"] = [21565] let s:lib.Codec.decoding_table["153,222"] = [21568] let s:lib.Codec.decoding_table["153,223"] = [21548] let s:lib.Codec.decoding_table["153,224"] = [21549] let s:lib.Codec.decoding_table["153,225"] = [21564] let s:lib.Codec.decoding_table["153,226"] = [21550] let s:lib.Codec.decoding_table["153,227"] = [21558] let s:lib.Codec.decoding_table["153,228"] = [21545] let s:lib.Codec.decoding_table["153,229"] = [21533] let s:lib.Codec.decoding_table["153,230"] = [21582] let s:lib.Codec.decoding_table["153,231"] = [21647] let s:lib.Codec.decoding_table["153,232"] = [21621] let s:lib.Codec.decoding_table["153,233"] = [21646] let s:lib.Codec.decoding_table["153,234"] = [21599] let s:lib.Codec.decoding_table["153,235"] = [21617] let s:lib.Codec.decoding_table["153,236"] = [21623] let s:lib.Codec.decoding_table["153,237"] = [21616] let s:lib.Codec.decoding_table["153,238"] = [21650] let s:lib.Codec.decoding_table["153,239"] = [21627] let s:lib.Codec.decoding_table["153,240"] = [21632] let s:lib.Codec.decoding_table["153,241"] = [21622] let s:lib.Codec.decoding_table["153,242"] = [21636] let s:lib.Codec.decoding_table["153,243"] = [21648] let s:lib.Codec.decoding_table["153,244"] = [21638] let s:lib.Codec.decoding_table["153,245"] = [21703] let s:lib.Codec.decoding_table["153,246"] = [21666] let s:lib.Codec.decoding_table["153,247"] = [21688] let s:lib.Codec.decoding_table["153,248"] = [21669] let s:lib.Codec.decoding_table["153,249"] = [21676] let s:lib.Codec.decoding_table["153,250"] = [21700] let s:lib.Codec.decoding_table["153,251"] = [21704] let s:lib.Codec.decoding_table["153,252"] = [21672] let s:lib.Codec.decoding_table["154,64"] = [21675] let s:lib.Codec.decoding_table["154,65"] = [21698] let s:lib.Codec.decoding_table["154,66"] = [21668] let s:lib.Codec.decoding_table["154,67"] = [21694] let s:lib.Codec.decoding_table["154,68"] = [21692] let s:lib.Codec.decoding_table["154,69"] = [21720] let s:lib.Codec.decoding_table["154,70"] = [21733] let s:lib.Codec.decoding_table["154,71"] = [21734] let s:lib.Codec.decoding_table["154,72"] = [21775] let s:lib.Codec.decoding_table["154,73"] = [21780] let s:lib.Codec.decoding_table["154,74"] = [21757] let s:lib.Codec.decoding_table["154,75"] = [21742] let s:lib.Codec.decoding_table["154,76"] = [21741] let s:lib.Codec.decoding_table["154,77"] = [21754] let s:lib.Codec.decoding_table["154,78"] = [21730] let s:lib.Codec.decoding_table["154,79"] = [21817] let s:lib.Codec.decoding_table["154,80"] = [21824] let s:lib.Codec.decoding_table["154,81"] = [21859] let s:lib.Codec.decoding_table["154,82"] = [21836] let s:lib.Codec.decoding_table["154,83"] = [21806] let s:lib.Codec.decoding_table["154,84"] = [21852] let s:lib.Codec.decoding_table["154,85"] = [21829] let s:lib.Codec.decoding_table["154,86"] = [21846] let s:lib.Codec.decoding_table["154,87"] = [21847] let s:lib.Codec.decoding_table["154,88"] = [21816] let s:lib.Codec.decoding_table["154,89"] = [21811] let s:lib.Codec.decoding_table["154,90"] = [21853] let s:lib.Codec.decoding_table["154,91"] = [21913] let s:lib.Codec.decoding_table["154,92"] = [21888] let s:lib.Codec.decoding_table["154,93"] = [21679] let s:lib.Codec.decoding_table["154,94"] = [21898] let s:lib.Codec.decoding_table["154,95"] = [21919] let s:lib.Codec.decoding_table["154,96"] = [21883] let s:lib.Codec.decoding_table["154,97"] = [21886] let s:lib.Codec.decoding_table["154,98"] = [21912] let s:lib.Codec.decoding_table["154,99"] = [21918] let s:lib.Codec.decoding_table["154,100"] = [21934] let s:lib.Codec.decoding_table["154,101"] = [21884] let s:lib.Codec.decoding_table["154,102"] = [21891] let s:lib.Codec.decoding_table["154,103"] = [21929] let s:lib.Codec.decoding_table["154,104"] = [21895] let s:lib.Codec.decoding_table["154,105"] = [21928] let s:lib.Codec.decoding_table["154,106"] = [21978] let s:lib.Codec.decoding_table["154,107"] = [21957] let s:lib.Codec.decoding_table["154,108"] = [21983] let s:lib.Codec.decoding_table["154,109"] = [21956] let s:lib.Codec.decoding_table["154,110"] = [21980] let s:lib.Codec.decoding_table["154,111"] = [21988] let s:lib.Codec.decoding_table["154,112"] = [21972] let s:lib.Codec.decoding_table["154,113"] = [22036] let s:lib.Codec.decoding_table["154,114"] = [22007] let s:lib.Codec.decoding_table["154,115"] = [22038] let s:lib.Codec.decoding_table["154,116"] = [22014] let s:lib.Codec.decoding_table["154,117"] = [22013] let s:lib.Codec.decoding_table["154,118"] = [22043] let s:lib.Codec.decoding_table["154,119"] = [22009] let s:lib.Codec.decoding_table["154,120"] = [22094] let s:lib.Codec.decoding_table["154,121"] = [22096] let s:lib.Codec.decoding_table["154,122"] = [29151] let s:lib.Codec.decoding_table["154,123"] = [22068] let s:lib.Codec.decoding_table["154,124"] = [22070] let s:lib.Codec.decoding_table["154,125"] = [22066] let s:lib.Codec.decoding_table["154,126"] = [22072] let s:lib.Codec.decoding_table["154,128"] = [22123] let s:lib.Codec.decoding_table["154,129"] = [22116] let s:lib.Codec.decoding_table["154,130"] = [22063] let s:lib.Codec.decoding_table["154,131"] = [22124] let s:lib.Codec.decoding_table["154,132"] = [22122] let s:lib.Codec.decoding_table["154,133"] = [22150] let s:lib.Codec.decoding_table["154,134"] = [22144] let s:lib.Codec.decoding_table["154,135"] = [22154] let s:lib.Codec.decoding_table["154,136"] = [22176] let s:lib.Codec.decoding_table["154,137"] = [22164] let s:lib.Codec.decoding_table["154,138"] = [22159] let s:lib.Codec.decoding_table["154,139"] = [22181] let s:lib.Codec.decoding_table["154,140"] = [22190] let s:lib.Codec.decoding_table["154,141"] = [22198] let s:lib.Codec.decoding_table["154,142"] = [22196] let s:lib.Codec.decoding_table["154,143"] = [22210] let s:lib.Codec.decoding_table["154,144"] = [22204] let s:lib.Codec.decoding_table["154,145"] = [22209] let s:lib.Codec.decoding_table["154,146"] = [22211] let s:lib.Codec.decoding_table["154,147"] = [22208] let s:lib.Codec.decoding_table["154,148"] = [22216] let s:lib.Codec.decoding_table["154,149"] = [22222] let s:lib.Codec.decoding_table["154,150"] = [22225] let s:lib.Codec.decoding_table["154,151"] = [22227] let s:lib.Codec.decoding_table["154,152"] = [22231] let s:lib.Codec.decoding_table["154,153"] = [22254] let s:lib.Codec.decoding_table["154,154"] = [22265] let s:lib.Codec.decoding_table["154,155"] = [22272] let s:lib.Codec.decoding_table["154,156"] = [22271] let s:lib.Codec.decoding_table["154,157"] = [22276] let s:lib.Codec.decoding_table["154,158"] = [22281] let s:lib.Codec.decoding_table["154,159"] = [22280] let s:lib.Codec.decoding_table["154,160"] = [22283] let s:lib.Codec.decoding_table["154,161"] = [22285] let s:lib.Codec.decoding_table["154,162"] = [22291] let s:lib.Codec.decoding_table["154,163"] = [22296] let s:lib.Codec.decoding_table["154,164"] = [22294] let s:lib.Codec.decoding_table["154,165"] = [21959] let s:lib.Codec.decoding_table["154,166"] = [22300] let s:lib.Codec.decoding_table["154,167"] = [22310] let s:lib.Codec.decoding_table["154,168"] = [22327] let s:lib.Codec.decoding_table["154,169"] = [22328] let s:lib.Codec.decoding_table["154,170"] = [22350] let s:lib.Codec.decoding_table["154,171"] = [22331] let s:lib.Codec.decoding_table["154,172"] = [22336] let s:lib.Codec.decoding_table["154,173"] = [22351] let s:lib.Codec.decoding_table["154,174"] = [22377] let s:lib.Codec.decoding_table["154,175"] = [22464] let s:lib.Codec.decoding_table["154,176"] = [22408] let s:lib.Codec.decoding_table["154,177"] = [22369] let s:lib.Codec.decoding_table["154,178"] = [22399] let s:lib.Codec.decoding_table["154,179"] = [22409] let s:lib.Codec.decoding_table["154,180"] = [22419] let s:lib.Codec.decoding_table["154,181"] = [22432] let s:lib.Codec.decoding_table["154,182"] = [22451] let s:lib.Codec.decoding_table["154,183"] = [22436] let s:lib.Codec.decoding_table["154,184"] = [22442] let s:lib.Codec.decoding_table["154,185"] = [22448] let s:lib.Codec.decoding_table["154,186"] = [22467] let s:lib.Codec.decoding_table["154,187"] = [22470] let s:lib.Codec.decoding_table["154,188"] = [22484] let s:lib.Codec.decoding_table["154,189"] = [22482] let s:lib.Codec.decoding_table["154,190"] = [22483] let s:lib.Codec.decoding_table["154,191"] = [22538] let s:lib.Codec.decoding_table["154,192"] = [22486] let s:lib.Codec.decoding_table["154,193"] = [22499] let s:lib.Codec.decoding_table["154,194"] = [22539] let s:lib.Codec.decoding_table["154,195"] = [22553] let s:lib.Codec.decoding_table["154,196"] = [22557] let s:lib.Codec.decoding_table["154,197"] = [22642] let s:lib.Codec.decoding_table["154,198"] = [22561] let s:lib.Codec.decoding_table["154,199"] = [22626] let s:lib.Codec.decoding_table["154,200"] = [22603] let s:lib.Codec.decoding_table["154,201"] = [22640] let s:lib.Codec.decoding_table["154,202"] = [27584] let s:lib.Codec.decoding_table["154,203"] = [22610] let s:lib.Codec.decoding_table["154,204"] = [22589] let s:lib.Codec.decoding_table["154,205"] = [22649] let s:lib.Codec.decoding_table["154,206"] = [22661] let s:lib.Codec.decoding_table["154,207"] = [22713] let s:lib.Codec.decoding_table["154,208"] = [22687] let s:lib.Codec.decoding_table["154,209"] = [22699] let s:lib.Codec.decoding_table["154,210"] = [22714] let s:lib.Codec.decoding_table["154,211"] = [22750] let s:lib.Codec.decoding_table["154,212"] = [22715] let s:lib.Codec.decoding_table["154,213"] = [22712] let s:lib.Codec.decoding_table["154,214"] = [22702] let s:lib.Codec.decoding_table["154,215"] = [22725] let s:lib.Codec.decoding_table["154,216"] = [22739] let s:lib.Codec.decoding_table["154,217"] = [22737] let s:lib.Codec.decoding_table["154,218"] = [22743] let s:lib.Codec.decoding_table["154,219"] = [22745] let s:lib.Codec.decoding_table["154,220"] = [22744] let s:lib.Codec.decoding_table["154,221"] = [22757] let s:lib.Codec.decoding_table["154,222"] = [22748] let s:lib.Codec.decoding_table["154,223"] = [22756] let s:lib.Codec.decoding_table["154,224"] = [22751] let s:lib.Codec.decoding_table["154,225"] = [22767] let s:lib.Codec.decoding_table["154,226"] = [22778] let s:lib.Codec.decoding_table["154,227"] = [22777] let s:lib.Codec.decoding_table["154,228"] = [22779] let s:lib.Codec.decoding_table["154,229"] = [22780] let s:lib.Codec.decoding_table["154,230"] = [22781] let s:lib.Codec.decoding_table["154,231"] = [22786] let s:lib.Codec.decoding_table["154,232"] = [22794] let s:lib.Codec.decoding_table["154,233"] = [22800] let s:lib.Codec.decoding_table["154,234"] = [22811] let s:lib.Codec.decoding_table["154,235"] = [26790] let s:lib.Codec.decoding_table["154,236"] = [22821] let s:lib.Codec.decoding_table["154,237"] = [22828] let s:lib.Codec.decoding_table["154,238"] = [22829] let s:lib.Codec.decoding_table["154,239"] = [22834] let s:lib.Codec.decoding_table["154,240"] = [22840] let s:lib.Codec.decoding_table["154,241"] = [22846] let s:lib.Codec.decoding_table["154,242"] = [31442] let s:lib.Codec.decoding_table["154,243"] = [22869] let s:lib.Codec.decoding_table["154,244"] = [22864] let s:lib.Codec.decoding_table["154,245"] = [22862] let s:lib.Codec.decoding_table["154,246"] = [22874] let s:lib.Codec.decoding_table["154,247"] = [22872] let s:lib.Codec.decoding_table["154,248"] = [22882] let s:lib.Codec.decoding_table["154,249"] = [22880] let s:lib.Codec.decoding_table["154,250"] = [22887] let s:lib.Codec.decoding_table["154,251"] = [22892] let s:lib.Codec.decoding_table["154,252"] = [22889] let s:lib.Codec.decoding_table["155,64"] = [22904] let s:lib.Codec.decoding_table["155,65"] = [22913] let s:lib.Codec.decoding_table["155,66"] = [22941] let s:lib.Codec.decoding_table["155,67"] = [20318] let s:lib.Codec.decoding_table["155,68"] = [20395] let s:lib.Codec.decoding_table["155,69"] = [22947] let s:lib.Codec.decoding_table["155,70"] = [22962] let s:lib.Codec.decoding_table["155,71"] = [22982] let s:lib.Codec.decoding_table["155,72"] = [23016] let s:lib.Codec.decoding_table["155,73"] = [23004] let s:lib.Codec.decoding_table["155,74"] = [22925] let s:lib.Codec.decoding_table["155,75"] = [23001] let s:lib.Codec.decoding_table["155,76"] = [23002] let s:lib.Codec.decoding_table["155,77"] = [23077] let s:lib.Codec.decoding_table["155,78"] = [23071] let s:lib.Codec.decoding_table["155,79"] = [23057] let s:lib.Codec.decoding_table["155,80"] = [23068] let s:lib.Codec.decoding_table["155,81"] = [23049] let s:lib.Codec.decoding_table["155,82"] = [23066] let s:lib.Codec.decoding_table["155,83"] = [23104] let s:lib.Codec.decoding_table["155,84"] = [23148] let s:lib.Codec.decoding_table["155,85"] = [23113] let s:lib.Codec.decoding_table["155,86"] = [23093] let s:lib.Codec.decoding_table["155,87"] = [23094] let s:lib.Codec.decoding_table["155,88"] = [23138] let s:lib.Codec.decoding_table["155,89"] = [23146] let s:lib.Codec.decoding_table["155,90"] = [23194] let s:lib.Codec.decoding_table["155,91"] = [23228] let s:lib.Codec.decoding_table["155,92"] = [23230] let s:lib.Codec.decoding_table["155,93"] = [23243] let s:lib.Codec.decoding_table["155,94"] = [23234] let s:lib.Codec.decoding_table["155,95"] = [23229] let s:lib.Codec.decoding_table["155,96"] = [23267] let s:lib.Codec.decoding_table["155,97"] = [23255] let s:lib.Codec.decoding_table["155,98"] = [23270] let s:lib.Codec.decoding_table["155,99"] = [23273] let s:lib.Codec.decoding_table["155,100"] = [23254] let s:lib.Codec.decoding_table["155,101"] = [23290] let s:lib.Codec.decoding_table["155,102"] = [23291] let s:lib.Codec.decoding_table["155,103"] = [23308] let s:lib.Codec.decoding_table["155,104"] = [23307] let s:lib.Codec.decoding_table["155,105"] = [23318] let s:lib.Codec.decoding_table["155,106"] = [23346] let s:lib.Codec.decoding_table["155,107"] = [23248] let s:lib.Codec.decoding_table["155,108"] = [23338] let s:lib.Codec.decoding_table["155,109"] = [23350] let s:lib.Codec.decoding_table["155,110"] = [23358] let s:lib.Codec.decoding_table["155,111"] = [23363] let s:lib.Codec.decoding_table["155,112"] = [23365] let s:lib.Codec.decoding_table["155,113"] = [23360] let s:lib.Codec.decoding_table["155,114"] = [23377] let s:lib.Codec.decoding_table["155,115"] = [23381] let s:lib.Codec.decoding_table["155,116"] = [23386] let s:lib.Codec.decoding_table["155,117"] = [23387] let s:lib.Codec.decoding_table["155,118"] = [23397] let s:lib.Codec.decoding_table["155,119"] = [23401] let s:lib.Codec.decoding_table["155,120"] = [23408] let s:lib.Codec.decoding_table["155,121"] = [23411] let s:lib.Codec.decoding_table["155,122"] = [23413] let s:lib.Codec.decoding_table["155,123"] = [23416] let s:lib.Codec.decoding_table["155,124"] = [25992] let s:lib.Codec.decoding_table["155,125"] = [23418] let s:lib.Codec.decoding_table["155,126"] = [23424] let s:lib.Codec.decoding_table["155,128"] = [23427] let s:lib.Codec.decoding_table["155,129"] = [23462] let s:lib.Codec.decoding_table["155,130"] = [23480] let s:lib.Codec.decoding_table["155,131"] = [23491] let s:lib.Codec.decoding_table["155,132"] = [23495] let s:lib.Codec.decoding_table["155,133"] = [23497] let s:lib.Codec.decoding_table["155,134"] = [23508] let s:lib.Codec.decoding_table["155,135"] = [23504] let s:lib.Codec.decoding_table["155,136"] = [23524] let s:lib.Codec.decoding_table["155,137"] = [23526] let s:lib.Codec.decoding_table["155,138"] = [23522] let s:lib.Codec.decoding_table["155,139"] = [23518] let s:lib.Codec.decoding_table["155,140"] = [23525] let s:lib.Codec.decoding_table["155,141"] = [23531] let s:lib.Codec.decoding_table["155,142"] = [23536] let s:lib.Codec.decoding_table["155,143"] = [23542] let s:lib.Codec.decoding_table["155,144"] = [23539] let s:lib.Codec.decoding_table["155,145"] = [23557] let s:lib.Codec.decoding_table["155,146"] = [23559] let s:lib.Codec.decoding_table["155,147"] = [23560] let s:lib.Codec.decoding_table["155,148"] = [23565] let s:lib.Codec.decoding_table["155,149"] = [23571] let s:lib.Codec.decoding_table["155,150"] = [23584] let s:lib.Codec.decoding_table["155,151"] = [23586] let s:lib.Codec.decoding_table["155,152"] = [23592] let s:lib.Codec.decoding_table["155,153"] = [23608] let s:lib.Codec.decoding_table["155,154"] = [23609] let s:lib.Codec.decoding_table["155,155"] = [23617] let s:lib.Codec.decoding_table["155,156"] = [23622] let s:lib.Codec.decoding_table["155,157"] = [23630] let s:lib.Codec.decoding_table["155,158"] = [23635] let s:lib.Codec.decoding_table["155,159"] = [23632] let s:lib.Codec.decoding_table["155,160"] = [23631] let s:lib.Codec.decoding_table["155,161"] = [23409] let s:lib.Codec.decoding_table["155,162"] = [23660] let s:lib.Codec.decoding_table["155,163"] = [23662] let s:lib.Codec.decoding_table["155,164"] = [20066] let s:lib.Codec.decoding_table["155,165"] = [23670] let s:lib.Codec.decoding_table["155,166"] = [23673] let s:lib.Codec.decoding_table["155,167"] = [23692] let s:lib.Codec.decoding_table["155,168"] = [23697] let s:lib.Codec.decoding_table["155,169"] = [23700] let s:lib.Codec.decoding_table["155,170"] = [22939] let s:lib.Codec.decoding_table["155,171"] = [23723] let s:lib.Codec.decoding_table["155,172"] = [23739] let s:lib.Codec.decoding_table["155,173"] = [23734] let s:lib.Codec.decoding_table["155,174"] = [23740] let s:lib.Codec.decoding_table["155,175"] = [23735] let s:lib.Codec.decoding_table["155,176"] = [23749] let s:lib.Codec.decoding_table["155,177"] = [23742] let s:lib.Codec.decoding_table["155,178"] = [23751] let s:lib.Codec.decoding_table["155,179"] = [23769] let s:lib.Codec.decoding_table["155,180"] = [23785] let s:lib.Codec.decoding_table["155,181"] = [23805] let s:lib.Codec.decoding_table["155,182"] = [23802] let s:lib.Codec.decoding_table["155,183"] = [23789] let s:lib.Codec.decoding_table["155,184"] = [23948] let s:lib.Codec.decoding_table["155,185"] = [23786] let s:lib.Codec.decoding_table["155,186"] = [23819] let s:lib.Codec.decoding_table["155,187"] = [23829] let s:lib.Codec.decoding_table["155,188"] = [23831] let s:lib.Codec.decoding_table["155,189"] = [23900] let s:lib.Codec.decoding_table["155,190"] = [23839] let s:lib.Codec.decoding_table["155,191"] = [23835] let s:lib.Codec.decoding_table["155,192"] = [23825] let s:lib.Codec.decoding_table["155,193"] = [23828] let s:lib.Codec.decoding_table["155,194"] = [23842] let s:lib.Codec.decoding_table["155,195"] = [23834] let s:lib.Codec.decoding_table["155,196"] = [23833] let s:lib.Codec.decoding_table["155,197"] = [23832] let s:lib.Codec.decoding_table["155,198"] = [23884] let s:lib.Codec.decoding_table["155,199"] = [23890] let s:lib.Codec.decoding_table["155,200"] = [23886] let s:lib.Codec.decoding_table["155,201"] = [23883] let s:lib.Codec.decoding_table["155,202"] = [23916] let s:lib.Codec.decoding_table["155,203"] = [23923] let s:lib.Codec.decoding_table["155,204"] = [23926] let s:lib.Codec.decoding_table["155,205"] = [23943] let s:lib.Codec.decoding_table["155,206"] = [23940] let s:lib.Codec.decoding_table["155,207"] = [23938] let s:lib.Codec.decoding_table["155,208"] = [23970] let s:lib.Codec.decoding_table["155,209"] = [23965] let s:lib.Codec.decoding_table["155,210"] = [23980] let s:lib.Codec.decoding_table["155,211"] = [23982] let s:lib.Codec.decoding_table["155,212"] = [23997] let s:lib.Codec.decoding_table["155,213"] = [23952] let s:lib.Codec.decoding_table["155,214"] = [23991] let s:lib.Codec.decoding_table["155,215"] = [23996] let s:lib.Codec.decoding_table["155,216"] = [24009] let s:lib.Codec.decoding_table["155,217"] = [24013] let s:lib.Codec.decoding_table["155,218"] = [24019] let s:lib.Codec.decoding_table["155,219"] = [24018] let s:lib.Codec.decoding_table["155,220"] = [24022] let s:lib.Codec.decoding_table["155,221"] = [24027] let s:lib.Codec.decoding_table["155,222"] = [24043] let s:lib.Codec.decoding_table["155,223"] = [24050] let s:lib.Codec.decoding_table["155,224"] = [24053] let s:lib.Codec.decoding_table["155,225"] = [24075] let s:lib.Codec.decoding_table["155,226"] = [24090] let s:lib.Codec.decoding_table["155,227"] = [24089] let s:lib.Codec.decoding_table["155,228"] = [24081] let s:lib.Codec.decoding_table["155,229"] = [24091] let s:lib.Codec.decoding_table["155,230"] = [24118] let s:lib.Codec.decoding_table["155,231"] = [24119] let s:lib.Codec.decoding_table["155,232"] = [24132] let s:lib.Codec.decoding_table["155,233"] = [24131] let s:lib.Codec.decoding_table["155,234"] = [24128] let s:lib.Codec.decoding_table["155,235"] = [24142] let s:lib.Codec.decoding_table["155,236"] = [24151] let s:lib.Codec.decoding_table["155,237"] = [24148] let s:lib.Codec.decoding_table["155,238"] = [24159] let s:lib.Codec.decoding_table["155,239"] = [24162] let s:lib.Codec.decoding_table["155,240"] = [24164] let s:lib.Codec.decoding_table["155,241"] = [24135] let s:lib.Codec.decoding_table["155,242"] = [24181] let s:lib.Codec.decoding_table["155,243"] = [24182] let s:lib.Codec.decoding_table["155,244"] = [24186] let s:lib.Codec.decoding_table["155,245"] = [40636] let s:lib.Codec.decoding_table["155,246"] = [24191] let s:lib.Codec.decoding_table["155,247"] = [24224] let s:lib.Codec.decoding_table["155,248"] = [24257] let s:lib.Codec.decoding_table["155,249"] = [24258] let s:lib.Codec.decoding_table["155,250"] = [24264] let s:lib.Codec.decoding_table["155,251"] = [24272] let s:lib.Codec.decoding_table["155,252"] = [24271] let s:lib.Codec.decoding_table["156,64"] = [24278] let s:lib.Codec.decoding_table["156,65"] = [24291] let s:lib.Codec.decoding_table["156,66"] = [24285] let s:lib.Codec.decoding_table["156,67"] = [24282] let s:lib.Codec.decoding_table["156,68"] = [24283] let s:lib.Codec.decoding_table["156,69"] = [24290] let s:lib.Codec.decoding_table["156,70"] = [24289] let s:lib.Codec.decoding_table["156,71"] = [24296] let s:lib.Codec.decoding_table["156,72"] = [24297] let s:lib.Codec.decoding_table["156,73"] = [24300] let s:lib.Codec.decoding_table["156,74"] = [24305] let s:lib.Codec.decoding_table["156,75"] = [24307] let s:lib.Codec.decoding_table["156,76"] = [24304] let s:lib.Codec.decoding_table["156,77"] = [24308] let s:lib.Codec.decoding_table["156,78"] = [24312] let s:lib.Codec.decoding_table["156,79"] = [24318] let s:lib.Codec.decoding_table["156,80"] = [24323] let s:lib.Codec.decoding_table["156,81"] = [24329] let s:lib.Codec.decoding_table["156,82"] = [24413] let s:lib.Codec.decoding_table["156,83"] = [24412] let s:lib.Codec.decoding_table["156,84"] = [24331] let s:lib.Codec.decoding_table["156,85"] = [24337] let s:lib.Codec.decoding_table["156,86"] = [24342] let s:lib.Codec.decoding_table["156,87"] = [24361] let s:lib.Codec.decoding_table["156,88"] = [24365] let s:lib.Codec.decoding_table["156,89"] = [24376] let s:lib.Codec.decoding_table["156,90"] = [24385] let s:lib.Codec.decoding_table["156,91"] = [24392] let s:lib.Codec.decoding_table["156,92"] = [24396] let s:lib.Codec.decoding_table["156,93"] = [24398] let s:lib.Codec.decoding_table["156,94"] = [24367] let s:lib.Codec.decoding_table["156,95"] = [24401] let s:lib.Codec.decoding_table["156,96"] = [24406] let s:lib.Codec.decoding_table["156,97"] = [24407] let s:lib.Codec.decoding_table["156,98"] = [24409] let s:lib.Codec.decoding_table["156,99"] = [24417] let s:lib.Codec.decoding_table["156,100"] = [24429] let s:lib.Codec.decoding_table["156,101"] = [24435] let s:lib.Codec.decoding_table["156,102"] = [24439] let s:lib.Codec.decoding_table["156,103"] = [24451] let s:lib.Codec.decoding_table["156,104"] = [24450] let s:lib.Codec.decoding_table["156,105"] = [24447] let s:lib.Codec.decoding_table["156,106"] = [24458] let s:lib.Codec.decoding_table["156,107"] = [24456] let s:lib.Codec.decoding_table["156,108"] = [24465] let s:lib.Codec.decoding_table["156,109"] = [24455] let s:lib.Codec.decoding_table["156,110"] = [24478] let s:lib.Codec.decoding_table["156,111"] = [24473] let s:lib.Codec.decoding_table["156,112"] = [24472] let s:lib.Codec.decoding_table["156,113"] = [24480] let s:lib.Codec.decoding_table["156,114"] = [24488] let s:lib.Codec.decoding_table["156,115"] = [24493] let s:lib.Codec.decoding_table["156,116"] = [24508] let s:lib.Codec.decoding_table["156,117"] = [24534] let s:lib.Codec.decoding_table["156,118"] = [24571] let s:lib.Codec.decoding_table["156,119"] = [24548] let s:lib.Codec.decoding_table["156,120"] = [24568] let s:lib.Codec.decoding_table["156,121"] = [24561] let s:lib.Codec.decoding_table["156,122"] = [24541] let s:lib.Codec.decoding_table["156,123"] = [24755] let s:lib.Codec.decoding_table["156,124"] = [24575] let s:lib.Codec.decoding_table["156,125"] = [24609] let s:lib.Codec.decoding_table["156,126"] = [24672] let s:lib.Codec.decoding_table["156,128"] = [24601] let s:lib.Codec.decoding_table["156,129"] = [24592] let s:lib.Codec.decoding_table["156,130"] = [24617] let s:lib.Codec.decoding_table["156,131"] = [24590] let s:lib.Codec.decoding_table["156,132"] = [24625] let s:lib.Codec.decoding_table["156,133"] = [24603] let s:lib.Codec.decoding_table["156,134"] = [24597] let s:lib.Codec.decoding_table["156,135"] = [24619] let s:lib.Codec.decoding_table["156,136"] = [24614] let s:lib.Codec.decoding_table["156,137"] = [24591] let s:lib.Codec.decoding_table["156,138"] = [24634] let s:lib.Codec.decoding_table["156,139"] = [24666] let s:lib.Codec.decoding_table["156,140"] = [24641] let s:lib.Codec.decoding_table["156,141"] = [24682] let s:lib.Codec.decoding_table["156,142"] = [24695] let s:lib.Codec.decoding_table["156,143"] = [24671] let s:lib.Codec.decoding_table["156,144"] = [24650] let s:lib.Codec.decoding_table["156,145"] = [24646] let s:lib.Codec.decoding_table["156,146"] = [24653] let s:lib.Codec.decoding_table["156,147"] = [24675] let s:lib.Codec.decoding_table["156,148"] = [24643] let s:lib.Codec.decoding_table["156,149"] = [24676] let s:lib.Codec.decoding_table["156,150"] = [24642] let s:lib.Codec.decoding_table["156,151"] = [24684] let s:lib.Codec.decoding_table["156,152"] = [24683] let s:lib.Codec.decoding_table["156,153"] = [24665] let s:lib.Codec.decoding_table["156,154"] = [24705] let s:lib.Codec.decoding_table["156,155"] = [24717] let s:lib.Codec.decoding_table["156,156"] = [24807] let s:lib.Codec.decoding_table["156,157"] = [24707] let s:lib.Codec.decoding_table["156,158"] = [24730] let s:lib.Codec.decoding_table["156,159"] = [24708] let s:lib.Codec.decoding_table["156,160"] = [24731] let s:lib.Codec.decoding_table["156,161"] = [24726] let s:lib.Codec.decoding_table["156,162"] = [24727] let s:lib.Codec.decoding_table["156,163"] = [24722] let s:lib.Codec.decoding_table["156,164"] = [24743] let s:lib.Codec.decoding_table["156,165"] = [24715] let s:lib.Codec.decoding_table["156,166"] = [24801] let s:lib.Codec.decoding_table["156,167"] = [24760] let s:lib.Codec.decoding_table["156,168"] = [24800] let s:lib.Codec.decoding_table["156,169"] = [24787] let s:lib.Codec.decoding_table["156,170"] = [24756] let s:lib.Codec.decoding_table["156,171"] = [24560] let s:lib.Codec.decoding_table["156,172"] = [24765] let s:lib.Codec.decoding_table["156,173"] = [24774] let s:lib.Codec.decoding_table["156,174"] = [24757] let s:lib.Codec.decoding_table["156,175"] = [24792] let s:lib.Codec.decoding_table["156,176"] = [24909] let s:lib.Codec.decoding_table["156,177"] = [24853] let s:lib.Codec.decoding_table["156,178"] = [24838] let s:lib.Codec.decoding_table["156,179"] = [24822] let s:lib.Codec.decoding_table["156,180"] = [24823] let s:lib.Codec.decoding_table["156,181"] = [24832] let s:lib.Codec.decoding_table["156,182"] = [24820] let s:lib.Codec.decoding_table["156,183"] = [24826] let s:lib.Codec.decoding_table["156,184"] = [24835] let s:lib.Codec.decoding_table["156,185"] = [24865] let s:lib.Codec.decoding_table["156,186"] = [24827] let s:lib.Codec.decoding_table["156,187"] = [24817] let s:lib.Codec.decoding_table["156,188"] = [24845] let s:lib.Codec.decoding_table["156,189"] = [24846] let s:lib.Codec.decoding_table["156,190"] = [24903] let s:lib.Codec.decoding_table["156,191"] = [24894] let s:lib.Codec.decoding_table["156,192"] = [24872] let s:lib.Codec.decoding_table["156,193"] = [24871] let s:lib.Codec.decoding_table["156,194"] = [24906] let s:lib.Codec.decoding_table["156,195"] = [24895] let s:lib.Codec.decoding_table["156,196"] = [24892] let s:lib.Codec.decoding_table["156,197"] = [24876] let s:lib.Codec.decoding_table["156,198"] = [24884] let s:lib.Codec.decoding_table["156,199"] = [24893] let s:lib.Codec.decoding_table["156,200"] = [24898] let s:lib.Codec.decoding_table["156,201"] = [24900] let s:lib.Codec.decoding_table["156,202"] = [24947] let s:lib.Codec.decoding_table["156,203"] = [24951] let s:lib.Codec.decoding_table["156,204"] = [24920] let s:lib.Codec.decoding_table["156,205"] = [24921] let s:lib.Codec.decoding_table["156,206"] = [24922] let s:lib.Codec.decoding_table["156,207"] = [24939] let s:lib.Codec.decoding_table["156,208"] = [24948] let s:lib.Codec.decoding_table["156,209"] = [24943] let s:lib.Codec.decoding_table["156,210"] = [24933] let s:lib.Codec.decoding_table["156,211"] = [24945] let s:lib.Codec.decoding_table["156,212"] = [24927] let s:lib.Codec.decoding_table["156,213"] = [24925] let s:lib.Codec.decoding_table["156,214"] = [24915] let s:lib.Codec.decoding_table["156,215"] = [24949] let s:lib.Codec.decoding_table["156,216"] = [24985] let s:lib.Codec.decoding_table["156,217"] = [24982] let s:lib.Codec.decoding_table["156,218"] = [24967] let s:lib.Codec.decoding_table["156,219"] = [25004] let s:lib.Codec.decoding_table["156,220"] = [24980] let s:lib.Codec.decoding_table["156,221"] = [24986] let s:lib.Codec.decoding_table["156,222"] = [24970] let s:lib.Codec.decoding_table["156,223"] = [24977] let s:lib.Codec.decoding_table["156,224"] = [25003] let s:lib.Codec.decoding_table["156,225"] = [25006] let s:lib.Codec.decoding_table["156,226"] = [25036] let s:lib.Codec.decoding_table["156,227"] = [25034] let s:lib.Codec.decoding_table["156,228"] = [25033] let s:lib.Codec.decoding_table["156,229"] = [25079] let s:lib.Codec.decoding_table["156,230"] = [25032] let s:lib.Codec.decoding_table["156,231"] = [25027] let s:lib.Codec.decoding_table["156,232"] = [25030] let s:lib.Codec.decoding_table["156,233"] = [25018] let s:lib.Codec.decoding_table["156,234"] = [25035] let s:lib.Codec.decoding_table["156,235"] = [32633] let s:lib.Codec.decoding_table["156,236"] = [25037] let s:lib.Codec.decoding_table["156,237"] = [25062] let s:lib.Codec.decoding_table["156,238"] = [25059] let s:lib.Codec.decoding_table["156,239"] = [25078] let s:lib.Codec.decoding_table["156,240"] = [25082] let s:lib.Codec.decoding_table["156,241"] = [25076] let s:lib.Codec.decoding_table["156,242"] = [25087] let s:lib.Codec.decoding_table["156,243"] = [25085] let s:lib.Codec.decoding_table["156,244"] = [25084] let s:lib.Codec.decoding_table["156,245"] = [25086] let s:lib.Codec.decoding_table["156,246"] = [25088] let s:lib.Codec.decoding_table["156,247"] = [25096] let s:lib.Codec.decoding_table["156,248"] = [25097] let s:lib.Codec.decoding_table["156,249"] = [25101] let s:lib.Codec.decoding_table["156,250"] = [25100] let s:lib.Codec.decoding_table["156,251"] = [25108] let s:lib.Codec.decoding_table["156,252"] = [25115] let s:lib.Codec.decoding_table["157,64"] = [25118] let s:lib.Codec.decoding_table["157,65"] = [25121] let s:lib.Codec.decoding_table["157,66"] = [25130] let s:lib.Codec.decoding_table["157,67"] = [25134] let s:lib.Codec.decoding_table["157,68"] = [25136] let s:lib.Codec.decoding_table["157,69"] = [25138] let s:lib.Codec.decoding_table["157,70"] = [25139] let s:lib.Codec.decoding_table["157,71"] = [25153] let s:lib.Codec.decoding_table["157,72"] = [25166] let s:lib.Codec.decoding_table["157,73"] = [25182] let s:lib.Codec.decoding_table["157,74"] = [25187] let s:lib.Codec.decoding_table["157,75"] = [25179] let s:lib.Codec.decoding_table["157,76"] = [25184] let s:lib.Codec.decoding_table["157,77"] = [25192] let s:lib.Codec.decoding_table["157,78"] = [25212] let s:lib.Codec.decoding_table["157,79"] = [25218] let s:lib.Codec.decoding_table["157,80"] = [25225] let s:lib.Codec.decoding_table["157,81"] = [25214] let s:lib.Codec.decoding_table["157,82"] = [25234] let s:lib.Codec.decoding_table["157,83"] = [25235] let s:lib.Codec.decoding_table["157,84"] = [25238] let s:lib.Codec.decoding_table["157,85"] = [25300] let s:lib.Codec.decoding_table["157,86"] = [25219] let s:lib.Codec.decoding_table["157,87"] = [25236] let s:lib.Codec.decoding_table["157,88"] = [25303] let s:lib.Codec.decoding_table["157,89"] = [25297] let s:lib.Codec.decoding_table["157,90"] = [25275] let s:lib.Codec.decoding_table["157,91"] = [25295] let s:lib.Codec.decoding_table["157,92"] = [25343] let s:lib.Codec.decoding_table["157,93"] = [25286] let s:lib.Codec.decoding_table["157,94"] = [25812] let s:lib.Codec.decoding_table["157,95"] = [25288] let s:lib.Codec.decoding_table["157,96"] = [25308] let s:lib.Codec.decoding_table["157,97"] = [25292] let s:lib.Codec.decoding_table["157,98"] = [25290] let s:lib.Codec.decoding_table["157,99"] = [25282] let s:lib.Codec.decoding_table["157,100"] = [25287] let s:lib.Codec.decoding_table["157,101"] = [25243] let s:lib.Codec.decoding_table["157,102"] = [25289] let s:lib.Codec.decoding_table["157,103"] = [25356] let s:lib.Codec.decoding_table["157,104"] = [25326] let s:lib.Codec.decoding_table["157,105"] = [25329] let s:lib.Codec.decoding_table["157,106"] = [25383] let s:lib.Codec.decoding_table["157,107"] = [25346] let s:lib.Codec.decoding_table["157,108"] = [25352] let s:lib.Codec.decoding_table["157,109"] = [25327] let s:lib.Codec.decoding_table["157,110"] = [25333] let s:lib.Codec.decoding_table["157,111"] = [25424] let s:lib.Codec.decoding_table["157,112"] = [25406] let s:lib.Codec.decoding_table["157,113"] = [25421] let s:lib.Codec.decoding_table["157,114"] = [25628] let s:lib.Codec.decoding_table["157,115"] = [25423] let s:lib.Codec.decoding_table["157,116"] = [25494] let s:lib.Codec.decoding_table["157,117"] = [25486] let s:lib.Codec.decoding_table["157,118"] = [25472] let s:lib.Codec.decoding_table["157,119"] = [25515] let s:lib.Codec.decoding_table["157,120"] = [25462] let s:lib.Codec.decoding_table["157,121"] = [25507] let s:lib.Codec.decoding_table["157,122"] = [25487] let s:lib.Codec.decoding_table["157,123"] = [25481] let s:lib.Codec.decoding_table["157,124"] = [25503] let s:lib.Codec.decoding_table["157,125"] = [25525] let s:lib.Codec.decoding_table["157,126"] = [25451] let s:lib.Codec.decoding_table["157,128"] = [25449] let s:lib.Codec.decoding_table["157,129"] = [25534] let s:lib.Codec.decoding_table["157,130"] = [25577] let s:lib.Codec.decoding_table["157,131"] = [25536] let s:lib.Codec.decoding_table["157,132"] = [25542] let s:lib.Codec.decoding_table["157,133"] = [25571] let s:lib.Codec.decoding_table["157,134"] = [25545] let s:lib.Codec.decoding_table["157,135"] = [25554] let s:lib.Codec.decoding_table["157,136"] = [25590] let s:lib.Codec.decoding_table["157,137"] = [25540] let s:lib.Codec.decoding_table["157,138"] = [25622] let s:lib.Codec.decoding_table["157,139"] = [25652] let s:lib.Codec.decoding_table["157,140"] = [25606] let s:lib.Codec.decoding_table["157,141"] = [25619] let s:lib.Codec.decoding_table["157,142"] = [25638] let s:lib.Codec.decoding_table["157,143"] = [25654] let s:lib.Codec.decoding_table["157,144"] = [25885] let s:lib.Codec.decoding_table["157,145"] = [25623] let s:lib.Codec.decoding_table["157,146"] = [25640] let s:lib.Codec.decoding_table["157,147"] = [25615] let s:lib.Codec.decoding_table["157,148"] = [25703] let s:lib.Codec.decoding_table["157,149"] = [25711] let s:lib.Codec.decoding_table["157,150"] = [25718] let s:lib.Codec.decoding_table["157,151"] = [25678] let s:lib.Codec.decoding_table["157,152"] = [25898] let s:lib.Codec.decoding_table["157,153"] = [25749] let s:lib.Codec.decoding_table["157,154"] = [25747] let s:lib.Codec.decoding_table["157,155"] = [25765] let s:lib.Codec.decoding_table["157,156"] = [25769] let s:lib.Codec.decoding_table["157,157"] = [25736] let s:lib.Codec.decoding_table["157,158"] = [25788] let s:lib.Codec.decoding_table["157,159"] = [25818] let s:lib.Codec.decoding_table["157,160"] = [25810] let s:lib.Codec.decoding_table["157,161"] = [25797] let s:lib.Codec.decoding_table["157,162"] = [25799] let s:lib.Codec.decoding_table["157,163"] = [25787] let s:lib.Codec.decoding_table["157,164"] = [25816] let s:lib.Codec.decoding_table["157,165"] = [25794] let s:lib.Codec.decoding_table["157,166"] = [25841] let s:lib.Codec.decoding_table["157,167"] = [25831] let s:lib.Codec.decoding_table["157,168"] = [33289] let s:lib.Codec.decoding_table["157,169"] = [25824] let s:lib.Codec.decoding_table["157,170"] = [25825] let s:lib.Codec.decoding_table["157,171"] = [25260] let s:lib.Codec.decoding_table["157,172"] = [25827] let s:lib.Codec.decoding_table["157,173"] = [25839] let s:lib.Codec.decoding_table["157,174"] = [25900] let s:lib.Codec.decoding_table["157,175"] = [25846] let s:lib.Codec.decoding_table["157,176"] = [25844] let s:lib.Codec.decoding_table["157,177"] = [25842] let s:lib.Codec.decoding_table["157,178"] = [25850] let s:lib.Codec.decoding_table["157,179"] = [25856] let s:lib.Codec.decoding_table["157,180"] = [25853] let s:lib.Codec.decoding_table["157,181"] = [25880] let s:lib.Codec.decoding_table["157,182"] = [25884] let s:lib.Codec.decoding_table["157,183"] = [25861] let s:lib.Codec.decoding_table["157,184"] = [25892] let s:lib.Codec.decoding_table["157,185"] = [25891] let s:lib.Codec.decoding_table["157,186"] = [25899] let s:lib.Codec.decoding_table["157,187"] = [25908] let s:lib.Codec.decoding_table["157,188"] = [25909] let s:lib.Codec.decoding_table["157,189"] = [25911] let s:lib.Codec.decoding_table["157,190"] = [25910] let s:lib.Codec.decoding_table["157,191"] = [25912] let s:lib.Codec.decoding_table["157,192"] = [30027] let s:lib.Codec.decoding_table["157,193"] = [25928] let s:lib.Codec.decoding_table["157,194"] = [25942] let s:lib.Codec.decoding_table["157,195"] = [25941] let s:lib.Codec.decoding_table["157,196"] = [25933] let s:lib.Codec.decoding_table["157,197"] = [25944] let s:lib.Codec.decoding_table["157,198"] = [25950] let s:lib.Codec.decoding_table["157,199"] = [25949] let s:lib.Codec.decoding_table["157,200"] = [25970] let s:lib.Codec.decoding_table["157,201"] = [25976] let s:lib.Codec.decoding_table["157,202"] = [25986] let s:lib.Codec.decoding_table["157,203"] = [25987] let s:lib.Codec.decoding_table["157,204"] = [35722] let s:lib.Codec.decoding_table["157,205"] = [26011] let s:lib.Codec.decoding_table["157,206"] = [26015] let s:lib.Codec.decoding_table["157,207"] = [26027] let s:lib.Codec.decoding_table["157,208"] = [26039] let s:lib.Codec.decoding_table["157,209"] = [26051] let s:lib.Codec.decoding_table["157,210"] = [26054] let s:lib.Codec.decoding_table["157,211"] = [26049] let s:lib.Codec.decoding_table["157,212"] = [26052] let s:lib.Codec.decoding_table["157,213"] = [26060] let s:lib.Codec.decoding_table["157,214"] = [26066] let s:lib.Codec.decoding_table["157,215"] = [26075] let s:lib.Codec.decoding_table["157,216"] = [26073] let s:lib.Codec.decoding_table["157,217"] = [26080] let s:lib.Codec.decoding_table["157,218"] = [26081] let s:lib.Codec.decoding_table["157,219"] = [26097] let s:lib.Codec.decoding_table["157,220"] = [26482] let s:lib.Codec.decoding_table["157,221"] = [26122] let s:lib.Codec.decoding_table["157,222"] = [26115] let s:lib.Codec.decoding_table["157,223"] = [26107] let s:lib.Codec.decoding_table["157,224"] = [26483] let s:lib.Codec.decoding_table["157,225"] = [26165] let s:lib.Codec.decoding_table["157,226"] = [26166] let s:lib.Codec.decoding_table["157,227"] = [26164] let s:lib.Codec.decoding_table["157,228"] = [26140] let s:lib.Codec.decoding_table["157,229"] = [26191] let s:lib.Codec.decoding_table["157,230"] = [26180] let s:lib.Codec.decoding_table["157,231"] = [26185] let s:lib.Codec.decoding_table["157,232"] = [26177] let s:lib.Codec.decoding_table["157,233"] = [26206] let s:lib.Codec.decoding_table["157,234"] = [26205] let s:lib.Codec.decoding_table["157,235"] = [26212] let s:lib.Codec.decoding_table["157,236"] = [26215] let s:lib.Codec.decoding_table["157,237"] = [26216] let s:lib.Codec.decoding_table["157,238"] = [26207] let s:lib.Codec.decoding_table["157,239"] = [26210] let s:lib.Codec.decoding_table["157,240"] = [26224] let s:lib.Codec.decoding_table["157,241"] = [26243] let s:lib.Codec.decoding_table["157,242"] = [26248] let s:lib.Codec.decoding_table["157,243"] = [26254] let s:lib.Codec.decoding_table["157,244"] = [26249] let s:lib.Codec.decoding_table["157,245"] = [26244] let s:lib.Codec.decoding_table["157,246"] = [26264] let s:lib.Codec.decoding_table["157,247"] = [26269] let s:lib.Codec.decoding_table["157,248"] = [26305] let s:lib.Codec.decoding_table["157,249"] = [26297] let s:lib.Codec.decoding_table["157,250"] = [26313] let s:lib.Codec.decoding_table["157,251"] = [26302] let s:lib.Codec.decoding_table["157,252"] = [26300] let s:lib.Codec.decoding_table["158,64"] = [26308] let s:lib.Codec.decoding_table["158,65"] = [26296] let s:lib.Codec.decoding_table["158,66"] = [26326] let s:lib.Codec.decoding_table["158,67"] = [26330] let s:lib.Codec.decoding_table["158,68"] = [26336] let s:lib.Codec.decoding_table["158,69"] = [26175] let s:lib.Codec.decoding_table["158,70"] = [26342] let s:lib.Codec.decoding_table["158,71"] = [26345] let s:lib.Codec.decoding_table["158,72"] = [26352] let s:lib.Codec.decoding_table["158,73"] = [26357] let s:lib.Codec.decoding_table["158,74"] = [26359] let s:lib.Codec.decoding_table["158,75"] = [26383] let s:lib.Codec.decoding_table["158,76"] = [26390] let s:lib.Codec.decoding_table["158,77"] = [26398] let s:lib.Codec.decoding_table["158,78"] = [26406] let s:lib.Codec.decoding_table["158,79"] = [26407] let s:lib.Codec.decoding_table["158,80"] = [38712] let s:lib.Codec.decoding_table["158,81"] = [26414] let s:lib.Codec.decoding_table["158,82"] = [26431] let s:lib.Codec.decoding_table["158,83"] = [26422] let s:lib.Codec.decoding_table["158,84"] = [26433] let s:lib.Codec.decoding_table["158,85"] = [26424] let s:lib.Codec.decoding_table["158,86"] = [26423] let s:lib.Codec.decoding_table["158,87"] = [26438] let s:lib.Codec.decoding_table["158,88"] = [26462] let s:lib.Codec.decoding_table["158,89"] = [26464] let s:lib.Codec.decoding_table["158,90"] = [26457] let s:lib.Codec.decoding_table["158,91"] = [26467] let s:lib.Codec.decoding_table["158,92"] = [26468] let s:lib.Codec.decoding_table["158,93"] = [26505] let s:lib.Codec.decoding_table["158,94"] = [26480] let s:lib.Codec.decoding_table["158,95"] = [26537] let s:lib.Codec.decoding_table["158,96"] = [26492] let s:lib.Codec.decoding_table["158,97"] = [26474] let s:lib.Codec.decoding_table["158,98"] = [26508] let s:lib.Codec.decoding_table["158,99"] = [26507] let s:lib.Codec.decoding_table["158,100"] = [26534] let s:lib.Codec.decoding_table["158,101"] = [26529] let s:lib.Codec.decoding_table["158,102"] = [26501] let s:lib.Codec.decoding_table["158,103"] = [26551] let s:lib.Codec.decoding_table["158,104"] = [26607] let s:lib.Codec.decoding_table["158,105"] = [26548] let s:lib.Codec.decoding_table["158,106"] = [26604] let s:lib.Codec.decoding_table["158,107"] = [26547] let s:lib.Codec.decoding_table["158,108"] = [26601] let s:lib.Codec.decoding_table["158,109"] = [26552] let s:lib.Codec.decoding_table["158,110"] = [26596] let s:lib.Codec.decoding_table["158,111"] = [26590] let s:lib.Codec.decoding_table["158,112"] = [26589] let s:lib.Codec.decoding_table["158,113"] = [26594] let s:lib.Codec.decoding_table["158,114"] = [26606] let s:lib.Codec.decoding_table["158,115"] = [26553] let s:lib.Codec.decoding_table["158,116"] = [26574] let s:lib.Codec.decoding_table["158,117"] = [26566] let s:lib.Codec.decoding_table["158,118"] = [26599] let s:lib.Codec.decoding_table["158,119"] = [27292] let s:lib.Codec.decoding_table["158,120"] = [26654] let s:lib.Codec.decoding_table["158,121"] = [26694] let s:lib.Codec.decoding_table["158,122"] = [26665] let s:lib.Codec.decoding_table["158,123"] = [26688] let s:lib.Codec.decoding_table["158,124"] = [26701] let s:lib.Codec.decoding_table["158,125"] = [26674] let s:lib.Codec.decoding_table["158,126"] = [26702] let s:lib.Codec.decoding_table["158,128"] = [26803] let s:lib.Codec.decoding_table["158,129"] = [26667] let s:lib.Codec.decoding_table["158,130"] = [26713] let s:lib.Codec.decoding_table["158,131"] = [26723] let s:lib.Codec.decoding_table["158,132"] = [26743] let s:lib.Codec.decoding_table["158,133"] = [26751] let s:lib.Codec.decoding_table["158,134"] = [26783] let s:lib.Codec.decoding_table["158,135"] = [26767] let s:lib.Codec.decoding_table["158,136"] = [26797] let s:lib.Codec.decoding_table["158,137"] = [26772] let s:lib.Codec.decoding_table["158,138"] = [26781] let s:lib.Codec.decoding_table["158,139"] = [26779] let s:lib.Codec.decoding_table["158,140"] = [26755] let s:lib.Codec.decoding_table["158,141"] = [27310] let s:lib.Codec.decoding_table["158,142"] = [26809] let s:lib.Codec.decoding_table["158,143"] = [26740] let s:lib.Codec.decoding_table["158,144"] = [26805] let s:lib.Codec.decoding_table["158,145"] = [26784] let s:lib.Codec.decoding_table["158,146"] = [26810] let s:lib.Codec.decoding_table["158,147"] = [26895] let s:lib.Codec.decoding_table["158,148"] = [26765] let s:lib.Codec.decoding_table["158,149"] = [26750] let s:lib.Codec.decoding_table["158,150"] = [26881] let s:lib.Codec.decoding_table["158,151"] = [26826] let s:lib.Codec.decoding_table["158,152"] = [26888] let s:lib.Codec.decoding_table["158,153"] = [26840] let s:lib.Codec.decoding_table["158,154"] = [26914] let s:lib.Codec.decoding_table["158,155"] = [26918] let s:lib.Codec.decoding_table["158,156"] = [26849] let s:lib.Codec.decoding_table["158,157"] = [26892] let s:lib.Codec.decoding_table["158,158"] = [26829] let s:lib.Codec.decoding_table["158,159"] = [26836] let s:lib.Codec.decoding_table["158,160"] = [26855] let s:lib.Codec.decoding_table["158,161"] = [26837] let s:lib.Codec.decoding_table["158,162"] = [26934] let s:lib.Codec.decoding_table["158,163"] = [26898] let s:lib.Codec.decoding_table["158,164"] = [26884] let s:lib.Codec.decoding_table["158,165"] = [26839] let s:lib.Codec.decoding_table["158,166"] = [26851] let s:lib.Codec.decoding_table["158,167"] = [26917] let s:lib.Codec.decoding_table["158,168"] = [26873] let s:lib.Codec.decoding_table["158,169"] = [26848] let s:lib.Codec.decoding_table["158,170"] = [26863] let s:lib.Codec.decoding_table["158,171"] = [26920] let s:lib.Codec.decoding_table["158,172"] = [26922] let s:lib.Codec.decoding_table["158,173"] = [26906] let s:lib.Codec.decoding_table["158,174"] = [26915] let s:lib.Codec.decoding_table["158,175"] = [26913] let s:lib.Codec.decoding_table["158,176"] = [26822] let s:lib.Codec.decoding_table["158,177"] = [27001] let s:lib.Codec.decoding_table["158,178"] = [26999] let s:lib.Codec.decoding_table["158,179"] = [26972] let s:lib.Codec.decoding_table["158,180"] = [27000] let s:lib.Codec.decoding_table["158,181"] = [26987] let s:lib.Codec.decoding_table["158,182"] = [26964] let s:lib.Codec.decoding_table["158,183"] = [27006] let s:lib.Codec.decoding_table["158,184"] = [26990] let s:lib.Codec.decoding_table["158,185"] = [26937] let s:lib.Codec.decoding_table["158,186"] = [26996] let s:lib.Codec.decoding_table["158,187"] = [26941] let s:lib.Codec.decoding_table["158,188"] = [26969] let s:lib.Codec.decoding_table["158,189"] = [26928] let s:lib.Codec.decoding_table["158,190"] = [26977] let s:lib.Codec.decoding_table["158,191"] = [26974] let s:lib.Codec.decoding_table["158,192"] = [26973] let s:lib.Codec.decoding_table["158,193"] = [27009] let s:lib.Codec.decoding_table["158,194"] = [26986] let s:lib.Codec.decoding_table["158,195"] = [27058] let s:lib.Codec.decoding_table["158,196"] = [27054] let s:lib.Codec.decoding_table["158,197"] = [27088] let s:lib.Codec.decoding_table["158,198"] = [27071] let s:lib.Codec.decoding_table["158,199"] = [27073] let s:lib.Codec.decoding_table["158,200"] = [27091] let s:lib.Codec.decoding_table["158,201"] = [27070] let s:lib.Codec.decoding_table["158,202"] = [27086] let s:lib.Codec.decoding_table["158,203"] = [23528] let s:lib.Codec.decoding_table["158,204"] = [27082] let s:lib.Codec.decoding_table["158,205"] = [27101] let s:lib.Codec.decoding_table["158,206"] = [27067] let s:lib.Codec.decoding_table["158,207"] = [27075] let s:lib.Codec.decoding_table["158,208"] = [27047] let s:lib.Codec.decoding_table["158,209"] = [27182] let s:lib.Codec.decoding_table["158,210"] = [27025] let s:lib.Codec.decoding_table["158,211"] = [27040] let s:lib.Codec.decoding_table["158,212"] = [27036] let s:lib.Codec.decoding_table["158,213"] = [27029] let s:lib.Codec.decoding_table["158,214"] = [27060] let s:lib.Codec.decoding_table["158,215"] = [27102] let s:lib.Codec.decoding_table["158,216"] = [27112] let s:lib.Codec.decoding_table["158,217"] = [27138] let s:lib.Codec.decoding_table["158,218"] = [27163] let s:lib.Codec.decoding_table["158,219"] = [27135] let s:lib.Codec.decoding_table["158,220"] = [27402] let s:lib.Codec.decoding_table["158,221"] = [27129] let s:lib.Codec.decoding_table["158,222"] = [27122] let s:lib.Codec.decoding_table["158,223"] = [27111] let s:lib.Codec.decoding_table["158,224"] = [27141] let s:lib.Codec.decoding_table["158,225"] = [27057] let s:lib.Codec.decoding_table["158,226"] = [27166] let s:lib.Codec.decoding_table["158,227"] = [27117] let s:lib.Codec.decoding_table["158,228"] = [27156] let s:lib.Codec.decoding_table["158,229"] = [27115] let s:lib.Codec.decoding_table["158,230"] = [27146] let s:lib.Codec.decoding_table["158,231"] = [27154] let s:lib.Codec.decoding_table["158,232"] = [27329] let s:lib.Codec.decoding_table["158,233"] = [27171] let s:lib.Codec.decoding_table["158,234"] = [27155] let s:lib.Codec.decoding_table["158,235"] = [27204] let s:lib.Codec.decoding_table["158,236"] = [27148] let s:lib.Codec.decoding_table["158,237"] = [27250] let s:lib.Codec.decoding_table["158,238"] = [27190] let s:lib.Codec.decoding_table["158,239"] = [27256] let s:lib.Codec.decoding_table["158,240"] = [27207] let s:lib.Codec.decoding_table["158,241"] = [27234] let s:lib.Codec.decoding_table["158,242"] = [27225] let s:lib.Codec.decoding_table["158,243"] = [27238] let s:lib.Codec.decoding_table["158,244"] = [27208] let s:lib.Codec.decoding_table["158,245"] = [27192] let s:lib.Codec.decoding_table["158,246"] = [27170] let s:lib.Codec.decoding_table["158,247"] = [27280] let s:lib.Codec.decoding_table["158,248"] = [27277] let s:lib.Codec.decoding_table["158,249"] = [27296] let s:lib.Codec.decoding_table["158,250"] = [27268] let s:lib.Codec.decoding_table["158,251"] = [27298] let s:lib.Codec.decoding_table["158,252"] = [27299] let s:lib.Codec.decoding_table["159,64"] = [27287] let s:lib.Codec.decoding_table["159,65"] = [34327] let s:lib.Codec.decoding_table["159,66"] = [27323] let s:lib.Codec.decoding_table["159,67"] = [27331] let s:lib.Codec.decoding_table["159,68"] = [27330] let s:lib.Codec.decoding_table["159,69"] = [27320] let s:lib.Codec.decoding_table["159,70"] = [27315] let s:lib.Codec.decoding_table["159,71"] = [27308] let s:lib.Codec.decoding_table["159,72"] = [27358] let s:lib.Codec.decoding_table["159,73"] = [27345] let s:lib.Codec.decoding_table["159,74"] = [27359] let s:lib.Codec.decoding_table["159,75"] = [27306] let s:lib.Codec.decoding_table["159,76"] = [27354] let s:lib.Codec.decoding_table["159,77"] = [27370] let s:lib.Codec.decoding_table["159,78"] = [27387] let s:lib.Codec.decoding_table["159,79"] = [27397] let s:lib.Codec.decoding_table["159,80"] = [34326] let s:lib.Codec.decoding_table["159,81"] = [27386] let s:lib.Codec.decoding_table["159,82"] = [27410] let s:lib.Codec.decoding_table["159,83"] = [27414] let s:lib.Codec.decoding_table["159,84"] = [39729] let s:lib.Codec.decoding_table["159,85"] = [27423] let s:lib.Codec.decoding_table["159,86"] = [27448] let s:lib.Codec.decoding_table["159,87"] = [27447] let s:lib.Codec.decoding_table["159,88"] = [30428] let s:lib.Codec.decoding_table["159,89"] = [27449] let s:lib.Codec.decoding_table["159,90"] = [39150] let s:lib.Codec.decoding_table["159,91"] = [27463] let s:lib.Codec.decoding_table["159,92"] = [27459] let s:lib.Codec.decoding_table["159,93"] = [27465] let s:lib.Codec.decoding_table["159,94"] = [27472] let s:lib.Codec.decoding_table["159,95"] = [27481] let s:lib.Codec.decoding_table["159,96"] = [27476] let s:lib.Codec.decoding_table["159,97"] = [27483] let s:lib.Codec.decoding_table["159,98"] = [27487] let s:lib.Codec.decoding_table["159,99"] = [27489] let s:lib.Codec.decoding_table["159,100"] = [27512] let s:lib.Codec.decoding_table["159,101"] = [27513] let s:lib.Codec.decoding_table["159,102"] = [27519] let s:lib.Codec.decoding_table["159,103"] = [27520] let s:lib.Codec.decoding_table["159,104"] = [27524] let s:lib.Codec.decoding_table["159,105"] = [27523] let s:lib.Codec.decoding_table["159,106"] = [27533] let s:lib.Codec.decoding_table["159,107"] = [27544] let s:lib.Codec.decoding_table["159,108"] = [27541] let s:lib.Codec.decoding_table["159,109"] = [27550] let s:lib.Codec.decoding_table["159,110"] = [27556] let s:lib.Codec.decoding_table["159,111"] = [27562] let s:lib.Codec.decoding_table["159,112"] = [27563] let s:lib.Codec.decoding_table["159,113"] = [27567] let s:lib.Codec.decoding_table["159,114"] = [27570] let s:lib.Codec.decoding_table["159,115"] = [27569] let s:lib.Codec.decoding_table["159,116"] = [27571] let s:lib.Codec.decoding_table["159,117"] = [27575] let s:lib.Codec.decoding_table["159,118"] = [27580] let s:lib.Codec.decoding_table["159,119"] = [27590] let s:lib.Codec.decoding_table["159,120"] = [27595] let s:lib.Codec.decoding_table["159,121"] = [27603] let s:lib.Codec.decoding_table["159,122"] = [27615] let s:lib.Codec.decoding_table["159,123"] = [27628] let s:lib.Codec.decoding_table["159,124"] = [27627] let s:lib.Codec.decoding_table["159,125"] = [27635] let s:lib.Codec.decoding_table["159,126"] = [27631] let s:lib.Codec.decoding_table["159,128"] = [40638] let s:lib.Codec.decoding_table["159,129"] = [27656] let s:lib.Codec.decoding_table["159,130"] = [27667] let s:lib.Codec.decoding_table["159,131"] = [27668] let s:lib.Codec.decoding_table["159,132"] = [27675] let s:lib.Codec.decoding_table["159,133"] = [27684] let s:lib.Codec.decoding_table["159,134"] = [27683] let s:lib.Codec.decoding_table["159,135"] = [27742] let s:lib.Codec.decoding_table["159,136"] = [27733] let s:lib.Codec.decoding_table["159,137"] = [27746] let s:lib.Codec.decoding_table["159,138"] = [27754] let s:lib.Codec.decoding_table["159,139"] = [27778] let s:lib.Codec.decoding_table["159,140"] = [27789] let s:lib.Codec.decoding_table["159,141"] = [27802] let s:lib.Codec.decoding_table["159,142"] = [27777] let s:lib.Codec.decoding_table["159,143"] = [27803] let s:lib.Codec.decoding_table["159,144"] = [27774] let s:lib.Codec.decoding_table["159,145"] = [27752] let s:lib.Codec.decoding_table["159,146"] = [27763] let s:lib.Codec.decoding_table["159,147"] = [27794] let s:lib.Codec.decoding_table["159,148"] = [27792] let s:lib.Codec.decoding_table["159,149"] = [27844] let s:lib.Codec.decoding_table["159,150"] = [27889] let s:lib.Codec.decoding_table["159,151"] = [27859] let s:lib.Codec.decoding_table["159,152"] = [27837] let s:lib.Codec.decoding_table["159,153"] = [27863] let s:lib.Codec.decoding_table["159,154"] = [27845] let s:lib.Codec.decoding_table["159,155"] = [27869] let s:lib.Codec.decoding_table["159,156"] = [27822] let s:lib.Codec.decoding_table["159,157"] = [27825] let s:lib.Codec.decoding_table["159,158"] = [27838] let s:lib.Codec.decoding_table["159,159"] = [27834] let s:lib.Codec.decoding_table["159,160"] = [27867] let s:lib.Codec.decoding_table["159,161"] = [27887] let s:lib.Codec.decoding_table["159,162"] = [27865] let s:lib.Codec.decoding_table["159,163"] = [27882] let s:lib.Codec.decoding_table["159,164"] = [27935] let s:lib.Codec.decoding_table["159,165"] = [34893] let s:lib.Codec.decoding_table["159,166"] = [27958] let s:lib.Codec.decoding_table["159,167"] = [27947] let s:lib.Codec.decoding_table["159,168"] = [27965] let s:lib.Codec.decoding_table["159,169"] = [27960] let s:lib.Codec.decoding_table["159,170"] = [27929] let s:lib.Codec.decoding_table["159,171"] = [27957] let s:lib.Codec.decoding_table["159,172"] = [27955] let s:lib.Codec.decoding_table["159,173"] = [27922] let s:lib.Codec.decoding_table["159,174"] = [27916] let s:lib.Codec.decoding_table["159,175"] = [28003] let s:lib.Codec.decoding_table["159,176"] = [28051] let s:lib.Codec.decoding_table["159,177"] = [28004] let s:lib.Codec.decoding_table["159,178"] = [27994] let s:lib.Codec.decoding_table["159,179"] = [28025] let s:lib.Codec.decoding_table["159,180"] = [27993] let s:lib.Codec.decoding_table["159,181"] = [28046] let s:lib.Codec.decoding_table["159,182"] = [28053] let s:lib.Codec.decoding_table["159,183"] = [28644] let s:lib.Codec.decoding_table["159,184"] = [28037] let s:lib.Codec.decoding_table["159,185"] = [28153] let s:lib.Codec.decoding_table["159,186"] = [28181] let s:lib.Codec.decoding_table["159,187"] = [28170] let s:lib.Codec.decoding_table["159,188"] = [28085] let s:lib.Codec.decoding_table["159,189"] = [28103] let s:lib.Codec.decoding_table["159,190"] = [28134] let s:lib.Codec.decoding_table["159,191"] = [28088] let s:lib.Codec.decoding_table["159,192"] = [28102] let s:lib.Codec.decoding_table["159,193"] = [28140] let s:lib.Codec.decoding_table["159,194"] = [28126] let s:lib.Codec.decoding_table["159,195"] = [28108] let s:lib.Codec.decoding_table["159,196"] = [28136] let s:lib.Codec.decoding_table["159,197"] = [28114] let s:lib.Codec.decoding_table["159,198"] = [28101] let s:lib.Codec.decoding_table["159,199"] = [28154] let s:lib.Codec.decoding_table["159,200"] = [28121] let s:lib.Codec.decoding_table["159,201"] = [28132] let s:lib.Codec.decoding_table["159,202"] = [28117] let s:lib.Codec.decoding_table["159,203"] = [28138] let s:lib.Codec.decoding_table["159,204"] = [28142] let s:lib.Codec.decoding_table["159,205"] = [28205] let s:lib.Codec.decoding_table["159,206"] = [28270] let s:lib.Codec.decoding_table["159,207"] = [28206] let s:lib.Codec.decoding_table["159,208"] = [28185] let s:lib.Codec.decoding_table["159,209"] = [28274] let s:lib.Codec.decoding_table["159,210"] = [28255] let s:lib.Codec.decoding_table["159,211"] = [28222] let s:lib.Codec.decoding_table["159,212"] = [28195] let s:lib.Codec.decoding_table["159,213"] = [28267] let s:lib.Codec.decoding_table["159,214"] = [28203] let s:lib.Codec.decoding_table["159,215"] = [28278] let s:lib.Codec.decoding_table["159,216"] = [28237] let s:lib.Codec.decoding_table["159,217"] = [28191] let s:lib.Codec.decoding_table["159,218"] = [28227] let s:lib.Codec.decoding_table["159,219"] = [28218] let s:lib.Codec.decoding_table["159,220"] = [28238] let s:lib.Codec.decoding_table["159,221"] = [28196] let s:lib.Codec.decoding_table["159,222"] = [28415] let s:lib.Codec.decoding_table["159,223"] = [28189] let s:lib.Codec.decoding_table["159,224"] = [28216] let s:lib.Codec.decoding_table["159,225"] = [28290] let s:lib.Codec.decoding_table["159,226"] = [28330] let s:lib.Codec.decoding_table["159,227"] = [28312] let s:lib.Codec.decoding_table["159,228"] = [28361] let s:lib.Codec.decoding_table["159,229"] = [28343] let s:lib.Codec.decoding_table["159,230"] = [28371] let s:lib.Codec.decoding_table["159,231"] = [28349] let s:lib.Codec.decoding_table["159,232"] = [28335] let s:lib.Codec.decoding_table["159,233"] = [28356] let s:lib.Codec.decoding_table["159,234"] = [28338] let s:lib.Codec.decoding_table["159,235"] = [28372] let s:lib.Codec.decoding_table["159,236"] = [28373] let s:lib.Codec.decoding_table["159,237"] = [28303] let s:lib.Codec.decoding_table["159,238"] = [28325] let s:lib.Codec.decoding_table["159,239"] = [28354] let s:lib.Codec.decoding_table["159,240"] = [28319] let s:lib.Codec.decoding_table["159,241"] = [28481] let s:lib.Codec.decoding_table["159,242"] = [28433] let s:lib.Codec.decoding_table["159,243"] = [28748] let s:lib.Codec.decoding_table["159,244"] = [28396] let s:lib.Codec.decoding_table["159,245"] = [28408] let s:lib.Codec.decoding_table["159,246"] = [28414] let s:lib.Codec.decoding_table["159,247"] = [28479] let s:lib.Codec.decoding_table["159,248"] = [28402] let s:lib.Codec.decoding_table["159,249"] = [28465] let s:lib.Codec.decoding_table["159,250"] = [28399] let s:lib.Codec.decoding_table["159,251"] = [28466] let s:lib.Codec.decoding_table["159,252"] = [28364] let s:lib.Codec.decoding_table["224,64"] = [28478] let s:lib.Codec.decoding_table["224,65"] = [28435] let s:lib.Codec.decoding_table["224,66"] = [28407] let s:lib.Codec.decoding_table["224,67"] = [28550] let s:lib.Codec.decoding_table["224,68"] = [28538] let s:lib.Codec.decoding_table["224,69"] = [28536] let s:lib.Codec.decoding_table["224,70"] = [28545] let s:lib.Codec.decoding_table["224,71"] = [28544] let s:lib.Codec.decoding_table["224,72"] = [28527] let s:lib.Codec.decoding_table["224,73"] = [28507] let s:lib.Codec.decoding_table["224,74"] = [28659] let s:lib.Codec.decoding_table["224,75"] = [28525] let s:lib.Codec.decoding_table["224,76"] = [28546] let s:lib.Codec.decoding_table["224,77"] = [28540] let s:lib.Codec.decoding_table["224,78"] = [28504] let s:lib.Codec.decoding_table["224,79"] = [28558] let s:lib.Codec.decoding_table["224,80"] = [28561] let s:lib.Codec.decoding_table["224,81"] = [28610] let s:lib.Codec.decoding_table["224,82"] = [28518] let s:lib.Codec.decoding_table["224,83"] = [28595] let s:lib.Codec.decoding_table["224,84"] = [28579] let s:lib.Codec.decoding_table["224,85"] = [28577] let s:lib.Codec.decoding_table["224,86"] = [28580] let s:lib.Codec.decoding_table["224,87"] = [28601] let s:lib.Codec.decoding_table["224,88"] = [28614] let s:lib.Codec.decoding_table["224,89"] = [28586] let s:lib.Codec.decoding_table["224,90"] = [28639] let s:lib.Codec.decoding_table["224,91"] = [28629] let s:lib.Codec.decoding_table["224,92"] = [28652] let s:lib.Codec.decoding_table["224,93"] = [28628] let s:lib.Codec.decoding_table["224,94"] = [28632] let s:lib.Codec.decoding_table["224,95"] = [28657] let s:lib.Codec.decoding_table["224,96"] = [28654] let s:lib.Codec.decoding_table["224,97"] = [28635] let s:lib.Codec.decoding_table["224,98"] = [28681] let s:lib.Codec.decoding_table["224,99"] = [28683] let s:lib.Codec.decoding_table["224,100"] = [28666] let s:lib.Codec.decoding_table["224,101"] = [28689] let s:lib.Codec.decoding_table["224,102"] = [28673] let s:lib.Codec.decoding_table["224,103"] = [28687] let s:lib.Codec.decoding_table["224,104"] = [28670] let s:lib.Codec.decoding_table["224,105"] = [28699] let s:lib.Codec.decoding_table["224,106"] = [28698] let s:lib.Codec.decoding_table["224,107"] = [28532] let s:lib.Codec.decoding_table["224,108"] = [28701] let s:lib.Codec.decoding_table["224,109"] = [28696] let s:lib.Codec.decoding_table["224,110"] = [28703] let s:lib.Codec.decoding_table["224,111"] = [28720] let s:lib.Codec.decoding_table["224,112"] = [28734] let s:lib.Codec.decoding_table["224,113"] = [28722] let s:lib.Codec.decoding_table["224,114"] = [28753] let s:lib.Codec.decoding_table["224,115"] = [28771] let s:lib.Codec.decoding_table["224,116"] = [28825] let s:lib.Codec.decoding_table["224,117"] = [28818] let s:lib.Codec.decoding_table["224,118"] = [28847] let s:lib.Codec.decoding_table["224,119"] = [28913] let s:lib.Codec.decoding_table["224,120"] = [28844] let s:lib.Codec.decoding_table["224,121"] = [28856] let s:lib.Codec.decoding_table["224,122"] = [28851] let s:lib.Codec.decoding_table["224,123"] = [28846] let s:lib.Codec.decoding_table["224,124"] = [28895] let s:lib.Codec.decoding_table["224,125"] = [28875] let s:lib.Codec.decoding_table["224,126"] = [28893] let s:lib.Codec.decoding_table["224,128"] = [28889] let s:lib.Codec.decoding_table["224,129"] = [28937] let s:lib.Codec.decoding_table["224,130"] = [28925] let s:lib.Codec.decoding_table["224,131"] = [28956] let s:lib.Codec.decoding_table["224,132"] = [28953] let s:lib.Codec.decoding_table["224,133"] = [29029] let s:lib.Codec.decoding_table["224,134"] = [29013] let s:lib.Codec.decoding_table["224,135"] = [29064] let s:lib.Codec.decoding_table["224,136"] = [29030] let s:lib.Codec.decoding_table["224,137"] = [29026] let s:lib.Codec.decoding_table["224,138"] = [29004] let s:lib.Codec.decoding_table["224,139"] = [29014] let s:lib.Codec.decoding_table["224,140"] = [29036] let s:lib.Codec.decoding_table["224,141"] = [29071] let s:lib.Codec.decoding_table["224,142"] = [29179] let s:lib.Codec.decoding_table["224,143"] = [29060] let s:lib.Codec.decoding_table["224,144"] = [29077] let s:lib.Codec.decoding_table["224,145"] = [29096] let s:lib.Codec.decoding_table["224,146"] = [29100] let s:lib.Codec.decoding_table["224,147"] = [29143] let s:lib.Codec.decoding_table["224,148"] = [29113] let s:lib.Codec.decoding_table["224,149"] = [29118] let s:lib.Codec.decoding_table["224,150"] = [29138] let s:lib.Codec.decoding_table["224,151"] = [29129] let s:lib.Codec.decoding_table["224,152"] = [29140] let s:lib.Codec.decoding_table["224,153"] = [29134] let s:lib.Codec.decoding_table["224,154"] = [29152] let s:lib.Codec.decoding_table["224,155"] = [29164] let s:lib.Codec.decoding_table["224,156"] = [29159] let s:lib.Codec.decoding_table["224,157"] = [29173] let s:lib.Codec.decoding_table["224,158"] = [29180] let s:lib.Codec.decoding_table["224,159"] = [29177] let s:lib.Codec.decoding_table["224,160"] = [29183] let s:lib.Codec.decoding_table["224,161"] = [29197] let s:lib.Codec.decoding_table["224,162"] = [29200] let s:lib.Codec.decoding_table["224,163"] = [29211] let s:lib.Codec.decoding_table["224,164"] = [29224] let s:lib.Codec.decoding_table["224,165"] = [29229] let s:lib.Codec.decoding_table["224,166"] = [29228] let s:lib.Codec.decoding_table["224,167"] = [29232] let s:lib.Codec.decoding_table["224,168"] = [29234] let s:lib.Codec.decoding_table["224,169"] = [29243] let s:lib.Codec.decoding_table["224,170"] = [29244] let s:lib.Codec.decoding_table["224,171"] = [29247] let s:lib.Codec.decoding_table["224,172"] = [29248] let s:lib.Codec.decoding_table["224,173"] = [29254] let s:lib.Codec.decoding_table["224,174"] = [29259] let s:lib.Codec.decoding_table["224,175"] = [29272] let s:lib.Codec.decoding_table["224,176"] = [29300] let s:lib.Codec.decoding_table["224,177"] = [29310] let s:lib.Codec.decoding_table["224,178"] = [29314] let s:lib.Codec.decoding_table["224,179"] = [29313] let s:lib.Codec.decoding_table["224,180"] = [29319] let s:lib.Codec.decoding_table["224,181"] = [29330] let s:lib.Codec.decoding_table["224,182"] = [29334] let s:lib.Codec.decoding_table["224,183"] = [29346] let s:lib.Codec.decoding_table["224,184"] = [29351] let s:lib.Codec.decoding_table["224,185"] = [29369] let s:lib.Codec.decoding_table["224,186"] = [29362] let s:lib.Codec.decoding_table["224,187"] = [29379] let s:lib.Codec.decoding_table["224,188"] = [29382] let s:lib.Codec.decoding_table["224,189"] = [29380] let s:lib.Codec.decoding_table["224,190"] = [29390] let s:lib.Codec.decoding_table["224,191"] = [29394] let s:lib.Codec.decoding_table["224,192"] = [29410] let s:lib.Codec.decoding_table["224,193"] = [29408] let s:lib.Codec.decoding_table["224,194"] = [29409] let s:lib.Codec.decoding_table["224,195"] = [29433] let s:lib.Codec.decoding_table["224,196"] = [29431] let s:lib.Codec.decoding_table["224,197"] = [20495] let s:lib.Codec.decoding_table["224,198"] = [29463] let s:lib.Codec.decoding_table["224,199"] = [29450] let s:lib.Codec.decoding_table["224,200"] = [29468] let s:lib.Codec.decoding_table["224,201"] = [29462] let s:lib.Codec.decoding_table["224,202"] = [29469] let s:lib.Codec.decoding_table["224,203"] = [29492] let s:lib.Codec.decoding_table["224,204"] = [29487] let s:lib.Codec.decoding_table["224,205"] = [29481] let s:lib.Codec.decoding_table["224,206"] = [29477] let s:lib.Codec.decoding_table["224,207"] = [29502] let s:lib.Codec.decoding_table["224,208"] = [29518] let s:lib.Codec.decoding_table["224,209"] = [29519] let s:lib.Codec.decoding_table["224,210"] = [40664] let s:lib.Codec.decoding_table["224,211"] = [29527] let s:lib.Codec.decoding_table["224,212"] = [29546] let s:lib.Codec.decoding_table["224,213"] = [29544] let s:lib.Codec.decoding_table["224,214"] = [29552] let s:lib.Codec.decoding_table["224,215"] = [29560] let s:lib.Codec.decoding_table["224,216"] = [29557] let s:lib.Codec.decoding_table["224,217"] = [29563] let s:lib.Codec.decoding_table["224,218"] = [29562] let s:lib.Codec.decoding_table["224,219"] = [29640] let s:lib.Codec.decoding_table["224,220"] = [29619] let s:lib.Codec.decoding_table["224,221"] = [29646] let s:lib.Codec.decoding_table["224,222"] = [29627] let s:lib.Codec.decoding_table["224,223"] = [29632] let s:lib.Codec.decoding_table["224,224"] = [29669] let s:lib.Codec.decoding_table["224,225"] = [29678] let s:lib.Codec.decoding_table["224,226"] = [29662] let s:lib.Codec.decoding_table["224,227"] = [29858] let s:lib.Codec.decoding_table["224,228"] = [29701] let s:lib.Codec.decoding_table["224,229"] = [29807] let s:lib.Codec.decoding_table["224,230"] = [29733] let s:lib.Codec.decoding_table["224,231"] = [29688] let s:lib.Codec.decoding_table["224,232"] = [29746] let s:lib.Codec.decoding_table["224,233"] = [29754] let s:lib.Codec.decoding_table["224,234"] = [29781] let s:lib.Codec.decoding_table["224,235"] = [29759] let s:lib.Codec.decoding_table["224,236"] = [29791] let s:lib.Codec.decoding_table["224,237"] = [29785] let s:lib.Codec.decoding_table["224,238"] = [29761] let s:lib.Codec.decoding_table["224,239"] = [29788] let s:lib.Codec.decoding_table["224,240"] = [29801] let s:lib.Codec.decoding_table["224,241"] = [29808] let s:lib.Codec.decoding_table["224,242"] = [29795] let s:lib.Codec.decoding_table["224,243"] = [29802] let s:lib.Codec.decoding_table["224,244"] = [29814] let s:lib.Codec.decoding_table["224,245"] = [29822] let s:lib.Codec.decoding_table["224,246"] = [29835] let s:lib.Codec.decoding_table["224,247"] = [29854] let s:lib.Codec.decoding_table["224,248"] = [29863] let s:lib.Codec.decoding_table["224,249"] = [29898] let s:lib.Codec.decoding_table["224,250"] = [29903] let s:lib.Codec.decoding_table["224,251"] = [29908] let s:lib.Codec.decoding_table["224,252"] = [29681] let s:lib.Codec.decoding_table["225,64"] = [29920] let s:lib.Codec.decoding_table["225,65"] = [29923] let s:lib.Codec.decoding_table["225,66"] = [29927] let s:lib.Codec.decoding_table["225,67"] = [29929] let s:lib.Codec.decoding_table["225,68"] = [29934] let s:lib.Codec.decoding_table["225,69"] = [29938] let s:lib.Codec.decoding_table["225,70"] = [29936] let s:lib.Codec.decoding_table["225,71"] = [29937] let s:lib.Codec.decoding_table["225,72"] = [29944] let s:lib.Codec.decoding_table["225,73"] = [29943] let s:lib.Codec.decoding_table["225,74"] = [29956] let s:lib.Codec.decoding_table["225,75"] = [29955] let s:lib.Codec.decoding_table["225,76"] = [29957] let s:lib.Codec.decoding_table["225,77"] = [29964] let s:lib.Codec.decoding_table["225,78"] = [29966] let s:lib.Codec.decoding_table["225,79"] = [29965] let s:lib.Codec.decoding_table["225,80"] = [29973] let s:lib.Codec.decoding_table["225,81"] = [29971] let s:lib.Codec.decoding_table["225,82"] = [29982] let s:lib.Codec.decoding_table["225,83"] = [29990] let s:lib.Codec.decoding_table["225,84"] = [29996] let s:lib.Codec.decoding_table["225,85"] = [30012] let s:lib.Codec.decoding_table["225,86"] = [30020] let s:lib.Codec.decoding_table["225,87"] = [30029] let s:lib.Codec.decoding_table["225,88"] = [30026] let s:lib.Codec.decoding_table["225,89"] = [30025] let s:lib.Codec.decoding_table["225,90"] = [30043] let s:lib.Codec.decoding_table["225,91"] = [30022] let s:lib.Codec.decoding_table["225,92"] = [30042] let s:lib.Codec.decoding_table["225,93"] = [30057] let s:lib.Codec.decoding_table["225,94"] = [30052] let s:lib.Codec.decoding_table["225,95"] = [30055] let s:lib.Codec.decoding_table["225,96"] = [30059] let s:lib.Codec.decoding_table["225,97"] = [30061] let s:lib.Codec.decoding_table["225,98"] = [30072] let s:lib.Codec.decoding_table["225,99"] = [30070] let s:lib.Codec.decoding_table["225,100"] = [30086] let s:lib.Codec.decoding_table["225,101"] = [30087] let s:lib.Codec.decoding_table["225,102"] = [30068] let s:lib.Codec.decoding_table["225,103"] = [30090] let s:lib.Codec.decoding_table["225,104"] = [30089] let s:lib.Codec.decoding_table["225,105"] = [30082] let s:lib.Codec.decoding_table["225,106"] = [30100] let s:lib.Codec.decoding_table["225,107"] = [30106] let s:lib.Codec.decoding_table["225,108"] = [30109] let s:lib.Codec.decoding_table["225,109"] = [30117] let s:lib.Codec.decoding_table["225,110"] = [30115] let s:lib.Codec.decoding_table["225,111"] = [30146] let s:lib.Codec.decoding_table["225,112"] = [30131] let s:lib.Codec.decoding_table["225,113"] = [30147] let s:lib.Codec.decoding_table["225,114"] = [30133] let s:lib.Codec.decoding_table["225,115"] = [30141] let s:lib.Codec.decoding_table["225,116"] = [30136] let s:lib.Codec.decoding_table["225,117"] = [30140] let s:lib.Codec.decoding_table["225,118"] = [30129] let s:lib.Codec.decoding_table["225,119"] = [30157] let s:lib.Codec.decoding_table["225,120"] = [30154] let s:lib.Codec.decoding_table["225,121"] = [30162] let s:lib.Codec.decoding_table["225,122"] = [30169] let s:lib.Codec.decoding_table["225,123"] = [30179] let s:lib.Codec.decoding_table["225,124"] = [30174] let s:lib.Codec.decoding_table["225,125"] = [30206] let s:lib.Codec.decoding_table["225,126"] = [30207] let s:lib.Codec.decoding_table["225,128"] = [30204] let s:lib.Codec.decoding_table["225,129"] = [30209] let s:lib.Codec.decoding_table["225,130"] = [30192] let s:lib.Codec.decoding_table["225,131"] = [30202] let s:lib.Codec.decoding_table["225,132"] = [30194] let s:lib.Codec.decoding_table["225,133"] = [30195] let s:lib.Codec.decoding_table["225,134"] = [30219] let s:lib.Codec.decoding_table["225,135"] = [30221] let s:lib.Codec.decoding_table["225,136"] = [30217] let s:lib.Codec.decoding_table["225,137"] = [30239] let s:lib.Codec.decoding_table["225,138"] = [30247] let s:lib.Codec.decoding_table["225,139"] = [30240] let s:lib.Codec.decoding_table["225,140"] = [30241] let s:lib.Codec.decoding_table["225,141"] = [30242] let s:lib.Codec.decoding_table["225,142"] = [30244] let s:lib.Codec.decoding_table["225,143"] = [30260] let s:lib.Codec.decoding_table["225,144"] = [30256] let s:lib.Codec.decoding_table["225,145"] = [30267] let s:lib.Codec.decoding_table["225,146"] = [30279] let s:lib.Codec.decoding_table["225,147"] = [30280] let s:lib.Codec.decoding_table["225,148"] = [30278] let s:lib.Codec.decoding_table["225,149"] = [30300] let s:lib.Codec.decoding_table["225,150"] = [30296] let s:lib.Codec.decoding_table["225,151"] = [30305] let s:lib.Codec.decoding_table["225,152"] = [30306] let s:lib.Codec.decoding_table["225,153"] = [30312] let s:lib.Codec.decoding_table["225,154"] = [30313] let s:lib.Codec.decoding_table["225,155"] = [30314] let s:lib.Codec.decoding_table["225,156"] = [30311] let s:lib.Codec.decoding_table["225,157"] = [30316] let s:lib.Codec.decoding_table["225,158"] = [30320] let s:lib.Codec.decoding_table["225,159"] = [30322] let s:lib.Codec.decoding_table["225,160"] = [30326] let s:lib.Codec.decoding_table["225,161"] = [30328] let s:lib.Codec.decoding_table["225,162"] = [30332] let s:lib.Codec.decoding_table["225,163"] = [30336] let s:lib.Codec.decoding_table["225,164"] = [30339] let s:lib.Codec.decoding_table["225,165"] = [30344] let s:lib.Codec.decoding_table["225,166"] = [30347] let s:lib.Codec.decoding_table["225,167"] = [30350] let s:lib.Codec.decoding_table["225,168"] = [30358] let s:lib.Codec.decoding_table["225,169"] = [30355] let s:lib.Codec.decoding_table["225,170"] = [30361] let s:lib.Codec.decoding_table["225,171"] = [30362] let s:lib.Codec.decoding_table["225,172"] = [30384] let s:lib.Codec.decoding_table["225,173"] = [30388] let s:lib.Codec.decoding_table["225,174"] = [30392] let s:lib.Codec.decoding_table["225,175"] = [30393] let s:lib.Codec.decoding_table["225,176"] = [30394] let s:lib.Codec.decoding_table["225,177"] = [30402] let s:lib.Codec.decoding_table["225,178"] = [30413] let s:lib.Codec.decoding_table["225,179"] = [30422] let s:lib.Codec.decoding_table["225,180"] = [30418] let s:lib.Codec.decoding_table["225,181"] = [30430] let s:lib.Codec.decoding_table["225,182"] = [30433] let s:lib.Codec.decoding_table["225,183"] = [30437] let s:lib.Codec.decoding_table["225,184"] = [30439] let s:lib.Codec.decoding_table["225,185"] = [30442] let s:lib.Codec.decoding_table["225,186"] = [34351] let s:lib.Codec.decoding_table["225,187"] = [30459] let s:lib.Codec.decoding_table["225,188"] = [30472] let s:lib.Codec.decoding_table["225,189"] = [30471] let s:lib.Codec.decoding_table["225,190"] = [30468] let s:lib.Codec.decoding_table["225,191"] = [30505] let s:lib.Codec.decoding_table["225,192"] = [30500] let s:lib.Codec.decoding_table["225,193"] = [30494] let s:lib.Codec.decoding_table["225,194"] = [30501] let s:lib.Codec.decoding_table["225,195"] = [30502] let s:lib.Codec.decoding_table["225,196"] = [30491] let s:lib.Codec.decoding_table["225,197"] = [30519] let s:lib.Codec.decoding_table["225,198"] = [30520] let s:lib.Codec.decoding_table["225,199"] = [30535] let s:lib.Codec.decoding_table["225,200"] = [30554] let s:lib.Codec.decoding_table["225,201"] = [30568] let s:lib.Codec.decoding_table["225,202"] = [30571] let s:lib.Codec.decoding_table["225,203"] = [30555] let s:lib.Codec.decoding_table["225,204"] = [30565] let s:lib.Codec.decoding_table["225,205"] = [30591] let s:lib.Codec.decoding_table["225,206"] = [30590] let s:lib.Codec.decoding_table["225,207"] = [30585] let s:lib.Codec.decoding_table["225,208"] = [30606] let s:lib.Codec.decoding_table["225,209"] = [30603] let s:lib.Codec.decoding_table["225,210"] = [30609] let s:lib.Codec.decoding_table["225,211"] = [30624] let s:lib.Codec.decoding_table["225,212"] = [30622] let s:lib.Codec.decoding_table["225,213"] = [30640] let s:lib.Codec.decoding_table["225,214"] = [30646] let s:lib.Codec.decoding_table["225,215"] = [30649] let s:lib.Codec.decoding_table["225,216"] = [30655] let s:lib.Codec.decoding_table["225,217"] = [30652] let s:lib.Codec.decoding_table["225,218"] = [30653] let s:lib.Codec.decoding_table["225,219"] = [30651] let s:lib.Codec.decoding_table["225,220"] = [30663] let s:lib.Codec.decoding_table["225,221"] = [30669] let s:lib.Codec.decoding_table["225,222"] = [30679] let s:lib.Codec.decoding_table["225,223"] = [30682] let s:lib.Codec.decoding_table["225,224"] = [30684] let s:lib.Codec.decoding_table["225,225"] = [30691] let s:lib.Codec.decoding_table["225,226"] = [30702] let s:lib.Codec.decoding_table["225,227"] = [30716] let s:lib.Codec.decoding_table["225,228"] = [30732] let s:lib.Codec.decoding_table["225,229"] = [30738] let s:lib.Codec.decoding_table["225,230"] = [31014] let s:lib.Codec.decoding_table["225,231"] = [30752] let s:lib.Codec.decoding_table["225,232"] = [31018] let s:lib.Codec.decoding_table["225,233"] = [30789] let s:lib.Codec.decoding_table["225,234"] = [30862] let s:lib.Codec.decoding_table["225,235"] = [30836] let s:lib.Codec.decoding_table["225,236"] = [30854] let s:lib.Codec.decoding_table["225,237"] = [30844] let s:lib.Codec.decoding_table["225,238"] = [30874] let s:lib.Codec.decoding_table["225,239"] = [30860] let s:lib.Codec.decoding_table["225,240"] = [30883] let s:lib.Codec.decoding_table["225,241"] = [30901] let s:lib.Codec.decoding_table["225,242"] = [30890] let s:lib.Codec.decoding_table["225,243"] = [30895] let s:lib.Codec.decoding_table["225,244"] = [30929] let s:lib.Codec.decoding_table["225,245"] = [30918] let s:lib.Codec.decoding_table["225,246"] = [30923] let s:lib.Codec.decoding_table["225,247"] = [30932] let s:lib.Codec.decoding_table["225,248"] = [30910] let s:lib.Codec.decoding_table["225,249"] = [30908] let s:lib.Codec.decoding_table["225,250"] = [30917] let s:lib.Codec.decoding_table["225,251"] = [30922] let s:lib.Codec.decoding_table["225,252"] = [30956] let s:lib.Codec.decoding_table["226,64"] = [30951] let s:lib.Codec.decoding_table["226,65"] = [30938] let s:lib.Codec.decoding_table["226,66"] = [30973] let s:lib.Codec.decoding_table["226,67"] = [30964] let s:lib.Codec.decoding_table["226,68"] = [30983] let s:lib.Codec.decoding_table["226,69"] = [30994] let s:lib.Codec.decoding_table["226,70"] = [30993] let s:lib.Codec.decoding_table["226,71"] = [31001] let s:lib.Codec.decoding_table["226,72"] = [31020] let s:lib.Codec.decoding_table["226,73"] = [31019] let s:lib.Codec.decoding_table["226,74"] = [31040] let s:lib.Codec.decoding_table["226,75"] = [31072] let s:lib.Codec.decoding_table["226,76"] = [31063] let s:lib.Codec.decoding_table["226,77"] = [31071] let s:lib.Codec.decoding_table["226,78"] = [31066] let s:lib.Codec.decoding_table["226,79"] = [31061] let s:lib.Codec.decoding_table["226,80"] = [31059] let s:lib.Codec.decoding_table["226,81"] = [31098] let s:lib.Codec.decoding_table["226,82"] = [31103] let s:lib.Codec.decoding_table["226,83"] = [31114] let s:lib.Codec.decoding_table["226,84"] = [31133] let s:lib.Codec.decoding_table["226,85"] = [31143] let s:lib.Codec.decoding_table["226,86"] = [40779] let s:lib.Codec.decoding_table["226,87"] = [31146] let s:lib.Codec.decoding_table["226,88"] = [31150] let s:lib.Codec.decoding_table["226,89"] = [31155] let s:lib.Codec.decoding_table["226,90"] = [31161] let s:lib.Codec.decoding_table["226,91"] = [31162] let s:lib.Codec.decoding_table["226,92"] = [31177] let s:lib.Codec.decoding_table["226,93"] = [31189] let s:lib.Codec.decoding_table["226,94"] = [31207] let s:lib.Codec.decoding_table["226,95"] = [31212] let s:lib.Codec.decoding_table["226,96"] = [31201] let s:lib.Codec.decoding_table["226,97"] = [31203] let s:lib.Codec.decoding_table["226,98"] = [31240] let s:lib.Codec.decoding_table["226,99"] = [31245] let s:lib.Codec.decoding_table["226,100"] = [31256] let s:lib.Codec.decoding_table["226,101"] = [31257] let s:lib.Codec.decoding_table["226,102"] = [31264] let s:lib.Codec.decoding_table["226,103"] = [31263] let s:lib.Codec.decoding_table["226,104"] = [31104] let s:lib.Codec.decoding_table["226,105"] = [31281] let s:lib.Codec.decoding_table["226,106"] = [31291] let s:lib.Codec.decoding_table["226,107"] = [31294] let s:lib.Codec.decoding_table["226,108"] = [31287] let s:lib.Codec.decoding_table["226,109"] = [31299] let s:lib.Codec.decoding_table["226,110"] = [31319] let s:lib.Codec.decoding_table["226,111"] = [31305] let s:lib.Codec.decoding_table["226,112"] = [31329] let s:lib.Codec.decoding_table["226,113"] = [31330] let s:lib.Codec.decoding_table["226,114"] = [31337] let s:lib.Codec.decoding_table["226,115"] = [40861] let s:lib.Codec.decoding_table["226,116"] = [31344] let s:lib.Codec.decoding_table["226,117"] = [31353] let s:lib.Codec.decoding_table["226,118"] = [31357] let s:lib.Codec.decoding_table["226,119"] = [31368] let s:lib.Codec.decoding_table["226,120"] = [31383] let s:lib.Codec.decoding_table["226,121"] = [31381] let s:lib.Codec.decoding_table["226,122"] = [31384] let s:lib.Codec.decoding_table["226,123"] = [31382] let s:lib.Codec.decoding_table["226,124"] = [31401] let s:lib.Codec.decoding_table["226,125"] = [31432] let s:lib.Codec.decoding_table["226,126"] = [31408] let s:lib.Codec.decoding_table["226,128"] = [31414] let s:lib.Codec.decoding_table["226,129"] = [31429] let s:lib.Codec.decoding_table["226,130"] = [31428] let s:lib.Codec.decoding_table["226,131"] = [31423] let s:lib.Codec.decoding_table["226,132"] = [36995] let s:lib.Codec.decoding_table["226,133"] = [31431] let s:lib.Codec.decoding_table["226,134"] = [31434] let s:lib.Codec.decoding_table["226,135"] = [31437] let s:lib.Codec.decoding_table["226,136"] = [31439] let s:lib.Codec.decoding_table["226,137"] = [31445] let s:lib.Codec.decoding_table["226,138"] = [31443] let s:lib.Codec.decoding_table["226,139"] = [31449] let s:lib.Codec.decoding_table["226,140"] = [31450] let s:lib.Codec.decoding_table["226,141"] = [31453] let s:lib.Codec.decoding_table["226,142"] = [31457] let s:lib.Codec.decoding_table["226,143"] = [31458] let s:lib.Codec.decoding_table["226,144"] = [31462] let s:lib.Codec.decoding_table["226,145"] = [31469] let s:lib.Codec.decoding_table["226,146"] = [31472] let s:lib.Codec.decoding_table["226,147"] = [31490] let s:lib.Codec.decoding_table["226,148"] = [31503] let s:lib.Codec.decoding_table["226,149"] = [31498] let s:lib.Codec.decoding_table["226,150"] = [31494] let s:lib.Codec.decoding_table["226,151"] = [31539] let s:lib.Codec.decoding_table["226,152"] = [31512] let s:lib.Codec.decoding_table["226,153"] = [31513] let s:lib.Codec.decoding_table["226,154"] = [31518] let s:lib.Codec.decoding_table["226,155"] = [31541] let s:lib.Codec.decoding_table["226,156"] = [31528] let s:lib.Codec.decoding_table["226,157"] = [31542] let s:lib.Codec.decoding_table["226,158"] = [31568] let s:lib.Codec.decoding_table["226,159"] = [31610] let s:lib.Codec.decoding_table["226,160"] = [31492] let s:lib.Codec.decoding_table["226,161"] = [31565] let s:lib.Codec.decoding_table["226,162"] = [31499] let s:lib.Codec.decoding_table["226,163"] = [31564] let s:lib.Codec.decoding_table["226,164"] = [31557] let s:lib.Codec.decoding_table["226,165"] = [31605] let s:lib.Codec.decoding_table["226,166"] = [31589] let s:lib.Codec.decoding_table["226,167"] = [31604] let s:lib.Codec.decoding_table["226,168"] = [31591] let s:lib.Codec.decoding_table["226,169"] = [31600] let s:lib.Codec.decoding_table["226,170"] = [31601] let s:lib.Codec.decoding_table["226,171"] = [31596] let s:lib.Codec.decoding_table["226,172"] = [31598] let s:lib.Codec.decoding_table["226,173"] = [31645] let s:lib.Codec.decoding_table["226,174"] = [31640] let s:lib.Codec.decoding_table["226,175"] = [31647] let s:lib.Codec.decoding_table["226,176"] = [31629] let s:lib.Codec.decoding_table["226,177"] = [31644] let s:lib.Codec.decoding_table["226,178"] = [31642] let s:lib.Codec.decoding_table["226,179"] = [31627] let s:lib.Codec.decoding_table["226,180"] = [31634] let s:lib.Codec.decoding_table["226,181"] = [31631] let s:lib.Codec.decoding_table["226,182"] = [31581] let s:lib.Codec.decoding_table["226,183"] = [31641] let s:lib.Codec.decoding_table["226,184"] = [31691] let s:lib.Codec.decoding_table["226,185"] = [31681] let s:lib.Codec.decoding_table["226,186"] = [31692] let s:lib.Codec.decoding_table["226,187"] = [31695] let s:lib.Codec.decoding_table["226,188"] = [31668] let s:lib.Codec.decoding_table["226,189"] = [31686] let s:lib.Codec.decoding_table["226,190"] = [31709] let s:lib.Codec.decoding_table["226,191"] = [31721] let s:lib.Codec.decoding_table["226,192"] = [31761] let s:lib.Codec.decoding_table["226,193"] = [31764] let s:lib.Codec.decoding_table["226,194"] = [31718] let s:lib.Codec.decoding_table["226,195"] = [31717] let s:lib.Codec.decoding_table["226,196"] = [31840] let s:lib.Codec.decoding_table["226,197"] = [31744] let s:lib.Codec.decoding_table["226,198"] = [31751] let s:lib.Codec.decoding_table["226,199"] = [31763] let s:lib.Codec.decoding_table["226,200"] = [31731] let s:lib.Codec.decoding_table["226,201"] = [31735] let s:lib.Codec.decoding_table["226,202"] = [31767] let s:lib.Codec.decoding_table["226,203"] = [31757] let s:lib.Codec.decoding_table["226,204"] = [31734] let s:lib.Codec.decoding_table["226,205"] = [31779] let s:lib.Codec.decoding_table["226,206"] = [31783] let s:lib.Codec.decoding_table["226,207"] = [31786] let s:lib.Codec.decoding_table["226,208"] = [31775] let s:lib.Codec.decoding_table["226,209"] = [31799] let s:lib.Codec.decoding_table["226,210"] = [31787] let s:lib.Codec.decoding_table["226,211"] = [31805] let s:lib.Codec.decoding_table["226,212"] = [31820] let s:lib.Codec.decoding_table["226,213"] = [31811] let s:lib.Codec.decoding_table["226,214"] = [31828] let s:lib.Codec.decoding_table["226,215"] = [31823] let s:lib.Codec.decoding_table["226,216"] = [31808] let s:lib.Codec.decoding_table["226,217"] = [31824] let s:lib.Codec.decoding_table["226,218"] = [31832] let s:lib.Codec.decoding_table["226,219"] = [31839] let s:lib.Codec.decoding_table["226,220"] = [31844] let s:lib.Codec.decoding_table["226,221"] = [31830] let s:lib.Codec.decoding_table["226,222"] = [31845] let s:lib.Codec.decoding_table["226,223"] = [31852] let s:lib.Codec.decoding_table["226,224"] = [31861] let s:lib.Codec.decoding_table["226,225"] = [31875] let s:lib.Codec.decoding_table["226,226"] = [31888] let s:lib.Codec.decoding_table["226,227"] = [31908] let s:lib.Codec.decoding_table["226,228"] = [31917] let s:lib.Codec.decoding_table["226,229"] = [31906] let s:lib.Codec.decoding_table["226,230"] = [31915] let s:lib.Codec.decoding_table["226,231"] = [31905] let s:lib.Codec.decoding_table["226,232"] = [31912] let s:lib.Codec.decoding_table["226,233"] = [31923] let s:lib.Codec.decoding_table["226,234"] = [31922] let s:lib.Codec.decoding_table["226,235"] = [31921] let s:lib.Codec.decoding_table["226,236"] = [31918] let s:lib.Codec.decoding_table["226,237"] = [31929] let s:lib.Codec.decoding_table["226,238"] = [31933] let s:lib.Codec.decoding_table["226,239"] = [31936] let s:lib.Codec.decoding_table["226,240"] = [31941] let s:lib.Codec.decoding_table["226,241"] = [31938] let s:lib.Codec.decoding_table["226,242"] = [31960] let s:lib.Codec.decoding_table["226,243"] = [31954] let s:lib.Codec.decoding_table["226,244"] = [31964] let s:lib.Codec.decoding_table["226,245"] = [31970] let s:lib.Codec.decoding_table["226,246"] = [39739] let s:lib.Codec.decoding_table["226,247"] = [31983] let s:lib.Codec.decoding_table["226,248"] = [31986] let s:lib.Codec.decoding_table["226,249"] = [31988] let s:lib.Codec.decoding_table["226,250"] = [31990] let s:lib.Codec.decoding_table["226,251"] = [31994] let s:lib.Codec.decoding_table["226,252"] = [32006] let s:lib.Codec.decoding_table["227,64"] = [32002] let s:lib.Codec.decoding_table["227,65"] = [32028] let s:lib.Codec.decoding_table["227,66"] = [32021] let s:lib.Codec.decoding_table["227,67"] = [32010] let s:lib.Codec.decoding_table["227,68"] = [32069] let s:lib.Codec.decoding_table["227,69"] = [32075] let s:lib.Codec.decoding_table["227,70"] = [32046] let s:lib.Codec.decoding_table["227,71"] = [32050] let s:lib.Codec.decoding_table["227,72"] = [32063] let s:lib.Codec.decoding_table["227,73"] = [32053] let s:lib.Codec.decoding_table["227,74"] = [32070] let s:lib.Codec.decoding_table["227,75"] = [32115] let s:lib.Codec.decoding_table["227,76"] = [32086] let s:lib.Codec.decoding_table["227,77"] = [32078] let s:lib.Codec.decoding_table["227,78"] = [32114] let s:lib.Codec.decoding_table["227,79"] = [32104] let s:lib.Codec.decoding_table["227,80"] = [32110] let s:lib.Codec.decoding_table["227,81"] = [32079] let s:lib.Codec.decoding_table["227,82"] = [32099] let s:lib.Codec.decoding_table["227,83"] = [32147] let s:lib.Codec.decoding_table["227,84"] = [32137] let s:lib.Codec.decoding_table["227,85"] = [32091] let s:lib.Codec.decoding_table["227,86"] = [32143] let s:lib.Codec.decoding_table["227,87"] = [32125] let s:lib.Codec.decoding_table["227,88"] = [32155] let s:lib.Codec.decoding_table["227,89"] = [32186] let s:lib.Codec.decoding_table["227,90"] = [32174] let s:lib.Codec.decoding_table["227,91"] = [32163] let s:lib.Codec.decoding_table["227,92"] = [32181] let s:lib.Codec.decoding_table["227,93"] = [32199] let s:lib.Codec.decoding_table["227,94"] = [32189] let s:lib.Codec.decoding_table["227,95"] = [32171] let s:lib.Codec.decoding_table["227,96"] = [32317] let s:lib.Codec.decoding_table["227,97"] = [32162] let s:lib.Codec.decoding_table["227,98"] = [32175] let s:lib.Codec.decoding_table["227,99"] = [32220] let s:lib.Codec.decoding_table["227,100"] = [32184] let s:lib.Codec.decoding_table["227,101"] = [32159] let s:lib.Codec.decoding_table["227,102"] = [32176] let s:lib.Codec.decoding_table["227,103"] = [32216] let s:lib.Codec.decoding_table["227,104"] = [32221] let s:lib.Codec.decoding_table["227,105"] = [32228] let s:lib.Codec.decoding_table["227,106"] = [32222] let s:lib.Codec.decoding_table["227,107"] = [32251] let s:lib.Codec.decoding_table["227,108"] = [32242] let s:lib.Codec.decoding_table["227,109"] = [32225] let s:lib.Codec.decoding_table["227,110"] = [32261] let s:lib.Codec.decoding_table["227,111"] = [32266] let s:lib.Codec.decoding_table["227,112"] = [32291] let s:lib.Codec.decoding_table["227,113"] = [32289] let s:lib.Codec.decoding_table["227,114"] = [32274] let s:lib.Codec.decoding_table["227,115"] = [32305] let s:lib.Codec.decoding_table["227,116"] = [32287] let s:lib.Codec.decoding_table["227,117"] = [32265] let s:lib.Codec.decoding_table["227,118"] = [32267] let s:lib.Codec.decoding_table["227,119"] = [32290] let s:lib.Codec.decoding_table["227,120"] = [32326] let s:lib.Codec.decoding_table["227,121"] = [32358] let s:lib.Codec.decoding_table["227,122"] = [32315] let s:lib.Codec.decoding_table["227,123"] = [32309] let s:lib.Codec.decoding_table["227,124"] = [32313] let s:lib.Codec.decoding_table["227,125"] = [32323] let s:lib.Codec.decoding_table["227,126"] = [32311] let s:lib.Codec.decoding_table["227,128"] = [32306] let s:lib.Codec.decoding_table["227,129"] = [32314] let s:lib.Codec.decoding_table["227,130"] = [32359] let s:lib.Codec.decoding_table["227,131"] = [32349] let s:lib.Codec.decoding_table["227,132"] = [32342] let s:lib.Codec.decoding_table["227,133"] = [32350] let s:lib.Codec.decoding_table["227,134"] = [32345] let s:lib.Codec.decoding_table["227,135"] = [32346] let s:lib.Codec.decoding_table["227,136"] = [32377] let s:lib.Codec.decoding_table["227,137"] = [32362] let s:lib.Codec.decoding_table["227,138"] = [32361] let s:lib.Codec.decoding_table["227,139"] = [32380] let s:lib.Codec.decoding_table["227,140"] = [32379] let s:lib.Codec.decoding_table["227,141"] = [32387] let s:lib.Codec.decoding_table["227,142"] = [32213] let s:lib.Codec.decoding_table["227,143"] = [32381] let s:lib.Codec.decoding_table["227,144"] = [36782] let s:lib.Codec.decoding_table["227,145"] = [32383] let s:lib.Codec.decoding_table["227,146"] = [32392] let s:lib.Codec.decoding_table["227,147"] = [32393] let s:lib.Codec.decoding_table["227,148"] = [32396] let s:lib.Codec.decoding_table["227,149"] = [32402] let s:lib.Codec.decoding_table["227,150"] = [32400] let s:lib.Codec.decoding_table["227,151"] = [32403] let s:lib.Codec.decoding_table["227,152"] = [32404] let s:lib.Codec.decoding_table["227,153"] = [32406] let s:lib.Codec.decoding_table["227,154"] = [32398] let s:lib.Codec.decoding_table["227,155"] = [32411] let s:lib.Codec.decoding_table["227,156"] = [32412] let s:lib.Codec.decoding_table["227,157"] = [32568] let s:lib.Codec.decoding_table["227,158"] = [32570] let s:lib.Codec.decoding_table["227,159"] = [32581] let s:lib.Codec.decoding_table["227,160"] = [32588] let s:lib.Codec.decoding_table["227,161"] = [32589] let s:lib.Codec.decoding_table["227,162"] = [32590] let s:lib.Codec.decoding_table["227,163"] = [32592] let s:lib.Codec.decoding_table["227,164"] = [32593] let s:lib.Codec.decoding_table["227,165"] = [32597] let s:lib.Codec.decoding_table["227,166"] = [32596] let s:lib.Codec.decoding_table["227,167"] = [32600] let s:lib.Codec.decoding_table["227,168"] = [32607] let s:lib.Codec.decoding_table["227,169"] = [32608] let s:lib.Codec.decoding_table["227,170"] = [32616] let s:lib.Codec.decoding_table["227,171"] = [32617] let s:lib.Codec.decoding_table["227,172"] = [32615] let s:lib.Codec.decoding_table["227,173"] = [32632] let s:lib.Codec.decoding_table["227,174"] = [32642] let s:lib.Codec.decoding_table["227,175"] = [32646] let s:lib.Codec.decoding_table["227,176"] = [32643] let s:lib.Codec.decoding_table["227,177"] = [32648] let s:lib.Codec.decoding_table["227,178"] = [32647] let s:lib.Codec.decoding_table["227,179"] = [32652] let s:lib.Codec.decoding_table["227,180"] = [32660] let s:lib.Codec.decoding_table["227,181"] = [32670] let s:lib.Codec.decoding_table["227,182"] = [32669] let s:lib.Codec.decoding_table["227,183"] = [32666] let s:lib.Codec.decoding_table["227,184"] = [32675] let s:lib.Codec.decoding_table["227,185"] = [32687] let s:lib.Codec.decoding_table["227,186"] = [32690] let s:lib.Codec.decoding_table["227,187"] = [32697] let s:lib.Codec.decoding_table["227,188"] = [32686] let s:lib.Codec.decoding_table["227,189"] = [32694] let s:lib.Codec.decoding_table["227,190"] = [32696] let s:lib.Codec.decoding_table["227,191"] = [35697] let s:lib.Codec.decoding_table["227,192"] = [32709] let s:lib.Codec.decoding_table["227,193"] = [32710] let s:lib.Codec.decoding_table["227,194"] = [32714] let s:lib.Codec.decoding_table["227,195"] = [32725] let s:lib.Codec.decoding_table["227,196"] = [32724] let s:lib.Codec.decoding_table["227,197"] = [32737] let s:lib.Codec.decoding_table["227,198"] = [32742] let s:lib.Codec.decoding_table["227,199"] = [32745] let s:lib.Codec.decoding_table["227,200"] = [32755] let s:lib.Codec.decoding_table["227,201"] = [32761] let s:lib.Codec.decoding_table["227,202"] = [39132] let s:lib.Codec.decoding_table["227,203"] = [32774] let s:lib.Codec.decoding_table["227,204"] = [32772] let s:lib.Codec.decoding_table["227,205"] = [32779] let s:lib.Codec.decoding_table["227,206"] = [32786] let s:lib.Codec.decoding_table["227,207"] = [32792] let s:lib.Codec.decoding_table["227,208"] = [32793] let s:lib.Codec.decoding_table["227,209"] = [32796] let s:lib.Codec.decoding_table["227,210"] = [32801] let s:lib.Codec.decoding_table["227,211"] = [32808] let s:lib.Codec.decoding_table["227,212"] = [32831] let s:lib.Codec.decoding_table["227,213"] = [32827] let s:lib.Codec.decoding_table["227,214"] = [32842] let s:lib.Codec.decoding_table["227,215"] = [32838] let s:lib.Codec.decoding_table["227,216"] = [32850] let s:lib.Codec.decoding_table["227,217"] = [32856] let s:lib.Codec.decoding_table["227,218"] = [32858] let s:lib.Codec.decoding_table["227,219"] = [32863] let s:lib.Codec.decoding_table["227,220"] = [32866] let s:lib.Codec.decoding_table["227,221"] = [32872] let s:lib.Codec.decoding_table["227,222"] = [32883] let s:lib.Codec.decoding_table["227,223"] = [32882] let s:lib.Codec.decoding_table["227,224"] = [32880] let s:lib.Codec.decoding_table["227,225"] = [32886] let s:lib.Codec.decoding_table["227,226"] = [32889] let s:lib.Codec.decoding_table["227,227"] = [32893] let s:lib.Codec.decoding_table["227,228"] = [32895] let s:lib.Codec.decoding_table["227,229"] = [32900] let s:lib.Codec.decoding_table["227,230"] = [32902] let s:lib.Codec.decoding_table["227,231"] = [32901] let s:lib.Codec.decoding_table["227,232"] = [32923] let s:lib.Codec.decoding_table["227,233"] = [32915] let s:lib.Codec.decoding_table["227,234"] = [32922] let s:lib.Codec.decoding_table["227,235"] = [32941] let s:lib.Codec.decoding_table["227,236"] = [20880] let s:lib.Codec.decoding_table["227,237"] = [32940] let s:lib.Codec.decoding_table["227,238"] = [32987] let s:lib.Codec.decoding_table["227,239"] = [32997] let s:lib.Codec.decoding_table["227,240"] = [32985] let s:lib.Codec.decoding_table["227,241"] = [32989] let s:lib.Codec.decoding_table["227,242"] = [32964] let s:lib.Codec.decoding_table["227,243"] = [32986] let s:lib.Codec.decoding_table["227,244"] = [32982] let s:lib.Codec.decoding_table["227,245"] = [33033] let s:lib.Codec.decoding_table["227,246"] = [33007] let s:lib.Codec.decoding_table["227,247"] = [33009] let s:lib.Codec.decoding_table["227,248"] = [33051] let s:lib.Codec.decoding_table["227,249"] = [33065] let s:lib.Codec.decoding_table["227,250"] = [33059] let s:lib.Codec.decoding_table["227,251"] = [33071] let s:lib.Codec.decoding_table["227,252"] = [33099] let s:lib.Codec.decoding_table["228,64"] = [38539] let s:lib.Codec.decoding_table["228,65"] = [33094] let s:lib.Codec.decoding_table["228,66"] = [33086] let s:lib.Codec.decoding_table["228,67"] = [33107] let s:lib.Codec.decoding_table["228,68"] = [33105] let s:lib.Codec.decoding_table["228,69"] = [33020] let s:lib.Codec.decoding_table["228,70"] = [33137] let s:lib.Codec.decoding_table["228,71"] = [33134] let s:lib.Codec.decoding_table["228,72"] = [33125] let s:lib.Codec.decoding_table["228,73"] = [33126] let s:lib.Codec.decoding_table["228,74"] = [33140] let s:lib.Codec.decoding_table["228,75"] = [33155] let s:lib.Codec.decoding_table["228,76"] = [33160] let s:lib.Codec.decoding_table["228,77"] = [33162] let s:lib.Codec.decoding_table["228,78"] = [33152] let s:lib.Codec.decoding_table["228,79"] = [33154] let s:lib.Codec.decoding_table["228,80"] = [33184] let s:lib.Codec.decoding_table["228,81"] = [33173] let s:lib.Codec.decoding_table["228,82"] = [33188] let s:lib.Codec.decoding_table["228,83"] = [33187] let s:lib.Codec.decoding_table["228,84"] = [33119] let s:lib.Codec.decoding_table["228,85"] = [33171] let s:lib.Codec.decoding_table["228,86"] = [33193] let s:lib.Codec.decoding_table["228,87"] = [33200] let s:lib.Codec.decoding_table["228,88"] = [33205] let s:lib.Codec.decoding_table["228,89"] = [33214] let s:lib.Codec.decoding_table["228,90"] = [33208] let s:lib.Codec.decoding_table["228,91"] = [33213] let s:lib.Codec.decoding_table["228,92"] = [33216] let s:lib.Codec.decoding_table["228,93"] = [33218] let s:lib.Codec.decoding_table["228,94"] = [33210] let s:lib.Codec.decoding_table["228,95"] = [33225] let s:lib.Codec.decoding_table["228,96"] = [33229] let s:lib.Codec.decoding_table["228,97"] = [33233] let s:lib.Codec.decoding_table["228,98"] = [33241] let s:lib.Codec.decoding_table["228,99"] = [33240] let s:lib.Codec.decoding_table["228,100"] = [33224] let s:lib.Codec.decoding_table["228,101"] = [33242] let s:lib.Codec.decoding_table["228,102"] = [33247] let s:lib.Codec.decoding_table["228,103"] = [33248] let s:lib.Codec.decoding_table["228,104"] = [33255] let s:lib.Codec.decoding_table["228,105"] = [33274] let s:lib.Codec.decoding_table["228,106"] = [33275] let s:lib.Codec.decoding_table["228,107"] = [33278] let s:lib.Codec.decoding_table["228,108"] = [33281] let s:lib.Codec.decoding_table["228,109"] = [33282] let s:lib.Codec.decoding_table["228,110"] = [33285] let s:lib.Codec.decoding_table["228,111"] = [33287] let s:lib.Codec.decoding_table["228,112"] = [33290] let s:lib.Codec.decoding_table["228,113"] = [33293] let s:lib.Codec.decoding_table["228,114"] = [33296] let s:lib.Codec.decoding_table["228,115"] = [33302] let s:lib.Codec.decoding_table["228,116"] = [33321] let s:lib.Codec.decoding_table["228,117"] = [33323] let s:lib.Codec.decoding_table["228,118"] = [33336] let s:lib.Codec.decoding_table["228,119"] = [33331] let s:lib.Codec.decoding_table["228,120"] = [33344] let s:lib.Codec.decoding_table["228,121"] = [33369] let s:lib.Codec.decoding_table["228,122"] = [33368] let s:lib.Codec.decoding_table["228,123"] = [33373] let s:lib.Codec.decoding_table["228,124"] = [33370] let s:lib.Codec.decoding_table["228,125"] = [33375] let s:lib.Codec.decoding_table["228,126"] = [33380] let s:lib.Codec.decoding_table["228,128"] = [33378] let s:lib.Codec.decoding_table["228,129"] = [33384] let s:lib.Codec.decoding_table["228,130"] = [33386] let s:lib.Codec.decoding_table["228,131"] = [33387] let s:lib.Codec.decoding_table["228,132"] = [33326] let s:lib.Codec.decoding_table["228,133"] = [33393] let s:lib.Codec.decoding_table["228,134"] = [33399] let s:lib.Codec.decoding_table["228,135"] = [33400] let s:lib.Codec.decoding_table["228,136"] = [33406] let s:lib.Codec.decoding_table["228,137"] = [33421] let s:lib.Codec.decoding_table["228,138"] = [33426] let s:lib.Codec.decoding_table["228,139"] = [33451] let s:lib.Codec.decoding_table["228,140"] = [33439] let s:lib.Codec.decoding_table["228,141"] = [33467] let s:lib.Codec.decoding_table["228,142"] = [33452] let s:lib.Codec.decoding_table["228,143"] = [33505] let s:lib.Codec.decoding_table["228,144"] = [33507] let s:lib.Codec.decoding_table["228,145"] = [33503] let s:lib.Codec.decoding_table["228,146"] = [33490] let s:lib.Codec.decoding_table["228,147"] = [33524] let s:lib.Codec.decoding_table["228,148"] = [33523] let s:lib.Codec.decoding_table["228,149"] = [33530] let s:lib.Codec.decoding_table["228,150"] = [33683] let s:lib.Codec.decoding_table["228,151"] = [33539] let s:lib.Codec.decoding_table["228,152"] = [33531] let s:lib.Codec.decoding_table["228,153"] = [33529] let s:lib.Codec.decoding_table["228,154"] = [33502] let s:lib.Codec.decoding_table["228,155"] = [33542] let s:lib.Codec.decoding_table["228,156"] = [33500] let s:lib.Codec.decoding_table["228,157"] = [33545] let s:lib.Codec.decoding_table["228,158"] = [33497] let s:lib.Codec.decoding_table["228,159"] = [33589] let s:lib.Codec.decoding_table["228,160"] = [33588] let s:lib.Codec.decoding_table["228,161"] = [33558] let s:lib.Codec.decoding_table["228,162"] = [33586] let s:lib.Codec.decoding_table["228,163"] = [33585] let s:lib.Codec.decoding_table["228,164"] = [33600] let s:lib.Codec.decoding_table["228,165"] = [33593] let s:lib.Codec.decoding_table["228,166"] = [33616] let s:lib.Codec.decoding_table["228,167"] = [33605] let s:lib.Codec.decoding_table["228,168"] = [33583] let s:lib.Codec.decoding_table["228,169"] = [33579] let s:lib.Codec.decoding_table["228,170"] = [33559] let s:lib.Codec.decoding_table["228,171"] = [33560] let s:lib.Codec.decoding_table["228,172"] = [33669] let s:lib.Codec.decoding_table["228,173"] = [33690] let s:lib.Codec.decoding_table["228,174"] = [33706] let s:lib.Codec.decoding_table["228,175"] = [33695] let s:lib.Codec.decoding_table["228,176"] = [33698] let s:lib.Codec.decoding_table["228,177"] = [33686] let s:lib.Codec.decoding_table["228,178"] = [33571] let s:lib.Codec.decoding_table["228,179"] = [33678] let s:lib.Codec.decoding_table["228,180"] = [33671] let s:lib.Codec.decoding_table["228,181"] = [33674] let s:lib.Codec.decoding_table["228,182"] = [33660] let s:lib.Codec.decoding_table["228,183"] = [33717] let s:lib.Codec.decoding_table["228,184"] = [33651] let s:lib.Codec.decoding_table["228,185"] = [33653] let s:lib.Codec.decoding_table["228,186"] = [33696] let s:lib.Codec.decoding_table["228,187"] = [33673] let s:lib.Codec.decoding_table["228,188"] = [33704] let s:lib.Codec.decoding_table["228,189"] = [33780] let s:lib.Codec.decoding_table["228,190"] = [33811] let s:lib.Codec.decoding_table["228,191"] = [33771] let s:lib.Codec.decoding_table["228,192"] = [33742] let s:lib.Codec.decoding_table["228,193"] = [33789] let s:lib.Codec.decoding_table["228,194"] = [33795] let s:lib.Codec.decoding_table["228,195"] = [33752] let s:lib.Codec.decoding_table["228,196"] = [33803] let s:lib.Codec.decoding_table["228,197"] = [33729] let s:lib.Codec.decoding_table["228,198"] = [33783] let s:lib.Codec.decoding_table["228,199"] = [33799] let s:lib.Codec.decoding_table["228,200"] = [33760] let s:lib.Codec.decoding_table["228,201"] = [33778] let s:lib.Codec.decoding_table["228,202"] = [33805] let s:lib.Codec.decoding_table["228,203"] = [33826] let s:lib.Codec.decoding_table["228,204"] = [33824] let s:lib.Codec.decoding_table["228,205"] = [33725] let s:lib.Codec.decoding_table["228,206"] = [33848] let s:lib.Codec.decoding_table["228,207"] = [34054] let s:lib.Codec.decoding_table["228,208"] = [33787] let s:lib.Codec.decoding_table["228,209"] = [33901] let s:lib.Codec.decoding_table["228,210"] = [33834] let s:lib.Codec.decoding_table["228,211"] = [33852] let s:lib.Codec.decoding_table["228,212"] = [34138] let s:lib.Codec.decoding_table["228,213"] = [33924] let s:lib.Codec.decoding_table["228,214"] = [33911] let s:lib.Codec.decoding_table["228,215"] = [33899] let s:lib.Codec.decoding_table["228,216"] = [33965] let s:lib.Codec.decoding_table["228,217"] = [33902] let s:lib.Codec.decoding_table["228,218"] = [33922] let s:lib.Codec.decoding_table["228,219"] = [33897] let s:lib.Codec.decoding_table["228,220"] = [33862] let s:lib.Codec.decoding_table["228,221"] = [33836] let s:lib.Codec.decoding_table["228,222"] = [33903] let s:lib.Codec.decoding_table["228,223"] = [33913] let s:lib.Codec.decoding_table["228,224"] = [33845] let s:lib.Codec.decoding_table["228,225"] = [33994] let s:lib.Codec.decoding_table["228,226"] = [33890] let s:lib.Codec.decoding_table["228,227"] = [33977] let s:lib.Codec.decoding_table["228,228"] = [33983] let s:lib.Codec.decoding_table["228,229"] = [33951] let s:lib.Codec.decoding_table["228,230"] = [34009] let s:lib.Codec.decoding_table["228,231"] = [33997] let s:lib.Codec.decoding_table["228,232"] = [33979] let s:lib.Codec.decoding_table["228,233"] = [34010] let s:lib.Codec.decoding_table["228,234"] = [34000] let s:lib.Codec.decoding_table["228,235"] = [33985] let s:lib.Codec.decoding_table["228,236"] = [33990] let s:lib.Codec.decoding_table["228,237"] = [34006] let s:lib.Codec.decoding_table["228,238"] = [33953] let s:lib.Codec.decoding_table["228,239"] = [34081] let s:lib.Codec.decoding_table["228,240"] = [34047] let s:lib.Codec.decoding_table["228,241"] = [34036] let s:lib.Codec.decoding_table["228,242"] = [34071] let s:lib.Codec.decoding_table["228,243"] = [34072] let s:lib.Codec.decoding_table["228,244"] = [34092] let s:lib.Codec.decoding_table["228,245"] = [34079] let s:lib.Codec.decoding_table["228,246"] = [34069] let s:lib.Codec.decoding_table["228,247"] = [34068] let s:lib.Codec.decoding_table["228,248"] = [34044] let s:lib.Codec.decoding_table["228,249"] = [34112] let s:lib.Codec.decoding_table["228,250"] = [34147] let s:lib.Codec.decoding_table["228,251"] = [34136] let s:lib.Codec.decoding_table["228,252"] = [34120] let s:lib.Codec.decoding_table["229,64"] = [34113] let s:lib.Codec.decoding_table["229,65"] = [34306] let s:lib.Codec.decoding_table["229,66"] = [34123] let s:lib.Codec.decoding_table["229,67"] = [34133] let s:lib.Codec.decoding_table["229,68"] = [34176] let s:lib.Codec.decoding_table["229,69"] = [34212] let s:lib.Codec.decoding_table["229,70"] = [34184] let s:lib.Codec.decoding_table["229,71"] = [34193] let s:lib.Codec.decoding_table["229,72"] = [34186] let s:lib.Codec.decoding_table["229,73"] = [34216] let s:lib.Codec.decoding_table["229,74"] = [34157] let s:lib.Codec.decoding_table["229,75"] = [34196] let s:lib.Codec.decoding_table["229,76"] = [34203] let s:lib.Codec.decoding_table["229,77"] = [34282] let s:lib.Codec.decoding_table["229,78"] = [34183] let s:lib.Codec.decoding_table["229,79"] = [34204] let s:lib.Codec.decoding_table["229,80"] = [34167] let s:lib.Codec.decoding_table["229,81"] = [34174] let s:lib.Codec.decoding_table["229,82"] = [34192] let s:lib.Codec.decoding_table["229,83"] = [34249] let s:lib.Codec.decoding_table["229,84"] = [34234] let s:lib.Codec.decoding_table["229,85"] = [34255] let s:lib.Codec.decoding_table["229,86"] = [34233] let s:lib.Codec.decoding_table["229,87"] = [34256] let s:lib.Codec.decoding_table["229,88"] = [34261] let s:lib.Codec.decoding_table["229,89"] = [34269] let s:lib.Codec.decoding_table["229,90"] = [34277] let s:lib.Codec.decoding_table["229,91"] = [34268] let s:lib.Codec.decoding_table["229,92"] = [34297] let s:lib.Codec.decoding_table["229,93"] = [34314] let s:lib.Codec.decoding_table["229,94"] = [34323] let s:lib.Codec.decoding_table["229,95"] = [34315] let s:lib.Codec.decoding_table["229,96"] = [34302] let s:lib.Codec.decoding_table["229,97"] = [34298] let s:lib.Codec.decoding_table["229,98"] = [34310] let s:lib.Codec.decoding_table["229,99"] = [34338] let s:lib.Codec.decoding_table["229,100"] = [34330] let s:lib.Codec.decoding_table["229,101"] = [34352] let s:lib.Codec.decoding_table["229,102"] = [34367] let s:lib.Codec.decoding_table["229,103"] = [34381] let s:lib.Codec.decoding_table["229,104"] = [20053] let s:lib.Codec.decoding_table["229,105"] = [34388] let s:lib.Codec.decoding_table["229,106"] = [34399] let s:lib.Codec.decoding_table["229,107"] = [34407] let s:lib.Codec.decoding_table["229,108"] = [34417] let s:lib.Codec.decoding_table["229,109"] = [34451] let s:lib.Codec.decoding_table["229,110"] = [34467] let s:lib.Codec.decoding_table["229,111"] = [34473] let s:lib.Codec.decoding_table["229,112"] = [34474] let s:lib.Codec.decoding_table["229,113"] = [34443] let s:lib.Codec.decoding_table["229,114"] = [34444] let s:lib.Codec.decoding_table["229,115"] = [34486] let s:lib.Codec.decoding_table["229,116"] = [34479] let s:lib.Codec.decoding_table["229,117"] = [34500] let s:lib.Codec.decoding_table["229,118"] = [34502] let s:lib.Codec.decoding_table["229,119"] = [34480] let s:lib.Codec.decoding_table["229,120"] = [34505] let s:lib.Codec.decoding_table["229,121"] = [34851] let s:lib.Codec.decoding_table["229,122"] = [34475] let s:lib.Codec.decoding_table["229,123"] = [34516] let s:lib.Codec.decoding_table["229,124"] = [34526] let s:lib.Codec.decoding_table["229,125"] = [34537] let s:lib.Codec.decoding_table["229,126"] = [34540] let s:lib.Codec.decoding_table["229,128"] = [34527] let s:lib.Codec.decoding_table["229,129"] = [34523] let s:lib.Codec.decoding_table["229,130"] = [34543] let s:lib.Codec.decoding_table["229,131"] = [34578] let s:lib.Codec.decoding_table["229,132"] = [34566] let s:lib.Codec.decoding_table["229,133"] = [34568] let s:lib.Codec.decoding_table["229,134"] = [34560] let s:lib.Codec.decoding_table["229,135"] = [34563] let s:lib.Codec.decoding_table["229,136"] = [34555] let s:lib.Codec.decoding_table["229,137"] = [34577] let s:lib.Codec.decoding_table["229,138"] = [34569] let s:lib.Codec.decoding_table["229,139"] = [34573] let s:lib.Codec.decoding_table["229,140"] = [34553] let s:lib.Codec.decoding_table["229,141"] = [34570] let s:lib.Codec.decoding_table["229,142"] = [34612] let s:lib.Codec.decoding_table["229,143"] = [34623] let s:lib.Codec.decoding_table["229,144"] = [34615] let s:lib.Codec.decoding_table["229,145"] = [34619] let s:lib.Codec.decoding_table["229,146"] = [34597] let s:lib.Codec.decoding_table["229,147"] = [34601] let s:lib.Codec.decoding_table["229,148"] = [34586] let s:lib.Codec.decoding_table["229,149"] = [34656] let s:lib.Codec.decoding_table["229,150"] = [34655] let s:lib.Codec.decoding_table["229,151"] = [34680] let s:lib.Codec.decoding_table["229,152"] = [34636] let s:lib.Codec.decoding_table["229,153"] = [34638] let s:lib.Codec.decoding_table["229,154"] = [34676] let s:lib.Codec.decoding_table["229,155"] = [34647] let s:lib.Codec.decoding_table["229,156"] = [34664] let s:lib.Codec.decoding_table["229,157"] = [34670] let s:lib.Codec.decoding_table["229,158"] = [34649] let s:lib.Codec.decoding_table["229,159"] = [34643] let s:lib.Codec.decoding_table["229,160"] = [34659] let s:lib.Codec.decoding_table["229,161"] = [34666] let s:lib.Codec.decoding_table["229,162"] = [34821] let s:lib.Codec.decoding_table["229,163"] = [34722] let s:lib.Codec.decoding_table["229,164"] = [34719] let s:lib.Codec.decoding_table["229,165"] = [34690] let s:lib.Codec.decoding_table["229,166"] = [34735] let s:lib.Codec.decoding_table["229,167"] = [34763] let s:lib.Codec.decoding_table["229,168"] = [34749] let s:lib.Codec.decoding_table["229,169"] = [34752] let s:lib.Codec.decoding_table["229,170"] = [34768] let s:lib.Codec.decoding_table["229,171"] = [38614] let s:lib.Codec.decoding_table["229,172"] = [34731] let s:lib.Codec.decoding_table["229,173"] = [34756] let s:lib.Codec.decoding_table["229,174"] = [34739] let s:lib.Codec.decoding_table["229,175"] = [34759] let s:lib.Codec.decoding_table["229,176"] = [34758] let s:lib.Codec.decoding_table["229,177"] = [34747] let s:lib.Codec.decoding_table["229,178"] = [34799] let s:lib.Codec.decoding_table["229,179"] = [34802] let s:lib.Codec.decoding_table["229,180"] = [34784] let s:lib.Codec.decoding_table["229,181"] = [34831] let s:lib.Codec.decoding_table["229,182"] = [34829] let s:lib.Codec.decoding_table["229,183"] = [34814] let s:lib.Codec.decoding_table["229,184"] = [34806] let s:lib.Codec.decoding_table["229,185"] = [34807] let s:lib.Codec.decoding_table["229,186"] = [34830] let s:lib.Codec.decoding_table["229,187"] = [34770] let s:lib.Codec.decoding_table["229,188"] = [34833] let s:lib.Codec.decoding_table["229,189"] = [34838] let s:lib.Codec.decoding_table["229,190"] = [34837] let s:lib.Codec.decoding_table["229,191"] = [34850] let s:lib.Codec.decoding_table["229,192"] = [34849] let s:lib.Codec.decoding_table["229,193"] = [34865] let s:lib.Codec.decoding_table["229,194"] = [34870] let s:lib.Codec.decoding_table["229,195"] = [34873] let s:lib.Codec.decoding_table["229,196"] = [34855] let s:lib.Codec.decoding_table["229,197"] = [34875] let s:lib.Codec.decoding_table["229,198"] = [34884] let s:lib.Codec.decoding_table["229,199"] = [34882] let s:lib.Codec.decoding_table["229,200"] = [34898] let s:lib.Codec.decoding_table["229,201"] = [34905] let s:lib.Codec.decoding_table["229,202"] = [34910] let s:lib.Codec.decoding_table["229,203"] = [34914] let s:lib.Codec.decoding_table["229,204"] = [34923] let s:lib.Codec.decoding_table["229,205"] = [34945] let s:lib.Codec.decoding_table["229,206"] = [34942] let s:lib.Codec.decoding_table["229,207"] = [34974] let s:lib.Codec.decoding_table["229,208"] = [34933] let s:lib.Codec.decoding_table["229,209"] = [34941] let s:lib.Codec.decoding_table["229,210"] = [34997] let s:lib.Codec.decoding_table["229,211"] = [34930] let s:lib.Codec.decoding_table["229,212"] = [34946] let s:lib.Codec.decoding_table["229,213"] = [34967] let s:lib.Codec.decoding_table["229,214"] = [34962] let s:lib.Codec.decoding_table["229,215"] = [34990] let s:lib.Codec.decoding_table["229,216"] = [34969] let s:lib.Codec.decoding_table["229,217"] = [34978] let s:lib.Codec.decoding_table["229,218"] = [34957] let s:lib.Codec.decoding_table["229,219"] = [34980] let s:lib.Codec.decoding_table["229,220"] = [34992] let s:lib.Codec.decoding_table["229,221"] = [35007] let s:lib.Codec.decoding_table["229,222"] = [34993] let s:lib.Codec.decoding_table["229,223"] = [35011] let s:lib.Codec.decoding_table["229,224"] = [35012] let s:lib.Codec.decoding_table["229,225"] = [35028] let s:lib.Codec.decoding_table["229,226"] = [35032] let s:lib.Codec.decoding_table["229,227"] = [35033] let s:lib.Codec.decoding_table["229,228"] = [35037] let s:lib.Codec.decoding_table["229,229"] = [35065] let s:lib.Codec.decoding_table["229,230"] = [35074] let s:lib.Codec.decoding_table["229,231"] = [35068] let s:lib.Codec.decoding_table["229,232"] = [35060] let s:lib.Codec.decoding_table["229,233"] = [35048] let s:lib.Codec.decoding_table["229,234"] = [35058] let s:lib.Codec.decoding_table["229,235"] = [35076] let s:lib.Codec.decoding_table["229,236"] = [35084] let s:lib.Codec.decoding_table["229,237"] = [35082] let s:lib.Codec.decoding_table["229,238"] = [35091] let s:lib.Codec.decoding_table["229,239"] = [35139] let s:lib.Codec.decoding_table["229,240"] = [35102] let s:lib.Codec.decoding_table["229,241"] = [35109] let s:lib.Codec.decoding_table["229,242"] = [35114] let s:lib.Codec.decoding_table["229,243"] = [35115] let s:lib.Codec.decoding_table["229,244"] = [35137] let s:lib.Codec.decoding_table["229,245"] = [35140] let s:lib.Codec.decoding_table["229,246"] = [35131] let s:lib.Codec.decoding_table["229,247"] = [35126] let s:lib.Codec.decoding_table["229,248"] = [35128] let s:lib.Codec.decoding_table["229,249"] = [35148] let s:lib.Codec.decoding_table["229,250"] = [35101] let s:lib.Codec.decoding_table["229,251"] = [35168] let s:lib.Codec.decoding_table["229,252"] = [35166] let s:lib.Codec.decoding_table["230,64"] = [35174] let s:lib.Codec.decoding_table["230,65"] = [35172] let s:lib.Codec.decoding_table["230,66"] = [35181] let s:lib.Codec.decoding_table["230,67"] = [35178] let s:lib.Codec.decoding_table["230,68"] = [35183] let s:lib.Codec.decoding_table["230,69"] = [35188] let s:lib.Codec.decoding_table["230,70"] = [35191] let s:lib.Codec.decoding_table["230,71"] = [35198] let s:lib.Codec.decoding_table["230,72"] = [35203] let s:lib.Codec.decoding_table["230,73"] = [35208] let s:lib.Codec.decoding_table["230,74"] = [35210] let s:lib.Codec.decoding_table["230,75"] = [35219] let s:lib.Codec.decoding_table["230,76"] = [35224] let s:lib.Codec.decoding_table["230,77"] = [35233] let s:lib.Codec.decoding_table["230,78"] = [35241] let s:lib.Codec.decoding_table["230,79"] = [35238] let s:lib.Codec.decoding_table["230,80"] = [35244] let s:lib.Codec.decoding_table["230,81"] = [35247] let s:lib.Codec.decoding_table["230,82"] = [35250] let s:lib.Codec.decoding_table["230,83"] = [35258] let s:lib.Codec.decoding_table["230,84"] = [35261] let s:lib.Codec.decoding_table["230,85"] = [35263] let s:lib.Codec.decoding_table["230,86"] = [35264] let s:lib.Codec.decoding_table["230,87"] = [35290] let s:lib.Codec.decoding_table["230,88"] = [35292] let s:lib.Codec.decoding_table["230,89"] = [35293] let s:lib.Codec.decoding_table["230,90"] = [35303] let s:lib.Codec.decoding_table["230,91"] = [35316] let s:lib.Codec.decoding_table["230,92"] = [35320] let s:lib.Codec.decoding_table["230,93"] = [35331] let s:lib.Codec.decoding_table["230,94"] = [35350] let s:lib.Codec.decoding_table["230,95"] = [35344] let s:lib.Codec.decoding_table["230,96"] = [35340] let s:lib.Codec.decoding_table["230,97"] = [35355] let s:lib.Codec.decoding_table["230,98"] = [35357] let s:lib.Codec.decoding_table["230,99"] = [35365] let s:lib.Codec.decoding_table["230,100"] = [35382] let s:lib.Codec.decoding_table["230,101"] = [35393] let s:lib.Codec.decoding_table["230,102"] = [35419] let s:lib.Codec.decoding_table["230,103"] = [35410] let s:lib.Codec.decoding_table["230,104"] = [35398] let s:lib.Codec.decoding_table["230,105"] = [35400] let s:lib.Codec.decoding_table["230,106"] = [35452] let s:lib.Codec.decoding_table["230,107"] = [35437] let s:lib.Codec.decoding_table["230,108"] = [35436] let s:lib.Codec.decoding_table["230,109"] = [35426] let s:lib.Codec.decoding_table["230,110"] = [35461] let s:lib.Codec.decoding_table["230,111"] = [35458] let s:lib.Codec.decoding_table["230,112"] = [35460] let s:lib.Codec.decoding_table["230,113"] = [35496] let s:lib.Codec.decoding_table["230,114"] = [35489] let s:lib.Codec.decoding_table["230,115"] = [35473] let s:lib.Codec.decoding_table["230,116"] = [35493] let s:lib.Codec.decoding_table["230,117"] = [35494] let s:lib.Codec.decoding_table["230,118"] = [35482] let s:lib.Codec.decoding_table["230,119"] = [35491] let s:lib.Codec.decoding_table["230,120"] = [35524] let s:lib.Codec.decoding_table["230,121"] = [35533] let s:lib.Codec.decoding_table["230,122"] = [35522] let s:lib.Codec.decoding_table["230,123"] = [35546] let s:lib.Codec.decoding_table["230,124"] = [35563] let s:lib.Codec.decoding_table["230,125"] = [35571] let s:lib.Codec.decoding_table["230,126"] = [35559] let s:lib.Codec.decoding_table["230,128"] = [35556] let s:lib.Codec.decoding_table["230,129"] = [35569] let s:lib.Codec.decoding_table["230,130"] = [35604] let s:lib.Codec.decoding_table["230,131"] = [35552] let s:lib.Codec.decoding_table["230,132"] = [35554] let s:lib.Codec.decoding_table["230,133"] = [35575] let s:lib.Codec.decoding_table["230,134"] = [35550] let s:lib.Codec.decoding_table["230,135"] = [35547] let s:lib.Codec.decoding_table["230,136"] = [35596] let s:lib.Codec.decoding_table["230,137"] = [35591] let s:lib.Codec.decoding_table["230,138"] = [35610] let s:lib.Codec.decoding_table["230,139"] = [35553] let s:lib.Codec.decoding_table["230,140"] = [35606] let s:lib.Codec.decoding_table["230,141"] = [35600] let s:lib.Codec.decoding_table["230,142"] = [35607] let s:lib.Codec.decoding_table["230,143"] = [35616] let s:lib.Codec.decoding_table["230,144"] = [35635] let s:lib.Codec.decoding_table["230,145"] = [38827] let s:lib.Codec.decoding_table["230,146"] = [35622] let s:lib.Codec.decoding_table["230,147"] = [35627] let s:lib.Codec.decoding_table["230,148"] = [35646] let s:lib.Codec.decoding_table["230,149"] = [35624] let s:lib.Codec.decoding_table["230,150"] = [35649] let s:lib.Codec.decoding_table["230,151"] = [35660] let s:lib.Codec.decoding_table["230,152"] = [35663] let s:lib.Codec.decoding_table["230,153"] = [35662] let s:lib.Codec.decoding_table["230,154"] = [35657] let s:lib.Codec.decoding_table["230,155"] = [35670] let s:lib.Codec.decoding_table["230,156"] = [35675] let s:lib.Codec.decoding_table["230,157"] = [35674] let s:lib.Codec.decoding_table["230,158"] = [35691] let s:lib.Codec.decoding_table["230,159"] = [35679] let s:lib.Codec.decoding_table["230,160"] = [35692] let s:lib.Codec.decoding_table["230,161"] = [35695] let s:lib.Codec.decoding_table["230,162"] = [35700] let s:lib.Codec.decoding_table["230,163"] = [35709] let s:lib.Codec.decoding_table["230,164"] = [35712] let s:lib.Codec.decoding_table["230,165"] = [35724] let s:lib.Codec.decoding_table["230,166"] = [35726] let s:lib.Codec.decoding_table["230,167"] = [35730] let s:lib.Codec.decoding_table["230,168"] = [35731] let s:lib.Codec.decoding_table["230,169"] = [35734] let s:lib.Codec.decoding_table["230,170"] = [35737] let s:lib.Codec.decoding_table["230,171"] = [35738] let s:lib.Codec.decoding_table["230,172"] = [35898] let s:lib.Codec.decoding_table["230,173"] = [35905] let s:lib.Codec.decoding_table["230,174"] = [35903] let s:lib.Codec.decoding_table["230,175"] = [35912] let s:lib.Codec.decoding_table["230,176"] = [35916] let s:lib.Codec.decoding_table["230,177"] = [35918] let s:lib.Codec.decoding_table["230,178"] = [35920] let s:lib.Codec.decoding_table["230,179"] = [35925] let s:lib.Codec.decoding_table["230,180"] = [35938] let s:lib.Codec.decoding_table["230,181"] = [35948] let s:lib.Codec.decoding_table["230,182"] = [35960] let s:lib.Codec.decoding_table["230,183"] = [35962] let s:lib.Codec.decoding_table["230,184"] = [35970] let s:lib.Codec.decoding_table["230,185"] = [35977] let s:lib.Codec.decoding_table["230,186"] = [35973] let s:lib.Codec.decoding_table["230,187"] = [35978] let s:lib.Codec.decoding_table["230,188"] = [35981] let s:lib.Codec.decoding_table["230,189"] = [35982] let s:lib.Codec.decoding_table["230,190"] = [35988] let s:lib.Codec.decoding_table["230,191"] = [35964] let s:lib.Codec.decoding_table["230,192"] = [35992] let s:lib.Codec.decoding_table["230,193"] = [25117] let s:lib.Codec.decoding_table["230,194"] = [36013] let s:lib.Codec.decoding_table["230,195"] = [36010] let s:lib.Codec.decoding_table["230,196"] = [36029] let s:lib.Codec.decoding_table["230,197"] = [36018] let s:lib.Codec.decoding_table["230,198"] = [36019] let s:lib.Codec.decoding_table["230,199"] = [36014] let s:lib.Codec.decoding_table["230,200"] = [36022] let s:lib.Codec.decoding_table["230,201"] = [36040] let s:lib.Codec.decoding_table["230,202"] = [36033] let s:lib.Codec.decoding_table["230,203"] = [36068] let s:lib.Codec.decoding_table["230,204"] = [36067] let s:lib.Codec.decoding_table["230,205"] = [36058] let s:lib.Codec.decoding_table["230,206"] = [36093] let s:lib.Codec.decoding_table["230,207"] = [36090] let s:lib.Codec.decoding_table["230,208"] = [36091] let s:lib.Codec.decoding_table["230,209"] = [36100] let s:lib.Codec.decoding_table["230,210"] = [36101] let s:lib.Codec.decoding_table["230,211"] = [36106] let s:lib.Codec.decoding_table["230,212"] = [36103] let s:lib.Codec.decoding_table["230,213"] = [36111] let s:lib.Codec.decoding_table["230,214"] = [36109] let s:lib.Codec.decoding_table["230,215"] = [36112] let s:lib.Codec.decoding_table["230,216"] = [40782] let s:lib.Codec.decoding_table["230,217"] = [36115] let s:lib.Codec.decoding_table["230,218"] = [36045] let s:lib.Codec.decoding_table["230,219"] = [36116] let s:lib.Codec.decoding_table["230,220"] = [36118] let s:lib.Codec.decoding_table["230,221"] = [36199] let s:lib.Codec.decoding_table["230,222"] = [36205] let s:lib.Codec.decoding_table["230,223"] = [36209] let s:lib.Codec.decoding_table["230,224"] = [36211] let s:lib.Codec.decoding_table["230,225"] = [36225] let s:lib.Codec.decoding_table["230,226"] = [36249] let s:lib.Codec.decoding_table["230,227"] = [36290] let s:lib.Codec.decoding_table["230,228"] = [36286] let s:lib.Codec.decoding_table["230,229"] = [36282] let s:lib.Codec.decoding_table["230,230"] = [36303] let s:lib.Codec.decoding_table["230,231"] = [36314] let s:lib.Codec.decoding_table["230,232"] = [36310] let s:lib.Codec.decoding_table["230,233"] = [36300] let s:lib.Codec.decoding_table["230,234"] = [36315] let s:lib.Codec.decoding_table["230,235"] = [36299] let s:lib.Codec.decoding_table["230,236"] = [36330] let s:lib.Codec.decoding_table["230,237"] = [36331] let s:lib.Codec.decoding_table["230,238"] = [36319] let s:lib.Codec.decoding_table["230,239"] = [36323] let s:lib.Codec.decoding_table["230,240"] = [36348] let s:lib.Codec.decoding_table["230,241"] = [36360] let s:lib.Codec.decoding_table["230,242"] = [36361] let s:lib.Codec.decoding_table["230,243"] = [36351] let s:lib.Codec.decoding_table["230,244"] = [36381] let s:lib.Codec.decoding_table["230,245"] = [36382] let s:lib.Codec.decoding_table["230,246"] = [36368] let s:lib.Codec.decoding_table["230,247"] = [36383] let s:lib.Codec.decoding_table["230,248"] = [36418] let s:lib.Codec.decoding_table["230,249"] = [36405] let s:lib.Codec.decoding_table["230,250"] = [36400] let s:lib.Codec.decoding_table["230,251"] = [36404] let s:lib.Codec.decoding_table["230,252"] = [36426] let s:lib.Codec.decoding_table["231,64"] = [36423] let s:lib.Codec.decoding_table["231,65"] = [36425] let s:lib.Codec.decoding_table["231,66"] = [36428] let s:lib.Codec.decoding_table["231,67"] = [36432] let s:lib.Codec.decoding_table["231,68"] = [36424] let s:lib.Codec.decoding_table["231,69"] = [36441] let s:lib.Codec.decoding_table["231,70"] = [36452] let s:lib.Codec.decoding_table["231,71"] = [36448] let s:lib.Codec.decoding_table["231,72"] = [36394] let s:lib.Codec.decoding_table["231,73"] = [36451] let s:lib.Codec.decoding_table["231,74"] = [36437] let s:lib.Codec.decoding_table["231,75"] = [36470] let s:lib.Codec.decoding_table["231,76"] = [36466] let s:lib.Codec.decoding_table["231,77"] = [36476] let s:lib.Codec.decoding_table["231,78"] = [36481] let s:lib.Codec.decoding_table["231,79"] = [36487] let s:lib.Codec.decoding_table["231,80"] = [36485] let s:lib.Codec.decoding_table["231,81"] = [36484] let s:lib.Codec.decoding_table["231,82"] = [36491] let s:lib.Codec.decoding_table["231,83"] = [36490] let s:lib.Codec.decoding_table["231,84"] = [36499] let s:lib.Codec.decoding_table["231,85"] = [36497] let s:lib.Codec.decoding_table["231,86"] = [36500] let s:lib.Codec.decoding_table["231,87"] = [36505] let s:lib.Codec.decoding_table["231,88"] = [36522] let s:lib.Codec.decoding_table["231,89"] = [36513] let s:lib.Codec.decoding_table["231,90"] = [36524] let s:lib.Codec.decoding_table["231,91"] = [36528] let s:lib.Codec.decoding_table["231,92"] = [36550] let s:lib.Codec.decoding_table["231,93"] = [36529] let s:lib.Codec.decoding_table["231,94"] = [36542] let s:lib.Codec.decoding_table["231,95"] = [36549] let s:lib.Codec.decoding_table["231,96"] = [36552] let s:lib.Codec.decoding_table["231,97"] = [36555] let s:lib.Codec.decoding_table["231,98"] = [36571] let s:lib.Codec.decoding_table["231,99"] = [36579] let s:lib.Codec.decoding_table["231,100"] = [36604] let s:lib.Codec.decoding_table["231,101"] = [36603] let s:lib.Codec.decoding_table["231,102"] = [36587] let s:lib.Codec.decoding_table["231,103"] = [36606] let s:lib.Codec.decoding_table["231,104"] = [36618] let s:lib.Codec.decoding_table["231,105"] = [36613] let s:lib.Codec.decoding_table["231,106"] = [36629] let s:lib.Codec.decoding_table["231,107"] = [36626] let s:lib.Codec.decoding_table["231,108"] = [36633] let s:lib.Codec.decoding_table["231,109"] = [36627] let s:lib.Codec.decoding_table["231,110"] = [36636] let s:lib.Codec.decoding_table["231,111"] = [36639] let s:lib.Codec.decoding_table["231,112"] = [36635] let s:lib.Codec.decoding_table["231,113"] = [36620] let s:lib.Codec.decoding_table["231,114"] = [36646] let s:lib.Codec.decoding_table["231,115"] = [36659] let s:lib.Codec.decoding_table["231,116"] = [36667] let s:lib.Codec.decoding_table["231,117"] = [36665] let s:lib.Codec.decoding_table["231,118"] = [36677] let s:lib.Codec.decoding_table["231,119"] = [36674] let s:lib.Codec.decoding_table["231,120"] = [36670] let s:lib.Codec.decoding_table["231,121"] = [36684] let s:lib.Codec.decoding_table["231,122"] = [36681] let s:lib.Codec.decoding_table["231,123"] = [36678] let s:lib.Codec.decoding_table["231,124"] = [36686] let s:lib.Codec.decoding_table["231,125"] = [36695] let s:lib.Codec.decoding_table["231,126"] = [36700] let s:lib.Codec.decoding_table["231,128"] = [36706] let s:lib.Codec.decoding_table["231,129"] = [36707] let s:lib.Codec.decoding_table["231,130"] = [36708] let s:lib.Codec.decoding_table["231,131"] = [36764] let s:lib.Codec.decoding_table["231,132"] = [36767] let s:lib.Codec.decoding_table["231,133"] = [36771] let s:lib.Codec.decoding_table["231,134"] = [36781] let s:lib.Codec.decoding_table["231,135"] = [36783] let s:lib.Codec.decoding_table["231,136"] = [36791] let s:lib.Codec.decoding_table["231,137"] = [36826] let s:lib.Codec.decoding_table["231,138"] = [36837] let s:lib.Codec.decoding_table["231,139"] = [36834] let s:lib.Codec.decoding_table["231,140"] = [36842] let s:lib.Codec.decoding_table["231,141"] = [36847] let s:lib.Codec.decoding_table["231,142"] = [36999] let s:lib.Codec.decoding_table["231,143"] = [36852] let s:lib.Codec.decoding_table["231,144"] = [36869] let s:lib.Codec.decoding_table["231,145"] = [36857] let s:lib.Codec.decoding_table["231,146"] = [36858] let s:lib.Codec.decoding_table["231,147"] = [36881] let s:lib.Codec.decoding_table["231,148"] = [36885] let s:lib.Codec.decoding_table["231,149"] = [36897] let s:lib.Codec.decoding_table["231,150"] = [36877] let s:lib.Codec.decoding_table["231,151"] = [36894] let s:lib.Codec.decoding_table["231,152"] = [36886] let s:lib.Codec.decoding_table["231,153"] = [36875] let s:lib.Codec.decoding_table["231,154"] = [36903] let s:lib.Codec.decoding_table["231,155"] = [36918] let s:lib.Codec.decoding_table["231,156"] = [36917] let s:lib.Codec.decoding_table["231,157"] = [36921] let s:lib.Codec.decoding_table["231,158"] = [36856] let s:lib.Codec.decoding_table["231,159"] = [36943] let s:lib.Codec.decoding_table["231,160"] = [36944] let s:lib.Codec.decoding_table["231,161"] = [36945] let s:lib.Codec.decoding_table["231,162"] = [36946] let s:lib.Codec.decoding_table["231,163"] = [36878] let s:lib.Codec.decoding_table["231,164"] = [36937] let s:lib.Codec.decoding_table["231,165"] = [36926] let s:lib.Codec.decoding_table["231,166"] = [36950] let s:lib.Codec.decoding_table["231,167"] = [36952] let s:lib.Codec.decoding_table["231,168"] = [36958] let s:lib.Codec.decoding_table["231,169"] = [36968] let s:lib.Codec.decoding_table["231,170"] = [36975] let s:lib.Codec.decoding_table["231,171"] = [36982] let s:lib.Codec.decoding_table["231,172"] = [38568] let s:lib.Codec.decoding_table["231,173"] = [36978] let s:lib.Codec.decoding_table["231,174"] = [36994] let s:lib.Codec.decoding_table["231,175"] = [36989] let s:lib.Codec.decoding_table["231,176"] = [36993] let s:lib.Codec.decoding_table["231,177"] = [36992] let s:lib.Codec.decoding_table["231,178"] = [37002] let s:lib.Codec.decoding_table["231,179"] = [37001] let s:lib.Codec.decoding_table["231,180"] = [37007] let s:lib.Codec.decoding_table["231,181"] = [37032] let s:lib.Codec.decoding_table["231,182"] = [37039] let s:lib.Codec.decoding_table["231,183"] = [37041] let s:lib.Codec.decoding_table["231,184"] = [37045] let s:lib.Codec.decoding_table["231,185"] = [37090] let s:lib.Codec.decoding_table["231,186"] = [37092] let s:lib.Codec.decoding_table["231,187"] = [25160] let s:lib.Codec.decoding_table["231,188"] = [37083] let s:lib.Codec.decoding_table["231,189"] = [37122] let s:lib.Codec.decoding_table["231,190"] = [37138] let s:lib.Codec.decoding_table["231,191"] = [37145] let s:lib.Codec.decoding_table["231,192"] = [37170] let s:lib.Codec.decoding_table["231,193"] = [37168] let s:lib.Codec.decoding_table["231,194"] = [37194] let s:lib.Codec.decoding_table["231,195"] = [37206] let s:lib.Codec.decoding_table["231,196"] = [37208] let s:lib.Codec.decoding_table["231,197"] = [37219] let s:lib.Codec.decoding_table["231,198"] = [37221] let s:lib.Codec.decoding_table["231,199"] = [37225] let s:lib.Codec.decoding_table["231,200"] = [37235] let s:lib.Codec.decoding_table["231,201"] = [37234] let s:lib.Codec.decoding_table["231,202"] = [37259] let s:lib.Codec.decoding_table["231,203"] = [37257] let s:lib.Codec.decoding_table["231,204"] = [37250] let s:lib.Codec.decoding_table["231,205"] = [37282] let s:lib.Codec.decoding_table["231,206"] = [37291] let s:lib.Codec.decoding_table["231,207"] = [37295] let s:lib.Codec.decoding_table["231,208"] = [37290] let s:lib.Codec.decoding_table["231,209"] = [37301] let s:lib.Codec.decoding_table["231,210"] = [37300] let s:lib.Codec.decoding_table["231,211"] = [37306] let s:lib.Codec.decoding_table["231,212"] = [37312] let s:lib.Codec.decoding_table["231,213"] = [37313] let s:lib.Codec.decoding_table["231,214"] = [37321] let s:lib.Codec.decoding_table["231,215"] = [37323] let s:lib.Codec.decoding_table["231,216"] = [37328] let s:lib.Codec.decoding_table["231,217"] = [37334] let s:lib.Codec.decoding_table["231,218"] = [37343] let s:lib.Codec.decoding_table["231,219"] = [37345] let s:lib.Codec.decoding_table["231,220"] = [37339] let s:lib.Codec.decoding_table["231,221"] = [37372] let s:lib.Codec.decoding_table["231,222"] = [37365] let s:lib.Codec.decoding_table["231,223"] = [37366] let s:lib.Codec.decoding_table["231,224"] = [37406] let s:lib.Codec.decoding_table["231,225"] = [37375] let s:lib.Codec.decoding_table["231,226"] = [37396] let s:lib.Codec.decoding_table["231,227"] = [37420] let s:lib.Codec.decoding_table["231,228"] = [37397] let s:lib.Codec.decoding_table["231,229"] = [37393] let s:lib.Codec.decoding_table["231,230"] = [37470] let s:lib.Codec.decoding_table["231,231"] = [37463] let s:lib.Codec.decoding_table["231,232"] = [37445] let s:lib.Codec.decoding_table["231,233"] = [37449] let s:lib.Codec.decoding_table["231,234"] = [37476] let s:lib.Codec.decoding_table["231,235"] = [37448] let s:lib.Codec.decoding_table["231,236"] = [37525] let s:lib.Codec.decoding_table["231,237"] = [37439] let s:lib.Codec.decoding_table["231,238"] = [37451] let s:lib.Codec.decoding_table["231,239"] = [37456] let s:lib.Codec.decoding_table["231,240"] = [37532] let s:lib.Codec.decoding_table["231,241"] = [37526] let s:lib.Codec.decoding_table["231,242"] = [37523] let s:lib.Codec.decoding_table["231,243"] = [37531] let s:lib.Codec.decoding_table["231,244"] = [37466] let s:lib.Codec.decoding_table["231,245"] = [37583] let s:lib.Codec.decoding_table["231,246"] = [37561] let s:lib.Codec.decoding_table["231,247"] = [37559] let s:lib.Codec.decoding_table["231,248"] = [37609] let s:lib.Codec.decoding_table["231,249"] = [37647] let s:lib.Codec.decoding_table["231,250"] = [37626] let s:lib.Codec.decoding_table["231,251"] = [37700] let s:lib.Codec.decoding_table["231,252"] = [37678] let s:lib.Codec.decoding_table["232,64"] = [37657] let s:lib.Codec.decoding_table["232,65"] = [37666] let s:lib.Codec.decoding_table["232,66"] = [37658] let s:lib.Codec.decoding_table["232,67"] = [37667] let s:lib.Codec.decoding_table["232,68"] = [37690] let s:lib.Codec.decoding_table["232,69"] = [37685] let s:lib.Codec.decoding_table["232,70"] = [37691] let s:lib.Codec.decoding_table["232,71"] = [37724] let s:lib.Codec.decoding_table["232,72"] = [37728] let s:lib.Codec.decoding_table["232,73"] = [37756] let s:lib.Codec.decoding_table["232,74"] = [37742] let s:lib.Codec.decoding_table["232,75"] = [37718] let s:lib.Codec.decoding_table["232,76"] = [37808] let s:lib.Codec.decoding_table["232,77"] = [37804] let s:lib.Codec.decoding_table["232,78"] = [37805] let s:lib.Codec.decoding_table["232,79"] = [37780] let s:lib.Codec.decoding_table["232,80"] = [37817] let s:lib.Codec.decoding_table["232,81"] = [37846] let s:lib.Codec.decoding_table["232,82"] = [37847] let s:lib.Codec.decoding_table["232,83"] = [37864] let s:lib.Codec.decoding_table["232,84"] = [37861] let s:lib.Codec.decoding_table["232,85"] = [37848] let s:lib.Codec.decoding_table["232,86"] = [37827] let s:lib.Codec.decoding_table["232,87"] = [37853] let s:lib.Codec.decoding_table["232,88"] = [37840] let s:lib.Codec.decoding_table["232,89"] = [37832] let s:lib.Codec.decoding_table["232,90"] = [37860] let s:lib.Codec.decoding_table["232,91"] = [37914] let s:lib.Codec.decoding_table["232,92"] = [37908] let s:lib.Codec.decoding_table["232,93"] = [37907] let s:lib.Codec.decoding_table["232,94"] = [37891] let s:lib.Codec.decoding_table["232,95"] = [37895] let s:lib.Codec.decoding_table["232,96"] = [37904] let s:lib.Codec.decoding_table["232,97"] = [37942] let s:lib.Codec.decoding_table["232,98"] = [37931] let s:lib.Codec.decoding_table["232,99"] = [37941] let s:lib.Codec.decoding_table["232,100"] = [37921] let s:lib.Codec.decoding_table["232,101"] = [37946] let s:lib.Codec.decoding_table["232,102"] = [37953] let s:lib.Codec.decoding_table["232,103"] = [37970] let s:lib.Codec.decoding_table["232,104"] = [37956] let s:lib.Codec.decoding_table["232,105"] = [37979] let s:lib.Codec.decoding_table["232,106"] = [37984] let s:lib.Codec.decoding_table["232,107"] = [37986] let s:lib.Codec.decoding_table["232,108"] = [37982] let s:lib.Codec.decoding_table["232,109"] = [37994] let s:lib.Codec.decoding_table["232,110"] = [37417] let s:lib.Codec.decoding_table["232,111"] = [38000] let s:lib.Codec.decoding_table["232,112"] = [38005] let s:lib.Codec.decoding_table["232,113"] = [38007] let s:lib.Codec.decoding_table["232,114"] = [38013] let s:lib.Codec.decoding_table["232,115"] = [37978] let s:lib.Codec.decoding_table["232,116"] = [38012] let s:lib.Codec.decoding_table["232,117"] = [38014] let s:lib.Codec.decoding_table["232,118"] = [38017] let s:lib.Codec.decoding_table["232,119"] = [38015] let s:lib.Codec.decoding_table["232,120"] = [38274] let s:lib.Codec.decoding_table["232,121"] = [38279] let s:lib.Codec.decoding_table["232,122"] = [38282] let s:lib.Codec.decoding_table["232,123"] = [38292] let s:lib.Codec.decoding_table["232,124"] = [38294] let s:lib.Codec.decoding_table["232,125"] = [38296] let s:lib.Codec.decoding_table["232,126"] = [38297] let s:lib.Codec.decoding_table["232,128"] = [38304] let s:lib.Codec.decoding_table["232,129"] = [38312] let s:lib.Codec.decoding_table["232,130"] = [38311] let s:lib.Codec.decoding_table["232,131"] = [38317] let s:lib.Codec.decoding_table["232,132"] = [38332] let s:lib.Codec.decoding_table["232,133"] = [38331] let s:lib.Codec.decoding_table["232,134"] = [38329] let s:lib.Codec.decoding_table["232,135"] = [38334] let s:lib.Codec.decoding_table["232,136"] = [38346] let s:lib.Codec.decoding_table["232,137"] = [28662] let s:lib.Codec.decoding_table["232,138"] = [38339] let s:lib.Codec.decoding_table["232,139"] = [38349] let s:lib.Codec.decoding_table["232,140"] = [38348] let s:lib.Codec.decoding_table["232,141"] = [38357] let s:lib.Codec.decoding_table["232,142"] = [38356] let s:lib.Codec.decoding_table["232,143"] = [38358] let s:lib.Codec.decoding_table["232,144"] = [38364] let s:lib.Codec.decoding_table["232,145"] = [38369] let s:lib.Codec.decoding_table["232,146"] = [38373] let s:lib.Codec.decoding_table["232,147"] = [38370] let s:lib.Codec.decoding_table["232,148"] = [38433] let s:lib.Codec.decoding_table["232,149"] = [38440] let s:lib.Codec.decoding_table["232,150"] = [38446] let s:lib.Codec.decoding_table["232,151"] = [38447] let s:lib.Codec.decoding_table["232,152"] = [38466] let s:lib.Codec.decoding_table["232,153"] = [38476] let s:lib.Codec.decoding_table["232,154"] = [38479] let s:lib.Codec.decoding_table["232,155"] = [38475] let s:lib.Codec.decoding_table["232,156"] = [38519] let s:lib.Codec.decoding_table["232,157"] = [38492] let s:lib.Codec.decoding_table["232,158"] = [38494] let s:lib.Codec.decoding_table["232,159"] = [38493] let s:lib.Codec.decoding_table["232,160"] = [38495] let s:lib.Codec.decoding_table["232,161"] = [38502] let s:lib.Codec.decoding_table["232,162"] = [38514] let s:lib.Codec.decoding_table["232,163"] = [38508] let s:lib.Codec.decoding_table["232,164"] = [38541] let s:lib.Codec.decoding_table["232,165"] = [38552] let s:lib.Codec.decoding_table["232,166"] = [38549] let s:lib.Codec.decoding_table["232,167"] = [38551] let s:lib.Codec.decoding_table["232,168"] = [38570] let s:lib.Codec.decoding_table["232,169"] = [38567] let s:lib.Codec.decoding_table["232,170"] = [38577] let s:lib.Codec.decoding_table["232,171"] = [38578] let s:lib.Codec.decoding_table["232,172"] = [38576] let s:lib.Codec.decoding_table["232,173"] = [38580] let s:lib.Codec.decoding_table["232,174"] = [38582] let s:lib.Codec.decoding_table["232,175"] = [38584] let s:lib.Codec.decoding_table["232,176"] = [38585] let s:lib.Codec.decoding_table["232,177"] = [38606] let s:lib.Codec.decoding_table["232,178"] = [38603] let s:lib.Codec.decoding_table["232,179"] = [38601] let s:lib.Codec.decoding_table["232,180"] = [38605] let s:lib.Codec.decoding_table["232,181"] = [35149] let s:lib.Codec.decoding_table["232,182"] = [38620] let s:lib.Codec.decoding_table["232,183"] = [38669] let s:lib.Codec.decoding_table["232,184"] = [38613] let s:lib.Codec.decoding_table["232,185"] = [38649] let s:lib.Codec.decoding_table["232,186"] = [38660] let s:lib.Codec.decoding_table["232,187"] = [38662] let s:lib.Codec.decoding_table["232,188"] = [38664] let s:lib.Codec.decoding_table["232,189"] = [38675] let s:lib.Codec.decoding_table["232,190"] = [38670] let s:lib.Codec.decoding_table["232,191"] = [38673] let s:lib.Codec.decoding_table["232,192"] = [38671] let s:lib.Codec.decoding_table["232,193"] = [38678] let s:lib.Codec.decoding_table["232,194"] = [38681] let s:lib.Codec.decoding_table["232,195"] = [38692] let s:lib.Codec.decoding_table["232,196"] = [38698] let s:lib.Codec.decoding_table["232,197"] = [38704] let s:lib.Codec.decoding_table["232,198"] = [38713] let s:lib.Codec.decoding_table["232,199"] = [38717] let s:lib.Codec.decoding_table["232,200"] = [38718] let s:lib.Codec.decoding_table["232,201"] = [38724] let s:lib.Codec.decoding_table["232,202"] = [38726] let s:lib.Codec.decoding_table["232,203"] = [38728] let s:lib.Codec.decoding_table["232,204"] = [38722] let s:lib.Codec.decoding_table["232,205"] = [38729] let s:lib.Codec.decoding_table["232,206"] = [38748] let s:lib.Codec.decoding_table["232,207"] = [38752] let s:lib.Codec.decoding_table["232,208"] = [38756] let s:lib.Codec.decoding_table["232,209"] = [38758] let s:lib.Codec.decoding_table["232,210"] = [38760] let s:lib.Codec.decoding_table["232,211"] = [21202] let s:lib.Codec.decoding_table["232,212"] = [38763] let s:lib.Codec.decoding_table["232,213"] = [38769] let s:lib.Codec.decoding_table["232,214"] = [38777] let s:lib.Codec.decoding_table["232,215"] = [38789] let s:lib.Codec.decoding_table["232,216"] = [38780] let s:lib.Codec.decoding_table["232,217"] = [38785] let s:lib.Codec.decoding_table["232,218"] = [38778] let s:lib.Codec.decoding_table["232,219"] = [38790] let s:lib.Codec.decoding_table["232,220"] = [38795] let s:lib.Codec.decoding_table["232,221"] = [38799] let s:lib.Codec.decoding_table["232,222"] = [38800] let s:lib.Codec.decoding_table["232,223"] = [38812] let s:lib.Codec.decoding_table["232,224"] = [38824] let s:lib.Codec.decoding_table["232,225"] = [38822] let s:lib.Codec.decoding_table["232,226"] = [38819] let s:lib.Codec.decoding_table["232,227"] = [38835] let s:lib.Codec.decoding_table["232,228"] = [38836] let s:lib.Codec.decoding_table["232,229"] = [38851] let s:lib.Codec.decoding_table["232,230"] = [38854] let s:lib.Codec.decoding_table["232,231"] = [38856] let s:lib.Codec.decoding_table["232,232"] = [38859] let s:lib.Codec.decoding_table["232,233"] = [38876] let s:lib.Codec.decoding_table["232,234"] = [38893] let s:lib.Codec.decoding_table["232,235"] = [40783] let s:lib.Codec.decoding_table["232,236"] = [38898] let s:lib.Codec.decoding_table["232,237"] = [31455] let s:lib.Codec.decoding_table["232,238"] = [38902] let s:lib.Codec.decoding_table["232,239"] = [38901] let s:lib.Codec.decoding_table["232,240"] = [38927] let s:lib.Codec.decoding_table["232,241"] = [38924] let s:lib.Codec.decoding_table["232,242"] = [38968] let s:lib.Codec.decoding_table["232,243"] = [38948] let s:lib.Codec.decoding_table["232,244"] = [38945] let s:lib.Codec.decoding_table["232,245"] = [38967] let s:lib.Codec.decoding_table["232,246"] = [38973] let s:lib.Codec.decoding_table["232,247"] = [38982] let s:lib.Codec.decoding_table["232,248"] = [38991] let s:lib.Codec.decoding_table["232,249"] = [38987] let s:lib.Codec.decoding_table["232,250"] = [39019] let s:lib.Codec.decoding_table["232,251"] = [39023] let s:lib.Codec.decoding_table["232,252"] = [39024] let s:lib.Codec.decoding_table["233,64"] = [39025] let s:lib.Codec.decoding_table["233,65"] = [39028] let s:lib.Codec.decoding_table["233,66"] = [39027] let s:lib.Codec.decoding_table["233,67"] = [39082] let s:lib.Codec.decoding_table["233,68"] = [39087] let s:lib.Codec.decoding_table["233,69"] = [39089] let s:lib.Codec.decoding_table["233,70"] = [39094] let s:lib.Codec.decoding_table["233,71"] = [39108] let s:lib.Codec.decoding_table["233,72"] = [39107] let s:lib.Codec.decoding_table["233,73"] = [39110] let s:lib.Codec.decoding_table["233,74"] = [39145] let s:lib.Codec.decoding_table["233,75"] = [39147] let s:lib.Codec.decoding_table["233,76"] = [39171] let s:lib.Codec.decoding_table["233,77"] = [39177] let s:lib.Codec.decoding_table["233,78"] = [39186] let s:lib.Codec.decoding_table["233,79"] = [39188] let s:lib.Codec.decoding_table["233,80"] = [39192] let s:lib.Codec.decoding_table["233,81"] = [39201] let s:lib.Codec.decoding_table["233,82"] = [39197] let s:lib.Codec.decoding_table["233,83"] = [39198] let s:lib.Codec.decoding_table["233,84"] = [39204] let s:lib.Codec.decoding_table["233,85"] = [39200] let s:lib.Codec.decoding_table["233,86"] = [39212] let s:lib.Codec.decoding_table["233,87"] = [39214] let s:lib.Codec.decoding_table["233,88"] = [39229] let s:lib.Codec.decoding_table["233,89"] = [39230] let s:lib.Codec.decoding_table["233,90"] = [39234] let s:lib.Codec.decoding_table["233,91"] = [39241] let s:lib.Codec.decoding_table["233,92"] = [39237] let s:lib.Codec.decoding_table["233,93"] = [39248] let s:lib.Codec.decoding_table["233,94"] = [39243] let s:lib.Codec.decoding_table["233,95"] = [39249] let s:lib.Codec.decoding_table["233,96"] = [39250] let s:lib.Codec.decoding_table["233,97"] = [39244] let s:lib.Codec.decoding_table["233,98"] = [39253] let s:lib.Codec.decoding_table["233,99"] = [39319] let s:lib.Codec.decoding_table["233,100"] = [39320] let s:lib.Codec.decoding_table["233,101"] = [39333] let s:lib.Codec.decoding_table["233,102"] = [39341] let s:lib.Codec.decoding_table["233,103"] = [39342] let s:lib.Codec.decoding_table["233,104"] = [39356] let s:lib.Codec.decoding_table["233,105"] = [39391] let s:lib.Codec.decoding_table["233,106"] = [39387] let s:lib.Codec.decoding_table["233,107"] = [39389] let s:lib.Codec.decoding_table["233,108"] = [39384] let s:lib.Codec.decoding_table["233,109"] = [39377] let s:lib.Codec.decoding_table["233,110"] = [39405] let s:lib.Codec.decoding_table["233,111"] = [39406] let s:lib.Codec.decoding_table["233,112"] = [39409] let s:lib.Codec.decoding_table["233,113"] = [39410] let s:lib.Codec.decoding_table["233,114"] = [39419] let s:lib.Codec.decoding_table["233,115"] = [39416] let s:lib.Codec.decoding_table["233,116"] = [39425] let s:lib.Codec.decoding_table["233,117"] = [39439] let s:lib.Codec.decoding_table["233,118"] = [39429] let s:lib.Codec.decoding_table["233,119"] = [39394] let s:lib.Codec.decoding_table["233,120"] = [39449] let s:lib.Codec.decoding_table["233,121"] = [39467] let s:lib.Codec.decoding_table["233,122"] = [39479] let s:lib.Codec.decoding_table["233,123"] = [39493] let s:lib.Codec.decoding_table["233,124"] = [39490] let s:lib.Codec.decoding_table["233,125"] = [39488] let s:lib.Codec.decoding_table["233,126"] = [39491] let s:lib.Codec.decoding_table["233,128"] = [39486] let s:lib.Codec.decoding_table["233,129"] = [39509] let s:lib.Codec.decoding_table["233,130"] = [39501] let s:lib.Codec.decoding_table["233,131"] = [39515] let s:lib.Codec.decoding_table["233,132"] = [39511] let s:lib.Codec.decoding_table["233,133"] = [39519] let s:lib.Codec.decoding_table["233,134"] = [39522] let s:lib.Codec.decoding_table["233,135"] = [39525] let s:lib.Codec.decoding_table["233,136"] = [39524] let s:lib.Codec.decoding_table["233,137"] = [39529] let s:lib.Codec.decoding_table["233,138"] = [39531] let s:lib.Codec.decoding_table["233,139"] = [39530] let s:lib.Codec.decoding_table["233,140"] = [39597] let s:lib.Codec.decoding_table["233,141"] = [39600] let s:lib.Codec.decoding_table["233,142"] = [39612] let s:lib.Codec.decoding_table["233,143"] = [39616] let s:lib.Codec.decoding_table["233,144"] = [39631] let s:lib.Codec.decoding_table["233,145"] = [39633] let s:lib.Codec.decoding_table["233,146"] = [39635] let s:lib.Codec.decoding_table["233,147"] = [39636] let s:lib.Codec.decoding_table["233,148"] = [39646] let s:lib.Codec.decoding_table["233,149"] = [39647] let s:lib.Codec.decoding_table["233,150"] = [39650] let s:lib.Codec.decoding_table["233,151"] = [39651] let s:lib.Codec.decoding_table["233,152"] = [39654] let s:lib.Codec.decoding_table["233,153"] = [39663] let s:lib.Codec.decoding_table["233,154"] = [39659] let s:lib.Codec.decoding_table["233,155"] = [39662] let s:lib.Codec.decoding_table["233,156"] = [39668] let s:lib.Codec.decoding_table["233,157"] = [39665] let s:lib.Codec.decoding_table["233,158"] = [39671] let s:lib.Codec.decoding_table["233,159"] = [39675] let s:lib.Codec.decoding_table["233,160"] = [39686] let s:lib.Codec.decoding_table["233,161"] = [39704] let s:lib.Codec.decoding_table["233,162"] = [39706] let s:lib.Codec.decoding_table["233,163"] = [39711] let s:lib.Codec.decoding_table["233,164"] = [39714] let s:lib.Codec.decoding_table["233,165"] = [39715] let s:lib.Codec.decoding_table["233,166"] = [39717] let s:lib.Codec.decoding_table["233,167"] = [39719] let s:lib.Codec.decoding_table["233,168"] = [39720] let s:lib.Codec.decoding_table["233,169"] = [39721] let s:lib.Codec.decoding_table["233,170"] = [39722] let s:lib.Codec.decoding_table["233,171"] = [39726] let s:lib.Codec.decoding_table["233,172"] = [39727] let s:lib.Codec.decoding_table["233,173"] = [39730] let s:lib.Codec.decoding_table["233,174"] = [39748] let s:lib.Codec.decoding_table["233,175"] = [39747] let s:lib.Codec.decoding_table["233,176"] = [39759] let s:lib.Codec.decoding_table["233,177"] = [39757] let s:lib.Codec.decoding_table["233,178"] = [39758] let s:lib.Codec.decoding_table["233,179"] = [39761] let s:lib.Codec.decoding_table["233,180"] = [39768] let s:lib.Codec.decoding_table["233,181"] = [39796] let s:lib.Codec.decoding_table["233,182"] = [39827] let s:lib.Codec.decoding_table["233,183"] = [39811] let s:lib.Codec.decoding_table["233,184"] = [39825] let s:lib.Codec.decoding_table["233,185"] = [39830] let s:lib.Codec.decoding_table["233,186"] = [39831] let s:lib.Codec.decoding_table["233,187"] = [39839] let s:lib.Codec.decoding_table["233,188"] = [39840] let s:lib.Codec.decoding_table["233,189"] = [39848] let s:lib.Codec.decoding_table["233,190"] = [39860] let s:lib.Codec.decoding_table["233,191"] = [39872] let s:lib.Codec.decoding_table["233,192"] = [39882] let s:lib.Codec.decoding_table["233,193"] = [39865] let s:lib.Codec.decoding_table["233,194"] = [39878] let s:lib.Codec.decoding_table["233,195"] = [39887] let s:lib.Codec.decoding_table["233,196"] = [39889] let s:lib.Codec.decoding_table["233,197"] = [39890] let s:lib.Codec.decoding_table["233,198"] = [39907] let s:lib.Codec.decoding_table["233,199"] = [39906] let s:lib.Codec.decoding_table["233,200"] = [39908] let s:lib.Codec.decoding_table["233,201"] = [39892] let s:lib.Codec.decoding_table["233,202"] = [39905] let s:lib.Codec.decoding_table["233,203"] = [39994] let s:lib.Codec.decoding_table["233,204"] = [39922] let s:lib.Codec.decoding_table["233,205"] = [39921] let s:lib.Codec.decoding_table["233,206"] = [39920] let s:lib.Codec.decoding_table["233,207"] = [39957] let s:lib.Codec.decoding_table["233,208"] = [39956] let s:lib.Codec.decoding_table["233,209"] = [39945] let s:lib.Codec.decoding_table["233,210"] = [39955] let s:lib.Codec.decoding_table["233,211"] = [39948] let s:lib.Codec.decoding_table["233,212"] = [39942] let s:lib.Codec.decoding_table["233,213"] = [39944] let s:lib.Codec.decoding_table["233,214"] = [39954] let s:lib.Codec.decoding_table["233,215"] = [39946] let s:lib.Codec.decoding_table["233,216"] = [39940] let s:lib.Codec.decoding_table["233,217"] = [39982] let s:lib.Codec.decoding_table["233,218"] = [39963] let s:lib.Codec.decoding_table["233,219"] = [39973] let s:lib.Codec.decoding_table["233,220"] = [39972] let s:lib.Codec.decoding_table["233,221"] = [39969] let s:lib.Codec.decoding_table["233,222"] = [39984] let s:lib.Codec.decoding_table["233,223"] = [40007] let s:lib.Codec.decoding_table["233,224"] = [39986] let s:lib.Codec.decoding_table["233,225"] = [40006] let s:lib.Codec.decoding_table["233,226"] = [39998] let s:lib.Codec.decoding_table["233,227"] = [40026] let s:lib.Codec.decoding_table["233,228"] = [40032] let s:lib.Codec.decoding_table["233,229"] = [40039] let s:lib.Codec.decoding_table["233,230"] = [40054] let s:lib.Codec.decoding_table["233,231"] = [40056] let s:lib.Codec.decoding_table["233,232"] = [40167] let s:lib.Codec.decoding_table["233,233"] = [40172] let s:lib.Codec.decoding_table["233,234"] = [40176] let s:lib.Codec.decoding_table["233,235"] = [40201] let s:lib.Codec.decoding_table["233,236"] = [40200] let s:lib.Codec.decoding_table["233,237"] = [40171] let s:lib.Codec.decoding_table["233,238"] = [40195] let s:lib.Codec.decoding_table["233,239"] = [40198] let s:lib.Codec.decoding_table["233,240"] = [40234] let s:lib.Codec.decoding_table["233,241"] = [40230] let s:lib.Codec.decoding_table["233,242"] = [40367] let s:lib.Codec.decoding_table["233,243"] = [40227] let s:lib.Codec.decoding_table["233,244"] = [40223] let s:lib.Codec.decoding_table["233,245"] = [40260] let s:lib.Codec.decoding_table["233,246"] = [40213] let s:lib.Codec.decoding_table["233,247"] = [40210] let s:lib.Codec.decoding_table["233,248"] = [40257] let s:lib.Codec.decoding_table["233,249"] = [40255] let s:lib.Codec.decoding_table["233,250"] = [40254] let s:lib.Codec.decoding_table["233,251"] = [40262] let s:lib.Codec.decoding_table["233,252"] = [40264] let s:lib.Codec.decoding_table["234,64"] = [40285] let s:lib.Codec.decoding_table["234,65"] = [40286] let s:lib.Codec.decoding_table["234,66"] = [40292] let s:lib.Codec.decoding_table["234,67"] = [40273] let s:lib.Codec.decoding_table["234,68"] = [40272] let s:lib.Codec.decoding_table["234,69"] = [40281] let s:lib.Codec.decoding_table["234,70"] = [40306] let s:lib.Codec.decoding_table["234,71"] = [40329] let s:lib.Codec.decoding_table["234,72"] = [40327] let s:lib.Codec.decoding_table["234,73"] = [40363] let s:lib.Codec.decoding_table["234,74"] = [40303] let s:lib.Codec.decoding_table["234,75"] = [40314] let s:lib.Codec.decoding_table["234,76"] = [40346] let s:lib.Codec.decoding_table["234,77"] = [40356] let s:lib.Codec.decoding_table["234,78"] = [40361] let s:lib.Codec.decoding_table["234,79"] = [40370] let s:lib.Codec.decoding_table["234,80"] = [40388] let s:lib.Codec.decoding_table["234,81"] = [40385] let s:lib.Codec.decoding_table["234,82"] = [40379] let s:lib.Codec.decoding_table["234,83"] = [40376] let s:lib.Codec.decoding_table["234,84"] = [40378] let s:lib.Codec.decoding_table["234,85"] = [40390] let s:lib.Codec.decoding_table["234,86"] = [40399] let s:lib.Codec.decoding_table["234,87"] = [40386] let s:lib.Codec.decoding_table["234,88"] = [40409] let s:lib.Codec.decoding_table["234,89"] = [40403] let s:lib.Codec.decoding_table["234,90"] = [40440] let s:lib.Codec.decoding_table["234,91"] = [40422] let s:lib.Codec.decoding_table["234,92"] = [40429] let s:lib.Codec.decoding_table["234,93"] = [40431] let s:lib.Codec.decoding_table["234,94"] = [40445] let s:lib.Codec.decoding_table["234,95"] = [40474] let s:lib.Codec.decoding_table["234,96"] = [40475] let s:lib.Codec.decoding_table["234,97"] = [40478] let s:lib.Codec.decoding_table["234,98"] = [40565] let s:lib.Codec.decoding_table["234,99"] = [40569] let s:lib.Codec.decoding_table["234,100"] = [40573] let s:lib.Codec.decoding_table["234,101"] = [40577] let s:lib.Codec.decoding_table["234,102"] = [40584] let s:lib.Codec.decoding_table["234,103"] = [40587] let s:lib.Codec.decoding_table["234,104"] = [40588] let s:lib.Codec.decoding_table["234,105"] = [40594] let s:lib.Codec.decoding_table["234,106"] = [40597] let s:lib.Codec.decoding_table["234,107"] = [40593] let s:lib.Codec.decoding_table["234,108"] = [40605] let s:lib.Codec.decoding_table["234,109"] = [40613] let s:lib.Codec.decoding_table["234,110"] = [40617] let s:lib.Codec.decoding_table["234,111"] = [40632] let s:lib.Codec.decoding_table["234,112"] = [40618] let s:lib.Codec.decoding_table["234,113"] = [40621] let s:lib.Codec.decoding_table["234,114"] = [38753] let s:lib.Codec.decoding_table["234,115"] = [40652] let s:lib.Codec.decoding_table["234,116"] = [40654] let s:lib.Codec.decoding_table["234,117"] = [40655] let s:lib.Codec.decoding_table["234,118"] = [40656] let s:lib.Codec.decoding_table["234,119"] = [40660] let s:lib.Codec.decoding_table["234,120"] = [40668] let s:lib.Codec.decoding_table["234,121"] = [40670] let s:lib.Codec.decoding_table["234,122"] = [40669] let s:lib.Codec.decoding_table["234,123"] = [40672] let s:lib.Codec.decoding_table["234,124"] = [40677] let s:lib.Codec.decoding_table["234,125"] = [40680] let s:lib.Codec.decoding_table["234,126"] = [40687] let s:lib.Codec.decoding_table["234,128"] = [40692] let s:lib.Codec.decoding_table["234,129"] = [40694] let s:lib.Codec.decoding_table["234,130"] = [40695] let s:lib.Codec.decoding_table["234,131"] = [40697] let s:lib.Codec.decoding_table["234,132"] = [40699] let s:lib.Codec.decoding_table["234,133"] = [40700] let s:lib.Codec.decoding_table["234,134"] = [40701] let s:lib.Codec.decoding_table["234,135"] = [40711] let s:lib.Codec.decoding_table["234,136"] = [40712] let s:lib.Codec.decoding_table["234,137"] = [30391] let s:lib.Codec.decoding_table["234,138"] = [40725] let s:lib.Codec.decoding_table["234,139"] = [40737] let s:lib.Codec.decoding_table["234,140"] = [40748] let s:lib.Codec.decoding_table["234,141"] = [40766] let s:lib.Codec.decoding_table["234,142"] = [40778] let s:lib.Codec.decoding_table["234,143"] = [40786] let s:lib.Codec.decoding_table["234,144"] = [40788] let s:lib.Codec.decoding_table["234,145"] = [40803] let s:lib.Codec.decoding_table["234,146"] = [40799] let s:lib.Codec.decoding_table["234,147"] = [40800] let s:lib.Codec.decoding_table["234,148"] = [40801] let s:lib.Codec.decoding_table["234,149"] = [40806] let s:lib.Codec.decoding_table["234,150"] = [40807] let s:lib.Codec.decoding_table["234,151"] = [40812] let s:lib.Codec.decoding_table["234,152"] = [40810] let s:lib.Codec.decoding_table["234,153"] = [40823] let s:lib.Codec.decoding_table["234,154"] = [40818] let s:lib.Codec.decoding_table["234,155"] = [40822] let s:lib.Codec.decoding_table["234,156"] = [40853] let s:lib.Codec.decoding_table["234,157"] = [40860] let s:lib.Codec.decoding_table["234,158"] = [40864] let s:lib.Codec.decoding_table["234,159"] = [22575] let s:lib.Codec.decoding_table["234,160"] = [27079] let s:lib.Codec.decoding_table["234,161"] = [36953] let s:lib.Codec.decoding_table["234,162"] = [29796] let s:lib.Codec.decoding_table["234,163"] = [20956] let s:lib.Codec.decoding_table["234,164"] = [29081] let s:lib.Codec.decoding_table["237,64"] = [32394] let s:lib.Codec.decoding_table["237,65"] = [35100] let s:lib.Codec.decoding_table["237,66"] = [37704] let s:lib.Codec.decoding_table["237,67"] = [37512] let s:lib.Codec.decoding_table["237,68"] = [34012] let s:lib.Codec.decoding_table["237,69"] = [20425] let s:lib.Codec.decoding_table["237,70"] = [28859] let s:lib.Codec.decoding_table["237,71"] = [26161] let s:lib.Codec.decoding_table["237,72"] = [26824] let s:lib.Codec.decoding_table["237,73"] = [37625] let s:lib.Codec.decoding_table["237,74"] = [26363] let s:lib.Codec.decoding_table["237,75"] = [24389] let s:lib.Codec.decoding_table["237,76"] = [20008] let s:lib.Codec.decoding_table["237,77"] = [20193] let s:lib.Codec.decoding_table["237,78"] = [20220] let s:lib.Codec.decoding_table["237,79"] = [20224] let s:lib.Codec.decoding_table["237,80"] = [20227] let s:lib.Codec.decoding_table["237,81"] = [20281] let s:lib.Codec.decoding_table["237,82"] = [20310] let s:lib.Codec.decoding_table["237,83"] = [20370] let s:lib.Codec.decoding_table["237,84"] = [20362] let s:lib.Codec.decoding_table["237,85"] = [20378] let s:lib.Codec.decoding_table["237,86"] = [20372] let s:lib.Codec.decoding_table["237,87"] = [20429] let s:lib.Codec.decoding_table["237,88"] = [20544] let s:lib.Codec.decoding_table["237,89"] = [20514] let s:lib.Codec.decoding_table["237,90"] = [20479] let s:lib.Codec.decoding_table["237,91"] = [20510] let s:lib.Codec.decoding_table["237,92"] = [20550] let s:lib.Codec.decoding_table["237,93"] = [20592] let s:lib.Codec.decoding_table["237,94"] = [20546] let s:lib.Codec.decoding_table["237,95"] = [20628] let s:lib.Codec.decoding_table["237,96"] = [20724] let s:lib.Codec.decoding_table["237,97"] = [20696] let s:lib.Codec.decoding_table["237,98"] = [20810] let s:lib.Codec.decoding_table["237,99"] = [20836] let s:lib.Codec.decoding_table["237,100"] = [20893] let s:lib.Codec.decoding_table["237,101"] = [20926] let s:lib.Codec.decoding_table["237,102"] = [20972] let s:lib.Codec.decoding_table["237,103"] = [21013] let s:lib.Codec.decoding_table["237,104"] = [21148] let s:lib.Codec.decoding_table["237,105"] = [21158] let s:lib.Codec.decoding_table["237,106"] = [21184] let s:lib.Codec.decoding_table["237,107"] = [21211] let s:lib.Codec.decoding_table["237,108"] = [21248] let s:lib.Codec.decoding_table["237,109"] = [21255] let s:lib.Codec.decoding_table["237,110"] = [21284] let s:lib.Codec.decoding_table["237,111"] = [21362] let s:lib.Codec.decoding_table["237,112"] = [21395] let s:lib.Codec.decoding_table["237,113"] = [21426] let s:lib.Codec.decoding_table["237,114"] = [21469] let s:lib.Codec.decoding_table["237,115"] = [64014] let s:lib.Codec.decoding_table["237,116"] = [21660] let s:lib.Codec.decoding_table["237,117"] = [21642] let s:lib.Codec.decoding_table["237,118"] = [21673] let s:lib.Codec.decoding_table["237,119"] = [21759] let s:lib.Codec.decoding_table["237,120"] = [21894] let s:lib.Codec.decoding_table["237,121"] = [22361] let s:lib.Codec.decoding_table["237,122"] = [22373] let s:lib.Codec.decoding_table["237,123"] = [22444] let s:lib.Codec.decoding_table["237,124"] = [22472] let s:lib.Codec.decoding_table["237,125"] = [22471] let s:lib.Codec.decoding_table["237,126"] = [64015] let s:lib.Codec.decoding_table["237,128"] = [64016] let s:lib.Codec.decoding_table["237,129"] = [22686] let s:lib.Codec.decoding_table["237,130"] = [22706] let s:lib.Codec.decoding_table["237,131"] = [22795] let s:lib.Codec.decoding_table["237,132"] = [22867] let s:lib.Codec.decoding_table["237,133"] = [22875] let s:lib.Codec.decoding_table["237,134"] = [22877] let s:lib.Codec.decoding_table["237,135"] = [22883] let s:lib.Codec.decoding_table["237,136"] = [22948] let s:lib.Codec.decoding_table["237,137"] = [22970] let s:lib.Codec.decoding_table["237,138"] = [23382] let s:lib.Codec.decoding_table["237,139"] = [23488] let s:lib.Codec.decoding_table["237,140"] = [29999] let s:lib.Codec.decoding_table["237,141"] = [23512] let s:lib.Codec.decoding_table["237,142"] = [23532] let s:lib.Codec.decoding_table["237,143"] = [23582] let s:lib.Codec.decoding_table["237,144"] = [23718] let s:lib.Codec.decoding_table["237,145"] = [23738] let s:lib.Codec.decoding_table["237,146"] = [23797] let s:lib.Codec.decoding_table["237,147"] = [23847] let s:lib.Codec.decoding_table["237,148"] = [23891] let s:lib.Codec.decoding_table["237,149"] = [64017] let s:lib.Codec.decoding_table["237,150"] = [23874] let s:lib.Codec.decoding_table["237,151"] = [23917] let s:lib.Codec.decoding_table["237,152"] = [23992] let s:lib.Codec.decoding_table["237,153"] = [23993] let s:lib.Codec.decoding_table["237,154"] = [24016] let s:lib.Codec.decoding_table["237,155"] = [24353] let s:lib.Codec.decoding_table["237,156"] = [24372] let s:lib.Codec.decoding_table["237,157"] = [24423] let s:lib.Codec.decoding_table["237,158"] = [24503] let s:lib.Codec.decoding_table["237,159"] = [24542] let s:lib.Codec.decoding_table["237,160"] = [24669] let s:lib.Codec.decoding_table["237,161"] = [24709] let s:lib.Codec.decoding_table["237,162"] = [24714] let s:lib.Codec.decoding_table["237,163"] = [24798] let s:lib.Codec.decoding_table["237,164"] = [24789] let s:lib.Codec.decoding_table["237,165"] = [24864] let s:lib.Codec.decoding_table["237,166"] = [24818] let s:lib.Codec.decoding_table["237,167"] = [24849] let s:lib.Codec.decoding_table["237,168"] = [24887] let s:lib.Codec.decoding_table["237,169"] = [24880] let s:lib.Codec.decoding_table["237,170"] = [24984] let s:lib.Codec.decoding_table["237,171"] = [25107] let s:lib.Codec.decoding_table["237,172"] = [25254] let s:lib.Codec.decoding_table["237,173"] = [25589] let s:lib.Codec.decoding_table["237,174"] = [25696] let s:lib.Codec.decoding_table["237,175"] = [25757] let s:lib.Codec.decoding_table["237,176"] = [25806] let s:lib.Codec.decoding_table["237,177"] = [25934] let s:lib.Codec.decoding_table["237,178"] = [26112] let s:lib.Codec.decoding_table["237,179"] = [26133] let s:lib.Codec.decoding_table["237,180"] = [26171] let s:lib.Codec.decoding_table["237,181"] = [26121] let s:lib.Codec.decoding_table["237,182"] = [26158] let s:lib.Codec.decoding_table["237,183"] = [26142] let s:lib.Codec.decoding_table["237,184"] = [26148] let s:lib.Codec.decoding_table["237,185"] = [26213] let s:lib.Codec.decoding_table["237,186"] = [26199] let s:lib.Codec.decoding_table["237,187"] = [26201] let s:lib.Codec.decoding_table["237,188"] = [64018] let s:lib.Codec.decoding_table["237,189"] = [26227] let s:lib.Codec.decoding_table["237,190"] = [26265] let s:lib.Codec.decoding_table["237,191"] = [26272] let s:lib.Codec.decoding_table["237,192"] = [26290] let s:lib.Codec.decoding_table["237,193"] = [26303] let s:lib.Codec.decoding_table["237,194"] = [26362] let s:lib.Codec.decoding_table["237,195"] = [26382] let s:lib.Codec.decoding_table["237,196"] = [63785] let s:lib.Codec.decoding_table["237,197"] = [26470] let s:lib.Codec.decoding_table["237,198"] = [26555] let s:lib.Codec.decoding_table["237,199"] = [26706] let s:lib.Codec.decoding_table["237,200"] = [26560] let s:lib.Codec.decoding_table["237,201"] = [26625] let s:lib.Codec.decoding_table["237,202"] = [26692] let s:lib.Codec.decoding_table["237,203"] = [26831] let s:lib.Codec.decoding_table["237,204"] = [64019] let s:lib.Codec.decoding_table["237,205"] = [26984] let s:lib.Codec.decoding_table["237,206"] = [64020] let s:lib.Codec.decoding_table["237,207"] = [27032] let s:lib.Codec.decoding_table["237,208"] = [27106] let s:lib.Codec.decoding_table["237,209"] = [27184] let s:lib.Codec.decoding_table["237,210"] = [27243] let s:lib.Codec.decoding_table["237,211"] = [27206] let s:lib.Codec.decoding_table["237,212"] = [27251] let s:lib.Codec.decoding_table["237,213"] = [27262] let s:lib.Codec.decoding_table["237,214"] = [27362] let s:lib.Codec.decoding_table["237,215"] = [27364] let s:lib.Codec.decoding_table["237,216"] = [27606] let s:lib.Codec.decoding_table["237,217"] = [27711] let s:lib.Codec.decoding_table["237,218"] = [27740] let s:lib.Codec.decoding_table["237,219"] = [27782] let s:lib.Codec.decoding_table["237,220"] = [27759] let s:lib.Codec.decoding_table["237,221"] = [27866] let s:lib.Codec.decoding_table["237,222"] = [27908] let s:lib.Codec.decoding_table["237,223"] = [28039] let s:lib.Codec.decoding_table["237,224"] = [28015] let s:lib.Codec.decoding_table["237,225"] = [28054] let s:lib.Codec.decoding_table["237,226"] = [28076] let s:lib.Codec.decoding_table["237,227"] = [28111] let s:lib.Codec.decoding_table["237,228"] = [28152] let s:lib.Codec.decoding_table["237,229"] = [28146] let s:lib.Codec.decoding_table["237,230"] = [28156] let s:lib.Codec.decoding_table["237,231"] = [28217] let s:lib.Codec.decoding_table["237,232"] = [28252] let s:lib.Codec.decoding_table["237,233"] = [28199] let s:lib.Codec.decoding_table["237,234"] = [28220] let s:lib.Codec.decoding_table["237,235"] = [28351] let s:lib.Codec.decoding_table["237,236"] = [28552] let s:lib.Codec.decoding_table["237,237"] = [28597] let s:lib.Codec.decoding_table["237,238"] = [28661] let s:lib.Codec.decoding_table["237,239"] = [28677] let s:lib.Codec.decoding_table["237,240"] = [28679] let s:lib.Codec.decoding_table["237,241"] = [28712] let s:lib.Codec.decoding_table["237,242"] = [28805] let s:lib.Codec.decoding_table["237,243"] = [28843] let s:lib.Codec.decoding_table["237,244"] = [28943] let s:lib.Codec.decoding_table["237,245"] = [28932] let s:lib.Codec.decoding_table["237,246"] = [29020] let s:lib.Codec.decoding_table["237,247"] = [28998] let s:lib.Codec.decoding_table["237,248"] = [28999] let s:lib.Codec.decoding_table["237,249"] = [64021] let s:lib.Codec.decoding_table["237,250"] = [29121] let s:lib.Codec.decoding_table["237,251"] = [29182] let s:lib.Codec.decoding_table["237,252"] = [29361] let s:lib.Codec.decoding_table["238,64"] = [29374] let s:lib.Codec.decoding_table["238,65"] = [29476] let s:lib.Codec.decoding_table["238,66"] = [64022] let s:lib.Codec.decoding_table["238,67"] = [29559] let s:lib.Codec.decoding_table["238,68"] = [29629] let s:lib.Codec.decoding_table["238,69"] = [29641] let s:lib.Codec.decoding_table["238,70"] = [29654] let s:lib.Codec.decoding_table["238,71"] = [29667] let s:lib.Codec.decoding_table["238,72"] = [29650] let s:lib.Codec.decoding_table["238,73"] = [29703] let s:lib.Codec.decoding_table["238,74"] = [29685] let s:lib.Codec.decoding_table["238,75"] = [29734] let s:lib.Codec.decoding_table["238,76"] = [29738] let s:lib.Codec.decoding_table["238,77"] = [29737] let s:lib.Codec.decoding_table["238,78"] = [29742] let s:lib.Codec.decoding_table["238,79"] = [29794] let s:lib.Codec.decoding_table["238,80"] = [29833] let s:lib.Codec.decoding_table["238,81"] = [29855] let s:lib.Codec.decoding_table["238,82"] = [29953] let s:lib.Codec.decoding_table["238,83"] = [30063] let s:lib.Codec.decoding_table["238,84"] = [30338] let s:lib.Codec.decoding_table["238,85"] = [30364] let s:lib.Codec.decoding_table["238,86"] = [30366] let s:lib.Codec.decoding_table["238,87"] = [30363] let s:lib.Codec.decoding_table["238,88"] = [30374] let s:lib.Codec.decoding_table["238,89"] = [64023] let s:lib.Codec.decoding_table["238,90"] = [30534] let s:lib.Codec.decoding_table["238,91"] = [21167] let s:lib.Codec.decoding_table["238,92"] = [30753] let s:lib.Codec.decoding_table["238,93"] = [30798] let s:lib.Codec.decoding_table["238,94"] = [30820] let s:lib.Codec.decoding_table["238,95"] = [30842] let s:lib.Codec.decoding_table["238,96"] = [31024] let s:lib.Codec.decoding_table["238,97"] = [64024] let s:lib.Codec.decoding_table["238,98"] = [64025] let s:lib.Codec.decoding_table["238,99"] = [64026] let s:lib.Codec.decoding_table["238,100"] = [31124] let s:lib.Codec.decoding_table["238,101"] = [64027] let s:lib.Codec.decoding_table["238,102"] = [31131] let s:lib.Codec.decoding_table["238,103"] = [31441] let s:lib.Codec.decoding_table["238,104"] = [31463] let s:lib.Codec.decoding_table["238,105"] = [64028] let s:lib.Codec.decoding_table["238,106"] = [31467] let s:lib.Codec.decoding_table["238,107"] = [31646] let s:lib.Codec.decoding_table["238,108"] = [64029] let s:lib.Codec.decoding_table["238,109"] = [32072] let s:lib.Codec.decoding_table["238,110"] = [32092] let s:lib.Codec.decoding_table["238,111"] = [32183] let s:lib.Codec.decoding_table["238,112"] = [32160] let s:lib.Codec.decoding_table["238,113"] = [32214] let s:lib.Codec.decoding_table["238,114"] = [32338] let s:lib.Codec.decoding_table["238,115"] = [32583] let s:lib.Codec.decoding_table["238,116"] = [32673] let s:lib.Codec.decoding_table["238,117"] = [64030] let s:lib.Codec.decoding_table["238,118"] = [33537] let s:lib.Codec.decoding_table["238,119"] = [33634] let s:lib.Codec.decoding_table["238,120"] = [33663] let s:lib.Codec.decoding_table["238,121"] = [33735] let s:lib.Codec.decoding_table["238,122"] = [33782] let s:lib.Codec.decoding_table["238,123"] = [33864] let s:lib.Codec.decoding_table["238,124"] = [33972] let s:lib.Codec.decoding_table["238,125"] = [34131] let s:lib.Codec.decoding_table["238,126"] = [34137] let s:lib.Codec.decoding_table["238,128"] = [34155] let s:lib.Codec.decoding_table["238,129"] = [64031] let s:lib.Codec.decoding_table["238,130"] = [34224] let s:lib.Codec.decoding_table["238,131"] = [64032] let s:lib.Codec.decoding_table["238,132"] = [64033] let s:lib.Codec.decoding_table["238,133"] = [34823] let s:lib.Codec.decoding_table["238,134"] = [35061] let s:lib.Codec.decoding_table["238,135"] = [35346] let s:lib.Codec.decoding_table["238,136"] = [35383] let s:lib.Codec.decoding_table["238,137"] = [35449] let s:lib.Codec.decoding_table["238,138"] = [35495] let s:lib.Codec.decoding_table["238,139"] = [35518] let s:lib.Codec.decoding_table["238,140"] = [35551] let s:lib.Codec.decoding_table["238,141"] = [64034] let s:lib.Codec.decoding_table["238,142"] = [35574] let s:lib.Codec.decoding_table["238,143"] = [35667] let s:lib.Codec.decoding_table["238,144"] = [35711] let s:lib.Codec.decoding_table["238,145"] = [36080] let s:lib.Codec.decoding_table["238,146"] = [36084] let s:lib.Codec.decoding_table["238,147"] = [36114] let s:lib.Codec.decoding_table["238,148"] = [36214] let s:lib.Codec.decoding_table["238,149"] = [64035] let s:lib.Codec.decoding_table["238,150"] = [36559] let s:lib.Codec.decoding_table["238,151"] = [64036] let s:lib.Codec.decoding_table["238,152"] = [64037] let s:lib.Codec.decoding_table["238,153"] = [36967] let s:lib.Codec.decoding_table["238,154"] = [37086] let s:lib.Codec.decoding_table["238,155"] = [64038] let s:lib.Codec.decoding_table["238,156"] = [37141] let s:lib.Codec.decoding_table["238,157"] = [37159] let s:lib.Codec.decoding_table["238,158"] = [37338] let s:lib.Codec.decoding_table["238,159"] = [37335] let s:lib.Codec.decoding_table["238,160"] = [37342] let s:lib.Codec.decoding_table["238,161"] = [37357] let s:lib.Codec.decoding_table["238,162"] = [37358] let s:lib.Codec.decoding_table["238,163"] = [37348] let s:lib.Codec.decoding_table["238,164"] = [37349] let s:lib.Codec.decoding_table["238,165"] = [37382] let s:lib.Codec.decoding_table["238,166"] = [37392] let s:lib.Codec.decoding_table["238,167"] = [37386] let s:lib.Codec.decoding_table["238,168"] = [37434] let s:lib.Codec.decoding_table["238,169"] = [37440] let s:lib.Codec.decoding_table["238,170"] = [37436] let s:lib.Codec.decoding_table["238,171"] = [37454] let s:lib.Codec.decoding_table["238,172"] = [37465] let s:lib.Codec.decoding_table["238,173"] = [37457] let s:lib.Codec.decoding_table["238,174"] = [37433] let s:lib.Codec.decoding_table["238,175"] = [37479] let s:lib.Codec.decoding_table["238,176"] = [37543] let s:lib.Codec.decoding_table["238,177"] = [37495] let s:lib.Codec.decoding_table["238,178"] = [37496] let s:lib.Codec.decoding_table["238,179"] = [37607] let s:lib.Codec.decoding_table["238,180"] = [37591] let s:lib.Codec.decoding_table["238,181"] = [37593] let s:lib.Codec.decoding_table["238,182"] = [37584] let s:lib.Codec.decoding_table["238,183"] = [64039] let s:lib.Codec.decoding_table["238,184"] = [37589] let s:lib.Codec.decoding_table["238,185"] = [37600] let s:lib.Codec.decoding_table["238,186"] = [37587] let s:lib.Codec.decoding_table["238,187"] = [37669] let s:lib.Codec.decoding_table["238,188"] = [37665] let s:lib.Codec.decoding_table["238,189"] = [37627] let s:lib.Codec.decoding_table["238,190"] = [64040] let s:lib.Codec.decoding_table["238,191"] = [37662] let s:lib.Codec.decoding_table["238,192"] = [37631] let s:lib.Codec.decoding_table["238,193"] = [37661] let s:lib.Codec.decoding_table["238,194"] = [37634] let s:lib.Codec.decoding_table["238,195"] = [37744] let s:lib.Codec.decoding_table["238,196"] = [37719] let s:lib.Codec.decoding_table["238,197"] = [37796] let s:lib.Codec.decoding_table["238,198"] = [37830] let s:lib.Codec.decoding_table["238,199"] = [37854] let s:lib.Codec.decoding_table["238,200"] = [37880] let s:lib.Codec.decoding_table["238,201"] = [37937] let s:lib.Codec.decoding_table["238,202"] = [37957] let s:lib.Codec.decoding_table["238,203"] = [37960] let s:lib.Codec.decoding_table["238,204"] = [38290] let s:lib.Codec.decoding_table["238,205"] = [63964] let s:lib.Codec.decoding_table["238,206"] = [64041] let s:lib.Codec.decoding_table["238,207"] = [38557] let s:lib.Codec.decoding_table["238,208"] = [38575] let s:lib.Codec.decoding_table["238,209"] = [38707] let s:lib.Codec.decoding_table["238,210"] = [38715] let s:lib.Codec.decoding_table["238,211"] = [38723] let s:lib.Codec.decoding_table["238,212"] = [38733] let s:lib.Codec.decoding_table["238,213"] = [38735] let s:lib.Codec.decoding_table["238,214"] = [38737] let s:lib.Codec.decoding_table["238,215"] = [38741] let s:lib.Codec.decoding_table["238,216"] = [38999] let s:lib.Codec.decoding_table["238,217"] = [39013] let s:lib.Codec.decoding_table["238,218"] = [64042] let s:lib.Codec.decoding_table["238,219"] = [64043] let s:lib.Codec.decoding_table["238,220"] = [39207] let s:lib.Codec.decoding_table["238,221"] = [64044] let s:lib.Codec.decoding_table["238,222"] = [39326] let s:lib.Codec.decoding_table["238,223"] = [39502] let s:lib.Codec.decoding_table["238,224"] = [39641] let s:lib.Codec.decoding_table["238,225"] = [39644] let s:lib.Codec.decoding_table["238,226"] = [39797] let s:lib.Codec.decoding_table["238,227"] = [39794] let s:lib.Codec.decoding_table["238,228"] = [39823] let s:lib.Codec.decoding_table["238,229"] = [39857] let s:lib.Codec.decoding_table["238,230"] = [39867] let s:lib.Codec.decoding_table["238,231"] = [39936] let s:lib.Codec.decoding_table["238,232"] = [40304] let s:lib.Codec.decoding_table["238,233"] = [40299] let s:lib.Codec.decoding_table["238,234"] = [64045] let s:lib.Codec.decoding_table["238,235"] = [40473] let s:lib.Codec.decoding_table["238,236"] = [40657] let s:lib.Codec.decoding_table["238,239"] = [8560] let s:lib.Codec.decoding_table["238,240"] = [8561] let s:lib.Codec.decoding_table["238,241"] = [8562] let s:lib.Codec.decoding_table["238,242"] = [8563] let s:lib.Codec.decoding_table["238,243"] = [8564] let s:lib.Codec.decoding_table["238,244"] = [8565] let s:lib.Codec.decoding_table["238,245"] = [8566] let s:lib.Codec.decoding_table["238,246"] = [8567] let s:lib.Codec.decoding_table["238,247"] = [8568] let s:lib.Codec.decoding_table["238,248"] = [8569] let s:lib.Codec.decoding_table["238,249"] = [65506] let s:lib.Codec.decoding_table["238,250"] = [65508] let s:lib.Codec.decoding_table["238,251"] = [65287] let s:lib.Codec.decoding_table["238,252"] = [65282] let s:lib.Codec.decoding_table["250,64"] = [8560] let s:lib.Codec.decoding_table["250,65"] = [8561] let s:lib.Codec.decoding_table["250,66"] = [8562] let s:lib.Codec.decoding_table["250,67"] = [8563] let s:lib.Codec.decoding_table["250,68"] = [8564] let s:lib.Codec.decoding_table["250,69"] = [8565] let s:lib.Codec.decoding_table["250,70"] = [8566] let s:lib.Codec.decoding_table["250,71"] = [8567] let s:lib.Codec.decoding_table["250,72"] = [8568] let s:lib.Codec.decoding_table["250,73"] = [8569] let s:lib.Codec.decoding_table["250,74"] = [8544] let s:lib.Codec.decoding_table["250,75"] = [8545] let s:lib.Codec.decoding_table["250,76"] = [8546] let s:lib.Codec.decoding_table["250,77"] = [8547] let s:lib.Codec.decoding_table["250,78"] = [8548] let s:lib.Codec.decoding_table["250,79"] = [8549] let s:lib.Codec.decoding_table["250,80"] = [8550] let s:lib.Codec.decoding_table["250,81"] = [8551] let s:lib.Codec.decoding_table["250,82"] = [8552] let s:lib.Codec.decoding_table["250,83"] = [8553] let s:lib.Codec.decoding_table["250,84"] = [65506] let s:lib.Codec.decoding_table["250,85"] = [65508] let s:lib.Codec.decoding_table["250,86"] = [65287] let s:lib.Codec.decoding_table["250,87"] = [65282] let s:lib.Codec.decoding_table["250,88"] = [12849] let s:lib.Codec.decoding_table["250,89"] = [8470] let s:lib.Codec.decoding_table["250,90"] = [8481] let s:lib.Codec.decoding_table["250,91"] = [8757] let s:lib.Codec.decoding_table["250,92"] = [32394] let s:lib.Codec.decoding_table["250,93"] = [35100] let s:lib.Codec.decoding_table["250,94"] = [37704] let s:lib.Codec.decoding_table["250,95"] = [37512] let s:lib.Codec.decoding_table["250,96"] = [34012] let s:lib.Codec.decoding_table["250,97"] = [20425] let s:lib.Codec.decoding_table["250,98"] = [28859] let s:lib.Codec.decoding_table["250,99"] = [26161] let s:lib.Codec.decoding_table["250,100"] = [26824] let s:lib.Codec.decoding_table["250,101"] = [37625] let s:lib.Codec.decoding_table["250,102"] = [26363] let s:lib.Codec.decoding_table["250,103"] = [24389] let s:lib.Codec.decoding_table["250,104"] = [20008] let s:lib.Codec.decoding_table["250,105"] = [20193] let s:lib.Codec.decoding_table["250,106"] = [20220] let s:lib.Codec.decoding_table["250,107"] = [20224] let s:lib.Codec.decoding_table["250,108"] = [20227] let s:lib.Codec.decoding_table["250,109"] = [20281] let s:lib.Codec.decoding_table["250,110"] = [20310] let s:lib.Codec.decoding_table["250,111"] = [20370] let s:lib.Codec.decoding_table["250,112"] = [20362] let s:lib.Codec.decoding_table["250,113"] = [20378] let s:lib.Codec.decoding_table["250,114"] = [20372] let s:lib.Codec.decoding_table["250,115"] = [20429] let s:lib.Codec.decoding_table["250,116"] = [20544] let s:lib.Codec.decoding_table["250,117"] = [20514] let s:lib.Codec.decoding_table["250,118"] = [20479] let s:lib.Codec.decoding_table["250,119"] = [20510] let s:lib.Codec.decoding_table["250,120"] = [20550] let s:lib.Codec.decoding_table["250,121"] = [20592] let s:lib.Codec.decoding_table["250,122"] = [20546] let s:lib.Codec.decoding_table["250,123"] = [20628] let s:lib.Codec.decoding_table["250,124"] = [20724] let s:lib.Codec.decoding_table["250,125"] = [20696] let s:lib.Codec.decoding_table["250,126"] = [20810] let s:lib.Codec.decoding_table["250,128"] = [20836] let s:lib.Codec.decoding_table["250,129"] = [20893] let s:lib.Codec.decoding_table["250,130"] = [20926] let s:lib.Codec.decoding_table["250,131"] = [20972] let s:lib.Codec.decoding_table["250,132"] = [21013] let s:lib.Codec.decoding_table["250,133"] = [21148] let s:lib.Codec.decoding_table["250,134"] = [21158] let s:lib.Codec.decoding_table["250,135"] = [21184] let s:lib.Codec.decoding_table["250,136"] = [21211] let s:lib.Codec.decoding_table["250,137"] = [21248] let s:lib.Codec.decoding_table["250,138"] = [21255] let s:lib.Codec.decoding_table["250,139"] = [21284] let s:lib.Codec.decoding_table["250,140"] = [21362] let s:lib.Codec.decoding_table["250,141"] = [21395] let s:lib.Codec.decoding_table["250,142"] = [21426] let s:lib.Codec.decoding_table["250,143"] = [21469] let s:lib.Codec.decoding_table["250,144"] = [64014] let s:lib.Codec.decoding_table["250,145"] = [21660] let s:lib.Codec.decoding_table["250,146"] = [21642] let s:lib.Codec.decoding_table["250,147"] = [21673] let s:lib.Codec.decoding_table["250,148"] = [21759] let s:lib.Codec.decoding_table["250,149"] = [21894] let s:lib.Codec.decoding_table["250,150"] = [22361] let s:lib.Codec.decoding_table["250,151"] = [22373] let s:lib.Codec.decoding_table["250,152"] = [22444] let s:lib.Codec.decoding_table["250,153"] = [22472] let s:lib.Codec.decoding_table["250,154"] = [22471] let s:lib.Codec.decoding_table["250,155"] = [64015] let s:lib.Codec.decoding_table["250,156"] = [64016] let s:lib.Codec.decoding_table["250,157"] = [22686] let s:lib.Codec.decoding_table["250,158"] = [22706] let s:lib.Codec.decoding_table["250,159"] = [22795] let s:lib.Codec.decoding_table["250,160"] = [22867] let s:lib.Codec.decoding_table["250,161"] = [22875] let s:lib.Codec.decoding_table["250,162"] = [22877] let s:lib.Codec.decoding_table["250,163"] = [22883] let s:lib.Codec.decoding_table["250,164"] = [22948] let s:lib.Codec.decoding_table["250,165"] = [22970] let s:lib.Codec.decoding_table["250,166"] = [23382] let s:lib.Codec.decoding_table["250,167"] = [23488] let s:lib.Codec.decoding_table["250,168"] = [29999] let s:lib.Codec.decoding_table["250,169"] = [23512] let s:lib.Codec.decoding_table["250,170"] = [23532] let s:lib.Codec.decoding_table["250,171"] = [23582] let s:lib.Codec.decoding_table["250,172"] = [23718] let s:lib.Codec.decoding_table["250,173"] = [23738] let s:lib.Codec.decoding_table["250,174"] = [23797] let s:lib.Codec.decoding_table["250,175"] = [23847] let s:lib.Codec.decoding_table["250,176"] = [23891] let s:lib.Codec.decoding_table["250,177"] = [64017] let s:lib.Codec.decoding_table["250,178"] = [23874] let s:lib.Codec.decoding_table["250,179"] = [23917] let s:lib.Codec.decoding_table["250,180"] = [23992] let s:lib.Codec.decoding_table["250,181"] = [23993] let s:lib.Codec.decoding_table["250,182"] = [24016] let s:lib.Codec.decoding_table["250,183"] = [24353] let s:lib.Codec.decoding_table["250,184"] = [24372] let s:lib.Codec.decoding_table["250,185"] = [24423] let s:lib.Codec.decoding_table["250,186"] = [24503] let s:lib.Codec.decoding_table["250,187"] = [24542] let s:lib.Codec.decoding_table["250,188"] = [24669] let s:lib.Codec.decoding_table["250,189"] = [24709] let s:lib.Codec.decoding_table["250,190"] = [24714] let s:lib.Codec.decoding_table["250,191"] = [24798] let s:lib.Codec.decoding_table["250,192"] = [24789] let s:lib.Codec.decoding_table["250,193"] = [24864] let s:lib.Codec.decoding_table["250,194"] = [24818] let s:lib.Codec.decoding_table["250,195"] = [24849] let s:lib.Codec.decoding_table["250,196"] = [24887] let s:lib.Codec.decoding_table["250,197"] = [24880] let s:lib.Codec.decoding_table["250,198"] = [24984] let s:lib.Codec.decoding_table["250,199"] = [25107] let s:lib.Codec.decoding_table["250,200"] = [25254] let s:lib.Codec.decoding_table["250,201"] = [25589] let s:lib.Codec.decoding_table["250,202"] = [25696] let s:lib.Codec.decoding_table["250,203"] = [25757] let s:lib.Codec.decoding_table["250,204"] = [25806] let s:lib.Codec.decoding_table["250,205"] = [25934] let s:lib.Codec.decoding_table["250,206"] = [26112] let s:lib.Codec.decoding_table["250,207"] = [26133] let s:lib.Codec.decoding_table["250,208"] = [26171] let s:lib.Codec.decoding_table["250,209"] = [26121] let s:lib.Codec.decoding_table["250,210"] = [26158] let s:lib.Codec.decoding_table["250,211"] = [26142] let s:lib.Codec.decoding_table["250,212"] = [26148] let s:lib.Codec.decoding_table["250,213"] = [26213] let s:lib.Codec.decoding_table["250,214"] = [26199] let s:lib.Codec.decoding_table["250,215"] = [26201] let s:lib.Codec.decoding_table["250,216"] = [64018] let s:lib.Codec.decoding_table["250,217"] = [26227] let s:lib.Codec.decoding_table["250,218"] = [26265] let s:lib.Codec.decoding_table["250,219"] = [26272] let s:lib.Codec.decoding_table["250,220"] = [26290] let s:lib.Codec.decoding_table["250,221"] = [26303] let s:lib.Codec.decoding_table["250,222"] = [26362] let s:lib.Codec.decoding_table["250,223"] = [26382] let s:lib.Codec.decoding_table["250,224"] = [63785] let s:lib.Codec.decoding_table["250,225"] = [26470] let s:lib.Codec.decoding_table["250,226"] = [26555] let s:lib.Codec.decoding_table["250,227"] = [26706] let s:lib.Codec.decoding_table["250,228"] = [26560] let s:lib.Codec.decoding_table["250,229"] = [26625] let s:lib.Codec.decoding_table["250,230"] = [26692] let s:lib.Codec.decoding_table["250,231"] = [26831] let s:lib.Codec.decoding_table["250,232"] = [64019] let s:lib.Codec.decoding_table["250,233"] = [26984] let s:lib.Codec.decoding_table["250,234"] = [64020] let s:lib.Codec.decoding_table["250,235"] = [27032] let s:lib.Codec.decoding_table["250,236"] = [27106] let s:lib.Codec.decoding_table["250,237"] = [27184] let s:lib.Codec.decoding_table["250,238"] = [27243] let s:lib.Codec.decoding_table["250,239"] = [27206] let s:lib.Codec.decoding_table["250,240"] = [27251] let s:lib.Codec.decoding_table["250,241"] = [27262] let s:lib.Codec.decoding_table["250,242"] = [27362] let s:lib.Codec.decoding_table["250,243"] = [27364] let s:lib.Codec.decoding_table["250,244"] = [27606] let s:lib.Codec.decoding_table["250,245"] = [27711] let s:lib.Codec.decoding_table["250,246"] = [27740] let s:lib.Codec.decoding_table["250,247"] = [27782] let s:lib.Codec.decoding_table["250,248"] = [27759] let s:lib.Codec.decoding_table["250,249"] = [27866] let s:lib.Codec.decoding_table["250,250"] = [27908] let s:lib.Codec.decoding_table["250,251"] = [28039] let s:lib.Codec.decoding_table["250,252"] = [28015] let s:lib.Codec.decoding_table["251,64"] = [28054] let s:lib.Codec.decoding_table["251,65"] = [28076] let s:lib.Codec.decoding_table["251,66"] = [28111] let s:lib.Codec.decoding_table["251,67"] = [28152] let s:lib.Codec.decoding_table["251,68"] = [28146] let s:lib.Codec.decoding_table["251,69"] = [28156] let s:lib.Codec.decoding_table["251,70"] = [28217] let s:lib.Codec.decoding_table["251,71"] = [28252] let s:lib.Codec.decoding_table["251,72"] = [28199] let s:lib.Codec.decoding_table["251,73"] = [28220] let s:lib.Codec.decoding_table["251,74"] = [28351] let s:lib.Codec.decoding_table["251,75"] = [28552] let s:lib.Codec.decoding_table["251,76"] = [28597] let s:lib.Codec.decoding_table["251,77"] = [28661] let s:lib.Codec.decoding_table["251,78"] = [28677] let s:lib.Codec.decoding_table["251,79"] = [28679] let s:lib.Codec.decoding_table["251,80"] = [28712] let s:lib.Codec.decoding_table["251,81"] = [28805] let s:lib.Codec.decoding_table["251,82"] = [28843] let s:lib.Codec.decoding_table["251,83"] = [28943] let s:lib.Codec.decoding_table["251,84"] = [28932] let s:lib.Codec.decoding_table["251,85"] = [29020] let s:lib.Codec.decoding_table["251,86"] = [28998] let s:lib.Codec.decoding_table["251,87"] = [28999] let s:lib.Codec.decoding_table["251,88"] = [64021] let s:lib.Codec.decoding_table["251,89"] = [29121] let s:lib.Codec.decoding_table["251,90"] = [29182] let s:lib.Codec.decoding_table["251,91"] = [29361] let s:lib.Codec.decoding_table["251,92"] = [29374] let s:lib.Codec.decoding_table["251,93"] = [29476] let s:lib.Codec.decoding_table["251,94"] = [64022] let s:lib.Codec.decoding_table["251,95"] = [29559] let s:lib.Codec.decoding_table["251,96"] = [29629] let s:lib.Codec.decoding_table["251,97"] = [29641] let s:lib.Codec.decoding_table["251,98"] = [29654] let s:lib.Codec.decoding_table["251,99"] = [29667] let s:lib.Codec.decoding_table["251,100"] = [29650] let s:lib.Codec.decoding_table["251,101"] = [29703] let s:lib.Codec.decoding_table["251,102"] = [29685] let s:lib.Codec.decoding_table["251,103"] = [29734] let s:lib.Codec.decoding_table["251,104"] = [29738] let s:lib.Codec.decoding_table["251,105"] = [29737] let s:lib.Codec.decoding_table["251,106"] = [29742] let s:lib.Codec.decoding_table["251,107"] = [29794] let s:lib.Codec.decoding_table["251,108"] = [29833] let s:lib.Codec.decoding_table["251,109"] = [29855] let s:lib.Codec.decoding_table["251,110"] = [29953] let s:lib.Codec.decoding_table["251,111"] = [30063] let s:lib.Codec.decoding_table["251,112"] = [30338] let s:lib.Codec.decoding_table["251,113"] = [30364] let s:lib.Codec.decoding_table["251,114"] = [30366] let s:lib.Codec.decoding_table["251,115"] = [30363] let s:lib.Codec.decoding_table["251,116"] = [30374] let s:lib.Codec.decoding_table["251,117"] = [64023] let s:lib.Codec.decoding_table["251,118"] = [30534] let s:lib.Codec.decoding_table["251,119"] = [21167] let s:lib.Codec.decoding_table["251,120"] = [30753] let s:lib.Codec.decoding_table["251,121"] = [30798] let s:lib.Codec.decoding_table["251,122"] = [30820] let s:lib.Codec.decoding_table["251,123"] = [30842] let s:lib.Codec.decoding_table["251,124"] = [31024] let s:lib.Codec.decoding_table["251,125"] = [64024] let s:lib.Codec.decoding_table["251,126"] = [64025] let s:lib.Codec.decoding_table["251,128"] = [64026] let s:lib.Codec.decoding_table["251,129"] = [31124] let s:lib.Codec.decoding_table["251,130"] = [64027] let s:lib.Codec.decoding_table["251,131"] = [31131] let s:lib.Codec.decoding_table["251,132"] = [31441] let s:lib.Codec.decoding_table["251,133"] = [31463] let s:lib.Codec.decoding_table["251,134"] = [64028] let s:lib.Codec.decoding_table["251,135"] = [31467] let s:lib.Codec.decoding_table["251,136"] = [31646] let s:lib.Codec.decoding_table["251,137"] = [64029] let s:lib.Codec.decoding_table["251,138"] = [32072] let s:lib.Codec.decoding_table["251,139"] = [32092] let s:lib.Codec.decoding_table["251,140"] = [32183] let s:lib.Codec.decoding_table["251,141"] = [32160] let s:lib.Codec.decoding_table["251,142"] = [32214] let s:lib.Codec.decoding_table["251,143"] = [32338] let s:lib.Codec.decoding_table["251,144"] = [32583] let s:lib.Codec.decoding_table["251,145"] = [32673] let s:lib.Codec.decoding_table["251,146"] = [64030] let s:lib.Codec.decoding_table["251,147"] = [33537] let s:lib.Codec.decoding_table["251,148"] = [33634] let s:lib.Codec.decoding_table["251,149"] = [33663] let s:lib.Codec.decoding_table["251,150"] = [33735] let s:lib.Codec.decoding_table["251,151"] = [33782] let s:lib.Codec.decoding_table["251,152"] = [33864] let s:lib.Codec.decoding_table["251,153"] = [33972] let s:lib.Codec.decoding_table["251,154"] = [34131] let s:lib.Codec.decoding_table["251,155"] = [34137] let s:lib.Codec.decoding_table["251,156"] = [34155] let s:lib.Codec.decoding_table["251,157"] = [64031] let s:lib.Codec.decoding_table["251,158"] = [34224] let s:lib.Codec.decoding_table["251,159"] = [64032] let s:lib.Codec.decoding_table["251,160"] = [64033] let s:lib.Codec.decoding_table["251,161"] = [34823] let s:lib.Codec.decoding_table["251,162"] = [35061] let s:lib.Codec.decoding_table["251,163"] = [35346] let s:lib.Codec.decoding_table["251,164"] = [35383] let s:lib.Codec.decoding_table["251,165"] = [35449] let s:lib.Codec.decoding_table["251,166"] = [35495] let s:lib.Codec.decoding_table["251,167"] = [35518] let s:lib.Codec.decoding_table["251,168"] = [35551] let s:lib.Codec.decoding_table["251,169"] = [64034] let s:lib.Codec.decoding_table["251,170"] = [35574] let s:lib.Codec.decoding_table["251,171"] = [35667] let s:lib.Codec.decoding_table["251,172"] = [35711] let s:lib.Codec.decoding_table["251,173"] = [36080] let s:lib.Codec.decoding_table["251,174"] = [36084] let s:lib.Codec.decoding_table["251,175"] = [36114] let s:lib.Codec.decoding_table["251,176"] = [36214] let s:lib.Codec.decoding_table["251,177"] = [64035] let s:lib.Codec.decoding_table["251,178"] = [36559] let s:lib.Codec.decoding_table["251,179"] = [64036] let s:lib.Codec.decoding_table["251,180"] = [64037] let s:lib.Codec.decoding_table["251,181"] = [36967] let s:lib.Codec.decoding_table["251,182"] = [37086] let s:lib.Codec.decoding_table["251,183"] = [64038] let s:lib.Codec.decoding_table["251,184"] = [37141] let s:lib.Codec.decoding_table["251,185"] = [37159] let s:lib.Codec.decoding_table["251,186"] = [37338] let s:lib.Codec.decoding_table["251,187"] = [37335] let s:lib.Codec.decoding_table["251,188"] = [37342] let s:lib.Codec.decoding_table["251,189"] = [37357] let s:lib.Codec.decoding_table["251,190"] = [37358] let s:lib.Codec.decoding_table["251,191"] = [37348] let s:lib.Codec.decoding_table["251,192"] = [37349] let s:lib.Codec.decoding_table["251,193"] = [37382] let s:lib.Codec.decoding_table["251,194"] = [37392] let s:lib.Codec.decoding_table["251,195"] = [37386] let s:lib.Codec.decoding_table["251,196"] = [37434] let s:lib.Codec.decoding_table["251,197"] = [37440] let s:lib.Codec.decoding_table["251,198"] = [37436] let s:lib.Codec.decoding_table["251,199"] = [37454] let s:lib.Codec.decoding_table["251,200"] = [37465] let s:lib.Codec.decoding_table["251,201"] = [37457] let s:lib.Codec.decoding_table["251,202"] = [37433] let s:lib.Codec.decoding_table["251,203"] = [37479] let s:lib.Codec.decoding_table["251,204"] = [37543] let s:lib.Codec.decoding_table["251,205"] = [37495] let s:lib.Codec.decoding_table["251,206"] = [37496] let s:lib.Codec.decoding_table["251,207"] = [37607] let s:lib.Codec.decoding_table["251,208"] = [37591] let s:lib.Codec.decoding_table["251,209"] = [37593] let s:lib.Codec.decoding_table["251,210"] = [37584] let s:lib.Codec.decoding_table["251,211"] = [64039] let s:lib.Codec.decoding_table["251,212"] = [37589] let s:lib.Codec.decoding_table["251,213"] = [37600] let s:lib.Codec.decoding_table["251,214"] = [37587] let s:lib.Codec.decoding_table["251,215"] = [37669] let s:lib.Codec.decoding_table["251,216"] = [37665] let s:lib.Codec.decoding_table["251,217"] = [37627] let s:lib.Codec.decoding_table["251,218"] = [64040] let s:lib.Codec.decoding_table["251,219"] = [37662] let s:lib.Codec.decoding_table["251,220"] = [37631] let s:lib.Codec.decoding_table["251,221"] = [37661] let s:lib.Codec.decoding_table["251,222"] = [37634] let s:lib.Codec.decoding_table["251,223"] = [37744] let s:lib.Codec.decoding_table["251,224"] = [37719] let s:lib.Codec.decoding_table["251,225"] = [37796] let s:lib.Codec.decoding_table["251,226"] = [37830] let s:lib.Codec.decoding_table["251,227"] = [37854] let s:lib.Codec.decoding_table["251,228"] = [37880] let s:lib.Codec.decoding_table["251,229"] = [37937] let s:lib.Codec.decoding_table["251,230"] = [37957] let s:lib.Codec.decoding_table["251,231"] = [37960] let s:lib.Codec.decoding_table["251,232"] = [38290] let s:lib.Codec.decoding_table["251,233"] = [63964] let s:lib.Codec.decoding_table["251,234"] = [64041] let s:lib.Codec.decoding_table["251,235"] = [38557] let s:lib.Codec.decoding_table["251,236"] = [38575] let s:lib.Codec.decoding_table["251,237"] = [38707] let s:lib.Codec.decoding_table["251,238"] = [38715] let s:lib.Codec.decoding_table["251,239"] = [38723] let s:lib.Codec.decoding_table["251,240"] = [38733] let s:lib.Codec.decoding_table["251,241"] = [38735] let s:lib.Codec.decoding_table["251,242"] = [38737] let s:lib.Codec.decoding_table["251,243"] = [38741] let s:lib.Codec.decoding_table["251,244"] = [38999] let s:lib.Codec.decoding_table["251,245"] = [39013] let s:lib.Codec.decoding_table["251,246"] = [64042] let s:lib.Codec.decoding_table["251,247"] = [64043] let s:lib.Codec.decoding_table["251,248"] = [39207] let s:lib.Codec.decoding_table["251,249"] = [64044] let s:lib.Codec.decoding_table["251,250"] = [39326] let s:lib.Codec.decoding_table["251,251"] = [39502] let s:lib.Codec.decoding_table["251,252"] = [39641] let s:lib.Codec.decoding_table["252,64"] = [39644] let s:lib.Codec.decoding_table["252,65"] = [39797] let s:lib.Codec.decoding_table["252,66"] = [39794] let s:lib.Codec.decoding_table["252,67"] = [39823] let s:lib.Codec.decoding_table["252,68"] = [39857] let s:lib.Codec.decoding_table["252,69"] = [39867] let s:lib.Codec.decoding_table["252,70"] = [39936] let s:lib.Codec.decoding_table["252,71"] = [40304] let s:lib.Codec.decoding_table["252,72"] = [40299] let s:lib.Codec.decoding_table["252,73"] = [64045] let s:lib.Codec.decoding_table["252,74"] = [40473] let s:lib.Codec.decoding_table["252,75"] = [40657] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["65377"] = [161] let s:lib.Codec.encoding_table["65378"] = [162] let s:lib.Codec.encoding_table["65379"] = [163] let s:lib.Codec.encoding_table["65380"] = [164] let s:lib.Codec.encoding_table["65381"] = [165] let s:lib.Codec.encoding_table["65382"] = [166] let s:lib.Codec.encoding_table["65383"] = [167] let s:lib.Codec.encoding_table["65384"] = [168] let s:lib.Codec.encoding_table["65385"] = [169] let s:lib.Codec.encoding_table["65386"] = [170] let s:lib.Codec.encoding_table["65387"] = [171] let s:lib.Codec.encoding_table["65388"] = [172] let s:lib.Codec.encoding_table["65389"] = [173] let s:lib.Codec.encoding_table["65390"] = [174] let s:lib.Codec.encoding_table["65391"] = [175] let s:lib.Codec.encoding_table["65392"] = [176] let s:lib.Codec.encoding_table["65393"] = [177] let s:lib.Codec.encoding_table["65394"] = [178] let s:lib.Codec.encoding_table["65395"] = [179] let s:lib.Codec.encoding_table["65396"] = [180] let s:lib.Codec.encoding_table["65397"] = [181] let s:lib.Codec.encoding_table["65398"] = [182] let s:lib.Codec.encoding_table["65399"] = [183] let s:lib.Codec.encoding_table["65400"] = [184] let s:lib.Codec.encoding_table["65401"] = [185] let s:lib.Codec.encoding_table["65402"] = [186] let s:lib.Codec.encoding_table["65403"] = [187] let s:lib.Codec.encoding_table["65404"] = [188] let s:lib.Codec.encoding_table["65405"] = [189] let s:lib.Codec.encoding_table["65406"] = [190] let s:lib.Codec.encoding_table["65407"] = [191] let s:lib.Codec.encoding_table["65408"] = [192] let s:lib.Codec.encoding_table["65409"] = [193] let s:lib.Codec.encoding_table["65410"] = [194] let s:lib.Codec.encoding_table["65411"] = [195] let s:lib.Codec.encoding_table["65412"] = [196] let s:lib.Codec.encoding_table["65413"] = [197] let s:lib.Codec.encoding_table["65414"] = [198] let s:lib.Codec.encoding_table["65415"] = [199] let s:lib.Codec.encoding_table["65416"] = [200] let s:lib.Codec.encoding_table["65417"] = [201] let s:lib.Codec.encoding_table["65418"] = [202] let s:lib.Codec.encoding_table["65419"] = [203] let s:lib.Codec.encoding_table["65420"] = [204] let s:lib.Codec.encoding_table["65421"] = [205] let s:lib.Codec.encoding_table["65422"] = [206] let s:lib.Codec.encoding_table["65423"] = [207] let s:lib.Codec.encoding_table["65424"] = [208] let s:lib.Codec.encoding_table["65425"] = [209] let s:lib.Codec.encoding_table["65426"] = [210] let s:lib.Codec.encoding_table["65427"] = [211] let s:lib.Codec.encoding_table["65428"] = [212] let s:lib.Codec.encoding_table["65429"] = [213] let s:lib.Codec.encoding_table["65430"] = [214] let s:lib.Codec.encoding_table["65431"] = [215] let s:lib.Codec.encoding_table["65432"] = [216] let s:lib.Codec.encoding_table["65433"] = [217] let s:lib.Codec.encoding_table["65434"] = [218] let s:lib.Codec.encoding_table["65435"] = [219] let s:lib.Codec.encoding_table["65436"] = [220] let s:lib.Codec.encoding_table["65437"] = [221] let s:lib.Codec.encoding_table["65438"] = [222] let s:lib.Codec.encoding_table["65439"] = [223] let s:lib.Codec.encoding_table["12288"] = [129,64] let s:lib.Codec.encoding_table["12289"] = [129,65] let s:lib.Codec.encoding_table["12290"] = [129,66] let s:lib.Codec.encoding_table["65292"] = [129,67] let s:lib.Codec.encoding_table["65294"] = [129,68] let s:lib.Codec.encoding_table["12539"] = [129,69] let s:lib.Codec.encoding_table["65306"] = [129,70] let s:lib.Codec.encoding_table["65307"] = [129,71] let s:lib.Codec.encoding_table["65311"] = [129,72] let s:lib.Codec.encoding_table["65281"] = [129,73] let s:lib.Codec.encoding_table["12443"] = [129,74] let s:lib.Codec.encoding_table["12444"] = [129,75] let s:lib.Codec.encoding_table["180"] = [129,76] let s:lib.Codec.encoding_table["65344"] = [129,77] let s:lib.Codec.encoding_table["168"] = [129,78] let s:lib.Codec.encoding_table["65342"] = [129,79] let s:lib.Codec.encoding_table["65507"] = [129,80] let s:lib.Codec.encoding_table["65343"] = [129,81] let s:lib.Codec.encoding_table["12541"] = [129,82] let s:lib.Codec.encoding_table["12542"] = [129,83] let s:lib.Codec.encoding_table["12445"] = [129,84] let s:lib.Codec.encoding_table["12446"] = [129,85] let s:lib.Codec.encoding_table["12291"] = [129,86] let s:lib.Codec.encoding_table["20189"] = [129,87] let s:lib.Codec.encoding_table["12293"] = [129,88] let s:lib.Codec.encoding_table["12294"] = [129,89] let s:lib.Codec.encoding_table["12295"] = [129,90] let s:lib.Codec.encoding_table["12540"] = [129,91] let s:lib.Codec.encoding_table["8213"] = [129,92] let s:lib.Codec.encoding_table["8208"] = [129,93] let s:lib.Codec.encoding_table["65295"] = [129,94] let s:lib.Codec.encoding_table["65340"] = [129,95] let s:lib.Codec.encoding_table["65374"] = [129,96] let s:lib.Codec.encoding_table["8741"] = [129,97] let s:lib.Codec.encoding_table["65372"] = [129,98] let s:lib.Codec.encoding_table["8230"] = [129,99] let s:lib.Codec.encoding_table["8229"] = [129,100] let s:lib.Codec.encoding_table["8216"] = [129,101] let s:lib.Codec.encoding_table["8217"] = [129,102] let s:lib.Codec.encoding_table["8220"] = [129,103] let s:lib.Codec.encoding_table["8221"] = [129,104] let s:lib.Codec.encoding_table["65288"] = [129,105] let s:lib.Codec.encoding_table["65289"] = [129,106] let s:lib.Codec.encoding_table["12308"] = [129,107] let s:lib.Codec.encoding_table["12309"] = [129,108] let s:lib.Codec.encoding_table["65339"] = [129,109] let s:lib.Codec.encoding_table["65341"] = [129,110] let s:lib.Codec.encoding_table["65371"] = [129,111] let s:lib.Codec.encoding_table["65373"] = [129,112] let s:lib.Codec.encoding_table["12296"] = [129,113] let s:lib.Codec.encoding_table["12297"] = [129,114] let s:lib.Codec.encoding_table["12298"] = [129,115] let s:lib.Codec.encoding_table["12299"] = [129,116] let s:lib.Codec.encoding_table["12300"] = [129,117] let s:lib.Codec.encoding_table["12301"] = [129,118] let s:lib.Codec.encoding_table["12302"] = [129,119] let s:lib.Codec.encoding_table["12303"] = [129,120] let s:lib.Codec.encoding_table["12304"] = [129,121] let s:lib.Codec.encoding_table["12305"] = [129,122] let s:lib.Codec.encoding_table["65291"] = [129,123] let s:lib.Codec.encoding_table["65293"] = [129,124] let s:lib.Codec.encoding_table["177"] = [129,125] let s:lib.Codec.encoding_table["215"] = [129,126] let s:lib.Codec.encoding_table["247"] = [129,128] let s:lib.Codec.encoding_table["65309"] = [129,129] let s:lib.Codec.encoding_table["8800"] = [129,130] let s:lib.Codec.encoding_table["65308"] = [129,131] let s:lib.Codec.encoding_table["65310"] = [129,132] let s:lib.Codec.encoding_table["8806"] = [129,133] let s:lib.Codec.encoding_table["8807"] = [129,134] let s:lib.Codec.encoding_table["8734"] = [129,135] let s:lib.Codec.encoding_table["8756"] = [129,136] let s:lib.Codec.encoding_table["9794"] = [129,137] let s:lib.Codec.encoding_table["9792"] = [129,138] let s:lib.Codec.encoding_table["176"] = [129,139] let s:lib.Codec.encoding_table["8242"] = [129,140] let s:lib.Codec.encoding_table["8243"] = [129,141] let s:lib.Codec.encoding_table["8451"] = [129,142] let s:lib.Codec.encoding_table["65509"] = [129,143] let s:lib.Codec.encoding_table["65284"] = [129,144] let s:lib.Codec.encoding_table["65504"] = [129,145] let s:lib.Codec.encoding_table["65505"] = [129,146] let s:lib.Codec.encoding_table["65285"] = [129,147] let s:lib.Codec.encoding_table["65283"] = [129,148] let s:lib.Codec.encoding_table["65286"] = [129,149] let s:lib.Codec.encoding_table["65290"] = [129,150] let s:lib.Codec.encoding_table["65312"] = [129,151] let s:lib.Codec.encoding_table["167"] = [129,152] let s:lib.Codec.encoding_table["9734"] = [129,153] let s:lib.Codec.encoding_table["9733"] = [129,154] let s:lib.Codec.encoding_table["9675"] = [129,155] let s:lib.Codec.encoding_table["9679"] = [129,156] let s:lib.Codec.encoding_table["9678"] = [129,157] let s:lib.Codec.encoding_table["9671"] = [129,158] let s:lib.Codec.encoding_table["9670"] = [129,159] let s:lib.Codec.encoding_table["9633"] = [129,160] let s:lib.Codec.encoding_table["9632"] = [129,161] let s:lib.Codec.encoding_table["9651"] = [129,162] let s:lib.Codec.encoding_table["9650"] = [129,163] let s:lib.Codec.encoding_table["9661"] = [129,164] let s:lib.Codec.encoding_table["9660"] = [129,165] let s:lib.Codec.encoding_table["8251"] = [129,166] let s:lib.Codec.encoding_table["12306"] = [129,167] let s:lib.Codec.encoding_table["8594"] = [129,168] let s:lib.Codec.encoding_table["8592"] = [129,169] let s:lib.Codec.encoding_table["8593"] = [129,170] let s:lib.Codec.encoding_table["8595"] = [129,171] let s:lib.Codec.encoding_table["12307"] = [129,172] let s:lib.Codec.encoding_table["8712"] = [129,184] let s:lib.Codec.encoding_table["8715"] = [129,185] let s:lib.Codec.encoding_table["8838"] = [129,186] let s:lib.Codec.encoding_table["8839"] = [129,187] let s:lib.Codec.encoding_table["8834"] = [129,188] let s:lib.Codec.encoding_table["8835"] = [129,189] let s:lib.Codec.encoding_table["8746"] = [129,190] let s:lib.Codec.encoding_table["8745"] = [129,191] let s:lib.Codec.encoding_table["8743"] = [129,200] let s:lib.Codec.encoding_table["8744"] = [129,201] let s:lib.Codec.encoding_table["65506"] = [129,202] let s:lib.Codec.encoding_table["8658"] = [129,203] let s:lib.Codec.encoding_table["8660"] = [129,204] let s:lib.Codec.encoding_table["8704"] = [129,205] let s:lib.Codec.encoding_table["8707"] = [129,206] let s:lib.Codec.encoding_table["8736"] = [129,218] let s:lib.Codec.encoding_table["8869"] = [129,219] let s:lib.Codec.encoding_table["8978"] = [129,220] let s:lib.Codec.encoding_table["8706"] = [129,221] let s:lib.Codec.encoding_table["8711"] = [129,222] let s:lib.Codec.encoding_table["8801"] = [129,223] let s:lib.Codec.encoding_table["8786"] = [129,224] let s:lib.Codec.encoding_table["8810"] = [129,225] let s:lib.Codec.encoding_table["8811"] = [129,226] let s:lib.Codec.encoding_table["8730"] = [129,227] let s:lib.Codec.encoding_table["8765"] = [129,228] let s:lib.Codec.encoding_table["8733"] = [129,229] let s:lib.Codec.encoding_table["8757"] = [129,230] let s:lib.Codec.encoding_table["8747"] = [129,231] let s:lib.Codec.encoding_table["8748"] = [129,232] let s:lib.Codec.encoding_table["8491"] = [129,240] let s:lib.Codec.encoding_table["8240"] = [129,241] let s:lib.Codec.encoding_table["9839"] = [129,242] let s:lib.Codec.encoding_table["9837"] = [129,243] let s:lib.Codec.encoding_table["9834"] = [129,244] let s:lib.Codec.encoding_table["8224"] = [129,245] let s:lib.Codec.encoding_table["8225"] = [129,246] let s:lib.Codec.encoding_table["182"] = [129,247] let s:lib.Codec.encoding_table["9711"] = [129,252] let s:lib.Codec.encoding_table["65296"] = [130,79] let s:lib.Codec.encoding_table["65297"] = [130,80] let s:lib.Codec.encoding_table["65298"] = [130,81] let s:lib.Codec.encoding_table["65299"] = [130,82] let s:lib.Codec.encoding_table["65300"] = [130,83] let s:lib.Codec.encoding_table["65301"] = [130,84] let s:lib.Codec.encoding_table["65302"] = [130,85] let s:lib.Codec.encoding_table["65303"] = [130,86] let s:lib.Codec.encoding_table["65304"] = [130,87] let s:lib.Codec.encoding_table["65305"] = [130,88] let s:lib.Codec.encoding_table["65313"] = [130,96] let s:lib.Codec.encoding_table["65314"] = [130,97] let s:lib.Codec.encoding_table["65315"] = [130,98] let s:lib.Codec.encoding_table["65316"] = [130,99] let s:lib.Codec.encoding_table["65317"] = [130,100] let s:lib.Codec.encoding_table["65318"] = [130,101] let s:lib.Codec.encoding_table["65319"] = [130,102] let s:lib.Codec.encoding_table["65320"] = [130,103] let s:lib.Codec.encoding_table["65321"] = [130,104] let s:lib.Codec.encoding_table["65322"] = [130,105] let s:lib.Codec.encoding_table["65323"] = [130,106] let s:lib.Codec.encoding_table["65324"] = [130,107] let s:lib.Codec.encoding_table["65325"] = [130,108] let s:lib.Codec.encoding_table["65326"] = [130,109] let s:lib.Codec.encoding_table["65327"] = [130,110] let s:lib.Codec.encoding_table["65328"] = [130,111] let s:lib.Codec.encoding_table["65329"] = [130,112] let s:lib.Codec.encoding_table["65330"] = [130,113] let s:lib.Codec.encoding_table["65331"] = [130,114] let s:lib.Codec.encoding_table["65332"] = [130,115] let s:lib.Codec.encoding_table["65333"] = [130,116] let s:lib.Codec.encoding_table["65334"] = [130,117] let s:lib.Codec.encoding_table["65335"] = [130,118] let s:lib.Codec.encoding_table["65336"] = [130,119] let s:lib.Codec.encoding_table["65337"] = [130,120] let s:lib.Codec.encoding_table["65338"] = [130,121] let s:lib.Codec.encoding_table["65345"] = [130,129] let s:lib.Codec.encoding_table["65346"] = [130,130] let s:lib.Codec.encoding_table["65347"] = [130,131] let s:lib.Codec.encoding_table["65348"] = [130,132] let s:lib.Codec.encoding_table["65349"] = [130,133] let s:lib.Codec.encoding_table["65350"] = [130,134] let s:lib.Codec.encoding_table["65351"] = [130,135] let s:lib.Codec.encoding_table["65352"] = [130,136] let s:lib.Codec.encoding_table["65353"] = [130,137] let s:lib.Codec.encoding_table["65354"] = [130,138] let s:lib.Codec.encoding_table["65355"] = [130,139] let s:lib.Codec.encoding_table["65356"] = [130,140] let s:lib.Codec.encoding_table["65357"] = [130,141] let s:lib.Codec.encoding_table["65358"] = [130,142] let s:lib.Codec.encoding_table["65359"] = [130,143] let s:lib.Codec.encoding_table["65360"] = [130,144] let s:lib.Codec.encoding_table["65361"] = [130,145] let s:lib.Codec.encoding_table["65362"] = [130,146] let s:lib.Codec.encoding_table["65363"] = [130,147] let s:lib.Codec.encoding_table["65364"] = [130,148] let s:lib.Codec.encoding_table["65365"] = [130,149] let s:lib.Codec.encoding_table["65366"] = [130,150] let s:lib.Codec.encoding_table["65367"] = [130,151] let s:lib.Codec.encoding_table["65368"] = [130,152] let s:lib.Codec.encoding_table["65369"] = [130,153] let s:lib.Codec.encoding_table["65370"] = [130,154] let s:lib.Codec.encoding_table["12353"] = [130,159] let s:lib.Codec.encoding_table["12354"] = [130,160] let s:lib.Codec.encoding_table["12355"] = [130,161] let s:lib.Codec.encoding_table["12356"] = [130,162] let s:lib.Codec.encoding_table["12357"] = [130,163] let s:lib.Codec.encoding_table["12358"] = [130,164] let s:lib.Codec.encoding_table["12359"] = [130,165] let s:lib.Codec.encoding_table["12360"] = [130,166] let s:lib.Codec.encoding_table["12361"] = [130,167] let s:lib.Codec.encoding_table["12362"] = [130,168] let s:lib.Codec.encoding_table["12363"] = [130,169] let s:lib.Codec.encoding_table["12364"] = [130,170] let s:lib.Codec.encoding_table["12365"] = [130,171] let s:lib.Codec.encoding_table["12366"] = [130,172] let s:lib.Codec.encoding_table["12367"] = [130,173] let s:lib.Codec.encoding_table["12368"] = [130,174] let s:lib.Codec.encoding_table["12369"] = [130,175] let s:lib.Codec.encoding_table["12370"] = [130,176] let s:lib.Codec.encoding_table["12371"] = [130,177] let s:lib.Codec.encoding_table["12372"] = [130,178] let s:lib.Codec.encoding_table["12373"] = [130,179] let s:lib.Codec.encoding_table["12374"] = [130,180] let s:lib.Codec.encoding_table["12375"] = [130,181] let s:lib.Codec.encoding_table["12376"] = [130,182] let s:lib.Codec.encoding_table["12377"] = [130,183] let s:lib.Codec.encoding_table["12378"] = [130,184] let s:lib.Codec.encoding_table["12379"] = [130,185] let s:lib.Codec.encoding_table["12380"] = [130,186] let s:lib.Codec.encoding_table["12381"] = [130,187] let s:lib.Codec.encoding_table["12382"] = [130,188] let s:lib.Codec.encoding_table["12383"] = [130,189] let s:lib.Codec.encoding_table["12384"] = [130,190] let s:lib.Codec.encoding_table["12385"] = [130,191] let s:lib.Codec.encoding_table["12386"] = [130,192] let s:lib.Codec.encoding_table["12387"] = [130,193] let s:lib.Codec.encoding_table["12388"] = [130,194] let s:lib.Codec.encoding_table["12389"] = [130,195] let s:lib.Codec.encoding_table["12390"] = [130,196] let s:lib.Codec.encoding_table["12391"] = [130,197] let s:lib.Codec.encoding_table["12392"] = [130,198] let s:lib.Codec.encoding_table["12393"] = [130,199] let s:lib.Codec.encoding_table["12394"] = [130,200] let s:lib.Codec.encoding_table["12395"] = [130,201] let s:lib.Codec.encoding_table["12396"] = [130,202] let s:lib.Codec.encoding_table["12397"] = [130,203] let s:lib.Codec.encoding_table["12398"] = [130,204] let s:lib.Codec.encoding_table["12399"] = [130,205] let s:lib.Codec.encoding_table["12400"] = [130,206] let s:lib.Codec.encoding_table["12401"] = [130,207] let s:lib.Codec.encoding_table["12402"] = [130,208] let s:lib.Codec.encoding_table["12403"] = [130,209] let s:lib.Codec.encoding_table["12404"] = [130,210] let s:lib.Codec.encoding_table["12405"] = [130,211] let s:lib.Codec.encoding_table["12406"] = [130,212] let s:lib.Codec.encoding_table["12407"] = [130,213] let s:lib.Codec.encoding_table["12408"] = [130,214] let s:lib.Codec.encoding_table["12409"] = [130,215] let s:lib.Codec.encoding_table["12410"] = [130,216] let s:lib.Codec.encoding_table["12411"] = [130,217] let s:lib.Codec.encoding_table["12412"] = [130,218] let s:lib.Codec.encoding_table["12413"] = [130,219] let s:lib.Codec.encoding_table["12414"] = [130,220] let s:lib.Codec.encoding_table["12415"] = [130,221] let s:lib.Codec.encoding_table["12416"] = [130,222] let s:lib.Codec.encoding_table["12417"] = [130,223] let s:lib.Codec.encoding_table["12418"] = [130,224] let s:lib.Codec.encoding_table["12419"] = [130,225] let s:lib.Codec.encoding_table["12420"] = [130,226] let s:lib.Codec.encoding_table["12421"] = [130,227] let s:lib.Codec.encoding_table["12422"] = [130,228] let s:lib.Codec.encoding_table["12423"] = [130,229] let s:lib.Codec.encoding_table["12424"] = [130,230] let s:lib.Codec.encoding_table["12425"] = [130,231] let s:lib.Codec.encoding_table["12426"] = [130,232] let s:lib.Codec.encoding_table["12427"] = [130,233] let s:lib.Codec.encoding_table["12428"] = [130,234] let s:lib.Codec.encoding_table["12429"] = [130,235] let s:lib.Codec.encoding_table["12430"] = [130,236] let s:lib.Codec.encoding_table["12431"] = [130,237] let s:lib.Codec.encoding_table["12432"] = [130,238] let s:lib.Codec.encoding_table["12433"] = [130,239] let s:lib.Codec.encoding_table["12434"] = [130,240] let s:lib.Codec.encoding_table["12435"] = [130,241] let s:lib.Codec.encoding_table["12449"] = [131,64] let s:lib.Codec.encoding_table["12450"] = [131,65] let s:lib.Codec.encoding_table["12451"] = [131,66] let s:lib.Codec.encoding_table["12452"] = [131,67] let s:lib.Codec.encoding_table["12453"] = [131,68] let s:lib.Codec.encoding_table["12454"] = [131,69] let s:lib.Codec.encoding_table["12455"] = [131,70] let s:lib.Codec.encoding_table["12456"] = [131,71] let s:lib.Codec.encoding_table["12457"] = [131,72] let s:lib.Codec.encoding_table["12458"] = [131,73] let s:lib.Codec.encoding_table["12459"] = [131,74] let s:lib.Codec.encoding_table["12460"] = [131,75] let s:lib.Codec.encoding_table["12461"] = [131,76] let s:lib.Codec.encoding_table["12462"] = [131,77] let s:lib.Codec.encoding_table["12463"] = [131,78] let s:lib.Codec.encoding_table["12464"] = [131,79] let s:lib.Codec.encoding_table["12465"] = [131,80] let s:lib.Codec.encoding_table["12466"] = [131,81] let s:lib.Codec.encoding_table["12467"] = [131,82] let s:lib.Codec.encoding_table["12468"] = [131,83] let s:lib.Codec.encoding_table["12469"] = [131,84] let s:lib.Codec.encoding_table["12470"] = [131,85] let s:lib.Codec.encoding_table["12471"] = [131,86] let s:lib.Codec.encoding_table["12472"] = [131,87] let s:lib.Codec.encoding_table["12473"] = [131,88] let s:lib.Codec.encoding_table["12474"] = [131,89] let s:lib.Codec.encoding_table["12475"] = [131,90] let s:lib.Codec.encoding_table["12476"] = [131,91] let s:lib.Codec.encoding_table["12477"] = [131,92] let s:lib.Codec.encoding_table["12478"] = [131,93] let s:lib.Codec.encoding_table["12479"] = [131,94] let s:lib.Codec.encoding_table["12480"] = [131,95] let s:lib.Codec.encoding_table["12481"] = [131,96] let s:lib.Codec.encoding_table["12482"] = [131,97] let s:lib.Codec.encoding_table["12483"] = [131,98] let s:lib.Codec.encoding_table["12484"] = [131,99] let s:lib.Codec.encoding_table["12485"] = [131,100] let s:lib.Codec.encoding_table["12486"] = [131,101] let s:lib.Codec.encoding_table["12487"] = [131,102] let s:lib.Codec.encoding_table["12488"] = [131,103] let s:lib.Codec.encoding_table["12489"] = [131,104] let s:lib.Codec.encoding_table["12490"] = [131,105] let s:lib.Codec.encoding_table["12491"] = [131,106] let s:lib.Codec.encoding_table["12492"] = [131,107] let s:lib.Codec.encoding_table["12493"] = [131,108] let s:lib.Codec.encoding_table["12494"] = [131,109] let s:lib.Codec.encoding_table["12495"] = [131,110] let s:lib.Codec.encoding_table["12496"] = [131,111] let s:lib.Codec.encoding_table["12497"] = [131,112] let s:lib.Codec.encoding_table["12498"] = [131,113] let s:lib.Codec.encoding_table["12499"] = [131,114] let s:lib.Codec.encoding_table["12500"] = [131,115] let s:lib.Codec.encoding_table["12501"] = [131,116] let s:lib.Codec.encoding_table["12502"] = [131,117] let s:lib.Codec.encoding_table["12503"] = [131,118] let s:lib.Codec.encoding_table["12504"] = [131,119] let s:lib.Codec.encoding_table["12505"] = [131,120] let s:lib.Codec.encoding_table["12506"] = [131,121] let s:lib.Codec.encoding_table["12507"] = [131,122] let s:lib.Codec.encoding_table["12508"] = [131,123] let s:lib.Codec.encoding_table["12509"] = [131,124] let s:lib.Codec.encoding_table["12510"] = [131,125] let s:lib.Codec.encoding_table["12511"] = [131,126] let s:lib.Codec.encoding_table["12512"] = [131,128] let s:lib.Codec.encoding_table["12513"] = [131,129] let s:lib.Codec.encoding_table["12514"] = [131,130] let s:lib.Codec.encoding_table["12515"] = [131,131] let s:lib.Codec.encoding_table["12516"] = [131,132] let s:lib.Codec.encoding_table["12517"] = [131,133] let s:lib.Codec.encoding_table["12518"] = [131,134] let s:lib.Codec.encoding_table["12519"] = [131,135] let s:lib.Codec.encoding_table["12520"] = [131,136] let s:lib.Codec.encoding_table["12521"] = [131,137] let s:lib.Codec.encoding_table["12522"] = [131,138] let s:lib.Codec.encoding_table["12523"] = [131,139] let s:lib.Codec.encoding_table["12524"] = [131,140] let s:lib.Codec.encoding_table["12525"] = [131,141] let s:lib.Codec.encoding_table["12526"] = [131,142] let s:lib.Codec.encoding_table["12527"] = [131,143] let s:lib.Codec.encoding_table["12528"] = [131,144] let s:lib.Codec.encoding_table["12529"] = [131,145] let s:lib.Codec.encoding_table["12530"] = [131,146] let s:lib.Codec.encoding_table["12531"] = [131,147] let s:lib.Codec.encoding_table["12532"] = [131,148] let s:lib.Codec.encoding_table["12533"] = [131,149] let s:lib.Codec.encoding_table["12534"] = [131,150] let s:lib.Codec.encoding_table["913"] = [131,159] let s:lib.Codec.encoding_table["914"] = [131,160] let s:lib.Codec.encoding_table["915"] = [131,161] let s:lib.Codec.encoding_table["916"] = [131,162] let s:lib.Codec.encoding_table["917"] = [131,163] let s:lib.Codec.encoding_table["918"] = [131,164] let s:lib.Codec.encoding_table["919"] = [131,165] let s:lib.Codec.encoding_table["920"] = [131,166] let s:lib.Codec.encoding_table["921"] = [131,167] let s:lib.Codec.encoding_table["922"] = [131,168] let s:lib.Codec.encoding_table["923"] = [131,169] let s:lib.Codec.encoding_table["924"] = [131,170] let s:lib.Codec.encoding_table["925"] = [131,171] let s:lib.Codec.encoding_table["926"] = [131,172] let s:lib.Codec.encoding_table["927"] = [131,173] let s:lib.Codec.encoding_table["928"] = [131,174] let s:lib.Codec.encoding_table["929"] = [131,175] let s:lib.Codec.encoding_table["931"] = [131,176] let s:lib.Codec.encoding_table["932"] = [131,177] let s:lib.Codec.encoding_table["933"] = [131,178] let s:lib.Codec.encoding_table["934"] = [131,179] let s:lib.Codec.encoding_table["935"] = [131,180] let s:lib.Codec.encoding_table["936"] = [131,181] let s:lib.Codec.encoding_table["937"] = [131,182] let s:lib.Codec.encoding_table["945"] = [131,191] let s:lib.Codec.encoding_table["946"] = [131,192] let s:lib.Codec.encoding_table["947"] = [131,193] let s:lib.Codec.encoding_table["948"] = [131,194] let s:lib.Codec.encoding_table["949"] = [131,195] let s:lib.Codec.encoding_table["950"] = [131,196] let s:lib.Codec.encoding_table["951"] = [131,197] let s:lib.Codec.encoding_table["952"] = [131,198] let s:lib.Codec.encoding_table["953"] = [131,199] let s:lib.Codec.encoding_table["954"] = [131,200] let s:lib.Codec.encoding_table["955"] = [131,201] let s:lib.Codec.encoding_table["956"] = [131,202] let s:lib.Codec.encoding_table["957"] = [131,203] let s:lib.Codec.encoding_table["958"] = [131,204] let s:lib.Codec.encoding_table["959"] = [131,205] let s:lib.Codec.encoding_table["960"] = [131,206] let s:lib.Codec.encoding_table["961"] = [131,207] let s:lib.Codec.encoding_table["963"] = [131,208] let s:lib.Codec.encoding_table["964"] = [131,209] let s:lib.Codec.encoding_table["965"] = [131,210] let s:lib.Codec.encoding_table["966"] = [131,211] let s:lib.Codec.encoding_table["967"] = [131,212] let s:lib.Codec.encoding_table["968"] = [131,213] let s:lib.Codec.encoding_table["969"] = [131,214] let s:lib.Codec.encoding_table["1040"] = [132,64] let s:lib.Codec.encoding_table["1041"] = [132,65] let s:lib.Codec.encoding_table["1042"] = [132,66] let s:lib.Codec.encoding_table["1043"] = [132,67] let s:lib.Codec.encoding_table["1044"] = [132,68] let s:lib.Codec.encoding_table["1045"] = [132,69] let s:lib.Codec.encoding_table["1025"] = [132,70] let s:lib.Codec.encoding_table["1046"] = [132,71] let s:lib.Codec.encoding_table["1047"] = [132,72] let s:lib.Codec.encoding_table["1048"] = [132,73] let s:lib.Codec.encoding_table["1049"] = [132,74] let s:lib.Codec.encoding_table["1050"] = [132,75] let s:lib.Codec.encoding_table["1051"] = [132,76] let s:lib.Codec.encoding_table["1052"] = [132,77] let s:lib.Codec.encoding_table["1053"] = [132,78] let s:lib.Codec.encoding_table["1054"] = [132,79] let s:lib.Codec.encoding_table["1055"] = [132,80] let s:lib.Codec.encoding_table["1056"] = [132,81] let s:lib.Codec.encoding_table["1057"] = [132,82] let s:lib.Codec.encoding_table["1058"] = [132,83] let s:lib.Codec.encoding_table["1059"] = [132,84] let s:lib.Codec.encoding_table["1060"] = [132,85] let s:lib.Codec.encoding_table["1061"] = [132,86] let s:lib.Codec.encoding_table["1062"] = [132,87] let s:lib.Codec.encoding_table["1063"] = [132,88] let s:lib.Codec.encoding_table["1064"] = [132,89] let s:lib.Codec.encoding_table["1065"] = [132,90] let s:lib.Codec.encoding_table["1066"] = [132,91] let s:lib.Codec.encoding_table["1067"] = [132,92] let s:lib.Codec.encoding_table["1068"] = [132,93] let s:lib.Codec.encoding_table["1069"] = [132,94] let s:lib.Codec.encoding_table["1070"] = [132,95] let s:lib.Codec.encoding_table["1071"] = [132,96] let s:lib.Codec.encoding_table["1072"] = [132,112] let s:lib.Codec.encoding_table["1073"] = [132,113] let s:lib.Codec.encoding_table["1074"] = [132,114] let s:lib.Codec.encoding_table["1075"] = [132,115] let s:lib.Codec.encoding_table["1076"] = [132,116] let s:lib.Codec.encoding_table["1077"] = [132,117] let s:lib.Codec.encoding_table["1105"] = [132,118] let s:lib.Codec.encoding_table["1078"] = [132,119] let s:lib.Codec.encoding_table["1079"] = [132,120] let s:lib.Codec.encoding_table["1080"] = [132,121] let s:lib.Codec.encoding_table["1081"] = [132,122] let s:lib.Codec.encoding_table["1082"] = [132,123] let s:lib.Codec.encoding_table["1083"] = [132,124] let s:lib.Codec.encoding_table["1084"] = [132,125] let s:lib.Codec.encoding_table["1085"] = [132,126] let s:lib.Codec.encoding_table["1086"] = [132,128] let s:lib.Codec.encoding_table["1087"] = [132,129] let s:lib.Codec.encoding_table["1088"] = [132,130] let s:lib.Codec.encoding_table["1089"] = [132,131] let s:lib.Codec.encoding_table["1090"] = [132,132] let s:lib.Codec.encoding_table["1091"] = [132,133] let s:lib.Codec.encoding_table["1092"] = [132,134] let s:lib.Codec.encoding_table["1093"] = [132,135] let s:lib.Codec.encoding_table["1094"] = [132,136] let s:lib.Codec.encoding_table["1095"] = [132,137] let s:lib.Codec.encoding_table["1096"] = [132,138] let s:lib.Codec.encoding_table["1097"] = [132,139] let s:lib.Codec.encoding_table["1098"] = [132,140] let s:lib.Codec.encoding_table["1099"] = [132,141] let s:lib.Codec.encoding_table["1100"] = [132,142] let s:lib.Codec.encoding_table["1101"] = [132,143] let s:lib.Codec.encoding_table["1102"] = [132,144] let s:lib.Codec.encoding_table["1103"] = [132,145] let s:lib.Codec.encoding_table["9472"] = [132,159] let s:lib.Codec.encoding_table["9474"] = [132,160] let s:lib.Codec.encoding_table["9484"] = [132,161] let s:lib.Codec.encoding_table["9488"] = [132,162] let s:lib.Codec.encoding_table["9496"] = [132,163] let s:lib.Codec.encoding_table["9492"] = [132,164] let s:lib.Codec.encoding_table["9500"] = [132,165] let s:lib.Codec.encoding_table["9516"] = [132,166] let s:lib.Codec.encoding_table["9508"] = [132,167] let s:lib.Codec.encoding_table["9524"] = [132,168] let s:lib.Codec.encoding_table["9532"] = [132,169] let s:lib.Codec.encoding_table["9473"] = [132,170] let s:lib.Codec.encoding_table["9475"] = [132,171] let s:lib.Codec.encoding_table["9487"] = [132,172] let s:lib.Codec.encoding_table["9491"] = [132,173] let s:lib.Codec.encoding_table["9499"] = [132,174] let s:lib.Codec.encoding_table["9495"] = [132,175] let s:lib.Codec.encoding_table["9507"] = [132,176] let s:lib.Codec.encoding_table["9523"] = [132,177] let s:lib.Codec.encoding_table["9515"] = [132,178] let s:lib.Codec.encoding_table["9531"] = [132,179] let s:lib.Codec.encoding_table["9547"] = [132,180] let s:lib.Codec.encoding_table["9504"] = [132,181] let s:lib.Codec.encoding_table["9519"] = [132,182] let s:lib.Codec.encoding_table["9512"] = [132,183] let s:lib.Codec.encoding_table["9527"] = [132,184] let s:lib.Codec.encoding_table["9535"] = [132,185] let s:lib.Codec.encoding_table["9501"] = [132,186] let s:lib.Codec.encoding_table["9520"] = [132,187] let s:lib.Codec.encoding_table["9509"] = [132,188] let s:lib.Codec.encoding_table["9528"] = [132,189] let s:lib.Codec.encoding_table["9538"] = [132,190] let s:lib.Codec.encoding_table["9312"] = [135,64] let s:lib.Codec.encoding_table["9313"] = [135,65] let s:lib.Codec.encoding_table["9314"] = [135,66] let s:lib.Codec.encoding_table["9315"] = [135,67] let s:lib.Codec.encoding_table["9316"] = [135,68] let s:lib.Codec.encoding_table["9317"] = [135,69] let s:lib.Codec.encoding_table["9318"] = [135,70] let s:lib.Codec.encoding_table["9319"] = [135,71] let s:lib.Codec.encoding_table["9320"] = [135,72] let s:lib.Codec.encoding_table["9321"] = [135,73] let s:lib.Codec.encoding_table["9322"] = [135,74] let s:lib.Codec.encoding_table["9323"] = [135,75] let s:lib.Codec.encoding_table["9324"] = [135,76] let s:lib.Codec.encoding_table["9325"] = [135,77] let s:lib.Codec.encoding_table["9326"] = [135,78] let s:lib.Codec.encoding_table["9327"] = [135,79] let s:lib.Codec.encoding_table["9328"] = [135,80] let s:lib.Codec.encoding_table["9329"] = [135,81] let s:lib.Codec.encoding_table["9330"] = [135,82] let s:lib.Codec.encoding_table["9331"] = [135,83] let s:lib.Codec.encoding_table["8544"] = [135,84] let s:lib.Codec.encoding_table["8545"] = [135,85] let s:lib.Codec.encoding_table["8546"] = [135,86] let s:lib.Codec.encoding_table["8547"] = [135,87] let s:lib.Codec.encoding_table["8548"] = [135,88] let s:lib.Codec.encoding_table["8549"] = [135,89] let s:lib.Codec.encoding_table["8550"] = [135,90] let s:lib.Codec.encoding_table["8551"] = [135,91] let s:lib.Codec.encoding_table["8552"] = [135,92] let s:lib.Codec.encoding_table["8553"] = [135,93] let s:lib.Codec.encoding_table["13129"] = [135,95] let s:lib.Codec.encoding_table["13076"] = [135,96] let s:lib.Codec.encoding_table["13090"] = [135,97] let s:lib.Codec.encoding_table["13133"] = [135,98] let s:lib.Codec.encoding_table["13080"] = [135,99] let s:lib.Codec.encoding_table["13095"] = [135,100] let s:lib.Codec.encoding_table["13059"] = [135,101] let s:lib.Codec.encoding_table["13110"] = [135,102] let s:lib.Codec.encoding_table["13137"] = [135,103] let s:lib.Codec.encoding_table["13143"] = [135,104] let s:lib.Codec.encoding_table["13069"] = [135,105] let s:lib.Codec.encoding_table["13094"] = [135,106] let s:lib.Codec.encoding_table["13091"] = [135,107] let s:lib.Codec.encoding_table["13099"] = [135,108] let s:lib.Codec.encoding_table["13130"] = [135,109] let s:lib.Codec.encoding_table["13115"] = [135,110] let s:lib.Codec.encoding_table["13212"] = [135,111] let s:lib.Codec.encoding_table["13213"] = [135,112] let s:lib.Codec.encoding_table["13214"] = [135,113] let s:lib.Codec.encoding_table["13198"] = [135,114] let s:lib.Codec.encoding_table["13199"] = [135,115] let s:lib.Codec.encoding_table["13252"] = [135,116] let s:lib.Codec.encoding_table["13217"] = [135,117] let s:lib.Codec.encoding_table["13179"] = [135,126] let s:lib.Codec.encoding_table["12317"] = [135,128] let s:lib.Codec.encoding_table["12319"] = [135,129] let s:lib.Codec.encoding_table["8470"] = [135,130] let s:lib.Codec.encoding_table["13261"] = [135,131] let s:lib.Codec.encoding_table["8481"] = [135,132] let s:lib.Codec.encoding_table["12964"] = [135,133] let s:lib.Codec.encoding_table["12965"] = [135,134] let s:lib.Codec.encoding_table["12966"] = [135,135] let s:lib.Codec.encoding_table["12967"] = [135,136] let s:lib.Codec.encoding_table["12968"] = [135,137] let s:lib.Codec.encoding_table["12849"] = [135,138] let s:lib.Codec.encoding_table["12850"] = [135,139] let s:lib.Codec.encoding_table["12857"] = [135,140] let s:lib.Codec.encoding_table["13182"] = [135,141] let s:lib.Codec.encoding_table["13181"] = [135,142] let s:lib.Codec.encoding_table["13180"] = [135,143] let s:lib.Codec.encoding_table["8750"] = [135,147] let s:lib.Codec.encoding_table["8721"] = [135,148] let s:lib.Codec.encoding_table["8735"] = [135,152] let s:lib.Codec.encoding_table["8895"] = [135,153] let s:lib.Codec.encoding_table["20124"] = [136,159] let s:lib.Codec.encoding_table["21782"] = [136,160] let s:lib.Codec.encoding_table["23043"] = [136,161] let s:lib.Codec.encoding_table["38463"] = [136,162] let s:lib.Codec.encoding_table["21696"] = [136,163] let s:lib.Codec.encoding_table["24859"] = [136,164] let s:lib.Codec.encoding_table["25384"] = [136,165] let s:lib.Codec.encoding_table["23030"] = [136,166] let s:lib.Codec.encoding_table["36898"] = [136,167] let s:lib.Codec.encoding_table["33909"] = [136,168] let s:lib.Codec.encoding_table["33564"] = [136,169] let s:lib.Codec.encoding_table["31312"] = [136,170] let s:lib.Codec.encoding_table["24746"] = [136,171] let s:lib.Codec.encoding_table["25569"] = [136,172] let s:lib.Codec.encoding_table["28197"] = [136,173] let s:lib.Codec.encoding_table["26093"] = [136,174] let s:lib.Codec.encoding_table["33894"] = [136,175] let s:lib.Codec.encoding_table["33446"] = [136,176] let s:lib.Codec.encoding_table["39925"] = [136,177] let s:lib.Codec.encoding_table["26771"] = [136,178] let s:lib.Codec.encoding_table["22311"] = [136,179] let s:lib.Codec.encoding_table["26017"] = [136,180] let s:lib.Codec.encoding_table["25201"] = [136,181] let s:lib.Codec.encoding_table["23451"] = [136,182] let s:lib.Codec.encoding_table["22992"] = [136,183] let s:lib.Codec.encoding_table["34427"] = [136,184] let s:lib.Codec.encoding_table["39156"] = [136,185] let s:lib.Codec.encoding_table["32098"] = [136,186] let s:lib.Codec.encoding_table["32190"] = [136,187] let s:lib.Codec.encoding_table["39822"] = [136,188] let s:lib.Codec.encoding_table["25110"] = [136,189] let s:lib.Codec.encoding_table["31903"] = [136,190] let s:lib.Codec.encoding_table["34999"] = [136,191] let s:lib.Codec.encoding_table["23433"] = [136,192] let s:lib.Codec.encoding_table["24245"] = [136,193] let s:lib.Codec.encoding_table["25353"] = [136,194] let s:lib.Codec.encoding_table["26263"] = [136,195] let s:lib.Codec.encoding_table["26696"] = [136,196] let s:lib.Codec.encoding_table["38343"] = [136,197] let s:lib.Codec.encoding_table["38797"] = [136,198] let s:lib.Codec.encoding_table["26447"] = [136,199] let s:lib.Codec.encoding_table["20197"] = [136,200] let s:lib.Codec.encoding_table["20234"] = [136,201] let s:lib.Codec.encoding_table["20301"] = [136,202] let s:lib.Codec.encoding_table["20381"] = [136,203] let s:lib.Codec.encoding_table["20553"] = [136,204] let s:lib.Codec.encoding_table["22258"] = [136,205] let s:lib.Codec.encoding_table["22839"] = [136,206] let s:lib.Codec.encoding_table["22996"] = [136,207] let s:lib.Codec.encoding_table["23041"] = [136,208] let s:lib.Codec.encoding_table["23561"] = [136,209] let s:lib.Codec.encoding_table["24799"] = [136,210] let s:lib.Codec.encoding_table["24847"] = [136,211] let s:lib.Codec.encoding_table["24944"] = [136,212] let s:lib.Codec.encoding_table["26131"] = [136,213] let s:lib.Codec.encoding_table["26885"] = [136,214] let s:lib.Codec.encoding_table["28858"] = [136,215] let s:lib.Codec.encoding_table["30031"] = [136,216] let s:lib.Codec.encoding_table["30064"] = [136,217] let s:lib.Codec.encoding_table["31227"] = [136,218] let s:lib.Codec.encoding_table["32173"] = [136,219] let s:lib.Codec.encoding_table["32239"] = [136,220] let s:lib.Codec.encoding_table["32963"] = [136,221] let s:lib.Codec.encoding_table["33806"] = [136,222] let s:lib.Codec.encoding_table["34915"] = [136,223] let s:lib.Codec.encoding_table["35586"] = [136,224] let s:lib.Codec.encoding_table["36949"] = [136,225] let s:lib.Codec.encoding_table["36986"] = [136,226] let s:lib.Codec.encoding_table["21307"] = [136,227] let s:lib.Codec.encoding_table["20117"] = [136,228] let s:lib.Codec.encoding_table["20133"] = [136,229] let s:lib.Codec.encoding_table["22495"] = [136,230] let s:lib.Codec.encoding_table["32946"] = [136,231] let s:lib.Codec.encoding_table["37057"] = [136,232] let s:lib.Codec.encoding_table["30959"] = [136,233] let s:lib.Codec.encoding_table["19968"] = [136,234] let s:lib.Codec.encoding_table["22769"] = [136,235] let s:lib.Codec.encoding_table["28322"] = [136,236] let s:lib.Codec.encoding_table["36920"] = [136,237] let s:lib.Codec.encoding_table["31282"] = [136,238] let s:lib.Codec.encoding_table["33576"] = [136,239] let s:lib.Codec.encoding_table["33419"] = [136,240] let s:lib.Codec.encoding_table["39983"] = [136,241] let s:lib.Codec.encoding_table["20801"] = [136,242] let s:lib.Codec.encoding_table["21360"] = [136,243] let s:lib.Codec.encoding_table["21693"] = [136,244] let s:lib.Codec.encoding_table["21729"] = [136,245] let s:lib.Codec.encoding_table["22240"] = [136,246] let s:lib.Codec.encoding_table["23035"] = [136,247] let s:lib.Codec.encoding_table["24341"] = [136,248] let s:lib.Codec.encoding_table["39154"] = [136,249] let s:lib.Codec.encoding_table["28139"] = [136,250] let s:lib.Codec.encoding_table["32996"] = [136,251] let s:lib.Codec.encoding_table["34093"] = [136,252] let s:lib.Codec.encoding_table["38498"] = [137,64] let s:lib.Codec.encoding_table["38512"] = [137,65] let s:lib.Codec.encoding_table["38560"] = [137,66] let s:lib.Codec.encoding_table["38907"] = [137,67] let s:lib.Codec.encoding_table["21515"] = [137,68] let s:lib.Codec.encoding_table["21491"] = [137,69] let s:lib.Codec.encoding_table["23431"] = [137,70] let s:lib.Codec.encoding_table["28879"] = [137,71] let s:lib.Codec.encoding_table["32701"] = [137,72] let s:lib.Codec.encoding_table["36802"] = [137,73] let s:lib.Codec.encoding_table["38632"] = [137,74] let s:lib.Codec.encoding_table["21359"] = [137,75] let s:lib.Codec.encoding_table["40284"] = [137,76] let s:lib.Codec.encoding_table["31418"] = [137,77] let s:lib.Codec.encoding_table["19985"] = [137,78] let s:lib.Codec.encoding_table["30867"] = [137,79] let s:lib.Codec.encoding_table["33276"] = [137,80] let s:lib.Codec.encoding_table["28198"] = [137,81] let s:lib.Codec.encoding_table["22040"] = [137,82] let s:lib.Codec.encoding_table["21764"] = [137,83] let s:lib.Codec.encoding_table["27421"] = [137,84] let s:lib.Codec.encoding_table["34074"] = [137,85] let s:lib.Codec.encoding_table["39995"] = [137,86] let s:lib.Codec.encoding_table["23013"] = [137,87] let s:lib.Codec.encoding_table["21417"] = [137,88] let s:lib.Codec.encoding_table["28006"] = [137,89] let s:lib.Codec.encoding_table["29916"] = [137,90] let s:lib.Codec.encoding_table["38287"] = [137,91] let s:lib.Codec.encoding_table["22082"] = [137,92] let s:lib.Codec.encoding_table["20113"] = [137,93] let s:lib.Codec.encoding_table["36939"] = [137,94] let s:lib.Codec.encoding_table["38642"] = [137,95] let s:lib.Codec.encoding_table["33615"] = [137,96] let s:lib.Codec.encoding_table["39180"] = [137,97] let s:lib.Codec.encoding_table["21473"] = [137,98] let s:lib.Codec.encoding_table["21942"] = [137,99] let s:lib.Codec.encoding_table["23344"] = [137,100] let s:lib.Codec.encoding_table["24433"] = [137,101] let s:lib.Codec.encoding_table["26144"] = [137,102] let s:lib.Codec.encoding_table["26355"] = [137,103] let s:lib.Codec.encoding_table["26628"] = [137,104] let s:lib.Codec.encoding_table["27704"] = [137,105] let s:lib.Codec.encoding_table["27891"] = [137,106] let s:lib.Codec.encoding_table["27945"] = [137,107] let s:lib.Codec.encoding_table["29787"] = [137,108] let s:lib.Codec.encoding_table["30408"] = [137,109] let s:lib.Codec.encoding_table["31310"] = [137,110] let s:lib.Codec.encoding_table["38964"] = [137,111] let s:lib.Codec.encoding_table["33521"] = [137,112] let s:lib.Codec.encoding_table["34907"] = [137,113] let s:lib.Codec.encoding_table["35424"] = [137,114] let s:lib.Codec.encoding_table["37613"] = [137,115] let s:lib.Codec.encoding_table["28082"] = [137,116] let s:lib.Codec.encoding_table["30123"] = [137,117] let s:lib.Codec.encoding_table["30410"] = [137,118] let s:lib.Codec.encoding_table["39365"] = [137,119] let s:lib.Codec.encoding_table["24742"] = [137,120] let s:lib.Codec.encoding_table["35585"] = [137,121] let s:lib.Codec.encoding_table["36234"] = [137,122] let s:lib.Codec.encoding_table["38322"] = [137,123] let s:lib.Codec.encoding_table["27022"] = [137,124] let s:lib.Codec.encoding_table["21421"] = [137,125] let s:lib.Codec.encoding_table["20870"] = [137,126] let s:lib.Codec.encoding_table["22290"] = [137,128] let s:lib.Codec.encoding_table["22576"] = [137,129] let s:lib.Codec.encoding_table["22852"] = [137,130] let s:lib.Codec.encoding_table["23476"] = [137,131] let s:lib.Codec.encoding_table["24310"] = [137,132] let s:lib.Codec.encoding_table["24616"] = [137,133] let s:lib.Codec.encoding_table["25513"] = [137,134] let s:lib.Codec.encoding_table["25588"] = [137,135] let s:lib.Codec.encoding_table["27839"] = [137,136] let s:lib.Codec.encoding_table["28436"] = [137,137] let s:lib.Codec.encoding_table["28814"] = [137,138] let s:lib.Codec.encoding_table["28948"] = [137,139] let s:lib.Codec.encoding_table["29017"] = [137,140] let s:lib.Codec.encoding_table["29141"] = [137,141] let s:lib.Codec.encoding_table["29503"] = [137,142] let s:lib.Codec.encoding_table["32257"] = [137,143] let s:lib.Codec.encoding_table["33398"] = [137,144] let s:lib.Codec.encoding_table["33489"] = [137,145] let s:lib.Codec.encoding_table["34199"] = [137,146] let s:lib.Codec.encoding_table["36960"] = [137,147] let s:lib.Codec.encoding_table["37467"] = [137,148] let s:lib.Codec.encoding_table["40219"] = [137,149] let s:lib.Codec.encoding_table["22633"] = [137,150] let s:lib.Codec.encoding_table["26044"] = [137,151] let s:lib.Codec.encoding_table["27738"] = [137,152] let s:lib.Codec.encoding_table["29989"] = [137,153] let s:lib.Codec.encoding_table["20985"] = [137,154] let s:lib.Codec.encoding_table["22830"] = [137,155] let s:lib.Codec.encoding_table["22885"] = [137,156] let s:lib.Codec.encoding_table["24448"] = [137,157] let s:lib.Codec.encoding_table["24540"] = [137,158] let s:lib.Codec.encoding_table["25276"] = [137,159] let s:lib.Codec.encoding_table["26106"] = [137,160] let s:lib.Codec.encoding_table["27178"] = [137,161] let s:lib.Codec.encoding_table["27431"] = [137,162] let s:lib.Codec.encoding_table["27572"] = [137,163] let s:lib.Codec.encoding_table["29579"] = [137,164] let s:lib.Codec.encoding_table["32705"] = [137,165] let s:lib.Codec.encoding_table["35158"] = [137,166] let s:lib.Codec.encoding_table["40236"] = [137,167] let s:lib.Codec.encoding_table["40206"] = [137,168] let s:lib.Codec.encoding_table["40644"] = [137,169] let s:lib.Codec.encoding_table["23713"] = [137,170] let s:lib.Codec.encoding_table["27798"] = [137,171] let s:lib.Codec.encoding_table["33659"] = [137,172] let s:lib.Codec.encoding_table["20740"] = [137,173] let s:lib.Codec.encoding_table["23627"] = [137,174] let s:lib.Codec.encoding_table["25014"] = [137,175] let s:lib.Codec.encoding_table["33222"] = [137,176] let s:lib.Codec.encoding_table["26742"] = [137,177] let s:lib.Codec.encoding_table["29281"] = [137,178] let s:lib.Codec.encoding_table["20057"] = [137,179] let s:lib.Codec.encoding_table["20474"] = [137,180] let s:lib.Codec.encoding_table["21368"] = [137,181] let s:lib.Codec.encoding_table["24681"] = [137,182] let s:lib.Codec.encoding_table["28201"] = [137,183] let s:lib.Codec.encoding_table["31311"] = [137,184] let s:lib.Codec.encoding_table["38899"] = [137,185] let s:lib.Codec.encoding_table["19979"] = [137,186] let s:lib.Codec.encoding_table["21270"] = [137,187] let s:lib.Codec.encoding_table["20206"] = [137,188] let s:lib.Codec.encoding_table["20309"] = [137,189] let s:lib.Codec.encoding_table["20285"] = [137,190] let s:lib.Codec.encoding_table["20385"] = [137,191] let s:lib.Codec.encoding_table["20339"] = [137,192] let s:lib.Codec.encoding_table["21152"] = [137,193] let s:lib.Codec.encoding_table["21487"] = [137,194] let s:lib.Codec.encoding_table["22025"] = [137,195] let s:lib.Codec.encoding_table["22799"] = [137,196] let s:lib.Codec.encoding_table["23233"] = [137,197] let s:lib.Codec.encoding_table["23478"] = [137,198] let s:lib.Codec.encoding_table["23521"] = [137,199] let s:lib.Codec.encoding_table["31185"] = [137,200] let s:lib.Codec.encoding_table["26247"] = [137,201] let s:lib.Codec.encoding_table["26524"] = [137,202] let s:lib.Codec.encoding_table["26550"] = [137,203] let s:lib.Codec.encoding_table["27468"] = [137,204] let s:lib.Codec.encoding_table["27827"] = [137,205] let s:lib.Codec.encoding_table["28779"] = [137,206] let s:lib.Codec.encoding_table["29634"] = [137,207] let s:lib.Codec.encoding_table["31117"] = [137,208] let s:lib.Codec.encoding_table["31166"] = [137,209] let s:lib.Codec.encoding_table["31292"] = [137,210] let s:lib.Codec.encoding_table["31623"] = [137,211] let s:lib.Codec.encoding_table["33457"] = [137,212] let s:lib.Codec.encoding_table["33499"] = [137,213] let s:lib.Codec.encoding_table["33540"] = [137,214] let s:lib.Codec.encoding_table["33655"] = [137,215] let s:lib.Codec.encoding_table["33775"] = [137,216] let s:lib.Codec.encoding_table["33747"] = [137,217] let s:lib.Codec.encoding_table["34662"] = [137,218] let s:lib.Codec.encoding_table["35506"] = [137,219] let s:lib.Codec.encoding_table["22057"] = [137,220] let s:lib.Codec.encoding_table["36008"] = [137,221] let s:lib.Codec.encoding_table["36838"] = [137,222] let s:lib.Codec.encoding_table["36942"] = [137,223] let s:lib.Codec.encoding_table["38686"] = [137,224] let s:lib.Codec.encoding_table["34442"] = [137,225] let s:lib.Codec.encoding_table["20420"] = [137,226] let s:lib.Codec.encoding_table["23784"] = [137,227] let s:lib.Codec.encoding_table["25105"] = [137,228] let s:lib.Codec.encoding_table["29273"] = [137,229] let s:lib.Codec.encoding_table["30011"] = [137,230] let s:lib.Codec.encoding_table["33253"] = [137,231] let s:lib.Codec.encoding_table["33469"] = [137,232] let s:lib.Codec.encoding_table["34558"] = [137,233] let s:lib.Codec.encoding_table["36032"] = [137,234] let s:lib.Codec.encoding_table["38597"] = [137,235] let s:lib.Codec.encoding_table["39187"] = [137,236] let s:lib.Codec.encoding_table["39381"] = [137,237] let s:lib.Codec.encoding_table["20171"] = [137,238] let s:lib.Codec.encoding_table["20250"] = [137,239] let s:lib.Codec.encoding_table["35299"] = [137,240] let s:lib.Codec.encoding_table["22238"] = [137,241] let s:lib.Codec.encoding_table["22602"] = [137,242] let s:lib.Codec.encoding_table["22730"] = [137,243] let s:lib.Codec.encoding_table["24315"] = [137,244] let s:lib.Codec.encoding_table["24555"] = [137,245] let s:lib.Codec.encoding_table["24618"] = [137,246] let s:lib.Codec.encoding_table["24724"] = [137,247] let s:lib.Codec.encoding_table["24674"] = [137,248] let s:lib.Codec.encoding_table["25040"] = [137,249] let s:lib.Codec.encoding_table["25106"] = [137,250] let s:lib.Codec.encoding_table["25296"] = [137,251] let s:lib.Codec.encoding_table["25913"] = [137,252] let s:lib.Codec.encoding_table["39745"] = [138,64] let s:lib.Codec.encoding_table["26214"] = [138,65] let s:lib.Codec.encoding_table["26800"] = [138,66] let s:lib.Codec.encoding_table["28023"] = [138,67] let s:lib.Codec.encoding_table["28784"] = [138,68] let s:lib.Codec.encoding_table["30028"] = [138,69] let s:lib.Codec.encoding_table["30342"] = [138,70] let s:lib.Codec.encoding_table["32117"] = [138,71] let s:lib.Codec.encoding_table["33445"] = [138,72] let s:lib.Codec.encoding_table["34809"] = [138,73] let s:lib.Codec.encoding_table["38283"] = [138,74] let s:lib.Codec.encoding_table["38542"] = [138,75] let s:lib.Codec.encoding_table["35997"] = [138,76] let s:lib.Codec.encoding_table["20977"] = [138,77] let s:lib.Codec.encoding_table["21182"] = [138,78] let s:lib.Codec.encoding_table["22806"] = [138,79] let s:lib.Codec.encoding_table["21683"] = [138,80] let s:lib.Codec.encoding_table["23475"] = [138,81] let s:lib.Codec.encoding_table["23830"] = [138,82] let s:lib.Codec.encoding_table["24936"] = [138,83] let s:lib.Codec.encoding_table["27010"] = [138,84] let s:lib.Codec.encoding_table["28079"] = [138,85] let s:lib.Codec.encoding_table["30861"] = [138,86] let s:lib.Codec.encoding_table["33995"] = [138,87] let s:lib.Codec.encoding_table["34903"] = [138,88] let s:lib.Codec.encoding_table["35442"] = [138,89] let s:lib.Codec.encoding_table["37799"] = [138,90] let s:lib.Codec.encoding_table["39608"] = [138,91] let s:lib.Codec.encoding_table["28012"] = [138,92] let s:lib.Codec.encoding_table["39336"] = [138,93] let s:lib.Codec.encoding_table["34521"] = [138,94] let s:lib.Codec.encoding_table["22435"] = [138,95] let s:lib.Codec.encoding_table["26623"] = [138,96] let s:lib.Codec.encoding_table["34510"] = [138,97] let s:lib.Codec.encoding_table["37390"] = [138,98] let s:lib.Codec.encoding_table["21123"] = [138,99] let s:lib.Codec.encoding_table["22151"] = [138,100] let s:lib.Codec.encoding_table["21508"] = [138,101] let s:lib.Codec.encoding_table["24275"] = [138,102] let s:lib.Codec.encoding_table["25313"] = [138,103] let s:lib.Codec.encoding_table["25785"] = [138,104] let s:lib.Codec.encoding_table["26684"] = [138,105] let s:lib.Codec.encoding_table["26680"] = [138,106] let s:lib.Codec.encoding_table["27579"] = [138,107] let s:lib.Codec.encoding_table["29554"] = [138,108] let s:lib.Codec.encoding_table["30906"] = [138,109] let s:lib.Codec.encoding_table["31339"] = [138,110] let s:lib.Codec.encoding_table["35226"] = [138,111] let s:lib.Codec.encoding_table["35282"] = [138,112] let s:lib.Codec.encoding_table["36203"] = [138,113] let s:lib.Codec.encoding_table["36611"] = [138,114] let s:lib.Codec.encoding_table["37101"] = [138,115] let s:lib.Codec.encoding_table["38307"] = [138,116] let s:lib.Codec.encoding_table["38548"] = [138,117] let s:lib.Codec.encoding_table["38761"] = [138,118] let s:lib.Codec.encoding_table["23398"] = [138,119] let s:lib.Codec.encoding_table["23731"] = [138,120] let s:lib.Codec.encoding_table["27005"] = [138,121] let s:lib.Codec.encoding_table["38989"] = [138,122] let s:lib.Codec.encoding_table["38990"] = [138,123] let s:lib.Codec.encoding_table["25499"] = [138,124] let s:lib.Codec.encoding_table["31520"] = [138,125] let s:lib.Codec.encoding_table["27179"] = [138,126] let s:lib.Codec.encoding_table["27263"] = [138,128] let s:lib.Codec.encoding_table["26806"] = [138,129] let s:lib.Codec.encoding_table["39949"] = [138,130] let s:lib.Codec.encoding_table["28511"] = [138,131] let s:lib.Codec.encoding_table["21106"] = [138,132] let s:lib.Codec.encoding_table["21917"] = [138,133] let s:lib.Codec.encoding_table["24688"] = [138,134] let s:lib.Codec.encoding_table["25324"] = [138,135] let s:lib.Codec.encoding_table["27963"] = [138,136] let s:lib.Codec.encoding_table["28167"] = [138,137] let s:lib.Codec.encoding_table["28369"] = [138,138] let s:lib.Codec.encoding_table["33883"] = [138,139] let s:lib.Codec.encoding_table["35088"] = [138,140] let s:lib.Codec.encoding_table["36676"] = [138,141] let s:lib.Codec.encoding_table["19988"] = [138,142] let s:lib.Codec.encoding_table["39993"] = [138,143] let s:lib.Codec.encoding_table["21494"] = [138,144] let s:lib.Codec.encoding_table["26907"] = [138,145] let s:lib.Codec.encoding_table["27194"] = [138,146] let s:lib.Codec.encoding_table["38788"] = [138,147] let s:lib.Codec.encoding_table["26666"] = [138,148] let s:lib.Codec.encoding_table["20828"] = [138,149] let s:lib.Codec.encoding_table["31427"] = [138,150] let s:lib.Codec.encoding_table["33970"] = [138,151] let s:lib.Codec.encoding_table["37340"] = [138,152] let s:lib.Codec.encoding_table["37772"] = [138,153] let s:lib.Codec.encoding_table["22107"] = [138,154] let s:lib.Codec.encoding_table["40232"] = [138,155] let s:lib.Codec.encoding_table["26658"] = [138,156] let s:lib.Codec.encoding_table["33541"] = [138,157] let s:lib.Codec.encoding_table["33841"] = [138,158] let s:lib.Codec.encoding_table["31909"] = [138,159] let s:lib.Codec.encoding_table["21000"] = [138,160] let s:lib.Codec.encoding_table["33477"] = [138,161] let s:lib.Codec.encoding_table["29926"] = [138,162] let s:lib.Codec.encoding_table["20094"] = [138,163] let s:lib.Codec.encoding_table["20355"] = [138,164] let s:lib.Codec.encoding_table["20896"] = [138,165] let s:lib.Codec.encoding_table["23506"] = [138,166] let s:lib.Codec.encoding_table["21002"] = [138,167] let s:lib.Codec.encoding_table["21208"] = [138,168] let s:lib.Codec.encoding_table["21223"] = [138,169] let s:lib.Codec.encoding_table["24059"] = [138,170] let s:lib.Codec.encoding_table["21914"] = [138,171] let s:lib.Codec.encoding_table["22570"] = [138,172] let s:lib.Codec.encoding_table["23014"] = [138,173] let s:lib.Codec.encoding_table["23436"] = [138,174] let s:lib.Codec.encoding_table["23448"] = [138,175] let s:lib.Codec.encoding_table["23515"] = [138,176] let s:lib.Codec.encoding_table["24178"] = [138,177] let s:lib.Codec.encoding_table["24185"] = [138,178] let s:lib.Codec.encoding_table["24739"] = [138,179] let s:lib.Codec.encoding_table["24863"] = [138,180] let s:lib.Codec.encoding_table["24931"] = [138,181] let s:lib.Codec.encoding_table["25022"] = [138,182] let s:lib.Codec.encoding_table["25563"] = [138,183] let s:lib.Codec.encoding_table["25954"] = [138,184] let s:lib.Codec.encoding_table["26577"] = [138,185] let s:lib.Codec.encoding_table["26707"] = [138,186] let s:lib.Codec.encoding_table["26874"] = [138,187] let s:lib.Codec.encoding_table["27454"] = [138,188] let s:lib.Codec.encoding_table["27475"] = [138,189] let s:lib.Codec.encoding_table["27735"] = [138,190] let s:lib.Codec.encoding_table["28450"] = [138,191] let s:lib.Codec.encoding_table["28567"] = [138,192] let s:lib.Codec.encoding_table["28485"] = [138,193] let s:lib.Codec.encoding_table["29872"] = [138,194] let s:lib.Codec.encoding_table["29976"] = [138,195] let s:lib.Codec.encoding_table["30435"] = [138,196] let s:lib.Codec.encoding_table["30475"] = [138,197] let s:lib.Codec.encoding_table["31487"] = [138,198] let s:lib.Codec.encoding_table["31649"] = [138,199] let s:lib.Codec.encoding_table["31777"] = [138,200] let s:lib.Codec.encoding_table["32233"] = [138,201] let s:lib.Codec.encoding_table["32566"] = [138,202] let s:lib.Codec.encoding_table["32752"] = [138,203] let s:lib.Codec.encoding_table["32925"] = [138,204] let s:lib.Codec.encoding_table["33382"] = [138,205] let s:lib.Codec.encoding_table["33694"] = [138,206] let s:lib.Codec.encoding_table["35251"] = [138,207] let s:lib.Codec.encoding_table["35532"] = [138,208] let s:lib.Codec.encoding_table["36011"] = [138,209] let s:lib.Codec.encoding_table["36996"] = [138,210] let s:lib.Codec.encoding_table["37969"] = [138,211] let s:lib.Codec.encoding_table["38291"] = [138,212] let s:lib.Codec.encoding_table["38289"] = [138,213] let s:lib.Codec.encoding_table["38306"] = [138,214] let s:lib.Codec.encoding_table["38501"] = [138,215] let s:lib.Codec.encoding_table["38867"] = [138,216] let s:lib.Codec.encoding_table["39208"] = [138,217] let s:lib.Codec.encoding_table["33304"] = [138,218] let s:lib.Codec.encoding_table["20024"] = [138,219] let s:lib.Codec.encoding_table["21547"] = [138,220] let s:lib.Codec.encoding_table["23736"] = [138,221] let s:lib.Codec.encoding_table["24012"] = [138,222] let s:lib.Codec.encoding_table["29609"] = [138,223] let s:lib.Codec.encoding_table["30284"] = [138,224] let s:lib.Codec.encoding_table["30524"] = [138,225] let s:lib.Codec.encoding_table["23721"] = [138,226] let s:lib.Codec.encoding_table["32747"] = [138,227] let s:lib.Codec.encoding_table["36107"] = [138,228] let s:lib.Codec.encoding_table["38593"] = [138,229] let s:lib.Codec.encoding_table["38929"] = [138,230] let s:lib.Codec.encoding_table["38996"] = [138,231] let s:lib.Codec.encoding_table["39000"] = [138,232] let s:lib.Codec.encoding_table["20225"] = [138,233] let s:lib.Codec.encoding_table["20238"] = [138,234] let s:lib.Codec.encoding_table["21361"] = [138,235] let s:lib.Codec.encoding_table["21916"] = [138,236] let s:lib.Codec.encoding_table["22120"] = [138,237] let s:lib.Codec.encoding_table["22522"] = [138,238] let s:lib.Codec.encoding_table["22855"] = [138,239] let s:lib.Codec.encoding_table["23305"] = [138,240] let s:lib.Codec.encoding_table["23492"] = [138,241] let s:lib.Codec.encoding_table["23696"] = [138,242] let s:lib.Codec.encoding_table["24076"] = [138,243] let s:lib.Codec.encoding_table["24190"] = [138,244] let s:lib.Codec.encoding_table["24524"] = [138,245] let s:lib.Codec.encoding_table["25582"] = [138,246] let s:lib.Codec.encoding_table["26426"] = [138,247] let s:lib.Codec.encoding_table["26071"] = [138,248] let s:lib.Codec.encoding_table["26082"] = [138,249] let s:lib.Codec.encoding_table["26399"] = [138,250] let s:lib.Codec.encoding_table["26827"] = [138,251] let s:lib.Codec.encoding_table["26820"] = [138,252] let s:lib.Codec.encoding_table["27231"] = [139,64] let s:lib.Codec.encoding_table["24112"] = [139,65] let s:lib.Codec.encoding_table["27589"] = [139,66] let s:lib.Codec.encoding_table["27671"] = [139,67] let s:lib.Codec.encoding_table["27773"] = [139,68] let s:lib.Codec.encoding_table["30079"] = [139,69] let s:lib.Codec.encoding_table["31048"] = [139,70] let s:lib.Codec.encoding_table["23395"] = [139,71] let s:lib.Codec.encoding_table["31232"] = [139,72] let s:lib.Codec.encoding_table["32000"] = [139,73] let s:lib.Codec.encoding_table["24509"] = [139,74] let s:lib.Codec.encoding_table["35215"] = [139,75] let s:lib.Codec.encoding_table["35352"] = [139,76] let s:lib.Codec.encoding_table["36020"] = [139,77] let s:lib.Codec.encoding_table["36215"] = [139,78] let s:lib.Codec.encoding_table["36556"] = [139,79] let s:lib.Codec.encoding_table["36637"] = [139,80] let s:lib.Codec.encoding_table["39138"] = [139,81] let s:lib.Codec.encoding_table["39438"] = [139,82] let s:lib.Codec.encoding_table["39740"] = [139,83] let s:lib.Codec.encoding_table["20096"] = [139,84] let s:lib.Codec.encoding_table["20605"] = [139,85] let s:lib.Codec.encoding_table["20736"] = [139,86] let s:lib.Codec.encoding_table["22931"] = [139,87] let s:lib.Codec.encoding_table["23452"] = [139,88] let s:lib.Codec.encoding_table["25135"] = [139,89] let s:lib.Codec.encoding_table["25216"] = [139,90] let s:lib.Codec.encoding_table["25836"] = [139,91] let s:lib.Codec.encoding_table["27450"] = [139,92] let s:lib.Codec.encoding_table["29344"] = [139,93] let s:lib.Codec.encoding_table["30097"] = [139,94] let s:lib.Codec.encoding_table["31047"] = [139,95] let s:lib.Codec.encoding_table["32681"] = [139,96] let s:lib.Codec.encoding_table["34811"] = [139,97] let s:lib.Codec.encoding_table["35516"] = [139,98] let s:lib.Codec.encoding_table["35696"] = [139,99] let s:lib.Codec.encoding_table["25516"] = [139,100] let s:lib.Codec.encoding_table["33738"] = [139,101] let s:lib.Codec.encoding_table["38816"] = [139,102] let s:lib.Codec.encoding_table["21513"] = [139,103] let s:lib.Codec.encoding_table["21507"] = [139,104] let s:lib.Codec.encoding_table["21931"] = [139,105] let s:lib.Codec.encoding_table["26708"] = [139,106] let s:lib.Codec.encoding_table["27224"] = [139,107] let s:lib.Codec.encoding_table["35440"] = [139,108] let s:lib.Codec.encoding_table["30759"] = [139,109] let s:lib.Codec.encoding_table["26485"] = [139,110] let s:lib.Codec.encoding_table["40653"] = [139,111] let s:lib.Codec.encoding_table["21364"] = [139,112] let s:lib.Codec.encoding_table["23458"] = [139,113] let s:lib.Codec.encoding_table["33050"] = [139,114] let s:lib.Codec.encoding_table["34384"] = [139,115] let s:lib.Codec.encoding_table["36870"] = [139,116] let s:lib.Codec.encoding_table["19992"] = [139,117] let s:lib.Codec.encoding_table["20037"] = [139,118] let s:lib.Codec.encoding_table["20167"] = [139,119] let s:lib.Codec.encoding_table["20241"] = [139,120] let s:lib.Codec.encoding_table["21450"] = [139,121] let s:lib.Codec.encoding_table["21560"] = [139,122] let s:lib.Codec.encoding_table["23470"] = [139,123] let s:lib.Codec.encoding_table["24339"] = [139,124] let s:lib.Codec.encoding_table["24613"] = [139,125] let s:lib.Codec.encoding_table["25937"] = [139,126] let s:lib.Codec.encoding_table["26429"] = [139,128] let s:lib.Codec.encoding_table["27714"] = [139,129] let s:lib.Codec.encoding_table["27762"] = [139,130] let s:lib.Codec.encoding_table["27875"] = [139,131] let s:lib.Codec.encoding_table["28792"] = [139,132] let s:lib.Codec.encoding_table["29699"] = [139,133] let s:lib.Codec.encoding_table["31350"] = [139,134] let s:lib.Codec.encoding_table["31406"] = [139,135] let s:lib.Codec.encoding_table["31496"] = [139,136] let s:lib.Codec.encoding_table["32026"] = [139,137] let s:lib.Codec.encoding_table["31998"] = [139,138] let s:lib.Codec.encoding_table["32102"] = [139,139] let s:lib.Codec.encoding_table["26087"] = [139,140] let s:lib.Codec.encoding_table["29275"] = [139,141] let s:lib.Codec.encoding_table["21435"] = [139,142] let s:lib.Codec.encoding_table["23621"] = [139,143] let s:lib.Codec.encoding_table["24040"] = [139,144] let s:lib.Codec.encoding_table["25298"] = [139,145] let s:lib.Codec.encoding_table["25312"] = [139,146] let s:lib.Codec.encoding_table["25369"] = [139,147] let s:lib.Codec.encoding_table["28192"] = [139,148] let s:lib.Codec.encoding_table["34394"] = [139,149] let s:lib.Codec.encoding_table["35377"] = [139,150] let s:lib.Codec.encoding_table["36317"] = [139,151] let s:lib.Codec.encoding_table["37624"] = [139,152] let s:lib.Codec.encoding_table["28417"] = [139,153] let s:lib.Codec.encoding_table["31142"] = [139,154] let s:lib.Codec.encoding_table["39770"] = [139,155] let s:lib.Codec.encoding_table["20136"] = [139,156] let s:lib.Codec.encoding_table["20139"] = [139,157] let s:lib.Codec.encoding_table["20140"] = [139,158] let s:lib.Codec.encoding_table["20379"] = [139,159] let s:lib.Codec.encoding_table["20384"] = [139,160] let s:lib.Codec.encoding_table["20689"] = [139,161] let s:lib.Codec.encoding_table["20807"] = [139,162] let s:lib.Codec.encoding_table["31478"] = [139,163] let s:lib.Codec.encoding_table["20849"] = [139,164] let s:lib.Codec.encoding_table["20982"] = [139,165] let s:lib.Codec.encoding_table["21332"] = [139,166] let s:lib.Codec.encoding_table["21281"] = [139,167] let s:lib.Codec.encoding_table["21375"] = [139,168] let s:lib.Codec.encoding_table["21483"] = [139,169] let s:lib.Codec.encoding_table["21932"] = [139,170] let s:lib.Codec.encoding_table["22659"] = [139,171] let s:lib.Codec.encoding_table["23777"] = [139,172] let s:lib.Codec.encoding_table["24375"] = [139,173] let s:lib.Codec.encoding_table["24394"] = [139,174] let s:lib.Codec.encoding_table["24623"] = [139,175] let s:lib.Codec.encoding_table["24656"] = [139,176] let s:lib.Codec.encoding_table["24685"] = [139,177] let s:lib.Codec.encoding_table["25375"] = [139,178] let s:lib.Codec.encoding_table["25945"] = [139,179] let s:lib.Codec.encoding_table["27211"] = [139,180] let s:lib.Codec.encoding_table["27841"] = [139,181] let s:lib.Codec.encoding_table["29378"] = [139,182] let s:lib.Codec.encoding_table["29421"] = [139,183] let s:lib.Codec.encoding_table["30703"] = [139,184] let s:lib.Codec.encoding_table["33016"] = [139,185] let s:lib.Codec.encoding_table["33029"] = [139,186] let s:lib.Codec.encoding_table["33288"] = [139,187] let s:lib.Codec.encoding_table["34126"] = [139,188] let s:lib.Codec.encoding_table["37111"] = [139,189] let s:lib.Codec.encoding_table["37857"] = [139,190] let s:lib.Codec.encoding_table["38911"] = [139,191] let s:lib.Codec.encoding_table["39255"] = [139,192] let s:lib.Codec.encoding_table["39514"] = [139,193] let s:lib.Codec.encoding_table["20208"] = [139,194] let s:lib.Codec.encoding_table["20957"] = [139,195] let s:lib.Codec.encoding_table["23597"] = [139,196] let s:lib.Codec.encoding_table["26241"] = [139,197] let s:lib.Codec.encoding_table["26989"] = [139,198] let s:lib.Codec.encoding_table["23616"] = [139,199] let s:lib.Codec.encoding_table["26354"] = [139,200] let s:lib.Codec.encoding_table["26997"] = [139,201] let s:lib.Codec.encoding_table["29577"] = [139,202] let s:lib.Codec.encoding_table["26704"] = [139,203] let s:lib.Codec.encoding_table["31873"] = [139,204] let s:lib.Codec.encoding_table["20677"] = [139,205] let s:lib.Codec.encoding_table["21220"] = [139,206] let s:lib.Codec.encoding_table["22343"] = [139,207] let s:lib.Codec.encoding_table["24062"] = [139,208] let s:lib.Codec.encoding_table["37670"] = [139,209] let s:lib.Codec.encoding_table["26020"] = [139,210] let s:lib.Codec.encoding_table["27427"] = [139,211] let s:lib.Codec.encoding_table["27453"] = [139,212] let s:lib.Codec.encoding_table["29748"] = [139,213] let s:lib.Codec.encoding_table["31105"] = [139,214] let s:lib.Codec.encoding_table["31165"] = [139,215] let s:lib.Codec.encoding_table["31563"] = [139,216] let s:lib.Codec.encoding_table["32202"] = [139,217] let s:lib.Codec.encoding_table["33465"] = [139,218] let s:lib.Codec.encoding_table["33740"] = [139,219] let s:lib.Codec.encoding_table["34943"] = [139,220] let s:lib.Codec.encoding_table["35167"] = [139,221] let s:lib.Codec.encoding_table["35641"] = [139,222] let s:lib.Codec.encoding_table["36817"] = [139,223] let s:lib.Codec.encoding_table["37329"] = [139,224] let s:lib.Codec.encoding_table["21535"] = [139,225] let s:lib.Codec.encoding_table["37504"] = [139,226] let s:lib.Codec.encoding_table["20061"] = [139,227] let s:lib.Codec.encoding_table["20534"] = [139,228] let s:lib.Codec.encoding_table["21477"] = [139,229] let s:lib.Codec.encoding_table["21306"] = [139,230] let s:lib.Codec.encoding_table["29399"] = [139,231] let s:lib.Codec.encoding_table["29590"] = [139,232] let s:lib.Codec.encoding_table["30697"] = [139,233] let s:lib.Codec.encoding_table["33510"] = [139,234] let s:lib.Codec.encoding_table["36527"] = [139,235] let s:lib.Codec.encoding_table["39366"] = [139,236] let s:lib.Codec.encoding_table["39368"] = [139,237] let s:lib.Codec.encoding_table["39378"] = [139,238] let s:lib.Codec.encoding_table["20855"] = [139,239] let s:lib.Codec.encoding_table["24858"] = [139,240] let s:lib.Codec.encoding_table["34398"] = [139,241] let s:lib.Codec.encoding_table["21936"] = [139,242] let s:lib.Codec.encoding_table["31354"] = [139,243] let s:lib.Codec.encoding_table["20598"] = [139,244] let s:lib.Codec.encoding_table["23507"] = [139,245] let s:lib.Codec.encoding_table["36935"] = [139,246] let s:lib.Codec.encoding_table["38533"] = [139,247] let s:lib.Codec.encoding_table["20018"] = [139,248] let s:lib.Codec.encoding_table["27355"] = [139,249] let s:lib.Codec.encoding_table["37351"] = [139,250] let s:lib.Codec.encoding_table["23633"] = [139,251] let s:lib.Codec.encoding_table["23624"] = [139,252] let s:lib.Codec.encoding_table["25496"] = [140,64] let s:lib.Codec.encoding_table["31391"] = [140,65] let s:lib.Codec.encoding_table["27795"] = [140,66] let s:lib.Codec.encoding_table["38772"] = [140,67] let s:lib.Codec.encoding_table["36705"] = [140,68] let s:lib.Codec.encoding_table["31402"] = [140,69] let s:lib.Codec.encoding_table["29066"] = [140,70] let s:lib.Codec.encoding_table["38536"] = [140,71] let s:lib.Codec.encoding_table["31874"] = [140,72] let s:lib.Codec.encoding_table["26647"] = [140,73] let s:lib.Codec.encoding_table["32368"] = [140,74] let s:lib.Codec.encoding_table["26705"] = [140,75] let s:lib.Codec.encoding_table["37740"] = [140,76] let s:lib.Codec.encoding_table["21234"] = [140,77] let s:lib.Codec.encoding_table["21531"] = [140,78] let s:lib.Codec.encoding_table["34219"] = [140,79] let s:lib.Codec.encoding_table["35347"] = [140,80] let s:lib.Codec.encoding_table["32676"] = [140,81] let s:lib.Codec.encoding_table["36557"] = [140,82] let s:lib.Codec.encoding_table["37089"] = [140,83] let s:lib.Codec.encoding_table["21350"] = [140,84] let s:lib.Codec.encoding_table["34952"] = [140,85] let s:lib.Codec.encoding_table["31041"] = [140,86] let s:lib.Codec.encoding_table["20418"] = [140,87] let s:lib.Codec.encoding_table["20670"] = [140,88] let s:lib.Codec.encoding_table["21009"] = [140,89] let s:lib.Codec.encoding_table["20804"] = [140,90] let s:lib.Codec.encoding_table["21843"] = [140,91] let s:lib.Codec.encoding_table["22317"] = [140,92] let s:lib.Codec.encoding_table["29674"] = [140,93] let s:lib.Codec.encoding_table["22411"] = [140,94] let s:lib.Codec.encoding_table["22865"] = [140,95] let s:lib.Codec.encoding_table["24418"] = [140,96] let s:lib.Codec.encoding_table["24452"] = [140,97] let s:lib.Codec.encoding_table["24693"] = [140,98] let s:lib.Codec.encoding_table["24950"] = [140,99] let s:lib.Codec.encoding_table["24935"] = [140,100] let s:lib.Codec.encoding_table["25001"] = [140,101] let s:lib.Codec.encoding_table["25522"] = [140,102] let s:lib.Codec.encoding_table["25658"] = [140,103] let s:lib.Codec.encoding_table["25964"] = [140,104] let s:lib.Codec.encoding_table["26223"] = [140,105] let s:lib.Codec.encoding_table["26690"] = [140,106] let s:lib.Codec.encoding_table["28179"] = [140,107] let s:lib.Codec.encoding_table["30054"] = [140,108] let s:lib.Codec.encoding_table["31293"] = [140,109] let s:lib.Codec.encoding_table["31995"] = [140,110] let s:lib.Codec.encoding_table["32076"] = [140,111] let s:lib.Codec.encoding_table["32153"] = [140,112] let s:lib.Codec.encoding_table["32331"] = [140,113] let s:lib.Codec.encoding_table["32619"] = [140,114] let s:lib.Codec.encoding_table["33550"] = [140,115] let s:lib.Codec.encoding_table["33610"] = [140,116] let s:lib.Codec.encoding_table["34509"] = [140,117] let s:lib.Codec.encoding_table["35336"] = [140,118] let s:lib.Codec.encoding_table["35427"] = [140,119] let s:lib.Codec.encoding_table["35686"] = [140,120] let s:lib.Codec.encoding_table["36605"] = [140,121] let s:lib.Codec.encoding_table["38938"] = [140,122] let s:lib.Codec.encoding_table["40335"] = [140,123] let s:lib.Codec.encoding_table["33464"] = [140,124] let s:lib.Codec.encoding_table["36814"] = [140,125] let s:lib.Codec.encoding_table["39912"] = [140,126] let s:lib.Codec.encoding_table["21127"] = [140,128] let s:lib.Codec.encoding_table["25119"] = [140,129] let s:lib.Codec.encoding_table["25731"] = [140,130] let s:lib.Codec.encoding_table["28608"] = [140,131] let s:lib.Codec.encoding_table["38553"] = [140,132] let s:lib.Codec.encoding_table["26689"] = [140,133] let s:lib.Codec.encoding_table["20625"] = [140,134] let s:lib.Codec.encoding_table["27424"] = [140,135] let s:lib.Codec.encoding_table["27770"] = [140,136] let s:lib.Codec.encoding_table["28500"] = [140,137] let s:lib.Codec.encoding_table["31348"] = [140,138] let s:lib.Codec.encoding_table["32080"] = [140,139] let s:lib.Codec.encoding_table["34880"] = [140,140] let s:lib.Codec.encoding_table["35363"] = [140,141] let s:lib.Codec.encoding_table["26376"] = [140,142] let s:lib.Codec.encoding_table["20214"] = [140,143] let s:lib.Codec.encoding_table["20537"] = [140,144] let s:lib.Codec.encoding_table["20518"] = [140,145] let s:lib.Codec.encoding_table["20581"] = [140,146] let s:lib.Codec.encoding_table["20860"] = [140,147] let s:lib.Codec.encoding_table["21048"] = [140,148] let s:lib.Codec.encoding_table["21091"] = [140,149] let s:lib.Codec.encoding_table["21927"] = [140,150] let s:lib.Codec.encoding_table["22287"] = [140,151] let s:lib.Codec.encoding_table["22533"] = [140,152] let s:lib.Codec.encoding_table["23244"] = [140,153] let s:lib.Codec.encoding_table["24314"] = [140,154] let s:lib.Codec.encoding_table["25010"] = [140,155] let s:lib.Codec.encoding_table["25080"] = [140,156] let s:lib.Codec.encoding_table["25331"] = [140,157] let s:lib.Codec.encoding_table["25458"] = [140,158] let s:lib.Codec.encoding_table["26908"] = [140,159] let s:lib.Codec.encoding_table["27177"] = [140,160] let s:lib.Codec.encoding_table["29309"] = [140,161] let s:lib.Codec.encoding_table["29356"] = [140,162] let s:lib.Codec.encoding_table["29486"] = [140,163] let s:lib.Codec.encoding_table["30740"] = [140,164] let s:lib.Codec.encoding_table["30831"] = [140,165] let s:lib.Codec.encoding_table["32121"] = [140,166] let s:lib.Codec.encoding_table["30476"] = [140,167] let s:lib.Codec.encoding_table["32937"] = [140,168] let s:lib.Codec.encoding_table["35211"] = [140,169] let s:lib.Codec.encoding_table["35609"] = [140,170] let s:lib.Codec.encoding_table["36066"] = [140,171] let s:lib.Codec.encoding_table["36562"] = [140,172] let s:lib.Codec.encoding_table["36963"] = [140,173] let s:lib.Codec.encoding_table["37749"] = [140,174] let s:lib.Codec.encoding_table["38522"] = [140,175] let s:lib.Codec.encoding_table["38997"] = [140,176] let s:lib.Codec.encoding_table["39443"] = [140,177] let s:lib.Codec.encoding_table["40568"] = [140,178] let s:lib.Codec.encoding_table["20803"] = [140,179] let s:lib.Codec.encoding_table["21407"] = [140,180] let s:lib.Codec.encoding_table["21427"] = [140,181] let s:lib.Codec.encoding_table["24187"] = [140,182] let s:lib.Codec.encoding_table["24358"] = [140,183] let s:lib.Codec.encoding_table["28187"] = [140,184] let s:lib.Codec.encoding_table["28304"] = [140,185] let s:lib.Codec.encoding_table["29572"] = [140,186] let s:lib.Codec.encoding_table["29694"] = [140,187] let s:lib.Codec.encoding_table["32067"] = [140,188] let s:lib.Codec.encoding_table["33335"] = [140,189] let s:lib.Codec.encoding_table["35328"] = [140,190] let s:lib.Codec.encoding_table["35578"] = [140,191] let s:lib.Codec.encoding_table["38480"] = [140,192] let s:lib.Codec.encoding_table["20046"] = [140,193] let s:lib.Codec.encoding_table["20491"] = [140,194] let s:lib.Codec.encoding_table["21476"] = [140,195] let s:lib.Codec.encoding_table["21628"] = [140,196] let s:lib.Codec.encoding_table["22266"] = [140,197] let s:lib.Codec.encoding_table["22993"] = [140,198] let s:lib.Codec.encoding_table["23396"] = [140,199] let s:lib.Codec.encoding_table["24049"] = [140,200] let s:lib.Codec.encoding_table["24235"] = [140,201] let s:lib.Codec.encoding_table["24359"] = [140,202] let s:lib.Codec.encoding_table["25144"] = [140,203] let s:lib.Codec.encoding_table["25925"] = [140,204] let s:lib.Codec.encoding_table["26543"] = [140,205] let s:lib.Codec.encoding_table["28246"] = [140,206] let s:lib.Codec.encoding_table["29392"] = [140,207] let s:lib.Codec.encoding_table["31946"] = [140,208] let s:lib.Codec.encoding_table["34996"] = [140,209] let s:lib.Codec.encoding_table["32929"] = [140,210] let s:lib.Codec.encoding_table["32993"] = [140,211] let s:lib.Codec.encoding_table["33776"] = [140,212] let s:lib.Codec.encoding_table["34382"] = [140,213] let s:lib.Codec.encoding_table["35463"] = [140,214] let s:lib.Codec.encoding_table["36328"] = [140,215] let s:lib.Codec.encoding_table["37431"] = [140,216] let s:lib.Codec.encoding_table["38599"] = [140,217] let s:lib.Codec.encoding_table["39015"] = [140,218] let s:lib.Codec.encoding_table["40723"] = [140,219] let s:lib.Codec.encoding_table["20116"] = [140,220] let s:lib.Codec.encoding_table["20114"] = [140,221] let s:lib.Codec.encoding_table["20237"] = [140,222] let s:lib.Codec.encoding_table["21320"] = [140,223] let s:lib.Codec.encoding_table["21577"] = [140,224] let s:lib.Codec.encoding_table["21566"] = [140,225] let s:lib.Codec.encoding_table["23087"] = [140,226] let s:lib.Codec.encoding_table["24460"] = [140,227] let s:lib.Codec.encoding_table["24481"] = [140,228] let s:lib.Codec.encoding_table["24735"] = [140,229] let s:lib.Codec.encoding_table["26791"] = [140,230] let s:lib.Codec.encoding_table["27278"] = [140,231] let s:lib.Codec.encoding_table["29786"] = [140,232] let s:lib.Codec.encoding_table["30849"] = [140,233] let s:lib.Codec.encoding_table["35486"] = [140,234] let s:lib.Codec.encoding_table["35492"] = [140,235] let s:lib.Codec.encoding_table["35703"] = [140,236] let s:lib.Codec.encoding_table["37264"] = [140,237] let s:lib.Codec.encoding_table["20062"] = [140,238] let s:lib.Codec.encoding_table["39881"] = [140,239] let s:lib.Codec.encoding_table["20132"] = [140,240] let s:lib.Codec.encoding_table["20348"] = [140,241] let s:lib.Codec.encoding_table["20399"] = [140,242] let s:lib.Codec.encoding_table["20505"] = [140,243] let s:lib.Codec.encoding_table["20502"] = [140,244] let s:lib.Codec.encoding_table["20809"] = [140,245] let s:lib.Codec.encoding_table["20844"] = [140,246] let s:lib.Codec.encoding_table["21151"] = [140,247] let s:lib.Codec.encoding_table["21177"] = [140,248] let s:lib.Codec.encoding_table["21246"] = [140,249] let s:lib.Codec.encoding_table["21402"] = [140,250] let s:lib.Codec.encoding_table["21475"] = [140,251] let s:lib.Codec.encoding_table["21521"] = [140,252] let s:lib.Codec.encoding_table["21518"] = [141,64] let s:lib.Codec.encoding_table["21897"] = [141,65] let s:lib.Codec.encoding_table["22353"] = [141,66] let s:lib.Codec.encoding_table["22434"] = [141,67] let s:lib.Codec.encoding_table["22909"] = [141,68] let s:lib.Codec.encoding_table["23380"] = [141,69] let s:lib.Codec.encoding_table["23389"] = [141,70] let s:lib.Codec.encoding_table["23439"] = [141,71] let s:lib.Codec.encoding_table["24037"] = [141,72] let s:lib.Codec.encoding_table["24039"] = [141,73] let s:lib.Codec.encoding_table["24055"] = [141,74] let s:lib.Codec.encoding_table["24184"] = [141,75] let s:lib.Codec.encoding_table["24195"] = [141,76] let s:lib.Codec.encoding_table["24218"] = [141,77] let s:lib.Codec.encoding_table["24247"] = [141,78] let s:lib.Codec.encoding_table["24344"] = [141,79] let s:lib.Codec.encoding_table["24658"] = [141,80] let s:lib.Codec.encoding_table["24908"] = [141,81] let s:lib.Codec.encoding_table["25239"] = [141,82] let s:lib.Codec.encoding_table["25304"] = [141,83] let s:lib.Codec.encoding_table["25511"] = [141,84] let s:lib.Codec.encoding_table["25915"] = [141,85] let s:lib.Codec.encoding_table["26114"] = [141,86] let s:lib.Codec.encoding_table["26179"] = [141,87] let s:lib.Codec.encoding_table["26356"] = [141,88] let s:lib.Codec.encoding_table["26477"] = [141,89] let s:lib.Codec.encoding_table["26657"] = [141,90] let s:lib.Codec.encoding_table["26775"] = [141,91] let s:lib.Codec.encoding_table["27083"] = [141,92] let s:lib.Codec.encoding_table["27743"] = [141,93] let s:lib.Codec.encoding_table["27946"] = [141,94] let s:lib.Codec.encoding_table["28009"] = [141,95] let s:lib.Codec.encoding_table["28207"] = [141,96] let s:lib.Codec.encoding_table["28317"] = [141,97] let s:lib.Codec.encoding_table["30002"] = [141,98] let s:lib.Codec.encoding_table["30343"] = [141,99] let s:lib.Codec.encoding_table["30828"] = [141,100] let s:lib.Codec.encoding_table["31295"] = [141,101] let s:lib.Codec.encoding_table["31968"] = [141,102] let s:lib.Codec.encoding_table["32005"] = [141,103] let s:lib.Codec.encoding_table["32024"] = [141,104] let s:lib.Codec.encoding_table["32094"] = [141,105] let s:lib.Codec.encoding_table["32177"] = [141,106] let s:lib.Codec.encoding_table["32789"] = [141,107] let s:lib.Codec.encoding_table["32771"] = [141,108] let s:lib.Codec.encoding_table["32943"] = [141,109] let s:lib.Codec.encoding_table["32945"] = [141,110] let s:lib.Codec.encoding_table["33108"] = [141,111] let s:lib.Codec.encoding_table["33167"] = [141,112] let s:lib.Codec.encoding_table["33322"] = [141,113] let s:lib.Codec.encoding_table["33618"] = [141,114] let s:lib.Codec.encoding_table["34892"] = [141,115] let s:lib.Codec.encoding_table["34913"] = [141,116] let s:lib.Codec.encoding_table["35611"] = [141,117] let s:lib.Codec.encoding_table["36002"] = [141,118] let s:lib.Codec.encoding_table["36092"] = [141,119] let s:lib.Codec.encoding_table["37066"] = [141,120] let s:lib.Codec.encoding_table["37237"] = [141,121] let s:lib.Codec.encoding_table["37489"] = [141,122] let s:lib.Codec.encoding_table["30783"] = [141,123] let s:lib.Codec.encoding_table["37628"] = [141,124] let s:lib.Codec.encoding_table["38308"] = [141,125] let s:lib.Codec.encoding_table["38477"] = [141,126] let s:lib.Codec.encoding_table["38917"] = [141,128] let s:lib.Codec.encoding_table["39321"] = [141,129] let s:lib.Codec.encoding_table["39640"] = [141,130] let s:lib.Codec.encoding_table["40251"] = [141,131] let s:lib.Codec.encoding_table["21083"] = [141,132] let s:lib.Codec.encoding_table["21163"] = [141,133] let s:lib.Codec.encoding_table["21495"] = [141,134] let s:lib.Codec.encoding_table["21512"] = [141,135] let s:lib.Codec.encoding_table["22741"] = [141,136] let s:lib.Codec.encoding_table["25335"] = [141,137] let s:lib.Codec.encoding_table["28640"] = [141,138] let s:lib.Codec.encoding_table["35946"] = [141,139] let s:lib.Codec.encoding_table["36703"] = [141,140] let s:lib.Codec.encoding_table["40633"] = [141,141] let s:lib.Codec.encoding_table["20811"] = [141,142] let s:lib.Codec.encoding_table["21051"] = [141,143] let s:lib.Codec.encoding_table["21578"] = [141,144] let s:lib.Codec.encoding_table["22269"] = [141,145] let s:lib.Codec.encoding_table["31296"] = [141,146] let s:lib.Codec.encoding_table["37239"] = [141,147] let s:lib.Codec.encoding_table["40288"] = [141,148] let s:lib.Codec.encoding_table["40658"] = [141,149] let s:lib.Codec.encoding_table["29508"] = [141,150] let s:lib.Codec.encoding_table["28425"] = [141,151] let s:lib.Codec.encoding_table["33136"] = [141,152] let s:lib.Codec.encoding_table["29969"] = [141,153] let s:lib.Codec.encoding_table["24573"] = [141,154] let s:lib.Codec.encoding_table["24794"] = [141,155] let s:lib.Codec.encoding_table["39592"] = [141,156] let s:lib.Codec.encoding_table["29403"] = [141,157] let s:lib.Codec.encoding_table["36796"] = [141,158] let s:lib.Codec.encoding_table["27492"] = [141,159] let s:lib.Codec.encoding_table["38915"] = [141,160] let s:lib.Codec.encoding_table["20170"] = [141,161] let s:lib.Codec.encoding_table["22256"] = [141,162] let s:lib.Codec.encoding_table["22372"] = [141,163] let s:lib.Codec.encoding_table["22718"] = [141,164] let s:lib.Codec.encoding_table["23130"] = [141,165] let s:lib.Codec.encoding_table["24680"] = [141,166] let s:lib.Codec.encoding_table["25031"] = [141,167] let s:lib.Codec.encoding_table["26127"] = [141,168] let s:lib.Codec.encoding_table["26118"] = [141,169] let s:lib.Codec.encoding_table["26681"] = [141,170] let s:lib.Codec.encoding_table["26801"] = [141,171] let s:lib.Codec.encoding_table["28151"] = [141,172] let s:lib.Codec.encoding_table["30165"] = [141,173] let s:lib.Codec.encoding_table["32058"] = [141,174] let s:lib.Codec.encoding_table["33390"] = [141,175] let s:lib.Codec.encoding_table["39746"] = [141,176] let s:lib.Codec.encoding_table["20123"] = [141,177] let s:lib.Codec.encoding_table["20304"] = [141,178] let s:lib.Codec.encoding_table["21449"] = [141,179] let s:lib.Codec.encoding_table["21766"] = [141,180] let s:lib.Codec.encoding_table["23919"] = [141,181] let s:lib.Codec.encoding_table["24038"] = [141,182] let s:lib.Codec.encoding_table["24046"] = [141,183] let s:lib.Codec.encoding_table["26619"] = [141,184] let s:lib.Codec.encoding_table["27801"] = [141,185] let s:lib.Codec.encoding_table["29811"] = [141,186] let s:lib.Codec.encoding_table["30722"] = [141,187] let s:lib.Codec.encoding_table["35408"] = [141,188] let s:lib.Codec.encoding_table["37782"] = [141,189] let s:lib.Codec.encoding_table["35039"] = [141,190] let s:lib.Codec.encoding_table["22352"] = [141,191] let s:lib.Codec.encoding_table["24231"] = [141,192] let s:lib.Codec.encoding_table["25387"] = [141,193] let s:lib.Codec.encoding_table["20661"] = [141,194] let s:lib.Codec.encoding_table["20652"] = [141,195] let s:lib.Codec.encoding_table["20877"] = [141,196] let s:lib.Codec.encoding_table["26368"] = [141,197] let s:lib.Codec.encoding_table["21705"] = [141,198] let s:lib.Codec.encoding_table["22622"] = [141,199] let s:lib.Codec.encoding_table["22971"] = [141,200] let s:lib.Codec.encoding_table["23472"] = [141,201] let s:lib.Codec.encoding_table["24425"] = [141,202] let s:lib.Codec.encoding_table["25165"] = [141,203] let s:lib.Codec.encoding_table["25505"] = [141,204] let s:lib.Codec.encoding_table["26685"] = [141,205] let s:lib.Codec.encoding_table["27507"] = [141,206] let s:lib.Codec.encoding_table["28168"] = [141,207] let s:lib.Codec.encoding_table["28797"] = [141,208] let s:lib.Codec.encoding_table["37319"] = [141,209] let s:lib.Codec.encoding_table["29312"] = [141,210] let s:lib.Codec.encoding_table["30741"] = [141,211] let s:lib.Codec.encoding_table["30758"] = [141,212] let s:lib.Codec.encoding_table["31085"] = [141,213] let s:lib.Codec.encoding_table["25998"] = [141,214] let s:lib.Codec.encoding_table["32048"] = [141,215] let s:lib.Codec.encoding_table["33756"] = [141,216] let s:lib.Codec.encoding_table["35009"] = [141,217] let s:lib.Codec.encoding_table["36617"] = [141,218] let s:lib.Codec.encoding_table["38555"] = [141,219] let s:lib.Codec.encoding_table["21092"] = [141,220] let s:lib.Codec.encoding_table["22312"] = [141,221] let s:lib.Codec.encoding_table["26448"] = [141,222] let s:lib.Codec.encoding_table["32618"] = [141,223] let s:lib.Codec.encoding_table["36001"] = [141,224] let s:lib.Codec.encoding_table["20916"] = [141,225] let s:lib.Codec.encoding_table["22338"] = [141,226] let s:lib.Codec.encoding_table["38442"] = [141,227] let s:lib.Codec.encoding_table["22586"] = [141,228] let s:lib.Codec.encoding_table["27018"] = [141,229] let s:lib.Codec.encoding_table["32948"] = [141,230] let s:lib.Codec.encoding_table["21682"] = [141,231] let s:lib.Codec.encoding_table["23822"] = [141,232] let s:lib.Codec.encoding_table["22524"] = [141,233] let s:lib.Codec.encoding_table["30869"] = [141,234] let s:lib.Codec.encoding_table["40442"] = [141,235] let s:lib.Codec.encoding_table["20316"] = [141,236] let s:lib.Codec.encoding_table["21066"] = [141,237] let s:lib.Codec.encoding_table["21643"] = [141,238] let s:lib.Codec.encoding_table["25662"] = [141,239] let s:lib.Codec.encoding_table["26152"] = [141,240] let s:lib.Codec.encoding_table["26388"] = [141,241] let s:lib.Codec.encoding_table["26613"] = [141,242] let s:lib.Codec.encoding_table["31364"] = [141,243] let s:lib.Codec.encoding_table["31574"] = [141,244] let s:lib.Codec.encoding_table["32034"] = [141,245] let s:lib.Codec.encoding_table["37679"] = [141,246] let s:lib.Codec.encoding_table["26716"] = [141,247] let s:lib.Codec.encoding_table["39853"] = [141,248] let s:lib.Codec.encoding_table["31545"] = [141,249] let s:lib.Codec.encoding_table["21273"] = [141,250] let s:lib.Codec.encoding_table["20874"] = [141,251] let s:lib.Codec.encoding_table["21047"] = [141,252] let s:lib.Codec.encoding_table["23519"] = [142,64] let s:lib.Codec.encoding_table["25334"] = [142,65] let s:lib.Codec.encoding_table["25774"] = [142,66] let s:lib.Codec.encoding_table["25830"] = [142,67] let s:lib.Codec.encoding_table["26413"] = [142,68] let s:lib.Codec.encoding_table["27578"] = [142,69] let s:lib.Codec.encoding_table["34217"] = [142,70] let s:lib.Codec.encoding_table["38609"] = [142,71] let s:lib.Codec.encoding_table["30352"] = [142,72] let s:lib.Codec.encoding_table["39894"] = [142,73] let s:lib.Codec.encoding_table["25420"] = [142,74] let s:lib.Codec.encoding_table["37638"] = [142,75] let s:lib.Codec.encoding_table["39851"] = [142,76] let s:lib.Codec.encoding_table["30399"] = [142,77] let s:lib.Codec.encoding_table["26194"] = [142,78] let s:lib.Codec.encoding_table["19977"] = [142,79] let s:lib.Codec.encoding_table["20632"] = [142,80] let s:lib.Codec.encoding_table["21442"] = [142,81] let s:lib.Codec.encoding_table["23665"] = [142,82] let s:lib.Codec.encoding_table["24808"] = [142,83] let s:lib.Codec.encoding_table["25746"] = [142,84] let s:lib.Codec.encoding_table["25955"] = [142,85] let s:lib.Codec.encoding_table["26719"] = [142,86] let s:lib.Codec.encoding_table["29158"] = [142,87] let s:lib.Codec.encoding_table["29642"] = [142,88] let s:lib.Codec.encoding_table["29987"] = [142,89] let s:lib.Codec.encoding_table["31639"] = [142,90] let s:lib.Codec.encoding_table["32386"] = [142,91] let s:lib.Codec.encoding_table["34453"] = [142,92] let s:lib.Codec.encoding_table["35715"] = [142,93] let s:lib.Codec.encoding_table["36059"] = [142,94] let s:lib.Codec.encoding_table["37240"] = [142,95] let s:lib.Codec.encoding_table["39184"] = [142,96] let s:lib.Codec.encoding_table["26028"] = [142,97] let s:lib.Codec.encoding_table["26283"] = [142,98] let s:lib.Codec.encoding_table["27531"] = [142,99] let s:lib.Codec.encoding_table["20181"] = [142,100] let s:lib.Codec.encoding_table["20180"] = [142,101] let s:lib.Codec.encoding_table["20282"] = [142,102] let s:lib.Codec.encoding_table["20351"] = [142,103] let s:lib.Codec.encoding_table["21050"] = [142,104] let s:lib.Codec.encoding_table["21496"] = [142,105] let s:lib.Codec.encoding_table["21490"] = [142,106] let s:lib.Codec.encoding_table["21987"] = [142,107] let s:lib.Codec.encoding_table["22235"] = [142,108] let s:lib.Codec.encoding_table["22763"] = [142,109] let s:lib.Codec.encoding_table["22987"] = [142,110] let s:lib.Codec.encoding_table["22985"] = [142,111] let s:lib.Codec.encoding_table["23039"] = [142,112] let s:lib.Codec.encoding_table["23376"] = [142,113] let s:lib.Codec.encoding_table["23629"] = [142,114] let s:lib.Codec.encoding_table["24066"] = [142,115] let s:lib.Codec.encoding_table["24107"] = [142,116] let s:lib.Codec.encoding_table["24535"] = [142,117] let s:lib.Codec.encoding_table["24605"] = [142,118] let s:lib.Codec.encoding_table["25351"] = [142,119] let s:lib.Codec.encoding_table["25903"] = [142,120] let s:lib.Codec.encoding_table["23388"] = [142,121] let s:lib.Codec.encoding_table["26031"] = [142,122] let s:lib.Codec.encoding_table["26045"] = [142,123] let s:lib.Codec.encoding_table["26088"] = [142,124] let s:lib.Codec.encoding_table["26525"] = [142,125] let s:lib.Codec.encoding_table["27490"] = [142,126] let s:lib.Codec.encoding_table["27515"] = [142,128] let s:lib.Codec.encoding_table["27663"] = [142,129] let s:lib.Codec.encoding_table["29509"] = [142,130] let s:lib.Codec.encoding_table["31049"] = [142,131] let s:lib.Codec.encoding_table["31169"] = [142,132] let s:lib.Codec.encoding_table["31992"] = [142,133] let s:lib.Codec.encoding_table["32025"] = [142,134] let s:lib.Codec.encoding_table["32043"] = [142,135] let s:lib.Codec.encoding_table["32930"] = [142,136] let s:lib.Codec.encoding_table["33026"] = [142,137] let s:lib.Codec.encoding_table["33267"] = [142,138] let s:lib.Codec.encoding_table["35222"] = [142,139] let s:lib.Codec.encoding_table["35422"] = [142,140] let s:lib.Codec.encoding_table["35433"] = [142,141] let s:lib.Codec.encoding_table["35430"] = [142,142] let s:lib.Codec.encoding_table["35468"] = [142,143] let s:lib.Codec.encoding_table["35566"] = [142,144] let s:lib.Codec.encoding_table["36039"] = [142,145] let s:lib.Codec.encoding_table["36060"] = [142,146] let s:lib.Codec.encoding_table["38604"] = [142,147] let s:lib.Codec.encoding_table["39164"] = [142,148] let s:lib.Codec.encoding_table["27503"] = [142,149] let s:lib.Codec.encoding_table["20107"] = [142,150] let s:lib.Codec.encoding_table["20284"] = [142,151] let s:lib.Codec.encoding_table["20365"] = [142,152] let s:lib.Codec.encoding_table["20816"] = [142,153] let s:lib.Codec.encoding_table["23383"] = [142,154] let s:lib.Codec.encoding_table["23546"] = [142,155] let s:lib.Codec.encoding_table["24904"] = [142,156] let s:lib.Codec.encoding_table["25345"] = [142,157] let s:lib.Codec.encoding_table["26178"] = [142,158] let s:lib.Codec.encoding_table["27425"] = [142,159] let s:lib.Codec.encoding_table["28363"] = [142,160] let s:lib.Codec.encoding_table["27835"] = [142,161] let s:lib.Codec.encoding_table["29246"] = [142,162] let s:lib.Codec.encoding_table["29885"] = [142,163] let s:lib.Codec.encoding_table["30164"] = [142,164] let s:lib.Codec.encoding_table["30913"] = [142,165] let s:lib.Codec.encoding_table["31034"] = [142,166] let s:lib.Codec.encoding_table["32780"] = [142,167] let s:lib.Codec.encoding_table["32819"] = [142,168] let s:lib.Codec.encoding_table["33258"] = [142,169] let s:lib.Codec.encoding_table["33940"] = [142,170] let s:lib.Codec.encoding_table["36766"] = [142,171] let s:lib.Codec.encoding_table["27728"] = [142,172] let s:lib.Codec.encoding_table["40575"] = [142,173] let s:lib.Codec.encoding_table["24335"] = [142,174] let s:lib.Codec.encoding_table["35672"] = [142,175] let s:lib.Codec.encoding_table["40235"] = [142,176] let s:lib.Codec.encoding_table["31482"] = [142,177] let s:lib.Codec.encoding_table["36600"] = [142,178] let s:lib.Codec.encoding_table["23437"] = [142,179] let s:lib.Codec.encoding_table["38635"] = [142,180] let s:lib.Codec.encoding_table["19971"] = [142,181] let s:lib.Codec.encoding_table["21489"] = [142,182] let s:lib.Codec.encoding_table["22519"] = [142,183] let s:lib.Codec.encoding_table["22833"] = [142,184] let s:lib.Codec.encoding_table["23241"] = [142,185] let s:lib.Codec.encoding_table["23460"] = [142,186] let s:lib.Codec.encoding_table["24713"] = [142,187] let s:lib.Codec.encoding_table["28287"] = [142,188] let s:lib.Codec.encoding_table["28422"] = [142,189] let s:lib.Codec.encoding_table["30142"] = [142,190] let s:lib.Codec.encoding_table["36074"] = [142,191] let s:lib.Codec.encoding_table["23455"] = [142,192] let s:lib.Codec.encoding_table["34048"] = [142,193] let s:lib.Codec.encoding_table["31712"] = [142,194] let s:lib.Codec.encoding_table["20594"] = [142,195] let s:lib.Codec.encoding_table["26612"] = [142,196] let s:lib.Codec.encoding_table["33437"] = [142,197] let s:lib.Codec.encoding_table["23649"] = [142,198] let s:lib.Codec.encoding_table["34122"] = [142,199] let s:lib.Codec.encoding_table["32286"] = [142,200] let s:lib.Codec.encoding_table["33294"] = [142,201] let s:lib.Codec.encoding_table["20889"] = [142,202] let s:lib.Codec.encoding_table["23556"] = [142,203] let s:lib.Codec.encoding_table["25448"] = [142,204] let s:lib.Codec.encoding_table["36198"] = [142,205] let s:lib.Codec.encoding_table["26012"] = [142,206] let s:lib.Codec.encoding_table["29038"] = [142,207] let s:lib.Codec.encoding_table["31038"] = [142,208] let s:lib.Codec.encoding_table["32023"] = [142,209] let s:lib.Codec.encoding_table["32773"] = [142,210] let s:lib.Codec.encoding_table["35613"] = [142,211] let s:lib.Codec.encoding_table["36554"] = [142,212] let s:lib.Codec.encoding_table["36974"] = [142,213] let s:lib.Codec.encoding_table["34503"] = [142,214] let s:lib.Codec.encoding_table["37034"] = [142,215] let s:lib.Codec.encoding_table["20511"] = [142,216] let s:lib.Codec.encoding_table["21242"] = [142,217] let s:lib.Codec.encoding_table["23610"] = [142,218] let s:lib.Codec.encoding_table["26451"] = [142,219] let s:lib.Codec.encoding_table["28796"] = [142,220] let s:lib.Codec.encoding_table["29237"] = [142,221] let s:lib.Codec.encoding_table["37196"] = [142,222] let s:lib.Codec.encoding_table["37320"] = [142,223] let s:lib.Codec.encoding_table["37675"] = [142,224] let s:lib.Codec.encoding_table["33509"] = [142,225] let s:lib.Codec.encoding_table["23490"] = [142,226] let s:lib.Codec.encoding_table["24369"] = [142,227] let s:lib.Codec.encoding_table["24825"] = [142,228] let s:lib.Codec.encoding_table["20027"] = [142,229] let s:lib.Codec.encoding_table["21462"] = [142,230] let s:lib.Codec.encoding_table["23432"] = [142,231] let s:lib.Codec.encoding_table["25163"] = [142,232] let s:lib.Codec.encoding_table["26417"] = [142,233] let s:lib.Codec.encoding_table["27530"] = [142,234] let s:lib.Codec.encoding_table["29417"] = [142,235] let s:lib.Codec.encoding_table["29664"] = [142,236] let s:lib.Codec.encoding_table["31278"] = [142,237] let s:lib.Codec.encoding_table["33131"] = [142,238] let s:lib.Codec.encoding_table["36259"] = [142,239] let s:lib.Codec.encoding_table["37202"] = [142,240] let s:lib.Codec.encoding_table["39318"] = [142,241] let s:lib.Codec.encoding_table["20754"] = [142,242] let s:lib.Codec.encoding_table["21463"] = [142,243] let s:lib.Codec.encoding_table["21610"] = [142,244] let s:lib.Codec.encoding_table["23551"] = [142,245] let s:lib.Codec.encoding_table["25480"] = [142,246] let s:lib.Codec.encoding_table["27193"] = [142,247] let s:lib.Codec.encoding_table["32172"] = [142,248] let s:lib.Codec.encoding_table["38656"] = [142,249] let s:lib.Codec.encoding_table["22234"] = [142,250] let s:lib.Codec.encoding_table["21454"] = [142,251] let s:lib.Codec.encoding_table["21608"] = [142,252] let s:lib.Codec.encoding_table["23447"] = [143,64] let s:lib.Codec.encoding_table["23601"] = [143,65] let s:lib.Codec.encoding_table["24030"] = [143,66] let s:lib.Codec.encoding_table["20462"] = [143,67] let s:lib.Codec.encoding_table["24833"] = [143,68] let s:lib.Codec.encoding_table["25342"] = [143,69] let s:lib.Codec.encoding_table["27954"] = [143,70] let s:lib.Codec.encoding_table["31168"] = [143,71] let s:lib.Codec.encoding_table["31179"] = [143,72] let s:lib.Codec.encoding_table["32066"] = [143,73] let s:lib.Codec.encoding_table["32333"] = [143,74] let s:lib.Codec.encoding_table["32722"] = [143,75] let s:lib.Codec.encoding_table["33261"] = [143,76] let s:lib.Codec.encoding_table["33311"] = [143,77] let s:lib.Codec.encoding_table["33936"] = [143,78] let s:lib.Codec.encoding_table["34886"] = [143,79] let s:lib.Codec.encoding_table["35186"] = [143,80] let s:lib.Codec.encoding_table["35728"] = [143,81] let s:lib.Codec.encoding_table["36468"] = [143,82] let s:lib.Codec.encoding_table["36655"] = [143,83] let s:lib.Codec.encoding_table["36913"] = [143,84] let s:lib.Codec.encoding_table["37195"] = [143,85] let s:lib.Codec.encoding_table["37228"] = [143,86] let s:lib.Codec.encoding_table["38598"] = [143,87] let s:lib.Codec.encoding_table["37276"] = [143,88] let s:lib.Codec.encoding_table["20160"] = [143,89] let s:lib.Codec.encoding_table["20303"] = [143,90] let s:lib.Codec.encoding_table["20805"] = [143,91] let s:lib.Codec.encoding_table["21313"] = [143,92] let s:lib.Codec.encoding_table["24467"] = [143,93] let s:lib.Codec.encoding_table["25102"] = [143,94] let s:lib.Codec.encoding_table["26580"] = [143,95] let s:lib.Codec.encoding_table["27713"] = [143,96] let s:lib.Codec.encoding_table["28171"] = [143,97] let s:lib.Codec.encoding_table["29539"] = [143,98] let s:lib.Codec.encoding_table["32294"] = [143,99] let s:lib.Codec.encoding_table["37325"] = [143,100] let s:lib.Codec.encoding_table["37507"] = [143,101] let s:lib.Codec.encoding_table["21460"] = [143,102] let s:lib.Codec.encoding_table["22809"] = [143,103] let s:lib.Codec.encoding_table["23487"] = [143,104] let s:lib.Codec.encoding_table["28113"] = [143,105] let s:lib.Codec.encoding_table["31069"] = [143,106] let s:lib.Codec.encoding_table["32302"] = [143,107] let s:lib.Codec.encoding_table["31899"] = [143,108] let s:lib.Codec.encoding_table["22654"] = [143,109] let s:lib.Codec.encoding_table["29087"] = [143,110] let s:lib.Codec.encoding_table["20986"] = [143,111] let s:lib.Codec.encoding_table["34899"] = [143,112] let s:lib.Codec.encoding_table["36848"] = [143,113] let s:lib.Codec.encoding_table["20426"] = [143,114] let s:lib.Codec.encoding_table["23803"] = [143,115] let s:lib.Codec.encoding_table["26149"] = [143,116] let s:lib.Codec.encoding_table["30636"] = [143,117] let s:lib.Codec.encoding_table["31459"] = [143,118] let s:lib.Codec.encoding_table["33308"] = [143,119] let s:lib.Codec.encoding_table["39423"] = [143,120] let s:lib.Codec.encoding_table["20934"] = [143,121] let s:lib.Codec.encoding_table["24490"] = [143,122] let s:lib.Codec.encoding_table["26092"] = [143,123] let s:lib.Codec.encoding_table["26991"] = [143,124] let s:lib.Codec.encoding_table["27529"] = [143,125] let s:lib.Codec.encoding_table["28147"] = [143,126] let s:lib.Codec.encoding_table["28310"] = [143,128] let s:lib.Codec.encoding_table["28516"] = [143,129] let s:lib.Codec.encoding_table["30462"] = [143,130] let s:lib.Codec.encoding_table["32020"] = [143,131] let s:lib.Codec.encoding_table["24033"] = [143,132] let s:lib.Codec.encoding_table["36981"] = [143,133] let s:lib.Codec.encoding_table["37255"] = [143,134] let s:lib.Codec.encoding_table["38918"] = [143,135] let s:lib.Codec.encoding_table["20966"] = [143,136] let s:lib.Codec.encoding_table["21021"] = [143,137] let s:lib.Codec.encoding_table["25152"] = [143,138] let s:lib.Codec.encoding_table["26257"] = [143,139] let s:lib.Codec.encoding_table["26329"] = [143,140] let s:lib.Codec.encoding_table["28186"] = [143,141] let s:lib.Codec.encoding_table["24246"] = [143,142] let s:lib.Codec.encoding_table["32210"] = [143,143] let s:lib.Codec.encoding_table["32626"] = [143,144] let s:lib.Codec.encoding_table["26360"] = [143,145] let s:lib.Codec.encoding_table["34223"] = [143,146] let s:lib.Codec.encoding_table["34295"] = [143,147] let s:lib.Codec.encoding_table["35576"] = [143,148] let s:lib.Codec.encoding_table["21161"] = [143,149] let s:lib.Codec.encoding_table["21465"] = [143,150] let s:lib.Codec.encoding_table["22899"] = [143,151] let s:lib.Codec.encoding_table["24207"] = [143,152] let s:lib.Codec.encoding_table["24464"] = [143,153] let s:lib.Codec.encoding_table["24661"] = [143,154] let s:lib.Codec.encoding_table["37604"] = [143,155] let s:lib.Codec.encoding_table["38500"] = [143,156] let s:lib.Codec.encoding_table["20663"] = [143,157] let s:lib.Codec.encoding_table["20767"] = [143,158] let s:lib.Codec.encoding_table["21213"] = [143,159] let s:lib.Codec.encoding_table["21280"] = [143,160] let s:lib.Codec.encoding_table["21319"] = [143,161] let s:lib.Codec.encoding_table["21484"] = [143,162] let s:lib.Codec.encoding_table["21736"] = [143,163] let s:lib.Codec.encoding_table["21830"] = [143,164] let s:lib.Codec.encoding_table["21809"] = [143,165] let s:lib.Codec.encoding_table["22039"] = [143,166] let s:lib.Codec.encoding_table["22888"] = [143,167] let s:lib.Codec.encoding_table["22974"] = [143,168] let s:lib.Codec.encoding_table["23100"] = [143,169] let s:lib.Codec.encoding_table["23477"] = [143,170] let s:lib.Codec.encoding_table["23558"] = [143,171] let s:lib.Codec.encoding_table["23567"] = [143,172] let s:lib.Codec.encoding_table["23569"] = [143,173] let s:lib.Codec.encoding_table["23578"] = [143,174] let s:lib.Codec.encoding_table["24196"] = [143,175] let s:lib.Codec.encoding_table["24202"] = [143,176] let s:lib.Codec.encoding_table["24288"] = [143,177] let s:lib.Codec.encoding_table["24432"] = [143,178] let s:lib.Codec.encoding_table["25215"] = [143,179] let s:lib.Codec.encoding_table["25220"] = [143,180] let s:lib.Codec.encoding_table["25307"] = [143,181] let s:lib.Codec.encoding_table["25484"] = [143,182] let s:lib.Codec.encoding_table["25463"] = [143,183] let s:lib.Codec.encoding_table["26119"] = [143,184] let s:lib.Codec.encoding_table["26124"] = [143,185] let s:lib.Codec.encoding_table["26157"] = [143,186] let s:lib.Codec.encoding_table["26230"] = [143,187] let s:lib.Codec.encoding_table["26494"] = [143,188] let s:lib.Codec.encoding_table["26786"] = [143,189] let s:lib.Codec.encoding_table["27167"] = [143,190] let s:lib.Codec.encoding_table["27189"] = [143,191] let s:lib.Codec.encoding_table["27836"] = [143,192] let s:lib.Codec.encoding_table["28040"] = [143,193] let s:lib.Codec.encoding_table["28169"] = [143,194] let s:lib.Codec.encoding_table["28248"] = [143,195] let s:lib.Codec.encoding_table["28988"] = [143,196] let s:lib.Codec.encoding_table["28966"] = [143,197] let s:lib.Codec.encoding_table["29031"] = [143,198] let s:lib.Codec.encoding_table["30151"] = [143,199] let s:lib.Codec.encoding_table["30465"] = [143,200] let s:lib.Codec.encoding_table["30813"] = [143,201] let s:lib.Codec.encoding_table["30977"] = [143,202] let s:lib.Codec.encoding_table["31077"] = [143,203] let s:lib.Codec.encoding_table["31216"] = [143,204] let s:lib.Codec.encoding_table["31456"] = [143,205] let s:lib.Codec.encoding_table["31505"] = [143,206] let s:lib.Codec.encoding_table["31911"] = [143,207] let s:lib.Codec.encoding_table["32057"] = [143,208] let s:lib.Codec.encoding_table["32918"] = [143,209] let s:lib.Codec.encoding_table["33750"] = [143,210] let s:lib.Codec.encoding_table["33931"] = [143,211] let s:lib.Codec.encoding_table["34121"] = [143,212] let s:lib.Codec.encoding_table["34909"] = [143,213] let s:lib.Codec.encoding_table["35059"] = [143,214] let s:lib.Codec.encoding_table["35359"] = [143,215] let s:lib.Codec.encoding_table["35388"] = [143,216] let s:lib.Codec.encoding_table["35412"] = [143,217] let s:lib.Codec.encoding_table["35443"] = [143,218] let s:lib.Codec.encoding_table["35937"] = [143,219] let s:lib.Codec.encoding_table["36062"] = [143,220] let s:lib.Codec.encoding_table["37284"] = [143,221] let s:lib.Codec.encoding_table["37478"] = [143,222] let s:lib.Codec.encoding_table["37758"] = [143,223] let s:lib.Codec.encoding_table["37912"] = [143,224] let s:lib.Codec.encoding_table["38556"] = [143,225] let s:lib.Codec.encoding_table["38808"] = [143,226] let s:lib.Codec.encoding_table["19978"] = [143,227] let s:lib.Codec.encoding_table["19976"] = [143,228] let s:lib.Codec.encoding_table["19998"] = [143,229] let s:lib.Codec.encoding_table["20055"] = [143,230] let s:lib.Codec.encoding_table["20887"] = [143,231] let s:lib.Codec.encoding_table["21104"] = [143,232] let s:lib.Codec.encoding_table["22478"] = [143,233] let s:lib.Codec.encoding_table["22580"] = [143,234] let s:lib.Codec.encoding_table["22732"] = [143,235] let s:lib.Codec.encoding_table["23330"] = [143,236] let s:lib.Codec.encoding_table["24120"] = [143,237] let s:lib.Codec.encoding_table["24773"] = [143,238] let s:lib.Codec.encoding_table["25854"] = [143,239] let s:lib.Codec.encoding_table["26465"] = [143,240] let s:lib.Codec.encoding_table["26454"] = [143,241] let s:lib.Codec.encoding_table["27972"] = [143,242] let s:lib.Codec.encoding_table["29366"] = [143,243] let s:lib.Codec.encoding_table["30067"] = [143,244] let s:lib.Codec.encoding_table["31331"] = [143,245] let s:lib.Codec.encoding_table["33976"] = [143,246] let s:lib.Codec.encoding_table["35698"] = [143,247] let s:lib.Codec.encoding_table["37304"] = [143,248] let s:lib.Codec.encoding_table["37664"] = [143,249] let s:lib.Codec.encoding_table["22065"] = [143,250] let s:lib.Codec.encoding_table["22516"] = [143,251] let s:lib.Codec.encoding_table["39166"] = [143,252] let s:lib.Codec.encoding_table["25325"] = [144,64] let s:lib.Codec.encoding_table["26893"] = [144,65] let s:lib.Codec.encoding_table["27542"] = [144,66] let s:lib.Codec.encoding_table["29165"] = [144,67] let s:lib.Codec.encoding_table["32340"] = [144,68] let s:lib.Codec.encoding_table["32887"] = [144,69] let s:lib.Codec.encoding_table["33394"] = [144,70] let s:lib.Codec.encoding_table["35302"] = [144,71] let s:lib.Codec.encoding_table["39135"] = [144,72] let s:lib.Codec.encoding_table["34645"] = [144,73] let s:lib.Codec.encoding_table["36785"] = [144,74] let s:lib.Codec.encoding_table["23611"] = [144,75] let s:lib.Codec.encoding_table["20280"] = [144,76] let s:lib.Codec.encoding_table["20449"] = [144,77] let s:lib.Codec.encoding_table["20405"] = [144,78] let s:lib.Codec.encoding_table["21767"] = [144,79] let s:lib.Codec.encoding_table["23072"] = [144,80] let s:lib.Codec.encoding_table["23517"] = [144,81] let s:lib.Codec.encoding_table["23529"] = [144,82] let s:lib.Codec.encoding_table["24515"] = [144,83] let s:lib.Codec.encoding_table["24910"] = [144,84] let s:lib.Codec.encoding_table["25391"] = [144,85] let s:lib.Codec.encoding_table["26032"] = [144,86] let s:lib.Codec.encoding_table["26187"] = [144,87] let s:lib.Codec.encoding_table["26862"] = [144,88] let s:lib.Codec.encoding_table["27035"] = [144,89] let s:lib.Codec.encoding_table["28024"] = [144,90] let s:lib.Codec.encoding_table["28145"] = [144,91] let s:lib.Codec.encoding_table["30003"] = [144,92] let s:lib.Codec.encoding_table["30137"] = [144,93] let s:lib.Codec.encoding_table["30495"] = [144,94] let s:lib.Codec.encoding_table["31070"] = [144,95] let s:lib.Codec.encoding_table["31206"] = [144,96] let s:lib.Codec.encoding_table["32051"] = [144,97] let s:lib.Codec.encoding_table["33251"] = [144,98] let s:lib.Codec.encoding_table["33455"] = [144,99] let s:lib.Codec.encoding_table["34218"] = [144,100] let s:lib.Codec.encoding_table["35242"] = [144,101] let s:lib.Codec.encoding_table["35386"] = [144,102] let s:lib.Codec.encoding_table["36523"] = [144,103] let s:lib.Codec.encoding_table["36763"] = [144,104] let s:lib.Codec.encoding_table["36914"] = [144,105] let s:lib.Codec.encoding_table["37341"] = [144,106] let s:lib.Codec.encoding_table["38663"] = [144,107] let s:lib.Codec.encoding_table["20154"] = [144,108] let s:lib.Codec.encoding_table["20161"] = [144,109] let s:lib.Codec.encoding_table["20995"] = [144,110] let s:lib.Codec.encoding_table["22645"] = [144,111] let s:lib.Codec.encoding_table["22764"] = [144,112] let s:lib.Codec.encoding_table["23563"] = [144,113] let s:lib.Codec.encoding_table["29978"] = [144,114] let s:lib.Codec.encoding_table["23613"] = [144,115] let s:lib.Codec.encoding_table["33102"] = [144,116] let s:lib.Codec.encoding_table["35338"] = [144,117] let s:lib.Codec.encoding_table["36805"] = [144,118] let s:lib.Codec.encoding_table["38499"] = [144,119] let s:lib.Codec.encoding_table["38765"] = [144,120] let s:lib.Codec.encoding_table["31525"] = [144,121] let s:lib.Codec.encoding_table["35535"] = [144,122] let s:lib.Codec.encoding_table["38920"] = [144,123] let s:lib.Codec.encoding_table["37218"] = [144,124] let s:lib.Codec.encoding_table["22259"] = [144,125] let s:lib.Codec.encoding_table["21416"] = [144,126] let s:lib.Codec.encoding_table["36887"] = [144,128] let s:lib.Codec.encoding_table["21561"] = [144,129] let s:lib.Codec.encoding_table["22402"] = [144,130] let s:lib.Codec.encoding_table["24101"] = [144,131] let s:lib.Codec.encoding_table["25512"] = [144,132] let s:lib.Codec.encoding_table["27700"] = [144,133] let s:lib.Codec.encoding_table["28810"] = [144,134] let s:lib.Codec.encoding_table["30561"] = [144,135] let s:lib.Codec.encoding_table["31883"] = [144,136] let s:lib.Codec.encoding_table["32736"] = [144,137] let s:lib.Codec.encoding_table["34928"] = [144,138] let s:lib.Codec.encoding_table["36930"] = [144,139] let s:lib.Codec.encoding_table["37204"] = [144,140] let s:lib.Codec.encoding_table["37648"] = [144,141] let s:lib.Codec.encoding_table["37656"] = [144,142] let s:lib.Codec.encoding_table["38543"] = [144,143] let s:lib.Codec.encoding_table["29790"] = [144,144] let s:lib.Codec.encoding_table["39620"] = [144,145] let s:lib.Codec.encoding_table["23815"] = [144,146] let s:lib.Codec.encoding_table["23913"] = [144,147] let s:lib.Codec.encoding_table["25968"] = [144,148] let s:lib.Codec.encoding_table["26530"] = [144,149] let s:lib.Codec.encoding_table["36264"] = [144,150] let s:lib.Codec.encoding_table["38619"] = [144,151] let s:lib.Codec.encoding_table["25454"] = [144,152] let s:lib.Codec.encoding_table["26441"] = [144,153] let s:lib.Codec.encoding_table["26905"] = [144,154] let s:lib.Codec.encoding_table["33733"] = [144,155] let s:lib.Codec.encoding_table["38935"] = [144,156] let s:lib.Codec.encoding_table["38592"] = [144,157] let s:lib.Codec.encoding_table["35070"] = [144,158] let s:lib.Codec.encoding_table["28548"] = [144,159] let s:lib.Codec.encoding_table["25722"] = [144,160] let s:lib.Codec.encoding_table["23544"] = [144,161] let s:lib.Codec.encoding_table["19990"] = [144,162] let s:lib.Codec.encoding_table["28716"] = [144,163] let s:lib.Codec.encoding_table["30045"] = [144,164] let s:lib.Codec.encoding_table["26159"] = [144,165] let s:lib.Codec.encoding_table["20932"] = [144,166] let s:lib.Codec.encoding_table["21046"] = [144,167] let s:lib.Codec.encoding_table["21218"] = [144,168] let s:lib.Codec.encoding_table["22995"] = [144,169] let s:lib.Codec.encoding_table["24449"] = [144,170] let s:lib.Codec.encoding_table["24615"] = [144,171] let s:lib.Codec.encoding_table["25104"] = [144,172] let s:lib.Codec.encoding_table["25919"] = [144,173] let s:lib.Codec.encoding_table["25972"] = [144,174] let s:lib.Codec.encoding_table["26143"] = [144,175] let s:lib.Codec.encoding_table["26228"] = [144,176] let s:lib.Codec.encoding_table["26866"] = [144,177] let s:lib.Codec.encoding_table["26646"] = [144,178] let s:lib.Codec.encoding_table["27491"] = [144,179] let s:lib.Codec.encoding_table["28165"] = [144,180] let s:lib.Codec.encoding_table["29298"] = [144,181] let s:lib.Codec.encoding_table["29983"] = [144,182] let s:lib.Codec.encoding_table["30427"] = [144,183] let s:lib.Codec.encoding_table["31934"] = [144,184] let s:lib.Codec.encoding_table["32854"] = [144,185] let s:lib.Codec.encoding_table["22768"] = [144,186] let s:lib.Codec.encoding_table["35069"] = [144,187] let s:lib.Codec.encoding_table["35199"] = [144,188] let s:lib.Codec.encoding_table["35488"] = [144,189] let s:lib.Codec.encoding_table["35475"] = [144,190] let s:lib.Codec.encoding_table["35531"] = [144,191] let s:lib.Codec.encoding_table["36893"] = [144,192] let s:lib.Codec.encoding_table["37266"] = [144,193] let s:lib.Codec.encoding_table["38738"] = [144,194] let s:lib.Codec.encoding_table["38745"] = [144,195] let s:lib.Codec.encoding_table["25993"] = [144,196] let s:lib.Codec.encoding_table["31246"] = [144,197] let s:lib.Codec.encoding_table["33030"] = [144,198] let s:lib.Codec.encoding_table["38587"] = [144,199] let s:lib.Codec.encoding_table["24109"] = [144,200] let s:lib.Codec.encoding_table["24796"] = [144,201] let s:lib.Codec.encoding_table["25114"] = [144,202] let s:lib.Codec.encoding_table["26021"] = [144,203] let s:lib.Codec.encoding_table["26132"] = [144,204] let s:lib.Codec.encoding_table["26512"] = [144,205] let s:lib.Codec.encoding_table["30707"] = [144,206] let s:lib.Codec.encoding_table["31309"] = [144,207] let s:lib.Codec.encoding_table["31821"] = [144,208] let s:lib.Codec.encoding_table["32318"] = [144,209] let s:lib.Codec.encoding_table["33034"] = [144,210] let s:lib.Codec.encoding_table["36012"] = [144,211] let s:lib.Codec.encoding_table["36196"] = [144,212] let s:lib.Codec.encoding_table["36321"] = [144,213] let s:lib.Codec.encoding_table["36447"] = [144,214] let s:lib.Codec.encoding_table["30889"] = [144,215] let s:lib.Codec.encoding_table["20999"] = [144,216] let s:lib.Codec.encoding_table["25305"] = [144,217] let s:lib.Codec.encoding_table["25509"] = [144,218] let s:lib.Codec.encoding_table["25666"] = [144,219] let s:lib.Codec.encoding_table["25240"] = [144,220] let s:lib.Codec.encoding_table["35373"] = [144,221] let s:lib.Codec.encoding_table["31363"] = [144,222] let s:lib.Codec.encoding_table["31680"] = [144,223] let s:lib.Codec.encoding_table["35500"] = [144,224] let s:lib.Codec.encoding_table["38634"] = [144,225] let s:lib.Codec.encoding_table["32118"] = [144,226] let s:lib.Codec.encoding_table["33292"] = [144,227] let s:lib.Codec.encoding_table["34633"] = [144,228] let s:lib.Codec.encoding_table["20185"] = [144,229] let s:lib.Codec.encoding_table["20808"] = [144,230] let s:lib.Codec.encoding_table["21315"] = [144,231] let s:lib.Codec.encoding_table["21344"] = [144,232] let s:lib.Codec.encoding_table["23459"] = [144,233] let s:lib.Codec.encoding_table["23554"] = [144,234] let s:lib.Codec.encoding_table["23574"] = [144,235] let s:lib.Codec.encoding_table["24029"] = [144,236] let s:lib.Codec.encoding_table["25126"] = [144,237] let s:lib.Codec.encoding_table["25159"] = [144,238] let s:lib.Codec.encoding_table["25776"] = [144,239] let s:lib.Codec.encoding_table["26643"] = [144,240] let s:lib.Codec.encoding_table["26676"] = [144,241] let s:lib.Codec.encoding_table["27849"] = [144,242] let s:lib.Codec.encoding_table["27973"] = [144,243] let s:lib.Codec.encoding_table["27927"] = [144,244] let s:lib.Codec.encoding_table["26579"] = [144,245] let s:lib.Codec.encoding_table["28508"] = [144,246] let s:lib.Codec.encoding_table["29006"] = [144,247] let s:lib.Codec.encoding_table["29053"] = [144,248] let s:lib.Codec.encoding_table["26059"] = [144,249] let s:lib.Codec.encoding_table["31359"] = [144,250] let s:lib.Codec.encoding_table["31661"] = [144,251] let s:lib.Codec.encoding_table["32218"] = [144,252] let s:lib.Codec.encoding_table["32330"] = [145,64] let s:lib.Codec.encoding_table["32680"] = [145,65] let s:lib.Codec.encoding_table["33146"] = [145,66] let s:lib.Codec.encoding_table["33307"] = [145,67] let s:lib.Codec.encoding_table["33337"] = [145,68] let s:lib.Codec.encoding_table["34214"] = [145,69] let s:lib.Codec.encoding_table["35438"] = [145,70] let s:lib.Codec.encoding_table["36046"] = [145,71] let s:lib.Codec.encoding_table["36341"] = [145,72] let s:lib.Codec.encoding_table["36984"] = [145,73] let s:lib.Codec.encoding_table["36983"] = [145,74] let s:lib.Codec.encoding_table["37549"] = [145,75] let s:lib.Codec.encoding_table["37521"] = [145,76] let s:lib.Codec.encoding_table["38275"] = [145,77] let s:lib.Codec.encoding_table["39854"] = [145,78] let s:lib.Codec.encoding_table["21069"] = [145,79] let s:lib.Codec.encoding_table["21892"] = [145,80] let s:lib.Codec.encoding_table["28472"] = [145,81] let s:lib.Codec.encoding_table["28982"] = [145,82] let s:lib.Codec.encoding_table["20840"] = [145,83] let s:lib.Codec.encoding_table["31109"] = [145,84] let s:lib.Codec.encoding_table["32341"] = [145,85] let s:lib.Codec.encoding_table["33203"] = [145,86] let s:lib.Codec.encoding_table["31950"] = [145,87] let s:lib.Codec.encoding_table["22092"] = [145,88] let s:lib.Codec.encoding_table["22609"] = [145,89] let s:lib.Codec.encoding_table["23720"] = [145,90] let s:lib.Codec.encoding_table["25514"] = [145,91] let s:lib.Codec.encoding_table["26366"] = [145,92] let s:lib.Codec.encoding_table["26365"] = [145,93] let s:lib.Codec.encoding_table["26970"] = [145,94] let s:lib.Codec.encoding_table["29401"] = [145,95] let s:lib.Codec.encoding_table["30095"] = [145,96] let s:lib.Codec.encoding_table["30094"] = [145,97] let s:lib.Codec.encoding_table["30990"] = [145,98] let s:lib.Codec.encoding_table["31062"] = [145,99] let s:lib.Codec.encoding_table["31199"] = [145,100] let s:lib.Codec.encoding_table["31895"] = [145,101] let s:lib.Codec.encoding_table["32032"] = [145,102] let s:lib.Codec.encoding_table["32068"] = [145,103] let s:lib.Codec.encoding_table["34311"] = [145,104] let s:lib.Codec.encoding_table["35380"] = [145,105] let s:lib.Codec.encoding_table["38459"] = [145,106] let s:lib.Codec.encoding_table["36961"] = [145,107] let s:lib.Codec.encoding_table["40736"] = [145,108] let s:lib.Codec.encoding_table["20711"] = [145,109] let s:lib.Codec.encoding_table["21109"] = [145,110] let s:lib.Codec.encoding_table["21452"] = [145,111] let s:lib.Codec.encoding_table["21474"] = [145,112] let s:lib.Codec.encoding_table["20489"] = [145,113] let s:lib.Codec.encoding_table["21930"] = [145,114] let s:lib.Codec.encoding_table["22766"] = [145,115] let s:lib.Codec.encoding_table["22863"] = [145,116] let s:lib.Codec.encoding_table["29245"] = [145,117] let s:lib.Codec.encoding_table["23435"] = [145,118] let s:lib.Codec.encoding_table["23652"] = [145,119] let s:lib.Codec.encoding_table["21277"] = [145,120] let s:lib.Codec.encoding_table["24803"] = [145,121] let s:lib.Codec.encoding_table["24819"] = [145,122] let s:lib.Codec.encoding_table["25436"] = [145,123] let s:lib.Codec.encoding_table["25475"] = [145,124] let s:lib.Codec.encoding_table["25407"] = [145,125] let s:lib.Codec.encoding_table["25531"] = [145,126] let s:lib.Codec.encoding_table["25805"] = [145,128] let s:lib.Codec.encoding_table["26089"] = [145,129] let s:lib.Codec.encoding_table["26361"] = [145,130] let s:lib.Codec.encoding_table["24035"] = [145,131] let s:lib.Codec.encoding_table["27085"] = [145,132] let s:lib.Codec.encoding_table["27133"] = [145,133] let s:lib.Codec.encoding_table["28437"] = [145,134] let s:lib.Codec.encoding_table["29157"] = [145,135] let s:lib.Codec.encoding_table["20105"] = [145,136] let s:lib.Codec.encoding_table["30185"] = [145,137] let s:lib.Codec.encoding_table["30456"] = [145,138] let s:lib.Codec.encoding_table["31379"] = [145,139] let s:lib.Codec.encoding_table["31967"] = [145,140] let s:lib.Codec.encoding_table["32207"] = [145,141] let s:lib.Codec.encoding_table["32156"] = [145,142] let s:lib.Codec.encoding_table["32865"] = [145,143] let s:lib.Codec.encoding_table["33609"] = [145,144] let s:lib.Codec.encoding_table["33624"] = [145,145] let s:lib.Codec.encoding_table["33900"] = [145,146] let s:lib.Codec.encoding_table["33980"] = [145,147] let s:lib.Codec.encoding_table["34299"] = [145,148] let s:lib.Codec.encoding_table["35013"] = [145,149] let s:lib.Codec.encoding_table["36208"] = [145,150] let s:lib.Codec.encoding_table["36865"] = [145,151] let s:lib.Codec.encoding_table["36973"] = [145,152] let s:lib.Codec.encoding_table["37783"] = [145,153] let s:lib.Codec.encoding_table["38684"] = [145,154] let s:lib.Codec.encoding_table["39442"] = [145,155] let s:lib.Codec.encoding_table["20687"] = [145,156] let s:lib.Codec.encoding_table["22679"] = [145,157] let s:lib.Codec.encoding_table["24974"] = [145,158] let s:lib.Codec.encoding_table["33235"] = [145,159] let s:lib.Codec.encoding_table["34101"] = [145,160] let s:lib.Codec.encoding_table["36104"] = [145,161] let s:lib.Codec.encoding_table["36896"] = [145,162] let s:lib.Codec.encoding_table["20419"] = [145,163] let s:lib.Codec.encoding_table["20596"] = [145,164] let s:lib.Codec.encoding_table["21063"] = [145,165] let s:lib.Codec.encoding_table["21363"] = [145,166] let s:lib.Codec.encoding_table["24687"] = [145,167] let s:lib.Codec.encoding_table["25417"] = [145,168] let s:lib.Codec.encoding_table["26463"] = [145,169] let s:lib.Codec.encoding_table["28204"] = [145,170] let s:lib.Codec.encoding_table["36275"] = [145,171] let s:lib.Codec.encoding_table["36895"] = [145,172] let s:lib.Codec.encoding_table["20439"] = [145,173] let s:lib.Codec.encoding_table["23646"] = [145,174] let s:lib.Codec.encoding_table["36042"] = [145,175] let s:lib.Codec.encoding_table["26063"] = [145,176] let s:lib.Codec.encoding_table["32154"] = [145,177] let s:lib.Codec.encoding_table["21330"] = [145,178] let s:lib.Codec.encoding_table["34966"] = [145,179] let s:lib.Codec.encoding_table["20854"] = [145,180] let s:lib.Codec.encoding_table["25539"] = [145,181] let s:lib.Codec.encoding_table["23384"] = [145,182] let s:lib.Codec.encoding_table["23403"] = [145,183] let s:lib.Codec.encoding_table["23562"] = [145,184] let s:lib.Codec.encoding_table["25613"] = [145,185] let s:lib.Codec.encoding_table["26449"] = [145,186] let s:lib.Codec.encoding_table["36956"] = [145,187] let s:lib.Codec.encoding_table["20182"] = [145,188] let s:lib.Codec.encoding_table["22810"] = [145,189] let s:lib.Codec.encoding_table["22826"] = [145,190] let s:lib.Codec.encoding_table["27760"] = [145,191] let s:lib.Codec.encoding_table["35409"] = [145,192] let s:lib.Codec.encoding_table["21822"] = [145,193] let s:lib.Codec.encoding_table["22549"] = [145,194] let s:lib.Codec.encoding_table["22949"] = [145,195] let s:lib.Codec.encoding_table["24816"] = [145,196] let s:lib.Codec.encoding_table["25171"] = [145,197] let s:lib.Codec.encoding_table["26561"] = [145,198] let s:lib.Codec.encoding_table["33333"] = [145,199] let s:lib.Codec.encoding_table["26965"] = [145,200] let s:lib.Codec.encoding_table["38464"] = [145,201] let s:lib.Codec.encoding_table["39364"] = [145,202] let s:lib.Codec.encoding_table["39464"] = [145,203] let s:lib.Codec.encoding_table["20307"] = [145,204] let s:lib.Codec.encoding_table["22534"] = [145,205] let s:lib.Codec.encoding_table["23550"] = [145,206] let s:lib.Codec.encoding_table["32784"] = [145,207] let s:lib.Codec.encoding_table["23729"] = [145,208] let s:lib.Codec.encoding_table["24111"] = [145,209] let s:lib.Codec.encoding_table["24453"] = [145,210] let s:lib.Codec.encoding_table["24608"] = [145,211] let s:lib.Codec.encoding_table["24907"] = [145,212] let s:lib.Codec.encoding_table["25140"] = [145,213] let s:lib.Codec.encoding_table["26367"] = [145,214] let s:lib.Codec.encoding_table["27888"] = [145,215] let s:lib.Codec.encoding_table["28382"] = [145,216] let s:lib.Codec.encoding_table["32974"] = [145,217] let s:lib.Codec.encoding_table["33151"] = [145,218] let s:lib.Codec.encoding_table["33492"] = [145,219] let s:lib.Codec.encoding_table["34955"] = [145,220] let s:lib.Codec.encoding_table["36024"] = [145,221] let s:lib.Codec.encoding_table["36864"] = [145,222] let s:lib.Codec.encoding_table["36910"] = [145,223] let s:lib.Codec.encoding_table["38538"] = [145,224] let s:lib.Codec.encoding_table["40667"] = [145,225] let s:lib.Codec.encoding_table["39899"] = [145,226] let s:lib.Codec.encoding_table["20195"] = [145,227] let s:lib.Codec.encoding_table["21488"] = [145,228] let s:lib.Codec.encoding_table["22823"] = [145,229] let s:lib.Codec.encoding_table["31532"] = [145,230] let s:lib.Codec.encoding_table["37261"] = [145,231] let s:lib.Codec.encoding_table["38988"] = [145,232] let s:lib.Codec.encoding_table["40441"] = [145,233] let s:lib.Codec.encoding_table["28381"] = [145,234] let s:lib.Codec.encoding_table["28711"] = [145,235] let s:lib.Codec.encoding_table["21331"] = [145,236] let s:lib.Codec.encoding_table["21828"] = [145,237] let s:lib.Codec.encoding_table["23429"] = [145,238] let s:lib.Codec.encoding_table["25176"] = [145,239] let s:lib.Codec.encoding_table["25246"] = [145,240] let s:lib.Codec.encoding_table["25299"] = [145,241] let s:lib.Codec.encoding_table["27810"] = [145,242] let s:lib.Codec.encoding_table["28655"] = [145,243] let s:lib.Codec.encoding_table["29730"] = [145,244] let s:lib.Codec.encoding_table["35351"] = [145,245] let s:lib.Codec.encoding_table["37944"] = [145,246] let s:lib.Codec.encoding_table["28609"] = [145,247] let s:lib.Codec.encoding_table["35582"] = [145,248] let s:lib.Codec.encoding_table["33592"] = [145,249] let s:lib.Codec.encoding_table["20967"] = [145,250] let s:lib.Codec.encoding_table["34552"] = [145,251] let s:lib.Codec.encoding_table["21482"] = [145,252] let s:lib.Codec.encoding_table["21481"] = [146,64] let s:lib.Codec.encoding_table["20294"] = [146,65] let s:lib.Codec.encoding_table["36948"] = [146,66] let s:lib.Codec.encoding_table["36784"] = [146,67] let s:lib.Codec.encoding_table["22890"] = [146,68] let s:lib.Codec.encoding_table["33073"] = [146,69] let s:lib.Codec.encoding_table["24061"] = [146,70] let s:lib.Codec.encoding_table["31466"] = [146,71] let s:lib.Codec.encoding_table["36799"] = [146,72] let s:lib.Codec.encoding_table["26842"] = [146,73] let s:lib.Codec.encoding_table["35895"] = [146,74] let s:lib.Codec.encoding_table["29432"] = [146,75] let s:lib.Codec.encoding_table["40008"] = [146,76] let s:lib.Codec.encoding_table["27197"] = [146,77] let s:lib.Codec.encoding_table["35504"] = [146,78] let s:lib.Codec.encoding_table["20025"] = [146,79] let s:lib.Codec.encoding_table["21336"] = [146,80] let s:lib.Codec.encoding_table["22022"] = [146,81] let s:lib.Codec.encoding_table["22374"] = [146,82] let s:lib.Codec.encoding_table["25285"] = [146,83] let s:lib.Codec.encoding_table["25506"] = [146,84] let s:lib.Codec.encoding_table["26086"] = [146,85] let s:lib.Codec.encoding_table["27470"] = [146,86] let s:lib.Codec.encoding_table["28129"] = [146,87] let s:lib.Codec.encoding_table["28251"] = [146,88] let s:lib.Codec.encoding_table["28845"] = [146,89] let s:lib.Codec.encoding_table["30701"] = [146,90] let s:lib.Codec.encoding_table["31471"] = [146,91] let s:lib.Codec.encoding_table["31658"] = [146,92] let s:lib.Codec.encoding_table["32187"] = [146,93] let s:lib.Codec.encoding_table["32829"] = [146,94] let s:lib.Codec.encoding_table["32966"] = [146,95] let s:lib.Codec.encoding_table["34507"] = [146,96] let s:lib.Codec.encoding_table["35477"] = [146,97] let s:lib.Codec.encoding_table["37723"] = [146,98] let s:lib.Codec.encoding_table["22243"] = [146,99] let s:lib.Codec.encoding_table["22727"] = [146,100] let s:lib.Codec.encoding_table["24382"] = [146,101] let s:lib.Codec.encoding_table["26029"] = [146,102] let s:lib.Codec.encoding_table["26262"] = [146,103] let s:lib.Codec.encoding_table["27264"] = [146,104] let s:lib.Codec.encoding_table["27573"] = [146,105] let s:lib.Codec.encoding_table["30007"] = [146,106] let s:lib.Codec.encoding_table["35527"] = [146,107] let s:lib.Codec.encoding_table["20516"] = [146,108] let s:lib.Codec.encoding_table["30693"] = [146,109] let s:lib.Codec.encoding_table["22320"] = [146,110] let s:lib.Codec.encoding_table["24347"] = [146,111] let s:lib.Codec.encoding_table["24677"] = [146,112] let s:lib.Codec.encoding_table["26234"] = [146,113] let s:lib.Codec.encoding_table["27744"] = [146,114] let s:lib.Codec.encoding_table["30196"] = [146,115] let s:lib.Codec.encoding_table["31258"] = [146,116] let s:lib.Codec.encoding_table["32622"] = [146,117] let s:lib.Codec.encoding_table["33268"] = [146,118] let s:lib.Codec.encoding_table["34584"] = [146,119] let s:lib.Codec.encoding_table["36933"] = [146,120] let s:lib.Codec.encoding_table["39347"] = [146,121] let s:lib.Codec.encoding_table["31689"] = [146,122] let s:lib.Codec.encoding_table["30044"] = [146,123] let s:lib.Codec.encoding_table["31481"] = [146,124] let s:lib.Codec.encoding_table["31569"] = [146,125] let s:lib.Codec.encoding_table["33988"] = [146,126] let s:lib.Codec.encoding_table["36880"] = [146,128] let s:lib.Codec.encoding_table["31209"] = [146,129] let s:lib.Codec.encoding_table["31378"] = [146,130] let s:lib.Codec.encoding_table["33590"] = [146,131] let s:lib.Codec.encoding_table["23265"] = [146,132] let s:lib.Codec.encoding_table["30528"] = [146,133] let s:lib.Codec.encoding_table["20013"] = [146,134] let s:lib.Codec.encoding_table["20210"] = [146,135] let s:lib.Codec.encoding_table["23449"] = [146,136] let s:lib.Codec.encoding_table["24544"] = [146,137] let s:lib.Codec.encoding_table["25277"] = [146,138] let s:lib.Codec.encoding_table["26172"] = [146,139] let s:lib.Codec.encoding_table["26609"] = [146,140] let s:lib.Codec.encoding_table["27880"] = [146,141] let s:lib.Codec.encoding_table["34411"] = [146,142] let s:lib.Codec.encoding_table["34935"] = [146,143] let s:lib.Codec.encoding_table["35387"] = [146,144] let s:lib.Codec.encoding_table["37198"] = [146,145] let s:lib.Codec.encoding_table["37619"] = [146,146] let s:lib.Codec.encoding_table["39376"] = [146,147] let s:lib.Codec.encoding_table["27159"] = [146,148] let s:lib.Codec.encoding_table["28710"] = [146,149] let s:lib.Codec.encoding_table["29482"] = [146,150] let s:lib.Codec.encoding_table["33511"] = [146,151] let s:lib.Codec.encoding_table["33879"] = [146,152] let s:lib.Codec.encoding_table["36015"] = [146,153] let s:lib.Codec.encoding_table["19969"] = [146,154] let s:lib.Codec.encoding_table["20806"] = [146,155] let s:lib.Codec.encoding_table["20939"] = [146,156] let s:lib.Codec.encoding_table["21899"] = [146,157] let s:lib.Codec.encoding_table["23541"] = [146,158] let s:lib.Codec.encoding_table["24086"] = [146,159] let s:lib.Codec.encoding_table["24115"] = [146,160] let s:lib.Codec.encoding_table["24193"] = [146,161] let s:lib.Codec.encoding_table["24340"] = [146,162] let s:lib.Codec.encoding_table["24373"] = [146,163] let s:lib.Codec.encoding_table["24427"] = [146,164] let s:lib.Codec.encoding_table["24500"] = [146,165] let s:lib.Codec.encoding_table["25074"] = [146,166] let s:lib.Codec.encoding_table["25361"] = [146,167] let s:lib.Codec.encoding_table["26274"] = [146,168] let s:lib.Codec.encoding_table["26397"] = [146,169] let s:lib.Codec.encoding_table["28526"] = [146,170] let s:lib.Codec.encoding_table["29266"] = [146,171] let s:lib.Codec.encoding_table["30010"] = [146,172] let s:lib.Codec.encoding_table["30522"] = [146,173] let s:lib.Codec.encoding_table["32884"] = [146,174] let s:lib.Codec.encoding_table["33081"] = [146,175] let s:lib.Codec.encoding_table["33144"] = [146,176] let s:lib.Codec.encoding_table["34678"] = [146,177] let s:lib.Codec.encoding_table["35519"] = [146,178] let s:lib.Codec.encoding_table["35548"] = [146,179] let s:lib.Codec.encoding_table["36229"] = [146,180] let s:lib.Codec.encoding_table["36339"] = [146,181] let s:lib.Codec.encoding_table["37530"] = [146,182] let s:lib.Codec.encoding_table["38263"] = [146,183] let s:lib.Codec.encoding_table["38914"] = [146,184] let s:lib.Codec.encoding_table["40165"] = [146,185] let s:lib.Codec.encoding_table["21189"] = [146,186] let s:lib.Codec.encoding_table["25431"] = [146,187] let s:lib.Codec.encoding_table["30452"] = [146,188] let s:lib.Codec.encoding_table["26389"] = [146,189] let s:lib.Codec.encoding_table["27784"] = [146,190] let s:lib.Codec.encoding_table["29645"] = [146,191] let s:lib.Codec.encoding_table["36035"] = [146,192] let s:lib.Codec.encoding_table["37806"] = [146,193] let s:lib.Codec.encoding_table["38515"] = [146,194] let s:lib.Codec.encoding_table["27941"] = [146,195] let s:lib.Codec.encoding_table["22684"] = [146,196] let s:lib.Codec.encoding_table["26894"] = [146,197] let s:lib.Codec.encoding_table["27084"] = [146,198] let s:lib.Codec.encoding_table["36861"] = [146,199] let s:lib.Codec.encoding_table["37786"] = [146,200] let s:lib.Codec.encoding_table["30171"] = [146,201] let s:lib.Codec.encoding_table["36890"] = [146,202] let s:lib.Codec.encoding_table["22618"] = [146,203] let s:lib.Codec.encoding_table["26626"] = [146,204] let s:lib.Codec.encoding_table["25524"] = [146,205] let s:lib.Codec.encoding_table["27131"] = [146,206] let s:lib.Codec.encoding_table["20291"] = [146,207] let s:lib.Codec.encoding_table["28460"] = [146,208] let s:lib.Codec.encoding_table["26584"] = [146,209] let s:lib.Codec.encoding_table["36795"] = [146,210] let s:lib.Codec.encoding_table["34086"] = [146,211] let s:lib.Codec.encoding_table["32180"] = [146,212] let s:lib.Codec.encoding_table["37716"] = [146,213] let s:lib.Codec.encoding_table["26943"] = [146,214] let s:lib.Codec.encoding_table["28528"] = [146,215] let s:lib.Codec.encoding_table["22378"] = [146,216] let s:lib.Codec.encoding_table["22775"] = [146,217] let s:lib.Codec.encoding_table["23340"] = [146,218] let s:lib.Codec.encoding_table["32044"] = [146,219] let s:lib.Codec.encoding_table["29226"] = [146,220] let s:lib.Codec.encoding_table["21514"] = [146,221] let s:lib.Codec.encoding_table["37347"] = [146,222] let s:lib.Codec.encoding_table["40372"] = [146,223] let s:lib.Codec.encoding_table["20141"] = [146,224] let s:lib.Codec.encoding_table["20302"] = [146,225] let s:lib.Codec.encoding_table["20572"] = [146,226] let s:lib.Codec.encoding_table["20597"] = [146,227] let s:lib.Codec.encoding_table["21059"] = [146,228] let s:lib.Codec.encoding_table["35998"] = [146,229] let s:lib.Codec.encoding_table["21576"] = [146,230] let s:lib.Codec.encoding_table["22564"] = [146,231] let s:lib.Codec.encoding_table["23450"] = [146,232] let s:lib.Codec.encoding_table["24093"] = [146,233] let s:lib.Codec.encoding_table["24213"] = [146,234] let s:lib.Codec.encoding_table["24237"] = [146,235] let s:lib.Codec.encoding_table["24311"] = [146,236] let s:lib.Codec.encoding_table["24351"] = [146,237] let s:lib.Codec.encoding_table["24716"] = [146,238] let s:lib.Codec.encoding_table["25269"] = [146,239] let s:lib.Codec.encoding_table["25402"] = [146,240] let s:lib.Codec.encoding_table["25552"] = [146,241] let s:lib.Codec.encoding_table["26799"] = [146,242] let s:lib.Codec.encoding_table["27712"] = [146,243] let s:lib.Codec.encoding_table["30855"] = [146,244] let s:lib.Codec.encoding_table["31118"] = [146,245] let s:lib.Codec.encoding_table["31243"] = [146,246] let s:lib.Codec.encoding_table["32224"] = [146,247] let s:lib.Codec.encoding_table["33351"] = [146,248] let s:lib.Codec.encoding_table["35330"] = [146,249] let s:lib.Codec.encoding_table["35558"] = [146,250] let s:lib.Codec.encoding_table["36420"] = [146,251] let s:lib.Codec.encoding_table["36883"] = [146,252] let s:lib.Codec.encoding_table["37048"] = [147,64] let s:lib.Codec.encoding_table["37165"] = [147,65] let s:lib.Codec.encoding_table["37336"] = [147,66] let s:lib.Codec.encoding_table["40718"] = [147,67] let s:lib.Codec.encoding_table["27877"] = [147,68] let s:lib.Codec.encoding_table["25688"] = [147,69] let s:lib.Codec.encoding_table["25826"] = [147,70] let s:lib.Codec.encoding_table["25973"] = [147,71] let s:lib.Codec.encoding_table["28404"] = [147,72] let s:lib.Codec.encoding_table["30340"] = [147,73] let s:lib.Codec.encoding_table["31515"] = [147,74] let s:lib.Codec.encoding_table["36969"] = [147,75] let s:lib.Codec.encoding_table["37841"] = [147,76] let s:lib.Codec.encoding_table["28346"] = [147,77] let s:lib.Codec.encoding_table["21746"] = [147,78] let s:lib.Codec.encoding_table["24505"] = [147,79] let s:lib.Codec.encoding_table["25764"] = [147,80] let s:lib.Codec.encoding_table["36685"] = [147,81] let s:lib.Codec.encoding_table["36845"] = [147,82] let s:lib.Codec.encoding_table["37444"] = [147,83] let s:lib.Codec.encoding_table["20856"] = [147,84] let s:lib.Codec.encoding_table["22635"] = [147,85] let s:lib.Codec.encoding_table["22825"] = [147,86] let s:lib.Codec.encoding_table["23637"] = [147,87] let s:lib.Codec.encoding_table["24215"] = [147,88] let s:lib.Codec.encoding_table["28155"] = [147,89] let s:lib.Codec.encoding_table["32399"] = [147,90] let s:lib.Codec.encoding_table["29980"] = [147,91] let s:lib.Codec.encoding_table["36028"] = [147,92] let s:lib.Codec.encoding_table["36578"] = [147,93] let s:lib.Codec.encoding_table["39003"] = [147,94] let s:lib.Codec.encoding_table["28857"] = [147,95] let s:lib.Codec.encoding_table["20253"] = [147,96] let s:lib.Codec.encoding_table["27583"] = [147,97] let s:lib.Codec.encoding_table["28593"] = [147,98] let s:lib.Codec.encoding_table["30000"] = [147,99] let s:lib.Codec.encoding_table["38651"] = [147,100] let s:lib.Codec.encoding_table["20814"] = [147,101] let s:lib.Codec.encoding_table["21520"] = [147,102] let s:lib.Codec.encoding_table["22581"] = [147,103] let s:lib.Codec.encoding_table["22615"] = [147,104] let s:lib.Codec.encoding_table["22956"] = [147,105] let s:lib.Codec.encoding_table["23648"] = [147,106] let s:lib.Codec.encoding_table["24466"] = [147,107] let s:lib.Codec.encoding_table["26007"] = [147,108] let s:lib.Codec.encoding_table["26460"] = [147,109] let s:lib.Codec.encoding_table["28193"] = [147,110] let s:lib.Codec.encoding_table["30331"] = [147,111] let s:lib.Codec.encoding_table["33759"] = [147,112] let s:lib.Codec.encoding_table["36077"] = [147,113] let s:lib.Codec.encoding_table["36884"] = [147,114] let s:lib.Codec.encoding_table["37117"] = [147,115] let s:lib.Codec.encoding_table["37709"] = [147,116] let s:lib.Codec.encoding_table["30757"] = [147,117] let s:lib.Codec.encoding_table["30778"] = [147,118] let s:lib.Codec.encoding_table["21162"] = [147,119] let s:lib.Codec.encoding_table["24230"] = [147,120] let s:lib.Codec.encoding_table["22303"] = [147,121] let s:lib.Codec.encoding_table["22900"] = [147,122] let s:lib.Codec.encoding_table["24594"] = [147,123] let s:lib.Codec.encoding_table["20498"] = [147,124] let s:lib.Codec.encoding_table["20826"] = [147,125] let s:lib.Codec.encoding_table["20908"] = [147,126] let s:lib.Codec.encoding_table["20941"] = [147,128] let s:lib.Codec.encoding_table["20992"] = [147,129] let s:lib.Codec.encoding_table["21776"] = [147,130] let s:lib.Codec.encoding_table["22612"] = [147,131] let s:lib.Codec.encoding_table["22616"] = [147,132] let s:lib.Codec.encoding_table["22871"] = [147,133] let s:lib.Codec.encoding_table["23445"] = [147,134] let s:lib.Codec.encoding_table["23798"] = [147,135] let s:lib.Codec.encoding_table["23947"] = [147,136] let s:lib.Codec.encoding_table["24764"] = [147,137] let s:lib.Codec.encoding_table["25237"] = [147,138] let s:lib.Codec.encoding_table["25645"] = [147,139] let s:lib.Codec.encoding_table["26481"] = [147,140] let s:lib.Codec.encoding_table["26691"] = [147,141] let s:lib.Codec.encoding_table["26812"] = [147,142] let s:lib.Codec.encoding_table["26847"] = [147,143] let s:lib.Codec.encoding_table["30423"] = [147,144] let s:lib.Codec.encoding_table["28120"] = [147,145] let s:lib.Codec.encoding_table["28271"] = [147,146] let s:lib.Codec.encoding_table["28059"] = [147,147] let s:lib.Codec.encoding_table["28783"] = [147,148] let s:lib.Codec.encoding_table["29128"] = [147,149] let s:lib.Codec.encoding_table["24403"] = [147,150] let s:lib.Codec.encoding_table["30168"] = [147,151] let s:lib.Codec.encoding_table["31095"] = [147,152] let s:lib.Codec.encoding_table["31561"] = [147,153] let s:lib.Codec.encoding_table["31572"] = [147,154] let s:lib.Codec.encoding_table["31570"] = [147,155] let s:lib.Codec.encoding_table["31958"] = [147,156] let s:lib.Codec.encoding_table["32113"] = [147,157] let s:lib.Codec.encoding_table["21040"] = [147,158] let s:lib.Codec.encoding_table["33891"] = [147,159] let s:lib.Codec.encoding_table["34153"] = [147,160] let s:lib.Codec.encoding_table["34276"] = [147,161] let s:lib.Codec.encoding_table["35342"] = [147,162] let s:lib.Codec.encoding_table["35588"] = [147,163] let s:lib.Codec.encoding_table["35910"] = [147,164] let s:lib.Codec.encoding_table["36367"] = [147,165] let s:lib.Codec.encoding_table["36867"] = [147,166] let s:lib.Codec.encoding_table["36879"] = [147,167] let s:lib.Codec.encoding_table["37913"] = [147,168] let s:lib.Codec.encoding_table["38518"] = [147,169] let s:lib.Codec.encoding_table["38957"] = [147,170] let s:lib.Codec.encoding_table["39472"] = [147,171] let s:lib.Codec.encoding_table["38360"] = [147,172] let s:lib.Codec.encoding_table["20685"] = [147,173] let s:lib.Codec.encoding_table["21205"] = [147,174] let s:lib.Codec.encoding_table["21516"] = [147,175] let s:lib.Codec.encoding_table["22530"] = [147,176] let s:lib.Codec.encoding_table["23566"] = [147,177] let s:lib.Codec.encoding_table["24999"] = [147,178] let s:lib.Codec.encoding_table["25758"] = [147,179] let s:lib.Codec.encoding_table["27934"] = [147,180] let s:lib.Codec.encoding_table["30643"] = [147,181] let s:lib.Codec.encoding_table["31461"] = [147,182] let s:lib.Codec.encoding_table["33012"] = [147,183] let s:lib.Codec.encoding_table["33796"] = [147,184] let s:lib.Codec.encoding_table["36947"] = [147,185] let s:lib.Codec.encoding_table["37509"] = [147,186] let s:lib.Codec.encoding_table["23776"] = [147,187] let s:lib.Codec.encoding_table["40199"] = [147,188] let s:lib.Codec.encoding_table["21311"] = [147,189] let s:lib.Codec.encoding_table["24471"] = [147,190] let s:lib.Codec.encoding_table["24499"] = [147,191] let s:lib.Codec.encoding_table["28060"] = [147,192] let s:lib.Codec.encoding_table["29305"] = [147,193] let s:lib.Codec.encoding_table["30563"] = [147,194] let s:lib.Codec.encoding_table["31167"] = [147,195] let s:lib.Codec.encoding_table["31716"] = [147,196] let s:lib.Codec.encoding_table["27602"] = [147,197] let s:lib.Codec.encoding_table["29420"] = [147,198] let s:lib.Codec.encoding_table["35501"] = [147,199] let s:lib.Codec.encoding_table["26627"] = [147,200] let s:lib.Codec.encoding_table["27233"] = [147,201] let s:lib.Codec.encoding_table["20984"] = [147,202] let s:lib.Codec.encoding_table["31361"] = [147,203] let s:lib.Codec.encoding_table["26932"] = [147,204] let s:lib.Codec.encoding_table["23626"] = [147,205] let s:lib.Codec.encoding_table["40182"] = [147,206] let s:lib.Codec.encoding_table["33515"] = [147,207] let s:lib.Codec.encoding_table["23493"] = [147,208] let s:lib.Codec.encoding_table["37193"] = [147,209] let s:lib.Codec.encoding_table["28702"] = [147,210] let s:lib.Codec.encoding_table["22136"] = [147,211] let s:lib.Codec.encoding_table["23663"] = [147,212] let s:lib.Codec.encoding_table["24775"] = [147,213] let s:lib.Codec.encoding_table["25958"] = [147,214] let s:lib.Codec.encoding_table["27788"] = [147,215] let s:lib.Codec.encoding_table["35930"] = [147,216] let s:lib.Codec.encoding_table["36929"] = [147,217] let s:lib.Codec.encoding_table["38931"] = [147,218] let s:lib.Codec.encoding_table["21585"] = [147,219] let s:lib.Codec.encoding_table["26311"] = [147,220] let s:lib.Codec.encoding_table["37389"] = [147,221] let s:lib.Codec.encoding_table["22856"] = [147,222] let s:lib.Codec.encoding_table["37027"] = [147,223] let s:lib.Codec.encoding_table["20869"] = [147,224] let s:lib.Codec.encoding_table["20045"] = [147,225] let s:lib.Codec.encoding_table["20970"] = [147,226] let s:lib.Codec.encoding_table["34201"] = [147,227] let s:lib.Codec.encoding_table["35598"] = [147,228] let s:lib.Codec.encoding_table["28760"] = [147,229] let s:lib.Codec.encoding_table["25466"] = [147,230] let s:lib.Codec.encoding_table["37707"] = [147,231] let s:lib.Codec.encoding_table["26978"] = [147,232] let s:lib.Codec.encoding_table["39348"] = [147,233] let s:lib.Codec.encoding_table["32260"] = [147,234] let s:lib.Codec.encoding_table["30071"] = [147,235] let s:lib.Codec.encoding_table["21335"] = [147,236] let s:lib.Codec.encoding_table["26976"] = [147,237] let s:lib.Codec.encoding_table["36575"] = [147,238] let s:lib.Codec.encoding_table["38627"] = [147,239] let s:lib.Codec.encoding_table["27741"] = [147,240] let s:lib.Codec.encoding_table["20108"] = [147,241] let s:lib.Codec.encoding_table["23612"] = [147,242] let s:lib.Codec.encoding_table["24336"] = [147,243] let s:lib.Codec.encoding_table["36841"] = [147,244] let s:lib.Codec.encoding_table["21250"] = [147,245] let s:lib.Codec.encoding_table["36049"] = [147,246] let s:lib.Codec.encoding_table["32905"] = [147,247] let s:lib.Codec.encoding_table["34425"] = [147,248] let s:lib.Codec.encoding_table["24319"] = [147,249] let s:lib.Codec.encoding_table["26085"] = [147,250] let s:lib.Codec.encoding_table["20083"] = [147,251] let s:lib.Codec.encoding_table["20837"] = [147,252] let s:lib.Codec.encoding_table["22914"] = [148,64] let s:lib.Codec.encoding_table["23615"] = [148,65] let s:lib.Codec.encoding_table["38894"] = [148,66] let s:lib.Codec.encoding_table["20219"] = [148,67] let s:lib.Codec.encoding_table["22922"] = [148,68] let s:lib.Codec.encoding_table["24525"] = [148,69] let s:lib.Codec.encoding_table["35469"] = [148,70] let s:lib.Codec.encoding_table["28641"] = [148,71] let s:lib.Codec.encoding_table["31152"] = [148,72] let s:lib.Codec.encoding_table["31074"] = [148,73] let s:lib.Codec.encoding_table["23527"] = [148,74] let s:lib.Codec.encoding_table["33905"] = [148,75] let s:lib.Codec.encoding_table["29483"] = [148,76] let s:lib.Codec.encoding_table["29105"] = [148,77] let s:lib.Codec.encoding_table["24180"] = [148,78] let s:lib.Codec.encoding_table["24565"] = [148,79] let s:lib.Codec.encoding_table["25467"] = [148,80] let s:lib.Codec.encoding_table["25754"] = [148,81] let s:lib.Codec.encoding_table["29123"] = [148,82] let s:lib.Codec.encoding_table["31896"] = [148,83] let s:lib.Codec.encoding_table["20035"] = [148,84] let s:lib.Codec.encoding_table["24316"] = [148,85] let s:lib.Codec.encoding_table["20043"] = [148,86] let s:lib.Codec.encoding_table["22492"] = [148,87] let s:lib.Codec.encoding_table["22178"] = [148,88] let s:lib.Codec.encoding_table["24745"] = [148,89] let s:lib.Codec.encoding_table["28611"] = [148,90] let s:lib.Codec.encoding_table["32013"] = [148,91] let s:lib.Codec.encoding_table["33021"] = [148,92] let s:lib.Codec.encoding_table["33075"] = [148,93] let s:lib.Codec.encoding_table["33215"] = [148,94] let s:lib.Codec.encoding_table["36786"] = [148,95] let s:lib.Codec.encoding_table["35223"] = [148,96] let s:lib.Codec.encoding_table["34468"] = [148,97] let s:lib.Codec.encoding_table["24052"] = [148,98] let s:lib.Codec.encoding_table["25226"] = [148,99] let s:lib.Codec.encoding_table["25773"] = [148,100] let s:lib.Codec.encoding_table["35207"] = [148,101] let s:lib.Codec.encoding_table["26487"] = [148,102] let s:lib.Codec.encoding_table["27874"] = [148,103] let s:lib.Codec.encoding_table["27966"] = [148,104] let s:lib.Codec.encoding_table["29750"] = [148,105] let s:lib.Codec.encoding_table["30772"] = [148,106] let s:lib.Codec.encoding_table["23110"] = [148,107] let s:lib.Codec.encoding_table["32629"] = [148,108] let s:lib.Codec.encoding_table["33453"] = [148,109] let s:lib.Codec.encoding_table["39340"] = [148,110] let s:lib.Codec.encoding_table["20467"] = [148,111] let s:lib.Codec.encoding_table["24259"] = [148,112] let s:lib.Codec.encoding_table["25309"] = [148,113] let s:lib.Codec.encoding_table["25490"] = [148,114] let s:lib.Codec.encoding_table["25943"] = [148,115] let s:lib.Codec.encoding_table["26479"] = [148,116] let s:lib.Codec.encoding_table["30403"] = [148,117] let s:lib.Codec.encoding_table["29260"] = [148,118] let s:lib.Codec.encoding_table["32972"] = [148,119] let s:lib.Codec.encoding_table["32954"] = [148,120] let s:lib.Codec.encoding_table["36649"] = [148,121] let s:lib.Codec.encoding_table["37197"] = [148,122] let s:lib.Codec.encoding_table["20493"] = [148,123] let s:lib.Codec.encoding_table["22521"] = [148,124] let s:lib.Codec.encoding_table["23186"] = [148,125] let s:lib.Codec.encoding_table["26757"] = [148,126] let s:lib.Codec.encoding_table["26995"] = [148,128] let s:lib.Codec.encoding_table["29028"] = [148,129] let s:lib.Codec.encoding_table["29437"] = [148,130] let s:lib.Codec.encoding_table["36023"] = [148,131] let s:lib.Codec.encoding_table["22770"] = [148,132] let s:lib.Codec.encoding_table["36064"] = [148,133] let s:lib.Codec.encoding_table["38506"] = [148,134] let s:lib.Codec.encoding_table["36889"] = [148,135] let s:lib.Codec.encoding_table["34687"] = [148,136] let s:lib.Codec.encoding_table["31204"] = [148,137] let s:lib.Codec.encoding_table["30695"] = [148,138] let s:lib.Codec.encoding_table["33833"] = [148,139] let s:lib.Codec.encoding_table["20271"] = [148,140] let s:lib.Codec.encoding_table["21093"] = [148,141] let s:lib.Codec.encoding_table["21338"] = [148,142] let s:lib.Codec.encoding_table["25293"] = [148,143] let s:lib.Codec.encoding_table["26575"] = [148,144] let s:lib.Codec.encoding_table["27850"] = [148,145] let s:lib.Codec.encoding_table["30333"] = [148,146] let s:lib.Codec.encoding_table["31636"] = [148,147] let s:lib.Codec.encoding_table["31893"] = [148,148] let s:lib.Codec.encoding_table["33334"] = [148,149] let s:lib.Codec.encoding_table["34180"] = [148,150] let s:lib.Codec.encoding_table["36843"] = [148,151] let s:lib.Codec.encoding_table["26333"] = [148,152] let s:lib.Codec.encoding_table["28448"] = [148,153] let s:lib.Codec.encoding_table["29190"] = [148,154] let s:lib.Codec.encoding_table["32283"] = [148,155] let s:lib.Codec.encoding_table["33707"] = [148,156] let s:lib.Codec.encoding_table["39361"] = [148,157] let s:lib.Codec.encoding_table["40614"] = [148,158] let s:lib.Codec.encoding_table["20989"] = [148,159] let s:lib.Codec.encoding_table["31665"] = [148,160] let s:lib.Codec.encoding_table["30834"] = [148,161] let s:lib.Codec.encoding_table["31672"] = [148,162] let s:lib.Codec.encoding_table["32903"] = [148,163] let s:lib.Codec.encoding_table["31560"] = [148,164] let s:lib.Codec.encoding_table["27368"] = [148,165] let s:lib.Codec.encoding_table["24161"] = [148,166] let s:lib.Codec.encoding_table["32908"] = [148,167] let s:lib.Codec.encoding_table["30033"] = [148,168] let s:lib.Codec.encoding_table["30048"] = [148,169] let s:lib.Codec.encoding_table["20843"] = [148,170] let s:lib.Codec.encoding_table["37474"] = [148,171] let s:lib.Codec.encoding_table["28300"] = [148,172] let s:lib.Codec.encoding_table["30330"] = [148,173] let s:lib.Codec.encoding_table["37271"] = [148,174] let s:lib.Codec.encoding_table["39658"] = [148,175] let s:lib.Codec.encoding_table["20240"] = [148,176] let s:lib.Codec.encoding_table["32624"] = [148,177] let s:lib.Codec.encoding_table["25244"] = [148,178] let s:lib.Codec.encoding_table["31567"] = [148,179] let s:lib.Codec.encoding_table["38309"] = [148,180] let s:lib.Codec.encoding_table["40169"] = [148,181] let s:lib.Codec.encoding_table["22138"] = [148,182] let s:lib.Codec.encoding_table["22617"] = [148,183] let s:lib.Codec.encoding_table["34532"] = [148,184] let s:lib.Codec.encoding_table["38588"] = [148,185] let s:lib.Codec.encoding_table["20276"] = [148,186] let s:lib.Codec.encoding_table["21028"] = [148,187] let s:lib.Codec.encoding_table["21322"] = [148,188] let s:lib.Codec.encoding_table["21453"] = [148,189] let s:lib.Codec.encoding_table["21467"] = [148,190] let s:lib.Codec.encoding_table["24070"] = [148,191] let s:lib.Codec.encoding_table["25644"] = [148,192] let s:lib.Codec.encoding_table["26001"] = [148,193] let s:lib.Codec.encoding_table["26495"] = [148,194] let s:lib.Codec.encoding_table["27710"] = [148,195] let s:lib.Codec.encoding_table["27726"] = [148,196] let s:lib.Codec.encoding_table["29256"] = [148,197] let s:lib.Codec.encoding_table["29359"] = [148,198] let s:lib.Codec.encoding_table["29677"] = [148,199] let s:lib.Codec.encoding_table["30036"] = [148,200] let s:lib.Codec.encoding_table["32321"] = [148,201] let s:lib.Codec.encoding_table["33324"] = [148,202] let s:lib.Codec.encoding_table["34281"] = [148,203] let s:lib.Codec.encoding_table["36009"] = [148,204] let s:lib.Codec.encoding_table["31684"] = [148,205] let s:lib.Codec.encoding_table["37318"] = [148,206] let s:lib.Codec.encoding_table["29033"] = [148,207] let s:lib.Codec.encoding_table["38930"] = [148,208] let s:lib.Codec.encoding_table["39151"] = [148,209] let s:lib.Codec.encoding_table["25405"] = [148,210] let s:lib.Codec.encoding_table["26217"] = [148,211] let s:lib.Codec.encoding_table["30058"] = [148,212] let s:lib.Codec.encoding_table["30436"] = [148,213] let s:lib.Codec.encoding_table["30928"] = [148,214] let s:lib.Codec.encoding_table["34115"] = [148,215] let s:lib.Codec.encoding_table["34542"] = [148,216] let s:lib.Codec.encoding_table["21290"] = [148,217] let s:lib.Codec.encoding_table["21329"] = [148,218] let s:lib.Codec.encoding_table["21542"] = [148,219] let s:lib.Codec.encoding_table["22915"] = [148,220] let s:lib.Codec.encoding_table["24199"] = [148,221] let s:lib.Codec.encoding_table["24444"] = [148,222] let s:lib.Codec.encoding_table["24754"] = [148,223] let s:lib.Codec.encoding_table["25161"] = [148,224] let s:lib.Codec.encoding_table["25209"] = [148,225] let s:lib.Codec.encoding_table["25259"] = [148,226] let s:lib.Codec.encoding_table["26000"] = [148,227] let s:lib.Codec.encoding_table["27604"] = [148,228] let s:lib.Codec.encoding_table["27852"] = [148,229] let s:lib.Codec.encoding_table["30130"] = [148,230] let s:lib.Codec.encoding_table["30382"] = [148,231] let s:lib.Codec.encoding_table["30865"] = [148,232] let s:lib.Codec.encoding_table["31192"] = [148,233] let s:lib.Codec.encoding_table["32203"] = [148,234] let s:lib.Codec.encoding_table["32631"] = [148,235] let s:lib.Codec.encoding_table["32933"] = [148,236] let s:lib.Codec.encoding_table["34987"] = [148,237] let s:lib.Codec.encoding_table["35513"] = [148,238] let s:lib.Codec.encoding_table["36027"] = [148,239] let s:lib.Codec.encoding_table["36991"] = [148,240] let s:lib.Codec.encoding_table["38750"] = [148,241] let s:lib.Codec.encoding_table["39131"] = [148,242] let s:lib.Codec.encoding_table["27147"] = [148,243] let s:lib.Codec.encoding_table["31800"] = [148,244] let s:lib.Codec.encoding_table["20633"] = [148,245] let s:lib.Codec.encoding_table["23614"] = [148,246] let s:lib.Codec.encoding_table["24494"] = [148,247] let s:lib.Codec.encoding_table["26503"] = [148,248] let s:lib.Codec.encoding_table["27608"] = [148,249] let s:lib.Codec.encoding_table["29749"] = [148,250] let s:lib.Codec.encoding_table["30473"] = [148,251] let s:lib.Codec.encoding_table["32654"] = [148,252] let s:lib.Codec.encoding_table["40763"] = [149,64] let s:lib.Codec.encoding_table["26570"] = [149,65] let s:lib.Codec.encoding_table["31255"] = [149,66] let s:lib.Codec.encoding_table["21305"] = [149,67] let s:lib.Codec.encoding_table["30091"] = [149,68] let s:lib.Codec.encoding_table["39661"] = [149,69] let s:lib.Codec.encoding_table["24422"] = [149,70] let s:lib.Codec.encoding_table["33181"] = [149,71] let s:lib.Codec.encoding_table["33777"] = [149,72] let s:lib.Codec.encoding_table["32920"] = [149,73] let s:lib.Codec.encoding_table["24380"] = [149,74] let s:lib.Codec.encoding_table["24517"] = [149,75] let s:lib.Codec.encoding_table["30050"] = [149,76] let s:lib.Codec.encoding_table["31558"] = [149,77] let s:lib.Codec.encoding_table["36924"] = [149,78] let s:lib.Codec.encoding_table["26727"] = [149,79] let s:lib.Codec.encoding_table["23019"] = [149,80] let s:lib.Codec.encoding_table["23195"] = [149,81] let s:lib.Codec.encoding_table["32016"] = [149,82] let s:lib.Codec.encoding_table["30334"] = [149,83] let s:lib.Codec.encoding_table["35628"] = [149,84] let s:lib.Codec.encoding_table["20469"] = [149,85] let s:lib.Codec.encoding_table["24426"] = [149,86] let s:lib.Codec.encoding_table["27161"] = [149,87] let s:lib.Codec.encoding_table["27703"] = [149,88] let s:lib.Codec.encoding_table["28418"] = [149,89] let s:lib.Codec.encoding_table["29922"] = [149,90] let s:lib.Codec.encoding_table["31080"] = [149,91] let s:lib.Codec.encoding_table["34920"] = [149,92] let s:lib.Codec.encoding_table["35413"] = [149,93] let s:lib.Codec.encoding_table["35961"] = [149,94] let s:lib.Codec.encoding_table["24287"] = [149,95] let s:lib.Codec.encoding_table["25551"] = [149,96] let s:lib.Codec.encoding_table["30149"] = [149,97] let s:lib.Codec.encoding_table["31186"] = [149,98] let s:lib.Codec.encoding_table["33495"] = [149,99] let s:lib.Codec.encoding_table["37672"] = [149,100] let s:lib.Codec.encoding_table["37618"] = [149,101] let s:lib.Codec.encoding_table["33948"] = [149,102] let s:lib.Codec.encoding_table["34541"] = [149,103] let s:lib.Codec.encoding_table["39981"] = [149,104] let s:lib.Codec.encoding_table["21697"] = [149,105] let s:lib.Codec.encoding_table["24428"] = [149,106] let s:lib.Codec.encoding_table["25996"] = [149,107] let s:lib.Codec.encoding_table["27996"] = [149,108] let s:lib.Codec.encoding_table["28693"] = [149,109] let s:lib.Codec.encoding_table["36007"] = [149,110] let s:lib.Codec.encoding_table["36051"] = [149,111] let s:lib.Codec.encoding_table["38971"] = [149,112] let s:lib.Codec.encoding_table["25935"] = [149,113] let s:lib.Codec.encoding_table["29942"] = [149,114] let s:lib.Codec.encoding_table["19981"] = [149,115] let s:lib.Codec.encoding_table["20184"] = [149,116] let s:lib.Codec.encoding_table["22496"] = [149,117] let s:lib.Codec.encoding_table["22827"] = [149,118] let s:lib.Codec.encoding_table["23142"] = [149,119] let s:lib.Codec.encoding_table["23500"] = [149,120] let s:lib.Codec.encoding_table["20904"] = [149,121] let s:lib.Codec.encoding_table["24067"] = [149,122] let s:lib.Codec.encoding_table["24220"] = [149,123] let s:lib.Codec.encoding_table["24598"] = [149,124] let s:lib.Codec.encoding_table["25206"] = [149,125] let s:lib.Codec.encoding_table["25975"] = [149,126] let s:lib.Codec.encoding_table["26023"] = [149,128] let s:lib.Codec.encoding_table["26222"] = [149,129] let s:lib.Codec.encoding_table["28014"] = [149,130] let s:lib.Codec.encoding_table["29238"] = [149,131] let s:lib.Codec.encoding_table["31526"] = [149,132] let s:lib.Codec.encoding_table["33104"] = [149,133] let s:lib.Codec.encoding_table["33178"] = [149,134] let s:lib.Codec.encoding_table["33433"] = [149,135] let s:lib.Codec.encoding_table["35676"] = [149,136] let s:lib.Codec.encoding_table["36000"] = [149,137] let s:lib.Codec.encoding_table["36070"] = [149,138] let s:lib.Codec.encoding_table["36212"] = [149,139] let s:lib.Codec.encoding_table["38428"] = [149,140] let s:lib.Codec.encoding_table["38468"] = [149,141] let s:lib.Codec.encoding_table["20398"] = [149,142] let s:lib.Codec.encoding_table["25771"] = [149,143] let s:lib.Codec.encoding_table["27494"] = [149,144] let s:lib.Codec.encoding_table["33310"] = [149,145] let s:lib.Codec.encoding_table["33889"] = [149,146] let s:lib.Codec.encoding_table["34154"] = [149,147] let s:lib.Codec.encoding_table["37096"] = [149,148] let s:lib.Codec.encoding_table["23553"] = [149,149] let s:lib.Codec.encoding_table["26963"] = [149,150] let s:lib.Codec.encoding_table["39080"] = [149,151] let s:lib.Codec.encoding_table["33914"] = [149,152] let s:lib.Codec.encoding_table["34135"] = [149,153] let s:lib.Codec.encoding_table["20239"] = [149,154] let s:lib.Codec.encoding_table["21103"] = [149,155] let s:lib.Codec.encoding_table["24489"] = [149,156] let s:lib.Codec.encoding_table["24133"] = [149,157] let s:lib.Codec.encoding_table["26381"] = [149,158] let s:lib.Codec.encoding_table["31119"] = [149,159] let s:lib.Codec.encoding_table["33145"] = [149,160] let s:lib.Codec.encoding_table["35079"] = [149,161] let s:lib.Codec.encoding_table["35206"] = [149,162] let s:lib.Codec.encoding_table["28149"] = [149,163] let s:lib.Codec.encoding_table["24343"] = [149,164] let s:lib.Codec.encoding_table["25173"] = [149,165] let s:lib.Codec.encoding_table["27832"] = [149,166] let s:lib.Codec.encoding_table["20175"] = [149,167] let s:lib.Codec.encoding_table["29289"] = [149,168] let s:lib.Codec.encoding_table["39826"] = [149,169] let s:lib.Codec.encoding_table["20998"] = [149,170] let s:lib.Codec.encoding_table["21563"] = [149,171] let s:lib.Codec.encoding_table["22132"] = [149,172] let s:lib.Codec.encoding_table["22707"] = [149,173] let s:lib.Codec.encoding_table["24996"] = [149,174] let s:lib.Codec.encoding_table["25198"] = [149,175] let s:lib.Codec.encoding_table["28954"] = [149,176] let s:lib.Codec.encoding_table["22894"] = [149,177] let s:lib.Codec.encoding_table["31881"] = [149,178] let s:lib.Codec.encoding_table["31966"] = [149,179] let s:lib.Codec.encoding_table["32027"] = [149,180] let s:lib.Codec.encoding_table["38640"] = [149,181] let s:lib.Codec.encoding_table["25991"] = [149,182] let s:lib.Codec.encoding_table["32862"] = [149,183] let s:lib.Codec.encoding_table["19993"] = [149,184] let s:lib.Codec.encoding_table["20341"] = [149,185] let s:lib.Codec.encoding_table["20853"] = [149,186] let s:lib.Codec.encoding_table["22592"] = [149,187] let s:lib.Codec.encoding_table["24163"] = [149,188] let s:lib.Codec.encoding_table["24179"] = [149,189] let s:lib.Codec.encoding_table["24330"] = [149,190] let s:lib.Codec.encoding_table["26564"] = [149,191] let s:lib.Codec.encoding_table["20006"] = [149,192] let s:lib.Codec.encoding_table["34109"] = [149,193] let s:lib.Codec.encoding_table["38281"] = [149,194] let s:lib.Codec.encoding_table["38491"] = [149,195] let s:lib.Codec.encoding_table["31859"] = [149,196] let s:lib.Codec.encoding_table["38913"] = [149,197] let s:lib.Codec.encoding_table["20731"] = [149,198] let s:lib.Codec.encoding_table["22721"] = [149,199] let s:lib.Codec.encoding_table["30294"] = [149,200] let s:lib.Codec.encoding_table["30887"] = [149,201] let s:lib.Codec.encoding_table["21029"] = [149,202] let s:lib.Codec.encoding_table["30629"] = [149,203] let s:lib.Codec.encoding_table["34065"] = [149,204] let s:lib.Codec.encoding_table["31622"] = [149,205] let s:lib.Codec.encoding_table["20559"] = [149,206] let s:lib.Codec.encoding_table["22793"] = [149,207] let s:lib.Codec.encoding_table["29255"] = [149,208] let s:lib.Codec.encoding_table["31687"] = [149,209] let s:lib.Codec.encoding_table["32232"] = [149,210] let s:lib.Codec.encoding_table["36794"] = [149,211] let s:lib.Codec.encoding_table["36820"] = [149,212] let s:lib.Codec.encoding_table["36941"] = [149,213] let s:lib.Codec.encoding_table["20415"] = [149,214] let s:lib.Codec.encoding_table["21193"] = [149,215] let s:lib.Codec.encoding_table["23081"] = [149,216] let s:lib.Codec.encoding_table["24321"] = [149,217] let s:lib.Codec.encoding_table["38829"] = [149,218] let s:lib.Codec.encoding_table["20445"] = [149,219] let s:lib.Codec.encoding_table["33303"] = [149,220] let s:lib.Codec.encoding_table["37610"] = [149,221] let s:lib.Codec.encoding_table["22275"] = [149,222] let s:lib.Codec.encoding_table["25429"] = [149,223] let s:lib.Codec.encoding_table["27497"] = [149,224] let s:lib.Codec.encoding_table["29995"] = [149,225] let s:lib.Codec.encoding_table["35036"] = [149,226] let s:lib.Codec.encoding_table["36628"] = [149,227] let s:lib.Codec.encoding_table["31298"] = [149,228] let s:lib.Codec.encoding_table["21215"] = [149,229] let s:lib.Codec.encoding_table["22675"] = [149,230] let s:lib.Codec.encoding_table["24917"] = [149,231] let s:lib.Codec.encoding_table["25098"] = [149,232] let s:lib.Codec.encoding_table["26286"] = [149,233] let s:lib.Codec.encoding_table["27597"] = [149,234] let s:lib.Codec.encoding_table["31807"] = [149,235] let s:lib.Codec.encoding_table["33769"] = [149,236] let s:lib.Codec.encoding_table["20515"] = [149,237] let s:lib.Codec.encoding_table["20472"] = [149,238] let s:lib.Codec.encoding_table["21253"] = [149,239] let s:lib.Codec.encoding_table["21574"] = [149,240] let s:lib.Codec.encoding_table["22577"] = [149,241] let s:lib.Codec.encoding_table["22857"] = [149,242] let s:lib.Codec.encoding_table["23453"] = [149,243] let s:lib.Codec.encoding_table["23792"] = [149,244] let s:lib.Codec.encoding_table["23791"] = [149,245] let s:lib.Codec.encoding_table["23849"] = [149,246] let s:lib.Codec.encoding_table["24214"] = [149,247] let s:lib.Codec.encoding_table["25265"] = [149,248] let s:lib.Codec.encoding_table["25447"] = [149,249] let s:lib.Codec.encoding_table["25918"] = [149,250] let s:lib.Codec.encoding_table["26041"] = [149,251] let s:lib.Codec.encoding_table["26379"] = [149,252] let s:lib.Codec.encoding_table["27861"] = [150,64] let s:lib.Codec.encoding_table["27873"] = [150,65] let s:lib.Codec.encoding_table["28921"] = [150,66] let s:lib.Codec.encoding_table["30770"] = [150,67] let s:lib.Codec.encoding_table["32299"] = [150,68] let s:lib.Codec.encoding_table["32990"] = [150,69] let s:lib.Codec.encoding_table["33459"] = [150,70] let s:lib.Codec.encoding_table["33804"] = [150,71] let s:lib.Codec.encoding_table["34028"] = [150,72] let s:lib.Codec.encoding_table["34562"] = [150,73] let s:lib.Codec.encoding_table["35090"] = [150,74] let s:lib.Codec.encoding_table["35370"] = [150,75] let s:lib.Codec.encoding_table["35914"] = [150,76] let s:lib.Codec.encoding_table["37030"] = [150,77] let s:lib.Codec.encoding_table["37586"] = [150,78] let s:lib.Codec.encoding_table["39165"] = [150,79] let s:lib.Codec.encoding_table["40179"] = [150,80] let s:lib.Codec.encoding_table["40300"] = [150,81] let s:lib.Codec.encoding_table["20047"] = [150,82] let s:lib.Codec.encoding_table["20129"] = [150,83] let s:lib.Codec.encoding_table["20621"] = [150,84] let s:lib.Codec.encoding_table["21078"] = [150,85] let s:lib.Codec.encoding_table["22346"] = [150,86] let s:lib.Codec.encoding_table["22952"] = [150,87] let s:lib.Codec.encoding_table["24125"] = [150,88] let s:lib.Codec.encoding_table["24536"] = [150,89] let s:lib.Codec.encoding_table["24537"] = [150,90] let s:lib.Codec.encoding_table["25151"] = [150,91] let s:lib.Codec.encoding_table["26292"] = [150,92] let s:lib.Codec.encoding_table["26395"] = [150,93] let s:lib.Codec.encoding_table["26576"] = [150,94] let s:lib.Codec.encoding_table["26834"] = [150,95] let s:lib.Codec.encoding_table["20882"] = [150,96] let s:lib.Codec.encoding_table["32033"] = [150,97] let s:lib.Codec.encoding_table["32938"] = [150,98] let s:lib.Codec.encoding_table["33192"] = [150,99] let s:lib.Codec.encoding_table["35584"] = [150,100] let s:lib.Codec.encoding_table["35980"] = [150,101] let s:lib.Codec.encoding_table["36031"] = [150,102] let s:lib.Codec.encoding_table["37502"] = [150,103] let s:lib.Codec.encoding_table["38450"] = [150,104] let s:lib.Codec.encoding_table["21536"] = [150,105] let s:lib.Codec.encoding_table["38956"] = [150,106] let s:lib.Codec.encoding_table["21271"] = [150,107] let s:lib.Codec.encoding_table["20693"] = [150,108] let s:lib.Codec.encoding_table["21340"] = [150,109] let s:lib.Codec.encoding_table["22696"] = [150,110] let s:lib.Codec.encoding_table["25778"] = [150,111] let s:lib.Codec.encoding_table["26420"] = [150,112] let s:lib.Codec.encoding_table["29287"] = [150,113] let s:lib.Codec.encoding_table["30566"] = [150,114] let s:lib.Codec.encoding_table["31302"] = [150,115] let s:lib.Codec.encoding_table["37350"] = [150,116] let s:lib.Codec.encoding_table["21187"] = [150,117] let s:lib.Codec.encoding_table["27809"] = [150,118] let s:lib.Codec.encoding_table["27526"] = [150,119] let s:lib.Codec.encoding_table["22528"] = [150,120] let s:lib.Codec.encoding_table["24140"] = [150,121] let s:lib.Codec.encoding_table["22868"] = [150,122] let s:lib.Codec.encoding_table["26412"] = [150,123] let s:lib.Codec.encoding_table["32763"] = [150,124] let s:lib.Codec.encoding_table["20961"] = [150,125] let s:lib.Codec.encoding_table["30406"] = [150,126] let s:lib.Codec.encoding_table["25705"] = [150,128] let s:lib.Codec.encoding_table["30952"] = [150,129] let s:lib.Codec.encoding_table["39764"] = [150,130] let s:lib.Codec.encoding_table["40635"] = [150,131] let s:lib.Codec.encoding_table["22475"] = [150,132] let s:lib.Codec.encoding_table["22969"] = [150,133] let s:lib.Codec.encoding_table["26151"] = [150,134] let s:lib.Codec.encoding_table["26522"] = [150,135] let s:lib.Codec.encoding_table["27598"] = [150,136] let s:lib.Codec.encoding_table["21737"] = [150,137] let s:lib.Codec.encoding_table["27097"] = [150,138] let s:lib.Codec.encoding_table["24149"] = [150,139] let s:lib.Codec.encoding_table["33180"] = [150,140] let s:lib.Codec.encoding_table["26517"] = [150,141] let s:lib.Codec.encoding_table["39850"] = [150,142] let s:lib.Codec.encoding_table["26622"] = [150,143] let s:lib.Codec.encoding_table["40018"] = [150,144] let s:lib.Codec.encoding_table["26717"] = [150,145] let s:lib.Codec.encoding_table["20134"] = [150,146] let s:lib.Codec.encoding_table["20451"] = [150,147] let s:lib.Codec.encoding_table["21448"] = [150,148] let s:lib.Codec.encoding_table["25273"] = [150,149] let s:lib.Codec.encoding_table["26411"] = [150,150] let s:lib.Codec.encoding_table["27819"] = [150,151] let s:lib.Codec.encoding_table["36804"] = [150,152] let s:lib.Codec.encoding_table["20397"] = [150,153] let s:lib.Codec.encoding_table["32365"] = [150,154] let s:lib.Codec.encoding_table["40639"] = [150,155] let s:lib.Codec.encoding_table["19975"] = [150,156] let s:lib.Codec.encoding_table["24930"] = [150,157] let s:lib.Codec.encoding_table["28288"] = [150,158] let s:lib.Codec.encoding_table["28459"] = [150,159] let s:lib.Codec.encoding_table["34067"] = [150,160] let s:lib.Codec.encoding_table["21619"] = [150,161] let s:lib.Codec.encoding_table["26410"] = [150,162] let s:lib.Codec.encoding_table["39749"] = [150,163] let s:lib.Codec.encoding_table["24051"] = [150,164] let s:lib.Codec.encoding_table["31637"] = [150,165] let s:lib.Codec.encoding_table["23724"] = [150,166] let s:lib.Codec.encoding_table["23494"] = [150,167] let s:lib.Codec.encoding_table["34588"] = [150,168] let s:lib.Codec.encoding_table["28234"] = [150,169] let s:lib.Codec.encoding_table["34001"] = [150,170] let s:lib.Codec.encoding_table["31252"] = [150,171] let s:lib.Codec.encoding_table["33032"] = [150,172] let s:lib.Codec.encoding_table["22937"] = [150,173] let s:lib.Codec.encoding_table["31885"] = [150,174] let s:lib.Codec.encoding_table["27665"] = [150,175] let s:lib.Codec.encoding_table["30496"] = [150,176] let s:lib.Codec.encoding_table["21209"] = [150,177] let s:lib.Codec.encoding_table["22818"] = [150,178] let s:lib.Codec.encoding_table["28961"] = [150,179] let s:lib.Codec.encoding_table["29279"] = [150,180] let s:lib.Codec.encoding_table["30683"] = [150,181] let s:lib.Codec.encoding_table["38695"] = [150,182] let s:lib.Codec.encoding_table["40289"] = [150,183] let s:lib.Codec.encoding_table["26891"] = [150,184] let s:lib.Codec.encoding_table["23167"] = [150,185] let s:lib.Codec.encoding_table["23064"] = [150,186] let s:lib.Codec.encoding_table["20901"] = [150,187] let s:lib.Codec.encoding_table["21517"] = [150,188] let s:lib.Codec.encoding_table["21629"] = [150,189] let s:lib.Codec.encoding_table["26126"] = [150,190] let s:lib.Codec.encoding_table["30431"] = [150,191] let s:lib.Codec.encoding_table["36855"] = [150,192] let s:lib.Codec.encoding_table["37528"] = [150,193] let s:lib.Codec.encoding_table["40180"] = [150,194] let s:lib.Codec.encoding_table["23018"] = [150,195] let s:lib.Codec.encoding_table["29277"] = [150,196] let s:lib.Codec.encoding_table["28357"] = [150,197] let s:lib.Codec.encoding_table["20813"] = [150,198] let s:lib.Codec.encoding_table["26825"] = [150,199] let s:lib.Codec.encoding_table["32191"] = [150,200] let s:lib.Codec.encoding_table["32236"] = [150,201] let s:lib.Codec.encoding_table["38754"] = [150,202] let s:lib.Codec.encoding_table["40634"] = [150,203] let s:lib.Codec.encoding_table["25720"] = [150,204] let s:lib.Codec.encoding_table["27169"] = [150,205] let s:lib.Codec.encoding_table["33538"] = [150,206] let s:lib.Codec.encoding_table["22916"] = [150,207] let s:lib.Codec.encoding_table["23391"] = [150,208] let s:lib.Codec.encoding_table["27611"] = [150,209] let s:lib.Codec.encoding_table["29467"] = [150,210] let s:lib.Codec.encoding_table["30450"] = [150,211] let s:lib.Codec.encoding_table["32178"] = [150,212] let s:lib.Codec.encoding_table["32791"] = [150,213] let s:lib.Codec.encoding_table["33945"] = [150,214] let s:lib.Codec.encoding_table["20786"] = [150,215] let s:lib.Codec.encoding_table["26408"] = [150,216] let s:lib.Codec.encoding_table["40665"] = [150,217] let s:lib.Codec.encoding_table["30446"] = [150,218] let s:lib.Codec.encoding_table["26466"] = [150,219] let s:lib.Codec.encoding_table["21247"] = [150,220] let s:lib.Codec.encoding_table["39173"] = [150,221] let s:lib.Codec.encoding_table["23588"] = [150,222] let s:lib.Codec.encoding_table["25147"] = [150,223] let s:lib.Codec.encoding_table["31870"] = [150,224] let s:lib.Codec.encoding_table["36016"] = [150,225] let s:lib.Codec.encoding_table["21839"] = [150,226] let s:lib.Codec.encoding_table["24758"] = [150,227] let s:lib.Codec.encoding_table["32011"] = [150,228] let s:lib.Codec.encoding_table["38272"] = [150,229] let s:lib.Codec.encoding_table["21249"] = [150,230] let s:lib.Codec.encoding_table["20063"] = [150,231] let s:lib.Codec.encoding_table["20918"] = [150,232] let s:lib.Codec.encoding_table["22812"] = [150,233] let s:lib.Codec.encoding_table["29242"] = [150,234] let s:lib.Codec.encoding_table["32822"] = [150,235] let s:lib.Codec.encoding_table["37326"] = [150,236] let s:lib.Codec.encoding_table["24357"] = [150,237] let s:lib.Codec.encoding_table["30690"] = [150,238] let s:lib.Codec.encoding_table["21380"] = [150,239] let s:lib.Codec.encoding_table["24441"] = [150,240] let s:lib.Codec.encoding_table["32004"] = [150,241] let s:lib.Codec.encoding_table["34220"] = [150,242] let s:lib.Codec.encoding_table["35379"] = [150,243] let s:lib.Codec.encoding_table["36493"] = [150,244] let s:lib.Codec.encoding_table["38742"] = [150,245] let s:lib.Codec.encoding_table["26611"] = [150,246] let s:lib.Codec.encoding_table["34222"] = [150,247] let s:lib.Codec.encoding_table["37971"] = [150,248] let s:lib.Codec.encoding_table["24841"] = [150,249] let s:lib.Codec.encoding_table["24840"] = [150,250] let s:lib.Codec.encoding_table["27833"] = [150,251] let s:lib.Codec.encoding_table["30290"] = [150,252] let s:lib.Codec.encoding_table["35565"] = [151,64] let s:lib.Codec.encoding_table["36664"] = [151,65] let s:lib.Codec.encoding_table["21807"] = [151,66] let s:lib.Codec.encoding_table["20305"] = [151,67] let s:lib.Codec.encoding_table["20778"] = [151,68] let s:lib.Codec.encoding_table["21191"] = [151,69] let s:lib.Codec.encoding_table["21451"] = [151,70] let s:lib.Codec.encoding_table["23461"] = [151,71] let s:lib.Codec.encoding_table["24189"] = [151,72] let s:lib.Codec.encoding_table["24736"] = [151,73] let s:lib.Codec.encoding_table["24962"] = [151,74] let s:lib.Codec.encoding_table["25558"] = [151,75] let s:lib.Codec.encoding_table["26377"] = [151,76] let s:lib.Codec.encoding_table["26586"] = [151,77] let s:lib.Codec.encoding_table["28263"] = [151,78] let s:lib.Codec.encoding_table["28044"] = [151,79] let s:lib.Codec.encoding_table["29494"] = [151,80] let s:lib.Codec.encoding_table["29495"] = [151,81] let s:lib.Codec.encoding_table["30001"] = [151,82] let s:lib.Codec.encoding_table["31056"] = [151,83] let s:lib.Codec.encoding_table["35029"] = [151,84] let s:lib.Codec.encoding_table["35480"] = [151,85] let s:lib.Codec.encoding_table["36938"] = [151,86] let s:lib.Codec.encoding_table["37009"] = [151,87] let s:lib.Codec.encoding_table["37109"] = [151,88] let s:lib.Codec.encoding_table["38596"] = [151,89] let s:lib.Codec.encoding_table["34701"] = [151,90] let s:lib.Codec.encoding_table["22805"] = [151,91] let s:lib.Codec.encoding_table["20104"] = [151,92] let s:lib.Codec.encoding_table["20313"] = [151,93] let s:lib.Codec.encoding_table["19982"] = [151,94] let s:lib.Codec.encoding_table["35465"] = [151,95] let s:lib.Codec.encoding_table["36671"] = [151,96] let s:lib.Codec.encoding_table["38928"] = [151,97] let s:lib.Codec.encoding_table["20653"] = [151,98] let s:lib.Codec.encoding_table["24188"] = [151,99] let s:lib.Codec.encoding_table["22934"] = [151,100] let s:lib.Codec.encoding_table["23481"] = [151,101] let s:lib.Codec.encoding_table["24248"] = [151,102] let s:lib.Codec.encoding_table["25562"] = [151,103] let s:lib.Codec.encoding_table["25594"] = [151,104] let s:lib.Codec.encoding_table["25793"] = [151,105] let s:lib.Codec.encoding_table["26332"] = [151,106] let s:lib.Codec.encoding_table["26954"] = [151,107] let s:lib.Codec.encoding_table["27096"] = [151,108] let s:lib.Codec.encoding_table["27915"] = [151,109] let s:lib.Codec.encoding_table["28342"] = [151,110] let s:lib.Codec.encoding_table["29076"] = [151,111] let s:lib.Codec.encoding_table["29992"] = [151,112] let s:lib.Codec.encoding_table["31407"] = [151,113] let s:lib.Codec.encoding_table["32650"] = [151,114] let s:lib.Codec.encoding_table["32768"] = [151,115] let s:lib.Codec.encoding_table["33865"] = [151,116] let s:lib.Codec.encoding_table["33993"] = [151,117] let s:lib.Codec.encoding_table["35201"] = [151,118] let s:lib.Codec.encoding_table["35617"] = [151,119] let s:lib.Codec.encoding_table["36362"] = [151,120] let s:lib.Codec.encoding_table["36965"] = [151,121] let s:lib.Codec.encoding_table["38525"] = [151,122] let s:lib.Codec.encoding_table["39178"] = [151,123] let s:lib.Codec.encoding_table["24958"] = [151,124] let s:lib.Codec.encoding_table["25233"] = [151,125] let s:lib.Codec.encoding_table["27442"] = [151,126] let s:lib.Codec.encoding_table["27779"] = [151,128] let s:lib.Codec.encoding_table["28020"] = [151,129] let s:lib.Codec.encoding_table["32716"] = [151,130] let s:lib.Codec.encoding_table["32764"] = [151,131] let s:lib.Codec.encoding_table["28096"] = [151,132] let s:lib.Codec.encoding_table["32645"] = [151,133] let s:lib.Codec.encoding_table["34746"] = [151,134] let s:lib.Codec.encoding_table["35064"] = [151,135] let s:lib.Codec.encoding_table["26469"] = [151,136] let s:lib.Codec.encoding_table["33713"] = [151,137] let s:lib.Codec.encoding_table["38972"] = [151,138] let s:lib.Codec.encoding_table["38647"] = [151,139] let s:lib.Codec.encoding_table["27931"] = [151,140] let s:lib.Codec.encoding_table["32097"] = [151,141] let s:lib.Codec.encoding_table["33853"] = [151,142] let s:lib.Codec.encoding_table["37226"] = [151,143] let s:lib.Codec.encoding_table["20081"] = [151,144] let s:lib.Codec.encoding_table["21365"] = [151,145] let s:lib.Codec.encoding_table["23888"] = [151,146] let s:lib.Codec.encoding_table["27396"] = [151,147] let s:lib.Codec.encoding_table["28651"] = [151,148] let s:lib.Codec.encoding_table["34253"] = [151,149] let s:lib.Codec.encoding_table["34349"] = [151,150] let s:lib.Codec.encoding_table["35239"] = [151,151] let s:lib.Codec.encoding_table["21033"] = [151,152] let s:lib.Codec.encoding_table["21519"] = [151,153] let s:lib.Codec.encoding_table["23653"] = [151,154] let s:lib.Codec.encoding_table["26446"] = [151,155] let s:lib.Codec.encoding_table["26792"] = [151,156] let s:lib.Codec.encoding_table["29702"] = [151,157] let s:lib.Codec.encoding_table["29827"] = [151,158] let s:lib.Codec.encoding_table["30178"] = [151,159] let s:lib.Codec.encoding_table["35023"] = [151,160] let s:lib.Codec.encoding_table["35041"] = [151,161] let s:lib.Codec.encoding_table["37324"] = [151,162] let s:lib.Codec.encoding_table["38626"] = [151,163] let s:lib.Codec.encoding_table["38520"] = [151,164] let s:lib.Codec.encoding_table["24459"] = [151,165] let s:lib.Codec.encoding_table["29575"] = [151,166] let s:lib.Codec.encoding_table["31435"] = [151,167] let s:lib.Codec.encoding_table["33870"] = [151,168] let s:lib.Codec.encoding_table["25504"] = [151,169] let s:lib.Codec.encoding_table["30053"] = [151,170] let s:lib.Codec.encoding_table["21129"] = [151,171] let s:lib.Codec.encoding_table["27969"] = [151,172] let s:lib.Codec.encoding_table["28316"] = [151,173] let s:lib.Codec.encoding_table["29705"] = [151,174] let s:lib.Codec.encoding_table["30041"] = [151,175] let s:lib.Codec.encoding_table["30827"] = [151,176] let s:lib.Codec.encoding_table["31890"] = [151,177] let s:lib.Codec.encoding_table["38534"] = [151,178] let s:lib.Codec.encoding_table["31452"] = [151,179] let s:lib.Codec.encoding_table["40845"] = [151,180] let s:lib.Codec.encoding_table["20406"] = [151,181] let s:lib.Codec.encoding_table["24942"] = [151,182] let s:lib.Codec.encoding_table["26053"] = [151,183] let s:lib.Codec.encoding_table["34396"] = [151,184] let s:lib.Codec.encoding_table["20102"] = [151,185] let s:lib.Codec.encoding_table["20142"] = [151,186] let s:lib.Codec.encoding_table["20698"] = [151,187] let s:lib.Codec.encoding_table["20001"] = [151,188] let s:lib.Codec.encoding_table["20940"] = [151,189] let s:lib.Codec.encoding_table["23534"] = [151,190] let s:lib.Codec.encoding_table["26009"] = [151,191] let s:lib.Codec.encoding_table["26753"] = [151,192] let s:lib.Codec.encoding_table["28092"] = [151,193] let s:lib.Codec.encoding_table["29471"] = [151,194] let s:lib.Codec.encoding_table["30274"] = [151,195] let s:lib.Codec.encoding_table["30637"] = [151,196] let s:lib.Codec.encoding_table["31260"] = [151,197] let s:lib.Codec.encoding_table["31975"] = [151,198] let s:lib.Codec.encoding_table["33391"] = [151,199] let s:lib.Codec.encoding_table["35538"] = [151,200] let s:lib.Codec.encoding_table["36988"] = [151,201] let s:lib.Codec.encoding_table["37327"] = [151,202] let s:lib.Codec.encoding_table["38517"] = [151,203] let s:lib.Codec.encoding_table["38936"] = [151,204] let s:lib.Codec.encoding_table["21147"] = [151,205] let s:lib.Codec.encoding_table["32209"] = [151,206] let s:lib.Codec.encoding_table["20523"] = [151,207] let s:lib.Codec.encoding_table["21400"] = [151,208] let s:lib.Codec.encoding_table["26519"] = [151,209] let s:lib.Codec.encoding_table["28107"] = [151,210] let s:lib.Codec.encoding_table["29136"] = [151,211] let s:lib.Codec.encoding_table["29747"] = [151,212] let s:lib.Codec.encoding_table["33256"] = [151,213] let s:lib.Codec.encoding_table["36650"] = [151,214] let s:lib.Codec.encoding_table["38563"] = [151,215] let s:lib.Codec.encoding_table["40023"] = [151,216] let s:lib.Codec.encoding_table["40607"] = [151,217] let s:lib.Codec.encoding_table["29792"] = [151,218] let s:lib.Codec.encoding_table["22593"] = [151,219] let s:lib.Codec.encoding_table["28057"] = [151,220] let s:lib.Codec.encoding_table["32047"] = [151,221] let s:lib.Codec.encoding_table["39006"] = [151,222] let s:lib.Codec.encoding_table["20196"] = [151,223] let s:lib.Codec.encoding_table["20278"] = [151,224] let s:lib.Codec.encoding_table["20363"] = [151,225] let s:lib.Codec.encoding_table["20919"] = [151,226] let s:lib.Codec.encoding_table["21169"] = [151,227] let s:lib.Codec.encoding_table["23994"] = [151,228] let s:lib.Codec.encoding_table["24604"] = [151,229] let s:lib.Codec.encoding_table["29618"] = [151,230] let s:lib.Codec.encoding_table["31036"] = [151,231] let s:lib.Codec.encoding_table["33491"] = [151,232] let s:lib.Codec.encoding_table["37428"] = [151,233] let s:lib.Codec.encoding_table["38583"] = [151,234] let s:lib.Codec.encoding_table["38646"] = [151,235] let s:lib.Codec.encoding_table["38666"] = [151,236] let s:lib.Codec.encoding_table["40599"] = [151,237] let s:lib.Codec.encoding_table["40802"] = [151,238] let s:lib.Codec.encoding_table["26278"] = [151,239] let s:lib.Codec.encoding_table["27508"] = [151,240] let s:lib.Codec.encoding_table["21015"] = [151,241] let s:lib.Codec.encoding_table["21155"] = [151,242] let s:lib.Codec.encoding_table["28872"] = [151,243] let s:lib.Codec.encoding_table["35010"] = [151,244] let s:lib.Codec.encoding_table["24265"] = [151,245] let s:lib.Codec.encoding_table["24651"] = [151,246] let s:lib.Codec.encoding_table["24976"] = [151,247] let s:lib.Codec.encoding_table["28451"] = [151,248] let s:lib.Codec.encoding_table["29001"] = [151,249] let s:lib.Codec.encoding_table["31806"] = [151,250] let s:lib.Codec.encoding_table["32244"] = [151,251] let s:lib.Codec.encoding_table["32879"] = [151,252] let s:lib.Codec.encoding_table["34030"] = [152,64] let s:lib.Codec.encoding_table["36899"] = [152,65] let s:lib.Codec.encoding_table["37676"] = [152,66] let s:lib.Codec.encoding_table["21570"] = [152,67] let s:lib.Codec.encoding_table["39791"] = [152,68] let s:lib.Codec.encoding_table["27347"] = [152,69] let s:lib.Codec.encoding_table["28809"] = [152,70] let s:lib.Codec.encoding_table["36034"] = [152,71] let s:lib.Codec.encoding_table["36335"] = [152,72] let s:lib.Codec.encoding_table["38706"] = [152,73] let s:lib.Codec.encoding_table["21172"] = [152,74] let s:lib.Codec.encoding_table["23105"] = [152,75] let s:lib.Codec.encoding_table["24266"] = [152,76] let s:lib.Codec.encoding_table["24324"] = [152,77] let s:lib.Codec.encoding_table["26391"] = [152,78] let s:lib.Codec.encoding_table["27004"] = [152,79] let s:lib.Codec.encoding_table["27028"] = [152,80] let s:lib.Codec.encoding_table["28010"] = [152,81] let s:lib.Codec.encoding_table["28431"] = [152,82] let s:lib.Codec.encoding_table["29282"] = [152,83] let s:lib.Codec.encoding_table["29436"] = [152,84] let s:lib.Codec.encoding_table["31725"] = [152,85] let s:lib.Codec.encoding_table["32769"] = [152,86] let s:lib.Codec.encoding_table["32894"] = [152,87] let s:lib.Codec.encoding_table["34635"] = [152,88] let s:lib.Codec.encoding_table["37070"] = [152,89] let s:lib.Codec.encoding_table["20845"] = [152,90] let s:lib.Codec.encoding_table["40595"] = [152,91] let s:lib.Codec.encoding_table["31108"] = [152,92] let s:lib.Codec.encoding_table["32907"] = [152,93] let s:lib.Codec.encoding_table["37682"] = [152,94] let s:lib.Codec.encoding_table["35542"] = [152,95] let s:lib.Codec.encoding_table["20525"] = [152,96] let s:lib.Codec.encoding_table["21644"] = [152,97] let s:lib.Codec.encoding_table["35441"] = [152,98] let s:lib.Codec.encoding_table["27498"] = [152,99] let s:lib.Codec.encoding_table["36036"] = [152,100] let s:lib.Codec.encoding_table["33031"] = [152,101] let s:lib.Codec.encoding_table["24785"] = [152,102] let s:lib.Codec.encoding_table["26528"] = [152,103] let s:lib.Codec.encoding_table["40434"] = [152,104] let s:lib.Codec.encoding_table["20121"] = [152,105] let s:lib.Codec.encoding_table["20120"] = [152,106] let s:lib.Codec.encoding_table["39952"] = [152,107] let s:lib.Codec.encoding_table["35435"] = [152,108] let s:lib.Codec.encoding_table["34241"] = [152,109] let s:lib.Codec.encoding_table["34152"] = [152,110] let s:lib.Codec.encoding_table["26880"] = [152,111] let s:lib.Codec.encoding_table["28286"] = [152,112] let s:lib.Codec.encoding_table["30871"] = [152,113] let s:lib.Codec.encoding_table["33109"] = [152,114] let s:lib.Codec.encoding_table["24332"] = [152,159] let s:lib.Codec.encoding_table["19984"] = [152,160] let s:lib.Codec.encoding_table["19989"] = [152,161] let s:lib.Codec.encoding_table["20010"] = [152,162] let s:lib.Codec.encoding_table["20017"] = [152,163] let s:lib.Codec.encoding_table["20022"] = [152,164] let s:lib.Codec.encoding_table["20028"] = [152,165] let s:lib.Codec.encoding_table["20031"] = [152,166] let s:lib.Codec.encoding_table["20034"] = [152,167] let s:lib.Codec.encoding_table["20054"] = [152,168] let s:lib.Codec.encoding_table["20056"] = [152,169] let s:lib.Codec.encoding_table["20098"] = [152,170] let s:lib.Codec.encoding_table["20101"] = [152,171] let s:lib.Codec.encoding_table["35947"] = [152,172] let s:lib.Codec.encoding_table["20106"] = [152,173] let s:lib.Codec.encoding_table["33298"] = [152,174] let s:lib.Codec.encoding_table["24333"] = [152,175] let s:lib.Codec.encoding_table["20110"] = [152,176] let s:lib.Codec.encoding_table["20126"] = [152,177] let s:lib.Codec.encoding_table["20127"] = [152,178] let s:lib.Codec.encoding_table["20128"] = [152,179] let s:lib.Codec.encoding_table["20130"] = [152,180] let s:lib.Codec.encoding_table["20144"] = [152,181] let s:lib.Codec.encoding_table["20147"] = [152,182] let s:lib.Codec.encoding_table["20150"] = [152,183] let s:lib.Codec.encoding_table["20174"] = [152,184] let s:lib.Codec.encoding_table["20173"] = [152,185] let s:lib.Codec.encoding_table["20164"] = [152,186] let s:lib.Codec.encoding_table["20166"] = [152,187] let s:lib.Codec.encoding_table["20162"] = [152,188] let s:lib.Codec.encoding_table["20183"] = [152,189] let s:lib.Codec.encoding_table["20190"] = [152,190] let s:lib.Codec.encoding_table["20205"] = [152,191] let s:lib.Codec.encoding_table["20191"] = [152,192] let s:lib.Codec.encoding_table["20215"] = [152,193] let s:lib.Codec.encoding_table["20233"] = [152,194] let s:lib.Codec.encoding_table["20314"] = [152,195] let s:lib.Codec.encoding_table["20272"] = [152,196] let s:lib.Codec.encoding_table["20315"] = [152,197] let s:lib.Codec.encoding_table["20317"] = [152,198] let s:lib.Codec.encoding_table["20311"] = [152,199] let s:lib.Codec.encoding_table["20295"] = [152,200] let s:lib.Codec.encoding_table["20342"] = [152,201] let s:lib.Codec.encoding_table["20360"] = [152,202] let s:lib.Codec.encoding_table["20367"] = [152,203] let s:lib.Codec.encoding_table["20376"] = [152,204] let s:lib.Codec.encoding_table["20347"] = [152,205] let s:lib.Codec.encoding_table["20329"] = [152,206] let s:lib.Codec.encoding_table["20336"] = [152,207] let s:lib.Codec.encoding_table["20369"] = [152,208] let s:lib.Codec.encoding_table["20335"] = [152,209] let s:lib.Codec.encoding_table["20358"] = [152,210] let s:lib.Codec.encoding_table["20374"] = [152,211] let s:lib.Codec.encoding_table["20760"] = [152,212] let s:lib.Codec.encoding_table["20436"] = [152,213] let s:lib.Codec.encoding_table["20447"] = [152,214] let s:lib.Codec.encoding_table["20430"] = [152,215] let s:lib.Codec.encoding_table["20440"] = [152,216] let s:lib.Codec.encoding_table["20443"] = [152,217] let s:lib.Codec.encoding_table["20433"] = [152,218] let s:lib.Codec.encoding_table["20442"] = [152,219] let s:lib.Codec.encoding_table["20432"] = [152,220] let s:lib.Codec.encoding_table["20452"] = [152,221] let s:lib.Codec.encoding_table["20453"] = [152,222] let s:lib.Codec.encoding_table["20506"] = [152,223] let s:lib.Codec.encoding_table["20520"] = [152,224] let s:lib.Codec.encoding_table["20500"] = [152,225] let s:lib.Codec.encoding_table["20522"] = [152,226] let s:lib.Codec.encoding_table["20517"] = [152,227] let s:lib.Codec.encoding_table["20485"] = [152,228] let s:lib.Codec.encoding_table["20252"] = [152,229] let s:lib.Codec.encoding_table["20470"] = [152,230] let s:lib.Codec.encoding_table["20513"] = [152,231] let s:lib.Codec.encoding_table["20521"] = [152,232] let s:lib.Codec.encoding_table["20524"] = [152,233] let s:lib.Codec.encoding_table["20478"] = [152,234] let s:lib.Codec.encoding_table["20463"] = [152,235] let s:lib.Codec.encoding_table["20497"] = [152,236] let s:lib.Codec.encoding_table["20486"] = [152,237] let s:lib.Codec.encoding_table["20547"] = [152,238] let s:lib.Codec.encoding_table["20551"] = [152,239] let s:lib.Codec.encoding_table["26371"] = [152,240] let s:lib.Codec.encoding_table["20565"] = [152,241] let s:lib.Codec.encoding_table["20560"] = [152,242] let s:lib.Codec.encoding_table["20552"] = [152,243] let s:lib.Codec.encoding_table["20570"] = [152,244] let s:lib.Codec.encoding_table["20566"] = [152,245] let s:lib.Codec.encoding_table["20588"] = [152,246] let s:lib.Codec.encoding_table["20600"] = [152,247] let s:lib.Codec.encoding_table["20608"] = [152,248] let s:lib.Codec.encoding_table["20634"] = [152,249] let s:lib.Codec.encoding_table["20613"] = [152,250] let s:lib.Codec.encoding_table["20660"] = [152,251] let s:lib.Codec.encoding_table["20658"] = [152,252] let s:lib.Codec.encoding_table["20681"] = [153,64] let s:lib.Codec.encoding_table["20682"] = [153,65] let s:lib.Codec.encoding_table["20659"] = [153,66] let s:lib.Codec.encoding_table["20674"] = [153,67] let s:lib.Codec.encoding_table["20694"] = [153,68] let s:lib.Codec.encoding_table["20702"] = [153,69] let s:lib.Codec.encoding_table["20709"] = [153,70] let s:lib.Codec.encoding_table["20717"] = [153,71] let s:lib.Codec.encoding_table["20707"] = [153,72] let s:lib.Codec.encoding_table["20718"] = [153,73] let s:lib.Codec.encoding_table["20729"] = [153,74] let s:lib.Codec.encoding_table["20725"] = [153,75] let s:lib.Codec.encoding_table["20745"] = [153,76] let s:lib.Codec.encoding_table["20737"] = [153,77] let s:lib.Codec.encoding_table["20738"] = [153,78] let s:lib.Codec.encoding_table["20758"] = [153,79] let s:lib.Codec.encoding_table["20757"] = [153,80] let s:lib.Codec.encoding_table["20756"] = [153,81] let s:lib.Codec.encoding_table["20762"] = [153,82] let s:lib.Codec.encoding_table["20769"] = [153,83] let s:lib.Codec.encoding_table["20794"] = [153,84] let s:lib.Codec.encoding_table["20791"] = [153,85] let s:lib.Codec.encoding_table["20796"] = [153,86] let s:lib.Codec.encoding_table["20795"] = [153,87] let s:lib.Codec.encoding_table["20799"] = [153,88] let s:lib.Codec.encoding_table["20800"] = [153,89] let s:lib.Codec.encoding_table["20818"] = [153,90] let s:lib.Codec.encoding_table["20812"] = [153,91] let s:lib.Codec.encoding_table["20820"] = [153,92] let s:lib.Codec.encoding_table["20834"] = [153,93] let s:lib.Codec.encoding_table["31480"] = [153,94] let s:lib.Codec.encoding_table["20841"] = [153,95] let s:lib.Codec.encoding_table["20842"] = [153,96] let s:lib.Codec.encoding_table["20846"] = [153,97] let s:lib.Codec.encoding_table["20864"] = [153,98] let s:lib.Codec.encoding_table["20866"] = [153,99] let s:lib.Codec.encoding_table["22232"] = [153,100] let s:lib.Codec.encoding_table["20876"] = [153,101] let s:lib.Codec.encoding_table["20873"] = [153,102] let s:lib.Codec.encoding_table["20879"] = [153,103] let s:lib.Codec.encoding_table["20881"] = [153,104] let s:lib.Codec.encoding_table["20883"] = [153,105] let s:lib.Codec.encoding_table["20885"] = [153,106] let s:lib.Codec.encoding_table["20886"] = [153,107] let s:lib.Codec.encoding_table["20900"] = [153,108] let s:lib.Codec.encoding_table["20902"] = [153,109] let s:lib.Codec.encoding_table["20898"] = [153,110] let s:lib.Codec.encoding_table["20905"] = [153,111] let s:lib.Codec.encoding_table["20906"] = [153,112] let s:lib.Codec.encoding_table["20907"] = [153,113] let s:lib.Codec.encoding_table["20915"] = [153,114] let s:lib.Codec.encoding_table["20913"] = [153,115] let s:lib.Codec.encoding_table["20914"] = [153,116] let s:lib.Codec.encoding_table["20912"] = [153,117] let s:lib.Codec.encoding_table["20917"] = [153,118] let s:lib.Codec.encoding_table["20925"] = [153,119] let s:lib.Codec.encoding_table["20933"] = [153,120] let s:lib.Codec.encoding_table["20937"] = [153,121] let s:lib.Codec.encoding_table["20955"] = [153,122] let s:lib.Codec.encoding_table["20960"] = [153,123] let s:lib.Codec.encoding_table["34389"] = [153,124] let s:lib.Codec.encoding_table["20969"] = [153,125] let s:lib.Codec.encoding_table["20973"] = [153,126] let s:lib.Codec.encoding_table["20976"] = [153,128] let s:lib.Codec.encoding_table["20981"] = [153,129] let s:lib.Codec.encoding_table["20990"] = [153,130] let s:lib.Codec.encoding_table["20996"] = [153,131] let s:lib.Codec.encoding_table["21003"] = [153,132] let s:lib.Codec.encoding_table["21012"] = [153,133] let s:lib.Codec.encoding_table["21006"] = [153,134] let s:lib.Codec.encoding_table["21031"] = [153,135] let s:lib.Codec.encoding_table["21034"] = [153,136] let s:lib.Codec.encoding_table["21038"] = [153,137] let s:lib.Codec.encoding_table["21043"] = [153,138] let s:lib.Codec.encoding_table["21049"] = [153,139] let s:lib.Codec.encoding_table["21071"] = [153,140] let s:lib.Codec.encoding_table["21060"] = [153,141] let s:lib.Codec.encoding_table["21067"] = [153,142] let s:lib.Codec.encoding_table["21068"] = [153,143] let s:lib.Codec.encoding_table["21086"] = [153,144] let s:lib.Codec.encoding_table["21076"] = [153,145] let s:lib.Codec.encoding_table["21098"] = [153,146] let s:lib.Codec.encoding_table["21108"] = [153,147] let s:lib.Codec.encoding_table["21097"] = [153,148] let s:lib.Codec.encoding_table["21107"] = [153,149] let s:lib.Codec.encoding_table["21119"] = [153,150] let s:lib.Codec.encoding_table["21117"] = [153,151] let s:lib.Codec.encoding_table["21133"] = [153,152] let s:lib.Codec.encoding_table["21140"] = [153,153] let s:lib.Codec.encoding_table["21138"] = [153,154] let s:lib.Codec.encoding_table["21105"] = [153,155] let s:lib.Codec.encoding_table["21128"] = [153,156] let s:lib.Codec.encoding_table["21137"] = [153,157] let s:lib.Codec.encoding_table["36776"] = [153,158] let s:lib.Codec.encoding_table["36775"] = [153,159] let s:lib.Codec.encoding_table["21164"] = [153,160] let s:lib.Codec.encoding_table["21165"] = [153,161] let s:lib.Codec.encoding_table["21180"] = [153,162] let s:lib.Codec.encoding_table["21173"] = [153,163] let s:lib.Codec.encoding_table["21185"] = [153,164] let s:lib.Codec.encoding_table["21197"] = [153,165] let s:lib.Codec.encoding_table["21207"] = [153,166] let s:lib.Codec.encoding_table["21214"] = [153,167] let s:lib.Codec.encoding_table["21219"] = [153,168] let s:lib.Codec.encoding_table["21222"] = [153,169] let s:lib.Codec.encoding_table["39149"] = [153,170] let s:lib.Codec.encoding_table["21216"] = [153,171] let s:lib.Codec.encoding_table["21235"] = [153,172] let s:lib.Codec.encoding_table["21237"] = [153,173] let s:lib.Codec.encoding_table["21240"] = [153,174] let s:lib.Codec.encoding_table["21241"] = [153,175] let s:lib.Codec.encoding_table["21254"] = [153,176] let s:lib.Codec.encoding_table["21256"] = [153,177] let s:lib.Codec.encoding_table["30008"] = [153,178] let s:lib.Codec.encoding_table["21261"] = [153,179] let s:lib.Codec.encoding_table["21264"] = [153,180] let s:lib.Codec.encoding_table["21263"] = [153,181] let s:lib.Codec.encoding_table["21269"] = [153,182] let s:lib.Codec.encoding_table["21274"] = [153,183] let s:lib.Codec.encoding_table["21283"] = [153,184] let s:lib.Codec.encoding_table["21295"] = [153,185] let s:lib.Codec.encoding_table["21297"] = [153,186] let s:lib.Codec.encoding_table["21299"] = [153,187] let s:lib.Codec.encoding_table["21304"] = [153,188] let s:lib.Codec.encoding_table["21312"] = [153,189] let s:lib.Codec.encoding_table["21318"] = [153,190] let s:lib.Codec.encoding_table["21317"] = [153,191] let s:lib.Codec.encoding_table["19991"] = [153,192] let s:lib.Codec.encoding_table["21321"] = [153,193] let s:lib.Codec.encoding_table["21325"] = [153,194] let s:lib.Codec.encoding_table["20950"] = [153,195] let s:lib.Codec.encoding_table["21342"] = [153,196] let s:lib.Codec.encoding_table["21353"] = [153,197] let s:lib.Codec.encoding_table["21358"] = [153,198] let s:lib.Codec.encoding_table["22808"] = [153,199] let s:lib.Codec.encoding_table["21371"] = [153,200] let s:lib.Codec.encoding_table["21367"] = [153,201] let s:lib.Codec.encoding_table["21378"] = [153,202] let s:lib.Codec.encoding_table["21398"] = [153,203] let s:lib.Codec.encoding_table["21408"] = [153,204] let s:lib.Codec.encoding_table["21414"] = [153,205] let s:lib.Codec.encoding_table["21413"] = [153,206] let s:lib.Codec.encoding_table["21422"] = [153,207] let s:lib.Codec.encoding_table["21424"] = [153,208] let s:lib.Codec.encoding_table["21430"] = [153,209] let s:lib.Codec.encoding_table["21443"] = [153,210] let s:lib.Codec.encoding_table["31762"] = [153,211] let s:lib.Codec.encoding_table["38617"] = [153,212] let s:lib.Codec.encoding_table["21471"] = [153,213] let s:lib.Codec.encoding_table["26364"] = [153,214] let s:lib.Codec.encoding_table["29166"] = [153,215] let s:lib.Codec.encoding_table["21486"] = [153,216] let s:lib.Codec.encoding_table["21480"] = [153,217] let s:lib.Codec.encoding_table["21485"] = [153,218] let s:lib.Codec.encoding_table["21498"] = [153,219] let s:lib.Codec.encoding_table["21505"] = [153,220] let s:lib.Codec.encoding_table["21565"] = [153,221] let s:lib.Codec.encoding_table["21568"] = [153,222] let s:lib.Codec.encoding_table["21548"] = [153,223] let s:lib.Codec.encoding_table["21549"] = [153,224] let s:lib.Codec.encoding_table["21564"] = [153,225] let s:lib.Codec.encoding_table["21550"] = [153,226] let s:lib.Codec.encoding_table["21558"] = [153,227] let s:lib.Codec.encoding_table["21545"] = [153,228] let s:lib.Codec.encoding_table["21533"] = [153,229] let s:lib.Codec.encoding_table["21582"] = [153,230] let s:lib.Codec.encoding_table["21647"] = [153,231] let s:lib.Codec.encoding_table["21621"] = [153,232] let s:lib.Codec.encoding_table["21646"] = [153,233] let s:lib.Codec.encoding_table["21599"] = [153,234] let s:lib.Codec.encoding_table["21617"] = [153,235] let s:lib.Codec.encoding_table["21623"] = [153,236] let s:lib.Codec.encoding_table["21616"] = [153,237] let s:lib.Codec.encoding_table["21650"] = [153,238] let s:lib.Codec.encoding_table["21627"] = [153,239] let s:lib.Codec.encoding_table["21632"] = [153,240] let s:lib.Codec.encoding_table["21622"] = [153,241] let s:lib.Codec.encoding_table["21636"] = [153,242] let s:lib.Codec.encoding_table["21648"] = [153,243] let s:lib.Codec.encoding_table["21638"] = [153,244] let s:lib.Codec.encoding_table["21703"] = [153,245] let s:lib.Codec.encoding_table["21666"] = [153,246] let s:lib.Codec.encoding_table["21688"] = [153,247] let s:lib.Codec.encoding_table["21669"] = [153,248] let s:lib.Codec.encoding_table["21676"] = [153,249] let s:lib.Codec.encoding_table["21700"] = [153,250] let s:lib.Codec.encoding_table["21704"] = [153,251] let s:lib.Codec.encoding_table["21672"] = [153,252] let s:lib.Codec.encoding_table["21675"] = [154,64] let s:lib.Codec.encoding_table["21698"] = [154,65] let s:lib.Codec.encoding_table["21668"] = [154,66] let s:lib.Codec.encoding_table["21694"] = [154,67] let s:lib.Codec.encoding_table["21692"] = [154,68] let s:lib.Codec.encoding_table["21720"] = [154,69] let s:lib.Codec.encoding_table["21733"] = [154,70] let s:lib.Codec.encoding_table["21734"] = [154,71] let s:lib.Codec.encoding_table["21775"] = [154,72] let s:lib.Codec.encoding_table["21780"] = [154,73] let s:lib.Codec.encoding_table["21757"] = [154,74] let s:lib.Codec.encoding_table["21742"] = [154,75] let s:lib.Codec.encoding_table["21741"] = [154,76] let s:lib.Codec.encoding_table["21754"] = [154,77] let s:lib.Codec.encoding_table["21730"] = [154,78] let s:lib.Codec.encoding_table["21817"] = [154,79] let s:lib.Codec.encoding_table["21824"] = [154,80] let s:lib.Codec.encoding_table["21859"] = [154,81] let s:lib.Codec.encoding_table["21836"] = [154,82] let s:lib.Codec.encoding_table["21806"] = [154,83] let s:lib.Codec.encoding_table["21852"] = [154,84] let s:lib.Codec.encoding_table["21829"] = [154,85] let s:lib.Codec.encoding_table["21846"] = [154,86] let s:lib.Codec.encoding_table["21847"] = [154,87] let s:lib.Codec.encoding_table["21816"] = [154,88] let s:lib.Codec.encoding_table["21811"] = [154,89] let s:lib.Codec.encoding_table["21853"] = [154,90] let s:lib.Codec.encoding_table["21913"] = [154,91] let s:lib.Codec.encoding_table["21888"] = [154,92] let s:lib.Codec.encoding_table["21679"] = [154,93] let s:lib.Codec.encoding_table["21898"] = [154,94] let s:lib.Codec.encoding_table["21919"] = [154,95] let s:lib.Codec.encoding_table["21883"] = [154,96] let s:lib.Codec.encoding_table["21886"] = [154,97] let s:lib.Codec.encoding_table["21912"] = [154,98] let s:lib.Codec.encoding_table["21918"] = [154,99] let s:lib.Codec.encoding_table["21934"] = [154,100] let s:lib.Codec.encoding_table["21884"] = [154,101] let s:lib.Codec.encoding_table["21891"] = [154,102] let s:lib.Codec.encoding_table["21929"] = [154,103] let s:lib.Codec.encoding_table["21895"] = [154,104] let s:lib.Codec.encoding_table["21928"] = [154,105] let s:lib.Codec.encoding_table["21978"] = [154,106] let s:lib.Codec.encoding_table["21957"] = [154,107] let s:lib.Codec.encoding_table["21983"] = [154,108] let s:lib.Codec.encoding_table["21956"] = [154,109] let s:lib.Codec.encoding_table["21980"] = [154,110] let s:lib.Codec.encoding_table["21988"] = [154,111] let s:lib.Codec.encoding_table["21972"] = [154,112] let s:lib.Codec.encoding_table["22036"] = [154,113] let s:lib.Codec.encoding_table["22007"] = [154,114] let s:lib.Codec.encoding_table["22038"] = [154,115] let s:lib.Codec.encoding_table["22014"] = [154,116] let s:lib.Codec.encoding_table["22013"] = [154,117] let s:lib.Codec.encoding_table["22043"] = [154,118] let s:lib.Codec.encoding_table["22009"] = [154,119] let s:lib.Codec.encoding_table["22094"] = [154,120] let s:lib.Codec.encoding_table["22096"] = [154,121] let s:lib.Codec.encoding_table["29151"] = [154,122] let s:lib.Codec.encoding_table["22068"] = [154,123] let s:lib.Codec.encoding_table["22070"] = [154,124] let s:lib.Codec.encoding_table["22066"] = [154,125] let s:lib.Codec.encoding_table["22072"] = [154,126] let s:lib.Codec.encoding_table["22123"] = [154,128] let s:lib.Codec.encoding_table["22116"] = [154,129] let s:lib.Codec.encoding_table["22063"] = [154,130] let s:lib.Codec.encoding_table["22124"] = [154,131] let s:lib.Codec.encoding_table["22122"] = [154,132] let s:lib.Codec.encoding_table["22150"] = [154,133] let s:lib.Codec.encoding_table["22144"] = [154,134] let s:lib.Codec.encoding_table["22154"] = [154,135] let s:lib.Codec.encoding_table["22176"] = [154,136] let s:lib.Codec.encoding_table["22164"] = [154,137] let s:lib.Codec.encoding_table["22159"] = [154,138] let s:lib.Codec.encoding_table["22181"] = [154,139] let s:lib.Codec.encoding_table["22190"] = [154,140] let s:lib.Codec.encoding_table["22198"] = [154,141] let s:lib.Codec.encoding_table["22196"] = [154,142] let s:lib.Codec.encoding_table["22210"] = [154,143] let s:lib.Codec.encoding_table["22204"] = [154,144] let s:lib.Codec.encoding_table["22209"] = [154,145] let s:lib.Codec.encoding_table["22211"] = [154,146] let s:lib.Codec.encoding_table["22208"] = [154,147] let s:lib.Codec.encoding_table["22216"] = [154,148] let s:lib.Codec.encoding_table["22222"] = [154,149] let s:lib.Codec.encoding_table["22225"] = [154,150] let s:lib.Codec.encoding_table["22227"] = [154,151] let s:lib.Codec.encoding_table["22231"] = [154,152] let s:lib.Codec.encoding_table["22254"] = [154,153] let s:lib.Codec.encoding_table["22265"] = [154,154] let s:lib.Codec.encoding_table["22272"] = [154,155] let s:lib.Codec.encoding_table["22271"] = [154,156] let s:lib.Codec.encoding_table["22276"] = [154,157] let s:lib.Codec.encoding_table["22281"] = [154,158] let s:lib.Codec.encoding_table["22280"] = [154,159] let s:lib.Codec.encoding_table["22283"] = [154,160] let s:lib.Codec.encoding_table["22285"] = [154,161] let s:lib.Codec.encoding_table["22291"] = [154,162] let s:lib.Codec.encoding_table["22296"] = [154,163] let s:lib.Codec.encoding_table["22294"] = [154,164] let s:lib.Codec.encoding_table["21959"] = [154,165] let s:lib.Codec.encoding_table["22300"] = [154,166] let s:lib.Codec.encoding_table["22310"] = [154,167] let s:lib.Codec.encoding_table["22327"] = [154,168] let s:lib.Codec.encoding_table["22328"] = [154,169] let s:lib.Codec.encoding_table["22350"] = [154,170] let s:lib.Codec.encoding_table["22331"] = [154,171] let s:lib.Codec.encoding_table["22336"] = [154,172] let s:lib.Codec.encoding_table["22351"] = [154,173] let s:lib.Codec.encoding_table["22377"] = [154,174] let s:lib.Codec.encoding_table["22464"] = [154,175] let s:lib.Codec.encoding_table["22408"] = [154,176] let s:lib.Codec.encoding_table["22369"] = [154,177] let s:lib.Codec.encoding_table["22399"] = [154,178] let s:lib.Codec.encoding_table["22409"] = [154,179] let s:lib.Codec.encoding_table["22419"] = [154,180] let s:lib.Codec.encoding_table["22432"] = [154,181] let s:lib.Codec.encoding_table["22451"] = [154,182] let s:lib.Codec.encoding_table["22436"] = [154,183] let s:lib.Codec.encoding_table["22442"] = [154,184] let s:lib.Codec.encoding_table["22448"] = [154,185] let s:lib.Codec.encoding_table["22467"] = [154,186] let s:lib.Codec.encoding_table["22470"] = [154,187] let s:lib.Codec.encoding_table["22484"] = [154,188] let s:lib.Codec.encoding_table["22482"] = [154,189] let s:lib.Codec.encoding_table["22483"] = [154,190] let s:lib.Codec.encoding_table["22538"] = [154,191] let s:lib.Codec.encoding_table["22486"] = [154,192] let s:lib.Codec.encoding_table["22499"] = [154,193] let s:lib.Codec.encoding_table["22539"] = [154,194] let s:lib.Codec.encoding_table["22553"] = [154,195] let s:lib.Codec.encoding_table["22557"] = [154,196] let s:lib.Codec.encoding_table["22642"] = [154,197] let s:lib.Codec.encoding_table["22561"] = [154,198] let s:lib.Codec.encoding_table["22626"] = [154,199] let s:lib.Codec.encoding_table["22603"] = [154,200] let s:lib.Codec.encoding_table["22640"] = [154,201] let s:lib.Codec.encoding_table["27584"] = [154,202] let s:lib.Codec.encoding_table["22610"] = [154,203] let s:lib.Codec.encoding_table["22589"] = [154,204] let s:lib.Codec.encoding_table["22649"] = [154,205] let s:lib.Codec.encoding_table["22661"] = [154,206] let s:lib.Codec.encoding_table["22713"] = [154,207] let s:lib.Codec.encoding_table["22687"] = [154,208] let s:lib.Codec.encoding_table["22699"] = [154,209] let s:lib.Codec.encoding_table["22714"] = [154,210] let s:lib.Codec.encoding_table["22750"] = [154,211] let s:lib.Codec.encoding_table["22715"] = [154,212] let s:lib.Codec.encoding_table["22712"] = [154,213] let s:lib.Codec.encoding_table["22702"] = [154,214] let s:lib.Codec.encoding_table["22725"] = [154,215] let s:lib.Codec.encoding_table["22739"] = [154,216] let s:lib.Codec.encoding_table["22737"] = [154,217] let s:lib.Codec.encoding_table["22743"] = [154,218] let s:lib.Codec.encoding_table["22745"] = [154,219] let s:lib.Codec.encoding_table["22744"] = [154,220] let s:lib.Codec.encoding_table["22757"] = [154,221] let s:lib.Codec.encoding_table["22748"] = [154,222] let s:lib.Codec.encoding_table["22756"] = [154,223] let s:lib.Codec.encoding_table["22751"] = [154,224] let s:lib.Codec.encoding_table["22767"] = [154,225] let s:lib.Codec.encoding_table["22778"] = [154,226] let s:lib.Codec.encoding_table["22777"] = [154,227] let s:lib.Codec.encoding_table["22779"] = [154,228] let s:lib.Codec.encoding_table["22780"] = [154,229] let s:lib.Codec.encoding_table["22781"] = [154,230] let s:lib.Codec.encoding_table["22786"] = [154,231] let s:lib.Codec.encoding_table["22794"] = [154,232] let s:lib.Codec.encoding_table["22800"] = [154,233] let s:lib.Codec.encoding_table["22811"] = [154,234] let s:lib.Codec.encoding_table["26790"] = [154,235] let s:lib.Codec.encoding_table["22821"] = [154,236] let s:lib.Codec.encoding_table["22828"] = [154,237] let s:lib.Codec.encoding_table["22829"] = [154,238] let s:lib.Codec.encoding_table["22834"] = [154,239] let s:lib.Codec.encoding_table["22840"] = [154,240] let s:lib.Codec.encoding_table["22846"] = [154,241] let s:lib.Codec.encoding_table["31442"] = [154,242] let s:lib.Codec.encoding_table["22869"] = [154,243] let s:lib.Codec.encoding_table["22864"] = [154,244] let s:lib.Codec.encoding_table["22862"] = [154,245] let s:lib.Codec.encoding_table["22874"] = [154,246] let s:lib.Codec.encoding_table["22872"] = [154,247] let s:lib.Codec.encoding_table["22882"] = [154,248] let s:lib.Codec.encoding_table["22880"] = [154,249] let s:lib.Codec.encoding_table["22887"] = [154,250] let s:lib.Codec.encoding_table["22892"] = [154,251] let s:lib.Codec.encoding_table["22889"] = [154,252] let s:lib.Codec.encoding_table["22904"] = [155,64] let s:lib.Codec.encoding_table["22913"] = [155,65] let s:lib.Codec.encoding_table["22941"] = [155,66] let s:lib.Codec.encoding_table["20318"] = [155,67] let s:lib.Codec.encoding_table["20395"] = [155,68] let s:lib.Codec.encoding_table["22947"] = [155,69] let s:lib.Codec.encoding_table["22962"] = [155,70] let s:lib.Codec.encoding_table["22982"] = [155,71] let s:lib.Codec.encoding_table["23016"] = [155,72] let s:lib.Codec.encoding_table["23004"] = [155,73] let s:lib.Codec.encoding_table["22925"] = [155,74] let s:lib.Codec.encoding_table["23001"] = [155,75] let s:lib.Codec.encoding_table["23002"] = [155,76] let s:lib.Codec.encoding_table["23077"] = [155,77] let s:lib.Codec.encoding_table["23071"] = [155,78] let s:lib.Codec.encoding_table["23057"] = [155,79] let s:lib.Codec.encoding_table["23068"] = [155,80] let s:lib.Codec.encoding_table["23049"] = [155,81] let s:lib.Codec.encoding_table["23066"] = [155,82] let s:lib.Codec.encoding_table["23104"] = [155,83] let s:lib.Codec.encoding_table["23148"] = [155,84] let s:lib.Codec.encoding_table["23113"] = [155,85] let s:lib.Codec.encoding_table["23093"] = [155,86] let s:lib.Codec.encoding_table["23094"] = [155,87] let s:lib.Codec.encoding_table["23138"] = [155,88] let s:lib.Codec.encoding_table["23146"] = [155,89] let s:lib.Codec.encoding_table["23194"] = [155,90] let s:lib.Codec.encoding_table["23228"] = [155,91] let s:lib.Codec.encoding_table["23230"] = [155,92] let s:lib.Codec.encoding_table["23243"] = [155,93] let s:lib.Codec.encoding_table["23234"] = [155,94] let s:lib.Codec.encoding_table["23229"] = [155,95] let s:lib.Codec.encoding_table["23267"] = [155,96] let s:lib.Codec.encoding_table["23255"] = [155,97] let s:lib.Codec.encoding_table["23270"] = [155,98] let s:lib.Codec.encoding_table["23273"] = [155,99] let s:lib.Codec.encoding_table["23254"] = [155,100] let s:lib.Codec.encoding_table["23290"] = [155,101] let s:lib.Codec.encoding_table["23291"] = [155,102] let s:lib.Codec.encoding_table["23308"] = [155,103] let s:lib.Codec.encoding_table["23307"] = [155,104] let s:lib.Codec.encoding_table["23318"] = [155,105] let s:lib.Codec.encoding_table["23346"] = [155,106] let s:lib.Codec.encoding_table["23248"] = [155,107] let s:lib.Codec.encoding_table["23338"] = [155,108] let s:lib.Codec.encoding_table["23350"] = [155,109] let s:lib.Codec.encoding_table["23358"] = [155,110] let s:lib.Codec.encoding_table["23363"] = [155,111] let s:lib.Codec.encoding_table["23365"] = [155,112] let s:lib.Codec.encoding_table["23360"] = [155,113] let s:lib.Codec.encoding_table["23377"] = [155,114] let s:lib.Codec.encoding_table["23381"] = [155,115] let s:lib.Codec.encoding_table["23386"] = [155,116] let s:lib.Codec.encoding_table["23387"] = [155,117] let s:lib.Codec.encoding_table["23397"] = [155,118] let s:lib.Codec.encoding_table["23401"] = [155,119] let s:lib.Codec.encoding_table["23408"] = [155,120] let s:lib.Codec.encoding_table["23411"] = [155,121] let s:lib.Codec.encoding_table["23413"] = [155,122] let s:lib.Codec.encoding_table["23416"] = [155,123] let s:lib.Codec.encoding_table["25992"] = [155,124] let s:lib.Codec.encoding_table["23418"] = [155,125] let s:lib.Codec.encoding_table["23424"] = [155,126] let s:lib.Codec.encoding_table["23427"] = [155,128] let s:lib.Codec.encoding_table["23462"] = [155,129] let s:lib.Codec.encoding_table["23480"] = [155,130] let s:lib.Codec.encoding_table["23491"] = [155,131] let s:lib.Codec.encoding_table["23495"] = [155,132] let s:lib.Codec.encoding_table["23497"] = [155,133] let s:lib.Codec.encoding_table["23508"] = [155,134] let s:lib.Codec.encoding_table["23504"] = [155,135] let s:lib.Codec.encoding_table["23524"] = [155,136] let s:lib.Codec.encoding_table["23526"] = [155,137] let s:lib.Codec.encoding_table["23522"] = [155,138] let s:lib.Codec.encoding_table["23518"] = [155,139] let s:lib.Codec.encoding_table["23525"] = [155,140] let s:lib.Codec.encoding_table["23531"] = [155,141] let s:lib.Codec.encoding_table["23536"] = [155,142] let s:lib.Codec.encoding_table["23542"] = [155,143] let s:lib.Codec.encoding_table["23539"] = [155,144] let s:lib.Codec.encoding_table["23557"] = [155,145] let s:lib.Codec.encoding_table["23559"] = [155,146] let s:lib.Codec.encoding_table["23560"] = [155,147] let s:lib.Codec.encoding_table["23565"] = [155,148] let s:lib.Codec.encoding_table["23571"] = [155,149] let s:lib.Codec.encoding_table["23584"] = [155,150] let s:lib.Codec.encoding_table["23586"] = [155,151] let s:lib.Codec.encoding_table["23592"] = [155,152] let s:lib.Codec.encoding_table["23608"] = [155,153] let s:lib.Codec.encoding_table["23609"] = [155,154] let s:lib.Codec.encoding_table["23617"] = [155,155] let s:lib.Codec.encoding_table["23622"] = [155,156] let s:lib.Codec.encoding_table["23630"] = [155,157] let s:lib.Codec.encoding_table["23635"] = [155,158] let s:lib.Codec.encoding_table["23632"] = [155,159] let s:lib.Codec.encoding_table["23631"] = [155,160] let s:lib.Codec.encoding_table["23409"] = [155,161] let s:lib.Codec.encoding_table["23660"] = [155,162] let s:lib.Codec.encoding_table["23662"] = [155,163] let s:lib.Codec.encoding_table["20066"] = [155,164] let s:lib.Codec.encoding_table["23670"] = [155,165] let s:lib.Codec.encoding_table["23673"] = [155,166] let s:lib.Codec.encoding_table["23692"] = [155,167] let s:lib.Codec.encoding_table["23697"] = [155,168] let s:lib.Codec.encoding_table["23700"] = [155,169] let s:lib.Codec.encoding_table["22939"] = [155,170] let s:lib.Codec.encoding_table["23723"] = [155,171] let s:lib.Codec.encoding_table["23739"] = [155,172] let s:lib.Codec.encoding_table["23734"] = [155,173] let s:lib.Codec.encoding_table["23740"] = [155,174] let s:lib.Codec.encoding_table["23735"] = [155,175] let s:lib.Codec.encoding_table["23749"] = [155,176] let s:lib.Codec.encoding_table["23742"] = [155,177] let s:lib.Codec.encoding_table["23751"] = [155,178] let s:lib.Codec.encoding_table["23769"] = [155,179] let s:lib.Codec.encoding_table["23785"] = [155,180] let s:lib.Codec.encoding_table["23805"] = [155,181] let s:lib.Codec.encoding_table["23802"] = [155,182] let s:lib.Codec.encoding_table["23789"] = [155,183] let s:lib.Codec.encoding_table["23948"] = [155,184] let s:lib.Codec.encoding_table["23786"] = [155,185] let s:lib.Codec.encoding_table["23819"] = [155,186] let s:lib.Codec.encoding_table["23829"] = [155,187] let s:lib.Codec.encoding_table["23831"] = [155,188] let s:lib.Codec.encoding_table["23900"] = [155,189] let s:lib.Codec.encoding_table["23839"] = [155,190] let s:lib.Codec.encoding_table["23835"] = [155,191] let s:lib.Codec.encoding_table["23825"] = [155,192] let s:lib.Codec.encoding_table["23828"] = [155,193] let s:lib.Codec.encoding_table["23842"] = [155,194] let s:lib.Codec.encoding_table["23834"] = [155,195] let s:lib.Codec.encoding_table["23833"] = [155,196] let s:lib.Codec.encoding_table["23832"] = [155,197] let s:lib.Codec.encoding_table["23884"] = [155,198] let s:lib.Codec.encoding_table["23890"] = [155,199] let s:lib.Codec.encoding_table["23886"] = [155,200] let s:lib.Codec.encoding_table["23883"] = [155,201] let s:lib.Codec.encoding_table["23916"] = [155,202] let s:lib.Codec.encoding_table["23923"] = [155,203] let s:lib.Codec.encoding_table["23926"] = [155,204] let s:lib.Codec.encoding_table["23943"] = [155,205] let s:lib.Codec.encoding_table["23940"] = [155,206] let s:lib.Codec.encoding_table["23938"] = [155,207] let s:lib.Codec.encoding_table["23970"] = [155,208] let s:lib.Codec.encoding_table["23965"] = [155,209] let s:lib.Codec.encoding_table["23980"] = [155,210] let s:lib.Codec.encoding_table["23982"] = [155,211] let s:lib.Codec.encoding_table["23997"] = [155,212] let s:lib.Codec.encoding_table["23952"] = [155,213] let s:lib.Codec.encoding_table["23991"] = [155,214] let s:lib.Codec.encoding_table["23996"] = [155,215] let s:lib.Codec.encoding_table["24009"] = [155,216] let s:lib.Codec.encoding_table["24013"] = [155,217] let s:lib.Codec.encoding_table["24019"] = [155,218] let s:lib.Codec.encoding_table["24018"] = [155,219] let s:lib.Codec.encoding_table["24022"] = [155,220] let s:lib.Codec.encoding_table["24027"] = [155,221] let s:lib.Codec.encoding_table["24043"] = [155,222] let s:lib.Codec.encoding_table["24050"] = [155,223] let s:lib.Codec.encoding_table["24053"] = [155,224] let s:lib.Codec.encoding_table["24075"] = [155,225] let s:lib.Codec.encoding_table["24090"] = [155,226] let s:lib.Codec.encoding_table["24089"] = [155,227] let s:lib.Codec.encoding_table["24081"] = [155,228] let s:lib.Codec.encoding_table["24091"] = [155,229] let s:lib.Codec.encoding_table["24118"] = [155,230] let s:lib.Codec.encoding_table["24119"] = [155,231] let s:lib.Codec.encoding_table["24132"] = [155,232] let s:lib.Codec.encoding_table["24131"] = [155,233] let s:lib.Codec.encoding_table["24128"] = [155,234] let s:lib.Codec.encoding_table["24142"] = [155,235] let s:lib.Codec.encoding_table["24151"] = [155,236] let s:lib.Codec.encoding_table["24148"] = [155,237] let s:lib.Codec.encoding_table["24159"] = [155,238] let s:lib.Codec.encoding_table["24162"] = [155,239] let s:lib.Codec.encoding_table["24164"] = [155,240] let s:lib.Codec.encoding_table["24135"] = [155,241] let s:lib.Codec.encoding_table["24181"] = [155,242] let s:lib.Codec.encoding_table["24182"] = [155,243] let s:lib.Codec.encoding_table["24186"] = [155,244] let s:lib.Codec.encoding_table["40636"] = [155,245] let s:lib.Codec.encoding_table["24191"] = [155,246] let s:lib.Codec.encoding_table["24224"] = [155,247] let s:lib.Codec.encoding_table["24257"] = [155,248] let s:lib.Codec.encoding_table["24258"] = [155,249] let s:lib.Codec.encoding_table["24264"] = [155,250] let s:lib.Codec.encoding_table["24272"] = [155,251] let s:lib.Codec.encoding_table["24271"] = [155,252] let s:lib.Codec.encoding_table["24278"] = [156,64] let s:lib.Codec.encoding_table["24291"] = [156,65] let s:lib.Codec.encoding_table["24285"] = [156,66] let s:lib.Codec.encoding_table["24282"] = [156,67] let s:lib.Codec.encoding_table["24283"] = [156,68] let s:lib.Codec.encoding_table["24290"] = [156,69] let s:lib.Codec.encoding_table["24289"] = [156,70] let s:lib.Codec.encoding_table["24296"] = [156,71] let s:lib.Codec.encoding_table["24297"] = [156,72] let s:lib.Codec.encoding_table["24300"] = [156,73] let s:lib.Codec.encoding_table["24305"] = [156,74] let s:lib.Codec.encoding_table["24307"] = [156,75] let s:lib.Codec.encoding_table["24304"] = [156,76] let s:lib.Codec.encoding_table["24308"] = [156,77] let s:lib.Codec.encoding_table["24312"] = [156,78] let s:lib.Codec.encoding_table["24318"] = [156,79] let s:lib.Codec.encoding_table["24323"] = [156,80] let s:lib.Codec.encoding_table["24329"] = [156,81] let s:lib.Codec.encoding_table["24413"] = [156,82] let s:lib.Codec.encoding_table["24412"] = [156,83] let s:lib.Codec.encoding_table["24331"] = [156,84] let s:lib.Codec.encoding_table["24337"] = [156,85] let s:lib.Codec.encoding_table["24342"] = [156,86] let s:lib.Codec.encoding_table["24361"] = [156,87] let s:lib.Codec.encoding_table["24365"] = [156,88] let s:lib.Codec.encoding_table["24376"] = [156,89] let s:lib.Codec.encoding_table["24385"] = [156,90] let s:lib.Codec.encoding_table["24392"] = [156,91] let s:lib.Codec.encoding_table["24396"] = [156,92] let s:lib.Codec.encoding_table["24398"] = [156,93] let s:lib.Codec.encoding_table["24367"] = [156,94] let s:lib.Codec.encoding_table["24401"] = [156,95] let s:lib.Codec.encoding_table["24406"] = [156,96] let s:lib.Codec.encoding_table["24407"] = [156,97] let s:lib.Codec.encoding_table["24409"] = [156,98] let s:lib.Codec.encoding_table["24417"] = [156,99] let s:lib.Codec.encoding_table["24429"] = [156,100] let s:lib.Codec.encoding_table["24435"] = [156,101] let s:lib.Codec.encoding_table["24439"] = [156,102] let s:lib.Codec.encoding_table["24451"] = [156,103] let s:lib.Codec.encoding_table["24450"] = [156,104] let s:lib.Codec.encoding_table["24447"] = [156,105] let s:lib.Codec.encoding_table["24458"] = [156,106] let s:lib.Codec.encoding_table["24456"] = [156,107] let s:lib.Codec.encoding_table["24465"] = [156,108] let s:lib.Codec.encoding_table["24455"] = [156,109] let s:lib.Codec.encoding_table["24478"] = [156,110] let s:lib.Codec.encoding_table["24473"] = [156,111] let s:lib.Codec.encoding_table["24472"] = [156,112] let s:lib.Codec.encoding_table["24480"] = [156,113] let s:lib.Codec.encoding_table["24488"] = [156,114] let s:lib.Codec.encoding_table["24493"] = [156,115] let s:lib.Codec.encoding_table["24508"] = [156,116] let s:lib.Codec.encoding_table["24534"] = [156,117] let s:lib.Codec.encoding_table["24571"] = [156,118] let s:lib.Codec.encoding_table["24548"] = [156,119] let s:lib.Codec.encoding_table["24568"] = [156,120] let s:lib.Codec.encoding_table["24561"] = [156,121] let s:lib.Codec.encoding_table["24541"] = [156,122] let s:lib.Codec.encoding_table["24755"] = [156,123] let s:lib.Codec.encoding_table["24575"] = [156,124] let s:lib.Codec.encoding_table["24609"] = [156,125] let s:lib.Codec.encoding_table["24672"] = [156,126] let s:lib.Codec.encoding_table["24601"] = [156,128] let s:lib.Codec.encoding_table["24592"] = [156,129] let s:lib.Codec.encoding_table["24617"] = [156,130] let s:lib.Codec.encoding_table["24590"] = [156,131] let s:lib.Codec.encoding_table["24625"] = [156,132] let s:lib.Codec.encoding_table["24603"] = [156,133] let s:lib.Codec.encoding_table["24597"] = [156,134] let s:lib.Codec.encoding_table["24619"] = [156,135] let s:lib.Codec.encoding_table["24614"] = [156,136] let s:lib.Codec.encoding_table["24591"] = [156,137] let s:lib.Codec.encoding_table["24634"] = [156,138] let s:lib.Codec.encoding_table["24666"] = [156,139] let s:lib.Codec.encoding_table["24641"] = [156,140] let s:lib.Codec.encoding_table["24682"] = [156,141] let s:lib.Codec.encoding_table["24695"] = [156,142] let s:lib.Codec.encoding_table["24671"] = [156,143] let s:lib.Codec.encoding_table["24650"] = [156,144] let s:lib.Codec.encoding_table["24646"] = [156,145] let s:lib.Codec.encoding_table["24653"] = [156,146] let s:lib.Codec.encoding_table["24675"] = [156,147] let s:lib.Codec.encoding_table["24643"] = [156,148] let s:lib.Codec.encoding_table["24676"] = [156,149] let s:lib.Codec.encoding_table["24642"] = [156,150] let s:lib.Codec.encoding_table["24684"] = [156,151] let s:lib.Codec.encoding_table["24683"] = [156,152] let s:lib.Codec.encoding_table["24665"] = [156,153] let s:lib.Codec.encoding_table["24705"] = [156,154] let s:lib.Codec.encoding_table["24717"] = [156,155] let s:lib.Codec.encoding_table["24807"] = [156,156] let s:lib.Codec.encoding_table["24707"] = [156,157] let s:lib.Codec.encoding_table["24730"] = [156,158] let s:lib.Codec.encoding_table["24708"] = [156,159] let s:lib.Codec.encoding_table["24731"] = [156,160] let s:lib.Codec.encoding_table["24726"] = [156,161] let s:lib.Codec.encoding_table["24727"] = [156,162] let s:lib.Codec.encoding_table["24722"] = [156,163] let s:lib.Codec.encoding_table["24743"] = [156,164] let s:lib.Codec.encoding_table["24715"] = [156,165] let s:lib.Codec.encoding_table["24801"] = [156,166] let s:lib.Codec.encoding_table["24760"] = [156,167] let s:lib.Codec.encoding_table["24800"] = [156,168] let s:lib.Codec.encoding_table["24787"] = [156,169] let s:lib.Codec.encoding_table["24756"] = [156,170] let s:lib.Codec.encoding_table["24560"] = [156,171] let s:lib.Codec.encoding_table["24765"] = [156,172] let s:lib.Codec.encoding_table["24774"] = [156,173] let s:lib.Codec.encoding_table["24757"] = [156,174] let s:lib.Codec.encoding_table["24792"] = [156,175] let s:lib.Codec.encoding_table["24909"] = [156,176] let s:lib.Codec.encoding_table["24853"] = [156,177] let s:lib.Codec.encoding_table["24838"] = [156,178] let s:lib.Codec.encoding_table["24822"] = [156,179] let s:lib.Codec.encoding_table["24823"] = [156,180] let s:lib.Codec.encoding_table["24832"] = [156,181] let s:lib.Codec.encoding_table["24820"] = [156,182] let s:lib.Codec.encoding_table["24826"] = [156,183] let s:lib.Codec.encoding_table["24835"] = [156,184] let s:lib.Codec.encoding_table["24865"] = [156,185] let s:lib.Codec.encoding_table["24827"] = [156,186] let s:lib.Codec.encoding_table["24817"] = [156,187] let s:lib.Codec.encoding_table["24845"] = [156,188] let s:lib.Codec.encoding_table["24846"] = [156,189] let s:lib.Codec.encoding_table["24903"] = [156,190] let s:lib.Codec.encoding_table["24894"] = [156,191] let s:lib.Codec.encoding_table["24872"] = [156,192] let s:lib.Codec.encoding_table["24871"] = [156,193] let s:lib.Codec.encoding_table["24906"] = [156,194] let s:lib.Codec.encoding_table["24895"] = [156,195] let s:lib.Codec.encoding_table["24892"] = [156,196] let s:lib.Codec.encoding_table["24876"] = [156,197] let s:lib.Codec.encoding_table["24884"] = [156,198] let s:lib.Codec.encoding_table["24893"] = [156,199] let s:lib.Codec.encoding_table["24898"] = [156,200] let s:lib.Codec.encoding_table["24900"] = [156,201] let s:lib.Codec.encoding_table["24947"] = [156,202] let s:lib.Codec.encoding_table["24951"] = [156,203] let s:lib.Codec.encoding_table["24920"] = [156,204] let s:lib.Codec.encoding_table["24921"] = [156,205] let s:lib.Codec.encoding_table["24922"] = [156,206] let s:lib.Codec.encoding_table["24939"] = [156,207] let s:lib.Codec.encoding_table["24948"] = [156,208] let s:lib.Codec.encoding_table["24943"] = [156,209] let s:lib.Codec.encoding_table["24933"] = [156,210] let s:lib.Codec.encoding_table["24945"] = [156,211] let s:lib.Codec.encoding_table["24927"] = [156,212] let s:lib.Codec.encoding_table["24925"] = [156,213] let s:lib.Codec.encoding_table["24915"] = [156,214] let s:lib.Codec.encoding_table["24949"] = [156,215] let s:lib.Codec.encoding_table["24985"] = [156,216] let s:lib.Codec.encoding_table["24982"] = [156,217] let s:lib.Codec.encoding_table["24967"] = [156,218] let s:lib.Codec.encoding_table["25004"] = [156,219] let s:lib.Codec.encoding_table["24980"] = [156,220] let s:lib.Codec.encoding_table["24986"] = [156,221] let s:lib.Codec.encoding_table["24970"] = [156,222] let s:lib.Codec.encoding_table["24977"] = [156,223] let s:lib.Codec.encoding_table["25003"] = [156,224] let s:lib.Codec.encoding_table["25006"] = [156,225] let s:lib.Codec.encoding_table["25036"] = [156,226] let s:lib.Codec.encoding_table["25034"] = [156,227] let s:lib.Codec.encoding_table["25033"] = [156,228] let s:lib.Codec.encoding_table["25079"] = [156,229] let s:lib.Codec.encoding_table["25032"] = [156,230] let s:lib.Codec.encoding_table["25027"] = [156,231] let s:lib.Codec.encoding_table["25030"] = [156,232] let s:lib.Codec.encoding_table["25018"] = [156,233] let s:lib.Codec.encoding_table["25035"] = [156,234] let s:lib.Codec.encoding_table["32633"] = [156,235] let s:lib.Codec.encoding_table["25037"] = [156,236] let s:lib.Codec.encoding_table["25062"] = [156,237] let s:lib.Codec.encoding_table["25059"] = [156,238] let s:lib.Codec.encoding_table["25078"] = [156,239] let s:lib.Codec.encoding_table["25082"] = [156,240] let s:lib.Codec.encoding_table["25076"] = [156,241] let s:lib.Codec.encoding_table["25087"] = [156,242] let s:lib.Codec.encoding_table["25085"] = [156,243] let s:lib.Codec.encoding_table["25084"] = [156,244] let s:lib.Codec.encoding_table["25086"] = [156,245] let s:lib.Codec.encoding_table["25088"] = [156,246] let s:lib.Codec.encoding_table["25096"] = [156,247] let s:lib.Codec.encoding_table["25097"] = [156,248] let s:lib.Codec.encoding_table["25101"] = [156,249] let s:lib.Codec.encoding_table["25100"] = [156,250] let s:lib.Codec.encoding_table["25108"] = [156,251] let s:lib.Codec.encoding_table["25115"] = [156,252] let s:lib.Codec.encoding_table["25118"] = [157,64] let s:lib.Codec.encoding_table["25121"] = [157,65] let s:lib.Codec.encoding_table["25130"] = [157,66] let s:lib.Codec.encoding_table["25134"] = [157,67] let s:lib.Codec.encoding_table["25136"] = [157,68] let s:lib.Codec.encoding_table["25138"] = [157,69] let s:lib.Codec.encoding_table["25139"] = [157,70] let s:lib.Codec.encoding_table["25153"] = [157,71] let s:lib.Codec.encoding_table["25166"] = [157,72] let s:lib.Codec.encoding_table["25182"] = [157,73] let s:lib.Codec.encoding_table["25187"] = [157,74] let s:lib.Codec.encoding_table["25179"] = [157,75] let s:lib.Codec.encoding_table["25184"] = [157,76] let s:lib.Codec.encoding_table["25192"] = [157,77] let s:lib.Codec.encoding_table["25212"] = [157,78] let s:lib.Codec.encoding_table["25218"] = [157,79] let s:lib.Codec.encoding_table["25225"] = [157,80] let s:lib.Codec.encoding_table["25214"] = [157,81] let s:lib.Codec.encoding_table["25234"] = [157,82] let s:lib.Codec.encoding_table["25235"] = [157,83] let s:lib.Codec.encoding_table["25238"] = [157,84] let s:lib.Codec.encoding_table["25300"] = [157,85] let s:lib.Codec.encoding_table["25219"] = [157,86] let s:lib.Codec.encoding_table["25236"] = [157,87] let s:lib.Codec.encoding_table["25303"] = [157,88] let s:lib.Codec.encoding_table["25297"] = [157,89] let s:lib.Codec.encoding_table["25275"] = [157,90] let s:lib.Codec.encoding_table["25295"] = [157,91] let s:lib.Codec.encoding_table["25343"] = [157,92] let s:lib.Codec.encoding_table["25286"] = [157,93] let s:lib.Codec.encoding_table["25812"] = [157,94] let s:lib.Codec.encoding_table["25288"] = [157,95] let s:lib.Codec.encoding_table["25308"] = [157,96] let s:lib.Codec.encoding_table["25292"] = [157,97] let s:lib.Codec.encoding_table["25290"] = [157,98] let s:lib.Codec.encoding_table["25282"] = [157,99] let s:lib.Codec.encoding_table["25287"] = [157,100] let s:lib.Codec.encoding_table["25243"] = [157,101] let s:lib.Codec.encoding_table["25289"] = [157,102] let s:lib.Codec.encoding_table["25356"] = [157,103] let s:lib.Codec.encoding_table["25326"] = [157,104] let s:lib.Codec.encoding_table["25329"] = [157,105] let s:lib.Codec.encoding_table["25383"] = [157,106] let s:lib.Codec.encoding_table["25346"] = [157,107] let s:lib.Codec.encoding_table["25352"] = [157,108] let s:lib.Codec.encoding_table["25327"] = [157,109] let s:lib.Codec.encoding_table["25333"] = [157,110] let s:lib.Codec.encoding_table["25424"] = [157,111] let s:lib.Codec.encoding_table["25406"] = [157,112] let s:lib.Codec.encoding_table["25421"] = [157,113] let s:lib.Codec.encoding_table["25628"] = [157,114] let s:lib.Codec.encoding_table["25423"] = [157,115] let s:lib.Codec.encoding_table["25494"] = [157,116] let s:lib.Codec.encoding_table["25486"] = [157,117] let s:lib.Codec.encoding_table["25472"] = [157,118] let s:lib.Codec.encoding_table["25515"] = [157,119] let s:lib.Codec.encoding_table["25462"] = [157,120] let s:lib.Codec.encoding_table["25507"] = [157,121] let s:lib.Codec.encoding_table["25487"] = [157,122] let s:lib.Codec.encoding_table["25481"] = [157,123] let s:lib.Codec.encoding_table["25503"] = [157,124] let s:lib.Codec.encoding_table["25525"] = [157,125] let s:lib.Codec.encoding_table["25451"] = [157,126] let s:lib.Codec.encoding_table["25449"] = [157,128] let s:lib.Codec.encoding_table["25534"] = [157,129] let s:lib.Codec.encoding_table["25577"] = [157,130] let s:lib.Codec.encoding_table["25536"] = [157,131] let s:lib.Codec.encoding_table["25542"] = [157,132] let s:lib.Codec.encoding_table["25571"] = [157,133] let s:lib.Codec.encoding_table["25545"] = [157,134] let s:lib.Codec.encoding_table["25554"] = [157,135] let s:lib.Codec.encoding_table["25590"] = [157,136] let s:lib.Codec.encoding_table["25540"] = [157,137] let s:lib.Codec.encoding_table["25622"] = [157,138] let s:lib.Codec.encoding_table["25652"] = [157,139] let s:lib.Codec.encoding_table["25606"] = [157,140] let s:lib.Codec.encoding_table["25619"] = [157,141] let s:lib.Codec.encoding_table["25638"] = [157,142] let s:lib.Codec.encoding_table["25654"] = [157,143] let s:lib.Codec.encoding_table["25885"] = [157,144] let s:lib.Codec.encoding_table["25623"] = [157,145] let s:lib.Codec.encoding_table["25640"] = [157,146] let s:lib.Codec.encoding_table["25615"] = [157,147] let s:lib.Codec.encoding_table["25703"] = [157,148] let s:lib.Codec.encoding_table["25711"] = [157,149] let s:lib.Codec.encoding_table["25718"] = [157,150] let s:lib.Codec.encoding_table["25678"] = [157,151] let s:lib.Codec.encoding_table["25898"] = [157,152] let s:lib.Codec.encoding_table["25749"] = [157,153] let s:lib.Codec.encoding_table["25747"] = [157,154] let s:lib.Codec.encoding_table["25765"] = [157,155] let s:lib.Codec.encoding_table["25769"] = [157,156] let s:lib.Codec.encoding_table["25736"] = [157,157] let s:lib.Codec.encoding_table["25788"] = [157,158] let s:lib.Codec.encoding_table["25818"] = [157,159] let s:lib.Codec.encoding_table["25810"] = [157,160] let s:lib.Codec.encoding_table["25797"] = [157,161] let s:lib.Codec.encoding_table["25799"] = [157,162] let s:lib.Codec.encoding_table["25787"] = [157,163] let s:lib.Codec.encoding_table["25816"] = [157,164] let s:lib.Codec.encoding_table["25794"] = [157,165] let s:lib.Codec.encoding_table["25841"] = [157,166] let s:lib.Codec.encoding_table["25831"] = [157,167] let s:lib.Codec.encoding_table["33289"] = [157,168] let s:lib.Codec.encoding_table["25824"] = [157,169] let s:lib.Codec.encoding_table["25825"] = [157,170] let s:lib.Codec.encoding_table["25260"] = [157,171] let s:lib.Codec.encoding_table["25827"] = [157,172] let s:lib.Codec.encoding_table["25839"] = [157,173] let s:lib.Codec.encoding_table["25900"] = [157,174] let s:lib.Codec.encoding_table["25846"] = [157,175] let s:lib.Codec.encoding_table["25844"] = [157,176] let s:lib.Codec.encoding_table["25842"] = [157,177] let s:lib.Codec.encoding_table["25850"] = [157,178] let s:lib.Codec.encoding_table["25856"] = [157,179] let s:lib.Codec.encoding_table["25853"] = [157,180] let s:lib.Codec.encoding_table["25880"] = [157,181] let s:lib.Codec.encoding_table["25884"] = [157,182] let s:lib.Codec.encoding_table["25861"] = [157,183] let s:lib.Codec.encoding_table["25892"] = [157,184] let s:lib.Codec.encoding_table["25891"] = [157,185] let s:lib.Codec.encoding_table["25899"] = [157,186] let s:lib.Codec.encoding_table["25908"] = [157,187] let s:lib.Codec.encoding_table["25909"] = [157,188] let s:lib.Codec.encoding_table["25911"] = [157,189] let s:lib.Codec.encoding_table["25910"] = [157,190] let s:lib.Codec.encoding_table["25912"] = [157,191] let s:lib.Codec.encoding_table["30027"] = [157,192] let s:lib.Codec.encoding_table["25928"] = [157,193] let s:lib.Codec.encoding_table["25942"] = [157,194] let s:lib.Codec.encoding_table["25941"] = [157,195] let s:lib.Codec.encoding_table["25933"] = [157,196] let s:lib.Codec.encoding_table["25944"] = [157,197] let s:lib.Codec.encoding_table["25950"] = [157,198] let s:lib.Codec.encoding_table["25949"] = [157,199] let s:lib.Codec.encoding_table["25970"] = [157,200] let s:lib.Codec.encoding_table["25976"] = [157,201] let s:lib.Codec.encoding_table["25986"] = [157,202] let s:lib.Codec.encoding_table["25987"] = [157,203] let s:lib.Codec.encoding_table["35722"] = [157,204] let s:lib.Codec.encoding_table["26011"] = [157,205] let s:lib.Codec.encoding_table["26015"] = [157,206] let s:lib.Codec.encoding_table["26027"] = [157,207] let s:lib.Codec.encoding_table["26039"] = [157,208] let s:lib.Codec.encoding_table["26051"] = [157,209] let s:lib.Codec.encoding_table["26054"] = [157,210] let s:lib.Codec.encoding_table["26049"] = [157,211] let s:lib.Codec.encoding_table["26052"] = [157,212] let s:lib.Codec.encoding_table["26060"] = [157,213] let s:lib.Codec.encoding_table["26066"] = [157,214] let s:lib.Codec.encoding_table["26075"] = [157,215] let s:lib.Codec.encoding_table["26073"] = [157,216] let s:lib.Codec.encoding_table["26080"] = [157,217] let s:lib.Codec.encoding_table["26081"] = [157,218] let s:lib.Codec.encoding_table["26097"] = [157,219] let s:lib.Codec.encoding_table["26482"] = [157,220] let s:lib.Codec.encoding_table["26122"] = [157,221] let s:lib.Codec.encoding_table["26115"] = [157,222] let s:lib.Codec.encoding_table["26107"] = [157,223] let s:lib.Codec.encoding_table["26483"] = [157,224] let s:lib.Codec.encoding_table["26165"] = [157,225] let s:lib.Codec.encoding_table["26166"] = [157,226] let s:lib.Codec.encoding_table["26164"] = [157,227] let s:lib.Codec.encoding_table["26140"] = [157,228] let s:lib.Codec.encoding_table["26191"] = [157,229] let s:lib.Codec.encoding_table["26180"] = [157,230] let s:lib.Codec.encoding_table["26185"] = [157,231] let s:lib.Codec.encoding_table["26177"] = [157,232] let s:lib.Codec.encoding_table["26206"] = [157,233] let s:lib.Codec.encoding_table["26205"] = [157,234] let s:lib.Codec.encoding_table["26212"] = [157,235] let s:lib.Codec.encoding_table["26215"] = [157,236] let s:lib.Codec.encoding_table["26216"] = [157,237] let s:lib.Codec.encoding_table["26207"] = [157,238] let s:lib.Codec.encoding_table["26210"] = [157,239] let s:lib.Codec.encoding_table["26224"] = [157,240] let s:lib.Codec.encoding_table["26243"] = [157,241] let s:lib.Codec.encoding_table["26248"] = [157,242] let s:lib.Codec.encoding_table["26254"] = [157,243] let s:lib.Codec.encoding_table["26249"] = [157,244] let s:lib.Codec.encoding_table["26244"] = [157,245] let s:lib.Codec.encoding_table["26264"] = [157,246] let s:lib.Codec.encoding_table["26269"] = [157,247] let s:lib.Codec.encoding_table["26305"] = [157,248] let s:lib.Codec.encoding_table["26297"] = [157,249] let s:lib.Codec.encoding_table["26313"] = [157,250] let s:lib.Codec.encoding_table["26302"] = [157,251] let s:lib.Codec.encoding_table["26300"] = [157,252] let s:lib.Codec.encoding_table["26308"] = [158,64] let s:lib.Codec.encoding_table["26296"] = [158,65] let s:lib.Codec.encoding_table["26326"] = [158,66] let s:lib.Codec.encoding_table["26330"] = [158,67] let s:lib.Codec.encoding_table["26336"] = [158,68] let s:lib.Codec.encoding_table["26175"] = [158,69] let s:lib.Codec.encoding_table["26342"] = [158,70] let s:lib.Codec.encoding_table["26345"] = [158,71] let s:lib.Codec.encoding_table["26352"] = [158,72] let s:lib.Codec.encoding_table["26357"] = [158,73] let s:lib.Codec.encoding_table["26359"] = [158,74] let s:lib.Codec.encoding_table["26383"] = [158,75] let s:lib.Codec.encoding_table["26390"] = [158,76] let s:lib.Codec.encoding_table["26398"] = [158,77] let s:lib.Codec.encoding_table["26406"] = [158,78] let s:lib.Codec.encoding_table["26407"] = [158,79] let s:lib.Codec.encoding_table["38712"] = [158,80] let s:lib.Codec.encoding_table["26414"] = [158,81] let s:lib.Codec.encoding_table["26431"] = [158,82] let s:lib.Codec.encoding_table["26422"] = [158,83] let s:lib.Codec.encoding_table["26433"] = [158,84] let s:lib.Codec.encoding_table["26424"] = [158,85] let s:lib.Codec.encoding_table["26423"] = [158,86] let s:lib.Codec.encoding_table["26438"] = [158,87] let s:lib.Codec.encoding_table["26462"] = [158,88] let s:lib.Codec.encoding_table["26464"] = [158,89] let s:lib.Codec.encoding_table["26457"] = [158,90] let s:lib.Codec.encoding_table["26467"] = [158,91] let s:lib.Codec.encoding_table["26468"] = [158,92] let s:lib.Codec.encoding_table["26505"] = [158,93] let s:lib.Codec.encoding_table["26480"] = [158,94] let s:lib.Codec.encoding_table["26537"] = [158,95] let s:lib.Codec.encoding_table["26492"] = [158,96] let s:lib.Codec.encoding_table["26474"] = [158,97] let s:lib.Codec.encoding_table["26508"] = [158,98] let s:lib.Codec.encoding_table["26507"] = [158,99] let s:lib.Codec.encoding_table["26534"] = [158,100] let s:lib.Codec.encoding_table["26529"] = [158,101] let s:lib.Codec.encoding_table["26501"] = [158,102] let s:lib.Codec.encoding_table["26551"] = [158,103] let s:lib.Codec.encoding_table["26607"] = [158,104] let s:lib.Codec.encoding_table["26548"] = [158,105] let s:lib.Codec.encoding_table["26604"] = [158,106] let s:lib.Codec.encoding_table["26547"] = [158,107] let s:lib.Codec.encoding_table["26601"] = [158,108] let s:lib.Codec.encoding_table["26552"] = [158,109] let s:lib.Codec.encoding_table["26596"] = [158,110] let s:lib.Codec.encoding_table["26590"] = [158,111] let s:lib.Codec.encoding_table["26589"] = [158,112] let s:lib.Codec.encoding_table["26594"] = [158,113] let s:lib.Codec.encoding_table["26606"] = [158,114] let s:lib.Codec.encoding_table["26553"] = [158,115] let s:lib.Codec.encoding_table["26574"] = [158,116] let s:lib.Codec.encoding_table["26566"] = [158,117] let s:lib.Codec.encoding_table["26599"] = [158,118] let s:lib.Codec.encoding_table["27292"] = [158,119] let s:lib.Codec.encoding_table["26654"] = [158,120] let s:lib.Codec.encoding_table["26694"] = [158,121] let s:lib.Codec.encoding_table["26665"] = [158,122] let s:lib.Codec.encoding_table["26688"] = [158,123] let s:lib.Codec.encoding_table["26701"] = [158,124] let s:lib.Codec.encoding_table["26674"] = [158,125] let s:lib.Codec.encoding_table["26702"] = [158,126] let s:lib.Codec.encoding_table["26803"] = [158,128] let s:lib.Codec.encoding_table["26667"] = [158,129] let s:lib.Codec.encoding_table["26713"] = [158,130] let s:lib.Codec.encoding_table["26723"] = [158,131] let s:lib.Codec.encoding_table["26743"] = [158,132] let s:lib.Codec.encoding_table["26751"] = [158,133] let s:lib.Codec.encoding_table["26783"] = [158,134] let s:lib.Codec.encoding_table["26767"] = [158,135] let s:lib.Codec.encoding_table["26797"] = [158,136] let s:lib.Codec.encoding_table["26772"] = [158,137] let s:lib.Codec.encoding_table["26781"] = [158,138] let s:lib.Codec.encoding_table["26779"] = [158,139] let s:lib.Codec.encoding_table["26755"] = [158,140] let s:lib.Codec.encoding_table["27310"] = [158,141] let s:lib.Codec.encoding_table["26809"] = [158,142] let s:lib.Codec.encoding_table["26740"] = [158,143] let s:lib.Codec.encoding_table["26805"] = [158,144] let s:lib.Codec.encoding_table["26784"] = [158,145] let s:lib.Codec.encoding_table["26810"] = [158,146] let s:lib.Codec.encoding_table["26895"] = [158,147] let s:lib.Codec.encoding_table["26765"] = [158,148] let s:lib.Codec.encoding_table["26750"] = [158,149] let s:lib.Codec.encoding_table["26881"] = [158,150] let s:lib.Codec.encoding_table["26826"] = [158,151] let s:lib.Codec.encoding_table["26888"] = [158,152] let s:lib.Codec.encoding_table["26840"] = [158,153] let s:lib.Codec.encoding_table["26914"] = [158,154] let s:lib.Codec.encoding_table["26918"] = [158,155] let s:lib.Codec.encoding_table["26849"] = [158,156] let s:lib.Codec.encoding_table["26892"] = [158,157] let s:lib.Codec.encoding_table["26829"] = [158,158] let s:lib.Codec.encoding_table["26836"] = [158,159] let s:lib.Codec.encoding_table["26855"] = [158,160] let s:lib.Codec.encoding_table["26837"] = [158,161] let s:lib.Codec.encoding_table["26934"] = [158,162] let s:lib.Codec.encoding_table["26898"] = [158,163] let s:lib.Codec.encoding_table["26884"] = [158,164] let s:lib.Codec.encoding_table["26839"] = [158,165] let s:lib.Codec.encoding_table["26851"] = [158,166] let s:lib.Codec.encoding_table["26917"] = [158,167] let s:lib.Codec.encoding_table["26873"] = [158,168] let s:lib.Codec.encoding_table["26848"] = [158,169] let s:lib.Codec.encoding_table["26863"] = [158,170] let s:lib.Codec.encoding_table["26920"] = [158,171] let s:lib.Codec.encoding_table["26922"] = [158,172] let s:lib.Codec.encoding_table["26906"] = [158,173] let s:lib.Codec.encoding_table["26915"] = [158,174] let s:lib.Codec.encoding_table["26913"] = [158,175] let s:lib.Codec.encoding_table["26822"] = [158,176] let s:lib.Codec.encoding_table["27001"] = [158,177] let s:lib.Codec.encoding_table["26999"] = [158,178] let s:lib.Codec.encoding_table["26972"] = [158,179] let s:lib.Codec.encoding_table["27000"] = [158,180] let s:lib.Codec.encoding_table["26987"] = [158,181] let s:lib.Codec.encoding_table["26964"] = [158,182] let s:lib.Codec.encoding_table["27006"] = [158,183] let s:lib.Codec.encoding_table["26990"] = [158,184] let s:lib.Codec.encoding_table["26937"] = [158,185] let s:lib.Codec.encoding_table["26996"] = [158,186] let s:lib.Codec.encoding_table["26941"] = [158,187] let s:lib.Codec.encoding_table["26969"] = [158,188] let s:lib.Codec.encoding_table["26928"] = [158,189] let s:lib.Codec.encoding_table["26977"] = [158,190] let s:lib.Codec.encoding_table["26974"] = [158,191] let s:lib.Codec.encoding_table["26973"] = [158,192] let s:lib.Codec.encoding_table["27009"] = [158,193] let s:lib.Codec.encoding_table["26986"] = [158,194] let s:lib.Codec.encoding_table["27058"] = [158,195] let s:lib.Codec.encoding_table["27054"] = [158,196] let s:lib.Codec.encoding_table["27088"] = [158,197] let s:lib.Codec.encoding_table["27071"] = [158,198] let s:lib.Codec.encoding_table["27073"] = [158,199] let s:lib.Codec.encoding_table["27091"] = [158,200] let s:lib.Codec.encoding_table["27070"] = [158,201] let s:lib.Codec.encoding_table["27086"] = [158,202] let s:lib.Codec.encoding_table["23528"] = [158,203] let s:lib.Codec.encoding_table["27082"] = [158,204] let s:lib.Codec.encoding_table["27101"] = [158,205] let s:lib.Codec.encoding_table["27067"] = [158,206] let s:lib.Codec.encoding_table["27075"] = [158,207] let s:lib.Codec.encoding_table["27047"] = [158,208] let s:lib.Codec.encoding_table["27182"] = [158,209] let s:lib.Codec.encoding_table["27025"] = [158,210] let s:lib.Codec.encoding_table["27040"] = [158,211] let s:lib.Codec.encoding_table["27036"] = [158,212] let s:lib.Codec.encoding_table["27029"] = [158,213] let s:lib.Codec.encoding_table["27060"] = [158,214] let s:lib.Codec.encoding_table["27102"] = [158,215] let s:lib.Codec.encoding_table["27112"] = [158,216] let s:lib.Codec.encoding_table["27138"] = [158,217] let s:lib.Codec.encoding_table["27163"] = [158,218] let s:lib.Codec.encoding_table["27135"] = [158,219] let s:lib.Codec.encoding_table["27402"] = [158,220] let s:lib.Codec.encoding_table["27129"] = [158,221] let s:lib.Codec.encoding_table["27122"] = [158,222] let s:lib.Codec.encoding_table["27111"] = [158,223] let s:lib.Codec.encoding_table["27141"] = [158,224] let s:lib.Codec.encoding_table["27057"] = [158,225] let s:lib.Codec.encoding_table["27166"] = [158,226] let s:lib.Codec.encoding_table["27117"] = [158,227] let s:lib.Codec.encoding_table["27156"] = [158,228] let s:lib.Codec.encoding_table["27115"] = [158,229] let s:lib.Codec.encoding_table["27146"] = [158,230] let s:lib.Codec.encoding_table["27154"] = [158,231] let s:lib.Codec.encoding_table["27329"] = [158,232] let s:lib.Codec.encoding_table["27171"] = [158,233] let s:lib.Codec.encoding_table["27155"] = [158,234] let s:lib.Codec.encoding_table["27204"] = [158,235] let s:lib.Codec.encoding_table["27148"] = [158,236] let s:lib.Codec.encoding_table["27250"] = [158,237] let s:lib.Codec.encoding_table["27190"] = [158,238] let s:lib.Codec.encoding_table["27256"] = [158,239] let s:lib.Codec.encoding_table["27207"] = [158,240] let s:lib.Codec.encoding_table["27234"] = [158,241] let s:lib.Codec.encoding_table["27225"] = [158,242] let s:lib.Codec.encoding_table["27238"] = [158,243] let s:lib.Codec.encoding_table["27208"] = [158,244] let s:lib.Codec.encoding_table["27192"] = [158,245] let s:lib.Codec.encoding_table["27170"] = [158,246] let s:lib.Codec.encoding_table["27280"] = [158,247] let s:lib.Codec.encoding_table["27277"] = [158,248] let s:lib.Codec.encoding_table["27296"] = [158,249] let s:lib.Codec.encoding_table["27268"] = [158,250] let s:lib.Codec.encoding_table["27298"] = [158,251] let s:lib.Codec.encoding_table["27299"] = [158,252] let s:lib.Codec.encoding_table["27287"] = [159,64] let s:lib.Codec.encoding_table["34327"] = [159,65] let s:lib.Codec.encoding_table["27323"] = [159,66] let s:lib.Codec.encoding_table["27331"] = [159,67] let s:lib.Codec.encoding_table["27330"] = [159,68] let s:lib.Codec.encoding_table["27320"] = [159,69] let s:lib.Codec.encoding_table["27315"] = [159,70] let s:lib.Codec.encoding_table["27308"] = [159,71] let s:lib.Codec.encoding_table["27358"] = [159,72] let s:lib.Codec.encoding_table["27345"] = [159,73] let s:lib.Codec.encoding_table["27359"] = [159,74] let s:lib.Codec.encoding_table["27306"] = [159,75] let s:lib.Codec.encoding_table["27354"] = [159,76] let s:lib.Codec.encoding_table["27370"] = [159,77] let s:lib.Codec.encoding_table["27387"] = [159,78] let s:lib.Codec.encoding_table["27397"] = [159,79] let s:lib.Codec.encoding_table["34326"] = [159,80] let s:lib.Codec.encoding_table["27386"] = [159,81] let s:lib.Codec.encoding_table["27410"] = [159,82] let s:lib.Codec.encoding_table["27414"] = [159,83] let s:lib.Codec.encoding_table["39729"] = [159,84] let s:lib.Codec.encoding_table["27423"] = [159,85] let s:lib.Codec.encoding_table["27448"] = [159,86] let s:lib.Codec.encoding_table["27447"] = [159,87] let s:lib.Codec.encoding_table["30428"] = [159,88] let s:lib.Codec.encoding_table["27449"] = [159,89] let s:lib.Codec.encoding_table["39150"] = [159,90] let s:lib.Codec.encoding_table["27463"] = [159,91] let s:lib.Codec.encoding_table["27459"] = [159,92] let s:lib.Codec.encoding_table["27465"] = [159,93] let s:lib.Codec.encoding_table["27472"] = [159,94] let s:lib.Codec.encoding_table["27481"] = [159,95] let s:lib.Codec.encoding_table["27476"] = [159,96] let s:lib.Codec.encoding_table["27483"] = [159,97] let s:lib.Codec.encoding_table["27487"] = [159,98] let s:lib.Codec.encoding_table["27489"] = [159,99] let s:lib.Codec.encoding_table["27512"] = [159,100] let s:lib.Codec.encoding_table["27513"] = [159,101] let s:lib.Codec.encoding_table["27519"] = [159,102] let s:lib.Codec.encoding_table["27520"] = [159,103] let s:lib.Codec.encoding_table["27524"] = [159,104] let s:lib.Codec.encoding_table["27523"] = [159,105] let s:lib.Codec.encoding_table["27533"] = [159,106] let s:lib.Codec.encoding_table["27544"] = [159,107] let s:lib.Codec.encoding_table["27541"] = [159,108] let s:lib.Codec.encoding_table["27550"] = [159,109] let s:lib.Codec.encoding_table["27556"] = [159,110] let s:lib.Codec.encoding_table["27562"] = [159,111] let s:lib.Codec.encoding_table["27563"] = [159,112] let s:lib.Codec.encoding_table["27567"] = [159,113] let s:lib.Codec.encoding_table["27570"] = [159,114] let s:lib.Codec.encoding_table["27569"] = [159,115] let s:lib.Codec.encoding_table["27571"] = [159,116] let s:lib.Codec.encoding_table["27575"] = [159,117] let s:lib.Codec.encoding_table["27580"] = [159,118] let s:lib.Codec.encoding_table["27590"] = [159,119] let s:lib.Codec.encoding_table["27595"] = [159,120] let s:lib.Codec.encoding_table["27603"] = [159,121] let s:lib.Codec.encoding_table["27615"] = [159,122] let s:lib.Codec.encoding_table["27628"] = [159,123] let s:lib.Codec.encoding_table["27627"] = [159,124] let s:lib.Codec.encoding_table["27635"] = [159,125] let s:lib.Codec.encoding_table["27631"] = [159,126] let s:lib.Codec.encoding_table["40638"] = [159,128] let s:lib.Codec.encoding_table["27656"] = [159,129] let s:lib.Codec.encoding_table["27667"] = [159,130] let s:lib.Codec.encoding_table["27668"] = [159,131] let s:lib.Codec.encoding_table["27675"] = [159,132] let s:lib.Codec.encoding_table["27684"] = [159,133] let s:lib.Codec.encoding_table["27683"] = [159,134] let s:lib.Codec.encoding_table["27742"] = [159,135] let s:lib.Codec.encoding_table["27733"] = [159,136] let s:lib.Codec.encoding_table["27746"] = [159,137] let s:lib.Codec.encoding_table["27754"] = [159,138] let s:lib.Codec.encoding_table["27778"] = [159,139] let s:lib.Codec.encoding_table["27789"] = [159,140] let s:lib.Codec.encoding_table["27802"] = [159,141] let s:lib.Codec.encoding_table["27777"] = [159,142] let s:lib.Codec.encoding_table["27803"] = [159,143] let s:lib.Codec.encoding_table["27774"] = [159,144] let s:lib.Codec.encoding_table["27752"] = [159,145] let s:lib.Codec.encoding_table["27763"] = [159,146] let s:lib.Codec.encoding_table["27794"] = [159,147] let s:lib.Codec.encoding_table["27792"] = [159,148] let s:lib.Codec.encoding_table["27844"] = [159,149] let s:lib.Codec.encoding_table["27889"] = [159,150] let s:lib.Codec.encoding_table["27859"] = [159,151] let s:lib.Codec.encoding_table["27837"] = [159,152] let s:lib.Codec.encoding_table["27863"] = [159,153] let s:lib.Codec.encoding_table["27845"] = [159,154] let s:lib.Codec.encoding_table["27869"] = [159,155] let s:lib.Codec.encoding_table["27822"] = [159,156] let s:lib.Codec.encoding_table["27825"] = [159,157] let s:lib.Codec.encoding_table["27838"] = [159,158] let s:lib.Codec.encoding_table["27834"] = [159,159] let s:lib.Codec.encoding_table["27867"] = [159,160] let s:lib.Codec.encoding_table["27887"] = [159,161] let s:lib.Codec.encoding_table["27865"] = [159,162] let s:lib.Codec.encoding_table["27882"] = [159,163] let s:lib.Codec.encoding_table["27935"] = [159,164] let s:lib.Codec.encoding_table["34893"] = [159,165] let s:lib.Codec.encoding_table["27958"] = [159,166] let s:lib.Codec.encoding_table["27947"] = [159,167] let s:lib.Codec.encoding_table["27965"] = [159,168] let s:lib.Codec.encoding_table["27960"] = [159,169] let s:lib.Codec.encoding_table["27929"] = [159,170] let s:lib.Codec.encoding_table["27957"] = [159,171] let s:lib.Codec.encoding_table["27955"] = [159,172] let s:lib.Codec.encoding_table["27922"] = [159,173] let s:lib.Codec.encoding_table["27916"] = [159,174] let s:lib.Codec.encoding_table["28003"] = [159,175] let s:lib.Codec.encoding_table["28051"] = [159,176] let s:lib.Codec.encoding_table["28004"] = [159,177] let s:lib.Codec.encoding_table["27994"] = [159,178] let s:lib.Codec.encoding_table["28025"] = [159,179] let s:lib.Codec.encoding_table["27993"] = [159,180] let s:lib.Codec.encoding_table["28046"] = [159,181] let s:lib.Codec.encoding_table["28053"] = [159,182] let s:lib.Codec.encoding_table["28644"] = [159,183] let s:lib.Codec.encoding_table["28037"] = [159,184] let s:lib.Codec.encoding_table["28153"] = [159,185] let s:lib.Codec.encoding_table["28181"] = [159,186] let s:lib.Codec.encoding_table["28170"] = [159,187] let s:lib.Codec.encoding_table["28085"] = [159,188] let s:lib.Codec.encoding_table["28103"] = [159,189] let s:lib.Codec.encoding_table["28134"] = [159,190] let s:lib.Codec.encoding_table["28088"] = [159,191] let s:lib.Codec.encoding_table["28102"] = [159,192] let s:lib.Codec.encoding_table["28140"] = [159,193] let s:lib.Codec.encoding_table["28126"] = [159,194] let s:lib.Codec.encoding_table["28108"] = [159,195] let s:lib.Codec.encoding_table["28136"] = [159,196] let s:lib.Codec.encoding_table["28114"] = [159,197] let s:lib.Codec.encoding_table["28101"] = [159,198] let s:lib.Codec.encoding_table["28154"] = [159,199] let s:lib.Codec.encoding_table["28121"] = [159,200] let s:lib.Codec.encoding_table["28132"] = [159,201] let s:lib.Codec.encoding_table["28117"] = [159,202] let s:lib.Codec.encoding_table["28138"] = [159,203] let s:lib.Codec.encoding_table["28142"] = [159,204] let s:lib.Codec.encoding_table["28205"] = [159,205] let s:lib.Codec.encoding_table["28270"] = [159,206] let s:lib.Codec.encoding_table["28206"] = [159,207] let s:lib.Codec.encoding_table["28185"] = [159,208] let s:lib.Codec.encoding_table["28274"] = [159,209] let s:lib.Codec.encoding_table["28255"] = [159,210] let s:lib.Codec.encoding_table["28222"] = [159,211] let s:lib.Codec.encoding_table["28195"] = [159,212] let s:lib.Codec.encoding_table["28267"] = [159,213] let s:lib.Codec.encoding_table["28203"] = [159,214] let s:lib.Codec.encoding_table["28278"] = [159,215] let s:lib.Codec.encoding_table["28237"] = [159,216] let s:lib.Codec.encoding_table["28191"] = [159,217] let s:lib.Codec.encoding_table["28227"] = [159,218] let s:lib.Codec.encoding_table["28218"] = [159,219] let s:lib.Codec.encoding_table["28238"] = [159,220] let s:lib.Codec.encoding_table["28196"] = [159,221] let s:lib.Codec.encoding_table["28415"] = [159,222] let s:lib.Codec.encoding_table["28189"] = [159,223] let s:lib.Codec.encoding_table["28216"] = [159,224] let s:lib.Codec.encoding_table["28290"] = [159,225] let s:lib.Codec.encoding_table["28330"] = [159,226] let s:lib.Codec.encoding_table["28312"] = [159,227] let s:lib.Codec.encoding_table["28361"] = [159,228] let s:lib.Codec.encoding_table["28343"] = [159,229] let s:lib.Codec.encoding_table["28371"] = [159,230] let s:lib.Codec.encoding_table["28349"] = [159,231] let s:lib.Codec.encoding_table["28335"] = [159,232] let s:lib.Codec.encoding_table["28356"] = [159,233] let s:lib.Codec.encoding_table["28338"] = [159,234] let s:lib.Codec.encoding_table["28372"] = [159,235] let s:lib.Codec.encoding_table["28373"] = [159,236] let s:lib.Codec.encoding_table["28303"] = [159,237] let s:lib.Codec.encoding_table["28325"] = [159,238] let s:lib.Codec.encoding_table["28354"] = [159,239] let s:lib.Codec.encoding_table["28319"] = [159,240] let s:lib.Codec.encoding_table["28481"] = [159,241] let s:lib.Codec.encoding_table["28433"] = [159,242] let s:lib.Codec.encoding_table["28748"] = [159,243] let s:lib.Codec.encoding_table["28396"] = [159,244] let s:lib.Codec.encoding_table["28408"] = [159,245] let s:lib.Codec.encoding_table["28414"] = [159,246] let s:lib.Codec.encoding_table["28479"] = [159,247] let s:lib.Codec.encoding_table["28402"] = [159,248] let s:lib.Codec.encoding_table["28465"] = [159,249] let s:lib.Codec.encoding_table["28399"] = [159,250] let s:lib.Codec.encoding_table["28466"] = [159,251] let s:lib.Codec.encoding_table["28364"] = [159,252] let s:lib.Codec.encoding_table["28478"] = [224,64] let s:lib.Codec.encoding_table["28435"] = [224,65] let s:lib.Codec.encoding_table["28407"] = [224,66] let s:lib.Codec.encoding_table["28550"] = [224,67] let s:lib.Codec.encoding_table["28538"] = [224,68] let s:lib.Codec.encoding_table["28536"] = [224,69] let s:lib.Codec.encoding_table["28545"] = [224,70] let s:lib.Codec.encoding_table["28544"] = [224,71] let s:lib.Codec.encoding_table["28527"] = [224,72] let s:lib.Codec.encoding_table["28507"] = [224,73] let s:lib.Codec.encoding_table["28659"] = [224,74] let s:lib.Codec.encoding_table["28525"] = [224,75] let s:lib.Codec.encoding_table["28546"] = [224,76] let s:lib.Codec.encoding_table["28540"] = [224,77] let s:lib.Codec.encoding_table["28504"] = [224,78] let s:lib.Codec.encoding_table["28558"] = [224,79] let s:lib.Codec.encoding_table["28561"] = [224,80] let s:lib.Codec.encoding_table["28610"] = [224,81] let s:lib.Codec.encoding_table["28518"] = [224,82] let s:lib.Codec.encoding_table["28595"] = [224,83] let s:lib.Codec.encoding_table["28579"] = [224,84] let s:lib.Codec.encoding_table["28577"] = [224,85] let s:lib.Codec.encoding_table["28580"] = [224,86] let s:lib.Codec.encoding_table["28601"] = [224,87] let s:lib.Codec.encoding_table["28614"] = [224,88] let s:lib.Codec.encoding_table["28586"] = [224,89] let s:lib.Codec.encoding_table["28639"] = [224,90] let s:lib.Codec.encoding_table["28629"] = [224,91] let s:lib.Codec.encoding_table["28652"] = [224,92] let s:lib.Codec.encoding_table["28628"] = [224,93] let s:lib.Codec.encoding_table["28632"] = [224,94] let s:lib.Codec.encoding_table["28657"] = [224,95] let s:lib.Codec.encoding_table["28654"] = [224,96] let s:lib.Codec.encoding_table["28635"] = [224,97] let s:lib.Codec.encoding_table["28681"] = [224,98] let s:lib.Codec.encoding_table["28683"] = [224,99] let s:lib.Codec.encoding_table["28666"] = [224,100] let s:lib.Codec.encoding_table["28689"] = [224,101] let s:lib.Codec.encoding_table["28673"] = [224,102] let s:lib.Codec.encoding_table["28687"] = [224,103] let s:lib.Codec.encoding_table["28670"] = [224,104] let s:lib.Codec.encoding_table["28699"] = [224,105] let s:lib.Codec.encoding_table["28698"] = [224,106] let s:lib.Codec.encoding_table["28532"] = [224,107] let s:lib.Codec.encoding_table["28701"] = [224,108] let s:lib.Codec.encoding_table["28696"] = [224,109] let s:lib.Codec.encoding_table["28703"] = [224,110] let s:lib.Codec.encoding_table["28720"] = [224,111] let s:lib.Codec.encoding_table["28734"] = [224,112] let s:lib.Codec.encoding_table["28722"] = [224,113] let s:lib.Codec.encoding_table["28753"] = [224,114] let s:lib.Codec.encoding_table["28771"] = [224,115] let s:lib.Codec.encoding_table["28825"] = [224,116] let s:lib.Codec.encoding_table["28818"] = [224,117] let s:lib.Codec.encoding_table["28847"] = [224,118] let s:lib.Codec.encoding_table["28913"] = [224,119] let s:lib.Codec.encoding_table["28844"] = [224,120] let s:lib.Codec.encoding_table["28856"] = [224,121] let s:lib.Codec.encoding_table["28851"] = [224,122] let s:lib.Codec.encoding_table["28846"] = [224,123] let s:lib.Codec.encoding_table["28895"] = [224,124] let s:lib.Codec.encoding_table["28875"] = [224,125] let s:lib.Codec.encoding_table["28893"] = [224,126] let s:lib.Codec.encoding_table["28889"] = [224,128] let s:lib.Codec.encoding_table["28937"] = [224,129] let s:lib.Codec.encoding_table["28925"] = [224,130] let s:lib.Codec.encoding_table["28956"] = [224,131] let s:lib.Codec.encoding_table["28953"] = [224,132] let s:lib.Codec.encoding_table["29029"] = [224,133] let s:lib.Codec.encoding_table["29013"] = [224,134] let s:lib.Codec.encoding_table["29064"] = [224,135] let s:lib.Codec.encoding_table["29030"] = [224,136] let s:lib.Codec.encoding_table["29026"] = [224,137] let s:lib.Codec.encoding_table["29004"] = [224,138] let s:lib.Codec.encoding_table["29014"] = [224,139] let s:lib.Codec.encoding_table["29036"] = [224,140] let s:lib.Codec.encoding_table["29071"] = [224,141] let s:lib.Codec.encoding_table["29179"] = [224,142] let s:lib.Codec.encoding_table["29060"] = [224,143] let s:lib.Codec.encoding_table["29077"] = [224,144] let s:lib.Codec.encoding_table["29096"] = [224,145] let s:lib.Codec.encoding_table["29100"] = [224,146] let s:lib.Codec.encoding_table["29143"] = [224,147] let s:lib.Codec.encoding_table["29113"] = [224,148] let s:lib.Codec.encoding_table["29118"] = [224,149] let s:lib.Codec.encoding_table["29138"] = [224,150] let s:lib.Codec.encoding_table["29129"] = [224,151] let s:lib.Codec.encoding_table["29140"] = [224,152] let s:lib.Codec.encoding_table["29134"] = [224,153] let s:lib.Codec.encoding_table["29152"] = [224,154] let s:lib.Codec.encoding_table["29164"] = [224,155] let s:lib.Codec.encoding_table["29159"] = [224,156] let s:lib.Codec.encoding_table["29173"] = [224,157] let s:lib.Codec.encoding_table["29180"] = [224,158] let s:lib.Codec.encoding_table["29177"] = [224,159] let s:lib.Codec.encoding_table["29183"] = [224,160] let s:lib.Codec.encoding_table["29197"] = [224,161] let s:lib.Codec.encoding_table["29200"] = [224,162] let s:lib.Codec.encoding_table["29211"] = [224,163] let s:lib.Codec.encoding_table["29224"] = [224,164] let s:lib.Codec.encoding_table["29229"] = [224,165] let s:lib.Codec.encoding_table["29228"] = [224,166] let s:lib.Codec.encoding_table["29232"] = [224,167] let s:lib.Codec.encoding_table["29234"] = [224,168] let s:lib.Codec.encoding_table["29243"] = [224,169] let s:lib.Codec.encoding_table["29244"] = [224,170] let s:lib.Codec.encoding_table["29247"] = [224,171] let s:lib.Codec.encoding_table["29248"] = [224,172] let s:lib.Codec.encoding_table["29254"] = [224,173] let s:lib.Codec.encoding_table["29259"] = [224,174] let s:lib.Codec.encoding_table["29272"] = [224,175] let s:lib.Codec.encoding_table["29300"] = [224,176] let s:lib.Codec.encoding_table["29310"] = [224,177] let s:lib.Codec.encoding_table["29314"] = [224,178] let s:lib.Codec.encoding_table["29313"] = [224,179] let s:lib.Codec.encoding_table["29319"] = [224,180] let s:lib.Codec.encoding_table["29330"] = [224,181] let s:lib.Codec.encoding_table["29334"] = [224,182] let s:lib.Codec.encoding_table["29346"] = [224,183] let s:lib.Codec.encoding_table["29351"] = [224,184] let s:lib.Codec.encoding_table["29369"] = [224,185] let s:lib.Codec.encoding_table["29362"] = [224,186] let s:lib.Codec.encoding_table["29379"] = [224,187] let s:lib.Codec.encoding_table["29382"] = [224,188] let s:lib.Codec.encoding_table["29380"] = [224,189] let s:lib.Codec.encoding_table["29390"] = [224,190] let s:lib.Codec.encoding_table["29394"] = [224,191] let s:lib.Codec.encoding_table["29410"] = [224,192] let s:lib.Codec.encoding_table["29408"] = [224,193] let s:lib.Codec.encoding_table["29409"] = [224,194] let s:lib.Codec.encoding_table["29433"] = [224,195] let s:lib.Codec.encoding_table["29431"] = [224,196] let s:lib.Codec.encoding_table["20495"] = [224,197] let s:lib.Codec.encoding_table["29463"] = [224,198] let s:lib.Codec.encoding_table["29450"] = [224,199] let s:lib.Codec.encoding_table["29468"] = [224,200] let s:lib.Codec.encoding_table["29462"] = [224,201] let s:lib.Codec.encoding_table["29469"] = [224,202] let s:lib.Codec.encoding_table["29492"] = [224,203] let s:lib.Codec.encoding_table["29487"] = [224,204] let s:lib.Codec.encoding_table["29481"] = [224,205] let s:lib.Codec.encoding_table["29477"] = [224,206] let s:lib.Codec.encoding_table["29502"] = [224,207] let s:lib.Codec.encoding_table["29518"] = [224,208] let s:lib.Codec.encoding_table["29519"] = [224,209] let s:lib.Codec.encoding_table["40664"] = [224,210] let s:lib.Codec.encoding_table["29527"] = [224,211] let s:lib.Codec.encoding_table["29546"] = [224,212] let s:lib.Codec.encoding_table["29544"] = [224,213] let s:lib.Codec.encoding_table["29552"] = [224,214] let s:lib.Codec.encoding_table["29560"] = [224,215] let s:lib.Codec.encoding_table["29557"] = [224,216] let s:lib.Codec.encoding_table["29563"] = [224,217] let s:lib.Codec.encoding_table["29562"] = [224,218] let s:lib.Codec.encoding_table["29640"] = [224,219] let s:lib.Codec.encoding_table["29619"] = [224,220] let s:lib.Codec.encoding_table["29646"] = [224,221] let s:lib.Codec.encoding_table["29627"] = [224,222] let s:lib.Codec.encoding_table["29632"] = [224,223] let s:lib.Codec.encoding_table["29669"] = [224,224] let s:lib.Codec.encoding_table["29678"] = [224,225] let s:lib.Codec.encoding_table["29662"] = [224,226] let s:lib.Codec.encoding_table["29858"] = [224,227] let s:lib.Codec.encoding_table["29701"] = [224,228] let s:lib.Codec.encoding_table["29807"] = [224,229] let s:lib.Codec.encoding_table["29733"] = [224,230] let s:lib.Codec.encoding_table["29688"] = [224,231] let s:lib.Codec.encoding_table["29746"] = [224,232] let s:lib.Codec.encoding_table["29754"] = [224,233] let s:lib.Codec.encoding_table["29781"] = [224,234] let s:lib.Codec.encoding_table["29759"] = [224,235] let s:lib.Codec.encoding_table["29791"] = [224,236] let s:lib.Codec.encoding_table["29785"] = [224,237] let s:lib.Codec.encoding_table["29761"] = [224,238] let s:lib.Codec.encoding_table["29788"] = [224,239] let s:lib.Codec.encoding_table["29801"] = [224,240] let s:lib.Codec.encoding_table["29808"] = [224,241] let s:lib.Codec.encoding_table["29795"] = [224,242] let s:lib.Codec.encoding_table["29802"] = [224,243] let s:lib.Codec.encoding_table["29814"] = [224,244] let s:lib.Codec.encoding_table["29822"] = [224,245] let s:lib.Codec.encoding_table["29835"] = [224,246] let s:lib.Codec.encoding_table["29854"] = [224,247] let s:lib.Codec.encoding_table["29863"] = [224,248] let s:lib.Codec.encoding_table["29898"] = [224,249] let s:lib.Codec.encoding_table["29903"] = [224,250] let s:lib.Codec.encoding_table["29908"] = [224,251] let s:lib.Codec.encoding_table["29681"] = [224,252] let s:lib.Codec.encoding_table["29920"] = [225,64] let s:lib.Codec.encoding_table["29923"] = [225,65] let s:lib.Codec.encoding_table["29927"] = [225,66] let s:lib.Codec.encoding_table["29929"] = [225,67] let s:lib.Codec.encoding_table["29934"] = [225,68] let s:lib.Codec.encoding_table["29938"] = [225,69] let s:lib.Codec.encoding_table["29936"] = [225,70] let s:lib.Codec.encoding_table["29937"] = [225,71] let s:lib.Codec.encoding_table["29944"] = [225,72] let s:lib.Codec.encoding_table["29943"] = [225,73] let s:lib.Codec.encoding_table["29956"] = [225,74] let s:lib.Codec.encoding_table["29955"] = [225,75] let s:lib.Codec.encoding_table["29957"] = [225,76] let s:lib.Codec.encoding_table["29964"] = [225,77] let s:lib.Codec.encoding_table["29966"] = [225,78] let s:lib.Codec.encoding_table["29965"] = [225,79] let s:lib.Codec.encoding_table["29973"] = [225,80] let s:lib.Codec.encoding_table["29971"] = [225,81] let s:lib.Codec.encoding_table["29982"] = [225,82] let s:lib.Codec.encoding_table["29990"] = [225,83] let s:lib.Codec.encoding_table["29996"] = [225,84] let s:lib.Codec.encoding_table["30012"] = [225,85] let s:lib.Codec.encoding_table["30020"] = [225,86] let s:lib.Codec.encoding_table["30029"] = [225,87] let s:lib.Codec.encoding_table["30026"] = [225,88] let s:lib.Codec.encoding_table["30025"] = [225,89] let s:lib.Codec.encoding_table["30043"] = [225,90] let s:lib.Codec.encoding_table["30022"] = [225,91] let s:lib.Codec.encoding_table["30042"] = [225,92] let s:lib.Codec.encoding_table["30057"] = [225,93] let s:lib.Codec.encoding_table["30052"] = [225,94] let s:lib.Codec.encoding_table["30055"] = [225,95] let s:lib.Codec.encoding_table["30059"] = [225,96] let s:lib.Codec.encoding_table["30061"] = [225,97] let s:lib.Codec.encoding_table["30072"] = [225,98] let s:lib.Codec.encoding_table["30070"] = [225,99] let s:lib.Codec.encoding_table["30086"] = [225,100] let s:lib.Codec.encoding_table["30087"] = [225,101] let s:lib.Codec.encoding_table["30068"] = [225,102] let s:lib.Codec.encoding_table["30090"] = [225,103] let s:lib.Codec.encoding_table["30089"] = [225,104] let s:lib.Codec.encoding_table["30082"] = [225,105] let s:lib.Codec.encoding_table["30100"] = [225,106] let s:lib.Codec.encoding_table["30106"] = [225,107] let s:lib.Codec.encoding_table["30109"] = [225,108] let s:lib.Codec.encoding_table["30117"] = [225,109] let s:lib.Codec.encoding_table["30115"] = [225,110] let s:lib.Codec.encoding_table["30146"] = [225,111] let s:lib.Codec.encoding_table["30131"] = [225,112] let s:lib.Codec.encoding_table["30147"] = [225,113] let s:lib.Codec.encoding_table["30133"] = [225,114] let s:lib.Codec.encoding_table["30141"] = [225,115] let s:lib.Codec.encoding_table["30136"] = [225,116] let s:lib.Codec.encoding_table["30140"] = [225,117] let s:lib.Codec.encoding_table["30129"] = [225,118] let s:lib.Codec.encoding_table["30157"] = [225,119] let s:lib.Codec.encoding_table["30154"] = [225,120] let s:lib.Codec.encoding_table["30162"] = [225,121] let s:lib.Codec.encoding_table["30169"] = [225,122] let s:lib.Codec.encoding_table["30179"] = [225,123] let s:lib.Codec.encoding_table["30174"] = [225,124] let s:lib.Codec.encoding_table["30206"] = [225,125] let s:lib.Codec.encoding_table["30207"] = [225,126] let s:lib.Codec.encoding_table["30204"] = [225,128] let s:lib.Codec.encoding_table["30209"] = [225,129] let s:lib.Codec.encoding_table["30192"] = [225,130] let s:lib.Codec.encoding_table["30202"] = [225,131] let s:lib.Codec.encoding_table["30194"] = [225,132] let s:lib.Codec.encoding_table["30195"] = [225,133] let s:lib.Codec.encoding_table["30219"] = [225,134] let s:lib.Codec.encoding_table["30221"] = [225,135] let s:lib.Codec.encoding_table["30217"] = [225,136] let s:lib.Codec.encoding_table["30239"] = [225,137] let s:lib.Codec.encoding_table["30247"] = [225,138] let s:lib.Codec.encoding_table["30240"] = [225,139] let s:lib.Codec.encoding_table["30241"] = [225,140] let s:lib.Codec.encoding_table["30242"] = [225,141] let s:lib.Codec.encoding_table["30244"] = [225,142] let s:lib.Codec.encoding_table["30260"] = [225,143] let s:lib.Codec.encoding_table["30256"] = [225,144] let s:lib.Codec.encoding_table["30267"] = [225,145] let s:lib.Codec.encoding_table["30279"] = [225,146] let s:lib.Codec.encoding_table["30280"] = [225,147] let s:lib.Codec.encoding_table["30278"] = [225,148] let s:lib.Codec.encoding_table["30300"] = [225,149] let s:lib.Codec.encoding_table["30296"] = [225,150] let s:lib.Codec.encoding_table["30305"] = [225,151] let s:lib.Codec.encoding_table["30306"] = [225,152] let s:lib.Codec.encoding_table["30312"] = [225,153] let s:lib.Codec.encoding_table["30313"] = [225,154] let s:lib.Codec.encoding_table["30314"] = [225,155] let s:lib.Codec.encoding_table["30311"] = [225,156] let s:lib.Codec.encoding_table["30316"] = [225,157] let s:lib.Codec.encoding_table["30320"] = [225,158] let s:lib.Codec.encoding_table["30322"] = [225,159] let s:lib.Codec.encoding_table["30326"] = [225,160] let s:lib.Codec.encoding_table["30328"] = [225,161] let s:lib.Codec.encoding_table["30332"] = [225,162] let s:lib.Codec.encoding_table["30336"] = [225,163] let s:lib.Codec.encoding_table["30339"] = [225,164] let s:lib.Codec.encoding_table["30344"] = [225,165] let s:lib.Codec.encoding_table["30347"] = [225,166] let s:lib.Codec.encoding_table["30350"] = [225,167] let s:lib.Codec.encoding_table["30358"] = [225,168] let s:lib.Codec.encoding_table["30355"] = [225,169] let s:lib.Codec.encoding_table["30361"] = [225,170] let s:lib.Codec.encoding_table["30362"] = [225,171] let s:lib.Codec.encoding_table["30384"] = [225,172] let s:lib.Codec.encoding_table["30388"] = [225,173] let s:lib.Codec.encoding_table["30392"] = [225,174] let s:lib.Codec.encoding_table["30393"] = [225,175] let s:lib.Codec.encoding_table["30394"] = [225,176] let s:lib.Codec.encoding_table["30402"] = [225,177] let s:lib.Codec.encoding_table["30413"] = [225,178] let s:lib.Codec.encoding_table["30422"] = [225,179] let s:lib.Codec.encoding_table["30418"] = [225,180] let s:lib.Codec.encoding_table["30430"] = [225,181] let s:lib.Codec.encoding_table["30433"] = [225,182] let s:lib.Codec.encoding_table["30437"] = [225,183] let s:lib.Codec.encoding_table["30439"] = [225,184] let s:lib.Codec.encoding_table["30442"] = [225,185] let s:lib.Codec.encoding_table["34351"] = [225,186] let s:lib.Codec.encoding_table["30459"] = [225,187] let s:lib.Codec.encoding_table["30472"] = [225,188] let s:lib.Codec.encoding_table["30471"] = [225,189] let s:lib.Codec.encoding_table["30468"] = [225,190] let s:lib.Codec.encoding_table["30505"] = [225,191] let s:lib.Codec.encoding_table["30500"] = [225,192] let s:lib.Codec.encoding_table["30494"] = [225,193] let s:lib.Codec.encoding_table["30501"] = [225,194] let s:lib.Codec.encoding_table["30502"] = [225,195] let s:lib.Codec.encoding_table["30491"] = [225,196] let s:lib.Codec.encoding_table["30519"] = [225,197] let s:lib.Codec.encoding_table["30520"] = [225,198] let s:lib.Codec.encoding_table["30535"] = [225,199] let s:lib.Codec.encoding_table["30554"] = [225,200] let s:lib.Codec.encoding_table["30568"] = [225,201] let s:lib.Codec.encoding_table["30571"] = [225,202] let s:lib.Codec.encoding_table["30555"] = [225,203] let s:lib.Codec.encoding_table["30565"] = [225,204] let s:lib.Codec.encoding_table["30591"] = [225,205] let s:lib.Codec.encoding_table["30590"] = [225,206] let s:lib.Codec.encoding_table["30585"] = [225,207] let s:lib.Codec.encoding_table["30606"] = [225,208] let s:lib.Codec.encoding_table["30603"] = [225,209] let s:lib.Codec.encoding_table["30609"] = [225,210] let s:lib.Codec.encoding_table["30624"] = [225,211] let s:lib.Codec.encoding_table["30622"] = [225,212] let s:lib.Codec.encoding_table["30640"] = [225,213] let s:lib.Codec.encoding_table["30646"] = [225,214] let s:lib.Codec.encoding_table["30649"] = [225,215] let s:lib.Codec.encoding_table["30655"] = [225,216] let s:lib.Codec.encoding_table["30652"] = [225,217] let s:lib.Codec.encoding_table["30653"] = [225,218] let s:lib.Codec.encoding_table["30651"] = [225,219] let s:lib.Codec.encoding_table["30663"] = [225,220] let s:lib.Codec.encoding_table["30669"] = [225,221] let s:lib.Codec.encoding_table["30679"] = [225,222] let s:lib.Codec.encoding_table["30682"] = [225,223] let s:lib.Codec.encoding_table["30684"] = [225,224] let s:lib.Codec.encoding_table["30691"] = [225,225] let s:lib.Codec.encoding_table["30702"] = [225,226] let s:lib.Codec.encoding_table["30716"] = [225,227] let s:lib.Codec.encoding_table["30732"] = [225,228] let s:lib.Codec.encoding_table["30738"] = [225,229] let s:lib.Codec.encoding_table["31014"] = [225,230] let s:lib.Codec.encoding_table["30752"] = [225,231] let s:lib.Codec.encoding_table["31018"] = [225,232] let s:lib.Codec.encoding_table["30789"] = [225,233] let s:lib.Codec.encoding_table["30862"] = [225,234] let s:lib.Codec.encoding_table["30836"] = [225,235] let s:lib.Codec.encoding_table["30854"] = [225,236] let s:lib.Codec.encoding_table["30844"] = [225,237] let s:lib.Codec.encoding_table["30874"] = [225,238] let s:lib.Codec.encoding_table["30860"] = [225,239] let s:lib.Codec.encoding_table["30883"] = [225,240] let s:lib.Codec.encoding_table["30901"] = [225,241] let s:lib.Codec.encoding_table["30890"] = [225,242] let s:lib.Codec.encoding_table["30895"] = [225,243] let s:lib.Codec.encoding_table["30929"] = [225,244] let s:lib.Codec.encoding_table["30918"] = [225,245] let s:lib.Codec.encoding_table["30923"] = [225,246] let s:lib.Codec.encoding_table["30932"] = [225,247] let s:lib.Codec.encoding_table["30910"] = [225,248] let s:lib.Codec.encoding_table["30908"] = [225,249] let s:lib.Codec.encoding_table["30917"] = [225,250] let s:lib.Codec.encoding_table["30922"] = [225,251] let s:lib.Codec.encoding_table["30956"] = [225,252] let s:lib.Codec.encoding_table["30951"] = [226,64] let s:lib.Codec.encoding_table["30938"] = [226,65] let s:lib.Codec.encoding_table["30973"] = [226,66] let s:lib.Codec.encoding_table["30964"] = [226,67] let s:lib.Codec.encoding_table["30983"] = [226,68] let s:lib.Codec.encoding_table["30994"] = [226,69] let s:lib.Codec.encoding_table["30993"] = [226,70] let s:lib.Codec.encoding_table["31001"] = [226,71] let s:lib.Codec.encoding_table["31020"] = [226,72] let s:lib.Codec.encoding_table["31019"] = [226,73] let s:lib.Codec.encoding_table["31040"] = [226,74] let s:lib.Codec.encoding_table["31072"] = [226,75] let s:lib.Codec.encoding_table["31063"] = [226,76] let s:lib.Codec.encoding_table["31071"] = [226,77] let s:lib.Codec.encoding_table["31066"] = [226,78] let s:lib.Codec.encoding_table["31061"] = [226,79] let s:lib.Codec.encoding_table["31059"] = [226,80] let s:lib.Codec.encoding_table["31098"] = [226,81] let s:lib.Codec.encoding_table["31103"] = [226,82] let s:lib.Codec.encoding_table["31114"] = [226,83] let s:lib.Codec.encoding_table["31133"] = [226,84] let s:lib.Codec.encoding_table["31143"] = [226,85] let s:lib.Codec.encoding_table["40779"] = [226,86] let s:lib.Codec.encoding_table["31146"] = [226,87] let s:lib.Codec.encoding_table["31150"] = [226,88] let s:lib.Codec.encoding_table["31155"] = [226,89] let s:lib.Codec.encoding_table["31161"] = [226,90] let s:lib.Codec.encoding_table["31162"] = [226,91] let s:lib.Codec.encoding_table["31177"] = [226,92] let s:lib.Codec.encoding_table["31189"] = [226,93] let s:lib.Codec.encoding_table["31207"] = [226,94] let s:lib.Codec.encoding_table["31212"] = [226,95] let s:lib.Codec.encoding_table["31201"] = [226,96] let s:lib.Codec.encoding_table["31203"] = [226,97] let s:lib.Codec.encoding_table["31240"] = [226,98] let s:lib.Codec.encoding_table["31245"] = [226,99] let s:lib.Codec.encoding_table["31256"] = [226,100] let s:lib.Codec.encoding_table["31257"] = [226,101] let s:lib.Codec.encoding_table["31264"] = [226,102] let s:lib.Codec.encoding_table["31263"] = [226,103] let s:lib.Codec.encoding_table["31104"] = [226,104] let s:lib.Codec.encoding_table["31281"] = [226,105] let s:lib.Codec.encoding_table["31291"] = [226,106] let s:lib.Codec.encoding_table["31294"] = [226,107] let s:lib.Codec.encoding_table["31287"] = [226,108] let s:lib.Codec.encoding_table["31299"] = [226,109] let s:lib.Codec.encoding_table["31319"] = [226,110] let s:lib.Codec.encoding_table["31305"] = [226,111] let s:lib.Codec.encoding_table["31329"] = [226,112] let s:lib.Codec.encoding_table["31330"] = [226,113] let s:lib.Codec.encoding_table["31337"] = [226,114] let s:lib.Codec.encoding_table["40861"] = [226,115] let s:lib.Codec.encoding_table["31344"] = [226,116] let s:lib.Codec.encoding_table["31353"] = [226,117] let s:lib.Codec.encoding_table["31357"] = [226,118] let s:lib.Codec.encoding_table["31368"] = [226,119] let s:lib.Codec.encoding_table["31383"] = [226,120] let s:lib.Codec.encoding_table["31381"] = [226,121] let s:lib.Codec.encoding_table["31384"] = [226,122] let s:lib.Codec.encoding_table["31382"] = [226,123] let s:lib.Codec.encoding_table["31401"] = [226,124] let s:lib.Codec.encoding_table["31432"] = [226,125] let s:lib.Codec.encoding_table["31408"] = [226,126] let s:lib.Codec.encoding_table["31414"] = [226,128] let s:lib.Codec.encoding_table["31429"] = [226,129] let s:lib.Codec.encoding_table["31428"] = [226,130] let s:lib.Codec.encoding_table["31423"] = [226,131] let s:lib.Codec.encoding_table["36995"] = [226,132] let s:lib.Codec.encoding_table["31431"] = [226,133] let s:lib.Codec.encoding_table["31434"] = [226,134] let s:lib.Codec.encoding_table["31437"] = [226,135] let s:lib.Codec.encoding_table["31439"] = [226,136] let s:lib.Codec.encoding_table["31445"] = [226,137] let s:lib.Codec.encoding_table["31443"] = [226,138] let s:lib.Codec.encoding_table["31449"] = [226,139] let s:lib.Codec.encoding_table["31450"] = [226,140] let s:lib.Codec.encoding_table["31453"] = [226,141] let s:lib.Codec.encoding_table["31457"] = [226,142] let s:lib.Codec.encoding_table["31458"] = [226,143] let s:lib.Codec.encoding_table["31462"] = [226,144] let s:lib.Codec.encoding_table["31469"] = [226,145] let s:lib.Codec.encoding_table["31472"] = [226,146] let s:lib.Codec.encoding_table["31490"] = [226,147] let s:lib.Codec.encoding_table["31503"] = [226,148] let s:lib.Codec.encoding_table["31498"] = [226,149] let s:lib.Codec.encoding_table["31494"] = [226,150] let s:lib.Codec.encoding_table["31539"] = [226,151] let s:lib.Codec.encoding_table["31512"] = [226,152] let s:lib.Codec.encoding_table["31513"] = [226,153] let s:lib.Codec.encoding_table["31518"] = [226,154] let s:lib.Codec.encoding_table["31541"] = [226,155] let s:lib.Codec.encoding_table["31528"] = [226,156] let s:lib.Codec.encoding_table["31542"] = [226,157] let s:lib.Codec.encoding_table["31568"] = [226,158] let s:lib.Codec.encoding_table["31610"] = [226,159] let s:lib.Codec.encoding_table["31492"] = [226,160] let s:lib.Codec.encoding_table["31565"] = [226,161] let s:lib.Codec.encoding_table["31499"] = [226,162] let s:lib.Codec.encoding_table["31564"] = [226,163] let s:lib.Codec.encoding_table["31557"] = [226,164] let s:lib.Codec.encoding_table["31605"] = [226,165] let s:lib.Codec.encoding_table["31589"] = [226,166] let s:lib.Codec.encoding_table["31604"] = [226,167] let s:lib.Codec.encoding_table["31591"] = [226,168] let s:lib.Codec.encoding_table["31600"] = [226,169] let s:lib.Codec.encoding_table["31601"] = [226,170] let s:lib.Codec.encoding_table["31596"] = [226,171] let s:lib.Codec.encoding_table["31598"] = [226,172] let s:lib.Codec.encoding_table["31645"] = [226,173] let s:lib.Codec.encoding_table["31640"] = [226,174] let s:lib.Codec.encoding_table["31647"] = [226,175] let s:lib.Codec.encoding_table["31629"] = [226,176] let s:lib.Codec.encoding_table["31644"] = [226,177] let s:lib.Codec.encoding_table["31642"] = [226,178] let s:lib.Codec.encoding_table["31627"] = [226,179] let s:lib.Codec.encoding_table["31634"] = [226,180] let s:lib.Codec.encoding_table["31631"] = [226,181] let s:lib.Codec.encoding_table["31581"] = [226,182] let s:lib.Codec.encoding_table["31641"] = [226,183] let s:lib.Codec.encoding_table["31691"] = [226,184] let s:lib.Codec.encoding_table["31681"] = [226,185] let s:lib.Codec.encoding_table["31692"] = [226,186] let s:lib.Codec.encoding_table["31695"] = [226,187] let s:lib.Codec.encoding_table["31668"] = [226,188] let s:lib.Codec.encoding_table["31686"] = [226,189] let s:lib.Codec.encoding_table["31709"] = [226,190] let s:lib.Codec.encoding_table["31721"] = [226,191] let s:lib.Codec.encoding_table["31761"] = [226,192] let s:lib.Codec.encoding_table["31764"] = [226,193] let s:lib.Codec.encoding_table["31718"] = [226,194] let s:lib.Codec.encoding_table["31717"] = [226,195] let s:lib.Codec.encoding_table["31840"] = [226,196] let s:lib.Codec.encoding_table["31744"] = [226,197] let s:lib.Codec.encoding_table["31751"] = [226,198] let s:lib.Codec.encoding_table["31763"] = [226,199] let s:lib.Codec.encoding_table["31731"] = [226,200] let s:lib.Codec.encoding_table["31735"] = [226,201] let s:lib.Codec.encoding_table["31767"] = [226,202] let s:lib.Codec.encoding_table["31757"] = [226,203] let s:lib.Codec.encoding_table["31734"] = [226,204] let s:lib.Codec.encoding_table["31779"] = [226,205] let s:lib.Codec.encoding_table["31783"] = [226,206] let s:lib.Codec.encoding_table["31786"] = [226,207] let s:lib.Codec.encoding_table["31775"] = [226,208] let s:lib.Codec.encoding_table["31799"] = [226,209] let s:lib.Codec.encoding_table["31787"] = [226,210] let s:lib.Codec.encoding_table["31805"] = [226,211] let s:lib.Codec.encoding_table["31820"] = [226,212] let s:lib.Codec.encoding_table["31811"] = [226,213] let s:lib.Codec.encoding_table["31828"] = [226,214] let s:lib.Codec.encoding_table["31823"] = [226,215] let s:lib.Codec.encoding_table["31808"] = [226,216] let s:lib.Codec.encoding_table["31824"] = [226,217] let s:lib.Codec.encoding_table["31832"] = [226,218] let s:lib.Codec.encoding_table["31839"] = [226,219] let s:lib.Codec.encoding_table["31844"] = [226,220] let s:lib.Codec.encoding_table["31830"] = [226,221] let s:lib.Codec.encoding_table["31845"] = [226,222] let s:lib.Codec.encoding_table["31852"] = [226,223] let s:lib.Codec.encoding_table["31861"] = [226,224] let s:lib.Codec.encoding_table["31875"] = [226,225] let s:lib.Codec.encoding_table["31888"] = [226,226] let s:lib.Codec.encoding_table["31908"] = [226,227] let s:lib.Codec.encoding_table["31917"] = [226,228] let s:lib.Codec.encoding_table["31906"] = [226,229] let s:lib.Codec.encoding_table["31915"] = [226,230] let s:lib.Codec.encoding_table["31905"] = [226,231] let s:lib.Codec.encoding_table["31912"] = [226,232] let s:lib.Codec.encoding_table["31923"] = [226,233] let s:lib.Codec.encoding_table["31922"] = [226,234] let s:lib.Codec.encoding_table["31921"] = [226,235] let s:lib.Codec.encoding_table["31918"] = [226,236] let s:lib.Codec.encoding_table["31929"] = [226,237] let s:lib.Codec.encoding_table["31933"] = [226,238] let s:lib.Codec.encoding_table["31936"] = [226,239] let s:lib.Codec.encoding_table["31941"] = [226,240] let s:lib.Codec.encoding_table["31938"] = [226,241] let s:lib.Codec.encoding_table["31960"] = [226,242] let s:lib.Codec.encoding_table["31954"] = [226,243] let s:lib.Codec.encoding_table["31964"] = [226,244] let s:lib.Codec.encoding_table["31970"] = [226,245] let s:lib.Codec.encoding_table["39739"] = [226,246] let s:lib.Codec.encoding_table["31983"] = [226,247] let s:lib.Codec.encoding_table["31986"] = [226,248] let s:lib.Codec.encoding_table["31988"] = [226,249] let s:lib.Codec.encoding_table["31990"] = [226,250] let s:lib.Codec.encoding_table["31994"] = [226,251] let s:lib.Codec.encoding_table["32006"] = [226,252] let s:lib.Codec.encoding_table["32002"] = [227,64] let s:lib.Codec.encoding_table["32028"] = [227,65] let s:lib.Codec.encoding_table["32021"] = [227,66] let s:lib.Codec.encoding_table["32010"] = [227,67] let s:lib.Codec.encoding_table["32069"] = [227,68] let s:lib.Codec.encoding_table["32075"] = [227,69] let s:lib.Codec.encoding_table["32046"] = [227,70] let s:lib.Codec.encoding_table["32050"] = [227,71] let s:lib.Codec.encoding_table["32063"] = [227,72] let s:lib.Codec.encoding_table["32053"] = [227,73] let s:lib.Codec.encoding_table["32070"] = [227,74] let s:lib.Codec.encoding_table["32115"] = [227,75] let s:lib.Codec.encoding_table["32086"] = [227,76] let s:lib.Codec.encoding_table["32078"] = [227,77] let s:lib.Codec.encoding_table["32114"] = [227,78] let s:lib.Codec.encoding_table["32104"] = [227,79] let s:lib.Codec.encoding_table["32110"] = [227,80] let s:lib.Codec.encoding_table["32079"] = [227,81] let s:lib.Codec.encoding_table["32099"] = [227,82] let s:lib.Codec.encoding_table["32147"] = [227,83] let s:lib.Codec.encoding_table["32137"] = [227,84] let s:lib.Codec.encoding_table["32091"] = [227,85] let s:lib.Codec.encoding_table["32143"] = [227,86] let s:lib.Codec.encoding_table["32125"] = [227,87] let s:lib.Codec.encoding_table["32155"] = [227,88] let s:lib.Codec.encoding_table["32186"] = [227,89] let s:lib.Codec.encoding_table["32174"] = [227,90] let s:lib.Codec.encoding_table["32163"] = [227,91] let s:lib.Codec.encoding_table["32181"] = [227,92] let s:lib.Codec.encoding_table["32199"] = [227,93] let s:lib.Codec.encoding_table["32189"] = [227,94] let s:lib.Codec.encoding_table["32171"] = [227,95] let s:lib.Codec.encoding_table["32317"] = [227,96] let s:lib.Codec.encoding_table["32162"] = [227,97] let s:lib.Codec.encoding_table["32175"] = [227,98] let s:lib.Codec.encoding_table["32220"] = [227,99] let s:lib.Codec.encoding_table["32184"] = [227,100] let s:lib.Codec.encoding_table["32159"] = [227,101] let s:lib.Codec.encoding_table["32176"] = [227,102] let s:lib.Codec.encoding_table["32216"] = [227,103] let s:lib.Codec.encoding_table["32221"] = [227,104] let s:lib.Codec.encoding_table["32228"] = [227,105] let s:lib.Codec.encoding_table["32222"] = [227,106] let s:lib.Codec.encoding_table["32251"] = [227,107] let s:lib.Codec.encoding_table["32242"] = [227,108] let s:lib.Codec.encoding_table["32225"] = [227,109] let s:lib.Codec.encoding_table["32261"] = [227,110] let s:lib.Codec.encoding_table["32266"] = [227,111] let s:lib.Codec.encoding_table["32291"] = [227,112] let s:lib.Codec.encoding_table["32289"] = [227,113] let s:lib.Codec.encoding_table["32274"] = [227,114] let s:lib.Codec.encoding_table["32305"] = [227,115] let s:lib.Codec.encoding_table["32287"] = [227,116] let s:lib.Codec.encoding_table["32265"] = [227,117] let s:lib.Codec.encoding_table["32267"] = [227,118] let s:lib.Codec.encoding_table["32290"] = [227,119] let s:lib.Codec.encoding_table["32326"] = [227,120] let s:lib.Codec.encoding_table["32358"] = [227,121] let s:lib.Codec.encoding_table["32315"] = [227,122] let s:lib.Codec.encoding_table["32309"] = [227,123] let s:lib.Codec.encoding_table["32313"] = [227,124] let s:lib.Codec.encoding_table["32323"] = [227,125] let s:lib.Codec.encoding_table["32311"] = [227,126] let s:lib.Codec.encoding_table["32306"] = [227,128] let s:lib.Codec.encoding_table["32314"] = [227,129] let s:lib.Codec.encoding_table["32359"] = [227,130] let s:lib.Codec.encoding_table["32349"] = [227,131] let s:lib.Codec.encoding_table["32342"] = [227,132] let s:lib.Codec.encoding_table["32350"] = [227,133] let s:lib.Codec.encoding_table["32345"] = [227,134] let s:lib.Codec.encoding_table["32346"] = [227,135] let s:lib.Codec.encoding_table["32377"] = [227,136] let s:lib.Codec.encoding_table["32362"] = [227,137] let s:lib.Codec.encoding_table["32361"] = [227,138] let s:lib.Codec.encoding_table["32380"] = [227,139] let s:lib.Codec.encoding_table["32379"] = [227,140] let s:lib.Codec.encoding_table["32387"] = [227,141] let s:lib.Codec.encoding_table["32213"] = [227,142] let s:lib.Codec.encoding_table["32381"] = [227,143] let s:lib.Codec.encoding_table["36782"] = [227,144] let s:lib.Codec.encoding_table["32383"] = [227,145] let s:lib.Codec.encoding_table["32392"] = [227,146] let s:lib.Codec.encoding_table["32393"] = [227,147] let s:lib.Codec.encoding_table["32396"] = [227,148] let s:lib.Codec.encoding_table["32402"] = [227,149] let s:lib.Codec.encoding_table["32400"] = [227,150] let s:lib.Codec.encoding_table["32403"] = [227,151] let s:lib.Codec.encoding_table["32404"] = [227,152] let s:lib.Codec.encoding_table["32406"] = [227,153] let s:lib.Codec.encoding_table["32398"] = [227,154] let s:lib.Codec.encoding_table["32411"] = [227,155] let s:lib.Codec.encoding_table["32412"] = [227,156] let s:lib.Codec.encoding_table["32568"] = [227,157] let s:lib.Codec.encoding_table["32570"] = [227,158] let s:lib.Codec.encoding_table["32581"] = [227,159] let s:lib.Codec.encoding_table["32588"] = [227,160] let s:lib.Codec.encoding_table["32589"] = [227,161] let s:lib.Codec.encoding_table["32590"] = [227,162] let s:lib.Codec.encoding_table["32592"] = [227,163] let s:lib.Codec.encoding_table["32593"] = [227,164] let s:lib.Codec.encoding_table["32597"] = [227,165] let s:lib.Codec.encoding_table["32596"] = [227,166] let s:lib.Codec.encoding_table["32600"] = [227,167] let s:lib.Codec.encoding_table["32607"] = [227,168] let s:lib.Codec.encoding_table["32608"] = [227,169] let s:lib.Codec.encoding_table["32616"] = [227,170] let s:lib.Codec.encoding_table["32617"] = [227,171] let s:lib.Codec.encoding_table["32615"] = [227,172] let s:lib.Codec.encoding_table["32632"] = [227,173] let s:lib.Codec.encoding_table["32642"] = [227,174] let s:lib.Codec.encoding_table["32646"] = [227,175] let s:lib.Codec.encoding_table["32643"] = [227,176] let s:lib.Codec.encoding_table["32648"] = [227,177] let s:lib.Codec.encoding_table["32647"] = [227,178] let s:lib.Codec.encoding_table["32652"] = [227,179] let s:lib.Codec.encoding_table["32660"] = [227,180] let s:lib.Codec.encoding_table["32670"] = [227,181] let s:lib.Codec.encoding_table["32669"] = [227,182] let s:lib.Codec.encoding_table["32666"] = [227,183] let s:lib.Codec.encoding_table["32675"] = [227,184] let s:lib.Codec.encoding_table["32687"] = [227,185] let s:lib.Codec.encoding_table["32690"] = [227,186] let s:lib.Codec.encoding_table["32697"] = [227,187] let s:lib.Codec.encoding_table["32686"] = [227,188] let s:lib.Codec.encoding_table["32694"] = [227,189] let s:lib.Codec.encoding_table["32696"] = [227,190] let s:lib.Codec.encoding_table["35697"] = [227,191] let s:lib.Codec.encoding_table["32709"] = [227,192] let s:lib.Codec.encoding_table["32710"] = [227,193] let s:lib.Codec.encoding_table["32714"] = [227,194] let s:lib.Codec.encoding_table["32725"] = [227,195] let s:lib.Codec.encoding_table["32724"] = [227,196] let s:lib.Codec.encoding_table["32737"] = [227,197] let s:lib.Codec.encoding_table["32742"] = [227,198] let s:lib.Codec.encoding_table["32745"] = [227,199] let s:lib.Codec.encoding_table["32755"] = [227,200] let s:lib.Codec.encoding_table["32761"] = [227,201] let s:lib.Codec.encoding_table["39132"] = [227,202] let s:lib.Codec.encoding_table["32774"] = [227,203] let s:lib.Codec.encoding_table["32772"] = [227,204] let s:lib.Codec.encoding_table["32779"] = [227,205] let s:lib.Codec.encoding_table["32786"] = [227,206] let s:lib.Codec.encoding_table["32792"] = [227,207] let s:lib.Codec.encoding_table["32793"] = [227,208] let s:lib.Codec.encoding_table["32796"] = [227,209] let s:lib.Codec.encoding_table["32801"] = [227,210] let s:lib.Codec.encoding_table["32808"] = [227,211] let s:lib.Codec.encoding_table["32831"] = [227,212] let s:lib.Codec.encoding_table["32827"] = [227,213] let s:lib.Codec.encoding_table["32842"] = [227,214] let s:lib.Codec.encoding_table["32838"] = [227,215] let s:lib.Codec.encoding_table["32850"] = [227,216] let s:lib.Codec.encoding_table["32856"] = [227,217] let s:lib.Codec.encoding_table["32858"] = [227,218] let s:lib.Codec.encoding_table["32863"] = [227,219] let s:lib.Codec.encoding_table["32866"] = [227,220] let s:lib.Codec.encoding_table["32872"] = [227,221] let s:lib.Codec.encoding_table["32883"] = [227,222] let s:lib.Codec.encoding_table["32882"] = [227,223] let s:lib.Codec.encoding_table["32880"] = [227,224] let s:lib.Codec.encoding_table["32886"] = [227,225] let s:lib.Codec.encoding_table["32889"] = [227,226] let s:lib.Codec.encoding_table["32893"] = [227,227] let s:lib.Codec.encoding_table["32895"] = [227,228] let s:lib.Codec.encoding_table["32900"] = [227,229] let s:lib.Codec.encoding_table["32902"] = [227,230] let s:lib.Codec.encoding_table["32901"] = [227,231] let s:lib.Codec.encoding_table["32923"] = [227,232] let s:lib.Codec.encoding_table["32915"] = [227,233] let s:lib.Codec.encoding_table["32922"] = [227,234] let s:lib.Codec.encoding_table["32941"] = [227,235] let s:lib.Codec.encoding_table["20880"] = [227,236] let s:lib.Codec.encoding_table["32940"] = [227,237] let s:lib.Codec.encoding_table["32987"] = [227,238] let s:lib.Codec.encoding_table["32997"] = [227,239] let s:lib.Codec.encoding_table["32985"] = [227,240] let s:lib.Codec.encoding_table["32989"] = [227,241] let s:lib.Codec.encoding_table["32964"] = [227,242] let s:lib.Codec.encoding_table["32986"] = [227,243] let s:lib.Codec.encoding_table["32982"] = [227,244] let s:lib.Codec.encoding_table["33033"] = [227,245] let s:lib.Codec.encoding_table["33007"] = [227,246] let s:lib.Codec.encoding_table["33009"] = [227,247] let s:lib.Codec.encoding_table["33051"] = [227,248] let s:lib.Codec.encoding_table["33065"] = [227,249] let s:lib.Codec.encoding_table["33059"] = [227,250] let s:lib.Codec.encoding_table["33071"] = [227,251] let s:lib.Codec.encoding_table["33099"] = [227,252] let s:lib.Codec.encoding_table["38539"] = [228,64] let s:lib.Codec.encoding_table["33094"] = [228,65] let s:lib.Codec.encoding_table["33086"] = [228,66] let s:lib.Codec.encoding_table["33107"] = [228,67] let s:lib.Codec.encoding_table["33105"] = [228,68] let s:lib.Codec.encoding_table["33020"] = [228,69] let s:lib.Codec.encoding_table["33137"] = [228,70] let s:lib.Codec.encoding_table["33134"] = [228,71] let s:lib.Codec.encoding_table["33125"] = [228,72] let s:lib.Codec.encoding_table["33126"] = [228,73] let s:lib.Codec.encoding_table["33140"] = [228,74] let s:lib.Codec.encoding_table["33155"] = [228,75] let s:lib.Codec.encoding_table["33160"] = [228,76] let s:lib.Codec.encoding_table["33162"] = [228,77] let s:lib.Codec.encoding_table["33152"] = [228,78] let s:lib.Codec.encoding_table["33154"] = [228,79] let s:lib.Codec.encoding_table["33184"] = [228,80] let s:lib.Codec.encoding_table["33173"] = [228,81] let s:lib.Codec.encoding_table["33188"] = [228,82] let s:lib.Codec.encoding_table["33187"] = [228,83] let s:lib.Codec.encoding_table["33119"] = [228,84] let s:lib.Codec.encoding_table["33171"] = [228,85] let s:lib.Codec.encoding_table["33193"] = [228,86] let s:lib.Codec.encoding_table["33200"] = [228,87] let s:lib.Codec.encoding_table["33205"] = [228,88] let s:lib.Codec.encoding_table["33214"] = [228,89] let s:lib.Codec.encoding_table["33208"] = [228,90] let s:lib.Codec.encoding_table["33213"] = [228,91] let s:lib.Codec.encoding_table["33216"] = [228,92] let s:lib.Codec.encoding_table["33218"] = [228,93] let s:lib.Codec.encoding_table["33210"] = [228,94] let s:lib.Codec.encoding_table["33225"] = [228,95] let s:lib.Codec.encoding_table["33229"] = [228,96] let s:lib.Codec.encoding_table["33233"] = [228,97] let s:lib.Codec.encoding_table["33241"] = [228,98] let s:lib.Codec.encoding_table["33240"] = [228,99] let s:lib.Codec.encoding_table["33224"] = [228,100] let s:lib.Codec.encoding_table["33242"] = [228,101] let s:lib.Codec.encoding_table["33247"] = [228,102] let s:lib.Codec.encoding_table["33248"] = [228,103] let s:lib.Codec.encoding_table["33255"] = [228,104] let s:lib.Codec.encoding_table["33274"] = [228,105] let s:lib.Codec.encoding_table["33275"] = [228,106] let s:lib.Codec.encoding_table["33278"] = [228,107] let s:lib.Codec.encoding_table["33281"] = [228,108] let s:lib.Codec.encoding_table["33282"] = [228,109] let s:lib.Codec.encoding_table["33285"] = [228,110] let s:lib.Codec.encoding_table["33287"] = [228,111] let s:lib.Codec.encoding_table["33290"] = [228,112] let s:lib.Codec.encoding_table["33293"] = [228,113] let s:lib.Codec.encoding_table["33296"] = [228,114] let s:lib.Codec.encoding_table["33302"] = [228,115] let s:lib.Codec.encoding_table["33321"] = [228,116] let s:lib.Codec.encoding_table["33323"] = [228,117] let s:lib.Codec.encoding_table["33336"] = [228,118] let s:lib.Codec.encoding_table["33331"] = [228,119] let s:lib.Codec.encoding_table["33344"] = [228,120] let s:lib.Codec.encoding_table["33369"] = [228,121] let s:lib.Codec.encoding_table["33368"] = [228,122] let s:lib.Codec.encoding_table["33373"] = [228,123] let s:lib.Codec.encoding_table["33370"] = [228,124] let s:lib.Codec.encoding_table["33375"] = [228,125] let s:lib.Codec.encoding_table["33380"] = [228,126] let s:lib.Codec.encoding_table["33378"] = [228,128] let s:lib.Codec.encoding_table["33384"] = [228,129] let s:lib.Codec.encoding_table["33386"] = [228,130] let s:lib.Codec.encoding_table["33387"] = [228,131] let s:lib.Codec.encoding_table["33326"] = [228,132] let s:lib.Codec.encoding_table["33393"] = [228,133] let s:lib.Codec.encoding_table["33399"] = [228,134] let s:lib.Codec.encoding_table["33400"] = [228,135] let s:lib.Codec.encoding_table["33406"] = [228,136] let s:lib.Codec.encoding_table["33421"] = [228,137] let s:lib.Codec.encoding_table["33426"] = [228,138] let s:lib.Codec.encoding_table["33451"] = [228,139] let s:lib.Codec.encoding_table["33439"] = [228,140] let s:lib.Codec.encoding_table["33467"] = [228,141] let s:lib.Codec.encoding_table["33452"] = [228,142] let s:lib.Codec.encoding_table["33505"] = [228,143] let s:lib.Codec.encoding_table["33507"] = [228,144] let s:lib.Codec.encoding_table["33503"] = [228,145] let s:lib.Codec.encoding_table["33490"] = [228,146] let s:lib.Codec.encoding_table["33524"] = [228,147] let s:lib.Codec.encoding_table["33523"] = [228,148] let s:lib.Codec.encoding_table["33530"] = [228,149] let s:lib.Codec.encoding_table["33683"] = [228,150] let s:lib.Codec.encoding_table["33539"] = [228,151] let s:lib.Codec.encoding_table["33531"] = [228,152] let s:lib.Codec.encoding_table["33529"] = [228,153] let s:lib.Codec.encoding_table["33502"] = [228,154] let s:lib.Codec.encoding_table["33542"] = [228,155] let s:lib.Codec.encoding_table["33500"] = [228,156] let s:lib.Codec.encoding_table["33545"] = [228,157] let s:lib.Codec.encoding_table["33497"] = [228,158] let s:lib.Codec.encoding_table["33589"] = [228,159] let s:lib.Codec.encoding_table["33588"] = [228,160] let s:lib.Codec.encoding_table["33558"] = [228,161] let s:lib.Codec.encoding_table["33586"] = [228,162] let s:lib.Codec.encoding_table["33585"] = [228,163] let s:lib.Codec.encoding_table["33600"] = [228,164] let s:lib.Codec.encoding_table["33593"] = [228,165] let s:lib.Codec.encoding_table["33616"] = [228,166] let s:lib.Codec.encoding_table["33605"] = [228,167] let s:lib.Codec.encoding_table["33583"] = [228,168] let s:lib.Codec.encoding_table["33579"] = [228,169] let s:lib.Codec.encoding_table["33559"] = [228,170] let s:lib.Codec.encoding_table["33560"] = [228,171] let s:lib.Codec.encoding_table["33669"] = [228,172] let s:lib.Codec.encoding_table["33690"] = [228,173] let s:lib.Codec.encoding_table["33706"] = [228,174] let s:lib.Codec.encoding_table["33695"] = [228,175] let s:lib.Codec.encoding_table["33698"] = [228,176] let s:lib.Codec.encoding_table["33686"] = [228,177] let s:lib.Codec.encoding_table["33571"] = [228,178] let s:lib.Codec.encoding_table["33678"] = [228,179] let s:lib.Codec.encoding_table["33671"] = [228,180] let s:lib.Codec.encoding_table["33674"] = [228,181] let s:lib.Codec.encoding_table["33660"] = [228,182] let s:lib.Codec.encoding_table["33717"] = [228,183] let s:lib.Codec.encoding_table["33651"] = [228,184] let s:lib.Codec.encoding_table["33653"] = [228,185] let s:lib.Codec.encoding_table["33696"] = [228,186] let s:lib.Codec.encoding_table["33673"] = [228,187] let s:lib.Codec.encoding_table["33704"] = [228,188] let s:lib.Codec.encoding_table["33780"] = [228,189] let s:lib.Codec.encoding_table["33811"] = [228,190] let s:lib.Codec.encoding_table["33771"] = [228,191] let s:lib.Codec.encoding_table["33742"] = [228,192] let s:lib.Codec.encoding_table["33789"] = [228,193] let s:lib.Codec.encoding_table["33795"] = [228,194] let s:lib.Codec.encoding_table["33752"] = [228,195] let s:lib.Codec.encoding_table["33803"] = [228,196] let s:lib.Codec.encoding_table["33729"] = [228,197] let s:lib.Codec.encoding_table["33783"] = [228,198] let s:lib.Codec.encoding_table["33799"] = [228,199] let s:lib.Codec.encoding_table["33760"] = [228,200] let s:lib.Codec.encoding_table["33778"] = [228,201] let s:lib.Codec.encoding_table["33805"] = [228,202] let s:lib.Codec.encoding_table["33826"] = [228,203] let s:lib.Codec.encoding_table["33824"] = [228,204] let s:lib.Codec.encoding_table["33725"] = [228,205] let s:lib.Codec.encoding_table["33848"] = [228,206] let s:lib.Codec.encoding_table["34054"] = [228,207] let s:lib.Codec.encoding_table["33787"] = [228,208] let s:lib.Codec.encoding_table["33901"] = [228,209] let s:lib.Codec.encoding_table["33834"] = [228,210] let s:lib.Codec.encoding_table["33852"] = [228,211] let s:lib.Codec.encoding_table["34138"] = [228,212] let s:lib.Codec.encoding_table["33924"] = [228,213] let s:lib.Codec.encoding_table["33911"] = [228,214] let s:lib.Codec.encoding_table["33899"] = [228,215] let s:lib.Codec.encoding_table["33965"] = [228,216] let s:lib.Codec.encoding_table["33902"] = [228,217] let s:lib.Codec.encoding_table["33922"] = [228,218] let s:lib.Codec.encoding_table["33897"] = [228,219] let s:lib.Codec.encoding_table["33862"] = [228,220] let s:lib.Codec.encoding_table["33836"] = [228,221] let s:lib.Codec.encoding_table["33903"] = [228,222] let s:lib.Codec.encoding_table["33913"] = [228,223] let s:lib.Codec.encoding_table["33845"] = [228,224] let s:lib.Codec.encoding_table["33994"] = [228,225] let s:lib.Codec.encoding_table["33890"] = [228,226] let s:lib.Codec.encoding_table["33977"] = [228,227] let s:lib.Codec.encoding_table["33983"] = [228,228] let s:lib.Codec.encoding_table["33951"] = [228,229] let s:lib.Codec.encoding_table["34009"] = [228,230] let s:lib.Codec.encoding_table["33997"] = [228,231] let s:lib.Codec.encoding_table["33979"] = [228,232] let s:lib.Codec.encoding_table["34010"] = [228,233] let s:lib.Codec.encoding_table["34000"] = [228,234] let s:lib.Codec.encoding_table["33985"] = [228,235] let s:lib.Codec.encoding_table["33990"] = [228,236] let s:lib.Codec.encoding_table["34006"] = [228,237] let s:lib.Codec.encoding_table["33953"] = [228,238] let s:lib.Codec.encoding_table["34081"] = [228,239] let s:lib.Codec.encoding_table["34047"] = [228,240] let s:lib.Codec.encoding_table["34036"] = [228,241] let s:lib.Codec.encoding_table["34071"] = [228,242] let s:lib.Codec.encoding_table["34072"] = [228,243] let s:lib.Codec.encoding_table["34092"] = [228,244] let s:lib.Codec.encoding_table["34079"] = [228,245] let s:lib.Codec.encoding_table["34069"] = [228,246] let s:lib.Codec.encoding_table["34068"] = [228,247] let s:lib.Codec.encoding_table["34044"] = [228,248] let s:lib.Codec.encoding_table["34112"] = [228,249] let s:lib.Codec.encoding_table["34147"] = [228,250] let s:lib.Codec.encoding_table["34136"] = [228,251] let s:lib.Codec.encoding_table["34120"] = [228,252] let s:lib.Codec.encoding_table["34113"] = [229,64] let s:lib.Codec.encoding_table["34306"] = [229,65] let s:lib.Codec.encoding_table["34123"] = [229,66] let s:lib.Codec.encoding_table["34133"] = [229,67] let s:lib.Codec.encoding_table["34176"] = [229,68] let s:lib.Codec.encoding_table["34212"] = [229,69] let s:lib.Codec.encoding_table["34184"] = [229,70] let s:lib.Codec.encoding_table["34193"] = [229,71] let s:lib.Codec.encoding_table["34186"] = [229,72] let s:lib.Codec.encoding_table["34216"] = [229,73] let s:lib.Codec.encoding_table["34157"] = [229,74] let s:lib.Codec.encoding_table["34196"] = [229,75] let s:lib.Codec.encoding_table["34203"] = [229,76] let s:lib.Codec.encoding_table["34282"] = [229,77] let s:lib.Codec.encoding_table["34183"] = [229,78] let s:lib.Codec.encoding_table["34204"] = [229,79] let s:lib.Codec.encoding_table["34167"] = [229,80] let s:lib.Codec.encoding_table["34174"] = [229,81] let s:lib.Codec.encoding_table["34192"] = [229,82] let s:lib.Codec.encoding_table["34249"] = [229,83] let s:lib.Codec.encoding_table["34234"] = [229,84] let s:lib.Codec.encoding_table["34255"] = [229,85] let s:lib.Codec.encoding_table["34233"] = [229,86] let s:lib.Codec.encoding_table["34256"] = [229,87] let s:lib.Codec.encoding_table["34261"] = [229,88] let s:lib.Codec.encoding_table["34269"] = [229,89] let s:lib.Codec.encoding_table["34277"] = [229,90] let s:lib.Codec.encoding_table["34268"] = [229,91] let s:lib.Codec.encoding_table["34297"] = [229,92] let s:lib.Codec.encoding_table["34314"] = [229,93] let s:lib.Codec.encoding_table["34323"] = [229,94] let s:lib.Codec.encoding_table["34315"] = [229,95] let s:lib.Codec.encoding_table["34302"] = [229,96] let s:lib.Codec.encoding_table["34298"] = [229,97] let s:lib.Codec.encoding_table["34310"] = [229,98] let s:lib.Codec.encoding_table["34338"] = [229,99] let s:lib.Codec.encoding_table["34330"] = [229,100] let s:lib.Codec.encoding_table["34352"] = [229,101] let s:lib.Codec.encoding_table["34367"] = [229,102] let s:lib.Codec.encoding_table["34381"] = [229,103] let s:lib.Codec.encoding_table["20053"] = [229,104] let s:lib.Codec.encoding_table["34388"] = [229,105] let s:lib.Codec.encoding_table["34399"] = [229,106] let s:lib.Codec.encoding_table["34407"] = [229,107] let s:lib.Codec.encoding_table["34417"] = [229,108] let s:lib.Codec.encoding_table["34451"] = [229,109] let s:lib.Codec.encoding_table["34467"] = [229,110] let s:lib.Codec.encoding_table["34473"] = [229,111] let s:lib.Codec.encoding_table["34474"] = [229,112] let s:lib.Codec.encoding_table["34443"] = [229,113] let s:lib.Codec.encoding_table["34444"] = [229,114] let s:lib.Codec.encoding_table["34486"] = [229,115] let s:lib.Codec.encoding_table["34479"] = [229,116] let s:lib.Codec.encoding_table["34500"] = [229,117] let s:lib.Codec.encoding_table["34502"] = [229,118] let s:lib.Codec.encoding_table["34480"] = [229,119] let s:lib.Codec.encoding_table["34505"] = [229,120] let s:lib.Codec.encoding_table["34851"] = [229,121] let s:lib.Codec.encoding_table["34475"] = [229,122] let s:lib.Codec.encoding_table["34516"] = [229,123] let s:lib.Codec.encoding_table["34526"] = [229,124] let s:lib.Codec.encoding_table["34537"] = [229,125] let s:lib.Codec.encoding_table["34540"] = [229,126] let s:lib.Codec.encoding_table["34527"] = [229,128] let s:lib.Codec.encoding_table["34523"] = [229,129] let s:lib.Codec.encoding_table["34543"] = [229,130] let s:lib.Codec.encoding_table["34578"] = [229,131] let s:lib.Codec.encoding_table["34566"] = [229,132] let s:lib.Codec.encoding_table["34568"] = [229,133] let s:lib.Codec.encoding_table["34560"] = [229,134] let s:lib.Codec.encoding_table["34563"] = [229,135] let s:lib.Codec.encoding_table["34555"] = [229,136] let s:lib.Codec.encoding_table["34577"] = [229,137] let s:lib.Codec.encoding_table["34569"] = [229,138] let s:lib.Codec.encoding_table["34573"] = [229,139] let s:lib.Codec.encoding_table["34553"] = [229,140] let s:lib.Codec.encoding_table["34570"] = [229,141] let s:lib.Codec.encoding_table["34612"] = [229,142] let s:lib.Codec.encoding_table["34623"] = [229,143] let s:lib.Codec.encoding_table["34615"] = [229,144] let s:lib.Codec.encoding_table["34619"] = [229,145] let s:lib.Codec.encoding_table["34597"] = [229,146] let s:lib.Codec.encoding_table["34601"] = [229,147] let s:lib.Codec.encoding_table["34586"] = [229,148] let s:lib.Codec.encoding_table["34656"] = [229,149] let s:lib.Codec.encoding_table["34655"] = [229,150] let s:lib.Codec.encoding_table["34680"] = [229,151] let s:lib.Codec.encoding_table["34636"] = [229,152] let s:lib.Codec.encoding_table["34638"] = [229,153] let s:lib.Codec.encoding_table["34676"] = [229,154] let s:lib.Codec.encoding_table["34647"] = [229,155] let s:lib.Codec.encoding_table["34664"] = [229,156] let s:lib.Codec.encoding_table["34670"] = [229,157] let s:lib.Codec.encoding_table["34649"] = [229,158] let s:lib.Codec.encoding_table["34643"] = [229,159] let s:lib.Codec.encoding_table["34659"] = [229,160] let s:lib.Codec.encoding_table["34666"] = [229,161] let s:lib.Codec.encoding_table["34821"] = [229,162] let s:lib.Codec.encoding_table["34722"] = [229,163] let s:lib.Codec.encoding_table["34719"] = [229,164] let s:lib.Codec.encoding_table["34690"] = [229,165] let s:lib.Codec.encoding_table["34735"] = [229,166] let s:lib.Codec.encoding_table["34763"] = [229,167] let s:lib.Codec.encoding_table["34749"] = [229,168] let s:lib.Codec.encoding_table["34752"] = [229,169] let s:lib.Codec.encoding_table["34768"] = [229,170] let s:lib.Codec.encoding_table["38614"] = [229,171] let s:lib.Codec.encoding_table["34731"] = [229,172] let s:lib.Codec.encoding_table["34756"] = [229,173] let s:lib.Codec.encoding_table["34739"] = [229,174] let s:lib.Codec.encoding_table["34759"] = [229,175] let s:lib.Codec.encoding_table["34758"] = [229,176] let s:lib.Codec.encoding_table["34747"] = [229,177] let s:lib.Codec.encoding_table["34799"] = [229,178] let s:lib.Codec.encoding_table["34802"] = [229,179] let s:lib.Codec.encoding_table["34784"] = [229,180] let s:lib.Codec.encoding_table["34831"] = [229,181] let s:lib.Codec.encoding_table["34829"] = [229,182] let s:lib.Codec.encoding_table["34814"] = [229,183] let s:lib.Codec.encoding_table["34806"] = [229,184] let s:lib.Codec.encoding_table["34807"] = [229,185] let s:lib.Codec.encoding_table["34830"] = [229,186] let s:lib.Codec.encoding_table["34770"] = [229,187] let s:lib.Codec.encoding_table["34833"] = [229,188] let s:lib.Codec.encoding_table["34838"] = [229,189] let s:lib.Codec.encoding_table["34837"] = [229,190] let s:lib.Codec.encoding_table["34850"] = [229,191] let s:lib.Codec.encoding_table["34849"] = [229,192] let s:lib.Codec.encoding_table["34865"] = [229,193] let s:lib.Codec.encoding_table["34870"] = [229,194] let s:lib.Codec.encoding_table["34873"] = [229,195] let s:lib.Codec.encoding_table["34855"] = [229,196] let s:lib.Codec.encoding_table["34875"] = [229,197] let s:lib.Codec.encoding_table["34884"] = [229,198] let s:lib.Codec.encoding_table["34882"] = [229,199] let s:lib.Codec.encoding_table["34898"] = [229,200] let s:lib.Codec.encoding_table["34905"] = [229,201] let s:lib.Codec.encoding_table["34910"] = [229,202] let s:lib.Codec.encoding_table["34914"] = [229,203] let s:lib.Codec.encoding_table["34923"] = [229,204] let s:lib.Codec.encoding_table["34945"] = [229,205] let s:lib.Codec.encoding_table["34942"] = [229,206] let s:lib.Codec.encoding_table["34974"] = [229,207] let s:lib.Codec.encoding_table["34933"] = [229,208] let s:lib.Codec.encoding_table["34941"] = [229,209] let s:lib.Codec.encoding_table["34997"] = [229,210] let s:lib.Codec.encoding_table["34930"] = [229,211] let s:lib.Codec.encoding_table["34946"] = [229,212] let s:lib.Codec.encoding_table["34967"] = [229,213] let s:lib.Codec.encoding_table["34962"] = [229,214] let s:lib.Codec.encoding_table["34990"] = [229,215] let s:lib.Codec.encoding_table["34969"] = [229,216] let s:lib.Codec.encoding_table["34978"] = [229,217] let s:lib.Codec.encoding_table["34957"] = [229,218] let s:lib.Codec.encoding_table["34980"] = [229,219] let s:lib.Codec.encoding_table["34992"] = [229,220] let s:lib.Codec.encoding_table["35007"] = [229,221] let s:lib.Codec.encoding_table["34993"] = [229,222] let s:lib.Codec.encoding_table["35011"] = [229,223] let s:lib.Codec.encoding_table["35012"] = [229,224] let s:lib.Codec.encoding_table["35028"] = [229,225] let s:lib.Codec.encoding_table["35032"] = [229,226] let s:lib.Codec.encoding_table["35033"] = [229,227] let s:lib.Codec.encoding_table["35037"] = [229,228] let s:lib.Codec.encoding_table["35065"] = [229,229] let s:lib.Codec.encoding_table["35074"] = [229,230] let s:lib.Codec.encoding_table["35068"] = [229,231] let s:lib.Codec.encoding_table["35060"] = [229,232] let s:lib.Codec.encoding_table["35048"] = [229,233] let s:lib.Codec.encoding_table["35058"] = [229,234] let s:lib.Codec.encoding_table["35076"] = [229,235] let s:lib.Codec.encoding_table["35084"] = [229,236] let s:lib.Codec.encoding_table["35082"] = [229,237] let s:lib.Codec.encoding_table["35091"] = [229,238] let s:lib.Codec.encoding_table["35139"] = [229,239] let s:lib.Codec.encoding_table["35102"] = [229,240] let s:lib.Codec.encoding_table["35109"] = [229,241] let s:lib.Codec.encoding_table["35114"] = [229,242] let s:lib.Codec.encoding_table["35115"] = [229,243] let s:lib.Codec.encoding_table["35137"] = [229,244] let s:lib.Codec.encoding_table["35140"] = [229,245] let s:lib.Codec.encoding_table["35131"] = [229,246] let s:lib.Codec.encoding_table["35126"] = [229,247] let s:lib.Codec.encoding_table["35128"] = [229,248] let s:lib.Codec.encoding_table["35148"] = [229,249] let s:lib.Codec.encoding_table["35101"] = [229,250] let s:lib.Codec.encoding_table["35168"] = [229,251] let s:lib.Codec.encoding_table["35166"] = [229,252] let s:lib.Codec.encoding_table["35174"] = [230,64] let s:lib.Codec.encoding_table["35172"] = [230,65] let s:lib.Codec.encoding_table["35181"] = [230,66] let s:lib.Codec.encoding_table["35178"] = [230,67] let s:lib.Codec.encoding_table["35183"] = [230,68] let s:lib.Codec.encoding_table["35188"] = [230,69] let s:lib.Codec.encoding_table["35191"] = [230,70] let s:lib.Codec.encoding_table["35198"] = [230,71] let s:lib.Codec.encoding_table["35203"] = [230,72] let s:lib.Codec.encoding_table["35208"] = [230,73] let s:lib.Codec.encoding_table["35210"] = [230,74] let s:lib.Codec.encoding_table["35219"] = [230,75] let s:lib.Codec.encoding_table["35224"] = [230,76] let s:lib.Codec.encoding_table["35233"] = [230,77] let s:lib.Codec.encoding_table["35241"] = [230,78] let s:lib.Codec.encoding_table["35238"] = [230,79] let s:lib.Codec.encoding_table["35244"] = [230,80] let s:lib.Codec.encoding_table["35247"] = [230,81] let s:lib.Codec.encoding_table["35250"] = [230,82] let s:lib.Codec.encoding_table["35258"] = [230,83] let s:lib.Codec.encoding_table["35261"] = [230,84] let s:lib.Codec.encoding_table["35263"] = [230,85] let s:lib.Codec.encoding_table["35264"] = [230,86] let s:lib.Codec.encoding_table["35290"] = [230,87] let s:lib.Codec.encoding_table["35292"] = [230,88] let s:lib.Codec.encoding_table["35293"] = [230,89] let s:lib.Codec.encoding_table["35303"] = [230,90] let s:lib.Codec.encoding_table["35316"] = [230,91] let s:lib.Codec.encoding_table["35320"] = [230,92] let s:lib.Codec.encoding_table["35331"] = [230,93] let s:lib.Codec.encoding_table["35350"] = [230,94] let s:lib.Codec.encoding_table["35344"] = [230,95] let s:lib.Codec.encoding_table["35340"] = [230,96] let s:lib.Codec.encoding_table["35355"] = [230,97] let s:lib.Codec.encoding_table["35357"] = [230,98] let s:lib.Codec.encoding_table["35365"] = [230,99] let s:lib.Codec.encoding_table["35382"] = [230,100] let s:lib.Codec.encoding_table["35393"] = [230,101] let s:lib.Codec.encoding_table["35419"] = [230,102] let s:lib.Codec.encoding_table["35410"] = [230,103] let s:lib.Codec.encoding_table["35398"] = [230,104] let s:lib.Codec.encoding_table["35400"] = [230,105] let s:lib.Codec.encoding_table["35452"] = [230,106] let s:lib.Codec.encoding_table["35437"] = [230,107] let s:lib.Codec.encoding_table["35436"] = [230,108] let s:lib.Codec.encoding_table["35426"] = [230,109] let s:lib.Codec.encoding_table["35461"] = [230,110] let s:lib.Codec.encoding_table["35458"] = [230,111] let s:lib.Codec.encoding_table["35460"] = [230,112] let s:lib.Codec.encoding_table["35496"] = [230,113] let s:lib.Codec.encoding_table["35489"] = [230,114] let s:lib.Codec.encoding_table["35473"] = [230,115] let s:lib.Codec.encoding_table["35493"] = [230,116] let s:lib.Codec.encoding_table["35494"] = [230,117] let s:lib.Codec.encoding_table["35482"] = [230,118] let s:lib.Codec.encoding_table["35491"] = [230,119] let s:lib.Codec.encoding_table["35524"] = [230,120] let s:lib.Codec.encoding_table["35533"] = [230,121] let s:lib.Codec.encoding_table["35522"] = [230,122] let s:lib.Codec.encoding_table["35546"] = [230,123] let s:lib.Codec.encoding_table["35563"] = [230,124] let s:lib.Codec.encoding_table["35571"] = [230,125] let s:lib.Codec.encoding_table["35559"] = [230,126] let s:lib.Codec.encoding_table["35556"] = [230,128] let s:lib.Codec.encoding_table["35569"] = [230,129] let s:lib.Codec.encoding_table["35604"] = [230,130] let s:lib.Codec.encoding_table["35552"] = [230,131] let s:lib.Codec.encoding_table["35554"] = [230,132] let s:lib.Codec.encoding_table["35575"] = [230,133] let s:lib.Codec.encoding_table["35550"] = [230,134] let s:lib.Codec.encoding_table["35547"] = [230,135] let s:lib.Codec.encoding_table["35596"] = [230,136] let s:lib.Codec.encoding_table["35591"] = [230,137] let s:lib.Codec.encoding_table["35610"] = [230,138] let s:lib.Codec.encoding_table["35553"] = [230,139] let s:lib.Codec.encoding_table["35606"] = [230,140] let s:lib.Codec.encoding_table["35600"] = [230,141] let s:lib.Codec.encoding_table["35607"] = [230,142] let s:lib.Codec.encoding_table["35616"] = [230,143] let s:lib.Codec.encoding_table["35635"] = [230,144] let s:lib.Codec.encoding_table["38827"] = [230,145] let s:lib.Codec.encoding_table["35622"] = [230,146] let s:lib.Codec.encoding_table["35627"] = [230,147] let s:lib.Codec.encoding_table["35646"] = [230,148] let s:lib.Codec.encoding_table["35624"] = [230,149] let s:lib.Codec.encoding_table["35649"] = [230,150] let s:lib.Codec.encoding_table["35660"] = [230,151] let s:lib.Codec.encoding_table["35663"] = [230,152] let s:lib.Codec.encoding_table["35662"] = [230,153] let s:lib.Codec.encoding_table["35657"] = [230,154] let s:lib.Codec.encoding_table["35670"] = [230,155] let s:lib.Codec.encoding_table["35675"] = [230,156] let s:lib.Codec.encoding_table["35674"] = [230,157] let s:lib.Codec.encoding_table["35691"] = [230,158] let s:lib.Codec.encoding_table["35679"] = [230,159] let s:lib.Codec.encoding_table["35692"] = [230,160] let s:lib.Codec.encoding_table["35695"] = [230,161] let s:lib.Codec.encoding_table["35700"] = [230,162] let s:lib.Codec.encoding_table["35709"] = [230,163] let s:lib.Codec.encoding_table["35712"] = [230,164] let s:lib.Codec.encoding_table["35724"] = [230,165] let s:lib.Codec.encoding_table["35726"] = [230,166] let s:lib.Codec.encoding_table["35730"] = [230,167] let s:lib.Codec.encoding_table["35731"] = [230,168] let s:lib.Codec.encoding_table["35734"] = [230,169] let s:lib.Codec.encoding_table["35737"] = [230,170] let s:lib.Codec.encoding_table["35738"] = [230,171] let s:lib.Codec.encoding_table["35898"] = [230,172] let s:lib.Codec.encoding_table["35905"] = [230,173] let s:lib.Codec.encoding_table["35903"] = [230,174] let s:lib.Codec.encoding_table["35912"] = [230,175] let s:lib.Codec.encoding_table["35916"] = [230,176] let s:lib.Codec.encoding_table["35918"] = [230,177] let s:lib.Codec.encoding_table["35920"] = [230,178] let s:lib.Codec.encoding_table["35925"] = [230,179] let s:lib.Codec.encoding_table["35938"] = [230,180] let s:lib.Codec.encoding_table["35948"] = [230,181] let s:lib.Codec.encoding_table["35960"] = [230,182] let s:lib.Codec.encoding_table["35962"] = [230,183] let s:lib.Codec.encoding_table["35970"] = [230,184] let s:lib.Codec.encoding_table["35977"] = [230,185] let s:lib.Codec.encoding_table["35973"] = [230,186] let s:lib.Codec.encoding_table["35978"] = [230,187] let s:lib.Codec.encoding_table["35981"] = [230,188] let s:lib.Codec.encoding_table["35982"] = [230,189] let s:lib.Codec.encoding_table["35988"] = [230,190] let s:lib.Codec.encoding_table["35964"] = [230,191] let s:lib.Codec.encoding_table["35992"] = [230,192] let s:lib.Codec.encoding_table["25117"] = [230,193] let s:lib.Codec.encoding_table["36013"] = [230,194] let s:lib.Codec.encoding_table["36010"] = [230,195] let s:lib.Codec.encoding_table["36029"] = [230,196] let s:lib.Codec.encoding_table["36018"] = [230,197] let s:lib.Codec.encoding_table["36019"] = [230,198] let s:lib.Codec.encoding_table["36014"] = [230,199] let s:lib.Codec.encoding_table["36022"] = [230,200] let s:lib.Codec.encoding_table["36040"] = [230,201] let s:lib.Codec.encoding_table["36033"] = [230,202] let s:lib.Codec.encoding_table["36068"] = [230,203] let s:lib.Codec.encoding_table["36067"] = [230,204] let s:lib.Codec.encoding_table["36058"] = [230,205] let s:lib.Codec.encoding_table["36093"] = [230,206] let s:lib.Codec.encoding_table["36090"] = [230,207] let s:lib.Codec.encoding_table["36091"] = [230,208] let s:lib.Codec.encoding_table["36100"] = [230,209] let s:lib.Codec.encoding_table["36101"] = [230,210] let s:lib.Codec.encoding_table["36106"] = [230,211] let s:lib.Codec.encoding_table["36103"] = [230,212] let s:lib.Codec.encoding_table["36111"] = [230,213] let s:lib.Codec.encoding_table["36109"] = [230,214] let s:lib.Codec.encoding_table["36112"] = [230,215] let s:lib.Codec.encoding_table["40782"] = [230,216] let s:lib.Codec.encoding_table["36115"] = [230,217] let s:lib.Codec.encoding_table["36045"] = [230,218] let s:lib.Codec.encoding_table["36116"] = [230,219] let s:lib.Codec.encoding_table["36118"] = [230,220] let s:lib.Codec.encoding_table["36199"] = [230,221] let s:lib.Codec.encoding_table["36205"] = [230,222] let s:lib.Codec.encoding_table["36209"] = [230,223] let s:lib.Codec.encoding_table["36211"] = [230,224] let s:lib.Codec.encoding_table["36225"] = [230,225] let s:lib.Codec.encoding_table["36249"] = [230,226] let s:lib.Codec.encoding_table["36290"] = [230,227] let s:lib.Codec.encoding_table["36286"] = [230,228] let s:lib.Codec.encoding_table["36282"] = [230,229] let s:lib.Codec.encoding_table["36303"] = [230,230] let s:lib.Codec.encoding_table["36314"] = [230,231] let s:lib.Codec.encoding_table["36310"] = [230,232] let s:lib.Codec.encoding_table["36300"] = [230,233] let s:lib.Codec.encoding_table["36315"] = [230,234] let s:lib.Codec.encoding_table["36299"] = [230,235] let s:lib.Codec.encoding_table["36330"] = [230,236] let s:lib.Codec.encoding_table["36331"] = [230,237] let s:lib.Codec.encoding_table["36319"] = [230,238] let s:lib.Codec.encoding_table["36323"] = [230,239] let s:lib.Codec.encoding_table["36348"] = [230,240] let s:lib.Codec.encoding_table["36360"] = [230,241] let s:lib.Codec.encoding_table["36361"] = [230,242] let s:lib.Codec.encoding_table["36351"] = [230,243] let s:lib.Codec.encoding_table["36381"] = [230,244] let s:lib.Codec.encoding_table["36382"] = [230,245] let s:lib.Codec.encoding_table["36368"] = [230,246] let s:lib.Codec.encoding_table["36383"] = [230,247] let s:lib.Codec.encoding_table["36418"] = [230,248] let s:lib.Codec.encoding_table["36405"] = [230,249] let s:lib.Codec.encoding_table["36400"] = [230,250] let s:lib.Codec.encoding_table["36404"] = [230,251] let s:lib.Codec.encoding_table["36426"] = [230,252] let s:lib.Codec.encoding_table["36423"] = [231,64] let s:lib.Codec.encoding_table["36425"] = [231,65] let s:lib.Codec.encoding_table["36428"] = [231,66] let s:lib.Codec.encoding_table["36432"] = [231,67] let s:lib.Codec.encoding_table["36424"] = [231,68] let s:lib.Codec.encoding_table["36441"] = [231,69] let s:lib.Codec.encoding_table["36452"] = [231,70] let s:lib.Codec.encoding_table["36448"] = [231,71] let s:lib.Codec.encoding_table["36394"] = [231,72] let s:lib.Codec.encoding_table["36451"] = [231,73] let s:lib.Codec.encoding_table["36437"] = [231,74] let s:lib.Codec.encoding_table["36470"] = [231,75] let s:lib.Codec.encoding_table["36466"] = [231,76] let s:lib.Codec.encoding_table["36476"] = [231,77] let s:lib.Codec.encoding_table["36481"] = [231,78] let s:lib.Codec.encoding_table["36487"] = [231,79] let s:lib.Codec.encoding_table["36485"] = [231,80] let s:lib.Codec.encoding_table["36484"] = [231,81] let s:lib.Codec.encoding_table["36491"] = [231,82] let s:lib.Codec.encoding_table["36490"] = [231,83] let s:lib.Codec.encoding_table["36499"] = [231,84] let s:lib.Codec.encoding_table["36497"] = [231,85] let s:lib.Codec.encoding_table["36500"] = [231,86] let s:lib.Codec.encoding_table["36505"] = [231,87] let s:lib.Codec.encoding_table["36522"] = [231,88] let s:lib.Codec.encoding_table["36513"] = [231,89] let s:lib.Codec.encoding_table["36524"] = [231,90] let s:lib.Codec.encoding_table["36528"] = [231,91] let s:lib.Codec.encoding_table["36550"] = [231,92] let s:lib.Codec.encoding_table["36529"] = [231,93] let s:lib.Codec.encoding_table["36542"] = [231,94] let s:lib.Codec.encoding_table["36549"] = [231,95] let s:lib.Codec.encoding_table["36552"] = [231,96] let s:lib.Codec.encoding_table["36555"] = [231,97] let s:lib.Codec.encoding_table["36571"] = [231,98] let s:lib.Codec.encoding_table["36579"] = [231,99] let s:lib.Codec.encoding_table["36604"] = [231,100] let s:lib.Codec.encoding_table["36603"] = [231,101] let s:lib.Codec.encoding_table["36587"] = [231,102] let s:lib.Codec.encoding_table["36606"] = [231,103] let s:lib.Codec.encoding_table["36618"] = [231,104] let s:lib.Codec.encoding_table["36613"] = [231,105] let s:lib.Codec.encoding_table["36629"] = [231,106] let s:lib.Codec.encoding_table["36626"] = [231,107] let s:lib.Codec.encoding_table["36633"] = [231,108] let s:lib.Codec.encoding_table["36627"] = [231,109] let s:lib.Codec.encoding_table["36636"] = [231,110] let s:lib.Codec.encoding_table["36639"] = [231,111] let s:lib.Codec.encoding_table["36635"] = [231,112] let s:lib.Codec.encoding_table["36620"] = [231,113] let s:lib.Codec.encoding_table["36646"] = [231,114] let s:lib.Codec.encoding_table["36659"] = [231,115] let s:lib.Codec.encoding_table["36667"] = [231,116] let s:lib.Codec.encoding_table["36665"] = [231,117] let s:lib.Codec.encoding_table["36677"] = [231,118] let s:lib.Codec.encoding_table["36674"] = [231,119] let s:lib.Codec.encoding_table["36670"] = [231,120] let s:lib.Codec.encoding_table["36684"] = [231,121] let s:lib.Codec.encoding_table["36681"] = [231,122] let s:lib.Codec.encoding_table["36678"] = [231,123] let s:lib.Codec.encoding_table["36686"] = [231,124] let s:lib.Codec.encoding_table["36695"] = [231,125] let s:lib.Codec.encoding_table["36700"] = [231,126] let s:lib.Codec.encoding_table["36706"] = [231,128] let s:lib.Codec.encoding_table["36707"] = [231,129] let s:lib.Codec.encoding_table["36708"] = [231,130] let s:lib.Codec.encoding_table["36764"] = [231,131] let s:lib.Codec.encoding_table["36767"] = [231,132] let s:lib.Codec.encoding_table["36771"] = [231,133] let s:lib.Codec.encoding_table["36781"] = [231,134] let s:lib.Codec.encoding_table["36783"] = [231,135] let s:lib.Codec.encoding_table["36791"] = [231,136] let s:lib.Codec.encoding_table["36826"] = [231,137] let s:lib.Codec.encoding_table["36837"] = [231,138] let s:lib.Codec.encoding_table["36834"] = [231,139] let s:lib.Codec.encoding_table["36842"] = [231,140] let s:lib.Codec.encoding_table["36847"] = [231,141] let s:lib.Codec.encoding_table["36999"] = [231,142] let s:lib.Codec.encoding_table["36852"] = [231,143] let s:lib.Codec.encoding_table["36869"] = [231,144] let s:lib.Codec.encoding_table["36857"] = [231,145] let s:lib.Codec.encoding_table["36858"] = [231,146] let s:lib.Codec.encoding_table["36881"] = [231,147] let s:lib.Codec.encoding_table["36885"] = [231,148] let s:lib.Codec.encoding_table["36897"] = [231,149] let s:lib.Codec.encoding_table["36877"] = [231,150] let s:lib.Codec.encoding_table["36894"] = [231,151] let s:lib.Codec.encoding_table["36886"] = [231,152] let s:lib.Codec.encoding_table["36875"] = [231,153] let s:lib.Codec.encoding_table["36903"] = [231,154] let s:lib.Codec.encoding_table["36918"] = [231,155] let s:lib.Codec.encoding_table["36917"] = [231,156] let s:lib.Codec.encoding_table["36921"] = [231,157] let s:lib.Codec.encoding_table["36856"] = [231,158] let s:lib.Codec.encoding_table["36943"] = [231,159] let s:lib.Codec.encoding_table["36944"] = [231,160] let s:lib.Codec.encoding_table["36945"] = [231,161] let s:lib.Codec.encoding_table["36946"] = [231,162] let s:lib.Codec.encoding_table["36878"] = [231,163] let s:lib.Codec.encoding_table["36937"] = [231,164] let s:lib.Codec.encoding_table["36926"] = [231,165] let s:lib.Codec.encoding_table["36950"] = [231,166] let s:lib.Codec.encoding_table["36952"] = [231,167] let s:lib.Codec.encoding_table["36958"] = [231,168] let s:lib.Codec.encoding_table["36968"] = [231,169] let s:lib.Codec.encoding_table["36975"] = [231,170] let s:lib.Codec.encoding_table["36982"] = [231,171] let s:lib.Codec.encoding_table["38568"] = [231,172] let s:lib.Codec.encoding_table["36978"] = [231,173] let s:lib.Codec.encoding_table["36994"] = [231,174] let s:lib.Codec.encoding_table["36989"] = [231,175] let s:lib.Codec.encoding_table["36993"] = [231,176] let s:lib.Codec.encoding_table["36992"] = [231,177] let s:lib.Codec.encoding_table["37002"] = [231,178] let s:lib.Codec.encoding_table["37001"] = [231,179] let s:lib.Codec.encoding_table["37007"] = [231,180] let s:lib.Codec.encoding_table["37032"] = [231,181] let s:lib.Codec.encoding_table["37039"] = [231,182] let s:lib.Codec.encoding_table["37041"] = [231,183] let s:lib.Codec.encoding_table["37045"] = [231,184] let s:lib.Codec.encoding_table["37090"] = [231,185] let s:lib.Codec.encoding_table["37092"] = [231,186] let s:lib.Codec.encoding_table["25160"] = [231,187] let s:lib.Codec.encoding_table["37083"] = [231,188] let s:lib.Codec.encoding_table["37122"] = [231,189] let s:lib.Codec.encoding_table["37138"] = [231,190] let s:lib.Codec.encoding_table["37145"] = [231,191] let s:lib.Codec.encoding_table["37170"] = [231,192] let s:lib.Codec.encoding_table["37168"] = [231,193] let s:lib.Codec.encoding_table["37194"] = [231,194] let s:lib.Codec.encoding_table["37206"] = [231,195] let s:lib.Codec.encoding_table["37208"] = [231,196] let s:lib.Codec.encoding_table["37219"] = [231,197] let s:lib.Codec.encoding_table["37221"] = [231,198] let s:lib.Codec.encoding_table["37225"] = [231,199] let s:lib.Codec.encoding_table["37235"] = [231,200] let s:lib.Codec.encoding_table["37234"] = [231,201] let s:lib.Codec.encoding_table["37259"] = [231,202] let s:lib.Codec.encoding_table["37257"] = [231,203] let s:lib.Codec.encoding_table["37250"] = [231,204] let s:lib.Codec.encoding_table["37282"] = [231,205] let s:lib.Codec.encoding_table["37291"] = [231,206] let s:lib.Codec.encoding_table["37295"] = [231,207] let s:lib.Codec.encoding_table["37290"] = [231,208] let s:lib.Codec.encoding_table["37301"] = [231,209] let s:lib.Codec.encoding_table["37300"] = [231,210] let s:lib.Codec.encoding_table["37306"] = [231,211] let s:lib.Codec.encoding_table["37312"] = [231,212] let s:lib.Codec.encoding_table["37313"] = [231,213] let s:lib.Codec.encoding_table["37321"] = [231,214] let s:lib.Codec.encoding_table["37323"] = [231,215] let s:lib.Codec.encoding_table["37328"] = [231,216] let s:lib.Codec.encoding_table["37334"] = [231,217] let s:lib.Codec.encoding_table["37343"] = [231,218] let s:lib.Codec.encoding_table["37345"] = [231,219] let s:lib.Codec.encoding_table["37339"] = [231,220] let s:lib.Codec.encoding_table["37372"] = [231,221] let s:lib.Codec.encoding_table["37365"] = [231,222] let s:lib.Codec.encoding_table["37366"] = [231,223] let s:lib.Codec.encoding_table["37406"] = [231,224] let s:lib.Codec.encoding_table["37375"] = [231,225] let s:lib.Codec.encoding_table["37396"] = [231,226] let s:lib.Codec.encoding_table["37420"] = [231,227] let s:lib.Codec.encoding_table["37397"] = [231,228] let s:lib.Codec.encoding_table["37393"] = [231,229] let s:lib.Codec.encoding_table["37470"] = [231,230] let s:lib.Codec.encoding_table["37463"] = [231,231] let s:lib.Codec.encoding_table["37445"] = [231,232] let s:lib.Codec.encoding_table["37449"] = [231,233] let s:lib.Codec.encoding_table["37476"] = [231,234] let s:lib.Codec.encoding_table["37448"] = [231,235] let s:lib.Codec.encoding_table["37525"] = [231,236] let s:lib.Codec.encoding_table["37439"] = [231,237] let s:lib.Codec.encoding_table["37451"] = [231,238] let s:lib.Codec.encoding_table["37456"] = [231,239] let s:lib.Codec.encoding_table["37532"] = [231,240] let s:lib.Codec.encoding_table["37526"] = [231,241] let s:lib.Codec.encoding_table["37523"] = [231,242] let s:lib.Codec.encoding_table["37531"] = [231,243] let s:lib.Codec.encoding_table["37466"] = [231,244] let s:lib.Codec.encoding_table["37583"] = [231,245] let s:lib.Codec.encoding_table["37561"] = [231,246] let s:lib.Codec.encoding_table["37559"] = [231,247] let s:lib.Codec.encoding_table["37609"] = [231,248] let s:lib.Codec.encoding_table["37647"] = [231,249] let s:lib.Codec.encoding_table["37626"] = [231,250] let s:lib.Codec.encoding_table["37700"] = [231,251] let s:lib.Codec.encoding_table["37678"] = [231,252] let s:lib.Codec.encoding_table["37657"] = [232,64] let s:lib.Codec.encoding_table["37666"] = [232,65] let s:lib.Codec.encoding_table["37658"] = [232,66] let s:lib.Codec.encoding_table["37667"] = [232,67] let s:lib.Codec.encoding_table["37690"] = [232,68] let s:lib.Codec.encoding_table["37685"] = [232,69] let s:lib.Codec.encoding_table["37691"] = [232,70] let s:lib.Codec.encoding_table["37724"] = [232,71] let s:lib.Codec.encoding_table["37728"] = [232,72] let s:lib.Codec.encoding_table["37756"] = [232,73] let s:lib.Codec.encoding_table["37742"] = [232,74] let s:lib.Codec.encoding_table["37718"] = [232,75] let s:lib.Codec.encoding_table["37808"] = [232,76] let s:lib.Codec.encoding_table["37804"] = [232,77] let s:lib.Codec.encoding_table["37805"] = [232,78] let s:lib.Codec.encoding_table["37780"] = [232,79] let s:lib.Codec.encoding_table["37817"] = [232,80] let s:lib.Codec.encoding_table["37846"] = [232,81] let s:lib.Codec.encoding_table["37847"] = [232,82] let s:lib.Codec.encoding_table["37864"] = [232,83] let s:lib.Codec.encoding_table["37861"] = [232,84] let s:lib.Codec.encoding_table["37848"] = [232,85] let s:lib.Codec.encoding_table["37827"] = [232,86] let s:lib.Codec.encoding_table["37853"] = [232,87] let s:lib.Codec.encoding_table["37840"] = [232,88] let s:lib.Codec.encoding_table["37832"] = [232,89] let s:lib.Codec.encoding_table["37860"] = [232,90] let s:lib.Codec.encoding_table["37914"] = [232,91] let s:lib.Codec.encoding_table["37908"] = [232,92] let s:lib.Codec.encoding_table["37907"] = [232,93] let s:lib.Codec.encoding_table["37891"] = [232,94] let s:lib.Codec.encoding_table["37895"] = [232,95] let s:lib.Codec.encoding_table["37904"] = [232,96] let s:lib.Codec.encoding_table["37942"] = [232,97] let s:lib.Codec.encoding_table["37931"] = [232,98] let s:lib.Codec.encoding_table["37941"] = [232,99] let s:lib.Codec.encoding_table["37921"] = [232,100] let s:lib.Codec.encoding_table["37946"] = [232,101] let s:lib.Codec.encoding_table["37953"] = [232,102] let s:lib.Codec.encoding_table["37970"] = [232,103] let s:lib.Codec.encoding_table["37956"] = [232,104] let s:lib.Codec.encoding_table["37979"] = [232,105] let s:lib.Codec.encoding_table["37984"] = [232,106] let s:lib.Codec.encoding_table["37986"] = [232,107] let s:lib.Codec.encoding_table["37982"] = [232,108] let s:lib.Codec.encoding_table["37994"] = [232,109] let s:lib.Codec.encoding_table["37417"] = [232,110] let s:lib.Codec.encoding_table["38000"] = [232,111] let s:lib.Codec.encoding_table["38005"] = [232,112] let s:lib.Codec.encoding_table["38007"] = [232,113] let s:lib.Codec.encoding_table["38013"] = [232,114] let s:lib.Codec.encoding_table["37978"] = [232,115] let s:lib.Codec.encoding_table["38012"] = [232,116] let s:lib.Codec.encoding_table["38014"] = [232,117] let s:lib.Codec.encoding_table["38017"] = [232,118] let s:lib.Codec.encoding_table["38015"] = [232,119] let s:lib.Codec.encoding_table["38274"] = [232,120] let s:lib.Codec.encoding_table["38279"] = [232,121] let s:lib.Codec.encoding_table["38282"] = [232,122] let s:lib.Codec.encoding_table["38292"] = [232,123] let s:lib.Codec.encoding_table["38294"] = [232,124] let s:lib.Codec.encoding_table["38296"] = [232,125] let s:lib.Codec.encoding_table["38297"] = [232,126] let s:lib.Codec.encoding_table["38304"] = [232,128] let s:lib.Codec.encoding_table["38312"] = [232,129] let s:lib.Codec.encoding_table["38311"] = [232,130] let s:lib.Codec.encoding_table["38317"] = [232,131] let s:lib.Codec.encoding_table["38332"] = [232,132] let s:lib.Codec.encoding_table["38331"] = [232,133] let s:lib.Codec.encoding_table["38329"] = [232,134] let s:lib.Codec.encoding_table["38334"] = [232,135] let s:lib.Codec.encoding_table["38346"] = [232,136] let s:lib.Codec.encoding_table["28662"] = [232,137] let s:lib.Codec.encoding_table["38339"] = [232,138] let s:lib.Codec.encoding_table["38349"] = [232,139] let s:lib.Codec.encoding_table["38348"] = [232,140] let s:lib.Codec.encoding_table["38357"] = [232,141] let s:lib.Codec.encoding_table["38356"] = [232,142] let s:lib.Codec.encoding_table["38358"] = [232,143] let s:lib.Codec.encoding_table["38364"] = [232,144] let s:lib.Codec.encoding_table["38369"] = [232,145] let s:lib.Codec.encoding_table["38373"] = [232,146] let s:lib.Codec.encoding_table["38370"] = [232,147] let s:lib.Codec.encoding_table["38433"] = [232,148] let s:lib.Codec.encoding_table["38440"] = [232,149] let s:lib.Codec.encoding_table["38446"] = [232,150] let s:lib.Codec.encoding_table["38447"] = [232,151] let s:lib.Codec.encoding_table["38466"] = [232,152] let s:lib.Codec.encoding_table["38476"] = [232,153] let s:lib.Codec.encoding_table["38479"] = [232,154] let s:lib.Codec.encoding_table["38475"] = [232,155] let s:lib.Codec.encoding_table["38519"] = [232,156] let s:lib.Codec.encoding_table["38492"] = [232,157] let s:lib.Codec.encoding_table["38494"] = [232,158] let s:lib.Codec.encoding_table["38493"] = [232,159] let s:lib.Codec.encoding_table["38495"] = [232,160] let s:lib.Codec.encoding_table["38502"] = [232,161] let s:lib.Codec.encoding_table["38514"] = [232,162] let s:lib.Codec.encoding_table["38508"] = [232,163] let s:lib.Codec.encoding_table["38541"] = [232,164] let s:lib.Codec.encoding_table["38552"] = [232,165] let s:lib.Codec.encoding_table["38549"] = [232,166] let s:lib.Codec.encoding_table["38551"] = [232,167] let s:lib.Codec.encoding_table["38570"] = [232,168] let s:lib.Codec.encoding_table["38567"] = [232,169] let s:lib.Codec.encoding_table["38577"] = [232,170] let s:lib.Codec.encoding_table["38578"] = [232,171] let s:lib.Codec.encoding_table["38576"] = [232,172] let s:lib.Codec.encoding_table["38580"] = [232,173] let s:lib.Codec.encoding_table["38582"] = [232,174] let s:lib.Codec.encoding_table["38584"] = [232,175] let s:lib.Codec.encoding_table["38585"] = [232,176] let s:lib.Codec.encoding_table["38606"] = [232,177] let s:lib.Codec.encoding_table["38603"] = [232,178] let s:lib.Codec.encoding_table["38601"] = [232,179] let s:lib.Codec.encoding_table["38605"] = [232,180] let s:lib.Codec.encoding_table["35149"] = [232,181] let s:lib.Codec.encoding_table["38620"] = [232,182] let s:lib.Codec.encoding_table["38669"] = [232,183] let s:lib.Codec.encoding_table["38613"] = [232,184] let s:lib.Codec.encoding_table["38649"] = [232,185] let s:lib.Codec.encoding_table["38660"] = [232,186] let s:lib.Codec.encoding_table["38662"] = [232,187] let s:lib.Codec.encoding_table["38664"] = [232,188] let s:lib.Codec.encoding_table["38675"] = [232,189] let s:lib.Codec.encoding_table["38670"] = [232,190] let s:lib.Codec.encoding_table["38673"] = [232,191] let s:lib.Codec.encoding_table["38671"] = [232,192] let s:lib.Codec.encoding_table["38678"] = [232,193] let s:lib.Codec.encoding_table["38681"] = [232,194] let s:lib.Codec.encoding_table["38692"] = [232,195] let s:lib.Codec.encoding_table["38698"] = [232,196] let s:lib.Codec.encoding_table["38704"] = [232,197] let s:lib.Codec.encoding_table["38713"] = [232,198] let s:lib.Codec.encoding_table["38717"] = [232,199] let s:lib.Codec.encoding_table["38718"] = [232,200] let s:lib.Codec.encoding_table["38724"] = [232,201] let s:lib.Codec.encoding_table["38726"] = [232,202] let s:lib.Codec.encoding_table["38728"] = [232,203] let s:lib.Codec.encoding_table["38722"] = [232,204] let s:lib.Codec.encoding_table["38729"] = [232,205] let s:lib.Codec.encoding_table["38748"] = [232,206] let s:lib.Codec.encoding_table["38752"] = [232,207] let s:lib.Codec.encoding_table["38756"] = [232,208] let s:lib.Codec.encoding_table["38758"] = [232,209] let s:lib.Codec.encoding_table["38760"] = [232,210] let s:lib.Codec.encoding_table["21202"] = [232,211] let s:lib.Codec.encoding_table["38763"] = [232,212] let s:lib.Codec.encoding_table["38769"] = [232,213] let s:lib.Codec.encoding_table["38777"] = [232,214] let s:lib.Codec.encoding_table["38789"] = [232,215] let s:lib.Codec.encoding_table["38780"] = [232,216] let s:lib.Codec.encoding_table["38785"] = [232,217] let s:lib.Codec.encoding_table["38778"] = [232,218] let s:lib.Codec.encoding_table["38790"] = [232,219] let s:lib.Codec.encoding_table["38795"] = [232,220] let s:lib.Codec.encoding_table["38799"] = [232,221] let s:lib.Codec.encoding_table["38800"] = [232,222] let s:lib.Codec.encoding_table["38812"] = [232,223] let s:lib.Codec.encoding_table["38824"] = [232,224] let s:lib.Codec.encoding_table["38822"] = [232,225] let s:lib.Codec.encoding_table["38819"] = [232,226] let s:lib.Codec.encoding_table["38835"] = [232,227] let s:lib.Codec.encoding_table["38836"] = [232,228] let s:lib.Codec.encoding_table["38851"] = [232,229] let s:lib.Codec.encoding_table["38854"] = [232,230] let s:lib.Codec.encoding_table["38856"] = [232,231] let s:lib.Codec.encoding_table["38859"] = [232,232] let s:lib.Codec.encoding_table["38876"] = [232,233] let s:lib.Codec.encoding_table["38893"] = [232,234] let s:lib.Codec.encoding_table["40783"] = [232,235] let s:lib.Codec.encoding_table["38898"] = [232,236] let s:lib.Codec.encoding_table["31455"] = [232,237] let s:lib.Codec.encoding_table["38902"] = [232,238] let s:lib.Codec.encoding_table["38901"] = [232,239] let s:lib.Codec.encoding_table["38927"] = [232,240] let s:lib.Codec.encoding_table["38924"] = [232,241] let s:lib.Codec.encoding_table["38968"] = [232,242] let s:lib.Codec.encoding_table["38948"] = [232,243] let s:lib.Codec.encoding_table["38945"] = [232,244] let s:lib.Codec.encoding_table["38967"] = [232,245] let s:lib.Codec.encoding_table["38973"] = [232,246] let s:lib.Codec.encoding_table["38982"] = [232,247] let s:lib.Codec.encoding_table["38991"] = [232,248] let s:lib.Codec.encoding_table["38987"] = [232,249] let s:lib.Codec.encoding_table["39019"] = [232,250] let s:lib.Codec.encoding_table["39023"] = [232,251] let s:lib.Codec.encoding_table["39024"] = [232,252] let s:lib.Codec.encoding_table["39025"] = [233,64] let s:lib.Codec.encoding_table["39028"] = [233,65] let s:lib.Codec.encoding_table["39027"] = [233,66] let s:lib.Codec.encoding_table["39082"] = [233,67] let s:lib.Codec.encoding_table["39087"] = [233,68] let s:lib.Codec.encoding_table["39089"] = [233,69] let s:lib.Codec.encoding_table["39094"] = [233,70] let s:lib.Codec.encoding_table["39108"] = [233,71] let s:lib.Codec.encoding_table["39107"] = [233,72] let s:lib.Codec.encoding_table["39110"] = [233,73] let s:lib.Codec.encoding_table["39145"] = [233,74] let s:lib.Codec.encoding_table["39147"] = [233,75] let s:lib.Codec.encoding_table["39171"] = [233,76] let s:lib.Codec.encoding_table["39177"] = [233,77] let s:lib.Codec.encoding_table["39186"] = [233,78] let s:lib.Codec.encoding_table["39188"] = [233,79] let s:lib.Codec.encoding_table["39192"] = [233,80] let s:lib.Codec.encoding_table["39201"] = [233,81] let s:lib.Codec.encoding_table["39197"] = [233,82] let s:lib.Codec.encoding_table["39198"] = [233,83] let s:lib.Codec.encoding_table["39204"] = [233,84] let s:lib.Codec.encoding_table["39200"] = [233,85] let s:lib.Codec.encoding_table["39212"] = [233,86] let s:lib.Codec.encoding_table["39214"] = [233,87] let s:lib.Codec.encoding_table["39229"] = [233,88] let s:lib.Codec.encoding_table["39230"] = [233,89] let s:lib.Codec.encoding_table["39234"] = [233,90] let s:lib.Codec.encoding_table["39241"] = [233,91] let s:lib.Codec.encoding_table["39237"] = [233,92] let s:lib.Codec.encoding_table["39248"] = [233,93] let s:lib.Codec.encoding_table["39243"] = [233,94] let s:lib.Codec.encoding_table["39249"] = [233,95] let s:lib.Codec.encoding_table["39250"] = [233,96] let s:lib.Codec.encoding_table["39244"] = [233,97] let s:lib.Codec.encoding_table["39253"] = [233,98] let s:lib.Codec.encoding_table["39319"] = [233,99] let s:lib.Codec.encoding_table["39320"] = [233,100] let s:lib.Codec.encoding_table["39333"] = [233,101] let s:lib.Codec.encoding_table["39341"] = [233,102] let s:lib.Codec.encoding_table["39342"] = [233,103] let s:lib.Codec.encoding_table["39356"] = [233,104] let s:lib.Codec.encoding_table["39391"] = [233,105] let s:lib.Codec.encoding_table["39387"] = [233,106] let s:lib.Codec.encoding_table["39389"] = [233,107] let s:lib.Codec.encoding_table["39384"] = [233,108] let s:lib.Codec.encoding_table["39377"] = [233,109] let s:lib.Codec.encoding_table["39405"] = [233,110] let s:lib.Codec.encoding_table["39406"] = [233,111] let s:lib.Codec.encoding_table["39409"] = [233,112] let s:lib.Codec.encoding_table["39410"] = [233,113] let s:lib.Codec.encoding_table["39419"] = [233,114] let s:lib.Codec.encoding_table["39416"] = [233,115] let s:lib.Codec.encoding_table["39425"] = [233,116] let s:lib.Codec.encoding_table["39439"] = [233,117] let s:lib.Codec.encoding_table["39429"] = [233,118] let s:lib.Codec.encoding_table["39394"] = [233,119] let s:lib.Codec.encoding_table["39449"] = [233,120] let s:lib.Codec.encoding_table["39467"] = [233,121] let s:lib.Codec.encoding_table["39479"] = [233,122] let s:lib.Codec.encoding_table["39493"] = [233,123] let s:lib.Codec.encoding_table["39490"] = [233,124] let s:lib.Codec.encoding_table["39488"] = [233,125] let s:lib.Codec.encoding_table["39491"] = [233,126] let s:lib.Codec.encoding_table["39486"] = [233,128] let s:lib.Codec.encoding_table["39509"] = [233,129] let s:lib.Codec.encoding_table["39501"] = [233,130] let s:lib.Codec.encoding_table["39515"] = [233,131] let s:lib.Codec.encoding_table["39511"] = [233,132] let s:lib.Codec.encoding_table["39519"] = [233,133] let s:lib.Codec.encoding_table["39522"] = [233,134] let s:lib.Codec.encoding_table["39525"] = [233,135] let s:lib.Codec.encoding_table["39524"] = [233,136] let s:lib.Codec.encoding_table["39529"] = [233,137] let s:lib.Codec.encoding_table["39531"] = [233,138] let s:lib.Codec.encoding_table["39530"] = [233,139] let s:lib.Codec.encoding_table["39597"] = [233,140] let s:lib.Codec.encoding_table["39600"] = [233,141] let s:lib.Codec.encoding_table["39612"] = [233,142] let s:lib.Codec.encoding_table["39616"] = [233,143] let s:lib.Codec.encoding_table["39631"] = [233,144] let s:lib.Codec.encoding_table["39633"] = [233,145] let s:lib.Codec.encoding_table["39635"] = [233,146] let s:lib.Codec.encoding_table["39636"] = [233,147] let s:lib.Codec.encoding_table["39646"] = [233,148] let s:lib.Codec.encoding_table["39647"] = [233,149] let s:lib.Codec.encoding_table["39650"] = [233,150] let s:lib.Codec.encoding_table["39651"] = [233,151] let s:lib.Codec.encoding_table["39654"] = [233,152] let s:lib.Codec.encoding_table["39663"] = [233,153] let s:lib.Codec.encoding_table["39659"] = [233,154] let s:lib.Codec.encoding_table["39662"] = [233,155] let s:lib.Codec.encoding_table["39668"] = [233,156] let s:lib.Codec.encoding_table["39665"] = [233,157] let s:lib.Codec.encoding_table["39671"] = [233,158] let s:lib.Codec.encoding_table["39675"] = [233,159] let s:lib.Codec.encoding_table["39686"] = [233,160] let s:lib.Codec.encoding_table["39704"] = [233,161] let s:lib.Codec.encoding_table["39706"] = [233,162] let s:lib.Codec.encoding_table["39711"] = [233,163] let s:lib.Codec.encoding_table["39714"] = [233,164] let s:lib.Codec.encoding_table["39715"] = [233,165] let s:lib.Codec.encoding_table["39717"] = [233,166] let s:lib.Codec.encoding_table["39719"] = [233,167] let s:lib.Codec.encoding_table["39720"] = [233,168] let s:lib.Codec.encoding_table["39721"] = [233,169] let s:lib.Codec.encoding_table["39722"] = [233,170] let s:lib.Codec.encoding_table["39726"] = [233,171] let s:lib.Codec.encoding_table["39727"] = [233,172] let s:lib.Codec.encoding_table["39730"] = [233,173] let s:lib.Codec.encoding_table["39748"] = [233,174] let s:lib.Codec.encoding_table["39747"] = [233,175] let s:lib.Codec.encoding_table["39759"] = [233,176] let s:lib.Codec.encoding_table["39757"] = [233,177] let s:lib.Codec.encoding_table["39758"] = [233,178] let s:lib.Codec.encoding_table["39761"] = [233,179] let s:lib.Codec.encoding_table["39768"] = [233,180] let s:lib.Codec.encoding_table["39796"] = [233,181] let s:lib.Codec.encoding_table["39827"] = [233,182] let s:lib.Codec.encoding_table["39811"] = [233,183] let s:lib.Codec.encoding_table["39825"] = [233,184] let s:lib.Codec.encoding_table["39830"] = [233,185] let s:lib.Codec.encoding_table["39831"] = [233,186] let s:lib.Codec.encoding_table["39839"] = [233,187] let s:lib.Codec.encoding_table["39840"] = [233,188] let s:lib.Codec.encoding_table["39848"] = [233,189] let s:lib.Codec.encoding_table["39860"] = [233,190] let s:lib.Codec.encoding_table["39872"] = [233,191] let s:lib.Codec.encoding_table["39882"] = [233,192] let s:lib.Codec.encoding_table["39865"] = [233,193] let s:lib.Codec.encoding_table["39878"] = [233,194] let s:lib.Codec.encoding_table["39887"] = [233,195] let s:lib.Codec.encoding_table["39889"] = [233,196] let s:lib.Codec.encoding_table["39890"] = [233,197] let s:lib.Codec.encoding_table["39907"] = [233,198] let s:lib.Codec.encoding_table["39906"] = [233,199] let s:lib.Codec.encoding_table["39908"] = [233,200] let s:lib.Codec.encoding_table["39892"] = [233,201] let s:lib.Codec.encoding_table["39905"] = [233,202] let s:lib.Codec.encoding_table["39994"] = [233,203] let s:lib.Codec.encoding_table["39922"] = [233,204] let s:lib.Codec.encoding_table["39921"] = [233,205] let s:lib.Codec.encoding_table["39920"] = [233,206] let s:lib.Codec.encoding_table["39957"] = [233,207] let s:lib.Codec.encoding_table["39956"] = [233,208] let s:lib.Codec.encoding_table["39945"] = [233,209] let s:lib.Codec.encoding_table["39955"] = [233,210] let s:lib.Codec.encoding_table["39948"] = [233,211] let s:lib.Codec.encoding_table["39942"] = [233,212] let s:lib.Codec.encoding_table["39944"] = [233,213] let s:lib.Codec.encoding_table["39954"] = [233,214] let s:lib.Codec.encoding_table["39946"] = [233,215] let s:lib.Codec.encoding_table["39940"] = [233,216] let s:lib.Codec.encoding_table["39982"] = [233,217] let s:lib.Codec.encoding_table["39963"] = [233,218] let s:lib.Codec.encoding_table["39973"] = [233,219] let s:lib.Codec.encoding_table["39972"] = [233,220] let s:lib.Codec.encoding_table["39969"] = [233,221] let s:lib.Codec.encoding_table["39984"] = [233,222] let s:lib.Codec.encoding_table["40007"] = [233,223] let s:lib.Codec.encoding_table["39986"] = [233,224] let s:lib.Codec.encoding_table["40006"] = [233,225] let s:lib.Codec.encoding_table["39998"] = [233,226] let s:lib.Codec.encoding_table["40026"] = [233,227] let s:lib.Codec.encoding_table["40032"] = [233,228] let s:lib.Codec.encoding_table["40039"] = [233,229] let s:lib.Codec.encoding_table["40054"] = [233,230] let s:lib.Codec.encoding_table["40056"] = [233,231] let s:lib.Codec.encoding_table["40167"] = [233,232] let s:lib.Codec.encoding_table["40172"] = [233,233] let s:lib.Codec.encoding_table["40176"] = [233,234] let s:lib.Codec.encoding_table["40201"] = [233,235] let s:lib.Codec.encoding_table["40200"] = [233,236] let s:lib.Codec.encoding_table["40171"] = [233,237] let s:lib.Codec.encoding_table["40195"] = [233,238] let s:lib.Codec.encoding_table["40198"] = [233,239] let s:lib.Codec.encoding_table["40234"] = [233,240] let s:lib.Codec.encoding_table["40230"] = [233,241] let s:lib.Codec.encoding_table["40367"] = [233,242] let s:lib.Codec.encoding_table["40227"] = [233,243] let s:lib.Codec.encoding_table["40223"] = [233,244] let s:lib.Codec.encoding_table["40260"] = [233,245] let s:lib.Codec.encoding_table["40213"] = [233,246] let s:lib.Codec.encoding_table["40210"] = [233,247] let s:lib.Codec.encoding_table["40257"] = [233,248] let s:lib.Codec.encoding_table["40255"] = [233,249] let s:lib.Codec.encoding_table["40254"] = [233,250] let s:lib.Codec.encoding_table["40262"] = [233,251] let s:lib.Codec.encoding_table["40264"] = [233,252] let s:lib.Codec.encoding_table["40285"] = [234,64] let s:lib.Codec.encoding_table["40286"] = [234,65] let s:lib.Codec.encoding_table["40292"] = [234,66] let s:lib.Codec.encoding_table["40273"] = [234,67] let s:lib.Codec.encoding_table["40272"] = [234,68] let s:lib.Codec.encoding_table["40281"] = [234,69] let s:lib.Codec.encoding_table["40306"] = [234,70] let s:lib.Codec.encoding_table["40329"] = [234,71] let s:lib.Codec.encoding_table["40327"] = [234,72] let s:lib.Codec.encoding_table["40363"] = [234,73] let s:lib.Codec.encoding_table["40303"] = [234,74] let s:lib.Codec.encoding_table["40314"] = [234,75] let s:lib.Codec.encoding_table["40346"] = [234,76] let s:lib.Codec.encoding_table["40356"] = [234,77] let s:lib.Codec.encoding_table["40361"] = [234,78] let s:lib.Codec.encoding_table["40370"] = [234,79] let s:lib.Codec.encoding_table["40388"] = [234,80] let s:lib.Codec.encoding_table["40385"] = [234,81] let s:lib.Codec.encoding_table["40379"] = [234,82] let s:lib.Codec.encoding_table["40376"] = [234,83] let s:lib.Codec.encoding_table["40378"] = [234,84] let s:lib.Codec.encoding_table["40390"] = [234,85] let s:lib.Codec.encoding_table["40399"] = [234,86] let s:lib.Codec.encoding_table["40386"] = [234,87] let s:lib.Codec.encoding_table["40409"] = [234,88] let s:lib.Codec.encoding_table["40403"] = [234,89] let s:lib.Codec.encoding_table["40440"] = [234,90] let s:lib.Codec.encoding_table["40422"] = [234,91] let s:lib.Codec.encoding_table["40429"] = [234,92] let s:lib.Codec.encoding_table["40431"] = [234,93] let s:lib.Codec.encoding_table["40445"] = [234,94] let s:lib.Codec.encoding_table["40474"] = [234,95] let s:lib.Codec.encoding_table["40475"] = [234,96] let s:lib.Codec.encoding_table["40478"] = [234,97] let s:lib.Codec.encoding_table["40565"] = [234,98] let s:lib.Codec.encoding_table["40569"] = [234,99] let s:lib.Codec.encoding_table["40573"] = [234,100] let s:lib.Codec.encoding_table["40577"] = [234,101] let s:lib.Codec.encoding_table["40584"] = [234,102] let s:lib.Codec.encoding_table["40587"] = [234,103] let s:lib.Codec.encoding_table["40588"] = [234,104] let s:lib.Codec.encoding_table["40594"] = [234,105] let s:lib.Codec.encoding_table["40597"] = [234,106] let s:lib.Codec.encoding_table["40593"] = [234,107] let s:lib.Codec.encoding_table["40605"] = [234,108] let s:lib.Codec.encoding_table["40613"] = [234,109] let s:lib.Codec.encoding_table["40617"] = [234,110] let s:lib.Codec.encoding_table["40632"] = [234,111] let s:lib.Codec.encoding_table["40618"] = [234,112] let s:lib.Codec.encoding_table["40621"] = [234,113] let s:lib.Codec.encoding_table["38753"] = [234,114] let s:lib.Codec.encoding_table["40652"] = [234,115] let s:lib.Codec.encoding_table["40654"] = [234,116] let s:lib.Codec.encoding_table["40655"] = [234,117] let s:lib.Codec.encoding_table["40656"] = [234,118] let s:lib.Codec.encoding_table["40660"] = [234,119] let s:lib.Codec.encoding_table["40668"] = [234,120] let s:lib.Codec.encoding_table["40670"] = [234,121] let s:lib.Codec.encoding_table["40669"] = [234,122] let s:lib.Codec.encoding_table["40672"] = [234,123] let s:lib.Codec.encoding_table["40677"] = [234,124] let s:lib.Codec.encoding_table["40680"] = [234,125] let s:lib.Codec.encoding_table["40687"] = [234,126] let s:lib.Codec.encoding_table["40692"] = [234,128] let s:lib.Codec.encoding_table["40694"] = [234,129] let s:lib.Codec.encoding_table["40695"] = [234,130] let s:lib.Codec.encoding_table["40697"] = [234,131] let s:lib.Codec.encoding_table["40699"] = [234,132] let s:lib.Codec.encoding_table["40700"] = [234,133] let s:lib.Codec.encoding_table["40701"] = [234,134] let s:lib.Codec.encoding_table["40711"] = [234,135] let s:lib.Codec.encoding_table["40712"] = [234,136] let s:lib.Codec.encoding_table["30391"] = [234,137] let s:lib.Codec.encoding_table["40725"] = [234,138] let s:lib.Codec.encoding_table["40737"] = [234,139] let s:lib.Codec.encoding_table["40748"] = [234,140] let s:lib.Codec.encoding_table["40766"] = [234,141] let s:lib.Codec.encoding_table["40778"] = [234,142] let s:lib.Codec.encoding_table["40786"] = [234,143] let s:lib.Codec.encoding_table["40788"] = [234,144] let s:lib.Codec.encoding_table["40803"] = [234,145] let s:lib.Codec.encoding_table["40799"] = [234,146] let s:lib.Codec.encoding_table["40800"] = [234,147] let s:lib.Codec.encoding_table["40801"] = [234,148] let s:lib.Codec.encoding_table["40806"] = [234,149] let s:lib.Codec.encoding_table["40807"] = [234,150] let s:lib.Codec.encoding_table["40812"] = [234,151] let s:lib.Codec.encoding_table["40810"] = [234,152] let s:lib.Codec.encoding_table["40823"] = [234,153] let s:lib.Codec.encoding_table["40818"] = [234,154] let s:lib.Codec.encoding_table["40822"] = [234,155] let s:lib.Codec.encoding_table["40853"] = [234,156] let s:lib.Codec.encoding_table["40860"] = [234,157] let s:lib.Codec.encoding_table["40864"] = [234,158] let s:lib.Codec.encoding_table["22575"] = [234,159] let s:lib.Codec.encoding_table["27079"] = [234,160] let s:lib.Codec.encoding_table["36953"] = [234,161] let s:lib.Codec.encoding_table["29796"] = [234,162] let s:lib.Codec.encoding_table["20956"] = [234,163] let s:lib.Codec.encoding_table["29081"] = [234,164] let s:lib.Codec.encoding_table["32394"] = [237,64] let s:lib.Codec.encoding_table["35100"] = [237,65] let s:lib.Codec.encoding_table["37704"] = [237,66] let s:lib.Codec.encoding_table["37512"] = [237,67] let s:lib.Codec.encoding_table["34012"] = [237,68] let s:lib.Codec.encoding_table["20425"] = [237,69] let s:lib.Codec.encoding_table["28859"] = [237,70] let s:lib.Codec.encoding_table["26161"] = [237,71] let s:lib.Codec.encoding_table["26824"] = [237,72] let s:lib.Codec.encoding_table["37625"] = [237,73] let s:lib.Codec.encoding_table["26363"] = [237,74] let s:lib.Codec.encoding_table["24389"] = [237,75] let s:lib.Codec.encoding_table["20008"] = [237,76] let s:lib.Codec.encoding_table["20193"] = [237,77] let s:lib.Codec.encoding_table["20220"] = [237,78] let s:lib.Codec.encoding_table["20224"] = [237,79] let s:lib.Codec.encoding_table["20227"] = [237,80] let s:lib.Codec.encoding_table["20281"] = [237,81] let s:lib.Codec.encoding_table["20310"] = [237,82] let s:lib.Codec.encoding_table["20370"] = [237,83] let s:lib.Codec.encoding_table["20362"] = [237,84] let s:lib.Codec.encoding_table["20378"] = [237,85] let s:lib.Codec.encoding_table["20372"] = [237,86] let s:lib.Codec.encoding_table["20429"] = [237,87] let s:lib.Codec.encoding_table["20544"] = [237,88] let s:lib.Codec.encoding_table["20514"] = [237,89] let s:lib.Codec.encoding_table["20479"] = [237,90] let s:lib.Codec.encoding_table["20510"] = [237,91] let s:lib.Codec.encoding_table["20550"] = [237,92] let s:lib.Codec.encoding_table["20592"] = [237,93] let s:lib.Codec.encoding_table["20546"] = [237,94] let s:lib.Codec.encoding_table["20628"] = [237,95] let s:lib.Codec.encoding_table["20724"] = [237,96] let s:lib.Codec.encoding_table["20696"] = [237,97] let s:lib.Codec.encoding_table["20810"] = [237,98] let s:lib.Codec.encoding_table["20836"] = [237,99] let s:lib.Codec.encoding_table["20893"] = [237,100] let s:lib.Codec.encoding_table["20926"] = [237,101] let s:lib.Codec.encoding_table["20972"] = [237,102] let s:lib.Codec.encoding_table["21013"] = [237,103] let s:lib.Codec.encoding_table["21148"] = [237,104] let s:lib.Codec.encoding_table["21158"] = [237,105] let s:lib.Codec.encoding_table["21184"] = [237,106] let s:lib.Codec.encoding_table["21211"] = [237,107] let s:lib.Codec.encoding_table["21248"] = [237,108] let s:lib.Codec.encoding_table["21255"] = [237,109] let s:lib.Codec.encoding_table["21284"] = [237,110] let s:lib.Codec.encoding_table["21362"] = [237,111] let s:lib.Codec.encoding_table["21395"] = [237,112] let s:lib.Codec.encoding_table["21426"] = [237,113] let s:lib.Codec.encoding_table["21469"] = [237,114] let s:lib.Codec.encoding_table["64014"] = [237,115] let s:lib.Codec.encoding_table["21660"] = [237,116] let s:lib.Codec.encoding_table["21642"] = [237,117] let s:lib.Codec.encoding_table["21673"] = [237,118] let s:lib.Codec.encoding_table["21759"] = [237,119] let s:lib.Codec.encoding_table["21894"] = [237,120] let s:lib.Codec.encoding_table["22361"] = [237,121] let s:lib.Codec.encoding_table["22373"] = [237,122] let s:lib.Codec.encoding_table["22444"] = [237,123] let s:lib.Codec.encoding_table["22472"] = [237,124] let s:lib.Codec.encoding_table["22471"] = [237,125] let s:lib.Codec.encoding_table["64015"] = [237,126] let s:lib.Codec.encoding_table["64016"] = [237,128] let s:lib.Codec.encoding_table["22686"] = [237,129] let s:lib.Codec.encoding_table["22706"] = [237,130] let s:lib.Codec.encoding_table["22795"] = [237,131] let s:lib.Codec.encoding_table["22867"] = [237,132] let s:lib.Codec.encoding_table["22875"] = [237,133] let s:lib.Codec.encoding_table["22877"] = [237,134] let s:lib.Codec.encoding_table["22883"] = [237,135] let s:lib.Codec.encoding_table["22948"] = [237,136] let s:lib.Codec.encoding_table["22970"] = [237,137] let s:lib.Codec.encoding_table["23382"] = [237,138] let s:lib.Codec.encoding_table["23488"] = [237,139] let s:lib.Codec.encoding_table["29999"] = [237,140] let s:lib.Codec.encoding_table["23512"] = [237,141] let s:lib.Codec.encoding_table["23532"] = [237,142] let s:lib.Codec.encoding_table["23582"] = [237,143] let s:lib.Codec.encoding_table["23718"] = [237,144] let s:lib.Codec.encoding_table["23738"] = [237,145] let s:lib.Codec.encoding_table["23797"] = [237,146] let s:lib.Codec.encoding_table["23847"] = [237,147] let s:lib.Codec.encoding_table["23891"] = [237,148] let s:lib.Codec.encoding_table["64017"] = [237,149] let s:lib.Codec.encoding_table["23874"] = [237,150] let s:lib.Codec.encoding_table["23917"] = [237,151] let s:lib.Codec.encoding_table["23992"] = [237,152] let s:lib.Codec.encoding_table["23993"] = [237,153] let s:lib.Codec.encoding_table["24016"] = [237,154] let s:lib.Codec.encoding_table["24353"] = [237,155] let s:lib.Codec.encoding_table["24372"] = [237,156] let s:lib.Codec.encoding_table["24423"] = [237,157] let s:lib.Codec.encoding_table["24503"] = [237,158] let s:lib.Codec.encoding_table["24542"] = [237,159] let s:lib.Codec.encoding_table["24669"] = [237,160] let s:lib.Codec.encoding_table["24709"] = [237,161] let s:lib.Codec.encoding_table["24714"] = [237,162] let s:lib.Codec.encoding_table["24798"] = [237,163] let s:lib.Codec.encoding_table["24789"] = [237,164] let s:lib.Codec.encoding_table["24864"] = [237,165] let s:lib.Codec.encoding_table["24818"] = [237,166] let s:lib.Codec.encoding_table["24849"] = [237,167] let s:lib.Codec.encoding_table["24887"] = [237,168] let s:lib.Codec.encoding_table["24880"] = [237,169] let s:lib.Codec.encoding_table["24984"] = [237,170] let s:lib.Codec.encoding_table["25107"] = [237,171] let s:lib.Codec.encoding_table["25254"] = [237,172] let s:lib.Codec.encoding_table["25589"] = [237,173] let s:lib.Codec.encoding_table["25696"] = [237,174] let s:lib.Codec.encoding_table["25757"] = [237,175] let s:lib.Codec.encoding_table["25806"] = [237,176] let s:lib.Codec.encoding_table["25934"] = [237,177] let s:lib.Codec.encoding_table["26112"] = [237,178] let s:lib.Codec.encoding_table["26133"] = [237,179] let s:lib.Codec.encoding_table["26171"] = [237,180] let s:lib.Codec.encoding_table["26121"] = [237,181] let s:lib.Codec.encoding_table["26158"] = [237,182] let s:lib.Codec.encoding_table["26142"] = [237,183] let s:lib.Codec.encoding_table["26148"] = [237,184] let s:lib.Codec.encoding_table["26213"] = [237,185] let s:lib.Codec.encoding_table["26199"] = [237,186] let s:lib.Codec.encoding_table["26201"] = [237,187] let s:lib.Codec.encoding_table["64018"] = [237,188] let s:lib.Codec.encoding_table["26227"] = [237,189] let s:lib.Codec.encoding_table["26265"] = [237,190] let s:lib.Codec.encoding_table["26272"] = [237,191] let s:lib.Codec.encoding_table["26290"] = [237,192] let s:lib.Codec.encoding_table["26303"] = [237,193] let s:lib.Codec.encoding_table["26362"] = [237,194] let s:lib.Codec.encoding_table["26382"] = [237,195] let s:lib.Codec.encoding_table["63785"] = [237,196] let s:lib.Codec.encoding_table["26470"] = [237,197] let s:lib.Codec.encoding_table["26555"] = [237,198] let s:lib.Codec.encoding_table["26706"] = [237,199] let s:lib.Codec.encoding_table["26560"] = [237,200] let s:lib.Codec.encoding_table["26625"] = [237,201] let s:lib.Codec.encoding_table["26692"] = [237,202] let s:lib.Codec.encoding_table["26831"] = [237,203] let s:lib.Codec.encoding_table["64019"] = [237,204] let s:lib.Codec.encoding_table["26984"] = [237,205] let s:lib.Codec.encoding_table["64020"] = [237,206] let s:lib.Codec.encoding_table["27032"] = [237,207] let s:lib.Codec.encoding_table["27106"] = [237,208] let s:lib.Codec.encoding_table["27184"] = [237,209] let s:lib.Codec.encoding_table["27243"] = [237,210] let s:lib.Codec.encoding_table["27206"] = [237,211] let s:lib.Codec.encoding_table["27251"] = [237,212] let s:lib.Codec.encoding_table["27262"] = [237,213] let s:lib.Codec.encoding_table["27362"] = [237,214] let s:lib.Codec.encoding_table["27364"] = [237,215] let s:lib.Codec.encoding_table["27606"] = [237,216] let s:lib.Codec.encoding_table["27711"] = [237,217] let s:lib.Codec.encoding_table["27740"] = [237,218] let s:lib.Codec.encoding_table["27782"] = [237,219] let s:lib.Codec.encoding_table["27759"] = [237,220] let s:lib.Codec.encoding_table["27866"] = [237,221] let s:lib.Codec.encoding_table["27908"] = [237,222] let s:lib.Codec.encoding_table["28039"] = [237,223] let s:lib.Codec.encoding_table["28015"] = [237,224] let s:lib.Codec.encoding_table["28054"] = [237,225] let s:lib.Codec.encoding_table["28076"] = [237,226] let s:lib.Codec.encoding_table["28111"] = [237,227] let s:lib.Codec.encoding_table["28152"] = [237,228] let s:lib.Codec.encoding_table["28146"] = [237,229] let s:lib.Codec.encoding_table["28156"] = [237,230] let s:lib.Codec.encoding_table["28217"] = [237,231] let s:lib.Codec.encoding_table["28252"] = [237,232] let s:lib.Codec.encoding_table["28199"] = [237,233] let s:lib.Codec.encoding_table["28220"] = [237,234] let s:lib.Codec.encoding_table["28351"] = [237,235] let s:lib.Codec.encoding_table["28552"] = [237,236] let s:lib.Codec.encoding_table["28597"] = [237,237] let s:lib.Codec.encoding_table["28661"] = [237,238] let s:lib.Codec.encoding_table["28677"] = [237,239] let s:lib.Codec.encoding_table["28679"] = [237,240] let s:lib.Codec.encoding_table["28712"] = [237,241] let s:lib.Codec.encoding_table["28805"] = [237,242] let s:lib.Codec.encoding_table["28843"] = [237,243] let s:lib.Codec.encoding_table["28943"] = [237,244] let s:lib.Codec.encoding_table["28932"] = [237,245] let s:lib.Codec.encoding_table["29020"] = [237,246] let s:lib.Codec.encoding_table["28998"] = [237,247] let s:lib.Codec.encoding_table["28999"] = [237,248] let s:lib.Codec.encoding_table["64021"] = [237,249] let s:lib.Codec.encoding_table["29121"] = [237,250] let s:lib.Codec.encoding_table["29182"] = [237,251] let s:lib.Codec.encoding_table["29361"] = [237,252] let s:lib.Codec.encoding_table["29374"] = [238,64] let s:lib.Codec.encoding_table["29476"] = [238,65] let s:lib.Codec.encoding_table["64022"] = [238,66] let s:lib.Codec.encoding_table["29559"] = [238,67] let s:lib.Codec.encoding_table["29629"] = [238,68] let s:lib.Codec.encoding_table["29641"] = [238,69] let s:lib.Codec.encoding_table["29654"] = [238,70] let s:lib.Codec.encoding_table["29667"] = [238,71] let s:lib.Codec.encoding_table["29650"] = [238,72] let s:lib.Codec.encoding_table["29703"] = [238,73] let s:lib.Codec.encoding_table["29685"] = [238,74] let s:lib.Codec.encoding_table["29734"] = [238,75] let s:lib.Codec.encoding_table["29738"] = [238,76] let s:lib.Codec.encoding_table["29737"] = [238,77] let s:lib.Codec.encoding_table["29742"] = [238,78] let s:lib.Codec.encoding_table["29794"] = [238,79] let s:lib.Codec.encoding_table["29833"] = [238,80] let s:lib.Codec.encoding_table["29855"] = [238,81] let s:lib.Codec.encoding_table["29953"] = [238,82] let s:lib.Codec.encoding_table["30063"] = [238,83] let s:lib.Codec.encoding_table["30338"] = [238,84] let s:lib.Codec.encoding_table["30364"] = [238,85] let s:lib.Codec.encoding_table["30366"] = [238,86] let s:lib.Codec.encoding_table["30363"] = [238,87] let s:lib.Codec.encoding_table["30374"] = [238,88] let s:lib.Codec.encoding_table["64023"] = [238,89] let s:lib.Codec.encoding_table["30534"] = [238,90] let s:lib.Codec.encoding_table["21167"] = [238,91] let s:lib.Codec.encoding_table["30753"] = [238,92] let s:lib.Codec.encoding_table["30798"] = [238,93] let s:lib.Codec.encoding_table["30820"] = [238,94] let s:lib.Codec.encoding_table["30842"] = [238,95] let s:lib.Codec.encoding_table["31024"] = [238,96] let s:lib.Codec.encoding_table["64024"] = [238,97] let s:lib.Codec.encoding_table["64025"] = [238,98] let s:lib.Codec.encoding_table["64026"] = [238,99] let s:lib.Codec.encoding_table["31124"] = [238,100] let s:lib.Codec.encoding_table["64027"] = [238,101] let s:lib.Codec.encoding_table["31131"] = [238,102] let s:lib.Codec.encoding_table["31441"] = [238,103] let s:lib.Codec.encoding_table["31463"] = [238,104] let s:lib.Codec.encoding_table["64028"] = [238,105] let s:lib.Codec.encoding_table["31467"] = [238,106] let s:lib.Codec.encoding_table["31646"] = [238,107] let s:lib.Codec.encoding_table["64029"] = [238,108] let s:lib.Codec.encoding_table["32072"] = [238,109] let s:lib.Codec.encoding_table["32092"] = [238,110] let s:lib.Codec.encoding_table["32183"] = [238,111] let s:lib.Codec.encoding_table["32160"] = [238,112] let s:lib.Codec.encoding_table["32214"] = [238,113] let s:lib.Codec.encoding_table["32338"] = [238,114] let s:lib.Codec.encoding_table["32583"] = [238,115] let s:lib.Codec.encoding_table["32673"] = [238,116] let s:lib.Codec.encoding_table["64030"] = [238,117] let s:lib.Codec.encoding_table["33537"] = [238,118] let s:lib.Codec.encoding_table["33634"] = [238,119] let s:lib.Codec.encoding_table["33663"] = [238,120] let s:lib.Codec.encoding_table["33735"] = [238,121] let s:lib.Codec.encoding_table["33782"] = [238,122] let s:lib.Codec.encoding_table["33864"] = [238,123] let s:lib.Codec.encoding_table["33972"] = [238,124] let s:lib.Codec.encoding_table["34131"] = [238,125] let s:lib.Codec.encoding_table["34137"] = [238,126] let s:lib.Codec.encoding_table["34155"] = [238,128] let s:lib.Codec.encoding_table["64031"] = [238,129] let s:lib.Codec.encoding_table["34224"] = [238,130] let s:lib.Codec.encoding_table["64032"] = [238,131] let s:lib.Codec.encoding_table["64033"] = [238,132] let s:lib.Codec.encoding_table["34823"] = [238,133] let s:lib.Codec.encoding_table["35061"] = [238,134] let s:lib.Codec.encoding_table["35346"] = [238,135] let s:lib.Codec.encoding_table["35383"] = [238,136] let s:lib.Codec.encoding_table["35449"] = [238,137] let s:lib.Codec.encoding_table["35495"] = [238,138] let s:lib.Codec.encoding_table["35518"] = [238,139] let s:lib.Codec.encoding_table["35551"] = [238,140] let s:lib.Codec.encoding_table["64034"] = [238,141] let s:lib.Codec.encoding_table["35574"] = [238,142] let s:lib.Codec.encoding_table["35667"] = [238,143] let s:lib.Codec.encoding_table["35711"] = [238,144] let s:lib.Codec.encoding_table["36080"] = [238,145] let s:lib.Codec.encoding_table["36084"] = [238,146] let s:lib.Codec.encoding_table["36114"] = [238,147] let s:lib.Codec.encoding_table["36214"] = [238,148] let s:lib.Codec.encoding_table["64035"] = [238,149] let s:lib.Codec.encoding_table["36559"] = [238,150] let s:lib.Codec.encoding_table["64036"] = [238,151] let s:lib.Codec.encoding_table["64037"] = [238,152] let s:lib.Codec.encoding_table["36967"] = [238,153] let s:lib.Codec.encoding_table["37086"] = [238,154] let s:lib.Codec.encoding_table["64038"] = [238,155] let s:lib.Codec.encoding_table["37141"] = [238,156] let s:lib.Codec.encoding_table["37159"] = [238,157] let s:lib.Codec.encoding_table["37338"] = [238,158] let s:lib.Codec.encoding_table["37335"] = [238,159] let s:lib.Codec.encoding_table["37342"] = [238,160] let s:lib.Codec.encoding_table["37357"] = [238,161] let s:lib.Codec.encoding_table["37358"] = [238,162] let s:lib.Codec.encoding_table["37348"] = [238,163] let s:lib.Codec.encoding_table["37349"] = [238,164] let s:lib.Codec.encoding_table["37382"] = [238,165] let s:lib.Codec.encoding_table["37392"] = [238,166] let s:lib.Codec.encoding_table["37386"] = [238,167] let s:lib.Codec.encoding_table["37434"] = [238,168] let s:lib.Codec.encoding_table["37440"] = [238,169] let s:lib.Codec.encoding_table["37436"] = [238,170] let s:lib.Codec.encoding_table["37454"] = [238,171] let s:lib.Codec.encoding_table["37465"] = [238,172] let s:lib.Codec.encoding_table["37457"] = [238,173] let s:lib.Codec.encoding_table["37433"] = [238,174] let s:lib.Codec.encoding_table["37479"] = [238,175] let s:lib.Codec.encoding_table["37543"] = [238,176] let s:lib.Codec.encoding_table["37495"] = [238,177] let s:lib.Codec.encoding_table["37496"] = [238,178] let s:lib.Codec.encoding_table["37607"] = [238,179] let s:lib.Codec.encoding_table["37591"] = [238,180] let s:lib.Codec.encoding_table["37593"] = [238,181] let s:lib.Codec.encoding_table["37584"] = [238,182] let s:lib.Codec.encoding_table["64039"] = [238,183] let s:lib.Codec.encoding_table["37589"] = [238,184] let s:lib.Codec.encoding_table["37600"] = [238,185] let s:lib.Codec.encoding_table["37587"] = [238,186] let s:lib.Codec.encoding_table["37669"] = [238,187] let s:lib.Codec.encoding_table["37665"] = [238,188] let s:lib.Codec.encoding_table["37627"] = [238,189] let s:lib.Codec.encoding_table["64040"] = [238,190] let s:lib.Codec.encoding_table["37662"] = [238,191] let s:lib.Codec.encoding_table["37631"] = [238,192] let s:lib.Codec.encoding_table["37661"] = [238,193] let s:lib.Codec.encoding_table["37634"] = [238,194] let s:lib.Codec.encoding_table["37744"] = [238,195] let s:lib.Codec.encoding_table["37719"] = [238,196] let s:lib.Codec.encoding_table["37796"] = [238,197] let s:lib.Codec.encoding_table["37830"] = [238,198] let s:lib.Codec.encoding_table["37854"] = [238,199] let s:lib.Codec.encoding_table["37880"] = [238,200] let s:lib.Codec.encoding_table["37937"] = [238,201] let s:lib.Codec.encoding_table["37957"] = [238,202] let s:lib.Codec.encoding_table["37960"] = [238,203] let s:lib.Codec.encoding_table["38290"] = [238,204] let s:lib.Codec.encoding_table["63964"] = [238,205] let s:lib.Codec.encoding_table["64041"] = [238,206] let s:lib.Codec.encoding_table["38557"] = [238,207] let s:lib.Codec.encoding_table["38575"] = [238,208] let s:lib.Codec.encoding_table["38707"] = [238,209] let s:lib.Codec.encoding_table["38715"] = [238,210] let s:lib.Codec.encoding_table["38723"] = [238,211] let s:lib.Codec.encoding_table["38733"] = [238,212] let s:lib.Codec.encoding_table["38735"] = [238,213] let s:lib.Codec.encoding_table["38737"] = [238,214] let s:lib.Codec.encoding_table["38741"] = [238,215] let s:lib.Codec.encoding_table["38999"] = [238,216] let s:lib.Codec.encoding_table["39013"] = [238,217] let s:lib.Codec.encoding_table["64042"] = [238,218] let s:lib.Codec.encoding_table["64043"] = [238,219] let s:lib.Codec.encoding_table["39207"] = [238,220] let s:lib.Codec.encoding_table["64044"] = [238,221] let s:lib.Codec.encoding_table["39326"] = [238,222] let s:lib.Codec.encoding_table["39502"] = [238,223] let s:lib.Codec.encoding_table["39641"] = [238,224] let s:lib.Codec.encoding_table["39644"] = [238,225] let s:lib.Codec.encoding_table["39797"] = [238,226] let s:lib.Codec.encoding_table["39794"] = [238,227] let s:lib.Codec.encoding_table["39823"] = [238,228] let s:lib.Codec.encoding_table["39857"] = [238,229] let s:lib.Codec.encoding_table["39867"] = [238,230] let s:lib.Codec.encoding_table["39936"] = [238,231] let s:lib.Codec.encoding_table["40304"] = [238,232] let s:lib.Codec.encoding_table["40299"] = [238,233] let s:lib.Codec.encoding_table["64045"] = [238,234] let s:lib.Codec.encoding_table["40473"] = [238,235] let s:lib.Codec.encoding_table["40657"] = [238,236] let s:lib.Codec.encoding_table["8560"] = [238,239] let s:lib.Codec.encoding_table["8561"] = [238,240] let s:lib.Codec.encoding_table["8562"] = [238,241] let s:lib.Codec.encoding_table["8563"] = [238,242] let s:lib.Codec.encoding_table["8564"] = [238,243] let s:lib.Codec.encoding_table["8565"] = [238,244] let s:lib.Codec.encoding_table["8566"] = [238,245] let s:lib.Codec.encoding_table["8567"] = [238,246] let s:lib.Codec.encoding_table["8568"] = [238,247] let s:lib.Codec.encoding_table["8569"] = [238,248] let s:lib.Codec.encoding_table["65508"] = [238,250] let s:lib.Codec.encoding_table["65287"] = [238,251] let s:lib.Codec.encoding_table["65282"] = [238,252] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp936.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp936#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP936" let s:lib.Codec.decoding_table_maxlen = 2 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["128"] = [8364] let s:lib.Codec.decoding_table["129,64"] = [19970] let s:lib.Codec.decoding_table["129,65"] = [19972] let s:lib.Codec.decoding_table["129,66"] = [19973] let s:lib.Codec.decoding_table["129,67"] = [19974] let s:lib.Codec.decoding_table["129,68"] = [19983] let s:lib.Codec.decoding_table["129,69"] = [19986] let s:lib.Codec.decoding_table["129,70"] = [19991] let s:lib.Codec.decoding_table["129,71"] = [19999] let s:lib.Codec.decoding_table["129,72"] = [20000] let s:lib.Codec.decoding_table["129,73"] = [20001] let s:lib.Codec.decoding_table["129,74"] = [20003] let s:lib.Codec.decoding_table["129,75"] = [20006] let s:lib.Codec.decoding_table["129,76"] = [20009] let s:lib.Codec.decoding_table["129,77"] = [20014] let s:lib.Codec.decoding_table["129,78"] = [20015] let s:lib.Codec.decoding_table["129,79"] = [20017] let s:lib.Codec.decoding_table["129,80"] = [20019] let s:lib.Codec.decoding_table["129,81"] = [20021] let s:lib.Codec.decoding_table["129,82"] = [20023] let s:lib.Codec.decoding_table["129,83"] = [20028] let s:lib.Codec.decoding_table["129,84"] = [20032] let s:lib.Codec.decoding_table["129,85"] = [20033] let s:lib.Codec.decoding_table["129,86"] = [20034] let s:lib.Codec.decoding_table["129,87"] = [20036] let s:lib.Codec.decoding_table["129,88"] = [20038] let s:lib.Codec.decoding_table["129,89"] = [20042] let s:lib.Codec.decoding_table["129,90"] = [20049] let s:lib.Codec.decoding_table["129,91"] = [20053] let s:lib.Codec.decoding_table["129,92"] = [20055] let s:lib.Codec.decoding_table["129,93"] = [20058] let s:lib.Codec.decoding_table["129,94"] = [20059] let s:lib.Codec.decoding_table["129,95"] = [20066] let s:lib.Codec.decoding_table["129,96"] = [20067] let s:lib.Codec.decoding_table["129,97"] = [20068] let s:lib.Codec.decoding_table["129,98"] = [20069] let s:lib.Codec.decoding_table["129,99"] = [20071] let s:lib.Codec.decoding_table["129,100"] = [20072] let s:lib.Codec.decoding_table["129,101"] = [20074] let s:lib.Codec.decoding_table["129,102"] = [20075] let s:lib.Codec.decoding_table["129,103"] = [20076] let s:lib.Codec.decoding_table["129,104"] = [20077] let s:lib.Codec.decoding_table["129,105"] = [20078] let s:lib.Codec.decoding_table["129,106"] = [20079] let s:lib.Codec.decoding_table["129,107"] = [20082] let s:lib.Codec.decoding_table["129,108"] = [20084] let s:lib.Codec.decoding_table["129,109"] = [20085] let s:lib.Codec.decoding_table["129,110"] = [20086] let s:lib.Codec.decoding_table["129,111"] = [20087] let s:lib.Codec.decoding_table["129,112"] = [20088] let s:lib.Codec.decoding_table["129,113"] = [20089] let s:lib.Codec.decoding_table["129,114"] = [20090] let s:lib.Codec.decoding_table["129,115"] = [20091] let s:lib.Codec.decoding_table["129,116"] = [20092] let s:lib.Codec.decoding_table["129,117"] = [20093] let s:lib.Codec.decoding_table["129,118"] = [20095] let s:lib.Codec.decoding_table["129,119"] = [20096] let s:lib.Codec.decoding_table["129,120"] = [20097] let s:lib.Codec.decoding_table["129,121"] = [20098] let s:lib.Codec.decoding_table["129,122"] = [20099] let s:lib.Codec.decoding_table["129,123"] = [20100] let s:lib.Codec.decoding_table["129,124"] = [20101] let s:lib.Codec.decoding_table["129,125"] = [20103] let s:lib.Codec.decoding_table["129,126"] = [20106] let s:lib.Codec.decoding_table["129,128"] = [20112] let s:lib.Codec.decoding_table["129,129"] = [20118] let s:lib.Codec.decoding_table["129,130"] = [20119] let s:lib.Codec.decoding_table["129,131"] = [20121] let s:lib.Codec.decoding_table["129,132"] = [20124] let s:lib.Codec.decoding_table["129,133"] = [20125] let s:lib.Codec.decoding_table["129,134"] = [20126] let s:lib.Codec.decoding_table["129,135"] = [20131] let s:lib.Codec.decoding_table["129,136"] = [20138] let s:lib.Codec.decoding_table["129,137"] = [20143] let s:lib.Codec.decoding_table["129,138"] = [20144] let s:lib.Codec.decoding_table["129,139"] = [20145] let s:lib.Codec.decoding_table["129,140"] = [20148] let s:lib.Codec.decoding_table["129,141"] = [20150] let s:lib.Codec.decoding_table["129,142"] = [20151] let s:lib.Codec.decoding_table["129,143"] = [20152] let s:lib.Codec.decoding_table["129,144"] = [20153] let s:lib.Codec.decoding_table["129,145"] = [20156] let s:lib.Codec.decoding_table["129,146"] = [20157] let s:lib.Codec.decoding_table["129,147"] = [20158] let s:lib.Codec.decoding_table["129,148"] = [20168] let s:lib.Codec.decoding_table["129,149"] = [20172] let s:lib.Codec.decoding_table["129,150"] = [20175] let s:lib.Codec.decoding_table["129,151"] = [20176] let s:lib.Codec.decoding_table["129,152"] = [20178] let s:lib.Codec.decoding_table["129,153"] = [20186] let s:lib.Codec.decoding_table["129,154"] = [20187] let s:lib.Codec.decoding_table["129,155"] = [20188] let s:lib.Codec.decoding_table["129,156"] = [20192] let s:lib.Codec.decoding_table["129,157"] = [20194] let s:lib.Codec.decoding_table["129,158"] = [20198] let s:lib.Codec.decoding_table["129,159"] = [20199] let s:lib.Codec.decoding_table["129,160"] = [20201] let s:lib.Codec.decoding_table["129,161"] = [20205] let s:lib.Codec.decoding_table["129,162"] = [20206] let s:lib.Codec.decoding_table["129,163"] = [20207] let s:lib.Codec.decoding_table["129,164"] = [20209] let s:lib.Codec.decoding_table["129,165"] = [20212] let s:lib.Codec.decoding_table["129,166"] = [20216] let s:lib.Codec.decoding_table["129,167"] = [20217] let s:lib.Codec.decoding_table["129,168"] = [20218] let s:lib.Codec.decoding_table["129,169"] = [20220] let s:lib.Codec.decoding_table["129,170"] = [20222] let s:lib.Codec.decoding_table["129,171"] = [20224] let s:lib.Codec.decoding_table["129,172"] = [20226] let s:lib.Codec.decoding_table["129,173"] = [20227] let s:lib.Codec.decoding_table["129,174"] = [20228] let s:lib.Codec.decoding_table["129,175"] = [20229] let s:lib.Codec.decoding_table["129,176"] = [20230] let s:lib.Codec.decoding_table["129,177"] = [20231] let s:lib.Codec.decoding_table["129,178"] = [20232] let s:lib.Codec.decoding_table["129,179"] = [20235] let s:lib.Codec.decoding_table["129,180"] = [20236] let s:lib.Codec.decoding_table["129,181"] = [20242] let s:lib.Codec.decoding_table["129,182"] = [20243] let s:lib.Codec.decoding_table["129,183"] = [20244] let s:lib.Codec.decoding_table["129,184"] = [20245] let s:lib.Codec.decoding_table["129,185"] = [20246] let s:lib.Codec.decoding_table["129,186"] = [20252] let s:lib.Codec.decoding_table["129,187"] = [20253] let s:lib.Codec.decoding_table["129,188"] = [20257] let s:lib.Codec.decoding_table["129,189"] = [20259] let s:lib.Codec.decoding_table["129,190"] = [20264] let s:lib.Codec.decoding_table["129,191"] = [20265] let s:lib.Codec.decoding_table["129,192"] = [20268] let s:lib.Codec.decoding_table["129,193"] = [20269] let s:lib.Codec.decoding_table["129,194"] = [20270] let s:lib.Codec.decoding_table["129,195"] = [20273] let s:lib.Codec.decoding_table["129,196"] = [20275] let s:lib.Codec.decoding_table["129,197"] = [20277] let s:lib.Codec.decoding_table["129,198"] = [20279] let s:lib.Codec.decoding_table["129,199"] = [20281] let s:lib.Codec.decoding_table["129,200"] = [20283] let s:lib.Codec.decoding_table["129,201"] = [20286] let s:lib.Codec.decoding_table["129,202"] = [20287] let s:lib.Codec.decoding_table["129,203"] = [20288] let s:lib.Codec.decoding_table["129,204"] = [20289] let s:lib.Codec.decoding_table["129,205"] = [20290] let s:lib.Codec.decoding_table["129,206"] = [20292] let s:lib.Codec.decoding_table["129,207"] = [20293] let s:lib.Codec.decoding_table["129,208"] = [20295] let s:lib.Codec.decoding_table["129,209"] = [20296] let s:lib.Codec.decoding_table["129,210"] = [20297] let s:lib.Codec.decoding_table["129,211"] = [20298] let s:lib.Codec.decoding_table["129,212"] = [20299] let s:lib.Codec.decoding_table["129,213"] = [20300] let s:lib.Codec.decoding_table["129,214"] = [20306] let s:lib.Codec.decoding_table["129,215"] = [20308] let s:lib.Codec.decoding_table["129,216"] = [20310] let s:lib.Codec.decoding_table["129,217"] = [20321] let s:lib.Codec.decoding_table["129,218"] = [20322] let s:lib.Codec.decoding_table["129,219"] = [20326] let s:lib.Codec.decoding_table["129,220"] = [20328] let s:lib.Codec.decoding_table["129,221"] = [20330] let s:lib.Codec.decoding_table["129,222"] = [20331] let s:lib.Codec.decoding_table["129,223"] = [20333] let s:lib.Codec.decoding_table["129,224"] = [20334] let s:lib.Codec.decoding_table["129,225"] = [20337] let s:lib.Codec.decoding_table["129,226"] = [20338] let s:lib.Codec.decoding_table["129,227"] = [20341] let s:lib.Codec.decoding_table["129,228"] = [20343] let s:lib.Codec.decoding_table["129,229"] = [20344] let s:lib.Codec.decoding_table["129,230"] = [20345] let s:lib.Codec.decoding_table["129,231"] = [20346] let s:lib.Codec.decoding_table["129,232"] = [20349] let s:lib.Codec.decoding_table["129,233"] = [20352] let s:lib.Codec.decoding_table["129,234"] = [20353] let s:lib.Codec.decoding_table["129,235"] = [20354] let s:lib.Codec.decoding_table["129,236"] = [20357] let s:lib.Codec.decoding_table["129,237"] = [20358] let s:lib.Codec.decoding_table["129,238"] = [20359] let s:lib.Codec.decoding_table["129,239"] = [20362] let s:lib.Codec.decoding_table["129,240"] = [20364] let s:lib.Codec.decoding_table["129,241"] = [20366] let s:lib.Codec.decoding_table["129,242"] = [20368] let s:lib.Codec.decoding_table["129,243"] = [20370] let s:lib.Codec.decoding_table["129,244"] = [20371] let s:lib.Codec.decoding_table["129,245"] = [20373] let s:lib.Codec.decoding_table["129,246"] = [20374] let s:lib.Codec.decoding_table["129,247"] = [20376] let s:lib.Codec.decoding_table["129,248"] = [20377] let s:lib.Codec.decoding_table["129,249"] = [20378] let s:lib.Codec.decoding_table["129,250"] = [20380] let s:lib.Codec.decoding_table["129,251"] = [20382] let s:lib.Codec.decoding_table["129,252"] = [20383] let s:lib.Codec.decoding_table["129,253"] = [20385] let s:lib.Codec.decoding_table["129,254"] = [20386] let s:lib.Codec.decoding_table["130,64"] = [20388] let s:lib.Codec.decoding_table["130,65"] = [20395] let s:lib.Codec.decoding_table["130,66"] = [20397] let s:lib.Codec.decoding_table["130,67"] = [20400] let s:lib.Codec.decoding_table["130,68"] = [20401] let s:lib.Codec.decoding_table["130,69"] = [20402] let s:lib.Codec.decoding_table["130,70"] = [20403] let s:lib.Codec.decoding_table["130,71"] = [20404] let s:lib.Codec.decoding_table["130,72"] = [20406] let s:lib.Codec.decoding_table["130,73"] = [20407] let s:lib.Codec.decoding_table["130,74"] = [20408] let s:lib.Codec.decoding_table["130,75"] = [20409] let s:lib.Codec.decoding_table["130,76"] = [20410] let s:lib.Codec.decoding_table["130,77"] = [20411] let s:lib.Codec.decoding_table["130,78"] = [20412] let s:lib.Codec.decoding_table["130,79"] = [20413] let s:lib.Codec.decoding_table["130,80"] = [20414] let s:lib.Codec.decoding_table["130,81"] = [20416] let s:lib.Codec.decoding_table["130,82"] = [20417] let s:lib.Codec.decoding_table["130,83"] = [20418] let s:lib.Codec.decoding_table["130,84"] = [20422] let s:lib.Codec.decoding_table["130,85"] = [20423] let s:lib.Codec.decoding_table["130,86"] = [20424] let s:lib.Codec.decoding_table["130,87"] = [20425] let s:lib.Codec.decoding_table["130,88"] = [20427] let s:lib.Codec.decoding_table["130,89"] = [20428] let s:lib.Codec.decoding_table["130,90"] = [20429] let s:lib.Codec.decoding_table["130,91"] = [20434] let s:lib.Codec.decoding_table["130,92"] = [20435] let s:lib.Codec.decoding_table["130,93"] = [20436] let s:lib.Codec.decoding_table["130,94"] = [20437] let s:lib.Codec.decoding_table["130,95"] = [20438] let s:lib.Codec.decoding_table["130,96"] = [20441] let s:lib.Codec.decoding_table["130,97"] = [20443] let s:lib.Codec.decoding_table["130,98"] = [20448] let s:lib.Codec.decoding_table["130,99"] = [20450] let s:lib.Codec.decoding_table["130,100"] = [20452] let s:lib.Codec.decoding_table["130,101"] = [20453] let s:lib.Codec.decoding_table["130,102"] = [20455] let s:lib.Codec.decoding_table["130,103"] = [20459] let s:lib.Codec.decoding_table["130,104"] = [20460] let s:lib.Codec.decoding_table["130,105"] = [20464] let s:lib.Codec.decoding_table["130,106"] = [20466] let s:lib.Codec.decoding_table["130,107"] = [20468] let s:lib.Codec.decoding_table["130,108"] = [20469] let s:lib.Codec.decoding_table["130,109"] = [20470] let s:lib.Codec.decoding_table["130,110"] = [20471] let s:lib.Codec.decoding_table["130,111"] = [20473] let s:lib.Codec.decoding_table["130,112"] = [20475] let s:lib.Codec.decoding_table["130,113"] = [20476] let s:lib.Codec.decoding_table["130,114"] = [20477] let s:lib.Codec.decoding_table["130,115"] = [20479] let s:lib.Codec.decoding_table["130,116"] = [20480] let s:lib.Codec.decoding_table["130,117"] = [20481] let s:lib.Codec.decoding_table["130,118"] = [20482] let s:lib.Codec.decoding_table["130,119"] = [20483] let s:lib.Codec.decoding_table["130,120"] = [20484] let s:lib.Codec.decoding_table["130,121"] = [20485] let s:lib.Codec.decoding_table["130,122"] = [20486] let s:lib.Codec.decoding_table["130,123"] = [20487] let s:lib.Codec.decoding_table["130,124"] = [20488] let s:lib.Codec.decoding_table["130,125"] = [20489] let s:lib.Codec.decoding_table["130,126"] = [20490] let s:lib.Codec.decoding_table["130,128"] = [20491] let s:lib.Codec.decoding_table["130,129"] = [20494] let s:lib.Codec.decoding_table["130,130"] = [20496] let s:lib.Codec.decoding_table["130,131"] = [20497] let s:lib.Codec.decoding_table["130,132"] = [20499] let s:lib.Codec.decoding_table["130,133"] = [20501] let s:lib.Codec.decoding_table["130,134"] = [20502] let s:lib.Codec.decoding_table["130,135"] = [20503] let s:lib.Codec.decoding_table["130,136"] = [20507] let s:lib.Codec.decoding_table["130,137"] = [20509] let s:lib.Codec.decoding_table["130,138"] = [20510] let s:lib.Codec.decoding_table["130,139"] = [20512] let s:lib.Codec.decoding_table["130,140"] = [20514] let s:lib.Codec.decoding_table["130,141"] = [20515] let s:lib.Codec.decoding_table["130,142"] = [20516] let s:lib.Codec.decoding_table["130,143"] = [20519] let s:lib.Codec.decoding_table["130,144"] = [20523] let s:lib.Codec.decoding_table["130,145"] = [20527] let s:lib.Codec.decoding_table["130,146"] = [20528] let s:lib.Codec.decoding_table["130,147"] = [20529] let s:lib.Codec.decoding_table["130,148"] = [20530] let s:lib.Codec.decoding_table["130,149"] = [20531] let s:lib.Codec.decoding_table["130,150"] = [20532] let s:lib.Codec.decoding_table["130,151"] = [20533] let s:lib.Codec.decoding_table["130,152"] = [20534] let s:lib.Codec.decoding_table["130,153"] = [20535] let s:lib.Codec.decoding_table["130,154"] = [20536] let s:lib.Codec.decoding_table["130,155"] = [20537] let s:lib.Codec.decoding_table["130,156"] = [20539] let s:lib.Codec.decoding_table["130,157"] = [20541] let s:lib.Codec.decoding_table["130,158"] = [20543] let s:lib.Codec.decoding_table["130,159"] = [20544] let s:lib.Codec.decoding_table["130,160"] = [20545] let s:lib.Codec.decoding_table["130,161"] = [20546] let s:lib.Codec.decoding_table["130,162"] = [20548] let s:lib.Codec.decoding_table["130,163"] = [20549] let s:lib.Codec.decoding_table["130,164"] = [20550] let s:lib.Codec.decoding_table["130,165"] = [20553] let s:lib.Codec.decoding_table["130,166"] = [20554] let s:lib.Codec.decoding_table["130,167"] = [20555] let s:lib.Codec.decoding_table["130,168"] = [20557] let s:lib.Codec.decoding_table["130,169"] = [20560] let s:lib.Codec.decoding_table["130,170"] = [20561] let s:lib.Codec.decoding_table["130,171"] = [20562] let s:lib.Codec.decoding_table["130,172"] = [20563] let s:lib.Codec.decoding_table["130,173"] = [20564] let s:lib.Codec.decoding_table["130,174"] = [20566] let s:lib.Codec.decoding_table["130,175"] = [20567] let s:lib.Codec.decoding_table["130,176"] = [20568] let s:lib.Codec.decoding_table["130,177"] = [20569] let s:lib.Codec.decoding_table["130,178"] = [20571] let s:lib.Codec.decoding_table["130,179"] = [20573] let s:lib.Codec.decoding_table["130,180"] = [20574] let s:lib.Codec.decoding_table["130,181"] = [20575] let s:lib.Codec.decoding_table["130,182"] = [20576] let s:lib.Codec.decoding_table["130,183"] = [20577] let s:lib.Codec.decoding_table["130,184"] = [20578] let s:lib.Codec.decoding_table["130,185"] = [20579] let s:lib.Codec.decoding_table["130,186"] = [20580] let s:lib.Codec.decoding_table["130,187"] = [20582] let s:lib.Codec.decoding_table["130,188"] = [20583] let s:lib.Codec.decoding_table["130,189"] = [20584] let s:lib.Codec.decoding_table["130,190"] = [20585] let s:lib.Codec.decoding_table["130,191"] = [20586] let s:lib.Codec.decoding_table["130,192"] = [20587] let s:lib.Codec.decoding_table["130,193"] = [20589] let s:lib.Codec.decoding_table["130,194"] = [20590] let s:lib.Codec.decoding_table["130,195"] = [20591] let s:lib.Codec.decoding_table["130,196"] = [20592] let s:lib.Codec.decoding_table["130,197"] = [20593] let s:lib.Codec.decoding_table["130,198"] = [20594] let s:lib.Codec.decoding_table["130,199"] = [20595] let s:lib.Codec.decoding_table["130,200"] = [20596] let s:lib.Codec.decoding_table["130,201"] = [20597] let s:lib.Codec.decoding_table["130,202"] = [20600] let s:lib.Codec.decoding_table["130,203"] = [20601] let s:lib.Codec.decoding_table["130,204"] = [20602] let s:lib.Codec.decoding_table["130,205"] = [20604] let s:lib.Codec.decoding_table["130,206"] = [20605] let s:lib.Codec.decoding_table["130,207"] = [20609] let s:lib.Codec.decoding_table["130,208"] = [20610] let s:lib.Codec.decoding_table["130,209"] = [20611] let s:lib.Codec.decoding_table["130,210"] = [20612] let s:lib.Codec.decoding_table["130,211"] = [20614] let s:lib.Codec.decoding_table["130,212"] = [20615] let s:lib.Codec.decoding_table["130,213"] = [20617] let s:lib.Codec.decoding_table["130,214"] = [20618] let s:lib.Codec.decoding_table["130,215"] = [20619] let s:lib.Codec.decoding_table["130,216"] = [20620] let s:lib.Codec.decoding_table["130,217"] = [20622] let s:lib.Codec.decoding_table["130,218"] = [20623] let s:lib.Codec.decoding_table["130,219"] = [20624] let s:lib.Codec.decoding_table["130,220"] = [20625] let s:lib.Codec.decoding_table["130,221"] = [20626] let s:lib.Codec.decoding_table["130,222"] = [20627] let s:lib.Codec.decoding_table["130,223"] = [20628] let s:lib.Codec.decoding_table["130,224"] = [20629] let s:lib.Codec.decoding_table["130,225"] = [20630] let s:lib.Codec.decoding_table["130,226"] = [20631] let s:lib.Codec.decoding_table["130,227"] = [20632] let s:lib.Codec.decoding_table["130,228"] = [20633] let s:lib.Codec.decoding_table["130,229"] = [20634] let s:lib.Codec.decoding_table["130,230"] = [20635] let s:lib.Codec.decoding_table["130,231"] = [20636] let s:lib.Codec.decoding_table["130,232"] = [20637] let s:lib.Codec.decoding_table["130,233"] = [20638] let s:lib.Codec.decoding_table["130,234"] = [20639] let s:lib.Codec.decoding_table["130,235"] = [20640] let s:lib.Codec.decoding_table["130,236"] = [20641] let s:lib.Codec.decoding_table["130,237"] = [20642] let s:lib.Codec.decoding_table["130,238"] = [20644] let s:lib.Codec.decoding_table["130,239"] = [20646] let s:lib.Codec.decoding_table["130,240"] = [20650] let s:lib.Codec.decoding_table["130,241"] = [20651] let s:lib.Codec.decoding_table["130,242"] = [20653] let s:lib.Codec.decoding_table["130,243"] = [20654] let s:lib.Codec.decoding_table["130,244"] = [20655] let s:lib.Codec.decoding_table["130,245"] = [20656] let s:lib.Codec.decoding_table["130,246"] = [20657] let s:lib.Codec.decoding_table["130,247"] = [20659] let s:lib.Codec.decoding_table["130,248"] = [20660] let s:lib.Codec.decoding_table["130,249"] = [20661] let s:lib.Codec.decoding_table["130,250"] = [20662] let s:lib.Codec.decoding_table["130,251"] = [20663] let s:lib.Codec.decoding_table["130,252"] = [20664] let s:lib.Codec.decoding_table["130,253"] = [20665] let s:lib.Codec.decoding_table["130,254"] = [20668] let s:lib.Codec.decoding_table["131,64"] = [20669] let s:lib.Codec.decoding_table["131,65"] = [20670] let s:lib.Codec.decoding_table["131,66"] = [20671] let s:lib.Codec.decoding_table["131,67"] = [20672] let s:lib.Codec.decoding_table["131,68"] = [20673] let s:lib.Codec.decoding_table["131,69"] = [20674] let s:lib.Codec.decoding_table["131,70"] = [20675] let s:lib.Codec.decoding_table["131,71"] = [20676] let s:lib.Codec.decoding_table["131,72"] = [20677] let s:lib.Codec.decoding_table["131,73"] = [20678] let s:lib.Codec.decoding_table["131,74"] = [20679] let s:lib.Codec.decoding_table["131,75"] = [20680] let s:lib.Codec.decoding_table["131,76"] = [20681] let s:lib.Codec.decoding_table["131,77"] = [20682] let s:lib.Codec.decoding_table["131,78"] = [20683] let s:lib.Codec.decoding_table["131,79"] = [20684] let s:lib.Codec.decoding_table["131,80"] = [20685] let s:lib.Codec.decoding_table["131,81"] = [20686] let s:lib.Codec.decoding_table["131,82"] = [20688] let s:lib.Codec.decoding_table["131,83"] = [20689] let s:lib.Codec.decoding_table["131,84"] = [20690] let s:lib.Codec.decoding_table["131,85"] = [20691] let s:lib.Codec.decoding_table["131,86"] = [20692] let s:lib.Codec.decoding_table["131,87"] = [20693] let s:lib.Codec.decoding_table["131,88"] = [20695] let s:lib.Codec.decoding_table["131,89"] = [20696] let s:lib.Codec.decoding_table["131,90"] = [20697] let s:lib.Codec.decoding_table["131,91"] = [20699] let s:lib.Codec.decoding_table["131,92"] = [20700] let s:lib.Codec.decoding_table["131,93"] = [20701] let s:lib.Codec.decoding_table["131,94"] = [20702] let s:lib.Codec.decoding_table["131,95"] = [20703] let s:lib.Codec.decoding_table["131,96"] = [20704] let s:lib.Codec.decoding_table["131,97"] = [20705] let s:lib.Codec.decoding_table["131,98"] = [20706] let s:lib.Codec.decoding_table["131,99"] = [20707] let s:lib.Codec.decoding_table["131,100"] = [20708] let s:lib.Codec.decoding_table["131,101"] = [20709] let s:lib.Codec.decoding_table["131,102"] = [20712] let s:lib.Codec.decoding_table["131,103"] = [20713] let s:lib.Codec.decoding_table["131,104"] = [20714] let s:lib.Codec.decoding_table["131,105"] = [20715] let s:lib.Codec.decoding_table["131,106"] = [20719] let s:lib.Codec.decoding_table["131,107"] = [20720] let s:lib.Codec.decoding_table["131,108"] = [20721] let s:lib.Codec.decoding_table["131,109"] = [20722] let s:lib.Codec.decoding_table["131,110"] = [20724] let s:lib.Codec.decoding_table["131,111"] = [20726] let s:lib.Codec.decoding_table["131,112"] = [20727] let s:lib.Codec.decoding_table["131,113"] = [20728] let s:lib.Codec.decoding_table["131,114"] = [20729] let s:lib.Codec.decoding_table["131,115"] = [20730] let s:lib.Codec.decoding_table["131,116"] = [20732] let s:lib.Codec.decoding_table["131,117"] = [20733] let s:lib.Codec.decoding_table["131,118"] = [20734] let s:lib.Codec.decoding_table["131,119"] = [20735] let s:lib.Codec.decoding_table["131,120"] = [20736] let s:lib.Codec.decoding_table["131,121"] = [20737] let s:lib.Codec.decoding_table["131,122"] = [20738] let s:lib.Codec.decoding_table["131,123"] = [20739] let s:lib.Codec.decoding_table["131,124"] = [20740] let s:lib.Codec.decoding_table["131,125"] = [20741] let s:lib.Codec.decoding_table["131,126"] = [20744] let s:lib.Codec.decoding_table["131,128"] = [20745] let s:lib.Codec.decoding_table["131,129"] = [20746] let s:lib.Codec.decoding_table["131,130"] = [20748] let s:lib.Codec.decoding_table["131,131"] = [20749] let s:lib.Codec.decoding_table["131,132"] = [20750] let s:lib.Codec.decoding_table["131,133"] = [20751] let s:lib.Codec.decoding_table["131,134"] = [20752] let s:lib.Codec.decoding_table["131,135"] = [20753] let s:lib.Codec.decoding_table["131,136"] = [20755] let s:lib.Codec.decoding_table["131,137"] = [20756] let s:lib.Codec.decoding_table["131,138"] = [20757] let s:lib.Codec.decoding_table["131,139"] = [20758] let s:lib.Codec.decoding_table["131,140"] = [20759] let s:lib.Codec.decoding_table["131,141"] = [20760] let s:lib.Codec.decoding_table["131,142"] = [20761] let s:lib.Codec.decoding_table["131,143"] = [20762] let s:lib.Codec.decoding_table["131,144"] = [20763] let s:lib.Codec.decoding_table["131,145"] = [20764] let s:lib.Codec.decoding_table["131,146"] = [20765] let s:lib.Codec.decoding_table["131,147"] = [20766] let s:lib.Codec.decoding_table["131,148"] = [20767] let s:lib.Codec.decoding_table["131,149"] = [20768] let s:lib.Codec.decoding_table["131,150"] = [20770] let s:lib.Codec.decoding_table["131,151"] = [20771] let s:lib.Codec.decoding_table["131,152"] = [20772] let s:lib.Codec.decoding_table["131,153"] = [20773] let s:lib.Codec.decoding_table["131,154"] = [20774] let s:lib.Codec.decoding_table["131,155"] = [20775] let s:lib.Codec.decoding_table["131,156"] = [20776] let s:lib.Codec.decoding_table["131,157"] = [20777] let s:lib.Codec.decoding_table["131,158"] = [20778] let s:lib.Codec.decoding_table["131,159"] = [20779] let s:lib.Codec.decoding_table["131,160"] = [20780] let s:lib.Codec.decoding_table["131,161"] = [20781] let s:lib.Codec.decoding_table["131,162"] = [20782] let s:lib.Codec.decoding_table["131,163"] = [20783] let s:lib.Codec.decoding_table["131,164"] = [20784] let s:lib.Codec.decoding_table["131,165"] = [20785] let s:lib.Codec.decoding_table["131,166"] = [20786] let s:lib.Codec.decoding_table["131,167"] = [20787] let s:lib.Codec.decoding_table["131,168"] = [20788] let s:lib.Codec.decoding_table["131,169"] = [20789] let s:lib.Codec.decoding_table["131,170"] = [20790] let s:lib.Codec.decoding_table["131,171"] = [20791] let s:lib.Codec.decoding_table["131,172"] = [20792] let s:lib.Codec.decoding_table["131,173"] = [20793] let s:lib.Codec.decoding_table["131,174"] = [20794] let s:lib.Codec.decoding_table["131,175"] = [20795] let s:lib.Codec.decoding_table["131,176"] = [20796] let s:lib.Codec.decoding_table["131,177"] = [20797] let s:lib.Codec.decoding_table["131,178"] = [20798] let s:lib.Codec.decoding_table["131,179"] = [20802] let s:lib.Codec.decoding_table["131,180"] = [20807] let s:lib.Codec.decoding_table["131,181"] = [20810] let s:lib.Codec.decoding_table["131,182"] = [20812] let s:lib.Codec.decoding_table["131,183"] = [20814] let s:lib.Codec.decoding_table["131,184"] = [20815] let s:lib.Codec.decoding_table["131,185"] = [20816] let s:lib.Codec.decoding_table["131,186"] = [20818] let s:lib.Codec.decoding_table["131,187"] = [20819] let s:lib.Codec.decoding_table["131,188"] = [20823] let s:lib.Codec.decoding_table["131,189"] = [20824] let s:lib.Codec.decoding_table["131,190"] = [20825] let s:lib.Codec.decoding_table["131,191"] = [20827] let s:lib.Codec.decoding_table["131,192"] = [20829] let s:lib.Codec.decoding_table["131,193"] = [20830] let s:lib.Codec.decoding_table["131,194"] = [20831] let s:lib.Codec.decoding_table["131,195"] = [20832] let s:lib.Codec.decoding_table["131,196"] = [20833] let s:lib.Codec.decoding_table["131,197"] = [20835] let s:lib.Codec.decoding_table["131,198"] = [20836] let s:lib.Codec.decoding_table["131,199"] = [20838] let s:lib.Codec.decoding_table["131,200"] = [20839] let s:lib.Codec.decoding_table["131,201"] = [20841] let s:lib.Codec.decoding_table["131,202"] = [20842] let s:lib.Codec.decoding_table["131,203"] = [20847] let s:lib.Codec.decoding_table["131,204"] = [20850] let s:lib.Codec.decoding_table["131,205"] = [20858] let s:lib.Codec.decoding_table["131,206"] = [20862] let s:lib.Codec.decoding_table["131,207"] = [20863] let s:lib.Codec.decoding_table["131,208"] = [20867] let s:lib.Codec.decoding_table["131,209"] = [20868] let s:lib.Codec.decoding_table["131,210"] = [20870] let s:lib.Codec.decoding_table["131,211"] = [20871] let s:lib.Codec.decoding_table["131,212"] = [20874] let s:lib.Codec.decoding_table["131,213"] = [20875] let s:lib.Codec.decoding_table["131,214"] = [20878] let s:lib.Codec.decoding_table["131,215"] = [20879] let s:lib.Codec.decoding_table["131,216"] = [20880] let s:lib.Codec.decoding_table["131,217"] = [20881] let s:lib.Codec.decoding_table["131,218"] = [20883] let s:lib.Codec.decoding_table["131,219"] = [20884] let s:lib.Codec.decoding_table["131,220"] = [20888] let s:lib.Codec.decoding_table["131,221"] = [20890] let s:lib.Codec.decoding_table["131,222"] = [20893] let s:lib.Codec.decoding_table["131,223"] = [20894] let s:lib.Codec.decoding_table["131,224"] = [20895] let s:lib.Codec.decoding_table["131,225"] = [20897] let s:lib.Codec.decoding_table["131,226"] = [20899] let s:lib.Codec.decoding_table["131,227"] = [20902] let s:lib.Codec.decoding_table["131,228"] = [20903] let s:lib.Codec.decoding_table["131,229"] = [20904] let s:lib.Codec.decoding_table["131,230"] = [20905] let s:lib.Codec.decoding_table["131,231"] = [20906] let s:lib.Codec.decoding_table["131,232"] = [20909] let s:lib.Codec.decoding_table["131,233"] = [20910] let s:lib.Codec.decoding_table["131,234"] = [20916] let s:lib.Codec.decoding_table["131,235"] = [20920] let s:lib.Codec.decoding_table["131,236"] = [20921] let s:lib.Codec.decoding_table["131,237"] = [20922] let s:lib.Codec.decoding_table["131,238"] = [20926] let s:lib.Codec.decoding_table["131,239"] = [20927] let s:lib.Codec.decoding_table["131,240"] = [20929] let s:lib.Codec.decoding_table["131,241"] = [20930] let s:lib.Codec.decoding_table["131,242"] = [20931] let s:lib.Codec.decoding_table["131,243"] = [20933] let s:lib.Codec.decoding_table["131,244"] = [20936] let s:lib.Codec.decoding_table["131,245"] = [20938] let s:lib.Codec.decoding_table["131,246"] = [20941] let s:lib.Codec.decoding_table["131,247"] = [20942] let s:lib.Codec.decoding_table["131,248"] = [20944] let s:lib.Codec.decoding_table["131,249"] = [20946] let s:lib.Codec.decoding_table["131,250"] = [20947] let s:lib.Codec.decoding_table["131,251"] = [20948] let s:lib.Codec.decoding_table["131,252"] = [20949] let s:lib.Codec.decoding_table["131,253"] = [20950] let s:lib.Codec.decoding_table["131,254"] = [20951] let s:lib.Codec.decoding_table["132,64"] = [20952] let s:lib.Codec.decoding_table["132,65"] = [20953] let s:lib.Codec.decoding_table["132,66"] = [20954] let s:lib.Codec.decoding_table["132,67"] = [20956] let s:lib.Codec.decoding_table["132,68"] = [20958] let s:lib.Codec.decoding_table["132,69"] = [20959] let s:lib.Codec.decoding_table["132,70"] = [20962] let s:lib.Codec.decoding_table["132,71"] = [20963] let s:lib.Codec.decoding_table["132,72"] = [20965] let s:lib.Codec.decoding_table["132,73"] = [20966] let s:lib.Codec.decoding_table["132,74"] = [20967] let s:lib.Codec.decoding_table["132,75"] = [20968] let s:lib.Codec.decoding_table["132,76"] = [20969] let s:lib.Codec.decoding_table["132,77"] = [20970] let s:lib.Codec.decoding_table["132,78"] = [20972] let s:lib.Codec.decoding_table["132,79"] = [20974] let s:lib.Codec.decoding_table["132,80"] = [20977] let s:lib.Codec.decoding_table["132,81"] = [20978] let s:lib.Codec.decoding_table["132,82"] = [20980] let s:lib.Codec.decoding_table["132,83"] = [20983] let s:lib.Codec.decoding_table["132,84"] = [20990] let s:lib.Codec.decoding_table["132,85"] = [20996] let s:lib.Codec.decoding_table["132,86"] = [20997] let s:lib.Codec.decoding_table["132,87"] = [21001] let s:lib.Codec.decoding_table["132,88"] = [21003] let s:lib.Codec.decoding_table["132,89"] = [21004] let s:lib.Codec.decoding_table["132,90"] = [21007] let s:lib.Codec.decoding_table["132,91"] = [21008] let s:lib.Codec.decoding_table["132,92"] = [21011] let s:lib.Codec.decoding_table["132,93"] = [21012] let s:lib.Codec.decoding_table["132,94"] = [21013] let s:lib.Codec.decoding_table["132,95"] = [21020] let s:lib.Codec.decoding_table["132,96"] = [21022] let s:lib.Codec.decoding_table["132,97"] = [21023] let s:lib.Codec.decoding_table["132,98"] = [21025] let s:lib.Codec.decoding_table["132,99"] = [21026] let s:lib.Codec.decoding_table["132,100"] = [21027] let s:lib.Codec.decoding_table["132,101"] = [21029] let s:lib.Codec.decoding_table["132,102"] = [21030] let s:lib.Codec.decoding_table["132,103"] = [21031] let s:lib.Codec.decoding_table["132,104"] = [21034] let s:lib.Codec.decoding_table["132,105"] = [21036] let s:lib.Codec.decoding_table["132,106"] = [21039] let s:lib.Codec.decoding_table["132,107"] = [21041] let s:lib.Codec.decoding_table["132,108"] = [21042] let s:lib.Codec.decoding_table["132,109"] = [21044] let s:lib.Codec.decoding_table["132,110"] = [21045] let s:lib.Codec.decoding_table["132,111"] = [21052] let s:lib.Codec.decoding_table["132,112"] = [21054] let s:lib.Codec.decoding_table["132,113"] = [21060] let s:lib.Codec.decoding_table["132,114"] = [21061] let s:lib.Codec.decoding_table["132,115"] = [21062] let s:lib.Codec.decoding_table["132,116"] = [21063] let s:lib.Codec.decoding_table["132,117"] = [21064] let s:lib.Codec.decoding_table["132,118"] = [21065] let s:lib.Codec.decoding_table["132,119"] = [21067] let s:lib.Codec.decoding_table["132,120"] = [21070] let s:lib.Codec.decoding_table["132,121"] = [21071] let s:lib.Codec.decoding_table["132,122"] = [21074] let s:lib.Codec.decoding_table["132,123"] = [21075] let s:lib.Codec.decoding_table["132,124"] = [21077] let s:lib.Codec.decoding_table["132,125"] = [21079] let s:lib.Codec.decoding_table["132,126"] = [21080] let s:lib.Codec.decoding_table["132,128"] = [21081] let s:lib.Codec.decoding_table["132,129"] = [21082] let s:lib.Codec.decoding_table["132,130"] = [21083] let s:lib.Codec.decoding_table["132,131"] = [21085] let s:lib.Codec.decoding_table["132,132"] = [21087] let s:lib.Codec.decoding_table["132,133"] = [21088] let s:lib.Codec.decoding_table["132,134"] = [21090] let s:lib.Codec.decoding_table["132,135"] = [21091] let s:lib.Codec.decoding_table["132,136"] = [21092] let s:lib.Codec.decoding_table["132,137"] = [21094] let s:lib.Codec.decoding_table["132,138"] = [21096] let s:lib.Codec.decoding_table["132,139"] = [21099] let s:lib.Codec.decoding_table["132,140"] = [21100] let s:lib.Codec.decoding_table["132,141"] = [21101] let s:lib.Codec.decoding_table["132,142"] = [21102] let s:lib.Codec.decoding_table["132,143"] = [21104] let s:lib.Codec.decoding_table["132,144"] = [21105] let s:lib.Codec.decoding_table["132,145"] = [21107] let s:lib.Codec.decoding_table["132,146"] = [21108] let s:lib.Codec.decoding_table["132,147"] = [21109] let s:lib.Codec.decoding_table["132,148"] = [21110] let s:lib.Codec.decoding_table["132,149"] = [21111] let s:lib.Codec.decoding_table["132,150"] = [21112] let s:lib.Codec.decoding_table["132,151"] = [21113] let s:lib.Codec.decoding_table["132,152"] = [21114] let s:lib.Codec.decoding_table["132,153"] = [21115] let s:lib.Codec.decoding_table["132,154"] = [21116] let s:lib.Codec.decoding_table["132,155"] = [21118] let s:lib.Codec.decoding_table["132,156"] = [21120] let s:lib.Codec.decoding_table["132,157"] = [21123] let s:lib.Codec.decoding_table["132,158"] = [21124] let s:lib.Codec.decoding_table["132,159"] = [21125] let s:lib.Codec.decoding_table["132,160"] = [21126] let s:lib.Codec.decoding_table["132,161"] = [21127] let s:lib.Codec.decoding_table["132,162"] = [21129] let s:lib.Codec.decoding_table["132,163"] = [21130] let s:lib.Codec.decoding_table["132,164"] = [21131] let s:lib.Codec.decoding_table["132,165"] = [21132] let s:lib.Codec.decoding_table["132,166"] = [21133] let s:lib.Codec.decoding_table["132,167"] = [21134] let s:lib.Codec.decoding_table["132,168"] = [21135] let s:lib.Codec.decoding_table["132,169"] = [21137] let s:lib.Codec.decoding_table["132,170"] = [21138] let s:lib.Codec.decoding_table["132,171"] = [21140] let s:lib.Codec.decoding_table["132,172"] = [21141] let s:lib.Codec.decoding_table["132,173"] = [21142] let s:lib.Codec.decoding_table["132,174"] = [21143] let s:lib.Codec.decoding_table["132,175"] = [21144] let s:lib.Codec.decoding_table["132,176"] = [21145] let s:lib.Codec.decoding_table["132,177"] = [21146] let s:lib.Codec.decoding_table["132,178"] = [21148] let s:lib.Codec.decoding_table["132,179"] = [21156] let s:lib.Codec.decoding_table["132,180"] = [21157] let s:lib.Codec.decoding_table["132,181"] = [21158] let s:lib.Codec.decoding_table["132,182"] = [21159] let s:lib.Codec.decoding_table["132,183"] = [21166] let s:lib.Codec.decoding_table["132,184"] = [21167] let s:lib.Codec.decoding_table["132,185"] = [21168] let s:lib.Codec.decoding_table["132,186"] = [21172] let s:lib.Codec.decoding_table["132,187"] = [21173] let s:lib.Codec.decoding_table["132,188"] = [21174] let s:lib.Codec.decoding_table["132,189"] = [21175] let s:lib.Codec.decoding_table["132,190"] = [21176] let s:lib.Codec.decoding_table["132,191"] = [21177] let s:lib.Codec.decoding_table["132,192"] = [21178] let s:lib.Codec.decoding_table["132,193"] = [21179] let s:lib.Codec.decoding_table["132,194"] = [21180] let s:lib.Codec.decoding_table["132,195"] = [21181] let s:lib.Codec.decoding_table["132,196"] = [21184] let s:lib.Codec.decoding_table["132,197"] = [21185] let s:lib.Codec.decoding_table["132,198"] = [21186] let s:lib.Codec.decoding_table["132,199"] = [21188] let s:lib.Codec.decoding_table["132,200"] = [21189] let s:lib.Codec.decoding_table["132,201"] = [21190] let s:lib.Codec.decoding_table["132,202"] = [21192] let s:lib.Codec.decoding_table["132,203"] = [21194] let s:lib.Codec.decoding_table["132,204"] = [21196] let s:lib.Codec.decoding_table["132,205"] = [21197] let s:lib.Codec.decoding_table["132,206"] = [21198] let s:lib.Codec.decoding_table["132,207"] = [21199] let s:lib.Codec.decoding_table["132,208"] = [21201] let s:lib.Codec.decoding_table["132,209"] = [21203] let s:lib.Codec.decoding_table["132,210"] = [21204] let s:lib.Codec.decoding_table["132,211"] = [21205] let s:lib.Codec.decoding_table["132,212"] = [21207] let s:lib.Codec.decoding_table["132,213"] = [21209] let s:lib.Codec.decoding_table["132,214"] = [21210] let s:lib.Codec.decoding_table["132,215"] = [21211] let s:lib.Codec.decoding_table["132,216"] = [21212] let s:lib.Codec.decoding_table["132,217"] = [21213] let s:lib.Codec.decoding_table["132,218"] = [21214] let s:lib.Codec.decoding_table["132,219"] = [21216] let s:lib.Codec.decoding_table["132,220"] = [21217] let s:lib.Codec.decoding_table["132,221"] = [21218] let s:lib.Codec.decoding_table["132,222"] = [21219] let s:lib.Codec.decoding_table["132,223"] = [21221] let s:lib.Codec.decoding_table["132,224"] = [21222] let s:lib.Codec.decoding_table["132,225"] = [21223] let s:lib.Codec.decoding_table["132,226"] = [21224] let s:lib.Codec.decoding_table["132,227"] = [21225] let s:lib.Codec.decoding_table["132,228"] = [21226] let s:lib.Codec.decoding_table["132,229"] = [21227] let s:lib.Codec.decoding_table["132,230"] = [21228] let s:lib.Codec.decoding_table["132,231"] = [21229] let s:lib.Codec.decoding_table["132,232"] = [21230] let s:lib.Codec.decoding_table["132,233"] = [21231] let s:lib.Codec.decoding_table["132,234"] = [21233] let s:lib.Codec.decoding_table["132,235"] = [21234] let s:lib.Codec.decoding_table["132,236"] = [21235] let s:lib.Codec.decoding_table["132,237"] = [21236] let s:lib.Codec.decoding_table["132,238"] = [21237] let s:lib.Codec.decoding_table["132,239"] = [21238] let s:lib.Codec.decoding_table["132,240"] = [21239] let s:lib.Codec.decoding_table["132,241"] = [21240] let s:lib.Codec.decoding_table["132,242"] = [21243] let s:lib.Codec.decoding_table["132,243"] = [21244] let s:lib.Codec.decoding_table["132,244"] = [21245] let s:lib.Codec.decoding_table["132,245"] = [21249] let s:lib.Codec.decoding_table["132,246"] = [21250] let s:lib.Codec.decoding_table["132,247"] = [21251] let s:lib.Codec.decoding_table["132,248"] = [21252] let s:lib.Codec.decoding_table["132,249"] = [21255] let s:lib.Codec.decoding_table["132,250"] = [21257] let s:lib.Codec.decoding_table["132,251"] = [21258] let s:lib.Codec.decoding_table["132,252"] = [21259] let s:lib.Codec.decoding_table["132,253"] = [21260] let s:lib.Codec.decoding_table["132,254"] = [21262] let s:lib.Codec.decoding_table["133,64"] = [21265] let s:lib.Codec.decoding_table["133,65"] = [21266] let s:lib.Codec.decoding_table["133,66"] = [21267] let s:lib.Codec.decoding_table["133,67"] = [21268] let s:lib.Codec.decoding_table["133,68"] = [21272] let s:lib.Codec.decoding_table["133,69"] = [21275] let s:lib.Codec.decoding_table["133,70"] = [21276] let s:lib.Codec.decoding_table["133,71"] = [21278] let s:lib.Codec.decoding_table["133,72"] = [21279] let s:lib.Codec.decoding_table["133,73"] = [21282] let s:lib.Codec.decoding_table["133,74"] = [21284] let s:lib.Codec.decoding_table["133,75"] = [21285] let s:lib.Codec.decoding_table["133,76"] = [21287] let s:lib.Codec.decoding_table["133,77"] = [21288] let s:lib.Codec.decoding_table["133,78"] = [21289] let s:lib.Codec.decoding_table["133,79"] = [21291] let s:lib.Codec.decoding_table["133,80"] = [21292] let s:lib.Codec.decoding_table["133,81"] = [21293] let s:lib.Codec.decoding_table["133,82"] = [21295] let s:lib.Codec.decoding_table["133,83"] = [21296] let s:lib.Codec.decoding_table["133,84"] = [21297] let s:lib.Codec.decoding_table["133,85"] = [21298] let s:lib.Codec.decoding_table["133,86"] = [21299] let s:lib.Codec.decoding_table["133,87"] = [21300] let s:lib.Codec.decoding_table["133,88"] = [21301] let s:lib.Codec.decoding_table["133,89"] = [21302] let s:lib.Codec.decoding_table["133,90"] = [21303] let s:lib.Codec.decoding_table["133,91"] = [21304] let s:lib.Codec.decoding_table["133,92"] = [21308] let s:lib.Codec.decoding_table["133,93"] = [21309] let s:lib.Codec.decoding_table["133,94"] = [21312] let s:lib.Codec.decoding_table["133,95"] = [21314] let s:lib.Codec.decoding_table["133,96"] = [21316] let s:lib.Codec.decoding_table["133,97"] = [21318] let s:lib.Codec.decoding_table["133,98"] = [21323] let s:lib.Codec.decoding_table["133,99"] = [21324] let s:lib.Codec.decoding_table["133,100"] = [21325] let s:lib.Codec.decoding_table["133,101"] = [21328] let s:lib.Codec.decoding_table["133,102"] = [21332] let s:lib.Codec.decoding_table["133,103"] = [21336] let s:lib.Codec.decoding_table["133,104"] = [21337] let s:lib.Codec.decoding_table["133,105"] = [21339] let s:lib.Codec.decoding_table["133,106"] = [21341] let s:lib.Codec.decoding_table["133,107"] = [21349] let s:lib.Codec.decoding_table["133,108"] = [21352] let s:lib.Codec.decoding_table["133,109"] = [21354] let s:lib.Codec.decoding_table["133,110"] = [21356] let s:lib.Codec.decoding_table["133,111"] = [21357] let s:lib.Codec.decoding_table["133,112"] = [21362] let s:lib.Codec.decoding_table["133,113"] = [21366] let s:lib.Codec.decoding_table["133,114"] = [21369] let s:lib.Codec.decoding_table["133,115"] = [21371] let s:lib.Codec.decoding_table["133,116"] = [21372] let s:lib.Codec.decoding_table["133,117"] = [21373] let s:lib.Codec.decoding_table["133,118"] = [21374] let s:lib.Codec.decoding_table["133,119"] = [21376] let s:lib.Codec.decoding_table["133,120"] = [21377] let s:lib.Codec.decoding_table["133,121"] = [21379] let s:lib.Codec.decoding_table["133,122"] = [21383] let s:lib.Codec.decoding_table["133,123"] = [21384] let s:lib.Codec.decoding_table["133,124"] = [21386] let s:lib.Codec.decoding_table["133,125"] = [21390] let s:lib.Codec.decoding_table["133,126"] = [21391] let s:lib.Codec.decoding_table["133,128"] = [21392] let s:lib.Codec.decoding_table["133,129"] = [21393] let s:lib.Codec.decoding_table["133,130"] = [21394] let s:lib.Codec.decoding_table["133,131"] = [21395] let s:lib.Codec.decoding_table["133,132"] = [21396] let s:lib.Codec.decoding_table["133,133"] = [21398] let s:lib.Codec.decoding_table["133,134"] = [21399] let s:lib.Codec.decoding_table["133,135"] = [21401] let s:lib.Codec.decoding_table["133,136"] = [21403] let s:lib.Codec.decoding_table["133,137"] = [21404] let s:lib.Codec.decoding_table["133,138"] = [21406] let s:lib.Codec.decoding_table["133,139"] = [21408] let s:lib.Codec.decoding_table["133,140"] = [21409] let s:lib.Codec.decoding_table["133,141"] = [21412] let s:lib.Codec.decoding_table["133,142"] = [21415] let s:lib.Codec.decoding_table["133,143"] = [21418] let s:lib.Codec.decoding_table["133,144"] = [21419] let s:lib.Codec.decoding_table["133,145"] = [21420] let s:lib.Codec.decoding_table["133,146"] = [21421] let s:lib.Codec.decoding_table["133,147"] = [21423] let s:lib.Codec.decoding_table["133,148"] = [21424] let s:lib.Codec.decoding_table["133,149"] = [21425] let s:lib.Codec.decoding_table["133,150"] = [21426] let s:lib.Codec.decoding_table["133,151"] = [21427] let s:lib.Codec.decoding_table["133,152"] = [21428] let s:lib.Codec.decoding_table["133,153"] = [21429] let s:lib.Codec.decoding_table["133,154"] = [21431] let s:lib.Codec.decoding_table["133,155"] = [21432] let s:lib.Codec.decoding_table["133,156"] = [21433] let s:lib.Codec.decoding_table["133,157"] = [21434] let s:lib.Codec.decoding_table["133,158"] = [21436] let s:lib.Codec.decoding_table["133,159"] = [21437] let s:lib.Codec.decoding_table["133,160"] = [21438] let s:lib.Codec.decoding_table["133,161"] = [21440] let s:lib.Codec.decoding_table["133,162"] = [21443] let s:lib.Codec.decoding_table["133,163"] = [21444] let s:lib.Codec.decoding_table["133,164"] = [21445] let s:lib.Codec.decoding_table["133,165"] = [21446] let s:lib.Codec.decoding_table["133,166"] = [21447] let s:lib.Codec.decoding_table["133,167"] = [21454] let s:lib.Codec.decoding_table["133,168"] = [21455] let s:lib.Codec.decoding_table["133,169"] = [21456] let s:lib.Codec.decoding_table["133,170"] = [21458] let s:lib.Codec.decoding_table["133,171"] = [21459] let s:lib.Codec.decoding_table["133,172"] = [21461] let s:lib.Codec.decoding_table["133,173"] = [21466] let s:lib.Codec.decoding_table["133,174"] = [21468] let s:lib.Codec.decoding_table["133,175"] = [21469] let s:lib.Codec.decoding_table["133,176"] = [21470] let s:lib.Codec.decoding_table["133,177"] = [21473] let s:lib.Codec.decoding_table["133,178"] = [21474] let s:lib.Codec.decoding_table["133,179"] = [21479] let s:lib.Codec.decoding_table["133,180"] = [21492] let s:lib.Codec.decoding_table["133,181"] = [21498] let s:lib.Codec.decoding_table["133,182"] = [21502] let s:lib.Codec.decoding_table["133,183"] = [21503] let s:lib.Codec.decoding_table["133,184"] = [21504] let s:lib.Codec.decoding_table["133,185"] = [21506] let s:lib.Codec.decoding_table["133,186"] = [21509] let s:lib.Codec.decoding_table["133,187"] = [21511] let s:lib.Codec.decoding_table["133,188"] = [21515] let s:lib.Codec.decoding_table["133,189"] = [21524] let s:lib.Codec.decoding_table["133,190"] = [21528] let s:lib.Codec.decoding_table["133,191"] = [21529] let s:lib.Codec.decoding_table["133,192"] = [21530] let s:lib.Codec.decoding_table["133,193"] = [21532] let s:lib.Codec.decoding_table["133,194"] = [21538] let s:lib.Codec.decoding_table["133,195"] = [21540] let s:lib.Codec.decoding_table["133,196"] = [21541] let s:lib.Codec.decoding_table["133,197"] = [21546] let s:lib.Codec.decoding_table["133,198"] = [21552] let s:lib.Codec.decoding_table["133,199"] = [21555] let s:lib.Codec.decoding_table["133,200"] = [21558] let s:lib.Codec.decoding_table["133,201"] = [21559] let s:lib.Codec.decoding_table["133,202"] = [21562] let s:lib.Codec.decoding_table["133,203"] = [21565] let s:lib.Codec.decoding_table["133,204"] = [21567] let s:lib.Codec.decoding_table["133,205"] = [21569] let s:lib.Codec.decoding_table["133,206"] = [21570] let s:lib.Codec.decoding_table["133,207"] = [21572] let s:lib.Codec.decoding_table["133,208"] = [21573] let s:lib.Codec.decoding_table["133,209"] = [21575] let s:lib.Codec.decoding_table["133,210"] = [21577] let s:lib.Codec.decoding_table["133,211"] = [21580] let s:lib.Codec.decoding_table["133,212"] = [21581] let s:lib.Codec.decoding_table["133,213"] = [21582] let s:lib.Codec.decoding_table["133,214"] = [21583] let s:lib.Codec.decoding_table["133,215"] = [21585] let s:lib.Codec.decoding_table["133,216"] = [21594] let s:lib.Codec.decoding_table["133,217"] = [21597] let s:lib.Codec.decoding_table["133,218"] = [21598] let s:lib.Codec.decoding_table["133,219"] = [21599] let s:lib.Codec.decoding_table["133,220"] = [21600] let s:lib.Codec.decoding_table["133,221"] = [21601] let s:lib.Codec.decoding_table["133,222"] = [21603] let s:lib.Codec.decoding_table["133,223"] = [21605] let s:lib.Codec.decoding_table["133,224"] = [21607] let s:lib.Codec.decoding_table["133,225"] = [21609] let s:lib.Codec.decoding_table["133,226"] = [21610] let s:lib.Codec.decoding_table["133,227"] = [21611] let s:lib.Codec.decoding_table["133,228"] = [21612] let s:lib.Codec.decoding_table["133,229"] = [21613] let s:lib.Codec.decoding_table["133,230"] = [21614] let s:lib.Codec.decoding_table["133,231"] = [21615] let s:lib.Codec.decoding_table["133,232"] = [21616] let s:lib.Codec.decoding_table["133,233"] = [21620] let s:lib.Codec.decoding_table["133,234"] = [21625] let s:lib.Codec.decoding_table["133,235"] = [21626] let s:lib.Codec.decoding_table["133,236"] = [21630] let s:lib.Codec.decoding_table["133,237"] = [21631] let s:lib.Codec.decoding_table["133,238"] = [21633] let s:lib.Codec.decoding_table["133,239"] = [21635] let s:lib.Codec.decoding_table["133,240"] = [21637] let s:lib.Codec.decoding_table["133,241"] = [21639] let s:lib.Codec.decoding_table["133,242"] = [21640] let s:lib.Codec.decoding_table["133,243"] = [21641] let s:lib.Codec.decoding_table["133,244"] = [21642] let s:lib.Codec.decoding_table["133,245"] = [21645] let s:lib.Codec.decoding_table["133,246"] = [21649] let s:lib.Codec.decoding_table["133,247"] = [21651] let s:lib.Codec.decoding_table["133,248"] = [21655] let s:lib.Codec.decoding_table["133,249"] = [21656] let s:lib.Codec.decoding_table["133,250"] = [21660] let s:lib.Codec.decoding_table["133,251"] = [21662] let s:lib.Codec.decoding_table["133,252"] = [21663] let s:lib.Codec.decoding_table["133,253"] = [21664] let s:lib.Codec.decoding_table["133,254"] = [21665] let s:lib.Codec.decoding_table["134,64"] = [21666] let s:lib.Codec.decoding_table["134,65"] = [21669] let s:lib.Codec.decoding_table["134,66"] = [21678] let s:lib.Codec.decoding_table["134,67"] = [21680] let s:lib.Codec.decoding_table["134,68"] = [21682] let s:lib.Codec.decoding_table["134,69"] = [21685] let s:lib.Codec.decoding_table["134,70"] = [21686] let s:lib.Codec.decoding_table["134,71"] = [21687] let s:lib.Codec.decoding_table["134,72"] = [21689] let s:lib.Codec.decoding_table["134,73"] = [21690] let s:lib.Codec.decoding_table["134,74"] = [21692] let s:lib.Codec.decoding_table["134,75"] = [21694] let s:lib.Codec.decoding_table["134,76"] = [21699] let s:lib.Codec.decoding_table["134,77"] = [21701] let s:lib.Codec.decoding_table["134,78"] = [21706] let s:lib.Codec.decoding_table["134,79"] = [21707] let s:lib.Codec.decoding_table["134,80"] = [21718] let s:lib.Codec.decoding_table["134,81"] = [21720] let s:lib.Codec.decoding_table["134,82"] = [21723] let s:lib.Codec.decoding_table["134,83"] = [21728] let s:lib.Codec.decoding_table["134,84"] = [21729] let s:lib.Codec.decoding_table["134,85"] = [21730] let s:lib.Codec.decoding_table["134,86"] = [21731] let s:lib.Codec.decoding_table["134,87"] = [21732] let s:lib.Codec.decoding_table["134,88"] = [21739] let s:lib.Codec.decoding_table["134,89"] = [21740] let s:lib.Codec.decoding_table["134,90"] = [21743] let s:lib.Codec.decoding_table["134,91"] = [21744] let s:lib.Codec.decoding_table["134,92"] = [21745] let s:lib.Codec.decoding_table["134,93"] = [21748] let s:lib.Codec.decoding_table["134,94"] = [21749] let s:lib.Codec.decoding_table["134,95"] = [21750] let s:lib.Codec.decoding_table["134,96"] = [21751] let s:lib.Codec.decoding_table["134,97"] = [21752] let s:lib.Codec.decoding_table["134,98"] = [21753] let s:lib.Codec.decoding_table["134,99"] = [21755] let s:lib.Codec.decoding_table["134,100"] = [21758] let s:lib.Codec.decoding_table["134,101"] = [21760] let s:lib.Codec.decoding_table["134,102"] = [21762] let s:lib.Codec.decoding_table["134,103"] = [21763] let s:lib.Codec.decoding_table["134,104"] = [21764] let s:lib.Codec.decoding_table["134,105"] = [21765] let s:lib.Codec.decoding_table["134,106"] = [21768] let s:lib.Codec.decoding_table["134,107"] = [21770] let s:lib.Codec.decoding_table["134,108"] = [21771] let s:lib.Codec.decoding_table["134,109"] = [21772] let s:lib.Codec.decoding_table["134,110"] = [21773] let s:lib.Codec.decoding_table["134,111"] = [21774] let s:lib.Codec.decoding_table["134,112"] = [21778] let s:lib.Codec.decoding_table["134,113"] = [21779] let s:lib.Codec.decoding_table["134,114"] = [21781] let s:lib.Codec.decoding_table["134,115"] = [21782] let s:lib.Codec.decoding_table["134,116"] = [21783] let s:lib.Codec.decoding_table["134,117"] = [21784] let s:lib.Codec.decoding_table["134,118"] = [21785] let s:lib.Codec.decoding_table["134,119"] = [21786] let s:lib.Codec.decoding_table["134,120"] = [21788] let s:lib.Codec.decoding_table["134,121"] = [21789] let s:lib.Codec.decoding_table["134,122"] = [21790] let s:lib.Codec.decoding_table["134,123"] = [21791] let s:lib.Codec.decoding_table["134,124"] = [21793] let s:lib.Codec.decoding_table["134,125"] = [21797] let s:lib.Codec.decoding_table["134,126"] = [21798] let s:lib.Codec.decoding_table["134,128"] = [21800] let s:lib.Codec.decoding_table["134,129"] = [21801] let s:lib.Codec.decoding_table["134,130"] = [21803] let s:lib.Codec.decoding_table["134,131"] = [21805] let s:lib.Codec.decoding_table["134,132"] = [21810] let s:lib.Codec.decoding_table["134,133"] = [21812] let s:lib.Codec.decoding_table["134,134"] = [21813] let s:lib.Codec.decoding_table["134,135"] = [21814] let s:lib.Codec.decoding_table["134,136"] = [21816] let s:lib.Codec.decoding_table["134,137"] = [21817] let s:lib.Codec.decoding_table["134,138"] = [21818] let s:lib.Codec.decoding_table["134,139"] = [21819] let s:lib.Codec.decoding_table["134,140"] = [21821] let s:lib.Codec.decoding_table["134,141"] = [21824] let s:lib.Codec.decoding_table["134,142"] = [21826] let s:lib.Codec.decoding_table["134,143"] = [21829] let s:lib.Codec.decoding_table["134,144"] = [21831] let s:lib.Codec.decoding_table["134,145"] = [21832] let s:lib.Codec.decoding_table["134,146"] = [21835] let s:lib.Codec.decoding_table["134,147"] = [21836] let s:lib.Codec.decoding_table["134,148"] = [21837] let s:lib.Codec.decoding_table["134,149"] = [21838] let s:lib.Codec.decoding_table["134,150"] = [21839] let s:lib.Codec.decoding_table["134,151"] = [21841] let s:lib.Codec.decoding_table["134,152"] = [21842] let s:lib.Codec.decoding_table["134,153"] = [21843] let s:lib.Codec.decoding_table["134,154"] = [21844] let s:lib.Codec.decoding_table["134,155"] = [21847] let s:lib.Codec.decoding_table["134,156"] = [21848] let s:lib.Codec.decoding_table["134,157"] = [21849] let s:lib.Codec.decoding_table["134,158"] = [21850] let s:lib.Codec.decoding_table["134,159"] = [21851] let s:lib.Codec.decoding_table["134,160"] = [21853] let s:lib.Codec.decoding_table["134,161"] = [21854] let s:lib.Codec.decoding_table["134,162"] = [21855] let s:lib.Codec.decoding_table["134,163"] = [21856] let s:lib.Codec.decoding_table["134,164"] = [21858] let s:lib.Codec.decoding_table["134,165"] = [21859] let s:lib.Codec.decoding_table["134,166"] = [21864] let s:lib.Codec.decoding_table["134,167"] = [21865] let s:lib.Codec.decoding_table["134,168"] = [21867] let s:lib.Codec.decoding_table["134,169"] = [21871] let s:lib.Codec.decoding_table["134,170"] = [21872] let s:lib.Codec.decoding_table["134,171"] = [21873] let s:lib.Codec.decoding_table["134,172"] = [21874] let s:lib.Codec.decoding_table["134,173"] = [21875] let s:lib.Codec.decoding_table["134,174"] = [21876] let s:lib.Codec.decoding_table["134,175"] = [21881] let s:lib.Codec.decoding_table["134,176"] = [21882] let s:lib.Codec.decoding_table["134,177"] = [21885] let s:lib.Codec.decoding_table["134,178"] = [21887] let s:lib.Codec.decoding_table["134,179"] = [21893] let s:lib.Codec.decoding_table["134,180"] = [21894] let s:lib.Codec.decoding_table["134,181"] = [21900] let s:lib.Codec.decoding_table["134,182"] = [21901] let s:lib.Codec.decoding_table["134,183"] = [21902] let s:lib.Codec.decoding_table["134,184"] = [21904] let s:lib.Codec.decoding_table["134,185"] = [21906] let s:lib.Codec.decoding_table["134,186"] = [21907] let s:lib.Codec.decoding_table["134,187"] = [21909] let s:lib.Codec.decoding_table["134,188"] = [21910] let s:lib.Codec.decoding_table["134,189"] = [21911] let s:lib.Codec.decoding_table["134,190"] = [21914] let s:lib.Codec.decoding_table["134,191"] = [21915] let s:lib.Codec.decoding_table["134,192"] = [21918] let s:lib.Codec.decoding_table["134,193"] = [21920] let s:lib.Codec.decoding_table["134,194"] = [21921] let s:lib.Codec.decoding_table["134,195"] = [21922] let s:lib.Codec.decoding_table["134,196"] = [21923] let s:lib.Codec.decoding_table["134,197"] = [21924] let s:lib.Codec.decoding_table["134,198"] = [21925] let s:lib.Codec.decoding_table["134,199"] = [21926] let s:lib.Codec.decoding_table["134,200"] = [21928] let s:lib.Codec.decoding_table["134,201"] = [21929] let s:lib.Codec.decoding_table["134,202"] = [21930] let s:lib.Codec.decoding_table["134,203"] = [21931] let s:lib.Codec.decoding_table["134,204"] = [21932] let s:lib.Codec.decoding_table["134,205"] = [21933] let s:lib.Codec.decoding_table["134,206"] = [21934] let s:lib.Codec.decoding_table["134,207"] = [21935] let s:lib.Codec.decoding_table["134,208"] = [21936] let s:lib.Codec.decoding_table["134,209"] = [21938] let s:lib.Codec.decoding_table["134,210"] = [21940] let s:lib.Codec.decoding_table["134,211"] = [21942] let s:lib.Codec.decoding_table["134,212"] = [21944] let s:lib.Codec.decoding_table["134,213"] = [21946] let s:lib.Codec.decoding_table["134,214"] = [21948] let s:lib.Codec.decoding_table["134,215"] = [21951] let s:lib.Codec.decoding_table["134,216"] = [21952] let s:lib.Codec.decoding_table["134,217"] = [21953] let s:lib.Codec.decoding_table["134,218"] = [21954] let s:lib.Codec.decoding_table["134,219"] = [21955] let s:lib.Codec.decoding_table["134,220"] = [21958] let s:lib.Codec.decoding_table["134,221"] = [21959] let s:lib.Codec.decoding_table["134,222"] = [21960] let s:lib.Codec.decoding_table["134,223"] = [21962] let s:lib.Codec.decoding_table["134,224"] = [21963] let s:lib.Codec.decoding_table["134,225"] = [21966] let s:lib.Codec.decoding_table["134,226"] = [21967] let s:lib.Codec.decoding_table["134,227"] = [21968] let s:lib.Codec.decoding_table["134,228"] = [21973] let s:lib.Codec.decoding_table["134,229"] = [21975] let s:lib.Codec.decoding_table["134,230"] = [21976] let s:lib.Codec.decoding_table["134,231"] = [21977] let s:lib.Codec.decoding_table["134,232"] = [21978] let s:lib.Codec.decoding_table["134,233"] = [21979] let s:lib.Codec.decoding_table["134,234"] = [21982] let s:lib.Codec.decoding_table["134,235"] = [21984] let s:lib.Codec.decoding_table["134,236"] = [21986] let s:lib.Codec.decoding_table["134,237"] = [21991] let s:lib.Codec.decoding_table["134,238"] = [21993] let s:lib.Codec.decoding_table["134,239"] = [21997] let s:lib.Codec.decoding_table["134,240"] = [21998] let s:lib.Codec.decoding_table["134,241"] = [22000] let s:lib.Codec.decoding_table["134,242"] = [22001] let s:lib.Codec.decoding_table["134,243"] = [22004] let s:lib.Codec.decoding_table["134,244"] = [22006] let s:lib.Codec.decoding_table["134,245"] = [22008] let s:lib.Codec.decoding_table["134,246"] = [22009] let s:lib.Codec.decoding_table["134,247"] = [22010] let s:lib.Codec.decoding_table["134,248"] = [22011] let s:lib.Codec.decoding_table["134,249"] = [22012] let s:lib.Codec.decoding_table["134,250"] = [22015] let s:lib.Codec.decoding_table["134,251"] = [22018] let s:lib.Codec.decoding_table["134,252"] = [22019] let s:lib.Codec.decoding_table["134,253"] = [22020] let s:lib.Codec.decoding_table["134,254"] = [22021] let s:lib.Codec.decoding_table["135,64"] = [22022] let s:lib.Codec.decoding_table["135,65"] = [22023] let s:lib.Codec.decoding_table["135,66"] = [22026] let s:lib.Codec.decoding_table["135,67"] = [22027] let s:lib.Codec.decoding_table["135,68"] = [22029] let s:lib.Codec.decoding_table["135,69"] = [22032] let s:lib.Codec.decoding_table["135,70"] = [22033] let s:lib.Codec.decoding_table["135,71"] = [22034] let s:lib.Codec.decoding_table["135,72"] = [22035] let s:lib.Codec.decoding_table["135,73"] = [22036] let s:lib.Codec.decoding_table["135,74"] = [22037] let s:lib.Codec.decoding_table["135,75"] = [22038] let s:lib.Codec.decoding_table["135,76"] = [22039] let s:lib.Codec.decoding_table["135,77"] = [22041] let s:lib.Codec.decoding_table["135,78"] = [22042] let s:lib.Codec.decoding_table["135,79"] = [22044] let s:lib.Codec.decoding_table["135,80"] = [22045] let s:lib.Codec.decoding_table["135,81"] = [22048] let s:lib.Codec.decoding_table["135,82"] = [22049] let s:lib.Codec.decoding_table["135,83"] = [22050] let s:lib.Codec.decoding_table["135,84"] = [22053] let s:lib.Codec.decoding_table["135,85"] = [22054] let s:lib.Codec.decoding_table["135,86"] = [22056] let s:lib.Codec.decoding_table["135,87"] = [22057] let s:lib.Codec.decoding_table["135,88"] = [22058] let s:lib.Codec.decoding_table["135,89"] = [22059] let s:lib.Codec.decoding_table["135,90"] = [22062] let s:lib.Codec.decoding_table["135,91"] = [22063] let s:lib.Codec.decoding_table["135,92"] = [22064] let s:lib.Codec.decoding_table["135,93"] = [22067] let s:lib.Codec.decoding_table["135,94"] = [22069] let s:lib.Codec.decoding_table["135,95"] = [22071] let s:lib.Codec.decoding_table["135,96"] = [22072] let s:lib.Codec.decoding_table["135,97"] = [22074] let s:lib.Codec.decoding_table["135,98"] = [22076] let s:lib.Codec.decoding_table["135,99"] = [22077] let s:lib.Codec.decoding_table["135,100"] = [22078] let s:lib.Codec.decoding_table["135,101"] = [22080] let s:lib.Codec.decoding_table["135,102"] = [22081] let s:lib.Codec.decoding_table["135,103"] = [22082] let s:lib.Codec.decoding_table["135,104"] = [22083] let s:lib.Codec.decoding_table["135,105"] = [22084] let s:lib.Codec.decoding_table["135,106"] = [22085] let s:lib.Codec.decoding_table["135,107"] = [22086] let s:lib.Codec.decoding_table["135,108"] = [22087] let s:lib.Codec.decoding_table["135,109"] = [22088] let s:lib.Codec.decoding_table["135,110"] = [22089] let s:lib.Codec.decoding_table["135,111"] = [22090] let s:lib.Codec.decoding_table["135,112"] = [22091] let s:lib.Codec.decoding_table["135,113"] = [22095] let s:lib.Codec.decoding_table["135,114"] = [22096] let s:lib.Codec.decoding_table["135,115"] = [22097] let s:lib.Codec.decoding_table["135,116"] = [22098] let s:lib.Codec.decoding_table["135,117"] = [22099] let s:lib.Codec.decoding_table["135,118"] = [22101] let s:lib.Codec.decoding_table["135,119"] = [22102] let s:lib.Codec.decoding_table["135,120"] = [22106] let s:lib.Codec.decoding_table["135,121"] = [22107] let s:lib.Codec.decoding_table["135,122"] = [22109] let s:lib.Codec.decoding_table["135,123"] = [22110] let s:lib.Codec.decoding_table["135,124"] = [22111] let s:lib.Codec.decoding_table["135,125"] = [22112] let s:lib.Codec.decoding_table["135,126"] = [22113] let s:lib.Codec.decoding_table["135,128"] = [22115] let s:lib.Codec.decoding_table["135,129"] = [22117] let s:lib.Codec.decoding_table["135,130"] = [22118] let s:lib.Codec.decoding_table["135,131"] = [22119] let s:lib.Codec.decoding_table["135,132"] = [22125] let s:lib.Codec.decoding_table["135,133"] = [22126] let s:lib.Codec.decoding_table["135,134"] = [22127] let s:lib.Codec.decoding_table["135,135"] = [22128] let s:lib.Codec.decoding_table["135,136"] = [22130] let s:lib.Codec.decoding_table["135,137"] = [22131] let s:lib.Codec.decoding_table["135,138"] = [22132] let s:lib.Codec.decoding_table["135,139"] = [22133] let s:lib.Codec.decoding_table["135,140"] = [22135] let s:lib.Codec.decoding_table["135,141"] = [22136] let s:lib.Codec.decoding_table["135,142"] = [22137] let s:lib.Codec.decoding_table["135,143"] = [22138] let s:lib.Codec.decoding_table["135,144"] = [22141] let s:lib.Codec.decoding_table["135,145"] = [22142] let s:lib.Codec.decoding_table["135,146"] = [22143] let s:lib.Codec.decoding_table["135,147"] = [22144] let s:lib.Codec.decoding_table["135,148"] = [22145] let s:lib.Codec.decoding_table["135,149"] = [22146] let s:lib.Codec.decoding_table["135,150"] = [22147] let s:lib.Codec.decoding_table["135,151"] = [22148] let s:lib.Codec.decoding_table["135,152"] = [22151] let s:lib.Codec.decoding_table["135,153"] = [22152] let s:lib.Codec.decoding_table["135,154"] = [22153] let s:lib.Codec.decoding_table["135,155"] = [22154] let s:lib.Codec.decoding_table["135,156"] = [22155] let s:lib.Codec.decoding_table["135,157"] = [22156] let s:lib.Codec.decoding_table["135,158"] = [22157] let s:lib.Codec.decoding_table["135,159"] = [22160] let s:lib.Codec.decoding_table["135,160"] = [22161] let s:lib.Codec.decoding_table["135,161"] = [22162] let s:lib.Codec.decoding_table["135,162"] = [22164] let s:lib.Codec.decoding_table["135,163"] = [22165] let s:lib.Codec.decoding_table["135,164"] = [22166] let s:lib.Codec.decoding_table["135,165"] = [22167] let s:lib.Codec.decoding_table["135,166"] = [22168] let s:lib.Codec.decoding_table["135,167"] = [22169] let s:lib.Codec.decoding_table["135,168"] = [22170] let s:lib.Codec.decoding_table["135,169"] = [22171] let s:lib.Codec.decoding_table["135,170"] = [22172] let s:lib.Codec.decoding_table["135,171"] = [22173] let s:lib.Codec.decoding_table["135,172"] = [22174] let s:lib.Codec.decoding_table["135,173"] = [22175] let s:lib.Codec.decoding_table["135,174"] = [22176] let s:lib.Codec.decoding_table["135,175"] = [22177] let s:lib.Codec.decoding_table["135,176"] = [22178] let s:lib.Codec.decoding_table["135,177"] = [22180] let s:lib.Codec.decoding_table["135,178"] = [22181] let s:lib.Codec.decoding_table["135,179"] = [22182] let s:lib.Codec.decoding_table["135,180"] = [22183] let s:lib.Codec.decoding_table["135,181"] = [22184] let s:lib.Codec.decoding_table["135,182"] = [22185] let s:lib.Codec.decoding_table["135,183"] = [22186] let s:lib.Codec.decoding_table["135,184"] = [22187] let s:lib.Codec.decoding_table["135,185"] = [22188] let s:lib.Codec.decoding_table["135,186"] = [22189] let s:lib.Codec.decoding_table["135,187"] = [22190] let s:lib.Codec.decoding_table["135,188"] = [22192] let s:lib.Codec.decoding_table["135,189"] = [22193] let s:lib.Codec.decoding_table["135,190"] = [22194] let s:lib.Codec.decoding_table["135,191"] = [22195] let s:lib.Codec.decoding_table["135,192"] = [22196] let s:lib.Codec.decoding_table["135,193"] = [22197] let s:lib.Codec.decoding_table["135,194"] = [22198] let s:lib.Codec.decoding_table["135,195"] = [22200] let s:lib.Codec.decoding_table["135,196"] = [22201] let s:lib.Codec.decoding_table["135,197"] = [22202] let s:lib.Codec.decoding_table["135,198"] = [22203] let s:lib.Codec.decoding_table["135,199"] = [22205] let s:lib.Codec.decoding_table["135,200"] = [22206] let s:lib.Codec.decoding_table["135,201"] = [22207] let s:lib.Codec.decoding_table["135,202"] = [22208] let s:lib.Codec.decoding_table["135,203"] = [22209] let s:lib.Codec.decoding_table["135,204"] = [22210] let s:lib.Codec.decoding_table["135,205"] = [22211] let s:lib.Codec.decoding_table["135,206"] = [22212] let s:lib.Codec.decoding_table["135,207"] = [22213] let s:lib.Codec.decoding_table["135,208"] = [22214] let s:lib.Codec.decoding_table["135,209"] = [22215] let s:lib.Codec.decoding_table["135,210"] = [22216] let s:lib.Codec.decoding_table["135,211"] = [22217] let s:lib.Codec.decoding_table["135,212"] = [22219] let s:lib.Codec.decoding_table["135,213"] = [22220] let s:lib.Codec.decoding_table["135,214"] = [22221] let s:lib.Codec.decoding_table["135,215"] = [22222] let s:lib.Codec.decoding_table["135,216"] = [22223] let s:lib.Codec.decoding_table["135,217"] = [22224] let s:lib.Codec.decoding_table["135,218"] = [22225] let s:lib.Codec.decoding_table["135,219"] = [22226] let s:lib.Codec.decoding_table["135,220"] = [22227] let s:lib.Codec.decoding_table["135,221"] = [22229] let s:lib.Codec.decoding_table["135,222"] = [22230] let s:lib.Codec.decoding_table["135,223"] = [22232] let s:lib.Codec.decoding_table["135,224"] = [22233] let s:lib.Codec.decoding_table["135,225"] = [22236] let s:lib.Codec.decoding_table["135,226"] = [22243] let s:lib.Codec.decoding_table["135,227"] = [22245] let s:lib.Codec.decoding_table["135,228"] = [22246] let s:lib.Codec.decoding_table["135,229"] = [22247] let s:lib.Codec.decoding_table["135,230"] = [22248] let s:lib.Codec.decoding_table["135,231"] = [22249] let s:lib.Codec.decoding_table["135,232"] = [22250] let s:lib.Codec.decoding_table["135,233"] = [22252] let s:lib.Codec.decoding_table["135,234"] = [22254] let s:lib.Codec.decoding_table["135,235"] = [22255] let s:lib.Codec.decoding_table["135,236"] = [22258] let s:lib.Codec.decoding_table["135,237"] = [22259] let s:lib.Codec.decoding_table["135,238"] = [22262] let s:lib.Codec.decoding_table["135,239"] = [22263] let s:lib.Codec.decoding_table["135,240"] = [22264] let s:lib.Codec.decoding_table["135,241"] = [22267] let s:lib.Codec.decoding_table["135,242"] = [22268] let s:lib.Codec.decoding_table["135,243"] = [22272] let s:lib.Codec.decoding_table["135,244"] = [22273] let s:lib.Codec.decoding_table["135,245"] = [22274] let s:lib.Codec.decoding_table["135,246"] = [22277] let s:lib.Codec.decoding_table["135,247"] = [22279] let s:lib.Codec.decoding_table["135,248"] = [22283] let s:lib.Codec.decoding_table["135,249"] = [22284] let s:lib.Codec.decoding_table["135,250"] = [22285] let s:lib.Codec.decoding_table["135,251"] = [22286] let s:lib.Codec.decoding_table["135,252"] = [22287] let s:lib.Codec.decoding_table["135,253"] = [22288] let s:lib.Codec.decoding_table["135,254"] = [22289] let s:lib.Codec.decoding_table["136,64"] = [22290] let s:lib.Codec.decoding_table["136,65"] = [22291] let s:lib.Codec.decoding_table["136,66"] = [22292] let s:lib.Codec.decoding_table["136,67"] = [22293] let s:lib.Codec.decoding_table["136,68"] = [22294] let s:lib.Codec.decoding_table["136,69"] = [22295] let s:lib.Codec.decoding_table["136,70"] = [22296] let s:lib.Codec.decoding_table["136,71"] = [22297] let s:lib.Codec.decoding_table["136,72"] = [22298] let s:lib.Codec.decoding_table["136,73"] = [22299] let s:lib.Codec.decoding_table["136,74"] = [22301] let s:lib.Codec.decoding_table["136,75"] = [22302] let s:lib.Codec.decoding_table["136,76"] = [22304] let s:lib.Codec.decoding_table["136,77"] = [22305] let s:lib.Codec.decoding_table["136,78"] = [22306] let s:lib.Codec.decoding_table["136,79"] = [22308] let s:lib.Codec.decoding_table["136,80"] = [22309] let s:lib.Codec.decoding_table["136,81"] = [22310] let s:lib.Codec.decoding_table["136,82"] = [22311] let s:lib.Codec.decoding_table["136,83"] = [22315] let s:lib.Codec.decoding_table["136,84"] = [22321] let s:lib.Codec.decoding_table["136,85"] = [22322] let s:lib.Codec.decoding_table["136,86"] = [22324] let s:lib.Codec.decoding_table["136,87"] = [22325] let s:lib.Codec.decoding_table["136,88"] = [22326] let s:lib.Codec.decoding_table["136,89"] = [22327] let s:lib.Codec.decoding_table["136,90"] = [22328] let s:lib.Codec.decoding_table["136,91"] = [22332] let s:lib.Codec.decoding_table["136,92"] = [22333] let s:lib.Codec.decoding_table["136,93"] = [22335] let s:lib.Codec.decoding_table["136,94"] = [22337] let s:lib.Codec.decoding_table["136,95"] = [22339] let s:lib.Codec.decoding_table["136,96"] = [22340] let s:lib.Codec.decoding_table["136,97"] = [22341] let s:lib.Codec.decoding_table["136,98"] = [22342] let s:lib.Codec.decoding_table["136,99"] = [22344] let s:lib.Codec.decoding_table["136,100"] = [22345] let s:lib.Codec.decoding_table["136,101"] = [22347] let s:lib.Codec.decoding_table["136,102"] = [22354] let s:lib.Codec.decoding_table["136,103"] = [22355] let s:lib.Codec.decoding_table["136,104"] = [22356] let s:lib.Codec.decoding_table["136,105"] = [22357] let s:lib.Codec.decoding_table["136,106"] = [22358] let s:lib.Codec.decoding_table["136,107"] = [22360] let s:lib.Codec.decoding_table["136,108"] = [22361] let s:lib.Codec.decoding_table["136,109"] = [22370] let s:lib.Codec.decoding_table["136,110"] = [22371] let s:lib.Codec.decoding_table["136,111"] = [22373] let s:lib.Codec.decoding_table["136,112"] = [22375] let s:lib.Codec.decoding_table["136,113"] = [22380] let s:lib.Codec.decoding_table["136,114"] = [22382] let s:lib.Codec.decoding_table["136,115"] = [22384] let s:lib.Codec.decoding_table["136,116"] = [22385] let s:lib.Codec.decoding_table["136,117"] = [22386] let s:lib.Codec.decoding_table["136,118"] = [22388] let s:lib.Codec.decoding_table["136,119"] = [22389] let s:lib.Codec.decoding_table["136,120"] = [22392] let s:lib.Codec.decoding_table["136,121"] = [22393] let s:lib.Codec.decoding_table["136,122"] = [22394] let s:lib.Codec.decoding_table["136,123"] = [22397] let s:lib.Codec.decoding_table["136,124"] = [22398] let s:lib.Codec.decoding_table["136,125"] = [22399] let s:lib.Codec.decoding_table["136,126"] = [22400] let s:lib.Codec.decoding_table["136,128"] = [22401] let s:lib.Codec.decoding_table["136,129"] = [22407] let s:lib.Codec.decoding_table["136,130"] = [22408] let s:lib.Codec.decoding_table["136,131"] = [22409] let s:lib.Codec.decoding_table["136,132"] = [22410] let s:lib.Codec.decoding_table["136,133"] = [22413] let s:lib.Codec.decoding_table["136,134"] = [22414] let s:lib.Codec.decoding_table["136,135"] = [22415] let s:lib.Codec.decoding_table["136,136"] = [22416] let s:lib.Codec.decoding_table["136,137"] = [22417] let s:lib.Codec.decoding_table["136,138"] = [22420] let s:lib.Codec.decoding_table["136,139"] = [22421] let s:lib.Codec.decoding_table["136,140"] = [22422] let s:lib.Codec.decoding_table["136,141"] = [22423] let s:lib.Codec.decoding_table["136,142"] = [22424] let s:lib.Codec.decoding_table["136,143"] = [22425] let s:lib.Codec.decoding_table["136,144"] = [22426] let s:lib.Codec.decoding_table["136,145"] = [22428] let s:lib.Codec.decoding_table["136,146"] = [22429] let s:lib.Codec.decoding_table["136,147"] = [22430] let s:lib.Codec.decoding_table["136,148"] = [22431] let s:lib.Codec.decoding_table["136,149"] = [22437] let s:lib.Codec.decoding_table["136,150"] = [22440] let s:lib.Codec.decoding_table["136,151"] = [22442] let s:lib.Codec.decoding_table["136,152"] = [22444] let s:lib.Codec.decoding_table["136,153"] = [22447] let s:lib.Codec.decoding_table["136,154"] = [22448] let s:lib.Codec.decoding_table["136,155"] = [22449] let s:lib.Codec.decoding_table["136,156"] = [22451] let s:lib.Codec.decoding_table["136,157"] = [22453] let s:lib.Codec.decoding_table["136,158"] = [22454] let s:lib.Codec.decoding_table["136,159"] = [22455] let s:lib.Codec.decoding_table["136,160"] = [22457] let s:lib.Codec.decoding_table["136,161"] = [22458] let s:lib.Codec.decoding_table["136,162"] = [22459] let s:lib.Codec.decoding_table["136,163"] = [22460] let s:lib.Codec.decoding_table["136,164"] = [22461] let s:lib.Codec.decoding_table["136,165"] = [22462] let s:lib.Codec.decoding_table["136,166"] = [22463] let s:lib.Codec.decoding_table["136,167"] = [22464] let s:lib.Codec.decoding_table["136,168"] = [22465] let s:lib.Codec.decoding_table["136,169"] = [22468] let s:lib.Codec.decoding_table["136,170"] = [22469] let s:lib.Codec.decoding_table["136,171"] = [22470] let s:lib.Codec.decoding_table["136,172"] = [22471] let s:lib.Codec.decoding_table["136,173"] = [22472] let s:lib.Codec.decoding_table["136,174"] = [22473] let s:lib.Codec.decoding_table["136,175"] = [22474] let s:lib.Codec.decoding_table["136,176"] = [22476] let s:lib.Codec.decoding_table["136,177"] = [22477] let s:lib.Codec.decoding_table["136,178"] = [22480] let s:lib.Codec.decoding_table["136,179"] = [22481] let s:lib.Codec.decoding_table["136,180"] = [22483] let s:lib.Codec.decoding_table["136,181"] = [22486] let s:lib.Codec.decoding_table["136,182"] = [22487] let s:lib.Codec.decoding_table["136,183"] = [22491] let s:lib.Codec.decoding_table["136,184"] = [22492] let s:lib.Codec.decoding_table["136,185"] = [22494] let s:lib.Codec.decoding_table["136,186"] = [22497] let s:lib.Codec.decoding_table["136,187"] = [22498] let s:lib.Codec.decoding_table["136,188"] = [22499] let s:lib.Codec.decoding_table["136,189"] = [22501] let s:lib.Codec.decoding_table["136,190"] = [22502] let s:lib.Codec.decoding_table["136,191"] = [22503] let s:lib.Codec.decoding_table["136,192"] = [22504] let s:lib.Codec.decoding_table["136,193"] = [22505] let s:lib.Codec.decoding_table["136,194"] = [22506] let s:lib.Codec.decoding_table["136,195"] = [22507] let s:lib.Codec.decoding_table["136,196"] = [22508] let s:lib.Codec.decoding_table["136,197"] = [22510] let s:lib.Codec.decoding_table["136,198"] = [22512] let s:lib.Codec.decoding_table["136,199"] = [22513] let s:lib.Codec.decoding_table["136,200"] = [22514] let s:lib.Codec.decoding_table["136,201"] = [22515] let s:lib.Codec.decoding_table["136,202"] = [22517] let s:lib.Codec.decoding_table["136,203"] = [22518] let s:lib.Codec.decoding_table["136,204"] = [22519] let s:lib.Codec.decoding_table["136,205"] = [22523] let s:lib.Codec.decoding_table["136,206"] = [22524] let s:lib.Codec.decoding_table["136,207"] = [22526] let s:lib.Codec.decoding_table["136,208"] = [22527] let s:lib.Codec.decoding_table["136,209"] = [22529] let s:lib.Codec.decoding_table["136,210"] = [22531] let s:lib.Codec.decoding_table["136,211"] = [22532] let s:lib.Codec.decoding_table["136,212"] = [22533] let s:lib.Codec.decoding_table["136,213"] = [22536] let s:lib.Codec.decoding_table["136,214"] = [22537] let s:lib.Codec.decoding_table["136,215"] = [22538] let s:lib.Codec.decoding_table["136,216"] = [22540] let s:lib.Codec.decoding_table["136,217"] = [22542] let s:lib.Codec.decoding_table["136,218"] = [22543] let s:lib.Codec.decoding_table["136,219"] = [22544] let s:lib.Codec.decoding_table["136,220"] = [22546] let s:lib.Codec.decoding_table["136,221"] = [22547] let s:lib.Codec.decoding_table["136,222"] = [22548] let s:lib.Codec.decoding_table["136,223"] = [22550] let s:lib.Codec.decoding_table["136,224"] = [22551] let s:lib.Codec.decoding_table["136,225"] = [22552] let s:lib.Codec.decoding_table["136,226"] = [22554] let s:lib.Codec.decoding_table["136,227"] = [22555] let s:lib.Codec.decoding_table["136,228"] = [22556] let s:lib.Codec.decoding_table["136,229"] = [22557] let s:lib.Codec.decoding_table["136,230"] = [22559] let s:lib.Codec.decoding_table["136,231"] = [22562] let s:lib.Codec.decoding_table["136,232"] = [22563] let s:lib.Codec.decoding_table["136,233"] = [22565] let s:lib.Codec.decoding_table["136,234"] = [22566] let s:lib.Codec.decoding_table["136,235"] = [22567] let s:lib.Codec.decoding_table["136,236"] = [22568] let s:lib.Codec.decoding_table["136,237"] = [22569] let s:lib.Codec.decoding_table["136,238"] = [22571] let s:lib.Codec.decoding_table["136,239"] = [22572] let s:lib.Codec.decoding_table["136,240"] = [22573] let s:lib.Codec.decoding_table["136,241"] = [22574] let s:lib.Codec.decoding_table["136,242"] = [22575] let s:lib.Codec.decoding_table["136,243"] = [22577] let s:lib.Codec.decoding_table["136,244"] = [22578] let s:lib.Codec.decoding_table["136,245"] = [22579] let s:lib.Codec.decoding_table["136,246"] = [22580] let s:lib.Codec.decoding_table["136,247"] = [22582] let s:lib.Codec.decoding_table["136,248"] = [22583] let s:lib.Codec.decoding_table["136,249"] = [22584] let s:lib.Codec.decoding_table["136,250"] = [22585] let s:lib.Codec.decoding_table["136,251"] = [22586] let s:lib.Codec.decoding_table["136,252"] = [22587] let s:lib.Codec.decoding_table["136,253"] = [22588] let s:lib.Codec.decoding_table["136,254"] = [22589] let s:lib.Codec.decoding_table["137,64"] = [22590] let s:lib.Codec.decoding_table["137,65"] = [22591] let s:lib.Codec.decoding_table["137,66"] = [22592] let s:lib.Codec.decoding_table["137,67"] = [22593] let s:lib.Codec.decoding_table["137,68"] = [22594] let s:lib.Codec.decoding_table["137,69"] = [22595] let s:lib.Codec.decoding_table["137,70"] = [22597] let s:lib.Codec.decoding_table["137,71"] = [22598] let s:lib.Codec.decoding_table["137,72"] = [22599] let s:lib.Codec.decoding_table["137,73"] = [22600] let s:lib.Codec.decoding_table["137,74"] = [22601] let s:lib.Codec.decoding_table["137,75"] = [22602] let s:lib.Codec.decoding_table["137,76"] = [22603] let s:lib.Codec.decoding_table["137,77"] = [22606] let s:lib.Codec.decoding_table["137,78"] = [22607] let s:lib.Codec.decoding_table["137,79"] = [22608] let s:lib.Codec.decoding_table["137,80"] = [22610] let s:lib.Codec.decoding_table["137,81"] = [22611] let s:lib.Codec.decoding_table["137,82"] = [22613] let s:lib.Codec.decoding_table["137,83"] = [22614] let s:lib.Codec.decoding_table["137,84"] = [22615] let s:lib.Codec.decoding_table["137,85"] = [22617] let s:lib.Codec.decoding_table["137,86"] = [22618] let s:lib.Codec.decoding_table["137,87"] = [22619] let s:lib.Codec.decoding_table["137,88"] = [22620] let s:lib.Codec.decoding_table["137,89"] = [22621] let s:lib.Codec.decoding_table["137,90"] = [22623] let s:lib.Codec.decoding_table["137,91"] = [22624] let s:lib.Codec.decoding_table["137,92"] = [22625] let s:lib.Codec.decoding_table["137,93"] = [22626] let s:lib.Codec.decoding_table["137,94"] = [22627] let s:lib.Codec.decoding_table["137,95"] = [22628] let s:lib.Codec.decoding_table["137,96"] = [22630] let s:lib.Codec.decoding_table["137,97"] = [22631] let s:lib.Codec.decoding_table["137,98"] = [22632] let s:lib.Codec.decoding_table["137,99"] = [22633] let s:lib.Codec.decoding_table["137,100"] = [22634] let s:lib.Codec.decoding_table["137,101"] = [22637] let s:lib.Codec.decoding_table["137,102"] = [22638] let s:lib.Codec.decoding_table["137,103"] = [22639] let s:lib.Codec.decoding_table["137,104"] = [22640] let s:lib.Codec.decoding_table["137,105"] = [22641] let s:lib.Codec.decoding_table["137,106"] = [22642] let s:lib.Codec.decoding_table["137,107"] = [22643] let s:lib.Codec.decoding_table["137,108"] = [22644] let s:lib.Codec.decoding_table["137,109"] = [22645] let s:lib.Codec.decoding_table["137,110"] = [22646] let s:lib.Codec.decoding_table["137,111"] = [22647] let s:lib.Codec.decoding_table["137,112"] = [22648] let s:lib.Codec.decoding_table["137,113"] = [22649] let s:lib.Codec.decoding_table["137,114"] = [22650] let s:lib.Codec.decoding_table["137,115"] = [22651] let s:lib.Codec.decoding_table["137,116"] = [22652] let s:lib.Codec.decoding_table["137,117"] = [22653] let s:lib.Codec.decoding_table["137,118"] = [22655] let s:lib.Codec.decoding_table["137,119"] = [22658] let s:lib.Codec.decoding_table["137,120"] = [22660] let s:lib.Codec.decoding_table["137,121"] = [22662] let s:lib.Codec.decoding_table["137,122"] = [22663] let s:lib.Codec.decoding_table["137,123"] = [22664] let s:lib.Codec.decoding_table["137,124"] = [22666] let s:lib.Codec.decoding_table["137,125"] = [22667] let s:lib.Codec.decoding_table["137,126"] = [22668] let s:lib.Codec.decoding_table["137,128"] = [22669] let s:lib.Codec.decoding_table["137,129"] = [22670] let s:lib.Codec.decoding_table["137,130"] = [22671] let s:lib.Codec.decoding_table["137,131"] = [22672] let s:lib.Codec.decoding_table["137,132"] = [22673] let s:lib.Codec.decoding_table["137,133"] = [22676] let s:lib.Codec.decoding_table["137,134"] = [22677] let s:lib.Codec.decoding_table["137,135"] = [22678] let s:lib.Codec.decoding_table["137,136"] = [22679] let s:lib.Codec.decoding_table["137,137"] = [22680] let s:lib.Codec.decoding_table["137,138"] = [22683] let s:lib.Codec.decoding_table["137,139"] = [22684] let s:lib.Codec.decoding_table["137,140"] = [22685] let s:lib.Codec.decoding_table["137,141"] = [22688] let s:lib.Codec.decoding_table["137,142"] = [22689] let s:lib.Codec.decoding_table["137,143"] = [22690] let s:lib.Codec.decoding_table["137,144"] = [22691] let s:lib.Codec.decoding_table["137,145"] = [22692] let s:lib.Codec.decoding_table["137,146"] = [22693] let s:lib.Codec.decoding_table["137,147"] = [22694] let s:lib.Codec.decoding_table["137,148"] = [22695] let s:lib.Codec.decoding_table["137,149"] = [22698] let s:lib.Codec.decoding_table["137,150"] = [22699] let s:lib.Codec.decoding_table["137,151"] = [22700] let s:lib.Codec.decoding_table["137,152"] = [22701] let s:lib.Codec.decoding_table["137,153"] = [22702] let s:lib.Codec.decoding_table["137,154"] = [22703] let s:lib.Codec.decoding_table["137,155"] = [22704] let s:lib.Codec.decoding_table["137,156"] = [22705] let s:lib.Codec.decoding_table["137,157"] = [22706] let s:lib.Codec.decoding_table["137,158"] = [22707] let s:lib.Codec.decoding_table["137,159"] = [22708] let s:lib.Codec.decoding_table["137,160"] = [22709] let s:lib.Codec.decoding_table["137,161"] = [22710] let s:lib.Codec.decoding_table["137,162"] = [22711] let s:lib.Codec.decoding_table["137,163"] = [22712] let s:lib.Codec.decoding_table["137,164"] = [22713] let s:lib.Codec.decoding_table["137,165"] = [22714] let s:lib.Codec.decoding_table["137,166"] = [22715] let s:lib.Codec.decoding_table["137,167"] = [22717] let s:lib.Codec.decoding_table["137,168"] = [22718] let s:lib.Codec.decoding_table["137,169"] = [22719] let s:lib.Codec.decoding_table["137,170"] = [22720] let s:lib.Codec.decoding_table["137,171"] = [22722] let s:lib.Codec.decoding_table["137,172"] = [22723] let s:lib.Codec.decoding_table["137,173"] = [22724] let s:lib.Codec.decoding_table["137,174"] = [22726] let s:lib.Codec.decoding_table["137,175"] = [22727] let s:lib.Codec.decoding_table["137,176"] = [22728] let s:lib.Codec.decoding_table["137,177"] = [22729] let s:lib.Codec.decoding_table["137,178"] = [22730] let s:lib.Codec.decoding_table["137,179"] = [22731] let s:lib.Codec.decoding_table["137,180"] = [22732] let s:lib.Codec.decoding_table["137,181"] = [22733] let s:lib.Codec.decoding_table["137,182"] = [22734] let s:lib.Codec.decoding_table["137,183"] = [22735] let s:lib.Codec.decoding_table["137,184"] = [22736] let s:lib.Codec.decoding_table["137,185"] = [22738] let s:lib.Codec.decoding_table["137,186"] = [22739] let s:lib.Codec.decoding_table["137,187"] = [22740] let s:lib.Codec.decoding_table["137,188"] = [22742] let s:lib.Codec.decoding_table["137,189"] = [22743] let s:lib.Codec.decoding_table["137,190"] = [22744] let s:lib.Codec.decoding_table["137,191"] = [22745] let s:lib.Codec.decoding_table["137,192"] = [22746] let s:lib.Codec.decoding_table["137,193"] = [22747] let s:lib.Codec.decoding_table["137,194"] = [22748] let s:lib.Codec.decoding_table["137,195"] = [22749] let s:lib.Codec.decoding_table["137,196"] = [22750] let s:lib.Codec.decoding_table["137,197"] = [22751] let s:lib.Codec.decoding_table["137,198"] = [22752] let s:lib.Codec.decoding_table["137,199"] = [22753] let s:lib.Codec.decoding_table["137,200"] = [22754] let s:lib.Codec.decoding_table["137,201"] = [22755] let s:lib.Codec.decoding_table["137,202"] = [22757] let s:lib.Codec.decoding_table["137,203"] = [22758] let s:lib.Codec.decoding_table["137,204"] = [22759] let s:lib.Codec.decoding_table["137,205"] = [22760] let s:lib.Codec.decoding_table["137,206"] = [22761] let s:lib.Codec.decoding_table["137,207"] = [22762] let s:lib.Codec.decoding_table["137,208"] = [22765] let s:lib.Codec.decoding_table["137,209"] = [22767] let s:lib.Codec.decoding_table["137,210"] = [22769] let s:lib.Codec.decoding_table["137,211"] = [22770] let s:lib.Codec.decoding_table["137,212"] = [22772] let s:lib.Codec.decoding_table["137,213"] = [22773] let s:lib.Codec.decoding_table["137,214"] = [22775] let s:lib.Codec.decoding_table["137,215"] = [22776] let s:lib.Codec.decoding_table["137,216"] = [22778] let s:lib.Codec.decoding_table["137,217"] = [22779] let s:lib.Codec.decoding_table["137,218"] = [22780] let s:lib.Codec.decoding_table["137,219"] = [22781] let s:lib.Codec.decoding_table["137,220"] = [22782] let s:lib.Codec.decoding_table["137,221"] = [22783] let s:lib.Codec.decoding_table["137,222"] = [22784] let s:lib.Codec.decoding_table["137,223"] = [22785] let s:lib.Codec.decoding_table["137,224"] = [22787] let s:lib.Codec.decoding_table["137,225"] = [22789] let s:lib.Codec.decoding_table["137,226"] = [22790] let s:lib.Codec.decoding_table["137,227"] = [22792] let s:lib.Codec.decoding_table["137,228"] = [22793] let s:lib.Codec.decoding_table["137,229"] = [22794] let s:lib.Codec.decoding_table["137,230"] = [22795] let s:lib.Codec.decoding_table["137,231"] = [22796] let s:lib.Codec.decoding_table["137,232"] = [22798] let s:lib.Codec.decoding_table["137,233"] = [22800] let s:lib.Codec.decoding_table["137,234"] = [22801] let s:lib.Codec.decoding_table["137,235"] = [22802] let s:lib.Codec.decoding_table["137,236"] = [22803] let s:lib.Codec.decoding_table["137,237"] = [22807] let s:lib.Codec.decoding_table["137,238"] = [22808] let s:lib.Codec.decoding_table["137,239"] = [22811] let s:lib.Codec.decoding_table["137,240"] = [22813] let s:lib.Codec.decoding_table["137,241"] = [22814] let s:lib.Codec.decoding_table["137,242"] = [22816] let s:lib.Codec.decoding_table["137,243"] = [22817] let s:lib.Codec.decoding_table["137,244"] = [22818] let s:lib.Codec.decoding_table["137,245"] = [22819] let s:lib.Codec.decoding_table["137,246"] = [22822] let s:lib.Codec.decoding_table["137,247"] = [22824] let s:lib.Codec.decoding_table["137,248"] = [22828] let s:lib.Codec.decoding_table["137,249"] = [22832] let s:lib.Codec.decoding_table["137,250"] = [22834] let s:lib.Codec.decoding_table["137,251"] = [22835] let s:lib.Codec.decoding_table["137,252"] = [22837] let s:lib.Codec.decoding_table["137,253"] = [22838] let s:lib.Codec.decoding_table["137,254"] = [22843] let s:lib.Codec.decoding_table["138,64"] = [22845] let s:lib.Codec.decoding_table["138,65"] = [22846] let s:lib.Codec.decoding_table["138,66"] = [22847] let s:lib.Codec.decoding_table["138,67"] = [22848] let s:lib.Codec.decoding_table["138,68"] = [22851] let s:lib.Codec.decoding_table["138,69"] = [22853] let s:lib.Codec.decoding_table["138,70"] = [22854] let s:lib.Codec.decoding_table["138,71"] = [22858] let s:lib.Codec.decoding_table["138,72"] = [22860] let s:lib.Codec.decoding_table["138,73"] = [22861] let s:lib.Codec.decoding_table["138,74"] = [22864] let s:lib.Codec.decoding_table["138,75"] = [22866] let s:lib.Codec.decoding_table["138,76"] = [22867] let s:lib.Codec.decoding_table["138,77"] = [22873] let s:lib.Codec.decoding_table["138,78"] = [22875] let s:lib.Codec.decoding_table["138,79"] = [22876] let s:lib.Codec.decoding_table["138,80"] = [22877] let s:lib.Codec.decoding_table["138,81"] = [22878] let s:lib.Codec.decoding_table["138,82"] = [22879] let s:lib.Codec.decoding_table["138,83"] = [22881] let s:lib.Codec.decoding_table["138,84"] = [22883] let s:lib.Codec.decoding_table["138,85"] = [22884] let s:lib.Codec.decoding_table["138,86"] = [22886] let s:lib.Codec.decoding_table["138,87"] = [22887] let s:lib.Codec.decoding_table["138,88"] = [22888] let s:lib.Codec.decoding_table["138,89"] = [22889] let s:lib.Codec.decoding_table["138,90"] = [22890] let s:lib.Codec.decoding_table["138,91"] = [22891] let s:lib.Codec.decoding_table["138,92"] = [22892] let s:lib.Codec.decoding_table["138,93"] = [22893] let s:lib.Codec.decoding_table["138,94"] = [22894] let s:lib.Codec.decoding_table["138,95"] = [22895] let s:lib.Codec.decoding_table["138,96"] = [22896] let s:lib.Codec.decoding_table["138,97"] = [22897] let s:lib.Codec.decoding_table["138,98"] = [22898] let s:lib.Codec.decoding_table["138,99"] = [22901] let s:lib.Codec.decoding_table["138,100"] = [22903] let s:lib.Codec.decoding_table["138,101"] = [22906] let s:lib.Codec.decoding_table["138,102"] = [22907] let s:lib.Codec.decoding_table["138,103"] = [22908] let s:lib.Codec.decoding_table["138,104"] = [22910] let s:lib.Codec.decoding_table["138,105"] = [22911] let s:lib.Codec.decoding_table["138,106"] = [22912] let s:lib.Codec.decoding_table["138,107"] = [22917] let s:lib.Codec.decoding_table["138,108"] = [22921] let s:lib.Codec.decoding_table["138,109"] = [22923] let s:lib.Codec.decoding_table["138,110"] = [22924] let s:lib.Codec.decoding_table["138,111"] = [22926] let s:lib.Codec.decoding_table["138,112"] = [22927] let s:lib.Codec.decoding_table["138,113"] = [22928] let s:lib.Codec.decoding_table["138,114"] = [22929] let s:lib.Codec.decoding_table["138,115"] = [22932] let s:lib.Codec.decoding_table["138,116"] = [22933] let s:lib.Codec.decoding_table["138,117"] = [22936] let s:lib.Codec.decoding_table["138,118"] = [22938] let s:lib.Codec.decoding_table["138,119"] = [22939] let s:lib.Codec.decoding_table["138,120"] = [22940] let s:lib.Codec.decoding_table["138,121"] = [22941] let s:lib.Codec.decoding_table["138,122"] = [22943] let s:lib.Codec.decoding_table["138,123"] = [22944] let s:lib.Codec.decoding_table["138,124"] = [22945] let s:lib.Codec.decoding_table["138,125"] = [22946] let s:lib.Codec.decoding_table["138,126"] = [22950] let s:lib.Codec.decoding_table["138,128"] = [22951] let s:lib.Codec.decoding_table["138,129"] = [22956] let s:lib.Codec.decoding_table["138,130"] = [22957] let s:lib.Codec.decoding_table["138,131"] = [22960] let s:lib.Codec.decoding_table["138,132"] = [22961] let s:lib.Codec.decoding_table["138,133"] = [22963] let s:lib.Codec.decoding_table["138,134"] = [22964] let s:lib.Codec.decoding_table["138,135"] = [22965] let s:lib.Codec.decoding_table["138,136"] = [22966] let s:lib.Codec.decoding_table["138,137"] = [22967] let s:lib.Codec.decoding_table["138,138"] = [22968] let s:lib.Codec.decoding_table["138,139"] = [22970] let s:lib.Codec.decoding_table["138,140"] = [22972] let s:lib.Codec.decoding_table["138,141"] = [22973] let s:lib.Codec.decoding_table["138,142"] = [22975] let s:lib.Codec.decoding_table["138,143"] = [22976] let s:lib.Codec.decoding_table["138,144"] = [22977] let s:lib.Codec.decoding_table["138,145"] = [22978] let s:lib.Codec.decoding_table["138,146"] = [22979] let s:lib.Codec.decoding_table["138,147"] = [22980] let s:lib.Codec.decoding_table["138,148"] = [22981] let s:lib.Codec.decoding_table["138,149"] = [22983] let s:lib.Codec.decoding_table["138,150"] = [22984] let s:lib.Codec.decoding_table["138,151"] = [22985] let s:lib.Codec.decoding_table["138,152"] = [22988] let s:lib.Codec.decoding_table["138,153"] = [22989] let s:lib.Codec.decoding_table["138,154"] = [22990] let s:lib.Codec.decoding_table["138,155"] = [22991] let s:lib.Codec.decoding_table["138,156"] = [22997] let s:lib.Codec.decoding_table["138,157"] = [22998] let s:lib.Codec.decoding_table["138,158"] = [23001] let s:lib.Codec.decoding_table["138,159"] = [23003] let s:lib.Codec.decoding_table["138,160"] = [23006] let s:lib.Codec.decoding_table["138,161"] = [23007] let s:lib.Codec.decoding_table["138,162"] = [23008] let s:lib.Codec.decoding_table["138,163"] = [23009] let s:lib.Codec.decoding_table["138,164"] = [23010] let s:lib.Codec.decoding_table["138,165"] = [23012] let s:lib.Codec.decoding_table["138,166"] = [23014] let s:lib.Codec.decoding_table["138,167"] = [23015] let s:lib.Codec.decoding_table["138,168"] = [23017] let s:lib.Codec.decoding_table["138,169"] = [23018] let s:lib.Codec.decoding_table["138,170"] = [23019] let s:lib.Codec.decoding_table["138,171"] = [23021] let s:lib.Codec.decoding_table["138,172"] = [23022] let s:lib.Codec.decoding_table["138,173"] = [23023] let s:lib.Codec.decoding_table["138,174"] = [23024] let s:lib.Codec.decoding_table["138,175"] = [23025] let s:lib.Codec.decoding_table["138,176"] = [23026] let s:lib.Codec.decoding_table["138,177"] = [23027] let s:lib.Codec.decoding_table["138,178"] = [23028] let s:lib.Codec.decoding_table["138,179"] = [23029] let s:lib.Codec.decoding_table["138,180"] = [23030] let s:lib.Codec.decoding_table["138,181"] = [23031] let s:lib.Codec.decoding_table["138,182"] = [23032] let s:lib.Codec.decoding_table["138,183"] = [23034] let s:lib.Codec.decoding_table["138,184"] = [23036] let s:lib.Codec.decoding_table["138,185"] = [23037] let s:lib.Codec.decoding_table["138,186"] = [23038] let s:lib.Codec.decoding_table["138,187"] = [23040] let s:lib.Codec.decoding_table["138,188"] = [23042] let s:lib.Codec.decoding_table["138,189"] = [23050] let s:lib.Codec.decoding_table["138,190"] = [23051] let s:lib.Codec.decoding_table["138,191"] = [23053] let s:lib.Codec.decoding_table["138,192"] = [23054] let s:lib.Codec.decoding_table["138,193"] = [23055] let s:lib.Codec.decoding_table["138,194"] = [23056] let s:lib.Codec.decoding_table["138,195"] = [23058] let s:lib.Codec.decoding_table["138,196"] = [23060] let s:lib.Codec.decoding_table["138,197"] = [23061] let s:lib.Codec.decoding_table["138,198"] = [23062] let s:lib.Codec.decoding_table["138,199"] = [23063] let s:lib.Codec.decoding_table["138,200"] = [23065] let s:lib.Codec.decoding_table["138,201"] = [23066] let s:lib.Codec.decoding_table["138,202"] = [23067] let s:lib.Codec.decoding_table["138,203"] = [23069] let s:lib.Codec.decoding_table["138,204"] = [23070] let s:lib.Codec.decoding_table["138,205"] = [23073] let s:lib.Codec.decoding_table["138,206"] = [23074] let s:lib.Codec.decoding_table["138,207"] = [23076] let s:lib.Codec.decoding_table["138,208"] = [23078] let s:lib.Codec.decoding_table["138,209"] = [23079] let s:lib.Codec.decoding_table["138,210"] = [23080] let s:lib.Codec.decoding_table["138,211"] = [23082] let s:lib.Codec.decoding_table["138,212"] = [23083] let s:lib.Codec.decoding_table["138,213"] = [23084] let s:lib.Codec.decoding_table["138,214"] = [23085] let s:lib.Codec.decoding_table["138,215"] = [23086] let s:lib.Codec.decoding_table["138,216"] = [23087] let s:lib.Codec.decoding_table["138,217"] = [23088] let s:lib.Codec.decoding_table["138,218"] = [23091] let s:lib.Codec.decoding_table["138,219"] = [23093] let s:lib.Codec.decoding_table["138,220"] = [23095] let s:lib.Codec.decoding_table["138,221"] = [23096] let s:lib.Codec.decoding_table["138,222"] = [23097] let s:lib.Codec.decoding_table["138,223"] = [23098] let s:lib.Codec.decoding_table["138,224"] = [23099] let s:lib.Codec.decoding_table["138,225"] = [23101] let s:lib.Codec.decoding_table["138,226"] = [23102] let s:lib.Codec.decoding_table["138,227"] = [23103] let s:lib.Codec.decoding_table["138,228"] = [23105] let s:lib.Codec.decoding_table["138,229"] = [23106] let s:lib.Codec.decoding_table["138,230"] = [23107] let s:lib.Codec.decoding_table["138,231"] = [23108] let s:lib.Codec.decoding_table["138,232"] = [23109] let s:lib.Codec.decoding_table["138,233"] = [23111] let s:lib.Codec.decoding_table["138,234"] = [23112] let s:lib.Codec.decoding_table["138,235"] = [23115] let s:lib.Codec.decoding_table["138,236"] = [23116] let s:lib.Codec.decoding_table["138,237"] = [23117] let s:lib.Codec.decoding_table["138,238"] = [23118] let s:lib.Codec.decoding_table["138,239"] = [23119] let s:lib.Codec.decoding_table["138,240"] = [23120] let s:lib.Codec.decoding_table["138,241"] = [23121] let s:lib.Codec.decoding_table["138,242"] = [23122] let s:lib.Codec.decoding_table["138,243"] = [23123] let s:lib.Codec.decoding_table["138,244"] = [23124] let s:lib.Codec.decoding_table["138,245"] = [23126] let s:lib.Codec.decoding_table["138,246"] = [23127] let s:lib.Codec.decoding_table["138,247"] = [23128] let s:lib.Codec.decoding_table["138,248"] = [23129] let s:lib.Codec.decoding_table["138,249"] = [23131] let s:lib.Codec.decoding_table["138,250"] = [23132] let s:lib.Codec.decoding_table["138,251"] = [23133] let s:lib.Codec.decoding_table["138,252"] = [23134] let s:lib.Codec.decoding_table["138,253"] = [23135] let s:lib.Codec.decoding_table["138,254"] = [23136] let s:lib.Codec.decoding_table["139,64"] = [23137] let s:lib.Codec.decoding_table["139,65"] = [23139] let s:lib.Codec.decoding_table["139,66"] = [23140] let s:lib.Codec.decoding_table["139,67"] = [23141] let s:lib.Codec.decoding_table["139,68"] = [23142] let s:lib.Codec.decoding_table["139,69"] = [23144] let s:lib.Codec.decoding_table["139,70"] = [23145] let s:lib.Codec.decoding_table["139,71"] = [23147] let s:lib.Codec.decoding_table["139,72"] = [23148] let s:lib.Codec.decoding_table["139,73"] = [23149] let s:lib.Codec.decoding_table["139,74"] = [23150] let s:lib.Codec.decoding_table["139,75"] = [23151] let s:lib.Codec.decoding_table["139,76"] = [23152] let s:lib.Codec.decoding_table["139,77"] = [23153] let s:lib.Codec.decoding_table["139,78"] = [23154] let s:lib.Codec.decoding_table["139,79"] = [23155] let s:lib.Codec.decoding_table["139,80"] = [23160] let s:lib.Codec.decoding_table["139,81"] = [23161] let s:lib.Codec.decoding_table["139,82"] = [23163] let s:lib.Codec.decoding_table["139,83"] = [23164] let s:lib.Codec.decoding_table["139,84"] = [23165] let s:lib.Codec.decoding_table["139,85"] = [23166] let s:lib.Codec.decoding_table["139,86"] = [23168] let s:lib.Codec.decoding_table["139,87"] = [23169] let s:lib.Codec.decoding_table["139,88"] = [23170] let s:lib.Codec.decoding_table["139,89"] = [23171] let s:lib.Codec.decoding_table["139,90"] = [23172] let s:lib.Codec.decoding_table["139,91"] = [23173] let s:lib.Codec.decoding_table["139,92"] = [23174] let s:lib.Codec.decoding_table["139,93"] = [23175] let s:lib.Codec.decoding_table["139,94"] = [23176] let s:lib.Codec.decoding_table["139,95"] = [23177] let s:lib.Codec.decoding_table["139,96"] = [23178] let s:lib.Codec.decoding_table["139,97"] = [23179] let s:lib.Codec.decoding_table["139,98"] = [23180] let s:lib.Codec.decoding_table["139,99"] = [23181] let s:lib.Codec.decoding_table["139,100"] = [23182] let s:lib.Codec.decoding_table["139,101"] = [23183] let s:lib.Codec.decoding_table["139,102"] = [23184] let s:lib.Codec.decoding_table["139,103"] = [23185] let s:lib.Codec.decoding_table["139,104"] = [23187] let s:lib.Codec.decoding_table["139,105"] = [23188] let s:lib.Codec.decoding_table["139,106"] = [23189] let s:lib.Codec.decoding_table["139,107"] = [23190] let s:lib.Codec.decoding_table["139,108"] = [23191] let s:lib.Codec.decoding_table["139,109"] = [23192] let s:lib.Codec.decoding_table["139,110"] = [23193] let s:lib.Codec.decoding_table["139,111"] = [23196] let s:lib.Codec.decoding_table["139,112"] = [23197] let s:lib.Codec.decoding_table["139,113"] = [23198] let s:lib.Codec.decoding_table["139,114"] = [23199] let s:lib.Codec.decoding_table["139,115"] = [23200] let s:lib.Codec.decoding_table["139,116"] = [23201] let s:lib.Codec.decoding_table["139,117"] = [23202] let s:lib.Codec.decoding_table["139,118"] = [23203] let s:lib.Codec.decoding_table["139,119"] = [23204] let s:lib.Codec.decoding_table["139,120"] = [23205] let s:lib.Codec.decoding_table["139,121"] = [23206] let s:lib.Codec.decoding_table["139,122"] = [23207] let s:lib.Codec.decoding_table["139,123"] = [23208] let s:lib.Codec.decoding_table["139,124"] = [23209] let s:lib.Codec.decoding_table["139,125"] = [23211] let s:lib.Codec.decoding_table["139,126"] = [23212] let s:lib.Codec.decoding_table["139,128"] = [23213] let s:lib.Codec.decoding_table["139,129"] = [23214] let s:lib.Codec.decoding_table["139,130"] = [23215] let s:lib.Codec.decoding_table["139,131"] = [23216] let s:lib.Codec.decoding_table["139,132"] = [23217] let s:lib.Codec.decoding_table["139,133"] = [23220] let s:lib.Codec.decoding_table["139,134"] = [23222] let s:lib.Codec.decoding_table["139,135"] = [23223] let s:lib.Codec.decoding_table["139,136"] = [23225] let s:lib.Codec.decoding_table["139,137"] = [23226] let s:lib.Codec.decoding_table["139,138"] = [23227] let s:lib.Codec.decoding_table["139,139"] = [23228] let s:lib.Codec.decoding_table["139,140"] = [23229] let s:lib.Codec.decoding_table["139,141"] = [23231] let s:lib.Codec.decoding_table["139,142"] = [23232] let s:lib.Codec.decoding_table["139,143"] = [23235] let s:lib.Codec.decoding_table["139,144"] = [23236] let s:lib.Codec.decoding_table["139,145"] = [23237] let s:lib.Codec.decoding_table["139,146"] = [23238] let s:lib.Codec.decoding_table["139,147"] = [23239] let s:lib.Codec.decoding_table["139,148"] = [23240] let s:lib.Codec.decoding_table["139,149"] = [23242] let s:lib.Codec.decoding_table["139,150"] = [23243] let s:lib.Codec.decoding_table["139,151"] = [23245] let s:lib.Codec.decoding_table["139,152"] = [23246] let s:lib.Codec.decoding_table["139,153"] = [23247] let s:lib.Codec.decoding_table["139,154"] = [23248] let s:lib.Codec.decoding_table["139,155"] = [23249] let s:lib.Codec.decoding_table["139,156"] = [23251] let s:lib.Codec.decoding_table["139,157"] = [23253] let s:lib.Codec.decoding_table["139,158"] = [23255] let s:lib.Codec.decoding_table["139,159"] = [23257] let s:lib.Codec.decoding_table["139,160"] = [23258] let s:lib.Codec.decoding_table["139,161"] = [23259] let s:lib.Codec.decoding_table["139,162"] = [23261] let s:lib.Codec.decoding_table["139,163"] = [23262] let s:lib.Codec.decoding_table["139,164"] = [23263] let s:lib.Codec.decoding_table["139,165"] = [23266] let s:lib.Codec.decoding_table["139,166"] = [23268] let s:lib.Codec.decoding_table["139,167"] = [23269] let s:lib.Codec.decoding_table["139,168"] = [23271] let s:lib.Codec.decoding_table["139,169"] = [23272] let s:lib.Codec.decoding_table["139,170"] = [23274] let s:lib.Codec.decoding_table["139,171"] = [23276] let s:lib.Codec.decoding_table["139,172"] = [23277] let s:lib.Codec.decoding_table["139,173"] = [23278] let s:lib.Codec.decoding_table["139,174"] = [23279] let s:lib.Codec.decoding_table["139,175"] = [23280] let s:lib.Codec.decoding_table["139,176"] = [23282] let s:lib.Codec.decoding_table["139,177"] = [23283] let s:lib.Codec.decoding_table["139,178"] = [23284] let s:lib.Codec.decoding_table["139,179"] = [23285] let s:lib.Codec.decoding_table["139,180"] = [23286] let s:lib.Codec.decoding_table["139,181"] = [23287] let s:lib.Codec.decoding_table["139,182"] = [23288] let s:lib.Codec.decoding_table["139,183"] = [23289] let s:lib.Codec.decoding_table["139,184"] = [23290] let s:lib.Codec.decoding_table["139,185"] = [23291] let s:lib.Codec.decoding_table["139,186"] = [23292] let s:lib.Codec.decoding_table["139,187"] = [23293] let s:lib.Codec.decoding_table["139,188"] = [23294] let s:lib.Codec.decoding_table["139,189"] = [23295] let s:lib.Codec.decoding_table["139,190"] = [23296] let s:lib.Codec.decoding_table["139,191"] = [23297] let s:lib.Codec.decoding_table["139,192"] = [23298] let s:lib.Codec.decoding_table["139,193"] = [23299] let s:lib.Codec.decoding_table["139,194"] = [23300] let s:lib.Codec.decoding_table["139,195"] = [23301] let s:lib.Codec.decoding_table["139,196"] = [23302] let s:lib.Codec.decoding_table["139,197"] = [23303] let s:lib.Codec.decoding_table["139,198"] = [23304] let s:lib.Codec.decoding_table["139,199"] = [23306] let s:lib.Codec.decoding_table["139,200"] = [23307] let s:lib.Codec.decoding_table["139,201"] = [23308] let s:lib.Codec.decoding_table["139,202"] = [23309] let s:lib.Codec.decoding_table["139,203"] = [23310] let s:lib.Codec.decoding_table["139,204"] = [23311] let s:lib.Codec.decoding_table["139,205"] = [23312] let s:lib.Codec.decoding_table["139,206"] = [23313] let s:lib.Codec.decoding_table["139,207"] = [23314] let s:lib.Codec.decoding_table["139,208"] = [23315] let s:lib.Codec.decoding_table["139,209"] = [23316] let s:lib.Codec.decoding_table["139,210"] = [23317] let s:lib.Codec.decoding_table["139,211"] = [23320] let s:lib.Codec.decoding_table["139,212"] = [23321] let s:lib.Codec.decoding_table["139,213"] = [23322] let s:lib.Codec.decoding_table["139,214"] = [23323] let s:lib.Codec.decoding_table["139,215"] = [23324] let s:lib.Codec.decoding_table["139,216"] = [23325] let s:lib.Codec.decoding_table["139,217"] = [23326] let s:lib.Codec.decoding_table["139,218"] = [23327] let s:lib.Codec.decoding_table["139,219"] = [23328] let s:lib.Codec.decoding_table["139,220"] = [23329] let s:lib.Codec.decoding_table["139,221"] = [23330] let s:lib.Codec.decoding_table["139,222"] = [23331] let s:lib.Codec.decoding_table["139,223"] = [23332] let s:lib.Codec.decoding_table["139,224"] = [23333] let s:lib.Codec.decoding_table["139,225"] = [23334] let s:lib.Codec.decoding_table["139,226"] = [23335] let s:lib.Codec.decoding_table["139,227"] = [23336] let s:lib.Codec.decoding_table["139,228"] = [23337] let s:lib.Codec.decoding_table["139,229"] = [23338] let s:lib.Codec.decoding_table["139,230"] = [23339] let s:lib.Codec.decoding_table["139,231"] = [23340] let s:lib.Codec.decoding_table["139,232"] = [23341] let s:lib.Codec.decoding_table["139,233"] = [23342] let s:lib.Codec.decoding_table["139,234"] = [23343] let s:lib.Codec.decoding_table["139,235"] = [23344] let s:lib.Codec.decoding_table["139,236"] = [23345] let s:lib.Codec.decoding_table["139,237"] = [23347] let s:lib.Codec.decoding_table["139,238"] = [23349] let s:lib.Codec.decoding_table["139,239"] = [23350] let s:lib.Codec.decoding_table["139,240"] = [23352] let s:lib.Codec.decoding_table["139,241"] = [23353] let s:lib.Codec.decoding_table["139,242"] = [23354] let s:lib.Codec.decoding_table["139,243"] = [23355] let s:lib.Codec.decoding_table["139,244"] = [23356] let s:lib.Codec.decoding_table["139,245"] = [23357] let s:lib.Codec.decoding_table["139,246"] = [23358] let s:lib.Codec.decoding_table["139,247"] = [23359] let s:lib.Codec.decoding_table["139,248"] = [23361] let s:lib.Codec.decoding_table["139,249"] = [23362] let s:lib.Codec.decoding_table["139,250"] = [23363] let s:lib.Codec.decoding_table["139,251"] = [23364] let s:lib.Codec.decoding_table["139,252"] = [23365] let s:lib.Codec.decoding_table["139,253"] = [23366] let s:lib.Codec.decoding_table["139,254"] = [23367] let s:lib.Codec.decoding_table["140,64"] = [23368] let s:lib.Codec.decoding_table["140,65"] = [23369] let s:lib.Codec.decoding_table["140,66"] = [23370] let s:lib.Codec.decoding_table["140,67"] = [23371] let s:lib.Codec.decoding_table["140,68"] = [23372] let s:lib.Codec.decoding_table["140,69"] = [23373] let s:lib.Codec.decoding_table["140,70"] = [23374] let s:lib.Codec.decoding_table["140,71"] = [23375] let s:lib.Codec.decoding_table["140,72"] = [23378] let s:lib.Codec.decoding_table["140,73"] = [23382] let s:lib.Codec.decoding_table["140,74"] = [23390] let s:lib.Codec.decoding_table["140,75"] = [23392] let s:lib.Codec.decoding_table["140,76"] = [23393] let s:lib.Codec.decoding_table["140,77"] = [23399] let s:lib.Codec.decoding_table["140,78"] = [23400] let s:lib.Codec.decoding_table["140,79"] = [23403] let s:lib.Codec.decoding_table["140,80"] = [23405] let s:lib.Codec.decoding_table["140,81"] = [23406] let s:lib.Codec.decoding_table["140,82"] = [23407] let s:lib.Codec.decoding_table["140,83"] = [23410] let s:lib.Codec.decoding_table["140,84"] = [23412] let s:lib.Codec.decoding_table["140,85"] = [23414] let s:lib.Codec.decoding_table["140,86"] = [23415] let s:lib.Codec.decoding_table["140,87"] = [23416] let s:lib.Codec.decoding_table["140,88"] = [23417] let s:lib.Codec.decoding_table["140,89"] = [23419] let s:lib.Codec.decoding_table["140,90"] = [23420] let s:lib.Codec.decoding_table["140,91"] = [23422] let s:lib.Codec.decoding_table["140,92"] = [23423] let s:lib.Codec.decoding_table["140,93"] = [23426] let s:lib.Codec.decoding_table["140,94"] = [23430] let s:lib.Codec.decoding_table["140,95"] = [23434] let s:lib.Codec.decoding_table["140,96"] = [23437] let s:lib.Codec.decoding_table["140,97"] = [23438] let s:lib.Codec.decoding_table["140,98"] = [23440] let s:lib.Codec.decoding_table["140,99"] = [23441] let s:lib.Codec.decoding_table["140,100"] = [23442] let s:lib.Codec.decoding_table["140,101"] = [23444] let s:lib.Codec.decoding_table["140,102"] = [23446] let s:lib.Codec.decoding_table["140,103"] = [23455] let s:lib.Codec.decoding_table["140,104"] = [23463] let s:lib.Codec.decoding_table["140,105"] = [23464] let s:lib.Codec.decoding_table["140,106"] = [23465] let s:lib.Codec.decoding_table["140,107"] = [23468] let s:lib.Codec.decoding_table["140,108"] = [23469] let s:lib.Codec.decoding_table["140,109"] = [23470] let s:lib.Codec.decoding_table["140,110"] = [23471] let s:lib.Codec.decoding_table["140,111"] = [23473] let s:lib.Codec.decoding_table["140,112"] = [23474] let s:lib.Codec.decoding_table["140,113"] = [23479] let s:lib.Codec.decoding_table["140,114"] = [23482] let s:lib.Codec.decoding_table["140,115"] = [23483] let s:lib.Codec.decoding_table["140,116"] = [23484] let s:lib.Codec.decoding_table["140,117"] = [23488] let s:lib.Codec.decoding_table["140,118"] = [23489] let s:lib.Codec.decoding_table["140,119"] = [23491] let s:lib.Codec.decoding_table["140,120"] = [23496] let s:lib.Codec.decoding_table["140,121"] = [23497] let s:lib.Codec.decoding_table["140,122"] = [23498] let s:lib.Codec.decoding_table["140,123"] = [23499] let s:lib.Codec.decoding_table["140,124"] = [23501] let s:lib.Codec.decoding_table["140,125"] = [23502] let s:lib.Codec.decoding_table["140,126"] = [23503] let s:lib.Codec.decoding_table["140,128"] = [23505] let s:lib.Codec.decoding_table["140,129"] = [23508] let s:lib.Codec.decoding_table["140,130"] = [23509] let s:lib.Codec.decoding_table["140,131"] = [23510] let s:lib.Codec.decoding_table["140,132"] = [23511] let s:lib.Codec.decoding_table["140,133"] = [23512] let s:lib.Codec.decoding_table["140,134"] = [23513] let s:lib.Codec.decoding_table["140,135"] = [23514] let s:lib.Codec.decoding_table["140,136"] = [23515] let s:lib.Codec.decoding_table["140,137"] = [23516] let s:lib.Codec.decoding_table["140,138"] = [23520] let s:lib.Codec.decoding_table["140,139"] = [23522] let s:lib.Codec.decoding_table["140,140"] = [23523] let s:lib.Codec.decoding_table["140,141"] = [23526] let s:lib.Codec.decoding_table["140,142"] = [23527] let s:lib.Codec.decoding_table["140,143"] = [23529] let s:lib.Codec.decoding_table["140,144"] = [23530] let s:lib.Codec.decoding_table["140,145"] = [23531] let s:lib.Codec.decoding_table["140,146"] = [23532] let s:lib.Codec.decoding_table["140,147"] = [23533] let s:lib.Codec.decoding_table["140,148"] = [23535] let s:lib.Codec.decoding_table["140,149"] = [23537] let s:lib.Codec.decoding_table["140,150"] = [23538] let s:lib.Codec.decoding_table["140,151"] = [23539] let s:lib.Codec.decoding_table["140,152"] = [23540] let s:lib.Codec.decoding_table["140,153"] = [23541] let s:lib.Codec.decoding_table["140,154"] = [23542] let s:lib.Codec.decoding_table["140,155"] = [23543] let s:lib.Codec.decoding_table["140,156"] = [23549] let s:lib.Codec.decoding_table["140,157"] = [23550] let s:lib.Codec.decoding_table["140,158"] = [23552] let s:lib.Codec.decoding_table["140,159"] = [23554] let s:lib.Codec.decoding_table["140,160"] = [23555] let s:lib.Codec.decoding_table["140,161"] = [23557] let s:lib.Codec.decoding_table["140,162"] = [23559] let s:lib.Codec.decoding_table["140,163"] = [23560] let s:lib.Codec.decoding_table["140,164"] = [23563] let s:lib.Codec.decoding_table["140,165"] = [23564] let s:lib.Codec.decoding_table["140,166"] = [23565] let s:lib.Codec.decoding_table["140,167"] = [23566] let s:lib.Codec.decoding_table["140,168"] = [23568] let s:lib.Codec.decoding_table["140,169"] = [23570] let s:lib.Codec.decoding_table["140,170"] = [23571] let s:lib.Codec.decoding_table["140,171"] = [23575] let s:lib.Codec.decoding_table["140,172"] = [23577] let s:lib.Codec.decoding_table["140,173"] = [23579] let s:lib.Codec.decoding_table["140,174"] = [23582] let s:lib.Codec.decoding_table["140,175"] = [23583] let s:lib.Codec.decoding_table["140,176"] = [23584] let s:lib.Codec.decoding_table["140,177"] = [23585] let s:lib.Codec.decoding_table["140,178"] = [23587] let s:lib.Codec.decoding_table["140,179"] = [23590] let s:lib.Codec.decoding_table["140,180"] = [23592] let s:lib.Codec.decoding_table["140,181"] = [23593] let s:lib.Codec.decoding_table["140,182"] = [23594] let s:lib.Codec.decoding_table["140,183"] = [23595] let s:lib.Codec.decoding_table["140,184"] = [23597] let s:lib.Codec.decoding_table["140,185"] = [23598] let s:lib.Codec.decoding_table["140,186"] = [23599] let s:lib.Codec.decoding_table["140,187"] = [23600] let s:lib.Codec.decoding_table["140,188"] = [23602] let s:lib.Codec.decoding_table["140,189"] = [23603] let s:lib.Codec.decoding_table["140,190"] = [23605] let s:lib.Codec.decoding_table["140,191"] = [23606] let s:lib.Codec.decoding_table["140,192"] = [23607] let s:lib.Codec.decoding_table["140,193"] = [23619] let s:lib.Codec.decoding_table["140,194"] = [23620] let s:lib.Codec.decoding_table["140,195"] = [23622] let s:lib.Codec.decoding_table["140,196"] = [23623] let s:lib.Codec.decoding_table["140,197"] = [23628] let s:lib.Codec.decoding_table["140,198"] = [23629] let s:lib.Codec.decoding_table["140,199"] = [23634] let s:lib.Codec.decoding_table["140,200"] = [23635] let s:lib.Codec.decoding_table["140,201"] = [23636] let s:lib.Codec.decoding_table["140,202"] = [23638] let s:lib.Codec.decoding_table["140,203"] = [23639] let s:lib.Codec.decoding_table["140,204"] = [23640] let s:lib.Codec.decoding_table["140,205"] = [23642] let s:lib.Codec.decoding_table["140,206"] = [23643] let s:lib.Codec.decoding_table["140,207"] = [23644] let s:lib.Codec.decoding_table["140,208"] = [23645] let s:lib.Codec.decoding_table["140,209"] = [23647] let s:lib.Codec.decoding_table["140,210"] = [23650] let s:lib.Codec.decoding_table["140,211"] = [23652] let s:lib.Codec.decoding_table["140,212"] = [23655] let s:lib.Codec.decoding_table["140,213"] = [23656] let s:lib.Codec.decoding_table["140,214"] = [23657] let s:lib.Codec.decoding_table["140,215"] = [23658] let s:lib.Codec.decoding_table["140,216"] = [23659] let s:lib.Codec.decoding_table["140,217"] = [23660] let s:lib.Codec.decoding_table["140,218"] = [23661] let s:lib.Codec.decoding_table["140,219"] = [23664] let s:lib.Codec.decoding_table["140,220"] = [23666] let s:lib.Codec.decoding_table["140,221"] = [23667] let s:lib.Codec.decoding_table["140,222"] = [23668] let s:lib.Codec.decoding_table["140,223"] = [23669] let s:lib.Codec.decoding_table["140,224"] = [23670] let s:lib.Codec.decoding_table["140,225"] = [23671] let s:lib.Codec.decoding_table["140,226"] = [23672] let s:lib.Codec.decoding_table["140,227"] = [23675] let s:lib.Codec.decoding_table["140,228"] = [23676] let s:lib.Codec.decoding_table["140,229"] = [23677] let s:lib.Codec.decoding_table["140,230"] = [23678] let s:lib.Codec.decoding_table["140,231"] = [23680] let s:lib.Codec.decoding_table["140,232"] = [23683] let s:lib.Codec.decoding_table["140,233"] = [23684] let s:lib.Codec.decoding_table["140,234"] = [23685] let s:lib.Codec.decoding_table["140,235"] = [23686] let s:lib.Codec.decoding_table["140,236"] = [23687] let s:lib.Codec.decoding_table["140,237"] = [23689] let s:lib.Codec.decoding_table["140,238"] = [23690] let s:lib.Codec.decoding_table["140,239"] = [23691] let s:lib.Codec.decoding_table["140,240"] = [23694] let s:lib.Codec.decoding_table["140,241"] = [23695] let s:lib.Codec.decoding_table["140,242"] = [23698] let s:lib.Codec.decoding_table["140,243"] = [23699] let s:lib.Codec.decoding_table["140,244"] = [23701] let s:lib.Codec.decoding_table["140,245"] = [23709] let s:lib.Codec.decoding_table["140,246"] = [23710] let s:lib.Codec.decoding_table["140,247"] = [23711] let s:lib.Codec.decoding_table["140,248"] = [23712] let s:lib.Codec.decoding_table["140,249"] = [23713] let s:lib.Codec.decoding_table["140,250"] = [23716] let s:lib.Codec.decoding_table["140,251"] = [23717] let s:lib.Codec.decoding_table["140,252"] = [23718] let s:lib.Codec.decoding_table["140,253"] = [23719] let s:lib.Codec.decoding_table["140,254"] = [23720] let s:lib.Codec.decoding_table["141,64"] = [23722] let s:lib.Codec.decoding_table["141,65"] = [23726] let s:lib.Codec.decoding_table["141,66"] = [23727] let s:lib.Codec.decoding_table["141,67"] = [23728] let s:lib.Codec.decoding_table["141,68"] = [23730] let s:lib.Codec.decoding_table["141,69"] = [23732] let s:lib.Codec.decoding_table["141,70"] = [23734] let s:lib.Codec.decoding_table["141,71"] = [23737] let s:lib.Codec.decoding_table["141,72"] = [23738] let s:lib.Codec.decoding_table["141,73"] = [23739] let s:lib.Codec.decoding_table["141,74"] = [23740] let s:lib.Codec.decoding_table["141,75"] = [23742] let s:lib.Codec.decoding_table["141,76"] = [23744] let s:lib.Codec.decoding_table["141,77"] = [23746] let s:lib.Codec.decoding_table["141,78"] = [23747] let s:lib.Codec.decoding_table["141,79"] = [23749] let s:lib.Codec.decoding_table["141,80"] = [23750] let s:lib.Codec.decoding_table["141,81"] = [23751] let s:lib.Codec.decoding_table["141,82"] = [23752] let s:lib.Codec.decoding_table["141,83"] = [23753] let s:lib.Codec.decoding_table["141,84"] = [23754] let s:lib.Codec.decoding_table["141,85"] = [23756] let s:lib.Codec.decoding_table["141,86"] = [23757] let s:lib.Codec.decoding_table["141,87"] = [23758] let s:lib.Codec.decoding_table["141,88"] = [23759] let s:lib.Codec.decoding_table["141,89"] = [23760] let s:lib.Codec.decoding_table["141,90"] = [23761] let s:lib.Codec.decoding_table["141,91"] = [23763] let s:lib.Codec.decoding_table["141,92"] = [23764] let s:lib.Codec.decoding_table["141,93"] = [23765] let s:lib.Codec.decoding_table["141,94"] = [23766] let s:lib.Codec.decoding_table["141,95"] = [23767] let s:lib.Codec.decoding_table["141,96"] = [23768] let s:lib.Codec.decoding_table["141,97"] = [23770] let s:lib.Codec.decoding_table["141,98"] = [23771] let s:lib.Codec.decoding_table["141,99"] = [23772] let s:lib.Codec.decoding_table["141,100"] = [23773] let s:lib.Codec.decoding_table["141,101"] = [23774] let s:lib.Codec.decoding_table["141,102"] = [23775] let s:lib.Codec.decoding_table["141,103"] = [23776] let s:lib.Codec.decoding_table["141,104"] = [23778] let s:lib.Codec.decoding_table["141,105"] = [23779] let s:lib.Codec.decoding_table["141,106"] = [23783] let s:lib.Codec.decoding_table["141,107"] = [23785] let s:lib.Codec.decoding_table["141,108"] = [23787] let s:lib.Codec.decoding_table["141,109"] = [23788] let s:lib.Codec.decoding_table["141,110"] = [23790] let s:lib.Codec.decoding_table["141,111"] = [23791] let s:lib.Codec.decoding_table["141,112"] = [23793] let s:lib.Codec.decoding_table["141,113"] = [23794] let s:lib.Codec.decoding_table["141,114"] = [23795] let s:lib.Codec.decoding_table["141,115"] = [23796] let s:lib.Codec.decoding_table["141,116"] = [23797] let s:lib.Codec.decoding_table["141,117"] = [23798] let s:lib.Codec.decoding_table["141,118"] = [23799] let s:lib.Codec.decoding_table["141,119"] = [23800] let s:lib.Codec.decoding_table["141,120"] = [23801] let s:lib.Codec.decoding_table["141,121"] = [23802] let s:lib.Codec.decoding_table["141,122"] = [23804] let s:lib.Codec.decoding_table["141,123"] = [23805] let s:lib.Codec.decoding_table["141,124"] = [23806] let s:lib.Codec.decoding_table["141,125"] = [23807] let s:lib.Codec.decoding_table["141,126"] = [23808] let s:lib.Codec.decoding_table["141,128"] = [23809] let s:lib.Codec.decoding_table["141,129"] = [23812] let s:lib.Codec.decoding_table["141,130"] = [23813] let s:lib.Codec.decoding_table["141,131"] = [23816] let s:lib.Codec.decoding_table["141,132"] = [23817] let s:lib.Codec.decoding_table["141,133"] = [23818] let s:lib.Codec.decoding_table["141,134"] = [23819] let s:lib.Codec.decoding_table["141,135"] = [23820] let s:lib.Codec.decoding_table["141,136"] = [23821] let s:lib.Codec.decoding_table["141,137"] = [23823] let s:lib.Codec.decoding_table["141,138"] = [23824] let s:lib.Codec.decoding_table["141,139"] = [23825] let s:lib.Codec.decoding_table["141,140"] = [23826] let s:lib.Codec.decoding_table["141,141"] = [23827] let s:lib.Codec.decoding_table["141,142"] = [23829] let s:lib.Codec.decoding_table["141,143"] = [23831] let s:lib.Codec.decoding_table["141,144"] = [23832] let s:lib.Codec.decoding_table["141,145"] = [23833] let s:lib.Codec.decoding_table["141,146"] = [23834] let s:lib.Codec.decoding_table["141,147"] = [23836] let s:lib.Codec.decoding_table["141,148"] = [23837] let s:lib.Codec.decoding_table["141,149"] = [23839] let s:lib.Codec.decoding_table["141,150"] = [23840] let s:lib.Codec.decoding_table["141,151"] = [23841] let s:lib.Codec.decoding_table["141,152"] = [23842] let s:lib.Codec.decoding_table["141,153"] = [23843] let s:lib.Codec.decoding_table["141,154"] = [23845] let s:lib.Codec.decoding_table["141,155"] = [23848] let s:lib.Codec.decoding_table["141,156"] = [23850] let s:lib.Codec.decoding_table["141,157"] = [23851] let s:lib.Codec.decoding_table["141,158"] = [23852] let s:lib.Codec.decoding_table["141,159"] = [23855] let s:lib.Codec.decoding_table["141,160"] = [23856] let s:lib.Codec.decoding_table["141,161"] = [23857] let s:lib.Codec.decoding_table["141,162"] = [23858] let s:lib.Codec.decoding_table["141,163"] = [23859] let s:lib.Codec.decoding_table["141,164"] = [23861] let s:lib.Codec.decoding_table["141,165"] = [23862] let s:lib.Codec.decoding_table["141,166"] = [23863] let s:lib.Codec.decoding_table["141,167"] = [23864] let s:lib.Codec.decoding_table["141,168"] = [23865] let s:lib.Codec.decoding_table["141,169"] = [23866] let s:lib.Codec.decoding_table["141,170"] = [23867] let s:lib.Codec.decoding_table["141,171"] = [23868] let s:lib.Codec.decoding_table["141,172"] = [23871] let s:lib.Codec.decoding_table["141,173"] = [23872] let s:lib.Codec.decoding_table["141,174"] = [23873] let s:lib.Codec.decoding_table["141,175"] = [23874] let s:lib.Codec.decoding_table["141,176"] = [23875] let s:lib.Codec.decoding_table["141,177"] = [23876] let s:lib.Codec.decoding_table["141,178"] = [23877] let s:lib.Codec.decoding_table["141,179"] = [23878] let s:lib.Codec.decoding_table["141,180"] = [23880] let s:lib.Codec.decoding_table["141,181"] = [23881] let s:lib.Codec.decoding_table["141,182"] = [23885] let s:lib.Codec.decoding_table["141,183"] = [23886] let s:lib.Codec.decoding_table["141,184"] = [23887] let s:lib.Codec.decoding_table["141,185"] = [23888] let s:lib.Codec.decoding_table["141,186"] = [23889] let s:lib.Codec.decoding_table["141,187"] = [23890] let s:lib.Codec.decoding_table["141,188"] = [23891] let s:lib.Codec.decoding_table["141,189"] = [23892] let s:lib.Codec.decoding_table["141,190"] = [23893] let s:lib.Codec.decoding_table["141,191"] = [23894] let s:lib.Codec.decoding_table["141,192"] = [23895] let s:lib.Codec.decoding_table["141,193"] = [23897] let s:lib.Codec.decoding_table["141,194"] = [23898] let s:lib.Codec.decoding_table["141,195"] = [23900] let s:lib.Codec.decoding_table["141,196"] = [23902] let s:lib.Codec.decoding_table["141,197"] = [23903] let s:lib.Codec.decoding_table["141,198"] = [23904] let s:lib.Codec.decoding_table["141,199"] = [23905] let s:lib.Codec.decoding_table["141,200"] = [23906] let s:lib.Codec.decoding_table["141,201"] = [23907] let s:lib.Codec.decoding_table["141,202"] = [23908] let s:lib.Codec.decoding_table["141,203"] = [23909] let s:lib.Codec.decoding_table["141,204"] = [23910] let s:lib.Codec.decoding_table["141,205"] = [23911] let s:lib.Codec.decoding_table["141,206"] = [23912] let s:lib.Codec.decoding_table["141,207"] = [23914] let s:lib.Codec.decoding_table["141,208"] = [23917] let s:lib.Codec.decoding_table["141,209"] = [23918] let s:lib.Codec.decoding_table["141,210"] = [23920] let s:lib.Codec.decoding_table["141,211"] = [23921] let s:lib.Codec.decoding_table["141,212"] = [23922] let s:lib.Codec.decoding_table["141,213"] = [23923] let s:lib.Codec.decoding_table["141,214"] = [23925] let s:lib.Codec.decoding_table["141,215"] = [23926] let s:lib.Codec.decoding_table["141,216"] = [23927] let s:lib.Codec.decoding_table["141,217"] = [23928] let s:lib.Codec.decoding_table["141,218"] = [23929] let s:lib.Codec.decoding_table["141,219"] = [23930] let s:lib.Codec.decoding_table["141,220"] = [23931] let s:lib.Codec.decoding_table["141,221"] = [23932] let s:lib.Codec.decoding_table["141,222"] = [23933] let s:lib.Codec.decoding_table["141,223"] = [23934] let s:lib.Codec.decoding_table["141,224"] = [23935] let s:lib.Codec.decoding_table["141,225"] = [23936] let s:lib.Codec.decoding_table["141,226"] = [23937] let s:lib.Codec.decoding_table["141,227"] = [23939] let s:lib.Codec.decoding_table["141,228"] = [23940] let s:lib.Codec.decoding_table["141,229"] = [23941] let s:lib.Codec.decoding_table["141,230"] = [23942] let s:lib.Codec.decoding_table["141,231"] = [23943] let s:lib.Codec.decoding_table["141,232"] = [23944] let s:lib.Codec.decoding_table["141,233"] = [23945] let s:lib.Codec.decoding_table["141,234"] = [23946] let s:lib.Codec.decoding_table["141,235"] = [23947] let s:lib.Codec.decoding_table["141,236"] = [23948] let s:lib.Codec.decoding_table["141,237"] = [23949] let s:lib.Codec.decoding_table["141,238"] = [23950] let s:lib.Codec.decoding_table["141,239"] = [23951] let s:lib.Codec.decoding_table["141,240"] = [23952] let s:lib.Codec.decoding_table["141,241"] = [23953] let s:lib.Codec.decoding_table["141,242"] = [23954] let s:lib.Codec.decoding_table["141,243"] = [23955] let s:lib.Codec.decoding_table["141,244"] = [23956] let s:lib.Codec.decoding_table["141,245"] = [23957] let s:lib.Codec.decoding_table["141,246"] = [23958] let s:lib.Codec.decoding_table["141,247"] = [23959] let s:lib.Codec.decoding_table["141,248"] = [23960] let s:lib.Codec.decoding_table["141,249"] = [23962] let s:lib.Codec.decoding_table["141,250"] = [23963] let s:lib.Codec.decoding_table["141,251"] = [23964] let s:lib.Codec.decoding_table["141,252"] = [23966] let s:lib.Codec.decoding_table["141,253"] = [23967] let s:lib.Codec.decoding_table["141,254"] = [23968] let s:lib.Codec.decoding_table["142,64"] = [23969] let s:lib.Codec.decoding_table["142,65"] = [23970] let s:lib.Codec.decoding_table["142,66"] = [23971] let s:lib.Codec.decoding_table["142,67"] = [23972] let s:lib.Codec.decoding_table["142,68"] = [23973] let s:lib.Codec.decoding_table["142,69"] = [23974] let s:lib.Codec.decoding_table["142,70"] = [23975] let s:lib.Codec.decoding_table["142,71"] = [23976] let s:lib.Codec.decoding_table["142,72"] = [23977] let s:lib.Codec.decoding_table["142,73"] = [23978] let s:lib.Codec.decoding_table["142,74"] = [23979] let s:lib.Codec.decoding_table["142,75"] = [23980] let s:lib.Codec.decoding_table["142,76"] = [23981] let s:lib.Codec.decoding_table["142,77"] = [23982] let s:lib.Codec.decoding_table["142,78"] = [23983] let s:lib.Codec.decoding_table["142,79"] = [23984] let s:lib.Codec.decoding_table["142,80"] = [23985] let s:lib.Codec.decoding_table["142,81"] = [23986] let s:lib.Codec.decoding_table["142,82"] = [23987] let s:lib.Codec.decoding_table["142,83"] = [23988] let s:lib.Codec.decoding_table["142,84"] = [23989] let s:lib.Codec.decoding_table["142,85"] = [23990] let s:lib.Codec.decoding_table["142,86"] = [23992] let s:lib.Codec.decoding_table["142,87"] = [23993] let s:lib.Codec.decoding_table["142,88"] = [23994] let s:lib.Codec.decoding_table["142,89"] = [23995] let s:lib.Codec.decoding_table["142,90"] = [23996] let s:lib.Codec.decoding_table["142,91"] = [23997] let s:lib.Codec.decoding_table["142,92"] = [23998] let s:lib.Codec.decoding_table["142,93"] = [23999] let s:lib.Codec.decoding_table["142,94"] = [24000] let s:lib.Codec.decoding_table["142,95"] = [24001] let s:lib.Codec.decoding_table["142,96"] = [24002] let s:lib.Codec.decoding_table["142,97"] = [24003] let s:lib.Codec.decoding_table["142,98"] = [24004] let s:lib.Codec.decoding_table["142,99"] = [24006] let s:lib.Codec.decoding_table["142,100"] = [24007] let s:lib.Codec.decoding_table["142,101"] = [24008] let s:lib.Codec.decoding_table["142,102"] = [24009] let s:lib.Codec.decoding_table["142,103"] = [24010] let s:lib.Codec.decoding_table["142,104"] = [24011] let s:lib.Codec.decoding_table["142,105"] = [24012] let s:lib.Codec.decoding_table["142,106"] = [24014] let s:lib.Codec.decoding_table["142,107"] = [24015] let s:lib.Codec.decoding_table["142,108"] = [24016] let s:lib.Codec.decoding_table["142,109"] = [24017] let s:lib.Codec.decoding_table["142,110"] = [24018] let s:lib.Codec.decoding_table["142,111"] = [24019] let s:lib.Codec.decoding_table["142,112"] = [24020] let s:lib.Codec.decoding_table["142,113"] = [24021] let s:lib.Codec.decoding_table["142,114"] = [24022] let s:lib.Codec.decoding_table["142,115"] = [24023] let s:lib.Codec.decoding_table["142,116"] = [24024] let s:lib.Codec.decoding_table["142,117"] = [24025] let s:lib.Codec.decoding_table["142,118"] = [24026] let s:lib.Codec.decoding_table["142,119"] = [24028] let s:lib.Codec.decoding_table["142,120"] = [24031] let s:lib.Codec.decoding_table["142,121"] = [24032] let s:lib.Codec.decoding_table["142,122"] = [24035] let s:lib.Codec.decoding_table["142,123"] = [24036] let s:lib.Codec.decoding_table["142,124"] = [24042] let s:lib.Codec.decoding_table["142,125"] = [24044] let s:lib.Codec.decoding_table["142,126"] = [24045] let s:lib.Codec.decoding_table["142,128"] = [24048] let s:lib.Codec.decoding_table["142,129"] = [24053] let s:lib.Codec.decoding_table["142,130"] = [24054] let s:lib.Codec.decoding_table["142,131"] = [24056] let s:lib.Codec.decoding_table["142,132"] = [24057] let s:lib.Codec.decoding_table["142,133"] = [24058] let s:lib.Codec.decoding_table["142,134"] = [24059] let s:lib.Codec.decoding_table["142,135"] = [24060] let s:lib.Codec.decoding_table["142,136"] = [24063] let s:lib.Codec.decoding_table["142,137"] = [24064] let s:lib.Codec.decoding_table["142,138"] = [24068] let s:lib.Codec.decoding_table["142,139"] = [24071] let s:lib.Codec.decoding_table["142,140"] = [24073] let s:lib.Codec.decoding_table["142,141"] = [24074] let s:lib.Codec.decoding_table["142,142"] = [24075] let s:lib.Codec.decoding_table["142,143"] = [24077] let s:lib.Codec.decoding_table["142,144"] = [24078] let s:lib.Codec.decoding_table["142,145"] = [24082] let s:lib.Codec.decoding_table["142,146"] = [24083] let s:lib.Codec.decoding_table["142,147"] = [24087] let s:lib.Codec.decoding_table["142,148"] = [24094] let s:lib.Codec.decoding_table["142,149"] = [24095] let s:lib.Codec.decoding_table["142,150"] = [24096] let s:lib.Codec.decoding_table["142,151"] = [24097] let s:lib.Codec.decoding_table["142,152"] = [24098] let s:lib.Codec.decoding_table["142,153"] = [24099] let s:lib.Codec.decoding_table["142,154"] = [24100] let s:lib.Codec.decoding_table["142,155"] = [24101] let s:lib.Codec.decoding_table["142,156"] = [24104] let s:lib.Codec.decoding_table["142,157"] = [24105] let s:lib.Codec.decoding_table["142,158"] = [24106] let s:lib.Codec.decoding_table["142,159"] = [24107] let s:lib.Codec.decoding_table["142,160"] = [24108] let s:lib.Codec.decoding_table["142,161"] = [24111] let s:lib.Codec.decoding_table["142,162"] = [24112] let s:lib.Codec.decoding_table["142,163"] = [24114] let s:lib.Codec.decoding_table["142,164"] = [24115] let s:lib.Codec.decoding_table["142,165"] = [24116] let s:lib.Codec.decoding_table["142,166"] = [24117] let s:lib.Codec.decoding_table["142,167"] = [24118] let s:lib.Codec.decoding_table["142,168"] = [24121] let s:lib.Codec.decoding_table["142,169"] = [24122] let s:lib.Codec.decoding_table["142,170"] = [24126] let s:lib.Codec.decoding_table["142,171"] = [24127] let s:lib.Codec.decoding_table["142,172"] = [24128] let s:lib.Codec.decoding_table["142,173"] = [24129] let s:lib.Codec.decoding_table["142,174"] = [24131] let s:lib.Codec.decoding_table["142,175"] = [24134] let s:lib.Codec.decoding_table["142,176"] = [24135] let s:lib.Codec.decoding_table["142,177"] = [24136] let s:lib.Codec.decoding_table["142,178"] = [24137] let s:lib.Codec.decoding_table["142,179"] = [24138] let s:lib.Codec.decoding_table["142,180"] = [24139] let s:lib.Codec.decoding_table["142,181"] = [24141] let s:lib.Codec.decoding_table["142,182"] = [24142] let s:lib.Codec.decoding_table["142,183"] = [24143] let s:lib.Codec.decoding_table["142,184"] = [24144] let s:lib.Codec.decoding_table["142,185"] = [24145] let s:lib.Codec.decoding_table["142,186"] = [24146] let s:lib.Codec.decoding_table["142,187"] = [24147] let s:lib.Codec.decoding_table["142,188"] = [24150] let s:lib.Codec.decoding_table["142,189"] = [24151] let s:lib.Codec.decoding_table["142,190"] = [24152] let s:lib.Codec.decoding_table["142,191"] = [24153] let s:lib.Codec.decoding_table["142,192"] = [24154] let s:lib.Codec.decoding_table["142,193"] = [24156] let s:lib.Codec.decoding_table["142,194"] = [24157] let s:lib.Codec.decoding_table["142,195"] = [24159] let s:lib.Codec.decoding_table["142,196"] = [24160] let s:lib.Codec.decoding_table["142,197"] = [24163] let s:lib.Codec.decoding_table["142,198"] = [24164] let s:lib.Codec.decoding_table["142,199"] = [24165] let s:lib.Codec.decoding_table["142,200"] = [24166] let s:lib.Codec.decoding_table["142,201"] = [24167] let s:lib.Codec.decoding_table["142,202"] = [24168] let s:lib.Codec.decoding_table["142,203"] = [24169] let s:lib.Codec.decoding_table["142,204"] = [24170] let s:lib.Codec.decoding_table["142,205"] = [24171] let s:lib.Codec.decoding_table["142,206"] = [24172] let s:lib.Codec.decoding_table["142,207"] = [24173] let s:lib.Codec.decoding_table["142,208"] = [24174] let s:lib.Codec.decoding_table["142,209"] = [24175] let s:lib.Codec.decoding_table["142,210"] = [24176] let s:lib.Codec.decoding_table["142,211"] = [24177] let s:lib.Codec.decoding_table["142,212"] = [24181] let s:lib.Codec.decoding_table["142,213"] = [24183] let s:lib.Codec.decoding_table["142,214"] = [24185] let s:lib.Codec.decoding_table["142,215"] = [24190] let s:lib.Codec.decoding_table["142,216"] = [24193] let s:lib.Codec.decoding_table["142,217"] = [24194] let s:lib.Codec.decoding_table["142,218"] = [24195] let s:lib.Codec.decoding_table["142,219"] = [24197] let s:lib.Codec.decoding_table["142,220"] = [24200] let s:lib.Codec.decoding_table["142,221"] = [24201] let s:lib.Codec.decoding_table["142,222"] = [24204] let s:lib.Codec.decoding_table["142,223"] = [24205] let s:lib.Codec.decoding_table["142,224"] = [24206] let s:lib.Codec.decoding_table["142,225"] = [24210] let s:lib.Codec.decoding_table["142,226"] = [24216] let s:lib.Codec.decoding_table["142,227"] = [24219] let s:lib.Codec.decoding_table["142,228"] = [24221] let s:lib.Codec.decoding_table["142,229"] = [24225] let s:lib.Codec.decoding_table["142,230"] = [24226] let s:lib.Codec.decoding_table["142,231"] = [24227] let s:lib.Codec.decoding_table["142,232"] = [24228] let s:lib.Codec.decoding_table["142,233"] = [24232] let s:lib.Codec.decoding_table["142,234"] = [24233] let s:lib.Codec.decoding_table["142,235"] = [24234] let s:lib.Codec.decoding_table["142,236"] = [24235] let s:lib.Codec.decoding_table["142,237"] = [24236] let s:lib.Codec.decoding_table["142,238"] = [24238] let s:lib.Codec.decoding_table["142,239"] = [24239] let s:lib.Codec.decoding_table["142,240"] = [24240] let s:lib.Codec.decoding_table["142,241"] = [24241] let s:lib.Codec.decoding_table["142,242"] = [24242] let s:lib.Codec.decoding_table["142,243"] = [24244] let s:lib.Codec.decoding_table["142,244"] = [24250] let s:lib.Codec.decoding_table["142,245"] = [24251] let s:lib.Codec.decoding_table["142,246"] = [24252] let s:lib.Codec.decoding_table["142,247"] = [24253] let s:lib.Codec.decoding_table["142,248"] = [24255] let s:lib.Codec.decoding_table["142,249"] = [24256] let s:lib.Codec.decoding_table["142,250"] = [24257] let s:lib.Codec.decoding_table["142,251"] = [24258] let s:lib.Codec.decoding_table["142,252"] = [24259] let s:lib.Codec.decoding_table["142,253"] = [24260] let s:lib.Codec.decoding_table["142,254"] = [24261] let s:lib.Codec.decoding_table["143,64"] = [24262] let s:lib.Codec.decoding_table["143,65"] = [24263] let s:lib.Codec.decoding_table["143,66"] = [24264] let s:lib.Codec.decoding_table["143,67"] = [24267] let s:lib.Codec.decoding_table["143,68"] = [24268] let s:lib.Codec.decoding_table["143,69"] = [24269] let s:lib.Codec.decoding_table["143,70"] = [24270] let s:lib.Codec.decoding_table["143,71"] = [24271] let s:lib.Codec.decoding_table["143,72"] = [24272] let s:lib.Codec.decoding_table["143,73"] = [24276] let s:lib.Codec.decoding_table["143,74"] = [24277] let s:lib.Codec.decoding_table["143,75"] = [24279] let s:lib.Codec.decoding_table["143,76"] = [24280] let s:lib.Codec.decoding_table["143,77"] = [24281] let s:lib.Codec.decoding_table["143,78"] = [24282] let s:lib.Codec.decoding_table["143,79"] = [24284] let s:lib.Codec.decoding_table["143,80"] = [24285] let s:lib.Codec.decoding_table["143,81"] = [24286] let s:lib.Codec.decoding_table["143,82"] = [24287] let s:lib.Codec.decoding_table["143,83"] = [24288] let s:lib.Codec.decoding_table["143,84"] = [24289] let s:lib.Codec.decoding_table["143,85"] = [24290] let s:lib.Codec.decoding_table["143,86"] = [24291] let s:lib.Codec.decoding_table["143,87"] = [24292] let s:lib.Codec.decoding_table["143,88"] = [24293] let s:lib.Codec.decoding_table["143,89"] = [24294] let s:lib.Codec.decoding_table["143,90"] = [24295] let s:lib.Codec.decoding_table["143,91"] = [24297] let s:lib.Codec.decoding_table["143,92"] = [24299] let s:lib.Codec.decoding_table["143,93"] = [24300] let s:lib.Codec.decoding_table["143,94"] = [24301] let s:lib.Codec.decoding_table["143,95"] = [24302] let s:lib.Codec.decoding_table["143,96"] = [24303] let s:lib.Codec.decoding_table["143,97"] = [24304] let s:lib.Codec.decoding_table["143,98"] = [24305] let s:lib.Codec.decoding_table["143,99"] = [24306] let s:lib.Codec.decoding_table["143,100"] = [24307] let s:lib.Codec.decoding_table["143,101"] = [24309] let s:lib.Codec.decoding_table["143,102"] = [24312] let s:lib.Codec.decoding_table["143,103"] = [24313] let s:lib.Codec.decoding_table["143,104"] = [24315] let s:lib.Codec.decoding_table["143,105"] = [24316] let s:lib.Codec.decoding_table["143,106"] = [24317] let s:lib.Codec.decoding_table["143,107"] = [24325] let s:lib.Codec.decoding_table["143,108"] = [24326] let s:lib.Codec.decoding_table["143,109"] = [24327] let s:lib.Codec.decoding_table["143,110"] = [24329] let s:lib.Codec.decoding_table["143,111"] = [24332] let s:lib.Codec.decoding_table["143,112"] = [24333] let s:lib.Codec.decoding_table["143,113"] = [24334] let s:lib.Codec.decoding_table["143,114"] = [24336] let s:lib.Codec.decoding_table["143,115"] = [24338] let s:lib.Codec.decoding_table["143,116"] = [24340] let s:lib.Codec.decoding_table["143,117"] = [24342] let s:lib.Codec.decoding_table["143,118"] = [24345] let s:lib.Codec.decoding_table["143,119"] = [24346] let s:lib.Codec.decoding_table["143,120"] = [24348] let s:lib.Codec.decoding_table["143,121"] = [24349] let s:lib.Codec.decoding_table["143,122"] = [24350] let s:lib.Codec.decoding_table["143,123"] = [24353] let s:lib.Codec.decoding_table["143,124"] = [24354] let s:lib.Codec.decoding_table["143,125"] = [24355] let s:lib.Codec.decoding_table["143,126"] = [24356] let s:lib.Codec.decoding_table["143,128"] = [24360] let s:lib.Codec.decoding_table["143,129"] = [24363] let s:lib.Codec.decoding_table["143,130"] = [24364] let s:lib.Codec.decoding_table["143,131"] = [24366] let s:lib.Codec.decoding_table["143,132"] = [24368] let s:lib.Codec.decoding_table["143,133"] = [24370] let s:lib.Codec.decoding_table["143,134"] = [24371] let s:lib.Codec.decoding_table["143,135"] = [24372] let s:lib.Codec.decoding_table["143,136"] = [24373] let s:lib.Codec.decoding_table["143,137"] = [24374] let s:lib.Codec.decoding_table["143,138"] = [24375] let s:lib.Codec.decoding_table["143,139"] = [24376] let s:lib.Codec.decoding_table["143,140"] = [24379] let s:lib.Codec.decoding_table["143,141"] = [24381] let s:lib.Codec.decoding_table["143,142"] = [24382] let s:lib.Codec.decoding_table["143,143"] = [24383] let s:lib.Codec.decoding_table["143,144"] = [24385] let s:lib.Codec.decoding_table["143,145"] = [24386] let s:lib.Codec.decoding_table["143,146"] = [24387] let s:lib.Codec.decoding_table["143,147"] = [24388] let s:lib.Codec.decoding_table["143,148"] = [24389] let s:lib.Codec.decoding_table["143,149"] = [24390] let s:lib.Codec.decoding_table["143,150"] = [24391] let s:lib.Codec.decoding_table["143,151"] = [24392] let s:lib.Codec.decoding_table["143,152"] = [24393] let s:lib.Codec.decoding_table["143,153"] = [24394] let s:lib.Codec.decoding_table["143,154"] = [24395] let s:lib.Codec.decoding_table["143,155"] = [24396] let s:lib.Codec.decoding_table["143,156"] = [24397] let s:lib.Codec.decoding_table["143,157"] = [24398] let s:lib.Codec.decoding_table["143,158"] = [24399] let s:lib.Codec.decoding_table["143,159"] = [24401] let s:lib.Codec.decoding_table["143,160"] = [24404] let s:lib.Codec.decoding_table["143,161"] = [24409] let s:lib.Codec.decoding_table["143,162"] = [24410] let s:lib.Codec.decoding_table["143,163"] = [24411] let s:lib.Codec.decoding_table["143,164"] = [24412] let s:lib.Codec.decoding_table["143,165"] = [24414] let s:lib.Codec.decoding_table["143,166"] = [24415] let s:lib.Codec.decoding_table["143,167"] = [24416] let s:lib.Codec.decoding_table["143,168"] = [24419] let s:lib.Codec.decoding_table["143,169"] = [24421] let s:lib.Codec.decoding_table["143,170"] = [24423] let s:lib.Codec.decoding_table["143,171"] = [24424] let s:lib.Codec.decoding_table["143,172"] = [24427] let s:lib.Codec.decoding_table["143,173"] = [24430] let s:lib.Codec.decoding_table["143,174"] = [24431] let s:lib.Codec.decoding_table["143,175"] = [24434] let s:lib.Codec.decoding_table["143,176"] = [24436] let s:lib.Codec.decoding_table["143,177"] = [24437] let s:lib.Codec.decoding_table["143,178"] = [24438] let s:lib.Codec.decoding_table["143,179"] = [24440] let s:lib.Codec.decoding_table["143,180"] = [24442] let s:lib.Codec.decoding_table["143,181"] = [24445] let s:lib.Codec.decoding_table["143,182"] = [24446] let s:lib.Codec.decoding_table["143,183"] = [24447] let s:lib.Codec.decoding_table["143,184"] = [24451] let s:lib.Codec.decoding_table["143,185"] = [24454] let s:lib.Codec.decoding_table["143,186"] = [24461] let s:lib.Codec.decoding_table["143,187"] = [24462] let s:lib.Codec.decoding_table["143,188"] = [24463] let s:lib.Codec.decoding_table["143,189"] = [24465] let s:lib.Codec.decoding_table["143,190"] = [24467] let s:lib.Codec.decoding_table["143,191"] = [24468] let s:lib.Codec.decoding_table["143,192"] = [24470] let s:lib.Codec.decoding_table["143,193"] = [24474] let s:lib.Codec.decoding_table["143,194"] = [24475] let s:lib.Codec.decoding_table["143,195"] = [24477] let s:lib.Codec.decoding_table["143,196"] = [24478] let s:lib.Codec.decoding_table["143,197"] = [24479] let s:lib.Codec.decoding_table["143,198"] = [24480] let s:lib.Codec.decoding_table["143,199"] = [24482] let s:lib.Codec.decoding_table["143,200"] = [24483] let s:lib.Codec.decoding_table["143,201"] = [24484] let s:lib.Codec.decoding_table["143,202"] = [24485] let s:lib.Codec.decoding_table["143,203"] = [24486] let s:lib.Codec.decoding_table["143,204"] = [24487] let s:lib.Codec.decoding_table["143,205"] = [24489] let s:lib.Codec.decoding_table["143,206"] = [24491] let s:lib.Codec.decoding_table["143,207"] = [24492] let s:lib.Codec.decoding_table["143,208"] = [24495] let s:lib.Codec.decoding_table["143,209"] = [24496] let s:lib.Codec.decoding_table["143,210"] = [24497] let s:lib.Codec.decoding_table["143,211"] = [24498] let s:lib.Codec.decoding_table["143,212"] = [24499] let s:lib.Codec.decoding_table["143,213"] = [24500] let s:lib.Codec.decoding_table["143,214"] = [24502] let s:lib.Codec.decoding_table["143,215"] = [24504] let s:lib.Codec.decoding_table["143,216"] = [24505] let s:lib.Codec.decoding_table["143,217"] = [24506] let s:lib.Codec.decoding_table["143,218"] = [24507] let s:lib.Codec.decoding_table["143,219"] = [24510] let s:lib.Codec.decoding_table["143,220"] = [24511] let s:lib.Codec.decoding_table["143,221"] = [24512] let s:lib.Codec.decoding_table["143,222"] = [24513] let s:lib.Codec.decoding_table["143,223"] = [24514] let s:lib.Codec.decoding_table["143,224"] = [24519] let s:lib.Codec.decoding_table["143,225"] = [24520] let s:lib.Codec.decoding_table["143,226"] = [24522] let s:lib.Codec.decoding_table["143,227"] = [24523] let s:lib.Codec.decoding_table["143,228"] = [24526] let s:lib.Codec.decoding_table["143,229"] = [24531] let s:lib.Codec.decoding_table["143,230"] = [24532] let s:lib.Codec.decoding_table["143,231"] = [24533] let s:lib.Codec.decoding_table["143,232"] = [24538] let s:lib.Codec.decoding_table["143,233"] = [24539] let s:lib.Codec.decoding_table["143,234"] = [24540] let s:lib.Codec.decoding_table["143,235"] = [24542] let s:lib.Codec.decoding_table["143,236"] = [24543] let s:lib.Codec.decoding_table["143,237"] = [24546] let s:lib.Codec.decoding_table["143,238"] = [24547] let s:lib.Codec.decoding_table["143,239"] = [24549] let s:lib.Codec.decoding_table["143,240"] = [24550] let s:lib.Codec.decoding_table["143,241"] = [24552] let s:lib.Codec.decoding_table["143,242"] = [24553] let s:lib.Codec.decoding_table["143,243"] = [24556] let s:lib.Codec.decoding_table["143,244"] = [24559] let s:lib.Codec.decoding_table["143,245"] = [24560] let s:lib.Codec.decoding_table["143,246"] = [24562] let s:lib.Codec.decoding_table["143,247"] = [24563] let s:lib.Codec.decoding_table["143,248"] = [24564] let s:lib.Codec.decoding_table["143,249"] = [24566] let s:lib.Codec.decoding_table["143,250"] = [24567] let s:lib.Codec.decoding_table["143,251"] = [24569] let s:lib.Codec.decoding_table["143,252"] = [24570] let s:lib.Codec.decoding_table["143,253"] = [24572] let s:lib.Codec.decoding_table["143,254"] = [24583] let s:lib.Codec.decoding_table["144,64"] = [24584] let s:lib.Codec.decoding_table["144,65"] = [24585] let s:lib.Codec.decoding_table["144,66"] = [24587] let s:lib.Codec.decoding_table["144,67"] = [24588] let s:lib.Codec.decoding_table["144,68"] = [24592] let s:lib.Codec.decoding_table["144,69"] = [24593] let s:lib.Codec.decoding_table["144,70"] = [24595] let s:lib.Codec.decoding_table["144,71"] = [24599] let s:lib.Codec.decoding_table["144,72"] = [24600] let s:lib.Codec.decoding_table["144,73"] = [24602] let s:lib.Codec.decoding_table["144,74"] = [24606] let s:lib.Codec.decoding_table["144,75"] = [24607] let s:lib.Codec.decoding_table["144,76"] = [24610] let s:lib.Codec.decoding_table["144,77"] = [24611] let s:lib.Codec.decoding_table["144,78"] = [24612] let s:lib.Codec.decoding_table["144,79"] = [24620] let s:lib.Codec.decoding_table["144,80"] = [24621] let s:lib.Codec.decoding_table["144,81"] = [24622] let s:lib.Codec.decoding_table["144,82"] = [24624] let s:lib.Codec.decoding_table["144,83"] = [24625] let s:lib.Codec.decoding_table["144,84"] = [24626] let s:lib.Codec.decoding_table["144,85"] = [24627] let s:lib.Codec.decoding_table["144,86"] = [24628] let s:lib.Codec.decoding_table["144,87"] = [24630] let s:lib.Codec.decoding_table["144,88"] = [24631] let s:lib.Codec.decoding_table["144,89"] = [24632] let s:lib.Codec.decoding_table["144,90"] = [24633] let s:lib.Codec.decoding_table["144,91"] = [24634] let s:lib.Codec.decoding_table["144,92"] = [24637] let s:lib.Codec.decoding_table["144,93"] = [24638] let s:lib.Codec.decoding_table["144,94"] = [24640] let s:lib.Codec.decoding_table["144,95"] = [24644] let s:lib.Codec.decoding_table["144,96"] = [24645] let s:lib.Codec.decoding_table["144,97"] = [24646] let s:lib.Codec.decoding_table["144,98"] = [24647] let s:lib.Codec.decoding_table["144,99"] = [24648] let s:lib.Codec.decoding_table["144,100"] = [24649] let s:lib.Codec.decoding_table["144,101"] = [24650] let s:lib.Codec.decoding_table["144,102"] = [24652] let s:lib.Codec.decoding_table["144,103"] = [24654] let s:lib.Codec.decoding_table["144,104"] = [24655] let s:lib.Codec.decoding_table["144,105"] = [24657] let s:lib.Codec.decoding_table["144,106"] = [24659] let s:lib.Codec.decoding_table["144,107"] = [24660] let s:lib.Codec.decoding_table["144,108"] = [24662] let s:lib.Codec.decoding_table["144,109"] = [24663] let s:lib.Codec.decoding_table["144,110"] = [24664] let s:lib.Codec.decoding_table["144,111"] = [24667] let s:lib.Codec.decoding_table["144,112"] = [24668] let s:lib.Codec.decoding_table["144,113"] = [24670] let s:lib.Codec.decoding_table["144,114"] = [24671] let s:lib.Codec.decoding_table["144,115"] = [24672] let s:lib.Codec.decoding_table["144,116"] = [24673] let s:lib.Codec.decoding_table["144,117"] = [24677] let s:lib.Codec.decoding_table["144,118"] = [24678] let s:lib.Codec.decoding_table["144,119"] = [24686] let s:lib.Codec.decoding_table["144,120"] = [24689] let s:lib.Codec.decoding_table["144,121"] = [24690] let s:lib.Codec.decoding_table["144,122"] = [24692] let s:lib.Codec.decoding_table["144,123"] = [24693] let s:lib.Codec.decoding_table["144,124"] = [24695] let s:lib.Codec.decoding_table["144,125"] = [24702] let s:lib.Codec.decoding_table["144,126"] = [24704] let s:lib.Codec.decoding_table["144,128"] = [24705] let s:lib.Codec.decoding_table["144,129"] = [24706] let s:lib.Codec.decoding_table["144,130"] = [24709] let s:lib.Codec.decoding_table["144,131"] = [24710] let s:lib.Codec.decoding_table["144,132"] = [24711] let s:lib.Codec.decoding_table["144,133"] = [24712] let s:lib.Codec.decoding_table["144,134"] = [24714] let s:lib.Codec.decoding_table["144,135"] = [24715] let s:lib.Codec.decoding_table["144,136"] = [24718] let s:lib.Codec.decoding_table["144,137"] = [24719] let s:lib.Codec.decoding_table["144,138"] = [24720] let s:lib.Codec.decoding_table["144,139"] = [24721] let s:lib.Codec.decoding_table["144,140"] = [24723] let s:lib.Codec.decoding_table["144,141"] = [24725] let s:lib.Codec.decoding_table["144,142"] = [24727] let s:lib.Codec.decoding_table["144,143"] = [24728] let s:lib.Codec.decoding_table["144,144"] = [24729] let s:lib.Codec.decoding_table["144,145"] = [24732] let s:lib.Codec.decoding_table["144,146"] = [24734] let s:lib.Codec.decoding_table["144,147"] = [24737] let s:lib.Codec.decoding_table["144,148"] = [24738] let s:lib.Codec.decoding_table["144,149"] = [24740] let s:lib.Codec.decoding_table["144,150"] = [24741] let s:lib.Codec.decoding_table["144,151"] = [24743] let s:lib.Codec.decoding_table["144,152"] = [24745] let s:lib.Codec.decoding_table["144,153"] = [24746] let s:lib.Codec.decoding_table["144,154"] = [24750] let s:lib.Codec.decoding_table["144,155"] = [24752] let s:lib.Codec.decoding_table["144,156"] = [24755] let s:lib.Codec.decoding_table["144,157"] = [24757] let s:lib.Codec.decoding_table["144,158"] = [24758] let s:lib.Codec.decoding_table["144,159"] = [24759] let s:lib.Codec.decoding_table["144,160"] = [24761] let s:lib.Codec.decoding_table["144,161"] = [24762] let s:lib.Codec.decoding_table["144,162"] = [24765] let s:lib.Codec.decoding_table["144,163"] = [24766] let s:lib.Codec.decoding_table["144,164"] = [24767] let s:lib.Codec.decoding_table["144,165"] = [24768] let s:lib.Codec.decoding_table["144,166"] = [24769] let s:lib.Codec.decoding_table["144,167"] = [24770] let s:lib.Codec.decoding_table["144,168"] = [24771] let s:lib.Codec.decoding_table["144,169"] = [24772] let s:lib.Codec.decoding_table["144,170"] = [24775] let s:lib.Codec.decoding_table["144,171"] = [24776] let s:lib.Codec.decoding_table["144,172"] = [24777] let s:lib.Codec.decoding_table["144,173"] = [24780] let s:lib.Codec.decoding_table["144,174"] = [24781] let s:lib.Codec.decoding_table["144,175"] = [24782] let s:lib.Codec.decoding_table["144,176"] = [24783] let s:lib.Codec.decoding_table["144,177"] = [24784] let s:lib.Codec.decoding_table["144,178"] = [24786] let s:lib.Codec.decoding_table["144,179"] = [24787] let s:lib.Codec.decoding_table["144,180"] = [24788] let s:lib.Codec.decoding_table["144,181"] = [24790] let s:lib.Codec.decoding_table["144,182"] = [24791] let s:lib.Codec.decoding_table["144,183"] = [24793] let s:lib.Codec.decoding_table["144,184"] = [24795] let s:lib.Codec.decoding_table["144,185"] = [24798] let s:lib.Codec.decoding_table["144,186"] = [24801] let s:lib.Codec.decoding_table["144,187"] = [24802] let s:lib.Codec.decoding_table["144,188"] = [24803] let s:lib.Codec.decoding_table["144,189"] = [24804] let s:lib.Codec.decoding_table["144,190"] = [24805] let s:lib.Codec.decoding_table["144,191"] = [24810] let s:lib.Codec.decoding_table["144,192"] = [24817] let s:lib.Codec.decoding_table["144,193"] = [24818] let s:lib.Codec.decoding_table["144,194"] = [24821] let s:lib.Codec.decoding_table["144,195"] = [24823] let s:lib.Codec.decoding_table["144,196"] = [24824] let s:lib.Codec.decoding_table["144,197"] = [24827] let s:lib.Codec.decoding_table["144,198"] = [24828] let s:lib.Codec.decoding_table["144,199"] = [24829] let s:lib.Codec.decoding_table["144,200"] = [24830] let s:lib.Codec.decoding_table["144,201"] = [24831] let s:lib.Codec.decoding_table["144,202"] = [24834] let s:lib.Codec.decoding_table["144,203"] = [24835] let s:lib.Codec.decoding_table["144,204"] = [24836] let s:lib.Codec.decoding_table["144,205"] = [24837] let s:lib.Codec.decoding_table["144,206"] = [24839] let s:lib.Codec.decoding_table["144,207"] = [24842] let s:lib.Codec.decoding_table["144,208"] = [24843] let s:lib.Codec.decoding_table["144,209"] = [24844] let s:lib.Codec.decoding_table["144,210"] = [24848] let s:lib.Codec.decoding_table["144,211"] = [24849] let s:lib.Codec.decoding_table["144,212"] = [24850] let s:lib.Codec.decoding_table["144,213"] = [24851] let s:lib.Codec.decoding_table["144,214"] = [24852] let s:lib.Codec.decoding_table["144,215"] = [24854] let s:lib.Codec.decoding_table["144,216"] = [24855] let s:lib.Codec.decoding_table["144,217"] = [24856] let s:lib.Codec.decoding_table["144,218"] = [24857] let s:lib.Codec.decoding_table["144,219"] = [24859] let s:lib.Codec.decoding_table["144,220"] = [24860] let s:lib.Codec.decoding_table["144,221"] = [24861] let s:lib.Codec.decoding_table["144,222"] = [24862] let s:lib.Codec.decoding_table["144,223"] = [24865] let s:lib.Codec.decoding_table["144,224"] = [24866] let s:lib.Codec.decoding_table["144,225"] = [24869] let s:lib.Codec.decoding_table["144,226"] = [24872] let s:lib.Codec.decoding_table["144,227"] = [24873] let s:lib.Codec.decoding_table["144,228"] = [24874] let s:lib.Codec.decoding_table["144,229"] = [24876] let s:lib.Codec.decoding_table["144,230"] = [24877] let s:lib.Codec.decoding_table["144,231"] = [24878] let s:lib.Codec.decoding_table["144,232"] = [24879] let s:lib.Codec.decoding_table["144,233"] = [24880] let s:lib.Codec.decoding_table["144,234"] = [24881] let s:lib.Codec.decoding_table["144,235"] = [24882] let s:lib.Codec.decoding_table["144,236"] = [24883] let s:lib.Codec.decoding_table["144,237"] = [24884] let s:lib.Codec.decoding_table["144,238"] = [24885] let s:lib.Codec.decoding_table["144,239"] = [24886] let s:lib.Codec.decoding_table["144,240"] = [24887] let s:lib.Codec.decoding_table["144,241"] = [24888] let s:lib.Codec.decoding_table["144,242"] = [24889] let s:lib.Codec.decoding_table["144,243"] = [24890] let s:lib.Codec.decoding_table["144,244"] = [24891] let s:lib.Codec.decoding_table["144,245"] = [24892] let s:lib.Codec.decoding_table["144,246"] = [24893] let s:lib.Codec.decoding_table["144,247"] = [24894] let s:lib.Codec.decoding_table["144,248"] = [24896] let s:lib.Codec.decoding_table["144,249"] = [24897] let s:lib.Codec.decoding_table["144,250"] = [24898] let s:lib.Codec.decoding_table["144,251"] = [24899] let s:lib.Codec.decoding_table["144,252"] = [24900] let s:lib.Codec.decoding_table["144,253"] = [24901] let s:lib.Codec.decoding_table["144,254"] = [24902] let s:lib.Codec.decoding_table["145,64"] = [24903] let s:lib.Codec.decoding_table["145,65"] = [24905] let s:lib.Codec.decoding_table["145,66"] = [24907] let s:lib.Codec.decoding_table["145,67"] = [24909] let s:lib.Codec.decoding_table["145,68"] = [24911] let s:lib.Codec.decoding_table["145,69"] = [24912] let s:lib.Codec.decoding_table["145,70"] = [24914] let s:lib.Codec.decoding_table["145,71"] = [24915] let s:lib.Codec.decoding_table["145,72"] = [24916] let s:lib.Codec.decoding_table["145,73"] = [24918] let s:lib.Codec.decoding_table["145,74"] = [24919] let s:lib.Codec.decoding_table["145,75"] = [24920] let s:lib.Codec.decoding_table["145,76"] = [24921] let s:lib.Codec.decoding_table["145,77"] = [24922] let s:lib.Codec.decoding_table["145,78"] = [24923] let s:lib.Codec.decoding_table["145,79"] = [24924] let s:lib.Codec.decoding_table["145,80"] = [24926] let s:lib.Codec.decoding_table["145,81"] = [24927] let s:lib.Codec.decoding_table["145,82"] = [24928] let s:lib.Codec.decoding_table["145,83"] = [24929] let s:lib.Codec.decoding_table["145,84"] = [24931] let s:lib.Codec.decoding_table["145,85"] = [24932] let s:lib.Codec.decoding_table["145,86"] = [24933] let s:lib.Codec.decoding_table["145,87"] = [24934] let s:lib.Codec.decoding_table["145,88"] = [24937] let s:lib.Codec.decoding_table["145,89"] = [24938] let s:lib.Codec.decoding_table["145,90"] = [24939] let s:lib.Codec.decoding_table["145,91"] = [24940] let s:lib.Codec.decoding_table["145,92"] = [24941] let s:lib.Codec.decoding_table["145,93"] = [24942] let s:lib.Codec.decoding_table["145,94"] = [24943] let s:lib.Codec.decoding_table["145,95"] = [24945] let s:lib.Codec.decoding_table["145,96"] = [24946] let s:lib.Codec.decoding_table["145,97"] = [24947] let s:lib.Codec.decoding_table["145,98"] = [24948] let s:lib.Codec.decoding_table["145,99"] = [24950] let s:lib.Codec.decoding_table["145,100"] = [24952] let s:lib.Codec.decoding_table["145,101"] = [24953] let s:lib.Codec.decoding_table["145,102"] = [24954] let s:lib.Codec.decoding_table["145,103"] = [24955] let s:lib.Codec.decoding_table["145,104"] = [24956] let s:lib.Codec.decoding_table["145,105"] = [24957] let s:lib.Codec.decoding_table["145,106"] = [24958] let s:lib.Codec.decoding_table["145,107"] = [24959] let s:lib.Codec.decoding_table["145,108"] = [24960] let s:lib.Codec.decoding_table["145,109"] = [24961] let s:lib.Codec.decoding_table["145,110"] = [24962] let s:lib.Codec.decoding_table["145,111"] = [24963] let s:lib.Codec.decoding_table["145,112"] = [24964] let s:lib.Codec.decoding_table["145,113"] = [24965] let s:lib.Codec.decoding_table["145,114"] = [24966] let s:lib.Codec.decoding_table["145,115"] = [24967] let s:lib.Codec.decoding_table["145,116"] = [24968] let s:lib.Codec.decoding_table["145,117"] = [24969] let s:lib.Codec.decoding_table["145,118"] = [24970] let s:lib.Codec.decoding_table["145,119"] = [24972] let s:lib.Codec.decoding_table["145,120"] = [24973] let s:lib.Codec.decoding_table["145,121"] = [24975] let s:lib.Codec.decoding_table["145,122"] = [24976] let s:lib.Codec.decoding_table["145,123"] = [24977] let s:lib.Codec.decoding_table["145,124"] = [24978] let s:lib.Codec.decoding_table["145,125"] = [24979] let s:lib.Codec.decoding_table["145,126"] = [24981] let s:lib.Codec.decoding_table["145,128"] = [24982] let s:lib.Codec.decoding_table["145,129"] = [24983] let s:lib.Codec.decoding_table["145,130"] = [24984] let s:lib.Codec.decoding_table["145,131"] = [24985] let s:lib.Codec.decoding_table["145,132"] = [24986] let s:lib.Codec.decoding_table["145,133"] = [24987] let s:lib.Codec.decoding_table["145,134"] = [24988] let s:lib.Codec.decoding_table["145,135"] = [24990] let s:lib.Codec.decoding_table["145,136"] = [24991] let s:lib.Codec.decoding_table["145,137"] = [24992] let s:lib.Codec.decoding_table["145,138"] = [24993] let s:lib.Codec.decoding_table["145,139"] = [24994] let s:lib.Codec.decoding_table["145,140"] = [24995] let s:lib.Codec.decoding_table["145,141"] = [24996] let s:lib.Codec.decoding_table["145,142"] = [24997] let s:lib.Codec.decoding_table["145,143"] = [24998] let s:lib.Codec.decoding_table["145,144"] = [25002] let s:lib.Codec.decoding_table["145,145"] = [25003] let s:lib.Codec.decoding_table["145,146"] = [25005] let s:lib.Codec.decoding_table["145,147"] = [25006] let s:lib.Codec.decoding_table["145,148"] = [25007] let s:lib.Codec.decoding_table["145,149"] = [25008] let s:lib.Codec.decoding_table["145,150"] = [25009] let s:lib.Codec.decoding_table["145,151"] = [25010] let s:lib.Codec.decoding_table["145,152"] = [25011] let s:lib.Codec.decoding_table["145,153"] = [25012] let s:lib.Codec.decoding_table["145,154"] = [25013] let s:lib.Codec.decoding_table["145,155"] = [25014] let s:lib.Codec.decoding_table["145,156"] = [25016] let s:lib.Codec.decoding_table["145,157"] = [25017] let s:lib.Codec.decoding_table["145,158"] = [25018] let s:lib.Codec.decoding_table["145,159"] = [25019] let s:lib.Codec.decoding_table["145,160"] = [25020] let s:lib.Codec.decoding_table["145,161"] = [25021] let s:lib.Codec.decoding_table["145,162"] = [25023] let s:lib.Codec.decoding_table["145,163"] = [25024] let s:lib.Codec.decoding_table["145,164"] = [25025] let s:lib.Codec.decoding_table["145,165"] = [25027] let s:lib.Codec.decoding_table["145,166"] = [25028] let s:lib.Codec.decoding_table["145,167"] = [25029] let s:lib.Codec.decoding_table["145,168"] = [25030] let s:lib.Codec.decoding_table["145,169"] = [25031] let s:lib.Codec.decoding_table["145,170"] = [25033] let s:lib.Codec.decoding_table["145,171"] = [25036] let s:lib.Codec.decoding_table["145,172"] = [25037] let s:lib.Codec.decoding_table["145,173"] = [25038] let s:lib.Codec.decoding_table["145,174"] = [25039] let s:lib.Codec.decoding_table["145,175"] = [25040] let s:lib.Codec.decoding_table["145,176"] = [25043] let s:lib.Codec.decoding_table["145,177"] = [25045] let s:lib.Codec.decoding_table["145,178"] = [25046] let s:lib.Codec.decoding_table["145,179"] = [25047] let s:lib.Codec.decoding_table["145,180"] = [25048] let s:lib.Codec.decoding_table["145,181"] = [25049] let s:lib.Codec.decoding_table["145,182"] = [25050] let s:lib.Codec.decoding_table["145,183"] = [25051] let s:lib.Codec.decoding_table["145,184"] = [25052] let s:lib.Codec.decoding_table["145,185"] = [25053] let s:lib.Codec.decoding_table["145,186"] = [25054] let s:lib.Codec.decoding_table["145,187"] = [25055] let s:lib.Codec.decoding_table["145,188"] = [25056] let s:lib.Codec.decoding_table["145,189"] = [25057] let s:lib.Codec.decoding_table["145,190"] = [25058] let s:lib.Codec.decoding_table["145,191"] = [25059] let s:lib.Codec.decoding_table["145,192"] = [25060] let s:lib.Codec.decoding_table["145,193"] = [25061] let s:lib.Codec.decoding_table["145,194"] = [25063] let s:lib.Codec.decoding_table["145,195"] = [25064] let s:lib.Codec.decoding_table["145,196"] = [25065] let s:lib.Codec.decoding_table["145,197"] = [25066] let s:lib.Codec.decoding_table["145,198"] = [25067] let s:lib.Codec.decoding_table["145,199"] = [25068] let s:lib.Codec.decoding_table["145,200"] = [25069] let s:lib.Codec.decoding_table["145,201"] = [25070] let s:lib.Codec.decoding_table["145,202"] = [25071] let s:lib.Codec.decoding_table["145,203"] = [25072] let s:lib.Codec.decoding_table["145,204"] = [25073] let s:lib.Codec.decoding_table["145,205"] = [25074] let s:lib.Codec.decoding_table["145,206"] = [25075] let s:lib.Codec.decoding_table["145,207"] = [25076] let s:lib.Codec.decoding_table["145,208"] = [25078] let s:lib.Codec.decoding_table["145,209"] = [25079] let s:lib.Codec.decoding_table["145,210"] = [25080] let s:lib.Codec.decoding_table["145,211"] = [25081] let s:lib.Codec.decoding_table["145,212"] = [25082] let s:lib.Codec.decoding_table["145,213"] = [25083] let s:lib.Codec.decoding_table["145,214"] = [25084] let s:lib.Codec.decoding_table["145,215"] = [25085] let s:lib.Codec.decoding_table["145,216"] = [25086] let s:lib.Codec.decoding_table["145,217"] = [25088] let s:lib.Codec.decoding_table["145,218"] = [25089] let s:lib.Codec.decoding_table["145,219"] = [25090] let s:lib.Codec.decoding_table["145,220"] = [25091] let s:lib.Codec.decoding_table["145,221"] = [25092] let s:lib.Codec.decoding_table["145,222"] = [25093] let s:lib.Codec.decoding_table["145,223"] = [25095] let s:lib.Codec.decoding_table["145,224"] = [25097] let s:lib.Codec.decoding_table["145,225"] = [25107] let s:lib.Codec.decoding_table["145,226"] = [25108] let s:lib.Codec.decoding_table["145,227"] = [25113] let s:lib.Codec.decoding_table["145,228"] = [25116] let s:lib.Codec.decoding_table["145,229"] = [25117] let s:lib.Codec.decoding_table["145,230"] = [25118] let s:lib.Codec.decoding_table["145,231"] = [25120] let s:lib.Codec.decoding_table["145,232"] = [25123] let s:lib.Codec.decoding_table["145,233"] = [25126] let s:lib.Codec.decoding_table["145,234"] = [25127] let s:lib.Codec.decoding_table["145,235"] = [25128] let s:lib.Codec.decoding_table["145,236"] = [25129] let s:lib.Codec.decoding_table["145,237"] = [25131] let s:lib.Codec.decoding_table["145,238"] = [25133] let s:lib.Codec.decoding_table["145,239"] = [25135] let s:lib.Codec.decoding_table["145,240"] = [25136] let s:lib.Codec.decoding_table["145,241"] = [25137] let s:lib.Codec.decoding_table["145,242"] = [25138] let s:lib.Codec.decoding_table["145,243"] = [25141] let s:lib.Codec.decoding_table["145,244"] = [25142] let s:lib.Codec.decoding_table["145,245"] = [25144] let s:lib.Codec.decoding_table["145,246"] = [25145] let s:lib.Codec.decoding_table["145,247"] = [25146] let s:lib.Codec.decoding_table["145,248"] = [25147] let s:lib.Codec.decoding_table["145,249"] = [25148] let s:lib.Codec.decoding_table["145,250"] = [25154] let s:lib.Codec.decoding_table["145,251"] = [25156] let s:lib.Codec.decoding_table["145,252"] = [25157] let s:lib.Codec.decoding_table["145,253"] = [25158] let s:lib.Codec.decoding_table["145,254"] = [25162] let s:lib.Codec.decoding_table["146,64"] = [25167] let s:lib.Codec.decoding_table["146,65"] = [25168] let s:lib.Codec.decoding_table["146,66"] = [25173] let s:lib.Codec.decoding_table["146,67"] = [25174] let s:lib.Codec.decoding_table["146,68"] = [25175] let s:lib.Codec.decoding_table["146,69"] = [25177] let s:lib.Codec.decoding_table["146,70"] = [25178] let s:lib.Codec.decoding_table["146,71"] = [25180] let s:lib.Codec.decoding_table["146,72"] = [25181] let s:lib.Codec.decoding_table["146,73"] = [25182] let s:lib.Codec.decoding_table["146,74"] = [25183] let s:lib.Codec.decoding_table["146,75"] = [25184] let s:lib.Codec.decoding_table["146,76"] = [25185] let s:lib.Codec.decoding_table["146,77"] = [25186] let s:lib.Codec.decoding_table["146,78"] = [25188] let s:lib.Codec.decoding_table["146,79"] = [25189] let s:lib.Codec.decoding_table["146,80"] = [25192] let s:lib.Codec.decoding_table["146,81"] = [25201] let s:lib.Codec.decoding_table["146,82"] = [25202] let s:lib.Codec.decoding_table["146,83"] = [25204] let s:lib.Codec.decoding_table["146,84"] = [25205] let s:lib.Codec.decoding_table["146,85"] = [25207] let s:lib.Codec.decoding_table["146,86"] = [25208] let s:lib.Codec.decoding_table["146,87"] = [25210] let s:lib.Codec.decoding_table["146,88"] = [25211] let s:lib.Codec.decoding_table["146,89"] = [25213] let s:lib.Codec.decoding_table["146,90"] = [25217] let s:lib.Codec.decoding_table["146,91"] = [25218] let s:lib.Codec.decoding_table["146,92"] = [25219] let s:lib.Codec.decoding_table["146,93"] = [25221] let s:lib.Codec.decoding_table["146,94"] = [25222] let s:lib.Codec.decoding_table["146,95"] = [25223] let s:lib.Codec.decoding_table["146,96"] = [25224] let s:lib.Codec.decoding_table["146,97"] = [25227] let s:lib.Codec.decoding_table["146,98"] = [25228] let s:lib.Codec.decoding_table["146,99"] = [25229] let s:lib.Codec.decoding_table["146,100"] = [25230] let s:lib.Codec.decoding_table["146,101"] = [25231] let s:lib.Codec.decoding_table["146,102"] = [25232] let s:lib.Codec.decoding_table["146,103"] = [25236] let s:lib.Codec.decoding_table["146,104"] = [25241] let s:lib.Codec.decoding_table["146,105"] = [25244] let s:lib.Codec.decoding_table["146,106"] = [25245] let s:lib.Codec.decoding_table["146,107"] = [25246] let s:lib.Codec.decoding_table["146,108"] = [25251] let s:lib.Codec.decoding_table["146,109"] = [25254] let s:lib.Codec.decoding_table["146,110"] = [25255] let s:lib.Codec.decoding_table["146,111"] = [25257] let s:lib.Codec.decoding_table["146,112"] = [25258] let s:lib.Codec.decoding_table["146,113"] = [25261] let s:lib.Codec.decoding_table["146,114"] = [25262] let s:lib.Codec.decoding_table["146,115"] = [25263] let s:lib.Codec.decoding_table["146,116"] = [25264] let s:lib.Codec.decoding_table["146,117"] = [25266] let s:lib.Codec.decoding_table["146,118"] = [25267] let s:lib.Codec.decoding_table["146,119"] = [25268] let s:lib.Codec.decoding_table["146,120"] = [25270] let s:lib.Codec.decoding_table["146,121"] = [25271] let s:lib.Codec.decoding_table["146,122"] = [25272] let s:lib.Codec.decoding_table["146,123"] = [25274] let s:lib.Codec.decoding_table["146,124"] = [25278] let s:lib.Codec.decoding_table["146,125"] = [25280] let s:lib.Codec.decoding_table["146,126"] = [25281] let s:lib.Codec.decoding_table["146,128"] = [25283] let s:lib.Codec.decoding_table["146,129"] = [25291] let s:lib.Codec.decoding_table["146,130"] = [25295] let s:lib.Codec.decoding_table["146,131"] = [25297] let s:lib.Codec.decoding_table["146,132"] = [25301] let s:lib.Codec.decoding_table["146,133"] = [25309] let s:lib.Codec.decoding_table["146,134"] = [25310] let s:lib.Codec.decoding_table["146,135"] = [25312] let s:lib.Codec.decoding_table["146,136"] = [25313] let s:lib.Codec.decoding_table["146,137"] = [25316] let s:lib.Codec.decoding_table["146,138"] = [25322] let s:lib.Codec.decoding_table["146,139"] = [25323] let s:lib.Codec.decoding_table["146,140"] = [25328] let s:lib.Codec.decoding_table["146,141"] = [25330] let s:lib.Codec.decoding_table["146,142"] = [25333] let s:lib.Codec.decoding_table["146,143"] = [25336] let s:lib.Codec.decoding_table["146,144"] = [25337] let s:lib.Codec.decoding_table["146,145"] = [25338] let s:lib.Codec.decoding_table["146,146"] = [25339] let s:lib.Codec.decoding_table["146,147"] = [25344] let s:lib.Codec.decoding_table["146,148"] = [25347] let s:lib.Codec.decoding_table["146,149"] = [25348] let s:lib.Codec.decoding_table["146,150"] = [25349] let s:lib.Codec.decoding_table["146,151"] = [25350] let s:lib.Codec.decoding_table["146,152"] = [25354] let s:lib.Codec.decoding_table["146,153"] = [25355] let s:lib.Codec.decoding_table["146,154"] = [25356] let s:lib.Codec.decoding_table["146,155"] = [25357] let s:lib.Codec.decoding_table["146,156"] = [25359] let s:lib.Codec.decoding_table["146,157"] = [25360] let s:lib.Codec.decoding_table["146,158"] = [25362] let s:lib.Codec.decoding_table["146,159"] = [25363] let s:lib.Codec.decoding_table["146,160"] = [25364] let s:lib.Codec.decoding_table["146,161"] = [25365] let s:lib.Codec.decoding_table["146,162"] = [25367] let s:lib.Codec.decoding_table["146,163"] = [25368] let s:lib.Codec.decoding_table["146,164"] = [25369] let s:lib.Codec.decoding_table["146,165"] = [25372] let s:lib.Codec.decoding_table["146,166"] = [25382] let s:lib.Codec.decoding_table["146,167"] = [25383] let s:lib.Codec.decoding_table["146,168"] = [25385] let s:lib.Codec.decoding_table["146,169"] = [25388] let s:lib.Codec.decoding_table["146,170"] = [25389] let s:lib.Codec.decoding_table["146,171"] = [25390] let s:lib.Codec.decoding_table["146,172"] = [25392] let s:lib.Codec.decoding_table["146,173"] = [25393] let s:lib.Codec.decoding_table["146,174"] = [25395] let s:lib.Codec.decoding_table["146,175"] = [25396] let s:lib.Codec.decoding_table["146,176"] = [25397] let s:lib.Codec.decoding_table["146,177"] = [25398] let s:lib.Codec.decoding_table["146,178"] = [25399] let s:lib.Codec.decoding_table["146,179"] = [25400] let s:lib.Codec.decoding_table["146,180"] = [25403] let s:lib.Codec.decoding_table["146,181"] = [25404] let s:lib.Codec.decoding_table["146,182"] = [25406] let s:lib.Codec.decoding_table["146,183"] = [25407] let s:lib.Codec.decoding_table["146,184"] = [25408] let s:lib.Codec.decoding_table["146,185"] = [25409] let s:lib.Codec.decoding_table["146,186"] = [25412] let s:lib.Codec.decoding_table["146,187"] = [25415] let s:lib.Codec.decoding_table["146,188"] = [25416] let s:lib.Codec.decoding_table["146,189"] = [25418] let s:lib.Codec.decoding_table["146,190"] = [25425] let s:lib.Codec.decoding_table["146,191"] = [25426] let s:lib.Codec.decoding_table["146,192"] = [25427] let s:lib.Codec.decoding_table["146,193"] = [25428] let s:lib.Codec.decoding_table["146,194"] = [25430] let s:lib.Codec.decoding_table["146,195"] = [25431] let s:lib.Codec.decoding_table["146,196"] = [25432] let s:lib.Codec.decoding_table["146,197"] = [25433] let s:lib.Codec.decoding_table["146,198"] = [25434] let s:lib.Codec.decoding_table["146,199"] = [25435] let s:lib.Codec.decoding_table["146,200"] = [25436] let s:lib.Codec.decoding_table["146,201"] = [25437] let s:lib.Codec.decoding_table["146,202"] = [25440] let s:lib.Codec.decoding_table["146,203"] = [25444] let s:lib.Codec.decoding_table["146,204"] = [25445] let s:lib.Codec.decoding_table["146,205"] = [25446] let s:lib.Codec.decoding_table["146,206"] = [25448] let s:lib.Codec.decoding_table["146,207"] = [25450] let s:lib.Codec.decoding_table["146,208"] = [25451] let s:lib.Codec.decoding_table["146,209"] = [25452] let s:lib.Codec.decoding_table["146,210"] = [25455] let s:lib.Codec.decoding_table["146,211"] = [25456] let s:lib.Codec.decoding_table["146,212"] = [25458] let s:lib.Codec.decoding_table["146,213"] = [25459] let s:lib.Codec.decoding_table["146,214"] = [25460] let s:lib.Codec.decoding_table["146,215"] = [25461] let s:lib.Codec.decoding_table["146,216"] = [25464] let s:lib.Codec.decoding_table["146,217"] = [25465] let s:lib.Codec.decoding_table["146,218"] = [25468] let s:lib.Codec.decoding_table["146,219"] = [25469] let s:lib.Codec.decoding_table["146,220"] = [25470] let s:lib.Codec.decoding_table["146,221"] = [25471] let s:lib.Codec.decoding_table["146,222"] = [25473] let s:lib.Codec.decoding_table["146,223"] = [25475] let s:lib.Codec.decoding_table["146,224"] = [25476] let s:lib.Codec.decoding_table["146,225"] = [25477] let s:lib.Codec.decoding_table["146,226"] = [25478] let s:lib.Codec.decoding_table["146,227"] = [25483] let s:lib.Codec.decoding_table["146,228"] = [25485] let s:lib.Codec.decoding_table["146,229"] = [25489] let s:lib.Codec.decoding_table["146,230"] = [25491] let s:lib.Codec.decoding_table["146,231"] = [25492] let s:lib.Codec.decoding_table["146,232"] = [25493] let s:lib.Codec.decoding_table["146,233"] = [25495] let s:lib.Codec.decoding_table["146,234"] = [25497] let s:lib.Codec.decoding_table["146,235"] = [25498] let s:lib.Codec.decoding_table["146,236"] = [25499] let s:lib.Codec.decoding_table["146,237"] = [25500] let s:lib.Codec.decoding_table["146,238"] = [25501] let s:lib.Codec.decoding_table["146,239"] = [25502] let s:lib.Codec.decoding_table["146,240"] = [25503] let s:lib.Codec.decoding_table["146,241"] = [25505] let s:lib.Codec.decoding_table["146,242"] = [25508] let s:lib.Codec.decoding_table["146,243"] = [25510] let s:lib.Codec.decoding_table["146,244"] = [25515] let s:lib.Codec.decoding_table["146,245"] = [25519] let s:lib.Codec.decoding_table["146,246"] = [25521] let s:lib.Codec.decoding_table["146,247"] = [25522] let s:lib.Codec.decoding_table["146,248"] = [25525] let s:lib.Codec.decoding_table["146,249"] = [25526] let s:lib.Codec.decoding_table["146,250"] = [25529] let s:lib.Codec.decoding_table["146,251"] = [25531] let s:lib.Codec.decoding_table["146,252"] = [25533] let s:lib.Codec.decoding_table["146,253"] = [25535] let s:lib.Codec.decoding_table["146,254"] = [25536] let s:lib.Codec.decoding_table["147,64"] = [25537] let s:lib.Codec.decoding_table["147,65"] = [25538] let s:lib.Codec.decoding_table["147,66"] = [25539] let s:lib.Codec.decoding_table["147,67"] = [25541] let s:lib.Codec.decoding_table["147,68"] = [25543] let s:lib.Codec.decoding_table["147,69"] = [25544] let s:lib.Codec.decoding_table["147,70"] = [25546] let s:lib.Codec.decoding_table["147,71"] = [25547] let s:lib.Codec.decoding_table["147,72"] = [25548] let s:lib.Codec.decoding_table["147,73"] = [25553] let s:lib.Codec.decoding_table["147,74"] = [25555] let s:lib.Codec.decoding_table["147,75"] = [25556] let s:lib.Codec.decoding_table["147,76"] = [25557] let s:lib.Codec.decoding_table["147,77"] = [25559] let s:lib.Codec.decoding_table["147,78"] = [25560] let s:lib.Codec.decoding_table["147,79"] = [25561] let s:lib.Codec.decoding_table["147,80"] = [25562] let s:lib.Codec.decoding_table["147,81"] = [25563] let s:lib.Codec.decoding_table["147,82"] = [25564] let s:lib.Codec.decoding_table["147,83"] = [25565] let s:lib.Codec.decoding_table["147,84"] = [25567] let s:lib.Codec.decoding_table["147,85"] = [25570] let s:lib.Codec.decoding_table["147,86"] = [25572] let s:lib.Codec.decoding_table["147,87"] = [25573] let s:lib.Codec.decoding_table["147,88"] = [25574] let s:lib.Codec.decoding_table["147,89"] = [25575] let s:lib.Codec.decoding_table["147,90"] = [25576] let s:lib.Codec.decoding_table["147,91"] = [25579] let s:lib.Codec.decoding_table["147,92"] = [25580] let s:lib.Codec.decoding_table["147,93"] = [25582] let s:lib.Codec.decoding_table["147,94"] = [25583] let s:lib.Codec.decoding_table["147,95"] = [25584] let s:lib.Codec.decoding_table["147,96"] = [25585] let s:lib.Codec.decoding_table["147,97"] = [25587] let s:lib.Codec.decoding_table["147,98"] = [25589] let s:lib.Codec.decoding_table["147,99"] = [25591] let s:lib.Codec.decoding_table["147,100"] = [25593] let s:lib.Codec.decoding_table["147,101"] = [25594] let s:lib.Codec.decoding_table["147,102"] = [25595] let s:lib.Codec.decoding_table["147,103"] = [25596] let s:lib.Codec.decoding_table["147,104"] = [25598] let s:lib.Codec.decoding_table["147,105"] = [25603] let s:lib.Codec.decoding_table["147,106"] = [25604] let s:lib.Codec.decoding_table["147,107"] = [25606] let s:lib.Codec.decoding_table["147,108"] = [25607] let s:lib.Codec.decoding_table["147,109"] = [25608] let s:lib.Codec.decoding_table["147,110"] = [25609] let s:lib.Codec.decoding_table["147,111"] = [25610] let s:lib.Codec.decoding_table["147,112"] = [25613] let s:lib.Codec.decoding_table["147,113"] = [25614] let s:lib.Codec.decoding_table["147,114"] = [25617] let s:lib.Codec.decoding_table["147,115"] = [25618] let s:lib.Codec.decoding_table["147,116"] = [25621] let s:lib.Codec.decoding_table["147,117"] = [25622] let s:lib.Codec.decoding_table["147,118"] = [25623] let s:lib.Codec.decoding_table["147,119"] = [25624] let s:lib.Codec.decoding_table["147,120"] = [25625] let s:lib.Codec.decoding_table["147,121"] = [25626] let s:lib.Codec.decoding_table["147,122"] = [25629] let s:lib.Codec.decoding_table["147,123"] = [25631] let s:lib.Codec.decoding_table["147,124"] = [25634] let s:lib.Codec.decoding_table["147,125"] = [25635] let s:lib.Codec.decoding_table["147,126"] = [25636] let s:lib.Codec.decoding_table["147,128"] = [25637] let s:lib.Codec.decoding_table["147,129"] = [25639] let s:lib.Codec.decoding_table["147,130"] = [25640] let s:lib.Codec.decoding_table["147,131"] = [25641] let s:lib.Codec.decoding_table["147,132"] = [25643] let s:lib.Codec.decoding_table["147,133"] = [25646] let s:lib.Codec.decoding_table["147,134"] = [25647] let s:lib.Codec.decoding_table["147,135"] = [25648] let s:lib.Codec.decoding_table["147,136"] = [25649] let s:lib.Codec.decoding_table["147,137"] = [25650] let s:lib.Codec.decoding_table["147,138"] = [25651] let s:lib.Codec.decoding_table["147,139"] = [25653] let s:lib.Codec.decoding_table["147,140"] = [25654] let s:lib.Codec.decoding_table["147,141"] = [25655] let s:lib.Codec.decoding_table["147,142"] = [25656] let s:lib.Codec.decoding_table["147,143"] = [25657] let s:lib.Codec.decoding_table["147,144"] = [25659] let s:lib.Codec.decoding_table["147,145"] = [25660] let s:lib.Codec.decoding_table["147,146"] = [25662] let s:lib.Codec.decoding_table["147,147"] = [25664] let s:lib.Codec.decoding_table["147,148"] = [25666] let s:lib.Codec.decoding_table["147,149"] = [25667] let s:lib.Codec.decoding_table["147,150"] = [25673] let s:lib.Codec.decoding_table["147,151"] = [25675] let s:lib.Codec.decoding_table["147,152"] = [25676] let s:lib.Codec.decoding_table["147,153"] = [25677] let s:lib.Codec.decoding_table["147,154"] = [25678] let s:lib.Codec.decoding_table["147,155"] = [25679] let s:lib.Codec.decoding_table["147,156"] = [25680] let s:lib.Codec.decoding_table["147,157"] = [25681] let s:lib.Codec.decoding_table["147,158"] = [25683] let s:lib.Codec.decoding_table["147,159"] = [25685] let s:lib.Codec.decoding_table["147,160"] = [25686] let s:lib.Codec.decoding_table["147,161"] = [25687] let s:lib.Codec.decoding_table["147,162"] = [25689] let s:lib.Codec.decoding_table["147,163"] = [25690] let s:lib.Codec.decoding_table["147,164"] = [25691] let s:lib.Codec.decoding_table["147,165"] = [25692] let s:lib.Codec.decoding_table["147,166"] = [25693] let s:lib.Codec.decoding_table["147,167"] = [25695] let s:lib.Codec.decoding_table["147,168"] = [25696] let s:lib.Codec.decoding_table["147,169"] = [25697] let s:lib.Codec.decoding_table["147,170"] = [25698] let s:lib.Codec.decoding_table["147,171"] = [25699] let s:lib.Codec.decoding_table["147,172"] = [25700] let s:lib.Codec.decoding_table["147,173"] = [25701] let s:lib.Codec.decoding_table["147,174"] = [25702] let s:lib.Codec.decoding_table["147,175"] = [25704] let s:lib.Codec.decoding_table["147,176"] = [25706] let s:lib.Codec.decoding_table["147,177"] = [25707] let s:lib.Codec.decoding_table["147,178"] = [25708] let s:lib.Codec.decoding_table["147,179"] = [25710] let s:lib.Codec.decoding_table["147,180"] = [25711] let s:lib.Codec.decoding_table["147,181"] = [25712] let s:lib.Codec.decoding_table["147,182"] = [25713] let s:lib.Codec.decoding_table["147,183"] = [25714] let s:lib.Codec.decoding_table["147,184"] = [25715] let s:lib.Codec.decoding_table["147,185"] = [25716] let s:lib.Codec.decoding_table["147,186"] = [25717] let s:lib.Codec.decoding_table["147,187"] = [25718] let s:lib.Codec.decoding_table["147,188"] = [25719] let s:lib.Codec.decoding_table["147,189"] = [25723] let s:lib.Codec.decoding_table["147,190"] = [25724] let s:lib.Codec.decoding_table["147,191"] = [25725] let s:lib.Codec.decoding_table["147,192"] = [25726] let s:lib.Codec.decoding_table["147,193"] = [25727] let s:lib.Codec.decoding_table["147,194"] = [25728] let s:lib.Codec.decoding_table["147,195"] = [25729] let s:lib.Codec.decoding_table["147,196"] = [25731] let s:lib.Codec.decoding_table["147,197"] = [25734] let s:lib.Codec.decoding_table["147,198"] = [25736] let s:lib.Codec.decoding_table["147,199"] = [25737] let s:lib.Codec.decoding_table["147,200"] = [25738] let s:lib.Codec.decoding_table["147,201"] = [25739] let s:lib.Codec.decoding_table["147,202"] = [25740] let s:lib.Codec.decoding_table["147,203"] = [25741] let s:lib.Codec.decoding_table["147,204"] = [25742] let s:lib.Codec.decoding_table["147,205"] = [25743] let s:lib.Codec.decoding_table["147,206"] = [25744] let s:lib.Codec.decoding_table["147,207"] = [25747] let s:lib.Codec.decoding_table["147,208"] = [25748] let s:lib.Codec.decoding_table["147,209"] = [25751] let s:lib.Codec.decoding_table["147,210"] = [25752] let s:lib.Codec.decoding_table["147,211"] = [25754] let s:lib.Codec.decoding_table["147,212"] = [25755] let s:lib.Codec.decoding_table["147,213"] = [25756] let s:lib.Codec.decoding_table["147,214"] = [25757] let s:lib.Codec.decoding_table["147,215"] = [25759] let s:lib.Codec.decoding_table["147,216"] = [25760] let s:lib.Codec.decoding_table["147,217"] = [25761] let s:lib.Codec.decoding_table["147,218"] = [25762] let s:lib.Codec.decoding_table["147,219"] = [25763] let s:lib.Codec.decoding_table["147,220"] = [25765] let s:lib.Codec.decoding_table["147,221"] = [25766] let s:lib.Codec.decoding_table["147,222"] = [25767] let s:lib.Codec.decoding_table["147,223"] = [25768] let s:lib.Codec.decoding_table["147,224"] = [25770] let s:lib.Codec.decoding_table["147,225"] = [25771] let s:lib.Codec.decoding_table["147,226"] = [25775] let s:lib.Codec.decoding_table["147,227"] = [25777] let s:lib.Codec.decoding_table["147,228"] = [25778] let s:lib.Codec.decoding_table["147,229"] = [25779] let s:lib.Codec.decoding_table["147,230"] = [25780] let s:lib.Codec.decoding_table["147,231"] = [25782] let s:lib.Codec.decoding_table["147,232"] = [25785] let s:lib.Codec.decoding_table["147,233"] = [25787] let s:lib.Codec.decoding_table["147,234"] = [25789] let s:lib.Codec.decoding_table["147,235"] = [25790] let s:lib.Codec.decoding_table["147,236"] = [25791] let s:lib.Codec.decoding_table["147,237"] = [25793] let s:lib.Codec.decoding_table["147,238"] = [25795] let s:lib.Codec.decoding_table["147,239"] = [25796] let s:lib.Codec.decoding_table["147,240"] = [25798] let s:lib.Codec.decoding_table["147,241"] = [25799] let s:lib.Codec.decoding_table["147,242"] = [25800] let s:lib.Codec.decoding_table["147,243"] = [25801] let s:lib.Codec.decoding_table["147,244"] = [25802] let s:lib.Codec.decoding_table["147,245"] = [25803] let s:lib.Codec.decoding_table["147,246"] = [25804] let s:lib.Codec.decoding_table["147,247"] = [25807] let s:lib.Codec.decoding_table["147,248"] = [25809] let s:lib.Codec.decoding_table["147,249"] = [25811] let s:lib.Codec.decoding_table["147,250"] = [25812] let s:lib.Codec.decoding_table["147,251"] = [25813] let s:lib.Codec.decoding_table["147,252"] = [25814] let s:lib.Codec.decoding_table["147,253"] = [25817] let s:lib.Codec.decoding_table["147,254"] = [25818] let s:lib.Codec.decoding_table["148,64"] = [25819] let s:lib.Codec.decoding_table["148,65"] = [25820] let s:lib.Codec.decoding_table["148,66"] = [25821] let s:lib.Codec.decoding_table["148,67"] = [25823] let s:lib.Codec.decoding_table["148,68"] = [25824] let s:lib.Codec.decoding_table["148,69"] = [25825] let s:lib.Codec.decoding_table["148,70"] = [25827] let s:lib.Codec.decoding_table["148,71"] = [25829] let s:lib.Codec.decoding_table["148,72"] = [25831] let s:lib.Codec.decoding_table["148,73"] = [25832] let s:lib.Codec.decoding_table["148,74"] = [25833] let s:lib.Codec.decoding_table["148,75"] = [25834] let s:lib.Codec.decoding_table["148,76"] = [25835] let s:lib.Codec.decoding_table["148,77"] = [25836] let s:lib.Codec.decoding_table["148,78"] = [25837] let s:lib.Codec.decoding_table["148,79"] = [25838] let s:lib.Codec.decoding_table["148,80"] = [25839] let s:lib.Codec.decoding_table["148,81"] = [25840] let s:lib.Codec.decoding_table["148,82"] = [25841] let s:lib.Codec.decoding_table["148,83"] = [25842] let s:lib.Codec.decoding_table["148,84"] = [25843] let s:lib.Codec.decoding_table["148,85"] = [25844] let s:lib.Codec.decoding_table["148,86"] = [25845] let s:lib.Codec.decoding_table["148,87"] = [25846] let s:lib.Codec.decoding_table["148,88"] = [25847] let s:lib.Codec.decoding_table["148,89"] = [25848] let s:lib.Codec.decoding_table["148,90"] = [25849] let s:lib.Codec.decoding_table["148,91"] = [25850] let s:lib.Codec.decoding_table["148,92"] = [25851] let s:lib.Codec.decoding_table["148,93"] = [25852] let s:lib.Codec.decoding_table["148,94"] = [25853] let s:lib.Codec.decoding_table["148,95"] = [25854] let s:lib.Codec.decoding_table["148,96"] = [25855] let s:lib.Codec.decoding_table["148,97"] = [25857] let s:lib.Codec.decoding_table["148,98"] = [25858] let s:lib.Codec.decoding_table["148,99"] = [25859] let s:lib.Codec.decoding_table["148,100"] = [25860] let s:lib.Codec.decoding_table["148,101"] = [25861] let s:lib.Codec.decoding_table["148,102"] = [25862] let s:lib.Codec.decoding_table["148,103"] = [25863] let s:lib.Codec.decoding_table["148,104"] = [25864] let s:lib.Codec.decoding_table["148,105"] = [25866] let s:lib.Codec.decoding_table["148,106"] = [25867] let s:lib.Codec.decoding_table["148,107"] = [25868] let s:lib.Codec.decoding_table["148,108"] = [25869] let s:lib.Codec.decoding_table["148,109"] = [25870] let s:lib.Codec.decoding_table["148,110"] = [25871] let s:lib.Codec.decoding_table["148,111"] = [25872] let s:lib.Codec.decoding_table["148,112"] = [25873] let s:lib.Codec.decoding_table["148,113"] = [25875] let s:lib.Codec.decoding_table["148,114"] = [25876] let s:lib.Codec.decoding_table["148,115"] = [25877] let s:lib.Codec.decoding_table["148,116"] = [25878] let s:lib.Codec.decoding_table["148,117"] = [25879] let s:lib.Codec.decoding_table["148,118"] = [25881] let s:lib.Codec.decoding_table["148,119"] = [25882] let s:lib.Codec.decoding_table["148,120"] = [25883] let s:lib.Codec.decoding_table["148,121"] = [25884] let s:lib.Codec.decoding_table["148,122"] = [25885] let s:lib.Codec.decoding_table["148,123"] = [25886] let s:lib.Codec.decoding_table["148,124"] = [25887] let s:lib.Codec.decoding_table["148,125"] = [25888] let s:lib.Codec.decoding_table["148,126"] = [25889] let s:lib.Codec.decoding_table["148,128"] = [25890] let s:lib.Codec.decoding_table["148,129"] = [25891] let s:lib.Codec.decoding_table["148,130"] = [25892] let s:lib.Codec.decoding_table["148,131"] = [25894] let s:lib.Codec.decoding_table["148,132"] = [25895] let s:lib.Codec.decoding_table["148,133"] = [25896] let s:lib.Codec.decoding_table["148,134"] = [25897] let s:lib.Codec.decoding_table["148,135"] = [25898] let s:lib.Codec.decoding_table["148,136"] = [25900] let s:lib.Codec.decoding_table["148,137"] = [25901] let s:lib.Codec.decoding_table["148,138"] = [25904] let s:lib.Codec.decoding_table["148,139"] = [25905] let s:lib.Codec.decoding_table["148,140"] = [25906] let s:lib.Codec.decoding_table["148,141"] = [25907] let s:lib.Codec.decoding_table["148,142"] = [25911] let s:lib.Codec.decoding_table["148,143"] = [25914] let s:lib.Codec.decoding_table["148,144"] = [25916] let s:lib.Codec.decoding_table["148,145"] = [25917] let s:lib.Codec.decoding_table["148,146"] = [25920] let s:lib.Codec.decoding_table["148,147"] = [25921] let s:lib.Codec.decoding_table["148,148"] = [25922] let s:lib.Codec.decoding_table["148,149"] = [25923] let s:lib.Codec.decoding_table["148,150"] = [25924] let s:lib.Codec.decoding_table["148,151"] = [25926] let s:lib.Codec.decoding_table["148,152"] = [25927] let s:lib.Codec.decoding_table["148,153"] = [25930] let s:lib.Codec.decoding_table["148,154"] = [25931] let s:lib.Codec.decoding_table["148,155"] = [25933] let s:lib.Codec.decoding_table["148,156"] = [25934] let s:lib.Codec.decoding_table["148,157"] = [25936] let s:lib.Codec.decoding_table["148,158"] = [25938] let s:lib.Codec.decoding_table["148,159"] = [25939] let s:lib.Codec.decoding_table["148,160"] = [25940] let s:lib.Codec.decoding_table["148,161"] = [25943] let s:lib.Codec.decoding_table["148,162"] = [25944] let s:lib.Codec.decoding_table["148,163"] = [25946] let s:lib.Codec.decoding_table["148,164"] = [25948] let s:lib.Codec.decoding_table["148,165"] = [25951] let s:lib.Codec.decoding_table["148,166"] = [25952] let s:lib.Codec.decoding_table["148,167"] = [25953] let s:lib.Codec.decoding_table["148,168"] = [25956] let s:lib.Codec.decoding_table["148,169"] = [25957] let s:lib.Codec.decoding_table["148,170"] = [25959] let s:lib.Codec.decoding_table["148,171"] = [25960] let s:lib.Codec.decoding_table["148,172"] = [25961] let s:lib.Codec.decoding_table["148,173"] = [25962] let s:lib.Codec.decoding_table["148,174"] = [25965] let s:lib.Codec.decoding_table["148,175"] = [25966] let s:lib.Codec.decoding_table["148,176"] = [25967] let s:lib.Codec.decoding_table["148,177"] = [25969] let s:lib.Codec.decoding_table["148,178"] = [25971] let s:lib.Codec.decoding_table["148,179"] = [25973] let s:lib.Codec.decoding_table["148,180"] = [25974] let s:lib.Codec.decoding_table["148,181"] = [25976] let s:lib.Codec.decoding_table["148,182"] = [25977] let s:lib.Codec.decoding_table["148,183"] = [25978] let s:lib.Codec.decoding_table["148,184"] = [25979] let s:lib.Codec.decoding_table["148,185"] = [25980] let s:lib.Codec.decoding_table["148,186"] = [25981] let s:lib.Codec.decoding_table["148,187"] = [25982] let s:lib.Codec.decoding_table["148,188"] = [25983] let s:lib.Codec.decoding_table["148,189"] = [25984] let s:lib.Codec.decoding_table["148,190"] = [25985] let s:lib.Codec.decoding_table["148,191"] = [25986] let s:lib.Codec.decoding_table["148,192"] = [25987] let s:lib.Codec.decoding_table["148,193"] = [25988] let s:lib.Codec.decoding_table["148,194"] = [25989] let s:lib.Codec.decoding_table["148,195"] = [25990] let s:lib.Codec.decoding_table["148,196"] = [25992] let s:lib.Codec.decoding_table["148,197"] = [25993] let s:lib.Codec.decoding_table["148,198"] = [25994] let s:lib.Codec.decoding_table["148,199"] = [25997] let s:lib.Codec.decoding_table["148,200"] = [25998] let s:lib.Codec.decoding_table["148,201"] = [25999] let s:lib.Codec.decoding_table["148,202"] = [26002] let s:lib.Codec.decoding_table["148,203"] = [26004] let s:lib.Codec.decoding_table["148,204"] = [26005] let s:lib.Codec.decoding_table["148,205"] = [26006] let s:lib.Codec.decoding_table["148,206"] = [26008] let s:lib.Codec.decoding_table["148,207"] = [26010] let s:lib.Codec.decoding_table["148,208"] = [26013] let s:lib.Codec.decoding_table["148,209"] = [26014] let s:lib.Codec.decoding_table["148,210"] = [26016] let s:lib.Codec.decoding_table["148,211"] = [26018] let s:lib.Codec.decoding_table["148,212"] = [26019] let s:lib.Codec.decoding_table["148,213"] = [26022] let s:lib.Codec.decoding_table["148,214"] = [26024] let s:lib.Codec.decoding_table["148,215"] = [26026] let s:lib.Codec.decoding_table["148,216"] = [26028] let s:lib.Codec.decoding_table["148,217"] = [26030] let s:lib.Codec.decoding_table["148,218"] = [26033] let s:lib.Codec.decoding_table["148,219"] = [26034] let s:lib.Codec.decoding_table["148,220"] = [26035] let s:lib.Codec.decoding_table["148,221"] = [26036] let s:lib.Codec.decoding_table["148,222"] = [26037] let s:lib.Codec.decoding_table["148,223"] = [26038] let s:lib.Codec.decoding_table["148,224"] = [26039] let s:lib.Codec.decoding_table["148,225"] = [26040] let s:lib.Codec.decoding_table["148,226"] = [26042] let s:lib.Codec.decoding_table["148,227"] = [26043] let s:lib.Codec.decoding_table["148,228"] = [26046] let s:lib.Codec.decoding_table["148,229"] = [26047] let s:lib.Codec.decoding_table["148,230"] = [26048] let s:lib.Codec.decoding_table["148,231"] = [26050] let s:lib.Codec.decoding_table["148,232"] = [26055] let s:lib.Codec.decoding_table["148,233"] = [26056] let s:lib.Codec.decoding_table["148,234"] = [26057] let s:lib.Codec.decoding_table["148,235"] = [26058] let s:lib.Codec.decoding_table["148,236"] = [26061] let s:lib.Codec.decoding_table["148,237"] = [26064] let s:lib.Codec.decoding_table["148,238"] = [26065] let s:lib.Codec.decoding_table["148,239"] = [26067] let s:lib.Codec.decoding_table["148,240"] = [26068] let s:lib.Codec.decoding_table["148,241"] = [26069] let s:lib.Codec.decoding_table["148,242"] = [26072] let s:lib.Codec.decoding_table["148,243"] = [26073] let s:lib.Codec.decoding_table["148,244"] = [26074] let s:lib.Codec.decoding_table["148,245"] = [26075] let s:lib.Codec.decoding_table["148,246"] = [26076] let s:lib.Codec.decoding_table["148,247"] = [26077] let s:lib.Codec.decoding_table["148,248"] = [26078] let s:lib.Codec.decoding_table["148,249"] = [26079] let s:lib.Codec.decoding_table["148,250"] = [26081] let s:lib.Codec.decoding_table["148,251"] = [26083] let s:lib.Codec.decoding_table["148,252"] = [26084] let s:lib.Codec.decoding_table["148,253"] = [26090] let s:lib.Codec.decoding_table["148,254"] = [26091] let s:lib.Codec.decoding_table["149,64"] = [26098] let s:lib.Codec.decoding_table["149,65"] = [26099] let s:lib.Codec.decoding_table["149,66"] = [26100] let s:lib.Codec.decoding_table["149,67"] = [26101] let s:lib.Codec.decoding_table["149,68"] = [26104] let s:lib.Codec.decoding_table["149,69"] = [26105] let s:lib.Codec.decoding_table["149,70"] = [26107] let s:lib.Codec.decoding_table["149,71"] = [26108] let s:lib.Codec.decoding_table["149,72"] = [26109] let s:lib.Codec.decoding_table["149,73"] = [26110] let s:lib.Codec.decoding_table["149,74"] = [26111] let s:lib.Codec.decoding_table["149,75"] = [26113] let s:lib.Codec.decoding_table["149,76"] = [26116] let s:lib.Codec.decoding_table["149,77"] = [26117] let s:lib.Codec.decoding_table["149,78"] = [26119] let s:lib.Codec.decoding_table["149,79"] = [26120] let s:lib.Codec.decoding_table["149,80"] = [26121] let s:lib.Codec.decoding_table["149,81"] = [26123] let s:lib.Codec.decoding_table["149,82"] = [26125] let s:lib.Codec.decoding_table["149,83"] = [26128] let s:lib.Codec.decoding_table["149,84"] = [26129] let s:lib.Codec.decoding_table["149,85"] = [26130] let s:lib.Codec.decoding_table["149,86"] = [26134] let s:lib.Codec.decoding_table["149,87"] = [26135] let s:lib.Codec.decoding_table["149,88"] = [26136] let s:lib.Codec.decoding_table["149,89"] = [26138] let s:lib.Codec.decoding_table["149,90"] = [26139] let s:lib.Codec.decoding_table["149,91"] = [26140] let s:lib.Codec.decoding_table["149,92"] = [26142] let s:lib.Codec.decoding_table["149,93"] = [26145] let s:lib.Codec.decoding_table["149,94"] = [26146] let s:lib.Codec.decoding_table["149,95"] = [26147] let s:lib.Codec.decoding_table["149,96"] = [26148] let s:lib.Codec.decoding_table["149,97"] = [26150] let s:lib.Codec.decoding_table["149,98"] = [26153] let s:lib.Codec.decoding_table["149,99"] = [26154] let s:lib.Codec.decoding_table["149,100"] = [26155] let s:lib.Codec.decoding_table["149,101"] = [26156] let s:lib.Codec.decoding_table["149,102"] = [26158] let s:lib.Codec.decoding_table["149,103"] = [26160] let s:lib.Codec.decoding_table["149,104"] = [26162] let s:lib.Codec.decoding_table["149,105"] = [26163] let s:lib.Codec.decoding_table["149,106"] = [26167] let s:lib.Codec.decoding_table["149,107"] = [26168] let s:lib.Codec.decoding_table["149,108"] = [26169] let s:lib.Codec.decoding_table["149,109"] = [26170] let s:lib.Codec.decoding_table["149,110"] = [26171] let s:lib.Codec.decoding_table["149,111"] = [26173] let s:lib.Codec.decoding_table["149,112"] = [26175] let s:lib.Codec.decoding_table["149,113"] = [26176] let s:lib.Codec.decoding_table["149,114"] = [26178] let s:lib.Codec.decoding_table["149,115"] = [26180] let s:lib.Codec.decoding_table["149,116"] = [26181] let s:lib.Codec.decoding_table["149,117"] = [26182] let s:lib.Codec.decoding_table["149,118"] = [26183] let s:lib.Codec.decoding_table["149,119"] = [26184] let s:lib.Codec.decoding_table["149,120"] = [26185] let s:lib.Codec.decoding_table["149,121"] = [26186] let s:lib.Codec.decoding_table["149,122"] = [26189] let s:lib.Codec.decoding_table["149,123"] = [26190] let s:lib.Codec.decoding_table["149,124"] = [26192] let s:lib.Codec.decoding_table["149,125"] = [26193] let s:lib.Codec.decoding_table["149,126"] = [26200] let s:lib.Codec.decoding_table["149,128"] = [26201] let s:lib.Codec.decoding_table["149,129"] = [26203] let s:lib.Codec.decoding_table["149,130"] = [26204] let s:lib.Codec.decoding_table["149,131"] = [26205] let s:lib.Codec.decoding_table["149,132"] = [26206] let s:lib.Codec.decoding_table["149,133"] = [26208] let s:lib.Codec.decoding_table["149,134"] = [26210] let s:lib.Codec.decoding_table["149,135"] = [26211] let s:lib.Codec.decoding_table["149,136"] = [26213] let s:lib.Codec.decoding_table["149,137"] = [26215] let s:lib.Codec.decoding_table["149,138"] = [26217] let s:lib.Codec.decoding_table["149,139"] = [26218] let s:lib.Codec.decoding_table["149,140"] = [26219] let s:lib.Codec.decoding_table["149,141"] = [26220] let s:lib.Codec.decoding_table["149,142"] = [26221] let s:lib.Codec.decoding_table["149,143"] = [26225] let s:lib.Codec.decoding_table["149,144"] = [26226] let s:lib.Codec.decoding_table["149,145"] = [26227] let s:lib.Codec.decoding_table["149,146"] = [26229] let s:lib.Codec.decoding_table["149,147"] = [26232] let s:lib.Codec.decoding_table["149,148"] = [26233] let s:lib.Codec.decoding_table["149,149"] = [26235] let s:lib.Codec.decoding_table["149,150"] = [26236] let s:lib.Codec.decoding_table["149,151"] = [26237] let s:lib.Codec.decoding_table["149,152"] = [26239] let s:lib.Codec.decoding_table["149,153"] = [26240] let s:lib.Codec.decoding_table["149,154"] = [26241] let s:lib.Codec.decoding_table["149,155"] = [26243] let s:lib.Codec.decoding_table["149,156"] = [26245] let s:lib.Codec.decoding_table["149,157"] = [26246] let s:lib.Codec.decoding_table["149,158"] = [26248] let s:lib.Codec.decoding_table["149,159"] = [26249] let s:lib.Codec.decoding_table["149,160"] = [26250] let s:lib.Codec.decoding_table["149,161"] = [26251] let s:lib.Codec.decoding_table["149,162"] = [26253] let s:lib.Codec.decoding_table["149,163"] = [26254] let s:lib.Codec.decoding_table["149,164"] = [26255] let s:lib.Codec.decoding_table["149,165"] = [26256] let s:lib.Codec.decoding_table["149,166"] = [26258] let s:lib.Codec.decoding_table["149,167"] = [26259] let s:lib.Codec.decoding_table["149,168"] = [26260] let s:lib.Codec.decoding_table["149,169"] = [26261] let s:lib.Codec.decoding_table["149,170"] = [26264] let s:lib.Codec.decoding_table["149,171"] = [26265] let s:lib.Codec.decoding_table["149,172"] = [26266] let s:lib.Codec.decoding_table["149,173"] = [26267] let s:lib.Codec.decoding_table["149,174"] = [26268] let s:lib.Codec.decoding_table["149,175"] = [26270] let s:lib.Codec.decoding_table["149,176"] = [26271] let s:lib.Codec.decoding_table["149,177"] = [26272] let s:lib.Codec.decoding_table["149,178"] = [26273] let s:lib.Codec.decoding_table["149,179"] = [26274] let s:lib.Codec.decoding_table["149,180"] = [26275] let s:lib.Codec.decoding_table["149,181"] = [26276] let s:lib.Codec.decoding_table["149,182"] = [26277] let s:lib.Codec.decoding_table["149,183"] = [26278] let s:lib.Codec.decoding_table["149,184"] = [26281] let s:lib.Codec.decoding_table["149,185"] = [26282] let s:lib.Codec.decoding_table["149,186"] = [26283] let s:lib.Codec.decoding_table["149,187"] = [26284] let s:lib.Codec.decoding_table["149,188"] = [26285] let s:lib.Codec.decoding_table["149,189"] = [26287] let s:lib.Codec.decoding_table["149,190"] = [26288] let s:lib.Codec.decoding_table["149,191"] = [26289] let s:lib.Codec.decoding_table["149,192"] = [26290] let s:lib.Codec.decoding_table["149,193"] = [26291] let s:lib.Codec.decoding_table["149,194"] = [26293] let s:lib.Codec.decoding_table["149,195"] = [26294] let s:lib.Codec.decoding_table["149,196"] = [26295] let s:lib.Codec.decoding_table["149,197"] = [26296] let s:lib.Codec.decoding_table["149,198"] = [26298] let s:lib.Codec.decoding_table["149,199"] = [26299] let s:lib.Codec.decoding_table["149,200"] = [26300] let s:lib.Codec.decoding_table["149,201"] = [26301] let s:lib.Codec.decoding_table["149,202"] = [26303] let s:lib.Codec.decoding_table["149,203"] = [26304] let s:lib.Codec.decoding_table["149,204"] = [26305] let s:lib.Codec.decoding_table["149,205"] = [26306] let s:lib.Codec.decoding_table["149,206"] = [26307] let s:lib.Codec.decoding_table["149,207"] = [26308] let s:lib.Codec.decoding_table["149,208"] = [26309] let s:lib.Codec.decoding_table["149,209"] = [26310] let s:lib.Codec.decoding_table["149,210"] = [26311] let s:lib.Codec.decoding_table["149,211"] = [26312] let s:lib.Codec.decoding_table["149,212"] = [26313] let s:lib.Codec.decoding_table["149,213"] = [26314] let s:lib.Codec.decoding_table["149,214"] = [26315] let s:lib.Codec.decoding_table["149,215"] = [26316] let s:lib.Codec.decoding_table["149,216"] = [26317] let s:lib.Codec.decoding_table["149,217"] = [26318] let s:lib.Codec.decoding_table["149,218"] = [26319] let s:lib.Codec.decoding_table["149,219"] = [26320] let s:lib.Codec.decoding_table["149,220"] = [26321] let s:lib.Codec.decoding_table["149,221"] = [26322] let s:lib.Codec.decoding_table["149,222"] = [26323] let s:lib.Codec.decoding_table["149,223"] = [26324] let s:lib.Codec.decoding_table["149,224"] = [26325] let s:lib.Codec.decoding_table["149,225"] = [26326] let s:lib.Codec.decoding_table["149,226"] = [26327] let s:lib.Codec.decoding_table["149,227"] = [26328] let s:lib.Codec.decoding_table["149,228"] = [26330] let s:lib.Codec.decoding_table["149,229"] = [26334] let s:lib.Codec.decoding_table["149,230"] = [26335] let s:lib.Codec.decoding_table["149,231"] = [26336] let s:lib.Codec.decoding_table["149,232"] = [26337] let s:lib.Codec.decoding_table["149,233"] = [26338] let s:lib.Codec.decoding_table["149,234"] = [26339] let s:lib.Codec.decoding_table["149,235"] = [26340] let s:lib.Codec.decoding_table["149,236"] = [26341] let s:lib.Codec.decoding_table["149,237"] = [26343] let s:lib.Codec.decoding_table["149,238"] = [26344] let s:lib.Codec.decoding_table["149,239"] = [26346] let s:lib.Codec.decoding_table["149,240"] = [26347] let s:lib.Codec.decoding_table["149,241"] = [26348] let s:lib.Codec.decoding_table["149,242"] = [26349] let s:lib.Codec.decoding_table["149,243"] = [26350] let s:lib.Codec.decoding_table["149,244"] = [26351] let s:lib.Codec.decoding_table["149,245"] = [26353] let s:lib.Codec.decoding_table["149,246"] = [26357] let s:lib.Codec.decoding_table["149,247"] = [26358] let s:lib.Codec.decoding_table["149,248"] = [26360] let s:lib.Codec.decoding_table["149,249"] = [26362] let s:lib.Codec.decoding_table["149,250"] = [26363] let s:lib.Codec.decoding_table["149,251"] = [26365] let s:lib.Codec.decoding_table["149,252"] = [26369] let s:lib.Codec.decoding_table["149,253"] = [26370] let s:lib.Codec.decoding_table["149,254"] = [26371] let s:lib.Codec.decoding_table["150,64"] = [26372] let s:lib.Codec.decoding_table["150,65"] = [26373] let s:lib.Codec.decoding_table["150,66"] = [26374] let s:lib.Codec.decoding_table["150,67"] = [26375] let s:lib.Codec.decoding_table["150,68"] = [26380] let s:lib.Codec.decoding_table["150,69"] = [26382] let s:lib.Codec.decoding_table["150,70"] = [26383] let s:lib.Codec.decoding_table["150,71"] = [26385] let s:lib.Codec.decoding_table["150,72"] = [26386] let s:lib.Codec.decoding_table["150,73"] = [26387] let s:lib.Codec.decoding_table["150,74"] = [26390] let s:lib.Codec.decoding_table["150,75"] = [26392] let s:lib.Codec.decoding_table["150,76"] = [26393] let s:lib.Codec.decoding_table["150,77"] = [26394] let s:lib.Codec.decoding_table["150,78"] = [26396] let s:lib.Codec.decoding_table["150,79"] = [26398] let s:lib.Codec.decoding_table["150,80"] = [26400] let s:lib.Codec.decoding_table["150,81"] = [26401] let s:lib.Codec.decoding_table["150,82"] = [26402] let s:lib.Codec.decoding_table["150,83"] = [26403] let s:lib.Codec.decoding_table["150,84"] = [26404] let s:lib.Codec.decoding_table["150,85"] = [26405] let s:lib.Codec.decoding_table["150,86"] = [26407] let s:lib.Codec.decoding_table["150,87"] = [26409] let s:lib.Codec.decoding_table["150,88"] = [26414] let s:lib.Codec.decoding_table["150,89"] = [26416] let s:lib.Codec.decoding_table["150,90"] = [26418] let s:lib.Codec.decoding_table["150,91"] = [26419] let s:lib.Codec.decoding_table["150,92"] = [26422] let s:lib.Codec.decoding_table["150,93"] = [26423] let s:lib.Codec.decoding_table["150,94"] = [26424] let s:lib.Codec.decoding_table["150,95"] = [26425] let s:lib.Codec.decoding_table["150,96"] = [26427] let s:lib.Codec.decoding_table["150,97"] = [26428] let s:lib.Codec.decoding_table["150,98"] = [26430] let s:lib.Codec.decoding_table["150,99"] = [26431] let s:lib.Codec.decoding_table["150,100"] = [26433] let s:lib.Codec.decoding_table["150,101"] = [26436] let s:lib.Codec.decoding_table["150,102"] = [26437] let s:lib.Codec.decoding_table["150,103"] = [26439] let s:lib.Codec.decoding_table["150,104"] = [26442] let s:lib.Codec.decoding_table["150,105"] = [26443] let s:lib.Codec.decoding_table["150,106"] = [26445] let s:lib.Codec.decoding_table["150,107"] = [26450] let s:lib.Codec.decoding_table["150,108"] = [26452] let s:lib.Codec.decoding_table["150,109"] = [26453] let s:lib.Codec.decoding_table["150,110"] = [26455] let s:lib.Codec.decoding_table["150,111"] = [26456] let s:lib.Codec.decoding_table["150,112"] = [26457] let s:lib.Codec.decoding_table["150,113"] = [26458] let s:lib.Codec.decoding_table["150,114"] = [26459] let s:lib.Codec.decoding_table["150,115"] = [26461] let s:lib.Codec.decoding_table["150,116"] = [26466] let s:lib.Codec.decoding_table["150,117"] = [26467] let s:lib.Codec.decoding_table["150,118"] = [26468] let s:lib.Codec.decoding_table["150,119"] = [26470] let s:lib.Codec.decoding_table["150,120"] = [26471] let s:lib.Codec.decoding_table["150,121"] = [26475] let s:lib.Codec.decoding_table["150,122"] = [26476] let s:lib.Codec.decoding_table["150,123"] = [26478] let s:lib.Codec.decoding_table["150,124"] = [26481] let s:lib.Codec.decoding_table["150,125"] = [26484] let s:lib.Codec.decoding_table["150,126"] = [26486] let s:lib.Codec.decoding_table["150,128"] = [26488] let s:lib.Codec.decoding_table["150,129"] = [26489] let s:lib.Codec.decoding_table["150,130"] = [26490] let s:lib.Codec.decoding_table["150,131"] = [26491] let s:lib.Codec.decoding_table["150,132"] = [26493] let s:lib.Codec.decoding_table["150,133"] = [26496] let s:lib.Codec.decoding_table["150,134"] = [26498] let s:lib.Codec.decoding_table["150,135"] = [26499] let s:lib.Codec.decoding_table["150,136"] = [26501] let s:lib.Codec.decoding_table["150,137"] = [26502] let s:lib.Codec.decoding_table["150,138"] = [26504] let s:lib.Codec.decoding_table["150,139"] = [26506] let s:lib.Codec.decoding_table["150,140"] = [26508] let s:lib.Codec.decoding_table["150,141"] = [26509] let s:lib.Codec.decoding_table["150,142"] = [26510] let s:lib.Codec.decoding_table["150,143"] = [26511] let s:lib.Codec.decoding_table["150,144"] = [26513] let s:lib.Codec.decoding_table["150,145"] = [26514] let s:lib.Codec.decoding_table["150,146"] = [26515] let s:lib.Codec.decoding_table["150,147"] = [26516] let s:lib.Codec.decoding_table["150,148"] = [26518] let s:lib.Codec.decoding_table["150,149"] = [26521] let s:lib.Codec.decoding_table["150,150"] = [26523] let s:lib.Codec.decoding_table["150,151"] = [26527] let s:lib.Codec.decoding_table["150,152"] = [26528] let s:lib.Codec.decoding_table["150,153"] = [26529] let s:lib.Codec.decoding_table["150,154"] = [26532] let s:lib.Codec.decoding_table["150,155"] = [26534] let s:lib.Codec.decoding_table["150,156"] = [26537] let s:lib.Codec.decoding_table["150,157"] = [26540] let s:lib.Codec.decoding_table["150,158"] = [26542] let s:lib.Codec.decoding_table["150,159"] = [26545] let s:lib.Codec.decoding_table["150,160"] = [26546] let s:lib.Codec.decoding_table["150,161"] = [26548] let s:lib.Codec.decoding_table["150,162"] = [26553] let s:lib.Codec.decoding_table["150,163"] = [26554] let s:lib.Codec.decoding_table["150,164"] = [26555] let s:lib.Codec.decoding_table["150,165"] = [26556] let s:lib.Codec.decoding_table["150,166"] = [26557] let s:lib.Codec.decoding_table["150,167"] = [26558] let s:lib.Codec.decoding_table["150,168"] = [26559] let s:lib.Codec.decoding_table["150,169"] = [26560] let s:lib.Codec.decoding_table["150,170"] = [26562] let s:lib.Codec.decoding_table["150,171"] = [26565] let s:lib.Codec.decoding_table["150,172"] = [26566] let s:lib.Codec.decoding_table["150,173"] = [26567] let s:lib.Codec.decoding_table["150,174"] = [26568] let s:lib.Codec.decoding_table["150,175"] = [26569] let s:lib.Codec.decoding_table["150,176"] = [26570] let s:lib.Codec.decoding_table["150,177"] = [26571] let s:lib.Codec.decoding_table["150,178"] = [26572] let s:lib.Codec.decoding_table["150,179"] = [26573] let s:lib.Codec.decoding_table["150,180"] = [26574] let s:lib.Codec.decoding_table["150,181"] = [26581] let s:lib.Codec.decoding_table["150,182"] = [26582] let s:lib.Codec.decoding_table["150,183"] = [26583] let s:lib.Codec.decoding_table["150,184"] = [26587] let s:lib.Codec.decoding_table["150,185"] = [26591] let s:lib.Codec.decoding_table["150,186"] = [26593] let s:lib.Codec.decoding_table["150,187"] = [26595] let s:lib.Codec.decoding_table["150,188"] = [26596] let s:lib.Codec.decoding_table["150,189"] = [26598] let s:lib.Codec.decoding_table["150,190"] = [26599] let s:lib.Codec.decoding_table["150,191"] = [26600] let s:lib.Codec.decoding_table["150,192"] = [26602] let s:lib.Codec.decoding_table["150,193"] = [26603] let s:lib.Codec.decoding_table["150,194"] = [26605] let s:lib.Codec.decoding_table["150,195"] = [26606] let s:lib.Codec.decoding_table["150,196"] = [26610] let s:lib.Codec.decoding_table["150,197"] = [26613] let s:lib.Codec.decoding_table["150,198"] = [26614] let s:lib.Codec.decoding_table["150,199"] = [26615] let s:lib.Codec.decoding_table["150,200"] = [26616] let s:lib.Codec.decoding_table["150,201"] = [26617] let s:lib.Codec.decoding_table["150,202"] = [26618] let s:lib.Codec.decoding_table["150,203"] = [26619] let s:lib.Codec.decoding_table["150,204"] = [26620] let s:lib.Codec.decoding_table["150,205"] = [26622] let s:lib.Codec.decoding_table["150,206"] = [26625] let s:lib.Codec.decoding_table["150,207"] = [26626] let s:lib.Codec.decoding_table["150,208"] = [26627] let s:lib.Codec.decoding_table["150,209"] = [26628] let s:lib.Codec.decoding_table["150,210"] = [26630] let s:lib.Codec.decoding_table["150,211"] = [26637] let s:lib.Codec.decoding_table["150,212"] = [26640] let s:lib.Codec.decoding_table["150,213"] = [26642] let s:lib.Codec.decoding_table["150,214"] = [26644] let s:lib.Codec.decoding_table["150,215"] = [26645] let s:lib.Codec.decoding_table["150,216"] = [26648] let s:lib.Codec.decoding_table["150,217"] = [26649] let s:lib.Codec.decoding_table["150,218"] = [26650] let s:lib.Codec.decoding_table["150,219"] = [26651] let s:lib.Codec.decoding_table["150,220"] = [26652] let s:lib.Codec.decoding_table["150,221"] = [26654] let s:lib.Codec.decoding_table["150,222"] = [26655] let s:lib.Codec.decoding_table["150,223"] = [26656] let s:lib.Codec.decoding_table["150,224"] = [26658] let s:lib.Codec.decoding_table["150,225"] = [26659] let s:lib.Codec.decoding_table["150,226"] = [26660] let s:lib.Codec.decoding_table["150,227"] = [26661] let s:lib.Codec.decoding_table["150,228"] = [26662] let s:lib.Codec.decoding_table["150,229"] = [26663] let s:lib.Codec.decoding_table["150,230"] = [26664] let s:lib.Codec.decoding_table["150,231"] = [26667] let s:lib.Codec.decoding_table["150,232"] = [26668] let s:lib.Codec.decoding_table["150,233"] = [26669] let s:lib.Codec.decoding_table["150,234"] = [26670] let s:lib.Codec.decoding_table["150,235"] = [26671] let s:lib.Codec.decoding_table["150,236"] = [26672] let s:lib.Codec.decoding_table["150,237"] = [26673] let s:lib.Codec.decoding_table["150,238"] = [26676] let s:lib.Codec.decoding_table["150,239"] = [26677] let s:lib.Codec.decoding_table["150,240"] = [26678] let s:lib.Codec.decoding_table["150,241"] = [26682] let s:lib.Codec.decoding_table["150,242"] = [26683] let s:lib.Codec.decoding_table["150,243"] = [26687] let s:lib.Codec.decoding_table["150,244"] = [26695] let s:lib.Codec.decoding_table["150,245"] = [26699] let s:lib.Codec.decoding_table["150,246"] = [26701] let s:lib.Codec.decoding_table["150,247"] = [26703] let s:lib.Codec.decoding_table["150,248"] = [26706] let s:lib.Codec.decoding_table["150,249"] = [26710] let s:lib.Codec.decoding_table["150,250"] = [26711] let s:lib.Codec.decoding_table["150,251"] = [26712] let s:lib.Codec.decoding_table["150,252"] = [26713] let s:lib.Codec.decoding_table["150,253"] = [26714] let s:lib.Codec.decoding_table["150,254"] = [26715] let s:lib.Codec.decoding_table["151,64"] = [26716] let s:lib.Codec.decoding_table["151,65"] = [26717] let s:lib.Codec.decoding_table["151,66"] = [26718] let s:lib.Codec.decoding_table["151,67"] = [26719] let s:lib.Codec.decoding_table["151,68"] = [26730] let s:lib.Codec.decoding_table["151,69"] = [26732] let s:lib.Codec.decoding_table["151,70"] = [26733] let s:lib.Codec.decoding_table["151,71"] = [26734] let s:lib.Codec.decoding_table["151,72"] = [26735] let s:lib.Codec.decoding_table["151,73"] = [26736] let s:lib.Codec.decoding_table["151,74"] = [26737] let s:lib.Codec.decoding_table["151,75"] = [26738] let s:lib.Codec.decoding_table["151,76"] = [26739] let s:lib.Codec.decoding_table["151,77"] = [26741] let s:lib.Codec.decoding_table["151,78"] = [26744] let s:lib.Codec.decoding_table["151,79"] = [26745] let s:lib.Codec.decoding_table["151,80"] = [26746] let s:lib.Codec.decoding_table["151,81"] = [26747] let s:lib.Codec.decoding_table["151,82"] = [26748] let s:lib.Codec.decoding_table["151,83"] = [26749] let s:lib.Codec.decoding_table["151,84"] = [26750] let s:lib.Codec.decoding_table["151,85"] = [26751] let s:lib.Codec.decoding_table["151,86"] = [26752] let s:lib.Codec.decoding_table["151,87"] = [26754] let s:lib.Codec.decoding_table["151,88"] = [26756] let s:lib.Codec.decoding_table["151,89"] = [26759] let s:lib.Codec.decoding_table["151,90"] = [26760] let s:lib.Codec.decoding_table["151,91"] = [26761] let s:lib.Codec.decoding_table["151,92"] = [26762] let s:lib.Codec.decoding_table["151,93"] = [26763] let s:lib.Codec.decoding_table["151,94"] = [26764] let s:lib.Codec.decoding_table["151,95"] = [26765] let s:lib.Codec.decoding_table["151,96"] = [26766] let s:lib.Codec.decoding_table["151,97"] = [26768] let s:lib.Codec.decoding_table["151,98"] = [26769] let s:lib.Codec.decoding_table["151,99"] = [26770] let s:lib.Codec.decoding_table["151,100"] = [26772] let s:lib.Codec.decoding_table["151,101"] = [26773] let s:lib.Codec.decoding_table["151,102"] = [26774] let s:lib.Codec.decoding_table["151,103"] = [26776] let s:lib.Codec.decoding_table["151,104"] = [26777] let s:lib.Codec.decoding_table["151,105"] = [26778] let s:lib.Codec.decoding_table["151,106"] = [26779] let s:lib.Codec.decoding_table["151,107"] = [26780] let s:lib.Codec.decoding_table["151,108"] = [26781] let s:lib.Codec.decoding_table["151,109"] = [26782] let s:lib.Codec.decoding_table["151,110"] = [26783] let s:lib.Codec.decoding_table["151,111"] = [26784] let s:lib.Codec.decoding_table["151,112"] = [26785] let s:lib.Codec.decoding_table["151,113"] = [26787] let s:lib.Codec.decoding_table["151,114"] = [26788] let s:lib.Codec.decoding_table["151,115"] = [26789] let s:lib.Codec.decoding_table["151,116"] = [26793] let s:lib.Codec.decoding_table["151,117"] = [26794] let s:lib.Codec.decoding_table["151,118"] = [26795] let s:lib.Codec.decoding_table["151,119"] = [26796] let s:lib.Codec.decoding_table["151,120"] = [26798] let s:lib.Codec.decoding_table["151,121"] = [26801] let s:lib.Codec.decoding_table["151,122"] = [26802] let s:lib.Codec.decoding_table["151,123"] = [26804] let s:lib.Codec.decoding_table["151,124"] = [26806] let s:lib.Codec.decoding_table["151,125"] = [26807] let s:lib.Codec.decoding_table["151,126"] = [26808] let s:lib.Codec.decoding_table["151,128"] = [26809] let s:lib.Codec.decoding_table["151,129"] = [26810] let s:lib.Codec.decoding_table["151,130"] = [26811] let s:lib.Codec.decoding_table["151,131"] = [26812] let s:lib.Codec.decoding_table["151,132"] = [26813] let s:lib.Codec.decoding_table["151,133"] = [26814] let s:lib.Codec.decoding_table["151,134"] = [26815] let s:lib.Codec.decoding_table["151,135"] = [26817] let s:lib.Codec.decoding_table["151,136"] = [26819] let s:lib.Codec.decoding_table["151,137"] = [26820] let s:lib.Codec.decoding_table["151,138"] = [26821] let s:lib.Codec.decoding_table["151,139"] = [26822] let s:lib.Codec.decoding_table["151,140"] = [26823] let s:lib.Codec.decoding_table["151,141"] = [26824] let s:lib.Codec.decoding_table["151,142"] = [26826] let s:lib.Codec.decoding_table["151,143"] = [26828] let s:lib.Codec.decoding_table["151,144"] = [26830] let s:lib.Codec.decoding_table["151,145"] = [26831] let s:lib.Codec.decoding_table["151,146"] = [26832] let s:lib.Codec.decoding_table["151,147"] = [26833] let s:lib.Codec.decoding_table["151,148"] = [26835] let s:lib.Codec.decoding_table["151,149"] = [26836] let s:lib.Codec.decoding_table["151,150"] = [26838] let s:lib.Codec.decoding_table["151,151"] = [26839] let s:lib.Codec.decoding_table["151,152"] = [26841] let s:lib.Codec.decoding_table["151,153"] = [26843] let s:lib.Codec.decoding_table["151,154"] = [26844] let s:lib.Codec.decoding_table["151,155"] = [26845] let s:lib.Codec.decoding_table["151,156"] = [26846] let s:lib.Codec.decoding_table["151,157"] = [26847] let s:lib.Codec.decoding_table["151,158"] = [26849] let s:lib.Codec.decoding_table["151,159"] = [26850] let s:lib.Codec.decoding_table["151,160"] = [26852] let s:lib.Codec.decoding_table["151,161"] = [26853] let s:lib.Codec.decoding_table["151,162"] = [26854] let s:lib.Codec.decoding_table["151,163"] = [26855] let s:lib.Codec.decoding_table["151,164"] = [26856] let s:lib.Codec.decoding_table["151,165"] = [26857] let s:lib.Codec.decoding_table["151,166"] = [26858] let s:lib.Codec.decoding_table["151,167"] = [26859] let s:lib.Codec.decoding_table["151,168"] = [26860] let s:lib.Codec.decoding_table["151,169"] = [26861] let s:lib.Codec.decoding_table["151,170"] = [26863] let s:lib.Codec.decoding_table["151,171"] = [26866] let s:lib.Codec.decoding_table["151,172"] = [26867] let s:lib.Codec.decoding_table["151,173"] = [26868] let s:lib.Codec.decoding_table["151,174"] = [26870] let s:lib.Codec.decoding_table["151,175"] = [26871] let s:lib.Codec.decoding_table["151,176"] = [26872] let s:lib.Codec.decoding_table["151,177"] = [26875] let s:lib.Codec.decoding_table["151,178"] = [26877] let s:lib.Codec.decoding_table["151,179"] = [26878] let s:lib.Codec.decoding_table["151,180"] = [26879] let s:lib.Codec.decoding_table["151,181"] = [26880] let s:lib.Codec.decoding_table["151,182"] = [26882] let s:lib.Codec.decoding_table["151,183"] = [26883] let s:lib.Codec.decoding_table["151,184"] = [26884] let s:lib.Codec.decoding_table["151,185"] = [26886] let s:lib.Codec.decoding_table["151,186"] = [26887] let s:lib.Codec.decoding_table["151,187"] = [26888] let s:lib.Codec.decoding_table["151,188"] = [26889] let s:lib.Codec.decoding_table["151,189"] = [26890] let s:lib.Codec.decoding_table["151,190"] = [26892] let s:lib.Codec.decoding_table["151,191"] = [26895] let s:lib.Codec.decoding_table["151,192"] = [26897] let s:lib.Codec.decoding_table["151,193"] = [26899] let s:lib.Codec.decoding_table["151,194"] = [26900] let s:lib.Codec.decoding_table["151,195"] = [26901] let s:lib.Codec.decoding_table["151,196"] = [26902] let s:lib.Codec.decoding_table["151,197"] = [26903] let s:lib.Codec.decoding_table["151,198"] = [26904] let s:lib.Codec.decoding_table["151,199"] = [26905] let s:lib.Codec.decoding_table["151,200"] = [26906] let s:lib.Codec.decoding_table["151,201"] = [26907] let s:lib.Codec.decoding_table["151,202"] = [26908] let s:lib.Codec.decoding_table["151,203"] = [26909] let s:lib.Codec.decoding_table["151,204"] = [26910] let s:lib.Codec.decoding_table["151,205"] = [26913] let s:lib.Codec.decoding_table["151,206"] = [26914] let s:lib.Codec.decoding_table["151,207"] = [26915] let s:lib.Codec.decoding_table["151,208"] = [26917] let s:lib.Codec.decoding_table["151,209"] = [26918] let s:lib.Codec.decoding_table["151,210"] = [26919] let s:lib.Codec.decoding_table["151,211"] = [26920] let s:lib.Codec.decoding_table["151,212"] = [26921] let s:lib.Codec.decoding_table["151,213"] = [26922] let s:lib.Codec.decoding_table["151,214"] = [26923] let s:lib.Codec.decoding_table["151,215"] = [26924] let s:lib.Codec.decoding_table["151,216"] = [26926] let s:lib.Codec.decoding_table["151,217"] = [26927] let s:lib.Codec.decoding_table["151,218"] = [26929] let s:lib.Codec.decoding_table["151,219"] = [26930] let s:lib.Codec.decoding_table["151,220"] = [26931] let s:lib.Codec.decoding_table["151,221"] = [26933] let s:lib.Codec.decoding_table["151,222"] = [26934] let s:lib.Codec.decoding_table["151,223"] = [26935] let s:lib.Codec.decoding_table["151,224"] = [26936] let s:lib.Codec.decoding_table["151,225"] = [26938] let s:lib.Codec.decoding_table["151,226"] = [26939] let s:lib.Codec.decoding_table["151,227"] = [26940] let s:lib.Codec.decoding_table["151,228"] = [26942] let s:lib.Codec.decoding_table["151,229"] = [26944] let s:lib.Codec.decoding_table["151,230"] = [26945] let s:lib.Codec.decoding_table["151,231"] = [26947] let s:lib.Codec.decoding_table["151,232"] = [26948] let s:lib.Codec.decoding_table["151,233"] = [26949] let s:lib.Codec.decoding_table["151,234"] = [26950] let s:lib.Codec.decoding_table["151,235"] = [26951] let s:lib.Codec.decoding_table["151,236"] = [26952] let s:lib.Codec.decoding_table["151,237"] = [26953] let s:lib.Codec.decoding_table["151,238"] = [26954] let s:lib.Codec.decoding_table["151,239"] = [26955] let s:lib.Codec.decoding_table["151,240"] = [26956] let s:lib.Codec.decoding_table["151,241"] = [26957] let s:lib.Codec.decoding_table["151,242"] = [26958] let s:lib.Codec.decoding_table["151,243"] = [26959] let s:lib.Codec.decoding_table["151,244"] = [26960] let s:lib.Codec.decoding_table["151,245"] = [26961] let s:lib.Codec.decoding_table["151,246"] = [26962] let s:lib.Codec.decoding_table["151,247"] = [26963] let s:lib.Codec.decoding_table["151,248"] = [26965] let s:lib.Codec.decoding_table["151,249"] = [26966] let s:lib.Codec.decoding_table["151,250"] = [26968] let s:lib.Codec.decoding_table["151,251"] = [26969] let s:lib.Codec.decoding_table["151,252"] = [26971] let s:lib.Codec.decoding_table["151,253"] = [26972] let s:lib.Codec.decoding_table["151,254"] = [26975] let s:lib.Codec.decoding_table["152,64"] = [26977] let s:lib.Codec.decoding_table["152,65"] = [26978] let s:lib.Codec.decoding_table["152,66"] = [26980] let s:lib.Codec.decoding_table["152,67"] = [26981] let s:lib.Codec.decoding_table["152,68"] = [26983] let s:lib.Codec.decoding_table["152,69"] = [26984] let s:lib.Codec.decoding_table["152,70"] = [26985] let s:lib.Codec.decoding_table["152,71"] = [26986] let s:lib.Codec.decoding_table["152,72"] = [26988] let s:lib.Codec.decoding_table["152,73"] = [26989] let s:lib.Codec.decoding_table["152,74"] = [26991] let s:lib.Codec.decoding_table["152,75"] = [26992] let s:lib.Codec.decoding_table["152,76"] = [26994] let s:lib.Codec.decoding_table["152,77"] = [26995] let s:lib.Codec.decoding_table["152,78"] = [26996] let s:lib.Codec.decoding_table["152,79"] = [26997] let s:lib.Codec.decoding_table["152,80"] = [26998] let s:lib.Codec.decoding_table["152,81"] = [27002] let s:lib.Codec.decoding_table["152,82"] = [27003] let s:lib.Codec.decoding_table["152,83"] = [27005] let s:lib.Codec.decoding_table["152,84"] = [27006] let s:lib.Codec.decoding_table["152,85"] = [27007] let s:lib.Codec.decoding_table["152,86"] = [27009] let s:lib.Codec.decoding_table["152,87"] = [27011] let s:lib.Codec.decoding_table["152,88"] = [27013] let s:lib.Codec.decoding_table["152,89"] = [27018] let s:lib.Codec.decoding_table["152,90"] = [27019] let s:lib.Codec.decoding_table["152,91"] = [27020] let s:lib.Codec.decoding_table["152,92"] = [27022] let s:lib.Codec.decoding_table["152,93"] = [27023] let s:lib.Codec.decoding_table["152,94"] = [27024] let s:lib.Codec.decoding_table["152,95"] = [27025] let s:lib.Codec.decoding_table["152,96"] = [27026] let s:lib.Codec.decoding_table["152,97"] = [27027] let s:lib.Codec.decoding_table["152,98"] = [27030] let s:lib.Codec.decoding_table["152,99"] = [27031] let s:lib.Codec.decoding_table["152,100"] = [27033] let s:lib.Codec.decoding_table["152,101"] = [27034] let s:lib.Codec.decoding_table["152,102"] = [27037] let s:lib.Codec.decoding_table["152,103"] = [27038] let s:lib.Codec.decoding_table["152,104"] = [27039] let s:lib.Codec.decoding_table["152,105"] = [27040] let s:lib.Codec.decoding_table["152,106"] = [27041] let s:lib.Codec.decoding_table["152,107"] = [27042] let s:lib.Codec.decoding_table["152,108"] = [27043] let s:lib.Codec.decoding_table["152,109"] = [27044] let s:lib.Codec.decoding_table["152,110"] = [27045] let s:lib.Codec.decoding_table["152,111"] = [27046] let s:lib.Codec.decoding_table["152,112"] = [27049] let s:lib.Codec.decoding_table["152,113"] = [27050] let s:lib.Codec.decoding_table["152,114"] = [27052] let s:lib.Codec.decoding_table["152,115"] = [27054] let s:lib.Codec.decoding_table["152,116"] = [27055] let s:lib.Codec.decoding_table["152,117"] = [27056] let s:lib.Codec.decoding_table["152,118"] = [27058] let s:lib.Codec.decoding_table["152,119"] = [27059] let s:lib.Codec.decoding_table["152,120"] = [27061] let s:lib.Codec.decoding_table["152,121"] = [27062] let s:lib.Codec.decoding_table["152,122"] = [27064] let s:lib.Codec.decoding_table["152,123"] = [27065] let s:lib.Codec.decoding_table["152,124"] = [27066] let s:lib.Codec.decoding_table["152,125"] = [27068] let s:lib.Codec.decoding_table["152,126"] = [27069] let s:lib.Codec.decoding_table["152,128"] = [27070] let s:lib.Codec.decoding_table["152,129"] = [27071] let s:lib.Codec.decoding_table["152,130"] = [27072] let s:lib.Codec.decoding_table["152,131"] = [27074] let s:lib.Codec.decoding_table["152,132"] = [27075] let s:lib.Codec.decoding_table["152,133"] = [27076] let s:lib.Codec.decoding_table["152,134"] = [27077] let s:lib.Codec.decoding_table["152,135"] = [27078] let s:lib.Codec.decoding_table["152,136"] = [27079] let s:lib.Codec.decoding_table["152,137"] = [27080] let s:lib.Codec.decoding_table["152,138"] = [27081] let s:lib.Codec.decoding_table["152,139"] = [27083] let s:lib.Codec.decoding_table["152,140"] = [27085] let s:lib.Codec.decoding_table["152,141"] = [27087] let s:lib.Codec.decoding_table["152,142"] = [27089] let s:lib.Codec.decoding_table["152,143"] = [27090] let s:lib.Codec.decoding_table["152,144"] = [27091] let s:lib.Codec.decoding_table["152,145"] = [27093] let s:lib.Codec.decoding_table["152,146"] = [27094] let s:lib.Codec.decoding_table["152,147"] = [27095] let s:lib.Codec.decoding_table["152,148"] = [27096] let s:lib.Codec.decoding_table["152,149"] = [27097] let s:lib.Codec.decoding_table["152,150"] = [27098] let s:lib.Codec.decoding_table["152,151"] = [27100] let s:lib.Codec.decoding_table["152,152"] = [27101] let s:lib.Codec.decoding_table["152,153"] = [27102] let s:lib.Codec.decoding_table["152,154"] = [27105] let s:lib.Codec.decoding_table["152,155"] = [27106] let s:lib.Codec.decoding_table["152,156"] = [27107] let s:lib.Codec.decoding_table["152,157"] = [27108] let s:lib.Codec.decoding_table["152,158"] = [27109] let s:lib.Codec.decoding_table["152,159"] = [27110] let s:lib.Codec.decoding_table["152,160"] = [27111] let s:lib.Codec.decoding_table["152,161"] = [27112] let s:lib.Codec.decoding_table["152,162"] = [27113] let s:lib.Codec.decoding_table["152,163"] = [27114] let s:lib.Codec.decoding_table["152,164"] = [27115] let s:lib.Codec.decoding_table["152,165"] = [27116] let s:lib.Codec.decoding_table["152,166"] = [27118] let s:lib.Codec.decoding_table["152,167"] = [27119] let s:lib.Codec.decoding_table["152,168"] = [27120] let s:lib.Codec.decoding_table["152,169"] = [27121] let s:lib.Codec.decoding_table["152,170"] = [27123] let s:lib.Codec.decoding_table["152,171"] = [27124] let s:lib.Codec.decoding_table["152,172"] = [27125] let s:lib.Codec.decoding_table["152,173"] = [27126] let s:lib.Codec.decoding_table["152,174"] = [27127] let s:lib.Codec.decoding_table["152,175"] = [27128] let s:lib.Codec.decoding_table["152,176"] = [27129] let s:lib.Codec.decoding_table["152,177"] = [27130] let s:lib.Codec.decoding_table["152,178"] = [27131] let s:lib.Codec.decoding_table["152,179"] = [27132] let s:lib.Codec.decoding_table["152,180"] = [27134] let s:lib.Codec.decoding_table["152,181"] = [27136] let s:lib.Codec.decoding_table["152,182"] = [27137] let s:lib.Codec.decoding_table["152,183"] = [27138] let s:lib.Codec.decoding_table["152,184"] = [27139] let s:lib.Codec.decoding_table["152,185"] = [27140] let s:lib.Codec.decoding_table["152,186"] = [27141] let s:lib.Codec.decoding_table["152,187"] = [27142] let s:lib.Codec.decoding_table["152,188"] = [27143] let s:lib.Codec.decoding_table["152,189"] = [27144] let s:lib.Codec.decoding_table["152,190"] = [27145] let s:lib.Codec.decoding_table["152,191"] = [27147] let s:lib.Codec.decoding_table["152,192"] = [27148] let s:lib.Codec.decoding_table["152,193"] = [27149] let s:lib.Codec.decoding_table["152,194"] = [27150] let s:lib.Codec.decoding_table["152,195"] = [27151] let s:lib.Codec.decoding_table["152,196"] = [27152] let s:lib.Codec.decoding_table["152,197"] = [27153] let s:lib.Codec.decoding_table["152,198"] = [27154] let s:lib.Codec.decoding_table["152,199"] = [27155] let s:lib.Codec.decoding_table["152,200"] = [27156] let s:lib.Codec.decoding_table["152,201"] = [27157] let s:lib.Codec.decoding_table["152,202"] = [27158] let s:lib.Codec.decoding_table["152,203"] = [27161] let s:lib.Codec.decoding_table["152,204"] = [27162] let s:lib.Codec.decoding_table["152,205"] = [27163] let s:lib.Codec.decoding_table["152,206"] = [27164] let s:lib.Codec.decoding_table["152,207"] = [27165] let s:lib.Codec.decoding_table["152,208"] = [27166] let s:lib.Codec.decoding_table["152,209"] = [27168] let s:lib.Codec.decoding_table["152,210"] = [27170] let s:lib.Codec.decoding_table["152,211"] = [27171] let s:lib.Codec.decoding_table["152,212"] = [27172] let s:lib.Codec.decoding_table["152,213"] = [27173] let s:lib.Codec.decoding_table["152,214"] = [27174] let s:lib.Codec.decoding_table["152,215"] = [27175] let s:lib.Codec.decoding_table["152,216"] = [27177] let s:lib.Codec.decoding_table["152,217"] = [27179] let s:lib.Codec.decoding_table["152,218"] = [27180] let s:lib.Codec.decoding_table["152,219"] = [27181] let s:lib.Codec.decoding_table["152,220"] = [27182] let s:lib.Codec.decoding_table["152,221"] = [27184] let s:lib.Codec.decoding_table["152,222"] = [27186] let s:lib.Codec.decoding_table["152,223"] = [27187] let s:lib.Codec.decoding_table["152,224"] = [27188] let s:lib.Codec.decoding_table["152,225"] = [27190] let s:lib.Codec.decoding_table["152,226"] = [27191] let s:lib.Codec.decoding_table["152,227"] = [27192] let s:lib.Codec.decoding_table["152,228"] = [27193] let s:lib.Codec.decoding_table["152,229"] = [27194] let s:lib.Codec.decoding_table["152,230"] = [27195] let s:lib.Codec.decoding_table["152,231"] = [27196] let s:lib.Codec.decoding_table["152,232"] = [27199] let s:lib.Codec.decoding_table["152,233"] = [27200] let s:lib.Codec.decoding_table["152,234"] = [27201] let s:lib.Codec.decoding_table["152,235"] = [27202] let s:lib.Codec.decoding_table["152,236"] = [27203] let s:lib.Codec.decoding_table["152,237"] = [27205] let s:lib.Codec.decoding_table["152,238"] = [27206] let s:lib.Codec.decoding_table["152,239"] = [27208] let s:lib.Codec.decoding_table["152,240"] = [27209] let s:lib.Codec.decoding_table["152,241"] = [27210] let s:lib.Codec.decoding_table["152,242"] = [27211] let s:lib.Codec.decoding_table["152,243"] = [27212] let s:lib.Codec.decoding_table["152,244"] = [27213] let s:lib.Codec.decoding_table["152,245"] = [27214] let s:lib.Codec.decoding_table["152,246"] = [27215] let s:lib.Codec.decoding_table["152,247"] = [27217] let s:lib.Codec.decoding_table["152,248"] = [27218] let s:lib.Codec.decoding_table["152,249"] = [27219] let s:lib.Codec.decoding_table["152,250"] = [27220] let s:lib.Codec.decoding_table["152,251"] = [27221] let s:lib.Codec.decoding_table["152,252"] = [27222] let s:lib.Codec.decoding_table["152,253"] = [27223] let s:lib.Codec.decoding_table["152,254"] = [27226] let s:lib.Codec.decoding_table["153,64"] = [27228] let s:lib.Codec.decoding_table["153,65"] = [27229] let s:lib.Codec.decoding_table["153,66"] = [27230] let s:lib.Codec.decoding_table["153,67"] = [27231] let s:lib.Codec.decoding_table["153,68"] = [27232] let s:lib.Codec.decoding_table["153,69"] = [27234] let s:lib.Codec.decoding_table["153,70"] = [27235] let s:lib.Codec.decoding_table["153,71"] = [27236] let s:lib.Codec.decoding_table["153,72"] = [27238] let s:lib.Codec.decoding_table["153,73"] = [27239] let s:lib.Codec.decoding_table["153,74"] = [27240] let s:lib.Codec.decoding_table["153,75"] = [27241] let s:lib.Codec.decoding_table["153,76"] = [27242] let s:lib.Codec.decoding_table["153,77"] = [27243] let s:lib.Codec.decoding_table["153,78"] = [27244] let s:lib.Codec.decoding_table["153,79"] = [27245] let s:lib.Codec.decoding_table["153,80"] = [27246] let s:lib.Codec.decoding_table["153,81"] = [27247] let s:lib.Codec.decoding_table["153,82"] = [27248] let s:lib.Codec.decoding_table["153,83"] = [27250] let s:lib.Codec.decoding_table["153,84"] = [27251] let s:lib.Codec.decoding_table["153,85"] = [27252] let s:lib.Codec.decoding_table["153,86"] = [27253] let s:lib.Codec.decoding_table["153,87"] = [27254] let s:lib.Codec.decoding_table["153,88"] = [27255] let s:lib.Codec.decoding_table["153,89"] = [27256] let s:lib.Codec.decoding_table["153,90"] = [27258] let s:lib.Codec.decoding_table["153,91"] = [27259] let s:lib.Codec.decoding_table["153,92"] = [27261] let s:lib.Codec.decoding_table["153,93"] = [27262] let s:lib.Codec.decoding_table["153,94"] = [27263] let s:lib.Codec.decoding_table["153,95"] = [27265] let s:lib.Codec.decoding_table["153,96"] = [27266] let s:lib.Codec.decoding_table["153,97"] = [27267] let s:lib.Codec.decoding_table["153,98"] = [27269] let s:lib.Codec.decoding_table["153,99"] = [27270] let s:lib.Codec.decoding_table["153,100"] = [27271] let s:lib.Codec.decoding_table["153,101"] = [27272] let s:lib.Codec.decoding_table["153,102"] = [27273] let s:lib.Codec.decoding_table["153,103"] = [27274] let s:lib.Codec.decoding_table["153,104"] = [27275] let s:lib.Codec.decoding_table["153,105"] = [27276] let s:lib.Codec.decoding_table["153,106"] = [27277] let s:lib.Codec.decoding_table["153,107"] = [27279] let s:lib.Codec.decoding_table["153,108"] = [27282] let s:lib.Codec.decoding_table["153,109"] = [27283] let s:lib.Codec.decoding_table["153,110"] = [27284] let s:lib.Codec.decoding_table["153,111"] = [27285] let s:lib.Codec.decoding_table["153,112"] = [27286] let s:lib.Codec.decoding_table["153,113"] = [27288] let s:lib.Codec.decoding_table["153,114"] = [27289] let s:lib.Codec.decoding_table["153,115"] = [27290] let s:lib.Codec.decoding_table["153,116"] = [27291] let s:lib.Codec.decoding_table["153,117"] = [27292] let s:lib.Codec.decoding_table["153,118"] = [27293] let s:lib.Codec.decoding_table["153,119"] = [27294] let s:lib.Codec.decoding_table["153,120"] = [27295] let s:lib.Codec.decoding_table["153,121"] = [27297] let s:lib.Codec.decoding_table["153,122"] = [27298] let s:lib.Codec.decoding_table["153,123"] = [27299] let s:lib.Codec.decoding_table["153,124"] = [27300] let s:lib.Codec.decoding_table["153,125"] = [27301] let s:lib.Codec.decoding_table["153,126"] = [27302] let s:lib.Codec.decoding_table["153,128"] = [27303] let s:lib.Codec.decoding_table["153,129"] = [27304] let s:lib.Codec.decoding_table["153,130"] = [27306] let s:lib.Codec.decoding_table["153,131"] = [27309] let s:lib.Codec.decoding_table["153,132"] = [27310] let s:lib.Codec.decoding_table["153,133"] = [27311] let s:lib.Codec.decoding_table["153,134"] = [27312] let s:lib.Codec.decoding_table["153,135"] = [27313] let s:lib.Codec.decoding_table["153,136"] = [27314] let s:lib.Codec.decoding_table["153,137"] = [27315] let s:lib.Codec.decoding_table["153,138"] = [27316] let s:lib.Codec.decoding_table["153,139"] = [27317] let s:lib.Codec.decoding_table["153,140"] = [27318] let s:lib.Codec.decoding_table["153,141"] = [27319] let s:lib.Codec.decoding_table["153,142"] = [27320] let s:lib.Codec.decoding_table["153,143"] = [27321] let s:lib.Codec.decoding_table["153,144"] = [27322] let s:lib.Codec.decoding_table["153,145"] = [27323] let s:lib.Codec.decoding_table["153,146"] = [27324] let s:lib.Codec.decoding_table["153,147"] = [27325] let s:lib.Codec.decoding_table["153,148"] = [27326] let s:lib.Codec.decoding_table["153,149"] = [27327] let s:lib.Codec.decoding_table["153,150"] = [27328] let s:lib.Codec.decoding_table["153,151"] = [27329] let s:lib.Codec.decoding_table["153,152"] = [27330] let s:lib.Codec.decoding_table["153,153"] = [27331] let s:lib.Codec.decoding_table["153,154"] = [27332] let s:lib.Codec.decoding_table["153,155"] = [27333] let s:lib.Codec.decoding_table["153,156"] = [27334] let s:lib.Codec.decoding_table["153,157"] = [27335] let s:lib.Codec.decoding_table["153,158"] = [27336] let s:lib.Codec.decoding_table["153,159"] = [27337] let s:lib.Codec.decoding_table["153,160"] = [27338] let s:lib.Codec.decoding_table["153,161"] = [27339] let s:lib.Codec.decoding_table["153,162"] = [27340] let s:lib.Codec.decoding_table["153,163"] = [27341] let s:lib.Codec.decoding_table["153,164"] = [27342] let s:lib.Codec.decoding_table["153,165"] = [27343] let s:lib.Codec.decoding_table["153,166"] = [27344] let s:lib.Codec.decoding_table["153,167"] = [27345] let s:lib.Codec.decoding_table["153,168"] = [27346] let s:lib.Codec.decoding_table["153,169"] = [27347] let s:lib.Codec.decoding_table["153,170"] = [27348] let s:lib.Codec.decoding_table["153,171"] = [27349] let s:lib.Codec.decoding_table["153,172"] = [27350] let s:lib.Codec.decoding_table["153,173"] = [27351] let s:lib.Codec.decoding_table["153,174"] = [27352] let s:lib.Codec.decoding_table["153,175"] = [27353] let s:lib.Codec.decoding_table["153,176"] = [27354] let s:lib.Codec.decoding_table["153,177"] = [27355] let s:lib.Codec.decoding_table["153,178"] = [27356] let s:lib.Codec.decoding_table["153,179"] = [27357] let s:lib.Codec.decoding_table["153,180"] = [27358] let s:lib.Codec.decoding_table["153,181"] = [27359] let s:lib.Codec.decoding_table["153,182"] = [27360] let s:lib.Codec.decoding_table["153,183"] = [27361] let s:lib.Codec.decoding_table["153,184"] = [27362] let s:lib.Codec.decoding_table["153,185"] = [27363] let s:lib.Codec.decoding_table["153,186"] = [27364] let s:lib.Codec.decoding_table["153,187"] = [27365] let s:lib.Codec.decoding_table["153,188"] = [27366] let s:lib.Codec.decoding_table["153,189"] = [27367] let s:lib.Codec.decoding_table["153,190"] = [27368] let s:lib.Codec.decoding_table["153,191"] = [27369] let s:lib.Codec.decoding_table["153,192"] = [27370] let s:lib.Codec.decoding_table["153,193"] = [27371] let s:lib.Codec.decoding_table["153,194"] = [27372] let s:lib.Codec.decoding_table["153,195"] = [27373] let s:lib.Codec.decoding_table["153,196"] = [27374] let s:lib.Codec.decoding_table["153,197"] = [27375] let s:lib.Codec.decoding_table["153,198"] = [27376] let s:lib.Codec.decoding_table["153,199"] = [27377] let s:lib.Codec.decoding_table["153,200"] = [27378] let s:lib.Codec.decoding_table["153,201"] = [27379] let s:lib.Codec.decoding_table["153,202"] = [27380] let s:lib.Codec.decoding_table["153,203"] = [27381] let s:lib.Codec.decoding_table["153,204"] = [27382] let s:lib.Codec.decoding_table["153,205"] = [27383] let s:lib.Codec.decoding_table["153,206"] = [27384] let s:lib.Codec.decoding_table["153,207"] = [27385] let s:lib.Codec.decoding_table["153,208"] = [27386] let s:lib.Codec.decoding_table["153,209"] = [27387] let s:lib.Codec.decoding_table["153,210"] = [27388] let s:lib.Codec.decoding_table["153,211"] = [27389] let s:lib.Codec.decoding_table["153,212"] = [27390] let s:lib.Codec.decoding_table["153,213"] = [27391] let s:lib.Codec.decoding_table["153,214"] = [27392] let s:lib.Codec.decoding_table["153,215"] = [27393] let s:lib.Codec.decoding_table["153,216"] = [27394] let s:lib.Codec.decoding_table["153,217"] = [27395] let s:lib.Codec.decoding_table["153,218"] = [27396] let s:lib.Codec.decoding_table["153,219"] = [27397] let s:lib.Codec.decoding_table["153,220"] = [27398] let s:lib.Codec.decoding_table["153,221"] = [27399] let s:lib.Codec.decoding_table["153,222"] = [27400] let s:lib.Codec.decoding_table["153,223"] = [27401] let s:lib.Codec.decoding_table["153,224"] = [27402] let s:lib.Codec.decoding_table["153,225"] = [27403] let s:lib.Codec.decoding_table["153,226"] = [27404] let s:lib.Codec.decoding_table["153,227"] = [27405] let s:lib.Codec.decoding_table["153,228"] = [27406] let s:lib.Codec.decoding_table["153,229"] = [27407] let s:lib.Codec.decoding_table["153,230"] = [27408] let s:lib.Codec.decoding_table["153,231"] = [27409] let s:lib.Codec.decoding_table["153,232"] = [27410] let s:lib.Codec.decoding_table["153,233"] = [27411] let s:lib.Codec.decoding_table["153,234"] = [27412] let s:lib.Codec.decoding_table["153,235"] = [27413] let s:lib.Codec.decoding_table["153,236"] = [27414] let s:lib.Codec.decoding_table["153,237"] = [27415] let s:lib.Codec.decoding_table["153,238"] = [27416] let s:lib.Codec.decoding_table["153,239"] = [27417] let s:lib.Codec.decoding_table["153,240"] = [27418] let s:lib.Codec.decoding_table["153,241"] = [27419] let s:lib.Codec.decoding_table["153,242"] = [27420] let s:lib.Codec.decoding_table["153,243"] = [27421] let s:lib.Codec.decoding_table["153,244"] = [27422] let s:lib.Codec.decoding_table["153,245"] = [27423] let s:lib.Codec.decoding_table["153,246"] = [27429] let s:lib.Codec.decoding_table["153,247"] = [27430] let s:lib.Codec.decoding_table["153,248"] = [27432] let s:lib.Codec.decoding_table["153,249"] = [27433] let s:lib.Codec.decoding_table["153,250"] = [27434] let s:lib.Codec.decoding_table["153,251"] = [27435] let s:lib.Codec.decoding_table["153,252"] = [27436] let s:lib.Codec.decoding_table["153,253"] = [27437] let s:lib.Codec.decoding_table["153,254"] = [27438] let s:lib.Codec.decoding_table["154,64"] = [27439] let s:lib.Codec.decoding_table["154,65"] = [27440] let s:lib.Codec.decoding_table["154,66"] = [27441] let s:lib.Codec.decoding_table["154,67"] = [27443] let s:lib.Codec.decoding_table["154,68"] = [27444] let s:lib.Codec.decoding_table["154,69"] = [27445] let s:lib.Codec.decoding_table["154,70"] = [27446] let s:lib.Codec.decoding_table["154,71"] = [27448] let s:lib.Codec.decoding_table["154,72"] = [27451] let s:lib.Codec.decoding_table["154,73"] = [27452] let s:lib.Codec.decoding_table["154,74"] = [27453] let s:lib.Codec.decoding_table["154,75"] = [27455] let s:lib.Codec.decoding_table["154,76"] = [27456] let s:lib.Codec.decoding_table["154,77"] = [27457] let s:lib.Codec.decoding_table["154,78"] = [27458] let s:lib.Codec.decoding_table["154,79"] = [27460] let s:lib.Codec.decoding_table["154,80"] = [27461] let s:lib.Codec.decoding_table["154,81"] = [27464] let s:lib.Codec.decoding_table["154,82"] = [27466] let s:lib.Codec.decoding_table["154,83"] = [27467] let s:lib.Codec.decoding_table["154,84"] = [27469] let s:lib.Codec.decoding_table["154,85"] = [27470] let s:lib.Codec.decoding_table["154,86"] = [27471] let s:lib.Codec.decoding_table["154,87"] = [27472] let s:lib.Codec.decoding_table["154,88"] = [27473] let s:lib.Codec.decoding_table["154,89"] = [27474] let s:lib.Codec.decoding_table["154,90"] = [27475] let s:lib.Codec.decoding_table["154,91"] = [27476] let s:lib.Codec.decoding_table["154,92"] = [27477] let s:lib.Codec.decoding_table["154,93"] = [27478] let s:lib.Codec.decoding_table["154,94"] = [27479] let s:lib.Codec.decoding_table["154,95"] = [27480] let s:lib.Codec.decoding_table["154,96"] = [27482] let s:lib.Codec.decoding_table["154,97"] = [27483] let s:lib.Codec.decoding_table["154,98"] = [27484] let s:lib.Codec.decoding_table["154,99"] = [27485] let s:lib.Codec.decoding_table["154,100"] = [27486] let s:lib.Codec.decoding_table["154,101"] = [27487] let s:lib.Codec.decoding_table["154,102"] = [27488] let s:lib.Codec.decoding_table["154,103"] = [27489] let s:lib.Codec.decoding_table["154,104"] = [27496] let s:lib.Codec.decoding_table["154,105"] = [27497] let s:lib.Codec.decoding_table["154,106"] = [27499] let s:lib.Codec.decoding_table["154,107"] = [27500] let s:lib.Codec.decoding_table["154,108"] = [27501] let s:lib.Codec.decoding_table["154,109"] = [27502] let s:lib.Codec.decoding_table["154,110"] = [27503] let s:lib.Codec.decoding_table["154,111"] = [27504] let s:lib.Codec.decoding_table["154,112"] = [27505] let s:lib.Codec.decoding_table["154,113"] = [27506] let s:lib.Codec.decoding_table["154,114"] = [27507] let s:lib.Codec.decoding_table["154,115"] = [27508] let s:lib.Codec.decoding_table["154,116"] = [27509] let s:lib.Codec.decoding_table["154,117"] = [27510] let s:lib.Codec.decoding_table["154,118"] = [27511] let s:lib.Codec.decoding_table["154,119"] = [27512] let s:lib.Codec.decoding_table["154,120"] = [27514] let s:lib.Codec.decoding_table["154,121"] = [27517] let s:lib.Codec.decoding_table["154,122"] = [27518] let s:lib.Codec.decoding_table["154,123"] = [27519] let s:lib.Codec.decoding_table["154,124"] = [27520] let s:lib.Codec.decoding_table["154,125"] = [27525] let s:lib.Codec.decoding_table["154,126"] = [27528] let s:lib.Codec.decoding_table["154,128"] = [27532] let s:lib.Codec.decoding_table["154,129"] = [27534] let s:lib.Codec.decoding_table["154,130"] = [27535] let s:lib.Codec.decoding_table["154,131"] = [27536] let s:lib.Codec.decoding_table["154,132"] = [27537] let s:lib.Codec.decoding_table["154,133"] = [27540] let s:lib.Codec.decoding_table["154,134"] = [27541] let s:lib.Codec.decoding_table["154,135"] = [27543] let s:lib.Codec.decoding_table["154,136"] = [27544] let s:lib.Codec.decoding_table["154,137"] = [27545] let s:lib.Codec.decoding_table["154,138"] = [27548] let s:lib.Codec.decoding_table["154,139"] = [27549] let s:lib.Codec.decoding_table["154,140"] = [27550] let s:lib.Codec.decoding_table["154,141"] = [27551] let s:lib.Codec.decoding_table["154,142"] = [27552] let s:lib.Codec.decoding_table["154,143"] = [27554] let s:lib.Codec.decoding_table["154,144"] = [27555] let s:lib.Codec.decoding_table["154,145"] = [27556] let s:lib.Codec.decoding_table["154,146"] = [27557] let s:lib.Codec.decoding_table["154,147"] = [27558] let s:lib.Codec.decoding_table["154,148"] = [27559] let s:lib.Codec.decoding_table["154,149"] = [27560] let s:lib.Codec.decoding_table["154,150"] = [27561] let s:lib.Codec.decoding_table["154,151"] = [27563] let s:lib.Codec.decoding_table["154,152"] = [27564] let s:lib.Codec.decoding_table["154,153"] = [27565] let s:lib.Codec.decoding_table["154,154"] = [27566] let s:lib.Codec.decoding_table["154,155"] = [27567] let s:lib.Codec.decoding_table["154,156"] = [27568] let s:lib.Codec.decoding_table["154,157"] = [27569] let s:lib.Codec.decoding_table["154,158"] = [27570] let s:lib.Codec.decoding_table["154,159"] = [27574] let s:lib.Codec.decoding_table["154,160"] = [27576] let s:lib.Codec.decoding_table["154,161"] = [27577] let s:lib.Codec.decoding_table["154,162"] = [27578] let s:lib.Codec.decoding_table["154,163"] = [27579] let s:lib.Codec.decoding_table["154,164"] = [27580] let s:lib.Codec.decoding_table["154,165"] = [27581] let s:lib.Codec.decoding_table["154,166"] = [27582] let s:lib.Codec.decoding_table["154,167"] = [27584] let s:lib.Codec.decoding_table["154,168"] = [27587] let s:lib.Codec.decoding_table["154,169"] = [27588] let s:lib.Codec.decoding_table["154,170"] = [27590] let s:lib.Codec.decoding_table["154,171"] = [27591] let s:lib.Codec.decoding_table["154,172"] = [27592] let s:lib.Codec.decoding_table["154,173"] = [27593] let s:lib.Codec.decoding_table["154,174"] = [27594] let s:lib.Codec.decoding_table["154,175"] = [27596] let s:lib.Codec.decoding_table["154,176"] = [27598] let s:lib.Codec.decoding_table["154,177"] = [27600] let s:lib.Codec.decoding_table["154,178"] = [27601] let s:lib.Codec.decoding_table["154,179"] = [27608] let s:lib.Codec.decoding_table["154,180"] = [27610] let s:lib.Codec.decoding_table["154,181"] = [27612] let s:lib.Codec.decoding_table["154,182"] = [27613] let s:lib.Codec.decoding_table["154,183"] = [27614] let s:lib.Codec.decoding_table["154,184"] = [27615] let s:lib.Codec.decoding_table["154,185"] = [27616] let s:lib.Codec.decoding_table["154,186"] = [27618] let s:lib.Codec.decoding_table["154,187"] = [27619] let s:lib.Codec.decoding_table["154,188"] = [27620] let s:lib.Codec.decoding_table["154,189"] = [27621] let s:lib.Codec.decoding_table["154,190"] = [27622] let s:lib.Codec.decoding_table["154,191"] = [27623] let s:lib.Codec.decoding_table["154,192"] = [27624] let s:lib.Codec.decoding_table["154,193"] = [27625] let s:lib.Codec.decoding_table["154,194"] = [27628] let s:lib.Codec.decoding_table["154,195"] = [27629] let s:lib.Codec.decoding_table["154,196"] = [27630] let s:lib.Codec.decoding_table["154,197"] = [27632] let s:lib.Codec.decoding_table["154,198"] = [27633] let s:lib.Codec.decoding_table["154,199"] = [27634] let s:lib.Codec.decoding_table["154,200"] = [27636] let s:lib.Codec.decoding_table["154,201"] = [27638] let s:lib.Codec.decoding_table["154,202"] = [27639] let s:lib.Codec.decoding_table["154,203"] = [27640] let s:lib.Codec.decoding_table["154,204"] = [27642] let s:lib.Codec.decoding_table["154,205"] = [27643] let s:lib.Codec.decoding_table["154,206"] = [27644] let s:lib.Codec.decoding_table["154,207"] = [27646] let s:lib.Codec.decoding_table["154,208"] = [27647] let s:lib.Codec.decoding_table["154,209"] = [27648] let s:lib.Codec.decoding_table["154,210"] = [27649] let s:lib.Codec.decoding_table["154,211"] = [27650] let s:lib.Codec.decoding_table["154,212"] = [27651] let s:lib.Codec.decoding_table["154,213"] = [27652] let s:lib.Codec.decoding_table["154,214"] = [27656] let s:lib.Codec.decoding_table["154,215"] = [27657] let s:lib.Codec.decoding_table["154,216"] = [27658] let s:lib.Codec.decoding_table["154,217"] = [27659] let s:lib.Codec.decoding_table["154,218"] = [27660] let s:lib.Codec.decoding_table["154,219"] = [27662] let s:lib.Codec.decoding_table["154,220"] = [27666] let s:lib.Codec.decoding_table["154,221"] = [27671] let s:lib.Codec.decoding_table["154,222"] = [27676] let s:lib.Codec.decoding_table["154,223"] = [27677] let s:lib.Codec.decoding_table["154,224"] = [27678] let s:lib.Codec.decoding_table["154,225"] = [27680] let s:lib.Codec.decoding_table["154,226"] = [27683] let s:lib.Codec.decoding_table["154,227"] = [27685] let s:lib.Codec.decoding_table["154,228"] = [27691] let s:lib.Codec.decoding_table["154,229"] = [27692] let s:lib.Codec.decoding_table["154,230"] = [27693] let s:lib.Codec.decoding_table["154,231"] = [27697] let s:lib.Codec.decoding_table["154,232"] = [27699] let s:lib.Codec.decoding_table["154,233"] = [27702] let s:lib.Codec.decoding_table["154,234"] = [27703] let s:lib.Codec.decoding_table["154,235"] = [27705] let s:lib.Codec.decoding_table["154,236"] = [27706] let s:lib.Codec.decoding_table["154,237"] = [27707] let s:lib.Codec.decoding_table["154,238"] = [27708] let s:lib.Codec.decoding_table["154,239"] = [27710] let s:lib.Codec.decoding_table["154,240"] = [27711] let s:lib.Codec.decoding_table["154,241"] = [27715] let s:lib.Codec.decoding_table["154,242"] = [27716] let s:lib.Codec.decoding_table["154,243"] = [27717] let s:lib.Codec.decoding_table["154,244"] = [27720] let s:lib.Codec.decoding_table["154,245"] = [27723] let s:lib.Codec.decoding_table["154,246"] = [27724] let s:lib.Codec.decoding_table["154,247"] = [27725] let s:lib.Codec.decoding_table["154,248"] = [27726] let s:lib.Codec.decoding_table["154,249"] = [27727] let s:lib.Codec.decoding_table["154,250"] = [27729] let s:lib.Codec.decoding_table["154,251"] = [27730] let s:lib.Codec.decoding_table["154,252"] = [27731] let s:lib.Codec.decoding_table["154,253"] = [27734] let s:lib.Codec.decoding_table["154,254"] = [27736] let s:lib.Codec.decoding_table["155,64"] = [27737] let s:lib.Codec.decoding_table["155,65"] = [27738] let s:lib.Codec.decoding_table["155,66"] = [27746] let s:lib.Codec.decoding_table["155,67"] = [27747] let s:lib.Codec.decoding_table["155,68"] = [27749] let s:lib.Codec.decoding_table["155,69"] = [27750] let s:lib.Codec.decoding_table["155,70"] = [27751] let s:lib.Codec.decoding_table["155,71"] = [27755] let s:lib.Codec.decoding_table["155,72"] = [27756] let s:lib.Codec.decoding_table["155,73"] = [27757] let s:lib.Codec.decoding_table["155,74"] = [27758] let s:lib.Codec.decoding_table["155,75"] = [27759] let s:lib.Codec.decoding_table["155,76"] = [27761] let s:lib.Codec.decoding_table["155,77"] = [27763] let s:lib.Codec.decoding_table["155,78"] = [27765] let s:lib.Codec.decoding_table["155,79"] = [27767] let s:lib.Codec.decoding_table["155,80"] = [27768] let s:lib.Codec.decoding_table["155,81"] = [27770] let s:lib.Codec.decoding_table["155,82"] = [27771] let s:lib.Codec.decoding_table["155,83"] = [27772] let s:lib.Codec.decoding_table["155,84"] = [27775] let s:lib.Codec.decoding_table["155,85"] = [27776] let s:lib.Codec.decoding_table["155,86"] = [27780] let s:lib.Codec.decoding_table["155,87"] = [27783] let s:lib.Codec.decoding_table["155,88"] = [27786] let s:lib.Codec.decoding_table["155,89"] = [27787] let s:lib.Codec.decoding_table["155,90"] = [27789] let s:lib.Codec.decoding_table["155,91"] = [27790] let s:lib.Codec.decoding_table["155,92"] = [27793] let s:lib.Codec.decoding_table["155,93"] = [27794] let s:lib.Codec.decoding_table["155,94"] = [27797] let s:lib.Codec.decoding_table["155,95"] = [27798] let s:lib.Codec.decoding_table["155,96"] = [27799] let s:lib.Codec.decoding_table["155,97"] = [27800] let s:lib.Codec.decoding_table["155,98"] = [27802] let s:lib.Codec.decoding_table["155,99"] = [27804] let s:lib.Codec.decoding_table["155,100"] = [27805] let s:lib.Codec.decoding_table["155,101"] = [27806] let s:lib.Codec.decoding_table["155,102"] = [27808] let s:lib.Codec.decoding_table["155,103"] = [27810] let s:lib.Codec.decoding_table["155,104"] = [27816] let s:lib.Codec.decoding_table["155,105"] = [27820] let s:lib.Codec.decoding_table["155,106"] = [27823] let s:lib.Codec.decoding_table["155,107"] = [27824] let s:lib.Codec.decoding_table["155,108"] = [27828] let s:lib.Codec.decoding_table["155,109"] = [27829] let s:lib.Codec.decoding_table["155,110"] = [27830] let s:lib.Codec.decoding_table["155,111"] = [27831] let s:lib.Codec.decoding_table["155,112"] = [27834] let s:lib.Codec.decoding_table["155,113"] = [27840] let s:lib.Codec.decoding_table["155,114"] = [27841] let s:lib.Codec.decoding_table["155,115"] = [27842] let s:lib.Codec.decoding_table["155,116"] = [27843] let s:lib.Codec.decoding_table["155,117"] = [27846] let s:lib.Codec.decoding_table["155,118"] = [27847] let s:lib.Codec.decoding_table["155,119"] = [27848] let s:lib.Codec.decoding_table["155,120"] = [27851] let s:lib.Codec.decoding_table["155,121"] = [27853] let s:lib.Codec.decoding_table["155,122"] = [27854] let s:lib.Codec.decoding_table["155,123"] = [27855] let s:lib.Codec.decoding_table["155,124"] = [27857] let s:lib.Codec.decoding_table["155,125"] = [27858] let s:lib.Codec.decoding_table["155,126"] = [27864] let s:lib.Codec.decoding_table["155,128"] = [27865] let s:lib.Codec.decoding_table["155,129"] = [27866] let s:lib.Codec.decoding_table["155,130"] = [27868] let s:lib.Codec.decoding_table["155,131"] = [27869] let s:lib.Codec.decoding_table["155,132"] = [27871] let s:lib.Codec.decoding_table["155,133"] = [27876] let s:lib.Codec.decoding_table["155,134"] = [27878] let s:lib.Codec.decoding_table["155,135"] = [27879] let s:lib.Codec.decoding_table["155,136"] = [27881] let s:lib.Codec.decoding_table["155,137"] = [27884] let s:lib.Codec.decoding_table["155,138"] = [27885] let s:lib.Codec.decoding_table["155,139"] = [27890] let s:lib.Codec.decoding_table["155,140"] = [27892] let s:lib.Codec.decoding_table["155,141"] = [27897] let s:lib.Codec.decoding_table["155,142"] = [27903] let s:lib.Codec.decoding_table["155,143"] = [27904] let s:lib.Codec.decoding_table["155,144"] = [27906] let s:lib.Codec.decoding_table["155,145"] = [27907] let s:lib.Codec.decoding_table["155,146"] = [27909] let s:lib.Codec.decoding_table["155,147"] = [27910] let s:lib.Codec.decoding_table["155,148"] = [27912] let s:lib.Codec.decoding_table["155,149"] = [27913] let s:lib.Codec.decoding_table["155,150"] = [27914] let s:lib.Codec.decoding_table["155,151"] = [27917] let s:lib.Codec.decoding_table["155,152"] = [27919] let s:lib.Codec.decoding_table["155,153"] = [27920] let s:lib.Codec.decoding_table["155,154"] = [27921] let s:lib.Codec.decoding_table["155,155"] = [27923] let s:lib.Codec.decoding_table["155,156"] = [27924] let s:lib.Codec.decoding_table["155,157"] = [27925] let s:lib.Codec.decoding_table["155,158"] = [27926] let s:lib.Codec.decoding_table["155,159"] = [27928] let s:lib.Codec.decoding_table["155,160"] = [27932] let s:lib.Codec.decoding_table["155,161"] = [27933] let s:lib.Codec.decoding_table["155,162"] = [27935] let s:lib.Codec.decoding_table["155,163"] = [27936] let s:lib.Codec.decoding_table["155,164"] = [27937] let s:lib.Codec.decoding_table["155,165"] = [27938] let s:lib.Codec.decoding_table["155,166"] = [27939] let s:lib.Codec.decoding_table["155,167"] = [27940] let s:lib.Codec.decoding_table["155,168"] = [27942] let s:lib.Codec.decoding_table["155,169"] = [27944] let s:lib.Codec.decoding_table["155,170"] = [27945] let s:lib.Codec.decoding_table["155,171"] = [27948] let s:lib.Codec.decoding_table["155,172"] = [27949] let s:lib.Codec.decoding_table["155,173"] = [27951] let s:lib.Codec.decoding_table["155,174"] = [27952] let s:lib.Codec.decoding_table["155,175"] = [27956] let s:lib.Codec.decoding_table["155,176"] = [27958] let s:lib.Codec.decoding_table["155,177"] = [27959] let s:lib.Codec.decoding_table["155,178"] = [27960] let s:lib.Codec.decoding_table["155,179"] = [27962] let s:lib.Codec.decoding_table["155,180"] = [27967] let s:lib.Codec.decoding_table["155,181"] = [27968] let s:lib.Codec.decoding_table["155,182"] = [27970] let s:lib.Codec.decoding_table["155,183"] = [27972] let s:lib.Codec.decoding_table["155,184"] = [27977] let s:lib.Codec.decoding_table["155,185"] = [27980] let s:lib.Codec.decoding_table["155,186"] = [27984] let s:lib.Codec.decoding_table["155,187"] = [27989] let s:lib.Codec.decoding_table["155,188"] = [27990] let s:lib.Codec.decoding_table["155,189"] = [27991] let s:lib.Codec.decoding_table["155,190"] = [27992] let s:lib.Codec.decoding_table["155,191"] = [27995] let s:lib.Codec.decoding_table["155,192"] = [27997] let s:lib.Codec.decoding_table["155,193"] = [27999] let s:lib.Codec.decoding_table["155,194"] = [28001] let s:lib.Codec.decoding_table["155,195"] = [28002] let s:lib.Codec.decoding_table["155,196"] = [28004] let s:lib.Codec.decoding_table["155,197"] = [28005] let s:lib.Codec.decoding_table["155,198"] = [28007] let s:lib.Codec.decoding_table["155,199"] = [28008] let s:lib.Codec.decoding_table["155,200"] = [28011] let s:lib.Codec.decoding_table["155,201"] = [28012] let s:lib.Codec.decoding_table["155,202"] = [28013] let s:lib.Codec.decoding_table["155,203"] = [28016] let s:lib.Codec.decoding_table["155,204"] = [28017] let s:lib.Codec.decoding_table["155,205"] = [28018] let s:lib.Codec.decoding_table["155,206"] = [28019] let s:lib.Codec.decoding_table["155,207"] = [28021] let s:lib.Codec.decoding_table["155,208"] = [28022] let s:lib.Codec.decoding_table["155,209"] = [28025] let s:lib.Codec.decoding_table["155,210"] = [28026] let s:lib.Codec.decoding_table["155,211"] = [28027] let s:lib.Codec.decoding_table["155,212"] = [28029] let s:lib.Codec.decoding_table["155,213"] = [28030] let s:lib.Codec.decoding_table["155,214"] = [28031] let s:lib.Codec.decoding_table["155,215"] = [28032] let s:lib.Codec.decoding_table["155,216"] = [28033] let s:lib.Codec.decoding_table["155,217"] = [28035] let s:lib.Codec.decoding_table["155,218"] = [28036] let s:lib.Codec.decoding_table["155,219"] = [28038] let s:lib.Codec.decoding_table["155,220"] = [28039] let s:lib.Codec.decoding_table["155,221"] = [28042] let s:lib.Codec.decoding_table["155,222"] = [28043] let s:lib.Codec.decoding_table["155,223"] = [28045] let s:lib.Codec.decoding_table["155,224"] = [28047] let s:lib.Codec.decoding_table["155,225"] = [28048] let s:lib.Codec.decoding_table["155,226"] = [28050] let s:lib.Codec.decoding_table["155,227"] = [28054] let s:lib.Codec.decoding_table["155,228"] = [28055] let s:lib.Codec.decoding_table["155,229"] = [28056] let s:lib.Codec.decoding_table["155,230"] = [28057] let s:lib.Codec.decoding_table["155,231"] = [28058] let s:lib.Codec.decoding_table["155,232"] = [28060] let s:lib.Codec.decoding_table["155,233"] = [28066] let s:lib.Codec.decoding_table["155,234"] = [28069] let s:lib.Codec.decoding_table["155,235"] = [28076] let s:lib.Codec.decoding_table["155,236"] = [28077] let s:lib.Codec.decoding_table["155,237"] = [28080] let s:lib.Codec.decoding_table["155,238"] = [28081] let s:lib.Codec.decoding_table["155,239"] = [28083] let s:lib.Codec.decoding_table["155,240"] = [28084] let s:lib.Codec.decoding_table["155,241"] = [28086] let s:lib.Codec.decoding_table["155,242"] = [28087] let s:lib.Codec.decoding_table["155,243"] = [28089] let s:lib.Codec.decoding_table["155,244"] = [28090] let s:lib.Codec.decoding_table["155,245"] = [28091] let s:lib.Codec.decoding_table["155,246"] = [28092] let s:lib.Codec.decoding_table["155,247"] = [28093] let s:lib.Codec.decoding_table["155,248"] = [28094] let s:lib.Codec.decoding_table["155,249"] = [28097] let s:lib.Codec.decoding_table["155,250"] = [28098] let s:lib.Codec.decoding_table["155,251"] = [28099] let s:lib.Codec.decoding_table["155,252"] = [28104] let s:lib.Codec.decoding_table["155,253"] = [28105] let s:lib.Codec.decoding_table["155,254"] = [28106] let s:lib.Codec.decoding_table["156,64"] = [28109] let s:lib.Codec.decoding_table["156,65"] = [28110] let s:lib.Codec.decoding_table["156,66"] = [28111] let s:lib.Codec.decoding_table["156,67"] = [28112] let s:lib.Codec.decoding_table["156,68"] = [28114] let s:lib.Codec.decoding_table["156,69"] = [28115] let s:lib.Codec.decoding_table["156,70"] = [28116] let s:lib.Codec.decoding_table["156,71"] = [28117] let s:lib.Codec.decoding_table["156,72"] = [28119] let s:lib.Codec.decoding_table["156,73"] = [28122] let s:lib.Codec.decoding_table["156,74"] = [28123] let s:lib.Codec.decoding_table["156,75"] = [28124] let s:lib.Codec.decoding_table["156,76"] = [28127] let s:lib.Codec.decoding_table["156,77"] = [28130] let s:lib.Codec.decoding_table["156,78"] = [28131] let s:lib.Codec.decoding_table["156,79"] = [28133] let s:lib.Codec.decoding_table["156,80"] = [28135] let s:lib.Codec.decoding_table["156,81"] = [28136] let s:lib.Codec.decoding_table["156,82"] = [28137] let s:lib.Codec.decoding_table["156,83"] = [28138] let s:lib.Codec.decoding_table["156,84"] = [28141] let s:lib.Codec.decoding_table["156,85"] = [28143] let s:lib.Codec.decoding_table["156,86"] = [28144] let s:lib.Codec.decoding_table["156,87"] = [28146] let s:lib.Codec.decoding_table["156,88"] = [28148] let s:lib.Codec.decoding_table["156,89"] = [28149] let s:lib.Codec.decoding_table["156,90"] = [28150] let s:lib.Codec.decoding_table["156,91"] = [28152] let s:lib.Codec.decoding_table["156,92"] = [28154] let s:lib.Codec.decoding_table["156,93"] = [28157] let s:lib.Codec.decoding_table["156,94"] = [28158] let s:lib.Codec.decoding_table["156,95"] = [28159] let s:lib.Codec.decoding_table["156,96"] = [28160] let s:lib.Codec.decoding_table["156,97"] = [28161] let s:lib.Codec.decoding_table["156,98"] = [28162] let s:lib.Codec.decoding_table["156,99"] = [28163] let s:lib.Codec.decoding_table["156,100"] = [28164] let s:lib.Codec.decoding_table["156,101"] = [28166] let s:lib.Codec.decoding_table["156,102"] = [28167] let s:lib.Codec.decoding_table["156,103"] = [28168] let s:lib.Codec.decoding_table["156,104"] = [28169] let s:lib.Codec.decoding_table["156,105"] = [28171] let s:lib.Codec.decoding_table["156,106"] = [28175] let s:lib.Codec.decoding_table["156,107"] = [28178] let s:lib.Codec.decoding_table["156,108"] = [28179] let s:lib.Codec.decoding_table["156,109"] = [28181] let s:lib.Codec.decoding_table["156,110"] = [28184] let s:lib.Codec.decoding_table["156,111"] = [28185] let s:lib.Codec.decoding_table["156,112"] = [28187] let s:lib.Codec.decoding_table["156,113"] = [28188] let s:lib.Codec.decoding_table["156,114"] = [28190] let s:lib.Codec.decoding_table["156,115"] = [28191] let s:lib.Codec.decoding_table["156,116"] = [28194] let s:lib.Codec.decoding_table["156,117"] = [28198] let s:lib.Codec.decoding_table["156,118"] = [28199] let s:lib.Codec.decoding_table["156,119"] = [28200] let s:lib.Codec.decoding_table["156,120"] = [28202] let s:lib.Codec.decoding_table["156,121"] = [28204] let s:lib.Codec.decoding_table["156,122"] = [28206] let s:lib.Codec.decoding_table["156,123"] = [28208] let s:lib.Codec.decoding_table["156,124"] = [28209] let s:lib.Codec.decoding_table["156,125"] = [28211] let s:lib.Codec.decoding_table["156,126"] = [28213] let s:lib.Codec.decoding_table["156,128"] = [28214] let s:lib.Codec.decoding_table["156,129"] = [28215] let s:lib.Codec.decoding_table["156,130"] = [28217] let s:lib.Codec.decoding_table["156,131"] = [28219] let s:lib.Codec.decoding_table["156,132"] = [28220] let s:lib.Codec.decoding_table["156,133"] = [28221] let s:lib.Codec.decoding_table["156,134"] = [28222] let s:lib.Codec.decoding_table["156,135"] = [28223] let s:lib.Codec.decoding_table["156,136"] = [28224] let s:lib.Codec.decoding_table["156,137"] = [28225] let s:lib.Codec.decoding_table["156,138"] = [28226] let s:lib.Codec.decoding_table["156,139"] = [28229] let s:lib.Codec.decoding_table["156,140"] = [28230] let s:lib.Codec.decoding_table["156,141"] = [28231] let s:lib.Codec.decoding_table["156,142"] = [28232] let s:lib.Codec.decoding_table["156,143"] = [28233] let s:lib.Codec.decoding_table["156,144"] = [28234] let s:lib.Codec.decoding_table["156,145"] = [28235] let s:lib.Codec.decoding_table["156,146"] = [28236] let s:lib.Codec.decoding_table["156,147"] = [28239] let s:lib.Codec.decoding_table["156,148"] = [28240] let s:lib.Codec.decoding_table["156,149"] = [28241] let s:lib.Codec.decoding_table["156,150"] = [28242] let s:lib.Codec.decoding_table["156,151"] = [28245] let s:lib.Codec.decoding_table["156,152"] = [28247] let s:lib.Codec.decoding_table["156,153"] = [28249] let s:lib.Codec.decoding_table["156,154"] = [28250] let s:lib.Codec.decoding_table["156,155"] = [28252] let s:lib.Codec.decoding_table["156,156"] = [28253] let s:lib.Codec.decoding_table["156,157"] = [28254] let s:lib.Codec.decoding_table["156,158"] = [28256] let s:lib.Codec.decoding_table["156,159"] = [28257] let s:lib.Codec.decoding_table["156,160"] = [28258] let s:lib.Codec.decoding_table["156,161"] = [28259] let s:lib.Codec.decoding_table["156,162"] = [28260] let s:lib.Codec.decoding_table["156,163"] = [28261] let s:lib.Codec.decoding_table["156,164"] = [28262] let s:lib.Codec.decoding_table["156,165"] = [28263] let s:lib.Codec.decoding_table["156,166"] = [28264] let s:lib.Codec.decoding_table["156,167"] = [28265] let s:lib.Codec.decoding_table["156,168"] = [28266] let s:lib.Codec.decoding_table["156,169"] = [28268] let s:lib.Codec.decoding_table["156,170"] = [28269] let s:lib.Codec.decoding_table["156,171"] = [28271] let s:lib.Codec.decoding_table["156,172"] = [28272] let s:lib.Codec.decoding_table["156,173"] = [28273] let s:lib.Codec.decoding_table["156,174"] = [28274] let s:lib.Codec.decoding_table["156,175"] = [28275] let s:lib.Codec.decoding_table["156,176"] = [28276] let s:lib.Codec.decoding_table["156,177"] = [28277] let s:lib.Codec.decoding_table["156,178"] = [28278] let s:lib.Codec.decoding_table["156,179"] = [28279] let s:lib.Codec.decoding_table["156,180"] = [28280] let s:lib.Codec.decoding_table["156,181"] = [28281] let s:lib.Codec.decoding_table["156,182"] = [28282] let s:lib.Codec.decoding_table["156,183"] = [28283] let s:lib.Codec.decoding_table["156,184"] = [28284] let s:lib.Codec.decoding_table["156,185"] = [28285] let s:lib.Codec.decoding_table["156,186"] = [28288] let s:lib.Codec.decoding_table["156,187"] = [28289] let s:lib.Codec.decoding_table["156,188"] = [28290] let s:lib.Codec.decoding_table["156,189"] = [28292] let s:lib.Codec.decoding_table["156,190"] = [28295] let s:lib.Codec.decoding_table["156,191"] = [28296] let s:lib.Codec.decoding_table["156,192"] = [28298] let s:lib.Codec.decoding_table["156,193"] = [28299] let s:lib.Codec.decoding_table["156,194"] = [28300] let s:lib.Codec.decoding_table["156,195"] = [28301] let s:lib.Codec.decoding_table["156,196"] = [28302] let s:lib.Codec.decoding_table["156,197"] = [28305] let s:lib.Codec.decoding_table["156,198"] = [28306] let s:lib.Codec.decoding_table["156,199"] = [28307] let s:lib.Codec.decoding_table["156,200"] = [28308] let s:lib.Codec.decoding_table["156,201"] = [28309] let s:lib.Codec.decoding_table["156,202"] = [28310] let s:lib.Codec.decoding_table["156,203"] = [28311] let s:lib.Codec.decoding_table["156,204"] = [28313] let s:lib.Codec.decoding_table["156,205"] = [28314] let s:lib.Codec.decoding_table["156,206"] = [28315] let s:lib.Codec.decoding_table["156,207"] = [28317] let s:lib.Codec.decoding_table["156,208"] = [28318] let s:lib.Codec.decoding_table["156,209"] = [28320] let s:lib.Codec.decoding_table["156,210"] = [28321] let s:lib.Codec.decoding_table["156,211"] = [28323] let s:lib.Codec.decoding_table["156,212"] = [28324] let s:lib.Codec.decoding_table["156,213"] = [28326] let s:lib.Codec.decoding_table["156,214"] = [28328] let s:lib.Codec.decoding_table["156,215"] = [28329] let s:lib.Codec.decoding_table["156,216"] = [28331] let s:lib.Codec.decoding_table["156,217"] = [28332] let s:lib.Codec.decoding_table["156,218"] = [28333] let s:lib.Codec.decoding_table["156,219"] = [28334] let s:lib.Codec.decoding_table["156,220"] = [28336] let s:lib.Codec.decoding_table["156,221"] = [28339] let s:lib.Codec.decoding_table["156,222"] = [28341] let s:lib.Codec.decoding_table["156,223"] = [28344] let s:lib.Codec.decoding_table["156,224"] = [28345] let s:lib.Codec.decoding_table["156,225"] = [28348] let s:lib.Codec.decoding_table["156,226"] = [28350] let s:lib.Codec.decoding_table["156,227"] = [28351] let s:lib.Codec.decoding_table["156,228"] = [28352] let s:lib.Codec.decoding_table["156,229"] = [28355] let s:lib.Codec.decoding_table["156,230"] = [28356] let s:lib.Codec.decoding_table["156,231"] = [28357] let s:lib.Codec.decoding_table["156,232"] = [28358] let s:lib.Codec.decoding_table["156,233"] = [28360] let s:lib.Codec.decoding_table["156,234"] = [28361] let s:lib.Codec.decoding_table["156,235"] = [28362] let s:lib.Codec.decoding_table["156,236"] = [28364] let s:lib.Codec.decoding_table["156,237"] = [28365] let s:lib.Codec.decoding_table["156,238"] = [28366] let s:lib.Codec.decoding_table["156,239"] = [28368] let s:lib.Codec.decoding_table["156,240"] = [28370] let s:lib.Codec.decoding_table["156,241"] = [28374] let s:lib.Codec.decoding_table["156,242"] = [28376] let s:lib.Codec.decoding_table["156,243"] = [28377] let s:lib.Codec.decoding_table["156,244"] = [28379] let s:lib.Codec.decoding_table["156,245"] = [28380] let s:lib.Codec.decoding_table["156,246"] = [28381] let s:lib.Codec.decoding_table["156,247"] = [28387] let s:lib.Codec.decoding_table["156,248"] = [28391] let s:lib.Codec.decoding_table["156,249"] = [28394] let s:lib.Codec.decoding_table["156,250"] = [28395] let s:lib.Codec.decoding_table["156,251"] = [28396] let s:lib.Codec.decoding_table["156,252"] = [28397] let s:lib.Codec.decoding_table["156,253"] = [28398] let s:lib.Codec.decoding_table["156,254"] = [28399] let s:lib.Codec.decoding_table["157,64"] = [28400] let s:lib.Codec.decoding_table["157,65"] = [28401] let s:lib.Codec.decoding_table["157,66"] = [28402] let s:lib.Codec.decoding_table["157,67"] = [28403] let s:lib.Codec.decoding_table["157,68"] = [28405] let s:lib.Codec.decoding_table["157,69"] = [28406] let s:lib.Codec.decoding_table["157,70"] = [28407] let s:lib.Codec.decoding_table["157,71"] = [28408] let s:lib.Codec.decoding_table["157,72"] = [28410] let s:lib.Codec.decoding_table["157,73"] = [28411] let s:lib.Codec.decoding_table["157,74"] = [28412] let s:lib.Codec.decoding_table["157,75"] = [28413] let s:lib.Codec.decoding_table["157,76"] = [28414] let s:lib.Codec.decoding_table["157,77"] = [28415] let s:lib.Codec.decoding_table["157,78"] = [28416] let s:lib.Codec.decoding_table["157,79"] = [28417] let s:lib.Codec.decoding_table["157,80"] = [28419] let s:lib.Codec.decoding_table["157,81"] = [28420] let s:lib.Codec.decoding_table["157,82"] = [28421] let s:lib.Codec.decoding_table["157,83"] = [28423] let s:lib.Codec.decoding_table["157,84"] = [28424] let s:lib.Codec.decoding_table["157,85"] = [28426] let s:lib.Codec.decoding_table["157,86"] = [28427] let s:lib.Codec.decoding_table["157,87"] = [28428] let s:lib.Codec.decoding_table["157,88"] = [28429] let s:lib.Codec.decoding_table["157,89"] = [28430] let s:lib.Codec.decoding_table["157,90"] = [28432] let s:lib.Codec.decoding_table["157,91"] = [28433] let s:lib.Codec.decoding_table["157,92"] = [28434] let s:lib.Codec.decoding_table["157,93"] = [28438] let s:lib.Codec.decoding_table["157,94"] = [28439] let s:lib.Codec.decoding_table["157,95"] = [28440] let s:lib.Codec.decoding_table["157,96"] = [28441] let s:lib.Codec.decoding_table["157,97"] = [28442] let s:lib.Codec.decoding_table["157,98"] = [28443] let s:lib.Codec.decoding_table["157,99"] = [28444] let s:lib.Codec.decoding_table["157,100"] = [28445] let s:lib.Codec.decoding_table["157,101"] = [28446] let s:lib.Codec.decoding_table["157,102"] = [28447] let s:lib.Codec.decoding_table["157,103"] = [28449] let s:lib.Codec.decoding_table["157,104"] = [28450] let s:lib.Codec.decoding_table["157,105"] = [28451] let s:lib.Codec.decoding_table["157,106"] = [28453] let s:lib.Codec.decoding_table["157,107"] = [28454] let s:lib.Codec.decoding_table["157,108"] = [28455] let s:lib.Codec.decoding_table["157,109"] = [28456] let s:lib.Codec.decoding_table["157,110"] = [28460] let s:lib.Codec.decoding_table["157,111"] = [28462] let s:lib.Codec.decoding_table["157,112"] = [28464] let s:lib.Codec.decoding_table["157,113"] = [28466] let s:lib.Codec.decoding_table["157,114"] = [28468] let s:lib.Codec.decoding_table["157,115"] = [28469] let s:lib.Codec.decoding_table["157,116"] = [28471] let s:lib.Codec.decoding_table["157,117"] = [28472] let s:lib.Codec.decoding_table["157,118"] = [28473] let s:lib.Codec.decoding_table["157,119"] = [28474] let s:lib.Codec.decoding_table["157,120"] = [28475] let s:lib.Codec.decoding_table["157,121"] = [28476] let s:lib.Codec.decoding_table["157,122"] = [28477] let s:lib.Codec.decoding_table["157,123"] = [28479] let s:lib.Codec.decoding_table["157,124"] = [28480] let s:lib.Codec.decoding_table["157,125"] = [28481] let s:lib.Codec.decoding_table["157,126"] = [28482] let s:lib.Codec.decoding_table["157,128"] = [28483] let s:lib.Codec.decoding_table["157,129"] = [28484] let s:lib.Codec.decoding_table["157,130"] = [28485] let s:lib.Codec.decoding_table["157,131"] = [28488] let s:lib.Codec.decoding_table["157,132"] = [28489] let s:lib.Codec.decoding_table["157,133"] = [28490] let s:lib.Codec.decoding_table["157,134"] = [28492] let s:lib.Codec.decoding_table["157,135"] = [28494] let s:lib.Codec.decoding_table["157,136"] = [28495] let s:lib.Codec.decoding_table["157,137"] = [28496] let s:lib.Codec.decoding_table["157,138"] = [28497] let s:lib.Codec.decoding_table["157,139"] = [28498] let s:lib.Codec.decoding_table["157,140"] = [28499] let s:lib.Codec.decoding_table["157,141"] = [28500] let s:lib.Codec.decoding_table["157,142"] = [28501] let s:lib.Codec.decoding_table["157,143"] = [28502] let s:lib.Codec.decoding_table["157,144"] = [28503] let s:lib.Codec.decoding_table["157,145"] = [28505] let s:lib.Codec.decoding_table["157,146"] = [28506] let s:lib.Codec.decoding_table["157,147"] = [28507] let s:lib.Codec.decoding_table["157,148"] = [28509] let s:lib.Codec.decoding_table["157,149"] = [28511] let s:lib.Codec.decoding_table["157,150"] = [28512] let s:lib.Codec.decoding_table["157,151"] = [28513] let s:lib.Codec.decoding_table["157,152"] = [28515] let s:lib.Codec.decoding_table["157,153"] = [28516] let s:lib.Codec.decoding_table["157,154"] = [28517] let s:lib.Codec.decoding_table["157,155"] = [28519] let s:lib.Codec.decoding_table["157,156"] = [28520] let s:lib.Codec.decoding_table["157,157"] = [28521] let s:lib.Codec.decoding_table["157,158"] = [28522] let s:lib.Codec.decoding_table["157,159"] = [28523] let s:lib.Codec.decoding_table["157,160"] = [28524] let s:lib.Codec.decoding_table["157,161"] = [28527] let s:lib.Codec.decoding_table["157,162"] = [28528] let s:lib.Codec.decoding_table["157,163"] = [28529] let s:lib.Codec.decoding_table["157,164"] = [28531] let s:lib.Codec.decoding_table["157,165"] = [28533] let s:lib.Codec.decoding_table["157,166"] = [28534] let s:lib.Codec.decoding_table["157,167"] = [28535] let s:lib.Codec.decoding_table["157,168"] = [28537] let s:lib.Codec.decoding_table["157,169"] = [28539] let s:lib.Codec.decoding_table["157,170"] = [28541] let s:lib.Codec.decoding_table["157,171"] = [28542] let s:lib.Codec.decoding_table["157,172"] = [28543] let s:lib.Codec.decoding_table["157,173"] = [28544] let s:lib.Codec.decoding_table["157,174"] = [28545] let s:lib.Codec.decoding_table["157,175"] = [28546] let s:lib.Codec.decoding_table["157,176"] = [28547] let s:lib.Codec.decoding_table["157,177"] = [28549] let s:lib.Codec.decoding_table["157,178"] = [28550] let s:lib.Codec.decoding_table["157,179"] = [28551] let s:lib.Codec.decoding_table["157,180"] = [28554] let s:lib.Codec.decoding_table["157,181"] = [28555] let s:lib.Codec.decoding_table["157,182"] = [28559] let s:lib.Codec.decoding_table["157,183"] = [28560] let s:lib.Codec.decoding_table["157,184"] = [28561] let s:lib.Codec.decoding_table["157,185"] = [28562] let s:lib.Codec.decoding_table["157,186"] = [28563] let s:lib.Codec.decoding_table["157,187"] = [28564] let s:lib.Codec.decoding_table["157,188"] = [28565] let s:lib.Codec.decoding_table["157,189"] = [28566] let s:lib.Codec.decoding_table["157,190"] = [28567] let s:lib.Codec.decoding_table["157,191"] = [28568] let s:lib.Codec.decoding_table["157,192"] = [28569] let s:lib.Codec.decoding_table["157,193"] = [28570] let s:lib.Codec.decoding_table["157,194"] = [28571] let s:lib.Codec.decoding_table["157,195"] = [28573] let s:lib.Codec.decoding_table["157,196"] = [28574] let s:lib.Codec.decoding_table["157,197"] = [28575] let s:lib.Codec.decoding_table["157,198"] = [28576] let s:lib.Codec.decoding_table["157,199"] = [28578] let s:lib.Codec.decoding_table["157,200"] = [28579] let s:lib.Codec.decoding_table["157,201"] = [28580] let s:lib.Codec.decoding_table["157,202"] = [28581] let s:lib.Codec.decoding_table["157,203"] = [28582] let s:lib.Codec.decoding_table["157,204"] = [28584] let s:lib.Codec.decoding_table["157,205"] = [28585] let s:lib.Codec.decoding_table["157,206"] = [28586] let s:lib.Codec.decoding_table["157,207"] = [28587] let s:lib.Codec.decoding_table["157,208"] = [28588] let s:lib.Codec.decoding_table["157,209"] = [28589] let s:lib.Codec.decoding_table["157,210"] = [28590] let s:lib.Codec.decoding_table["157,211"] = [28591] let s:lib.Codec.decoding_table["157,212"] = [28592] let s:lib.Codec.decoding_table["157,213"] = [28593] let s:lib.Codec.decoding_table["157,214"] = [28594] let s:lib.Codec.decoding_table["157,215"] = [28596] let s:lib.Codec.decoding_table["157,216"] = [28597] let s:lib.Codec.decoding_table["157,217"] = [28599] let s:lib.Codec.decoding_table["157,218"] = [28600] let s:lib.Codec.decoding_table["157,219"] = [28602] let s:lib.Codec.decoding_table["157,220"] = [28603] let s:lib.Codec.decoding_table["157,221"] = [28604] let s:lib.Codec.decoding_table["157,222"] = [28605] let s:lib.Codec.decoding_table["157,223"] = [28606] let s:lib.Codec.decoding_table["157,224"] = [28607] let s:lib.Codec.decoding_table["157,225"] = [28609] let s:lib.Codec.decoding_table["157,226"] = [28611] let s:lib.Codec.decoding_table["157,227"] = [28612] let s:lib.Codec.decoding_table["157,228"] = [28613] let s:lib.Codec.decoding_table["157,229"] = [28614] let s:lib.Codec.decoding_table["157,230"] = [28615] let s:lib.Codec.decoding_table["157,231"] = [28616] let s:lib.Codec.decoding_table["157,232"] = [28618] let s:lib.Codec.decoding_table["157,233"] = [28619] let s:lib.Codec.decoding_table["157,234"] = [28620] let s:lib.Codec.decoding_table["157,235"] = [28621] let s:lib.Codec.decoding_table["157,236"] = [28622] let s:lib.Codec.decoding_table["157,237"] = [28623] let s:lib.Codec.decoding_table["157,238"] = [28624] let s:lib.Codec.decoding_table["157,239"] = [28627] let s:lib.Codec.decoding_table["157,240"] = [28628] let s:lib.Codec.decoding_table["157,241"] = [28629] let s:lib.Codec.decoding_table["157,242"] = [28630] let s:lib.Codec.decoding_table["157,243"] = [28631] let s:lib.Codec.decoding_table["157,244"] = [28632] let s:lib.Codec.decoding_table["157,245"] = [28633] let s:lib.Codec.decoding_table["157,246"] = [28634] let s:lib.Codec.decoding_table["157,247"] = [28635] let s:lib.Codec.decoding_table["157,248"] = [28636] let s:lib.Codec.decoding_table["157,249"] = [28637] let s:lib.Codec.decoding_table["157,250"] = [28639] let s:lib.Codec.decoding_table["157,251"] = [28642] let s:lib.Codec.decoding_table["157,252"] = [28643] let s:lib.Codec.decoding_table["157,253"] = [28644] let s:lib.Codec.decoding_table["157,254"] = [28645] let s:lib.Codec.decoding_table["158,64"] = [28646] let s:lib.Codec.decoding_table["158,65"] = [28647] let s:lib.Codec.decoding_table["158,66"] = [28648] let s:lib.Codec.decoding_table["158,67"] = [28649] let s:lib.Codec.decoding_table["158,68"] = [28650] let s:lib.Codec.decoding_table["158,69"] = [28651] let s:lib.Codec.decoding_table["158,70"] = [28652] let s:lib.Codec.decoding_table["158,71"] = [28653] let s:lib.Codec.decoding_table["158,72"] = [28656] let s:lib.Codec.decoding_table["158,73"] = [28657] let s:lib.Codec.decoding_table["158,74"] = [28658] let s:lib.Codec.decoding_table["158,75"] = [28659] let s:lib.Codec.decoding_table["158,76"] = [28660] let s:lib.Codec.decoding_table["158,77"] = [28661] let s:lib.Codec.decoding_table["158,78"] = [28662] let s:lib.Codec.decoding_table["158,79"] = [28663] let s:lib.Codec.decoding_table["158,80"] = [28664] let s:lib.Codec.decoding_table["158,81"] = [28665] let s:lib.Codec.decoding_table["158,82"] = [28666] let s:lib.Codec.decoding_table["158,83"] = [28667] let s:lib.Codec.decoding_table["158,84"] = [28668] let s:lib.Codec.decoding_table["158,85"] = [28669] let s:lib.Codec.decoding_table["158,86"] = [28670] let s:lib.Codec.decoding_table["158,87"] = [28671] let s:lib.Codec.decoding_table["158,88"] = [28672] let s:lib.Codec.decoding_table["158,89"] = [28673] let s:lib.Codec.decoding_table["158,90"] = [28674] let s:lib.Codec.decoding_table["158,91"] = [28675] let s:lib.Codec.decoding_table["158,92"] = [28676] let s:lib.Codec.decoding_table["158,93"] = [28677] let s:lib.Codec.decoding_table["158,94"] = [28678] let s:lib.Codec.decoding_table["158,95"] = [28679] let s:lib.Codec.decoding_table["158,96"] = [28680] let s:lib.Codec.decoding_table["158,97"] = [28681] let s:lib.Codec.decoding_table["158,98"] = [28682] let s:lib.Codec.decoding_table["158,99"] = [28683] let s:lib.Codec.decoding_table["158,100"] = [28684] let s:lib.Codec.decoding_table["158,101"] = [28685] let s:lib.Codec.decoding_table["158,102"] = [28686] let s:lib.Codec.decoding_table["158,103"] = [28687] let s:lib.Codec.decoding_table["158,104"] = [28688] let s:lib.Codec.decoding_table["158,105"] = [28690] let s:lib.Codec.decoding_table["158,106"] = [28691] let s:lib.Codec.decoding_table["158,107"] = [28692] let s:lib.Codec.decoding_table["158,108"] = [28693] let s:lib.Codec.decoding_table["158,109"] = [28694] let s:lib.Codec.decoding_table["158,110"] = [28695] let s:lib.Codec.decoding_table["158,111"] = [28696] let s:lib.Codec.decoding_table["158,112"] = [28697] let s:lib.Codec.decoding_table["158,113"] = [28700] let s:lib.Codec.decoding_table["158,114"] = [28701] let s:lib.Codec.decoding_table["158,115"] = [28702] let s:lib.Codec.decoding_table["158,116"] = [28703] let s:lib.Codec.decoding_table["158,117"] = [28704] let s:lib.Codec.decoding_table["158,118"] = [28705] let s:lib.Codec.decoding_table["158,119"] = [28706] let s:lib.Codec.decoding_table["158,120"] = [28708] let s:lib.Codec.decoding_table["158,121"] = [28709] let s:lib.Codec.decoding_table["158,122"] = [28710] let s:lib.Codec.decoding_table["158,123"] = [28711] let s:lib.Codec.decoding_table["158,124"] = [28712] let s:lib.Codec.decoding_table["158,125"] = [28713] let s:lib.Codec.decoding_table["158,126"] = [28714] let s:lib.Codec.decoding_table["158,128"] = [28715] let s:lib.Codec.decoding_table["158,129"] = [28716] let s:lib.Codec.decoding_table["158,130"] = [28717] let s:lib.Codec.decoding_table["158,131"] = [28718] let s:lib.Codec.decoding_table["158,132"] = [28719] let s:lib.Codec.decoding_table["158,133"] = [28720] let s:lib.Codec.decoding_table["158,134"] = [28721] let s:lib.Codec.decoding_table["158,135"] = [28722] let s:lib.Codec.decoding_table["158,136"] = [28723] let s:lib.Codec.decoding_table["158,137"] = [28724] let s:lib.Codec.decoding_table["158,138"] = [28726] let s:lib.Codec.decoding_table["158,139"] = [28727] let s:lib.Codec.decoding_table["158,140"] = [28728] let s:lib.Codec.decoding_table["158,141"] = [28730] let s:lib.Codec.decoding_table["158,142"] = [28731] let s:lib.Codec.decoding_table["158,143"] = [28732] let s:lib.Codec.decoding_table["158,144"] = [28733] let s:lib.Codec.decoding_table["158,145"] = [28734] let s:lib.Codec.decoding_table["158,146"] = [28735] let s:lib.Codec.decoding_table["158,147"] = [28736] let s:lib.Codec.decoding_table["158,148"] = [28737] let s:lib.Codec.decoding_table["158,149"] = [28738] let s:lib.Codec.decoding_table["158,150"] = [28739] let s:lib.Codec.decoding_table["158,151"] = [28740] let s:lib.Codec.decoding_table["158,152"] = [28741] let s:lib.Codec.decoding_table["158,153"] = [28742] let s:lib.Codec.decoding_table["158,154"] = [28743] let s:lib.Codec.decoding_table["158,155"] = [28744] let s:lib.Codec.decoding_table["158,156"] = [28745] let s:lib.Codec.decoding_table["158,157"] = [28746] let s:lib.Codec.decoding_table["158,158"] = [28747] let s:lib.Codec.decoding_table["158,159"] = [28749] let s:lib.Codec.decoding_table["158,160"] = [28750] let s:lib.Codec.decoding_table["158,161"] = [28752] let s:lib.Codec.decoding_table["158,162"] = [28753] let s:lib.Codec.decoding_table["158,163"] = [28754] let s:lib.Codec.decoding_table["158,164"] = [28755] let s:lib.Codec.decoding_table["158,165"] = [28756] let s:lib.Codec.decoding_table["158,166"] = [28757] let s:lib.Codec.decoding_table["158,167"] = [28758] let s:lib.Codec.decoding_table["158,168"] = [28759] let s:lib.Codec.decoding_table["158,169"] = [28760] let s:lib.Codec.decoding_table["158,170"] = [28761] let s:lib.Codec.decoding_table["158,171"] = [28762] let s:lib.Codec.decoding_table["158,172"] = [28763] let s:lib.Codec.decoding_table["158,173"] = [28764] let s:lib.Codec.decoding_table["158,174"] = [28765] let s:lib.Codec.decoding_table["158,175"] = [28767] let s:lib.Codec.decoding_table["158,176"] = [28768] let s:lib.Codec.decoding_table["158,177"] = [28769] let s:lib.Codec.decoding_table["158,178"] = [28770] let s:lib.Codec.decoding_table["158,179"] = [28771] let s:lib.Codec.decoding_table["158,180"] = [28772] let s:lib.Codec.decoding_table["158,181"] = [28773] let s:lib.Codec.decoding_table["158,182"] = [28774] let s:lib.Codec.decoding_table["158,183"] = [28775] let s:lib.Codec.decoding_table["158,184"] = [28776] let s:lib.Codec.decoding_table["158,185"] = [28777] let s:lib.Codec.decoding_table["158,186"] = [28778] let s:lib.Codec.decoding_table["158,187"] = [28782] let s:lib.Codec.decoding_table["158,188"] = [28785] let s:lib.Codec.decoding_table["158,189"] = [28786] let s:lib.Codec.decoding_table["158,190"] = [28787] let s:lib.Codec.decoding_table["158,191"] = [28788] let s:lib.Codec.decoding_table["158,192"] = [28791] let s:lib.Codec.decoding_table["158,193"] = [28793] let s:lib.Codec.decoding_table["158,194"] = [28794] let s:lib.Codec.decoding_table["158,195"] = [28795] let s:lib.Codec.decoding_table["158,196"] = [28797] let s:lib.Codec.decoding_table["158,197"] = [28801] let s:lib.Codec.decoding_table["158,198"] = [28802] let s:lib.Codec.decoding_table["158,199"] = [28803] let s:lib.Codec.decoding_table["158,200"] = [28804] let s:lib.Codec.decoding_table["158,201"] = [28806] let s:lib.Codec.decoding_table["158,202"] = [28807] let s:lib.Codec.decoding_table["158,203"] = [28808] let s:lib.Codec.decoding_table["158,204"] = [28811] let s:lib.Codec.decoding_table["158,205"] = [28812] let s:lib.Codec.decoding_table["158,206"] = [28813] let s:lib.Codec.decoding_table["158,207"] = [28815] let s:lib.Codec.decoding_table["158,208"] = [28816] let s:lib.Codec.decoding_table["158,209"] = [28817] let s:lib.Codec.decoding_table["158,210"] = [28819] let s:lib.Codec.decoding_table["158,211"] = [28823] let s:lib.Codec.decoding_table["158,212"] = [28824] let s:lib.Codec.decoding_table["158,213"] = [28826] let s:lib.Codec.decoding_table["158,214"] = [28827] let s:lib.Codec.decoding_table["158,215"] = [28830] let s:lib.Codec.decoding_table["158,216"] = [28831] let s:lib.Codec.decoding_table["158,217"] = [28832] let s:lib.Codec.decoding_table["158,218"] = [28833] let s:lib.Codec.decoding_table["158,219"] = [28834] let s:lib.Codec.decoding_table["158,220"] = [28835] let s:lib.Codec.decoding_table["158,221"] = [28836] let s:lib.Codec.decoding_table["158,222"] = [28837] let s:lib.Codec.decoding_table["158,223"] = [28838] let s:lib.Codec.decoding_table["158,224"] = [28839] let s:lib.Codec.decoding_table["158,225"] = [28840] let s:lib.Codec.decoding_table["158,226"] = [28841] let s:lib.Codec.decoding_table["158,227"] = [28842] let s:lib.Codec.decoding_table["158,228"] = [28848] let s:lib.Codec.decoding_table["158,229"] = [28850] let s:lib.Codec.decoding_table["158,230"] = [28852] let s:lib.Codec.decoding_table["158,231"] = [28853] let s:lib.Codec.decoding_table["158,232"] = [28854] let s:lib.Codec.decoding_table["158,233"] = [28858] let s:lib.Codec.decoding_table["158,234"] = [28862] let s:lib.Codec.decoding_table["158,235"] = [28863] let s:lib.Codec.decoding_table["158,236"] = [28868] let s:lib.Codec.decoding_table["158,237"] = [28869] let s:lib.Codec.decoding_table["158,238"] = [28870] let s:lib.Codec.decoding_table["158,239"] = [28871] let s:lib.Codec.decoding_table["158,240"] = [28873] let s:lib.Codec.decoding_table["158,241"] = [28875] let s:lib.Codec.decoding_table["158,242"] = [28876] let s:lib.Codec.decoding_table["158,243"] = [28877] let s:lib.Codec.decoding_table["158,244"] = [28878] let s:lib.Codec.decoding_table["158,245"] = [28879] let s:lib.Codec.decoding_table["158,246"] = [28880] let s:lib.Codec.decoding_table["158,247"] = [28881] let s:lib.Codec.decoding_table["158,248"] = [28882] let s:lib.Codec.decoding_table["158,249"] = [28883] let s:lib.Codec.decoding_table["158,250"] = [28884] let s:lib.Codec.decoding_table["158,251"] = [28885] let s:lib.Codec.decoding_table["158,252"] = [28886] let s:lib.Codec.decoding_table["158,253"] = [28887] let s:lib.Codec.decoding_table["158,254"] = [28890] let s:lib.Codec.decoding_table["159,64"] = [28892] let s:lib.Codec.decoding_table["159,65"] = [28893] let s:lib.Codec.decoding_table["159,66"] = [28894] let s:lib.Codec.decoding_table["159,67"] = [28896] let s:lib.Codec.decoding_table["159,68"] = [28897] let s:lib.Codec.decoding_table["159,69"] = [28898] let s:lib.Codec.decoding_table["159,70"] = [28899] let s:lib.Codec.decoding_table["159,71"] = [28901] let s:lib.Codec.decoding_table["159,72"] = [28906] let s:lib.Codec.decoding_table["159,73"] = [28910] let s:lib.Codec.decoding_table["159,74"] = [28912] let s:lib.Codec.decoding_table["159,75"] = [28913] let s:lib.Codec.decoding_table["159,76"] = [28914] let s:lib.Codec.decoding_table["159,77"] = [28915] let s:lib.Codec.decoding_table["159,78"] = [28916] let s:lib.Codec.decoding_table["159,79"] = [28917] let s:lib.Codec.decoding_table["159,80"] = [28918] let s:lib.Codec.decoding_table["159,81"] = [28920] let s:lib.Codec.decoding_table["159,82"] = [28922] let s:lib.Codec.decoding_table["159,83"] = [28923] let s:lib.Codec.decoding_table["159,84"] = [28924] let s:lib.Codec.decoding_table["159,85"] = [28926] let s:lib.Codec.decoding_table["159,86"] = [28927] let s:lib.Codec.decoding_table["159,87"] = [28928] let s:lib.Codec.decoding_table["159,88"] = [28929] let s:lib.Codec.decoding_table["159,89"] = [28930] let s:lib.Codec.decoding_table["159,90"] = [28931] let s:lib.Codec.decoding_table["159,91"] = [28932] let s:lib.Codec.decoding_table["159,92"] = [28933] let s:lib.Codec.decoding_table["159,93"] = [28934] let s:lib.Codec.decoding_table["159,94"] = [28935] let s:lib.Codec.decoding_table["159,95"] = [28936] let s:lib.Codec.decoding_table["159,96"] = [28939] let s:lib.Codec.decoding_table["159,97"] = [28940] let s:lib.Codec.decoding_table["159,98"] = [28941] let s:lib.Codec.decoding_table["159,99"] = [28942] let s:lib.Codec.decoding_table["159,100"] = [28943] let s:lib.Codec.decoding_table["159,101"] = [28945] let s:lib.Codec.decoding_table["159,102"] = [28946] let s:lib.Codec.decoding_table["159,103"] = [28948] let s:lib.Codec.decoding_table["159,104"] = [28951] let s:lib.Codec.decoding_table["159,105"] = [28955] let s:lib.Codec.decoding_table["159,106"] = [28956] let s:lib.Codec.decoding_table["159,107"] = [28957] let s:lib.Codec.decoding_table["159,108"] = [28958] let s:lib.Codec.decoding_table["159,109"] = [28959] let s:lib.Codec.decoding_table["159,110"] = [28960] let s:lib.Codec.decoding_table["159,111"] = [28961] let s:lib.Codec.decoding_table["159,112"] = [28962] let s:lib.Codec.decoding_table["159,113"] = [28963] let s:lib.Codec.decoding_table["159,114"] = [28964] let s:lib.Codec.decoding_table["159,115"] = [28965] let s:lib.Codec.decoding_table["159,116"] = [28967] let s:lib.Codec.decoding_table["159,117"] = [28968] let s:lib.Codec.decoding_table["159,118"] = [28969] let s:lib.Codec.decoding_table["159,119"] = [28970] let s:lib.Codec.decoding_table["159,120"] = [28971] let s:lib.Codec.decoding_table["159,121"] = [28972] let s:lib.Codec.decoding_table["159,122"] = [28973] let s:lib.Codec.decoding_table["159,123"] = [28974] let s:lib.Codec.decoding_table["159,124"] = [28978] let s:lib.Codec.decoding_table["159,125"] = [28979] let s:lib.Codec.decoding_table["159,126"] = [28980] let s:lib.Codec.decoding_table["159,128"] = [28981] let s:lib.Codec.decoding_table["159,129"] = [28983] let s:lib.Codec.decoding_table["159,130"] = [28984] let s:lib.Codec.decoding_table["159,131"] = [28985] let s:lib.Codec.decoding_table["159,132"] = [28986] let s:lib.Codec.decoding_table["159,133"] = [28987] let s:lib.Codec.decoding_table["159,134"] = [28988] let s:lib.Codec.decoding_table["159,135"] = [28989] let s:lib.Codec.decoding_table["159,136"] = [28990] let s:lib.Codec.decoding_table["159,137"] = [28991] let s:lib.Codec.decoding_table["159,138"] = [28992] let s:lib.Codec.decoding_table["159,139"] = [28993] let s:lib.Codec.decoding_table["159,140"] = [28994] let s:lib.Codec.decoding_table["159,141"] = [28995] let s:lib.Codec.decoding_table["159,142"] = [28996] let s:lib.Codec.decoding_table["159,143"] = [28998] let s:lib.Codec.decoding_table["159,144"] = [28999] let s:lib.Codec.decoding_table["159,145"] = [29000] let s:lib.Codec.decoding_table["159,146"] = [29001] let s:lib.Codec.decoding_table["159,147"] = [29003] let s:lib.Codec.decoding_table["159,148"] = [29005] let s:lib.Codec.decoding_table["159,149"] = [29007] let s:lib.Codec.decoding_table["159,150"] = [29008] let s:lib.Codec.decoding_table["159,151"] = [29009] let s:lib.Codec.decoding_table["159,152"] = [29010] let s:lib.Codec.decoding_table["159,153"] = [29011] let s:lib.Codec.decoding_table["159,154"] = [29012] let s:lib.Codec.decoding_table["159,155"] = [29013] let s:lib.Codec.decoding_table["159,156"] = [29014] let s:lib.Codec.decoding_table["159,157"] = [29015] let s:lib.Codec.decoding_table["159,158"] = [29016] let s:lib.Codec.decoding_table["159,159"] = [29017] let s:lib.Codec.decoding_table["159,160"] = [29018] let s:lib.Codec.decoding_table["159,161"] = [29019] let s:lib.Codec.decoding_table["159,162"] = [29021] let s:lib.Codec.decoding_table["159,163"] = [29023] let s:lib.Codec.decoding_table["159,164"] = [29024] let s:lib.Codec.decoding_table["159,165"] = [29025] let s:lib.Codec.decoding_table["159,166"] = [29026] let s:lib.Codec.decoding_table["159,167"] = [29027] let s:lib.Codec.decoding_table["159,168"] = [29029] let s:lib.Codec.decoding_table["159,169"] = [29033] let s:lib.Codec.decoding_table["159,170"] = [29034] let s:lib.Codec.decoding_table["159,171"] = [29035] let s:lib.Codec.decoding_table["159,172"] = [29036] let s:lib.Codec.decoding_table["159,173"] = [29037] let s:lib.Codec.decoding_table["159,174"] = [29039] let s:lib.Codec.decoding_table["159,175"] = [29040] let s:lib.Codec.decoding_table["159,176"] = [29041] let s:lib.Codec.decoding_table["159,177"] = [29044] let s:lib.Codec.decoding_table["159,178"] = [29045] let s:lib.Codec.decoding_table["159,179"] = [29046] let s:lib.Codec.decoding_table["159,180"] = [29047] let s:lib.Codec.decoding_table["159,181"] = [29049] let s:lib.Codec.decoding_table["159,182"] = [29051] let s:lib.Codec.decoding_table["159,183"] = [29052] let s:lib.Codec.decoding_table["159,184"] = [29054] let s:lib.Codec.decoding_table["159,185"] = [29055] let s:lib.Codec.decoding_table["159,186"] = [29056] let s:lib.Codec.decoding_table["159,187"] = [29057] let s:lib.Codec.decoding_table["159,188"] = [29058] let s:lib.Codec.decoding_table["159,189"] = [29059] let s:lib.Codec.decoding_table["159,190"] = [29061] let s:lib.Codec.decoding_table["159,191"] = [29062] let s:lib.Codec.decoding_table["159,192"] = [29063] let s:lib.Codec.decoding_table["159,193"] = [29064] let s:lib.Codec.decoding_table["159,194"] = [29065] let s:lib.Codec.decoding_table["159,195"] = [29067] let s:lib.Codec.decoding_table["159,196"] = [29068] let s:lib.Codec.decoding_table["159,197"] = [29069] let s:lib.Codec.decoding_table["159,198"] = [29070] let s:lib.Codec.decoding_table["159,199"] = [29072] let s:lib.Codec.decoding_table["159,200"] = [29073] let s:lib.Codec.decoding_table["159,201"] = [29074] let s:lib.Codec.decoding_table["159,202"] = [29075] let s:lib.Codec.decoding_table["159,203"] = [29077] let s:lib.Codec.decoding_table["159,204"] = [29078] let s:lib.Codec.decoding_table["159,205"] = [29079] let s:lib.Codec.decoding_table["159,206"] = [29082] let s:lib.Codec.decoding_table["159,207"] = [29083] let s:lib.Codec.decoding_table["159,208"] = [29084] let s:lib.Codec.decoding_table["159,209"] = [29085] let s:lib.Codec.decoding_table["159,210"] = [29086] let s:lib.Codec.decoding_table["159,211"] = [29089] let s:lib.Codec.decoding_table["159,212"] = [29090] let s:lib.Codec.decoding_table["159,213"] = [29091] let s:lib.Codec.decoding_table["159,214"] = [29092] let s:lib.Codec.decoding_table["159,215"] = [29093] let s:lib.Codec.decoding_table["159,216"] = [29094] let s:lib.Codec.decoding_table["159,217"] = [29095] let s:lib.Codec.decoding_table["159,218"] = [29097] let s:lib.Codec.decoding_table["159,219"] = [29098] let s:lib.Codec.decoding_table["159,220"] = [29099] let s:lib.Codec.decoding_table["159,221"] = [29101] let s:lib.Codec.decoding_table["159,222"] = [29102] let s:lib.Codec.decoding_table["159,223"] = [29103] let s:lib.Codec.decoding_table["159,224"] = [29104] let s:lib.Codec.decoding_table["159,225"] = [29105] let s:lib.Codec.decoding_table["159,226"] = [29106] let s:lib.Codec.decoding_table["159,227"] = [29108] let s:lib.Codec.decoding_table["159,228"] = [29110] let s:lib.Codec.decoding_table["159,229"] = [29111] let s:lib.Codec.decoding_table["159,230"] = [29112] let s:lib.Codec.decoding_table["159,231"] = [29114] let s:lib.Codec.decoding_table["159,232"] = [29115] let s:lib.Codec.decoding_table["159,233"] = [29116] let s:lib.Codec.decoding_table["159,234"] = [29117] let s:lib.Codec.decoding_table["159,235"] = [29118] let s:lib.Codec.decoding_table["159,236"] = [29119] let s:lib.Codec.decoding_table["159,237"] = [29120] let s:lib.Codec.decoding_table["159,238"] = [29121] let s:lib.Codec.decoding_table["159,239"] = [29122] let s:lib.Codec.decoding_table["159,240"] = [29124] let s:lib.Codec.decoding_table["159,241"] = [29125] let s:lib.Codec.decoding_table["159,242"] = [29126] let s:lib.Codec.decoding_table["159,243"] = [29127] let s:lib.Codec.decoding_table["159,244"] = [29128] let s:lib.Codec.decoding_table["159,245"] = [29129] let s:lib.Codec.decoding_table["159,246"] = [29130] let s:lib.Codec.decoding_table["159,247"] = [29131] let s:lib.Codec.decoding_table["159,248"] = [29132] let s:lib.Codec.decoding_table["159,249"] = [29133] let s:lib.Codec.decoding_table["159,250"] = [29135] let s:lib.Codec.decoding_table["159,251"] = [29136] let s:lib.Codec.decoding_table["159,252"] = [29137] let s:lib.Codec.decoding_table["159,253"] = [29138] let s:lib.Codec.decoding_table["159,254"] = [29139] let s:lib.Codec.decoding_table["160,64"] = [29142] let s:lib.Codec.decoding_table["160,65"] = [29143] let s:lib.Codec.decoding_table["160,66"] = [29144] let s:lib.Codec.decoding_table["160,67"] = [29145] let s:lib.Codec.decoding_table["160,68"] = [29146] let s:lib.Codec.decoding_table["160,69"] = [29147] let s:lib.Codec.decoding_table["160,70"] = [29148] let s:lib.Codec.decoding_table["160,71"] = [29149] let s:lib.Codec.decoding_table["160,72"] = [29150] let s:lib.Codec.decoding_table["160,73"] = [29151] let s:lib.Codec.decoding_table["160,74"] = [29153] let s:lib.Codec.decoding_table["160,75"] = [29154] let s:lib.Codec.decoding_table["160,76"] = [29155] let s:lib.Codec.decoding_table["160,77"] = [29156] let s:lib.Codec.decoding_table["160,78"] = [29158] let s:lib.Codec.decoding_table["160,79"] = [29160] let s:lib.Codec.decoding_table["160,80"] = [29161] let s:lib.Codec.decoding_table["160,81"] = [29162] let s:lib.Codec.decoding_table["160,82"] = [29163] let s:lib.Codec.decoding_table["160,83"] = [29164] let s:lib.Codec.decoding_table["160,84"] = [29165] let s:lib.Codec.decoding_table["160,85"] = [29167] let s:lib.Codec.decoding_table["160,86"] = [29168] let s:lib.Codec.decoding_table["160,87"] = [29169] let s:lib.Codec.decoding_table["160,88"] = [29170] let s:lib.Codec.decoding_table["160,89"] = [29171] let s:lib.Codec.decoding_table["160,90"] = [29172] let s:lib.Codec.decoding_table["160,91"] = [29173] let s:lib.Codec.decoding_table["160,92"] = [29174] let s:lib.Codec.decoding_table["160,93"] = [29175] let s:lib.Codec.decoding_table["160,94"] = [29176] let s:lib.Codec.decoding_table["160,95"] = [29178] let s:lib.Codec.decoding_table["160,96"] = [29179] let s:lib.Codec.decoding_table["160,97"] = [29180] let s:lib.Codec.decoding_table["160,98"] = [29181] let s:lib.Codec.decoding_table["160,99"] = [29182] let s:lib.Codec.decoding_table["160,100"] = [29183] let s:lib.Codec.decoding_table["160,101"] = [29184] let s:lib.Codec.decoding_table["160,102"] = [29185] let s:lib.Codec.decoding_table["160,103"] = [29186] let s:lib.Codec.decoding_table["160,104"] = [29187] let s:lib.Codec.decoding_table["160,105"] = [29188] let s:lib.Codec.decoding_table["160,106"] = [29189] let s:lib.Codec.decoding_table["160,107"] = [29191] let s:lib.Codec.decoding_table["160,108"] = [29192] let s:lib.Codec.decoding_table["160,109"] = [29193] let s:lib.Codec.decoding_table["160,110"] = [29194] let s:lib.Codec.decoding_table["160,111"] = [29195] let s:lib.Codec.decoding_table["160,112"] = [29196] let s:lib.Codec.decoding_table["160,113"] = [29197] let s:lib.Codec.decoding_table["160,114"] = [29198] let s:lib.Codec.decoding_table["160,115"] = [29199] let s:lib.Codec.decoding_table["160,116"] = [29200] let s:lib.Codec.decoding_table["160,117"] = [29201] let s:lib.Codec.decoding_table["160,118"] = [29202] let s:lib.Codec.decoding_table["160,119"] = [29203] let s:lib.Codec.decoding_table["160,120"] = [29204] let s:lib.Codec.decoding_table["160,121"] = [29205] let s:lib.Codec.decoding_table["160,122"] = [29206] let s:lib.Codec.decoding_table["160,123"] = [29207] let s:lib.Codec.decoding_table["160,124"] = [29208] let s:lib.Codec.decoding_table["160,125"] = [29209] let s:lib.Codec.decoding_table["160,126"] = [29210] let s:lib.Codec.decoding_table["160,128"] = [29211] let s:lib.Codec.decoding_table["160,129"] = [29212] let s:lib.Codec.decoding_table["160,130"] = [29214] let s:lib.Codec.decoding_table["160,131"] = [29215] let s:lib.Codec.decoding_table["160,132"] = [29216] let s:lib.Codec.decoding_table["160,133"] = [29217] let s:lib.Codec.decoding_table["160,134"] = [29218] let s:lib.Codec.decoding_table["160,135"] = [29219] let s:lib.Codec.decoding_table["160,136"] = [29220] let s:lib.Codec.decoding_table["160,137"] = [29221] let s:lib.Codec.decoding_table["160,138"] = [29222] let s:lib.Codec.decoding_table["160,139"] = [29223] let s:lib.Codec.decoding_table["160,140"] = [29225] let s:lib.Codec.decoding_table["160,141"] = [29227] let s:lib.Codec.decoding_table["160,142"] = [29229] let s:lib.Codec.decoding_table["160,143"] = [29230] let s:lib.Codec.decoding_table["160,144"] = [29231] let s:lib.Codec.decoding_table["160,145"] = [29234] let s:lib.Codec.decoding_table["160,146"] = [29235] let s:lib.Codec.decoding_table["160,147"] = [29236] let s:lib.Codec.decoding_table["160,148"] = [29242] let s:lib.Codec.decoding_table["160,149"] = [29244] let s:lib.Codec.decoding_table["160,150"] = [29246] let s:lib.Codec.decoding_table["160,151"] = [29248] let s:lib.Codec.decoding_table["160,152"] = [29249] let s:lib.Codec.decoding_table["160,153"] = [29250] let s:lib.Codec.decoding_table["160,154"] = [29251] let s:lib.Codec.decoding_table["160,155"] = [29252] let s:lib.Codec.decoding_table["160,156"] = [29253] let s:lib.Codec.decoding_table["160,157"] = [29254] let s:lib.Codec.decoding_table["160,158"] = [29257] let s:lib.Codec.decoding_table["160,159"] = [29258] let s:lib.Codec.decoding_table["160,160"] = [29259] let s:lib.Codec.decoding_table["160,161"] = [29262] let s:lib.Codec.decoding_table["160,162"] = [29263] let s:lib.Codec.decoding_table["160,163"] = [29264] let s:lib.Codec.decoding_table["160,164"] = [29265] let s:lib.Codec.decoding_table["160,165"] = [29267] let s:lib.Codec.decoding_table["160,166"] = [29268] let s:lib.Codec.decoding_table["160,167"] = [29269] let s:lib.Codec.decoding_table["160,168"] = [29271] let s:lib.Codec.decoding_table["160,169"] = [29272] let s:lib.Codec.decoding_table["160,170"] = [29274] let s:lib.Codec.decoding_table["160,171"] = [29276] let s:lib.Codec.decoding_table["160,172"] = [29278] let s:lib.Codec.decoding_table["160,173"] = [29280] let s:lib.Codec.decoding_table["160,174"] = [29283] let s:lib.Codec.decoding_table["160,175"] = [29284] let s:lib.Codec.decoding_table["160,176"] = [29285] let s:lib.Codec.decoding_table["160,177"] = [29288] let s:lib.Codec.decoding_table["160,178"] = [29290] let s:lib.Codec.decoding_table["160,179"] = [29291] let s:lib.Codec.decoding_table["160,180"] = [29292] let s:lib.Codec.decoding_table["160,181"] = [29293] let s:lib.Codec.decoding_table["160,182"] = [29296] let s:lib.Codec.decoding_table["160,183"] = [29297] let s:lib.Codec.decoding_table["160,184"] = [29299] let s:lib.Codec.decoding_table["160,185"] = [29300] let s:lib.Codec.decoding_table["160,186"] = [29302] let s:lib.Codec.decoding_table["160,187"] = [29303] let s:lib.Codec.decoding_table["160,188"] = [29304] let s:lib.Codec.decoding_table["160,189"] = [29307] let s:lib.Codec.decoding_table["160,190"] = [29308] let s:lib.Codec.decoding_table["160,191"] = [29309] let s:lib.Codec.decoding_table["160,192"] = [29314] let s:lib.Codec.decoding_table["160,193"] = [29315] let s:lib.Codec.decoding_table["160,194"] = [29317] let s:lib.Codec.decoding_table["160,195"] = [29318] let s:lib.Codec.decoding_table["160,196"] = [29319] let s:lib.Codec.decoding_table["160,197"] = [29320] let s:lib.Codec.decoding_table["160,198"] = [29321] let s:lib.Codec.decoding_table["160,199"] = [29324] let s:lib.Codec.decoding_table["160,200"] = [29326] let s:lib.Codec.decoding_table["160,201"] = [29328] let s:lib.Codec.decoding_table["160,202"] = [29329] let s:lib.Codec.decoding_table["160,203"] = [29331] let s:lib.Codec.decoding_table["160,204"] = [29332] let s:lib.Codec.decoding_table["160,205"] = [29333] let s:lib.Codec.decoding_table["160,206"] = [29334] let s:lib.Codec.decoding_table["160,207"] = [29335] let s:lib.Codec.decoding_table["160,208"] = [29336] let s:lib.Codec.decoding_table["160,209"] = [29337] let s:lib.Codec.decoding_table["160,210"] = [29338] let s:lib.Codec.decoding_table["160,211"] = [29339] let s:lib.Codec.decoding_table["160,212"] = [29340] let s:lib.Codec.decoding_table["160,213"] = [29341] let s:lib.Codec.decoding_table["160,214"] = [29342] let s:lib.Codec.decoding_table["160,215"] = [29344] let s:lib.Codec.decoding_table["160,216"] = [29345] let s:lib.Codec.decoding_table["160,217"] = [29346] let s:lib.Codec.decoding_table["160,218"] = [29347] let s:lib.Codec.decoding_table["160,219"] = [29348] let s:lib.Codec.decoding_table["160,220"] = [29349] let s:lib.Codec.decoding_table["160,221"] = [29350] let s:lib.Codec.decoding_table["160,222"] = [29351] let s:lib.Codec.decoding_table["160,223"] = [29352] let s:lib.Codec.decoding_table["160,224"] = [29353] let s:lib.Codec.decoding_table["160,225"] = [29354] let s:lib.Codec.decoding_table["160,226"] = [29355] let s:lib.Codec.decoding_table["160,227"] = [29358] let s:lib.Codec.decoding_table["160,228"] = [29361] let s:lib.Codec.decoding_table["160,229"] = [29362] let s:lib.Codec.decoding_table["160,230"] = [29363] let s:lib.Codec.decoding_table["160,231"] = [29365] let s:lib.Codec.decoding_table["160,232"] = [29370] let s:lib.Codec.decoding_table["160,233"] = [29371] let s:lib.Codec.decoding_table["160,234"] = [29372] let s:lib.Codec.decoding_table["160,235"] = [29373] let s:lib.Codec.decoding_table["160,236"] = [29374] let s:lib.Codec.decoding_table["160,237"] = [29375] let s:lib.Codec.decoding_table["160,238"] = [29376] let s:lib.Codec.decoding_table["160,239"] = [29381] let s:lib.Codec.decoding_table["160,240"] = [29382] let s:lib.Codec.decoding_table["160,241"] = [29383] let s:lib.Codec.decoding_table["160,242"] = [29385] let s:lib.Codec.decoding_table["160,243"] = [29386] let s:lib.Codec.decoding_table["160,244"] = [29387] let s:lib.Codec.decoding_table["160,245"] = [29388] let s:lib.Codec.decoding_table["160,246"] = [29391] let s:lib.Codec.decoding_table["160,247"] = [29393] let s:lib.Codec.decoding_table["160,248"] = [29395] let s:lib.Codec.decoding_table["160,249"] = [29396] let s:lib.Codec.decoding_table["160,250"] = [29397] let s:lib.Codec.decoding_table["160,251"] = [29398] let s:lib.Codec.decoding_table["160,252"] = [29400] let s:lib.Codec.decoding_table["160,253"] = [29402] let s:lib.Codec.decoding_table["160,254"] = [29403] let s:lib.Codec.decoding_table["161,161"] = [12288] let s:lib.Codec.decoding_table["161,162"] = [12289] let s:lib.Codec.decoding_table["161,163"] = [12290] let s:lib.Codec.decoding_table["161,164"] = [183] let s:lib.Codec.decoding_table["161,165"] = [713] let s:lib.Codec.decoding_table["161,166"] = [711] let s:lib.Codec.decoding_table["161,167"] = [168] let s:lib.Codec.decoding_table["161,168"] = [12291] let s:lib.Codec.decoding_table["161,169"] = [12293] let s:lib.Codec.decoding_table["161,170"] = [8212] let s:lib.Codec.decoding_table["161,171"] = [65374] let s:lib.Codec.decoding_table["161,172"] = [8214] let s:lib.Codec.decoding_table["161,173"] = [8230] let s:lib.Codec.decoding_table["161,174"] = [8216] let s:lib.Codec.decoding_table["161,175"] = [8217] let s:lib.Codec.decoding_table["161,176"] = [8220] let s:lib.Codec.decoding_table["161,177"] = [8221] let s:lib.Codec.decoding_table["161,178"] = [12308] let s:lib.Codec.decoding_table["161,179"] = [12309] let s:lib.Codec.decoding_table["161,180"] = [12296] let s:lib.Codec.decoding_table["161,181"] = [12297] let s:lib.Codec.decoding_table["161,182"] = [12298] let s:lib.Codec.decoding_table["161,183"] = [12299] let s:lib.Codec.decoding_table["161,184"] = [12300] let s:lib.Codec.decoding_table["161,185"] = [12301] let s:lib.Codec.decoding_table["161,186"] = [12302] let s:lib.Codec.decoding_table["161,187"] = [12303] let s:lib.Codec.decoding_table["161,188"] = [12310] let s:lib.Codec.decoding_table["161,189"] = [12311] let s:lib.Codec.decoding_table["161,190"] = [12304] let s:lib.Codec.decoding_table["161,191"] = [12305] let s:lib.Codec.decoding_table["161,192"] = [177] let s:lib.Codec.decoding_table["161,193"] = [215] let s:lib.Codec.decoding_table["161,194"] = [247] let s:lib.Codec.decoding_table["161,195"] = [8758] let s:lib.Codec.decoding_table["161,196"] = [8743] let s:lib.Codec.decoding_table["161,197"] = [8744] let s:lib.Codec.decoding_table["161,198"] = [8721] let s:lib.Codec.decoding_table["161,199"] = [8719] let s:lib.Codec.decoding_table["161,200"] = [8746] let s:lib.Codec.decoding_table["161,201"] = [8745] let s:lib.Codec.decoding_table["161,202"] = [8712] let s:lib.Codec.decoding_table["161,203"] = [8759] let s:lib.Codec.decoding_table["161,204"] = [8730] let s:lib.Codec.decoding_table["161,205"] = [8869] let s:lib.Codec.decoding_table["161,206"] = [8741] let s:lib.Codec.decoding_table["161,207"] = [8736] let s:lib.Codec.decoding_table["161,208"] = [8978] let s:lib.Codec.decoding_table["161,209"] = [8857] let s:lib.Codec.decoding_table["161,210"] = [8747] let s:lib.Codec.decoding_table["161,211"] = [8750] let s:lib.Codec.decoding_table["161,212"] = [8801] let s:lib.Codec.decoding_table["161,213"] = [8780] let s:lib.Codec.decoding_table["161,214"] = [8776] let s:lib.Codec.decoding_table["161,215"] = [8765] let s:lib.Codec.decoding_table["161,216"] = [8733] let s:lib.Codec.decoding_table["161,217"] = [8800] let s:lib.Codec.decoding_table["161,218"] = [8814] let s:lib.Codec.decoding_table["161,219"] = [8815] let s:lib.Codec.decoding_table["161,220"] = [8804] let s:lib.Codec.decoding_table["161,221"] = [8805] let s:lib.Codec.decoding_table["161,222"] = [8734] let s:lib.Codec.decoding_table["161,223"] = [8757] let s:lib.Codec.decoding_table["161,224"] = [8756] let s:lib.Codec.decoding_table["161,225"] = [9794] let s:lib.Codec.decoding_table["161,226"] = [9792] let s:lib.Codec.decoding_table["161,227"] = [176] let s:lib.Codec.decoding_table["161,228"] = [8242] let s:lib.Codec.decoding_table["161,229"] = [8243] let s:lib.Codec.decoding_table["161,230"] = [8451] let s:lib.Codec.decoding_table["161,231"] = [65284] let s:lib.Codec.decoding_table["161,232"] = [164] let s:lib.Codec.decoding_table["161,233"] = [65504] let s:lib.Codec.decoding_table["161,234"] = [65505] let s:lib.Codec.decoding_table["161,235"] = [8240] let s:lib.Codec.decoding_table["161,236"] = [167] let s:lib.Codec.decoding_table["161,237"] = [8470] let s:lib.Codec.decoding_table["161,238"] = [9734] let s:lib.Codec.decoding_table["161,239"] = [9733] let s:lib.Codec.decoding_table["161,240"] = [9675] let s:lib.Codec.decoding_table["161,241"] = [9679] let s:lib.Codec.decoding_table["161,242"] = [9678] let s:lib.Codec.decoding_table["161,243"] = [9671] let s:lib.Codec.decoding_table["161,244"] = [9670] let s:lib.Codec.decoding_table["161,245"] = [9633] let s:lib.Codec.decoding_table["161,246"] = [9632] let s:lib.Codec.decoding_table["161,247"] = [9651] let s:lib.Codec.decoding_table["161,248"] = [9650] let s:lib.Codec.decoding_table["161,249"] = [8251] let s:lib.Codec.decoding_table["161,250"] = [8594] let s:lib.Codec.decoding_table["161,251"] = [8592] let s:lib.Codec.decoding_table["161,252"] = [8593] let s:lib.Codec.decoding_table["161,253"] = [8595] let s:lib.Codec.decoding_table["161,254"] = [12307] let s:lib.Codec.decoding_table["162,161"] = [8560] let s:lib.Codec.decoding_table["162,162"] = [8561] let s:lib.Codec.decoding_table["162,163"] = [8562] let s:lib.Codec.decoding_table["162,164"] = [8563] let s:lib.Codec.decoding_table["162,165"] = [8564] let s:lib.Codec.decoding_table["162,166"] = [8565] let s:lib.Codec.decoding_table["162,167"] = [8566] let s:lib.Codec.decoding_table["162,168"] = [8567] let s:lib.Codec.decoding_table["162,169"] = [8568] let s:lib.Codec.decoding_table["162,170"] = [8569] let s:lib.Codec.decoding_table["162,177"] = [9352] let s:lib.Codec.decoding_table["162,178"] = [9353] let s:lib.Codec.decoding_table["162,179"] = [9354] let s:lib.Codec.decoding_table["162,180"] = [9355] let s:lib.Codec.decoding_table["162,181"] = [9356] let s:lib.Codec.decoding_table["162,182"] = [9357] let s:lib.Codec.decoding_table["162,183"] = [9358] let s:lib.Codec.decoding_table["162,184"] = [9359] let s:lib.Codec.decoding_table["162,185"] = [9360] let s:lib.Codec.decoding_table["162,186"] = [9361] let s:lib.Codec.decoding_table["162,187"] = [9362] let s:lib.Codec.decoding_table["162,188"] = [9363] let s:lib.Codec.decoding_table["162,189"] = [9364] let s:lib.Codec.decoding_table["162,190"] = [9365] let s:lib.Codec.decoding_table["162,191"] = [9366] let s:lib.Codec.decoding_table["162,192"] = [9367] let s:lib.Codec.decoding_table["162,193"] = [9368] let s:lib.Codec.decoding_table["162,194"] = [9369] let s:lib.Codec.decoding_table["162,195"] = [9370] let s:lib.Codec.decoding_table["162,196"] = [9371] let s:lib.Codec.decoding_table["162,197"] = [9332] let s:lib.Codec.decoding_table["162,198"] = [9333] let s:lib.Codec.decoding_table["162,199"] = [9334] let s:lib.Codec.decoding_table["162,200"] = [9335] let s:lib.Codec.decoding_table["162,201"] = [9336] let s:lib.Codec.decoding_table["162,202"] = [9337] let s:lib.Codec.decoding_table["162,203"] = [9338] let s:lib.Codec.decoding_table["162,204"] = [9339] let s:lib.Codec.decoding_table["162,205"] = [9340] let s:lib.Codec.decoding_table["162,206"] = [9341] let s:lib.Codec.decoding_table["162,207"] = [9342] let s:lib.Codec.decoding_table["162,208"] = [9343] let s:lib.Codec.decoding_table["162,209"] = [9344] let s:lib.Codec.decoding_table["162,210"] = [9345] let s:lib.Codec.decoding_table["162,211"] = [9346] let s:lib.Codec.decoding_table["162,212"] = [9347] let s:lib.Codec.decoding_table["162,213"] = [9348] let s:lib.Codec.decoding_table["162,214"] = [9349] let s:lib.Codec.decoding_table["162,215"] = [9350] let s:lib.Codec.decoding_table["162,216"] = [9351] let s:lib.Codec.decoding_table["162,217"] = [9312] let s:lib.Codec.decoding_table["162,218"] = [9313] let s:lib.Codec.decoding_table["162,219"] = [9314] let s:lib.Codec.decoding_table["162,220"] = [9315] let s:lib.Codec.decoding_table["162,221"] = [9316] let s:lib.Codec.decoding_table["162,222"] = [9317] let s:lib.Codec.decoding_table["162,223"] = [9318] let s:lib.Codec.decoding_table["162,224"] = [9319] let s:lib.Codec.decoding_table["162,225"] = [9320] let s:lib.Codec.decoding_table["162,226"] = [9321] let s:lib.Codec.decoding_table["162,229"] = [12832] let s:lib.Codec.decoding_table["162,230"] = [12833] let s:lib.Codec.decoding_table["162,231"] = [12834] let s:lib.Codec.decoding_table["162,232"] = [12835] let s:lib.Codec.decoding_table["162,233"] = [12836] let s:lib.Codec.decoding_table["162,234"] = [12837] let s:lib.Codec.decoding_table["162,235"] = [12838] let s:lib.Codec.decoding_table["162,236"] = [12839] let s:lib.Codec.decoding_table["162,237"] = [12840] let s:lib.Codec.decoding_table["162,238"] = [12841] let s:lib.Codec.decoding_table["162,241"] = [8544] let s:lib.Codec.decoding_table["162,242"] = [8545] let s:lib.Codec.decoding_table["162,243"] = [8546] let s:lib.Codec.decoding_table["162,244"] = [8547] let s:lib.Codec.decoding_table["162,245"] = [8548] let s:lib.Codec.decoding_table["162,246"] = [8549] let s:lib.Codec.decoding_table["162,247"] = [8550] let s:lib.Codec.decoding_table["162,248"] = [8551] let s:lib.Codec.decoding_table["162,249"] = [8552] let s:lib.Codec.decoding_table["162,250"] = [8553] let s:lib.Codec.decoding_table["162,251"] = [8554] let s:lib.Codec.decoding_table["162,252"] = [8555] let s:lib.Codec.decoding_table["163,161"] = [65281] let s:lib.Codec.decoding_table["163,162"] = [65282] let s:lib.Codec.decoding_table["163,163"] = [65283] let s:lib.Codec.decoding_table["163,164"] = [65509] let s:lib.Codec.decoding_table["163,165"] = [65285] let s:lib.Codec.decoding_table["163,166"] = [65286] let s:lib.Codec.decoding_table["163,167"] = [65287] let s:lib.Codec.decoding_table["163,168"] = [65288] let s:lib.Codec.decoding_table["163,169"] = [65289] let s:lib.Codec.decoding_table["163,170"] = [65290] let s:lib.Codec.decoding_table["163,171"] = [65291] let s:lib.Codec.decoding_table["163,172"] = [65292] let s:lib.Codec.decoding_table["163,173"] = [65293] let s:lib.Codec.decoding_table["163,174"] = [65294] let s:lib.Codec.decoding_table["163,175"] = [65295] let s:lib.Codec.decoding_table["163,176"] = [65296] let s:lib.Codec.decoding_table["163,177"] = [65297] let s:lib.Codec.decoding_table["163,178"] = [65298] let s:lib.Codec.decoding_table["163,179"] = [65299] let s:lib.Codec.decoding_table["163,180"] = [65300] let s:lib.Codec.decoding_table["163,181"] = [65301] let s:lib.Codec.decoding_table["163,182"] = [65302] let s:lib.Codec.decoding_table["163,183"] = [65303] let s:lib.Codec.decoding_table["163,184"] = [65304] let s:lib.Codec.decoding_table["163,185"] = [65305] let s:lib.Codec.decoding_table["163,186"] = [65306] let s:lib.Codec.decoding_table["163,187"] = [65307] let s:lib.Codec.decoding_table["163,188"] = [65308] let s:lib.Codec.decoding_table["163,189"] = [65309] let s:lib.Codec.decoding_table["163,190"] = [65310] let s:lib.Codec.decoding_table["163,191"] = [65311] let s:lib.Codec.decoding_table["163,192"] = [65312] let s:lib.Codec.decoding_table["163,193"] = [65313] let s:lib.Codec.decoding_table["163,194"] = [65314] let s:lib.Codec.decoding_table["163,195"] = [65315] let s:lib.Codec.decoding_table["163,196"] = [65316] let s:lib.Codec.decoding_table["163,197"] = [65317] let s:lib.Codec.decoding_table["163,198"] = [65318] let s:lib.Codec.decoding_table["163,199"] = [65319] let s:lib.Codec.decoding_table["163,200"] = [65320] let s:lib.Codec.decoding_table["163,201"] = [65321] let s:lib.Codec.decoding_table["163,202"] = [65322] let s:lib.Codec.decoding_table["163,203"] = [65323] let s:lib.Codec.decoding_table["163,204"] = [65324] let s:lib.Codec.decoding_table["163,205"] = [65325] let s:lib.Codec.decoding_table["163,206"] = [65326] let s:lib.Codec.decoding_table["163,207"] = [65327] let s:lib.Codec.decoding_table["163,208"] = [65328] let s:lib.Codec.decoding_table["163,209"] = [65329] let s:lib.Codec.decoding_table["163,210"] = [65330] let s:lib.Codec.decoding_table["163,211"] = [65331] let s:lib.Codec.decoding_table["163,212"] = [65332] let s:lib.Codec.decoding_table["163,213"] = [65333] let s:lib.Codec.decoding_table["163,214"] = [65334] let s:lib.Codec.decoding_table["163,215"] = [65335] let s:lib.Codec.decoding_table["163,216"] = [65336] let s:lib.Codec.decoding_table["163,217"] = [65337] let s:lib.Codec.decoding_table["163,218"] = [65338] let s:lib.Codec.decoding_table["163,219"] = [65339] let s:lib.Codec.decoding_table["163,220"] = [65340] let s:lib.Codec.decoding_table["163,221"] = [65341] let s:lib.Codec.decoding_table["163,222"] = [65342] let s:lib.Codec.decoding_table["163,223"] = [65343] let s:lib.Codec.decoding_table["163,224"] = [65344] let s:lib.Codec.decoding_table["163,225"] = [65345] let s:lib.Codec.decoding_table["163,226"] = [65346] let s:lib.Codec.decoding_table["163,227"] = [65347] let s:lib.Codec.decoding_table["163,228"] = [65348] let s:lib.Codec.decoding_table["163,229"] = [65349] let s:lib.Codec.decoding_table["163,230"] = [65350] let s:lib.Codec.decoding_table["163,231"] = [65351] let s:lib.Codec.decoding_table["163,232"] = [65352] let s:lib.Codec.decoding_table["163,233"] = [65353] let s:lib.Codec.decoding_table["163,234"] = [65354] let s:lib.Codec.decoding_table["163,235"] = [65355] let s:lib.Codec.decoding_table["163,236"] = [65356] let s:lib.Codec.decoding_table["163,237"] = [65357] let s:lib.Codec.decoding_table["163,238"] = [65358] let s:lib.Codec.decoding_table["163,239"] = [65359] let s:lib.Codec.decoding_table["163,240"] = [65360] let s:lib.Codec.decoding_table["163,241"] = [65361] let s:lib.Codec.decoding_table["163,242"] = [65362] let s:lib.Codec.decoding_table["163,243"] = [65363] let s:lib.Codec.decoding_table["163,244"] = [65364] let s:lib.Codec.decoding_table["163,245"] = [65365] let s:lib.Codec.decoding_table["163,246"] = [65366] let s:lib.Codec.decoding_table["163,247"] = [65367] let s:lib.Codec.decoding_table["163,248"] = [65368] let s:lib.Codec.decoding_table["163,249"] = [65369] let s:lib.Codec.decoding_table["163,250"] = [65370] let s:lib.Codec.decoding_table["163,251"] = [65371] let s:lib.Codec.decoding_table["163,252"] = [65372] let s:lib.Codec.decoding_table["163,253"] = [65373] let s:lib.Codec.decoding_table["163,254"] = [65507] let s:lib.Codec.decoding_table["164,161"] = [12353] let s:lib.Codec.decoding_table["164,162"] = [12354] let s:lib.Codec.decoding_table["164,163"] = [12355] let s:lib.Codec.decoding_table["164,164"] = [12356] let s:lib.Codec.decoding_table["164,165"] = [12357] let s:lib.Codec.decoding_table["164,166"] = [12358] let s:lib.Codec.decoding_table["164,167"] = [12359] let s:lib.Codec.decoding_table["164,168"] = [12360] let s:lib.Codec.decoding_table["164,169"] = [12361] let s:lib.Codec.decoding_table["164,170"] = [12362] let s:lib.Codec.decoding_table["164,171"] = [12363] let s:lib.Codec.decoding_table["164,172"] = [12364] let s:lib.Codec.decoding_table["164,173"] = [12365] let s:lib.Codec.decoding_table["164,174"] = [12366] let s:lib.Codec.decoding_table["164,175"] = [12367] let s:lib.Codec.decoding_table["164,176"] = [12368] let s:lib.Codec.decoding_table["164,177"] = [12369] let s:lib.Codec.decoding_table["164,178"] = [12370] let s:lib.Codec.decoding_table["164,179"] = [12371] let s:lib.Codec.decoding_table["164,180"] = [12372] let s:lib.Codec.decoding_table["164,181"] = [12373] let s:lib.Codec.decoding_table["164,182"] = [12374] let s:lib.Codec.decoding_table["164,183"] = [12375] let s:lib.Codec.decoding_table["164,184"] = [12376] let s:lib.Codec.decoding_table["164,185"] = [12377] let s:lib.Codec.decoding_table["164,186"] = [12378] let s:lib.Codec.decoding_table["164,187"] = [12379] let s:lib.Codec.decoding_table["164,188"] = [12380] let s:lib.Codec.decoding_table["164,189"] = [12381] let s:lib.Codec.decoding_table["164,190"] = [12382] let s:lib.Codec.decoding_table["164,191"] = [12383] let s:lib.Codec.decoding_table["164,192"] = [12384] let s:lib.Codec.decoding_table["164,193"] = [12385] let s:lib.Codec.decoding_table["164,194"] = [12386] let s:lib.Codec.decoding_table["164,195"] = [12387] let s:lib.Codec.decoding_table["164,196"] = [12388] let s:lib.Codec.decoding_table["164,197"] = [12389] let s:lib.Codec.decoding_table["164,198"] = [12390] let s:lib.Codec.decoding_table["164,199"] = [12391] let s:lib.Codec.decoding_table["164,200"] = [12392] let s:lib.Codec.decoding_table["164,201"] = [12393] let s:lib.Codec.decoding_table["164,202"] = [12394] let s:lib.Codec.decoding_table["164,203"] = [12395] let s:lib.Codec.decoding_table["164,204"] = [12396] let s:lib.Codec.decoding_table["164,205"] = [12397] let s:lib.Codec.decoding_table["164,206"] = [12398] let s:lib.Codec.decoding_table["164,207"] = [12399] let s:lib.Codec.decoding_table["164,208"] = [12400] let s:lib.Codec.decoding_table["164,209"] = [12401] let s:lib.Codec.decoding_table["164,210"] = [12402] let s:lib.Codec.decoding_table["164,211"] = [12403] let s:lib.Codec.decoding_table["164,212"] = [12404] let s:lib.Codec.decoding_table["164,213"] = [12405] let s:lib.Codec.decoding_table["164,214"] = [12406] let s:lib.Codec.decoding_table["164,215"] = [12407] let s:lib.Codec.decoding_table["164,216"] = [12408] let s:lib.Codec.decoding_table["164,217"] = [12409] let s:lib.Codec.decoding_table["164,218"] = [12410] let s:lib.Codec.decoding_table["164,219"] = [12411] let s:lib.Codec.decoding_table["164,220"] = [12412] let s:lib.Codec.decoding_table["164,221"] = [12413] let s:lib.Codec.decoding_table["164,222"] = [12414] let s:lib.Codec.decoding_table["164,223"] = [12415] let s:lib.Codec.decoding_table["164,224"] = [12416] let s:lib.Codec.decoding_table["164,225"] = [12417] let s:lib.Codec.decoding_table["164,226"] = [12418] let s:lib.Codec.decoding_table["164,227"] = [12419] let s:lib.Codec.decoding_table["164,228"] = [12420] let s:lib.Codec.decoding_table["164,229"] = [12421] let s:lib.Codec.decoding_table["164,230"] = [12422] let s:lib.Codec.decoding_table["164,231"] = [12423] let s:lib.Codec.decoding_table["164,232"] = [12424] let s:lib.Codec.decoding_table["164,233"] = [12425] let s:lib.Codec.decoding_table["164,234"] = [12426] let s:lib.Codec.decoding_table["164,235"] = [12427] let s:lib.Codec.decoding_table["164,236"] = [12428] let s:lib.Codec.decoding_table["164,237"] = [12429] let s:lib.Codec.decoding_table["164,238"] = [12430] let s:lib.Codec.decoding_table["164,239"] = [12431] let s:lib.Codec.decoding_table["164,240"] = [12432] let s:lib.Codec.decoding_table["164,241"] = [12433] let s:lib.Codec.decoding_table["164,242"] = [12434] let s:lib.Codec.decoding_table["164,243"] = [12435] let s:lib.Codec.decoding_table["165,161"] = [12449] let s:lib.Codec.decoding_table["165,162"] = [12450] let s:lib.Codec.decoding_table["165,163"] = [12451] let s:lib.Codec.decoding_table["165,164"] = [12452] let s:lib.Codec.decoding_table["165,165"] = [12453] let s:lib.Codec.decoding_table["165,166"] = [12454] let s:lib.Codec.decoding_table["165,167"] = [12455] let s:lib.Codec.decoding_table["165,168"] = [12456] let s:lib.Codec.decoding_table["165,169"] = [12457] let s:lib.Codec.decoding_table["165,170"] = [12458] let s:lib.Codec.decoding_table["165,171"] = [12459] let s:lib.Codec.decoding_table["165,172"] = [12460] let s:lib.Codec.decoding_table["165,173"] = [12461] let s:lib.Codec.decoding_table["165,174"] = [12462] let s:lib.Codec.decoding_table["165,175"] = [12463] let s:lib.Codec.decoding_table["165,176"] = [12464] let s:lib.Codec.decoding_table["165,177"] = [12465] let s:lib.Codec.decoding_table["165,178"] = [12466] let s:lib.Codec.decoding_table["165,179"] = [12467] let s:lib.Codec.decoding_table["165,180"] = [12468] let s:lib.Codec.decoding_table["165,181"] = [12469] let s:lib.Codec.decoding_table["165,182"] = [12470] let s:lib.Codec.decoding_table["165,183"] = [12471] let s:lib.Codec.decoding_table["165,184"] = [12472] let s:lib.Codec.decoding_table["165,185"] = [12473] let s:lib.Codec.decoding_table["165,186"] = [12474] let s:lib.Codec.decoding_table["165,187"] = [12475] let s:lib.Codec.decoding_table["165,188"] = [12476] let s:lib.Codec.decoding_table["165,189"] = [12477] let s:lib.Codec.decoding_table["165,190"] = [12478] let s:lib.Codec.decoding_table["165,191"] = [12479] let s:lib.Codec.decoding_table["165,192"] = [12480] let s:lib.Codec.decoding_table["165,193"] = [12481] let s:lib.Codec.decoding_table["165,194"] = [12482] let s:lib.Codec.decoding_table["165,195"] = [12483] let s:lib.Codec.decoding_table["165,196"] = [12484] let s:lib.Codec.decoding_table["165,197"] = [12485] let s:lib.Codec.decoding_table["165,198"] = [12486] let s:lib.Codec.decoding_table["165,199"] = [12487] let s:lib.Codec.decoding_table["165,200"] = [12488] let s:lib.Codec.decoding_table["165,201"] = [12489] let s:lib.Codec.decoding_table["165,202"] = [12490] let s:lib.Codec.decoding_table["165,203"] = [12491] let s:lib.Codec.decoding_table["165,204"] = [12492] let s:lib.Codec.decoding_table["165,205"] = [12493] let s:lib.Codec.decoding_table["165,206"] = [12494] let s:lib.Codec.decoding_table["165,207"] = [12495] let s:lib.Codec.decoding_table["165,208"] = [12496] let s:lib.Codec.decoding_table["165,209"] = [12497] let s:lib.Codec.decoding_table["165,210"] = [12498] let s:lib.Codec.decoding_table["165,211"] = [12499] let s:lib.Codec.decoding_table["165,212"] = [12500] let s:lib.Codec.decoding_table["165,213"] = [12501] let s:lib.Codec.decoding_table["165,214"] = [12502] let s:lib.Codec.decoding_table["165,215"] = [12503] let s:lib.Codec.decoding_table["165,216"] = [12504] let s:lib.Codec.decoding_table["165,217"] = [12505] let s:lib.Codec.decoding_table["165,218"] = [12506] let s:lib.Codec.decoding_table["165,219"] = [12507] let s:lib.Codec.decoding_table["165,220"] = [12508] let s:lib.Codec.decoding_table["165,221"] = [12509] let s:lib.Codec.decoding_table["165,222"] = [12510] let s:lib.Codec.decoding_table["165,223"] = [12511] let s:lib.Codec.decoding_table["165,224"] = [12512] let s:lib.Codec.decoding_table["165,225"] = [12513] let s:lib.Codec.decoding_table["165,226"] = [12514] let s:lib.Codec.decoding_table["165,227"] = [12515] let s:lib.Codec.decoding_table["165,228"] = [12516] let s:lib.Codec.decoding_table["165,229"] = [12517] let s:lib.Codec.decoding_table["165,230"] = [12518] let s:lib.Codec.decoding_table["165,231"] = [12519] let s:lib.Codec.decoding_table["165,232"] = [12520] let s:lib.Codec.decoding_table["165,233"] = [12521] let s:lib.Codec.decoding_table["165,234"] = [12522] let s:lib.Codec.decoding_table["165,235"] = [12523] let s:lib.Codec.decoding_table["165,236"] = [12524] let s:lib.Codec.decoding_table["165,237"] = [12525] let s:lib.Codec.decoding_table["165,238"] = [12526] let s:lib.Codec.decoding_table["165,239"] = [12527] let s:lib.Codec.decoding_table["165,240"] = [12528] let s:lib.Codec.decoding_table["165,241"] = [12529] let s:lib.Codec.decoding_table["165,242"] = [12530] let s:lib.Codec.decoding_table["165,243"] = [12531] let s:lib.Codec.decoding_table["165,244"] = [12532] let s:lib.Codec.decoding_table["165,245"] = [12533] let s:lib.Codec.decoding_table["165,246"] = [12534] let s:lib.Codec.decoding_table["166,161"] = [913] let s:lib.Codec.decoding_table["166,162"] = [914] let s:lib.Codec.decoding_table["166,163"] = [915] let s:lib.Codec.decoding_table["166,164"] = [916] let s:lib.Codec.decoding_table["166,165"] = [917] let s:lib.Codec.decoding_table["166,166"] = [918] let s:lib.Codec.decoding_table["166,167"] = [919] let s:lib.Codec.decoding_table["166,168"] = [920] let s:lib.Codec.decoding_table["166,169"] = [921] let s:lib.Codec.decoding_table["166,170"] = [922] let s:lib.Codec.decoding_table["166,171"] = [923] let s:lib.Codec.decoding_table["166,172"] = [924] let s:lib.Codec.decoding_table["166,173"] = [925] let s:lib.Codec.decoding_table["166,174"] = [926] let s:lib.Codec.decoding_table["166,175"] = [927] let s:lib.Codec.decoding_table["166,176"] = [928] let s:lib.Codec.decoding_table["166,177"] = [929] let s:lib.Codec.decoding_table["166,178"] = [931] let s:lib.Codec.decoding_table["166,179"] = [932] let s:lib.Codec.decoding_table["166,180"] = [933] let s:lib.Codec.decoding_table["166,181"] = [934] let s:lib.Codec.decoding_table["166,182"] = [935] let s:lib.Codec.decoding_table["166,183"] = [936] let s:lib.Codec.decoding_table["166,184"] = [937] let s:lib.Codec.decoding_table["166,193"] = [945] let s:lib.Codec.decoding_table["166,194"] = [946] let s:lib.Codec.decoding_table["166,195"] = [947] let s:lib.Codec.decoding_table["166,196"] = [948] let s:lib.Codec.decoding_table["166,197"] = [949] let s:lib.Codec.decoding_table["166,198"] = [950] let s:lib.Codec.decoding_table["166,199"] = [951] let s:lib.Codec.decoding_table["166,200"] = [952] let s:lib.Codec.decoding_table["166,201"] = [953] let s:lib.Codec.decoding_table["166,202"] = [954] let s:lib.Codec.decoding_table["166,203"] = [955] let s:lib.Codec.decoding_table["166,204"] = [956] let s:lib.Codec.decoding_table["166,205"] = [957] let s:lib.Codec.decoding_table["166,206"] = [958] let s:lib.Codec.decoding_table["166,207"] = [959] let s:lib.Codec.decoding_table["166,208"] = [960] let s:lib.Codec.decoding_table["166,209"] = [961] let s:lib.Codec.decoding_table["166,210"] = [963] let s:lib.Codec.decoding_table["166,211"] = [964] let s:lib.Codec.decoding_table["166,212"] = [965] let s:lib.Codec.decoding_table["166,213"] = [966] let s:lib.Codec.decoding_table["166,214"] = [967] let s:lib.Codec.decoding_table["166,215"] = [968] let s:lib.Codec.decoding_table["166,216"] = [969] let s:lib.Codec.decoding_table["166,224"] = [65077] let s:lib.Codec.decoding_table["166,225"] = [65078] let s:lib.Codec.decoding_table["166,226"] = [65081] let s:lib.Codec.decoding_table["166,227"] = [65082] let s:lib.Codec.decoding_table["166,228"] = [65087] let s:lib.Codec.decoding_table["166,229"] = [65088] let s:lib.Codec.decoding_table["166,230"] = [65085] let s:lib.Codec.decoding_table["166,231"] = [65086] let s:lib.Codec.decoding_table["166,232"] = [65089] let s:lib.Codec.decoding_table["166,233"] = [65090] let s:lib.Codec.decoding_table["166,234"] = [65091] let s:lib.Codec.decoding_table["166,235"] = [65092] let s:lib.Codec.decoding_table["166,238"] = [65083] let s:lib.Codec.decoding_table["166,239"] = [65084] let s:lib.Codec.decoding_table["166,240"] = [65079] let s:lib.Codec.decoding_table["166,241"] = [65080] let s:lib.Codec.decoding_table["166,242"] = [65073] let s:lib.Codec.decoding_table["166,244"] = [65075] let s:lib.Codec.decoding_table["166,245"] = [65076] let s:lib.Codec.decoding_table["167,161"] = [1040] let s:lib.Codec.decoding_table["167,162"] = [1041] let s:lib.Codec.decoding_table["167,163"] = [1042] let s:lib.Codec.decoding_table["167,164"] = [1043] let s:lib.Codec.decoding_table["167,165"] = [1044] let s:lib.Codec.decoding_table["167,166"] = [1045] let s:lib.Codec.decoding_table["167,167"] = [1025] let s:lib.Codec.decoding_table["167,168"] = [1046] let s:lib.Codec.decoding_table["167,169"] = [1047] let s:lib.Codec.decoding_table["167,170"] = [1048] let s:lib.Codec.decoding_table["167,171"] = [1049] let s:lib.Codec.decoding_table["167,172"] = [1050] let s:lib.Codec.decoding_table["167,173"] = [1051] let s:lib.Codec.decoding_table["167,174"] = [1052] let s:lib.Codec.decoding_table["167,175"] = [1053] let s:lib.Codec.decoding_table["167,176"] = [1054] let s:lib.Codec.decoding_table["167,177"] = [1055] let s:lib.Codec.decoding_table["167,178"] = [1056] let s:lib.Codec.decoding_table["167,179"] = [1057] let s:lib.Codec.decoding_table["167,180"] = [1058] let s:lib.Codec.decoding_table["167,181"] = [1059] let s:lib.Codec.decoding_table["167,182"] = [1060] let s:lib.Codec.decoding_table["167,183"] = [1061] let s:lib.Codec.decoding_table["167,184"] = [1062] let s:lib.Codec.decoding_table["167,185"] = [1063] let s:lib.Codec.decoding_table["167,186"] = [1064] let s:lib.Codec.decoding_table["167,187"] = [1065] let s:lib.Codec.decoding_table["167,188"] = [1066] let s:lib.Codec.decoding_table["167,189"] = [1067] let s:lib.Codec.decoding_table["167,190"] = [1068] let s:lib.Codec.decoding_table["167,191"] = [1069] let s:lib.Codec.decoding_table["167,192"] = [1070] let s:lib.Codec.decoding_table["167,193"] = [1071] let s:lib.Codec.decoding_table["167,209"] = [1072] let s:lib.Codec.decoding_table["167,210"] = [1073] let s:lib.Codec.decoding_table["167,211"] = [1074] let s:lib.Codec.decoding_table["167,212"] = [1075] let s:lib.Codec.decoding_table["167,213"] = [1076] let s:lib.Codec.decoding_table["167,214"] = [1077] let s:lib.Codec.decoding_table["167,215"] = [1105] let s:lib.Codec.decoding_table["167,216"] = [1078] let s:lib.Codec.decoding_table["167,217"] = [1079] let s:lib.Codec.decoding_table["167,218"] = [1080] let s:lib.Codec.decoding_table["167,219"] = [1081] let s:lib.Codec.decoding_table["167,220"] = [1082] let s:lib.Codec.decoding_table["167,221"] = [1083] let s:lib.Codec.decoding_table["167,222"] = [1084] let s:lib.Codec.decoding_table["167,223"] = [1085] let s:lib.Codec.decoding_table["167,224"] = [1086] let s:lib.Codec.decoding_table["167,225"] = [1087] let s:lib.Codec.decoding_table["167,226"] = [1088] let s:lib.Codec.decoding_table["167,227"] = [1089] let s:lib.Codec.decoding_table["167,228"] = [1090] let s:lib.Codec.decoding_table["167,229"] = [1091] let s:lib.Codec.decoding_table["167,230"] = [1092] let s:lib.Codec.decoding_table["167,231"] = [1093] let s:lib.Codec.decoding_table["167,232"] = [1094] let s:lib.Codec.decoding_table["167,233"] = [1095] let s:lib.Codec.decoding_table["167,234"] = [1096] let s:lib.Codec.decoding_table["167,235"] = [1097] let s:lib.Codec.decoding_table["167,236"] = [1098] let s:lib.Codec.decoding_table["167,237"] = [1099] let s:lib.Codec.decoding_table["167,238"] = [1100] let s:lib.Codec.decoding_table["167,239"] = [1101] let s:lib.Codec.decoding_table["167,240"] = [1102] let s:lib.Codec.decoding_table["167,241"] = [1103] let s:lib.Codec.decoding_table["168,64"] = [714] let s:lib.Codec.decoding_table["168,65"] = [715] let s:lib.Codec.decoding_table["168,66"] = [729] let s:lib.Codec.decoding_table["168,67"] = [8211] let s:lib.Codec.decoding_table["168,68"] = [8213] let s:lib.Codec.decoding_table["168,69"] = [8229] let s:lib.Codec.decoding_table["168,70"] = [8245] let s:lib.Codec.decoding_table["168,71"] = [8453] let s:lib.Codec.decoding_table["168,72"] = [8457] let s:lib.Codec.decoding_table["168,73"] = [8598] let s:lib.Codec.decoding_table["168,74"] = [8599] let s:lib.Codec.decoding_table["168,75"] = [8600] let s:lib.Codec.decoding_table["168,76"] = [8601] let s:lib.Codec.decoding_table["168,77"] = [8725] let s:lib.Codec.decoding_table["168,78"] = [8735] let s:lib.Codec.decoding_table["168,79"] = [8739] let s:lib.Codec.decoding_table["168,80"] = [8786] let s:lib.Codec.decoding_table["168,81"] = [8806] let s:lib.Codec.decoding_table["168,82"] = [8807] let s:lib.Codec.decoding_table["168,83"] = [8895] let s:lib.Codec.decoding_table["168,84"] = [9552] let s:lib.Codec.decoding_table["168,85"] = [9553] let s:lib.Codec.decoding_table["168,86"] = [9554] let s:lib.Codec.decoding_table["168,87"] = [9555] let s:lib.Codec.decoding_table["168,88"] = [9556] let s:lib.Codec.decoding_table["168,89"] = [9557] let s:lib.Codec.decoding_table["168,90"] = [9558] let s:lib.Codec.decoding_table["168,91"] = [9559] let s:lib.Codec.decoding_table["168,92"] = [9560] let s:lib.Codec.decoding_table["168,93"] = [9561] let s:lib.Codec.decoding_table["168,94"] = [9562] let s:lib.Codec.decoding_table["168,95"] = [9563] let s:lib.Codec.decoding_table["168,96"] = [9564] let s:lib.Codec.decoding_table["168,97"] = [9565] let s:lib.Codec.decoding_table["168,98"] = [9566] let s:lib.Codec.decoding_table["168,99"] = [9567] let s:lib.Codec.decoding_table["168,100"] = [9568] let s:lib.Codec.decoding_table["168,101"] = [9569] let s:lib.Codec.decoding_table["168,102"] = [9570] let s:lib.Codec.decoding_table["168,103"] = [9571] let s:lib.Codec.decoding_table["168,104"] = [9572] let s:lib.Codec.decoding_table["168,105"] = [9573] let s:lib.Codec.decoding_table["168,106"] = [9574] let s:lib.Codec.decoding_table["168,107"] = [9575] let s:lib.Codec.decoding_table["168,108"] = [9576] let s:lib.Codec.decoding_table["168,109"] = [9577] let s:lib.Codec.decoding_table["168,110"] = [9578] let s:lib.Codec.decoding_table["168,111"] = [9579] let s:lib.Codec.decoding_table["168,112"] = [9580] let s:lib.Codec.decoding_table["168,113"] = [9581] let s:lib.Codec.decoding_table["168,114"] = [9582] let s:lib.Codec.decoding_table["168,115"] = [9583] let s:lib.Codec.decoding_table["168,116"] = [9584] let s:lib.Codec.decoding_table["168,117"] = [9585] let s:lib.Codec.decoding_table["168,118"] = [9586] let s:lib.Codec.decoding_table["168,119"] = [9587] let s:lib.Codec.decoding_table["168,120"] = [9601] let s:lib.Codec.decoding_table["168,121"] = [9602] let s:lib.Codec.decoding_table["168,122"] = [9603] let s:lib.Codec.decoding_table["168,123"] = [9604] let s:lib.Codec.decoding_table["168,124"] = [9605] let s:lib.Codec.decoding_table["168,125"] = [9606] let s:lib.Codec.decoding_table["168,126"] = [9607] let s:lib.Codec.decoding_table["168,128"] = [9608] let s:lib.Codec.decoding_table["168,129"] = [9609] let s:lib.Codec.decoding_table["168,130"] = [9610] let s:lib.Codec.decoding_table["168,131"] = [9611] let s:lib.Codec.decoding_table["168,132"] = [9612] let s:lib.Codec.decoding_table["168,133"] = [9613] let s:lib.Codec.decoding_table["168,134"] = [9614] let s:lib.Codec.decoding_table["168,135"] = [9615] let s:lib.Codec.decoding_table["168,136"] = [9619] let s:lib.Codec.decoding_table["168,137"] = [9620] let s:lib.Codec.decoding_table["168,138"] = [9621] let s:lib.Codec.decoding_table["168,139"] = [9660] let s:lib.Codec.decoding_table["168,140"] = [9661] let s:lib.Codec.decoding_table["168,141"] = [9698] let s:lib.Codec.decoding_table["168,142"] = [9699] let s:lib.Codec.decoding_table["168,143"] = [9700] let s:lib.Codec.decoding_table["168,144"] = [9701] let s:lib.Codec.decoding_table["168,145"] = [9737] let s:lib.Codec.decoding_table["168,146"] = [8853] let s:lib.Codec.decoding_table["168,147"] = [12306] let s:lib.Codec.decoding_table["168,148"] = [12317] let s:lib.Codec.decoding_table["168,149"] = [12318] let s:lib.Codec.decoding_table["168,161"] = [257] let s:lib.Codec.decoding_table["168,162"] = [225] let s:lib.Codec.decoding_table["168,163"] = [462] let s:lib.Codec.decoding_table["168,164"] = [224] let s:lib.Codec.decoding_table["168,165"] = [275] let s:lib.Codec.decoding_table["168,166"] = [233] let s:lib.Codec.decoding_table["168,167"] = [283] let s:lib.Codec.decoding_table["168,168"] = [232] let s:lib.Codec.decoding_table["168,169"] = [299] let s:lib.Codec.decoding_table["168,170"] = [237] let s:lib.Codec.decoding_table["168,171"] = [464] let s:lib.Codec.decoding_table["168,172"] = [236] let s:lib.Codec.decoding_table["168,173"] = [333] let s:lib.Codec.decoding_table["168,174"] = [243] let s:lib.Codec.decoding_table["168,175"] = [466] let s:lib.Codec.decoding_table["168,176"] = [242] let s:lib.Codec.decoding_table["168,177"] = [363] let s:lib.Codec.decoding_table["168,178"] = [250] let s:lib.Codec.decoding_table["168,179"] = [468] let s:lib.Codec.decoding_table["168,180"] = [249] let s:lib.Codec.decoding_table["168,181"] = [470] let s:lib.Codec.decoding_table["168,182"] = [472] let s:lib.Codec.decoding_table["168,183"] = [474] let s:lib.Codec.decoding_table["168,184"] = [476] let s:lib.Codec.decoding_table["168,185"] = [252] let s:lib.Codec.decoding_table["168,186"] = [234] let s:lib.Codec.decoding_table["168,187"] = [593] let s:lib.Codec.decoding_table["168,189"] = [324] let s:lib.Codec.decoding_table["168,190"] = [328] let s:lib.Codec.decoding_table["168,192"] = [609] let s:lib.Codec.decoding_table["168,197"] = [12549] let s:lib.Codec.decoding_table["168,198"] = [12550] let s:lib.Codec.decoding_table["168,199"] = [12551] let s:lib.Codec.decoding_table["168,200"] = [12552] let s:lib.Codec.decoding_table["168,201"] = [12553] let s:lib.Codec.decoding_table["168,202"] = [12554] let s:lib.Codec.decoding_table["168,203"] = [12555] let s:lib.Codec.decoding_table["168,204"] = [12556] let s:lib.Codec.decoding_table["168,205"] = [12557] let s:lib.Codec.decoding_table["168,206"] = [12558] let s:lib.Codec.decoding_table["168,207"] = [12559] let s:lib.Codec.decoding_table["168,208"] = [12560] let s:lib.Codec.decoding_table["168,209"] = [12561] let s:lib.Codec.decoding_table["168,210"] = [12562] let s:lib.Codec.decoding_table["168,211"] = [12563] let s:lib.Codec.decoding_table["168,212"] = [12564] let s:lib.Codec.decoding_table["168,213"] = [12565] let s:lib.Codec.decoding_table["168,214"] = [12566] let s:lib.Codec.decoding_table["168,215"] = [12567] let s:lib.Codec.decoding_table["168,216"] = [12568] let s:lib.Codec.decoding_table["168,217"] = [12569] let s:lib.Codec.decoding_table["168,218"] = [12570] let s:lib.Codec.decoding_table["168,219"] = [12571] let s:lib.Codec.decoding_table["168,220"] = [12572] let s:lib.Codec.decoding_table["168,221"] = [12573] let s:lib.Codec.decoding_table["168,222"] = [12574] let s:lib.Codec.decoding_table["168,223"] = [12575] let s:lib.Codec.decoding_table["168,224"] = [12576] let s:lib.Codec.decoding_table["168,225"] = [12577] let s:lib.Codec.decoding_table["168,226"] = [12578] let s:lib.Codec.decoding_table["168,227"] = [12579] let s:lib.Codec.decoding_table["168,228"] = [12580] let s:lib.Codec.decoding_table["168,229"] = [12581] let s:lib.Codec.decoding_table["168,230"] = [12582] let s:lib.Codec.decoding_table["168,231"] = [12583] let s:lib.Codec.decoding_table["168,232"] = [12584] let s:lib.Codec.decoding_table["168,233"] = [12585] let s:lib.Codec.decoding_table["169,64"] = [12321] let s:lib.Codec.decoding_table["169,65"] = [12322] let s:lib.Codec.decoding_table["169,66"] = [12323] let s:lib.Codec.decoding_table["169,67"] = [12324] let s:lib.Codec.decoding_table["169,68"] = [12325] let s:lib.Codec.decoding_table["169,69"] = [12326] let s:lib.Codec.decoding_table["169,70"] = [12327] let s:lib.Codec.decoding_table["169,71"] = [12328] let s:lib.Codec.decoding_table["169,72"] = [12329] let s:lib.Codec.decoding_table["169,73"] = [12963] let s:lib.Codec.decoding_table["169,74"] = [13198] let s:lib.Codec.decoding_table["169,75"] = [13199] let s:lib.Codec.decoding_table["169,76"] = [13212] let s:lib.Codec.decoding_table["169,77"] = [13213] let s:lib.Codec.decoding_table["169,78"] = [13214] let s:lib.Codec.decoding_table["169,79"] = [13217] let s:lib.Codec.decoding_table["169,80"] = [13252] let s:lib.Codec.decoding_table["169,81"] = [13262] let s:lib.Codec.decoding_table["169,82"] = [13265] let s:lib.Codec.decoding_table["169,83"] = [13266] let s:lib.Codec.decoding_table["169,84"] = [13269] let s:lib.Codec.decoding_table["169,85"] = [65072] let s:lib.Codec.decoding_table["169,86"] = [65506] let s:lib.Codec.decoding_table["169,87"] = [65508] let s:lib.Codec.decoding_table["169,89"] = [8481] let s:lib.Codec.decoding_table["169,90"] = [12849] let s:lib.Codec.decoding_table["169,92"] = [8208] let s:lib.Codec.decoding_table["169,96"] = [12540] let s:lib.Codec.decoding_table["169,97"] = [12443] let s:lib.Codec.decoding_table["169,98"] = [12444] let s:lib.Codec.decoding_table["169,99"] = [12541] let s:lib.Codec.decoding_table["169,100"] = [12542] let s:lib.Codec.decoding_table["169,101"] = [12294] let s:lib.Codec.decoding_table["169,102"] = [12445] let s:lib.Codec.decoding_table["169,103"] = [12446] let s:lib.Codec.decoding_table["169,104"] = [65097] let s:lib.Codec.decoding_table["169,105"] = [65098] let s:lib.Codec.decoding_table["169,106"] = [65099] let s:lib.Codec.decoding_table["169,107"] = [65100] let s:lib.Codec.decoding_table["169,108"] = [65101] let s:lib.Codec.decoding_table["169,109"] = [65102] let s:lib.Codec.decoding_table["169,110"] = [65103] let s:lib.Codec.decoding_table["169,111"] = [65104] let s:lib.Codec.decoding_table["169,112"] = [65105] let s:lib.Codec.decoding_table["169,113"] = [65106] let s:lib.Codec.decoding_table["169,114"] = [65108] let s:lib.Codec.decoding_table["169,115"] = [65109] let s:lib.Codec.decoding_table["169,116"] = [65110] let s:lib.Codec.decoding_table["169,117"] = [65111] let s:lib.Codec.decoding_table["169,118"] = [65113] let s:lib.Codec.decoding_table["169,119"] = [65114] let s:lib.Codec.decoding_table["169,120"] = [65115] let s:lib.Codec.decoding_table["169,121"] = [65116] let s:lib.Codec.decoding_table["169,122"] = [65117] let s:lib.Codec.decoding_table["169,123"] = [65118] let s:lib.Codec.decoding_table["169,124"] = [65119] let s:lib.Codec.decoding_table["169,125"] = [65120] let s:lib.Codec.decoding_table["169,126"] = [65121] let s:lib.Codec.decoding_table["169,128"] = [65122] let s:lib.Codec.decoding_table["169,129"] = [65123] let s:lib.Codec.decoding_table["169,130"] = [65124] let s:lib.Codec.decoding_table["169,131"] = [65125] let s:lib.Codec.decoding_table["169,132"] = [65126] let s:lib.Codec.decoding_table["169,133"] = [65128] let s:lib.Codec.decoding_table["169,134"] = [65129] let s:lib.Codec.decoding_table["169,135"] = [65130] let s:lib.Codec.decoding_table["169,136"] = [65131] let s:lib.Codec.decoding_table["169,150"] = [12295] let s:lib.Codec.decoding_table["169,164"] = [9472] let s:lib.Codec.decoding_table["169,165"] = [9473] let s:lib.Codec.decoding_table["169,166"] = [9474] let s:lib.Codec.decoding_table["169,167"] = [9475] let s:lib.Codec.decoding_table["169,168"] = [9476] let s:lib.Codec.decoding_table["169,169"] = [9477] let s:lib.Codec.decoding_table["169,170"] = [9478] let s:lib.Codec.decoding_table["169,171"] = [9479] let s:lib.Codec.decoding_table["169,172"] = [9480] let s:lib.Codec.decoding_table["169,173"] = [9481] let s:lib.Codec.decoding_table["169,174"] = [9482] let s:lib.Codec.decoding_table["169,175"] = [9483] let s:lib.Codec.decoding_table["169,176"] = [9484] let s:lib.Codec.decoding_table["169,177"] = [9485] let s:lib.Codec.decoding_table["169,178"] = [9486] let s:lib.Codec.decoding_table["169,179"] = [9487] let s:lib.Codec.decoding_table["169,180"] = [9488] let s:lib.Codec.decoding_table["169,181"] = [9489] let s:lib.Codec.decoding_table["169,182"] = [9490] let s:lib.Codec.decoding_table["169,183"] = [9491] let s:lib.Codec.decoding_table["169,184"] = [9492] let s:lib.Codec.decoding_table["169,185"] = [9493] let s:lib.Codec.decoding_table["169,186"] = [9494] let s:lib.Codec.decoding_table["169,187"] = [9495] let s:lib.Codec.decoding_table["169,188"] = [9496] let s:lib.Codec.decoding_table["169,189"] = [9497] let s:lib.Codec.decoding_table["169,190"] = [9498] let s:lib.Codec.decoding_table["169,191"] = [9499] let s:lib.Codec.decoding_table["169,192"] = [9500] let s:lib.Codec.decoding_table["169,193"] = [9501] let s:lib.Codec.decoding_table["169,194"] = [9502] let s:lib.Codec.decoding_table["169,195"] = [9503] let s:lib.Codec.decoding_table["169,196"] = [9504] let s:lib.Codec.decoding_table["169,197"] = [9505] let s:lib.Codec.decoding_table["169,198"] = [9506] let s:lib.Codec.decoding_table["169,199"] = [9507] let s:lib.Codec.decoding_table["169,200"] = [9508] let s:lib.Codec.decoding_table["169,201"] = [9509] let s:lib.Codec.decoding_table["169,202"] = [9510] let s:lib.Codec.decoding_table["169,203"] = [9511] let s:lib.Codec.decoding_table["169,204"] = [9512] let s:lib.Codec.decoding_table["169,205"] = [9513] let s:lib.Codec.decoding_table["169,206"] = [9514] let s:lib.Codec.decoding_table["169,207"] = [9515] let s:lib.Codec.decoding_table["169,208"] = [9516] let s:lib.Codec.decoding_table["169,209"] = [9517] let s:lib.Codec.decoding_table["169,210"] = [9518] let s:lib.Codec.decoding_table["169,211"] = [9519] let s:lib.Codec.decoding_table["169,212"] = [9520] let s:lib.Codec.decoding_table["169,213"] = [9521] let s:lib.Codec.decoding_table["169,214"] = [9522] let s:lib.Codec.decoding_table["169,215"] = [9523] let s:lib.Codec.decoding_table["169,216"] = [9524] let s:lib.Codec.decoding_table["169,217"] = [9525] let s:lib.Codec.decoding_table["169,218"] = [9526] let s:lib.Codec.decoding_table["169,219"] = [9527] let s:lib.Codec.decoding_table["169,220"] = [9528] let s:lib.Codec.decoding_table["169,221"] = [9529] let s:lib.Codec.decoding_table["169,222"] = [9530] let s:lib.Codec.decoding_table["169,223"] = [9531] let s:lib.Codec.decoding_table["169,224"] = [9532] let s:lib.Codec.decoding_table["169,225"] = [9533] let s:lib.Codec.decoding_table["169,226"] = [9534] let s:lib.Codec.decoding_table["169,227"] = [9535] let s:lib.Codec.decoding_table["169,228"] = [9536] let s:lib.Codec.decoding_table["169,229"] = [9537] let s:lib.Codec.decoding_table["169,230"] = [9538] let s:lib.Codec.decoding_table["169,231"] = [9539] let s:lib.Codec.decoding_table["169,232"] = [9540] let s:lib.Codec.decoding_table["169,233"] = [9541] let s:lib.Codec.decoding_table["169,234"] = [9542] let s:lib.Codec.decoding_table["169,235"] = [9543] let s:lib.Codec.decoding_table["169,236"] = [9544] let s:lib.Codec.decoding_table["169,237"] = [9545] let s:lib.Codec.decoding_table["169,238"] = [9546] let s:lib.Codec.decoding_table["169,239"] = [9547] let s:lib.Codec.decoding_table["170,64"] = [29404] let s:lib.Codec.decoding_table["170,65"] = [29405] let s:lib.Codec.decoding_table["170,66"] = [29407] let s:lib.Codec.decoding_table["170,67"] = [29410] let s:lib.Codec.decoding_table["170,68"] = [29411] let s:lib.Codec.decoding_table["170,69"] = [29412] let s:lib.Codec.decoding_table["170,70"] = [29413] let s:lib.Codec.decoding_table["170,71"] = [29414] let s:lib.Codec.decoding_table["170,72"] = [29415] let s:lib.Codec.decoding_table["170,73"] = [29418] let s:lib.Codec.decoding_table["170,74"] = [29419] let s:lib.Codec.decoding_table["170,75"] = [29429] let s:lib.Codec.decoding_table["170,76"] = [29430] let s:lib.Codec.decoding_table["170,77"] = [29433] let s:lib.Codec.decoding_table["170,78"] = [29437] let s:lib.Codec.decoding_table["170,79"] = [29438] let s:lib.Codec.decoding_table["170,80"] = [29439] let s:lib.Codec.decoding_table["170,81"] = [29440] let s:lib.Codec.decoding_table["170,82"] = [29442] let s:lib.Codec.decoding_table["170,83"] = [29444] let s:lib.Codec.decoding_table["170,84"] = [29445] let s:lib.Codec.decoding_table["170,85"] = [29446] let s:lib.Codec.decoding_table["170,86"] = [29447] let s:lib.Codec.decoding_table["170,87"] = [29448] let s:lib.Codec.decoding_table["170,88"] = [29449] let s:lib.Codec.decoding_table["170,89"] = [29451] let s:lib.Codec.decoding_table["170,90"] = [29452] let s:lib.Codec.decoding_table["170,91"] = [29453] let s:lib.Codec.decoding_table["170,92"] = [29455] let s:lib.Codec.decoding_table["170,93"] = [29456] let s:lib.Codec.decoding_table["170,94"] = [29457] let s:lib.Codec.decoding_table["170,95"] = [29458] let s:lib.Codec.decoding_table["170,96"] = [29460] let s:lib.Codec.decoding_table["170,97"] = [29464] let s:lib.Codec.decoding_table["170,98"] = [29465] let s:lib.Codec.decoding_table["170,99"] = [29466] let s:lib.Codec.decoding_table["170,100"] = [29471] let s:lib.Codec.decoding_table["170,101"] = [29472] let s:lib.Codec.decoding_table["170,102"] = [29475] let s:lib.Codec.decoding_table["170,103"] = [29476] let s:lib.Codec.decoding_table["170,104"] = [29478] let s:lib.Codec.decoding_table["170,105"] = [29479] let s:lib.Codec.decoding_table["170,106"] = [29480] let s:lib.Codec.decoding_table["170,107"] = [29485] let s:lib.Codec.decoding_table["170,108"] = [29487] let s:lib.Codec.decoding_table["170,109"] = [29488] let s:lib.Codec.decoding_table["170,110"] = [29490] let s:lib.Codec.decoding_table["170,111"] = [29491] let s:lib.Codec.decoding_table["170,112"] = [29493] let s:lib.Codec.decoding_table["170,113"] = [29494] let s:lib.Codec.decoding_table["170,114"] = [29498] let s:lib.Codec.decoding_table["170,115"] = [29499] let s:lib.Codec.decoding_table["170,116"] = [29500] let s:lib.Codec.decoding_table["170,117"] = [29501] let s:lib.Codec.decoding_table["170,118"] = [29504] let s:lib.Codec.decoding_table["170,119"] = [29505] let s:lib.Codec.decoding_table["170,120"] = [29506] let s:lib.Codec.decoding_table["170,121"] = [29507] let s:lib.Codec.decoding_table["170,122"] = [29508] let s:lib.Codec.decoding_table["170,123"] = [29509] let s:lib.Codec.decoding_table["170,124"] = [29510] let s:lib.Codec.decoding_table["170,125"] = [29511] let s:lib.Codec.decoding_table["170,126"] = [29512] let s:lib.Codec.decoding_table["170,128"] = [29513] let s:lib.Codec.decoding_table["170,129"] = [29514] let s:lib.Codec.decoding_table["170,130"] = [29515] let s:lib.Codec.decoding_table["170,131"] = [29516] let s:lib.Codec.decoding_table["170,132"] = [29518] let s:lib.Codec.decoding_table["170,133"] = [29519] let s:lib.Codec.decoding_table["170,134"] = [29521] let s:lib.Codec.decoding_table["170,135"] = [29523] let s:lib.Codec.decoding_table["170,136"] = [29524] let s:lib.Codec.decoding_table["170,137"] = [29525] let s:lib.Codec.decoding_table["170,138"] = [29526] let s:lib.Codec.decoding_table["170,139"] = [29528] let s:lib.Codec.decoding_table["170,140"] = [29529] let s:lib.Codec.decoding_table["170,141"] = [29530] let s:lib.Codec.decoding_table["170,142"] = [29531] let s:lib.Codec.decoding_table["170,143"] = [29532] let s:lib.Codec.decoding_table["170,144"] = [29533] let s:lib.Codec.decoding_table["170,145"] = [29534] let s:lib.Codec.decoding_table["170,146"] = [29535] let s:lib.Codec.decoding_table["170,147"] = [29537] let s:lib.Codec.decoding_table["170,148"] = [29538] let s:lib.Codec.decoding_table["170,149"] = [29539] let s:lib.Codec.decoding_table["170,150"] = [29540] let s:lib.Codec.decoding_table["170,151"] = [29541] let s:lib.Codec.decoding_table["170,152"] = [29542] let s:lib.Codec.decoding_table["170,153"] = [29543] let s:lib.Codec.decoding_table["170,154"] = [29544] let s:lib.Codec.decoding_table["170,155"] = [29545] let s:lib.Codec.decoding_table["170,156"] = [29546] let s:lib.Codec.decoding_table["170,157"] = [29547] let s:lib.Codec.decoding_table["170,158"] = [29550] let s:lib.Codec.decoding_table["170,159"] = [29552] let s:lib.Codec.decoding_table["170,160"] = [29553] let s:lib.Codec.decoding_table["171,64"] = [29554] let s:lib.Codec.decoding_table["171,65"] = [29555] let s:lib.Codec.decoding_table["171,66"] = [29556] let s:lib.Codec.decoding_table["171,67"] = [29557] let s:lib.Codec.decoding_table["171,68"] = [29558] let s:lib.Codec.decoding_table["171,69"] = [29559] let s:lib.Codec.decoding_table["171,70"] = [29560] let s:lib.Codec.decoding_table["171,71"] = [29561] let s:lib.Codec.decoding_table["171,72"] = [29562] let s:lib.Codec.decoding_table["171,73"] = [29563] let s:lib.Codec.decoding_table["171,74"] = [29564] let s:lib.Codec.decoding_table["171,75"] = [29565] let s:lib.Codec.decoding_table["171,76"] = [29567] let s:lib.Codec.decoding_table["171,77"] = [29568] let s:lib.Codec.decoding_table["171,78"] = [29569] let s:lib.Codec.decoding_table["171,79"] = [29570] let s:lib.Codec.decoding_table["171,80"] = [29571] let s:lib.Codec.decoding_table["171,81"] = [29573] let s:lib.Codec.decoding_table["171,82"] = [29574] let s:lib.Codec.decoding_table["171,83"] = [29576] let s:lib.Codec.decoding_table["171,84"] = [29578] let s:lib.Codec.decoding_table["171,85"] = [29580] let s:lib.Codec.decoding_table["171,86"] = [29581] let s:lib.Codec.decoding_table["171,87"] = [29583] let s:lib.Codec.decoding_table["171,88"] = [29584] let s:lib.Codec.decoding_table["171,89"] = [29586] let s:lib.Codec.decoding_table["171,90"] = [29587] let s:lib.Codec.decoding_table["171,91"] = [29588] let s:lib.Codec.decoding_table["171,92"] = [29589] let s:lib.Codec.decoding_table["171,93"] = [29591] let s:lib.Codec.decoding_table["171,94"] = [29592] let s:lib.Codec.decoding_table["171,95"] = [29593] let s:lib.Codec.decoding_table["171,96"] = [29594] let s:lib.Codec.decoding_table["171,97"] = [29596] let s:lib.Codec.decoding_table["171,98"] = [29597] let s:lib.Codec.decoding_table["171,99"] = [29598] let s:lib.Codec.decoding_table["171,100"] = [29600] let s:lib.Codec.decoding_table["171,101"] = [29601] let s:lib.Codec.decoding_table["171,102"] = [29603] let s:lib.Codec.decoding_table["171,103"] = [29604] let s:lib.Codec.decoding_table["171,104"] = [29605] let s:lib.Codec.decoding_table["171,105"] = [29606] let s:lib.Codec.decoding_table["171,106"] = [29607] let s:lib.Codec.decoding_table["171,107"] = [29608] let s:lib.Codec.decoding_table["171,108"] = [29610] let s:lib.Codec.decoding_table["171,109"] = [29612] let s:lib.Codec.decoding_table["171,110"] = [29613] let s:lib.Codec.decoding_table["171,111"] = [29617] let s:lib.Codec.decoding_table["171,112"] = [29620] let s:lib.Codec.decoding_table["171,113"] = [29621] let s:lib.Codec.decoding_table["171,114"] = [29622] let s:lib.Codec.decoding_table["171,115"] = [29624] let s:lib.Codec.decoding_table["171,116"] = [29625] let s:lib.Codec.decoding_table["171,117"] = [29628] let s:lib.Codec.decoding_table["171,118"] = [29629] let s:lib.Codec.decoding_table["171,119"] = [29630] let s:lib.Codec.decoding_table["171,120"] = [29631] let s:lib.Codec.decoding_table["171,121"] = [29633] let s:lib.Codec.decoding_table["171,122"] = [29635] let s:lib.Codec.decoding_table["171,123"] = [29636] let s:lib.Codec.decoding_table["171,124"] = [29637] let s:lib.Codec.decoding_table["171,125"] = [29638] let s:lib.Codec.decoding_table["171,126"] = [29639] let s:lib.Codec.decoding_table["171,128"] = [29643] let s:lib.Codec.decoding_table["171,129"] = [29644] let s:lib.Codec.decoding_table["171,130"] = [29646] let s:lib.Codec.decoding_table["171,131"] = [29650] let s:lib.Codec.decoding_table["171,132"] = [29651] let s:lib.Codec.decoding_table["171,133"] = [29652] let s:lib.Codec.decoding_table["171,134"] = [29653] let s:lib.Codec.decoding_table["171,135"] = [29654] let s:lib.Codec.decoding_table["171,136"] = [29655] let s:lib.Codec.decoding_table["171,137"] = [29656] let s:lib.Codec.decoding_table["171,138"] = [29658] let s:lib.Codec.decoding_table["171,139"] = [29659] let s:lib.Codec.decoding_table["171,140"] = [29660] let s:lib.Codec.decoding_table["171,141"] = [29661] let s:lib.Codec.decoding_table["171,142"] = [29663] let s:lib.Codec.decoding_table["171,143"] = [29665] let s:lib.Codec.decoding_table["171,144"] = [29666] let s:lib.Codec.decoding_table["171,145"] = [29667] let s:lib.Codec.decoding_table["171,146"] = [29668] let s:lib.Codec.decoding_table["171,147"] = [29670] let s:lib.Codec.decoding_table["171,148"] = [29672] let s:lib.Codec.decoding_table["171,149"] = [29674] let s:lib.Codec.decoding_table["171,150"] = [29675] let s:lib.Codec.decoding_table["171,151"] = [29676] let s:lib.Codec.decoding_table["171,152"] = [29678] let s:lib.Codec.decoding_table["171,153"] = [29679] let s:lib.Codec.decoding_table["171,154"] = [29680] let s:lib.Codec.decoding_table["171,155"] = [29681] let s:lib.Codec.decoding_table["171,156"] = [29683] let s:lib.Codec.decoding_table["171,157"] = [29684] let s:lib.Codec.decoding_table["171,158"] = [29685] let s:lib.Codec.decoding_table["171,159"] = [29686] let s:lib.Codec.decoding_table["171,160"] = [29687] let s:lib.Codec.decoding_table["172,64"] = [29688] let s:lib.Codec.decoding_table["172,65"] = [29689] let s:lib.Codec.decoding_table["172,66"] = [29690] let s:lib.Codec.decoding_table["172,67"] = [29691] let s:lib.Codec.decoding_table["172,68"] = [29692] let s:lib.Codec.decoding_table["172,69"] = [29693] let s:lib.Codec.decoding_table["172,70"] = [29694] let s:lib.Codec.decoding_table["172,71"] = [29695] let s:lib.Codec.decoding_table["172,72"] = [29696] let s:lib.Codec.decoding_table["172,73"] = [29697] let s:lib.Codec.decoding_table["172,74"] = [29698] let s:lib.Codec.decoding_table["172,75"] = [29700] let s:lib.Codec.decoding_table["172,76"] = [29703] let s:lib.Codec.decoding_table["172,77"] = [29704] let s:lib.Codec.decoding_table["172,78"] = [29707] let s:lib.Codec.decoding_table["172,79"] = [29708] let s:lib.Codec.decoding_table["172,80"] = [29709] let s:lib.Codec.decoding_table["172,81"] = [29710] let s:lib.Codec.decoding_table["172,82"] = [29713] let s:lib.Codec.decoding_table["172,83"] = [29714] let s:lib.Codec.decoding_table["172,84"] = [29715] let s:lib.Codec.decoding_table["172,85"] = [29716] let s:lib.Codec.decoding_table["172,86"] = [29717] let s:lib.Codec.decoding_table["172,87"] = [29718] let s:lib.Codec.decoding_table["172,88"] = [29719] let s:lib.Codec.decoding_table["172,89"] = [29720] let s:lib.Codec.decoding_table["172,90"] = [29721] let s:lib.Codec.decoding_table["172,91"] = [29724] let s:lib.Codec.decoding_table["172,92"] = [29725] let s:lib.Codec.decoding_table["172,93"] = [29726] let s:lib.Codec.decoding_table["172,94"] = [29727] let s:lib.Codec.decoding_table["172,95"] = [29728] let s:lib.Codec.decoding_table["172,96"] = [29729] let s:lib.Codec.decoding_table["172,97"] = [29731] let s:lib.Codec.decoding_table["172,98"] = [29732] let s:lib.Codec.decoding_table["172,99"] = [29735] let s:lib.Codec.decoding_table["172,100"] = [29737] let s:lib.Codec.decoding_table["172,101"] = [29739] let s:lib.Codec.decoding_table["172,102"] = [29741] let s:lib.Codec.decoding_table["172,103"] = [29743] let s:lib.Codec.decoding_table["172,104"] = [29745] let s:lib.Codec.decoding_table["172,105"] = [29746] let s:lib.Codec.decoding_table["172,106"] = [29751] let s:lib.Codec.decoding_table["172,107"] = [29752] let s:lib.Codec.decoding_table["172,108"] = [29753] let s:lib.Codec.decoding_table["172,109"] = [29754] let s:lib.Codec.decoding_table["172,110"] = [29755] let s:lib.Codec.decoding_table["172,111"] = [29757] let s:lib.Codec.decoding_table["172,112"] = [29758] let s:lib.Codec.decoding_table["172,113"] = [29759] let s:lib.Codec.decoding_table["172,114"] = [29760] let s:lib.Codec.decoding_table["172,115"] = [29762] let s:lib.Codec.decoding_table["172,116"] = [29763] let s:lib.Codec.decoding_table["172,117"] = [29764] let s:lib.Codec.decoding_table["172,118"] = [29765] let s:lib.Codec.decoding_table["172,119"] = [29766] let s:lib.Codec.decoding_table["172,120"] = [29767] let s:lib.Codec.decoding_table["172,121"] = [29768] let s:lib.Codec.decoding_table["172,122"] = [29769] let s:lib.Codec.decoding_table["172,123"] = [29770] let s:lib.Codec.decoding_table["172,124"] = [29771] let s:lib.Codec.decoding_table["172,125"] = [29772] let s:lib.Codec.decoding_table["172,126"] = [29773] let s:lib.Codec.decoding_table["172,128"] = [29774] let s:lib.Codec.decoding_table["172,129"] = [29775] let s:lib.Codec.decoding_table["172,130"] = [29776] let s:lib.Codec.decoding_table["172,131"] = [29777] let s:lib.Codec.decoding_table["172,132"] = [29778] let s:lib.Codec.decoding_table["172,133"] = [29779] let s:lib.Codec.decoding_table["172,134"] = [29780] let s:lib.Codec.decoding_table["172,135"] = [29782] let s:lib.Codec.decoding_table["172,136"] = [29784] let s:lib.Codec.decoding_table["172,137"] = [29789] let s:lib.Codec.decoding_table["172,138"] = [29792] let s:lib.Codec.decoding_table["172,139"] = [29793] let s:lib.Codec.decoding_table["172,140"] = [29794] let s:lib.Codec.decoding_table["172,141"] = [29795] let s:lib.Codec.decoding_table["172,142"] = [29796] let s:lib.Codec.decoding_table["172,143"] = [29797] let s:lib.Codec.decoding_table["172,144"] = [29798] let s:lib.Codec.decoding_table["172,145"] = [29799] let s:lib.Codec.decoding_table["172,146"] = [29800] let s:lib.Codec.decoding_table["172,147"] = [29801] let s:lib.Codec.decoding_table["172,148"] = [29802] let s:lib.Codec.decoding_table["172,149"] = [29803] let s:lib.Codec.decoding_table["172,150"] = [29804] let s:lib.Codec.decoding_table["172,151"] = [29806] let s:lib.Codec.decoding_table["172,152"] = [29807] let s:lib.Codec.decoding_table["172,153"] = [29809] let s:lib.Codec.decoding_table["172,154"] = [29810] let s:lib.Codec.decoding_table["172,155"] = [29811] let s:lib.Codec.decoding_table["172,156"] = [29812] let s:lib.Codec.decoding_table["172,157"] = [29813] let s:lib.Codec.decoding_table["172,158"] = [29816] let s:lib.Codec.decoding_table["172,159"] = [29817] let s:lib.Codec.decoding_table["172,160"] = [29818] let s:lib.Codec.decoding_table["173,64"] = [29819] let s:lib.Codec.decoding_table["173,65"] = [29820] let s:lib.Codec.decoding_table["173,66"] = [29821] let s:lib.Codec.decoding_table["173,67"] = [29823] let s:lib.Codec.decoding_table["173,68"] = [29826] let s:lib.Codec.decoding_table["173,69"] = [29828] let s:lib.Codec.decoding_table["173,70"] = [29829] let s:lib.Codec.decoding_table["173,71"] = [29830] let s:lib.Codec.decoding_table["173,72"] = [29832] let s:lib.Codec.decoding_table["173,73"] = [29833] let s:lib.Codec.decoding_table["173,74"] = [29834] let s:lib.Codec.decoding_table["173,75"] = [29836] let s:lib.Codec.decoding_table["173,76"] = [29837] let s:lib.Codec.decoding_table["173,77"] = [29839] let s:lib.Codec.decoding_table["173,78"] = [29841] let s:lib.Codec.decoding_table["173,79"] = [29842] let s:lib.Codec.decoding_table["173,80"] = [29843] let s:lib.Codec.decoding_table["173,81"] = [29844] let s:lib.Codec.decoding_table["173,82"] = [29845] let s:lib.Codec.decoding_table["173,83"] = [29846] let s:lib.Codec.decoding_table["173,84"] = [29847] let s:lib.Codec.decoding_table["173,85"] = [29848] let s:lib.Codec.decoding_table["173,86"] = [29849] let s:lib.Codec.decoding_table["173,87"] = [29850] let s:lib.Codec.decoding_table["173,88"] = [29851] let s:lib.Codec.decoding_table["173,89"] = [29853] let s:lib.Codec.decoding_table["173,90"] = [29855] let s:lib.Codec.decoding_table["173,91"] = [29856] let s:lib.Codec.decoding_table["173,92"] = [29857] let s:lib.Codec.decoding_table["173,93"] = [29858] let s:lib.Codec.decoding_table["173,94"] = [29859] let s:lib.Codec.decoding_table["173,95"] = [29860] let s:lib.Codec.decoding_table["173,96"] = [29861] let s:lib.Codec.decoding_table["173,97"] = [29862] let s:lib.Codec.decoding_table["173,98"] = [29866] let s:lib.Codec.decoding_table["173,99"] = [29867] let s:lib.Codec.decoding_table["173,100"] = [29868] let s:lib.Codec.decoding_table["173,101"] = [29869] let s:lib.Codec.decoding_table["173,102"] = [29870] let s:lib.Codec.decoding_table["173,103"] = [29871] let s:lib.Codec.decoding_table["173,104"] = [29872] let s:lib.Codec.decoding_table["173,105"] = [29873] let s:lib.Codec.decoding_table["173,106"] = [29874] let s:lib.Codec.decoding_table["173,107"] = [29875] let s:lib.Codec.decoding_table["173,108"] = [29876] let s:lib.Codec.decoding_table["173,109"] = [29877] let s:lib.Codec.decoding_table["173,110"] = [29878] let s:lib.Codec.decoding_table["173,111"] = [29879] let s:lib.Codec.decoding_table["173,112"] = [29880] let s:lib.Codec.decoding_table["173,113"] = [29881] let s:lib.Codec.decoding_table["173,114"] = [29883] let s:lib.Codec.decoding_table["173,115"] = [29884] let s:lib.Codec.decoding_table["173,116"] = [29885] let s:lib.Codec.decoding_table["173,117"] = [29886] let s:lib.Codec.decoding_table["173,118"] = [29887] let s:lib.Codec.decoding_table["173,119"] = [29888] let s:lib.Codec.decoding_table["173,120"] = [29889] let s:lib.Codec.decoding_table["173,121"] = [29890] let s:lib.Codec.decoding_table["173,122"] = [29891] let s:lib.Codec.decoding_table["173,123"] = [29892] let s:lib.Codec.decoding_table["173,124"] = [29893] let s:lib.Codec.decoding_table["173,125"] = [29894] let s:lib.Codec.decoding_table["173,126"] = [29895] let s:lib.Codec.decoding_table["173,128"] = [29896] let s:lib.Codec.decoding_table["173,129"] = [29897] let s:lib.Codec.decoding_table["173,130"] = [29898] let s:lib.Codec.decoding_table["173,131"] = [29899] let s:lib.Codec.decoding_table["173,132"] = [29900] let s:lib.Codec.decoding_table["173,133"] = [29901] let s:lib.Codec.decoding_table["173,134"] = [29902] let s:lib.Codec.decoding_table["173,135"] = [29903] let s:lib.Codec.decoding_table["173,136"] = [29904] let s:lib.Codec.decoding_table["173,137"] = [29905] let s:lib.Codec.decoding_table["173,138"] = [29907] let s:lib.Codec.decoding_table["173,139"] = [29908] let s:lib.Codec.decoding_table["173,140"] = [29909] let s:lib.Codec.decoding_table["173,141"] = [29910] let s:lib.Codec.decoding_table["173,142"] = [29911] let s:lib.Codec.decoding_table["173,143"] = [29912] let s:lib.Codec.decoding_table["173,144"] = [29913] let s:lib.Codec.decoding_table["173,145"] = [29914] let s:lib.Codec.decoding_table["173,146"] = [29915] let s:lib.Codec.decoding_table["173,147"] = [29917] let s:lib.Codec.decoding_table["173,148"] = [29919] let s:lib.Codec.decoding_table["173,149"] = [29921] let s:lib.Codec.decoding_table["173,150"] = [29925] let s:lib.Codec.decoding_table["173,151"] = [29927] let s:lib.Codec.decoding_table["173,152"] = [29928] let s:lib.Codec.decoding_table["173,153"] = [29929] let s:lib.Codec.decoding_table["173,154"] = [29930] let s:lib.Codec.decoding_table["173,155"] = [29931] let s:lib.Codec.decoding_table["173,156"] = [29932] let s:lib.Codec.decoding_table["173,157"] = [29933] let s:lib.Codec.decoding_table["173,158"] = [29936] let s:lib.Codec.decoding_table["173,159"] = [29937] let s:lib.Codec.decoding_table["173,160"] = [29938] let s:lib.Codec.decoding_table["174,64"] = [29939] let s:lib.Codec.decoding_table["174,65"] = [29941] let s:lib.Codec.decoding_table["174,66"] = [29944] let s:lib.Codec.decoding_table["174,67"] = [29945] let s:lib.Codec.decoding_table["174,68"] = [29946] let s:lib.Codec.decoding_table["174,69"] = [29947] let s:lib.Codec.decoding_table["174,70"] = [29948] let s:lib.Codec.decoding_table["174,71"] = [29949] let s:lib.Codec.decoding_table["174,72"] = [29950] let s:lib.Codec.decoding_table["174,73"] = [29952] let s:lib.Codec.decoding_table["174,74"] = [29953] let s:lib.Codec.decoding_table["174,75"] = [29954] let s:lib.Codec.decoding_table["174,76"] = [29955] let s:lib.Codec.decoding_table["174,77"] = [29957] let s:lib.Codec.decoding_table["174,78"] = [29958] let s:lib.Codec.decoding_table["174,79"] = [29959] let s:lib.Codec.decoding_table["174,80"] = [29960] let s:lib.Codec.decoding_table["174,81"] = [29961] let s:lib.Codec.decoding_table["174,82"] = [29962] let s:lib.Codec.decoding_table["174,83"] = [29963] let s:lib.Codec.decoding_table["174,84"] = [29964] let s:lib.Codec.decoding_table["174,85"] = [29966] let s:lib.Codec.decoding_table["174,86"] = [29968] let s:lib.Codec.decoding_table["174,87"] = [29970] let s:lib.Codec.decoding_table["174,88"] = [29972] let s:lib.Codec.decoding_table["174,89"] = [29973] let s:lib.Codec.decoding_table["174,90"] = [29974] let s:lib.Codec.decoding_table["174,91"] = [29975] let s:lib.Codec.decoding_table["174,92"] = [29979] let s:lib.Codec.decoding_table["174,93"] = [29981] let s:lib.Codec.decoding_table["174,94"] = [29982] let s:lib.Codec.decoding_table["174,95"] = [29984] let s:lib.Codec.decoding_table["174,96"] = [29985] let s:lib.Codec.decoding_table["174,97"] = [29986] let s:lib.Codec.decoding_table["174,98"] = [29987] let s:lib.Codec.decoding_table["174,99"] = [29988] let s:lib.Codec.decoding_table["174,100"] = [29990] let s:lib.Codec.decoding_table["174,101"] = [29991] let s:lib.Codec.decoding_table["174,102"] = [29994] let s:lib.Codec.decoding_table["174,103"] = [29998] let s:lib.Codec.decoding_table["174,104"] = [30004] let s:lib.Codec.decoding_table["174,105"] = [30006] let s:lib.Codec.decoding_table["174,106"] = [30009] let s:lib.Codec.decoding_table["174,107"] = [30012] let s:lib.Codec.decoding_table["174,108"] = [30013] let s:lib.Codec.decoding_table["174,109"] = [30015] let s:lib.Codec.decoding_table["174,110"] = [30017] let s:lib.Codec.decoding_table["174,111"] = [30018] let s:lib.Codec.decoding_table["174,112"] = [30019] let s:lib.Codec.decoding_table["174,113"] = [30020] let s:lib.Codec.decoding_table["174,114"] = [30022] let s:lib.Codec.decoding_table["174,115"] = [30023] let s:lib.Codec.decoding_table["174,116"] = [30025] let s:lib.Codec.decoding_table["174,117"] = [30026] let s:lib.Codec.decoding_table["174,118"] = [30029] let s:lib.Codec.decoding_table["174,119"] = [30032] let s:lib.Codec.decoding_table["174,120"] = [30033] let s:lib.Codec.decoding_table["174,121"] = [30034] let s:lib.Codec.decoding_table["174,122"] = [30035] let s:lib.Codec.decoding_table["174,123"] = [30037] let s:lib.Codec.decoding_table["174,124"] = [30038] let s:lib.Codec.decoding_table["174,125"] = [30039] let s:lib.Codec.decoding_table["174,126"] = [30040] let s:lib.Codec.decoding_table["174,128"] = [30045] let s:lib.Codec.decoding_table["174,129"] = [30046] let s:lib.Codec.decoding_table["174,130"] = [30047] let s:lib.Codec.decoding_table["174,131"] = [30048] let s:lib.Codec.decoding_table["174,132"] = [30049] let s:lib.Codec.decoding_table["174,133"] = [30050] let s:lib.Codec.decoding_table["174,134"] = [30051] let s:lib.Codec.decoding_table["174,135"] = [30052] let s:lib.Codec.decoding_table["174,136"] = [30055] let s:lib.Codec.decoding_table["174,137"] = [30056] let s:lib.Codec.decoding_table["174,138"] = [30057] let s:lib.Codec.decoding_table["174,139"] = [30059] let s:lib.Codec.decoding_table["174,140"] = [30060] let s:lib.Codec.decoding_table["174,141"] = [30061] let s:lib.Codec.decoding_table["174,142"] = [30062] let s:lib.Codec.decoding_table["174,143"] = [30063] let s:lib.Codec.decoding_table["174,144"] = [30064] let s:lib.Codec.decoding_table["174,145"] = [30065] let s:lib.Codec.decoding_table["174,146"] = [30067] let s:lib.Codec.decoding_table["174,147"] = [30069] let s:lib.Codec.decoding_table["174,148"] = [30070] let s:lib.Codec.decoding_table["174,149"] = [30071] let s:lib.Codec.decoding_table["174,150"] = [30074] let s:lib.Codec.decoding_table["174,151"] = [30075] let s:lib.Codec.decoding_table["174,152"] = [30076] let s:lib.Codec.decoding_table["174,153"] = [30077] let s:lib.Codec.decoding_table["174,154"] = [30078] let s:lib.Codec.decoding_table["174,155"] = [30080] let s:lib.Codec.decoding_table["174,156"] = [30081] let s:lib.Codec.decoding_table["174,157"] = [30082] let s:lib.Codec.decoding_table["174,158"] = [30084] let s:lib.Codec.decoding_table["174,159"] = [30085] let s:lib.Codec.decoding_table["174,160"] = [30087] let s:lib.Codec.decoding_table["175,64"] = [30088] let s:lib.Codec.decoding_table["175,65"] = [30089] let s:lib.Codec.decoding_table["175,66"] = [30090] let s:lib.Codec.decoding_table["175,67"] = [30092] let s:lib.Codec.decoding_table["175,68"] = [30093] let s:lib.Codec.decoding_table["175,69"] = [30094] let s:lib.Codec.decoding_table["175,70"] = [30096] let s:lib.Codec.decoding_table["175,71"] = [30099] let s:lib.Codec.decoding_table["175,72"] = [30101] let s:lib.Codec.decoding_table["175,73"] = [30104] let s:lib.Codec.decoding_table["175,74"] = [30107] let s:lib.Codec.decoding_table["175,75"] = [30108] let s:lib.Codec.decoding_table["175,76"] = [30110] let s:lib.Codec.decoding_table["175,77"] = [30114] let s:lib.Codec.decoding_table["175,78"] = [30118] let s:lib.Codec.decoding_table["175,79"] = [30119] let s:lib.Codec.decoding_table["175,80"] = [30120] let s:lib.Codec.decoding_table["175,81"] = [30121] let s:lib.Codec.decoding_table["175,82"] = [30122] let s:lib.Codec.decoding_table["175,83"] = [30125] let s:lib.Codec.decoding_table["175,84"] = [30134] let s:lib.Codec.decoding_table["175,85"] = [30135] let s:lib.Codec.decoding_table["175,86"] = [30138] let s:lib.Codec.decoding_table["175,87"] = [30139] let s:lib.Codec.decoding_table["175,88"] = [30143] let s:lib.Codec.decoding_table["175,89"] = [30144] let s:lib.Codec.decoding_table["175,90"] = [30145] let s:lib.Codec.decoding_table["175,91"] = [30150] let s:lib.Codec.decoding_table["175,92"] = [30155] let s:lib.Codec.decoding_table["175,93"] = [30156] let s:lib.Codec.decoding_table["175,94"] = [30158] let s:lib.Codec.decoding_table["175,95"] = [30159] let s:lib.Codec.decoding_table["175,96"] = [30160] let s:lib.Codec.decoding_table["175,97"] = [30161] let s:lib.Codec.decoding_table["175,98"] = [30163] let s:lib.Codec.decoding_table["175,99"] = [30167] let s:lib.Codec.decoding_table["175,100"] = [30169] let s:lib.Codec.decoding_table["175,101"] = [30170] let s:lib.Codec.decoding_table["175,102"] = [30172] let s:lib.Codec.decoding_table["175,103"] = [30173] let s:lib.Codec.decoding_table["175,104"] = [30175] let s:lib.Codec.decoding_table["175,105"] = [30176] let s:lib.Codec.decoding_table["175,106"] = [30177] let s:lib.Codec.decoding_table["175,107"] = [30181] let s:lib.Codec.decoding_table["175,108"] = [30185] let s:lib.Codec.decoding_table["175,109"] = [30188] let s:lib.Codec.decoding_table["175,110"] = [30189] let s:lib.Codec.decoding_table["175,111"] = [30190] let s:lib.Codec.decoding_table["175,112"] = [30191] let s:lib.Codec.decoding_table["175,113"] = [30194] let s:lib.Codec.decoding_table["175,114"] = [30195] let s:lib.Codec.decoding_table["175,115"] = [30197] let s:lib.Codec.decoding_table["175,116"] = [30198] let s:lib.Codec.decoding_table["175,117"] = [30199] let s:lib.Codec.decoding_table["175,118"] = [30200] let s:lib.Codec.decoding_table["175,119"] = [30202] let s:lib.Codec.decoding_table["175,120"] = [30203] let s:lib.Codec.decoding_table["175,121"] = [30205] let s:lib.Codec.decoding_table["175,122"] = [30206] let s:lib.Codec.decoding_table["175,123"] = [30210] let s:lib.Codec.decoding_table["175,124"] = [30212] let s:lib.Codec.decoding_table["175,125"] = [30214] let s:lib.Codec.decoding_table["175,126"] = [30215] let s:lib.Codec.decoding_table["175,128"] = [30216] let s:lib.Codec.decoding_table["175,129"] = [30217] let s:lib.Codec.decoding_table["175,130"] = [30219] let s:lib.Codec.decoding_table["175,131"] = [30221] let s:lib.Codec.decoding_table["175,132"] = [30222] let s:lib.Codec.decoding_table["175,133"] = [30223] let s:lib.Codec.decoding_table["175,134"] = [30225] let s:lib.Codec.decoding_table["175,135"] = [30226] let s:lib.Codec.decoding_table["175,136"] = [30227] let s:lib.Codec.decoding_table["175,137"] = [30228] let s:lib.Codec.decoding_table["175,138"] = [30230] let s:lib.Codec.decoding_table["175,139"] = [30234] let s:lib.Codec.decoding_table["175,140"] = [30236] let s:lib.Codec.decoding_table["175,141"] = [30237] let s:lib.Codec.decoding_table["175,142"] = [30238] let s:lib.Codec.decoding_table["175,143"] = [30241] let s:lib.Codec.decoding_table["175,144"] = [30243] let s:lib.Codec.decoding_table["175,145"] = [30247] let s:lib.Codec.decoding_table["175,146"] = [30248] let s:lib.Codec.decoding_table["175,147"] = [30252] let s:lib.Codec.decoding_table["175,148"] = [30254] let s:lib.Codec.decoding_table["175,149"] = [30255] let s:lib.Codec.decoding_table["175,150"] = [30257] let s:lib.Codec.decoding_table["175,151"] = [30258] let s:lib.Codec.decoding_table["175,152"] = [30262] let s:lib.Codec.decoding_table["175,153"] = [30263] let s:lib.Codec.decoding_table["175,154"] = [30265] let s:lib.Codec.decoding_table["175,155"] = [30266] let s:lib.Codec.decoding_table["175,156"] = [30267] let s:lib.Codec.decoding_table["175,157"] = [30269] let s:lib.Codec.decoding_table["175,158"] = [30273] let s:lib.Codec.decoding_table["175,159"] = [30274] let s:lib.Codec.decoding_table["175,160"] = [30276] let s:lib.Codec.decoding_table["176,64"] = [30277] let s:lib.Codec.decoding_table["176,65"] = [30278] let s:lib.Codec.decoding_table["176,66"] = [30279] let s:lib.Codec.decoding_table["176,67"] = [30280] let s:lib.Codec.decoding_table["176,68"] = [30281] let s:lib.Codec.decoding_table["176,69"] = [30282] let s:lib.Codec.decoding_table["176,70"] = [30283] let s:lib.Codec.decoding_table["176,71"] = [30286] let s:lib.Codec.decoding_table["176,72"] = [30287] let s:lib.Codec.decoding_table["176,73"] = [30288] let s:lib.Codec.decoding_table["176,74"] = [30289] let s:lib.Codec.decoding_table["176,75"] = [30290] let s:lib.Codec.decoding_table["176,76"] = [30291] let s:lib.Codec.decoding_table["176,77"] = [30293] let s:lib.Codec.decoding_table["176,78"] = [30295] let s:lib.Codec.decoding_table["176,79"] = [30296] let s:lib.Codec.decoding_table["176,80"] = [30297] let s:lib.Codec.decoding_table["176,81"] = [30298] let s:lib.Codec.decoding_table["176,82"] = [30299] let s:lib.Codec.decoding_table["176,83"] = [30301] let s:lib.Codec.decoding_table["176,84"] = [30303] let s:lib.Codec.decoding_table["176,85"] = [30304] let s:lib.Codec.decoding_table["176,86"] = [30305] let s:lib.Codec.decoding_table["176,87"] = [30306] let s:lib.Codec.decoding_table["176,88"] = [30308] let s:lib.Codec.decoding_table["176,89"] = [30309] let s:lib.Codec.decoding_table["176,90"] = [30310] let s:lib.Codec.decoding_table["176,91"] = [30311] let s:lib.Codec.decoding_table["176,92"] = [30312] let s:lib.Codec.decoding_table["176,93"] = [30313] let s:lib.Codec.decoding_table["176,94"] = [30314] let s:lib.Codec.decoding_table["176,95"] = [30316] let s:lib.Codec.decoding_table["176,96"] = [30317] let s:lib.Codec.decoding_table["176,97"] = [30318] let s:lib.Codec.decoding_table["176,98"] = [30320] let s:lib.Codec.decoding_table["176,99"] = [30321] let s:lib.Codec.decoding_table["176,100"] = [30322] let s:lib.Codec.decoding_table["176,101"] = [30323] let s:lib.Codec.decoding_table["176,102"] = [30324] let s:lib.Codec.decoding_table["176,103"] = [30325] let s:lib.Codec.decoding_table["176,104"] = [30326] let s:lib.Codec.decoding_table["176,105"] = [30327] let s:lib.Codec.decoding_table["176,106"] = [30329] let s:lib.Codec.decoding_table["176,107"] = [30330] let s:lib.Codec.decoding_table["176,108"] = [30332] let s:lib.Codec.decoding_table["176,109"] = [30335] let s:lib.Codec.decoding_table["176,110"] = [30336] let s:lib.Codec.decoding_table["176,111"] = [30337] let s:lib.Codec.decoding_table["176,112"] = [30339] let s:lib.Codec.decoding_table["176,113"] = [30341] let s:lib.Codec.decoding_table["176,114"] = [30345] let s:lib.Codec.decoding_table["176,115"] = [30346] let s:lib.Codec.decoding_table["176,116"] = [30348] let s:lib.Codec.decoding_table["176,117"] = [30349] let s:lib.Codec.decoding_table["176,118"] = [30351] let s:lib.Codec.decoding_table["176,119"] = [30352] let s:lib.Codec.decoding_table["176,120"] = [30354] let s:lib.Codec.decoding_table["176,121"] = [30356] let s:lib.Codec.decoding_table["176,122"] = [30357] let s:lib.Codec.decoding_table["176,123"] = [30359] let s:lib.Codec.decoding_table["176,124"] = [30360] let s:lib.Codec.decoding_table["176,125"] = [30362] let s:lib.Codec.decoding_table["176,126"] = [30363] let s:lib.Codec.decoding_table["176,128"] = [30364] let s:lib.Codec.decoding_table["176,129"] = [30365] let s:lib.Codec.decoding_table["176,130"] = [30366] let s:lib.Codec.decoding_table["176,131"] = [30367] let s:lib.Codec.decoding_table["176,132"] = [30368] let s:lib.Codec.decoding_table["176,133"] = [30369] let s:lib.Codec.decoding_table["176,134"] = [30370] let s:lib.Codec.decoding_table["176,135"] = [30371] let s:lib.Codec.decoding_table["176,136"] = [30373] let s:lib.Codec.decoding_table["176,137"] = [30374] let s:lib.Codec.decoding_table["176,138"] = [30375] let s:lib.Codec.decoding_table["176,139"] = [30376] let s:lib.Codec.decoding_table["176,140"] = [30377] let s:lib.Codec.decoding_table["176,141"] = [30378] let s:lib.Codec.decoding_table["176,142"] = [30379] let s:lib.Codec.decoding_table["176,143"] = [30380] let s:lib.Codec.decoding_table["176,144"] = [30381] let s:lib.Codec.decoding_table["176,145"] = [30383] let s:lib.Codec.decoding_table["176,146"] = [30384] let s:lib.Codec.decoding_table["176,147"] = [30387] let s:lib.Codec.decoding_table["176,148"] = [30389] let s:lib.Codec.decoding_table["176,149"] = [30390] let s:lib.Codec.decoding_table["176,150"] = [30391] let s:lib.Codec.decoding_table["176,151"] = [30392] let s:lib.Codec.decoding_table["176,152"] = [30393] let s:lib.Codec.decoding_table["176,153"] = [30394] let s:lib.Codec.decoding_table["176,154"] = [30395] let s:lib.Codec.decoding_table["176,155"] = [30396] let s:lib.Codec.decoding_table["176,156"] = [30397] let s:lib.Codec.decoding_table["176,157"] = [30398] let s:lib.Codec.decoding_table["176,158"] = [30400] let s:lib.Codec.decoding_table["176,159"] = [30401] let s:lib.Codec.decoding_table["176,160"] = [30403] let s:lib.Codec.decoding_table["176,161"] = [21834] let s:lib.Codec.decoding_table["176,162"] = [38463] let s:lib.Codec.decoding_table["176,163"] = [22467] let s:lib.Codec.decoding_table["176,164"] = [25384] let s:lib.Codec.decoding_table["176,165"] = [21710] let s:lib.Codec.decoding_table["176,166"] = [21769] let s:lib.Codec.decoding_table["176,167"] = [21696] let s:lib.Codec.decoding_table["176,168"] = [30353] let s:lib.Codec.decoding_table["176,169"] = [30284] let s:lib.Codec.decoding_table["176,170"] = [34108] let s:lib.Codec.decoding_table["176,171"] = [30702] let s:lib.Codec.decoding_table["176,172"] = [33406] let s:lib.Codec.decoding_table["176,173"] = [30861] let s:lib.Codec.decoding_table["176,174"] = [29233] let s:lib.Codec.decoding_table["176,175"] = [38552] let s:lib.Codec.decoding_table["176,176"] = [38797] let s:lib.Codec.decoding_table["176,177"] = [27688] let s:lib.Codec.decoding_table["176,178"] = [23433] let s:lib.Codec.decoding_table["176,179"] = [20474] let s:lib.Codec.decoding_table["176,180"] = [25353] let s:lib.Codec.decoding_table["176,181"] = [26263] let s:lib.Codec.decoding_table["176,182"] = [23736] let s:lib.Codec.decoding_table["176,183"] = [33018] let s:lib.Codec.decoding_table["176,184"] = [26696] let s:lib.Codec.decoding_table["176,185"] = [32942] let s:lib.Codec.decoding_table["176,186"] = [26114] let s:lib.Codec.decoding_table["176,187"] = [30414] let s:lib.Codec.decoding_table["176,188"] = [20985] let s:lib.Codec.decoding_table["176,189"] = [25942] let s:lib.Codec.decoding_table["176,190"] = [29100] let s:lib.Codec.decoding_table["176,191"] = [32753] let s:lib.Codec.decoding_table["176,192"] = [34948] let s:lib.Codec.decoding_table["176,193"] = [20658] let s:lib.Codec.decoding_table["176,194"] = [22885] let s:lib.Codec.decoding_table["176,195"] = [25034] let s:lib.Codec.decoding_table["176,196"] = [28595] let s:lib.Codec.decoding_table["176,197"] = [33453] let s:lib.Codec.decoding_table["176,198"] = [25420] let s:lib.Codec.decoding_table["176,199"] = [25170] let s:lib.Codec.decoding_table["176,200"] = [21485] let s:lib.Codec.decoding_table["176,201"] = [21543] let s:lib.Codec.decoding_table["176,202"] = [31494] let s:lib.Codec.decoding_table["176,203"] = [20843] let s:lib.Codec.decoding_table["176,204"] = [30116] let s:lib.Codec.decoding_table["176,205"] = [24052] let s:lib.Codec.decoding_table["176,206"] = [25300] let s:lib.Codec.decoding_table["176,207"] = [36299] let s:lib.Codec.decoding_table["176,208"] = [38774] let s:lib.Codec.decoding_table["176,209"] = [25226] let s:lib.Codec.decoding_table["176,210"] = [32793] let s:lib.Codec.decoding_table["176,211"] = [22365] let s:lib.Codec.decoding_table["176,212"] = [38712] let s:lib.Codec.decoding_table["176,213"] = [32610] let s:lib.Codec.decoding_table["176,214"] = [29240] let s:lib.Codec.decoding_table["176,215"] = [30333] let s:lib.Codec.decoding_table["176,216"] = [26575] let s:lib.Codec.decoding_table["176,217"] = [30334] let s:lib.Codec.decoding_table["176,218"] = [25670] let s:lib.Codec.decoding_table["176,219"] = [20336] let s:lib.Codec.decoding_table["176,220"] = [36133] let s:lib.Codec.decoding_table["176,221"] = [25308] let s:lib.Codec.decoding_table["176,222"] = [31255] let s:lib.Codec.decoding_table["176,223"] = [26001] let s:lib.Codec.decoding_table["176,224"] = [29677] let s:lib.Codec.decoding_table["176,225"] = [25644] let s:lib.Codec.decoding_table["176,226"] = [25203] let s:lib.Codec.decoding_table["176,227"] = [33324] let s:lib.Codec.decoding_table["176,228"] = [39041] let s:lib.Codec.decoding_table["176,229"] = [26495] let s:lib.Codec.decoding_table["176,230"] = [29256] let s:lib.Codec.decoding_table["176,231"] = [25198] let s:lib.Codec.decoding_table["176,232"] = [25292] let s:lib.Codec.decoding_table["176,233"] = [20276] let s:lib.Codec.decoding_table["176,234"] = [29923] let s:lib.Codec.decoding_table["176,235"] = [21322] let s:lib.Codec.decoding_table["176,236"] = [21150] let s:lib.Codec.decoding_table["176,237"] = [32458] let s:lib.Codec.decoding_table["176,238"] = [37030] let s:lib.Codec.decoding_table["176,239"] = [24110] let s:lib.Codec.decoding_table["176,240"] = [26758] let s:lib.Codec.decoding_table["176,241"] = [27036] let s:lib.Codec.decoding_table["176,242"] = [33152] let s:lib.Codec.decoding_table["176,243"] = [32465] let s:lib.Codec.decoding_table["176,244"] = [26834] let s:lib.Codec.decoding_table["176,245"] = [30917] let s:lib.Codec.decoding_table["176,246"] = [34444] let s:lib.Codec.decoding_table["176,247"] = [38225] let s:lib.Codec.decoding_table["176,248"] = [20621] let s:lib.Codec.decoding_table["176,249"] = [35876] let s:lib.Codec.decoding_table["176,250"] = [33502] let s:lib.Codec.decoding_table["176,251"] = [32990] let s:lib.Codec.decoding_table["176,252"] = [21253] let s:lib.Codec.decoding_table["176,253"] = [35090] let s:lib.Codec.decoding_table["176,254"] = [21093] let s:lib.Codec.decoding_table["177,64"] = [30404] let s:lib.Codec.decoding_table["177,65"] = [30407] let s:lib.Codec.decoding_table["177,66"] = [30409] let s:lib.Codec.decoding_table["177,67"] = [30411] let s:lib.Codec.decoding_table["177,68"] = [30412] let s:lib.Codec.decoding_table["177,69"] = [30419] let s:lib.Codec.decoding_table["177,70"] = [30421] let s:lib.Codec.decoding_table["177,71"] = [30425] let s:lib.Codec.decoding_table["177,72"] = [30426] let s:lib.Codec.decoding_table["177,73"] = [30428] let s:lib.Codec.decoding_table["177,74"] = [30429] let s:lib.Codec.decoding_table["177,75"] = [30430] let s:lib.Codec.decoding_table["177,76"] = [30432] let s:lib.Codec.decoding_table["177,77"] = [30433] let s:lib.Codec.decoding_table["177,78"] = [30434] let s:lib.Codec.decoding_table["177,79"] = [30435] let s:lib.Codec.decoding_table["177,80"] = [30436] let s:lib.Codec.decoding_table["177,81"] = [30438] let s:lib.Codec.decoding_table["177,82"] = [30439] let s:lib.Codec.decoding_table["177,83"] = [30440] let s:lib.Codec.decoding_table["177,84"] = [30441] let s:lib.Codec.decoding_table["177,85"] = [30442] let s:lib.Codec.decoding_table["177,86"] = [30443] let s:lib.Codec.decoding_table["177,87"] = [30444] let s:lib.Codec.decoding_table["177,88"] = [30445] let s:lib.Codec.decoding_table["177,89"] = [30448] let s:lib.Codec.decoding_table["177,90"] = [30451] let s:lib.Codec.decoding_table["177,91"] = [30453] let s:lib.Codec.decoding_table["177,92"] = [30454] let s:lib.Codec.decoding_table["177,93"] = [30455] let s:lib.Codec.decoding_table["177,94"] = [30458] let s:lib.Codec.decoding_table["177,95"] = [30459] let s:lib.Codec.decoding_table["177,96"] = [30461] let s:lib.Codec.decoding_table["177,97"] = [30463] let s:lib.Codec.decoding_table["177,98"] = [30464] let s:lib.Codec.decoding_table["177,99"] = [30466] let s:lib.Codec.decoding_table["177,100"] = [30467] let s:lib.Codec.decoding_table["177,101"] = [30469] let s:lib.Codec.decoding_table["177,102"] = [30470] let s:lib.Codec.decoding_table["177,103"] = [30474] let s:lib.Codec.decoding_table["177,104"] = [30476] let s:lib.Codec.decoding_table["177,105"] = [30478] let s:lib.Codec.decoding_table["177,106"] = [30479] let s:lib.Codec.decoding_table["177,107"] = [30480] let s:lib.Codec.decoding_table["177,108"] = [30481] let s:lib.Codec.decoding_table["177,109"] = [30482] let s:lib.Codec.decoding_table["177,110"] = [30483] let s:lib.Codec.decoding_table["177,111"] = [30484] let s:lib.Codec.decoding_table["177,112"] = [30485] let s:lib.Codec.decoding_table["177,113"] = [30486] let s:lib.Codec.decoding_table["177,114"] = [30487] let s:lib.Codec.decoding_table["177,115"] = [30488] let s:lib.Codec.decoding_table["177,116"] = [30491] let s:lib.Codec.decoding_table["177,117"] = [30492] let s:lib.Codec.decoding_table["177,118"] = [30493] let s:lib.Codec.decoding_table["177,119"] = [30494] let s:lib.Codec.decoding_table["177,120"] = [30497] let s:lib.Codec.decoding_table["177,121"] = [30499] let s:lib.Codec.decoding_table["177,122"] = [30500] let s:lib.Codec.decoding_table["177,123"] = [30501] let s:lib.Codec.decoding_table["177,124"] = [30503] let s:lib.Codec.decoding_table["177,125"] = [30506] let s:lib.Codec.decoding_table["177,126"] = [30507] let s:lib.Codec.decoding_table["177,128"] = [30508] let s:lib.Codec.decoding_table["177,129"] = [30510] let s:lib.Codec.decoding_table["177,130"] = [30512] let s:lib.Codec.decoding_table["177,131"] = [30513] let s:lib.Codec.decoding_table["177,132"] = [30514] let s:lib.Codec.decoding_table["177,133"] = [30515] let s:lib.Codec.decoding_table["177,134"] = [30516] let s:lib.Codec.decoding_table["177,135"] = [30521] let s:lib.Codec.decoding_table["177,136"] = [30523] let s:lib.Codec.decoding_table["177,137"] = [30525] let s:lib.Codec.decoding_table["177,138"] = [30526] let s:lib.Codec.decoding_table["177,139"] = [30527] let s:lib.Codec.decoding_table["177,140"] = [30530] let s:lib.Codec.decoding_table["177,141"] = [30532] let s:lib.Codec.decoding_table["177,142"] = [30533] let s:lib.Codec.decoding_table["177,143"] = [30534] let s:lib.Codec.decoding_table["177,144"] = [30536] let s:lib.Codec.decoding_table["177,145"] = [30537] let s:lib.Codec.decoding_table["177,146"] = [30538] let s:lib.Codec.decoding_table["177,147"] = [30539] let s:lib.Codec.decoding_table["177,148"] = [30540] let s:lib.Codec.decoding_table["177,149"] = [30541] let s:lib.Codec.decoding_table["177,150"] = [30542] let s:lib.Codec.decoding_table["177,151"] = [30543] let s:lib.Codec.decoding_table["177,152"] = [30546] let s:lib.Codec.decoding_table["177,153"] = [30547] let s:lib.Codec.decoding_table["177,154"] = [30548] let s:lib.Codec.decoding_table["177,155"] = [30549] let s:lib.Codec.decoding_table["177,156"] = [30550] let s:lib.Codec.decoding_table["177,157"] = [30551] let s:lib.Codec.decoding_table["177,158"] = [30552] let s:lib.Codec.decoding_table["177,159"] = [30553] let s:lib.Codec.decoding_table["177,160"] = [30556] let s:lib.Codec.decoding_table["177,161"] = [34180] let s:lib.Codec.decoding_table["177,162"] = [38649] let s:lib.Codec.decoding_table["177,163"] = [20445] let s:lib.Codec.decoding_table["177,164"] = [22561] let s:lib.Codec.decoding_table["177,165"] = [39281] let s:lib.Codec.decoding_table["177,166"] = [23453] let s:lib.Codec.decoding_table["177,167"] = [25265] let s:lib.Codec.decoding_table["177,168"] = [25253] let s:lib.Codec.decoding_table["177,169"] = [26292] let s:lib.Codec.decoding_table["177,170"] = [35961] let s:lib.Codec.decoding_table["177,171"] = [40077] let s:lib.Codec.decoding_table["177,172"] = [29190] let s:lib.Codec.decoding_table["177,173"] = [26479] let s:lib.Codec.decoding_table["177,174"] = [30865] let s:lib.Codec.decoding_table["177,175"] = [24754] let s:lib.Codec.decoding_table["177,176"] = [21329] let s:lib.Codec.decoding_table["177,177"] = [21271] let s:lib.Codec.decoding_table["177,178"] = [36744] let s:lib.Codec.decoding_table["177,179"] = [32972] let s:lib.Codec.decoding_table["177,180"] = [36125] let s:lib.Codec.decoding_table["177,181"] = [38049] let s:lib.Codec.decoding_table["177,182"] = [20493] let s:lib.Codec.decoding_table["177,183"] = [29384] let s:lib.Codec.decoding_table["177,184"] = [22791] let s:lib.Codec.decoding_table["177,185"] = [24811] let s:lib.Codec.decoding_table["177,186"] = [28953] let s:lib.Codec.decoding_table["177,187"] = [34987] let s:lib.Codec.decoding_table["177,188"] = [22868] let s:lib.Codec.decoding_table["177,189"] = [33519] let s:lib.Codec.decoding_table["177,190"] = [26412] let s:lib.Codec.decoding_table["177,191"] = [31528] let s:lib.Codec.decoding_table["177,192"] = [23849] let s:lib.Codec.decoding_table["177,193"] = [32503] let s:lib.Codec.decoding_table["177,194"] = [29997] let s:lib.Codec.decoding_table["177,195"] = [27893] let s:lib.Codec.decoding_table["177,196"] = [36454] let s:lib.Codec.decoding_table["177,197"] = [36856] let s:lib.Codec.decoding_table["177,198"] = [36924] let s:lib.Codec.decoding_table["177,199"] = [40763] let s:lib.Codec.decoding_table["177,200"] = [27604] let s:lib.Codec.decoding_table["177,201"] = [37145] let s:lib.Codec.decoding_table["177,202"] = [31508] let s:lib.Codec.decoding_table["177,203"] = [24444] let s:lib.Codec.decoding_table["177,204"] = [30887] let s:lib.Codec.decoding_table["177,205"] = [34006] let s:lib.Codec.decoding_table["177,206"] = [34109] let s:lib.Codec.decoding_table["177,207"] = [27605] let s:lib.Codec.decoding_table["177,208"] = [27609] let s:lib.Codec.decoding_table["177,209"] = [27606] let s:lib.Codec.decoding_table["177,210"] = [24065] let s:lib.Codec.decoding_table["177,211"] = [24199] let s:lib.Codec.decoding_table["177,212"] = [30201] let s:lib.Codec.decoding_table["177,213"] = [38381] let s:lib.Codec.decoding_table["177,214"] = [25949] let s:lib.Codec.decoding_table["177,215"] = [24330] let s:lib.Codec.decoding_table["177,216"] = [24517] let s:lib.Codec.decoding_table["177,217"] = [36767] let s:lib.Codec.decoding_table["177,218"] = [22721] let s:lib.Codec.decoding_table["177,219"] = [33218] let s:lib.Codec.decoding_table["177,220"] = [36991] let s:lib.Codec.decoding_table["177,221"] = [38491] let s:lib.Codec.decoding_table["177,222"] = [38829] let s:lib.Codec.decoding_table["177,223"] = [36793] let s:lib.Codec.decoding_table["177,224"] = [32534] let s:lib.Codec.decoding_table["177,225"] = [36140] let s:lib.Codec.decoding_table["177,226"] = [25153] let s:lib.Codec.decoding_table["177,227"] = [20415] let s:lib.Codec.decoding_table["177,228"] = [21464] let s:lib.Codec.decoding_table["177,229"] = [21342] let s:lib.Codec.decoding_table["177,230"] = [36776] let s:lib.Codec.decoding_table["177,231"] = [36777] let s:lib.Codec.decoding_table["177,232"] = [36779] let s:lib.Codec.decoding_table["177,233"] = [36941] let s:lib.Codec.decoding_table["177,234"] = [26631] let s:lib.Codec.decoding_table["177,235"] = [24426] let s:lib.Codec.decoding_table["177,236"] = [33176] let s:lib.Codec.decoding_table["177,237"] = [34920] let s:lib.Codec.decoding_table["177,238"] = [40150] let s:lib.Codec.decoding_table["177,239"] = [24971] let s:lib.Codec.decoding_table["177,240"] = [21035] let s:lib.Codec.decoding_table["177,241"] = [30250] let s:lib.Codec.decoding_table["177,242"] = [24428] let s:lib.Codec.decoding_table["177,243"] = [25996] let s:lib.Codec.decoding_table["177,244"] = [28626] let s:lib.Codec.decoding_table["177,245"] = [28392] let s:lib.Codec.decoding_table["177,246"] = [23486] let s:lib.Codec.decoding_table["177,247"] = [25672] let s:lib.Codec.decoding_table["177,248"] = [20853] let s:lib.Codec.decoding_table["177,249"] = [20912] let s:lib.Codec.decoding_table["177,250"] = [26564] let s:lib.Codec.decoding_table["177,251"] = [19993] let s:lib.Codec.decoding_table["177,252"] = [31177] let s:lib.Codec.decoding_table["177,253"] = [39292] let s:lib.Codec.decoding_table["177,254"] = [28851] let s:lib.Codec.decoding_table["178,64"] = [30557] let s:lib.Codec.decoding_table["178,65"] = [30558] let s:lib.Codec.decoding_table["178,66"] = [30559] let s:lib.Codec.decoding_table["178,67"] = [30560] let s:lib.Codec.decoding_table["178,68"] = [30564] let s:lib.Codec.decoding_table["178,69"] = [30567] let s:lib.Codec.decoding_table["178,70"] = [30569] let s:lib.Codec.decoding_table["178,71"] = [30570] let s:lib.Codec.decoding_table["178,72"] = [30573] let s:lib.Codec.decoding_table["178,73"] = [30574] let s:lib.Codec.decoding_table["178,74"] = [30575] let s:lib.Codec.decoding_table["178,75"] = [30576] let s:lib.Codec.decoding_table["178,76"] = [30577] let s:lib.Codec.decoding_table["178,77"] = [30578] let s:lib.Codec.decoding_table["178,78"] = [30579] let s:lib.Codec.decoding_table["178,79"] = [30580] let s:lib.Codec.decoding_table["178,80"] = [30581] let s:lib.Codec.decoding_table["178,81"] = [30582] let s:lib.Codec.decoding_table["178,82"] = [30583] let s:lib.Codec.decoding_table["178,83"] = [30584] let s:lib.Codec.decoding_table["178,84"] = [30586] let s:lib.Codec.decoding_table["178,85"] = [30587] let s:lib.Codec.decoding_table["178,86"] = [30588] let s:lib.Codec.decoding_table["178,87"] = [30593] let s:lib.Codec.decoding_table["178,88"] = [30594] let s:lib.Codec.decoding_table["178,89"] = [30595] let s:lib.Codec.decoding_table["178,90"] = [30598] let s:lib.Codec.decoding_table["178,91"] = [30599] let s:lib.Codec.decoding_table["178,92"] = [30600] let s:lib.Codec.decoding_table["178,93"] = [30601] let s:lib.Codec.decoding_table["178,94"] = [30602] let s:lib.Codec.decoding_table["178,95"] = [30603] let s:lib.Codec.decoding_table["178,96"] = [30607] let s:lib.Codec.decoding_table["178,97"] = [30608] let s:lib.Codec.decoding_table["178,98"] = [30611] let s:lib.Codec.decoding_table["178,99"] = [30612] let s:lib.Codec.decoding_table["178,100"] = [30613] let s:lib.Codec.decoding_table["178,101"] = [30614] let s:lib.Codec.decoding_table["178,102"] = [30615] let s:lib.Codec.decoding_table["178,103"] = [30616] let s:lib.Codec.decoding_table["178,104"] = [30617] let s:lib.Codec.decoding_table["178,105"] = [30618] let s:lib.Codec.decoding_table["178,106"] = [30619] let s:lib.Codec.decoding_table["178,107"] = [30620] let s:lib.Codec.decoding_table["178,108"] = [30621] let s:lib.Codec.decoding_table["178,109"] = [30622] let s:lib.Codec.decoding_table["178,110"] = [30625] let s:lib.Codec.decoding_table["178,111"] = [30627] let s:lib.Codec.decoding_table["178,112"] = [30628] let s:lib.Codec.decoding_table["178,113"] = [30630] let s:lib.Codec.decoding_table["178,114"] = [30632] let s:lib.Codec.decoding_table["178,115"] = [30635] let s:lib.Codec.decoding_table["178,116"] = [30637] let s:lib.Codec.decoding_table["178,117"] = [30638] let s:lib.Codec.decoding_table["178,118"] = [30639] let s:lib.Codec.decoding_table["178,119"] = [30641] let s:lib.Codec.decoding_table["178,120"] = [30642] let s:lib.Codec.decoding_table["178,121"] = [30644] let s:lib.Codec.decoding_table["178,122"] = [30646] let s:lib.Codec.decoding_table["178,123"] = [30647] let s:lib.Codec.decoding_table["178,124"] = [30648] let s:lib.Codec.decoding_table["178,125"] = [30649] let s:lib.Codec.decoding_table["178,126"] = [30650] let s:lib.Codec.decoding_table["178,128"] = [30652] let s:lib.Codec.decoding_table["178,129"] = [30654] let s:lib.Codec.decoding_table["178,130"] = [30656] let s:lib.Codec.decoding_table["178,131"] = [30657] let s:lib.Codec.decoding_table["178,132"] = [30658] let s:lib.Codec.decoding_table["178,133"] = [30659] let s:lib.Codec.decoding_table["178,134"] = [30660] let s:lib.Codec.decoding_table["178,135"] = [30661] let s:lib.Codec.decoding_table["178,136"] = [30662] let s:lib.Codec.decoding_table["178,137"] = [30663] let s:lib.Codec.decoding_table["178,138"] = [30664] let s:lib.Codec.decoding_table["178,139"] = [30665] let s:lib.Codec.decoding_table["178,140"] = [30666] let s:lib.Codec.decoding_table["178,141"] = [30667] let s:lib.Codec.decoding_table["178,142"] = [30668] let s:lib.Codec.decoding_table["178,143"] = [30670] let s:lib.Codec.decoding_table["178,144"] = [30671] let s:lib.Codec.decoding_table["178,145"] = [30672] let s:lib.Codec.decoding_table["178,146"] = [30673] let s:lib.Codec.decoding_table["178,147"] = [30674] let s:lib.Codec.decoding_table["178,148"] = [30675] let s:lib.Codec.decoding_table["178,149"] = [30676] let s:lib.Codec.decoding_table["178,150"] = [30677] let s:lib.Codec.decoding_table["178,151"] = [30678] let s:lib.Codec.decoding_table["178,152"] = [30680] let s:lib.Codec.decoding_table["178,153"] = [30681] let s:lib.Codec.decoding_table["178,154"] = [30682] let s:lib.Codec.decoding_table["178,155"] = [30685] let s:lib.Codec.decoding_table["178,156"] = [30686] let s:lib.Codec.decoding_table["178,157"] = [30687] let s:lib.Codec.decoding_table["178,158"] = [30688] let s:lib.Codec.decoding_table["178,159"] = [30689] let s:lib.Codec.decoding_table["178,160"] = [30692] let s:lib.Codec.decoding_table["178,161"] = [30149] let s:lib.Codec.decoding_table["178,162"] = [24182] let s:lib.Codec.decoding_table["178,163"] = [29627] let s:lib.Codec.decoding_table["178,164"] = [33760] let s:lib.Codec.decoding_table["178,165"] = [25773] let s:lib.Codec.decoding_table["178,166"] = [25320] let s:lib.Codec.decoding_table["178,167"] = [38069] let s:lib.Codec.decoding_table["178,168"] = [27874] let s:lib.Codec.decoding_table["178,169"] = [21338] let s:lib.Codec.decoding_table["178,170"] = [21187] let s:lib.Codec.decoding_table["178,171"] = [25615] let s:lib.Codec.decoding_table["178,172"] = [38082] let s:lib.Codec.decoding_table["178,173"] = [31636] let s:lib.Codec.decoding_table["178,174"] = [20271] let s:lib.Codec.decoding_table["178,175"] = [24091] let s:lib.Codec.decoding_table["178,176"] = [33334] let s:lib.Codec.decoding_table["178,177"] = [33046] let s:lib.Codec.decoding_table["178,178"] = [33162] let s:lib.Codec.decoding_table["178,179"] = [28196] let s:lib.Codec.decoding_table["178,180"] = [27850] let s:lib.Codec.decoding_table["178,181"] = [39539] let s:lib.Codec.decoding_table["178,182"] = [25429] let s:lib.Codec.decoding_table["178,183"] = [21340] let s:lib.Codec.decoding_table["178,184"] = [21754] let s:lib.Codec.decoding_table["178,185"] = [34917] let s:lib.Codec.decoding_table["178,186"] = [22496] let s:lib.Codec.decoding_table["178,187"] = [19981] let s:lib.Codec.decoding_table["178,188"] = [24067] let s:lib.Codec.decoding_table["178,189"] = [27493] let s:lib.Codec.decoding_table["178,190"] = [31807] let s:lib.Codec.decoding_table["178,191"] = [37096] let s:lib.Codec.decoding_table["178,192"] = [24598] let s:lib.Codec.decoding_table["178,193"] = [25830] let s:lib.Codec.decoding_table["178,194"] = [29468] let s:lib.Codec.decoding_table["178,195"] = [35009] let s:lib.Codec.decoding_table["178,196"] = [26448] let s:lib.Codec.decoding_table["178,197"] = [25165] let s:lib.Codec.decoding_table["178,198"] = [36130] let s:lib.Codec.decoding_table["178,199"] = [30572] let s:lib.Codec.decoding_table["178,200"] = [36393] let s:lib.Codec.decoding_table["178,201"] = [37319] let s:lib.Codec.decoding_table["178,202"] = [24425] let s:lib.Codec.decoding_table["178,203"] = [33756] let s:lib.Codec.decoding_table["178,204"] = [34081] let s:lib.Codec.decoding_table["178,205"] = [39184] let s:lib.Codec.decoding_table["178,206"] = [21442] let s:lib.Codec.decoding_table["178,207"] = [34453] let s:lib.Codec.decoding_table["178,208"] = [27531] let s:lib.Codec.decoding_table["178,209"] = [24813] let s:lib.Codec.decoding_table["178,210"] = [24808] let s:lib.Codec.decoding_table["178,211"] = [28799] let s:lib.Codec.decoding_table["178,212"] = [33485] let s:lib.Codec.decoding_table["178,213"] = [33329] let s:lib.Codec.decoding_table["178,214"] = [20179] let s:lib.Codec.decoding_table["178,215"] = [27815] let s:lib.Codec.decoding_table["178,216"] = [34255] let s:lib.Codec.decoding_table["178,217"] = [25805] let s:lib.Codec.decoding_table["178,218"] = [31961] let s:lib.Codec.decoding_table["178,219"] = [27133] let s:lib.Codec.decoding_table["178,220"] = [26361] let s:lib.Codec.decoding_table["178,221"] = [33609] let s:lib.Codec.decoding_table["178,222"] = [21397] let s:lib.Codec.decoding_table["178,223"] = [31574] let s:lib.Codec.decoding_table["178,224"] = [20391] let s:lib.Codec.decoding_table["178,225"] = [20876] let s:lib.Codec.decoding_table["178,226"] = [27979] let s:lib.Codec.decoding_table["178,227"] = [23618] let s:lib.Codec.decoding_table["178,228"] = [36461] let s:lib.Codec.decoding_table["178,229"] = [25554] let s:lib.Codec.decoding_table["178,230"] = [21449] let s:lib.Codec.decoding_table["178,231"] = [33580] let s:lib.Codec.decoding_table["178,232"] = [33590] let s:lib.Codec.decoding_table["178,233"] = [26597] let s:lib.Codec.decoding_table["178,234"] = [30900] let s:lib.Codec.decoding_table["178,235"] = [25661] let s:lib.Codec.decoding_table["178,236"] = [23519] let s:lib.Codec.decoding_table["178,237"] = [23700] let s:lib.Codec.decoding_table["178,238"] = [24046] let s:lib.Codec.decoding_table["178,239"] = [35815] let s:lib.Codec.decoding_table["178,240"] = [25286] let s:lib.Codec.decoding_table["178,241"] = [26612] let s:lib.Codec.decoding_table["178,242"] = [35962] let s:lib.Codec.decoding_table["178,243"] = [25600] let s:lib.Codec.decoding_table["178,244"] = [25530] let s:lib.Codec.decoding_table["178,245"] = [34633] let s:lib.Codec.decoding_table["178,246"] = [39307] let s:lib.Codec.decoding_table["178,247"] = [35863] let s:lib.Codec.decoding_table["178,248"] = [32544] let s:lib.Codec.decoding_table["178,249"] = [38130] let s:lib.Codec.decoding_table["178,250"] = [20135] let s:lib.Codec.decoding_table["178,251"] = [38416] let s:lib.Codec.decoding_table["178,252"] = [39076] let s:lib.Codec.decoding_table["178,253"] = [26124] let s:lib.Codec.decoding_table["178,254"] = [29462] let s:lib.Codec.decoding_table["179,64"] = [30694] let s:lib.Codec.decoding_table["179,65"] = [30696] let s:lib.Codec.decoding_table["179,66"] = [30698] let s:lib.Codec.decoding_table["179,67"] = [30703] let s:lib.Codec.decoding_table["179,68"] = [30704] let s:lib.Codec.decoding_table["179,69"] = [30705] let s:lib.Codec.decoding_table["179,70"] = [30706] let s:lib.Codec.decoding_table["179,71"] = [30708] let s:lib.Codec.decoding_table["179,72"] = [30709] let s:lib.Codec.decoding_table["179,73"] = [30711] let s:lib.Codec.decoding_table["179,74"] = [30713] let s:lib.Codec.decoding_table["179,75"] = [30714] let s:lib.Codec.decoding_table["179,76"] = [30715] let s:lib.Codec.decoding_table["179,77"] = [30716] let s:lib.Codec.decoding_table["179,78"] = [30723] let s:lib.Codec.decoding_table["179,79"] = [30724] let s:lib.Codec.decoding_table["179,80"] = [30725] let s:lib.Codec.decoding_table["179,81"] = [30726] let s:lib.Codec.decoding_table["179,82"] = [30727] let s:lib.Codec.decoding_table["179,83"] = [30728] let s:lib.Codec.decoding_table["179,84"] = [30730] let s:lib.Codec.decoding_table["179,85"] = [30731] let s:lib.Codec.decoding_table["179,86"] = [30734] let s:lib.Codec.decoding_table["179,87"] = [30735] let s:lib.Codec.decoding_table["179,88"] = [30736] let s:lib.Codec.decoding_table["179,89"] = [30739] let s:lib.Codec.decoding_table["179,90"] = [30741] let s:lib.Codec.decoding_table["179,91"] = [30745] let s:lib.Codec.decoding_table["179,92"] = [30747] let s:lib.Codec.decoding_table["179,93"] = [30750] let s:lib.Codec.decoding_table["179,94"] = [30752] let s:lib.Codec.decoding_table["179,95"] = [30753] let s:lib.Codec.decoding_table["179,96"] = [30754] let s:lib.Codec.decoding_table["179,97"] = [30756] let s:lib.Codec.decoding_table["179,98"] = [30760] let s:lib.Codec.decoding_table["179,99"] = [30762] let s:lib.Codec.decoding_table["179,100"] = [30763] let s:lib.Codec.decoding_table["179,101"] = [30766] let s:lib.Codec.decoding_table["179,102"] = [30767] let s:lib.Codec.decoding_table["179,103"] = [30769] let s:lib.Codec.decoding_table["179,104"] = [30770] let s:lib.Codec.decoding_table["179,105"] = [30771] let s:lib.Codec.decoding_table["179,106"] = [30773] let s:lib.Codec.decoding_table["179,107"] = [30774] let s:lib.Codec.decoding_table["179,108"] = [30781] let s:lib.Codec.decoding_table["179,109"] = [30783] let s:lib.Codec.decoding_table["179,110"] = [30785] let s:lib.Codec.decoding_table["179,111"] = [30786] let s:lib.Codec.decoding_table["179,112"] = [30787] let s:lib.Codec.decoding_table["179,113"] = [30788] let s:lib.Codec.decoding_table["179,114"] = [30790] let s:lib.Codec.decoding_table["179,115"] = [30792] let s:lib.Codec.decoding_table["179,116"] = [30793] let s:lib.Codec.decoding_table["179,117"] = [30794] let s:lib.Codec.decoding_table["179,118"] = [30795] let s:lib.Codec.decoding_table["179,119"] = [30797] let s:lib.Codec.decoding_table["179,120"] = [30799] let s:lib.Codec.decoding_table["179,121"] = [30801] let s:lib.Codec.decoding_table["179,122"] = [30803] let s:lib.Codec.decoding_table["179,123"] = [30804] let s:lib.Codec.decoding_table["179,124"] = [30808] let s:lib.Codec.decoding_table["179,125"] = [30809] let s:lib.Codec.decoding_table["179,126"] = [30810] let s:lib.Codec.decoding_table["179,128"] = [30811] let s:lib.Codec.decoding_table["179,129"] = [30812] let s:lib.Codec.decoding_table["179,130"] = [30814] let s:lib.Codec.decoding_table["179,131"] = [30815] let s:lib.Codec.decoding_table["179,132"] = [30816] let s:lib.Codec.decoding_table["179,133"] = [30817] let s:lib.Codec.decoding_table["179,134"] = [30818] let s:lib.Codec.decoding_table["179,135"] = [30819] let s:lib.Codec.decoding_table["179,136"] = [30820] let s:lib.Codec.decoding_table["179,137"] = [30821] let s:lib.Codec.decoding_table["179,138"] = [30822] let s:lib.Codec.decoding_table["179,139"] = [30823] let s:lib.Codec.decoding_table["179,140"] = [30824] let s:lib.Codec.decoding_table["179,141"] = [30825] let s:lib.Codec.decoding_table["179,142"] = [30831] let s:lib.Codec.decoding_table["179,143"] = [30832] let s:lib.Codec.decoding_table["179,144"] = [30833] let s:lib.Codec.decoding_table["179,145"] = [30834] let s:lib.Codec.decoding_table["179,146"] = [30835] let s:lib.Codec.decoding_table["179,147"] = [30836] let s:lib.Codec.decoding_table["179,148"] = [30837] let s:lib.Codec.decoding_table["179,149"] = [30838] let s:lib.Codec.decoding_table["179,150"] = [30840] let s:lib.Codec.decoding_table["179,151"] = [30841] let s:lib.Codec.decoding_table["179,152"] = [30842] let s:lib.Codec.decoding_table["179,153"] = [30843] let s:lib.Codec.decoding_table["179,154"] = [30845] let s:lib.Codec.decoding_table["179,155"] = [30846] let s:lib.Codec.decoding_table["179,156"] = [30847] let s:lib.Codec.decoding_table["179,157"] = [30848] let s:lib.Codec.decoding_table["179,158"] = [30849] let s:lib.Codec.decoding_table["179,159"] = [30850] let s:lib.Codec.decoding_table["179,160"] = [30851] let s:lib.Codec.decoding_table["179,161"] = [22330] let s:lib.Codec.decoding_table["179,162"] = [23581] let s:lib.Codec.decoding_table["179,163"] = [24120] let s:lib.Codec.decoding_table["179,164"] = [38271] let s:lib.Codec.decoding_table["179,165"] = [20607] let s:lib.Codec.decoding_table["179,166"] = [32928] let s:lib.Codec.decoding_table["179,167"] = [21378] let s:lib.Codec.decoding_table["179,168"] = [25950] let s:lib.Codec.decoding_table["179,169"] = [30021] let s:lib.Codec.decoding_table["179,170"] = [21809] let s:lib.Codec.decoding_table["179,171"] = [20513] let s:lib.Codec.decoding_table["179,172"] = [36229] let s:lib.Codec.decoding_table["179,173"] = [25220] let s:lib.Codec.decoding_table["179,174"] = [38046] let s:lib.Codec.decoding_table["179,175"] = [26397] let s:lib.Codec.decoding_table["179,176"] = [22066] let s:lib.Codec.decoding_table["179,177"] = [28526] let s:lib.Codec.decoding_table["179,178"] = [24034] let s:lib.Codec.decoding_table["179,179"] = [21557] let s:lib.Codec.decoding_table["179,180"] = [28818] let s:lib.Codec.decoding_table["179,181"] = [36710] let s:lib.Codec.decoding_table["179,182"] = [25199] let s:lib.Codec.decoding_table["179,183"] = [25764] let s:lib.Codec.decoding_table["179,184"] = [25507] let s:lib.Codec.decoding_table["179,185"] = [24443] let s:lib.Codec.decoding_table["179,186"] = [28552] let s:lib.Codec.decoding_table["179,187"] = [37108] let s:lib.Codec.decoding_table["179,188"] = [33251] let s:lib.Codec.decoding_table["179,189"] = [36784] let s:lib.Codec.decoding_table["179,190"] = [23576] let s:lib.Codec.decoding_table["179,191"] = [26216] let s:lib.Codec.decoding_table["179,192"] = [24561] let s:lib.Codec.decoding_table["179,193"] = [27785] let s:lib.Codec.decoding_table["179,194"] = [38472] let s:lib.Codec.decoding_table["179,195"] = [36225] let s:lib.Codec.decoding_table["179,196"] = [34924] let s:lib.Codec.decoding_table["179,197"] = [25745] let s:lib.Codec.decoding_table["179,198"] = [31216] let s:lib.Codec.decoding_table["179,199"] = [22478] let s:lib.Codec.decoding_table["179,200"] = [27225] let s:lib.Codec.decoding_table["179,201"] = [25104] let s:lib.Codec.decoding_table["179,202"] = [21576] let s:lib.Codec.decoding_table["179,203"] = [20056] let s:lib.Codec.decoding_table["179,204"] = [31243] let s:lib.Codec.decoding_table["179,205"] = [24809] let s:lib.Codec.decoding_table["179,206"] = [28548] let s:lib.Codec.decoding_table["179,207"] = [35802] let s:lib.Codec.decoding_table["179,208"] = [25215] let s:lib.Codec.decoding_table["179,209"] = [36894] let s:lib.Codec.decoding_table["179,210"] = [39563] let s:lib.Codec.decoding_table["179,211"] = [31204] let s:lib.Codec.decoding_table["179,212"] = [21507] let s:lib.Codec.decoding_table["179,213"] = [30196] let s:lib.Codec.decoding_table["179,214"] = [25345] let s:lib.Codec.decoding_table["179,215"] = [21273] let s:lib.Codec.decoding_table["179,216"] = [27744] let s:lib.Codec.decoding_table["179,217"] = [36831] let s:lib.Codec.decoding_table["179,218"] = [24347] let s:lib.Codec.decoding_table["179,219"] = [39536] let s:lib.Codec.decoding_table["179,220"] = [32827] let s:lib.Codec.decoding_table["179,221"] = [40831] let s:lib.Codec.decoding_table["179,222"] = [20360] let s:lib.Codec.decoding_table["179,223"] = [23610] let s:lib.Codec.decoding_table["179,224"] = [36196] let s:lib.Codec.decoding_table["179,225"] = [32709] let s:lib.Codec.decoding_table["179,226"] = [26021] let s:lib.Codec.decoding_table["179,227"] = [28861] let s:lib.Codec.decoding_table["179,228"] = [20805] let s:lib.Codec.decoding_table["179,229"] = [20914] let s:lib.Codec.decoding_table["179,230"] = [34411] let s:lib.Codec.decoding_table["179,231"] = [23815] let s:lib.Codec.decoding_table["179,232"] = [23456] let s:lib.Codec.decoding_table["179,233"] = [25277] let s:lib.Codec.decoding_table["179,234"] = [37228] let s:lib.Codec.decoding_table["179,235"] = [30068] let s:lib.Codec.decoding_table["179,236"] = [36364] let s:lib.Codec.decoding_table["179,237"] = [31264] let s:lib.Codec.decoding_table["179,238"] = [24833] let s:lib.Codec.decoding_table["179,239"] = [31609] let s:lib.Codec.decoding_table["179,240"] = [20167] let s:lib.Codec.decoding_table["179,241"] = [32504] let s:lib.Codec.decoding_table["179,242"] = [30597] let s:lib.Codec.decoding_table["179,243"] = [19985] let s:lib.Codec.decoding_table["179,244"] = [33261] let s:lib.Codec.decoding_table["179,245"] = [21021] let s:lib.Codec.decoding_table["179,246"] = [20986] let s:lib.Codec.decoding_table["179,247"] = [27249] let s:lib.Codec.decoding_table["179,248"] = [21416] let s:lib.Codec.decoding_table["179,249"] = [36487] let s:lib.Codec.decoding_table["179,250"] = [38148] let s:lib.Codec.decoding_table["179,251"] = [38607] let s:lib.Codec.decoding_table["179,252"] = [28353] let s:lib.Codec.decoding_table["179,253"] = [38500] let s:lib.Codec.decoding_table["179,254"] = [26970] let s:lib.Codec.decoding_table["180,64"] = [30852] let s:lib.Codec.decoding_table["180,65"] = [30853] let s:lib.Codec.decoding_table["180,66"] = [30854] let s:lib.Codec.decoding_table["180,67"] = [30856] let s:lib.Codec.decoding_table["180,68"] = [30858] let s:lib.Codec.decoding_table["180,69"] = [30859] let s:lib.Codec.decoding_table["180,70"] = [30863] let s:lib.Codec.decoding_table["180,71"] = [30864] let s:lib.Codec.decoding_table["180,72"] = [30866] let s:lib.Codec.decoding_table["180,73"] = [30868] let s:lib.Codec.decoding_table["180,74"] = [30869] let s:lib.Codec.decoding_table["180,75"] = [30870] let s:lib.Codec.decoding_table["180,76"] = [30873] let s:lib.Codec.decoding_table["180,77"] = [30877] let s:lib.Codec.decoding_table["180,78"] = [30878] let s:lib.Codec.decoding_table["180,79"] = [30880] let s:lib.Codec.decoding_table["180,80"] = [30882] let s:lib.Codec.decoding_table["180,81"] = [30884] let s:lib.Codec.decoding_table["180,82"] = [30886] let s:lib.Codec.decoding_table["180,83"] = [30888] let s:lib.Codec.decoding_table["180,84"] = [30889] let s:lib.Codec.decoding_table["180,85"] = [30890] let s:lib.Codec.decoding_table["180,86"] = [30891] let s:lib.Codec.decoding_table["180,87"] = [30892] let s:lib.Codec.decoding_table["180,88"] = [30893] let s:lib.Codec.decoding_table["180,89"] = [30894] let s:lib.Codec.decoding_table["180,90"] = [30895] let s:lib.Codec.decoding_table["180,91"] = [30901] let s:lib.Codec.decoding_table["180,92"] = [30902] let s:lib.Codec.decoding_table["180,93"] = [30903] let s:lib.Codec.decoding_table["180,94"] = [30904] let s:lib.Codec.decoding_table["180,95"] = [30906] let s:lib.Codec.decoding_table["180,96"] = [30907] let s:lib.Codec.decoding_table["180,97"] = [30908] let s:lib.Codec.decoding_table["180,98"] = [30909] let s:lib.Codec.decoding_table["180,99"] = [30911] let s:lib.Codec.decoding_table["180,100"] = [30912] let s:lib.Codec.decoding_table["180,101"] = [30914] let s:lib.Codec.decoding_table["180,102"] = [30915] let s:lib.Codec.decoding_table["180,103"] = [30916] let s:lib.Codec.decoding_table["180,104"] = [30918] let s:lib.Codec.decoding_table["180,105"] = [30919] let s:lib.Codec.decoding_table["180,106"] = [30920] let s:lib.Codec.decoding_table["180,107"] = [30924] let s:lib.Codec.decoding_table["180,108"] = [30925] let s:lib.Codec.decoding_table["180,109"] = [30926] let s:lib.Codec.decoding_table["180,110"] = [30927] let s:lib.Codec.decoding_table["180,111"] = [30929] let s:lib.Codec.decoding_table["180,112"] = [30930] let s:lib.Codec.decoding_table["180,113"] = [30931] let s:lib.Codec.decoding_table["180,114"] = [30934] let s:lib.Codec.decoding_table["180,115"] = [30935] let s:lib.Codec.decoding_table["180,116"] = [30936] let s:lib.Codec.decoding_table["180,117"] = [30938] let s:lib.Codec.decoding_table["180,118"] = [30939] let s:lib.Codec.decoding_table["180,119"] = [30940] let s:lib.Codec.decoding_table["180,120"] = [30941] let s:lib.Codec.decoding_table["180,121"] = [30942] let s:lib.Codec.decoding_table["180,122"] = [30943] let s:lib.Codec.decoding_table["180,123"] = [30944] let s:lib.Codec.decoding_table["180,124"] = [30945] let s:lib.Codec.decoding_table["180,125"] = [30946] let s:lib.Codec.decoding_table["180,126"] = [30947] let s:lib.Codec.decoding_table["180,128"] = [30948] let s:lib.Codec.decoding_table["180,129"] = [30949] let s:lib.Codec.decoding_table["180,130"] = [30950] let s:lib.Codec.decoding_table["180,131"] = [30951] let s:lib.Codec.decoding_table["180,132"] = [30953] let s:lib.Codec.decoding_table["180,133"] = [30954] let s:lib.Codec.decoding_table["180,134"] = [30955] let s:lib.Codec.decoding_table["180,135"] = [30957] let s:lib.Codec.decoding_table["180,136"] = [30958] let s:lib.Codec.decoding_table["180,137"] = [30959] let s:lib.Codec.decoding_table["180,138"] = [30960] let s:lib.Codec.decoding_table["180,139"] = [30961] let s:lib.Codec.decoding_table["180,140"] = [30963] let s:lib.Codec.decoding_table["180,141"] = [30965] let s:lib.Codec.decoding_table["180,142"] = [30966] let s:lib.Codec.decoding_table["180,143"] = [30968] let s:lib.Codec.decoding_table["180,144"] = [30969] let s:lib.Codec.decoding_table["180,145"] = [30971] let s:lib.Codec.decoding_table["180,146"] = [30972] let s:lib.Codec.decoding_table["180,147"] = [30973] let s:lib.Codec.decoding_table["180,148"] = [30974] let s:lib.Codec.decoding_table["180,149"] = [30975] let s:lib.Codec.decoding_table["180,150"] = [30976] let s:lib.Codec.decoding_table["180,151"] = [30978] let s:lib.Codec.decoding_table["180,152"] = [30979] let s:lib.Codec.decoding_table["180,153"] = [30980] let s:lib.Codec.decoding_table["180,154"] = [30982] let s:lib.Codec.decoding_table["180,155"] = [30983] let s:lib.Codec.decoding_table["180,156"] = [30984] let s:lib.Codec.decoding_table["180,157"] = [30985] let s:lib.Codec.decoding_table["180,158"] = [30986] let s:lib.Codec.decoding_table["180,159"] = [30987] let s:lib.Codec.decoding_table["180,160"] = [30988] let s:lib.Codec.decoding_table["180,161"] = [30784] let s:lib.Codec.decoding_table["180,162"] = [20648] let s:lib.Codec.decoding_table["180,163"] = [30679] let s:lib.Codec.decoding_table["180,164"] = [25616] let s:lib.Codec.decoding_table["180,165"] = [35302] let s:lib.Codec.decoding_table["180,166"] = [22788] let s:lib.Codec.decoding_table["180,167"] = [25571] let s:lib.Codec.decoding_table["180,168"] = [24029] let s:lib.Codec.decoding_table["180,169"] = [31359] let s:lib.Codec.decoding_table["180,170"] = [26941] let s:lib.Codec.decoding_table["180,171"] = [20256] let s:lib.Codec.decoding_table["180,172"] = [33337] let s:lib.Codec.decoding_table["180,173"] = [21912] let s:lib.Codec.decoding_table["180,174"] = [20018] let s:lib.Codec.decoding_table["180,175"] = [30126] let s:lib.Codec.decoding_table["180,176"] = [31383] let s:lib.Codec.decoding_table["180,177"] = [24162] let s:lib.Codec.decoding_table["180,178"] = [24202] let s:lib.Codec.decoding_table["180,179"] = [38383] let s:lib.Codec.decoding_table["180,180"] = [21019] let s:lib.Codec.decoding_table["180,181"] = [21561] let s:lib.Codec.decoding_table["180,182"] = [28810] let s:lib.Codec.decoding_table["180,183"] = [25462] let s:lib.Codec.decoding_table["180,184"] = [38180] let s:lib.Codec.decoding_table["180,185"] = [22402] let s:lib.Codec.decoding_table["180,186"] = [26149] let s:lib.Codec.decoding_table["180,187"] = [26943] let s:lib.Codec.decoding_table["180,188"] = [37255] let s:lib.Codec.decoding_table["180,189"] = [21767] let s:lib.Codec.decoding_table["180,190"] = [28147] let s:lib.Codec.decoding_table["180,191"] = [32431] let s:lib.Codec.decoding_table["180,192"] = [34850] let s:lib.Codec.decoding_table["180,193"] = [25139] let s:lib.Codec.decoding_table["180,194"] = [32496] let s:lib.Codec.decoding_table["180,195"] = [30133] let s:lib.Codec.decoding_table["180,196"] = [33576] let s:lib.Codec.decoding_table["180,197"] = [30913] let s:lib.Codec.decoding_table["180,198"] = [38604] let s:lib.Codec.decoding_table["180,199"] = [36766] let s:lib.Codec.decoding_table["180,200"] = [24904] let s:lib.Codec.decoding_table["180,201"] = [29943] let s:lib.Codec.decoding_table["180,202"] = [35789] let s:lib.Codec.decoding_table["180,203"] = [27492] let s:lib.Codec.decoding_table["180,204"] = [21050] let s:lib.Codec.decoding_table["180,205"] = [36176] let s:lib.Codec.decoding_table["180,206"] = [27425] let s:lib.Codec.decoding_table["180,207"] = [32874] let s:lib.Codec.decoding_table["180,208"] = [33905] let s:lib.Codec.decoding_table["180,209"] = [22257] let s:lib.Codec.decoding_table["180,210"] = [21254] let s:lib.Codec.decoding_table["180,211"] = [20174] let s:lib.Codec.decoding_table["180,212"] = [19995] let s:lib.Codec.decoding_table["180,213"] = [20945] let s:lib.Codec.decoding_table["180,214"] = [31895] let s:lib.Codec.decoding_table["180,215"] = [37259] let s:lib.Codec.decoding_table["180,216"] = [31751] let s:lib.Codec.decoding_table["180,217"] = [20419] let s:lib.Codec.decoding_table["180,218"] = [36479] let s:lib.Codec.decoding_table["180,219"] = [31713] let s:lib.Codec.decoding_table["180,220"] = [31388] let s:lib.Codec.decoding_table["180,221"] = [25703] let s:lib.Codec.decoding_table["180,222"] = [23828] let s:lib.Codec.decoding_table["180,223"] = [20652] let s:lib.Codec.decoding_table["180,224"] = [33030] let s:lib.Codec.decoding_table["180,225"] = [30209] let s:lib.Codec.decoding_table["180,226"] = [31929] let s:lib.Codec.decoding_table["180,227"] = [28140] let s:lib.Codec.decoding_table["180,228"] = [32736] let s:lib.Codec.decoding_table["180,229"] = [26449] let s:lib.Codec.decoding_table["180,230"] = [23384] let s:lib.Codec.decoding_table["180,231"] = [23544] let s:lib.Codec.decoding_table["180,232"] = [30923] let s:lib.Codec.decoding_table["180,233"] = [25774] let s:lib.Codec.decoding_table["180,234"] = [25619] let s:lib.Codec.decoding_table["180,235"] = [25514] let s:lib.Codec.decoding_table["180,236"] = [25387] let s:lib.Codec.decoding_table["180,237"] = [38169] let s:lib.Codec.decoding_table["180,238"] = [25645] let s:lib.Codec.decoding_table["180,239"] = [36798] let s:lib.Codec.decoding_table["180,240"] = [31572] let s:lib.Codec.decoding_table["180,241"] = [30249] let s:lib.Codec.decoding_table["180,242"] = [25171] let s:lib.Codec.decoding_table["180,243"] = [22823] let s:lib.Codec.decoding_table["180,244"] = [21574] let s:lib.Codec.decoding_table["180,245"] = [27513] let s:lib.Codec.decoding_table["180,246"] = [20643] let s:lib.Codec.decoding_table["180,247"] = [25140] let s:lib.Codec.decoding_table["180,248"] = [24102] let s:lib.Codec.decoding_table["180,249"] = [27526] let s:lib.Codec.decoding_table["180,250"] = [20195] let s:lib.Codec.decoding_table["180,251"] = [36151] let s:lib.Codec.decoding_table["180,252"] = [34955] let s:lib.Codec.decoding_table["180,253"] = [24453] let s:lib.Codec.decoding_table["180,254"] = [36910] let s:lib.Codec.decoding_table["181,64"] = [30989] let s:lib.Codec.decoding_table["181,65"] = [30990] let s:lib.Codec.decoding_table["181,66"] = [30991] let s:lib.Codec.decoding_table["181,67"] = [30992] let s:lib.Codec.decoding_table["181,68"] = [30993] let s:lib.Codec.decoding_table["181,69"] = [30994] let s:lib.Codec.decoding_table["181,70"] = [30996] let s:lib.Codec.decoding_table["181,71"] = [30997] let s:lib.Codec.decoding_table["181,72"] = [30998] let s:lib.Codec.decoding_table["181,73"] = [30999] let s:lib.Codec.decoding_table["181,74"] = [31000] let s:lib.Codec.decoding_table["181,75"] = [31001] let s:lib.Codec.decoding_table["181,76"] = [31002] let s:lib.Codec.decoding_table["181,77"] = [31003] let s:lib.Codec.decoding_table["181,78"] = [31004] let s:lib.Codec.decoding_table["181,79"] = [31005] let s:lib.Codec.decoding_table["181,80"] = [31007] let s:lib.Codec.decoding_table["181,81"] = [31008] let s:lib.Codec.decoding_table["181,82"] = [31009] let s:lib.Codec.decoding_table["181,83"] = [31010] let s:lib.Codec.decoding_table["181,84"] = [31011] let s:lib.Codec.decoding_table["181,85"] = [31013] let s:lib.Codec.decoding_table["181,86"] = [31014] let s:lib.Codec.decoding_table["181,87"] = [31015] let s:lib.Codec.decoding_table["181,88"] = [31016] let s:lib.Codec.decoding_table["181,89"] = [31017] let s:lib.Codec.decoding_table["181,90"] = [31018] let s:lib.Codec.decoding_table["181,91"] = [31019] let s:lib.Codec.decoding_table["181,92"] = [31020] let s:lib.Codec.decoding_table["181,93"] = [31021] let s:lib.Codec.decoding_table["181,94"] = [31022] let s:lib.Codec.decoding_table["181,95"] = [31023] let s:lib.Codec.decoding_table["181,96"] = [31024] let s:lib.Codec.decoding_table["181,97"] = [31025] let s:lib.Codec.decoding_table["181,98"] = [31026] let s:lib.Codec.decoding_table["181,99"] = [31027] let s:lib.Codec.decoding_table["181,100"] = [31029] let s:lib.Codec.decoding_table["181,101"] = [31030] let s:lib.Codec.decoding_table["181,102"] = [31031] let s:lib.Codec.decoding_table["181,103"] = [31032] let s:lib.Codec.decoding_table["181,104"] = [31033] let s:lib.Codec.decoding_table["181,105"] = [31037] let s:lib.Codec.decoding_table["181,106"] = [31039] let s:lib.Codec.decoding_table["181,107"] = [31042] let s:lib.Codec.decoding_table["181,108"] = [31043] let s:lib.Codec.decoding_table["181,109"] = [31044] let s:lib.Codec.decoding_table["181,110"] = [31045] let s:lib.Codec.decoding_table["181,111"] = [31047] let s:lib.Codec.decoding_table["181,112"] = [31050] let s:lib.Codec.decoding_table["181,113"] = [31051] let s:lib.Codec.decoding_table["181,114"] = [31052] let s:lib.Codec.decoding_table["181,115"] = [31053] let s:lib.Codec.decoding_table["181,116"] = [31054] let s:lib.Codec.decoding_table["181,117"] = [31055] let s:lib.Codec.decoding_table["181,118"] = [31056] let s:lib.Codec.decoding_table["181,119"] = [31057] let s:lib.Codec.decoding_table["181,120"] = [31058] let s:lib.Codec.decoding_table["181,121"] = [31060] let s:lib.Codec.decoding_table["181,122"] = [31061] let s:lib.Codec.decoding_table["181,123"] = [31064] let s:lib.Codec.decoding_table["181,124"] = [31065] let s:lib.Codec.decoding_table["181,125"] = [31073] let s:lib.Codec.decoding_table["181,126"] = [31075] let s:lib.Codec.decoding_table["181,128"] = [31076] let s:lib.Codec.decoding_table["181,129"] = [31078] let s:lib.Codec.decoding_table["181,130"] = [31081] let s:lib.Codec.decoding_table["181,131"] = [31082] let s:lib.Codec.decoding_table["181,132"] = [31083] let s:lib.Codec.decoding_table["181,133"] = [31084] let s:lib.Codec.decoding_table["181,134"] = [31086] let s:lib.Codec.decoding_table["181,135"] = [31088] let s:lib.Codec.decoding_table["181,136"] = [31089] let s:lib.Codec.decoding_table["181,137"] = [31090] let s:lib.Codec.decoding_table["181,138"] = [31091] let s:lib.Codec.decoding_table["181,139"] = [31092] let s:lib.Codec.decoding_table["181,140"] = [31093] let s:lib.Codec.decoding_table["181,141"] = [31094] let s:lib.Codec.decoding_table["181,142"] = [31097] let s:lib.Codec.decoding_table["181,143"] = [31099] let s:lib.Codec.decoding_table["181,144"] = [31100] let s:lib.Codec.decoding_table["181,145"] = [31101] let s:lib.Codec.decoding_table["181,146"] = [31102] let s:lib.Codec.decoding_table["181,147"] = [31103] let s:lib.Codec.decoding_table["181,148"] = [31106] let s:lib.Codec.decoding_table["181,149"] = [31107] let s:lib.Codec.decoding_table["181,150"] = [31110] let s:lib.Codec.decoding_table["181,151"] = [31111] let s:lib.Codec.decoding_table["181,152"] = [31112] let s:lib.Codec.decoding_table["181,153"] = [31113] let s:lib.Codec.decoding_table["181,154"] = [31115] let s:lib.Codec.decoding_table["181,155"] = [31116] let s:lib.Codec.decoding_table["181,156"] = [31117] let s:lib.Codec.decoding_table["181,157"] = [31118] let s:lib.Codec.decoding_table["181,158"] = [31120] let s:lib.Codec.decoding_table["181,159"] = [31121] let s:lib.Codec.decoding_table["181,160"] = [31122] let s:lib.Codec.decoding_table["181,161"] = [24608] let s:lib.Codec.decoding_table["181,162"] = [32829] let s:lib.Codec.decoding_table["181,163"] = [25285] let s:lib.Codec.decoding_table["181,164"] = [20025] let s:lib.Codec.decoding_table["181,165"] = [21333] let s:lib.Codec.decoding_table["181,166"] = [37112] let s:lib.Codec.decoding_table["181,167"] = [25528] let s:lib.Codec.decoding_table["181,168"] = [32966] let s:lib.Codec.decoding_table["181,169"] = [26086] let s:lib.Codec.decoding_table["181,170"] = [27694] let s:lib.Codec.decoding_table["181,171"] = [20294] let s:lib.Codec.decoding_table["181,172"] = [24814] let s:lib.Codec.decoding_table["181,173"] = [28129] let s:lib.Codec.decoding_table["181,174"] = [35806] let s:lib.Codec.decoding_table["181,175"] = [24377] let s:lib.Codec.decoding_table["181,176"] = [34507] let s:lib.Codec.decoding_table["181,177"] = [24403] let s:lib.Codec.decoding_table["181,178"] = [25377] let s:lib.Codec.decoding_table["181,179"] = [20826] let s:lib.Codec.decoding_table["181,180"] = [33633] let s:lib.Codec.decoding_table["181,181"] = [26723] let s:lib.Codec.decoding_table["181,182"] = [20992] let s:lib.Codec.decoding_table["181,183"] = [25443] let s:lib.Codec.decoding_table["181,184"] = [36424] let s:lib.Codec.decoding_table["181,185"] = [20498] let s:lib.Codec.decoding_table["181,186"] = [23707] let s:lib.Codec.decoding_table["181,187"] = [31095] let s:lib.Codec.decoding_table["181,188"] = [23548] let s:lib.Codec.decoding_table["181,189"] = [21040] let s:lib.Codec.decoding_table["181,190"] = [31291] let s:lib.Codec.decoding_table["181,191"] = [24764] let s:lib.Codec.decoding_table["181,192"] = [36947] let s:lib.Codec.decoding_table["181,193"] = [30423] let s:lib.Codec.decoding_table["181,194"] = [24503] let s:lib.Codec.decoding_table["181,195"] = [24471] let s:lib.Codec.decoding_table["181,196"] = [30340] let s:lib.Codec.decoding_table["181,197"] = [36460] let s:lib.Codec.decoding_table["181,198"] = [28783] let s:lib.Codec.decoding_table["181,199"] = [30331] let s:lib.Codec.decoding_table["181,200"] = [31561] let s:lib.Codec.decoding_table["181,201"] = [30634] let s:lib.Codec.decoding_table["181,202"] = [20979] let s:lib.Codec.decoding_table["181,203"] = [37011] let s:lib.Codec.decoding_table["181,204"] = [22564] let s:lib.Codec.decoding_table["181,205"] = [20302] let s:lib.Codec.decoding_table["181,206"] = [28404] let s:lib.Codec.decoding_table["181,207"] = [36842] let s:lib.Codec.decoding_table["181,208"] = [25932] let s:lib.Codec.decoding_table["181,209"] = [31515] let s:lib.Codec.decoding_table["181,210"] = [29380] let s:lib.Codec.decoding_table["181,211"] = [28068] let s:lib.Codec.decoding_table["181,212"] = [32735] let s:lib.Codec.decoding_table["181,213"] = [23265] let s:lib.Codec.decoding_table["181,214"] = [25269] let s:lib.Codec.decoding_table["181,215"] = [24213] let s:lib.Codec.decoding_table["181,216"] = [22320] let s:lib.Codec.decoding_table["181,217"] = [33922] let s:lib.Codec.decoding_table["181,218"] = [31532] let s:lib.Codec.decoding_table["181,219"] = [24093] let s:lib.Codec.decoding_table["181,220"] = [24351] let s:lib.Codec.decoding_table["181,221"] = [36882] let s:lib.Codec.decoding_table["181,222"] = [32532] let s:lib.Codec.decoding_table["181,223"] = [39072] let s:lib.Codec.decoding_table["181,224"] = [25474] let s:lib.Codec.decoding_table["181,225"] = [28359] let s:lib.Codec.decoding_table["181,226"] = [30872] let s:lib.Codec.decoding_table["181,227"] = [28857] let s:lib.Codec.decoding_table["181,228"] = [20856] let s:lib.Codec.decoding_table["181,229"] = [38747] let s:lib.Codec.decoding_table["181,230"] = [22443] let s:lib.Codec.decoding_table["181,231"] = [30005] let s:lib.Codec.decoding_table["181,232"] = [20291] let s:lib.Codec.decoding_table["181,233"] = [30008] let s:lib.Codec.decoding_table["181,234"] = [24215] let s:lib.Codec.decoding_table["181,235"] = [24806] let s:lib.Codec.decoding_table["181,236"] = [22880] let s:lib.Codec.decoding_table["181,237"] = [28096] let s:lib.Codec.decoding_table["181,238"] = [27583] let s:lib.Codec.decoding_table["181,239"] = [30857] let s:lib.Codec.decoding_table["181,240"] = [21500] let s:lib.Codec.decoding_table["181,241"] = [38613] let s:lib.Codec.decoding_table["181,242"] = [20939] let s:lib.Codec.decoding_table["181,243"] = [20993] let s:lib.Codec.decoding_table["181,244"] = [25481] let s:lib.Codec.decoding_table["181,245"] = [21514] let s:lib.Codec.decoding_table["181,246"] = [38035] let s:lib.Codec.decoding_table["181,247"] = [35843] let s:lib.Codec.decoding_table["181,248"] = [36300] let s:lib.Codec.decoding_table["181,249"] = [29241] let s:lib.Codec.decoding_table["181,250"] = [30879] let s:lib.Codec.decoding_table["181,251"] = [34678] let s:lib.Codec.decoding_table["181,252"] = [36845] let s:lib.Codec.decoding_table["181,253"] = [35853] let s:lib.Codec.decoding_table["181,254"] = [21472] let s:lib.Codec.decoding_table["182,64"] = [31123] let s:lib.Codec.decoding_table["182,65"] = [31124] let s:lib.Codec.decoding_table["182,66"] = [31125] let s:lib.Codec.decoding_table["182,67"] = [31126] let s:lib.Codec.decoding_table["182,68"] = [31127] let s:lib.Codec.decoding_table["182,69"] = [31128] let s:lib.Codec.decoding_table["182,70"] = [31129] let s:lib.Codec.decoding_table["182,71"] = [31131] let s:lib.Codec.decoding_table["182,72"] = [31132] let s:lib.Codec.decoding_table["182,73"] = [31133] let s:lib.Codec.decoding_table["182,74"] = [31134] let s:lib.Codec.decoding_table["182,75"] = [31135] let s:lib.Codec.decoding_table["182,76"] = [31136] let s:lib.Codec.decoding_table["182,77"] = [31137] let s:lib.Codec.decoding_table["182,78"] = [31138] let s:lib.Codec.decoding_table["182,79"] = [31139] let s:lib.Codec.decoding_table["182,80"] = [31140] let s:lib.Codec.decoding_table["182,81"] = [31141] let s:lib.Codec.decoding_table["182,82"] = [31142] let s:lib.Codec.decoding_table["182,83"] = [31144] let s:lib.Codec.decoding_table["182,84"] = [31145] let s:lib.Codec.decoding_table["182,85"] = [31146] let s:lib.Codec.decoding_table["182,86"] = [31147] let s:lib.Codec.decoding_table["182,87"] = [31148] let s:lib.Codec.decoding_table["182,88"] = [31149] let s:lib.Codec.decoding_table["182,89"] = [31150] let s:lib.Codec.decoding_table["182,90"] = [31151] let s:lib.Codec.decoding_table["182,91"] = [31152] let s:lib.Codec.decoding_table["182,92"] = [31153] let s:lib.Codec.decoding_table["182,93"] = [31154] let s:lib.Codec.decoding_table["182,94"] = [31156] let s:lib.Codec.decoding_table["182,95"] = [31157] let s:lib.Codec.decoding_table["182,96"] = [31158] let s:lib.Codec.decoding_table["182,97"] = [31159] let s:lib.Codec.decoding_table["182,98"] = [31160] let s:lib.Codec.decoding_table["182,99"] = [31164] let s:lib.Codec.decoding_table["182,100"] = [31167] let s:lib.Codec.decoding_table["182,101"] = [31170] let s:lib.Codec.decoding_table["182,102"] = [31172] let s:lib.Codec.decoding_table["182,103"] = [31173] let s:lib.Codec.decoding_table["182,104"] = [31175] let s:lib.Codec.decoding_table["182,105"] = [31176] let s:lib.Codec.decoding_table["182,106"] = [31178] let s:lib.Codec.decoding_table["182,107"] = [31180] let s:lib.Codec.decoding_table["182,108"] = [31182] let s:lib.Codec.decoding_table["182,109"] = [31183] let s:lib.Codec.decoding_table["182,110"] = [31184] let s:lib.Codec.decoding_table["182,111"] = [31187] let s:lib.Codec.decoding_table["182,112"] = [31188] let s:lib.Codec.decoding_table["182,113"] = [31190] let s:lib.Codec.decoding_table["182,114"] = [31191] let s:lib.Codec.decoding_table["182,115"] = [31193] let s:lib.Codec.decoding_table["182,116"] = [31194] let s:lib.Codec.decoding_table["182,117"] = [31195] let s:lib.Codec.decoding_table["182,118"] = [31196] let s:lib.Codec.decoding_table["182,119"] = [31197] let s:lib.Codec.decoding_table["182,120"] = [31198] let s:lib.Codec.decoding_table["182,121"] = [31200] let s:lib.Codec.decoding_table["182,122"] = [31201] let s:lib.Codec.decoding_table["182,123"] = [31202] let s:lib.Codec.decoding_table["182,124"] = [31205] let s:lib.Codec.decoding_table["182,125"] = [31208] let s:lib.Codec.decoding_table["182,126"] = [31210] let s:lib.Codec.decoding_table["182,128"] = [31212] let s:lib.Codec.decoding_table["182,129"] = [31214] let s:lib.Codec.decoding_table["182,130"] = [31217] let s:lib.Codec.decoding_table["182,131"] = [31218] let s:lib.Codec.decoding_table["182,132"] = [31219] let s:lib.Codec.decoding_table["182,133"] = [31220] let s:lib.Codec.decoding_table["182,134"] = [31221] let s:lib.Codec.decoding_table["182,135"] = [31222] let s:lib.Codec.decoding_table["182,136"] = [31223] let s:lib.Codec.decoding_table["182,137"] = [31225] let s:lib.Codec.decoding_table["182,138"] = [31226] let s:lib.Codec.decoding_table["182,139"] = [31228] let s:lib.Codec.decoding_table["182,140"] = [31230] let s:lib.Codec.decoding_table["182,141"] = [31231] let s:lib.Codec.decoding_table["182,142"] = [31233] let s:lib.Codec.decoding_table["182,143"] = [31236] let s:lib.Codec.decoding_table["182,144"] = [31237] let s:lib.Codec.decoding_table["182,145"] = [31239] let s:lib.Codec.decoding_table["182,146"] = [31240] let s:lib.Codec.decoding_table["182,147"] = [31241] let s:lib.Codec.decoding_table["182,148"] = [31242] let s:lib.Codec.decoding_table["182,149"] = [31244] let s:lib.Codec.decoding_table["182,150"] = [31247] let s:lib.Codec.decoding_table["182,151"] = [31248] let s:lib.Codec.decoding_table["182,152"] = [31249] let s:lib.Codec.decoding_table["182,153"] = [31250] let s:lib.Codec.decoding_table["182,154"] = [31251] let s:lib.Codec.decoding_table["182,155"] = [31253] let s:lib.Codec.decoding_table["182,156"] = [31254] let s:lib.Codec.decoding_table["182,157"] = [31256] let s:lib.Codec.decoding_table["182,158"] = [31257] let s:lib.Codec.decoding_table["182,159"] = [31259] let s:lib.Codec.decoding_table["182,160"] = [31260] let s:lib.Codec.decoding_table["182,161"] = [19969] let s:lib.Codec.decoding_table["182,162"] = [30447] let s:lib.Codec.decoding_table["182,163"] = [21486] let s:lib.Codec.decoding_table["182,164"] = [38025] let s:lib.Codec.decoding_table["182,165"] = [39030] let s:lib.Codec.decoding_table["182,166"] = [40718] let s:lib.Codec.decoding_table["182,167"] = [38189] let s:lib.Codec.decoding_table["182,168"] = [23450] let s:lib.Codec.decoding_table["182,169"] = [35746] let s:lib.Codec.decoding_table["182,170"] = [20002] let s:lib.Codec.decoding_table["182,171"] = [19996] let s:lib.Codec.decoding_table["182,172"] = [20908] let s:lib.Codec.decoding_table["182,173"] = [33891] let s:lib.Codec.decoding_table["182,174"] = [25026] let s:lib.Codec.decoding_table["182,175"] = [21160] let s:lib.Codec.decoding_table["182,176"] = [26635] let s:lib.Codec.decoding_table["182,177"] = [20375] let s:lib.Codec.decoding_table["182,178"] = [24683] let s:lib.Codec.decoding_table["182,179"] = [20923] let s:lib.Codec.decoding_table["182,180"] = [27934] let s:lib.Codec.decoding_table["182,181"] = [20828] let s:lib.Codec.decoding_table["182,182"] = [25238] let s:lib.Codec.decoding_table["182,183"] = [26007] let s:lib.Codec.decoding_table["182,184"] = [38497] let s:lib.Codec.decoding_table["182,185"] = [35910] let s:lib.Codec.decoding_table["182,186"] = [36887] let s:lib.Codec.decoding_table["182,187"] = [30168] let s:lib.Codec.decoding_table["182,188"] = [37117] let s:lib.Codec.decoding_table["182,189"] = [30563] let s:lib.Codec.decoding_table["182,190"] = [27602] let s:lib.Codec.decoding_table["182,191"] = [29322] let s:lib.Codec.decoding_table["182,192"] = [29420] let s:lib.Codec.decoding_table["182,193"] = [35835] let s:lib.Codec.decoding_table["182,194"] = [22581] let s:lib.Codec.decoding_table["182,195"] = [30585] let s:lib.Codec.decoding_table["182,196"] = [36172] let s:lib.Codec.decoding_table["182,197"] = [26460] let s:lib.Codec.decoding_table["182,198"] = [38208] let s:lib.Codec.decoding_table["182,199"] = [32922] let s:lib.Codec.decoding_table["182,200"] = [24230] let s:lib.Codec.decoding_table["182,201"] = [28193] let s:lib.Codec.decoding_table["182,202"] = [22930] let s:lib.Codec.decoding_table["182,203"] = [31471] let s:lib.Codec.decoding_table["182,204"] = [30701] let s:lib.Codec.decoding_table["182,205"] = [38203] let s:lib.Codec.decoding_table["182,206"] = [27573] let s:lib.Codec.decoding_table["182,207"] = [26029] let s:lib.Codec.decoding_table["182,208"] = [32526] let s:lib.Codec.decoding_table["182,209"] = [22534] let s:lib.Codec.decoding_table["182,210"] = [20817] let s:lib.Codec.decoding_table["182,211"] = [38431] let s:lib.Codec.decoding_table["182,212"] = [23545] let s:lib.Codec.decoding_table["182,213"] = [22697] let s:lib.Codec.decoding_table["182,214"] = [21544] let s:lib.Codec.decoding_table["182,215"] = [36466] let s:lib.Codec.decoding_table["182,216"] = [25958] let s:lib.Codec.decoding_table["182,217"] = [39039] let s:lib.Codec.decoding_table["182,218"] = [22244] let s:lib.Codec.decoding_table["182,219"] = [38045] let s:lib.Codec.decoding_table["182,220"] = [30462] let s:lib.Codec.decoding_table["182,221"] = [36929] let s:lib.Codec.decoding_table["182,222"] = [25479] let s:lib.Codec.decoding_table["182,223"] = [21702] let s:lib.Codec.decoding_table["182,224"] = [22810] let s:lib.Codec.decoding_table["182,225"] = [22842] let s:lib.Codec.decoding_table["182,226"] = [22427] let s:lib.Codec.decoding_table["182,227"] = [36530] let s:lib.Codec.decoding_table["182,228"] = [26421] let s:lib.Codec.decoding_table["182,229"] = [36346] let s:lib.Codec.decoding_table["182,230"] = [33333] let s:lib.Codec.decoding_table["182,231"] = [21057] let s:lib.Codec.decoding_table["182,232"] = [24816] let s:lib.Codec.decoding_table["182,233"] = [22549] let s:lib.Codec.decoding_table["182,234"] = [34558] let s:lib.Codec.decoding_table["182,235"] = [23784] let s:lib.Codec.decoding_table["182,236"] = [40517] let s:lib.Codec.decoding_table["182,237"] = [20420] let s:lib.Codec.decoding_table["182,238"] = [39069] let s:lib.Codec.decoding_table["182,239"] = [35769] let s:lib.Codec.decoding_table["182,240"] = [23077] let s:lib.Codec.decoding_table["182,241"] = [24694] let s:lib.Codec.decoding_table["182,242"] = [21380] let s:lib.Codec.decoding_table["182,243"] = [25212] let s:lib.Codec.decoding_table["182,244"] = [36943] let s:lib.Codec.decoding_table["182,245"] = [37122] let s:lib.Codec.decoding_table["182,246"] = [39295] let s:lib.Codec.decoding_table["182,247"] = [24681] let s:lib.Codec.decoding_table["182,248"] = [32780] let s:lib.Codec.decoding_table["182,249"] = [20799] let s:lib.Codec.decoding_table["182,250"] = [32819] let s:lib.Codec.decoding_table["182,251"] = [23572] let s:lib.Codec.decoding_table["182,252"] = [39285] let s:lib.Codec.decoding_table["182,253"] = [27953] let s:lib.Codec.decoding_table["182,254"] = [20108] let s:lib.Codec.decoding_table["183,64"] = [31261] let s:lib.Codec.decoding_table["183,65"] = [31263] let s:lib.Codec.decoding_table["183,66"] = [31265] let s:lib.Codec.decoding_table["183,67"] = [31266] let s:lib.Codec.decoding_table["183,68"] = [31268] let s:lib.Codec.decoding_table["183,69"] = [31269] let s:lib.Codec.decoding_table["183,70"] = [31270] let s:lib.Codec.decoding_table["183,71"] = [31271] let s:lib.Codec.decoding_table["183,72"] = [31272] let s:lib.Codec.decoding_table["183,73"] = [31273] let s:lib.Codec.decoding_table["183,74"] = [31274] let s:lib.Codec.decoding_table["183,75"] = [31275] let s:lib.Codec.decoding_table["183,76"] = [31276] let s:lib.Codec.decoding_table["183,77"] = [31277] let s:lib.Codec.decoding_table["183,78"] = [31278] let s:lib.Codec.decoding_table["183,79"] = [31279] let s:lib.Codec.decoding_table["183,80"] = [31280] let s:lib.Codec.decoding_table["183,81"] = [31281] let s:lib.Codec.decoding_table["183,82"] = [31282] let s:lib.Codec.decoding_table["183,83"] = [31284] let s:lib.Codec.decoding_table["183,84"] = [31285] let s:lib.Codec.decoding_table["183,85"] = [31286] let s:lib.Codec.decoding_table["183,86"] = [31288] let s:lib.Codec.decoding_table["183,87"] = [31290] let s:lib.Codec.decoding_table["183,88"] = [31294] let s:lib.Codec.decoding_table["183,89"] = [31296] let s:lib.Codec.decoding_table["183,90"] = [31297] let s:lib.Codec.decoding_table["183,91"] = [31298] let s:lib.Codec.decoding_table["183,92"] = [31299] let s:lib.Codec.decoding_table["183,93"] = [31300] let s:lib.Codec.decoding_table["183,94"] = [31301] let s:lib.Codec.decoding_table["183,95"] = [31303] let s:lib.Codec.decoding_table["183,96"] = [31304] let s:lib.Codec.decoding_table["183,97"] = [31305] let s:lib.Codec.decoding_table["183,98"] = [31306] let s:lib.Codec.decoding_table["183,99"] = [31307] let s:lib.Codec.decoding_table["183,100"] = [31308] let s:lib.Codec.decoding_table["183,101"] = [31309] let s:lib.Codec.decoding_table["183,102"] = [31310] let s:lib.Codec.decoding_table["183,103"] = [31311] let s:lib.Codec.decoding_table["183,104"] = [31312] let s:lib.Codec.decoding_table["183,105"] = [31314] let s:lib.Codec.decoding_table["183,106"] = [31315] let s:lib.Codec.decoding_table["183,107"] = [31316] let s:lib.Codec.decoding_table["183,108"] = [31317] let s:lib.Codec.decoding_table["183,109"] = [31318] let s:lib.Codec.decoding_table["183,110"] = [31320] let s:lib.Codec.decoding_table["183,111"] = [31321] let s:lib.Codec.decoding_table["183,112"] = [31322] let s:lib.Codec.decoding_table["183,113"] = [31323] let s:lib.Codec.decoding_table["183,114"] = [31324] let s:lib.Codec.decoding_table["183,115"] = [31325] let s:lib.Codec.decoding_table["183,116"] = [31326] let s:lib.Codec.decoding_table["183,117"] = [31327] let s:lib.Codec.decoding_table["183,118"] = [31328] let s:lib.Codec.decoding_table["183,119"] = [31329] let s:lib.Codec.decoding_table["183,120"] = [31330] let s:lib.Codec.decoding_table["183,121"] = [31331] let s:lib.Codec.decoding_table["183,122"] = [31332] let s:lib.Codec.decoding_table["183,123"] = [31333] let s:lib.Codec.decoding_table["183,124"] = [31334] let s:lib.Codec.decoding_table["183,125"] = [31335] let s:lib.Codec.decoding_table["183,126"] = [31336] let s:lib.Codec.decoding_table["183,128"] = [31337] let s:lib.Codec.decoding_table["183,129"] = [31338] let s:lib.Codec.decoding_table["183,130"] = [31339] let s:lib.Codec.decoding_table["183,131"] = [31340] let s:lib.Codec.decoding_table["183,132"] = [31341] let s:lib.Codec.decoding_table["183,133"] = [31342] let s:lib.Codec.decoding_table["183,134"] = [31343] let s:lib.Codec.decoding_table["183,135"] = [31345] let s:lib.Codec.decoding_table["183,136"] = [31346] let s:lib.Codec.decoding_table["183,137"] = [31347] let s:lib.Codec.decoding_table["183,138"] = [31349] let s:lib.Codec.decoding_table["183,139"] = [31355] let s:lib.Codec.decoding_table["183,140"] = [31356] let s:lib.Codec.decoding_table["183,141"] = [31357] let s:lib.Codec.decoding_table["183,142"] = [31358] let s:lib.Codec.decoding_table["183,143"] = [31362] let s:lib.Codec.decoding_table["183,144"] = [31365] let s:lib.Codec.decoding_table["183,145"] = [31367] let s:lib.Codec.decoding_table["183,146"] = [31369] let s:lib.Codec.decoding_table["183,147"] = [31370] let s:lib.Codec.decoding_table["183,148"] = [31371] let s:lib.Codec.decoding_table["183,149"] = [31372] let s:lib.Codec.decoding_table["183,150"] = [31374] let s:lib.Codec.decoding_table["183,151"] = [31375] let s:lib.Codec.decoding_table["183,152"] = [31376] let s:lib.Codec.decoding_table["183,153"] = [31379] let s:lib.Codec.decoding_table["183,154"] = [31380] let s:lib.Codec.decoding_table["183,155"] = [31385] let s:lib.Codec.decoding_table["183,156"] = [31386] let s:lib.Codec.decoding_table["183,157"] = [31387] let s:lib.Codec.decoding_table["183,158"] = [31390] let s:lib.Codec.decoding_table["183,159"] = [31393] let s:lib.Codec.decoding_table["183,160"] = [31394] let s:lib.Codec.decoding_table["183,161"] = [36144] let s:lib.Codec.decoding_table["183,162"] = [21457] let s:lib.Codec.decoding_table["183,163"] = [32602] let s:lib.Codec.decoding_table["183,164"] = [31567] let s:lib.Codec.decoding_table["183,165"] = [20240] let s:lib.Codec.decoding_table["183,166"] = [20047] let s:lib.Codec.decoding_table["183,167"] = [38400] let s:lib.Codec.decoding_table["183,168"] = [27861] let s:lib.Codec.decoding_table["183,169"] = [29648] let s:lib.Codec.decoding_table["183,170"] = [34281] let s:lib.Codec.decoding_table["183,171"] = [24070] let s:lib.Codec.decoding_table["183,172"] = [30058] let s:lib.Codec.decoding_table["183,173"] = [32763] let s:lib.Codec.decoding_table["183,174"] = [27146] let s:lib.Codec.decoding_table["183,175"] = [30718] let s:lib.Codec.decoding_table["183,176"] = [38034] let s:lib.Codec.decoding_table["183,177"] = [32321] let s:lib.Codec.decoding_table["183,178"] = [20961] let s:lib.Codec.decoding_table["183,179"] = [28902] let s:lib.Codec.decoding_table["183,180"] = [21453] let s:lib.Codec.decoding_table["183,181"] = [36820] let s:lib.Codec.decoding_table["183,182"] = [33539] let s:lib.Codec.decoding_table["183,183"] = [36137] let s:lib.Codec.decoding_table["183,184"] = [29359] let s:lib.Codec.decoding_table["183,185"] = [39277] let s:lib.Codec.decoding_table["183,186"] = [27867] let s:lib.Codec.decoding_table["183,187"] = [22346] let s:lib.Codec.decoding_table["183,188"] = [33459] let s:lib.Codec.decoding_table["183,189"] = [26041] let s:lib.Codec.decoding_table["183,190"] = [32938] let s:lib.Codec.decoding_table["183,191"] = [25151] let s:lib.Codec.decoding_table["183,192"] = [38450] let s:lib.Codec.decoding_table["183,193"] = [22952] let s:lib.Codec.decoding_table["183,194"] = [20223] let s:lib.Codec.decoding_table["183,195"] = [35775] let s:lib.Codec.decoding_table["183,196"] = [32442] let s:lib.Codec.decoding_table["183,197"] = [25918] let s:lib.Codec.decoding_table["183,198"] = [33778] let s:lib.Codec.decoding_table["183,199"] = [38750] let s:lib.Codec.decoding_table["183,200"] = [21857] let s:lib.Codec.decoding_table["183,201"] = [39134] let s:lib.Codec.decoding_table["183,202"] = [32933] let s:lib.Codec.decoding_table["183,203"] = [21290] let s:lib.Codec.decoding_table["183,204"] = [35837] let s:lib.Codec.decoding_table["183,205"] = [21536] let s:lib.Codec.decoding_table["183,206"] = [32954] let s:lib.Codec.decoding_table["183,207"] = [24223] let s:lib.Codec.decoding_table["183,208"] = [27832] let s:lib.Codec.decoding_table["183,209"] = [36153] let s:lib.Codec.decoding_table["183,210"] = [33452] let s:lib.Codec.decoding_table["183,211"] = [37210] let s:lib.Codec.decoding_table["183,212"] = [21545] let s:lib.Codec.decoding_table["183,213"] = [27675] let s:lib.Codec.decoding_table["183,214"] = [20998] let s:lib.Codec.decoding_table["183,215"] = [32439] let s:lib.Codec.decoding_table["183,216"] = [22367] let s:lib.Codec.decoding_table["183,217"] = [28954] let s:lib.Codec.decoding_table["183,218"] = [27774] let s:lib.Codec.decoding_table["183,219"] = [31881] let s:lib.Codec.decoding_table["183,220"] = [22859] let s:lib.Codec.decoding_table["183,221"] = [20221] let s:lib.Codec.decoding_table["183,222"] = [24575] let s:lib.Codec.decoding_table["183,223"] = [24868] let s:lib.Codec.decoding_table["183,224"] = [31914] let s:lib.Codec.decoding_table["183,225"] = [20016] let s:lib.Codec.decoding_table["183,226"] = [23553] let s:lib.Codec.decoding_table["183,227"] = [26539] let s:lib.Codec.decoding_table["183,228"] = [34562] let s:lib.Codec.decoding_table["183,229"] = [23792] let s:lib.Codec.decoding_table["183,230"] = [38155] let s:lib.Codec.decoding_table["183,231"] = [39118] let s:lib.Codec.decoding_table["183,232"] = [30127] let s:lib.Codec.decoding_table["183,233"] = [28925] let s:lib.Codec.decoding_table["183,234"] = [36898] let s:lib.Codec.decoding_table["183,235"] = [20911] let s:lib.Codec.decoding_table["183,236"] = [32541] let s:lib.Codec.decoding_table["183,237"] = [35773] let s:lib.Codec.decoding_table["183,238"] = [22857] let s:lib.Codec.decoding_table["183,239"] = [20964] let s:lib.Codec.decoding_table["183,240"] = [20315] let s:lib.Codec.decoding_table["183,241"] = [21542] let s:lib.Codec.decoding_table["183,242"] = [22827] let s:lib.Codec.decoding_table["183,243"] = [25975] let s:lib.Codec.decoding_table["183,244"] = [32932] let s:lib.Codec.decoding_table["183,245"] = [23413] let s:lib.Codec.decoding_table["183,246"] = [25206] let s:lib.Codec.decoding_table["183,247"] = [25282] let s:lib.Codec.decoding_table["183,248"] = [36752] let s:lib.Codec.decoding_table["183,249"] = [24133] let s:lib.Codec.decoding_table["183,250"] = [27679] let s:lib.Codec.decoding_table["183,251"] = [31526] let s:lib.Codec.decoding_table["183,252"] = [20239] let s:lib.Codec.decoding_table["183,253"] = [20440] let s:lib.Codec.decoding_table["183,254"] = [26381] let s:lib.Codec.decoding_table["184,64"] = [31395] let s:lib.Codec.decoding_table["184,65"] = [31396] let s:lib.Codec.decoding_table["184,66"] = [31399] let s:lib.Codec.decoding_table["184,67"] = [31401] let s:lib.Codec.decoding_table["184,68"] = [31402] let s:lib.Codec.decoding_table["184,69"] = [31403] let s:lib.Codec.decoding_table["184,70"] = [31406] let s:lib.Codec.decoding_table["184,71"] = [31407] let s:lib.Codec.decoding_table["184,72"] = [31408] let s:lib.Codec.decoding_table["184,73"] = [31409] let s:lib.Codec.decoding_table["184,74"] = [31410] let s:lib.Codec.decoding_table["184,75"] = [31412] let s:lib.Codec.decoding_table["184,76"] = [31413] let s:lib.Codec.decoding_table["184,77"] = [31414] let s:lib.Codec.decoding_table["184,78"] = [31415] let s:lib.Codec.decoding_table["184,79"] = [31416] let s:lib.Codec.decoding_table["184,80"] = [31417] let s:lib.Codec.decoding_table["184,81"] = [31418] let s:lib.Codec.decoding_table["184,82"] = [31419] let s:lib.Codec.decoding_table["184,83"] = [31420] let s:lib.Codec.decoding_table["184,84"] = [31421] let s:lib.Codec.decoding_table["184,85"] = [31422] let s:lib.Codec.decoding_table["184,86"] = [31424] let s:lib.Codec.decoding_table["184,87"] = [31425] let s:lib.Codec.decoding_table["184,88"] = [31426] let s:lib.Codec.decoding_table["184,89"] = [31427] let s:lib.Codec.decoding_table["184,90"] = [31428] let s:lib.Codec.decoding_table["184,91"] = [31429] let s:lib.Codec.decoding_table["184,92"] = [31430] let s:lib.Codec.decoding_table["184,93"] = [31431] let s:lib.Codec.decoding_table["184,94"] = [31432] let s:lib.Codec.decoding_table["184,95"] = [31433] let s:lib.Codec.decoding_table["184,96"] = [31434] let s:lib.Codec.decoding_table["184,97"] = [31436] let s:lib.Codec.decoding_table["184,98"] = [31437] let s:lib.Codec.decoding_table["184,99"] = [31438] let s:lib.Codec.decoding_table["184,100"] = [31439] let s:lib.Codec.decoding_table["184,101"] = [31440] let s:lib.Codec.decoding_table["184,102"] = [31441] let s:lib.Codec.decoding_table["184,103"] = [31442] let s:lib.Codec.decoding_table["184,104"] = [31443] let s:lib.Codec.decoding_table["184,105"] = [31444] let s:lib.Codec.decoding_table["184,106"] = [31445] let s:lib.Codec.decoding_table["184,107"] = [31447] let s:lib.Codec.decoding_table["184,108"] = [31448] let s:lib.Codec.decoding_table["184,109"] = [31450] let s:lib.Codec.decoding_table["184,110"] = [31451] let s:lib.Codec.decoding_table["184,111"] = [31452] let s:lib.Codec.decoding_table["184,112"] = [31453] let s:lib.Codec.decoding_table["184,113"] = [31457] let s:lib.Codec.decoding_table["184,114"] = [31458] let s:lib.Codec.decoding_table["184,115"] = [31460] let s:lib.Codec.decoding_table["184,116"] = [31463] let s:lib.Codec.decoding_table["184,117"] = [31464] let s:lib.Codec.decoding_table["184,118"] = [31465] let s:lib.Codec.decoding_table["184,119"] = [31466] let s:lib.Codec.decoding_table["184,120"] = [31467] let s:lib.Codec.decoding_table["184,121"] = [31468] let s:lib.Codec.decoding_table["184,122"] = [31470] let s:lib.Codec.decoding_table["184,123"] = [31472] let s:lib.Codec.decoding_table["184,124"] = [31473] let s:lib.Codec.decoding_table["184,125"] = [31474] let s:lib.Codec.decoding_table["184,126"] = [31475] let s:lib.Codec.decoding_table["184,128"] = [31476] let s:lib.Codec.decoding_table["184,129"] = [31477] let s:lib.Codec.decoding_table["184,130"] = [31478] let s:lib.Codec.decoding_table["184,131"] = [31479] let s:lib.Codec.decoding_table["184,132"] = [31480] let s:lib.Codec.decoding_table["184,133"] = [31483] let s:lib.Codec.decoding_table["184,134"] = [31484] let s:lib.Codec.decoding_table["184,135"] = [31486] let s:lib.Codec.decoding_table["184,136"] = [31488] let s:lib.Codec.decoding_table["184,137"] = [31489] let s:lib.Codec.decoding_table["184,138"] = [31490] let s:lib.Codec.decoding_table["184,139"] = [31493] let s:lib.Codec.decoding_table["184,140"] = [31495] let s:lib.Codec.decoding_table["184,141"] = [31497] let s:lib.Codec.decoding_table["184,142"] = [31500] let s:lib.Codec.decoding_table["184,143"] = [31501] let s:lib.Codec.decoding_table["184,144"] = [31502] let s:lib.Codec.decoding_table["184,145"] = [31504] let s:lib.Codec.decoding_table["184,146"] = [31506] let s:lib.Codec.decoding_table["184,147"] = [31507] let s:lib.Codec.decoding_table["184,148"] = [31510] let s:lib.Codec.decoding_table["184,149"] = [31511] let s:lib.Codec.decoding_table["184,150"] = [31512] let s:lib.Codec.decoding_table["184,151"] = [31514] let s:lib.Codec.decoding_table["184,152"] = [31516] let s:lib.Codec.decoding_table["184,153"] = [31517] let s:lib.Codec.decoding_table["184,154"] = [31519] let s:lib.Codec.decoding_table["184,155"] = [31521] let s:lib.Codec.decoding_table["184,156"] = [31522] let s:lib.Codec.decoding_table["184,157"] = [31523] let s:lib.Codec.decoding_table["184,158"] = [31527] let s:lib.Codec.decoding_table["184,159"] = [31529] let s:lib.Codec.decoding_table["184,160"] = [31533] let s:lib.Codec.decoding_table["184,161"] = [28014] let s:lib.Codec.decoding_table["184,162"] = [28074] let s:lib.Codec.decoding_table["184,163"] = [31119] let s:lib.Codec.decoding_table["184,164"] = [34993] let s:lib.Codec.decoding_table["184,165"] = [24343] let s:lib.Codec.decoding_table["184,166"] = [29995] let s:lib.Codec.decoding_table["184,167"] = [25242] let s:lib.Codec.decoding_table["184,168"] = [36741] let s:lib.Codec.decoding_table["184,169"] = [20463] let s:lib.Codec.decoding_table["184,170"] = [37340] let s:lib.Codec.decoding_table["184,171"] = [26023] let s:lib.Codec.decoding_table["184,172"] = [33071] let s:lib.Codec.decoding_table["184,173"] = [33105] let s:lib.Codec.decoding_table["184,174"] = [24220] let s:lib.Codec.decoding_table["184,175"] = [33104] let s:lib.Codec.decoding_table["184,176"] = [36212] let s:lib.Codec.decoding_table["184,177"] = [21103] let s:lib.Codec.decoding_table["184,178"] = [35206] let s:lib.Codec.decoding_table["184,179"] = [36171] let s:lib.Codec.decoding_table["184,180"] = [22797] let s:lib.Codec.decoding_table["184,181"] = [20613] let s:lib.Codec.decoding_table["184,182"] = [20184] let s:lib.Codec.decoding_table["184,183"] = [38428] let s:lib.Codec.decoding_table["184,184"] = [29238] let s:lib.Codec.decoding_table["184,185"] = [33145] let s:lib.Codec.decoding_table["184,186"] = [36127] let s:lib.Codec.decoding_table["184,187"] = [23500] let s:lib.Codec.decoding_table["184,188"] = [35747] let s:lib.Codec.decoding_table["184,189"] = [38468] let s:lib.Codec.decoding_table["184,190"] = [22919] let s:lib.Codec.decoding_table["184,191"] = [32538] let s:lib.Codec.decoding_table["184,192"] = [21648] let s:lib.Codec.decoding_table["184,193"] = [22134] let s:lib.Codec.decoding_table["184,194"] = [22030] let s:lib.Codec.decoding_table["184,195"] = [35813] let s:lib.Codec.decoding_table["184,196"] = [25913] let s:lib.Codec.decoding_table["184,197"] = [27010] let s:lib.Codec.decoding_table["184,198"] = [38041] let s:lib.Codec.decoding_table["184,199"] = [30422] let s:lib.Codec.decoding_table["184,200"] = [28297] let s:lib.Codec.decoding_table["184,201"] = [24178] let s:lib.Codec.decoding_table["184,202"] = [29976] let s:lib.Codec.decoding_table["184,203"] = [26438] let s:lib.Codec.decoding_table["184,204"] = [26577] let s:lib.Codec.decoding_table["184,205"] = [31487] let s:lib.Codec.decoding_table["184,206"] = [32925] let s:lib.Codec.decoding_table["184,207"] = [36214] let s:lib.Codec.decoding_table["184,208"] = [24863] let s:lib.Codec.decoding_table["184,209"] = [31174] let s:lib.Codec.decoding_table["184,210"] = [25954] let s:lib.Codec.decoding_table["184,211"] = [36195] let s:lib.Codec.decoding_table["184,212"] = [20872] let s:lib.Codec.decoding_table["184,213"] = [21018] let s:lib.Codec.decoding_table["184,214"] = [38050] let s:lib.Codec.decoding_table["184,215"] = [32568] let s:lib.Codec.decoding_table["184,216"] = [32923] let s:lib.Codec.decoding_table["184,217"] = [32434] let s:lib.Codec.decoding_table["184,218"] = [23703] let s:lib.Codec.decoding_table["184,219"] = [28207] let s:lib.Codec.decoding_table["184,220"] = [26464] let s:lib.Codec.decoding_table["184,221"] = [31705] let s:lib.Codec.decoding_table["184,222"] = [30347] let s:lib.Codec.decoding_table["184,223"] = [39640] let s:lib.Codec.decoding_table["184,224"] = [33167] let s:lib.Codec.decoding_table["184,225"] = [32660] let s:lib.Codec.decoding_table["184,226"] = [31957] let s:lib.Codec.decoding_table["184,227"] = [25630] let s:lib.Codec.decoding_table["184,228"] = [38224] let s:lib.Codec.decoding_table["184,229"] = [31295] let s:lib.Codec.decoding_table["184,230"] = [21578] let s:lib.Codec.decoding_table["184,231"] = [21733] let s:lib.Codec.decoding_table["184,232"] = [27468] let s:lib.Codec.decoding_table["184,233"] = [25601] let s:lib.Codec.decoding_table["184,234"] = [25096] let s:lib.Codec.decoding_table["184,235"] = [40509] let s:lib.Codec.decoding_table["184,236"] = [33011] let s:lib.Codec.decoding_table["184,237"] = [30105] let s:lib.Codec.decoding_table["184,238"] = [21106] let s:lib.Codec.decoding_table["184,239"] = [38761] let s:lib.Codec.decoding_table["184,240"] = [33883] let s:lib.Codec.decoding_table["184,241"] = [26684] let s:lib.Codec.decoding_table["184,242"] = [34532] let s:lib.Codec.decoding_table["184,243"] = [38401] let s:lib.Codec.decoding_table["184,244"] = [38548] let s:lib.Codec.decoding_table["184,245"] = [38124] let s:lib.Codec.decoding_table["184,246"] = [20010] let s:lib.Codec.decoding_table["184,247"] = [21508] let s:lib.Codec.decoding_table["184,248"] = [32473] let s:lib.Codec.decoding_table["184,249"] = [26681] let s:lib.Codec.decoding_table["184,250"] = [36319] let s:lib.Codec.decoding_table["184,251"] = [32789] let s:lib.Codec.decoding_table["184,252"] = [26356] let s:lib.Codec.decoding_table["184,253"] = [24218] let s:lib.Codec.decoding_table["184,254"] = [32697] let s:lib.Codec.decoding_table["185,64"] = [31535] let s:lib.Codec.decoding_table["185,65"] = [31536] let s:lib.Codec.decoding_table["185,66"] = [31538] let s:lib.Codec.decoding_table["185,67"] = [31540] let s:lib.Codec.decoding_table["185,68"] = [31541] let s:lib.Codec.decoding_table["185,69"] = [31542] let s:lib.Codec.decoding_table["185,70"] = [31543] let s:lib.Codec.decoding_table["185,71"] = [31545] let s:lib.Codec.decoding_table["185,72"] = [31547] let s:lib.Codec.decoding_table["185,73"] = [31549] let s:lib.Codec.decoding_table["185,74"] = [31551] let s:lib.Codec.decoding_table["185,75"] = [31552] let s:lib.Codec.decoding_table["185,76"] = [31553] let s:lib.Codec.decoding_table["185,77"] = [31554] let s:lib.Codec.decoding_table["185,78"] = [31555] let s:lib.Codec.decoding_table["185,79"] = [31556] let s:lib.Codec.decoding_table["185,80"] = [31558] let s:lib.Codec.decoding_table["185,81"] = [31560] let s:lib.Codec.decoding_table["185,82"] = [31562] let s:lib.Codec.decoding_table["185,83"] = [31565] let s:lib.Codec.decoding_table["185,84"] = [31566] let s:lib.Codec.decoding_table["185,85"] = [31571] let s:lib.Codec.decoding_table["185,86"] = [31573] let s:lib.Codec.decoding_table["185,87"] = [31575] let s:lib.Codec.decoding_table["185,88"] = [31577] let s:lib.Codec.decoding_table["185,89"] = [31580] let s:lib.Codec.decoding_table["185,90"] = [31582] let s:lib.Codec.decoding_table["185,91"] = [31583] let s:lib.Codec.decoding_table["185,92"] = [31585] let s:lib.Codec.decoding_table["185,93"] = [31587] let s:lib.Codec.decoding_table["185,94"] = [31588] let s:lib.Codec.decoding_table["185,95"] = [31589] let s:lib.Codec.decoding_table["185,96"] = [31590] let s:lib.Codec.decoding_table["185,97"] = [31591] let s:lib.Codec.decoding_table["185,98"] = [31592] let s:lib.Codec.decoding_table["185,99"] = [31593] let s:lib.Codec.decoding_table["185,100"] = [31594] let s:lib.Codec.decoding_table["185,101"] = [31595] let s:lib.Codec.decoding_table["185,102"] = [31596] let s:lib.Codec.decoding_table["185,103"] = [31597] let s:lib.Codec.decoding_table["185,104"] = [31599] let s:lib.Codec.decoding_table["185,105"] = [31600] let s:lib.Codec.decoding_table["185,106"] = [31603] let s:lib.Codec.decoding_table["185,107"] = [31604] let s:lib.Codec.decoding_table["185,108"] = [31606] let s:lib.Codec.decoding_table["185,109"] = [31608] let s:lib.Codec.decoding_table["185,110"] = [31610] let s:lib.Codec.decoding_table["185,111"] = [31612] let s:lib.Codec.decoding_table["185,112"] = [31613] let s:lib.Codec.decoding_table["185,113"] = [31615] let s:lib.Codec.decoding_table["185,114"] = [31617] let s:lib.Codec.decoding_table["185,115"] = [31618] let s:lib.Codec.decoding_table["185,116"] = [31619] let s:lib.Codec.decoding_table["185,117"] = [31620] let s:lib.Codec.decoding_table["185,118"] = [31622] let s:lib.Codec.decoding_table["185,119"] = [31623] let s:lib.Codec.decoding_table["185,120"] = [31624] let s:lib.Codec.decoding_table["185,121"] = [31625] let s:lib.Codec.decoding_table["185,122"] = [31626] let s:lib.Codec.decoding_table["185,123"] = [31627] let s:lib.Codec.decoding_table["185,124"] = [31628] let s:lib.Codec.decoding_table["185,125"] = [31630] let s:lib.Codec.decoding_table["185,126"] = [31631] let s:lib.Codec.decoding_table["185,128"] = [31633] let s:lib.Codec.decoding_table["185,129"] = [31634] let s:lib.Codec.decoding_table["185,130"] = [31635] let s:lib.Codec.decoding_table["185,131"] = [31638] let s:lib.Codec.decoding_table["185,132"] = [31640] let s:lib.Codec.decoding_table["185,133"] = [31641] let s:lib.Codec.decoding_table["185,134"] = [31642] let s:lib.Codec.decoding_table["185,135"] = [31643] let s:lib.Codec.decoding_table["185,136"] = [31646] let s:lib.Codec.decoding_table["185,137"] = [31647] let s:lib.Codec.decoding_table["185,138"] = [31648] let s:lib.Codec.decoding_table["185,139"] = [31651] let s:lib.Codec.decoding_table["185,140"] = [31652] let s:lib.Codec.decoding_table["185,141"] = [31653] let s:lib.Codec.decoding_table["185,142"] = [31662] let s:lib.Codec.decoding_table["185,143"] = [31663] let s:lib.Codec.decoding_table["185,144"] = [31664] let s:lib.Codec.decoding_table["185,145"] = [31666] let s:lib.Codec.decoding_table["185,146"] = [31667] let s:lib.Codec.decoding_table["185,147"] = [31669] let s:lib.Codec.decoding_table["185,148"] = [31670] let s:lib.Codec.decoding_table["185,149"] = [31671] let s:lib.Codec.decoding_table["185,150"] = [31673] let s:lib.Codec.decoding_table["185,151"] = [31674] let s:lib.Codec.decoding_table["185,152"] = [31675] let s:lib.Codec.decoding_table["185,153"] = [31676] let s:lib.Codec.decoding_table["185,154"] = [31677] let s:lib.Codec.decoding_table["185,155"] = [31678] let s:lib.Codec.decoding_table["185,156"] = [31679] let s:lib.Codec.decoding_table["185,157"] = [31680] let s:lib.Codec.decoding_table["185,158"] = [31682] let s:lib.Codec.decoding_table["185,159"] = [31683] let s:lib.Codec.decoding_table["185,160"] = [31684] let s:lib.Codec.decoding_table["185,161"] = [22466] let s:lib.Codec.decoding_table["185,162"] = [32831] let s:lib.Codec.decoding_table["185,163"] = [26775] let s:lib.Codec.decoding_table["185,164"] = [24037] let s:lib.Codec.decoding_table["185,165"] = [25915] let s:lib.Codec.decoding_table["185,166"] = [21151] let s:lib.Codec.decoding_table["185,167"] = [24685] let s:lib.Codec.decoding_table["185,168"] = [40858] let s:lib.Codec.decoding_table["185,169"] = [20379] let s:lib.Codec.decoding_table["185,170"] = [36524] let s:lib.Codec.decoding_table["185,171"] = [20844] let s:lib.Codec.decoding_table["185,172"] = [23467] let s:lib.Codec.decoding_table["185,173"] = [24339] let s:lib.Codec.decoding_table["185,174"] = [24041] let s:lib.Codec.decoding_table["185,175"] = [27742] let s:lib.Codec.decoding_table["185,176"] = [25329] let s:lib.Codec.decoding_table["185,177"] = [36129] let s:lib.Codec.decoding_table["185,178"] = [20849] let s:lib.Codec.decoding_table["185,179"] = [38057] let s:lib.Codec.decoding_table["185,180"] = [21246] let s:lib.Codec.decoding_table["185,181"] = [27807] let s:lib.Codec.decoding_table["185,182"] = [33503] let s:lib.Codec.decoding_table["185,183"] = [29399] let s:lib.Codec.decoding_table["185,184"] = [22434] let s:lib.Codec.decoding_table["185,185"] = [26500] let s:lib.Codec.decoding_table["185,186"] = [36141] let s:lib.Codec.decoding_table["185,187"] = [22815] let s:lib.Codec.decoding_table["185,188"] = [36764] let s:lib.Codec.decoding_table["185,189"] = [33735] let s:lib.Codec.decoding_table["185,190"] = [21653] let s:lib.Codec.decoding_table["185,191"] = [31629] let s:lib.Codec.decoding_table["185,192"] = [20272] let s:lib.Codec.decoding_table["185,193"] = [27837] let s:lib.Codec.decoding_table["185,194"] = [23396] let s:lib.Codec.decoding_table["185,195"] = [22993] let s:lib.Codec.decoding_table["185,196"] = [40723] let s:lib.Codec.decoding_table["185,197"] = [21476] let s:lib.Codec.decoding_table["185,198"] = [34506] let s:lib.Codec.decoding_table["185,199"] = [39592] let s:lib.Codec.decoding_table["185,200"] = [35895] let s:lib.Codec.decoding_table["185,201"] = [32929] let s:lib.Codec.decoding_table["185,202"] = [25925] let s:lib.Codec.decoding_table["185,203"] = [39038] let s:lib.Codec.decoding_table["185,204"] = [22266] let s:lib.Codec.decoding_table["185,205"] = [38599] let s:lib.Codec.decoding_table["185,206"] = [21038] let s:lib.Codec.decoding_table["185,207"] = [29916] let s:lib.Codec.decoding_table["185,208"] = [21072] let s:lib.Codec.decoding_table["185,209"] = [23521] let s:lib.Codec.decoding_table["185,210"] = [25346] let s:lib.Codec.decoding_table["185,211"] = [35074] let s:lib.Codec.decoding_table["185,212"] = [20054] let s:lib.Codec.decoding_table["185,213"] = [25296] let s:lib.Codec.decoding_table["185,214"] = [24618] let s:lib.Codec.decoding_table["185,215"] = [26874] let s:lib.Codec.decoding_table["185,216"] = [20851] let s:lib.Codec.decoding_table["185,217"] = [23448] let s:lib.Codec.decoding_table["185,218"] = [20896] let s:lib.Codec.decoding_table["185,219"] = [35266] let s:lib.Codec.decoding_table["185,220"] = [31649] let s:lib.Codec.decoding_table["185,221"] = [39302] let s:lib.Codec.decoding_table["185,222"] = [32592] let s:lib.Codec.decoding_table["185,223"] = [24815] let s:lib.Codec.decoding_table["185,224"] = [28748] let s:lib.Codec.decoding_table["185,225"] = [36143] let s:lib.Codec.decoding_table["185,226"] = [20809] let s:lib.Codec.decoding_table["185,227"] = [24191] let s:lib.Codec.decoding_table["185,228"] = [36891] let s:lib.Codec.decoding_table["185,229"] = [29808] let s:lib.Codec.decoding_table["185,230"] = [35268] let s:lib.Codec.decoding_table["185,231"] = [22317] let s:lib.Codec.decoding_table["185,232"] = [30789] let s:lib.Codec.decoding_table["185,233"] = [24402] let s:lib.Codec.decoding_table["185,234"] = [40863] let s:lib.Codec.decoding_table["185,235"] = [38394] let s:lib.Codec.decoding_table["185,236"] = [36712] let s:lib.Codec.decoding_table["185,237"] = [39740] let s:lib.Codec.decoding_table["185,238"] = [35809] let s:lib.Codec.decoding_table["185,239"] = [30328] let s:lib.Codec.decoding_table["185,240"] = [26690] let s:lib.Codec.decoding_table["185,241"] = [26588] let s:lib.Codec.decoding_table["185,242"] = [36330] let s:lib.Codec.decoding_table["185,243"] = [36149] let s:lib.Codec.decoding_table["185,244"] = [21053] let s:lib.Codec.decoding_table["185,245"] = [36746] let s:lib.Codec.decoding_table["185,246"] = [28378] let s:lib.Codec.decoding_table["185,247"] = [26829] let s:lib.Codec.decoding_table["185,248"] = [38149] let s:lib.Codec.decoding_table["185,249"] = [37101] let s:lib.Codec.decoding_table["185,250"] = [22269] let s:lib.Codec.decoding_table["185,251"] = [26524] let s:lib.Codec.decoding_table["185,252"] = [35065] let s:lib.Codec.decoding_table["185,253"] = [36807] let s:lib.Codec.decoding_table["185,254"] = [21704] let s:lib.Codec.decoding_table["186,64"] = [31685] let s:lib.Codec.decoding_table["186,65"] = [31688] let s:lib.Codec.decoding_table["186,66"] = [31689] let s:lib.Codec.decoding_table["186,67"] = [31690] let s:lib.Codec.decoding_table["186,68"] = [31691] let s:lib.Codec.decoding_table["186,69"] = [31693] let s:lib.Codec.decoding_table["186,70"] = [31694] let s:lib.Codec.decoding_table["186,71"] = [31695] let s:lib.Codec.decoding_table["186,72"] = [31696] let s:lib.Codec.decoding_table["186,73"] = [31698] let s:lib.Codec.decoding_table["186,74"] = [31700] let s:lib.Codec.decoding_table["186,75"] = [31701] let s:lib.Codec.decoding_table["186,76"] = [31702] let s:lib.Codec.decoding_table["186,77"] = [31703] let s:lib.Codec.decoding_table["186,78"] = [31704] let s:lib.Codec.decoding_table["186,79"] = [31707] let s:lib.Codec.decoding_table["186,80"] = [31708] let s:lib.Codec.decoding_table["186,81"] = [31710] let s:lib.Codec.decoding_table["186,82"] = [31711] let s:lib.Codec.decoding_table["186,83"] = [31712] let s:lib.Codec.decoding_table["186,84"] = [31714] let s:lib.Codec.decoding_table["186,85"] = [31715] let s:lib.Codec.decoding_table["186,86"] = [31716] let s:lib.Codec.decoding_table["186,87"] = [31719] let s:lib.Codec.decoding_table["186,88"] = [31720] let s:lib.Codec.decoding_table["186,89"] = [31721] let s:lib.Codec.decoding_table["186,90"] = [31723] let s:lib.Codec.decoding_table["186,91"] = [31724] let s:lib.Codec.decoding_table["186,92"] = [31725] let s:lib.Codec.decoding_table["186,93"] = [31727] let s:lib.Codec.decoding_table["186,94"] = [31728] let s:lib.Codec.decoding_table["186,95"] = [31730] let s:lib.Codec.decoding_table["186,96"] = [31731] let s:lib.Codec.decoding_table["186,97"] = [31732] let s:lib.Codec.decoding_table["186,98"] = [31733] let s:lib.Codec.decoding_table["186,99"] = [31734] let s:lib.Codec.decoding_table["186,100"] = [31736] let s:lib.Codec.decoding_table["186,101"] = [31737] let s:lib.Codec.decoding_table["186,102"] = [31738] let s:lib.Codec.decoding_table["186,103"] = [31739] let s:lib.Codec.decoding_table["186,104"] = [31741] let s:lib.Codec.decoding_table["186,105"] = [31743] let s:lib.Codec.decoding_table["186,106"] = [31744] let s:lib.Codec.decoding_table["186,107"] = [31745] let s:lib.Codec.decoding_table["186,108"] = [31746] let s:lib.Codec.decoding_table["186,109"] = [31747] let s:lib.Codec.decoding_table["186,110"] = [31748] let s:lib.Codec.decoding_table["186,111"] = [31749] let s:lib.Codec.decoding_table["186,112"] = [31750] let s:lib.Codec.decoding_table["186,113"] = [31752] let s:lib.Codec.decoding_table["186,114"] = [31753] let s:lib.Codec.decoding_table["186,115"] = [31754] let s:lib.Codec.decoding_table["186,116"] = [31757] let s:lib.Codec.decoding_table["186,117"] = [31758] let s:lib.Codec.decoding_table["186,118"] = [31760] let s:lib.Codec.decoding_table["186,119"] = [31761] let s:lib.Codec.decoding_table["186,120"] = [31762] let s:lib.Codec.decoding_table["186,121"] = [31763] let s:lib.Codec.decoding_table["186,122"] = [31764] let s:lib.Codec.decoding_table["186,123"] = [31765] let s:lib.Codec.decoding_table["186,124"] = [31767] let s:lib.Codec.decoding_table["186,125"] = [31768] let s:lib.Codec.decoding_table["186,126"] = [31769] let s:lib.Codec.decoding_table["186,128"] = [31770] let s:lib.Codec.decoding_table["186,129"] = [31771] let s:lib.Codec.decoding_table["186,130"] = [31772] let s:lib.Codec.decoding_table["186,131"] = [31773] let s:lib.Codec.decoding_table["186,132"] = [31774] let s:lib.Codec.decoding_table["186,133"] = [31776] let s:lib.Codec.decoding_table["186,134"] = [31777] let s:lib.Codec.decoding_table["186,135"] = [31778] let s:lib.Codec.decoding_table["186,136"] = [31779] let s:lib.Codec.decoding_table["186,137"] = [31780] let s:lib.Codec.decoding_table["186,138"] = [31781] let s:lib.Codec.decoding_table["186,139"] = [31784] let s:lib.Codec.decoding_table["186,140"] = [31785] let s:lib.Codec.decoding_table["186,141"] = [31787] let s:lib.Codec.decoding_table["186,142"] = [31788] let s:lib.Codec.decoding_table["186,143"] = [31789] let s:lib.Codec.decoding_table["186,144"] = [31790] let s:lib.Codec.decoding_table["186,145"] = [31791] let s:lib.Codec.decoding_table["186,146"] = [31792] let s:lib.Codec.decoding_table["186,147"] = [31793] let s:lib.Codec.decoding_table["186,148"] = [31794] let s:lib.Codec.decoding_table["186,149"] = [31795] let s:lib.Codec.decoding_table["186,150"] = [31796] let s:lib.Codec.decoding_table["186,151"] = [31797] let s:lib.Codec.decoding_table["186,152"] = [31798] let s:lib.Codec.decoding_table["186,153"] = [31799] let s:lib.Codec.decoding_table["186,154"] = [31801] let s:lib.Codec.decoding_table["186,155"] = [31802] let s:lib.Codec.decoding_table["186,156"] = [31803] let s:lib.Codec.decoding_table["186,157"] = [31804] let s:lib.Codec.decoding_table["186,158"] = [31805] let s:lib.Codec.decoding_table["186,159"] = [31806] let s:lib.Codec.decoding_table["186,160"] = [31810] let s:lib.Codec.decoding_table["186,161"] = [39608] let s:lib.Codec.decoding_table["186,162"] = [23401] let s:lib.Codec.decoding_table["186,163"] = [28023] let s:lib.Codec.decoding_table["186,164"] = [27686] let s:lib.Codec.decoding_table["186,165"] = [20133] let s:lib.Codec.decoding_table["186,166"] = [23475] let s:lib.Codec.decoding_table["186,167"] = [39559] let s:lib.Codec.decoding_table["186,168"] = [37219] let s:lib.Codec.decoding_table["186,169"] = [25000] let s:lib.Codec.decoding_table["186,170"] = [37039] let s:lib.Codec.decoding_table["186,171"] = [38889] let s:lib.Codec.decoding_table["186,172"] = [21547] let s:lib.Codec.decoding_table["186,173"] = [28085] let s:lib.Codec.decoding_table["186,174"] = [23506] let s:lib.Codec.decoding_table["186,175"] = [20989] let s:lib.Codec.decoding_table["186,176"] = [21898] let s:lib.Codec.decoding_table["186,177"] = [32597] let s:lib.Codec.decoding_table["186,178"] = [32752] let s:lib.Codec.decoding_table["186,179"] = [25788] let s:lib.Codec.decoding_table["186,180"] = [25421] let s:lib.Codec.decoding_table["186,181"] = [26097] let s:lib.Codec.decoding_table["186,182"] = [25022] let s:lib.Codec.decoding_table["186,183"] = [24717] let s:lib.Codec.decoding_table["186,184"] = [28938] let s:lib.Codec.decoding_table["186,185"] = [27735] let s:lib.Codec.decoding_table["186,186"] = [27721] let s:lib.Codec.decoding_table["186,187"] = [22831] let s:lib.Codec.decoding_table["186,188"] = [26477] let s:lib.Codec.decoding_table["186,189"] = [33322] let s:lib.Codec.decoding_table["186,190"] = [22741] let s:lib.Codec.decoding_table["186,191"] = [22158] let s:lib.Codec.decoding_table["186,192"] = [35946] let s:lib.Codec.decoding_table["186,193"] = [27627] let s:lib.Codec.decoding_table["186,194"] = [37085] let s:lib.Codec.decoding_table["186,195"] = [22909] let s:lib.Codec.decoding_table["186,196"] = [32791] let s:lib.Codec.decoding_table["186,197"] = [21495] let s:lib.Codec.decoding_table["186,198"] = [28009] let s:lib.Codec.decoding_table["186,199"] = [21621] let s:lib.Codec.decoding_table["186,200"] = [21917] let s:lib.Codec.decoding_table["186,201"] = [33655] let s:lib.Codec.decoding_table["186,202"] = [33743] let s:lib.Codec.decoding_table["186,203"] = [26680] let s:lib.Codec.decoding_table["186,204"] = [31166] let s:lib.Codec.decoding_table["186,205"] = [21644] let s:lib.Codec.decoding_table["186,206"] = [20309] let s:lib.Codec.decoding_table["186,207"] = [21512] let s:lib.Codec.decoding_table["186,208"] = [30418] let s:lib.Codec.decoding_table["186,209"] = [35977] let s:lib.Codec.decoding_table["186,210"] = [38402] let s:lib.Codec.decoding_table["186,211"] = [27827] let s:lib.Codec.decoding_table["186,212"] = [28088] let s:lib.Codec.decoding_table["186,213"] = [36203] let s:lib.Codec.decoding_table["186,214"] = [35088] let s:lib.Codec.decoding_table["186,215"] = [40548] let s:lib.Codec.decoding_table["186,216"] = [36154] let s:lib.Codec.decoding_table["186,217"] = [22079] let s:lib.Codec.decoding_table["186,218"] = [40657] let s:lib.Codec.decoding_table["186,219"] = [30165] let s:lib.Codec.decoding_table["186,220"] = [24456] let s:lib.Codec.decoding_table["186,221"] = [29408] let s:lib.Codec.decoding_table["186,222"] = [24680] let s:lib.Codec.decoding_table["186,223"] = [21756] let s:lib.Codec.decoding_table["186,224"] = [20136] let s:lib.Codec.decoding_table["186,225"] = [27178] let s:lib.Codec.decoding_table["186,226"] = [34913] let s:lib.Codec.decoding_table["186,227"] = [24658] let s:lib.Codec.decoding_table["186,228"] = [36720] let s:lib.Codec.decoding_table["186,229"] = [21700] let s:lib.Codec.decoding_table["186,230"] = [28888] let s:lib.Codec.decoding_table["186,231"] = [34425] let s:lib.Codec.decoding_table["186,232"] = [40511] let s:lib.Codec.decoding_table["186,233"] = [27946] let s:lib.Codec.decoding_table["186,234"] = [23439] let s:lib.Codec.decoding_table["186,235"] = [24344] let s:lib.Codec.decoding_table["186,236"] = [32418] let s:lib.Codec.decoding_table["186,237"] = [21897] let s:lib.Codec.decoding_table["186,238"] = [20399] let s:lib.Codec.decoding_table["186,239"] = [29492] let s:lib.Codec.decoding_table["186,240"] = [21564] let s:lib.Codec.decoding_table["186,241"] = [21402] let s:lib.Codec.decoding_table["186,242"] = [20505] let s:lib.Codec.decoding_table["186,243"] = [21518] let s:lib.Codec.decoding_table["186,244"] = [21628] let s:lib.Codec.decoding_table["186,245"] = [20046] let s:lib.Codec.decoding_table["186,246"] = [24573] let s:lib.Codec.decoding_table["186,247"] = [29786] let s:lib.Codec.decoding_table["186,248"] = [22774] let s:lib.Codec.decoding_table["186,249"] = [33899] let s:lib.Codec.decoding_table["186,250"] = [32993] let s:lib.Codec.decoding_table["186,251"] = [34676] let s:lib.Codec.decoding_table["186,252"] = [29392] let s:lib.Codec.decoding_table["186,253"] = [31946] let s:lib.Codec.decoding_table["186,254"] = [28246] let s:lib.Codec.decoding_table["187,64"] = [31811] let s:lib.Codec.decoding_table["187,65"] = [31812] let s:lib.Codec.decoding_table["187,66"] = [31813] let s:lib.Codec.decoding_table["187,67"] = [31814] let s:lib.Codec.decoding_table["187,68"] = [31815] let s:lib.Codec.decoding_table["187,69"] = [31816] let s:lib.Codec.decoding_table["187,70"] = [31817] let s:lib.Codec.decoding_table["187,71"] = [31818] let s:lib.Codec.decoding_table["187,72"] = [31819] let s:lib.Codec.decoding_table["187,73"] = [31820] let s:lib.Codec.decoding_table["187,74"] = [31822] let s:lib.Codec.decoding_table["187,75"] = [31823] let s:lib.Codec.decoding_table["187,76"] = [31824] let s:lib.Codec.decoding_table["187,77"] = [31825] let s:lib.Codec.decoding_table["187,78"] = [31826] let s:lib.Codec.decoding_table["187,79"] = [31827] let s:lib.Codec.decoding_table["187,80"] = [31828] let s:lib.Codec.decoding_table["187,81"] = [31829] let s:lib.Codec.decoding_table["187,82"] = [31830] let s:lib.Codec.decoding_table["187,83"] = [31831] let s:lib.Codec.decoding_table["187,84"] = [31832] let s:lib.Codec.decoding_table["187,85"] = [31833] let s:lib.Codec.decoding_table["187,86"] = [31834] let s:lib.Codec.decoding_table["187,87"] = [31835] let s:lib.Codec.decoding_table["187,88"] = [31836] let s:lib.Codec.decoding_table["187,89"] = [31837] let s:lib.Codec.decoding_table["187,90"] = [31838] let s:lib.Codec.decoding_table["187,91"] = [31839] let s:lib.Codec.decoding_table["187,92"] = [31840] let s:lib.Codec.decoding_table["187,93"] = [31841] let s:lib.Codec.decoding_table["187,94"] = [31842] let s:lib.Codec.decoding_table["187,95"] = [31843] let s:lib.Codec.decoding_table["187,96"] = [31844] let s:lib.Codec.decoding_table["187,97"] = [31845] let s:lib.Codec.decoding_table["187,98"] = [31846] let s:lib.Codec.decoding_table["187,99"] = [31847] let s:lib.Codec.decoding_table["187,100"] = [31848] let s:lib.Codec.decoding_table["187,101"] = [31849] let s:lib.Codec.decoding_table["187,102"] = [31850] let s:lib.Codec.decoding_table["187,103"] = [31851] let s:lib.Codec.decoding_table["187,104"] = [31852] let s:lib.Codec.decoding_table["187,105"] = [31853] let s:lib.Codec.decoding_table["187,106"] = [31854] let s:lib.Codec.decoding_table["187,107"] = [31855] let s:lib.Codec.decoding_table["187,108"] = [31856] let s:lib.Codec.decoding_table["187,109"] = [31857] let s:lib.Codec.decoding_table["187,110"] = [31858] let s:lib.Codec.decoding_table["187,111"] = [31861] let s:lib.Codec.decoding_table["187,112"] = [31862] let s:lib.Codec.decoding_table["187,113"] = [31863] let s:lib.Codec.decoding_table["187,114"] = [31864] let s:lib.Codec.decoding_table["187,115"] = [31865] let s:lib.Codec.decoding_table["187,116"] = [31866] let s:lib.Codec.decoding_table["187,117"] = [31870] let s:lib.Codec.decoding_table["187,118"] = [31871] let s:lib.Codec.decoding_table["187,119"] = [31872] let s:lib.Codec.decoding_table["187,120"] = [31873] let s:lib.Codec.decoding_table["187,121"] = [31874] let s:lib.Codec.decoding_table["187,122"] = [31875] let s:lib.Codec.decoding_table["187,123"] = [31876] let s:lib.Codec.decoding_table["187,124"] = [31877] let s:lib.Codec.decoding_table["187,125"] = [31878] let s:lib.Codec.decoding_table["187,126"] = [31879] let s:lib.Codec.decoding_table["187,128"] = [31880] let s:lib.Codec.decoding_table["187,129"] = [31882] let s:lib.Codec.decoding_table["187,130"] = [31883] let s:lib.Codec.decoding_table["187,131"] = [31884] let s:lib.Codec.decoding_table["187,132"] = [31885] let s:lib.Codec.decoding_table["187,133"] = [31886] let s:lib.Codec.decoding_table["187,134"] = [31887] let s:lib.Codec.decoding_table["187,135"] = [31888] let s:lib.Codec.decoding_table["187,136"] = [31891] let s:lib.Codec.decoding_table["187,137"] = [31892] let s:lib.Codec.decoding_table["187,138"] = [31894] let s:lib.Codec.decoding_table["187,139"] = [31897] let s:lib.Codec.decoding_table["187,140"] = [31898] let s:lib.Codec.decoding_table["187,141"] = [31899] let s:lib.Codec.decoding_table["187,142"] = [31904] let s:lib.Codec.decoding_table["187,143"] = [31905] let s:lib.Codec.decoding_table["187,144"] = [31907] let s:lib.Codec.decoding_table["187,145"] = [31910] let s:lib.Codec.decoding_table["187,146"] = [31911] let s:lib.Codec.decoding_table["187,147"] = [31912] let s:lib.Codec.decoding_table["187,148"] = [31913] let s:lib.Codec.decoding_table["187,149"] = [31915] let s:lib.Codec.decoding_table["187,150"] = [31916] let s:lib.Codec.decoding_table["187,151"] = [31917] let s:lib.Codec.decoding_table["187,152"] = [31919] let s:lib.Codec.decoding_table["187,153"] = [31920] let s:lib.Codec.decoding_table["187,154"] = [31924] let s:lib.Codec.decoding_table["187,155"] = [31925] let s:lib.Codec.decoding_table["187,156"] = [31926] let s:lib.Codec.decoding_table["187,157"] = [31927] let s:lib.Codec.decoding_table["187,158"] = [31928] let s:lib.Codec.decoding_table["187,159"] = [31930] let s:lib.Codec.decoding_table["187,160"] = [31931] let s:lib.Codec.decoding_table["187,161"] = [24359] let s:lib.Codec.decoding_table["187,162"] = [34382] let s:lib.Codec.decoding_table["187,163"] = [21804] let s:lib.Codec.decoding_table["187,164"] = [25252] let s:lib.Codec.decoding_table["187,165"] = [20114] let s:lib.Codec.decoding_table["187,166"] = [27818] let s:lib.Codec.decoding_table["187,167"] = [25143] let s:lib.Codec.decoding_table["187,168"] = [33457] let s:lib.Codec.decoding_table["187,169"] = [21719] let s:lib.Codec.decoding_table["187,170"] = [21326] let s:lib.Codec.decoding_table["187,171"] = [29502] let s:lib.Codec.decoding_table["187,172"] = [28369] let s:lib.Codec.decoding_table["187,173"] = [30011] let s:lib.Codec.decoding_table["187,174"] = [21010] let s:lib.Codec.decoding_table["187,175"] = [21270] let s:lib.Codec.decoding_table["187,176"] = [35805] let s:lib.Codec.decoding_table["187,177"] = [27088] let s:lib.Codec.decoding_table["187,178"] = [24458] let s:lib.Codec.decoding_table["187,179"] = [24576] let s:lib.Codec.decoding_table["187,180"] = [28142] let s:lib.Codec.decoding_table["187,181"] = [22351] let s:lib.Codec.decoding_table["187,182"] = [27426] let s:lib.Codec.decoding_table["187,183"] = [29615] let s:lib.Codec.decoding_table["187,184"] = [26707] let s:lib.Codec.decoding_table["187,185"] = [36824] let s:lib.Codec.decoding_table["187,186"] = [32531] let s:lib.Codec.decoding_table["187,187"] = [25442] let s:lib.Codec.decoding_table["187,188"] = [24739] let s:lib.Codec.decoding_table["187,189"] = [21796] let s:lib.Codec.decoding_table["187,190"] = [30186] let s:lib.Codec.decoding_table["187,191"] = [35938] let s:lib.Codec.decoding_table["187,192"] = [28949] let s:lib.Codec.decoding_table["187,193"] = [28067] let s:lib.Codec.decoding_table["187,194"] = [23462] let s:lib.Codec.decoding_table["187,195"] = [24187] let s:lib.Codec.decoding_table["187,196"] = [33618] let s:lib.Codec.decoding_table["187,197"] = [24908] let s:lib.Codec.decoding_table["187,198"] = [40644] let s:lib.Codec.decoding_table["187,199"] = [30970] let s:lib.Codec.decoding_table["187,200"] = [34647] let s:lib.Codec.decoding_table["187,201"] = [31783] let s:lib.Codec.decoding_table["187,202"] = [30343] let s:lib.Codec.decoding_table["187,203"] = [20976] let s:lib.Codec.decoding_table["187,204"] = [24822] let s:lib.Codec.decoding_table["187,205"] = [29004] let s:lib.Codec.decoding_table["187,206"] = [26179] let s:lib.Codec.decoding_table["187,207"] = [24140] let s:lib.Codec.decoding_table["187,208"] = [24653] let s:lib.Codec.decoding_table["187,209"] = [35854] let s:lib.Codec.decoding_table["187,210"] = [28784] let s:lib.Codec.decoding_table["187,211"] = [25381] let s:lib.Codec.decoding_table["187,212"] = [36745] let s:lib.Codec.decoding_table["187,213"] = [24509] let s:lib.Codec.decoding_table["187,214"] = [24674] let s:lib.Codec.decoding_table["187,215"] = [34516] let s:lib.Codec.decoding_table["187,216"] = [22238] let s:lib.Codec.decoding_table["187,217"] = [27585] let s:lib.Codec.decoding_table["187,218"] = [24724] let s:lib.Codec.decoding_table["187,219"] = [24935] let s:lib.Codec.decoding_table["187,220"] = [21321] let s:lib.Codec.decoding_table["187,221"] = [24800] let s:lib.Codec.decoding_table["187,222"] = [26214] let s:lib.Codec.decoding_table["187,223"] = [36159] let s:lib.Codec.decoding_table["187,224"] = [31229] let s:lib.Codec.decoding_table["187,225"] = [20250] let s:lib.Codec.decoding_table["187,226"] = [28905] let s:lib.Codec.decoding_table["187,227"] = [27719] let s:lib.Codec.decoding_table["187,228"] = [35763] let s:lib.Codec.decoding_table["187,229"] = [35826] let s:lib.Codec.decoding_table["187,230"] = [32472] let s:lib.Codec.decoding_table["187,231"] = [33636] let s:lib.Codec.decoding_table["187,232"] = [26127] let s:lib.Codec.decoding_table["187,233"] = [23130] let s:lib.Codec.decoding_table["187,234"] = [39746] let s:lib.Codec.decoding_table["187,235"] = [27985] let s:lib.Codec.decoding_table["187,236"] = [28151] let s:lib.Codec.decoding_table["187,237"] = [35905] let s:lib.Codec.decoding_table["187,238"] = [27963] let s:lib.Codec.decoding_table["187,239"] = [20249] let s:lib.Codec.decoding_table["187,240"] = [28779] let s:lib.Codec.decoding_table["187,241"] = [33719] let s:lib.Codec.decoding_table["187,242"] = [25110] let s:lib.Codec.decoding_table["187,243"] = [24785] let s:lib.Codec.decoding_table["187,244"] = [38669] let s:lib.Codec.decoding_table["187,245"] = [36135] let s:lib.Codec.decoding_table["187,246"] = [31096] let s:lib.Codec.decoding_table["187,247"] = [20987] let s:lib.Codec.decoding_table["187,248"] = [22334] let s:lib.Codec.decoding_table["187,249"] = [22522] let s:lib.Codec.decoding_table["187,250"] = [26426] let s:lib.Codec.decoding_table["187,251"] = [30072] let s:lib.Codec.decoding_table["187,252"] = [31293] let s:lib.Codec.decoding_table["187,253"] = [31215] let s:lib.Codec.decoding_table["187,254"] = [31637] let s:lib.Codec.decoding_table["188,64"] = [31935] let s:lib.Codec.decoding_table["188,65"] = [31936] let s:lib.Codec.decoding_table["188,66"] = [31938] let s:lib.Codec.decoding_table["188,67"] = [31939] let s:lib.Codec.decoding_table["188,68"] = [31940] let s:lib.Codec.decoding_table["188,69"] = [31942] let s:lib.Codec.decoding_table["188,70"] = [31945] let s:lib.Codec.decoding_table["188,71"] = [31947] let s:lib.Codec.decoding_table["188,72"] = [31950] let s:lib.Codec.decoding_table["188,73"] = [31951] let s:lib.Codec.decoding_table["188,74"] = [31952] let s:lib.Codec.decoding_table["188,75"] = [31953] let s:lib.Codec.decoding_table["188,76"] = [31954] let s:lib.Codec.decoding_table["188,77"] = [31955] let s:lib.Codec.decoding_table["188,78"] = [31956] let s:lib.Codec.decoding_table["188,79"] = [31960] let s:lib.Codec.decoding_table["188,80"] = [31962] let s:lib.Codec.decoding_table["188,81"] = [31963] let s:lib.Codec.decoding_table["188,82"] = [31965] let s:lib.Codec.decoding_table["188,83"] = [31966] let s:lib.Codec.decoding_table["188,84"] = [31969] let s:lib.Codec.decoding_table["188,85"] = [31970] let s:lib.Codec.decoding_table["188,86"] = [31971] let s:lib.Codec.decoding_table["188,87"] = [31972] let s:lib.Codec.decoding_table["188,88"] = [31973] let s:lib.Codec.decoding_table["188,89"] = [31974] let s:lib.Codec.decoding_table["188,90"] = [31975] let s:lib.Codec.decoding_table["188,91"] = [31977] let s:lib.Codec.decoding_table["188,92"] = [31978] let s:lib.Codec.decoding_table["188,93"] = [31979] let s:lib.Codec.decoding_table["188,94"] = [31980] let s:lib.Codec.decoding_table["188,95"] = [31981] let s:lib.Codec.decoding_table["188,96"] = [31982] let s:lib.Codec.decoding_table["188,97"] = [31984] let s:lib.Codec.decoding_table["188,98"] = [31985] let s:lib.Codec.decoding_table["188,99"] = [31986] let s:lib.Codec.decoding_table["188,100"] = [31987] let s:lib.Codec.decoding_table["188,101"] = [31988] let s:lib.Codec.decoding_table["188,102"] = [31989] let s:lib.Codec.decoding_table["188,103"] = [31990] let s:lib.Codec.decoding_table["188,104"] = [31991] let s:lib.Codec.decoding_table["188,105"] = [31993] let s:lib.Codec.decoding_table["188,106"] = [31994] let s:lib.Codec.decoding_table["188,107"] = [31996] let s:lib.Codec.decoding_table["188,108"] = [31997] let s:lib.Codec.decoding_table["188,109"] = [31998] let s:lib.Codec.decoding_table["188,110"] = [31999] let s:lib.Codec.decoding_table["188,111"] = [32000] let s:lib.Codec.decoding_table["188,112"] = [32001] let s:lib.Codec.decoding_table["188,113"] = [32002] let s:lib.Codec.decoding_table["188,114"] = [32003] let s:lib.Codec.decoding_table["188,115"] = [32004] let s:lib.Codec.decoding_table["188,116"] = [32005] let s:lib.Codec.decoding_table["188,117"] = [32006] let s:lib.Codec.decoding_table["188,118"] = [32007] let s:lib.Codec.decoding_table["188,119"] = [32008] let s:lib.Codec.decoding_table["188,120"] = [32009] let s:lib.Codec.decoding_table["188,121"] = [32011] let s:lib.Codec.decoding_table["188,122"] = [32012] let s:lib.Codec.decoding_table["188,123"] = [32013] let s:lib.Codec.decoding_table["188,124"] = [32014] let s:lib.Codec.decoding_table["188,125"] = [32015] let s:lib.Codec.decoding_table["188,126"] = [32016] let s:lib.Codec.decoding_table["188,128"] = [32017] let s:lib.Codec.decoding_table["188,129"] = [32018] let s:lib.Codec.decoding_table["188,130"] = [32019] let s:lib.Codec.decoding_table["188,131"] = [32020] let s:lib.Codec.decoding_table["188,132"] = [32021] let s:lib.Codec.decoding_table["188,133"] = [32022] let s:lib.Codec.decoding_table["188,134"] = [32023] let s:lib.Codec.decoding_table["188,135"] = [32024] let s:lib.Codec.decoding_table["188,136"] = [32025] let s:lib.Codec.decoding_table["188,137"] = [32026] let s:lib.Codec.decoding_table["188,138"] = [32027] let s:lib.Codec.decoding_table["188,139"] = [32028] let s:lib.Codec.decoding_table["188,140"] = [32029] let s:lib.Codec.decoding_table["188,141"] = [32030] let s:lib.Codec.decoding_table["188,142"] = [32031] let s:lib.Codec.decoding_table["188,143"] = [32033] let s:lib.Codec.decoding_table["188,144"] = [32035] let s:lib.Codec.decoding_table["188,145"] = [32036] let s:lib.Codec.decoding_table["188,146"] = [32037] let s:lib.Codec.decoding_table["188,147"] = [32038] let s:lib.Codec.decoding_table["188,148"] = [32040] let s:lib.Codec.decoding_table["188,149"] = [32041] let s:lib.Codec.decoding_table["188,150"] = [32042] let s:lib.Codec.decoding_table["188,151"] = [32044] let s:lib.Codec.decoding_table["188,152"] = [32045] let s:lib.Codec.decoding_table["188,153"] = [32046] let s:lib.Codec.decoding_table["188,154"] = [32048] let s:lib.Codec.decoding_table["188,155"] = [32049] let s:lib.Codec.decoding_table["188,156"] = [32050] let s:lib.Codec.decoding_table["188,157"] = [32051] let s:lib.Codec.decoding_table["188,158"] = [32052] let s:lib.Codec.decoding_table["188,159"] = [32053] let s:lib.Codec.decoding_table["188,160"] = [32054] let s:lib.Codec.decoding_table["188,161"] = [32908] let s:lib.Codec.decoding_table["188,162"] = [39269] let s:lib.Codec.decoding_table["188,163"] = [36857] let s:lib.Codec.decoding_table["188,164"] = [28608] let s:lib.Codec.decoding_table["188,165"] = [35749] let s:lib.Codec.decoding_table["188,166"] = [40481] let s:lib.Codec.decoding_table["188,167"] = [23020] let s:lib.Codec.decoding_table["188,168"] = [32489] let s:lib.Codec.decoding_table["188,169"] = [32521] let s:lib.Codec.decoding_table["188,170"] = [21513] let s:lib.Codec.decoding_table["188,171"] = [26497] let s:lib.Codec.decoding_table["188,172"] = [26840] let s:lib.Codec.decoding_table["188,173"] = [36753] let s:lib.Codec.decoding_table["188,174"] = [31821] let s:lib.Codec.decoding_table["188,175"] = [38598] let s:lib.Codec.decoding_table["188,176"] = [21450] let s:lib.Codec.decoding_table["188,177"] = [24613] let s:lib.Codec.decoding_table["188,178"] = [30142] let s:lib.Codec.decoding_table["188,179"] = [27762] let s:lib.Codec.decoding_table["188,180"] = [21363] let s:lib.Codec.decoding_table["188,181"] = [23241] let s:lib.Codec.decoding_table["188,182"] = [32423] let s:lib.Codec.decoding_table["188,183"] = [25380] let s:lib.Codec.decoding_table["188,184"] = [20960] let s:lib.Codec.decoding_table["188,185"] = [33034] let s:lib.Codec.decoding_table["188,186"] = [24049] let s:lib.Codec.decoding_table["188,187"] = [34015] let s:lib.Codec.decoding_table["188,188"] = [25216] let s:lib.Codec.decoding_table["188,189"] = [20864] let s:lib.Codec.decoding_table["188,190"] = [23395] let s:lib.Codec.decoding_table["188,191"] = [20238] let s:lib.Codec.decoding_table["188,192"] = [31085] let s:lib.Codec.decoding_table["188,193"] = [21058] let s:lib.Codec.decoding_table["188,194"] = [24760] let s:lib.Codec.decoding_table["188,195"] = [27982] let s:lib.Codec.decoding_table["188,196"] = [23492] let s:lib.Codec.decoding_table["188,197"] = [23490] let s:lib.Codec.decoding_table["188,198"] = [35745] let s:lib.Codec.decoding_table["188,199"] = [35760] let s:lib.Codec.decoding_table["188,200"] = [26082] let s:lib.Codec.decoding_table["188,201"] = [24524] let s:lib.Codec.decoding_table["188,202"] = [38469] let s:lib.Codec.decoding_table["188,203"] = [22931] let s:lib.Codec.decoding_table["188,204"] = [32487] let s:lib.Codec.decoding_table["188,205"] = [32426] let s:lib.Codec.decoding_table["188,206"] = [22025] let s:lib.Codec.decoding_table["188,207"] = [26551] let s:lib.Codec.decoding_table["188,208"] = [22841] let s:lib.Codec.decoding_table["188,209"] = [20339] let s:lib.Codec.decoding_table["188,210"] = [23478] let s:lib.Codec.decoding_table["188,211"] = [21152] let s:lib.Codec.decoding_table["188,212"] = [33626] let s:lib.Codec.decoding_table["188,213"] = [39050] let s:lib.Codec.decoding_table["188,214"] = [36158] let s:lib.Codec.decoding_table["188,215"] = [30002] let s:lib.Codec.decoding_table["188,216"] = [38078] let s:lib.Codec.decoding_table["188,217"] = [20551] let s:lib.Codec.decoding_table["188,218"] = [31292] let s:lib.Codec.decoding_table["188,219"] = [20215] let s:lib.Codec.decoding_table["188,220"] = [26550] let s:lib.Codec.decoding_table["188,221"] = [39550] let s:lib.Codec.decoding_table["188,222"] = [23233] let s:lib.Codec.decoding_table["188,223"] = [27516] let s:lib.Codec.decoding_table["188,224"] = [30417] let s:lib.Codec.decoding_table["188,225"] = [22362] let s:lib.Codec.decoding_table["188,226"] = [23574] let s:lib.Codec.decoding_table["188,227"] = [31546] let s:lib.Codec.decoding_table["188,228"] = [38388] let s:lib.Codec.decoding_table["188,229"] = [29006] let s:lib.Codec.decoding_table["188,230"] = [20860] let s:lib.Codec.decoding_table["188,231"] = [32937] let s:lib.Codec.decoding_table["188,232"] = [33392] let s:lib.Codec.decoding_table["188,233"] = [22904] let s:lib.Codec.decoding_table["188,234"] = [32516] let s:lib.Codec.decoding_table["188,235"] = [33575] let s:lib.Codec.decoding_table["188,236"] = [26816] let s:lib.Codec.decoding_table["188,237"] = [26604] let s:lib.Codec.decoding_table["188,238"] = [30897] let s:lib.Codec.decoding_table["188,239"] = [30839] let s:lib.Codec.decoding_table["188,240"] = [25315] let s:lib.Codec.decoding_table["188,241"] = [25441] let s:lib.Codec.decoding_table["188,242"] = [31616] let s:lib.Codec.decoding_table["188,243"] = [20461] let s:lib.Codec.decoding_table["188,244"] = [21098] let s:lib.Codec.decoding_table["188,245"] = [20943] let s:lib.Codec.decoding_table["188,246"] = [33616] let s:lib.Codec.decoding_table["188,247"] = [27099] let s:lib.Codec.decoding_table["188,248"] = [37492] let s:lib.Codec.decoding_table["188,249"] = [36341] let s:lib.Codec.decoding_table["188,250"] = [36145] let s:lib.Codec.decoding_table["188,251"] = [35265] let s:lib.Codec.decoding_table["188,252"] = [38190] let s:lib.Codec.decoding_table["188,253"] = [31661] let s:lib.Codec.decoding_table["188,254"] = [20214] let s:lib.Codec.decoding_table["189,64"] = [32055] let s:lib.Codec.decoding_table["189,65"] = [32056] let s:lib.Codec.decoding_table["189,66"] = [32057] let s:lib.Codec.decoding_table["189,67"] = [32058] let s:lib.Codec.decoding_table["189,68"] = [32059] let s:lib.Codec.decoding_table["189,69"] = [32060] let s:lib.Codec.decoding_table["189,70"] = [32061] let s:lib.Codec.decoding_table["189,71"] = [32062] let s:lib.Codec.decoding_table["189,72"] = [32063] let s:lib.Codec.decoding_table["189,73"] = [32064] let s:lib.Codec.decoding_table["189,74"] = [32065] let s:lib.Codec.decoding_table["189,75"] = [32066] let s:lib.Codec.decoding_table["189,76"] = [32067] let s:lib.Codec.decoding_table["189,77"] = [32068] let s:lib.Codec.decoding_table["189,78"] = [32069] let s:lib.Codec.decoding_table["189,79"] = [32070] let s:lib.Codec.decoding_table["189,80"] = [32071] let s:lib.Codec.decoding_table["189,81"] = [32072] let s:lib.Codec.decoding_table["189,82"] = [32073] let s:lib.Codec.decoding_table["189,83"] = [32074] let s:lib.Codec.decoding_table["189,84"] = [32075] let s:lib.Codec.decoding_table["189,85"] = [32076] let s:lib.Codec.decoding_table["189,86"] = [32077] let s:lib.Codec.decoding_table["189,87"] = [32078] let s:lib.Codec.decoding_table["189,88"] = [32079] let s:lib.Codec.decoding_table["189,89"] = [32080] let s:lib.Codec.decoding_table["189,90"] = [32081] let s:lib.Codec.decoding_table["189,91"] = [32082] let s:lib.Codec.decoding_table["189,92"] = [32083] let s:lib.Codec.decoding_table["189,93"] = [32084] let s:lib.Codec.decoding_table["189,94"] = [32085] let s:lib.Codec.decoding_table["189,95"] = [32086] let s:lib.Codec.decoding_table["189,96"] = [32087] let s:lib.Codec.decoding_table["189,97"] = [32088] let s:lib.Codec.decoding_table["189,98"] = [32089] let s:lib.Codec.decoding_table["189,99"] = [32090] let s:lib.Codec.decoding_table["189,100"] = [32091] let s:lib.Codec.decoding_table["189,101"] = [32092] let s:lib.Codec.decoding_table["189,102"] = [32093] let s:lib.Codec.decoding_table["189,103"] = [32094] let s:lib.Codec.decoding_table["189,104"] = [32095] let s:lib.Codec.decoding_table["189,105"] = [32096] let s:lib.Codec.decoding_table["189,106"] = [32097] let s:lib.Codec.decoding_table["189,107"] = [32098] let s:lib.Codec.decoding_table["189,108"] = [32099] let s:lib.Codec.decoding_table["189,109"] = [32100] let s:lib.Codec.decoding_table["189,110"] = [32101] let s:lib.Codec.decoding_table["189,111"] = [32102] let s:lib.Codec.decoding_table["189,112"] = [32103] let s:lib.Codec.decoding_table["189,113"] = [32104] let s:lib.Codec.decoding_table["189,114"] = [32105] let s:lib.Codec.decoding_table["189,115"] = [32106] let s:lib.Codec.decoding_table["189,116"] = [32107] let s:lib.Codec.decoding_table["189,117"] = [32108] let s:lib.Codec.decoding_table["189,118"] = [32109] let s:lib.Codec.decoding_table["189,119"] = [32111] let s:lib.Codec.decoding_table["189,120"] = [32112] let s:lib.Codec.decoding_table["189,121"] = [32113] let s:lib.Codec.decoding_table["189,122"] = [32114] let s:lib.Codec.decoding_table["189,123"] = [32115] let s:lib.Codec.decoding_table["189,124"] = [32116] let s:lib.Codec.decoding_table["189,125"] = [32117] let s:lib.Codec.decoding_table["189,126"] = [32118] let s:lib.Codec.decoding_table["189,128"] = [32120] let s:lib.Codec.decoding_table["189,129"] = [32121] let s:lib.Codec.decoding_table["189,130"] = [32122] let s:lib.Codec.decoding_table["189,131"] = [32123] let s:lib.Codec.decoding_table["189,132"] = [32124] let s:lib.Codec.decoding_table["189,133"] = [32125] let s:lib.Codec.decoding_table["189,134"] = [32126] let s:lib.Codec.decoding_table["189,135"] = [32127] let s:lib.Codec.decoding_table["189,136"] = [32128] let s:lib.Codec.decoding_table["189,137"] = [32129] let s:lib.Codec.decoding_table["189,138"] = [32130] let s:lib.Codec.decoding_table["189,139"] = [32131] let s:lib.Codec.decoding_table["189,140"] = [32132] let s:lib.Codec.decoding_table["189,141"] = [32133] let s:lib.Codec.decoding_table["189,142"] = [32134] let s:lib.Codec.decoding_table["189,143"] = [32135] let s:lib.Codec.decoding_table["189,144"] = [32136] let s:lib.Codec.decoding_table["189,145"] = [32137] let s:lib.Codec.decoding_table["189,146"] = [32138] let s:lib.Codec.decoding_table["189,147"] = [32139] let s:lib.Codec.decoding_table["189,148"] = [32140] let s:lib.Codec.decoding_table["189,149"] = [32141] let s:lib.Codec.decoding_table["189,150"] = [32142] let s:lib.Codec.decoding_table["189,151"] = [32143] let s:lib.Codec.decoding_table["189,152"] = [32144] let s:lib.Codec.decoding_table["189,153"] = [32145] let s:lib.Codec.decoding_table["189,154"] = [32146] let s:lib.Codec.decoding_table["189,155"] = [32147] let s:lib.Codec.decoding_table["189,156"] = [32148] let s:lib.Codec.decoding_table["189,157"] = [32149] let s:lib.Codec.decoding_table["189,158"] = [32150] let s:lib.Codec.decoding_table["189,159"] = [32151] let s:lib.Codec.decoding_table["189,160"] = [32152] let s:lib.Codec.decoding_table["189,161"] = [20581] let s:lib.Codec.decoding_table["189,162"] = [33328] let s:lib.Codec.decoding_table["189,163"] = [21073] let s:lib.Codec.decoding_table["189,164"] = [39279] let s:lib.Codec.decoding_table["189,165"] = [28176] let s:lib.Codec.decoding_table["189,166"] = [28293] let s:lib.Codec.decoding_table["189,167"] = [28071] let s:lib.Codec.decoding_table["189,168"] = [24314] let s:lib.Codec.decoding_table["189,169"] = [20725] let s:lib.Codec.decoding_table["189,170"] = [23004] let s:lib.Codec.decoding_table["189,171"] = [23558] let s:lib.Codec.decoding_table["189,172"] = [27974] let s:lib.Codec.decoding_table["189,173"] = [27743] let s:lib.Codec.decoding_table["189,174"] = [30086] let s:lib.Codec.decoding_table["189,175"] = [33931] let s:lib.Codec.decoding_table["189,176"] = [26728] let s:lib.Codec.decoding_table["189,177"] = [22870] let s:lib.Codec.decoding_table["189,178"] = [35762] let s:lib.Codec.decoding_table["189,179"] = [21280] let s:lib.Codec.decoding_table["189,180"] = [37233] let s:lib.Codec.decoding_table["189,181"] = [38477] let s:lib.Codec.decoding_table["189,182"] = [34121] let s:lib.Codec.decoding_table["189,183"] = [26898] let s:lib.Codec.decoding_table["189,184"] = [30977] let s:lib.Codec.decoding_table["189,185"] = [28966] let s:lib.Codec.decoding_table["189,186"] = [33014] let s:lib.Codec.decoding_table["189,187"] = [20132] let s:lib.Codec.decoding_table["189,188"] = [37066] let s:lib.Codec.decoding_table["189,189"] = [27975] let s:lib.Codec.decoding_table["189,190"] = [39556] let s:lib.Codec.decoding_table["189,191"] = [23047] let s:lib.Codec.decoding_table["189,192"] = [22204] let s:lib.Codec.decoding_table["189,193"] = [25605] let s:lib.Codec.decoding_table["189,194"] = [38128] let s:lib.Codec.decoding_table["189,195"] = [30699] let s:lib.Codec.decoding_table["189,196"] = [20389] let s:lib.Codec.decoding_table["189,197"] = [33050] let s:lib.Codec.decoding_table["189,198"] = [29409] let s:lib.Codec.decoding_table["189,199"] = [35282] let s:lib.Codec.decoding_table["189,200"] = [39290] let s:lib.Codec.decoding_table["189,201"] = [32564] let s:lib.Codec.decoding_table["189,202"] = [32478] let s:lib.Codec.decoding_table["189,203"] = [21119] let s:lib.Codec.decoding_table["189,204"] = [25945] let s:lib.Codec.decoding_table["189,205"] = [37237] let s:lib.Codec.decoding_table["189,206"] = [36735] let s:lib.Codec.decoding_table["189,207"] = [36739] let s:lib.Codec.decoding_table["189,208"] = [21483] let s:lib.Codec.decoding_table["189,209"] = [31382] let s:lib.Codec.decoding_table["189,210"] = [25581] let s:lib.Codec.decoding_table["189,211"] = [25509] let s:lib.Codec.decoding_table["189,212"] = [30342] let s:lib.Codec.decoding_table["189,213"] = [31224] let s:lib.Codec.decoding_table["189,214"] = [34903] let s:lib.Codec.decoding_table["189,215"] = [38454] let s:lib.Codec.decoding_table["189,216"] = [25130] let s:lib.Codec.decoding_table["189,217"] = [21163] let s:lib.Codec.decoding_table["189,218"] = [33410] let s:lib.Codec.decoding_table["189,219"] = [26708] let s:lib.Codec.decoding_table["189,220"] = [26480] let s:lib.Codec.decoding_table["189,221"] = [25463] let s:lib.Codec.decoding_table["189,222"] = [30571] let s:lib.Codec.decoding_table["189,223"] = [31469] let s:lib.Codec.decoding_table["189,224"] = [27905] let s:lib.Codec.decoding_table["189,225"] = [32467] let s:lib.Codec.decoding_table["189,226"] = [35299] let s:lib.Codec.decoding_table["189,227"] = [22992] let s:lib.Codec.decoding_table["189,228"] = [25106] let s:lib.Codec.decoding_table["189,229"] = [34249] let s:lib.Codec.decoding_table["189,230"] = [33445] let s:lib.Codec.decoding_table["189,231"] = [30028] let s:lib.Codec.decoding_table["189,232"] = [20511] let s:lib.Codec.decoding_table["189,233"] = [20171] let s:lib.Codec.decoding_table["189,234"] = [30117] let s:lib.Codec.decoding_table["189,235"] = [35819] let s:lib.Codec.decoding_table["189,236"] = [23626] let s:lib.Codec.decoding_table["189,237"] = [24062] let s:lib.Codec.decoding_table["189,238"] = [31563] let s:lib.Codec.decoding_table["189,239"] = [26020] let s:lib.Codec.decoding_table["189,240"] = [37329] let s:lib.Codec.decoding_table["189,241"] = [20170] let s:lib.Codec.decoding_table["189,242"] = [27941] let s:lib.Codec.decoding_table["189,243"] = [35167] let s:lib.Codec.decoding_table["189,244"] = [32039] let s:lib.Codec.decoding_table["189,245"] = [38182] let s:lib.Codec.decoding_table["189,246"] = [20165] let s:lib.Codec.decoding_table["189,247"] = [35880] let s:lib.Codec.decoding_table["189,248"] = [36827] let s:lib.Codec.decoding_table["189,249"] = [38771] let s:lib.Codec.decoding_table["189,250"] = [26187] let s:lib.Codec.decoding_table["189,251"] = [31105] let s:lib.Codec.decoding_table["189,252"] = [36817] let s:lib.Codec.decoding_table["189,253"] = [28908] let s:lib.Codec.decoding_table["189,254"] = [28024] let s:lib.Codec.decoding_table["190,64"] = [32153] let s:lib.Codec.decoding_table["190,65"] = [32154] let s:lib.Codec.decoding_table["190,66"] = [32155] let s:lib.Codec.decoding_table["190,67"] = [32156] let s:lib.Codec.decoding_table["190,68"] = [32157] let s:lib.Codec.decoding_table["190,69"] = [32158] let s:lib.Codec.decoding_table["190,70"] = [32159] let s:lib.Codec.decoding_table["190,71"] = [32160] let s:lib.Codec.decoding_table["190,72"] = [32161] let s:lib.Codec.decoding_table["190,73"] = [32162] let s:lib.Codec.decoding_table["190,74"] = [32163] let s:lib.Codec.decoding_table["190,75"] = [32164] let s:lib.Codec.decoding_table["190,76"] = [32165] let s:lib.Codec.decoding_table["190,77"] = [32167] let s:lib.Codec.decoding_table["190,78"] = [32168] let s:lib.Codec.decoding_table["190,79"] = [32169] let s:lib.Codec.decoding_table["190,80"] = [32170] let s:lib.Codec.decoding_table["190,81"] = [32171] let s:lib.Codec.decoding_table["190,82"] = [32172] let s:lib.Codec.decoding_table["190,83"] = [32173] let s:lib.Codec.decoding_table["190,84"] = [32175] let s:lib.Codec.decoding_table["190,85"] = [32176] let s:lib.Codec.decoding_table["190,86"] = [32177] let s:lib.Codec.decoding_table["190,87"] = [32178] let s:lib.Codec.decoding_table["190,88"] = [32179] let s:lib.Codec.decoding_table["190,89"] = [32180] let s:lib.Codec.decoding_table["190,90"] = [32181] let s:lib.Codec.decoding_table["190,91"] = [32182] let s:lib.Codec.decoding_table["190,92"] = [32183] let s:lib.Codec.decoding_table["190,93"] = [32184] let s:lib.Codec.decoding_table["190,94"] = [32185] let s:lib.Codec.decoding_table["190,95"] = [32186] let s:lib.Codec.decoding_table["190,96"] = [32187] let s:lib.Codec.decoding_table["190,97"] = [32188] let s:lib.Codec.decoding_table["190,98"] = [32189] let s:lib.Codec.decoding_table["190,99"] = [32190] let s:lib.Codec.decoding_table["190,100"] = [32191] let s:lib.Codec.decoding_table["190,101"] = [32192] let s:lib.Codec.decoding_table["190,102"] = [32193] let s:lib.Codec.decoding_table["190,103"] = [32194] let s:lib.Codec.decoding_table["190,104"] = [32195] let s:lib.Codec.decoding_table["190,105"] = [32196] let s:lib.Codec.decoding_table["190,106"] = [32197] let s:lib.Codec.decoding_table["190,107"] = [32198] let s:lib.Codec.decoding_table["190,108"] = [32199] let s:lib.Codec.decoding_table["190,109"] = [32200] let s:lib.Codec.decoding_table["190,110"] = [32201] let s:lib.Codec.decoding_table["190,111"] = [32202] let s:lib.Codec.decoding_table["190,112"] = [32203] let s:lib.Codec.decoding_table["190,113"] = [32204] let s:lib.Codec.decoding_table["190,114"] = [32205] let s:lib.Codec.decoding_table["190,115"] = [32206] let s:lib.Codec.decoding_table["190,116"] = [32207] let s:lib.Codec.decoding_table["190,117"] = [32208] let s:lib.Codec.decoding_table["190,118"] = [32209] let s:lib.Codec.decoding_table["190,119"] = [32210] let s:lib.Codec.decoding_table["190,120"] = [32211] let s:lib.Codec.decoding_table["190,121"] = [32212] let s:lib.Codec.decoding_table["190,122"] = [32213] let s:lib.Codec.decoding_table["190,123"] = [32214] let s:lib.Codec.decoding_table["190,124"] = [32215] let s:lib.Codec.decoding_table["190,125"] = [32216] let s:lib.Codec.decoding_table["190,126"] = [32217] let s:lib.Codec.decoding_table["190,128"] = [32218] let s:lib.Codec.decoding_table["190,129"] = [32219] let s:lib.Codec.decoding_table["190,130"] = [32220] let s:lib.Codec.decoding_table["190,131"] = [32221] let s:lib.Codec.decoding_table["190,132"] = [32222] let s:lib.Codec.decoding_table["190,133"] = [32223] let s:lib.Codec.decoding_table["190,134"] = [32224] let s:lib.Codec.decoding_table["190,135"] = [32225] let s:lib.Codec.decoding_table["190,136"] = [32226] let s:lib.Codec.decoding_table["190,137"] = [32227] let s:lib.Codec.decoding_table["190,138"] = [32228] let s:lib.Codec.decoding_table["190,139"] = [32229] let s:lib.Codec.decoding_table["190,140"] = [32230] let s:lib.Codec.decoding_table["190,141"] = [32231] let s:lib.Codec.decoding_table["190,142"] = [32232] let s:lib.Codec.decoding_table["190,143"] = [32233] let s:lib.Codec.decoding_table["190,144"] = [32234] let s:lib.Codec.decoding_table["190,145"] = [32235] let s:lib.Codec.decoding_table["190,146"] = [32236] let s:lib.Codec.decoding_table["190,147"] = [32237] let s:lib.Codec.decoding_table["190,148"] = [32238] let s:lib.Codec.decoding_table["190,149"] = [32239] let s:lib.Codec.decoding_table["190,150"] = [32240] let s:lib.Codec.decoding_table["190,151"] = [32241] let s:lib.Codec.decoding_table["190,152"] = [32242] let s:lib.Codec.decoding_table["190,153"] = [32243] let s:lib.Codec.decoding_table["190,154"] = [32244] let s:lib.Codec.decoding_table["190,155"] = [32245] let s:lib.Codec.decoding_table["190,156"] = [32246] let s:lib.Codec.decoding_table["190,157"] = [32247] let s:lib.Codec.decoding_table["190,158"] = [32248] let s:lib.Codec.decoding_table["190,159"] = [32249] let s:lib.Codec.decoding_table["190,160"] = [32250] let s:lib.Codec.decoding_table["190,161"] = [23613] let s:lib.Codec.decoding_table["190,162"] = [21170] let s:lib.Codec.decoding_table["190,163"] = [33606] let s:lib.Codec.decoding_table["190,164"] = [20834] let s:lib.Codec.decoding_table["190,165"] = [33550] let s:lib.Codec.decoding_table["190,166"] = [30555] let s:lib.Codec.decoding_table["190,167"] = [26230] let s:lib.Codec.decoding_table["190,168"] = [40120] let s:lib.Codec.decoding_table["190,169"] = [20140] let s:lib.Codec.decoding_table["190,170"] = [24778] let s:lib.Codec.decoding_table["190,171"] = [31934] let s:lib.Codec.decoding_table["190,172"] = [31923] let s:lib.Codec.decoding_table["190,173"] = [32463] let s:lib.Codec.decoding_table["190,174"] = [20117] let s:lib.Codec.decoding_table["190,175"] = [35686] let s:lib.Codec.decoding_table["190,176"] = [26223] let s:lib.Codec.decoding_table["190,177"] = [39048] let s:lib.Codec.decoding_table["190,178"] = [38745] let s:lib.Codec.decoding_table["190,179"] = [22659] let s:lib.Codec.decoding_table["190,180"] = [25964] let s:lib.Codec.decoding_table["190,181"] = [38236] let s:lib.Codec.decoding_table["190,182"] = [24452] let s:lib.Codec.decoding_table["190,183"] = [30153] let s:lib.Codec.decoding_table["190,184"] = [38742] let s:lib.Codec.decoding_table["190,185"] = [31455] let s:lib.Codec.decoding_table["190,186"] = [31454] let s:lib.Codec.decoding_table["190,187"] = [20928] let s:lib.Codec.decoding_table["190,188"] = [28847] let s:lib.Codec.decoding_table["190,189"] = [31384] let s:lib.Codec.decoding_table["190,190"] = [25578] let s:lib.Codec.decoding_table["190,191"] = [31350] let s:lib.Codec.decoding_table["190,192"] = [32416] let s:lib.Codec.decoding_table["190,193"] = [29590] let s:lib.Codec.decoding_table["190,194"] = [38893] let s:lib.Codec.decoding_table["190,195"] = [20037] let s:lib.Codec.decoding_table["190,196"] = [28792] let s:lib.Codec.decoding_table["190,197"] = [20061] let s:lib.Codec.decoding_table["190,198"] = [37202] let s:lib.Codec.decoding_table["190,199"] = [21417] let s:lib.Codec.decoding_table["190,200"] = [25937] let s:lib.Codec.decoding_table["190,201"] = [26087] let s:lib.Codec.decoding_table["190,202"] = [33276] let s:lib.Codec.decoding_table["190,203"] = [33285] let s:lib.Codec.decoding_table["190,204"] = [21646] let s:lib.Codec.decoding_table["190,205"] = [23601] let s:lib.Codec.decoding_table["190,206"] = [30106] let s:lib.Codec.decoding_table["190,207"] = [38816] let s:lib.Codec.decoding_table["190,208"] = [25304] let s:lib.Codec.decoding_table["190,209"] = [29401] let s:lib.Codec.decoding_table["190,210"] = [30141] let s:lib.Codec.decoding_table["190,211"] = [23621] let s:lib.Codec.decoding_table["190,212"] = [39545] let s:lib.Codec.decoding_table["190,213"] = [33738] let s:lib.Codec.decoding_table["190,214"] = [23616] let s:lib.Codec.decoding_table["190,215"] = [21632] let s:lib.Codec.decoding_table["190,216"] = [30697] let s:lib.Codec.decoding_table["190,217"] = [20030] let s:lib.Codec.decoding_table["190,218"] = [27822] let s:lib.Codec.decoding_table["190,219"] = [32858] let s:lib.Codec.decoding_table["190,220"] = [25298] let s:lib.Codec.decoding_table["190,221"] = [25454] let s:lib.Codec.decoding_table["190,222"] = [24040] let s:lib.Codec.decoding_table["190,223"] = [20855] let s:lib.Codec.decoding_table["190,224"] = [36317] let s:lib.Codec.decoding_table["190,225"] = [36382] let s:lib.Codec.decoding_table["190,226"] = [38191] let s:lib.Codec.decoding_table["190,227"] = [20465] let s:lib.Codec.decoding_table["190,228"] = [21477] let s:lib.Codec.decoding_table["190,229"] = [24807] let s:lib.Codec.decoding_table["190,230"] = [28844] let s:lib.Codec.decoding_table["190,231"] = [21095] let s:lib.Codec.decoding_table["190,232"] = [25424] let s:lib.Codec.decoding_table["190,233"] = [40515] let s:lib.Codec.decoding_table["190,234"] = [23071] let s:lib.Codec.decoding_table["190,235"] = [20518] let s:lib.Codec.decoding_table["190,236"] = [30519] let s:lib.Codec.decoding_table["190,237"] = [21367] let s:lib.Codec.decoding_table["190,238"] = [32482] let s:lib.Codec.decoding_table["190,239"] = [25733] let s:lib.Codec.decoding_table["190,240"] = [25899] let s:lib.Codec.decoding_table["190,241"] = [25225] let s:lib.Codec.decoding_table["190,242"] = [25496] let s:lib.Codec.decoding_table["190,243"] = [20500] let s:lib.Codec.decoding_table["190,244"] = [29237] let s:lib.Codec.decoding_table["190,245"] = [35273] let s:lib.Codec.decoding_table["190,246"] = [20915] let s:lib.Codec.decoding_table["190,247"] = [35776] let s:lib.Codec.decoding_table["190,248"] = [32477] let s:lib.Codec.decoding_table["190,249"] = [22343] let s:lib.Codec.decoding_table["190,250"] = [33740] let s:lib.Codec.decoding_table["190,251"] = [38055] let s:lib.Codec.decoding_table["190,252"] = [20891] let s:lib.Codec.decoding_table["190,253"] = [21531] let s:lib.Codec.decoding_table["190,254"] = [23803] let s:lib.Codec.decoding_table["191,64"] = [32251] let s:lib.Codec.decoding_table["191,65"] = [32252] let s:lib.Codec.decoding_table["191,66"] = [32253] let s:lib.Codec.decoding_table["191,67"] = [32254] let s:lib.Codec.decoding_table["191,68"] = [32255] let s:lib.Codec.decoding_table["191,69"] = [32256] let s:lib.Codec.decoding_table["191,70"] = [32257] let s:lib.Codec.decoding_table["191,71"] = [32258] let s:lib.Codec.decoding_table["191,72"] = [32259] let s:lib.Codec.decoding_table["191,73"] = [32260] let s:lib.Codec.decoding_table["191,74"] = [32261] let s:lib.Codec.decoding_table["191,75"] = [32262] let s:lib.Codec.decoding_table["191,76"] = [32263] let s:lib.Codec.decoding_table["191,77"] = [32264] let s:lib.Codec.decoding_table["191,78"] = [32265] let s:lib.Codec.decoding_table["191,79"] = [32266] let s:lib.Codec.decoding_table["191,80"] = [32267] let s:lib.Codec.decoding_table["191,81"] = [32268] let s:lib.Codec.decoding_table["191,82"] = [32269] let s:lib.Codec.decoding_table["191,83"] = [32270] let s:lib.Codec.decoding_table["191,84"] = [32271] let s:lib.Codec.decoding_table["191,85"] = [32272] let s:lib.Codec.decoding_table["191,86"] = [32273] let s:lib.Codec.decoding_table["191,87"] = [32274] let s:lib.Codec.decoding_table["191,88"] = [32275] let s:lib.Codec.decoding_table["191,89"] = [32276] let s:lib.Codec.decoding_table["191,90"] = [32277] let s:lib.Codec.decoding_table["191,91"] = [32278] let s:lib.Codec.decoding_table["191,92"] = [32279] let s:lib.Codec.decoding_table["191,93"] = [32280] let s:lib.Codec.decoding_table["191,94"] = [32281] let s:lib.Codec.decoding_table["191,95"] = [32282] let s:lib.Codec.decoding_table["191,96"] = [32283] let s:lib.Codec.decoding_table["191,97"] = [32284] let s:lib.Codec.decoding_table["191,98"] = [32285] let s:lib.Codec.decoding_table["191,99"] = [32286] let s:lib.Codec.decoding_table["191,100"] = [32287] let s:lib.Codec.decoding_table["191,101"] = [32288] let s:lib.Codec.decoding_table["191,102"] = [32289] let s:lib.Codec.decoding_table["191,103"] = [32290] let s:lib.Codec.decoding_table["191,104"] = [32291] let s:lib.Codec.decoding_table["191,105"] = [32292] let s:lib.Codec.decoding_table["191,106"] = [32293] let s:lib.Codec.decoding_table["191,107"] = [32294] let s:lib.Codec.decoding_table["191,108"] = [32295] let s:lib.Codec.decoding_table["191,109"] = [32296] let s:lib.Codec.decoding_table["191,110"] = [32297] let s:lib.Codec.decoding_table["191,111"] = [32298] let s:lib.Codec.decoding_table["191,112"] = [32299] let s:lib.Codec.decoding_table["191,113"] = [32300] let s:lib.Codec.decoding_table["191,114"] = [32301] let s:lib.Codec.decoding_table["191,115"] = [32302] let s:lib.Codec.decoding_table["191,116"] = [32303] let s:lib.Codec.decoding_table["191,117"] = [32304] let s:lib.Codec.decoding_table["191,118"] = [32305] let s:lib.Codec.decoding_table["191,119"] = [32306] let s:lib.Codec.decoding_table["191,120"] = [32307] let s:lib.Codec.decoding_table["191,121"] = [32308] let s:lib.Codec.decoding_table["191,122"] = [32309] let s:lib.Codec.decoding_table["191,123"] = [32310] let s:lib.Codec.decoding_table["191,124"] = [32311] let s:lib.Codec.decoding_table["191,125"] = [32312] let s:lib.Codec.decoding_table["191,126"] = [32313] let s:lib.Codec.decoding_table["191,128"] = [32314] let s:lib.Codec.decoding_table["191,129"] = [32316] let s:lib.Codec.decoding_table["191,130"] = [32317] let s:lib.Codec.decoding_table["191,131"] = [32318] let s:lib.Codec.decoding_table["191,132"] = [32319] let s:lib.Codec.decoding_table["191,133"] = [32320] let s:lib.Codec.decoding_table["191,134"] = [32322] let s:lib.Codec.decoding_table["191,135"] = [32323] let s:lib.Codec.decoding_table["191,136"] = [32324] let s:lib.Codec.decoding_table["191,137"] = [32325] let s:lib.Codec.decoding_table["191,138"] = [32326] let s:lib.Codec.decoding_table["191,139"] = [32328] let s:lib.Codec.decoding_table["191,140"] = [32329] let s:lib.Codec.decoding_table["191,141"] = [32330] let s:lib.Codec.decoding_table["191,142"] = [32331] let s:lib.Codec.decoding_table["191,143"] = [32332] let s:lib.Codec.decoding_table["191,144"] = [32333] let s:lib.Codec.decoding_table["191,145"] = [32334] let s:lib.Codec.decoding_table["191,146"] = [32335] let s:lib.Codec.decoding_table["191,147"] = [32336] let s:lib.Codec.decoding_table["191,148"] = [32337] let s:lib.Codec.decoding_table["191,149"] = [32338] let s:lib.Codec.decoding_table["191,150"] = [32339] let s:lib.Codec.decoding_table["191,151"] = [32340] let s:lib.Codec.decoding_table["191,152"] = [32341] let s:lib.Codec.decoding_table["191,153"] = [32342] let s:lib.Codec.decoding_table["191,154"] = [32343] let s:lib.Codec.decoding_table["191,155"] = [32344] let s:lib.Codec.decoding_table["191,156"] = [32345] let s:lib.Codec.decoding_table["191,157"] = [32346] let s:lib.Codec.decoding_table["191,158"] = [32347] let s:lib.Codec.decoding_table["191,159"] = [32348] let s:lib.Codec.decoding_table["191,160"] = [32349] let s:lib.Codec.decoding_table["191,161"] = [20426] let s:lib.Codec.decoding_table["191,162"] = [31459] let s:lib.Codec.decoding_table["191,163"] = [27994] let s:lib.Codec.decoding_table["191,164"] = [37089] let s:lib.Codec.decoding_table["191,165"] = [39567] let s:lib.Codec.decoding_table["191,166"] = [21888] let s:lib.Codec.decoding_table["191,167"] = [21654] let s:lib.Codec.decoding_table["191,168"] = [21345] let s:lib.Codec.decoding_table["191,169"] = [21679] let s:lib.Codec.decoding_table["191,170"] = [24320] let s:lib.Codec.decoding_table["191,171"] = [25577] let s:lib.Codec.decoding_table["191,172"] = [26999] let s:lib.Codec.decoding_table["191,173"] = [20975] let s:lib.Codec.decoding_table["191,174"] = [24936] let s:lib.Codec.decoding_table["191,175"] = [21002] let s:lib.Codec.decoding_table["191,176"] = [22570] let s:lib.Codec.decoding_table["191,177"] = [21208] let s:lib.Codec.decoding_table["191,178"] = [22350] let s:lib.Codec.decoding_table["191,179"] = [30733] let s:lib.Codec.decoding_table["191,180"] = [30475] let s:lib.Codec.decoding_table["191,181"] = [24247] let s:lib.Codec.decoding_table["191,182"] = [24951] let s:lib.Codec.decoding_table["191,183"] = [31968] let s:lib.Codec.decoding_table["191,184"] = [25179] let s:lib.Codec.decoding_table["191,185"] = [25239] let s:lib.Codec.decoding_table["191,186"] = [20130] let s:lib.Codec.decoding_table["191,187"] = [28821] let s:lib.Codec.decoding_table["191,188"] = [32771] let s:lib.Codec.decoding_table["191,189"] = [25335] let s:lib.Codec.decoding_table["191,190"] = [28900] let s:lib.Codec.decoding_table["191,191"] = [38752] let s:lib.Codec.decoding_table["191,192"] = [22391] let s:lib.Codec.decoding_table["191,193"] = [33499] let s:lib.Codec.decoding_table["191,194"] = [26607] let s:lib.Codec.decoding_table["191,195"] = [26869] let s:lib.Codec.decoding_table["191,196"] = [30933] let s:lib.Codec.decoding_table["191,197"] = [39063] let s:lib.Codec.decoding_table["191,198"] = [31185] let s:lib.Codec.decoding_table["191,199"] = [22771] let s:lib.Codec.decoding_table["191,200"] = [21683] let s:lib.Codec.decoding_table["191,201"] = [21487] let s:lib.Codec.decoding_table["191,202"] = [28212] let s:lib.Codec.decoding_table["191,203"] = [20811] let s:lib.Codec.decoding_table["191,204"] = [21051] let s:lib.Codec.decoding_table["191,205"] = [23458] let s:lib.Codec.decoding_table["191,206"] = [35838] let s:lib.Codec.decoding_table["191,207"] = [32943] let s:lib.Codec.decoding_table["191,208"] = [21827] let s:lib.Codec.decoding_table["191,209"] = [22438] let s:lib.Codec.decoding_table["191,210"] = [24691] let s:lib.Codec.decoding_table["191,211"] = [22353] let s:lib.Codec.decoding_table["191,212"] = [21549] let s:lib.Codec.decoding_table["191,213"] = [31354] let s:lib.Codec.decoding_table["191,214"] = [24656] let s:lib.Codec.decoding_table["191,215"] = [23380] let s:lib.Codec.decoding_table["191,216"] = [25511] let s:lib.Codec.decoding_table["191,217"] = [25248] let s:lib.Codec.decoding_table["191,218"] = [21475] let s:lib.Codec.decoding_table["191,219"] = [25187] let s:lib.Codec.decoding_table["191,220"] = [23495] let s:lib.Codec.decoding_table["191,221"] = [26543] let s:lib.Codec.decoding_table["191,222"] = [21741] let s:lib.Codec.decoding_table["191,223"] = [31391] let s:lib.Codec.decoding_table["191,224"] = [33510] let s:lib.Codec.decoding_table["191,225"] = [37239] let s:lib.Codec.decoding_table["191,226"] = [24211] let s:lib.Codec.decoding_table["191,227"] = [35044] let s:lib.Codec.decoding_table["191,228"] = [22840] let s:lib.Codec.decoding_table["191,229"] = [22446] let s:lib.Codec.decoding_table["191,230"] = [25358] let s:lib.Codec.decoding_table["191,231"] = [36328] let s:lib.Codec.decoding_table["191,232"] = [33007] let s:lib.Codec.decoding_table["191,233"] = [22359] let s:lib.Codec.decoding_table["191,234"] = [31607] let s:lib.Codec.decoding_table["191,235"] = [20393] let s:lib.Codec.decoding_table["191,236"] = [24555] let s:lib.Codec.decoding_table["191,237"] = [23485] let s:lib.Codec.decoding_table["191,238"] = [27454] let s:lib.Codec.decoding_table["191,239"] = [21281] let s:lib.Codec.decoding_table["191,240"] = [31568] let s:lib.Codec.decoding_table["191,241"] = [29378] let s:lib.Codec.decoding_table["191,242"] = [26694] let s:lib.Codec.decoding_table["191,243"] = [30719] let s:lib.Codec.decoding_table["191,244"] = [30518] let s:lib.Codec.decoding_table["191,245"] = [26103] let s:lib.Codec.decoding_table["191,246"] = [20917] let s:lib.Codec.decoding_table["191,247"] = [20111] let s:lib.Codec.decoding_table["191,248"] = [30420] let s:lib.Codec.decoding_table["191,249"] = [23743] let s:lib.Codec.decoding_table["191,250"] = [31397] let s:lib.Codec.decoding_table["191,251"] = [33909] let s:lib.Codec.decoding_table["191,252"] = [22862] let s:lib.Codec.decoding_table["191,253"] = [39745] let s:lib.Codec.decoding_table["191,254"] = [20608] let s:lib.Codec.decoding_table["192,64"] = [32350] let s:lib.Codec.decoding_table["192,65"] = [32351] let s:lib.Codec.decoding_table["192,66"] = [32352] let s:lib.Codec.decoding_table["192,67"] = [32353] let s:lib.Codec.decoding_table["192,68"] = [32354] let s:lib.Codec.decoding_table["192,69"] = [32355] let s:lib.Codec.decoding_table["192,70"] = [32356] let s:lib.Codec.decoding_table["192,71"] = [32357] let s:lib.Codec.decoding_table["192,72"] = [32358] let s:lib.Codec.decoding_table["192,73"] = [32359] let s:lib.Codec.decoding_table["192,74"] = [32360] let s:lib.Codec.decoding_table["192,75"] = [32361] let s:lib.Codec.decoding_table["192,76"] = [32362] let s:lib.Codec.decoding_table["192,77"] = [32363] let s:lib.Codec.decoding_table["192,78"] = [32364] let s:lib.Codec.decoding_table["192,79"] = [32365] let s:lib.Codec.decoding_table["192,80"] = [32366] let s:lib.Codec.decoding_table["192,81"] = [32367] let s:lib.Codec.decoding_table["192,82"] = [32368] let s:lib.Codec.decoding_table["192,83"] = [32369] let s:lib.Codec.decoding_table["192,84"] = [32370] let s:lib.Codec.decoding_table["192,85"] = [32371] let s:lib.Codec.decoding_table["192,86"] = [32372] let s:lib.Codec.decoding_table["192,87"] = [32373] let s:lib.Codec.decoding_table["192,88"] = [32374] let s:lib.Codec.decoding_table["192,89"] = [32375] let s:lib.Codec.decoding_table["192,90"] = [32376] let s:lib.Codec.decoding_table["192,91"] = [32377] let s:lib.Codec.decoding_table["192,92"] = [32378] let s:lib.Codec.decoding_table["192,93"] = [32379] let s:lib.Codec.decoding_table["192,94"] = [32380] let s:lib.Codec.decoding_table["192,95"] = [32381] let s:lib.Codec.decoding_table["192,96"] = [32382] let s:lib.Codec.decoding_table["192,97"] = [32383] let s:lib.Codec.decoding_table["192,98"] = [32384] let s:lib.Codec.decoding_table["192,99"] = [32385] let s:lib.Codec.decoding_table["192,100"] = [32387] let s:lib.Codec.decoding_table["192,101"] = [32388] let s:lib.Codec.decoding_table["192,102"] = [32389] let s:lib.Codec.decoding_table["192,103"] = [32390] let s:lib.Codec.decoding_table["192,104"] = [32391] let s:lib.Codec.decoding_table["192,105"] = [32392] let s:lib.Codec.decoding_table["192,106"] = [32393] let s:lib.Codec.decoding_table["192,107"] = [32394] let s:lib.Codec.decoding_table["192,108"] = [32395] let s:lib.Codec.decoding_table["192,109"] = [32396] let s:lib.Codec.decoding_table["192,110"] = [32397] let s:lib.Codec.decoding_table["192,111"] = [32398] let s:lib.Codec.decoding_table["192,112"] = [32399] let s:lib.Codec.decoding_table["192,113"] = [32400] let s:lib.Codec.decoding_table["192,114"] = [32401] let s:lib.Codec.decoding_table["192,115"] = [32402] let s:lib.Codec.decoding_table["192,116"] = [32403] let s:lib.Codec.decoding_table["192,117"] = [32404] let s:lib.Codec.decoding_table["192,118"] = [32405] let s:lib.Codec.decoding_table["192,119"] = [32406] let s:lib.Codec.decoding_table["192,120"] = [32407] let s:lib.Codec.decoding_table["192,121"] = [32408] let s:lib.Codec.decoding_table["192,122"] = [32409] let s:lib.Codec.decoding_table["192,123"] = [32410] let s:lib.Codec.decoding_table["192,124"] = [32412] let s:lib.Codec.decoding_table["192,125"] = [32413] let s:lib.Codec.decoding_table["192,126"] = [32414] let s:lib.Codec.decoding_table["192,128"] = [32430] let s:lib.Codec.decoding_table["192,129"] = [32436] let s:lib.Codec.decoding_table["192,130"] = [32443] let s:lib.Codec.decoding_table["192,131"] = [32444] let s:lib.Codec.decoding_table["192,132"] = [32470] let s:lib.Codec.decoding_table["192,133"] = [32484] let s:lib.Codec.decoding_table["192,134"] = [32492] let s:lib.Codec.decoding_table["192,135"] = [32505] let s:lib.Codec.decoding_table["192,136"] = [32522] let s:lib.Codec.decoding_table["192,137"] = [32528] let s:lib.Codec.decoding_table["192,138"] = [32542] let s:lib.Codec.decoding_table["192,139"] = [32567] let s:lib.Codec.decoding_table["192,140"] = [32569] let s:lib.Codec.decoding_table["192,141"] = [32571] let s:lib.Codec.decoding_table["192,142"] = [32572] let s:lib.Codec.decoding_table["192,143"] = [32573] let s:lib.Codec.decoding_table["192,144"] = [32574] let s:lib.Codec.decoding_table["192,145"] = [32575] let s:lib.Codec.decoding_table["192,146"] = [32576] let s:lib.Codec.decoding_table["192,147"] = [32577] let s:lib.Codec.decoding_table["192,148"] = [32579] let s:lib.Codec.decoding_table["192,149"] = [32582] let s:lib.Codec.decoding_table["192,150"] = [32583] let s:lib.Codec.decoding_table["192,151"] = [32584] let s:lib.Codec.decoding_table["192,152"] = [32585] let s:lib.Codec.decoding_table["192,153"] = [32586] let s:lib.Codec.decoding_table["192,154"] = [32587] let s:lib.Codec.decoding_table["192,155"] = [32588] let s:lib.Codec.decoding_table["192,156"] = [32589] let s:lib.Codec.decoding_table["192,157"] = [32590] let s:lib.Codec.decoding_table["192,158"] = [32591] let s:lib.Codec.decoding_table["192,159"] = [32594] let s:lib.Codec.decoding_table["192,160"] = [32595] let s:lib.Codec.decoding_table["192,161"] = [39304] let s:lib.Codec.decoding_table["192,162"] = [24871] let s:lib.Codec.decoding_table["192,163"] = [28291] let s:lib.Codec.decoding_table["192,164"] = [22372] let s:lib.Codec.decoding_table["192,165"] = [26118] let s:lib.Codec.decoding_table["192,166"] = [25414] let s:lib.Codec.decoding_table["192,167"] = [22256] let s:lib.Codec.decoding_table["192,168"] = [25324] let s:lib.Codec.decoding_table["192,169"] = [25193] let s:lib.Codec.decoding_table["192,170"] = [24275] let s:lib.Codec.decoding_table["192,171"] = [38420] let s:lib.Codec.decoding_table["192,172"] = [22403] let s:lib.Codec.decoding_table["192,173"] = [25289] let s:lib.Codec.decoding_table["192,174"] = [21895] let s:lib.Codec.decoding_table["192,175"] = [34593] let s:lib.Codec.decoding_table["192,176"] = [33098] let s:lib.Codec.decoding_table["192,177"] = [36771] let s:lib.Codec.decoding_table["192,178"] = [21862] let s:lib.Codec.decoding_table["192,179"] = [33713] let s:lib.Codec.decoding_table["192,180"] = [26469] let s:lib.Codec.decoding_table["192,181"] = [36182] let s:lib.Codec.decoding_table["192,182"] = [34013] let s:lib.Codec.decoding_table["192,183"] = [23146] let s:lib.Codec.decoding_table["192,184"] = [26639] let s:lib.Codec.decoding_table["192,185"] = [25318] let s:lib.Codec.decoding_table["192,186"] = [31726] let s:lib.Codec.decoding_table["192,187"] = [38417] let s:lib.Codec.decoding_table["192,188"] = [20848] let s:lib.Codec.decoding_table["192,189"] = [28572] let s:lib.Codec.decoding_table["192,190"] = [35888] let s:lib.Codec.decoding_table["192,191"] = [25597] let s:lib.Codec.decoding_table["192,192"] = [35272] let s:lib.Codec.decoding_table["192,193"] = [25042] let s:lib.Codec.decoding_table["192,194"] = [32518] let s:lib.Codec.decoding_table["192,195"] = [28866] let s:lib.Codec.decoding_table["192,196"] = [28389] let s:lib.Codec.decoding_table["192,197"] = [29701] let s:lib.Codec.decoding_table["192,198"] = [27028] let s:lib.Codec.decoding_table["192,199"] = [29436] let s:lib.Codec.decoding_table["192,200"] = [24266] let s:lib.Codec.decoding_table["192,201"] = [37070] let s:lib.Codec.decoding_table["192,202"] = [26391] let s:lib.Codec.decoding_table["192,203"] = [28010] let s:lib.Codec.decoding_table["192,204"] = [25438] let s:lib.Codec.decoding_table["192,205"] = [21171] let s:lib.Codec.decoding_table["192,206"] = [29282] let s:lib.Codec.decoding_table["192,207"] = [32769] let s:lib.Codec.decoding_table["192,208"] = [20332] let s:lib.Codec.decoding_table["192,209"] = [23013] let s:lib.Codec.decoding_table["192,210"] = [37226] let s:lib.Codec.decoding_table["192,211"] = [28889] let s:lib.Codec.decoding_table["192,212"] = [28061] let s:lib.Codec.decoding_table["192,213"] = [21202] let s:lib.Codec.decoding_table["192,214"] = [20048] let s:lib.Codec.decoding_table["192,215"] = [38647] let s:lib.Codec.decoding_table["192,216"] = [38253] let s:lib.Codec.decoding_table["192,217"] = [34174] let s:lib.Codec.decoding_table["192,218"] = [30922] let s:lib.Codec.decoding_table["192,219"] = [32047] let s:lib.Codec.decoding_table["192,220"] = [20769] let s:lib.Codec.decoding_table["192,221"] = [22418] let s:lib.Codec.decoding_table["192,222"] = [25794] let s:lib.Codec.decoding_table["192,223"] = [32907] let s:lib.Codec.decoding_table["192,224"] = [31867] let s:lib.Codec.decoding_table["192,225"] = [27882] let s:lib.Codec.decoding_table["192,226"] = [26865] let s:lib.Codec.decoding_table["192,227"] = [26974] let s:lib.Codec.decoding_table["192,228"] = [20919] let s:lib.Codec.decoding_table["192,229"] = [21400] let s:lib.Codec.decoding_table["192,230"] = [26792] let s:lib.Codec.decoding_table["192,231"] = [29313] let s:lib.Codec.decoding_table["192,232"] = [40654] let s:lib.Codec.decoding_table["192,233"] = [31729] let s:lib.Codec.decoding_table["192,234"] = [29432] let s:lib.Codec.decoding_table["192,235"] = [31163] let s:lib.Codec.decoding_table["192,236"] = [28435] let s:lib.Codec.decoding_table["192,237"] = [29702] let s:lib.Codec.decoding_table["192,238"] = [26446] let s:lib.Codec.decoding_table["192,239"] = [37324] let s:lib.Codec.decoding_table["192,240"] = [40100] let s:lib.Codec.decoding_table["192,241"] = [31036] let s:lib.Codec.decoding_table["192,242"] = [33673] let s:lib.Codec.decoding_table["192,243"] = [33620] let s:lib.Codec.decoding_table["192,244"] = [21519] let s:lib.Codec.decoding_table["192,245"] = [26647] let s:lib.Codec.decoding_table["192,246"] = [20029] let s:lib.Codec.decoding_table["192,247"] = [21385] let s:lib.Codec.decoding_table["192,248"] = [21169] let s:lib.Codec.decoding_table["192,249"] = [30782] let s:lib.Codec.decoding_table["192,250"] = [21382] let s:lib.Codec.decoding_table["192,251"] = [21033] let s:lib.Codec.decoding_table["192,252"] = [20616] let s:lib.Codec.decoding_table["192,253"] = [20363] let s:lib.Codec.decoding_table["192,254"] = [20432] let s:lib.Codec.decoding_table["193,64"] = [32598] let s:lib.Codec.decoding_table["193,65"] = [32601] let s:lib.Codec.decoding_table["193,66"] = [32603] let s:lib.Codec.decoding_table["193,67"] = [32604] let s:lib.Codec.decoding_table["193,68"] = [32605] let s:lib.Codec.decoding_table["193,69"] = [32606] let s:lib.Codec.decoding_table["193,70"] = [32608] let s:lib.Codec.decoding_table["193,71"] = [32611] let s:lib.Codec.decoding_table["193,72"] = [32612] let s:lib.Codec.decoding_table["193,73"] = [32613] let s:lib.Codec.decoding_table["193,74"] = [32614] let s:lib.Codec.decoding_table["193,75"] = [32615] let s:lib.Codec.decoding_table["193,76"] = [32619] let s:lib.Codec.decoding_table["193,77"] = [32620] let s:lib.Codec.decoding_table["193,78"] = [32621] let s:lib.Codec.decoding_table["193,79"] = [32623] let s:lib.Codec.decoding_table["193,80"] = [32624] let s:lib.Codec.decoding_table["193,81"] = [32627] let s:lib.Codec.decoding_table["193,82"] = [32629] let s:lib.Codec.decoding_table["193,83"] = [32630] let s:lib.Codec.decoding_table["193,84"] = [32631] let s:lib.Codec.decoding_table["193,85"] = [32632] let s:lib.Codec.decoding_table["193,86"] = [32634] let s:lib.Codec.decoding_table["193,87"] = [32635] let s:lib.Codec.decoding_table["193,88"] = [32636] let s:lib.Codec.decoding_table["193,89"] = [32637] let s:lib.Codec.decoding_table["193,90"] = [32639] let s:lib.Codec.decoding_table["193,91"] = [32640] let s:lib.Codec.decoding_table["193,92"] = [32642] let s:lib.Codec.decoding_table["193,93"] = [32643] let s:lib.Codec.decoding_table["193,94"] = [32644] let s:lib.Codec.decoding_table["193,95"] = [32645] let s:lib.Codec.decoding_table["193,96"] = [32646] let s:lib.Codec.decoding_table["193,97"] = [32647] let s:lib.Codec.decoding_table["193,98"] = [32648] let s:lib.Codec.decoding_table["193,99"] = [32649] let s:lib.Codec.decoding_table["193,100"] = [32651] let s:lib.Codec.decoding_table["193,101"] = [32653] let s:lib.Codec.decoding_table["193,102"] = [32655] let s:lib.Codec.decoding_table["193,103"] = [32656] let s:lib.Codec.decoding_table["193,104"] = [32657] let s:lib.Codec.decoding_table["193,105"] = [32658] let s:lib.Codec.decoding_table["193,106"] = [32659] let s:lib.Codec.decoding_table["193,107"] = [32661] let s:lib.Codec.decoding_table["193,108"] = [32662] let s:lib.Codec.decoding_table["193,109"] = [32663] let s:lib.Codec.decoding_table["193,110"] = [32664] let s:lib.Codec.decoding_table["193,111"] = [32665] let s:lib.Codec.decoding_table["193,112"] = [32667] let s:lib.Codec.decoding_table["193,113"] = [32668] let s:lib.Codec.decoding_table["193,114"] = [32672] let s:lib.Codec.decoding_table["193,115"] = [32674] let s:lib.Codec.decoding_table["193,116"] = [32675] let s:lib.Codec.decoding_table["193,117"] = [32677] let s:lib.Codec.decoding_table["193,118"] = [32678] let s:lib.Codec.decoding_table["193,119"] = [32680] let s:lib.Codec.decoding_table["193,120"] = [32681] let s:lib.Codec.decoding_table["193,121"] = [32682] let s:lib.Codec.decoding_table["193,122"] = [32683] let s:lib.Codec.decoding_table["193,123"] = [32684] let s:lib.Codec.decoding_table["193,124"] = [32685] let s:lib.Codec.decoding_table["193,125"] = [32686] let s:lib.Codec.decoding_table["193,126"] = [32689] let s:lib.Codec.decoding_table["193,128"] = [32691] let s:lib.Codec.decoding_table["193,129"] = [32692] let s:lib.Codec.decoding_table["193,130"] = [32693] let s:lib.Codec.decoding_table["193,131"] = [32694] let s:lib.Codec.decoding_table["193,132"] = [32695] let s:lib.Codec.decoding_table["193,133"] = [32698] let s:lib.Codec.decoding_table["193,134"] = [32699] let s:lib.Codec.decoding_table["193,135"] = [32702] let s:lib.Codec.decoding_table["193,136"] = [32704] let s:lib.Codec.decoding_table["193,137"] = [32706] let s:lib.Codec.decoding_table["193,138"] = [32707] let s:lib.Codec.decoding_table["193,139"] = [32708] let s:lib.Codec.decoding_table["193,140"] = [32710] let s:lib.Codec.decoding_table["193,141"] = [32711] let s:lib.Codec.decoding_table["193,142"] = [32712] let s:lib.Codec.decoding_table["193,143"] = [32713] let s:lib.Codec.decoding_table["193,144"] = [32715] let s:lib.Codec.decoding_table["193,145"] = [32717] let s:lib.Codec.decoding_table["193,146"] = [32719] let s:lib.Codec.decoding_table["193,147"] = [32720] let s:lib.Codec.decoding_table["193,148"] = [32721] let s:lib.Codec.decoding_table["193,149"] = [32722] let s:lib.Codec.decoding_table["193,150"] = [32723] let s:lib.Codec.decoding_table["193,151"] = [32726] let s:lib.Codec.decoding_table["193,152"] = [32727] let s:lib.Codec.decoding_table["193,153"] = [32729] let s:lib.Codec.decoding_table["193,154"] = [32730] let s:lib.Codec.decoding_table["193,155"] = [32731] let s:lib.Codec.decoding_table["193,156"] = [32732] let s:lib.Codec.decoding_table["193,157"] = [32733] let s:lib.Codec.decoding_table["193,158"] = [32734] let s:lib.Codec.decoding_table["193,159"] = [32738] let s:lib.Codec.decoding_table["193,160"] = [32739] let s:lib.Codec.decoding_table["193,161"] = [30178] let s:lib.Codec.decoding_table["193,162"] = [31435] let s:lib.Codec.decoding_table["193,163"] = [31890] let s:lib.Codec.decoding_table["193,164"] = [27813] let s:lib.Codec.decoding_table["193,165"] = [38582] let s:lib.Codec.decoding_table["193,166"] = [21147] let s:lib.Codec.decoding_table["193,167"] = [29827] let s:lib.Codec.decoding_table["193,168"] = [21737] let s:lib.Codec.decoding_table["193,169"] = [20457] let s:lib.Codec.decoding_table["193,170"] = [32852] let s:lib.Codec.decoding_table["193,171"] = [33714] let s:lib.Codec.decoding_table["193,172"] = [36830] let s:lib.Codec.decoding_table["193,173"] = [38256] let s:lib.Codec.decoding_table["193,174"] = [24265] let s:lib.Codec.decoding_table["193,175"] = [24604] let s:lib.Codec.decoding_table["193,176"] = [28063] let s:lib.Codec.decoding_table["193,177"] = [24088] let s:lib.Codec.decoding_table["193,178"] = [25947] let s:lib.Codec.decoding_table["193,179"] = [33080] let s:lib.Codec.decoding_table["193,180"] = [38142] let s:lib.Codec.decoding_table["193,181"] = [24651] let s:lib.Codec.decoding_table["193,182"] = [28860] let s:lib.Codec.decoding_table["193,183"] = [32451] let s:lib.Codec.decoding_table["193,184"] = [31918] let s:lib.Codec.decoding_table["193,185"] = [20937] let s:lib.Codec.decoding_table["193,186"] = [26753] let s:lib.Codec.decoding_table["193,187"] = [31921] let s:lib.Codec.decoding_table["193,188"] = [33391] let s:lib.Codec.decoding_table["193,189"] = [20004] let s:lib.Codec.decoding_table["193,190"] = [36742] let s:lib.Codec.decoding_table["193,191"] = [37327] let s:lib.Codec.decoding_table["193,192"] = [26238] let s:lib.Codec.decoding_table["193,193"] = [20142] let s:lib.Codec.decoding_table["193,194"] = [35845] let s:lib.Codec.decoding_table["193,195"] = [25769] let s:lib.Codec.decoding_table["193,196"] = [32842] let s:lib.Codec.decoding_table["193,197"] = [20698] let s:lib.Codec.decoding_table["193,198"] = [30103] let s:lib.Codec.decoding_table["193,199"] = [29134] let s:lib.Codec.decoding_table["193,200"] = [23525] let s:lib.Codec.decoding_table["193,201"] = [36797] let s:lib.Codec.decoding_table["193,202"] = [28518] let s:lib.Codec.decoding_table["193,203"] = [20102] let s:lib.Codec.decoding_table["193,204"] = [25730] let s:lib.Codec.decoding_table["193,205"] = [38243] let s:lib.Codec.decoding_table["193,206"] = [24278] let s:lib.Codec.decoding_table["193,207"] = [26009] let s:lib.Codec.decoding_table["193,208"] = [21015] let s:lib.Codec.decoding_table["193,209"] = [35010] let s:lib.Codec.decoding_table["193,210"] = [28872] let s:lib.Codec.decoding_table["193,211"] = [21155] let s:lib.Codec.decoding_table["193,212"] = [29454] let s:lib.Codec.decoding_table["193,213"] = [29747] let s:lib.Codec.decoding_table["193,214"] = [26519] let s:lib.Codec.decoding_table["193,215"] = [30967] let s:lib.Codec.decoding_table["193,216"] = [38678] let s:lib.Codec.decoding_table["193,217"] = [20020] let s:lib.Codec.decoding_table["193,218"] = [37051] let s:lib.Codec.decoding_table["193,219"] = [40158] let s:lib.Codec.decoding_table["193,220"] = [28107] let s:lib.Codec.decoding_table["193,221"] = [20955] let s:lib.Codec.decoding_table["193,222"] = [36161] let s:lib.Codec.decoding_table["193,223"] = [21533] let s:lib.Codec.decoding_table["193,224"] = [25294] let s:lib.Codec.decoding_table["193,225"] = [29618] let s:lib.Codec.decoding_table["193,226"] = [33777] let s:lib.Codec.decoding_table["193,227"] = [38646] let s:lib.Codec.decoding_table["193,228"] = [40836] let s:lib.Codec.decoding_table["193,229"] = [38083] let s:lib.Codec.decoding_table["193,230"] = [20278] let s:lib.Codec.decoding_table["193,231"] = [32666] let s:lib.Codec.decoding_table["193,232"] = [20940] let s:lib.Codec.decoding_table["193,233"] = [28789] let s:lib.Codec.decoding_table["193,234"] = [38517] let s:lib.Codec.decoding_table["193,235"] = [23725] let s:lib.Codec.decoding_table["193,236"] = [39046] let s:lib.Codec.decoding_table["193,237"] = [21478] let s:lib.Codec.decoding_table["193,238"] = [20196] let s:lib.Codec.decoding_table["193,239"] = [28316] let s:lib.Codec.decoding_table["193,240"] = [29705] let s:lib.Codec.decoding_table["193,241"] = [27060] let s:lib.Codec.decoding_table["193,242"] = [30827] let s:lib.Codec.decoding_table["193,243"] = [39311] let s:lib.Codec.decoding_table["193,244"] = [30041] let s:lib.Codec.decoding_table["193,245"] = [21016] let s:lib.Codec.decoding_table["193,246"] = [30244] let s:lib.Codec.decoding_table["193,247"] = [27969] let s:lib.Codec.decoding_table["193,248"] = [26611] let s:lib.Codec.decoding_table["193,249"] = [20845] let s:lib.Codec.decoding_table["193,250"] = [40857] let s:lib.Codec.decoding_table["193,251"] = [32843] let s:lib.Codec.decoding_table["193,252"] = [21657] let s:lib.Codec.decoding_table["193,253"] = [31548] let s:lib.Codec.decoding_table["193,254"] = [31423] let s:lib.Codec.decoding_table["194,64"] = [32740] let s:lib.Codec.decoding_table["194,65"] = [32743] let s:lib.Codec.decoding_table["194,66"] = [32744] let s:lib.Codec.decoding_table["194,67"] = [32746] let s:lib.Codec.decoding_table["194,68"] = [32747] let s:lib.Codec.decoding_table["194,69"] = [32748] let s:lib.Codec.decoding_table["194,70"] = [32749] let s:lib.Codec.decoding_table["194,71"] = [32751] let s:lib.Codec.decoding_table["194,72"] = [32754] let s:lib.Codec.decoding_table["194,73"] = [32756] let s:lib.Codec.decoding_table["194,74"] = [32757] let s:lib.Codec.decoding_table["194,75"] = [32758] let s:lib.Codec.decoding_table["194,76"] = [32759] let s:lib.Codec.decoding_table["194,77"] = [32760] let s:lib.Codec.decoding_table["194,78"] = [32761] let s:lib.Codec.decoding_table["194,79"] = [32762] let s:lib.Codec.decoding_table["194,80"] = [32765] let s:lib.Codec.decoding_table["194,81"] = [32766] let s:lib.Codec.decoding_table["194,82"] = [32767] let s:lib.Codec.decoding_table["194,83"] = [32770] let s:lib.Codec.decoding_table["194,84"] = [32775] let s:lib.Codec.decoding_table["194,85"] = [32776] let s:lib.Codec.decoding_table["194,86"] = [32777] let s:lib.Codec.decoding_table["194,87"] = [32778] let s:lib.Codec.decoding_table["194,88"] = [32782] let s:lib.Codec.decoding_table["194,89"] = [32783] let s:lib.Codec.decoding_table["194,90"] = [32785] let s:lib.Codec.decoding_table["194,91"] = [32787] let s:lib.Codec.decoding_table["194,92"] = [32794] let s:lib.Codec.decoding_table["194,93"] = [32795] let s:lib.Codec.decoding_table["194,94"] = [32797] let s:lib.Codec.decoding_table["194,95"] = [32798] let s:lib.Codec.decoding_table["194,96"] = [32799] let s:lib.Codec.decoding_table["194,97"] = [32801] let s:lib.Codec.decoding_table["194,98"] = [32803] let s:lib.Codec.decoding_table["194,99"] = [32804] let s:lib.Codec.decoding_table["194,100"] = [32811] let s:lib.Codec.decoding_table["194,101"] = [32812] let s:lib.Codec.decoding_table["194,102"] = [32813] let s:lib.Codec.decoding_table["194,103"] = [32814] let s:lib.Codec.decoding_table["194,104"] = [32815] let s:lib.Codec.decoding_table["194,105"] = [32816] let s:lib.Codec.decoding_table["194,106"] = [32818] let s:lib.Codec.decoding_table["194,107"] = [32820] let s:lib.Codec.decoding_table["194,108"] = [32825] let s:lib.Codec.decoding_table["194,109"] = [32826] let s:lib.Codec.decoding_table["194,110"] = [32828] let s:lib.Codec.decoding_table["194,111"] = [32830] let s:lib.Codec.decoding_table["194,112"] = [32832] let s:lib.Codec.decoding_table["194,113"] = [32833] let s:lib.Codec.decoding_table["194,114"] = [32836] let s:lib.Codec.decoding_table["194,115"] = [32837] let s:lib.Codec.decoding_table["194,116"] = [32839] let s:lib.Codec.decoding_table["194,117"] = [32840] let s:lib.Codec.decoding_table["194,118"] = [32841] let s:lib.Codec.decoding_table["194,119"] = [32846] let s:lib.Codec.decoding_table["194,120"] = [32847] let s:lib.Codec.decoding_table["194,121"] = [32848] let s:lib.Codec.decoding_table["194,122"] = [32849] let s:lib.Codec.decoding_table["194,123"] = [32851] let s:lib.Codec.decoding_table["194,124"] = [32853] let s:lib.Codec.decoding_table["194,125"] = [32854] let s:lib.Codec.decoding_table["194,126"] = [32855] let s:lib.Codec.decoding_table["194,128"] = [32857] let s:lib.Codec.decoding_table["194,129"] = [32859] let s:lib.Codec.decoding_table["194,130"] = [32860] let s:lib.Codec.decoding_table["194,131"] = [32861] let s:lib.Codec.decoding_table["194,132"] = [32862] let s:lib.Codec.decoding_table["194,133"] = [32863] let s:lib.Codec.decoding_table["194,134"] = [32864] let s:lib.Codec.decoding_table["194,135"] = [32865] let s:lib.Codec.decoding_table["194,136"] = [32866] let s:lib.Codec.decoding_table["194,137"] = [32867] let s:lib.Codec.decoding_table["194,138"] = [32868] let s:lib.Codec.decoding_table["194,139"] = [32869] let s:lib.Codec.decoding_table["194,140"] = [32870] let s:lib.Codec.decoding_table["194,141"] = [32871] let s:lib.Codec.decoding_table["194,142"] = [32872] let s:lib.Codec.decoding_table["194,143"] = [32875] let s:lib.Codec.decoding_table["194,144"] = [32876] let s:lib.Codec.decoding_table["194,145"] = [32877] let s:lib.Codec.decoding_table["194,146"] = [32878] let s:lib.Codec.decoding_table["194,147"] = [32879] let s:lib.Codec.decoding_table["194,148"] = [32880] let s:lib.Codec.decoding_table["194,149"] = [32882] let s:lib.Codec.decoding_table["194,150"] = [32883] let s:lib.Codec.decoding_table["194,151"] = [32884] let s:lib.Codec.decoding_table["194,152"] = [32885] let s:lib.Codec.decoding_table["194,153"] = [32886] let s:lib.Codec.decoding_table["194,154"] = [32887] let s:lib.Codec.decoding_table["194,155"] = [32888] let s:lib.Codec.decoding_table["194,156"] = [32889] let s:lib.Codec.decoding_table["194,157"] = [32890] let s:lib.Codec.decoding_table["194,158"] = [32891] let s:lib.Codec.decoding_table["194,159"] = [32892] let s:lib.Codec.decoding_table["194,160"] = [32893] let s:lib.Codec.decoding_table["194,161"] = [38534] let s:lib.Codec.decoding_table["194,162"] = [22404] let s:lib.Codec.decoding_table["194,163"] = [25314] let s:lib.Codec.decoding_table["194,164"] = [38471] let s:lib.Codec.decoding_table["194,165"] = [27004] let s:lib.Codec.decoding_table["194,166"] = [23044] let s:lib.Codec.decoding_table["194,167"] = [25602] let s:lib.Codec.decoding_table["194,168"] = [31699] let s:lib.Codec.decoding_table["194,169"] = [28431] let s:lib.Codec.decoding_table["194,170"] = [38475] let s:lib.Codec.decoding_table["194,171"] = [33446] let s:lib.Codec.decoding_table["194,172"] = [21346] let s:lib.Codec.decoding_table["194,173"] = [39045] let s:lib.Codec.decoding_table["194,174"] = [24208] let s:lib.Codec.decoding_table["194,175"] = [28809] let s:lib.Codec.decoding_table["194,176"] = [25523] let s:lib.Codec.decoding_table["194,177"] = [21348] let s:lib.Codec.decoding_table["194,178"] = [34383] let s:lib.Codec.decoding_table["194,179"] = [40065] let s:lib.Codec.decoding_table["194,180"] = [40595] let s:lib.Codec.decoding_table["194,181"] = [30860] let s:lib.Codec.decoding_table["194,182"] = [38706] let s:lib.Codec.decoding_table["194,183"] = [36335] let s:lib.Codec.decoding_table["194,184"] = [36162] let s:lib.Codec.decoding_table["194,185"] = [40575] let s:lib.Codec.decoding_table["194,186"] = [28510] let s:lib.Codec.decoding_table["194,187"] = [31108] let s:lib.Codec.decoding_table["194,188"] = [24405] let s:lib.Codec.decoding_table["194,189"] = [38470] let s:lib.Codec.decoding_table["194,190"] = [25134] let s:lib.Codec.decoding_table["194,191"] = [39540] let s:lib.Codec.decoding_table["194,192"] = [21525] let s:lib.Codec.decoding_table["194,193"] = [38109] let s:lib.Codec.decoding_table["194,194"] = [20387] let s:lib.Codec.decoding_table["194,195"] = [26053] let s:lib.Codec.decoding_table["194,196"] = [23653] let s:lib.Codec.decoding_table["194,197"] = [23649] let s:lib.Codec.decoding_table["194,198"] = [32533] let s:lib.Codec.decoding_table["194,199"] = [34385] let s:lib.Codec.decoding_table["194,200"] = [27695] let s:lib.Codec.decoding_table["194,201"] = [24459] let s:lib.Codec.decoding_table["194,202"] = [29575] let s:lib.Codec.decoding_table["194,203"] = [28388] let s:lib.Codec.decoding_table["194,204"] = [32511] let s:lib.Codec.decoding_table["194,205"] = [23782] let s:lib.Codec.decoding_table["194,206"] = [25371] let s:lib.Codec.decoding_table["194,207"] = [23402] let s:lib.Codec.decoding_table["194,208"] = [28390] let s:lib.Codec.decoding_table["194,209"] = [21365] let s:lib.Codec.decoding_table["194,210"] = [20081] let s:lib.Codec.decoding_table["194,211"] = [25504] let s:lib.Codec.decoding_table["194,212"] = [30053] let s:lib.Codec.decoding_table["194,213"] = [25249] let s:lib.Codec.decoding_table["194,214"] = [36718] let s:lib.Codec.decoding_table["194,215"] = [20262] let s:lib.Codec.decoding_table["194,216"] = [20177] let s:lib.Codec.decoding_table["194,217"] = [27814] let s:lib.Codec.decoding_table["194,218"] = [32438] let s:lib.Codec.decoding_table["194,219"] = [35770] let s:lib.Codec.decoding_table["194,220"] = [33821] let s:lib.Codec.decoding_table["194,221"] = [34746] let s:lib.Codec.decoding_table["194,222"] = [32599] let s:lib.Codec.decoding_table["194,223"] = [36923] let s:lib.Codec.decoding_table["194,224"] = [38179] let s:lib.Codec.decoding_table["194,225"] = [31657] let s:lib.Codec.decoding_table["194,226"] = [39585] let s:lib.Codec.decoding_table["194,227"] = [35064] let s:lib.Codec.decoding_table["194,228"] = [33853] let s:lib.Codec.decoding_table["194,229"] = [27931] let s:lib.Codec.decoding_table["194,230"] = [39558] let s:lib.Codec.decoding_table["194,231"] = [32476] let s:lib.Codec.decoding_table["194,232"] = [22920] let s:lib.Codec.decoding_table["194,233"] = [40635] let s:lib.Codec.decoding_table["194,234"] = [29595] let s:lib.Codec.decoding_table["194,235"] = [30721] let s:lib.Codec.decoding_table["194,236"] = [34434] let s:lib.Codec.decoding_table["194,237"] = [39532] let s:lib.Codec.decoding_table["194,238"] = [39554] let s:lib.Codec.decoding_table["194,239"] = [22043] let s:lib.Codec.decoding_table["194,240"] = [21527] let s:lib.Codec.decoding_table["194,241"] = [22475] let s:lib.Codec.decoding_table["194,242"] = [20080] let s:lib.Codec.decoding_table["194,243"] = [40614] let s:lib.Codec.decoding_table["194,244"] = [21334] let s:lib.Codec.decoding_table["194,245"] = [36808] let s:lib.Codec.decoding_table["194,246"] = [33033] let s:lib.Codec.decoding_table["194,247"] = [30610] let s:lib.Codec.decoding_table["194,248"] = [39314] let s:lib.Codec.decoding_table["194,249"] = [34542] let s:lib.Codec.decoding_table["194,250"] = [28385] let s:lib.Codec.decoding_table["194,251"] = [34067] let s:lib.Codec.decoding_table["194,252"] = [26364] let s:lib.Codec.decoding_table["194,253"] = [24930] let s:lib.Codec.decoding_table["194,254"] = [28459] let s:lib.Codec.decoding_table["195,64"] = [32894] let s:lib.Codec.decoding_table["195,65"] = [32897] let s:lib.Codec.decoding_table["195,66"] = [32898] let s:lib.Codec.decoding_table["195,67"] = [32901] let s:lib.Codec.decoding_table["195,68"] = [32904] let s:lib.Codec.decoding_table["195,69"] = [32906] let s:lib.Codec.decoding_table["195,70"] = [32909] let s:lib.Codec.decoding_table["195,71"] = [32910] let s:lib.Codec.decoding_table["195,72"] = [32911] let s:lib.Codec.decoding_table["195,73"] = [32912] let s:lib.Codec.decoding_table["195,74"] = [32913] let s:lib.Codec.decoding_table["195,75"] = [32914] let s:lib.Codec.decoding_table["195,76"] = [32916] let s:lib.Codec.decoding_table["195,77"] = [32917] let s:lib.Codec.decoding_table["195,78"] = [32919] let s:lib.Codec.decoding_table["195,79"] = [32921] let s:lib.Codec.decoding_table["195,80"] = [32926] let s:lib.Codec.decoding_table["195,81"] = [32931] let s:lib.Codec.decoding_table["195,82"] = [32934] let s:lib.Codec.decoding_table["195,83"] = [32935] let s:lib.Codec.decoding_table["195,84"] = [32936] let s:lib.Codec.decoding_table["195,85"] = [32940] let s:lib.Codec.decoding_table["195,86"] = [32944] let s:lib.Codec.decoding_table["195,87"] = [32947] let s:lib.Codec.decoding_table["195,88"] = [32949] let s:lib.Codec.decoding_table["195,89"] = [32950] let s:lib.Codec.decoding_table["195,90"] = [32952] let s:lib.Codec.decoding_table["195,91"] = [32953] let s:lib.Codec.decoding_table["195,92"] = [32955] let s:lib.Codec.decoding_table["195,93"] = [32965] let s:lib.Codec.decoding_table["195,94"] = [32967] let s:lib.Codec.decoding_table["195,95"] = [32968] let s:lib.Codec.decoding_table["195,96"] = [32969] let s:lib.Codec.decoding_table["195,97"] = [32970] let s:lib.Codec.decoding_table["195,98"] = [32971] let s:lib.Codec.decoding_table["195,99"] = [32975] let s:lib.Codec.decoding_table["195,100"] = [32976] let s:lib.Codec.decoding_table["195,101"] = [32977] let s:lib.Codec.decoding_table["195,102"] = [32978] let s:lib.Codec.decoding_table["195,103"] = [32979] let s:lib.Codec.decoding_table["195,104"] = [32980] let s:lib.Codec.decoding_table["195,105"] = [32981] let s:lib.Codec.decoding_table["195,106"] = [32984] let s:lib.Codec.decoding_table["195,107"] = [32991] let s:lib.Codec.decoding_table["195,108"] = [32992] let s:lib.Codec.decoding_table["195,109"] = [32994] let s:lib.Codec.decoding_table["195,110"] = [32995] let s:lib.Codec.decoding_table["195,111"] = [32998] let s:lib.Codec.decoding_table["195,112"] = [33006] let s:lib.Codec.decoding_table["195,113"] = [33013] let s:lib.Codec.decoding_table["195,114"] = [33015] let s:lib.Codec.decoding_table["195,115"] = [33017] let s:lib.Codec.decoding_table["195,116"] = [33019] let s:lib.Codec.decoding_table["195,117"] = [33022] let s:lib.Codec.decoding_table["195,118"] = [33023] let s:lib.Codec.decoding_table["195,119"] = [33024] let s:lib.Codec.decoding_table["195,120"] = [33025] let s:lib.Codec.decoding_table["195,121"] = [33027] let s:lib.Codec.decoding_table["195,122"] = [33028] let s:lib.Codec.decoding_table["195,123"] = [33029] let s:lib.Codec.decoding_table["195,124"] = [33031] let s:lib.Codec.decoding_table["195,125"] = [33032] let s:lib.Codec.decoding_table["195,126"] = [33035] let s:lib.Codec.decoding_table["195,128"] = [33036] let s:lib.Codec.decoding_table["195,129"] = [33045] let s:lib.Codec.decoding_table["195,130"] = [33047] let s:lib.Codec.decoding_table["195,131"] = [33049] let s:lib.Codec.decoding_table["195,132"] = [33051] let s:lib.Codec.decoding_table["195,133"] = [33052] let s:lib.Codec.decoding_table["195,134"] = [33053] let s:lib.Codec.decoding_table["195,135"] = [33055] let s:lib.Codec.decoding_table["195,136"] = [33056] let s:lib.Codec.decoding_table["195,137"] = [33057] let s:lib.Codec.decoding_table["195,138"] = [33058] let s:lib.Codec.decoding_table["195,139"] = [33059] let s:lib.Codec.decoding_table["195,140"] = [33060] let s:lib.Codec.decoding_table["195,141"] = [33061] let s:lib.Codec.decoding_table["195,142"] = [33062] let s:lib.Codec.decoding_table["195,143"] = [33063] let s:lib.Codec.decoding_table["195,144"] = [33064] let s:lib.Codec.decoding_table["195,145"] = [33065] let s:lib.Codec.decoding_table["195,146"] = [33066] let s:lib.Codec.decoding_table["195,147"] = [33067] let s:lib.Codec.decoding_table["195,148"] = [33069] let s:lib.Codec.decoding_table["195,149"] = [33070] let s:lib.Codec.decoding_table["195,150"] = [33072] let s:lib.Codec.decoding_table["195,151"] = [33075] let s:lib.Codec.decoding_table["195,152"] = [33076] let s:lib.Codec.decoding_table["195,153"] = [33077] let s:lib.Codec.decoding_table["195,154"] = [33079] let s:lib.Codec.decoding_table["195,155"] = [33081] let s:lib.Codec.decoding_table["195,156"] = [33082] let s:lib.Codec.decoding_table["195,157"] = [33083] let s:lib.Codec.decoding_table["195,158"] = [33084] let s:lib.Codec.decoding_table["195,159"] = [33085] let s:lib.Codec.decoding_table["195,160"] = [33087] let s:lib.Codec.decoding_table["195,161"] = [35881] let s:lib.Codec.decoding_table["195,162"] = [33426] let s:lib.Codec.decoding_table["195,163"] = [33579] let s:lib.Codec.decoding_table["195,164"] = [30450] let s:lib.Codec.decoding_table["195,165"] = [27667] let s:lib.Codec.decoding_table["195,166"] = [24537] let s:lib.Codec.decoding_table["195,167"] = [33725] let s:lib.Codec.decoding_table["195,168"] = [29483] let s:lib.Codec.decoding_table["195,169"] = [33541] let s:lib.Codec.decoding_table["195,170"] = [38170] let s:lib.Codec.decoding_table["195,171"] = [27611] let s:lib.Codec.decoding_table["195,172"] = [30683] let s:lib.Codec.decoding_table["195,173"] = [38086] let s:lib.Codec.decoding_table["195,174"] = [21359] let s:lib.Codec.decoding_table["195,175"] = [33538] let s:lib.Codec.decoding_table["195,176"] = [20882] let s:lib.Codec.decoding_table["195,177"] = [24125] let s:lib.Codec.decoding_table["195,178"] = [35980] let s:lib.Codec.decoding_table["195,179"] = [36152] let s:lib.Codec.decoding_table["195,180"] = [20040] let s:lib.Codec.decoding_table["195,181"] = [29611] let s:lib.Codec.decoding_table["195,182"] = [26522] let s:lib.Codec.decoding_table["195,183"] = [26757] let s:lib.Codec.decoding_table["195,184"] = [37238] let s:lib.Codec.decoding_table["195,185"] = [38665] let s:lib.Codec.decoding_table["195,186"] = [29028] let s:lib.Codec.decoding_table["195,187"] = [27809] let s:lib.Codec.decoding_table["195,188"] = [30473] let s:lib.Codec.decoding_table["195,189"] = [23186] let s:lib.Codec.decoding_table["195,190"] = [38209] let s:lib.Codec.decoding_table["195,191"] = [27599] let s:lib.Codec.decoding_table["195,192"] = [32654] let s:lib.Codec.decoding_table["195,193"] = [26151] let s:lib.Codec.decoding_table["195,194"] = [23504] let s:lib.Codec.decoding_table["195,195"] = [22969] let s:lib.Codec.decoding_table["195,196"] = [23194] let s:lib.Codec.decoding_table["195,197"] = [38376] let s:lib.Codec.decoding_table["195,198"] = [38391] let s:lib.Codec.decoding_table["195,199"] = [20204] let s:lib.Codec.decoding_table["195,200"] = [33804] let s:lib.Codec.decoding_table["195,201"] = [33945] let s:lib.Codec.decoding_table["195,202"] = [27308] let s:lib.Codec.decoding_table["195,203"] = [30431] let s:lib.Codec.decoding_table["195,204"] = [38192] let s:lib.Codec.decoding_table["195,205"] = [29467] let s:lib.Codec.decoding_table["195,206"] = [26790] let s:lib.Codec.decoding_table["195,207"] = [23391] let s:lib.Codec.decoding_table["195,208"] = [30511] let s:lib.Codec.decoding_table["195,209"] = [37274] let s:lib.Codec.decoding_table["195,210"] = [38753] let s:lib.Codec.decoding_table["195,211"] = [31964] let s:lib.Codec.decoding_table["195,212"] = [36855] let s:lib.Codec.decoding_table["195,213"] = [35868] let s:lib.Codec.decoding_table["195,214"] = [24357] let s:lib.Codec.decoding_table["195,215"] = [31859] let s:lib.Codec.decoding_table["195,216"] = [31192] let s:lib.Codec.decoding_table["195,217"] = [35269] let s:lib.Codec.decoding_table["195,218"] = [27852] let s:lib.Codec.decoding_table["195,219"] = [34588] let s:lib.Codec.decoding_table["195,220"] = [23494] let s:lib.Codec.decoding_table["195,221"] = [24130] let s:lib.Codec.decoding_table["195,222"] = [26825] let s:lib.Codec.decoding_table["195,223"] = [30496] let s:lib.Codec.decoding_table["195,224"] = [32501] let s:lib.Codec.decoding_table["195,225"] = [20885] let s:lib.Codec.decoding_table["195,226"] = [20813] let s:lib.Codec.decoding_table["195,227"] = [21193] let s:lib.Codec.decoding_table["195,228"] = [23081] let s:lib.Codec.decoding_table["195,229"] = [32517] let s:lib.Codec.decoding_table["195,230"] = [38754] let s:lib.Codec.decoding_table["195,231"] = [33495] let s:lib.Codec.decoding_table["195,232"] = [25551] let s:lib.Codec.decoding_table["195,233"] = [30596] let s:lib.Codec.decoding_table["195,234"] = [34256] let s:lib.Codec.decoding_table["195,235"] = [31186] let s:lib.Codec.decoding_table["195,236"] = [28218] let s:lib.Codec.decoding_table["195,237"] = [24217] let s:lib.Codec.decoding_table["195,238"] = [22937] let s:lib.Codec.decoding_table["195,239"] = [34065] let s:lib.Codec.decoding_table["195,240"] = [28781] let s:lib.Codec.decoding_table["195,241"] = [27665] let s:lib.Codec.decoding_table["195,242"] = [25279] let s:lib.Codec.decoding_table["195,243"] = [30399] let s:lib.Codec.decoding_table["195,244"] = [25935] let s:lib.Codec.decoding_table["195,245"] = [24751] let s:lib.Codec.decoding_table["195,246"] = [38397] let s:lib.Codec.decoding_table["195,247"] = [26126] let s:lib.Codec.decoding_table["195,248"] = [34719] let s:lib.Codec.decoding_table["195,249"] = [40483] let s:lib.Codec.decoding_table["195,250"] = [38125] let s:lib.Codec.decoding_table["195,251"] = [21517] let s:lib.Codec.decoding_table["195,252"] = [21629] let s:lib.Codec.decoding_table["195,253"] = [35884] let s:lib.Codec.decoding_table["195,254"] = [25720] let s:lib.Codec.decoding_table["196,64"] = [33088] let s:lib.Codec.decoding_table["196,65"] = [33089] let s:lib.Codec.decoding_table["196,66"] = [33090] let s:lib.Codec.decoding_table["196,67"] = [33091] let s:lib.Codec.decoding_table["196,68"] = [33092] let s:lib.Codec.decoding_table["196,69"] = [33093] let s:lib.Codec.decoding_table["196,70"] = [33095] let s:lib.Codec.decoding_table["196,71"] = [33097] let s:lib.Codec.decoding_table["196,72"] = [33101] let s:lib.Codec.decoding_table["196,73"] = [33102] let s:lib.Codec.decoding_table["196,74"] = [33103] let s:lib.Codec.decoding_table["196,75"] = [33106] let s:lib.Codec.decoding_table["196,76"] = [33110] let s:lib.Codec.decoding_table["196,77"] = [33111] let s:lib.Codec.decoding_table["196,78"] = [33112] let s:lib.Codec.decoding_table["196,79"] = [33115] let s:lib.Codec.decoding_table["196,80"] = [33116] let s:lib.Codec.decoding_table["196,81"] = [33117] let s:lib.Codec.decoding_table["196,82"] = [33118] let s:lib.Codec.decoding_table["196,83"] = [33119] let s:lib.Codec.decoding_table["196,84"] = [33121] let s:lib.Codec.decoding_table["196,85"] = [33122] let s:lib.Codec.decoding_table["196,86"] = [33123] let s:lib.Codec.decoding_table["196,87"] = [33124] let s:lib.Codec.decoding_table["196,88"] = [33126] let s:lib.Codec.decoding_table["196,89"] = [33128] let s:lib.Codec.decoding_table["196,90"] = [33130] let s:lib.Codec.decoding_table["196,91"] = [33131] let s:lib.Codec.decoding_table["196,92"] = [33132] let s:lib.Codec.decoding_table["196,93"] = [33135] let s:lib.Codec.decoding_table["196,94"] = [33138] let s:lib.Codec.decoding_table["196,95"] = [33139] let s:lib.Codec.decoding_table["196,96"] = [33141] let s:lib.Codec.decoding_table["196,97"] = [33142] let s:lib.Codec.decoding_table["196,98"] = [33143] let s:lib.Codec.decoding_table["196,99"] = [33144] let s:lib.Codec.decoding_table["196,100"] = [33153] let s:lib.Codec.decoding_table["196,101"] = [33155] let s:lib.Codec.decoding_table["196,102"] = [33156] let s:lib.Codec.decoding_table["196,103"] = [33157] let s:lib.Codec.decoding_table["196,104"] = [33158] let s:lib.Codec.decoding_table["196,105"] = [33159] let s:lib.Codec.decoding_table["196,106"] = [33161] let s:lib.Codec.decoding_table["196,107"] = [33163] let s:lib.Codec.decoding_table["196,108"] = [33164] let s:lib.Codec.decoding_table["196,109"] = [33165] let s:lib.Codec.decoding_table["196,110"] = [33166] let s:lib.Codec.decoding_table["196,111"] = [33168] let s:lib.Codec.decoding_table["196,112"] = [33170] let s:lib.Codec.decoding_table["196,113"] = [33171] let s:lib.Codec.decoding_table["196,114"] = [33172] let s:lib.Codec.decoding_table["196,115"] = [33173] let s:lib.Codec.decoding_table["196,116"] = [33174] let s:lib.Codec.decoding_table["196,117"] = [33175] let s:lib.Codec.decoding_table["196,118"] = [33177] let s:lib.Codec.decoding_table["196,119"] = [33178] let s:lib.Codec.decoding_table["196,120"] = [33182] let s:lib.Codec.decoding_table["196,121"] = [33183] let s:lib.Codec.decoding_table["196,122"] = [33184] let s:lib.Codec.decoding_table["196,123"] = [33185] let s:lib.Codec.decoding_table["196,124"] = [33186] let s:lib.Codec.decoding_table["196,125"] = [33188] let s:lib.Codec.decoding_table["196,126"] = [33189] let s:lib.Codec.decoding_table["196,128"] = [33191] let s:lib.Codec.decoding_table["196,129"] = [33193] let s:lib.Codec.decoding_table["196,130"] = [33195] let s:lib.Codec.decoding_table["196,131"] = [33196] let s:lib.Codec.decoding_table["196,132"] = [33197] let s:lib.Codec.decoding_table["196,133"] = [33198] let s:lib.Codec.decoding_table["196,134"] = [33199] let s:lib.Codec.decoding_table["196,135"] = [33200] let s:lib.Codec.decoding_table["196,136"] = [33201] let s:lib.Codec.decoding_table["196,137"] = [33202] let s:lib.Codec.decoding_table["196,138"] = [33204] let s:lib.Codec.decoding_table["196,139"] = [33205] let s:lib.Codec.decoding_table["196,140"] = [33206] let s:lib.Codec.decoding_table["196,141"] = [33207] let s:lib.Codec.decoding_table["196,142"] = [33208] let s:lib.Codec.decoding_table["196,143"] = [33209] let s:lib.Codec.decoding_table["196,144"] = [33212] let s:lib.Codec.decoding_table["196,145"] = [33213] let s:lib.Codec.decoding_table["196,146"] = [33214] let s:lib.Codec.decoding_table["196,147"] = [33215] let s:lib.Codec.decoding_table["196,148"] = [33220] let s:lib.Codec.decoding_table["196,149"] = [33221] let s:lib.Codec.decoding_table["196,150"] = [33223] let s:lib.Codec.decoding_table["196,151"] = [33224] let s:lib.Codec.decoding_table["196,152"] = [33225] let s:lib.Codec.decoding_table["196,153"] = [33227] let s:lib.Codec.decoding_table["196,154"] = [33229] let s:lib.Codec.decoding_table["196,155"] = [33230] let s:lib.Codec.decoding_table["196,156"] = [33231] let s:lib.Codec.decoding_table["196,157"] = [33232] let s:lib.Codec.decoding_table["196,158"] = [33233] let s:lib.Codec.decoding_table["196,159"] = [33234] let s:lib.Codec.decoding_table["196,160"] = [33235] let s:lib.Codec.decoding_table["196,161"] = [25721] let s:lib.Codec.decoding_table["196,162"] = [34321] let s:lib.Codec.decoding_table["196,163"] = [27169] let s:lib.Codec.decoding_table["196,164"] = [33180] let s:lib.Codec.decoding_table["196,165"] = [30952] let s:lib.Codec.decoding_table["196,166"] = [25705] let s:lib.Codec.decoding_table["196,167"] = [39764] let s:lib.Codec.decoding_table["196,168"] = [25273] let s:lib.Codec.decoding_table["196,169"] = [26411] let s:lib.Codec.decoding_table["196,170"] = [33707] let s:lib.Codec.decoding_table["196,171"] = [22696] let s:lib.Codec.decoding_table["196,172"] = [40664] let s:lib.Codec.decoding_table["196,173"] = [27819] let s:lib.Codec.decoding_table["196,174"] = [28448] let s:lib.Codec.decoding_table["196,175"] = [23518] let s:lib.Codec.decoding_table["196,176"] = [38476] let s:lib.Codec.decoding_table["196,177"] = [35851] let s:lib.Codec.decoding_table["196,178"] = [29279] let s:lib.Codec.decoding_table["196,179"] = [26576] let s:lib.Codec.decoding_table["196,180"] = [25287] let s:lib.Codec.decoding_table["196,181"] = [29281] let s:lib.Codec.decoding_table["196,182"] = [20137] let s:lib.Codec.decoding_table["196,183"] = [22982] let s:lib.Codec.decoding_table["196,184"] = [27597] let s:lib.Codec.decoding_table["196,185"] = [22675] let s:lib.Codec.decoding_table["196,186"] = [26286] let s:lib.Codec.decoding_table["196,187"] = [24149] let s:lib.Codec.decoding_table["196,188"] = [21215] let s:lib.Codec.decoding_table["196,189"] = [24917] let s:lib.Codec.decoding_table["196,190"] = [26408] let s:lib.Codec.decoding_table["196,191"] = [30446] let s:lib.Codec.decoding_table["196,192"] = [30566] let s:lib.Codec.decoding_table["196,193"] = [29287] let s:lib.Codec.decoding_table["196,194"] = [31302] let s:lib.Codec.decoding_table["196,195"] = [25343] let s:lib.Codec.decoding_table["196,196"] = [21738] let s:lib.Codec.decoding_table["196,197"] = [21584] let s:lib.Codec.decoding_table["196,198"] = [38048] let s:lib.Codec.decoding_table["196,199"] = [37027] let s:lib.Codec.decoding_table["196,200"] = [23068] let s:lib.Codec.decoding_table["196,201"] = [32435] let s:lib.Codec.decoding_table["196,202"] = [27670] let s:lib.Codec.decoding_table["196,203"] = [20035] let s:lib.Codec.decoding_table["196,204"] = [22902] let s:lib.Codec.decoding_table["196,205"] = [32784] let s:lib.Codec.decoding_table["196,206"] = [22856] let s:lib.Codec.decoding_table["196,207"] = [21335] let s:lib.Codec.decoding_table["196,208"] = [30007] let s:lib.Codec.decoding_table["196,209"] = [38590] let s:lib.Codec.decoding_table["196,210"] = [22218] let s:lib.Codec.decoding_table["196,211"] = [25376] let s:lib.Codec.decoding_table["196,212"] = [33041] let s:lib.Codec.decoding_table["196,213"] = [24700] let s:lib.Codec.decoding_table["196,214"] = [38393] let s:lib.Codec.decoding_table["196,215"] = [28118] let s:lib.Codec.decoding_table["196,216"] = [21602] let s:lib.Codec.decoding_table["196,217"] = [39297] let s:lib.Codec.decoding_table["196,218"] = [20869] let s:lib.Codec.decoding_table["196,219"] = [23273] let s:lib.Codec.decoding_table["196,220"] = [33021] let s:lib.Codec.decoding_table["196,221"] = [22958] let s:lib.Codec.decoding_table["196,222"] = [38675] let s:lib.Codec.decoding_table["196,223"] = [20522] let s:lib.Codec.decoding_table["196,224"] = [27877] let s:lib.Codec.decoding_table["196,225"] = [23612] let s:lib.Codec.decoding_table["196,226"] = [25311] let s:lib.Codec.decoding_table["196,227"] = [20320] let s:lib.Codec.decoding_table["196,228"] = [21311] let s:lib.Codec.decoding_table["196,229"] = [33147] let s:lib.Codec.decoding_table["196,230"] = [36870] let s:lib.Codec.decoding_table["196,231"] = [28346] let s:lib.Codec.decoding_table["196,232"] = [34091] let s:lib.Codec.decoding_table["196,233"] = [25288] let s:lib.Codec.decoding_table["196,234"] = [24180] let s:lib.Codec.decoding_table["196,235"] = [30910] let s:lib.Codec.decoding_table["196,236"] = [25781] let s:lib.Codec.decoding_table["196,237"] = [25467] let s:lib.Codec.decoding_table["196,238"] = [24565] let s:lib.Codec.decoding_table["196,239"] = [23064] let s:lib.Codec.decoding_table["196,240"] = [37247] let s:lib.Codec.decoding_table["196,241"] = [40479] let s:lib.Codec.decoding_table["196,242"] = [23615] let s:lib.Codec.decoding_table["196,243"] = [25423] let s:lib.Codec.decoding_table["196,244"] = [32834] let s:lib.Codec.decoding_table["196,245"] = [23421] let s:lib.Codec.decoding_table["196,246"] = [21870] let s:lib.Codec.decoding_table["196,247"] = [38218] let s:lib.Codec.decoding_table["196,248"] = [38221] let s:lib.Codec.decoding_table["196,249"] = [28037] let s:lib.Codec.decoding_table["196,250"] = [24744] let s:lib.Codec.decoding_table["196,251"] = [26592] let s:lib.Codec.decoding_table["196,252"] = [29406] let s:lib.Codec.decoding_table["196,253"] = [20957] let s:lib.Codec.decoding_table["196,254"] = [23425] let s:lib.Codec.decoding_table["197,64"] = [33236] let s:lib.Codec.decoding_table["197,65"] = [33237] let s:lib.Codec.decoding_table["197,66"] = [33238] let s:lib.Codec.decoding_table["197,67"] = [33239] let s:lib.Codec.decoding_table["197,68"] = [33240] let s:lib.Codec.decoding_table["197,69"] = [33241] let s:lib.Codec.decoding_table["197,70"] = [33242] let s:lib.Codec.decoding_table["197,71"] = [33243] let s:lib.Codec.decoding_table["197,72"] = [33244] let s:lib.Codec.decoding_table["197,73"] = [33245] let s:lib.Codec.decoding_table["197,74"] = [33246] let s:lib.Codec.decoding_table["197,75"] = [33247] let s:lib.Codec.decoding_table["197,76"] = [33248] let s:lib.Codec.decoding_table["197,77"] = [33249] let s:lib.Codec.decoding_table["197,78"] = [33250] let s:lib.Codec.decoding_table["197,79"] = [33252] let s:lib.Codec.decoding_table["197,80"] = [33253] let s:lib.Codec.decoding_table["197,81"] = [33254] let s:lib.Codec.decoding_table["197,82"] = [33256] let s:lib.Codec.decoding_table["197,83"] = [33257] let s:lib.Codec.decoding_table["197,84"] = [33259] let s:lib.Codec.decoding_table["197,85"] = [33262] let s:lib.Codec.decoding_table["197,86"] = [33263] let s:lib.Codec.decoding_table["197,87"] = [33264] let s:lib.Codec.decoding_table["197,88"] = [33265] let s:lib.Codec.decoding_table["197,89"] = [33266] let s:lib.Codec.decoding_table["197,90"] = [33269] let s:lib.Codec.decoding_table["197,91"] = [33270] let s:lib.Codec.decoding_table["197,92"] = [33271] let s:lib.Codec.decoding_table["197,93"] = [33272] let s:lib.Codec.decoding_table["197,94"] = [33273] let s:lib.Codec.decoding_table["197,95"] = [33274] let s:lib.Codec.decoding_table["197,96"] = [33277] let s:lib.Codec.decoding_table["197,97"] = [33279] let s:lib.Codec.decoding_table["197,98"] = [33283] let s:lib.Codec.decoding_table["197,99"] = [33287] let s:lib.Codec.decoding_table["197,100"] = [33288] let s:lib.Codec.decoding_table["197,101"] = [33289] let s:lib.Codec.decoding_table["197,102"] = [33290] let s:lib.Codec.decoding_table["197,103"] = [33291] let s:lib.Codec.decoding_table["197,104"] = [33294] let s:lib.Codec.decoding_table["197,105"] = [33295] let s:lib.Codec.decoding_table["197,106"] = [33297] let s:lib.Codec.decoding_table["197,107"] = [33299] let s:lib.Codec.decoding_table["197,108"] = [33301] let s:lib.Codec.decoding_table["197,109"] = [33302] let s:lib.Codec.decoding_table["197,110"] = [33303] let s:lib.Codec.decoding_table["197,111"] = [33304] let s:lib.Codec.decoding_table["197,112"] = [33305] let s:lib.Codec.decoding_table["197,113"] = [33306] let s:lib.Codec.decoding_table["197,114"] = [33309] let s:lib.Codec.decoding_table["197,115"] = [33312] let s:lib.Codec.decoding_table["197,116"] = [33316] let s:lib.Codec.decoding_table["197,117"] = [33317] let s:lib.Codec.decoding_table["197,118"] = [33318] let s:lib.Codec.decoding_table["197,119"] = [33319] let s:lib.Codec.decoding_table["197,120"] = [33321] let s:lib.Codec.decoding_table["197,121"] = [33326] let s:lib.Codec.decoding_table["197,122"] = [33330] let s:lib.Codec.decoding_table["197,123"] = [33338] let s:lib.Codec.decoding_table["197,124"] = [33340] let s:lib.Codec.decoding_table["197,125"] = [33341] let s:lib.Codec.decoding_table["197,126"] = [33343] let s:lib.Codec.decoding_table["197,128"] = [33344] let s:lib.Codec.decoding_table["197,129"] = [33345] let s:lib.Codec.decoding_table["197,130"] = [33346] let s:lib.Codec.decoding_table["197,131"] = [33347] let s:lib.Codec.decoding_table["197,132"] = [33349] let s:lib.Codec.decoding_table["197,133"] = [33350] let s:lib.Codec.decoding_table["197,134"] = [33352] let s:lib.Codec.decoding_table["197,135"] = [33354] let s:lib.Codec.decoding_table["197,136"] = [33356] let s:lib.Codec.decoding_table["197,137"] = [33357] let s:lib.Codec.decoding_table["197,138"] = [33358] let s:lib.Codec.decoding_table["197,139"] = [33360] let s:lib.Codec.decoding_table["197,140"] = [33361] let s:lib.Codec.decoding_table["197,141"] = [33362] let s:lib.Codec.decoding_table["197,142"] = [33363] let s:lib.Codec.decoding_table["197,143"] = [33364] let s:lib.Codec.decoding_table["197,144"] = [33365] let s:lib.Codec.decoding_table["197,145"] = [33366] let s:lib.Codec.decoding_table["197,146"] = [33367] let s:lib.Codec.decoding_table["197,147"] = [33369] let s:lib.Codec.decoding_table["197,148"] = [33371] let s:lib.Codec.decoding_table["197,149"] = [33372] let s:lib.Codec.decoding_table["197,150"] = [33373] let s:lib.Codec.decoding_table["197,151"] = [33374] let s:lib.Codec.decoding_table["197,152"] = [33376] let s:lib.Codec.decoding_table["197,153"] = [33377] let s:lib.Codec.decoding_table["197,154"] = [33378] let s:lib.Codec.decoding_table["197,155"] = [33379] let s:lib.Codec.decoding_table["197,156"] = [33380] let s:lib.Codec.decoding_table["197,157"] = [33381] let s:lib.Codec.decoding_table["197,158"] = [33382] let s:lib.Codec.decoding_table["197,159"] = [33383] let s:lib.Codec.decoding_table["197,160"] = [33385] let s:lib.Codec.decoding_table["197,161"] = [25319] let s:lib.Codec.decoding_table["197,162"] = [27870] let s:lib.Codec.decoding_table["197,163"] = [29275] let s:lib.Codec.decoding_table["197,164"] = [25197] let s:lib.Codec.decoding_table["197,165"] = [38062] let s:lib.Codec.decoding_table["197,166"] = [32445] let s:lib.Codec.decoding_table["197,167"] = [33043] let s:lib.Codec.decoding_table["197,168"] = [27987] let s:lib.Codec.decoding_table["197,169"] = [20892] let s:lib.Codec.decoding_table["197,170"] = [24324] let s:lib.Codec.decoding_table["197,171"] = [22900] let s:lib.Codec.decoding_table["197,172"] = [21162] let s:lib.Codec.decoding_table["197,173"] = [24594] let s:lib.Codec.decoding_table["197,174"] = [22899] let s:lib.Codec.decoding_table["197,175"] = [26262] let s:lib.Codec.decoding_table["197,176"] = [34384] let s:lib.Codec.decoding_table["197,177"] = [30111] let s:lib.Codec.decoding_table["197,178"] = [25386] let s:lib.Codec.decoding_table["197,179"] = [25062] let s:lib.Codec.decoding_table["197,180"] = [31983] let s:lib.Codec.decoding_table["197,181"] = [35834] let s:lib.Codec.decoding_table["197,182"] = [21734] let s:lib.Codec.decoding_table["197,183"] = [27431] let s:lib.Codec.decoding_table["197,184"] = [40485] let s:lib.Codec.decoding_table["197,185"] = [27572] let s:lib.Codec.decoding_table["197,186"] = [34261] let s:lib.Codec.decoding_table["197,187"] = [21589] let s:lib.Codec.decoding_table["197,188"] = [20598] let s:lib.Codec.decoding_table["197,189"] = [27812] let s:lib.Codec.decoding_table["197,190"] = [21866] let s:lib.Codec.decoding_table["197,191"] = [36276] let s:lib.Codec.decoding_table["197,192"] = [29228] let s:lib.Codec.decoding_table["197,193"] = [24085] let s:lib.Codec.decoding_table["197,194"] = [24597] let s:lib.Codec.decoding_table["197,195"] = [29750] let s:lib.Codec.decoding_table["197,196"] = [25293] let s:lib.Codec.decoding_table["197,197"] = [25490] let s:lib.Codec.decoding_table["197,198"] = [29260] let s:lib.Codec.decoding_table["197,199"] = [24472] let s:lib.Codec.decoding_table["197,200"] = [28227] let s:lib.Codec.decoding_table["197,201"] = [27966] let s:lib.Codec.decoding_table["197,202"] = [25856] let s:lib.Codec.decoding_table["197,203"] = [28504] let s:lib.Codec.decoding_table["197,204"] = [30424] let s:lib.Codec.decoding_table["197,205"] = [30928] let s:lib.Codec.decoding_table["197,206"] = [30460] let s:lib.Codec.decoding_table["197,207"] = [30036] let s:lib.Codec.decoding_table["197,208"] = [21028] let s:lib.Codec.decoding_table["197,209"] = [21467] let s:lib.Codec.decoding_table["197,210"] = [20051] let s:lib.Codec.decoding_table["197,211"] = [24222] let s:lib.Codec.decoding_table["197,212"] = [26049] let s:lib.Codec.decoding_table["197,213"] = [32810] let s:lib.Codec.decoding_table["197,214"] = [32982] let s:lib.Codec.decoding_table["197,215"] = [25243] let s:lib.Codec.decoding_table["197,216"] = [21638] let s:lib.Codec.decoding_table["197,217"] = [21032] let s:lib.Codec.decoding_table["197,218"] = [28846] let s:lib.Codec.decoding_table["197,219"] = [34957] let s:lib.Codec.decoding_table["197,220"] = [36305] let s:lib.Codec.decoding_table["197,221"] = [27873] let s:lib.Codec.decoding_table["197,222"] = [21624] let s:lib.Codec.decoding_table["197,223"] = [32986] let s:lib.Codec.decoding_table["197,224"] = [22521] let s:lib.Codec.decoding_table["197,225"] = [35060] let s:lib.Codec.decoding_table["197,226"] = [36180] let s:lib.Codec.decoding_table["197,227"] = [38506] let s:lib.Codec.decoding_table["197,228"] = [37197] let s:lib.Codec.decoding_table["197,229"] = [20329] let s:lib.Codec.decoding_table["197,230"] = [27803] let s:lib.Codec.decoding_table["197,231"] = [21943] let s:lib.Codec.decoding_table["197,232"] = [30406] let s:lib.Codec.decoding_table["197,233"] = [30768] let s:lib.Codec.decoding_table["197,234"] = [25256] let s:lib.Codec.decoding_table["197,235"] = [28921] let s:lib.Codec.decoding_table["197,236"] = [28558] let s:lib.Codec.decoding_table["197,237"] = [24429] let s:lib.Codec.decoding_table["197,238"] = [34028] let s:lib.Codec.decoding_table["197,239"] = [26842] let s:lib.Codec.decoding_table["197,240"] = [30844] let s:lib.Codec.decoding_table["197,241"] = [31735] let s:lib.Codec.decoding_table["197,242"] = [33192] let s:lib.Codec.decoding_table["197,243"] = [26379] let s:lib.Codec.decoding_table["197,244"] = [40527] let s:lib.Codec.decoding_table["197,245"] = [25447] let s:lib.Codec.decoding_table["197,246"] = [30896] let s:lib.Codec.decoding_table["197,247"] = [22383] let s:lib.Codec.decoding_table["197,248"] = [30738] let s:lib.Codec.decoding_table["197,249"] = [38713] let s:lib.Codec.decoding_table["197,250"] = [25209] let s:lib.Codec.decoding_table["197,251"] = [25259] let s:lib.Codec.decoding_table["197,252"] = [21128] let s:lib.Codec.decoding_table["197,253"] = [29749] let s:lib.Codec.decoding_table["197,254"] = [27607] let s:lib.Codec.decoding_table["198,64"] = [33386] let s:lib.Codec.decoding_table["198,65"] = [33387] let s:lib.Codec.decoding_table["198,66"] = [33388] let s:lib.Codec.decoding_table["198,67"] = [33389] let s:lib.Codec.decoding_table["198,68"] = [33393] let s:lib.Codec.decoding_table["198,69"] = [33397] let s:lib.Codec.decoding_table["198,70"] = [33398] let s:lib.Codec.decoding_table["198,71"] = [33399] let s:lib.Codec.decoding_table["198,72"] = [33400] let s:lib.Codec.decoding_table["198,73"] = [33403] let s:lib.Codec.decoding_table["198,74"] = [33404] let s:lib.Codec.decoding_table["198,75"] = [33408] let s:lib.Codec.decoding_table["198,76"] = [33409] let s:lib.Codec.decoding_table["198,77"] = [33411] let s:lib.Codec.decoding_table["198,78"] = [33413] let s:lib.Codec.decoding_table["198,79"] = [33414] let s:lib.Codec.decoding_table["198,80"] = [33415] let s:lib.Codec.decoding_table["198,81"] = [33417] let s:lib.Codec.decoding_table["198,82"] = [33420] let s:lib.Codec.decoding_table["198,83"] = [33424] let s:lib.Codec.decoding_table["198,84"] = [33427] let s:lib.Codec.decoding_table["198,85"] = [33428] let s:lib.Codec.decoding_table["198,86"] = [33429] let s:lib.Codec.decoding_table["198,87"] = [33430] let s:lib.Codec.decoding_table["198,88"] = [33434] let s:lib.Codec.decoding_table["198,89"] = [33435] let s:lib.Codec.decoding_table["198,90"] = [33438] let s:lib.Codec.decoding_table["198,91"] = [33440] let s:lib.Codec.decoding_table["198,92"] = [33442] let s:lib.Codec.decoding_table["198,93"] = [33443] let s:lib.Codec.decoding_table["198,94"] = [33447] let s:lib.Codec.decoding_table["198,95"] = [33458] let s:lib.Codec.decoding_table["198,96"] = [33461] let s:lib.Codec.decoding_table["198,97"] = [33462] let s:lib.Codec.decoding_table["198,98"] = [33466] let s:lib.Codec.decoding_table["198,99"] = [33467] let s:lib.Codec.decoding_table["198,100"] = [33468] let s:lib.Codec.decoding_table["198,101"] = [33471] let s:lib.Codec.decoding_table["198,102"] = [33472] let s:lib.Codec.decoding_table["198,103"] = [33474] let s:lib.Codec.decoding_table["198,104"] = [33475] let s:lib.Codec.decoding_table["198,105"] = [33477] let s:lib.Codec.decoding_table["198,106"] = [33478] let s:lib.Codec.decoding_table["198,107"] = [33481] let s:lib.Codec.decoding_table["198,108"] = [33488] let s:lib.Codec.decoding_table["198,109"] = [33494] let s:lib.Codec.decoding_table["198,110"] = [33497] let s:lib.Codec.decoding_table["198,111"] = [33498] let s:lib.Codec.decoding_table["198,112"] = [33501] let s:lib.Codec.decoding_table["198,113"] = [33506] let s:lib.Codec.decoding_table["198,114"] = [33511] let s:lib.Codec.decoding_table["198,115"] = [33512] let s:lib.Codec.decoding_table["198,116"] = [33513] let s:lib.Codec.decoding_table["198,117"] = [33514] let s:lib.Codec.decoding_table["198,118"] = [33516] let s:lib.Codec.decoding_table["198,119"] = [33517] let s:lib.Codec.decoding_table["198,120"] = [33518] let s:lib.Codec.decoding_table["198,121"] = [33520] let s:lib.Codec.decoding_table["198,122"] = [33522] let s:lib.Codec.decoding_table["198,123"] = [33523] let s:lib.Codec.decoding_table["198,124"] = [33525] let s:lib.Codec.decoding_table["198,125"] = [33526] let s:lib.Codec.decoding_table["198,126"] = [33528] let s:lib.Codec.decoding_table["198,128"] = [33530] let s:lib.Codec.decoding_table["198,129"] = [33532] let s:lib.Codec.decoding_table["198,130"] = [33533] let s:lib.Codec.decoding_table["198,131"] = [33534] let s:lib.Codec.decoding_table["198,132"] = [33535] let s:lib.Codec.decoding_table["198,133"] = [33536] let s:lib.Codec.decoding_table["198,134"] = [33546] let s:lib.Codec.decoding_table["198,135"] = [33547] let s:lib.Codec.decoding_table["198,136"] = [33549] let s:lib.Codec.decoding_table["198,137"] = [33552] let s:lib.Codec.decoding_table["198,138"] = [33554] let s:lib.Codec.decoding_table["198,139"] = [33555] let s:lib.Codec.decoding_table["198,140"] = [33558] let s:lib.Codec.decoding_table["198,141"] = [33560] let s:lib.Codec.decoding_table["198,142"] = [33561] let s:lib.Codec.decoding_table["198,143"] = [33565] let s:lib.Codec.decoding_table["198,144"] = [33566] let s:lib.Codec.decoding_table["198,145"] = [33567] let s:lib.Codec.decoding_table["198,146"] = [33568] let s:lib.Codec.decoding_table["198,147"] = [33569] let s:lib.Codec.decoding_table["198,148"] = [33570] let s:lib.Codec.decoding_table["198,149"] = [33571] let s:lib.Codec.decoding_table["198,150"] = [33572] let s:lib.Codec.decoding_table["198,151"] = [33573] let s:lib.Codec.decoding_table["198,152"] = [33574] let s:lib.Codec.decoding_table["198,153"] = [33577] let s:lib.Codec.decoding_table["198,154"] = [33578] let s:lib.Codec.decoding_table["198,155"] = [33582] let s:lib.Codec.decoding_table["198,156"] = [33584] let s:lib.Codec.decoding_table["198,157"] = [33586] let s:lib.Codec.decoding_table["198,158"] = [33591] let s:lib.Codec.decoding_table["198,159"] = [33595] let s:lib.Codec.decoding_table["198,160"] = [33597] let s:lib.Codec.decoding_table["198,161"] = [21860] let s:lib.Codec.decoding_table["198,162"] = [33086] let s:lib.Codec.decoding_table["198,163"] = [30130] let s:lib.Codec.decoding_table["198,164"] = [30382] let s:lib.Codec.decoding_table["198,165"] = [21305] let s:lib.Codec.decoding_table["198,166"] = [30174] let s:lib.Codec.decoding_table["198,167"] = [20731] let s:lib.Codec.decoding_table["198,168"] = [23617] let s:lib.Codec.decoding_table["198,169"] = [35692] let s:lib.Codec.decoding_table["198,170"] = [31687] let s:lib.Codec.decoding_table["198,171"] = [20559] let s:lib.Codec.decoding_table["198,172"] = [29255] let s:lib.Codec.decoding_table["198,173"] = [39575] let s:lib.Codec.decoding_table["198,174"] = [39128] let s:lib.Codec.decoding_table["198,175"] = [28418] let s:lib.Codec.decoding_table["198,176"] = [29922] let s:lib.Codec.decoding_table["198,177"] = [31080] let s:lib.Codec.decoding_table["198,178"] = [25735] let s:lib.Codec.decoding_table["198,179"] = [30629] let s:lib.Codec.decoding_table["198,180"] = [25340] let s:lib.Codec.decoding_table["198,181"] = [39057] let s:lib.Codec.decoding_table["198,182"] = [36139] let s:lib.Codec.decoding_table["198,183"] = [21697] let s:lib.Codec.decoding_table["198,184"] = [32856] let s:lib.Codec.decoding_table["198,185"] = [20050] let s:lib.Codec.decoding_table["198,186"] = [22378] let s:lib.Codec.decoding_table["198,187"] = [33529] let s:lib.Codec.decoding_table["198,188"] = [33805] let s:lib.Codec.decoding_table["198,189"] = [24179] let s:lib.Codec.decoding_table["198,190"] = [20973] let s:lib.Codec.decoding_table["198,191"] = [29942] let s:lib.Codec.decoding_table["198,192"] = [35780] let s:lib.Codec.decoding_table["198,193"] = [23631] let s:lib.Codec.decoding_table["198,194"] = [22369] let s:lib.Codec.decoding_table["198,195"] = [27900] let s:lib.Codec.decoding_table["198,196"] = [39047] let s:lib.Codec.decoding_table["198,197"] = [23110] let s:lib.Codec.decoding_table["198,198"] = [30772] let s:lib.Codec.decoding_table["198,199"] = [39748] let s:lib.Codec.decoding_table["198,200"] = [36843] let s:lib.Codec.decoding_table["198,201"] = [31893] let s:lib.Codec.decoding_table["198,202"] = [21078] let s:lib.Codec.decoding_table["198,203"] = [25169] let s:lib.Codec.decoding_table["198,204"] = [38138] let s:lib.Codec.decoding_table["198,205"] = [20166] let s:lib.Codec.decoding_table["198,206"] = [33670] let s:lib.Codec.decoding_table["198,207"] = [33889] let s:lib.Codec.decoding_table["198,208"] = [33769] let s:lib.Codec.decoding_table["198,209"] = [33970] let s:lib.Codec.decoding_table["198,210"] = [22484] let s:lib.Codec.decoding_table["198,211"] = [26420] let s:lib.Codec.decoding_table["198,212"] = [22275] let s:lib.Codec.decoding_table["198,213"] = [26222] let s:lib.Codec.decoding_table["198,214"] = [28006] let s:lib.Codec.decoding_table["198,215"] = [35889] let s:lib.Codec.decoding_table["198,216"] = [26333] let s:lib.Codec.decoding_table["198,217"] = [28689] let s:lib.Codec.decoding_table["198,218"] = [26399] let s:lib.Codec.decoding_table["198,219"] = [27450] let s:lib.Codec.decoding_table["198,220"] = [26646] let s:lib.Codec.decoding_table["198,221"] = [25114] let s:lib.Codec.decoding_table["198,222"] = [22971] let s:lib.Codec.decoding_table["198,223"] = [19971] let s:lib.Codec.decoding_table["198,224"] = [20932] let s:lib.Codec.decoding_table["198,225"] = [28422] let s:lib.Codec.decoding_table["198,226"] = [26578] let s:lib.Codec.decoding_table["198,227"] = [27791] let s:lib.Codec.decoding_table["198,228"] = [20854] let s:lib.Codec.decoding_table["198,229"] = [26827] let s:lib.Codec.decoding_table["198,230"] = [22855] let s:lib.Codec.decoding_table["198,231"] = [27495] let s:lib.Codec.decoding_table["198,232"] = [30054] let s:lib.Codec.decoding_table["198,233"] = [23822] let s:lib.Codec.decoding_table["198,234"] = [33040] let s:lib.Codec.decoding_table["198,235"] = [40784] let s:lib.Codec.decoding_table["198,236"] = [26071] let s:lib.Codec.decoding_table["198,237"] = [31048] let s:lib.Codec.decoding_table["198,238"] = [31041] let s:lib.Codec.decoding_table["198,239"] = [39569] let s:lib.Codec.decoding_table["198,240"] = [36215] let s:lib.Codec.decoding_table["198,241"] = [23682] let s:lib.Codec.decoding_table["198,242"] = [20062] let s:lib.Codec.decoding_table["198,243"] = [20225] let s:lib.Codec.decoding_table["198,244"] = [21551] let s:lib.Codec.decoding_table["198,245"] = [22865] let s:lib.Codec.decoding_table["198,246"] = [30732] let s:lib.Codec.decoding_table["198,247"] = [22120] let s:lib.Codec.decoding_table["198,248"] = [27668] let s:lib.Codec.decoding_table["198,249"] = [36804] let s:lib.Codec.decoding_table["198,250"] = [24323] let s:lib.Codec.decoding_table["198,251"] = [27773] let s:lib.Codec.decoding_table["198,252"] = [27875] let s:lib.Codec.decoding_table["198,253"] = [35755] let s:lib.Codec.decoding_table["198,254"] = [25488] let s:lib.Codec.decoding_table["199,64"] = [33598] let s:lib.Codec.decoding_table["199,65"] = [33599] let s:lib.Codec.decoding_table["199,66"] = [33601] let s:lib.Codec.decoding_table["199,67"] = [33602] let s:lib.Codec.decoding_table["199,68"] = [33604] let s:lib.Codec.decoding_table["199,69"] = [33605] let s:lib.Codec.decoding_table["199,70"] = [33608] let s:lib.Codec.decoding_table["199,71"] = [33610] let s:lib.Codec.decoding_table["199,72"] = [33611] let s:lib.Codec.decoding_table["199,73"] = [33612] let s:lib.Codec.decoding_table["199,74"] = [33613] let s:lib.Codec.decoding_table["199,75"] = [33614] let s:lib.Codec.decoding_table["199,76"] = [33619] let s:lib.Codec.decoding_table["199,77"] = [33621] let s:lib.Codec.decoding_table["199,78"] = [33622] let s:lib.Codec.decoding_table["199,79"] = [33623] let s:lib.Codec.decoding_table["199,80"] = [33624] let s:lib.Codec.decoding_table["199,81"] = [33625] let s:lib.Codec.decoding_table["199,82"] = [33629] let s:lib.Codec.decoding_table["199,83"] = [33634] let s:lib.Codec.decoding_table["199,84"] = [33648] let s:lib.Codec.decoding_table["199,85"] = [33649] let s:lib.Codec.decoding_table["199,86"] = [33650] let s:lib.Codec.decoding_table["199,87"] = [33651] let s:lib.Codec.decoding_table["199,88"] = [33652] let s:lib.Codec.decoding_table["199,89"] = [33653] let s:lib.Codec.decoding_table["199,90"] = [33654] let s:lib.Codec.decoding_table["199,91"] = [33657] let s:lib.Codec.decoding_table["199,92"] = [33658] let s:lib.Codec.decoding_table["199,93"] = [33662] let s:lib.Codec.decoding_table["199,94"] = [33663] let s:lib.Codec.decoding_table["199,95"] = [33664] let s:lib.Codec.decoding_table["199,96"] = [33665] let s:lib.Codec.decoding_table["199,97"] = [33666] let s:lib.Codec.decoding_table["199,98"] = [33667] let s:lib.Codec.decoding_table["199,99"] = [33668] let s:lib.Codec.decoding_table["199,100"] = [33671] let s:lib.Codec.decoding_table["199,101"] = [33672] let s:lib.Codec.decoding_table["199,102"] = [33674] let s:lib.Codec.decoding_table["199,103"] = [33675] let s:lib.Codec.decoding_table["199,104"] = [33676] let s:lib.Codec.decoding_table["199,105"] = [33677] let s:lib.Codec.decoding_table["199,106"] = [33679] let s:lib.Codec.decoding_table["199,107"] = [33680] let s:lib.Codec.decoding_table["199,108"] = [33681] let s:lib.Codec.decoding_table["199,109"] = [33684] let s:lib.Codec.decoding_table["199,110"] = [33685] let s:lib.Codec.decoding_table["199,111"] = [33686] let s:lib.Codec.decoding_table["199,112"] = [33687] let s:lib.Codec.decoding_table["199,113"] = [33689] let s:lib.Codec.decoding_table["199,114"] = [33690] let s:lib.Codec.decoding_table["199,115"] = [33693] let s:lib.Codec.decoding_table["199,116"] = [33695] let s:lib.Codec.decoding_table["199,117"] = [33697] let s:lib.Codec.decoding_table["199,118"] = [33698] let s:lib.Codec.decoding_table["199,119"] = [33699] let s:lib.Codec.decoding_table["199,120"] = [33700] let s:lib.Codec.decoding_table["199,121"] = [33701] let s:lib.Codec.decoding_table["199,122"] = [33702] let s:lib.Codec.decoding_table["199,123"] = [33703] let s:lib.Codec.decoding_table["199,124"] = [33708] let s:lib.Codec.decoding_table["199,125"] = [33709] let s:lib.Codec.decoding_table["199,126"] = [33710] let s:lib.Codec.decoding_table["199,128"] = [33711] let s:lib.Codec.decoding_table["199,129"] = [33717] let s:lib.Codec.decoding_table["199,130"] = [33723] let s:lib.Codec.decoding_table["199,131"] = [33726] let s:lib.Codec.decoding_table["199,132"] = [33727] let s:lib.Codec.decoding_table["199,133"] = [33730] let s:lib.Codec.decoding_table["199,134"] = [33731] let s:lib.Codec.decoding_table["199,135"] = [33732] let s:lib.Codec.decoding_table["199,136"] = [33734] let s:lib.Codec.decoding_table["199,137"] = [33736] let s:lib.Codec.decoding_table["199,138"] = [33737] let s:lib.Codec.decoding_table["199,139"] = [33739] let s:lib.Codec.decoding_table["199,140"] = [33741] let s:lib.Codec.decoding_table["199,141"] = [33742] let s:lib.Codec.decoding_table["199,142"] = [33744] let s:lib.Codec.decoding_table["199,143"] = [33745] let s:lib.Codec.decoding_table["199,144"] = [33746] let s:lib.Codec.decoding_table["199,145"] = [33747] let s:lib.Codec.decoding_table["199,146"] = [33749] let s:lib.Codec.decoding_table["199,147"] = [33751] let s:lib.Codec.decoding_table["199,148"] = [33753] let s:lib.Codec.decoding_table["199,149"] = [33754] let s:lib.Codec.decoding_table["199,150"] = [33755] let s:lib.Codec.decoding_table["199,151"] = [33758] let s:lib.Codec.decoding_table["199,152"] = [33762] let s:lib.Codec.decoding_table["199,153"] = [33763] let s:lib.Codec.decoding_table["199,154"] = [33764] let s:lib.Codec.decoding_table["199,155"] = [33766] let s:lib.Codec.decoding_table["199,156"] = [33767] let s:lib.Codec.decoding_table["199,157"] = [33768] let s:lib.Codec.decoding_table["199,158"] = [33771] let s:lib.Codec.decoding_table["199,159"] = [33772] let s:lib.Codec.decoding_table["199,160"] = [33773] let s:lib.Codec.decoding_table["199,161"] = [24688] let s:lib.Codec.decoding_table["199,162"] = [27965] let s:lib.Codec.decoding_table["199,163"] = [29301] let s:lib.Codec.decoding_table["199,164"] = [25190] let s:lib.Codec.decoding_table["199,165"] = [38030] let s:lib.Codec.decoding_table["199,166"] = [38085] let s:lib.Codec.decoding_table["199,167"] = [21315] let s:lib.Codec.decoding_table["199,168"] = [36801] let s:lib.Codec.decoding_table["199,169"] = [31614] let s:lib.Codec.decoding_table["199,170"] = [20191] let s:lib.Codec.decoding_table["199,171"] = [35878] let s:lib.Codec.decoding_table["199,172"] = [20094] let s:lib.Codec.decoding_table["199,173"] = [40660] let s:lib.Codec.decoding_table["199,174"] = [38065] let s:lib.Codec.decoding_table["199,175"] = [38067] let s:lib.Codec.decoding_table["199,176"] = [21069] let s:lib.Codec.decoding_table["199,177"] = [28508] let s:lib.Codec.decoding_table["199,178"] = [36963] let s:lib.Codec.decoding_table["199,179"] = [27973] let s:lib.Codec.decoding_table["199,180"] = [35892] let s:lib.Codec.decoding_table["199,181"] = [22545] let s:lib.Codec.decoding_table["199,182"] = [23884] let s:lib.Codec.decoding_table["199,183"] = [27424] let s:lib.Codec.decoding_table["199,184"] = [27465] let s:lib.Codec.decoding_table["199,185"] = [26538] let s:lib.Codec.decoding_table["199,186"] = [21595] let s:lib.Codec.decoding_table["199,187"] = [33108] let s:lib.Codec.decoding_table["199,188"] = [32652] let s:lib.Codec.decoding_table["199,189"] = [22681] let s:lib.Codec.decoding_table["199,190"] = [34103] let s:lib.Codec.decoding_table["199,191"] = [24378] let s:lib.Codec.decoding_table["199,192"] = [25250] let s:lib.Codec.decoding_table["199,193"] = [27207] let s:lib.Codec.decoding_table["199,194"] = [38201] let s:lib.Codec.decoding_table["199,195"] = [25970] let s:lib.Codec.decoding_table["199,196"] = [24708] let s:lib.Codec.decoding_table["199,197"] = [26725] let s:lib.Codec.decoding_table["199,198"] = [30631] let s:lib.Codec.decoding_table["199,199"] = [20052] let s:lib.Codec.decoding_table["199,200"] = [20392] let s:lib.Codec.decoding_table["199,201"] = [24039] let s:lib.Codec.decoding_table["199,202"] = [38808] let s:lib.Codec.decoding_table["199,203"] = [25772] let s:lib.Codec.decoding_table["199,204"] = [32728] let s:lib.Codec.decoding_table["199,205"] = [23789] let s:lib.Codec.decoding_table["199,206"] = [20431] let s:lib.Codec.decoding_table["199,207"] = [31373] let s:lib.Codec.decoding_table["199,208"] = [20999] let s:lib.Codec.decoding_table["199,209"] = [33540] let s:lib.Codec.decoding_table["199,210"] = [19988] let s:lib.Codec.decoding_table["199,211"] = [24623] let s:lib.Codec.decoding_table["199,212"] = [31363] let s:lib.Codec.decoding_table["199,213"] = [38054] let s:lib.Codec.decoding_table["199,214"] = [20405] let s:lib.Codec.decoding_table["199,215"] = [20146] let s:lib.Codec.decoding_table["199,216"] = [31206] let s:lib.Codec.decoding_table["199,217"] = [29748] let s:lib.Codec.decoding_table["199,218"] = [21220] let s:lib.Codec.decoding_table["199,219"] = [33465] let s:lib.Codec.decoding_table["199,220"] = [25810] let s:lib.Codec.decoding_table["199,221"] = [31165] let s:lib.Codec.decoding_table["199,222"] = [23517] let s:lib.Codec.decoding_table["199,223"] = [27777] let s:lib.Codec.decoding_table["199,224"] = [38738] let s:lib.Codec.decoding_table["199,225"] = [36731] let s:lib.Codec.decoding_table["199,226"] = [27682] let s:lib.Codec.decoding_table["199,227"] = [20542] let s:lib.Codec.decoding_table["199,228"] = [21375] let s:lib.Codec.decoding_table["199,229"] = [28165] let s:lib.Codec.decoding_table["199,230"] = [25806] let s:lib.Codec.decoding_table["199,231"] = [26228] let s:lib.Codec.decoding_table["199,232"] = [27696] let s:lib.Codec.decoding_table["199,233"] = [24773] let s:lib.Codec.decoding_table["199,234"] = [39031] let s:lib.Codec.decoding_table["199,235"] = [35831] let s:lib.Codec.decoding_table["199,236"] = [24198] let s:lib.Codec.decoding_table["199,237"] = [29756] let s:lib.Codec.decoding_table["199,238"] = [31351] let s:lib.Codec.decoding_table["199,239"] = [31179] let s:lib.Codec.decoding_table["199,240"] = [19992] let s:lib.Codec.decoding_table["199,241"] = [37041] let s:lib.Codec.decoding_table["199,242"] = [29699] let s:lib.Codec.decoding_table["199,243"] = [27714] let s:lib.Codec.decoding_table["199,244"] = [22234] let s:lib.Codec.decoding_table["199,245"] = [37195] let s:lib.Codec.decoding_table["199,246"] = [27845] let s:lib.Codec.decoding_table["199,247"] = [36235] let s:lib.Codec.decoding_table["199,248"] = [21306] let s:lib.Codec.decoding_table["199,249"] = [34502] let s:lib.Codec.decoding_table["199,250"] = [26354] let s:lib.Codec.decoding_table["199,251"] = [36527] let s:lib.Codec.decoding_table["199,252"] = [23624] let s:lib.Codec.decoding_table["199,253"] = [39537] let s:lib.Codec.decoding_table["199,254"] = [28192] let s:lib.Codec.decoding_table["200,64"] = [33774] let s:lib.Codec.decoding_table["200,65"] = [33775] let s:lib.Codec.decoding_table["200,66"] = [33779] let s:lib.Codec.decoding_table["200,67"] = [33780] let s:lib.Codec.decoding_table["200,68"] = [33781] let s:lib.Codec.decoding_table["200,69"] = [33782] let s:lib.Codec.decoding_table["200,70"] = [33783] let s:lib.Codec.decoding_table["200,71"] = [33786] let s:lib.Codec.decoding_table["200,72"] = [33787] let s:lib.Codec.decoding_table["200,73"] = [33788] let s:lib.Codec.decoding_table["200,74"] = [33790] let s:lib.Codec.decoding_table["200,75"] = [33791] let s:lib.Codec.decoding_table["200,76"] = [33792] let s:lib.Codec.decoding_table["200,77"] = [33794] let s:lib.Codec.decoding_table["200,78"] = [33797] let s:lib.Codec.decoding_table["200,79"] = [33799] let s:lib.Codec.decoding_table["200,80"] = [33800] let s:lib.Codec.decoding_table["200,81"] = [33801] let s:lib.Codec.decoding_table["200,82"] = [33802] let s:lib.Codec.decoding_table["200,83"] = [33808] let s:lib.Codec.decoding_table["200,84"] = [33810] let s:lib.Codec.decoding_table["200,85"] = [33811] let s:lib.Codec.decoding_table["200,86"] = [33812] let s:lib.Codec.decoding_table["200,87"] = [33813] let s:lib.Codec.decoding_table["200,88"] = [33814] let s:lib.Codec.decoding_table["200,89"] = [33815] let s:lib.Codec.decoding_table["200,90"] = [33817] let s:lib.Codec.decoding_table["200,91"] = [33818] let s:lib.Codec.decoding_table["200,92"] = [33819] let s:lib.Codec.decoding_table["200,93"] = [33822] let s:lib.Codec.decoding_table["200,94"] = [33823] let s:lib.Codec.decoding_table["200,95"] = [33824] let s:lib.Codec.decoding_table["200,96"] = [33825] let s:lib.Codec.decoding_table["200,97"] = [33826] let s:lib.Codec.decoding_table["200,98"] = [33827] let s:lib.Codec.decoding_table["200,99"] = [33833] let s:lib.Codec.decoding_table["200,100"] = [33834] let s:lib.Codec.decoding_table["200,101"] = [33835] let s:lib.Codec.decoding_table["200,102"] = [33836] let s:lib.Codec.decoding_table["200,103"] = [33837] let s:lib.Codec.decoding_table["200,104"] = [33838] let s:lib.Codec.decoding_table["200,105"] = [33839] let s:lib.Codec.decoding_table["200,106"] = [33840] let s:lib.Codec.decoding_table["200,107"] = [33842] let s:lib.Codec.decoding_table["200,108"] = [33843] let s:lib.Codec.decoding_table["200,109"] = [33844] let s:lib.Codec.decoding_table["200,110"] = [33845] let s:lib.Codec.decoding_table["200,111"] = [33846] let s:lib.Codec.decoding_table["200,112"] = [33847] let s:lib.Codec.decoding_table["200,113"] = [33849] let s:lib.Codec.decoding_table["200,114"] = [33850] let s:lib.Codec.decoding_table["200,115"] = [33851] let s:lib.Codec.decoding_table["200,116"] = [33854] let s:lib.Codec.decoding_table["200,117"] = [33855] let s:lib.Codec.decoding_table["200,118"] = [33856] let s:lib.Codec.decoding_table["200,119"] = [33857] let s:lib.Codec.decoding_table["200,120"] = [33858] let s:lib.Codec.decoding_table["200,121"] = [33859] let s:lib.Codec.decoding_table["200,122"] = [33860] let s:lib.Codec.decoding_table["200,123"] = [33861] let s:lib.Codec.decoding_table["200,124"] = [33863] let s:lib.Codec.decoding_table["200,125"] = [33864] let s:lib.Codec.decoding_table["200,126"] = [33865] let s:lib.Codec.decoding_table["200,128"] = [33866] let s:lib.Codec.decoding_table["200,129"] = [33867] let s:lib.Codec.decoding_table["200,130"] = [33868] let s:lib.Codec.decoding_table["200,131"] = [33869] let s:lib.Codec.decoding_table["200,132"] = [33870] let s:lib.Codec.decoding_table["200,133"] = [33871] let s:lib.Codec.decoding_table["200,134"] = [33872] let s:lib.Codec.decoding_table["200,135"] = [33874] let s:lib.Codec.decoding_table["200,136"] = [33875] let s:lib.Codec.decoding_table["200,137"] = [33876] let s:lib.Codec.decoding_table["200,138"] = [33877] let s:lib.Codec.decoding_table["200,139"] = [33878] let s:lib.Codec.decoding_table["200,140"] = [33880] let s:lib.Codec.decoding_table["200,141"] = [33885] let s:lib.Codec.decoding_table["200,142"] = [33886] let s:lib.Codec.decoding_table["200,143"] = [33887] let s:lib.Codec.decoding_table["200,144"] = [33888] let s:lib.Codec.decoding_table["200,145"] = [33890] let s:lib.Codec.decoding_table["200,146"] = [33892] let s:lib.Codec.decoding_table["200,147"] = [33893] let s:lib.Codec.decoding_table["200,148"] = [33894] let s:lib.Codec.decoding_table["200,149"] = [33895] let s:lib.Codec.decoding_table["200,150"] = [33896] let s:lib.Codec.decoding_table["200,151"] = [33898] let s:lib.Codec.decoding_table["200,152"] = [33902] let s:lib.Codec.decoding_table["200,153"] = [33903] let s:lib.Codec.decoding_table["200,154"] = [33904] let s:lib.Codec.decoding_table["200,155"] = [33906] let s:lib.Codec.decoding_table["200,156"] = [33908] let s:lib.Codec.decoding_table["200,157"] = [33911] let s:lib.Codec.decoding_table["200,158"] = [33913] let s:lib.Codec.decoding_table["200,159"] = [33915] let s:lib.Codec.decoding_table["200,160"] = [33916] let s:lib.Codec.decoding_table["200,161"] = [21462] let s:lib.Codec.decoding_table["200,162"] = [23094] let s:lib.Codec.decoding_table["200,163"] = [40843] let s:lib.Codec.decoding_table["200,164"] = [36259] let s:lib.Codec.decoding_table["200,165"] = [21435] let s:lib.Codec.decoding_table["200,166"] = [22280] let s:lib.Codec.decoding_table["200,167"] = [39079] let s:lib.Codec.decoding_table["200,168"] = [26435] let s:lib.Codec.decoding_table["200,169"] = [37275] let s:lib.Codec.decoding_table["200,170"] = [27849] let s:lib.Codec.decoding_table["200,171"] = [20840] let s:lib.Codec.decoding_table["200,172"] = [30154] let s:lib.Codec.decoding_table["200,173"] = [25331] let s:lib.Codec.decoding_table["200,174"] = [29356] let s:lib.Codec.decoding_table["200,175"] = [21048] let s:lib.Codec.decoding_table["200,176"] = [21149] let s:lib.Codec.decoding_table["200,177"] = [32570] let s:lib.Codec.decoding_table["200,178"] = [28820] let s:lib.Codec.decoding_table["200,179"] = [30264] let s:lib.Codec.decoding_table["200,180"] = [21364] let s:lib.Codec.decoding_table["200,181"] = [40522] let s:lib.Codec.decoding_table["200,182"] = [27063] let s:lib.Codec.decoding_table["200,183"] = [30830] let s:lib.Codec.decoding_table["200,184"] = [38592] let s:lib.Codec.decoding_table["200,185"] = [35033] let s:lib.Codec.decoding_table["200,186"] = [32676] let s:lib.Codec.decoding_table["200,187"] = [28982] let s:lib.Codec.decoding_table["200,188"] = [29123] let s:lib.Codec.decoding_table["200,189"] = [20873] let s:lib.Codec.decoding_table["200,190"] = [26579] let s:lib.Codec.decoding_table["200,191"] = [29924] let s:lib.Codec.decoding_table["200,192"] = [22756] let s:lib.Codec.decoding_table["200,193"] = [25880] let s:lib.Codec.decoding_table["200,194"] = [22199] let s:lib.Codec.decoding_table["200,195"] = [35753] let s:lib.Codec.decoding_table["200,196"] = [39286] let s:lib.Codec.decoding_table["200,197"] = [25200] let s:lib.Codec.decoding_table["200,198"] = [32469] let s:lib.Codec.decoding_table["200,199"] = [24825] let s:lib.Codec.decoding_table["200,200"] = [28909] let s:lib.Codec.decoding_table["200,201"] = [22764] let s:lib.Codec.decoding_table["200,202"] = [20161] let s:lib.Codec.decoding_table["200,203"] = [20154] let s:lib.Codec.decoding_table["200,204"] = [24525] let s:lib.Codec.decoding_table["200,205"] = [38887] let s:lib.Codec.decoding_table["200,206"] = [20219] let s:lib.Codec.decoding_table["200,207"] = [35748] let s:lib.Codec.decoding_table["200,208"] = [20995] let s:lib.Codec.decoding_table["200,209"] = [22922] let s:lib.Codec.decoding_table["200,210"] = [32427] let s:lib.Codec.decoding_table["200,211"] = [25172] let s:lib.Codec.decoding_table["200,212"] = [20173] let s:lib.Codec.decoding_table["200,213"] = [26085] let s:lib.Codec.decoding_table["200,214"] = [25102] let s:lib.Codec.decoding_table["200,215"] = [33592] let s:lib.Codec.decoding_table["200,216"] = [33993] let s:lib.Codec.decoding_table["200,217"] = [33635] let s:lib.Codec.decoding_table["200,218"] = [34701] let s:lib.Codec.decoding_table["200,219"] = [29076] let s:lib.Codec.decoding_table["200,220"] = [28342] let s:lib.Codec.decoding_table["200,221"] = [23481] let s:lib.Codec.decoding_table["200,222"] = [32466] let s:lib.Codec.decoding_table["200,223"] = [20887] let s:lib.Codec.decoding_table["200,224"] = [25545] let s:lib.Codec.decoding_table["200,225"] = [26580] let s:lib.Codec.decoding_table["200,226"] = [32905] let s:lib.Codec.decoding_table["200,227"] = [33593] let s:lib.Codec.decoding_table["200,228"] = [34837] let s:lib.Codec.decoding_table["200,229"] = [20754] let s:lib.Codec.decoding_table["200,230"] = [23418] let s:lib.Codec.decoding_table["200,231"] = [22914] let s:lib.Codec.decoding_table["200,232"] = [36785] let s:lib.Codec.decoding_table["200,233"] = [20083] let s:lib.Codec.decoding_table["200,234"] = [27741] let s:lib.Codec.decoding_table["200,235"] = [20837] let s:lib.Codec.decoding_table["200,236"] = [35109] let s:lib.Codec.decoding_table["200,237"] = [36719] let s:lib.Codec.decoding_table["200,238"] = [38446] let s:lib.Codec.decoding_table["200,239"] = [34122] let s:lib.Codec.decoding_table["200,240"] = [29790] let s:lib.Codec.decoding_table["200,241"] = [38160] let s:lib.Codec.decoding_table["200,242"] = [38384] let s:lib.Codec.decoding_table["200,243"] = [28070] let s:lib.Codec.decoding_table["200,244"] = [33509] let s:lib.Codec.decoding_table["200,245"] = [24369] let s:lib.Codec.decoding_table["200,246"] = [25746] let s:lib.Codec.decoding_table["200,247"] = [27922] let s:lib.Codec.decoding_table["200,248"] = [33832] let s:lib.Codec.decoding_table["200,249"] = [33134] let s:lib.Codec.decoding_table["200,250"] = [40131] let s:lib.Codec.decoding_table["200,251"] = [22622] let s:lib.Codec.decoding_table["200,252"] = [36187] let s:lib.Codec.decoding_table["200,253"] = [19977] let s:lib.Codec.decoding_table["200,254"] = [21441] let s:lib.Codec.decoding_table["201,64"] = [33917] let s:lib.Codec.decoding_table["201,65"] = [33918] let s:lib.Codec.decoding_table["201,66"] = [33919] let s:lib.Codec.decoding_table["201,67"] = [33920] let s:lib.Codec.decoding_table["201,68"] = [33921] let s:lib.Codec.decoding_table["201,69"] = [33923] let s:lib.Codec.decoding_table["201,70"] = [33924] let s:lib.Codec.decoding_table["201,71"] = [33925] let s:lib.Codec.decoding_table["201,72"] = [33926] let s:lib.Codec.decoding_table["201,73"] = [33930] let s:lib.Codec.decoding_table["201,74"] = [33933] let s:lib.Codec.decoding_table["201,75"] = [33935] let s:lib.Codec.decoding_table["201,76"] = [33936] let s:lib.Codec.decoding_table["201,77"] = [33937] let s:lib.Codec.decoding_table["201,78"] = [33938] let s:lib.Codec.decoding_table["201,79"] = [33939] let s:lib.Codec.decoding_table["201,80"] = [33940] let s:lib.Codec.decoding_table["201,81"] = [33941] let s:lib.Codec.decoding_table["201,82"] = [33942] let s:lib.Codec.decoding_table["201,83"] = [33944] let s:lib.Codec.decoding_table["201,84"] = [33946] let s:lib.Codec.decoding_table["201,85"] = [33947] let s:lib.Codec.decoding_table["201,86"] = [33949] let s:lib.Codec.decoding_table["201,87"] = [33950] let s:lib.Codec.decoding_table["201,88"] = [33951] let s:lib.Codec.decoding_table["201,89"] = [33952] let s:lib.Codec.decoding_table["201,90"] = [33954] let s:lib.Codec.decoding_table["201,91"] = [33955] let s:lib.Codec.decoding_table["201,92"] = [33956] let s:lib.Codec.decoding_table["201,93"] = [33957] let s:lib.Codec.decoding_table["201,94"] = [33958] let s:lib.Codec.decoding_table["201,95"] = [33959] let s:lib.Codec.decoding_table["201,96"] = [33960] let s:lib.Codec.decoding_table["201,97"] = [33961] let s:lib.Codec.decoding_table["201,98"] = [33962] let s:lib.Codec.decoding_table["201,99"] = [33963] let s:lib.Codec.decoding_table["201,100"] = [33964] let s:lib.Codec.decoding_table["201,101"] = [33965] let s:lib.Codec.decoding_table["201,102"] = [33966] let s:lib.Codec.decoding_table["201,103"] = [33968] let s:lib.Codec.decoding_table["201,104"] = [33969] let s:lib.Codec.decoding_table["201,105"] = [33971] let s:lib.Codec.decoding_table["201,106"] = [33973] let s:lib.Codec.decoding_table["201,107"] = [33974] let s:lib.Codec.decoding_table["201,108"] = [33975] let s:lib.Codec.decoding_table["201,109"] = [33979] let s:lib.Codec.decoding_table["201,110"] = [33980] let s:lib.Codec.decoding_table["201,111"] = [33982] let s:lib.Codec.decoding_table["201,112"] = [33984] let s:lib.Codec.decoding_table["201,113"] = [33986] let s:lib.Codec.decoding_table["201,114"] = [33987] let s:lib.Codec.decoding_table["201,115"] = [33989] let s:lib.Codec.decoding_table["201,116"] = [33990] let s:lib.Codec.decoding_table["201,117"] = [33991] let s:lib.Codec.decoding_table["201,118"] = [33992] let s:lib.Codec.decoding_table["201,119"] = [33995] let s:lib.Codec.decoding_table["201,120"] = [33996] let s:lib.Codec.decoding_table["201,121"] = [33998] let s:lib.Codec.decoding_table["201,122"] = [33999] let s:lib.Codec.decoding_table["201,123"] = [34002] let s:lib.Codec.decoding_table["201,124"] = [34004] let s:lib.Codec.decoding_table["201,125"] = [34005] let s:lib.Codec.decoding_table["201,126"] = [34007] let s:lib.Codec.decoding_table["201,128"] = [34008] let s:lib.Codec.decoding_table["201,129"] = [34009] let s:lib.Codec.decoding_table["201,130"] = [34010] let s:lib.Codec.decoding_table["201,131"] = [34011] let s:lib.Codec.decoding_table["201,132"] = [34012] let s:lib.Codec.decoding_table["201,133"] = [34014] let s:lib.Codec.decoding_table["201,134"] = [34017] let s:lib.Codec.decoding_table["201,135"] = [34018] let s:lib.Codec.decoding_table["201,136"] = [34020] let s:lib.Codec.decoding_table["201,137"] = [34023] let s:lib.Codec.decoding_table["201,138"] = [34024] let s:lib.Codec.decoding_table["201,139"] = [34025] let s:lib.Codec.decoding_table["201,140"] = [34026] let s:lib.Codec.decoding_table["201,141"] = [34027] let s:lib.Codec.decoding_table["201,142"] = [34029] let s:lib.Codec.decoding_table["201,143"] = [34030] let s:lib.Codec.decoding_table["201,144"] = [34031] let s:lib.Codec.decoding_table["201,145"] = [34033] let s:lib.Codec.decoding_table["201,146"] = [34034] let s:lib.Codec.decoding_table["201,147"] = [34035] let s:lib.Codec.decoding_table["201,148"] = [34036] let s:lib.Codec.decoding_table["201,149"] = [34037] let s:lib.Codec.decoding_table["201,150"] = [34038] let s:lib.Codec.decoding_table["201,151"] = [34039] let s:lib.Codec.decoding_table["201,152"] = [34040] let s:lib.Codec.decoding_table["201,153"] = [34041] let s:lib.Codec.decoding_table["201,154"] = [34042] let s:lib.Codec.decoding_table["201,155"] = [34043] let s:lib.Codec.decoding_table["201,156"] = [34045] let s:lib.Codec.decoding_table["201,157"] = [34046] let s:lib.Codec.decoding_table["201,158"] = [34048] let s:lib.Codec.decoding_table["201,159"] = [34049] let s:lib.Codec.decoding_table["201,160"] = [34050] let s:lib.Codec.decoding_table["201,161"] = [20254] let s:lib.Codec.decoding_table["201,162"] = [25955] let s:lib.Codec.decoding_table["201,163"] = [26705] let s:lib.Codec.decoding_table["201,164"] = [21971] let s:lib.Codec.decoding_table["201,165"] = [20007] let s:lib.Codec.decoding_table["201,166"] = [25620] let s:lib.Codec.decoding_table["201,167"] = [39578] let s:lib.Codec.decoding_table["201,168"] = [25195] let s:lib.Codec.decoding_table["201,169"] = [23234] let s:lib.Codec.decoding_table["201,170"] = [29791] let s:lib.Codec.decoding_table["201,171"] = [33394] let s:lib.Codec.decoding_table["201,172"] = [28073] let s:lib.Codec.decoding_table["201,173"] = [26862] let s:lib.Codec.decoding_table["201,174"] = [20711] let s:lib.Codec.decoding_table["201,175"] = [33678] let s:lib.Codec.decoding_table["201,176"] = [30722] let s:lib.Codec.decoding_table["201,177"] = [26432] let s:lib.Codec.decoding_table["201,178"] = [21049] let s:lib.Codec.decoding_table["201,179"] = [27801] let s:lib.Codec.decoding_table["201,180"] = [32433] let s:lib.Codec.decoding_table["201,181"] = [20667] let s:lib.Codec.decoding_table["201,182"] = [21861] let s:lib.Codec.decoding_table["201,183"] = [29022] let s:lib.Codec.decoding_table["201,184"] = [31579] let s:lib.Codec.decoding_table["201,185"] = [26194] let s:lib.Codec.decoding_table["201,186"] = [29642] let s:lib.Codec.decoding_table["201,187"] = [33515] let s:lib.Codec.decoding_table["201,188"] = [26441] let s:lib.Codec.decoding_table["201,189"] = [23665] let s:lib.Codec.decoding_table["201,190"] = [21024] let s:lib.Codec.decoding_table["201,191"] = [29053] let s:lib.Codec.decoding_table["201,192"] = [34923] let s:lib.Codec.decoding_table["201,193"] = [38378] let s:lib.Codec.decoding_table["201,194"] = [38485] let s:lib.Codec.decoding_table["201,195"] = [25797] let s:lib.Codec.decoding_table["201,196"] = [36193] let s:lib.Codec.decoding_table["201,197"] = [33203] let s:lib.Codec.decoding_table["201,198"] = [21892] let s:lib.Codec.decoding_table["201,199"] = [27733] let s:lib.Codec.decoding_table["201,200"] = [25159] let s:lib.Codec.decoding_table["201,201"] = [32558] let s:lib.Codec.decoding_table["201,202"] = [22674] let s:lib.Codec.decoding_table["201,203"] = [20260] let s:lib.Codec.decoding_table["201,204"] = [21830] let s:lib.Codec.decoding_table["201,205"] = [36175] let s:lib.Codec.decoding_table["201,206"] = [26188] let s:lib.Codec.decoding_table["201,207"] = [19978] let s:lib.Codec.decoding_table["201,208"] = [23578] let s:lib.Codec.decoding_table["201,209"] = [35059] let s:lib.Codec.decoding_table["201,210"] = [26786] let s:lib.Codec.decoding_table["201,211"] = [25422] let s:lib.Codec.decoding_table["201,212"] = [31245] let s:lib.Codec.decoding_table["201,213"] = [28903] let s:lib.Codec.decoding_table["201,214"] = [33421] let s:lib.Codec.decoding_table["201,215"] = [21242] let s:lib.Codec.decoding_table["201,216"] = [38902] let s:lib.Codec.decoding_table["201,217"] = [23569] let s:lib.Codec.decoding_table["201,218"] = [21736] let s:lib.Codec.decoding_table["201,219"] = [37045] let s:lib.Codec.decoding_table["201,220"] = [32461] let s:lib.Codec.decoding_table["201,221"] = [22882] let s:lib.Codec.decoding_table["201,222"] = [36170] let s:lib.Codec.decoding_table["201,223"] = [34503] let s:lib.Codec.decoding_table["201,224"] = [33292] let s:lib.Codec.decoding_table["201,225"] = [33293] let s:lib.Codec.decoding_table["201,226"] = [36198] let s:lib.Codec.decoding_table["201,227"] = [25668] let s:lib.Codec.decoding_table["201,228"] = [23556] let s:lib.Codec.decoding_table["201,229"] = [24913] let s:lib.Codec.decoding_table["201,230"] = [28041] let s:lib.Codec.decoding_table["201,231"] = [31038] let s:lib.Codec.decoding_table["201,232"] = [35774] let s:lib.Codec.decoding_table["201,233"] = [30775] let s:lib.Codec.decoding_table["201,234"] = [30003] let s:lib.Codec.decoding_table["201,235"] = [21627] let s:lib.Codec.decoding_table["201,236"] = [20280] let s:lib.Codec.decoding_table["201,237"] = [36523] let s:lib.Codec.decoding_table["201,238"] = [28145] let s:lib.Codec.decoding_table["201,239"] = [23072] let s:lib.Codec.decoding_table["201,240"] = [32453] let s:lib.Codec.decoding_table["201,241"] = [31070] let s:lib.Codec.decoding_table["201,242"] = [27784] let s:lib.Codec.decoding_table["201,243"] = [23457] let s:lib.Codec.decoding_table["201,244"] = [23158] let s:lib.Codec.decoding_table["201,245"] = [29978] let s:lib.Codec.decoding_table["201,246"] = [32958] let s:lib.Codec.decoding_table["201,247"] = [24910] let s:lib.Codec.decoding_table["201,248"] = [28183] let s:lib.Codec.decoding_table["201,249"] = [22768] let s:lib.Codec.decoding_table["201,250"] = [29983] let s:lib.Codec.decoding_table["201,251"] = [29989] let s:lib.Codec.decoding_table["201,252"] = [29298] let s:lib.Codec.decoding_table["201,253"] = [21319] let s:lib.Codec.decoding_table["201,254"] = [32499] let s:lib.Codec.decoding_table["202,64"] = [34051] let s:lib.Codec.decoding_table["202,65"] = [34052] let s:lib.Codec.decoding_table["202,66"] = [34053] let s:lib.Codec.decoding_table["202,67"] = [34054] let s:lib.Codec.decoding_table["202,68"] = [34055] let s:lib.Codec.decoding_table["202,69"] = [34056] let s:lib.Codec.decoding_table["202,70"] = [34057] let s:lib.Codec.decoding_table["202,71"] = [34058] let s:lib.Codec.decoding_table["202,72"] = [34059] let s:lib.Codec.decoding_table["202,73"] = [34061] let s:lib.Codec.decoding_table["202,74"] = [34062] let s:lib.Codec.decoding_table["202,75"] = [34063] let s:lib.Codec.decoding_table["202,76"] = [34064] let s:lib.Codec.decoding_table["202,77"] = [34066] let s:lib.Codec.decoding_table["202,78"] = [34068] let s:lib.Codec.decoding_table["202,79"] = [34069] let s:lib.Codec.decoding_table["202,80"] = [34070] let s:lib.Codec.decoding_table["202,81"] = [34072] let s:lib.Codec.decoding_table["202,82"] = [34073] let s:lib.Codec.decoding_table["202,83"] = [34075] let s:lib.Codec.decoding_table["202,84"] = [34076] let s:lib.Codec.decoding_table["202,85"] = [34077] let s:lib.Codec.decoding_table["202,86"] = [34078] let s:lib.Codec.decoding_table["202,87"] = [34080] let s:lib.Codec.decoding_table["202,88"] = [34082] let s:lib.Codec.decoding_table["202,89"] = [34083] let s:lib.Codec.decoding_table["202,90"] = [34084] let s:lib.Codec.decoding_table["202,91"] = [34085] let s:lib.Codec.decoding_table["202,92"] = [34086] let s:lib.Codec.decoding_table["202,93"] = [34087] let s:lib.Codec.decoding_table["202,94"] = [34088] let s:lib.Codec.decoding_table["202,95"] = [34089] let s:lib.Codec.decoding_table["202,96"] = [34090] let s:lib.Codec.decoding_table["202,97"] = [34093] let s:lib.Codec.decoding_table["202,98"] = [34094] let s:lib.Codec.decoding_table["202,99"] = [34095] let s:lib.Codec.decoding_table["202,100"] = [34096] let s:lib.Codec.decoding_table["202,101"] = [34097] let s:lib.Codec.decoding_table["202,102"] = [34098] let s:lib.Codec.decoding_table["202,103"] = [34099] let s:lib.Codec.decoding_table["202,104"] = [34100] let s:lib.Codec.decoding_table["202,105"] = [34101] let s:lib.Codec.decoding_table["202,106"] = [34102] let s:lib.Codec.decoding_table["202,107"] = [34110] let s:lib.Codec.decoding_table["202,108"] = [34111] let s:lib.Codec.decoding_table["202,109"] = [34112] let s:lib.Codec.decoding_table["202,110"] = [34113] let s:lib.Codec.decoding_table["202,111"] = [34114] let s:lib.Codec.decoding_table["202,112"] = [34116] let s:lib.Codec.decoding_table["202,113"] = [34117] let s:lib.Codec.decoding_table["202,114"] = [34118] let s:lib.Codec.decoding_table["202,115"] = [34119] let s:lib.Codec.decoding_table["202,116"] = [34123] let s:lib.Codec.decoding_table["202,117"] = [34124] let s:lib.Codec.decoding_table["202,118"] = [34125] let s:lib.Codec.decoding_table["202,119"] = [34126] let s:lib.Codec.decoding_table["202,120"] = [34127] let s:lib.Codec.decoding_table["202,121"] = [34128] let s:lib.Codec.decoding_table["202,122"] = [34129] let s:lib.Codec.decoding_table["202,123"] = [34130] let s:lib.Codec.decoding_table["202,124"] = [34131] let s:lib.Codec.decoding_table["202,125"] = [34132] let s:lib.Codec.decoding_table["202,126"] = [34133] let s:lib.Codec.decoding_table["202,128"] = [34135] let s:lib.Codec.decoding_table["202,129"] = [34136] let s:lib.Codec.decoding_table["202,130"] = [34138] let s:lib.Codec.decoding_table["202,131"] = [34139] let s:lib.Codec.decoding_table["202,132"] = [34140] let s:lib.Codec.decoding_table["202,133"] = [34141] let s:lib.Codec.decoding_table["202,134"] = [34143] let s:lib.Codec.decoding_table["202,135"] = [34144] let s:lib.Codec.decoding_table["202,136"] = [34145] let s:lib.Codec.decoding_table["202,137"] = [34146] let s:lib.Codec.decoding_table["202,138"] = [34147] let s:lib.Codec.decoding_table["202,139"] = [34149] let s:lib.Codec.decoding_table["202,140"] = [34150] let s:lib.Codec.decoding_table["202,141"] = [34151] let s:lib.Codec.decoding_table["202,142"] = [34153] let s:lib.Codec.decoding_table["202,143"] = [34154] let s:lib.Codec.decoding_table["202,144"] = [34155] let s:lib.Codec.decoding_table["202,145"] = [34156] let s:lib.Codec.decoding_table["202,146"] = [34157] let s:lib.Codec.decoding_table["202,147"] = [34158] let s:lib.Codec.decoding_table["202,148"] = [34159] let s:lib.Codec.decoding_table["202,149"] = [34160] let s:lib.Codec.decoding_table["202,150"] = [34161] let s:lib.Codec.decoding_table["202,151"] = [34163] let s:lib.Codec.decoding_table["202,152"] = [34165] let s:lib.Codec.decoding_table["202,153"] = [34166] let s:lib.Codec.decoding_table["202,154"] = [34167] let s:lib.Codec.decoding_table["202,155"] = [34168] let s:lib.Codec.decoding_table["202,156"] = [34172] let s:lib.Codec.decoding_table["202,157"] = [34173] let s:lib.Codec.decoding_table["202,158"] = [34175] let s:lib.Codec.decoding_table["202,159"] = [34176] let s:lib.Codec.decoding_table["202,160"] = [34177] let s:lib.Codec.decoding_table["202,161"] = [30465] let s:lib.Codec.decoding_table["202,162"] = [30427] let s:lib.Codec.decoding_table["202,163"] = [21097] let s:lib.Codec.decoding_table["202,164"] = [32988] let s:lib.Codec.decoding_table["202,165"] = [22307] let s:lib.Codec.decoding_table["202,166"] = [24072] let s:lib.Codec.decoding_table["202,167"] = [22833] let s:lib.Codec.decoding_table["202,168"] = [29422] let s:lib.Codec.decoding_table["202,169"] = [26045] let s:lib.Codec.decoding_table["202,170"] = [28287] let s:lib.Codec.decoding_table["202,171"] = [35799] let s:lib.Codec.decoding_table["202,172"] = [23608] let s:lib.Codec.decoding_table["202,173"] = [34417] let s:lib.Codec.decoding_table["202,174"] = [21313] let s:lib.Codec.decoding_table["202,175"] = [30707] let s:lib.Codec.decoding_table["202,176"] = [25342] let s:lib.Codec.decoding_table["202,177"] = [26102] let s:lib.Codec.decoding_table["202,178"] = [20160] let s:lib.Codec.decoding_table["202,179"] = [39135] let s:lib.Codec.decoding_table["202,180"] = [34432] let s:lib.Codec.decoding_table["202,181"] = [23454] let s:lib.Codec.decoding_table["202,182"] = [35782] let s:lib.Codec.decoding_table["202,183"] = [21490] let s:lib.Codec.decoding_table["202,184"] = [30690] let s:lib.Codec.decoding_table["202,185"] = [20351] let s:lib.Codec.decoding_table["202,186"] = [23630] let s:lib.Codec.decoding_table["202,187"] = [39542] let s:lib.Codec.decoding_table["202,188"] = [22987] let s:lib.Codec.decoding_table["202,189"] = [24335] let s:lib.Codec.decoding_table["202,190"] = [31034] let s:lib.Codec.decoding_table["202,191"] = [22763] let s:lib.Codec.decoding_table["202,192"] = [19990] let s:lib.Codec.decoding_table["202,193"] = [26623] let s:lib.Codec.decoding_table["202,194"] = [20107] let s:lib.Codec.decoding_table["202,195"] = [25325] let s:lib.Codec.decoding_table["202,196"] = [35475] let s:lib.Codec.decoding_table["202,197"] = [36893] let s:lib.Codec.decoding_table["202,198"] = [21183] let s:lib.Codec.decoding_table["202,199"] = [26159] let s:lib.Codec.decoding_table["202,200"] = [21980] let s:lib.Codec.decoding_table["202,201"] = [22124] let s:lib.Codec.decoding_table["202,202"] = [36866] let s:lib.Codec.decoding_table["202,203"] = [20181] let s:lib.Codec.decoding_table["202,204"] = [20365] let s:lib.Codec.decoding_table["202,205"] = [37322] let s:lib.Codec.decoding_table["202,206"] = [39280] let s:lib.Codec.decoding_table["202,207"] = [27663] let s:lib.Codec.decoding_table["202,208"] = [24066] let s:lib.Codec.decoding_table["202,209"] = [24643] let s:lib.Codec.decoding_table["202,210"] = [23460] let s:lib.Codec.decoding_table["202,211"] = [35270] let s:lib.Codec.decoding_table["202,212"] = [35797] let s:lib.Codec.decoding_table["202,213"] = [25910] let s:lib.Codec.decoding_table["202,214"] = [25163] let s:lib.Codec.decoding_table["202,215"] = [39318] let s:lib.Codec.decoding_table["202,216"] = [23432] let s:lib.Codec.decoding_table["202,217"] = [23551] let s:lib.Codec.decoding_table["202,218"] = [25480] let s:lib.Codec.decoding_table["202,219"] = [21806] let s:lib.Codec.decoding_table["202,220"] = [21463] let s:lib.Codec.decoding_table["202,221"] = [30246] let s:lib.Codec.decoding_table["202,222"] = [20861] let s:lib.Codec.decoding_table["202,223"] = [34092] let s:lib.Codec.decoding_table["202,224"] = [26530] let s:lib.Codec.decoding_table["202,225"] = [26803] let s:lib.Codec.decoding_table["202,226"] = [27530] let s:lib.Codec.decoding_table["202,227"] = [25234] let s:lib.Codec.decoding_table["202,228"] = [36755] let s:lib.Codec.decoding_table["202,229"] = [21460] let s:lib.Codec.decoding_table["202,230"] = [33298] let s:lib.Codec.decoding_table["202,231"] = [28113] let s:lib.Codec.decoding_table["202,232"] = [30095] let s:lib.Codec.decoding_table["202,233"] = [20070] let s:lib.Codec.decoding_table["202,234"] = [36174] let s:lib.Codec.decoding_table["202,235"] = [23408] let s:lib.Codec.decoding_table["202,236"] = [29087] let s:lib.Codec.decoding_table["202,237"] = [34223] let s:lib.Codec.decoding_table["202,238"] = [26257] let s:lib.Codec.decoding_table["202,239"] = [26329] let s:lib.Codec.decoding_table["202,240"] = [32626] let s:lib.Codec.decoding_table["202,241"] = [34560] let s:lib.Codec.decoding_table["202,242"] = [40653] let s:lib.Codec.decoding_table["202,243"] = [40736] let s:lib.Codec.decoding_table["202,244"] = [23646] let s:lib.Codec.decoding_table["202,245"] = [26415] let s:lib.Codec.decoding_table["202,246"] = [36848] let s:lib.Codec.decoding_table["202,247"] = [26641] let s:lib.Codec.decoding_table["202,248"] = [26463] let s:lib.Codec.decoding_table["202,249"] = [25101] let s:lib.Codec.decoding_table["202,250"] = [31446] let s:lib.Codec.decoding_table["202,251"] = [22661] let s:lib.Codec.decoding_table["202,252"] = [24246] let s:lib.Codec.decoding_table["202,253"] = [25968] let s:lib.Codec.decoding_table["202,254"] = [28465] let s:lib.Codec.decoding_table["203,64"] = [34178] let s:lib.Codec.decoding_table["203,65"] = [34179] let s:lib.Codec.decoding_table["203,66"] = [34182] let s:lib.Codec.decoding_table["203,67"] = [34184] let s:lib.Codec.decoding_table["203,68"] = [34185] let s:lib.Codec.decoding_table["203,69"] = [34186] let s:lib.Codec.decoding_table["203,70"] = [34187] let s:lib.Codec.decoding_table["203,71"] = [34188] let s:lib.Codec.decoding_table["203,72"] = [34189] let s:lib.Codec.decoding_table["203,73"] = [34190] let s:lib.Codec.decoding_table["203,74"] = [34192] let s:lib.Codec.decoding_table["203,75"] = [34193] let s:lib.Codec.decoding_table["203,76"] = [34194] let s:lib.Codec.decoding_table["203,77"] = [34195] let s:lib.Codec.decoding_table["203,78"] = [34196] let s:lib.Codec.decoding_table["203,79"] = [34197] let s:lib.Codec.decoding_table["203,80"] = [34198] let s:lib.Codec.decoding_table["203,81"] = [34199] let s:lib.Codec.decoding_table["203,82"] = [34200] let s:lib.Codec.decoding_table["203,83"] = [34201] let s:lib.Codec.decoding_table["203,84"] = [34202] let s:lib.Codec.decoding_table["203,85"] = [34205] let s:lib.Codec.decoding_table["203,86"] = [34206] let s:lib.Codec.decoding_table["203,87"] = [34207] let s:lib.Codec.decoding_table["203,88"] = [34208] let s:lib.Codec.decoding_table["203,89"] = [34209] let s:lib.Codec.decoding_table["203,90"] = [34210] let s:lib.Codec.decoding_table["203,91"] = [34211] let s:lib.Codec.decoding_table["203,92"] = [34213] let s:lib.Codec.decoding_table["203,93"] = [34214] let s:lib.Codec.decoding_table["203,94"] = [34215] let s:lib.Codec.decoding_table["203,95"] = [34217] let s:lib.Codec.decoding_table["203,96"] = [34219] let s:lib.Codec.decoding_table["203,97"] = [34220] let s:lib.Codec.decoding_table["203,98"] = [34221] let s:lib.Codec.decoding_table["203,99"] = [34225] let s:lib.Codec.decoding_table["203,100"] = [34226] let s:lib.Codec.decoding_table["203,101"] = [34227] let s:lib.Codec.decoding_table["203,102"] = [34228] let s:lib.Codec.decoding_table["203,103"] = [34229] let s:lib.Codec.decoding_table["203,104"] = [34230] let s:lib.Codec.decoding_table["203,105"] = [34232] let s:lib.Codec.decoding_table["203,106"] = [34234] let s:lib.Codec.decoding_table["203,107"] = [34235] let s:lib.Codec.decoding_table["203,108"] = [34236] let s:lib.Codec.decoding_table["203,109"] = [34237] let s:lib.Codec.decoding_table["203,110"] = [34238] let s:lib.Codec.decoding_table["203,111"] = [34239] let s:lib.Codec.decoding_table["203,112"] = [34240] let s:lib.Codec.decoding_table["203,113"] = [34242] let s:lib.Codec.decoding_table["203,114"] = [34243] let s:lib.Codec.decoding_table["203,115"] = [34244] let s:lib.Codec.decoding_table["203,116"] = [34245] let s:lib.Codec.decoding_table["203,117"] = [34246] let s:lib.Codec.decoding_table["203,118"] = [34247] let s:lib.Codec.decoding_table["203,119"] = [34248] let s:lib.Codec.decoding_table["203,120"] = [34250] let s:lib.Codec.decoding_table["203,121"] = [34251] let s:lib.Codec.decoding_table["203,122"] = [34252] let s:lib.Codec.decoding_table["203,123"] = [34253] let s:lib.Codec.decoding_table["203,124"] = [34254] let s:lib.Codec.decoding_table["203,125"] = [34257] let s:lib.Codec.decoding_table["203,126"] = [34258] let s:lib.Codec.decoding_table["203,128"] = [34260] let s:lib.Codec.decoding_table["203,129"] = [34262] let s:lib.Codec.decoding_table["203,130"] = [34263] let s:lib.Codec.decoding_table["203,131"] = [34264] let s:lib.Codec.decoding_table["203,132"] = [34265] let s:lib.Codec.decoding_table["203,133"] = [34266] let s:lib.Codec.decoding_table["203,134"] = [34267] let s:lib.Codec.decoding_table["203,135"] = [34269] let s:lib.Codec.decoding_table["203,136"] = [34270] let s:lib.Codec.decoding_table["203,137"] = [34271] let s:lib.Codec.decoding_table["203,138"] = [34272] let s:lib.Codec.decoding_table["203,139"] = [34273] let s:lib.Codec.decoding_table["203,140"] = [34274] let s:lib.Codec.decoding_table["203,141"] = [34275] let s:lib.Codec.decoding_table["203,142"] = [34277] let s:lib.Codec.decoding_table["203,143"] = [34278] let s:lib.Codec.decoding_table["203,144"] = [34279] let s:lib.Codec.decoding_table["203,145"] = [34280] let s:lib.Codec.decoding_table["203,146"] = [34282] let s:lib.Codec.decoding_table["203,147"] = [34283] let s:lib.Codec.decoding_table["203,148"] = [34284] let s:lib.Codec.decoding_table["203,149"] = [34285] let s:lib.Codec.decoding_table["203,150"] = [34286] let s:lib.Codec.decoding_table["203,151"] = [34287] let s:lib.Codec.decoding_table["203,152"] = [34288] let s:lib.Codec.decoding_table["203,153"] = [34289] let s:lib.Codec.decoding_table["203,154"] = [34290] let s:lib.Codec.decoding_table["203,155"] = [34291] let s:lib.Codec.decoding_table["203,156"] = [34292] let s:lib.Codec.decoding_table["203,157"] = [34293] let s:lib.Codec.decoding_table["203,158"] = [34294] let s:lib.Codec.decoding_table["203,159"] = [34295] let s:lib.Codec.decoding_table["203,160"] = [34296] let s:lib.Codec.decoding_table["203,161"] = [24661] let s:lib.Codec.decoding_table["203,162"] = [21047] let s:lib.Codec.decoding_table["203,163"] = [32781] let s:lib.Codec.decoding_table["203,164"] = [25684] let s:lib.Codec.decoding_table["203,165"] = [34928] let s:lib.Codec.decoding_table["203,166"] = [29993] let s:lib.Codec.decoding_table["203,167"] = [24069] let s:lib.Codec.decoding_table["203,168"] = [26643] let s:lib.Codec.decoding_table["203,169"] = [25332] let s:lib.Codec.decoding_table["203,170"] = [38684] let s:lib.Codec.decoding_table["203,171"] = [21452] let s:lib.Codec.decoding_table["203,172"] = [29245] let s:lib.Codec.decoding_table["203,173"] = [35841] let s:lib.Codec.decoding_table["203,174"] = [27700] let s:lib.Codec.decoding_table["203,175"] = [30561] let s:lib.Codec.decoding_table["203,176"] = [31246] let s:lib.Codec.decoding_table["203,177"] = [21550] let s:lib.Codec.decoding_table["203,178"] = [30636] let s:lib.Codec.decoding_table["203,179"] = [39034] let s:lib.Codec.decoding_table["203,180"] = [33308] let s:lib.Codec.decoding_table["203,181"] = [35828] let s:lib.Codec.decoding_table["203,182"] = [30805] let s:lib.Codec.decoding_table["203,183"] = [26388] let s:lib.Codec.decoding_table["203,184"] = [28865] let s:lib.Codec.decoding_table["203,185"] = [26031] let s:lib.Codec.decoding_table["203,186"] = [25749] let s:lib.Codec.decoding_table["203,187"] = [22070] let s:lib.Codec.decoding_table["203,188"] = [24605] let s:lib.Codec.decoding_table["203,189"] = [31169] let s:lib.Codec.decoding_table["203,190"] = [21496] let s:lib.Codec.decoding_table["203,191"] = [19997] let s:lib.Codec.decoding_table["203,192"] = [27515] let s:lib.Codec.decoding_table["203,193"] = [32902] let s:lib.Codec.decoding_table["203,194"] = [23546] let s:lib.Codec.decoding_table["203,195"] = [21987] let s:lib.Codec.decoding_table["203,196"] = [22235] let s:lib.Codec.decoding_table["203,197"] = [20282] let s:lib.Codec.decoding_table["203,198"] = [20284] let s:lib.Codec.decoding_table["203,199"] = [39282] let s:lib.Codec.decoding_table["203,200"] = [24051] let s:lib.Codec.decoding_table["203,201"] = [26494] let s:lib.Codec.decoding_table["203,202"] = [32824] let s:lib.Codec.decoding_table["203,203"] = [24578] let s:lib.Codec.decoding_table["203,204"] = [39042] let s:lib.Codec.decoding_table["203,205"] = [36865] let s:lib.Codec.decoding_table["203,206"] = [23435] let s:lib.Codec.decoding_table["203,207"] = [35772] let s:lib.Codec.decoding_table["203,208"] = [35829] let s:lib.Codec.decoding_table["203,209"] = [25628] let s:lib.Codec.decoding_table["203,210"] = [33368] let s:lib.Codec.decoding_table["203,211"] = [25822] let s:lib.Codec.decoding_table["203,212"] = [22013] let s:lib.Codec.decoding_table["203,213"] = [33487] let s:lib.Codec.decoding_table["203,214"] = [37221] let s:lib.Codec.decoding_table["203,215"] = [20439] let s:lib.Codec.decoding_table["203,216"] = [32032] let s:lib.Codec.decoding_table["203,217"] = [36895] let s:lib.Codec.decoding_table["203,218"] = [31903] let s:lib.Codec.decoding_table["203,219"] = [20723] let s:lib.Codec.decoding_table["203,220"] = [22609] let s:lib.Codec.decoding_table["203,221"] = [28335] let s:lib.Codec.decoding_table["203,222"] = [23487] let s:lib.Codec.decoding_table["203,223"] = [35785] let s:lib.Codec.decoding_table["203,224"] = [32899] let s:lib.Codec.decoding_table["203,225"] = [37240] let s:lib.Codec.decoding_table["203,226"] = [33948] let s:lib.Codec.decoding_table["203,227"] = [31639] let s:lib.Codec.decoding_table["203,228"] = [34429] let s:lib.Codec.decoding_table["203,229"] = [38539] let s:lib.Codec.decoding_table["203,230"] = [38543] let s:lib.Codec.decoding_table["203,231"] = [32485] let s:lib.Codec.decoding_table["203,232"] = [39635] let s:lib.Codec.decoding_table["203,233"] = [30862] let s:lib.Codec.decoding_table["203,234"] = [23681] let s:lib.Codec.decoding_table["203,235"] = [31319] let s:lib.Codec.decoding_table["203,236"] = [36930] let s:lib.Codec.decoding_table["203,237"] = [38567] let s:lib.Codec.decoding_table["203,238"] = [31071] let s:lib.Codec.decoding_table["203,239"] = [23385] let s:lib.Codec.decoding_table["203,240"] = [25439] let s:lib.Codec.decoding_table["203,241"] = [31499] let s:lib.Codec.decoding_table["203,242"] = [34001] let s:lib.Codec.decoding_table["203,243"] = [26797] let s:lib.Codec.decoding_table["203,244"] = [21766] let s:lib.Codec.decoding_table["203,245"] = [32553] let s:lib.Codec.decoding_table["203,246"] = [29712] let s:lib.Codec.decoding_table["203,247"] = [32034] let s:lib.Codec.decoding_table["203,248"] = [38145] let s:lib.Codec.decoding_table["203,249"] = [25152] let s:lib.Codec.decoding_table["203,250"] = [22604] let s:lib.Codec.decoding_table["203,251"] = [20182] let s:lib.Codec.decoding_table["203,252"] = [23427] let s:lib.Codec.decoding_table["203,253"] = [22905] let s:lib.Codec.decoding_table["203,254"] = [22612] let s:lib.Codec.decoding_table["204,64"] = [34297] let s:lib.Codec.decoding_table["204,65"] = [34298] let s:lib.Codec.decoding_table["204,66"] = [34300] let s:lib.Codec.decoding_table["204,67"] = [34301] let s:lib.Codec.decoding_table["204,68"] = [34302] let s:lib.Codec.decoding_table["204,69"] = [34304] let s:lib.Codec.decoding_table["204,70"] = [34305] let s:lib.Codec.decoding_table["204,71"] = [34306] let s:lib.Codec.decoding_table["204,72"] = [34307] let s:lib.Codec.decoding_table["204,73"] = [34308] let s:lib.Codec.decoding_table["204,74"] = [34310] let s:lib.Codec.decoding_table["204,75"] = [34311] let s:lib.Codec.decoding_table["204,76"] = [34312] let s:lib.Codec.decoding_table["204,77"] = [34313] let s:lib.Codec.decoding_table["204,78"] = [34314] let s:lib.Codec.decoding_table["204,79"] = [34315] let s:lib.Codec.decoding_table["204,80"] = [34316] let s:lib.Codec.decoding_table["204,81"] = [34317] let s:lib.Codec.decoding_table["204,82"] = [34318] let s:lib.Codec.decoding_table["204,83"] = [34319] let s:lib.Codec.decoding_table["204,84"] = [34320] let s:lib.Codec.decoding_table["204,85"] = [34322] let s:lib.Codec.decoding_table["204,86"] = [34323] let s:lib.Codec.decoding_table["204,87"] = [34324] let s:lib.Codec.decoding_table["204,88"] = [34325] let s:lib.Codec.decoding_table["204,89"] = [34327] let s:lib.Codec.decoding_table["204,90"] = [34328] let s:lib.Codec.decoding_table["204,91"] = [34329] let s:lib.Codec.decoding_table["204,92"] = [34330] let s:lib.Codec.decoding_table["204,93"] = [34331] let s:lib.Codec.decoding_table["204,94"] = [34332] let s:lib.Codec.decoding_table["204,95"] = [34333] let s:lib.Codec.decoding_table["204,96"] = [34334] let s:lib.Codec.decoding_table["204,97"] = [34335] let s:lib.Codec.decoding_table["204,98"] = [34336] let s:lib.Codec.decoding_table["204,99"] = [34337] let s:lib.Codec.decoding_table["204,100"] = [34338] let s:lib.Codec.decoding_table["204,101"] = [34339] let s:lib.Codec.decoding_table["204,102"] = [34340] let s:lib.Codec.decoding_table["204,103"] = [34341] let s:lib.Codec.decoding_table["204,104"] = [34342] let s:lib.Codec.decoding_table["204,105"] = [34344] let s:lib.Codec.decoding_table["204,106"] = [34346] let s:lib.Codec.decoding_table["204,107"] = [34347] let s:lib.Codec.decoding_table["204,108"] = [34348] let s:lib.Codec.decoding_table["204,109"] = [34349] let s:lib.Codec.decoding_table["204,110"] = [34350] let s:lib.Codec.decoding_table["204,111"] = [34351] let s:lib.Codec.decoding_table["204,112"] = [34352] let s:lib.Codec.decoding_table["204,113"] = [34353] let s:lib.Codec.decoding_table["204,114"] = [34354] let s:lib.Codec.decoding_table["204,115"] = [34355] let s:lib.Codec.decoding_table["204,116"] = [34356] let s:lib.Codec.decoding_table["204,117"] = [34357] let s:lib.Codec.decoding_table["204,118"] = [34358] let s:lib.Codec.decoding_table["204,119"] = [34359] let s:lib.Codec.decoding_table["204,120"] = [34361] let s:lib.Codec.decoding_table["204,121"] = [34362] let s:lib.Codec.decoding_table["204,122"] = [34363] let s:lib.Codec.decoding_table["204,123"] = [34365] let s:lib.Codec.decoding_table["204,124"] = [34366] let s:lib.Codec.decoding_table["204,125"] = [34367] let s:lib.Codec.decoding_table["204,126"] = [34368] let s:lib.Codec.decoding_table["204,128"] = [34369] let s:lib.Codec.decoding_table["204,129"] = [34370] let s:lib.Codec.decoding_table["204,130"] = [34371] let s:lib.Codec.decoding_table["204,131"] = [34372] let s:lib.Codec.decoding_table["204,132"] = [34373] let s:lib.Codec.decoding_table["204,133"] = [34374] let s:lib.Codec.decoding_table["204,134"] = [34375] let s:lib.Codec.decoding_table["204,135"] = [34376] let s:lib.Codec.decoding_table["204,136"] = [34377] let s:lib.Codec.decoding_table["204,137"] = [34378] let s:lib.Codec.decoding_table["204,138"] = [34379] let s:lib.Codec.decoding_table["204,139"] = [34380] let s:lib.Codec.decoding_table["204,140"] = [34386] let s:lib.Codec.decoding_table["204,141"] = [34387] let s:lib.Codec.decoding_table["204,142"] = [34389] let s:lib.Codec.decoding_table["204,143"] = [34390] let s:lib.Codec.decoding_table["204,144"] = [34391] let s:lib.Codec.decoding_table["204,145"] = [34392] let s:lib.Codec.decoding_table["204,146"] = [34393] let s:lib.Codec.decoding_table["204,147"] = [34395] let s:lib.Codec.decoding_table["204,148"] = [34396] let s:lib.Codec.decoding_table["204,149"] = [34397] let s:lib.Codec.decoding_table["204,150"] = [34399] let s:lib.Codec.decoding_table["204,151"] = [34400] let s:lib.Codec.decoding_table["204,152"] = [34401] let s:lib.Codec.decoding_table["204,153"] = [34403] let s:lib.Codec.decoding_table["204,154"] = [34404] let s:lib.Codec.decoding_table["204,155"] = [34405] let s:lib.Codec.decoding_table["204,156"] = [34406] let s:lib.Codec.decoding_table["204,157"] = [34407] let s:lib.Codec.decoding_table["204,158"] = [34408] let s:lib.Codec.decoding_table["204,159"] = [34409] let s:lib.Codec.decoding_table["204,160"] = [34410] let s:lib.Codec.decoding_table["204,161"] = [29549] let s:lib.Codec.decoding_table["204,162"] = [25374] let s:lib.Codec.decoding_table["204,163"] = [36427] let s:lib.Codec.decoding_table["204,164"] = [36367] let s:lib.Codec.decoding_table["204,165"] = [32974] let s:lib.Codec.decoding_table["204,166"] = [33492] let s:lib.Codec.decoding_table["204,167"] = [25260] let s:lib.Codec.decoding_table["204,168"] = [21488] let s:lib.Codec.decoding_table["204,169"] = [27888] let s:lib.Codec.decoding_table["204,170"] = [37214] let s:lib.Codec.decoding_table["204,171"] = [22826] let s:lib.Codec.decoding_table["204,172"] = [24577] let s:lib.Codec.decoding_table["204,173"] = [27760] let s:lib.Codec.decoding_table["204,174"] = [22349] let s:lib.Codec.decoding_table["204,175"] = [25674] let s:lib.Codec.decoding_table["204,176"] = [36138] let s:lib.Codec.decoding_table["204,177"] = [30251] let s:lib.Codec.decoding_table["204,178"] = [28393] let s:lib.Codec.decoding_table["204,179"] = [22363] let s:lib.Codec.decoding_table["204,180"] = [27264] let s:lib.Codec.decoding_table["204,181"] = [30192] let s:lib.Codec.decoding_table["204,182"] = [28525] let s:lib.Codec.decoding_table["204,183"] = [35885] let s:lib.Codec.decoding_table["204,184"] = [35848] let s:lib.Codec.decoding_table["204,185"] = [22374] let s:lib.Codec.decoding_table["204,186"] = [27631] let s:lib.Codec.decoding_table["204,187"] = [34962] let s:lib.Codec.decoding_table["204,188"] = [30899] let s:lib.Codec.decoding_table["204,189"] = [25506] let s:lib.Codec.decoding_table["204,190"] = [21497] let s:lib.Codec.decoding_table["204,191"] = [28845] let s:lib.Codec.decoding_table["204,192"] = [27748] let s:lib.Codec.decoding_table["204,193"] = [22616] let s:lib.Codec.decoding_table["204,194"] = [25642] let s:lib.Codec.decoding_table["204,195"] = [22530] let s:lib.Codec.decoding_table["204,196"] = [26848] let s:lib.Codec.decoding_table["204,197"] = [33179] let s:lib.Codec.decoding_table["204,198"] = [21776] let s:lib.Codec.decoding_table["204,199"] = [31958] let s:lib.Codec.decoding_table["204,200"] = [20504] let s:lib.Codec.decoding_table["204,201"] = [36538] let s:lib.Codec.decoding_table["204,202"] = [28108] let s:lib.Codec.decoding_table["204,203"] = [36255] let s:lib.Codec.decoding_table["204,204"] = [28907] let s:lib.Codec.decoding_table["204,205"] = [25487] let s:lib.Codec.decoding_table["204,206"] = [28059] let s:lib.Codec.decoding_table["204,207"] = [28372] let s:lib.Codec.decoding_table["204,208"] = [32486] let s:lib.Codec.decoding_table["204,209"] = [33796] let s:lib.Codec.decoding_table["204,210"] = [26691] let s:lib.Codec.decoding_table["204,211"] = [36867] let s:lib.Codec.decoding_table["204,212"] = [28120] let s:lib.Codec.decoding_table["204,213"] = [38518] let s:lib.Codec.decoding_table["204,214"] = [35752] let s:lib.Codec.decoding_table["204,215"] = [22871] let s:lib.Codec.decoding_table["204,216"] = [29305] let s:lib.Codec.decoding_table["204,217"] = [34276] let s:lib.Codec.decoding_table["204,218"] = [33150] let s:lib.Codec.decoding_table["204,219"] = [30140] let s:lib.Codec.decoding_table["204,220"] = [35466] let s:lib.Codec.decoding_table["204,221"] = [26799] let s:lib.Codec.decoding_table["204,222"] = [21076] let s:lib.Codec.decoding_table["204,223"] = [36386] let s:lib.Codec.decoding_table["204,224"] = [38161] let s:lib.Codec.decoding_table["204,225"] = [25552] let s:lib.Codec.decoding_table["204,226"] = [39064] let s:lib.Codec.decoding_table["204,227"] = [36420] let s:lib.Codec.decoding_table["204,228"] = [21884] let s:lib.Codec.decoding_table["204,229"] = [20307] let s:lib.Codec.decoding_table["204,230"] = [26367] let s:lib.Codec.decoding_table["204,231"] = [22159] let s:lib.Codec.decoding_table["204,232"] = [24789] let s:lib.Codec.decoding_table["204,233"] = [28053] let s:lib.Codec.decoding_table["204,234"] = [21059] let s:lib.Codec.decoding_table["204,235"] = [23625] let s:lib.Codec.decoding_table["204,236"] = [22825] let s:lib.Codec.decoding_table["204,237"] = [28155] let s:lib.Codec.decoding_table["204,238"] = [22635] let s:lib.Codec.decoding_table["204,239"] = [30000] let s:lib.Codec.decoding_table["204,240"] = [29980] let s:lib.Codec.decoding_table["204,241"] = [24684] let s:lib.Codec.decoding_table["204,242"] = [33300] let s:lib.Codec.decoding_table["204,243"] = [33094] let s:lib.Codec.decoding_table["204,244"] = [25361] let s:lib.Codec.decoding_table["204,245"] = [26465] let s:lib.Codec.decoding_table["204,246"] = [36834] let s:lib.Codec.decoding_table["204,247"] = [30522] let s:lib.Codec.decoding_table["204,248"] = [36339] let s:lib.Codec.decoding_table["204,249"] = [36148] let s:lib.Codec.decoding_table["204,250"] = [38081] let s:lib.Codec.decoding_table["204,251"] = [24086] let s:lib.Codec.decoding_table["204,252"] = [21381] let s:lib.Codec.decoding_table["204,253"] = [21548] let s:lib.Codec.decoding_table["204,254"] = [28867] let s:lib.Codec.decoding_table["205,64"] = [34413] let s:lib.Codec.decoding_table["205,65"] = [34415] let s:lib.Codec.decoding_table["205,66"] = [34416] let s:lib.Codec.decoding_table["205,67"] = [34418] let s:lib.Codec.decoding_table["205,68"] = [34419] let s:lib.Codec.decoding_table["205,69"] = [34420] let s:lib.Codec.decoding_table["205,70"] = [34421] let s:lib.Codec.decoding_table["205,71"] = [34422] let s:lib.Codec.decoding_table["205,72"] = [34423] let s:lib.Codec.decoding_table["205,73"] = [34424] let s:lib.Codec.decoding_table["205,74"] = [34435] let s:lib.Codec.decoding_table["205,75"] = [34436] let s:lib.Codec.decoding_table["205,76"] = [34437] let s:lib.Codec.decoding_table["205,77"] = [34438] let s:lib.Codec.decoding_table["205,78"] = [34439] let s:lib.Codec.decoding_table["205,79"] = [34440] let s:lib.Codec.decoding_table["205,80"] = [34441] let s:lib.Codec.decoding_table["205,81"] = [34446] let s:lib.Codec.decoding_table["205,82"] = [34447] let s:lib.Codec.decoding_table["205,83"] = [34448] let s:lib.Codec.decoding_table["205,84"] = [34449] let s:lib.Codec.decoding_table["205,85"] = [34450] let s:lib.Codec.decoding_table["205,86"] = [34452] let s:lib.Codec.decoding_table["205,87"] = [34454] let s:lib.Codec.decoding_table["205,88"] = [34455] let s:lib.Codec.decoding_table["205,89"] = [34456] let s:lib.Codec.decoding_table["205,90"] = [34457] let s:lib.Codec.decoding_table["205,91"] = [34458] let s:lib.Codec.decoding_table["205,92"] = [34459] let s:lib.Codec.decoding_table["205,93"] = [34462] let s:lib.Codec.decoding_table["205,94"] = [34463] let s:lib.Codec.decoding_table["205,95"] = [34464] let s:lib.Codec.decoding_table["205,96"] = [34465] let s:lib.Codec.decoding_table["205,97"] = [34466] let s:lib.Codec.decoding_table["205,98"] = [34469] let s:lib.Codec.decoding_table["205,99"] = [34470] let s:lib.Codec.decoding_table["205,100"] = [34475] let s:lib.Codec.decoding_table["205,101"] = [34477] let s:lib.Codec.decoding_table["205,102"] = [34478] let s:lib.Codec.decoding_table["205,103"] = [34482] let s:lib.Codec.decoding_table["205,104"] = [34483] let s:lib.Codec.decoding_table["205,105"] = [34487] let s:lib.Codec.decoding_table["205,106"] = [34488] let s:lib.Codec.decoding_table["205,107"] = [34489] let s:lib.Codec.decoding_table["205,108"] = [34491] let s:lib.Codec.decoding_table["205,109"] = [34492] let s:lib.Codec.decoding_table["205,110"] = [34493] let s:lib.Codec.decoding_table["205,111"] = [34494] let s:lib.Codec.decoding_table["205,112"] = [34495] let s:lib.Codec.decoding_table["205,113"] = [34497] let s:lib.Codec.decoding_table["205,114"] = [34498] let s:lib.Codec.decoding_table["205,115"] = [34499] let s:lib.Codec.decoding_table["205,116"] = [34501] let s:lib.Codec.decoding_table["205,117"] = [34504] let s:lib.Codec.decoding_table["205,118"] = [34508] let s:lib.Codec.decoding_table["205,119"] = [34509] let s:lib.Codec.decoding_table["205,120"] = [34514] let s:lib.Codec.decoding_table["205,121"] = [34515] let s:lib.Codec.decoding_table["205,122"] = [34517] let s:lib.Codec.decoding_table["205,123"] = [34518] let s:lib.Codec.decoding_table["205,124"] = [34519] let s:lib.Codec.decoding_table["205,125"] = [34522] let s:lib.Codec.decoding_table["205,126"] = [34524] let s:lib.Codec.decoding_table["205,128"] = [34525] let s:lib.Codec.decoding_table["205,129"] = [34528] let s:lib.Codec.decoding_table["205,130"] = [34529] let s:lib.Codec.decoding_table["205,131"] = [34530] let s:lib.Codec.decoding_table["205,132"] = [34531] let s:lib.Codec.decoding_table["205,133"] = [34533] let s:lib.Codec.decoding_table["205,134"] = [34534] let s:lib.Codec.decoding_table["205,135"] = [34535] let s:lib.Codec.decoding_table["205,136"] = [34536] let s:lib.Codec.decoding_table["205,137"] = [34538] let s:lib.Codec.decoding_table["205,138"] = [34539] let s:lib.Codec.decoding_table["205,139"] = [34540] let s:lib.Codec.decoding_table["205,140"] = [34543] let s:lib.Codec.decoding_table["205,141"] = [34549] let s:lib.Codec.decoding_table["205,142"] = [34550] let s:lib.Codec.decoding_table["205,143"] = [34551] let s:lib.Codec.decoding_table["205,144"] = [34554] let s:lib.Codec.decoding_table["205,145"] = [34555] let s:lib.Codec.decoding_table["205,146"] = [34556] let s:lib.Codec.decoding_table["205,147"] = [34557] let s:lib.Codec.decoding_table["205,148"] = [34559] let s:lib.Codec.decoding_table["205,149"] = [34561] let s:lib.Codec.decoding_table["205,150"] = [34564] let s:lib.Codec.decoding_table["205,151"] = [34565] let s:lib.Codec.decoding_table["205,152"] = [34566] let s:lib.Codec.decoding_table["205,153"] = [34571] let s:lib.Codec.decoding_table["205,154"] = [34572] let s:lib.Codec.decoding_table["205,155"] = [34574] let s:lib.Codec.decoding_table["205,156"] = [34575] let s:lib.Codec.decoding_table["205,157"] = [34576] let s:lib.Codec.decoding_table["205,158"] = [34577] let s:lib.Codec.decoding_table["205,159"] = [34580] let s:lib.Codec.decoding_table["205,160"] = [34582] let s:lib.Codec.decoding_table["205,161"] = [27712] let s:lib.Codec.decoding_table["205,162"] = [24311] let s:lib.Codec.decoding_table["205,163"] = [20572] let s:lib.Codec.decoding_table["205,164"] = [20141] let s:lib.Codec.decoding_table["205,165"] = [24237] let s:lib.Codec.decoding_table["205,166"] = [25402] let s:lib.Codec.decoding_table["205,167"] = [33351] let s:lib.Codec.decoding_table["205,168"] = [36890] let s:lib.Codec.decoding_table["205,169"] = [26704] let s:lib.Codec.decoding_table["205,170"] = [37230] let s:lib.Codec.decoding_table["205,171"] = [30643] let s:lib.Codec.decoding_table["205,172"] = [21516] let s:lib.Codec.decoding_table["205,173"] = [38108] let s:lib.Codec.decoding_table["205,174"] = [24420] let s:lib.Codec.decoding_table["205,175"] = [31461] let s:lib.Codec.decoding_table["205,176"] = [26742] let s:lib.Codec.decoding_table["205,177"] = [25413] let s:lib.Codec.decoding_table["205,178"] = [31570] let s:lib.Codec.decoding_table["205,179"] = [32479] let s:lib.Codec.decoding_table["205,180"] = [30171] let s:lib.Codec.decoding_table["205,181"] = [20599] let s:lib.Codec.decoding_table["205,182"] = [25237] let s:lib.Codec.decoding_table["205,183"] = [22836] let s:lib.Codec.decoding_table["205,184"] = [36879] let s:lib.Codec.decoding_table["205,185"] = [20984] let s:lib.Codec.decoding_table["205,186"] = [31171] let s:lib.Codec.decoding_table["205,187"] = [31361] let s:lib.Codec.decoding_table["205,188"] = [22270] let s:lib.Codec.decoding_table["205,189"] = [24466] let s:lib.Codec.decoding_table["205,190"] = [36884] let s:lib.Codec.decoding_table["205,191"] = [28034] let s:lib.Codec.decoding_table["205,192"] = [23648] let s:lib.Codec.decoding_table["205,193"] = [22303] let s:lib.Codec.decoding_table["205,194"] = [21520] let s:lib.Codec.decoding_table["205,195"] = [20820] let s:lib.Codec.decoding_table["205,196"] = [28237] let s:lib.Codec.decoding_table["205,197"] = [22242] let s:lib.Codec.decoding_table["205,198"] = [25512] let s:lib.Codec.decoding_table["205,199"] = [39059] let s:lib.Codec.decoding_table["205,200"] = [33151] let s:lib.Codec.decoding_table["205,201"] = [34581] let s:lib.Codec.decoding_table["205,202"] = [35114] let s:lib.Codec.decoding_table["205,203"] = [36864] let s:lib.Codec.decoding_table["205,204"] = [21534] let s:lib.Codec.decoding_table["205,205"] = [23663] let s:lib.Codec.decoding_table["205,206"] = [33216] let s:lib.Codec.decoding_table["205,207"] = [25302] let s:lib.Codec.decoding_table["205,208"] = [25176] let s:lib.Codec.decoding_table["205,209"] = [33073] let s:lib.Codec.decoding_table["205,210"] = [40501] let s:lib.Codec.decoding_table["205,211"] = [38464] let s:lib.Codec.decoding_table["205,212"] = [39534] let s:lib.Codec.decoding_table["205,213"] = [39548] let s:lib.Codec.decoding_table["205,214"] = [26925] let s:lib.Codec.decoding_table["205,215"] = [22949] let s:lib.Codec.decoding_table["205,216"] = [25299] let s:lib.Codec.decoding_table["205,217"] = [21822] let s:lib.Codec.decoding_table["205,218"] = [25366] let s:lib.Codec.decoding_table["205,219"] = [21703] let s:lib.Codec.decoding_table["205,220"] = [34521] let s:lib.Codec.decoding_table["205,221"] = [27964] let s:lib.Codec.decoding_table["205,222"] = [23043] let s:lib.Codec.decoding_table["205,223"] = [29926] let s:lib.Codec.decoding_table["205,224"] = [34972] let s:lib.Codec.decoding_table["205,225"] = [27498] let s:lib.Codec.decoding_table["205,226"] = [22806] let s:lib.Codec.decoding_table["205,227"] = [35916] let s:lib.Codec.decoding_table["205,228"] = [24367] let s:lib.Codec.decoding_table["205,229"] = [28286] let s:lib.Codec.decoding_table["205,230"] = [29609] let s:lib.Codec.decoding_table["205,231"] = [39037] let s:lib.Codec.decoding_table["205,232"] = [20024] let s:lib.Codec.decoding_table["205,233"] = [28919] let s:lib.Codec.decoding_table["205,234"] = [23436] let s:lib.Codec.decoding_table["205,235"] = [30871] let s:lib.Codec.decoding_table["205,236"] = [25405] let s:lib.Codec.decoding_table["205,237"] = [26202] let s:lib.Codec.decoding_table["205,238"] = [30358] let s:lib.Codec.decoding_table["205,239"] = [24779] let s:lib.Codec.decoding_table["205,240"] = [23451] let s:lib.Codec.decoding_table["205,241"] = [23113] let s:lib.Codec.decoding_table["205,242"] = [19975] let s:lib.Codec.decoding_table["205,243"] = [33109] let s:lib.Codec.decoding_table["205,244"] = [27754] let s:lib.Codec.decoding_table["205,245"] = [29579] let s:lib.Codec.decoding_table["205,246"] = [20129] let s:lib.Codec.decoding_table["205,247"] = [26505] let s:lib.Codec.decoding_table["205,248"] = [32593] let s:lib.Codec.decoding_table["205,249"] = [24448] let s:lib.Codec.decoding_table["205,250"] = [26106] let s:lib.Codec.decoding_table["205,251"] = [26395] let s:lib.Codec.decoding_table["205,252"] = [24536] let s:lib.Codec.decoding_table["205,253"] = [22916] let s:lib.Codec.decoding_table["205,254"] = [23041] let s:lib.Codec.decoding_table["206,64"] = [34585] let s:lib.Codec.decoding_table["206,65"] = [34587] let s:lib.Codec.decoding_table["206,66"] = [34589] let s:lib.Codec.decoding_table["206,67"] = [34591] let s:lib.Codec.decoding_table["206,68"] = [34592] let s:lib.Codec.decoding_table["206,69"] = [34596] let s:lib.Codec.decoding_table["206,70"] = [34598] let s:lib.Codec.decoding_table["206,71"] = [34599] let s:lib.Codec.decoding_table["206,72"] = [34600] let s:lib.Codec.decoding_table["206,73"] = [34602] let s:lib.Codec.decoding_table["206,74"] = [34603] let s:lib.Codec.decoding_table["206,75"] = [34604] let s:lib.Codec.decoding_table["206,76"] = [34605] let s:lib.Codec.decoding_table["206,77"] = [34607] let s:lib.Codec.decoding_table["206,78"] = [34608] let s:lib.Codec.decoding_table["206,79"] = [34610] let s:lib.Codec.decoding_table["206,80"] = [34611] let s:lib.Codec.decoding_table["206,81"] = [34613] let s:lib.Codec.decoding_table["206,82"] = [34614] let s:lib.Codec.decoding_table["206,83"] = [34616] let s:lib.Codec.decoding_table["206,84"] = [34617] let s:lib.Codec.decoding_table["206,85"] = [34618] let s:lib.Codec.decoding_table["206,86"] = [34620] let s:lib.Codec.decoding_table["206,87"] = [34621] let s:lib.Codec.decoding_table["206,88"] = [34624] let s:lib.Codec.decoding_table["206,89"] = [34625] let s:lib.Codec.decoding_table["206,90"] = [34626] let s:lib.Codec.decoding_table["206,91"] = [34627] let s:lib.Codec.decoding_table["206,92"] = [34628] let s:lib.Codec.decoding_table["206,93"] = [34629] let s:lib.Codec.decoding_table["206,94"] = [34630] let s:lib.Codec.decoding_table["206,95"] = [34634] let s:lib.Codec.decoding_table["206,96"] = [34635] let s:lib.Codec.decoding_table["206,97"] = [34637] let s:lib.Codec.decoding_table["206,98"] = [34639] let s:lib.Codec.decoding_table["206,99"] = [34640] let s:lib.Codec.decoding_table["206,100"] = [34641] let s:lib.Codec.decoding_table["206,101"] = [34642] let s:lib.Codec.decoding_table["206,102"] = [34644] let s:lib.Codec.decoding_table["206,103"] = [34645] let s:lib.Codec.decoding_table["206,104"] = [34646] let s:lib.Codec.decoding_table["206,105"] = [34648] let s:lib.Codec.decoding_table["206,106"] = [34650] let s:lib.Codec.decoding_table["206,107"] = [34651] let s:lib.Codec.decoding_table["206,108"] = [34652] let s:lib.Codec.decoding_table["206,109"] = [34653] let s:lib.Codec.decoding_table["206,110"] = [34654] let s:lib.Codec.decoding_table["206,111"] = [34655] let s:lib.Codec.decoding_table["206,112"] = [34657] let s:lib.Codec.decoding_table["206,113"] = [34658] let s:lib.Codec.decoding_table["206,114"] = [34662] let s:lib.Codec.decoding_table["206,115"] = [34663] let s:lib.Codec.decoding_table["206,116"] = [34664] let s:lib.Codec.decoding_table["206,117"] = [34665] let s:lib.Codec.decoding_table["206,118"] = [34666] let s:lib.Codec.decoding_table["206,119"] = [34667] let s:lib.Codec.decoding_table["206,120"] = [34668] let s:lib.Codec.decoding_table["206,121"] = [34669] let s:lib.Codec.decoding_table["206,122"] = [34671] let s:lib.Codec.decoding_table["206,123"] = [34673] let s:lib.Codec.decoding_table["206,124"] = [34674] let s:lib.Codec.decoding_table["206,125"] = [34675] let s:lib.Codec.decoding_table["206,126"] = [34677] let s:lib.Codec.decoding_table["206,128"] = [34679] let s:lib.Codec.decoding_table["206,129"] = [34680] let s:lib.Codec.decoding_table["206,130"] = [34681] let s:lib.Codec.decoding_table["206,131"] = [34682] let s:lib.Codec.decoding_table["206,132"] = [34687] let s:lib.Codec.decoding_table["206,133"] = [34688] let s:lib.Codec.decoding_table["206,134"] = [34689] let s:lib.Codec.decoding_table["206,135"] = [34692] let s:lib.Codec.decoding_table["206,136"] = [34694] let s:lib.Codec.decoding_table["206,137"] = [34695] let s:lib.Codec.decoding_table["206,138"] = [34697] let s:lib.Codec.decoding_table["206,139"] = [34698] let s:lib.Codec.decoding_table["206,140"] = [34700] let s:lib.Codec.decoding_table["206,141"] = [34702] let s:lib.Codec.decoding_table["206,142"] = [34703] let s:lib.Codec.decoding_table["206,143"] = [34704] let s:lib.Codec.decoding_table["206,144"] = [34705] let s:lib.Codec.decoding_table["206,145"] = [34706] let s:lib.Codec.decoding_table["206,146"] = [34708] let s:lib.Codec.decoding_table["206,147"] = [34709] let s:lib.Codec.decoding_table["206,148"] = [34710] let s:lib.Codec.decoding_table["206,149"] = [34712] let s:lib.Codec.decoding_table["206,150"] = [34713] let s:lib.Codec.decoding_table["206,151"] = [34714] let s:lib.Codec.decoding_table["206,152"] = [34715] let s:lib.Codec.decoding_table["206,153"] = [34716] let s:lib.Codec.decoding_table["206,154"] = [34717] let s:lib.Codec.decoding_table["206,155"] = [34718] let s:lib.Codec.decoding_table["206,156"] = [34720] let s:lib.Codec.decoding_table["206,157"] = [34721] let s:lib.Codec.decoding_table["206,158"] = [34722] let s:lib.Codec.decoding_table["206,159"] = [34723] let s:lib.Codec.decoding_table["206,160"] = [34724] let s:lib.Codec.decoding_table["206,161"] = [24013] let s:lib.Codec.decoding_table["206,162"] = [24494] let s:lib.Codec.decoding_table["206,163"] = [21361] let s:lib.Codec.decoding_table["206,164"] = [38886] let s:lib.Codec.decoding_table["206,165"] = [36829] let s:lib.Codec.decoding_table["206,166"] = [26693] let s:lib.Codec.decoding_table["206,167"] = [22260] let s:lib.Codec.decoding_table["206,168"] = [21807] let s:lib.Codec.decoding_table["206,169"] = [24799] let s:lib.Codec.decoding_table["206,170"] = [20026] let s:lib.Codec.decoding_table["206,171"] = [28493] let s:lib.Codec.decoding_table["206,172"] = [32500] let s:lib.Codec.decoding_table["206,173"] = [33479] let s:lib.Codec.decoding_table["206,174"] = [33806] let s:lib.Codec.decoding_table["206,175"] = [22996] let s:lib.Codec.decoding_table["206,176"] = [20255] let s:lib.Codec.decoding_table["206,177"] = [20266] let s:lib.Codec.decoding_table["206,178"] = [23614] let s:lib.Codec.decoding_table["206,179"] = [32428] let s:lib.Codec.decoding_table["206,180"] = [26410] let s:lib.Codec.decoding_table["206,181"] = [34074] let s:lib.Codec.decoding_table["206,182"] = [21619] let s:lib.Codec.decoding_table["206,183"] = [30031] let s:lib.Codec.decoding_table["206,184"] = [32963] let s:lib.Codec.decoding_table["206,185"] = [21890] let s:lib.Codec.decoding_table["206,186"] = [39759] let s:lib.Codec.decoding_table["206,187"] = [20301] let s:lib.Codec.decoding_table["206,188"] = [28205] let s:lib.Codec.decoding_table["206,189"] = [35859] let s:lib.Codec.decoding_table["206,190"] = [23561] let s:lib.Codec.decoding_table["206,191"] = [24944] let s:lib.Codec.decoding_table["206,192"] = [21355] let s:lib.Codec.decoding_table["206,193"] = [30239] let s:lib.Codec.decoding_table["206,194"] = [28201] let s:lib.Codec.decoding_table["206,195"] = [34442] let s:lib.Codec.decoding_table["206,196"] = [25991] let s:lib.Codec.decoding_table["206,197"] = [38395] let s:lib.Codec.decoding_table["206,198"] = [32441] let s:lib.Codec.decoding_table["206,199"] = [21563] let s:lib.Codec.decoding_table["206,200"] = [31283] let s:lib.Codec.decoding_table["206,201"] = [32010] let s:lib.Codec.decoding_table["206,202"] = [38382] let s:lib.Codec.decoding_table["206,203"] = [21985] let s:lib.Codec.decoding_table["206,204"] = [32705] let s:lib.Codec.decoding_table["206,205"] = [29934] let s:lib.Codec.decoding_table["206,206"] = [25373] let s:lib.Codec.decoding_table["206,207"] = [34583] let s:lib.Codec.decoding_table["206,208"] = [28065] let s:lib.Codec.decoding_table["206,209"] = [31389] let s:lib.Codec.decoding_table["206,210"] = [25105] let s:lib.Codec.decoding_table["206,211"] = [26017] let s:lib.Codec.decoding_table["206,212"] = [21351] let s:lib.Codec.decoding_table["206,213"] = [25569] let s:lib.Codec.decoding_table["206,214"] = [27779] let s:lib.Codec.decoding_table["206,215"] = [24043] let s:lib.Codec.decoding_table["206,216"] = [21596] let s:lib.Codec.decoding_table["206,217"] = [38056] let s:lib.Codec.decoding_table["206,218"] = [20044] let s:lib.Codec.decoding_table["206,219"] = [27745] let s:lib.Codec.decoding_table["206,220"] = [35820] let s:lib.Codec.decoding_table["206,221"] = [23627] let s:lib.Codec.decoding_table["206,222"] = [26080] let s:lib.Codec.decoding_table["206,223"] = [33436] let s:lib.Codec.decoding_table["206,224"] = [26791] let s:lib.Codec.decoding_table["206,225"] = [21566] let s:lib.Codec.decoding_table["206,226"] = [21556] let s:lib.Codec.decoding_table["206,227"] = [27595] let s:lib.Codec.decoding_table["206,228"] = [27494] let s:lib.Codec.decoding_table["206,229"] = [20116] let s:lib.Codec.decoding_table["206,230"] = [25410] let s:lib.Codec.decoding_table["206,231"] = [21320] let s:lib.Codec.decoding_table["206,232"] = [33310] let s:lib.Codec.decoding_table["206,233"] = [20237] let s:lib.Codec.decoding_table["206,234"] = [20398] let s:lib.Codec.decoding_table["206,235"] = [22366] let s:lib.Codec.decoding_table["206,236"] = [25098] let s:lib.Codec.decoding_table["206,237"] = [38654] let s:lib.Codec.decoding_table["206,238"] = [26212] let s:lib.Codec.decoding_table["206,239"] = [29289] let s:lib.Codec.decoding_table["206,240"] = [21247] let s:lib.Codec.decoding_table["206,241"] = [21153] let s:lib.Codec.decoding_table["206,242"] = [24735] let s:lib.Codec.decoding_table["206,243"] = [35823] let s:lib.Codec.decoding_table["206,244"] = [26132] let s:lib.Codec.decoding_table["206,245"] = [29081] let s:lib.Codec.decoding_table["206,246"] = [26512] let s:lib.Codec.decoding_table["206,247"] = [35199] let s:lib.Codec.decoding_table["206,248"] = [30802] let s:lib.Codec.decoding_table["206,249"] = [30717] let s:lib.Codec.decoding_table["206,250"] = [26224] let s:lib.Codec.decoding_table["206,251"] = [22075] let s:lib.Codec.decoding_table["206,252"] = [21560] let s:lib.Codec.decoding_table["206,253"] = [38177] let s:lib.Codec.decoding_table["206,254"] = [29306] let s:lib.Codec.decoding_table["207,64"] = [34725] let s:lib.Codec.decoding_table["207,65"] = [34726] let s:lib.Codec.decoding_table["207,66"] = [34727] let s:lib.Codec.decoding_table["207,67"] = [34729] let s:lib.Codec.decoding_table["207,68"] = [34730] let s:lib.Codec.decoding_table["207,69"] = [34734] let s:lib.Codec.decoding_table["207,70"] = [34736] let s:lib.Codec.decoding_table["207,71"] = [34737] let s:lib.Codec.decoding_table["207,72"] = [34738] let s:lib.Codec.decoding_table["207,73"] = [34740] let s:lib.Codec.decoding_table["207,74"] = [34742] let s:lib.Codec.decoding_table["207,75"] = [34743] let s:lib.Codec.decoding_table["207,76"] = [34744] let s:lib.Codec.decoding_table["207,77"] = [34745] let s:lib.Codec.decoding_table["207,78"] = [34747] let s:lib.Codec.decoding_table["207,79"] = [34748] let s:lib.Codec.decoding_table["207,80"] = [34750] let s:lib.Codec.decoding_table["207,81"] = [34751] let s:lib.Codec.decoding_table["207,82"] = [34753] let s:lib.Codec.decoding_table["207,83"] = [34754] let s:lib.Codec.decoding_table["207,84"] = [34755] let s:lib.Codec.decoding_table["207,85"] = [34756] let s:lib.Codec.decoding_table["207,86"] = [34757] let s:lib.Codec.decoding_table["207,87"] = [34759] let s:lib.Codec.decoding_table["207,88"] = [34760] let s:lib.Codec.decoding_table["207,89"] = [34761] let s:lib.Codec.decoding_table["207,90"] = [34764] let s:lib.Codec.decoding_table["207,91"] = [34765] let s:lib.Codec.decoding_table["207,92"] = [34766] let s:lib.Codec.decoding_table["207,93"] = [34767] let s:lib.Codec.decoding_table["207,94"] = [34768] let s:lib.Codec.decoding_table["207,95"] = [34772] let s:lib.Codec.decoding_table["207,96"] = [34773] let s:lib.Codec.decoding_table["207,97"] = [34774] let s:lib.Codec.decoding_table["207,98"] = [34775] let s:lib.Codec.decoding_table["207,99"] = [34776] let s:lib.Codec.decoding_table["207,100"] = [34777] let s:lib.Codec.decoding_table["207,101"] = [34778] let s:lib.Codec.decoding_table["207,102"] = [34780] let s:lib.Codec.decoding_table["207,103"] = [34781] let s:lib.Codec.decoding_table["207,104"] = [34782] let s:lib.Codec.decoding_table["207,105"] = [34783] let s:lib.Codec.decoding_table["207,106"] = [34785] let s:lib.Codec.decoding_table["207,107"] = [34786] let s:lib.Codec.decoding_table["207,108"] = [34787] let s:lib.Codec.decoding_table["207,109"] = [34788] let s:lib.Codec.decoding_table["207,110"] = [34790] let s:lib.Codec.decoding_table["207,111"] = [34791] let s:lib.Codec.decoding_table["207,112"] = [34792] let s:lib.Codec.decoding_table["207,113"] = [34793] let s:lib.Codec.decoding_table["207,114"] = [34795] let s:lib.Codec.decoding_table["207,115"] = [34796] let s:lib.Codec.decoding_table["207,116"] = [34797] let s:lib.Codec.decoding_table["207,117"] = [34799] let s:lib.Codec.decoding_table["207,118"] = [34800] let s:lib.Codec.decoding_table["207,119"] = [34801] let s:lib.Codec.decoding_table["207,120"] = [34802] let s:lib.Codec.decoding_table["207,121"] = [34803] let s:lib.Codec.decoding_table["207,122"] = [34804] let s:lib.Codec.decoding_table["207,123"] = [34805] let s:lib.Codec.decoding_table["207,124"] = [34806] let s:lib.Codec.decoding_table["207,125"] = [34807] let s:lib.Codec.decoding_table["207,126"] = [34808] let s:lib.Codec.decoding_table["207,128"] = [34810] let s:lib.Codec.decoding_table["207,129"] = [34811] let s:lib.Codec.decoding_table["207,130"] = [34812] let s:lib.Codec.decoding_table["207,131"] = [34813] let s:lib.Codec.decoding_table["207,132"] = [34815] let s:lib.Codec.decoding_table["207,133"] = [34816] let s:lib.Codec.decoding_table["207,134"] = [34817] let s:lib.Codec.decoding_table["207,135"] = [34818] let s:lib.Codec.decoding_table["207,136"] = [34820] let s:lib.Codec.decoding_table["207,137"] = [34821] let s:lib.Codec.decoding_table["207,138"] = [34822] let s:lib.Codec.decoding_table["207,139"] = [34823] let s:lib.Codec.decoding_table["207,140"] = [34824] let s:lib.Codec.decoding_table["207,141"] = [34825] let s:lib.Codec.decoding_table["207,142"] = [34827] let s:lib.Codec.decoding_table["207,143"] = [34828] let s:lib.Codec.decoding_table["207,144"] = [34829] let s:lib.Codec.decoding_table["207,145"] = [34830] let s:lib.Codec.decoding_table["207,146"] = [34831] let s:lib.Codec.decoding_table["207,147"] = [34832] let s:lib.Codec.decoding_table["207,148"] = [34833] let s:lib.Codec.decoding_table["207,149"] = [34834] let s:lib.Codec.decoding_table["207,150"] = [34836] let s:lib.Codec.decoding_table["207,151"] = [34839] let s:lib.Codec.decoding_table["207,152"] = [34840] let s:lib.Codec.decoding_table["207,153"] = [34841] let s:lib.Codec.decoding_table["207,154"] = [34842] let s:lib.Codec.decoding_table["207,155"] = [34844] let s:lib.Codec.decoding_table["207,156"] = [34845] let s:lib.Codec.decoding_table["207,157"] = [34846] let s:lib.Codec.decoding_table["207,158"] = [34847] let s:lib.Codec.decoding_table["207,159"] = [34848] let s:lib.Codec.decoding_table["207,160"] = [34851] let s:lib.Codec.decoding_table["207,161"] = [31232] let s:lib.Codec.decoding_table["207,162"] = [24687] let s:lib.Codec.decoding_table["207,163"] = [24076] let s:lib.Codec.decoding_table["207,164"] = [24713] let s:lib.Codec.decoding_table["207,165"] = [33181] let s:lib.Codec.decoding_table["207,166"] = [22805] let s:lib.Codec.decoding_table["207,167"] = [24796] let s:lib.Codec.decoding_table["207,168"] = [29060] let s:lib.Codec.decoding_table["207,169"] = [28911] let s:lib.Codec.decoding_table["207,170"] = [28330] let s:lib.Codec.decoding_table["207,171"] = [27728] let s:lib.Codec.decoding_table["207,172"] = [29312] let s:lib.Codec.decoding_table["207,173"] = [27268] let s:lib.Codec.decoding_table["207,174"] = [34989] let s:lib.Codec.decoding_table["207,175"] = [24109] let s:lib.Codec.decoding_table["207,176"] = [20064] let s:lib.Codec.decoding_table["207,177"] = [23219] let s:lib.Codec.decoding_table["207,178"] = [21916] let s:lib.Codec.decoding_table["207,179"] = [38115] let s:lib.Codec.decoding_table["207,180"] = [27927] let s:lib.Codec.decoding_table["207,181"] = [31995] let s:lib.Codec.decoding_table["207,182"] = [38553] let s:lib.Codec.decoding_table["207,183"] = [25103] let s:lib.Codec.decoding_table["207,184"] = [32454] let s:lib.Codec.decoding_table["207,185"] = [30606] let s:lib.Codec.decoding_table["207,186"] = [34430] let s:lib.Codec.decoding_table["207,187"] = [21283] let s:lib.Codec.decoding_table["207,188"] = [38686] let s:lib.Codec.decoding_table["207,189"] = [36758] let s:lib.Codec.decoding_table["207,190"] = [26247] let s:lib.Codec.decoding_table["207,191"] = [23777] let s:lib.Codec.decoding_table["207,192"] = [20384] let s:lib.Codec.decoding_table["207,193"] = [29421] let s:lib.Codec.decoding_table["207,194"] = [19979] let s:lib.Codec.decoding_table["207,195"] = [21414] let s:lib.Codec.decoding_table["207,196"] = [22799] let s:lib.Codec.decoding_table["207,197"] = [21523] let s:lib.Codec.decoding_table["207,198"] = [25472] let s:lib.Codec.decoding_table["207,199"] = [38184] let s:lib.Codec.decoding_table["207,200"] = [20808] let s:lib.Codec.decoding_table["207,201"] = [20185] let s:lib.Codec.decoding_table["207,202"] = [40092] let s:lib.Codec.decoding_table["207,203"] = [32420] let s:lib.Codec.decoding_table["207,204"] = [21688] let s:lib.Codec.decoding_table["207,205"] = [36132] let s:lib.Codec.decoding_table["207,206"] = [34900] let s:lib.Codec.decoding_table["207,207"] = [33335] let s:lib.Codec.decoding_table["207,208"] = [38386] let s:lib.Codec.decoding_table["207,209"] = [28046] let s:lib.Codec.decoding_table["207,210"] = [24358] let s:lib.Codec.decoding_table["207,211"] = [23244] let s:lib.Codec.decoding_table["207,212"] = [26174] let s:lib.Codec.decoding_table["207,213"] = [38505] let s:lib.Codec.decoding_table["207,214"] = [29616] let s:lib.Codec.decoding_table["207,215"] = [29486] let s:lib.Codec.decoding_table["207,216"] = [21439] let s:lib.Codec.decoding_table["207,217"] = [33146] let s:lib.Codec.decoding_table["207,218"] = [39301] let s:lib.Codec.decoding_table["207,219"] = [32673] let s:lib.Codec.decoding_table["207,220"] = [23466] let s:lib.Codec.decoding_table["207,221"] = [38519] let s:lib.Codec.decoding_table["207,222"] = [38480] let s:lib.Codec.decoding_table["207,223"] = [32447] let s:lib.Codec.decoding_table["207,224"] = [30456] let s:lib.Codec.decoding_table["207,225"] = [21410] let s:lib.Codec.decoding_table["207,226"] = [38262] let s:lib.Codec.decoding_table["207,227"] = [39321] let s:lib.Codec.decoding_table["207,228"] = [31665] let s:lib.Codec.decoding_table["207,229"] = [35140] let s:lib.Codec.decoding_table["207,230"] = [28248] let s:lib.Codec.decoding_table["207,231"] = [20065] let s:lib.Codec.decoding_table["207,232"] = [32724] let s:lib.Codec.decoding_table["207,233"] = [31077] let s:lib.Codec.decoding_table["207,234"] = [35814] let s:lib.Codec.decoding_table["207,235"] = [24819] let s:lib.Codec.decoding_table["207,236"] = [21709] let s:lib.Codec.decoding_table["207,237"] = [20139] let s:lib.Codec.decoding_table["207,238"] = [39033] let s:lib.Codec.decoding_table["207,239"] = [24055] let s:lib.Codec.decoding_table["207,240"] = [27233] let s:lib.Codec.decoding_table["207,241"] = [20687] let s:lib.Codec.decoding_table["207,242"] = [21521] let s:lib.Codec.decoding_table["207,243"] = [35937] let s:lib.Codec.decoding_table["207,244"] = [33831] let s:lib.Codec.decoding_table["207,245"] = [30813] let s:lib.Codec.decoding_table["207,246"] = [38660] let s:lib.Codec.decoding_table["207,247"] = [21066] let s:lib.Codec.decoding_table["207,248"] = [21742] let s:lib.Codec.decoding_table["207,249"] = [22179] let s:lib.Codec.decoding_table["207,250"] = [38144] let s:lib.Codec.decoding_table["207,251"] = [28040] let s:lib.Codec.decoding_table["207,252"] = [23477] let s:lib.Codec.decoding_table["207,253"] = [28102] let s:lib.Codec.decoding_table["207,254"] = [26195] let s:lib.Codec.decoding_table["208,64"] = [34852] let s:lib.Codec.decoding_table["208,65"] = [34853] let s:lib.Codec.decoding_table["208,66"] = [34854] let s:lib.Codec.decoding_table["208,67"] = [34855] let s:lib.Codec.decoding_table["208,68"] = [34856] let s:lib.Codec.decoding_table["208,69"] = [34857] let s:lib.Codec.decoding_table["208,70"] = [34858] let s:lib.Codec.decoding_table["208,71"] = [34859] let s:lib.Codec.decoding_table["208,72"] = [34860] let s:lib.Codec.decoding_table["208,73"] = [34861] let s:lib.Codec.decoding_table["208,74"] = [34862] let s:lib.Codec.decoding_table["208,75"] = [34863] let s:lib.Codec.decoding_table["208,76"] = [34864] let s:lib.Codec.decoding_table["208,77"] = [34865] let s:lib.Codec.decoding_table["208,78"] = [34867] let s:lib.Codec.decoding_table["208,79"] = [34868] let s:lib.Codec.decoding_table["208,80"] = [34869] let s:lib.Codec.decoding_table["208,81"] = [34870] let s:lib.Codec.decoding_table["208,82"] = [34871] let s:lib.Codec.decoding_table["208,83"] = [34872] let s:lib.Codec.decoding_table["208,84"] = [34874] let s:lib.Codec.decoding_table["208,85"] = [34875] let s:lib.Codec.decoding_table["208,86"] = [34877] let s:lib.Codec.decoding_table["208,87"] = [34878] let s:lib.Codec.decoding_table["208,88"] = [34879] let s:lib.Codec.decoding_table["208,89"] = [34881] let s:lib.Codec.decoding_table["208,90"] = [34882] let s:lib.Codec.decoding_table["208,91"] = [34883] let s:lib.Codec.decoding_table["208,92"] = [34886] let s:lib.Codec.decoding_table["208,93"] = [34887] let s:lib.Codec.decoding_table["208,94"] = [34888] let s:lib.Codec.decoding_table["208,95"] = [34889] let s:lib.Codec.decoding_table["208,96"] = [34890] let s:lib.Codec.decoding_table["208,97"] = [34891] let s:lib.Codec.decoding_table["208,98"] = [34894] let s:lib.Codec.decoding_table["208,99"] = [34895] let s:lib.Codec.decoding_table["208,100"] = [34896] let s:lib.Codec.decoding_table["208,101"] = [34897] let s:lib.Codec.decoding_table["208,102"] = [34898] let s:lib.Codec.decoding_table["208,103"] = [34899] let s:lib.Codec.decoding_table["208,104"] = [34901] let s:lib.Codec.decoding_table["208,105"] = [34902] let s:lib.Codec.decoding_table["208,106"] = [34904] let s:lib.Codec.decoding_table["208,107"] = [34906] let s:lib.Codec.decoding_table["208,108"] = [34907] let s:lib.Codec.decoding_table["208,109"] = [34908] let s:lib.Codec.decoding_table["208,110"] = [34909] let s:lib.Codec.decoding_table["208,111"] = [34910] let s:lib.Codec.decoding_table["208,112"] = [34911] let s:lib.Codec.decoding_table["208,113"] = [34912] let s:lib.Codec.decoding_table["208,114"] = [34918] let s:lib.Codec.decoding_table["208,115"] = [34919] let s:lib.Codec.decoding_table["208,116"] = [34922] let s:lib.Codec.decoding_table["208,117"] = [34925] let s:lib.Codec.decoding_table["208,118"] = [34927] let s:lib.Codec.decoding_table["208,119"] = [34929] let s:lib.Codec.decoding_table["208,120"] = [34931] let s:lib.Codec.decoding_table["208,121"] = [34932] let s:lib.Codec.decoding_table["208,122"] = [34933] let s:lib.Codec.decoding_table["208,123"] = [34934] let s:lib.Codec.decoding_table["208,124"] = [34936] let s:lib.Codec.decoding_table["208,125"] = [34937] let s:lib.Codec.decoding_table["208,126"] = [34938] let s:lib.Codec.decoding_table["208,128"] = [34939] let s:lib.Codec.decoding_table["208,129"] = [34940] let s:lib.Codec.decoding_table["208,130"] = [34944] let s:lib.Codec.decoding_table["208,131"] = [34947] let s:lib.Codec.decoding_table["208,132"] = [34950] let s:lib.Codec.decoding_table["208,133"] = [34951] let s:lib.Codec.decoding_table["208,134"] = [34953] let s:lib.Codec.decoding_table["208,135"] = [34954] let s:lib.Codec.decoding_table["208,136"] = [34956] let s:lib.Codec.decoding_table["208,137"] = [34958] let s:lib.Codec.decoding_table["208,138"] = [34959] let s:lib.Codec.decoding_table["208,139"] = [34960] let s:lib.Codec.decoding_table["208,140"] = [34961] let s:lib.Codec.decoding_table["208,141"] = [34963] let s:lib.Codec.decoding_table["208,142"] = [34964] let s:lib.Codec.decoding_table["208,143"] = [34965] let s:lib.Codec.decoding_table["208,144"] = [34967] let s:lib.Codec.decoding_table["208,145"] = [34968] let s:lib.Codec.decoding_table["208,146"] = [34969] let s:lib.Codec.decoding_table["208,147"] = [34970] let s:lib.Codec.decoding_table["208,148"] = [34971] let s:lib.Codec.decoding_table["208,149"] = [34973] let s:lib.Codec.decoding_table["208,150"] = [34974] let s:lib.Codec.decoding_table["208,151"] = [34975] let s:lib.Codec.decoding_table["208,152"] = [34976] let s:lib.Codec.decoding_table["208,153"] = [34977] let s:lib.Codec.decoding_table["208,154"] = [34979] let s:lib.Codec.decoding_table["208,155"] = [34981] let s:lib.Codec.decoding_table["208,156"] = [34982] let s:lib.Codec.decoding_table["208,157"] = [34983] let s:lib.Codec.decoding_table["208,158"] = [34984] let s:lib.Codec.decoding_table["208,159"] = [34985] let s:lib.Codec.decoding_table["208,160"] = [34986] let s:lib.Codec.decoding_table["208,161"] = [23567] let s:lib.Codec.decoding_table["208,162"] = [23389] let s:lib.Codec.decoding_table["208,163"] = [26657] let s:lib.Codec.decoding_table["208,164"] = [32918] let s:lib.Codec.decoding_table["208,165"] = [21880] let s:lib.Codec.decoding_table["208,166"] = [31505] let s:lib.Codec.decoding_table["208,167"] = [25928] let s:lib.Codec.decoding_table["208,168"] = [26964] let s:lib.Codec.decoding_table["208,169"] = [20123] let s:lib.Codec.decoding_table["208,170"] = [27463] let s:lib.Codec.decoding_table["208,171"] = [34638] let s:lib.Codec.decoding_table["208,172"] = [38795] let s:lib.Codec.decoding_table["208,173"] = [21327] let s:lib.Codec.decoding_table["208,174"] = [25375] let s:lib.Codec.decoding_table["208,175"] = [25658] let s:lib.Codec.decoding_table["208,176"] = [37034] let s:lib.Codec.decoding_table["208,177"] = [26012] let s:lib.Codec.decoding_table["208,178"] = [32961] let s:lib.Codec.decoding_table["208,179"] = [35856] let s:lib.Codec.decoding_table["208,180"] = [20889] let s:lib.Codec.decoding_table["208,181"] = [26800] let s:lib.Codec.decoding_table["208,182"] = [21368] let s:lib.Codec.decoding_table["208,183"] = [34809] let s:lib.Codec.decoding_table["208,184"] = [25032] let s:lib.Codec.decoding_table["208,185"] = [27844] let s:lib.Codec.decoding_table["208,186"] = [27899] let s:lib.Codec.decoding_table["208,187"] = [35874] let s:lib.Codec.decoding_table["208,188"] = [23633] let s:lib.Codec.decoding_table["208,189"] = [34218] let s:lib.Codec.decoding_table["208,190"] = [33455] let s:lib.Codec.decoding_table["208,191"] = [38156] let s:lib.Codec.decoding_table["208,192"] = [27427] let s:lib.Codec.decoding_table["208,193"] = [36763] let s:lib.Codec.decoding_table["208,194"] = [26032] let s:lib.Codec.decoding_table["208,195"] = [24571] let s:lib.Codec.decoding_table["208,196"] = [24515] let s:lib.Codec.decoding_table["208,197"] = [20449] let s:lib.Codec.decoding_table["208,198"] = [34885] let s:lib.Codec.decoding_table["208,199"] = [26143] let s:lib.Codec.decoding_table["208,200"] = [33125] let s:lib.Codec.decoding_table["208,201"] = [29481] let s:lib.Codec.decoding_table["208,202"] = [24826] let s:lib.Codec.decoding_table["208,203"] = [20852] let s:lib.Codec.decoding_table["208,204"] = [21009] let s:lib.Codec.decoding_table["208,205"] = [22411] let s:lib.Codec.decoding_table["208,206"] = [24418] let s:lib.Codec.decoding_table["208,207"] = [37026] let s:lib.Codec.decoding_table["208,208"] = [34892] let s:lib.Codec.decoding_table["208,209"] = [37266] let s:lib.Codec.decoding_table["208,210"] = [24184] let s:lib.Codec.decoding_table["208,211"] = [26447] let s:lib.Codec.decoding_table["208,212"] = [24615] let s:lib.Codec.decoding_table["208,213"] = [22995] let s:lib.Codec.decoding_table["208,214"] = [20804] let s:lib.Codec.decoding_table["208,215"] = [20982] let s:lib.Codec.decoding_table["208,216"] = [33016] let s:lib.Codec.decoding_table["208,217"] = [21256] let s:lib.Codec.decoding_table["208,218"] = [27769] let s:lib.Codec.decoding_table["208,219"] = [38596] let s:lib.Codec.decoding_table["208,220"] = [29066] let s:lib.Codec.decoding_table["208,221"] = [20241] let s:lib.Codec.decoding_table["208,222"] = [20462] let s:lib.Codec.decoding_table["208,223"] = [32670] let s:lib.Codec.decoding_table["208,224"] = [26429] let s:lib.Codec.decoding_table["208,225"] = [21957] let s:lib.Codec.decoding_table["208,226"] = [38152] let s:lib.Codec.decoding_table["208,227"] = [31168] let s:lib.Codec.decoding_table["208,228"] = [34966] let s:lib.Codec.decoding_table["208,229"] = [32483] let s:lib.Codec.decoding_table["208,230"] = [22687] let s:lib.Codec.decoding_table["208,231"] = [25100] let s:lib.Codec.decoding_table["208,232"] = [38656] let s:lib.Codec.decoding_table["208,233"] = [34394] let s:lib.Codec.decoding_table["208,234"] = [22040] let s:lib.Codec.decoding_table["208,235"] = [39035] let s:lib.Codec.decoding_table["208,236"] = [24464] let s:lib.Codec.decoding_table["208,237"] = [35768] let s:lib.Codec.decoding_table["208,238"] = [33988] let s:lib.Codec.decoding_table["208,239"] = [37207] let s:lib.Codec.decoding_table["208,240"] = [21465] let s:lib.Codec.decoding_table["208,241"] = [26093] let s:lib.Codec.decoding_table["208,242"] = [24207] let s:lib.Codec.decoding_table["208,243"] = [30044] let s:lib.Codec.decoding_table["208,244"] = [24676] let s:lib.Codec.decoding_table["208,245"] = [32110] let s:lib.Codec.decoding_table["208,246"] = [23167] let s:lib.Codec.decoding_table["208,247"] = [32490] let s:lib.Codec.decoding_table["208,248"] = [32493] let s:lib.Codec.decoding_table["208,249"] = [36713] let s:lib.Codec.decoding_table["208,250"] = [21927] let s:lib.Codec.decoding_table["208,251"] = [23459] let s:lib.Codec.decoding_table["208,252"] = [24748] let s:lib.Codec.decoding_table["208,253"] = [26059] let s:lib.Codec.decoding_table["208,254"] = [29572] let s:lib.Codec.decoding_table["209,64"] = [34988] let s:lib.Codec.decoding_table["209,65"] = [34990] let s:lib.Codec.decoding_table["209,66"] = [34991] let s:lib.Codec.decoding_table["209,67"] = [34992] let s:lib.Codec.decoding_table["209,68"] = [34994] let s:lib.Codec.decoding_table["209,69"] = [34995] let s:lib.Codec.decoding_table["209,70"] = [34996] let s:lib.Codec.decoding_table["209,71"] = [34997] let s:lib.Codec.decoding_table["209,72"] = [34998] let s:lib.Codec.decoding_table["209,73"] = [35000] let s:lib.Codec.decoding_table["209,74"] = [35001] let s:lib.Codec.decoding_table["209,75"] = [35002] let s:lib.Codec.decoding_table["209,76"] = [35003] let s:lib.Codec.decoding_table["209,77"] = [35005] let s:lib.Codec.decoding_table["209,78"] = [35006] let s:lib.Codec.decoding_table["209,79"] = [35007] let s:lib.Codec.decoding_table["209,80"] = [35008] let s:lib.Codec.decoding_table["209,81"] = [35011] let s:lib.Codec.decoding_table["209,82"] = [35012] let s:lib.Codec.decoding_table["209,83"] = [35015] let s:lib.Codec.decoding_table["209,84"] = [35016] let s:lib.Codec.decoding_table["209,85"] = [35018] let s:lib.Codec.decoding_table["209,86"] = [35019] let s:lib.Codec.decoding_table["209,87"] = [35020] let s:lib.Codec.decoding_table["209,88"] = [35021] let s:lib.Codec.decoding_table["209,89"] = [35023] let s:lib.Codec.decoding_table["209,90"] = [35024] let s:lib.Codec.decoding_table["209,91"] = [35025] let s:lib.Codec.decoding_table["209,92"] = [35027] let s:lib.Codec.decoding_table["209,93"] = [35030] let s:lib.Codec.decoding_table["209,94"] = [35031] let s:lib.Codec.decoding_table["209,95"] = [35034] let s:lib.Codec.decoding_table["209,96"] = [35035] let s:lib.Codec.decoding_table["209,97"] = [35036] let s:lib.Codec.decoding_table["209,98"] = [35037] let s:lib.Codec.decoding_table["209,99"] = [35038] let s:lib.Codec.decoding_table["209,100"] = [35040] let s:lib.Codec.decoding_table["209,101"] = [35041] let s:lib.Codec.decoding_table["209,102"] = [35046] let s:lib.Codec.decoding_table["209,103"] = [35047] let s:lib.Codec.decoding_table["209,104"] = [35049] let s:lib.Codec.decoding_table["209,105"] = [35050] let s:lib.Codec.decoding_table["209,106"] = [35051] let s:lib.Codec.decoding_table["209,107"] = [35052] let s:lib.Codec.decoding_table["209,108"] = [35053] let s:lib.Codec.decoding_table["209,109"] = [35054] let s:lib.Codec.decoding_table["209,110"] = [35055] let s:lib.Codec.decoding_table["209,111"] = [35058] let s:lib.Codec.decoding_table["209,112"] = [35061] let s:lib.Codec.decoding_table["209,113"] = [35062] let s:lib.Codec.decoding_table["209,114"] = [35063] let s:lib.Codec.decoding_table["209,115"] = [35066] let s:lib.Codec.decoding_table["209,116"] = [35067] let s:lib.Codec.decoding_table["209,117"] = [35069] let s:lib.Codec.decoding_table["209,118"] = [35071] let s:lib.Codec.decoding_table["209,119"] = [35072] let s:lib.Codec.decoding_table["209,120"] = [35073] let s:lib.Codec.decoding_table["209,121"] = [35075] let s:lib.Codec.decoding_table["209,122"] = [35076] let s:lib.Codec.decoding_table["209,123"] = [35077] let s:lib.Codec.decoding_table["209,124"] = [35078] let s:lib.Codec.decoding_table["209,125"] = [35079] let s:lib.Codec.decoding_table["209,126"] = [35080] let s:lib.Codec.decoding_table["209,128"] = [35081] let s:lib.Codec.decoding_table["209,129"] = [35083] let s:lib.Codec.decoding_table["209,130"] = [35084] let s:lib.Codec.decoding_table["209,131"] = [35085] let s:lib.Codec.decoding_table["209,132"] = [35086] let s:lib.Codec.decoding_table["209,133"] = [35087] let s:lib.Codec.decoding_table["209,134"] = [35089] let s:lib.Codec.decoding_table["209,135"] = [35092] let s:lib.Codec.decoding_table["209,136"] = [35093] let s:lib.Codec.decoding_table["209,137"] = [35094] let s:lib.Codec.decoding_table["209,138"] = [35095] let s:lib.Codec.decoding_table["209,139"] = [35096] let s:lib.Codec.decoding_table["209,140"] = [35100] let s:lib.Codec.decoding_table["209,141"] = [35101] let s:lib.Codec.decoding_table["209,142"] = [35102] let s:lib.Codec.decoding_table["209,143"] = [35103] let s:lib.Codec.decoding_table["209,144"] = [35104] let s:lib.Codec.decoding_table["209,145"] = [35106] let s:lib.Codec.decoding_table["209,146"] = [35107] let s:lib.Codec.decoding_table["209,147"] = [35108] let s:lib.Codec.decoding_table["209,148"] = [35110] let s:lib.Codec.decoding_table["209,149"] = [35111] let s:lib.Codec.decoding_table["209,150"] = [35112] let s:lib.Codec.decoding_table["209,151"] = [35113] let s:lib.Codec.decoding_table["209,152"] = [35116] let s:lib.Codec.decoding_table["209,153"] = [35117] let s:lib.Codec.decoding_table["209,154"] = [35118] let s:lib.Codec.decoding_table["209,155"] = [35119] let s:lib.Codec.decoding_table["209,156"] = [35121] let s:lib.Codec.decoding_table["209,157"] = [35122] let s:lib.Codec.decoding_table["209,158"] = [35123] let s:lib.Codec.decoding_table["209,159"] = [35125] let s:lib.Codec.decoding_table["209,160"] = [35127] let s:lib.Codec.decoding_table["209,161"] = [36873] let s:lib.Codec.decoding_table["209,162"] = [30307] let s:lib.Codec.decoding_table["209,163"] = [30505] let s:lib.Codec.decoding_table["209,164"] = [32474] let s:lib.Codec.decoding_table["209,165"] = [38772] let s:lib.Codec.decoding_table["209,166"] = [34203] let s:lib.Codec.decoding_table["209,167"] = [23398] let s:lib.Codec.decoding_table["209,168"] = [31348] let s:lib.Codec.decoding_table["209,169"] = [38634] let s:lib.Codec.decoding_table["209,170"] = [34880] let s:lib.Codec.decoding_table["209,171"] = [21195] let s:lib.Codec.decoding_table["209,172"] = [29071] let s:lib.Codec.decoding_table["209,173"] = [24490] let s:lib.Codec.decoding_table["209,174"] = [26092] let s:lib.Codec.decoding_table["209,175"] = [35810] let s:lib.Codec.decoding_table["209,176"] = [23547] let s:lib.Codec.decoding_table["209,177"] = [39535] let s:lib.Codec.decoding_table["209,178"] = [24033] let s:lib.Codec.decoding_table["209,179"] = [27529] let s:lib.Codec.decoding_table["209,180"] = [27739] let s:lib.Codec.decoding_table["209,181"] = [35757] let s:lib.Codec.decoding_table["209,182"] = [35759] let s:lib.Codec.decoding_table["209,183"] = [36874] let s:lib.Codec.decoding_table["209,184"] = [36805] let s:lib.Codec.decoding_table["209,185"] = [21387] let s:lib.Codec.decoding_table["209,186"] = [25276] let s:lib.Codec.decoding_table["209,187"] = [40486] let s:lib.Codec.decoding_table["209,188"] = [40493] let s:lib.Codec.decoding_table["209,189"] = [21568] let s:lib.Codec.decoding_table["209,190"] = [20011] let s:lib.Codec.decoding_table["209,191"] = [33469] let s:lib.Codec.decoding_table["209,192"] = [29273] let s:lib.Codec.decoding_table["209,193"] = [34460] let s:lib.Codec.decoding_table["209,194"] = [23830] let s:lib.Codec.decoding_table["209,195"] = [34905] let s:lib.Codec.decoding_table["209,196"] = [28079] let s:lib.Codec.decoding_table["209,197"] = [38597] let s:lib.Codec.decoding_table["209,198"] = [21713] let s:lib.Codec.decoding_table["209,199"] = [20122] let s:lib.Codec.decoding_table["209,200"] = [35766] let s:lib.Codec.decoding_table["209,201"] = [28937] let s:lib.Codec.decoding_table["209,202"] = [21693] let s:lib.Codec.decoding_table["209,203"] = [38409] let s:lib.Codec.decoding_table["209,204"] = [28895] let s:lib.Codec.decoding_table["209,205"] = [28153] let s:lib.Codec.decoding_table["209,206"] = [30416] let s:lib.Codec.decoding_table["209,207"] = [20005] let s:lib.Codec.decoding_table["209,208"] = [30740] let s:lib.Codec.decoding_table["209,209"] = [34578] let s:lib.Codec.decoding_table["209,210"] = [23721] let s:lib.Codec.decoding_table["209,211"] = [24310] let s:lib.Codec.decoding_table["209,212"] = [35328] let s:lib.Codec.decoding_table["209,213"] = [39068] let s:lib.Codec.decoding_table["209,214"] = [38414] let s:lib.Codec.decoding_table["209,215"] = [28814] let s:lib.Codec.decoding_table["209,216"] = [27839] let s:lib.Codec.decoding_table["209,217"] = [22852] let s:lib.Codec.decoding_table["209,218"] = [25513] let s:lib.Codec.decoding_table["209,219"] = [30524] let s:lib.Codec.decoding_table["209,220"] = [34893] let s:lib.Codec.decoding_table["209,221"] = [28436] let s:lib.Codec.decoding_table["209,222"] = [33395] let s:lib.Codec.decoding_table["209,223"] = [22576] let s:lib.Codec.decoding_table["209,224"] = [29141] let s:lib.Codec.decoding_table["209,225"] = [21388] let s:lib.Codec.decoding_table["209,226"] = [30746] let s:lib.Codec.decoding_table["209,227"] = [38593] let s:lib.Codec.decoding_table["209,228"] = [21761] let s:lib.Codec.decoding_table["209,229"] = [24422] let s:lib.Codec.decoding_table["209,230"] = [28976] let s:lib.Codec.decoding_table["209,231"] = [23476] let s:lib.Codec.decoding_table["209,232"] = [35866] let s:lib.Codec.decoding_table["209,233"] = [39564] let s:lib.Codec.decoding_table["209,234"] = [27523] let s:lib.Codec.decoding_table["209,235"] = [22830] let s:lib.Codec.decoding_table["209,236"] = [40495] let s:lib.Codec.decoding_table["209,237"] = [31207] let s:lib.Codec.decoding_table["209,238"] = [26472] let s:lib.Codec.decoding_table["209,239"] = [25196] let s:lib.Codec.decoding_table["209,240"] = [20335] let s:lib.Codec.decoding_table["209,241"] = [30113] let s:lib.Codec.decoding_table["209,242"] = [32650] let s:lib.Codec.decoding_table["209,243"] = [27915] let s:lib.Codec.decoding_table["209,244"] = [38451] let s:lib.Codec.decoding_table["209,245"] = [27687] let s:lib.Codec.decoding_table["209,246"] = [20208] let s:lib.Codec.decoding_table["209,247"] = [30162] let s:lib.Codec.decoding_table["209,248"] = [20859] let s:lib.Codec.decoding_table["209,249"] = [26679] let s:lib.Codec.decoding_table["209,250"] = [28478] let s:lib.Codec.decoding_table["209,251"] = [36992] let s:lib.Codec.decoding_table["209,252"] = [33136] let s:lib.Codec.decoding_table["209,253"] = [22934] let s:lib.Codec.decoding_table["209,254"] = [29814] let s:lib.Codec.decoding_table["210,64"] = [35128] let s:lib.Codec.decoding_table["210,65"] = [35129] let s:lib.Codec.decoding_table["210,66"] = [35130] let s:lib.Codec.decoding_table["210,67"] = [35131] let s:lib.Codec.decoding_table["210,68"] = [35132] let s:lib.Codec.decoding_table["210,69"] = [35133] let s:lib.Codec.decoding_table["210,70"] = [35134] let s:lib.Codec.decoding_table["210,71"] = [35135] let s:lib.Codec.decoding_table["210,72"] = [35136] let s:lib.Codec.decoding_table["210,73"] = [35138] let s:lib.Codec.decoding_table["210,74"] = [35139] let s:lib.Codec.decoding_table["210,75"] = [35141] let s:lib.Codec.decoding_table["210,76"] = [35142] let s:lib.Codec.decoding_table["210,77"] = [35143] let s:lib.Codec.decoding_table["210,78"] = [35144] let s:lib.Codec.decoding_table["210,79"] = [35145] let s:lib.Codec.decoding_table["210,80"] = [35146] let s:lib.Codec.decoding_table["210,81"] = [35147] let s:lib.Codec.decoding_table["210,82"] = [35148] let s:lib.Codec.decoding_table["210,83"] = [35149] let s:lib.Codec.decoding_table["210,84"] = [35150] let s:lib.Codec.decoding_table["210,85"] = [35151] let s:lib.Codec.decoding_table["210,86"] = [35152] let s:lib.Codec.decoding_table["210,87"] = [35153] let s:lib.Codec.decoding_table["210,88"] = [35154] let s:lib.Codec.decoding_table["210,89"] = [35155] let s:lib.Codec.decoding_table["210,90"] = [35156] let s:lib.Codec.decoding_table["210,91"] = [35157] let s:lib.Codec.decoding_table["210,92"] = [35158] let s:lib.Codec.decoding_table["210,93"] = [35159] let s:lib.Codec.decoding_table["210,94"] = [35160] let s:lib.Codec.decoding_table["210,95"] = [35161] let s:lib.Codec.decoding_table["210,96"] = [35162] let s:lib.Codec.decoding_table["210,97"] = [35163] let s:lib.Codec.decoding_table["210,98"] = [35164] let s:lib.Codec.decoding_table["210,99"] = [35165] let s:lib.Codec.decoding_table["210,100"] = [35168] let s:lib.Codec.decoding_table["210,101"] = [35169] let s:lib.Codec.decoding_table["210,102"] = [35170] let s:lib.Codec.decoding_table["210,103"] = [35171] let s:lib.Codec.decoding_table["210,104"] = [35172] let s:lib.Codec.decoding_table["210,105"] = [35173] let s:lib.Codec.decoding_table["210,106"] = [35175] let s:lib.Codec.decoding_table["210,107"] = [35176] let s:lib.Codec.decoding_table["210,108"] = [35177] let s:lib.Codec.decoding_table["210,109"] = [35178] let s:lib.Codec.decoding_table["210,110"] = [35179] let s:lib.Codec.decoding_table["210,111"] = [35180] let s:lib.Codec.decoding_table["210,112"] = [35181] let s:lib.Codec.decoding_table["210,113"] = [35182] let s:lib.Codec.decoding_table["210,114"] = [35183] let s:lib.Codec.decoding_table["210,115"] = [35184] let s:lib.Codec.decoding_table["210,116"] = [35185] let s:lib.Codec.decoding_table["210,117"] = [35186] let s:lib.Codec.decoding_table["210,118"] = [35187] let s:lib.Codec.decoding_table["210,119"] = [35188] let s:lib.Codec.decoding_table["210,120"] = [35189] let s:lib.Codec.decoding_table["210,121"] = [35190] let s:lib.Codec.decoding_table["210,122"] = [35191] let s:lib.Codec.decoding_table["210,123"] = [35192] let s:lib.Codec.decoding_table["210,124"] = [35193] let s:lib.Codec.decoding_table["210,125"] = [35194] let s:lib.Codec.decoding_table["210,126"] = [35196] let s:lib.Codec.decoding_table["210,128"] = [35197] let s:lib.Codec.decoding_table["210,129"] = [35198] let s:lib.Codec.decoding_table["210,130"] = [35200] let s:lib.Codec.decoding_table["210,131"] = [35202] let s:lib.Codec.decoding_table["210,132"] = [35204] let s:lib.Codec.decoding_table["210,133"] = [35205] let s:lib.Codec.decoding_table["210,134"] = [35207] let s:lib.Codec.decoding_table["210,135"] = [35208] let s:lib.Codec.decoding_table["210,136"] = [35209] let s:lib.Codec.decoding_table["210,137"] = [35210] let s:lib.Codec.decoding_table["210,138"] = [35211] let s:lib.Codec.decoding_table["210,139"] = [35212] let s:lib.Codec.decoding_table["210,140"] = [35213] let s:lib.Codec.decoding_table["210,141"] = [35214] let s:lib.Codec.decoding_table["210,142"] = [35215] let s:lib.Codec.decoding_table["210,143"] = [35216] let s:lib.Codec.decoding_table["210,144"] = [35217] let s:lib.Codec.decoding_table["210,145"] = [35218] let s:lib.Codec.decoding_table["210,146"] = [35219] let s:lib.Codec.decoding_table["210,147"] = [35220] let s:lib.Codec.decoding_table["210,148"] = [35221] let s:lib.Codec.decoding_table["210,149"] = [35222] let s:lib.Codec.decoding_table["210,150"] = [35223] let s:lib.Codec.decoding_table["210,151"] = [35224] let s:lib.Codec.decoding_table["210,152"] = [35225] let s:lib.Codec.decoding_table["210,153"] = [35226] let s:lib.Codec.decoding_table["210,154"] = [35227] let s:lib.Codec.decoding_table["210,155"] = [35228] let s:lib.Codec.decoding_table["210,156"] = [35229] let s:lib.Codec.decoding_table["210,157"] = [35230] let s:lib.Codec.decoding_table["210,158"] = [35231] let s:lib.Codec.decoding_table["210,159"] = [35232] let s:lib.Codec.decoding_table["210,160"] = [35233] let s:lib.Codec.decoding_table["210,161"] = [25671] let s:lib.Codec.decoding_table["210,162"] = [23591] let s:lib.Codec.decoding_table["210,163"] = [36965] let s:lib.Codec.decoding_table["210,164"] = [31377] let s:lib.Codec.decoding_table["210,165"] = [35875] let s:lib.Codec.decoding_table["210,166"] = [23002] let s:lib.Codec.decoding_table["210,167"] = [21676] let s:lib.Codec.decoding_table["210,168"] = [33280] let s:lib.Codec.decoding_table["210,169"] = [33647] let s:lib.Codec.decoding_table["210,170"] = [35201] let s:lib.Codec.decoding_table["210,171"] = [32768] let s:lib.Codec.decoding_table["210,172"] = [26928] let s:lib.Codec.decoding_table["210,173"] = [22094] let s:lib.Codec.decoding_table["210,174"] = [32822] let s:lib.Codec.decoding_table["210,175"] = [29239] let s:lib.Codec.decoding_table["210,176"] = [37326] let s:lib.Codec.decoding_table["210,177"] = [20918] let s:lib.Codec.decoding_table["210,178"] = [20063] let s:lib.Codec.decoding_table["210,179"] = [39029] let s:lib.Codec.decoding_table["210,180"] = [25494] let s:lib.Codec.decoding_table["210,181"] = [19994] let s:lib.Codec.decoding_table["210,182"] = [21494] let s:lib.Codec.decoding_table["210,183"] = [26355] let s:lib.Codec.decoding_table["210,184"] = [33099] let s:lib.Codec.decoding_table["210,185"] = [22812] let s:lib.Codec.decoding_table["210,186"] = [28082] let s:lib.Codec.decoding_table["210,187"] = [19968] let s:lib.Codec.decoding_table["210,188"] = [22777] let s:lib.Codec.decoding_table["210,189"] = [21307] let s:lib.Codec.decoding_table["210,190"] = [25558] let s:lib.Codec.decoding_table["210,191"] = [38129] let s:lib.Codec.decoding_table["210,192"] = [20381] let s:lib.Codec.decoding_table["210,193"] = [20234] let s:lib.Codec.decoding_table["210,194"] = [34915] let s:lib.Codec.decoding_table["210,195"] = [39056] let s:lib.Codec.decoding_table["210,196"] = [22839] let s:lib.Codec.decoding_table["210,197"] = [36951] let s:lib.Codec.decoding_table["210,198"] = [31227] let s:lib.Codec.decoding_table["210,199"] = [20202] let s:lib.Codec.decoding_table["210,200"] = [33008] let s:lib.Codec.decoding_table["210,201"] = [30097] let s:lib.Codec.decoding_table["210,202"] = [27778] let s:lib.Codec.decoding_table["210,203"] = [23452] let s:lib.Codec.decoding_table["210,204"] = [23016] let s:lib.Codec.decoding_table["210,205"] = [24413] let s:lib.Codec.decoding_table["210,206"] = [26885] let s:lib.Codec.decoding_table["210,207"] = [34433] let s:lib.Codec.decoding_table["210,208"] = [20506] let s:lib.Codec.decoding_table["210,209"] = [24050] let s:lib.Codec.decoding_table["210,210"] = [20057] let s:lib.Codec.decoding_table["210,211"] = [30691] let s:lib.Codec.decoding_table["210,212"] = [20197] let s:lib.Codec.decoding_table["210,213"] = [33402] let s:lib.Codec.decoding_table["210,214"] = [25233] let s:lib.Codec.decoding_table["210,215"] = [26131] let s:lib.Codec.decoding_table["210,216"] = [37009] let s:lib.Codec.decoding_table["210,217"] = [23673] let s:lib.Codec.decoding_table["210,218"] = [20159] let s:lib.Codec.decoding_table["210,219"] = [24441] let s:lib.Codec.decoding_table["210,220"] = [33222] let s:lib.Codec.decoding_table["210,221"] = [36920] let s:lib.Codec.decoding_table["210,222"] = [32900] let s:lib.Codec.decoding_table["210,223"] = [30123] let s:lib.Codec.decoding_table["210,224"] = [20134] let s:lib.Codec.decoding_table["210,225"] = [35028] let s:lib.Codec.decoding_table["210,226"] = [24847] let s:lib.Codec.decoding_table["210,227"] = [27589] let s:lib.Codec.decoding_table["210,228"] = [24518] let s:lib.Codec.decoding_table["210,229"] = [20041] let s:lib.Codec.decoding_table["210,230"] = [30410] let s:lib.Codec.decoding_table["210,231"] = [28322] let s:lib.Codec.decoding_table["210,232"] = [35811] let s:lib.Codec.decoding_table["210,233"] = [35758] let s:lib.Codec.decoding_table["210,234"] = [35850] let s:lib.Codec.decoding_table["210,235"] = [35793] let s:lib.Codec.decoding_table["210,236"] = [24322] let s:lib.Codec.decoding_table["210,237"] = [32764] let s:lib.Codec.decoding_table["210,238"] = [32716] let s:lib.Codec.decoding_table["210,239"] = [32462] let s:lib.Codec.decoding_table["210,240"] = [33589] let s:lib.Codec.decoding_table["210,241"] = [33643] let s:lib.Codec.decoding_table["210,242"] = [22240] let s:lib.Codec.decoding_table["210,243"] = [27575] let s:lib.Codec.decoding_table["210,244"] = [38899] let s:lib.Codec.decoding_table["210,245"] = [38452] let s:lib.Codec.decoding_table["210,246"] = [23035] let s:lib.Codec.decoding_table["210,247"] = [21535] let s:lib.Codec.decoding_table["210,248"] = [38134] let s:lib.Codec.decoding_table["210,249"] = [28139] let s:lib.Codec.decoding_table["210,250"] = [23493] let s:lib.Codec.decoding_table["210,251"] = [39278] let s:lib.Codec.decoding_table["210,252"] = [23609] let s:lib.Codec.decoding_table["210,253"] = [24341] let s:lib.Codec.decoding_table["210,254"] = [38544] let s:lib.Codec.decoding_table["211,64"] = [35234] let s:lib.Codec.decoding_table["211,65"] = [35235] let s:lib.Codec.decoding_table["211,66"] = [35236] let s:lib.Codec.decoding_table["211,67"] = [35237] let s:lib.Codec.decoding_table["211,68"] = [35238] let s:lib.Codec.decoding_table["211,69"] = [35239] let s:lib.Codec.decoding_table["211,70"] = [35240] let s:lib.Codec.decoding_table["211,71"] = [35241] let s:lib.Codec.decoding_table["211,72"] = [35242] let s:lib.Codec.decoding_table["211,73"] = [35243] let s:lib.Codec.decoding_table["211,74"] = [35244] let s:lib.Codec.decoding_table["211,75"] = [35245] let s:lib.Codec.decoding_table["211,76"] = [35246] let s:lib.Codec.decoding_table["211,77"] = [35247] let s:lib.Codec.decoding_table["211,78"] = [35248] let s:lib.Codec.decoding_table["211,79"] = [35249] let s:lib.Codec.decoding_table["211,80"] = [35250] let s:lib.Codec.decoding_table["211,81"] = [35251] let s:lib.Codec.decoding_table["211,82"] = [35252] let s:lib.Codec.decoding_table["211,83"] = [35253] let s:lib.Codec.decoding_table["211,84"] = [35254] let s:lib.Codec.decoding_table["211,85"] = [35255] let s:lib.Codec.decoding_table["211,86"] = [35256] let s:lib.Codec.decoding_table["211,87"] = [35257] let s:lib.Codec.decoding_table["211,88"] = [35258] let s:lib.Codec.decoding_table["211,89"] = [35259] let s:lib.Codec.decoding_table["211,90"] = [35260] let s:lib.Codec.decoding_table["211,91"] = [35261] let s:lib.Codec.decoding_table["211,92"] = [35262] let s:lib.Codec.decoding_table["211,93"] = [35263] let s:lib.Codec.decoding_table["211,94"] = [35264] let s:lib.Codec.decoding_table["211,95"] = [35267] let s:lib.Codec.decoding_table["211,96"] = [35277] let s:lib.Codec.decoding_table["211,97"] = [35283] let s:lib.Codec.decoding_table["211,98"] = [35284] let s:lib.Codec.decoding_table["211,99"] = [35285] let s:lib.Codec.decoding_table["211,100"] = [35287] let s:lib.Codec.decoding_table["211,101"] = [35288] let s:lib.Codec.decoding_table["211,102"] = [35289] let s:lib.Codec.decoding_table["211,103"] = [35291] let s:lib.Codec.decoding_table["211,104"] = [35293] let s:lib.Codec.decoding_table["211,105"] = [35295] let s:lib.Codec.decoding_table["211,106"] = [35296] let s:lib.Codec.decoding_table["211,107"] = [35297] let s:lib.Codec.decoding_table["211,108"] = [35298] let s:lib.Codec.decoding_table["211,109"] = [35300] let s:lib.Codec.decoding_table["211,110"] = [35303] let s:lib.Codec.decoding_table["211,111"] = [35304] let s:lib.Codec.decoding_table["211,112"] = [35305] let s:lib.Codec.decoding_table["211,113"] = [35306] let s:lib.Codec.decoding_table["211,114"] = [35308] let s:lib.Codec.decoding_table["211,115"] = [35309] let s:lib.Codec.decoding_table["211,116"] = [35310] let s:lib.Codec.decoding_table["211,117"] = [35312] let s:lib.Codec.decoding_table["211,118"] = [35313] let s:lib.Codec.decoding_table["211,119"] = [35314] let s:lib.Codec.decoding_table["211,120"] = [35316] let s:lib.Codec.decoding_table["211,121"] = [35317] let s:lib.Codec.decoding_table["211,122"] = [35318] let s:lib.Codec.decoding_table["211,123"] = [35319] let s:lib.Codec.decoding_table["211,124"] = [35320] let s:lib.Codec.decoding_table["211,125"] = [35321] let s:lib.Codec.decoding_table["211,126"] = [35322] let s:lib.Codec.decoding_table["211,128"] = [35323] let s:lib.Codec.decoding_table["211,129"] = [35324] let s:lib.Codec.decoding_table["211,130"] = [35325] let s:lib.Codec.decoding_table["211,131"] = [35326] let s:lib.Codec.decoding_table["211,132"] = [35327] let s:lib.Codec.decoding_table["211,133"] = [35329] let s:lib.Codec.decoding_table["211,134"] = [35330] let s:lib.Codec.decoding_table["211,135"] = [35331] let s:lib.Codec.decoding_table["211,136"] = [35332] let s:lib.Codec.decoding_table["211,137"] = [35333] let s:lib.Codec.decoding_table["211,138"] = [35334] let s:lib.Codec.decoding_table["211,139"] = [35336] let s:lib.Codec.decoding_table["211,140"] = [35337] let s:lib.Codec.decoding_table["211,141"] = [35338] let s:lib.Codec.decoding_table["211,142"] = [35339] let s:lib.Codec.decoding_table["211,143"] = [35340] let s:lib.Codec.decoding_table["211,144"] = [35341] let s:lib.Codec.decoding_table["211,145"] = [35342] let s:lib.Codec.decoding_table["211,146"] = [35343] let s:lib.Codec.decoding_table["211,147"] = [35344] let s:lib.Codec.decoding_table["211,148"] = [35345] let s:lib.Codec.decoding_table["211,149"] = [35346] let s:lib.Codec.decoding_table["211,150"] = [35347] let s:lib.Codec.decoding_table["211,151"] = [35348] let s:lib.Codec.decoding_table["211,152"] = [35349] let s:lib.Codec.decoding_table["211,153"] = [35350] let s:lib.Codec.decoding_table["211,154"] = [35351] let s:lib.Codec.decoding_table["211,155"] = [35352] let s:lib.Codec.decoding_table["211,156"] = [35353] let s:lib.Codec.decoding_table["211,157"] = [35354] let s:lib.Codec.decoding_table["211,158"] = [35355] let s:lib.Codec.decoding_table["211,159"] = [35356] let s:lib.Codec.decoding_table["211,160"] = [35357] let s:lib.Codec.decoding_table["211,161"] = [21360] let s:lib.Codec.decoding_table["211,162"] = [33521] let s:lib.Codec.decoding_table["211,163"] = [27185] let s:lib.Codec.decoding_table["211,164"] = [23156] let s:lib.Codec.decoding_table["211,165"] = [40560] let s:lib.Codec.decoding_table["211,166"] = [24212] let s:lib.Codec.decoding_table["211,167"] = [32552] let s:lib.Codec.decoding_table["211,168"] = [33721] let s:lib.Codec.decoding_table["211,169"] = [33828] let s:lib.Codec.decoding_table["211,170"] = [33829] let s:lib.Codec.decoding_table["211,171"] = [33639] let s:lib.Codec.decoding_table["211,172"] = [34631] let s:lib.Codec.decoding_table["211,173"] = [36814] let s:lib.Codec.decoding_table["211,174"] = [36194] let s:lib.Codec.decoding_table["211,175"] = [30408] let s:lib.Codec.decoding_table["211,176"] = [24433] let s:lib.Codec.decoding_table["211,177"] = [39062] let s:lib.Codec.decoding_table["211,178"] = [30828] let s:lib.Codec.decoding_table["211,179"] = [26144] let s:lib.Codec.decoding_table["211,180"] = [21727] let s:lib.Codec.decoding_table["211,181"] = [25317] let s:lib.Codec.decoding_table["211,182"] = [20323] let s:lib.Codec.decoding_table["211,183"] = [33219] let s:lib.Codec.decoding_table["211,184"] = [30152] let s:lib.Codec.decoding_table["211,185"] = [24248] let s:lib.Codec.decoding_table["211,186"] = [38605] let s:lib.Codec.decoding_table["211,187"] = [36362] let s:lib.Codec.decoding_table["211,188"] = [34553] let s:lib.Codec.decoding_table["211,189"] = [21647] let s:lib.Codec.decoding_table["211,190"] = [27891] let s:lib.Codec.decoding_table["211,191"] = [28044] let s:lib.Codec.decoding_table["211,192"] = [27704] let s:lib.Codec.decoding_table["211,193"] = [24703] let s:lib.Codec.decoding_table["211,194"] = [21191] let s:lib.Codec.decoding_table["211,195"] = [29992] let s:lib.Codec.decoding_table["211,196"] = [24189] let s:lib.Codec.decoding_table["211,197"] = [20248] let s:lib.Codec.decoding_table["211,198"] = [24736] let s:lib.Codec.decoding_table["211,199"] = [24551] let s:lib.Codec.decoding_table["211,200"] = [23588] let s:lib.Codec.decoding_table["211,201"] = [30001] let s:lib.Codec.decoding_table["211,202"] = [37038] let s:lib.Codec.decoding_table["211,203"] = [38080] let s:lib.Codec.decoding_table["211,204"] = [29369] let s:lib.Codec.decoding_table["211,205"] = [27833] let s:lib.Codec.decoding_table["211,206"] = [28216] let s:lib.Codec.decoding_table["211,207"] = [37193] let s:lib.Codec.decoding_table["211,208"] = [26377] let s:lib.Codec.decoding_table["211,209"] = [21451] let s:lib.Codec.decoding_table["211,210"] = [21491] let s:lib.Codec.decoding_table["211,211"] = [20305] let s:lib.Codec.decoding_table["211,212"] = [37321] let s:lib.Codec.decoding_table["211,213"] = [35825] let s:lib.Codec.decoding_table["211,214"] = [21448] let s:lib.Codec.decoding_table["211,215"] = [24188] let s:lib.Codec.decoding_table["211,216"] = [36802] let s:lib.Codec.decoding_table["211,217"] = [28132] let s:lib.Codec.decoding_table["211,218"] = [20110] let s:lib.Codec.decoding_table["211,219"] = [30402] let s:lib.Codec.decoding_table["211,220"] = [27014] let s:lib.Codec.decoding_table["211,221"] = [34398] let s:lib.Codec.decoding_table["211,222"] = [24858] let s:lib.Codec.decoding_table["211,223"] = [33286] let s:lib.Codec.decoding_table["211,224"] = [20313] let s:lib.Codec.decoding_table["211,225"] = [20446] let s:lib.Codec.decoding_table["211,226"] = [36926] let s:lib.Codec.decoding_table["211,227"] = [40060] let s:lib.Codec.decoding_table["211,228"] = [24841] let s:lib.Codec.decoding_table["211,229"] = [28189] let s:lib.Codec.decoding_table["211,230"] = [28180] let s:lib.Codec.decoding_table["211,231"] = [38533] let s:lib.Codec.decoding_table["211,232"] = [20104] let s:lib.Codec.decoding_table["211,233"] = [23089] let s:lib.Codec.decoding_table["211,234"] = [38632] let s:lib.Codec.decoding_table["211,235"] = [19982] let s:lib.Codec.decoding_table["211,236"] = [23679] let s:lib.Codec.decoding_table["211,237"] = [31161] let s:lib.Codec.decoding_table["211,238"] = [23431] let s:lib.Codec.decoding_table["211,239"] = [35821] let s:lib.Codec.decoding_table["211,240"] = [32701] let s:lib.Codec.decoding_table["211,241"] = [29577] let s:lib.Codec.decoding_table["211,242"] = [22495] let s:lib.Codec.decoding_table["211,243"] = [33419] let s:lib.Codec.decoding_table["211,244"] = [37057] let s:lib.Codec.decoding_table["211,245"] = [21505] let s:lib.Codec.decoding_table["211,246"] = [36935] let s:lib.Codec.decoding_table["211,247"] = [21947] let s:lib.Codec.decoding_table["211,248"] = [23786] let s:lib.Codec.decoding_table["211,249"] = [24481] let s:lib.Codec.decoding_table["211,250"] = [24840] let s:lib.Codec.decoding_table["211,251"] = [27442] let s:lib.Codec.decoding_table["211,252"] = [29425] let s:lib.Codec.decoding_table["211,253"] = [32946] let s:lib.Codec.decoding_table["211,254"] = [35465] let s:lib.Codec.decoding_table["212,64"] = [35358] let s:lib.Codec.decoding_table["212,65"] = [35359] let s:lib.Codec.decoding_table["212,66"] = [35360] let s:lib.Codec.decoding_table["212,67"] = [35361] let s:lib.Codec.decoding_table["212,68"] = [35362] let s:lib.Codec.decoding_table["212,69"] = [35363] let s:lib.Codec.decoding_table["212,70"] = [35364] let s:lib.Codec.decoding_table["212,71"] = [35365] let s:lib.Codec.decoding_table["212,72"] = [35366] let s:lib.Codec.decoding_table["212,73"] = [35367] let s:lib.Codec.decoding_table["212,74"] = [35368] let s:lib.Codec.decoding_table["212,75"] = [35369] let s:lib.Codec.decoding_table["212,76"] = [35370] let s:lib.Codec.decoding_table["212,77"] = [35371] let s:lib.Codec.decoding_table["212,78"] = [35372] let s:lib.Codec.decoding_table["212,79"] = [35373] let s:lib.Codec.decoding_table["212,80"] = [35374] let s:lib.Codec.decoding_table["212,81"] = [35375] let s:lib.Codec.decoding_table["212,82"] = [35376] let s:lib.Codec.decoding_table["212,83"] = [35377] let s:lib.Codec.decoding_table["212,84"] = [35378] let s:lib.Codec.decoding_table["212,85"] = [35379] let s:lib.Codec.decoding_table["212,86"] = [35380] let s:lib.Codec.decoding_table["212,87"] = [35381] let s:lib.Codec.decoding_table["212,88"] = [35382] let s:lib.Codec.decoding_table["212,89"] = [35383] let s:lib.Codec.decoding_table["212,90"] = [35384] let s:lib.Codec.decoding_table["212,91"] = [35385] let s:lib.Codec.decoding_table["212,92"] = [35386] let s:lib.Codec.decoding_table["212,93"] = [35387] let s:lib.Codec.decoding_table["212,94"] = [35388] let s:lib.Codec.decoding_table["212,95"] = [35389] let s:lib.Codec.decoding_table["212,96"] = [35391] let s:lib.Codec.decoding_table["212,97"] = [35392] let s:lib.Codec.decoding_table["212,98"] = [35393] let s:lib.Codec.decoding_table["212,99"] = [35394] let s:lib.Codec.decoding_table["212,100"] = [35395] let s:lib.Codec.decoding_table["212,101"] = [35396] let s:lib.Codec.decoding_table["212,102"] = [35397] let s:lib.Codec.decoding_table["212,103"] = [35398] let s:lib.Codec.decoding_table["212,104"] = [35399] let s:lib.Codec.decoding_table["212,105"] = [35401] let s:lib.Codec.decoding_table["212,106"] = [35402] let s:lib.Codec.decoding_table["212,107"] = [35403] let s:lib.Codec.decoding_table["212,108"] = [35404] let s:lib.Codec.decoding_table["212,109"] = [35405] let s:lib.Codec.decoding_table["212,110"] = [35406] let s:lib.Codec.decoding_table["212,111"] = [35407] let s:lib.Codec.decoding_table["212,112"] = [35408] let s:lib.Codec.decoding_table["212,113"] = [35409] let s:lib.Codec.decoding_table["212,114"] = [35410] let s:lib.Codec.decoding_table["212,115"] = [35411] let s:lib.Codec.decoding_table["212,116"] = [35412] let s:lib.Codec.decoding_table["212,117"] = [35413] let s:lib.Codec.decoding_table["212,118"] = [35414] let s:lib.Codec.decoding_table["212,119"] = [35415] let s:lib.Codec.decoding_table["212,120"] = [35416] let s:lib.Codec.decoding_table["212,121"] = [35417] let s:lib.Codec.decoding_table["212,122"] = [35418] let s:lib.Codec.decoding_table["212,123"] = [35419] let s:lib.Codec.decoding_table["212,124"] = [35420] let s:lib.Codec.decoding_table["212,125"] = [35421] let s:lib.Codec.decoding_table["212,126"] = [35422] let s:lib.Codec.decoding_table["212,128"] = [35423] let s:lib.Codec.decoding_table["212,129"] = [35424] let s:lib.Codec.decoding_table["212,130"] = [35425] let s:lib.Codec.decoding_table["212,131"] = [35426] let s:lib.Codec.decoding_table["212,132"] = [35427] let s:lib.Codec.decoding_table["212,133"] = [35428] let s:lib.Codec.decoding_table["212,134"] = [35429] let s:lib.Codec.decoding_table["212,135"] = [35430] let s:lib.Codec.decoding_table["212,136"] = [35431] let s:lib.Codec.decoding_table["212,137"] = [35432] let s:lib.Codec.decoding_table["212,138"] = [35433] let s:lib.Codec.decoding_table["212,139"] = [35434] let s:lib.Codec.decoding_table["212,140"] = [35435] let s:lib.Codec.decoding_table["212,141"] = [35436] let s:lib.Codec.decoding_table["212,142"] = [35437] let s:lib.Codec.decoding_table["212,143"] = [35438] let s:lib.Codec.decoding_table["212,144"] = [35439] let s:lib.Codec.decoding_table["212,145"] = [35440] let s:lib.Codec.decoding_table["212,146"] = [35441] let s:lib.Codec.decoding_table["212,147"] = [35442] let s:lib.Codec.decoding_table["212,148"] = [35443] let s:lib.Codec.decoding_table["212,149"] = [35444] let s:lib.Codec.decoding_table["212,150"] = [35445] let s:lib.Codec.decoding_table["212,151"] = [35446] let s:lib.Codec.decoding_table["212,152"] = [35447] let s:lib.Codec.decoding_table["212,153"] = [35448] let s:lib.Codec.decoding_table["212,154"] = [35450] let s:lib.Codec.decoding_table["212,155"] = [35451] let s:lib.Codec.decoding_table["212,156"] = [35452] let s:lib.Codec.decoding_table["212,157"] = [35453] let s:lib.Codec.decoding_table["212,158"] = [35454] let s:lib.Codec.decoding_table["212,159"] = [35455] let s:lib.Codec.decoding_table["212,160"] = [35456] let s:lib.Codec.decoding_table["212,161"] = [28020] let s:lib.Codec.decoding_table["212,162"] = [23507] let s:lib.Codec.decoding_table["212,163"] = [35029] let s:lib.Codec.decoding_table["212,164"] = [39044] let s:lib.Codec.decoding_table["212,165"] = [35947] let s:lib.Codec.decoding_table["212,166"] = [39533] let s:lib.Codec.decoding_table["212,167"] = [40499] let s:lib.Codec.decoding_table["212,168"] = [28170] let s:lib.Codec.decoding_table["212,169"] = [20900] let s:lib.Codec.decoding_table["212,170"] = [20803] let s:lib.Codec.decoding_table["212,171"] = [22435] let s:lib.Codec.decoding_table["212,172"] = [34945] let s:lib.Codec.decoding_table["212,173"] = [21407] let s:lib.Codec.decoding_table["212,174"] = [25588] let s:lib.Codec.decoding_table["212,175"] = [36757] let s:lib.Codec.decoding_table["212,176"] = [22253] let s:lib.Codec.decoding_table["212,177"] = [21592] let s:lib.Codec.decoding_table["212,178"] = [22278] let s:lib.Codec.decoding_table["212,179"] = [29503] let s:lib.Codec.decoding_table["212,180"] = [28304] let s:lib.Codec.decoding_table["212,181"] = [32536] let s:lib.Codec.decoding_table["212,182"] = [36828] let s:lib.Codec.decoding_table["212,183"] = [33489] let s:lib.Codec.decoding_table["212,184"] = [24895] let s:lib.Codec.decoding_table["212,185"] = [24616] let s:lib.Codec.decoding_table["212,186"] = [38498] let s:lib.Codec.decoding_table["212,187"] = [26352] let s:lib.Codec.decoding_table["212,188"] = [32422] let s:lib.Codec.decoding_table["212,189"] = [36234] let s:lib.Codec.decoding_table["212,190"] = [36291] let s:lib.Codec.decoding_table["212,191"] = [38053] let s:lib.Codec.decoding_table["212,192"] = [23731] let s:lib.Codec.decoding_table["212,193"] = [31908] let s:lib.Codec.decoding_table["212,194"] = [26376] let s:lib.Codec.decoding_table["212,195"] = [24742] let s:lib.Codec.decoding_table["212,196"] = [38405] let s:lib.Codec.decoding_table["212,197"] = [32792] let s:lib.Codec.decoding_table["212,198"] = [20113] let s:lib.Codec.decoding_table["212,199"] = [37095] let s:lib.Codec.decoding_table["212,200"] = [21248] let s:lib.Codec.decoding_table["212,201"] = [38504] let s:lib.Codec.decoding_table["212,202"] = [20801] let s:lib.Codec.decoding_table["212,203"] = [36816] let s:lib.Codec.decoding_table["212,204"] = [34164] let s:lib.Codec.decoding_table["212,205"] = [37213] let s:lib.Codec.decoding_table["212,206"] = [26197] let s:lib.Codec.decoding_table["212,207"] = [38901] let s:lib.Codec.decoding_table["212,208"] = [23381] let s:lib.Codec.decoding_table["212,209"] = [21277] let s:lib.Codec.decoding_table["212,210"] = [30776] let s:lib.Codec.decoding_table["212,211"] = [26434] let s:lib.Codec.decoding_table["212,212"] = [26685] let s:lib.Codec.decoding_table["212,213"] = [21705] let s:lib.Codec.decoding_table["212,214"] = [28798] let s:lib.Codec.decoding_table["212,215"] = [23472] let s:lib.Codec.decoding_table["212,216"] = [36733] let s:lib.Codec.decoding_table["212,217"] = [20877] let s:lib.Codec.decoding_table["212,218"] = [22312] let s:lib.Codec.decoding_table["212,219"] = [21681] let s:lib.Codec.decoding_table["212,220"] = [25874] let s:lib.Codec.decoding_table["212,221"] = [26242] let s:lib.Codec.decoding_table["212,222"] = [36190] let s:lib.Codec.decoding_table["212,223"] = [36163] let s:lib.Codec.decoding_table["212,224"] = [33039] let s:lib.Codec.decoding_table["212,225"] = [33900] let s:lib.Codec.decoding_table["212,226"] = [36973] let s:lib.Codec.decoding_table["212,227"] = [31967] let s:lib.Codec.decoding_table["212,228"] = [20991] let s:lib.Codec.decoding_table["212,229"] = [34299] let s:lib.Codec.decoding_table["212,230"] = [26531] let s:lib.Codec.decoding_table["212,231"] = [26089] let s:lib.Codec.decoding_table["212,232"] = [28577] let s:lib.Codec.decoding_table["212,233"] = [34468] let s:lib.Codec.decoding_table["212,234"] = [36481] let s:lib.Codec.decoding_table["212,235"] = [22122] let s:lib.Codec.decoding_table["212,236"] = [36896] let s:lib.Codec.decoding_table["212,237"] = [30338] let s:lib.Codec.decoding_table["212,238"] = [28790] let s:lib.Codec.decoding_table["212,239"] = [29157] let s:lib.Codec.decoding_table["212,240"] = [36131] let s:lib.Codec.decoding_table["212,241"] = [25321] let s:lib.Codec.decoding_table["212,242"] = [21017] let s:lib.Codec.decoding_table["212,243"] = [27901] let s:lib.Codec.decoding_table["212,244"] = [36156] let s:lib.Codec.decoding_table["212,245"] = [24590] let s:lib.Codec.decoding_table["212,246"] = [22686] let s:lib.Codec.decoding_table["212,247"] = [24974] let s:lib.Codec.decoding_table["212,248"] = [26366] let s:lib.Codec.decoding_table["212,249"] = [36192] let s:lib.Codec.decoding_table["212,250"] = [25166] let s:lib.Codec.decoding_table["212,251"] = [21939] let s:lib.Codec.decoding_table["212,252"] = [28195] let s:lib.Codec.decoding_table["212,253"] = [26413] let s:lib.Codec.decoding_table["212,254"] = [36711] let s:lib.Codec.decoding_table["213,64"] = [35457] let s:lib.Codec.decoding_table["213,65"] = [35458] let s:lib.Codec.decoding_table["213,66"] = [35459] let s:lib.Codec.decoding_table["213,67"] = [35460] let s:lib.Codec.decoding_table["213,68"] = [35461] let s:lib.Codec.decoding_table["213,69"] = [35462] let s:lib.Codec.decoding_table["213,70"] = [35463] let s:lib.Codec.decoding_table["213,71"] = [35464] let s:lib.Codec.decoding_table["213,72"] = [35467] let s:lib.Codec.decoding_table["213,73"] = [35468] let s:lib.Codec.decoding_table["213,74"] = [35469] let s:lib.Codec.decoding_table["213,75"] = [35470] let s:lib.Codec.decoding_table["213,76"] = [35471] let s:lib.Codec.decoding_table["213,77"] = [35472] let s:lib.Codec.decoding_table["213,78"] = [35473] let s:lib.Codec.decoding_table["213,79"] = [35474] let s:lib.Codec.decoding_table["213,80"] = [35476] let s:lib.Codec.decoding_table["213,81"] = [35477] let s:lib.Codec.decoding_table["213,82"] = [35478] let s:lib.Codec.decoding_table["213,83"] = [35479] let s:lib.Codec.decoding_table["213,84"] = [35480] let s:lib.Codec.decoding_table["213,85"] = [35481] let s:lib.Codec.decoding_table["213,86"] = [35482] let s:lib.Codec.decoding_table["213,87"] = [35483] let s:lib.Codec.decoding_table["213,88"] = [35484] let s:lib.Codec.decoding_table["213,89"] = [35485] let s:lib.Codec.decoding_table["213,90"] = [35486] let s:lib.Codec.decoding_table["213,91"] = [35487] let s:lib.Codec.decoding_table["213,92"] = [35488] let s:lib.Codec.decoding_table["213,93"] = [35489] let s:lib.Codec.decoding_table["213,94"] = [35490] let s:lib.Codec.decoding_table["213,95"] = [35491] let s:lib.Codec.decoding_table["213,96"] = [35492] let s:lib.Codec.decoding_table["213,97"] = [35493] let s:lib.Codec.decoding_table["213,98"] = [35494] let s:lib.Codec.decoding_table["213,99"] = [35495] let s:lib.Codec.decoding_table["213,100"] = [35496] let s:lib.Codec.decoding_table["213,101"] = [35497] let s:lib.Codec.decoding_table["213,102"] = [35498] let s:lib.Codec.decoding_table["213,103"] = [35499] let s:lib.Codec.decoding_table["213,104"] = [35500] let s:lib.Codec.decoding_table["213,105"] = [35501] let s:lib.Codec.decoding_table["213,106"] = [35502] let s:lib.Codec.decoding_table["213,107"] = [35503] let s:lib.Codec.decoding_table["213,108"] = [35504] let s:lib.Codec.decoding_table["213,109"] = [35505] let s:lib.Codec.decoding_table["213,110"] = [35506] let s:lib.Codec.decoding_table["213,111"] = [35507] let s:lib.Codec.decoding_table["213,112"] = [35508] let s:lib.Codec.decoding_table["213,113"] = [35509] let s:lib.Codec.decoding_table["213,114"] = [35510] let s:lib.Codec.decoding_table["213,115"] = [35511] let s:lib.Codec.decoding_table["213,116"] = [35512] let s:lib.Codec.decoding_table["213,117"] = [35513] let s:lib.Codec.decoding_table["213,118"] = [35514] let s:lib.Codec.decoding_table["213,119"] = [35515] let s:lib.Codec.decoding_table["213,120"] = [35516] let s:lib.Codec.decoding_table["213,121"] = [35517] let s:lib.Codec.decoding_table["213,122"] = [35518] let s:lib.Codec.decoding_table["213,123"] = [35519] let s:lib.Codec.decoding_table["213,124"] = [35520] let s:lib.Codec.decoding_table["213,125"] = [35521] let s:lib.Codec.decoding_table["213,126"] = [35522] let s:lib.Codec.decoding_table["213,128"] = [35523] let s:lib.Codec.decoding_table["213,129"] = [35524] let s:lib.Codec.decoding_table["213,130"] = [35525] let s:lib.Codec.decoding_table["213,131"] = [35526] let s:lib.Codec.decoding_table["213,132"] = [35527] let s:lib.Codec.decoding_table["213,133"] = [35528] let s:lib.Codec.decoding_table["213,134"] = [35529] let s:lib.Codec.decoding_table["213,135"] = [35530] let s:lib.Codec.decoding_table["213,136"] = [35531] let s:lib.Codec.decoding_table["213,137"] = [35532] let s:lib.Codec.decoding_table["213,138"] = [35533] let s:lib.Codec.decoding_table["213,139"] = [35534] let s:lib.Codec.decoding_table["213,140"] = [35535] let s:lib.Codec.decoding_table["213,141"] = [35536] let s:lib.Codec.decoding_table["213,142"] = [35537] let s:lib.Codec.decoding_table["213,143"] = [35538] let s:lib.Codec.decoding_table["213,144"] = [35539] let s:lib.Codec.decoding_table["213,145"] = [35540] let s:lib.Codec.decoding_table["213,146"] = [35541] let s:lib.Codec.decoding_table["213,147"] = [35542] let s:lib.Codec.decoding_table["213,148"] = [35543] let s:lib.Codec.decoding_table["213,149"] = [35544] let s:lib.Codec.decoding_table["213,150"] = [35545] let s:lib.Codec.decoding_table["213,151"] = [35546] let s:lib.Codec.decoding_table["213,152"] = [35547] let s:lib.Codec.decoding_table["213,153"] = [35548] let s:lib.Codec.decoding_table["213,154"] = [35549] let s:lib.Codec.decoding_table["213,155"] = [35550] let s:lib.Codec.decoding_table["213,156"] = [35551] let s:lib.Codec.decoding_table["213,157"] = [35552] let s:lib.Codec.decoding_table["213,158"] = [35553] let s:lib.Codec.decoding_table["213,159"] = [35554] let s:lib.Codec.decoding_table["213,160"] = [35555] let s:lib.Codec.decoding_table["213,161"] = [38113] let s:lib.Codec.decoding_table["213,162"] = [38392] let s:lib.Codec.decoding_table["213,163"] = [30504] let s:lib.Codec.decoding_table["213,164"] = [26629] let s:lib.Codec.decoding_table["213,165"] = [27048] let s:lib.Codec.decoding_table["213,166"] = [21643] let s:lib.Codec.decoding_table["213,167"] = [20045] let s:lib.Codec.decoding_table["213,168"] = [28856] let s:lib.Codec.decoding_table["213,169"] = [35784] let s:lib.Codec.decoding_table["213,170"] = [25688] let s:lib.Codec.decoding_table["213,171"] = [25995] let s:lib.Codec.decoding_table["213,172"] = [23429] let s:lib.Codec.decoding_table["213,173"] = [31364] let s:lib.Codec.decoding_table["213,174"] = [20538] let s:lib.Codec.decoding_table["213,175"] = [23528] let s:lib.Codec.decoding_table["213,176"] = [30651] let s:lib.Codec.decoding_table["213,177"] = [27617] let s:lib.Codec.decoding_table["213,178"] = [35449] let s:lib.Codec.decoding_table["213,179"] = [31896] let s:lib.Codec.decoding_table["213,180"] = [27838] let s:lib.Codec.decoding_table["213,181"] = [30415] let s:lib.Codec.decoding_table["213,182"] = [26025] let s:lib.Codec.decoding_table["213,183"] = [36759] let s:lib.Codec.decoding_table["213,184"] = [23853] let s:lib.Codec.decoding_table["213,185"] = [23637] let s:lib.Codec.decoding_table["213,186"] = [34360] let s:lib.Codec.decoding_table["213,187"] = [26632] let s:lib.Codec.decoding_table["213,188"] = [21344] let s:lib.Codec.decoding_table["213,189"] = [25112] let s:lib.Codec.decoding_table["213,190"] = [31449] let s:lib.Codec.decoding_table["213,191"] = [28251] let s:lib.Codec.decoding_table["213,192"] = [32509] let s:lib.Codec.decoding_table["213,193"] = [27167] let s:lib.Codec.decoding_table["213,194"] = [31456] let s:lib.Codec.decoding_table["213,195"] = [24432] let s:lib.Codec.decoding_table["213,196"] = [28467] let s:lib.Codec.decoding_table["213,197"] = [24352] let s:lib.Codec.decoding_table["213,198"] = [25484] let s:lib.Codec.decoding_table["213,199"] = [28072] let s:lib.Codec.decoding_table["213,200"] = [26454] let s:lib.Codec.decoding_table["213,201"] = [19976] let s:lib.Codec.decoding_table["213,202"] = [24080] let s:lib.Codec.decoding_table["213,203"] = [36134] let s:lib.Codec.decoding_table["213,204"] = [20183] let s:lib.Codec.decoding_table["213,205"] = [32960] let s:lib.Codec.decoding_table["213,206"] = [30260] let s:lib.Codec.decoding_table["213,207"] = [38556] let s:lib.Codec.decoding_table["213,208"] = [25307] let s:lib.Codec.decoding_table["213,209"] = [26157] let s:lib.Codec.decoding_table["213,210"] = [25214] let s:lib.Codec.decoding_table["213,211"] = [27836] let s:lib.Codec.decoding_table["213,212"] = [36213] let s:lib.Codec.decoding_table["213,213"] = [29031] let s:lib.Codec.decoding_table["213,214"] = [32617] let s:lib.Codec.decoding_table["213,215"] = [20806] let s:lib.Codec.decoding_table["213,216"] = [32903] let s:lib.Codec.decoding_table["213,217"] = [21484] let s:lib.Codec.decoding_table["213,218"] = [36974] let s:lib.Codec.decoding_table["213,219"] = [25240] let s:lib.Codec.decoding_table["213,220"] = [21746] let s:lib.Codec.decoding_table["213,221"] = [34544] let s:lib.Codec.decoding_table["213,222"] = [36761] let s:lib.Codec.decoding_table["213,223"] = [32773] let s:lib.Codec.decoding_table["213,224"] = [38167] let s:lib.Codec.decoding_table["213,225"] = [34071] let s:lib.Codec.decoding_table["213,226"] = [36825] let s:lib.Codec.decoding_table["213,227"] = [27993] let s:lib.Codec.decoding_table["213,228"] = [29645] let s:lib.Codec.decoding_table["213,229"] = [26015] let s:lib.Codec.decoding_table["213,230"] = [30495] let s:lib.Codec.decoding_table["213,231"] = [29956] let s:lib.Codec.decoding_table["213,232"] = [30759] let s:lib.Codec.decoding_table["213,233"] = [33275] let s:lib.Codec.decoding_table["213,234"] = [36126] let s:lib.Codec.decoding_table["213,235"] = [38024] let s:lib.Codec.decoding_table["213,236"] = [20390] let s:lib.Codec.decoding_table["213,237"] = [26517] let s:lib.Codec.decoding_table["213,238"] = [30137] let s:lib.Codec.decoding_table["213,239"] = [35786] let s:lib.Codec.decoding_table["213,240"] = [38663] let s:lib.Codec.decoding_table["213,241"] = [25391] let s:lib.Codec.decoding_table["213,242"] = [38215] let s:lib.Codec.decoding_table["213,243"] = [38453] let s:lib.Codec.decoding_table["213,244"] = [33976] let s:lib.Codec.decoding_table["213,245"] = [25379] let s:lib.Codec.decoding_table["213,246"] = [30529] let s:lib.Codec.decoding_table["213,247"] = [24449] let s:lib.Codec.decoding_table["213,248"] = [29424] let s:lib.Codec.decoding_table["213,249"] = [20105] let s:lib.Codec.decoding_table["213,250"] = [24596] let s:lib.Codec.decoding_table["213,251"] = [25972] let s:lib.Codec.decoding_table["213,252"] = [25327] let s:lib.Codec.decoding_table["213,253"] = [27491] let s:lib.Codec.decoding_table["213,254"] = [25919] let s:lib.Codec.decoding_table["214,64"] = [35556] let s:lib.Codec.decoding_table["214,65"] = [35557] let s:lib.Codec.decoding_table["214,66"] = [35558] let s:lib.Codec.decoding_table["214,67"] = [35559] let s:lib.Codec.decoding_table["214,68"] = [35560] let s:lib.Codec.decoding_table["214,69"] = [35561] let s:lib.Codec.decoding_table["214,70"] = [35562] let s:lib.Codec.decoding_table["214,71"] = [35563] let s:lib.Codec.decoding_table["214,72"] = [35564] let s:lib.Codec.decoding_table["214,73"] = [35565] let s:lib.Codec.decoding_table["214,74"] = [35566] let s:lib.Codec.decoding_table["214,75"] = [35567] let s:lib.Codec.decoding_table["214,76"] = [35568] let s:lib.Codec.decoding_table["214,77"] = [35569] let s:lib.Codec.decoding_table["214,78"] = [35570] let s:lib.Codec.decoding_table["214,79"] = [35571] let s:lib.Codec.decoding_table["214,80"] = [35572] let s:lib.Codec.decoding_table["214,81"] = [35573] let s:lib.Codec.decoding_table["214,82"] = [35574] let s:lib.Codec.decoding_table["214,83"] = [35575] let s:lib.Codec.decoding_table["214,84"] = [35576] let s:lib.Codec.decoding_table["214,85"] = [35577] let s:lib.Codec.decoding_table["214,86"] = [35578] let s:lib.Codec.decoding_table["214,87"] = [35579] let s:lib.Codec.decoding_table["214,88"] = [35580] let s:lib.Codec.decoding_table["214,89"] = [35581] let s:lib.Codec.decoding_table["214,90"] = [35582] let s:lib.Codec.decoding_table["214,91"] = [35583] let s:lib.Codec.decoding_table["214,92"] = [35584] let s:lib.Codec.decoding_table["214,93"] = [35585] let s:lib.Codec.decoding_table["214,94"] = [35586] let s:lib.Codec.decoding_table["214,95"] = [35587] let s:lib.Codec.decoding_table["214,96"] = [35588] let s:lib.Codec.decoding_table["214,97"] = [35589] let s:lib.Codec.decoding_table["214,98"] = [35590] let s:lib.Codec.decoding_table["214,99"] = [35592] let s:lib.Codec.decoding_table["214,100"] = [35593] let s:lib.Codec.decoding_table["214,101"] = [35594] let s:lib.Codec.decoding_table["214,102"] = [35595] let s:lib.Codec.decoding_table["214,103"] = [35596] let s:lib.Codec.decoding_table["214,104"] = [35597] let s:lib.Codec.decoding_table["214,105"] = [35598] let s:lib.Codec.decoding_table["214,106"] = [35599] let s:lib.Codec.decoding_table["214,107"] = [35600] let s:lib.Codec.decoding_table["214,108"] = [35601] let s:lib.Codec.decoding_table["214,109"] = [35602] let s:lib.Codec.decoding_table["214,110"] = [35603] let s:lib.Codec.decoding_table["214,111"] = [35604] let s:lib.Codec.decoding_table["214,112"] = [35605] let s:lib.Codec.decoding_table["214,113"] = [35606] let s:lib.Codec.decoding_table["214,114"] = [35607] let s:lib.Codec.decoding_table["214,115"] = [35608] let s:lib.Codec.decoding_table["214,116"] = [35609] let s:lib.Codec.decoding_table["214,117"] = [35610] let s:lib.Codec.decoding_table["214,118"] = [35611] let s:lib.Codec.decoding_table["214,119"] = [35612] let s:lib.Codec.decoding_table["214,120"] = [35613] let s:lib.Codec.decoding_table["214,121"] = [35614] let s:lib.Codec.decoding_table["214,122"] = [35615] let s:lib.Codec.decoding_table["214,123"] = [35616] let s:lib.Codec.decoding_table["214,124"] = [35617] let s:lib.Codec.decoding_table["214,125"] = [35618] let s:lib.Codec.decoding_table["214,126"] = [35619] let s:lib.Codec.decoding_table["214,128"] = [35620] let s:lib.Codec.decoding_table["214,129"] = [35621] let s:lib.Codec.decoding_table["214,130"] = [35623] let s:lib.Codec.decoding_table["214,131"] = [35624] let s:lib.Codec.decoding_table["214,132"] = [35625] let s:lib.Codec.decoding_table["214,133"] = [35626] let s:lib.Codec.decoding_table["214,134"] = [35627] let s:lib.Codec.decoding_table["214,135"] = [35628] let s:lib.Codec.decoding_table["214,136"] = [35629] let s:lib.Codec.decoding_table["214,137"] = [35630] let s:lib.Codec.decoding_table["214,138"] = [35631] let s:lib.Codec.decoding_table["214,139"] = [35632] let s:lib.Codec.decoding_table["214,140"] = [35633] let s:lib.Codec.decoding_table["214,141"] = [35634] let s:lib.Codec.decoding_table["214,142"] = [35635] let s:lib.Codec.decoding_table["214,143"] = [35636] let s:lib.Codec.decoding_table["214,144"] = [35637] let s:lib.Codec.decoding_table["214,145"] = [35638] let s:lib.Codec.decoding_table["214,146"] = [35639] let s:lib.Codec.decoding_table["214,147"] = [35640] let s:lib.Codec.decoding_table["214,148"] = [35641] let s:lib.Codec.decoding_table["214,149"] = [35642] let s:lib.Codec.decoding_table["214,150"] = [35643] let s:lib.Codec.decoding_table["214,151"] = [35644] let s:lib.Codec.decoding_table["214,152"] = [35645] let s:lib.Codec.decoding_table["214,153"] = [35646] let s:lib.Codec.decoding_table["214,154"] = [35647] let s:lib.Codec.decoding_table["214,155"] = [35648] let s:lib.Codec.decoding_table["214,156"] = [35649] let s:lib.Codec.decoding_table["214,157"] = [35650] let s:lib.Codec.decoding_table["214,158"] = [35651] let s:lib.Codec.decoding_table["214,159"] = [35652] let s:lib.Codec.decoding_table["214,160"] = [35653] let s:lib.Codec.decoding_table["214,161"] = [24103] let s:lib.Codec.decoding_table["214,162"] = [30151] let s:lib.Codec.decoding_table["214,163"] = [37073] let s:lib.Codec.decoding_table["214,164"] = [35777] let s:lib.Codec.decoding_table["214,165"] = [33437] let s:lib.Codec.decoding_table["214,166"] = [26525] let s:lib.Codec.decoding_table["214,167"] = [25903] let s:lib.Codec.decoding_table["214,168"] = [21553] let s:lib.Codec.decoding_table["214,169"] = [34584] let s:lib.Codec.decoding_table["214,170"] = [30693] let s:lib.Codec.decoding_table["214,171"] = [32930] let s:lib.Codec.decoding_table["214,172"] = [33026] let s:lib.Codec.decoding_table["214,173"] = [27713] let s:lib.Codec.decoding_table["214,174"] = [20043] let s:lib.Codec.decoding_table["214,175"] = [32455] let s:lib.Codec.decoding_table["214,176"] = [32844] let s:lib.Codec.decoding_table["214,177"] = [30452] let s:lib.Codec.decoding_table["214,178"] = [26893] let s:lib.Codec.decoding_table["214,179"] = [27542] let s:lib.Codec.decoding_table["214,180"] = [25191] let s:lib.Codec.decoding_table["214,181"] = [20540] let s:lib.Codec.decoding_table["214,182"] = [20356] let s:lib.Codec.decoding_table["214,183"] = [22336] let s:lib.Codec.decoding_table["214,184"] = [25351] let s:lib.Codec.decoding_table["214,185"] = [27490] let s:lib.Codec.decoding_table["214,186"] = [36286] let s:lib.Codec.decoding_table["214,187"] = [21482] let s:lib.Codec.decoding_table["214,188"] = [26088] let s:lib.Codec.decoding_table["214,189"] = [32440] let s:lib.Codec.decoding_table["214,190"] = [24535] let s:lib.Codec.decoding_table["214,191"] = [25370] let s:lib.Codec.decoding_table["214,192"] = [25527] let s:lib.Codec.decoding_table["214,193"] = [33267] let s:lib.Codec.decoding_table["214,194"] = [33268] let s:lib.Codec.decoding_table["214,195"] = [32622] let s:lib.Codec.decoding_table["214,196"] = [24092] let s:lib.Codec.decoding_table["214,197"] = [23769] let s:lib.Codec.decoding_table["214,198"] = [21046] let s:lib.Codec.decoding_table["214,199"] = [26234] let s:lib.Codec.decoding_table["214,200"] = [31209] let s:lib.Codec.decoding_table["214,201"] = [31258] let s:lib.Codec.decoding_table["214,202"] = [36136] let s:lib.Codec.decoding_table["214,203"] = [28825] let s:lib.Codec.decoding_table["214,204"] = [30164] let s:lib.Codec.decoding_table["214,205"] = [28382] let s:lib.Codec.decoding_table["214,206"] = [27835] let s:lib.Codec.decoding_table["214,207"] = [31378] let s:lib.Codec.decoding_table["214,208"] = [20013] let s:lib.Codec.decoding_table["214,209"] = [30405] let s:lib.Codec.decoding_table["214,210"] = [24544] let s:lib.Codec.decoding_table["214,211"] = [38047] let s:lib.Codec.decoding_table["214,212"] = [34935] let s:lib.Codec.decoding_table["214,213"] = [32456] let s:lib.Codec.decoding_table["214,214"] = [31181] let s:lib.Codec.decoding_table["214,215"] = [32959] let s:lib.Codec.decoding_table["214,216"] = [37325] let s:lib.Codec.decoding_table["214,217"] = [20210] let s:lib.Codec.decoding_table["214,218"] = [20247] let s:lib.Codec.decoding_table["214,219"] = [33311] let s:lib.Codec.decoding_table["214,220"] = [21608] let s:lib.Codec.decoding_table["214,221"] = [24030] let s:lib.Codec.decoding_table["214,222"] = [27954] let s:lib.Codec.decoding_table["214,223"] = [35788] let s:lib.Codec.decoding_table["214,224"] = [31909] let s:lib.Codec.decoding_table["214,225"] = [36724] let s:lib.Codec.decoding_table["214,226"] = [32920] let s:lib.Codec.decoding_table["214,227"] = [24090] let s:lib.Codec.decoding_table["214,228"] = [21650] let s:lib.Codec.decoding_table["214,229"] = [30385] let s:lib.Codec.decoding_table["214,230"] = [23449] let s:lib.Codec.decoding_table["214,231"] = [26172] let s:lib.Codec.decoding_table["214,232"] = [39588] let s:lib.Codec.decoding_table["214,233"] = [29664] let s:lib.Codec.decoding_table["214,234"] = [26666] let s:lib.Codec.decoding_table["214,235"] = [34523] let s:lib.Codec.decoding_table["214,236"] = [26417] let s:lib.Codec.decoding_table["214,237"] = [29482] let s:lib.Codec.decoding_table["214,238"] = [35832] let s:lib.Codec.decoding_table["214,239"] = [35803] let s:lib.Codec.decoding_table["214,240"] = [36880] let s:lib.Codec.decoding_table["214,241"] = [31481] let s:lib.Codec.decoding_table["214,242"] = [28891] let s:lib.Codec.decoding_table["214,243"] = [29038] let s:lib.Codec.decoding_table["214,244"] = [25284] let s:lib.Codec.decoding_table["214,245"] = [30633] let s:lib.Codec.decoding_table["214,246"] = [22065] let s:lib.Codec.decoding_table["214,247"] = [20027] let s:lib.Codec.decoding_table["214,248"] = [33879] let s:lib.Codec.decoding_table["214,249"] = [26609] let s:lib.Codec.decoding_table["214,250"] = [21161] let s:lib.Codec.decoding_table["214,251"] = [34496] let s:lib.Codec.decoding_table["214,252"] = [36142] let s:lib.Codec.decoding_table["214,253"] = [38136] let s:lib.Codec.decoding_table["214,254"] = [31569] let s:lib.Codec.decoding_table["215,64"] = [35654] let s:lib.Codec.decoding_table["215,65"] = [35655] let s:lib.Codec.decoding_table["215,66"] = [35656] let s:lib.Codec.decoding_table["215,67"] = [35657] let s:lib.Codec.decoding_table["215,68"] = [35658] let s:lib.Codec.decoding_table["215,69"] = [35659] let s:lib.Codec.decoding_table["215,70"] = [35660] let s:lib.Codec.decoding_table["215,71"] = [35661] let s:lib.Codec.decoding_table["215,72"] = [35662] let s:lib.Codec.decoding_table["215,73"] = [35663] let s:lib.Codec.decoding_table["215,74"] = [35664] let s:lib.Codec.decoding_table["215,75"] = [35665] let s:lib.Codec.decoding_table["215,76"] = [35666] let s:lib.Codec.decoding_table["215,77"] = [35667] let s:lib.Codec.decoding_table["215,78"] = [35668] let s:lib.Codec.decoding_table["215,79"] = [35669] let s:lib.Codec.decoding_table["215,80"] = [35670] let s:lib.Codec.decoding_table["215,81"] = [35671] let s:lib.Codec.decoding_table["215,82"] = [35672] let s:lib.Codec.decoding_table["215,83"] = [35673] let s:lib.Codec.decoding_table["215,84"] = [35674] let s:lib.Codec.decoding_table["215,85"] = [35675] let s:lib.Codec.decoding_table["215,86"] = [35676] let s:lib.Codec.decoding_table["215,87"] = [35677] let s:lib.Codec.decoding_table["215,88"] = [35678] let s:lib.Codec.decoding_table["215,89"] = [35679] let s:lib.Codec.decoding_table["215,90"] = [35680] let s:lib.Codec.decoding_table["215,91"] = [35681] let s:lib.Codec.decoding_table["215,92"] = [35682] let s:lib.Codec.decoding_table["215,93"] = [35683] let s:lib.Codec.decoding_table["215,94"] = [35684] let s:lib.Codec.decoding_table["215,95"] = [35685] let s:lib.Codec.decoding_table["215,96"] = [35687] let s:lib.Codec.decoding_table["215,97"] = [35688] let s:lib.Codec.decoding_table["215,98"] = [35689] let s:lib.Codec.decoding_table["215,99"] = [35690] let s:lib.Codec.decoding_table["215,100"] = [35691] let s:lib.Codec.decoding_table["215,101"] = [35693] let s:lib.Codec.decoding_table["215,102"] = [35694] let s:lib.Codec.decoding_table["215,103"] = [35695] let s:lib.Codec.decoding_table["215,104"] = [35696] let s:lib.Codec.decoding_table["215,105"] = [35697] let s:lib.Codec.decoding_table["215,106"] = [35698] let s:lib.Codec.decoding_table["215,107"] = [35699] let s:lib.Codec.decoding_table["215,108"] = [35700] let s:lib.Codec.decoding_table["215,109"] = [35701] let s:lib.Codec.decoding_table["215,110"] = [35702] let s:lib.Codec.decoding_table["215,111"] = [35703] let s:lib.Codec.decoding_table["215,112"] = [35704] let s:lib.Codec.decoding_table["215,113"] = [35705] let s:lib.Codec.decoding_table["215,114"] = [35706] let s:lib.Codec.decoding_table["215,115"] = [35707] let s:lib.Codec.decoding_table["215,116"] = [35708] let s:lib.Codec.decoding_table["215,117"] = [35709] let s:lib.Codec.decoding_table["215,118"] = [35710] let s:lib.Codec.decoding_table["215,119"] = [35711] let s:lib.Codec.decoding_table["215,120"] = [35712] let s:lib.Codec.decoding_table["215,121"] = [35713] let s:lib.Codec.decoding_table["215,122"] = [35714] let s:lib.Codec.decoding_table["215,123"] = [35715] let s:lib.Codec.decoding_table["215,124"] = [35716] let s:lib.Codec.decoding_table["215,125"] = [35717] let s:lib.Codec.decoding_table["215,126"] = [35718] let s:lib.Codec.decoding_table["215,128"] = [35719] let s:lib.Codec.decoding_table["215,129"] = [35720] let s:lib.Codec.decoding_table["215,130"] = [35721] let s:lib.Codec.decoding_table["215,131"] = [35722] let s:lib.Codec.decoding_table["215,132"] = [35723] let s:lib.Codec.decoding_table["215,133"] = [35724] let s:lib.Codec.decoding_table["215,134"] = [35725] let s:lib.Codec.decoding_table["215,135"] = [35726] let s:lib.Codec.decoding_table["215,136"] = [35727] let s:lib.Codec.decoding_table["215,137"] = [35728] let s:lib.Codec.decoding_table["215,138"] = [35729] let s:lib.Codec.decoding_table["215,139"] = [35730] let s:lib.Codec.decoding_table["215,140"] = [35731] let s:lib.Codec.decoding_table["215,141"] = [35732] let s:lib.Codec.decoding_table["215,142"] = [35733] let s:lib.Codec.decoding_table["215,143"] = [35734] let s:lib.Codec.decoding_table["215,144"] = [35735] let s:lib.Codec.decoding_table["215,145"] = [35736] let s:lib.Codec.decoding_table["215,146"] = [35737] let s:lib.Codec.decoding_table["215,147"] = [35738] let s:lib.Codec.decoding_table["215,148"] = [35739] let s:lib.Codec.decoding_table["215,149"] = [35740] let s:lib.Codec.decoding_table["215,150"] = [35741] let s:lib.Codec.decoding_table["215,151"] = [35742] let s:lib.Codec.decoding_table["215,152"] = [35743] let s:lib.Codec.decoding_table["215,153"] = [35756] let s:lib.Codec.decoding_table["215,154"] = [35761] let s:lib.Codec.decoding_table["215,155"] = [35771] let s:lib.Codec.decoding_table["215,156"] = [35783] let s:lib.Codec.decoding_table["215,157"] = [35792] let s:lib.Codec.decoding_table["215,158"] = [35818] let s:lib.Codec.decoding_table["215,159"] = [35849] let s:lib.Codec.decoding_table["215,160"] = [35870] let s:lib.Codec.decoding_table["215,161"] = [20303] let s:lib.Codec.decoding_table["215,162"] = [27880] let s:lib.Codec.decoding_table["215,163"] = [31069] let s:lib.Codec.decoding_table["215,164"] = [39547] let s:lib.Codec.decoding_table["215,165"] = [25235] let s:lib.Codec.decoding_table["215,166"] = [29226] let s:lib.Codec.decoding_table["215,167"] = [25341] let s:lib.Codec.decoding_table["215,168"] = [19987] let s:lib.Codec.decoding_table["215,169"] = [30742] let s:lib.Codec.decoding_table["215,170"] = [36716] let s:lib.Codec.decoding_table["215,171"] = [25776] let s:lib.Codec.decoding_table["215,172"] = [36186] let s:lib.Codec.decoding_table["215,173"] = [31686] let s:lib.Codec.decoding_table["215,174"] = [26729] let s:lib.Codec.decoding_table["215,175"] = [24196] let s:lib.Codec.decoding_table["215,176"] = [35013] let s:lib.Codec.decoding_table["215,177"] = [22918] let s:lib.Codec.decoding_table["215,178"] = [25758] let s:lib.Codec.decoding_table["215,179"] = [22766] let s:lib.Codec.decoding_table["215,180"] = [29366] let s:lib.Codec.decoding_table["215,181"] = [26894] let s:lib.Codec.decoding_table["215,182"] = [38181] let s:lib.Codec.decoding_table["215,183"] = [36861] let s:lib.Codec.decoding_table["215,184"] = [36184] let s:lib.Codec.decoding_table["215,185"] = [22368] let s:lib.Codec.decoding_table["215,186"] = [32512] let s:lib.Codec.decoding_table["215,187"] = [35846] let s:lib.Codec.decoding_table["215,188"] = [20934] let s:lib.Codec.decoding_table["215,189"] = [25417] let s:lib.Codec.decoding_table["215,190"] = [25305] let s:lib.Codec.decoding_table["215,191"] = [21331] let s:lib.Codec.decoding_table["215,192"] = [26700] let s:lib.Codec.decoding_table["215,193"] = [29730] let s:lib.Codec.decoding_table["215,194"] = [33537] let s:lib.Codec.decoding_table["215,195"] = [37196] let s:lib.Codec.decoding_table["215,196"] = [21828] let s:lib.Codec.decoding_table["215,197"] = [30528] let s:lib.Codec.decoding_table["215,198"] = [28796] let s:lib.Codec.decoding_table["215,199"] = [27978] let s:lib.Codec.decoding_table["215,200"] = [20857] let s:lib.Codec.decoding_table["215,201"] = [21672] let s:lib.Codec.decoding_table["215,202"] = [36164] let s:lib.Codec.decoding_table["215,203"] = [23039] let s:lib.Codec.decoding_table["215,204"] = [28363] let s:lib.Codec.decoding_table["215,205"] = [28100] let s:lib.Codec.decoding_table["215,206"] = [23388] let s:lib.Codec.decoding_table["215,207"] = [32043] let s:lib.Codec.decoding_table["215,208"] = [20180] let s:lib.Codec.decoding_table["215,209"] = [31869] let s:lib.Codec.decoding_table["215,210"] = [28371] let s:lib.Codec.decoding_table["215,211"] = [23376] let s:lib.Codec.decoding_table["215,212"] = [33258] let s:lib.Codec.decoding_table["215,213"] = [28173] let s:lib.Codec.decoding_table["215,214"] = [23383] let s:lib.Codec.decoding_table["215,215"] = [39683] let s:lib.Codec.decoding_table["215,216"] = [26837] let s:lib.Codec.decoding_table["215,217"] = [36394] let s:lib.Codec.decoding_table["215,218"] = [23447] let s:lib.Codec.decoding_table["215,219"] = [32508] let s:lib.Codec.decoding_table["215,220"] = [24635] let s:lib.Codec.decoding_table["215,221"] = [32437] let s:lib.Codec.decoding_table["215,222"] = [37049] let s:lib.Codec.decoding_table["215,223"] = [36208] let s:lib.Codec.decoding_table["215,224"] = [22863] let s:lib.Codec.decoding_table["215,225"] = [25549] let s:lib.Codec.decoding_table["215,226"] = [31199] let s:lib.Codec.decoding_table["215,227"] = [36275] let s:lib.Codec.decoding_table["215,228"] = [21330] let s:lib.Codec.decoding_table["215,229"] = [26063] let s:lib.Codec.decoding_table["215,230"] = [31062] let s:lib.Codec.decoding_table["215,231"] = [35781] let s:lib.Codec.decoding_table["215,232"] = [38459] let s:lib.Codec.decoding_table["215,233"] = [32452] let s:lib.Codec.decoding_table["215,234"] = [38075] let s:lib.Codec.decoding_table["215,235"] = [32386] let s:lib.Codec.decoding_table["215,236"] = [22068] let s:lib.Codec.decoding_table["215,237"] = [37257] let s:lib.Codec.decoding_table["215,238"] = [26368] let s:lib.Codec.decoding_table["215,239"] = [32618] let s:lib.Codec.decoding_table["215,240"] = [23562] let s:lib.Codec.decoding_table["215,241"] = [36981] let s:lib.Codec.decoding_table["215,242"] = [26152] let s:lib.Codec.decoding_table["215,243"] = [24038] let s:lib.Codec.decoding_table["215,244"] = [20304] let s:lib.Codec.decoding_table["215,245"] = [26590] let s:lib.Codec.decoding_table["215,246"] = [20570] let s:lib.Codec.decoding_table["215,247"] = [20316] let s:lib.Codec.decoding_table["215,248"] = [22352] let s:lib.Codec.decoding_table["215,249"] = [24231] let s:lib.Codec.decoding_table["216,64"] = [35896] let s:lib.Codec.decoding_table["216,65"] = [35897] let s:lib.Codec.decoding_table["216,66"] = [35898] let s:lib.Codec.decoding_table["216,67"] = [35899] let s:lib.Codec.decoding_table["216,68"] = [35900] let s:lib.Codec.decoding_table["216,69"] = [35901] let s:lib.Codec.decoding_table["216,70"] = [35902] let s:lib.Codec.decoding_table["216,71"] = [35903] let s:lib.Codec.decoding_table["216,72"] = [35904] let s:lib.Codec.decoding_table["216,73"] = [35906] let s:lib.Codec.decoding_table["216,74"] = [35907] let s:lib.Codec.decoding_table["216,75"] = [35908] let s:lib.Codec.decoding_table["216,76"] = [35909] let s:lib.Codec.decoding_table["216,77"] = [35912] let s:lib.Codec.decoding_table["216,78"] = [35914] let s:lib.Codec.decoding_table["216,79"] = [35915] let s:lib.Codec.decoding_table["216,80"] = [35917] let s:lib.Codec.decoding_table["216,81"] = [35918] let s:lib.Codec.decoding_table["216,82"] = [35919] let s:lib.Codec.decoding_table["216,83"] = [35920] let s:lib.Codec.decoding_table["216,84"] = [35921] let s:lib.Codec.decoding_table["216,85"] = [35922] let s:lib.Codec.decoding_table["216,86"] = [35923] let s:lib.Codec.decoding_table["216,87"] = [35924] let s:lib.Codec.decoding_table["216,88"] = [35926] let s:lib.Codec.decoding_table["216,89"] = [35927] let s:lib.Codec.decoding_table["216,90"] = [35928] let s:lib.Codec.decoding_table["216,91"] = [35929] let s:lib.Codec.decoding_table["216,92"] = [35931] let s:lib.Codec.decoding_table["216,93"] = [35932] let s:lib.Codec.decoding_table["216,94"] = [35933] let s:lib.Codec.decoding_table["216,95"] = [35934] let s:lib.Codec.decoding_table["216,96"] = [35935] let s:lib.Codec.decoding_table["216,97"] = [35936] let s:lib.Codec.decoding_table["216,98"] = [35939] let s:lib.Codec.decoding_table["216,99"] = [35940] let s:lib.Codec.decoding_table["216,100"] = [35941] let s:lib.Codec.decoding_table["216,101"] = [35942] let s:lib.Codec.decoding_table["216,102"] = [35943] let s:lib.Codec.decoding_table["216,103"] = [35944] let s:lib.Codec.decoding_table["216,104"] = [35945] let s:lib.Codec.decoding_table["216,105"] = [35948] let s:lib.Codec.decoding_table["216,106"] = [35949] let s:lib.Codec.decoding_table["216,107"] = [35950] let s:lib.Codec.decoding_table["216,108"] = [35951] let s:lib.Codec.decoding_table["216,109"] = [35952] let s:lib.Codec.decoding_table["216,110"] = [35953] let s:lib.Codec.decoding_table["216,111"] = [35954] let s:lib.Codec.decoding_table["216,112"] = [35956] let s:lib.Codec.decoding_table["216,113"] = [35957] let s:lib.Codec.decoding_table["216,114"] = [35958] let s:lib.Codec.decoding_table["216,115"] = [35959] let s:lib.Codec.decoding_table["216,116"] = [35963] let s:lib.Codec.decoding_table["216,117"] = [35964] let s:lib.Codec.decoding_table["216,118"] = [35965] let s:lib.Codec.decoding_table["216,119"] = [35966] let s:lib.Codec.decoding_table["216,120"] = [35967] let s:lib.Codec.decoding_table["216,121"] = [35968] let s:lib.Codec.decoding_table["216,122"] = [35969] let s:lib.Codec.decoding_table["216,123"] = [35971] let s:lib.Codec.decoding_table["216,124"] = [35972] let s:lib.Codec.decoding_table["216,125"] = [35974] let s:lib.Codec.decoding_table["216,126"] = [35975] let s:lib.Codec.decoding_table["216,128"] = [35976] let s:lib.Codec.decoding_table["216,129"] = [35979] let s:lib.Codec.decoding_table["216,130"] = [35981] let s:lib.Codec.decoding_table["216,131"] = [35982] let s:lib.Codec.decoding_table["216,132"] = [35983] let s:lib.Codec.decoding_table["216,133"] = [35984] let s:lib.Codec.decoding_table["216,134"] = [35985] let s:lib.Codec.decoding_table["216,135"] = [35986] let s:lib.Codec.decoding_table["216,136"] = [35987] let s:lib.Codec.decoding_table["216,137"] = [35989] let s:lib.Codec.decoding_table["216,138"] = [35990] let s:lib.Codec.decoding_table["216,139"] = [35991] let s:lib.Codec.decoding_table["216,140"] = [35993] let s:lib.Codec.decoding_table["216,141"] = [35994] let s:lib.Codec.decoding_table["216,142"] = [35995] let s:lib.Codec.decoding_table["216,143"] = [35996] let s:lib.Codec.decoding_table["216,144"] = [35997] let s:lib.Codec.decoding_table["216,145"] = [35998] let s:lib.Codec.decoding_table["216,146"] = [35999] let s:lib.Codec.decoding_table["216,147"] = [36000] let s:lib.Codec.decoding_table["216,148"] = [36001] let s:lib.Codec.decoding_table["216,149"] = [36002] let s:lib.Codec.decoding_table["216,150"] = [36003] let s:lib.Codec.decoding_table["216,151"] = [36004] let s:lib.Codec.decoding_table["216,152"] = [36005] let s:lib.Codec.decoding_table["216,153"] = [36006] let s:lib.Codec.decoding_table["216,154"] = [36007] let s:lib.Codec.decoding_table["216,155"] = [36008] let s:lib.Codec.decoding_table["216,156"] = [36009] let s:lib.Codec.decoding_table["216,157"] = [36010] let s:lib.Codec.decoding_table["216,158"] = [36011] let s:lib.Codec.decoding_table["216,159"] = [36012] let s:lib.Codec.decoding_table["216,160"] = [36013] let s:lib.Codec.decoding_table["216,161"] = [20109] let s:lib.Codec.decoding_table["216,162"] = [19980] let s:lib.Codec.decoding_table["216,163"] = [20800] let s:lib.Codec.decoding_table["216,164"] = [19984] let s:lib.Codec.decoding_table["216,165"] = [24319] let s:lib.Codec.decoding_table["216,166"] = [21317] let s:lib.Codec.decoding_table["216,167"] = [19989] let s:lib.Codec.decoding_table["216,168"] = [20120] let s:lib.Codec.decoding_table["216,169"] = [19998] let s:lib.Codec.decoding_table["216,170"] = [39730] let s:lib.Codec.decoding_table["216,171"] = [23404] let s:lib.Codec.decoding_table["216,172"] = [22121] let s:lib.Codec.decoding_table["216,173"] = [20008] let s:lib.Codec.decoding_table["216,174"] = [31162] let s:lib.Codec.decoding_table["216,175"] = [20031] let s:lib.Codec.decoding_table["216,176"] = [21269] let s:lib.Codec.decoding_table["216,177"] = [20039] let s:lib.Codec.decoding_table["216,178"] = [22829] let s:lib.Codec.decoding_table["216,179"] = [29243] let s:lib.Codec.decoding_table["216,180"] = [21358] let s:lib.Codec.decoding_table["216,181"] = [27664] let s:lib.Codec.decoding_table["216,182"] = [22239] let s:lib.Codec.decoding_table["216,183"] = [32996] let s:lib.Codec.decoding_table["216,184"] = [39319] let s:lib.Codec.decoding_table["216,185"] = [27603] let s:lib.Codec.decoding_table["216,186"] = [30590] let s:lib.Codec.decoding_table["216,187"] = [40727] let s:lib.Codec.decoding_table["216,188"] = [20022] let s:lib.Codec.decoding_table["216,189"] = [20127] let s:lib.Codec.decoding_table["216,190"] = [40720] let s:lib.Codec.decoding_table["216,191"] = [20060] let s:lib.Codec.decoding_table["216,192"] = [20073] let s:lib.Codec.decoding_table["216,193"] = [20115] let s:lib.Codec.decoding_table["216,194"] = [33416] let s:lib.Codec.decoding_table["216,195"] = [23387] let s:lib.Codec.decoding_table["216,196"] = [21868] let s:lib.Codec.decoding_table["216,197"] = [22031] let s:lib.Codec.decoding_table["216,198"] = [20164] let s:lib.Codec.decoding_table["216,199"] = [21389] let s:lib.Codec.decoding_table["216,200"] = [21405] let s:lib.Codec.decoding_table["216,201"] = [21411] let s:lib.Codec.decoding_table["216,202"] = [21413] let s:lib.Codec.decoding_table["216,203"] = [21422] let s:lib.Codec.decoding_table["216,204"] = [38757] let s:lib.Codec.decoding_table["216,205"] = [36189] let s:lib.Codec.decoding_table["216,206"] = [21274] let s:lib.Codec.decoding_table["216,207"] = [21493] let s:lib.Codec.decoding_table["216,208"] = [21286] let s:lib.Codec.decoding_table["216,209"] = [21294] let s:lib.Codec.decoding_table["216,210"] = [21310] let s:lib.Codec.decoding_table["216,211"] = [36188] let s:lib.Codec.decoding_table["216,212"] = [21350] let s:lib.Codec.decoding_table["216,213"] = [21347] let s:lib.Codec.decoding_table["216,214"] = [20994] let s:lib.Codec.decoding_table["216,215"] = [21000] let s:lib.Codec.decoding_table["216,216"] = [21006] let s:lib.Codec.decoding_table["216,217"] = [21037] let s:lib.Codec.decoding_table["216,218"] = [21043] let s:lib.Codec.decoding_table["216,219"] = [21055] let s:lib.Codec.decoding_table["216,220"] = [21056] let s:lib.Codec.decoding_table["216,221"] = [21068] let s:lib.Codec.decoding_table["216,222"] = [21086] let s:lib.Codec.decoding_table["216,223"] = [21089] let s:lib.Codec.decoding_table["216,224"] = [21084] let s:lib.Codec.decoding_table["216,225"] = [33967] let s:lib.Codec.decoding_table["216,226"] = [21117] let s:lib.Codec.decoding_table["216,227"] = [21122] let s:lib.Codec.decoding_table["216,228"] = [21121] let s:lib.Codec.decoding_table["216,229"] = [21136] let s:lib.Codec.decoding_table["216,230"] = [21139] let s:lib.Codec.decoding_table["216,231"] = [20866] let s:lib.Codec.decoding_table["216,232"] = [32596] let s:lib.Codec.decoding_table["216,233"] = [20155] let s:lib.Codec.decoding_table["216,234"] = [20163] let s:lib.Codec.decoding_table["216,235"] = [20169] let s:lib.Codec.decoding_table["216,236"] = [20162] let s:lib.Codec.decoding_table["216,237"] = [20200] let s:lib.Codec.decoding_table["216,238"] = [20193] let s:lib.Codec.decoding_table["216,239"] = [20203] let s:lib.Codec.decoding_table["216,240"] = [20190] let s:lib.Codec.decoding_table["216,241"] = [20251] let s:lib.Codec.decoding_table["216,242"] = [20211] let s:lib.Codec.decoding_table["216,243"] = [20258] let s:lib.Codec.decoding_table["216,244"] = [20324] let s:lib.Codec.decoding_table["216,245"] = [20213] let s:lib.Codec.decoding_table["216,246"] = [20261] let s:lib.Codec.decoding_table["216,247"] = [20263] let s:lib.Codec.decoding_table["216,248"] = [20233] let s:lib.Codec.decoding_table["216,249"] = [20267] let s:lib.Codec.decoding_table["216,250"] = [20318] let s:lib.Codec.decoding_table["216,251"] = [20327] let s:lib.Codec.decoding_table["216,252"] = [25912] let s:lib.Codec.decoding_table["216,253"] = [20314] let s:lib.Codec.decoding_table["216,254"] = [20317] let s:lib.Codec.decoding_table["217,64"] = [36014] let s:lib.Codec.decoding_table["217,65"] = [36015] let s:lib.Codec.decoding_table["217,66"] = [36016] let s:lib.Codec.decoding_table["217,67"] = [36017] let s:lib.Codec.decoding_table["217,68"] = [36018] let s:lib.Codec.decoding_table["217,69"] = [36019] let s:lib.Codec.decoding_table["217,70"] = [36020] let s:lib.Codec.decoding_table["217,71"] = [36021] let s:lib.Codec.decoding_table["217,72"] = [36022] let s:lib.Codec.decoding_table["217,73"] = [36023] let s:lib.Codec.decoding_table["217,74"] = [36024] let s:lib.Codec.decoding_table["217,75"] = [36025] let s:lib.Codec.decoding_table["217,76"] = [36026] let s:lib.Codec.decoding_table["217,77"] = [36027] let s:lib.Codec.decoding_table["217,78"] = [36028] let s:lib.Codec.decoding_table["217,79"] = [36029] let s:lib.Codec.decoding_table["217,80"] = [36030] let s:lib.Codec.decoding_table["217,81"] = [36031] let s:lib.Codec.decoding_table["217,82"] = [36032] let s:lib.Codec.decoding_table["217,83"] = [36033] let s:lib.Codec.decoding_table["217,84"] = [36034] let s:lib.Codec.decoding_table["217,85"] = [36035] let s:lib.Codec.decoding_table["217,86"] = [36036] let s:lib.Codec.decoding_table["217,87"] = [36037] let s:lib.Codec.decoding_table["217,88"] = [36038] let s:lib.Codec.decoding_table["217,89"] = [36039] let s:lib.Codec.decoding_table["217,90"] = [36040] let s:lib.Codec.decoding_table["217,91"] = [36041] let s:lib.Codec.decoding_table["217,92"] = [36042] let s:lib.Codec.decoding_table["217,93"] = [36043] let s:lib.Codec.decoding_table["217,94"] = [36044] let s:lib.Codec.decoding_table["217,95"] = [36045] let s:lib.Codec.decoding_table["217,96"] = [36046] let s:lib.Codec.decoding_table["217,97"] = [36047] let s:lib.Codec.decoding_table["217,98"] = [36048] let s:lib.Codec.decoding_table["217,99"] = [36049] let s:lib.Codec.decoding_table["217,100"] = [36050] let s:lib.Codec.decoding_table["217,101"] = [36051] let s:lib.Codec.decoding_table["217,102"] = [36052] let s:lib.Codec.decoding_table["217,103"] = [36053] let s:lib.Codec.decoding_table["217,104"] = [36054] let s:lib.Codec.decoding_table["217,105"] = [36055] let s:lib.Codec.decoding_table["217,106"] = [36056] let s:lib.Codec.decoding_table["217,107"] = [36057] let s:lib.Codec.decoding_table["217,108"] = [36058] let s:lib.Codec.decoding_table["217,109"] = [36059] let s:lib.Codec.decoding_table["217,110"] = [36060] let s:lib.Codec.decoding_table["217,111"] = [36061] let s:lib.Codec.decoding_table["217,112"] = [36062] let s:lib.Codec.decoding_table["217,113"] = [36063] let s:lib.Codec.decoding_table["217,114"] = [36064] let s:lib.Codec.decoding_table["217,115"] = [36065] let s:lib.Codec.decoding_table["217,116"] = [36066] let s:lib.Codec.decoding_table["217,117"] = [36067] let s:lib.Codec.decoding_table["217,118"] = [36068] let s:lib.Codec.decoding_table["217,119"] = [36069] let s:lib.Codec.decoding_table["217,120"] = [36070] let s:lib.Codec.decoding_table["217,121"] = [36071] let s:lib.Codec.decoding_table["217,122"] = [36072] let s:lib.Codec.decoding_table["217,123"] = [36073] let s:lib.Codec.decoding_table["217,124"] = [36074] let s:lib.Codec.decoding_table["217,125"] = [36075] let s:lib.Codec.decoding_table["217,126"] = [36076] let s:lib.Codec.decoding_table["217,128"] = [36077] let s:lib.Codec.decoding_table["217,129"] = [36078] let s:lib.Codec.decoding_table["217,130"] = [36079] let s:lib.Codec.decoding_table["217,131"] = [36080] let s:lib.Codec.decoding_table["217,132"] = [36081] let s:lib.Codec.decoding_table["217,133"] = [36082] let s:lib.Codec.decoding_table["217,134"] = [36083] let s:lib.Codec.decoding_table["217,135"] = [36084] let s:lib.Codec.decoding_table["217,136"] = [36085] let s:lib.Codec.decoding_table["217,137"] = [36086] let s:lib.Codec.decoding_table["217,138"] = [36087] let s:lib.Codec.decoding_table["217,139"] = [36088] let s:lib.Codec.decoding_table["217,140"] = [36089] let s:lib.Codec.decoding_table["217,141"] = [36090] let s:lib.Codec.decoding_table["217,142"] = [36091] let s:lib.Codec.decoding_table["217,143"] = [36092] let s:lib.Codec.decoding_table["217,144"] = [36093] let s:lib.Codec.decoding_table["217,145"] = [36094] let s:lib.Codec.decoding_table["217,146"] = [36095] let s:lib.Codec.decoding_table["217,147"] = [36096] let s:lib.Codec.decoding_table["217,148"] = [36097] let s:lib.Codec.decoding_table["217,149"] = [36098] let s:lib.Codec.decoding_table["217,150"] = [36099] let s:lib.Codec.decoding_table["217,151"] = [36100] let s:lib.Codec.decoding_table["217,152"] = [36101] let s:lib.Codec.decoding_table["217,153"] = [36102] let s:lib.Codec.decoding_table["217,154"] = [36103] let s:lib.Codec.decoding_table["217,155"] = [36104] let s:lib.Codec.decoding_table["217,156"] = [36105] let s:lib.Codec.decoding_table["217,157"] = [36106] let s:lib.Codec.decoding_table["217,158"] = [36107] let s:lib.Codec.decoding_table["217,159"] = [36108] let s:lib.Codec.decoding_table["217,160"] = [36109] let s:lib.Codec.decoding_table["217,161"] = [20319] let s:lib.Codec.decoding_table["217,162"] = [20311] let s:lib.Codec.decoding_table["217,163"] = [20274] let s:lib.Codec.decoding_table["217,164"] = [20285] let s:lib.Codec.decoding_table["217,165"] = [20342] let s:lib.Codec.decoding_table["217,166"] = [20340] let s:lib.Codec.decoding_table["217,167"] = [20369] let s:lib.Codec.decoding_table["217,168"] = [20361] let s:lib.Codec.decoding_table["217,169"] = [20355] let s:lib.Codec.decoding_table["217,170"] = [20367] let s:lib.Codec.decoding_table["217,171"] = [20350] let s:lib.Codec.decoding_table["217,172"] = [20347] let s:lib.Codec.decoding_table["217,173"] = [20394] let s:lib.Codec.decoding_table["217,174"] = [20348] let s:lib.Codec.decoding_table["217,175"] = [20396] let s:lib.Codec.decoding_table["217,176"] = [20372] let s:lib.Codec.decoding_table["217,177"] = [20454] let s:lib.Codec.decoding_table["217,178"] = [20456] let s:lib.Codec.decoding_table["217,179"] = [20458] let s:lib.Codec.decoding_table["217,180"] = [20421] let s:lib.Codec.decoding_table["217,181"] = [20442] let s:lib.Codec.decoding_table["217,182"] = [20451] let s:lib.Codec.decoding_table["217,183"] = [20444] let s:lib.Codec.decoding_table["217,184"] = [20433] let s:lib.Codec.decoding_table["217,185"] = [20447] let s:lib.Codec.decoding_table["217,186"] = [20472] let s:lib.Codec.decoding_table["217,187"] = [20521] let s:lib.Codec.decoding_table["217,188"] = [20556] let s:lib.Codec.decoding_table["217,189"] = [20467] let s:lib.Codec.decoding_table["217,190"] = [20524] let s:lib.Codec.decoding_table["217,191"] = [20495] let s:lib.Codec.decoding_table["217,192"] = [20526] let s:lib.Codec.decoding_table["217,193"] = [20525] let s:lib.Codec.decoding_table["217,194"] = [20478] let s:lib.Codec.decoding_table["217,195"] = [20508] let s:lib.Codec.decoding_table["217,196"] = [20492] let s:lib.Codec.decoding_table["217,197"] = [20517] let s:lib.Codec.decoding_table["217,198"] = [20520] let s:lib.Codec.decoding_table["217,199"] = [20606] let s:lib.Codec.decoding_table["217,200"] = [20547] let s:lib.Codec.decoding_table["217,201"] = [20565] let s:lib.Codec.decoding_table["217,202"] = [20552] let s:lib.Codec.decoding_table["217,203"] = [20558] let s:lib.Codec.decoding_table["217,204"] = [20588] let s:lib.Codec.decoding_table["217,205"] = [20603] let s:lib.Codec.decoding_table["217,206"] = [20645] let s:lib.Codec.decoding_table["217,207"] = [20647] let s:lib.Codec.decoding_table["217,208"] = [20649] let s:lib.Codec.decoding_table["217,209"] = [20666] let s:lib.Codec.decoding_table["217,210"] = [20694] let s:lib.Codec.decoding_table["217,211"] = [20742] let s:lib.Codec.decoding_table["217,212"] = [20717] let s:lib.Codec.decoding_table["217,213"] = [20716] let s:lib.Codec.decoding_table["217,214"] = [20710] let s:lib.Codec.decoding_table["217,215"] = [20718] let s:lib.Codec.decoding_table["217,216"] = [20743] let s:lib.Codec.decoding_table["217,217"] = [20747] let s:lib.Codec.decoding_table["217,218"] = [20189] let s:lib.Codec.decoding_table["217,219"] = [27709] let s:lib.Codec.decoding_table["217,220"] = [20312] let s:lib.Codec.decoding_table["217,221"] = [20325] let s:lib.Codec.decoding_table["217,222"] = [20430] let s:lib.Codec.decoding_table["217,223"] = [40864] let s:lib.Codec.decoding_table["217,224"] = [27718] let s:lib.Codec.decoding_table["217,225"] = [31860] let s:lib.Codec.decoding_table["217,226"] = [20846] let s:lib.Codec.decoding_table["217,227"] = [24061] let s:lib.Codec.decoding_table["217,228"] = [40649] let s:lib.Codec.decoding_table["217,229"] = [39320] let s:lib.Codec.decoding_table["217,230"] = [20865] let s:lib.Codec.decoding_table["217,231"] = [22804] let s:lib.Codec.decoding_table["217,232"] = [21241] let s:lib.Codec.decoding_table["217,233"] = [21261] let s:lib.Codec.decoding_table["217,234"] = [35335] let s:lib.Codec.decoding_table["217,235"] = [21264] let s:lib.Codec.decoding_table["217,236"] = [20971] let s:lib.Codec.decoding_table["217,237"] = [22809] let s:lib.Codec.decoding_table["217,238"] = [20821] let s:lib.Codec.decoding_table["217,239"] = [20128] let s:lib.Codec.decoding_table["217,240"] = [20822] let s:lib.Codec.decoding_table["217,241"] = [20147] let s:lib.Codec.decoding_table["217,242"] = [34926] let s:lib.Codec.decoding_table["217,243"] = [34980] let s:lib.Codec.decoding_table["217,244"] = [20149] let s:lib.Codec.decoding_table["217,245"] = [33044] let s:lib.Codec.decoding_table["217,246"] = [35026] let s:lib.Codec.decoding_table["217,247"] = [31104] let s:lib.Codec.decoding_table["217,248"] = [23348] let s:lib.Codec.decoding_table["217,249"] = [34819] let s:lib.Codec.decoding_table["217,250"] = [32696] let s:lib.Codec.decoding_table["217,251"] = [20907] let s:lib.Codec.decoding_table["217,252"] = [20913] let s:lib.Codec.decoding_table["217,253"] = [20925] let s:lib.Codec.decoding_table["217,254"] = [20924] let s:lib.Codec.decoding_table["218,64"] = [36110] let s:lib.Codec.decoding_table["218,65"] = [36111] let s:lib.Codec.decoding_table["218,66"] = [36112] let s:lib.Codec.decoding_table["218,67"] = [36113] let s:lib.Codec.decoding_table["218,68"] = [36114] let s:lib.Codec.decoding_table["218,69"] = [36115] let s:lib.Codec.decoding_table["218,70"] = [36116] let s:lib.Codec.decoding_table["218,71"] = [36117] let s:lib.Codec.decoding_table["218,72"] = [36118] let s:lib.Codec.decoding_table["218,73"] = [36119] let s:lib.Codec.decoding_table["218,74"] = [36120] let s:lib.Codec.decoding_table["218,75"] = [36121] let s:lib.Codec.decoding_table["218,76"] = [36122] let s:lib.Codec.decoding_table["218,77"] = [36123] let s:lib.Codec.decoding_table["218,78"] = [36124] let s:lib.Codec.decoding_table["218,79"] = [36128] let s:lib.Codec.decoding_table["218,80"] = [36177] let s:lib.Codec.decoding_table["218,81"] = [36178] let s:lib.Codec.decoding_table["218,82"] = [36183] let s:lib.Codec.decoding_table["218,83"] = [36191] let s:lib.Codec.decoding_table["218,84"] = [36197] let s:lib.Codec.decoding_table["218,85"] = [36200] let s:lib.Codec.decoding_table["218,86"] = [36201] let s:lib.Codec.decoding_table["218,87"] = [36202] let s:lib.Codec.decoding_table["218,88"] = [36204] let s:lib.Codec.decoding_table["218,89"] = [36206] let s:lib.Codec.decoding_table["218,90"] = [36207] let s:lib.Codec.decoding_table["218,91"] = [36209] let s:lib.Codec.decoding_table["218,92"] = [36210] let s:lib.Codec.decoding_table["218,93"] = [36216] let s:lib.Codec.decoding_table["218,94"] = [36217] let s:lib.Codec.decoding_table["218,95"] = [36218] let s:lib.Codec.decoding_table["218,96"] = [36219] let s:lib.Codec.decoding_table["218,97"] = [36220] let s:lib.Codec.decoding_table["218,98"] = [36221] let s:lib.Codec.decoding_table["218,99"] = [36222] let s:lib.Codec.decoding_table["218,100"] = [36223] let s:lib.Codec.decoding_table["218,101"] = [36224] let s:lib.Codec.decoding_table["218,102"] = [36226] let s:lib.Codec.decoding_table["218,103"] = [36227] let s:lib.Codec.decoding_table["218,104"] = [36230] let s:lib.Codec.decoding_table["218,105"] = [36231] let s:lib.Codec.decoding_table["218,106"] = [36232] let s:lib.Codec.decoding_table["218,107"] = [36233] let s:lib.Codec.decoding_table["218,108"] = [36236] let s:lib.Codec.decoding_table["218,109"] = [36237] let s:lib.Codec.decoding_table["218,110"] = [36238] let s:lib.Codec.decoding_table["218,111"] = [36239] let s:lib.Codec.decoding_table["218,112"] = [36240] let s:lib.Codec.decoding_table["218,113"] = [36242] let s:lib.Codec.decoding_table["218,114"] = [36243] let s:lib.Codec.decoding_table["218,115"] = [36245] let s:lib.Codec.decoding_table["218,116"] = [36246] let s:lib.Codec.decoding_table["218,117"] = [36247] let s:lib.Codec.decoding_table["218,118"] = [36248] let s:lib.Codec.decoding_table["218,119"] = [36249] let s:lib.Codec.decoding_table["218,120"] = [36250] let s:lib.Codec.decoding_table["218,121"] = [36251] let s:lib.Codec.decoding_table["218,122"] = [36252] let s:lib.Codec.decoding_table["218,123"] = [36253] let s:lib.Codec.decoding_table["218,124"] = [36254] let s:lib.Codec.decoding_table["218,125"] = [36256] let s:lib.Codec.decoding_table["218,126"] = [36257] let s:lib.Codec.decoding_table["218,128"] = [36258] let s:lib.Codec.decoding_table["218,129"] = [36260] let s:lib.Codec.decoding_table["218,130"] = [36261] let s:lib.Codec.decoding_table["218,131"] = [36262] let s:lib.Codec.decoding_table["218,132"] = [36263] let s:lib.Codec.decoding_table["218,133"] = [36264] let s:lib.Codec.decoding_table["218,134"] = [36265] let s:lib.Codec.decoding_table["218,135"] = [36266] let s:lib.Codec.decoding_table["218,136"] = [36267] let s:lib.Codec.decoding_table["218,137"] = [36268] let s:lib.Codec.decoding_table["218,138"] = [36269] let s:lib.Codec.decoding_table["218,139"] = [36270] let s:lib.Codec.decoding_table["218,140"] = [36271] let s:lib.Codec.decoding_table["218,141"] = [36272] let s:lib.Codec.decoding_table["218,142"] = [36274] let s:lib.Codec.decoding_table["218,143"] = [36278] let s:lib.Codec.decoding_table["218,144"] = [36279] let s:lib.Codec.decoding_table["218,145"] = [36281] let s:lib.Codec.decoding_table["218,146"] = [36283] let s:lib.Codec.decoding_table["218,147"] = [36285] let s:lib.Codec.decoding_table["218,148"] = [36288] let s:lib.Codec.decoding_table["218,149"] = [36289] let s:lib.Codec.decoding_table["218,150"] = [36290] let s:lib.Codec.decoding_table["218,151"] = [36293] let s:lib.Codec.decoding_table["218,152"] = [36295] let s:lib.Codec.decoding_table["218,153"] = [36296] let s:lib.Codec.decoding_table["218,154"] = [36297] let s:lib.Codec.decoding_table["218,155"] = [36298] let s:lib.Codec.decoding_table["218,156"] = [36301] let s:lib.Codec.decoding_table["218,157"] = [36304] let s:lib.Codec.decoding_table["218,158"] = [36306] let s:lib.Codec.decoding_table["218,159"] = [36307] let s:lib.Codec.decoding_table["218,160"] = [36308] let s:lib.Codec.decoding_table["218,161"] = [20935] let s:lib.Codec.decoding_table["218,162"] = [20886] let s:lib.Codec.decoding_table["218,163"] = [20898] let s:lib.Codec.decoding_table["218,164"] = [20901] let s:lib.Codec.decoding_table["218,165"] = [35744] let s:lib.Codec.decoding_table["218,166"] = [35750] let s:lib.Codec.decoding_table["218,167"] = [35751] let s:lib.Codec.decoding_table["218,168"] = [35754] let s:lib.Codec.decoding_table["218,169"] = [35764] let s:lib.Codec.decoding_table["218,170"] = [35765] let s:lib.Codec.decoding_table["218,171"] = [35767] let s:lib.Codec.decoding_table["218,172"] = [35778] let s:lib.Codec.decoding_table["218,173"] = [35779] let s:lib.Codec.decoding_table["218,174"] = [35787] let s:lib.Codec.decoding_table["218,175"] = [35791] let s:lib.Codec.decoding_table["218,176"] = [35790] let s:lib.Codec.decoding_table["218,177"] = [35794] let s:lib.Codec.decoding_table["218,178"] = [35795] let s:lib.Codec.decoding_table["218,179"] = [35796] let s:lib.Codec.decoding_table["218,180"] = [35798] let s:lib.Codec.decoding_table["218,181"] = [35800] let s:lib.Codec.decoding_table["218,182"] = [35801] let s:lib.Codec.decoding_table["218,183"] = [35804] let s:lib.Codec.decoding_table["218,184"] = [35807] let s:lib.Codec.decoding_table["218,185"] = [35808] let s:lib.Codec.decoding_table["218,186"] = [35812] let s:lib.Codec.decoding_table["218,187"] = [35816] let s:lib.Codec.decoding_table["218,188"] = [35817] let s:lib.Codec.decoding_table["218,189"] = [35822] let s:lib.Codec.decoding_table["218,190"] = [35824] let s:lib.Codec.decoding_table["218,191"] = [35827] let s:lib.Codec.decoding_table["218,192"] = [35830] let s:lib.Codec.decoding_table["218,193"] = [35833] let s:lib.Codec.decoding_table["218,194"] = [35836] let s:lib.Codec.decoding_table["218,195"] = [35839] let s:lib.Codec.decoding_table["218,196"] = [35840] let s:lib.Codec.decoding_table["218,197"] = [35842] let s:lib.Codec.decoding_table["218,198"] = [35844] let s:lib.Codec.decoding_table["218,199"] = [35847] let s:lib.Codec.decoding_table["218,200"] = [35852] let s:lib.Codec.decoding_table["218,201"] = [35855] let s:lib.Codec.decoding_table["218,202"] = [35857] let s:lib.Codec.decoding_table["218,203"] = [35858] let s:lib.Codec.decoding_table["218,204"] = [35860] let s:lib.Codec.decoding_table["218,205"] = [35861] let s:lib.Codec.decoding_table["218,206"] = [35862] let s:lib.Codec.decoding_table["218,207"] = [35865] let s:lib.Codec.decoding_table["218,208"] = [35867] let s:lib.Codec.decoding_table["218,209"] = [35864] let s:lib.Codec.decoding_table["218,210"] = [35869] let s:lib.Codec.decoding_table["218,211"] = [35871] let s:lib.Codec.decoding_table["218,212"] = [35872] let s:lib.Codec.decoding_table["218,213"] = [35873] let s:lib.Codec.decoding_table["218,214"] = [35877] let s:lib.Codec.decoding_table["218,215"] = [35879] let s:lib.Codec.decoding_table["218,216"] = [35882] let s:lib.Codec.decoding_table["218,217"] = [35883] let s:lib.Codec.decoding_table["218,218"] = [35886] let s:lib.Codec.decoding_table["218,219"] = [35887] let s:lib.Codec.decoding_table["218,220"] = [35890] let s:lib.Codec.decoding_table["218,221"] = [35891] let s:lib.Codec.decoding_table["218,222"] = [35893] let s:lib.Codec.decoding_table["218,223"] = [35894] let s:lib.Codec.decoding_table["218,224"] = [21353] let s:lib.Codec.decoding_table["218,225"] = [21370] let s:lib.Codec.decoding_table["218,226"] = [38429] let s:lib.Codec.decoding_table["218,227"] = [38434] let s:lib.Codec.decoding_table["218,228"] = [38433] let s:lib.Codec.decoding_table["218,229"] = [38449] let s:lib.Codec.decoding_table["218,230"] = [38442] let s:lib.Codec.decoding_table["218,231"] = [38461] let s:lib.Codec.decoding_table["218,232"] = [38460] let s:lib.Codec.decoding_table["218,233"] = [38466] let s:lib.Codec.decoding_table["218,234"] = [38473] let s:lib.Codec.decoding_table["218,235"] = [38484] let s:lib.Codec.decoding_table["218,236"] = [38495] let s:lib.Codec.decoding_table["218,237"] = [38503] let s:lib.Codec.decoding_table["218,238"] = [38508] let s:lib.Codec.decoding_table["218,239"] = [38514] let s:lib.Codec.decoding_table["218,240"] = [38516] let s:lib.Codec.decoding_table["218,241"] = [38536] let s:lib.Codec.decoding_table["218,242"] = [38541] let s:lib.Codec.decoding_table["218,243"] = [38551] let s:lib.Codec.decoding_table["218,244"] = [38576] let s:lib.Codec.decoding_table["218,245"] = [37015] let s:lib.Codec.decoding_table["218,246"] = [37019] let s:lib.Codec.decoding_table["218,247"] = [37021] let s:lib.Codec.decoding_table["218,248"] = [37017] let s:lib.Codec.decoding_table["218,249"] = [37036] let s:lib.Codec.decoding_table["218,250"] = [37025] let s:lib.Codec.decoding_table["218,251"] = [37044] let s:lib.Codec.decoding_table["218,252"] = [37043] let s:lib.Codec.decoding_table["218,253"] = [37046] let s:lib.Codec.decoding_table["218,254"] = [37050] let s:lib.Codec.decoding_table["219,64"] = [36309] let s:lib.Codec.decoding_table["219,65"] = [36312] let s:lib.Codec.decoding_table["219,66"] = [36313] let s:lib.Codec.decoding_table["219,67"] = [36316] let s:lib.Codec.decoding_table["219,68"] = [36320] let s:lib.Codec.decoding_table["219,69"] = [36321] let s:lib.Codec.decoding_table["219,70"] = [36322] let s:lib.Codec.decoding_table["219,71"] = [36325] let s:lib.Codec.decoding_table["219,72"] = [36326] let s:lib.Codec.decoding_table["219,73"] = [36327] let s:lib.Codec.decoding_table["219,74"] = [36329] let s:lib.Codec.decoding_table["219,75"] = [36333] let s:lib.Codec.decoding_table["219,76"] = [36334] let s:lib.Codec.decoding_table["219,77"] = [36336] let s:lib.Codec.decoding_table["219,78"] = [36337] let s:lib.Codec.decoding_table["219,79"] = [36338] let s:lib.Codec.decoding_table["219,80"] = [36340] let s:lib.Codec.decoding_table["219,81"] = [36342] let s:lib.Codec.decoding_table["219,82"] = [36348] let s:lib.Codec.decoding_table["219,83"] = [36350] let s:lib.Codec.decoding_table["219,84"] = [36351] let s:lib.Codec.decoding_table["219,85"] = [36352] let s:lib.Codec.decoding_table["219,86"] = [36353] let s:lib.Codec.decoding_table["219,87"] = [36354] let s:lib.Codec.decoding_table["219,88"] = [36355] let s:lib.Codec.decoding_table["219,89"] = [36356] let s:lib.Codec.decoding_table["219,90"] = [36358] let s:lib.Codec.decoding_table["219,91"] = [36359] let s:lib.Codec.decoding_table["219,92"] = [36360] let s:lib.Codec.decoding_table["219,93"] = [36363] let s:lib.Codec.decoding_table["219,94"] = [36365] let s:lib.Codec.decoding_table["219,95"] = [36366] let s:lib.Codec.decoding_table["219,96"] = [36368] let s:lib.Codec.decoding_table["219,97"] = [36369] let s:lib.Codec.decoding_table["219,98"] = [36370] let s:lib.Codec.decoding_table["219,99"] = [36371] let s:lib.Codec.decoding_table["219,100"] = [36373] let s:lib.Codec.decoding_table["219,101"] = [36374] let s:lib.Codec.decoding_table["219,102"] = [36375] let s:lib.Codec.decoding_table["219,103"] = [36376] let s:lib.Codec.decoding_table["219,104"] = [36377] let s:lib.Codec.decoding_table["219,105"] = [36378] let s:lib.Codec.decoding_table["219,106"] = [36379] let s:lib.Codec.decoding_table["219,107"] = [36380] let s:lib.Codec.decoding_table["219,108"] = [36384] let s:lib.Codec.decoding_table["219,109"] = [36385] let s:lib.Codec.decoding_table["219,110"] = [36388] let s:lib.Codec.decoding_table["219,111"] = [36389] let s:lib.Codec.decoding_table["219,112"] = [36390] let s:lib.Codec.decoding_table["219,113"] = [36391] let s:lib.Codec.decoding_table["219,114"] = [36392] let s:lib.Codec.decoding_table["219,115"] = [36395] let s:lib.Codec.decoding_table["219,116"] = [36397] let s:lib.Codec.decoding_table["219,117"] = [36400] let s:lib.Codec.decoding_table["219,118"] = [36402] let s:lib.Codec.decoding_table["219,119"] = [36403] let s:lib.Codec.decoding_table["219,120"] = [36404] let s:lib.Codec.decoding_table["219,121"] = [36406] let s:lib.Codec.decoding_table["219,122"] = [36407] let s:lib.Codec.decoding_table["219,123"] = [36408] let s:lib.Codec.decoding_table["219,124"] = [36411] let s:lib.Codec.decoding_table["219,125"] = [36412] let s:lib.Codec.decoding_table["219,126"] = [36414] let s:lib.Codec.decoding_table["219,128"] = [36415] let s:lib.Codec.decoding_table["219,129"] = [36419] let s:lib.Codec.decoding_table["219,130"] = [36421] let s:lib.Codec.decoding_table["219,131"] = [36422] let s:lib.Codec.decoding_table["219,132"] = [36428] let s:lib.Codec.decoding_table["219,133"] = [36429] let s:lib.Codec.decoding_table["219,134"] = [36430] let s:lib.Codec.decoding_table["219,135"] = [36431] let s:lib.Codec.decoding_table["219,136"] = [36432] let s:lib.Codec.decoding_table["219,137"] = [36435] let s:lib.Codec.decoding_table["219,138"] = [36436] let s:lib.Codec.decoding_table["219,139"] = [36437] let s:lib.Codec.decoding_table["219,140"] = [36438] let s:lib.Codec.decoding_table["219,141"] = [36439] let s:lib.Codec.decoding_table["219,142"] = [36440] let s:lib.Codec.decoding_table["219,143"] = [36442] let s:lib.Codec.decoding_table["219,144"] = [36443] let s:lib.Codec.decoding_table["219,145"] = [36444] let s:lib.Codec.decoding_table["219,146"] = [36445] let s:lib.Codec.decoding_table["219,147"] = [36446] let s:lib.Codec.decoding_table["219,148"] = [36447] let s:lib.Codec.decoding_table["219,149"] = [36448] let s:lib.Codec.decoding_table["219,150"] = [36449] let s:lib.Codec.decoding_table["219,151"] = [36450] let s:lib.Codec.decoding_table["219,152"] = [36451] let s:lib.Codec.decoding_table["219,153"] = [36452] let s:lib.Codec.decoding_table["219,154"] = [36453] let s:lib.Codec.decoding_table["219,155"] = [36455] let s:lib.Codec.decoding_table["219,156"] = [36456] let s:lib.Codec.decoding_table["219,157"] = [36458] let s:lib.Codec.decoding_table["219,158"] = [36459] let s:lib.Codec.decoding_table["219,159"] = [36462] let s:lib.Codec.decoding_table["219,160"] = [36465] let s:lib.Codec.decoding_table["219,161"] = [37048] let s:lib.Codec.decoding_table["219,162"] = [37040] let s:lib.Codec.decoding_table["219,163"] = [37071] let s:lib.Codec.decoding_table["219,164"] = [37061] let s:lib.Codec.decoding_table["219,165"] = [37054] let s:lib.Codec.decoding_table["219,166"] = [37072] let s:lib.Codec.decoding_table["219,167"] = [37060] let s:lib.Codec.decoding_table["219,168"] = [37063] let s:lib.Codec.decoding_table["219,169"] = [37075] let s:lib.Codec.decoding_table["219,170"] = [37094] let s:lib.Codec.decoding_table["219,171"] = [37090] let s:lib.Codec.decoding_table["219,172"] = [37084] let s:lib.Codec.decoding_table["219,173"] = [37079] let s:lib.Codec.decoding_table["219,174"] = [37083] let s:lib.Codec.decoding_table["219,175"] = [37099] let s:lib.Codec.decoding_table["219,176"] = [37103] let s:lib.Codec.decoding_table["219,177"] = [37118] let s:lib.Codec.decoding_table["219,178"] = [37124] let s:lib.Codec.decoding_table["219,179"] = [37154] let s:lib.Codec.decoding_table["219,180"] = [37150] let s:lib.Codec.decoding_table["219,181"] = [37155] let s:lib.Codec.decoding_table["219,182"] = [37169] let s:lib.Codec.decoding_table["219,183"] = [37167] let s:lib.Codec.decoding_table["219,184"] = [37177] let s:lib.Codec.decoding_table["219,185"] = [37187] let s:lib.Codec.decoding_table["219,186"] = [37190] let s:lib.Codec.decoding_table["219,187"] = [21005] let s:lib.Codec.decoding_table["219,188"] = [22850] let s:lib.Codec.decoding_table["219,189"] = [21154] let s:lib.Codec.decoding_table["219,190"] = [21164] let s:lib.Codec.decoding_table["219,191"] = [21165] let s:lib.Codec.decoding_table["219,192"] = [21182] let s:lib.Codec.decoding_table["219,193"] = [21759] let s:lib.Codec.decoding_table["219,194"] = [21200] let s:lib.Codec.decoding_table["219,195"] = [21206] let s:lib.Codec.decoding_table["219,196"] = [21232] let s:lib.Codec.decoding_table["219,197"] = [21471] let s:lib.Codec.decoding_table["219,198"] = [29166] let s:lib.Codec.decoding_table["219,199"] = [30669] let s:lib.Codec.decoding_table["219,200"] = [24308] let s:lib.Codec.decoding_table["219,201"] = [20981] let s:lib.Codec.decoding_table["219,202"] = [20988] let s:lib.Codec.decoding_table["219,203"] = [39727] let s:lib.Codec.decoding_table["219,204"] = [21430] let s:lib.Codec.decoding_table["219,205"] = [24321] let s:lib.Codec.decoding_table["219,206"] = [30042] let s:lib.Codec.decoding_table["219,207"] = [24047] let s:lib.Codec.decoding_table["219,208"] = [22348] let s:lib.Codec.decoding_table["219,209"] = [22441] let s:lib.Codec.decoding_table["219,210"] = [22433] let s:lib.Codec.decoding_table["219,211"] = [22654] let s:lib.Codec.decoding_table["219,212"] = [22716] let s:lib.Codec.decoding_table["219,213"] = [22725] let s:lib.Codec.decoding_table["219,214"] = [22737] let s:lib.Codec.decoding_table["219,215"] = [22313] let s:lib.Codec.decoding_table["219,216"] = [22316] let s:lib.Codec.decoding_table["219,217"] = [22314] let s:lib.Codec.decoding_table["219,218"] = [22323] let s:lib.Codec.decoding_table["219,219"] = [22329] let s:lib.Codec.decoding_table["219,220"] = [22318] let s:lib.Codec.decoding_table["219,221"] = [22319] let s:lib.Codec.decoding_table["219,222"] = [22364] let s:lib.Codec.decoding_table["219,223"] = [22331] let s:lib.Codec.decoding_table["219,224"] = [22338] let s:lib.Codec.decoding_table["219,225"] = [22377] let s:lib.Codec.decoding_table["219,226"] = [22405] let s:lib.Codec.decoding_table["219,227"] = [22379] let s:lib.Codec.decoding_table["219,228"] = [22406] let s:lib.Codec.decoding_table["219,229"] = [22396] let s:lib.Codec.decoding_table["219,230"] = [22395] let s:lib.Codec.decoding_table["219,231"] = [22376] let s:lib.Codec.decoding_table["219,232"] = [22381] let s:lib.Codec.decoding_table["219,233"] = [22390] let s:lib.Codec.decoding_table["219,234"] = [22387] let s:lib.Codec.decoding_table["219,235"] = [22445] let s:lib.Codec.decoding_table["219,236"] = [22436] let s:lib.Codec.decoding_table["219,237"] = [22412] let s:lib.Codec.decoding_table["219,238"] = [22450] let s:lib.Codec.decoding_table["219,239"] = [22479] let s:lib.Codec.decoding_table["219,240"] = [22439] let s:lib.Codec.decoding_table["219,241"] = [22452] let s:lib.Codec.decoding_table["219,242"] = [22419] let s:lib.Codec.decoding_table["219,243"] = [22432] let s:lib.Codec.decoding_table["219,244"] = [22485] let s:lib.Codec.decoding_table["219,245"] = [22488] let s:lib.Codec.decoding_table["219,246"] = [22490] let s:lib.Codec.decoding_table["219,247"] = [22489] let s:lib.Codec.decoding_table["219,248"] = [22482] let s:lib.Codec.decoding_table["219,249"] = [22456] let s:lib.Codec.decoding_table["219,250"] = [22516] let s:lib.Codec.decoding_table["219,251"] = [22511] let s:lib.Codec.decoding_table["219,252"] = [22520] let s:lib.Codec.decoding_table["219,253"] = [22500] let s:lib.Codec.decoding_table["219,254"] = [22493] let s:lib.Codec.decoding_table["220,64"] = [36467] let s:lib.Codec.decoding_table["220,65"] = [36469] let s:lib.Codec.decoding_table["220,66"] = [36471] let s:lib.Codec.decoding_table["220,67"] = [36472] let s:lib.Codec.decoding_table["220,68"] = [36473] let s:lib.Codec.decoding_table["220,69"] = [36474] let s:lib.Codec.decoding_table["220,70"] = [36475] let s:lib.Codec.decoding_table["220,71"] = [36477] let s:lib.Codec.decoding_table["220,72"] = [36478] let s:lib.Codec.decoding_table["220,73"] = [36480] let s:lib.Codec.decoding_table["220,74"] = [36482] let s:lib.Codec.decoding_table["220,75"] = [36483] let s:lib.Codec.decoding_table["220,76"] = [36484] let s:lib.Codec.decoding_table["220,77"] = [36486] let s:lib.Codec.decoding_table["220,78"] = [36488] let s:lib.Codec.decoding_table["220,79"] = [36489] let s:lib.Codec.decoding_table["220,80"] = [36490] let s:lib.Codec.decoding_table["220,81"] = [36491] let s:lib.Codec.decoding_table["220,82"] = [36492] let s:lib.Codec.decoding_table["220,83"] = [36493] let s:lib.Codec.decoding_table["220,84"] = [36494] let s:lib.Codec.decoding_table["220,85"] = [36497] let s:lib.Codec.decoding_table["220,86"] = [36498] let s:lib.Codec.decoding_table["220,87"] = [36499] let s:lib.Codec.decoding_table["220,88"] = [36501] let s:lib.Codec.decoding_table["220,89"] = [36502] let s:lib.Codec.decoding_table["220,90"] = [36503] let s:lib.Codec.decoding_table["220,91"] = [36504] let s:lib.Codec.decoding_table["220,92"] = [36505] let s:lib.Codec.decoding_table["220,93"] = [36506] let s:lib.Codec.decoding_table["220,94"] = [36507] let s:lib.Codec.decoding_table["220,95"] = [36509] let s:lib.Codec.decoding_table["220,96"] = [36511] let s:lib.Codec.decoding_table["220,97"] = [36512] let s:lib.Codec.decoding_table["220,98"] = [36513] let s:lib.Codec.decoding_table["220,99"] = [36514] let s:lib.Codec.decoding_table["220,100"] = [36515] let s:lib.Codec.decoding_table["220,101"] = [36516] let s:lib.Codec.decoding_table["220,102"] = [36517] let s:lib.Codec.decoding_table["220,103"] = [36518] let s:lib.Codec.decoding_table["220,104"] = [36519] let s:lib.Codec.decoding_table["220,105"] = [36520] let s:lib.Codec.decoding_table["220,106"] = [36521] let s:lib.Codec.decoding_table["220,107"] = [36522] let s:lib.Codec.decoding_table["220,108"] = [36525] let s:lib.Codec.decoding_table["220,109"] = [36526] let s:lib.Codec.decoding_table["220,110"] = [36528] let s:lib.Codec.decoding_table["220,111"] = [36529] let s:lib.Codec.decoding_table["220,112"] = [36531] let s:lib.Codec.decoding_table["220,113"] = [36532] let s:lib.Codec.decoding_table["220,114"] = [36533] let s:lib.Codec.decoding_table["220,115"] = [36534] let s:lib.Codec.decoding_table["220,116"] = [36535] let s:lib.Codec.decoding_table["220,117"] = [36536] let s:lib.Codec.decoding_table["220,118"] = [36537] let s:lib.Codec.decoding_table["220,119"] = [36539] let s:lib.Codec.decoding_table["220,120"] = [36540] let s:lib.Codec.decoding_table["220,121"] = [36541] let s:lib.Codec.decoding_table["220,122"] = [36542] let s:lib.Codec.decoding_table["220,123"] = [36543] let s:lib.Codec.decoding_table["220,124"] = [36544] let s:lib.Codec.decoding_table["220,125"] = [36545] let s:lib.Codec.decoding_table["220,126"] = [36546] let s:lib.Codec.decoding_table["220,128"] = [36547] let s:lib.Codec.decoding_table["220,129"] = [36548] let s:lib.Codec.decoding_table["220,130"] = [36549] let s:lib.Codec.decoding_table["220,131"] = [36550] let s:lib.Codec.decoding_table["220,132"] = [36551] let s:lib.Codec.decoding_table["220,133"] = [36552] let s:lib.Codec.decoding_table["220,134"] = [36553] let s:lib.Codec.decoding_table["220,135"] = [36554] let s:lib.Codec.decoding_table["220,136"] = [36555] let s:lib.Codec.decoding_table["220,137"] = [36556] let s:lib.Codec.decoding_table["220,138"] = [36557] let s:lib.Codec.decoding_table["220,139"] = [36559] let s:lib.Codec.decoding_table["220,140"] = [36560] let s:lib.Codec.decoding_table["220,141"] = [36561] let s:lib.Codec.decoding_table["220,142"] = [36562] let s:lib.Codec.decoding_table["220,143"] = [36563] let s:lib.Codec.decoding_table["220,144"] = [36564] let s:lib.Codec.decoding_table["220,145"] = [36565] let s:lib.Codec.decoding_table["220,146"] = [36566] let s:lib.Codec.decoding_table["220,147"] = [36567] let s:lib.Codec.decoding_table["220,148"] = [36568] let s:lib.Codec.decoding_table["220,149"] = [36569] let s:lib.Codec.decoding_table["220,150"] = [36570] let s:lib.Codec.decoding_table["220,151"] = [36571] let s:lib.Codec.decoding_table["220,152"] = [36572] let s:lib.Codec.decoding_table["220,153"] = [36573] let s:lib.Codec.decoding_table["220,154"] = [36574] let s:lib.Codec.decoding_table["220,155"] = [36575] let s:lib.Codec.decoding_table["220,156"] = [36576] let s:lib.Codec.decoding_table["220,157"] = [36577] let s:lib.Codec.decoding_table["220,158"] = [36578] let s:lib.Codec.decoding_table["220,159"] = [36579] let s:lib.Codec.decoding_table["220,160"] = [36580] let s:lib.Codec.decoding_table["220,161"] = [22539] let s:lib.Codec.decoding_table["220,162"] = [22541] let s:lib.Codec.decoding_table["220,163"] = [22525] let s:lib.Codec.decoding_table["220,164"] = [22509] let s:lib.Codec.decoding_table["220,165"] = [22528] let s:lib.Codec.decoding_table["220,166"] = [22558] let s:lib.Codec.decoding_table["220,167"] = [22553] let s:lib.Codec.decoding_table["220,168"] = [22596] let s:lib.Codec.decoding_table["220,169"] = [22560] let s:lib.Codec.decoding_table["220,170"] = [22629] let s:lib.Codec.decoding_table["220,171"] = [22636] let s:lib.Codec.decoding_table["220,172"] = [22657] let s:lib.Codec.decoding_table["220,173"] = [22665] let s:lib.Codec.decoding_table["220,174"] = [22682] let s:lib.Codec.decoding_table["220,175"] = [22656] let s:lib.Codec.decoding_table["220,176"] = [39336] let s:lib.Codec.decoding_table["220,177"] = [40729] let s:lib.Codec.decoding_table["220,178"] = [25087] let s:lib.Codec.decoding_table["220,179"] = [33401] let s:lib.Codec.decoding_table["220,180"] = [33405] let s:lib.Codec.decoding_table["220,181"] = [33407] let s:lib.Codec.decoding_table["220,182"] = [33423] let s:lib.Codec.decoding_table["220,183"] = [33418] let s:lib.Codec.decoding_table["220,184"] = [33448] let s:lib.Codec.decoding_table["220,185"] = [33412] let s:lib.Codec.decoding_table["220,186"] = [33422] let s:lib.Codec.decoding_table["220,187"] = [33425] let s:lib.Codec.decoding_table["220,188"] = [33431] let s:lib.Codec.decoding_table["220,189"] = [33433] let s:lib.Codec.decoding_table["220,190"] = [33451] let s:lib.Codec.decoding_table["220,191"] = [33464] let s:lib.Codec.decoding_table["220,192"] = [33470] let s:lib.Codec.decoding_table["220,193"] = [33456] let s:lib.Codec.decoding_table["220,194"] = [33480] let s:lib.Codec.decoding_table["220,195"] = [33482] let s:lib.Codec.decoding_table["220,196"] = [33507] let s:lib.Codec.decoding_table["220,197"] = [33432] let s:lib.Codec.decoding_table["220,198"] = [33463] let s:lib.Codec.decoding_table["220,199"] = [33454] let s:lib.Codec.decoding_table["220,200"] = [33483] let s:lib.Codec.decoding_table["220,201"] = [33484] let s:lib.Codec.decoding_table["220,202"] = [33473] let s:lib.Codec.decoding_table["220,203"] = [33449] let s:lib.Codec.decoding_table["220,204"] = [33460] let s:lib.Codec.decoding_table["220,205"] = [33441] let s:lib.Codec.decoding_table["220,206"] = [33450] let s:lib.Codec.decoding_table["220,207"] = [33439] let s:lib.Codec.decoding_table["220,208"] = [33476] let s:lib.Codec.decoding_table["220,209"] = [33486] let s:lib.Codec.decoding_table["220,210"] = [33444] let s:lib.Codec.decoding_table["220,211"] = [33505] let s:lib.Codec.decoding_table["220,212"] = [33545] let s:lib.Codec.decoding_table["220,213"] = [33527] let s:lib.Codec.decoding_table["220,214"] = [33508] let s:lib.Codec.decoding_table["220,215"] = [33551] let s:lib.Codec.decoding_table["220,216"] = [33543] let s:lib.Codec.decoding_table["220,217"] = [33500] let s:lib.Codec.decoding_table["220,218"] = [33524] let s:lib.Codec.decoding_table["220,219"] = [33490] let s:lib.Codec.decoding_table["220,220"] = [33496] let s:lib.Codec.decoding_table["220,221"] = [33548] let s:lib.Codec.decoding_table["220,222"] = [33531] let s:lib.Codec.decoding_table["220,223"] = [33491] let s:lib.Codec.decoding_table["220,224"] = [33553] let s:lib.Codec.decoding_table["220,225"] = [33562] let s:lib.Codec.decoding_table["220,226"] = [33542] let s:lib.Codec.decoding_table["220,227"] = [33556] let s:lib.Codec.decoding_table["220,228"] = [33557] let s:lib.Codec.decoding_table["220,229"] = [33504] let s:lib.Codec.decoding_table["220,230"] = [33493] let s:lib.Codec.decoding_table["220,231"] = [33564] let s:lib.Codec.decoding_table["220,232"] = [33617] let s:lib.Codec.decoding_table["220,233"] = [33627] let s:lib.Codec.decoding_table["220,234"] = [33628] let s:lib.Codec.decoding_table["220,235"] = [33544] let s:lib.Codec.decoding_table["220,236"] = [33682] let s:lib.Codec.decoding_table["220,237"] = [33596] let s:lib.Codec.decoding_table["220,238"] = [33588] let s:lib.Codec.decoding_table["220,239"] = [33585] let s:lib.Codec.decoding_table["220,240"] = [33691] let s:lib.Codec.decoding_table["220,241"] = [33630] let s:lib.Codec.decoding_table["220,242"] = [33583] let s:lib.Codec.decoding_table["220,243"] = [33615] let s:lib.Codec.decoding_table["220,244"] = [33607] let s:lib.Codec.decoding_table["220,245"] = [33603] let s:lib.Codec.decoding_table["220,246"] = [33631] let s:lib.Codec.decoding_table["220,247"] = [33600] let s:lib.Codec.decoding_table["220,248"] = [33559] let s:lib.Codec.decoding_table["220,249"] = [33632] let s:lib.Codec.decoding_table["220,250"] = [33581] let s:lib.Codec.decoding_table["220,251"] = [33594] let s:lib.Codec.decoding_table["220,252"] = [33587] let s:lib.Codec.decoding_table["220,253"] = [33638] let s:lib.Codec.decoding_table["220,254"] = [33637] let s:lib.Codec.decoding_table["221,64"] = [36581] let s:lib.Codec.decoding_table["221,65"] = [36582] let s:lib.Codec.decoding_table["221,66"] = [36583] let s:lib.Codec.decoding_table["221,67"] = [36584] let s:lib.Codec.decoding_table["221,68"] = [36585] let s:lib.Codec.decoding_table["221,69"] = [36586] let s:lib.Codec.decoding_table["221,70"] = [36587] let s:lib.Codec.decoding_table["221,71"] = [36588] let s:lib.Codec.decoding_table["221,72"] = [36589] let s:lib.Codec.decoding_table["221,73"] = [36590] let s:lib.Codec.decoding_table["221,74"] = [36591] let s:lib.Codec.decoding_table["221,75"] = [36592] let s:lib.Codec.decoding_table["221,76"] = [36593] let s:lib.Codec.decoding_table["221,77"] = [36594] let s:lib.Codec.decoding_table["221,78"] = [36595] let s:lib.Codec.decoding_table["221,79"] = [36596] let s:lib.Codec.decoding_table["221,80"] = [36597] let s:lib.Codec.decoding_table["221,81"] = [36598] let s:lib.Codec.decoding_table["221,82"] = [36599] let s:lib.Codec.decoding_table["221,83"] = [36600] let s:lib.Codec.decoding_table["221,84"] = [36601] let s:lib.Codec.decoding_table["221,85"] = [36602] let s:lib.Codec.decoding_table["221,86"] = [36603] let s:lib.Codec.decoding_table["221,87"] = [36604] let s:lib.Codec.decoding_table["221,88"] = [36605] let s:lib.Codec.decoding_table["221,89"] = [36606] let s:lib.Codec.decoding_table["221,90"] = [36607] let s:lib.Codec.decoding_table["221,91"] = [36608] let s:lib.Codec.decoding_table["221,92"] = [36609] let s:lib.Codec.decoding_table["221,93"] = [36610] let s:lib.Codec.decoding_table["221,94"] = [36611] let s:lib.Codec.decoding_table["221,95"] = [36612] let s:lib.Codec.decoding_table["221,96"] = [36613] let s:lib.Codec.decoding_table["221,97"] = [36614] let s:lib.Codec.decoding_table["221,98"] = [36615] let s:lib.Codec.decoding_table["221,99"] = [36616] let s:lib.Codec.decoding_table["221,100"] = [36617] let s:lib.Codec.decoding_table["221,101"] = [36618] let s:lib.Codec.decoding_table["221,102"] = [36619] let s:lib.Codec.decoding_table["221,103"] = [36620] let s:lib.Codec.decoding_table["221,104"] = [36621] let s:lib.Codec.decoding_table["221,105"] = [36622] let s:lib.Codec.decoding_table["221,106"] = [36623] let s:lib.Codec.decoding_table["221,107"] = [36624] let s:lib.Codec.decoding_table["221,108"] = [36625] let s:lib.Codec.decoding_table["221,109"] = [36626] let s:lib.Codec.decoding_table["221,110"] = [36627] let s:lib.Codec.decoding_table["221,111"] = [36628] let s:lib.Codec.decoding_table["221,112"] = [36629] let s:lib.Codec.decoding_table["221,113"] = [36630] let s:lib.Codec.decoding_table["221,114"] = [36631] let s:lib.Codec.decoding_table["221,115"] = [36632] let s:lib.Codec.decoding_table["221,116"] = [36633] let s:lib.Codec.decoding_table["221,117"] = [36634] let s:lib.Codec.decoding_table["221,118"] = [36635] let s:lib.Codec.decoding_table["221,119"] = [36636] let s:lib.Codec.decoding_table["221,120"] = [36637] let s:lib.Codec.decoding_table["221,121"] = [36638] let s:lib.Codec.decoding_table["221,122"] = [36639] let s:lib.Codec.decoding_table["221,123"] = [36640] let s:lib.Codec.decoding_table["221,124"] = [36641] let s:lib.Codec.decoding_table["221,125"] = [36642] let s:lib.Codec.decoding_table["221,126"] = [36643] let s:lib.Codec.decoding_table["221,128"] = [36644] let s:lib.Codec.decoding_table["221,129"] = [36645] let s:lib.Codec.decoding_table["221,130"] = [36646] let s:lib.Codec.decoding_table["221,131"] = [36647] let s:lib.Codec.decoding_table["221,132"] = [36648] let s:lib.Codec.decoding_table["221,133"] = [36649] let s:lib.Codec.decoding_table["221,134"] = [36650] let s:lib.Codec.decoding_table["221,135"] = [36651] let s:lib.Codec.decoding_table["221,136"] = [36652] let s:lib.Codec.decoding_table["221,137"] = [36653] let s:lib.Codec.decoding_table["221,138"] = [36654] let s:lib.Codec.decoding_table["221,139"] = [36655] let s:lib.Codec.decoding_table["221,140"] = [36656] let s:lib.Codec.decoding_table["221,141"] = [36657] let s:lib.Codec.decoding_table["221,142"] = [36658] let s:lib.Codec.decoding_table["221,143"] = [36659] let s:lib.Codec.decoding_table["221,144"] = [36660] let s:lib.Codec.decoding_table["221,145"] = [36661] let s:lib.Codec.decoding_table["221,146"] = [36662] let s:lib.Codec.decoding_table["221,147"] = [36663] let s:lib.Codec.decoding_table["221,148"] = [36664] let s:lib.Codec.decoding_table["221,149"] = [36665] let s:lib.Codec.decoding_table["221,150"] = [36666] let s:lib.Codec.decoding_table["221,151"] = [36667] let s:lib.Codec.decoding_table["221,152"] = [36668] let s:lib.Codec.decoding_table["221,153"] = [36669] let s:lib.Codec.decoding_table["221,154"] = [36670] let s:lib.Codec.decoding_table["221,155"] = [36671] let s:lib.Codec.decoding_table["221,156"] = [36672] let s:lib.Codec.decoding_table["221,157"] = [36673] let s:lib.Codec.decoding_table["221,158"] = [36674] let s:lib.Codec.decoding_table["221,159"] = [36675] let s:lib.Codec.decoding_table["221,160"] = [36676] let s:lib.Codec.decoding_table["221,161"] = [33640] let s:lib.Codec.decoding_table["221,162"] = [33563] let s:lib.Codec.decoding_table["221,163"] = [33641] let s:lib.Codec.decoding_table["221,164"] = [33644] let s:lib.Codec.decoding_table["221,165"] = [33642] let s:lib.Codec.decoding_table["221,166"] = [33645] let s:lib.Codec.decoding_table["221,167"] = [33646] let s:lib.Codec.decoding_table["221,168"] = [33712] let s:lib.Codec.decoding_table["221,169"] = [33656] let s:lib.Codec.decoding_table["221,170"] = [33715] let s:lib.Codec.decoding_table["221,171"] = [33716] let s:lib.Codec.decoding_table["221,172"] = [33696] let s:lib.Codec.decoding_table["221,173"] = [33706] let s:lib.Codec.decoding_table["221,174"] = [33683] let s:lib.Codec.decoding_table["221,175"] = [33692] let s:lib.Codec.decoding_table["221,176"] = [33669] let s:lib.Codec.decoding_table["221,177"] = [33660] let s:lib.Codec.decoding_table["221,178"] = [33718] let s:lib.Codec.decoding_table["221,179"] = [33705] let s:lib.Codec.decoding_table["221,180"] = [33661] let s:lib.Codec.decoding_table["221,181"] = [33720] let s:lib.Codec.decoding_table["221,182"] = [33659] let s:lib.Codec.decoding_table["221,183"] = [33688] let s:lib.Codec.decoding_table["221,184"] = [33694] let s:lib.Codec.decoding_table["221,185"] = [33704] let s:lib.Codec.decoding_table["221,186"] = [33722] let s:lib.Codec.decoding_table["221,187"] = [33724] let s:lib.Codec.decoding_table["221,188"] = [33729] let s:lib.Codec.decoding_table["221,189"] = [33793] let s:lib.Codec.decoding_table["221,190"] = [33765] let s:lib.Codec.decoding_table["221,191"] = [33752] let s:lib.Codec.decoding_table["221,192"] = [22535] let s:lib.Codec.decoding_table["221,193"] = [33816] let s:lib.Codec.decoding_table["221,194"] = [33803] let s:lib.Codec.decoding_table["221,195"] = [33757] let s:lib.Codec.decoding_table["221,196"] = [33789] let s:lib.Codec.decoding_table["221,197"] = [33750] let s:lib.Codec.decoding_table["221,198"] = [33820] let s:lib.Codec.decoding_table["221,199"] = [33848] let s:lib.Codec.decoding_table["221,200"] = [33809] let s:lib.Codec.decoding_table["221,201"] = [33798] let s:lib.Codec.decoding_table["221,202"] = [33748] let s:lib.Codec.decoding_table["221,203"] = [33759] let s:lib.Codec.decoding_table["221,204"] = [33807] let s:lib.Codec.decoding_table["221,205"] = [33795] let s:lib.Codec.decoding_table["221,206"] = [33784] let s:lib.Codec.decoding_table["221,207"] = [33785] let s:lib.Codec.decoding_table["221,208"] = [33770] let s:lib.Codec.decoding_table["221,209"] = [33733] let s:lib.Codec.decoding_table["221,210"] = [33728] let s:lib.Codec.decoding_table["221,211"] = [33830] let s:lib.Codec.decoding_table["221,212"] = [33776] let s:lib.Codec.decoding_table["221,213"] = [33761] let s:lib.Codec.decoding_table["221,214"] = [33884] let s:lib.Codec.decoding_table["221,215"] = [33873] let s:lib.Codec.decoding_table["221,216"] = [33882] let s:lib.Codec.decoding_table["221,217"] = [33881] let s:lib.Codec.decoding_table["221,218"] = [33907] let s:lib.Codec.decoding_table["221,219"] = [33927] let s:lib.Codec.decoding_table["221,220"] = [33928] let s:lib.Codec.decoding_table["221,221"] = [33914] let s:lib.Codec.decoding_table["221,222"] = [33929] let s:lib.Codec.decoding_table["221,223"] = [33912] let s:lib.Codec.decoding_table["221,224"] = [33852] let s:lib.Codec.decoding_table["221,225"] = [33862] let s:lib.Codec.decoding_table["221,226"] = [33897] let s:lib.Codec.decoding_table["221,227"] = [33910] let s:lib.Codec.decoding_table["221,228"] = [33932] let s:lib.Codec.decoding_table["221,229"] = [33934] let s:lib.Codec.decoding_table["221,230"] = [33841] let s:lib.Codec.decoding_table["221,231"] = [33901] let s:lib.Codec.decoding_table["221,232"] = [33985] let s:lib.Codec.decoding_table["221,233"] = [33997] let s:lib.Codec.decoding_table["221,234"] = [34000] let s:lib.Codec.decoding_table["221,235"] = [34022] let s:lib.Codec.decoding_table["221,236"] = [33981] let s:lib.Codec.decoding_table["221,237"] = [34003] let s:lib.Codec.decoding_table["221,238"] = [33994] let s:lib.Codec.decoding_table["221,239"] = [33983] let s:lib.Codec.decoding_table["221,240"] = [33978] let s:lib.Codec.decoding_table["221,241"] = [34016] let s:lib.Codec.decoding_table["221,242"] = [33953] let s:lib.Codec.decoding_table["221,243"] = [33977] let s:lib.Codec.decoding_table["221,244"] = [33972] let s:lib.Codec.decoding_table["221,245"] = [33943] let s:lib.Codec.decoding_table["221,246"] = [34021] let s:lib.Codec.decoding_table["221,247"] = [34019] let s:lib.Codec.decoding_table["221,248"] = [34060] let s:lib.Codec.decoding_table["221,249"] = [29965] let s:lib.Codec.decoding_table["221,250"] = [34104] let s:lib.Codec.decoding_table["221,251"] = [34032] let s:lib.Codec.decoding_table["221,252"] = [34105] let s:lib.Codec.decoding_table["221,253"] = [34079] let s:lib.Codec.decoding_table["221,254"] = [34106] let s:lib.Codec.decoding_table["222,64"] = [36677] let s:lib.Codec.decoding_table["222,65"] = [36678] let s:lib.Codec.decoding_table["222,66"] = [36679] let s:lib.Codec.decoding_table["222,67"] = [36680] let s:lib.Codec.decoding_table["222,68"] = [36681] let s:lib.Codec.decoding_table["222,69"] = [36682] let s:lib.Codec.decoding_table["222,70"] = [36683] let s:lib.Codec.decoding_table["222,71"] = [36684] let s:lib.Codec.decoding_table["222,72"] = [36685] let s:lib.Codec.decoding_table["222,73"] = [36686] let s:lib.Codec.decoding_table["222,74"] = [36687] let s:lib.Codec.decoding_table["222,75"] = [36688] let s:lib.Codec.decoding_table["222,76"] = [36689] let s:lib.Codec.decoding_table["222,77"] = [36690] let s:lib.Codec.decoding_table["222,78"] = [36691] let s:lib.Codec.decoding_table["222,79"] = [36692] let s:lib.Codec.decoding_table["222,80"] = [36693] let s:lib.Codec.decoding_table["222,81"] = [36694] let s:lib.Codec.decoding_table["222,82"] = [36695] let s:lib.Codec.decoding_table["222,83"] = [36696] let s:lib.Codec.decoding_table["222,84"] = [36697] let s:lib.Codec.decoding_table["222,85"] = [36698] let s:lib.Codec.decoding_table["222,86"] = [36699] let s:lib.Codec.decoding_table["222,87"] = [36700] let s:lib.Codec.decoding_table["222,88"] = [36701] let s:lib.Codec.decoding_table["222,89"] = [36702] let s:lib.Codec.decoding_table["222,90"] = [36703] let s:lib.Codec.decoding_table["222,91"] = [36704] let s:lib.Codec.decoding_table["222,92"] = [36705] let s:lib.Codec.decoding_table["222,93"] = [36706] let s:lib.Codec.decoding_table["222,94"] = [36707] let s:lib.Codec.decoding_table["222,95"] = [36708] let s:lib.Codec.decoding_table["222,96"] = [36709] let s:lib.Codec.decoding_table["222,97"] = [36714] let s:lib.Codec.decoding_table["222,98"] = [36736] let s:lib.Codec.decoding_table["222,99"] = [36748] let s:lib.Codec.decoding_table["222,100"] = [36754] let s:lib.Codec.decoding_table["222,101"] = [36765] let s:lib.Codec.decoding_table["222,102"] = [36768] let s:lib.Codec.decoding_table["222,103"] = [36769] let s:lib.Codec.decoding_table["222,104"] = [36770] let s:lib.Codec.decoding_table["222,105"] = [36772] let s:lib.Codec.decoding_table["222,106"] = [36773] let s:lib.Codec.decoding_table["222,107"] = [36774] let s:lib.Codec.decoding_table["222,108"] = [36775] let s:lib.Codec.decoding_table["222,109"] = [36778] let s:lib.Codec.decoding_table["222,110"] = [36780] let s:lib.Codec.decoding_table["222,111"] = [36781] let s:lib.Codec.decoding_table["222,112"] = [36782] let s:lib.Codec.decoding_table["222,113"] = [36783] let s:lib.Codec.decoding_table["222,114"] = [36786] let s:lib.Codec.decoding_table["222,115"] = [36787] let s:lib.Codec.decoding_table["222,116"] = [36788] let s:lib.Codec.decoding_table["222,117"] = [36789] let s:lib.Codec.decoding_table["222,118"] = [36791] let s:lib.Codec.decoding_table["222,119"] = [36792] let s:lib.Codec.decoding_table["222,120"] = [36794] let s:lib.Codec.decoding_table["222,121"] = [36795] let s:lib.Codec.decoding_table["222,122"] = [36796] let s:lib.Codec.decoding_table["222,123"] = [36799] let s:lib.Codec.decoding_table["222,124"] = [36800] let s:lib.Codec.decoding_table["222,125"] = [36803] let s:lib.Codec.decoding_table["222,126"] = [36806] let s:lib.Codec.decoding_table["222,128"] = [36809] let s:lib.Codec.decoding_table["222,129"] = [36810] let s:lib.Codec.decoding_table["222,130"] = [36811] let s:lib.Codec.decoding_table["222,131"] = [36812] let s:lib.Codec.decoding_table["222,132"] = [36813] let s:lib.Codec.decoding_table["222,133"] = [36815] let s:lib.Codec.decoding_table["222,134"] = [36818] let s:lib.Codec.decoding_table["222,135"] = [36822] let s:lib.Codec.decoding_table["222,136"] = [36823] let s:lib.Codec.decoding_table["222,137"] = [36826] let s:lib.Codec.decoding_table["222,138"] = [36832] let s:lib.Codec.decoding_table["222,139"] = [36833] let s:lib.Codec.decoding_table["222,140"] = [36835] let s:lib.Codec.decoding_table["222,141"] = [36839] let s:lib.Codec.decoding_table["222,142"] = [36844] let s:lib.Codec.decoding_table["222,143"] = [36847] let s:lib.Codec.decoding_table["222,144"] = [36849] let s:lib.Codec.decoding_table["222,145"] = [36850] let s:lib.Codec.decoding_table["222,146"] = [36852] let s:lib.Codec.decoding_table["222,147"] = [36853] let s:lib.Codec.decoding_table["222,148"] = [36854] let s:lib.Codec.decoding_table["222,149"] = [36858] let s:lib.Codec.decoding_table["222,150"] = [36859] let s:lib.Codec.decoding_table["222,151"] = [36860] let s:lib.Codec.decoding_table["222,152"] = [36862] let s:lib.Codec.decoding_table["222,153"] = [36863] let s:lib.Codec.decoding_table["222,154"] = [36871] let s:lib.Codec.decoding_table["222,155"] = [36872] let s:lib.Codec.decoding_table["222,156"] = [36876] let s:lib.Codec.decoding_table["222,157"] = [36878] let s:lib.Codec.decoding_table["222,158"] = [36883] let s:lib.Codec.decoding_table["222,159"] = [36885] let s:lib.Codec.decoding_table["222,160"] = [36888] let s:lib.Codec.decoding_table["222,161"] = [34134] let s:lib.Codec.decoding_table["222,162"] = [34107] let s:lib.Codec.decoding_table["222,163"] = [34047] let s:lib.Codec.decoding_table["222,164"] = [34044] let s:lib.Codec.decoding_table["222,165"] = [34137] let s:lib.Codec.decoding_table["222,166"] = [34120] let s:lib.Codec.decoding_table["222,167"] = [34152] let s:lib.Codec.decoding_table["222,168"] = [34148] let s:lib.Codec.decoding_table["222,169"] = [34142] let s:lib.Codec.decoding_table["222,170"] = [34170] let s:lib.Codec.decoding_table["222,171"] = [30626] let s:lib.Codec.decoding_table["222,172"] = [34115] let s:lib.Codec.decoding_table["222,173"] = [34162] let s:lib.Codec.decoding_table["222,174"] = [34171] let s:lib.Codec.decoding_table["222,175"] = [34212] let s:lib.Codec.decoding_table["222,176"] = [34216] let s:lib.Codec.decoding_table["222,177"] = [34183] let s:lib.Codec.decoding_table["222,178"] = [34191] let s:lib.Codec.decoding_table["222,179"] = [34169] let s:lib.Codec.decoding_table["222,180"] = [34222] let s:lib.Codec.decoding_table["222,181"] = [34204] let s:lib.Codec.decoding_table["222,182"] = [34181] let s:lib.Codec.decoding_table["222,183"] = [34233] let s:lib.Codec.decoding_table["222,184"] = [34231] let s:lib.Codec.decoding_table["222,185"] = [34224] let s:lib.Codec.decoding_table["222,186"] = [34259] let s:lib.Codec.decoding_table["222,187"] = [34241] let s:lib.Codec.decoding_table["222,188"] = [34268] let s:lib.Codec.decoding_table["222,189"] = [34303] let s:lib.Codec.decoding_table["222,190"] = [34343] let s:lib.Codec.decoding_table["222,191"] = [34309] let s:lib.Codec.decoding_table["222,192"] = [34345] let s:lib.Codec.decoding_table["222,193"] = [34326] let s:lib.Codec.decoding_table["222,194"] = [34364] let s:lib.Codec.decoding_table["222,195"] = [24318] let s:lib.Codec.decoding_table["222,196"] = [24328] let s:lib.Codec.decoding_table["222,197"] = [22844] let s:lib.Codec.decoding_table["222,198"] = [22849] let s:lib.Codec.decoding_table["222,199"] = [32823] let s:lib.Codec.decoding_table["222,200"] = [22869] let s:lib.Codec.decoding_table["222,201"] = [22874] let s:lib.Codec.decoding_table["222,202"] = [22872] let s:lib.Codec.decoding_table["222,203"] = [21263] let s:lib.Codec.decoding_table["222,204"] = [23586] let s:lib.Codec.decoding_table["222,205"] = [23589] let s:lib.Codec.decoding_table["222,206"] = [23596] let s:lib.Codec.decoding_table["222,207"] = [23604] let s:lib.Codec.decoding_table["222,208"] = [25164] let s:lib.Codec.decoding_table["222,209"] = [25194] let s:lib.Codec.decoding_table["222,210"] = [25247] let s:lib.Codec.decoding_table["222,211"] = [25275] let s:lib.Codec.decoding_table["222,212"] = [25290] let s:lib.Codec.decoding_table["222,213"] = [25306] let s:lib.Codec.decoding_table["222,214"] = [25303] let s:lib.Codec.decoding_table["222,215"] = [25326] let s:lib.Codec.decoding_table["222,216"] = [25378] let s:lib.Codec.decoding_table["222,217"] = [25334] let s:lib.Codec.decoding_table["222,218"] = [25401] let s:lib.Codec.decoding_table["222,219"] = [25419] let s:lib.Codec.decoding_table["222,220"] = [25411] let s:lib.Codec.decoding_table["222,221"] = [25517] let s:lib.Codec.decoding_table["222,222"] = [25590] let s:lib.Codec.decoding_table["222,223"] = [25457] let s:lib.Codec.decoding_table["222,224"] = [25466] let s:lib.Codec.decoding_table["222,225"] = [25486] let s:lib.Codec.decoding_table["222,226"] = [25524] let s:lib.Codec.decoding_table["222,227"] = [25453] let s:lib.Codec.decoding_table["222,228"] = [25516] let s:lib.Codec.decoding_table["222,229"] = [25482] let s:lib.Codec.decoding_table["222,230"] = [25449] let s:lib.Codec.decoding_table["222,231"] = [25518] let s:lib.Codec.decoding_table["222,232"] = [25532] let s:lib.Codec.decoding_table["222,233"] = [25586] let s:lib.Codec.decoding_table["222,234"] = [25592] let s:lib.Codec.decoding_table["222,235"] = [25568] let s:lib.Codec.decoding_table["222,236"] = [25599] let s:lib.Codec.decoding_table["222,237"] = [25540] let s:lib.Codec.decoding_table["222,238"] = [25566] let s:lib.Codec.decoding_table["222,239"] = [25550] let s:lib.Codec.decoding_table["222,240"] = [25682] let s:lib.Codec.decoding_table["222,241"] = [25542] let s:lib.Codec.decoding_table["222,242"] = [25534] let s:lib.Codec.decoding_table["222,243"] = [25669] let s:lib.Codec.decoding_table["222,244"] = [25665] let s:lib.Codec.decoding_table["222,245"] = [25611] let s:lib.Codec.decoding_table["222,246"] = [25627] let s:lib.Codec.decoding_table["222,247"] = [25632] let s:lib.Codec.decoding_table["222,248"] = [25612] let s:lib.Codec.decoding_table["222,249"] = [25638] let s:lib.Codec.decoding_table["222,250"] = [25633] let s:lib.Codec.decoding_table["222,251"] = [25694] let s:lib.Codec.decoding_table["222,252"] = [25732] let s:lib.Codec.decoding_table["222,253"] = [25709] let s:lib.Codec.decoding_table["222,254"] = [25750] let s:lib.Codec.decoding_table["223,64"] = [36889] let s:lib.Codec.decoding_table["223,65"] = [36892] let s:lib.Codec.decoding_table["223,66"] = [36899] let s:lib.Codec.decoding_table["223,67"] = [36900] let s:lib.Codec.decoding_table["223,68"] = [36901] let s:lib.Codec.decoding_table["223,69"] = [36903] let s:lib.Codec.decoding_table["223,70"] = [36904] let s:lib.Codec.decoding_table["223,71"] = [36905] let s:lib.Codec.decoding_table["223,72"] = [36906] let s:lib.Codec.decoding_table["223,73"] = [36907] let s:lib.Codec.decoding_table["223,74"] = [36908] let s:lib.Codec.decoding_table["223,75"] = [36912] let s:lib.Codec.decoding_table["223,76"] = [36913] let s:lib.Codec.decoding_table["223,77"] = [36914] let s:lib.Codec.decoding_table["223,78"] = [36915] let s:lib.Codec.decoding_table["223,79"] = [36916] let s:lib.Codec.decoding_table["223,80"] = [36919] let s:lib.Codec.decoding_table["223,81"] = [36921] let s:lib.Codec.decoding_table["223,82"] = [36922] let s:lib.Codec.decoding_table["223,83"] = [36925] let s:lib.Codec.decoding_table["223,84"] = [36927] let s:lib.Codec.decoding_table["223,85"] = [36928] let s:lib.Codec.decoding_table["223,86"] = [36931] let s:lib.Codec.decoding_table["223,87"] = [36933] let s:lib.Codec.decoding_table["223,88"] = [36934] let s:lib.Codec.decoding_table["223,89"] = [36936] let s:lib.Codec.decoding_table["223,90"] = [36937] let s:lib.Codec.decoding_table["223,91"] = [36938] let s:lib.Codec.decoding_table["223,92"] = [36939] let s:lib.Codec.decoding_table["223,93"] = [36940] let s:lib.Codec.decoding_table["223,94"] = [36942] let s:lib.Codec.decoding_table["223,95"] = [36948] let s:lib.Codec.decoding_table["223,96"] = [36949] let s:lib.Codec.decoding_table["223,97"] = [36950] let s:lib.Codec.decoding_table["223,98"] = [36953] let s:lib.Codec.decoding_table["223,99"] = [36954] let s:lib.Codec.decoding_table["223,100"] = [36956] let s:lib.Codec.decoding_table["223,101"] = [36957] let s:lib.Codec.decoding_table["223,102"] = [36958] let s:lib.Codec.decoding_table["223,103"] = [36959] let s:lib.Codec.decoding_table["223,104"] = [36960] let s:lib.Codec.decoding_table["223,105"] = [36961] let s:lib.Codec.decoding_table["223,106"] = [36964] let s:lib.Codec.decoding_table["223,107"] = [36966] let s:lib.Codec.decoding_table["223,108"] = [36967] let s:lib.Codec.decoding_table["223,109"] = [36969] let s:lib.Codec.decoding_table["223,110"] = [36970] let s:lib.Codec.decoding_table["223,111"] = [36971] let s:lib.Codec.decoding_table["223,112"] = [36972] let s:lib.Codec.decoding_table["223,113"] = [36975] let s:lib.Codec.decoding_table["223,114"] = [36976] let s:lib.Codec.decoding_table["223,115"] = [36977] let s:lib.Codec.decoding_table["223,116"] = [36978] let s:lib.Codec.decoding_table["223,117"] = [36979] let s:lib.Codec.decoding_table["223,118"] = [36982] let s:lib.Codec.decoding_table["223,119"] = [36983] let s:lib.Codec.decoding_table["223,120"] = [36984] let s:lib.Codec.decoding_table["223,121"] = [36985] let s:lib.Codec.decoding_table["223,122"] = [36986] let s:lib.Codec.decoding_table["223,123"] = [36987] let s:lib.Codec.decoding_table["223,124"] = [36988] let s:lib.Codec.decoding_table["223,125"] = [36990] let s:lib.Codec.decoding_table["223,126"] = [36993] let s:lib.Codec.decoding_table["223,128"] = [36996] let s:lib.Codec.decoding_table["223,129"] = [36997] let s:lib.Codec.decoding_table["223,130"] = [36998] let s:lib.Codec.decoding_table["223,131"] = [36999] let s:lib.Codec.decoding_table["223,132"] = [37001] let s:lib.Codec.decoding_table["223,133"] = [37002] let s:lib.Codec.decoding_table["223,134"] = [37004] let s:lib.Codec.decoding_table["223,135"] = [37005] let s:lib.Codec.decoding_table["223,136"] = [37006] let s:lib.Codec.decoding_table["223,137"] = [37007] let s:lib.Codec.decoding_table["223,138"] = [37008] let s:lib.Codec.decoding_table["223,139"] = [37010] let s:lib.Codec.decoding_table["223,140"] = [37012] let s:lib.Codec.decoding_table["223,141"] = [37014] let s:lib.Codec.decoding_table["223,142"] = [37016] let s:lib.Codec.decoding_table["223,143"] = [37018] let s:lib.Codec.decoding_table["223,144"] = [37020] let s:lib.Codec.decoding_table["223,145"] = [37022] let s:lib.Codec.decoding_table["223,146"] = [37023] let s:lib.Codec.decoding_table["223,147"] = [37024] let s:lib.Codec.decoding_table["223,148"] = [37028] let s:lib.Codec.decoding_table["223,149"] = [37029] let s:lib.Codec.decoding_table["223,150"] = [37031] let s:lib.Codec.decoding_table["223,151"] = [37032] let s:lib.Codec.decoding_table["223,152"] = [37033] let s:lib.Codec.decoding_table["223,153"] = [37035] let s:lib.Codec.decoding_table["223,154"] = [37037] let s:lib.Codec.decoding_table["223,155"] = [37042] let s:lib.Codec.decoding_table["223,156"] = [37047] let s:lib.Codec.decoding_table["223,157"] = [37052] let s:lib.Codec.decoding_table["223,158"] = [37053] let s:lib.Codec.decoding_table["223,159"] = [37055] let s:lib.Codec.decoding_table["223,160"] = [37056] let s:lib.Codec.decoding_table["223,161"] = [25722] let s:lib.Codec.decoding_table["223,162"] = [25783] let s:lib.Codec.decoding_table["223,163"] = [25784] let s:lib.Codec.decoding_table["223,164"] = [25753] let s:lib.Codec.decoding_table["223,165"] = [25786] let s:lib.Codec.decoding_table["223,166"] = [25792] let s:lib.Codec.decoding_table["223,167"] = [25808] let s:lib.Codec.decoding_table["223,168"] = [25815] let s:lib.Codec.decoding_table["223,169"] = [25828] let s:lib.Codec.decoding_table["223,170"] = [25826] let s:lib.Codec.decoding_table["223,171"] = [25865] let s:lib.Codec.decoding_table["223,172"] = [25893] let s:lib.Codec.decoding_table["223,173"] = [25902] let s:lib.Codec.decoding_table["223,174"] = [24331] let s:lib.Codec.decoding_table["223,175"] = [24530] let s:lib.Codec.decoding_table["223,176"] = [29977] let s:lib.Codec.decoding_table["223,177"] = [24337] let s:lib.Codec.decoding_table["223,178"] = [21343] let s:lib.Codec.decoding_table["223,179"] = [21489] let s:lib.Codec.decoding_table["223,180"] = [21501] let s:lib.Codec.decoding_table["223,181"] = [21481] let s:lib.Codec.decoding_table["223,182"] = [21480] let s:lib.Codec.decoding_table["223,183"] = [21499] let s:lib.Codec.decoding_table["223,184"] = [21522] let s:lib.Codec.decoding_table["223,185"] = [21526] let s:lib.Codec.decoding_table["223,186"] = [21510] let s:lib.Codec.decoding_table["223,187"] = [21579] let s:lib.Codec.decoding_table["223,188"] = [21586] let s:lib.Codec.decoding_table["223,189"] = [21587] let s:lib.Codec.decoding_table["223,190"] = [21588] let s:lib.Codec.decoding_table["223,191"] = [21590] let s:lib.Codec.decoding_table["223,192"] = [21571] let s:lib.Codec.decoding_table["223,193"] = [21537] let s:lib.Codec.decoding_table["223,194"] = [21591] let s:lib.Codec.decoding_table["223,195"] = [21593] let s:lib.Codec.decoding_table["223,196"] = [21539] let s:lib.Codec.decoding_table["223,197"] = [21554] let s:lib.Codec.decoding_table["223,198"] = [21634] let s:lib.Codec.decoding_table["223,199"] = [21652] let s:lib.Codec.decoding_table["223,200"] = [21623] let s:lib.Codec.decoding_table["223,201"] = [21617] let s:lib.Codec.decoding_table["223,202"] = [21604] let s:lib.Codec.decoding_table["223,203"] = [21658] let s:lib.Codec.decoding_table["223,204"] = [21659] let s:lib.Codec.decoding_table["223,205"] = [21636] let s:lib.Codec.decoding_table["223,206"] = [21622] let s:lib.Codec.decoding_table["223,207"] = [21606] let s:lib.Codec.decoding_table["223,208"] = [21661] let s:lib.Codec.decoding_table["223,209"] = [21712] let s:lib.Codec.decoding_table["223,210"] = [21677] let s:lib.Codec.decoding_table["223,211"] = [21698] let s:lib.Codec.decoding_table["223,212"] = [21684] let s:lib.Codec.decoding_table["223,213"] = [21714] let s:lib.Codec.decoding_table["223,214"] = [21671] let s:lib.Codec.decoding_table["223,215"] = [21670] let s:lib.Codec.decoding_table["223,216"] = [21715] let s:lib.Codec.decoding_table["223,217"] = [21716] let s:lib.Codec.decoding_table["223,218"] = [21618] let s:lib.Codec.decoding_table["223,219"] = [21667] let s:lib.Codec.decoding_table["223,220"] = [21717] let s:lib.Codec.decoding_table["223,221"] = [21691] let s:lib.Codec.decoding_table["223,222"] = [21695] let s:lib.Codec.decoding_table["223,223"] = [21708] let s:lib.Codec.decoding_table["223,224"] = [21721] let s:lib.Codec.decoding_table["223,225"] = [21722] let s:lib.Codec.decoding_table["223,226"] = [21724] let s:lib.Codec.decoding_table["223,227"] = [21673] let s:lib.Codec.decoding_table["223,228"] = [21674] let s:lib.Codec.decoding_table["223,229"] = [21668] let s:lib.Codec.decoding_table["223,230"] = [21725] let s:lib.Codec.decoding_table["223,231"] = [21711] let s:lib.Codec.decoding_table["223,232"] = [21726] let s:lib.Codec.decoding_table["223,233"] = [21787] let s:lib.Codec.decoding_table["223,234"] = [21735] let s:lib.Codec.decoding_table["223,235"] = [21792] let s:lib.Codec.decoding_table["223,236"] = [21757] let s:lib.Codec.decoding_table["223,237"] = [21780] let s:lib.Codec.decoding_table["223,238"] = [21747] let s:lib.Codec.decoding_table["223,239"] = [21794] let s:lib.Codec.decoding_table["223,240"] = [21795] let s:lib.Codec.decoding_table["223,241"] = [21775] let s:lib.Codec.decoding_table["223,242"] = [21777] let s:lib.Codec.decoding_table["223,243"] = [21799] let s:lib.Codec.decoding_table["223,244"] = [21802] let s:lib.Codec.decoding_table["223,245"] = [21863] let s:lib.Codec.decoding_table["223,246"] = [21903] let s:lib.Codec.decoding_table["223,247"] = [21941] let s:lib.Codec.decoding_table["223,248"] = [21833] let s:lib.Codec.decoding_table["223,249"] = [21869] let s:lib.Codec.decoding_table["223,250"] = [21825] let s:lib.Codec.decoding_table["223,251"] = [21845] let s:lib.Codec.decoding_table["223,252"] = [21823] let s:lib.Codec.decoding_table["223,253"] = [21840] let s:lib.Codec.decoding_table["223,254"] = [21820] let s:lib.Codec.decoding_table["224,64"] = [37058] let s:lib.Codec.decoding_table["224,65"] = [37059] let s:lib.Codec.decoding_table["224,66"] = [37062] let s:lib.Codec.decoding_table["224,67"] = [37064] let s:lib.Codec.decoding_table["224,68"] = [37065] let s:lib.Codec.decoding_table["224,69"] = [37067] let s:lib.Codec.decoding_table["224,70"] = [37068] let s:lib.Codec.decoding_table["224,71"] = [37069] let s:lib.Codec.decoding_table["224,72"] = [37074] let s:lib.Codec.decoding_table["224,73"] = [37076] let s:lib.Codec.decoding_table["224,74"] = [37077] let s:lib.Codec.decoding_table["224,75"] = [37078] let s:lib.Codec.decoding_table["224,76"] = [37080] let s:lib.Codec.decoding_table["224,77"] = [37081] let s:lib.Codec.decoding_table["224,78"] = [37082] let s:lib.Codec.decoding_table["224,79"] = [37086] let s:lib.Codec.decoding_table["224,80"] = [37087] let s:lib.Codec.decoding_table["224,81"] = [37088] let s:lib.Codec.decoding_table["224,82"] = [37091] let s:lib.Codec.decoding_table["224,83"] = [37092] let s:lib.Codec.decoding_table["224,84"] = [37093] let s:lib.Codec.decoding_table["224,85"] = [37097] let s:lib.Codec.decoding_table["224,86"] = [37098] let s:lib.Codec.decoding_table["224,87"] = [37100] let s:lib.Codec.decoding_table["224,88"] = [37102] let s:lib.Codec.decoding_table["224,89"] = [37104] let s:lib.Codec.decoding_table["224,90"] = [37105] let s:lib.Codec.decoding_table["224,91"] = [37106] let s:lib.Codec.decoding_table["224,92"] = [37107] let s:lib.Codec.decoding_table["224,93"] = [37109] let s:lib.Codec.decoding_table["224,94"] = [37110] let s:lib.Codec.decoding_table["224,95"] = [37111] let s:lib.Codec.decoding_table["224,96"] = [37113] let s:lib.Codec.decoding_table["224,97"] = [37114] let s:lib.Codec.decoding_table["224,98"] = [37115] let s:lib.Codec.decoding_table["224,99"] = [37116] let s:lib.Codec.decoding_table["224,100"] = [37119] let s:lib.Codec.decoding_table["224,101"] = [37120] let s:lib.Codec.decoding_table["224,102"] = [37121] let s:lib.Codec.decoding_table["224,103"] = [37123] let s:lib.Codec.decoding_table["224,104"] = [37125] let s:lib.Codec.decoding_table["224,105"] = [37126] let s:lib.Codec.decoding_table["224,106"] = [37127] let s:lib.Codec.decoding_table["224,107"] = [37128] let s:lib.Codec.decoding_table["224,108"] = [37129] let s:lib.Codec.decoding_table["224,109"] = [37130] let s:lib.Codec.decoding_table["224,110"] = [37131] let s:lib.Codec.decoding_table["224,111"] = [37132] let s:lib.Codec.decoding_table["224,112"] = [37133] let s:lib.Codec.decoding_table["224,113"] = [37134] let s:lib.Codec.decoding_table["224,114"] = [37135] let s:lib.Codec.decoding_table["224,115"] = [37136] let s:lib.Codec.decoding_table["224,116"] = [37137] let s:lib.Codec.decoding_table["224,117"] = [37138] let s:lib.Codec.decoding_table["224,118"] = [37139] let s:lib.Codec.decoding_table["224,119"] = [37140] let s:lib.Codec.decoding_table["224,120"] = [37141] let s:lib.Codec.decoding_table["224,121"] = [37142] let s:lib.Codec.decoding_table["224,122"] = [37143] let s:lib.Codec.decoding_table["224,123"] = [37144] let s:lib.Codec.decoding_table["224,124"] = [37146] let s:lib.Codec.decoding_table["224,125"] = [37147] let s:lib.Codec.decoding_table["224,126"] = [37148] let s:lib.Codec.decoding_table["224,128"] = [37149] let s:lib.Codec.decoding_table["224,129"] = [37151] let s:lib.Codec.decoding_table["224,130"] = [37152] let s:lib.Codec.decoding_table["224,131"] = [37153] let s:lib.Codec.decoding_table["224,132"] = [37156] let s:lib.Codec.decoding_table["224,133"] = [37157] let s:lib.Codec.decoding_table["224,134"] = [37158] let s:lib.Codec.decoding_table["224,135"] = [37159] let s:lib.Codec.decoding_table["224,136"] = [37160] let s:lib.Codec.decoding_table["224,137"] = [37161] let s:lib.Codec.decoding_table["224,138"] = [37162] let s:lib.Codec.decoding_table["224,139"] = [37163] let s:lib.Codec.decoding_table["224,140"] = [37164] let s:lib.Codec.decoding_table["224,141"] = [37165] let s:lib.Codec.decoding_table["224,142"] = [37166] let s:lib.Codec.decoding_table["224,143"] = [37168] let s:lib.Codec.decoding_table["224,144"] = [37170] let s:lib.Codec.decoding_table["224,145"] = [37171] let s:lib.Codec.decoding_table["224,146"] = [37172] let s:lib.Codec.decoding_table["224,147"] = [37173] let s:lib.Codec.decoding_table["224,148"] = [37174] let s:lib.Codec.decoding_table["224,149"] = [37175] let s:lib.Codec.decoding_table["224,150"] = [37176] let s:lib.Codec.decoding_table["224,151"] = [37178] let s:lib.Codec.decoding_table["224,152"] = [37179] let s:lib.Codec.decoding_table["224,153"] = [37180] let s:lib.Codec.decoding_table["224,154"] = [37181] let s:lib.Codec.decoding_table["224,155"] = [37182] let s:lib.Codec.decoding_table["224,156"] = [37183] let s:lib.Codec.decoding_table["224,157"] = [37184] let s:lib.Codec.decoding_table["224,158"] = [37185] let s:lib.Codec.decoding_table["224,159"] = [37186] let s:lib.Codec.decoding_table["224,160"] = [37188] let s:lib.Codec.decoding_table["224,161"] = [21815] let s:lib.Codec.decoding_table["224,162"] = [21846] let s:lib.Codec.decoding_table["224,163"] = [21877] let s:lib.Codec.decoding_table["224,164"] = [21878] let s:lib.Codec.decoding_table["224,165"] = [21879] let s:lib.Codec.decoding_table["224,166"] = [21811] let s:lib.Codec.decoding_table["224,167"] = [21808] let s:lib.Codec.decoding_table["224,168"] = [21852] let s:lib.Codec.decoding_table["224,169"] = [21899] let s:lib.Codec.decoding_table["224,170"] = [21970] let s:lib.Codec.decoding_table["224,171"] = [21891] let s:lib.Codec.decoding_table["224,172"] = [21937] let s:lib.Codec.decoding_table["224,173"] = [21945] let s:lib.Codec.decoding_table["224,174"] = [21896] let s:lib.Codec.decoding_table["224,175"] = [21889] let s:lib.Codec.decoding_table["224,176"] = [21919] let s:lib.Codec.decoding_table["224,177"] = [21886] let s:lib.Codec.decoding_table["224,178"] = [21974] let s:lib.Codec.decoding_table["224,179"] = [21905] let s:lib.Codec.decoding_table["224,180"] = [21883] let s:lib.Codec.decoding_table["224,181"] = [21983] let s:lib.Codec.decoding_table["224,182"] = [21949] let s:lib.Codec.decoding_table["224,183"] = [21950] let s:lib.Codec.decoding_table["224,184"] = [21908] let s:lib.Codec.decoding_table["224,185"] = [21913] let s:lib.Codec.decoding_table["224,186"] = [21994] let s:lib.Codec.decoding_table["224,187"] = [22007] let s:lib.Codec.decoding_table["224,188"] = [21961] let s:lib.Codec.decoding_table["224,189"] = [22047] let s:lib.Codec.decoding_table["224,190"] = [21969] let s:lib.Codec.decoding_table["224,191"] = [21995] let s:lib.Codec.decoding_table["224,192"] = [21996] let s:lib.Codec.decoding_table["224,193"] = [21972] let s:lib.Codec.decoding_table["224,194"] = [21990] let s:lib.Codec.decoding_table["224,195"] = [21981] let s:lib.Codec.decoding_table["224,196"] = [21956] let s:lib.Codec.decoding_table["224,197"] = [21999] let s:lib.Codec.decoding_table["224,198"] = [21989] let s:lib.Codec.decoding_table["224,199"] = [22002] let s:lib.Codec.decoding_table["224,200"] = [22003] let s:lib.Codec.decoding_table["224,201"] = [21964] let s:lib.Codec.decoding_table["224,202"] = [21965] let s:lib.Codec.decoding_table["224,203"] = [21992] let s:lib.Codec.decoding_table["224,204"] = [22005] let s:lib.Codec.decoding_table["224,205"] = [21988] let s:lib.Codec.decoding_table["224,206"] = [36756] let s:lib.Codec.decoding_table["224,207"] = [22046] let s:lib.Codec.decoding_table["224,208"] = [22024] let s:lib.Codec.decoding_table["224,209"] = [22028] let s:lib.Codec.decoding_table["224,210"] = [22017] let s:lib.Codec.decoding_table["224,211"] = [22052] let s:lib.Codec.decoding_table["224,212"] = [22051] let s:lib.Codec.decoding_table["224,213"] = [22014] let s:lib.Codec.decoding_table["224,214"] = [22016] let s:lib.Codec.decoding_table["224,215"] = [22055] let s:lib.Codec.decoding_table["224,216"] = [22061] let s:lib.Codec.decoding_table["224,217"] = [22104] let s:lib.Codec.decoding_table["224,218"] = [22073] let s:lib.Codec.decoding_table["224,219"] = [22103] let s:lib.Codec.decoding_table["224,220"] = [22060] let s:lib.Codec.decoding_table["224,221"] = [22093] let s:lib.Codec.decoding_table["224,222"] = [22114] let s:lib.Codec.decoding_table["224,223"] = [22105] let s:lib.Codec.decoding_table["224,224"] = [22108] let s:lib.Codec.decoding_table["224,225"] = [22092] let s:lib.Codec.decoding_table["224,226"] = [22100] let s:lib.Codec.decoding_table["224,227"] = [22150] let s:lib.Codec.decoding_table["224,228"] = [22116] let s:lib.Codec.decoding_table["224,229"] = [22129] let s:lib.Codec.decoding_table["224,230"] = [22123] let s:lib.Codec.decoding_table["224,231"] = [22139] let s:lib.Codec.decoding_table["224,232"] = [22140] let s:lib.Codec.decoding_table["224,233"] = [22149] let s:lib.Codec.decoding_table["224,234"] = [22163] let s:lib.Codec.decoding_table["224,235"] = [22191] let s:lib.Codec.decoding_table["224,236"] = [22228] let s:lib.Codec.decoding_table["224,237"] = [22231] let s:lib.Codec.decoding_table["224,238"] = [22237] let s:lib.Codec.decoding_table["224,239"] = [22241] let s:lib.Codec.decoding_table["224,240"] = [22261] let s:lib.Codec.decoding_table["224,241"] = [22251] let s:lib.Codec.decoding_table["224,242"] = [22265] let s:lib.Codec.decoding_table["224,243"] = [22271] let s:lib.Codec.decoding_table["224,244"] = [22276] let s:lib.Codec.decoding_table["224,245"] = [22282] let s:lib.Codec.decoding_table["224,246"] = [22281] let s:lib.Codec.decoding_table["224,247"] = [22300] let s:lib.Codec.decoding_table["224,248"] = [24079] let s:lib.Codec.decoding_table["224,249"] = [24089] let s:lib.Codec.decoding_table["224,250"] = [24084] let s:lib.Codec.decoding_table["224,251"] = [24081] let s:lib.Codec.decoding_table["224,252"] = [24113] let s:lib.Codec.decoding_table["224,253"] = [24123] let s:lib.Codec.decoding_table["224,254"] = [24124] let s:lib.Codec.decoding_table["225,64"] = [37189] let s:lib.Codec.decoding_table["225,65"] = [37191] let s:lib.Codec.decoding_table["225,66"] = [37192] let s:lib.Codec.decoding_table["225,67"] = [37201] let s:lib.Codec.decoding_table["225,68"] = [37203] let s:lib.Codec.decoding_table["225,69"] = [37204] let s:lib.Codec.decoding_table["225,70"] = [37205] let s:lib.Codec.decoding_table["225,71"] = [37206] let s:lib.Codec.decoding_table["225,72"] = [37208] let s:lib.Codec.decoding_table["225,73"] = [37209] let s:lib.Codec.decoding_table["225,74"] = [37211] let s:lib.Codec.decoding_table["225,75"] = [37212] let s:lib.Codec.decoding_table["225,76"] = [37215] let s:lib.Codec.decoding_table["225,77"] = [37216] let s:lib.Codec.decoding_table["225,78"] = [37222] let s:lib.Codec.decoding_table["225,79"] = [37223] let s:lib.Codec.decoding_table["225,80"] = [37224] let s:lib.Codec.decoding_table["225,81"] = [37227] let s:lib.Codec.decoding_table["225,82"] = [37229] let s:lib.Codec.decoding_table["225,83"] = [37235] let s:lib.Codec.decoding_table["225,84"] = [37242] let s:lib.Codec.decoding_table["225,85"] = [37243] let s:lib.Codec.decoding_table["225,86"] = [37244] let s:lib.Codec.decoding_table["225,87"] = [37248] let s:lib.Codec.decoding_table["225,88"] = [37249] let s:lib.Codec.decoding_table["225,89"] = [37250] let s:lib.Codec.decoding_table["225,90"] = [37251] let s:lib.Codec.decoding_table["225,91"] = [37252] let s:lib.Codec.decoding_table["225,92"] = [37254] let s:lib.Codec.decoding_table["225,93"] = [37256] let s:lib.Codec.decoding_table["225,94"] = [37258] let s:lib.Codec.decoding_table["225,95"] = [37262] let s:lib.Codec.decoding_table["225,96"] = [37263] let s:lib.Codec.decoding_table["225,97"] = [37267] let s:lib.Codec.decoding_table["225,98"] = [37268] let s:lib.Codec.decoding_table["225,99"] = [37269] let s:lib.Codec.decoding_table["225,100"] = [37270] let s:lib.Codec.decoding_table["225,101"] = [37271] let s:lib.Codec.decoding_table["225,102"] = [37272] let s:lib.Codec.decoding_table["225,103"] = [37273] let s:lib.Codec.decoding_table["225,104"] = [37276] let s:lib.Codec.decoding_table["225,105"] = [37277] let s:lib.Codec.decoding_table["225,106"] = [37278] let s:lib.Codec.decoding_table["225,107"] = [37279] let s:lib.Codec.decoding_table["225,108"] = [37280] let s:lib.Codec.decoding_table["225,109"] = [37281] let s:lib.Codec.decoding_table["225,110"] = [37284] let s:lib.Codec.decoding_table["225,111"] = [37285] let s:lib.Codec.decoding_table["225,112"] = [37286] let s:lib.Codec.decoding_table["225,113"] = [37287] let s:lib.Codec.decoding_table["225,114"] = [37288] let s:lib.Codec.decoding_table["225,115"] = [37289] let s:lib.Codec.decoding_table["225,116"] = [37291] let s:lib.Codec.decoding_table["225,117"] = [37292] let s:lib.Codec.decoding_table["225,118"] = [37296] let s:lib.Codec.decoding_table["225,119"] = [37297] let s:lib.Codec.decoding_table["225,120"] = [37298] let s:lib.Codec.decoding_table["225,121"] = [37299] let s:lib.Codec.decoding_table["225,122"] = [37302] let s:lib.Codec.decoding_table["225,123"] = [37303] let s:lib.Codec.decoding_table["225,124"] = [37304] let s:lib.Codec.decoding_table["225,125"] = [37305] let s:lib.Codec.decoding_table["225,126"] = [37307] let s:lib.Codec.decoding_table["225,128"] = [37308] let s:lib.Codec.decoding_table["225,129"] = [37309] let s:lib.Codec.decoding_table["225,130"] = [37310] let s:lib.Codec.decoding_table["225,131"] = [37311] let s:lib.Codec.decoding_table["225,132"] = [37312] let s:lib.Codec.decoding_table["225,133"] = [37313] let s:lib.Codec.decoding_table["225,134"] = [37314] let s:lib.Codec.decoding_table["225,135"] = [37315] let s:lib.Codec.decoding_table["225,136"] = [37316] let s:lib.Codec.decoding_table["225,137"] = [37317] let s:lib.Codec.decoding_table["225,138"] = [37318] let s:lib.Codec.decoding_table["225,139"] = [37320] let s:lib.Codec.decoding_table["225,140"] = [37323] let s:lib.Codec.decoding_table["225,141"] = [37328] let s:lib.Codec.decoding_table["225,142"] = [37330] let s:lib.Codec.decoding_table["225,143"] = [37331] let s:lib.Codec.decoding_table["225,144"] = [37332] let s:lib.Codec.decoding_table["225,145"] = [37333] let s:lib.Codec.decoding_table["225,146"] = [37334] let s:lib.Codec.decoding_table["225,147"] = [37335] let s:lib.Codec.decoding_table["225,148"] = [37336] let s:lib.Codec.decoding_table["225,149"] = [37337] let s:lib.Codec.decoding_table["225,150"] = [37338] let s:lib.Codec.decoding_table["225,151"] = [37339] let s:lib.Codec.decoding_table["225,152"] = [37341] let s:lib.Codec.decoding_table["225,153"] = [37342] let s:lib.Codec.decoding_table["225,154"] = [37343] let s:lib.Codec.decoding_table["225,155"] = [37344] let s:lib.Codec.decoding_table["225,156"] = [37345] let s:lib.Codec.decoding_table["225,157"] = [37346] let s:lib.Codec.decoding_table["225,158"] = [37347] let s:lib.Codec.decoding_table["225,159"] = [37348] let s:lib.Codec.decoding_table["225,160"] = [37349] let s:lib.Codec.decoding_table["225,161"] = [24119] let s:lib.Codec.decoding_table["225,162"] = [24132] let s:lib.Codec.decoding_table["225,163"] = [24148] let s:lib.Codec.decoding_table["225,164"] = [24155] let s:lib.Codec.decoding_table["225,165"] = [24158] let s:lib.Codec.decoding_table["225,166"] = [24161] let s:lib.Codec.decoding_table["225,167"] = [23692] let s:lib.Codec.decoding_table["225,168"] = [23674] let s:lib.Codec.decoding_table["225,169"] = [23693] let s:lib.Codec.decoding_table["225,170"] = [23696] let s:lib.Codec.decoding_table["225,171"] = [23702] let s:lib.Codec.decoding_table["225,172"] = [23688] let s:lib.Codec.decoding_table["225,173"] = [23704] let s:lib.Codec.decoding_table["225,174"] = [23705] let s:lib.Codec.decoding_table["225,175"] = [23697] let s:lib.Codec.decoding_table["225,176"] = [23706] let s:lib.Codec.decoding_table["225,177"] = [23708] let s:lib.Codec.decoding_table["225,178"] = [23733] let s:lib.Codec.decoding_table["225,179"] = [23714] let s:lib.Codec.decoding_table["225,180"] = [23741] let s:lib.Codec.decoding_table["225,181"] = [23724] let s:lib.Codec.decoding_table["225,182"] = [23723] let s:lib.Codec.decoding_table["225,183"] = [23729] let s:lib.Codec.decoding_table["225,184"] = [23715] let s:lib.Codec.decoding_table["225,185"] = [23745] let s:lib.Codec.decoding_table["225,186"] = [23735] let s:lib.Codec.decoding_table["225,187"] = [23748] let s:lib.Codec.decoding_table["225,188"] = [23762] let s:lib.Codec.decoding_table["225,189"] = [23780] let s:lib.Codec.decoding_table["225,190"] = [23755] let s:lib.Codec.decoding_table["225,191"] = [23781] let s:lib.Codec.decoding_table["225,192"] = [23810] let s:lib.Codec.decoding_table["225,193"] = [23811] let s:lib.Codec.decoding_table["225,194"] = [23847] let s:lib.Codec.decoding_table["225,195"] = [23846] let s:lib.Codec.decoding_table["225,196"] = [23854] let s:lib.Codec.decoding_table["225,197"] = [23844] let s:lib.Codec.decoding_table["225,198"] = [23838] let s:lib.Codec.decoding_table["225,199"] = [23814] let s:lib.Codec.decoding_table["225,200"] = [23835] let s:lib.Codec.decoding_table["225,201"] = [23896] let s:lib.Codec.decoding_table["225,202"] = [23870] let s:lib.Codec.decoding_table["225,203"] = [23860] let s:lib.Codec.decoding_table["225,204"] = [23869] let s:lib.Codec.decoding_table["225,205"] = [23916] let s:lib.Codec.decoding_table["225,206"] = [23899] let s:lib.Codec.decoding_table["225,207"] = [23919] let s:lib.Codec.decoding_table["225,208"] = [23901] let s:lib.Codec.decoding_table["225,209"] = [23915] let s:lib.Codec.decoding_table["225,210"] = [23883] let s:lib.Codec.decoding_table["225,211"] = [23882] let s:lib.Codec.decoding_table["225,212"] = [23913] let s:lib.Codec.decoding_table["225,213"] = [23924] let s:lib.Codec.decoding_table["225,214"] = [23938] let s:lib.Codec.decoding_table["225,215"] = [23961] let s:lib.Codec.decoding_table["225,216"] = [23965] let s:lib.Codec.decoding_table["225,217"] = [35955] let s:lib.Codec.decoding_table["225,218"] = [23991] let s:lib.Codec.decoding_table["225,219"] = [24005] let s:lib.Codec.decoding_table["225,220"] = [24435] let s:lib.Codec.decoding_table["225,221"] = [24439] let s:lib.Codec.decoding_table["225,222"] = [24450] let s:lib.Codec.decoding_table["225,223"] = [24455] let s:lib.Codec.decoding_table["225,224"] = [24457] let s:lib.Codec.decoding_table["225,225"] = [24460] let s:lib.Codec.decoding_table["225,226"] = [24469] let s:lib.Codec.decoding_table["225,227"] = [24473] let s:lib.Codec.decoding_table["225,228"] = [24476] let s:lib.Codec.decoding_table["225,229"] = [24488] let s:lib.Codec.decoding_table["225,230"] = [24493] let s:lib.Codec.decoding_table["225,231"] = [24501] let s:lib.Codec.decoding_table["225,232"] = [24508] let s:lib.Codec.decoding_table["225,233"] = [34914] let s:lib.Codec.decoding_table["225,234"] = [24417] let s:lib.Codec.decoding_table["225,235"] = [29357] let s:lib.Codec.decoding_table["225,236"] = [29360] let s:lib.Codec.decoding_table["225,237"] = [29364] let s:lib.Codec.decoding_table["225,238"] = [29367] let s:lib.Codec.decoding_table["225,239"] = [29368] let s:lib.Codec.decoding_table["225,240"] = [29379] let s:lib.Codec.decoding_table["225,241"] = [29377] let s:lib.Codec.decoding_table["225,242"] = [29390] let s:lib.Codec.decoding_table["225,243"] = [29389] let s:lib.Codec.decoding_table["225,244"] = [29394] let s:lib.Codec.decoding_table["225,245"] = [29416] let s:lib.Codec.decoding_table["225,246"] = [29423] let s:lib.Codec.decoding_table["225,247"] = [29417] let s:lib.Codec.decoding_table["225,248"] = [29426] let s:lib.Codec.decoding_table["225,249"] = [29428] let s:lib.Codec.decoding_table["225,250"] = [29431] let s:lib.Codec.decoding_table["225,251"] = [29441] let s:lib.Codec.decoding_table["225,252"] = [29427] let s:lib.Codec.decoding_table["225,253"] = [29443] let s:lib.Codec.decoding_table["225,254"] = [29434] let s:lib.Codec.decoding_table["226,64"] = [37350] let s:lib.Codec.decoding_table["226,65"] = [37351] let s:lib.Codec.decoding_table["226,66"] = [37352] let s:lib.Codec.decoding_table["226,67"] = [37353] let s:lib.Codec.decoding_table["226,68"] = [37354] let s:lib.Codec.decoding_table["226,69"] = [37355] let s:lib.Codec.decoding_table["226,70"] = [37356] let s:lib.Codec.decoding_table["226,71"] = [37357] let s:lib.Codec.decoding_table["226,72"] = [37358] let s:lib.Codec.decoding_table["226,73"] = [37359] let s:lib.Codec.decoding_table["226,74"] = [37360] let s:lib.Codec.decoding_table["226,75"] = [37361] let s:lib.Codec.decoding_table["226,76"] = [37362] let s:lib.Codec.decoding_table["226,77"] = [37363] let s:lib.Codec.decoding_table["226,78"] = [37364] let s:lib.Codec.decoding_table["226,79"] = [37365] let s:lib.Codec.decoding_table["226,80"] = [37366] let s:lib.Codec.decoding_table["226,81"] = [37367] let s:lib.Codec.decoding_table["226,82"] = [37368] let s:lib.Codec.decoding_table["226,83"] = [37369] let s:lib.Codec.decoding_table["226,84"] = [37370] let s:lib.Codec.decoding_table["226,85"] = [37371] let s:lib.Codec.decoding_table["226,86"] = [37372] let s:lib.Codec.decoding_table["226,87"] = [37373] let s:lib.Codec.decoding_table["226,88"] = [37374] let s:lib.Codec.decoding_table["226,89"] = [37375] let s:lib.Codec.decoding_table["226,90"] = [37376] let s:lib.Codec.decoding_table["226,91"] = [37377] let s:lib.Codec.decoding_table["226,92"] = [37378] let s:lib.Codec.decoding_table["226,93"] = [37379] let s:lib.Codec.decoding_table["226,94"] = [37380] let s:lib.Codec.decoding_table["226,95"] = [37381] let s:lib.Codec.decoding_table["226,96"] = [37382] let s:lib.Codec.decoding_table["226,97"] = [37383] let s:lib.Codec.decoding_table["226,98"] = [37384] let s:lib.Codec.decoding_table["226,99"] = [37385] let s:lib.Codec.decoding_table["226,100"] = [37386] let s:lib.Codec.decoding_table["226,101"] = [37387] let s:lib.Codec.decoding_table["226,102"] = [37388] let s:lib.Codec.decoding_table["226,103"] = [37389] let s:lib.Codec.decoding_table["226,104"] = [37390] let s:lib.Codec.decoding_table["226,105"] = [37391] let s:lib.Codec.decoding_table["226,106"] = [37392] let s:lib.Codec.decoding_table["226,107"] = [37393] let s:lib.Codec.decoding_table["226,108"] = [37394] let s:lib.Codec.decoding_table["226,109"] = [37395] let s:lib.Codec.decoding_table["226,110"] = [37396] let s:lib.Codec.decoding_table["226,111"] = [37397] let s:lib.Codec.decoding_table["226,112"] = [37398] let s:lib.Codec.decoding_table["226,113"] = [37399] let s:lib.Codec.decoding_table["226,114"] = [37400] let s:lib.Codec.decoding_table["226,115"] = [37401] let s:lib.Codec.decoding_table["226,116"] = [37402] let s:lib.Codec.decoding_table["226,117"] = [37403] let s:lib.Codec.decoding_table["226,118"] = [37404] let s:lib.Codec.decoding_table["226,119"] = [37405] let s:lib.Codec.decoding_table["226,120"] = [37406] let s:lib.Codec.decoding_table["226,121"] = [37407] let s:lib.Codec.decoding_table["226,122"] = [37408] let s:lib.Codec.decoding_table["226,123"] = [37409] let s:lib.Codec.decoding_table["226,124"] = [37410] let s:lib.Codec.decoding_table["226,125"] = [37411] let s:lib.Codec.decoding_table["226,126"] = [37412] let s:lib.Codec.decoding_table["226,128"] = [37413] let s:lib.Codec.decoding_table["226,129"] = [37414] let s:lib.Codec.decoding_table["226,130"] = [37415] let s:lib.Codec.decoding_table["226,131"] = [37416] let s:lib.Codec.decoding_table["226,132"] = [37417] let s:lib.Codec.decoding_table["226,133"] = [37418] let s:lib.Codec.decoding_table["226,134"] = [37419] let s:lib.Codec.decoding_table["226,135"] = [37420] let s:lib.Codec.decoding_table["226,136"] = [37421] let s:lib.Codec.decoding_table["226,137"] = [37422] let s:lib.Codec.decoding_table["226,138"] = [37423] let s:lib.Codec.decoding_table["226,139"] = [37424] let s:lib.Codec.decoding_table["226,140"] = [37425] let s:lib.Codec.decoding_table["226,141"] = [37426] let s:lib.Codec.decoding_table["226,142"] = [37427] let s:lib.Codec.decoding_table["226,143"] = [37428] let s:lib.Codec.decoding_table["226,144"] = [37429] let s:lib.Codec.decoding_table["226,145"] = [37430] let s:lib.Codec.decoding_table["226,146"] = [37431] let s:lib.Codec.decoding_table["226,147"] = [37432] let s:lib.Codec.decoding_table["226,148"] = [37433] let s:lib.Codec.decoding_table["226,149"] = [37434] let s:lib.Codec.decoding_table["226,150"] = [37435] let s:lib.Codec.decoding_table["226,151"] = [37436] let s:lib.Codec.decoding_table["226,152"] = [37437] let s:lib.Codec.decoding_table["226,153"] = [37438] let s:lib.Codec.decoding_table["226,154"] = [37439] let s:lib.Codec.decoding_table["226,155"] = [37440] let s:lib.Codec.decoding_table["226,156"] = [37441] let s:lib.Codec.decoding_table["226,157"] = [37442] let s:lib.Codec.decoding_table["226,158"] = [37443] let s:lib.Codec.decoding_table["226,159"] = [37444] let s:lib.Codec.decoding_table["226,160"] = [37445] let s:lib.Codec.decoding_table["226,161"] = [29435] let s:lib.Codec.decoding_table["226,162"] = [29463] let s:lib.Codec.decoding_table["226,163"] = [29459] let s:lib.Codec.decoding_table["226,164"] = [29473] let s:lib.Codec.decoding_table["226,165"] = [29450] let s:lib.Codec.decoding_table["226,166"] = [29470] let s:lib.Codec.decoding_table["226,167"] = [29469] let s:lib.Codec.decoding_table["226,168"] = [29461] let s:lib.Codec.decoding_table["226,169"] = [29474] let s:lib.Codec.decoding_table["226,170"] = [29497] let s:lib.Codec.decoding_table["226,171"] = [29477] let s:lib.Codec.decoding_table["226,172"] = [29484] let s:lib.Codec.decoding_table["226,173"] = [29496] let s:lib.Codec.decoding_table["226,174"] = [29489] let s:lib.Codec.decoding_table["226,175"] = [29520] let s:lib.Codec.decoding_table["226,176"] = [29517] let s:lib.Codec.decoding_table["226,177"] = [29527] let s:lib.Codec.decoding_table["226,178"] = [29536] let s:lib.Codec.decoding_table["226,179"] = [29548] let s:lib.Codec.decoding_table["226,180"] = [29551] let s:lib.Codec.decoding_table["226,181"] = [29566] let s:lib.Codec.decoding_table["226,182"] = [33307] let s:lib.Codec.decoding_table["226,183"] = [22821] let s:lib.Codec.decoding_table["226,184"] = [39143] let s:lib.Codec.decoding_table["226,185"] = [22820] let s:lib.Codec.decoding_table["226,186"] = [22786] let s:lib.Codec.decoding_table["226,187"] = [39267] let s:lib.Codec.decoding_table["226,188"] = [39271] let s:lib.Codec.decoding_table["226,189"] = [39272] let s:lib.Codec.decoding_table["226,190"] = [39273] let s:lib.Codec.decoding_table["226,191"] = [39274] let s:lib.Codec.decoding_table["226,192"] = [39275] let s:lib.Codec.decoding_table["226,193"] = [39276] let s:lib.Codec.decoding_table["226,194"] = [39284] let s:lib.Codec.decoding_table["226,195"] = [39287] let s:lib.Codec.decoding_table["226,196"] = [39293] let s:lib.Codec.decoding_table["226,197"] = [39296] let s:lib.Codec.decoding_table["226,198"] = [39300] let s:lib.Codec.decoding_table["226,199"] = [39303] let s:lib.Codec.decoding_table["226,200"] = [39306] let s:lib.Codec.decoding_table["226,201"] = [39309] let s:lib.Codec.decoding_table["226,202"] = [39312] let s:lib.Codec.decoding_table["226,203"] = [39313] let s:lib.Codec.decoding_table["226,204"] = [39315] let s:lib.Codec.decoding_table["226,205"] = [39316] let s:lib.Codec.decoding_table["226,206"] = [39317] let s:lib.Codec.decoding_table["226,207"] = [24192] let s:lib.Codec.decoding_table["226,208"] = [24209] let s:lib.Codec.decoding_table["226,209"] = [24203] let s:lib.Codec.decoding_table["226,210"] = [24214] let s:lib.Codec.decoding_table["226,211"] = [24229] let s:lib.Codec.decoding_table["226,212"] = [24224] let s:lib.Codec.decoding_table["226,213"] = [24249] let s:lib.Codec.decoding_table["226,214"] = [24245] let s:lib.Codec.decoding_table["226,215"] = [24254] let s:lib.Codec.decoding_table["226,216"] = [24243] let s:lib.Codec.decoding_table["226,217"] = [36179] let s:lib.Codec.decoding_table["226,218"] = [24274] let s:lib.Codec.decoding_table["226,219"] = [24273] let s:lib.Codec.decoding_table["226,220"] = [24283] let s:lib.Codec.decoding_table["226,221"] = [24296] let s:lib.Codec.decoding_table["226,222"] = [24298] let s:lib.Codec.decoding_table["226,223"] = [33210] let s:lib.Codec.decoding_table["226,224"] = [24516] let s:lib.Codec.decoding_table["226,225"] = [24521] let s:lib.Codec.decoding_table["226,226"] = [24534] let s:lib.Codec.decoding_table["226,227"] = [24527] let s:lib.Codec.decoding_table["226,228"] = [24579] let s:lib.Codec.decoding_table["226,229"] = [24558] let s:lib.Codec.decoding_table["226,230"] = [24580] let s:lib.Codec.decoding_table["226,231"] = [24545] let s:lib.Codec.decoding_table["226,232"] = [24548] let s:lib.Codec.decoding_table["226,233"] = [24574] let s:lib.Codec.decoding_table["226,234"] = [24581] let s:lib.Codec.decoding_table["226,235"] = [24582] let s:lib.Codec.decoding_table["226,236"] = [24554] let s:lib.Codec.decoding_table["226,237"] = [24557] let s:lib.Codec.decoding_table["226,238"] = [24568] let s:lib.Codec.decoding_table["226,239"] = [24601] let s:lib.Codec.decoding_table["226,240"] = [24629] let s:lib.Codec.decoding_table["226,241"] = [24614] let s:lib.Codec.decoding_table["226,242"] = [24603] let s:lib.Codec.decoding_table["226,243"] = [24591] let s:lib.Codec.decoding_table["226,244"] = [24589] let s:lib.Codec.decoding_table["226,245"] = [24617] let s:lib.Codec.decoding_table["226,246"] = [24619] let s:lib.Codec.decoding_table["226,247"] = [24586] let s:lib.Codec.decoding_table["226,248"] = [24639] let s:lib.Codec.decoding_table["226,249"] = [24609] let s:lib.Codec.decoding_table["226,250"] = [24696] let s:lib.Codec.decoding_table["226,251"] = [24697] let s:lib.Codec.decoding_table["226,252"] = [24699] let s:lib.Codec.decoding_table["226,253"] = [24698] let s:lib.Codec.decoding_table["226,254"] = [24642] let s:lib.Codec.decoding_table["227,64"] = [37446] let s:lib.Codec.decoding_table["227,65"] = [37447] let s:lib.Codec.decoding_table["227,66"] = [37448] let s:lib.Codec.decoding_table["227,67"] = [37449] let s:lib.Codec.decoding_table["227,68"] = [37450] let s:lib.Codec.decoding_table["227,69"] = [37451] let s:lib.Codec.decoding_table["227,70"] = [37452] let s:lib.Codec.decoding_table["227,71"] = [37453] let s:lib.Codec.decoding_table["227,72"] = [37454] let s:lib.Codec.decoding_table["227,73"] = [37455] let s:lib.Codec.decoding_table["227,74"] = [37456] let s:lib.Codec.decoding_table["227,75"] = [37457] let s:lib.Codec.decoding_table["227,76"] = [37458] let s:lib.Codec.decoding_table["227,77"] = [37459] let s:lib.Codec.decoding_table["227,78"] = [37460] let s:lib.Codec.decoding_table["227,79"] = [37461] let s:lib.Codec.decoding_table["227,80"] = [37462] let s:lib.Codec.decoding_table["227,81"] = [37463] let s:lib.Codec.decoding_table["227,82"] = [37464] let s:lib.Codec.decoding_table["227,83"] = [37465] let s:lib.Codec.decoding_table["227,84"] = [37466] let s:lib.Codec.decoding_table["227,85"] = [37467] let s:lib.Codec.decoding_table["227,86"] = [37468] let s:lib.Codec.decoding_table["227,87"] = [37469] let s:lib.Codec.decoding_table["227,88"] = [37470] let s:lib.Codec.decoding_table["227,89"] = [37471] let s:lib.Codec.decoding_table["227,90"] = [37472] let s:lib.Codec.decoding_table["227,91"] = [37473] let s:lib.Codec.decoding_table["227,92"] = [37474] let s:lib.Codec.decoding_table["227,93"] = [37475] let s:lib.Codec.decoding_table["227,94"] = [37476] let s:lib.Codec.decoding_table["227,95"] = [37477] let s:lib.Codec.decoding_table["227,96"] = [37478] let s:lib.Codec.decoding_table["227,97"] = [37479] let s:lib.Codec.decoding_table["227,98"] = [37480] let s:lib.Codec.decoding_table["227,99"] = [37481] let s:lib.Codec.decoding_table["227,100"] = [37482] let s:lib.Codec.decoding_table["227,101"] = [37483] let s:lib.Codec.decoding_table["227,102"] = [37484] let s:lib.Codec.decoding_table["227,103"] = [37485] let s:lib.Codec.decoding_table["227,104"] = [37486] let s:lib.Codec.decoding_table["227,105"] = [37487] let s:lib.Codec.decoding_table["227,106"] = [37488] let s:lib.Codec.decoding_table["227,107"] = [37489] let s:lib.Codec.decoding_table["227,108"] = [37490] let s:lib.Codec.decoding_table["227,109"] = [37491] let s:lib.Codec.decoding_table["227,110"] = [37493] let s:lib.Codec.decoding_table["227,111"] = [37494] let s:lib.Codec.decoding_table["227,112"] = [37495] let s:lib.Codec.decoding_table["227,113"] = [37496] let s:lib.Codec.decoding_table["227,114"] = [37497] let s:lib.Codec.decoding_table["227,115"] = [37498] let s:lib.Codec.decoding_table["227,116"] = [37499] let s:lib.Codec.decoding_table["227,117"] = [37500] let s:lib.Codec.decoding_table["227,118"] = [37501] let s:lib.Codec.decoding_table["227,119"] = [37502] let s:lib.Codec.decoding_table["227,120"] = [37503] let s:lib.Codec.decoding_table["227,121"] = [37504] let s:lib.Codec.decoding_table["227,122"] = [37505] let s:lib.Codec.decoding_table["227,123"] = [37506] let s:lib.Codec.decoding_table["227,124"] = [37507] let s:lib.Codec.decoding_table["227,125"] = [37508] let s:lib.Codec.decoding_table["227,126"] = [37509] let s:lib.Codec.decoding_table["227,128"] = [37510] let s:lib.Codec.decoding_table["227,129"] = [37511] let s:lib.Codec.decoding_table["227,130"] = [37512] let s:lib.Codec.decoding_table["227,131"] = [37513] let s:lib.Codec.decoding_table["227,132"] = [37514] let s:lib.Codec.decoding_table["227,133"] = [37515] let s:lib.Codec.decoding_table["227,134"] = [37516] let s:lib.Codec.decoding_table["227,135"] = [37517] let s:lib.Codec.decoding_table["227,136"] = [37519] let s:lib.Codec.decoding_table["227,137"] = [37520] let s:lib.Codec.decoding_table["227,138"] = [37521] let s:lib.Codec.decoding_table["227,139"] = [37522] let s:lib.Codec.decoding_table["227,140"] = [37523] let s:lib.Codec.decoding_table["227,141"] = [37524] let s:lib.Codec.decoding_table["227,142"] = [37525] let s:lib.Codec.decoding_table["227,143"] = [37526] let s:lib.Codec.decoding_table["227,144"] = [37527] let s:lib.Codec.decoding_table["227,145"] = [37528] let s:lib.Codec.decoding_table["227,146"] = [37529] let s:lib.Codec.decoding_table["227,147"] = [37530] let s:lib.Codec.decoding_table["227,148"] = [37531] let s:lib.Codec.decoding_table["227,149"] = [37532] let s:lib.Codec.decoding_table["227,150"] = [37533] let s:lib.Codec.decoding_table["227,151"] = [37534] let s:lib.Codec.decoding_table["227,152"] = [37535] let s:lib.Codec.decoding_table["227,153"] = [37536] let s:lib.Codec.decoding_table["227,154"] = [37537] let s:lib.Codec.decoding_table["227,155"] = [37538] let s:lib.Codec.decoding_table["227,156"] = [37539] let s:lib.Codec.decoding_table["227,157"] = [37540] let s:lib.Codec.decoding_table["227,158"] = [37541] let s:lib.Codec.decoding_table["227,159"] = [37542] let s:lib.Codec.decoding_table["227,160"] = [37543] let s:lib.Codec.decoding_table["227,161"] = [24682] let s:lib.Codec.decoding_table["227,162"] = [24701] let s:lib.Codec.decoding_table["227,163"] = [24726] let s:lib.Codec.decoding_table["227,164"] = [24730] let s:lib.Codec.decoding_table["227,165"] = [24749] let s:lib.Codec.decoding_table["227,166"] = [24733] let s:lib.Codec.decoding_table["227,167"] = [24707] let s:lib.Codec.decoding_table["227,168"] = [24722] let s:lib.Codec.decoding_table["227,169"] = [24716] let s:lib.Codec.decoding_table["227,170"] = [24731] let s:lib.Codec.decoding_table["227,171"] = [24812] let s:lib.Codec.decoding_table["227,172"] = [24763] let s:lib.Codec.decoding_table["227,173"] = [24753] let s:lib.Codec.decoding_table["227,174"] = [24797] let s:lib.Codec.decoding_table["227,175"] = [24792] let s:lib.Codec.decoding_table["227,176"] = [24774] let s:lib.Codec.decoding_table["227,177"] = [24794] let s:lib.Codec.decoding_table["227,178"] = [24756] let s:lib.Codec.decoding_table["227,179"] = [24864] let s:lib.Codec.decoding_table["227,180"] = [24870] let s:lib.Codec.decoding_table["227,181"] = [24853] let s:lib.Codec.decoding_table["227,182"] = [24867] let s:lib.Codec.decoding_table["227,183"] = [24820] let s:lib.Codec.decoding_table["227,184"] = [24832] let s:lib.Codec.decoding_table["227,185"] = [24846] let s:lib.Codec.decoding_table["227,186"] = [24875] let s:lib.Codec.decoding_table["227,187"] = [24906] let s:lib.Codec.decoding_table["227,188"] = [24949] let s:lib.Codec.decoding_table["227,189"] = [25004] let s:lib.Codec.decoding_table["227,190"] = [24980] let s:lib.Codec.decoding_table["227,191"] = [24999] let s:lib.Codec.decoding_table["227,192"] = [25015] let s:lib.Codec.decoding_table["227,193"] = [25044] let s:lib.Codec.decoding_table["227,194"] = [25077] let s:lib.Codec.decoding_table["227,195"] = [24541] let s:lib.Codec.decoding_table["227,196"] = [38579] let s:lib.Codec.decoding_table["227,197"] = [38377] let s:lib.Codec.decoding_table["227,198"] = [38379] let s:lib.Codec.decoding_table["227,199"] = [38385] let s:lib.Codec.decoding_table["227,200"] = [38387] let s:lib.Codec.decoding_table["227,201"] = [38389] let s:lib.Codec.decoding_table["227,202"] = [38390] let s:lib.Codec.decoding_table["227,203"] = [38396] let s:lib.Codec.decoding_table["227,204"] = [38398] let s:lib.Codec.decoding_table["227,205"] = [38403] let s:lib.Codec.decoding_table["227,206"] = [38404] let s:lib.Codec.decoding_table["227,207"] = [38406] let s:lib.Codec.decoding_table["227,208"] = [38408] let s:lib.Codec.decoding_table["227,209"] = [38410] let s:lib.Codec.decoding_table["227,210"] = [38411] let s:lib.Codec.decoding_table["227,211"] = [38412] let s:lib.Codec.decoding_table["227,212"] = [38413] let s:lib.Codec.decoding_table["227,213"] = [38415] let s:lib.Codec.decoding_table["227,214"] = [38418] let s:lib.Codec.decoding_table["227,215"] = [38421] let s:lib.Codec.decoding_table["227,216"] = [38422] let s:lib.Codec.decoding_table["227,217"] = [38423] let s:lib.Codec.decoding_table["227,218"] = [38425] let s:lib.Codec.decoding_table["227,219"] = [38426] let s:lib.Codec.decoding_table["227,220"] = [20012] let s:lib.Codec.decoding_table["227,221"] = [29247] let s:lib.Codec.decoding_table["227,222"] = [25109] let s:lib.Codec.decoding_table["227,223"] = [27701] let s:lib.Codec.decoding_table["227,224"] = [27732] let s:lib.Codec.decoding_table["227,225"] = [27740] let s:lib.Codec.decoding_table["227,226"] = [27722] let s:lib.Codec.decoding_table["227,227"] = [27811] let s:lib.Codec.decoding_table["227,228"] = [27781] let s:lib.Codec.decoding_table["227,229"] = [27792] let s:lib.Codec.decoding_table["227,230"] = [27796] let s:lib.Codec.decoding_table["227,231"] = [27788] let s:lib.Codec.decoding_table["227,232"] = [27752] let s:lib.Codec.decoding_table["227,233"] = [27753] let s:lib.Codec.decoding_table["227,234"] = [27764] let s:lib.Codec.decoding_table["227,235"] = [27766] let s:lib.Codec.decoding_table["227,236"] = [27782] let s:lib.Codec.decoding_table["227,237"] = [27817] let s:lib.Codec.decoding_table["227,238"] = [27856] let s:lib.Codec.decoding_table["227,239"] = [27860] let s:lib.Codec.decoding_table["227,240"] = [27821] let s:lib.Codec.decoding_table["227,241"] = [27895] let s:lib.Codec.decoding_table["227,242"] = [27896] let s:lib.Codec.decoding_table["227,243"] = [27889] let s:lib.Codec.decoding_table["227,244"] = [27863] let s:lib.Codec.decoding_table["227,245"] = [27826] let s:lib.Codec.decoding_table["227,246"] = [27872] let s:lib.Codec.decoding_table["227,247"] = [27862] let s:lib.Codec.decoding_table["227,248"] = [27898] let s:lib.Codec.decoding_table["227,249"] = [27883] let s:lib.Codec.decoding_table["227,250"] = [27886] let s:lib.Codec.decoding_table["227,251"] = [27825] let s:lib.Codec.decoding_table["227,252"] = [27859] let s:lib.Codec.decoding_table["227,253"] = [27887] let s:lib.Codec.decoding_table["227,254"] = [27902] let s:lib.Codec.decoding_table["228,64"] = [37544] let s:lib.Codec.decoding_table["228,65"] = [37545] let s:lib.Codec.decoding_table["228,66"] = [37546] let s:lib.Codec.decoding_table["228,67"] = [37547] let s:lib.Codec.decoding_table["228,68"] = [37548] let s:lib.Codec.decoding_table["228,69"] = [37549] let s:lib.Codec.decoding_table["228,70"] = [37551] let s:lib.Codec.decoding_table["228,71"] = [37552] let s:lib.Codec.decoding_table["228,72"] = [37553] let s:lib.Codec.decoding_table["228,73"] = [37554] let s:lib.Codec.decoding_table["228,74"] = [37555] let s:lib.Codec.decoding_table["228,75"] = [37556] let s:lib.Codec.decoding_table["228,76"] = [37557] let s:lib.Codec.decoding_table["228,77"] = [37558] let s:lib.Codec.decoding_table["228,78"] = [37559] let s:lib.Codec.decoding_table["228,79"] = [37560] let s:lib.Codec.decoding_table["228,80"] = [37561] let s:lib.Codec.decoding_table["228,81"] = [37562] let s:lib.Codec.decoding_table["228,82"] = [37563] let s:lib.Codec.decoding_table["228,83"] = [37564] let s:lib.Codec.decoding_table["228,84"] = [37565] let s:lib.Codec.decoding_table["228,85"] = [37566] let s:lib.Codec.decoding_table["228,86"] = [37567] let s:lib.Codec.decoding_table["228,87"] = [37568] let s:lib.Codec.decoding_table["228,88"] = [37569] let s:lib.Codec.decoding_table["228,89"] = [37570] let s:lib.Codec.decoding_table["228,90"] = [37571] let s:lib.Codec.decoding_table["228,91"] = [37572] let s:lib.Codec.decoding_table["228,92"] = [37573] let s:lib.Codec.decoding_table["228,93"] = [37574] let s:lib.Codec.decoding_table["228,94"] = [37575] let s:lib.Codec.decoding_table["228,95"] = [37577] let s:lib.Codec.decoding_table["228,96"] = [37578] let s:lib.Codec.decoding_table["228,97"] = [37579] let s:lib.Codec.decoding_table["228,98"] = [37580] let s:lib.Codec.decoding_table["228,99"] = [37581] let s:lib.Codec.decoding_table["228,100"] = [37582] let s:lib.Codec.decoding_table["228,101"] = [37583] let s:lib.Codec.decoding_table["228,102"] = [37584] let s:lib.Codec.decoding_table["228,103"] = [37585] let s:lib.Codec.decoding_table["228,104"] = [37586] let s:lib.Codec.decoding_table["228,105"] = [37587] let s:lib.Codec.decoding_table["228,106"] = [37588] let s:lib.Codec.decoding_table["228,107"] = [37589] let s:lib.Codec.decoding_table["228,108"] = [37590] let s:lib.Codec.decoding_table["228,109"] = [37591] let s:lib.Codec.decoding_table["228,110"] = [37592] let s:lib.Codec.decoding_table["228,111"] = [37593] let s:lib.Codec.decoding_table["228,112"] = [37594] let s:lib.Codec.decoding_table["228,113"] = [37595] let s:lib.Codec.decoding_table["228,114"] = [37596] let s:lib.Codec.decoding_table["228,115"] = [37597] let s:lib.Codec.decoding_table["228,116"] = [37598] let s:lib.Codec.decoding_table["228,117"] = [37599] let s:lib.Codec.decoding_table["228,118"] = [37600] let s:lib.Codec.decoding_table["228,119"] = [37601] let s:lib.Codec.decoding_table["228,120"] = [37602] let s:lib.Codec.decoding_table["228,121"] = [37603] let s:lib.Codec.decoding_table["228,122"] = [37604] let s:lib.Codec.decoding_table["228,123"] = [37605] let s:lib.Codec.decoding_table["228,124"] = [37606] let s:lib.Codec.decoding_table["228,125"] = [37607] let s:lib.Codec.decoding_table["228,126"] = [37608] let s:lib.Codec.decoding_table["228,128"] = [37609] let s:lib.Codec.decoding_table["228,129"] = [37610] let s:lib.Codec.decoding_table["228,130"] = [37611] let s:lib.Codec.decoding_table["228,131"] = [37612] let s:lib.Codec.decoding_table["228,132"] = [37613] let s:lib.Codec.decoding_table["228,133"] = [37614] let s:lib.Codec.decoding_table["228,134"] = [37615] let s:lib.Codec.decoding_table["228,135"] = [37616] let s:lib.Codec.decoding_table["228,136"] = [37617] let s:lib.Codec.decoding_table["228,137"] = [37618] let s:lib.Codec.decoding_table["228,138"] = [37619] let s:lib.Codec.decoding_table["228,139"] = [37620] let s:lib.Codec.decoding_table["228,140"] = [37621] let s:lib.Codec.decoding_table["228,141"] = [37622] let s:lib.Codec.decoding_table["228,142"] = [37623] let s:lib.Codec.decoding_table["228,143"] = [37624] let s:lib.Codec.decoding_table["228,144"] = [37625] let s:lib.Codec.decoding_table["228,145"] = [37626] let s:lib.Codec.decoding_table["228,146"] = [37627] let s:lib.Codec.decoding_table["228,147"] = [37628] let s:lib.Codec.decoding_table["228,148"] = [37629] let s:lib.Codec.decoding_table["228,149"] = [37630] let s:lib.Codec.decoding_table["228,150"] = [37631] let s:lib.Codec.decoding_table["228,151"] = [37632] let s:lib.Codec.decoding_table["228,152"] = [37633] let s:lib.Codec.decoding_table["228,153"] = [37634] let s:lib.Codec.decoding_table["228,154"] = [37635] let s:lib.Codec.decoding_table["228,155"] = [37636] let s:lib.Codec.decoding_table["228,156"] = [37637] let s:lib.Codec.decoding_table["228,157"] = [37638] let s:lib.Codec.decoding_table["228,158"] = [37639] let s:lib.Codec.decoding_table["228,159"] = [37640] let s:lib.Codec.decoding_table["228,160"] = [37641] let s:lib.Codec.decoding_table["228,161"] = [27961] let s:lib.Codec.decoding_table["228,162"] = [27943] let s:lib.Codec.decoding_table["228,163"] = [27916] let s:lib.Codec.decoding_table["228,164"] = [27971] let s:lib.Codec.decoding_table["228,165"] = [27976] let s:lib.Codec.decoding_table["228,166"] = [27911] let s:lib.Codec.decoding_table["228,167"] = [27908] let s:lib.Codec.decoding_table["228,168"] = [27929] let s:lib.Codec.decoding_table["228,169"] = [27918] let s:lib.Codec.decoding_table["228,170"] = [27947] let s:lib.Codec.decoding_table["228,171"] = [27981] let s:lib.Codec.decoding_table["228,172"] = [27950] let s:lib.Codec.decoding_table["228,173"] = [27957] let s:lib.Codec.decoding_table["228,174"] = [27930] let s:lib.Codec.decoding_table["228,175"] = [27983] let s:lib.Codec.decoding_table["228,176"] = [27986] let s:lib.Codec.decoding_table["228,177"] = [27988] let s:lib.Codec.decoding_table["228,178"] = [27955] let s:lib.Codec.decoding_table["228,179"] = [28049] let s:lib.Codec.decoding_table["228,180"] = [28015] let s:lib.Codec.decoding_table["228,181"] = [28062] let s:lib.Codec.decoding_table["228,182"] = [28064] let s:lib.Codec.decoding_table["228,183"] = [27998] let s:lib.Codec.decoding_table["228,184"] = [28051] let s:lib.Codec.decoding_table["228,185"] = [28052] let s:lib.Codec.decoding_table["228,186"] = [27996] let s:lib.Codec.decoding_table["228,187"] = [28000] let s:lib.Codec.decoding_table["228,188"] = [28028] let s:lib.Codec.decoding_table["228,189"] = [28003] let s:lib.Codec.decoding_table["228,190"] = [28186] let s:lib.Codec.decoding_table["228,191"] = [28103] let s:lib.Codec.decoding_table["228,192"] = [28101] let s:lib.Codec.decoding_table["228,193"] = [28126] let s:lib.Codec.decoding_table["228,194"] = [28174] let s:lib.Codec.decoding_table["228,195"] = [28095] let s:lib.Codec.decoding_table["228,196"] = [28128] let s:lib.Codec.decoding_table["228,197"] = [28177] let s:lib.Codec.decoding_table["228,198"] = [28134] let s:lib.Codec.decoding_table["228,199"] = [28125] let s:lib.Codec.decoding_table["228,200"] = [28121] let s:lib.Codec.decoding_table["228,201"] = [28182] let s:lib.Codec.decoding_table["228,202"] = [28075] let s:lib.Codec.decoding_table["228,203"] = [28172] let s:lib.Codec.decoding_table["228,204"] = [28078] let s:lib.Codec.decoding_table["228,205"] = [28203] let s:lib.Codec.decoding_table["228,206"] = [28270] let s:lib.Codec.decoding_table["228,207"] = [28238] let s:lib.Codec.decoding_table["228,208"] = [28267] let s:lib.Codec.decoding_table["228,209"] = [28338] let s:lib.Codec.decoding_table["228,210"] = [28255] let s:lib.Codec.decoding_table["228,211"] = [28294] let s:lib.Codec.decoding_table["228,212"] = [28243] let s:lib.Codec.decoding_table["228,213"] = [28244] let s:lib.Codec.decoding_table["228,214"] = [28210] let s:lib.Codec.decoding_table["228,215"] = [28197] let s:lib.Codec.decoding_table["228,216"] = [28228] let s:lib.Codec.decoding_table["228,217"] = [28383] let s:lib.Codec.decoding_table["228,218"] = [28337] let s:lib.Codec.decoding_table["228,219"] = [28312] let s:lib.Codec.decoding_table["228,220"] = [28384] let s:lib.Codec.decoding_table["228,221"] = [28461] let s:lib.Codec.decoding_table["228,222"] = [28386] let s:lib.Codec.decoding_table["228,223"] = [28325] let s:lib.Codec.decoding_table["228,224"] = [28327] let s:lib.Codec.decoding_table["228,225"] = [28349] let s:lib.Codec.decoding_table["228,226"] = [28347] let s:lib.Codec.decoding_table["228,227"] = [28343] let s:lib.Codec.decoding_table["228,228"] = [28375] let s:lib.Codec.decoding_table["228,229"] = [28340] let s:lib.Codec.decoding_table["228,230"] = [28367] let s:lib.Codec.decoding_table["228,231"] = [28303] let s:lib.Codec.decoding_table["228,232"] = [28354] let s:lib.Codec.decoding_table["228,233"] = [28319] let s:lib.Codec.decoding_table["228,234"] = [28514] let s:lib.Codec.decoding_table["228,235"] = [28486] let s:lib.Codec.decoding_table["228,236"] = [28487] let s:lib.Codec.decoding_table["228,237"] = [28452] let s:lib.Codec.decoding_table["228,238"] = [28437] let s:lib.Codec.decoding_table["228,239"] = [28409] let s:lib.Codec.decoding_table["228,240"] = [28463] let s:lib.Codec.decoding_table["228,241"] = [28470] let s:lib.Codec.decoding_table["228,242"] = [28491] let s:lib.Codec.decoding_table["228,243"] = [28532] let s:lib.Codec.decoding_table["228,244"] = [28458] let s:lib.Codec.decoding_table["228,245"] = [28425] let s:lib.Codec.decoding_table["228,246"] = [28457] let s:lib.Codec.decoding_table["228,247"] = [28553] let s:lib.Codec.decoding_table["228,248"] = [28557] let s:lib.Codec.decoding_table["228,249"] = [28556] let s:lib.Codec.decoding_table["228,250"] = [28536] let s:lib.Codec.decoding_table["228,251"] = [28530] let s:lib.Codec.decoding_table["228,252"] = [28540] let s:lib.Codec.decoding_table["228,253"] = [28538] let s:lib.Codec.decoding_table["228,254"] = [28625] let s:lib.Codec.decoding_table["229,64"] = [37642] let s:lib.Codec.decoding_table["229,65"] = [37643] let s:lib.Codec.decoding_table["229,66"] = [37644] let s:lib.Codec.decoding_table["229,67"] = [37645] let s:lib.Codec.decoding_table["229,68"] = [37646] let s:lib.Codec.decoding_table["229,69"] = [37647] let s:lib.Codec.decoding_table["229,70"] = [37648] let s:lib.Codec.decoding_table["229,71"] = [37649] let s:lib.Codec.decoding_table["229,72"] = [37650] let s:lib.Codec.decoding_table["229,73"] = [37651] let s:lib.Codec.decoding_table["229,74"] = [37652] let s:lib.Codec.decoding_table["229,75"] = [37653] let s:lib.Codec.decoding_table["229,76"] = [37654] let s:lib.Codec.decoding_table["229,77"] = [37655] let s:lib.Codec.decoding_table["229,78"] = [37656] let s:lib.Codec.decoding_table["229,79"] = [37657] let s:lib.Codec.decoding_table["229,80"] = [37658] let s:lib.Codec.decoding_table["229,81"] = [37659] let s:lib.Codec.decoding_table["229,82"] = [37660] let s:lib.Codec.decoding_table["229,83"] = [37661] let s:lib.Codec.decoding_table["229,84"] = [37662] let s:lib.Codec.decoding_table["229,85"] = [37663] let s:lib.Codec.decoding_table["229,86"] = [37664] let s:lib.Codec.decoding_table["229,87"] = [37665] let s:lib.Codec.decoding_table["229,88"] = [37666] let s:lib.Codec.decoding_table["229,89"] = [37667] let s:lib.Codec.decoding_table["229,90"] = [37668] let s:lib.Codec.decoding_table["229,91"] = [37669] let s:lib.Codec.decoding_table["229,92"] = [37670] let s:lib.Codec.decoding_table["229,93"] = [37671] let s:lib.Codec.decoding_table["229,94"] = [37672] let s:lib.Codec.decoding_table["229,95"] = [37673] let s:lib.Codec.decoding_table["229,96"] = [37674] let s:lib.Codec.decoding_table["229,97"] = [37675] let s:lib.Codec.decoding_table["229,98"] = [37676] let s:lib.Codec.decoding_table["229,99"] = [37677] let s:lib.Codec.decoding_table["229,100"] = [37678] let s:lib.Codec.decoding_table["229,101"] = [37679] let s:lib.Codec.decoding_table["229,102"] = [37680] let s:lib.Codec.decoding_table["229,103"] = [37681] let s:lib.Codec.decoding_table["229,104"] = [37682] let s:lib.Codec.decoding_table["229,105"] = [37683] let s:lib.Codec.decoding_table["229,106"] = [37684] let s:lib.Codec.decoding_table["229,107"] = [37685] let s:lib.Codec.decoding_table["229,108"] = [37686] let s:lib.Codec.decoding_table["229,109"] = [37687] let s:lib.Codec.decoding_table["229,110"] = [37688] let s:lib.Codec.decoding_table["229,111"] = [37689] let s:lib.Codec.decoding_table["229,112"] = [37690] let s:lib.Codec.decoding_table["229,113"] = [37691] let s:lib.Codec.decoding_table["229,114"] = [37692] let s:lib.Codec.decoding_table["229,115"] = [37693] let s:lib.Codec.decoding_table["229,116"] = [37695] let s:lib.Codec.decoding_table["229,117"] = [37696] let s:lib.Codec.decoding_table["229,118"] = [37697] let s:lib.Codec.decoding_table["229,119"] = [37698] let s:lib.Codec.decoding_table["229,120"] = [37699] let s:lib.Codec.decoding_table["229,121"] = [37700] let s:lib.Codec.decoding_table["229,122"] = [37701] let s:lib.Codec.decoding_table["229,123"] = [37702] let s:lib.Codec.decoding_table["229,124"] = [37703] let s:lib.Codec.decoding_table["229,125"] = [37704] let s:lib.Codec.decoding_table["229,126"] = [37705] let s:lib.Codec.decoding_table["229,128"] = [37706] let s:lib.Codec.decoding_table["229,129"] = [37707] let s:lib.Codec.decoding_table["229,130"] = [37708] let s:lib.Codec.decoding_table["229,131"] = [37709] let s:lib.Codec.decoding_table["229,132"] = [37710] let s:lib.Codec.decoding_table["229,133"] = [37711] let s:lib.Codec.decoding_table["229,134"] = [37712] let s:lib.Codec.decoding_table["229,135"] = [37713] let s:lib.Codec.decoding_table["229,136"] = [37714] let s:lib.Codec.decoding_table["229,137"] = [37715] let s:lib.Codec.decoding_table["229,138"] = [37716] let s:lib.Codec.decoding_table["229,139"] = [37717] let s:lib.Codec.decoding_table["229,140"] = [37718] let s:lib.Codec.decoding_table["229,141"] = [37719] let s:lib.Codec.decoding_table["229,142"] = [37720] let s:lib.Codec.decoding_table["229,143"] = [37721] let s:lib.Codec.decoding_table["229,144"] = [37722] let s:lib.Codec.decoding_table["229,145"] = [37723] let s:lib.Codec.decoding_table["229,146"] = [37724] let s:lib.Codec.decoding_table["229,147"] = [37725] let s:lib.Codec.decoding_table["229,148"] = [37726] let s:lib.Codec.decoding_table["229,149"] = [37727] let s:lib.Codec.decoding_table["229,150"] = [37728] let s:lib.Codec.decoding_table["229,151"] = [37729] let s:lib.Codec.decoding_table["229,152"] = [37730] let s:lib.Codec.decoding_table["229,153"] = [37731] let s:lib.Codec.decoding_table["229,154"] = [37732] let s:lib.Codec.decoding_table["229,155"] = [37733] let s:lib.Codec.decoding_table["229,156"] = [37734] let s:lib.Codec.decoding_table["229,157"] = [37735] let s:lib.Codec.decoding_table["229,158"] = [37736] let s:lib.Codec.decoding_table["229,159"] = [37737] let s:lib.Codec.decoding_table["229,160"] = [37739] let s:lib.Codec.decoding_table["229,161"] = [28617] let s:lib.Codec.decoding_table["229,162"] = [28583] let s:lib.Codec.decoding_table["229,163"] = [28601] let s:lib.Codec.decoding_table["229,164"] = [28598] let s:lib.Codec.decoding_table["229,165"] = [28610] let s:lib.Codec.decoding_table["229,166"] = [28641] let s:lib.Codec.decoding_table["229,167"] = [28654] let s:lib.Codec.decoding_table["229,168"] = [28638] let s:lib.Codec.decoding_table["229,169"] = [28640] let s:lib.Codec.decoding_table["229,170"] = [28655] let s:lib.Codec.decoding_table["229,171"] = [28698] let s:lib.Codec.decoding_table["229,172"] = [28707] let s:lib.Codec.decoding_table["229,173"] = [28699] let s:lib.Codec.decoding_table["229,174"] = [28729] let s:lib.Codec.decoding_table["229,175"] = [28725] let s:lib.Codec.decoding_table["229,176"] = [28751] let s:lib.Codec.decoding_table["229,177"] = [28766] let s:lib.Codec.decoding_table["229,178"] = [23424] let s:lib.Codec.decoding_table["229,179"] = [23428] let s:lib.Codec.decoding_table["229,180"] = [23445] let s:lib.Codec.decoding_table["229,181"] = [23443] let s:lib.Codec.decoding_table["229,182"] = [23461] let s:lib.Codec.decoding_table["229,183"] = [23480] let s:lib.Codec.decoding_table["229,184"] = [29999] let s:lib.Codec.decoding_table["229,185"] = [39582] let s:lib.Codec.decoding_table["229,186"] = [25652] let s:lib.Codec.decoding_table["229,187"] = [23524] let s:lib.Codec.decoding_table["229,188"] = [23534] let s:lib.Codec.decoding_table["229,189"] = [35120] let s:lib.Codec.decoding_table["229,190"] = [23536] let s:lib.Codec.decoding_table["229,191"] = [36423] let s:lib.Codec.decoding_table["229,192"] = [35591] let s:lib.Codec.decoding_table["229,193"] = [36790] let s:lib.Codec.decoding_table["229,194"] = [36819] let s:lib.Codec.decoding_table["229,195"] = [36821] let s:lib.Codec.decoding_table["229,196"] = [36837] let s:lib.Codec.decoding_table["229,197"] = [36846] let s:lib.Codec.decoding_table["229,198"] = [36836] let s:lib.Codec.decoding_table["229,199"] = [36841] let s:lib.Codec.decoding_table["229,200"] = [36838] let s:lib.Codec.decoding_table["229,201"] = [36851] let s:lib.Codec.decoding_table["229,202"] = [36840] let s:lib.Codec.decoding_table["229,203"] = [36869] let s:lib.Codec.decoding_table["229,204"] = [36868] let s:lib.Codec.decoding_table["229,205"] = [36875] let s:lib.Codec.decoding_table["229,206"] = [36902] let s:lib.Codec.decoding_table["229,207"] = [36881] let s:lib.Codec.decoding_table["229,208"] = [36877] let s:lib.Codec.decoding_table["229,209"] = [36886] let s:lib.Codec.decoding_table["229,210"] = [36897] let s:lib.Codec.decoding_table["229,211"] = [36917] let s:lib.Codec.decoding_table["229,212"] = [36918] let s:lib.Codec.decoding_table["229,213"] = [36909] let s:lib.Codec.decoding_table["229,214"] = [36911] let s:lib.Codec.decoding_table["229,215"] = [36932] let s:lib.Codec.decoding_table["229,216"] = [36945] let s:lib.Codec.decoding_table["229,217"] = [36946] let s:lib.Codec.decoding_table["229,218"] = [36944] let s:lib.Codec.decoding_table["229,219"] = [36968] let s:lib.Codec.decoding_table["229,220"] = [36952] let s:lib.Codec.decoding_table["229,221"] = [36962] let s:lib.Codec.decoding_table["229,222"] = [36955] let s:lib.Codec.decoding_table["229,223"] = [26297] let s:lib.Codec.decoding_table["229,224"] = [36980] let s:lib.Codec.decoding_table["229,225"] = [36989] let s:lib.Codec.decoding_table["229,226"] = [36994] let s:lib.Codec.decoding_table["229,227"] = [37000] let s:lib.Codec.decoding_table["229,228"] = [36995] let s:lib.Codec.decoding_table["229,229"] = [37003] let s:lib.Codec.decoding_table["229,230"] = [24400] let s:lib.Codec.decoding_table["229,231"] = [24407] let s:lib.Codec.decoding_table["229,232"] = [24406] let s:lib.Codec.decoding_table["229,233"] = [24408] let s:lib.Codec.decoding_table["229,234"] = [23611] let s:lib.Codec.decoding_table["229,235"] = [21675] let s:lib.Codec.decoding_table["229,236"] = [23632] let s:lib.Codec.decoding_table["229,237"] = [23641] let s:lib.Codec.decoding_table["229,238"] = [23409] let s:lib.Codec.decoding_table["229,239"] = [23651] let s:lib.Codec.decoding_table["229,240"] = [23654] let s:lib.Codec.decoding_table["229,241"] = [32700] let s:lib.Codec.decoding_table["229,242"] = [24362] let s:lib.Codec.decoding_table["229,243"] = [24361] let s:lib.Codec.decoding_table["229,244"] = [24365] let s:lib.Codec.decoding_table["229,245"] = [33396] let s:lib.Codec.decoding_table["229,246"] = [24380] let s:lib.Codec.decoding_table["229,247"] = [39739] let s:lib.Codec.decoding_table["229,248"] = [23662] let s:lib.Codec.decoding_table["229,249"] = [22913] let s:lib.Codec.decoding_table["229,250"] = [22915] let s:lib.Codec.decoding_table["229,251"] = [22925] let s:lib.Codec.decoding_table["229,252"] = [22953] let s:lib.Codec.decoding_table["229,253"] = [22954] let s:lib.Codec.decoding_table["229,254"] = [22947] let s:lib.Codec.decoding_table["230,64"] = [37740] let s:lib.Codec.decoding_table["230,65"] = [37741] let s:lib.Codec.decoding_table["230,66"] = [37742] let s:lib.Codec.decoding_table["230,67"] = [37743] let s:lib.Codec.decoding_table["230,68"] = [37744] let s:lib.Codec.decoding_table["230,69"] = [37745] let s:lib.Codec.decoding_table["230,70"] = [37746] let s:lib.Codec.decoding_table["230,71"] = [37747] let s:lib.Codec.decoding_table["230,72"] = [37748] let s:lib.Codec.decoding_table["230,73"] = [37749] let s:lib.Codec.decoding_table["230,74"] = [37750] let s:lib.Codec.decoding_table["230,75"] = [37751] let s:lib.Codec.decoding_table["230,76"] = [37752] let s:lib.Codec.decoding_table["230,77"] = [37753] let s:lib.Codec.decoding_table["230,78"] = [37754] let s:lib.Codec.decoding_table["230,79"] = [37755] let s:lib.Codec.decoding_table["230,80"] = [37756] let s:lib.Codec.decoding_table["230,81"] = [37757] let s:lib.Codec.decoding_table["230,82"] = [37758] let s:lib.Codec.decoding_table["230,83"] = [37759] let s:lib.Codec.decoding_table["230,84"] = [37760] let s:lib.Codec.decoding_table["230,85"] = [37761] let s:lib.Codec.decoding_table["230,86"] = [37762] let s:lib.Codec.decoding_table["230,87"] = [37763] let s:lib.Codec.decoding_table["230,88"] = [37764] let s:lib.Codec.decoding_table["230,89"] = [37765] let s:lib.Codec.decoding_table["230,90"] = [37766] let s:lib.Codec.decoding_table["230,91"] = [37767] let s:lib.Codec.decoding_table["230,92"] = [37768] let s:lib.Codec.decoding_table["230,93"] = [37769] let s:lib.Codec.decoding_table["230,94"] = [37770] let s:lib.Codec.decoding_table["230,95"] = [37771] let s:lib.Codec.decoding_table["230,96"] = [37772] let s:lib.Codec.decoding_table["230,97"] = [37773] let s:lib.Codec.decoding_table["230,98"] = [37774] let s:lib.Codec.decoding_table["230,99"] = [37776] let s:lib.Codec.decoding_table["230,100"] = [37777] let s:lib.Codec.decoding_table["230,101"] = [37778] let s:lib.Codec.decoding_table["230,102"] = [37779] let s:lib.Codec.decoding_table["230,103"] = [37780] let s:lib.Codec.decoding_table["230,104"] = [37781] let s:lib.Codec.decoding_table["230,105"] = [37782] let s:lib.Codec.decoding_table["230,106"] = [37783] let s:lib.Codec.decoding_table["230,107"] = [37784] let s:lib.Codec.decoding_table["230,108"] = [37785] let s:lib.Codec.decoding_table["230,109"] = [37786] let s:lib.Codec.decoding_table["230,110"] = [37787] let s:lib.Codec.decoding_table["230,111"] = [37788] let s:lib.Codec.decoding_table["230,112"] = [37789] let s:lib.Codec.decoding_table["230,113"] = [37790] let s:lib.Codec.decoding_table["230,114"] = [37791] let s:lib.Codec.decoding_table["230,115"] = [37792] let s:lib.Codec.decoding_table["230,116"] = [37793] let s:lib.Codec.decoding_table["230,117"] = [37794] let s:lib.Codec.decoding_table["230,118"] = [37795] let s:lib.Codec.decoding_table["230,119"] = [37796] let s:lib.Codec.decoding_table["230,120"] = [37797] let s:lib.Codec.decoding_table["230,121"] = [37798] let s:lib.Codec.decoding_table["230,122"] = [37799] let s:lib.Codec.decoding_table["230,123"] = [37800] let s:lib.Codec.decoding_table["230,124"] = [37801] let s:lib.Codec.decoding_table["230,125"] = [37802] let s:lib.Codec.decoding_table["230,126"] = [37803] let s:lib.Codec.decoding_table["230,128"] = [37804] let s:lib.Codec.decoding_table["230,129"] = [37805] let s:lib.Codec.decoding_table["230,130"] = [37806] let s:lib.Codec.decoding_table["230,131"] = [37807] let s:lib.Codec.decoding_table["230,132"] = [37808] let s:lib.Codec.decoding_table["230,133"] = [37809] let s:lib.Codec.decoding_table["230,134"] = [37810] let s:lib.Codec.decoding_table["230,135"] = [37811] let s:lib.Codec.decoding_table["230,136"] = [37812] let s:lib.Codec.decoding_table["230,137"] = [37813] let s:lib.Codec.decoding_table["230,138"] = [37814] let s:lib.Codec.decoding_table["230,139"] = [37815] let s:lib.Codec.decoding_table["230,140"] = [37816] let s:lib.Codec.decoding_table["230,141"] = [37817] let s:lib.Codec.decoding_table["230,142"] = [37818] let s:lib.Codec.decoding_table["230,143"] = [37819] let s:lib.Codec.decoding_table["230,144"] = [37820] let s:lib.Codec.decoding_table["230,145"] = [37821] let s:lib.Codec.decoding_table["230,146"] = [37822] let s:lib.Codec.decoding_table["230,147"] = [37823] let s:lib.Codec.decoding_table["230,148"] = [37824] let s:lib.Codec.decoding_table["230,149"] = [37825] let s:lib.Codec.decoding_table["230,150"] = [37826] let s:lib.Codec.decoding_table["230,151"] = [37827] let s:lib.Codec.decoding_table["230,152"] = [37828] let s:lib.Codec.decoding_table["230,153"] = [37829] let s:lib.Codec.decoding_table["230,154"] = [37830] let s:lib.Codec.decoding_table["230,155"] = [37831] let s:lib.Codec.decoding_table["230,156"] = [37832] let s:lib.Codec.decoding_table["230,157"] = [37833] let s:lib.Codec.decoding_table["230,158"] = [37835] let s:lib.Codec.decoding_table["230,159"] = [37836] let s:lib.Codec.decoding_table["230,160"] = [37837] let s:lib.Codec.decoding_table["230,161"] = [22935] let s:lib.Codec.decoding_table["230,162"] = [22986] let s:lib.Codec.decoding_table["230,163"] = [22955] let s:lib.Codec.decoding_table["230,164"] = [22942] let s:lib.Codec.decoding_table["230,165"] = [22948] let s:lib.Codec.decoding_table["230,166"] = [22994] let s:lib.Codec.decoding_table["230,167"] = [22962] let s:lib.Codec.decoding_table["230,168"] = [22959] let s:lib.Codec.decoding_table["230,169"] = [22999] let s:lib.Codec.decoding_table["230,170"] = [22974] let s:lib.Codec.decoding_table["230,171"] = [23045] let s:lib.Codec.decoding_table["230,172"] = [23046] let s:lib.Codec.decoding_table["230,173"] = [23005] let s:lib.Codec.decoding_table["230,174"] = [23048] let s:lib.Codec.decoding_table["230,175"] = [23011] let s:lib.Codec.decoding_table["230,176"] = [23000] let s:lib.Codec.decoding_table["230,177"] = [23033] let s:lib.Codec.decoding_table["230,178"] = [23052] let s:lib.Codec.decoding_table["230,179"] = [23049] let s:lib.Codec.decoding_table["230,180"] = [23090] let s:lib.Codec.decoding_table["230,181"] = [23092] let s:lib.Codec.decoding_table["230,182"] = [23057] let s:lib.Codec.decoding_table["230,183"] = [23075] let s:lib.Codec.decoding_table["230,184"] = [23059] let s:lib.Codec.decoding_table["230,185"] = [23104] let s:lib.Codec.decoding_table["230,186"] = [23143] let s:lib.Codec.decoding_table["230,187"] = [23114] let s:lib.Codec.decoding_table["230,188"] = [23125] let s:lib.Codec.decoding_table["230,189"] = [23100] let s:lib.Codec.decoding_table["230,190"] = [23138] let s:lib.Codec.decoding_table["230,191"] = [23157] let s:lib.Codec.decoding_table["230,192"] = [33004] let s:lib.Codec.decoding_table["230,193"] = [23210] let s:lib.Codec.decoding_table["230,194"] = [23195] let s:lib.Codec.decoding_table["230,195"] = [23159] let s:lib.Codec.decoding_table["230,196"] = [23162] let s:lib.Codec.decoding_table["230,197"] = [23230] let s:lib.Codec.decoding_table["230,198"] = [23275] let s:lib.Codec.decoding_table["230,199"] = [23218] let s:lib.Codec.decoding_table["230,200"] = [23250] let s:lib.Codec.decoding_table["230,201"] = [23252] let s:lib.Codec.decoding_table["230,202"] = [23224] let s:lib.Codec.decoding_table["230,203"] = [23264] let s:lib.Codec.decoding_table["230,204"] = [23267] let s:lib.Codec.decoding_table["230,205"] = [23281] let s:lib.Codec.decoding_table["230,206"] = [23254] let s:lib.Codec.decoding_table["230,207"] = [23270] let s:lib.Codec.decoding_table["230,208"] = [23256] let s:lib.Codec.decoding_table["230,209"] = [23260] let s:lib.Codec.decoding_table["230,210"] = [23305] let s:lib.Codec.decoding_table["230,211"] = [23319] let s:lib.Codec.decoding_table["230,212"] = [23318] let s:lib.Codec.decoding_table["230,213"] = [23346] let s:lib.Codec.decoding_table["230,214"] = [23351] let s:lib.Codec.decoding_table["230,215"] = [23360] let s:lib.Codec.decoding_table["230,216"] = [23573] let s:lib.Codec.decoding_table["230,217"] = [23580] let s:lib.Codec.decoding_table["230,218"] = [23386] let s:lib.Codec.decoding_table["230,219"] = [23397] let s:lib.Codec.decoding_table["230,220"] = [23411] let s:lib.Codec.decoding_table["230,221"] = [23377] let s:lib.Codec.decoding_table["230,222"] = [23379] let s:lib.Codec.decoding_table["230,223"] = [23394] let s:lib.Codec.decoding_table["230,224"] = [39541] let s:lib.Codec.decoding_table["230,225"] = [39543] let s:lib.Codec.decoding_table["230,226"] = [39544] let s:lib.Codec.decoding_table["230,227"] = [39546] let s:lib.Codec.decoding_table["230,228"] = [39551] let s:lib.Codec.decoding_table["230,229"] = [39549] let s:lib.Codec.decoding_table["230,230"] = [39552] let s:lib.Codec.decoding_table["230,231"] = [39553] let s:lib.Codec.decoding_table["230,232"] = [39557] let s:lib.Codec.decoding_table["230,233"] = [39560] let s:lib.Codec.decoding_table["230,234"] = [39562] let s:lib.Codec.decoding_table["230,235"] = [39568] let s:lib.Codec.decoding_table["230,236"] = [39570] let s:lib.Codec.decoding_table["230,237"] = [39571] let s:lib.Codec.decoding_table["230,238"] = [39574] let s:lib.Codec.decoding_table["230,239"] = [39576] let s:lib.Codec.decoding_table["230,240"] = [39579] let s:lib.Codec.decoding_table["230,241"] = [39580] let s:lib.Codec.decoding_table["230,242"] = [39581] let s:lib.Codec.decoding_table["230,243"] = [39583] let s:lib.Codec.decoding_table["230,244"] = [39584] let s:lib.Codec.decoding_table["230,245"] = [39586] let s:lib.Codec.decoding_table["230,246"] = [39587] let s:lib.Codec.decoding_table["230,247"] = [39589] let s:lib.Codec.decoding_table["230,248"] = [39591] let s:lib.Codec.decoding_table["230,249"] = [32415] let s:lib.Codec.decoding_table["230,250"] = [32417] let s:lib.Codec.decoding_table["230,251"] = [32419] let s:lib.Codec.decoding_table["230,252"] = [32421] let s:lib.Codec.decoding_table["230,253"] = [32424] let s:lib.Codec.decoding_table["230,254"] = [32425] let s:lib.Codec.decoding_table["231,64"] = [37838] let s:lib.Codec.decoding_table["231,65"] = [37839] let s:lib.Codec.decoding_table["231,66"] = [37840] let s:lib.Codec.decoding_table["231,67"] = [37841] let s:lib.Codec.decoding_table["231,68"] = [37842] let s:lib.Codec.decoding_table["231,69"] = [37843] let s:lib.Codec.decoding_table["231,70"] = [37844] let s:lib.Codec.decoding_table["231,71"] = [37845] let s:lib.Codec.decoding_table["231,72"] = [37847] let s:lib.Codec.decoding_table["231,73"] = [37848] let s:lib.Codec.decoding_table["231,74"] = [37849] let s:lib.Codec.decoding_table["231,75"] = [37850] let s:lib.Codec.decoding_table["231,76"] = [37851] let s:lib.Codec.decoding_table["231,77"] = [37852] let s:lib.Codec.decoding_table["231,78"] = [37853] let s:lib.Codec.decoding_table["231,79"] = [37854] let s:lib.Codec.decoding_table["231,80"] = [37855] let s:lib.Codec.decoding_table["231,81"] = [37856] let s:lib.Codec.decoding_table["231,82"] = [37857] let s:lib.Codec.decoding_table["231,83"] = [37858] let s:lib.Codec.decoding_table["231,84"] = [37859] let s:lib.Codec.decoding_table["231,85"] = [37860] let s:lib.Codec.decoding_table["231,86"] = [37861] let s:lib.Codec.decoding_table["231,87"] = [37862] let s:lib.Codec.decoding_table["231,88"] = [37863] let s:lib.Codec.decoding_table["231,89"] = [37864] let s:lib.Codec.decoding_table["231,90"] = [37865] let s:lib.Codec.decoding_table["231,91"] = [37866] let s:lib.Codec.decoding_table["231,92"] = [37867] let s:lib.Codec.decoding_table["231,93"] = [37868] let s:lib.Codec.decoding_table["231,94"] = [37869] let s:lib.Codec.decoding_table["231,95"] = [37870] let s:lib.Codec.decoding_table["231,96"] = [37871] let s:lib.Codec.decoding_table["231,97"] = [37872] let s:lib.Codec.decoding_table["231,98"] = [37873] let s:lib.Codec.decoding_table["231,99"] = [37874] let s:lib.Codec.decoding_table["231,100"] = [37875] let s:lib.Codec.decoding_table["231,101"] = [37876] let s:lib.Codec.decoding_table["231,102"] = [37877] let s:lib.Codec.decoding_table["231,103"] = [37878] let s:lib.Codec.decoding_table["231,104"] = [37879] let s:lib.Codec.decoding_table["231,105"] = [37880] let s:lib.Codec.decoding_table["231,106"] = [37881] let s:lib.Codec.decoding_table["231,107"] = [37882] let s:lib.Codec.decoding_table["231,108"] = [37883] let s:lib.Codec.decoding_table["231,109"] = [37884] let s:lib.Codec.decoding_table["231,110"] = [37885] let s:lib.Codec.decoding_table["231,111"] = [37886] let s:lib.Codec.decoding_table["231,112"] = [37887] let s:lib.Codec.decoding_table["231,113"] = [37888] let s:lib.Codec.decoding_table["231,114"] = [37889] let s:lib.Codec.decoding_table["231,115"] = [37890] let s:lib.Codec.decoding_table["231,116"] = [37891] let s:lib.Codec.decoding_table["231,117"] = [37892] let s:lib.Codec.decoding_table["231,118"] = [37893] let s:lib.Codec.decoding_table["231,119"] = [37894] let s:lib.Codec.decoding_table["231,120"] = [37895] let s:lib.Codec.decoding_table["231,121"] = [37896] let s:lib.Codec.decoding_table["231,122"] = [37897] let s:lib.Codec.decoding_table["231,123"] = [37898] let s:lib.Codec.decoding_table["231,124"] = [37899] let s:lib.Codec.decoding_table["231,125"] = [37900] let s:lib.Codec.decoding_table["231,126"] = [37901] let s:lib.Codec.decoding_table["231,128"] = [37902] let s:lib.Codec.decoding_table["231,129"] = [37903] let s:lib.Codec.decoding_table["231,130"] = [37904] let s:lib.Codec.decoding_table["231,131"] = [37905] let s:lib.Codec.decoding_table["231,132"] = [37906] let s:lib.Codec.decoding_table["231,133"] = [37907] let s:lib.Codec.decoding_table["231,134"] = [37908] let s:lib.Codec.decoding_table["231,135"] = [37909] let s:lib.Codec.decoding_table["231,136"] = [37910] let s:lib.Codec.decoding_table["231,137"] = [37911] let s:lib.Codec.decoding_table["231,138"] = [37912] let s:lib.Codec.decoding_table["231,139"] = [37913] let s:lib.Codec.decoding_table["231,140"] = [37914] let s:lib.Codec.decoding_table["231,141"] = [37915] let s:lib.Codec.decoding_table["231,142"] = [37916] let s:lib.Codec.decoding_table["231,143"] = [37917] let s:lib.Codec.decoding_table["231,144"] = [37918] let s:lib.Codec.decoding_table["231,145"] = [37919] let s:lib.Codec.decoding_table["231,146"] = [37920] let s:lib.Codec.decoding_table["231,147"] = [37921] let s:lib.Codec.decoding_table["231,148"] = [37922] let s:lib.Codec.decoding_table["231,149"] = [37923] let s:lib.Codec.decoding_table["231,150"] = [37924] let s:lib.Codec.decoding_table["231,151"] = [37925] let s:lib.Codec.decoding_table["231,152"] = [37926] let s:lib.Codec.decoding_table["231,153"] = [37927] let s:lib.Codec.decoding_table["231,154"] = [37928] let s:lib.Codec.decoding_table["231,155"] = [37929] let s:lib.Codec.decoding_table["231,156"] = [37930] let s:lib.Codec.decoding_table["231,157"] = [37931] let s:lib.Codec.decoding_table["231,158"] = [37932] let s:lib.Codec.decoding_table["231,159"] = [37933] let s:lib.Codec.decoding_table["231,160"] = [37934] let s:lib.Codec.decoding_table["231,161"] = [32429] let s:lib.Codec.decoding_table["231,162"] = [32432] let s:lib.Codec.decoding_table["231,163"] = [32446] let s:lib.Codec.decoding_table["231,164"] = [32448] let s:lib.Codec.decoding_table["231,165"] = [32449] let s:lib.Codec.decoding_table["231,166"] = [32450] let s:lib.Codec.decoding_table["231,167"] = [32457] let s:lib.Codec.decoding_table["231,168"] = [32459] let s:lib.Codec.decoding_table["231,169"] = [32460] let s:lib.Codec.decoding_table["231,170"] = [32464] let s:lib.Codec.decoding_table["231,171"] = [32468] let s:lib.Codec.decoding_table["231,172"] = [32471] let s:lib.Codec.decoding_table["231,173"] = [32475] let s:lib.Codec.decoding_table["231,174"] = [32480] let s:lib.Codec.decoding_table["231,175"] = [32481] let s:lib.Codec.decoding_table["231,176"] = [32488] let s:lib.Codec.decoding_table["231,177"] = [32491] let s:lib.Codec.decoding_table["231,178"] = [32494] let s:lib.Codec.decoding_table["231,179"] = [32495] let s:lib.Codec.decoding_table["231,180"] = [32497] let s:lib.Codec.decoding_table["231,181"] = [32498] let s:lib.Codec.decoding_table["231,182"] = [32525] let s:lib.Codec.decoding_table["231,183"] = [32502] let s:lib.Codec.decoding_table["231,184"] = [32506] let s:lib.Codec.decoding_table["231,185"] = [32507] let s:lib.Codec.decoding_table["231,186"] = [32510] let s:lib.Codec.decoding_table["231,187"] = [32513] let s:lib.Codec.decoding_table["231,188"] = [32514] let s:lib.Codec.decoding_table["231,189"] = [32515] let s:lib.Codec.decoding_table["231,190"] = [32519] let s:lib.Codec.decoding_table["231,191"] = [32520] let s:lib.Codec.decoding_table["231,192"] = [32523] let s:lib.Codec.decoding_table["231,193"] = [32524] let s:lib.Codec.decoding_table["231,194"] = [32527] let s:lib.Codec.decoding_table["231,195"] = [32529] let s:lib.Codec.decoding_table["231,196"] = [32530] let s:lib.Codec.decoding_table["231,197"] = [32535] let s:lib.Codec.decoding_table["231,198"] = [32537] let s:lib.Codec.decoding_table["231,199"] = [32540] let s:lib.Codec.decoding_table["231,200"] = [32539] let s:lib.Codec.decoding_table["231,201"] = [32543] let s:lib.Codec.decoding_table["231,202"] = [32545] let s:lib.Codec.decoding_table["231,203"] = [32546] let s:lib.Codec.decoding_table["231,204"] = [32547] let s:lib.Codec.decoding_table["231,205"] = [32548] let s:lib.Codec.decoding_table["231,206"] = [32549] let s:lib.Codec.decoding_table["231,207"] = [32550] let s:lib.Codec.decoding_table["231,208"] = [32551] let s:lib.Codec.decoding_table["231,209"] = [32554] let s:lib.Codec.decoding_table["231,210"] = [32555] let s:lib.Codec.decoding_table["231,211"] = [32556] let s:lib.Codec.decoding_table["231,212"] = [32557] let s:lib.Codec.decoding_table["231,213"] = [32559] let s:lib.Codec.decoding_table["231,214"] = [32560] let s:lib.Codec.decoding_table["231,215"] = [32561] let s:lib.Codec.decoding_table["231,216"] = [32562] let s:lib.Codec.decoding_table["231,217"] = [32563] let s:lib.Codec.decoding_table["231,218"] = [32565] let s:lib.Codec.decoding_table["231,219"] = [24186] let s:lib.Codec.decoding_table["231,220"] = [30079] let s:lib.Codec.decoding_table["231,221"] = [24027] let s:lib.Codec.decoding_table["231,222"] = [30014] let s:lib.Codec.decoding_table["231,223"] = [37013] let s:lib.Codec.decoding_table["231,224"] = [29582] let s:lib.Codec.decoding_table["231,225"] = [29585] let s:lib.Codec.decoding_table["231,226"] = [29614] let s:lib.Codec.decoding_table["231,227"] = [29602] let s:lib.Codec.decoding_table["231,228"] = [29599] let s:lib.Codec.decoding_table["231,229"] = [29647] let s:lib.Codec.decoding_table["231,230"] = [29634] let s:lib.Codec.decoding_table["231,231"] = [29649] let s:lib.Codec.decoding_table["231,232"] = [29623] let s:lib.Codec.decoding_table["231,233"] = [29619] let s:lib.Codec.decoding_table["231,234"] = [29632] let s:lib.Codec.decoding_table["231,235"] = [29641] let s:lib.Codec.decoding_table["231,236"] = [29640] let s:lib.Codec.decoding_table["231,237"] = [29669] let s:lib.Codec.decoding_table["231,238"] = [29657] let s:lib.Codec.decoding_table["231,239"] = [39036] let s:lib.Codec.decoding_table["231,240"] = [29706] let s:lib.Codec.decoding_table["231,241"] = [29673] let s:lib.Codec.decoding_table["231,242"] = [29671] let s:lib.Codec.decoding_table["231,243"] = [29662] let s:lib.Codec.decoding_table["231,244"] = [29626] let s:lib.Codec.decoding_table["231,245"] = [29682] let s:lib.Codec.decoding_table["231,246"] = [29711] let s:lib.Codec.decoding_table["231,247"] = [29738] let s:lib.Codec.decoding_table["231,248"] = [29787] let s:lib.Codec.decoding_table["231,249"] = [29734] let s:lib.Codec.decoding_table["231,250"] = [29733] let s:lib.Codec.decoding_table["231,251"] = [29736] let s:lib.Codec.decoding_table["231,252"] = [29744] let s:lib.Codec.decoding_table["231,253"] = [29742] let s:lib.Codec.decoding_table["231,254"] = [29740] let s:lib.Codec.decoding_table["232,64"] = [37935] let s:lib.Codec.decoding_table["232,65"] = [37936] let s:lib.Codec.decoding_table["232,66"] = [37937] let s:lib.Codec.decoding_table["232,67"] = [37938] let s:lib.Codec.decoding_table["232,68"] = [37939] let s:lib.Codec.decoding_table["232,69"] = [37940] let s:lib.Codec.decoding_table["232,70"] = [37941] let s:lib.Codec.decoding_table["232,71"] = [37942] let s:lib.Codec.decoding_table["232,72"] = [37943] let s:lib.Codec.decoding_table["232,73"] = [37944] let s:lib.Codec.decoding_table["232,74"] = [37945] let s:lib.Codec.decoding_table["232,75"] = [37946] let s:lib.Codec.decoding_table["232,76"] = [37947] let s:lib.Codec.decoding_table["232,77"] = [37948] let s:lib.Codec.decoding_table["232,78"] = [37949] let s:lib.Codec.decoding_table["232,79"] = [37951] let s:lib.Codec.decoding_table["232,80"] = [37952] let s:lib.Codec.decoding_table["232,81"] = [37953] let s:lib.Codec.decoding_table["232,82"] = [37954] let s:lib.Codec.decoding_table["232,83"] = [37955] let s:lib.Codec.decoding_table["232,84"] = [37956] let s:lib.Codec.decoding_table["232,85"] = [37957] let s:lib.Codec.decoding_table["232,86"] = [37958] let s:lib.Codec.decoding_table["232,87"] = [37959] let s:lib.Codec.decoding_table["232,88"] = [37960] let s:lib.Codec.decoding_table["232,89"] = [37961] let s:lib.Codec.decoding_table["232,90"] = [37962] let s:lib.Codec.decoding_table["232,91"] = [37963] let s:lib.Codec.decoding_table["232,92"] = [37964] let s:lib.Codec.decoding_table["232,93"] = [37965] let s:lib.Codec.decoding_table["232,94"] = [37966] let s:lib.Codec.decoding_table["232,95"] = [37967] let s:lib.Codec.decoding_table["232,96"] = [37968] let s:lib.Codec.decoding_table["232,97"] = [37969] let s:lib.Codec.decoding_table["232,98"] = [37970] let s:lib.Codec.decoding_table["232,99"] = [37971] let s:lib.Codec.decoding_table["232,100"] = [37972] let s:lib.Codec.decoding_table["232,101"] = [37973] let s:lib.Codec.decoding_table["232,102"] = [37974] let s:lib.Codec.decoding_table["232,103"] = [37975] let s:lib.Codec.decoding_table["232,104"] = [37976] let s:lib.Codec.decoding_table["232,105"] = [37977] let s:lib.Codec.decoding_table["232,106"] = [37978] let s:lib.Codec.decoding_table["232,107"] = [37979] let s:lib.Codec.decoding_table["232,108"] = [37980] let s:lib.Codec.decoding_table["232,109"] = [37981] let s:lib.Codec.decoding_table["232,110"] = [37982] let s:lib.Codec.decoding_table["232,111"] = [37983] let s:lib.Codec.decoding_table["232,112"] = [37984] let s:lib.Codec.decoding_table["232,113"] = [37985] let s:lib.Codec.decoding_table["232,114"] = [37986] let s:lib.Codec.decoding_table["232,115"] = [37987] let s:lib.Codec.decoding_table["232,116"] = [37988] let s:lib.Codec.decoding_table["232,117"] = [37989] let s:lib.Codec.decoding_table["232,118"] = [37990] let s:lib.Codec.decoding_table["232,119"] = [37991] let s:lib.Codec.decoding_table["232,120"] = [37992] let s:lib.Codec.decoding_table["232,121"] = [37993] let s:lib.Codec.decoding_table["232,122"] = [37994] let s:lib.Codec.decoding_table["232,123"] = [37996] let s:lib.Codec.decoding_table["232,124"] = [37997] let s:lib.Codec.decoding_table["232,125"] = [37998] let s:lib.Codec.decoding_table["232,126"] = [37999] let s:lib.Codec.decoding_table["232,128"] = [38000] let s:lib.Codec.decoding_table["232,129"] = [38001] let s:lib.Codec.decoding_table["232,130"] = [38002] let s:lib.Codec.decoding_table["232,131"] = [38003] let s:lib.Codec.decoding_table["232,132"] = [38004] let s:lib.Codec.decoding_table["232,133"] = [38005] let s:lib.Codec.decoding_table["232,134"] = [38006] let s:lib.Codec.decoding_table["232,135"] = [38007] let s:lib.Codec.decoding_table["232,136"] = [38008] let s:lib.Codec.decoding_table["232,137"] = [38009] let s:lib.Codec.decoding_table["232,138"] = [38010] let s:lib.Codec.decoding_table["232,139"] = [38011] let s:lib.Codec.decoding_table["232,140"] = [38012] let s:lib.Codec.decoding_table["232,141"] = [38013] let s:lib.Codec.decoding_table["232,142"] = [38014] let s:lib.Codec.decoding_table["232,143"] = [38015] let s:lib.Codec.decoding_table["232,144"] = [38016] let s:lib.Codec.decoding_table["232,145"] = [38017] let s:lib.Codec.decoding_table["232,146"] = [38018] let s:lib.Codec.decoding_table["232,147"] = [38019] let s:lib.Codec.decoding_table["232,148"] = [38020] let s:lib.Codec.decoding_table["232,149"] = [38033] let s:lib.Codec.decoding_table["232,150"] = [38038] let s:lib.Codec.decoding_table["232,151"] = [38040] let s:lib.Codec.decoding_table["232,152"] = [38087] let s:lib.Codec.decoding_table["232,153"] = [38095] let s:lib.Codec.decoding_table["232,154"] = [38099] let s:lib.Codec.decoding_table["232,155"] = [38100] let s:lib.Codec.decoding_table["232,156"] = [38106] let s:lib.Codec.decoding_table["232,157"] = [38118] let s:lib.Codec.decoding_table["232,158"] = [38139] let s:lib.Codec.decoding_table["232,159"] = [38172] let s:lib.Codec.decoding_table["232,160"] = [38176] let s:lib.Codec.decoding_table["232,161"] = [29723] let s:lib.Codec.decoding_table["232,162"] = [29722] let s:lib.Codec.decoding_table["232,163"] = [29761] let s:lib.Codec.decoding_table["232,164"] = [29788] let s:lib.Codec.decoding_table["232,165"] = [29783] let s:lib.Codec.decoding_table["232,166"] = [29781] let s:lib.Codec.decoding_table["232,167"] = [29785] let s:lib.Codec.decoding_table["232,168"] = [29815] let s:lib.Codec.decoding_table["232,169"] = [29805] let s:lib.Codec.decoding_table["232,170"] = [29822] let s:lib.Codec.decoding_table["232,171"] = [29852] let s:lib.Codec.decoding_table["232,172"] = [29838] let s:lib.Codec.decoding_table["232,173"] = [29824] let s:lib.Codec.decoding_table["232,174"] = [29825] let s:lib.Codec.decoding_table["232,175"] = [29831] let s:lib.Codec.decoding_table["232,176"] = [29835] let s:lib.Codec.decoding_table["232,177"] = [29854] let s:lib.Codec.decoding_table["232,178"] = [29864] let s:lib.Codec.decoding_table["232,179"] = [29865] let s:lib.Codec.decoding_table["232,180"] = [29840] let s:lib.Codec.decoding_table["232,181"] = [29863] let s:lib.Codec.decoding_table["232,182"] = [29906] let s:lib.Codec.decoding_table["232,183"] = [29882] let s:lib.Codec.decoding_table["232,184"] = [38890] let s:lib.Codec.decoding_table["232,185"] = [38891] let s:lib.Codec.decoding_table["232,186"] = [38892] let s:lib.Codec.decoding_table["232,187"] = [26444] let s:lib.Codec.decoding_table["232,188"] = [26451] let s:lib.Codec.decoding_table["232,189"] = [26462] let s:lib.Codec.decoding_table["232,190"] = [26440] let s:lib.Codec.decoding_table["232,191"] = [26473] let s:lib.Codec.decoding_table["232,192"] = [26533] let s:lib.Codec.decoding_table["232,193"] = [26503] let s:lib.Codec.decoding_table["232,194"] = [26474] let s:lib.Codec.decoding_table["232,195"] = [26483] let s:lib.Codec.decoding_table["232,196"] = [26520] let s:lib.Codec.decoding_table["232,197"] = [26535] let s:lib.Codec.decoding_table["232,198"] = [26485] let s:lib.Codec.decoding_table["232,199"] = [26536] let s:lib.Codec.decoding_table["232,200"] = [26526] let s:lib.Codec.decoding_table["232,201"] = [26541] let s:lib.Codec.decoding_table["232,202"] = [26507] let s:lib.Codec.decoding_table["232,203"] = [26487] let s:lib.Codec.decoding_table["232,204"] = [26492] let s:lib.Codec.decoding_table["232,205"] = [26608] let s:lib.Codec.decoding_table["232,206"] = [26633] let s:lib.Codec.decoding_table["232,207"] = [26584] let s:lib.Codec.decoding_table["232,208"] = [26634] let s:lib.Codec.decoding_table["232,209"] = [26601] let s:lib.Codec.decoding_table["232,210"] = [26544] let s:lib.Codec.decoding_table["232,211"] = [26636] let s:lib.Codec.decoding_table["232,212"] = [26585] let s:lib.Codec.decoding_table["232,213"] = [26549] let s:lib.Codec.decoding_table["232,214"] = [26586] let s:lib.Codec.decoding_table["232,215"] = [26547] let s:lib.Codec.decoding_table["232,216"] = [26589] let s:lib.Codec.decoding_table["232,217"] = [26624] let s:lib.Codec.decoding_table["232,218"] = [26563] let s:lib.Codec.decoding_table["232,219"] = [26552] let s:lib.Codec.decoding_table["232,220"] = [26594] let s:lib.Codec.decoding_table["232,221"] = [26638] let s:lib.Codec.decoding_table["232,222"] = [26561] let s:lib.Codec.decoding_table["232,223"] = [26621] let s:lib.Codec.decoding_table["232,224"] = [26674] let s:lib.Codec.decoding_table["232,225"] = [26675] let s:lib.Codec.decoding_table["232,226"] = [26720] let s:lib.Codec.decoding_table["232,227"] = [26721] let s:lib.Codec.decoding_table["232,228"] = [26702] let s:lib.Codec.decoding_table["232,229"] = [26722] let s:lib.Codec.decoding_table["232,230"] = [26692] let s:lib.Codec.decoding_table["232,231"] = [26724] let s:lib.Codec.decoding_table["232,232"] = [26755] let s:lib.Codec.decoding_table["232,233"] = [26653] let s:lib.Codec.decoding_table["232,234"] = [26709] let s:lib.Codec.decoding_table["232,235"] = [26726] let s:lib.Codec.decoding_table["232,236"] = [26689] let s:lib.Codec.decoding_table["232,237"] = [26727] let s:lib.Codec.decoding_table["232,238"] = [26688] let s:lib.Codec.decoding_table["232,239"] = [26686] let s:lib.Codec.decoding_table["232,240"] = [26698] let s:lib.Codec.decoding_table["232,241"] = [26697] let s:lib.Codec.decoding_table["232,242"] = [26665] let s:lib.Codec.decoding_table["232,243"] = [26805] let s:lib.Codec.decoding_table["232,244"] = [26767] let s:lib.Codec.decoding_table["232,245"] = [26740] let s:lib.Codec.decoding_table["232,246"] = [26743] let s:lib.Codec.decoding_table["232,247"] = [26771] let s:lib.Codec.decoding_table["232,248"] = [26731] let s:lib.Codec.decoding_table["232,249"] = [26818] let s:lib.Codec.decoding_table["232,250"] = [26990] let s:lib.Codec.decoding_table["232,251"] = [26876] let s:lib.Codec.decoding_table["232,252"] = [26911] let s:lib.Codec.decoding_table["232,253"] = [26912] let s:lib.Codec.decoding_table["232,254"] = [26873] let s:lib.Codec.decoding_table["233,64"] = [38183] let s:lib.Codec.decoding_table["233,65"] = [38195] let s:lib.Codec.decoding_table["233,66"] = [38205] let s:lib.Codec.decoding_table["233,67"] = [38211] let s:lib.Codec.decoding_table["233,68"] = [38216] let s:lib.Codec.decoding_table["233,69"] = [38219] let s:lib.Codec.decoding_table["233,70"] = [38229] let s:lib.Codec.decoding_table["233,71"] = [38234] let s:lib.Codec.decoding_table["233,72"] = [38240] let s:lib.Codec.decoding_table["233,73"] = [38254] let s:lib.Codec.decoding_table["233,74"] = [38260] let s:lib.Codec.decoding_table["233,75"] = [38261] let s:lib.Codec.decoding_table["233,76"] = [38263] let s:lib.Codec.decoding_table["233,77"] = [38264] let s:lib.Codec.decoding_table["233,78"] = [38265] let s:lib.Codec.decoding_table["233,79"] = [38266] let s:lib.Codec.decoding_table["233,80"] = [38267] let s:lib.Codec.decoding_table["233,81"] = [38268] let s:lib.Codec.decoding_table["233,82"] = [38269] let s:lib.Codec.decoding_table["233,83"] = [38270] let s:lib.Codec.decoding_table["233,84"] = [38272] let s:lib.Codec.decoding_table["233,85"] = [38273] let s:lib.Codec.decoding_table["233,86"] = [38274] let s:lib.Codec.decoding_table["233,87"] = [38275] let s:lib.Codec.decoding_table["233,88"] = [38276] let s:lib.Codec.decoding_table["233,89"] = [38277] let s:lib.Codec.decoding_table["233,90"] = [38278] let s:lib.Codec.decoding_table["233,91"] = [38279] let s:lib.Codec.decoding_table["233,92"] = [38280] let s:lib.Codec.decoding_table["233,93"] = [38281] let s:lib.Codec.decoding_table["233,94"] = [38282] let s:lib.Codec.decoding_table["233,95"] = [38283] let s:lib.Codec.decoding_table["233,96"] = [38284] let s:lib.Codec.decoding_table["233,97"] = [38285] let s:lib.Codec.decoding_table["233,98"] = [38286] let s:lib.Codec.decoding_table["233,99"] = [38287] let s:lib.Codec.decoding_table["233,100"] = [38288] let s:lib.Codec.decoding_table["233,101"] = [38289] let s:lib.Codec.decoding_table["233,102"] = [38290] let s:lib.Codec.decoding_table["233,103"] = [38291] let s:lib.Codec.decoding_table["233,104"] = [38292] let s:lib.Codec.decoding_table["233,105"] = [38293] let s:lib.Codec.decoding_table["233,106"] = [38294] let s:lib.Codec.decoding_table["233,107"] = [38295] let s:lib.Codec.decoding_table["233,108"] = [38296] let s:lib.Codec.decoding_table["233,109"] = [38297] let s:lib.Codec.decoding_table["233,110"] = [38298] let s:lib.Codec.decoding_table["233,111"] = [38299] let s:lib.Codec.decoding_table["233,112"] = [38300] let s:lib.Codec.decoding_table["233,113"] = [38301] let s:lib.Codec.decoding_table["233,114"] = [38302] let s:lib.Codec.decoding_table["233,115"] = [38303] let s:lib.Codec.decoding_table["233,116"] = [38304] let s:lib.Codec.decoding_table["233,117"] = [38305] let s:lib.Codec.decoding_table["233,118"] = [38306] let s:lib.Codec.decoding_table["233,119"] = [38307] let s:lib.Codec.decoding_table["233,120"] = [38308] let s:lib.Codec.decoding_table["233,121"] = [38309] let s:lib.Codec.decoding_table["233,122"] = [38310] let s:lib.Codec.decoding_table["233,123"] = [38311] let s:lib.Codec.decoding_table["233,124"] = [38312] let s:lib.Codec.decoding_table["233,125"] = [38313] let s:lib.Codec.decoding_table["233,126"] = [38314] let s:lib.Codec.decoding_table["233,128"] = [38315] let s:lib.Codec.decoding_table["233,129"] = [38316] let s:lib.Codec.decoding_table["233,130"] = [38317] let s:lib.Codec.decoding_table["233,131"] = [38318] let s:lib.Codec.decoding_table["233,132"] = [38319] let s:lib.Codec.decoding_table["233,133"] = [38320] let s:lib.Codec.decoding_table["233,134"] = [38321] let s:lib.Codec.decoding_table["233,135"] = [38322] let s:lib.Codec.decoding_table["233,136"] = [38323] let s:lib.Codec.decoding_table["233,137"] = [38324] let s:lib.Codec.decoding_table["233,138"] = [38325] let s:lib.Codec.decoding_table["233,139"] = [38326] let s:lib.Codec.decoding_table["233,140"] = [38327] let s:lib.Codec.decoding_table["233,141"] = [38328] let s:lib.Codec.decoding_table["233,142"] = [38329] let s:lib.Codec.decoding_table["233,143"] = [38330] let s:lib.Codec.decoding_table["233,144"] = [38331] let s:lib.Codec.decoding_table["233,145"] = [38332] let s:lib.Codec.decoding_table["233,146"] = [38333] let s:lib.Codec.decoding_table["233,147"] = [38334] let s:lib.Codec.decoding_table["233,148"] = [38335] let s:lib.Codec.decoding_table["233,149"] = [38336] let s:lib.Codec.decoding_table["233,150"] = [38337] let s:lib.Codec.decoding_table["233,151"] = [38338] let s:lib.Codec.decoding_table["233,152"] = [38339] let s:lib.Codec.decoding_table["233,153"] = [38340] let s:lib.Codec.decoding_table["233,154"] = [38341] let s:lib.Codec.decoding_table["233,155"] = [38342] let s:lib.Codec.decoding_table["233,156"] = [38343] let s:lib.Codec.decoding_table["233,157"] = [38344] let s:lib.Codec.decoding_table["233,158"] = [38345] let s:lib.Codec.decoding_table["233,159"] = [38346] let s:lib.Codec.decoding_table["233,160"] = [38347] let s:lib.Codec.decoding_table["233,161"] = [26916] let s:lib.Codec.decoding_table["233,162"] = [26864] let s:lib.Codec.decoding_table["233,163"] = [26891] let s:lib.Codec.decoding_table["233,164"] = [26881] let s:lib.Codec.decoding_table["233,165"] = [26967] let s:lib.Codec.decoding_table["233,166"] = [26851] let s:lib.Codec.decoding_table["233,167"] = [26896] let s:lib.Codec.decoding_table["233,168"] = [26993] let s:lib.Codec.decoding_table["233,169"] = [26937] let s:lib.Codec.decoding_table["233,170"] = [26976] let s:lib.Codec.decoding_table["233,171"] = [26946] let s:lib.Codec.decoding_table["233,172"] = [26973] let s:lib.Codec.decoding_table["233,173"] = [27012] let s:lib.Codec.decoding_table["233,174"] = [26987] let s:lib.Codec.decoding_table["233,175"] = [27008] let s:lib.Codec.decoding_table["233,176"] = [27032] let s:lib.Codec.decoding_table["233,177"] = [27000] let s:lib.Codec.decoding_table["233,178"] = [26932] let s:lib.Codec.decoding_table["233,179"] = [27084] let s:lib.Codec.decoding_table["233,180"] = [27015] let s:lib.Codec.decoding_table["233,181"] = [27016] let s:lib.Codec.decoding_table["233,182"] = [27086] let s:lib.Codec.decoding_table["233,183"] = [27017] let s:lib.Codec.decoding_table["233,184"] = [26982] let s:lib.Codec.decoding_table["233,185"] = [26979] let s:lib.Codec.decoding_table["233,186"] = [27001] let s:lib.Codec.decoding_table["233,187"] = [27035] let s:lib.Codec.decoding_table["233,188"] = [27047] let s:lib.Codec.decoding_table["233,189"] = [27067] let s:lib.Codec.decoding_table["233,190"] = [27051] let s:lib.Codec.decoding_table["233,191"] = [27053] let s:lib.Codec.decoding_table["233,192"] = [27092] let s:lib.Codec.decoding_table["233,193"] = [27057] let s:lib.Codec.decoding_table["233,194"] = [27073] let s:lib.Codec.decoding_table["233,195"] = [27082] let s:lib.Codec.decoding_table["233,196"] = [27103] let s:lib.Codec.decoding_table["233,197"] = [27029] let s:lib.Codec.decoding_table["233,198"] = [27104] let s:lib.Codec.decoding_table["233,199"] = [27021] let s:lib.Codec.decoding_table["233,200"] = [27135] let s:lib.Codec.decoding_table["233,201"] = [27183] let s:lib.Codec.decoding_table["233,202"] = [27117] let s:lib.Codec.decoding_table["233,203"] = [27159] let s:lib.Codec.decoding_table["233,204"] = [27160] let s:lib.Codec.decoding_table["233,205"] = [27237] let s:lib.Codec.decoding_table["233,206"] = [27122] let s:lib.Codec.decoding_table["233,207"] = [27204] let s:lib.Codec.decoding_table["233,208"] = [27198] let s:lib.Codec.decoding_table["233,209"] = [27296] let s:lib.Codec.decoding_table["233,210"] = [27216] let s:lib.Codec.decoding_table["233,211"] = [27227] let s:lib.Codec.decoding_table["233,212"] = [27189] let s:lib.Codec.decoding_table["233,213"] = [27278] let s:lib.Codec.decoding_table["233,214"] = [27257] let s:lib.Codec.decoding_table["233,215"] = [27197] let s:lib.Codec.decoding_table["233,216"] = [27176] let s:lib.Codec.decoding_table["233,217"] = [27224] let s:lib.Codec.decoding_table["233,218"] = [27260] let s:lib.Codec.decoding_table["233,219"] = [27281] let s:lib.Codec.decoding_table["233,220"] = [27280] let s:lib.Codec.decoding_table["233,221"] = [27305] let s:lib.Codec.decoding_table["233,222"] = [27287] let s:lib.Codec.decoding_table["233,223"] = [27307] let s:lib.Codec.decoding_table["233,224"] = [29495] let s:lib.Codec.decoding_table["233,225"] = [29522] let s:lib.Codec.decoding_table["233,226"] = [27521] let s:lib.Codec.decoding_table["233,227"] = [27522] let s:lib.Codec.decoding_table["233,228"] = [27527] let s:lib.Codec.decoding_table["233,229"] = [27524] let s:lib.Codec.decoding_table["233,230"] = [27538] let s:lib.Codec.decoding_table["233,231"] = [27539] let s:lib.Codec.decoding_table["233,232"] = [27533] let s:lib.Codec.decoding_table["233,233"] = [27546] let s:lib.Codec.decoding_table["233,234"] = [27547] let s:lib.Codec.decoding_table["233,235"] = [27553] let s:lib.Codec.decoding_table["233,236"] = [27562] let s:lib.Codec.decoding_table["233,237"] = [36715] let s:lib.Codec.decoding_table["233,238"] = [36717] let s:lib.Codec.decoding_table["233,239"] = [36721] let s:lib.Codec.decoding_table["233,240"] = [36722] let s:lib.Codec.decoding_table["233,241"] = [36723] let s:lib.Codec.decoding_table["233,242"] = [36725] let s:lib.Codec.decoding_table["233,243"] = [36726] let s:lib.Codec.decoding_table["233,244"] = [36728] let s:lib.Codec.decoding_table["233,245"] = [36727] let s:lib.Codec.decoding_table["233,246"] = [36729] let s:lib.Codec.decoding_table["233,247"] = [36730] let s:lib.Codec.decoding_table["233,248"] = [36732] let s:lib.Codec.decoding_table["233,249"] = [36734] let s:lib.Codec.decoding_table["233,250"] = [36737] let s:lib.Codec.decoding_table["233,251"] = [36738] let s:lib.Codec.decoding_table["233,252"] = [36740] let s:lib.Codec.decoding_table["233,253"] = [36743] let s:lib.Codec.decoding_table["233,254"] = [36747] let s:lib.Codec.decoding_table["234,64"] = [38348] let s:lib.Codec.decoding_table["234,65"] = [38349] let s:lib.Codec.decoding_table["234,66"] = [38350] let s:lib.Codec.decoding_table["234,67"] = [38351] let s:lib.Codec.decoding_table["234,68"] = [38352] let s:lib.Codec.decoding_table["234,69"] = [38353] let s:lib.Codec.decoding_table["234,70"] = [38354] let s:lib.Codec.decoding_table["234,71"] = [38355] let s:lib.Codec.decoding_table["234,72"] = [38356] let s:lib.Codec.decoding_table["234,73"] = [38357] let s:lib.Codec.decoding_table["234,74"] = [38358] let s:lib.Codec.decoding_table["234,75"] = [38359] let s:lib.Codec.decoding_table["234,76"] = [38360] let s:lib.Codec.decoding_table["234,77"] = [38361] let s:lib.Codec.decoding_table["234,78"] = [38362] let s:lib.Codec.decoding_table["234,79"] = [38363] let s:lib.Codec.decoding_table["234,80"] = [38364] let s:lib.Codec.decoding_table["234,81"] = [38365] let s:lib.Codec.decoding_table["234,82"] = [38366] let s:lib.Codec.decoding_table["234,83"] = [38367] let s:lib.Codec.decoding_table["234,84"] = [38368] let s:lib.Codec.decoding_table["234,85"] = [38369] let s:lib.Codec.decoding_table["234,86"] = [38370] let s:lib.Codec.decoding_table["234,87"] = [38371] let s:lib.Codec.decoding_table["234,88"] = [38372] let s:lib.Codec.decoding_table["234,89"] = [38373] let s:lib.Codec.decoding_table["234,90"] = [38374] let s:lib.Codec.decoding_table["234,91"] = [38375] let s:lib.Codec.decoding_table["234,92"] = [38380] let s:lib.Codec.decoding_table["234,93"] = [38399] let s:lib.Codec.decoding_table["234,94"] = [38407] let s:lib.Codec.decoding_table["234,95"] = [38419] let s:lib.Codec.decoding_table["234,96"] = [38424] let s:lib.Codec.decoding_table["234,97"] = [38427] let s:lib.Codec.decoding_table["234,98"] = [38430] let s:lib.Codec.decoding_table["234,99"] = [38432] let s:lib.Codec.decoding_table["234,100"] = [38435] let s:lib.Codec.decoding_table["234,101"] = [38436] let s:lib.Codec.decoding_table["234,102"] = [38437] let s:lib.Codec.decoding_table["234,103"] = [38438] let s:lib.Codec.decoding_table["234,104"] = [38439] let s:lib.Codec.decoding_table["234,105"] = [38440] let s:lib.Codec.decoding_table["234,106"] = [38441] let s:lib.Codec.decoding_table["234,107"] = [38443] let s:lib.Codec.decoding_table["234,108"] = [38444] let s:lib.Codec.decoding_table["234,109"] = [38445] let s:lib.Codec.decoding_table["234,110"] = [38447] let s:lib.Codec.decoding_table["234,111"] = [38448] let s:lib.Codec.decoding_table["234,112"] = [38455] let s:lib.Codec.decoding_table["234,113"] = [38456] let s:lib.Codec.decoding_table["234,114"] = [38457] let s:lib.Codec.decoding_table["234,115"] = [38458] let s:lib.Codec.decoding_table["234,116"] = [38462] let s:lib.Codec.decoding_table["234,117"] = [38465] let s:lib.Codec.decoding_table["234,118"] = [38467] let s:lib.Codec.decoding_table["234,119"] = [38474] let s:lib.Codec.decoding_table["234,120"] = [38478] let s:lib.Codec.decoding_table["234,121"] = [38479] let s:lib.Codec.decoding_table["234,122"] = [38481] let s:lib.Codec.decoding_table["234,123"] = [38482] let s:lib.Codec.decoding_table["234,124"] = [38483] let s:lib.Codec.decoding_table["234,125"] = [38486] let s:lib.Codec.decoding_table["234,126"] = [38487] let s:lib.Codec.decoding_table["234,128"] = [38488] let s:lib.Codec.decoding_table["234,129"] = [38489] let s:lib.Codec.decoding_table["234,130"] = [38490] let s:lib.Codec.decoding_table["234,131"] = [38492] let s:lib.Codec.decoding_table["234,132"] = [38493] let s:lib.Codec.decoding_table["234,133"] = [38494] let s:lib.Codec.decoding_table["234,134"] = [38496] let s:lib.Codec.decoding_table["234,135"] = [38499] let s:lib.Codec.decoding_table["234,136"] = [38501] let s:lib.Codec.decoding_table["234,137"] = [38502] let s:lib.Codec.decoding_table["234,138"] = [38507] let s:lib.Codec.decoding_table["234,139"] = [38509] let s:lib.Codec.decoding_table["234,140"] = [38510] let s:lib.Codec.decoding_table["234,141"] = [38511] let s:lib.Codec.decoding_table["234,142"] = [38512] let s:lib.Codec.decoding_table["234,143"] = [38513] let s:lib.Codec.decoding_table["234,144"] = [38515] let s:lib.Codec.decoding_table["234,145"] = [38520] let s:lib.Codec.decoding_table["234,146"] = [38521] let s:lib.Codec.decoding_table["234,147"] = [38522] let s:lib.Codec.decoding_table["234,148"] = [38523] let s:lib.Codec.decoding_table["234,149"] = [38524] let s:lib.Codec.decoding_table["234,150"] = [38525] let s:lib.Codec.decoding_table["234,151"] = [38526] let s:lib.Codec.decoding_table["234,152"] = [38527] let s:lib.Codec.decoding_table["234,153"] = [38528] let s:lib.Codec.decoding_table["234,154"] = [38529] let s:lib.Codec.decoding_table["234,155"] = [38530] let s:lib.Codec.decoding_table["234,156"] = [38531] let s:lib.Codec.decoding_table["234,157"] = [38532] let s:lib.Codec.decoding_table["234,158"] = [38535] let s:lib.Codec.decoding_table["234,159"] = [38537] let s:lib.Codec.decoding_table["234,160"] = [38538] let s:lib.Codec.decoding_table["234,161"] = [36749] let s:lib.Codec.decoding_table["234,162"] = [36750] let s:lib.Codec.decoding_table["234,163"] = [36751] let s:lib.Codec.decoding_table["234,164"] = [36760] let s:lib.Codec.decoding_table["234,165"] = [36762] let s:lib.Codec.decoding_table["234,166"] = [36558] let s:lib.Codec.decoding_table["234,167"] = [25099] let s:lib.Codec.decoding_table["234,168"] = [25111] let s:lib.Codec.decoding_table["234,169"] = [25115] let s:lib.Codec.decoding_table["234,170"] = [25119] let s:lib.Codec.decoding_table["234,171"] = [25122] let s:lib.Codec.decoding_table["234,172"] = [25121] let s:lib.Codec.decoding_table["234,173"] = [25125] let s:lib.Codec.decoding_table["234,174"] = [25124] let s:lib.Codec.decoding_table["234,175"] = [25132] let s:lib.Codec.decoding_table["234,176"] = [33255] let s:lib.Codec.decoding_table["234,177"] = [29935] let s:lib.Codec.decoding_table["234,178"] = [29940] let s:lib.Codec.decoding_table["234,179"] = [29951] let s:lib.Codec.decoding_table["234,180"] = [29967] let s:lib.Codec.decoding_table["234,181"] = [29969] let s:lib.Codec.decoding_table["234,182"] = [29971] let s:lib.Codec.decoding_table["234,183"] = [25908] let s:lib.Codec.decoding_table["234,184"] = [26094] let s:lib.Codec.decoding_table["234,185"] = [26095] let s:lib.Codec.decoding_table["234,186"] = [26096] let s:lib.Codec.decoding_table["234,187"] = [26122] let s:lib.Codec.decoding_table["234,188"] = [26137] let s:lib.Codec.decoding_table["234,189"] = [26482] let s:lib.Codec.decoding_table["234,190"] = [26115] let s:lib.Codec.decoding_table["234,191"] = [26133] let s:lib.Codec.decoding_table["234,192"] = [26112] let s:lib.Codec.decoding_table["234,193"] = [28805] let s:lib.Codec.decoding_table["234,194"] = [26359] let s:lib.Codec.decoding_table["234,195"] = [26141] let s:lib.Codec.decoding_table["234,196"] = [26164] let s:lib.Codec.decoding_table["234,197"] = [26161] let s:lib.Codec.decoding_table["234,198"] = [26166] let s:lib.Codec.decoding_table["234,199"] = [26165] let s:lib.Codec.decoding_table["234,200"] = [32774] let s:lib.Codec.decoding_table["234,201"] = [26207] let s:lib.Codec.decoding_table["234,202"] = [26196] let s:lib.Codec.decoding_table["234,203"] = [26177] let s:lib.Codec.decoding_table["234,204"] = [26191] let s:lib.Codec.decoding_table["234,205"] = [26198] let s:lib.Codec.decoding_table["234,206"] = [26209] let s:lib.Codec.decoding_table["234,207"] = [26199] let s:lib.Codec.decoding_table["234,208"] = [26231] let s:lib.Codec.decoding_table["234,209"] = [26244] let s:lib.Codec.decoding_table["234,210"] = [26252] let s:lib.Codec.decoding_table["234,211"] = [26279] let s:lib.Codec.decoding_table["234,212"] = [26269] let s:lib.Codec.decoding_table["234,213"] = [26302] let s:lib.Codec.decoding_table["234,214"] = [26331] let s:lib.Codec.decoding_table["234,215"] = [26332] let s:lib.Codec.decoding_table["234,216"] = [26342] let s:lib.Codec.decoding_table["234,217"] = [26345] let s:lib.Codec.decoding_table["234,218"] = [36146] let s:lib.Codec.decoding_table["234,219"] = [36147] let s:lib.Codec.decoding_table["234,220"] = [36150] let s:lib.Codec.decoding_table["234,221"] = [36155] let s:lib.Codec.decoding_table["234,222"] = [36157] let s:lib.Codec.decoding_table["234,223"] = [36160] let s:lib.Codec.decoding_table["234,224"] = [36165] let s:lib.Codec.decoding_table["234,225"] = [36166] let s:lib.Codec.decoding_table["234,226"] = [36168] let s:lib.Codec.decoding_table["234,227"] = [36169] let s:lib.Codec.decoding_table["234,228"] = [36167] let s:lib.Codec.decoding_table["234,229"] = [36173] let s:lib.Codec.decoding_table["234,230"] = [36181] let s:lib.Codec.decoding_table["234,231"] = [36185] let s:lib.Codec.decoding_table["234,232"] = [35271] let s:lib.Codec.decoding_table["234,233"] = [35274] let s:lib.Codec.decoding_table["234,234"] = [35275] let s:lib.Codec.decoding_table["234,235"] = [35276] let s:lib.Codec.decoding_table["234,236"] = [35278] let s:lib.Codec.decoding_table["234,237"] = [35279] let s:lib.Codec.decoding_table["234,238"] = [35280] let s:lib.Codec.decoding_table["234,239"] = [35281] let s:lib.Codec.decoding_table["234,240"] = [29294] let s:lib.Codec.decoding_table["234,241"] = [29343] let s:lib.Codec.decoding_table["234,242"] = [29277] let s:lib.Codec.decoding_table["234,243"] = [29286] let s:lib.Codec.decoding_table["234,244"] = [29295] let s:lib.Codec.decoding_table["234,245"] = [29310] let s:lib.Codec.decoding_table["234,246"] = [29311] let s:lib.Codec.decoding_table["234,247"] = [29316] let s:lib.Codec.decoding_table["234,248"] = [29323] let s:lib.Codec.decoding_table["234,249"] = [29325] let s:lib.Codec.decoding_table["234,250"] = [29327] let s:lib.Codec.decoding_table["234,251"] = [29330] let s:lib.Codec.decoding_table["234,252"] = [25352] let s:lib.Codec.decoding_table["234,253"] = [25394] let s:lib.Codec.decoding_table["234,254"] = [25520] let s:lib.Codec.decoding_table["235,64"] = [38540] let s:lib.Codec.decoding_table["235,65"] = [38542] let s:lib.Codec.decoding_table["235,66"] = [38545] let s:lib.Codec.decoding_table["235,67"] = [38546] let s:lib.Codec.decoding_table["235,68"] = [38547] let s:lib.Codec.decoding_table["235,69"] = [38549] let s:lib.Codec.decoding_table["235,70"] = [38550] let s:lib.Codec.decoding_table["235,71"] = [38554] let s:lib.Codec.decoding_table["235,72"] = [38555] let s:lib.Codec.decoding_table["235,73"] = [38557] let s:lib.Codec.decoding_table["235,74"] = [38558] let s:lib.Codec.decoding_table["235,75"] = [38559] let s:lib.Codec.decoding_table["235,76"] = [38560] let s:lib.Codec.decoding_table["235,77"] = [38561] let s:lib.Codec.decoding_table["235,78"] = [38562] let s:lib.Codec.decoding_table["235,79"] = [38563] let s:lib.Codec.decoding_table["235,80"] = [38564] let s:lib.Codec.decoding_table["235,81"] = [38565] let s:lib.Codec.decoding_table["235,82"] = [38566] let s:lib.Codec.decoding_table["235,83"] = [38568] let s:lib.Codec.decoding_table["235,84"] = [38569] let s:lib.Codec.decoding_table["235,85"] = [38570] let s:lib.Codec.decoding_table["235,86"] = [38571] let s:lib.Codec.decoding_table["235,87"] = [38572] let s:lib.Codec.decoding_table["235,88"] = [38573] let s:lib.Codec.decoding_table["235,89"] = [38574] let s:lib.Codec.decoding_table["235,90"] = [38575] let s:lib.Codec.decoding_table["235,91"] = [38577] let s:lib.Codec.decoding_table["235,92"] = [38578] let s:lib.Codec.decoding_table["235,93"] = [38580] let s:lib.Codec.decoding_table["235,94"] = [38581] let s:lib.Codec.decoding_table["235,95"] = [38583] let s:lib.Codec.decoding_table["235,96"] = [38584] let s:lib.Codec.decoding_table["235,97"] = [38586] let s:lib.Codec.decoding_table["235,98"] = [38587] let s:lib.Codec.decoding_table["235,99"] = [38591] let s:lib.Codec.decoding_table["235,100"] = [38594] let s:lib.Codec.decoding_table["235,101"] = [38595] let s:lib.Codec.decoding_table["235,102"] = [38600] let s:lib.Codec.decoding_table["235,103"] = [38602] let s:lib.Codec.decoding_table["235,104"] = [38603] let s:lib.Codec.decoding_table["235,105"] = [38608] let s:lib.Codec.decoding_table["235,106"] = [38609] let s:lib.Codec.decoding_table["235,107"] = [38611] let s:lib.Codec.decoding_table["235,108"] = [38612] let s:lib.Codec.decoding_table["235,109"] = [38614] let s:lib.Codec.decoding_table["235,110"] = [38615] let s:lib.Codec.decoding_table["235,111"] = [38616] let s:lib.Codec.decoding_table["235,112"] = [38617] let s:lib.Codec.decoding_table["235,113"] = [38618] let s:lib.Codec.decoding_table["235,114"] = [38619] let s:lib.Codec.decoding_table["235,115"] = [38620] let s:lib.Codec.decoding_table["235,116"] = [38621] let s:lib.Codec.decoding_table["235,117"] = [38622] let s:lib.Codec.decoding_table["235,118"] = [38623] let s:lib.Codec.decoding_table["235,119"] = [38625] let s:lib.Codec.decoding_table["235,120"] = [38626] let s:lib.Codec.decoding_table["235,121"] = [38627] let s:lib.Codec.decoding_table["235,122"] = [38628] let s:lib.Codec.decoding_table["235,123"] = [38629] let s:lib.Codec.decoding_table["235,124"] = [38630] let s:lib.Codec.decoding_table["235,125"] = [38631] let s:lib.Codec.decoding_table["235,126"] = [38635] let s:lib.Codec.decoding_table["235,128"] = [38636] let s:lib.Codec.decoding_table["235,129"] = [38637] let s:lib.Codec.decoding_table["235,130"] = [38638] let s:lib.Codec.decoding_table["235,131"] = [38640] let s:lib.Codec.decoding_table["235,132"] = [38641] let s:lib.Codec.decoding_table["235,133"] = [38642] let s:lib.Codec.decoding_table["235,134"] = [38644] let s:lib.Codec.decoding_table["235,135"] = [38645] let s:lib.Codec.decoding_table["235,136"] = [38648] let s:lib.Codec.decoding_table["235,137"] = [38650] let s:lib.Codec.decoding_table["235,138"] = [38651] let s:lib.Codec.decoding_table["235,139"] = [38652] let s:lib.Codec.decoding_table["235,140"] = [38653] let s:lib.Codec.decoding_table["235,141"] = [38655] let s:lib.Codec.decoding_table["235,142"] = [38658] let s:lib.Codec.decoding_table["235,143"] = [38659] let s:lib.Codec.decoding_table["235,144"] = [38661] let s:lib.Codec.decoding_table["235,145"] = [38666] let s:lib.Codec.decoding_table["235,146"] = [38667] let s:lib.Codec.decoding_table["235,147"] = [38668] let s:lib.Codec.decoding_table["235,148"] = [38672] let s:lib.Codec.decoding_table["235,149"] = [38673] let s:lib.Codec.decoding_table["235,150"] = [38674] let s:lib.Codec.decoding_table["235,151"] = [38676] let s:lib.Codec.decoding_table["235,152"] = [38677] let s:lib.Codec.decoding_table["235,153"] = [38679] let s:lib.Codec.decoding_table["235,154"] = [38680] let s:lib.Codec.decoding_table["235,155"] = [38681] let s:lib.Codec.decoding_table["235,156"] = [38682] let s:lib.Codec.decoding_table["235,157"] = [38683] let s:lib.Codec.decoding_table["235,158"] = [38685] let s:lib.Codec.decoding_table["235,159"] = [38687] let s:lib.Codec.decoding_table["235,160"] = [38688] let s:lib.Codec.decoding_table["235,161"] = [25663] let s:lib.Codec.decoding_table["235,162"] = [25816] let s:lib.Codec.decoding_table["235,163"] = [32772] let s:lib.Codec.decoding_table["235,164"] = [27626] let s:lib.Codec.decoding_table["235,165"] = [27635] let s:lib.Codec.decoding_table["235,166"] = [27645] let s:lib.Codec.decoding_table["235,167"] = [27637] let s:lib.Codec.decoding_table["235,168"] = [27641] let s:lib.Codec.decoding_table["235,169"] = [27653] let s:lib.Codec.decoding_table["235,170"] = [27655] let s:lib.Codec.decoding_table["235,171"] = [27654] let s:lib.Codec.decoding_table["235,172"] = [27661] let s:lib.Codec.decoding_table["235,173"] = [27669] let s:lib.Codec.decoding_table["235,174"] = [27672] let s:lib.Codec.decoding_table["235,175"] = [27673] let s:lib.Codec.decoding_table["235,176"] = [27674] let s:lib.Codec.decoding_table["235,177"] = [27681] let s:lib.Codec.decoding_table["235,178"] = [27689] let s:lib.Codec.decoding_table["235,179"] = [27684] let s:lib.Codec.decoding_table["235,180"] = [27690] let s:lib.Codec.decoding_table["235,181"] = [27698] let s:lib.Codec.decoding_table["235,182"] = [25909] let s:lib.Codec.decoding_table["235,183"] = [25941] let s:lib.Codec.decoding_table["235,184"] = [25963] let s:lib.Codec.decoding_table["235,185"] = [29261] let s:lib.Codec.decoding_table["235,186"] = [29266] let s:lib.Codec.decoding_table["235,187"] = [29270] let s:lib.Codec.decoding_table["235,188"] = [29232] let s:lib.Codec.decoding_table["235,189"] = [34402] let s:lib.Codec.decoding_table["235,190"] = [21014] let s:lib.Codec.decoding_table["235,191"] = [32927] let s:lib.Codec.decoding_table["235,192"] = [32924] let s:lib.Codec.decoding_table["235,193"] = [32915] let s:lib.Codec.decoding_table["235,194"] = [32956] let s:lib.Codec.decoding_table["235,195"] = [26378] let s:lib.Codec.decoding_table["235,196"] = [32957] let s:lib.Codec.decoding_table["235,197"] = [32945] let s:lib.Codec.decoding_table["235,198"] = [32939] let s:lib.Codec.decoding_table["235,199"] = [32941] let s:lib.Codec.decoding_table["235,200"] = [32948] let s:lib.Codec.decoding_table["235,201"] = [32951] let s:lib.Codec.decoding_table["235,202"] = [32999] let s:lib.Codec.decoding_table["235,203"] = [33000] let s:lib.Codec.decoding_table["235,204"] = [33001] let s:lib.Codec.decoding_table["235,205"] = [33002] let s:lib.Codec.decoding_table["235,206"] = [32987] let s:lib.Codec.decoding_table["235,207"] = [32962] let s:lib.Codec.decoding_table["235,208"] = [32964] let s:lib.Codec.decoding_table["235,209"] = [32985] let s:lib.Codec.decoding_table["235,210"] = [32973] let s:lib.Codec.decoding_table["235,211"] = [32983] let s:lib.Codec.decoding_table["235,212"] = [26384] let s:lib.Codec.decoding_table["235,213"] = [32989] let s:lib.Codec.decoding_table["235,214"] = [33003] let s:lib.Codec.decoding_table["235,215"] = [33009] let s:lib.Codec.decoding_table["235,216"] = [33012] let s:lib.Codec.decoding_table["235,217"] = [33005] let s:lib.Codec.decoding_table["235,218"] = [33037] let s:lib.Codec.decoding_table["235,219"] = [33038] let s:lib.Codec.decoding_table["235,220"] = [33010] let s:lib.Codec.decoding_table["235,221"] = [33020] let s:lib.Codec.decoding_table["235,222"] = [26389] let s:lib.Codec.decoding_table["235,223"] = [33042] let s:lib.Codec.decoding_table["235,224"] = [35930] let s:lib.Codec.decoding_table["235,225"] = [33078] let s:lib.Codec.decoding_table["235,226"] = [33054] let s:lib.Codec.decoding_table["235,227"] = [33068] let s:lib.Codec.decoding_table["235,228"] = [33048] let s:lib.Codec.decoding_table["235,229"] = [33074] let s:lib.Codec.decoding_table["235,230"] = [33096] let s:lib.Codec.decoding_table["235,231"] = [33100] let s:lib.Codec.decoding_table["235,232"] = [33107] let s:lib.Codec.decoding_table["235,233"] = [33140] let s:lib.Codec.decoding_table["235,234"] = [33113] let s:lib.Codec.decoding_table["235,235"] = [33114] let s:lib.Codec.decoding_table["235,236"] = [33137] let s:lib.Codec.decoding_table["235,237"] = [33120] let s:lib.Codec.decoding_table["235,238"] = [33129] let s:lib.Codec.decoding_table["235,239"] = [33148] let s:lib.Codec.decoding_table["235,240"] = [33149] let s:lib.Codec.decoding_table["235,241"] = [33133] let s:lib.Codec.decoding_table["235,242"] = [33127] let s:lib.Codec.decoding_table["235,243"] = [22605] let s:lib.Codec.decoding_table["235,244"] = [23221] let s:lib.Codec.decoding_table["235,245"] = [33160] let s:lib.Codec.decoding_table["235,246"] = [33154] let s:lib.Codec.decoding_table["235,247"] = [33169] let s:lib.Codec.decoding_table["235,248"] = [28373] let s:lib.Codec.decoding_table["235,249"] = [33187] let s:lib.Codec.decoding_table["235,250"] = [33194] let s:lib.Codec.decoding_table["235,251"] = [33228] let s:lib.Codec.decoding_table["235,252"] = [26406] let s:lib.Codec.decoding_table["235,253"] = [33226] let s:lib.Codec.decoding_table["235,254"] = [33211] let s:lib.Codec.decoding_table["236,64"] = [38689] let s:lib.Codec.decoding_table["236,65"] = [38690] let s:lib.Codec.decoding_table["236,66"] = [38691] let s:lib.Codec.decoding_table["236,67"] = [38692] let s:lib.Codec.decoding_table["236,68"] = [38693] let s:lib.Codec.decoding_table["236,69"] = [38694] let s:lib.Codec.decoding_table["236,70"] = [38695] let s:lib.Codec.decoding_table["236,71"] = [38696] let s:lib.Codec.decoding_table["236,72"] = [38697] let s:lib.Codec.decoding_table["236,73"] = [38699] let s:lib.Codec.decoding_table["236,74"] = [38700] let s:lib.Codec.decoding_table["236,75"] = [38702] let s:lib.Codec.decoding_table["236,76"] = [38703] let s:lib.Codec.decoding_table["236,77"] = [38705] let s:lib.Codec.decoding_table["236,78"] = [38707] let s:lib.Codec.decoding_table["236,79"] = [38708] let s:lib.Codec.decoding_table["236,80"] = [38709] let s:lib.Codec.decoding_table["236,81"] = [38710] let s:lib.Codec.decoding_table["236,82"] = [38711] let s:lib.Codec.decoding_table["236,83"] = [38714] let s:lib.Codec.decoding_table["236,84"] = [38715] let s:lib.Codec.decoding_table["236,85"] = [38716] let s:lib.Codec.decoding_table["236,86"] = [38717] let s:lib.Codec.decoding_table["236,87"] = [38719] let s:lib.Codec.decoding_table["236,88"] = [38720] let s:lib.Codec.decoding_table["236,89"] = [38721] let s:lib.Codec.decoding_table["236,90"] = [38722] let s:lib.Codec.decoding_table["236,91"] = [38723] let s:lib.Codec.decoding_table["236,92"] = [38724] let s:lib.Codec.decoding_table["236,93"] = [38725] let s:lib.Codec.decoding_table["236,94"] = [38726] let s:lib.Codec.decoding_table["236,95"] = [38727] let s:lib.Codec.decoding_table["236,96"] = [38728] let s:lib.Codec.decoding_table["236,97"] = [38729] let s:lib.Codec.decoding_table["236,98"] = [38730] let s:lib.Codec.decoding_table["236,99"] = [38731] let s:lib.Codec.decoding_table["236,100"] = [38732] let s:lib.Codec.decoding_table["236,101"] = [38733] let s:lib.Codec.decoding_table["236,102"] = [38734] let s:lib.Codec.decoding_table["236,103"] = [38735] let s:lib.Codec.decoding_table["236,104"] = [38736] let s:lib.Codec.decoding_table["236,105"] = [38737] let s:lib.Codec.decoding_table["236,106"] = [38740] let s:lib.Codec.decoding_table["236,107"] = [38741] let s:lib.Codec.decoding_table["236,108"] = [38743] let s:lib.Codec.decoding_table["236,109"] = [38744] let s:lib.Codec.decoding_table["236,110"] = [38746] let s:lib.Codec.decoding_table["236,111"] = [38748] let s:lib.Codec.decoding_table["236,112"] = [38749] let s:lib.Codec.decoding_table["236,113"] = [38751] let s:lib.Codec.decoding_table["236,114"] = [38755] let s:lib.Codec.decoding_table["236,115"] = [38756] let s:lib.Codec.decoding_table["236,116"] = [38758] let s:lib.Codec.decoding_table["236,117"] = [38759] let s:lib.Codec.decoding_table["236,118"] = [38760] let s:lib.Codec.decoding_table["236,119"] = [38762] let s:lib.Codec.decoding_table["236,120"] = [38763] let s:lib.Codec.decoding_table["236,121"] = [38764] let s:lib.Codec.decoding_table["236,122"] = [38765] let s:lib.Codec.decoding_table["236,123"] = [38766] let s:lib.Codec.decoding_table["236,124"] = [38767] let s:lib.Codec.decoding_table["236,125"] = [38768] let s:lib.Codec.decoding_table["236,126"] = [38769] let s:lib.Codec.decoding_table["236,128"] = [38770] let s:lib.Codec.decoding_table["236,129"] = [38773] let s:lib.Codec.decoding_table["236,130"] = [38775] let s:lib.Codec.decoding_table["236,131"] = [38776] let s:lib.Codec.decoding_table["236,132"] = [38777] let s:lib.Codec.decoding_table["236,133"] = [38778] let s:lib.Codec.decoding_table["236,134"] = [38779] let s:lib.Codec.decoding_table["236,135"] = [38781] let s:lib.Codec.decoding_table["236,136"] = [38782] let s:lib.Codec.decoding_table["236,137"] = [38783] let s:lib.Codec.decoding_table["236,138"] = [38784] let s:lib.Codec.decoding_table["236,139"] = [38785] let s:lib.Codec.decoding_table["236,140"] = [38786] let s:lib.Codec.decoding_table["236,141"] = [38787] let s:lib.Codec.decoding_table["236,142"] = [38788] let s:lib.Codec.decoding_table["236,143"] = [38790] let s:lib.Codec.decoding_table["236,144"] = [38791] let s:lib.Codec.decoding_table["236,145"] = [38792] let s:lib.Codec.decoding_table["236,146"] = [38793] let s:lib.Codec.decoding_table["236,147"] = [38794] let s:lib.Codec.decoding_table["236,148"] = [38796] let s:lib.Codec.decoding_table["236,149"] = [38798] let s:lib.Codec.decoding_table["236,150"] = [38799] let s:lib.Codec.decoding_table["236,151"] = [38800] let s:lib.Codec.decoding_table["236,152"] = [38803] let s:lib.Codec.decoding_table["236,153"] = [38805] let s:lib.Codec.decoding_table["236,154"] = [38806] let s:lib.Codec.decoding_table["236,155"] = [38807] let s:lib.Codec.decoding_table["236,156"] = [38809] let s:lib.Codec.decoding_table["236,157"] = [38810] let s:lib.Codec.decoding_table["236,158"] = [38811] let s:lib.Codec.decoding_table["236,159"] = [38812] let s:lib.Codec.decoding_table["236,160"] = [38813] let s:lib.Codec.decoding_table["236,161"] = [33217] let s:lib.Codec.decoding_table["236,162"] = [33190] let s:lib.Codec.decoding_table["236,163"] = [27428] let s:lib.Codec.decoding_table["236,164"] = [27447] let s:lib.Codec.decoding_table["236,165"] = [27449] let s:lib.Codec.decoding_table["236,166"] = [27459] let s:lib.Codec.decoding_table["236,167"] = [27462] let s:lib.Codec.decoding_table["236,168"] = [27481] let s:lib.Codec.decoding_table["236,169"] = [39121] let s:lib.Codec.decoding_table["236,170"] = [39122] let s:lib.Codec.decoding_table["236,171"] = [39123] let s:lib.Codec.decoding_table["236,172"] = [39125] let s:lib.Codec.decoding_table["236,173"] = [39129] let s:lib.Codec.decoding_table["236,174"] = [39130] let s:lib.Codec.decoding_table["236,175"] = [27571] let s:lib.Codec.decoding_table["236,176"] = [24384] let s:lib.Codec.decoding_table["236,177"] = [27586] let s:lib.Codec.decoding_table["236,178"] = [35315] let s:lib.Codec.decoding_table["236,179"] = [26000] let s:lib.Codec.decoding_table["236,180"] = [40785] let s:lib.Codec.decoding_table["236,181"] = [26003] let s:lib.Codec.decoding_table["236,182"] = [26044] let s:lib.Codec.decoding_table["236,183"] = [26054] let s:lib.Codec.decoding_table["236,184"] = [26052] let s:lib.Codec.decoding_table["236,185"] = [26051] let s:lib.Codec.decoding_table["236,186"] = [26060] let s:lib.Codec.decoding_table["236,187"] = [26062] let s:lib.Codec.decoding_table["236,188"] = [26066] let s:lib.Codec.decoding_table["236,189"] = [26070] let s:lib.Codec.decoding_table["236,190"] = [28800] let s:lib.Codec.decoding_table["236,191"] = [28828] let s:lib.Codec.decoding_table["236,192"] = [28822] let s:lib.Codec.decoding_table["236,193"] = [28829] let s:lib.Codec.decoding_table["236,194"] = [28859] let s:lib.Codec.decoding_table["236,195"] = [28864] let s:lib.Codec.decoding_table["236,196"] = [28855] let s:lib.Codec.decoding_table["236,197"] = [28843] let s:lib.Codec.decoding_table["236,198"] = [28849] let s:lib.Codec.decoding_table["236,199"] = [28904] let s:lib.Codec.decoding_table["236,200"] = [28874] let s:lib.Codec.decoding_table["236,201"] = [28944] let s:lib.Codec.decoding_table["236,202"] = [28947] let s:lib.Codec.decoding_table["236,203"] = [28950] let s:lib.Codec.decoding_table["236,204"] = [28975] let s:lib.Codec.decoding_table["236,205"] = [28977] let s:lib.Codec.decoding_table["236,206"] = [29043] let s:lib.Codec.decoding_table["236,207"] = [29020] let s:lib.Codec.decoding_table["236,208"] = [29032] let s:lib.Codec.decoding_table["236,209"] = [28997] let s:lib.Codec.decoding_table["236,210"] = [29042] let s:lib.Codec.decoding_table["236,211"] = [29002] let s:lib.Codec.decoding_table["236,212"] = [29048] let s:lib.Codec.decoding_table["236,213"] = [29050] let s:lib.Codec.decoding_table["236,214"] = [29080] let s:lib.Codec.decoding_table["236,215"] = [29107] let s:lib.Codec.decoding_table["236,216"] = [29109] let s:lib.Codec.decoding_table["236,217"] = [29096] let s:lib.Codec.decoding_table["236,218"] = [29088] let s:lib.Codec.decoding_table["236,219"] = [29152] let s:lib.Codec.decoding_table["236,220"] = [29140] let s:lib.Codec.decoding_table["236,221"] = [29159] let s:lib.Codec.decoding_table["236,222"] = [29177] let s:lib.Codec.decoding_table["236,223"] = [29213] let s:lib.Codec.decoding_table["236,224"] = [29224] let s:lib.Codec.decoding_table["236,225"] = [28780] let s:lib.Codec.decoding_table["236,226"] = [28952] let s:lib.Codec.decoding_table["236,227"] = [29030] let s:lib.Codec.decoding_table["236,228"] = [29113] let s:lib.Codec.decoding_table["236,229"] = [25150] let s:lib.Codec.decoding_table["236,230"] = [25149] let s:lib.Codec.decoding_table["236,231"] = [25155] let s:lib.Codec.decoding_table["236,232"] = [25160] let s:lib.Codec.decoding_table["236,233"] = [25161] let s:lib.Codec.decoding_table["236,234"] = [31035] let s:lib.Codec.decoding_table["236,235"] = [31040] let s:lib.Codec.decoding_table["236,236"] = [31046] let s:lib.Codec.decoding_table["236,237"] = [31049] let s:lib.Codec.decoding_table["236,238"] = [31067] let s:lib.Codec.decoding_table["236,239"] = [31068] let s:lib.Codec.decoding_table["236,240"] = [31059] let s:lib.Codec.decoding_table["236,241"] = [31066] let s:lib.Codec.decoding_table["236,242"] = [31074] let s:lib.Codec.decoding_table["236,243"] = [31063] let s:lib.Codec.decoding_table["236,244"] = [31072] let s:lib.Codec.decoding_table["236,245"] = [31087] let s:lib.Codec.decoding_table["236,246"] = [31079] let s:lib.Codec.decoding_table["236,247"] = [31098] let s:lib.Codec.decoding_table["236,248"] = [31109] let s:lib.Codec.decoding_table["236,249"] = [31114] let s:lib.Codec.decoding_table["236,250"] = [31130] let s:lib.Codec.decoding_table["236,251"] = [31143] let s:lib.Codec.decoding_table["236,252"] = [31155] let s:lib.Codec.decoding_table["236,253"] = [24529] let s:lib.Codec.decoding_table["236,254"] = [24528] let s:lib.Codec.decoding_table["237,64"] = [38814] let s:lib.Codec.decoding_table["237,65"] = [38815] let s:lib.Codec.decoding_table["237,66"] = [38817] let s:lib.Codec.decoding_table["237,67"] = [38818] let s:lib.Codec.decoding_table["237,68"] = [38820] let s:lib.Codec.decoding_table["237,69"] = [38821] let s:lib.Codec.decoding_table["237,70"] = [38822] let s:lib.Codec.decoding_table["237,71"] = [38823] let s:lib.Codec.decoding_table["237,72"] = [38824] let s:lib.Codec.decoding_table["237,73"] = [38825] let s:lib.Codec.decoding_table["237,74"] = [38826] let s:lib.Codec.decoding_table["237,75"] = [38828] let s:lib.Codec.decoding_table["237,76"] = [38830] let s:lib.Codec.decoding_table["237,77"] = [38832] let s:lib.Codec.decoding_table["237,78"] = [38833] let s:lib.Codec.decoding_table["237,79"] = [38835] let s:lib.Codec.decoding_table["237,80"] = [38837] let s:lib.Codec.decoding_table["237,81"] = [38838] let s:lib.Codec.decoding_table["237,82"] = [38839] let s:lib.Codec.decoding_table["237,83"] = [38840] let s:lib.Codec.decoding_table["237,84"] = [38841] let s:lib.Codec.decoding_table["237,85"] = [38842] let s:lib.Codec.decoding_table["237,86"] = [38843] let s:lib.Codec.decoding_table["237,87"] = [38844] let s:lib.Codec.decoding_table["237,88"] = [38845] let s:lib.Codec.decoding_table["237,89"] = [38846] let s:lib.Codec.decoding_table["237,90"] = [38847] let s:lib.Codec.decoding_table["237,91"] = [38848] let s:lib.Codec.decoding_table["237,92"] = [38849] let s:lib.Codec.decoding_table["237,93"] = [38850] let s:lib.Codec.decoding_table["237,94"] = [38851] let s:lib.Codec.decoding_table["237,95"] = [38852] let s:lib.Codec.decoding_table["237,96"] = [38853] let s:lib.Codec.decoding_table["237,97"] = [38854] let s:lib.Codec.decoding_table["237,98"] = [38855] let s:lib.Codec.decoding_table["237,99"] = [38856] let s:lib.Codec.decoding_table["237,100"] = [38857] let s:lib.Codec.decoding_table["237,101"] = [38858] let s:lib.Codec.decoding_table["237,102"] = [38859] let s:lib.Codec.decoding_table["237,103"] = [38860] let s:lib.Codec.decoding_table["237,104"] = [38861] let s:lib.Codec.decoding_table["237,105"] = [38862] let s:lib.Codec.decoding_table["237,106"] = [38863] let s:lib.Codec.decoding_table["237,107"] = [38864] let s:lib.Codec.decoding_table["237,108"] = [38865] let s:lib.Codec.decoding_table["237,109"] = [38866] let s:lib.Codec.decoding_table["237,110"] = [38867] let s:lib.Codec.decoding_table["237,111"] = [38868] let s:lib.Codec.decoding_table["237,112"] = [38869] let s:lib.Codec.decoding_table["237,113"] = [38870] let s:lib.Codec.decoding_table["237,114"] = [38871] let s:lib.Codec.decoding_table["237,115"] = [38872] let s:lib.Codec.decoding_table["237,116"] = [38873] let s:lib.Codec.decoding_table["237,117"] = [38874] let s:lib.Codec.decoding_table["237,118"] = [38875] let s:lib.Codec.decoding_table["237,119"] = [38876] let s:lib.Codec.decoding_table["237,120"] = [38877] let s:lib.Codec.decoding_table["237,121"] = [38878] let s:lib.Codec.decoding_table["237,122"] = [38879] let s:lib.Codec.decoding_table["237,123"] = [38880] let s:lib.Codec.decoding_table["237,124"] = [38881] let s:lib.Codec.decoding_table["237,125"] = [38882] let s:lib.Codec.decoding_table["237,126"] = [38883] let s:lib.Codec.decoding_table["237,128"] = [38884] let s:lib.Codec.decoding_table["237,129"] = [38885] let s:lib.Codec.decoding_table["237,130"] = [38888] let s:lib.Codec.decoding_table["237,131"] = [38894] let s:lib.Codec.decoding_table["237,132"] = [38895] let s:lib.Codec.decoding_table["237,133"] = [38896] let s:lib.Codec.decoding_table["237,134"] = [38897] let s:lib.Codec.decoding_table["237,135"] = [38898] let s:lib.Codec.decoding_table["237,136"] = [38900] let s:lib.Codec.decoding_table["237,137"] = [38903] let s:lib.Codec.decoding_table["237,138"] = [38904] let s:lib.Codec.decoding_table["237,139"] = [38905] let s:lib.Codec.decoding_table["237,140"] = [38906] let s:lib.Codec.decoding_table["237,141"] = [38907] let s:lib.Codec.decoding_table["237,142"] = [38908] let s:lib.Codec.decoding_table["237,143"] = [38909] let s:lib.Codec.decoding_table["237,144"] = [38910] let s:lib.Codec.decoding_table["237,145"] = [38911] let s:lib.Codec.decoding_table["237,146"] = [38912] let s:lib.Codec.decoding_table["237,147"] = [38913] let s:lib.Codec.decoding_table["237,148"] = [38914] let s:lib.Codec.decoding_table["237,149"] = [38915] let s:lib.Codec.decoding_table["237,150"] = [38916] let s:lib.Codec.decoding_table["237,151"] = [38917] let s:lib.Codec.decoding_table["237,152"] = [38918] let s:lib.Codec.decoding_table["237,153"] = [38919] let s:lib.Codec.decoding_table["237,154"] = [38920] let s:lib.Codec.decoding_table["237,155"] = [38921] let s:lib.Codec.decoding_table["237,156"] = [38922] let s:lib.Codec.decoding_table["237,157"] = [38923] let s:lib.Codec.decoding_table["237,158"] = [38924] let s:lib.Codec.decoding_table["237,159"] = [38925] let s:lib.Codec.decoding_table["237,160"] = [38926] let s:lib.Codec.decoding_table["237,161"] = [24636] let s:lib.Codec.decoding_table["237,162"] = [24669] let s:lib.Codec.decoding_table["237,163"] = [24666] let s:lib.Codec.decoding_table["237,164"] = [24679] let s:lib.Codec.decoding_table["237,165"] = [24641] let s:lib.Codec.decoding_table["237,166"] = [24665] let s:lib.Codec.decoding_table["237,167"] = [24675] let s:lib.Codec.decoding_table["237,168"] = [24747] let s:lib.Codec.decoding_table["237,169"] = [24838] let s:lib.Codec.decoding_table["237,170"] = [24845] let s:lib.Codec.decoding_table["237,171"] = [24925] let s:lib.Codec.decoding_table["237,172"] = [25001] let s:lib.Codec.decoding_table["237,173"] = [24989] let s:lib.Codec.decoding_table["237,174"] = [25035] let s:lib.Codec.decoding_table["237,175"] = [25041] let s:lib.Codec.decoding_table["237,176"] = [25094] let s:lib.Codec.decoding_table["237,177"] = [32896] let s:lib.Codec.decoding_table["237,178"] = [32895] let s:lib.Codec.decoding_table["237,179"] = [27795] let s:lib.Codec.decoding_table["237,180"] = [27894] let s:lib.Codec.decoding_table["237,181"] = [28156] let s:lib.Codec.decoding_table["237,182"] = [30710] let s:lib.Codec.decoding_table["237,183"] = [30712] let s:lib.Codec.decoding_table["237,184"] = [30720] let s:lib.Codec.decoding_table["237,185"] = [30729] let s:lib.Codec.decoding_table["237,186"] = [30743] let s:lib.Codec.decoding_table["237,187"] = [30744] let s:lib.Codec.decoding_table["237,188"] = [30737] let s:lib.Codec.decoding_table["237,189"] = [26027] let s:lib.Codec.decoding_table["237,190"] = [30765] let s:lib.Codec.decoding_table["237,191"] = [30748] let s:lib.Codec.decoding_table["237,192"] = [30749] let s:lib.Codec.decoding_table["237,193"] = [30777] let s:lib.Codec.decoding_table["237,194"] = [30778] let s:lib.Codec.decoding_table["237,195"] = [30779] let s:lib.Codec.decoding_table["237,196"] = [30751] let s:lib.Codec.decoding_table["237,197"] = [30780] let s:lib.Codec.decoding_table["237,198"] = [30757] let s:lib.Codec.decoding_table["237,199"] = [30764] let s:lib.Codec.decoding_table["237,200"] = [30755] let s:lib.Codec.decoding_table["237,201"] = [30761] let s:lib.Codec.decoding_table["237,202"] = [30798] let s:lib.Codec.decoding_table["237,203"] = [30829] let s:lib.Codec.decoding_table["237,204"] = [30806] let s:lib.Codec.decoding_table["237,205"] = [30807] let s:lib.Codec.decoding_table["237,206"] = [30758] let s:lib.Codec.decoding_table["237,207"] = [30800] let s:lib.Codec.decoding_table["237,208"] = [30791] let s:lib.Codec.decoding_table["237,209"] = [30796] let s:lib.Codec.decoding_table["237,210"] = [30826] let s:lib.Codec.decoding_table["237,211"] = [30875] let s:lib.Codec.decoding_table["237,212"] = [30867] let s:lib.Codec.decoding_table["237,213"] = [30874] let s:lib.Codec.decoding_table["237,214"] = [30855] let s:lib.Codec.decoding_table["237,215"] = [30876] let s:lib.Codec.decoding_table["237,216"] = [30881] let s:lib.Codec.decoding_table["237,217"] = [30883] let s:lib.Codec.decoding_table["237,218"] = [30898] let s:lib.Codec.decoding_table["237,219"] = [30905] let s:lib.Codec.decoding_table["237,220"] = [30885] let s:lib.Codec.decoding_table["237,221"] = [30932] let s:lib.Codec.decoding_table["237,222"] = [30937] let s:lib.Codec.decoding_table["237,223"] = [30921] let s:lib.Codec.decoding_table["237,224"] = [30956] let s:lib.Codec.decoding_table["237,225"] = [30962] let s:lib.Codec.decoding_table["237,226"] = [30981] let s:lib.Codec.decoding_table["237,227"] = [30964] let s:lib.Codec.decoding_table["237,228"] = [30995] let s:lib.Codec.decoding_table["237,229"] = [31012] let s:lib.Codec.decoding_table["237,230"] = [31006] let s:lib.Codec.decoding_table["237,231"] = [31028] let s:lib.Codec.decoding_table["237,232"] = [40859] let s:lib.Codec.decoding_table["237,233"] = [40697] let s:lib.Codec.decoding_table["237,234"] = [40699] let s:lib.Codec.decoding_table["237,235"] = [40700] let s:lib.Codec.decoding_table["237,236"] = [30449] let s:lib.Codec.decoding_table["237,237"] = [30468] let s:lib.Codec.decoding_table["237,238"] = [30477] let s:lib.Codec.decoding_table["237,239"] = [30457] let s:lib.Codec.decoding_table["237,240"] = [30471] let s:lib.Codec.decoding_table["237,241"] = [30472] let s:lib.Codec.decoding_table["237,242"] = [30490] let s:lib.Codec.decoding_table["237,243"] = [30498] let s:lib.Codec.decoding_table["237,244"] = [30489] let s:lib.Codec.decoding_table["237,245"] = [30509] let s:lib.Codec.decoding_table["237,246"] = [30502] let s:lib.Codec.decoding_table["237,247"] = [30517] let s:lib.Codec.decoding_table["237,248"] = [30520] let s:lib.Codec.decoding_table["237,249"] = [30544] let s:lib.Codec.decoding_table["237,250"] = [30545] let s:lib.Codec.decoding_table["237,251"] = [30535] let s:lib.Codec.decoding_table["237,252"] = [30531] let s:lib.Codec.decoding_table["237,253"] = [30554] let s:lib.Codec.decoding_table["237,254"] = [30568] let s:lib.Codec.decoding_table["238,64"] = [38927] let s:lib.Codec.decoding_table["238,65"] = [38928] let s:lib.Codec.decoding_table["238,66"] = [38929] let s:lib.Codec.decoding_table["238,67"] = [38930] let s:lib.Codec.decoding_table["238,68"] = [38931] let s:lib.Codec.decoding_table["238,69"] = [38932] let s:lib.Codec.decoding_table["238,70"] = [38933] let s:lib.Codec.decoding_table["238,71"] = [38934] let s:lib.Codec.decoding_table["238,72"] = [38935] let s:lib.Codec.decoding_table["238,73"] = [38936] let s:lib.Codec.decoding_table["238,74"] = [38937] let s:lib.Codec.decoding_table["238,75"] = [38938] let s:lib.Codec.decoding_table["238,76"] = [38939] let s:lib.Codec.decoding_table["238,77"] = [38940] let s:lib.Codec.decoding_table["238,78"] = [38941] let s:lib.Codec.decoding_table["238,79"] = [38942] let s:lib.Codec.decoding_table["238,80"] = [38943] let s:lib.Codec.decoding_table["238,81"] = [38944] let s:lib.Codec.decoding_table["238,82"] = [38945] let s:lib.Codec.decoding_table["238,83"] = [38946] let s:lib.Codec.decoding_table["238,84"] = [38947] let s:lib.Codec.decoding_table["238,85"] = [38948] let s:lib.Codec.decoding_table["238,86"] = [38949] let s:lib.Codec.decoding_table["238,87"] = [38950] let s:lib.Codec.decoding_table["238,88"] = [38951] let s:lib.Codec.decoding_table["238,89"] = [38952] let s:lib.Codec.decoding_table["238,90"] = [38953] let s:lib.Codec.decoding_table["238,91"] = [38954] let s:lib.Codec.decoding_table["238,92"] = [38955] let s:lib.Codec.decoding_table["238,93"] = [38956] let s:lib.Codec.decoding_table["238,94"] = [38957] let s:lib.Codec.decoding_table["238,95"] = [38958] let s:lib.Codec.decoding_table["238,96"] = [38959] let s:lib.Codec.decoding_table["238,97"] = [38960] let s:lib.Codec.decoding_table["238,98"] = [38961] let s:lib.Codec.decoding_table["238,99"] = [38962] let s:lib.Codec.decoding_table["238,100"] = [38963] let s:lib.Codec.decoding_table["238,101"] = [38964] let s:lib.Codec.decoding_table["238,102"] = [38965] let s:lib.Codec.decoding_table["238,103"] = [38966] let s:lib.Codec.decoding_table["238,104"] = [38967] let s:lib.Codec.decoding_table["238,105"] = [38968] let s:lib.Codec.decoding_table["238,106"] = [38969] let s:lib.Codec.decoding_table["238,107"] = [38970] let s:lib.Codec.decoding_table["238,108"] = [38971] let s:lib.Codec.decoding_table["238,109"] = [38972] let s:lib.Codec.decoding_table["238,110"] = [38973] let s:lib.Codec.decoding_table["238,111"] = [38974] let s:lib.Codec.decoding_table["238,112"] = [38975] let s:lib.Codec.decoding_table["238,113"] = [38976] let s:lib.Codec.decoding_table["238,114"] = [38977] let s:lib.Codec.decoding_table["238,115"] = [38978] let s:lib.Codec.decoding_table["238,116"] = [38979] let s:lib.Codec.decoding_table["238,117"] = [38980] let s:lib.Codec.decoding_table["238,118"] = [38981] let s:lib.Codec.decoding_table["238,119"] = [38982] let s:lib.Codec.decoding_table["238,120"] = [38983] let s:lib.Codec.decoding_table["238,121"] = [38984] let s:lib.Codec.decoding_table["238,122"] = [38985] let s:lib.Codec.decoding_table["238,123"] = [38986] let s:lib.Codec.decoding_table["238,124"] = [38987] let s:lib.Codec.decoding_table["238,125"] = [38988] let s:lib.Codec.decoding_table["238,126"] = [38989] let s:lib.Codec.decoding_table["238,128"] = [38990] let s:lib.Codec.decoding_table["238,129"] = [38991] let s:lib.Codec.decoding_table["238,130"] = [38992] let s:lib.Codec.decoding_table["238,131"] = [38993] let s:lib.Codec.decoding_table["238,132"] = [38994] let s:lib.Codec.decoding_table["238,133"] = [38995] let s:lib.Codec.decoding_table["238,134"] = [38996] let s:lib.Codec.decoding_table["238,135"] = [38997] let s:lib.Codec.decoding_table["238,136"] = [38998] let s:lib.Codec.decoding_table["238,137"] = [38999] let s:lib.Codec.decoding_table["238,138"] = [39000] let s:lib.Codec.decoding_table["238,139"] = [39001] let s:lib.Codec.decoding_table["238,140"] = [39002] let s:lib.Codec.decoding_table["238,141"] = [39003] let s:lib.Codec.decoding_table["238,142"] = [39004] let s:lib.Codec.decoding_table["238,143"] = [39005] let s:lib.Codec.decoding_table["238,144"] = [39006] let s:lib.Codec.decoding_table["238,145"] = [39007] let s:lib.Codec.decoding_table["238,146"] = [39008] let s:lib.Codec.decoding_table["238,147"] = [39009] let s:lib.Codec.decoding_table["238,148"] = [39010] let s:lib.Codec.decoding_table["238,149"] = [39011] let s:lib.Codec.decoding_table["238,150"] = [39012] let s:lib.Codec.decoding_table["238,151"] = [39013] let s:lib.Codec.decoding_table["238,152"] = [39014] let s:lib.Codec.decoding_table["238,153"] = [39015] let s:lib.Codec.decoding_table["238,154"] = [39016] let s:lib.Codec.decoding_table["238,155"] = [39017] let s:lib.Codec.decoding_table["238,156"] = [39018] let s:lib.Codec.decoding_table["238,157"] = [39019] let s:lib.Codec.decoding_table["238,158"] = [39020] let s:lib.Codec.decoding_table["238,159"] = [39021] let s:lib.Codec.decoding_table["238,160"] = [39022] let s:lib.Codec.decoding_table["238,161"] = [30562] let s:lib.Codec.decoding_table["238,162"] = [30565] let s:lib.Codec.decoding_table["238,163"] = [30591] let s:lib.Codec.decoding_table["238,164"] = [30605] let s:lib.Codec.decoding_table["238,165"] = [30589] let s:lib.Codec.decoding_table["238,166"] = [30592] let s:lib.Codec.decoding_table["238,167"] = [30604] let s:lib.Codec.decoding_table["238,168"] = [30609] let s:lib.Codec.decoding_table["238,169"] = [30623] let s:lib.Codec.decoding_table["238,170"] = [30624] let s:lib.Codec.decoding_table["238,171"] = [30640] let s:lib.Codec.decoding_table["238,172"] = [30645] let s:lib.Codec.decoding_table["238,173"] = [30653] let s:lib.Codec.decoding_table["238,174"] = [30010] let s:lib.Codec.decoding_table["238,175"] = [30016] let s:lib.Codec.decoding_table["238,176"] = [30030] let s:lib.Codec.decoding_table["238,177"] = [30027] let s:lib.Codec.decoding_table["238,178"] = [30024] let s:lib.Codec.decoding_table["238,179"] = [30043] let s:lib.Codec.decoding_table["238,180"] = [30066] let s:lib.Codec.decoding_table["238,181"] = [30073] let s:lib.Codec.decoding_table["238,182"] = [30083] let s:lib.Codec.decoding_table["238,183"] = [32600] let s:lib.Codec.decoding_table["238,184"] = [32609] let s:lib.Codec.decoding_table["238,185"] = [32607] let s:lib.Codec.decoding_table["238,186"] = [35400] let s:lib.Codec.decoding_table["238,187"] = [32616] let s:lib.Codec.decoding_table["238,188"] = [32628] let s:lib.Codec.decoding_table["238,189"] = [32625] let s:lib.Codec.decoding_table["238,190"] = [32633] let s:lib.Codec.decoding_table["238,191"] = [32641] let s:lib.Codec.decoding_table["238,192"] = [32638] let s:lib.Codec.decoding_table["238,193"] = [30413] let s:lib.Codec.decoding_table["238,194"] = [30437] let s:lib.Codec.decoding_table["238,195"] = [34866] let s:lib.Codec.decoding_table["238,196"] = [38021] let s:lib.Codec.decoding_table["238,197"] = [38022] let s:lib.Codec.decoding_table["238,198"] = [38023] let s:lib.Codec.decoding_table["238,199"] = [38027] let s:lib.Codec.decoding_table["238,200"] = [38026] let s:lib.Codec.decoding_table["238,201"] = [38028] let s:lib.Codec.decoding_table["238,202"] = [38029] let s:lib.Codec.decoding_table["238,203"] = [38031] let s:lib.Codec.decoding_table["238,204"] = [38032] let s:lib.Codec.decoding_table["238,205"] = [38036] let s:lib.Codec.decoding_table["238,206"] = [38039] let s:lib.Codec.decoding_table["238,207"] = [38037] let s:lib.Codec.decoding_table["238,208"] = [38042] let s:lib.Codec.decoding_table["238,209"] = [38043] let s:lib.Codec.decoding_table["238,210"] = [38044] let s:lib.Codec.decoding_table["238,211"] = [38051] let s:lib.Codec.decoding_table["238,212"] = [38052] let s:lib.Codec.decoding_table["238,213"] = [38059] let s:lib.Codec.decoding_table["238,214"] = [38058] let s:lib.Codec.decoding_table["238,215"] = [38061] let s:lib.Codec.decoding_table["238,216"] = [38060] let s:lib.Codec.decoding_table["238,217"] = [38063] let s:lib.Codec.decoding_table["238,218"] = [38064] let s:lib.Codec.decoding_table["238,219"] = [38066] let s:lib.Codec.decoding_table["238,220"] = [38068] let s:lib.Codec.decoding_table["238,221"] = [38070] let s:lib.Codec.decoding_table["238,222"] = [38071] let s:lib.Codec.decoding_table["238,223"] = [38072] let s:lib.Codec.decoding_table["238,224"] = [38073] let s:lib.Codec.decoding_table["238,225"] = [38074] let s:lib.Codec.decoding_table["238,226"] = [38076] let s:lib.Codec.decoding_table["238,227"] = [38077] let s:lib.Codec.decoding_table["238,228"] = [38079] let s:lib.Codec.decoding_table["238,229"] = [38084] let s:lib.Codec.decoding_table["238,230"] = [38088] let s:lib.Codec.decoding_table["238,231"] = [38089] let s:lib.Codec.decoding_table["238,232"] = [38090] let s:lib.Codec.decoding_table["238,233"] = [38091] let s:lib.Codec.decoding_table["238,234"] = [38092] let s:lib.Codec.decoding_table["238,235"] = [38093] let s:lib.Codec.decoding_table["238,236"] = [38094] let s:lib.Codec.decoding_table["238,237"] = [38096] let s:lib.Codec.decoding_table["238,238"] = [38097] let s:lib.Codec.decoding_table["238,239"] = [38098] let s:lib.Codec.decoding_table["238,240"] = [38101] let s:lib.Codec.decoding_table["238,241"] = [38102] let s:lib.Codec.decoding_table["238,242"] = [38103] let s:lib.Codec.decoding_table["238,243"] = [38105] let s:lib.Codec.decoding_table["238,244"] = [38104] let s:lib.Codec.decoding_table["238,245"] = [38107] let s:lib.Codec.decoding_table["238,246"] = [38110] let s:lib.Codec.decoding_table["238,247"] = [38111] let s:lib.Codec.decoding_table["238,248"] = [38112] let s:lib.Codec.decoding_table["238,249"] = [38114] let s:lib.Codec.decoding_table["238,250"] = [38116] let s:lib.Codec.decoding_table["238,251"] = [38117] let s:lib.Codec.decoding_table["238,252"] = [38119] let s:lib.Codec.decoding_table["238,253"] = [38120] let s:lib.Codec.decoding_table["238,254"] = [38122] let s:lib.Codec.decoding_table["239,64"] = [39023] let s:lib.Codec.decoding_table["239,65"] = [39024] let s:lib.Codec.decoding_table["239,66"] = [39025] let s:lib.Codec.decoding_table["239,67"] = [39026] let s:lib.Codec.decoding_table["239,68"] = [39027] let s:lib.Codec.decoding_table["239,69"] = [39028] let s:lib.Codec.decoding_table["239,70"] = [39051] let s:lib.Codec.decoding_table["239,71"] = [39054] let s:lib.Codec.decoding_table["239,72"] = [39058] let s:lib.Codec.decoding_table["239,73"] = [39061] let s:lib.Codec.decoding_table["239,74"] = [39065] let s:lib.Codec.decoding_table["239,75"] = [39075] let s:lib.Codec.decoding_table["239,76"] = [39080] let s:lib.Codec.decoding_table["239,77"] = [39081] let s:lib.Codec.decoding_table["239,78"] = [39082] let s:lib.Codec.decoding_table["239,79"] = [39083] let s:lib.Codec.decoding_table["239,80"] = [39084] let s:lib.Codec.decoding_table["239,81"] = [39085] let s:lib.Codec.decoding_table["239,82"] = [39086] let s:lib.Codec.decoding_table["239,83"] = [39087] let s:lib.Codec.decoding_table["239,84"] = [39088] let s:lib.Codec.decoding_table["239,85"] = [39089] let s:lib.Codec.decoding_table["239,86"] = [39090] let s:lib.Codec.decoding_table["239,87"] = [39091] let s:lib.Codec.decoding_table["239,88"] = [39092] let s:lib.Codec.decoding_table["239,89"] = [39093] let s:lib.Codec.decoding_table["239,90"] = [39094] let s:lib.Codec.decoding_table["239,91"] = [39095] let s:lib.Codec.decoding_table["239,92"] = [39096] let s:lib.Codec.decoding_table["239,93"] = [39097] let s:lib.Codec.decoding_table["239,94"] = [39098] let s:lib.Codec.decoding_table["239,95"] = [39099] let s:lib.Codec.decoding_table["239,96"] = [39100] let s:lib.Codec.decoding_table["239,97"] = [39101] let s:lib.Codec.decoding_table["239,98"] = [39102] let s:lib.Codec.decoding_table["239,99"] = [39103] let s:lib.Codec.decoding_table["239,100"] = [39104] let s:lib.Codec.decoding_table["239,101"] = [39105] let s:lib.Codec.decoding_table["239,102"] = [39106] let s:lib.Codec.decoding_table["239,103"] = [39107] let s:lib.Codec.decoding_table["239,104"] = [39108] let s:lib.Codec.decoding_table["239,105"] = [39109] let s:lib.Codec.decoding_table["239,106"] = [39110] let s:lib.Codec.decoding_table["239,107"] = [39111] let s:lib.Codec.decoding_table["239,108"] = [39112] let s:lib.Codec.decoding_table["239,109"] = [39113] let s:lib.Codec.decoding_table["239,110"] = [39114] let s:lib.Codec.decoding_table["239,111"] = [39115] let s:lib.Codec.decoding_table["239,112"] = [39116] let s:lib.Codec.decoding_table["239,113"] = [39117] let s:lib.Codec.decoding_table["239,114"] = [39119] let s:lib.Codec.decoding_table["239,115"] = [39120] let s:lib.Codec.decoding_table["239,116"] = [39124] let s:lib.Codec.decoding_table["239,117"] = [39126] let s:lib.Codec.decoding_table["239,118"] = [39127] let s:lib.Codec.decoding_table["239,119"] = [39131] let s:lib.Codec.decoding_table["239,120"] = [39132] let s:lib.Codec.decoding_table["239,121"] = [39133] let s:lib.Codec.decoding_table["239,122"] = [39136] let s:lib.Codec.decoding_table["239,123"] = [39137] let s:lib.Codec.decoding_table["239,124"] = [39138] let s:lib.Codec.decoding_table["239,125"] = [39139] let s:lib.Codec.decoding_table["239,126"] = [39140] let s:lib.Codec.decoding_table["239,128"] = [39141] let s:lib.Codec.decoding_table["239,129"] = [39142] let s:lib.Codec.decoding_table["239,130"] = [39145] let s:lib.Codec.decoding_table["239,131"] = [39146] let s:lib.Codec.decoding_table["239,132"] = [39147] let s:lib.Codec.decoding_table["239,133"] = [39148] let s:lib.Codec.decoding_table["239,134"] = [39149] let s:lib.Codec.decoding_table["239,135"] = [39150] let s:lib.Codec.decoding_table["239,136"] = [39151] let s:lib.Codec.decoding_table["239,137"] = [39152] let s:lib.Codec.decoding_table["239,138"] = [39153] let s:lib.Codec.decoding_table["239,139"] = [39154] let s:lib.Codec.decoding_table["239,140"] = [39155] let s:lib.Codec.decoding_table["239,141"] = [39156] let s:lib.Codec.decoding_table["239,142"] = [39157] let s:lib.Codec.decoding_table["239,143"] = [39158] let s:lib.Codec.decoding_table["239,144"] = [39159] let s:lib.Codec.decoding_table["239,145"] = [39160] let s:lib.Codec.decoding_table["239,146"] = [39161] let s:lib.Codec.decoding_table["239,147"] = [39162] let s:lib.Codec.decoding_table["239,148"] = [39163] let s:lib.Codec.decoding_table["239,149"] = [39164] let s:lib.Codec.decoding_table["239,150"] = [39165] let s:lib.Codec.decoding_table["239,151"] = [39166] let s:lib.Codec.decoding_table["239,152"] = [39167] let s:lib.Codec.decoding_table["239,153"] = [39168] let s:lib.Codec.decoding_table["239,154"] = [39169] let s:lib.Codec.decoding_table["239,155"] = [39170] let s:lib.Codec.decoding_table["239,156"] = [39171] let s:lib.Codec.decoding_table["239,157"] = [39172] let s:lib.Codec.decoding_table["239,158"] = [39173] let s:lib.Codec.decoding_table["239,159"] = [39174] let s:lib.Codec.decoding_table["239,160"] = [39175] let s:lib.Codec.decoding_table["239,161"] = [38121] let s:lib.Codec.decoding_table["239,162"] = [38123] let s:lib.Codec.decoding_table["239,163"] = [38126] let s:lib.Codec.decoding_table["239,164"] = [38127] let s:lib.Codec.decoding_table["239,165"] = [38131] let s:lib.Codec.decoding_table["239,166"] = [38132] let s:lib.Codec.decoding_table["239,167"] = [38133] let s:lib.Codec.decoding_table["239,168"] = [38135] let s:lib.Codec.decoding_table["239,169"] = [38137] let s:lib.Codec.decoding_table["239,170"] = [38140] let s:lib.Codec.decoding_table["239,171"] = [38141] let s:lib.Codec.decoding_table["239,172"] = [38143] let s:lib.Codec.decoding_table["239,173"] = [38147] let s:lib.Codec.decoding_table["239,174"] = [38146] let s:lib.Codec.decoding_table["239,175"] = [38150] let s:lib.Codec.decoding_table["239,176"] = [38151] let s:lib.Codec.decoding_table["239,177"] = [38153] let s:lib.Codec.decoding_table["239,178"] = [38154] let s:lib.Codec.decoding_table["239,179"] = [38157] let s:lib.Codec.decoding_table["239,180"] = [38158] let s:lib.Codec.decoding_table["239,181"] = [38159] let s:lib.Codec.decoding_table["239,182"] = [38162] let s:lib.Codec.decoding_table["239,183"] = [38163] let s:lib.Codec.decoding_table["239,184"] = [38164] let s:lib.Codec.decoding_table["239,185"] = [38165] let s:lib.Codec.decoding_table["239,186"] = [38166] let s:lib.Codec.decoding_table["239,187"] = [38168] let s:lib.Codec.decoding_table["239,188"] = [38171] let s:lib.Codec.decoding_table["239,189"] = [38173] let s:lib.Codec.decoding_table["239,190"] = [38174] let s:lib.Codec.decoding_table["239,191"] = [38175] let s:lib.Codec.decoding_table["239,192"] = [38178] let s:lib.Codec.decoding_table["239,193"] = [38186] let s:lib.Codec.decoding_table["239,194"] = [38187] let s:lib.Codec.decoding_table["239,195"] = [38185] let s:lib.Codec.decoding_table["239,196"] = [38188] let s:lib.Codec.decoding_table["239,197"] = [38193] let s:lib.Codec.decoding_table["239,198"] = [38194] let s:lib.Codec.decoding_table["239,199"] = [38196] let s:lib.Codec.decoding_table["239,200"] = [38198] let s:lib.Codec.decoding_table["239,201"] = [38199] let s:lib.Codec.decoding_table["239,202"] = [38200] let s:lib.Codec.decoding_table["239,203"] = [38204] let s:lib.Codec.decoding_table["239,204"] = [38206] let s:lib.Codec.decoding_table["239,205"] = [38207] let s:lib.Codec.decoding_table["239,206"] = [38210] let s:lib.Codec.decoding_table["239,207"] = [38197] let s:lib.Codec.decoding_table["239,208"] = [38212] let s:lib.Codec.decoding_table["239,209"] = [38213] let s:lib.Codec.decoding_table["239,210"] = [38214] let s:lib.Codec.decoding_table["239,211"] = [38217] let s:lib.Codec.decoding_table["239,212"] = [38220] let s:lib.Codec.decoding_table["239,213"] = [38222] let s:lib.Codec.decoding_table["239,214"] = [38223] let s:lib.Codec.decoding_table["239,215"] = [38226] let s:lib.Codec.decoding_table["239,216"] = [38227] let s:lib.Codec.decoding_table["239,217"] = [38228] let s:lib.Codec.decoding_table["239,218"] = [38230] let s:lib.Codec.decoding_table["239,219"] = [38231] let s:lib.Codec.decoding_table["239,220"] = [38232] let s:lib.Codec.decoding_table["239,221"] = [38233] let s:lib.Codec.decoding_table["239,222"] = [38235] let s:lib.Codec.decoding_table["239,223"] = [38238] let s:lib.Codec.decoding_table["239,224"] = [38239] let s:lib.Codec.decoding_table["239,225"] = [38237] let s:lib.Codec.decoding_table["239,226"] = [38241] let s:lib.Codec.decoding_table["239,227"] = [38242] let s:lib.Codec.decoding_table["239,228"] = [38244] let s:lib.Codec.decoding_table["239,229"] = [38245] let s:lib.Codec.decoding_table["239,230"] = [38246] let s:lib.Codec.decoding_table["239,231"] = [38247] let s:lib.Codec.decoding_table["239,232"] = [38248] let s:lib.Codec.decoding_table["239,233"] = [38249] let s:lib.Codec.decoding_table["239,234"] = [38250] let s:lib.Codec.decoding_table["239,235"] = [38251] let s:lib.Codec.decoding_table["239,236"] = [38252] let s:lib.Codec.decoding_table["239,237"] = [38255] let s:lib.Codec.decoding_table["239,238"] = [38257] let s:lib.Codec.decoding_table["239,239"] = [38258] let s:lib.Codec.decoding_table["239,240"] = [38259] let s:lib.Codec.decoding_table["239,241"] = [38202] let s:lib.Codec.decoding_table["239,242"] = [30695] let s:lib.Codec.decoding_table["239,243"] = [30700] let s:lib.Codec.decoding_table["239,244"] = [38601] let s:lib.Codec.decoding_table["239,245"] = [31189] let s:lib.Codec.decoding_table["239,246"] = [31213] let s:lib.Codec.decoding_table["239,247"] = [31203] let s:lib.Codec.decoding_table["239,248"] = [31211] let s:lib.Codec.decoding_table["239,249"] = [31238] let s:lib.Codec.decoding_table["239,250"] = [23879] let s:lib.Codec.decoding_table["239,251"] = [31235] let s:lib.Codec.decoding_table["239,252"] = [31234] let s:lib.Codec.decoding_table["239,253"] = [31262] let s:lib.Codec.decoding_table["239,254"] = [31252] let s:lib.Codec.decoding_table["240,64"] = [39176] let s:lib.Codec.decoding_table["240,65"] = [39177] let s:lib.Codec.decoding_table["240,66"] = [39178] let s:lib.Codec.decoding_table["240,67"] = [39179] let s:lib.Codec.decoding_table["240,68"] = [39180] let s:lib.Codec.decoding_table["240,69"] = [39182] let s:lib.Codec.decoding_table["240,70"] = [39183] let s:lib.Codec.decoding_table["240,71"] = [39185] let s:lib.Codec.decoding_table["240,72"] = [39186] let s:lib.Codec.decoding_table["240,73"] = [39187] let s:lib.Codec.decoding_table["240,74"] = [39188] let s:lib.Codec.decoding_table["240,75"] = [39189] let s:lib.Codec.decoding_table["240,76"] = [39190] let s:lib.Codec.decoding_table["240,77"] = [39191] let s:lib.Codec.decoding_table["240,78"] = [39192] let s:lib.Codec.decoding_table["240,79"] = [39193] let s:lib.Codec.decoding_table["240,80"] = [39194] let s:lib.Codec.decoding_table["240,81"] = [39195] let s:lib.Codec.decoding_table["240,82"] = [39196] let s:lib.Codec.decoding_table["240,83"] = [39197] let s:lib.Codec.decoding_table["240,84"] = [39198] let s:lib.Codec.decoding_table["240,85"] = [39199] let s:lib.Codec.decoding_table["240,86"] = [39200] let s:lib.Codec.decoding_table["240,87"] = [39201] let s:lib.Codec.decoding_table["240,88"] = [39202] let s:lib.Codec.decoding_table["240,89"] = [39203] let s:lib.Codec.decoding_table["240,90"] = [39204] let s:lib.Codec.decoding_table["240,91"] = [39205] let s:lib.Codec.decoding_table["240,92"] = [39206] let s:lib.Codec.decoding_table["240,93"] = [39207] let s:lib.Codec.decoding_table["240,94"] = [39208] let s:lib.Codec.decoding_table["240,95"] = [39209] let s:lib.Codec.decoding_table["240,96"] = [39210] let s:lib.Codec.decoding_table["240,97"] = [39211] let s:lib.Codec.decoding_table["240,98"] = [39212] let s:lib.Codec.decoding_table["240,99"] = [39213] let s:lib.Codec.decoding_table["240,100"] = [39215] let s:lib.Codec.decoding_table["240,101"] = [39216] let s:lib.Codec.decoding_table["240,102"] = [39217] let s:lib.Codec.decoding_table["240,103"] = [39218] let s:lib.Codec.decoding_table["240,104"] = [39219] let s:lib.Codec.decoding_table["240,105"] = [39220] let s:lib.Codec.decoding_table["240,106"] = [39221] let s:lib.Codec.decoding_table["240,107"] = [39222] let s:lib.Codec.decoding_table["240,108"] = [39223] let s:lib.Codec.decoding_table["240,109"] = [39224] let s:lib.Codec.decoding_table["240,110"] = [39225] let s:lib.Codec.decoding_table["240,111"] = [39226] let s:lib.Codec.decoding_table["240,112"] = [39227] let s:lib.Codec.decoding_table["240,113"] = [39228] let s:lib.Codec.decoding_table["240,114"] = [39229] let s:lib.Codec.decoding_table["240,115"] = [39230] let s:lib.Codec.decoding_table["240,116"] = [39231] let s:lib.Codec.decoding_table["240,117"] = [39232] let s:lib.Codec.decoding_table["240,118"] = [39233] let s:lib.Codec.decoding_table["240,119"] = [39234] let s:lib.Codec.decoding_table["240,120"] = [39235] let s:lib.Codec.decoding_table["240,121"] = [39236] let s:lib.Codec.decoding_table["240,122"] = [39237] let s:lib.Codec.decoding_table["240,123"] = [39238] let s:lib.Codec.decoding_table["240,124"] = [39239] let s:lib.Codec.decoding_table["240,125"] = [39240] let s:lib.Codec.decoding_table["240,126"] = [39241] let s:lib.Codec.decoding_table["240,128"] = [39242] let s:lib.Codec.decoding_table["240,129"] = [39243] let s:lib.Codec.decoding_table["240,130"] = [39244] let s:lib.Codec.decoding_table["240,131"] = [39245] let s:lib.Codec.decoding_table["240,132"] = [39246] let s:lib.Codec.decoding_table["240,133"] = [39247] let s:lib.Codec.decoding_table["240,134"] = [39248] let s:lib.Codec.decoding_table["240,135"] = [39249] let s:lib.Codec.decoding_table["240,136"] = [39250] let s:lib.Codec.decoding_table["240,137"] = [39251] let s:lib.Codec.decoding_table["240,138"] = [39254] let s:lib.Codec.decoding_table["240,139"] = [39255] let s:lib.Codec.decoding_table["240,140"] = [39256] let s:lib.Codec.decoding_table["240,141"] = [39257] let s:lib.Codec.decoding_table["240,142"] = [39258] let s:lib.Codec.decoding_table["240,143"] = [39259] let s:lib.Codec.decoding_table["240,144"] = [39260] let s:lib.Codec.decoding_table["240,145"] = [39261] let s:lib.Codec.decoding_table["240,146"] = [39262] let s:lib.Codec.decoding_table["240,147"] = [39263] let s:lib.Codec.decoding_table["240,148"] = [39264] let s:lib.Codec.decoding_table["240,149"] = [39265] let s:lib.Codec.decoding_table["240,150"] = [39266] let s:lib.Codec.decoding_table["240,151"] = [39268] let s:lib.Codec.decoding_table["240,152"] = [39270] let s:lib.Codec.decoding_table["240,153"] = [39283] let s:lib.Codec.decoding_table["240,154"] = [39288] let s:lib.Codec.decoding_table["240,155"] = [39289] let s:lib.Codec.decoding_table["240,156"] = [39291] let s:lib.Codec.decoding_table["240,157"] = [39294] let s:lib.Codec.decoding_table["240,158"] = [39298] let s:lib.Codec.decoding_table["240,159"] = [39299] let s:lib.Codec.decoding_table["240,160"] = [39305] let s:lib.Codec.decoding_table["240,161"] = [31289] let s:lib.Codec.decoding_table["240,162"] = [31287] let s:lib.Codec.decoding_table["240,163"] = [31313] let s:lib.Codec.decoding_table["240,164"] = [40655] let s:lib.Codec.decoding_table["240,165"] = [39333] let s:lib.Codec.decoding_table["240,166"] = [31344] let s:lib.Codec.decoding_table["240,167"] = [30344] let s:lib.Codec.decoding_table["240,168"] = [30350] let s:lib.Codec.decoding_table["240,169"] = [30355] let s:lib.Codec.decoding_table["240,170"] = [30361] let s:lib.Codec.decoding_table["240,171"] = [30372] let s:lib.Codec.decoding_table["240,172"] = [29918] let s:lib.Codec.decoding_table["240,173"] = [29920] let s:lib.Codec.decoding_table["240,174"] = [29996] let s:lib.Codec.decoding_table["240,175"] = [40480] let s:lib.Codec.decoding_table["240,176"] = [40482] let s:lib.Codec.decoding_table["240,177"] = [40488] let s:lib.Codec.decoding_table["240,178"] = [40489] let s:lib.Codec.decoding_table["240,179"] = [40490] let s:lib.Codec.decoding_table["240,180"] = [40491] let s:lib.Codec.decoding_table["240,181"] = [40492] let s:lib.Codec.decoding_table["240,182"] = [40498] let s:lib.Codec.decoding_table["240,183"] = [40497] let s:lib.Codec.decoding_table["240,184"] = [40502] let s:lib.Codec.decoding_table["240,185"] = [40504] let s:lib.Codec.decoding_table["240,186"] = [40503] let s:lib.Codec.decoding_table["240,187"] = [40505] let s:lib.Codec.decoding_table["240,188"] = [40506] let s:lib.Codec.decoding_table["240,189"] = [40510] let s:lib.Codec.decoding_table["240,190"] = [40513] let s:lib.Codec.decoding_table["240,191"] = [40514] let s:lib.Codec.decoding_table["240,192"] = [40516] let s:lib.Codec.decoding_table["240,193"] = [40518] let s:lib.Codec.decoding_table["240,194"] = [40519] let s:lib.Codec.decoding_table["240,195"] = [40520] let s:lib.Codec.decoding_table["240,196"] = [40521] let s:lib.Codec.decoding_table["240,197"] = [40523] let s:lib.Codec.decoding_table["240,198"] = [40524] let s:lib.Codec.decoding_table["240,199"] = [40526] let s:lib.Codec.decoding_table["240,200"] = [40529] let s:lib.Codec.decoding_table["240,201"] = [40533] let s:lib.Codec.decoding_table["240,202"] = [40535] let s:lib.Codec.decoding_table["240,203"] = [40538] let s:lib.Codec.decoding_table["240,204"] = [40539] let s:lib.Codec.decoding_table["240,205"] = [40540] let s:lib.Codec.decoding_table["240,206"] = [40542] let s:lib.Codec.decoding_table["240,207"] = [40547] let s:lib.Codec.decoding_table["240,208"] = [40550] let s:lib.Codec.decoding_table["240,209"] = [40551] let s:lib.Codec.decoding_table["240,210"] = [40552] let s:lib.Codec.decoding_table["240,211"] = [40553] let s:lib.Codec.decoding_table["240,212"] = [40554] let s:lib.Codec.decoding_table["240,213"] = [40555] let s:lib.Codec.decoding_table["240,214"] = [40556] let s:lib.Codec.decoding_table["240,215"] = [40561] let s:lib.Codec.decoding_table["240,216"] = [40557] let s:lib.Codec.decoding_table["240,217"] = [40563] let s:lib.Codec.decoding_table["240,218"] = [30098] let s:lib.Codec.decoding_table["240,219"] = [30100] let s:lib.Codec.decoding_table["240,220"] = [30102] let s:lib.Codec.decoding_table["240,221"] = [30112] let s:lib.Codec.decoding_table["240,222"] = [30109] let s:lib.Codec.decoding_table["240,223"] = [30124] let s:lib.Codec.decoding_table["240,224"] = [30115] let s:lib.Codec.decoding_table["240,225"] = [30131] let s:lib.Codec.decoding_table["240,226"] = [30132] let s:lib.Codec.decoding_table["240,227"] = [30136] let s:lib.Codec.decoding_table["240,228"] = [30148] let s:lib.Codec.decoding_table["240,229"] = [30129] let s:lib.Codec.decoding_table["240,230"] = [30128] let s:lib.Codec.decoding_table["240,231"] = [30147] let s:lib.Codec.decoding_table["240,232"] = [30146] let s:lib.Codec.decoding_table["240,233"] = [30166] let s:lib.Codec.decoding_table["240,234"] = [30157] let s:lib.Codec.decoding_table["240,235"] = [30179] let s:lib.Codec.decoding_table["240,236"] = [30184] let s:lib.Codec.decoding_table["240,237"] = [30182] let s:lib.Codec.decoding_table["240,238"] = [30180] let s:lib.Codec.decoding_table["240,239"] = [30187] let s:lib.Codec.decoding_table["240,240"] = [30183] let s:lib.Codec.decoding_table["240,241"] = [30211] let s:lib.Codec.decoding_table["240,242"] = [30193] let s:lib.Codec.decoding_table["240,243"] = [30204] let s:lib.Codec.decoding_table["240,244"] = [30207] let s:lib.Codec.decoding_table["240,245"] = [30224] let s:lib.Codec.decoding_table["240,246"] = [30208] let s:lib.Codec.decoding_table["240,247"] = [30213] let s:lib.Codec.decoding_table["240,248"] = [30220] let s:lib.Codec.decoding_table["240,249"] = [30231] let s:lib.Codec.decoding_table["240,250"] = [30218] let s:lib.Codec.decoding_table["240,251"] = [30245] let s:lib.Codec.decoding_table["240,252"] = [30232] let s:lib.Codec.decoding_table["240,253"] = [30229] let s:lib.Codec.decoding_table["240,254"] = [30233] let s:lib.Codec.decoding_table["241,64"] = [39308] let s:lib.Codec.decoding_table["241,65"] = [39310] let s:lib.Codec.decoding_table["241,66"] = [39322] let s:lib.Codec.decoding_table["241,67"] = [39323] let s:lib.Codec.decoding_table["241,68"] = [39324] let s:lib.Codec.decoding_table["241,69"] = [39325] let s:lib.Codec.decoding_table["241,70"] = [39326] let s:lib.Codec.decoding_table["241,71"] = [39327] let s:lib.Codec.decoding_table["241,72"] = [39328] let s:lib.Codec.decoding_table["241,73"] = [39329] let s:lib.Codec.decoding_table["241,74"] = [39330] let s:lib.Codec.decoding_table["241,75"] = [39331] let s:lib.Codec.decoding_table["241,76"] = [39332] let s:lib.Codec.decoding_table["241,77"] = [39334] let s:lib.Codec.decoding_table["241,78"] = [39335] let s:lib.Codec.decoding_table["241,79"] = [39337] let s:lib.Codec.decoding_table["241,80"] = [39338] let s:lib.Codec.decoding_table["241,81"] = [39339] let s:lib.Codec.decoding_table["241,82"] = [39340] let s:lib.Codec.decoding_table["241,83"] = [39341] let s:lib.Codec.decoding_table["241,84"] = [39342] let s:lib.Codec.decoding_table["241,85"] = [39343] let s:lib.Codec.decoding_table["241,86"] = [39344] let s:lib.Codec.decoding_table["241,87"] = [39345] let s:lib.Codec.decoding_table["241,88"] = [39346] let s:lib.Codec.decoding_table["241,89"] = [39347] let s:lib.Codec.decoding_table["241,90"] = [39348] let s:lib.Codec.decoding_table["241,91"] = [39349] let s:lib.Codec.decoding_table["241,92"] = [39350] let s:lib.Codec.decoding_table["241,93"] = [39351] let s:lib.Codec.decoding_table["241,94"] = [39352] let s:lib.Codec.decoding_table["241,95"] = [39353] let s:lib.Codec.decoding_table["241,96"] = [39354] let s:lib.Codec.decoding_table["241,97"] = [39355] let s:lib.Codec.decoding_table["241,98"] = [39356] let s:lib.Codec.decoding_table["241,99"] = [39357] let s:lib.Codec.decoding_table["241,100"] = [39358] let s:lib.Codec.decoding_table["241,101"] = [39359] let s:lib.Codec.decoding_table["241,102"] = [39360] let s:lib.Codec.decoding_table["241,103"] = [39361] let s:lib.Codec.decoding_table["241,104"] = [39362] let s:lib.Codec.decoding_table["241,105"] = [39363] let s:lib.Codec.decoding_table["241,106"] = [39364] let s:lib.Codec.decoding_table["241,107"] = [39365] let s:lib.Codec.decoding_table["241,108"] = [39366] let s:lib.Codec.decoding_table["241,109"] = [39367] let s:lib.Codec.decoding_table["241,110"] = [39368] let s:lib.Codec.decoding_table["241,111"] = [39369] let s:lib.Codec.decoding_table["241,112"] = [39370] let s:lib.Codec.decoding_table["241,113"] = [39371] let s:lib.Codec.decoding_table["241,114"] = [39372] let s:lib.Codec.decoding_table["241,115"] = [39373] let s:lib.Codec.decoding_table["241,116"] = [39374] let s:lib.Codec.decoding_table["241,117"] = [39375] let s:lib.Codec.decoding_table["241,118"] = [39376] let s:lib.Codec.decoding_table["241,119"] = [39377] let s:lib.Codec.decoding_table["241,120"] = [39378] let s:lib.Codec.decoding_table["241,121"] = [39379] let s:lib.Codec.decoding_table["241,122"] = [39380] let s:lib.Codec.decoding_table["241,123"] = [39381] let s:lib.Codec.decoding_table["241,124"] = [39382] let s:lib.Codec.decoding_table["241,125"] = [39383] let s:lib.Codec.decoding_table["241,126"] = [39384] let s:lib.Codec.decoding_table["241,128"] = [39385] let s:lib.Codec.decoding_table["241,129"] = [39386] let s:lib.Codec.decoding_table["241,130"] = [39387] let s:lib.Codec.decoding_table["241,131"] = [39388] let s:lib.Codec.decoding_table["241,132"] = [39389] let s:lib.Codec.decoding_table["241,133"] = [39390] let s:lib.Codec.decoding_table["241,134"] = [39391] let s:lib.Codec.decoding_table["241,135"] = [39392] let s:lib.Codec.decoding_table["241,136"] = [39393] let s:lib.Codec.decoding_table["241,137"] = [39394] let s:lib.Codec.decoding_table["241,138"] = [39395] let s:lib.Codec.decoding_table["241,139"] = [39396] let s:lib.Codec.decoding_table["241,140"] = [39397] let s:lib.Codec.decoding_table["241,141"] = [39398] let s:lib.Codec.decoding_table["241,142"] = [39399] let s:lib.Codec.decoding_table["241,143"] = [39400] let s:lib.Codec.decoding_table["241,144"] = [39401] let s:lib.Codec.decoding_table["241,145"] = [39402] let s:lib.Codec.decoding_table["241,146"] = [39403] let s:lib.Codec.decoding_table["241,147"] = [39404] let s:lib.Codec.decoding_table["241,148"] = [39405] let s:lib.Codec.decoding_table["241,149"] = [39406] let s:lib.Codec.decoding_table["241,150"] = [39407] let s:lib.Codec.decoding_table["241,151"] = [39408] let s:lib.Codec.decoding_table["241,152"] = [39409] let s:lib.Codec.decoding_table["241,153"] = [39410] let s:lib.Codec.decoding_table["241,154"] = [39411] let s:lib.Codec.decoding_table["241,155"] = [39412] let s:lib.Codec.decoding_table["241,156"] = [39413] let s:lib.Codec.decoding_table["241,157"] = [39414] let s:lib.Codec.decoding_table["241,158"] = [39415] let s:lib.Codec.decoding_table["241,159"] = [39416] let s:lib.Codec.decoding_table["241,160"] = [39417] let s:lib.Codec.decoding_table["241,161"] = [30235] let s:lib.Codec.decoding_table["241,162"] = [30268] let s:lib.Codec.decoding_table["241,163"] = [30242] let s:lib.Codec.decoding_table["241,164"] = [30240] let s:lib.Codec.decoding_table["241,165"] = [30272] let s:lib.Codec.decoding_table["241,166"] = [30253] let s:lib.Codec.decoding_table["241,167"] = [30256] let s:lib.Codec.decoding_table["241,168"] = [30271] let s:lib.Codec.decoding_table["241,169"] = [30261] let s:lib.Codec.decoding_table["241,170"] = [30275] let s:lib.Codec.decoding_table["241,171"] = [30270] let s:lib.Codec.decoding_table["241,172"] = [30259] let s:lib.Codec.decoding_table["241,173"] = [30285] let s:lib.Codec.decoding_table["241,174"] = [30302] let s:lib.Codec.decoding_table["241,175"] = [30292] let s:lib.Codec.decoding_table["241,176"] = [30300] let s:lib.Codec.decoding_table["241,177"] = [30294] let s:lib.Codec.decoding_table["241,178"] = [30315] let s:lib.Codec.decoding_table["241,179"] = [30319] let s:lib.Codec.decoding_table["241,180"] = [32714] let s:lib.Codec.decoding_table["241,181"] = [31462] let s:lib.Codec.decoding_table["241,182"] = [31352] let s:lib.Codec.decoding_table["241,183"] = [31353] let s:lib.Codec.decoding_table["241,184"] = [31360] let s:lib.Codec.decoding_table["241,185"] = [31366] let s:lib.Codec.decoding_table["241,186"] = [31368] let s:lib.Codec.decoding_table["241,187"] = [31381] let s:lib.Codec.decoding_table["241,188"] = [31398] let s:lib.Codec.decoding_table["241,189"] = [31392] let s:lib.Codec.decoding_table["241,190"] = [31404] let s:lib.Codec.decoding_table["241,191"] = [31400] let s:lib.Codec.decoding_table["241,192"] = [31405] let s:lib.Codec.decoding_table["241,193"] = [31411] let s:lib.Codec.decoding_table["241,194"] = [34916] let s:lib.Codec.decoding_table["241,195"] = [34921] let s:lib.Codec.decoding_table["241,196"] = [34930] let s:lib.Codec.decoding_table["241,197"] = [34941] let s:lib.Codec.decoding_table["241,198"] = [34943] let s:lib.Codec.decoding_table["241,199"] = [34946] let s:lib.Codec.decoding_table["241,200"] = [34978] let s:lib.Codec.decoding_table["241,201"] = [35014] let s:lib.Codec.decoding_table["241,202"] = [34999] let s:lib.Codec.decoding_table["241,203"] = [35004] let s:lib.Codec.decoding_table["241,204"] = [35017] let s:lib.Codec.decoding_table["241,205"] = [35042] let s:lib.Codec.decoding_table["241,206"] = [35022] let s:lib.Codec.decoding_table["241,207"] = [35043] let s:lib.Codec.decoding_table["241,208"] = [35045] let s:lib.Codec.decoding_table["241,209"] = [35057] let s:lib.Codec.decoding_table["241,210"] = [35098] let s:lib.Codec.decoding_table["241,211"] = [35068] let s:lib.Codec.decoding_table["241,212"] = [35048] let s:lib.Codec.decoding_table["241,213"] = [35070] let s:lib.Codec.decoding_table["241,214"] = [35056] let s:lib.Codec.decoding_table["241,215"] = [35105] let s:lib.Codec.decoding_table["241,216"] = [35097] let s:lib.Codec.decoding_table["241,217"] = [35091] let s:lib.Codec.decoding_table["241,218"] = [35099] let s:lib.Codec.decoding_table["241,219"] = [35082] let s:lib.Codec.decoding_table["241,220"] = [35124] let s:lib.Codec.decoding_table["241,221"] = [35115] let s:lib.Codec.decoding_table["241,222"] = [35126] let s:lib.Codec.decoding_table["241,223"] = [35137] let s:lib.Codec.decoding_table["241,224"] = [35174] let s:lib.Codec.decoding_table["241,225"] = [35195] let s:lib.Codec.decoding_table["241,226"] = [30091] let s:lib.Codec.decoding_table["241,227"] = [32997] let s:lib.Codec.decoding_table["241,228"] = [30386] let s:lib.Codec.decoding_table["241,229"] = [30388] let s:lib.Codec.decoding_table["241,230"] = [30684] let s:lib.Codec.decoding_table["241,231"] = [32786] let s:lib.Codec.decoding_table["241,232"] = [32788] let s:lib.Codec.decoding_table["241,233"] = [32790] let s:lib.Codec.decoding_table["241,234"] = [32796] let s:lib.Codec.decoding_table["241,235"] = [32800] let s:lib.Codec.decoding_table["241,236"] = [32802] let s:lib.Codec.decoding_table["241,237"] = [32805] let s:lib.Codec.decoding_table["241,238"] = [32806] let s:lib.Codec.decoding_table["241,239"] = [32807] let s:lib.Codec.decoding_table["241,240"] = [32809] let s:lib.Codec.decoding_table["241,241"] = [32808] let s:lib.Codec.decoding_table["241,242"] = [32817] let s:lib.Codec.decoding_table["241,243"] = [32779] let s:lib.Codec.decoding_table["241,244"] = [32821] let s:lib.Codec.decoding_table["241,245"] = [32835] let s:lib.Codec.decoding_table["241,246"] = [32838] let s:lib.Codec.decoding_table["241,247"] = [32845] let s:lib.Codec.decoding_table["241,248"] = [32850] let s:lib.Codec.decoding_table["241,249"] = [32873] let s:lib.Codec.decoding_table["241,250"] = [32881] let s:lib.Codec.decoding_table["241,251"] = [35203] let s:lib.Codec.decoding_table["241,252"] = [39032] let s:lib.Codec.decoding_table["241,253"] = [39040] let s:lib.Codec.decoding_table["241,254"] = [39043] let s:lib.Codec.decoding_table["242,64"] = [39418] let s:lib.Codec.decoding_table["242,65"] = [39419] let s:lib.Codec.decoding_table["242,66"] = [39420] let s:lib.Codec.decoding_table["242,67"] = [39421] let s:lib.Codec.decoding_table["242,68"] = [39422] let s:lib.Codec.decoding_table["242,69"] = [39423] let s:lib.Codec.decoding_table["242,70"] = [39424] let s:lib.Codec.decoding_table["242,71"] = [39425] let s:lib.Codec.decoding_table["242,72"] = [39426] let s:lib.Codec.decoding_table["242,73"] = [39427] let s:lib.Codec.decoding_table["242,74"] = [39428] let s:lib.Codec.decoding_table["242,75"] = [39429] let s:lib.Codec.decoding_table["242,76"] = [39430] let s:lib.Codec.decoding_table["242,77"] = [39431] let s:lib.Codec.decoding_table["242,78"] = [39432] let s:lib.Codec.decoding_table["242,79"] = [39433] let s:lib.Codec.decoding_table["242,80"] = [39434] let s:lib.Codec.decoding_table["242,81"] = [39435] let s:lib.Codec.decoding_table["242,82"] = [39436] let s:lib.Codec.decoding_table["242,83"] = [39437] let s:lib.Codec.decoding_table["242,84"] = [39438] let s:lib.Codec.decoding_table["242,85"] = [39439] let s:lib.Codec.decoding_table["242,86"] = [39440] let s:lib.Codec.decoding_table["242,87"] = [39441] let s:lib.Codec.decoding_table["242,88"] = [39442] let s:lib.Codec.decoding_table["242,89"] = [39443] let s:lib.Codec.decoding_table["242,90"] = [39444] let s:lib.Codec.decoding_table["242,91"] = [39445] let s:lib.Codec.decoding_table["242,92"] = [39446] let s:lib.Codec.decoding_table["242,93"] = [39447] let s:lib.Codec.decoding_table["242,94"] = [39448] let s:lib.Codec.decoding_table["242,95"] = [39449] let s:lib.Codec.decoding_table["242,96"] = [39450] let s:lib.Codec.decoding_table["242,97"] = [39451] let s:lib.Codec.decoding_table["242,98"] = [39452] let s:lib.Codec.decoding_table["242,99"] = [39453] let s:lib.Codec.decoding_table["242,100"] = [39454] let s:lib.Codec.decoding_table["242,101"] = [39455] let s:lib.Codec.decoding_table["242,102"] = [39456] let s:lib.Codec.decoding_table["242,103"] = [39457] let s:lib.Codec.decoding_table["242,104"] = [39458] let s:lib.Codec.decoding_table["242,105"] = [39459] let s:lib.Codec.decoding_table["242,106"] = [39460] let s:lib.Codec.decoding_table["242,107"] = [39461] let s:lib.Codec.decoding_table["242,108"] = [39462] let s:lib.Codec.decoding_table["242,109"] = [39463] let s:lib.Codec.decoding_table["242,110"] = [39464] let s:lib.Codec.decoding_table["242,111"] = [39465] let s:lib.Codec.decoding_table["242,112"] = [39466] let s:lib.Codec.decoding_table["242,113"] = [39467] let s:lib.Codec.decoding_table["242,114"] = [39468] let s:lib.Codec.decoding_table["242,115"] = [39469] let s:lib.Codec.decoding_table["242,116"] = [39470] let s:lib.Codec.decoding_table["242,117"] = [39471] let s:lib.Codec.decoding_table["242,118"] = [39472] let s:lib.Codec.decoding_table["242,119"] = [39473] let s:lib.Codec.decoding_table["242,120"] = [39474] let s:lib.Codec.decoding_table["242,121"] = [39475] let s:lib.Codec.decoding_table["242,122"] = [39476] let s:lib.Codec.decoding_table["242,123"] = [39477] let s:lib.Codec.decoding_table["242,124"] = [39478] let s:lib.Codec.decoding_table["242,125"] = [39479] let s:lib.Codec.decoding_table["242,126"] = [39480] let s:lib.Codec.decoding_table["242,128"] = [39481] let s:lib.Codec.decoding_table["242,129"] = [39482] let s:lib.Codec.decoding_table["242,130"] = [39483] let s:lib.Codec.decoding_table["242,131"] = [39484] let s:lib.Codec.decoding_table["242,132"] = [39485] let s:lib.Codec.decoding_table["242,133"] = [39486] let s:lib.Codec.decoding_table["242,134"] = [39487] let s:lib.Codec.decoding_table["242,135"] = [39488] let s:lib.Codec.decoding_table["242,136"] = [39489] let s:lib.Codec.decoding_table["242,137"] = [39490] let s:lib.Codec.decoding_table["242,138"] = [39491] let s:lib.Codec.decoding_table["242,139"] = [39492] let s:lib.Codec.decoding_table["242,140"] = [39493] let s:lib.Codec.decoding_table["242,141"] = [39494] let s:lib.Codec.decoding_table["242,142"] = [39495] let s:lib.Codec.decoding_table["242,143"] = [39496] let s:lib.Codec.decoding_table["242,144"] = [39497] let s:lib.Codec.decoding_table["242,145"] = [39498] let s:lib.Codec.decoding_table["242,146"] = [39499] let s:lib.Codec.decoding_table["242,147"] = [39500] let s:lib.Codec.decoding_table["242,148"] = [39501] let s:lib.Codec.decoding_table["242,149"] = [39502] let s:lib.Codec.decoding_table["242,150"] = [39503] let s:lib.Codec.decoding_table["242,151"] = [39504] let s:lib.Codec.decoding_table["242,152"] = [39505] let s:lib.Codec.decoding_table["242,153"] = [39506] let s:lib.Codec.decoding_table["242,154"] = [39507] let s:lib.Codec.decoding_table["242,155"] = [39508] let s:lib.Codec.decoding_table["242,156"] = [39509] let s:lib.Codec.decoding_table["242,157"] = [39510] let s:lib.Codec.decoding_table["242,158"] = [39511] let s:lib.Codec.decoding_table["242,159"] = [39512] let s:lib.Codec.decoding_table["242,160"] = [39513] let s:lib.Codec.decoding_table["242,161"] = [39049] let s:lib.Codec.decoding_table["242,162"] = [39052] let s:lib.Codec.decoding_table["242,163"] = [39053] let s:lib.Codec.decoding_table["242,164"] = [39055] let s:lib.Codec.decoding_table["242,165"] = [39060] let s:lib.Codec.decoding_table["242,166"] = [39066] let s:lib.Codec.decoding_table["242,167"] = [39067] let s:lib.Codec.decoding_table["242,168"] = [39070] let s:lib.Codec.decoding_table["242,169"] = [39071] let s:lib.Codec.decoding_table["242,170"] = [39073] let s:lib.Codec.decoding_table["242,171"] = [39074] let s:lib.Codec.decoding_table["242,172"] = [39077] let s:lib.Codec.decoding_table["242,173"] = [39078] let s:lib.Codec.decoding_table["242,174"] = [34381] let s:lib.Codec.decoding_table["242,175"] = [34388] let s:lib.Codec.decoding_table["242,176"] = [34412] let s:lib.Codec.decoding_table["242,177"] = [34414] let s:lib.Codec.decoding_table["242,178"] = [34431] let s:lib.Codec.decoding_table["242,179"] = [34426] let s:lib.Codec.decoding_table["242,180"] = [34428] let s:lib.Codec.decoding_table["242,181"] = [34427] let s:lib.Codec.decoding_table["242,182"] = [34472] let s:lib.Codec.decoding_table["242,183"] = [34445] let s:lib.Codec.decoding_table["242,184"] = [34443] let s:lib.Codec.decoding_table["242,185"] = [34476] let s:lib.Codec.decoding_table["242,186"] = [34461] let s:lib.Codec.decoding_table["242,187"] = [34471] let s:lib.Codec.decoding_table["242,188"] = [34467] let s:lib.Codec.decoding_table["242,189"] = [34474] let s:lib.Codec.decoding_table["242,190"] = [34451] let s:lib.Codec.decoding_table["242,191"] = [34473] let s:lib.Codec.decoding_table["242,192"] = [34486] let s:lib.Codec.decoding_table["242,193"] = [34500] let s:lib.Codec.decoding_table["242,194"] = [34485] let s:lib.Codec.decoding_table["242,195"] = [34510] let s:lib.Codec.decoding_table["242,196"] = [34480] let s:lib.Codec.decoding_table["242,197"] = [34490] let s:lib.Codec.decoding_table["242,198"] = [34481] let s:lib.Codec.decoding_table["242,199"] = [34479] let s:lib.Codec.decoding_table["242,200"] = [34505] let s:lib.Codec.decoding_table["242,201"] = [34511] let s:lib.Codec.decoding_table["242,202"] = [34484] let s:lib.Codec.decoding_table["242,203"] = [34537] let s:lib.Codec.decoding_table["242,204"] = [34545] let s:lib.Codec.decoding_table["242,205"] = [34546] let s:lib.Codec.decoding_table["242,206"] = [34541] let s:lib.Codec.decoding_table["242,207"] = [34547] let s:lib.Codec.decoding_table["242,208"] = [34512] let s:lib.Codec.decoding_table["242,209"] = [34579] let s:lib.Codec.decoding_table["242,210"] = [34526] let s:lib.Codec.decoding_table["242,211"] = [34548] let s:lib.Codec.decoding_table["242,212"] = [34527] let s:lib.Codec.decoding_table["242,213"] = [34520] let s:lib.Codec.decoding_table["242,214"] = [34513] let s:lib.Codec.decoding_table["242,215"] = [34563] let s:lib.Codec.decoding_table["242,216"] = [34567] let s:lib.Codec.decoding_table["242,217"] = [34552] let s:lib.Codec.decoding_table["242,218"] = [34568] let s:lib.Codec.decoding_table["242,219"] = [34570] let s:lib.Codec.decoding_table["242,220"] = [34573] let s:lib.Codec.decoding_table["242,221"] = [34569] let s:lib.Codec.decoding_table["242,222"] = [34595] let s:lib.Codec.decoding_table["242,223"] = [34619] let s:lib.Codec.decoding_table["242,224"] = [34590] let s:lib.Codec.decoding_table["242,225"] = [34597] let s:lib.Codec.decoding_table["242,226"] = [34606] let s:lib.Codec.decoding_table["242,227"] = [34586] let s:lib.Codec.decoding_table["242,228"] = [34622] let s:lib.Codec.decoding_table["242,229"] = [34632] let s:lib.Codec.decoding_table["242,230"] = [34612] let s:lib.Codec.decoding_table["242,231"] = [34609] let s:lib.Codec.decoding_table["242,232"] = [34601] let s:lib.Codec.decoding_table["242,233"] = [34615] let s:lib.Codec.decoding_table["242,234"] = [34623] let s:lib.Codec.decoding_table["242,235"] = [34690] let s:lib.Codec.decoding_table["242,236"] = [34594] let s:lib.Codec.decoding_table["242,237"] = [34685] let s:lib.Codec.decoding_table["242,238"] = [34686] let s:lib.Codec.decoding_table["242,239"] = [34683] let s:lib.Codec.decoding_table["242,240"] = [34656] let s:lib.Codec.decoding_table["242,241"] = [34672] let s:lib.Codec.decoding_table["242,242"] = [34636] let s:lib.Codec.decoding_table["242,243"] = [34670] let s:lib.Codec.decoding_table["242,244"] = [34699] let s:lib.Codec.decoding_table["242,245"] = [34643] let s:lib.Codec.decoding_table["242,246"] = [34659] let s:lib.Codec.decoding_table["242,247"] = [34684] let s:lib.Codec.decoding_table["242,248"] = [34660] let s:lib.Codec.decoding_table["242,249"] = [34649] let s:lib.Codec.decoding_table["242,250"] = [34661] let s:lib.Codec.decoding_table["242,251"] = [34707] let s:lib.Codec.decoding_table["242,252"] = [34735] let s:lib.Codec.decoding_table["242,253"] = [34728] let s:lib.Codec.decoding_table["242,254"] = [34770] let s:lib.Codec.decoding_table["243,64"] = [39514] let s:lib.Codec.decoding_table["243,65"] = [39515] let s:lib.Codec.decoding_table["243,66"] = [39516] let s:lib.Codec.decoding_table["243,67"] = [39517] let s:lib.Codec.decoding_table["243,68"] = [39518] let s:lib.Codec.decoding_table["243,69"] = [39519] let s:lib.Codec.decoding_table["243,70"] = [39520] let s:lib.Codec.decoding_table["243,71"] = [39521] let s:lib.Codec.decoding_table["243,72"] = [39522] let s:lib.Codec.decoding_table["243,73"] = [39523] let s:lib.Codec.decoding_table["243,74"] = [39524] let s:lib.Codec.decoding_table["243,75"] = [39525] let s:lib.Codec.decoding_table["243,76"] = [39526] let s:lib.Codec.decoding_table["243,77"] = [39527] let s:lib.Codec.decoding_table["243,78"] = [39528] let s:lib.Codec.decoding_table["243,79"] = [39529] let s:lib.Codec.decoding_table["243,80"] = [39530] let s:lib.Codec.decoding_table["243,81"] = [39531] let s:lib.Codec.decoding_table["243,82"] = [39538] let s:lib.Codec.decoding_table["243,83"] = [39555] let s:lib.Codec.decoding_table["243,84"] = [39561] let s:lib.Codec.decoding_table["243,85"] = [39565] let s:lib.Codec.decoding_table["243,86"] = [39566] let s:lib.Codec.decoding_table["243,87"] = [39572] let s:lib.Codec.decoding_table["243,88"] = [39573] let s:lib.Codec.decoding_table["243,89"] = [39577] let s:lib.Codec.decoding_table["243,90"] = [39590] let s:lib.Codec.decoding_table["243,91"] = [39593] let s:lib.Codec.decoding_table["243,92"] = [39594] let s:lib.Codec.decoding_table["243,93"] = [39595] let s:lib.Codec.decoding_table["243,94"] = [39596] let s:lib.Codec.decoding_table["243,95"] = [39597] let s:lib.Codec.decoding_table["243,96"] = [39598] let s:lib.Codec.decoding_table["243,97"] = [39599] let s:lib.Codec.decoding_table["243,98"] = [39602] let s:lib.Codec.decoding_table["243,99"] = [39603] let s:lib.Codec.decoding_table["243,100"] = [39604] let s:lib.Codec.decoding_table["243,101"] = [39605] let s:lib.Codec.decoding_table["243,102"] = [39609] let s:lib.Codec.decoding_table["243,103"] = [39611] let s:lib.Codec.decoding_table["243,104"] = [39613] let s:lib.Codec.decoding_table["243,105"] = [39614] let s:lib.Codec.decoding_table["243,106"] = [39615] let s:lib.Codec.decoding_table["243,107"] = [39619] let s:lib.Codec.decoding_table["243,108"] = [39620] let s:lib.Codec.decoding_table["243,109"] = [39622] let s:lib.Codec.decoding_table["243,110"] = [39623] let s:lib.Codec.decoding_table["243,111"] = [39624] let s:lib.Codec.decoding_table["243,112"] = [39625] let s:lib.Codec.decoding_table["243,113"] = [39626] let s:lib.Codec.decoding_table["243,114"] = [39629] let s:lib.Codec.decoding_table["243,115"] = [39630] let s:lib.Codec.decoding_table["243,116"] = [39631] let s:lib.Codec.decoding_table["243,117"] = [39632] let s:lib.Codec.decoding_table["243,118"] = [39634] let s:lib.Codec.decoding_table["243,119"] = [39636] let s:lib.Codec.decoding_table["243,120"] = [39637] let s:lib.Codec.decoding_table["243,121"] = [39638] let s:lib.Codec.decoding_table["243,122"] = [39639] let s:lib.Codec.decoding_table["243,123"] = [39641] let s:lib.Codec.decoding_table["243,124"] = [39642] let s:lib.Codec.decoding_table["243,125"] = [39643] let s:lib.Codec.decoding_table["243,126"] = [39644] let s:lib.Codec.decoding_table["243,128"] = [39645] let s:lib.Codec.decoding_table["243,129"] = [39646] let s:lib.Codec.decoding_table["243,130"] = [39648] let s:lib.Codec.decoding_table["243,131"] = [39650] let s:lib.Codec.decoding_table["243,132"] = [39651] let s:lib.Codec.decoding_table["243,133"] = [39652] let s:lib.Codec.decoding_table["243,134"] = [39653] let s:lib.Codec.decoding_table["243,135"] = [39655] let s:lib.Codec.decoding_table["243,136"] = [39656] let s:lib.Codec.decoding_table["243,137"] = [39657] let s:lib.Codec.decoding_table["243,138"] = [39658] let s:lib.Codec.decoding_table["243,139"] = [39660] let s:lib.Codec.decoding_table["243,140"] = [39662] let s:lib.Codec.decoding_table["243,141"] = [39664] let s:lib.Codec.decoding_table["243,142"] = [39665] let s:lib.Codec.decoding_table["243,143"] = [39666] let s:lib.Codec.decoding_table["243,144"] = [39667] let s:lib.Codec.decoding_table["243,145"] = [39668] let s:lib.Codec.decoding_table["243,146"] = [39669] let s:lib.Codec.decoding_table["243,147"] = [39670] let s:lib.Codec.decoding_table["243,148"] = [39671] let s:lib.Codec.decoding_table["243,149"] = [39672] let s:lib.Codec.decoding_table["243,150"] = [39674] let s:lib.Codec.decoding_table["243,151"] = [39676] let s:lib.Codec.decoding_table["243,152"] = [39677] let s:lib.Codec.decoding_table["243,153"] = [39678] let s:lib.Codec.decoding_table["243,154"] = [39679] let s:lib.Codec.decoding_table["243,155"] = [39680] let s:lib.Codec.decoding_table["243,156"] = [39681] let s:lib.Codec.decoding_table["243,157"] = [39682] let s:lib.Codec.decoding_table["243,158"] = [39684] let s:lib.Codec.decoding_table["243,159"] = [39685] let s:lib.Codec.decoding_table["243,160"] = [39686] let s:lib.Codec.decoding_table["243,161"] = [34758] let s:lib.Codec.decoding_table["243,162"] = [34696] let s:lib.Codec.decoding_table["243,163"] = [34693] let s:lib.Codec.decoding_table["243,164"] = [34733] let s:lib.Codec.decoding_table["243,165"] = [34711] let s:lib.Codec.decoding_table["243,166"] = [34691] let s:lib.Codec.decoding_table["243,167"] = [34731] let s:lib.Codec.decoding_table["243,168"] = [34789] let s:lib.Codec.decoding_table["243,169"] = [34732] let s:lib.Codec.decoding_table["243,170"] = [34741] let s:lib.Codec.decoding_table["243,171"] = [34739] let s:lib.Codec.decoding_table["243,172"] = [34763] let s:lib.Codec.decoding_table["243,173"] = [34771] let s:lib.Codec.decoding_table["243,174"] = [34749] let s:lib.Codec.decoding_table["243,175"] = [34769] let s:lib.Codec.decoding_table["243,176"] = [34752] let s:lib.Codec.decoding_table["243,177"] = [34762] let s:lib.Codec.decoding_table["243,178"] = [34779] let s:lib.Codec.decoding_table["243,179"] = [34794] let s:lib.Codec.decoding_table["243,180"] = [34784] let s:lib.Codec.decoding_table["243,181"] = [34798] let s:lib.Codec.decoding_table["243,182"] = [34838] let s:lib.Codec.decoding_table["243,183"] = [34835] let s:lib.Codec.decoding_table["243,184"] = [34814] let s:lib.Codec.decoding_table["243,185"] = [34826] let s:lib.Codec.decoding_table["243,186"] = [34843] let s:lib.Codec.decoding_table["243,187"] = [34849] let s:lib.Codec.decoding_table["243,188"] = [34873] let s:lib.Codec.decoding_table["243,189"] = [34876] let s:lib.Codec.decoding_table["243,190"] = [32566] let s:lib.Codec.decoding_table["243,191"] = [32578] let s:lib.Codec.decoding_table["243,192"] = [32580] let s:lib.Codec.decoding_table["243,193"] = [32581] let s:lib.Codec.decoding_table["243,194"] = [33296] let s:lib.Codec.decoding_table["243,195"] = [31482] let s:lib.Codec.decoding_table["243,196"] = [31485] let s:lib.Codec.decoding_table["243,197"] = [31496] let s:lib.Codec.decoding_table["243,198"] = [31491] let s:lib.Codec.decoding_table["243,199"] = [31492] let s:lib.Codec.decoding_table["243,200"] = [31509] let s:lib.Codec.decoding_table["243,201"] = [31498] let s:lib.Codec.decoding_table["243,202"] = [31531] let s:lib.Codec.decoding_table["243,203"] = [31503] let s:lib.Codec.decoding_table["243,204"] = [31559] let s:lib.Codec.decoding_table["243,205"] = [31544] let s:lib.Codec.decoding_table["243,206"] = [31530] let s:lib.Codec.decoding_table["243,207"] = [31513] let s:lib.Codec.decoding_table["243,208"] = [31534] let s:lib.Codec.decoding_table["243,209"] = [31537] let s:lib.Codec.decoding_table["243,210"] = [31520] let s:lib.Codec.decoding_table["243,211"] = [31525] let s:lib.Codec.decoding_table["243,212"] = [31524] let s:lib.Codec.decoding_table["243,213"] = [31539] let s:lib.Codec.decoding_table["243,214"] = [31550] let s:lib.Codec.decoding_table["243,215"] = [31518] let s:lib.Codec.decoding_table["243,216"] = [31576] let s:lib.Codec.decoding_table["243,217"] = [31578] let s:lib.Codec.decoding_table["243,218"] = [31557] let s:lib.Codec.decoding_table["243,219"] = [31605] let s:lib.Codec.decoding_table["243,220"] = [31564] let s:lib.Codec.decoding_table["243,221"] = [31581] let s:lib.Codec.decoding_table["243,222"] = [31584] let s:lib.Codec.decoding_table["243,223"] = [31598] let s:lib.Codec.decoding_table["243,224"] = [31611] let s:lib.Codec.decoding_table["243,225"] = [31586] let s:lib.Codec.decoding_table["243,226"] = [31602] let s:lib.Codec.decoding_table["243,227"] = [31601] let s:lib.Codec.decoding_table["243,228"] = [31632] let s:lib.Codec.decoding_table["243,229"] = [31654] let s:lib.Codec.decoding_table["243,230"] = [31655] let s:lib.Codec.decoding_table["243,231"] = [31672] let s:lib.Codec.decoding_table["243,232"] = [31660] let s:lib.Codec.decoding_table["243,233"] = [31645] let s:lib.Codec.decoding_table["243,234"] = [31656] let s:lib.Codec.decoding_table["243,235"] = [31621] let s:lib.Codec.decoding_table["243,236"] = [31658] let s:lib.Codec.decoding_table["243,237"] = [31644] let s:lib.Codec.decoding_table["243,238"] = [31650] let s:lib.Codec.decoding_table["243,239"] = [31659] let s:lib.Codec.decoding_table["243,240"] = [31668] let s:lib.Codec.decoding_table["243,241"] = [31697] let s:lib.Codec.decoding_table["243,242"] = [31681] let s:lib.Codec.decoding_table["243,243"] = [31692] let s:lib.Codec.decoding_table["243,244"] = [31709] let s:lib.Codec.decoding_table["243,245"] = [31706] let s:lib.Codec.decoding_table["243,246"] = [31717] let s:lib.Codec.decoding_table["243,247"] = [31718] let s:lib.Codec.decoding_table["243,248"] = [31722] let s:lib.Codec.decoding_table["243,249"] = [31756] let s:lib.Codec.decoding_table["243,250"] = [31742] let s:lib.Codec.decoding_table["243,251"] = [31740] let s:lib.Codec.decoding_table["243,252"] = [31759] let s:lib.Codec.decoding_table["243,253"] = [31766] let s:lib.Codec.decoding_table["243,254"] = [31755] let s:lib.Codec.decoding_table["244,64"] = [39687] let s:lib.Codec.decoding_table["244,65"] = [39689] let s:lib.Codec.decoding_table["244,66"] = [39690] let s:lib.Codec.decoding_table["244,67"] = [39691] let s:lib.Codec.decoding_table["244,68"] = [39692] let s:lib.Codec.decoding_table["244,69"] = [39693] let s:lib.Codec.decoding_table["244,70"] = [39694] let s:lib.Codec.decoding_table["244,71"] = [39696] let s:lib.Codec.decoding_table["244,72"] = [39697] let s:lib.Codec.decoding_table["244,73"] = [39698] let s:lib.Codec.decoding_table["244,74"] = [39700] let s:lib.Codec.decoding_table["244,75"] = [39701] let s:lib.Codec.decoding_table["244,76"] = [39702] let s:lib.Codec.decoding_table["244,77"] = [39703] let s:lib.Codec.decoding_table["244,78"] = [39704] let s:lib.Codec.decoding_table["244,79"] = [39705] let s:lib.Codec.decoding_table["244,80"] = [39706] let s:lib.Codec.decoding_table["244,81"] = [39707] let s:lib.Codec.decoding_table["244,82"] = [39708] let s:lib.Codec.decoding_table["244,83"] = [39709] let s:lib.Codec.decoding_table["244,84"] = [39710] let s:lib.Codec.decoding_table["244,85"] = [39712] let s:lib.Codec.decoding_table["244,86"] = [39713] let s:lib.Codec.decoding_table["244,87"] = [39714] let s:lib.Codec.decoding_table["244,88"] = [39716] let s:lib.Codec.decoding_table["244,89"] = [39717] let s:lib.Codec.decoding_table["244,90"] = [39718] let s:lib.Codec.decoding_table["244,91"] = [39719] let s:lib.Codec.decoding_table["244,92"] = [39720] let s:lib.Codec.decoding_table["244,93"] = [39721] let s:lib.Codec.decoding_table["244,94"] = [39722] let s:lib.Codec.decoding_table["244,95"] = [39723] let s:lib.Codec.decoding_table["244,96"] = [39724] let s:lib.Codec.decoding_table["244,97"] = [39725] let s:lib.Codec.decoding_table["244,98"] = [39726] let s:lib.Codec.decoding_table["244,99"] = [39728] let s:lib.Codec.decoding_table["244,100"] = [39729] let s:lib.Codec.decoding_table["244,101"] = [39731] let s:lib.Codec.decoding_table["244,102"] = [39732] let s:lib.Codec.decoding_table["244,103"] = [39733] let s:lib.Codec.decoding_table["244,104"] = [39734] let s:lib.Codec.decoding_table["244,105"] = [39735] let s:lib.Codec.decoding_table["244,106"] = [39736] let s:lib.Codec.decoding_table["244,107"] = [39737] let s:lib.Codec.decoding_table["244,108"] = [39738] let s:lib.Codec.decoding_table["244,109"] = [39741] let s:lib.Codec.decoding_table["244,110"] = [39742] let s:lib.Codec.decoding_table["244,111"] = [39743] let s:lib.Codec.decoding_table["244,112"] = [39744] let s:lib.Codec.decoding_table["244,113"] = [39750] let s:lib.Codec.decoding_table["244,114"] = [39754] let s:lib.Codec.decoding_table["244,115"] = [39755] let s:lib.Codec.decoding_table["244,116"] = [39756] let s:lib.Codec.decoding_table["244,117"] = [39758] let s:lib.Codec.decoding_table["244,118"] = [39760] let s:lib.Codec.decoding_table["244,119"] = [39762] let s:lib.Codec.decoding_table["244,120"] = [39763] let s:lib.Codec.decoding_table["244,121"] = [39765] let s:lib.Codec.decoding_table["244,122"] = [39766] let s:lib.Codec.decoding_table["244,123"] = [39767] let s:lib.Codec.decoding_table["244,124"] = [39768] let s:lib.Codec.decoding_table["244,125"] = [39769] let s:lib.Codec.decoding_table["244,126"] = [39770] let s:lib.Codec.decoding_table["244,128"] = [39771] let s:lib.Codec.decoding_table["244,129"] = [39772] let s:lib.Codec.decoding_table["244,130"] = [39773] let s:lib.Codec.decoding_table["244,131"] = [39774] let s:lib.Codec.decoding_table["244,132"] = [39775] let s:lib.Codec.decoding_table["244,133"] = [39776] let s:lib.Codec.decoding_table["244,134"] = [39777] let s:lib.Codec.decoding_table["244,135"] = [39778] let s:lib.Codec.decoding_table["244,136"] = [39779] let s:lib.Codec.decoding_table["244,137"] = [39780] let s:lib.Codec.decoding_table["244,138"] = [39781] let s:lib.Codec.decoding_table["244,139"] = [39782] let s:lib.Codec.decoding_table["244,140"] = [39783] let s:lib.Codec.decoding_table["244,141"] = [39784] let s:lib.Codec.decoding_table["244,142"] = [39785] let s:lib.Codec.decoding_table["244,143"] = [39786] let s:lib.Codec.decoding_table["244,144"] = [39787] let s:lib.Codec.decoding_table["244,145"] = [39788] let s:lib.Codec.decoding_table["244,146"] = [39789] let s:lib.Codec.decoding_table["244,147"] = [39790] let s:lib.Codec.decoding_table["244,148"] = [39791] let s:lib.Codec.decoding_table["244,149"] = [39792] let s:lib.Codec.decoding_table["244,150"] = [39793] let s:lib.Codec.decoding_table["244,151"] = [39794] let s:lib.Codec.decoding_table["244,152"] = [39795] let s:lib.Codec.decoding_table["244,153"] = [39796] let s:lib.Codec.decoding_table["244,154"] = [39797] let s:lib.Codec.decoding_table["244,155"] = [39798] let s:lib.Codec.decoding_table["244,156"] = [39799] let s:lib.Codec.decoding_table["244,157"] = [39800] let s:lib.Codec.decoding_table["244,158"] = [39801] let s:lib.Codec.decoding_table["244,159"] = [39802] let s:lib.Codec.decoding_table["244,160"] = [39803] let s:lib.Codec.decoding_table["244,161"] = [31775] let s:lib.Codec.decoding_table["244,162"] = [31786] let s:lib.Codec.decoding_table["244,163"] = [31782] let s:lib.Codec.decoding_table["244,164"] = [31800] let s:lib.Codec.decoding_table["244,165"] = [31809] let s:lib.Codec.decoding_table["244,166"] = [31808] let s:lib.Codec.decoding_table["244,167"] = [33278] let s:lib.Codec.decoding_table["244,168"] = [33281] let s:lib.Codec.decoding_table["244,169"] = [33282] let s:lib.Codec.decoding_table["244,170"] = [33284] let s:lib.Codec.decoding_table["244,171"] = [33260] let s:lib.Codec.decoding_table["244,172"] = [34884] let s:lib.Codec.decoding_table["244,173"] = [33313] let s:lib.Codec.decoding_table["244,174"] = [33314] let s:lib.Codec.decoding_table["244,175"] = [33315] let s:lib.Codec.decoding_table["244,176"] = [33325] let s:lib.Codec.decoding_table["244,177"] = [33327] let s:lib.Codec.decoding_table["244,178"] = [33320] let s:lib.Codec.decoding_table["244,179"] = [33323] let s:lib.Codec.decoding_table["244,180"] = [33336] let s:lib.Codec.decoding_table["244,181"] = [33339] let s:lib.Codec.decoding_table["244,182"] = [33331] let s:lib.Codec.decoding_table["244,183"] = [33332] let s:lib.Codec.decoding_table["244,184"] = [33342] let s:lib.Codec.decoding_table["244,185"] = [33348] let s:lib.Codec.decoding_table["244,186"] = [33353] let s:lib.Codec.decoding_table["244,187"] = [33355] let s:lib.Codec.decoding_table["244,188"] = [33359] let s:lib.Codec.decoding_table["244,189"] = [33370] let s:lib.Codec.decoding_table["244,190"] = [33375] let s:lib.Codec.decoding_table["244,191"] = [33384] let s:lib.Codec.decoding_table["244,192"] = [34942] let s:lib.Codec.decoding_table["244,193"] = [34949] let s:lib.Codec.decoding_table["244,194"] = [34952] let s:lib.Codec.decoding_table["244,195"] = [35032] let s:lib.Codec.decoding_table["244,196"] = [35039] let s:lib.Codec.decoding_table["244,197"] = [35166] let s:lib.Codec.decoding_table["244,198"] = [32669] let s:lib.Codec.decoding_table["244,199"] = [32671] let s:lib.Codec.decoding_table["244,200"] = [32679] let s:lib.Codec.decoding_table["244,201"] = [32687] let s:lib.Codec.decoding_table["244,202"] = [32688] let s:lib.Codec.decoding_table["244,203"] = [32690] let s:lib.Codec.decoding_table["244,204"] = [31868] let s:lib.Codec.decoding_table["244,205"] = [25929] let s:lib.Codec.decoding_table["244,206"] = [31889] let s:lib.Codec.decoding_table["244,207"] = [31901] let s:lib.Codec.decoding_table["244,208"] = [31900] let s:lib.Codec.decoding_table["244,209"] = [31902] let s:lib.Codec.decoding_table["244,210"] = [31906] let s:lib.Codec.decoding_table["244,211"] = [31922] let s:lib.Codec.decoding_table["244,212"] = [31932] let s:lib.Codec.decoding_table["244,213"] = [31933] let s:lib.Codec.decoding_table["244,214"] = [31937] let s:lib.Codec.decoding_table["244,215"] = [31943] let s:lib.Codec.decoding_table["244,216"] = [31948] let s:lib.Codec.decoding_table["244,217"] = [31949] let s:lib.Codec.decoding_table["244,218"] = [31944] let s:lib.Codec.decoding_table["244,219"] = [31941] let s:lib.Codec.decoding_table["244,220"] = [31959] let s:lib.Codec.decoding_table["244,221"] = [31976] let s:lib.Codec.decoding_table["244,222"] = [33390] let s:lib.Codec.decoding_table["244,223"] = [26280] let s:lib.Codec.decoding_table["244,224"] = [32703] let s:lib.Codec.decoding_table["244,225"] = [32718] let s:lib.Codec.decoding_table["244,226"] = [32725] let s:lib.Codec.decoding_table["244,227"] = [32741] let s:lib.Codec.decoding_table["244,228"] = [32737] let s:lib.Codec.decoding_table["244,229"] = [32742] let s:lib.Codec.decoding_table["244,230"] = [32745] let s:lib.Codec.decoding_table["244,231"] = [32750] let s:lib.Codec.decoding_table["244,232"] = [32755] let s:lib.Codec.decoding_table["244,233"] = [31992] let s:lib.Codec.decoding_table["244,234"] = [32119] let s:lib.Codec.decoding_table["244,235"] = [32166] let s:lib.Codec.decoding_table["244,236"] = [32174] let s:lib.Codec.decoding_table["244,237"] = [32327] let s:lib.Codec.decoding_table["244,238"] = [32411] let s:lib.Codec.decoding_table["244,239"] = [40632] let s:lib.Codec.decoding_table["244,240"] = [40628] let s:lib.Codec.decoding_table["244,241"] = [36211] let s:lib.Codec.decoding_table["244,242"] = [36228] let s:lib.Codec.decoding_table["244,243"] = [36244] let s:lib.Codec.decoding_table["244,244"] = [36241] let s:lib.Codec.decoding_table["244,245"] = [36273] let s:lib.Codec.decoding_table["244,246"] = [36199] let s:lib.Codec.decoding_table["244,247"] = [36205] let s:lib.Codec.decoding_table["244,248"] = [35911] let s:lib.Codec.decoding_table["244,249"] = [35913] let s:lib.Codec.decoding_table["244,250"] = [37194] let s:lib.Codec.decoding_table["244,251"] = [37200] let s:lib.Codec.decoding_table["244,252"] = [37198] let s:lib.Codec.decoding_table["244,253"] = [37199] let s:lib.Codec.decoding_table["244,254"] = [37220] let s:lib.Codec.decoding_table["245,64"] = [39804] let s:lib.Codec.decoding_table["245,65"] = [39805] let s:lib.Codec.decoding_table["245,66"] = [39806] let s:lib.Codec.decoding_table["245,67"] = [39807] let s:lib.Codec.decoding_table["245,68"] = [39808] let s:lib.Codec.decoding_table["245,69"] = [39809] let s:lib.Codec.decoding_table["245,70"] = [39810] let s:lib.Codec.decoding_table["245,71"] = [39811] let s:lib.Codec.decoding_table["245,72"] = [39812] let s:lib.Codec.decoding_table["245,73"] = [39813] let s:lib.Codec.decoding_table["245,74"] = [39814] let s:lib.Codec.decoding_table["245,75"] = [39815] let s:lib.Codec.decoding_table["245,76"] = [39816] let s:lib.Codec.decoding_table["245,77"] = [39817] let s:lib.Codec.decoding_table["245,78"] = [39818] let s:lib.Codec.decoding_table["245,79"] = [39819] let s:lib.Codec.decoding_table["245,80"] = [39820] let s:lib.Codec.decoding_table["245,81"] = [39821] let s:lib.Codec.decoding_table["245,82"] = [39822] let s:lib.Codec.decoding_table["245,83"] = [39823] let s:lib.Codec.decoding_table["245,84"] = [39824] let s:lib.Codec.decoding_table["245,85"] = [39825] let s:lib.Codec.decoding_table["245,86"] = [39826] let s:lib.Codec.decoding_table["245,87"] = [39827] let s:lib.Codec.decoding_table["245,88"] = [39828] let s:lib.Codec.decoding_table["245,89"] = [39829] let s:lib.Codec.decoding_table["245,90"] = [39830] let s:lib.Codec.decoding_table["245,91"] = [39831] let s:lib.Codec.decoding_table["245,92"] = [39832] let s:lib.Codec.decoding_table["245,93"] = [39833] let s:lib.Codec.decoding_table["245,94"] = [39834] let s:lib.Codec.decoding_table["245,95"] = [39835] let s:lib.Codec.decoding_table["245,96"] = [39836] let s:lib.Codec.decoding_table["245,97"] = [39837] let s:lib.Codec.decoding_table["245,98"] = [39838] let s:lib.Codec.decoding_table["245,99"] = [39839] let s:lib.Codec.decoding_table["245,100"] = [39840] let s:lib.Codec.decoding_table["245,101"] = [39841] let s:lib.Codec.decoding_table["245,102"] = [39842] let s:lib.Codec.decoding_table["245,103"] = [39843] let s:lib.Codec.decoding_table["245,104"] = [39844] let s:lib.Codec.decoding_table["245,105"] = [39845] let s:lib.Codec.decoding_table["245,106"] = [39846] let s:lib.Codec.decoding_table["245,107"] = [39847] let s:lib.Codec.decoding_table["245,108"] = [39848] let s:lib.Codec.decoding_table["245,109"] = [39849] let s:lib.Codec.decoding_table["245,110"] = [39850] let s:lib.Codec.decoding_table["245,111"] = [39851] let s:lib.Codec.decoding_table["245,112"] = [39852] let s:lib.Codec.decoding_table["245,113"] = [39853] let s:lib.Codec.decoding_table["245,114"] = [39854] let s:lib.Codec.decoding_table["245,115"] = [39855] let s:lib.Codec.decoding_table["245,116"] = [39856] let s:lib.Codec.decoding_table["245,117"] = [39857] let s:lib.Codec.decoding_table["245,118"] = [39858] let s:lib.Codec.decoding_table["245,119"] = [39859] let s:lib.Codec.decoding_table["245,120"] = [39860] let s:lib.Codec.decoding_table["245,121"] = [39861] let s:lib.Codec.decoding_table["245,122"] = [39862] let s:lib.Codec.decoding_table["245,123"] = [39863] let s:lib.Codec.decoding_table["245,124"] = [39864] let s:lib.Codec.decoding_table["245,125"] = [39865] let s:lib.Codec.decoding_table["245,126"] = [39866] let s:lib.Codec.decoding_table["245,128"] = [39867] let s:lib.Codec.decoding_table["245,129"] = [39868] let s:lib.Codec.decoding_table["245,130"] = [39869] let s:lib.Codec.decoding_table["245,131"] = [39870] let s:lib.Codec.decoding_table["245,132"] = [39871] let s:lib.Codec.decoding_table["245,133"] = [39872] let s:lib.Codec.decoding_table["245,134"] = [39873] let s:lib.Codec.decoding_table["245,135"] = [39874] let s:lib.Codec.decoding_table["245,136"] = [39875] let s:lib.Codec.decoding_table["245,137"] = [39876] let s:lib.Codec.decoding_table["245,138"] = [39877] let s:lib.Codec.decoding_table["245,139"] = [39878] let s:lib.Codec.decoding_table["245,140"] = [39879] let s:lib.Codec.decoding_table["245,141"] = [39880] let s:lib.Codec.decoding_table["245,142"] = [39881] let s:lib.Codec.decoding_table["245,143"] = [39882] let s:lib.Codec.decoding_table["245,144"] = [39883] let s:lib.Codec.decoding_table["245,145"] = [39884] let s:lib.Codec.decoding_table["245,146"] = [39885] let s:lib.Codec.decoding_table["245,147"] = [39886] let s:lib.Codec.decoding_table["245,148"] = [39887] let s:lib.Codec.decoding_table["245,149"] = [39888] let s:lib.Codec.decoding_table["245,150"] = [39889] let s:lib.Codec.decoding_table["245,151"] = [39890] let s:lib.Codec.decoding_table["245,152"] = [39891] let s:lib.Codec.decoding_table["245,153"] = [39892] let s:lib.Codec.decoding_table["245,154"] = [39893] let s:lib.Codec.decoding_table["245,155"] = [39894] let s:lib.Codec.decoding_table["245,156"] = [39895] let s:lib.Codec.decoding_table["245,157"] = [39896] let s:lib.Codec.decoding_table["245,158"] = [39897] let s:lib.Codec.decoding_table["245,159"] = [39898] let s:lib.Codec.decoding_table["245,160"] = [39899] let s:lib.Codec.decoding_table["245,161"] = [37218] let s:lib.Codec.decoding_table["245,162"] = [37217] let s:lib.Codec.decoding_table["245,163"] = [37232] let s:lib.Codec.decoding_table["245,164"] = [37225] let s:lib.Codec.decoding_table["245,165"] = [37231] let s:lib.Codec.decoding_table["245,166"] = [37245] let s:lib.Codec.decoding_table["245,167"] = [37246] let s:lib.Codec.decoding_table["245,168"] = [37234] let s:lib.Codec.decoding_table["245,169"] = [37236] let s:lib.Codec.decoding_table["245,170"] = [37241] let s:lib.Codec.decoding_table["245,171"] = [37260] let s:lib.Codec.decoding_table["245,172"] = [37253] let s:lib.Codec.decoding_table["245,173"] = [37264] let s:lib.Codec.decoding_table["245,174"] = [37261] let s:lib.Codec.decoding_table["245,175"] = [37265] let s:lib.Codec.decoding_table["245,176"] = [37282] let s:lib.Codec.decoding_table["245,177"] = [37283] let s:lib.Codec.decoding_table["245,178"] = [37290] let s:lib.Codec.decoding_table["245,179"] = [37293] let s:lib.Codec.decoding_table["245,180"] = [37294] let s:lib.Codec.decoding_table["245,181"] = [37295] let s:lib.Codec.decoding_table["245,182"] = [37301] let s:lib.Codec.decoding_table["245,183"] = [37300] let s:lib.Codec.decoding_table["245,184"] = [37306] let s:lib.Codec.decoding_table["245,185"] = [35925] let s:lib.Codec.decoding_table["245,186"] = [40574] let s:lib.Codec.decoding_table["245,187"] = [36280] let s:lib.Codec.decoding_table["245,188"] = [36331] let s:lib.Codec.decoding_table["245,189"] = [36357] let s:lib.Codec.decoding_table["245,190"] = [36441] let s:lib.Codec.decoding_table["245,191"] = [36457] let s:lib.Codec.decoding_table["245,192"] = [36277] let s:lib.Codec.decoding_table["245,193"] = [36287] let s:lib.Codec.decoding_table["245,194"] = [36284] let s:lib.Codec.decoding_table["245,195"] = [36282] let s:lib.Codec.decoding_table["245,196"] = [36292] let s:lib.Codec.decoding_table["245,197"] = [36310] let s:lib.Codec.decoding_table["245,198"] = [36311] let s:lib.Codec.decoding_table["245,199"] = [36314] let s:lib.Codec.decoding_table["245,200"] = [36318] let s:lib.Codec.decoding_table["245,201"] = [36302] let s:lib.Codec.decoding_table["245,202"] = [36303] let s:lib.Codec.decoding_table["245,203"] = [36315] let s:lib.Codec.decoding_table["245,204"] = [36294] let s:lib.Codec.decoding_table["245,205"] = [36332] let s:lib.Codec.decoding_table["245,206"] = [36343] let s:lib.Codec.decoding_table["245,207"] = [36344] let s:lib.Codec.decoding_table["245,208"] = [36323] let s:lib.Codec.decoding_table["245,209"] = [36345] let s:lib.Codec.decoding_table["245,210"] = [36347] let s:lib.Codec.decoding_table["245,211"] = [36324] let s:lib.Codec.decoding_table["245,212"] = [36361] let s:lib.Codec.decoding_table["245,213"] = [36349] let s:lib.Codec.decoding_table["245,214"] = [36372] let s:lib.Codec.decoding_table["245,215"] = [36381] let s:lib.Codec.decoding_table["245,216"] = [36383] let s:lib.Codec.decoding_table["245,217"] = [36396] let s:lib.Codec.decoding_table["245,218"] = [36398] let s:lib.Codec.decoding_table["245,219"] = [36387] let s:lib.Codec.decoding_table["245,220"] = [36399] let s:lib.Codec.decoding_table["245,221"] = [36410] let s:lib.Codec.decoding_table["245,222"] = [36416] let s:lib.Codec.decoding_table["245,223"] = [36409] let s:lib.Codec.decoding_table["245,224"] = [36405] let s:lib.Codec.decoding_table["245,225"] = [36413] let s:lib.Codec.decoding_table["245,226"] = [36401] let s:lib.Codec.decoding_table["245,227"] = [36425] let s:lib.Codec.decoding_table["245,228"] = [36417] let s:lib.Codec.decoding_table["245,229"] = [36418] let s:lib.Codec.decoding_table["245,230"] = [36433] let s:lib.Codec.decoding_table["245,231"] = [36434] let s:lib.Codec.decoding_table["245,232"] = [36426] let s:lib.Codec.decoding_table["245,233"] = [36464] let s:lib.Codec.decoding_table["245,234"] = [36470] let s:lib.Codec.decoding_table["245,235"] = [36476] let s:lib.Codec.decoding_table["245,236"] = [36463] let s:lib.Codec.decoding_table["245,237"] = [36468] let s:lib.Codec.decoding_table["245,238"] = [36485] let s:lib.Codec.decoding_table["245,239"] = [36495] let s:lib.Codec.decoding_table["245,240"] = [36500] let s:lib.Codec.decoding_table["245,241"] = [36496] let s:lib.Codec.decoding_table["245,242"] = [36508] let s:lib.Codec.decoding_table["245,243"] = [36510] let s:lib.Codec.decoding_table["245,244"] = [35960] let s:lib.Codec.decoding_table["245,245"] = [35970] let s:lib.Codec.decoding_table["245,246"] = [35978] let s:lib.Codec.decoding_table["245,247"] = [35973] let s:lib.Codec.decoding_table["245,248"] = [35992] let s:lib.Codec.decoding_table["245,249"] = [35988] let s:lib.Codec.decoding_table["245,250"] = [26011] let s:lib.Codec.decoding_table["245,251"] = [35286] let s:lib.Codec.decoding_table["245,252"] = [35294] let s:lib.Codec.decoding_table["245,253"] = [35290] let s:lib.Codec.decoding_table["245,254"] = [35292] let s:lib.Codec.decoding_table["246,64"] = [39900] let s:lib.Codec.decoding_table["246,65"] = [39901] let s:lib.Codec.decoding_table["246,66"] = [39902] let s:lib.Codec.decoding_table["246,67"] = [39903] let s:lib.Codec.decoding_table["246,68"] = [39904] let s:lib.Codec.decoding_table["246,69"] = [39905] let s:lib.Codec.decoding_table["246,70"] = [39906] let s:lib.Codec.decoding_table["246,71"] = [39907] let s:lib.Codec.decoding_table["246,72"] = [39908] let s:lib.Codec.decoding_table["246,73"] = [39909] let s:lib.Codec.decoding_table["246,74"] = [39910] let s:lib.Codec.decoding_table["246,75"] = [39911] let s:lib.Codec.decoding_table["246,76"] = [39912] let s:lib.Codec.decoding_table["246,77"] = [39913] let s:lib.Codec.decoding_table["246,78"] = [39914] let s:lib.Codec.decoding_table["246,79"] = [39915] let s:lib.Codec.decoding_table["246,80"] = [39916] let s:lib.Codec.decoding_table["246,81"] = [39917] let s:lib.Codec.decoding_table["246,82"] = [39918] let s:lib.Codec.decoding_table["246,83"] = [39919] let s:lib.Codec.decoding_table["246,84"] = [39920] let s:lib.Codec.decoding_table["246,85"] = [39921] let s:lib.Codec.decoding_table["246,86"] = [39922] let s:lib.Codec.decoding_table["246,87"] = [39923] let s:lib.Codec.decoding_table["246,88"] = [39924] let s:lib.Codec.decoding_table["246,89"] = [39925] let s:lib.Codec.decoding_table["246,90"] = [39926] let s:lib.Codec.decoding_table["246,91"] = [39927] let s:lib.Codec.decoding_table["246,92"] = [39928] let s:lib.Codec.decoding_table["246,93"] = [39929] let s:lib.Codec.decoding_table["246,94"] = [39930] let s:lib.Codec.decoding_table["246,95"] = [39931] let s:lib.Codec.decoding_table["246,96"] = [39932] let s:lib.Codec.decoding_table["246,97"] = [39933] let s:lib.Codec.decoding_table["246,98"] = [39934] let s:lib.Codec.decoding_table["246,99"] = [39935] let s:lib.Codec.decoding_table["246,100"] = [39936] let s:lib.Codec.decoding_table["246,101"] = [39937] let s:lib.Codec.decoding_table["246,102"] = [39938] let s:lib.Codec.decoding_table["246,103"] = [39939] let s:lib.Codec.decoding_table["246,104"] = [39940] let s:lib.Codec.decoding_table["246,105"] = [39941] let s:lib.Codec.decoding_table["246,106"] = [39942] let s:lib.Codec.decoding_table["246,107"] = [39943] let s:lib.Codec.decoding_table["246,108"] = [39944] let s:lib.Codec.decoding_table["246,109"] = [39945] let s:lib.Codec.decoding_table["246,110"] = [39946] let s:lib.Codec.decoding_table["246,111"] = [39947] let s:lib.Codec.decoding_table["246,112"] = [39948] let s:lib.Codec.decoding_table["246,113"] = [39949] let s:lib.Codec.decoding_table["246,114"] = [39950] let s:lib.Codec.decoding_table["246,115"] = [39951] let s:lib.Codec.decoding_table["246,116"] = [39952] let s:lib.Codec.decoding_table["246,117"] = [39953] let s:lib.Codec.decoding_table["246,118"] = [39954] let s:lib.Codec.decoding_table["246,119"] = [39955] let s:lib.Codec.decoding_table["246,120"] = [39956] let s:lib.Codec.decoding_table["246,121"] = [39957] let s:lib.Codec.decoding_table["246,122"] = [39958] let s:lib.Codec.decoding_table["246,123"] = [39959] let s:lib.Codec.decoding_table["246,124"] = [39960] let s:lib.Codec.decoding_table["246,125"] = [39961] let s:lib.Codec.decoding_table["246,126"] = [39962] let s:lib.Codec.decoding_table["246,128"] = [39963] let s:lib.Codec.decoding_table["246,129"] = [39964] let s:lib.Codec.decoding_table["246,130"] = [39965] let s:lib.Codec.decoding_table["246,131"] = [39966] let s:lib.Codec.decoding_table["246,132"] = [39967] let s:lib.Codec.decoding_table["246,133"] = [39968] let s:lib.Codec.decoding_table["246,134"] = [39969] let s:lib.Codec.decoding_table["246,135"] = [39970] let s:lib.Codec.decoding_table["246,136"] = [39971] let s:lib.Codec.decoding_table["246,137"] = [39972] let s:lib.Codec.decoding_table["246,138"] = [39973] let s:lib.Codec.decoding_table["246,139"] = [39974] let s:lib.Codec.decoding_table["246,140"] = [39975] let s:lib.Codec.decoding_table["246,141"] = [39976] let s:lib.Codec.decoding_table["246,142"] = [39977] let s:lib.Codec.decoding_table["246,143"] = [39978] let s:lib.Codec.decoding_table["246,144"] = [39979] let s:lib.Codec.decoding_table["246,145"] = [39980] let s:lib.Codec.decoding_table["246,146"] = [39981] let s:lib.Codec.decoding_table["246,147"] = [39982] let s:lib.Codec.decoding_table["246,148"] = [39983] let s:lib.Codec.decoding_table["246,149"] = [39984] let s:lib.Codec.decoding_table["246,150"] = [39985] let s:lib.Codec.decoding_table["246,151"] = [39986] let s:lib.Codec.decoding_table["246,152"] = [39987] let s:lib.Codec.decoding_table["246,153"] = [39988] let s:lib.Codec.decoding_table["246,154"] = [39989] let s:lib.Codec.decoding_table["246,155"] = [39990] let s:lib.Codec.decoding_table["246,156"] = [39991] let s:lib.Codec.decoding_table["246,157"] = [39992] let s:lib.Codec.decoding_table["246,158"] = [39993] let s:lib.Codec.decoding_table["246,159"] = [39994] let s:lib.Codec.decoding_table["246,160"] = [39995] let s:lib.Codec.decoding_table["246,161"] = [35301] let s:lib.Codec.decoding_table["246,162"] = [35307] let s:lib.Codec.decoding_table["246,163"] = [35311] let s:lib.Codec.decoding_table["246,164"] = [35390] let s:lib.Codec.decoding_table["246,165"] = [35622] let s:lib.Codec.decoding_table["246,166"] = [38739] let s:lib.Codec.decoding_table["246,167"] = [38633] let s:lib.Codec.decoding_table["246,168"] = [38643] let s:lib.Codec.decoding_table["246,169"] = [38639] let s:lib.Codec.decoding_table["246,170"] = [38662] let s:lib.Codec.decoding_table["246,171"] = [38657] let s:lib.Codec.decoding_table["246,172"] = [38664] let s:lib.Codec.decoding_table["246,173"] = [38671] let s:lib.Codec.decoding_table["246,174"] = [38670] let s:lib.Codec.decoding_table["246,175"] = [38698] let s:lib.Codec.decoding_table["246,176"] = [38701] let s:lib.Codec.decoding_table["246,177"] = [38704] let s:lib.Codec.decoding_table["246,178"] = [38718] let s:lib.Codec.decoding_table["246,179"] = [40832] let s:lib.Codec.decoding_table["246,180"] = [40835] let s:lib.Codec.decoding_table["246,181"] = [40837] let s:lib.Codec.decoding_table["246,182"] = [40838] let s:lib.Codec.decoding_table["246,183"] = [40839] let s:lib.Codec.decoding_table["246,184"] = [40840] let s:lib.Codec.decoding_table["246,185"] = [40841] let s:lib.Codec.decoding_table["246,186"] = [40842] let s:lib.Codec.decoding_table["246,187"] = [40844] let s:lib.Codec.decoding_table["246,188"] = [40702] let s:lib.Codec.decoding_table["246,189"] = [40715] let s:lib.Codec.decoding_table["246,190"] = [40717] let s:lib.Codec.decoding_table["246,191"] = [38585] let s:lib.Codec.decoding_table["246,192"] = [38588] let s:lib.Codec.decoding_table["246,193"] = [38589] let s:lib.Codec.decoding_table["246,194"] = [38606] let s:lib.Codec.decoding_table["246,195"] = [38610] let s:lib.Codec.decoding_table["246,196"] = [30655] let s:lib.Codec.decoding_table["246,197"] = [38624] let s:lib.Codec.decoding_table["246,198"] = [37518] let s:lib.Codec.decoding_table["246,199"] = [37550] let s:lib.Codec.decoding_table["246,200"] = [37576] let s:lib.Codec.decoding_table["246,201"] = [37694] let s:lib.Codec.decoding_table["246,202"] = [37738] let s:lib.Codec.decoding_table["246,203"] = [37834] let s:lib.Codec.decoding_table["246,204"] = [37775] let s:lib.Codec.decoding_table["246,205"] = [37950] let s:lib.Codec.decoding_table["246,206"] = [37995] let s:lib.Codec.decoding_table["246,207"] = [40063] let s:lib.Codec.decoding_table["246,208"] = [40066] let s:lib.Codec.decoding_table["246,209"] = [40069] let s:lib.Codec.decoding_table["246,210"] = [40070] let s:lib.Codec.decoding_table["246,211"] = [40071] let s:lib.Codec.decoding_table["246,212"] = [40072] let s:lib.Codec.decoding_table["246,213"] = [31267] let s:lib.Codec.decoding_table["246,214"] = [40075] let s:lib.Codec.decoding_table["246,215"] = [40078] let s:lib.Codec.decoding_table["246,216"] = [40080] let s:lib.Codec.decoding_table["246,217"] = [40081] let s:lib.Codec.decoding_table["246,218"] = [40082] let s:lib.Codec.decoding_table["246,219"] = [40084] let s:lib.Codec.decoding_table["246,220"] = [40085] let s:lib.Codec.decoding_table["246,221"] = [40090] let s:lib.Codec.decoding_table["246,222"] = [40091] let s:lib.Codec.decoding_table["246,223"] = [40094] let s:lib.Codec.decoding_table["246,224"] = [40095] let s:lib.Codec.decoding_table["246,225"] = [40096] let s:lib.Codec.decoding_table["246,226"] = [40097] let s:lib.Codec.decoding_table["246,227"] = [40098] let s:lib.Codec.decoding_table["246,228"] = [40099] let s:lib.Codec.decoding_table["246,229"] = [40101] let s:lib.Codec.decoding_table["246,230"] = [40102] let s:lib.Codec.decoding_table["246,231"] = [40103] let s:lib.Codec.decoding_table["246,232"] = [40104] let s:lib.Codec.decoding_table["246,233"] = [40105] let s:lib.Codec.decoding_table["246,234"] = [40107] let s:lib.Codec.decoding_table["246,235"] = [40109] let s:lib.Codec.decoding_table["246,236"] = [40110] let s:lib.Codec.decoding_table["246,237"] = [40112] let s:lib.Codec.decoding_table["246,238"] = [40113] let s:lib.Codec.decoding_table["246,239"] = [40114] let s:lib.Codec.decoding_table["246,240"] = [40115] let s:lib.Codec.decoding_table["246,241"] = [40116] let s:lib.Codec.decoding_table["246,242"] = [40117] let s:lib.Codec.decoding_table["246,243"] = [40118] let s:lib.Codec.decoding_table["246,244"] = [40119] let s:lib.Codec.decoding_table["246,245"] = [40122] let s:lib.Codec.decoding_table["246,246"] = [40123] let s:lib.Codec.decoding_table["246,247"] = [40124] let s:lib.Codec.decoding_table["246,248"] = [40125] let s:lib.Codec.decoding_table["246,249"] = [40132] let s:lib.Codec.decoding_table["246,250"] = [40133] let s:lib.Codec.decoding_table["246,251"] = [40134] let s:lib.Codec.decoding_table["246,252"] = [40135] let s:lib.Codec.decoding_table["246,253"] = [40138] let s:lib.Codec.decoding_table["246,254"] = [40139] let s:lib.Codec.decoding_table["247,64"] = [39996] let s:lib.Codec.decoding_table["247,65"] = [39997] let s:lib.Codec.decoding_table["247,66"] = [39998] let s:lib.Codec.decoding_table["247,67"] = [39999] let s:lib.Codec.decoding_table["247,68"] = [40000] let s:lib.Codec.decoding_table["247,69"] = [40001] let s:lib.Codec.decoding_table["247,70"] = [40002] let s:lib.Codec.decoding_table["247,71"] = [40003] let s:lib.Codec.decoding_table["247,72"] = [40004] let s:lib.Codec.decoding_table["247,73"] = [40005] let s:lib.Codec.decoding_table["247,74"] = [40006] let s:lib.Codec.decoding_table["247,75"] = [40007] let s:lib.Codec.decoding_table["247,76"] = [40008] let s:lib.Codec.decoding_table["247,77"] = [40009] let s:lib.Codec.decoding_table["247,78"] = [40010] let s:lib.Codec.decoding_table["247,79"] = [40011] let s:lib.Codec.decoding_table["247,80"] = [40012] let s:lib.Codec.decoding_table["247,81"] = [40013] let s:lib.Codec.decoding_table["247,82"] = [40014] let s:lib.Codec.decoding_table["247,83"] = [40015] let s:lib.Codec.decoding_table["247,84"] = [40016] let s:lib.Codec.decoding_table["247,85"] = [40017] let s:lib.Codec.decoding_table["247,86"] = [40018] let s:lib.Codec.decoding_table["247,87"] = [40019] let s:lib.Codec.decoding_table["247,88"] = [40020] let s:lib.Codec.decoding_table["247,89"] = [40021] let s:lib.Codec.decoding_table["247,90"] = [40022] let s:lib.Codec.decoding_table["247,91"] = [40023] let s:lib.Codec.decoding_table["247,92"] = [40024] let s:lib.Codec.decoding_table["247,93"] = [40025] let s:lib.Codec.decoding_table["247,94"] = [40026] let s:lib.Codec.decoding_table["247,95"] = [40027] let s:lib.Codec.decoding_table["247,96"] = [40028] let s:lib.Codec.decoding_table["247,97"] = [40029] let s:lib.Codec.decoding_table["247,98"] = [40030] let s:lib.Codec.decoding_table["247,99"] = [40031] let s:lib.Codec.decoding_table["247,100"] = [40032] let s:lib.Codec.decoding_table["247,101"] = [40033] let s:lib.Codec.decoding_table["247,102"] = [40034] let s:lib.Codec.decoding_table["247,103"] = [40035] let s:lib.Codec.decoding_table["247,104"] = [40036] let s:lib.Codec.decoding_table["247,105"] = [40037] let s:lib.Codec.decoding_table["247,106"] = [40038] let s:lib.Codec.decoding_table["247,107"] = [40039] let s:lib.Codec.decoding_table["247,108"] = [40040] let s:lib.Codec.decoding_table["247,109"] = [40041] let s:lib.Codec.decoding_table["247,110"] = [40042] let s:lib.Codec.decoding_table["247,111"] = [40043] let s:lib.Codec.decoding_table["247,112"] = [40044] let s:lib.Codec.decoding_table["247,113"] = [40045] let s:lib.Codec.decoding_table["247,114"] = [40046] let s:lib.Codec.decoding_table["247,115"] = [40047] let s:lib.Codec.decoding_table["247,116"] = [40048] let s:lib.Codec.decoding_table["247,117"] = [40049] let s:lib.Codec.decoding_table["247,118"] = [40050] let s:lib.Codec.decoding_table["247,119"] = [40051] let s:lib.Codec.decoding_table["247,120"] = [40052] let s:lib.Codec.decoding_table["247,121"] = [40053] let s:lib.Codec.decoding_table["247,122"] = [40054] let s:lib.Codec.decoding_table["247,123"] = [40055] let s:lib.Codec.decoding_table["247,124"] = [40056] let s:lib.Codec.decoding_table["247,125"] = [40057] let s:lib.Codec.decoding_table["247,126"] = [40058] let s:lib.Codec.decoding_table["247,128"] = [40059] let s:lib.Codec.decoding_table["247,129"] = [40061] let s:lib.Codec.decoding_table["247,130"] = [40062] let s:lib.Codec.decoding_table["247,131"] = [40064] let s:lib.Codec.decoding_table["247,132"] = [40067] let s:lib.Codec.decoding_table["247,133"] = [40068] let s:lib.Codec.decoding_table["247,134"] = [40073] let s:lib.Codec.decoding_table["247,135"] = [40074] let s:lib.Codec.decoding_table["247,136"] = [40076] let s:lib.Codec.decoding_table["247,137"] = [40079] let s:lib.Codec.decoding_table["247,138"] = [40083] let s:lib.Codec.decoding_table["247,139"] = [40086] let s:lib.Codec.decoding_table["247,140"] = [40087] let s:lib.Codec.decoding_table["247,141"] = [40088] let s:lib.Codec.decoding_table["247,142"] = [40089] let s:lib.Codec.decoding_table["247,143"] = [40093] let s:lib.Codec.decoding_table["247,144"] = [40106] let s:lib.Codec.decoding_table["247,145"] = [40108] let s:lib.Codec.decoding_table["247,146"] = [40111] let s:lib.Codec.decoding_table["247,147"] = [40121] let s:lib.Codec.decoding_table["247,148"] = [40126] let s:lib.Codec.decoding_table["247,149"] = [40127] let s:lib.Codec.decoding_table["247,150"] = [40128] let s:lib.Codec.decoding_table["247,151"] = [40129] let s:lib.Codec.decoding_table["247,152"] = [40130] let s:lib.Codec.decoding_table["247,153"] = [40136] let s:lib.Codec.decoding_table["247,154"] = [40137] let s:lib.Codec.decoding_table["247,155"] = [40145] let s:lib.Codec.decoding_table["247,156"] = [40146] let s:lib.Codec.decoding_table["247,157"] = [40154] let s:lib.Codec.decoding_table["247,158"] = [40155] let s:lib.Codec.decoding_table["247,159"] = [40160] let s:lib.Codec.decoding_table["247,160"] = [40161] let s:lib.Codec.decoding_table["247,161"] = [40140] let s:lib.Codec.decoding_table["247,162"] = [40141] let s:lib.Codec.decoding_table["247,163"] = [40142] let s:lib.Codec.decoding_table["247,164"] = [40143] let s:lib.Codec.decoding_table["247,165"] = [40144] let s:lib.Codec.decoding_table["247,166"] = [40147] let s:lib.Codec.decoding_table["247,167"] = [40148] let s:lib.Codec.decoding_table["247,168"] = [40149] let s:lib.Codec.decoding_table["247,169"] = [40151] let s:lib.Codec.decoding_table["247,170"] = [40152] let s:lib.Codec.decoding_table["247,171"] = [40153] let s:lib.Codec.decoding_table["247,172"] = [40156] let s:lib.Codec.decoding_table["247,173"] = [40157] let s:lib.Codec.decoding_table["247,174"] = [40159] let s:lib.Codec.decoding_table["247,175"] = [40162] let s:lib.Codec.decoding_table["247,176"] = [38780] let s:lib.Codec.decoding_table["247,177"] = [38789] let s:lib.Codec.decoding_table["247,178"] = [38801] let s:lib.Codec.decoding_table["247,179"] = [38802] let s:lib.Codec.decoding_table["247,180"] = [38804] let s:lib.Codec.decoding_table["247,181"] = [38831] let s:lib.Codec.decoding_table["247,182"] = [38827] let s:lib.Codec.decoding_table["247,183"] = [38819] let s:lib.Codec.decoding_table["247,184"] = [38834] let s:lib.Codec.decoding_table["247,185"] = [38836] let s:lib.Codec.decoding_table["247,186"] = [39601] let s:lib.Codec.decoding_table["247,187"] = [39600] let s:lib.Codec.decoding_table["247,188"] = [39607] let s:lib.Codec.decoding_table["247,189"] = [40536] let s:lib.Codec.decoding_table["247,190"] = [39606] let s:lib.Codec.decoding_table["247,191"] = [39610] let s:lib.Codec.decoding_table["247,192"] = [39612] let s:lib.Codec.decoding_table["247,193"] = [39617] let s:lib.Codec.decoding_table["247,194"] = [39616] let s:lib.Codec.decoding_table["247,195"] = [39621] let s:lib.Codec.decoding_table["247,196"] = [39618] let s:lib.Codec.decoding_table["247,197"] = [39627] let s:lib.Codec.decoding_table["247,198"] = [39628] let s:lib.Codec.decoding_table["247,199"] = [39633] let s:lib.Codec.decoding_table["247,200"] = [39749] let s:lib.Codec.decoding_table["247,201"] = [39747] let s:lib.Codec.decoding_table["247,202"] = [39751] let s:lib.Codec.decoding_table["247,203"] = [39753] let s:lib.Codec.decoding_table["247,204"] = [39752] let s:lib.Codec.decoding_table["247,205"] = [39757] let s:lib.Codec.decoding_table["247,206"] = [39761] let s:lib.Codec.decoding_table["247,207"] = [39144] let s:lib.Codec.decoding_table["247,208"] = [39181] let s:lib.Codec.decoding_table["247,209"] = [39214] let s:lib.Codec.decoding_table["247,210"] = [39253] let s:lib.Codec.decoding_table["247,211"] = [39252] let s:lib.Codec.decoding_table["247,212"] = [39647] let s:lib.Codec.decoding_table["247,213"] = [39649] let s:lib.Codec.decoding_table["247,214"] = [39654] let s:lib.Codec.decoding_table["247,215"] = [39663] let s:lib.Codec.decoding_table["247,216"] = [39659] let s:lib.Codec.decoding_table["247,217"] = [39675] let s:lib.Codec.decoding_table["247,218"] = [39661] let s:lib.Codec.decoding_table["247,219"] = [39673] let s:lib.Codec.decoding_table["247,220"] = [39688] let s:lib.Codec.decoding_table["247,221"] = [39695] let s:lib.Codec.decoding_table["247,222"] = [39699] let s:lib.Codec.decoding_table["247,223"] = [39711] let s:lib.Codec.decoding_table["247,224"] = [39715] let s:lib.Codec.decoding_table["247,225"] = [40637] let s:lib.Codec.decoding_table["247,226"] = [40638] let s:lib.Codec.decoding_table["247,227"] = [32315] let s:lib.Codec.decoding_table["247,228"] = [40578] let s:lib.Codec.decoding_table["247,229"] = [40583] let s:lib.Codec.decoding_table["247,230"] = [40584] let s:lib.Codec.decoding_table["247,231"] = [40587] let s:lib.Codec.decoding_table["247,232"] = [40594] let s:lib.Codec.decoding_table["247,233"] = [37846] let s:lib.Codec.decoding_table["247,234"] = [40605] let s:lib.Codec.decoding_table["247,235"] = [40607] let s:lib.Codec.decoding_table["247,236"] = [40667] let s:lib.Codec.decoding_table["247,237"] = [40668] let s:lib.Codec.decoding_table["247,238"] = [40669] let s:lib.Codec.decoding_table["247,239"] = [40672] let s:lib.Codec.decoding_table["247,240"] = [40671] let s:lib.Codec.decoding_table["247,241"] = [40674] let s:lib.Codec.decoding_table["247,242"] = [40681] let s:lib.Codec.decoding_table["247,243"] = [40679] let s:lib.Codec.decoding_table["247,244"] = [40677] let s:lib.Codec.decoding_table["247,245"] = [40682] let s:lib.Codec.decoding_table["247,246"] = [40687] let s:lib.Codec.decoding_table["247,247"] = [40738] let s:lib.Codec.decoding_table["247,248"] = [40748] let s:lib.Codec.decoding_table["247,249"] = [40751] let s:lib.Codec.decoding_table["247,250"] = [40761] let s:lib.Codec.decoding_table["247,251"] = [40759] let s:lib.Codec.decoding_table["247,252"] = [40765] let s:lib.Codec.decoding_table["247,253"] = [40766] let s:lib.Codec.decoding_table["247,254"] = [40772] let s:lib.Codec.decoding_table["248,64"] = [40163] let s:lib.Codec.decoding_table["248,65"] = [40164] let s:lib.Codec.decoding_table["248,66"] = [40165] let s:lib.Codec.decoding_table["248,67"] = [40166] let s:lib.Codec.decoding_table["248,68"] = [40167] let s:lib.Codec.decoding_table["248,69"] = [40168] let s:lib.Codec.decoding_table["248,70"] = [40169] let s:lib.Codec.decoding_table["248,71"] = [40170] let s:lib.Codec.decoding_table["248,72"] = [40171] let s:lib.Codec.decoding_table["248,73"] = [40172] let s:lib.Codec.decoding_table["248,74"] = [40173] let s:lib.Codec.decoding_table["248,75"] = [40174] let s:lib.Codec.decoding_table["248,76"] = [40175] let s:lib.Codec.decoding_table["248,77"] = [40176] let s:lib.Codec.decoding_table["248,78"] = [40177] let s:lib.Codec.decoding_table["248,79"] = [40178] let s:lib.Codec.decoding_table["248,80"] = [40179] let s:lib.Codec.decoding_table["248,81"] = [40180] let s:lib.Codec.decoding_table["248,82"] = [40181] let s:lib.Codec.decoding_table["248,83"] = [40182] let s:lib.Codec.decoding_table["248,84"] = [40183] let s:lib.Codec.decoding_table["248,85"] = [40184] let s:lib.Codec.decoding_table["248,86"] = [40185] let s:lib.Codec.decoding_table["248,87"] = [40186] let s:lib.Codec.decoding_table["248,88"] = [40187] let s:lib.Codec.decoding_table["248,89"] = [40188] let s:lib.Codec.decoding_table["248,90"] = [40189] let s:lib.Codec.decoding_table["248,91"] = [40190] let s:lib.Codec.decoding_table["248,92"] = [40191] let s:lib.Codec.decoding_table["248,93"] = [40192] let s:lib.Codec.decoding_table["248,94"] = [40193] let s:lib.Codec.decoding_table["248,95"] = [40194] let s:lib.Codec.decoding_table["248,96"] = [40195] let s:lib.Codec.decoding_table["248,97"] = [40196] let s:lib.Codec.decoding_table["248,98"] = [40197] let s:lib.Codec.decoding_table["248,99"] = [40198] let s:lib.Codec.decoding_table["248,100"] = [40199] let s:lib.Codec.decoding_table["248,101"] = [40200] let s:lib.Codec.decoding_table["248,102"] = [40201] let s:lib.Codec.decoding_table["248,103"] = [40202] let s:lib.Codec.decoding_table["248,104"] = [40203] let s:lib.Codec.decoding_table["248,105"] = [40204] let s:lib.Codec.decoding_table["248,106"] = [40205] let s:lib.Codec.decoding_table["248,107"] = [40206] let s:lib.Codec.decoding_table["248,108"] = [40207] let s:lib.Codec.decoding_table["248,109"] = [40208] let s:lib.Codec.decoding_table["248,110"] = [40209] let s:lib.Codec.decoding_table["248,111"] = [40210] let s:lib.Codec.decoding_table["248,112"] = [40211] let s:lib.Codec.decoding_table["248,113"] = [40212] let s:lib.Codec.decoding_table["248,114"] = [40213] let s:lib.Codec.decoding_table["248,115"] = [40214] let s:lib.Codec.decoding_table["248,116"] = [40215] let s:lib.Codec.decoding_table["248,117"] = [40216] let s:lib.Codec.decoding_table["248,118"] = [40217] let s:lib.Codec.decoding_table["248,119"] = [40218] let s:lib.Codec.decoding_table["248,120"] = [40219] let s:lib.Codec.decoding_table["248,121"] = [40220] let s:lib.Codec.decoding_table["248,122"] = [40221] let s:lib.Codec.decoding_table["248,123"] = [40222] let s:lib.Codec.decoding_table["248,124"] = [40223] let s:lib.Codec.decoding_table["248,125"] = [40224] let s:lib.Codec.decoding_table["248,126"] = [40225] let s:lib.Codec.decoding_table["248,128"] = [40226] let s:lib.Codec.decoding_table["248,129"] = [40227] let s:lib.Codec.decoding_table["248,130"] = [40228] let s:lib.Codec.decoding_table["248,131"] = [40229] let s:lib.Codec.decoding_table["248,132"] = [40230] let s:lib.Codec.decoding_table["248,133"] = [40231] let s:lib.Codec.decoding_table["248,134"] = [40232] let s:lib.Codec.decoding_table["248,135"] = [40233] let s:lib.Codec.decoding_table["248,136"] = [40234] let s:lib.Codec.decoding_table["248,137"] = [40235] let s:lib.Codec.decoding_table["248,138"] = [40236] let s:lib.Codec.decoding_table["248,139"] = [40237] let s:lib.Codec.decoding_table["248,140"] = [40238] let s:lib.Codec.decoding_table["248,141"] = [40239] let s:lib.Codec.decoding_table["248,142"] = [40240] let s:lib.Codec.decoding_table["248,143"] = [40241] let s:lib.Codec.decoding_table["248,144"] = [40242] let s:lib.Codec.decoding_table["248,145"] = [40243] let s:lib.Codec.decoding_table["248,146"] = [40244] let s:lib.Codec.decoding_table["248,147"] = [40245] let s:lib.Codec.decoding_table["248,148"] = [40246] let s:lib.Codec.decoding_table["248,149"] = [40247] let s:lib.Codec.decoding_table["248,150"] = [40248] let s:lib.Codec.decoding_table["248,151"] = [40249] let s:lib.Codec.decoding_table["248,152"] = [40250] let s:lib.Codec.decoding_table["248,153"] = [40251] let s:lib.Codec.decoding_table["248,154"] = [40252] let s:lib.Codec.decoding_table["248,155"] = [40253] let s:lib.Codec.decoding_table["248,156"] = [40254] let s:lib.Codec.decoding_table["248,157"] = [40255] let s:lib.Codec.decoding_table["248,158"] = [40256] let s:lib.Codec.decoding_table["248,159"] = [40257] let s:lib.Codec.decoding_table["248,160"] = [40258] let s:lib.Codec.decoding_table["249,64"] = [40259] let s:lib.Codec.decoding_table["249,65"] = [40260] let s:lib.Codec.decoding_table["249,66"] = [40261] let s:lib.Codec.decoding_table["249,67"] = [40262] let s:lib.Codec.decoding_table["249,68"] = [40263] let s:lib.Codec.decoding_table["249,69"] = [40264] let s:lib.Codec.decoding_table["249,70"] = [40265] let s:lib.Codec.decoding_table["249,71"] = [40266] let s:lib.Codec.decoding_table["249,72"] = [40267] let s:lib.Codec.decoding_table["249,73"] = [40268] let s:lib.Codec.decoding_table["249,74"] = [40269] let s:lib.Codec.decoding_table["249,75"] = [40270] let s:lib.Codec.decoding_table["249,76"] = [40271] let s:lib.Codec.decoding_table["249,77"] = [40272] let s:lib.Codec.decoding_table["249,78"] = [40273] let s:lib.Codec.decoding_table["249,79"] = [40274] let s:lib.Codec.decoding_table["249,80"] = [40275] let s:lib.Codec.decoding_table["249,81"] = [40276] let s:lib.Codec.decoding_table["249,82"] = [40277] let s:lib.Codec.decoding_table["249,83"] = [40278] let s:lib.Codec.decoding_table["249,84"] = [40279] let s:lib.Codec.decoding_table["249,85"] = [40280] let s:lib.Codec.decoding_table["249,86"] = [40281] let s:lib.Codec.decoding_table["249,87"] = [40282] let s:lib.Codec.decoding_table["249,88"] = [40283] let s:lib.Codec.decoding_table["249,89"] = [40284] let s:lib.Codec.decoding_table["249,90"] = [40285] let s:lib.Codec.decoding_table["249,91"] = [40286] let s:lib.Codec.decoding_table["249,92"] = [40287] let s:lib.Codec.decoding_table["249,93"] = [40288] let s:lib.Codec.decoding_table["249,94"] = [40289] let s:lib.Codec.decoding_table["249,95"] = [40290] let s:lib.Codec.decoding_table["249,96"] = [40291] let s:lib.Codec.decoding_table["249,97"] = [40292] let s:lib.Codec.decoding_table["249,98"] = [40293] let s:lib.Codec.decoding_table["249,99"] = [40294] let s:lib.Codec.decoding_table["249,100"] = [40295] let s:lib.Codec.decoding_table["249,101"] = [40296] let s:lib.Codec.decoding_table["249,102"] = [40297] let s:lib.Codec.decoding_table["249,103"] = [40298] let s:lib.Codec.decoding_table["249,104"] = [40299] let s:lib.Codec.decoding_table["249,105"] = [40300] let s:lib.Codec.decoding_table["249,106"] = [40301] let s:lib.Codec.decoding_table["249,107"] = [40302] let s:lib.Codec.decoding_table["249,108"] = [40303] let s:lib.Codec.decoding_table["249,109"] = [40304] let s:lib.Codec.decoding_table["249,110"] = [40305] let s:lib.Codec.decoding_table["249,111"] = [40306] let s:lib.Codec.decoding_table["249,112"] = [40307] let s:lib.Codec.decoding_table["249,113"] = [40308] let s:lib.Codec.decoding_table["249,114"] = [40309] let s:lib.Codec.decoding_table["249,115"] = [40310] let s:lib.Codec.decoding_table["249,116"] = [40311] let s:lib.Codec.decoding_table["249,117"] = [40312] let s:lib.Codec.decoding_table["249,118"] = [40313] let s:lib.Codec.decoding_table["249,119"] = [40314] let s:lib.Codec.decoding_table["249,120"] = [40315] let s:lib.Codec.decoding_table["249,121"] = [40316] let s:lib.Codec.decoding_table["249,122"] = [40317] let s:lib.Codec.decoding_table["249,123"] = [40318] let s:lib.Codec.decoding_table["249,124"] = [40319] let s:lib.Codec.decoding_table["249,125"] = [40320] let s:lib.Codec.decoding_table["249,126"] = [40321] let s:lib.Codec.decoding_table["249,128"] = [40322] let s:lib.Codec.decoding_table["249,129"] = [40323] let s:lib.Codec.decoding_table["249,130"] = [40324] let s:lib.Codec.decoding_table["249,131"] = [40325] let s:lib.Codec.decoding_table["249,132"] = [40326] let s:lib.Codec.decoding_table["249,133"] = [40327] let s:lib.Codec.decoding_table["249,134"] = [40328] let s:lib.Codec.decoding_table["249,135"] = [40329] let s:lib.Codec.decoding_table["249,136"] = [40330] let s:lib.Codec.decoding_table["249,137"] = [40331] let s:lib.Codec.decoding_table["249,138"] = [40332] let s:lib.Codec.decoding_table["249,139"] = [40333] let s:lib.Codec.decoding_table["249,140"] = [40334] let s:lib.Codec.decoding_table["249,141"] = [40335] let s:lib.Codec.decoding_table["249,142"] = [40336] let s:lib.Codec.decoding_table["249,143"] = [40337] let s:lib.Codec.decoding_table["249,144"] = [40338] let s:lib.Codec.decoding_table["249,145"] = [40339] let s:lib.Codec.decoding_table["249,146"] = [40340] let s:lib.Codec.decoding_table["249,147"] = [40341] let s:lib.Codec.decoding_table["249,148"] = [40342] let s:lib.Codec.decoding_table["249,149"] = [40343] let s:lib.Codec.decoding_table["249,150"] = [40344] let s:lib.Codec.decoding_table["249,151"] = [40345] let s:lib.Codec.decoding_table["249,152"] = [40346] let s:lib.Codec.decoding_table["249,153"] = [40347] let s:lib.Codec.decoding_table["249,154"] = [40348] let s:lib.Codec.decoding_table["249,155"] = [40349] let s:lib.Codec.decoding_table["249,156"] = [40350] let s:lib.Codec.decoding_table["249,157"] = [40351] let s:lib.Codec.decoding_table["249,158"] = [40352] let s:lib.Codec.decoding_table["249,159"] = [40353] let s:lib.Codec.decoding_table["249,160"] = [40354] let s:lib.Codec.decoding_table["250,64"] = [40355] let s:lib.Codec.decoding_table["250,65"] = [40356] let s:lib.Codec.decoding_table["250,66"] = [40357] let s:lib.Codec.decoding_table["250,67"] = [40358] let s:lib.Codec.decoding_table["250,68"] = [40359] let s:lib.Codec.decoding_table["250,69"] = [40360] let s:lib.Codec.decoding_table["250,70"] = [40361] let s:lib.Codec.decoding_table["250,71"] = [40362] let s:lib.Codec.decoding_table["250,72"] = [40363] let s:lib.Codec.decoding_table["250,73"] = [40364] let s:lib.Codec.decoding_table["250,74"] = [40365] let s:lib.Codec.decoding_table["250,75"] = [40366] let s:lib.Codec.decoding_table["250,76"] = [40367] let s:lib.Codec.decoding_table["250,77"] = [40368] let s:lib.Codec.decoding_table["250,78"] = [40369] let s:lib.Codec.decoding_table["250,79"] = [40370] let s:lib.Codec.decoding_table["250,80"] = [40371] let s:lib.Codec.decoding_table["250,81"] = [40372] let s:lib.Codec.decoding_table["250,82"] = [40373] let s:lib.Codec.decoding_table["250,83"] = [40374] let s:lib.Codec.decoding_table["250,84"] = [40375] let s:lib.Codec.decoding_table["250,85"] = [40376] let s:lib.Codec.decoding_table["250,86"] = [40377] let s:lib.Codec.decoding_table["250,87"] = [40378] let s:lib.Codec.decoding_table["250,88"] = [40379] let s:lib.Codec.decoding_table["250,89"] = [40380] let s:lib.Codec.decoding_table["250,90"] = [40381] let s:lib.Codec.decoding_table["250,91"] = [40382] let s:lib.Codec.decoding_table["250,92"] = [40383] let s:lib.Codec.decoding_table["250,93"] = [40384] let s:lib.Codec.decoding_table["250,94"] = [40385] let s:lib.Codec.decoding_table["250,95"] = [40386] let s:lib.Codec.decoding_table["250,96"] = [40387] let s:lib.Codec.decoding_table["250,97"] = [40388] let s:lib.Codec.decoding_table["250,98"] = [40389] let s:lib.Codec.decoding_table["250,99"] = [40390] let s:lib.Codec.decoding_table["250,100"] = [40391] let s:lib.Codec.decoding_table["250,101"] = [40392] let s:lib.Codec.decoding_table["250,102"] = [40393] let s:lib.Codec.decoding_table["250,103"] = [40394] let s:lib.Codec.decoding_table["250,104"] = [40395] let s:lib.Codec.decoding_table["250,105"] = [40396] let s:lib.Codec.decoding_table["250,106"] = [40397] let s:lib.Codec.decoding_table["250,107"] = [40398] let s:lib.Codec.decoding_table["250,108"] = [40399] let s:lib.Codec.decoding_table["250,109"] = [40400] let s:lib.Codec.decoding_table["250,110"] = [40401] let s:lib.Codec.decoding_table["250,111"] = [40402] let s:lib.Codec.decoding_table["250,112"] = [40403] let s:lib.Codec.decoding_table["250,113"] = [40404] let s:lib.Codec.decoding_table["250,114"] = [40405] let s:lib.Codec.decoding_table["250,115"] = [40406] let s:lib.Codec.decoding_table["250,116"] = [40407] let s:lib.Codec.decoding_table["250,117"] = [40408] let s:lib.Codec.decoding_table["250,118"] = [40409] let s:lib.Codec.decoding_table["250,119"] = [40410] let s:lib.Codec.decoding_table["250,120"] = [40411] let s:lib.Codec.decoding_table["250,121"] = [40412] let s:lib.Codec.decoding_table["250,122"] = [40413] let s:lib.Codec.decoding_table["250,123"] = [40414] let s:lib.Codec.decoding_table["250,124"] = [40415] let s:lib.Codec.decoding_table["250,125"] = [40416] let s:lib.Codec.decoding_table["250,126"] = [40417] let s:lib.Codec.decoding_table["250,128"] = [40418] let s:lib.Codec.decoding_table["250,129"] = [40419] let s:lib.Codec.decoding_table["250,130"] = [40420] let s:lib.Codec.decoding_table["250,131"] = [40421] let s:lib.Codec.decoding_table["250,132"] = [40422] let s:lib.Codec.decoding_table["250,133"] = [40423] let s:lib.Codec.decoding_table["250,134"] = [40424] let s:lib.Codec.decoding_table["250,135"] = [40425] let s:lib.Codec.decoding_table["250,136"] = [40426] let s:lib.Codec.decoding_table["250,137"] = [40427] let s:lib.Codec.decoding_table["250,138"] = [40428] let s:lib.Codec.decoding_table["250,139"] = [40429] let s:lib.Codec.decoding_table["250,140"] = [40430] let s:lib.Codec.decoding_table["250,141"] = [40431] let s:lib.Codec.decoding_table["250,142"] = [40432] let s:lib.Codec.decoding_table["250,143"] = [40433] let s:lib.Codec.decoding_table["250,144"] = [40434] let s:lib.Codec.decoding_table["250,145"] = [40435] let s:lib.Codec.decoding_table["250,146"] = [40436] let s:lib.Codec.decoding_table["250,147"] = [40437] let s:lib.Codec.decoding_table["250,148"] = [40438] let s:lib.Codec.decoding_table["250,149"] = [40439] let s:lib.Codec.decoding_table["250,150"] = [40440] let s:lib.Codec.decoding_table["250,151"] = [40441] let s:lib.Codec.decoding_table["250,152"] = [40442] let s:lib.Codec.decoding_table["250,153"] = [40443] let s:lib.Codec.decoding_table["250,154"] = [40444] let s:lib.Codec.decoding_table["250,155"] = [40445] let s:lib.Codec.decoding_table["250,156"] = [40446] let s:lib.Codec.decoding_table["250,157"] = [40447] let s:lib.Codec.decoding_table["250,158"] = [40448] let s:lib.Codec.decoding_table["250,159"] = [40449] let s:lib.Codec.decoding_table["250,160"] = [40450] let s:lib.Codec.decoding_table["251,64"] = [40451] let s:lib.Codec.decoding_table["251,65"] = [40452] let s:lib.Codec.decoding_table["251,66"] = [40453] let s:lib.Codec.decoding_table["251,67"] = [40454] let s:lib.Codec.decoding_table["251,68"] = [40455] let s:lib.Codec.decoding_table["251,69"] = [40456] let s:lib.Codec.decoding_table["251,70"] = [40457] let s:lib.Codec.decoding_table["251,71"] = [40458] let s:lib.Codec.decoding_table["251,72"] = [40459] let s:lib.Codec.decoding_table["251,73"] = [40460] let s:lib.Codec.decoding_table["251,74"] = [40461] let s:lib.Codec.decoding_table["251,75"] = [40462] let s:lib.Codec.decoding_table["251,76"] = [40463] let s:lib.Codec.decoding_table["251,77"] = [40464] let s:lib.Codec.decoding_table["251,78"] = [40465] let s:lib.Codec.decoding_table["251,79"] = [40466] let s:lib.Codec.decoding_table["251,80"] = [40467] let s:lib.Codec.decoding_table["251,81"] = [40468] let s:lib.Codec.decoding_table["251,82"] = [40469] let s:lib.Codec.decoding_table["251,83"] = [40470] let s:lib.Codec.decoding_table["251,84"] = [40471] let s:lib.Codec.decoding_table["251,85"] = [40472] let s:lib.Codec.decoding_table["251,86"] = [40473] let s:lib.Codec.decoding_table["251,87"] = [40474] let s:lib.Codec.decoding_table["251,88"] = [40475] let s:lib.Codec.decoding_table["251,89"] = [40476] let s:lib.Codec.decoding_table["251,90"] = [40477] let s:lib.Codec.decoding_table["251,91"] = [40478] let s:lib.Codec.decoding_table["251,92"] = [40484] let s:lib.Codec.decoding_table["251,93"] = [40487] let s:lib.Codec.decoding_table["251,94"] = [40494] let s:lib.Codec.decoding_table["251,95"] = [40496] let s:lib.Codec.decoding_table["251,96"] = [40500] let s:lib.Codec.decoding_table["251,97"] = [40507] let s:lib.Codec.decoding_table["251,98"] = [40508] let s:lib.Codec.decoding_table["251,99"] = [40512] let s:lib.Codec.decoding_table["251,100"] = [40525] let s:lib.Codec.decoding_table["251,101"] = [40528] let s:lib.Codec.decoding_table["251,102"] = [40530] let s:lib.Codec.decoding_table["251,103"] = [40531] let s:lib.Codec.decoding_table["251,104"] = [40532] let s:lib.Codec.decoding_table["251,105"] = [40534] let s:lib.Codec.decoding_table["251,106"] = [40537] let s:lib.Codec.decoding_table["251,107"] = [40541] let s:lib.Codec.decoding_table["251,108"] = [40543] let s:lib.Codec.decoding_table["251,109"] = [40544] let s:lib.Codec.decoding_table["251,110"] = [40545] let s:lib.Codec.decoding_table["251,111"] = [40546] let s:lib.Codec.decoding_table["251,112"] = [40549] let s:lib.Codec.decoding_table["251,113"] = [40558] let s:lib.Codec.decoding_table["251,114"] = [40559] let s:lib.Codec.decoding_table["251,115"] = [40562] let s:lib.Codec.decoding_table["251,116"] = [40564] let s:lib.Codec.decoding_table["251,117"] = [40565] let s:lib.Codec.decoding_table["251,118"] = [40566] let s:lib.Codec.decoding_table["251,119"] = [40567] let s:lib.Codec.decoding_table["251,120"] = [40568] let s:lib.Codec.decoding_table["251,121"] = [40569] let s:lib.Codec.decoding_table["251,122"] = [40570] let s:lib.Codec.decoding_table["251,123"] = [40571] let s:lib.Codec.decoding_table["251,124"] = [40572] let s:lib.Codec.decoding_table["251,125"] = [40573] let s:lib.Codec.decoding_table["251,126"] = [40576] let s:lib.Codec.decoding_table["251,128"] = [40577] let s:lib.Codec.decoding_table["251,129"] = [40579] let s:lib.Codec.decoding_table["251,130"] = [40580] let s:lib.Codec.decoding_table["251,131"] = [40581] let s:lib.Codec.decoding_table["251,132"] = [40582] let s:lib.Codec.decoding_table["251,133"] = [40585] let s:lib.Codec.decoding_table["251,134"] = [40586] let s:lib.Codec.decoding_table["251,135"] = [40588] let s:lib.Codec.decoding_table["251,136"] = [40589] let s:lib.Codec.decoding_table["251,137"] = [40590] let s:lib.Codec.decoding_table["251,138"] = [40591] let s:lib.Codec.decoding_table["251,139"] = [40592] let s:lib.Codec.decoding_table["251,140"] = [40593] let s:lib.Codec.decoding_table["251,141"] = [40596] let s:lib.Codec.decoding_table["251,142"] = [40597] let s:lib.Codec.decoding_table["251,143"] = [40598] let s:lib.Codec.decoding_table["251,144"] = [40599] let s:lib.Codec.decoding_table["251,145"] = [40600] let s:lib.Codec.decoding_table["251,146"] = [40601] let s:lib.Codec.decoding_table["251,147"] = [40602] let s:lib.Codec.decoding_table["251,148"] = [40603] let s:lib.Codec.decoding_table["251,149"] = [40604] let s:lib.Codec.decoding_table["251,150"] = [40606] let s:lib.Codec.decoding_table["251,151"] = [40608] let s:lib.Codec.decoding_table["251,152"] = [40609] let s:lib.Codec.decoding_table["251,153"] = [40610] let s:lib.Codec.decoding_table["251,154"] = [40611] let s:lib.Codec.decoding_table["251,155"] = [40612] let s:lib.Codec.decoding_table["251,156"] = [40613] let s:lib.Codec.decoding_table["251,157"] = [40615] let s:lib.Codec.decoding_table["251,158"] = [40616] let s:lib.Codec.decoding_table["251,159"] = [40617] let s:lib.Codec.decoding_table["251,160"] = [40618] let s:lib.Codec.decoding_table["252,64"] = [40619] let s:lib.Codec.decoding_table["252,65"] = [40620] let s:lib.Codec.decoding_table["252,66"] = [40621] let s:lib.Codec.decoding_table["252,67"] = [40622] let s:lib.Codec.decoding_table["252,68"] = [40623] let s:lib.Codec.decoding_table["252,69"] = [40624] let s:lib.Codec.decoding_table["252,70"] = [40625] let s:lib.Codec.decoding_table["252,71"] = [40626] let s:lib.Codec.decoding_table["252,72"] = [40627] let s:lib.Codec.decoding_table["252,73"] = [40629] let s:lib.Codec.decoding_table["252,74"] = [40630] let s:lib.Codec.decoding_table["252,75"] = [40631] let s:lib.Codec.decoding_table["252,76"] = [40633] let s:lib.Codec.decoding_table["252,77"] = [40634] let s:lib.Codec.decoding_table["252,78"] = [40636] let s:lib.Codec.decoding_table["252,79"] = [40639] let s:lib.Codec.decoding_table["252,80"] = [40640] let s:lib.Codec.decoding_table["252,81"] = [40641] let s:lib.Codec.decoding_table["252,82"] = [40642] let s:lib.Codec.decoding_table["252,83"] = [40643] let s:lib.Codec.decoding_table["252,84"] = [40645] let s:lib.Codec.decoding_table["252,85"] = [40646] let s:lib.Codec.decoding_table["252,86"] = [40647] let s:lib.Codec.decoding_table["252,87"] = [40648] let s:lib.Codec.decoding_table["252,88"] = [40650] let s:lib.Codec.decoding_table["252,89"] = [40651] let s:lib.Codec.decoding_table["252,90"] = [40652] let s:lib.Codec.decoding_table["252,91"] = [40656] let s:lib.Codec.decoding_table["252,92"] = [40658] let s:lib.Codec.decoding_table["252,93"] = [40659] let s:lib.Codec.decoding_table["252,94"] = [40661] let s:lib.Codec.decoding_table["252,95"] = [40662] let s:lib.Codec.decoding_table["252,96"] = [40663] let s:lib.Codec.decoding_table["252,97"] = [40665] let s:lib.Codec.decoding_table["252,98"] = [40666] let s:lib.Codec.decoding_table["252,99"] = [40670] let s:lib.Codec.decoding_table["252,100"] = [40673] let s:lib.Codec.decoding_table["252,101"] = [40675] let s:lib.Codec.decoding_table["252,102"] = [40676] let s:lib.Codec.decoding_table["252,103"] = [40678] let s:lib.Codec.decoding_table["252,104"] = [40680] let s:lib.Codec.decoding_table["252,105"] = [40683] let s:lib.Codec.decoding_table["252,106"] = [40684] let s:lib.Codec.decoding_table["252,107"] = [40685] let s:lib.Codec.decoding_table["252,108"] = [40686] let s:lib.Codec.decoding_table["252,109"] = [40688] let s:lib.Codec.decoding_table["252,110"] = [40689] let s:lib.Codec.decoding_table["252,111"] = [40690] let s:lib.Codec.decoding_table["252,112"] = [40691] let s:lib.Codec.decoding_table["252,113"] = [40692] let s:lib.Codec.decoding_table["252,114"] = [40693] let s:lib.Codec.decoding_table["252,115"] = [40694] let s:lib.Codec.decoding_table["252,116"] = [40695] let s:lib.Codec.decoding_table["252,117"] = [40696] let s:lib.Codec.decoding_table["252,118"] = [40698] let s:lib.Codec.decoding_table["252,119"] = [40701] let s:lib.Codec.decoding_table["252,120"] = [40703] let s:lib.Codec.decoding_table["252,121"] = [40704] let s:lib.Codec.decoding_table["252,122"] = [40705] let s:lib.Codec.decoding_table["252,123"] = [40706] let s:lib.Codec.decoding_table["252,124"] = [40707] let s:lib.Codec.decoding_table["252,125"] = [40708] let s:lib.Codec.decoding_table["252,126"] = [40709] let s:lib.Codec.decoding_table["252,128"] = [40710] let s:lib.Codec.decoding_table["252,129"] = [40711] let s:lib.Codec.decoding_table["252,130"] = [40712] let s:lib.Codec.decoding_table["252,131"] = [40713] let s:lib.Codec.decoding_table["252,132"] = [40714] let s:lib.Codec.decoding_table["252,133"] = [40716] let s:lib.Codec.decoding_table["252,134"] = [40719] let s:lib.Codec.decoding_table["252,135"] = [40721] let s:lib.Codec.decoding_table["252,136"] = [40722] let s:lib.Codec.decoding_table["252,137"] = [40724] let s:lib.Codec.decoding_table["252,138"] = [40725] let s:lib.Codec.decoding_table["252,139"] = [40726] let s:lib.Codec.decoding_table["252,140"] = [40728] let s:lib.Codec.decoding_table["252,141"] = [40730] let s:lib.Codec.decoding_table["252,142"] = [40731] let s:lib.Codec.decoding_table["252,143"] = [40732] let s:lib.Codec.decoding_table["252,144"] = [40733] let s:lib.Codec.decoding_table["252,145"] = [40734] let s:lib.Codec.decoding_table["252,146"] = [40735] let s:lib.Codec.decoding_table["252,147"] = [40737] let s:lib.Codec.decoding_table["252,148"] = [40739] let s:lib.Codec.decoding_table["252,149"] = [40740] let s:lib.Codec.decoding_table["252,150"] = [40741] let s:lib.Codec.decoding_table["252,151"] = [40742] let s:lib.Codec.decoding_table["252,152"] = [40743] let s:lib.Codec.decoding_table["252,153"] = [40744] let s:lib.Codec.decoding_table["252,154"] = [40745] let s:lib.Codec.decoding_table["252,155"] = [40746] let s:lib.Codec.decoding_table["252,156"] = [40747] let s:lib.Codec.decoding_table["252,157"] = [40749] let s:lib.Codec.decoding_table["252,158"] = [40750] let s:lib.Codec.decoding_table["252,159"] = [40752] let s:lib.Codec.decoding_table["252,160"] = [40753] let s:lib.Codec.decoding_table["253,64"] = [40754] let s:lib.Codec.decoding_table["253,65"] = [40755] let s:lib.Codec.decoding_table["253,66"] = [40756] let s:lib.Codec.decoding_table["253,67"] = [40757] let s:lib.Codec.decoding_table["253,68"] = [40758] let s:lib.Codec.decoding_table["253,69"] = [40760] let s:lib.Codec.decoding_table["253,70"] = [40762] let s:lib.Codec.decoding_table["253,71"] = [40764] let s:lib.Codec.decoding_table["253,72"] = [40767] let s:lib.Codec.decoding_table["253,73"] = [40768] let s:lib.Codec.decoding_table["253,74"] = [40769] let s:lib.Codec.decoding_table["253,75"] = [40770] let s:lib.Codec.decoding_table["253,76"] = [40771] let s:lib.Codec.decoding_table["253,77"] = [40773] let s:lib.Codec.decoding_table["253,78"] = [40774] let s:lib.Codec.decoding_table["253,79"] = [40775] let s:lib.Codec.decoding_table["253,80"] = [40776] let s:lib.Codec.decoding_table["253,81"] = [40777] let s:lib.Codec.decoding_table["253,82"] = [40778] let s:lib.Codec.decoding_table["253,83"] = [40779] let s:lib.Codec.decoding_table["253,84"] = [40780] let s:lib.Codec.decoding_table["253,85"] = [40781] let s:lib.Codec.decoding_table["253,86"] = [40782] let s:lib.Codec.decoding_table["253,87"] = [40783] let s:lib.Codec.decoding_table["253,88"] = [40786] let s:lib.Codec.decoding_table["253,89"] = [40787] let s:lib.Codec.decoding_table["253,90"] = [40788] let s:lib.Codec.decoding_table["253,91"] = [40789] let s:lib.Codec.decoding_table["253,92"] = [40790] let s:lib.Codec.decoding_table["253,93"] = [40791] let s:lib.Codec.decoding_table["253,94"] = [40792] let s:lib.Codec.decoding_table["253,95"] = [40793] let s:lib.Codec.decoding_table["253,96"] = [40794] let s:lib.Codec.decoding_table["253,97"] = [40795] let s:lib.Codec.decoding_table["253,98"] = [40796] let s:lib.Codec.decoding_table["253,99"] = [40797] let s:lib.Codec.decoding_table["253,100"] = [40798] let s:lib.Codec.decoding_table["253,101"] = [40799] let s:lib.Codec.decoding_table["253,102"] = [40800] let s:lib.Codec.decoding_table["253,103"] = [40801] let s:lib.Codec.decoding_table["253,104"] = [40802] let s:lib.Codec.decoding_table["253,105"] = [40803] let s:lib.Codec.decoding_table["253,106"] = [40804] let s:lib.Codec.decoding_table["253,107"] = [40805] let s:lib.Codec.decoding_table["253,108"] = [40806] let s:lib.Codec.decoding_table["253,109"] = [40807] let s:lib.Codec.decoding_table["253,110"] = [40808] let s:lib.Codec.decoding_table["253,111"] = [40809] let s:lib.Codec.decoding_table["253,112"] = [40810] let s:lib.Codec.decoding_table["253,113"] = [40811] let s:lib.Codec.decoding_table["253,114"] = [40812] let s:lib.Codec.decoding_table["253,115"] = [40813] let s:lib.Codec.decoding_table["253,116"] = [40814] let s:lib.Codec.decoding_table["253,117"] = [40815] let s:lib.Codec.decoding_table["253,118"] = [40816] let s:lib.Codec.decoding_table["253,119"] = [40817] let s:lib.Codec.decoding_table["253,120"] = [40818] let s:lib.Codec.decoding_table["253,121"] = [40819] let s:lib.Codec.decoding_table["253,122"] = [40820] let s:lib.Codec.decoding_table["253,123"] = [40821] let s:lib.Codec.decoding_table["253,124"] = [40822] let s:lib.Codec.decoding_table["253,125"] = [40823] let s:lib.Codec.decoding_table["253,126"] = [40824] let s:lib.Codec.decoding_table["253,128"] = [40825] let s:lib.Codec.decoding_table["253,129"] = [40826] let s:lib.Codec.decoding_table["253,130"] = [40827] let s:lib.Codec.decoding_table["253,131"] = [40828] let s:lib.Codec.decoding_table["253,132"] = [40829] let s:lib.Codec.decoding_table["253,133"] = [40830] let s:lib.Codec.decoding_table["253,134"] = [40833] let s:lib.Codec.decoding_table["253,135"] = [40834] let s:lib.Codec.decoding_table["253,136"] = [40845] let s:lib.Codec.decoding_table["253,137"] = [40846] let s:lib.Codec.decoding_table["253,138"] = [40847] let s:lib.Codec.decoding_table["253,139"] = [40848] let s:lib.Codec.decoding_table["253,140"] = [40849] let s:lib.Codec.decoding_table["253,141"] = [40850] let s:lib.Codec.decoding_table["253,142"] = [40851] let s:lib.Codec.decoding_table["253,143"] = [40852] let s:lib.Codec.decoding_table["253,144"] = [40853] let s:lib.Codec.decoding_table["253,145"] = [40854] let s:lib.Codec.decoding_table["253,146"] = [40855] let s:lib.Codec.decoding_table["253,147"] = [40856] let s:lib.Codec.decoding_table["253,148"] = [40860] let s:lib.Codec.decoding_table["253,149"] = [40861] let s:lib.Codec.decoding_table["253,150"] = [40862] let s:lib.Codec.decoding_table["253,151"] = [40865] let s:lib.Codec.decoding_table["253,152"] = [40866] let s:lib.Codec.decoding_table["253,153"] = [40867] let s:lib.Codec.decoding_table["253,154"] = [40868] let s:lib.Codec.decoding_table["253,155"] = [40869] let s:lib.Codec.decoding_table["253,156"] = [63788] let s:lib.Codec.decoding_table["253,157"] = [63865] let s:lib.Codec.decoding_table["253,158"] = [63893] let s:lib.Codec.decoding_table["253,159"] = [63975] let s:lib.Codec.decoding_table["253,160"] = [63985] let s:lib.Codec.decoding_table["254,64"] = [64012] let s:lib.Codec.decoding_table["254,65"] = [64013] let s:lib.Codec.decoding_table["254,66"] = [64014] let s:lib.Codec.decoding_table["254,67"] = [64015] let s:lib.Codec.decoding_table["254,68"] = [64017] let s:lib.Codec.decoding_table["254,69"] = [64019] let s:lib.Codec.decoding_table["254,70"] = [64020] let s:lib.Codec.decoding_table["254,71"] = [64024] let s:lib.Codec.decoding_table["254,72"] = [64031] let s:lib.Codec.decoding_table["254,73"] = [64032] let s:lib.Codec.decoding_table["254,74"] = [64033] let s:lib.Codec.decoding_table["254,75"] = [64035] let s:lib.Codec.decoding_table["254,76"] = [64036] let s:lib.Codec.decoding_table["254,77"] = [64039] let s:lib.Codec.decoding_table["254,78"] = [64040] let s:lib.Codec.decoding_table["254,79"] = [64041] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["8364"] = [128] let s:lib.Codec.encoding_table["19970"] = [129,64] let s:lib.Codec.encoding_table["19972"] = [129,65] let s:lib.Codec.encoding_table["19973"] = [129,66] let s:lib.Codec.encoding_table["19974"] = [129,67] let s:lib.Codec.encoding_table["19983"] = [129,68] let s:lib.Codec.encoding_table["19986"] = [129,69] let s:lib.Codec.encoding_table["19991"] = [129,70] let s:lib.Codec.encoding_table["19999"] = [129,71] let s:lib.Codec.encoding_table["20000"] = [129,72] let s:lib.Codec.encoding_table["20001"] = [129,73] let s:lib.Codec.encoding_table["20003"] = [129,74] let s:lib.Codec.encoding_table["20006"] = [129,75] let s:lib.Codec.encoding_table["20009"] = [129,76] let s:lib.Codec.encoding_table["20014"] = [129,77] let s:lib.Codec.encoding_table["20015"] = [129,78] let s:lib.Codec.encoding_table["20017"] = [129,79] let s:lib.Codec.encoding_table["20019"] = [129,80] let s:lib.Codec.encoding_table["20021"] = [129,81] let s:lib.Codec.encoding_table["20023"] = [129,82] let s:lib.Codec.encoding_table["20028"] = [129,83] let s:lib.Codec.encoding_table["20032"] = [129,84] let s:lib.Codec.encoding_table["20033"] = [129,85] let s:lib.Codec.encoding_table["20034"] = [129,86] let s:lib.Codec.encoding_table["20036"] = [129,87] let s:lib.Codec.encoding_table["20038"] = [129,88] let s:lib.Codec.encoding_table["20042"] = [129,89] let s:lib.Codec.encoding_table["20049"] = [129,90] let s:lib.Codec.encoding_table["20053"] = [129,91] let s:lib.Codec.encoding_table["20055"] = [129,92] let s:lib.Codec.encoding_table["20058"] = [129,93] let s:lib.Codec.encoding_table["20059"] = [129,94] let s:lib.Codec.encoding_table["20066"] = [129,95] let s:lib.Codec.encoding_table["20067"] = [129,96] let s:lib.Codec.encoding_table["20068"] = [129,97] let s:lib.Codec.encoding_table["20069"] = [129,98] let s:lib.Codec.encoding_table["20071"] = [129,99] let s:lib.Codec.encoding_table["20072"] = [129,100] let s:lib.Codec.encoding_table["20074"] = [129,101] let s:lib.Codec.encoding_table["20075"] = [129,102] let s:lib.Codec.encoding_table["20076"] = [129,103] let s:lib.Codec.encoding_table["20077"] = [129,104] let s:lib.Codec.encoding_table["20078"] = [129,105] let s:lib.Codec.encoding_table["20079"] = [129,106] let s:lib.Codec.encoding_table["20082"] = [129,107] let s:lib.Codec.encoding_table["20084"] = [129,108] let s:lib.Codec.encoding_table["20085"] = [129,109] let s:lib.Codec.encoding_table["20086"] = [129,110] let s:lib.Codec.encoding_table["20087"] = [129,111] let s:lib.Codec.encoding_table["20088"] = [129,112] let s:lib.Codec.encoding_table["20089"] = [129,113] let s:lib.Codec.encoding_table["20090"] = [129,114] let s:lib.Codec.encoding_table["20091"] = [129,115] let s:lib.Codec.encoding_table["20092"] = [129,116] let s:lib.Codec.encoding_table["20093"] = [129,117] let s:lib.Codec.encoding_table["20095"] = [129,118] let s:lib.Codec.encoding_table["20096"] = [129,119] let s:lib.Codec.encoding_table["20097"] = [129,120] let s:lib.Codec.encoding_table["20098"] = [129,121] let s:lib.Codec.encoding_table["20099"] = [129,122] let s:lib.Codec.encoding_table["20100"] = [129,123] let s:lib.Codec.encoding_table["20101"] = [129,124] let s:lib.Codec.encoding_table["20103"] = [129,125] let s:lib.Codec.encoding_table["20106"] = [129,126] let s:lib.Codec.encoding_table["20112"] = [129,128] let s:lib.Codec.encoding_table["20118"] = [129,129] let s:lib.Codec.encoding_table["20119"] = [129,130] let s:lib.Codec.encoding_table["20121"] = [129,131] let s:lib.Codec.encoding_table["20124"] = [129,132] let s:lib.Codec.encoding_table["20125"] = [129,133] let s:lib.Codec.encoding_table["20126"] = [129,134] let s:lib.Codec.encoding_table["20131"] = [129,135] let s:lib.Codec.encoding_table["20138"] = [129,136] let s:lib.Codec.encoding_table["20143"] = [129,137] let s:lib.Codec.encoding_table["20144"] = [129,138] let s:lib.Codec.encoding_table["20145"] = [129,139] let s:lib.Codec.encoding_table["20148"] = [129,140] let s:lib.Codec.encoding_table["20150"] = [129,141] let s:lib.Codec.encoding_table["20151"] = [129,142] let s:lib.Codec.encoding_table["20152"] = [129,143] let s:lib.Codec.encoding_table["20153"] = [129,144] let s:lib.Codec.encoding_table["20156"] = [129,145] let s:lib.Codec.encoding_table["20157"] = [129,146] let s:lib.Codec.encoding_table["20158"] = [129,147] let s:lib.Codec.encoding_table["20168"] = [129,148] let s:lib.Codec.encoding_table["20172"] = [129,149] let s:lib.Codec.encoding_table["20175"] = [129,150] let s:lib.Codec.encoding_table["20176"] = [129,151] let s:lib.Codec.encoding_table["20178"] = [129,152] let s:lib.Codec.encoding_table["20186"] = [129,153] let s:lib.Codec.encoding_table["20187"] = [129,154] let s:lib.Codec.encoding_table["20188"] = [129,155] let s:lib.Codec.encoding_table["20192"] = [129,156] let s:lib.Codec.encoding_table["20194"] = [129,157] let s:lib.Codec.encoding_table["20198"] = [129,158] let s:lib.Codec.encoding_table["20199"] = [129,159] let s:lib.Codec.encoding_table["20201"] = [129,160] let s:lib.Codec.encoding_table["20205"] = [129,161] let s:lib.Codec.encoding_table["20206"] = [129,162] let s:lib.Codec.encoding_table["20207"] = [129,163] let s:lib.Codec.encoding_table["20209"] = [129,164] let s:lib.Codec.encoding_table["20212"] = [129,165] let s:lib.Codec.encoding_table["20216"] = [129,166] let s:lib.Codec.encoding_table["20217"] = [129,167] let s:lib.Codec.encoding_table["20218"] = [129,168] let s:lib.Codec.encoding_table["20220"] = [129,169] let s:lib.Codec.encoding_table["20222"] = [129,170] let s:lib.Codec.encoding_table["20224"] = [129,171] let s:lib.Codec.encoding_table["20226"] = [129,172] let s:lib.Codec.encoding_table["20227"] = [129,173] let s:lib.Codec.encoding_table["20228"] = [129,174] let s:lib.Codec.encoding_table["20229"] = [129,175] let s:lib.Codec.encoding_table["20230"] = [129,176] let s:lib.Codec.encoding_table["20231"] = [129,177] let s:lib.Codec.encoding_table["20232"] = [129,178] let s:lib.Codec.encoding_table["20235"] = [129,179] let s:lib.Codec.encoding_table["20236"] = [129,180] let s:lib.Codec.encoding_table["20242"] = [129,181] let s:lib.Codec.encoding_table["20243"] = [129,182] let s:lib.Codec.encoding_table["20244"] = [129,183] let s:lib.Codec.encoding_table["20245"] = [129,184] let s:lib.Codec.encoding_table["20246"] = [129,185] let s:lib.Codec.encoding_table["20252"] = [129,186] let s:lib.Codec.encoding_table["20253"] = [129,187] let s:lib.Codec.encoding_table["20257"] = [129,188] let s:lib.Codec.encoding_table["20259"] = [129,189] let s:lib.Codec.encoding_table["20264"] = [129,190] let s:lib.Codec.encoding_table["20265"] = [129,191] let s:lib.Codec.encoding_table["20268"] = [129,192] let s:lib.Codec.encoding_table["20269"] = [129,193] let s:lib.Codec.encoding_table["20270"] = [129,194] let s:lib.Codec.encoding_table["20273"] = [129,195] let s:lib.Codec.encoding_table["20275"] = [129,196] let s:lib.Codec.encoding_table["20277"] = [129,197] let s:lib.Codec.encoding_table["20279"] = [129,198] let s:lib.Codec.encoding_table["20281"] = [129,199] let s:lib.Codec.encoding_table["20283"] = [129,200] let s:lib.Codec.encoding_table["20286"] = [129,201] let s:lib.Codec.encoding_table["20287"] = [129,202] let s:lib.Codec.encoding_table["20288"] = [129,203] let s:lib.Codec.encoding_table["20289"] = [129,204] let s:lib.Codec.encoding_table["20290"] = [129,205] let s:lib.Codec.encoding_table["20292"] = [129,206] let s:lib.Codec.encoding_table["20293"] = [129,207] let s:lib.Codec.encoding_table["20295"] = [129,208] let s:lib.Codec.encoding_table["20296"] = [129,209] let s:lib.Codec.encoding_table["20297"] = [129,210] let s:lib.Codec.encoding_table["20298"] = [129,211] let s:lib.Codec.encoding_table["20299"] = [129,212] let s:lib.Codec.encoding_table["20300"] = [129,213] let s:lib.Codec.encoding_table["20306"] = [129,214] let s:lib.Codec.encoding_table["20308"] = [129,215] let s:lib.Codec.encoding_table["20310"] = [129,216] let s:lib.Codec.encoding_table["20321"] = [129,217] let s:lib.Codec.encoding_table["20322"] = [129,218] let s:lib.Codec.encoding_table["20326"] = [129,219] let s:lib.Codec.encoding_table["20328"] = [129,220] let s:lib.Codec.encoding_table["20330"] = [129,221] let s:lib.Codec.encoding_table["20331"] = [129,222] let s:lib.Codec.encoding_table["20333"] = [129,223] let s:lib.Codec.encoding_table["20334"] = [129,224] let s:lib.Codec.encoding_table["20337"] = [129,225] let s:lib.Codec.encoding_table["20338"] = [129,226] let s:lib.Codec.encoding_table["20341"] = [129,227] let s:lib.Codec.encoding_table["20343"] = [129,228] let s:lib.Codec.encoding_table["20344"] = [129,229] let s:lib.Codec.encoding_table["20345"] = [129,230] let s:lib.Codec.encoding_table["20346"] = [129,231] let s:lib.Codec.encoding_table["20349"] = [129,232] let s:lib.Codec.encoding_table["20352"] = [129,233] let s:lib.Codec.encoding_table["20353"] = [129,234] let s:lib.Codec.encoding_table["20354"] = [129,235] let s:lib.Codec.encoding_table["20357"] = [129,236] let s:lib.Codec.encoding_table["20358"] = [129,237] let s:lib.Codec.encoding_table["20359"] = [129,238] let s:lib.Codec.encoding_table["20362"] = [129,239] let s:lib.Codec.encoding_table["20364"] = [129,240] let s:lib.Codec.encoding_table["20366"] = [129,241] let s:lib.Codec.encoding_table["20368"] = [129,242] let s:lib.Codec.encoding_table["20370"] = [129,243] let s:lib.Codec.encoding_table["20371"] = [129,244] let s:lib.Codec.encoding_table["20373"] = [129,245] let s:lib.Codec.encoding_table["20374"] = [129,246] let s:lib.Codec.encoding_table["20376"] = [129,247] let s:lib.Codec.encoding_table["20377"] = [129,248] let s:lib.Codec.encoding_table["20378"] = [129,249] let s:lib.Codec.encoding_table["20380"] = [129,250] let s:lib.Codec.encoding_table["20382"] = [129,251] let s:lib.Codec.encoding_table["20383"] = [129,252] let s:lib.Codec.encoding_table["20385"] = [129,253] let s:lib.Codec.encoding_table["20386"] = [129,254] let s:lib.Codec.encoding_table["20388"] = [130,64] let s:lib.Codec.encoding_table["20395"] = [130,65] let s:lib.Codec.encoding_table["20397"] = [130,66] let s:lib.Codec.encoding_table["20400"] = [130,67] let s:lib.Codec.encoding_table["20401"] = [130,68] let s:lib.Codec.encoding_table["20402"] = [130,69] let s:lib.Codec.encoding_table["20403"] = [130,70] let s:lib.Codec.encoding_table["20404"] = [130,71] let s:lib.Codec.encoding_table["20406"] = [130,72] let s:lib.Codec.encoding_table["20407"] = [130,73] let s:lib.Codec.encoding_table["20408"] = [130,74] let s:lib.Codec.encoding_table["20409"] = [130,75] let s:lib.Codec.encoding_table["20410"] = [130,76] let s:lib.Codec.encoding_table["20411"] = [130,77] let s:lib.Codec.encoding_table["20412"] = [130,78] let s:lib.Codec.encoding_table["20413"] = [130,79] let s:lib.Codec.encoding_table["20414"] = [130,80] let s:lib.Codec.encoding_table["20416"] = [130,81] let s:lib.Codec.encoding_table["20417"] = [130,82] let s:lib.Codec.encoding_table["20418"] = [130,83] let s:lib.Codec.encoding_table["20422"] = [130,84] let s:lib.Codec.encoding_table["20423"] = [130,85] let s:lib.Codec.encoding_table["20424"] = [130,86] let s:lib.Codec.encoding_table["20425"] = [130,87] let s:lib.Codec.encoding_table["20427"] = [130,88] let s:lib.Codec.encoding_table["20428"] = [130,89] let s:lib.Codec.encoding_table["20429"] = [130,90] let s:lib.Codec.encoding_table["20434"] = [130,91] let s:lib.Codec.encoding_table["20435"] = [130,92] let s:lib.Codec.encoding_table["20436"] = [130,93] let s:lib.Codec.encoding_table["20437"] = [130,94] let s:lib.Codec.encoding_table["20438"] = [130,95] let s:lib.Codec.encoding_table["20441"] = [130,96] let s:lib.Codec.encoding_table["20443"] = [130,97] let s:lib.Codec.encoding_table["20448"] = [130,98] let s:lib.Codec.encoding_table["20450"] = [130,99] let s:lib.Codec.encoding_table["20452"] = [130,100] let s:lib.Codec.encoding_table["20453"] = [130,101] let s:lib.Codec.encoding_table["20455"] = [130,102] let s:lib.Codec.encoding_table["20459"] = [130,103] let s:lib.Codec.encoding_table["20460"] = [130,104] let s:lib.Codec.encoding_table["20464"] = [130,105] let s:lib.Codec.encoding_table["20466"] = [130,106] let s:lib.Codec.encoding_table["20468"] = [130,107] let s:lib.Codec.encoding_table["20469"] = [130,108] let s:lib.Codec.encoding_table["20470"] = [130,109] let s:lib.Codec.encoding_table["20471"] = [130,110] let s:lib.Codec.encoding_table["20473"] = [130,111] let s:lib.Codec.encoding_table["20475"] = [130,112] let s:lib.Codec.encoding_table["20476"] = [130,113] let s:lib.Codec.encoding_table["20477"] = [130,114] let s:lib.Codec.encoding_table["20479"] = [130,115] let s:lib.Codec.encoding_table["20480"] = [130,116] let s:lib.Codec.encoding_table["20481"] = [130,117] let s:lib.Codec.encoding_table["20482"] = [130,118] let s:lib.Codec.encoding_table["20483"] = [130,119] let s:lib.Codec.encoding_table["20484"] = [130,120] let s:lib.Codec.encoding_table["20485"] = [130,121] let s:lib.Codec.encoding_table["20486"] = [130,122] let s:lib.Codec.encoding_table["20487"] = [130,123] let s:lib.Codec.encoding_table["20488"] = [130,124] let s:lib.Codec.encoding_table["20489"] = [130,125] let s:lib.Codec.encoding_table["20490"] = [130,126] let s:lib.Codec.encoding_table["20491"] = [130,128] let s:lib.Codec.encoding_table["20494"] = [130,129] let s:lib.Codec.encoding_table["20496"] = [130,130] let s:lib.Codec.encoding_table["20497"] = [130,131] let s:lib.Codec.encoding_table["20499"] = [130,132] let s:lib.Codec.encoding_table["20501"] = [130,133] let s:lib.Codec.encoding_table["20502"] = [130,134] let s:lib.Codec.encoding_table["20503"] = [130,135] let s:lib.Codec.encoding_table["20507"] = [130,136] let s:lib.Codec.encoding_table["20509"] = [130,137] let s:lib.Codec.encoding_table["20510"] = [130,138] let s:lib.Codec.encoding_table["20512"] = [130,139] let s:lib.Codec.encoding_table["20514"] = [130,140] let s:lib.Codec.encoding_table["20515"] = [130,141] let s:lib.Codec.encoding_table["20516"] = [130,142] let s:lib.Codec.encoding_table["20519"] = [130,143] let s:lib.Codec.encoding_table["20523"] = [130,144] let s:lib.Codec.encoding_table["20527"] = [130,145] let s:lib.Codec.encoding_table["20528"] = [130,146] let s:lib.Codec.encoding_table["20529"] = [130,147] let s:lib.Codec.encoding_table["20530"] = [130,148] let s:lib.Codec.encoding_table["20531"] = [130,149] let s:lib.Codec.encoding_table["20532"] = [130,150] let s:lib.Codec.encoding_table["20533"] = [130,151] let s:lib.Codec.encoding_table["20534"] = [130,152] let s:lib.Codec.encoding_table["20535"] = [130,153] let s:lib.Codec.encoding_table["20536"] = [130,154] let s:lib.Codec.encoding_table["20537"] = [130,155] let s:lib.Codec.encoding_table["20539"] = [130,156] let s:lib.Codec.encoding_table["20541"] = [130,157] let s:lib.Codec.encoding_table["20543"] = [130,158] let s:lib.Codec.encoding_table["20544"] = [130,159] let s:lib.Codec.encoding_table["20545"] = [130,160] let s:lib.Codec.encoding_table["20546"] = [130,161] let s:lib.Codec.encoding_table["20548"] = [130,162] let s:lib.Codec.encoding_table["20549"] = [130,163] let s:lib.Codec.encoding_table["20550"] = [130,164] let s:lib.Codec.encoding_table["20553"] = [130,165] let s:lib.Codec.encoding_table["20554"] = [130,166] let s:lib.Codec.encoding_table["20555"] = [130,167] let s:lib.Codec.encoding_table["20557"] = [130,168] let s:lib.Codec.encoding_table["20560"] = [130,169] let s:lib.Codec.encoding_table["20561"] = [130,170] let s:lib.Codec.encoding_table["20562"] = [130,171] let s:lib.Codec.encoding_table["20563"] = [130,172] let s:lib.Codec.encoding_table["20564"] = [130,173] let s:lib.Codec.encoding_table["20566"] = [130,174] let s:lib.Codec.encoding_table["20567"] = [130,175] let s:lib.Codec.encoding_table["20568"] = [130,176] let s:lib.Codec.encoding_table["20569"] = [130,177] let s:lib.Codec.encoding_table["20571"] = [130,178] let s:lib.Codec.encoding_table["20573"] = [130,179] let s:lib.Codec.encoding_table["20574"] = [130,180] let s:lib.Codec.encoding_table["20575"] = [130,181] let s:lib.Codec.encoding_table["20576"] = [130,182] let s:lib.Codec.encoding_table["20577"] = [130,183] let s:lib.Codec.encoding_table["20578"] = [130,184] let s:lib.Codec.encoding_table["20579"] = [130,185] let s:lib.Codec.encoding_table["20580"] = [130,186] let s:lib.Codec.encoding_table["20582"] = [130,187] let s:lib.Codec.encoding_table["20583"] = [130,188] let s:lib.Codec.encoding_table["20584"] = [130,189] let s:lib.Codec.encoding_table["20585"] = [130,190] let s:lib.Codec.encoding_table["20586"] = [130,191] let s:lib.Codec.encoding_table["20587"] = [130,192] let s:lib.Codec.encoding_table["20589"] = [130,193] let s:lib.Codec.encoding_table["20590"] = [130,194] let s:lib.Codec.encoding_table["20591"] = [130,195] let s:lib.Codec.encoding_table["20592"] = [130,196] let s:lib.Codec.encoding_table["20593"] = [130,197] let s:lib.Codec.encoding_table["20594"] = [130,198] let s:lib.Codec.encoding_table["20595"] = [130,199] let s:lib.Codec.encoding_table["20596"] = [130,200] let s:lib.Codec.encoding_table["20597"] = [130,201] let s:lib.Codec.encoding_table["20600"] = [130,202] let s:lib.Codec.encoding_table["20601"] = [130,203] let s:lib.Codec.encoding_table["20602"] = [130,204] let s:lib.Codec.encoding_table["20604"] = [130,205] let s:lib.Codec.encoding_table["20605"] = [130,206] let s:lib.Codec.encoding_table["20609"] = [130,207] let s:lib.Codec.encoding_table["20610"] = [130,208] let s:lib.Codec.encoding_table["20611"] = [130,209] let s:lib.Codec.encoding_table["20612"] = [130,210] let s:lib.Codec.encoding_table["20614"] = [130,211] let s:lib.Codec.encoding_table["20615"] = [130,212] let s:lib.Codec.encoding_table["20617"] = [130,213] let s:lib.Codec.encoding_table["20618"] = [130,214] let s:lib.Codec.encoding_table["20619"] = [130,215] let s:lib.Codec.encoding_table["20620"] = [130,216] let s:lib.Codec.encoding_table["20622"] = [130,217] let s:lib.Codec.encoding_table["20623"] = [130,218] let s:lib.Codec.encoding_table["20624"] = [130,219] let s:lib.Codec.encoding_table["20625"] = [130,220] let s:lib.Codec.encoding_table["20626"] = [130,221] let s:lib.Codec.encoding_table["20627"] = [130,222] let s:lib.Codec.encoding_table["20628"] = [130,223] let s:lib.Codec.encoding_table["20629"] = [130,224] let s:lib.Codec.encoding_table["20630"] = [130,225] let s:lib.Codec.encoding_table["20631"] = [130,226] let s:lib.Codec.encoding_table["20632"] = [130,227] let s:lib.Codec.encoding_table["20633"] = [130,228] let s:lib.Codec.encoding_table["20634"] = [130,229] let s:lib.Codec.encoding_table["20635"] = [130,230] let s:lib.Codec.encoding_table["20636"] = [130,231] let s:lib.Codec.encoding_table["20637"] = [130,232] let s:lib.Codec.encoding_table["20638"] = [130,233] let s:lib.Codec.encoding_table["20639"] = [130,234] let s:lib.Codec.encoding_table["20640"] = [130,235] let s:lib.Codec.encoding_table["20641"] = [130,236] let s:lib.Codec.encoding_table["20642"] = [130,237] let s:lib.Codec.encoding_table["20644"] = [130,238] let s:lib.Codec.encoding_table["20646"] = [130,239] let s:lib.Codec.encoding_table["20650"] = [130,240] let s:lib.Codec.encoding_table["20651"] = [130,241] let s:lib.Codec.encoding_table["20653"] = [130,242] let s:lib.Codec.encoding_table["20654"] = [130,243] let s:lib.Codec.encoding_table["20655"] = [130,244] let s:lib.Codec.encoding_table["20656"] = [130,245] let s:lib.Codec.encoding_table["20657"] = [130,246] let s:lib.Codec.encoding_table["20659"] = [130,247] let s:lib.Codec.encoding_table["20660"] = [130,248] let s:lib.Codec.encoding_table["20661"] = [130,249] let s:lib.Codec.encoding_table["20662"] = [130,250] let s:lib.Codec.encoding_table["20663"] = [130,251] let s:lib.Codec.encoding_table["20664"] = [130,252] let s:lib.Codec.encoding_table["20665"] = [130,253] let s:lib.Codec.encoding_table["20668"] = [130,254] let s:lib.Codec.encoding_table["20669"] = [131,64] let s:lib.Codec.encoding_table["20670"] = [131,65] let s:lib.Codec.encoding_table["20671"] = [131,66] let s:lib.Codec.encoding_table["20672"] = [131,67] let s:lib.Codec.encoding_table["20673"] = [131,68] let s:lib.Codec.encoding_table["20674"] = [131,69] let s:lib.Codec.encoding_table["20675"] = [131,70] let s:lib.Codec.encoding_table["20676"] = [131,71] let s:lib.Codec.encoding_table["20677"] = [131,72] let s:lib.Codec.encoding_table["20678"] = [131,73] let s:lib.Codec.encoding_table["20679"] = [131,74] let s:lib.Codec.encoding_table["20680"] = [131,75] let s:lib.Codec.encoding_table["20681"] = [131,76] let s:lib.Codec.encoding_table["20682"] = [131,77] let s:lib.Codec.encoding_table["20683"] = [131,78] let s:lib.Codec.encoding_table["20684"] = [131,79] let s:lib.Codec.encoding_table["20685"] = [131,80] let s:lib.Codec.encoding_table["20686"] = [131,81] let s:lib.Codec.encoding_table["20688"] = [131,82] let s:lib.Codec.encoding_table["20689"] = [131,83] let s:lib.Codec.encoding_table["20690"] = [131,84] let s:lib.Codec.encoding_table["20691"] = [131,85] let s:lib.Codec.encoding_table["20692"] = [131,86] let s:lib.Codec.encoding_table["20693"] = [131,87] let s:lib.Codec.encoding_table["20695"] = [131,88] let s:lib.Codec.encoding_table["20696"] = [131,89] let s:lib.Codec.encoding_table["20697"] = [131,90] let s:lib.Codec.encoding_table["20699"] = [131,91] let s:lib.Codec.encoding_table["20700"] = [131,92] let s:lib.Codec.encoding_table["20701"] = [131,93] let s:lib.Codec.encoding_table["20702"] = [131,94] let s:lib.Codec.encoding_table["20703"] = [131,95] let s:lib.Codec.encoding_table["20704"] = [131,96] let s:lib.Codec.encoding_table["20705"] = [131,97] let s:lib.Codec.encoding_table["20706"] = [131,98] let s:lib.Codec.encoding_table["20707"] = [131,99] let s:lib.Codec.encoding_table["20708"] = [131,100] let s:lib.Codec.encoding_table["20709"] = [131,101] let s:lib.Codec.encoding_table["20712"] = [131,102] let s:lib.Codec.encoding_table["20713"] = [131,103] let s:lib.Codec.encoding_table["20714"] = [131,104] let s:lib.Codec.encoding_table["20715"] = [131,105] let s:lib.Codec.encoding_table["20719"] = [131,106] let s:lib.Codec.encoding_table["20720"] = [131,107] let s:lib.Codec.encoding_table["20721"] = [131,108] let s:lib.Codec.encoding_table["20722"] = [131,109] let s:lib.Codec.encoding_table["20724"] = [131,110] let s:lib.Codec.encoding_table["20726"] = [131,111] let s:lib.Codec.encoding_table["20727"] = [131,112] let s:lib.Codec.encoding_table["20728"] = [131,113] let s:lib.Codec.encoding_table["20729"] = [131,114] let s:lib.Codec.encoding_table["20730"] = [131,115] let s:lib.Codec.encoding_table["20732"] = [131,116] let s:lib.Codec.encoding_table["20733"] = [131,117] let s:lib.Codec.encoding_table["20734"] = [131,118] let s:lib.Codec.encoding_table["20735"] = [131,119] let s:lib.Codec.encoding_table["20736"] = [131,120] let s:lib.Codec.encoding_table["20737"] = [131,121] let s:lib.Codec.encoding_table["20738"] = [131,122] let s:lib.Codec.encoding_table["20739"] = [131,123] let s:lib.Codec.encoding_table["20740"] = [131,124] let s:lib.Codec.encoding_table["20741"] = [131,125] let s:lib.Codec.encoding_table["20744"] = [131,126] let s:lib.Codec.encoding_table["20745"] = [131,128] let s:lib.Codec.encoding_table["20746"] = [131,129] let s:lib.Codec.encoding_table["20748"] = [131,130] let s:lib.Codec.encoding_table["20749"] = [131,131] let s:lib.Codec.encoding_table["20750"] = [131,132] let s:lib.Codec.encoding_table["20751"] = [131,133] let s:lib.Codec.encoding_table["20752"] = [131,134] let s:lib.Codec.encoding_table["20753"] = [131,135] let s:lib.Codec.encoding_table["20755"] = [131,136] let s:lib.Codec.encoding_table["20756"] = [131,137] let s:lib.Codec.encoding_table["20757"] = [131,138] let s:lib.Codec.encoding_table["20758"] = [131,139] let s:lib.Codec.encoding_table["20759"] = [131,140] let s:lib.Codec.encoding_table["20760"] = [131,141] let s:lib.Codec.encoding_table["20761"] = [131,142] let s:lib.Codec.encoding_table["20762"] = [131,143] let s:lib.Codec.encoding_table["20763"] = [131,144] let s:lib.Codec.encoding_table["20764"] = [131,145] let s:lib.Codec.encoding_table["20765"] = [131,146] let s:lib.Codec.encoding_table["20766"] = [131,147] let s:lib.Codec.encoding_table["20767"] = [131,148] let s:lib.Codec.encoding_table["20768"] = [131,149] let s:lib.Codec.encoding_table["20770"] = [131,150] let s:lib.Codec.encoding_table["20771"] = [131,151] let s:lib.Codec.encoding_table["20772"] = [131,152] let s:lib.Codec.encoding_table["20773"] = [131,153] let s:lib.Codec.encoding_table["20774"] = [131,154] let s:lib.Codec.encoding_table["20775"] = [131,155] let s:lib.Codec.encoding_table["20776"] = [131,156] let s:lib.Codec.encoding_table["20777"] = [131,157] let s:lib.Codec.encoding_table["20778"] = [131,158] let s:lib.Codec.encoding_table["20779"] = [131,159] let s:lib.Codec.encoding_table["20780"] = [131,160] let s:lib.Codec.encoding_table["20781"] = [131,161] let s:lib.Codec.encoding_table["20782"] = [131,162] let s:lib.Codec.encoding_table["20783"] = [131,163] let s:lib.Codec.encoding_table["20784"] = [131,164] let s:lib.Codec.encoding_table["20785"] = [131,165] let s:lib.Codec.encoding_table["20786"] = [131,166] let s:lib.Codec.encoding_table["20787"] = [131,167] let s:lib.Codec.encoding_table["20788"] = [131,168] let s:lib.Codec.encoding_table["20789"] = [131,169] let s:lib.Codec.encoding_table["20790"] = [131,170] let s:lib.Codec.encoding_table["20791"] = [131,171] let s:lib.Codec.encoding_table["20792"] = [131,172] let s:lib.Codec.encoding_table["20793"] = [131,173] let s:lib.Codec.encoding_table["20794"] = [131,174] let s:lib.Codec.encoding_table["20795"] = [131,175] let s:lib.Codec.encoding_table["20796"] = [131,176] let s:lib.Codec.encoding_table["20797"] = [131,177] let s:lib.Codec.encoding_table["20798"] = [131,178] let s:lib.Codec.encoding_table["20802"] = [131,179] let s:lib.Codec.encoding_table["20807"] = [131,180] let s:lib.Codec.encoding_table["20810"] = [131,181] let s:lib.Codec.encoding_table["20812"] = [131,182] let s:lib.Codec.encoding_table["20814"] = [131,183] let s:lib.Codec.encoding_table["20815"] = [131,184] let s:lib.Codec.encoding_table["20816"] = [131,185] let s:lib.Codec.encoding_table["20818"] = [131,186] let s:lib.Codec.encoding_table["20819"] = [131,187] let s:lib.Codec.encoding_table["20823"] = [131,188] let s:lib.Codec.encoding_table["20824"] = [131,189] let s:lib.Codec.encoding_table["20825"] = [131,190] let s:lib.Codec.encoding_table["20827"] = [131,191] let s:lib.Codec.encoding_table["20829"] = [131,192] let s:lib.Codec.encoding_table["20830"] = [131,193] let s:lib.Codec.encoding_table["20831"] = [131,194] let s:lib.Codec.encoding_table["20832"] = [131,195] let s:lib.Codec.encoding_table["20833"] = [131,196] let s:lib.Codec.encoding_table["20835"] = [131,197] let s:lib.Codec.encoding_table["20836"] = [131,198] let s:lib.Codec.encoding_table["20838"] = [131,199] let s:lib.Codec.encoding_table["20839"] = [131,200] let s:lib.Codec.encoding_table["20841"] = [131,201] let s:lib.Codec.encoding_table["20842"] = [131,202] let s:lib.Codec.encoding_table["20847"] = [131,203] let s:lib.Codec.encoding_table["20850"] = [131,204] let s:lib.Codec.encoding_table["20858"] = [131,205] let s:lib.Codec.encoding_table["20862"] = [131,206] let s:lib.Codec.encoding_table["20863"] = [131,207] let s:lib.Codec.encoding_table["20867"] = [131,208] let s:lib.Codec.encoding_table["20868"] = [131,209] let s:lib.Codec.encoding_table["20870"] = [131,210] let s:lib.Codec.encoding_table["20871"] = [131,211] let s:lib.Codec.encoding_table["20874"] = [131,212] let s:lib.Codec.encoding_table["20875"] = [131,213] let s:lib.Codec.encoding_table["20878"] = [131,214] let s:lib.Codec.encoding_table["20879"] = [131,215] let s:lib.Codec.encoding_table["20880"] = [131,216] let s:lib.Codec.encoding_table["20881"] = [131,217] let s:lib.Codec.encoding_table["20883"] = [131,218] let s:lib.Codec.encoding_table["20884"] = [131,219] let s:lib.Codec.encoding_table["20888"] = [131,220] let s:lib.Codec.encoding_table["20890"] = [131,221] let s:lib.Codec.encoding_table["20893"] = [131,222] let s:lib.Codec.encoding_table["20894"] = [131,223] let s:lib.Codec.encoding_table["20895"] = [131,224] let s:lib.Codec.encoding_table["20897"] = [131,225] let s:lib.Codec.encoding_table["20899"] = [131,226] let s:lib.Codec.encoding_table["20902"] = [131,227] let s:lib.Codec.encoding_table["20903"] = [131,228] let s:lib.Codec.encoding_table["20904"] = [131,229] let s:lib.Codec.encoding_table["20905"] = [131,230] let s:lib.Codec.encoding_table["20906"] = [131,231] let s:lib.Codec.encoding_table["20909"] = [131,232] let s:lib.Codec.encoding_table["20910"] = [131,233] let s:lib.Codec.encoding_table["20916"] = [131,234] let s:lib.Codec.encoding_table["20920"] = [131,235] let s:lib.Codec.encoding_table["20921"] = [131,236] let s:lib.Codec.encoding_table["20922"] = [131,237] let s:lib.Codec.encoding_table["20926"] = [131,238] let s:lib.Codec.encoding_table["20927"] = [131,239] let s:lib.Codec.encoding_table["20929"] = [131,240] let s:lib.Codec.encoding_table["20930"] = [131,241] let s:lib.Codec.encoding_table["20931"] = [131,242] let s:lib.Codec.encoding_table["20933"] = [131,243] let s:lib.Codec.encoding_table["20936"] = [131,244] let s:lib.Codec.encoding_table["20938"] = [131,245] let s:lib.Codec.encoding_table["20941"] = [131,246] let s:lib.Codec.encoding_table["20942"] = [131,247] let s:lib.Codec.encoding_table["20944"] = [131,248] let s:lib.Codec.encoding_table["20946"] = [131,249] let s:lib.Codec.encoding_table["20947"] = [131,250] let s:lib.Codec.encoding_table["20948"] = [131,251] let s:lib.Codec.encoding_table["20949"] = [131,252] let s:lib.Codec.encoding_table["20950"] = [131,253] let s:lib.Codec.encoding_table["20951"] = [131,254] let s:lib.Codec.encoding_table["20952"] = [132,64] let s:lib.Codec.encoding_table["20953"] = [132,65] let s:lib.Codec.encoding_table["20954"] = [132,66] let s:lib.Codec.encoding_table["20956"] = [132,67] let s:lib.Codec.encoding_table["20958"] = [132,68] let s:lib.Codec.encoding_table["20959"] = [132,69] let s:lib.Codec.encoding_table["20962"] = [132,70] let s:lib.Codec.encoding_table["20963"] = [132,71] let s:lib.Codec.encoding_table["20965"] = [132,72] let s:lib.Codec.encoding_table["20966"] = [132,73] let s:lib.Codec.encoding_table["20967"] = [132,74] let s:lib.Codec.encoding_table["20968"] = [132,75] let s:lib.Codec.encoding_table["20969"] = [132,76] let s:lib.Codec.encoding_table["20970"] = [132,77] let s:lib.Codec.encoding_table["20972"] = [132,78] let s:lib.Codec.encoding_table["20974"] = [132,79] let s:lib.Codec.encoding_table["20977"] = [132,80] let s:lib.Codec.encoding_table["20978"] = [132,81] let s:lib.Codec.encoding_table["20980"] = [132,82] let s:lib.Codec.encoding_table["20983"] = [132,83] let s:lib.Codec.encoding_table["20990"] = [132,84] let s:lib.Codec.encoding_table["20996"] = [132,85] let s:lib.Codec.encoding_table["20997"] = [132,86] let s:lib.Codec.encoding_table["21001"] = [132,87] let s:lib.Codec.encoding_table["21003"] = [132,88] let s:lib.Codec.encoding_table["21004"] = [132,89] let s:lib.Codec.encoding_table["21007"] = [132,90] let s:lib.Codec.encoding_table["21008"] = [132,91] let s:lib.Codec.encoding_table["21011"] = [132,92] let s:lib.Codec.encoding_table["21012"] = [132,93] let s:lib.Codec.encoding_table["21013"] = [132,94] let s:lib.Codec.encoding_table["21020"] = [132,95] let s:lib.Codec.encoding_table["21022"] = [132,96] let s:lib.Codec.encoding_table["21023"] = [132,97] let s:lib.Codec.encoding_table["21025"] = [132,98] let s:lib.Codec.encoding_table["21026"] = [132,99] let s:lib.Codec.encoding_table["21027"] = [132,100] let s:lib.Codec.encoding_table["21029"] = [132,101] let s:lib.Codec.encoding_table["21030"] = [132,102] let s:lib.Codec.encoding_table["21031"] = [132,103] let s:lib.Codec.encoding_table["21034"] = [132,104] let s:lib.Codec.encoding_table["21036"] = [132,105] let s:lib.Codec.encoding_table["21039"] = [132,106] let s:lib.Codec.encoding_table["21041"] = [132,107] let s:lib.Codec.encoding_table["21042"] = [132,108] let s:lib.Codec.encoding_table["21044"] = [132,109] let s:lib.Codec.encoding_table["21045"] = [132,110] let s:lib.Codec.encoding_table["21052"] = [132,111] let s:lib.Codec.encoding_table["21054"] = [132,112] let s:lib.Codec.encoding_table["21060"] = [132,113] let s:lib.Codec.encoding_table["21061"] = [132,114] let s:lib.Codec.encoding_table["21062"] = [132,115] let s:lib.Codec.encoding_table["21063"] = [132,116] let s:lib.Codec.encoding_table["21064"] = [132,117] let s:lib.Codec.encoding_table["21065"] = [132,118] let s:lib.Codec.encoding_table["21067"] = [132,119] let s:lib.Codec.encoding_table["21070"] = [132,120] let s:lib.Codec.encoding_table["21071"] = [132,121] let s:lib.Codec.encoding_table["21074"] = [132,122] let s:lib.Codec.encoding_table["21075"] = [132,123] let s:lib.Codec.encoding_table["21077"] = [132,124] let s:lib.Codec.encoding_table["21079"] = [132,125] let s:lib.Codec.encoding_table["21080"] = [132,126] let s:lib.Codec.encoding_table["21081"] = [132,128] let s:lib.Codec.encoding_table["21082"] = [132,129] let s:lib.Codec.encoding_table["21083"] = [132,130] let s:lib.Codec.encoding_table["21085"] = [132,131] let s:lib.Codec.encoding_table["21087"] = [132,132] let s:lib.Codec.encoding_table["21088"] = [132,133] let s:lib.Codec.encoding_table["21090"] = [132,134] let s:lib.Codec.encoding_table["21091"] = [132,135] let s:lib.Codec.encoding_table["21092"] = [132,136] let s:lib.Codec.encoding_table["21094"] = [132,137] let s:lib.Codec.encoding_table["21096"] = [132,138] let s:lib.Codec.encoding_table["21099"] = [132,139] let s:lib.Codec.encoding_table["21100"] = [132,140] let s:lib.Codec.encoding_table["21101"] = [132,141] let s:lib.Codec.encoding_table["21102"] = [132,142] let s:lib.Codec.encoding_table["21104"] = [132,143] let s:lib.Codec.encoding_table["21105"] = [132,144] let s:lib.Codec.encoding_table["21107"] = [132,145] let s:lib.Codec.encoding_table["21108"] = [132,146] let s:lib.Codec.encoding_table["21109"] = [132,147] let s:lib.Codec.encoding_table["21110"] = [132,148] let s:lib.Codec.encoding_table["21111"] = [132,149] let s:lib.Codec.encoding_table["21112"] = [132,150] let s:lib.Codec.encoding_table["21113"] = [132,151] let s:lib.Codec.encoding_table["21114"] = [132,152] let s:lib.Codec.encoding_table["21115"] = [132,153] let s:lib.Codec.encoding_table["21116"] = [132,154] let s:lib.Codec.encoding_table["21118"] = [132,155] let s:lib.Codec.encoding_table["21120"] = [132,156] let s:lib.Codec.encoding_table["21123"] = [132,157] let s:lib.Codec.encoding_table["21124"] = [132,158] let s:lib.Codec.encoding_table["21125"] = [132,159] let s:lib.Codec.encoding_table["21126"] = [132,160] let s:lib.Codec.encoding_table["21127"] = [132,161] let s:lib.Codec.encoding_table["21129"] = [132,162] let s:lib.Codec.encoding_table["21130"] = [132,163] let s:lib.Codec.encoding_table["21131"] = [132,164] let s:lib.Codec.encoding_table["21132"] = [132,165] let s:lib.Codec.encoding_table["21133"] = [132,166] let s:lib.Codec.encoding_table["21134"] = [132,167] let s:lib.Codec.encoding_table["21135"] = [132,168] let s:lib.Codec.encoding_table["21137"] = [132,169] let s:lib.Codec.encoding_table["21138"] = [132,170] let s:lib.Codec.encoding_table["21140"] = [132,171] let s:lib.Codec.encoding_table["21141"] = [132,172] let s:lib.Codec.encoding_table["21142"] = [132,173] let s:lib.Codec.encoding_table["21143"] = [132,174] let s:lib.Codec.encoding_table["21144"] = [132,175] let s:lib.Codec.encoding_table["21145"] = [132,176] let s:lib.Codec.encoding_table["21146"] = [132,177] let s:lib.Codec.encoding_table["21148"] = [132,178] let s:lib.Codec.encoding_table["21156"] = [132,179] let s:lib.Codec.encoding_table["21157"] = [132,180] let s:lib.Codec.encoding_table["21158"] = [132,181] let s:lib.Codec.encoding_table["21159"] = [132,182] let s:lib.Codec.encoding_table["21166"] = [132,183] let s:lib.Codec.encoding_table["21167"] = [132,184] let s:lib.Codec.encoding_table["21168"] = [132,185] let s:lib.Codec.encoding_table["21172"] = [132,186] let s:lib.Codec.encoding_table["21173"] = [132,187] let s:lib.Codec.encoding_table["21174"] = [132,188] let s:lib.Codec.encoding_table["21175"] = [132,189] let s:lib.Codec.encoding_table["21176"] = [132,190] let s:lib.Codec.encoding_table["21177"] = [132,191] let s:lib.Codec.encoding_table["21178"] = [132,192] let s:lib.Codec.encoding_table["21179"] = [132,193] let s:lib.Codec.encoding_table["21180"] = [132,194] let s:lib.Codec.encoding_table["21181"] = [132,195] let s:lib.Codec.encoding_table["21184"] = [132,196] let s:lib.Codec.encoding_table["21185"] = [132,197] let s:lib.Codec.encoding_table["21186"] = [132,198] let s:lib.Codec.encoding_table["21188"] = [132,199] let s:lib.Codec.encoding_table["21189"] = [132,200] let s:lib.Codec.encoding_table["21190"] = [132,201] let s:lib.Codec.encoding_table["21192"] = [132,202] let s:lib.Codec.encoding_table["21194"] = [132,203] let s:lib.Codec.encoding_table["21196"] = [132,204] let s:lib.Codec.encoding_table["21197"] = [132,205] let s:lib.Codec.encoding_table["21198"] = [132,206] let s:lib.Codec.encoding_table["21199"] = [132,207] let s:lib.Codec.encoding_table["21201"] = [132,208] let s:lib.Codec.encoding_table["21203"] = [132,209] let s:lib.Codec.encoding_table["21204"] = [132,210] let s:lib.Codec.encoding_table["21205"] = [132,211] let s:lib.Codec.encoding_table["21207"] = [132,212] let s:lib.Codec.encoding_table["21209"] = [132,213] let s:lib.Codec.encoding_table["21210"] = [132,214] let s:lib.Codec.encoding_table["21211"] = [132,215] let s:lib.Codec.encoding_table["21212"] = [132,216] let s:lib.Codec.encoding_table["21213"] = [132,217] let s:lib.Codec.encoding_table["21214"] = [132,218] let s:lib.Codec.encoding_table["21216"] = [132,219] let s:lib.Codec.encoding_table["21217"] = [132,220] let s:lib.Codec.encoding_table["21218"] = [132,221] let s:lib.Codec.encoding_table["21219"] = [132,222] let s:lib.Codec.encoding_table["21221"] = [132,223] let s:lib.Codec.encoding_table["21222"] = [132,224] let s:lib.Codec.encoding_table["21223"] = [132,225] let s:lib.Codec.encoding_table["21224"] = [132,226] let s:lib.Codec.encoding_table["21225"] = [132,227] let s:lib.Codec.encoding_table["21226"] = [132,228] let s:lib.Codec.encoding_table["21227"] = [132,229] let s:lib.Codec.encoding_table["21228"] = [132,230] let s:lib.Codec.encoding_table["21229"] = [132,231] let s:lib.Codec.encoding_table["21230"] = [132,232] let s:lib.Codec.encoding_table["21231"] = [132,233] let s:lib.Codec.encoding_table["21233"] = [132,234] let s:lib.Codec.encoding_table["21234"] = [132,235] let s:lib.Codec.encoding_table["21235"] = [132,236] let s:lib.Codec.encoding_table["21236"] = [132,237] let s:lib.Codec.encoding_table["21237"] = [132,238] let s:lib.Codec.encoding_table["21238"] = [132,239] let s:lib.Codec.encoding_table["21239"] = [132,240] let s:lib.Codec.encoding_table["21240"] = [132,241] let s:lib.Codec.encoding_table["21243"] = [132,242] let s:lib.Codec.encoding_table["21244"] = [132,243] let s:lib.Codec.encoding_table["21245"] = [132,244] let s:lib.Codec.encoding_table["21249"] = [132,245] let s:lib.Codec.encoding_table["21250"] = [132,246] let s:lib.Codec.encoding_table["21251"] = [132,247] let s:lib.Codec.encoding_table["21252"] = [132,248] let s:lib.Codec.encoding_table["21255"] = [132,249] let s:lib.Codec.encoding_table["21257"] = [132,250] let s:lib.Codec.encoding_table["21258"] = [132,251] let s:lib.Codec.encoding_table["21259"] = [132,252] let s:lib.Codec.encoding_table["21260"] = [132,253] let s:lib.Codec.encoding_table["21262"] = [132,254] let s:lib.Codec.encoding_table["21265"] = [133,64] let s:lib.Codec.encoding_table["21266"] = [133,65] let s:lib.Codec.encoding_table["21267"] = [133,66] let s:lib.Codec.encoding_table["21268"] = [133,67] let s:lib.Codec.encoding_table["21272"] = [133,68] let s:lib.Codec.encoding_table["21275"] = [133,69] let s:lib.Codec.encoding_table["21276"] = [133,70] let s:lib.Codec.encoding_table["21278"] = [133,71] let s:lib.Codec.encoding_table["21279"] = [133,72] let s:lib.Codec.encoding_table["21282"] = [133,73] let s:lib.Codec.encoding_table["21284"] = [133,74] let s:lib.Codec.encoding_table["21285"] = [133,75] let s:lib.Codec.encoding_table["21287"] = [133,76] let s:lib.Codec.encoding_table["21288"] = [133,77] let s:lib.Codec.encoding_table["21289"] = [133,78] let s:lib.Codec.encoding_table["21291"] = [133,79] let s:lib.Codec.encoding_table["21292"] = [133,80] let s:lib.Codec.encoding_table["21293"] = [133,81] let s:lib.Codec.encoding_table["21295"] = [133,82] let s:lib.Codec.encoding_table["21296"] = [133,83] let s:lib.Codec.encoding_table["21297"] = [133,84] let s:lib.Codec.encoding_table["21298"] = [133,85] let s:lib.Codec.encoding_table["21299"] = [133,86] let s:lib.Codec.encoding_table["21300"] = [133,87] let s:lib.Codec.encoding_table["21301"] = [133,88] let s:lib.Codec.encoding_table["21302"] = [133,89] let s:lib.Codec.encoding_table["21303"] = [133,90] let s:lib.Codec.encoding_table["21304"] = [133,91] let s:lib.Codec.encoding_table["21308"] = [133,92] let s:lib.Codec.encoding_table["21309"] = [133,93] let s:lib.Codec.encoding_table["21312"] = [133,94] let s:lib.Codec.encoding_table["21314"] = [133,95] let s:lib.Codec.encoding_table["21316"] = [133,96] let s:lib.Codec.encoding_table["21318"] = [133,97] let s:lib.Codec.encoding_table["21323"] = [133,98] let s:lib.Codec.encoding_table["21324"] = [133,99] let s:lib.Codec.encoding_table["21325"] = [133,100] let s:lib.Codec.encoding_table["21328"] = [133,101] let s:lib.Codec.encoding_table["21332"] = [133,102] let s:lib.Codec.encoding_table["21336"] = [133,103] let s:lib.Codec.encoding_table["21337"] = [133,104] let s:lib.Codec.encoding_table["21339"] = [133,105] let s:lib.Codec.encoding_table["21341"] = [133,106] let s:lib.Codec.encoding_table["21349"] = [133,107] let s:lib.Codec.encoding_table["21352"] = [133,108] let s:lib.Codec.encoding_table["21354"] = [133,109] let s:lib.Codec.encoding_table["21356"] = [133,110] let s:lib.Codec.encoding_table["21357"] = [133,111] let s:lib.Codec.encoding_table["21362"] = [133,112] let s:lib.Codec.encoding_table["21366"] = [133,113] let s:lib.Codec.encoding_table["21369"] = [133,114] let s:lib.Codec.encoding_table["21371"] = [133,115] let s:lib.Codec.encoding_table["21372"] = [133,116] let s:lib.Codec.encoding_table["21373"] = [133,117] let s:lib.Codec.encoding_table["21374"] = [133,118] let s:lib.Codec.encoding_table["21376"] = [133,119] let s:lib.Codec.encoding_table["21377"] = [133,120] let s:lib.Codec.encoding_table["21379"] = [133,121] let s:lib.Codec.encoding_table["21383"] = [133,122] let s:lib.Codec.encoding_table["21384"] = [133,123] let s:lib.Codec.encoding_table["21386"] = [133,124] let s:lib.Codec.encoding_table["21390"] = [133,125] let s:lib.Codec.encoding_table["21391"] = [133,126] let s:lib.Codec.encoding_table["21392"] = [133,128] let s:lib.Codec.encoding_table["21393"] = [133,129] let s:lib.Codec.encoding_table["21394"] = [133,130] let s:lib.Codec.encoding_table["21395"] = [133,131] let s:lib.Codec.encoding_table["21396"] = [133,132] let s:lib.Codec.encoding_table["21398"] = [133,133] let s:lib.Codec.encoding_table["21399"] = [133,134] let s:lib.Codec.encoding_table["21401"] = [133,135] let s:lib.Codec.encoding_table["21403"] = [133,136] let s:lib.Codec.encoding_table["21404"] = [133,137] let s:lib.Codec.encoding_table["21406"] = [133,138] let s:lib.Codec.encoding_table["21408"] = [133,139] let s:lib.Codec.encoding_table["21409"] = [133,140] let s:lib.Codec.encoding_table["21412"] = [133,141] let s:lib.Codec.encoding_table["21415"] = [133,142] let s:lib.Codec.encoding_table["21418"] = [133,143] let s:lib.Codec.encoding_table["21419"] = [133,144] let s:lib.Codec.encoding_table["21420"] = [133,145] let s:lib.Codec.encoding_table["21421"] = [133,146] let s:lib.Codec.encoding_table["21423"] = [133,147] let s:lib.Codec.encoding_table["21424"] = [133,148] let s:lib.Codec.encoding_table["21425"] = [133,149] let s:lib.Codec.encoding_table["21426"] = [133,150] let s:lib.Codec.encoding_table["21427"] = [133,151] let s:lib.Codec.encoding_table["21428"] = [133,152] let s:lib.Codec.encoding_table["21429"] = [133,153] let s:lib.Codec.encoding_table["21431"] = [133,154] let s:lib.Codec.encoding_table["21432"] = [133,155] let s:lib.Codec.encoding_table["21433"] = [133,156] let s:lib.Codec.encoding_table["21434"] = [133,157] let s:lib.Codec.encoding_table["21436"] = [133,158] let s:lib.Codec.encoding_table["21437"] = [133,159] let s:lib.Codec.encoding_table["21438"] = [133,160] let s:lib.Codec.encoding_table["21440"] = [133,161] let s:lib.Codec.encoding_table["21443"] = [133,162] let s:lib.Codec.encoding_table["21444"] = [133,163] let s:lib.Codec.encoding_table["21445"] = [133,164] let s:lib.Codec.encoding_table["21446"] = [133,165] let s:lib.Codec.encoding_table["21447"] = [133,166] let s:lib.Codec.encoding_table["21454"] = [133,167] let s:lib.Codec.encoding_table["21455"] = [133,168] let s:lib.Codec.encoding_table["21456"] = [133,169] let s:lib.Codec.encoding_table["21458"] = [133,170] let s:lib.Codec.encoding_table["21459"] = [133,171] let s:lib.Codec.encoding_table["21461"] = [133,172] let s:lib.Codec.encoding_table["21466"] = [133,173] let s:lib.Codec.encoding_table["21468"] = [133,174] let s:lib.Codec.encoding_table["21469"] = [133,175] let s:lib.Codec.encoding_table["21470"] = [133,176] let s:lib.Codec.encoding_table["21473"] = [133,177] let s:lib.Codec.encoding_table["21474"] = [133,178] let s:lib.Codec.encoding_table["21479"] = [133,179] let s:lib.Codec.encoding_table["21492"] = [133,180] let s:lib.Codec.encoding_table["21498"] = [133,181] let s:lib.Codec.encoding_table["21502"] = [133,182] let s:lib.Codec.encoding_table["21503"] = [133,183] let s:lib.Codec.encoding_table["21504"] = [133,184] let s:lib.Codec.encoding_table["21506"] = [133,185] let s:lib.Codec.encoding_table["21509"] = [133,186] let s:lib.Codec.encoding_table["21511"] = [133,187] let s:lib.Codec.encoding_table["21515"] = [133,188] let s:lib.Codec.encoding_table["21524"] = [133,189] let s:lib.Codec.encoding_table["21528"] = [133,190] let s:lib.Codec.encoding_table["21529"] = [133,191] let s:lib.Codec.encoding_table["21530"] = [133,192] let s:lib.Codec.encoding_table["21532"] = [133,193] let s:lib.Codec.encoding_table["21538"] = [133,194] let s:lib.Codec.encoding_table["21540"] = [133,195] let s:lib.Codec.encoding_table["21541"] = [133,196] let s:lib.Codec.encoding_table["21546"] = [133,197] let s:lib.Codec.encoding_table["21552"] = [133,198] let s:lib.Codec.encoding_table["21555"] = [133,199] let s:lib.Codec.encoding_table["21558"] = [133,200] let s:lib.Codec.encoding_table["21559"] = [133,201] let s:lib.Codec.encoding_table["21562"] = [133,202] let s:lib.Codec.encoding_table["21565"] = [133,203] let s:lib.Codec.encoding_table["21567"] = [133,204] let s:lib.Codec.encoding_table["21569"] = [133,205] let s:lib.Codec.encoding_table["21570"] = [133,206] let s:lib.Codec.encoding_table["21572"] = [133,207] let s:lib.Codec.encoding_table["21573"] = [133,208] let s:lib.Codec.encoding_table["21575"] = [133,209] let s:lib.Codec.encoding_table["21577"] = [133,210] let s:lib.Codec.encoding_table["21580"] = [133,211] let s:lib.Codec.encoding_table["21581"] = [133,212] let s:lib.Codec.encoding_table["21582"] = [133,213] let s:lib.Codec.encoding_table["21583"] = [133,214] let s:lib.Codec.encoding_table["21585"] = [133,215] let s:lib.Codec.encoding_table["21594"] = [133,216] let s:lib.Codec.encoding_table["21597"] = [133,217] let s:lib.Codec.encoding_table["21598"] = [133,218] let s:lib.Codec.encoding_table["21599"] = [133,219] let s:lib.Codec.encoding_table["21600"] = [133,220] let s:lib.Codec.encoding_table["21601"] = [133,221] let s:lib.Codec.encoding_table["21603"] = [133,222] let s:lib.Codec.encoding_table["21605"] = [133,223] let s:lib.Codec.encoding_table["21607"] = [133,224] let s:lib.Codec.encoding_table["21609"] = [133,225] let s:lib.Codec.encoding_table["21610"] = [133,226] let s:lib.Codec.encoding_table["21611"] = [133,227] let s:lib.Codec.encoding_table["21612"] = [133,228] let s:lib.Codec.encoding_table["21613"] = [133,229] let s:lib.Codec.encoding_table["21614"] = [133,230] let s:lib.Codec.encoding_table["21615"] = [133,231] let s:lib.Codec.encoding_table["21616"] = [133,232] let s:lib.Codec.encoding_table["21620"] = [133,233] let s:lib.Codec.encoding_table["21625"] = [133,234] let s:lib.Codec.encoding_table["21626"] = [133,235] let s:lib.Codec.encoding_table["21630"] = [133,236] let s:lib.Codec.encoding_table["21631"] = [133,237] let s:lib.Codec.encoding_table["21633"] = [133,238] let s:lib.Codec.encoding_table["21635"] = [133,239] let s:lib.Codec.encoding_table["21637"] = [133,240] let s:lib.Codec.encoding_table["21639"] = [133,241] let s:lib.Codec.encoding_table["21640"] = [133,242] let s:lib.Codec.encoding_table["21641"] = [133,243] let s:lib.Codec.encoding_table["21642"] = [133,244] let s:lib.Codec.encoding_table["21645"] = [133,245] let s:lib.Codec.encoding_table["21649"] = [133,246] let s:lib.Codec.encoding_table["21651"] = [133,247] let s:lib.Codec.encoding_table["21655"] = [133,248] let s:lib.Codec.encoding_table["21656"] = [133,249] let s:lib.Codec.encoding_table["21660"] = [133,250] let s:lib.Codec.encoding_table["21662"] = [133,251] let s:lib.Codec.encoding_table["21663"] = [133,252] let s:lib.Codec.encoding_table["21664"] = [133,253] let s:lib.Codec.encoding_table["21665"] = [133,254] let s:lib.Codec.encoding_table["21666"] = [134,64] let s:lib.Codec.encoding_table["21669"] = [134,65] let s:lib.Codec.encoding_table["21678"] = [134,66] let s:lib.Codec.encoding_table["21680"] = [134,67] let s:lib.Codec.encoding_table["21682"] = [134,68] let s:lib.Codec.encoding_table["21685"] = [134,69] let s:lib.Codec.encoding_table["21686"] = [134,70] let s:lib.Codec.encoding_table["21687"] = [134,71] let s:lib.Codec.encoding_table["21689"] = [134,72] let s:lib.Codec.encoding_table["21690"] = [134,73] let s:lib.Codec.encoding_table["21692"] = [134,74] let s:lib.Codec.encoding_table["21694"] = [134,75] let s:lib.Codec.encoding_table["21699"] = [134,76] let s:lib.Codec.encoding_table["21701"] = [134,77] let s:lib.Codec.encoding_table["21706"] = [134,78] let s:lib.Codec.encoding_table["21707"] = [134,79] let s:lib.Codec.encoding_table["21718"] = [134,80] let s:lib.Codec.encoding_table["21720"] = [134,81] let s:lib.Codec.encoding_table["21723"] = [134,82] let s:lib.Codec.encoding_table["21728"] = [134,83] let s:lib.Codec.encoding_table["21729"] = [134,84] let s:lib.Codec.encoding_table["21730"] = [134,85] let s:lib.Codec.encoding_table["21731"] = [134,86] let s:lib.Codec.encoding_table["21732"] = [134,87] let s:lib.Codec.encoding_table["21739"] = [134,88] let s:lib.Codec.encoding_table["21740"] = [134,89] let s:lib.Codec.encoding_table["21743"] = [134,90] let s:lib.Codec.encoding_table["21744"] = [134,91] let s:lib.Codec.encoding_table["21745"] = [134,92] let s:lib.Codec.encoding_table["21748"] = [134,93] let s:lib.Codec.encoding_table["21749"] = [134,94] let s:lib.Codec.encoding_table["21750"] = [134,95] let s:lib.Codec.encoding_table["21751"] = [134,96] let s:lib.Codec.encoding_table["21752"] = [134,97] let s:lib.Codec.encoding_table["21753"] = [134,98] let s:lib.Codec.encoding_table["21755"] = [134,99] let s:lib.Codec.encoding_table["21758"] = [134,100] let s:lib.Codec.encoding_table["21760"] = [134,101] let s:lib.Codec.encoding_table["21762"] = [134,102] let s:lib.Codec.encoding_table["21763"] = [134,103] let s:lib.Codec.encoding_table["21764"] = [134,104] let s:lib.Codec.encoding_table["21765"] = [134,105] let s:lib.Codec.encoding_table["21768"] = [134,106] let s:lib.Codec.encoding_table["21770"] = [134,107] let s:lib.Codec.encoding_table["21771"] = [134,108] let s:lib.Codec.encoding_table["21772"] = [134,109] let s:lib.Codec.encoding_table["21773"] = [134,110] let s:lib.Codec.encoding_table["21774"] = [134,111] let s:lib.Codec.encoding_table["21778"] = [134,112] let s:lib.Codec.encoding_table["21779"] = [134,113] let s:lib.Codec.encoding_table["21781"] = [134,114] let s:lib.Codec.encoding_table["21782"] = [134,115] let s:lib.Codec.encoding_table["21783"] = [134,116] let s:lib.Codec.encoding_table["21784"] = [134,117] let s:lib.Codec.encoding_table["21785"] = [134,118] let s:lib.Codec.encoding_table["21786"] = [134,119] let s:lib.Codec.encoding_table["21788"] = [134,120] let s:lib.Codec.encoding_table["21789"] = [134,121] let s:lib.Codec.encoding_table["21790"] = [134,122] let s:lib.Codec.encoding_table["21791"] = [134,123] let s:lib.Codec.encoding_table["21793"] = [134,124] let s:lib.Codec.encoding_table["21797"] = [134,125] let s:lib.Codec.encoding_table["21798"] = [134,126] let s:lib.Codec.encoding_table["21800"] = [134,128] let s:lib.Codec.encoding_table["21801"] = [134,129] let s:lib.Codec.encoding_table["21803"] = [134,130] let s:lib.Codec.encoding_table["21805"] = [134,131] let s:lib.Codec.encoding_table["21810"] = [134,132] let s:lib.Codec.encoding_table["21812"] = [134,133] let s:lib.Codec.encoding_table["21813"] = [134,134] let s:lib.Codec.encoding_table["21814"] = [134,135] let s:lib.Codec.encoding_table["21816"] = [134,136] let s:lib.Codec.encoding_table["21817"] = [134,137] let s:lib.Codec.encoding_table["21818"] = [134,138] let s:lib.Codec.encoding_table["21819"] = [134,139] let s:lib.Codec.encoding_table["21821"] = [134,140] let s:lib.Codec.encoding_table["21824"] = [134,141] let s:lib.Codec.encoding_table["21826"] = [134,142] let s:lib.Codec.encoding_table["21829"] = [134,143] let s:lib.Codec.encoding_table["21831"] = [134,144] let s:lib.Codec.encoding_table["21832"] = [134,145] let s:lib.Codec.encoding_table["21835"] = [134,146] let s:lib.Codec.encoding_table["21836"] = [134,147] let s:lib.Codec.encoding_table["21837"] = [134,148] let s:lib.Codec.encoding_table["21838"] = [134,149] let s:lib.Codec.encoding_table["21839"] = [134,150] let s:lib.Codec.encoding_table["21841"] = [134,151] let s:lib.Codec.encoding_table["21842"] = [134,152] let s:lib.Codec.encoding_table["21843"] = [134,153] let s:lib.Codec.encoding_table["21844"] = [134,154] let s:lib.Codec.encoding_table["21847"] = [134,155] let s:lib.Codec.encoding_table["21848"] = [134,156] let s:lib.Codec.encoding_table["21849"] = [134,157] let s:lib.Codec.encoding_table["21850"] = [134,158] let s:lib.Codec.encoding_table["21851"] = [134,159] let s:lib.Codec.encoding_table["21853"] = [134,160] let s:lib.Codec.encoding_table["21854"] = [134,161] let s:lib.Codec.encoding_table["21855"] = [134,162] let s:lib.Codec.encoding_table["21856"] = [134,163] let s:lib.Codec.encoding_table["21858"] = [134,164] let s:lib.Codec.encoding_table["21859"] = [134,165] let s:lib.Codec.encoding_table["21864"] = [134,166] let s:lib.Codec.encoding_table["21865"] = [134,167] let s:lib.Codec.encoding_table["21867"] = [134,168] let s:lib.Codec.encoding_table["21871"] = [134,169] let s:lib.Codec.encoding_table["21872"] = [134,170] let s:lib.Codec.encoding_table["21873"] = [134,171] let s:lib.Codec.encoding_table["21874"] = [134,172] let s:lib.Codec.encoding_table["21875"] = [134,173] let s:lib.Codec.encoding_table["21876"] = [134,174] let s:lib.Codec.encoding_table["21881"] = [134,175] let s:lib.Codec.encoding_table["21882"] = [134,176] let s:lib.Codec.encoding_table["21885"] = [134,177] let s:lib.Codec.encoding_table["21887"] = [134,178] let s:lib.Codec.encoding_table["21893"] = [134,179] let s:lib.Codec.encoding_table["21894"] = [134,180] let s:lib.Codec.encoding_table["21900"] = [134,181] let s:lib.Codec.encoding_table["21901"] = [134,182] let s:lib.Codec.encoding_table["21902"] = [134,183] let s:lib.Codec.encoding_table["21904"] = [134,184] let s:lib.Codec.encoding_table["21906"] = [134,185] let s:lib.Codec.encoding_table["21907"] = [134,186] let s:lib.Codec.encoding_table["21909"] = [134,187] let s:lib.Codec.encoding_table["21910"] = [134,188] let s:lib.Codec.encoding_table["21911"] = [134,189] let s:lib.Codec.encoding_table["21914"] = [134,190] let s:lib.Codec.encoding_table["21915"] = [134,191] let s:lib.Codec.encoding_table["21918"] = [134,192] let s:lib.Codec.encoding_table["21920"] = [134,193] let s:lib.Codec.encoding_table["21921"] = [134,194] let s:lib.Codec.encoding_table["21922"] = [134,195] let s:lib.Codec.encoding_table["21923"] = [134,196] let s:lib.Codec.encoding_table["21924"] = [134,197] let s:lib.Codec.encoding_table["21925"] = [134,198] let s:lib.Codec.encoding_table["21926"] = [134,199] let s:lib.Codec.encoding_table["21928"] = [134,200] let s:lib.Codec.encoding_table["21929"] = [134,201] let s:lib.Codec.encoding_table["21930"] = [134,202] let s:lib.Codec.encoding_table["21931"] = [134,203] let s:lib.Codec.encoding_table["21932"] = [134,204] let s:lib.Codec.encoding_table["21933"] = [134,205] let s:lib.Codec.encoding_table["21934"] = [134,206] let s:lib.Codec.encoding_table["21935"] = [134,207] let s:lib.Codec.encoding_table["21936"] = [134,208] let s:lib.Codec.encoding_table["21938"] = [134,209] let s:lib.Codec.encoding_table["21940"] = [134,210] let s:lib.Codec.encoding_table["21942"] = [134,211] let s:lib.Codec.encoding_table["21944"] = [134,212] let s:lib.Codec.encoding_table["21946"] = [134,213] let s:lib.Codec.encoding_table["21948"] = [134,214] let s:lib.Codec.encoding_table["21951"] = [134,215] let s:lib.Codec.encoding_table["21952"] = [134,216] let s:lib.Codec.encoding_table["21953"] = [134,217] let s:lib.Codec.encoding_table["21954"] = [134,218] let s:lib.Codec.encoding_table["21955"] = [134,219] let s:lib.Codec.encoding_table["21958"] = [134,220] let s:lib.Codec.encoding_table["21959"] = [134,221] let s:lib.Codec.encoding_table["21960"] = [134,222] let s:lib.Codec.encoding_table["21962"] = [134,223] let s:lib.Codec.encoding_table["21963"] = [134,224] let s:lib.Codec.encoding_table["21966"] = [134,225] let s:lib.Codec.encoding_table["21967"] = [134,226] let s:lib.Codec.encoding_table["21968"] = [134,227] let s:lib.Codec.encoding_table["21973"] = [134,228] let s:lib.Codec.encoding_table["21975"] = [134,229] let s:lib.Codec.encoding_table["21976"] = [134,230] let s:lib.Codec.encoding_table["21977"] = [134,231] let s:lib.Codec.encoding_table["21978"] = [134,232] let s:lib.Codec.encoding_table["21979"] = [134,233] let s:lib.Codec.encoding_table["21982"] = [134,234] let s:lib.Codec.encoding_table["21984"] = [134,235] let s:lib.Codec.encoding_table["21986"] = [134,236] let s:lib.Codec.encoding_table["21991"] = [134,237] let s:lib.Codec.encoding_table["21993"] = [134,238] let s:lib.Codec.encoding_table["21997"] = [134,239] let s:lib.Codec.encoding_table["21998"] = [134,240] let s:lib.Codec.encoding_table["22000"] = [134,241] let s:lib.Codec.encoding_table["22001"] = [134,242] let s:lib.Codec.encoding_table["22004"] = [134,243] let s:lib.Codec.encoding_table["22006"] = [134,244] let s:lib.Codec.encoding_table["22008"] = [134,245] let s:lib.Codec.encoding_table["22009"] = [134,246] let s:lib.Codec.encoding_table["22010"] = [134,247] let s:lib.Codec.encoding_table["22011"] = [134,248] let s:lib.Codec.encoding_table["22012"] = [134,249] let s:lib.Codec.encoding_table["22015"] = [134,250] let s:lib.Codec.encoding_table["22018"] = [134,251] let s:lib.Codec.encoding_table["22019"] = [134,252] let s:lib.Codec.encoding_table["22020"] = [134,253] let s:lib.Codec.encoding_table["22021"] = [134,254] let s:lib.Codec.encoding_table["22022"] = [135,64] let s:lib.Codec.encoding_table["22023"] = [135,65] let s:lib.Codec.encoding_table["22026"] = [135,66] let s:lib.Codec.encoding_table["22027"] = [135,67] let s:lib.Codec.encoding_table["22029"] = [135,68] let s:lib.Codec.encoding_table["22032"] = [135,69] let s:lib.Codec.encoding_table["22033"] = [135,70] let s:lib.Codec.encoding_table["22034"] = [135,71] let s:lib.Codec.encoding_table["22035"] = [135,72] let s:lib.Codec.encoding_table["22036"] = [135,73] let s:lib.Codec.encoding_table["22037"] = [135,74] let s:lib.Codec.encoding_table["22038"] = [135,75] let s:lib.Codec.encoding_table["22039"] = [135,76] let s:lib.Codec.encoding_table["22041"] = [135,77] let s:lib.Codec.encoding_table["22042"] = [135,78] let s:lib.Codec.encoding_table["22044"] = [135,79] let s:lib.Codec.encoding_table["22045"] = [135,80] let s:lib.Codec.encoding_table["22048"] = [135,81] let s:lib.Codec.encoding_table["22049"] = [135,82] let s:lib.Codec.encoding_table["22050"] = [135,83] let s:lib.Codec.encoding_table["22053"] = [135,84] let s:lib.Codec.encoding_table["22054"] = [135,85] let s:lib.Codec.encoding_table["22056"] = [135,86] let s:lib.Codec.encoding_table["22057"] = [135,87] let s:lib.Codec.encoding_table["22058"] = [135,88] let s:lib.Codec.encoding_table["22059"] = [135,89] let s:lib.Codec.encoding_table["22062"] = [135,90] let s:lib.Codec.encoding_table["22063"] = [135,91] let s:lib.Codec.encoding_table["22064"] = [135,92] let s:lib.Codec.encoding_table["22067"] = [135,93] let s:lib.Codec.encoding_table["22069"] = [135,94] let s:lib.Codec.encoding_table["22071"] = [135,95] let s:lib.Codec.encoding_table["22072"] = [135,96] let s:lib.Codec.encoding_table["22074"] = [135,97] let s:lib.Codec.encoding_table["22076"] = [135,98] let s:lib.Codec.encoding_table["22077"] = [135,99] let s:lib.Codec.encoding_table["22078"] = [135,100] let s:lib.Codec.encoding_table["22080"] = [135,101] let s:lib.Codec.encoding_table["22081"] = [135,102] let s:lib.Codec.encoding_table["22082"] = [135,103] let s:lib.Codec.encoding_table["22083"] = [135,104] let s:lib.Codec.encoding_table["22084"] = [135,105] let s:lib.Codec.encoding_table["22085"] = [135,106] let s:lib.Codec.encoding_table["22086"] = [135,107] let s:lib.Codec.encoding_table["22087"] = [135,108] let s:lib.Codec.encoding_table["22088"] = [135,109] let s:lib.Codec.encoding_table["22089"] = [135,110] let s:lib.Codec.encoding_table["22090"] = [135,111] let s:lib.Codec.encoding_table["22091"] = [135,112] let s:lib.Codec.encoding_table["22095"] = [135,113] let s:lib.Codec.encoding_table["22096"] = [135,114] let s:lib.Codec.encoding_table["22097"] = [135,115] let s:lib.Codec.encoding_table["22098"] = [135,116] let s:lib.Codec.encoding_table["22099"] = [135,117] let s:lib.Codec.encoding_table["22101"] = [135,118] let s:lib.Codec.encoding_table["22102"] = [135,119] let s:lib.Codec.encoding_table["22106"] = [135,120] let s:lib.Codec.encoding_table["22107"] = [135,121] let s:lib.Codec.encoding_table["22109"] = [135,122] let s:lib.Codec.encoding_table["22110"] = [135,123] let s:lib.Codec.encoding_table["22111"] = [135,124] let s:lib.Codec.encoding_table["22112"] = [135,125] let s:lib.Codec.encoding_table["22113"] = [135,126] let s:lib.Codec.encoding_table["22115"] = [135,128] let s:lib.Codec.encoding_table["22117"] = [135,129] let s:lib.Codec.encoding_table["22118"] = [135,130] let s:lib.Codec.encoding_table["22119"] = [135,131] let s:lib.Codec.encoding_table["22125"] = [135,132] let s:lib.Codec.encoding_table["22126"] = [135,133] let s:lib.Codec.encoding_table["22127"] = [135,134] let s:lib.Codec.encoding_table["22128"] = [135,135] let s:lib.Codec.encoding_table["22130"] = [135,136] let s:lib.Codec.encoding_table["22131"] = [135,137] let s:lib.Codec.encoding_table["22132"] = [135,138] let s:lib.Codec.encoding_table["22133"] = [135,139] let s:lib.Codec.encoding_table["22135"] = [135,140] let s:lib.Codec.encoding_table["22136"] = [135,141] let s:lib.Codec.encoding_table["22137"] = [135,142] let s:lib.Codec.encoding_table["22138"] = [135,143] let s:lib.Codec.encoding_table["22141"] = [135,144] let s:lib.Codec.encoding_table["22142"] = [135,145] let s:lib.Codec.encoding_table["22143"] = [135,146] let s:lib.Codec.encoding_table["22144"] = [135,147] let s:lib.Codec.encoding_table["22145"] = [135,148] let s:lib.Codec.encoding_table["22146"] = [135,149] let s:lib.Codec.encoding_table["22147"] = [135,150] let s:lib.Codec.encoding_table["22148"] = [135,151] let s:lib.Codec.encoding_table["22151"] = [135,152] let s:lib.Codec.encoding_table["22152"] = [135,153] let s:lib.Codec.encoding_table["22153"] = [135,154] let s:lib.Codec.encoding_table["22154"] = [135,155] let s:lib.Codec.encoding_table["22155"] = [135,156] let s:lib.Codec.encoding_table["22156"] = [135,157] let s:lib.Codec.encoding_table["22157"] = [135,158] let s:lib.Codec.encoding_table["22160"] = [135,159] let s:lib.Codec.encoding_table["22161"] = [135,160] let s:lib.Codec.encoding_table["22162"] = [135,161] let s:lib.Codec.encoding_table["22164"] = [135,162] let s:lib.Codec.encoding_table["22165"] = [135,163] let s:lib.Codec.encoding_table["22166"] = [135,164] let s:lib.Codec.encoding_table["22167"] = [135,165] let s:lib.Codec.encoding_table["22168"] = [135,166] let s:lib.Codec.encoding_table["22169"] = [135,167] let s:lib.Codec.encoding_table["22170"] = [135,168] let s:lib.Codec.encoding_table["22171"] = [135,169] let s:lib.Codec.encoding_table["22172"] = [135,170] let s:lib.Codec.encoding_table["22173"] = [135,171] let s:lib.Codec.encoding_table["22174"] = [135,172] let s:lib.Codec.encoding_table["22175"] = [135,173] let s:lib.Codec.encoding_table["22176"] = [135,174] let s:lib.Codec.encoding_table["22177"] = [135,175] let s:lib.Codec.encoding_table["22178"] = [135,176] let s:lib.Codec.encoding_table["22180"] = [135,177] let s:lib.Codec.encoding_table["22181"] = [135,178] let s:lib.Codec.encoding_table["22182"] = [135,179] let s:lib.Codec.encoding_table["22183"] = [135,180] let s:lib.Codec.encoding_table["22184"] = [135,181] let s:lib.Codec.encoding_table["22185"] = [135,182] let s:lib.Codec.encoding_table["22186"] = [135,183] let s:lib.Codec.encoding_table["22187"] = [135,184] let s:lib.Codec.encoding_table["22188"] = [135,185] let s:lib.Codec.encoding_table["22189"] = [135,186] let s:lib.Codec.encoding_table["22190"] = [135,187] let s:lib.Codec.encoding_table["22192"] = [135,188] let s:lib.Codec.encoding_table["22193"] = [135,189] let s:lib.Codec.encoding_table["22194"] = [135,190] let s:lib.Codec.encoding_table["22195"] = [135,191] let s:lib.Codec.encoding_table["22196"] = [135,192] let s:lib.Codec.encoding_table["22197"] = [135,193] let s:lib.Codec.encoding_table["22198"] = [135,194] let s:lib.Codec.encoding_table["22200"] = [135,195] let s:lib.Codec.encoding_table["22201"] = [135,196] let s:lib.Codec.encoding_table["22202"] = [135,197] let s:lib.Codec.encoding_table["22203"] = [135,198] let s:lib.Codec.encoding_table["22205"] = [135,199] let s:lib.Codec.encoding_table["22206"] = [135,200] let s:lib.Codec.encoding_table["22207"] = [135,201] let s:lib.Codec.encoding_table["22208"] = [135,202] let s:lib.Codec.encoding_table["22209"] = [135,203] let s:lib.Codec.encoding_table["22210"] = [135,204] let s:lib.Codec.encoding_table["22211"] = [135,205] let s:lib.Codec.encoding_table["22212"] = [135,206] let s:lib.Codec.encoding_table["22213"] = [135,207] let s:lib.Codec.encoding_table["22214"] = [135,208] let s:lib.Codec.encoding_table["22215"] = [135,209] let s:lib.Codec.encoding_table["22216"] = [135,210] let s:lib.Codec.encoding_table["22217"] = [135,211] let s:lib.Codec.encoding_table["22219"] = [135,212] let s:lib.Codec.encoding_table["22220"] = [135,213] let s:lib.Codec.encoding_table["22221"] = [135,214] let s:lib.Codec.encoding_table["22222"] = [135,215] let s:lib.Codec.encoding_table["22223"] = [135,216] let s:lib.Codec.encoding_table["22224"] = [135,217] let s:lib.Codec.encoding_table["22225"] = [135,218] let s:lib.Codec.encoding_table["22226"] = [135,219] let s:lib.Codec.encoding_table["22227"] = [135,220] let s:lib.Codec.encoding_table["22229"] = [135,221] let s:lib.Codec.encoding_table["22230"] = [135,222] let s:lib.Codec.encoding_table["22232"] = [135,223] let s:lib.Codec.encoding_table["22233"] = [135,224] let s:lib.Codec.encoding_table["22236"] = [135,225] let s:lib.Codec.encoding_table["22243"] = [135,226] let s:lib.Codec.encoding_table["22245"] = [135,227] let s:lib.Codec.encoding_table["22246"] = [135,228] let s:lib.Codec.encoding_table["22247"] = [135,229] let s:lib.Codec.encoding_table["22248"] = [135,230] let s:lib.Codec.encoding_table["22249"] = [135,231] let s:lib.Codec.encoding_table["22250"] = [135,232] let s:lib.Codec.encoding_table["22252"] = [135,233] let s:lib.Codec.encoding_table["22254"] = [135,234] let s:lib.Codec.encoding_table["22255"] = [135,235] let s:lib.Codec.encoding_table["22258"] = [135,236] let s:lib.Codec.encoding_table["22259"] = [135,237] let s:lib.Codec.encoding_table["22262"] = [135,238] let s:lib.Codec.encoding_table["22263"] = [135,239] let s:lib.Codec.encoding_table["22264"] = [135,240] let s:lib.Codec.encoding_table["22267"] = [135,241] let s:lib.Codec.encoding_table["22268"] = [135,242] let s:lib.Codec.encoding_table["22272"] = [135,243] let s:lib.Codec.encoding_table["22273"] = [135,244] let s:lib.Codec.encoding_table["22274"] = [135,245] let s:lib.Codec.encoding_table["22277"] = [135,246] let s:lib.Codec.encoding_table["22279"] = [135,247] let s:lib.Codec.encoding_table["22283"] = [135,248] let s:lib.Codec.encoding_table["22284"] = [135,249] let s:lib.Codec.encoding_table["22285"] = [135,250] let s:lib.Codec.encoding_table["22286"] = [135,251] let s:lib.Codec.encoding_table["22287"] = [135,252] let s:lib.Codec.encoding_table["22288"] = [135,253] let s:lib.Codec.encoding_table["22289"] = [135,254] let s:lib.Codec.encoding_table["22290"] = [136,64] let s:lib.Codec.encoding_table["22291"] = [136,65] let s:lib.Codec.encoding_table["22292"] = [136,66] let s:lib.Codec.encoding_table["22293"] = [136,67] let s:lib.Codec.encoding_table["22294"] = [136,68] let s:lib.Codec.encoding_table["22295"] = [136,69] let s:lib.Codec.encoding_table["22296"] = [136,70] let s:lib.Codec.encoding_table["22297"] = [136,71] let s:lib.Codec.encoding_table["22298"] = [136,72] let s:lib.Codec.encoding_table["22299"] = [136,73] let s:lib.Codec.encoding_table["22301"] = [136,74] let s:lib.Codec.encoding_table["22302"] = [136,75] let s:lib.Codec.encoding_table["22304"] = [136,76] let s:lib.Codec.encoding_table["22305"] = [136,77] let s:lib.Codec.encoding_table["22306"] = [136,78] let s:lib.Codec.encoding_table["22308"] = [136,79] let s:lib.Codec.encoding_table["22309"] = [136,80] let s:lib.Codec.encoding_table["22310"] = [136,81] let s:lib.Codec.encoding_table["22311"] = [136,82] let s:lib.Codec.encoding_table["22315"] = [136,83] let s:lib.Codec.encoding_table["22321"] = [136,84] let s:lib.Codec.encoding_table["22322"] = [136,85] let s:lib.Codec.encoding_table["22324"] = [136,86] let s:lib.Codec.encoding_table["22325"] = [136,87] let s:lib.Codec.encoding_table["22326"] = [136,88] let s:lib.Codec.encoding_table["22327"] = [136,89] let s:lib.Codec.encoding_table["22328"] = [136,90] let s:lib.Codec.encoding_table["22332"] = [136,91] let s:lib.Codec.encoding_table["22333"] = [136,92] let s:lib.Codec.encoding_table["22335"] = [136,93] let s:lib.Codec.encoding_table["22337"] = [136,94] let s:lib.Codec.encoding_table["22339"] = [136,95] let s:lib.Codec.encoding_table["22340"] = [136,96] let s:lib.Codec.encoding_table["22341"] = [136,97] let s:lib.Codec.encoding_table["22342"] = [136,98] let s:lib.Codec.encoding_table["22344"] = [136,99] let s:lib.Codec.encoding_table["22345"] = [136,100] let s:lib.Codec.encoding_table["22347"] = [136,101] let s:lib.Codec.encoding_table["22354"] = [136,102] let s:lib.Codec.encoding_table["22355"] = [136,103] let s:lib.Codec.encoding_table["22356"] = [136,104] let s:lib.Codec.encoding_table["22357"] = [136,105] let s:lib.Codec.encoding_table["22358"] = [136,106] let s:lib.Codec.encoding_table["22360"] = [136,107] let s:lib.Codec.encoding_table["22361"] = [136,108] let s:lib.Codec.encoding_table["22370"] = [136,109] let s:lib.Codec.encoding_table["22371"] = [136,110] let s:lib.Codec.encoding_table["22373"] = [136,111] let s:lib.Codec.encoding_table["22375"] = [136,112] let s:lib.Codec.encoding_table["22380"] = [136,113] let s:lib.Codec.encoding_table["22382"] = [136,114] let s:lib.Codec.encoding_table["22384"] = [136,115] let s:lib.Codec.encoding_table["22385"] = [136,116] let s:lib.Codec.encoding_table["22386"] = [136,117] let s:lib.Codec.encoding_table["22388"] = [136,118] let s:lib.Codec.encoding_table["22389"] = [136,119] let s:lib.Codec.encoding_table["22392"] = [136,120] let s:lib.Codec.encoding_table["22393"] = [136,121] let s:lib.Codec.encoding_table["22394"] = [136,122] let s:lib.Codec.encoding_table["22397"] = [136,123] let s:lib.Codec.encoding_table["22398"] = [136,124] let s:lib.Codec.encoding_table["22399"] = [136,125] let s:lib.Codec.encoding_table["22400"] = [136,126] let s:lib.Codec.encoding_table["22401"] = [136,128] let s:lib.Codec.encoding_table["22407"] = [136,129] let s:lib.Codec.encoding_table["22408"] = [136,130] let s:lib.Codec.encoding_table["22409"] = [136,131] let s:lib.Codec.encoding_table["22410"] = [136,132] let s:lib.Codec.encoding_table["22413"] = [136,133] let s:lib.Codec.encoding_table["22414"] = [136,134] let s:lib.Codec.encoding_table["22415"] = [136,135] let s:lib.Codec.encoding_table["22416"] = [136,136] let s:lib.Codec.encoding_table["22417"] = [136,137] let s:lib.Codec.encoding_table["22420"] = [136,138] let s:lib.Codec.encoding_table["22421"] = [136,139] let s:lib.Codec.encoding_table["22422"] = [136,140] let s:lib.Codec.encoding_table["22423"] = [136,141] let s:lib.Codec.encoding_table["22424"] = [136,142] let s:lib.Codec.encoding_table["22425"] = [136,143] let s:lib.Codec.encoding_table["22426"] = [136,144] let s:lib.Codec.encoding_table["22428"] = [136,145] let s:lib.Codec.encoding_table["22429"] = [136,146] let s:lib.Codec.encoding_table["22430"] = [136,147] let s:lib.Codec.encoding_table["22431"] = [136,148] let s:lib.Codec.encoding_table["22437"] = [136,149] let s:lib.Codec.encoding_table["22440"] = [136,150] let s:lib.Codec.encoding_table["22442"] = [136,151] let s:lib.Codec.encoding_table["22444"] = [136,152] let s:lib.Codec.encoding_table["22447"] = [136,153] let s:lib.Codec.encoding_table["22448"] = [136,154] let s:lib.Codec.encoding_table["22449"] = [136,155] let s:lib.Codec.encoding_table["22451"] = [136,156] let s:lib.Codec.encoding_table["22453"] = [136,157] let s:lib.Codec.encoding_table["22454"] = [136,158] let s:lib.Codec.encoding_table["22455"] = [136,159] let s:lib.Codec.encoding_table["22457"] = [136,160] let s:lib.Codec.encoding_table["22458"] = [136,161] let s:lib.Codec.encoding_table["22459"] = [136,162] let s:lib.Codec.encoding_table["22460"] = [136,163] let s:lib.Codec.encoding_table["22461"] = [136,164] let s:lib.Codec.encoding_table["22462"] = [136,165] let s:lib.Codec.encoding_table["22463"] = [136,166] let s:lib.Codec.encoding_table["22464"] = [136,167] let s:lib.Codec.encoding_table["22465"] = [136,168] let s:lib.Codec.encoding_table["22468"] = [136,169] let s:lib.Codec.encoding_table["22469"] = [136,170] let s:lib.Codec.encoding_table["22470"] = [136,171] let s:lib.Codec.encoding_table["22471"] = [136,172] let s:lib.Codec.encoding_table["22472"] = [136,173] let s:lib.Codec.encoding_table["22473"] = [136,174] let s:lib.Codec.encoding_table["22474"] = [136,175] let s:lib.Codec.encoding_table["22476"] = [136,176] let s:lib.Codec.encoding_table["22477"] = [136,177] let s:lib.Codec.encoding_table["22480"] = [136,178] let s:lib.Codec.encoding_table["22481"] = [136,179] let s:lib.Codec.encoding_table["22483"] = [136,180] let s:lib.Codec.encoding_table["22486"] = [136,181] let s:lib.Codec.encoding_table["22487"] = [136,182] let s:lib.Codec.encoding_table["22491"] = [136,183] let s:lib.Codec.encoding_table["22492"] = [136,184] let s:lib.Codec.encoding_table["22494"] = [136,185] let s:lib.Codec.encoding_table["22497"] = [136,186] let s:lib.Codec.encoding_table["22498"] = [136,187] let s:lib.Codec.encoding_table["22499"] = [136,188] let s:lib.Codec.encoding_table["22501"] = [136,189] let s:lib.Codec.encoding_table["22502"] = [136,190] let s:lib.Codec.encoding_table["22503"] = [136,191] let s:lib.Codec.encoding_table["22504"] = [136,192] let s:lib.Codec.encoding_table["22505"] = [136,193] let s:lib.Codec.encoding_table["22506"] = [136,194] let s:lib.Codec.encoding_table["22507"] = [136,195] let s:lib.Codec.encoding_table["22508"] = [136,196] let s:lib.Codec.encoding_table["22510"] = [136,197] let s:lib.Codec.encoding_table["22512"] = [136,198] let s:lib.Codec.encoding_table["22513"] = [136,199] let s:lib.Codec.encoding_table["22514"] = [136,200] let s:lib.Codec.encoding_table["22515"] = [136,201] let s:lib.Codec.encoding_table["22517"] = [136,202] let s:lib.Codec.encoding_table["22518"] = [136,203] let s:lib.Codec.encoding_table["22519"] = [136,204] let s:lib.Codec.encoding_table["22523"] = [136,205] let s:lib.Codec.encoding_table["22524"] = [136,206] let s:lib.Codec.encoding_table["22526"] = [136,207] let s:lib.Codec.encoding_table["22527"] = [136,208] let s:lib.Codec.encoding_table["22529"] = [136,209] let s:lib.Codec.encoding_table["22531"] = [136,210] let s:lib.Codec.encoding_table["22532"] = [136,211] let s:lib.Codec.encoding_table["22533"] = [136,212] let s:lib.Codec.encoding_table["22536"] = [136,213] let s:lib.Codec.encoding_table["22537"] = [136,214] let s:lib.Codec.encoding_table["22538"] = [136,215] let s:lib.Codec.encoding_table["22540"] = [136,216] let s:lib.Codec.encoding_table["22542"] = [136,217] let s:lib.Codec.encoding_table["22543"] = [136,218] let s:lib.Codec.encoding_table["22544"] = [136,219] let s:lib.Codec.encoding_table["22546"] = [136,220] let s:lib.Codec.encoding_table["22547"] = [136,221] let s:lib.Codec.encoding_table["22548"] = [136,222] let s:lib.Codec.encoding_table["22550"] = [136,223] let s:lib.Codec.encoding_table["22551"] = [136,224] let s:lib.Codec.encoding_table["22552"] = [136,225] let s:lib.Codec.encoding_table["22554"] = [136,226] let s:lib.Codec.encoding_table["22555"] = [136,227] let s:lib.Codec.encoding_table["22556"] = [136,228] let s:lib.Codec.encoding_table["22557"] = [136,229] let s:lib.Codec.encoding_table["22559"] = [136,230] let s:lib.Codec.encoding_table["22562"] = [136,231] let s:lib.Codec.encoding_table["22563"] = [136,232] let s:lib.Codec.encoding_table["22565"] = [136,233] let s:lib.Codec.encoding_table["22566"] = [136,234] let s:lib.Codec.encoding_table["22567"] = [136,235] let s:lib.Codec.encoding_table["22568"] = [136,236] let s:lib.Codec.encoding_table["22569"] = [136,237] let s:lib.Codec.encoding_table["22571"] = [136,238] let s:lib.Codec.encoding_table["22572"] = [136,239] let s:lib.Codec.encoding_table["22573"] = [136,240] let s:lib.Codec.encoding_table["22574"] = [136,241] let s:lib.Codec.encoding_table["22575"] = [136,242] let s:lib.Codec.encoding_table["22577"] = [136,243] let s:lib.Codec.encoding_table["22578"] = [136,244] let s:lib.Codec.encoding_table["22579"] = [136,245] let s:lib.Codec.encoding_table["22580"] = [136,246] let s:lib.Codec.encoding_table["22582"] = [136,247] let s:lib.Codec.encoding_table["22583"] = [136,248] let s:lib.Codec.encoding_table["22584"] = [136,249] let s:lib.Codec.encoding_table["22585"] = [136,250] let s:lib.Codec.encoding_table["22586"] = [136,251] let s:lib.Codec.encoding_table["22587"] = [136,252] let s:lib.Codec.encoding_table["22588"] = [136,253] let s:lib.Codec.encoding_table["22589"] = [136,254] let s:lib.Codec.encoding_table["22590"] = [137,64] let s:lib.Codec.encoding_table["22591"] = [137,65] let s:lib.Codec.encoding_table["22592"] = [137,66] let s:lib.Codec.encoding_table["22593"] = [137,67] let s:lib.Codec.encoding_table["22594"] = [137,68] let s:lib.Codec.encoding_table["22595"] = [137,69] let s:lib.Codec.encoding_table["22597"] = [137,70] let s:lib.Codec.encoding_table["22598"] = [137,71] let s:lib.Codec.encoding_table["22599"] = [137,72] let s:lib.Codec.encoding_table["22600"] = [137,73] let s:lib.Codec.encoding_table["22601"] = [137,74] let s:lib.Codec.encoding_table["22602"] = [137,75] let s:lib.Codec.encoding_table["22603"] = [137,76] let s:lib.Codec.encoding_table["22606"] = [137,77] let s:lib.Codec.encoding_table["22607"] = [137,78] let s:lib.Codec.encoding_table["22608"] = [137,79] let s:lib.Codec.encoding_table["22610"] = [137,80] let s:lib.Codec.encoding_table["22611"] = [137,81] let s:lib.Codec.encoding_table["22613"] = [137,82] let s:lib.Codec.encoding_table["22614"] = [137,83] let s:lib.Codec.encoding_table["22615"] = [137,84] let s:lib.Codec.encoding_table["22617"] = [137,85] let s:lib.Codec.encoding_table["22618"] = [137,86] let s:lib.Codec.encoding_table["22619"] = [137,87] let s:lib.Codec.encoding_table["22620"] = [137,88] let s:lib.Codec.encoding_table["22621"] = [137,89] let s:lib.Codec.encoding_table["22623"] = [137,90] let s:lib.Codec.encoding_table["22624"] = [137,91] let s:lib.Codec.encoding_table["22625"] = [137,92] let s:lib.Codec.encoding_table["22626"] = [137,93] let s:lib.Codec.encoding_table["22627"] = [137,94] let s:lib.Codec.encoding_table["22628"] = [137,95] let s:lib.Codec.encoding_table["22630"] = [137,96] let s:lib.Codec.encoding_table["22631"] = [137,97] let s:lib.Codec.encoding_table["22632"] = [137,98] let s:lib.Codec.encoding_table["22633"] = [137,99] let s:lib.Codec.encoding_table["22634"] = [137,100] let s:lib.Codec.encoding_table["22637"] = [137,101] let s:lib.Codec.encoding_table["22638"] = [137,102] let s:lib.Codec.encoding_table["22639"] = [137,103] let s:lib.Codec.encoding_table["22640"] = [137,104] let s:lib.Codec.encoding_table["22641"] = [137,105] let s:lib.Codec.encoding_table["22642"] = [137,106] let s:lib.Codec.encoding_table["22643"] = [137,107] let s:lib.Codec.encoding_table["22644"] = [137,108] let s:lib.Codec.encoding_table["22645"] = [137,109] let s:lib.Codec.encoding_table["22646"] = [137,110] let s:lib.Codec.encoding_table["22647"] = [137,111] let s:lib.Codec.encoding_table["22648"] = [137,112] let s:lib.Codec.encoding_table["22649"] = [137,113] let s:lib.Codec.encoding_table["22650"] = [137,114] let s:lib.Codec.encoding_table["22651"] = [137,115] let s:lib.Codec.encoding_table["22652"] = [137,116] let s:lib.Codec.encoding_table["22653"] = [137,117] let s:lib.Codec.encoding_table["22655"] = [137,118] let s:lib.Codec.encoding_table["22658"] = [137,119] let s:lib.Codec.encoding_table["22660"] = [137,120] let s:lib.Codec.encoding_table["22662"] = [137,121] let s:lib.Codec.encoding_table["22663"] = [137,122] let s:lib.Codec.encoding_table["22664"] = [137,123] let s:lib.Codec.encoding_table["22666"] = [137,124] let s:lib.Codec.encoding_table["22667"] = [137,125] let s:lib.Codec.encoding_table["22668"] = [137,126] let s:lib.Codec.encoding_table["22669"] = [137,128] let s:lib.Codec.encoding_table["22670"] = [137,129] let s:lib.Codec.encoding_table["22671"] = [137,130] let s:lib.Codec.encoding_table["22672"] = [137,131] let s:lib.Codec.encoding_table["22673"] = [137,132] let s:lib.Codec.encoding_table["22676"] = [137,133] let s:lib.Codec.encoding_table["22677"] = [137,134] let s:lib.Codec.encoding_table["22678"] = [137,135] let s:lib.Codec.encoding_table["22679"] = [137,136] let s:lib.Codec.encoding_table["22680"] = [137,137] let s:lib.Codec.encoding_table["22683"] = [137,138] let s:lib.Codec.encoding_table["22684"] = [137,139] let s:lib.Codec.encoding_table["22685"] = [137,140] let s:lib.Codec.encoding_table["22688"] = [137,141] let s:lib.Codec.encoding_table["22689"] = [137,142] let s:lib.Codec.encoding_table["22690"] = [137,143] let s:lib.Codec.encoding_table["22691"] = [137,144] let s:lib.Codec.encoding_table["22692"] = [137,145] let s:lib.Codec.encoding_table["22693"] = [137,146] let s:lib.Codec.encoding_table["22694"] = [137,147] let s:lib.Codec.encoding_table["22695"] = [137,148] let s:lib.Codec.encoding_table["22698"] = [137,149] let s:lib.Codec.encoding_table["22699"] = [137,150] let s:lib.Codec.encoding_table["22700"] = [137,151] let s:lib.Codec.encoding_table["22701"] = [137,152] let s:lib.Codec.encoding_table["22702"] = [137,153] let s:lib.Codec.encoding_table["22703"] = [137,154] let s:lib.Codec.encoding_table["22704"] = [137,155] let s:lib.Codec.encoding_table["22705"] = [137,156] let s:lib.Codec.encoding_table["22706"] = [137,157] let s:lib.Codec.encoding_table["22707"] = [137,158] let s:lib.Codec.encoding_table["22708"] = [137,159] let s:lib.Codec.encoding_table["22709"] = [137,160] let s:lib.Codec.encoding_table["22710"] = [137,161] let s:lib.Codec.encoding_table["22711"] = [137,162] let s:lib.Codec.encoding_table["22712"] = [137,163] let s:lib.Codec.encoding_table["22713"] = [137,164] let s:lib.Codec.encoding_table["22714"] = [137,165] let s:lib.Codec.encoding_table["22715"] = [137,166] let s:lib.Codec.encoding_table["22717"] = [137,167] let s:lib.Codec.encoding_table["22718"] = [137,168] let s:lib.Codec.encoding_table["22719"] = [137,169] let s:lib.Codec.encoding_table["22720"] = [137,170] let s:lib.Codec.encoding_table["22722"] = [137,171] let s:lib.Codec.encoding_table["22723"] = [137,172] let s:lib.Codec.encoding_table["22724"] = [137,173] let s:lib.Codec.encoding_table["22726"] = [137,174] let s:lib.Codec.encoding_table["22727"] = [137,175] let s:lib.Codec.encoding_table["22728"] = [137,176] let s:lib.Codec.encoding_table["22729"] = [137,177] let s:lib.Codec.encoding_table["22730"] = [137,178] let s:lib.Codec.encoding_table["22731"] = [137,179] let s:lib.Codec.encoding_table["22732"] = [137,180] let s:lib.Codec.encoding_table["22733"] = [137,181] let s:lib.Codec.encoding_table["22734"] = [137,182] let s:lib.Codec.encoding_table["22735"] = [137,183] let s:lib.Codec.encoding_table["22736"] = [137,184] let s:lib.Codec.encoding_table["22738"] = [137,185] let s:lib.Codec.encoding_table["22739"] = [137,186] let s:lib.Codec.encoding_table["22740"] = [137,187] let s:lib.Codec.encoding_table["22742"] = [137,188] let s:lib.Codec.encoding_table["22743"] = [137,189] let s:lib.Codec.encoding_table["22744"] = [137,190] let s:lib.Codec.encoding_table["22745"] = [137,191] let s:lib.Codec.encoding_table["22746"] = [137,192] let s:lib.Codec.encoding_table["22747"] = [137,193] let s:lib.Codec.encoding_table["22748"] = [137,194] let s:lib.Codec.encoding_table["22749"] = [137,195] let s:lib.Codec.encoding_table["22750"] = [137,196] let s:lib.Codec.encoding_table["22751"] = [137,197] let s:lib.Codec.encoding_table["22752"] = [137,198] let s:lib.Codec.encoding_table["22753"] = [137,199] let s:lib.Codec.encoding_table["22754"] = [137,200] let s:lib.Codec.encoding_table["22755"] = [137,201] let s:lib.Codec.encoding_table["22757"] = [137,202] let s:lib.Codec.encoding_table["22758"] = [137,203] let s:lib.Codec.encoding_table["22759"] = [137,204] let s:lib.Codec.encoding_table["22760"] = [137,205] let s:lib.Codec.encoding_table["22761"] = [137,206] let s:lib.Codec.encoding_table["22762"] = [137,207] let s:lib.Codec.encoding_table["22765"] = [137,208] let s:lib.Codec.encoding_table["22767"] = [137,209] let s:lib.Codec.encoding_table["22769"] = [137,210] let s:lib.Codec.encoding_table["22770"] = [137,211] let s:lib.Codec.encoding_table["22772"] = [137,212] let s:lib.Codec.encoding_table["22773"] = [137,213] let s:lib.Codec.encoding_table["22775"] = [137,214] let s:lib.Codec.encoding_table["22776"] = [137,215] let s:lib.Codec.encoding_table["22778"] = [137,216] let s:lib.Codec.encoding_table["22779"] = [137,217] let s:lib.Codec.encoding_table["22780"] = [137,218] let s:lib.Codec.encoding_table["22781"] = [137,219] let s:lib.Codec.encoding_table["22782"] = [137,220] let s:lib.Codec.encoding_table["22783"] = [137,221] let s:lib.Codec.encoding_table["22784"] = [137,222] let s:lib.Codec.encoding_table["22785"] = [137,223] let s:lib.Codec.encoding_table["22787"] = [137,224] let s:lib.Codec.encoding_table["22789"] = [137,225] let s:lib.Codec.encoding_table["22790"] = [137,226] let s:lib.Codec.encoding_table["22792"] = [137,227] let s:lib.Codec.encoding_table["22793"] = [137,228] let s:lib.Codec.encoding_table["22794"] = [137,229] let s:lib.Codec.encoding_table["22795"] = [137,230] let s:lib.Codec.encoding_table["22796"] = [137,231] let s:lib.Codec.encoding_table["22798"] = [137,232] let s:lib.Codec.encoding_table["22800"] = [137,233] let s:lib.Codec.encoding_table["22801"] = [137,234] let s:lib.Codec.encoding_table["22802"] = [137,235] let s:lib.Codec.encoding_table["22803"] = [137,236] let s:lib.Codec.encoding_table["22807"] = [137,237] let s:lib.Codec.encoding_table["22808"] = [137,238] let s:lib.Codec.encoding_table["22811"] = [137,239] let s:lib.Codec.encoding_table["22813"] = [137,240] let s:lib.Codec.encoding_table["22814"] = [137,241] let s:lib.Codec.encoding_table["22816"] = [137,242] let s:lib.Codec.encoding_table["22817"] = [137,243] let s:lib.Codec.encoding_table["22818"] = [137,244] let s:lib.Codec.encoding_table["22819"] = [137,245] let s:lib.Codec.encoding_table["22822"] = [137,246] let s:lib.Codec.encoding_table["22824"] = [137,247] let s:lib.Codec.encoding_table["22828"] = [137,248] let s:lib.Codec.encoding_table["22832"] = [137,249] let s:lib.Codec.encoding_table["22834"] = [137,250] let s:lib.Codec.encoding_table["22835"] = [137,251] let s:lib.Codec.encoding_table["22837"] = [137,252] let s:lib.Codec.encoding_table["22838"] = [137,253] let s:lib.Codec.encoding_table["22843"] = [137,254] let s:lib.Codec.encoding_table["22845"] = [138,64] let s:lib.Codec.encoding_table["22846"] = [138,65] let s:lib.Codec.encoding_table["22847"] = [138,66] let s:lib.Codec.encoding_table["22848"] = [138,67] let s:lib.Codec.encoding_table["22851"] = [138,68] let s:lib.Codec.encoding_table["22853"] = [138,69] let s:lib.Codec.encoding_table["22854"] = [138,70] let s:lib.Codec.encoding_table["22858"] = [138,71] let s:lib.Codec.encoding_table["22860"] = [138,72] let s:lib.Codec.encoding_table["22861"] = [138,73] let s:lib.Codec.encoding_table["22864"] = [138,74] let s:lib.Codec.encoding_table["22866"] = [138,75] let s:lib.Codec.encoding_table["22867"] = [138,76] let s:lib.Codec.encoding_table["22873"] = [138,77] let s:lib.Codec.encoding_table["22875"] = [138,78] let s:lib.Codec.encoding_table["22876"] = [138,79] let s:lib.Codec.encoding_table["22877"] = [138,80] let s:lib.Codec.encoding_table["22878"] = [138,81] let s:lib.Codec.encoding_table["22879"] = [138,82] let s:lib.Codec.encoding_table["22881"] = [138,83] let s:lib.Codec.encoding_table["22883"] = [138,84] let s:lib.Codec.encoding_table["22884"] = [138,85] let s:lib.Codec.encoding_table["22886"] = [138,86] let s:lib.Codec.encoding_table["22887"] = [138,87] let s:lib.Codec.encoding_table["22888"] = [138,88] let s:lib.Codec.encoding_table["22889"] = [138,89] let s:lib.Codec.encoding_table["22890"] = [138,90] let s:lib.Codec.encoding_table["22891"] = [138,91] let s:lib.Codec.encoding_table["22892"] = [138,92] let s:lib.Codec.encoding_table["22893"] = [138,93] let s:lib.Codec.encoding_table["22894"] = [138,94] let s:lib.Codec.encoding_table["22895"] = [138,95] let s:lib.Codec.encoding_table["22896"] = [138,96] let s:lib.Codec.encoding_table["22897"] = [138,97] let s:lib.Codec.encoding_table["22898"] = [138,98] let s:lib.Codec.encoding_table["22901"] = [138,99] let s:lib.Codec.encoding_table["22903"] = [138,100] let s:lib.Codec.encoding_table["22906"] = [138,101] let s:lib.Codec.encoding_table["22907"] = [138,102] let s:lib.Codec.encoding_table["22908"] = [138,103] let s:lib.Codec.encoding_table["22910"] = [138,104] let s:lib.Codec.encoding_table["22911"] = [138,105] let s:lib.Codec.encoding_table["22912"] = [138,106] let s:lib.Codec.encoding_table["22917"] = [138,107] let s:lib.Codec.encoding_table["22921"] = [138,108] let s:lib.Codec.encoding_table["22923"] = [138,109] let s:lib.Codec.encoding_table["22924"] = [138,110] let s:lib.Codec.encoding_table["22926"] = [138,111] let s:lib.Codec.encoding_table["22927"] = [138,112] let s:lib.Codec.encoding_table["22928"] = [138,113] let s:lib.Codec.encoding_table["22929"] = [138,114] let s:lib.Codec.encoding_table["22932"] = [138,115] let s:lib.Codec.encoding_table["22933"] = [138,116] let s:lib.Codec.encoding_table["22936"] = [138,117] let s:lib.Codec.encoding_table["22938"] = [138,118] let s:lib.Codec.encoding_table["22939"] = [138,119] let s:lib.Codec.encoding_table["22940"] = [138,120] let s:lib.Codec.encoding_table["22941"] = [138,121] let s:lib.Codec.encoding_table["22943"] = [138,122] let s:lib.Codec.encoding_table["22944"] = [138,123] let s:lib.Codec.encoding_table["22945"] = [138,124] let s:lib.Codec.encoding_table["22946"] = [138,125] let s:lib.Codec.encoding_table["22950"] = [138,126] let s:lib.Codec.encoding_table["22951"] = [138,128] let s:lib.Codec.encoding_table["22956"] = [138,129] let s:lib.Codec.encoding_table["22957"] = [138,130] let s:lib.Codec.encoding_table["22960"] = [138,131] let s:lib.Codec.encoding_table["22961"] = [138,132] let s:lib.Codec.encoding_table["22963"] = [138,133] let s:lib.Codec.encoding_table["22964"] = [138,134] let s:lib.Codec.encoding_table["22965"] = [138,135] let s:lib.Codec.encoding_table["22966"] = [138,136] let s:lib.Codec.encoding_table["22967"] = [138,137] let s:lib.Codec.encoding_table["22968"] = [138,138] let s:lib.Codec.encoding_table["22970"] = [138,139] let s:lib.Codec.encoding_table["22972"] = [138,140] let s:lib.Codec.encoding_table["22973"] = [138,141] let s:lib.Codec.encoding_table["22975"] = [138,142] let s:lib.Codec.encoding_table["22976"] = [138,143] let s:lib.Codec.encoding_table["22977"] = [138,144] let s:lib.Codec.encoding_table["22978"] = [138,145] let s:lib.Codec.encoding_table["22979"] = [138,146] let s:lib.Codec.encoding_table["22980"] = [138,147] let s:lib.Codec.encoding_table["22981"] = [138,148] let s:lib.Codec.encoding_table["22983"] = [138,149] let s:lib.Codec.encoding_table["22984"] = [138,150] let s:lib.Codec.encoding_table["22985"] = [138,151] let s:lib.Codec.encoding_table["22988"] = [138,152] let s:lib.Codec.encoding_table["22989"] = [138,153] let s:lib.Codec.encoding_table["22990"] = [138,154] let s:lib.Codec.encoding_table["22991"] = [138,155] let s:lib.Codec.encoding_table["22997"] = [138,156] let s:lib.Codec.encoding_table["22998"] = [138,157] let s:lib.Codec.encoding_table["23001"] = [138,158] let s:lib.Codec.encoding_table["23003"] = [138,159] let s:lib.Codec.encoding_table["23006"] = [138,160] let s:lib.Codec.encoding_table["23007"] = [138,161] let s:lib.Codec.encoding_table["23008"] = [138,162] let s:lib.Codec.encoding_table["23009"] = [138,163] let s:lib.Codec.encoding_table["23010"] = [138,164] let s:lib.Codec.encoding_table["23012"] = [138,165] let s:lib.Codec.encoding_table["23014"] = [138,166] let s:lib.Codec.encoding_table["23015"] = [138,167] let s:lib.Codec.encoding_table["23017"] = [138,168] let s:lib.Codec.encoding_table["23018"] = [138,169] let s:lib.Codec.encoding_table["23019"] = [138,170] let s:lib.Codec.encoding_table["23021"] = [138,171] let s:lib.Codec.encoding_table["23022"] = [138,172] let s:lib.Codec.encoding_table["23023"] = [138,173] let s:lib.Codec.encoding_table["23024"] = [138,174] let s:lib.Codec.encoding_table["23025"] = [138,175] let s:lib.Codec.encoding_table["23026"] = [138,176] let s:lib.Codec.encoding_table["23027"] = [138,177] let s:lib.Codec.encoding_table["23028"] = [138,178] let s:lib.Codec.encoding_table["23029"] = [138,179] let s:lib.Codec.encoding_table["23030"] = [138,180] let s:lib.Codec.encoding_table["23031"] = [138,181] let s:lib.Codec.encoding_table["23032"] = [138,182] let s:lib.Codec.encoding_table["23034"] = [138,183] let s:lib.Codec.encoding_table["23036"] = [138,184] let s:lib.Codec.encoding_table["23037"] = [138,185] let s:lib.Codec.encoding_table["23038"] = [138,186] let s:lib.Codec.encoding_table["23040"] = [138,187] let s:lib.Codec.encoding_table["23042"] = [138,188] let s:lib.Codec.encoding_table["23050"] = [138,189] let s:lib.Codec.encoding_table["23051"] = [138,190] let s:lib.Codec.encoding_table["23053"] = [138,191] let s:lib.Codec.encoding_table["23054"] = [138,192] let s:lib.Codec.encoding_table["23055"] = [138,193] let s:lib.Codec.encoding_table["23056"] = [138,194] let s:lib.Codec.encoding_table["23058"] = [138,195] let s:lib.Codec.encoding_table["23060"] = [138,196] let s:lib.Codec.encoding_table["23061"] = [138,197] let s:lib.Codec.encoding_table["23062"] = [138,198] let s:lib.Codec.encoding_table["23063"] = [138,199] let s:lib.Codec.encoding_table["23065"] = [138,200] let s:lib.Codec.encoding_table["23066"] = [138,201] let s:lib.Codec.encoding_table["23067"] = [138,202] let s:lib.Codec.encoding_table["23069"] = [138,203] let s:lib.Codec.encoding_table["23070"] = [138,204] let s:lib.Codec.encoding_table["23073"] = [138,205] let s:lib.Codec.encoding_table["23074"] = [138,206] let s:lib.Codec.encoding_table["23076"] = [138,207] let s:lib.Codec.encoding_table["23078"] = [138,208] let s:lib.Codec.encoding_table["23079"] = [138,209] let s:lib.Codec.encoding_table["23080"] = [138,210] let s:lib.Codec.encoding_table["23082"] = [138,211] let s:lib.Codec.encoding_table["23083"] = [138,212] let s:lib.Codec.encoding_table["23084"] = [138,213] let s:lib.Codec.encoding_table["23085"] = [138,214] let s:lib.Codec.encoding_table["23086"] = [138,215] let s:lib.Codec.encoding_table["23087"] = [138,216] let s:lib.Codec.encoding_table["23088"] = [138,217] let s:lib.Codec.encoding_table["23091"] = [138,218] let s:lib.Codec.encoding_table["23093"] = [138,219] let s:lib.Codec.encoding_table["23095"] = [138,220] let s:lib.Codec.encoding_table["23096"] = [138,221] let s:lib.Codec.encoding_table["23097"] = [138,222] let s:lib.Codec.encoding_table["23098"] = [138,223] let s:lib.Codec.encoding_table["23099"] = [138,224] let s:lib.Codec.encoding_table["23101"] = [138,225] let s:lib.Codec.encoding_table["23102"] = [138,226] let s:lib.Codec.encoding_table["23103"] = [138,227] let s:lib.Codec.encoding_table["23105"] = [138,228] let s:lib.Codec.encoding_table["23106"] = [138,229] let s:lib.Codec.encoding_table["23107"] = [138,230] let s:lib.Codec.encoding_table["23108"] = [138,231] let s:lib.Codec.encoding_table["23109"] = [138,232] let s:lib.Codec.encoding_table["23111"] = [138,233] let s:lib.Codec.encoding_table["23112"] = [138,234] let s:lib.Codec.encoding_table["23115"] = [138,235] let s:lib.Codec.encoding_table["23116"] = [138,236] let s:lib.Codec.encoding_table["23117"] = [138,237] let s:lib.Codec.encoding_table["23118"] = [138,238] let s:lib.Codec.encoding_table["23119"] = [138,239] let s:lib.Codec.encoding_table["23120"] = [138,240] let s:lib.Codec.encoding_table["23121"] = [138,241] let s:lib.Codec.encoding_table["23122"] = [138,242] let s:lib.Codec.encoding_table["23123"] = [138,243] let s:lib.Codec.encoding_table["23124"] = [138,244] let s:lib.Codec.encoding_table["23126"] = [138,245] let s:lib.Codec.encoding_table["23127"] = [138,246] let s:lib.Codec.encoding_table["23128"] = [138,247] let s:lib.Codec.encoding_table["23129"] = [138,248] let s:lib.Codec.encoding_table["23131"] = [138,249] let s:lib.Codec.encoding_table["23132"] = [138,250] let s:lib.Codec.encoding_table["23133"] = [138,251] let s:lib.Codec.encoding_table["23134"] = [138,252] let s:lib.Codec.encoding_table["23135"] = [138,253] let s:lib.Codec.encoding_table["23136"] = [138,254] let s:lib.Codec.encoding_table["23137"] = [139,64] let s:lib.Codec.encoding_table["23139"] = [139,65] let s:lib.Codec.encoding_table["23140"] = [139,66] let s:lib.Codec.encoding_table["23141"] = [139,67] let s:lib.Codec.encoding_table["23142"] = [139,68] let s:lib.Codec.encoding_table["23144"] = [139,69] let s:lib.Codec.encoding_table["23145"] = [139,70] let s:lib.Codec.encoding_table["23147"] = [139,71] let s:lib.Codec.encoding_table["23148"] = [139,72] let s:lib.Codec.encoding_table["23149"] = [139,73] let s:lib.Codec.encoding_table["23150"] = [139,74] let s:lib.Codec.encoding_table["23151"] = [139,75] let s:lib.Codec.encoding_table["23152"] = [139,76] let s:lib.Codec.encoding_table["23153"] = [139,77] let s:lib.Codec.encoding_table["23154"] = [139,78] let s:lib.Codec.encoding_table["23155"] = [139,79] let s:lib.Codec.encoding_table["23160"] = [139,80] let s:lib.Codec.encoding_table["23161"] = [139,81] let s:lib.Codec.encoding_table["23163"] = [139,82] let s:lib.Codec.encoding_table["23164"] = [139,83] let s:lib.Codec.encoding_table["23165"] = [139,84] let s:lib.Codec.encoding_table["23166"] = [139,85] let s:lib.Codec.encoding_table["23168"] = [139,86] let s:lib.Codec.encoding_table["23169"] = [139,87] let s:lib.Codec.encoding_table["23170"] = [139,88] let s:lib.Codec.encoding_table["23171"] = [139,89] let s:lib.Codec.encoding_table["23172"] = [139,90] let s:lib.Codec.encoding_table["23173"] = [139,91] let s:lib.Codec.encoding_table["23174"] = [139,92] let s:lib.Codec.encoding_table["23175"] = [139,93] let s:lib.Codec.encoding_table["23176"] = [139,94] let s:lib.Codec.encoding_table["23177"] = [139,95] let s:lib.Codec.encoding_table["23178"] = [139,96] let s:lib.Codec.encoding_table["23179"] = [139,97] let s:lib.Codec.encoding_table["23180"] = [139,98] let s:lib.Codec.encoding_table["23181"] = [139,99] let s:lib.Codec.encoding_table["23182"] = [139,100] let s:lib.Codec.encoding_table["23183"] = [139,101] let s:lib.Codec.encoding_table["23184"] = [139,102] let s:lib.Codec.encoding_table["23185"] = [139,103] let s:lib.Codec.encoding_table["23187"] = [139,104] let s:lib.Codec.encoding_table["23188"] = [139,105] let s:lib.Codec.encoding_table["23189"] = [139,106] let s:lib.Codec.encoding_table["23190"] = [139,107] let s:lib.Codec.encoding_table["23191"] = [139,108] let s:lib.Codec.encoding_table["23192"] = [139,109] let s:lib.Codec.encoding_table["23193"] = [139,110] let s:lib.Codec.encoding_table["23196"] = [139,111] let s:lib.Codec.encoding_table["23197"] = [139,112] let s:lib.Codec.encoding_table["23198"] = [139,113] let s:lib.Codec.encoding_table["23199"] = [139,114] let s:lib.Codec.encoding_table["23200"] = [139,115] let s:lib.Codec.encoding_table["23201"] = [139,116] let s:lib.Codec.encoding_table["23202"] = [139,117] let s:lib.Codec.encoding_table["23203"] = [139,118] let s:lib.Codec.encoding_table["23204"] = [139,119] let s:lib.Codec.encoding_table["23205"] = [139,120] let s:lib.Codec.encoding_table["23206"] = [139,121] let s:lib.Codec.encoding_table["23207"] = [139,122] let s:lib.Codec.encoding_table["23208"] = [139,123] let s:lib.Codec.encoding_table["23209"] = [139,124] let s:lib.Codec.encoding_table["23211"] = [139,125] let s:lib.Codec.encoding_table["23212"] = [139,126] let s:lib.Codec.encoding_table["23213"] = [139,128] let s:lib.Codec.encoding_table["23214"] = [139,129] let s:lib.Codec.encoding_table["23215"] = [139,130] let s:lib.Codec.encoding_table["23216"] = [139,131] let s:lib.Codec.encoding_table["23217"] = [139,132] let s:lib.Codec.encoding_table["23220"] = [139,133] let s:lib.Codec.encoding_table["23222"] = [139,134] let s:lib.Codec.encoding_table["23223"] = [139,135] let s:lib.Codec.encoding_table["23225"] = [139,136] let s:lib.Codec.encoding_table["23226"] = [139,137] let s:lib.Codec.encoding_table["23227"] = [139,138] let s:lib.Codec.encoding_table["23228"] = [139,139] let s:lib.Codec.encoding_table["23229"] = [139,140] let s:lib.Codec.encoding_table["23231"] = [139,141] let s:lib.Codec.encoding_table["23232"] = [139,142] let s:lib.Codec.encoding_table["23235"] = [139,143] let s:lib.Codec.encoding_table["23236"] = [139,144] let s:lib.Codec.encoding_table["23237"] = [139,145] let s:lib.Codec.encoding_table["23238"] = [139,146] let s:lib.Codec.encoding_table["23239"] = [139,147] let s:lib.Codec.encoding_table["23240"] = [139,148] let s:lib.Codec.encoding_table["23242"] = [139,149] let s:lib.Codec.encoding_table["23243"] = [139,150] let s:lib.Codec.encoding_table["23245"] = [139,151] let s:lib.Codec.encoding_table["23246"] = [139,152] let s:lib.Codec.encoding_table["23247"] = [139,153] let s:lib.Codec.encoding_table["23248"] = [139,154] let s:lib.Codec.encoding_table["23249"] = [139,155] let s:lib.Codec.encoding_table["23251"] = [139,156] let s:lib.Codec.encoding_table["23253"] = [139,157] let s:lib.Codec.encoding_table["23255"] = [139,158] let s:lib.Codec.encoding_table["23257"] = [139,159] let s:lib.Codec.encoding_table["23258"] = [139,160] let s:lib.Codec.encoding_table["23259"] = [139,161] let s:lib.Codec.encoding_table["23261"] = [139,162] let s:lib.Codec.encoding_table["23262"] = [139,163] let s:lib.Codec.encoding_table["23263"] = [139,164] let s:lib.Codec.encoding_table["23266"] = [139,165] let s:lib.Codec.encoding_table["23268"] = [139,166] let s:lib.Codec.encoding_table["23269"] = [139,167] let s:lib.Codec.encoding_table["23271"] = [139,168] let s:lib.Codec.encoding_table["23272"] = [139,169] let s:lib.Codec.encoding_table["23274"] = [139,170] let s:lib.Codec.encoding_table["23276"] = [139,171] let s:lib.Codec.encoding_table["23277"] = [139,172] let s:lib.Codec.encoding_table["23278"] = [139,173] let s:lib.Codec.encoding_table["23279"] = [139,174] let s:lib.Codec.encoding_table["23280"] = [139,175] let s:lib.Codec.encoding_table["23282"] = [139,176] let s:lib.Codec.encoding_table["23283"] = [139,177] let s:lib.Codec.encoding_table["23284"] = [139,178] let s:lib.Codec.encoding_table["23285"] = [139,179] let s:lib.Codec.encoding_table["23286"] = [139,180] let s:lib.Codec.encoding_table["23287"] = [139,181] let s:lib.Codec.encoding_table["23288"] = [139,182] let s:lib.Codec.encoding_table["23289"] = [139,183] let s:lib.Codec.encoding_table["23290"] = [139,184] let s:lib.Codec.encoding_table["23291"] = [139,185] let s:lib.Codec.encoding_table["23292"] = [139,186] let s:lib.Codec.encoding_table["23293"] = [139,187] let s:lib.Codec.encoding_table["23294"] = [139,188] let s:lib.Codec.encoding_table["23295"] = [139,189] let s:lib.Codec.encoding_table["23296"] = [139,190] let s:lib.Codec.encoding_table["23297"] = [139,191] let s:lib.Codec.encoding_table["23298"] = [139,192] let s:lib.Codec.encoding_table["23299"] = [139,193] let s:lib.Codec.encoding_table["23300"] = [139,194] let s:lib.Codec.encoding_table["23301"] = [139,195] let s:lib.Codec.encoding_table["23302"] = [139,196] let s:lib.Codec.encoding_table["23303"] = [139,197] let s:lib.Codec.encoding_table["23304"] = [139,198] let s:lib.Codec.encoding_table["23306"] = [139,199] let s:lib.Codec.encoding_table["23307"] = [139,200] let s:lib.Codec.encoding_table["23308"] = [139,201] let s:lib.Codec.encoding_table["23309"] = [139,202] let s:lib.Codec.encoding_table["23310"] = [139,203] let s:lib.Codec.encoding_table["23311"] = [139,204] let s:lib.Codec.encoding_table["23312"] = [139,205] let s:lib.Codec.encoding_table["23313"] = [139,206] let s:lib.Codec.encoding_table["23314"] = [139,207] let s:lib.Codec.encoding_table["23315"] = [139,208] let s:lib.Codec.encoding_table["23316"] = [139,209] let s:lib.Codec.encoding_table["23317"] = [139,210] let s:lib.Codec.encoding_table["23320"] = [139,211] let s:lib.Codec.encoding_table["23321"] = [139,212] let s:lib.Codec.encoding_table["23322"] = [139,213] let s:lib.Codec.encoding_table["23323"] = [139,214] let s:lib.Codec.encoding_table["23324"] = [139,215] let s:lib.Codec.encoding_table["23325"] = [139,216] let s:lib.Codec.encoding_table["23326"] = [139,217] let s:lib.Codec.encoding_table["23327"] = [139,218] let s:lib.Codec.encoding_table["23328"] = [139,219] let s:lib.Codec.encoding_table["23329"] = [139,220] let s:lib.Codec.encoding_table["23330"] = [139,221] let s:lib.Codec.encoding_table["23331"] = [139,222] let s:lib.Codec.encoding_table["23332"] = [139,223] let s:lib.Codec.encoding_table["23333"] = [139,224] let s:lib.Codec.encoding_table["23334"] = [139,225] let s:lib.Codec.encoding_table["23335"] = [139,226] let s:lib.Codec.encoding_table["23336"] = [139,227] let s:lib.Codec.encoding_table["23337"] = [139,228] let s:lib.Codec.encoding_table["23338"] = [139,229] let s:lib.Codec.encoding_table["23339"] = [139,230] let s:lib.Codec.encoding_table["23340"] = [139,231] let s:lib.Codec.encoding_table["23341"] = [139,232] let s:lib.Codec.encoding_table["23342"] = [139,233] let s:lib.Codec.encoding_table["23343"] = [139,234] let s:lib.Codec.encoding_table["23344"] = [139,235] let s:lib.Codec.encoding_table["23345"] = [139,236] let s:lib.Codec.encoding_table["23347"] = [139,237] let s:lib.Codec.encoding_table["23349"] = [139,238] let s:lib.Codec.encoding_table["23350"] = [139,239] let s:lib.Codec.encoding_table["23352"] = [139,240] let s:lib.Codec.encoding_table["23353"] = [139,241] let s:lib.Codec.encoding_table["23354"] = [139,242] let s:lib.Codec.encoding_table["23355"] = [139,243] let s:lib.Codec.encoding_table["23356"] = [139,244] let s:lib.Codec.encoding_table["23357"] = [139,245] let s:lib.Codec.encoding_table["23358"] = [139,246] let s:lib.Codec.encoding_table["23359"] = [139,247] let s:lib.Codec.encoding_table["23361"] = [139,248] let s:lib.Codec.encoding_table["23362"] = [139,249] let s:lib.Codec.encoding_table["23363"] = [139,250] let s:lib.Codec.encoding_table["23364"] = [139,251] let s:lib.Codec.encoding_table["23365"] = [139,252] let s:lib.Codec.encoding_table["23366"] = [139,253] let s:lib.Codec.encoding_table["23367"] = [139,254] let s:lib.Codec.encoding_table["23368"] = [140,64] let s:lib.Codec.encoding_table["23369"] = [140,65] let s:lib.Codec.encoding_table["23370"] = [140,66] let s:lib.Codec.encoding_table["23371"] = [140,67] let s:lib.Codec.encoding_table["23372"] = [140,68] let s:lib.Codec.encoding_table["23373"] = [140,69] let s:lib.Codec.encoding_table["23374"] = [140,70] let s:lib.Codec.encoding_table["23375"] = [140,71] let s:lib.Codec.encoding_table["23378"] = [140,72] let s:lib.Codec.encoding_table["23382"] = [140,73] let s:lib.Codec.encoding_table["23390"] = [140,74] let s:lib.Codec.encoding_table["23392"] = [140,75] let s:lib.Codec.encoding_table["23393"] = [140,76] let s:lib.Codec.encoding_table["23399"] = [140,77] let s:lib.Codec.encoding_table["23400"] = [140,78] let s:lib.Codec.encoding_table["23403"] = [140,79] let s:lib.Codec.encoding_table["23405"] = [140,80] let s:lib.Codec.encoding_table["23406"] = [140,81] let s:lib.Codec.encoding_table["23407"] = [140,82] let s:lib.Codec.encoding_table["23410"] = [140,83] let s:lib.Codec.encoding_table["23412"] = [140,84] let s:lib.Codec.encoding_table["23414"] = [140,85] let s:lib.Codec.encoding_table["23415"] = [140,86] let s:lib.Codec.encoding_table["23416"] = [140,87] let s:lib.Codec.encoding_table["23417"] = [140,88] let s:lib.Codec.encoding_table["23419"] = [140,89] let s:lib.Codec.encoding_table["23420"] = [140,90] let s:lib.Codec.encoding_table["23422"] = [140,91] let s:lib.Codec.encoding_table["23423"] = [140,92] let s:lib.Codec.encoding_table["23426"] = [140,93] let s:lib.Codec.encoding_table["23430"] = [140,94] let s:lib.Codec.encoding_table["23434"] = [140,95] let s:lib.Codec.encoding_table["23437"] = [140,96] let s:lib.Codec.encoding_table["23438"] = [140,97] let s:lib.Codec.encoding_table["23440"] = [140,98] let s:lib.Codec.encoding_table["23441"] = [140,99] let s:lib.Codec.encoding_table["23442"] = [140,100] let s:lib.Codec.encoding_table["23444"] = [140,101] let s:lib.Codec.encoding_table["23446"] = [140,102] let s:lib.Codec.encoding_table["23455"] = [140,103] let s:lib.Codec.encoding_table["23463"] = [140,104] let s:lib.Codec.encoding_table["23464"] = [140,105] let s:lib.Codec.encoding_table["23465"] = [140,106] let s:lib.Codec.encoding_table["23468"] = [140,107] let s:lib.Codec.encoding_table["23469"] = [140,108] let s:lib.Codec.encoding_table["23470"] = [140,109] let s:lib.Codec.encoding_table["23471"] = [140,110] let s:lib.Codec.encoding_table["23473"] = [140,111] let s:lib.Codec.encoding_table["23474"] = [140,112] let s:lib.Codec.encoding_table["23479"] = [140,113] let s:lib.Codec.encoding_table["23482"] = [140,114] let s:lib.Codec.encoding_table["23483"] = [140,115] let s:lib.Codec.encoding_table["23484"] = [140,116] let s:lib.Codec.encoding_table["23488"] = [140,117] let s:lib.Codec.encoding_table["23489"] = [140,118] let s:lib.Codec.encoding_table["23491"] = [140,119] let s:lib.Codec.encoding_table["23496"] = [140,120] let s:lib.Codec.encoding_table["23497"] = [140,121] let s:lib.Codec.encoding_table["23498"] = [140,122] let s:lib.Codec.encoding_table["23499"] = [140,123] let s:lib.Codec.encoding_table["23501"] = [140,124] let s:lib.Codec.encoding_table["23502"] = [140,125] let s:lib.Codec.encoding_table["23503"] = [140,126] let s:lib.Codec.encoding_table["23505"] = [140,128] let s:lib.Codec.encoding_table["23508"] = [140,129] let s:lib.Codec.encoding_table["23509"] = [140,130] let s:lib.Codec.encoding_table["23510"] = [140,131] let s:lib.Codec.encoding_table["23511"] = [140,132] let s:lib.Codec.encoding_table["23512"] = [140,133] let s:lib.Codec.encoding_table["23513"] = [140,134] let s:lib.Codec.encoding_table["23514"] = [140,135] let s:lib.Codec.encoding_table["23515"] = [140,136] let s:lib.Codec.encoding_table["23516"] = [140,137] let s:lib.Codec.encoding_table["23520"] = [140,138] let s:lib.Codec.encoding_table["23522"] = [140,139] let s:lib.Codec.encoding_table["23523"] = [140,140] let s:lib.Codec.encoding_table["23526"] = [140,141] let s:lib.Codec.encoding_table["23527"] = [140,142] let s:lib.Codec.encoding_table["23529"] = [140,143] let s:lib.Codec.encoding_table["23530"] = [140,144] let s:lib.Codec.encoding_table["23531"] = [140,145] let s:lib.Codec.encoding_table["23532"] = [140,146] let s:lib.Codec.encoding_table["23533"] = [140,147] let s:lib.Codec.encoding_table["23535"] = [140,148] let s:lib.Codec.encoding_table["23537"] = [140,149] let s:lib.Codec.encoding_table["23538"] = [140,150] let s:lib.Codec.encoding_table["23539"] = [140,151] let s:lib.Codec.encoding_table["23540"] = [140,152] let s:lib.Codec.encoding_table["23541"] = [140,153] let s:lib.Codec.encoding_table["23542"] = [140,154] let s:lib.Codec.encoding_table["23543"] = [140,155] let s:lib.Codec.encoding_table["23549"] = [140,156] let s:lib.Codec.encoding_table["23550"] = [140,157] let s:lib.Codec.encoding_table["23552"] = [140,158] let s:lib.Codec.encoding_table["23554"] = [140,159] let s:lib.Codec.encoding_table["23555"] = [140,160] let s:lib.Codec.encoding_table["23557"] = [140,161] let s:lib.Codec.encoding_table["23559"] = [140,162] let s:lib.Codec.encoding_table["23560"] = [140,163] let s:lib.Codec.encoding_table["23563"] = [140,164] let s:lib.Codec.encoding_table["23564"] = [140,165] let s:lib.Codec.encoding_table["23565"] = [140,166] let s:lib.Codec.encoding_table["23566"] = [140,167] let s:lib.Codec.encoding_table["23568"] = [140,168] let s:lib.Codec.encoding_table["23570"] = [140,169] let s:lib.Codec.encoding_table["23571"] = [140,170] let s:lib.Codec.encoding_table["23575"] = [140,171] let s:lib.Codec.encoding_table["23577"] = [140,172] let s:lib.Codec.encoding_table["23579"] = [140,173] let s:lib.Codec.encoding_table["23582"] = [140,174] let s:lib.Codec.encoding_table["23583"] = [140,175] let s:lib.Codec.encoding_table["23584"] = [140,176] let s:lib.Codec.encoding_table["23585"] = [140,177] let s:lib.Codec.encoding_table["23587"] = [140,178] let s:lib.Codec.encoding_table["23590"] = [140,179] let s:lib.Codec.encoding_table["23592"] = [140,180] let s:lib.Codec.encoding_table["23593"] = [140,181] let s:lib.Codec.encoding_table["23594"] = [140,182] let s:lib.Codec.encoding_table["23595"] = [140,183] let s:lib.Codec.encoding_table["23597"] = [140,184] let s:lib.Codec.encoding_table["23598"] = [140,185] let s:lib.Codec.encoding_table["23599"] = [140,186] let s:lib.Codec.encoding_table["23600"] = [140,187] let s:lib.Codec.encoding_table["23602"] = [140,188] let s:lib.Codec.encoding_table["23603"] = [140,189] let s:lib.Codec.encoding_table["23605"] = [140,190] let s:lib.Codec.encoding_table["23606"] = [140,191] let s:lib.Codec.encoding_table["23607"] = [140,192] let s:lib.Codec.encoding_table["23619"] = [140,193] let s:lib.Codec.encoding_table["23620"] = [140,194] let s:lib.Codec.encoding_table["23622"] = [140,195] let s:lib.Codec.encoding_table["23623"] = [140,196] let s:lib.Codec.encoding_table["23628"] = [140,197] let s:lib.Codec.encoding_table["23629"] = [140,198] let s:lib.Codec.encoding_table["23634"] = [140,199] let s:lib.Codec.encoding_table["23635"] = [140,200] let s:lib.Codec.encoding_table["23636"] = [140,201] let s:lib.Codec.encoding_table["23638"] = [140,202] let s:lib.Codec.encoding_table["23639"] = [140,203] let s:lib.Codec.encoding_table["23640"] = [140,204] let s:lib.Codec.encoding_table["23642"] = [140,205] let s:lib.Codec.encoding_table["23643"] = [140,206] let s:lib.Codec.encoding_table["23644"] = [140,207] let s:lib.Codec.encoding_table["23645"] = [140,208] let s:lib.Codec.encoding_table["23647"] = [140,209] let s:lib.Codec.encoding_table["23650"] = [140,210] let s:lib.Codec.encoding_table["23652"] = [140,211] let s:lib.Codec.encoding_table["23655"] = [140,212] let s:lib.Codec.encoding_table["23656"] = [140,213] let s:lib.Codec.encoding_table["23657"] = [140,214] let s:lib.Codec.encoding_table["23658"] = [140,215] let s:lib.Codec.encoding_table["23659"] = [140,216] let s:lib.Codec.encoding_table["23660"] = [140,217] let s:lib.Codec.encoding_table["23661"] = [140,218] let s:lib.Codec.encoding_table["23664"] = [140,219] let s:lib.Codec.encoding_table["23666"] = [140,220] let s:lib.Codec.encoding_table["23667"] = [140,221] let s:lib.Codec.encoding_table["23668"] = [140,222] let s:lib.Codec.encoding_table["23669"] = [140,223] let s:lib.Codec.encoding_table["23670"] = [140,224] let s:lib.Codec.encoding_table["23671"] = [140,225] let s:lib.Codec.encoding_table["23672"] = [140,226] let s:lib.Codec.encoding_table["23675"] = [140,227] let s:lib.Codec.encoding_table["23676"] = [140,228] let s:lib.Codec.encoding_table["23677"] = [140,229] let s:lib.Codec.encoding_table["23678"] = [140,230] let s:lib.Codec.encoding_table["23680"] = [140,231] let s:lib.Codec.encoding_table["23683"] = [140,232] let s:lib.Codec.encoding_table["23684"] = [140,233] let s:lib.Codec.encoding_table["23685"] = [140,234] let s:lib.Codec.encoding_table["23686"] = [140,235] let s:lib.Codec.encoding_table["23687"] = [140,236] let s:lib.Codec.encoding_table["23689"] = [140,237] let s:lib.Codec.encoding_table["23690"] = [140,238] let s:lib.Codec.encoding_table["23691"] = [140,239] let s:lib.Codec.encoding_table["23694"] = [140,240] let s:lib.Codec.encoding_table["23695"] = [140,241] let s:lib.Codec.encoding_table["23698"] = [140,242] let s:lib.Codec.encoding_table["23699"] = [140,243] let s:lib.Codec.encoding_table["23701"] = [140,244] let s:lib.Codec.encoding_table["23709"] = [140,245] let s:lib.Codec.encoding_table["23710"] = [140,246] let s:lib.Codec.encoding_table["23711"] = [140,247] let s:lib.Codec.encoding_table["23712"] = [140,248] let s:lib.Codec.encoding_table["23713"] = [140,249] let s:lib.Codec.encoding_table["23716"] = [140,250] let s:lib.Codec.encoding_table["23717"] = [140,251] let s:lib.Codec.encoding_table["23718"] = [140,252] let s:lib.Codec.encoding_table["23719"] = [140,253] let s:lib.Codec.encoding_table["23720"] = [140,254] let s:lib.Codec.encoding_table["23722"] = [141,64] let s:lib.Codec.encoding_table["23726"] = [141,65] let s:lib.Codec.encoding_table["23727"] = [141,66] let s:lib.Codec.encoding_table["23728"] = [141,67] let s:lib.Codec.encoding_table["23730"] = [141,68] let s:lib.Codec.encoding_table["23732"] = [141,69] let s:lib.Codec.encoding_table["23734"] = [141,70] let s:lib.Codec.encoding_table["23737"] = [141,71] let s:lib.Codec.encoding_table["23738"] = [141,72] let s:lib.Codec.encoding_table["23739"] = [141,73] let s:lib.Codec.encoding_table["23740"] = [141,74] let s:lib.Codec.encoding_table["23742"] = [141,75] let s:lib.Codec.encoding_table["23744"] = [141,76] let s:lib.Codec.encoding_table["23746"] = [141,77] let s:lib.Codec.encoding_table["23747"] = [141,78] let s:lib.Codec.encoding_table["23749"] = [141,79] let s:lib.Codec.encoding_table["23750"] = [141,80] let s:lib.Codec.encoding_table["23751"] = [141,81] let s:lib.Codec.encoding_table["23752"] = [141,82] let s:lib.Codec.encoding_table["23753"] = [141,83] let s:lib.Codec.encoding_table["23754"] = [141,84] let s:lib.Codec.encoding_table["23756"] = [141,85] let s:lib.Codec.encoding_table["23757"] = [141,86] let s:lib.Codec.encoding_table["23758"] = [141,87] let s:lib.Codec.encoding_table["23759"] = [141,88] let s:lib.Codec.encoding_table["23760"] = [141,89] let s:lib.Codec.encoding_table["23761"] = [141,90] let s:lib.Codec.encoding_table["23763"] = [141,91] let s:lib.Codec.encoding_table["23764"] = [141,92] let s:lib.Codec.encoding_table["23765"] = [141,93] let s:lib.Codec.encoding_table["23766"] = [141,94] let s:lib.Codec.encoding_table["23767"] = [141,95] let s:lib.Codec.encoding_table["23768"] = [141,96] let s:lib.Codec.encoding_table["23770"] = [141,97] let s:lib.Codec.encoding_table["23771"] = [141,98] let s:lib.Codec.encoding_table["23772"] = [141,99] let s:lib.Codec.encoding_table["23773"] = [141,100] let s:lib.Codec.encoding_table["23774"] = [141,101] let s:lib.Codec.encoding_table["23775"] = [141,102] let s:lib.Codec.encoding_table["23776"] = [141,103] let s:lib.Codec.encoding_table["23778"] = [141,104] let s:lib.Codec.encoding_table["23779"] = [141,105] let s:lib.Codec.encoding_table["23783"] = [141,106] let s:lib.Codec.encoding_table["23785"] = [141,107] let s:lib.Codec.encoding_table["23787"] = [141,108] let s:lib.Codec.encoding_table["23788"] = [141,109] let s:lib.Codec.encoding_table["23790"] = [141,110] let s:lib.Codec.encoding_table["23791"] = [141,111] let s:lib.Codec.encoding_table["23793"] = [141,112] let s:lib.Codec.encoding_table["23794"] = [141,113] let s:lib.Codec.encoding_table["23795"] = [141,114] let s:lib.Codec.encoding_table["23796"] = [141,115] let s:lib.Codec.encoding_table["23797"] = [141,116] let s:lib.Codec.encoding_table["23798"] = [141,117] let s:lib.Codec.encoding_table["23799"] = [141,118] let s:lib.Codec.encoding_table["23800"] = [141,119] let s:lib.Codec.encoding_table["23801"] = [141,120] let s:lib.Codec.encoding_table["23802"] = [141,121] let s:lib.Codec.encoding_table["23804"] = [141,122] let s:lib.Codec.encoding_table["23805"] = [141,123] let s:lib.Codec.encoding_table["23806"] = [141,124] let s:lib.Codec.encoding_table["23807"] = [141,125] let s:lib.Codec.encoding_table["23808"] = [141,126] let s:lib.Codec.encoding_table["23809"] = [141,128] let s:lib.Codec.encoding_table["23812"] = [141,129] let s:lib.Codec.encoding_table["23813"] = [141,130] let s:lib.Codec.encoding_table["23816"] = [141,131] let s:lib.Codec.encoding_table["23817"] = [141,132] let s:lib.Codec.encoding_table["23818"] = [141,133] let s:lib.Codec.encoding_table["23819"] = [141,134] let s:lib.Codec.encoding_table["23820"] = [141,135] let s:lib.Codec.encoding_table["23821"] = [141,136] let s:lib.Codec.encoding_table["23823"] = [141,137] let s:lib.Codec.encoding_table["23824"] = [141,138] let s:lib.Codec.encoding_table["23825"] = [141,139] let s:lib.Codec.encoding_table["23826"] = [141,140] let s:lib.Codec.encoding_table["23827"] = [141,141] let s:lib.Codec.encoding_table["23829"] = [141,142] let s:lib.Codec.encoding_table["23831"] = [141,143] let s:lib.Codec.encoding_table["23832"] = [141,144] let s:lib.Codec.encoding_table["23833"] = [141,145] let s:lib.Codec.encoding_table["23834"] = [141,146] let s:lib.Codec.encoding_table["23836"] = [141,147] let s:lib.Codec.encoding_table["23837"] = [141,148] let s:lib.Codec.encoding_table["23839"] = [141,149] let s:lib.Codec.encoding_table["23840"] = [141,150] let s:lib.Codec.encoding_table["23841"] = [141,151] let s:lib.Codec.encoding_table["23842"] = [141,152] let s:lib.Codec.encoding_table["23843"] = [141,153] let s:lib.Codec.encoding_table["23845"] = [141,154] let s:lib.Codec.encoding_table["23848"] = [141,155] let s:lib.Codec.encoding_table["23850"] = [141,156] let s:lib.Codec.encoding_table["23851"] = [141,157] let s:lib.Codec.encoding_table["23852"] = [141,158] let s:lib.Codec.encoding_table["23855"] = [141,159] let s:lib.Codec.encoding_table["23856"] = [141,160] let s:lib.Codec.encoding_table["23857"] = [141,161] let s:lib.Codec.encoding_table["23858"] = [141,162] let s:lib.Codec.encoding_table["23859"] = [141,163] let s:lib.Codec.encoding_table["23861"] = [141,164] let s:lib.Codec.encoding_table["23862"] = [141,165] let s:lib.Codec.encoding_table["23863"] = [141,166] let s:lib.Codec.encoding_table["23864"] = [141,167] let s:lib.Codec.encoding_table["23865"] = [141,168] let s:lib.Codec.encoding_table["23866"] = [141,169] let s:lib.Codec.encoding_table["23867"] = [141,170] let s:lib.Codec.encoding_table["23868"] = [141,171] let s:lib.Codec.encoding_table["23871"] = [141,172] let s:lib.Codec.encoding_table["23872"] = [141,173] let s:lib.Codec.encoding_table["23873"] = [141,174] let s:lib.Codec.encoding_table["23874"] = [141,175] let s:lib.Codec.encoding_table["23875"] = [141,176] let s:lib.Codec.encoding_table["23876"] = [141,177] let s:lib.Codec.encoding_table["23877"] = [141,178] let s:lib.Codec.encoding_table["23878"] = [141,179] let s:lib.Codec.encoding_table["23880"] = [141,180] let s:lib.Codec.encoding_table["23881"] = [141,181] let s:lib.Codec.encoding_table["23885"] = [141,182] let s:lib.Codec.encoding_table["23886"] = [141,183] let s:lib.Codec.encoding_table["23887"] = [141,184] let s:lib.Codec.encoding_table["23888"] = [141,185] let s:lib.Codec.encoding_table["23889"] = [141,186] let s:lib.Codec.encoding_table["23890"] = [141,187] let s:lib.Codec.encoding_table["23891"] = [141,188] let s:lib.Codec.encoding_table["23892"] = [141,189] let s:lib.Codec.encoding_table["23893"] = [141,190] let s:lib.Codec.encoding_table["23894"] = [141,191] let s:lib.Codec.encoding_table["23895"] = [141,192] let s:lib.Codec.encoding_table["23897"] = [141,193] let s:lib.Codec.encoding_table["23898"] = [141,194] let s:lib.Codec.encoding_table["23900"] = [141,195] let s:lib.Codec.encoding_table["23902"] = [141,196] let s:lib.Codec.encoding_table["23903"] = [141,197] let s:lib.Codec.encoding_table["23904"] = [141,198] let s:lib.Codec.encoding_table["23905"] = [141,199] let s:lib.Codec.encoding_table["23906"] = [141,200] let s:lib.Codec.encoding_table["23907"] = [141,201] let s:lib.Codec.encoding_table["23908"] = [141,202] let s:lib.Codec.encoding_table["23909"] = [141,203] let s:lib.Codec.encoding_table["23910"] = [141,204] let s:lib.Codec.encoding_table["23911"] = [141,205] let s:lib.Codec.encoding_table["23912"] = [141,206] let s:lib.Codec.encoding_table["23914"] = [141,207] let s:lib.Codec.encoding_table["23917"] = [141,208] let s:lib.Codec.encoding_table["23918"] = [141,209] let s:lib.Codec.encoding_table["23920"] = [141,210] let s:lib.Codec.encoding_table["23921"] = [141,211] let s:lib.Codec.encoding_table["23922"] = [141,212] let s:lib.Codec.encoding_table["23923"] = [141,213] let s:lib.Codec.encoding_table["23925"] = [141,214] let s:lib.Codec.encoding_table["23926"] = [141,215] let s:lib.Codec.encoding_table["23927"] = [141,216] let s:lib.Codec.encoding_table["23928"] = [141,217] let s:lib.Codec.encoding_table["23929"] = [141,218] let s:lib.Codec.encoding_table["23930"] = [141,219] let s:lib.Codec.encoding_table["23931"] = [141,220] let s:lib.Codec.encoding_table["23932"] = [141,221] let s:lib.Codec.encoding_table["23933"] = [141,222] let s:lib.Codec.encoding_table["23934"] = [141,223] let s:lib.Codec.encoding_table["23935"] = [141,224] let s:lib.Codec.encoding_table["23936"] = [141,225] let s:lib.Codec.encoding_table["23937"] = [141,226] let s:lib.Codec.encoding_table["23939"] = [141,227] let s:lib.Codec.encoding_table["23940"] = [141,228] let s:lib.Codec.encoding_table["23941"] = [141,229] let s:lib.Codec.encoding_table["23942"] = [141,230] let s:lib.Codec.encoding_table["23943"] = [141,231] let s:lib.Codec.encoding_table["23944"] = [141,232] let s:lib.Codec.encoding_table["23945"] = [141,233] let s:lib.Codec.encoding_table["23946"] = [141,234] let s:lib.Codec.encoding_table["23947"] = [141,235] let s:lib.Codec.encoding_table["23948"] = [141,236] let s:lib.Codec.encoding_table["23949"] = [141,237] let s:lib.Codec.encoding_table["23950"] = [141,238] let s:lib.Codec.encoding_table["23951"] = [141,239] let s:lib.Codec.encoding_table["23952"] = [141,240] let s:lib.Codec.encoding_table["23953"] = [141,241] let s:lib.Codec.encoding_table["23954"] = [141,242] let s:lib.Codec.encoding_table["23955"] = [141,243] let s:lib.Codec.encoding_table["23956"] = [141,244] let s:lib.Codec.encoding_table["23957"] = [141,245] let s:lib.Codec.encoding_table["23958"] = [141,246] let s:lib.Codec.encoding_table["23959"] = [141,247] let s:lib.Codec.encoding_table["23960"] = [141,248] let s:lib.Codec.encoding_table["23962"] = [141,249] let s:lib.Codec.encoding_table["23963"] = [141,250] let s:lib.Codec.encoding_table["23964"] = [141,251] let s:lib.Codec.encoding_table["23966"] = [141,252] let s:lib.Codec.encoding_table["23967"] = [141,253] let s:lib.Codec.encoding_table["23968"] = [141,254] let s:lib.Codec.encoding_table["23969"] = [142,64] let s:lib.Codec.encoding_table["23970"] = [142,65] let s:lib.Codec.encoding_table["23971"] = [142,66] let s:lib.Codec.encoding_table["23972"] = [142,67] let s:lib.Codec.encoding_table["23973"] = [142,68] let s:lib.Codec.encoding_table["23974"] = [142,69] let s:lib.Codec.encoding_table["23975"] = [142,70] let s:lib.Codec.encoding_table["23976"] = [142,71] let s:lib.Codec.encoding_table["23977"] = [142,72] let s:lib.Codec.encoding_table["23978"] = [142,73] let s:lib.Codec.encoding_table["23979"] = [142,74] let s:lib.Codec.encoding_table["23980"] = [142,75] let s:lib.Codec.encoding_table["23981"] = [142,76] let s:lib.Codec.encoding_table["23982"] = [142,77] let s:lib.Codec.encoding_table["23983"] = [142,78] let s:lib.Codec.encoding_table["23984"] = [142,79] let s:lib.Codec.encoding_table["23985"] = [142,80] let s:lib.Codec.encoding_table["23986"] = [142,81] let s:lib.Codec.encoding_table["23987"] = [142,82] let s:lib.Codec.encoding_table["23988"] = [142,83] let s:lib.Codec.encoding_table["23989"] = [142,84] let s:lib.Codec.encoding_table["23990"] = [142,85] let s:lib.Codec.encoding_table["23992"] = [142,86] let s:lib.Codec.encoding_table["23993"] = [142,87] let s:lib.Codec.encoding_table["23994"] = [142,88] let s:lib.Codec.encoding_table["23995"] = [142,89] let s:lib.Codec.encoding_table["23996"] = [142,90] let s:lib.Codec.encoding_table["23997"] = [142,91] let s:lib.Codec.encoding_table["23998"] = [142,92] let s:lib.Codec.encoding_table["23999"] = [142,93] let s:lib.Codec.encoding_table["24000"] = [142,94] let s:lib.Codec.encoding_table["24001"] = [142,95] let s:lib.Codec.encoding_table["24002"] = [142,96] let s:lib.Codec.encoding_table["24003"] = [142,97] let s:lib.Codec.encoding_table["24004"] = [142,98] let s:lib.Codec.encoding_table["24006"] = [142,99] let s:lib.Codec.encoding_table["24007"] = [142,100] let s:lib.Codec.encoding_table["24008"] = [142,101] let s:lib.Codec.encoding_table["24009"] = [142,102] let s:lib.Codec.encoding_table["24010"] = [142,103] let s:lib.Codec.encoding_table["24011"] = [142,104] let s:lib.Codec.encoding_table["24012"] = [142,105] let s:lib.Codec.encoding_table["24014"] = [142,106] let s:lib.Codec.encoding_table["24015"] = [142,107] let s:lib.Codec.encoding_table["24016"] = [142,108] let s:lib.Codec.encoding_table["24017"] = [142,109] let s:lib.Codec.encoding_table["24018"] = [142,110] let s:lib.Codec.encoding_table["24019"] = [142,111] let s:lib.Codec.encoding_table["24020"] = [142,112] let s:lib.Codec.encoding_table["24021"] = [142,113] let s:lib.Codec.encoding_table["24022"] = [142,114] let s:lib.Codec.encoding_table["24023"] = [142,115] let s:lib.Codec.encoding_table["24024"] = [142,116] let s:lib.Codec.encoding_table["24025"] = [142,117] let s:lib.Codec.encoding_table["24026"] = [142,118] let s:lib.Codec.encoding_table["24028"] = [142,119] let s:lib.Codec.encoding_table["24031"] = [142,120] let s:lib.Codec.encoding_table["24032"] = [142,121] let s:lib.Codec.encoding_table["24035"] = [142,122] let s:lib.Codec.encoding_table["24036"] = [142,123] let s:lib.Codec.encoding_table["24042"] = [142,124] let s:lib.Codec.encoding_table["24044"] = [142,125] let s:lib.Codec.encoding_table["24045"] = [142,126] let s:lib.Codec.encoding_table["24048"] = [142,128] let s:lib.Codec.encoding_table["24053"] = [142,129] let s:lib.Codec.encoding_table["24054"] = [142,130] let s:lib.Codec.encoding_table["24056"] = [142,131] let s:lib.Codec.encoding_table["24057"] = [142,132] let s:lib.Codec.encoding_table["24058"] = [142,133] let s:lib.Codec.encoding_table["24059"] = [142,134] let s:lib.Codec.encoding_table["24060"] = [142,135] let s:lib.Codec.encoding_table["24063"] = [142,136] let s:lib.Codec.encoding_table["24064"] = [142,137] let s:lib.Codec.encoding_table["24068"] = [142,138] let s:lib.Codec.encoding_table["24071"] = [142,139] let s:lib.Codec.encoding_table["24073"] = [142,140] let s:lib.Codec.encoding_table["24074"] = [142,141] let s:lib.Codec.encoding_table["24075"] = [142,142] let s:lib.Codec.encoding_table["24077"] = [142,143] let s:lib.Codec.encoding_table["24078"] = [142,144] let s:lib.Codec.encoding_table["24082"] = [142,145] let s:lib.Codec.encoding_table["24083"] = [142,146] let s:lib.Codec.encoding_table["24087"] = [142,147] let s:lib.Codec.encoding_table["24094"] = [142,148] let s:lib.Codec.encoding_table["24095"] = [142,149] let s:lib.Codec.encoding_table["24096"] = [142,150] let s:lib.Codec.encoding_table["24097"] = [142,151] let s:lib.Codec.encoding_table["24098"] = [142,152] let s:lib.Codec.encoding_table["24099"] = [142,153] let s:lib.Codec.encoding_table["24100"] = [142,154] let s:lib.Codec.encoding_table["24101"] = [142,155] let s:lib.Codec.encoding_table["24104"] = [142,156] let s:lib.Codec.encoding_table["24105"] = [142,157] let s:lib.Codec.encoding_table["24106"] = [142,158] let s:lib.Codec.encoding_table["24107"] = [142,159] let s:lib.Codec.encoding_table["24108"] = [142,160] let s:lib.Codec.encoding_table["24111"] = [142,161] let s:lib.Codec.encoding_table["24112"] = [142,162] let s:lib.Codec.encoding_table["24114"] = [142,163] let s:lib.Codec.encoding_table["24115"] = [142,164] let s:lib.Codec.encoding_table["24116"] = [142,165] let s:lib.Codec.encoding_table["24117"] = [142,166] let s:lib.Codec.encoding_table["24118"] = [142,167] let s:lib.Codec.encoding_table["24121"] = [142,168] let s:lib.Codec.encoding_table["24122"] = [142,169] let s:lib.Codec.encoding_table["24126"] = [142,170] let s:lib.Codec.encoding_table["24127"] = [142,171] let s:lib.Codec.encoding_table["24128"] = [142,172] let s:lib.Codec.encoding_table["24129"] = [142,173] let s:lib.Codec.encoding_table["24131"] = [142,174] let s:lib.Codec.encoding_table["24134"] = [142,175] let s:lib.Codec.encoding_table["24135"] = [142,176] let s:lib.Codec.encoding_table["24136"] = [142,177] let s:lib.Codec.encoding_table["24137"] = [142,178] let s:lib.Codec.encoding_table["24138"] = [142,179] let s:lib.Codec.encoding_table["24139"] = [142,180] let s:lib.Codec.encoding_table["24141"] = [142,181] let s:lib.Codec.encoding_table["24142"] = [142,182] let s:lib.Codec.encoding_table["24143"] = [142,183] let s:lib.Codec.encoding_table["24144"] = [142,184] let s:lib.Codec.encoding_table["24145"] = [142,185] let s:lib.Codec.encoding_table["24146"] = [142,186] let s:lib.Codec.encoding_table["24147"] = [142,187] let s:lib.Codec.encoding_table["24150"] = [142,188] let s:lib.Codec.encoding_table["24151"] = [142,189] let s:lib.Codec.encoding_table["24152"] = [142,190] let s:lib.Codec.encoding_table["24153"] = [142,191] let s:lib.Codec.encoding_table["24154"] = [142,192] let s:lib.Codec.encoding_table["24156"] = [142,193] let s:lib.Codec.encoding_table["24157"] = [142,194] let s:lib.Codec.encoding_table["24159"] = [142,195] let s:lib.Codec.encoding_table["24160"] = [142,196] let s:lib.Codec.encoding_table["24163"] = [142,197] let s:lib.Codec.encoding_table["24164"] = [142,198] let s:lib.Codec.encoding_table["24165"] = [142,199] let s:lib.Codec.encoding_table["24166"] = [142,200] let s:lib.Codec.encoding_table["24167"] = [142,201] let s:lib.Codec.encoding_table["24168"] = [142,202] let s:lib.Codec.encoding_table["24169"] = [142,203] let s:lib.Codec.encoding_table["24170"] = [142,204] let s:lib.Codec.encoding_table["24171"] = [142,205] let s:lib.Codec.encoding_table["24172"] = [142,206] let s:lib.Codec.encoding_table["24173"] = [142,207] let s:lib.Codec.encoding_table["24174"] = [142,208] let s:lib.Codec.encoding_table["24175"] = [142,209] let s:lib.Codec.encoding_table["24176"] = [142,210] let s:lib.Codec.encoding_table["24177"] = [142,211] let s:lib.Codec.encoding_table["24181"] = [142,212] let s:lib.Codec.encoding_table["24183"] = [142,213] let s:lib.Codec.encoding_table["24185"] = [142,214] let s:lib.Codec.encoding_table["24190"] = [142,215] let s:lib.Codec.encoding_table["24193"] = [142,216] let s:lib.Codec.encoding_table["24194"] = [142,217] let s:lib.Codec.encoding_table["24195"] = [142,218] let s:lib.Codec.encoding_table["24197"] = [142,219] let s:lib.Codec.encoding_table["24200"] = [142,220] let s:lib.Codec.encoding_table["24201"] = [142,221] let s:lib.Codec.encoding_table["24204"] = [142,222] let s:lib.Codec.encoding_table["24205"] = [142,223] let s:lib.Codec.encoding_table["24206"] = [142,224] let s:lib.Codec.encoding_table["24210"] = [142,225] let s:lib.Codec.encoding_table["24216"] = [142,226] let s:lib.Codec.encoding_table["24219"] = [142,227] let s:lib.Codec.encoding_table["24221"] = [142,228] let s:lib.Codec.encoding_table["24225"] = [142,229] let s:lib.Codec.encoding_table["24226"] = [142,230] let s:lib.Codec.encoding_table["24227"] = [142,231] let s:lib.Codec.encoding_table["24228"] = [142,232] let s:lib.Codec.encoding_table["24232"] = [142,233] let s:lib.Codec.encoding_table["24233"] = [142,234] let s:lib.Codec.encoding_table["24234"] = [142,235] let s:lib.Codec.encoding_table["24235"] = [142,236] let s:lib.Codec.encoding_table["24236"] = [142,237] let s:lib.Codec.encoding_table["24238"] = [142,238] let s:lib.Codec.encoding_table["24239"] = [142,239] let s:lib.Codec.encoding_table["24240"] = [142,240] let s:lib.Codec.encoding_table["24241"] = [142,241] let s:lib.Codec.encoding_table["24242"] = [142,242] let s:lib.Codec.encoding_table["24244"] = [142,243] let s:lib.Codec.encoding_table["24250"] = [142,244] let s:lib.Codec.encoding_table["24251"] = [142,245] let s:lib.Codec.encoding_table["24252"] = [142,246] let s:lib.Codec.encoding_table["24253"] = [142,247] let s:lib.Codec.encoding_table["24255"] = [142,248] let s:lib.Codec.encoding_table["24256"] = [142,249] let s:lib.Codec.encoding_table["24257"] = [142,250] let s:lib.Codec.encoding_table["24258"] = [142,251] let s:lib.Codec.encoding_table["24259"] = [142,252] let s:lib.Codec.encoding_table["24260"] = [142,253] let s:lib.Codec.encoding_table["24261"] = [142,254] let s:lib.Codec.encoding_table["24262"] = [143,64] let s:lib.Codec.encoding_table["24263"] = [143,65] let s:lib.Codec.encoding_table["24264"] = [143,66] let s:lib.Codec.encoding_table["24267"] = [143,67] let s:lib.Codec.encoding_table["24268"] = [143,68] let s:lib.Codec.encoding_table["24269"] = [143,69] let s:lib.Codec.encoding_table["24270"] = [143,70] let s:lib.Codec.encoding_table["24271"] = [143,71] let s:lib.Codec.encoding_table["24272"] = [143,72] let s:lib.Codec.encoding_table["24276"] = [143,73] let s:lib.Codec.encoding_table["24277"] = [143,74] let s:lib.Codec.encoding_table["24279"] = [143,75] let s:lib.Codec.encoding_table["24280"] = [143,76] let s:lib.Codec.encoding_table["24281"] = [143,77] let s:lib.Codec.encoding_table["24282"] = [143,78] let s:lib.Codec.encoding_table["24284"] = [143,79] let s:lib.Codec.encoding_table["24285"] = [143,80] let s:lib.Codec.encoding_table["24286"] = [143,81] let s:lib.Codec.encoding_table["24287"] = [143,82] let s:lib.Codec.encoding_table["24288"] = [143,83] let s:lib.Codec.encoding_table["24289"] = [143,84] let s:lib.Codec.encoding_table["24290"] = [143,85] let s:lib.Codec.encoding_table["24291"] = [143,86] let s:lib.Codec.encoding_table["24292"] = [143,87] let s:lib.Codec.encoding_table["24293"] = [143,88] let s:lib.Codec.encoding_table["24294"] = [143,89] let s:lib.Codec.encoding_table["24295"] = [143,90] let s:lib.Codec.encoding_table["24297"] = [143,91] let s:lib.Codec.encoding_table["24299"] = [143,92] let s:lib.Codec.encoding_table["24300"] = [143,93] let s:lib.Codec.encoding_table["24301"] = [143,94] let s:lib.Codec.encoding_table["24302"] = [143,95] let s:lib.Codec.encoding_table["24303"] = [143,96] let s:lib.Codec.encoding_table["24304"] = [143,97] let s:lib.Codec.encoding_table["24305"] = [143,98] let s:lib.Codec.encoding_table["24306"] = [143,99] let s:lib.Codec.encoding_table["24307"] = [143,100] let s:lib.Codec.encoding_table["24309"] = [143,101] let s:lib.Codec.encoding_table["24312"] = [143,102] let s:lib.Codec.encoding_table["24313"] = [143,103] let s:lib.Codec.encoding_table["24315"] = [143,104] let s:lib.Codec.encoding_table["24316"] = [143,105] let s:lib.Codec.encoding_table["24317"] = [143,106] let s:lib.Codec.encoding_table["24325"] = [143,107] let s:lib.Codec.encoding_table["24326"] = [143,108] let s:lib.Codec.encoding_table["24327"] = [143,109] let s:lib.Codec.encoding_table["24329"] = [143,110] let s:lib.Codec.encoding_table["24332"] = [143,111] let s:lib.Codec.encoding_table["24333"] = [143,112] let s:lib.Codec.encoding_table["24334"] = [143,113] let s:lib.Codec.encoding_table["24336"] = [143,114] let s:lib.Codec.encoding_table["24338"] = [143,115] let s:lib.Codec.encoding_table["24340"] = [143,116] let s:lib.Codec.encoding_table["24342"] = [143,117] let s:lib.Codec.encoding_table["24345"] = [143,118] let s:lib.Codec.encoding_table["24346"] = [143,119] let s:lib.Codec.encoding_table["24348"] = [143,120] let s:lib.Codec.encoding_table["24349"] = [143,121] let s:lib.Codec.encoding_table["24350"] = [143,122] let s:lib.Codec.encoding_table["24353"] = [143,123] let s:lib.Codec.encoding_table["24354"] = [143,124] let s:lib.Codec.encoding_table["24355"] = [143,125] let s:lib.Codec.encoding_table["24356"] = [143,126] let s:lib.Codec.encoding_table["24360"] = [143,128] let s:lib.Codec.encoding_table["24363"] = [143,129] let s:lib.Codec.encoding_table["24364"] = [143,130] let s:lib.Codec.encoding_table["24366"] = [143,131] let s:lib.Codec.encoding_table["24368"] = [143,132] let s:lib.Codec.encoding_table["24370"] = [143,133] let s:lib.Codec.encoding_table["24371"] = [143,134] let s:lib.Codec.encoding_table["24372"] = [143,135] let s:lib.Codec.encoding_table["24373"] = [143,136] let s:lib.Codec.encoding_table["24374"] = [143,137] let s:lib.Codec.encoding_table["24375"] = [143,138] let s:lib.Codec.encoding_table["24376"] = [143,139] let s:lib.Codec.encoding_table["24379"] = [143,140] let s:lib.Codec.encoding_table["24381"] = [143,141] let s:lib.Codec.encoding_table["24382"] = [143,142] let s:lib.Codec.encoding_table["24383"] = [143,143] let s:lib.Codec.encoding_table["24385"] = [143,144] let s:lib.Codec.encoding_table["24386"] = [143,145] let s:lib.Codec.encoding_table["24387"] = [143,146] let s:lib.Codec.encoding_table["24388"] = [143,147] let s:lib.Codec.encoding_table["24389"] = [143,148] let s:lib.Codec.encoding_table["24390"] = [143,149] let s:lib.Codec.encoding_table["24391"] = [143,150] let s:lib.Codec.encoding_table["24392"] = [143,151] let s:lib.Codec.encoding_table["24393"] = [143,152] let s:lib.Codec.encoding_table["24394"] = [143,153] let s:lib.Codec.encoding_table["24395"] = [143,154] let s:lib.Codec.encoding_table["24396"] = [143,155] let s:lib.Codec.encoding_table["24397"] = [143,156] let s:lib.Codec.encoding_table["24398"] = [143,157] let s:lib.Codec.encoding_table["24399"] = [143,158] let s:lib.Codec.encoding_table["24401"] = [143,159] let s:lib.Codec.encoding_table["24404"] = [143,160] let s:lib.Codec.encoding_table["24409"] = [143,161] let s:lib.Codec.encoding_table["24410"] = [143,162] let s:lib.Codec.encoding_table["24411"] = [143,163] let s:lib.Codec.encoding_table["24412"] = [143,164] let s:lib.Codec.encoding_table["24414"] = [143,165] let s:lib.Codec.encoding_table["24415"] = [143,166] let s:lib.Codec.encoding_table["24416"] = [143,167] let s:lib.Codec.encoding_table["24419"] = [143,168] let s:lib.Codec.encoding_table["24421"] = [143,169] let s:lib.Codec.encoding_table["24423"] = [143,170] let s:lib.Codec.encoding_table["24424"] = [143,171] let s:lib.Codec.encoding_table["24427"] = [143,172] let s:lib.Codec.encoding_table["24430"] = [143,173] let s:lib.Codec.encoding_table["24431"] = [143,174] let s:lib.Codec.encoding_table["24434"] = [143,175] let s:lib.Codec.encoding_table["24436"] = [143,176] let s:lib.Codec.encoding_table["24437"] = [143,177] let s:lib.Codec.encoding_table["24438"] = [143,178] let s:lib.Codec.encoding_table["24440"] = [143,179] let s:lib.Codec.encoding_table["24442"] = [143,180] let s:lib.Codec.encoding_table["24445"] = [143,181] let s:lib.Codec.encoding_table["24446"] = [143,182] let s:lib.Codec.encoding_table["24447"] = [143,183] let s:lib.Codec.encoding_table["24451"] = [143,184] let s:lib.Codec.encoding_table["24454"] = [143,185] let s:lib.Codec.encoding_table["24461"] = [143,186] let s:lib.Codec.encoding_table["24462"] = [143,187] let s:lib.Codec.encoding_table["24463"] = [143,188] let s:lib.Codec.encoding_table["24465"] = [143,189] let s:lib.Codec.encoding_table["24467"] = [143,190] let s:lib.Codec.encoding_table["24468"] = [143,191] let s:lib.Codec.encoding_table["24470"] = [143,192] let s:lib.Codec.encoding_table["24474"] = [143,193] let s:lib.Codec.encoding_table["24475"] = [143,194] let s:lib.Codec.encoding_table["24477"] = [143,195] let s:lib.Codec.encoding_table["24478"] = [143,196] let s:lib.Codec.encoding_table["24479"] = [143,197] let s:lib.Codec.encoding_table["24480"] = [143,198] let s:lib.Codec.encoding_table["24482"] = [143,199] let s:lib.Codec.encoding_table["24483"] = [143,200] let s:lib.Codec.encoding_table["24484"] = [143,201] let s:lib.Codec.encoding_table["24485"] = [143,202] let s:lib.Codec.encoding_table["24486"] = [143,203] let s:lib.Codec.encoding_table["24487"] = [143,204] let s:lib.Codec.encoding_table["24489"] = [143,205] let s:lib.Codec.encoding_table["24491"] = [143,206] let s:lib.Codec.encoding_table["24492"] = [143,207] let s:lib.Codec.encoding_table["24495"] = [143,208] let s:lib.Codec.encoding_table["24496"] = [143,209] let s:lib.Codec.encoding_table["24497"] = [143,210] let s:lib.Codec.encoding_table["24498"] = [143,211] let s:lib.Codec.encoding_table["24499"] = [143,212] let s:lib.Codec.encoding_table["24500"] = [143,213] let s:lib.Codec.encoding_table["24502"] = [143,214] let s:lib.Codec.encoding_table["24504"] = [143,215] let s:lib.Codec.encoding_table["24505"] = [143,216] let s:lib.Codec.encoding_table["24506"] = [143,217] let s:lib.Codec.encoding_table["24507"] = [143,218] let s:lib.Codec.encoding_table["24510"] = [143,219] let s:lib.Codec.encoding_table["24511"] = [143,220] let s:lib.Codec.encoding_table["24512"] = [143,221] let s:lib.Codec.encoding_table["24513"] = [143,222] let s:lib.Codec.encoding_table["24514"] = [143,223] let s:lib.Codec.encoding_table["24519"] = [143,224] let s:lib.Codec.encoding_table["24520"] = [143,225] let s:lib.Codec.encoding_table["24522"] = [143,226] let s:lib.Codec.encoding_table["24523"] = [143,227] let s:lib.Codec.encoding_table["24526"] = [143,228] let s:lib.Codec.encoding_table["24531"] = [143,229] let s:lib.Codec.encoding_table["24532"] = [143,230] let s:lib.Codec.encoding_table["24533"] = [143,231] let s:lib.Codec.encoding_table["24538"] = [143,232] let s:lib.Codec.encoding_table["24539"] = [143,233] let s:lib.Codec.encoding_table["24540"] = [143,234] let s:lib.Codec.encoding_table["24542"] = [143,235] let s:lib.Codec.encoding_table["24543"] = [143,236] let s:lib.Codec.encoding_table["24546"] = [143,237] let s:lib.Codec.encoding_table["24547"] = [143,238] let s:lib.Codec.encoding_table["24549"] = [143,239] let s:lib.Codec.encoding_table["24550"] = [143,240] let s:lib.Codec.encoding_table["24552"] = [143,241] let s:lib.Codec.encoding_table["24553"] = [143,242] let s:lib.Codec.encoding_table["24556"] = [143,243] let s:lib.Codec.encoding_table["24559"] = [143,244] let s:lib.Codec.encoding_table["24560"] = [143,245] let s:lib.Codec.encoding_table["24562"] = [143,246] let s:lib.Codec.encoding_table["24563"] = [143,247] let s:lib.Codec.encoding_table["24564"] = [143,248] let s:lib.Codec.encoding_table["24566"] = [143,249] let s:lib.Codec.encoding_table["24567"] = [143,250] let s:lib.Codec.encoding_table["24569"] = [143,251] let s:lib.Codec.encoding_table["24570"] = [143,252] let s:lib.Codec.encoding_table["24572"] = [143,253] let s:lib.Codec.encoding_table["24583"] = [143,254] let s:lib.Codec.encoding_table["24584"] = [144,64] let s:lib.Codec.encoding_table["24585"] = [144,65] let s:lib.Codec.encoding_table["24587"] = [144,66] let s:lib.Codec.encoding_table["24588"] = [144,67] let s:lib.Codec.encoding_table["24592"] = [144,68] let s:lib.Codec.encoding_table["24593"] = [144,69] let s:lib.Codec.encoding_table["24595"] = [144,70] let s:lib.Codec.encoding_table["24599"] = [144,71] let s:lib.Codec.encoding_table["24600"] = [144,72] let s:lib.Codec.encoding_table["24602"] = [144,73] let s:lib.Codec.encoding_table["24606"] = [144,74] let s:lib.Codec.encoding_table["24607"] = [144,75] let s:lib.Codec.encoding_table["24610"] = [144,76] let s:lib.Codec.encoding_table["24611"] = [144,77] let s:lib.Codec.encoding_table["24612"] = [144,78] let s:lib.Codec.encoding_table["24620"] = [144,79] let s:lib.Codec.encoding_table["24621"] = [144,80] let s:lib.Codec.encoding_table["24622"] = [144,81] let s:lib.Codec.encoding_table["24624"] = [144,82] let s:lib.Codec.encoding_table["24625"] = [144,83] let s:lib.Codec.encoding_table["24626"] = [144,84] let s:lib.Codec.encoding_table["24627"] = [144,85] let s:lib.Codec.encoding_table["24628"] = [144,86] let s:lib.Codec.encoding_table["24630"] = [144,87] let s:lib.Codec.encoding_table["24631"] = [144,88] let s:lib.Codec.encoding_table["24632"] = [144,89] let s:lib.Codec.encoding_table["24633"] = [144,90] let s:lib.Codec.encoding_table["24634"] = [144,91] let s:lib.Codec.encoding_table["24637"] = [144,92] let s:lib.Codec.encoding_table["24638"] = [144,93] let s:lib.Codec.encoding_table["24640"] = [144,94] let s:lib.Codec.encoding_table["24644"] = [144,95] let s:lib.Codec.encoding_table["24645"] = [144,96] let s:lib.Codec.encoding_table["24646"] = [144,97] let s:lib.Codec.encoding_table["24647"] = [144,98] let s:lib.Codec.encoding_table["24648"] = [144,99] let s:lib.Codec.encoding_table["24649"] = [144,100] let s:lib.Codec.encoding_table["24650"] = [144,101] let s:lib.Codec.encoding_table["24652"] = [144,102] let s:lib.Codec.encoding_table["24654"] = [144,103] let s:lib.Codec.encoding_table["24655"] = [144,104] let s:lib.Codec.encoding_table["24657"] = [144,105] let s:lib.Codec.encoding_table["24659"] = [144,106] let s:lib.Codec.encoding_table["24660"] = [144,107] let s:lib.Codec.encoding_table["24662"] = [144,108] let s:lib.Codec.encoding_table["24663"] = [144,109] let s:lib.Codec.encoding_table["24664"] = [144,110] let s:lib.Codec.encoding_table["24667"] = [144,111] let s:lib.Codec.encoding_table["24668"] = [144,112] let s:lib.Codec.encoding_table["24670"] = [144,113] let s:lib.Codec.encoding_table["24671"] = [144,114] let s:lib.Codec.encoding_table["24672"] = [144,115] let s:lib.Codec.encoding_table["24673"] = [144,116] let s:lib.Codec.encoding_table["24677"] = [144,117] let s:lib.Codec.encoding_table["24678"] = [144,118] let s:lib.Codec.encoding_table["24686"] = [144,119] let s:lib.Codec.encoding_table["24689"] = [144,120] let s:lib.Codec.encoding_table["24690"] = [144,121] let s:lib.Codec.encoding_table["24692"] = [144,122] let s:lib.Codec.encoding_table["24693"] = [144,123] let s:lib.Codec.encoding_table["24695"] = [144,124] let s:lib.Codec.encoding_table["24702"] = [144,125] let s:lib.Codec.encoding_table["24704"] = [144,126] let s:lib.Codec.encoding_table["24705"] = [144,128] let s:lib.Codec.encoding_table["24706"] = [144,129] let s:lib.Codec.encoding_table["24709"] = [144,130] let s:lib.Codec.encoding_table["24710"] = [144,131] let s:lib.Codec.encoding_table["24711"] = [144,132] let s:lib.Codec.encoding_table["24712"] = [144,133] let s:lib.Codec.encoding_table["24714"] = [144,134] let s:lib.Codec.encoding_table["24715"] = [144,135] let s:lib.Codec.encoding_table["24718"] = [144,136] let s:lib.Codec.encoding_table["24719"] = [144,137] let s:lib.Codec.encoding_table["24720"] = [144,138] let s:lib.Codec.encoding_table["24721"] = [144,139] let s:lib.Codec.encoding_table["24723"] = [144,140] let s:lib.Codec.encoding_table["24725"] = [144,141] let s:lib.Codec.encoding_table["24727"] = [144,142] let s:lib.Codec.encoding_table["24728"] = [144,143] let s:lib.Codec.encoding_table["24729"] = [144,144] let s:lib.Codec.encoding_table["24732"] = [144,145] let s:lib.Codec.encoding_table["24734"] = [144,146] let s:lib.Codec.encoding_table["24737"] = [144,147] let s:lib.Codec.encoding_table["24738"] = [144,148] let s:lib.Codec.encoding_table["24740"] = [144,149] let s:lib.Codec.encoding_table["24741"] = [144,150] let s:lib.Codec.encoding_table["24743"] = [144,151] let s:lib.Codec.encoding_table["24745"] = [144,152] let s:lib.Codec.encoding_table["24746"] = [144,153] let s:lib.Codec.encoding_table["24750"] = [144,154] let s:lib.Codec.encoding_table["24752"] = [144,155] let s:lib.Codec.encoding_table["24755"] = [144,156] let s:lib.Codec.encoding_table["24757"] = [144,157] let s:lib.Codec.encoding_table["24758"] = [144,158] let s:lib.Codec.encoding_table["24759"] = [144,159] let s:lib.Codec.encoding_table["24761"] = [144,160] let s:lib.Codec.encoding_table["24762"] = [144,161] let s:lib.Codec.encoding_table["24765"] = [144,162] let s:lib.Codec.encoding_table["24766"] = [144,163] let s:lib.Codec.encoding_table["24767"] = [144,164] let s:lib.Codec.encoding_table["24768"] = [144,165] let s:lib.Codec.encoding_table["24769"] = [144,166] let s:lib.Codec.encoding_table["24770"] = [144,167] let s:lib.Codec.encoding_table["24771"] = [144,168] let s:lib.Codec.encoding_table["24772"] = [144,169] let s:lib.Codec.encoding_table["24775"] = [144,170] let s:lib.Codec.encoding_table["24776"] = [144,171] let s:lib.Codec.encoding_table["24777"] = [144,172] let s:lib.Codec.encoding_table["24780"] = [144,173] let s:lib.Codec.encoding_table["24781"] = [144,174] let s:lib.Codec.encoding_table["24782"] = [144,175] let s:lib.Codec.encoding_table["24783"] = [144,176] let s:lib.Codec.encoding_table["24784"] = [144,177] let s:lib.Codec.encoding_table["24786"] = [144,178] let s:lib.Codec.encoding_table["24787"] = [144,179] let s:lib.Codec.encoding_table["24788"] = [144,180] let s:lib.Codec.encoding_table["24790"] = [144,181] let s:lib.Codec.encoding_table["24791"] = [144,182] let s:lib.Codec.encoding_table["24793"] = [144,183] let s:lib.Codec.encoding_table["24795"] = [144,184] let s:lib.Codec.encoding_table["24798"] = [144,185] let s:lib.Codec.encoding_table["24801"] = [144,186] let s:lib.Codec.encoding_table["24802"] = [144,187] let s:lib.Codec.encoding_table["24803"] = [144,188] let s:lib.Codec.encoding_table["24804"] = [144,189] let s:lib.Codec.encoding_table["24805"] = [144,190] let s:lib.Codec.encoding_table["24810"] = [144,191] let s:lib.Codec.encoding_table["24817"] = [144,192] let s:lib.Codec.encoding_table["24818"] = [144,193] let s:lib.Codec.encoding_table["24821"] = [144,194] let s:lib.Codec.encoding_table["24823"] = [144,195] let s:lib.Codec.encoding_table["24824"] = [144,196] let s:lib.Codec.encoding_table["24827"] = [144,197] let s:lib.Codec.encoding_table["24828"] = [144,198] let s:lib.Codec.encoding_table["24829"] = [144,199] let s:lib.Codec.encoding_table["24830"] = [144,200] let s:lib.Codec.encoding_table["24831"] = [144,201] let s:lib.Codec.encoding_table["24834"] = [144,202] let s:lib.Codec.encoding_table["24835"] = [144,203] let s:lib.Codec.encoding_table["24836"] = [144,204] let s:lib.Codec.encoding_table["24837"] = [144,205] let s:lib.Codec.encoding_table["24839"] = [144,206] let s:lib.Codec.encoding_table["24842"] = [144,207] let s:lib.Codec.encoding_table["24843"] = [144,208] let s:lib.Codec.encoding_table["24844"] = [144,209] let s:lib.Codec.encoding_table["24848"] = [144,210] let s:lib.Codec.encoding_table["24849"] = [144,211] let s:lib.Codec.encoding_table["24850"] = [144,212] let s:lib.Codec.encoding_table["24851"] = [144,213] let s:lib.Codec.encoding_table["24852"] = [144,214] let s:lib.Codec.encoding_table["24854"] = [144,215] let s:lib.Codec.encoding_table["24855"] = [144,216] let s:lib.Codec.encoding_table["24856"] = [144,217] let s:lib.Codec.encoding_table["24857"] = [144,218] let s:lib.Codec.encoding_table["24859"] = [144,219] let s:lib.Codec.encoding_table["24860"] = [144,220] let s:lib.Codec.encoding_table["24861"] = [144,221] let s:lib.Codec.encoding_table["24862"] = [144,222] let s:lib.Codec.encoding_table["24865"] = [144,223] let s:lib.Codec.encoding_table["24866"] = [144,224] let s:lib.Codec.encoding_table["24869"] = [144,225] let s:lib.Codec.encoding_table["24872"] = [144,226] let s:lib.Codec.encoding_table["24873"] = [144,227] let s:lib.Codec.encoding_table["24874"] = [144,228] let s:lib.Codec.encoding_table["24876"] = [144,229] let s:lib.Codec.encoding_table["24877"] = [144,230] let s:lib.Codec.encoding_table["24878"] = [144,231] let s:lib.Codec.encoding_table["24879"] = [144,232] let s:lib.Codec.encoding_table["24880"] = [144,233] let s:lib.Codec.encoding_table["24881"] = [144,234] let s:lib.Codec.encoding_table["24882"] = [144,235] let s:lib.Codec.encoding_table["24883"] = [144,236] let s:lib.Codec.encoding_table["24884"] = [144,237] let s:lib.Codec.encoding_table["24885"] = [144,238] let s:lib.Codec.encoding_table["24886"] = [144,239] let s:lib.Codec.encoding_table["24887"] = [144,240] let s:lib.Codec.encoding_table["24888"] = [144,241] let s:lib.Codec.encoding_table["24889"] = [144,242] let s:lib.Codec.encoding_table["24890"] = [144,243] let s:lib.Codec.encoding_table["24891"] = [144,244] let s:lib.Codec.encoding_table["24892"] = [144,245] let s:lib.Codec.encoding_table["24893"] = [144,246] let s:lib.Codec.encoding_table["24894"] = [144,247] let s:lib.Codec.encoding_table["24896"] = [144,248] let s:lib.Codec.encoding_table["24897"] = [144,249] let s:lib.Codec.encoding_table["24898"] = [144,250] let s:lib.Codec.encoding_table["24899"] = [144,251] let s:lib.Codec.encoding_table["24900"] = [144,252] let s:lib.Codec.encoding_table["24901"] = [144,253] let s:lib.Codec.encoding_table["24902"] = [144,254] let s:lib.Codec.encoding_table["24903"] = [145,64] let s:lib.Codec.encoding_table["24905"] = [145,65] let s:lib.Codec.encoding_table["24907"] = [145,66] let s:lib.Codec.encoding_table["24909"] = [145,67] let s:lib.Codec.encoding_table["24911"] = [145,68] let s:lib.Codec.encoding_table["24912"] = [145,69] let s:lib.Codec.encoding_table["24914"] = [145,70] let s:lib.Codec.encoding_table["24915"] = [145,71] let s:lib.Codec.encoding_table["24916"] = [145,72] let s:lib.Codec.encoding_table["24918"] = [145,73] let s:lib.Codec.encoding_table["24919"] = [145,74] let s:lib.Codec.encoding_table["24920"] = [145,75] let s:lib.Codec.encoding_table["24921"] = [145,76] let s:lib.Codec.encoding_table["24922"] = [145,77] let s:lib.Codec.encoding_table["24923"] = [145,78] let s:lib.Codec.encoding_table["24924"] = [145,79] let s:lib.Codec.encoding_table["24926"] = [145,80] let s:lib.Codec.encoding_table["24927"] = [145,81] let s:lib.Codec.encoding_table["24928"] = [145,82] let s:lib.Codec.encoding_table["24929"] = [145,83] let s:lib.Codec.encoding_table["24931"] = [145,84] let s:lib.Codec.encoding_table["24932"] = [145,85] let s:lib.Codec.encoding_table["24933"] = [145,86] let s:lib.Codec.encoding_table["24934"] = [145,87] let s:lib.Codec.encoding_table["24937"] = [145,88] let s:lib.Codec.encoding_table["24938"] = [145,89] let s:lib.Codec.encoding_table["24939"] = [145,90] let s:lib.Codec.encoding_table["24940"] = [145,91] let s:lib.Codec.encoding_table["24941"] = [145,92] let s:lib.Codec.encoding_table["24942"] = [145,93] let s:lib.Codec.encoding_table["24943"] = [145,94] let s:lib.Codec.encoding_table["24945"] = [145,95] let s:lib.Codec.encoding_table["24946"] = [145,96] let s:lib.Codec.encoding_table["24947"] = [145,97] let s:lib.Codec.encoding_table["24948"] = [145,98] let s:lib.Codec.encoding_table["24950"] = [145,99] let s:lib.Codec.encoding_table["24952"] = [145,100] let s:lib.Codec.encoding_table["24953"] = [145,101] let s:lib.Codec.encoding_table["24954"] = [145,102] let s:lib.Codec.encoding_table["24955"] = [145,103] let s:lib.Codec.encoding_table["24956"] = [145,104] let s:lib.Codec.encoding_table["24957"] = [145,105] let s:lib.Codec.encoding_table["24958"] = [145,106] let s:lib.Codec.encoding_table["24959"] = [145,107] let s:lib.Codec.encoding_table["24960"] = [145,108] let s:lib.Codec.encoding_table["24961"] = [145,109] let s:lib.Codec.encoding_table["24962"] = [145,110] let s:lib.Codec.encoding_table["24963"] = [145,111] let s:lib.Codec.encoding_table["24964"] = [145,112] let s:lib.Codec.encoding_table["24965"] = [145,113] let s:lib.Codec.encoding_table["24966"] = [145,114] let s:lib.Codec.encoding_table["24967"] = [145,115] let s:lib.Codec.encoding_table["24968"] = [145,116] let s:lib.Codec.encoding_table["24969"] = [145,117] let s:lib.Codec.encoding_table["24970"] = [145,118] let s:lib.Codec.encoding_table["24972"] = [145,119] let s:lib.Codec.encoding_table["24973"] = [145,120] let s:lib.Codec.encoding_table["24975"] = [145,121] let s:lib.Codec.encoding_table["24976"] = [145,122] let s:lib.Codec.encoding_table["24977"] = [145,123] let s:lib.Codec.encoding_table["24978"] = [145,124] let s:lib.Codec.encoding_table["24979"] = [145,125] let s:lib.Codec.encoding_table["24981"] = [145,126] let s:lib.Codec.encoding_table["24982"] = [145,128] let s:lib.Codec.encoding_table["24983"] = [145,129] let s:lib.Codec.encoding_table["24984"] = [145,130] let s:lib.Codec.encoding_table["24985"] = [145,131] let s:lib.Codec.encoding_table["24986"] = [145,132] let s:lib.Codec.encoding_table["24987"] = [145,133] let s:lib.Codec.encoding_table["24988"] = [145,134] let s:lib.Codec.encoding_table["24990"] = [145,135] let s:lib.Codec.encoding_table["24991"] = [145,136] let s:lib.Codec.encoding_table["24992"] = [145,137] let s:lib.Codec.encoding_table["24993"] = [145,138] let s:lib.Codec.encoding_table["24994"] = [145,139] let s:lib.Codec.encoding_table["24995"] = [145,140] let s:lib.Codec.encoding_table["24996"] = [145,141] let s:lib.Codec.encoding_table["24997"] = [145,142] let s:lib.Codec.encoding_table["24998"] = [145,143] let s:lib.Codec.encoding_table["25002"] = [145,144] let s:lib.Codec.encoding_table["25003"] = [145,145] let s:lib.Codec.encoding_table["25005"] = [145,146] let s:lib.Codec.encoding_table["25006"] = [145,147] let s:lib.Codec.encoding_table["25007"] = [145,148] let s:lib.Codec.encoding_table["25008"] = [145,149] let s:lib.Codec.encoding_table["25009"] = [145,150] let s:lib.Codec.encoding_table["25010"] = [145,151] let s:lib.Codec.encoding_table["25011"] = [145,152] let s:lib.Codec.encoding_table["25012"] = [145,153] let s:lib.Codec.encoding_table["25013"] = [145,154] let s:lib.Codec.encoding_table["25014"] = [145,155] let s:lib.Codec.encoding_table["25016"] = [145,156] let s:lib.Codec.encoding_table["25017"] = [145,157] let s:lib.Codec.encoding_table["25018"] = [145,158] let s:lib.Codec.encoding_table["25019"] = [145,159] let s:lib.Codec.encoding_table["25020"] = [145,160] let s:lib.Codec.encoding_table["25021"] = [145,161] let s:lib.Codec.encoding_table["25023"] = [145,162] let s:lib.Codec.encoding_table["25024"] = [145,163] let s:lib.Codec.encoding_table["25025"] = [145,164] let s:lib.Codec.encoding_table["25027"] = [145,165] let s:lib.Codec.encoding_table["25028"] = [145,166] let s:lib.Codec.encoding_table["25029"] = [145,167] let s:lib.Codec.encoding_table["25030"] = [145,168] let s:lib.Codec.encoding_table["25031"] = [145,169] let s:lib.Codec.encoding_table["25033"] = [145,170] let s:lib.Codec.encoding_table["25036"] = [145,171] let s:lib.Codec.encoding_table["25037"] = [145,172] let s:lib.Codec.encoding_table["25038"] = [145,173] let s:lib.Codec.encoding_table["25039"] = [145,174] let s:lib.Codec.encoding_table["25040"] = [145,175] let s:lib.Codec.encoding_table["25043"] = [145,176] let s:lib.Codec.encoding_table["25045"] = [145,177] let s:lib.Codec.encoding_table["25046"] = [145,178] let s:lib.Codec.encoding_table["25047"] = [145,179] let s:lib.Codec.encoding_table["25048"] = [145,180] let s:lib.Codec.encoding_table["25049"] = [145,181] let s:lib.Codec.encoding_table["25050"] = [145,182] let s:lib.Codec.encoding_table["25051"] = [145,183] let s:lib.Codec.encoding_table["25052"] = [145,184] let s:lib.Codec.encoding_table["25053"] = [145,185] let s:lib.Codec.encoding_table["25054"] = [145,186] let s:lib.Codec.encoding_table["25055"] = [145,187] let s:lib.Codec.encoding_table["25056"] = [145,188] let s:lib.Codec.encoding_table["25057"] = [145,189] let s:lib.Codec.encoding_table["25058"] = [145,190] let s:lib.Codec.encoding_table["25059"] = [145,191] let s:lib.Codec.encoding_table["25060"] = [145,192] let s:lib.Codec.encoding_table["25061"] = [145,193] let s:lib.Codec.encoding_table["25063"] = [145,194] let s:lib.Codec.encoding_table["25064"] = [145,195] let s:lib.Codec.encoding_table["25065"] = [145,196] let s:lib.Codec.encoding_table["25066"] = [145,197] let s:lib.Codec.encoding_table["25067"] = [145,198] let s:lib.Codec.encoding_table["25068"] = [145,199] let s:lib.Codec.encoding_table["25069"] = [145,200] let s:lib.Codec.encoding_table["25070"] = [145,201] let s:lib.Codec.encoding_table["25071"] = [145,202] let s:lib.Codec.encoding_table["25072"] = [145,203] let s:lib.Codec.encoding_table["25073"] = [145,204] let s:lib.Codec.encoding_table["25074"] = [145,205] let s:lib.Codec.encoding_table["25075"] = [145,206] let s:lib.Codec.encoding_table["25076"] = [145,207] let s:lib.Codec.encoding_table["25078"] = [145,208] let s:lib.Codec.encoding_table["25079"] = [145,209] let s:lib.Codec.encoding_table["25080"] = [145,210] let s:lib.Codec.encoding_table["25081"] = [145,211] let s:lib.Codec.encoding_table["25082"] = [145,212] let s:lib.Codec.encoding_table["25083"] = [145,213] let s:lib.Codec.encoding_table["25084"] = [145,214] let s:lib.Codec.encoding_table["25085"] = [145,215] let s:lib.Codec.encoding_table["25086"] = [145,216] let s:lib.Codec.encoding_table["25088"] = [145,217] let s:lib.Codec.encoding_table["25089"] = [145,218] let s:lib.Codec.encoding_table["25090"] = [145,219] let s:lib.Codec.encoding_table["25091"] = [145,220] let s:lib.Codec.encoding_table["25092"] = [145,221] let s:lib.Codec.encoding_table["25093"] = [145,222] let s:lib.Codec.encoding_table["25095"] = [145,223] let s:lib.Codec.encoding_table["25097"] = [145,224] let s:lib.Codec.encoding_table["25107"] = [145,225] let s:lib.Codec.encoding_table["25108"] = [145,226] let s:lib.Codec.encoding_table["25113"] = [145,227] let s:lib.Codec.encoding_table["25116"] = [145,228] let s:lib.Codec.encoding_table["25117"] = [145,229] let s:lib.Codec.encoding_table["25118"] = [145,230] let s:lib.Codec.encoding_table["25120"] = [145,231] let s:lib.Codec.encoding_table["25123"] = [145,232] let s:lib.Codec.encoding_table["25126"] = [145,233] let s:lib.Codec.encoding_table["25127"] = [145,234] let s:lib.Codec.encoding_table["25128"] = [145,235] let s:lib.Codec.encoding_table["25129"] = [145,236] let s:lib.Codec.encoding_table["25131"] = [145,237] let s:lib.Codec.encoding_table["25133"] = [145,238] let s:lib.Codec.encoding_table["25135"] = [145,239] let s:lib.Codec.encoding_table["25136"] = [145,240] let s:lib.Codec.encoding_table["25137"] = [145,241] let s:lib.Codec.encoding_table["25138"] = [145,242] let s:lib.Codec.encoding_table["25141"] = [145,243] let s:lib.Codec.encoding_table["25142"] = [145,244] let s:lib.Codec.encoding_table["25144"] = [145,245] let s:lib.Codec.encoding_table["25145"] = [145,246] let s:lib.Codec.encoding_table["25146"] = [145,247] let s:lib.Codec.encoding_table["25147"] = [145,248] let s:lib.Codec.encoding_table["25148"] = [145,249] let s:lib.Codec.encoding_table["25154"] = [145,250] let s:lib.Codec.encoding_table["25156"] = [145,251] let s:lib.Codec.encoding_table["25157"] = [145,252] let s:lib.Codec.encoding_table["25158"] = [145,253] let s:lib.Codec.encoding_table["25162"] = [145,254] let s:lib.Codec.encoding_table["25167"] = [146,64] let s:lib.Codec.encoding_table["25168"] = [146,65] let s:lib.Codec.encoding_table["25173"] = [146,66] let s:lib.Codec.encoding_table["25174"] = [146,67] let s:lib.Codec.encoding_table["25175"] = [146,68] let s:lib.Codec.encoding_table["25177"] = [146,69] let s:lib.Codec.encoding_table["25178"] = [146,70] let s:lib.Codec.encoding_table["25180"] = [146,71] let s:lib.Codec.encoding_table["25181"] = [146,72] let s:lib.Codec.encoding_table["25182"] = [146,73] let s:lib.Codec.encoding_table["25183"] = [146,74] let s:lib.Codec.encoding_table["25184"] = [146,75] let s:lib.Codec.encoding_table["25185"] = [146,76] let s:lib.Codec.encoding_table["25186"] = [146,77] let s:lib.Codec.encoding_table["25188"] = [146,78] let s:lib.Codec.encoding_table["25189"] = [146,79] let s:lib.Codec.encoding_table["25192"] = [146,80] let s:lib.Codec.encoding_table["25201"] = [146,81] let s:lib.Codec.encoding_table["25202"] = [146,82] let s:lib.Codec.encoding_table["25204"] = [146,83] let s:lib.Codec.encoding_table["25205"] = [146,84] let s:lib.Codec.encoding_table["25207"] = [146,85] let s:lib.Codec.encoding_table["25208"] = [146,86] let s:lib.Codec.encoding_table["25210"] = [146,87] let s:lib.Codec.encoding_table["25211"] = [146,88] let s:lib.Codec.encoding_table["25213"] = [146,89] let s:lib.Codec.encoding_table["25217"] = [146,90] let s:lib.Codec.encoding_table["25218"] = [146,91] let s:lib.Codec.encoding_table["25219"] = [146,92] let s:lib.Codec.encoding_table["25221"] = [146,93] let s:lib.Codec.encoding_table["25222"] = [146,94] let s:lib.Codec.encoding_table["25223"] = [146,95] let s:lib.Codec.encoding_table["25224"] = [146,96] let s:lib.Codec.encoding_table["25227"] = [146,97] let s:lib.Codec.encoding_table["25228"] = [146,98] let s:lib.Codec.encoding_table["25229"] = [146,99] let s:lib.Codec.encoding_table["25230"] = [146,100] let s:lib.Codec.encoding_table["25231"] = [146,101] let s:lib.Codec.encoding_table["25232"] = [146,102] let s:lib.Codec.encoding_table["25236"] = [146,103] let s:lib.Codec.encoding_table["25241"] = [146,104] let s:lib.Codec.encoding_table["25244"] = [146,105] let s:lib.Codec.encoding_table["25245"] = [146,106] let s:lib.Codec.encoding_table["25246"] = [146,107] let s:lib.Codec.encoding_table["25251"] = [146,108] let s:lib.Codec.encoding_table["25254"] = [146,109] let s:lib.Codec.encoding_table["25255"] = [146,110] let s:lib.Codec.encoding_table["25257"] = [146,111] let s:lib.Codec.encoding_table["25258"] = [146,112] let s:lib.Codec.encoding_table["25261"] = [146,113] let s:lib.Codec.encoding_table["25262"] = [146,114] let s:lib.Codec.encoding_table["25263"] = [146,115] let s:lib.Codec.encoding_table["25264"] = [146,116] let s:lib.Codec.encoding_table["25266"] = [146,117] let s:lib.Codec.encoding_table["25267"] = [146,118] let s:lib.Codec.encoding_table["25268"] = [146,119] let s:lib.Codec.encoding_table["25270"] = [146,120] let s:lib.Codec.encoding_table["25271"] = [146,121] let s:lib.Codec.encoding_table["25272"] = [146,122] let s:lib.Codec.encoding_table["25274"] = [146,123] let s:lib.Codec.encoding_table["25278"] = [146,124] let s:lib.Codec.encoding_table["25280"] = [146,125] let s:lib.Codec.encoding_table["25281"] = [146,126] let s:lib.Codec.encoding_table["25283"] = [146,128] let s:lib.Codec.encoding_table["25291"] = [146,129] let s:lib.Codec.encoding_table["25295"] = [146,130] let s:lib.Codec.encoding_table["25297"] = [146,131] let s:lib.Codec.encoding_table["25301"] = [146,132] let s:lib.Codec.encoding_table["25309"] = [146,133] let s:lib.Codec.encoding_table["25310"] = [146,134] let s:lib.Codec.encoding_table["25312"] = [146,135] let s:lib.Codec.encoding_table["25313"] = [146,136] let s:lib.Codec.encoding_table["25316"] = [146,137] let s:lib.Codec.encoding_table["25322"] = [146,138] let s:lib.Codec.encoding_table["25323"] = [146,139] let s:lib.Codec.encoding_table["25328"] = [146,140] let s:lib.Codec.encoding_table["25330"] = [146,141] let s:lib.Codec.encoding_table["25333"] = [146,142] let s:lib.Codec.encoding_table["25336"] = [146,143] let s:lib.Codec.encoding_table["25337"] = [146,144] let s:lib.Codec.encoding_table["25338"] = [146,145] let s:lib.Codec.encoding_table["25339"] = [146,146] let s:lib.Codec.encoding_table["25344"] = [146,147] let s:lib.Codec.encoding_table["25347"] = [146,148] let s:lib.Codec.encoding_table["25348"] = [146,149] let s:lib.Codec.encoding_table["25349"] = [146,150] let s:lib.Codec.encoding_table["25350"] = [146,151] let s:lib.Codec.encoding_table["25354"] = [146,152] let s:lib.Codec.encoding_table["25355"] = [146,153] let s:lib.Codec.encoding_table["25356"] = [146,154] let s:lib.Codec.encoding_table["25357"] = [146,155] let s:lib.Codec.encoding_table["25359"] = [146,156] let s:lib.Codec.encoding_table["25360"] = [146,157] let s:lib.Codec.encoding_table["25362"] = [146,158] let s:lib.Codec.encoding_table["25363"] = [146,159] let s:lib.Codec.encoding_table["25364"] = [146,160] let s:lib.Codec.encoding_table["25365"] = [146,161] let s:lib.Codec.encoding_table["25367"] = [146,162] let s:lib.Codec.encoding_table["25368"] = [146,163] let s:lib.Codec.encoding_table["25369"] = [146,164] let s:lib.Codec.encoding_table["25372"] = [146,165] let s:lib.Codec.encoding_table["25382"] = [146,166] let s:lib.Codec.encoding_table["25383"] = [146,167] let s:lib.Codec.encoding_table["25385"] = [146,168] let s:lib.Codec.encoding_table["25388"] = [146,169] let s:lib.Codec.encoding_table["25389"] = [146,170] let s:lib.Codec.encoding_table["25390"] = [146,171] let s:lib.Codec.encoding_table["25392"] = [146,172] let s:lib.Codec.encoding_table["25393"] = [146,173] let s:lib.Codec.encoding_table["25395"] = [146,174] let s:lib.Codec.encoding_table["25396"] = [146,175] let s:lib.Codec.encoding_table["25397"] = [146,176] let s:lib.Codec.encoding_table["25398"] = [146,177] let s:lib.Codec.encoding_table["25399"] = [146,178] let s:lib.Codec.encoding_table["25400"] = [146,179] let s:lib.Codec.encoding_table["25403"] = [146,180] let s:lib.Codec.encoding_table["25404"] = [146,181] let s:lib.Codec.encoding_table["25406"] = [146,182] let s:lib.Codec.encoding_table["25407"] = [146,183] let s:lib.Codec.encoding_table["25408"] = [146,184] let s:lib.Codec.encoding_table["25409"] = [146,185] let s:lib.Codec.encoding_table["25412"] = [146,186] let s:lib.Codec.encoding_table["25415"] = [146,187] let s:lib.Codec.encoding_table["25416"] = [146,188] let s:lib.Codec.encoding_table["25418"] = [146,189] let s:lib.Codec.encoding_table["25425"] = [146,190] let s:lib.Codec.encoding_table["25426"] = [146,191] let s:lib.Codec.encoding_table["25427"] = [146,192] let s:lib.Codec.encoding_table["25428"] = [146,193] let s:lib.Codec.encoding_table["25430"] = [146,194] let s:lib.Codec.encoding_table["25431"] = [146,195] let s:lib.Codec.encoding_table["25432"] = [146,196] let s:lib.Codec.encoding_table["25433"] = [146,197] let s:lib.Codec.encoding_table["25434"] = [146,198] let s:lib.Codec.encoding_table["25435"] = [146,199] let s:lib.Codec.encoding_table["25436"] = [146,200] let s:lib.Codec.encoding_table["25437"] = [146,201] let s:lib.Codec.encoding_table["25440"] = [146,202] let s:lib.Codec.encoding_table["25444"] = [146,203] let s:lib.Codec.encoding_table["25445"] = [146,204] let s:lib.Codec.encoding_table["25446"] = [146,205] let s:lib.Codec.encoding_table["25448"] = [146,206] let s:lib.Codec.encoding_table["25450"] = [146,207] let s:lib.Codec.encoding_table["25451"] = [146,208] let s:lib.Codec.encoding_table["25452"] = [146,209] let s:lib.Codec.encoding_table["25455"] = [146,210] let s:lib.Codec.encoding_table["25456"] = [146,211] let s:lib.Codec.encoding_table["25458"] = [146,212] let s:lib.Codec.encoding_table["25459"] = [146,213] let s:lib.Codec.encoding_table["25460"] = [146,214] let s:lib.Codec.encoding_table["25461"] = [146,215] let s:lib.Codec.encoding_table["25464"] = [146,216] let s:lib.Codec.encoding_table["25465"] = [146,217] let s:lib.Codec.encoding_table["25468"] = [146,218] let s:lib.Codec.encoding_table["25469"] = [146,219] let s:lib.Codec.encoding_table["25470"] = [146,220] let s:lib.Codec.encoding_table["25471"] = [146,221] let s:lib.Codec.encoding_table["25473"] = [146,222] let s:lib.Codec.encoding_table["25475"] = [146,223] let s:lib.Codec.encoding_table["25476"] = [146,224] let s:lib.Codec.encoding_table["25477"] = [146,225] let s:lib.Codec.encoding_table["25478"] = [146,226] let s:lib.Codec.encoding_table["25483"] = [146,227] let s:lib.Codec.encoding_table["25485"] = [146,228] let s:lib.Codec.encoding_table["25489"] = [146,229] let s:lib.Codec.encoding_table["25491"] = [146,230] let s:lib.Codec.encoding_table["25492"] = [146,231] let s:lib.Codec.encoding_table["25493"] = [146,232] let s:lib.Codec.encoding_table["25495"] = [146,233] let s:lib.Codec.encoding_table["25497"] = [146,234] let s:lib.Codec.encoding_table["25498"] = [146,235] let s:lib.Codec.encoding_table["25499"] = [146,236] let s:lib.Codec.encoding_table["25500"] = [146,237] let s:lib.Codec.encoding_table["25501"] = [146,238] let s:lib.Codec.encoding_table["25502"] = [146,239] let s:lib.Codec.encoding_table["25503"] = [146,240] let s:lib.Codec.encoding_table["25505"] = [146,241] let s:lib.Codec.encoding_table["25508"] = [146,242] let s:lib.Codec.encoding_table["25510"] = [146,243] let s:lib.Codec.encoding_table["25515"] = [146,244] let s:lib.Codec.encoding_table["25519"] = [146,245] let s:lib.Codec.encoding_table["25521"] = [146,246] let s:lib.Codec.encoding_table["25522"] = [146,247] let s:lib.Codec.encoding_table["25525"] = [146,248] let s:lib.Codec.encoding_table["25526"] = [146,249] let s:lib.Codec.encoding_table["25529"] = [146,250] let s:lib.Codec.encoding_table["25531"] = [146,251] let s:lib.Codec.encoding_table["25533"] = [146,252] let s:lib.Codec.encoding_table["25535"] = [146,253] let s:lib.Codec.encoding_table["25536"] = [146,254] let s:lib.Codec.encoding_table["25537"] = [147,64] let s:lib.Codec.encoding_table["25538"] = [147,65] let s:lib.Codec.encoding_table["25539"] = [147,66] let s:lib.Codec.encoding_table["25541"] = [147,67] let s:lib.Codec.encoding_table["25543"] = [147,68] let s:lib.Codec.encoding_table["25544"] = [147,69] let s:lib.Codec.encoding_table["25546"] = [147,70] let s:lib.Codec.encoding_table["25547"] = [147,71] let s:lib.Codec.encoding_table["25548"] = [147,72] let s:lib.Codec.encoding_table["25553"] = [147,73] let s:lib.Codec.encoding_table["25555"] = [147,74] let s:lib.Codec.encoding_table["25556"] = [147,75] let s:lib.Codec.encoding_table["25557"] = [147,76] let s:lib.Codec.encoding_table["25559"] = [147,77] let s:lib.Codec.encoding_table["25560"] = [147,78] let s:lib.Codec.encoding_table["25561"] = [147,79] let s:lib.Codec.encoding_table["25562"] = [147,80] let s:lib.Codec.encoding_table["25563"] = [147,81] let s:lib.Codec.encoding_table["25564"] = [147,82] let s:lib.Codec.encoding_table["25565"] = [147,83] let s:lib.Codec.encoding_table["25567"] = [147,84] let s:lib.Codec.encoding_table["25570"] = [147,85] let s:lib.Codec.encoding_table["25572"] = [147,86] let s:lib.Codec.encoding_table["25573"] = [147,87] let s:lib.Codec.encoding_table["25574"] = [147,88] let s:lib.Codec.encoding_table["25575"] = [147,89] let s:lib.Codec.encoding_table["25576"] = [147,90] let s:lib.Codec.encoding_table["25579"] = [147,91] let s:lib.Codec.encoding_table["25580"] = [147,92] let s:lib.Codec.encoding_table["25582"] = [147,93] let s:lib.Codec.encoding_table["25583"] = [147,94] let s:lib.Codec.encoding_table["25584"] = [147,95] let s:lib.Codec.encoding_table["25585"] = [147,96] let s:lib.Codec.encoding_table["25587"] = [147,97] let s:lib.Codec.encoding_table["25589"] = [147,98] let s:lib.Codec.encoding_table["25591"] = [147,99] let s:lib.Codec.encoding_table["25593"] = [147,100] let s:lib.Codec.encoding_table["25594"] = [147,101] let s:lib.Codec.encoding_table["25595"] = [147,102] let s:lib.Codec.encoding_table["25596"] = [147,103] let s:lib.Codec.encoding_table["25598"] = [147,104] let s:lib.Codec.encoding_table["25603"] = [147,105] let s:lib.Codec.encoding_table["25604"] = [147,106] let s:lib.Codec.encoding_table["25606"] = [147,107] let s:lib.Codec.encoding_table["25607"] = [147,108] let s:lib.Codec.encoding_table["25608"] = [147,109] let s:lib.Codec.encoding_table["25609"] = [147,110] let s:lib.Codec.encoding_table["25610"] = [147,111] let s:lib.Codec.encoding_table["25613"] = [147,112] let s:lib.Codec.encoding_table["25614"] = [147,113] let s:lib.Codec.encoding_table["25617"] = [147,114] let s:lib.Codec.encoding_table["25618"] = [147,115] let s:lib.Codec.encoding_table["25621"] = [147,116] let s:lib.Codec.encoding_table["25622"] = [147,117] let s:lib.Codec.encoding_table["25623"] = [147,118] let s:lib.Codec.encoding_table["25624"] = [147,119] let s:lib.Codec.encoding_table["25625"] = [147,120] let s:lib.Codec.encoding_table["25626"] = [147,121] let s:lib.Codec.encoding_table["25629"] = [147,122] let s:lib.Codec.encoding_table["25631"] = [147,123] let s:lib.Codec.encoding_table["25634"] = [147,124] let s:lib.Codec.encoding_table["25635"] = [147,125] let s:lib.Codec.encoding_table["25636"] = [147,126] let s:lib.Codec.encoding_table["25637"] = [147,128] let s:lib.Codec.encoding_table["25639"] = [147,129] let s:lib.Codec.encoding_table["25640"] = [147,130] let s:lib.Codec.encoding_table["25641"] = [147,131] let s:lib.Codec.encoding_table["25643"] = [147,132] let s:lib.Codec.encoding_table["25646"] = [147,133] let s:lib.Codec.encoding_table["25647"] = [147,134] let s:lib.Codec.encoding_table["25648"] = [147,135] let s:lib.Codec.encoding_table["25649"] = [147,136] let s:lib.Codec.encoding_table["25650"] = [147,137] let s:lib.Codec.encoding_table["25651"] = [147,138] let s:lib.Codec.encoding_table["25653"] = [147,139] let s:lib.Codec.encoding_table["25654"] = [147,140] let s:lib.Codec.encoding_table["25655"] = [147,141] let s:lib.Codec.encoding_table["25656"] = [147,142] let s:lib.Codec.encoding_table["25657"] = [147,143] let s:lib.Codec.encoding_table["25659"] = [147,144] let s:lib.Codec.encoding_table["25660"] = [147,145] let s:lib.Codec.encoding_table["25662"] = [147,146] let s:lib.Codec.encoding_table["25664"] = [147,147] let s:lib.Codec.encoding_table["25666"] = [147,148] let s:lib.Codec.encoding_table["25667"] = [147,149] let s:lib.Codec.encoding_table["25673"] = [147,150] let s:lib.Codec.encoding_table["25675"] = [147,151] let s:lib.Codec.encoding_table["25676"] = [147,152] let s:lib.Codec.encoding_table["25677"] = [147,153] let s:lib.Codec.encoding_table["25678"] = [147,154] let s:lib.Codec.encoding_table["25679"] = [147,155] let s:lib.Codec.encoding_table["25680"] = [147,156] let s:lib.Codec.encoding_table["25681"] = [147,157] let s:lib.Codec.encoding_table["25683"] = [147,158] let s:lib.Codec.encoding_table["25685"] = [147,159] let s:lib.Codec.encoding_table["25686"] = [147,160] let s:lib.Codec.encoding_table["25687"] = [147,161] let s:lib.Codec.encoding_table["25689"] = [147,162] let s:lib.Codec.encoding_table["25690"] = [147,163] let s:lib.Codec.encoding_table["25691"] = [147,164] let s:lib.Codec.encoding_table["25692"] = [147,165] let s:lib.Codec.encoding_table["25693"] = [147,166] let s:lib.Codec.encoding_table["25695"] = [147,167] let s:lib.Codec.encoding_table["25696"] = [147,168] let s:lib.Codec.encoding_table["25697"] = [147,169] let s:lib.Codec.encoding_table["25698"] = [147,170] let s:lib.Codec.encoding_table["25699"] = [147,171] let s:lib.Codec.encoding_table["25700"] = [147,172] let s:lib.Codec.encoding_table["25701"] = [147,173] let s:lib.Codec.encoding_table["25702"] = [147,174] let s:lib.Codec.encoding_table["25704"] = [147,175] let s:lib.Codec.encoding_table["25706"] = [147,176] let s:lib.Codec.encoding_table["25707"] = [147,177] let s:lib.Codec.encoding_table["25708"] = [147,178] let s:lib.Codec.encoding_table["25710"] = [147,179] let s:lib.Codec.encoding_table["25711"] = [147,180] let s:lib.Codec.encoding_table["25712"] = [147,181] let s:lib.Codec.encoding_table["25713"] = [147,182] let s:lib.Codec.encoding_table["25714"] = [147,183] let s:lib.Codec.encoding_table["25715"] = [147,184] let s:lib.Codec.encoding_table["25716"] = [147,185] let s:lib.Codec.encoding_table["25717"] = [147,186] let s:lib.Codec.encoding_table["25718"] = [147,187] let s:lib.Codec.encoding_table["25719"] = [147,188] let s:lib.Codec.encoding_table["25723"] = [147,189] let s:lib.Codec.encoding_table["25724"] = [147,190] let s:lib.Codec.encoding_table["25725"] = [147,191] let s:lib.Codec.encoding_table["25726"] = [147,192] let s:lib.Codec.encoding_table["25727"] = [147,193] let s:lib.Codec.encoding_table["25728"] = [147,194] let s:lib.Codec.encoding_table["25729"] = [147,195] let s:lib.Codec.encoding_table["25731"] = [147,196] let s:lib.Codec.encoding_table["25734"] = [147,197] let s:lib.Codec.encoding_table["25736"] = [147,198] let s:lib.Codec.encoding_table["25737"] = [147,199] let s:lib.Codec.encoding_table["25738"] = [147,200] let s:lib.Codec.encoding_table["25739"] = [147,201] let s:lib.Codec.encoding_table["25740"] = [147,202] let s:lib.Codec.encoding_table["25741"] = [147,203] let s:lib.Codec.encoding_table["25742"] = [147,204] let s:lib.Codec.encoding_table["25743"] = [147,205] let s:lib.Codec.encoding_table["25744"] = [147,206] let s:lib.Codec.encoding_table["25747"] = [147,207] let s:lib.Codec.encoding_table["25748"] = [147,208] let s:lib.Codec.encoding_table["25751"] = [147,209] let s:lib.Codec.encoding_table["25752"] = [147,210] let s:lib.Codec.encoding_table["25754"] = [147,211] let s:lib.Codec.encoding_table["25755"] = [147,212] let s:lib.Codec.encoding_table["25756"] = [147,213] let s:lib.Codec.encoding_table["25757"] = [147,214] let s:lib.Codec.encoding_table["25759"] = [147,215] let s:lib.Codec.encoding_table["25760"] = [147,216] let s:lib.Codec.encoding_table["25761"] = [147,217] let s:lib.Codec.encoding_table["25762"] = [147,218] let s:lib.Codec.encoding_table["25763"] = [147,219] let s:lib.Codec.encoding_table["25765"] = [147,220] let s:lib.Codec.encoding_table["25766"] = [147,221] let s:lib.Codec.encoding_table["25767"] = [147,222] let s:lib.Codec.encoding_table["25768"] = [147,223] let s:lib.Codec.encoding_table["25770"] = [147,224] let s:lib.Codec.encoding_table["25771"] = [147,225] let s:lib.Codec.encoding_table["25775"] = [147,226] let s:lib.Codec.encoding_table["25777"] = [147,227] let s:lib.Codec.encoding_table["25778"] = [147,228] let s:lib.Codec.encoding_table["25779"] = [147,229] let s:lib.Codec.encoding_table["25780"] = [147,230] let s:lib.Codec.encoding_table["25782"] = [147,231] let s:lib.Codec.encoding_table["25785"] = [147,232] let s:lib.Codec.encoding_table["25787"] = [147,233] let s:lib.Codec.encoding_table["25789"] = [147,234] let s:lib.Codec.encoding_table["25790"] = [147,235] let s:lib.Codec.encoding_table["25791"] = [147,236] let s:lib.Codec.encoding_table["25793"] = [147,237] let s:lib.Codec.encoding_table["25795"] = [147,238] let s:lib.Codec.encoding_table["25796"] = [147,239] let s:lib.Codec.encoding_table["25798"] = [147,240] let s:lib.Codec.encoding_table["25799"] = [147,241] let s:lib.Codec.encoding_table["25800"] = [147,242] let s:lib.Codec.encoding_table["25801"] = [147,243] let s:lib.Codec.encoding_table["25802"] = [147,244] let s:lib.Codec.encoding_table["25803"] = [147,245] let s:lib.Codec.encoding_table["25804"] = [147,246] let s:lib.Codec.encoding_table["25807"] = [147,247] let s:lib.Codec.encoding_table["25809"] = [147,248] let s:lib.Codec.encoding_table["25811"] = [147,249] let s:lib.Codec.encoding_table["25812"] = [147,250] let s:lib.Codec.encoding_table["25813"] = [147,251] let s:lib.Codec.encoding_table["25814"] = [147,252] let s:lib.Codec.encoding_table["25817"] = [147,253] let s:lib.Codec.encoding_table["25818"] = [147,254] let s:lib.Codec.encoding_table["25819"] = [148,64] let s:lib.Codec.encoding_table["25820"] = [148,65] let s:lib.Codec.encoding_table["25821"] = [148,66] let s:lib.Codec.encoding_table["25823"] = [148,67] let s:lib.Codec.encoding_table["25824"] = [148,68] let s:lib.Codec.encoding_table["25825"] = [148,69] let s:lib.Codec.encoding_table["25827"] = [148,70] let s:lib.Codec.encoding_table["25829"] = [148,71] let s:lib.Codec.encoding_table["25831"] = [148,72] let s:lib.Codec.encoding_table["25832"] = [148,73] let s:lib.Codec.encoding_table["25833"] = [148,74] let s:lib.Codec.encoding_table["25834"] = [148,75] let s:lib.Codec.encoding_table["25835"] = [148,76] let s:lib.Codec.encoding_table["25836"] = [148,77] let s:lib.Codec.encoding_table["25837"] = [148,78] let s:lib.Codec.encoding_table["25838"] = [148,79] let s:lib.Codec.encoding_table["25839"] = [148,80] let s:lib.Codec.encoding_table["25840"] = [148,81] let s:lib.Codec.encoding_table["25841"] = [148,82] let s:lib.Codec.encoding_table["25842"] = [148,83] let s:lib.Codec.encoding_table["25843"] = [148,84] let s:lib.Codec.encoding_table["25844"] = [148,85] let s:lib.Codec.encoding_table["25845"] = [148,86] let s:lib.Codec.encoding_table["25846"] = [148,87] let s:lib.Codec.encoding_table["25847"] = [148,88] let s:lib.Codec.encoding_table["25848"] = [148,89] let s:lib.Codec.encoding_table["25849"] = [148,90] let s:lib.Codec.encoding_table["25850"] = [148,91] let s:lib.Codec.encoding_table["25851"] = [148,92] let s:lib.Codec.encoding_table["25852"] = [148,93] let s:lib.Codec.encoding_table["25853"] = [148,94] let s:lib.Codec.encoding_table["25854"] = [148,95] let s:lib.Codec.encoding_table["25855"] = [148,96] let s:lib.Codec.encoding_table["25857"] = [148,97] let s:lib.Codec.encoding_table["25858"] = [148,98] let s:lib.Codec.encoding_table["25859"] = [148,99] let s:lib.Codec.encoding_table["25860"] = [148,100] let s:lib.Codec.encoding_table["25861"] = [148,101] let s:lib.Codec.encoding_table["25862"] = [148,102] let s:lib.Codec.encoding_table["25863"] = [148,103] let s:lib.Codec.encoding_table["25864"] = [148,104] let s:lib.Codec.encoding_table["25866"] = [148,105] let s:lib.Codec.encoding_table["25867"] = [148,106] let s:lib.Codec.encoding_table["25868"] = [148,107] let s:lib.Codec.encoding_table["25869"] = [148,108] let s:lib.Codec.encoding_table["25870"] = [148,109] let s:lib.Codec.encoding_table["25871"] = [148,110] let s:lib.Codec.encoding_table["25872"] = [148,111] let s:lib.Codec.encoding_table["25873"] = [148,112] let s:lib.Codec.encoding_table["25875"] = [148,113] let s:lib.Codec.encoding_table["25876"] = [148,114] let s:lib.Codec.encoding_table["25877"] = [148,115] let s:lib.Codec.encoding_table["25878"] = [148,116] let s:lib.Codec.encoding_table["25879"] = [148,117] let s:lib.Codec.encoding_table["25881"] = [148,118] let s:lib.Codec.encoding_table["25882"] = [148,119] let s:lib.Codec.encoding_table["25883"] = [148,120] let s:lib.Codec.encoding_table["25884"] = [148,121] let s:lib.Codec.encoding_table["25885"] = [148,122] let s:lib.Codec.encoding_table["25886"] = [148,123] let s:lib.Codec.encoding_table["25887"] = [148,124] let s:lib.Codec.encoding_table["25888"] = [148,125] let s:lib.Codec.encoding_table["25889"] = [148,126] let s:lib.Codec.encoding_table["25890"] = [148,128] let s:lib.Codec.encoding_table["25891"] = [148,129] let s:lib.Codec.encoding_table["25892"] = [148,130] let s:lib.Codec.encoding_table["25894"] = [148,131] let s:lib.Codec.encoding_table["25895"] = [148,132] let s:lib.Codec.encoding_table["25896"] = [148,133] let s:lib.Codec.encoding_table["25897"] = [148,134] let s:lib.Codec.encoding_table["25898"] = [148,135] let s:lib.Codec.encoding_table["25900"] = [148,136] let s:lib.Codec.encoding_table["25901"] = [148,137] let s:lib.Codec.encoding_table["25904"] = [148,138] let s:lib.Codec.encoding_table["25905"] = [148,139] let s:lib.Codec.encoding_table["25906"] = [148,140] let s:lib.Codec.encoding_table["25907"] = [148,141] let s:lib.Codec.encoding_table["25911"] = [148,142] let s:lib.Codec.encoding_table["25914"] = [148,143] let s:lib.Codec.encoding_table["25916"] = [148,144] let s:lib.Codec.encoding_table["25917"] = [148,145] let s:lib.Codec.encoding_table["25920"] = [148,146] let s:lib.Codec.encoding_table["25921"] = [148,147] let s:lib.Codec.encoding_table["25922"] = [148,148] let s:lib.Codec.encoding_table["25923"] = [148,149] let s:lib.Codec.encoding_table["25924"] = [148,150] let s:lib.Codec.encoding_table["25926"] = [148,151] let s:lib.Codec.encoding_table["25927"] = [148,152] let s:lib.Codec.encoding_table["25930"] = [148,153] let s:lib.Codec.encoding_table["25931"] = [148,154] let s:lib.Codec.encoding_table["25933"] = [148,155] let s:lib.Codec.encoding_table["25934"] = [148,156] let s:lib.Codec.encoding_table["25936"] = [148,157] let s:lib.Codec.encoding_table["25938"] = [148,158] let s:lib.Codec.encoding_table["25939"] = [148,159] let s:lib.Codec.encoding_table["25940"] = [148,160] let s:lib.Codec.encoding_table["25943"] = [148,161] let s:lib.Codec.encoding_table["25944"] = [148,162] let s:lib.Codec.encoding_table["25946"] = [148,163] let s:lib.Codec.encoding_table["25948"] = [148,164] let s:lib.Codec.encoding_table["25951"] = [148,165] let s:lib.Codec.encoding_table["25952"] = [148,166] let s:lib.Codec.encoding_table["25953"] = [148,167] let s:lib.Codec.encoding_table["25956"] = [148,168] let s:lib.Codec.encoding_table["25957"] = [148,169] let s:lib.Codec.encoding_table["25959"] = [148,170] let s:lib.Codec.encoding_table["25960"] = [148,171] let s:lib.Codec.encoding_table["25961"] = [148,172] let s:lib.Codec.encoding_table["25962"] = [148,173] let s:lib.Codec.encoding_table["25965"] = [148,174] let s:lib.Codec.encoding_table["25966"] = [148,175] let s:lib.Codec.encoding_table["25967"] = [148,176] let s:lib.Codec.encoding_table["25969"] = [148,177] let s:lib.Codec.encoding_table["25971"] = [148,178] let s:lib.Codec.encoding_table["25973"] = [148,179] let s:lib.Codec.encoding_table["25974"] = [148,180] let s:lib.Codec.encoding_table["25976"] = [148,181] let s:lib.Codec.encoding_table["25977"] = [148,182] let s:lib.Codec.encoding_table["25978"] = [148,183] let s:lib.Codec.encoding_table["25979"] = [148,184] let s:lib.Codec.encoding_table["25980"] = [148,185] let s:lib.Codec.encoding_table["25981"] = [148,186] let s:lib.Codec.encoding_table["25982"] = [148,187] let s:lib.Codec.encoding_table["25983"] = [148,188] let s:lib.Codec.encoding_table["25984"] = [148,189] let s:lib.Codec.encoding_table["25985"] = [148,190] let s:lib.Codec.encoding_table["25986"] = [148,191] let s:lib.Codec.encoding_table["25987"] = [148,192] let s:lib.Codec.encoding_table["25988"] = [148,193] let s:lib.Codec.encoding_table["25989"] = [148,194] let s:lib.Codec.encoding_table["25990"] = [148,195] let s:lib.Codec.encoding_table["25992"] = [148,196] let s:lib.Codec.encoding_table["25993"] = [148,197] let s:lib.Codec.encoding_table["25994"] = [148,198] let s:lib.Codec.encoding_table["25997"] = [148,199] let s:lib.Codec.encoding_table["25998"] = [148,200] let s:lib.Codec.encoding_table["25999"] = [148,201] let s:lib.Codec.encoding_table["26002"] = [148,202] let s:lib.Codec.encoding_table["26004"] = [148,203] let s:lib.Codec.encoding_table["26005"] = [148,204] let s:lib.Codec.encoding_table["26006"] = [148,205] let s:lib.Codec.encoding_table["26008"] = [148,206] let s:lib.Codec.encoding_table["26010"] = [148,207] let s:lib.Codec.encoding_table["26013"] = [148,208] let s:lib.Codec.encoding_table["26014"] = [148,209] let s:lib.Codec.encoding_table["26016"] = [148,210] let s:lib.Codec.encoding_table["26018"] = [148,211] let s:lib.Codec.encoding_table["26019"] = [148,212] let s:lib.Codec.encoding_table["26022"] = [148,213] let s:lib.Codec.encoding_table["26024"] = [148,214] let s:lib.Codec.encoding_table["26026"] = [148,215] let s:lib.Codec.encoding_table["26028"] = [148,216] let s:lib.Codec.encoding_table["26030"] = [148,217] let s:lib.Codec.encoding_table["26033"] = [148,218] let s:lib.Codec.encoding_table["26034"] = [148,219] let s:lib.Codec.encoding_table["26035"] = [148,220] let s:lib.Codec.encoding_table["26036"] = [148,221] let s:lib.Codec.encoding_table["26037"] = [148,222] let s:lib.Codec.encoding_table["26038"] = [148,223] let s:lib.Codec.encoding_table["26039"] = [148,224] let s:lib.Codec.encoding_table["26040"] = [148,225] let s:lib.Codec.encoding_table["26042"] = [148,226] let s:lib.Codec.encoding_table["26043"] = [148,227] let s:lib.Codec.encoding_table["26046"] = [148,228] let s:lib.Codec.encoding_table["26047"] = [148,229] let s:lib.Codec.encoding_table["26048"] = [148,230] let s:lib.Codec.encoding_table["26050"] = [148,231] let s:lib.Codec.encoding_table["26055"] = [148,232] let s:lib.Codec.encoding_table["26056"] = [148,233] let s:lib.Codec.encoding_table["26057"] = [148,234] let s:lib.Codec.encoding_table["26058"] = [148,235] let s:lib.Codec.encoding_table["26061"] = [148,236] let s:lib.Codec.encoding_table["26064"] = [148,237] let s:lib.Codec.encoding_table["26065"] = [148,238] let s:lib.Codec.encoding_table["26067"] = [148,239] let s:lib.Codec.encoding_table["26068"] = [148,240] let s:lib.Codec.encoding_table["26069"] = [148,241] let s:lib.Codec.encoding_table["26072"] = [148,242] let s:lib.Codec.encoding_table["26073"] = [148,243] let s:lib.Codec.encoding_table["26074"] = [148,244] let s:lib.Codec.encoding_table["26075"] = [148,245] let s:lib.Codec.encoding_table["26076"] = [148,246] let s:lib.Codec.encoding_table["26077"] = [148,247] let s:lib.Codec.encoding_table["26078"] = [148,248] let s:lib.Codec.encoding_table["26079"] = [148,249] let s:lib.Codec.encoding_table["26081"] = [148,250] let s:lib.Codec.encoding_table["26083"] = [148,251] let s:lib.Codec.encoding_table["26084"] = [148,252] let s:lib.Codec.encoding_table["26090"] = [148,253] let s:lib.Codec.encoding_table["26091"] = [148,254] let s:lib.Codec.encoding_table["26098"] = [149,64] let s:lib.Codec.encoding_table["26099"] = [149,65] let s:lib.Codec.encoding_table["26100"] = [149,66] let s:lib.Codec.encoding_table["26101"] = [149,67] let s:lib.Codec.encoding_table["26104"] = [149,68] let s:lib.Codec.encoding_table["26105"] = [149,69] let s:lib.Codec.encoding_table["26107"] = [149,70] let s:lib.Codec.encoding_table["26108"] = [149,71] let s:lib.Codec.encoding_table["26109"] = [149,72] let s:lib.Codec.encoding_table["26110"] = [149,73] let s:lib.Codec.encoding_table["26111"] = [149,74] let s:lib.Codec.encoding_table["26113"] = [149,75] let s:lib.Codec.encoding_table["26116"] = [149,76] let s:lib.Codec.encoding_table["26117"] = [149,77] let s:lib.Codec.encoding_table["26119"] = [149,78] let s:lib.Codec.encoding_table["26120"] = [149,79] let s:lib.Codec.encoding_table["26121"] = [149,80] let s:lib.Codec.encoding_table["26123"] = [149,81] let s:lib.Codec.encoding_table["26125"] = [149,82] let s:lib.Codec.encoding_table["26128"] = [149,83] let s:lib.Codec.encoding_table["26129"] = [149,84] let s:lib.Codec.encoding_table["26130"] = [149,85] let s:lib.Codec.encoding_table["26134"] = [149,86] let s:lib.Codec.encoding_table["26135"] = [149,87] let s:lib.Codec.encoding_table["26136"] = [149,88] let s:lib.Codec.encoding_table["26138"] = [149,89] let s:lib.Codec.encoding_table["26139"] = [149,90] let s:lib.Codec.encoding_table["26140"] = [149,91] let s:lib.Codec.encoding_table["26142"] = [149,92] let s:lib.Codec.encoding_table["26145"] = [149,93] let s:lib.Codec.encoding_table["26146"] = [149,94] let s:lib.Codec.encoding_table["26147"] = [149,95] let s:lib.Codec.encoding_table["26148"] = [149,96] let s:lib.Codec.encoding_table["26150"] = [149,97] let s:lib.Codec.encoding_table["26153"] = [149,98] let s:lib.Codec.encoding_table["26154"] = [149,99] let s:lib.Codec.encoding_table["26155"] = [149,100] let s:lib.Codec.encoding_table["26156"] = [149,101] let s:lib.Codec.encoding_table["26158"] = [149,102] let s:lib.Codec.encoding_table["26160"] = [149,103] let s:lib.Codec.encoding_table["26162"] = [149,104] let s:lib.Codec.encoding_table["26163"] = [149,105] let s:lib.Codec.encoding_table["26167"] = [149,106] let s:lib.Codec.encoding_table["26168"] = [149,107] let s:lib.Codec.encoding_table["26169"] = [149,108] let s:lib.Codec.encoding_table["26170"] = [149,109] let s:lib.Codec.encoding_table["26171"] = [149,110] let s:lib.Codec.encoding_table["26173"] = [149,111] let s:lib.Codec.encoding_table["26175"] = [149,112] let s:lib.Codec.encoding_table["26176"] = [149,113] let s:lib.Codec.encoding_table["26178"] = [149,114] let s:lib.Codec.encoding_table["26180"] = [149,115] let s:lib.Codec.encoding_table["26181"] = [149,116] let s:lib.Codec.encoding_table["26182"] = [149,117] let s:lib.Codec.encoding_table["26183"] = [149,118] let s:lib.Codec.encoding_table["26184"] = [149,119] let s:lib.Codec.encoding_table["26185"] = [149,120] let s:lib.Codec.encoding_table["26186"] = [149,121] let s:lib.Codec.encoding_table["26189"] = [149,122] let s:lib.Codec.encoding_table["26190"] = [149,123] let s:lib.Codec.encoding_table["26192"] = [149,124] let s:lib.Codec.encoding_table["26193"] = [149,125] let s:lib.Codec.encoding_table["26200"] = [149,126] let s:lib.Codec.encoding_table["26201"] = [149,128] let s:lib.Codec.encoding_table["26203"] = [149,129] let s:lib.Codec.encoding_table["26204"] = [149,130] let s:lib.Codec.encoding_table["26205"] = [149,131] let s:lib.Codec.encoding_table["26206"] = [149,132] let s:lib.Codec.encoding_table["26208"] = [149,133] let s:lib.Codec.encoding_table["26210"] = [149,134] let s:lib.Codec.encoding_table["26211"] = [149,135] let s:lib.Codec.encoding_table["26213"] = [149,136] let s:lib.Codec.encoding_table["26215"] = [149,137] let s:lib.Codec.encoding_table["26217"] = [149,138] let s:lib.Codec.encoding_table["26218"] = [149,139] let s:lib.Codec.encoding_table["26219"] = [149,140] let s:lib.Codec.encoding_table["26220"] = [149,141] let s:lib.Codec.encoding_table["26221"] = [149,142] let s:lib.Codec.encoding_table["26225"] = [149,143] let s:lib.Codec.encoding_table["26226"] = [149,144] let s:lib.Codec.encoding_table["26227"] = [149,145] let s:lib.Codec.encoding_table["26229"] = [149,146] let s:lib.Codec.encoding_table["26232"] = [149,147] let s:lib.Codec.encoding_table["26233"] = [149,148] let s:lib.Codec.encoding_table["26235"] = [149,149] let s:lib.Codec.encoding_table["26236"] = [149,150] let s:lib.Codec.encoding_table["26237"] = [149,151] let s:lib.Codec.encoding_table["26239"] = [149,152] let s:lib.Codec.encoding_table["26240"] = [149,153] let s:lib.Codec.encoding_table["26241"] = [149,154] let s:lib.Codec.encoding_table["26243"] = [149,155] let s:lib.Codec.encoding_table["26245"] = [149,156] let s:lib.Codec.encoding_table["26246"] = [149,157] let s:lib.Codec.encoding_table["26248"] = [149,158] let s:lib.Codec.encoding_table["26249"] = [149,159] let s:lib.Codec.encoding_table["26250"] = [149,160] let s:lib.Codec.encoding_table["26251"] = [149,161] let s:lib.Codec.encoding_table["26253"] = [149,162] let s:lib.Codec.encoding_table["26254"] = [149,163] let s:lib.Codec.encoding_table["26255"] = [149,164] let s:lib.Codec.encoding_table["26256"] = [149,165] let s:lib.Codec.encoding_table["26258"] = [149,166] let s:lib.Codec.encoding_table["26259"] = [149,167] let s:lib.Codec.encoding_table["26260"] = [149,168] let s:lib.Codec.encoding_table["26261"] = [149,169] let s:lib.Codec.encoding_table["26264"] = [149,170] let s:lib.Codec.encoding_table["26265"] = [149,171] let s:lib.Codec.encoding_table["26266"] = [149,172] let s:lib.Codec.encoding_table["26267"] = [149,173] let s:lib.Codec.encoding_table["26268"] = [149,174] let s:lib.Codec.encoding_table["26270"] = [149,175] let s:lib.Codec.encoding_table["26271"] = [149,176] let s:lib.Codec.encoding_table["26272"] = [149,177] let s:lib.Codec.encoding_table["26273"] = [149,178] let s:lib.Codec.encoding_table["26274"] = [149,179] let s:lib.Codec.encoding_table["26275"] = [149,180] let s:lib.Codec.encoding_table["26276"] = [149,181] let s:lib.Codec.encoding_table["26277"] = [149,182] let s:lib.Codec.encoding_table["26278"] = [149,183] let s:lib.Codec.encoding_table["26281"] = [149,184] let s:lib.Codec.encoding_table["26282"] = [149,185] let s:lib.Codec.encoding_table["26283"] = [149,186] let s:lib.Codec.encoding_table["26284"] = [149,187] let s:lib.Codec.encoding_table["26285"] = [149,188] let s:lib.Codec.encoding_table["26287"] = [149,189] let s:lib.Codec.encoding_table["26288"] = [149,190] let s:lib.Codec.encoding_table["26289"] = [149,191] let s:lib.Codec.encoding_table["26290"] = [149,192] let s:lib.Codec.encoding_table["26291"] = [149,193] let s:lib.Codec.encoding_table["26293"] = [149,194] let s:lib.Codec.encoding_table["26294"] = [149,195] let s:lib.Codec.encoding_table["26295"] = [149,196] let s:lib.Codec.encoding_table["26296"] = [149,197] let s:lib.Codec.encoding_table["26298"] = [149,198] let s:lib.Codec.encoding_table["26299"] = [149,199] let s:lib.Codec.encoding_table["26300"] = [149,200] let s:lib.Codec.encoding_table["26301"] = [149,201] let s:lib.Codec.encoding_table["26303"] = [149,202] let s:lib.Codec.encoding_table["26304"] = [149,203] let s:lib.Codec.encoding_table["26305"] = [149,204] let s:lib.Codec.encoding_table["26306"] = [149,205] let s:lib.Codec.encoding_table["26307"] = [149,206] let s:lib.Codec.encoding_table["26308"] = [149,207] let s:lib.Codec.encoding_table["26309"] = [149,208] let s:lib.Codec.encoding_table["26310"] = [149,209] let s:lib.Codec.encoding_table["26311"] = [149,210] let s:lib.Codec.encoding_table["26312"] = [149,211] let s:lib.Codec.encoding_table["26313"] = [149,212] let s:lib.Codec.encoding_table["26314"] = [149,213] let s:lib.Codec.encoding_table["26315"] = [149,214] let s:lib.Codec.encoding_table["26316"] = [149,215] let s:lib.Codec.encoding_table["26317"] = [149,216] let s:lib.Codec.encoding_table["26318"] = [149,217] let s:lib.Codec.encoding_table["26319"] = [149,218] let s:lib.Codec.encoding_table["26320"] = [149,219] let s:lib.Codec.encoding_table["26321"] = [149,220] let s:lib.Codec.encoding_table["26322"] = [149,221] let s:lib.Codec.encoding_table["26323"] = [149,222] let s:lib.Codec.encoding_table["26324"] = [149,223] let s:lib.Codec.encoding_table["26325"] = [149,224] let s:lib.Codec.encoding_table["26326"] = [149,225] let s:lib.Codec.encoding_table["26327"] = [149,226] let s:lib.Codec.encoding_table["26328"] = [149,227] let s:lib.Codec.encoding_table["26330"] = [149,228] let s:lib.Codec.encoding_table["26334"] = [149,229] let s:lib.Codec.encoding_table["26335"] = [149,230] let s:lib.Codec.encoding_table["26336"] = [149,231] let s:lib.Codec.encoding_table["26337"] = [149,232] let s:lib.Codec.encoding_table["26338"] = [149,233] let s:lib.Codec.encoding_table["26339"] = [149,234] let s:lib.Codec.encoding_table["26340"] = [149,235] let s:lib.Codec.encoding_table["26341"] = [149,236] let s:lib.Codec.encoding_table["26343"] = [149,237] let s:lib.Codec.encoding_table["26344"] = [149,238] let s:lib.Codec.encoding_table["26346"] = [149,239] let s:lib.Codec.encoding_table["26347"] = [149,240] let s:lib.Codec.encoding_table["26348"] = [149,241] let s:lib.Codec.encoding_table["26349"] = [149,242] let s:lib.Codec.encoding_table["26350"] = [149,243] let s:lib.Codec.encoding_table["26351"] = [149,244] let s:lib.Codec.encoding_table["26353"] = [149,245] let s:lib.Codec.encoding_table["26357"] = [149,246] let s:lib.Codec.encoding_table["26358"] = [149,247] let s:lib.Codec.encoding_table["26360"] = [149,248] let s:lib.Codec.encoding_table["26362"] = [149,249] let s:lib.Codec.encoding_table["26363"] = [149,250] let s:lib.Codec.encoding_table["26365"] = [149,251] let s:lib.Codec.encoding_table["26369"] = [149,252] let s:lib.Codec.encoding_table["26370"] = [149,253] let s:lib.Codec.encoding_table["26371"] = [149,254] let s:lib.Codec.encoding_table["26372"] = [150,64] let s:lib.Codec.encoding_table["26373"] = [150,65] let s:lib.Codec.encoding_table["26374"] = [150,66] let s:lib.Codec.encoding_table["26375"] = [150,67] let s:lib.Codec.encoding_table["26380"] = [150,68] let s:lib.Codec.encoding_table["26382"] = [150,69] let s:lib.Codec.encoding_table["26383"] = [150,70] let s:lib.Codec.encoding_table["26385"] = [150,71] let s:lib.Codec.encoding_table["26386"] = [150,72] let s:lib.Codec.encoding_table["26387"] = [150,73] let s:lib.Codec.encoding_table["26390"] = [150,74] let s:lib.Codec.encoding_table["26392"] = [150,75] let s:lib.Codec.encoding_table["26393"] = [150,76] let s:lib.Codec.encoding_table["26394"] = [150,77] let s:lib.Codec.encoding_table["26396"] = [150,78] let s:lib.Codec.encoding_table["26398"] = [150,79] let s:lib.Codec.encoding_table["26400"] = [150,80] let s:lib.Codec.encoding_table["26401"] = [150,81] let s:lib.Codec.encoding_table["26402"] = [150,82] let s:lib.Codec.encoding_table["26403"] = [150,83] let s:lib.Codec.encoding_table["26404"] = [150,84] let s:lib.Codec.encoding_table["26405"] = [150,85] let s:lib.Codec.encoding_table["26407"] = [150,86] let s:lib.Codec.encoding_table["26409"] = [150,87] let s:lib.Codec.encoding_table["26414"] = [150,88] let s:lib.Codec.encoding_table["26416"] = [150,89] let s:lib.Codec.encoding_table["26418"] = [150,90] let s:lib.Codec.encoding_table["26419"] = [150,91] let s:lib.Codec.encoding_table["26422"] = [150,92] let s:lib.Codec.encoding_table["26423"] = [150,93] let s:lib.Codec.encoding_table["26424"] = [150,94] let s:lib.Codec.encoding_table["26425"] = [150,95] let s:lib.Codec.encoding_table["26427"] = [150,96] let s:lib.Codec.encoding_table["26428"] = [150,97] let s:lib.Codec.encoding_table["26430"] = [150,98] let s:lib.Codec.encoding_table["26431"] = [150,99] let s:lib.Codec.encoding_table["26433"] = [150,100] let s:lib.Codec.encoding_table["26436"] = [150,101] let s:lib.Codec.encoding_table["26437"] = [150,102] let s:lib.Codec.encoding_table["26439"] = [150,103] let s:lib.Codec.encoding_table["26442"] = [150,104] let s:lib.Codec.encoding_table["26443"] = [150,105] let s:lib.Codec.encoding_table["26445"] = [150,106] let s:lib.Codec.encoding_table["26450"] = [150,107] let s:lib.Codec.encoding_table["26452"] = [150,108] let s:lib.Codec.encoding_table["26453"] = [150,109] let s:lib.Codec.encoding_table["26455"] = [150,110] let s:lib.Codec.encoding_table["26456"] = [150,111] let s:lib.Codec.encoding_table["26457"] = [150,112] let s:lib.Codec.encoding_table["26458"] = [150,113] let s:lib.Codec.encoding_table["26459"] = [150,114] let s:lib.Codec.encoding_table["26461"] = [150,115] let s:lib.Codec.encoding_table["26466"] = [150,116] let s:lib.Codec.encoding_table["26467"] = [150,117] let s:lib.Codec.encoding_table["26468"] = [150,118] let s:lib.Codec.encoding_table["26470"] = [150,119] let s:lib.Codec.encoding_table["26471"] = [150,120] let s:lib.Codec.encoding_table["26475"] = [150,121] let s:lib.Codec.encoding_table["26476"] = [150,122] let s:lib.Codec.encoding_table["26478"] = [150,123] let s:lib.Codec.encoding_table["26481"] = [150,124] let s:lib.Codec.encoding_table["26484"] = [150,125] let s:lib.Codec.encoding_table["26486"] = [150,126] let s:lib.Codec.encoding_table["26488"] = [150,128] let s:lib.Codec.encoding_table["26489"] = [150,129] let s:lib.Codec.encoding_table["26490"] = [150,130] let s:lib.Codec.encoding_table["26491"] = [150,131] let s:lib.Codec.encoding_table["26493"] = [150,132] let s:lib.Codec.encoding_table["26496"] = [150,133] let s:lib.Codec.encoding_table["26498"] = [150,134] let s:lib.Codec.encoding_table["26499"] = [150,135] let s:lib.Codec.encoding_table["26501"] = [150,136] let s:lib.Codec.encoding_table["26502"] = [150,137] let s:lib.Codec.encoding_table["26504"] = [150,138] let s:lib.Codec.encoding_table["26506"] = [150,139] let s:lib.Codec.encoding_table["26508"] = [150,140] let s:lib.Codec.encoding_table["26509"] = [150,141] let s:lib.Codec.encoding_table["26510"] = [150,142] let s:lib.Codec.encoding_table["26511"] = [150,143] let s:lib.Codec.encoding_table["26513"] = [150,144] let s:lib.Codec.encoding_table["26514"] = [150,145] let s:lib.Codec.encoding_table["26515"] = [150,146] let s:lib.Codec.encoding_table["26516"] = [150,147] let s:lib.Codec.encoding_table["26518"] = [150,148] let s:lib.Codec.encoding_table["26521"] = [150,149] let s:lib.Codec.encoding_table["26523"] = [150,150] let s:lib.Codec.encoding_table["26527"] = [150,151] let s:lib.Codec.encoding_table["26528"] = [150,152] let s:lib.Codec.encoding_table["26529"] = [150,153] let s:lib.Codec.encoding_table["26532"] = [150,154] let s:lib.Codec.encoding_table["26534"] = [150,155] let s:lib.Codec.encoding_table["26537"] = [150,156] let s:lib.Codec.encoding_table["26540"] = [150,157] let s:lib.Codec.encoding_table["26542"] = [150,158] let s:lib.Codec.encoding_table["26545"] = [150,159] let s:lib.Codec.encoding_table["26546"] = [150,160] let s:lib.Codec.encoding_table["26548"] = [150,161] let s:lib.Codec.encoding_table["26553"] = [150,162] let s:lib.Codec.encoding_table["26554"] = [150,163] let s:lib.Codec.encoding_table["26555"] = [150,164] let s:lib.Codec.encoding_table["26556"] = [150,165] let s:lib.Codec.encoding_table["26557"] = [150,166] let s:lib.Codec.encoding_table["26558"] = [150,167] let s:lib.Codec.encoding_table["26559"] = [150,168] let s:lib.Codec.encoding_table["26560"] = [150,169] let s:lib.Codec.encoding_table["26562"] = [150,170] let s:lib.Codec.encoding_table["26565"] = [150,171] let s:lib.Codec.encoding_table["26566"] = [150,172] let s:lib.Codec.encoding_table["26567"] = [150,173] let s:lib.Codec.encoding_table["26568"] = [150,174] let s:lib.Codec.encoding_table["26569"] = [150,175] let s:lib.Codec.encoding_table["26570"] = [150,176] let s:lib.Codec.encoding_table["26571"] = [150,177] let s:lib.Codec.encoding_table["26572"] = [150,178] let s:lib.Codec.encoding_table["26573"] = [150,179] let s:lib.Codec.encoding_table["26574"] = [150,180] let s:lib.Codec.encoding_table["26581"] = [150,181] let s:lib.Codec.encoding_table["26582"] = [150,182] let s:lib.Codec.encoding_table["26583"] = [150,183] let s:lib.Codec.encoding_table["26587"] = [150,184] let s:lib.Codec.encoding_table["26591"] = [150,185] let s:lib.Codec.encoding_table["26593"] = [150,186] let s:lib.Codec.encoding_table["26595"] = [150,187] let s:lib.Codec.encoding_table["26596"] = [150,188] let s:lib.Codec.encoding_table["26598"] = [150,189] let s:lib.Codec.encoding_table["26599"] = [150,190] let s:lib.Codec.encoding_table["26600"] = [150,191] let s:lib.Codec.encoding_table["26602"] = [150,192] let s:lib.Codec.encoding_table["26603"] = [150,193] let s:lib.Codec.encoding_table["26605"] = [150,194] let s:lib.Codec.encoding_table["26606"] = [150,195] let s:lib.Codec.encoding_table["26610"] = [150,196] let s:lib.Codec.encoding_table["26613"] = [150,197] let s:lib.Codec.encoding_table["26614"] = [150,198] let s:lib.Codec.encoding_table["26615"] = [150,199] let s:lib.Codec.encoding_table["26616"] = [150,200] let s:lib.Codec.encoding_table["26617"] = [150,201] let s:lib.Codec.encoding_table["26618"] = [150,202] let s:lib.Codec.encoding_table["26619"] = [150,203] let s:lib.Codec.encoding_table["26620"] = [150,204] let s:lib.Codec.encoding_table["26622"] = [150,205] let s:lib.Codec.encoding_table["26625"] = [150,206] let s:lib.Codec.encoding_table["26626"] = [150,207] let s:lib.Codec.encoding_table["26627"] = [150,208] let s:lib.Codec.encoding_table["26628"] = [150,209] let s:lib.Codec.encoding_table["26630"] = [150,210] let s:lib.Codec.encoding_table["26637"] = [150,211] let s:lib.Codec.encoding_table["26640"] = [150,212] let s:lib.Codec.encoding_table["26642"] = [150,213] let s:lib.Codec.encoding_table["26644"] = [150,214] let s:lib.Codec.encoding_table["26645"] = [150,215] let s:lib.Codec.encoding_table["26648"] = [150,216] let s:lib.Codec.encoding_table["26649"] = [150,217] let s:lib.Codec.encoding_table["26650"] = [150,218] let s:lib.Codec.encoding_table["26651"] = [150,219] let s:lib.Codec.encoding_table["26652"] = [150,220] let s:lib.Codec.encoding_table["26654"] = [150,221] let s:lib.Codec.encoding_table["26655"] = [150,222] let s:lib.Codec.encoding_table["26656"] = [150,223] let s:lib.Codec.encoding_table["26658"] = [150,224] let s:lib.Codec.encoding_table["26659"] = [150,225] let s:lib.Codec.encoding_table["26660"] = [150,226] let s:lib.Codec.encoding_table["26661"] = [150,227] let s:lib.Codec.encoding_table["26662"] = [150,228] let s:lib.Codec.encoding_table["26663"] = [150,229] let s:lib.Codec.encoding_table["26664"] = [150,230] let s:lib.Codec.encoding_table["26667"] = [150,231] let s:lib.Codec.encoding_table["26668"] = [150,232] let s:lib.Codec.encoding_table["26669"] = [150,233] let s:lib.Codec.encoding_table["26670"] = [150,234] let s:lib.Codec.encoding_table["26671"] = [150,235] let s:lib.Codec.encoding_table["26672"] = [150,236] let s:lib.Codec.encoding_table["26673"] = [150,237] let s:lib.Codec.encoding_table["26676"] = [150,238] let s:lib.Codec.encoding_table["26677"] = [150,239] let s:lib.Codec.encoding_table["26678"] = [150,240] let s:lib.Codec.encoding_table["26682"] = [150,241] let s:lib.Codec.encoding_table["26683"] = [150,242] let s:lib.Codec.encoding_table["26687"] = [150,243] let s:lib.Codec.encoding_table["26695"] = [150,244] let s:lib.Codec.encoding_table["26699"] = [150,245] let s:lib.Codec.encoding_table["26701"] = [150,246] let s:lib.Codec.encoding_table["26703"] = [150,247] let s:lib.Codec.encoding_table["26706"] = [150,248] let s:lib.Codec.encoding_table["26710"] = [150,249] let s:lib.Codec.encoding_table["26711"] = [150,250] let s:lib.Codec.encoding_table["26712"] = [150,251] let s:lib.Codec.encoding_table["26713"] = [150,252] let s:lib.Codec.encoding_table["26714"] = [150,253] let s:lib.Codec.encoding_table["26715"] = [150,254] let s:lib.Codec.encoding_table["26716"] = [151,64] let s:lib.Codec.encoding_table["26717"] = [151,65] let s:lib.Codec.encoding_table["26718"] = [151,66] let s:lib.Codec.encoding_table["26719"] = [151,67] let s:lib.Codec.encoding_table["26730"] = [151,68] let s:lib.Codec.encoding_table["26732"] = [151,69] let s:lib.Codec.encoding_table["26733"] = [151,70] let s:lib.Codec.encoding_table["26734"] = [151,71] let s:lib.Codec.encoding_table["26735"] = [151,72] let s:lib.Codec.encoding_table["26736"] = [151,73] let s:lib.Codec.encoding_table["26737"] = [151,74] let s:lib.Codec.encoding_table["26738"] = [151,75] let s:lib.Codec.encoding_table["26739"] = [151,76] let s:lib.Codec.encoding_table["26741"] = [151,77] let s:lib.Codec.encoding_table["26744"] = [151,78] let s:lib.Codec.encoding_table["26745"] = [151,79] let s:lib.Codec.encoding_table["26746"] = [151,80] let s:lib.Codec.encoding_table["26747"] = [151,81] let s:lib.Codec.encoding_table["26748"] = [151,82] let s:lib.Codec.encoding_table["26749"] = [151,83] let s:lib.Codec.encoding_table["26750"] = [151,84] let s:lib.Codec.encoding_table["26751"] = [151,85] let s:lib.Codec.encoding_table["26752"] = [151,86] let s:lib.Codec.encoding_table["26754"] = [151,87] let s:lib.Codec.encoding_table["26756"] = [151,88] let s:lib.Codec.encoding_table["26759"] = [151,89] let s:lib.Codec.encoding_table["26760"] = [151,90] let s:lib.Codec.encoding_table["26761"] = [151,91] let s:lib.Codec.encoding_table["26762"] = [151,92] let s:lib.Codec.encoding_table["26763"] = [151,93] let s:lib.Codec.encoding_table["26764"] = [151,94] let s:lib.Codec.encoding_table["26765"] = [151,95] let s:lib.Codec.encoding_table["26766"] = [151,96] let s:lib.Codec.encoding_table["26768"] = [151,97] let s:lib.Codec.encoding_table["26769"] = [151,98] let s:lib.Codec.encoding_table["26770"] = [151,99] let s:lib.Codec.encoding_table["26772"] = [151,100] let s:lib.Codec.encoding_table["26773"] = [151,101] let s:lib.Codec.encoding_table["26774"] = [151,102] let s:lib.Codec.encoding_table["26776"] = [151,103] let s:lib.Codec.encoding_table["26777"] = [151,104] let s:lib.Codec.encoding_table["26778"] = [151,105] let s:lib.Codec.encoding_table["26779"] = [151,106] let s:lib.Codec.encoding_table["26780"] = [151,107] let s:lib.Codec.encoding_table["26781"] = [151,108] let s:lib.Codec.encoding_table["26782"] = [151,109] let s:lib.Codec.encoding_table["26783"] = [151,110] let s:lib.Codec.encoding_table["26784"] = [151,111] let s:lib.Codec.encoding_table["26785"] = [151,112] let s:lib.Codec.encoding_table["26787"] = [151,113] let s:lib.Codec.encoding_table["26788"] = [151,114] let s:lib.Codec.encoding_table["26789"] = [151,115] let s:lib.Codec.encoding_table["26793"] = [151,116] let s:lib.Codec.encoding_table["26794"] = [151,117] let s:lib.Codec.encoding_table["26795"] = [151,118] let s:lib.Codec.encoding_table["26796"] = [151,119] let s:lib.Codec.encoding_table["26798"] = [151,120] let s:lib.Codec.encoding_table["26801"] = [151,121] let s:lib.Codec.encoding_table["26802"] = [151,122] let s:lib.Codec.encoding_table["26804"] = [151,123] let s:lib.Codec.encoding_table["26806"] = [151,124] let s:lib.Codec.encoding_table["26807"] = [151,125] let s:lib.Codec.encoding_table["26808"] = [151,126] let s:lib.Codec.encoding_table["26809"] = [151,128] let s:lib.Codec.encoding_table["26810"] = [151,129] let s:lib.Codec.encoding_table["26811"] = [151,130] let s:lib.Codec.encoding_table["26812"] = [151,131] let s:lib.Codec.encoding_table["26813"] = [151,132] let s:lib.Codec.encoding_table["26814"] = [151,133] let s:lib.Codec.encoding_table["26815"] = [151,134] let s:lib.Codec.encoding_table["26817"] = [151,135] let s:lib.Codec.encoding_table["26819"] = [151,136] let s:lib.Codec.encoding_table["26820"] = [151,137] let s:lib.Codec.encoding_table["26821"] = [151,138] let s:lib.Codec.encoding_table["26822"] = [151,139] let s:lib.Codec.encoding_table["26823"] = [151,140] let s:lib.Codec.encoding_table["26824"] = [151,141] let s:lib.Codec.encoding_table["26826"] = [151,142] let s:lib.Codec.encoding_table["26828"] = [151,143] let s:lib.Codec.encoding_table["26830"] = [151,144] let s:lib.Codec.encoding_table["26831"] = [151,145] let s:lib.Codec.encoding_table["26832"] = [151,146] let s:lib.Codec.encoding_table["26833"] = [151,147] let s:lib.Codec.encoding_table["26835"] = [151,148] let s:lib.Codec.encoding_table["26836"] = [151,149] let s:lib.Codec.encoding_table["26838"] = [151,150] let s:lib.Codec.encoding_table["26839"] = [151,151] let s:lib.Codec.encoding_table["26841"] = [151,152] let s:lib.Codec.encoding_table["26843"] = [151,153] let s:lib.Codec.encoding_table["26844"] = [151,154] let s:lib.Codec.encoding_table["26845"] = [151,155] let s:lib.Codec.encoding_table["26846"] = [151,156] let s:lib.Codec.encoding_table["26847"] = [151,157] let s:lib.Codec.encoding_table["26849"] = [151,158] let s:lib.Codec.encoding_table["26850"] = [151,159] let s:lib.Codec.encoding_table["26852"] = [151,160] let s:lib.Codec.encoding_table["26853"] = [151,161] let s:lib.Codec.encoding_table["26854"] = [151,162] let s:lib.Codec.encoding_table["26855"] = [151,163] let s:lib.Codec.encoding_table["26856"] = [151,164] let s:lib.Codec.encoding_table["26857"] = [151,165] let s:lib.Codec.encoding_table["26858"] = [151,166] let s:lib.Codec.encoding_table["26859"] = [151,167] let s:lib.Codec.encoding_table["26860"] = [151,168] let s:lib.Codec.encoding_table["26861"] = [151,169] let s:lib.Codec.encoding_table["26863"] = [151,170] let s:lib.Codec.encoding_table["26866"] = [151,171] let s:lib.Codec.encoding_table["26867"] = [151,172] let s:lib.Codec.encoding_table["26868"] = [151,173] let s:lib.Codec.encoding_table["26870"] = [151,174] let s:lib.Codec.encoding_table["26871"] = [151,175] let s:lib.Codec.encoding_table["26872"] = [151,176] let s:lib.Codec.encoding_table["26875"] = [151,177] let s:lib.Codec.encoding_table["26877"] = [151,178] let s:lib.Codec.encoding_table["26878"] = [151,179] let s:lib.Codec.encoding_table["26879"] = [151,180] let s:lib.Codec.encoding_table["26880"] = [151,181] let s:lib.Codec.encoding_table["26882"] = [151,182] let s:lib.Codec.encoding_table["26883"] = [151,183] let s:lib.Codec.encoding_table["26884"] = [151,184] let s:lib.Codec.encoding_table["26886"] = [151,185] let s:lib.Codec.encoding_table["26887"] = [151,186] let s:lib.Codec.encoding_table["26888"] = [151,187] let s:lib.Codec.encoding_table["26889"] = [151,188] let s:lib.Codec.encoding_table["26890"] = [151,189] let s:lib.Codec.encoding_table["26892"] = [151,190] let s:lib.Codec.encoding_table["26895"] = [151,191] let s:lib.Codec.encoding_table["26897"] = [151,192] let s:lib.Codec.encoding_table["26899"] = [151,193] let s:lib.Codec.encoding_table["26900"] = [151,194] let s:lib.Codec.encoding_table["26901"] = [151,195] let s:lib.Codec.encoding_table["26902"] = [151,196] let s:lib.Codec.encoding_table["26903"] = [151,197] let s:lib.Codec.encoding_table["26904"] = [151,198] let s:lib.Codec.encoding_table["26905"] = [151,199] let s:lib.Codec.encoding_table["26906"] = [151,200] let s:lib.Codec.encoding_table["26907"] = [151,201] let s:lib.Codec.encoding_table["26908"] = [151,202] let s:lib.Codec.encoding_table["26909"] = [151,203] let s:lib.Codec.encoding_table["26910"] = [151,204] let s:lib.Codec.encoding_table["26913"] = [151,205] let s:lib.Codec.encoding_table["26914"] = [151,206] let s:lib.Codec.encoding_table["26915"] = [151,207] let s:lib.Codec.encoding_table["26917"] = [151,208] let s:lib.Codec.encoding_table["26918"] = [151,209] let s:lib.Codec.encoding_table["26919"] = [151,210] let s:lib.Codec.encoding_table["26920"] = [151,211] let s:lib.Codec.encoding_table["26921"] = [151,212] let s:lib.Codec.encoding_table["26922"] = [151,213] let s:lib.Codec.encoding_table["26923"] = [151,214] let s:lib.Codec.encoding_table["26924"] = [151,215] let s:lib.Codec.encoding_table["26926"] = [151,216] let s:lib.Codec.encoding_table["26927"] = [151,217] let s:lib.Codec.encoding_table["26929"] = [151,218] let s:lib.Codec.encoding_table["26930"] = [151,219] let s:lib.Codec.encoding_table["26931"] = [151,220] let s:lib.Codec.encoding_table["26933"] = [151,221] let s:lib.Codec.encoding_table["26934"] = [151,222] let s:lib.Codec.encoding_table["26935"] = [151,223] let s:lib.Codec.encoding_table["26936"] = [151,224] let s:lib.Codec.encoding_table["26938"] = [151,225] let s:lib.Codec.encoding_table["26939"] = [151,226] let s:lib.Codec.encoding_table["26940"] = [151,227] let s:lib.Codec.encoding_table["26942"] = [151,228] let s:lib.Codec.encoding_table["26944"] = [151,229] let s:lib.Codec.encoding_table["26945"] = [151,230] let s:lib.Codec.encoding_table["26947"] = [151,231] let s:lib.Codec.encoding_table["26948"] = [151,232] let s:lib.Codec.encoding_table["26949"] = [151,233] let s:lib.Codec.encoding_table["26950"] = [151,234] let s:lib.Codec.encoding_table["26951"] = [151,235] let s:lib.Codec.encoding_table["26952"] = [151,236] let s:lib.Codec.encoding_table["26953"] = [151,237] let s:lib.Codec.encoding_table["26954"] = [151,238] let s:lib.Codec.encoding_table["26955"] = [151,239] let s:lib.Codec.encoding_table["26956"] = [151,240] let s:lib.Codec.encoding_table["26957"] = [151,241] let s:lib.Codec.encoding_table["26958"] = [151,242] let s:lib.Codec.encoding_table["26959"] = [151,243] let s:lib.Codec.encoding_table["26960"] = [151,244] let s:lib.Codec.encoding_table["26961"] = [151,245] let s:lib.Codec.encoding_table["26962"] = [151,246] let s:lib.Codec.encoding_table["26963"] = [151,247] let s:lib.Codec.encoding_table["26965"] = [151,248] let s:lib.Codec.encoding_table["26966"] = [151,249] let s:lib.Codec.encoding_table["26968"] = [151,250] let s:lib.Codec.encoding_table["26969"] = [151,251] let s:lib.Codec.encoding_table["26971"] = [151,252] let s:lib.Codec.encoding_table["26972"] = [151,253] let s:lib.Codec.encoding_table["26975"] = [151,254] let s:lib.Codec.encoding_table["26977"] = [152,64] let s:lib.Codec.encoding_table["26978"] = [152,65] let s:lib.Codec.encoding_table["26980"] = [152,66] let s:lib.Codec.encoding_table["26981"] = [152,67] let s:lib.Codec.encoding_table["26983"] = [152,68] let s:lib.Codec.encoding_table["26984"] = [152,69] let s:lib.Codec.encoding_table["26985"] = [152,70] let s:lib.Codec.encoding_table["26986"] = [152,71] let s:lib.Codec.encoding_table["26988"] = [152,72] let s:lib.Codec.encoding_table["26989"] = [152,73] let s:lib.Codec.encoding_table["26991"] = [152,74] let s:lib.Codec.encoding_table["26992"] = [152,75] let s:lib.Codec.encoding_table["26994"] = [152,76] let s:lib.Codec.encoding_table["26995"] = [152,77] let s:lib.Codec.encoding_table["26996"] = [152,78] let s:lib.Codec.encoding_table["26997"] = [152,79] let s:lib.Codec.encoding_table["26998"] = [152,80] let s:lib.Codec.encoding_table["27002"] = [152,81] let s:lib.Codec.encoding_table["27003"] = [152,82] let s:lib.Codec.encoding_table["27005"] = [152,83] let s:lib.Codec.encoding_table["27006"] = [152,84] let s:lib.Codec.encoding_table["27007"] = [152,85] let s:lib.Codec.encoding_table["27009"] = [152,86] let s:lib.Codec.encoding_table["27011"] = [152,87] let s:lib.Codec.encoding_table["27013"] = [152,88] let s:lib.Codec.encoding_table["27018"] = [152,89] let s:lib.Codec.encoding_table["27019"] = [152,90] let s:lib.Codec.encoding_table["27020"] = [152,91] let s:lib.Codec.encoding_table["27022"] = [152,92] let s:lib.Codec.encoding_table["27023"] = [152,93] let s:lib.Codec.encoding_table["27024"] = [152,94] let s:lib.Codec.encoding_table["27025"] = [152,95] let s:lib.Codec.encoding_table["27026"] = [152,96] let s:lib.Codec.encoding_table["27027"] = [152,97] let s:lib.Codec.encoding_table["27030"] = [152,98] let s:lib.Codec.encoding_table["27031"] = [152,99] let s:lib.Codec.encoding_table["27033"] = [152,100] let s:lib.Codec.encoding_table["27034"] = [152,101] let s:lib.Codec.encoding_table["27037"] = [152,102] let s:lib.Codec.encoding_table["27038"] = [152,103] let s:lib.Codec.encoding_table["27039"] = [152,104] let s:lib.Codec.encoding_table["27040"] = [152,105] let s:lib.Codec.encoding_table["27041"] = [152,106] let s:lib.Codec.encoding_table["27042"] = [152,107] let s:lib.Codec.encoding_table["27043"] = [152,108] let s:lib.Codec.encoding_table["27044"] = [152,109] let s:lib.Codec.encoding_table["27045"] = [152,110] let s:lib.Codec.encoding_table["27046"] = [152,111] let s:lib.Codec.encoding_table["27049"] = [152,112] let s:lib.Codec.encoding_table["27050"] = [152,113] let s:lib.Codec.encoding_table["27052"] = [152,114] let s:lib.Codec.encoding_table["27054"] = [152,115] let s:lib.Codec.encoding_table["27055"] = [152,116] let s:lib.Codec.encoding_table["27056"] = [152,117] let s:lib.Codec.encoding_table["27058"] = [152,118] let s:lib.Codec.encoding_table["27059"] = [152,119] let s:lib.Codec.encoding_table["27061"] = [152,120] let s:lib.Codec.encoding_table["27062"] = [152,121] let s:lib.Codec.encoding_table["27064"] = [152,122] let s:lib.Codec.encoding_table["27065"] = [152,123] let s:lib.Codec.encoding_table["27066"] = [152,124] let s:lib.Codec.encoding_table["27068"] = [152,125] let s:lib.Codec.encoding_table["27069"] = [152,126] let s:lib.Codec.encoding_table["27070"] = [152,128] let s:lib.Codec.encoding_table["27071"] = [152,129] let s:lib.Codec.encoding_table["27072"] = [152,130] let s:lib.Codec.encoding_table["27074"] = [152,131] let s:lib.Codec.encoding_table["27075"] = [152,132] let s:lib.Codec.encoding_table["27076"] = [152,133] let s:lib.Codec.encoding_table["27077"] = [152,134] let s:lib.Codec.encoding_table["27078"] = [152,135] let s:lib.Codec.encoding_table["27079"] = [152,136] let s:lib.Codec.encoding_table["27080"] = [152,137] let s:lib.Codec.encoding_table["27081"] = [152,138] let s:lib.Codec.encoding_table["27083"] = [152,139] let s:lib.Codec.encoding_table["27085"] = [152,140] let s:lib.Codec.encoding_table["27087"] = [152,141] let s:lib.Codec.encoding_table["27089"] = [152,142] let s:lib.Codec.encoding_table["27090"] = [152,143] let s:lib.Codec.encoding_table["27091"] = [152,144] let s:lib.Codec.encoding_table["27093"] = [152,145] let s:lib.Codec.encoding_table["27094"] = [152,146] let s:lib.Codec.encoding_table["27095"] = [152,147] let s:lib.Codec.encoding_table["27096"] = [152,148] let s:lib.Codec.encoding_table["27097"] = [152,149] let s:lib.Codec.encoding_table["27098"] = [152,150] let s:lib.Codec.encoding_table["27100"] = [152,151] let s:lib.Codec.encoding_table["27101"] = [152,152] let s:lib.Codec.encoding_table["27102"] = [152,153] let s:lib.Codec.encoding_table["27105"] = [152,154] let s:lib.Codec.encoding_table["27106"] = [152,155] let s:lib.Codec.encoding_table["27107"] = [152,156] let s:lib.Codec.encoding_table["27108"] = [152,157] let s:lib.Codec.encoding_table["27109"] = [152,158] let s:lib.Codec.encoding_table["27110"] = [152,159] let s:lib.Codec.encoding_table["27111"] = [152,160] let s:lib.Codec.encoding_table["27112"] = [152,161] let s:lib.Codec.encoding_table["27113"] = [152,162] let s:lib.Codec.encoding_table["27114"] = [152,163] let s:lib.Codec.encoding_table["27115"] = [152,164] let s:lib.Codec.encoding_table["27116"] = [152,165] let s:lib.Codec.encoding_table["27118"] = [152,166] let s:lib.Codec.encoding_table["27119"] = [152,167] let s:lib.Codec.encoding_table["27120"] = [152,168] let s:lib.Codec.encoding_table["27121"] = [152,169] let s:lib.Codec.encoding_table["27123"] = [152,170] let s:lib.Codec.encoding_table["27124"] = [152,171] let s:lib.Codec.encoding_table["27125"] = [152,172] let s:lib.Codec.encoding_table["27126"] = [152,173] let s:lib.Codec.encoding_table["27127"] = [152,174] let s:lib.Codec.encoding_table["27128"] = [152,175] let s:lib.Codec.encoding_table["27129"] = [152,176] let s:lib.Codec.encoding_table["27130"] = [152,177] let s:lib.Codec.encoding_table["27131"] = [152,178] let s:lib.Codec.encoding_table["27132"] = [152,179] let s:lib.Codec.encoding_table["27134"] = [152,180] let s:lib.Codec.encoding_table["27136"] = [152,181] let s:lib.Codec.encoding_table["27137"] = [152,182] let s:lib.Codec.encoding_table["27138"] = [152,183] let s:lib.Codec.encoding_table["27139"] = [152,184] let s:lib.Codec.encoding_table["27140"] = [152,185] let s:lib.Codec.encoding_table["27141"] = [152,186] let s:lib.Codec.encoding_table["27142"] = [152,187] let s:lib.Codec.encoding_table["27143"] = [152,188] let s:lib.Codec.encoding_table["27144"] = [152,189] let s:lib.Codec.encoding_table["27145"] = [152,190] let s:lib.Codec.encoding_table["27147"] = [152,191] let s:lib.Codec.encoding_table["27148"] = [152,192] let s:lib.Codec.encoding_table["27149"] = [152,193] let s:lib.Codec.encoding_table["27150"] = [152,194] let s:lib.Codec.encoding_table["27151"] = [152,195] let s:lib.Codec.encoding_table["27152"] = [152,196] let s:lib.Codec.encoding_table["27153"] = [152,197] let s:lib.Codec.encoding_table["27154"] = [152,198] let s:lib.Codec.encoding_table["27155"] = [152,199] let s:lib.Codec.encoding_table["27156"] = [152,200] let s:lib.Codec.encoding_table["27157"] = [152,201] let s:lib.Codec.encoding_table["27158"] = [152,202] let s:lib.Codec.encoding_table["27161"] = [152,203] let s:lib.Codec.encoding_table["27162"] = [152,204] let s:lib.Codec.encoding_table["27163"] = [152,205] let s:lib.Codec.encoding_table["27164"] = [152,206] let s:lib.Codec.encoding_table["27165"] = [152,207] let s:lib.Codec.encoding_table["27166"] = [152,208] let s:lib.Codec.encoding_table["27168"] = [152,209] let s:lib.Codec.encoding_table["27170"] = [152,210] let s:lib.Codec.encoding_table["27171"] = [152,211] let s:lib.Codec.encoding_table["27172"] = [152,212] let s:lib.Codec.encoding_table["27173"] = [152,213] let s:lib.Codec.encoding_table["27174"] = [152,214] let s:lib.Codec.encoding_table["27175"] = [152,215] let s:lib.Codec.encoding_table["27177"] = [152,216] let s:lib.Codec.encoding_table["27179"] = [152,217] let s:lib.Codec.encoding_table["27180"] = [152,218] let s:lib.Codec.encoding_table["27181"] = [152,219] let s:lib.Codec.encoding_table["27182"] = [152,220] let s:lib.Codec.encoding_table["27184"] = [152,221] let s:lib.Codec.encoding_table["27186"] = [152,222] let s:lib.Codec.encoding_table["27187"] = [152,223] let s:lib.Codec.encoding_table["27188"] = [152,224] let s:lib.Codec.encoding_table["27190"] = [152,225] let s:lib.Codec.encoding_table["27191"] = [152,226] let s:lib.Codec.encoding_table["27192"] = [152,227] let s:lib.Codec.encoding_table["27193"] = [152,228] let s:lib.Codec.encoding_table["27194"] = [152,229] let s:lib.Codec.encoding_table["27195"] = [152,230] let s:lib.Codec.encoding_table["27196"] = [152,231] let s:lib.Codec.encoding_table["27199"] = [152,232] let s:lib.Codec.encoding_table["27200"] = [152,233] let s:lib.Codec.encoding_table["27201"] = [152,234] let s:lib.Codec.encoding_table["27202"] = [152,235] let s:lib.Codec.encoding_table["27203"] = [152,236] let s:lib.Codec.encoding_table["27205"] = [152,237] let s:lib.Codec.encoding_table["27206"] = [152,238] let s:lib.Codec.encoding_table["27208"] = [152,239] let s:lib.Codec.encoding_table["27209"] = [152,240] let s:lib.Codec.encoding_table["27210"] = [152,241] let s:lib.Codec.encoding_table["27211"] = [152,242] let s:lib.Codec.encoding_table["27212"] = [152,243] let s:lib.Codec.encoding_table["27213"] = [152,244] let s:lib.Codec.encoding_table["27214"] = [152,245] let s:lib.Codec.encoding_table["27215"] = [152,246] let s:lib.Codec.encoding_table["27217"] = [152,247] let s:lib.Codec.encoding_table["27218"] = [152,248] let s:lib.Codec.encoding_table["27219"] = [152,249] let s:lib.Codec.encoding_table["27220"] = [152,250] let s:lib.Codec.encoding_table["27221"] = [152,251] let s:lib.Codec.encoding_table["27222"] = [152,252] let s:lib.Codec.encoding_table["27223"] = [152,253] let s:lib.Codec.encoding_table["27226"] = [152,254] let s:lib.Codec.encoding_table["27228"] = [153,64] let s:lib.Codec.encoding_table["27229"] = [153,65] let s:lib.Codec.encoding_table["27230"] = [153,66] let s:lib.Codec.encoding_table["27231"] = [153,67] let s:lib.Codec.encoding_table["27232"] = [153,68] let s:lib.Codec.encoding_table["27234"] = [153,69] let s:lib.Codec.encoding_table["27235"] = [153,70] let s:lib.Codec.encoding_table["27236"] = [153,71] let s:lib.Codec.encoding_table["27238"] = [153,72] let s:lib.Codec.encoding_table["27239"] = [153,73] let s:lib.Codec.encoding_table["27240"] = [153,74] let s:lib.Codec.encoding_table["27241"] = [153,75] let s:lib.Codec.encoding_table["27242"] = [153,76] let s:lib.Codec.encoding_table["27243"] = [153,77] let s:lib.Codec.encoding_table["27244"] = [153,78] let s:lib.Codec.encoding_table["27245"] = [153,79] let s:lib.Codec.encoding_table["27246"] = [153,80] let s:lib.Codec.encoding_table["27247"] = [153,81] let s:lib.Codec.encoding_table["27248"] = [153,82] let s:lib.Codec.encoding_table["27250"] = [153,83] let s:lib.Codec.encoding_table["27251"] = [153,84] let s:lib.Codec.encoding_table["27252"] = [153,85] let s:lib.Codec.encoding_table["27253"] = [153,86] let s:lib.Codec.encoding_table["27254"] = [153,87] let s:lib.Codec.encoding_table["27255"] = [153,88] let s:lib.Codec.encoding_table["27256"] = [153,89] let s:lib.Codec.encoding_table["27258"] = [153,90] let s:lib.Codec.encoding_table["27259"] = [153,91] let s:lib.Codec.encoding_table["27261"] = [153,92] let s:lib.Codec.encoding_table["27262"] = [153,93] let s:lib.Codec.encoding_table["27263"] = [153,94] let s:lib.Codec.encoding_table["27265"] = [153,95] let s:lib.Codec.encoding_table["27266"] = [153,96] let s:lib.Codec.encoding_table["27267"] = [153,97] let s:lib.Codec.encoding_table["27269"] = [153,98] let s:lib.Codec.encoding_table["27270"] = [153,99] let s:lib.Codec.encoding_table["27271"] = [153,100] let s:lib.Codec.encoding_table["27272"] = [153,101] let s:lib.Codec.encoding_table["27273"] = [153,102] let s:lib.Codec.encoding_table["27274"] = [153,103] let s:lib.Codec.encoding_table["27275"] = [153,104] let s:lib.Codec.encoding_table["27276"] = [153,105] let s:lib.Codec.encoding_table["27277"] = [153,106] let s:lib.Codec.encoding_table["27279"] = [153,107] let s:lib.Codec.encoding_table["27282"] = [153,108] let s:lib.Codec.encoding_table["27283"] = [153,109] let s:lib.Codec.encoding_table["27284"] = [153,110] let s:lib.Codec.encoding_table["27285"] = [153,111] let s:lib.Codec.encoding_table["27286"] = [153,112] let s:lib.Codec.encoding_table["27288"] = [153,113] let s:lib.Codec.encoding_table["27289"] = [153,114] let s:lib.Codec.encoding_table["27290"] = [153,115] let s:lib.Codec.encoding_table["27291"] = [153,116] let s:lib.Codec.encoding_table["27292"] = [153,117] let s:lib.Codec.encoding_table["27293"] = [153,118] let s:lib.Codec.encoding_table["27294"] = [153,119] let s:lib.Codec.encoding_table["27295"] = [153,120] let s:lib.Codec.encoding_table["27297"] = [153,121] let s:lib.Codec.encoding_table["27298"] = [153,122] let s:lib.Codec.encoding_table["27299"] = [153,123] let s:lib.Codec.encoding_table["27300"] = [153,124] let s:lib.Codec.encoding_table["27301"] = [153,125] let s:lib.Codec.encoding_table["27302"] = [153,126] let s:lib.Codec.encoding_table["27303"] = [153,128] let s:lib.Codec.encoding_table["27304"] = [153,129] let s:lib.Codec.encoding_table["27306"] = [153,130] let s:lib.Codec.encoding_table["27309"] = [153,131] let s:lib.Codec.encoding_table["27310"] = [153,132] let s:lib.Codec.encoding_table["27311"] = [153,133] let s:lib.Codec.encoding_table["27312"] = [153,134] let s:lib.Codec.encoding_table["27313"] = [153,135] let s:lib.Codec.encoding_table["27314"] = [153,136] let s:lib.Codec.encoding_table["27315"] = [153,137] let s:lib.Codec.encoding_table["27316"] = [153,138] let s:lib.Codec.encoding_table["27317"] = [153,139] let s:lib.Codec.encoding_table["27318"] = [153,140] let s:lib.Codec.encoding_table["27319"] = [153,141] let s:lib.Codec.encoding_table["27320"] = [153,142] let s:lib.Codec.encoding_table["27321"] = [153,143] let s:lib.Codec.encoding_table["27322"] = [153,144] let s:lib.Codec.encoding_table["27323"] = [153,145] let s:lib.Codec.encoding_table["27324"] = [153,146] let s:lib.Codec.encoding_table["27325"] = [153,147] let s:lib.Codec.encoding_table["27326"] = [153,148] let s:lib.Codec.encoding_table["27327"] = [153,149] let s:lib.Codec.encoding_table["27328"] = [153,150] let s:lib.Codec.encoding_table["27329"] = [153,151] let s:lib.Codec.encoding_table["27330"] = [153,152] let s:lib.Codec.encoding_table["27331"] = [153,153] let s:lib.Codec.encoding_table["27332"] = [153,154] let s:lib.Codec.encoding_table["27333"] = [153,155] let s:lib.Codec.encoding_table["27334"] = [153,156] let s:lib.Codec.encoding_table["27335"] = [153,157] let s:lib.Codec.encoding_table["27336"] = [153,158] let s:lib.Codec.encoding_table["27337"] = [153,159] let s:lib.Codec.encoding_table["27338"] = [153,160] let s:lib.Codec.encoding_table["27339"] = [153,161] let s:lib.Codec.encoding_table["27340"] = [153,162] let s:lib.Codec.encoding_table["27341"] = [153,163] let s:lib.Codec.encoding_table["27342"] = [153,164] let s:lib.Codec.encoding_table["27343"] = [153,165] let s:lib.Codec.encoding_table["27344"] = [153,166] let s:lib.Codec.encoding_table["27345"] = [153,167] let s:lib.Codec.encoding_table["27346"] = [153,168] let s:lib.Codec.encoding_table["27347"] = [153,169] let s:lib.Codec.encoding_table["27348"] = [153,170] let s:lib.Codec.encoding_table["27349"] = [153,171] let s:lib.Codec.encoding_table["27350"] = [153,172] let s:lib.Codec.encoding_table["27351"] = [153,173] let s:lib.Codec.encoding_table["27352"] = [153,174] let s:lib.Codec.encoding_table["27353"] = [153,175] let s:lib.Codec.encoding_table["27354"] = [153,176] let s:lib.Codec.encoding_table["27355"] = [153,177] let s:lib.Codec.encoding_table["27356"] = [153,178] let s:lib.Codec.encoding_table["27357"] = [153,179] let s:lib.Codec.encoding_table["27358"] = [153,180] let s:lib.Codec.encoding_table["27359"] = [153,181] let s:lib.Codec.encoding_table["27360"] = [153,182] let s:lib.Codec.encoding_table["27361"] = [153,183] let s:lib.Codec.encoding_table["27362"] = [153,184] let s:lib.Codec.encoding_table["27363"] = [153,185] let s:lib.Codec.encoding_table["27364"] = [153,186] let s:lib.Codec.encoding_table["27365"] = [153,187] let s:lib.Codec.encoding_table["27366"] = [153,188] let s:lib.Codec.encoding_table["27367"] = [153,189] let s:lib.Codec.encoding_table["27368"] = [153,190] let s:lib.Codec.encoding_table["27369"] = [153,191] let s:lib.Codec.encoding_table["27370"] = [153,192] let s:lib.Codec.encoding_table["27371"] = [153,193] let s:lib.Codec.encoding_table["27372"] = [153,194] let s:lib.Codec.encoding_table["27373"] = [153,195] let s:lib.Codec.encoding_table["27374"] = [153,196] let s:lib.Codec.encoding_table["27375"] = [153,197] let s:lib.Codec.encoding_table["27376"] = [153,198] let s:lib.Codec.encoding_table["27377"] = [153,199] let s:lib.Codec.encoding_table["27378"] = [153,200] let s:lib.Codec.encoding_table["27379"] = [153,201] let s:lib.Codec.encoding_table["27380"] = [153,202] let s:lib.Codec.encoding_table["27381"] = [153,203] let s:lib.Codec.encoding_table["27382"] = [153,204] let s:lib.Codec.encoding_table["27383"] = [153,205] let s:lib.Codec.encoding_table["27384"] = [153,206] let s:lib.Codec.encoding_table["27385"] = [153,207] let s:lib.Codec.encoding_table["27386"] = [153,208] let s:lib.Codec.encoding_table["27387"] = [153,209] let s:lib.Codec.encoding_table["27388"] = [153,210] let s:lib.Codec.encoding_table["27389"] = [153,211] let s:lib.Codec.encoding_table["27390"] = [153,212] let s:lib.Codec.encoding_table["27391"] = [153,213] let s:lib.Codec.encoding_table["27392"] = [153,214] let s:lib.Codec.encoding_table["27393"] = [153,215] let s:lib.Codec.encoding_table["27394"] = [153,216] let s:lib.Codec.encoding_table["27395"] = [153,217] let s:lib.Codec.encoding_table["27396"] = [153,218] let s:lib.Codec.encoding_table["27397"] = [153,219] let s:lib.Codec.encoding_table["27398"] = [153,220] let s:lib.Codec.encoding_table["27399"] = [153,221] let s:lib.Codec.encoding_table["27400"] = [153,222] let s:lib.Codec.encoding_table["27401"] = [153,223] let s:lib.Codec.encoding_table["27402"] = [153,224] let s:lib.Codec.encoding_table["27403"] = [153,225] let s:lib.Codec.encoding_table["27404"] = [153,226] let s:lib.Codec.encoding_table["27405"] = [153,227] let s:lib.Codec.encoding_table["27406"] = [153,228] let s:lib.Codec.encoding_table["27407"] = [153,229] let s:lib.Codec.encoding_table["27408"] = [153,230] let s:lib.Codec.encoding_table["27409"] = [153,231] let s:lib.Codec.encoding_table["27410"] = [153,232] let s:lib.Codec.encoding_table["27411"] = [153,233] let s:lib.Codec.encoding_table["27412"] = [153,234] let s:lib.Codec.encoding_table["27413"] = [153,235] let s:lib.Codec.encoding_table["27414"] = [153,236] let s:lib.Codec.encoding_table["27415"] = [153,237] let s:lib.Codec.encoding_table["27416"] = [153,238] let s:lib.Codec.encoding_table["27417"] = [153,239] let s:lib.Codec.encoding_table["27418"] = [153,240] let s:lib.Codec.encoding_table["27419"] = [153,241] let s:lib.Codec.encoding_table["27420"] = [153,242] let s:lib.Codec.encoding_table["27421"] = [153,243] let s:lib.Codec.encoding_table["27422"] = [153,244] let s:lib.Codec.encoding_table["27423"] = [153,245] let s:lib.Codec.encoding_table["27429"] = [153,246] let s:lib.Codec.encoding_table["27430"] = [153,247] let s:lib.Codec.encoding_table["27432"] = [153,248] let s:lib.Codec.encoding_table["27433"] = [153,249] let s:lib.Codec.encoding_table["27434"] = [153,250] let s:lib.Codec.encoding_table["27435"] = [153,251] let s:lib.Codec.encoding_table["27436"] = [153,252] let s:lib.Codec.encoding_table["27437"] = [153,253] let s:lib.Codec.encoding_table["27438"] = [153,254] let s:lib.Codec.encoding_table["27439"] = [154,64] let s:lib.Codec.encoding_table["27440"] = [154,65] let s:lib.Codec.encoding_table["27441"] = [154,66] let s:lib.Codec.encoding_table["27443"] = [154,67] let s:lib.Codec.encoding_table["27444"] = [154,68] let s:lib.Codec.encoding_table["27445"] = [154,69] let s:lib.Codec.encoding_table["27446"] = [154,70] let s:lib.Codec.encoding_table["27448"] = [154,71] let s:lib.Codec.encoding_table["27451"] = [154,72] let s:lib.Codec.encoding_table["27452"] = [154,73] let s:lib.Codec.encoding_table["27453"] = [154,74] let s:lib.Codec.encoding_table["27455"] = [154,75] let s:lib.Codec.encoding_table["27456"] = [154,76] let s:lib.Codec.encoding_table["27457"] = [154,77] let s:lib.Codec.encoding_table["27458"] = [154,78] let s:lib.Codec.encoding_table["27460"] = [154,79] let s:lib.Codec.encoding_table["27461"] = [154,80] let s:lib.Codec.encoding_table["27464"] = [154,81] let s:lib.Codec.encoding_table["27466"] = [154,82] let s:lib.Codec.encoding_table["27467"] = [154,83] let s:lib.Codec.encoding_table["27469"] = [154,84] let s:lib.Codec.encoding_table["27470"] = [154,85] let s:lib.Codec.encoding_table["27471"] = [154,86] let s:lib.Codec.encoding_table["27472"] = [154,87] let s:lib.Codec.encoding_table["27473"] = [154,88] let s:lib.Codec.encoding_table["27474"] = [154,89] let s:lib.Codec.encoding_table["27475"] = [154,90] let s:lib.Codec.encoding_table["27476"] = [154,91] let s:lib.Codec.encoding_table["27477"] = [154,92] let s:lib.Codec.encoding_table["27478"] = [154,93] let s:lib.Codec.encoding_table["27479"] = [154,94] let s:lib.Codec.encoding_table["27480"] = [154,95] let s:lib.Codec.encoding_table["27482"] = [154,96] let s:lib.Codec.encoding_table["27483"] = [154,97] let s:lib.Codec.encoding_table["27484"] = [154,98] let s:lib.Codec.encoding_table["27485"] = [154,99] let s:lib.Codec.encoding_table["27486"] = [154,100] let s:lib.Codec.encoding_table["27487"] = [154,101] let s:lib.Codec.encoding_table["27488"] = [154,102] let s:lib.Codec.encoding_table["27489"] = [154,103] let s:lib.Codec.encoding_table["27496"] = [154,104] let s:lib.Codec.encoding_table["27497"] = [154,105] let s:lib.Codec.encoding_table["27499"] = [154,106] let s:lib.Codec.encoding_table["27500"] = [154,107] let s:lib.Codec.encoding_table["27501"] = [154,108] let s:lib.Codec.encoding_table["27502"] = [154,109] let s:lib.Codec.encoding_table["27503"] = [154,110] let s:lib.Codec.encoding_table["27504"] = [154,111] let s:lib.Codec.encoding_table["27505"] = [154,112] let s:lib.Codec.encoding_table["27506"] = [154,113] let s:lib.Codec.encoding_table["27507"] = [154,114] let s:lib.Codec.encoding_table["27508"] = [154,115] let s:lib.Codec.encoding_table["27509"] = [154,116] let s:lib.Codec.encoding_table["27510"] = [154,117] let s:lib.Codec.encoding_table["27511"] = [154,118] let s:lib.Codec.encoding_table["27512"] = [154,119] let s:lib.Codec.encoding_table["27514"] = [154,120] let s:lib.Codec.encoding_table["27517"] = [154,121] let s:lib.Codec.encoding_table["27518"] = [154,122] let s:lib.Codec.encoding_table["27519"] = [154,123] let s:lib.Codec.encoding_table["27520"] = [154,124] let s:lib.Codec.encoding_table["27525"] = [154,125] let s:lib.Codec.encoding_table["27528"] = [154,126] let s:lib.Codec.encoding_table["27532"] = [154,128] let s:lib.Codec.encoding_table["27534"] = [154,129] let s:lib.Codec.encoding_table["27535"] = [154,130] let s:lib.Codec.encoding_table["27536"] = [154,131] let s:lib.Codec.encoding_table["27537"] = [154,132] let s:lib.Codec.encoding_table["27540"] = [154,133] let s:lib.Codec.encoding_table["27541"] = [154,134] let s:lib.Codec.encoding_table["27543"] = [154,135] let s:lib.Codec.encoding_table["27544"] = [154,136] let s:lib.Codec.encoding_table["27545"] = [154,137] let s:lib.Codec.encoding_table["27548"] = [154,138] let s:lib.Codec.encoding_table["27549"] = [154,139] let s:lib.Codec.encoding_table["27550"] = [154,140] let s:lib.Codec.encoding_table["27551"] = [154,141] let s:lib.Codec.encoding_table["27552"] = [154,142] let s:lib.Codec.encoding_table["27554"] = [154,143] let s:lib.Codec.encoding_table["27555"] = [154,144] let s:lib.Codec.encoding_table["27556"] = [154,145] let s:lib.Codec.encoding_table["27557"] = [154,146] let s:lib.Codec.encoding_table["27558"] = [154,147] let s:lib.Codec.encoding_table["27559"] = [154,148] let s:lib.Codec.encoding_table["27560"] = [154,149] let s:lib.Codec.encoding_table["27561"] = [154,150] let s:lib.Codec.encoding_table["27563"] = [154,151] let s:lib.Codec.encoding_table["27564"] = [154,152] let s:lib.Codec.encoding_table["27565"] = [154,153] let s:lib.Codec.encoding_table["27566"] = [154,154] let s:lib.Codec.encoding_table["27567"] = [154,155] let s:lib.Codec.encoding_table["27568"] = [154,156] let s:lib.Codec.encoding_table["27569"] = [154,157] let s:lib.Codec.encoding_table["27570"] = [154,158] let s:lib.Codec.encoding_table["27574"] = [154,159] let s:lib.Codec.encoding_table["27576"] = [154,160] let s:lib.Codec.encoding_table["27577"] = [154,161] let s:lib.Codec.encoding_table["27578"] = [154,162] let s:lib.Codec.encoding_table["27579"] = [154,163] let s:lib.Codec.encoding_table["27580"] = [154,164] let s:lib.Codec.encoding_table["27581"] = [154,165] let s:lib.Codec.encoding_table["27582"] = [154,166] let s:lib.Codec.encoding_table["27584"] = [154,167] let s:lib.Codec.encoding_table["27587"] = [154,168] let s:lib.Codec.encoding_table["27588"] = [154,169] let s:lib.Codec.encoding_table["27590"] = [154,170] let s:lib.Codec.encoding_table["27591"] = [154,171] let s:lib.Codec.encoding_table["27592"] = [154,172] let s:lib.Codec.encoding_table["27593"] = [154,173] let s:lib.Codec.encoding_table["27594"] = [154,174] let s:lib.Codec.encoding_table["27596"] = [154,175] let s:lib.Codec.encoding_table["27598"] = [154,176] let s:lib.Codec.encoding_table["27600"] = [154,177] let s:lib.Codec.encoding_table["27601"] = [154,178] let s:lib.Codec.encoding_table["27608"] = [154,179] let s:lib.Codec.encoding_table["27610"] = [154,180] let s:lib.Codec.encoding_table["27612"] = [154,181] let s:lib.Codec.encoding_table["27613"] = [154,182] let s:lib.Codec.encoding_table["27614"] = [154,183] let s:lib.Codec.encoding_table["27615"] = [154,184] let s:lib.Codec.encoding_table["27616"] = [154,185] let s:lib.Codec.encoding_table["27618"] = [154,186] let s:lib.Codec.encoding_table["27619"] = [154,187] let s:lib.Codec.encoding_table["27620"] = [154,188] let s:lib.Codec.encoding_table["27621"] = [154,189] let s:lib.Codec.encoding_table["27622"] = [154,190] let s:lib.Codec.encoding_table["27623"] = [154,191] let s:lib.Codec.encoding_table["27624"] = [154,192] let s:lib.Codec.encoding_table["27625"] = [154,193] let s:lib.Codec.encoding_table["27628"] = [154,194] let s:lib.Codec.encoding_table["27629"] = [154,195] let s:lib.Codec.encoding_table["27630"] = [154,196] let s:lib.Codec.encoding_table["27632"] = [154,197] let s:lib.Codec.encoding_table["27633"] = [154,198] let s:lib.Codec.encoding_table["27634"] = [154,199] let s:lib.Codec.encoding_table["27636"] = [154,200] let s:lib.Codec.encoding_table["27638"] = [154,201] let s:lib.Codec.encoding_table["27639"] = [154,202] let s:lib.Codec.encoding_table["27640"] = [154,203] let s:lib.Codec.encoding_table["27642"] = [154,204] let s:lib.Codec.encoding_table["27643"] = [154,205] let s:lib.Codec.encoding_table["27644"] = [154,206] let s:lib.Codec.encoding_table["27646"] = [154,207] let s:lib.Codec.encoding_table["27647"] = [154,208] let s:lib.Codec.encoding_table["27648"] = [154,209] let s:lib.Codec.encoding_table["27649"] = [154,210] let s:lib.Codec.encoding_table["27650"] = [154,211] let s:lib.Codec.encoding_table["27651"] = [154,212] let s:lib.Codec.encoding_table["27652"] = [154,213] let s:lib.Codec.encoding_table["27656"] = [154,214] let s:lib.Codec.encoding_table["27657"] = [154,215] let s:lib.Codec.encoding_table["27658"] = [154,216] let s:lib.Codec.encoding_table["27659"] = [154,217] let s:lib.Codec.encoding_table["27660"] = [154,218] let s:lib.Codec.encoding_table["27662"] = [154,219] let s:lib.Codec.encoding_table["27666"] = [154,220] let s:lib.Codec.encoding_table["27671"] = [154,221] let s:lib.Codec.encoding_table["27676"] = [154,222] let s:lib.Codec.encoding_table["27677"] = [154,223] let s:lib.Codec.encoding_table["27678"] = [154,224] let s:lib.Codec.encoding_table["27680"] = [154,225] let s:lib.Codec.encoding_table["27683"] = [154,226] let s:lib.Codec.encoding_table["27685"] = [154,227] let s:lib.Codec.encoding_table["27691"] = [154,228] let s:lib.Codec.encoding_table["27692"] = [154,229] let s:lib.Codec.encoding_table["27693"] = [154,230] let s:lib.Codec.encoding_table["27697"] = [154,231] let s:lib.Codec.encoding_table["27699"] = [154,232] let s:lib.Codec.encoding_table["27702"] = [154,233] let s:lib.Codec.encoding_table["27703"] = [154,234] let s:lib.Codec.encoding_table["27705"] = [154,235] let s:lib.Codec.encoding_table["27706"] = [154,236] let s:lib.Codec.encoding_table["27707"] = [154,237] let s:lib.Codec.encoding_table["27708"] = [154,238] let s:lib.Codec.encoding_table["27710"] = [154,239] let s:lib.Codec.encoding_table["27711"] = [154,240] let s:lib.Codec.encoding_table["27715"] = [154,241] let s:lib.Codec.encoding_table["27716"] = [154,242] let s:lib.Codec.encoding_table["27717"] = [154,243] let s:lib.Codec.encoding_table["27720"] = [154,244] let s:lib.Codec.encoding_table["27723"] = [154,245] let s:lib.Codec.encoding_table["27724"] = [154,246] let s:lib.Codec.encoding_table["27725"] = [154,247] let s:lib.Codec.encoding_table["27726"] = [154,248] let s:lib.Codec.encoding_table["27727"] = [154,249] let s:lib.Codec.encoding_table["27729"] = [154,250] let s:lib.Codec.encoding_table["27730"] = [154,251] let s:lib.Codec.encoding_table["27731"] = [154,252] let s:lib.Codec.encoding_table["27734"] = [154,253] let s:lib.Codec.encoding_table["27736"] = [154,254] let s:lib.Codec.encoding_table["27737"] = [155,64] let s:lib.Codec.encoding_table["27738"] = [155,65] let s:lib.Codec.encoding_table["27746"] = [155,66] let s:lib.Codec.encoding_table["27747"] = [155,67] let s:lib.Codec.encoding_table["27749"] = [155,68] let s:lib.Codec.encoding_table["27750"] = [155,69] let s:lib.Codec.encoding_table["27751"] = [155,70] let s:lib.Codec.encoding_table["27755"] = [155,71] let s:lib.Codec.encoding_table["27756"] = [155,72] let s:lib.Codec.encoding_table["27757"] = [155,73] let s:lib.Codec.encoding_table["27758"] = [155,74] let s:lib.Codec.encoding_table["27759"] = [155,75] let s:lib.Codec.encoding_table["27761"] = [155,76] let s:lib.Codec.encoding_table["27763"] = [155,77] let s:lib.Codec.encoding_table["27765"] = [155,78] let s:lib.Codec.encoding_table["27767"] = [155,79] let s:lib.Codec.encoding_table["27768"] = [155,80] let s:lib.Codec.encoding_table["27770"] = [155,81] let s:lib.Codec.encoding_table["27771"] = [155,82] let s:lib.Codec.encoding_table["27772"] = [155,83] let s:lib.Codec.encoding_table["27775"] = [155,84] let s:lib.Codec.encoding_table["27776"] = [155,85] let s:lib.Codec.encoding_table["27780"] = [155,86] let s:lib.Codec.encoding_table["27783"] = [155,87] let s:lib.Codec.encoding_table["27786"] = [155,88] let s:lib.Codec.encoding_table["27787"] = [155,89] let s:lib.Codec.encoding_table["27789"] = [155,90] let s:lib.Codec.encoding_table["27790"] = [155,91] let s:lib.Codec.encoding_table["27793"] = [155,92] let s:lib.Codec.encoding_table["27794"] = [155,93] let s:lib.Codec.encoding_table["27797"] = [155,94] let s:lib.Codec.encoding_table["27798"] = [155,95] let s:lib.Codec.encoding_table["27799"] = [155,96] let s:lib.Codec.encoding_table["27800"] = [155,97] let s:lib.Codec.encoding_table["27802"] = [155,98] let s:lib.Codec.encoding_table["27804"] = [155,99] let s:lib.Codec.encoding_table["27805"] = [155,100] let s:lib.Codec.encoding_table["27806"] = [155,101] let s:lib.Codec.encoding_table["27808"] = [155,102] let s:lib.Codec.encoding_table["27810"] = [155,103] let s:lib.Codec.encoding_table["27816"] = [155,104] let s:lib.Codec.encoding_table["27820"] = [155,105] let s:lib.Codec.encoding_table["27823"] = [155,106] let s:lib.Codec.encoding_table["27824"] = [155,107] let s:lib.Codec.encoding_table["27828"] = [155,108] let s:lib.Codec.encoding_table["27829"] = [155,109] let s:lib.Codec.encoding_table["27830"] = [155,110] let s:lib.Codec.encoding_table["27831"] = [155,111] let s:lib.Codec.encoding_table["27834"] = [155,112] let s:lib.Codec.encoding_table["27840"] = [155,113] let s:lib.Codec.encoding_table["27841"] = [155,114] let s:lib.Codec.encoding_table["27842"] = [155,115] let s:lib.Codec.encoding_table["27843"] = [155,116] let s:lib.Codec.encoding_table["27846"] = [155,117] let s:lib.Codec.encoding_table["27847"] = [155,118] let s:lib.Codec.encoding_table["27848"] = [155,119] let s:lib.Codec.encoding_table["27851"] = [155,120] let s:lib.Codec.encoding_table["27853"] = [155,121] let s:lib.Codec.encoding_table["27854"] = [155,122] let s:lib.Codec.encoding_table["27855"] = [155,123] let s:lib.Codec.encoding_table["27857"] = [155,124] let s:lib.Codec.encoding_table["27858"] = [155,125] let s:lib.Codec.encoding_table["27864"] = [155,126] let s:lib.Codec.encoding_table["27865"] = [155,128] let s:lib.Codec.encoding_table["27866"] = [155,129] let s:lib.Codec.encoding_table["27868"] = [155,130] let s:lib.Codec.encoding_table["27869"] = [155,131] let s:lib.Codec.encoding_table["27871"] = [155,132] let s:lib.Codec.encoding_table["27876"] = [155,133] let s:lib.Codec.encoding_table["27878"] = [155,134] let s:lib.Codec.encoding_table["27879"] = [155,135] let s:lib.Codec.encoding_table["27881"] = [155,136] let s:lib.Codec.encoding_table["27884"] = [155,137] let s:lib.Codec.encoding_table["27885"] = [155,138] let s:lib.Codec.encoding_table["27890"] = [155,139] let s:lib.Codec.encoding_table["27892"] = [155,140] let s:lib.Codec.encoding_table["27897"] = [155,141] let s:lib.Codec.encoding_table["27903"] = [155,142] let s:lib.Codec.encoding_table["27904"] = [155,143] let s:lib.Codec.encoding_table["27906"] = [155,144] let s:lib.Codec.encoding_table["27907"] = [155,145] let s:lib.Codec.encoding_table["27909"] = [155,146] let s:lib.Codec.encoding_table["27910"] = [155,147] let s:lib.Codec.encoding_table["27912"] = [155,148] let s:lib.Codec.encoding_table["27913"] = [155,149] let s:lib.Codec.encoding_table["27914"] = [155,150] let s:lib.Codec.encoding_table["27917"] = [155,151] let s:lib.Codec.encoding_table["27919"] = [155,152] let s:lib.Codec.encoding_table["27920"] = [155,153] let s:lib.Codec.encoding_table["27921"] = [155,154] let s:lib.Codec.encoding_table["27923"] = [155,155] let s:lib.Codec.encoding_table["27924"] = [155,156] let s:lib.Codec.encoding_table["27925"] = [155,157] let s:lib.Codec.encoding_table["27926"] = [155,158] let s:lib.Codec.encoding_table["27928"] = [155,159] let s:lib.Codec.encoding_table["27932"] = [155,160] let s:lib.Codec.encoding_table["27933"] = [155,161] let s:lib.Codec.encoding_table["27935"] = [155,162] let s:lib.Codec.encoding_table["27936"] = [155,163] let s:lib.Codec.encoding_table["27937"] = [155,164] let s:lib.Codec.encoding_table["27938"] = [155,165] let s:lib.Codec.encoding_table["27939"] = [155,166] let s:lib.Codec.encoding_table["27940"] = [155,167] let s:lib.Codec.encoding_table["27942"] = [155,168] let s:lib.Codec.encoding_table["27944"] = [155,169] let s:lib.Codec.encoding_table["27945"] = [155,170] let s:lib.Codec.encoding_table["27948"] = [155,171] let s:lib.Codec.encoding_table["27949"] = [155,172] let s:lib.Codec.encoding_table["27951"] = [155,173] let s:lib.Codec.encoding_table["27952"] = [155,174] let s:lib.Codec.encoding_table["27956"] = [155,175] let s:lib.Codec.encoding_table["27958"] = [155,176] let s:lib.Codec.encoding_table["27959"] = [155,177] let s:lib.Codec.encoding_table["27960"] = [155,178] let s:lib.Codec.encoding_table["27962"] = [155,179] let s:lib.Codec.encoding_table["27967"] = [155,180] let s:lib.Codec.encoding_table["27968"] = [155,181] let s:lib.Codec.encoding_table["27970"] = [155,182] let s:lib.Codec.encoding_table["27972"] = [155,183] let s:lib.Codec.encoding_table["27977"] = [155,184] let s:lib.Codec.encoding_table["27980"] = [155,185] let s:lib.Codec.encoding_table["27984"] = [155,186] let s:lib.Codec.encoding_table["27989"] = [155,187] let s:lib.Codec.encoding_table["27990"] = [155,188] let s:lib.Codec.encoding_table["27991"] = [155,189] let s:lib.Codec.encoding_table["27992"] = [155,190] let s:lib.Codec.encoding_table["27995"] = [155,191] let s:lib.Codec.encoding_table["27997"] = [155,192] let s:lib.Codec.encoding_table["27999"] = [155,193] let s:lib.Codec.encoding_table["28001"] = [155,194] let s:lib.Codec.encoding_table["28002"] = [155,195] let s:lib.Codec.encoding_table["28004"] = [155,196] let s:lib.Codec.encoding_table["28005"] = [155,197] let s:lib.Codec.encoding_table["28007"] = [155,198] let s:lib.Codec.encoding_table["28008"] = [155,199] let s:lib.Codec.encoding_table["28011"] = [155,200] let s:lib.Codec.encoding_table["28012"] = [155,201] let s:lib.Codec.encoding_table["28013"] = [155,202] let s:lib.Codec.encoding_table["28016"] = [155,203] let s:lib.Codec.encoding_table["28017"] = [155,204] let s:lib.Codec.encoding_table["28018"] = [155,205] let s:lib.Codec.encoding_table["28019"] = [155,206] let s:lib.Codec.encoding_table["28021"] = [155,207] let s:lib.Codec.encoding_table["28022"] = [155,208] let s:lib.Codec.encoding_table["28025"] = [155,209] let s:lib.Codec.encoding_table["28026"] = [155,210] let s:lib.Codec.encoding_table["28027"] = [155,211] let s:lib.Codec.encoding_table["28029"] = [155,212] let s:lib.Codec.encoding_table["28030"] = [155,213] let s:lib.Codec.encoding_table["28031"] = [155,214] let s:lib.Codec.encoding_table["28032"] = [155,215] let s:lib.Codec.encoding_table["28033"] = [155,216] let s:lib.Codec.encoding_table["28035"] = [155,217] let s:lib.Codec.encoding_table["28036"] = [155,218] let s:lib.Codec.encoding_table["28038"] = [155,219] let s:lib.Codec.encoding_table["28039"] = [155,220] let s:lib.Codec.encoding_table["28042"] = [155,221] let s:lib.Codec.encoding_table["28043"] = [155,222] let s:lib.Codec.encoding_table["28045"] = [155,223] let s:lib.Codec.encoding_table["28047"] = [155,224] let s:lib.Codec.encoding_table["28048"] = [155,225] let s:lib.Codec.encoding_table["28050"] = [155,226] let s:lib.Codec.encoding_table["28054"] = [155,227] let s:lib.Codec.encoding_table["28055"] = [155,228] let s:lib.Codec.encoding_table["28056"] = [155,229] let s:lib.Codec.encoding_table["28057"] = [155,230] let s:lib.Codec.encoding_table["28058"] = [155,231] let s:lib.Codec.encoding_table["28060"] = [155,232] let s:lib.Codec.encoding_table["28066"] = [155,233] let s:lib.Codec.encoding_table["28069"] = [155,234] let s:lib.Codec.encoding_table["28076"] = [155,235] let s:lib.Codec.encoding_table["28077"] = [155,236] let s:lib.Codec.encoding_table["28080"] = [155,237] let s:lib.Codec.encoding_table["28081"] = [155,238] let s:lib.Codec.encoding_table["28083"] = [155,239] let s:lib.Codec.encoding_table["28084"] = [155,240] let s:lib.Codec.encoding_table["28086"] = [155,241] let s:lib.Codec.encoding_table["28087"] = [155,242] let s:lib.Codec.encoding_table["28089"] = [155,243] let s:lib.Codec.encoding_table["28090"] = [155,244] let s:lib.Codec.encoding_table["28091"] = [155,245] let s:lib.Codec.encoding_table["28092"] = [155,246] let s:lib.Codec.encoding_table["28093"] = [155,247] let s:lib.Codec.encoding_table["28094"] = [155,248] let s:lib.Codec.encoding_table["28097"] = [155,249] let s:lib.Codec.encoding_table["28098"] = [155,250] let s:lib.Codec.encoding_table["28099"] = [155,251] let s:lib.Codec.encoding_table["28104"] = [155,252] let s:lib.Codec.encoding_table["28105"] = [155,253] let s:lib.Codec.encoding_table["28106"] = [155,254] let s:lib.Codec.encoding_table["28109"] = [156,64] let s:lib.Codec.encoding_table["28110"] = [156,65] let s:lib.Codec.encoding_table["28111"] = [156,66] let s:lib.Codec.encoding_table["28112"] = [156,67] let s:lib.Codec.encoding_table["28114"] = [156,68] let s:lib.Codec.encoding_table["28115"] = [156,69] let s:lib.Codec.encoding_table["28116"] = [156,70] let s:lib.Codec.encoding_table["28117"] = [156,71] let s:lib.Codec.encoding_table["28119"] = [156,72] let s:lib.Codec.encoding_table["28122"] = [156,73] let s:lib.Codec.encoding_table["28123"] = [156,74] let s:lib.Codec.encoding_table["28124"] = [156,75] let s:lib.Codec.encoding_table["28127"] = [156,76] let s:lib.Codec.encoding_table["28130"] = [156,77] let s:lib.Codec.encoding_table["28131"] = [156,78] let s:lib.Codec.encoding_table["28133"] = [156,79] let s:lib.Codec.encoding_table["28135"] = [156,80] let s:lib.Codec.encoding_table["28136"] = [156,81] let s:lib.Codec.encoding_table["28137"] = [156,82] let s:lib.Codec.encoding_table["28138"] = [156,83] let s:lib.Codec.encoding_table["28141"] = [156,84] let s:lib.Codec.encoding_table["28143"] = [156,85] let s:lib.Codec.encoding_table["28144"] = [156,86] let s:lib.Codec.encoding_table["28146"] = [156,87] let s:lib.Codec.encoding_table["28148"] = [156,88] let s:lib.Codec.encoding_table["28149"] = [156,89] let s:lib.Codec.encoding_table["28150"] = [156,90] let s:lib.Codec.encoding_table["28152"] = [156,91] let s:lib.Codec.encoding_table["28154"] = [156,92] let s:lib.Codec.encoding_table["28157"] = [156,93] let s:lib.Codec.encoding_table["28158"] = [156,94] let s:lib.Codec.encoding_table["28159"] = [156,95] let s:lib.Codec.encoding_table["28160"] = [156,96] let s:lib.Codec.encoding_table["28161"] = [156,97] let s:lib.Codec.encoding_table["28162"] = [156,98] let s:lib.Codec.encoding_table["28163"] = [156,99] let s:lib.Codec.encoding_table["28164"] = [156,100] let s:lib.Codec.encoding_table["28166"] = [156,101] let s:lib.Codec.encoding_table["28167"] = [156,102] let s:lib.Codec.encoding_table["28168"] = [156,103] let s:lib.Codec.encoding_table["28169"] = [156,104] let s:lib.Codec.encoding_table["28171"] = [156,105] let s:lib.Codec.encoding_table["28175"] = [156,106] let s:lib.Codec.encoding_table["28178"] = [156,107] let s:lib.Codec.encoding_table["28179"] = [156,108] let s:lib.Codec.encoding_table["28181"] = [156,109] let s:lib.Codec.encoding_table["28184"] = [156,110] let s:lib.Codec.encoding_table["28185"] = [156,111] let s:lib.Codec.encoding_table["28187"] = [156,112] let s:lib.Codec.encoding_table["28188"] = [156,113] let s:lib.Codec.encoding_table["28190"] = [156,114] let s:lib.Codec.encoding_table["28191"] = [156,115] let s:lib.Codec.encoding_table["28194"] = [156,116] let s:lib.Codec.encoding_table["28198"] = [156,117] let s:lib.Codec.encoding_table["28199"] = [156,118] let s:lib.Codec.encoding_table["28200"] = [156,119] let s:lib.Codec.encoding_table["28202"] = [156,120] let s:lib.Codec.encoding_table["28204"] = [156,121] let s:lib.Codec.encoding_table["28206"] = [156,122] let s:lib.Codec.encoding_table["28208"] = [156,123] let s:lib.Codec.encoding_table["28209"] = [156,124] let s:lib.Codec.encoding_table["28211"] = [156,125] let s:lib.Codec.encoding_table["28213"] = [156,126] let s:lib.Codec.encoding_table["28214"] = [156,128] let s:lib.Codec.encoding_table["28215"] = [156,129] let s:lib.Codec.encoding_table["28217"] = [156,130] let s:lib.Codec.encoding_table["28219"] = [156,131] let s:lib.Codec.encoding_table["28220"] = [156,132] let s:lib.Codec.encoding_table["28221"] = [156,133] let s:lib.Codec.encoding_table["28222"] = [156,134] let s:lib.Codec.encoding_table["28223"] = [156,135] let s:lib.Codec.encoding_table["28224"] = [156,136] let s:lib.Codec.encoding_table["28225"] = [156,137] let s:lib.Codec.encoding_table["28226"] = [156,138] let s:lib.Codec.encoding_table["28229"] = [156,139] let s:lib.Codec.encoding_table["28230"] = [156,140] let s:lib.Codec.encoding_table["28231"] = [156,141] let s:lib.Codec.encoding_table["28232"] = [156,142] let s:lib.Codec.encoding_table["28233"] = [156,143] let s:lib.Codec.encoding_table["28234"] = [156,144] let s:lib.Codec.encoding_table["28235"] = [156,145] let s:lib.Codec.encoding_table["28236"] = [156,146] let s:lib.Codec.encoding_table["28239"] = [156,147] let s:lib.Codec.encoding_table["28240"] = [156,148] let s:lib.Codec.encoding_table["28241"] = [156,149] let s:lib.Codec.encoding_table["28242"] = [156,150] let s:lib.Codec.encoding_table["28245"] = [156,151] let s:lib.Codec.encoding_table["28247"] = [156,152] let s:lib.Codec.encoding_table["28249"] = [156,153] let s:lib.Codec.encoding_table["28250"] = [156,154] let s:lib.Codec.encoding_table["28252"] = [156,155] let s:lib.Codec.encoding_table["28253"] = [156,156] let s:lib.Codec.encoding_table["28254"] = [156,157] let s:lib.Codec.encoding_table["28256"] = [156,158] let s:lib.Codec.encoding_table["28257"] = [156,159] let s:lib.Codec.encoding_table["28258"] = [156,160] let s:lib.Codec.encoding_table["28259"] = [156,161] let s:lib.Codec.encoding_table["28260"] = [156,162] let s:lib.Codec.encoding_table["28261"] = [156,163] let s:lib.Codec.encoding_table["28262"] = [156,164] let s:lib.Codec.encoding_table["28263"] = [156,165] let s:lib.Codec.encoding_table["28264"] = [156,166] let s:lib.Codec.encoding_table["28265"] = [156,167] let s:lib.Codec.encoding_table["28266"] = [156,168] let s:lib.Codec.encoding_table["28268"] = [156,169] let s:lib.Codec.encoding_table["28269"] = [156,170] let s:lib.Codec.encoding_table["28271"] = [156,171] let s:lib.Codec.encoding_table["28272"] = [156,172] let s:lib.Codec.encoding_table["28273"] = [156,173] let s:lib.Codec.encoding_table["28274"] = [156,174] let s:lib.Codec.encoding_table["28275"] = [156,175] let s:lib.Codec.encoding_table["28276"] = [156,176] let s:lib.Codec.encoding_table["28277"] = [156,177] let s:lib.Codec.encoding_table["28278"] = [156,178] let s:lib.Codec.encoding_table["28279"] = [156,179] let s:lib.Codec.encoding_table["28280"] = [156,180] let s:lib.Codec.encoding_table["28281"] = [156,181] let s:lib.Codec.encoding_table["28282"] = [156,182] let s:lib.Codec.encoding_table["28283"] = [156,183] let s:lib.Codec.encoding_table["28284"] = [156,184] let s:lib.Codec.encoding_table["28285"] = [156,185] let s:lib.Codec.encoding_table["28288"] = [156,186] let s:lib.Codec.encoding_table["28289"] = [156,187] let s:lib.Codec.encoding_table["28290"] = [156,188] let s:lib.Codec.encoding_table["28292"] = [156,189] let s:lib.Codec.encoding_table["28295"] = [156,190] let s:lib.Codec.encoding_table["28296"] = [156,191] let s:lib.Codec.encoding_table["28298"] = [156,192] let s:lib.Codec.encoding_table["28299"] = [156,193] let s:lib.Codec.encoding_table["28300"] = [156,194] let s:lib.Codec.encoding_table["28301"] = [156,195] let s:lib.Codec.encoding_table["28302"] = [156,196] let s:lib.Codec.encoding_table["28305"] = [156,197] let s:lib.Codec.encoding_table["28306"] = [156,198] let s:lib.Codec.encoding_table["28307"] = [156,199] let s:lib.Codec.encoding_table["28308"] = [156,200] let s:lib.Codec.encoding_table["28309"] = [156,201] let s:lib.Codec.encoding_table["28310"] = [156,202] let s:lib.Codec.encoding_table["28311"] = [156,203] let s:lib.Codec.encoding_table["28313"] = [156,204] let s:lib.Codec.encoding_table["28314"] = [156,205] let s:lib.Codec.encoding_table["28315"] = [156,206] let s:lib.Codec.encoding_table["28317"] = [156,207] let s:lib.Codec.encoding_table["28318"] = [156,208] let s:lib.Codec.encoding_table["28320"] = [156,209] let s:lib.Codec.encoding_table["28321"] = [156,210] let s:lib.Codec.encoding_table["28323"] = [156,211] let s:lib.Codec.encoding_table["28324"] = [156,212] let s:lib.Codec.encoding_table["28326"] = [156,213] let s:lib.Codec.encoding_table["28328"] = [156,214] let s:lib.Codec.encoding_table["28329"] = [156,215] let s:lib.Codec.encoding_table["28331"] = [156,216] let s:lib.Codec.encoding_table["28332"] = [156,217] let s:lib.Codec.encoding_table["28333"] = [156,218] let s:lib.Codec.encoding_table["28334"] = [156,219] let s:lib.Codec.encoding_table["28336"] = [156,220] let s:lib.Codec.encoding_table["28339"] = [156,221] let s:lib.Codec.encoding_table["28341"] = [156,222] let s:lib.Codec.encoding_table["28344"] = [156,223] let s:lib.Codec.encoding_table["28345"] = [156,224] let s:lib.Codec.encoding_table["28348"] = [156,225] let s:lib.Codec.encoding_table["28350"] = [156,226] let s:lib.Codec.encoding_table["28351"] = [156,227] let s:lib.Codec.encoding_table["28352"] = [156,228] let s:lib.Codec.encoding_table["28355"] = [156,229] let s:lib.Codec.encoding_table["28356"] = [156,230] let s:lib.Codec.encoding_table["28357"] = [156,231] let s:lib.Codec.encoding_table["28358"] = [156,232] let s:lib.Codec.encoding_table["28360"] = [156,233] let s:lib.Codec.encoding_table["28361"] = [156,234] let s:lib.Codec.encoding_table["28362"] = [156,235] let s:lib.Codec.encoding_table["28364"] = [156,236] let s:lib.Codec.encoding_table["28365"] = [156,237] let s:lib.Codec.encoding_table["28366"] = [156,238] let s:lib.Codec.encoding_table["28368"] = [156,239] let s:lib.Codec.encoding_table["28370"] = [156,240] let s:lib.Codec.encoding_table["28374"] = [156,241] let s:lib.Codec.encoding_table["28376"] = [156,242] let s:lib.Codec.encoding_table["28377"] = [156,243] let s:lib.Codec.encoding_table["28379"] = [156,244] let s:lib.Codec.encoding_table["28380"] = [156,245] let s:lib.Codec.encoding_table["28381"] = [156,246] let s:lib.Codec.encoding_table["28387"] = [156,247] let s:lib.Codec.encoding_table["28391"] = [156,248] let s:lib.Codec.encoding_table["28394"] = [156,249] let s:lib.Codec.encoding_table["28395"] = [156,250] let s:lib.Codec.encoding_table["28396"] = [156,251] let s:lib.Codec.encoding_table["28397"] = [156,252] let s:lib.Codec.encoding_table["28398"] = [156,253] let s:lib.Codec.encoding_table["28399"] = [156,254] let s:lib.Codec.encoding_table["28400"] = [157,64] let s:lib.Codec.encoding_table["28401"] = [157,65] let s:lib.Codec.encoding_table["28402"] = [157,66] let s:lib.Codec.encoding_table["28403"] = [157,67] let s:lib.Codec.encoding_table["28405"] = [157,68] let s:lib.Codec.encoding_table["28406"] = [157,69] let s:lib.Codec.encoding_table["28407"] = [157,70] let s:lib.Codec.encoding_table["28408"] = [157,71] let s:lib.Codec.encoding_table["28410"] = [157,72] let s:lib.Codec.encoding_table["28411"] = [157,73] let s:lib.Codec.encoding_table["28412"] = [157,74] let s:lib.Codec.encoding_table["28413"] = [157,75] let s:lib.Codec.encoding_table["28414"] = [157,76] let s:lib.Codec.encoding_table["28415"] = [157,77] let s:lib.Codec.encoding_table["28416"] = [157,78] let s:lib.Codec.encoding_table["28417"] = [157,79] let s:lib.Codec.encoding_table["28419"] = [157,80] let s:lib.Codec.encoding_table["28420"] = [157,81] let s:lib.Codec.encoding_table["28421"] = [157,82] let s:lib.Codec.encoding_table["28423"] = [157,83] let s:lib.Codec.encoding_table["28424"] = [157,84] let s:lib.Codec.encoding_table["28426"] = [157,85] let s:lib.Codec.encoding_table["28427"] = [157,86] let s:lib.Codec.encoding_table["28428"] = [157,87] let s:lib.Codec.encoding_table["28429"] = [157,88] let s:lib.Codec.encoding_table["28430"] = [157,89] let s:lib.Codec.encoding_table["28432"] = [157,90] let s:lib.Codec.encoding_table["28433"] = [157,91] let s:lib.Codec.encoding_table["28434"] = [157,92] let s:lib.Codec.encoding_table["28438"] = [157,93] let s:lib.Codec.encoding_table["28439"] = [157,94] let s:lib.Codec.encoding_table["28440"] = [157,95] let s:lib.Codec.encoding_table["28441"] = [157,96] let s:lib.Codec.encoding_table["28442"] = [157,97] let s:lib.Codec.encoding_table["28443"] = [157,98] let s:lib.Codec.encoding_table["28444"] = [157,99] let s:lib.Codec.encoding_table["28445"] = [157,100] let s:lib.Codec.encoding_table["28446"] = [157,101] let s:lib.Codec.encoding_table["28447"] = [157,102] let s:lib.Codec.encoding_table["28449"] = [157,103] let s:lib.Codec.encoding_table["28450"] = [157,104] let s:lib.Codec.encoding_table["28451"] = [157,105] let s:lib.Codec.encoding_table["28453"] = [157,106] let s:lib.Codec.encoding_table["28454"] = [157,107] let s:lib.Codec.encoding_table["28455"] = [157,108] let s:lib.Codec.encoding_table["28456"] = [157,109] let s:lib.Codec.encoding_table["28460"] = [157,110] let s:lib.Codec.encoding_table["28462"] = [157,111] let s:lib.Codec.encoding_table["28464"] = [157,112] let s:lib.Codec.encoding_table["28466"] = [157,113] let s:lib.Codec.encoding_table["28468"] = [157,114] let s:lib.Codec.encoding_table["28469"] = [157,115] let s:lib.Codec.encoding_table["28471"] = [157,116] let s:lib.Codec.encoding_table["28472"] = [157,117] let s:lib.Codec.encoding_table["28473"] = [157,118] let s:lib.Codec.encoding_table["28474"] = [157,119] let s:lib.Codec.encoding_table["28475"] = [157,120] let s:lib.Codec.encoding_table["28476"] = [157,121] let s:lib.Codec.encoding_table["28477"] = [157,122] let s:lib.Codec.encoding_table["28479"] = [157,123] let s:lib.Codec.encoding_table["28480"] = [157,124] let s:lib.Codec.encoding_table["28481"] = [157,125] let s:lib.Codec.encoding_table["28482"] = [157,126] let s:lib.Codec.encoding_table["28483"] = [157,128] let s:lib.Codec.encoding_table["28484"] = [157,129] let s:lib.Codec.encoding_table["28485"] = [157,130] let s:lib.Codec.encoding_table["28488"] = [157,131] let s:lib.Codec.encoding_table["28489"] = [157,132] let s:lib.Codec.encoding_table["28490"] = [157,133] let s:lib.Codec.encoding_table["28492"] = [157,134] let s:lib.Codec.encoding_table["28494"] = [157,135] let s:lib.Codec.encoding_table["28495"] = [157,136] let s:lib.Codec.encoding_table["28496"] = [157,137] let s:lib.Codec.encoding_table["28497"] = [157,138] let s:lib.Codec.encoding_table["28498"] = [157,139] let s:lib.Codec.encoding_table["28499"] = [157,140] let s:lib.Codec.encoding_table["28500"] = [157,141] let s:lib.Codec.encoding_table["28501"] = [157,142] let s:lib.Codec.encoding_table["28502"] = [157,143] let s:lib.Codec.encoding_table["28503"] = [157,144] let s:lib.Codec.encoding_table["28505"] = [157,145] let s:lib.Codec.encoding_table["28506"] = [157,146] let s:lib.Codec.encoding_table["28507"] = [157,147] let s:lib.Codec.encoding_table["28509"] = [157,148] let s:lib.Codec.encoding_table["28511"] = [157,149] let s:lib.Codec.encoding_table["28512"] = [157,150] let s:lib.Codec.encoding_table["28513"] = [157,151] let s:lib.Codec.encoding_table["28515"] = [157,152] let s:lib.Codec.encoding_table["28516"] = [157,153] let s:lib.Codec.encoding_table["28517"] = [157,154] let s:lib.Codec.encoding_table["28519"] = [157,155] let s:lib.Codec.encoding_table["28520"] = [157,156] let s:lib.Codec.encoding_table["28521"] = [157,157] let s:lib.Codec.encoding_table["28522"] = [157,158] let s:lib.Codec.encoding_table["28523"] = [157,159] let s:lib.Codec.encoding_table["28524"] = [157,160] let s:lib.Codec.encoding_table["28527"] = [157,161] let s:lib.Codec.encoding_table["28528"] = [157,162] let s:lib.Codec.encoding_table["28529"] = [157,163] let s:lib.Codec.encoding_table["28531"] = [157,164] let s:lib.Codec.encoding_table["28533"] = [157,165] let s:lib.Codec.encoding_table["28534"] = [157,166] let s:lib.Codec.encoding_table["28535"] = [157,167] let s:lib.Codec.encoding_table["28537"] = [157,168] let s:lib.Codec.encoding_table["28539"] = [157,169] let s:lib.Codec.encoding_table["28541"] = [157,170] let s:lib.Codec.encoding_table["28542"] = [157,171] let s:lib.Codec.encoding_table["28543"] = [157,172] let s:lib.Codec.encoding_table["28544"] = [157,173] let s:lib.Codec.encoding_table["28545"] = [157,174] let s:lib.Codec.encoding_table["28546"] = [157,175] let s:lib.Codec.encoding_table["28547"] = [157,176] let s:lib.Codec.encoding_table["28549"] = [157,177] let s:lib.Codec.encoding_table["28550"] = [157,178] let s:lib.Codec.encoding_table["28551"] = [157,179] let s:lib.Codec.encoding_table["28554"] = [157,180] let s:lib.Codec.encoding_table["28555"] = [157,181] let s:lib.Codec.encoding_table["28559"] = [157,182] let s:lib.Codec.encoding_table["28560"] = [157,183] let s:lib.Codec.encoding_table["28561"] = [157,184] let s:lib.Codec.encoding_table["28562"] = [157,185] let s:lib.Codec.encoding_table["28563"] = [157,186] let s:lib.Codec.encoding_table["28564"] = [157,187] let s:lib.Codec.encoding_table["28565"] = [157,188] let s:lib.Codec.encoding_table["28566"] = [157,189] let s:lib.Codec.encoding_table["28567"] = [157,190] let s:lib.Codec.encoding_table["28568"] = [157,191] let s:lib.Codec.encoding_table["28569"] = [157,192] let s:lib.Codec.encoding_table["28570"] = [157,193] let s:lib.Codec.encoding_table["28571"] = [157,194] let s:lib.Codec.encoding_table["28573"] = [157,195] let s:lib.Codec.encoding_table["28574"] = [157,196] let s:lib.Codec.encoding_table["28575"] = [157,197] let s:lib.Codec.encoding_table["28576"] = [157,198] let s:lib.Codec.encoding_table["28578"] = [157,199] let s:lib.Codec.encoding_table["28579"] = [157,200] let s:lib.Codec.encoding_table["28580"] = [157,201] let s:lib.Codec.encoding_table["28581"] = [157,202] let s:lib.Codec.encoding_table["28582"] = [157,203] let s:lib.Codec.encoding_table["28584"] = [157,204] let s:lib.Codec.encoding_table["28585"] = [157,205] let s:lib.Codec.encoding_table["28586"] = [157,206] let s:lib.Codec.encoding_table["28587"] = [157,207] let s:lib.Codec.encoding_table["28588"] = [157,208] let s:lib.Codec.encoding_table["28589"] = [157,209] let s:lib.Codec.encoding_table["28590"] = [157,210] let s:lib.Codec.encoding_table["28591"] = [157,211] let s:lib.Codec.encoding_table["28592"] = [157,212] let s:lib.Codec.encoding_table["28593"] = [157,213] let s:lib.Codec.encoding_table["28594"] = [157,214] let s:lib.Codec.encoding_table["28596"] = [157,215] let s:lib.Codec.encoding_table["28597"] = [157,216] let s:lib.Codec.encoding_table["28599"] = [157,217] let s:lib.Codec.encoding_table["28600"] = [157,218] let s:lib.Codec.encoding_table["28602"] = [157,219] let s:lib.Codec.encoding_table["28603"] = [157,220] let s:lib.Codec.encoding_table["28604"] = [157,221] let s:lib.Codec.encoding_table["28605"] = [157,222] let s:lib.Codec.encoding_table["28606"] = [157,223] let s:lib.Codec.encoding_table["28607"] = [157,224] let s:lib.Codec.encoding_table["28609"] = [157,225] let s:lib.Codec.encoding_table["28611"] = [157,226] let s:lib.Codec.encoding_table["28612"] = [157,227] let s:lib.Codec.encoding_table["28613"] = [157,228] let s:lib.Codec.encoding_table["28614"] = [157,229] let s:lib.Codec.encoding_table["28615"] = [157,230] let s:lib.Codec.encoding_table["28616"] = [157,231] let s:lib.Codec.encoding_table["28618"] = [157,232] let s:lib.Codec.encoding_table["28619"] = [157,233] let s:lib.Codec.encoding_table["28620"] = [157,234] let s:lib.Codec.encoding_table["28621"] = [157,235] let s:lib.Codec.encoding_table["28622"] = [157,236] let s:lib.Codec.encoding_table["28623"] = [157,237] let s:lib.Codec.encoding_table["28624"] = [157,238] let s:lib.Codec.encoding_table["28627"] = [157,239] let s:lib.Codec.encoding_table["28628"] = [157,240] let s:lib.Codec.encoding_table["28629"] = [157,241] let s:lib.Codec.encoding_table["28630"] = [157,242] let s:lib.Codec.encoding_table["28631"] = [157,243] let s:lib.Codec.encoding_table["28632"] = [157,244] let s:lib.Codec.encoding_table["28633"] = [157,245] let s:lib.Codec.encoding_table["28634"] = [157,246] let s:lib.Codec.encoding_table["28635"] = [157,247] let s:lib.Codec.encoding_table["28636"] = [157,248] let s:lib.Codec.encoding_table["28637"] = [157,249] let s:lib.Codec.encoding_table["28639"] = [157,250] let s:lib.Codec.encoding_table["28642"] = [157,251] let s:lib.Codec.encoding_table["28643"] = [157,252] let s:lib.Codec.encoding_table["28644"] = [157,253] let s:lib.Codec.encoding_table["28645"] = [157,254] let s:lib.Codec.encoding_table["28646"] = [158,64] let s:lib.Codec.encoding_table["28647"] = [158,65] let s:lib.Codec.encoding_table["28648"] = [158,66] let s:lib.Codec.encoding_table["28649"] = [158,67] let s:lib.Codec.encoding_table["28650"] = [158,68] let s:lib.Codec.encoding_table["28651"] = [158,69] let s:lib.Codec.encoding_table["28652"] = [158,70] let s:lib.Codec.encoding_table["28653"] = [158,71] let s:lib.Codec.encoding_table["28656"] = [158,72] let s:lib.Codec.encoding_table["28657"] = [158,73] let s:lib.Codec.encoding_table["28658"] = [158,74] let s:lib.Codec.encoding_table["28659"] = [158,75] let s:lib.Codec.encoding_table["28660"] = [158,76] let s:lib.Codec.encoding_table["28661"] = [158,77] let s:lib.Codec.encoding_table["28662"] = [158,78] let s:lib.Codec.encoding_table["28663"] = [158,79] let s:lib.Codec.encoding_table["28664"] = [158,80] let s:lib.Codec.encoding_table["28665"] = [158,81] let s:lib.Codec.encoding_table["28666"] = [158,82] let s:lib.Codec.encoding_table["28667"] = [158,83] let s:lib.Codec.encoding_table["28668"] = [158,84] let s:lib.Codec.encoding_table["28669"] = [158,85] let s:lib.Codec.encoding_table["28670"] = [158,86] let s:lib.Codec.encoding_table["28671"] = [158,87] let s:lib.Codec.encoding_table["28672"] = [158,88] let s:lib.Codec.encoding_table["28673"] = [158,89] let s:lib.Codec.encoding_table["28674"] = [158,90] let s:lib.Codec.encoding_table["28675"] = [158,91] let s:lib.Codec.encoding_table["28676"] = [158,92] let s:lib.Codec.encoding_table["28677"] = [158,93] let s:lib.Codec.encoding_table["28678"] = [158,94] let s:lib.Codec.encoding_table["28679"] = [158,95] let s:lib.Codec.encoding_table["28680"] = [158,96] let s:lib.Codec.encoding_table["28681"] = [158,97] let s:lib.Codec.encoding_table["28682"] = [158,98] let s:lib.Codec.encoding_table["28683"] = [158,99] let s:lib.Codec.encoding_table["28684"] = [158,100] let s:lib.Codec.encoding_table["28685"] = [158,101] let s:lib.Codec.encoding_table["28686"] = [158,102] let s:lib.Codec.encoding_table["28687"] = [158,103] let s:lib.Codec.encoding_table["28688"] = [158,104] let s:lib.Codec.encoding_table["28690"] = [158,105] let s:lib.Codec.encoding_table["28691"] = [158,106] let s:lib.Codec.encoding_table["28692"] = [158,107] let s:lib.Codec.encoding_table["28693"] = [158,108] let s:lib.Codec.encoding_table["28694"] = [158,109] let s:lib.Codec.encoding_table["28695"] = [158,110] let s:lib.Codec.encoding_table["28696"] = [158,111] let s:lib.Codec.encoding_table["28697"] = [158,112] let s:lib.Codec.encoding_table["28700"] = [158,113] let s:lib.Codec.encoding_table["28701"] = [158,114] let s:lib.Codec.encoding_table["28702"] = [158,115] let s:lib.Codec.encoding_table["28703"] = [158,116] let s:lib.Codec.encoding_table["28704"] = [158,117] let s:lib.Codec.encoding_table["28705"] = [158,118] let s:lib.Codec.encoding_table["28706"] = [158,119] let s:lib.Codec.encoding_table["28708"] = [158,120] let s:lib.Codec.encoding_table["28709"] = [158,121] let s:lib.Codec.encoding_table["28710"] = [158,122] let s:lib.Codec.encoding_table["28711"] = [158,123] let s:lib.Codec.encoding_table["28712"] = [158,124] let s:lib.Codec.encoding_table["28713"] = [158,125] let s:lib.Codec.encoding_table["28714"] = [158,126] let s:lib.Codec.encoding_table["28715"] = [158,128] let s:lib.Codec.encoding_table["28716"] = [158,129] let s:lib.Codec.encoding_table["28717"] = [158,130] let s:lib.Codec.encoding_table["28718"] = [158,131] let s:lib.Codec.encoding_table["28719"] = [158,132] let s:lib.Codec.encoding_table["28720"] = [158,133] let s:lib.Codec.encoding_table["28721"] = [158,134] let s:lib.Codec.encoding_table["28722"] = [158,135] let s:lib.Codec.encoding_table["28723"] = [158,136] let s:lib.Codec.encoding_table["28724"] = [158,137] let s:lib.Codec.encoding_table["28726"] = [158,138] let s:lib.Codec.encoding_table["28727"] = [158,139] let s:lib.Codec.encoding_table["28728"] = [158,140] let s:lib.Codec.encoding_table["28730"] = [158,141] let s:lib.Codec.encoding_table["28731"] = [158,142] let s:lib.Codec.encoding_table["28732"] = [158,143] let s:lib.Codec.encoding_table["28733"] = [158,144] let s:lib.Codec.encoding_table["28734"] = [158,145] let s:lib.Codec.encoding_table["28735"] = [158,146] let s:lib.Codec.encoding_table["28736"] = [158,147] let s:lib.Codec.encoding_table["28737"] = [158,148] let s:lib.Codec.encoding_table["28738"] = [158,149] let s:lib.Codec.encoding_table["28739"] = [158,150] let s:lib.Codec.encoding_table["28740"] = [158,151] let s:lib.Codec.encoding_table["28741"] = [158,152] let s:lib.Codec.encoding_table["28742"] = [158,153] let s:lib.Codec.encoding_table["28743"] = [158,154] let s:lib.Codec.encoding_table["28744"] = [158,155] let s:lib.Codec.encoding_table["28745"] = [158,156] let s:lib.Codec.encoding_table["28746"] = [158,157] let s:lib.Codec.encoding_table["28747"] = [158,158] let s:lib.Codec.encoding_table["28749"] = [158,159] let s:lib.Codec.encoding_table["28750"] = [158,160] let s:lib.Codec.encoding_table["28752"] = [158,161] let s:lib.Codec.encoding_table["28753"] = [158,162] let s:lib.Codec.encoding_table["28754"] = [158,163] let s:lib.Codec.encoding_table["28755"] = [158,164] let s:lib.Codec.encoding_table["28756"] = [158,165] let s:lib.Codec.encoding_table["28757"] = [158,166] let s:lib.Codec.encoding_table["28758"] = [158,167] let s:lib.Codec.encoding_table["28759"] = [158,168] let s:lib.Codec.encoding_table["28760"] = [158,169] let s:lib.Codec.encoding_table["28761"] = [158,170] let s:lib.Codec.encoding_table["28762"] = [158,171] let s:lib.Codec.encoding_table["28763"] = [158,172] let s:lib.Codec.encoding_table["28764"] = [158,173] let s:lib.Codec.encoding_table["28765"] = [158,174] let s:lib.Codec.encoding_table["28767"] = [158,175] let s:lib.Codec.encoding_table["28768"] = [158,176] let s:lib.Codec.encoding_table["28769"] = [158,177] let s:lib.Codec.encoding_table["28770"] = [158,178] let s:lib.Codec.encoding_table["28771"] = [158,179] let s:lib.Codec.encoding_table["28772"] = [158,180] let s:lib.Codec.encoding_table["28773"] = [158,181] let s:lib.Codec.encoding_table["28774"] = [158,182] let s:lib.Codec.encoding_table["28775"] = [158,183] let s:lib.Codec.encoding_table["28776"] = [158,184] let s:lib.Codec.encoding_table["28777"] = [158,185] let s:lib.Codec.encoding_table["28778"] = [158,186] let s:lib.Codec.encoding_table["28782"] = [158,187] let s:lib.Codec.encoding_table["28785"] = [158,188] let s:lib.Codec.encoding_table["28786"] = [158,189] let s:lib.Codec.encoding_table["28787"] = [158,190] let s:lib.Codec.encoding_table["28788"] = [158,191] let s:lib.Codec.encoding_table["28791"] = [158,192] let s:lib.Codec.encoding_table["28793"] = [158,193] let s:lib.Codec.encoding_table["28794"] = [158,194] let s:lib.Codec.encoding_table["28795"] = [158,195] let s:lib.Codec.encoding_table["28797"] = [158,196] let s:lib.Codec.encoding_table["28801"] = [158,197] let s:lib.Codec.encoding_table["28802"] = [158,198] let s:lib.Codec.encoding_table["28803"] = [158,199] let s:lib.Codec.encoding_table["28804"] = [158,200] let s:lib.Codec.encoding_table["28806"] = [158,201] let s:lib.Codec.encoding_table["28807"] = [158,202] let s:lib.Codec.encoding_table["28808"] = [158,203] let s:lib.Codec.encoding_table["28811"] = [158,204] let s:lib.Codec.encoding_table["28812"] = [158,205] let s:lib.Codec.encoding_table["28813"] = [158,206] let s:lib.Codec.encoding_table["28815"] = [158,207] let s:lib.Codec.encoding_table["28816"] = [158,208] let s:lib.Codec.encoding_table["28817"] = [158,209] let s:lib.Codec.encoding_table["28819"] = [158,210] let s:lib.Codec.encoding_table["28823"] = [158,211] let s:lib.Codec.encoding_table["28824"] = [158,212] let s:lib.Codec.encoding_table["28826"] = [158,213] let s:lib.Codec.encoding_table["28827"] = [158,214] let s:lib.Codec.encoding_table["28830"] = [158,215] let s:lib.Codec.encoding_table["28831"] = [158,216] let s:lib.Codec.encoding_table["28832"] = [158,217] let s:lib.Codec.encoding_table["28833"] = [158,218] let s:lib.Codec.encoding_table["28834"] = [158,219] let s:lib.Codec.encoding_table["28835"] = [158,220] let s:lib.Codec.encoding_table["28836"] = [158,221] let s:lib.Codec.encoding_table["28837"] = [158,222] let s:lib.Codec.encoding_table["28838"] = [158,223] let s:lib.Codec.encoding_table["28839"] = [158,224] let s:lib.Codec.encoding_table["28840"] = [158,225] let s:lib.Codec.encoding_table["28841"] = [158,226] let s:lib.Codec.encoding_table["28842"] = [158,227] let s:lib.Codec.encoding_table["28848"] = [158,228] let s:lib.Codec.encoding_table["28850"] = [158,229] let s:lib.Codec.encoding_table["28852"] = [158,230] let s:lib.Codec.encoding_table["28853"] = [158,231] let s:lib.Codec.encoding_table["28854"] = [158,232] let s:lib.Codec.encoding_table["28858"] = [158,233] let s:lib.Codec.encoding_table["28862"] = [158,234] let s:lib.Codec.encoding_table["28863"] = [158,235] let s:lib.Codec.encoding_table["28868"] = [158,236] let s:lib.Codec.encoding_table["28869"] = [158,237] let s:lib.Codec.encoding_table["28870"] = [158,238] let s:lib.Codec.encoding_table["28871"] = [158,239] let s:lib.Codec.encoding_table["28873"] = [158,240] let s:lib.Codec.encoding_table["28875"] = [158,241] let s:lib.Codec.encoding_table["28876"] = [158,242] let s:lib.Codec.encoding_table["28877"] = [158,243] let s:lib.Codec.encoding_table["28878"] = [158,244] let s:lib.Codec.encoding_table["28879"] = [158,245] let s:lib.Codec.encoding_table["28880"] = [158,246] let s:lib.Codec.encoding_table["28881"] = [158,247] let s:lib.Codec.encoding_table["28882"] = [158,248] let s:lib.Codec.encoding_table["28883"] = [158,249] let s:lib.Codec.encoding_table["28884"] = [158,250] let s:lib.Codec.encoding_table["28885"] = [158,251] let s:lib.Codec.encoding_table["28886"] = [158,252] let s:lib.Codec.encoding_table["28887"] = [158,253] let s:lib.Codec.encoding_table["28890"] = [158,254] let s:lib.Codec.encoding_table["28892"] = [159,64] let s:lib.Codec.encoding_table["28893"] = [159,65] let s:lib.Codec.encoding_table["28894"] = [159,66] let s:lib.Codec.encoding_table["28896"] = [159,67] let s:lib.Codec.encoding_table["28897"] = [159,68] let s:lib.Codec.encoding_table["28898"] = [159,69] let s:lib.Codec.encoding_table["28899"] = [159,70] let s:lib.Codec.encoding_table["28901"] = [159,71] let s:lib.Codec.encoding_table["28906"] = [159,72] let s:lib.Codec.encoding_table["28910"] = [159,73] let s:lib.Codec.encoding_table["28912"] = [159,74] let s:lib.Codec.encoding_table["28913"] = [159,75] let s:lib.Codec.encoding_table["28914"] = [159,76] let s:lib.Codec.encoding_table["28915"] = [159,77] let s:lib.Codec.encoding_table["28916"] = [159,78] let s:lib.Codec.encoding_table["28917"] = [159,79] let s:lib.Codec.encoding_table["28918"] = [159,80] let s:lib.Codec.encoding_table["28920"] = [159,81] let s:lib.Codec.encoding_table["28922"] = [159,82] let s:lib.Codec.encoding_table["28923"] = [159,83] let s:lib.Codec.encoding_table["28924"] = [159,84] let s:lib.Codec.encoding_table["28926"] = [159,85] let s:lib.Codec.encoding_table["28927"] = [159,86] let s:lib.Codec.encoding_table["28928"] = [159,87] let s:lib.Codec.encoding_table["28929"] = [159,88] let s:lib.Codec.encoding_table["28930"] = [159,89] let s:lib.Codec.encoding_table["28931"] = [159,90] let s:lib.Codec.encoding_table["28932"] = [159,91] let s:lib.Codec.encoding_table["28933"] = [159,92] let s:lib.Codec.encoding_table["28934"] = [159,93] let s:lib.Codec.encoding_table["28935"] = [159,94] let s:lib.Codec.encoding_table["28936"] = [159,95] let s:lib.Codec.encoding_table["28939"] = [159,96] let s:lib.Codec.encoding_table["28940"] = [159,97] let s:lib.Codec.encoding_table["28941"] = [159,98] let s:lib.Codec.encoding_table["28942"] = [159,99] let s:lib.Codec.encoding_table["28943"] = [159,100] let s:lib.Codec.encoding_table["28945"] = [159,101] let s:lib.Codec.encoding_table["28946"] = [159,102] let s:lib.Codec.encoding_table["28948"] = [159,103] let s:lib.Codec.encoding_table["28951"] = [159,104] let s:lib.Codec.encoding_table["28955"] = [159,105] let s:lib.Codec.encoding_table["28956"] = [159,106] let s:lib.Codec.encoding_table["28957"] = [159,107] let s:lib.Codec.encoding_table["28958"] = [159,108] let s:lib.Codec.encoding_table["28959"] = [159,109] let s:lib.Codec.encoding_table["28960"] = [159,110] let s:lib.Codec.encoding_table["28961"] = [159,111] let s:lib.Codec.encoding_table["28962"] = [159,112] let s:lib.Codec.encoding_table["28963"] = [159,113] let s:lib.Codec.encoding_table["28964"] = [159,114] let s:lib.Codec.encoding_table["28965"] = [159,115] let s:lib.Codec.encoding_table["28967"] = [159,116] let s:lib.Codec.encoding_table["28968"] = [159,117] let s:lib.Codec.encoding_table["28969"] = [159,118] let s:lib.Codec.encoding_table["28970"] = [159,119] let s:lib.Codec.encoding_table["28971"] = [159,120] let s:lib.Codec.encoding_table["28972"] = [159,121] let s:lib.Codec.encoding_table["28973"] = [159,122] let s:lib.Codec.encoding_table["28974"] = [159,123] let s:lib.Codec.encoding_table["28978"] = [159,124] let s:lib.Codec.encoding_table["28979"] = [159,125] let s:lib.Codec.encoding_table["28980"] = [159,126] let s:lib.Codec.encoding_table["28981"] = [159,128] let s:lib.Codec.encoding_table["28983"] = [159,129] let s:lib.Codec.encoding_table["28984"] = [159,130] let s:lib.Codec.encoding_table["28985"] = [159,131] let s:lib.Codec.encoding_table["28986"] = [159,132] let s:lib.Codec.encoding_table["28987"] = [159,133] let s:lib.Codec.encoding_table["28988"] = [159,134] let s:lib.Codec.encoding_table["28989"] = [159,135] let s:lib.Codec.encoding_table["28990"] = [159,136] let s:lib.Codec.encoding_table["28991"] = [159,137] let s:lib.Codec.encoding_table["28992"] = [159,138] let s:lib.Codec.encoding_table["28993"] = [159,139] let s:lib.Codec.encoding_table["28994"] = [159,140] let s:lib.Codec.encoding_table["28995"] = [159,141] let s:lib.Codec.encoding_table["28996"] = [159,142] let s:lib.Codec.encoding_table["28998"] = [159,143] let s:lib.Codec.encoding_table["28999"] = [159,144] let s:lib.Codec.encoding_table["29000"] = [159,145] let s:lib.Codec.encoding_table["29001"] = [159,146] let s:lib.Codec.encoding_table["29003"] = [159,147] let s:lib.Codec.encoding_table["29005"] = [159,148] let s:lib.Codec.encoding_table["29007"] = [159,149] let s:lib.Codec.encoding_table["29008"] = [159,150] let s:lib.Codec.encoding_table["29009"] = [159,151] let s:lib.Codec.encoding_table["29010"] = [159,152] let s:lib.Codec.encoding_table["29011"] = [159,153] let s:lib.Codec.encoding_table["29012"] = [159,154] let s:lib.Codec.encoding_table["29013"] = [159,155] let s:lib.Codec.encoding_table["29014"] = [159,156] let s:lib.Codec.encoding_table["29015"] = [159,157] let s:lib.Codec.encoding_table["29016"] = [159,158] let s:lib.Codec.encoding_table["29017"] = [159,159] let s:lib.Codec.encoding_table["29018"] = [159,160] let s:lib.Codec.encoding_table["29019"] = [159,161] let s:lib.Codec.encoding_table["29021"] = [159,162] let s:lib.Codec.encoding_table["29023"] = [159,163] let s:lib.Codec.encoding_table["29024"] = [159,164] let s:lib.Codec.encoding_table["29025"] = [159,165] let s:lib.Codec.encoding_table["29026"] = [159,166] let s:lib.Codec.encoding_table["29027"] = [159,167] let s:lib.Codec.encoding_table["29029"] = [159,168] let s:lib.Codec.encoding_table["29033"] = [159,169] let s:lib.Codec.encoding_table["29034"] = [159,170] let s:lib.Codec.encoding_table["29035"] = [159,171] let s:lib.Codec.encoding_table["29036"] = [159,172] let s:lib.Codec.encoding_table["29037"] = [159,173] let s:lib.Codec.encoding_table["29039"] = [159,174] let s:lib.Codec.encoding_table["29040"] = [159,175] let s:lib.Codec.encoding_table["29041"] = [159,176] let s:lib.Codec.encoding_table["29044"] = [159,177] let s:lib.Codec.encoding_table["29045"] = [159,178] let s:lib.Codec.encoding_table["29046"] = [159,179] let s:lib.Codec.encoding_table["29047"] = [159,180] let s:lib.Codec.encoding_table["29049"] = [159,181] let s:lib.Codec.encoding_table["29051"] = [159,182] let s:lib.Codec.encoding_table["29052"] = [159,183] let s:lib.Codec.encoding_table["29054"] = [159,184] let s:lib.Codec.encoding_table["29055"] = [159,185] let s:lib.Codec.encoding_table["29056"] = [159,186] let s:lib.Codec.encoding_table["29057"] = [159,187] let s:lib.Codec.encoding_table["29058"] = [159,188] let s:lib.Codec.encoding_table["29059"] = [159,189] let s:lib.Codec.encoding_table["29061"] = [159,190] let s:lib.Codec.encoding_table["29062"] = [159,191] let s:lib.Codec.encoding_table["29063"] = [159,192] let s:lib.Codec.encoding_table["29064"] = [159,193] let s:lib.Codec.encoding_table["29065"] = [159,194] let s:lib.Codec.encoding_table["29067"] = [159,195] let s:lib.Codec.encoding_table["29068"] = [159,196] let s:lib.Codec.encoding_table["29069"] = [159,197] let s:lib.Codec.encoding_table["29070"] = [159,198] let s:lib.Codec.encoding_table["29072"] = [159,199] let s:lib.Codec.encoding_table["29073"] = [159,200] let s:lib.Codec.encoding_table["29074"] = [159,201] let s:lib.Codec.encoding_table["29075"] = [159,202] let s:lib.Codec.encoding_table["29077"] = [159,203] let s:lib.Codec.encoding_table["29078"] = [159,204] let s:lib.Codec.encoding_table["29079"] = [159,205] let s:lib.Codec.encoding_table["29082"] = [159,206] let s:lib.Codec.encoding_table["29083"] = [159,207] let s:lib.Codec.encoding_table["29084"] = [159,208] let s:lib.Codec.encoding_table["29085"] = [159,209] let s:lib.Codec.encoding_table["29086"] = [159,210] let s:lib.Codec.encoding_table["29089"] = [159,211] let s:lib.Codec.encoding_table["29090"] = [159,212] let s:lib.Codec.encoding_table["29091"] = [159,213] let s:lib.Codec.encoding_table["29092"] = [159,214] let s:lib.Codec.encoding_table["29093"] = [159,215] let s:lib.Codec.encoding_table["29094"] = [159,216] let s:lib.Codec.encoding_table["29095"] = [159,217] let s:lib.Codec.encoding_table["29097"] = [159,218] let s:lib.Codec.encoding_table["29098"] = [159,219] let s:lib.Codec.encoding_table["29099"] = [159,220] let s:lib.Codec.encoding_table["29101"] = [159,221] let s:lib.Codec.encoding_table["29102"] = [159,222] let s:lib.Codec.encoding_table["29103"] = [159,223] let s:lib.Codec.encoding_table["29104"] = [159,224] let s:lib.Codec.encoding_table["29105"] = [159,225] let s:lib.Codec.encoding_table["29106"] = [159,226] let s:lib.Codec.encoding_table["29108"] = [159,227] let s:lib.Codec.encoding_table["29110"] = [159,228] let s:lib.Codec.encoding_table["29111"] = [159,229] let s:lib.Codec.encoding_table["29112"] = [159,230] let s:lib.Codec.encoding_table["29114"] = [159,231] let s:lib.Codec.encoding_table["29115"] = [159,232] let s:lib.Codec.encoding_table["29116"] = [159,233] let s:lib.Codec.encoding_table["29117"] = [159,234] let s:lib.Codec.encoding_table["29118"] = [159,235] let s:lib.Codec.encoding_table["29119"] = [159,236] let s:lib.Codec.encoding_table["29120"] = [159,237] let s:lib.Codec.encoding_table["29121"] = [159,238] let s:lib.Codec.encoding_table["29122"] = [159,239] let s:lib.Codec.encoding_table["29124"] = [159,240] let s:lib.Codec.encoding_table["29125"] = [159,241] let s:lib.Codec.encoding_table["29126"] = [159,242] let s:lib.Codec.encoding_table["29127"] = [159,243] let s:lib.Codec.encoding_table["29128"] = [159,244] let s:lib.Codec.encoding_table["29129"] = [159,245] let s:lib.Codec.encoding_table["29130"] = [159,246] let s:lib.Codec.encoding_table["29131"] = [159,247] let s:lib.Codec.encoding_table["29132"] = [159,248] let s:lib.Codec.encoding_table["29133"] = [159,249] let s:lib.Codec.encoding_table["29135"] = [159,250] let s:lib.Codec.encoding_table["29136"] = [159,251] let s:lib.Codec.encoding_table["29137"] = [159,252] let s:lib.Codec.encoding_table["29138"] = [159,253] let s:lib.Codec.encoding_table["29139"] = [159,254] let s:lib.Codec.encoding_table["29142"] = [160,64] let s:lib.Codec.encoding_table["29143"] = [160,65] let s:lib.Codec.encoding_table["29144"] = [160,66] let s:lib.Codec.encoding_table["29145"] = [160,67] let s:lib.Codec.encoding_table["29146"] = [160,68] let s:lib.Codec.encoding_table["29147"] = [160,69] let s:lib.Codec.encoding_table["29148"] = [160,70] let s:lib.Codec.encoding_table["29149"] = [160,71] let s:lib.Codec.encoding_table["29150"] = [160,72] let s:lib.Codec.encoding_table["29151"] = [160,73] let s:lib.Codec.encoding_table["29153"] = [160,74] let s:lib.Codec.encoding_table["29154"] = [160,75] let s:lib.Codec.encoding_table["29155"] = [160,76] let s:lib.Codec.encoding_table["29156"] = [160,77] let s:lib.Codec.encoding_table["29158"] = [160,78] let s:lib.Codec.encoding_table["29160"] = [160,79] let s:lib.Codec.encoding_table["29161"] = [160,80] let s:lib.Codec.encoding_table["29162"] = [160,81] let s:lib.Codec.encoding_table["29163"] = [160,82] let s:lib.Codec.encoding_table["29164"] = [160,83] let s:lib.Codec.encoding_table["29165"] = [160,84] let s:lib.Codec.encoding_table["29167"] = [160,85] let s:lib.Codec.encoding_table["29168"] = [160,86] let s:lib.Codec.encoding_table["29169"] = [160,87] let s:lib.Codec.encoding_table["29170"] = [160,88] let s:lib.Codec.encoding_table["29171"] = [160,89] let s:lib.Codec.encoding_table["29172"] = [160,90] let s:lib.Codec.encoding_table["29173"] = [160,91] let s:lib.Codec.encoding_table["29174"] = [160,92] let s:lib.Codec.encoding_table["29175"] = [160,93] let s:lib.Codec.encoding_table["29176"] = [160,94] let s:lib.Codec.encoding_table["29178"] = [160,95] let s:lib.Codec.encoding_table["29179"] = [160,96] let s:lib.Codec.encoding_table["29180"] = [160,97] let s:lib.Codec.encoding_table["29181"] = [160,98] let s:lib.Codec.encoding_table["29182"] = [160,99] let s:lib.Codec.encoding_table["29183"] = [160,100] let s:lib.Codec.encoding_table["29184"] = [160,101] let s:lib.Codec.encoding_table["29185"] = [160,102] let s:lib.Codec.encoding_table["29186"] = [160,103] let s:lib.Codec.encoding_table["29187"] = [160,104] let s:lib.Codec.encoding_table["29188"] = [160,105] let s:lib.Codec.encoding_table["29189"] = [160,106] let s:lib.Codec.encoding_table["29191"] = [160,107] let s:lib.Codec.encoding_table["29192"] = [160,108] let s:lib.Codec.encoding_table["29193"] = [160,109] let s:lib.Codec.encoding_table["29194"] = [160,110] let s:lib.Codec.encoding_table["29195"] = [160,111] let s:lib.Codec.encoding_table["29196"] = [160,112] let s:lib.Codec.encoding_table["29197"] = [160,113] let s:lib.Codec.encoding_table["29198"] = [160,114] let s:lib.Codec.encoding_table["29199"] = [160,115] let s:lib.Codec.encoding_table["29200"] = [160,116] let s:lib.Codec.encoding_table["29201"] = [160,117] let s:lib.Codec.encoding_table["29202"] = [160,118] let s:lib.Codec.encoding_table["29203"] = [160,119] let s:lib.Codec.encoding_table["29204"] = [160,120] let s:lib.Codec.encoding_table["29205"] = [160,121] let s:lib.Codec.encoding_table["29206"] = [160,122] let s:lib.Codec.encoding_table["29207"] = [160,123] let s:lib.Codec.encoding_table["29208"] = [160,124] let s:lib.Codec.encoding_table["29209"] = [160,125] let s:lib.Codec.encoding_table["29210"] = [160,126] let s:lib.Codec.encoding_table["29211"] = [160,128] let s:lib.Codec.encoding_table["29212"] = [160,129] let s:lib.Codec.encoding_table["29214"] = [160,130] let s:lib.Codec.encoding_table["29215"] = [160,131] let s:lib.Codec.encoding_table["29216"] = [160,132] let s:lib.Codec.encoding_table["29217"] = [160,133] let s:lib.Codec.encoding_table["29218"] = [160,134] let s:lib.Codec.encoding_table["29219"] = [160,135] let s:lib.Codec.encoding_table["29220"] = [160,136] let s:lib.Codec.encoding_table["29221"] = [160,137] let s:lib.Codec.encoding_table["29222"] = [160,138] let s:lib.Codec.encoding_table["29223"] = [160,139] let s:lib.Codec.encoding_table["29225"] = [160,140] let s:lib.Codec.encoding_table["29227"] = [160,141] let s:lib.Codec.encoding_table["29229"] = [160,142] let s:lib.Codec.encoding_table["29230"] = [160,143] let s:lib.Codec.encoding_table["29231"] = [160,144] let s:lib.Codec.encoding_table["29234"] = [160,145] let s:lib.Codec.encoding_table["29235"] = [160,146] let s:lib.Codec.encoding_table["29236"] = [160,147] let s:lib.Codec.encoding_table["29242"] = [160,148] let s:lib.Codec.encoding_table["29244"] = [160,149] let s:lib.Codec.encoding_table["29246"] = [160,150] let s:lib.Codec.encoding_table["29248"] = [160,151] let s:lib.Codec.encoding_table["29249"] = [160,152] let s:lib.Codec.encoding_table["29250"] = [160,153] let s:lib.Codec.encoding_table["29251"] = [160,154] let s:lib.Codec.encoding_table["29252"] = [160,155] let s:lib.Codec.encoding_table["29253"] = [160,156] let s:lib.Codec.encoding_table["29254"] = [160,157] let s:lib.Codec.encoding_table["29257"] = [160,158] let s:lib.Codec.encoding_table["29258"] = [160,159] let s:lib.Codec.encoding_table["29259"] = [160,160] let s:lib.Codec.encoding_table["29262"] = [160,161] let s:lib.Codec.encoding_table["29263"] = [160,162] let s:lib.Codec.encoding_table["29264"] = [160,163] let s:lib.Codec.encoding_table["29265"] = [160,164] let s:lib.Codec.encoding_table["29267"] = [160,165] let s:lib.Codec.encoding_table["29268"] = [160,166] let s:lib.Codec.encoding_table["29269"] = [160,167] let s:lib.Codec.encoding_table["29271"] = [160,168] let s:lib.Codec.encoding_table["29272"] = [160,169] let s:lib.Codec.encoding_table["29274"] = [160,170] let s:lib.Codec.encoding_table["29276"] = [160,171] let s:lib.Codec.encoding_table["29278"] = [160,172] let s:lib.Codec.encoding_table["29280"] = [160,173] let s:lib.Codec.encoding_table["29283"] = [160,174] let s:lib.Codec.encoding_table["29284"] = [160,175] let s:lib.Codec.encoding_table["29285"] = [160,176] let s:lib.Codec.encoding_table["29288"] = [160,177] let s:lib.Codec.encoding_table["29290"] = [160,178] let s:lib.Codec.encoding_table["29291"] = [160,179] let s:lib.Codec.encoding_table["29292"] = [160,180] let s:lib.Codec.encoding_table["29293"] = [160,181] let s:lib.Codec.encoding_table["29296"] = [160,182] let s:lib.Codec.encoding_table["29297"] = [160,183] let s:lib.Codec.encoding_table["29299"] = [160,184] let s:lib.Codec.encoding_table["29300"] = [160,185] let s:lib.Codec.encoding_table["29302"] = [160,186] let s:lib.Codec.encoding_table["29303"] = [160,187] let s:lib.Codec.encoding_table["29304"] = [160,188] let s:lib.Codec.encoding_table["29307"] = [160,189] let s:lib.Codec.encoding_table["29308"] = [160,190] let s:lib.Codec.encoding_table["29309"] = [160,191] let s:lib.Codec.encoding_table["29314"] = [160,192] let s:lib.Codec.encoding_table["29315"] = [160,193] let s:lib.Codec.encoding_table["29317"] = [160,194] let s:lib.Codec.encoding_table["29318"] = [160,195] let s:lib.Codec.encoding_table["29319"] = [160,196] let s:lib.Codec.encoding_table["29320"] = [160,197] let s:lib.Codec.encoding_table["29321"] = [160,198] let s:lib.Codec.encoding_table["29324"] = [160,199] let s:lib.Codec.encoding_table["29326"] = [160,200] let s:lib.Codec.encoding_table["29328"] = [160,201] let s:lib.Codec.encoding_table["29329"] = [160,202] let s:lib.Codec.encoding_table["29331"] = [160,203] let s:lib.Codec.encoding_table["29332"] = [160,204] let s:lib.Codec.encoding_table["29333"] = [160,205] let s:lib.Codec.encoding_table["29334"] = [160,206] let s:lib.Codec.encoding_table["29335"] = [160,207] let s:lib.Codec.encoding_table["29336"] = [160,208] let s:lib.Codec.encoding_table["29337"] = [160,209] let s:lib.Codec.encoding_table["29338"] = [160,210] let s:lib.Codec.encoding_table["29339"] = [160,211] let s:lib.Codec.encoding_table["29340"] = [160,212] let s:lib.Codec.encoding_table["29341"] = [160,213] let s:lib.Codec.encoding_table["29342"] = [160,214] let s:lib.Codec.encoding_table["29344"] = [160,215] let s:lib.Codec.encoding_table["29345"] = [160,216] let s:lib.Codec.encoding_table["29346"] = [160,217] let s:lib.Codec.encoding_table["29347"] = [160,218] let s:lib.Codec.encoding_table["29348"] = [160,219] let s:lib.Codec.encoding_table["29349"] = [160,220] let s:lib.Codec.encoding_table["29350"] = [160,221] let s:lib.Codec.encoding_table["29351"] = [160,222] let s:lib.Codec.encoding_table["29352"] = [160,223] let s:lib.Codec.encoding_table["29353"] = [160,224] let s:lib.Codec.encoding_table["29354"] = [160,225] let s:lib.Codec.encoding_table["29355"] = [160,226] let s:lib.Codec.encoding_table["29358"] = [160,227] let s:lib.Codec.encoding_table["29361"] = [160,228] let s:lib.Codec.encoding_table["29362"] = [160,229] let s:lib.Codec.encoding_table["29363"] = [160,230] let s:lib.Codec.encoding_table["29365"] = [160,231] let s:lib.Codec.encoding_table["29370"] = [160,232] let s:lib.Codec.encoding_table["29371"] = [160,233] let s:lib.Codec.encoding_table["29372"] = [160,234] let s:lib.Codec.encoding_table["29373"] = [160,235] let s:lib.Codec.encoding_table["29374"] = [160,236] let s:lib.Codec.encoding_table["29375"] = [160,237] let s:lib.Codec.encoding_table["29376"] = [160,238] let s:lib.Codec.encoding_table["29381"] = [160,239] let s:lib.Codec.encoding_table["29382"] = [160,240] let s:lib.Codec.encoding_table["29383"] = [160,241] let s:lib.Codec.encoding_table["29385"] = [160,242] let s:lib.Codec.encoding_table["29386"] = [160,243] let s:lib.Codec.encoding_table["29387"] = [160,244] let s:lib.Codec.encoding_table["29388"] = [160,245] let s:lib.Codec.encoding_table["29391"] = [160,246] let s:lib.Codec.encoding_table["29393"] = [160,247] let s:lib.Codec.encoding_table["29395"] = [160,248] let s:lib.Codec.encoding_table["29396"] = [160,249] let s:lib.Codec.encoding_table["29397"] = [160,250] let s:lib.Codec.encoding_table["29398"] = [160,251] let s:lib.Codec.encoding_table["29400"] = [160,252] let s:lib.Codec.encoding_table["29402"] = [160,253] let s:lib.Codec.encoding_table["29403"] = [160,254] let s:lib.Codec.encoding_table["12288"] = [161,161] let s:lib.Codec.encoding_table["12289"] = [161,162] let s:lib.Codec.encoding_table["12290"] = [161,163] let s:lib.Codec.encoding_table["183"] = [161,164] let s:lib.Codec.encoding_table["713"] = [161,165] let s:lib.Codec.encoding_table["711"] = [161,166] let s:lib.Codec.encoding_table["168"] = [161,167] let s:lib.Codec.encoding_table["12291"] = [161,168] let s:lib.Codec.encoding_table["12293"] = [161,169] let s:lib.Codec.encoding_table["8212"] = [161,170] let s:lib.Codec.encoding_table["65374"] = [161,171] let s:lib.Codec.encoding_table["8214"] = [161,172] let s:lib.Codec.encoding_table["8230"] = [161,173] let s:lib.Codec.encoding_table["8216"] = [161,174] let s:lib.Codec.encoding_table["8217"] = [161,175] let s:lib.Codec.encoding_table["8220"] = [161,176] let s:lib.Codec.encoding_table["8221"] = [161,177] let s:lib.Codec.encoding_table["12308"] = [161,178] let s:lib.Codec.encoding_table["12309"] = [161,179] let s:lib.Codec.encoding_table["12296"] = [161,180] let s:lib.Codec.encoding_table["12297"] = [161,181] let s:lib.Codec.encoding_table["12298"] = [161,182] let s:lib.Codec.encoding_table["12299"] = [161,183] let s:lib.Codec.encoding_table["12300"] = [161,184] let s:lib.Codec.encoding_table["12301"] = [161,185] let s:lib.Codec.encoding_table["12302"] = [161,186] let s:lib.Codec.encoding_table["12303"] = [161,187] let s:lib.Codec.encoding_table["12310"] = [161,188] let s:lib.Codec.encoding_table["12311"] = [161,189] let s:lib.Codec.encoding_table["12304"] = [161,190] let s:lib.Codec.encoding_table["12305"] = [161,191] let s:lib.Codec.encoding_table["177"] = [161,192] let s:lib.Codec.encoding_table["215"] = [161,193] let s:lib.Codec.encoding_table["247"] = [161,194] let s:lib.Codec.encoding_table["8758"] = [161,195] let s:lib.Codec.encoding_table["8743"] = [161,196] let s:lib.Codec.encoding_table["8744"] = [161,197] let s:lib.Codec.encoding_table["8721"] = [161,198] let s:lib.Codec.encoding_table["8719"] = [161,199] let s:lib.Codec.encoding_table["8746"] = [161,200] let s:lib.Codec.encoding_table["8745"] = [161,201] let s:lib.Codec.encoding_table["8712"] = [161,202] let s:lib.Codec.encoding_table["8759"] = [161,203] let s:lib.Codec.encoding_table["8730"] = [161,204] let s:lib.Codec.encoding_table["8869"] = [161,205] let s:lib.Codec.encoding_table["8741"] = [161,206] let s:lib.Codec.encoding_table["8736"] = [161,207] let s:lib.Codec.encoding_table["8978"] = [161,208] let s:lib.Codec.encoding_table["8857"] = [161,209] let s:lib.Codec.encoding_table["8747"] = [161,210] let s:lib.Codec.encoding_table["8750"] = [161,211] let s:lib.Codec.encoding_table["8801"] = [161,212] let s:lib.Codec.encoding_table["8780"] = [161,213] let s:lib.Codec.encoding_table["8776"] = [161,214] let s:lib.Codec.encoding_table["8765"] = [161,215] let s:lib.Codec.encoding_table["8733"] = [161,216] let s:lib.Codec.encoding_table["8800"] = [161,217] let s:lib.Codec.encoding_table["8814"] = [161,218] let s:lib.Codec.encoding_table["8815"] = [161,219] let s:lib.Codec.encoding_table["8804"] = [161,220] let s:lib.Codec.encoding_table["8805"] = [161,221] let s:lib.Codec.encoding_table["8734"] = [161,222] let s:lib.Codec.encoding_table["8757"] = [161,223] let s:lib.Codec.encoding_table["8756"] = [161,224] let s:lib.Codec.encoding_table["9794"] = [161,225] let s:lib.Codec.encoding_table["9792"] = [161,226] let s:lib.Codec.encoding_table["176"] = [161,227] let s:lib.Codec.encoding_table["8242"] = [161,228] let s:lib.Codec.encoding_table["8243"] = [161,229] let s:lib.Codec.encoding_table["8451"] = [161,230] let s:lib.Codec.encoding_table["65284"] = [161,231] let s:lib.Codec.encoding_table["164"] = [161,232] let s:lib.Codec.encoding_table["65504"] = [161,233] let s:lib.Codec.encoding_table["65505"] = [161,234] let s:lib.Codec.encoding_table["8240"] = [161,235] let s:lib.Codec.encoding_table["167"] = [161,236] let s:lib.Codec.encoding_table["8470"] = [161,237] let s:lib.Codec.encoding_table["9734"] = [161,238] let s:lib.Codec.encoding_table["9733"] = [161,239] let s:lib.Codec.encoding_table["9675"] = [161,240] let s:lib.Codec.encoding_table["9679"] = [161,241] let s:lib.Codec.encoding_table["9678"] = [161,242] let s:lib.Codec.encoding_table["9671"] = [161,243] let s:lib.Codec.encoding_table["9670"] = [161,244] let s:lib.Codec.encoding_table["9633"] = [161,245] let s:lib.Codec.encoding_table["9632"] = [161,246] let s:lib.Codec.encoding_table["9651"] = [161,247] let s:lib.Codec.encoding_table["9650"] = [161,248] let s:lib.Codec.encoding_table["8251"] = [161,249] let s:lib.Codec.encoding_table["8594"] = [161,250] let s:lib.Codec.encoding_table["8592"] = [161,251] let s:lib.Codec.encoding_table["8593"] = [161,252] let s:lib.Codec.encoding_table["8595"] = [161,253] let s:lib.Codec.encoding_table["12307"] = [161,254] let s:lib.Codec.encoding_table["8560"] = [162,161] let s:lib.Codec.encoding_table["8561"] = [162,162] let s:lib.Codec.encoding_table["8562"] = [162,163] let s:lib.Codec.encoding_table["8563"] = [162,164] let s:lib.Codec.encoding_table["8564"] = [162,165] let s:lib.Codec.encoding_table["8565"] = [162,166] let s:lib.Codec.encoding_table["8566"] = [162,167] let s:lib.Codec.encoding_table["8567"] = [162,168] let s:lib.Codec.encoding_table["8568"] = [162,169] let s:lib.Codec.encoding_table["8569"] = [162,170] let s:lib.Codec.encoding_table["9352"] = [162,177] let s:lib.Codec.encoding_table["9353"] = [162,178] let s:lib.Codec.encoding_table["9354"] = [162,179] let s:lib.Codec.encoding_table["9355"] = [162,180] let s:lib.Codec.encoding_table["9356"] = [162,181] let s:lib.Codec.encoding_table["9357"] = [162,182] let s:lib.Codec.encoding_table["9358"] = [162,183] let s:lib.Codec.encoding_table["9359"] = [162,184] let s:lib.Codec.encoding_table["9360"] = [162,185] let s:lib.Codec.encoding_table["9361"] = [162,186] let s:lib.Codec.encoding_table["9362"] = [162,187] let s:lib.Codec.encoding_table["9363"] = [162,188] let s:lib.Codec.encoding_table["9364"] = [162,189] let s:lib.Codec.encoding_table["9365"] = [162,190] let s:lib.Codec.encoding_table["9366"] = [162,191] let s:lib.Codec.encoding_table["9367"] = [162,192] let s:lib.Codec.encoding_table["9368"] = [162,193] let s:lib.Codec.encoding_table["9369"] = [162,194] let s:lib.Codec.encoding_table["9370"] = [162,195] let s:lib.Codec.encoding_table["9371"] = [162,196] let s:lib.Codec.encoding_table["9332"] = [162,197] let s:lib.Codec.encoding_table["9333"] = [162,198] let s:lib.Codec.encoding_table["9334"] = [162,199] let s:lib.Codec.encoding_table["9335"] = [162,200] let s:lib.Codec.encoding_table["9336"] = [162,201] let s:lib.Codec.encoding_table["9337"] = [162,202] let s:lib.Codec.encoding_table["9338"] = [162,203] let s:lib.Codec.encoding_table["9339"] = [162,204] let s:lib.Codec.encoding_table["9340"] = [162,205] let s:lib.Codec.encoding_table["9341"] = [162,206] let s:lib.Codec.encoding_table["9342"] = [162,207] let s:lib.Codec.encoding_table["9343"] = [162,208] let s:lib.Codec.encoding_table["9344"] = [162,209] let s:lib.Codec.encoding_table["9345"] = [162,210] let s:lib.Codec.encoding_table["9346"] = [162,211] let s:lib.Codec.encoding_table["9347"] = [162,212] let s:lib.Codec.encoding_table["9348"] = [162,213] let s:lib.Codec.encoding_table["9349"] = [162,214] let s:lib.Codec.encoding_table["9350"] = [162,215] let s:lib.Codec.encoding_table["9351"] = [162,216] let s:lib.Codec.encoding_table["9312"] = [162,217] let s:lib.Codec.encoding_table["9313"] = [162,218] let s:lib.Codec.encoding_table["9314"] = [162,219] let s:lib.Codec.encoding_table["9315"] = [162,220] let s:lib.Codec.encoding_table["9316"] = [162,221] let s:lib.Codec.encoding_table["9317"] = [162,222] let s:lib.Codec.encoding_table["9318"] = [162,223] let s:lib.Codec.encoding_table["9319"] = [162,224] let s:lib.Codec.encoding_table["9320"] = [162,225] let s:lib.Codec.encoding_table["9321"] = [162,226] let s:lib.Codec.encoding_table["12832"] = [162,229] let s:lib.Codec.encoding_table["12833"] = [162,230] let s:lib.Codec.encoding_table["12834"] = [162,231] let s:lib.Codec.encoding_table["12835"] = [162,232] let s:lib.Codec.encoding_table["12836"] = [162,233] let s:lib.Codec.encoding_table["12837"] = [162,234] let s:lib.Codec.encoding_table["12838"] = [162,235] let s:lib.Codec.encoding_table["12839"] = [162,236] let s:lib.Codec.encoding_table["12840"] = [162,237] let s:lib.Codec.encoding_table["12841"] = [162,238] let s:lib.Codec.encoding_table["8544"] = [162,241] let s:lib.Codec.encoding_table["8545"] = [162,242] let s:lib.Codec.encoding_table["8546"] = [162,243] let s:lib.Codec.encoding_table["8547"] = [162,244] let s:lib.Codec.encoding_table["8548"] = [162,245] let s:lib.Codec.encoding_table["8549"] = [162,246] let s:lib.Codec.encoding_table["8550"] = [162,247] let s:lib.Codec.encoding_table["8551"] = [162,248] let s:lib.Codec.encoding_table["8552"] = [162,249] let s:lib.Codec.encoding_table["8553"] = [162,250] let s:lib.Codec.encoding_table["8554"] = [162,251] let s:lib.Codec.encoding_table["8555"] = [162,252] let s:lib.Codec.encoding_table["65281"] = [163,161] let s:lib.Codec.encoding_table["65282"] = [163,162] let s:lib.Codec.encoding_table["65283"] = [163,163] let s:lib.Codec.encoding_table["65509"] = [163,164] let s:lib.Codec.encoding_table["65285"] = [163,165] let s:lib.Codec.encoding_table["65286"] = [163,166] let s:lib.Codec.encoding_table["65287"] = [163,167] let s:lib.Codec.encoding_table["65288"] = [163,168] let s:lib.Codec.encoding_table["65289"] = [163,169] let s:lib.Codec.encoding_table["65290"] = [163,170] let s:lib.Codec.encoding_table["65291"] = [163,171] let s:lib.Codec.encoding_table["65292"] = [163,172] let s:lib.Codec.encoding_table["65293"] = [163,173] let s:lib.Codec.encoding_table["65294"] = [163,174] let s:lib.Codec.encoding_table["65295"] = [163,175] let s:lib.Codec.encoding_table["65296"] = [163,176] let s:lib.Codec.encoding_table["65297"] = [163,177] let s:lib.Codec.encoding_table["65298"] = [163,178] let s:lib.Codec.encoding_table["65299"] = [163,179] let s:lib.Codec.encoding_table["65300"] = [163,180] let s:lib.Codec.encoding_table["65301"] = [163,181] let s:lib.Codec.encoding_table["65302"] = [163,182] let s:lib.Codec.encoding_table["65303"] = [163,183] let s:lib.Codec.encoding_table["65304"] = [163,184] let s:lib.Codec.encoding_table["65305"] = [163,185] let s:lib.Codec.encoding_table["65306"] = [163,186] let s:lib.Codec.encoding_table["65307"] = [163,187] let s:lib.Codec.encoding_table["65308"] = [163,188] let s:lib.Codec.encoding_table["65309"] = [163,189] let s:lib.Codec.encoding_table["65310"] = [163,190] let s:lib.Codec.encoding_table["65311"] = [163,191] let s:lib.Codec.encoding_table["65312"] = [163,192] let s:lib.Codec.encoding_table["65313"] = [163,193] let s:lib.Codec.encoding_table["65314"] = [163,194] let s:lib.Codec.encoding_table["65315"] = [163,195] let s:lib.Codec.encoding_table["65316"] = [163,196] let s:lib.Codec.encoding_table["65317"] = [163,197] let s:lib.Codec.encoding_table["65318"] = [163,198] let s:lib.Codec.encoding_table["65319"] = [163,199] let s:lib.Codec.encoding_table["65320"] = [163,200] let s:lib.Codec.encoding_table["65321"] = [163,201] let s:lib.Codec.encoding_table["65322"] = [163,202] let s:lib.Codec.encoding_table["65323"] = [163,203] let s:lib.Codec.encoding_table["65324"] = [163,204] let s:lib.Codec.encoding_table["65325"] = [163,205] let s:lib.Codec.encoding_table["65326"] = [163,206] let s:lib.Codec.encoding_table["65327"] = [163,207] let s:lib.Codec.encoding_table["65328"] = [163,208] let s:lib.Codec.encoding_table["65329"] = [163,209] let s:lib.Codec.encoding_table["65330"] = [163,210] let s:lib.Codec.encoding_table["65331"] = [163,211] let s:lib.Codec.encoding_table["65332"] = [163,212] let s:lib.Codec.encoding_table["65333"] = [163,213] let s:lib.Codec.encoding_table["65334"] = [163,214] let s:lib.Codec.encoding_table["65335"] = [163,215] let s:lib.Codec.encoding_table["65336"] = [163,216] let s:lib.Codec.encoding_table["65337"] = [163,217] let s:lib.Codec.encoding_table["65338"] = [163,218] let s:lib.Codec.encoding_table["65339"] = [163,219] let s:lib.Codec.encoding_table["65340"] = [163,220] let s:lib.Codec.encoding_table["65341"] = [163,221] let s:lib.Codec.encoding_table["65342"] = [163,222] let s:lib.Codec.encoding_table["65343"] = [163,223] let s:lib.Codec.encoding_table["65344"] = [163,224] let s:lib.Codec.encoding_table["65345"] = [163,225] let s:lib.Codec.encoding_table["65346"] = [163,226] let s:lib.Codec.encoding_table["65347"] = [163,227] let s:lib.Codec.encoding_table["65348"] = [163,228] let s:lib.Codec.encoding_table["65349"] = [163,229] let s:lib.Codec.encoding_table["65350"] = [163,230] let s:lib.Codec.encoding_table["65351"] = [163,231] let s:lib.Codec.encoding_table["65352"] = [163,232] let s:lib.Codec.encoding_table["65353"] = [163,233] let s:lib.Codec.encoding_table["65354"] = [163,234] let s:lib.Codec.encoding_table["65355"] = [163,235] let s:lib.Codec.encoding_table["65356"] = [163,236] let s:lib.Codec.encoding_table["65357"] = [163,237] let s:lib.Codec.encoding_table["65358"] = [163,238] let s:lib.Codec.encoding_table["65359"] = [163,239] let s:lib.Codec.encoding_table["65360"] = [163,240] let s:lib.Codec.encoding_table["65361"] = [163,241] let s:lib.Codec.encoding_table["65362"] = [163,242] let s:lib.Codec.encoding_table["65363"] = [163,243] let s:lib.Codec.encoding_table["65364"] = [163,244] let s:lib.Codec.encoding_table["65365"] = [163,245] let s:lib.Codec.encoding_table["65366"] = [163,246] let s:lib.Codec.encoding_table["65367"] = [163,247] let s:lib.Codec.encoding_table["65368"] = [163,248] let s:lib.Codec.encoding_table["65369"] = [163,249] let s:lib.Codec.encoding_table["65370"] = [163,250] let s:lib.Codec.encoding_table["65371"] = [163,251] let s:lib.Codec.encoding_table["65372"] = [163,252] let s:lib.Codec.encoding_table["65373"] = [163,253] let s:lib.Codec.encoding_table["65507"] = [163,254] let s:lib.Codec.encoding_table["12353"] = [164,161] let s:lib.Codec.encoding_table["12354"] = [164,162] let s:lib.Codec.encoding_table["12355"] = [164,163] let s:lib.Codec.encoding_table["12356"] = [164,164] let s:lib.Codec.encoding_table["12357"] = [164,165] let s:lib.Codec.encoding_table["12358"] = [164,166] let s:lib.Codec.encoding_table["12359"] = [164,167] let s:lib.Codec.encoding_table["12360"] = [164,168] let s:lib.Codec.encoding_table["12361"] = [164,169] let s:lib.Codec.encoding_table["12362"] = [164,170] let s:lib.Codec.encoding_table["12363"] = [164,171] let s:lib.Codec.encoding_table["12364"] = [164,172] let s:lib.Codec.encoding_table["12365"] = [164,173] let s:lib.Codec.encoding_table["12366"] = [164,174] let s:lib.Codec.encoding_table["12367"] = [164,175] let s:lib.Codec.encoding_table["12368"] = [164,176] let s:lib.Codec.encoding_table["12369"] = [164,177] let s:lib.Codec.encoding_table["12370"] = [164,178] let s:lib.Codec.encoding_table["12371"] = [164,179] let s:lib.Codec.encoding_table["12372"] = [164,180] let s:lib.Codec.encoding_table["12373"] = [164,181] let s:lib.Codec.encoding_table["12374"] = [164,182] let s:lib.Codec.encoding_table["12375"] = [164,183] let s:lib.Codec.encoding_table["12376"] = [164,184] let s:lib.Codec.encoding_table["12377"] = [164,185] let s:lib.Codec.encoding_table["12378"] = [164,186] let s:lib.Codec.encoding_table["12379"] = [164,187] let s:lib.Codec.encoding_table["12380"] = [164,188] let s:lib.Codec.encoding_table["12381"] = [164,189] let s:lib.Codec.encoding_table["12382"] = [164,190] let s:lib.Codec.encoding_table["12383"] = [164,191] let s:lib.Codec.encoding_table["12384"] = [164,192] let s:lib.Codec.encoding_table["12385"] = [164,193] let s:lib.Codec.encoding_table["12386"] = [164,194] let s:lib.Codec.encoding_table["12387"] = [164,195] let s:lib.Codec.encoding_table["12388"] = [164,196] let s:lib.Codec.encoding_table["12389"] = [164,197] let s:lib.Codec.encoding_table["12390"] = [164,198] let s:lib.Codec.encoding_table["12391"] = [164,199] let s:lib.Codec.encoding_table["12392"] = [164,200] let s:lib.Codec.encoding_table["12393"] = [164,201] let s:lib.Codec.encoding_table["12394"] = [164,202] let s:lib.Codec.encoding_table["12395"] = [164,203] let s:lib.Codec.encoding_table["12396"] = [164,204] let s:lib.Codec.encoding_table["12397"] = [164,205] let s:lib.Codec.encoding_table["12398"] = [164,206] let s:lib.Codec.encoding_table["12399"] = [164,207] let s:lib.Codec.encoding_table["12400"] = [164,208] let s:lib.Codec.encoding_table["12401"] = [164,209] let s:lib.Codec.encoding_table["12402"] = [164,210] let s:lib.Codec.encoding_table["12403"] = [164,211] let s:lib.Codec.encoding_table["12404"] = [164,212] let s:lib.Codec.encoding_table["12405"] = [164,213] let s:lib.Codec.encoding_table["12406"] = [164,214] let s:lib.Codec.encoding_table["12407"] = [164,215] let s:lib.Codec.encoding_table["12408"] = [164,216] let s:lib.Codec.encoding_table["12409"] = [164,217] let s:lib.Codec.encoding_table["12410"] = [164,218] let s:lib.Codec.encoding_table["12411"] = [164,219] let s:lib.Codec.encoding_table["12412"] = [164,220] let s:lib.Codec.encoding_table["12413"] = [164,221] let s:lib.Codec.encoding_table["12414"] = [164,222] let s:lib.Codec.encoding_table["12415"] = [164,223] let s:lib.Codec.encoding_table["12416"] = [164,224] let s:lib.Codec.encoding_table["12417"] = [164,225] let s:lib.Codec.encoding_table["12418"] = [164,226] let s:lib.Codec.encoding_table["12419"] = [164,227] let s:lib.Codec.encoding_table["12420"] = [164,228] let s:lib.Codec.encoding_table["12421"] = [164,229] let s:lib.Codec.encoding_table["12422"] = [164,230] let s:lib.Codec.encoding_table["12423"] = [164,231] let s:lib.Codec.encoding_table["12424"] = [164,232] let s:lib.Codec.encoding_table["12425"] = [164,233] let s:lib.Codec.encoding_table["12426"] = [164,234] let s:lib.Codec.encoding_table["12427"] = [164,235] let s:lib.Codec.encoding_table["12428"] = [164,236] let s:lib.Codec.encoding_table["12429"] = [164,237] let s:lib.Codec.encoding_table["12430"] = [164,238] let s:lib.Codec.encoding_table["12431"] = [164,239] let s:lib.Codec.encoding_table["12432"] = [164,240] let s:lib.Codec.encoding_table["12433"] = [164,241] let s:lib.Codec.encoding_table["12434"] = [164,242] let s:lib.Codec.encoding_table["12435"] = [164,243] let s:lib.Codec.encoding_table["12449"] = [165,161] let s:lib.Codec.encoding_table["12450"] = [165,162] let s:lib.Codec.encoding_table["12451"] = [165,163] let s:lib.Codec.encoding_table["12452"] = [165,164] let s:lib.Codec.encoding_table["12453"] = [165,165] let s:lib.Codec.encoding_table["12454"] = [165,166] let s:lib.Codec.encoding_table["12455"] = [165,167] let s:lib.Codec.encoding_table["12456"] = [165,168] let s:lib.Codec.encoding_table["12457"] = [165,169] let s:lib.Codec.encoding_table["12458"] = [165,170] let s:lib.Codec.encoding_table["12459"] = [165,171] let s:lib.Codec.encoding_table["12460"] = [165,172] let s:lib.Codec.encoding_table["12461"] = [165,173] let s:lib.Codec.encoding_table["12462"] = [165,174] let s:lib.Codec.encoding_table["12463"] = [165,175] let s:lib.Codec.encoding_table["12464"] = [165,176] let s:lib.Codec.encoding_table["12465"] = [165,177] let s:lib.Codec.encoding_table["12466"] = [165,178] let s:lib.Codec.encoding_table["12467"] = [165,179] let s:lib.Codec.encoding_table["12468"] = [165,180] let s:lib.Codec.encoding_table["12469"] = [165,181] let s:lib.Codec.encoding_table["12470"] = [165,182] let s:lib.Codec.encoding_table["12471"] = [165,183] let s:lib.Codec.encoding_table["12472"] = [165,184] let s:lib.Codec.encoding_table["12473"] = [165,185] let s:lib.Codec.encoding_table["12474"] = [165,186] let s:lib.Codec.encoding_table["12475"] = [165,187] let s:lib.Codec.encoding_table["12476"] = [165,188] let s:lib.Codec.encoding_table["12477"] = [165,189] let s:lib.Codec.encoding_table["12478"] = [165,190] let s:lib.Codec.encoding_table["12479"] = [165,191] let s:lib.Codec.encoding_table["12480"] = [165,192] let s:lib.Codec.encoding_table["12481"] = [165,193] let s:lib.Codec.encoding_table["12482"] = [165,194] let s:lib.Codec.encoding_table["12483"] = [165,195] let s:lib.Codec.encoding_table["12484"] = [165,196] let s:lib.Codec.encoding_table["12485"] = [165,197] let s:lib.Codec.encoding_table["12486"] = [165,198] let s:lib.Codec.encoding_table["12487"] = [165,199] let s:lib.Codec.encoding_table["12488"] = [165,200] let s:lib.Codec.encoding_table["12489"] = [165,201] let s:lib.Codec.encoding_table["12490"] = [165,202] let s:lib.Codec.encoding_table["12491"] = [165,203] let s:lib.Codec.encoding_table["12492"] = [165,204] let s:lib.Codec.encoding_table["12493"] = [165,205] let s:lib.Codec.encoding_table["12494"] = [165,206] let s:lib.Codec.encoding_table["12495"] = [165,207] let s:lib.Codec.encoding_table["12496"] = [165,208] let s:lib.Codec.encoding_table["12497"] = [165,209] let s:lib.Codec.encoding_table["12498"] = [165,210] let s:lib.Codec.encoding_table["12499"] = [165,211] let s:lib.Codec.encoding_table["12500"] = [165,212] let s:lib.Codec.encoding_table["12501"] = [165,213] let s:lib.Codec.encoding_table["12502"] = [165,214] let s:lib.Codec.encoding_table["12503"] = [165,215] let s:lib.Codec.encoding_table["12504"] = [165,216] let s:lib.Codec.encoding_table["12505"] = [165,217] let s:lib.Codec.encoding_table["12506"] = [165,218] let s:lib.Codec.encoding_table["12507"] = [165,219] let s:lib.Codec.encoding_table["12508"] = [165,220] let s:lib.Codec.encoding_table["12509"] = [165,221] let s:lib.Codec.encoding_table["12510"] = [165,222] let s:lib.Codec.encoding_table["12511"] = [165,223] let s:lib.Codec.encoding_table["12512"] = [165,224] let s:lib.Codec.encoding_table["12513"] = [165,225] let s:lib.Codec.encoding_table["12514"] = [165,226] let s:lib.Codec.encoding_table["12515"] = [165,227] let s:lib.Codec.encoding_table["12516"] = [165,228] let s:lib.Codec.encoding_table["12517"] = [165,229] let s:lib.Codec.encoding_table["12518"] = [165,230] let s:lib.Codec.encoding_table["12519"] = [165,231] let s:lib.Codec.encoding_table["12520"] = [165,232] let s:lib.Codec.encoding_table["12521"] = [165,233] let s:lib.Codec.encoding_table["12522"] = [165,234] let s:lib.Codec.encoding_table["12523"] = [165,235] let s:lib.Codec.encoding_table["12524"] = [165,236] let s:lib.Codec.encoding_table["12525"] = [165,237] let s:lib.Codec.encoding_table["12526"] = [165,238] let s:lib.Codec.encoding_table["12527"] = [165,239] let s:lib.Codec.encoding_table["12528"] = [165,240] let s:lib.Codec.encoding_table["12529"] = [165,241] let s:lib.Codec.encoding_table["12530"] = [165,242] let s:lib.Codec.encoding_table["12531"] = [165,243] let s:lib.Codec.encoding_table["12532"] = [165,244] let s:lib.Codec.encoding_table["12533"] = [165,245] let s:lib.Codec.encoding_table["12534"] = [165,246] let s:lib.Codec.encoding_table["913"] = [166,161] let s:lib.Codec.encoding_table["914"] = [166,162] let s:lib.Codec.encoding_table["915"] = [166,163] let s:lib.Codec.encoding_table["916"] = [166,164] let s:lib.Codec.encoding_table["917"] = [166,165] let s:lib.Codec.encoding_table["918"] = [166,166] let s:lib.Codec.encoding_table["919"] = [166,167] let s:lib.Codec.encoding_table["920"] = [166,168] let s:lib.Codec.encoding_table["921"] = [166,169] let s:lib.Codec.encoding_table["922"] = [166,170] let s:lib.Codec.encoding_table["923"] = [166,171] let s:lib.Codec.encoding_table["924"] = [166,172] let s:lib.Codec.encoding_table["925"] = [166,173] let s:lib.Codec.encoding_table["926"] = [166,174] let s:lib.Codec.encoding_table["927"] = [166,175] let s:lib.Codec.encoding_table["928"] = [166,176] let s:lib.Codec.encoding_table["929"] = [166,177] let s:lib.Codec.encoding_table["931"] = [166,178] let s:lib.Codec.encoding_table["932"] = [166,179] let s:lib.Codec.encoding_table["933"] = [166,180] let s:lib.Codec.encoding_table["934"] = [166,181] let s:lib.Codec.encoding_table["935"] = [166,182] let s:lib.Codec.encoding_table["936"] = [166,183] let s:lib.Codec.encoding_table["937"] = [166,184] let s:lib.Codec.encoding_table["945"] = [166,193] let s:lib.Codec.encoding_table["946"] = [166,194] let s:lib.Codec.encoding_table["947"] = [166,195] let s:lib.Codec.encoding_table["948"] = [166,196] let s:lib.Codec.encoding_table["949"] = [166,197] let s:lib.Codec.encoding_table["950"] = [166,198] let s:lib.Codec.encoding_table["951"] = [166,199] let s:lib.Codec.encoding_table["952"] = [166,200] let s:lib.Codec.encoding_table["953"] = [166,201] let s:lib.Codec.encoding_table["954"] = [166,202] let s:lib.Codec.encoding_table["955"] = [166,203] let s:lib.Codec.encoding_table["956"] = [166,204] let s:lib.Codec.encoding_table["957"] = [166,205] let s:lib.Codec.encoding_table["958"] = [166,206] let s:lib.Codec.encoding_table["959"] = [166,207] let s:lib.Codec.encoding_table["960"] = [166,208] let s:lib.Codec.encoding_table["961"] = [166,209] let s:lib.Codec.encoding_table["963"] = [166,210] let s:lib.Codec.encoding_table["964"] = [166,211] let s:lib.Codec.encoding_table["965"] = [166,212] let s:lib.Codec.encoding_table["966"] = [166,213] let s:lib.Codec.encoding_table["967"] = [166,214] let s:lib.Codec.encoding_table["968"] = [166,215] let s:lib.Codec.encoding_table["969"] = [166,216] let s:lib.Codec.encoding_table["65077"] = [166,224] let s:lib.Codec.encoding_table["65078"] = [166,225] let s:lib.Codec.encoding_table["65081"] = [166,226] let s:lib.Codec.encoding_table["65082"] = [166,227] let s:lib.Codec.encoding_table["65087"] = [166,228] let s:lib.Codec.encoding_table["65088"] = [166,229] let s:lib.Codec.encoding_table["65085"] = [166,230] let s:lib.Codec.encoding_table["65086"] = [166,231] let s:lib.Codec.encoding_table["65089"] = [166,232] let s:lib.Codec.encoding_table["65090"] = [166,233] let s:lib.Codec.encoding_table["65091"] = [166,234] let s:lib.Codec.encoding_table["65092"] = [166,235] let s:lib.Codec.encoding_table["65083"] = [166,238] let s:lib.Codec.encoding_table["65084"] = [166,239] let s:lib.Codec.encoding_table["65079"] = [166,240] let s:lib.Codec.encoding_table["65080"] = [166,241] let s:lib.Codec.encoding_table["65073"] = [166,242] let s:lib.Codec.encoding_table["65075"] = [166,244] let s:lib.Codec.encoding_table["65076"] = [166,245] let s:lib.Codec.encoding_table["1040"] = [167,161] let s:lib.Codec.encoding_table["1041"] = [167,162] let s:lib.Codec.encoding_table["1042"] = [167,163] let s:lib.Codec.encoding_table["1043"] = [167,164] let s:lib.Codec.encoding_table["1044"] = [167,165] let s:lib.Codec.encoding_table["1045"] = [167,166] let s:lib.Codec.encoding_table["1025"] = [167,167] let s:lib.Codec.encoding_table["1046"] = [167,168] let s:lib.Codec.encoding_table["1047"] = [167,169] let s:lib.Codec.encoding_table["1048"] = [167,170] let s:lib.Codec.encoding_table["1049"] = [167,171] let s:lib.Codec.encoding_table["1050"] = [167,172] let s:lib.Codec.encoding_table["1051"] = [167,173] let s:lib.Codec.encoding_table["1052"] = [167,174] let s:lib.Codec.encoding_table["1053"] = [167,175] let s:lib.Codec.encoding_table["1054"] = [167,176] let s:lib.Codec.encoding_table["1055"] = [167,177] let s:lib.Codec.encoding_table["1056"] = [167,178] let s:lib.Codec.encoding_table["1057"] = [167,179] let s:lib.Codec.encoding_table["1058"] = [167,180] let s:lib.Codec.encoding_table["1059"] = [167,181] let s:lib.Codec.encoding_table["1060"] = [167,182] let s:lib.Codec.encoding_table["1061"] = [167,183] let s:lib.Codec.encoding_table["1062"] = [167,184] let s:lib.Codec.encoding_table["1063"] = [167,185] let s:lib.Codec.encoding_table["1064"] = [167,186] let s:lib.Codec.encoding_table["1065"] = [167,187] let s:lib.Codec.encoding_table["1066"] = [167,188] let s:lib.Codec.encoding_table["1067"] = [167,189] let s:lib.Codec.encoding_table["1068"] = [167,190] let s:lib.Codec.encoding_table["1069"] = [167,191] let s:lib.Codec.encoding_table["1070"] = [167,192] let s:lib.Codec.encoding_table["1071"] = [167,193] let s:lib.Codec.encoding_table["1072"] = [167,209] let s:lib.Codec.encoding_table["1073"] = [167,210] let s:lib.Codec.encoding_table["1074"] = [167,211] let s:lib.Codec.encoding_table["1075"] = [167,212] let s:lib.Codec.encoding_table["1076"] = [167,213] let s:lib.Codec.encoding_table["1077"] = [167,214] let s:lib.Codec.encoding_table["1105"] = [167,215] let s:lib.Codec.encoding_table["1078"] = [167,216] let s:lib.Codec.encoding_table["1079"] = [167,217] let s:lib.Codec.encoding_table["1080"] = [167,218] let s:lib.Codec.encoding_table["1081"] = [167,219] let s:lib.Codec.encoding_table["1082"] = [167,220] let s:lib.Codec.encoding_table["1083"] = [167,221] let s:lib.Codec.encoding_table["1084"] = [167,222] let s:lib.Codec.encoding_table["1085"] = [167,223] let s:lib.Codec.encoding_table["1086"] = [167,224] let s:lib.Codec.encoding_table["1087"] = [167,225] let s:lib.Codec.encoding_table["1088"] = [167,226] let s:lib.Codec.encoding_table["1089"] = [167,227] let s:lib.Codec.encoding_table["1090"] = [167,228] let s:lib.Codec.encoding_table["1091"] = [167,229] let s:lib.Codec.encoding_table["1092"] = [167,230] let s:lib.Codec.encoding_table["1093"] = [167,231] let s:lib.Codec.encoding_table["1094"] = [167,232] let s:lib.Codec.encoding_table["1095"] = [167,233] let s:lib.Codec.encoding_table["1096"] = [167,234] let s:lib.Codec.encoding_table["1097"] = [167,235] let s:lib.Codec.encoding_table["1098"] = [167,236] let s:lib.Codec.encoding_table["1099"] = [167,237] let s:lib.Codec.encoding_table["1100"] = [167,238] let s:lib.Codec.encoding_table["1101"] = [167,239] let s:lib.Codec.encoding_table["1102"] = [167,240] let s:lib.Codec.encoding_table["1103"] = [167,241] let s:lib.Codec.encoding_table["714"] = [168,64] let s:lib.Codec.encoding_table["715"] = [168,65] let s:lib.Codec.encoding_table["729"] = [168,66] let s:lib.Codec.encoding_table["8211"] = [168,67] let s:lib.Codec.encoding_table["8213"] = [168,68] let s:lib.Codec.encoding_table["8229"] = [168,69] let s:lib.Codec.encoding_table["8245"] = [168,70] let s:lib.Codec.encoding_table["8453"] = [168,71] let s:lib.Codec.encoding_table["8457"] = [168,72] let s:lib.Codec.encoding_table["8598"] = [168,73] let s:lib.Codec.encoding_table["8599"] = [168,74] let s:lib.Codec.encoding_table["8600"] = [168,75] let s:lib.Codec.encoding_table["8601"] = [168,76] let s:lib.Codec.encoding_table["8725"] = [168,77] let s:lib.Codec.encoding_table["8735"] = [168,78] let s:lib.Codec.encoding_table["8739"] = [168,79] let s:lib.Codec.encoding_table["8786"] = [168,80] let s:lib.Codec.encoding_table["8806"] = [168,81] let s:lib.Codec.encoding_table["8807"] = [168,82] let s:lib.Codec.encoding_table["8895"] = [168,83] let s:lib.Codec.encoding_table["9552"] = [168,84] let s:lib.Codec.encoding_table["9553"] = [168,85] let s:lib.Codec.encoding_table["9554"] = [168,86] let s:lib.Codec.encoding_table["9555"] = [168,87] let s:lib.Codec.encoding_table["9556"] = [168,88] let s:lib.Codec.encoding_table["9557"] = [168,89] let s:lib.Codec.encoding_table["9558"] = [168,90] let s:lib.Codec.encoding_table["9559"] = [168,91] let s:lib.Codec.encoding_table["9560"] = [168,92] let s:lib.Codec.encoding_table["9561"] = [168,93] let s:lib.Codec.encoding_table["9562"] = [168,94] let s:lib.Codec.encoding_table["9563"] = [168,95] let s:lib.Codec.encoding_table["9564"] = [168,96] let s:lib.Codec.encoding_table["9565"] = [168,97] let s:lib.Codec.encoding_table["9566"] = [168,98] let s:lib.Codec.encoding_table["9567"] = [168,99] let s:lib.Codec.encoding_table["9568"] = [168,100] let s:lib.Codec.encoding_table["9569"] = [168,101] let s:lib.Codec.encoding_table["9570"] = [168,102] let s:lib.Codec.encoding_table["9571"] = [168,103] let s:lib.Codec.encoding_table["9572"] = [168,104] let s:lib.Codec.encoding_table["9573"] = [168,105] let s:lib.Codec.encoding_table["9574"] = [168,106] let s:lib.Codec.encoding_table["9575"] = [168,107] let s:lib.Codec.encoding_table["9576"] = [168,108] let s:lib.Codec.encoding_table["9577"] = [168,109] let s:lib.Codec.encoding_table["9578"] = [168,110] let s:lib.Codec.encoding_table["9579"] = [168,111] let s:lib.Codec.encoding_table["9580"] = [168,112] let s:lib.Codec.encoding_table["9581"] = [168,113] let s:lib.Codec.encoding_table["9582"] = [168,114] let s:lib.Codec.encoding_table["9583"] = [168,115] let s:lib.Codec.encoding_table["9584"] = [168,116] let s:lib.Codec.encoding_table["9585"] = [168,117] let s:lib.Codec.encoding_table["9586"] = [168,118] let s:lib.Codec.encoding_table["9587"] = [168,119] let s:lib.Codec.encoding_table["9601"] = [168,120] let s:lib.Codec.encoding_table["9602"] = [168,121] let s:lib.Codec.encoding_table["9603"] = [168,122] let s:lib.Codec.encoding_table["9604"] = [168,123] let s:lib.Codec.encoding_table["9605"] = [168,124] let s:lib.Codec.encoding_table["9606"] = [168,125] let s:lib.Codec.encoding_table["9607"] = [168,126] let s:lib.Codec.encoding_table["9608"] = [168,128] let s:lib.Codec.encoding_table["9609"] = [168,129] let s:lib.Codec.encoding_table["9610"] = [168,130] let s:lib.Codec.encoding_table["9611"] = [168,131] let s:lib.Codec.encoding_table["9612"] = [168,132] let s:lib.Codec.encoding_table["9613"] = [168,133] let s:lib.Codec.encoding_table["9614"] = [168,134] let s:lib.Codec.encoding_table["9615"] = [168,135] let s:lib.Codec.encoding_table["9619"] = [168,136] let s:lib.Codec.encoding_table["9620"] = [168,137] let s:lib.Codec.encoding_table["9621"] = [168,138] let s:lib.Codec.encoding_table["9660"] = [168,139] let s:lib.Codec.encoding_table["9661"] = [168,140] let s:lib.Codec.encoding_table["9698"] = [168,141] let s:lib.Codec.encoding_table["9699"] = [168,142] let s:lib.Codec.encoding_table["9700"] = [168,143] let s:lib.Codec.encoding_table["9701"] = [168,144] let s:lib.Codec.encoding_table["9737"] = [168,145] let s:lib.Codec.encoding_table["8853"] = [168,146] let s:lib.Codec.encoding_table["12306"] = [168,147] let s:lib.Codec.encoding_table["12317"] = [168,148] let s:lib.Codec.encoding_table["12318"] = [168,149] let s:lib.Codec.encoding_table["257"] = [168,161] let s:lib.Codec.encoding_table["225"] = [168,162] let s:lib.Codec.encoding_table["462"] = [168,163] let s:lib.Codec.encoding_table["224"] = [168,164] let s:lib.Codec.encoding_table["275"] = [168,165] let s:lib.Codec.encoding_table["233"] = [168,166] let s:lib.Codec.encoding_table["283"] = [168,167] let s:lib.Codec.encoding_table["232"] = [168,168] let s:lib.Codec.encoding_table["299"] = [168,169] let s:lib.Codec.encoding_table["237"] = [168,170] let s:lib.Codec.encoding_table["464"] = [168,171] let s:lib.Codec.encoding_table["236"] = [168,172] let s:lib.Codec.encoding_table["333"] = [168,173] let s:lib.Codec.encoding_table["243"] = [168,174] let s:lib.Codec.encoding_table["466"] = [168,175] let s:lib.Codec.encoding_table["242"] = [168,176] let s:lib.Codec.encoding_table["363"] = [168,177] let s:lib.Codec.encoding_table["250"] = [168,178] let s:lib.Codec.encoding_table["468"] = [168,179] let s:lib.Codec.encoding_table["249"] = [168,180] let s:lib.Codec.encoding_table["470"] = [168,181] let s:lib.Codec.encoding_table["472"] = [168,182] let s:lib.Codec.encoding_table["474"] = [168,183] let s:lib.Codec.encoding_table["476"] = [168,184] let s:lib.Codec.encoding_table["252"] = [168,185] let s:lib.Codec.encoding_table["234"] = [168,186] let s:lib.Codec.encoding_table["593"] = [168,187] let s:lib.Codec.encoding_table["324"] = [168,189] let s:lib.Codec.encoding_table["328"] = [168,190] let s:lib.Codec.encoding_table["609"] = [168,192] let s:lib.Codec.encoding_table["12549"] = [168,197] let s:lib.Codec.encoding_table["12550"] = [168,198] let s:lib.Codec.encoding_table["12551"] = [168,199] let s:lib.Codec.encoding_table["12552"] = [168,200] let s:lib.Codec.encoding_table["12553"] = [168,201] let s:lib.Codec.encoding_table["12554"] = [168,202] let s:lib.Codec.encoding_table["12555"] = [168,203] let s:lib.Codec.encoding_table["12556"] = [168,204] let s:lib.Codec.encoding_table["12557"] = [168,205] let s:lib.Codec.encoding_table["12558"] = [168,206] let s:lib.Codec.encoding_table["12559"] = [168,207] let s:lib.Codec.encoding_table["12560"] = [168,208] let s:lib.Codec.encoding_table["12561"] = [168,209] let s:lib.Codec.encoding_table["12562"] = [168,210] let s:lib.Codec.encoding_table["12563"] = [168,211] let s:lib.Codec.encoding_table["12564"] = [168,212] let s:lib.Codec.encoding_table["12565"] = [168,213] let s:lib.Codec.encoding_table["12566"] = [168,214] let s:lib.Codec.encoding_table["12567"] = [168,215] let s:lib.Codec.encoding_table["12568"] = [168,216] let s:lib.Codec.encoding_table["12569"] = [168,217] let s:lib.Codec.encoding_table["12570"] = [168,218] let s:lib.Codec.encoding_table["12571"] = [168,219] let s:lib.Codec.encoding_table["12572"] = [168,220] let s:lib.Codec.encoding_table["12573"] = [168,221] let s:lib.Codec.encoding_table["12574"] = [168,222] let s:lib.Codec.encoding_table["12575"] = [168,223] let s:lib.Codec.encoding_table["12576"] = [168,224] let s:lib.Codec.encoding_table["12577"] = [168,225] let s:lib.Codec.encoding_table["12578"] = [168,226] let s:lib.Codec.encoding_table["12579"] = [168,227] let s:lib.Codec.encoding_table["12580"] = [168,228] let s:lib.Codec.encoding_table["12581"] = [168,229] let s:lib.Codec.encoding_table["12582"] = [168,230] let s:lib.Codec.encoding_table["12583"] = [168,231] let s:lib.Codec.encoding_table["12584"] = [168,232] let s:lib.Codec.encoding_table["12585"] = [168,233] let s:lib.Codec.encoding_table["12321"] = [169,64] let s:lib.Codec.encoding_table["12322"] = [169,65] let s:lib.Codec.encoding_table["12323"] = [169,66] let s:lib.Codec.encoding_table["12324"] = [169,67] let s:lib.Codec.encoding_table["12325"] = [169,68] let s:lib.Codec.encoding_table["12326"] = [169,69] let s:lib.Codec.encoding_table["12327"] = [169,70] let s:lib.Codec.encoding_table["12328"] = [169,71] let s:lib.Codec.encoding_table["12329"] = [169,72] let s:lib.Codec.encoding_table["12963"] = [169,73] let s:lib.Codec.encoding_table["13198"] = [169,74] let s:lib.Codec.encoding_table["13199"] = [169,75] let s:lib.Codec.encoding_table["13212"] = [169,76] let s:lib.Codec.encoding_table["13213"] = [169,77] let s:lib.Codec.encoding_table["13214"] = [169,78] let s:lib.Codec.encoding_table["13217"] = [169,79] let s:lib.Codec.encoding_table["13252"] = [169,80] let s:lib.Codec.encoding_table["13262"] = [169,81] let s:lib.Codec.encoding_table["13265"] = [169,82] let s:lib.Codec.encoding_table["13266"] = [169,83] let s:lib.Codec.encoding_table["13269"] = [169,84] let s:lib.Codec.encoding_table["65072"] = [169,85] let s:lib.Codec.encoding_table["65506"] = [169,86] let s:lib.Codec.encoding_table["65508"] = [169,87] let s:lib.Codec.encoding_table["8481"] = [169,89] let s:lib.Codec.encoding_table["12849"] = [169,90] let s:lib.Codec.encoding_table["8208"] = [169,92] let s:lib.Codec.encoding_table["12540"] = [169,96] let s:lib.Codec.encoding_table["12443"] = [169,97] let s:lib.Codec.encoding_table["12444"] = [169,98] let s:lib.Codec.encoding_table["12541"] = [169,99] let s:lib.Codec.encoding_table["12542"] = [169,100] let s:lib.Codec.encoding_table["12294"] = [169,101] let s:lib.Codec.encoding_table["12445"] = [169,102] let s:lib.Codec.encoding_table["12446"] = [169,103] let s:lib.Codec.encoding_table["65097"] = [169,104] let s:lib.Codec.encoding_table["65098"] = [169,105] let s:lib.Codec.encoding_table["65099"] = [169,106] let s:lib.Codec.encoding_table["65100"] = [169,107] let s:lib.Codec.encoding_table["65101"] = [169,108] let s:lib.Codec.encoding_table["65102"] = [169,109] let s:lib.Codec.encoding_table["65103"] = [169,110] let s:lib.Codec.encoding_table["65104"] = [169,111] let s:lib.Codec.encoding_table["65105"] = [169,112] let s:lib.Codec.encoding_table["65106"] = [169,113] let s:lib.Codec.encoding_table["65108"] = [169,114] let s:lib.Codec.encoding_table["65109"] = [169,115] let s:lib.Codec.encoding_table["65110"] = [169,116] let s:lib.Codec.encoding_table["65111"] = [169,117] let s:lib.Codec.encoding_table["65113"] = [169,118] let s:lib.Codec.encoding_table["65114"] = [169,119] let s:lib.Codec.encoding_table["65115"] = [169,120] let s:lib.Codec.encoding_table["65116"] = [169,121] let s:lib.Codec.encoding_table["65117"] = [169,122] let s:lib.Codec.encoding_table["65118"] = [169,123] let s:lib.Codec.encoding_table["65119"] = [169,124] let s:lib.Codec.encoding_table["65120"] = [169,125] let s:lib.Codec.encoding_table["65121"] = [169,126] let s:lib.Codec.encoding_table["65122"] = [169,128] let s:lib.Codec.encoding_table["65123"] = [169,129] let s:lib.Codec.encoding_table["65124"] = [169,130] let s:lib.Codec.encoding_table["65125"] = [169,131] let s:lib.Codec.encoding_table["65126"] = [169,132] let s:lib.Codec.encoding_table["65128"] = [169,133] let s:lib.Codec.encoding_table["65129"] = [169,134] let s:lib.Codec.encoding_table["65130"] = [169,135] let s:lib.Codec.encoding_table["65131"] = [169,136] let s:lib.Codec.encoding_table["12295"] = [169,150] let s:lib.Codec.encoding_table["9472"] = [169,164] let s:lib.Codec.encoding_table["9473"] = [169,165] let s:lib.Codec.encoding_table["9474"] = [169,166] let s:lib.Codec.encoding_table["9475"] = [169,167] let s:lib.Codec.encoding_table["9476"] = [169,168] let s:lib.Codec.encoding_table["9477"] = [169,169] let s:lib.Codec.encoding_table["9478"] = [169,170] let s:lib.Codec.encoding_table["9479"] = [169,171] let s:lib.Codec.encoding_table["9480"] = [169,172] let s:lib.Codec.encoding_table["9481"] = [169,173] let s:lib.Codec.encoding_table["9482"] = [169,174] let s:lib.Codec.encoding_table["9483"] = [169,175] let s:lib.Codec.encoding_table["9484"] = [169,176] let s:lib.Codec.encoding_table["9485"] = [169,177] let s:lib.Codec.encoding_table["9486"] = [169,178] let s:lib.Codec.encoding_table["9487"] = [169,179] let s:lib.Codec.encoding_table["9488"] = [169,180] let s:lib.Codec.encoding_table["9489"] = [169,181] let s:lib.Codec.encoding_table["9490"] = [169,182] let s:lib.Codec.encoding_table["9491"] = [169,183] let s:lib.Codec.encoding_table["9492"] = [169,184] let s:lib.Codec.encoding_table["9493"] = [169,185] let s:lib.Codec.encoding_table["9494"] = [169,186] let s:lib.Codec.encoding_table["9495"] = [169,187] let s:lib.Codec.encoding_table["9496"] = [169,188] let s:lib.Codec.encoding_table["9497"] = [169,189] let s:lib.Codec.encoding_table["9498"] = [169,190] let s:lib.Codec.encoding_table["9499"] = [169,191] let s:lib.Codec.encoding_table["9500"] = [169,192] let s:lib.Codec.encoding_table["9501"] = [169,193] let s:lib.Codec.encoding_table["9502"] = [169,194] let s:lib.Codec.encoding_table["9503"] = [169,195] let s:lib.Codec.encoding_table["9504"] = [169,196] let s:lib.Codec.encoding_table["9505"] = [169,197] let s:lib.Codec.encoding_table["9506"] = [169,198] let s:lib.Codec.encoding_table["9507"] = [169,199] let s:lib.Codec.encoding_table["9508"] = [169,200] let s:lib.Codec.encoding_table["9509"] = [169,201] let s:lib.Codec.encoding_table["9510"] = [169,202] let s:lib.Codec.encoding_table["9511"] = [169,203] let s:lib.Codec.encoding_table["9512"] = [169,204] let s:lib.Codec.encoding_table["9513"] = [169,205] let s:lib.Codec.encoding_table["9514"] = [169,206] let s:lib.Codec.encoding_table["9515"] = [169,207] let s:lib.Codec.encoding_table["9516"] = [169,208] let s:lib.Codec.encoding_table["9517"] = [169,209] let s:lib.Codec.encoding_table["9518"] = [169,210] let s:lib.Codec.encoding_table["9519"] = [169,211] let s:lib.Codec.encoding_table["9520"] = [169,212] let s:lib.Codec.encoding_table["9521"] = [169,213] let s:lib.Codec.encoding_table["9522"] = [169,214] let s:lib.Codec.encoding_table["9523"] = [169,215] let s:lib.Codec.encoding_table["9524"] = [169,216] let s:lib.Codec.encoding_table["9525"] = [169,217] let s:lib.Codec.encoding_table["9526"] = [169,218] let s:lib.Codec.encoding_table["9527"] = [169,219] let s:lib.Codec.encoding_table["9528"] = [169,220] let s:lib.Codec.encoding_table["9529"] = [169,221] let s:lib.Codec.encoding_table["9530"] = [169,222] let s:lib.Codec.encoding_table["9531"] = [169,223] let s:lib.Codec.encoding_table["9532"] = [169,224] let s:lib.Codec.encoding_table["9533"] = [169,225] let s:lib.Codec.encoding_table["9534"] = [169,226] let s:lib.Codec.encoding_table["9535"] = [169,227] let s:lib.Codec.encoding_table["9536"] = [169,228] let s:lib.Codec.encoding_table["9537"] = [169,229] let s:lib.Codec.encoding_table["9538"] = [169,230] let s:lib.Codec.encoding_table["9539"] = [169,231] let s:lib.Codec.encoding_table["9540"] = [169,232] let s:lib.Codec.encoding_table["9541"] = [169,233] let s:lib.Codec.encoding_table["9542"] = [169,234] let s:lib.Codec.encoding_table["9543"] = [169,235] let s:lib.Codec.encoding_table["9544"] = [169,236] let s:lib.Codec.encoding_table["9545"] = [169,237] let s:lib.Codec.encoding_table["9546"] = [169,238] let s:lib.Codec.encoding_table["9547"] = [169,239] let s:lib.Codec.encoding_table["29404"] = [170,64] let s:lib.Codec.encoding_table["29405"] = [170,65] let s:lib.Codec.encoding_table["29407"] = [170,66] let s:lib.Codec.encoding_table["29410"] = [170,67] let s:lib.Codec.encoding_table["29411"] = [170,68] let s:lib.Codec.encoding_table["29412"] = [170,69] let s:lib.Codec.encoding_table["29413"] = [170,70] let s:lib.Codec.encoding_table["29414"] = [170,71] let s:lib.Codec.encoding_table["29415"] = [170,72] let s:lib.Codec.encoding_table["29418"] = [170,73] let s:lib.Codec.encoding_table["29419"] = [170,74] let s:lib.Codec.encoding_table["29429"] = [170,75] let s:lib.Codec.encoding_table["29430"] = [170,76] let s:lib.Codec.encoding_table["29433"] = [170,77] let s:lib.Codec.encoding_table["29437"] = [170,78] let s:lib.Codec.encoding_table["29438"] = [170,79] let s:lib.Codec.encoding_table["29439"] = [170,80] let s:lib.Codec.encoding_table["29440"] = [170,81] let s:lib.Codec.encoding_table["29442"] = [170,82] let s:lib.Codec.encoding_table["29444"] = [170,83] let s:lib.Codec.encoding_table["29445"] = [170,84] let s:lib.Codec.encoding_table["29446"] = [170,85] let s:lib.Codec.encoding_table["29447"] = [170,86] let s:lib.Codec.encoding_table["29448"] = [170,87] let s:lib.Codec.encoding_table["29449"] = [170,88] let s:lib.Codec.encoding_table["29451"] = [170,89] let s:lib.Codec.encoding_table["29452"] = [170,90] let s:lib.Codec.encoding_table["29453"] = [170,91] let s:lib.Codec.encoding_table["29455"] = [170,92] let s:lib.Codec.encoding_table["29456"] = [170,93] let s:lib.Codec.encoding_table["29457"] = [170,94] let s:lib.Codec.encoding_table["29458"] = [170,95] let s:lib.Codec.encoding_table["29460"] = [170,96] let s:lib.Codec.encoding_table["29464"] = [170,97] let s:lib.Codec.encoding_table["29465"] = [170,98] let s:lib.Codec.encoding_table["29466"] = [170,99] let s:lib.Codec.encoding_table["29471"] = [170,100] let s:lib.Codec.encoding_table["29472"] = [170,101] let s:lib.Codec.encoding_table["29475"] = [170,102] let s:lib.Codec.encoding_table["29476"] = [170,103] let s:lib.Codec.encoding_table["29478"] = [170,104] let s:lib.Codec.encoding_table["29479"] = [170,105] let s:lib.Codec.encoding_table["29480"] = [170,106] let s:lib.Codec.encoding_table["29485"] = [170,107] let s:lib.Codec.encoding_table["29487"] = [170,108] let s:lib.Codec.encoding_table["29488"] = [170,109] let s:lib.Codec.encoding_table["29490"] = [170,110] let s:lib.Codec.encoding_table["29491"] = [170,111] let s:lib.Codec.encoding_table["29493"] = [170,112] let s:lib.Codec.encoding_table["29494"] = [170,113] let s:lib.Codec.encoding_table["29498"] = [170,114] let s:lib.Codec.encoding_table["29499"] = [170,115] let s:lib.Codec.encoding_table["29500"] = [170,116] let s:lib.Codec.encoding_table["29501"] = [170,117] let s:lib.Codec.encoding_table["29504"] = [170,118] let s:lib.Codec.encoding_table["29505"] = [170,119] let s:lib.Codec.encoding_table["29506"] = [170,120] let s:lib.Codec.encoding_table["29507"] = [170,121] let s:lib.Codec.encoding_table["29508"] = [170,122] let s:lib.Codec.encoding_table["29509"] = [170,123] let s:lib.Codec.encoding_table["29510"] = [170,124] let s:lib.Codec.encoding_table["29511"] = [170,125] let s:lib.Codec.encoding_table["29512"] = [170,126] let s:lib.Codec.encoding_table["29513"] = [170,128] let s:lib.Codec.encoding_table["29514"] = [170,129] let s:lib.Codec.encoding_table["29515"] = [170,130] let s:lib.Codec.encoding_table["29516"] = [170,131] let s:lib.Codec.encoding_table["29518"] = [170,132] let s:lib.Codec.encoding_table["29519"] = [170,133] let s:lib.Codec.encoding_table["29521"] = [170,134] let s:lib.Codec.encoding_table["29523"] = [170,135] let s:lib.Codec.encoding_table["29524"] = [170,136] let s:lib.Codec.encoding_table["29525"] = [170,137] let s:lib.Codec.encoding_table["29526"] = [170,138] let s:lib.Codec.encoding_table["29528"] = [170,139] let s:lib.Codec.encoding_table["29529"] = [170,140] let s:lib.Codec.encoding_table["29530"] = [170,141] let s:lib.Codec.encoding_table["29531"] = [170,142] let s:lib.Codec.encoding_table["29532"] = [170,143] let s:lib.Codec.encoding_table["29533"] = [170,144] let s:lib.Codec.encoding_table["29534"] = [170,145] let s:lib.Codec.encoding_table["29535"] = [170,146] let s:lib.Codec.encoding_table["29537"] = [170,147] let s:lib.Codec.encoding_table["29538"] = [170,148] let s:lib.Codec.encoding_table["29539"] = [170,149] let s:lib.Codec.encoding_table["29540"] = [170,150] let s:lib.Codec.encoding_table["29541"] = [170,151] let s:lib.Codec.encoding_table["29542"] = [170,152] let s:lib.Codec.encoding_table["29543"] = [170,153] let s:lib.Codec.encoding_table["29544"] = [170,154] let s:lib.Codec.encoding_table["29545"] = [170,155] let s:lib.Codec.encoding_table["29546"] = [170,156] let s:lib.Codec.encoding_table["29547"] = [170,157] let s:lib.Codec.encoding_table["29550"] = [170,158] let s:lib.Codec.encoding_table["29552"] = [170,159] let s:lib.Codec.encoding_table["29553"] = [170,160] let s:lib.Codec.encoding_table["29554"] = [171,64] let s:lib.Codec.encoding_table["29555"] = [171,65] let s:lib.Codec.encoding_table["29556"] = [171,66] let s:lib.Codec.encoding_table["29557"] = [171,67] let s:lib.Codec.encoding_table["29558"] = [171,68] let s:lib.Codec.encoding_table["29559"] = [171,69] let s:lib.Codec.encoding_table["29560"] = [171,70] let s:lib.Codec.encoding_table["29561"] = [171,71] let s:lib.Codec.encoding_table["29562"] = [171,72] let s:lib.Codec.encoding_table["29563"] = [171,73] let s:lib.Codec.encoding_table["29564"] = [171,74] let s:lib.Codec.encoding_table["29565"] = [171,75] let s:lib.Codec.encoding_table["29567"] = [171,76] let s:lib.Codec.encoding_table["29568"] = [171,77] let s:lib.Codec.encoding_table["29569"] = [171,78] let s:lib.Codec.encoding_table["29570"] = [171,79] let s:lib.Codec.encoding_table["29571"] = [171,80] let s:lib.Codec.encoding_table["29573"] = [171,81] let s:lib.Codec.encoding_table["29574"] = [171,82] let s:lib.Codec.encoding_table["29576"] = [171,83] let s:lib.Codec.encoding_table["29578"] = [171,84] let s:lib.Codec.encoding_table["29580"] = [171,85] let s:lib.Codec.encoding_table["29581"] = [171,86] let s:lib.Codec.encoding_table["29583"] = [171,87] let s:lib.Codec.encoding_table["29584"] = [171,88] let s:lib.Codec.encoding_table["29586"] = [171,89] let s:lib.Codec.encoding_table["29587"] = [171,90] let s:lib.Codec.encoding_table["29588"] = [171,91] let s:lib.Codec.encoding_table["29589"] = [171,92] let s:lib.Codec.encoding_table["29591"] = [171,93] let s:lib.Codec.encoding_table["29592"] = [171,94] let s:lib.Codec.encoding_table["29593"] = [171,95] let s:lib.Codec.encoding_table["29594"] = [171,96] let s:lib.Codec.encoding_table["29596"] = [171,97] let s:lib.Codec.encoding_table["29597"] = [171,98] let s:lib.Codec.encoding_table["29598"] = [171,99] let s:lib.Codec.encoding_table["29600"] = [171,100] let s:lib.Codec.encoding_table["29601"] = [171,101] let s:lib.Codec.encoding_table["29603"] = [171,102] let s:lib.Codec.encoding_table["29604"] = [171,103] let s:lib.Codec.encoding_table["29605"] = [171,104] let s:lib.Codec.encoding_table["29606"] = [171,105] let s:lib.Codec.encoding_table["29607"] = [171,106] let s:lib.Codec.encoding_table["29608"] = [171,107] let s:lib.Codec.encoding_table["29610"] = [171,108] let s:lib.Codec.encoding_table["29612"] = [171,109] let s:lib.Codec.encoding_table["29613"] = [171,110] let s:lib.Codec.encoding_table["29617"] = [171,111] let s:lib.Codec.encoding_table["29620"] = [171,112] let s:lib.Codec.encoding_table["29621"] = [171,113] let s:lib.Codec.encoding_table["29622"] = [171,114] let s:lib.Codec.encoding_table["29624"] = [171,115] let s:lib.Codec.encoding_table["29625"] = [171,116] let s:lib.Codec.encoding_table["29628"] = [171,117] let s:lib.Codec.encoding_table["29629"] = [171,118] let s:lib.Codec.encoding_table["29630"] = [171,119] let s:lib.Codec.encoding_table["29631"] = [171,120] let s:lib.Codec.encoding_table["29633"] = [171,121] let s:lib.Codec.encoding_table["29635"] = [171,122] let s:lib.Codec.encoding_table["29636"] = [171,123] let s:lib.Codec.encoding_table["29637"] = [171,124] let s:lib.Codec.encoding_table["29638"] = [171,125] let s:lib.Codec.encoding_table["29639"] = [171,126] let s:lib.Codec.encoding_table["29643"] = [171,128] let s:lib.Codec.encoding_table["29644"] = [171,129] let s:lib.Codec.encoding_table["29646"] = [171,130] let s:lib.Codec.encoding_table["29650"] = [171,131] let s:lib.Codec.encoding_table["29651"] = [171,132] let s:lib.Codec.encoding_table["29652"] = [171,133] let s:lib.Codec.encoding_table["29653"] = [171,134] let s:lib.Codec.encoding_table["29654"] = [171,135] let s:lib.Codec.encoding_table["29655"] = [171,136] let s:lib.Codec.encoding_table["29656"] = [171,137] let s:lib.Codec.encoding_table["29658"] = [171,138] let s:lib.Codec.encoding_table["29659"] = [171,139] let s:lib.Codec.encoding_table["29660"] = [171,140] let s:lib.Codec.encoding_table["29661"] = [171,141] let s:lib.Codec.encoding_table["29663"] = [171,142] let s:lib.Codec.encoding_table["29665"] = [171,143] let s:lib.Codec.encoding_table["29666"] = [171,144] let s:lib.Codec.encoding_table["29667"] = [171,145] let s:lib.Codec.encoding_table["29668"] = [171,146] let s:lib.Codec.encoding_table["29670"] = [171,147] let s:lib.Codec.encoding_table["29672"] = [171,148] let s:lib.Codec.encoding_table["29674"] = [171,149] let s:lib.Codec.encoding_table["29675"] = [171,150] let s:lib.Codec.encoding_table["29676"] = [171,151] let s:lib.Codec.encoding_table["29678"] = [171,152] let s:lib.Codec.encoding_table["29679"] = [171,153] let s:lib.Codec.encoding_table["29680"] = [171,154] let s:lib.Codec.encoding_table["29681"] = [171,155] let s:lib.Codec.encoding_table["29683"] = [171,156] let s:lib.Codec.encoding_table["29684"] = [171,157] let s:lib.Codec.encoding_table["29685"] = [171,158] let s:lib.Codec.encoding_table["29686"] = [171,159] let s:lib.Codec.encoding_table["29687"] = [171,160] let s:lib.Codec.encoding_table["29688"] = [172,64] let s:lib.Codec.encoding_table["29689"] = [172,65] let s:lib.Codec.encoding_table["29690"] = [172,66] let s:lib.Codec.encoding_table["29691"] = [172,67] let s:lib.Codec.encoding_table["29692"] = [172,68] let s:lib.Codec.encoding_table["29693"] = [172,69] let s:lib.Codec.encoding_table["29694"] = [172,70] let s:lib.Codec.encoding_table["29695"] = [172,71] let s:lib.Codec.encoding_table["29696"] = [172,72] let s:lib.Codec.encoding_table["29697"] = [172,73] let s:lib.Codec.encoding_table["29698"] = [172,74] let s:lib.Codec.encoding_table["29700"] = [172,75] let s:lib.Codec.encoding_table["29703"] = [172,76] let s:lib.Codec.encoding_table["29704"] = [172,77] let s:lib.Codec.encoding_table["29707"] = [172,78] let s:lib.Codec.encoding_table["29708"] = [172,79] let s:lib.Codec.encoding_table["29709"] = [172,80] let s:lib.Codec.encoding_table["29710"] = [172,81] let s:lib.Codec.encoding_table["29713"] = [172,82] let s:lib.Codec.encoding_table["29714"] = [172,83] let s:lib.Codec.encoding_table["29715"] = [172,84] let s:lib.Codec.encoding_table["29716"] = [172,85] let s:lib.Codec.encoding_table["29717"] = [172,86] let s:lib.Codec.encoding_table["29718"] = [172,87] let s:lib.Codec.encoding_table["29719"] = [172,88] let s:lib.Codec.encoding_table["29720"] = [172,89] let s:lib.Codec.encoding_table["29721"] = [172,90] let s:lib.Codec.encoding_table["29724"] = [172,91] let s:lib.Codec.encoding_table["29725"] = [172,92] let s:lib.Codec.encoding_table["29726"] = [172,93] let s:lib.Codec.encoding_table["29727"] = [172,94] let s:lib.Codec.encoding_table["29728"] = [172,95] let s:lib.Codec.encoding_table["29729"] = [172,96] let s:lib.Codec.encoding_table["29731"] = [172,97] let s:lib.Codec.encoding_table["29732"] = [172,98] let s:lib.Codec.encoding_table["29735"] = [172,99] let s:lib.Codec.encoding_table["29737"] = [172,100] let s:lib.Codec.encoding_table["29739"] = [172,101] let s:lib.Codec.encoding_table["29741"] = [172,102] let s:lib.Codec.encoding_table["29743"] = [172,103] let s:lib.Codec.encoding_table["29745"] = [172,104] let s:lib.Codec.encoding_table["29746"] = [172,105] let s:lib.Codec.encoding_table["29751"] = [172,106] let s:lib.Codec.encoding_table["29752"] = [172,107] let s:lib.Codec.encoding_table["29753"] = [172,108] let s:lib.Codec.encoding_table["29754"] = [172,109] let s:lib.Codec.encoding_table["29755"] = [172,110] let s:lib.Codec.encoding_table["29757"] = [172,111] let s:lib.Codec.encoding_table["29758"] = [172,112] let s:lib.Codec.encoding_table["29759"] = [172,113] let s:lib.Codec.encoding_table["29760"] = [172,114] let s:lib.Codec.encoding_table["29762"] = [172,115] let s:lib.Codec.encoding_table["29763"] = [172,116] let s:lib.Codec.encoding_table["29764"] = [172,117] let s:lib.Codec.encoding_table["29765"] = [172,118] let s:lib.Codec.encoding_table["29766"] = [172,119] let s:lib.Codec.encoding_table["29767"] = [172,120] let s:lib.Codec.encoding_table["29768"] = [172,121] let s:lib.Codec.encoding_table["29769"] = [172,122] let s:lib.Codec.encoding_table["29770"] = [172,123] let s:lib.Codec.encoding_table["29771"] = [172,124] let s:lib.Codec.encoding_table["29772"] = [172,125] let s:lib.Codec.encoding_table["29773"] = [172,126] let s:lib.Codec.encoding_table["29774"] = [172,128] let s:lib.Codec.encoding_table["29775"] = [172,129] let s:lib.Codec.encoding_table["29776"] = [172,130] let s:lib.Codec.encoding_table["29777"] = [172,131] let s:lib.Codec.encoding_table["29778"] = [172,132] let s:lib.Codec.encoding_table["29779"] = [172,133] let s:lib.Codec.encoding_table["29780"] = [172,134] let s:lib.Codec.encoding_table["29782"] = [172,135] let s:lib.Codec.encoding_table["29784"] = [172,136] let s:lib.Codec.encoding_table["29789"] = [172,137] let s:lib.Codec.encoding_table["29792"] = [172,138] let s:lib.Codec.encoding_table["29793"] = [172,139] let s:lib.Codec.encoding_table["29794"] = [172,140] let s:lib.Codec.encoding_table["29795"] = [172,141] let s:lib.Codec.encoding_table["29796"] = [172,142] let s:lib.Codec.encoding_table["29797"] = [172,143] let s:lib.Codec.encoding_table["29798"] = [172,144] let s:lib.Codec.encoding_table["29799"] = [172,145] let s:lib.Codec.encoding_table["29800"] = [172,146] let s:lib.Codec.encoding_table["29801"] = [172,147] let s:lib.Codec.encoding_table["29802"] = [172,148] let s:lib.Codec.encoding_table["29803"] = [172,149] let s:lib.Codec.encoding_table["29804"] = [172,150] let s:lib.Codec.encoding_table["29806"] = [172,151] let s:lib.Codec.encoding_table["29807"] = [172,152] let s:lib.Codec.encoding_table["29809"] = [172,153] let s:lib.Codec.encoding_table["29810"] = [172,154] let s:lib.Codec.encoding_table["29811"] = [172,155] let s:lib.Codec.encoding_table["29812"] = [172,156] let s:lib.Codec.encoding_table["29813"] = [172,157] let s:lib.Codec.encoding_table["29816"] = [172,158] let s:lib.Codec.encoding_table["29817"] = [172,159] let s:lib.Codec.encoding_table["29818"] = [172,160] let s:lib.Codec.encoding_table["29819"] = [173,64] let s:lib.Codec.encoding_table["29820"] = [173,65] let s:lib.Codec.encoding_table["29821"] = [173,66] let s:lib.Codec.encoding_table["29823"] = [173,67] let s:lib.Codec.encoding_table["29826"] = [173,68] let s:lib.Codec.encoding_table["29828"] = [173,69] let s:lib.Codec.encoding_table["29829"] = [173,70] let s:lib.Codec.encoding_table["29830"] = [173,71] let s:lib.Codec.encoding_table["29832"] = [173,72] let s:lib.Codec.encoding_table["29833"] = [173,73] let s:lib.Codec.encoding_table["29834"] = [173,74] let s:lib.Codec.encoding_table["29836"] = [173,75] let s:lib.Codec.encoding_table["29837"] = [173,76] let s:lib.Codec.encoding_table["29839"] = [173,77] let s:lib.Codec.encoding_table["29841"] = [173,78] let s:lib.Codec.encoding_table["29842"] = [173,79] let s:lib.Codec.encoding_table["29843"] = [173,80] let s:lib.Codec.encoding_table["29844"] = [173,81] let s:lib.Codec.encoding_table["29845"] = [173,82] let s:lib.Codec.encoding_table["29846"] = [173,83] let s:lib.Codec.encoding_table["29847"] = [173,84] let s:lib.Codec.encoding_table["29848"] = [173,85] let s:lib.Codec.encoding_table["29849"] = [173,86] let s:lib.Codec.encoding_table["29850"] = [173,87] let s:lib.Codec.encoding_table["29851"] = [173,88] let s:lib.Codec.encoding_table["29853"] = [173,89] let s:lib.Codec.encoding_table["29855"] = [173,90] let s:lib.Codec.encoding_table["29856"] = [173,91] let s:lib.Codec.encoding_table["29857"] = [173,92] let s:lib.Codec.encoding_table["29858"] = [173,93] let s:lib.Codec.encoding_table["29859"] = [173,94] let s:lib.Codec.encoding_table["29860"] = [173,95] let s:lib.Codec.encoding_table["29861"] = [173,96] let s:lib.Codec.encoding_table["29862"] = [173,97] let s:lib.Codec.encoding_table["29866"] = [173,98] let s:lib.Codec.encoding_table["29867"] = [173,99] let s:lib.Codec.encoding_table["29868"] = [173,100] let s:lib.Codec.encoding_table["29869"] = [173,101] let s:lib.Codec.encoding_table["29870"] = [173,102] let s:lib.Codec.encoding_table["29871"] = [173,103] let s:lib.Codec.encoding_table["29872"] = [173,104] let s:lib.Codec.encoding_table["29873"] = [173,105] let s:lib.Codec.encoding_table["29874"] = [173,106] let s:lib.Codec.encoding_table["29875"] = [173,107] let s:lib.Codec.encoding_table["29876"] = [173,108] let s:lib.Codec.encoding_table["29877"] = [173,109] let s:lib.Codec.encoding_table["29878"] = [173,110] let s:lib.Codec.encoding_table["29879"] = [173,111] let s:lib.Codec.encoding_table["29880"] = [173,112] let s:lib.Codec.encoding_table["29881"] = [173,113] let s:lib.Codec.encoding_table["29883"] = [173,114] let s:lib.Codec.encoding_table["29884"] = [173,115] let s:lib.Codec.encoding_table["29885"] = [173,116] let s:lib.Codec.encoding_table["29886"] = [173,117] let s:lib.Codec.encoding_table["29887"] = [173,118] let s:lib.Codec.encoding_table["29888"] = [173,119] let s:lib.Codec.encoding_table["29889"] = [173,120] let s:lib.Codec.encoding_table["29890"] = [173,121] let s:lib.Codec.encoding_table["29891"] = [173,122] let s:lib.Codec.encoding_table["29892"] = [173,123] let s:lib.Codec.encoding_table["29893"] = [173,124] let s:lib.Codec.encoding_table["29894"] = [173,125] let s:lib.Codec.encoding_table["29895"] = [173,126] let s:lib.Codec.encoding_table["29896"] = [173,128] let s:lib.Codec.encoding_table["29897"] = [173,129] let s:lib.Codec.encoding_table["29898"] = [173,130] let s:lib.Codec.encoding_table["29899"] = [173,131] let s:lib.Codec.encoding_table["29900"] = [173,132] let s:lib.Codec.encoding_table["29901"] = [173,133] let s:lib.Codec.encoding_table["29902"] = [173,134] let s:lib.Codec.encoding_table["29903"] = [173,135] let s:lib.Codec.encoding_table["29904"] = [173,136] let s:lib.Codec.encoding_table["29905"] = [173,137] let s:lib.Codec.encoding_table["29907"] = [173,138] let s:lib.Codec.encoding_table["29908"] = [173,139] let s:lib.Codec.encoding_table["29909"] = [173,140] let s:lib.Codec.encoding_table["29910"] = [173,141] let s:lib.Codec.encoding_table["29911"] = [173,142] let s:lib.Codec.encoding_table["29912"] = [173,143] let s:lib.Codec.encoding_table["29913"] = [173,144] let s:lib.Codec.encoding_table["29914"] = [173,145] let s:lib.Codec.encoding_table["29915"] = [173,146] let s:lib.Codec.encoding_table["29917"] = [173,147] let s:lib.Codec.encoding_table["29919"] = [173,148] let s:lib.Codec.encoding_table["29921"] = [173,149] let s:lib.Codec.encoding_table["29925"] = [173,150] let s:lib.Codec.encoding_table["29927"] = [173,151] let s:lib.Codec.encoding_table["29928"] = [173,152] let s:lib.Codec.encoding_table["29929"] = [173,153] let s:lib.Codec.encoding_table["29930"] = [173,154] let s:lib.Codec.encoding_table["29931"] = [173,155] let s:lib.Codec.encoding_table["29932"] = [173,156] let s:lib.Codec.encoding_table["29933"] = [173,157] let s:lib.Codec.encoding_table["29936"] = [173,158] let s:lib.Codec.encoding_table["29937"] = [173,159] let s:lib.Codec.encoding_table["29938"] = [173,160] let s:lib.Codec.encoding_table["29939"] = [174,64] let s:lib.Codec.encoding_table["29941"] = [174,65] let s:lib.Codec.encoding_table["29944"] = [174,66] let s:lib.Codec.encoding_table["29945"] = [174,67] let s:lib.Codec.encoding_table["29946"] = [174,68] let s:lib.Codec.encoding_table["29947"] = [174,69] let s:lib.Codec.encoding_table["29948"] = [174,70] let s:lib.Codec.encoding_table["29949"] = [174,71] let s:lib.Codec.encoding_table["29950"] = [174,72] let s:lib.Codec.encoding_table["29952"] = [174,73] let s:lib.Codec.encoding_table["29953"] = [174,74] let s:lib.Codec.encoding_table["29954"] = [174,75] let s:lib.Codec.encoding_table["29955"] = [174,76] let s:lib.Codec.encoding_table["29957"] = [174,77] let s:lib.Codec.encoding_table["29958"] = [174,78] let s:lib.Codec.encoding_table["29959"] = [174,79] let s:lib.Codec.encoding_table["29960"] = [174,80] let s:lib.Codec.encoding_table["29961"] = [174,81] let s:lib.Codec.encoding_table["29962"] = [174,82] let s:lib.Codec.encoding_table["29963"] = [174,83] let s:lib.Codec.encoding_table["29964"] = [174,84] let s:lib.Codec.encoding_table["29966"] = [174,85] let s:lib.Codec.encoding_table["29968"] = [174,86] let s:lib.Codec.encoding_table["29970"] = [174,87] let s:lib.Codec.encoding_table["29972"] = [174,88] let s:lib.Codec.encoding_table["29973"] = [174,89] let s:lib.Codec.encoding_table["29974"] = [174,90] let s:lib.Codec.encoding_table["29975"] = [174,91] let s:lib.Codec.encoding_table["29979"] = [174,92] let s:lib.Codec.encoding_table["29981"] = [174,93] let s:lib.Codec.encoding_table["29982"] = [174,94] let s:lib.Codec.encoding_table["29984"] = [174,95] let s:lib.Codec.encoding_table["29985"] = [174,96] let s:lib.Codec.encoding_table["29986"] = [174,97] let s:lib.Codec.encoding_table["29987"] = [174,98] let s:lib.Codec.encoding_table["29988"] = [174,99] let s:lib.Codec.encoding_table["29990"] = [174,100] let s:lib.Codec.encoding_table["29991"] = [174,101] let s:lib.Codec.encoding_table["29994"] = [174,102] let s:lib.Codec.encoding_table["29998"] = [174,103] let s:lib.Codec.encoding_table["30004"] = [174,104] let s:lib.Codec.encoding_table["30006"] = [174,105] let s:lib.Codec.encoding_table["30009"] = [174,106] let s:lib.Codec.encoding_table["30012"] = [174,107] let s:lib.Codec.encoding_table["30013"] = [174,108] let s:lib.Codec.encoding_table["30015"] = [174,109] let s:lib.Codec.encoding_table["30017"] = [174,110] let s:lib.Codec.encoding_table["30018"] = [174,111] let s:lib.Codec.encoding_table["30019"] = [174,112] let s:lib.Codec.encoding_table["30020"] = [174,113] let s:lib.Codec.encoding_table["30022"] = [174,114] let s:lib.Codec.encoding_table["30023"] = [174,115] let s:lib.Codec.encoding_table["30025"] = [174,116] let s:lib.Codec.encoding_table["30026"] = [174,117] let s:lib.Codec.encoding_table["30029"] = [174,118] let s:lib.Codec.encoding_table["30032"] = [174,119] let s:lib.Codec.encoding_table["30033"] = [174,120] let s:lib.Codec.encoding_table["30034"] = [174,121] let s:lib.Codec.encoding_table["30035"] = [174,122] let s:lib.Codec.encoding_table["30037"] = [174,123] let s:lib.Codec.encoding_table["30038"] = [174,124] let s:lib.Codec.encoding_table["30039"] = [174,125] let s:lib.Codec.encoding_table["30040"] = [174,126] let s:lib.Codec.encoding_table["30045"] = [174,128] let s:lib.Codec.encoding_table["30046"] = [174,129] let s:lib.Codec.encoding_table["30047"] = [174,130] let s:lib.Codec.encoding_table["30048"] = [174,131] let s:lib.Codec.encoding_table["30049"] = [174,132] let s:lib.Codec.encoding_table["30050"] = [174,133] let s:lib.Codec.encoding_table["30051"] = [174,134] let s:lib.Codec.encoding_table["30052"] = [174,135] let s:lib.Codec.encoding_table["30055"] = [174,136] let s:lib.Codec.encoding_table["30056"] = [174,137] let s:lib.Codec.encoding_table["30057"] = [174,138] let s:lib.Codec.encoding_table["30059"] = [174,139] let s:lib.Codec.encoding_table["30060"] = [174,140] let s:lib.Codec.encoding_table["30061"] = [174,141] let s:lib.Codec.encoding_table["30062"] = [174,142] let s:lib.Codec.encoding_table["30063"] = [174,143] let s:lib.Codec.encoding_table["30064"] = [174,144] let s:lib.Codec.encoding_table["30065"] = [174,145] let s:lib.Codec.encoding_table["30067"] = [174,146] let s:lib.Codec.encoding_table["30069"] = [174,147] let s:lib.Codec.encoding_table["30070"] = [174,148] let s:lib.Codec.encoding_table["30071"] = [174,149] let s:lib.Codec.encoding_table["30074"] = [174,150] let s:lib.Codec.encoding_table["30075"] = [174,151] let s:lib.Codec.encoding_table["30076"] = [174,152] let s:lib.Codec.encoding_table["30077"] = [174,153] let s:lib.Codec.encoding_table["30078"] = [174,154] let s:lib.Codec.encoding_table["30080"] = [174,155] let s:lib.Codec.encoding_table["30081"] = [174,156] let s:lib.Codec.encoding_table["30082"] = [174,157] let s:lib.Codec.encoding_table["30084"] = [174,158] let s:lib.Codec.encoding_table["30085"] = [174,159] let s:lib.Codec.encoding_table["30087"] = [174,160] let s:lib.Codec.encoding_table["30088"] = [175,64] let s:lib.Codec.encoding_table["30089"] = [175,65] let s:lib.Codec.encoding_table["30090"] = [175,66] let s:lib.Codec.encoding_table["30092"] = [175,67] let s:lib.Codec.encoding_table["30093"] = [175,68] let s:lib.Codec.encoding_table["30094"] = [175,69] let s:lib.Codec.encoding_table["30096"] = [175,70] let s:lib.Codec.encoding_table["30099"] = [175,71] let s:lib.Codec.encoding_table["30101"] = [175,72] let s:lib.Codec.encoding_table["30104"] = [175,73] let s:lib.Codec.encoding_table["30107"] = [175,74] let s:lib.Codec.encoding_table["30108"] = [175,75] let s:lib.Codec.encoding_table["30110"] = [175,76] let s:lib.Codec.encoding_table["30114"] = [175,77] let s:lib.Codec.encoding_table["30118"] = [175,78] let s:lib.Codec.encoding_table["30119"] = [175,79] let s:lib.Codec.encoding_table["30120"] = [175,80] let s:lib.Codec.encoding_table["30121"] = [175,81] let s:lib.Codec.encoding_table["30122"] = [175,82] let s:lib.Codec.encoding_table["30125"] = [175,83] let s:lib.Codec.encoding_table["30134"] = [175,84] let s:lib.Codec.encoding_table["30135"] = [175,85] let s:lib.Codec.encoding_table["30138"] = [175,86] let s:lib.Codec.encoding_table["30139"] = [175,87] let s:lib.Codec.encoding_table["30143"] = [175,88] let s:lib.Codec.encoding_table["30144"] = [175,89] let s:lib.Codec.encoding_table["30145"] = [175,90] let s:lib.Codec.encoding_table["30150"] = [175,91] let s:lib.Codec.encoding_table["30155"] = [175,92] let s:lib.Codec.encoding_table["30156"] = [175,93] let s:lib.Codec.encoding_table["30158"] = [175,94] let s:lib.Codec.encoding_table["30159"] = [175,95] let s:lib.Codec.encoding_table["30160"] = [175,96] let s:lib.Codec.encoding_table["30161"] = [175,97] let s:lib.Codec.encoding_table["30163"] = [175,98] let s:lib.Codec.encoding_table["30167"] = [175,99] let s:lib.Codec.encoding_table["30169"] = [175,100] let s:lib.Codec.encoding_table["30170"] = [175,101] let s:lib.Codec.encoding_table["30172"] = [175,102] let s:lib.Codec.encoding_table["30173"] = [175,103] let s:lib.Codec.encoding_table["30175"] = [175,104] let s:lib.Codec.encoding_table["30176"] = [175,105] let s:lib.Codec.encoding_table["30177"] = [175,106] let s:lib.Codec.encoding_table["30181"] = [175,107] let s:lib.Codec.encoding_table["30185"] = [175,108] let s:lib.Codec.encoding_table["30188"] = [175,109] let s:lib.Codec.encoding_table["30189"] = [175,110] let s:lib.Codec.encoding_table["30190"] = [175,111] let s:lib.Codec.encoding_table["30191"] = [175,112] let s:lib.Codec.encoding_table["30194"] = [175,113] let s:lib.Codec.encoding_table["30195"] = [175,114] let s:lib.Codec.encoding_table["30197"] = [175,115] let s:lib.Codec.encoding_table["30198"] = [175,116] let s:lib.Codec.encoding_table["30199"] = [175,117] let s:lib.Codec.encoding_table["30200"] = [175,118] let s:lib.Codec.encoding_table["30202"] = [175,119] let s:lib.Codec.encoding_table["30203"] = [175,120] let s:lib.Codec.encoding_table["30205"] = [175,121] let s:lib.Codec.encoding_table["30206"] = [175,122] let s:lib.Codec.encoding_table["30210"] = [175,123] let s:lib.Codec.encoding_table["30212"] = [175,124] let s:lib.Codec.encoding_table["30214"] = [175,125] let s:lib.Codec.encoding_table["30215"] = [175,126] let s:lib.Codec.encoding_table["30216"] = [175,128] let s:lib.Codec.encoding_table["30217"] = [175,129] let s:lib.Codec.encoding_table["30219"] = [175,130] let s:lib.Codec.encoding_table["30221"] = [175,131] let s:lib.Codec.encoding_table["30222"] = [175,132] let s:lib.Codec.encoding_table["30223"] = [175,133] let s:lib.Codec.encoding_table["30225"] = [175,134] let s:lib.Codec.encoding_table["30226"] = [175,135] let s:lib.Codec.encoding_table["30227"] = [175,136] let s:lib.Codec.encoding_table["30228"] = [175,137] let s:lib.Codec.encoding_table["30230"] = [175,138] let s:lib.Codec.encoding_table["30234"] = [175,139] let s:lib.Codec.encoding_table["30236"] = [175,140] let s:lib.Codec.encoding_table["30237"] = [175,141] let s:lib.Codec.encoding_table["30238"] = [175,142] let s:lib.Codec.encoding_table["30241"] = [175,143] let s:lib.Codec.encoding_table["30243"] = [175,144] let s:lib.Codec.encoding_table["30247"] = [175,145] let s:lib.Codec.encoding_table["30248"] = [175,146] let s:lib.Codec.encoding_table["30252"] = [175,147] let s:lib.Codec.encoding_table["30254"] = [175,148] let s:lib.Codec.encoding_table["30255"] = [175,149] let s:lib.Codec.encoding_table["30257"] = [175,150] let s:lib.Codec.encoding_table["30258"] = [175,151] let s:lib.Codec.encoding_table["30262"] = [175,152] let s:lib.Codec.encoding_table["30263"] = [175,153] let s:lib.Codec.encoding_table["30265"] = [175,154] let s:lib.Codec.encoding_table["30266"] = [175,155] let s:lib.Codec.encoding_table["30267"] = [175,156] let s:lib.Codec.encoding_table["30269"] = [175,157] let s:lib.Codec.encoding_table["30273"] = [175,158] let s:lib.Codec.encoding_table["30274"] = [175,159] let s:lib.Codec.encoding_table["30276"] = [175,160] let s:lib.Codec.encoding_table["30277"] = [176,64] let s:lib.Codec.encoding_table["30278"] = [176,65] let s:lib.Codec.encoding_table["30279"] = [176,66] let s:lib.Codec.encoding_table["30280"] = [176,67] let s:lib.Codec.encoding_table["30281"] = [176,68] let s:lib.Codec.encoding_table["30282"] = [176,69] let s:lib.Codec.encoding_table["30283"] = [176,70] let s:lib.Codec.encoding_table["30286"] = [176,71] let s:lib.Codec.encoding_table["30287"] = [176,72] let s:lib.Codec.encoding_table["30288"] = [176,73] let s:lib.Codec.encoding_table["30289"] = [176,74] let s:lib.Codec.encoding_table["30290"] = [176,75] let s:lib.Codec.encoding_table["30291"] = [176,76] let s:lib.Codec.encoding_table["30293"] = [176,77] let s:lib.Codec.encoding_table["30295"] = [176,78] let s:lib.Codec.encoding_table["30296"] = [176,79] let s:lib.Codec.encoding_table["30297"] = [176,80] let s:lib.Codec.encoding_table["30298"] = [176,81] let s:lib.Codec.encoding_table["30299"] = [176,82] let s:lib.Codec.encoding_table["30301"] = [176,83] let s:lib.Codec.encoding_table["30303"] = [176,84] let s:lib.Codec.encoding_table["30304"] = [176,85] let s:lib.Codec.encoding_table["30305"] = [176,86] let s:lib.Codec.encoding_table["30306"] = [176,87] let s:lib.Codec.encoding_table["30308"] = [176,88] let s:lib.Codec.encoding_table["30309"] = [176,89] let s:lib.Codec.encoding_table["30310"] = [176,90] let s:lib.Codec.encoding_table["30311"] = [176,91] let s:lib.Codec.encoding_table["30312"] = [176,92] let s:lib.Codec.encoding_table["30313"] = [176,93] let s:lib.Codec.encoding_table["30314"] = [176,94] let s:lib.Codec.encoding_table["30316"] = [176,95] let s:lib.Codec.encoding_table["30317"] = [176,96] let s:lib.Codec.encoding_table["30318"] = [176,97] let s:lib.Codec.encoding_table["30320"] = [176,98] let s:lib.Codec.encoding_table["30321"] = [176,99] let s:lib.Codec.encoding_table["30322"] = [176,100] let s:lib.Codec.encoding_table["30323"] = [176,101] let s:lib.Codec.encoding_table["30324"] = [176,102] let s:lib.Codec.encoding_table["30325"] = [176,103] let s:lib.Codec.encoding_table["30326"] = [176,104] let s:lib.Codec.encoding_table["30327"] = [176,105] let s:lib.Codec.encoding_table["30329"] = [176,106] let s:lib.Codec.encoding_table["30330"] = [176,107] let s:lib.Codec.encoding_table["30332"] = [176,108] let s:lib.Codec.encoding_table["30335"] = [176,109] let s:lib.Codec.encoding_table["30336"] = [176,110] let s:lib.Codec.encoding_table["30337"] = [176,111] let s:lib.Codec.encoding_table["30339"] = [176,112] let s:lib.Codec.encoding_table["30341"] = [176,113] let s:lib.Codec.encoding_table["30345"] = [176,114] let s:lib.Codec.encoding_table["30346"] = [176,115] let s:lib.Codec.encoding_table["30348"] = [176,116] let s:lib.Codec.encoding_table["30349"] = [176,117] let s:lib.Codec.encoding_table["30351"] = [176,118] let s:lib.Codec.encoding_table["30352"] = [176,119] let s:lib.Codec.encoding_table["30354"] = [176,120] let s:lib.Codec.encoding_table["30356"] = [176,121] let s:lib.Codec.encoding_table["30357"] = [176,122] let s:lib.Codec.encoding_table["30359"] = [176,123] let s:lib.Codec.encoding_table["30360"] = [176,124] let s:lib.Codec.encoding_table["30362"] = [176,125] let s:lib.Codec.encoding_table["30363"] = [176,126] let s:lib.Codec.encoding_table["30364"] = [176,128] let s:lib.Codec.encoding_table["30365"] = [176,129] let s:lib.Codec.encoding_table["30366"] = [176,130] let s:lib.Codec.encoding_table["30367"] = [176,131] let s:lib.Codec.encoding_table["30368"] = [176,132] let s:lib.Codec.encoding_table["30369"] = [176,133] let s:lib.Codec.encoding_table["30370"] = [176,134] let s:lib.Codec.encoding_table["30371"] = [176,135] let s:lib.Codec.encoding_table["30373"] = [176,136] let s:lib.Codec.encoding_table["30374"] = [176,137] let s:lib.Codec.encoding_table["30375"] = [176,138] let s:lib.Codec.encoding_table["30376"] = [176,139] let s:lib.Codec.encoding_table["30377"] = [176,140] let s:lib.Codec.encoding_table["30378"] = [176,141] let s:lib.Codec.encoding_table["30379"] = [176,142] let s:lib.Codec.encoding_table["30380"] = [176,143] let s:lib.Codec.encoding_table["30381"] = [176,144] let s:lib.Codec.encoding_table["30383"] = [176,145] let s:lib.Codec.encoding_table["30384"] = [176,146] let s:lib.Codec.encoding_table["30387"] = [176,147] let s:lib.Codec.encoding_table["30389"] = [176,148] let s:lib.Codec.encoding_table["30390"] = [176,149] let s:lib.Codec.encoding_table["30391"] = [176,150] let s:lib.Codec.encoding_table["30392"] = [176,151] let s:lib.Codec.encoding_table["30393"] = [176,152] let s:lib.Codec.encoding_table["30394"] = [176,153] let s:lib.Codec.encoding_table["30395"] = [176,154] let s:lib.Codec.encoding_table["30396"] = [176,155] let s:lib.Codec.encoding_table["30397"] = [176,156] let s:lib.Codec.encoding_table["30398"] = [176,157] let s:lib.Codec.encoding_table["30400"] = [176,158] let s:lib.Codec.encoding_table["30401"] = [176,159] let s:lib.Codec.encoding_table["30403"] = [176,160] let s:lib.Codec.encoding_table["21834"] = [176,161] let s:lib.Codec.encoding_table["38463"] = [176,162] let s:lib.Codec.encoding_table["22467"] = [176,163] let s:lib.Codec.encoding_table["25384"] = [176,164] let s:lib.Codec.encoding_table["21710"] = [176,165] let s:lib.Codec.encoding_table["21769"] = [176,166] let s:lib.Codec.encoding_table["21696"] = [176,167] let s:lib.Codec.encoding_table["30353"] = [176,168] let s:lib.Codec.encoding_table["30284"] = [176,169] let s:lib.Codec.encoding_table["34108"] = [176,170] let s:lib.Codec.encoding_table["30702"] = [176,171] let s:lib.Codec.encoding_table["33406"] = [176,172] let s:lib.Codec.encoding_table["30861"] = [176,173] let s:lib.Codec.encoding_table["29233"] = [176,174] let s:lib.Codec.encoding_table["38552"] = [176,175] let s:lib.Codec.encoding_table["38797"] = [176,176] let s:lib.Codec.encoding_table["27688"] = [176,177] let s:lib.Codec.encoding_table["23433"] = [176,178] let s:lib.Codec.encoding_table["20474"] = [176,179] let s:lib.Codec.encoding_table["25353"] = [176,180] let s:lib.Codec.encoding_table["26263"] = [176,181] let s:lib.Codec.encoding_table["23736"] = [176,182] let s:lib.Codec.encoding_table["33018"] = [176,183] let s:lib.Codec.encoding_table["26696"] = [176,184] let s:lib.Codec.encoding_table["32942"] = [176,185] let s:lib.Codec.encoding_table["26114"] = [176,186] let s:lib.Codec.encoding_table["30414"] = [176,187] let s:lib.Codec.encoding_table["20985"] = [176,188] let s:lib.Codec.encoding_table["25942"] = [176,189] let s:lib.Codec.encoding_table["29100"] = [176,190] let s:lib.Codec.encoding_table["32753"] = [176,191] let s:lib.Codec.encoding_table["34948"] = [176,192] let s:lib.Codec.encoding_table["20658"] = [176,193] let s:lib.Codec.encoding_table["22885"] = [176,194] let s:lib.Codec.encoding_table["25034"] = [176,195] let s:lib.Codec.encoding_table["28595"] = [176,196] let s:lib.Codec.encoding_table["33453"] = [176,197] let s:lib.Codec.encoding_table["25420"] = [176,198] let s:lib.Codec.encoding_table["25170"] = [176,199] let s:lib.Codec.encoding_table["21485"] = [176,200] let s:lib.Codec.encoding_table["21543"] = [176,201] let s:lib.Codec.encoding_table["31494"] = [176,202] let s:lib.Codec.encoding_table["20843"] = [176,203] let s:lib.Codec.encoding_table["30116"] = [176,204] let s:lib.Codec.encoding_table["24052"] = [176,205] let s:lib.Codec.encoding_table["25300"] = [176,206] let s:lib.Codec.encoding_table["36299"] = [176,207] let s:lib.Codec.encoding_table["38774"] = [176,208] let s:lib.Codec.encoding_table["25226"] = [176,209] let s:lib.Codec.encoding_table["32793"] = [176,210] let s:lib.Codec.encoding_table["22365"] = [176,211] let s:lib.Codec.encoding_table["38712"] = [176,212] let s:lib.Codec.encoding_table["32610"] = [176,213] let s:lib.Codec.encoding_table["29240"] = [176,214] let s:lib.Codec.encoding_table["30333"] = [176,215] let s:lib.Codec.encoding_table["26575"] = [176,216] let s:lib.Codec.encoding_table["30334"] = [176,217] let s:lib.Codec.encoding_table["25670"] = [176,218] let s:lib.Codec.encoding_table["20336"] = [176,219] let s:lib.Codec.encoding_table["36133"] = [176,220] let s:lib.Codec.encoding_table["25308"] = [176,221] let s:lib.Codec.encoding_table["31255"] = [176,222] let s:lib.Codec.encoding_table["26001"] = [176,223] let s:lib.Codec.encoding_table["29677"] = [176,224] let s:lib.Codec.encoding_table["25644"] = [176,225] let s:lib.Codec.encoding_table["25203"] = [176,226] let s:lib.Codec.encoding_table["33324"] = [176,227] let s:lib.Codec.encoding_table["39041"] = [176,228] let s:lib.Codec.encoding_table["26495"] = [176,229] let s:lib.Codec.encoding_table["29256"] = [176,230] let s:lib.Codec.encoding_table["25198"] = [176,231] let s:lib.Codec.encoding_table["25292"] = [176,232] let s:lib.Codec.encoding_table["20276"] = [176,233] let s:lib.Codec.encoding_table["29923"] = [176,234] let s:lib.Codec.encoding_table["21322"] = [176,235] let s:lib.Codec.encoding_table["21150"] = [176,236] let s:lib.Codec.encoding_table["32458"] = [176,237] let s:lib.Codec.encoding_table["37030"] = [176,238] let s:lib.Codec.encoding_table["24110"] = [176,239] let s:lib.Codec.encoding_table["26758"] = [176,240] let s:lib.Codec.encoding_table["27036"] = [176,241] let s:lib.Codec.encoding_table["33152"] = [176,242] let s:lib.Codec.encoding_table["32465"] = [176,243] let s:lib.Codec.encoding_table["26834"] = [176,244] let s:lib.Codec.encoding_table["30917"] = [176,245] let s:lib.Codec.encoding_table["34444"] = [176,246] let s:lib.Codec.encoding_table["38225"] = [176,247] let s:lib.Codec.encoding_table["20621"] = [176,248] let s:lib.Codec.encoding_table["35876"] = [176,249] let s:lib.Codec.encoding_table["33502"] = [176,250] let s:lib.Codec.encoding_table["32990"] = [176,251] let s:lib.Codec.encoding_table["21253"] = [176,252] let s:lib.Codec.encoding_table["35090"] = [176,253] let s:lib.Codec.encoding_table["21093"] = [176,254] let s:lib.Codec.encoding_table["30404"] = [177,64] let s:lib.Codec.encoding_table["30407"] = [177,65] let s:lib.Codec.encoding_table["30409"] = [177,66] let s:lib.Codec.encoding_table["30411"] = [177,67] let s:lib.Codec.encoding_table["30412"] = [177,68] let s:lib.Codec.encoding_table["30419"] = [177,69] let s:lib.Codec.encoding_table["30421"] = [177,70] let s:lib.Codec.encoding_table["30425"] = [177,71] let s:lib.Codec.encoding_table["30426"] = [177,72] let s:lib.Codec.encoding_table["30428"] = [177,73] let s:lib.Codec.encoding_table["30429"] = [177,74] let s:lib.Codec.encoding_table["30430"] = [177,75] let s:lib.Codec.encoding_table["30432"] = [177,76] let s:lib.Codec.encoding_table["30433"] = [177,77] let s:lib.Codec.encoding_table["30434"] = [177,78] let s:lib.Codec.encoding_table["30435"] = [177,79] let s:lib.Codec.encoding_table["30436"] = [177,80] let s:lib.Codec.encoding_table["30438"] = [177,81] let s:lib.Codec.encoding_table["30439"] = [177,82] let s:lib.Codec.encoding_table["30440"] = [177,83] let s:lib.Codec.encoding_table["30441"] = [177,84] let s:lib.Codec.encoding_table["30442"] = [177,85] let s:lib.Codec.encoding_table["30443"] = [177,86] let s:lib.Codec.encoding_table["30444"] = [177,87] let s:lib.Codec.encoding_table["30445"] = [177,88] let s:lib.Codec.encoding_table["30448"] = [177,89] let s:lib.Codec.encoding_table["30451"] = [177,90] let s:lib.Codec.encoding_table["30453"] = [177,91] let s:lib.Codec.encoding_table["30454"] = [177,92] let s:lib.Codec.encoding_table["30455"] = [177,93] let s:lib.Codec.encoding_table["30458"] = [177,94] let s:lib.Codec.encoding_table["30459"] = [177,95] let s:lib.Codec.encoding_table["30461"] = [177,96] let s:lib.Codec.encoding_table["30463"] = [177,97] let s:lib.Codec.encoding_table["30464"] = [177,98] let s:lib.Codec.encoding_table["30466"] = [177,99] let s:lib.Codec.encoding_table["30467"] = [177,100] let s:lib.Codec.encoding_table["30469"] = [177,101] let s:lib.Codec.encoding_table["30470"] = [177,102] let s:lib.Codec.encoding_table["30474"] = [177,103] let s:lib.Codec.encoding_table["30476"] = [177,104] let s:lib.Codec.encoding_table["30478"] = [177,105] let s:lib.Codec.encoding_table["30479"] = [177,106] let s:lib.Codec.encoding_table["30480"] = [177,107] let s:lib.Codec.encoding_table["30481"] = [177,108] let s:lib.Codec.encoding_table["30482"] = [177,109] let s:lib.Codec.encoding_table["30483"] = [177,110] let s:lib.Codec.encoding_table["30484"] = [177,111] let s:lib.Codec.encoding_table["30485"] = [177,112] let s:lib.Codec.encoding_table["30486"] = [177,113] let s:lib.Codec.encoding_table["30487"] = [177,114] let s:lib.Codec.encoding_table["30488"] = [177,115] let s:lib.Codec.encoding_table["30491"] = [177,116] let s:lib.Codec.encoding_table["30492"] = [177,117] let s:lib.Codec.encoding_table["30493"] = [177,118] let s:lib.Codec.encoding_table["30494"] = [177,119] let s:lib.Codec.encoding_table["30497"] = [177,120] let s:lib.Codec.encoding_table["30499"] = [177,121] let s:lib.Codec.encoding_table["30500"] = [177,122] let s:lib.Codec.encoding_table["30501"] = [177,123] let s:lib.Codec.encoding_table["30503"] = [177,124] let s:lib.Codec.encoding_table["30506"] = [177,125] let s:lib.Codec.encoding_table["30507"] = [177,126] let s:lib.Codec.encoding_table["30508"] = [177,128] let s:lib.Codec.encoding_table["30510"] = [177,129] let s:lib.Codec.encoding_table["30512"] = [177,130] let s:lib.Codec.encoding_table["30513"] = [177,131] let s:lib.Codec.encoding_table["30514"] = [177,132] let s:lib.Codec.encoding_table["30515"] = [177,133] let s:lib.Codec.encoding_table["30516"] = [177,134] let s:lib.Codec.encoding_table["30521"] = [177,135] let s:lib.Codec.encoding_table["30523"] = [177,136] let s:lib.Codec.encoding_table["30525"] = [177,137] let s:lib.Codec.encoding_table["30526"] = [177,138] let s:lib.Codec.encoding_table["30527"] = [177,139] let s:lib.Codec.encoding_table["30530"] = [177,140] let s:lib.Codec.encoding_table["30532"] = [177,141] let s:lib.Codec.encoding_table["30533"] = [177,142] let s:lib.Codec.encoding_table["30534"] = [177,143] let s:lib.Codec.encoding_table["30536"] = [177,144] let s:lib.Codec.encoding_table["30537"] = [177,145] let s:lib.Codec.encoding_table["30538"] = [177,146] let s:lib.Codec.encoding_table["30539"] = [177,147] let s:lib.Codec.encoding_table["30540"] = [177,148] let s:lib.Codec.encoding_table["30541"] = [177,149] let s:lib.Codec.encoding_table["30542"] = [177,150] let s:lib.Codec.encoding_table["30543"] = [177,151] let s:lib.Codec.encoding_table["30546"] = [177,152] let s:lib.Codec.encoding_table["30547"] = [177,153] let s:lib.Codec.encoding_table["30548"] = [177,154] let s:lib.Codec.encoding_table["30549"] = [177,155] let s:lib.Codec.encoding_table["30550"] = [177,156] let s:lib.Codec.encoding_table["30551"] = [177,157] let s:lib.Codec.encoding_table["30552"] = [177,158] let s:lib.Codec.encoding_table["30553"] = [177,159] let s:lib.Codec.encoding_table["30556"] = [177,160] let s:lib.Codec.encoding_table["34180"] = [177,161] let s:lib.Codec.encoding_table["38649"] = [177,162] let s:lib.Codec.encoding_table["20445"] = [177,163] let s:lib.Codec.encoding_table["22561"] = [177,164] let s:lib.Codec.encoding_table["39281"] = [177,165] let s:lib.Codec.encoding_table["23453"] = [177,166] let s:lib.Codec.encoding_table["25265"] = [177,167] let s:lib.Codec.encoding_table["25253"] = [177,168] let s:lib.Codec.encoding_table["26292"] = [177,169] let s:lib.Codec.encoding_table["35961"] = [177,170] let s:lib.Codec.encoding_table["40077"] = [177,171] let s:lib.Codec.encoding_table["29190"] = [177,172] let s:lib.Codec.encoding_table["26479"] = [177,173] let s:lib.Codec.encoding_table["30865"] = [177,174] let s:lib.Codec.encoding_table["24754"] = [177,175] let s:lib.Codec.encoding_table["21329"] = [177,176] let s:lib.Codec.encoding_table["21271"] = [177,177] let s:lib.Codec.encoding_table["36744"] = [177,178] let s:lib.Codec.encoding_table["32972"] = [177,179] let s:lib.Codec.encoding_table["36125"] = [177,180] let s:lib.Codec.encoding_table["38049"] = [177,181] let s:lib.Codec.encoding_table["20493"] = [177,182] let s:lib.Codec.encoding_table["29384"] = [177,183] let s:lib.Codec.encoding_table["22791"] = [177,184] let s:lib.Codec.encoding_table["24811"] = [177,185] let s:lib.Codec.encoding_table["28953"] = [177,186] let s:lib.Codec.encoding_table["34987"] = [177,187] let s:lib.Codec.encoding_table["22868"] = [177,188] let s:lib.Codec.encoding_table["33519"] = [177,189] let s:lib.Codec.encoding_table["26412"] = [177,190] let s:lib.Codec.encoding_table["31528"] = [177,191] let s:lib.Codec.encoding_table["23849"] = [177,192] let s:lib.Codec.encoding_table["32503"] = [177,193] let s:lib.Codec.encoding_table["29997"] = [177,194] let s:lib.Codec.encoding_table["27893"] = [177,195] let s:lib.Codec.encoding_table["36454"] = [177,196] let s:lib.Codec.encoding_table["36856"] = [177,197] let s:lib.Codec.encoding_table["36924"] = [177,198] let s:lib.Codec.encoding_table["40763"] = [177,199] let s:lib.Codec.encoding_table["27604"] = [177,200] let s:lib.Codec.encoding_table["37145"] = [177,201] let s:lib.Codec.encoding_table["31508"] = [177,202] let s:lib.Codec.encoding_table["24444"] = [177,203] let s:lib.Codec.encoding_table["30887"] = [177,204] let s:lib.Codec.encoding_table["34006"] = [177,205] let s:lib.Codec.encoding_table["34109"] = [177,206] let s:lib.Codec.encoding_table["27605"] = [177,207] let s:lib.Codec.encoding_table["27609"] = [177,208] let s:lib.Codec.encoding_table["27606"] = [177,209] let s:lib.Codec.encoding_table["24065"] = [177,210] let s:lib.Codec.encoding_table["24199"] = [177,211] let s:lib.Codec.encoding_table["30201"] = [177,212] let s:lib.Codec.encoding_table["38381"] = [177,213] let s:lib.Codec.encoding_table["25949"] = [177,214] let s:lib.Codec.encoding_table["24330"] = [177,215] let s:lib.Codec.encoding_table["24517"] = [177,216] let s:lib.Codec.encoding_table["36767"] = [177,217] let s:lib.Codec.encoding_table["22721"] = [177,218] let s:lib.Codec.encoding_table["33218"] = [177,219] let s:lib.Codec.encoding_table["36991"] = [177,220] let s:lib.Codec.encoding_table["38491"] = [177,221] let s:lib.Codec.encoding_table["38829"] = [177,222] let s:lib.Codec.encoding_table["36793"] = [177,223] let s:lib.Codec.encoding_table["32534"] = [177,224] let s:lib.Codec.encoding_table["36140"] = [177,225] let s:lib.Codec.encoding_table["25153"] = [177,226] let s:lib.Codec.encoding_table["20415"] = [177,227] let s:lib.Codec.encoding_table["21464"] = [177,228] let s:lib.Codec.encoding_table["21342"] = [177,229] let s:lib.Codec.encoding_table["36776"] = [177,230] let s:lib.Codec.encoding_table["36777"] = [177,231] let s:lib.Codec.encoding_table["36779"] = [177,232] let s:lib.Codec.encoding_table["36941"] = [177,233] let s:lib.Codec.encoding_table["26631"] = [177,234] let s:lib.Codec.encoding_table["24426"] = [177,235] let s:lib.Codec.encoding_table["33176"] = [177,236] let s:lib.Codec.encoding_table["34920"] = [177,237] let s:lib.Codec.encoding_table["40150"] = [177,238] let s:lib.Codec.encoding_table["24971"] = [177,239] let s:lib.Codec.encoding_table["21035"] = [177,240] let s:lib.Codec.encoding_table["30250"] = [177,241] let s:lib.Codec.encoding_table["24428"] = [177,242] let s:lib.Codec.encoding_table["25996"] = [177,243] let s:lib.Codec.encoding_table["28626"] = [177,244] let s:lib.Codec.encoding_table["28392"] = [177,245] let s:lib.Codec.encoding_table["23486"] = [177,246] let s:lib.Codec.encoding_table["25672"] = [177,247] let s:lib.Codec.encoding_table["20853"] = [177,248] let s:lib.Codec.encoding_table["20912"] = [177,249] let s:lib.Codec.encoding_table["26564"] = [177,250] let s:lib.Codec.encoding_table["19993"] = [177,251] let s:lib.Codec.encoding_table["31177"] = [177,252] let s:lib.Codec.encoding_table["39292"] = [177,253] let s:lib.Codec.encoding_table["28851"] = [177,254] let s:lib.Codec.encoding_table["30557"] = [178,64] let s:lib.Codec.encoding_table["30558"] = [178,65] let s:lib.Codec.encoding_table["30559"] = [178,66] let s:lib.Codec.encoding_table["30560"] = [178,67] let s:lib.Codec.encoding_table["30564"] = [178,68] let s:lib.Codec.encoding_table["30567"] = [178,69] let s:lib.Codec.encoding_table["30569"] = [178,70] let s:lib.Codec.encoding_table["30570"] = [178,71] let s:lib.Codec.encoding_table["30573"] = [178,72] let s:lib.Codec.encoding_table["30574"] = [178,73] let s:lib.Codec.encoding_table["30575"] = [178,74] let s:lib.Codec.encoding_table["30576"] = [178,75] let s:lib.Codec.encoding_table["30577"] = [178,76] let s:lib.Codec.encoding_table["30578"] = [178,77] let s:lib.Codec.encoding_table["30579"] = [178,78] let s:lib.Codec.encoding_table["30580"] = [178,79] let s:lib.Codec.encoding_table["30581"] = [178,80] let s:lib.Codec.encoding_table["30582"] = [178,81] let s:lib.Codec.encoding_table["30583"] = [178,82] let s:lib.Codec.encoding_table["30584"] = [178,83] let s:lib.Codec.encoding_table["30586"] = [178,84] let s:lib.Codec.encoding_table["30587"] = [178,85] let s:lib.Codec.encoding_table["30588"] = [178,86] let s:lib.Codec.encoding_table["30593"] = [178,87] let s:lib.Codec.encoding_table["30594"] = [178,88] let s:lib.Codec.encoding_table["30595"] = [178,89] let s:lib.Codec.encoding_table["30598"] = [178,90] let s:lib.Codec.encoding_table["30599"] = [178,91] let s:lib.Codec.encoding_table["30600"] = [178,92] let s:lib.Codec.encoding_table["30601"] = [178,93] let s:lib.Codec.encoding_table["30602"] = [178,94] let s:lib.Codec.encoding_table["30603"] = [178,95] let s:lib.Codec.encoding_table["30607"] = [178,96] let s:lib.Codec.encoding_table["30608"] = [178,97] let s:lib.Codec.encoding_table["30611"] = [178,98] let s:lib.Codec.encoding_table["30612"] = [178,99] let s:lib.Codec.encoding_table["30613"] = [178,100] let s:lib.Codec.encoding_table["30614"] = [178,101] let s:lib.Codec.encoding_table["30615"] = [178,102] let s:lib.Codec.encoding_table["30616"] = [178,103] let s:lib.Codec.encoding_table["30617"] = [178,104] let s:lib.Codec.encoding_table["30618"] = [178,105] let s:lib.Codec.encoding_table["30619"] = [178,106] let s:lib.Codec.encoding_table["30620"] = [178,107] let s:lib.Codec.encoding_table["30621"] = [178,108] let s:lib.Codec.encoding_table["30622"] = [178,109] let s:lib.Codec.encoding_table["30625"] = [178,110] let s:lib.Codec.encoding_table["30627"] = [178,111] let s:lib.Codec.encoding_table["30628"] = [178,112] let s:lib.Codec.encoding_table["30630"] = [178,113] let s:lib.Codec.encoding_table["30632"] = [178,114] let s:lib.Codec.encoding_table["30635"] = [178,115] let s:lib.Codec.encoding_table["30637"] = [178,116] let s:lib.Codec.encoding_table["30638"] = [178,117] let s:lib.Codec.encoding_table["30639"] = [178,118] let s:lib.Codec.encoding_table["30641"] = [178,119] let s:lib.Codec.encoding_table["30642"] = [178,120] let s:lib.Codec.encoding_table["30644"] = [178,121] let s:lib.Codec.encoding_table["30646"] = [178,122] let s:lib.Codec.encoding_table["30647"] = [178,123] let s:lib.Codec.encoding_table["30648"] = [178,124] let s:lib.Codec.encoding_table["30649"] = [178,125] let s:lib.Codec.encoding_table["30650"] = [178,126] let s:lib.Codec.encoding_table["30652"] = [178,128] let s:lib.Codec.encoding_table["30654"] = [178,129] let s:lib.Codec.encoding_table["30656"] = [178,130] let s:lib.Codec.encoding_table["30657"] = [178,131] let s:lib.Codec.encoding_table["30658"] = [178,132] let s:lib.Codec.encoding_table["30659"] = [178,133] let s:lib.Codec.encoding_table["30660"] = [178,134] let s:lib.Codec.encoding_table["30661"] = [178,135] let s:lib.Codec.encoding_table["30662"] = [178,136] let s:lib.Codec.encoding_table["30663"] = [178,137] let s:lib.Codec.encoding_table["30664"] = [178,138] let s:lib.Codec.encoding_table["30665"] = [178,139] let s:lib.Codec.encoding_table["30666"] = [178,140] let s:lib.Codec.encoding_table["30667"] = [178,141] let s:lib.Codec.encoding_table["30668"] = [178,142] let s:lib.Codec.encoding_table["30670"] = [178,143] let s:lib.Codec.encoding_table["30671"] = [178,144] let s:lib.Codec.encoding_table["30672"] = [178,145] let s:lib.Codec.encoding_table["30673"] = [178,146] let s:lib.Codec.encoding_table["30674"] = [178,147] let s:lib.Codec.encoding_table["30675"] = [178,148] let s:lib.Codec.encoding_table["30676"] = [178,149] let s:lib.Codec.encoding_table["30677"] = [178,150] let s:lib.Codec.encoding_table["30678"] = [178,151] let s:lib.Codec.encoding_table["30680"] = [178,152] let s:lib.Codec.encoding_table["30681"] = [178,153] let s:lib.Codec.encoding_table["30682"] = [178,154] let s:lib.Codec.encoding_table["30685"] = [178,155] let s:lib.Codec.encoding_table["30686"] = [178,156] let s:lib.Codec.encoding_table["30687"] = [178,157] let s:lib.Codec.encoding_table["30688"] = [178,158] let s:lib.Codec.encoding_table["30689"] = [178,159] let s:lib.Codec.encoding_table["30692"] = [178,160] let s:lib.Codec.encoding_table["30149"] = [178,161] let s:lib.Codec.encoding_table["24182"] = [178,162] let s:lib.Codec.encoding_table["29627"] = [178,163] let s:lib.Codec.encoding_table["33760"] = [178,164] let s:lib.Codec.encoding_table["25773"] = [178,165] let s:lib.Codec.encoding_table["25320"] = [178,166] let s:lib.Codec.encoding_table["38069"] = [178,167] let s:lib.Codec.encoding_table["27874"] = [178,168] let s:lib.Codec.encoding_table["21338"] = [178,169] let s:lib.Codec.encoding_table["21187"] = [178,170] let s:lib.Codec.encoding_table["25615"] = [178,171] let s:lib.Codec.encoding_table["38082"] = [178,172] let s:lib.Codec.encoding_table["31636"] = [178,173] let s:lib.Codec.encoding_table["20271"] = [178,174] let s:lib.Codec.encoding_table["24091"] = [178,175] let s:lib.Codec.encoding_table["33334"] = [178,176] let s:lib.Codec.encoding_table["33046"] = [178,177] let s:lib.Codec.encoding_table["33162"] = [178,178] let s:lib.Codec.encoding_table["28196"] = [178,179] let s:lib.Codec.encoding_table["27850"] = [178,180] let s:lib.Codec.encoding_table["39539"] = [178,181] let s:lib.Codec.encoding_table["25429"] = [178,182] let s:lib.Codec.encoding_table["21340"] = [178,183] let s:lib.Codec.encoding_table["21754"] = [178,184] let s:lib.Codec.encoding_table["34917"] = [178,185] let s:lib.Codec.encoding_table["22496"] = [178,186] let s:lib.Codec.encoding_table["19981"] = [178,187] let s:lib.Codec.encoding_table["24067"] = [178,188] let s:lib.Codec.encoding_table["27493"] = [178,189] let s:lib.Codec.encoding_table["31807"] = [178,190] let s:lib.Codec.encoding_table["37096"] = [178,191] let s:lib.Codec.encoding_table["24598"] = [178,192] let s:lib.Codec.encoding_table["25830"] = [178,193] let s:lib.Codec.encoding_table["29468"] = [178,194] let s:lib.Codec.encoding_table["35009"] = [178,195] let s:lib.Codec.encoding_table["26448"] = [178,196] let s:lib.Codec.encoding_table["25165"] = [178,197] let s:lib.Codec.encoding_table["36130"] = [178,198] let s:lib.Codec.encoding_table["30572"] = [178,199] let s:lib.Codec.encoding_table["36393"] = [178,200] let s:lib.Codec.encoding_table["37319"] = [178,201] let s:lib.Codec.encoding_table["24425"] = [178,202] let s:lib.Codec.encoding_table["33756"] = [178,203] let s:lib.Codec.encoding_table["34081"] = [178,204] let s:lib.Codec.encoding_table["39184"] = [178,205] let s:lib.Codec.encoding_table["21442"] = [178,206] let s:lib.Codec.encoding_table["34453"] = [178,207] let s:lib.Codec.encoding_table["27531"] = [178,208] let s:lib.Codec.encoding_table["24813"] = [178,209] let s:lib.Codec.encoding_table["24808"] = [178,210] let s:lib.Codec.encoding_table["28799"] = [178,211] let s:lib.Codec.encoding_table["33485"] = [178,212] let s:lib.Codec.encoding_table["33329"] = [178,213] let s:lib.Codec.encoding_table["20179"] = [178,214] let s:lib.Codec.encoding_table["27815"] = [178,215] let s:lib.Codec.encoding_table["34255"] = [178,216] let s:lib.Codec.encoding_table["25805"] = [178,217] let s:lib.Codec.encoding_table["31961"] = [178,218] let s:lib.Codec.encoding_table["27133"] = [178,219] let s:lib.Codec.encoding_table["26361"] = [178,220] let s:lib.Codec.encoding_table["33609"] = [178,221] let s:lib.Codec.encoding_table["21397"] = [178,222] let s:lib.Codec.encoding_table["31574"] = [178,223] let s:lib.Codec.encoding_table["20391"] = [178,224] let s:lib.Codec.encoding_table["20876"] = [178,225] let s:lib.Codec.encoding_table["27979"] = [178,226] let s:lib.Codec.encoding_table["23618"] = [178,227] let s:lib.Codec.encoding_table["36461"] = [178,228] let s:lib.Codec.encoding_table["25554"] = [178,229] let s:lib.Codec.encoding_table["21449"] = [178,230] let s:lib.Codec.encoding_table["33580"] = [178,231] let s:lib.Codec.encoding_table["33590"] = [178,232] let s:lib.Codec.encoding_table["26597"] = [178,233] let s:lib.Codec.encoding_table["30900"] = [178,234] let s:lib.Codec.encoding_table["25661"] = [178,235] let s:lib.Codec.encoding_table["23519"] = [178,236] let s:lib.Codec.encoding_table["23700"] = [178,237] let s:lib.Codec.encoding_table["24046"] = [178,238] let s:lib.Codec.encoding_table["35815"] = [178,239] let s:lib.Codec.encoding_table["25286"] = [178,240] let s:lib.Codec.encoding_table["26612"] = [178,241] let s:lib.Codec.encoding_table["35962"] = [178,242] let s:lib.Codec.encoding_table["25600"] = [178,243] let s:lib.Codec.encoding_table["25530"] = [178,244] let s:lib.Codec.encoding_table["34633"] = [178,245] let s:lib.Codec.encoding_table["39307"] = [178,246] let s:lib.Codec.encoding_table["35863"] = [178,247] let s:lib.Codec.encoding_table["32544"] = [178,248] let s:lib.Codec.encoding_table["38130"] = [178,249] let s:lib.Codec.encoding_table["20135"] = [178,250] let s:lib.Codec.encoding_table["38416"] = [178,251] let s:lib.Codec.encoding_table["39076"] = [178,252] let s:lib.Codec.encoding_table["26124"] = [178,253] let s:lib.Codec.encoding_table["29462"] = [178,254] let s:lib.Codec.encoding_table["30694"] = [179,64] let s:lib.Codec.encoding_table["30696"] = [179,65] let s:lib.Codec.encoding_table["30698"] = [179,66] let s:lib.Codec.encoding_table["30703"] = [179,67] let s:lib.Codec.encoding_table["30704"] = [179,68] let s:lib.Codec.encoding_table["30705"] = [179,69] let s:lib.Codec.encoding_table["30706"] = [179,70] let s:lib.Codec.encoding_table["30708"] = [179,71] let s:lib.Codec.encoding_table["30709"] = [179,72] let s:lib.Codec.encoding_table["30711"] = [179,73] let s:lib.Codec.encoding_table["30713"] = [179,74] let s:lib.Codec.encoding_table["30714"] = [179,75] let s:lib.Codec.encoding_table["30715"] = [179,76] let s:lib.Codec.encoding_table["30716"] = [179,77] let s:lib.Codec.encoding_table["30723"] = [179,78] let s:lib.Codec.encoding_table["30724"] = [179,79] let s:lib.Codec.encoding_table["30725"] = [179,80] let s:lib.Codec.encoding_table["30726"] = [179,81] let s:lib.Codec.encoding_table["30727"] = [179,82] let s:lib.Codec.encoding_table["30728"] = [179,83] let s:lib.Codec.encoding_table["30730"] = [179,84] let s:lib.Codec.encoding_table["30731"] = [179,85] let s:lib.Codec.encoding_table["30734"] = [179,86] let s:lib.Codec.encoding_table["30735"] = [179,87] let s:lib.Codec.encoding_table["30736"] = [179,88] let s:lib.Codec.encoding_table["30739"] = [179,89] let s:lib.Codec.encoding_table["30741"] = [179,90] let s:lib.Codec.encoding_table["30745"] = [179,91] let s:lib.Codec.encoding_table["30747"] = [179,92] let s:lib.Codec.encoding_table["30750"] = [179,93] let s:lib.Codec.encoding_table["30752"] = [179,94] let s:lib.Codec.encoding_table["30753"] = [179,95] let s:lib.Codec.encoding_table["30754"] = [179,96] let s:lib.Codec.encoding_table["30756"] = [179,97] let s:lib.Codec.encoding_table["30760"] = [179,98] let s:lib.Codec.encoding_table["30762"] = [179,99] let s:lib.Codec.encoding_table["30763"] = [179,100] let s:lib.Codec.encoding_table["30766"] = [179,101] let s:lib.Codec.encoding_table["30767"] = [179,102] let s:lib.Codec.encoding_table["30769"] = [179,103] let s:lib.Codec.encoding_table["30770"] = [179,104] let s:lib.Codec.encoding_table["30771"] = [179,105] let s:lib.Codec.encoding_table["30773"] = [179,106] let s:lib.Codec.encoding_table["30774"] = [179,107] let s:lib.Codec.encoding_table["30781"] = [179,108] let s:lib.Codec.encoding_table["30783"] = [179,109] let s:lib.Codec.encoding_table["30785"] = [179,110] let s:lib.Codec.encoding_table["30786"] = [179,111] let s:lib.Codec.encoding_table["30787"] = [179,112] let s:lib.Codec.encoding_table["30788"] = [179,113] let s:lib.Codec.encoding_table["30790"] = [179,114] let s:lib.Codec.encoding_table["30792"] = [179,115] let s:lib.Codec.encoding_table["30793"] = [179,116] let s:lib.Codec.encoding_table["30794"] = [179,117] let s:lib.Codec.encoding_table["30795"] = [179,118] let s:lib.Codec.encoding_table["30797"] = [179,119] let s:lib.Codec.encoding_table["30799"] = [179,120] let s:lib.Codec.encoding_table["30801"] = [179,121] let s:lib.Codec.encoding_table["30803"] = [179,122] let s:lib.Codec.encoding_table["30804"] = [179,123] let s:lib.Codec.encoding_table["30808"] = [179,124] let s:lib.Codec.encoding_table["30809"] = [179,125] let s:lib.Codec.encoding_table["30810"] = [179,126] let s:lib.Codec.encoding_table["30811"] = [179,128] let s:lib.Codec.encoding_table["30812"] = [179,129] let s:lib.Codec.encoding_table["30814"] = [179,130] let s:lib.Codec.encoding_table["30815"] = [179,131] let s:lib.Codec.encoding_table["30816"] = [179,132] let s:lib.Codec.encoding_table["30817"] = [179,133] let s:lib.Codec.encoding_table["30818"] = [179,134] let s:lib.Codec.encoding_table["30819"] = [179,135] let s:lib.Codec.encoding_table["30820"] = [179,136] let s:lib.Codec.encoding_table["30821"] = [179,137] let s:lib.Codec.encoding_table["30822"] = [179,138] let s:lib.Codec.encoding_table["30823"] = [179,139] let s:lib.Codec.encoding_table["30824"] = [179,140] let s:lib.Codec.encoding_table["30825"] = [179,141] let s:lib.Codec.encoding_table["30831"] = [179,142] let s:lib.Codec.encoding_table["30832"] = [179,143] let s:lib.Codec.encoding_table["30833"] = [179,144] let s:lib.Codec.encoding_table["30834"] = [179,145] let s:lib.Codec.encoding_table["30835"] = [179,146] let s:lib.Codec.encoding_table["30836"] = [179,147] let s:lib.Codec.encoding_table["30837"] = [179,148] let s:lib.Codec.encoding_table["30838"] = [179,149] let s:lib.Codec.encoding_table["30840"] = [179,150] let s:lib.Codec.encoding_table["30841"] = [179,151] let s:lib.Codec.encoding_table["30842"] = [179,152] let s:lib.Codec.encoding_table["30843"] = [179,153] let s:lib.Codec.encoding_table["30845"] = [179,154] let s:lib.Codec.encoding_table["30846"] = [179,155] let s:lib.Codec.encoding_table["30847"] = [179,156] let s:lib.Codec.encoding_table["30848"] = [179,157] let s:lib.Codec.encoding_table["30849"] = [179,158] let s:lib.Codec.encoding_table["30850"] = [179,159] let s:lib.Codec.encoding_table["30851"] = [179,160] let s:lib.Codec.encoding_table["22330"] = [179,161] let s:lib.Codec.encoding_table["23581"] = [179,162] let s:lib.Codec.encoding_table["24120"] = [179,163] let s:lib.Codec.encoding_table["38271"] = [179,164] let s:lib.Codec.encoding_table["20607"] = [179,165] let s:lib.Codec.encoding_table["32928"] = [179,166] let s:lib.Codec.encoding_table["21378"] = [179,167] let s:lib.Codec.encoding_table["25950"] = [179,168] let s:lib.Codec.encoding_table["30021"] = [179,169] let s:lib.Codec.encoding_table["21809"] = [179,170] let s:lib.Codec.encoding_table["20513"] = [179,171] let s:lib.Codec.encoding_table["36229"] = [179,172] let s:lib.Codec.encoding_table["25220"] = [179,173] let s:lib.Codec.encoding_table["38046"] = [179,174] let s:lib.Codec.encoding_table["26397"] = [179,175] let s:lib.Codec.encoding_table["22066"] = [179,176] let s:lib.Codec.encoding_table["28526"] = [179,177] let s:lib.Codec.encoding_table["24034"] = [179,178] let s:lib.Codec.encoding_table["21557"] = [179,179] let s:lib.Codec.encoding_table["28818"] = [179,180] let s:lib.Codec.encoding_table["36710"] = [179,181] let s:lib.Codec.encoding_table["25199"] = [179,182] let s:lib.Codec.encoding_table["25764"] = [179,183] let s:lib.Codec.encoding_table["25507"] = [179,184] let s:lib.Codec.encoding_table["24443"] = [179,185] let s:lib.Codec.encoding_table["28552"] = [179,186] let s:lib.Codec.encoding_table["37108"] = [179,187] let s:lib.Codec.encoding_table["33251"] = [179,188] let s:lib.Codec.encoding_table["36784"] = [179,189] let s:lib.Codec.encoding_table["23576"] = [179,190] let s:lib.Codec.encoding_table["26216"] = [179,191] let s:lib.Codec.encoding_table["24561"] = [179,192] let s:lib.Codec.encoding_table["27785"] = [179,193] let s:lib.Codec.encoding_table["38472"] = [179,194] let s:lib.Codec.encoding_table["36225"] = [179,195] let s:lib.Codec.encoding_table["34924"] = [179,196] let s:lib.Codec.encoding_table["25745"] = [179,197] let s:lib.Codec.encoding_table["31216"] = [179,198] let s:lib.Codec.encoding_table["22478"] = [179,199] let s:lib.Codec.encoding_table["27225"] = [179,200] let s:lib.Codec.encoding_table["25104"] = [179,201] let s:lib.Codec.encoding_table["21576"] = [179,202] let s:lib.Codec.encoding_table["20056"] = [179,203] let s:lib.Codec.encoding_table["31243"] = [179,204] let s:lib.Codec.encoding_table["24809"] = [179,205] let s:lib.Codec.encoding_table["28548"] = [179,206] let s:lib.Codec.encoding_table["35802"] = [179,207] let s:lib.Codec.encoding_table["25215"] = [179,208] let s:lib.Codec.encoding_table["36894"] = [179,209] let s:lib.Codec.encoding_table["39563"] = [179,210] let s:lib.Codec.encoding_table["31204"] = [179,211] let s:lib.Codec.encoding_table["21507"] = [179,212] let s:lib.Codec.encoding_table["30196"] = [179,213] let s:lib.Codec.encoding_table["25345"] = [179,214] let s:lib.Codec.encoding_table["21273"] = [179,215] let s:lib.Codec.encoding_table["27744"] = [179,216] let s:lib.Codec.encoding_table["36831"] = [179,217] let s:lib.Codec.encoding_table["24347"] = [179,218] let s:lib.Codec.encoding_table["39536"] = [179,219] let s:lib.Codec.encoding_table["32827"] = [179,220] let s:lib.Codec.encoding_table["40831"] = [179,221] let s:lib.Codec.encoding_table["20360"] = [179,222] let s:lib.Codec.encoding_table["23610"] = [179,223] let s:lib.Codec.encoding_table["36196"] = [179,224] let s:lib.Codec.encoding_table["32709"] = [179,225] let s:lib.Codec.encoding_table["26021"] = [179,226] let s:lib.Codec.encoding_table["28861"] = [179,227] let s:lib.Codec.encoding_table["20805"] = [179,228] let s:lib.Codec.encoding_table["20914"] = [179,229] let s:lib.Codec.encoding_table["34411"] = [179,230] let s:lib.Codec.encoding_table["23815"] = [179,231] let s:lib.Codec.encoding_table["23456"] = [179,232] let s:lib.Codec.encoding_table["25277"] = [179,233] let s:lib.Codec.encoding_table["37228"] = [179,234] let s:lib.Codec.encoding_table["30068"] = [179,235] let s:lib.Codec.encoding_table["36364"] = [179,236] let s:lib.Codec.encoding_table["31264"] = [179,237] let s:lib.Codec.encoding_table["24833"] = [179,238] let s:lib.Codec.encoding_table["31609"] = [179,239] let s:lib.Codec.encoding_table["20167"] = [179,240] let s:lib.Codec.encoding_table["32504"] = [179,241] let s:lib.Codec.encoding_table["30597"] = [179,242] let s:lib.Codec.encoding_table["19985"] = [179,243] let s:lib.Codec.encoding_table["33261"] = [179,244] let s:lib.Codec.encoding_table["21021"] = [179,245] let s:lib.Codec.encoding_table["20986"] = [179,246] let s:lib.Codec.encoding_table["27249"] = [179,247] let s:lib.Codec.encoding_table["21416"] = [179,248] let s:lib.Codec.encoding_table["36487"] = [179,249] let s:lib.Codec.encoding_table["38148"] = [179,250] let s:lib.Codec.encoding_table["38607"] = [179,251] let s:lib.Codec.encoding_table["28353"] = [179,252] let s:lib.Codec.encoding_table["38500"] = [179,253] let s:lib.Codec.encoding_table["26970"] = [179,254] let s:lib.Codec.encoding_table["30852"] = [180,64] let s:lib.Codec.encoding_table["30853"] = [180,65] let s:lib.Codec.encoding_table["30854"] = [180,66] let s:lib.Codec.encoding_table["30856"] = [180,67] let s:lib.Codec.encoding_table["30858"] = [180,68] let s:lib.Codec.encoding_table["30859"] = [180,69] let s:lib.Codec.encoding_table["30863"] = [180,70] let s:lib.Codec.encoding_table["30864"] = [180,71] let s:lib.Codec.encoding_table["30866"] = [180,72] let s:lib.Codec.encoding_table["30868"] = [180,73] let s:lib.Codec.encoding_table["30869"] = [180,74] let s:lib.Codec.encoding_table["30870"] = [180,75] let s:lib.Codec.encoding_table["30873"] = [180,76] let s:lib.Codec.encoding_table["30877"] = [180,77] let s:lib.Codec.encoding_table["30878"] = [180,78] let s:lib.Codec.encoding_table["30880"] = [180,79] let s:lib.Codec.encoding_table["30882"] = [180,80] let s:lib.Codec.encoding_table["30884"] = [180,81] let s:lib.Codec.encoding_table["30886"] = [180,82] let s:lib.Codec.encoding_table["30888"] = [180,83] let s:lib.Codec.encoding_table["30889"] = [180,84] let s:lib.Codec.encoding_table["30890"] = [180,85] let s:lib.Codec.encoding_table["30891"] = [180,86] let s:lib.Codec.encoding_table["30892"] = [180,87] let s:lib.Codec.encoding_table["30893"] = [180,88] let s:lib.Codec.encoding_table["30894"] = [180,89] let s:lib.Codec.encoding_table["30895"] = [180,90] let s:lib.Codec.encoding_table["30901"] = [180,91] let s:lib.Codec.encoding_table["30902"] = [180,92] let s:lib.Codec.encoding_table["30903"] = [180,93] let s:lib.Codec.encoding_table["30904"] = [180,94] let s:lib.Codec.encoding_table["30906"] = [180,95] let s:lib.Codec.encoding_table["30907"] = [180,96] let s:lib.Codec.encoding_table["30908"] = [180,97] let s:lib.Codec.encoding_table["30909"] = [180,98] let s:lib.Codec.encoding_table["30911"] = [180,99] let s:lib.Codec.encoding_table["30912"] = [180,100] let s:lib.Codec.encoding_table["30914"] = [180,101] let s:lib.Codec.encoding_table["30915"] = [180,102] let s:lib.Codec.encoding_table["30916"] = [180,103] let s:lib.Codec.encoding_table["30918"] = [180,104] let s:lib.Codec.encoding_table["30919"] = [180,105] let s:lib.Codec.encoding_table["30920"] = [180,106] let s:lib.Codec.encoding_table["30924"] = [180,107] let s:lib.Codec.encoding_table["30925"] = [180,108] let s:lib.Codec.encoding_table["30926"] = [180,109] let s:lib.Codec.encoding_table["30927"] = [180,110] let s:lib.Codec.encoding_table["30929"] = [180,111] let s:lib.Codec.encoding_table["30930"] = [180,112] let s:lib.Codec.encoding_table["30931"] = [180,113] let s:lib.Codec.encoding_table["30934"] = [180,114] let s:lib.Codec.encoding_table["30935"] = [180,115] let s:lib.Codec.encoding_table["30936"] = [180,116] let s:lib.Codec.encoding_table["30938"] = [180,117] let s:lib.Codec.encoding_table["30939"] = [180,118] let s:lib.Codec.encoding_table["30940"] = [180,119] let s:lib.Codec.encoding_table["30941"] = [180,120] let s:lib.Codec.encoding_table["30942"] = [180,121] let s:lib.Codec.encoding_table["30943"] = [180,122] let s:lib.Codec.encoding_table["30944"] = [180,123] let s:lib.Codec.encoding_table["30945"] = [180,124] let s:lib.Codec.encoding_table["30946"] = [180,125] let s:lib.Codec.encoding_table["30947"] = [180,126] let s:lib.Codec.encoding_table["30948"] = [180,128] let s:lib.Codec.encoding_table["30949"] = [180,129] let s:lib.Codec.encoding_table["30950"] = [180,130] let s:lib.Codec.encoding_table["30951"] = [180,131] let s:lib.Codec.encoding_table["30953"] = [180,132] let s:lib.Codec.encoding_table["30954"] = [180,133] let s:lib.Codec.encoding_table["30955"] = [180,134] let s:lib.Codec.encoding_table["30957"] = [180,135] let s:lib.Codec.encoding_table["30958"] = [180,136] let s:lib.Codec.encoding_table["30959"] = [180,137] let s:lib.Codec.encoding_table["30960"] = [180,138] let s:lib.Codec.encoding_table["30961"] = [180,139] let s:lib.Codec.encoding_table["30963"] = [180,140] let s:lib.Codec.encoding_table["30965"] = [180,141] let s:lib.Codec.encoding_table["30966"] = [180,142] let s:lib.Codec.encoding_table["30968"] = [180,143] let s:lib.Codec.encoding_table["30969"] = [180,144] let s:lib.Codec.encoding_table["30971"] = [180,145] let s:lib.Codec.encoding_table["30972"] = [180,146] let s:lib.Codec.encoding_table["30973"] = [180,147] let s:lib.Codec.encoding_table["30974"] = [180,148] let s:lib.Codec.encoding_table["30975"] = [180,149] let s:lib.Codec.encoding_table["30976"] = [180,150] let s:lib.Codec.encoding_table["30978"] = [180,151] let s:lib.Codec.encoding_table["30979"] = [180,152] let s:lib.Codec.encoding_table["30980"] = [180,153] let s:lib.Codec.encoding_table["30982"] = [180,154] let s:lib.Codec.encoding_table["30983"] = [180,155] let s:lib.Codec.encoding_table["30984"] = [180,156] let s:lib.Codec.encoding_table["30985"] = [180,157] let s:lib.Codec.encoding_table["30986"] = [180,158] let s:lib.Codec.encoding_table["30987"] = [180,159] let s:lib.Codec.encoding_table["30988"] = [180,160] let s:lib.Codec.encoding_table["30784"] = [180,161] let s:lib.Codec.encoding_table["20648"] = [180,162] let s:lib.Codec.encoding_table["30679"] = [180,163] let s:lib.Codec.encoding_table["25616"] = [180,164] let s:lib.Codec.encoding_table["35302"] = [180,165] let s:lib.Codec.encoding_table["22788"] = [180,166] let s:lib.Codec.encoding_table["25571"] = [180,167] let s:lib.Codec.encoding_table["24029"] = [180,168] let s:lib.Codec.encoding_table["31359"] = [180,169] let s:lib.Codec.encoding_table["26941"] = [180,170] let s:lib.Codec.encoding_table["20256"] = [180,171] let s:lib.Codec.encoding_table["33337"] = [180,172] let s:lib.Codec.encoding_table["21912"] = [180,173] let s:lib.Codec.encoding_table["20018"] = [180,174] let s:lib.Codec.encoding_table["30126"] = [180,175] let s:lib.Codec.encoding_table["31383"] = [180,176] let s:lib.Codec.encoding_table["24162"] = [180,177] let s:lib.Codec.encoding_table["24202"] = [180,178] let s:lib.Codec.encoding_table["38383"] = [180,179] let s:lib.Codec.encoding_table["21019"] = [180,180] let s:lib.Codec.encoding_table["21561"] = [180,181] let s:lib.Codec.encoding_table["28810"] = [180,182] let s:lib.Codec.encoding_table["25462"] = [180,183] let s:lib.Codec.encoding_table["38180"] = [180,184] let s:lib.Codec.encoding_table["22402"] = [180,185] let s:lib.Codec.encoding_table["26149"] = [180,186] let s:lib.Codec.encoding_table["26943"] = [180,187] let s:lib.Codec.encoding_table["37255"] = [180,188] let s:lib.Codec.encoding_table["21767"] = [180,189] let s:lib.Codec.encoding_table["28147"] = [180,190] let s:lib.Codec.encoding_table["32431"] = [180,191] let s:lib.Codec.encoding_table["34850"] = [180,192] let s:lib.Codec.encoding_table["25139"] = [180,193] let s:lib.Codec.encoding_table["32496"] = [180,194] let s:lib.Codec.encoding_table["30133"] = [180,195] let s:lib.Codec.encoding_table["33576"] = [180,196] let s:lib.Codec.encoding_table["30913"] = [180,197] let s:lib.Codec.encoding_table["38604"] = [180,198] let s:lib.Codec.encoding_table["36766"] = [180,199] let s:lib.Codec.encoding_table["24904"] = [180,200] let s:lib.Codec.encoding_table["29943"] = [180,201] let s:lib.Codec.encoding_table["35789"] = [180,202] let s:lib.Codec.encoding_table["27492"] = [180,203] let s:lib.Codec.encoding_table["21050"] = [180,204] let s:lib.Codec.encoding_table["36176"] = [180,205] let s:lib.Codec.encoding_table["27425"] = [180,206] let s:lib.Codec.encoding_table["32874"] = [180,207] let s:lib.Codec.encoding_table["33905"] = [180,208] let s:lib.Codec.encoding_table["22257"] = [180,209] let s:lib.Codec.encoding_table["21254"] = [180,210] let s:lib.Codec.encoding_table["20174"] = [180,211] let s:lib.Codec.encoding_table["19995"] = [180,212] let s:lib.Codec.encoding_table["20945"] = [180,213] let s:lib.Codec.encoding_table["31895"] = [180,214] let s:lib.Codec.encoding_table["37259"] = [180,215] let s:lib.Codec.encoding_table["31751"] = [180,216] let s:lib.Codec.encoding_table["20419"] = [180,217] let s:lib.Codec.encoding_table["36479"] = [180,218] let s:lib.Codec.encoding_table["31713"] = [180,219] let s:lib.Codec.encoding_table["31388"] = [180,220] let s:lib.Codec.encoding_table["25703"] = [180,221] let s:lib.Codec.encoding_table["23828"] = [180,222] let s:lib.Codec.encoding_table["20652"] = [180,223] let s:lib.Codec.encoding_table["33030"] = [180,224] let s:lib.Codec.encoding_table["30209"] = [180,225] let s:lib.Codec.encoding_table["31929"] = [180,226] let s:lib.Codec.encoding_table["28140"] = [180,227] let s:lib.Codec.encoding_table["32736"] = [180,228] let s:lib.Codec.encoding_table["26449"] = [180,229] let s:lib.Codec.encoding_table["23384"] = [180,230] let s:lib.Codec.encoding_table["23544"] = [180,231] let s:lib.Codec.encoding_table["30923"] = [180,232] let s:lib.Codec.encoding_table["25774"] = [180,233] let s:lib.Codec.encoding_table["25619"] = [180,234] let s:lib.Codec.encoding_table["25514"] = [180,235] let s:lib.Codec.encoding_table["25387"] = [180,236] let s:lib.Codec.encoding_table["38169"] = [180,237] let s:lib.Codec.encoding_table["25645"] = [180,238] let s:lib.Codec.encoding_table["36798"] = [180,239] let s:lib.Codec.encoding_table["31572"] = [180,240] let s:lib.Codec.encoding_table["30249"] = [180,241] let s:lib.Codec.encoding_table["25171"] = [180,242] let s:lib.Codec.encoding_table["22823"] = [180,243] let s:lib.Codec.encoding_table["21574"] = [180,244] let s:lib.Codec.encoding_table["27513"] = [180,245] let s:lib.Codec.encoding_table["20643"] = [180,246] let s:lib.Codec.encoding_table["25140"] = [180,247] let s:lib.Codec.encoding_table["24102"] = [180,248] let s:lib.Codec.encoding_table["27526"] = [180,249] let s:lib.Codec.encoding_table["20195"] = [180,250] let s:lib.Codec.encoding_table["36151"] = [180,251] let s:lib.Codec.encoding_table["34955"] = [180,252] let s:lib.Codec.encoding_table["24453"] = [180,253] let s:lib.Codec.encoding_table["36910"] = [180,254] let s:lib.Codec.encoding_table["30989"] = [181,64] let s:lib.Codec.encoding_table["30990"] = [181,65] let s:lib.Codec.encoding_table["30991"] = [181,66] let s:lib.Codec.encoding_table["30992"] = [181,67] let s:lib.Codec.encoding_table["30993"] = [181,68] let s:lib.Codec.encoding_table["30994"] = [181,69] let s:lib.Codec.encoding_table["30996"] = [181,70] let s:lib.Codec.encoding_table["30997"] = [181,71] let s:lib.Codec.encoding_table["30998"] = [181,72] let s:lib.Codec.encoding_table["30999"] = [181,73] let s:lib.Codec.encoding_table["31000"] = [181,74] let s:lib.Codec.encoding_table["31001"] = [181,75] let s:lib.Codec.encoding_table["31002"] = [181,76] let s:lib.Codec.encoding_table["31003"] = [181,77] let s:lib.Codec.encoding_table["31004"] = [181,78] let s:lib.Codec.encoding_table["31005"] = [181,79] let s:lib.Codec.encoding_table["31007"] = [181,80] let s:lib.Codec.encoding_table["31008"] = [181,81] let s:lib.Codec.encoding_table["31009"] = [181,82] let s:lib.Codec.encoding_table["31010"] = [181,83] let s:lib.Codec.encoding_table["31011"] = [181,84] let s:lib.Codec.encoding_table["31013"] = [181,85] let s:lib.Codec.encoding_table["31014"] = [181,86] let s:lib.Codec.encoding_table["31015"] = [181,87] let s:lib.Codec.encoding_table["31016"] = [181,88] let s:lib.Codec.encoding_table["31017"] = [181,89] let s:lib.Codec.encoding_table["31018"] = [181,90] let s:lib.Codec.encoding_table["31019"] = [181,91] let s:lib.Codec.encoding_table["31020"] = [181,92] let s:lib.Codec.encoding_table["31021"] = [181,93] let s:lib.Codec.encoding_table["31022"] = [181,94] let s:lib.Codec.encoding_table["31023"] = [181,95] let s:lib.Codec.encoding_table["31024"] = [181,96] let s:lib.Codec.encoding_table["31025"] = [181,97] let s:lib.Codec.encoding_table["31026"] = [181,98] let s:lib.Codec.encoding_table["31027"] = [181,99] let s:lib.Codec.encoding_table["31029"] = [181,100] let s:lib.Codec.encoding_table["31030"] = [181,101] let s:lib.Codec.encoding_table["31031"] = [181,102] let s:lib.Codec.encoding_table["31032"] = [181,103] let s:lib.Codec.encoding_table["31033"] = [181,104] let s:lib.Codec.encoding_table["31037"] = [181,105] let s:lib.Codec.encoding_table["31039"] = [181,106] let s:lib.Codec.encoding_table["31042"] = [181,107] let s:lib.Codec.encoding_table["31043"] = [181,108] let s:lib.Codec.encoding_table["31044"] = [181,109] let s:lib.Codec.encoding_table["31045"] = [181,110] let s:lib.Codec.encoding_table["31047"] = [181,111] let s:lib.Codec.encoding_table["31050"] = [181,112] let s:lib.Codec.encoding_table["31051"] = [181,113] let s:lib.Codec.encoding_table["31052"] = [181,114] let s:lib.Codec.encoding_table["31053"] = [181,115] let s:lib.Codec.encoding_table["31054"] = [181,116] let s:lib.Codec.encoding_table["31055"] = [181,117] let s:lib.Codec.encoding_table["31056"] = [181,118] let s:lib.Codec.encoding_table["31057"] = [181,119] let s:lib.Codec.encoding_table["31058"] = [181,120] let s:lib.Codec.encoding_table["31060"] = [181,121] let s:lib.Codec.encoding_table["31061"] = [181,122] let s:lib.Codec.encoding_table["31064"] = [181,123] let s:lib.Codec.encoding_table["31065"] = [181,124] let s:lib.Codec.encoding_table["31073"] = [181,125] let s:lib.Codec.encoding_table["31075"] = [181,126] let s:lib.Codec.encoding_table["31076"] = [181,128] let s:lib.Codec.encoding_table["31078"] = [181,129] let s:lib.Codec.encoding_table["31081"] = [181,130] let s:lib.Codec.encoding_table["31082"] = [181,131] let s:lib.Codec.encoding_table["31083"] = [181,132] let s:lib.Codec.encoding_table["31084"] = [181,133] let s:lib.Codec.encoding_table["31086"] = [181,134] let s:lib.Codec.encoding_table["31088"] = [181,135] let s:lib.Codec.encoding_table["31089"] = [181,136] let s:lib.Codec.encoding_table["31090"] = [181,137] let s:lib.Codec.encoding_table["31091"] = [181,138] let s:lib.Codec.encoding_table["31092"] = [181,139] let s:lib.Codec.encoding_table["31093"] = [181,140] let s:lib.Codec.encoding_table["31094"] = [181,141] let s:lib.Codec.encoding_table["31097"] = [181,142] let s:lib.Codec.encoding_table["31099"] = [181,143] let s:lib.Codec.encoding_table["31100"] = [181,144] let s:lib.Codec.encoding_table["31101"] = [181,145] let s:lib.Codec.encoding_table["31102"] = [181,146] let s:lib.Codec.encoding_table["31103"] = [181,147] let s:lib.Codec.encoding_table["31106"] = [181,148] let s:lib.Codec.encoding_table["31107"] = [181,149] let s:lib.Codec.encoding_table["31110"] = [181,150] let s:lib.Codec.encoding_table["31111"] = [181,151] let s:lib.Codec.encoding_table["31112"] = [181,152] let s:lib.Codec.encoding_table["31113"] = [181,153] let s:lib.Codec.encoding_table["31115"] = [181,154] let s:lib.Codec.encoding_table["31116"] = [181,155] let s:lib.Codec.encoding_table["31117"] = [181,156] let s:lib.Codec.encoding_table["31118"] = [181,157] let s:lib.Codec.encoding_table["31120"] = [181,158] let s:lib.Codec.encoding_table["31121"] = [181,159] let s:lib.Codec.encoding_table["31122"] = [181,160] let s:lib.Codec.encoding_table["24608"] = [181,161] let s:lib.Codec.encoding_table["32829"] = [181,162] let s:lib.Codec.encoding_table["25285"] = [181,163] let s:lib.Codec.encoding_table["20025"] = [181,164] let s:lib.Codec.encoding_table["21333"] = [181,165] let s:lib.Codec.encoding_table["37112"] = [181,166] let s:lib.Codec.encoding_table["25528"] = [181,167] let s:lib.Codec.encoding_table["32966"] = [181,168] let s:lib.Codec.encoding_table["26086"] = [181,169] let s:lib.Codec.encoding_table["27694"] = [181,170] let s:lib.Codec.encoding_table["20294"] = [181,171] let s:lib.Codec.encoding_table["24814"] = [181,172] let s:lib.Codec.encoding_table["28129"] = [181,173] let s:lib.Codec.encoding_table["35806"] = [181,174] let s:lib.Codec.encoding_table["24377"] = [181,175] let s:lib.Codec.encoding_table["34507"] = [181,176] let s:lib.Codec.encoding_table["24403"] = [181,177] let s:lib.Codec.encoding_table["25377"] = [181,178] let s:lib.Codec.encoding_table["20826"] = [181,179] let s:lib.Codec.encoding_table["33633"] = [181,180] let s:lib.Codec.encoding_table["26723"] = [181,181] let s:lib.Codec.encoding_table["20992"] = [181,182] let s:lib.Codec.encoding_table["25443"] = [181,183] let s:lib.Codec.encoding_table["36424"] = [181,184] let s:lib.Codec.encoding_table["20498"] = [181,185] let s:lib.Codec.encoding_table["23707"] = [181,186] let s:lib.Codec.encoding_table["31095"] = [181,187] let s:lib.Codec.encoding_table["23548"] = [181,188] let s:lib.Codec.encoding_table["21040"] = [181,189] let s:lib.Codec.encoding_table["31291"] = [181,190] let s:lib.Codec.encoding_table["24764"] = [181,191] let s:lib.Codec.encoding_table["36947"] = [181,192] let s:lib.Codec.encoding_table["30423"] = [181,193] let s:lib.Codec.encoding_table["24503"] = [181,194] let s:lib.Codec.encoding_table["24471"] = [181,195] let s:lib.Codec.encoding_table["30340"] = [181,196] let s:lib.Codec.encoding_table["36460"] = [181,197] let s:lib.Codec.encoding_table["28783"] = [181,198] let s:lib.Codec.encoding_table["30331"] = [181,199] let s:lib.Codec.encoding_table["31561"] = [181,200] let s:lib.Codec.encoding_table["30634"] = [181,201] let s:lib.Codec.encoding_table["20979"] = [181,202] let s:lib.Codec.encoding_table["37011"] = [181,203] let s:lib.Codec.encoding_table["22564"] = [181,204] let s:lib.Codec.encoding_table["20302"] = [181,205] let s:lib.Codec.encoding_table["28404"] = [181,206] let s:lib.Codec.encoding_table["36842"] = [181,207] let s:lib.Codec.encoding_table["25932"] = [181,208] let s:lib.Codec.encoding_table["31515"] = [181,209] let s:lib.Codec.encoding_table["29380"] = [181,210] let s:lib.Codec.encoding_table["28068"] = [181,211] let s:lib.Codec.encoding_table["32735"] = [181,212] let s:lib.Codec.encoding_table["23265"] = [181,213] let s:lib.Codec.encoding_table["25269"] = [181,214] let s:lib.Codec.encoding_table["24213"] = [181,215] let s:lib.Codec.encoding_table["22320"] = [181,216] let s:lib.Codec.encoding_table["33922"] = [181,217] let s:lib.Codec.encoding_table["31532"] = [181,218] let s:lib.Codec.encoding_table["24093"] = [181,219] let s:lib.Codec.encoding_table["24351"] = [181,220] let s:lib.Codec.encoding_table["36882"] = [181,221] let s:lib.Codec.encoding_table["32532"] = [181,222] let s:lib.Codec.encoding_table["39072"] = [181,223] let s:lib.Codec.encoding_table["25474"] = [181,224] let s:lib.Codec.encoding_table["28359"] = [181,225] let s:lib.Codec.encoding_table["30872"] = [181,226] let s:lib.Codec.encoding_table["28857"] = [181,227] let s:lib.Codec.encoding_table["20856"] = [181,228] let s:lib.Codec.encoding_table["38747"] = [181,229] let s:lib.Codec.encoding_table["22443"] = [181,230] let s:lib.Codec.encoding_table["30005"] = [181,231] let s:lib.Codec.encoding_table["20291"] = [181,232] let s:lib.Codec.encoding_table["30008"] = [181,233] let s:lib.Codec.encoding_table["24215"] = [181,234] let s:lib.Codec.encoding_table["24806"] = [181,235] let s:lib.Codec.encoding_table["22880"] = [181,236] let s:lib.Codec.encoding_table["28096"] = [181,237] let s:lib.Codec.encoding_table["27583"] = [181,238] let s:lib.Codec.encoding_table["30857"] = [181,239] let s:lib.Codec.encoding_table["21500"] = [181,240] let s:lib.Codec.encoding_table["38613"] = [181,241] let s:lib.Codec.encoding_table["20939"] = [181,242] let s:lib.Codec.encoding_table["20993"] = [181,243] let s:lib.Codec.encoding_table["25481"] = [181,244] let s:lib.Codec.encoding_table["21514"] = [181,245] let s:lib.Codec.encoding_table["38035"] = [181,246] let s:lib.Codec.encoding_table["35843"] = [181,247] let s:lib.Codec.encoding_table["36300"] = [181,248] let s:lib.Codec.encoding_table["29241"] = [181,249] let s:lib.Codec.encoding_table["30879"] = [181,250] let s:lib.Codec.encoding_table["34678"] = [181,251] let s:lib.Codec.encoding_table["36845"] = [181,252] let s:lib.Codec.encoding_table["35853"] = [181,253] let s:lib.Codec.encoding_table["21472"] = [181,254] let s:lib.Codec.encoding_table["31123"] = [182,64] let s:lib.Codec.encoding_table["31124"] = [182,65] let s:lib.Codec.encoding_table["31125"] = [182,66] let s:lib.Codec.encoding_table["31126"] = [182,67] let s:lib.Codec.encoding_table["31127"] = [182,68] let s:lib.Codec.encoding_table["31128"] = [182,69] let s:lib.Codec.encoding_table["31129"] = [182,70] let s:lib.Codec.encoding_table["31131"] = [182,71] let s:lib.Codec.encoding_table["31132"] = [182,72] let s:lib.Codec.encoding_table["31133"] = [182,73] let s:lib.Codec.encoding_table["31134"] = [182,74] let s:lib.Codec.encoding_table["31135"] = [182,75] let s:lib.Codec.encoding_table["31136"] = [182,76] let s:lib.Codec.encoding_table["31137"] = [182,77] let s:lib.Codec.encoding_table["31138"] = [182,78] let s:lib.Codec.encoding_table["31139"] = [182,79] let s:lib.Codec.encoding_table["31140"] = [182,80] let s:lib.Codec.encoding_table["31141"] = [182,81] let s:lib.Codec.encoding_table["31142"] = [182,82] let s:lib.Codec.encoding_table["31144"] = [182,83] let s:lib.Codec.encoding_table["31145"] = [182,84] let s:lib.Codec.encoding_table["31146"] = [182,85] let s:lib.Codec.encoding_table["31147"] = [182,86] let s:lib.Codec.encoding_table["31148"] = [182,87] let s:lib.Codec.encoding_table["31149"] = [182,88] let s:lib.Codec.encoding_table["31150"] = [182,89] let s:lib.Codec.encoding_table["31151"] = [182,90] let s:lib.Codec.encoding_table["31152"] = [182,91] let s:lib.Codec.encoding_table["31153"] = [182,92] let s:lib.Codec.encoding_table["31154"] = [182,93] let s:lib.Codec.encoding_table["31156"] = [182,94] let s:lib.Codec.encoding_table["31157"] = [182,95] let s:lib.Codec.encoding_table["31158"] = [182,96] let s:lib.Codec.encoding_table["31159"] = [182,97] let s:lib.Codec.encoding_table["31160"] = [182,98] let s:lib.Codec.encoding_table["31164"] = [182,99] let s:lib.Codec.encoding_table["31167"] = [182,100] let s:lib.Codec.encoding_table["31170"] = [182,101] let s:lib.Codec.encoding_table["31172"] = [182,102] let s:lib.Codec.encoding_table["31173"] = [182,103] let s:lib.Codec.encoding_table["31175"] = [182,104] let s:lib.Codec.encoding_table["31176"] = [182,105] let s:lib.Codec.encoding_table["31178"] = [182,106] let s:lib.Codec.encoding_table["31180"] = [182,107] let s:lib.Codec.encoding_table["31182"] = [182,108] let s:lib.Codec.encoding_table["31183"] = [182,109] let s:lib.Codec.encoding_table["31184"] = [182,110] let s:lib.Codec.encoding_table["31187"] = [182,111] let s:lib.Codec.encoding_table["31188"] = [182,112] let s:lib.Codec.encoding_table["31190"] = [182,113] let s:lib.Codec.encoding_table["31191"] = [182,114] let s:lib.Codec.encoding_table["31193"] = [182,115] let s:lib.Codec.encoding_table["31194"] = [182,116] let s:lib.Codec.encoding_table["31195"] = [182,117] let s:lib.Codec.encoding_table["31196"] = [182,118] let s:lib.Codec.encoding_table["31197"] = [182,119] let s:lib.Codec.encoding_table["31198"] = [182,120] let s:lib.Codec.encoding_table["31200"] = [182,121] let s:lib.Codec.encoding_table["31201"] = [182,122] let s:lib.Codec.encoding_table["31202"] = [182,123] let s:lib.Codec.encoding_table["31205"] = [182,124] let s:lib.Codec.encoding_table["31208"] = [182,125] let s:lib.Codec.encoding_table["31210"] = [182,126] let s:lib.Codec.encoding_table["31212"] = [182,128] let s:lib.Codec.encoding_table["31214"] = [182,129] let s:lib.Codec.encoding_table["31217"] = [182,130] let s:lib.Codec.encoding_table["31218"] = [182,131] let s:lib.Codec.encoding_table["31219"] = [182,132] let s:lib.Codec.encoding_table["31220"] = [182,133] let s:lib.Codec.encoding_table["31221"] = [182,134] let s:lib.Codec.encoding_table["31222"] = [182,135] let s:lib.Codec.encoding_table["31223"] = [182,136] let s:lib.Codec.encoding_table["31225"] = [182,137] let s:lib.Codec.encoding_table["31226"] = [182,138] let s:lib.Codec.encoding_table["31228"] = [182,139] let s:lib.Codec.encoding_table["31230"] = [182,140] let s:lib.Codec.encoding_table["31231"] = [182,141] let s:lib.Codec.encoding_table["31233"] = [182,142] let s:lib.Codec.encoding_table["31236"] = [182,143] let s:lib.Codec.encoding_table["31237"] = [182,144] let s:lib.Codec.encoding_table["31239"] = [182,145] let s:lib.Codec.encoding_table["31240"] = [182,146] let s:lib.Codec.encoding_table["31241"] = [182,147] let s:lib.Codec.encoding_table["31242"] = [182,148] let s:lib.Codec.encoding_table["31244"] = [182,149] let s:lib.Codec.encoding_table["31247"] = [182,150] let s:lib.Codec.encoding_table["31248"] = [182,151] let s:lib.Codec.encoding_table["31249"] = [182,152] let s:lib.Codec.encoding_table["31250"] = [182,153] let s:lib.Codec.encoding_table["31251"] = [182,154] let s:lib.Codec.encoding_table["31253"] = [182,155] let s:lib.Codec.encoding_table["31254"] = [182,156] let s:lib.Codec.encoding_table["31256"] = [182,157] let s:lib.Codec.encoding_table["31257"] = [182,158] let s:lib.Codec.encoding_table["31259"] = [182,159] let s:lib.Codec.encoding_table["31260"] = [182,160] let s:lib.Codec.encoding_table["19969"] = [182,161] let s:lib.Codec.encoding_table["30447"] = [182,162] let s:lib.Codec.encoding_table["21486"] = [182,163] let s:lib.Codec.encoding_table["38025"] = [182,164] let s:lib.Codec.encoding_table["39030"] = [182,165] let s:lib.Codec.encoding_table["40718"] = [182,166] let s:lib.Codec.encoding_table["38189"] = [182,167] let s:lib.Codec.encoding_table["23450"] = [182,168] let s:lib.Codec.encoding_table["35746"] = [182,169] let s:lib.Codec.encoding_table["20002"] = [182,170] let s:lib.Codec.encoding_table["19996"] = [182,171] let s:lib.Codec.encoding_table["20908"] = [182,172] let s:lib.Codec.encoding_table["33891"] = [182,173] let s:lib.Codec.encoding_table["25026"] = [182,174] let s:lib.Codec.encoding_table["21160"] = [182,175] let s:lib.Codec.encoding_table["26635"] = [182,176] let s:lib.Codec.encoding_table["20375"] = [182,177] let s:lib.Codec.encoding_table["24683"] = [182,178] let s:lib.Codec.encoding_table["20923"] = [182,179] let s:lib.Codec.encoding_table["27934"] = [182,180] let s:lib.Codec.encoding_table["20828"] = [182,181] let s:lib.Codec.encoding_table["25238"] = [182,182] let s:lib.Codec.encoding_table["26007"] = [182,183] let s:lib.Codec.encoding_table["38497"] = [182,184] let s:lib.Codec.encoding_table["35910"] = [182,185] let s:lib.Codec.encoding_table["36887"] = [182,186] let s:lib.Codec.encoding_table["30168"] = [182,187] let s:lib.Codec.encoding_table["37117"] = [182,188] let s:lib.Codec.encoding_table["30563"] = [182,189] let s:lib.Codec.encoding_table["27602"] = [182,190] let s:lib.Codec.encoding_table["29322"] = [182,191] let s:lib.Codec.encoding_table["29420"] = [182,192] let s:lib.Codec.encoding_table["35835"] = [182,193] let s:lib.Codec.encoding_table["22581"] = [182,194] let s:lib.Codec.encoding_table["30585"] = [182,195] let s:lib.Codec.encoding_table["36172"] = [182,196] let s:lib.Codec.encoding_table["26460"] = [182,197] let s:lib.Codec.encoding_table["38208"] = [182,198] let s:lib.Codec.encoding_table["32922"] = [182,199] let s:lib.Codec.encoding_table["24230"] = [182,200] let s:lib.Codec.encoding_table["28193"] = [182,201] let s:lib.Codec.encoding_table["22930"] = [182,202] let s:lib.Codec.encoding_table["31471"] = [182,203] let s:lib.Codec.encoding_table["30701"] = [182,204] let s:lib.Codec.encoding_table["38203"] = [182,205] let s:lib.Codec.encoding_table["27573"] = [182,206] let s:lib.Codec.encoding_table["26029"] = [182,207] let s:lib.Codec.encoding_table["32526"] = [182,208] let s:lib.Codec.encoding_table["22534"] = [182,209] let s:lib.Codec.encoding_table["20817"] = [182,210] let s:lib.Codec.encoding_table["38431"] = [182,211] let s:lib.Codec.encoding_table["23545"] = [182,212] let s:lib.Codec.encoding_table["22697"] = [182,213] let s:lib.Codec.encoding_table["21544"] = [182,214] let s:lib.Codec.encoding_table["36466"] = [182,215] let s:lib.Codec.encoding_table["25958"] = [182,216] let s:lib.Codec.encoding_table["39039"] = [182,217] let s:lib.Codec.encoding_table["22244"] = [182,218] let s:lib.Codec.encoding_table["38045"] = [182,219] let s:lib.Codec.encoding_table["30462"] = [182,220] let s:lib.Codec.encoding_table["36929"] = [182,221] let s:lib.Codec.encoding_table["25479"] = [182,222] let s:lib.Codec.encoding_table["21702"] = [182,223] let s:lib.Codec.encoding_table["22810"] = [182,224] let s:lib.Codec.encoding_table["22842"] = [182,225] let s:lib.Codec.encoding_table["22427"] = [182,226] let s:lib.Codec.encoding_table["36530"] = [182,227] let s:lib.Codec.encoding_table["26421"] = [182,228] let s:lib.Codec.encoding_table["36346"] = [182,229] let s:lib.Codec.encoding_table["33333"] = [182,230] let s:lib.Codec.encoding_table["21057"] = [182,231] let s:lib.Codec.encoding_table["24816"] = [182,232] let s:lib.Codec.encoding_table["22549"] = [182,233] let s:lib.Codec.encoding_table["34558"] = [182,234] let s:lib.Codec.encoding_table["23784"] = [182,235] let s:lib.Codec.encoding_table["40517"] = [182,236] let s:lib.Codec.encoding_table["20420"] = [182,237] let s:lib.Codec.encoding_table["39069"] = [182,238] let s:lib.Codec.encoding_table["35769"] = [182,239] let s:lib.Codec.encoding_table["23077"] = [182,240] let s:lib.Codec.encoding_table["24694"] = [182,241] let s:lib.Codec.encoding_table["21380"] = [182,242] let s:lib.Codec.encoding_table["25212"] = [182,243] let s:lib.Codec.encoding_table["36943"] = [182,244] let s:lib.Codec.encoding_table["37122"] = [182,245] let s:lib.Codec.encoding_table["39295"] = [182,246] let s:lib.Codec.encoding_table["24681"] = [182,247] let s:lib.Codec.encoding_table["32780"] = [182,248] let s:lib.Codec.encoding_table["20799"] = [182,249] let s:lib.Codec.encoding_table["32819"] = [182,250] let s:lib.Codec.encoding_table["23572"] = [182,251] let s:lib.Codec.encoding_table["39285"] = [182,252] let s:lib.Codec.encoding_table["27953"] = [182,253] let s:lib.Codec.encoding_table["20108"] = [182,254] let s:lib.Codec.encoding_table["31261"] = [183,64] let s:lib.Codec.encoding_table["31263"] = [183,65] let s:lib.Codec.encoding_table["31265"] = [183,66] let s:lib.Codec.encoding_table["31266"] = [183,67] let s:lib.Codec.encoding_table["31268"] = [183,68] let s:lib.Codec.encoding_table["31269"] = [183,69] let s:lib.Codec.encoding_table["31270"] = [183,70] let s:lib.Codec.encoding_table["31271"] = [183,71] let s:lib.Codec.encoding_table["31272"] = [183,72] let s:lib.Codec.encoding_table["31273"] = [183,73] let s:lib.Codec.encoding_table["31274"] = [183,74] let s:lib.Codec.encoding_table["31275"] = [183,75] let s:lib.Codec.encoding_table["31276"] = [183,76] let s:lib.Codec.encoding_table["31277"] = [183,77] let s:lib.Codec.encoding_table["31278"] = [183,78] let s:lib.Codec.encoding_table["31279"] = [183,79] let s:lib.Codec.encoding_table["31280"] = [183,80] let s:lib.Codec.encoding_table["31281"] = [183,81] let s:lib.Codec.encoding_table["31282"] = [183,82] let s:lib.Codec.encoding_table["31284"] = [183,83] let s:lib.Codec.encoding_table["31285"] = [183,84] let s:lib.Codec.encoding_table["31286"] = [183,85] let s:lib.Codec.encoding_table["31288"] = [183,86] let s:lib.Codec.encoding_table["31290"] = [183,87] let s:lib.Codec.encoding_table["31294"] = [183,88] let s:lib.Codec.encoding_table["31296"] = [183,89] let s:lib.Codec.encoding_table["31297"] = [183,90] let s:lib.Codec.encoding_table["31298"] = [183,91] let s:lib.Codec.encoding_table["31299"] = [183,92] let s:lib.Codec.encoding_table["31300"] = [183,93] let s:lib.Codec.encoding_table["31301"] = [183,94] let s:lib.Codec.encoding_table["31303"] = [183,95] let s:lib.Codec.encoding_table["31304"] = [183,96] let s:lib.Codec.encoding_table["31305"] = [183,97] let s:lib.Codec.encoding_table["31306"] = [183,98] let s:lib.Codec.encoding_table["31307"] = [183,99] let s:lib.Codec.encoding_table["31308"] = [183,100] let s:lib.Codec.encoding_table["31309"] = [183,101] let s:lib.Codec.encoding_table["31310"] = [183,102] let s:lib.Codec.encoding_table["31311"] = [183,103] let s:lib.Codec.encoding_table["31312"] = [183,104] let s:lib.Codec.encoding_table["31314"] = [183,105] let s:lib.Codec.encoding_table["31315"] = [183,106] let s:lib.Codec.encoding_table["31316"] = [183,107] let s:lib.Codec.encoding_table["31317"] = [183,108] let s:lib.Codec.encoding_table["31318"] = [183,109] let s:lib.Codec.encoding_table["31320"] = [183,110] let s:lib.Codec.encoding_table["31321"] = [183,111] let s:lib.Codec.encoding_table["31322"] = [183,112] let s:lib.Codec.encoding_table["31323"] = [183,113] let s:lib.Codec.encoding_table["31324"] = [183,114] let s:lib.Codec.encoding_table["31325"] = [183,115] let s:lib.Codec.encoding_table["31326"] = [183,116] let s:lib.Codec.encoding_table["31327"] = [183,117] let s:lib.Codec.encoding_table["31328"] = [183,118] let s:lib.Codec.encoding_table["31329"] = [183,119] let s:lib.Codec.encoding_table["31330"] = [183,120] let s:lib.Codec.encoding_table["31331"] = [183,121] let s:lib.Codec.encoding_table["31332"] = [183,122] let s:lib.Codec.encoding_table["31333"] = [183,123] let s:lib.Codec.encoding_table["31334"] = [183,124] let s:lib.Codec.encoding_table["31335"] = [183,125] let s:lib.Codec.encoding_table["31336"] = [183,126] let s:lib.Codec.encoding_table["31337"] = [183,128] let s:lib.Codec.encoding_table["31338"] = [183,129] let s:lib.Codec.encoding_table["31339"] = [183,130] let s:lib.Codec.encoding_table["31340"] = [183,131] let s:lib.Codec.encoding_table["31341"] = [183,132] let s:lib.Codec.encoding_table["31342"] = [183,133] let s:lib.Codec.encoding_table["31343"] = [183,134] let s:lib.Codec.encoding_table["31345"] = [183,135] let s:lib.Codec.encoding_table["31346"] = [183,136] let s:lib.Codec.encoding_table["31347"] = [183,137] let s:lib.Codec.encoding_table["31349"] = [183,138] let s:lib.Codec.encoding_table["31355"] = [183,139] let s:lib.Codec.encoding_table["31356"] = [183,140] let s:lib.Codec.encoding_table["31357"] = [183,141] let s:lib.Codec.encoding_table["31358"] = [183,142] let s:lib.Codec.encoding_table["31362"] = [183,143] let s:lib.Codec.encoding_table["31365"] = [183,144] let s:lib.Codec.encoding_table["31367"] = [183,145] let s:lib.Codec.encoding_table["31369"] = [183,146] let s:lib.Codec.encoding_table["31370"] = [183,147] let s:lib.Codec.encoding_table["31371"] = [183,148] let s:lib.Codec.encoding_table["31372"] = [183,149] let s:lib.Codec.encoding_table["31374"] = [183,150] let s:lib.Codec.encoding_table["31375"] = [183,151] let s:lib.Codec.encoding_table["31376"] = [183,152] let s:lib.Codec.encoding_table["31379"] = [183,153] let s:lib.Codec.encoding_table["31380"] = [183,154] let s:lib.Codec.encoding_table["31385"] = [183,155] let s:lib.Codec.encoding_table["31386"] = [183,156] let s:lib.Codec.encoding_table["31387"] = [183,157] let s:lib.Codec.encoding_table["31390"] = [183,158] let s:lib.Codec.encoding_table["31393"] = [183,159] let s:lib.Codec.encoding_table["31394"] = [183,160] let s:lib.Codec.encoding_table["36144"] = [183,161] let s:lib.Codec.encoding_table["21457"] = [183,162] let s:lib.Codec.encoding_table["32602"] = [183,163] let s:lib.Codec.encoding_table["31567"] = [183,164] let s:lib.Codec.encoding_table["20240"] = [183,165] let s:lib.Codec.encoding_table["20047"] = [183,166] let s:lib.Codec.encoding_table["38400"] = [183,167] let s:lib.Codec.encoding_table["27861"] = [183,168] let s:lib.Codec.encoding_table["29648"] = [183,169] let s:lib.Codec.encoding_table["34281"] = [183,170] let s:lib.Codec.encoding_table["24070"] = [183,171] let s:lib.Codec.encoding_table["30058"] = [183,172] let s:lib.Codec.encoding_table["32763"] = [183,173] let s:lib.Codec.encoding_table["27146"] = [183,174] let s:lib.Codec.encoding_table["30718"] = [183,175] let s:lib.Codec.encoding_table["38034"] = [183,176] let s:lib.Codec.encoding_table["32321"] = [183,177] let s:lib.Codec.encoding_table["20961"] = [183,178] let s:lib.Codec.encoding_table["28902"] = [183,179] let s:lib.Codec.encoding_table["21453"] = [183,180] let s:lib.Codec.encoding_table["36820"] = [183,181] let s:lib.Codec.encoding_table["33539"] = [183,182] let s:lib.Codec.encoding_table["36137"] = [183,183] let s:lib.Codec.encoding_table["29359"] = [183,184] let s:lib.Codec.encoding_table["39277"] = [183,185] let s:lib.Codec.encoding_table["27867"] = [183,186] let s:lib.Codec.encoding_table["22346"] = [183,187] let s:lib.Codec.encoding_table["33459"] = [183,188] let s:lib.Codec.encoding_table["26041"] = [183,189] let s:lib.Codec.encoding_table["32938"] = [183,190] let s:lib.Codec.encoding_table["25151"] = [183,191] let s:lib.Codec.encoding_table["38450"] = [183,192] let s:lib.Codec.encoding_table["22952"] = [183,193] let s:lib.Codec.encoding_table["20223"] = [183,194] let s:lib.Codec.encoding_table["35775"] = [183,195] let s:lib.Codec.encoding_table["32442"] = [183,196] let s:lib.Codec.encoding_table["25918"] = [183,197] let s:lib.Codec.encoding_table["33778"] = [183,198] let s:lib.Codec.encoding_table["38750"] = [183,199] let s:lib.Codec.encoding_table["21857"] = [183,200] let s:lib.Codec.encoding_table["39134"] = [183,201] let s:lib.Codec.encoding_table["32933"] = [183,202] let s:lib.Codec.encoding_table["21290"] = [183,203] let s:lib.Codec.encoding_table["35837"] = [183,204] let s:lib.Codec.encoding_table["21536"] = [183,205] let s:lib.Codec.encoding_table["32954"] = [183,206] let s:lib.Codec.encoding_table["24223"] = [183,207] let s:lib.Codec.encoding_table["27832"] = [183,208] let s:lib.Codec.encoding_table["36153"] = [183,209] let s:lib.Codec.encoding_table["33452"] = [183,210] let s:lib.Codec.encoding_table["37210"] = [183,211] let s:lib.Codec.encoding_table["21545"] = [183,212] let s:lib.Codec.encoding_table["27675"] = [183,213] let s:lib.Codec.encoding_table["20998"] = [183,214] let s:lib.Codec.encoding_table["32439"] = [183,215] let s:lib.Codec.encoding_table["22367"] = [183,216] let s:lib.Codec.encoding_table["28954"] = [183,217] let s:lib.Codec.encoding_table["27774"] = [183,218] let s:lib.Codec.encoding_table["31881"] = [183,219] let s:lib.Codec.encoding_table["22859"] = [183,220] let s:lib.Codec.encoding_table["20221"] = [183,221] let s:lib.Codec.encoding_table["24575"] = [183,222] let s:lib.Codec.encoding_table["24868"] = [183,223] let s:lib.Codec.encoding_table["31914"] = [183,224] let s:lib.Codec.encoding_table["20016"] = [183,225] let s:lib.Codec.encoding_table["23553"] = [183,226] let s:lib.Codec.encoding_table["26539"] = [183,227] let s:lib.Codec.encoding_table["34562"] = [183,228] let s:lib.Codec.encoding_table["23792"] = [183,229] let s:lib.Codec.encoding_table["38155"] = [183,230] let s:lib.Codec.encoding_table["39118"] = [183,231] let s:lib.Codec.encoding_table["30127"] = [183,232] let s:lib.Codec.encoding_table["28925"] = [183,233] let s:lib.Codec.encoding_table["36898"] = [183,234] let s:lib.Codec.encoding_table["20911"] = [183,235] let s:lib.Codec.encoding_table["32541"] = [183,236] let s:lib.Codec.encoding_table["35773"] = [183,237] let s:lib.Codec.encoding_table["22857"] = [183,238] let s:lib.Codec.encoding_table["20964"] = [183,239] let s:lib.Codec.encoding_table["20315"] = [183,240] let s:lib.Codec.encoding_table["21542"] = [183,241] let s:lib.Codec.encoding_table["22827"] = [183,242] let s:lib.Codec.encoding_table["25975"] = [183,243] let s:lib.Codec.encoding_table["32932"] = [183,244] let s:lib.Codec.encoding_table["23413"] = [183,245] let s:lib.Codec.encoding_table["25206"] = [183,246] let s:lib.Codec.encoding_table["25282"] = [183,247] let s:lib.Codec.encoding_table["36752"] = [183,248] let s:lib.Codec.encoding_table["24133"] = [183,249] let s:lib.Codec.encoding_table["27679"] = [183,250] let s:lib.Codec.encoding_table["31526"] = [183,251] let s:lib.Codec.encoding_table["20239"] = [183,252] let s:lib.Codec.encoding_table["20440"] = [183,253] let s:lib.Codec.encoding_table["26381"] = [183,254] let s:lib.Codec.encoding_table["31395"] = [184,64] let s:lib.Codec.encoding_table["31396"] = [184,65] let s:lib.Codec.encoding_table["31399"] = [184,66] let s:lib.Codec.encoding_table["31401"] = [184,67] let s:lib.Codec.encoding_table["31402"] = [184,68] let s:lib.Codec.encoding_table["31403"] = [184,69] let s:lib.Codec.encoding_table["31406"] = [184,70] let s:lib.Codec.encoding_table["31407"] = [184,71] let s:lib.Codec.encoding_table["31408"] = [184,72] let s:lib.Codec.encoding_table["31409"] = [184,73] let s:lib.Codec.encoding_table["31410"] = [184,74] let s:lib.Codec.encoding_table["31412"] = [184,75] let s:lib.Codec.encoding_table["31413"] = [184,76] let s:lib.Codec.encoding_table["31414"] = [184,77] let s:lib.Codec.encoding_table["31415"] = [184,78] let s:lib.Codec.encoding_table["31416"] = [184,79] let s:lib.Codec.encoding_table["31417"] = [184,80] let s:lib.Codec.encoding_table["31418"] = [184,81] let s:lib.Codec.encoding_table["31419"] = [184,82] let s:lib.Codec.encoding_table["31420"] = [184,83] let s:lib.Codec.encoding_table["31421"] = [184,84] let s:lib.Codec.encoding_table["31422"] = [184,85] let s:lib.Codec.encoding_table["31424"] = [184,86] let s:lib.Codec.encoding_table["31425"] = [184,87] let s:lib.Codec.encoding_table["31426"] = [184,88] let s:lib.Codec.encoding_table["31427"] = [184,89] let s:lib.Codec.encoding_table["31428"] = [184,90] let s:lib.Codec.encoding_table["31429"] = [184,91] let s:lib.Codec.encoding_table["31430"] = [184,92] let s:lib.Codec.encoding_table["31431"] = [184,93] let s:lib.Codec.encoding_table["31432"] = [184,94] let s:lib.Codec.encoding_table["31433"] = [184,95] let s:lib.Codec.encoding_table["31434"] = [184,96] let s:lib.Codec.encoding_table["31436"] = [184,97] let s:lib.Codec.encoding_table["31437"] = [184,98] let s:lib.Codec.encoding_table["31438"] = [184,99] let s:lib.Codec.encoding_table["31439"] = [184,100] let s:lib.Codec.encoding_table["31440"] = [184,101] let s:lib.Codec.encoding_table["31441"] = [184,102] let s:lib.Codec.encoding_table["31442"] = [184,103] let s:lib.Codec.encoding_table["31443"] = [184,104] let s:lib.Codec.encoding_table["31444"] = [184,105] let s:lib.Codec.encoding_table["31445"] = [184,106] let s:lib.Codec.encoding_table["31447"] = [184,107] let s:lib.Codec.encoding_table["31448"] = [184,108] let s:lib.Codec.encoding_table["31450"] = [184,109] let s:lib.Codec.encoding_table["31451"] = [184,110] let s:lib.Codec.encoding_table["31452"] = [184,111] let s:lib.Codec.encoding_table["31453"] = [184,112] let s:lib.Codec.encoding_table["31457"] = [184,113] let s:lib.Codec.encoding_table["31458"] = [184,114] let s:lib.Codec.encoding_table["31460"] = [184,115] let s:lib.Codec.encoding_table["31463"] = [184,116] let s:lib.Codec.encoding_table["31464"] = [184,117] let s:lib.Codec.encoding_table["31465"] = [184,118] let s:lib.Codec.encoding_table["31466"] = [184,119] let s:lib.Codec.encoding_table["31467"] = [184,120] let s:lib.Codec.encoding_table["31468"] = [184,121] let s:lib.Codec.encoding_table["31470"] = [184,122] let s:lib.Codec.encoding_table["31472"] = [184,123] let s:lib.Codec.encoding_table["31473"] = [184,124] let s:lib.Codec.encoding_table["31474"] = [184,125] let s:lib.Codec.encoding_table["31475"] = [184,126] let s:lib.Codec.encoding_table["31476"] = [184,128] let s:lib.Codec.encoding_table["31477"] = [184,129] let s:lib.Codec.encoding_table["31478"] = [184,130] let s:lib.Codec.encoding_table["31479"] = [184,131] let s:lib.Codec.encoding_table["31480"] = [184,132] let s:lib.Codec.encoding_table["31483"] = [184,133] let s:lib.Codec.encoding_table["31484"] = [184,134] let s:lib.Codec.encoding_table["31486"] = [184,135] let s:lib.Codec.encoding_table["31488"] = [184,136] let s:lib.Codec.encoding_table["31489"] = [184,137] let s:lib.Codec.encoding_table["31490"] = [184,138] let s:lib.Codec.encoding_table["31493"] = [184,139] let s:lib.Codec.encoding_table["31495"] = [184,140] let s:lib.Codec.encoding_table["31497"] = [184,141] let s:lib.Codec.encoding_table["31500"] = [184,142] let s:lib.Codec.encoding_table["31501"] = [184,143] let s:lib.Codec.encoding_table["31502"] = [184,144] let s:lib.Codec.encoding_table["31504"] = [184,145] let s:lib.Codec.encoding_table["31506"] = [184,146] let s:lib.Codec.encoding_table["31507"] = [184,147] let s:lib.Codec.encoding_table["31510"] = [184,148] let s:lib.Codec.encoding_table["31511"] = [184,149] let s:lib.Codec.encoding_table["31512"] = [184,150] let s:lib.Codec.encoding_table["31514"] = [184,151] let s:lib.Codec.encoding_table["31516"] = [184,152] let s:lib.Codec.encoding_table["31517"] = [184,153] let s:lib.Codec.encoding_table["31519"] = [184,154] let s:lib.Codec.encoding_table["31521"] = [184,155] let s:lib.Codec.encoding_table["31522"] = [184,156] let s:lib.Codec.encoding_table["31523"] = [184,157] let s:lib.Codec.encoding_table["31527"] = [184,158] let s:lib.Codec.encoding_table["31529"] = [184,159] let s:lib.Codec.encoding_table["31533"] = [184,160] let s:lib.Codec.encoding_table["28014"] = [184,161] let s:lib.Codec.encoding_table["28074"] = [184,162] let s:lib.Codec.encoding_table["31119"] = [184,163] let s:lib.Codec.encoding_table["34993"] = [184,164] let s:lib.Codec.encoding_table["24343"] = [184,165] let s:lib.Codec.encoding_table["29995"] = [184,166] let s:lib.Codec.encoding_table["25242"] = [184,167] let s:lib.Codec.encoding_table["36741"] = [184,168] let s:lib.Codec.encoding_table["20463"] = [184,169] let s:lib.Codec.encoding_table["37340"] = [184,170] let s:lib.Codec.encoding_table["26023"] = [184,171] let s:lib.Codec.encoding_table["33071"] = [184,172] let s:lib.Codec.encoding_table["33105"] = [184,173] let s:lib.Codec.encoding_table["24220"] = [184,174] let s:lib.Codec.encoding_table["33104"] = [184,175] let s:lib.Codec.encoding_table["36212"] = [184,176] let s:lib.Codec.encoding_table["21103"] = [184,177] let s:lib.Codec.encoding_table["35206"] = [184,178] let s:lib.Codec.encoding_table["36171"] = [184,179] let s:lib.Codec.encoding_table["22797"] = [184,180] let s:lib.Codec.encoding_table["20613"] = [184,181] let s:lib.Codec.encoding_table["20184"] = [184,182] let s:lib.Codec.encoding_table["38428"] = [184,183] let s:lib.Codec.encoding_table["29238"] = [184,184] let s:lib.Codec.encoding_table["33145"] = [184,185] let s:lib.Codec.encoding_table["36127"] = [184,186] let s:lib.Codec.encoding_table["23500"] = [184,187] let s:lib.Codec.encoding_table["35747"] = [184,188] let s:lib.Codec.encoding_table["38468"] = [184,189] let s:lib.Codec.encoding_table["22919"] = [184,190] let s:lib.Codec.encoding_table["32538"] = [184,191] let s:lib.Codec.encoding_table["21648"] = [184,192] let s:lib.Codec.encoding_table["22134"] = [184,193] let s:lib.Codec.encoding_table["22030"] = [184,194] let s:lib.Codec.encoding_table["35813"] = [184,195] let s:lib.Codec.encoding_table["25913"] = [184,196] let s:lib.Codec.encoding_table["27010"] = [184,197] let s:lib.Codec.encoding_table["38041"] = [184,198] let s:lib.Codec.encoding_table["30422"] = [184,199] let s:lib.Codec.encoding_table["28297"] = [184,200] let s:lib.Codec.encoding_table["24178"] = [184,201] let s:lib.Codec.encoding_table["29976"] = [184,202] let s:lib.Codec.encoding_table["26438"] = [184,203] let s:lib.Codec.encoding_table["26577"] = [184,204] let s:lib.Codec.encoding_table["31487"] = [184,205] let s:lib.Codec.encoding_table["32925"] = [184,206] let s:lib.Codec.encoding_table["36214"] = [184,207] let s:lib.Codec.encoding_table["24863"] = [184,208] let s:lib.Codec.encoding_table["31174"] = [184,209] let s:lib.Codec.encoding_table["25954"] = [184,210] let s:lib.Codec.encoding_table["36195"] = [184,211] let s:lib.Codec.encoding_table["20872"] = [184,212] let s:lib.Codec.encoding_table["21018"] = [184,213] let s:lib.Codec.encoding_table["38050"] = [184,214] let s:lib.Codec.encoding_table["32568"] = [184,215] let s:lib.Codec.encoding_table["32923"] = [184,216] let s:lib.Codec.encoding_table["32434"] = [184,217] let s:lib.Codec.encoding_table["23703"] = [184,218] let s:lib.Codec.encoding_table["28207"] = [184,219] let s:lib.Codec.encoding_table["26464"] = [184,220] let s:lib.Codec.encoding_table["31705"] = [184,221] let s:lib.Codec.encoding_table["30347"] = [184,222] let s:lib.Codec.encoding_table["39640"] = [184,223] let s:lib.Codec.encoding_table["33167"] = [184,224] let s:lib.Codec.encoding_table["32660"] = [184,225] let s:lib.Codec.encoding_table["31957"] = [184,226] let s:lib.Codec.encoding_table["25630"] = [184,227] let s:lib.Codec.encoding_table["38224"] = [184,228] let s:lib.Codec.encoding_table["31295"] = [184,229] let s:lib.Codec.encoding_table["21578"] = [184,230] let s:lib.Codec.encoding_table["21733"] = [184,231] let s:lib.Codec.encoding_table["27468"] = [184,232] let s:lib.Codec.encoding_table["25601"] = [184,233] let s:lib.Codec.encoding_table["25096"] = [184,234] let s:lib.Codec.encoding_table["40509"] = [184,235] let s:lib.Codec.encoding_table["33011"] = [184,236] let s:lib.Codec.encoding_table["30105"] = [184,237] let s:lib.Codec.encoding_table["21106"] = [184,238] let s:lib.Codec.encoding_table["38761"] = [184,239] let s:lib.Codec.encoding_table["33883"] = [184,240] let s:lib.Codec.encoding_table["26684"] = [184,241] let s:lib.Codec.encoding_table["34532"] = [184,242] let s:lib.Codec.encoding_table["38401"] = [184,243] let s:lib.Codec.encoding_table["38548"] = [184,244] let s:lib.Codec.encoding_table["38124"] = [184,245] let s:lib.Codec.encoding_table["20010"] = [184,246] let s:lib.Codec.encoding_table["21508"] = [184,247] let s:lib.Codec.encoding_table["32473"] = [184,248] let s:lib.Codec.encoding_table["26681"] = [184,249] let s:lib.Codec.encoding_table["36319"] = [184,250] let s:lib.Codec.encoding_table["32789"] = [184,251] let s:lib.Codec.encoding_table["26356"] = [184,252] let s:lib.Codec.encoding_table["24218"] = [184,253] let s:lib.Codec.encoding_table["32697"] = [184,254] let s:lib.Codec.encoding_table["31535"] = [185,64] let s:lib.Codec.encoding_table["31536"] = [185,65] let s:lib.Codec.encoding_table["31538"] = [185,66] let s:lib.Codec.encoding_table["31540"] = [185,67] let s:lib.Codec.encoding_table["31541"] = [185,68] let s:lib.Codec.encoding_table["31542"] = [185,69] let s:lib.Codec.encoding_table["31543"] = [185,70] let s:lib.Codec.encoding_table["31545"] = [185,71] let s:lib.Codec.encoding_table["31547"] = [185,72] let s:lib.Codec.encoding_table["31549"] = [185,73] let s:lib.Codec.encoding_table["31551"] = [185,74] let s:lib.Codec.encoding_table["31552"] = [185,75] let s:lib.Codec.encoding_table["31553"] = [185,76] let s:lib.Codec.encoding_table["31554"] = [185,77] let s:lib.Codec.encoding_table["31555"] = [185,78] let s:lib.Codec.encoding_table["31556"] = [185,79] let s:lib.Codec.encoding_table["31558"] = [185,80] let s:lib.Codec.encoding_table["31560"] = [185,81] let s:lib.Codec.encoding_table["31562"] = [185,82] let s:lib.Codec.encoding_table["31565"] = [185,83] let s:lib.Codec.encoding_table["31566"] = [185,84] let s:lib.Codec.encoding_table["31571"] = [185,85] let s:lib.Codec.encoding_table["31573"] = [185,86] let s:lib.Codec.encoding_table["31575"] = [185,87] let s:lib.Codec.encoding_table["31577"] = [185,88] let s:lib.Codec.encoding_table["31580"] = [185,89] let s:lib.Codec.encoding_table["31582"] = [185,90] let s:lib.Codec.encoding_table["31583"] = [185,91] let s:lib.Codec.encoding_table["31585"] = [185,92] let s:lib.Codec.encoding_table["31587"] = [185,93] let s:lib.Codec.encoding_table["31588"] = [185,94] let s:lib.Codec.encoding_table["31589"] = [185,95] let s:lib.Codec.encoding_table["31590"] = [185,96] let s:lib.Codec.encoding_table["31591"] = [185,97] let s:lib.Codec.encoding_table["31592"] = [185,98] let s:lib.Codec.encoding_table["31593"] = [185,99] let s:lib.Codec.encoding_table["31594"] = [185,100] let s:lib.Codec.encoding_table["31595"] = [185,101] let s:lib.Codec.encoding_table["31596"] = [185,102] let s:lib.Codec.encoding_table["31597"] = [185,103] let s:lib.Codec.encoding_table["31599"] = [185,104] let s:lib.Codec.encoding_table["31600"] = [185,105] let s:lib.Codec.encoding_table["31603"] = [185,106] let s:lib.Codec.encoding_table["31604"] = [185,107] let s:lib.Codec.encoding_table["31606"] = [185,108] let s:lib.Codec.encoding_table["31608"] = [185,109] let s:lib.Codec.encoding_table["31610"] = [185,110] let s:lib.Codec.encoding_table["31612"] = [185,111] let s:lib.Codec.encoding_table["31613"] = [185,112] let s:lib.Codec.encoding_table["31615"] = [185,113] let s:lib.Codec.encoding_table["31617"] = [185,114] let s:lib.Codec.encoding_table["31618"] = [185,115] let s:lib.Codec.encoding_table["31619"] = [185,116] let s:lib.Codec.encoding_table["31620"] = [185,117] let s:lib.Codec.encoding_table["31622"] = [185,118] let s:lib.Codec.encoding_table["31623"] = [185,119] let s:lib.Codec.encoding_table["31624"] = [185,120] let s:lib.Codec.encoding_table["31625"] = [185,121] let s:lib.Codec.encoding_table["31626"] = [185,122] let s:lib.Codec.encoding_table["31627"] = [185,123] let s:lib.Codec.encoding_table["31628"] = [185,124] let s:lib.Codec.encoding_table["31630"] = [185,125] let s:lib.Codec.encoding_table["31631"] = [185,126] let s:lib.Codec.encoding_table["31633"] = [185,128] let s:lib.Codec.encoding_table["31634"] = [185,129] let s:lib.Codec.encoding_table["31635"] = [185,130] let s:lib.Codec.encoding_table["31638"] = [185,131] let s:lib.Codec.encoding_table["31640"] = [185,132] let s:lib.Codec.encoding_table["31641"] = [185,133] let s:lib.Codec.encoding_table["31642"] = [185,134] let s:lib.Codec.encoding_table["31643"] = [185,135] let s:lib.Codec.encoding_table["31646"] = [185,136] let s:lib.Codec.encoding_table["31647"] = [185,137] let s:lib.Codec.encoding_table["31648"] = [185,138] let s:lib.Codec.encoding_table["31651"] = [185,139] let s:lib.Codec.encoding_table["31652"] = [185,140] let s:lib.Codec.encoding_table["31653"] = [185,141] let s:lib.Codec.encoding_table["31662"] = [185,142] let s:lib.Codec.encoding_table["31663"] = [185,143] let s:lib.Codec.encoding_table["31664"] = [185,144] let s:lib.Codec.encoding_table["31666"] = [185,145] let s:lib.Codec.encoding_table["31667"] = [185,146] let s:lib.Codec.encoding_table["31669"] = [185,147] let s:lib.Codec.encoding_table["31670"] = [185,148] let s:lib.Codec.encoding_table["31671"] = [185,149] let s:lib.Codec.encoding_table["31673"] = [185,150] let s:lib.Codec.encoding_table["31674"] = [185,151] let s:lib.Codec.encoding_table["31675"] = [185,152] let s:lib.Codec.encoding_table["31676"] = [185,153] let s:lib.Codec.encoding_table["31677"] = [185,154] let s:lib.Codec.encoding_table["31678"] = [185,155] let s:lib.Codec.encoding_table["31679"] = [185,156] let s:lib.Codec.encoding_table["31680"] = [185,157] let s:lib.Codec.encoding_table["31682"] = [185,158] let s:lib.Codec.encoding_table["31683"] = [185,159] let s:lib.Codec.encoding_table["31684"] = [185,160] let s:lib.Codec.encoding_table["22466"] = [185,161] let s:lib.Codec.encoding_table["32831"] = [185,162] let s:lib.Codec.encoding_table["26775"] = [185,163] let s:lib.Codec.encoding_table["24037"] = [185,164] let s:lib.Codec.encoding_table["25915"] = [185,165] let s:lib.Codec.encoding_table["21151"] = [185,166] let s:lib.Codec.encoding_table["24685"] = [185,167] let s:lib.Codec.encoding_table["40858"] = [185,168] let s:lib.Codec.encoding_table["20379"] = [185,169] let s:lib.Codec.encoding_table["36524"] = [185,170] let s:lib.Codec.encoding_table["20844"] = [185,171] let s:lib.Codec.encoding_table["23467"] = [185,172] let s:lib.Codec.encoding_table["24339"] = [185,173] let s:lib.Codec.encoding_table["24041"] = [185,174] let s:lib.Codec.encoding_table["27742"] = [185,175] let s:lib.Codec.encoding_table["25329"] = [185,176] let s:lib.Codec.encoding_table["36129"] = [185,177] let s:lib.Codec.encoding_table["20849"] = [185,178] let s:lib.Codec.encoding_table["38057"] = [185,179] let s:lib.Codec.encoding_table["21246"] = [185,180] let s:lib.Codec.encoding_table["27807"] = [185,181] let s:lib.Codec.encoding_table["33503"] = [185,182] let s:lib.Codec.encoding_table["29399"] = [185,183] let s:lib.Codec.encoding_table["22434"] = [185,184] let s:lib.Codec.encoding_table["26500"] = [185,185] let s:lib.Codec.encoding_table["36141"] = [185,186] let s:lib.Codec.encoding_table["22815"] = [185,187] let s:lib.Codec.encoding_table["36764"] = [185,188] let s:lib.Codec.encoding_table["33735"] = [185,189] let s:lib.Codec.encoding_table["21653"] = [185,190] let s:lib.Codec.encoding_table["31629"] = [185,191] let s:lib.Codec.encoding_table["20272"] = [185,192] let s:lib.Codec.encoding_table["27837"] = [185,193] let s:lib.Codec.encoding_table["23396"] = [185,194] let s:lib.Codec.encoding_table["22993"] = [185,195] let s:lib.Codec.encoding_table["40723"] = [185,196] let s:lib.Codec.encoding_table["21476"] = [185,197] let s:lib.Codec.encoding_table["34506"] = [185,198] let s:lib.Codec.encoding_table["39592"] = [185,199] let s:lib.Codec.encoding_table["35895"] = [185,200] let s:lib.Codec.encoding_table["32929"] = [185,201] let s:lib.Codec.encoding_table["25925"] = [185,202] let s:lib.Codec.encoding_table["39038"] = [185,203] let s:lib.Codec.encoding_table["22266"] = [185,204] let s:lib.Codec.encoding_table["38599"] = [185,205] let s:lib.Codec.encoding_table["21038"] = [185,206] let s:lib.Codec.encoding_table["29916"] = [185,207] let s:lib.Codec.encoding_table["21072"] = [185,208] let s:lib.Codec.encoding_table["23521"] = [185,209] let s:lib.Codec.encoding_table["25346"] = [185,210] let s:lib.Codec.encoding_table["35074"] = [185,211] let s:lib.Codec.encoding_table["20054"] = [185,212] let s:lib.Codec.encoding_table["25296"] = [185,213] let s:lib.Codec.encoding_table["24618"] = [185,214] let s:lib.Codec.encoding_table["26874"] = [185,215] let s:lib.Codec.encoding_table["20851"] = [185,216] let s:lib.Codec.encoding_table["23448"] = [185,217] let s:lib.Codec.encoding_table["20896"] = [185,218] let s:lib.Codec.encoding_table["35266"] = [185,219] let s:lib.Codec.encoding_table["31649"] = [185,220] let s:lib.Codec.encoding_table["39302"] = [185,221] let s:lib.Codec.encoding_table["32592"] = [185,222] let s:lib.Codec.encoding_table["24815"] = [185,223] let s:lib.Codec.encoding_table["28748"] = [185,224] let s:lib.Codec.encoding_table["36143"] = [185,225] let s:lib.Codec.encoding_table["20809"] = [185,226] let s:lib.Codec.encoding_table["24191"] = [185,227] let s:lib.Codec.encoding_table["36891"] = [185,228] let s:lib.Codec.encoding_table["29808"] = [185,229] let s:lib.Codec.encoding_table["35268"] = [185,230] let s:lib.Codec.encoding_table["22317"] = [185,231] let s:lib.Codec.encoding_table["30789"] = [185,232] let s:lib.Codec.encoding_table["24402"] = [185,233] let s:lib.Codec.encoding_table["40863"] = [185,234] let s:lib.Codec.encoding_table["38394"] = [185,235] let s:lib.Codec.encoding_table["36712"] = [185,236] let s:lib.Codec.encoding_table["39740"] = [185,237] let s:lib.Codec.encoding_table["35809"] = [185,238] let s:lib.Codec.encoding_table["30328"] = [185,239] let s:lib.Codec.encoding_table["26690"] = [185,240] let s:lib.Codec.encoding_table["26588"] = [185,241] let s:lib.Codec.encoding_table["36330"] = [185,242] let s:lib.Codec.encoding_table["36149"] = [185,243] let s:lib.Codec.encoding_table["21053"] = [185,244] let s:lib.Codec.encoding_table["36746"] = [185,245] let s:lib.Codec.encoding_table["28378"] = [185,246] let s:lib.Codec.encoding_table["26829"] = [185,247] let s:lib.Codec.encoding_table["38149"] = [185,248] let s:lib.Codec.encoding_table["37101"] = [185,249] let s:lib.Codec.encoding_table["22269"] = [185,250] let s:lib.Codec.encoding_table["26524"] = [185,251] let s:lib.Codec.encoding_table["35065"] = [185,252] let s:lib.Codec.encoding_table["36807"] = [185,253] let s:lib.Codec.encoding_table["21704"] = [185,254] let s:lib.Codec.encoding_table["31685"] = [186,64] let s:lib.Codec.encoding_table["31688"] = [186,65] let s:lib.Codec.encoding_table["31689"] = [186,66] let s:lib.Codec.encoding_table["31690"] = [186,67] let s:lib.Codec.encoding_table["31691"] = [186,68] let s:lib.Codec.encoding_table["31693"] = [186,69] let s:lib.Codec.encoding_table["31694"] = [186,70] let s:lib.Codec.encoding_table["31695"] = [186,71] let s:lib.Codec.encoding_table["31696"] = [186,72] let s:lib.Codec.encoding_table["31698"] = [186,73] let s:lib.Codec.encoding_table["31700"] = [186,74] let s:lib.Codec.encoding_table["31701"] = [186,75] let s:lib.Codec.encoding_table["31702"] = [186,76] let s:lib.Codec.encoding_table["31703"] = [186,77] let s:lib.Codec.encoding_table["31704"] = [186,78] let s:lib.Codec.encoding_table["31707"] = [186,79] let s:lib.Codec.encoding_table["31708"] = [186,80] let s:lib.Codec.encoding_table["31710"] = [186,81] let s:lib.Codec.encoding_table["31711"] = [186,82] let s:lib.Codec.encoding_table["31712"] = [186,83] let s:lib.Codec.encoding_table["31714"] = [186,84] let s:lib.Codec.encoding_table["31715"] = [186,85] let s:lib.Codec.encoding_table["31716"] = [186,86] let s:lib.Codec.encoding_table["31719"] = [186,87] let s:lib.Codec.encoding_table["31720"] = [186,88] let s:lib.Codec.encoding_table["31721"] = [186,89] let s:lib.Codec.encoding_table["31723"] = [186,90] let s:lib.Codec.encoding_table["31724"] = [186,91] let s:lib.Codec.encoding_table["31725"] = [186,92] let s:lib.Codec.encoding_table["31727"] = [186,93] let s:lib.Codec.encoding_table["31728"] = [186,94] let s:lib.Codec.encoding_table["31730"] = [186,95] let s:lib.Codec.encoding_table["31731"] = [186,96] let s:lib.Codec.encoding_table["31732"] = [186,97] let s:lib.Codec.encoding_table["31733"] = [186,98] let s:lib.Codec.encoding_table["31734"] = [186,99] let s:lib.Codec.encoding_table["31736"] = [186,100] let s:lib.Codec.encoding_table["31737"] = [186,101] let s:lib.Codec.encoding_table["31738"] = [186,102] let s:lib.Codec.encoding_table["31739"] = [186,103] let s:lib.Codec.encoding_table["31741"] = [186,104] let s:lib.Codec.encoding_table["31743"] = [186,105] let s:lib.Codec.encoding_table["31744"] = [186,106] let s:lib.Codec.encoding_table["31745"] = [186,107] let s:lib.Codec.encoding_table["31746"] = [186,108] let s:lib.Codec.encoding_table["31747"] = [186,109] let s:lib.Codec.encoding_table["31748"] = [186,110] let s:lib.Codec.encoding_table["31749"] = [186,111] let s:lib.Codec.encoding_table["31750"] = [186,112] let s:lib.Codec.encoding_table["31752"] = [186,113] let s:lib.Codec.encoding_table["31753"] = [186,114] let s:lib.Codec.encoding_table["31754"] = [186,115] let s:lib.Codec.encoding_table["31757"] = [186,116] let s:lib.Codec.encoding_table["31758"] = [186,117] let s:lib.Codec.encoding_table["31760"] = [186,118] let s:lib.Codec.encoding_table["31761"] = [186,119] let s:lib.Codec.encoding_table["31762"] = [186,120] let s:lib.Codec.encoding_table["31763"] = [186,121] let s:lib.Codec.encoding_table["31764"] = [186,122] let s:lib.Codec.encoding_table["31765"] = [186,123] let s:lib.Codec.encoding_table["31767"] = [186,124] let s:lib.Codec.encoding_table["31768"] = [186,125] let s:lib.Codec.encoding_table["31769"] = [186,126] let s:lib.Codec.encoding_table["31770"] = [186,128] let s:lib.Codec.encoding_table["31771"] = [186,129] let s:lib.Codec.encoding_table["31772"] = [186,130] let s:lib.Codec.encoding_table["31773"] = [186,131] let s:lib.Codec.encoding_table["31774"] = [186,132] let s:lib.Codec.encoding_table["31776"] = [186,133] let s:lib.Codec.encoding_table["31777"] = [186,134] let s:lib.Codec.encoding_table["31778"] = [186,135] let s:lib.Codec.encoding_table["31779"] = [186,136] let s:lib.Codec.encoding_table["31780"] = [186,137] let s:lib.Codec.encoding_table["31781"] = [186,138] let s:lib.Codec.encoding_table["31784"] = [186,139] let s:lib.Codec.encoding_table["31785"] = [186,140] let s:lib.Codec.encoding_table["31787"] = [186,141] let s:lib.Codec.encoding_table["31788"] = [186,142] let s:lib.Codec.encoding_table["31789"] = [186,143] let s:lib.Codec.encoding_table["31790"] = [186,144] let s:lib.Codec.encoding_table["31791"] = [186,145] let s:lib.Codec.encoding_table["31792"] = [186,146] let s:lib.Codec.encoding_table["31793"] = [186,147] let s:lib.Codec.encoding_table["31794"] = [186,148] let s:lib.Codec.encoding_table["31795"] = [186,149] let s:lib.Codec.encoding_table["31796"] = [186,150] let s:lib.Codec.encoding_table["31797"] = [186,151] let s:lib.Codec.encoding_table["31798"] = [186,152] let s:lib.Codec.encoding_table["31799"] = [186,153] let s:lib.Codec.encoding_table["31801"] = [186,154] let s:lib.Codec.encoding_table["31802"] = [186,155] let s:lib.Codec.encoding_table["31803"] = [186,156] let s:lib.Codec.encoding_table["31804"] = [186,157] let s:lib.Codec.encoding_table["31805"] = [186,158] let s:lib.Codec.encoding_table["31806"] = [186,159] let s:lib.Codec.encoding_table["31810"] = [186,160] let s:lib.Codec.encoding_table["39608"] = [186,161] let s:lib.Codec.encoding_table["23401"] = [186,162] let s:lib.Codec.encoding_table["28023"] = [186,163] let s:lib.Codec.encoding_table["27686"] = [186,164] let s:lib.Codec.encoding_table["20133"] = [186,165] let s:lib.Codec.encoding_table["23475"] = [186,166] let s:lib.Codec.encoding_table["39559"] = [186,167] let s:lib.Codec.encoding_table["37219"] = [186,168] let s:lib.Codec.encoding_table["25000"] = [186,169] let s:lib.Codec.encoding_table["37039"] = [186,170] let s:lib.Codec.encoding_table["38889"] = [186,171] let s:lib.Codec.encoding_table["21547"] = [186,172] let s:lib.Codec.encoding_table["28085"] = [186,173] let s:lib.Codec.encoding_table["23506"] = [186,174] let s:lib.Codec.encoding_table["20989"] = [186,175] let s:lib.Codec.encoding_table["21898"] = [186,176] let s:lib.Codec.encoding_table["32597"] = [186,177] let s:lib.Codec.encoding_table["32752"] = [186,178] let s:lib.Codec.encoding_table["25788"] = [186,179] let s:lib.Codec.encoding_table["25421"] = [186,180] let s:lib.Codec.encoding_table["26097"] = [186,181] let s:lib.Codec.encoding_table["25022"] = [186,182] let s:lib.Codec.encoding_table["24717"] = [186,183] let s:lib.Codec.encoding_table["28938"] = [186,184] let s:lib.Codec.encoding_table["27735"] = [186,185] let s:lib.Codec.encoding_table["27721"] = [186,186] let s:lib.Codec.encoding_table["22831"] = [186,187] let s:lib.Codec.encoding_table["26477"] = [186,188] let s:lib.Codec.encoding_table["33322"] = [186,189] let s:lib.Codec.encoding_table["22741"] = [186,190] let s:lib.Codec.encoding_table["22158"] = [186,191] let s:lib.Codec.encoding_table["35946"] = [186,192] let s:lib.Codec.encoding_table["27627"] = [186,193] let s:lib.Codec.encoding_table["37085"] = [186,194] let s:lib.Codec.encoding_table["22909"] = [186,195] let s:lib.Codec.encoding_table["32791"] = [186,196] let s:lib.Codec.encoding_table["21495"] = [186,197] let s:lib.Codec.encoding_table["28009"] = [186,198] let s:lib.Codec.encoding_table["21621"] = [186,199] let s:lib.Codec.encoding_table["21917"] = [186,200] let s:lib.Codec.encoding_table["33655"] = [186,201] let s:lib.Codec.encoding_table["33743"] = [186,202] let s:lib.Codec.encoding_table["26680"] = [186,203] let s:lib.Codec.encoding_table["31166"] = [186,204] let s:lib.Codec.encoding_table["21644"] = [186,205] let s:lib.Codec.encoding_table["20309"] = [186,206] let s:lib.Codec.encoding_table["21512"] = [186,207] let s:lib.Codec.encoding_table["30418"] = [186,208] let s:lib.Codec.encoding_table["35977"] = [186,209] let s:lib.Codec.encoding_table["38402"] = [186,210] let s:lib.Codec.encoding_table["27827"] = [186,211] let s:lib.Codec.encoding_table["28088"] = [186,212] let s:lib.Codec.encoding_table["36203"] = [186,213] let s:lib.Codec.encoding_table["35088"] = [186,214] let s:lib.Codec.encoding_table["40548"] = [186,215] let s:lib.Codec.encoding_table["36154"] = [186,216] let s:lib.Codec.encoding_table["22079"] = [186,217] let s:lib.Codec.encoding_table["40657"] = [186,218] let s:lib.Codec.encoding_table["30165"] = [186,219] let s:lib.Codec.encoding_table["24456"] = [186,220] let s:lib.Codec.encoding_table["29408"] = [186,221] let s:lib.Codec.encoding_table["24680"] = [186,222] let s:lib.Codec.encoding_table["21756"] = [186,223] let s:lib.Codec.encoding_table["20136"] = [186,224] let s:lib.Codec.encoding_table["27178"] = [186,225] let s:lib.Codec.encoding_table["34913"] = [186,226] let s:lib.Codec.encoding_table["24658"] = [186,227] let s:lib.Codec.encoding_table["36720"] = [186,228] let s:lib.Codec.encoding_table["21700"] = [186,229] let s:lib.Codec.encoding_table["28888"] = [186,230] let s:lib.Codec.encoding_table["34425"] = [186,231] let s:lib.Codec.encoding_table["40511"] = [186,232] let s:lib.Codec.encoding_table["27946"] = [186,233] let s:lib.Codec.encoding_table["23439"] = [186,234] let s:lib.Codec.encoding_table["24344"] = [186,235] let s:lib.Codec.encoding_table["32418"] = [186,236] let s:lib.Codec.encoding_table["21897"] = [186,237] let s:lib.Codec.encoding_table["20399"] = [186,238] let s:lib.Codec.encoding_table["29492"] = [186,239] let s:lib.Codec.encoding_table["21564"] = [186,240] let s:lib.Codec.encoding_table["21402"] = [186,241] let s:lib.Codec.encoding_table["20505"] = [186,242] let s:lib.Codec.encoding_table["21518"] = [186,243] let s:lib.Codec.encoding_table["21628"] = [186,244] let s:lib.Codec.encoding_table["20046"] = [186,245] let s:lib.Codec.encoding_table["24573"] = [186,246] let s:lib.Codec.encoding_table["29786"] = [186,247] let s:lib.Codec.encoding_table["22774"] = [186,248] let s:lib.Codec.encoding_table["33899"] = [186,249] let s:lib.Codec.encoding_table["32993"] = [186,250] let s:lib.Codec.encoding_table["34676"] = [186,251] let s:lib.Codec.encoding_table["29392"] = [186,252] let s:lib.Codec.encoding_table["31946"] = [186,253] let s:lib.Codec.encoding_table["28246"] = [186,254] let s:lib.Codec.encoding_table["31811"] = [187,64] let s:lib.Codec.encoding_table["31812"] = [187,65] let s:lib.Codec.encoding_table["31813"] = [187,66] let s:lib.Codec.encoding_table["31814"] = [187,67] let s:lib.Codec.encoding_table["31815"] = [187,68] let s:lib.Codec.encoding_table["31816"] = [187,69] let s:lib.Codec.encoding_table["31817"] = [187,70] let s:lib.Codec.encoding_table["31818"] = [187,71] let s:lib.Codec.encoding_table["31819"] = [187,72] let s:lib.Codec.encoding_table["31820"] = [187,73] let s:lib.Codec.encoding_table["31822"] = [187,74] let s:lib.Codec.encoding_table["31823"] = [187,75] let s:lib.Codec.encoding_table["31824"] = [187,76] let s:lib.Codec.encoding_table["31825"] = [187,77] let s:lib.Codec.encoding_table["31826"] = [187,78] let s:lib.Codec.encoding_table["31827"] = [187,79] let s:lib.Codec.encoding_table["31828"] = [187,80] let s:lib.Codec.encoding_table["31829"] = [187,81] let s:lib.Codec.encoding_table["31830"] = [187,82] let s:lib.Codec.encoding_table["31831"] = [187,83] let s:lib.Codec.encoding_table["31832"] = [187,84] let s:lib.Codec.encoding_table["31833"] = [187,85] let s:lib.Codec.encoding_table["31834"] = [187,86] let s:lib.Codec.encoding_table["31835"] = [187,87] let s:lib.Codec.encoding_table["31836"] = [187,88] let s:lib.Codec.encoding_table["31837"] = [187,89] let s:lib.Codec.encoding_table["31838"] = [187,90] let s:lib.Codec.encoding_table["31839"] = [187,91] let s:lib.Codec.encoding_table["31840"] = [187,92] let s:lib.Codec.encoding_table["31841"] = [187,93] let s:lib.Codec.encoding_table["31842"] = [187,94] let s:lib.Codec.encoding_table["31843"] = [187,95] let s:lib.Codec.encoding_table["31844"] = [187,96] let s:lib.Codec.encoding_table["31845"] = [187,97] let s:lib.Codec.encoding_table["31846"] = [187,98] let s:lib.Codec.encoding_table["31847"] = [187,99] let s:lib.Codec.encoding_table["31848"] = [187,100] let s:lib.Codec.encoding_table["31849"] = [187,101] let s:lib.Codec.encoding_table["31850"] = [187,102] let s:lib.Codec.encoding_table["31851"] = [187,103] let s:lib.Codec.encoding_table["31852"] = [187,104] let s:lib.Codec.encoding_table["31853"] = [187,105] let s:lib.Codec.encoding_table["31854"] = [187,106] let s:lib.Codec.encoding_table["31855"] = [187,107] let s:lib.Codec.encoding_table["31856"] = [187,108] let s:lib.Codec.encoding_table["31857"] = [187,109] let s:lib.Codec.encoding_table["31858"] = [187,110] let s:lib.Codec.encoding_table["31861"] = [187,111] let s:lib.Codec.encoding_table["31862"] = [187,112] let s:lib.Codec.encoding_table["31863"] = [187,113] let s:lib.Codec.encoding_table["31864"] = [187,114] let s:lib.Codec.encoding_table["31865"] = [187,115] let s:lib.Codec.encoding_table["31866"] = [187,116] let s:lib.Codec.encoding_table["31870"] = [187,117] let s:lib.Codec.encoding_table["31871"] = [187,118] let s:lib.Codec.encoding_table["31872"] = [187,119] let s:lib.Codec.encoding_table["31873"] = [187,120] let s:lib.Codec.encoding_table["31874"] = [187,121] let s:lib.Codec.encoding_table["31875"] = [187,122] let s:lib.Codec.encoding_table["31876"] = [187,123] let s:lib.Codec.encoding_table["31877"] = [187,124] let s:lib.Codec.encoding_table["31878"] = [187,125] let s:lib.Codec.encoding_table["31879"] = [187,126] let s:lib.Codec.encoding_table["31880"] = [187,128] let s:lib.Codec.encoding_table["31882"] = [187,129] let s:lib.Codec.encoding_table["31883"] = [187,130] let s:lib.Codec.encoding_table["31884"] = [187,131] let s:lib.Codec.encoding_table["31885"] = [187,132] let s:lib.Codec.encoding_table["31886"] = [187,133] let s:lib.Codec.encoding_table["31887"] = [187,134] let s:lib.Codec.encoding_table["31888"] = [187,135] let s:lib.Codec.encoding_table["31891"] = [187,136] let s:lib.Codec.encoding_table["31892"] = [187,137] let s:lib.Codec.encoding_table["31894"] = [187,138] let s:lib.Codec.encoding_table["31897"] = [187,139] let s:lib.Codec.encoding_table["31898"] = [187,140] let s:lib.Codec.encoding_table["31899"] = [187,141] let s:lib.Codec.encoding_table["31904"] = [187,142] let s:lib.Codec.encoding_table["31905"] = [187,143] let s:lib.Codec.encoding_table["31907"] = [187,144] let s:lib.Codec.encoding_table["31910"] = [187,145] let s:lib.Codec.encoding_table["31911"] = [187,146] let s:lib.Codec.encoding_table["31912"] = [187,147] let s:lib.Codec.encoding_table["31913"] = [187,148] let s:lib.Codec.encoding_table["31915"] = [187,149] let s:lib.Codec.encoding_table["31916"] = [187,150] let s:lib.Codec.encoding_table["31917"] = [187,151] let s:lib.Codec.encoding_table["31919"] = [187,152] let s:lib.Codec.encoding_table["31920"] = [187,153] let s:lib.Codec.encoding_table["31924"] = [187,154] let s:lib.Codec.encoding_table["31925"] = [187,155] let s:lib.Codec.encoding_table["31926"] = [187,156] let s:lib.Codec.encoding_table["31927"] = [187,157] let s:lib.Codec.encoding_table["31928"] = [187,158] let s:lib.Codec.encoding_table["31930"] = [187,159] let s:lib.Codec.encoding_table["31931"] = [187,160] let s:lib.Codec.encoding_table["24359"] = [187,161] let s:lib.Codec.encoding_table["34382"] = [187,162] let s:lib.Codec.encoding_table["21804"] = [187,163] let s:lib.Codec.encoding_table["25252"] = [187,164] let s:lib.Codec.encoding_table["20114"] = [187,165] let s:lib.Codec.encoding_table["27818"] = [187,166] let s:lib.Codec.encoding_table["25143"] = [187,167] let s:lib.Codec.encoding_table["33457"] = [187,168] let s:lib.Codec.encoding_table["21719"] = [187,169] let s:lib.Codec.encoding_table["21326"] = [187,170] let s:lib.Codec.encoding_table["29502"] = [187,171] let s:lib.Codec.encoding_table["28369"] = [187,172] let s:lib.Codec.encoding_table["30011"] = [187,173] let s:lib.Codec.encoding_table["21010"] = [187,174] let s:lib.Codec.encoding_table["21270"] = [187,175] let s:lib.Codec.encoding_table["35805"] = [187,176] let s:lib.Codec.encoding_table["27088"] = [187,177] let s:lib.Codec.encoding_table["24458"] = [187,178] let s:lib.Codec.encoding_table["24576"] = [187,179] let s:lib.Codec.encoding_table["28142"] = [187,180] let s:lib.Codec.encoding_table["22351"] = [187,181] let s:lib.Codec.encoding_table["27426"] = [187,182] let s:lib.Codec.encoding_table["29615"] = [187,183] let s:lib.Codec.encoding_table["26707"] = [187,184] let s:lib.Codec.encoding_table["36824"] = [187,185] let s:lib.Codec.encoding_table["32531"] = [187,186] let s:lib.Codec.encoding_table["25442"] = [187,187] let s:lib.Codec.encoding_table["24739"] = [187,188] let s:lib.Codec.encoding_table["21796"] = [187,189] let s:lib.Codec.encoding_table["30186"] = [187,190] let s:lib.Codec.encoding_table["35938"] = [187,191] let s:lib.Codec.encoding_table["28949"] = [187,192] let s:lib.Codec.encoding_table["28067"] = [187,193] let s:lib.Codec.encoding_table["23462"] = [187,194] let s:lib.Codec.encoding_table["24187"] = [187,195] let s:lib.Codec.encoding_table["33618"] = [187,196] let s:lib.Codec.encoding_table["24908"] = [187,197] let s:lib.Codec.encoding_table["40644"] = [187,198] let s:lib.Codec.encoding_table["30970"] = [187,199] let s:lib.Codec.encoding_table["34647"] = [187,200] let s:lib.Codec.encoding_table["31783"] = [187,201] let s:lib.Codec.encoding_table["30343"] = [187,202] let s:lib.Codec.encoding_table["20976"] = [187,203] let s:lib.Codec.encoding_table["24822"] = [187,204] let s:lib.Codec.encoding_table["29004"] = [187,205] let s:lib.Codec.encoding_table["26179"] = [187,206] let s:lib.Codec.encoding_table["24140"] = [187,207] let s:lib.Codec.encoding_table["24653"] = [187,208] let s:lib.Codec.encoding_table["35854"] = [187,209] let s:lib.Codec.encoding_table["28784"] = [187,210] let s:lib.Codec.encoding_table["25381"] = [187,211] let s:lib.Codec.encoding_table["36745"] = [187,212] let s:lib.Codec.encoding_table["24509"] = [187,213] let s:lib.Codec.encoding_table["24674"] = [187,214] let s:lib.Codec.encoding_table["34516"] = [187,215] let s:lib.Codec.encoding_table["22238"] = [187,216] let s:lib.Codec.encoding_table["27585"] = [187,217] let s:lib.Codec.encoding_table["24724"] = [187,218] let s:lib.Codec.encoding_table["24935"] = [187,219] let s:lib.Codec.encoding_table["21321"] = [187,220] let s:lib.Codec.encoding_table["24800"] = [187,221] let s:lib.Codec.encoding_table["26214"] = [187,222] let s:lib.Codec.encoding_table["36159"] = [187,223] let s:lib.Codec.encoding_table["31229"] = [187,224] let s:lib.Codec.encoding_table["20250"] = [187,225] let s:lib.Codec.encoding_table["28905"] = [187,226] let s:lib.Codec.encoding_table["27719"] = [187,227] let s:lib.Codec.encoding_table["35763"] = [187,228] let s:lib.Codec.encoding_table["35826"] = [187,229] let s:lib.Codec.encoding_table["32472"] = [187,230] let s:lib.Codec.encoding_table["33636"] = [187,231] let s:lib.Codec.encoding_table["26127"] = [187,232] let s:lib.Codec.encoding_table["23130"] = [187,233] let s:lib.Codec.encoding_table["39746"] = [187,234] let s:lib.Codec.encoding_table["27985"] = [187,235] let s:lib.Codec.encoding_table["28151"] = [187,236] let s:lib.Codec.encoding_table["35905"] = [187,237] let s:lib.Codec.encoding_table["27963"] = [187,238] let s:lib.Codec.encoding_table["20249"] = [187,239] let s:lib.Codec.encoding_table["28779"] = [187,240] let s:lib.Codec.encoding_table["33719"] = [187,241] let s:lib.Codec.encoding_table["25110"] = [187,242] let s:lib.Codec.encoding_table["24785"] = [187,243] let s:lib.Codec.encoding_table["38669"] = [187,244] let s:lib.Codec.encoding_table["36135"] = [187,245] let s:lib.Codec.encoding_table["31096"] = [187,246] let s:lib.Codec.encoding_table["20987"] = [187,247] let s:lib.Codec.encoding_table["22334"] = [187,248] let s:lib.Codec.encoding_table["22522"] = [187,249] let s:lib.Codec.encoding_table["26426"] = [187,250] let s:lib.Codec.encoding_table["30072"] = [187,251] let s:lib.Codec.encoding_table["31293"] = [187,252] let s:lib.Codec.encoding_table["31215"] = [187,253] let s:lib.Codec.encoding_table["31637"] = [187,254] let s:lib.Codec.encoding_table["31935"] = [188,64] let s:lib.Codec.encoding_table["31936"] = [188,65] let s:lib.Codec.encoding_table["31938"] = [188,66] let s:lib.Codec.encoding_table["31939"] = [188,67] let s:lib.Codec.encoding_table["31940"] = [188,68] let s:lib.Codec.encoding_table["31942"] = [188,69] let s:lib.Codec.encoding_table["31945"] = [188,70] let s:lib.Codec.encoding_table["31947"] = [188,71] let s:lib.Codec.encoding_table["31950"] = [188,72] let s:lib.Codec.encoding_table["31951"] = [188,73] let s:lib.Codec.encoding_table["31952"] = [188,74] let s:lib.Codec.encoding_table["31953"] = [188,75] let s:lib.Codec.encoding_table["31954"] = [188,76] let s:lib.Codec.encoding_table["31955"] = [188,77] let s:lib.Codec.encoding_table["31956"] = [188,78] let s:lib.Codec.encoding_table["31960"] = [188,79] let s:lib.Codec.encoding_table["31962"] = [188,80] let s:lib.Codec.encoding_table["31963"] = [188,81] let s:lib.Codec.encoding_table["31965"] = [188,82] let s:lib.Codec.encoding_table["31966"] = [188,83] let s:lib.Codec.encoding_table["31969"] = [188,84] let s:lib.Codec.encoding_table["31970"] = [188,85] let s:lib.Codec.encoding_table["31971"] = [188,86] let s:lib.Codec.encoding_table["31972"] = [188,87] let s:lib.Codec.encoding_table["31973"] = [188,88] let s:lib.Codec.encoding_table["31974"] = [188,89] let s:lib.Codec.encoding_table["31975"] = [188,90] let s:lib.Codec.encoding_table["31977"] = [188,91] let s:lib.Codec.encoding_table["31978"] = [188,92] let s:lib.Codec.encoding_table["31979"] = [188,93] let s:lib.Codec.encoding_table["31980"] = [188,94] let s:lib.Codec.encoding_table["31981"] = [188,95] let s:lib.Codec.encoding_table["31982"] = [188,96] let s:lib.Codec.encoding_table["31984"] = [188,97] let s:lib.Codec.encoding_table["31985"] = [188,98] let s:lib.Codec.encoding_table["31986"] = [188,99] let s:lib.Codec.encoding_table["31987"] = [188,100] let s:lib.Codec.encoding_table["31988"] = [188,101] let s:lib.Codec.encoding_table["31989"] = [188,102] let s:lib.Codec.encoding_table["31990"] = [188,103] let s:lib.Codec.encoding_table["31991"] = [188,104] let s:lib.Codec.encoding_table["31993"] = [188,105] let s:lib.Codec.encoding_table["31994"] = [188,106] let s:lib.Codec.encoding_table["31996"] = [188,107] let s:lib.Codec.encoding_table["31997"] = [188,108] let s:lib.Codec.encoding_table["31998"] = [188,109] let s:lib.Codec.encoding_table["31999"] = [188,110] let s:lib.Codec.encoding_table["32000"] = [188,111] let s:lib.Codec.encoding_table["32001"] = [188,112] let s:lib.Codec.encoding_table["32002"] = [188,113] let s:lib.Codec.encoding_table["32003"] = [188,114] let s:lib.Codec.encoding_table["32004"] = [188,115] let s:lib.Codec.encoding_table["32005"] = [188,116] let s:lib.Codec.encoding_table["32006"] = [188,117] let s:lib.Codec.encoding_table["32007"] = [188,118] let s:lib.Codec.encoding_table["32008"] = [188,119] let s:lib.Codec.encoding_table["32009"] = [188,120] let s:lib.Codec.encoding_table["32011"] = [188,121] let s:lib.Codec.encoding_table["32012"] = [188,122] let s:lib.Codec.encoding_table["32013"] = [188,123] let s:lib.Codec.encoding_table["32014"] = [188,124] let s:lib.Codec.encoding_table["32015"] = [188,125] let s:lib.Codec.encoding_table["32016"] = [188,126] let s:lib.Codec.encoding_table["32017"] = [188,128] let s:lib.Codec.encoding_table["32018"] = [188,129] let s:lib.Codec.encoding_table["32019"] = [188,130] let s:lib.Codec.encoding_table["32020"] = [188,131] let s:lib.Codec.encoding_table["32021"] = [188,132] let s:lib.Codec.encoding_table["32022"] = [188,133] let s:lib.Codec.encoding_table["32023"] = [188,134] let s:lib.Codec.encoding_table["32024"] = [188,135] let s:lib.Codec.encoding_table["32025"] = [188,136] let s:lib.Codec.encoding_table["32026"] = [188,137] let s:lib.Codec.encoding_table["32027"] = [188,138] let s:lib.Codec.encoding_table["32028"] = [188,139] let s:lib.Codec.encoding_table["32029"] = [188,140] let s:lib.Codec.encoding_table["32030"] = [188,141] let s:lib.Codec.encoding_table["32031"] = [188,142] let s:lib.Codec.encoding_table["32033"] = [188,143] let s:lib.Codec.encoding_table["32035"] = [188,144] let s:lib.Codec.encoding_table["32036"] = [188,145] let s:lib.Codec.encoding_table["32037"] = [188,146] let s:lib.Codec.encoding_table["32038"] = [188,147] let s:lib.Codec.encoding_table["32040"] = [188,148] let s:lib.Codec.encoding_table["32041"] = [188,149] let s:lib.Codec.encoding_table["32042"] = [188,150] let s:lib.Codec.encoding_table["32044"] = [188,151] let s:lib.Codec.encoding_table["32045"] = [188,152] let s:lib.Codec.encoding_table["32046"] = [188,153] let s:lib.Codec.encoding_table["32048"] = [188,154] let s:lib.Codec.encoding_table["32049"] = [188,155] let s:lib.Codec.encoding_table["32050"] = [188,156] let s:lib.Codec.encoding_table["32051"] = [188,157] let s:lib.Codec.encoding_table["32052"] = [188,158] let s:lib.Codec.encoding_table["32053"] = [188,159] let s:lib.Codec.encoding_table["32054"] = [188,160] let s:lib.Codec.encoding_table["32908"] = [188,161] let s:lib.Codec.encoding_table["39269"] = [188,162] let s:lib.Codec.encoding_table["36857"] = [188,163] let s:lib.Codec.encoding_table["28608"] = [188,164] let s:lib.Codec.encoding_table["35749"] = [188,165] let s:lib.Codec.encoding_table["40481"] = [188,166] let s:lib.Codec.encoding_table["23020"] = [188,167] let s:lib.Codec.encoding_table["32489"] = [188,168] let s:lib.Codec.encoding_table["32521"] = [188,169] let s:lib.Codec.encoding_table["21513"] = [188,170] let s:lib.Codec.encoding_table["26497"] = [188,171] let s:lib.Codec.encoding_table["26840"] = [188,172] let s:lib.Codec.encoding_table["36753"] = [188,173] let s:lib.Codec.encoding_table["31821"] = [188,174] let s:lib.Codec.encoding_table["38598"] = [188,175] let s:lib.Codec.encoding_table["21450"] = [188,176] let s:lib.Codec.encoding_table["24613"] = [188,177] let s:lib.Codec.encoding_table["30142"] = [188,178] let s:lib.Codec.encoding_table["27762"] = [188,179] let s:lib.Codec.encoding_table["21363"] = [188,180] let s:lib.Codec.encoding_table["23241"] = [188,181] let s:lib.Codec.encoding_table["32423"] = [188,182] let s:lib.Codec.encoding_table["25380"] = [188,183] let s:lib.Codec.encoding_table["20960"] = [188,184] let s:lib.Codec.encoding_table["33034"] = [188,185] let s:lib.Codec.encoding_table["24049"] = [188,186] let s:lib.Codec.encoding_table["34015"] = [188,187] let s:lib.Codec.encoding_table["25216"] = [188,188] let s:lib.Codec.encoding_table["20864"] = [188,189] let s:lib.Codec.encoding_table["23395"] = [188,190] let s:lib.Codec.encoding_table["20238"] = [188,191] let s:lib.Codec.encoding_table["31085"] = [188,192] let s:lib.Codec.encoding_table["21058"] = [188,193] let s:lib.Codec.encoding_table["24760"] = [188,194] let s:lib.Codec.encoding_table["27982"] = [188,195] let s:lib.Codec.encoding_table["23492"] = [188,196] let s:lib.Codec.encoding_table["23490"] = [188,197] let s:lib.Codec.encoding_table["35745"] = [188,198] let s:lib.Codec.encoding_table["35760"] = [188,199] let s:lib.Codec.encoding_table["26082"] = [188,200] let s:lib.Codec.encoding_table["24524"] = [188,201] let s:lib.Codec.encoding_table["38469"] = [188,202] let s:lib.Codec.encoding_table["22931"] = [188,203] let s:lib.Codec.encoding_table["32487"] = [188,204] let s:lib.Codec.encoding_table["32426"] = [188,205] let s:lib.Codec.encoding_table["22025"] = [188,206] let s:lib.Codec.encoding_table["26551"] = [188,207] let s:lib.Codec.encoding_table["22841"] = [188,208] let s:lib.Codec.encoding_table["20339"] = [188,209] let s:lib.Codec.encoding_table["23478"] = [188,210] let s:lib.Codec.encoding_table["21152"] = [188,211] let s:lib.Codec.encoding_table["33626"] = [188,212] let s:lib.Codec.encoding_table["39050"] = [188,213] let s:lib.Codec.encoding_table["36158"] = [188,214] let s:lib.Codec.encoding_table["30002"] = [188,215] let s:lib.Codec.encoding_table["38078"] = [188,216] let s:lib.Codec.encoding_table["20551"] = [188,217] let s:lib.Codec.encoding_table["31292"] = [188,218] let s:lib.Codec.encoding_table["20215"] = [188,219] let s:lib.Codec.encoding_table["26550"] = [188,220] let s:lib.Codec.encoding_table["39550"] = [188,221] let s:lib.Codec.encoding_table["23233"] = [188,222] let s:lib.Codec.encoding_table["27516"] = [188,223] let s:lib.Codec.encoding_table["30417"] = [188,224] let s:lib.Codec.encoding_table["22362"] = [188,225] let s:lib.Codec.encoding_table["23574"] = [188,226] let s:lib.Codec.encoding_table["31546"] = [188,227] let s:lib.Codec.encoding_table["38388"] = [188,228] let s:lib.Codec.encoding_table["29006"] = [188,229] let s:lib.Codec.encoding_table["20860"] = [188,230] let s:lib.Codec.encoding_table["32937"] = [188,231] let s:lib.Codec.encoding_table["33392"] = [188,232] let s:lib.Codec.encoding_table["22904"] = [188,233] let s:lib.Codec.encoding_table["32516"] = [188,234] let s:lib.Codec.encoding_table["33575"] = [188,235] let s:lib.Codec.encoding_table["26816"] = [188,236] let s:lib.Codec.encoding_table["26604"] = [188,237] let s:lib.Codec.encoding_table["30897"] = [188,238] let s:lib.Codec.encoding_table["30839"] = [188,239] let s:lib.Codec.encoding_table["25315"] = [188,240] let s:lib.Codec.encoding_table["25441"] = [188,241] let s:lib.Codec.encoding_table["31616"] = [188,242] let s:lib.Codec.encoding_table["20461"] = [188,243] let s:lib.Codec.encoding_table["21098"] = [188,244] let s:lib.Codec.encoding_table["20943"] = [188,245] let s:lib.Codec.encoding_table["33616"] = [188,246] let s:lib.Codec.encoding_table["27099"] = [188,247] let s:lib.Codec.encoding_table["37492"] = [188,248] let s:lib.Codec.encoding_table["36341"] = [188,249] let s:lib.Codec.encoding_table["36145"] = [188,250] let s:lib.Codec.encoding_table["35265"] = [188,251] let s:lib.Codec.encoding_table["38190"] = [188,252] let s:lib.Codec.encoding_table["31661"] = [188,253] let s:lib.Codec.encoding_table["20214"] = [188,254] let s:lib.Codec.encoding_table["32055"] = [189,64] let s:lib.Codec.encoding_table["32056"] = [189,65] let s:lib.Codec.encoding_table["32057"] = [189,66] let s:lib.Codec.encoding_table["32058"] = [189,67] let s:lib.Codec.encoding_table["32059"] = [189,68] let s:lib.Codec.encoding_table["32060"] = [189,69] let s:lib.Codec.encoding_table["32061"] = [189,70] let s:lib.Codec.encoding_table["32062"] = [189,71] let s:lib.Codec.encoding_table["32063"] = [189,72] let s:lib.Codec.encoding_table["32064"] = [189,73] let s:lib.Codec.encoding_table["32065"] = [189,74] let s:lib.Codec.encoding_table["32066"] = [189,75] let s:lib.Codec.encoding_table["32067"] = [189,76] let s:lib.Codec.encoding_table["32068"] = [189,77] let s:lib.Codec.encoding_table["32069"] = [189,78] let s:lib.Codec.encoding_table["32070"] = [189,79] let s:lib.Codec.encoding_table["32071"] = [189,80] let s:lib.Codec.encoding_table["32072"] = [189,81] let s:lib.Codec.encoding_table["32073"] = [189,82] let s:lib.Codec.encoding_table["32074"] = [189,83] let s:lib.Codec.encoding_table["32075"] = [189,84] let s:lib.Codec.encoding_table["32076"] = [189,85] let s:lib.Codec.encoding_table["32077"] = [189,86] let s:lib.Codec.encoding_table["32078"] = [189,87] let s:lib.Codec.encoding_table["32079"] = [189,88] let s:lib.Codec.encoding_table["32080"] = [189,89] let s:lib.Codec.encoding_table["32081"] = [189,90] let s:lib.Codec.encoding_table["32082"] = [189,91] let s:lib.Codec.encoding_table["32083"] = [189,92] let s:lib.Codec.encoding_table["32084"] = [189,93] let s:lib.Codec.encoding_table["32085"] = [189,94] let s:lib.Codec.encoding_table["32086"] = [189,95] let s:lib.Codec.encoding_table["32087"] = [189,96] let s:lib.Codec.encoding_table["32088"] = [189,97] let s:lib.Codec.encoding_table["32089"] = [189,98] let s:lib.Codec.encoding_table["32090"] = [189,99] let s:lib.Codec.encoding_table["32091"] = [189,100] let s:lib.Codec.encoding_table["32092"] = [189,101] let s:lib.Codec.encoding_table["32093"] = [189,102] let s:lib.Codec.encoding_table["32094"] = [189,103] let s:lib.Codec.encoding_table["32095"] = [189,104] let s:lib.Codec.encoding_table["32096"] = [189,105] let s:lib.Codec.encoding_table["32097"] = [189,106] let s:lib.Codec.encoding_table["32098"] = [189,107] let s:lib.Codec.encoding_table["32099"] = [189,108] let s:lib.Codec.encoding_table["32100"] = [189,109] let s:lib.Codec.encoding_table["32101"] = [189,110] let s:lib.Codec.encoding_table["32102"] = [189,111] let s:lib.Codec.encoding_table["32103"] = [189,112] let s:lib.Codec.encoding_table["32104"] = [189,113] let s:lib.Codec.encoding_table["32105"] = [189,114] let s:lib.Codec.encoding_table["32106"] = [189,115] let s:lib.Codec.encoding_table["32107"] = [189,116] let s:lib.Codec.encoding_table["32108"] = [189,117] let s:lib.Codec.encoding_table["32109"] = [189,118] let s:lib.Codec.encoding_table["32111"] = [189,119] let s:lib.Codec.encoding_table["32112"] = [189,120] let s:lib.Codec.encoding_table["32113"] = [189,121] let s:lib.Codec.encoding_table["32114"] = [189,122] let s:lib.Codec.encoding_table["32115"] = [189,123] let s:lib.Codec.encoding_table["32116"] = [189,124] let s:lib.Codec.encoding_table["32117"] = [189,125] let s:lib.Codec.encoding_table["32118"] = [189,126] let s:lib.Codec.encoding_table["32120"] = [189,128] let s:lib.Codec.encoding_table["32121"] = [189,129] let s:lib.Codec.encoding_table["32122"] = [189,130] let s:lib.Codec.encoding_table["32123"] = [189,131] let s:lib.Codec.encoding_table["32124"] = [189,132] let s:lib.Codec.encoding_table["32125"] = [189,133] let s:lib.Codec.encoding_table["32126"] = [189,134] let s:lib.Codec.encoding_table["32127"] = [189,135] let s:lib.Codec.encoding_table["32128"] = [189,136] let s:lib.Codec.encoding_table["32129"] = [189,137] let s:lib.Codec.encoding_table["32130"] = [189,138] let s:lib.Codec.encoding_table["32131"] = [189,139] let s:lib.Codec.encoding_table["32132"] = [189,140] let s:lib.Codec.encoding_table["32133"] = [189,141] let s:lib.Codec.encoding_table["32134"] = [189,142] let s:lib.Codec.encoding_table["32135"] = [189,143] let s:lib.Codec.encoding_table["32136"] = [189,144] let s:lib.Codec.encoding_table["32137"] = [189,145] let s:lib.Codec.encoding_table["32138"] = [189,146] let s:lib.Codec.encoding_table["32139"] = [189,147] let s:lib.Codec.encoding_table["32140"] = [189,148] let s:lib.Codec.encoding_table["32141"] = [189,149] let s:lib.Codec.encoding_table["32142"] = [189,150] let s:lib.Codec.encoding_table["32143"] = [189,151] let s:lib.Codec.encoding_table["32144"] = [189,152] let s:lib.Codec.encoding_table["32145"] = [189,153] let s:lib.Codec.encoding_table["32146"] = [189,154] let s:lib.Codec.encoding_table["32147"] = [189,155] let s:lib.Codec.encoding_table["32148"] = [189,156] let s:lib.Codec.encoding_table["32149"] = [189,157] let s:lib.Codec.encoding_table["32150"] = [189,158] let s:lib.Codec.encoding_table["32151"] = [189,159] let s:lib.Codec.encoding_table["32152"] = [189,160] let s:lib.Codec.encoding_table["20581"] = [189,161] let s:lib.Codec.encoding_table["33328"] = [189,162] let s:lib.Codec.encoding_table["21073"] = [189,163] let s:lib.Codec.encoding_table["39279"] = [189,164] let s:lib.Codec.encoding_table["28176"] = [189,165] let s:lib.Codec.encoding_table["28293"] = [189,166] let s:lib.Codec.encoding_table["28071"] = [189,167] let s:lib.Codec.encoding_table["24314"] = [189,168] let s:lib.Codec.encoding_table["20725"] = [189,169] let s:lib.Codec.encoding_table["23004"] = [189,170] let s:lib.Codec.encoding_table["23558"] = [189,171] let s:lib.Codec.encoding_table["27974"] = [189,172] let s:lib.Codec.encoding_table["27743"] = [189,173] let s:lib.Codec.encoding_table["30086"] = [189,174] let s:lib.Codec.encoding_table["33931"] = [189,175] let s:lib.Codec.encoding_table["26728"] = [189,176] let s:lib.Codec.encoding_table["22870"] = [189,177] let s:lib.Codec.encoding_table["35762"] = [189,178] let s:lib.Codec.encoding_table["21280"] = [189,179] let s:lib.Codec.encoding_table["37233"] = [189,180] let s:lib.Codec.encoding_table["38477"] = [189,181] let s:lib.Codec.encoding_table["34121"] = [189,182] let s:lib.Codec.encoding_table["26898"] = [189,183] let s:lib.Codec.encoding_table["30977"] = [189,184] let s:lib.Codec.encoding_table["28966"] = [189,185] let s:lib.Codec.encoding_table["33014"] = [189,186] let s:lib.Codec.encoding_table["20132"] = [189,187] let s:lib.Codec.encoding_table["37066"] = [189,188] let s:lib.Codec.encoding_table["27975"] = [189,189] let s:lib.Codec.encoding_table["39556"] = [189,190] let s:lib.Codec.encoding_table["23047"] = [189,191] let s:lib.Codec.encoding_table["22204"] = [189,192] let s:lib.Codec.encoding_table["25605"] = [189,193] let s:lib.Codec.encoding_table["38128"] = [189,194] let s:lib.Codec.encoding_table["30699"] = [189,195] let s:lib.Codec.encoding_table["20389"] = [189,196] let s:lib.Codec.encoding_table["33050"] = [189,197] let s:lib.Codec.encoding_table["29409"] = [189,198] let s:lib.Codec.encoding_table["35282"] = [189,199] let s:lib.Codec.encoding_table["39290"] = [189,200] let s:lib.Codec.encoding_table["32564"] = [189,201] let s:lib.Codec.encoding_table["32478"] = [189,202] let s:lib.Codec.encoding_table["21119"] = [189,203] let s:lib.Codec.encoding_table["25945"] = [189,204] let s:lib.Codec.encoding_table["37237"] = [189,205] let s:lib.Codec.encoding_table["36735"] = [189,206] let s:lib.Codec.encoding_table["36739"] = [189,207] let s:lib.Codec.encoding_table["21483"] = [189,208] let s:lib.Codec.encoding_table["31382"] = [189,209] let s:lib.Codec.encoding_table["25581"] = [189,210] let s:lib.Codec.encoding_table["25509"] = [189,211] let s:lib.Codec.encoding_table["30342"] = [189,212] let s:lib.Codec.encoding_table["31224"] = [189,213] let s:lib.Codec.encoding_table["34903"] = [189,214] let s:lib.Codec.encoding_table["38454"] = [189,215] let s:lib.Codec.encoding_table["25130"] = [189,216] let s:lib.Codec.encoding_table["21163"] = [189,217] let s:lib.Codec.encoding_table["33410"] = [189,218] let s:lib.Codec.encoding_table["26708"] = [189,219] let s:lib.Codec.encoding_table["26480"] = [189,220] let s:lib.Codec.encoding_table["25463"] = [189,221] let s:lib.Codec.encoding_table["30571"] = [189,222] let s:lib.Codec.encoding_table["31469"] = [189,223] let s:lib.Codec.encoding_table["27905"] = [189,224] let s:lib.Codec.encoding_table["32467"] = [189,225] let s:lib.Codec.encoding_table["35299"] = [189,226] let s:lib.Codec.encoding_table["22992"] = [189,227] let s:lib.Codec.encoding_table["25106"] = [189,228] let s:lib.Codec.encoding_table["34249"] = [189,229] let s:lib.Codec.encoding_table["33445"] = [189,230] let s:lib.Codec.encoding_table["30028"] = [189,231] let s:lib.Codec.encoding_table["20511"] = [189,232] let s:lib.Codec.encoding_table["20171"] = [189,233] let s:lib.Codec.encoding_table["30117"] = [189,234] let s:lib.Codec.encoding_table["35819"] = [189,235] let s:lib.Codec.encoding_table["23626"] = [189,236] let s:lib.Codec.encoding_table["24062"] = [189,237] let s:lib.Codec.encoding_table["31563"] = [189,238] let s:lib.Codec.encoding_table["26020"] = [189,239] let s:lib.Codec.encoding_table["37329"] = [189,240] let s:lib.Codec.encoding_table["20170"] = [189,241] let s:lib.Codec.encoding_table["27941"] = [189,242] let s:lib.Codec.encoding_table["35167"] = [189,243] let s:lib.Codec.encoding_table["32039"] = [189,244] let s:lib.Codec.encoding_table["38182"] = [189,245] let s:lib.Codec.encoding_table["20165"] = [189,246] let s:lib.Codec.encoding_table["35880"] = [189,247] let s:lib.Codec.encoding_table["36827"] = [189,248] let s:lib.Codec.encoding_table["38771"] = [189,249] let s:lib.Codec.encoding_table["26187"] = [189,250] let s:lib.Codec.encoding_table["31105"] = [189,251] let s:lib.Codec.encoding_table["36817"] = [189,252] let s:lib.Codec.encoding_table["28908"] = [189,253] let s:lib.Codec.encoding_table["28024"] = [189,254] let s:lib.Codec.encoding_table["32153"] = [190,64] let s:lib.Codec.encoding_table["32154"] = [190,65] let s:lib.Codec.encoding_table["32155"] = [190,66] let s:lib.Codec.encoding_table["32156"] = [190,67] let s:lib.Codec.encoding_table["32157"] = [190,68] let s:lib.Codec.encoding_table["32158"] = [190,69] let s:lib.Codec.encoding_table["32159"] = [190,70] let s:lib.Codec.encoding_table["32160"] = [190,71] let s:lib.Codec.encoding_table["32161"] = [190,72] let s:lib.Codec.encoding_table["32162"] = [190,73] let s:lib.Codec.encoding_table["32163"] = [190,74] let s:lib.Codec.encoding_table["32164"] = [190,75] let s:lib.Codec.encoding_table["32165"] = [190,76] let s:lib.Codec.encoding_table["32167"] = [190,77] let s:lib.Codec.encoding_table["32168"] = [190,78] let s:lib.Codec.encoding_table["32169"] = [190,79] let s:lib.Codec.encoding_table["32170"] = [190,80] let s:lib.Codec.encoding_table["32171"] = [190,81] let s:lib.Codec.encoding_table["32172"] = [190,82] let s:lib.Codec.encoding_table["32173"] = [190,83] let s:lib.Codec.encoding_table["32175"] = [190,84] let s:lib.Codec.encoding_table["32176"] = [190,85] let s:lib.Codec.encoding_table["32177"] = [190,86] let s:lib.Codec.encoding_table["32178"] = [190,87] let s:lib.Codec.encoding_table["32179"] = [190,88] let s:lib.Codec.encoding_table["32180"] = [190,89] let s:lib.Codec.encoding_table["32181"] = [190,90] let s:lib.Codec.encoding_table["32182"] = [190,91] let s:lib.Codec.encoding_table["32183"] = [190,92] let s:lib.Codec.encoding_table["32184"] = [190,93] let s:lib.Codec.encoding_table["32185"] = [190,94] let s:lib.Codec.encoding_table["32186"] = [190,95] let s:lib.Codec.encoding_table["32187"] = [190,96] let s:lib.Codec.encoding_table["32188"] = [190,97] let s:lib.Codec.encoding_table["32189"] = [190,98] let s:lib.Codec.encoding_table["32190"] = [190,99] let s:lib.Codec.encoding_table["32191"] = [190,100] let s:lib.Codec.encoding_table["32192"] = [190,101] let s:lib.Codec.encoding_table["32193"] = [190,102] let s:lib.Codec.encoding_table["32194"] = [190,103] let s:lib.Codec.encoding_table["32195"] = [190,104] let s:lib.Codec.encoding_table["32196"] = [190,105] let s:lib.Codec.encoding_table["32197"] = [190,106] let s:lib.Codec.encoding_table["32198"] = [190,107] let s:lib.Codec.encoding_table["32199"] = [190,108] let s:lib.Codec.encoding_table["32200"] = [190,109] let s:lib.Codec.encoding_table["32201"] = [190,110] let s:lib.Codec.encoding_table["32202"] = [190,111] let s:lib.Codec.encoding_table["32203"] = [190,112] let s:lib.Codec.encoding_table["32204"] = [190,113] let s:lib.Codec.encoding_table["32205"] = [190,114] let s:lib.Codec.encoding_table["32206"] = [190,115] let s:lib.Codec.encoding_table["32207"] = [190,116] let s:lib.Codec.encoding_table["32208"] = [190,117] let s:lib.Codec.encoding_table["32209"] = [190,118] let s:lib.Codec.encoding_table["32210"] = [190,119] let s:lib.Codec.encoding_table["32211"] = [190,120] let s:lib.Codec.encoding_table["32212"] = [190,121] let s:lib.Codec.encoding_table["32213"] = [190,122] let s:lib.Codec.encoding_table["32214"] = [190,123] let s:lib.Codec.encoding_table["32215"] = [190,124] let s:lib.Codec.encoding_table["32216"] = [190,125] let s:lib.Codec.encoding_table["32217"] = [190,126] let s:lib.Codec.encoding_table["32218"] = [190,128] let s:lib.Codec.encoding_table["32219"] = [190,129] let s:lib.Codec.encoding_table["32220"] = [190,130] let s:lib.Codec.encoding_table["32221"] = [190,131] let s:lib.Codec.encoding_table["32222"] = [190,132] let s:lib.Codec.encoding_table["32223"] = [190,133] let s:lib.Codec.encoding_table["32224"] = [190,134] let s:lib.Codec.encoding_table["32225"] = [190,135] let s:lib.Codec.encoding_table["32226"] = [190,136] let s:lib.Codec.encoding_table["32227"] = [190,137] let s:lib.Codec.encoding_table["32228"] = [190,138] let s:lib.Codec.encoding_table["32229"] = [190,139] let s:lib.Codec.encoding_table["32230"] = [190,140] let s:lib.Codec.encoding_table["32231"] = [190,141] let s:lib.Codec.encoding_table["32232"] = [190,142] let s:lib.Codec.encoding_table["32233"] = [190,143] let s:lib.Codec.encoding_table["32234"] = [190,144] let s:lib.Codec.encoding_table["32235"] = [190,145] let s:lib.Codec.encoding_table["32236"] = [190,146] let s:lib.Codec.encoding_table["32237"] = [190,147] let s:lib.Codec.encoding_table["32238"] = [190,148] let s:lib.Codec.encoding_table["32239"] = [190,149] let s:lib.Codec.encoding_table["32240"] = [190,150] let s:lib.Codec.encoding_table["32241"] = [190,151] let s:lib.Codec.encoding_table["32242"] = [190,152] let s:lib.Codec.encoding_table["32243"] = [190,153] let s:lib.Codec.encoding_table["32244"] = [190,154] let s:lib.Codec.encoding_table["32245"] = [190,155] let s:lib.Codec.encoding_table["32246"] = [190,156] let s:lib.Codec.encoding_table["32247"] = [190,157] let s:lib.Codec.encoding_table["32248"] = [190,158] let s:lib.Codec.encoding_table["32249"] = [190,159] let s:lib.Codec.encoding_table["32250"] = [190,160] let s:lib.Codec.encoding_table["23613"] = [190,161] let s:lib.Codec.encoding_table["21170"] = [190,162] let s:lib.Codec.encoding_table["33606"] = [190,163] let s:lib.Codec.encoding_table["20834"] = [190,164] let s:lib.Codec.encoding_table["33550"] = [190,165] let s:lib.Codec.encoding_table["30555"] = [190,166] let s:lib.Codec.encoding_table["26230"] = [190,167] let s:lib.Codec.encoding_table["40120"] = [190,168] let s:lib.Codec.encoding_table["20140"] = [190,169] let s:lib.Codec.encoding_table["24778"] = [190,170] let s:lib.Codec.encoding_table["31934"] = [190,171] let s:lib.Codec.encoding_table["31923"] = [190,172] let s:lib.Codec.encoding_table["32463"] = [190,173] let s:lib.Codec.encoding_table["20117"] = [190,174] let s:lib.Codec.encoding_table["35686"] = [190,175] let s:lib.Codec.encoding_table["26223"] = [190,176] let s:lib.Codec.encoding_table["39048"] = [190,177] let s:lib.Codec.encoding_table["38745"] = [190,178] let s:lib.Codec.encoding_table["22659"] = [190,179] let s:lib.Codec.encoding_table["25964"] = [190,180] let s:lib.Codec.encoding_table["38236"] = [190,181] let s:lib.Codec.encoding_table["24452"] = [190,182] let s:lib.Codec.encoding_table["30153"] = [190,183] let s:lib.Codec.encoding_table["38742"] = [190,184] let s:lib.Codec.encoding_table["31455"] = [190,185] let s:lib.Codec.encoding_table["31454"] = [190,186] let s:lib.Codec.encoding_table["20928"] = [190,187] let s:lib.Codec.encoding_table["28847"] = [190,188] let s:lib.Codec.encoding_table["31384"] = [190,189] let s:lib.Codec.encoding_table["25578"] = [190,190] let s:lib.Codec.encoding_table["31350"] = [190,191] let s:lib.Codec.encoding_table["32416"] = [190,192] let s:lib.Codec.encoding_table["29590"] = [190,193] let s:lib.Codec.encoding_table["38893"] = [190,194] let s:lib.Codec.encoding_table["20037"] = [190,195] let s:lib.Codec.encoding_table["28792"] = [190,196] let s:lib.Codec.encoding_table["20061"] = [190,197] let s:lib.Codec.encoding_table["37202"] = [190,198] let s:lib.Codec.encoding_table["21417"] = [190,199] let s:lib.Codec.encoding_table["25937"] = [190,200] let s:lib.Codec.encoding_table["26087"] = [190,201] let s:lib.Codec.encoding_table["33276"] = [190,202] let s:lib.Codec.encoding_table["33285"] = [190,203] let s:lib.Codec.encoding_table["21646"] = [190,204] let s:lib.Codec.encoding_table["23601"] = [190,205] let s:lib.Codec.encoding_table["30106"] = [190,206] let s:lib.Codec.encoding_table["38816"] = [190,207] let s:lib.Codec.encoding_table["25304"] = [190,208] let s:lib.Codec.encoding_table["29401"] = [190,209] let s:lib.Codec.encoding_table["30141"] = [190,210] let s:lib.Codec.encoding_table["23621"] = [190,211] let s:lib.Codec.encoding_table["39545"] = [190,212] let s:lib.Codec.encoding_table["33738"] = [190,213] let s:lib.Codec.encoding_table["23616"] = [190,214] let s:lib.Codec.encoding_table["21632"] = [190,215] let s:lib.Codec.encoding_table["30697"] = [190,216] let s:lib.Codec.encoding_table["20030"] = [190,217] let s:lib.Codec.encoding_table["27822"] = [190,218] let s:lib.Codec.encoding_table["32858"] = [190,219] let s:lib.Codec.encoding_table["25298"] = [190,220] let s:lib.Codec.encoding_table["25454"] = [190,221] let s:lib.Codec.encoding_table["24040"] = [190,222] let s:lib.Codec.encoding_table["20855"] = [190,223] let s:lib.Codec.encoding_table["36317"] = [190,224] let s:lib.Codec.encoding_table["36382"] = [190,225] let s:lib.Codec.encoding_table["38191"] = [190,226] let s:lib.Codec.encoding_table["20465"] = [190,227] let s:lib.Codec.encoding_table["21477"] = [190,228] let s:lib.Codec.encoding_table["24807"] = [190,229] let s:lib.Codec.encoding_table["28844"] = [190,230] let s:lib.Codec.encoding_table["21095"] = [190,231] let s:lib.Codec.encoding_table["25424"] = [190,232] let s:lib.Codec.encoding_table["40515"] = [190,233] let s:lib.Codec.encoding_table["23071"] = [190,234] let s:lib.Codec.encoding_table["20518"] = [190,235] let s:lib.Codec.encoding_table["30519"] = [190,236] let s:lib.Codec.encoding_table["21367"] = [190,237] let s:lib.Codec.encoding_table["32482"] = [190,238] let s:lib.Codec.encoding_table["25733"] = [190,239] let s:lib.Codec.encoding_table["25899"] = [190,240] let s:lib.Codec.encoding_table["25225"] = [190,241] let s:lib.Codec.encoding_table["25496"] = [190,242] let s:lib.Codec.encoding_table["20500"] = [190,243] let s:lib.Codec.encoding_table["29237"] = [190,244] let s:lib.Codec.encoding_table["35273"] = [190,245] let s:lib.Codec.encoding_table["20915"] = [190,246] let s:lib.Codec.encoding_table["35776"] = [190,247] let s:lib.Codec.encoding_table["32477"] = [190,248] let s:lib.Codec.encoding_table["22343"] = [190,249] let s:lib.Codec.encoding_table["33740"] = [190,250] let s:lib.Codec.encoding_table["38055"] = [190,251] let s:lib.Codec.encoding_table["20891"] = [190,252] let s:lib.Codec.encoding_table["21531"] = [190,253] let s:lib.Codec.encoding_table["23803"] = [190,254] let s:lib.Codec.encoding_table["32251"] = [191,64] let s:lib.Codec.encoding_table["32252"] = [191,65] let s:lib.Codec.encoding_table["32253"] = [191,66] let s:lib.Codec.encoding_table["32254"] = [191,67] let s:lib.Codec.encoding_table["32255"] = [191,68] let s:lib.Codec.encoding_table["32256"] = [191,69] let s:lib.Codec.encoding_table["32257"] = [191,70] let s:lib.Codec.encoding_table["32258"] = [191,71] let s:lib.Codec.encoding_table["32259"] = [191,72] let s:lib.Codec.encoding_table["32260"] = [191,73] let s:lib.Codec.encoding_table["32261"] = [191,74] let s:lib.Codec.encoding_table["32262"] = [191,75] let s:lib.Codec.encoding_table["32263"] = [191,76] let s:lib.Codec.encoding_table["32264"] = [191,77] let s:lib.Codec.encoding_table["32265"] = [191,78] let s:lib.Codec.encoding_table["32266"] = [191,79] let s:lib.Codec.encoding_table["32267"] = [191,80] let s:lib.Codec.encoding_table["32268"] = [191,81] let s:lib.Codec.encoding_table["32269"] = [191,82] let s:lib.Codec.encoding_table["32270"] = [191,83] let s:lib.Codec.encoding_table["32271"] = [191,84] let s:lib.Codec.encoding_table["32272"] = [191,85] let s:lib.Codec.encoding_table["32273"] = [191,86] let s:lib.Codec.encoding_table["32274"] = [191,87] let s:lib.Codec.encoding_table["32275"] = [191,88] let s:lib.Codec.encoding_table["32276"] = [191,89] let s:lib.Codec.encoding_table["32277"] = [191,90] let s:lib.Codec.encoding_table["32278"] = [191,91] let s:lib.Codec.encoding_table["32279"] = [191,92] let s:lib.Codec.encoding_table["32280"] = [191,93] let s:lib.Codec.encoding_table["32281"] = [191,94] let s:lib.Codec.encoding_table["32282"] = [191,95] let s:lib.Codec.encoding_table["32283"] = [191,96] let s:lib.Codec.encoding_table["32284"] = [191,97] let s:lib.Codec.encoding_table["32285"] = [191,98] let s:lib.Codec.encoding_table["32286"] = [191,99] let s:lib.Codec.encoding_table["32287"] = [191,100] let s:lib.Codec.encoding_table["32288"] = [191,101] let s:lib.Codec.encoding_table["32289"] = [191,102] let s:lib.Codec.encoding_table["32290"] = [191,103] let s:lib.Codec.encoding_table["32291"] = [191,104] let s:lib.Codec.encoding_table["32292"] = [191,105] let s:lib.Codec.encoding_table["32293"] = [191,106] let s:lib.Codec.encoding_table["32294"] = [191,107] let s:lib.Codec.encoding_table["32295"] = [191,108] let s:lib.Codec.encoding_table["32296"] = [191,109] let s:lib.Codec.encoding_table["32297"] = [191,110] let s:lib.Codec.encoding_table["32298"] = [191,111] let s:lib.Codec.encoding_table["32299"] = [191,112] let s:lib.Codec.encoding_table["32300"] = [191,113] let s:lib.Codec.encoding_table["32301"] = [191,114] let s:lib.Codec.encoding_table["32302"] = [191,115] let s:lib.Codec.encoding_table["32303"] = [191,116] let s:lib.Codec.encoding_table["32304"] = [191,117] let s:lib.Codec.encoding_table["32305"] = [191,118] let s:lib.Codec.encoding_table["32306"] = [191,119] let s:lib.Codec.encoding_table["32307"] = [191,120] let s:lib.Codec.encoding_table["32308"] = [191,121] let s:lib.Codec.encoding_table["32309"] = [191,122] let s:lib.Codec.encoding_table["32310"] = [191,123] let s:lib.Codec.encoding_table["32311"] = [191,124] let s:lib.Codec.encoding_table["32312"] = [191,125] let s:lib.Codec.encoding_table["32313"] = [191,126] let s:lib.Codec.encoding_table["32314"] = [191,128] let s:lib.Codec.encoding_table["32316"] = [191,129] let s:lib.Codec.encoding_table["32317"] = [191,130] let s:lib.Codec.encoding_table["32318"] = [191,131] let s:lib.Codec.encoding_table["32319"] = [191,132] let s:lib.Codec.encoding_table["32320"] = [191,133] let s:lib.Codec.encoding_table["32322"] = [191,134] let s:lib.Codec.encoding_table["32323"] = [191,135] let s:lib.Codec.encoding_table["32324"] = [191,136] let s:lib.Codec.encoding_table["32325"] = [191,137] let s:lib.Codec.encoding_table["32326"] = [191,138] let s:lib.Codec.encoding_table["32328"] = [191,139] let s:lib.Codec.encoding_table["32329"] = [191,140] let s:lib.Codec.encoding_table["32330"] = [191,141] let s:lib.Codec.encoding_table["32331"] = [191,142] let s:lib.Codec.encoding_table["32332"] = [191,143] let s:lib.Codec.encoding_table["32333"] = [191,144] let s:lib.Codec.encoding_table["32334"] = [191,145] let s:lib.Codec.encoding_table["32335"] = [191,146] let s:lib.Codec.encoding_table["32336"] = [191,147] let s:lib.Codec.encoding_table["32337"] = [191,148] let s:lib.Codec.encoding_table["32338"] = [191,149] let s:lib.Codec.encoding_table["32339"] = [191,150] let s:lib.Codec.encoding_table["32340"] = [191,151] let s:lib.Codec.encoding_table["32341"] = [191,152] let s:lib.Codec.encoding_table["32342"] = [191,153] let s:lib.Codec.encoding_table["32343"] = [191,154] let s:lib.Codec.encoding_table["32344"] = [191,155] let s:lib.Codec.encoding_table["32345"] = [191,156] let s:lib.Codec.encoding_table["32346"] = [191,157] let s:lib.Codec.encoding_table["32347"] = [191,158] let s:lib.Codec.encoding_table["32348"] = [191,159] let s:lib.Codec.encoding_table["32349"] = [191,160] let s:lib.Codec.encoding_table["20426"] = [191,161] let s:lib.Codec.encoding_table["31459"] = [191,162] let s:lib.Codec.encoding_table["27994"] = [191,163] let s:lib.Codec.encoding_table["37089"] = [191,164] let s:lib.Codec.encoding_table["39567"] = [191,165] let s:lib.Codec.encoding_table["21888"] = [191,166] let s:lib.Codec.encoding_table["21654"] = [191,167] let s:lib.Codec.encoding_table["21345"] = [191,168] let s:lib.Codec.encoding_table["21679"] = [191,169] let s:lib.Codec.encoding_table["24320"] = [191,170] let s:lib.Codec.encoding_table["25577"] = [191,171] let s:lib.Codec.encoding_table["26999"] = [191,172] let s:lib.Codec.encoding_table["20975"] = [191,173] let s:lib.Codec.encoding_table["24936"] = [191,174] let s:lib.Codec.encoding_table["21002"] = [191,175] let s:lib.Codec.encoding_table["22570"] = [191,176] let s:lib.Codec.encoding_table["21208"] = [191,177] let s:lib.Codec.encoding_table["22350"] = [191,178] let s:lib.Codec.encoding_table["30733"] = [191,179] let s:lib.Codec.encoding_table["30475"] = [191,180] let s:lib.Codec.encoding_table["24247"] = [191,181] let s:lib.Codec.encoding_table["24951"] = [191,182] let s:lib.Codec.encoding_table["31968"] = [191,183] let s:lib.Codec.encoding_table["25179"] = [191,184] let s:lib.Codec.encoding_table["25239"] = [191,185] let s:lib.Codec.encoding_table["20130"] = [191,186] let s:lib.Codec.encoding_table["28821"] = [191,187] let s:lib.Codec.encoding_table["32771"] = [191,188] let s:lib.Codec.encoding_table["25335"] = [191,189] let s:lib.Codec.encoding_table["28900"] = [191,190] let s:lib.Codec.encoding_table["38752"] = [191,191] let s:lib.Codec.encoding_table["22391"] = [191,192] let s:lib.Codec.encoding_table["33499"] = [191,193] let s:lib.Codec.encoding_table["26607"] = [191,194] let s:lib.Codec.encoding_table["26869"] = [191,195] let s:lib.Codec.encoding_table["30933"] = [191,196] let s:lib.Codec.encoding_table["39063"] = [191,197] let s:lib.Codec.encoding_table["31185"] = [191,198] let s:lib.Codec.encoding_table["22771"] = [191,199] let s:lib.Codec.encoding_table["21683"] = [191,200] let s:lib.Codec.encoding_table["21487"] = [191,201] let s:lib.Codec.encoding_table["28212"] = [191,202] let s:lib.Codec.encoding_table["20811"] = [191,203] let s:lib.Codec.encoding_table["21051"] = [191,204] let s:lib.Codec.encoding_table["23458"] = [191,205] let s:lib.Codec.encoding_table["35838"] = [191,206] let s:lib.Codec.encoding_table["32943"] = [191,207] let s:lib.Codec.encoding_table["21827"] = [191,208] let s:lib.Codec.encoding_table["22438"] = [191,209] let s:lib.Codec.encoding_table["24691"] = [191,210] let s:lib.Codec.encoding_table["22353"] = [191,211] let s:lib.Codec.encoding_table["21549"] = [191,212] let s:lib.Codec.encoding_table["31354"] = [191,213] let s:lib.Codec.encoding_table["24656"] = [191,214] let s:lib.Codec.encoding_table["23380"] = [191,215] let s:lib.Codec.encoding_table["25511"] = [191,216] let s:lib.Codec.encoding_table["25248"] = [191,217] let s:lib.Codec.encoding_table["21475"] = [191,218] let s:lib.Codec.encoding_table["25187"] = [191,219] let s:lib.Codec.encoding_table["23495"] = [191,220] let s:lib.Codec.encoding_table["26543"] = [191,221] let s:lib.Codec.encoding_table["21741"] = [191,222] let s:lib.Codec.encoding_table["31391"] = [191,223] let s:lib.Codec.encoding_table["33510"] = [191,224] let s:lib.Codec.encoding_table["37239"] = [191,225] let s:lib.Codec.encoding_table["24211"] = [191,226] let s:lib.Codec.encoding_table["35044"] = [191,227] let s:lib.Codec.encoding_table["22840"] = [191,228] let s:lib.Codec.encoding_table["22446"] = [191,229] let s:lib.Codec.encoding_table["25358"] = [191,230] let s:lib.Codec.encoding_table["36328"] = [191,231] let s:lib.Codec.encoding_table["33007"] = [191,232] let s:lib.Codec.encoding_table["22359"] = [191,233] let s:lib.Codec.encoding_table["31607"] = [191,234] let s:lib.Codec.encoding_table["20393"] = [191,235] let s:lib.Codec.encoding_table["24555"] = [191,236] let s:lib.Codec.encoding_table["23485"] = [191,237] let s:lib.Codec.encoding_table["27454"] = [191,238] let s:lib.Codec.encoding_table["21281"] = [191,239] let s:lib.Codec.encoding_table["31568"] = [191,240] let s:lib.Codec.encoding_table["29378"] = [191,241] let s:lib.Codec.encoding_table["26694"] = [191,242] let s:lib.Codec.encoding_table["30719"] = [191,243] let s:lib.Codec.encoding_table["30518"] = [191,244] let s:lib.Codec.encoding_table["26103"] = [191,245] let s:lib.Codec.encoding_table["20917"] = [191,246] let s:lib.Codec.encoding_table["20111"] = [191,247] let s:lib.Codec.encoding_table["30420"] = [191,248] let s:lib.Codec.encoding_table["23743"] = [191,249] let s:lib.Codec.encoding_table["31397"] = [191,250] let s:lib.Codec.encoding_table["33909"] = [191,251] let s:lib.Codec.encoding_table["22862"] = [191,252] let s:lib.Codec.encoding_table["39745"] = [191,253] let s:lib.Codec.encoding_table["20608"] = [191,254] let s:lib.Codec.encoding_table["32350"] = [192,64] let s:lib.Codec.encoding_table["32351"] = [192,65] let s:lib.Codec.encoding_table["32352"] = [192,66] let s:lib.Codec.encoding_table["32353"] = [192,67] let s:lib.Codec.encoding_table["32354"] = [192,68] let s:lib.Codec.encoding_table["32355"] = [192,69] let s:lib.Codec.encoding_table["32356"] = [192,70] let s:lib.Codec.encoding_table["32357"] = [192,71] let s:lib.Codec.encoding_table["32358"] = [192,72] let s:lib.Codec.encoding_table["32359"] = [192,73] let s:lib.Codec.encoding_table["32360"] = [192,74] let s:lib.Codec.encoding_table["32361"] = [192,75] let s:lib.Codec.encoding_table["32362"] = [192,76] let s:lib.Codec.encoding_table["32363"] = [192,77] let s:lib.Codec.encoding_table["32364"] = [192,78] let s:lib.Codec.encoding_table["32365"] = [192,79] let s:lib.Codec.encoding_table["32366"] = [192,80] let s:lib.Codec.encoding_table["32367"] = [192,81] let s:lib.Codec.encoding_table["32368"] = [192,82] let s:lib.Codec.encoding_table["32369"] = [192,83] let s:lib.Codec.encoding_table["32370"] = [192,84] let s:lib.Codec.encoding_table["32371"] = [192,85] let s:lib.Codec.encoding_table["32372"] = [192,86] let s:lib.Codec.encoding_table["32373"] = [192,87] let s:lib.Codec.encoding_table["32374"] = [192,88] let s:lib.Codec.encoding_table["32375"] = [192,89] let s:lib.Codec.encoding_table["32376"] = [192,90] let s:lib.Codec.encoding_table["32377"] = [192,91] let s:lib.Codec.encoding_table["32378"] = [192,92] let s:lib.Codec.encoding_table["32379"] = [192,93] let s:lib.Codec.encoding_table["32380"] = [192,94] let s:lib.Codec.encoding_table["32381"] = [192,95] let s:lib.Codec.encoding_table["32382"] = [192,96] let s:lib.Codec.encoding_table["32383"] = [192,97] let s:lib.Codec.encoding_table["32384"] = [192,98] let s:lib.Codec.encoding_table["32385"] = [192,99] let s:lib.Codec.encoding_table["32387"] = [192,100] let s:lib.Codec.encoding_table["32388"] = [192,101] let s:lib.Codec.encoding_table["32389"] = [192,102] let s:lib.Codec.encoding_table["32390"] = [192,103] let s:lib.Codec.encoding_table["32391"] = [192,104] let s:lib.Codec.encoding_table["32392"] = [192,105] let s:lib.Codec.encoding_table["32393"] = [192,106] let s:lib.Codec.encoding_table["32394"] = [192,107] let s:lib.Codec.encoding_table["32395"] = [192,108] let s:lib.Codec.encoding_table["32396"] = [192,109] let s:lib.Codec.encoding_table["32397"] = [192,110] let s:lib.Codec.encoding_table["32398"] = [192,111] let s:lib.Codec.encoding_table["32399"] = [192,112] let s:lib.Codec.encoding_table["32400"] = [192,113] let s:lib.Codec.encoding_table["32401"] = [192,114] let s:lib.Codec.encoding_table["32402"] = [192,115] let s:lib.Codec.encoding_table["32403"] = [192,116] let s:lib.Codec.encoding_table["32404"] = [192,117] let s:lib.Codec.encoding_table["32405"] = [192,118] let s:lib.Codec.encoding_table["32406"] = [192,119] let s:lib.Codec.encoding_table["32407"] = [192,120] let s:lib.Codec.encoding_table["32408"] = [192,121] let s:lib.Codec.encoding_table["32409"] = [192,122] let s:lib.Codec.encoding_table["32410"] = [192,123] let s:lib.Codec.encoding_table["32412"] = [192,124] let s:lib.Codec.encoding_table["32413"] = [192,125] let s:lib.Codec.encoding_table["32414"] = [192,126] let s:lib.Codec.encoding_table["32430"] = [192,128] let s:lib.Codec.encoding_table["32436"] = [192,129] let s:lib.Codec.encoding_table["32443"] = [192,130] let s:lib.Codec.encoding_table["32444"] = [192,131] let s:lib.Codec.encoding_table["32470"] = [192,132] let s:lib.Codec.encoding_table["32484"] = [192,133] let s:lib.Codec.encoding_table["32492"] = [192,134] let s:lib.Codec.encoding_table["32505"] = [192,135] let s:lib.Codec.encoding_table["32522"] = [192,136] let s:lib.Codec.encoding_table["32528"] = [192,137] let s:lib.Codec.encoding_table["32542"] = [192,138] let s:lib.Codec.encoding_table["32567"] = [192,139] let s:lib.Codec.encoding_table["32569"] = [192,140] let s:lib.Codec.encoding_table["32571"] = [192,141] let s:lib.Codec.encoding_table["32572"] = [192,142] let s:lib.Codec.encoding_table["32573"] = [192,143] let s:lib.Codec.encoding_table["32574"] = [192,144] let s:lib.Codec.encoding_table["32575"] = [192,145] let s:lib.Codec.encoding_table["32576"] = [192,146] let s:lib.Codec.encoding_table["32577"] = [192,147] let s:lib.Codec.encoding_table["32579"] = [192,148] let s:lib.Codec.encoding_table["32582"] = [192,149] let s:lib.Codec.encoding_table["32583"] = [192,150] let s:lib.Codec.encoding_table["32584"] = [192,151] let s:lib.Codec.encoding_table["32585"] = [192,152] let s:lib.Codec.encoding_table["32586"] = [192,153] let s:lib.Codec.encoding_table["32587"] = [192,154] let s:lib.Codec.encoding_table["32588"] = [192,155] let s:lib.Codec.encoding_table["32589"] = [192,156] let s:lib.Codec.encoding_table["32590"] = [192,157] let s:lib.Codec.encoding_table["32591"] = [192,158] let s:lib.Codec.encoding_table["32594"] = [192,159] let s:lib.Codec.encoding_table["32595"] = [192,160] let s:lib.Codec.encoding_table["39304"] = [192,161] let s:lib.Codec.encoding_table["24871"] = [192,162] let s:lib.Codec.encoding_table["28291"] = [192,163] let s:lib.Codec.encoding_table["22372"] = [192,164] let s:lib.Codec.encoding_table["26118"] = [192,165] let s:lib.Codec.encoding_table["25414"] = [192,166] let s:lib.Codec.encoding_table["22256"] = [192,167] let s:lib.Codec.encoding_table["25324"] = [192,168] let s:lib.Codec.encoding_table["25193"] = [192,169] let s:lib.Codec.encoding_table["24275"] = [192,170] let s:lib.Codec.encoding_table["38420"] = [192,171] let s:lib.Codec.encoding_table["22403"] = [192,172] let s:lib.Codec.encoding_table["25289"] = [192,173] let s:lib.Codec.encoding_table["21895"] = [192,174] let s:lib.Codec.encoding_table["34593"] = [192,175] let s:lib.Codec.encoding_table["33098"] = [192,176] let s:lib.Codec.encoding_table["36771"] = [192,177] let s:lib.Codec.encoding_table["21862"] = [192,178] let s:lib.Codec.encoding_table["33713"] = [192,179] let s:lib.Codec.encoding_table["26469"] = [192,180] let s:lib.Codec.encoding_table["36182"] = [192,181] let s:lib.Codec.encoding_table["34013"] = [192,182] let s:lib.Codec.encoding_table["23146"] = [192,183] let s:lib.Codec.encoding_table["26639"] = [192,184] let s:lib.Codec.encoding_table["25318"] = [192,185] let s:lib.Codec.encoding_table["31726"] = [192,186] let s:lib.Codec.encoding_table["38417"] = [192,187] let s:lib.Codec.encoding_table["20848"] = [192,188] let s:lib.Codec.encoding_table["28572"] = [192,189] let s:lib.Codec.encoding_table["35888"] = [192,190] let s:lib.Codec.encoding_table["25597"] = [192,191] let s:lib.Codec.encoding_table["35272"] = [192,192] let s:lib.Codec.encoding_table["25042"] = [192,193] let s:lib.Codec.encoding_table["32518"] = [192,194] let s:lib.Codec.encoding_table["28866"] = [192,195] let s:lib.Codec.encoding_table["28389"] = [192,196] let s:lib.Codec.encoding_table["29701"] = [192,197] let s:lib.Codec.encoding_table["27028"] = [192,198] let s:lib.Codec.encoding_table["29436"] = [192,199] let s:lib.Codec.encoding_table["24266"] = [192,200] let s:lib.Codec.encoding_table["37070"] = [192,201] let s:lib.Codec.encoding_table["26391"] = [192,202] let s:lib.Codec.encoding_table["28010"] = [192,203] let s:lib.Codec.encoding_table["25438"] = [192,204] let s:lib.Codec.encoding_table["21171"] = [192,205] let s:lib.Codec.encoding_table["29282"] = [192,206] let s:lib.Codec.encoding_table["32769"] = [192,207] let s:lib.Codec.encoding_table["20332"] = [192,208] let s:lib.Codec.encoding_table["23013"] = [192,209] let s:lib.Codec.encoding_table["37226"] = [192,210] let s:lib.Codec.encoding_table["28889"] = [192,211] let s:lib.Codec.encoding_table["28061"] = [192,212] let s:lib.Codec.encoding_table["21202"] = [192,213] let s:lib.Codec.encoding_table["20048"] = [192,214] let s:lib.Codec.encoding_table["38647"] = [192,215] let s:lib.Codec.encoding_table["38253"] = [192,216] let s:lib.Codec.encoding_table["34174"] = [192,217] let s:lib.Codec.encoding_table["30922"] = [192,218] let s:lib.Codec.encoding_table["32047"] = [192,219] let s:lib.Codec.encoding_table["20769"] = [192,220] let s:lib.Codec.encoding_table["22418"] = [192,221] let s:lib.Codec.encoding_table["25794"] = [192,222] let s:lib.Codec.encoding_table["32907"] = [192,223] let s:lib.Codec.encoding_table["31867"] = [192,224] let s:lib.Codec.encoding_table["27882"] = [192,225] let s:lib.Codec.encoding_table["26865"] = [192,226] let s:lib.Codec.encoding_table["26974"] = [192,227] let s:lib.Codec.encoding_table["20919"] = [192,228] let s:lib.Codec.encoding_table["21400"] = [192,229] let s:lib.Codec.encoding_table["26792"] = [192,230] let s:lib.Codec.encoding_table["29313"] = [192,231] let s:lib.Codec.encoding_table["40654"] = [192,232] let s:lib.Codec.encoding_table["31729"] = [192,233] let s:lib.Codec.encoding_table["29432"] = [192,234] let s:lib.Codec.encoding_table["31163"] = [192,235] let s:lib.Codec.encoding_table["28435"] = [192,236] let s:lib.Codec.encoding_table["29702"] = [192,237] let s:lib.Codec.encoding_table["26446"] = [192,238] let s:lib.Codec.encoding_table["37324"] = [192,239] let s:lib.Codec.encoding_table["40100"] = [192,240] let s:lib.Codec.encoding_table["31036"] = [192,241] let s:lib.Codec.encoding_table["33673"] = [192,242] let s:lib.Codec.encoding_table["33620"] = [192,243] let s:lib.Codec.encoding_table["21519"] = [192,244] let s:lib.Codec.encoding_table["26647"] = [192,245] let s:lib.Codec.encoding_table["20029"] = [192,246] let s:lib.Codec.encoding_table["21385"] = [192,247] let s:lib.Codec.encoding_table["21169"] = [192,248] let s:lib.Codec.encoding_table["30782"] = [192,249] let s:lib.Codec.encoding_table["21382"] = [192,250] let s:lib.Codec.encoding_table["21033"] = [192,251] let s:lib.Codec.encoding_table["20616"] = [192,252] let s:lib.Codec.encoding_table["20363"] = [192,253] let s:lib.Codec.encoding_table["20432"] = [192,254] let s:lib.Codec.encoding_table["32598"] = [193,64] let s:lib.Codec.encoding_table["32601"] = [193,65] let s:lib.Codec.encoding_table["32603"] = [193,66] let s:lib.Codec.encoding_table["32604"] = [193,67] let s:lib.Codec.encoding_table["32605"] = [193,68] let s:lib.Codec.encoding_table["32606"] = [193,69] let s:lib.Codec.encoding_table["32608"] = [193,70] let s:lib.Codec.encoding_table["32611"] = [193,71] let s:lib.Codec.encoding_table["32612"] = [193,72] let s:lib.Codec.encoding_table["32613"] = [193,73] let s:lib.Codec.encoding_table["32614"] = [193,74] let s:lib.Codec.encoding_table["32615"] = [193,75] let s:lib.Codec.encoding_table["32619"] = [193,76] let s:lib.Codec.encoding_table["32620"] = [193,77] let s:lib.Codec.encoding_table["32621"] = [193,78] let s:lib.Codec.encoding_table["32623"] = [193,79] let s:lib.Codec.encoding_table["32624"] = [193,80] let s:lib.Codec.encoding_table["32627"] = [193,81] let s:lib.Codec.encoding_table["32629"] = [193,82] let s:lib.Codec.encoding_table["32630"] = [193,83] let s:lib.Codec.encoding_table["32631"] = [193,84] let s:lib.Codec.encoding_table["32632"] = [193,85] let s:lib.Codec.encoding_table["32634"] = [193,86] let s:lib.Codec.encoding_table["32635"] = [193,87] let s:lib.Codec.encoding_table["32636"] = [193,88] let s:lib.Codec.encoding_table["32637"] = [193,89] let s:lib.Codec.encoding_table["32639"] = [193,90] let s:lib.Codec.encoding_table["32640"] = [193,91] let s:lib.Codec.encoding_table["32642"] = [193,92] let s:lib.Codec.encoding_table["32643"] = [193,93] let s:lib.Codec.encoding_table["32644"] = [193,94] let s:lib.Codec.encoding_table["32645"] = [193,95] let s:lib.Codec.encoding_table["32646"] = [193,96] let s:lib.Codec.encoding_table["32647"] = [193,97] let s:lib.Codec.encoding_table["32648"] = [193,98] let s:lib.Codec.encoding_table["32649"] = [193,99] let s:lib.Codec.encoding_table["32651"] = [193,100] let s:lib.Codec.encoding_table["32653"] = [193,101] let s:lib.Codec.encoding_table["32655"] = [193,102] let s:lib.Codec.encoding_table["32656"] = [193,103] let s:lib.Codec.encoding_table["32657"] = [193,104] let s:lib.Codec.encoding_table["32658"] = [193,105] let s:lib.Codec.encoding_table["32659"] = [193,106] let s:lib.Codec.encoding_table["32661"] = [193,107] let s:lib.Codec.encoding_table["32662"] = [193,108] let s:lib.Codec.encoding_table["32663"] = [193,109] let s:lib.Codec.encoding_table["32664"] = [193,110] let s:lib.Codec.encoding_table["32665"] = [193,111] let s:lib.Codec.encoding_table["32667"] = [193,112] let s:lib.Codec.encoding_table["32668"] = [193,113] let s:lib.Codec.encoding_table["32672"] = [193,114] let s:lib.Codec.encoding_table["32674"] = [193,115] let s:lib.Codec.encoding_table["32675"] = [193,116] let s:lib.Codec.encoding_table["32677"] = [193,117] let s:lib.Codec.encoding_table["32678"] = [193,118] let s:lib.Codec.encoding_table["32680"] = [193,119] let s:lib.Codec.encoding_table["32681"] = [193,120] let s:lib.Codec.encoding_table["32682"] = [193,121] let s:lib.Codec.encoding_table["32683"] = [193,122] let s:lib.Codec.encoding_table["32684"] = [193,123] let s:lib.Codec.encoding_table["32685"] = [193,124] let s:lib.Codec.encoding_table["32686"] = [193,125] let s:lib.Codec.encoding_table["32689"] = [193,126] let s:lib.Codec.encoding_table["32691"] = [193,128] let s:lib.Codec.encoding_table["32692"] = [193,129] let s:lib.Codec.encoding_table["32693"] = [193,130] let s:lib.Codec.encoding_table["32694"] = [193,131] let s:lib.Codec.encoding_table["32695"] = [193,132] let s:lib.Codec.encoding_table["32698"] = [193,133] let s:lib.Codec.encoding_table["32699"] = [193,134] let s:lib.Codec.encoding_table["32702"] = [193,135] let s:lib.Codec.encoding_table["32704"] = [193,136] let s:lib.Codec.encoding_table["32706"] = [193,137] let s:lib.Codec.encoding_table["32707"] = [193,138] let s:lib.Codec.encoding_table["32708"] = [193,139] let s:lib.Codec.encoding_table["32710"] = [193,140] let s:lib.Codec.encoding_table["32711"] = [193,141] let s:lib.Codec.encoding_table["32712"] = [193,142] let s:lib.Codec.encoding_table["32713"] = [193,143] let s:lib.Codec.encoding_table["32715"] = [193,144] let s:lib.Codec.encoding_table["32717"] = [193,145] let s:lib.Codec.encoding_table["32719"] = [193,146] let s:lib.Codec.encoding_table["32720"] = [193,147] let s:lib.Codec.encoding_table["32721"] = [193,148] let s:lib.Codec.encoding_table["32722"] = [193,149] let s:lib.Codec.encoding_table["32723"] = [193,150] let s:lib.Codec.encoding_table["32726"] = [193,151] let s:lib.Codec.encoding_table["32727"] = [193,152] let s:lib.Codec.encoding_table["32729"] = [193,153] let s:lib.Codec.encoding_table["32730"] = [193,154] let s:lib.Codec.encoding_table["32731"] = [193,155] let s:lib.Codec.encoding_table["32732"] = [193,156] let s:lib.Codec.encoding_table["32733"] = [193,157] let s:lib.Codec.encoding_table["32734"] = [193,158] let s:lib.Codec.encoding_table["32738"] = [193,159] let s:lib.Codec.encoding_table["32739"] = [193,160] let s:lib.Codec.encoding_table["30178"] = [193,161] let s:lib.Codec.encoding_table["31435"] = [193,162] let s:lib.Codec.encoding_table["31890"] = [193,163] let s:lib.Codec.encoding_table["27813"] = [193,164] let s:lib.Codec.encoding_table["38582"] = [193,165] let s:lib.Codec.encoding_table["21147"] = [193,166] let s:lib.Codec.encoding_table["29827"] = [193,167] let s:lib.Codec.encoding_table["21737"] = [193,168] let s:lib.Codec.encoding_table["20457"] = [193,169] let s:lib.Codec.encoding_table["32852"] = [193,170] let s:lib.Codec.encoding_table["33714"] = [193,171] let s:lib.Codec.encoding_table["36830"] = [193,172] let s:lib.Codec.encoding_table["38256"] = [193,173] let s:lib.Codec.encoding_table["24265"] = [193,174] let s:lib.Codec.encoding_table["24604"] = [193,175] let s:lib.Codec.encoding_table["28063"] = [193,176] let s:lib.Codec.encoding_table["24088"] = [193,177] let s:lib.Codec.encoding_table["25947"] = [193,178] let s:lib.Codec.encoding_table["33080"] = [193,179] let s:lib.Codec.encoding_table["38142"] = [193,180] let s:lib.Codec.encoding_table["24651"] = [193,181] let s:lib.Codec.encoding_table["28860"] = [193,182] let s:lib.Codec.encoding_table["32451"] = [193,183] let s:lib.Codec.encoding_table["31918"] = [193,184] let s:lib.Codec.encoding_table["20937"] = [193,185] let s:lib.Codec.encoding_table["26753"] = [193,186] let s:lib.Codec.encoding_table["31921"] = [193,187] let s:lib.Codec.encoding_table["33391"] = [193,188] let s:lib.Codec.encoding_table["20004"] = [193,189] let s:lib.Codec.encoding_table["36742"] = [193,190] let s:lib.Codec.encoding_table["37327"] = [193,191] let s:lib.Codec.encoding_table["26238"] = [193,192] let s:lib.Codec.encoding_table["20142"] = [193,193] let s:lib.Codec.encoding_table["35845"] = [193,194] let s:lib.Codec.encoding_table["25769"] = [193,195] let s:lib.Codec.encoding_table["32842"] = [193,196] let s:lib.Codec.encoding_table["20698"] = [193,197] let s:lib.Codec.encoding_table["30103"] = [193,198] let s:lib.Codec.encoding_table["29134"] = [193,199] let s:lib.Codec.encoding_table["23525"] = [193,200] let s:lib.Codec.encoding_table["36797"] = [193,201] let s:lib.Codec.encoding_table["28518"] = [193,202] let s:lib.Codec.encoding_table["20102"] = [193,203] let s:lib.Codec.encoding_table["25730"] = [193,204] let s:lib.Codec.encoding_table["38243"] = [193,205] let s:lib.Codec.encoding_table["24278"] = [193,206] let s:lib.Codec.encoding_table["26009"] = [193,207] let s:lib.Codec.encoding_table["21015"] = [193,208] let s:lib.Codec.encoding_table["35010"] = [193,209] let s:lib.Codec.encoding_table["28872"] = [193,210] let s:lib.Codec.encoding_table["21155"] = [193,211] let s:lib.Codec.encoding_table["29454"] = [193,212] let s:lib.Codec.encoding_table["29747"] = [193,213] let s:lib.Codec.encoding_table["26519"] = [193,214] let s:lib.Codec.encoding_table["30967"] = [193,215] let s:lib.Codec.encoding_table["38678"] = [193,216] let s:lib.Codec.encoding_table["20020"] = [193,217] let s:lib.Codec.encoding_table["37051"] = [193,218] let s:lib.Codec.encoding_table["40158"] = [193,219] let s:lib.Codec.encoding_table["28107"] = [193,220] let s:lib.Codec.encoding_table["20955"] = [193,221] let s:lib.Codec.encoding_table["36161"] = [193,222] let s:lib.Codec.encoding_table["21533"] = [193,223] let s:lib.Codec.encoding_table["25294"] = [193,224] let s:lib.Codec.encoding_table["29618"] = [193,225] let s:lib.Codec.encoding_table["33777"] = [193,226] let s:lib.Codec.encoding_table["38646"] = [193,227] let s:lib.Codec.encoding_table["40836"] = [193,228] let s:lib.Codec.encoding_table["38083"] = [193,229] let s:lib.Codec.encoding_table["20278"] = [193,230] let s:lib.Codec.encoding_table["32666"] = [193,231] let s:lib.Codec.encoding_table["20940"] = [193,232] let s:lib.Codec.encoding_table["28789"] = [193,233] let s:lib.Codec.encoding_table["38517"] = [193,234] let s:lib.Codec.encoding_table["23725"] = [193,235] let s:lib.Codec.encoding_table["39046"] = [193,236] let s:lib.Codec.encoding_table["21478"] = [193,237] let s:lib.Codec.encoding_table["20196"] = [193,238] let s:lib.Codec.encoding_table["28316"] = [193,239] let s:lib.Codec.encoding_table["29705"] = [193,240] let s:lib.Codec.encoding_table["27060"] = [193,241] let s:lib.Codec.encoding_table["30827"] = [193,242] let s:lib.Codec.encoding_table["39311"] = [193,243] let s:lib.Codec.encoding_table["30041"] = [193,244] let s:lib.Codec.encoding_table["21016"] = [193,245] let s:lib.Codec.encoding_table["30244"] = [193,246] let s:lib.Codec.encoding_table["27969"] = [193,247] let s:lib.Codec.encoding_table["26611"] = [193,248] let s:lib.Codec.encoding_table["20845"] = [193,249] let s:lib.Codec.encoding_table["40857"] = [193,250] let s:lib.Codec.encoding_table["32843"] = [193,251] let s:lib.Codec.encoding_table["21657"] = [193,252] let s:lib.Codec.encoding_table["31548"] = [193,253] let s:lib.Codec.encoding_table["31423"] = [193,254] let s:lib.Codec.encoding_table["32740"] = [194,64] let s:lib.Codec.encoding_table["32743"] = [194,65] let s:lib.Codec.encoding_table["32744"] = [194,66] let s:lib.Codec.encoding_table["32746"] = [194,67] let s:lib.Codec.encoding_table["32747"] = [194,68] let s:lib.Codec.encoding_table["32748"] = [194,69] let s:lib.Codec.encoding_table["32749"] = [194,70] let s:lib.Codec.encoding_table["32751"] = [194,71] let s:lib.Codec.encoding_table["32754"] = [194,72] let s:lib.Codec.encoding_table["32756"] = [194,73] let s:lib.Codec.encoding_table["32757"] = [194,74] let s:lib.Codec.encoding_table["32758"] = [194,75] let s:lib.Codec.encoding_table["32759"] = [194,76] let s:lib.Codec.encoding_table["32760"] = [194,77] let s:lib.Codec.encoding_table["32761"] = [194,78] let s:lib.Codec.encoding_table["32762"] = [194,79] let s:lib.Codec.encoding_table["32765"] = [194,80] let s:lib.Codec.encoding_table["32766"] = [194,81] let s:lib.Codec.encoding_table["32767"] = [194,82] let s:lib.Codec.encoding_table["32770"] = [194,83] let s:lib.Codec.encoding_table["32775"] = [194,84] let s:lib.Codec.encoding_table["32776"] = [194,85] let s:lib.Codec.encoding_table["32777"] = [194,86] let s:lib.Codec.encoding_table["32778"] = [194,87] let s:lib.Codec.encoding_table["32782"] = [194,88] let s:lib.Codec.encoding_table["32783"] = [194,89] let s:lib.Codec.encoding_table["32785"] = [194,90] let s:lib.Codec.encoding_table["32787"] = [194,91] let s:lib.Codec.encoding_table["32794"] = [194,92] let s:lib.Codec.encoding_table["32795"] = [194,93] let s:lib.Codec.encoding_table["32797"] = [194,94] let s:lib.Codec.encoding_table["32798"] = [194,95] let s:lib.Codec.encoding_table["32799"] = [194,96] let s:lib.Codec.encoding_table["32801"] = [194,97] let s:lib.Codec.encoding_table["32803"] = [194,98] let s:lib.Codec.encoding_table["32804"] = [194,99] let s:lib.Codec.encoding_table["32811"] = [194,100] let s:lib.Codec.encoding_table["32812"] = [194,101] let s:lib.Codec.encoding_table["32813"] = [194,102] let s:lib.Codec.encoding_table["32814"] = [194,103] let s:lib.Codec.encoding_table["32815"] = [194,104] let s:lib.Codec.encoding_table["32816"] = [194,105] let s:lib.Codec.encoding_table["32818"] = [194,106] let s:lib.Codec.encoding_table["32820"] = [194,107] let s:lib.Codec.encoding_table["32825"] = [194,108] let s:lib.Codec.encoding_table["32826"] = [194,109] let s:lib.Codec.encoding_table["32828"] = [194,110] let s:lib.Codec.encoding_table["32830"] = [194,111] let s:lib.Codec.encoding_table["32832"] = [194,112] let s:lib.Codec.encoding_table["32833"] = [194,113] let s:lib.Codec.encoding_table["32836"] = [194,114] let s:lib.Codec.encoding_table["32837"] = [194,115] let s:lib.Codec.encoding_table["32839"] = [194,116] let s:lib.Codec.encoding_table["32840"] = [194,117] let s:lib.Codec.encoding_table["32841"] = [194,118] let s:lib.Codec.encoding_table["32846"] = [194,119] let s:lib.Codec.encoding_table["32847"] = [194,120] let s:lib.Codec.encoding_table["32848"] = [194,121] let s:lib.Codec.encoding_table["32849"] = [194,122] let s:lib.Codec.encoding_table["32851"] = [194,123] let s:lib.Codec.encoding_table["32853"] = [194,124] let s:lib.Codec.encoding_table["32854"] = [194,125] let s:lib.Codec.encoding_table["32855"] = [194,126] let s:lib.Codec.encoding_table["32857"] = [194,128] let s:lib.Codec.encoding_table["32859"] = [194,129] let s:lib.Codec.encoding_table["32860"] = [194,130] let s:lib.Codec.encoding_table["32861"] = [194,131] let s:lib.Codec.encoding_table["32862"] = [194,132] let s:lib.Codec.encoding_table["32863"] = [194,133] let s:lib.Codec.encoding_table["32864"] = [194,134] let s:lib.Codec.encoding_table["32865"] = [194,135] let s:lib.Codec.encoding_table["32866"] = [194,136] let s:lib.Codec.encoding_table["32867"] = [194,137] let s:lib.Codec.encoding_table["32868"] = [194,138] let s:lib.Codec.encoding_table["32869"] = [194,139] let s:lib.Codec.encoding_table["32870"] = [194,140] let s:lib.Codec.encoding_table["32871"] = [194,141] let s:lib.Codec.encoding_table["32872"] = [194,142] let s:lib.Codec.encoding_table["32875"] = [194,143] let s:lib.Codec.encoding_table["32876"] = [194,144] let s:lib.Codec.encoding_table["32877"] = [194,145] let s:lib.Codec.encoding_table["32878"] = [194,146] let s:lib.Codec.encoding_table["32879"] = [194,147] let s:lib.Codec.encoding_table["32880"] = [194,148] let s:lib.Codec.encoding_table["32882"] = [194,149] let s:lib.Codec.encoding_table["32883"] = [194,150] let s:lib.Codec.encoding_table["32884"] = [194,151] let s:lib.Codec.encoding_table["32885"] = [194,152] let s:lib.Codec.encoding_table["32886"] = [194,153] let s:lib.Codec.encoding_table["32887"] = [194,154] let s:lib.Codec.encoding_table["32888"] = [194,155] let s:lib.Codec.encoding_table["32889"] = [194,156] let s:lib.Codec.encoding_table["32890"] = [194,157] let s:lib.Codec.encoding_table["32891"] = [194,158] let s:lib.Codec.encoding_table["32892"] = [194,159] let s:lib.Codec.encoding_table["32893"] = [194,160] let s:lib.Codec.encoding_table["38534"] = [194,161] let s:lib.Codec.encoding_table["22404"] = [194,162] let s:lib.Codec.encoding_table["25314"] = [194,163] let s:lib.Codec.encoding_table["38471"] = [194,164] let s:lib.Codec.encoding_table["27004"] = [194,165] let s:lib.Codec.encoding_table["23044"] = [194,166] let s:lib.Codec.encoding_table["25602"] = [194,167] let s:lib.Codec.encoding_table["31699"] = [194,168] let s:lib.Codec.encoding_table["28431"] = [194,169] let s:lib.Codec.encoding_table["38475"] = [194,170] let s:lib.Codec.encoding_table["33446"] = [194,171] let s:lib.Codec.encoding_table["21346"] = [194,172] let s:lib.Codec.encoding_table["39045"] = [194,173] let s:lib.Codec.encoding_table["24208"] = [194,174] let s:lib.Codec.encoding_table["28809"] = [194,175] let s:lib.Codec.encoding_table["25523"] = [194,176] let s:lib.Codec.encoding_table["21348"] = [194,177] let s:lib.Codec.encoding_table["34383"] = [194,178] let s:lib.Codec.encoding_table["40065"] = [194,179] let s:lib.Codec.encoding_table["40595"] = [194,180] let s:lib.Codec.encoding_table["30860"] = [194,181] let s:lib.Codec.encoding_table["38706"] = [194,182] let s:lib.Codec.encoding_table["36335"] = [194,183] let s:lib.Codec.encoding_table["36162"] = [194,184] let s:lib.Codec.encoding_table["40575"] = [194,185] let s:lib.Codec.encoding_table["28510"] = [194,186] let s:lib.Codec.encoding_table["31108"] = [194,187] let s:lib.Codec.encoding_table["24405"] = [194,188] let s:lib.Codec.encoding_table["38470"] = [194,189] let s:lib.Codec.encoding_table["25134"] = [194,190] let s:lib.Codec.encoding_table["39540"] = [194,191] let s:lib.Codec.encoding_table["21525"] = [194,192] let s:lib.Codec.encoding_table["38109"] = [194,193] let s:lib.Codec.encoding_table["20387"] = [194,194] let s:lib.Codec.encoding_table["26053"] = [194,195] let s:lib.Codec.encoding_table["23653"] = [194,196] let s:lib.Codec.encoding_table["23649"] = [194,197] let s:lib.Codec.encoding_table["32533"] = [194,198] let s:lib.Codec.encoding_table["34385"] = [194,199] let s:lib.Codec.encoding_table["27695"] = [194,200] let s:lib.Codec.encoding_table["24459"] = [194,201] let s:lib.Codec.encoding_table["29575"] = [194,202] let s:lib.Codec.encoding_table["28388"] = [194,203] let s:lib.Codec.encoding_table["32511"] = [194,204] let s:lib.Codec.encoding_table["23782"] = [194,205] let s:lib.Codec.encoding_table["25371"] = [194,206] let s:lib.Codec.encoding_table["23402"] = [194,207] let s:lib.Codec.encoding_table["28390"] = [194,208] let s:lib.Codec.encoding_table["21365"] = [194,209] let s:lib.Codec.encoding_table["20081"] = [194,210] let s:lib.Codec.encoding_table["25504"] = [194,211] let s:lib.Codec.encoding_table["30053"] = [194,212] let s:lib.Codec.encoding_table["25249"] = [194,213] let s:lib.Codec.encoding_table["36718"] = [194,214] let s:lib.Codec.encoding_table["20262"] = [194,215] let s:lib.Codec.encoding_table["20177"] = [194,216] let s:lib.Codec.encoding_table["27814"] = [194,217] let s:lib.Codec.encoding_table["32438"] = [194,218] let s:lib.Codec.encoding_table["35770"] = [194,219] let s:lib.Codec.encoding_table["33821"] = [194,220] let s:lib.Codec.encoding_table["34746"] = [194,221] let s:lib.Codec.encoding_table["32599"] = [194,222] let s:lib.Codec.encoding_table["36923"] = [194,223] let s:lib.Codec.encoding_table["38179"] = [194,224] let s:lib.Codec.encoding_table["31657"] = [194,225] let s:lib.Codec.encoding_table["39585"] = [194,226] let s:lib.Codec.encoding_table["35064"] = [194,227] let s:lib.Codec.encoding_table["33853"] = [194,228] let s:lib.Codec.encoding_table["27931"] = [194,229] let s:lib.Codec.encoding_table["39558"] = [194,230] let s:lib.Codec.encoding_table["32476"] = [194,231] let s:lib.Codec.encoding_table["22920"] = [194,232] let s:lib.Codec.encoding_table["40635"] = [194,233] let s:lib.Codec.encoding_table["29595"] = [194,234] let s:lib.Codec.encoding_table["30721"] = [194,235] let s:lib.Codec.encoding_table["34434"] = [194,236] let s:lib.Codec.encoding_table["39532"] = [194,237] let s:lib.Codec.encoding_table["39554"] = [194,238] let s:lib.Codec.encoding_table["22043"] = [194,239] let s:lib.Codec.encoding_table["21527"] = [194,240] let s:lib.Codec.encoding_table["22475"] = [194,241] let s:lib.Codec.encoding_table["20080"] = [194,242] let s:lib.Codec.encoding_table["40614"] = [194,243] let s:lib.Codec.encoding_table["21334"] = [194,244] let s:lib.Codec.encoding_table["36808"] = [194,245] let s:lib.Codec.encoding_table["33033"] = [194,246] let s:lib.Codec.encoding_table["30610"] = [194,247] let s:lib.Codec.encoding_table["39314"] = [194,248] let s:lib.Codec.encoding_table["34542"] = [194,249] let s:lib.Codec.encoding_table["28385"] = [194,250] let s:lib.Codec.encoding_table["34067"] = [194,251] let s:lib.Codec.encoding_table["26364"] = [194,252] let s:lib.Codec.encoding_table["24930"] = [194,253] let s:lib.Codec.encoding_table["28459"] = [194,254] let s:lib.Codec.encoding_table["32894"] = [195,64] let s:lib.Codec.encoding_table["32897"] = [195,65] let s:lib.Codec.encoding_table["32898"] = [195,66] let s:lib.Codec.encoding_table["32901"] = [195,67] let s:lib.Codec.encoding_table["32904"] = [195,68] let s:lib.Codec.encoding_table["32906"] = [195,69] let s:lib.Codec.encoding_table["32909"] = [195,70] let s:lib.Codec.encoding_table["32910"] = [195,71] let s:lib.Codec.encoding_table["32911"] = [195,72] let s:lib.Codec.encoding_table["32912"] = [195,73] let s:lib.Codec.encoding_table["32913"] = [195,74] let s:lib.Codec.encoding_table["32914"] = [195,75] let s:lib.Codec.encoding_table["32916"] = [195,76] let s:lib.Codec.encoding_table["32917"] = [195,77] let s:lib.Codec.encoding_table["32919"] = [195,78] let s:lib.Codec.encoding_table["32921"] = [195,79] let s:lib.Codec.encoding_table["32926"] = [195,80] let s:lib.Codec.encoding_table["32931"] = [195,81] let s:lib.Codec.encoding_table["32934"] = [195,82] let s:lib.Codec.encoding_table["32935"] = [195,83] let s:lib.Codec.encoding_table["32936"] = [195,84] let s:lib.Codec.encoding_table["32940"] = [195,85] let s:lib.Codec.encoding_table["32944"] = [195,86] let s:lib.Codec.encoding_table["32947"] = [195,87] let s:lib.Codec.encoding_table["32949"] = [195,88] let s:lib.Codec.encoding_table["32950"] = [195,89] let s:lib.Codec.encoding_table["32952"] = [195,90] let s:lib.Codec.encoding_table["32953"] = [195,91] let s:lib.Codec.encoding_table["32955"] = [195,92] let s:lib.Codec.encoding_table["32965"] = [195,93] let s:lib.Codec.encoding_table["32967"] = [195,94] let s:lib.Codec.encoding_table["32968"] = [195,95] let s:lib.Codec.encoding_table["32969"] = [195,96] let s:lib.Codec.encoding_table["32970"] = [195,97] let s:lib.Codec.encoding_table["32971"] = [195,98] let s:lib.Codec.encoding_table["32975"] = [195,99] let s:lib.Codec.encoding_table["32976"] = [195,100] let s:lib.Codec.encoding_table["32977"] = [195,101] let s:lib.Codec.encoding_table["32978"] = [195,102] let s:lib.Codec.encoding_table["32979"] = [195,103] let s:lib.Codec.encoding_table["32980"] = [195,104] let s:lib.Codec.encoding_table["32981"] = [195,105] let s:lib.Codec.encoding_table["32984"] = [195,106] let s:lib.Codec.encoding_table["32991"] = [195,107] let s:lib.Codec.encoding_table["32992"] = [195,108] let s:lib.Codec.encoding_table["32994"] = [195,109] let s:lib.Codec.encoding_table["32995"] = [195,110] let s:lib.Codec.encoding_table["32998"] = [195,111] let s:lib.Codec.encoding_table["33006"] = [195,112] let s:lib.Codec.encoding_table["33013"] = [195,113] let s:lib.Codec.encoding_table["33015"] = [195,114] let s:lib.Codec.encoding_table["33017"] = [195,115] let s:lib.Codec.encoding_table["33019"] = [195,116] let s:lib.Codec.encoding_table["33022"] = [195,117] let s:lib.Codec.encoding_table["33023"] = [195,118] let s:lib.Codec.encoding_table["33024"] = [195,119] let s:lib.Codec.encoding_table["33025"] = [195,120] let s:lib.Codec.encoding_table["33027"] = [195,121] let s:lib.Codec.encoding_table["33028"] = [195,122] let s:lib.Codec.encoding_table["33029"] = [195,123] let s:lib.Codec.encoding_table["33031"] = [195,124] let s:lib.Codec.encoding_table["33032"] = [195,125] let s:lib.Codec.encoding_table["33035"] = [195,126] let s:lib.Codec.encoding_table["33036"] = [195,128] let s:lib.Codec.encoding_table["33045"] = [195,129] let s:lib.Codec.encoding_table["33047"] = [195,130] let s:lib.Codec.encoding_table["33049"] = [195,131] let s:lib.Codec.encoding_table["33051"] = [195,132] let s:lib.Codec.encoding_table["33052"] = [195,133] let s:lib.Codec.encoding_table["33053"] = [195,134] let s:lib.Codec.encoding_table["33055"] = [195,135] let s:lib.Codec.encoding_table["33056"] = [195,136] let s:lib.Codec.encoding_table["33057"] = [195,137] let s:lib.Codec.encoding_table["33058"] = [195,138] let s:lib.Codec.encoding_table["33059"] = [195,139] let s:lib.Codec.encoding_table["33060"] = [195,140] let s:lib.Codec.encoding_table["33061"] = [195,141] let s:lib.Codec.encoding_table["33062"] = [195,142] let s:lib.Codec.encoding_table["33063"] = [195,143] let s:lib.Codec.encoding_table["33064"] = [195,144] let s:lib.Codec.encoding_table["33065"] = [195,145] let s:lib.Codec.encoding_table["33066"] = [195,146] let s:lib.Codec.encoding_table["33067"] = [195,147] let s:lib.Codec.encoding_table["33069"] = [195,148] let s:lib.Codec.encoding_table["33070"] = [195,149] let s:lib.Codec.encoding_table["33072"] = [195,150] let s:lib.Codec.encoding_table["33075"] = [195,151] let s:lib.Codec.encoding_table["33076"] = [195,152] let s:lib.Codec.encoding_table["33077"] = [195,153] let s:lib.Codec.encoding_table["33079"] = [195,154] let s:lib.Codec.encoding_table["33081"] = [195,155] let s:lib.Codec.encoding_table["33082"] = [195,156] let s:lib.Codec.encoding_table["33083"] = [195,157] let s:lib.Codec.encoding_table["33084"] = [195,158] let s:lib.Codec.encoding_table["33085"] = [195,159] let s:lib.Codec.encoding_table["33087"] = [195,160] let s:lib.Codec.encoding_table["35881"] = [195,161] let s:lib.Codec.encoding_table["33426"] = [195,162] let s:lib.Codec.encoding_table["33579"] = [195,163] let s:lib.Codec.encoding_table["30450"] = [195,164] let s:lib.Codec.encoding_table["27667"] = [195,165] let s:lib.Codec.encoding_table["24537"] = [195,166] let s:lib.Codec.encoding_table["33725"] = [195,167] let s:lib.Codec.encoding_table["29483"] = [195,168] let s:lib.Codec.encoding_table["33541"] = [195,169] let s:lib.Codec.encoding_table["38170"] = [195,170] let s:lib.Codec.encoding_table["27611"] = [195,171] let s:lib.Codec.encoding_table["30683"] = [195,172] let s:lib.Codec.encoding_table["38086"] = [195,173] let s:lib.Codec.encoding_table["21359"] = [195,174] let s:lib.Codec.encoding_table["33538"] = [195,175] let s:lib.Codec.encoding_table["20882"] = [195,176] let s:lib.Codec.encoding_table["24125"] = [195,177] let s:lib.Codec.encoding_table["35980"] = [195,178] let s:lib.Codec.encoding_table["36152"] = [195,179] let s:lib.Codec.encoding_table["20040"] = [195,180] let s:lib.Codec.encoding_table["29611"] = [195,181] let s:lib.Codec.encoding_table["26522"] = [195,182] let s:lib.Codec.encoding_table["26757"] = [195,183] let s:lib.Codec.encoding_table["37238"] = [195,184] let s:lib.Codec.encoding_table["38665"] = [195,185] let s:lib.Codec.encoding_table["29028"] = [195,186] let s:lib.Codec.encoding_table["27809"] = [195,187] let s:lib.Codec.encoding_table["30473"] = [195,188] let s:lib.Codec.encoding_table["23186"] = [195,189] let s:lib.Codec.encoding_table["38209"] = [195,190] let s:lib.Codec.encoding_table["27599"] = [195,191] let s:lib.Codec.encoding_table["32654"] = [195,192] let s:lib.Codec.encoding_table["26151"] = [195,193] let s:lib.Codec.encoding_table["23504"] = [195,194] let s:lib.Codec.encoding_table["22969"] = [195,195] let s:lib.Codec.encoding_table["23194"] = [195,196] let s:lib.Codec.encoding_table["38376"] = [195,197] let s:lib.Codec.encoding_table["38391"] = [195,198] let s:lib.Codec.encoding_table["20204"] = [195,199] let s:lib.Codec.encoding_table["33804"] = [195,200] let s:lib.Codec.encoding_table["33945"] = [195,201] let s:lib.Codec.encoding_table["27308"] = [195,202] let s:lib.Codec.encoding_table["30431"] = [195,203] let s:lib.Codec.encoding_table["38192"] = [195,204] let s:lib.Codec.encoding_table["29467"] = [195,205] let s:lib.Codec.encoding_table["26790"] = [195,206] let s:lib.Codec.encoding_table["23391"] = [195,207] let s:lib.Codec.encoding_table["30511"] = [195,208] let s:lib.Codec.encoding_table["37274"] = [195,209] let s:lib.Codec.encoding_table["38753"] = [195,210] let s:lib.Codec.encoding_table["31964"] = [195,211] let s:lib.Codec.encoding_table["36855"] = [195,212] let s:lib.Codec.encoding_table["35868"] = [195,213] let s:lib.Codec.encoding_table["24357"] = [195,214] let s:lib.Codec.encoding_table["31859"] = [195,215] let s:lib.Codec.encoding_table["31192"] = [195,216] let s:lib.Codec.encoding_table["35269"] = [195,217] let s:lib.Codec.encoding_table["27852"] = [195,218] let s:lib.Codec.encoding_table["34588"] = [195,219] let s:lib.Codec.encoding_table["23494"] = [195,220] let s:lib.Codec.encoding_table["24130"] = [195,221] let s:lib.Codec.encoding_table["26825"] = [195,222] let s:lib.Codec.encoding_table["30496"] = [195,223] let s:lib.Codec.encoding_table["32501"] = [195,224] let s:lib.Codec.encoding_table["20885"] = [195,225] let s:lib.Codec.encoding_table["20813"] = [195,226] let s:lib.Codec.encoding_table["21193"] = [195,227] let s:lib.Codec.encoding_table["23081"] = [195,228] let s:lib.Codec.encoding_table["32517"] = [195,229] let s:lib.Codec.encoding_table["38754"] = [195,230] let s:lib.Codec.encoding_table["33495"] = [195,231] let s:lib.Codec.encoding_table["25551"] = [195,232] let s:lib.Codec.encoding_table["30596"] = [195,233] let s:lib.Codec.encoding_table["34256"] = [195,234] let s:lib.Codec.encoding_table["31186"] = [195,235] let s:lib.Codec.encoding_table["28218"] = [195,236] let s:lib.Codec.encoding_table["24217"] = [195,237] let s:lib.Codec.encoding_table["22937"] = [195,238] let s:lib.Codec.encoding_table["34065"] = [195,239] let s:lib.Codec.encoding_table["28781"] = [195,240] let s:lib.Codec.encoding_table["27665"] = [195,241] let s:lib.Codec.encoding_table["25279"] = [195,242] let s:lib.Codec.encoding_table["30399"] = [195,243] let s:lib.Codec.encoding_table["25935"] = [195,244] let s:lib.Codec.encoding_table["24751"] = [195,245] let s:lib.Codec.encoding_table["38397"] = [195,246] let s:lib.Codec.encoding_table["26126"] = [195,247] let s:lib.Codec.encoding_table["34719"] = [195,248] let s:lib.Codec.encoding_table["40483"] = [195,249] let s:lib.Codec.encoding_table["38125"] = [195,250] let s:lib.Codec.encoding_table["21517"] = [195,251] let s:lib.Codec.encoding_table["21629"] = [195,252] let s:lib.Codec.encoding_table["35884"] = [195,253] let s:lib.Codec.encoding_table["25720"] = [195,254] let s:lib.Codec.encoding_table["33088"] = [196,64] let s:lib.Codec.encoding_table["33089"] = [196,65] let s:lib.Codec.encoding_table["33090"] = [196,66] let s:lib.Codec.encoding_table["33091"] = [196,67] let s:lib.Codec.encoding_table["33092"] = [196,68] let s:lib.Codec.encoding_table["33093"] = [196,69] let s:lib.Codec.encoding_table["33095"] = [196,70] let s:lib.Codec.encoding_table["33097"] = [196,71] let s:lib.Codec.encoding_table["33101"] = [196,72] let s:lib.Codec.encoding_table["33102"] = [196,73] let s:lib.Codec.encoding_table["33103"] = [196,74] let s:lib.Codec.encoding_table["33106"] = [196,75] let s:lib.Codec.encoding_table["33110"] = [196,76] let s:lib.Codec.encoding_table["33111"] = [196,77] let s:lib.Codec.encoding_table["33112"] = [196,78] let s:lib.Codec.encoding_table["33115"] = [196,79] let s:lib.Codec.encoding_table["33116"] = [196,80] let s:lib.Codec.encoding_table["33117"] = [196,81] let s:lib.Codec.encoding_table["33118"] = [196,82] let s:lib.Codec.encoding_table["33119"] = [196,83] let s:lib.Codec.encoding_table["33121"] = [196,84] let s:lib.Codec.encoding_table["33122"] = [196,85] let s:lib.Codec.encoding_table["33123"] = [196,86] let s:lib.Codec.encoding_table["33124"] = [196,87] let s:lib.Codec.encoding_table["33126"] = [196,88] let s:lib.Codec.encoding_table["33128"] = [196,89] let s:lib.Codec.encoding_table["33130"] = [196,90] let s:lib.Codec.encoding_table["33131"] = [196,91] let s:lib.Codec.encoding_table["33132"] = [196,92] let s:lib.Codec.encoding_table["33135"] = [196,93] let s:lib.Codec.encoding_table["33138"] = [196,94] let s:lib.Codec.encoding_table["33139"] = [196,95] let s:lib.Codec.encoding_table["33141"] = [196,96] let s:lib.Codec.encoding_table["33142"] = [196,97] let s:lib.Codec.encoding_table["33143"] = [196,98] let s:lib.Codec.encoding_table["33144"] = [196,99] let s:lib.Codec.encoding_table["33153"] = [196,100] let s:lib.Codec.encoding_table["33155"] = [196,101] let s:lib.Codec.encoding_table["33156"] = [196,102] let s:lib.Codec.encoding_table["33157"] = [196,103] let s:lib.Codec.encoding_table["33158"] = [196,104] let s:lib.Codec.encoding_table["33159"] = [196,105] let s:lib.Codec.encoding_table["33161"] = [196,106] let s:lib.Codec.encoding_table["33163"] = [196,107] let s:lib.Codec.encoding_table["33164"] = [196,108] let s:lib.Codec.encoding_table["33165"] = [196,109] let s:lib.Codec.encoding_table["33166"] = [196,110] let s:lib.Codec.encoding_table["33168"] = [196,111] let s:lib.Codec.encoding_table["33170"] = [196,112] let s:lib.Codec.encoding_table["33171"] = [196,113] let s:lib.Codec.encoding_table["33172"] = [196,114] let s:lib.Codec.encoding_table["33173"] = [196,115] let s:lib.Codec.encoding_table["33174"] = [196,116] let s:lib.Codec.encoding_table["33175"] = [196,117] let s:lib.Codec.encoding_table["33177"] = [196,118] let s:lib.Codec.encoding_table["33178"] = [196,119] let s:lib.Codec.encoding_table["33182"] = [196,120] let s:lib.Codec.encoding_table["33183"] = [196,121] let s:lib.Codec.encoding_table["33184"] = [196,122] let s:lib.Codec.encoding_table["33185"] = [196,123] let s:lib.Codec.encoding_table["33186"] = [196,124] let s:lib.Codec.encoding_table["33188"] = [196,125] let s:lib.Codec.encoding_table["33189"] = [196,126] let s:lib.Codec.encoding_table["33191"] = [196,128] let s:lib.Codec.encoding_table["33193"] = [196,129] let s:lib.Codec.encoding_table["33195"] = [196,130] let s:lib.Codec.encoding_table["33196"] = [196,131] let s:lib.Codec.encoding_table["33197"] = [196,132] let s:lib.Codec.encoding_table["33198"] = [196,133] let s:lib.Codec.encoding_table["33199"] = [196,134] let s:lib.Codec.encoding_table["33200"] = [196,135] let s:lib.Codec.encoding_table["33201"] = [196,136] let s:lib.Codec.encoding_table["33202"] = [196,137] let s:lib.Codec.encoding_table["33204"] = [196,138] let s:lib.Codec.encoding_table["33205"] = [196,139] let s:lib.Codec.encoding_table["33206"] = [196,140] let s:lib.Codec.encoding_table["33207"] = [196,141] let s:lib.Codec.encoding_table["33208"] = [196,142] let s:lib.Codec.encoding_table["33209"] = [196,143] let s:lib.Codec.encoding_table["33212"] = [196,144] let s:lib.Codec.encoding_table["33213"] = [196,145] let s:lib.Codec.encoding_table["33214"] = [196,146] let s:lib.Codec.encoding_table["33215"] = [196,147] let s:lib.Codec.encoding_table["33220"] = [196,148] let s:lib.Codec.encoding_table["33221"] = [196,149] let s:lib.Codec.encoding_table["33223"] = [196,150] let s:lib.Codec.encoding_table["33224"] = [196,151] let s:lib.Codec.encoding_table["33225"] = [196,152] let s:lib.Codec.encoding_table["33227"] = [196,153] let s:lib.Codec.encoding_table["33229"] = [196,154] let s:lib.Codec.encoding_table["33230"] = [196,155] let s:lib.Codec.encoding_table["33231"] = [196,156] let s:lib.Codec.encoding_table["33232"] = [196,157] let s:lib.Codec.encoding_table["33233"] = [196,158] let s:lib.Codec.encoding_table["33234"] = [196,159] let s:lib.Codec.encoding_table["33235"] = [196,160] let s:lib.Codec.encoding_table["25721"] = [196,161] let s:lib.Codec.encoding_table["34321"] = [196,162] let s:lib.Codec.encoding_table["27169"] = [196,163] let s:lib.Codec.encoding_table["33180"] = [196,164] let s:lib.Codec.encoding_table["30952"] = [196,165] let s:lib.Codec.encoding_table["25705"] = [196,166] let s:lib.Codec.encoding_table["39764"] = [196,167] let s:lib.Codec.encoding_table["25273"] = [196,168] let s:lib.Codec.encoding_table["26411"] = [196,169] let s:lib.Codec.encoding_table["33707"] = [196,170] let s:lib.Codec.encoding_table["22696"] = [196,171] let s:lib.Codec.encoding_table["40664"] = [196,172] let s:lib.Codec.encoding_table["27819"] = [196,173] let s:lib.Codec.encoding_table["28448"] = [196,174] let s:lib.Codec.encoding_table["23518"] = [196,175] let s:lib.Codec.encoding_table["38476"] = [196,176] let s:lib.Codec.encoding_table["35851"] = [196,177] let s:lib.Codec.encoding_table["29279"] = [196,178] let s:lib.Codec.encoding_table["26576"] = [196,179] let s:lib.Codec.encoding_table["25287"] = [196,180] let s:lib.Codec.encoding_table["29281"] = [196,181] let s:lib.Codec.encoding_table["20137"] = [196,182] let s:lib.Codec.encoding_table["22982"] = [196,183] let s:lib.Codec.encoding_table["27597"] = [196,184] let s:lib.Codec.encoding_table["22675"] = [196,185] let s:lib.Codec.encoding_table["26286"] = [196,186] let s:lib.Codec.encoding_table["24149"] = [196,187] let s:lib.Codec.encoding_table["21215"] = [196,188] let s:lib.Codec.encoding_table["24917"] = [196,189] let s:lib.Codec.encoding_table["26408"] = [196,190] let s:lib.Codec.encoding_table["30446"] = [196,191] let s:lib.Codec.encoding_table["30566"] = [196,192] let s:lib.Codec.encoding_table["29287"] = [196,193] let s:lib.Codec.encoding_table["31302"] = [196,194] let s:lib.Codec.encoding_table["25343"] = [196,195] let s:lib.Codec.encoding_table["21738"] = [196,196] let s:lib.Codec.encoding_table["21584"] = [196,197] let s:lib.Codec.encoding_table["38048"] = [196,198] let s:lib.Codec.encoding_table["37027"] = [196,199] let s:lib.Codec.encoding_table["23068"] = [196,200] let s:lib.Codec.encoding_table["32435"] = [196,201] let s:lib.Codec.encoding_table["27670"] = [196,202] let s:lib.Codec.encoding_table["20035"] = [196,203] let s:lib.Codec.encoding_table["22902"] = [196,204] let s:lib.Codec.encoding_table["32784"] = [196,205] let s:lib.Codec.encoding_table["22856"] = [196,206] let s:lib.Codec.encoding_table["21335"] = [196,207] let s:lib.Codec.encoding_table["30007"] = [196,208] let s:lib.Codec.encoding_table["38590"] = [196,209] let s:lib.Codec.encoding_table["22218"] = [196,210] let s:lib.Codec.encoding_table["25376"] = [196,211] let s:lib.Codec.encoding_table["33041"] = [196,212] let s:lib.Codec.encoding_table["24700"] = [196,213] let s:lib.Codec.encoding_table["38393"] = [196,214] let s:lib.Codec.encoding_table["28118"] = [196,215] let s:lib.Codec.encoding_table["21602"] = [196,216] let s:lib.Codec.encoding_table["39297"] = [196,217] let s:lib.Codec.encoding_table["20869"] = [196,218] let s:lib.Codec.encoding_table["23273"] = [196,219] let s:lib.Codec.encoding_table["33021"] = [196,220] let s:lib.Codec.encoding_table["22958"] = [196,221] let s:lib.Codec.encoding_table["38675"] = [196,222] let s:lib.Codec.encoding_table["20522"] = [196,223] let s:lib.Codec.encoding_table["27877"] = [196,224] let s:lib.Codec.encoding_table["23612"] = [196,225] let s:lib.Codec.encoding_table["25311"] = [196,226] let s:lib.Codec.encoding_table["20320"] = [196,227] let s:lib.Codec.encoding_table["21311"] = [196,228] let s:lib.Codec.encoding_table["33147"] = [196,229] let s:lib.Codec.encoding_table["36870"] = [196,230] let s:lib.Codec.encoding_table["28346"] = [196,231] let s:lib.Codec.encoding_table["34091"] = [196,232] let s:lib.Codec.encoding_table["25288"] = [196,233] let s:lib.Codec.encoding_table["24180"] = [196,234] let s:lib.Codec.encoding_table["30910"] = [196,235] let s:lib.Codec.encoding_table["25781"] = [196,236] let s:lib.Codec.encoding_table["25467"] = [196,237] let s:lib.Codec.encoding_table["24565"] = [196,238] let s:lib.Codec.encoding_table["23064"] = [196,239] let s:lib.Codec.encoding_table["37247"] = [196,240] let s:lib.Codec.encoding_table["40479"] = [196,241] let s:lib.Codec.encoding_table["23615"] = [196,242] let s:lib.Codec.encoding_table["25423"] = [196,243] let s:lib.Codec.encoding_table["32834"] = [196,244] let s:lib.Codec.encoding_table["23421"] = [196,245] let s:lib.Codec.encoding_table["21870"] = [196,246] let s:lib.Codec.encoding_table["38218"] = [196,247] let s:lib.Codec.encoding_table["38221"] = [196,248] let s:lib.Codec.encoding_table["28037"] = [196,249] let s:lib.Codec.encoding_table["24744"] = [196,250] let s:lib.Codec.encoding_table["26592"] = [196,251] let s:lib.Codec.encoding_table["29406"] = [196,252] let s:lib.Codec.encoding_table["20957"] = [196,253] let s:lib.Codec.encoding_table["23425"] = [196,254] let s:lib.Codec.encoding_table["33236"] = [197,64] let s:lib.Codec.encoding_table["33237"] = [197,65] let s:lib.Codec.encoding_table["33238"] = [197,66] let s:lib.Codec.encoding_table["33239"] = [197,67] let s:lib.Codec.encoding_table["33240"] = [197,68] let s:lib.Codec.encoding_table["33241"] = [197,69] let s:lib.Codec.encoding_table["33242"] = [197,70] let s:lib.Codec.encoding_table["33243"] = [197,71] let s:lib.Codec.encoding_table["33244"] = [197,72] let s:lib.Codec.encoding_table["33245"] = [197,73] let s:lib.Codec.encoding_table["33246"] = [197,74] let s:lib.Codec.encoding_table["33247"] = [197,75] let s:lib.Codec.encoding_table["33248"] = [197,76] let s:lib.Codec.encoding_table["33249"] = [197,77] let s:lib.Codec.encoding_table["33250"] = [197,78] let s:lib.Codec.encoding_table["33252"] = [197,79] let s:lib.Codec.encoding_table["33253"] = [197,80] let s:lib.Codec.encoding_table["33254"] = [197,81] let s:lib.Codec.encoding_table["33256"] = [197,82] let s:lib.Codec.encoding_table["33257"] = [197,83] let s:lib.Codec.encoding_table["33259"] = [197,84] let s:lib.Codec.encoding_table["33262"] = [197,85] let s:lib.Codec.encoding_table["33263"] = [197,86] let s:lib.Codec.encoding_table["33264"] = [197,87] let s:lib.Codec.encoding_table["33265"] = [197,88] let s:lib.Codec.encoding_table["33266"] = [197,89] let s:lib.Codec.encoding_table["33269"] = [197,90] let s:lib.Codec.encoding_table["33270"] = [197,91] let s:lib.Codec.encoding_table["33271"] = [197,92] let s:lib.Codec.encoding_table["33272"] = [197,93] let s:lib.Codec.encoding_table["33273"] = [197,94] let s:lib.Codec.encoding_table["33274"] = [197,95] let s:lib.Codec.encoding_table["33277"] = [197,96] let s:lib.Codec.encoding_table["33279"] = [197,97] let s:lib.Codec.encoding_table["33283"] = [197,98] let s:lib.Codec.encoding_table["33287"] = [197,99] let s:lib.Codec.encoding_table["33288"] = [197,100] let s:lib.Codec.encoding_table["33289"] = [197,101] let s:lib.Codec.encoding_table["33290"] = [197,102] let s:lib.Codec.encoding_table["33291"] = [197,103] let s:lib.Codec.encoding_table["33294"] = [197,104] let s:lib.Codec.encoding_table["33295"] = [197,105] let s:lib.Codec.encoding_table["33297"] = [197,106] let s:lib.Codec.encoding_table["33299"] = [197,107] let s:lib.Codec.encoding_table["33301"] = [197,108] let s:lib.Codec.encoding_table["33302"] = [197,109] let s:lib.Codec.encoding_table["33303"] = [197,110] let s:lib.Codec.encoding_table["33304"] = [197,111] let s:lib.Codec.encoding_table["33305"] = [197,112] let s:lib.Codec.encoding_table["33306"] = [197,113] let s:lib.Codec.encoding_table["33309"] = [197,114] let s:lib.Codec.encoding_table["33312"] = [197,115] let s:lib.Codec.encoding_table["33316"] = [197,116] let s:lib.Codec.encoding_table["33317"] = [197,117] let s:lib.Codec.encoding_table["33318"] = [197,118] let s:lib.Codec.encoding_table["33319"] = [197,119] let s:lib.Codec.encoding_table["33321"] = [197,120] let s:lib.Codec.encoding_table["33326"] = [197,121] let s:lib.Codec.encoding_table["33330"] = [197,122] let s:lib.Codec.encoding_table["33338"] = [197,123] let s:lib.Codec.encoding_table["33340"] = [197,124] let s:lib.Codec.encoding_table["33341"] = [197,125] let s:lib.Codec.encoding_table["33343"] = [197,126] let s:lib.Codec.encoding_table["33344"] = [197,128] let s:lib.Codec.encoding_table["33345"] = [197,129] let s:lib.Codec.encoding_table["33346"] = [197,130] let s:lib.Codec.encoding_table["33347"] = [197,131] let s:lib.Codec.encoding_table["33349"] = [197,132] let s:lib.Codec.encoding_table["33350"] = [197,133] let s:lib.Codec.encoding_table["33352"] = [197,134] let s:lib.Codec.encoding_table["33354"] = [197,135] let s:lib.Codec.encoding_table["33356"] = [197,136] let s:lib.Codec.encoding_table["33357"] = [197,137] let s:lib.Codec.encoding_table["33358"] = [197,138] let s:lib.Codec.encoding_table["33360"] = [197,139] let s:lib.Codec.encoding_table["33361"] = [197,140] let s:lib.Codec.encoding_table["33362"] = [197,141] let s:lib.Codec.encoding_table["33363"] = [197,142] let s:lib.Codec.encoding_table["33364"] = [197,143] let s:lib.Codec.encoding_table["33365"] = [197,144] let s:lib.Codec.encoding_table["33366"] = [197,145] let s:lib.Codec.encoding_table["33367"] = [197,146] let s:lib.Codec.encoding_table["33369"] = [197,147] let s:lib.Codec.encoding_table["33371"] = [197,148] let s:lib.Codec.encoding_table["33372"] = [197,149] let s:lib.Codec.encoding_table["33373"] = [197,150] let s:lib.Codec.encoding_table["33374"] = [197,151] let s:lib.Codec.encoding_table["33376"] = [197,152] let s:lib.Codec.encoding_table["33377"] = [197,153] let s:lib.Codec.encoding_table["33378"] = [197,154] let s:lib.Codec.encoding_table["33379"] = [197,155] let s:lib.Codec.encoding_table["33380"] = [197,156] let s:lib.Codec.encoding_table["33381"] = [197,157] let s:lib.Codec.encoding_table["33382"] = [197,158] let s:lib.Codec.encoding_table["33383"] = [197,159] let s:lib.Codec.encoding_table["33385"] = [197,160] let s:lib.Codec.encoding_table["25319"] = [197,161] let s:lib.Codec.encoding_table["27870"] = [197,162] let s:lib.Codec.encoding_table["29275"] = [197,163] let s:lib.Codec.encoding_table["25197"] = [197,164] let s:lib.Codec.encoding_table["38062"] = [197,165] let s:lib.Codec.encoding_table["32445"] = [197,166] let s:lib.Codec.encoding_table["33043"] = [197,167] let s:lib.Codec.encoding_table["27987"] = [197,168] let s:lib.Codec.encoding_table["20892"] = [197,169] let s:lib.Codec.encoding_table["24324"] = [197,170] let s:lib.Codec.encoding_table["22900"] = [197,171] let s:lib.Codec.encoding_table["21162"] = [197,172] let s:lib.Codec.encoding_table["24594"] = [197,173] let s:lib.Codec.encoding_table["22899"] = [197,174] let s:lib.Codec.encoding_table["26262"] = [197,175] let s:lib.Codec.encoding_table["34384"] = [197,176] let s:lib.Codec.encoding_table["30111"] = [197,177] let s:lib.Codec.encoding_table["25386"] = [197,178] let s:lib.Codec.encoding_table["25062"] = [197,179] let s:lib.Codec.encoding_table["31983"] = [197,180] let s:lib.Codec.encoding_table["35834"] = [197,181] let s:lib.Codec.encoding_table["21734"] = [197,182] let s:lib.Codec.encoding_table["27431"] = [197,183] let s:lib.Codec.encoding_table["40485"] = [197,184] let s:lib.Codec.encoding_table["27572"] = [197,185] let s:lib.Codec.encoding_table["34261"] = [197,186] let s:lib.Codec.encoding_table["21589"] = [197,187] let s:lib.Codec.encoding_table["20598"] = [197,188] let s:lib.Codec.encoding_table["27812"] = [197,189] let s:lib.Codec.encoding_table["21866"] = [197,190] let s:lib.Codec.encoding_table["36276"] = [197,191] let s:lib.Codec.encoding_table["29228"] = [197,192] let s:lib.Codec.encoding_table["24085"] = [197,193] let s:lib.Codec.encoding_table["24597"] = [197,194] let s:lib.Codec.encoding_table["29750"] = [197,195] let s:lib.Codec.encoding_table["25293"] = [197,196] let s:lib.Codec.encoding_table["25490"] = [197,197] let s:lib.Codec.encoding_table["29260"] = [197,198] let s:lib.Codec.encoding_table["24472"] = [197,199] let s:lib.Codec.encoding_table["28227"] = [197,200] let s:lib.Codec.encoding_table["27966"] = [197,201] let s:lib.Codec.encoding_table["25856"] = [197,202] let s:lib.Codec.encoding_table["28504"] = [197,203] let s:lib.Codec.encoding_table["30424"] = [197,204] let s:lib.Codec.encoding_table["30928"] = [197,205] let s:lib.Codec.encoding_table["30460"] = [197,206] let s:lib.Codec.encoding_table["30036"] = [197,207] let s:lib.Codec.encoding_table["21028"] = [197,208] let s:lib.Codec.encoding_table["21467"] = [197,209] let s:lib.Codec.encoding_table["20051"] = [197,210] let s:lib.Codec.encoding_table["24222"] = [197,211] let s:lib.Codec.encoding_table["26049"] = [197,212] let s:lib.Codec.encoding_table["32810"] = [197,213] let s:lib.Codec.encoding_table["32982"] = [197,214] let s:lib.Codec.encoding_table["25243"] = [197,215] let s:lib.Codec.encoding_table["21638"] = [197,216] let s:lib.Codec.encoding_table["21032"] = [197,217] let s:lib.Codec.encoding_table["28846"] = [197,218] let s:lib.Codec.encoding_table["34957"] = [197,219] let s:lib.Codec.encoding_table["36305"] = [197,220] let s:lib.Codec.encoding_table["27873"] = [197,221] let s:lib.Codec.encoding_table["21624"] = [197,222] let s:lib.Codec.encoding_table["32986"] = [197,223] let s:lib.Codec.encoding_table["22521"] = [197,224] let s:lib.Codec.encoding_table["35060"] = [197,225] let s:lib.Codec.encoding_table["36180"] = [197,226] let s:lib.Codec.encoding_table["38506"] = [197,227] let s:lib.Codec.encoding_table["37197"] = [197,228] let s:lib.Codec.encoding_table["20329"] = [197,229] let s:lib.Codec.encoding_table["27803"] = [197,230] let s:lib.Codec.encoding_table["21943"] = [197,231] let s:lib.Codec.encoding_table["30406"] = [197,232] let s:lib.Codec.encoding_table["30768"] = [197,233] let s:lib.Codec.encoding_table["25256"] = [197,234] let s:lib.Codec.encoding_table["28921"] = [197,235] let s:lib.Codec.encoding_table["28558"] = [197,236] let s:lib.Codec.encoding_table["24429"] = [197,237] let s:lib.Codec.encoding_table["34028"] = [197,238] let s:lib.Codec.encoding_table["26842"] = [197,239] let s:lib.Codec.encoding_table["30844"] = [197,240] let s:lib.Codec.encoding_table["31735"] = [197,241] let s:lib.Codec.encoding_table["33192"] = [197,242] let s:lib.Codec.encoding_table["26379"] = [197,243] let s:lib.Codec.encoding_table["40527"] = [197,244] let s:lib.Codec.encoding_table["25447"] = [197,245] let s:lib.Codec.encoding_table["30896"] = [197,246] let s:lib.Codec.encoding_table["22383"] = [197,247] let s:lib.Codec.encoding_table["30738"] = [197,248] let s:lib.Codec.encoding_table["38713"] = [197,249] let s:lib.Codec.encoding_table["25209"] = [197,250] let s:lib.Codec.encoding_table["25259"] = [197,251] let s:lib.Codec.encoding_table["21128"] = [197,252] let s:lib.Codec.encoding_table["29749"] = [197,253] let s:lib.Codec.encoding_table["27607"] = [197,254] let s:lib.Codec.encoding_table["33386"] = [198,64] let s:lib.Codec.encoding_table["33387"] = [198,65] let s:lib.Codec.encoding_table["33388"] = [198,66] let s:lib.Codec.encoding_table["33389"] = [198,67] let s:lib.Codec.encoding_table["33393"] = [198,68] let s:lib.Codec.encoding_table["33397"] = [198,69] let s:lib.Codec.encoding_table["33398"] = [198,70] let s:lib.Codec.encoding_table["33399"] = [198,71] let s:lib.Codec.encoding_table["33400"] = [198,72] let s:lib.Codec.encoding_table["33403"] = [198,73] let s:lib.Codec.encoding_table["33404"] = [198,74] let s:lib.Codec.encoding_table["33408"] = [198,75] let s:lib.Codec.encoding_table["33409"] = [198,76] let s:lib.Codec.encoding_table["33411"] = [198,77] let s:lib.Codec.encoding_table["33413"] = [198,78] let s:lib.Codec.encoding_table["33414"] = [198,79] let s:lib.Codec.encoding_table["33415"] = [198,80] let s:lib.Codec.encoding_table["33417"] = [198,81] let s:lib.Codec.encoding_table["33420"] = [198,82] let s:lib.Codec.encoding_table["33424"] = [198,83] let s:lib.Codec.encoding_table["33427"] = [198,84] let s:lib.Codec.encoding_table["33428"] = [198,85] let s:lib.Codec.encoding_table["33429"] = [198,86] let s:lib.Codec.encoding_table["33430"] = [198,87] let s:lib.Codec.encoding_table["33434"] = [198,88] let s:lib.Codec.encoding_table["33435"] = [198,89] let s:lib.Codec.encoding_table["33438"] = [198,90] let s:lib.Codec.encoding_table["33440"] = [198,91] let s:lib.Codec.encoding_table["33442"] = [198,92] let s:lib.Codec.encoding_table["33443"] = [198,93] let s:lib.Codec.encoding_table["33447"] = [198,94] let s:lib.Codec.encoding_table["33458"] = [198,95] let s:lib.Codec.encoding_table["33461"] = [198,96] let s:lib.Codec.encoding_table["33462"] = [198,97] let s:lib.Codec.encoding_table["33466"] = [198,98] let s:lib.Codec.encoding_table["33467"] = [198,99] let s:lib.Codec.encoding_table["33468"] = [198,100] let s:lib.Codec.encoding_table["33471"] = [198,101] let s:lib.Codec.encoding_table["33472"] = [198,102] let s:lib.Codec.encoding_table["33474"] = [198,103] let s:lib.Codec.encoding_table["33475"] = [198,104] let s:lib.Codec.encoding_table["33477"] = [198,105] let s:lib.Codec.encoding_table["33478"] = [198,106] let s:lib.Codec.encoding_table["33481"] = [198,107] let s:lib.Codec.encoding_table["33488"] = [198,108] let s:lib.Codec.encoding_table["33494"] = [198,109] let s:lib.Codec.encoding_table["33497"] = [198,110] let s:lib.Codec.encoding_table["33498"] = [198,111] let s:lib.Codec.encoding_table["33501"] = [198,112] let s:lib.Codec.encoding_table["33506"] = [198,113] let s:lib.Codec.encoding_table["33511"] = [198,114] let s:lib.Codec.encoding_table["33512"] = [198,115] let s:lib.Codec.encoding_table["33513"] = [198,116] let s:lib.Codec.encoding_table["33514"] = [198,117] let s:lib.Codec.encoding_table["33516"] = [198,118] let s:lib.Codec.encoding_table["33517"] = [198,119] let s:lib.Codec.encoding_table["33518"] = [198,120] let s:lib.Codec.encoding_table["33520"] = [198,121] let s:lib.Codec.encoding_table["33522"] = [198,122] let s:lib.Codec.encoding_table["33523"] = [198,123] let s:lib.Codec.encoding_table["33525"] = [198,124] let s:lib.Codec.encoding_table["33526"] = [198,125] let s:lib.Codec.encoding_table["33528"] = [198,126] let s:lib.Codec.encoding_table["33530"] = [198,128] let s:lib.Codec.encoding_table["33532"] = [198,129] let s:lib.Codec.encoding_table["33533"] = [198,130] let s:lib.Codec.encoding_table["33534"] = [198,131] let s:lib.Codec.encoding_table["33535"] = [198,132] let s:lib.Codec.encoding_table["33536"] = [198,133] let s:lib.Codec.encoding_table["33546"] = [198,134] let s:lib.Codec.encoding_table["33547"] = [198,135] let s:lib.Codec.encoding_table["33549"] = [198,136] let s:lib.Codec.encoding_table["33552"] = [198,137] let s:lib.Codec.encoding_table["33554"] = [198,138] let s:lib.Codec.encoding_table["33555"] = [198,139] let s:lib.Codec.encoding_table["33558"] = [198,140] let s:lib.Codec.encoding_table["33560"] = [198,141] let s:lib.Codec.encoding_table["33561"] = [198,142] let s:lib.Codec.encoding_table["33565"] = [198,143] let s:lib.Codec.encoding_table["33566"] = [198,144] let s:lib.Codec.encoding_table["33567"] = [198,145] let s:lib.Codec.encoding_table["33568"] = [198,146] let s:lib.Codec.encoding_table["33569"] = [198,147] let s:lib.Codec.encoding_table["33570"] = [198,148] let s:lib.Codec.encoding_table["33571"] = [198,149] let s:lib.Codec.encoding_table["33572"] = [198,150] let s:lib.Codec.encoding_table["33573"] = [198,151] let s:lib.Codec.encoding_table["33574"] = [198,152] let s:lib.Codec.encoding_table["33577"] = [198,153] let s:lib.Codec.encoding_table["33578"] = [198,154] let s:lib.Codec.encoding_table["33582"] = [198,155] let s:lib.Codec.encoding_table["33584"] = [198,156] let s:lib.Codec.encoding_table["33586"] = [198,157] let s:lib.Codec.encoding_table["33591"] = [198,158] let s:lib.Codec.encoding_table["33595"] = [198,159] let s:lib.Codec.encoding_table["33597"] = [198,160] let s:lib.Codec.encoding_table["21860"] = [198,161] let s:lib.Codec.encoding_table["33086"] = [198,162] let s:lib.Codec.encoding_table["30130"] = [198,163] let s:lib.Codec.encoding_table["30382"] = [198,164] let s:lib.Codec.encoding_table["21305"] = [198,165] let s:lib.Codec.encoding_table["30174"] = [198,166] let s:lib.Codec.encoding_table["20731"] = [198,167] let s:lib.Codec.encoding_table["23617"] = [198,168] let s:lib.Codec.encoding_table["35692"] = [198,169] let s:lib.Codec.encoding_table["31687"] = [198,170] let s:lib.Codec.encoding_table["20559"] = [198,171] let s:lib.Codec.encoding_table["29255"] = [198,172] let s:lib.Codec.encoding_table["39575"] = [198,173] let s:lib.Codec.encoding_table["39128"] = [198,174] let s:lib.Codec.encoding_table["28418"] = [198,175] let s:lib.Codec.encoding_table["29922"] = [198,176] let s:lib.Codec.encoding_table["31080"] = [198,177] let s:lib.Codec.encoding_table["25735"] = [198,178] let s:lib.Codec.encoding_table["30629"] = [198,179] let s:lib.Codec.encoding_table["25340"] = [198,180] let s:lib.Codec.encoding_table["39057"] = [198,181] let s:lib.Codec.encoding_table["36139"] = [198,182] let s:lib.Codec.encoding_table["21697"] = [198,183] let s:lib.Codec.encoding_table["32856"] = [198,184] let s:lib.Codec.encoding_table["20050"] = [198,185] let s:lib.Codec.encoding_table["22378"] = [198,186] let s:lib.Codec.encoding_table["33529"] = [198,187] let s:lib.Codec.encoding_table["33805"] = [198,188] let s:lib.Codec.encoding_table["24179"] = [198,189] let s:lib.Codec.encoding_table["20973"] = [198,190] let s:lib.Codec.encoding_table["29942"] = [198,191] let s:lib.Codec.encoding_table["35780"] = [198,192] let s:lib.Codec.encoding_table["23631"] = [198,193] let s:lib.Codec.encoding_table["22369"] = [198,194] let s:lib.Codec.encoding_table["27900"] = [198,195] let s:lib.Codec.encoding_table["39047"] = [198,196] let s:lib.Codec.encoding_table["23110"] = [198,197] let s:lib.Codec.encoding_table["30772"] = [198,198] let s:lib.Codec.encoding_table["39748"] = [198,199] let s:lib.Codec.encoding_table["36843"] = [198,200] let s:lib.Codec.encoding_table["31893"] = [198,201] let s:lib.Codec.encoding_table["21078"] = [198,202] let s:lib.Codec.encoding_table["25169"] = [198,203] let s:lib.Codec.encoding_table["38138"] = [198,204] let s:lib.Codec.encoding_table["20166"] = [198,205] let s:lib.Codec.encoding_table["33670"] = [198,206] let s:lib.Codec.encoding_table["33889"] = [198,207] let s:lib.Codec.encoding_table["33769"] = [198,208] let s:lib.Codec.encoding_table["33970"] = [198,209] let s:lib.Codec.encoding_table["22484"] = [198,210] let s:lib.Codec.encoding_table["26420"] = [198,211] let s:lib.Codec.encoding_table["22275"] = [198,212] let s:lib.Codec.encoding_table["26222"] = [198,213] let s:lib.Codec.encoding_table["28006"] = [198,214] let s:lib.Codec.encoding_table["35889"] = [198,215] let s:lib.Codec.encoding_table["26333"] = [198,216] let s:lib.Codec.encoding_table["28689"] = [198,217] let s:lib.Codec.encoding_table["26399"] = [198,218] let s:lib.Codec.encoding_table["27450"] = [198,219] let s:lib.Codec.encoding_table["26646"] = [198,220] let s:lib.Codec.encoding_table["25114"] = [198,221] let s:lib.Codec.encoding_table["22971"] = [198,222] let s:lib.Codec.encoding_table["19971"] = [198,223] let s:lib.Codec.encoding_table["20932"] = [198,224] let s:lib.Codec.encoding_table["28422"] = [198,225] let s:lib.Codec.encoding_table["26578"] = [198,226] let s:lib.Codec.encoding_table["27791"] = [198,227] let s:lib.Codec.encoding_table["20854"] = [198,228] let s:lib.Codec.encoding_table["26827"] = [198,229] let s:lib.Codec.encoding_table["22855"] = [198,230] let s:lib.Codec.encoding_table["27495"] = [198,231] let s:lib.Codec.encoding_table["30054"] = [198,232] let s:lib.Codec.encoding_table["23822"] = [198,233] let s:lib.Codec.encoding_table["33040"] = [198,234] let s:lib.Codec.encoding_table["40784"] = [198,235] let s:lib.Codec.encoding_table["26071"] = [198,236] let s:lib.Codec.encoding_table["31048"] = [198,237] let s:lib.Codec.encoding_table["31041"] = [198,238] let s:lib.Codec.encoding_table["39569"] = [198,239] let s:lib.Codec.encoding_table["36215"] = [198,240] let s:lib.Codec.encoding_table["23682"] = [198,241] let s:lib.Codec.encoding_table["20062"] = [198,242] let s:lib.Codec.encoding_table["20225"] = [198,243] let s:lib.Codec.encoding_table["21551"] = [198,244] let s:lib.Codec.encoding_table["22865"] = [198,245] let s:lib.Codec.encoding_table["30732"] = [198,246] let s:lib.Codec.encoding_table["22120"] = [198,247] let s:lib.Codec.encoding_table["27668"] = [198,248] let s:lib.Codec.encoding_table["36804"] = [198,249] let s:lib.Codec.encoding_table["24323"] = [198,250] let s:lib.Codec.encoding_table["27773"] = [198,251] let s:lib.Codec.encoding_table["27875"] = [198,252] let s:lib.Codec.encoding_table["35755"] = [198,253] let s:lib.Codec.encoding_table["25488"] = [198,254] let s:lib.Codec.encoding_table["33598"] = [199,64] let s:lib.Codec.encoding_table["33599"] = [199,65] let s:lib.Codec.encoding_table["33601"] = [199,66] let s:lib.Codec.encoding_table["33602"] = [199,67] let s:lib.Codec.encoding_table["33604"] = [199,68] let s:lib.Codec.encoding_table["33605"] = [199,69] let s:lib.Codec.encoding_table["33608"] = [199,70] let s:lib.Codec.encoding_table["33610"] = [199,71] let s:lib.Codec.encoding_table["33611"] = [199,72] let s:lib.Codec.encoding_table["33612"] = [199,73] let s:lib.Codec.encoding_table["33613"] = [199,74] let s:lib.Codec.encoding_table["33614"] = [199,75] let s:lib.Codec.encoding_table["33619"] = [199,76] let s:lib.Codec.encoding_table["33621"] = [199,77] let s:lib.Codec.encoding_table["33622"] = [199,78] let s:lib.Codec.encoding_table["33623"] = [199,79] let s:lib.Codec.encoding_table["33624"] = [199,80] let s:lib.Codec.encoding_table["33625"] = [199,81] let s:lib.Codec.encoding_table["33629"] = [199,82] let s:lib.Codec.encoding_table["33634"] = [199,83] let s:lib.Codec.encoding_table["33648"] = [199,84] let s:lib.Codec.encoding_table["33649"] = [199,85] let s:lib.Codec.encoding_table["33650"] = [199,86] let s:lib.Codec.encoding_table["33651"] = [199,87] let s:lib.Codec.encoding_table["33652"] = [199,88] let s:lib.Codec.encoding_table["33653"] = [199,89] let s:lib.Codec.encoding_table["33654"] = [199,90] let s:lib.Codec.encoding_table["33657"] = [199,91] let s:lib.Codec.encoding_table["33658"] = [199,92] let s:lib.Codec.encoding_table["33662"] = [199,93] let s:lib.Codec.encoding_table["33663"] = [199,94] let s:lib.Codec.encoding_table["33664"] = [199,95] let s:lib.Codec.encoding_table["33665"] = [199,96] let s:lib.Codec.encoding_table["33666"] = [199,97] let s:lib.Codec.encoding_table["33667"] = [199,98] let s:lib.Codec.encoding_table["33668"] = [199,99] let s:lib.Codec.encoding_table["33671"] = [199,100] let s:lib.Codec.encoding_table["33672"] = [199,101] let s:lib.Codec.encoding_table["33674"] = [199,102] let s:lib.Codec.encoding_table["33675"] = [199,103] let s:lib.Codec.encoding_table["33676"] = [199,104] let s:lib.Codec.encoding_table["33677"] = [199,105] let s:lib.Codec.encoding_table["33679"] = [199,106] let s:lib.Codec.encoding_table["33680"] = [199,107] let s:lib.Codec.encoding_table["33681"] = [199,108] let s:lib.Codec.encoding_table["33684"] = [199,109] let s:lib.Codec.encoding_table["33685"] = [199,110] let s:lib.Codec.encoding_table["33686"] = [199,111] let s:lib.Codec.encoding_table["33687"] = [199,112] let s:lib.Codec.encoding_table["33689"] = [199,113] let s:lib.Codec.encoding_table["33690"] = [199,114] let s:lib.Codec.encoding_table["33693"] = [199,115] let s:lib.Codec.encoding_table["33695"] = [199,116] let s:lib.Codec.encoding_table["33697"] = [199,117] let s:lib.Codec.encoding_table["33698"] = [199,118] let s:lib.Codec.encoding_table["33699"] = [199,119] let s:lib.Codec.encoding_table["33700"] = [199,120] let s:lib.Codec.encoding_table["33701"] = [199,121] let s:lib.Codec.encoding_table["33702"] = [199,122] let s:lib.Codec.encoding_table["33703"] = [199,123] let s:lib.Codec.encoding_table["33708"] = [199,124] let s:lib.Codec.encoding_table["33709"] = [199,125] let s:lib.Codec.encoding_table["33710"] = [199,126] let s:lib.Codec.encoding_table["33711"] = [199,128] let s:lib.Codec.encoding_table["33717"] = [199,129] let s:lib.Codec.encoding_table["33723"] = [199,130] let s:lib.Codec.encoding_table["33726"] = [199,131] let s:lib.Codec.encoding_table["33727"] = [199,132] let s:lib.Codec.encoding_table["33730"] = [199,133] let s:lib.Codec.encoding_table["33731"] = [199,134] let s:lib.Codec.encoding_table["33732"] = [199,135] let s:lib.Codec.encoding_table["33734"] = [199,136] let s:lib.Codec.encoding_table["33736"] = [199,137] let s:lib.Codec.encoding_table["33737"] = [199,138] let s:lib.Codec.encoding_table["33739"] = [199,139] let s:lib.Codec.encoding_table["33741"] = [199,140] let s:lib.Codec.encoding_table["33742"] = [199,141] let s:lib.Codec.encoding_table["33744"] = [199,142] let s:lib.Codec.encoding_table["33745"] = [199,143] let s:lib.Codec.encoding_table["33746"] = [199,144] let s:lib.Codec.encoding_table["33747"] = [199,145] let s:lib.Codec.encoding_table["33749"] = [199,146] let s:lib.Codec.encoding_table["33751"] = [199,147] let s:lib.Codec.encoding_table["33753"] = [199,148] let s:lib.Codec.encoding_table["33754"] = [199,149] let s:lib.Codec.encoding_table["33755"] = [199,150] let s:lib.Codec.encoding_table["33758"] = [199,151] let s:lib.Codec.encoding_table["33762"] = [199,152] let s:lib.Codec.encoding_table["33763"] = [199,153] let s:lib.Codec.encoding_table["33764"] = [199,154] let s:lib.Codec.encoding_table["33766"] = [199,155] let s:lib.Codec.encoding_table["33767"] = [199,156] let s:lib.Codec.encoding_table["33768"] = [199,157] let s:lib.Codec.encoding_table["33771"] = [199,158] let s:lib.Codec.encoding_table["33772"] = [199,159] let s:lib.Codec.encoding_table["33773"] = [199,160] let s:lib.Codec.encoding_table["24688"] = [199,161] let s:lib.Codec.encoding_table["27965"] = [199,162] let s:lib.Codec.encoding_table["29301"] = [199,163] let s:lib.Codec.encoding_table["25190"] = [199,164] let s:lib.Codec.encoding_table["38030"] = [199,165] let s:lib.Codec.encoding_table["38085"] = [199,166] let s:lib.Codec.encoding_table["21315"] = [199,167] let s:lib.Codec.encoding_table["36801"] = [199,168] let s:lib.Codec.encoding_table["31614"] = [199,169] let s:lib.Codec.encoding_table["20191"] = [199,170] let s:lib.Codec.encoding_table["35878"] = [199,171] let s:lib.Codec.encoding_table["20094"] = [199,172] let s:lib.Codec.encoding_table["40660"] = [199,173] let s:lib.Codec.encoding_table["38065"] = [199,174] let s:lib.Codec.encoding_table["38067"] = [199,175] let s:lib.Codec.encoding_table["21069"] = [199,176] let s:lib.Codec.encoding_table["28508"] = [199,177] let s:lib.Codec.encoding_table["36963"] = [199,178] let s:lib.Codec.encoding_table["27973"] = [199,179] let s:lib.Codec.encoding_table["35892"] = [199,180] let s:lib.Codec.encoding_table["22545"] = [199,181] let s:lib.Codec.encoding_table["23884"] = [199,182] let s:lib.Codec.encoding_table["27424"] = [199,183] let s:lib.Codec.encoding_table["27465"] = [199,184] let s:lib.Codec.encoding_table["26538"] = [199,185] let s:lib.Codec.encoding_table["21595"] = [199,186] let s:lib.Codec.encoding_table["33108"] = [199,187] let s:lib.Codec.encoding_table["32652"] = [199,188] let s:lib.Codec.encoding_table["22681"] = [199,189] let s:lib.Codec.encoding_table["34103"] = [199,190] let s:lib.Codec.encoding_table["24378"] = [199,191] let s:lib.Codec.encoding_table["25250"] = [199,192] let s:lib.Codec.encoding_table["27207"] = [199,193] let s:lib.Codec.encoding_table["38201"] = [199,194] let s:lib.Codec.encoding_table["25970"] = [199,195] let s:lib.Codec.encoding_table["24708"] = [199,196] let s:lib.Codec.encoding_table["26725"] = [199,197] let s:lib.Codec.encoding_table["30631"] = [199,198] let s:lib.Codec.encoding_table["20052"] = [199,199] let s:lib.Codec.encoding_table["20392"] = [199,200] let s:lib.Codec.encoding_table["24039"] = [199,201] let s:lib.Codec.encoding_table["38808"] = [199,202] let s:lib.Codec.encoding_table["25772"] = [199,203] let s:lib.Codec.encoding_table["32728"] = [199,204] let s:lib.Codec.encoding_table["23789"] = [199,205] let s:lib.Codec.encoding_table["20431"] = [199,206] let s:lib.Codec.encoding_table["31373"] = [199,207] let s:lib.Codec.encoding_table["20999"] = [199,208] let s:lib.Codec.encoding_table["33540"] = [199,209] let s:lib.Codec.encoding_table["19988"] = [199,210] let s:lib.Codec.encoding_table["24623"] = [199,211] let s:lib.Codec.encoding_table["31363"] = [199,212] let s:lib.Codec.encoding_table["38054"] = [199,213] let s:lib.Codec.encoding_table["20405"] = [199,214] let s:lib.Codec.encoding_table["20146"] = [199,215] let s:lib.Codec.encoding_table["31206"] = [199,216] let s:lib.Codec.encoding_table["29748"] = [199,217] let s:lib.Codec.encoding_table["21220"] = [199,218] let s:lib.Codec.encoding_table["33465"] = [199,219] let s:lib.Codec.encoding_table["25810"] = [199,220] let s:lib.Codec.encoding_table["31165"] = [199,221] let s:lib.Codec.encoding_table["23517"] = [199,222] let s:lib.Codec.encoding_table["27777"] = [199,223] let s:lib.Codec.encoding_table["38738"] = [199,224] let s:lib.Codec.encoding_table["36731"] = [199,225] let s:lib.Codec.encoding_table["27682"] = [199,226] let s:lib.Codec.encoding_table["20542"] = [199,227] let s:lib.Codec.encoding_table["21375"] = [199,228] let s:lib.Codec.encoding_table["28165"] = [199,229] let s:lib.Codec.encoding_table["25806"] = [199,230] let s:lib.Codec.encoding_table["26228"] = [199,231] let s:lib.Codec.encoding_table["27696"] = [199,232] let s:lib.Codec.encoding_table["24773"] = [199,233] let s:lib.Codec.encoding_table["39031"] = [199,234] let s:lib.Codec.encoding_table["35831"] = [199,235] let s:lib.Codec.encoding_table["24198"] = [199,236] let s:lib.Codec.encoding_table["29756"] = [199,237] let s:lib.Codec.encoding_table["31351"] = [199,238] let s:lib.Codec.encoding_table["31179"] = [199,239] let s:lib.Codec.encoding_table["19992"] = [199,240] let s:lib.Codec.encoding_table["37041"] = [199,241] let s:lib.Codec.encoding_table["29699"] = [199,242] let s:lib.Codec.encoding_table["27714"] = [199,243] let s:lib.Codec.encoding_table["22234"] = [199,244] let s:lib.Codec.encoding_table["37195"] = [199,245] let s:lib.Codec.encoding_table["27845"] = [199,246] let s:lib.Codec.encoding_table["36235"] = [199,247] let s:lib.Codec.encoding_table["21306"] = [199,248] let s:lib.Codec.encoding_table["34502"] = [199,249] let s:lib.Codec.encoding_table["26354"] = [199,250] let s:lib.Codec.encoding_table["36527"] = [199,251] let s:lib.Codec.encoding_table["23624"] = [199,252] let s:lib.Codec.encoding_table["39537"] = [199,253] let s:lib.Codec.encoding_table["28192"] = [199,254] let s:lib.Codec.encoding_table["33774"] = [200,64] let s:lib.Codec.encoding_table["33775"] = [200,65] let s:lib.Codec.encoding_table["33779"] = [200,66] let s:lib.Codec.encoding_table["33780"] = [200,67] let s:lib.Codec.encoding_table["33781"] = [200,68] let s:lib.Codec.encoding_table["33782"] = [200,69] let s:lib.Codec.encoding_table["33783"] = [200,70] let s:lib.Codec.encoding_table["33786"] = [200,71] let s:lib.Codec.encoding_table["33787"] = [200,72] let s:lib.Codec.encoding_table["33788"] = [200,73] let s:lib.Codec.encoding_table["33790"] = [200,74] let s:lib.Codec.encoding_table["33791"] = [200,75] let s:lib.Codec.encoding_table["33792"] = [200,76] let s:lib.Codec.encoding_table["33794"] = [200,77] let s:lib.Codec.encoding_table["33797"] = [200,78] let s:lib.Codec.encoding_table["33799"] = [200,79] let s:lib.Codec.encoding_table["33800"] = [200,80] let s:lib.Codec.encoding_table["33801"] = [200,81] let s:lib.Codec.encoding_table["33802"] = [200,82] let s:lib.Codec.encoding_table["33808"] = [200,83] let s:lib.Codec.encoding_table["33810"] = [200,84] let s:lib.Codec.encoding_table["33811"] = [200,85] let s:lib.Codec.encoding_table["33812"] = [200,86] let s:lib.Codec.encoding_table["33813"] = [200,87] let s:lib.Codec.encoding_table["33814"] = [200,88] let s:lib.Codec.encoding_table["33815"] = [200,89] let s:lib.Codec.encoding_table["33817"] = [200,90] let s:lib.Codec.encoding_table["33818"] = [200,91] let s:lib.Codec.encoding_table["33819"] = [200,92] let s:lib.Codec.encoding_table["33822"] = [200,93] let s:lib.Codec.encoding_table["33823"] = [200,94] let s:lib.Codec.encoding_table["33824"] = [200,95] let s:lib.Codec.encoding_table["33825"] = [200,96] let s:lib.Codec.encoding_table["33826"] = [200,97] let s:lib.Codec.encoding_table["33827"] = [200,98] let s:lib.Codec.encoding_table["33833"] = [200,99] let s:lib.Codec.encoding_table["33834"] = [200,100] let s:lib.Codec.encoding_table["33835"] = [200,101] let s:lib.Codec.encoding_table["33836"] = [200,102] let s:lib.Codec.encoding_table["33837"] = [200,103] let s:lib.Codec.encoding_table["33838"] = [200,104] let s:lib.Codec.encoding_table["33839"] = [200,105] let s:lib.Codec.encoding_table["33840"] = [200,106] let s:lib.Codec.encoding_table["33842"] = [200,107] let s:lib.Codec.encoding_table["33843"] = [200,108] let s:lib.Codec.encoding_table["33844"] = [200,109] let s:lib.Codec.encoding_table["33845"] = [200,110] let s:lib.Codec.encoding_table["33846"] = [200,111] let s:lib.Codec.encoding_table["33847"] = [200,112] let s:lib.Codec.encoding_table["33849"] = [200,113] let s:lib.Codec.encoding_table["33850"] = [200,114] let s:lib.Codec.encoding_table["33851"] = [200,115] let s:lib.Codec.encoding_table["33854"] = [200,116] let s:lib.Codec.encoding_table["33855"] = [200,117] let s:lib.Codec.encoding_table["33856"] = [200,118] let s:lib.Codec.encoding_table["33857"] = [200,119] let s:lib.Codec.encoding_table["33858"] = [200,120] let s:lib.Codec.encoding_table["33859"] = [200,121] let s:lib.Codec.encoding_table["33860"] = [200,122] let s:lib.Codec.encoding_table["33861"] = [200,123] let s:lib.Codec.encoding_table["33863"] = [200,124] let s:lib.Codec.encoding_table["33864"] = [200,125] let s:lib.Codec.encoding_table["33865"] = [200,126] let s:lib.Codec.encoding_table["33866"] = [200,128] let s:lib.Codec.encoding_table["33867"] = [200,129] let s:lib.Codec.encoding_table["33868"] = [200,130] let s:lib.Codec.encoding_table["33869"] = [200,131] let s:lib.Codec.encoding_table["33870"] = [200,132] let s:lib.Codec.encoding_table["33871"] = [200,133] let s:lib.Codec.encoding_table["33872"] = [200,134] let s:lib.Codec.encoding_table["33874"] = [200,135] let s:lib.Codec.encoding_table["33875"] = [200,136] let s:lib.Codec.encoding_table["33876"] = [200,137] let s:lib.Codec.encoding_table["33877"] = [200,138] let s:lib.Codec.encoding_table["33878"] = [200,139] let s:lib.Codec.encoding_table["33880"] = [200,140] let s:lib.Codec.encoding_table["33885"] = [200,141] let s:lib.Codec.encoding_table["33886"] = [200,142] let s:lib.Codec.encoding_table["33887"] = [200,143] let s:lib.Codec.encoding_table["33888"] = [200,144] let s:lib.Codec.encoding_table["33890"] = [200,145] let s:lib.Codec.encoding_table["33892"] = [200,146] let s:lib.Codec.encoding_table["33893"] = [200,147] let s:lib.Codec.encoding_table["33894"] = [200,148] let s:lib.Codec.encoding_table["33895"] = [200,149] let s:lib.Codec.encoding_table["33896"] = [200,150] let s:lib.Codec.encoding_table["33898"] = [200,151] let s:lib.Codec.encoding_table["33902"] = [200,152] let s:lib.Codec.encoding_table["33903"] = [200,153] let s:lib.Codec.encoding_table["33904"] = [200,154] let s:lib.Codec.encoding_table["33906"] = [200,155] let s:lib.Codec.encoding_table["33908"] = [200,156] let s:lib.Codec.encoding_table["33911"] = [200,157] let s:lib.Codec.encoding_table["33913"] = [200,158] let s:lib.Codec.encoding_table["33915"] = [200,159] let s:lib.Codec.encoding_table["33916"] = [200,160] let s:lib.Codec.encoding_table["21462"] = [200,161] let s:lib.Codec.encoding_table["23094"] = [200,162] let s:lib.Codec.encoding_table["40843"] = [200,163] let s:lib.Codec.encoding_table["36259"] = [200,164] let s:lib.Codec.encoding_table["21435"] = [200,165] let s:lib.Codec.encoding_table["22280"] = [200,166] let s:lib.Codec.encoding_table["39079"] = [200,167] let s:lib.Codec.encoding_table["26435"] = [200,168] let s:lib.Codec.encoding_table["37275"] = [200,169] let s:lib.Codec.encoding_table["27849"] = [200,170] let s:lib.Codec.encoding_table["20840"] = [200,171] let s:lib.Codec.encoding_table["30154"] = [200,172] let s:lib.Codec.encoding_table["25331"] = [200,173] let s:lib.Codec.encoding_table["29356"] = [200,174] let s:lib.Codec.encoding_table["21048"] = [200,175] let s:lib.Codec.encoding_table["21149"] = [200,176] let s:lib.Codec.encoding_table["32570"] = [200,177] let s:lib.Codec.encoding_table["28820"] = [200,178] let s:lib.Codec.encoding_table["30264"] = [200,179] let s:lib.Codec.encoding_table["21364"] = [200,180] let s:lib.Codec.encoding_table["40522"] = [200,181] let s:lib.Codec.encoding_table["27063"] = [200,182] let s:lib.Codec.encoding_table["30830"] = [200,183] let s:lib.Codec.encoding_table["38592"] = [200,184] let s:lib.Codec.encoding_table["35033"] = [200,185] let s:lib.Codec.encoding_table["32676"] = [200,186] let s:lib.Codec.encoding_table["28982"] = [200,187] let s:lib.Codec.encoding_table["29123"] = [200,188] let s:lib.Codec.encoding_table["20873"] = [200,189] let s:lib.Codec.encoding_table["26579"] = [200,190] let s:lib.Codec.encoding_table["29924"] = [200,191] let s:lib.Codec.encoding_table["22756"] = [200,192] let s:lib.Codec.encoding_table["25880"] = [200,193] let s:lib.Codec.encoding_table["22199"] = [200,194] let s:lib.Codec.encoding_table["35753"] = [200,195] let s:lib.Codec.encoding_table["39286"] = [200,196] let s:lib.Codec.encoding_table["25200"] = [200,197] let s:lib.Codec.encoding_table["32469"] = [200,198] let s:lib.Codec.encoding_table["24825"] = [200,199] let s:lib.Codec.encoding_table["28909"] = [200,200] let s:lib.Codec.encoding_table["22764"] = [200,201] let s:lib.Codec.encoding_table["20161"] = [200,202] let s:lib.Codec.encoding_table["20154"] = [200,203] let s:lib.Codec.encoding_table["24525"] = [200,204] let s:lib.Codec.encoding_table["38887"] = [200,205] let s:lib.Codec.encoding_table["20219"] = [200,206] let s:lib.Codec.encoding_table["35748"] = [200,207] let s:lib.Codec.encoding_table["20995"] = [200,208] let s:lib.Codec.encoding_table["22922"] = [200,209] let s:lib.Codec.encoding_table["32427"] = [200,210] let s:lib.Codec.encoding_table["25172"] = [200,211] let s:lib.Codec.encoding_table["20173"] = [200,212] let s:lib.Codec.encoding_table["26085"] = [200,213] let s:lib.Codec.encoding_table["25102"] = [200,214] let s:lib.Codec.encoding_table["33592"] = [200,215] let s:lib.Codec.encoding_table["33993"] = [200,216] let s:lib.Codec.encoding_table["33635"] = [200,217] let s:lib.Codec.encoding_table["34701"] = [200,218] let s:lib.Codec.encoding_table["29076"] = [200,219] let s:lib.Codec.encoding_table["28342"] = [200,220] let s:lib.Codec.encoding_table["23481"] = [200,221] let s:lib.Codec.encoding_table["32466"] = [200,222] let s:lib.Codec.encoding_table["20887"] = [200,223] let s:lib.Codec.encoding_table["25545"] = [200,224] let s:lib.Codec.encoding_table["26580"] = [200,225] let s:lib.Codec.encoding_table["32905"] = [200,226] let s:lib.Codec.encoding_table["33593"] = [200,227] let s:lib.Codec.encoding_table["34837"] = [200,228] let s:lib.Codec.encoding_table["20754"] = [200,229] let s:lib.Codec.encoding_table["23418"] = [200,230] let s:lib.Codec.encoding_table["22914"] = [200,231] let s:lib.Codec.encoding_table["36785"] = [200,232] let s:lib.Codec.encoding_table["20083"] = [200,233] let s:lib.Codec.encoding_table["27741"] = [200,234] let s:lib.Codec.encoding_table["20837"] = [200,235] let s:lib.Codec.encoding_table["35109"] = [200,236] let s:lib.Codec.encoding_table["36719"] = [200,237] let s:lib.Codec.encoding_table["38446"] = [200,238] let s:lib.Codec.encoding_table["34122"] = [200,239] let s:lib.Codec.encoding_table["29790"] = [200,240] let s:lib.Codec.encoding_table["38160"] = [200,241] let s:lib.Codec.encoding_table["38384"] = [200,242] let s:lib.Codec.encoding_table["28070"] = [200,243] let s:lib.Codec.encoding_table["33509"] = [200,244] let s:lib.Codec.encoding_table["24369"] = [200,245] let s:lib.Codec.encoding_table["25746"] = [200,246] let s:lib.Codec.encoding_table["27922"] = [200,247] let s:lib.Codec.encoding_table["33832"] = [200,248] let s:lib.Codec.encoding_table["33134"] = [200,249] let s:lib.Codec.encoding_table["40131"] = [200,250] let s:lib.Codec.encoding_table["22622"] = [200,251] let s:lib.Codec.encoding_table["36187"] = [200,252] let s:lib.Codec.encoding_table["19977"] = [200,253] let s:lib.Codec.encoding_table["21441"] = [200,254] let s:lib.Codec.encoding_table["33917"] = [201,64] let s:lib.Codec.encoding_table["33918"] = [201,65] let s:lib.Codec.encoding_table["33919"] = [201,66] let s:lib.Codec.encoding_table["33920"] = [201,67] let s:lib.Codec.encoding_table["33921"] = [201,68] let s:lib.Codec.encoding_table["33923"] = [201,69] let s:lib.Codec.encoding_table["33924"] = [201,70] let s:lib.Codec.encoding_table["33925"] = [201,71] let s:lib.Codec.encoding_table["33926"] = [201,72] let s:lib.Codec.encoding_table["33930"] = [201,73] let s:lib.Codec.encoding_table["33933"] = [201,74] let s:lib.Codec.encoding_table["33935"] = [201,75] let s:lib.Codec.encoding_table["33936"] = [201,76] let s:lib.Codec.encoding_table["33937"] = [201,77] let s:lib.Codec.encoding_table["33938"] = [201,78] let s:lib.Codec.encoding_table["33939"] = [201,79] let s:lib.Codec.encoding_table["33940"] = [201,80] let s:lib.Codec.encoding_table["33941"] = [201,81] let s:lib.Codec.encoding_table["33942"] = [201,82] let s:lib.Codec.encoding_table["33944"] = [201,83] let s:lib.Codec.encoding_table["33946"] = [201,84] let s:lib.Codec.encoding_table["33947"] = [201,85] let s:lib.Codec.encoding_table["33949"] = [201,86] let s:lib.Codec.encoding_table["33950"] = [201,87] let s:lib.Codec.encoding_table["33951"] = [201,88] let s:lib.Codec.encoding_table["33952"] = [201,89] let s:lib.Codec.encoding_table["33954"] = [201,90] let s:lib.Codec.encoding_table["33955"] = [201,91] let s:lib.Codec.encoding_table["33956"] = [201,92] let s:lib.Codec.encoding_table["33957"] = [201,93] let s:lib.Codec.encoding_table["33958"] = [201,94] let s:lib.Codec.encoding_table["33959"] = [201,95] let s:lib.Codec.encoding_table["33960"] = [201,96] let s:lib.Codec.encoding_table["33961"] = [201,97] let s:lib.Codec.encoding_table["33962"] = [201,98] let s:lib.Codec.encoding_table["33963"] = [201,99] let s:lib.Codec.encoding_table["33964"] = [201,100] let s:lib.Codec.encoding_table["33965"] = [201,101] let s:lib.Codec.encoding_table["33966"] = [201,102] let s:lib.Codec.encoding_table["33968"] = [201,103] let s:lib.Codec.encoding_table["33969"] = [201,104] let s:lib.Codec.encoding_table["33971"] = [201,105] let s:lib.Codec.encoding_table["33973"] = [201,106] let s:lib.Codec.encoding_table["33974"] = [201,107] let s:lib.Codec.encoding_table["33975"] = [201,108] let s:lib.Codec.encoding_table["33979"] = [201,109] let s:lib.Codec.encoding_table["33980"] = [201,110] let s:lib.Codec.encoding_table["33982"] = [201,111] let s:lib.Codec.encoding_table["33984"] = [201,112] let s:lib.Codec.encoding_table["33986"] = [201,113] let s:lib.Codec.encoding_table["33987"] = [201,114] let s:lib.Codec.encoding_table["33989"] = [201,115] let s:lib.Codec.encoding_table["33990"] = [201,116] let s:lib.Codec.encoding_table["33991"] = [201,117] let s:lib.Codec.encoding_table["33992"] = [201,118] let s:lib.Codec.encoding_table["33995"] = [201,119] let s:lib.Codec.encoding_table["33996"] = [201,120] let s:lib.Codec.encoding_table["33998"] = [201,121] let s:lib.Codec.encoding_table["33999"] = [201,122] let s:lib.Codec.encoding_table["34002"] = [201,123] let s:lib.Codec.encoding_table["34004"] = [201,124] let s:lib.Codec.encoding_table["34005"] = [201,125] let s:lib.Codec.encoding_table["34007"] = [201,126] let s:lib.Codec.encoding_table["34008"] = [201,128] let s:lib.Codec.encoding_table["34009"] = [201,129] let s:lib.Codec.encoding_table["34010"] = [201,130] let s:lib.Codec.encoding_table["34011"] = [201,131] let s:lib.Codec.encoding_table["34012"] = [201,132] let s:lib.Codec.encoding_table["34014"] = [201,133] let s:lib.Codec.encoding_table["34017"] = [201,134] let s:lib.Codec.encoding_table["34018"] = [201,135] let s:lib.Codec.encoding_table["34020"] = [201,136] let s:lib.Codec.encoding_table["34023"] = [201,137] let s:lib.Codec.encoding_table["34024"] = [201,138] let s:lib.Codec.encoding_table["34025"] = [201,139] let s:lib.Codec.encoding_table["34026"] = [201,140] let s:lib.Codec.encoding_table["34027"] = [201,141] let s:lib.Codec.encoding_table["34029"] = [201,142] let s:lib.Codec.encoding_table["34030"] = [201,143] let s:lib.Codec.encoding_table["34031"] = [201,144] let s:lib.Codec.encoding_table["34033"] = [201,145] let s:lib.Codec.encoding_table["34034"] = [201,146] let s:lib.Codec.encoding_table["34035"] = [201,147] let s:lib.Codec.encoding_table["34036"] = [201,148] let s:lib.Codec.encoding_table["34037"] = [201,149] let s:lib.Codec.encoding_table["34038"] = [201,150] let s:lib.Codec.encoding_table["34039"] = [201,151] let s:lib.Codec.encoding_table["34040"] = [201,152] let s:lib.Codec.encoding_table["34041"] = [201,153] let s:lib.Codec.encoding_table["34042"] = [201,154] let s:lib.Codec.encoding_table["34043"] = [201,155] let s:lib.Codec.encoding_table["34045"] = [201,156] let s:lib.Codec.encoding_table["34046"] = [201,157] let s:lib.Codec.encoding_table["34048"] = [201,158] let s:lib.Codec.encoding_table["34049"] = [201,159] let s:lib.Codec.encoding_table["34050"] = [201,160] let s:lib.Codec.encoding_table["20254"] = [201,161] let s:lib.Codec.encoding_table["25955"] = [201,162] let s:lib.Codec.encoding_table["26705"] = [201,163] let s:lib.Codec.encoding_table["21971"] = [201,164] let s:lib.Codec.encoding_table["20007"] = [201,165] let s:lib.Codec.encoding_table["25620"] = [201,166] let s:lib.Codec.encoding_table["39578"] = [201,167] let s:lib.Codec.encoding_table["25195"] = [201,168] let s:lib.Codec.encoding_table["23234"] = [201,169] let s:lib.Codec.encoding_table["29791"] = [201,170] let s:lib.Codec.encoding_table["33394"] = [201,171] let s:lib.Codec.encoding_table["28073"] = [201,172] let s:lib.Codec.encoding_table["26862"] = [201,173] let s:lib.Codec.encoding_table["20711"] = [201,174] let s:lib.Codec.encoding_table["33678"] = [201,175] let s:lib.Codec.encoding_table["30722"] = [201,176] let s:lib.Codec.encoding_table["26432"] = [201,177] let s:lib.Codec.encoding_table["21049"] = [201,178] let s:lib.Codec.encoding_table["27801"] = [201,179] let s:lib.Codec.encoding_table["32433"] = [201,180] let s:lib.Codec.encoding_table["20667"] = [201,181] let s:lib.Codec.encoding_table["21861"] = [201,182] let s:lib.Codec.encoding_table["29022"] = [201,183] let s:lib.Codec.encoding_table["31579"] = [201,184] let s:lib.Codec.encoding_table["26194"] = [201,185] let s:lib.Codec.encoding_table["29642"] = [201,186] let s:lib.Codec.encoding_table["33515"] = [201,187] let s:lib.Codec.encoding_table["26441"] = [201,188] let s:lib.Codec.encoding_table["23665"] = [201,189] let s:lib.Codec.encoding_table["21024"] = [201,190] let s:lib.Codec.encoding_table["29053"] = [201,191] let s:lib.Codec.encoding_table["34923"] = [201,192] let s:lib.Codec.encoding_table["38378"] = [201,193] let s:lib.Codec.encoding_table["38485"] = [201,194] let s:lib.Codec.encoding_table["25797"] = [201,195] let s:lib.Codec.encoding_table["36193"] = [201,196] let s:lib.Codec.encoding_table["33203"] = [201,197] let s:lib.Codec.encoding_table["21892"] = [201,198] let s:lib.Codec.encoding_table["27733"] = [201,199] let s:lib.Codec.encoding_table["25159"] = [201,200] let s:lib.Codec.encoding_table["32558"] = [201,201] let s:lib.Codec.encoding_table["22674"] = [201,202] let s:lib.Codec.encoding_table["20260"] = [201,203] let s:lib.Codec.encoding_table["21830"] = [201,204] let s:lib.Codec.encoding_table["36175"] = [201,205] let s:lib.Codec.encoding_table["26188"] = [201,206] let s:lib.Codec.encoding_table["19978"] = [201,207] let s:lib.Codec.encoding_table["23578"] = [201,208] let s:lib.Codec.encoding_table["35059"] = [201,209] let s:lib.Codec.encoding_table["26786"] = [201,210] let s:lib.Codec.encoding_table["25422"] = [201,211] let s:lib.Codec.encoding_table["31245"] = [201,212] let s:lib.Codec.encoding_table["28903"] = [201,213] let s:lib.Codec.encoding_table["33421"] = [201,214] let s:lib.Codec.encoding_table["21242"] = [201,215] let s:lib.Codec.encoding_table["38902"] = [201,216] let s:lib.Codec.encoding_table["23569"] = [201,217] let s:lib.Codec.encoding_table["21736"] = [201,218] let s:lib.Codec.encoding_table["37045"] = [201,219] let s:lib.Codec.encoding_table["32461"] = [201,220] let s:lib.Codec.encoding_table["22882"] = [201,221] let s:lib.Codec.encoding_table["36170"] = [201,222] let s:lib.Codec.encoding_table["34503"] = [201,223] let s:lib.Codec.encoding_table["33292"] = [201,224] let s:lib.Codec.encoding_table["33293"] = [201,225] let s:lib.Codec.encoding_table["36198"] = [201,226] let s:lib.Codec.encoding_table["25668"] = [201,227] let s:lib.Codec.encoding_table["23556"] = [201,228] let s:lib.Codec.encoding_table["24913"] = [201,229] let s:lib.Codec.encoding_table["28041"] = [201,230] let s:lib.Codec.encoding_table["31038"] = [201,231] let s:lib.Codec.encoding_table["35774"] = [201,232] let s:lib.Codec.encoding_table["30775"] = [201,233] let s:lib.Codec.encoding_table["30003"] = [201,234] let s:lib.Codec.encoding_table["21627"] = [201,235] let s:lib.Codec.encoding_table["20280"] = [201,236] let s:lib.Codec.encoding_table["36523"] = [201,237] let s:lib.Codec.encoding_table["28145"] = [201,238] let s:lib.Codec.encoding_table["23072"] = [201,239] let s:lib.Codec.encoding_table["32453"] = [201,240] let s:lib.Codec.encoding_table["31070"] = [201,241] let s:lib.Codec.encoding_table["27784"] = [201,242] let s:lib.Codec.encoding_table["23457"] = [201,243] let s:lib.Codec.encoding_table["23158"] = [201,244] let s:lib.Codec.encoding_table["29978"] = [201,245] let s:lib.Codec.encoding_table["32958"] = [201,246] let s:lib.Codec.encoding_table["24910"] = [201,247] let s:lib.Codec.encoding_table["28183"] = [201,248] let s:lib.Codec.encoding_table["22768"] = [201,249] let s:lib.Codec.encoding_table["29983"] = [201,250] let s:lib.Codec.encoding_table["29989"] = [201,251] let s:lib.Codec.encoding_table["29298"] = [201,252] let s:lib.Codec.encoding_table["21319"] = [201,253] let s:lib.Codec.encoding_table["32499"] = [201,254] let s:lib.Codec.encoding_table["34051"] = [202,64] let s:lib.Codec.encoding_table["34052"] = [202,65] let s:lib.Codec.encoding_table["34053"] = [202,66] let s:lib.Codec.encoding_table["34054"] = [202,67] let s:lib.Codec.encoding_table["34055"] = [202,68] let s:lib.Codec.encoding_table["34056"] = [202,69] let s:lib.Codec.encoding_table["34057"] = [202,70] let s:lib.Codec.encoding_table["34058"] = [202,71] let s:lib.Codec.encoding_table["34059"] = [202,72] let s:lib.Codec.encoding_table["34061"] = [202,73] let s:lib.Codec.encoding_table["34062"] = [202,74] let s:lib.Codec.encoding_table["34063"] = [202,75] let s:lib.Codec.encoding_table["34064"] = [202,76] let s:lib.Codec.encoding_table["34066"] = [202,77] let s:lib.Codec.encoding_table["34068"] = [202,78] let s:lib.Codec.encoding_table["34069"] = [202,79] let s:lib.Codec.encoding_table["34070"] = [202,80] let s:lib.Codec.encoding_table["34072"] = [202,81] let s:lib.Codec.encoding_table["34073"] = [202,82] let s:lib.Codec.encoding_table["34075"] = [202,83] let s:lib.Codec.encoding_table["34076"] = [202,84] let s:lib.Codec.encoding_table["34077"] = [202,85] let s:lib.Codec.encoding_table["34078"] = [202,86] let s:lib.Codec.encoding_table["34080"] = [202,87] let s:lib.Codec.encoding_table["34082"] = [202,88] let s:lib.Codec.encoding_table["34083"] = [202,89] let s:lib.Codec.encoding_table["34084"] = [202,90] let s:lib.Codec.encoding_table["34085"] = [202,91] let s:lib.Codec.encoding_table["34086"] = [202,92] let s:lib.Codec.encoding_table["34087"] = [202,93] let s:lib.Codec.encoding_table["34088"] = [202,94] let s:lib.Codec.encoding_table["34089"] = [202,95] let s:lib.Codec.encoding_table["34090"] = [202,96] let s:lib.Codec.encoding_table["34093"] = [202,97] let s:lib.Codec.encoding_table["34094"] = [202,98] let s:lib.Codec.encoding_table["34095"] = [202,99] let s:lib.Codec.encoding_table["34096"] = [202,100] let s:lib.Codec.encoding_table["34097"] = [202,101] let s:lib.Codec.encoding_table["34098"] = [202,102] let s:lib.Codec.encoding_table["34099"] = [202,103] let s:lib.Codec.encoding_table["34100"] = [202,104] let s:lib.Codec.encoding_table["34101"] = [202,105] let s:lib.Codec.encoding_table["34102"] = [202,106] let s:lib.Codec.encoding_table["34110"] = [202,107] let s:lib.Codec.encoding_table["34111"] = [202,108] let s:lib.Codec.encoding_table["34112"] = [202,109] let s:lib.Codec.encoding_table["34113"] = [202,110] let s:lib.Codec.encoding_table["34114"] = [202,111] let s:lib.Codec.encoding_table["34116"] = [202,112] let s:lib.Codec.encoding_table["34117"] = [202,113] let s:lib.Codec.encoding_table["34118"] = [202,114] let s:lib.Codec.encoding_table["34119"] = [202,115] let s:lib.Codec.encoding_table["34123"] = [202,116] let s:lib.Codec.encoding_table["34124"] = [202,117] let s:lib.Codec.encoding_table["34125"] = [202,118] let s:lib.Codec.encoding_table["34126"] = [202,119] let s:lib.Codec.encoding_table["34127"] = [202,120] let s:lib.Codec.encoding_table["34128"] = [202,121] let s:lib.Codec.encoding_table["34129"] = [202,122] let s:lib.Codec.encoding_table["34130"] = [202,123] let s:lib.Codec.encoding_table["34131"] = [202,124] let s:lib.Codec.encoding_table["34132"] = [202,125] let s:lib.Codec.encoding_table["34133"] = [202,126] let s:lib.Codec.encoding_table["34135"] = [202,128] let s:lib.Codec.encoding_table["34136"] = [202,129] let s:lib.Codec.encoding_table["34138"] = [202,130] let s:lib.Codec.encoding_table["34139"] = [202,131] let s:lib.Codec.encoding_table["34140"] = [202,132] let s:lib.Codec.encoding_table["34141"] = [202,133] let s:lib.Codec.encoding_table["34143"] = [202,134] let s:lib.Codec.encoding_table["34144"] = [202,135] let s:lib.Codec.encoding_table["34145"] = [202,136] let s:lib.Codec.encoding_table["34146"] = [202,137] let s:lib.Codec.encoding_table["34147"] = [202,138] let s:lib.Codec.encoding_table["34149"] = [202,139] let s:lib.Codec.encoding_table["34150"] = [202,140] let s:lib.Codec.encoding_table["34151"] = [202,141] let s:lib.Codec.encoding_table["34153"] = [202,142] let s:lib.Codec.encoding_table["34154"] = [202,143] let s:lib.Codec.encoding_table["34155"] = [202,144] let s:lib.Codec.encoding_table["34156"] = [202,145] let s:lib.Codec.encoding_table["34157"] = [202,146] let s:lib.Codec.encoding_table["34158"] = [202,147] let s:lib.Codec.encoding_table["34159"] = [202,148] let s:lib.Codec.encoding_table["34160"] = [202,149] let s:lib.Codec.encoding_table["34161"] = [202,150] let s:lib.Codec.encoding_table["34163"] = [202,151] let s:lib.Codec.encoding_table["34165"] = [202,152] let s:lib.Codec.encoding_table["34166"] = [202,153] let s:lib.Codec.encoding_table["34167"] = [202,154] let s:lib.Codec.encoding_table["34168"] = [202,155] let s:lib.Codec.encoding_table["34172"] = [202,156] let s:lib.Codec.encoding_table["34173"] = [202,157] let s:lib.Codec.encoding_table["34175"] = [202,158] let s:lib.Codec.encoding_table["34176"] = [202,159] let s:lib.Codec.encoding_table["34177"] = [202,160] let s:lib.Codec.encoding_table["30465"] = [202,161] let s:lib.Codec.encoding_table["30427"] = [202,162] let s:lib.Codec.encoding_table["21097"] = [202,163] let s:lib.Codec.encoding_table["32988"] = [202,164] let s:lib.Codec.encoding_table["22307"] = [202,165] let s:lib.Codec.encoding_table["24072"] = [202,166] let s:lib.Codec.encoding_table["22833"] = [202,167] let s:lib.Codec.encoding_table["29422"] = [202,168] let s:lib.Codec.encoding_table["26045"] = [202,169] let s:lib.Codec.encoding_table["28287"] = [202,170] let s:lib.Codec.encoding_table["35799"] = [202,171] let s:lib.Codec.encoding_table["23608"] = [202,172] let s:lib.Codec.encoding_table["34417"] = [202,173] let s:lib.Codec.encoding_table["21313"] = [202,174] let s:lib.Codec.encoding_table["30707"] = [202,175] let s:lib.Codec.encoding_table["25342"] = [202,176] let s:lib.Codec.encoding_table["26102"] = [202,177] let s:lib.Codec.encoding_table["20160"] = [202,178] let s:lib.Codec.encoding_table["39135"] = [202,179] let s:lib.Codec.encoding_table["34432"] = [202,180] let s:lib.Codec.encoding_table["23454"] = [202,181] let s:lib.Codec.encoding_table["35782"] = [202,182] let s:lib.Codec.encoding_table["21490"] = [202,183] let s:lib.Codec.encoding_table["30690"] = [202,184] let s:lib.Codec.encoding_table["20351"] = [202,185] let s:lib.Codec.encoding_table["23630"] = [202,186] let s:lib.Codec.encoding_table["39542"] = [202,187] let s:lib.Codec.encoding_table["22987"] = [202,188] let s:lib.Codec.encoding_table["24335"] = [202,189] let s:lib.Codec.encoding_table["31034"] = [202,190] let s:lib.Codec.encoding_table["22763"] = [202,191] let s:lib.Codec.encoding_table["19990"] = [202,192] let s:lib.Codec.encoding_table["26623"] = [202,193] let s:lib.Codec.encoding_table["20107"] = [202,194] let s:lib.Codec.encoding_table["25325"] = [202,195] let s:lib.Codec.encoding_table["35475"] = [202,196] let s:lib.Codec.encoding_table["36893"] = [202,197] let s:lib.Codec.encoding_table["21183"] = [202,198] let s:lib.Codec.encoding_table["26159"] = [202,199] let s:lib.Codec.encoding_table["21980"] = [202,200] let s:lib.Codec.encoding_table["22124"] = [202,201] let s:lib.Codec.encoding_table["36866"] = [202,202] let s:lib.Codec.encoding_table["20181"] = [202,203] let s:lib.Codec.encoding_table["20365"] = [202,204] let s:lib.Codec.encoding_table["37322"] = [202,205] let s:lib.Codec.encoding_table["39280"] = [202,206] let s:lib.Codec.encoding_table["27663"] = [202,207] let s:lib.Codec.encoding_table["24066"] = [202,208] let s:lib.Codec.encoding_table["24643"] = [202,209] let s:lib.Codec.encoding_table["23460"] = [202,210] let s:lib.Codec.encoding_table["35270"] = [202,211] let s:lib.Codec.encoding_table["35797"] = [202,212] let s:lib.Codec.encoding_table["25910"] = [202,213] let s:lib.Codec.encoding_table["25163"] = [202,214] let s:lib.Codec.encoding_table["39318"] = [202,215] let s:lib.Codec.encoding_table["23432"] = [202,216] let s:lib.Codec.encoding_table["23551"] = [202,217] let s:lib.Codec.encoding_table["25480"] = [202,218] let s:lib.Codec.encoding_table["21806"] = [202,219] let s:lib.Codec.encoding_table["21463"] = [202,220] let s:lib.Codec.encoding_table["30246"] = [202,221] let s:lib.Codec.encoding_table["20861"] = [202,222] let s:lib.Codec.encoding_table["34092"] = [202,223] let s:lib.Codec.encoding_table["26530"] = [202,224] let s:lib.Codec.encoding_table["26803"] = [202,225] let s:lib.Codec.encoding_table["27530"] = [202,226] let s:lib.Codec.encoding_table["25234"] = [202,227] let s:lib.Codec.encoding_table["36755"] = [202,228] let s:lib.Codec.encoding_table["21460"] = [202,229] let s:lib.Codec.encoding_table["33298"] = [202,230] let s:lib.Codec.encoding_table["28113"] = [202,231] let s:lib.Codec.encoding_table["30095"] = [202,232] let s:lib.Codec.encoding_table["20070"] = [202,233] let s:lib.Codec.encoding_table["36174"] = [202,234] let s:lib.Codec.encoding_table["23408"] = [202,235] let s:lib.Codec.encoding_table["29087"] = [202,236] let s:lib.Codec.encoding_table["34223"] = [202,237] let s:lib.Codec.encoding_table["26257"] = [202,238] let s:lib.Codec.encoding_table["26329"] = [202,239] let s:lib.Codec.encoding_table["32626"] = [202,240] let s:lib.Codec.encoding_table["34560"] = [202,241] let s:lib.Codec.encoding_table["40653"] = [202,242] let s:lib.Codec.encoding_table["40736"] = [202,243] let s:lib.Codec.encoding_table["23646"] = [202,244] let s:lib.Codec.encoding_table["26415"] = [202,245] let s:lib.Codec.encoding_table["36848"] = [202,246] let s:lib.Codec.encoding_table["26641"] = [202,247] let s:lib.Codec.encoding_table["26463"] = [202,248] let s:lib.Codec.encoding_table["25101"] = [202,249] let s:lib.Codec.encoding_table["31446"] = [202,250] let s:lib.Codec.encoding_table["22661"] = [202,251] let s:lib.Codec.encoding_table["24246"] = [202,252] let s:lib.Codec.encoding_table["25968"] = [202,253] let s:lib.Codec.encoding_table["28465"] = [202,254] let s:lib.Codec.encoding_table["34178"] = [203,64] let s:lib.Codec.encoding_table["34179"] = [203,65] let s:lib.Codec.encoding_table["34182"] = [203,66] let s:lib.Codec.encoding_table["34184"] = [203,67] let s:lib.Codec.encoding_table["34185"] = [203,68] let s:lib.Codec.encoding_table["34186"] = [203,69] let s:lib.Codec.encoding_table["34187"] = [203,70] let s:lib.Codec.encoding_table["34188"] = [203,71] let s:lib.Codec.encoding_table["34189"] = [203,72] let s:lib.Codec.encoding_table["34190"] = [203,73] let s:lib.Codec.encoding_table["34192"] = [203,74] let s:lib.Codec.encoding_table["34193"] = [203,75] let s:lib.Codec.encoding_table["34194"] = [203,76] let s:lib.Codec.encoding_table["34195"] = [203,77] let s:lib.Codec.encoding_table["34196"] = [203,78] let s:lib.Codec.encoding_table["34197"] = [203,79] let s:lib.Codec.encoding_table["34198"] = [203,80] let s:lib.Codec.encoding_table["34199"] = [203,81] let s:lib.Codec.encoding_table["34200"] = [203,82] let s:lib.Codec.encoding_table["34201"] = [203,83] let s:lib.Codec.encoding_table["34202"] = [203,84] let s:lib.Codec.encoding_table["34205"] = [203,85] let s:lib.Codec.encoding_table["34206"] = [203,86] let s:lib.Codec.encoding_table["34207"] = [203,87] let s:lib.Codec.encoding_table["34208"] = [203,88] let s:lib.Codec.encoding_table["34209"] = [203,89] let s:lib.Codec.encoding_table["34210"] = [203,90] let s:lib.Codec.encoding_table["34211"] = [203,91] let s:lib.Codec.encoding_table["34213"] = [203,92] let s:lib.Codec.encoding_table["34214"] = [203,93] let s:lib.Codec.encoding_table["34215"] = [203,94] let s:lib.Codec.encoding_table["34217"] = [203,95] let s:lib.Codec.encoding_table["34219"] = [203,96] let s:lib.Codec.encoding_table["34220"] = [203,97] let s:lib.Codec.encoding_table["34221"] = [203,98] let s:lib.Codec.encoding_table["34225"] = [203,99] let s:lib.Codec.encoding_table["34226"] = [203,100] let s:lib.Codec.encoding_table["34227"] = [203,101] let s:lib.Codec.encoding_table["34228"] = [203,102] let s:lib.Codec.encoding_table["34229"] = [203,103] let s:lib.Codec.encoding_table["34230"] = [203,104] let s:lib.Codec.encoding_table["34232"] = [203,105] let s:lib.Codec.encoding_table["34234"] = [203,106] let s:lib.Codec.encoding_table["34235"] = [203,107] let s:lib.Codec.encoding_table["34236"] = [203,108] let s:lib.Codec.encoding_table["34237"] = [203,109] let s:lib.Codec.encoding_table["34238"] = [203,110] let s:lib.Codec.encoding_table["34239"] = [203,111] let s:lib.Codec.encoding_table["34240"] = [203,112] let s:lib.Codec.encoding_table["34242"] = [203,113] let s:lib.Codec.encoding_table["34243"] = [203,114] let s:lib.Codec.encoding_table["34244"] = [203,115] let s:lib.Codec.encoding_table["34245"] = [203,116] let s:lib.Codec.encoding_table["34246"] = [203,117] let s:lib.Codec.encoding_table["34247"] = [203,118] let s:lib.Codec.encoding_table["34248"] = [203,119] let s:lib.Codec.encoding_table["34250"] = [203,120] let s:lib.Codec.encoding_table["34251"] = [203,121] let s:lib.Codec.encoding_table["34252"] = [203,122] let s:lib.Codec.encoding_table["34253"] = [203,123] let s:lib.Codec.encoding_table["34254"] = [203,124] let s:lib.Codec.encoding_table["34257"] = [203,125] let s:lib.Codec.encoding_table["34258"] = [203,126] let s:lib.Codec.encoding_table["34260"] = [203,128] let s:lib.Codec.encoding_table["34262"] = [203,129] let s:lib.Codec.encoding_table["34263"] = [203,130] let s:lib.Codec.encoding_table["34264"] = [203,131] let s:lib.Codec.encoding_table["34265"] = [203,132] let s:lib.Codec.encoding_table["34266"] = [203,133] let s:lib.Codec.encoding_table["34267"] = [203,134] let s:lib.Codec.encoding_table["34269"] = [203,135] let s:lib.Codec.encoding_table["34270"] = [203,136] let s:lib.Codec.encoding_table["34271"] = [203,137] let s:lib.Codec.encoding_table["34272"] = [203,138] let s:lib.Codec.encoding_table["34273"] = [203,139] let s:lib.Codec.encoding_table["34274"] = [203,140] let s:lib.Codec.encoding_table["34275"] = [203,141] let s:lib.Codec.encoding_table["34277"] = [203,142] let s:lib.Codec.encoding_table["34278"] = [203,143] let s:lib.Codec.encoding_table["34279"] = [203,144] let s:lib.Codec.encoding_table["34280"] = [203,145] let s:lib.Codec.encoding_table["34282"] = [203,146] let s:lib.Codec.encoding_table["34283"] = [203,147] let s:lib.Codec.encoding_table["34284"] = [203,148] let s:lib.Codec.encoding_table["34285"] = [203,149] let s:lib.Codec.encoding_table["34286"] = [203,150] let s:lib.Codec.encoding_table["34287"] = [203,151] let s:lib.Codec.encoding_table["34288"] = [203,152] let s:lib.Codec.encoding_table["34289"] = [203,153] let s:lib.Codec.encoding_table["34290"] = [203,154] let s:lib.Codec.encoding_table["34291"] = [203,155] let s:lib.Codec.encoding_table["34292"] = [203,156] let s:lib.Codec.encoding_table["34293"] = [203,157] let s:lib.Codec.encoding_table["34294"] = [203,158] let s:lib.Codec.encoding_table["34295"] = [203,159] let s:lib.Codec.encoding_table["34296"] = [203,160] let s:lib.Codec.encoding_table["24661"] = [203,161] let s:lib.Codec.encoding_table["21047"] = [203,162] let s:lib.Codec.encoding_table["32781"] = [203,163] let s:lib.Codec.encoding_table["25684"] = [203,164] let s:lib.Codec.encoding_table["34928"] = [203,165] let s:lib.Codec.encoding_table["29993"] = [203,166] let s:lib.Codec.encoding_table["24069"] = [203,167] let s:lib.Codec.encoding_table["26643"] = [203,168] let s:lib.Codec.encoding_table["25332"] = [203,169] let s:lib.Codec.encoding_table["38684"] = [203,170] let s:lib.Codec.encoding_table["21452"] = [203,171] let s:lib.Codec.encoding_table["29245"] = [203,172] let s:lib.Codec.encoding_table["35841"] = [203,173] let s:lib.Codec.encoding_table["27700"] = [203,174] let s:lib.Codec.encoding_table["30561"] = [203,175] let s:lib.Codec.encoding_table["31246"] = [203,176] let s:lib.Codec.encoding_table["21550"] = [203,177] let s:lib.Codec.encoding_table["30636"] = [203,178] let s:lib.Codec.encoding_table["39034"] = [203,179] let s:lib.Codec.encoding_table["33308"] = [203,180] let s:lib.Codec.encoding_table["35828"] = [203,181] let s:lib.Codec.encoding_table["30805"] = [203,182] let s:lib.Codec.encoding_table["26388"] = [203,183] let s:lib.Codec.encoding_table["28865"] = [203,184] let s:lib.Codec.encoding_table["26031"] = [203,185] let s:lib.Codec.encoding_table["25749"] = [203,186] let s:lib.Codec.encoding_table["22070"] = [203,187] let s:lib.Codec.encoding_table["24605"] = [203,188] let s:lib.Codec.encoding_table["31169"] = [203,189] let s:lib.Codec.encoding_table["21496"] = [203,190] let s:lib.Codec.encoding_table["19997"] = [203,191] let s:lib.Codec.encoding_table["27515"] = [203,192] let s:lib.Codec.encoding_table["32902"] = [203,193] let s:lib.Codec.encoding_table["23546"] = [203,194] let s:lib.Codec.encoding_table["21987"] = [203,195] let s:lib.Codec.encoding_table["22235"] = [203,196] let s:lib.Codec.encoding_table["20282"] = [203,197] let s:lib.Codec.encoding_table["20284"] = [203,198] let s:lib.Codec.encoding_table["39282"] = [203,199] let s:lib.Codec.encoding_table["24051"] = [203,200] let s:lib.Codec.encoding_table["26494"] = [203,201] let s:lib.Codec.encoding_table["32824"] = [203,202] let s:lib.Codec.encoding_table["24578"] = [203,203] let s:lib.Codec.encoding_table["39042"] = [203,204] let s:lib.Codec.encoding_table["36865"] = [203,205] let s:lib.Codec.encoding_table["23435"] = [203,206] let s:lib.Codec.encoding_table["35772"] = [203,207] let s:lib.Codec.encoding_table["35829"] = [203,208] let s:lib.Codec.encoding_table["25628"] = [203,209] let s:lib.Codec.encoding_table["33368"] = [203,210] let s:lib.Codec.encoding_table["25822"] = [203,211] let s:lib.Codec.encoding_table["22013"] = [203,212] let s:lib.Codec.encoding_table["33487"] = [203,213] let s:lib.Codec.encoding_table["37221"] = [203,214] let s:lib.Codec.encoding_table["20439"] = [203,215] let s:lib.Codec.encoding_table["32032"] = [203,216] let s:lib.Codec.encoding_table["36895"] = [203,217] let s:lib.Codec.encoding_table["31903"] = [203,218] let s:lib.Codec.encoding_table["20723"] = [203,219] let s:lib.Codec.encoding_table["22609"] = [203,220] let s:lib.Codec.encoding_table["28335"] = [203,221] let s:lib.Codec.encoding_table["23487"] = [203,222] let s:lib.Codec.encoding_table["35785"] = [203,223] let s:lib.Codec.encoding_table["32899"] = [203,224] let s:lib.Codec.encoding_table["37240"] = [203,225] let s:lib.Codec.encoding_table["33948"] = [203,226] let s:lib.Codec.encoding_table["31639"] = [203,227] let s:lib.Codec.encoding_table["34429"] = [203,228] let s:lib.Codec.encoding_table["38539"] = [203,229] let s:lib.Codec.encoding_table["38543"] = [203,230] let s:lib.Codec.encoding_table["32485"] = [203,231] let s:lib.Codec.encoding_table["39635"] = [203,232] let s:lib.Codec.encoding_table["30862"] = [203,233] let s:lib.Codec.encoding_table["23681"] = [203,234] let s:lib.Codec.encoding_table["31319"] = [203,235] let s:lib.Codec.encoding_table["36930"] = [203,236] let s:lib.Codec.encoding_table["38567"] = [203,237] let s:lib.Codec.encoding_table["31071"] = [203,238] let s:lib.Codec.encoding_table["23385"] = [203,239] let s:lib.Codec.encoding_table["25439"] = [203,240] let s:lib.Codec.encoding_table["31499"] = [203,241] let s:lib.Codec.encoding_table["34001"] = [203,242] let s:lib.Codec.encoding_table["26797"] = [203,243] let s:lib.Codec.encoding_table["21766"] = [203,244] let s:lib.Codec.encoding_table["32553"] = [203,245] let s:lib.Codec.encoding_table["29712"] = [203,246] let s:lib.Codec.encoding_table["32034"] = [203,247] let s:lib.Codec.encoding_table["38145"] = [203,248] let s:lib.Codec.encoding_table["25152"] = [203,249] let s:lib.Codec.encoding_table["22604"] = [203,250] let s:lib.Codec.encoding_table["20182"] = [203,251] let s:lib.Codec.encoding_table["23427"] = [203,252] let s:lib.Codec.encoding_table["22905"] = [203,253] let s:lib.Codec.encoding_table["22612"] = [203,254] let s:lib.Codec.encoding_table["34297"] = [204,64] let s:lib.Codec.encoding_table["34298"] = [204,65] let s:lib.Codec.encoding_table["34300"] = [204,66] let s:lib.Codec.encoding_table["34301"] = [204,67] let s:lib.Codec.encoding_table["34302"] = [204,68] let s:lib.Codec.encoding_table["34304"] = [204,69] let s:lib.Codec.encoding_table["34305"] = [204,70] let s:lib.Codec.encoding_table["34306"] = [204,71] let s:lib.Codec.encoding_table["34307"] = [204,72] let s:lib.Codec.encoding_table["34308"] = [204,73] let s:lib.Codec.encoding_table["34310"] = [204,74] let s:lib.Codec.encoding_table["34311"] = [204,75] let s:lib.Codec.encoding_table["34312"] = [204,76] let s:lib.Codec.encoding_table["34313"] = [204,77] let s:lib.Codec.encoding_table["34314"] = [204,78] let s:lib.Codec.encoding_table["34315"] = [204,79] let s:lib.Codec.encoding_table["34316"] = [204,80] let s:lib.Codec.encoding_table["34317"] = [204,81] let s:lib.Codec.encoding_table["34318"] = [204,82] let s:lib.Codec.encoding_table["34319"] = [204,83] let s:lib.Codec.encoding_table["34320"] = [204,84] let s:lib.Codec.encoding_table["34322"] = [204,85] let s:lib.Codec.encoding_table["34323"] = [204,86] let s:lib.Codec.encoding_table["34324"] = [204,87] let s:lib.Codec.encoding_table["34325"] = [204,88] let s:lib.Codec.encoding_table["34327"] = [204,89] let s:lib.Codec.encoding_table["34328"] = [204,90] let s:lib.Codec.encoding_table["34329"] = [204,91] let s:lib.Codec.encoding_table["34330"] = [204,92] let s:lib.Codec.encoding_table["34331"] = [204,93] let s:lib.Codec.encoding_table["34332"] = [204,94] let s:lib.Codec.encoding_table["34333"] = [204,95] let s:lib.Codec.encoding_table["34334"] = [204,96] let s:lib.Codec.encoding_table["34335"] = [204,97] let s:lib.Codec.encoding_table["34336"] = [204,98] let s:lib.Codec.encoding_table["34337"] = [204,99] let s:lib.Codec.encoding_table["34338"] = [204,100] let s:lib.Codec.encoding_table["34339"] = [204,101] let s:lib.Codec.encoding_table["34340"] = [204,102] let s:lib.Codec.encoding_table["34341"] = [204,103] let s:lib.Codec.encoding_table["34342"] = [204,104] let s:lib.Codec.encoding_table["34344"] = [204,105] let s:lib.Codec.encoding_table["34346"] = [204,106] let s:lib.Codec.encoding_table["34347"] = [204,107] let s:lib.Codec.encoding_table["34348"] = [204,108] let s:lib.Codec.encoding_table["34349"] = [204,109] let s:lib.Codec.encoding_table["34350"] = [204,110] let s:lib.Codec.encoding_table["34351"] = [204,111] let s:lib.Codec.encoding_table["34352"] = [204,112] let s:lib.Codec.encoding_table["34353"] = [204,113] let s:lib.Codec.encoding_table["34354"] = [204,114] let s:lib.Codec.encoding_table["34355"] = [204,115] let s:lib.Codec.encoding_table["34356"] = [204,116] let s:lib.Codec.encoding_table["34357"] = [204,117] let s:lib.Codec.encoding_table["34358"] = [204,118] let s:lib.Codec.encoding_table["34359"] = [204,119] let s:lib.Codec.encoding_table["34361"] = [204,120] let s:lib.Codec.encoding_table["34362"] = [204,121] let s:lib.Codec.encoding_table["34363"] = [204,122] let s:lib.Codec.encoding_table["34365"] = [204,123] let s:lib.Codec.encoding_table["34366"] = [204,124] let s:lib.Codec.encoding_table["34367"] = [204,125] let s:lib.Codec.encoding_table["34368"] = [204,126] let s:lib.Codec.encoding_table["34369"] = [204,128] let s:lib.Codec.encoding_table["34370"] = [204,129] let s:lib.Codec.encoding_table["34371"] = [204,130] let s:lib.Codec.encoding_table["34372"] = [204,131] let s:lib.Codec.encoding_table["34373"] = [204,132] let s:lib.Codec.encoding_table["34374"] = [204,133] let s:lib.Codec.encoding_table["34375"] = [204,134] let s:lib.Codec.encoding_table["34376"] = [204,135] let s:lib.Codec.encoding_table["34377"] = [204,136] let s:lib.Codec.encoding_table["34378"] = [204,137] let s:lib.Codec.encoding_table["34379"] = [204,138] let s:lib.Codec.encoding_table["34380"] = [204,139] let s:lib.Codec.encoding_table["34386"] = [204,140] let s:lib.Codec.encoding_table["34387"] = [204,141] let s:lib.Codec.encoding_table["34389"] = [204,142] let s:lib.Codec.encoding_table["34390"] = [204,143] let s:lib.Codec.encoding_table["34391"] = [204,144] let s:lib.Codec.encoding_table["34392"] = [204,145] let s:lib.Codec.encoding_table["34393"] = [204,146] let s:lib.Codec.encoding_table["34395"] = [204,147] let s:lib.Codec.encoding_table["34396"] = [204,148] let s:lib.Codec.encoding_table["34397"] = [204,149] let s:lib.Codec.encoding_table["34399"] = [204,150] let s:lib.Codec.encoding_table["34400"] = [204,151] let s:lib.Codec.encoding_table["34401"] = [204,152] let s:lib.Codec.encoding_table["34403"] = [204,153] let s:lib.Codec.encoding_table["34404"] = [204,154] let s:lib.Codec.encoding_table["34405"] = [204,155] let s:lib.Codec.encoding_table["34406"] = [204,156] let s:lib.Codec.encoding_table["34407"] = [204,157] let s:lib.Codec.encoding_table["34408"] = [204,158] let s:lib.Codec.encoding_table["34409"] = [204,159] let s:lib.Codec.encoding_table["34410"] = [204,160] let s:lib.Codec.encoding_table["29549"] = [204,161] let s:lib.Codec.encoding_table["25374"] = [204,162] let s:lib.Codec.encoding_table["36427"] = [204,163] let s:lib.Codec.encoding_table["36367"] = [204,164] let s:lib.Codec.encoding_table["32974"] = [204,165] let s:lib.Codec.encoding_table["33492"] = [204,166] let s:lib.Codec.encoding_table["25260"] = [204,167] let s:lib.Codec.encoding_table["21488"] = [204,168] let s:lib.Codec.encoding_table["27888"] = [204,169] let s:lib.Codec.encoding_table["37214"] = [204,170] let s:lib.Codec.encoding_table["22826"] = [204,171] let s:lib.Codec.encoding_table["24577"] = [204,172] let s:lib.Codec.encoding_table["27760"] = [204,173] let s:lib.Codec.encoding_table["22349"] = [204,174] let s:lib.Codec.encoding_table["25674"] = [204,175] let s:lib.Codec.encoding_table["36138"] = [204,176] let s:lib.Codec.encoding_table["30251"] = [204,177] let s:lib.Codec.encoding_table["28393"] = [204,178] let s:lib.Codec.encoding_table["22363"] = [204,179] let s:lib.Codec.encoding_table["27264"] = [204,180] let s:lib.Codec.encoding_table["30192"] = [204,181] let s:lib.Codec.encoding_table["28525"] = [204,182] let s:lib.Codec.encoding_table["35885"] = [204,183] let s:lib.Codec.encoding_table["35848"] = [204,184] let s:lib.Codec.encoding_table["22374"] = [204,185] let s:lib.Codec.encoding_table["27631"] = [204,186] let s:lib.Codec.encoding_table["34962"] = [204,187] let s:lib.Codec.encoding_table["30899"] = [204,188] let s:lib.Codec.encoding_table["25506"] = [204,189] let s:lib.Codec.encoding_table["21497"] = [204,190] let s:lib.Codec.encoding_table["28845"] = [204,191] let s:lib.Codec.encoding_table["27748"] = [204,192] let s:lib.Codec.encoding_table["22616"] = [204,193] let s:lib.Codec.encoding_table["25642"] = [204,194] let s:lib.Codec.encoding_table["22530"] = [204,195] let s:lib.Codec.encoding_table["26848"] = [204,196] let s:lib.Codec.encoding_table["33179"] = [204,197] let s:lib.Codec.encoding_table["21776"] = [204,198] let s:lib.Codec.encoding_table["31958"] = [204,199] let s:lib.Codec.encoding_table["20504"] = [204,200] let s:lib.Codec.encoding_table["36538"] = [204,201] let s:lib.Codec.encoding_table["28108"] = [204,202] let s:lib.Codec.encoding_table["36255"] = [204,203] let s:lib.Codec.encoding_table["28907"] = [204,204] let s:lib.Codec.encoding_table["25487"] = [204,205] let s:lib.Codec.encoding_table["28059"] = [204,206] let s:lib.Codec.encoding_table["28372"] = [204,207] let s:lib.Codec.encoding_table["32486"] = [204,208] let s:lib.Codec.encoding_table["33796"] = [204,209] let s:lib.Codec.encoding_table["26691"] = [204,210] let s:lib.Codec.encoding_table["36867"] = [204,211] let s:lib.Codec.encoding_table["28120"] = [204,212] let s:lib.Codec.encoding_table["38518"] = [204,213] let s:lib.Codec.encoding_table["35752"] = [204,214] let s:lib.Codec.encoding_table["22871"] = [204,215] let s:lib.Codec.encoding_table["29305"] = [204,216] let s:lib.Codec.encoding_table["34276"] = [204,217] let s:lib.Codec.encoding_table["33150"] = [204,218] let s:lib.Codec.encoding_table["30140"] = [204,219] let s:lib.Codec.encoding_table["35466"] = [204,220] let s:lib.Codec.encoding_table["26799"] = [204,221] let s:lib.Codec.encoding_table["21076"] = [204,222] let s:lib.Codec.encoding_table["36386"] = [204,223] let s:lib.Codec.encoding_table["38161"] = [204,224] let s:lib.Codec.encoding_table["25552"] = [204,225] let s:lib.Codec.encoding_table["39064"] = [204,226] let s:lib.Codec.encoding_table["36420"] = [204,227] let s:lib.Codec.encoding_table["21884"] = [204,228] let s:lib.Codec.encoding_table["20307"] = [204,229] let s:lib.Codec.encoding_table["26367"] = [204,230] let s:lib.Codec.encoding_table["22159"] = [204,231] let s:lib.Codec.encoding_table["24789"] = [204,232] let s:lib.Codec.encoding_table["28053"] = [204,233] let s:lib.Codec.encoding_table["21059"] = [204,234] let s:lib.Codec.encoding_table["23625"] = [204,235] let s:lib.Codec.encoding_table["22825"] = [204,236] let s:lib.Codec.encoding_table["28155"] = [204,237] let s:lib.Codec.encoding_table["22635"] = [204,238] let s:lib.Codec.encoding_table["30000"] = [204,239] let s:lib.Codec.encoding_table["29980"] = [204,240] let s:lib.Codec.encoding_table["24684"] = [204,241] let s:lib.Codec.encoding_table["33300"] = [204,242] let s:lib.Codec.encoding_table["33094"] = [204,243] let s:lib.Codec.encoding_table["25361"] = [204,244] let s:lib.Codec.encoding_table["26465"] = [204,245] let s:lib.Codec.encoding_table["36834"] = [204,246] let s:lib.Codec.encoding_table["30522"] = [204,247] let s:lib.Codec.encoding_table["36339"] = [204,248] let s:lib.Codec.encoding_table["36148"] = [204,249] let s:lib.Codec.encoding_table["38081"] = [204,250] let s:lib.Codec.encoding_table["24086"] = [204,251] let s:lib.Codec.encoding_table["21381"] = [204,252] let s:lib.Codec.encoding_table["21548"] = [204,253] let s:lib.Codec.encoding_table["28867"] = [204,254] let s:lib.Codec.encoding_table["34413"] = [205,64] let s:lib.Codec.encoding_table["34415"] = [205,65] let s:lib.Codec.encoding_table["34416"] = [205,66] let s:lib.Codec.encoding_table["34418"] = [205,67] let s:lib.Codec.encoding_table["34419"] = [205,68] let s:lib.Codec.encoding_table["34420"] = [205,69] let s:lib.Codec.encoding_table["34421"] = [205,70] let s:lib.Codec.encoding_table["34422"] = [205,71] let s:lib.Codec.encoding_table["34423"] = [205,72] let s:lib.Codec.encoding_table["34424"] = [205,73] let s:lib.Codec.encoding_table["34435"] = [205,74] let s:lib.Codec.encoding_table["34436"] = [205,75] let s:lib.Codec.encoding_table["34437"] = [205,76] let s:lib.Codec.encoding_table["34438"] = [205,77] let s:lib.Codec.encoding_table["34439"] = [205,78] let s:lib.Codec.encoding_table["34440"] = [205,79] let s:lib.Codec.encoding_table["34441"] = [205,80] let s:lib.Codec.encoding_table["34446"] = [205,81] let s:lib.Codec.encoding_table["34447"] = [205,82] let s:lib.Codec.encoding_table["34448"] = [205,83] let s:lib.Codec.encoding_table["34449"] = [205,84] let s:lib.Codec.encoding_table["34450"] = [205,85] let s:lib.Codec.encoding_table["34452"] = [205,86] let s:lib.Codec.encoding_table["34454"] = [205,87] let s:lib.Codec.encoding_table["34455"] = [205,88] let s:lib.Codec.encoding_table["34456"] = [205,89] let s:lib.Codec.encoding_table["34457"] = [205,90] let s:lib.Codec.encoding_table["34458"] = [205,91] let s:lib.Codec.encoding_table["34459"] = [205,92] let s:lib.Codec.encoding_table["34462"] = [205,93] let s:lib.Codec.encoding_table["34463"] = [205,94] let s:lib.Codec.encoding_table["34464"] = [205,95] let s:lib.Codec.encoding_table["34465"] = [205,96] let s:lib.Codec.encoding_table["34466"] = [205,97] let s:lib.Codec.encoding_table["34469"] = [205,98] let s:lib.Codec.encoding_table["34470"] = [205,99] let s:lib.Codec.encoding_table["34475"] = [205,100] let s:lib.Codec.encoding_table["34477"] = [205,101] let s:lib.Codec.encoding_table["34478"] = [205,102] let s:lib.Codec.encoding_table["34482"] = [205,103] let s:lib.Codec.encoding_table["34483"] = [205,104] let s:lib.Codec.encoding_table["34487"] = [205,105] let s:lib.Codec.encoding_table["34488"] = [205,106] let s:lib.Codec.encoding_table["34489"] = [205,107] let s:lib.Codec.encoding_table["34491"] = [205,108] let s:lib.Codec.encoding_table["34492"] = [205,109] let s:lib.Codec.encoding_table["34493"] = [205,110] let s:lib.Codec.encoding_table["34494"] = [205,111] let s:lib.Codec.encoding_table["34495"] = [205,112] let s:lib.Codec.encoding_table["34497"] = [205,113] let s:lib.Codec.encoding_table["34498"] = [205,114] let s:lib.Codec.encoding_table["34499"] = [205,115] let s:lib.Codec.encoding_table["34501"] = [205,116] let s:lib.Codec.encoding_table["34504"] = [205,117] let s:lib.Codec.encoding_table["34508"] = [205,118] let s:lib.Codec.encoding_table["34509"] = [205,119] let s:lib.Codec.encoding_table["34514"] = [205,120] let s:lib.Codec.encoding_table["34515"] = [205,121] let s:lib.Codec.encoding_table["34517"] = [205,122] let s:lib.Codec.encoding_table["34518"] = [205,123] let s:lib.Codec.encoding_table["34519"] = [205,124] let s:lib.Codec.encoding_table["34522"] = [205,125] let s:lib.Codec.encoding_table["34524"] = [205,126] let s:lib.Codec.encoding_table["34525"] = [205,128] let s:lib.Codec.encoding_table["34528"] = [205,129] let s:lib.Codec.encoding_table["34529"] = [205,130] let s:lib.Codec.encoding_table["34530"] = [205,131] let s:lib.Codec.encoding_table["34531"] = [205,132] let s:lib.Codec.encoding_table["34533"] = [205,133] let s:lib.Codec.encoding_table["34534"] = [205,134] let s:lib.Codec.encoding_table["34535"] = [205,135] let s:lib.Codec.encoding_table["34536"] = [205,136] let s:lib.Codec.encoding_table["34538"] = [205,137] let s:lib.Codec.encoding_table["34539"] = [205,138] let s:lib.Codec.encoding_table["34540"] = [205,139] let s:lib.Codec.encoding_table["34543"] = [205,140] let s:lib.Codec.encoding_table["34549"] = [205,141] let s:lib.Codec.encoding_table["34550"] = [205,142] let s:lib.Codec.encoding_table["34551"] = [205,143] let s:lib.Codec.encoding_table["34554"] = [205,144] let s:lib.Codec.encoding_table["34555"] = [205,145] let s:lib.Codec.encoding_table["34556"] = [205,146] let s:lib.Codec.encoding_table["34557"] = [205,147] let s:lib.Codec.encoding_table["34559"] = [205,148] let s:lib.Codec.encoding_table["34561"] = [205,149] let s:lib.Codec.encoding_table["34564"] = [205,150] let s:lib.Codec.encoding_table["34565"] = [205,151] let s:lib.Codec.encoding_table["34566"] = [205,152] let s:lib.Codec.encoding_table["34571"] = [205,153] let s:lib.Codec.encoding_table["34572"] = [205,154] let s:lib.Codec.encoding_table["34574"] = [205,155] let s:lib.Codec.encoding_table["34575"] = [205,156] let s:lib.Codec.encoding_table["34576"] = [205,157] let s:lib.Codec.encoding_table["34577"] = [205,158] let s:lib.Codec.encoding_table["34580"] = [205,159] let s:lib.Codec.encoding_table["34582"] = [205,160] let s:lib.Codec.encoding_table["27712"] = [205,161] let s:lib.Codec.encoding_table["24311"] = [205,162] let s:lib.Codec.encoding_table["20572"] = [205,163] let s:lib.Codec.encoding_table["20141"] = [205,164] let s:lib.Codec.encoding_table["24237"] = [205,165] let s:lib.Codec.encoding_table["25402"] = [205,166] let s:lib.Codec.encoding_table["33351"] = [205,167] let s:lib.Codec.encoding_table["36890"] = [205,168] let s:lib.Codec.encoding_table["26704"] = [205,169] let s:lib.Codec.encoding_table["37230"] = [205,170] let s:lib.Codec.encoding_table["30643"] = [205,171] let s:lib.Codec.encoding_table["21516"] = [205,172] let s:lib.Codec.encoding_table["38108"] = [205,173] let s:lib.Codec.encoding_table["24420"] = [205,174] let s:lib.Codec.encoding_table["31461"] = [205,175] let s:lib.Codec.encoding_table["26742"] = [205,176] let s:lib.Codec.encoding_table["25413"] = [205,177] let s:lib.Codec.encoding_table["31570"] = [205,178] let s:lib.Codec.encoding_table["32479"] = [205,179] let s:lib.Codec.encoding_table["30171"] = [205,180] let s:lib.Codec.encoding_table["20599"] = [205,181] let s:lib.Codec.encoding_table["25237"] = [205,182] let s:lib.Codec.encoding_table["22836"] = [205,183] let s:lib.Codec.encoding_table["36879"] = [205,184] let s:lib.Codec.encoding_table["20984"] = [205,185] let s:lib.Codec.encoding_table["31171"] = [205,186] let s:lib.Codec.encoding_table["31361"] = [205,187] let s:lib.Codec.encoding_table["22270"] = [205,188] let s:lib.Codec.encoding_table["24466"] = [205,189] let s:lib.Codec.encoding_table["36884"] = [205,190] let s:lib.Codec.encoding_table["28034"] = [205,191] let s:lib.Codec.encoding_table["23648"] = [205,192] let s:lib.Codec.encoding_table["22303"] = [205,193] let s:lib.Codec.encoding_table["21520"] = [205,194] let s:lib.Codec.encoding_table["20820"] = [205,195] let s:lib.Codec.encoding_table["28237"] = [205,196] let s:lib.Codec.encoding_table["22242"] = [205,197] let s:lib.Codec.encoding_table["25512"] = [205,198] let s:lib.Codec.encoding_table["39059"] = [205,199] let s:lib.Codec.encoding_table["33151"] = [205,200] let s:lib.Codec.encoding_table["34581"] = [205,201] let s:lib.Codec.encoding_table["35114"] = [205,202] let s:lib.Codec.encoding_table["36864"] = [205,203] let s:lib.Codec.encoding_table["21534"] = [205,204] let s:lib.Codec.encoding_table["23663"] = [205,205] let s:lib.Codec.encoding_table["33216"] = [205,206] let s:lib.Codec.encoding_table["25302"] = [205,207] let s:lib.Codec.encoding_table["25176"] = [205,208] let s:lib.Codec.encoding_table["33073"] = [205,209] let s:lib.Codec.encoding_table["40501"] = [205,210] let s:lib.Codec.encoding_table["38464"] = [205,211] let s:lib.Codec.encoding_table["39534"] = [205,212] let s:lib.Codec.encoding_table["39548"] = [205,213] let s:lib.Codec.encoding_table["26925"] = [205,214] let s:lib.Codec.encoding_table["22949"] = [205,215] let s:lib.Codec.encoding_table["25299"] = [205,216] let s:lib.Codec.encoding_table["21822"] = [205,217] let s:lib.Codec.encoding_table["25366"] = [205,218] let s:lib.Codec.encoding_table["21703"] = [205,219] let s:lib.Codec.encoding_table["34521"] = [205,220] let s:lib.Codec.encoding_table["27964"] = [205,221] let s:lib.Codec.encoding_table["23043"] = [205,222] let s:lib.Codec.encoding_table["29926"] = [205,223] let s:lib.Codec.encoding_table["34972"] = [205,224] let s:lib.Codec.encoding_table["27498"] = [205,225] let s:lib.Codec.encoding_table["22806"] = [205,226] let s:lib.Codec.encoding_table["35916"] = [205,227] let s:lib.Codec.encoding_table["24367"] = [205,228] let s:lib.Codec.encoding_table["28286"] = [205,229] let s:lib.Codec.encoding_table["29609"] = [205,230] let s:lib.Codec.encoding_table["39037"] = [205,231] let s:lib.Codec.encoding_table["20024"] = [205,232] let s:lib.Codec.encoding_table["28919"] = [205,233] let s:lib.Codec.encoding_table["23436"] = [205,234] let s:lib.Codec.encoding_table["30871"] = [205,235] let s:lib.Codec.encoding_table["25405"] = [205,236] let s:lib.Codec.encoding_table["26202"] = [205,237] let s:lib.Codec.encoding_table["30358"] = [205,238] let s:lib.Codec.encoding_table["24779"] = [205,239] let s:lib.Codec.encoding_table["23451"] = [205,240] let s:lib.Codec.encoding_table["23113"] = [205,241] let s:lib.Codec.encoding_table["19975"] = [205,242] let s:lib.Codec.encoding_table["33109"] = [205,243] let s:lib.Codec.encoding_table["27754"] = [205,244] let s:lib.Codec.encoding_table["29579"] = [205,245] let s:lib.Codec.encoding_table["20129"] = [205,246] let s:lib.Codec.encoding_table["26505"] = [205,247] let s:lib.Codec.encoding_table["32593"] = [205,248] let s:lib.Codec.encoding_table["24448"] = [205,249] let s:lib.Codec.encoding_table["26106"] = [205,250] let s:lib.Codec.encoding_table["26395"] = [205,251] let s:lib.Codec.encoding_table["24536"] = [205,252] let s:lib.Codec.encoding_table["22916"] = [205,253] let s:lib.Codec.encoding_table["23041"] = [205,254] let s:lib.Codec.encoding_table["34585"] = [206,64] let s:lib.Codec.encoding_table["34587"] = [206,65] let s:lib.Codec.encoding_table["34589"] = [206,66] let s:lib.Codec.encoding_table["34591"] = [206,67] let s:lib.Codec.encoding_table["34592"] = [206,68] let s:lib.Codec.encoding_table["34596"] = [206,69] let s:lib.Codec.encoding_table["34598"] = [206,70] let s:lib.Codec.encoding_table["34599"] = [206,71] let s:lib.Codec.encoding_table["34600"] = [206,72] let s:lib.Codec.encoding_table["34602"] = [206,73] let s:lib.Codec.encoding_table["34603"] = [206,74] let s:lib.Codec.encoding_table["34604"] = [206,75] let s:lib.Codec.encoding_table["34605"] = [206,76] let s:lib.Codec.encoding_table["34607"] = [206,77] let s:lib.Codec.encoding_table["34608"] = [206,78] let s:lib.Codec.encoding_table["34610"] = [206,79] let s:lib.Codec.encoding_table["34611"] = [206,80] let s:lib.Codec.encoding_table["34613"] = [206,81] let s:lib.Codec.encoding_table["34614"] = [206,82] let s:lib.Codec.encoding_table["34616"] = [206,83] let s:lib.Codec.encoding_table["34617"] = [206,84] let s:lib.Codec.encoding_table["34618"] = [206,85] let s:lib.Codec.encoding_table["34620"] = [206,86] let s:lib.Codec.encoding_table["34621"] = [206,87] let s:lib.Codec.encoding_table["34624"] = [206,88] let s:lib.Codec.encoding_table["34625"] = [206,89] let s:lib.Codec.encoding_table["34626"] = [206,90] let s:lib.Codec.encoding_table["34627"] = [206,91] let s:lib.Codec.encoding_table["34628"] = [206,92] let s:lib.Codec.encoding_table["34629"] = [206,93] let s:lib.Codec.encoding_table["34630"] = [206,94] let s:lib.Codec.encoding_table["34634"] = [206,95] let s:lib.Codec.encoding_table["34635"] = [206,96] let s:lib.Codec.encoding_table["34637"] = [206,97] let s:lib.Codec.encoding_table["34639"] = [206,98] let s:lib.Codec.encoding_table["34640"] = [206,99] let s:lib.Codec.encoding_table["34641"] = [206,100] let s:lib.Codec.encoding_table["34642"] = [206,101] let s:lib.Codec.encoding_table["34644"] = [206,102] let s:lib.Codec.encoding_table["34645"] = [206,103] let s:lib.Codec.encoding_table["34646"] = [206,104] let s:lib.Codec.encoding_table["34648"] = [206,105] let s:lib.Codec.encoding_table["34650"] = [206,106] let s:lib.Codec.encoding_table["34651"] = [206,107] let s:lib.Codec.encoding_table["34652"] = [206,108] let s:lib.Codec.encoding_table["34653"] = [206,109] let s:lib.Codec.encoding_table["34654"] = [206,110] let s:lib.Codec.encoding_table["34655"] = [206,111] let s:lib.Codec.encoding_table["34657"] = [206,112] let s:lib.Codec.encoding_table["34658"] = [206,113] let s:lib.Codec.encoding_table["34662"] = [206,114] let s:lib.Codec.encoding_table["34663"] = [206,115] let s:lib.Codec.encoding_table["34664"] = [206,116] let s:lib.Codec.encoding_table["34665"] = [206,117] let s:lib.Codec.encoding_table["34666"] = [206,118] let s:lib.Codec.encoding_table["34667"] = [206,119] let s:lib.Codec.encoding_table["34668"] = [206,120] let s:lib.Codec.encoding_table["34669"] = [206,121] let s:lib.Codec.encoding_table["34671"] = [206,122] let s:lib.Codec.encoding_table["34673"] = [206,123] let s:lib.Codec.encoding_table["34674"] = [206,124] let s:lib.Codec.encoding_table["34675"] = [206,125] let s:lib.Codec.encoding_table["34677"] = [206,126] let s:lib.Codec.encoding_table["34679"] = [206,128] let s:lib.Codec.encoding_table["34680"] = [206,129] let s:lib.Codec.encoding_table["34681"] = [206,130] let s:lib.Codec.encoding_table["34682"] = [206,131] let s:lib.Codec.encoding_table["34687"] = [206,132] let s:lib.Codec.encoding_table["34688"] = [206,133] let s:lib.Codec.encoding_table["34689"] = [206,134] let s:lib.Codec.encoding_table["34692"] = [206,135] let s:lib.Codec.encoding_table["34694"] = [206,136] let s:lib.Codec.encoding_table["34695"] = [206,137] let s:lib.Codec.encoding_table["34697"] = [206,138] let s:lib.Codec.encoding_table["34698"] = [206,139] let s:lib.Codec.encoding_table["34700"] = [206,140] let s:lib.Codec.encoding_table["34702"] = [206,141] let s:lib.Codec.encoding_table["34703"] = [206,142] let s:lib.Codec.encoding_table["34704"] = [206,143] let s:lib.Codec.encoding_table["34705"] = [206,144] let s:lib.Codec.encoding_table["34706"] = [206,145] let s:lib.Codec.encoding_table["34708"] = [206,146] let s:lib.Codec.encoding_table["34709"] = [206,147] let s:lib.Codec.encoding_table["34710"] = [206,148] let s:lib.Codec.encoding_table["34712"] = [206,149] let s:lib.Codec.encoding_table["34713"] = [206,150] let s:lib.Codec.encoding_table["34714"] = [206,151] let s:lib.Codec.encoding_table["34715"] = [206,152] let s:lib.Codec.encoding_table["34716"] = [206,153] let s:lib.Codec.encoding_table["34717"] = [206,154] let s:lib.Codec.encoding_table["34718"] = [206,155] let s:lib.Codec.encoding_table["34720"] = [206,156] let s:lib.Codec.encoding_table["34721"] = [206,157] let s:lib.Codec.encoding_table["34722"] = [206,158] let s:lib.Codec.encoding_table["34723"] = [206,159] let s:lib.Codec.encoding_table["34724"] = [206,160] let s:lib.Codec.encoding_table["24013"] = [206,161] let s:lib.Codec.encoding_table["24494"] = [206,162] let s:lib.Codec.encoding_table["21361"] = [206,163] let s:lib.Codec.encoding_table["38886"] = [206,164] let s:lib.Codec.encoding_table["36829"] = [206,165] let s:lib.Codec.encoding_table["26693"] = [206,166] let s:lib.Codec.encoding_table["22260"] = [206,167] let s:lib.Codec.encoding_table["21807"] = [206,168] let s:lib.Codec.encoding_table["24799"] = [206,169] let s:lib.Codec.encoding_table["20026"] = [206,170] let s:lib.Codec.encoding_table["28493"] = [206,171] let s:lib.Codec.encoding_table["32500"] = [206,172] let s:lib.Codec.encoding_table["33479"] = [206,173] let s:lib.Codec.encoding_table["33806"] = [206,174] let s:lib.Codec.encoding_table["22996"] = [206,175] let s:lib.Codec.encoding_table["20255"] = [206,176] let s:lib.Codec.encoding_table["20266"] = [206,177] let s:lib.Codec.encoding_table["23614"] = [206,178] let s:lib.Codec.encoding_table["32428"] = [206,179] let s:lib.Codec.encoding_table["26410"] = [206,180] let s:lib.Codec.encoding_table["34074"] = [206,181] let s:lib.Codec.encoding_table["21619"] = [206,182] let s:lib.Codec.encoding_table["30031"] = [206,183] let s:lib.Codec.encoding_table["32963"] = [206,184] let s:lib.Codec.encoding_table["21890"] = [206,185] let s:lib.Codec.encoding_table["39759"] = [206,186] let s:lib.Codec.encoding_table["20301"] = [206,187] let s:lib.Codec.encoding_table["28205"] = [206,188] let s:lib.Codec.encoding_table["35859"] = [206,189] let s:lib.Codec.encoding_table["23561"] = [206,190] let s:lib.Codec.encoding_table["24944"] = [206,191] let s:lib.Codec.encoding_table["21355"] = [206,192] let s:lib.Codec.encoding_table["30239"] = [206,193] let s:lib.Codec.encoding_table["28201"] = [206,194] let s:lib.Codec.encoding_table["34442"] = [206,195] let s:lib.Codec.encoding_table["25991"] = [206,196] let s:lib.Codec.encoding_table["38395"] = [206,197] let s:lib.Codec.encoding_table["32441"] = [206,198] let s:lib.Codec.encoding_table["21563"] = [206,199] let s:lib.Codec.encoding_table["31283"] = [206,200] let s:lib.Codec.encoding_table["32010"] = [206,201] let s:lib.Codec.encoding_table["38382"] = [206,202] let s:lib.Codec.encoding_table["21985"] = [206,203] let s:lib.Codec.encoding_table["32705"] = [206,204] let s:lib.Codec.encoding_table["29934"] = [206,205] let s:lib.Codec.encoding_table["25373"] = [206,206] let s:lib.Codec.encoding_table["34583"] = [206,207] let s:lib.Codec.encoding_table["28065"] = [206,208] let s:lib.Codec.encoding_table["31389"] = [206,209] let s:lib.Codec.encoding_table["25105"] = [206,210] let s:lib.Codec.encoding_table["26017"] = [206,211] let s:lib.Codec.encoding_table["21351"] = [206,212] let s:lib.Codec.encoding_table["25569"] = [206,213] let s:lib.Codec.encoding_table["27779"] = [206,214] let s:lib.Codec.encoding_table["24043"] = [206,215] let s:lib.Codec.encoding_table["21596"] = [206,216] let s:lib.Codec.encoding_table["38056"] = [206,217] let s:lib.Codec.encoding_table["20044"] = [206,218] let s:lib.Codec.encoding_table["27745"] = [206,219] let s:lib.Codec.encoding_table["35820"] = [206,220] let s:lib.Codec.encoding_table["23627"] = [206,221] let s:lib.Codec.encoding_table["26080"] = [206,222] let s:lib.Codec.encoding_table["33436"] = [206,223] let s:lib.Codec.encoding_table["26791"] = [206,224] let s:lib.Codec.encoding_table["21566"] = [206,225] let s:lib.Codec.encoding_table["21556"] = [206,226] let s:lib.Codec.encoding_table["27595"] = [206,227] let s:lib.Codec.encoding_table["27494"] = [206,228] let s:lib.Codec.encoding_table["20116"] = [206,229] let s:lib.Codec.encoding_table["25410"] = [206,230] let s:lib.Codec.encoding_table["21320"] = [206,231] let s:lib.Codec.encoding_table["33310"] = [206,232] let s:lib.Codec.encoding_table["20237"] = [206,233] let s:lib.Codec.encoding_table["20398"] = [206,234] let s:lib.Codec.encoding_table["22366"] = [206,235] let s:lib.Codec.encoding_table["25098"] = [206,236] let s:lib.Codec.encoding_table["38654"] = [206,237] let s:lib.Codec.encoding_table["26212"] = [206,238] let s:lib.Codec.encoding_table["29289"] = [206,239] let s:lib.Codec.encoding_table["21247"] = [206,240] let s:lib.Codec.encoding_table["21153"] = [206,241] let s:lib.Codec.encoding_table["24735"] = [206,242] let s:lib.Codec.encoding_table["35823"] = [206,243] let s:lib.Codec.encoding_table["26132"] = [206,244] let s:lib.Codec.encoding_table["29081"] = [206,245] let s:lib.Codec.encoding_table["26512"] = [206,246] let s:lib.Codec.encoding_table["35199"] = [206,247] let s:lib.Codec.encoding_table["30802"] = [206,248] let s:lib.Codec.encoding_table["30717"] = [206,249] let s:lib.Codec.encoding_table["26224"] = [206,250] let s:lib.Codec.encoding_table["22075"] = [206,251] let s:lib.Codec.encoding_table["21560"] = [206,252] let s:lib.Codec.encoding_table["38177"] = [206,253] let s:lib.Codec.encoding_table["29306"] = [206,254] let s:lib.Codec.encoding_table["34725"] = [207,64] let s:lib.Codec.encoding_table["34726"] = [207,65] let s:lib.Codec.encoding_table["34727"] = [207,66] let s:lib.Codec.encoding_table["34729"] = [207,67] let s:lib.Codec.encoding_table["34730"] = [207,68] let s:lib.Codec.encoding_table["34734"] = [207,69] let s:lib.Codec.encoding_table["34736"] = [207,70] let s:lib.Codec.encoding_table["34737"] = [207,71] let s:lib.Codec.encoding_table["34738"] = [207,72] let s:lib.Codec.encoding_table["34740"] = [207,73] let s:lib.Codec.encoding_table["34742"] = [207,74] let s:lib.Codec.encoding_table["34743"] = [207,75] let s:lib.Codec.encoding_table["34744"] = [207,76] let s:lib.Codec.encoding_table["34745"] = [207,77] let s:lib.Codec.encoding_table["34747"] = [207,78] let s:lib.Codec.encoding_table["34748"] = [207,79] let s:lib.Codec.encoding_table["34750"] = [207,80] let s:lib.Codec.encoding_table["34751"] = [207,81] let s:lib.Codec.encoding_table["34753"] = [207,82] let s:lib.Codec.encoding_table["34754"] = [207,83] let s:lib.Codec.encoding_table["34755"] = [207,84] let s:lib.Codec.encoding_table["34756"] = [207,85] let s:lib.Codec.encoding_table["34757"] = [207,86] let s:lib.Codec.encoding_table["34759"] = [207,87] let s:lib.Codec.encoding_table["34760"] = [207,88] let s:lib.Codec.encoding_table["34761"] = [207,89] let s:lib.Codec.encoding_table["34764"] = [207,90] let s:lib.Codec.encoding_table["34765"] = [207,91] let s:lib.Codec.encoding_table["34766"] = [207,92] let s:lib.Codec.encoding_table["34767"] = [207,93] let s:lib.Codec.encoding_table["34768"] = [207,94] let s:lib.Codec.encoding_table["34772"] = [207,95] let s:lib.Codec.encoding_table["34773"] = [207,96] let s:lib.Codec.encoding_table["34774"] = [207,97] let s:lib.Codec.encoding_table["34775"] = [207,98] let s:lib.Codec.encoding_table["34776"] = [207,99] let s:lib.Codec.encoding_table["34777"] = [207,100] let s:lib.Codec.encoding_table["34778"] = [207,101] let s:lib.Codec.encoding_table["34780"] = [207,102] let s:lib.Codec.encoding_table["34781"] = [207,103] let s:lib.Codec.encoding_table["34782"] = [207,104] let s:lib.Codec.encoding_table["34783"] = [207,105] let s:lib.Codec.encoding_table["34785"] = [207,106] let s:lib.Codec.encoding_table["34786"] = [207,107] let s:lib.Codec.encoding_table["34787"] = [207,108] let s:lib.Codec.encoding_table["34788"] = [207,109] let s:lib.Codec.encoding_table["34790"] = [207,110] let s:lib.Codec.encoding_table["34791"] = [207,111] let s:lib.Codec.encoding_table["34792"] = [207,112] let s:lib.Codec.encoding_table["34793"] = [207,113] let s:lib.Codec.encoding_table["34795"] = [207,114] let s:lib.Codec.encoding_table["34796"] = [207,115] let s:lib.Codec.encoding_table["34797"] = [207,116] let s:lib.Codec.encoding_table["34799"] = [207,117] let s:lib.Codec.encoding_table["34800"] = [207,118] let s:lib.Codec.encoding_table["34801"] = [207,119] let s:lib.Codec.encoding_table["34802"] = [207,120] let s:lib.Codec.encoding_table["34803"] = [207,121] let s:lib.Codec.encoding_table["34804"] = [207,122] let s:lib.Codec.encoding_table["34805"] = [207,123] let s:lib.Codec.encoding_table["34806"] = [207,124] let s:lib.Codec.encoding_table["34807"] = [207,125] let s:lib.Codec.encoding_table["34808"] = [207,126] let s:lib.Codec.encoding_table["34810"] = [207,128] let s:lib.Codec.encoding_table["34811"] = [207,129] let s:lib.Codec.encoding_table["34812"] = [207,130] let s:lib.Codec.encoding_table["34813"] = [207,131] let s:lib.Codec.encoding_table["34815"] = [207,132] let s:lib.Codec.encoding_table["34816"] = [207,133] let s:lib.Codec.encoding_table["34817"] = [207,134] let s:lib.Codec.encoding_table["34818"] = [207,135] let s:lib.Codec.encoding_table["34820"] = [207,136] let s:lib.Codec.encoding_table["34821"] = [207,137] let s:lib.Codec.encoding_table["34822"] = [207,138] let s:lib.Codec.encoding_table["34823"] = [207,139] let s:lib.Codec.encoding_table["34824"] = [207,140] let s:lib.Codec.encoding_table["34825"] = [207,141] let s:lib.Codec.encoding_table["34827"] = [207,142] let s:lib.Codec.encoding_table["34828"] = [207,143] let s:lib.Codec.encoding_table["34829"] = [207,144] let s:lib.Codec.encoding_table["34830"] = [207,145] let s:lib.Codec.encoding_table["34831"] = [207,146] let s:lib.Codec.encoding_table["34832"] = [207,147] let s:lib.Codec.encoding_table["34833"] = [207,148] let s:lib.Codec.encoding_table["34834"] = [207,149] let s:lib.Codec.encoding_table["34836"] = [207,150] let s:lib.Codec.encoding_table["34839"] = [207,151] let s:lib.Codec.encoding_table["34840"] = [207,152] let s:lib.Codec.encoding_table["34841"] = [207,153] let s:lib.Codec.encoding_table["34842"] = [207,154] let s:lib.Codec.encoding_table["34844"] = [207,155] let s:lib.Codec.encoding_table["34845"] = [207,156] let s:lib.Codec.encoding_table["34846"] = [207,157] let s:lib.Codec.encoding_table["34847"] = [207,158] let s:lib.Codec.encoding_table["34848"] = [207,159] let s:lib.Codec.encoding_table["34851"] = [207,160] let s:lib.Codec.encoding_table["31232"] = [207,161] let s:lib.Codec.encoding_table["24687"] = [207,162] let s:lib.Codec.encoding_table["24076"] = [207,163] let s:lib.Codec.encoding_table["24713"] = [207,164] let s:lib.Codec.encoding_table["33181"] = [207,165] let s:lib.Codec.encoding_table["22805"] = [207,166] let s:lib.Codec.encoding_table["24796"] = [207,167] let s:lib.Codec.encoding_table["29060"] = [207,168] let s:lib.Codec.encoding_table["28911"] = [207,169] let s:lib.Codec.encoding_table["28330"] = [207,170] let s:lib.Codec.encoding_table["27728"] = [207,171] let s:lib.Codec.encoding_table["29312"] = [207,172] let s:lib.Codec.encoding_table["27268"] = [207,173] let s:lib.Codec.encoding_table["34989"] = [207,174] let s:lib.Codec.encoding_table["24109"] = [207,175] let s:lib.Codec.encoding_table["20064"] = [207,176] let s:lib.Codec.encoding_table["23219"] = [207,177] let s:lib.Codec.encoding_table["21916"] = [207,178] let s:lib.Codec.encoding_table["38115"] = [207,179] let s:lib.Codec.encoding_table["27927"] = [207,180] let s:lib.Codec.encoding_table["31995"] = [207,181] let s:lib.Codec.encoding_table["38553"] = [207,182] let s:lib.Codec.encoding_table["25103"] = [207,183] let s:lib.Codec.encoding_table["32454"] = [207,184] let s:lib.Codec.encoding_table["30606"] = [207,185] let s:lib.Codec.encoding_table["34430"] = [207,186] let s:lib.Codec.encoding_table["21283"] = [207,187] let s:lib.Codec.encoding_table["38686"] = [207,188] let s:lib.Codec.encoding_table["36758"] = [207,189] let s:lib.Codec.encoding_table["26247"] = [207,190] let s:lib.Codec.encoding_table["23777"] = [207,191] let s:lib.Codec.encoding_table["20384"] = [207,192] let s:lib.Codec.encoding_table["29421"] = [207,193] let s:lib.Codec.encoding_table["19979"] = [207,194] let s:lib.Codec.encoding_table["21414"] = [207,195] let s:lib.Codec.encoding_table["22799"] = [207,196] let s:lib.Codec.encoding_table["21523"] = [207,197] let s:lib.Codec.encoding_table["25472"] = [207,198] let s:lib.Codec.encoding_table["38184"] = [207,199] let s:lib.Codec.encoding_table["20808"] = [207,200] let s:lib.Codec.encoding_table["20185"] = [207,201] let s:lib.Codec.encoding_table["40092"] = [207,202] let s:lib.Codec.encoding_table["32420"] = [207,203] let s:lib.Codec.encoding_table["21688"] = [207,204] let s:lib.Codec.encoding_table["36132"] = [207,205] let s:lib.Codec.encoding_table["34900"] = [207,206] let s:lib.Codec.encoding_table["33335"] = [207,207] let s:lib.Codec.encoding_table["38386"] = [207,208] let s:lib.Codec.encoding_table["28046"] = [207,209] let s:lib.Codec.encoding_table["24358"] = [207,210] let s:lib.Codec.encoding_table["23244"] = [207,211] let s:lib.Codec.encoding_table["26174"] = [207,212] let s:lib.Codec.encoding_table["38505"] = [207,213] let s:lib.Codec.encoding_table["29616"] = [207,214] let s:lib.Codec.encoding_table["29486"] = [207,215] let s:lib.Codec.encoding_table["21439"] = [207,216] let s:lib.Codec.encoding_table["33146"] = [207,217] let s:lib.Codec.encoding_table["39301"] = [207,218] let s:lib.Codec.encoding_table["32673"] = [207,219] let s:lib.Codec.encoding_table["23466"] = [207,220] let s:lib.Codec.encoding_table["38519"] = [207,221] let s:lib.Codec.encoding_table["38480"] = [207,222] let s:lib.Codec.encoding_table["32447"] = [207,223] let s:lib.Codec.encoding_table["30456"] = [207,224] let s:lib.Codec.encoding_table["21410"] = [207,225] let s:lib.Codec.encoding_table["38262"] = [207,226] let s:lib.Codec.encoding_table["39321"] = [207,227] let s:lib.Codec.encoding_table["31665"] = [207,228] let s:lib.Codec.encoding_table["35140"] = [207,229] let s:lib.Codec.encoding_table["28248"] = [207,230] let s:lib.Codec.encoding_table["20065"] = [207,231] let s:lib.Codec.encoding_table["32724"] = [207,232] let s:lib.Codec.encoding_table["31077"] = [207,233] let s:lib.Codec.encoding_table["35814"] = [207,234] let s:lib.Codec.encoding_table["24819"] = [207,235] let s:lib.Codec.encoding_table["21709"] = [207,236] let s:lib.Codec.encoding_table["20139"] = [207,237] let s:lib.Codec.encoding_table["39033"] = [207,238] let s:lib.Codec.encoding_table["24055"] = [207,239] let s:lib.Codec.encoding_table["27233"] = [207,240] let s:lib.Codec.encoding_table["20687"] = [207,241] let s:lib.Codec.encoding_table["21521"] = [207,242] let s:lib.Codec.encoding_table["35937"] = [207,243] let s:lib.Codec.encoding_table["33831"] = [207,244] let s:lib.Codec.encoding_table["30813"] = [207,245] let s:lib.Codec.encoding_table["38660"] = [207,246] let s:lib.Codec.encoding_table["21066"] = [207,247] let s:lib.Codec.encoding_table["21742"] = [207,248] let s:lib.Codec.encoding_table["22179"] = [207,249] let s:lib.Codec.encoding_table["38144"] = [207,250] let s:lib.Codec.encoding_table["28040"] = [207,251] let s:lib.Codec.encoding_table["23477"] = [207,252] let s:lib.Codec.encoding_table["28102"] = [207,253] let s:lib.Codec.encoding_table["26195"] = [207,254] let s:lib.Codec.encoding_table["34852"] = [208,64] let s:lib.Codec.encoding_table["34853"] = [208,65] let s:lib.Codec.encoding_table["34854"] = [208,66] let s:lib.Codec.encoding_table["34855"] = [208,67] let s:lib.Codec.encoding_table["34856"] = [208,68] let s:lib.Codec.encoding_table["34857"] = [208,69] let s:lib.Codec.encoding_table["34858"] = [208,70] let s:lib.Codec.encoding_table["34859"] = [208,71] let s:lib.Codec.encoding_table["34860"] = [208,72] let s:lib.Codec.encoding_table["34861"] = [208,73] let s:lib.Codec.encoding_table["34862"] = [208,74] let s:lib.Codec.encoding_table["34863"] = [208,75] let s:lib.Codec.encoding_table["34864"] = [208,76] let s:lib.Codec.encoding_table["34865"] = [208,77] let s:lib.Codec.encoding_table["34867"] = [208,78] let s:lib.Codec.encoding_table["34868"] = [208,79] let s:lib.Codec.encoding_table["34869"] = [208,80] let s:lib.Codec.encoding_table["34870"] = [208,81] let s:lib.Codec.encoding_table["34871"] = [208,82] let s:lib.Codec.encoding_table["34872"] = [208,83] let s:lib.Codec.encoding_table["34874"] = [208,84] let s:lib.Codec.encoding_table["34875"] = [208,85] let s:lib.Codec.encoding_table["34877"] = [208,86] let s:lib.Codec.encoding_table["34878"] = [208,87] let s:lib.Codec.encoding_table["34879"] = [208,88] let s:lib.Codec.encoding_table["34881"] = [208,89] let s:lib.Codec.encoding_table["34882"] = [208,90] let s:lib.Codec.encoding_table["34883"] = [208,91] let s:lib.Codec.encoding_table["34886"] = [208,92] let s:lib.Codec.encoding_table["34887"] = [208,93] let s:lib.Codec.encoding_table["34888"] = [208,94] let s:lib.Codec.encoding_table["34889"] = [208,95] let s:lib.Codec.encoding_table["34890"] = [208,96] let s:lib.Codec.encoding_table["34891"] = [208,97] let s:lib.Codec.encoding_table["34894"] = [208,98] let s:lib.Codec.encoding_table["34895"] = [208,99] let s:lib.Codec.encoding_table["34896"] = [208,100] let s:lib.Codec.encoding_table["34897"] = [208,101] let s:lib.Codec.encoding_table["34898"] = [208,102] let s:lib.Codec.encoding_table["34899"] = [208,103] let s:lib.Codec.encoding_table["34901"] = [208,104] let s:lib.Codec.encoding_table["34902"] = [208,105] let s:lib.Codec.encoding_table["34904"] = [208,106] let s:lib.Codec.encoding_table["34906"] = [208,107] let s:lib.Codec.encoding_table["34907"] = [208,108] let s:lib.Codec.encoding_table["34908"] = [208,109] let s:lib.Codec.encoding_table["34909"] = [208,110] let s:lib.Codec.encoding_table["34910"] = [208,111] let s:lib.Codec.encoding_table["34911"] = [208,112] let s:lib.Codec.encoding_table["34912"] = [208,113] let s:lib.Codec.encoding_table["34918"] = [208,114] let s:lib.Codec.encoding_table["34919"] = [208,115] let s:lib.Codec.encoding_table["34922"] = [208,116] let s:lib.Codec.encoding_table["34925"] = [208,117] let s:lib.Codec.encoding_table["34927"] = [208,118] let s:lib.Codec.encoding_table["34929"] = [208,119] let s:lib.Codec.encoding_table["34931"] = [208,120] let s:lib.Codec.encoding_table["34932"] = [208,121] let s:lib.Codec.encoding_table["34933"] = [208,122] let s:lib.Codec.encoding_table["34934"] = [208,123] let s:lib.Codec.encoding_table["34936"] = [208,124] let s:lib.Codec.encoding_table["34937"] = [208,125] let s:lib.Codec.encoding_table["34938"] = [208,126] let s:lib.Codec.encoding_table["34939"] = [208,128] let s:lib.Codec.encoding_table["34940"] = [208,129] let s:lib.Codec.encoding_table["34944"] = [208,130] let s:lib.Codec.encoding_table["34947"] = [208,131] let s:lib.Codec.encoding_table["34950"] = [208,132] let s:lib.Codec.encoding_table["34951"] = [208,133] let s:lib.Codec.encoding_table["34953"] = [208,134] let s:lib.Codec.encoding_table["34954"] = [208,135] let s:lib.Codec.encoding_table["34956"] = [208,136] let s:lib.Codec.encoding_table["34958"] = [208,137] let s:lib.Codec.encoding_table["34959"] = [208,138] let s:lib.Codec.encoding_table["34960"] = [208,139] let s:lib.Codec.encoding_table["34961"] = [208,140] let s:lib.Codec.encoding_table["34963"] = [208,141] let s:lib.Codec.encoding_table["34964"] = [208,142] let s:lib.Codec.encoding_table["34965"] = [208,143] let s:lib.Codec.encoding_table["34967"] = [208,144] let s:lib.Codec.encoding_table["34968"] = [208,145] let s:lib.Codec.encoding_table["34969"] = [208,146] let s:lib.Codec.encoding_table["34970"] = [208,147] let s:lib.Codec.encoding_table["34971"] = [208,148] let s:lib.Codec.encoding_table["34973"] = [208,149] let s:lib.Codec.encoding_table["34974"] = [208,150] let s:lib.Codec.encoding_table["34975"] = [208,151] let s:lib.Codec.encoding_table["34976"] = [208,152] let s:lib.Codec.encoding_table["34977"] = [208,153] let s:lib.Codec.encoding_table["34979"] = [208,154] let s:lib.Codec.encoding_table["34981"] = [208,155] let s:lib.Codec.encoding_table["34982"] = [208,156] let s:lib.Codec.encoding_table["34983"] = [208,157] let s:lib.Codec.encoding_table["34984"] = [208,158] let s:lib.Codec.encoding_table["34985"] = [208,159] let s:lib.Codec.encoding_table["34986"] = [208,160] let s:lib.Codec.encoding_table["23567"] = [208,161] let s:lib.Codec.encoding_table["23389"] = [208,162] let s:lib.Codec.encoding_table["26657"] = [208,163] let s:lib.Codec.encoding_table["32918"] = [208,164] let s:lib.Codec.encoding_table["21880"] = [208,165] let s:lib.Codec.encoding_table["31505"] = [208,166] let s:lib.Codec.encoding_table["25928"] = [208,167] let s:lib.Codec.encoding_table["26964"] = [208,168] let s:lib.Codec.encoding_table["20123"] = [208,169] let s:lib.Codec.encoding_table["27463"] = [208,170] let s:lib.Codec.encoding_table["34638"] = [208,171] let s:lib.Codec.encoding_table["38795"] = [208,172] let s:lib.Codec.encoding_table["21327"] = [208,173] let s:lib.Codec.encoding_table["25375"] = [208,174] let s:lib.Codec.encoding_table["25658"] = [208,175] let s:lib.Codec.encoding_table["37034"] = [208,176] let s:lib.Codec.encoding_table["26012"] = [208,177] let s:lib.Codec.encoding_table["32961"] = [208,178] let s:lib.Codec.encoding_table["35856"] = [208,179] let s:lib.Codec.encoding_table["20889"] = [208,180] let s:lib.Codec.encoding_table["26800"] = [208,181] let s:lib.Codec.encoding_table["21368"] = [208,182] let s:lib.Codec.encoding_table["34809"] = [208,183] let s:lib.Codec.encoding_table["25032"] = [208,184] let s:lib.Codec.encoding_table["27844"] = [208,185] let s:lib.Codec.encoding_table["27899"] = [208,186] let s:lib.Codec.encoding_table["35874"] = [208,187] let s:lib.Codec.encoding_table["23633"] = [208,188] let s:lib.Codec.encoding_table["34218"] = [208,189] let s:lib.Codec.encoding_table["33455"] = [208,190] let s:lib.Codec.encoding_table["38156"] = [208,191] let s:lib.Codec.encoding_table["27427"] = [208,192] let s:lib.Codec.encoding_table["36763"] = [208,193] let s:lib.Codec.encoding_table["26032"] = [208,194] let s:lib.Codec.encoding_table["24571"] = [208,195] let s:lib.Codec.encoding_table["24515"] = [208,196] let s:lib.Codec.encoding_table["20449"] = [208,197] let s:lib.Codec.encoding_table["34885"] = [208,198] let s:lib.Codec.encoding_table["26143"] = [208,199] let s:lib.Codec.encoding_table["33125"] = [208,200] let s:lib.Codec.encoding_table["29481"] = [208,201] let s:lib.Codec.encoding_table["24826"] = [208,202] let s:lib.Codec.encoding_table["20852"] = [208,203] let s:lib.Codec.encoding_table["21009"] = [208,204] let s:lib.Codec.encoding_table["22411"] = [208,205] let s:lib.Codec.encoding_table["24418"] = [208,206] let s:lib.Codec.encoding_table["37026"] = [208,207] let s:lib.Codec.encoding_table["34892"] = [208,208] let s:lib.Codec.encoding_table["37266"] = [208,209] let s:lib.Codec.encoding_table["24184"] = [208,210] let s:lib.Codec.encoding_table["26447"] = [208,211] let s:lib.Codec.encoding_table["24615"] = [208,212] let s:lib.Codec.encoding_table["22995"] = [208,213] let s:lib.Codec.encoding_table["20804"] = [208,214] let s:lib.Codec.encoding_table["20982"] = [208,215] let s:lib.Codec.encoding_table["33016"] = [208,216] let s:lib.Codec.encoding_table["21256"] = [208,217] let s:lib.Codec.encoding_table["27769"] = [208,218] let s:lib.Codec.encoding_table["38596"] = [208,219] let s:lib.Codec.encoding_table["29066"] = [208,220] let s:lib.Codec.encoding_table["20241"] = [208,221] let s:lib.Codec.encoding_table["20462"] = [208,222] let s:lib.Codec.encoding_table["32670"] = [208,223] let s:lib.Codec.encoding_table["26429"] = [208,224] let s:lib.Codec.encoding_table["21957"] = [208,225] let s:lib.Codec.encoding_table["38152"] = [208,226] let s:lib.Codec.encoding_table["31168"] = [208,227] let s:lib.Codec.encoding_table["34966"] = [208,228] let s:lib.Codec.encoding_table["32483"] = [208,229] let s:lib.Codec.encoding_table["22687"] = [208,230] let s:lib.Codec.encoding_table["25100"] = [208,231] let s:lib.Codec.encoding_table["38656"] = [208,232] let s:lib.Codec.encoding_table["34394"] = [208,233] let s:lib.Codec.encoding_table["22040"] = [208,234] let s:lib.Codec.encoding_table["39035"] = [208,235] let s:lib.Codec.encoding_table["24464"] = [208,236] let s:lib.Codec.encoding_table["35768"] = [208,237] let s:lib.Codec.encoding_table["33988"] = [208,238] let s:lib.Codec.encoding_table["37207"] = [208,239] let s:lib.Codec.encoding_table["21465"] = [208,240] let s:lib.Codec.encoding_table["26093"] = [208,241] let s:lib.Codec.encoding_table["24207"] = [208,242] let s:lib.Codec.encoding_table["30044"] = [208,243] let s:lib.Codec.encoding_table["24676"] = [208,244] let s:lib.Codec.encoding_table["32110"] = [208,245] let s:lib.Codec.encoding_table["23167"] = [208,246] let s:lib.Codec.encoding_table["32490"] = [208,247] let s:lib.Codec.encoding_table["32493"] = [208,248] let s:lib.Codec.encoding_table["36713"] = [208,249] let s:lib.Codec.encoding_table["21927"] = [208,250] let s:lib.Codec.encoding_table["23459"] = [208,251] let s:lib.Codec.encoding_table["24748"] = [208,252] let s:lib.Codec.encoding_table["26059"] = [208,253] let s:lib.Codec.encoding_table["29572"] = [208,254] let s:lib.Codec.encoding_table["34988"] = [209,64] let s:lib.Codec.encoding_table["34990"] = [209,65] let s:lib.Codec.encoding_table["34991"] = [209,66] let s:lib.Codec.encoding_table["34992"] = [209,67] let s:lib.Codec.encoding_table["34994"] = [209,68] let s:lib.Codec.encoding_table["34995"] = [209,69] let s:lib.Codec.encoding_table["34996"] = [209,70] let s:lib.Codec.encoding_table["34997"] = [209,71] let s:lib.Codec.encoding_table["34998"] = [209,72] let s:lib.Codec.encoding_table["35000"] = [209,73] let s:lib.Codec.encoding_table["35001"] = [209,74] let s:lib.Codec.encoding_table["35002"] = [209,75] let s:lib.Codec.encoding_table["35003"] = [209,76] let s:lib.Codec.encoding_table["35005"] = [209,77] let s:lib.Codec.encoding_table["35006"] = [209,78] let s:lib.Codec.encoding_table["35007"] = [209,79] let s:lib.Codec.encoding_table["35008"] = [209,80] let s:lib.Codec.encoding_table["35011"] = [209,81] let s:lib.Codec.encoding_table["35012"] = [209,82] let s:lib.Codec.encoding_table["35015"] = [209,83] let s:lib.Codec.encoding_table["35016"] = [209,84] let s:lib.Codec.encoding_table["35018"] = [209,85] let s:lib.Codec.encoding_table["35019"] = [209,86] let s:lib.Codec.encoding_table["35020"] = [209,87] let s:lib.Codec.encoding_table["35021"] = [209,88] let s:lib.Codec.encoding_table["35023"] = [209,89] let s:lib.Codec.encoding_table["35024"] = [209,90] let s:lib.Codec.encoding_table["35025"] = [209,91] let s:lib.Codec.encoding_table["35027"] = [209,92] let s:lib.Codec.encoding_table["35030"] = [209,93] let s:lib.Codec.encoding_table["35031"] = [209,94] let s:lib.Codec.encoding_table["35034"] = [209,95] let s:lib.Codec.encoding_table["35035"] = [209,96] let s:lib.Codec.encoding_table["35036"] = [209,97] let s:lib.Codec.encoding_table["35037"] = [209,98] let s:lib.Codec.encoding_table["35038"] = [209,99] let s:lib.Codec.encoding_table["35040"] = [209,100] let s:lib.Codec.encoding_table["35041"] = [209,101] let s:lib.Codec.encoding_table["35046"] = [209,102] let s:lib.Codec.encoding_table["35047"] = [209,103] let s:lib.Codec.encoding_table["35049"] = [209,104] let s:lib.Codec.encoding_table["35050"] = [209,105] let s:lib.Codec.encoding_table["35051"] = [209,106] let s:lib.Codec.encoding_table["35052"] = [209,107] let s:lib.Codec.encoding_table["35053"] = [209,108] let s:lib.Codec.encoding_table["35054"] = [209,109] let s:lib.Codec.encoding_table["35055"] = [209,110] let s:lib.Codec.encoding_table["35058"] = [209,111] let s:lib.Codec.encoding_table["35061"] = [209,112] let s:lib.Codec.encoding_table["35062"] = [209,113] let s:lib.Codec.encoding_table["35063"] = [209,114] let s:lib.Codec.encoding_table["35066"] = [209,115] let s:lib.Codec.encoding_table["35067"] = [209,116] let s:lib.Codec.encoding_table["35069"] = [209,117] let s:lib.Codec.encoding_table["35071"] = [209,118] let s:lib.Codec.encoding_table["35072"] = [209,119] let s:lib.Codec.encoding_table["35073"] = [209,120] let s:lib.Codec.encoding_table["35075"] = [209,121] let s:lib.Codec.encoding_table["35076"] = [209,122] let s:lib.Codec.encoding_table["35077"] = [209,123] let s:lib.Codec.encoding_table["35078"] = [209,124] let s:lib.Codec.encoding_table["35079"] = [209,125] let s:lib.Codec.encoding_table["35080"] = [209,126] let s:lib.Codec.encoding_table["35081"] = [209,128] let s:lib.Codec.encoding_table["35083"] = [209,129] let s:lib.Codec.encoding_table["35084"] = [209,130] let s:lib.Codec.encoding_table["35085"] = [209,131] let s:lib.Codec.encoding_table["35086"] = [209,132] let s:lib.Codec.encoding_table["35087"] = [209,133] let s:lib.Codec.encoding_table["35089"] = [209,134] let s:lib.Codec.encoding_table["35092"] = [209,135] let s:lib.Codec.encoding_table["35093"] = [209,136] let s:lib.Codec.encoding_table["35094"] = [209,137] let s:lib.Codec.encoding_table["35095"] = [209,138] let s:lib.Codec.encoding_table["35096"] = [209,139] let s:lib.Codec.encoding_table["35100"] = [209,140] let s:lib.Codec.encoding_table["35101"] = [209,141] let s:lib.Codec.encoding_table["35102"] = [209,142] let s:lib.Codec.encoding_table["35103"] = [209,143] let s:lib.Codec.encoding_table["35104"] = [209,144] let s:lib.Codec.encoding_table["35106"] = [209,145] let s:lib.Codec.encoding_table["35107"] = [209,146] let s:lib.Codec.encoding_table["35108"] = [209,147] let s:lib.Codec.encoding_table["35110"] = [209,148] let s:lib.Codec.encoding_table["35111"] = [209,149] let s:lib.Codec.encoding_table["35112"] = [209,150] let s:lib.Codec.encoding_table["35113"] = [209,151] let s:lib.Codec.encoding_table["35116"] = [209,152] let s:lib.Codec.encoding_table["35117"] = [209,153] let s:lib.Codec.encoding_table["35118"] = [209,154] let s:lib.Codec.encoding_table["35119"] = [209,155] let s:lib.Codec.encoding_table["35121"] = [209,156] let s:lib.Codec.encoding_table["35122"] = [209,157] let s:lib.Codec.encoding_table["35123"] = [209,158] let s:lib.Codec.encoding_table["35125"] = [209,159] let s:lib.Codec.encoding_table["35127"] = [209,160] let s:lib.Codec.encoding_table["36873"] = [209,161] let s:lib.Codec.encoding_table["30307"] = [209,162] let s:lib.Codec.encoding_table["30505"] = [209,163] let s:lib.Codec.encoding_table["32474"] = [209,164] let s:lib.Codec.encoding_table["38772"] = [209,165] let s:lib.Codec.encoding_table["34203"] = [209,166] let s:lib.Codec.encoding_table["23398"] = [209,167] let s:lib.Codec.encoding_table["31348"] = [209,168] let s:lib.Codec.encoding_table["38634"] = [209,169] let s:lib.Codec.encoding_table["34880"] = [209,170] let s:lib.Codec.encoding_table["21195"] = [209,171] let s:lib.Codec.encoding_table["29071"] = [209,172] let s:lib.Codec.encoding_table["24490"] = [209,173] let s:lib.Codec.encoding_table["26092"] = [209,174] let s:lib.Codec.encoding_table["35810"] = [209,175] let s:lib.Codec.encoding_table["23547"] = [209,176] let s:lib.Codec.encoding_table["39535"] = [209,177] let s:lib.Codec.encoding_table["24033"] = [209,178] let s:lib.Codec.encoding_table["27529"] = [209,179] let s:lib.Codec.encoding_table["27739"] = [209,180] let s:lib.Codec.encoding_table["35757"] = [209,181] let s:lib.Codec.encoding_table["35759"] = [209,182] let s:lib.Codec.encoding_table["36874"] = [209,183] let s:lib.Codec.encoding_table["36805"] = [209,184] let s:lib.Codec.encoding_table["21387"] = [209,185] let s:lib.Codec.encoding_table["25276"] = [209,186] let s:lib.Codec.encoding_table["40486"] = [209,187] let s:lib.Codec.encoding_table["40493"] = [209,188] let s:lib.Codec.encoding_table["21568"] = [209,189] let s:lib.Codec.encoding_table["20011"] = [209,190] let s:lib.Codec.encoding_table["33469"] = [209,191] let s:lib.Codec.encoding_table["29273"] = [209,192] let s:lib.Codec.encoding_table["34460"] = [209,193] let s:lib.Codec.encoding_table["23830"] = [209,194] let s:lib.Codec.encoding_table["34905"] = [209,195] let s:lib.Codec.encoding_table["28079"] = [209,196] let s:lib.Codec.encoding_table["38597"] = [209,197] let s:lib.Codec.encoding_table["21713"] = [209,198] let s:lib.Codec.encoding_table["20122"] = [209,199] let s:lib.Codec.encoding_table["35766"] = [209,200] let s:lib.Codec.encoding_table["28937"] = [209,201] let s:lib.Codec.encoding_table["21693"] = [209,202] let s:lib.Codec.encoding_table["38409"] = [209,203] let s:lib.Codec.encoding_table["28895"] = [209,204] let s:lib.Codec.encoding_table["28153"] = [209,205] let s:lib.Codec.encoding_table["30416"] = [209,206] let s:lib.Codec.encoding_table["20005"] = [209,207] let s:lib.Codec.encoding_table["30740"] = [209,208] let s:lib.Codec.encoding_table["34578"] = [209,209] let s:lib.Codec.encoding_table["23721"] = [209,210] let s:lib.Codec.encoding_table["24310"] = [209,211] let s:lib.Codec.encoding_table["35328"] = [209,212] let s:lib.Codec.encoding_table["39068"] = [209,213] let s:lib.Codec.encoding_table["38414"] = [209,214] let s:lib.Codec.encoding_table["28814"] = [209,215] let s:lib.Codec.encoding_table["27839"] = [209,216] let s:lib.Codec.encoding_table["22852"] = [209,217] let s:lib.Codec.encoding_table["25513"] = [209,218] let s:lib.Codec.encoding_table["30524"] = [209,219] let s:lib.Codec.encoding_table["34893"] = [209,220] let s:lib.Codec.encoding_table["28436"] = [209,221] let s:lib.Codec.encoding_table["33395"] = [209,222] let s:lib.Codec.encoding_table["22576"] = [209,223] let s:lib.Codec.encoding_table["29141"] = [209,224] let s:lib.Codec.encoding_table["21388"] = [209,225] let s:lib.Codec.encoding_table["30746"] = [209,226] let s:lib.Codec.encoding_table["38593"] = [209,227] let s:lib.Codec.encoding_table["21761"] = [209,228] let s:lib.Codec.encoding_table["24422"] = [209,229] let s:lib.Codec.encoding_table["28976"] = [209,230] let s:lib.Codec.encoding_table["23476"] = [209,231] let s:lib.Codec.encoding_table["35866"] = [209,232] let s:lib.Codec.encoding_table["39564"] = [209,233] let s:lib.Codec.encoding_table["27523"] = [209,234] let s:lib.Codec.encoding_table["22830"] = [209,235] let s:lib.Codec.encoding_table["40495"] = [209,236] let s:lib.Codec.encoding_table["31207"] = [209,237] let s:lib.Codec.encoding_table["26472"] = [209,238] let s:lib.Codec.encoding_table["25196"] = [209,239] let s:lib.Codec.encoding_table["20335"] = [209,240] let s:lib.Codec.encoding_table["30113"] = [209,241] let s:lib.Codec.encoding_table["32650"] = [209,242] let s:lib.Codec.encoding_table["27915"] = [209,243] let s:lib.Codec.encoding_table["38451"] = [209,244] let s:lib.Codec.encoding_table["27687"] = [209,245] let s:lib.Codec.encoding_table["20208"] = [209,246] let s:lib.Codec.encoding_table["30162"] = [209,247] let s:lib.Codec.encoding_table["20859"] = [209,248] let s:lib.Codec.encoding_table["26679"] = [209,249] let s:lib.Codec.encoding_table["28478"] = [209,250] let s:lib.Codec.encoding_table["36992"] = [209,251] let s:lib.Codec.encoding_table["33136"] = [209,252] let s:lib.Codec.encoding_table["22934"] = [209,253] let s:lib.Codec.encoding_table["29814"] = [209,254] let s:lib.Codec.encoding_table["35128"] = [210,64] let s:lib.Codec.encoding_table["35129"] = [210,65] let s:lib.Codec.encoding_table["35130"] = [210,66] let s:lib.Codec.encoding_table["35131"] = [210,67] let s:lib.Codec.encoding_table["35132"] = [210,68] let s:lib.Codec.encoding_table["35133"] = [210,69] let s:lib.Codec.encoding_table["35134"] = [210,70] let s:lib.Codec.encoding_table["35135"] = [210,71] let s:lib.Codec.encoding_table["35136"] = [210,72] let s:lib.Codec.encoding_table["35138"] = [210,73] let s:lib.Codec.encoding_table["35139"] = [210,74] let s:lib.Codec.encoding_table["35141"] = [210,75] let s:lib.Codec.encoding_table["35142"] = [210,76] let s:lib.Codec.encoding_table["35143"] = [210,77] let s:lib.Codec.encoding_table["35144"] = [210,78] let s:lib.Codec.encoding_table["35145"] = [210,79] let s:lib.Codec.encoding_table["35146"] = [210,80] let s:lib.Codec.encoding_table["35147"] = [210,81] let s:lib.Codec.encoding_table["35148"] = [210,82] let s:lib.Codec.encoding_table["35149"] = [210,83] let s:lib.Codec.encoding_table["35150"] = [210,84] let s:lib.Codec.encoding_table["35151"] = [210,85] let s:lib.Codec.encoding_table["35152"] = [210,86] let s:lib.Codec.encoding_table["35153"] = [210,87] let s:lib.Codec.encoding_table["35154"] = [210,88] let s:lib.Codec.encoding_table["35155"] = [210,89] let s:lib.Codec.encoding_table["35156"] = [210,90] let s:lib.Codec.encoding_table["35157"] = [210,91] let s:lib.Codec.encoding_table["35158"] = [210,92] let s:lib.Codec.encoding_table["35159"] = [210,93] let s:lib.Codec.encoding_table["35160"] = [210,94] let s:lib.Codec.encoding_table["35161"] = [210,95] let s:lib.Codec.encoding_table["35162"] = [210,96] let s:lib.Codec.encoding_table["35163"] = [210,97] let s:lib.Codec.encoding_table["35164"] = [210,98] let s:lib.Codec.encoding_table["35165"] = [210,99] let s:lib.Codec.encoding_table["35168"] = [210,100] let s:lib.Codec.encoding_table["35169"] = [210,101] let s:lib.Codec.encoding_table["35170"] = [210,102] let s:lib.Codec.encoding_table["35171"] = [210,103] let s:lib.Codec.encoding_table["35172"] = [210,104] let s:lib.Codec.encoding_table["35173"] = [210,105] let s:lib.Codec.encoding_table["35175"] = [210,106] let s:lib.Codec.encoding_table["35176"] = [210,107] let s:lib.Codec.encoding_table["35177"] = [210,108] let s:lib.Codec.encoding_table["35178"] = [210,109] let s:lib.Codec.encoding_table["35179"] = [210,110] let s:lib.Codec.encoding_table["35180"] = [210,111] let s:lib.Codec.encoding_table["35181"] = [210,112] let s:lib.Codec.encoding_table["35182"] = [210,113] let s:lib.Codec.encoding_table["35183"] = [210,114] let s:lib.Codec.encoding_table["35184"] = [210,115] let s:lib.Codec.encoding_table["35185"] = [210,116] let s:lib.Codec.encoding_table["35186"] = [210,117] let s:lib.Codec.encoding_table["35187"] = [210,118] let s:lib.Codec.encoding_table["35188"] = [210,119] let s:lib.Codec.encoding_table["35189"] = [210,120] let s:lib.Codec.encoding_table["35190"] = [210,121] let s:lib.Codec.encoding_table["35191"] = [210,122] let s:lib.Codec.encoding_table["35192"] = [210,123] let s:lib.Codec.encoding_table["35193"] = [210,124] let s:lib.Codec.encoding_table["35194"] = [210,125] let s:lib.Codec.encoding_table["35196"] = [210,126] let s:lib.Codec.encoding_table["35197"] = [210,128] let s:lib.Codec.encoding_table["35198"] = [210,129] let s:lib.Codec.encoding_table["35200"] = [210,130] let s:lib.Codec.encoding_table["35202"] = [210,131] let s:lib.Codec.encoding_table["35204"] = [210,132] let s:lib.Codec.encoding_table["35205"] = [210,133] let s:lib.Codec.encoding_table["35207"] = [210,134] let s:lib.Codec.encoding_table["35208"] = [210,135] let s:lib.Codec.encoding_table["35209"] = [210,136] let s:lib.Codec.encoding_table["35210"] = [210,137] let s:lib.Codec.encoding_table["35211"] = [210,138] let s:lib.Codec.encoding_table["35212"] = [210,139] let s:lib.Codec.encoding_table["35213"] = [210,140] let s:lib.Codec.encoding_table["35214"] = [210,141] let s:lib.Codec.encoding_table["35215"] = [210,142] let s:lib.Codec.encoding_table["35216"] = [210,143] let s:lib.Codec.encoding_table["35217"] = [210,144] let s:lib.Codec.encoding_table["35218"] = [210,145] let s:lib.Codec.encoding_table["35219"] = [210,146] let s:lib.Codec.encoding_table["35220"] = [210,147] let s:lib.Codec.encoding_table["35221"] = [210,148] let s:lib.Codec.encoding_table["35222"] = [210,149] let s:lib.Codec.encoding_table["35223"] = [210,150] let s:lib.Codec.encoding_table["35224"] = [210,151] let s:lib.Codec.encoding_table["35225"] = [210,152] let s:lib.Codec.encoding_table["35226"] = [210,153] let s:lib.Codec.encoding_table["35227"] = [210,154] let s:lib.Codec.encoding_table["35228"] = [210,155] let s:lib.Codec.encoding_table["35229"] = [210,156] let s:lib.Codec.encoding_table["35230"] = [210,157] let s:lib.Codec.encoding_table["35231"] = [210,158] let s:lib.Codec.encoding_table["35232"] = [210,159] let s:lib.Codec.encoding_table["35233"] = [210,160] let s:lib.Codec.encoding_table["25671"] = [210,161] let s:lib.Codec.encoding_table["23591"] = [210,162] let s:lib.Codec.encoding_table["36965"] = [210,163] let s:lib.Codec.encoding_table["31377"] = [210,164] let s:lib.Codec.encoding_table["35875"] = [210,165] let s:lib.Codec.encoding_table["23002"] = [210,166] let s:lib.Codec.encoding_table["21676"] = [210,167] let s:lib.Codec.encoding_table["33280"] = [210,168] let s:lib.Codec.encoding_table["33647"] = [210,169] let s:lib.Codec.encoding_table["35201"] = [210,170] let s:lib.Codec.encoding_table["32768"] = [210,171] let s:lib.Codec.encoding_table["26928"] = [210,172] let s:lib.Codec.encoding_table["22094"] = [210,173] let s:lib.Codec.encoding_table["32822"] = [210,174] let s:lib.Codec.encoding_table["29239"] = [210,175] let s:lib.Codec.encoding_table["37326"] = [210,176] let s:lib.Codec.encoding_table["20918"] = [210,177] let s:lib.Codec.encoding_table["20063"] = [210,178] let s:lib.Codec.encoding_table["39029"] = [210,179] let s:lib.Codec.encoding_table["25494"] = [210,180] let s:lib.Codec.encoding_table["19994"] = [210,181] let s:lib.Codec.encoding_table["21494"] = [210,182] let s:lib.Codec.encoding_table["26355"] = [210,183] let s:lib.Codec.encoding_table["33099"] = [210,184] let s:lib.Codec.encoding_table["22812"] = [210,185] let s:lib.Codec.encoding_table["28082"] = [210,186] let s:lib.Codec.encoding_table["19968"] = [210,187] let s:lib.Codec.encoding_table["22777"] = [210,188] let s:lib.Codec.encoding_table["21307"] = [210,189] let s:lib.Codec.encoding_table["25558"] = [210,190] let s:lib.Codec.encoding_table["38129"] = [210,191] let s:lib.Codec.encoding_table["20381"] = [210,192] let s:lib.Codec.encoding_table["20234"] = [210,193] let s:lib.Codec.encoding_table["34915"] = [210,194] let s:lib.Codec.encoding_table["39056"] = [210,195] let s:lib.Codec.encoding_table["22839"] = [210,196] let s:lib.Codec.encoding_table["36951"] = [210,197] let s:lib.Codec.encoding_table["31227"] = [210,198] let s:lib.Codec.encoding_table["20202"] = [210,199] let s:lib.Codec.encoding_table["33008"] = [210,200] let s:lib.Codec.encoding_table["30097"] = [210,201] let s:lib.Codec.encoding_table["27778"] = [210,202] let s:lib.Codec.encoding_table["23452"] = [210,203] let s:lib.Codec.encoding_table["23016"] = [210,204] let s:lib.Codec.encoding_table["24413"] = [210,205] let s:lib.Codec.encoding_table["26885"] = [210,206] let s:lib.Codec.encoding_table["34433"] = [210,207] let s:lib.Codec.encoding_table["20506"] = [210,208] let s:lib.Codec.encoding_table["24050"] = [210,209] let s:lib.Codec.encoding_table["20057"] = [210,210] let s:lib.Codec.encoding_table["30691"] = [210,211] let s:lib.Codec.encoding_table["20197"] = [210,212] let s:lib.Codec.encoding_table["33402"] = [210,213] let s:lib.Codec.encoding_table["25233"] = [210,214] let s:lib.Codec.encoding_table["26131"] = [210,215] let s:lib.Codec.encoding_table["37009"] = [210,216] let s:lib.Codec.encoding_table["23673"] = [210,217] let s:lib.Codec.encoding_table["20159"] = [210,218] let s:lib.Codec.encoding_table["24441"] = [210,219] let s:lib.Codec.encoding_table["33222"] = [210,220] let s:lib.Codec.encoding_table["36920"] = [210,221] let s:lib.Codec.encoding_table["32900"] = [210,222] let s:lib.Codec.encoding_table["30123"] = [210,223] let s:lib.Codec.encoding_table["20134"] = [210,224] let s:lib.Codec.encoding_table["35028"] = [210,225] let s:lib.Codec.encoding_table["24847"] = [210,226] let s:lib.Codec.encoding_table["27589"] = [210,227] let s:lib.Codec.encoding_table["24518"] = [210,228] let s:lib.Codec.encoding_table["20041"] = [210,229] let s:lib.Codec.encoding_table["30410"] = [210,230] let s:lib.Codec.encoding_table["28322"] = [210,231] let s:lib.Codec.encoding_table["35811"] = [210,232] let s:lib.Codec.encoding_table["35758"] = [210,233] let s:lib.Codec.encoding_table["35850"] = [210,234] let s:lib.Codec.encoding_table["35793"] = [210,235] let s:lib.Codec.encoding_table["24322"] = [210,236] let s:lib.Codec.encoding_table["32764"] = [210,237] let s:lib.Codec.encoding_table["32716"] = [210,238] let s:lib.Codec.encoding_table["32462"] = [210,239] let s:lib.Codec.encoding_table["33589"] = [210,240] let s:lib.Codec.encoding_table["33643"] = [210,241] let s:lib.Codec.encoding_table["22240"] = [210,242] let s:lib.Codec.encoding_table["27575"] = [210,243] let s:lib.Codec.encoding_table["38899"] = [210,244] let s:lib.Codec.encoding_table["38452"] = [210,245] let s:lib.Codec.encoding_table["23035"] = [210,246] let s:lib.Codec.encoding_table["21535"] = [210,247] let s:lib.Codec.encoding_table["38134"] = [210,248] let s:lib.Codec.encoding_table["28139"] = [210,249] let s:lib.Codec.encoding_table["23493"] = [210,250] let s:lib.Codec.encoding_table["39278"] = [210,251] let s:lib.Codec.encoding_table["23609"] = [210,252] let s:lib.Codec.encoding_table["24341"] = [210,253] let s:lib.Codec.encoding_table["38544"] = [210,254] let s:lib.Codec.encoding_table["35234"] = [211,64] let s:lib.Codec.encoding_table["35235"] = [211,65] let s:lib.Codec.encoding_table["35236"] = [211,66] let s:lib.Codec.encoding_table["35237"] = [211,67] let s:lib.Codec.encoding_table["35238"] = [211,68] let s:lib.Codec.encoding_table["35239"] = [211,69] let s:lib.Codec.encoding_table["35240"] = [211,70] let s:lib.Codec.encoding_table["35241"] = [211,71] let s:lib.Codec.encoding_table["35242"] = [211,72] let s:lib.Codec.encoding_table["35243"] = [211,73] let s:lib.Codec.encoding_table["35244"] = [211,74] let s:lib.Codec.encoding_table["35245"] = [211,75] let s:lib.Codec.encoding_table["35246"] = [211,76] let s:lib.Codec.encoding_table["35247"] = [211,77] let s:lib.Codec.encoding_table["35248"] = [211,78] let s:lib.Codec.encoding_table["35249"] = [211,79] let s:lib.Codec.encoding_table["35250"] = [211,80] let s:lib.Codec.encoding_table["35251"] = [211,81] let s:lib.Codec.encoding_table["35252"] = [211,82] let s:lib.Codec.encoding_table["35253"] = [211,83] let s:lib.Codec.encoding_table["35254"] = [211,84] let s:lib.Codec.encoding_table["35255"] = [211,85] let s:lib.Codec.encoding_table["35256"] = [211,86] let s:lib.Codec.encoding_table["35257"] = [211,87] let s:lib.Codec.encoding_table["35258"] = [211,88] let s:lib.Codec.encoding_table["35259"] = [211,89] let s:lib.Codec.encoding_table["35260"] = [211,90] let s:lib.Codec.encoding_table["35261"] = [211,91] let s:lib.Codec.encoding_table["35262"] = [211,92] let s:lib.Codec.encoding_table["35263"] = [211,93] let s:lib.Codec.encoding_table["35264"] = [211,94] let s:lib.Codec.encoding_table["35267"] = [211,95] let s:lib.Codec.encoding_table["35277"] = [211,96] let s:lib.Codec.encoding_table["35283"] = [211,97] let s:lib.Codec.encoding_table["35284"] = [211,98] let s:lib.Codec.encoding_table["35285"] = [211,99] let s:lib.Codec.encoding_table["35287"] = [211,100] let s:lib.Codec.encoding_table["35288"] = [211,101] let s:lib.Codec.encoding_table["35289"] = [211,102] let s:lib.Codec.encoding_table["35291"] = [211,103] let s:lib.Codec.encoding_table["35293"] = [211,104] let s:lib.Codec.encoding_table["35295"] = [211,105] let s:lib.Codec.encoding_table["35296"] = [211,106] let s:lib.Codec.encoding_table["35297"] = [211,107] let s:lib.Codec.encoding_table["35298"] = [211,108] let s:lib.Codec.encoding_table["35300"] = [211,109] let s:lib.Codec.encoding_table["35303"] = [211,110] let s:lib.Codec.encoding_table["35304"] = [211,111] let s:lib.Codec.encoding_table["35305"] = [211,112] let s:lib.Codec.encoding_table["35306"] = [211,113] let s:lib.Codec.encoding_table["35308"] = [211,114] let s:lib.Codec.encoding_table["35309"] = [211,115] let s:lib.Codec.encoding_table["35310"] = [211,116] let s:lib.Codec.encoding_table["35312"] = [211,117] let s:lib.Codec.encoding_table["35313"] = [211,118] let s:lib.Codec.encoding_table["35314"] = [211,119] let s:lib.Codec.encoding_table["35316"] = [211,120] let s:lib.Codec.encoding_table["35317"] = [211,121] let s:lib.Codec.encoding_table["35318"] = [211,122] let s:lib.Codec.encoding_table["35319"] = [211,123] let s:lib.Codec.encoding_table["35320"] = [211,124] let s:lib.Codec.encoding_table["35321"] = [211,125] let s:lib.Codec.encoding_table["35322"] = [211,126] let s:lib.Codec.encoding_table["35323"] = [211,128] let s:lib.Codec.encoding_table["35324"] = [211,129] let s:lib.Codec.encoding_table["35325"] = [211,130] let s:lib.Codec.encoding_table["35326"] = [211,131] let s:lib.Codec.encoding_table["35327"] = [211,132] let s:lib.Codec.encoding_table["35329"] = [211,133] let s:lib.Codec.encoding_table["35330"] = [211,134] let s:lib.Codec.encoding_table["35331"] = [211,135] let s:lib.Codec.encoding_table["35332"] = [211,136] let s:lib.Codec.encoding_table["35333"] = [211,137] let s:lib.Codec.encoding_table["35334"] = [211,138] let s:lib.Codec.encoding_table["35336"] = [211,139] let s:lib.Codec.encoding_table["35337"] = [211,140] let s:lib.Codec.encoding_table["35338"] = [211,141] let s:lib.Codec.encoding_table["35339"] = [211,142] let s:lib.Codec.encoding_table["35340"] = [211,143] let s:lib.Codec.encoding_table["35341"] = [211,144] let s:lib.Codec.encoding_table["35342"] = [211,145] let s:lib.Codec.encoding_table["35343"] = [211,146] let s:lib.Codec.encoding_table["35344"] = [211,147] let s:lib.Codec.encoding_table["35345"] = [211,148] let s:lib.Codec.encoding_table["35346"] = [211,149] let s:lib.Codec.encoding_table["35347"] = [211,150] let s:lib.Codec.encoding_table["35348"] = [211,151] let s:lib.Codec.encoding_table["35349"] = [211,152] let s:lib.Codec.encoding_table["35350"] = [211,153] let s:lib.Codec.encoding_table["35351"] = [211,154] let s:lib.Codec.encoding_table["35352"] = [211,155] let s:lib.Codec.encoding_table["35353"] = [211,156] let s:lib.Codec.encoding_table["35354"] = [211,157] let s:lib.Codec.encoding_table["35355"] = [211,158] let s:lib.Codec.encoding_table["35356"] = [211,159] let s:lib.Codec.encoding_table["35357"] = [211,160] let s:lib.Codec.encoding_table["21360"] = [211,161] let s:lib.Codec.encoding_table["33521"] = [211,162] let s:lib.Codec.encoding_table["27185"] = [211,163] let s:lib.Codec.encoding_table["23156"] = [211,164] let s:lib.Codec.encoding_table["40560"] = [211,165] let s:lib.Codec.encoding_table["24212"] = [211,166] let s:lib.Codec.encoding_table["32552"] = [211,167] let s:lib.Codec.encoding_table["33721"] = [211,168] let s:lib.Codec.encoding_table["33828"] = [211,169] let s:lib.Codec.encoding_table["33829"] = [211,170] let s:lib.Codec.encoding_table["33639"] = [211,171] let s:lib.Codec.encoding_table["34631"] = [211,172] let s:lib.Codec.encoding_table["36814"] = [211,173] let s:lib.Codec.encoding_table["36194"] = [211,174] let s:lib.Codec.encoding_table["30408"] = [211,175] let s:lib.Codec.encoding_table["24433"] = [211,176] let s:lib.Codec.encoding_table["39062"] = [211,177] let s:lib.Codec.encoding_table["30828"] = [211,178] let s:lib.Codec.encoding_table["26144"] = [211,179] let s:lib.Codec.encoding_table["21727"] = [211,180] let s:lib.Codec.encoding_table["25317"] = [211,181] let s:lib.Codec.encoding_table["20323"] = [211,182] let s:lib.Codec.encoding_table["33219"] = [211,183] let s:lib.Codec.encoding_table["30152"] = [211,184] let s:lib.Codec.encoding_table["24248"] = [211,185] let s:lib.Codec.encoding_table["38605"] = [211,186] let s:lib.Codec.encoding_table["36362"] = [211,187] let s:lib.Codec.encoding_table["34553"] = [211,188] let s:lib.Codec.encoding_table["21647"] = [211,189] let s:lib.Codec.encoding_table["27891"] = [211,190] let s:lib.Codec.encoding_table["28044"] = [211,191] let s:lib.Codec.encoding_table["27704"] = [211,192] let s:lib.Codec.encoding_table["24703"] = [211,193] let s:lib.Codec.encoding_table["21191"] = [211,194] let s:lib.Codec.encoding_table["29992"] = [211,195] let s:lib.Codec.encoding_table["24189"] = [211,196] let s:lib.Codec.encoding_table["20248"] = [211,197] let s:lib.Codec.encoding_table["24736"] = [211,198] let s:lib.Codec.encoding_table["24551"] = [211,199] let s:lib.Codec.encoding_table["23588"] = [211,200] let s:lib.Codec.encoding_table["30001"] = [211,201] let s:lib.Codec.encoding_table["37038"] = [211,202] let s:lib.Codec.encoding_table["38080"] = [211,203] let s:lib.Codec.encoding_table["29369"] = [211,204] let s:lib.Codec.encoding_table["27833"] = [211,205] let s:lib.Codec.encoding_table["28216"] = [211,206] let s:lib.Codec.encoding_table["37193"] = [211,207] let s:lib.Codec.encoding_table["26377"] = [211,208] let s:lib.Codec.encoding_table["21451"] = [211,209] let s:lib.Codec.encoding_table["21491"] = [211,210] let s:lib.Codec.encoding_table["20305"] = [211,211] let s:lib.Codec.encoding_table["37321"] = [211,212] let s:lib.Codec.encoding_table["35825"] = [211,213] let s:lib.Codec.encoding_table["21448"] = [211,214] let s:lib.Codec.encoding_table["24188"] = [211,215] let s:lib.Codec.encoding_table["36802"] = [211,216] let s:lib.Codec.encoding_table["28132"] = [211,217] let s:lib.Codec.encoding_table["20110"] = [211,218] let s:lib.Codec.encoding_table["30402"] = [211,219] let s:lib.Codec.encoding_table["27014"] = [211,220] let s:lib.Codec.encoding_table["34398"] = [211,221] let s:lib.Codec.encoding_table["24858"] = [211,222] let s:lib.Codec.encoding_table["33286"] = [211,223] let s:lib.Codec.encoding_table["20313"] = [211,224] let s:lib.Codec.encoding_table["20446"] = [211,225] let s:lib.Codec.encoding_table["36926"] = [211,226] let s:lib.Codec.encoding_table["40060"] = [211,227] let s:lib.Codec.encoding_table["24841"] = [211,228] let s:lib.Codec.encoding_table["28189"] = [211,229] let s:lib.Codec.encoding_table["28180"] = [211,230] let s:lib.Codec.encoding_table["38533"] = [211,231] let s:lib.Codec.encoding_table["20104"] = [211,232] let s:lib.Codec.encoding_table["23089"] = [211,233] let s:lib.Codec.encoding_table["38632"] = [211,234] let s:lib.Codec.encoding_table["19982"] = [211,235] let s:lib.Codec.encoding_table["23679"] = [211,236] let s:lib.Codec.encoding_table["31161"] = [211,237] let s:lib.Codec.encoding_table["23431"] = [211,238] let s:lib.Codec.encoding_table["35821"] = [211,239] let s:lib.Codec.encoding_table["32701"] = [211,240] let s:lib.Codec.encoding_table["29577"] = [211,241] let s:lib.Codec.encoding_table["22495"] = [211,242] let s:lib.Codec.encoding_table["33419"] = [211,243] let s:lib.Codec.encoding_table["37057"] = [211,244] let s:lib.Codec.encoding_table["21505"] = [211,245] let s:lib.Codec.encoding_table["36935"] = [211,246] let s:lib.Codec.encoding_table["21947"] = [211,247] let s:lib.Codec.encoding_table["23786"] = [211,248] let s:lib.Codec.encoding_table["24481"] = [211,249] let s:lib.Codec.encoding_table["24840"] = [211,250] let s:lib.Codec.encoding_table["27442"] = [211,251] let s:lib.Codec.encoding_table["29425"] = [211,252] let s:lib.Codec.encoding_table["32946"] = [211,253] let s:lib.Codec.encoding_table["35465"] = [211,254] let s:lib.Codec.encoding_table["35358"] = [212,64] let s:lib.Codec.encoding_table["35359"] = [212,65] let s:lib.Codec.encoding_table["35360"] = [212,66] let s:lib.Codec.encoding_table["35361"] = [212,67] let s:lib.Codec.encoding_table["35362"] = [212,68] let s:lib.Codec.encoding_table["35363"] = [212,69] let s:lib.Codec.encoding_table["35364"] = [212,70] let s:lib.Codec.encoding_table["35365"] = [212,71] let s:lib.Codec.encoding_table["35366"] = [212,72] let s:lib.Codec.encoding_table["35367"] = [212,73] let s:lib.Codec.encoding_table["35368"] = [212,74] let s:lib.Codec.encoding_table["35369"] = [212,75] let s:lib.Codec.encoding_table["35370"] = [212,76] let s:lib.Codec.encoding_table["35371"] = [212,77] let s:lib.Codec.encoding_table["35372"] = [212,78] let s:lib.Codec.encoding_table["35373"] = [212,79] let s:lib.Codec.encoding_table["35374"] = [212,80] let s:lib.Codec.encoding_table["35375"] = [212,81] let s:lib.Codec.encoding_table["35376"] = [212,82] let s:lib.Codec.encoding_table["35377"] = [212,83] let s:lib.Codec.encoding_table["35378"] = [212,84] let s:lib.Codec.encoding_table["35379"] = [212,85] let s:lib.Codec.encoding_table["35380"] = [212,86] let s:lib.Codec.encoding_table["35381"] = [212,87] let s:lib.Codec.encoding_table["35382"] = [212,88] let s:lib.Codec.encoding_table["35383"] = [212,89] let s:lib.Codec.encoding_table["35384"] = [212,90] let s:lib.Codec.encoding_table["35385"] = [212,91] let s:lib.Codec.encoding_table["35386"] = [212,92] let s:lib.Codec.encoding_table["35387"] = [212,93] let s:lib.Codec.encoding_table["35388"] = [212,94] let s:lib.Codec.encoding_table["35389"] = [212,95] let s:lib.Codec.encoding_table["35391"] = [212,96] let s:lib.Codec.encoding_table["35392"] = [212,97] let s:lib.Codec.encoding_table["35393"] = [212,98] let s:lib.Codec.encoding_table["35394"] = [212,99] let s:lib.Codec.encoding_table["35395"] = [212,100] let s:lib.Codec.encoding_table["35396"] = [212,101] let s:lib.Codec.encoding_table["35397"] = [212,102] let s:lib.Codec.encoding_table["35398"] = [212,103] let s:lib.Codec.encoding_table["35399"] = [212,104] let s:lib.Codec.encoding_table["35401"] = [212,105] let s:lib.Codec.encoding_table["35402"] = [212,106] let s:lib.Codec.encoding_table["35403"] = [212,107] let s:lib.Codec.encoding_table["35404"] = [212,108] let s:lib.Codec.encoding_table["35405"] = [212,109] let s:lib.Codec.encoding_table["35406"] = [212,110] let s:lib.Codec.encoding_table["35407"] = [212,111] let s:lib.Codec.encoding_table["35408"] = [212,112] let s:lib.Codec.encoding_table["35409"] = [212,113] let s:lib.Codec.encoding_table["35410"] = [212,114] let s:lib.Codec.encoding_table["35411"] = [212,115] let s:lib.Codec.encoding_table["35412"] = [212,116] let s:lib.Codec.encoding_table["35413"] = [212,117] let s:lib.Codec.encoding_table["35414"] = [212,118] let s:lib.Codec.encoding_table["35415"] = [212,119] let s:lib.Codec.encoding_table["35416"] = [212,120] let s:lib.Codec.encoding_table["35417"] = [212,121] let s:lib.Codec.encoding_table["35418"] = [212,122] let s:lib.Codec.encoding_table["35419"] = [212,123] let s:lib.Codec.encoding_table["35420"] = [212,124] let s:lib.Codec.encoding_table["35421"] = [212,125] let s:lib.Codec.encoding_table["35422"] = [212,126] let s:lib.Codec.encoding_table["35423"] = [212,128] let s:lib.Codec.encoding_table["35424"] = [212,129] let s:lib.Codec.encoding_table["35425"] = [212,130] let s:lib.Codec.encoding_table["35426"] = [212,131] let s:lib.Codec.encoding_table["35427"] = [212,132] let s:lib.Codec.encoding_table["35428"] = [212,133] let s:lib.Codec.encoding_table["35429"] = [212,134] let s:lib.Codec.encoding_table["35430"] = [212,135] let s:lib.Codec.encoding_table["35431"] = [212,136] let s:lib.Codec.encoding_table["35432"] = [212,137] let s:lib.Codec.encoding_table["35433"] = [212,138] let s:lib.Codec.encoding_table["35434"] = [212,139] let s:lib.Codec.encoding_table["35435"] = [212,140] let s:lib.Codec.encoding_table["35436"] = [212,141] let s:lib.Codec.encoding_table["35437"] = [212,142] let s:lib.Codec.encoding_table["35438"] = [212,143] let s:lib.Codec.encoding_table["35439"] = [212,144] let s:lib.Codec.encoding_table["35440"] = [212,145] let s:lib.Codec.encoding_table["35441"] = [212,146] let s:lib.Codec.encoding_table["35442"] = [212,147] let s:lib.Codec.encoding_table["35443"] = [212,148] let s:lib.Codec.encoding_table["35444"] = [212,149] let s:lib.Codec.encoding_table["35445"] = [212,150] let s:lib.Codec.encoding_table["35446"] = [212,151] let s:lib.Codec.encoding_table["35447"] = [212,152] let s:lib.Codec.encoding_table["35448"] = [212,153] let s:lib.Codec.encoding_table["35450"] = [212,154] let s:lib.Codec.encoding_table["35451"] = [212,155] let s:lib.Codec.encoding_table["35452"] = [212,156] let s:lib.Codec.encoding_table["35453"] = [212,157] let s:lib.Codec.encoding_table["35454"] = [212,158] let s:lib.Codec.encoding_table["35455"] = [212,159] let s:lib.Codec.encoding_table["35456"] = [212,160] let s:lib.Codec.encoding_table["28020"] = [212,161] let s:lib.Codec.encoding_table["23507"] = [212,162] let s:lib.Codec.encoding_table["35029"] = [212,163] let s:lib.Codec.encoding_table["39044"] = [212,164] let s:lib.Codec.encoding_table["35947"] = [212,165] let s:lib.Codec.encoding_table["39533"] = [212,166] let s:lib.Codec.encoding_table["40499"] = [212,167] let s:lib.Codec.encoding_table["28170"] = [212,168] let s:lib.Codec.encoding_table["20900"] = [212,169] let s:lib.Codec.encoding_table["20803"] = [212,170] let s:lib.Codec.encoding_table["22435"] = [212,171] let s:lib.Codec.encoding_table["34945"] = [212,172] let s:lib.Codec.encoding_table["21407"] = [212,173] let s:lib.Codec.encoding_table["25588"] = [212,174] let s:lib.Codec.encoding_table["36757"] = [212,175] let s:lib.Codec.encoding_table["22253"] = [212,176] let s:lib.Codec.encoding_table["21592"] = [212,177] let s:lib.Codec.encoding_table["22278"] = [212,178] let s:lib.Codec.encoding_table["29503"] = [212,179] let s:lib.Codec.encoding_table["28304"] = [212,180] let s:lib.Codec.encoding_table["32536"] = [212,181] let s:lib.Codec.encoding_table["36828"] = [212,182] let s:lib.Codec.encoding_table["33489"] = [212,183] let s:lib.Codec.encoding_table["24895"] = [212,184] let s:lib.Codec.encoding_table["24616"] = [212,185] let s:lib.Codec.encoding_table["38498"] = [212,186] let s:lib.Codec.encoding_table["26352"] = [212,187] let s:lib.Codec.encoding_table["32422"] = [212,188] let s:lib.Codec.encoding_table["36234"] = [212,189] let s:lib.Codec.encoding_table["36291"] = [212,190] let s:lib.Codec.encoding_table["38053"] = [212,191] let s:lib.Codec.encoding_table["23731"] = [212,192] let s:lib.Codec.encoding_table["31908"] = [212,193] let s:lib.Codec.encoding_table["26376"] = [212,194] let s:lib.Codec.encoding_table["24742"] = [212,195] let s:lib.Codec.encoding_table["38405"] = [212,196] let s:lib.Codec.encoding_table["32792"] = [212,197] let s:lib.Codec.encoding_table["20113"] = [212,198] let s:lib.Codec.encoding_table["37095"] = [212,199] let s:lib.Codec.encoding_table["21248"] = [212,200] let s:lib.Codec.encoding_table["38504"] = [212,201] let s:lib.Codec.encoding_table["20801"] = [212,202] let s:lib.Codec.encoding_table["36816"] = [212,203] let s:lib.Codec.encoding_table["34164"] = [212,204] let s:lib.Codec.encoding_table["37213"] = [212,205] let s:lib.Codec.encoding_table["26197"] = [212,206] let s:lib.Codec.encoding_table["38901"] = [212,207] let s:lib.Codec.encoding_table["23381"] = [212,208] let s:lib.Codec.encoding_table["21277"] = [212,209] let s:lib.Codec.encoding_table["30776"] = [212,210] let s:lib.Codec.encoding_table["26434"] = [212,211] let s:lib.Codec.encoding_table["26685"] = [212,212] let s:lib.Codec.encoding_table["21705"] = [212,213] let s:lib.Codec.encoding_table["28798"] = [212,214] let s:lib.Codec.encoding_table["23472"] = [212,215] let s:lib.Codec.encoding_table["36733"] = [212,216] let s:lib.Codec.encoding_table["20877"] = [212,217] let s:lib.Codec.encoding_table["22312"] = [212,218] let s:lib.Codec.encoding_table["21681"] = [212,219] let s:lib.Codec.encoding_table["25874"] = [212,220] let s:lib.Codec.encoding_table["26242"] = [212,221] let s:lib.Codec.encoding_table["36190"] = [212,222] let s:lib.Codec.encoding_table["36163"] = [212,223] let s:lib.Codec.encoding_table["33039"] = [212,224] let s:lib.Codec.encoding_table["33900"] = [212,225] let s:lib.Codec.encoding_table["36973"] = [212,226] let s:lib.Codec.encoding_table["31967"] = [212,227] let s:lib.Codec.encoding_table["20991"] = [212,228] let s:lib.Codec.encoding_table["34299"] = [212,229] let s:lib.Codec.encoding_table["26531"] = [212,230] let s:lib.Codec.encoding_table["26089"] = [212,231] let s:lib.Codec.encoding_table["28577"] = [212,232] let s:lib.Codec.encoding_table["34468"] = [212,233] let s:lib.Codec.encoding_table["36481"] = [212,234] let s:lib.Codec.encoding_table["22122"] = [212,235] let s:lib.Codec.encoding_table["36896"] = [212,236] let s:lib.Codec.encoding_table["30338"] = [212,237] let s:lib.Codec.encoding_table["28790"] = [212,238] let s:lib.Codec.encoding_table["29157"] = [212,239] let s:lib.Codec.encoding_table["36131"] = [212,240] let s:lib.Codec.encoding_table["25321"] = [212,241] let s:lib.Codec.encoding_table["21017"] = [212,242] let s:lib.Codec.encoding_table["27901"] = [212,243] let s:lib.Codec.encoding_table["36156"] = [212,244] let s:lib.Codec.encoding_table["24590"] = [212,245] let s:lib.Codec.encoding_table["22686"] = [212,246] let s:lib.Codec.encoding_table["24974"] = [212,247] let s:lib.Codec.encoding_table["26366"] = [212,248] let s:lib.Codec.encoding_table["36192"] = [212,249] let s:lib.Codec.encoding_table["25166"] = [212,250] let s:lib.Codec.encoding_table["21939"] = [212,251] let s:lib.Codec.encoding_table["28195"] = [212,252] let s:lib.Codec.encoding_table["26413"] = [212,253] let s:lib.Codec.encoding_table["36711"] = [212,254] let s:lib.Codec.encoding_table["35457"] = [213,64] let s:lib.Codec.encoding_table["35458"] = [213,65] let s:lib.Codec.encoding_table["35459"] = [213,66] let s:lib.Codec.encoding_table["35460"] = [213,67] let s:lib.Codec.encoding_table["35461"] = [213,68] let s:lib.Codec.encoding_table["35462"] = [213,69] let s:lib.Codec.encoding_table["35463"] = [213,70] let s:lib.Codec.encoding_table["35464"] = [213,71] let s:lib.Codec.encoding_table["35467"] = [213,72] let s:lib.Codec.encoding_table["35468"] = [213,73] let s:lib.Codec.encoding_table["35469"] = [213,74] let s:lib.Codec.encoding_table["35470"] = [213,75] let s:lib.Codec.encoding_table["35471"] = [213,76] let s:lib.Codec.encoding_table["35472"] = [213,77] let s:lib.Codec.encoding_table["35473"] = [213,78] let s:lib.Codec.encoding_table["35474"] = [213,79] let s:lib.Codec.encoding_table["35476"] = [213,80] let s:lib.Codec.encoding_table["35477"] = [213,81] let s:lib.Codec.encoding_table["35478"] = [213,82] let s:lib.Codec.encoding_table["35479"] = [213,83] let s:lib.Codec.encoding_table["35480"] = [213,84] let s:lib.Codec.encoding_table["35481"] = [213,85] let s:lib.Codec.encoding_table["35482"] = [213,86] let s:lib.Codec.encoding_table["35483"] = [213,87] let s:lib.Codec.encoding_table["35484"] = [213,88] let s:lib.Codec.encoding_table["35485"] = [213,89] let s:lib.Codec.encoding_table["35486"] = [213,90] let s:lib.Codec.encoding_table["35487"] = [213,91] let s:lib.Codec.encoding_table["35488"] = [213,92] let s:lib.Codec.encoding_table["35489"] = [213,93] let s:lib.Codec.encoding_table["35490"] = [213,94] let s:lib.Codec.encoding_table["35491"] = [213,95] let s:lib.Codec.encoding_table["35492"] = [213,96] let s:lib.Codec.encoding_table["35493"] = [213,97] let s:lib.Codec.encoding_table["35494"] = [213,98] let s:lib.Codec.encoding_table["35495"] = [213,99] let s:lib.Codec.encoding_table["35496"] = [213,100] let s:lib.Codec.encoding_table["35497"] = [213,101] let s:lib.Codec.encoding_table["35498"] = [213,102] let s:lib.Codec.encoding_table["35499"] = [213,103] let s:lib.Codec.encoding_table["35500"] = [213,104] let s:lib.Codec.encoding_table["35501"] = [213,105] let s:lib.Codec.encoding_table["35502"] = [213,106] let s:lib.Codec.encoding_table["35503"] = [213,107] let s:lib.Codec.encoding_table["35504"] = [213,108] let s:lib.Codec.encoding_table["35505"] = [213,109] let s:lib.Codec.encoding_table["35506"] = [213,110] let s:lib.Codec.encoding_table["35507"] = [213,111] let s:lib.Codec.encoding_table["35508"] = [213,112] let s:lib.Codec.encoding_table["35509"] = [213,113] let s:lib.Codec.encoding_table["35510"] = [213,114] let s:lib.Codec.encoding_table["35511"] = [213,115] let s:lib.Codec.encoding_table["35512"] = [213,116] let s:lib.Codec.encoding_table["35513"] = [213,117] let s:lib.Codec.encoding_table["35514"] = [213,118] let s:lib.Codec.encoding_table["35515"] = [213,119] let s:lib.Codec.encoding_table["35516"] = [213,120] let s:lib.Codec.encoding_table["35517"] = [213,121] let s:lib.Codec.encoding_table["35518"] = [213,122] let s:lib.Codec.encoding_table["35519"] = [213,123] let s:lib.Codec.encoding_table["35520"] = [213,124] let s:lib.Codec.encoding_table["35521"] = [213,125] let s:lib.Codec.encoding_table["35522"] = [213,126] let s:lib.Codec.encoding_table["35523"] = [213,128] let s:lib.Codec.encoding_table["35524"] = [213,129] let s:lib.Codec.encoding_table["35525"] = [213,130] let s:lib.Codec.encoding_table["35526"] = [213,131] let s:lib.Codec.encoding_table["35527"] = [213,132] let s:lib.Codec.encoding_table["35528"] = [213,133] let s:lib.Codec.encoding_table["35529"] = [213,134] let s:lib.Codec.encoding_table["35530"] = [213,135] let s:lib.Codec.encoding_table["35531"] = [213,136] let s:lib.Codec.encoding_table["35532"] = [213,137] let s:lib.Codec.encoding_table["35533"] = [213,138] let s:lib.Codec.encoding_table["35534"] = [213,139] let s:lib.Codec.encoding_table["35535"] = [213,140] let s:lib.Codec.encoding_table["35536"] = [213,141] let s:lib.Codec.encoding_table["35537"] = [213,142] let s:lib.Codec.encoding_table["35538"] = [213,143] let s:lib.Codec.encoding_table["35539"] = [213,144] let s:lib.Codec.encoding_table["35540"] = [213,145] let s:lib.Codec.encoding_table["35541"] = [213,146] let s:lib.Codec.encoding_table["35542"] = [213,147] let s:lib.Codec.encoding_table["35543"] = [213,148] let s:lib.Codec.encoding_table["35544"] = [213,149] let s:lib.Codec.encoding_table["35545"] = [213,150] let s:lib.Codec.encoding_table["35546"] = [213,151] let s:lib.Codec.encoding_table["35547"] = [213,152] let s:lib.Codec.encoding_table["35548"] = [213,153] let s:lib.Codec.encoding_table["35549"] = [213,154] let s:lib.Codec.encoding_table["35550"] = [213,155] let s:lib.Codec.encoding_table["35551"] = [213,156] let s:lib.Codec.encoding_table["35552"] = [213,157] let s:lib.Codec.encoding_table["35553"] = [213,158] let s:lib.Codec.encoding_table["35554"] = [213,159] let s:lib.Codec.encoding_table["35555"] = [213,160] let s:lib.Codec.encoding_table["38113"] = [213,161] let s:lib.Codec.encoding_table["38392"] = [213,162] let s:lib.Codec.encoding_table["30504"] = [213,163] let s:lib.Codec.encoding_table["26629"] = [213,164] let s:lib.Codec.encoding_table["27048"] = [213,165] let s:lib.Codec.encoding_table["21643"] = [213,166] let s:lib.Codec.encoding_table["20045"] = [213,167] let s:lib.Codec.encoding_table["28856"] = [213,168] let s:lib.Codec.encoding_table["35784"] = [213,169] let s:lib.Codec.encoding_table["25688"] = [213,170] let s:lib.Codec.encoding_table["25995"] = [213,171] let s:lib.Codec.encoding_table["23429"] = [213,172] let s:lib.Codec.encoding_table["31364"] = [213,173] let s:lib.Codec.encoding_table["20538"] = [213,174] let s:lib.Codec.encoding_table["23528"] = [213,175] let s:lib.Codec.encoding_table["30651"] = [213,176] let s:lib.Codec.encoding_table["27617"] = [213,177] let s:lib.Codec.encoding_table["35449"] = [213,178] let s:lib.Codec.encoding_table["31896"] = [213,179] let s:lib.Codec.encoding_table["27838"] = [213,180] let s:lib.Codec.encoding_table["30415"] = [213,181] let s:lib.Codec.encoding_table["26025"] = [213,182] let s:lib.Codec.encoding_table["36759"] = [213,183] let s:lib.Codec.encoding_table["23853"] = [213,184] let s:lib.Codec.encoding_table["23637"] = [213,185] let s:lib.Codec.encoding_table["34360"] = [213,186] let s:lib.Codec.encoding_table["26632"] = [213,187] let s:lib.Codec.encoding_table["21344"] = [213,188] let s:lib.Codec.encoding_table["25112"] = [213,189] let s:lib.Codec.encoding_table["31449"] = [213,190] let s:lib.Codec.encoding_table["28251"] = [213,191] let s:lib.Codec.encoding_table["32509"] = [213,192] let s:lib.Codec.encoding_table["27167"] = [213,193] let s:lib.Codec.encoding_table["31456"] = [213,194] let s:lib.Codec.encoding_table["24432"] = [213,195] let s:lib.Codec.encoding_table["28467"] = [213,196] let s:lib.Codec.encoding_table["24352"] = [213,197] let s:lib.Codec.encoding_table["25484"] = [213,198] let s:lib.Codec.encoding_table["28072"] = [213,199] let s:lib.Codec.encoding_table["26454"] = [213,200] let s:lib.Codec.encoding_table["19976"] = [213,201] let s:lib.Codec.encoding_table["24080"] = [213,202] let s:lib.Codec.encoding_table["36134"] = [213,203] let s:lib.Codec.encoding_table["20183"] = [213,204] let s:lib.Codec.encoding_table["32960"] = [213,205] let s:lib.Codec.encoding_table["30260"] = [213,206] let s:lib.Codec.encoding_table["38556"] = [213,207] let s:lib.Codec.encoding_table["25307"] = [213,208] let s:lib.Codec.encoding_table["26157"] = [213,209] let s:lib.Codec.encoding_table["25214"] = [213,210] let s:lib.Codec.encoding_table["27836"] = [213,211] let s:lib.Codec.encoding_table["36213"] = [213,212] let s:lib.Codec.encoding_table["29031"] = [213,213] let s:lib.Codec.encoding_table["32617"] = [213,214] let s:lib.Codec.encoding_table["20806"] = [213,215] let s:lib.Codec.encoding_table["32903"] = [213,216] let s:lib.Codec.encoding_table["21484"] = [213,217] let s:lib.Codec.encoding_table["36974"] = [213,218] let s:lib.Codec.encoding_table["25240"] = [213,219] let s:lib.Codec.encoding_table["21746"] = [213,220] let s:lib.Codec.encoding_table["34544"] = [213,221] let s:lib.Codec.encoding_table["36761"] = [213,222] let s:lib.Codec.encoding_table["32773"] = [213,223] let s:lib.Codec.encoding_table["38167"] = [213,224] let s:lib.Codec.encoding_table["34071"] = [213,225] let s:lib.Codec.encoding_table["36825"] = [213,226] let s:lib.Codec.encoding_table["27993"] = [213,227] let s:lib.Codec.encoding_table["29645"] = [213,228] let s:lib.Codec.encoding_table["26015"] = [213,229] let s:lib.Codec.encoding_table["30495"] = [213,230] let s:lib.Codec.encoding_table["29956"] = [213,231] let s:lib.Codec.encoding_table["30759"] = [213,232] let s:lib.Codec.encoding_table["33275"] = [213,233] let s:lib.Codec.encoding_table["36126"] = [213,234] let s:lib.Codec.encoding_table["38024"] = [213,235] let s:lib.Codec.encoding_table["20390"] = [213,236] let s:lib.Codec.encoding_table["26517"] = [213,237] let s:lib.Codec.encoding_table["30137"] = [213,238] let s:lib.Codec.encoding_table["35786"] = [213,239] let s:lib.Codec.encoding_table["38663"] = [213,240] let s:lib.Codec.encoding_table["25391"] = [213,241] let s:lib.Codec.encoding_table["38215"] = [213,242] let s:lib.Codec.encoding_table["38453"] = [213,243] let s:lib.Codec.encoding_table["33976"] = [213,244] let s:lib.Codec.encoding_table["25379"] = [213,245] let s:lib.Codec.encoding_table["30529"] = [213,246] let s:lib.Codec.encoding_table["24449"] = [213,247] let s:lib.Codec.encoding_table["29424"] = [213,248] let s:lib.Codec.encoding_table["20105"] = [213,249] let s:lib.Codec.encoding_table["24596"] = [213,250] let s:lib.Codec.encoding_table["25972"] = [213,251] let s:lib.Codec.encoding_table["25327"] = [213,252] let s:lib.Codec.encoding_table["27491"] = [213,253] let s:lib.Codec.encoding_table["25919"] = [213,254] let s:lib.Codec.encoding_table["35556"] = [214,64] let s:lib.Codec.encoding_table["35557"] = [214,65] let s:lib.Codec.encoding_table["35558"] = [214,66] let s:lib.Codec.encoding_table["35559"] = [214,67] let s:lib.Codec.encoding_table["35560"] = [214,68] let s:lib.Codec.encoding_table["35561"] = [214,69] let s:lib.Codec.encoding_table["35562"] = [214,70] let s:lib.Codec.encoding_table["35563"] = [214,71] let s:lib.Codec.encoding_table["35564"] = [214,72] let s:lib.Codec.encoding_table["35565"] = [214,73] let s:lib.Codec.encoding_table["35566"] = [214,74] let s:lib.Codec.encoding_table["35567"] = [214,75] let s:lib.Codec.encoding_table["35568"] = [214,76] let s:lib.Codec.encoding_table["35569"] = [214,77] let s:lib.Codec.encoding_table["35570"] = [214,78] let s:lib.Codec.encoding_table["35571"] = [214,79] let s:lib.Codec.encoding_table["35572"] = [214,80] let s:lib.Codec.encoding_table["35573"] = [214,81] let s:lib.Codec.encoding_table["35574"] = [214,82] let s:lib.Codec.encoding_table["35575"] = [214,83] let s:lib.Codec.encoding_table["35576"] = [214,84] let s:lib.Codec.encoding_table["35577"] = [214,85] let s:lib.Codec.encoding_table["35578"] = [214,86] let s:lib.Codec.encoding_table["35579"] = [214,87] let s:lib.Codec.encoding_table["35580"] = [214,88] let s:lib.Codec.encoding_table["35581"] = [214,89] let s:lib.Codec.encoding_table["35582"] = [214,90] let s:lib.Codec.encoding_table["35583"] = [214,91] let s:lib.Codec.encoding_table["35584"] = [214,92] let s:lib.Codec.encoding_table["35585"] = [214,93] let s:lib.Codec.encoding_table["35586"] = [214,94] let s:lib.Codec.encoding_table["35587"] = [214,95] let s:lib.Codec.encoding_table["35588"] = [214,96] let s:lib.Codec.encoding_table["35589"] = [214,97] let s:lib.Codec.encoding_table["35590"] = [214,98] let s:lib.Codec.encoding_table["35592"] = [214,99] let s:lib.Codec.encoding_table["35593"] = [214,100] let s:lib.Codec.encoding_table["35594"] = [214,101] let s:lib.Codec.encoding_table["35595"] = [214,102] let s:lib.Codec.encoding_table["35596"] = [214,103] let s:lib.Codec.encoding_table["35597"] = [214,104] let s:lib.Codec.encoding_table["35598"] = [214,105] let s:lib.Codec.encoding_table["35599"] = [214,106] let s:lib.Codec.encoding_table["35600"] = [214,107] let s:lib.Codec.encoding_table["35601"] = [214,108] let s:lib.Codec.encoding_table["35602"] = [214,109] let s:lib.Codec.encoding_table["35603"] = [214,110] let s:lib.Codec.encoding_table["35604"] = [214,111] let s:lib.Codec.encoding_table["35605"] = [214,112] let s:lib.Codec.encoding_table["35606"] = [214,113] let s:lib.Codec.encoding_table["35607"] = [214,114] let s:lib.Codec.encoding_table["35608"] = [214,115] let s:lib.Codec.encoding_table["35609"] = [214,116] let s:lib.Codec.encoding_table["35610"] = [214,117] let s:lib.Codec.encoding_table["35611"] = [214,118] let s:lib.Codec.encoding_table["35612"] = [214,119] let s:lib.Codec.encoding_table["35613"] = [214,120] let s:lib.Codec.encoding_table["35614"] = [214,121] let s:lib.Codec.encoding_table["35615"] = [214,122] let s:lib.Codec.encoding_table["35616"] = [214,123] let s:lib.Codec.encoding_table["35617"] = [214,124] let s:lib.Codec.encoding_table["35618"] = [214,125] let s:lib.Codec.encoding_table["35619"] = [214,126] let s:lib.Codec.encoding_table["35620"] = [214,128] let s:lib.Codec.encoding_table["35621"] = [214,129] let s:lib.Codec.encoding_table["35623"] = [214,130] let s:lib.Codec.encoding_table["35624"] = [214,131] let s:lib.Codec.encoding_table["35625"] = [214,132] let s:lib.Codec.encoding_table["35626"] = [214,133] let s:lib.Codec.encoding_table["35627"] = [214,134] let s:lib.Codec.encoding_table["35628"] = [214,135] let s:lib.Codec.encoding_table["35629"] = [214,136] let s:lib.Codec.encoding_table["35630"] = [214,137] let s:lib.Codec.encoding_table["35631"] = [214,138] let s:lib.Codec.encoding_table["35632"] = [214,139] let s:lib.Codec.encoding_table["35633"] = [214,140] let s:lib.Codec.encoding_table["35634"] = [214,141] let s:lib.Codec.encoding_table["35635"] = [214,142] let s:lib.Codec.encoding_table["35636"] = [214,143] let s:lib.Codec.encoding_table["35637"] = [214,144] let s:lib.Codec.encoding_table["35638"] = [214,145] let s:lib.Codec.encoding_table["35639"] = [214,146] let s:lib.Codec.encoding_table["35640"] = [214,147] let s:lib.Codec.encoding_table["35641"] = [214,148] let s:lib.Codec.encoding_table["35642"] = [214,149] let s:lib.Codec.encoding_table["35643"] = [214,150] let s:lib.Codec.encoding_table["35644"] = [214,151] let s:lib.Codec.encoding_table["35645"] = [214,152] let s:lib.Codec.encoding_table["35646"] = [214,153] let s:lib.Codec.encoding_table["35647"] = [214,154] let s:lib.Codec.encoding_table["35648"] = [214,155] let s:lib.Codec.encoding_table["35649"] = [214,156] let s:lib.Codec.encoding_table["35650"] = [214,157] let s:lib.Codec.encoding_table["35651"] = [214,158] let s:lib.Codec.encoding_table["35652"] = [214,159] let s:lib.Codec.encoding_table["35653"] = [214,160] let s:lib.Codec.encoding_table["24103"] = [214,161] let s:lib.Codec.encoding_table["30151"] = [214,162] let s:lib.Codec.encoding_table["37073"] = [214,163] let s:lib.Codec.encoding_table["35777"] = [214,164] let s:lib.Codec.encoding_table["33437"] = [214,165] let s:lib.Codec.encoding_table["26525"] = [214,166] let s:lib.Codec.encoding_table["25903"] = [214,167] let s:lib.Codec.encoding_table["21553"] = [214,168] let s:lib.Codec.encoding_table["34584"] = [214,169] let s:lib.Codec.encoding_table["30693"] = [214,170] let s:lib.Codec.encoding_table["32930"] = [214,171] let s:lib.Codec.encoding_table["33026"] = [214,172] let s:lib.Codec.encoding_table["27713"] = [214,173] let s:lib.Codec.encoding_table["20043"] = [214,174] let s:lib.Codec.encoding_table["32455"] = [214,175] let s:lib.Codec.encoding_table["32844"] = [214,176] let s:lib.Codec.encoding_table["30452"] = [214,177] let s:lib.Codec.encoding_table["26893"] = [214,178] let s:lib.Codec.encoding_table["27542"] = [214,179] let s:lib.Codec.encoding_table["25191"] = [214,180] let s:lib.Codec.encoding_table["20540"] = [214,181] let s:lib.Codec.encoding_table["20356"] = [214,182] let s:lib.Codec.encoding_table["22336"] = [214,183] let s:lib.Codec.encoding_table["25351"] = [214,184] let s:lib.Codec.encoding_table["27490"] = [214,185] let s:lib.Codec.encoding_table["36286"] = [214,186] let s:lib.Codec.encoding_table["21482"] = [214,187] let s:lib.Codec.encoding_table["26088"] = [214,188] let s:lib.Codec.encoding_table["32440"] = [214,189] let s:lib.Codec.encoding_table["24535"] = [214,190] let s:lib.Codec.encoding_table["25370"] = [214,191] let s:lib.Codec.encoding_table["25527"] = [214,192] let s:lib.Codec.encoding_table["33267"] = [214,193] let s:lib.Codec.encoding_table["33268"] = [214,194] let s:lib.Codec.encoding_table["32622"] = [214,195] let s:lib.Codec.encoding_table["24092"] = [214,196] let s:lib.Codec.encoding_table["23769"] = [214,197] let s:lib.Codec.encoding_table["21046"] = [214,198] let s:lib.Codec.encoding_table["26234"] = [214,199] let s:lib.Codec.encoding_table["31209"] = [214,200] let s:lib.Codec.encoding_table["31258"] = [214,201] let s:lib.Codec.encoding_table["36136"] = [214,202] let s:lib.Codec.encoding_table["28825"] = [214,203] let s:lib.Codec.encoding_table["30164"] = [214,204] let s:lib.Codec.encoding_table["28382"] = [214,205] let s:lib.Codec.encoding_table["27835"] = [214,206] let s:lib.Codec.encoding_table["31378"] = [214,207] let s:lib.Codec.encoding_table["20013"] = [214,208] let s:lib.Codec.encoding_table["30405"] = [214,209] let s:lib.Codec.encoding_table["24544"] = [214,210] let s:lib.Codec.encoding_table["38047"] = [214,211] let s:lib.Codec.encoding_table["34935"] = [214,212] let s:lib.Codec.encoding_table["32456"] = [214,213] let s:lib.Codec.encoding_table["31181"] = [214,214] let s:lib.Codec.encoding_table["32959"] = [214,215] let s:lib.Codec.encoding_table["37325"] = [214,216] let s:lib.Codec.encoding_table["20210"] = [214,217] let s:lib.Codec.encoding_table["20247"] = [214,218] let s:lib.Codec.encoding_table["33311"] = [214,219] let s:lib.Codec.encoding_table["21608"] = [214,220] let s:lib.Codec.encoding_table["24030"] = [214,221] let s:lib.Codec.encoding_table["27954"] = [214,222] let s:lib.Codec.encoding_table["35788"] = [214,223] let s:lib.Codec.encoding_table["31909"] = [214,224] let s:lib.Codec.encoding_table["36724"] = [214,225] let s:lib.Codec.encoding_table["32920"] = [214,226] let s:lib.Codec.encoding_table["24090"] = [214,227] let s:lib.Codec.encoding_table["21650"] = [214,228] let s:lib.Codec.encoding_table["30385"] = [214,229] let s:lib.Codec.encoding_table["23449"] = [214,230] let s:lib.Codec.encoding_table["26172"] = [214,231] let s:lib.Codec.encoding_table["39588"] = [214,232] let s:lib.Codec.encoding_table["29664"] = [214,233] let s:lib.Codec.encoding_table["26666"] = [214,234] let s:lib.Codec.encoding_table["34523"] = [214,235] let s:lib.Codec.encoding_table["26417"] = [214,236] let s:lib.Codec.encoding_table["29482"] = [214,237] let s:lib.Codec.encoding_table["35832"] = [214,238] let s:lib.Codec.encoding_table["35803"] = [214,239] let s:lib.Codec.encoding_table["36880"] = [214,240] let s:lib.Codec.encoding_table["31481"] = [214,241] let s:lib.Codec.encoding_table["28891"] = [214,242] let s:lib.Codec.encoding_table["29038"] = [214,243] let s:lib.Codec.encoding_table["25284"] = [214,244] let s:lib.Codec.encoding_table["30633"] = [214,245] let s:lib.Codec.encoding_table["22065"] = [214,246] let s:lib.Codec.encoding_table["20027"] = [214,247] let s:lib.Codec.encoding_table["33879"] = [214,248] let s:lib.Codec.encoding_table["26609"] = [214,249] let s:lib.Codec.encoding_table["21161"] = [214,250] let s:lib.Codec.encoding_table["34496"] = [214,251] let s:lib.Codec.encoding_table["36142"] = [214,252] let s:lib.Codec.encoding_table["38136"] = [214,253] let s:lib.Codec.encoding_table["31569"] = [214,254] let s:lib.Codec.encoding_table["35654"] = [215,64] let s:lib.Codec.encoding_table["35655"] = [215,65] let s:lib.Codec.encoding_table["35656"] = [215,66] let s:lib.Codec.encoding_table["35657"] = [215,67] let s:lib.Codec.encoding_table["35658"] = [215,68] let s:lib.Codec.encoding_table["35659"] = [215,69] let s:lib.Codec.encoding_table["35660"] = [215,70] let s:lib.Codec.encoding_table["35661"] = [215,71] let s:lib.Codec.encoding_table["35662"] = [215,72] let s:lib.Codec.encoding_table["35663"] = [215,73] let s:lib.Codec.encoding_table["35664"] = [215,74] let s:lib.Codec.encoding_table["35665"] = [215,75] let s:lib.Codec.encoding_table["35666"] = [215,76] let s:lib.Codec.encoding_table["35667"] = [215,77] let s:lib.Codec.encoding_table["35668"] = [215,78] let s:lib.Codec.encoding_table["35669"] = [215,79] let s:lib.Codec.encoding_table["35670"] = [215,80] let s:lib.Codec.encoding_table["35671"] = [215,81] let s:lib.Codec.encoding_table["35672"] = [215,82] let s:lib.Codec.encoding_table["35673"] = [215,83] let s:lib.Codec.encoding_table["35674"] = [215,84] let s:lib.Codec.encoding_table["35675"] = [215,85] let s:lib.Codec.encoding_table["35676"] = [215,86] let s:lib.Codec.encoding_table["35677"] = [215,87] let s:lib.Codec.encoding_table["35678"] = [215,88] let s:lib.Codec.encoding_table["35679"] = [215,89] let s:lib.Codec.encoding_table["35680"] = [215,90] let s:lib.Codec.encoding_table["35681"] = [215,91] let s:lib.Codec.encoding_table["35682"] = [215,92] let s:lib.Codec.encoding_table["35683"] = [215,93] let s:lib.Codec.encoding_table["35684"] = [215,94] let s:lib.Codec.encoding_table["35685"] = [215,95] let s:lib.Codec.encoding_table["35687"] = [215,96] let s:lib.Codec.encoding_table["35688"] = [215,97] let s:lib.Codec.encoding_table["35689"] = [215,98] let s:lib.Codec.encoding_table["35690"] = [215,99] let s:lib.Codec.encoding_table["35691"] = [215,100] let s:lib.Codec.encoding_table["35693"] = [215,101] let s:lib.Codec.encoding_table["35694"] = [215,102] let s:lib.Codec.encoding_table["35695"] = [215,103] let s:lib.Codec.encoding_table["35696"] = [215,104] let s:lib.Codec.encoding_table["35697"] = [215,105] let s:lib.Codec.encoding_table["35698"] = [215,106] let s:lib.Codec.encoding_table["35699"] = [215,107] let s:lib.Codec.encoding_table["35700"] = [215,108] let s:lib.Codec.encoding_table["35701"] = [215,109] let s:lib.Codec.encoding_table["35702"] = [215,110] let s:lib.Codec.encoding_table["35703"] = [215,111] let s:lib.Codec.encoding_table["35704"] = [215,112] let s:lib.Codec.encoding_table["35705"] = [215,113] let s:lib.Codec.encoding_table["35706"] = [215,114] let s:lib.Codec.encoding_table["35707"] = [215,115] let s:lib.Codec.encoding_table["35708"] = [215,116] let s:lib.Codec.encoding_table["35709"] = [215,117] let s:lib.Codec.encoding_table["35710"] = [215,118] let s:lib.Codec.encoding_table["35711"] = [215,119] let s:lib.Codec.encoding_table["35712"] = [215,120] let s:lib.Codec.encoding_table["35713"] = [215,121] let s:lib.Codec.encoding_table["35714"] = [215,122] let s:lib.Codec.encoding_table["35715"] = [215,123] let s:lib.Codec.encoding_table["35716"] = [215,124] let s:lib.Codec.encoding_table["35717"] = [215,125] let s:lib.Codec.encoding_table["35718"] = [215,126] let s:lib.Codec.encoding_table["35719"] = [215,128] let s:lib.Codec.encoding_table["35720"] = [215,129] let s:lib.Codec.encoding_table["35721"] = [215,130] let s:lib.Codec.encoding_table["35722"] = [215,131] let s:lib.Codec.encoding_table["35723"] = [215,132] let s:lib.Codec.encoding_table["35724"] = [215,133] let s:lib.Codec.encoding_table["35725"] = [215,134] let s:lib.Codec.encoding_table["35726"] = [215,135] let s:lib.Codec.encoding_table["35727"] = [215,136] let s:lib.Codec.encoding_table["35728"] = [215,137] let s:lib.Codec.encoding_table["35729"] = [215,138] let s:lib.Codec.encoding_table["35730"] = [215,139] let s:lib.Codec.encoding_table["35731"] = [215,140] let s:lib.Codec.encoding_table["35732"] = [215,141] let s:lib.Codec.encoding_table["35733"] = [215,142] let s:lib.Codec.encoding_table["35734"] = [215,143] let s:lib.Codec.encoding_table["35735"] = [215,144] let s:lib.Codec.encoding_table["35736"] = [215,145] let s:lib.Codec.encoding_table["35737"] = [215,146] let s:lib.Codec.encoding_table["35738"] = [215,147] let s:lib.Codec.encoding_table["35739"] = [215,148] let s:lib.Codec.encoding_table["35740"] = [215,149] let s:lib.Codec.encoding_table["35741"] = [215,150] let s:lib.Codec.encoding_table["35742"] = [215,151] let s:lib.Codec.encoding_table["35743"] = [215,152] let s:lib.Codec.encoding_table["35756"] = [215,153] let s:lib.Codec.encoding_table["35761"] = [215,154] let s:lib.Codec.encoding_table["35771"] = [215,155] let s:lib.Codec.encoding_table["35783"] = [215,156] let s:lib.Codec.encoding_table["35792"] = [215,157] let s:lib.Codec.encoding_table["35818"] = [215,158] let s:lib.Codec.encoding_table["35849"] = [215,159] let s:lib.Codec.encoding_table["35870"] = [215,160] let s:lib.Codec.encoding_table["20303"] = [215,161] let s:lib.Codec.encoding_table["27880"] = [215,162] let s:lib.Codec.encoding_table["31069"] = [215,163] let s:lib.Codec.encoding_table["39547"] = [215,164] let s:lib.Codec.encoding_table["25235"] = [215,165] let s:lib.Codec.encoding_table["29226"] = [215,166] let s:lib.Codec.encoding_table["25341"] = [215,167] let s:lib.Codec.encoding_table["19987"] = [215,168] let s:lib.Codec.encoding_table["30742"] = [215,169] let s:lib.Codec.encoding_table["36716"] = [215,170] let s:lib.Codec.encoding_table["25776"] = [215,171] let s:lib.Codec.encoding_table["36186"] = [215,172] let s:lib.Codec.encoding_table["31686"] = [215,173] let s:lib.Codec.encoding_table["26729"] = [215,174] let s:lib.Codec.encoding_table["24196"] = [215,175] let s:lib.Codec.encoding_table["35013"] = [215,176] let s:lib.Codec.encoding_table["22918"] = [215,177] let s:lib.Codec.encoding_table["25758"] = [215,178] let s:lib.Codec.encoding_table["22766"] = [215,179] let s:lib.Codec.encoding_table["29366"] = [215,180] let s:lib.Codec.encoding_table["26894"] = [215,181] let s:lib.Codec.encoding_table["38181"] = [215,182] let s:lib.Codec.encoding_table["36861"] = [215,183] let s:lib.Codec.encoding_table["36184"] = [215,184] let s:lib.Codec.encoding_table["22368"] = [215,185] let s:lib.Codec.encoding_table["32512"] = [215,186] let s:lib.Codec.encoding_table["35846"] = [215,187] let s:lib.Codec.encoding_table["20934"] = [215,188] let s:lib.Codec.encoding_table["25417"] = [215,189] let s:lib.Codec.encoding_table["25305"] = [215,190] let s:lib.Codec.encoding_table["21331"] = [215,191] let s:lib.Codec.encoding_table["26700"] = [215,192] let s:lib.Codec.encoding_table["29730"] = [215,193] let s:lib.Codec.encoding_table["33537"] = [215,194] let s:lib.Codec.encoding_table["37196"] = [215,195] let s:lib.Codec.encoding_table["21828"] = [215,196] let s:lib.Codec.encoding_table["30528"] = [215,197] let s:lib.Codec.encoding_table["28796"] = [215,198] let s:lib.Codec.encoding_table["27978"] = [215,199] let s:lib.Codec.encoding_table["20857"] = [215,200] let s:lib.Codec.encoding_table["21672"] = [215,201] let s:lib.Codec.encoding_table["36164"] = [215,202] let s:lib.Codec.encoding_table["23039"] = [215,203] let s:lib.Codec.encoding_table["28363"] = [215,204] let s:lib.Codec.encoding_table["28100"] = [215,205] let s:lib.Codec.encoding_table["23388"] = [215,206] let s:lib.Codec.encoding_table["32043"] = [215,207] let s:lib.Codec.encoding_table["20180"] = [215,208] let s:lib.Codec.encoding_table["31869"] = [215,209] let s:lib.Codec.encoding_table["28371"] = [215,210] let s:lib.Codec.encoding_table["23376"] = [215,211] let s:lib.Codec.encoding_table["33258"] = [215,212] let s:lib.Codec.encoding_table["28173"] = [215,213] let s:lib.Codec.encoding_table["23383"] = [215,214] let s:lib.Codec.encoding_table["39683"] = [215,215] let s:lib.Codec.encoding_table["26837"] = [215,216] let s:lib.Codec.encoding_table["36394"] = [215,217] let s:lib.Codec.encoding_table["23447"] = [215,218] let s:lib.Codec.encoding_table["32508"] = [215,219] let s:lib.Codec.encoding_table["24635"] = [215,220] let s:lib.Codec.encoding_table["32437"] = [215,221] let s:lib.Codec.encoding_table["37049"] = [215,222] let s:lib.Codec.encoding_table["36208"] = [215,223] let s:lib.Codec.encoding_table["22863"] = [215,224] let s:lib.Codec.encoding_table["25549"] = [215,225] let s:lib.Codec.encoding_table["31199"] = [215,226] let s:lib.Codec.encoding_table["36275"] = [215,227] let s:lib.Codec.encoding_table["21330"] = [215,228] let s:lib.Codec.encoding_table["26063"] = [215,229] let s:lib.Codec.encoding_table["31062"] = [215,230] let s:lib.Codec.encoding_table["35781"] = [215,231] let s:lib.Codec.encoding_table["38459"] = [215,232] let s:lib.Codec.encoding_table["32452"] = [215,233] let s:lib.Codec.encoding_table["38075"] = [215,234] let s:lib.Codec.encoding_table["32386"] = [215,235] let s:lib.Codec.encoding_table["22068"] = [215,236] let s:lib.Codec.encoding_table["37257"] = [215,237] let s:lib.Codec.encoding_table["26368"] = [215,238] let s:lib.Codec.encoding_table["32618"] = [215,239] let s:lib.Codec.encoding_table["23562"] = [215,240] let s:lib.Codec.encoding_table["36981"] = [215,241] let s:lib.Codec.encoding_table["26152"] = [215,242] let s:lib.Codec.encoding_table["24038"] = [215,243] let s:lib.Codec.encoding_table["20304"] = [215,244] let s:lib.Codec.encoding_table["26590"] = [215,245] let s:lib.Codec.encoding_table["20570"] = [215,246] let s:lib.Codec.encoding_table["20316"] = [215,247] let s:lib.Codec.encoding_table["22352"] = [215,248] let s:lib.Codec.encoding_table["24231"] = [215,249] let s:lib.Codec.encoding_table["35896"] = [216,64] let s:lib.Codec.encoding_table["35897"] = [216,65] let s:lib.Codec.encoding_table["35898"] = [216,66] let s:lib.Codec.encoding_table["35899"] = [216,67] let s:lib.Codec.encoding_table["35900"] = [216,68] let s:lib.Codec.encoding_table["35901"] = [216,69] let s:lib.Codec.encoding_table["35902"] = [216,70] let s:lib.Codec.encoding_table["35903"] = [216,71] let s:lib.Codec.encoding_table["35904"] = [216,72] let s:lib.Codec.encoding_table["35906"] = [216,73] let s:lib.Codec.encoding_table["35907"] = [216,74] let s:lib.Codec.encoding_table["35908"] = [216,75] let s:lib.Codec.encoding_table["35909"] = [216,76] let s:lib.Codec.encoding_table["35912"] = [216,77] let s:lib.Codec.encoding_table["35914"] = [216,78] let s:lib.Codec.encoding_table["35915"] = [216,79] let s:lib.Codec.encoding_table["35917"] = [216,80] let s:lib.Codec.encoding_table["35918"] = [216,81] let s:lib.Codec.encoding_table["35919"] = [216,82] let s:lib.Codec.encoding_table["35920"] = [216,83] let s:lib.Codec.encoding_table["35921"] = [216,84] let s:lib.Codec.encoding_table["35922"] = [216,85] let s:lib.Codec.encoding_table["35923"] = [216,86] let s:lib.Codec.encoding_table["35924"] = [216,87] let s:lib.Codec.encoding_table["35926"] = [216,88] let s:lib.Codec.encoding_table["35927"] = [216,89] let s:lib.Codec.encoding_table["35928"] = [216,90] let s:lib.Codec.encoding_table["35929"] = [216,91] let s:lib.Codec.encoding_table["35931"] = [216,92] let s:lib.Codec.encoding_table["35932"] = [216,93] let s:lib.Codec.encoding_table["35933"] = [216,94] let s:lib.Codec.encoding_table["35934"] = [216,95] let s:lib.Codec.encoding_table["35935"] = [216,96] let s:lib.Codec.encoding_table["35936"] = [216,97] let s:lib.Codec.encoding_table["35939"] = [216,98] let s:lib.Codec.encoding_table["35940"] = [216,99] let s:lib.Codec.encoding_table["35941"] = [216,100] let s:lib.Codec.encoding_table["35942"] = [216,101] let s:lib.Codec.encoding_table["35943"] = [216,102] let s:lib.Codec.encoding_table["35944"] = [216,103] let s:lib.Codec.encoding_table["35945"] = [216,104] let s:lib.Codec.encoding_table["35948"] = [216,105] let s:lib.Codec.encoding_table["35949"] = [216,106] let s:lib.Codec.encoding_table["35950"] = [216,107] let s:lib.Codec.encoding_table["35951"] = [216,108] let s:lib.Codec.encoding_table["35952"] = [216,109] let s:lib.Codec.encoding_table["35953"] = [216,110] let s:lib.Codec.encoding_table["35954"] = [216,111] let s:lib.Codec.encoding_table["35956"] = [216,112] let s:lib.Codec.encoding_table["35957"] = [216,113] let s:lib.Codec.encoding_table["35958"] = [216,114] let s:lib.Codec.encoding_table["35959"] = [216,115] let s:lib.Codec.encoding_table["35963"] = [216,116] let s:lib.Codec.encoding_table["35964"] = [216,117] let s:lib.Codec.encoding_table["35965"] = [216,118] let s:lib.Codec.encoding_table["35966"] = [216,119] let s:lib.Codec.encoding_table["35967"] = [216,120] let s:lib.Codec.encoding_table["35968"] = [216,121] let s:lib.Codec.encoding_table["35969"] = [216,122] let s:lib.Codec.encoding_table["35971"] = [216,123] let s:lib.Codec.encoding_table["35972"] = [216,124] let s:lib.Codec.encoding_table["35974"] = [216,125] let s:lib.Codec.encoding_table["35975"] = [216,126] let s:lib.Codec.encoding_table["35976"] = [216,128] let s:lib.Codec.encoding_table["35979"] = [216,129] let s:lib.Codec.encoding_table["35981"] = [216,130] let s:lib.Codec.encoding_table["35982"] = [216,131] let s:lib.Codec.encoding_table["35983"] = [216,132] let s:lib.Codec.encoding_table["35984"] = [216,133] let s:lib.Codec.encoding_table["35985"] = [216,134] let s:lib.Codec.encoding_table["35986"] = [216,135] let s:lib.Codec.encoding_table["35987"] = [216,136] let s:lib.Codec.encoding_table["35989"] = [216,137] let s:lib.Codec.encoding_table["35990"] = [216,138] let s:lib.Codec.encoding_table["35991"] = [216,139] let s:lib.Codec.encoding_table["35993"] = [216,140] let s:lib.Codec.encoding_table["35994"] = [216,141] let s:lib.Codec.encoding_table["35995"] = [216,142] let s:lib.Codec.encoding_table["35996"] = [216,143] let s:lib.Codec.encoding_table["35997"] = [216,144] let s:lib.Codec.encoding_table["35998"] = [216,145] let s:lib.Codec.encoding_table["35999"] = [216,146] let s:lib.Codec.encoding_table["36000"] = [216,147] let s:lib.Codec.encoding_table["36001"] = [216,148] let s:lib.Codec.encoding_table["36002"] = [216,149] let s:lib.Codec.encoding_table["36003"] = [216,150] let s:lib.Codec.encoding_table["36004"] = [216,151] let s:lib.Codec.encoding_table["36005"] = [216,152] let s:lib.Codec.encoding_table["36006"] = [216,153] let s:lib.Codec.encoding_table["36007"] = [216,154] let s:lib.Codec.encoding_table["36008"] = [216,155] let s:lib.Codec.encoding_table["36009"] = [216,156] let s:lib.Codec.encoding_table["36010"] = [216,157] let s:lib.Codec.encoding_table["36011"] = [216,158] let s:lib.Codec.encoding_table["36012"] = [216,159] let s:lib.Codec.encoding_table["36013"] = [216,160] let s:lib.Codec.encoding_table["20109"] = [216,161] let s:lib.Codec.encoding_table["19980"] = [216,162] let s:lib.Codec.encoding_table["20800"] = [216,163] let s:lib.Codec.encoding_table["19984"] = [216,164] let s:lib.Codec.encoding_table["24319"] = [216,165] let s:lib.Codec.encoding_table["21317"] = [216,166] let s:lib.Codec.encoding_table["19989"] = [216,167] let s:lib.Codec.encoding_table["20120"] = [216,168] let s:lib.Codec.encoding_table["19998"] = [216,169] let s:lib.Codec.encoding_table["39730"] = [216,170] let s:lib.Codec.encoding_table["23404"] = [216,171] let s:lib.Codec.encoding_table["22121"] = [216,172] let s:lib.Codec.encoding_table["20008"] = [216,173] let s:lib.Codec.encoding_table["31162"] = [216,174] let s:lib.Codec.encoding_table["20031"] = [216,175] let s:lib.Codec.encoding_table["21269"] = [216,176] let s:lib.Codec.encoding_table["20039"] = [216,177] let s:lib.Codec.encoding_table["22829"] = [216,178] let s:lib.Codec.encoding_table["29243"] = [216,179] let s:lib.Codec.encoding_table["21358"] = [216,180] let s:lib.Codec.encoding_table["27664"] = [216,181] let s:lib.Codec.encoding_table["22239"] = [216,182] let s:lib.Codec.encoding_table["32996"] = [216,183] let s:lib.Codec.encoding_table["39319"] = [216,184] let s:lib.Codec.encoding_table["27603"] = [216,185] let s:lib.Codec.encoding_table["30590"] = [216,186] let s:lib.Codec.encoding_table["40727"] = [216,187] let s:lib.Codec.encoding_table["20022"] = [216,188] let s:lib.Codec.encoding_table["20127"] = [216,189] let s:lib.Codec.encoding_table["40720"] = [216,190] let s:lib.Codec.encoding_table["20060"] = [216,191] let s:lib.Codec.encoding_table["20073"] = [216,192] let s:lib.Codec.encoding_table["20115"] = [216,193] let s:lib.Codec.encoding_table["33416"] = [216,194] let s:lib.Codec.encoding_table["23387"] = [216,195] let s:lib.Codec.encoding_table["21868"] = [216,196] let s:lib.Codec.encoding_table["22031"] = [216,197] let s:lib.Codec.encoding_table["20164"] = [216,198] let s:lib.Codec.encoding_table["21389"] = [216,199] let s:lib.Codec.encoding_table["21405"] = [216,200] let s:lib.Codec.encoding_table["21411"] = [216,201] let s:lib.Codec.encoding_table["21413"] = [216,202] let s:lib.Codec.encoding_table["21422"] = [216,203] let s:lib.Codec.encoding_table["38757"] = [216,204] let s:lib.Codec.encoding_table["36189"] = [216,205] let s:lib.Codec.encoding_table["21274"] = [216,206] let s:lib.Codec.encoding_table["21493"] = [216,207] let s:lib.Codec.encoding_table["21286"] = [216,208] let s:lib.Codec.encoding_table["21294"] = [216,209] let s:lib.Codec.encoding_table["21310"] = [216,210] let s:lib.Codec.encoding_table["36188"] = [216,211] let s:lib.Codec.encoding_table["21350"] = [216,212] let s:lib.Codec.encoding_table["21347"] = [216,213] let s:lib.Codec.encoding_table["20994"] = [216,214] let s:lib.Codec.encoding_table["21000"] = [216,215] let s:lib.Codec.encoding_table["21006"] = [216,216] let s:lib.Codec.encoding_table["21037"] = [216,217] let s:lib.Codec.encoding_table["21043"] = [216,218] let s:lib.Codec.encoding_table["21055"] = [216,219] let s:lib.Codec.encoding_table["21056"] = [216,220] let s:lib.Codec.encoding_table["21068"] = [216,221] let s:lib.Codec.encoding_table["21086"] = [216,222] let s:lib.Codec.encoding_table["21089"] = [216,223] let s:lib.Codec.encoding_table["21084"] = [216,224] let s:lib.Codec.encoding_table["33967"] = [216,225] let s:lib.Codec.encoding_table["21117"] = [216,226] let s:lib.Codec.encoding_table["21122"] = [216,227] let s:lib.Codec.encoding_table["21121"] = [216,228] let s:lib.Codec.encoding_table["21136"] = [216,229] let s:lib.Codec.encoding_table["21139"] = [216,230] let s:lib.Codec.encoding_table["20866"] = [216,231] let s:lib.Codec.encoding_table["32596"] = [216,232] let s:lib.Codec.encoding_table["20155"] = [216,233] let s:lib.Codec.encoding_table["20163"] = [216,234] let s:lib.Codec.encoding_table["20169"] = [216,235] let s:lib.Codec.encoding_table["20162"] = [216,236] let s:lib.Codec.encoding_table["20200"] = [216,237] let s:lib.Codec.encoding_table["20193"] = [216,238] let s:lib.Codec.encoding_table["20203"] = [216,239] let s:lib.Codec.encoding_table["20190"] = [216,240] let s:lib.Codec.encoding_table["20251"] = [216,241] let s:lib.Codec.encoding_table["20211"] = [216,242] let s:lib.Codec.encoding_table["20258"] = [216,243] let s:lib.Codec.encoding_table["20324"] = [216,244] let s:lib.Codec.encoding_table["20213"] = [216,245] let s:lib.Codec.encoding_table["20261"] = [216,246] let s:lib.Codec.encoding_table["20263"] = [216,247] let s:lib.Codec.encoding_table["20233"] = [216,248] let s:lib.Codec.encoding_table["20267"] = [216,249] let s:lib.Codec.encoding_table["20318"] = [216,250] let s:lib.Codec.encoding_table["20327"] = [216,251] let s:lib.Codec.encoding_table["25912"] = [216,252] let s:lib.Codec.encoding_table["20314"] = [216,253] let s:lib.Codec.encoding_table["20317"] = [216,254] let s:lib.Codec.encoding_table["36014"] = [217,64] let s:lib.Codec.encoding_table["36015"] = [217,65] let s:lib.Codec.encoding_table["36016"] = [217,66] let s:lib.Codec.encoding_table["36017"] = [217,67] let s:lib.Codec.encoding_table["36018"] = [217,68] let s:lib.Codec.encoding_table["36019"] = [217,69] let s:lib.Codec.encoding_table["36020"] = [217,70] let s:lib.Codec.encoding_table["36021"] = [217,71] let s:lib.Codec.encoding_table["36022"] = [217,72] let s:lib.Codec.encoding_table["36023"] = [217,73] let s:lib.Codec.encoding_table["36024"] = [217,74] let s:lib.Codec.encoding_table["36025"] = [217,75] let s:lib.Codec.encoding_table["36026"] = [217,76] let s:lib.Codec.encoding_table["36027"] = [217,77] let s:lib.Codec.encoding_table["36028"] = [217,78] let s:lib.Codec.encoding_table["36029"] = [217,79] let s:lib.Codec.encoding_table["36030"] = [217,80] let s:lib.Codec.encoding_table["36031"] = [217,81] let s:lib.Codec.encoding_table["36032"] = [217,82] let s:lib.Codec.encoding_table["36033"] = [217,83] let s:lib.Codec.encoding_table["36034"] = [217,84] let s:lib.Codec.encoding_table["36035"] = [217,85] let s:lib.Codec.encoding_table["36036"] = [217,86] let s:lib.Codec.encoding_table["36037"] = [217,87] let s:lib.Codec.encoding_table["36038"] = [217,88] let s:lib.Codec.encoding_table["36039"] = [217,89] let s:lib.Codec.encoding_table["36040"] = [217,90] let s:lib.Codec.encoding_table["36041"] = [217,91] let s:lib.Codec.encoding_table["36042"] = [217,92] let s:lib.Codec.encoding_table["36043"] = [217,93] let s:lib.Codec.encoding_table["36044"] = [217,94] let s:lib.Codec.encoding_table["36045"] = [217,95] let s:lib.Codec.encoding_table["36046"] = [217,96] let s:lib.Codec.encoding_table["36047"] = [217,97] let s:lib.Codec.encoding_table["36048"] = [217,98] let s:lib.Codec.encoding_table["36049"] = [217,99] let s:lib.Codec.encoding_table["36050"] = [217,100] let s:lib.Codec.encoding_table["36051"] = [217,101] let s:lib.Codec.encoding_table["36052"] = [217,102] let s:lib.Codec.encoding_table["36053"] = [217,103] let s:lib.Codec.encoding_table["36054"] = [217,104] let s:lib.Codec.encoding_table["36055"] = [217,105] let s:lib.Codec.encoding_table["36056"] = [217,106] let s:lib.Codec.encoding_table["36057"] = [217,107] let s:lib.Codec.encoding_table["36058"] = [217,108] let s:lib.Codec.encoding_table["36059"] = [217,109] let s:lib.Codec.encoding_table["36060"] = [217,110] let s:lib.Codec.encoding_table["36061"] = [217,111] let s:lib.Codec.encoding_table["36062"] = [217,112] let s:lib.Codec.encoding_table["36063"] = [217,113] let s:lib.Codec.encoding_table["36064"] = [217,114] let s:lib.Codec.encoding_table["36065"] = [217,115] let s:lib.Codec.encoding_table["36066"] = [217,116] let s:lib.Codec.encoding_table["36067"] = [217,117] let s:lib.Codec.encoding_table["36068"] = [217,118] let s:lib.Codec.encoding_table["36069"] = [217,119] let s:lib.Codec.encoding_table["36070"] = [217,120] let s:lib.Codec.encoding_table["36071"] = [217,121] let s:lib.Codec.encoding_table["36072"] = [217,122] let s:lib.Codec.encoding_table["36073"] = [217,123] let s:lib.Codec.encoding_table["36074"] = [217,124] let s:lib.Codec.encoding_table["36075"] = [217,125] let s:lib.Codec.encoding_table["36076"] = [217,126] let s:lib.Codec.encoding_table["36077"] = [217,128] let s:lib.Codec.encoding_table["36078"] = [217,129] let s:lib.Codec.encoding_table["36079"] = [217,130] let s:lib.Codec.encoding_table["36080"] = [217,131] let s:lib.Codec.encoding_table["36081"] = [217,132] let s:lib.Codec.encoding_table["36082"] = [217,133] let s:lib.Codec.encoding_table["36083"] = [217,134] let s:lib.Codec.encoding_table["36084"] = [217,135] let s:lib.Codec.encoding_table["36085"] = [217,136] let s:lib.Codec.encoding_table["36086"] = [217,137] let s:lib.Codec.encoding_table["36087"] = [217,138] let s:lib.Codec.encoding_table["36088"] = [217,139] let s:lib.Codec.encoding_table["36089"] = [217,140] let s:lib.Codec.encoding_table["36090"] = [217,141] let s:lib.Codec.encoding_table["36091"] = [217,142] let s:lib.Codec.encoding_table["36092"] = [217,143] let s:lib.Codec.encoding_table["36093"] = [217,144] let s:lib.Codec.encoding_table["36094"] = [217,145] let s:lib.Codec.encoding_table["36095"] = [217,146] let s:lib.Codec.encoding_table["36096"] = [217,147] let s:lib.Codec.encoding_table["36097"] = [217,148] let s:lib.Codec.encoding_table["36098"] = [217,149] let s:lib.Codec.encoding_table["36099"] = [217,150] let s:lib.Codec.encoding_table["36100"] = [217,151] let s:lib.Codec.encoding_table["36101"] = [217,152] let s:lib.Codec.encoding_table["36102"] = [217,153] let s:lib.Codec.encoding_table["36103"] = [217,154] let s:lib.Codec.encoding_table["36104"] = [217,155] let s:lib.Codec.encoding_table["36105"] = [217,156] let s:lib.Codec.encoding_table["36106"] = [217,157] let s:lib.Codec.encoding_table["36107"] = [217,158] let s:lib.Codec.encoding_table["36108"] = [217,159] let s:lib.Codec.encoding_table["36109"] = [217,160] let s:lib.Codec.encoding_table["20319"] = [217,161] let s:lib.Codec.encoding_table["20311"] = [217,162] let s:lib.Codec.encoding_table["20274"] = [217,163] let s:lib.Codec.encoding_table["20285"] = [217,164] let s:lib.Codec.encoding_table["20342"] = [217,165] let s:lib.Codec.encoding_table["20340"] = [217,166] let s:lib.Codec.encoding_table["20369"] = [217,167] let s:lib.Codec.encoding_table["20361"] = [217,168] let s:lib.Codec.encoding_table["20355"] = [217,169] let s:lib.Codec.encoding_table["20367"] = [217,170] let s:lib.Codec.encoding_table["20350"] = [217,171] let s:lib.Codec.encoding_table["20347"] = [217,172] let s:lib.Codec.encoding_table["20394"] = [217,173] let s:lib.Codec.encoding_table["20348"] = [217,174] let s:lib.Codec.encoding_table["20396"] = [217,175] let s:lib.Codec.encoding_table["20372"] = [217,176] let s:lib.Codec.encoding_table["20454"] = [217,177] let s:lib.Codec.encoding_table["20456"] = [217,178] let s:lib.Codec.encoding_table["20458"] = [217,179] let s:lib.Codec.encoding_table["20421"] = [217,180] let s:lib.Codec.encoding_table["20442"] = [217,181] let s:lib.Codec.encoding_table["20451"] = [217,182] let s:lib.Codec.encoding_table["20444"] = [217,183] let s:lib.Codec.encoding_table["20433"] = [217,184] let s:lib.Codec.encoding_table["20447"] = [217,185] let s:lib.Codec.encoding_table["20472"] = [217,186] let s:lib.Codec.encoding_table["20521"] = [217,187] let s:lib.Codec.encoding_table["20556"] = [217,188] let s:lib.Codec.encoding_table["20467"] = [217,189] let s:lib.Codec.encoding_table["20524"] = [217,190] let s:lib.Codec.encoding_table["20495"] = [217,191] let s:lib.Codec.encoding_table["20526"] = [217,192] let s:lib.Codec.encoding_table["20525"] = [217,193] let s:lib.Codec.encoding_table["20478"] = [217,194] let s:lib.Codec.encoding_table["20508"] = [217,195] let s:lib.Codec.encoding_table["20492"] = [217,196] let s:lib.Codec.encoding_table["20517"] = [217,197] let s:lib.Codec.encoding_table["20520"] = [217,198] let s:lib.Codec.encoding_table["20606"] = [217,199] let s:lib.Codec.encoding_table["20547"] = [217,200] let s:lib.Codec.encoding_table["20565"] = [217,201] let s:lib.Codec.encoding_table["20552"] = [217,202] let s:lib.Codec.encoding_table["20558"] = [217,203] let s:lib.Codec.encoding_table["20588"] = [217,204] let s:lib.Codec.encoding_table["20603"] = [217,205] let s:lib.Codec.encoding_table["20645"] = [217,206] let s:lib.Codec.encoding_table["20647"] = [217,207] let s:lib.Codec.encoding_table["20649"] = [217,208] let s:lib.Codec.encoding_table["20666"] = [217,209] let s:lib.Codec.encoding_table["20694"] = [217,210] let s:lib.Codec.encoding_table["20742"] = [217,211] let s:lib.Codec.encoding_table["20717"] = [217,212] let s:lib.Codec.encoding_table["20716"] = [217,213] let s:lib.Codec.encoding_table["20710"] = [217,214] let s:lib.Codec.encoding_table["20718"] = [217,215] let s:lib.Codec.encoding_table["20743"] = [217,216] let s:lib.Codec.encoding_table["20747"] = [217,217] let s:lib.Codec.encoding_table["20189"] = [217,218] let s:lib.Codec.encoding_table["27709"] = [217,219] let s:lib.Codec.encoding_table["20312"] = [217,220] let s:lib.Codec.encoding_table["20325"] = [217,221] let s:lib.Codec.encoding_table["20430"] = [217,222] let s:lib.Codec.encoding_table["40864"] = [217,223] let s:lib.Codec.encoding_table["27718"] = [217,224] let s:lib.Codec.encoding_table["31860"] = [217,225] let s:lib.Codec.encoding_table["20846"] = [217,226] let s:lib.Codec.encoding_table["24061"] = [217,227] let s:lib.Codec.encoding_table["40649"] = [217,228] let s:lib.Codec.encoding_table["39320"] = [217,229] let s:lib.Codec.encoding_table["20865"] = [217,230] let s:lib.Codec.encoding_table["22804"] = [217,231] let s:lib.Codec.encoding_table["21241"] = [217,232] let s:lib.Codec.encoding_table["21261"] = [217,233] let s:lib.Codec.encoding_table["35335"] = [217,234] let s:lib.Codec.encoding_table["21264"] = [217,235] let s:lib.Codec.encoding_table["20971"] = [217,236] let s:lib.Codec.encoding_table["22809"] = [217,237] let s:lib.Codec.encoding_table["20821"] = [217,238] let s:lib.Codec.encoding_table["20128"] = [217,239] let s:lib.Codec.encoding_table["20822"] = [217,240] let s:lib.Codec.encoding_table["20147"] = [217,241] let s:lib.Codec.encoding_table["34926"] = [217,242] let s:lib.Codec.encoding_table["34980"] = [217,243] let s:lib.Codec.encoding_table["20149"] = [217,244] let s:lib.Codec.encoding_table["33044"] = [217,245] let s:lib.Codec.encoding_table["35026"] = [217,246] let s:lib.Codec.encoding_table["31104"] = [217,247] let s:lib.Codec.encoding_table["23348"] = [217,248] let s:lib.Codec.encoding_table["34819"] = [217,249] let s:lib.Codec.encoding_table["32696"] = [217,250] let s:lib.Codec.encoding_table["20907"] = [217,251] let s:lib.Codec.encoding_table["20913"] = [217,252] let s:lib.Codec.encoding_table["20925"] = [217,253] let s:lib.Codec.encoding_table["20924"] = [217,254] let s:lib.Codec.encoding_table["36110"] = [218,64] let s:lib.Codec.encoding_table["36111"] = [218,65] let s:lib.Codec.encoding_table["36112"] = [218,66] let s:lib.Codec.encoding_table["36113"] = [218,67] let s:lib.Codec.encoding_table["36114"] = [218,68] let s:lib.Codec.encoding_table["36115"] = [218,69] let s:lib.Codec.encoding_table["36116"] = [218,70] let s:lib.Codec.encoding_table["36117"] = [218,71] let s:lib.Codec.encoding_table["36118"] = [218,72] let s:lib.Codec.encoding_table["36119"] = [218,73] let s:lib.Codec.encoding_table["36120"] = [218,74] let s:lib.Codec.encoding_table["36121"] = [218,75] let s:lib.Codec.encoding_table["36122"] = [218,76] let s:lib.Codec.encoding_table["36123"] = [218,77] let s:lib.Codec.encoding_table["36124"] = [218,78] let s:lib.Codec.encoding_table["36128"] = [218,79] let s:lib.Codec.encoding_table["36177"] = [218,80] let s:lib.Codec.encoding_table["36178"] = [218,81] let s:lib.Codec.encoding_table["36183"] = [218,82] let s:lib.Codec.encoding_table["36191"] = [218,83] let s:lib.Codec.encoding_table["36197"] = [218,84] let s:lib.Codec.encoding_table["36200"] = [218,85] let s:lib.Codec.encoding_table["36201"] = [218,86] let s:lib.Codec.encoding_table["36202"] = [218,87] let s:lib.Codec.encoding_table["36204"] = [218,88] let s:lib.Codec.encoding_table["36206"] = [218,89] let s:lib.Codec.encoding_table["36207"] = [218,90] let s:lib.Codec.encoding_table["36209"] = [218,91] let s:lib.Codec.encoding_table["36210"] = [218,92] let s:lib.Codec.encoding_table["36216"] = [218,93] let s:lib.Codec.encoding_table["36217"] = [218,94] let s:lib.Codec.encoding_table["36218"] = [218,95] let s:lib.Codec.encoding_table["36219"] = [218,96] let s:lib.Codec.encoding_table["36220"] = [218,97] let s:lib.Codec.encoding_table["36221"] = [218,98] let s:lib.Codec.encoding_table["36222"] = [218,99] let s:lib.Codec.encoding_table["36223"] = [218,100] let s:lib.Codec.encoding_table["36224"] = [218,101] let s:lib.Codec.encoding_table["36226"] = [218,102] let s:lib.Codec.encoding_table["36227"] = [218,103] let s:lib.Codec.encoding_table["36230"] = [218,104] let s:lib.Codec.encoding_table["36231"] = [218,105] let s:lib.Codec.encoding_table["36232"] = [218,106] let s:lib.Codec.encoding_table["36233"] = [218,107] let s:lib.Codec.encoding_table["36236"] = [218,108] let s:lib.Codec.encoding_table["36237"] = [218,109] let s:lib.Codec.encoding_table["36238"] = [218,110] let s:lib.Codec.encoding_table["36239"] = [218,111] let s:lib.Codec.encoding_table["36240"] = [218,112] let s:lib.Codec.encoding_table["36242"] = [218,113] let s:lib.Codec.encoding_table["36243"] = [218,114] let s:lib.Codec.encoding_table["36245"] = [218,115] let s:lib.Codec.encoding_table["36246"] = [218,116] let s:lib.Codec.encoding_table["36247"] = [218,117] let s:lib.Codec.encoding_table["36248"] = [218,118] let s:lib.Codec.encoding_table["36249"] = [218,119] let s:lib.Codec.encoding_table["36250"] = [218,120] let s:lib.Codec.encoding_table["36251"] = [218,121] let s:lib.Codec.encoding_table["36252"] = [218,122] let s:lib.Codec.encoding_table["36253"] = [218,123] let s:lib.Codec.encoding_table["36254"] = [218,124] let s:lib.Codec.encoding_table["36256"] = [218,125] let s:lib.Codec.encoding_table["36257"] = [218,126] let s:lib.Codec.encoding_table["36258"] = [218,128] let s:lib.Codec.encoding_table["36260"] = [218,129] let s:lib.Codec.encoding_table["36261"] = [218,130] let s:lib.Codec.encoding_table["36262"] = [218,131] let s:lib.Codec.encoding_table["36263"] = [218,132] let s:lib.Codec.encoding_table["36264"] = [218,133] let s:lib.Codec.encoding_table["36265"] = [218,134] let s:lib.Codec.encoding_table["36266"] = [218,135] let s:lib.Codec.encoding_table["36267"] = [218,136] let s:lib.Codec.encoding_table["36268"] = [218,137] let s:lib.Codec.encoding_table["36269"] = [218,138] let s:lib.Codec.encoding_table["36270"] = [218,139] let s:lib.Codec.encoding_table["36271"] = [218,140] let s:lib.Codec.encoding_table["36272"] = [218,141] let s:lib.Codec.encoding_table["36274"] = [218,142] let s:lib.Codec.encoding_table["36278"] = [218,143] let s:lib.Codec.encoding_table["36279"] = [218,144] let s:lib.Codec.encoding_table["36281"] = [218,145] let s:lib.Codec.encoding_table["36283"] = [218,146] let s:lib.Codec.encoding_table["36285"] = [218,147] let s:lib.Codec.encoding_table["36288"] = [218,148] let s:lib.Codec.encoding_table["36289"] = [218,149] let s:lib.Codec.encoding_table["36290"] = [218,150] let s:lib.Codec.encoding_table["36293"] = [218,151] let s:lib.Codec.encoding_table["36295"] = [218,152] let s:lib.Codec.encoding_table["36296"] = [218,153] let s:lib.Codec.encoding_table["36297"] = [218,154] let s:lib.Codec.encoding_table["36298"] = [218,155] let s:lib.Codec.encoding_table["36301"] = [218,156] let s:lib.Codec.encoding_table["36304"] = [218,157] let s:lib.Codec.encoding_table["36306"] = [218,158] let s:lib.Codec.encoding_table["36307"] = [218,159] let s:lib.Codec.encoding_table["36308"] = [218,160] let s:lib.Codec.encoding_table["20935"] = [218,161] let s:lib.Codec.encoding_table["20886"] = [218,162] let s:lib.Codec.encoding_table["20898"] = [218,163] let s:lib.Codec.encoding_table["20901"] = [218,164] let s:lib.Codec.encoding_table["35744"] = [218,165] let s:lib.Codec.encoding_table["35750"] = [218,166] let s:lib.Codec.encoding_table["35751"] = [218,167] let s:lib.Codec.encoding_table["35754"] = [218,168] let s:lib.Codec.encoding_table["35764"] = [218,169] let s:lib.Codec.encoding_table["35765"] = [218,170] let s:lib.Codec.encoding_table["35767"] = [218,171] let s:lib.Codec.encoding_table["35778"] = [218,172] let s:lib.Codec.encoding_table["35779"] = [218,173] let s:lib.Codec.encoding_table["35787"] = [218,174] let s:lib.Codec.encoding_table["35791"] = [218,175] let s:lib.Codec.encoding_table["35790"] = [218,176] let s:lib.Codec.encoding_table["35794"] = [218,177] let s:lib.Codec.encoding_table["35795"] = [218,178] let s:lib.Codec.encoding_table["35796"] = [218,179] let s:lib.Codec.encoding_table["35798"] = [218,180] let s:lib.Codec.encoding_table["35800"] = [218,181] let s:lib.Codec.encoding_table["35801"] = [218,182] let s:lib.Codec.encoding_table["35804"] = [218,183] let s:lib.Codec.encoding_table["35807"] = [218,184] let s:lib.Codec.encoding_table["35808"] = [218,185] let s:lib.Codec.encoding_table["35812"] = [218,186] let s:lib.Codec.encoding_table["35816"] = [218,187] let s:lib.Codec.encoding_table["35817"] = [218,188] let s:lib.Codec.encoding_table["35822"] = [218,189] let s:lib.Codec.encoding_table["35824"] = [218,190] let s:lib.Codec.encoding_table["35827"] = [218,191] let s:lib.Codec.encoding_table["35830"] = [218,192] let s:lib.Codec.encoding_table["35833"] = [218,193] let s:lib.Codec.encoding_table["35836"] = [218,194] let s:lib.Codec.encoding_table["35839"] = [218,195] let s:lib.Codec.encoding_table["35840"] = [218,196] let s:lib.Codec.encoding_table["35842"] = [218,197] let s:lib.Codec.encoding_table["35844"] = [218,198] let s:lib.Codec.encoding_table["35847"] = [218,199] let s:lib.Codec.encoding_table["35852"] = [218,200] let s:lib.Codec.encoding_table["35855"] = [218,201] let s:lib.Codec.encoding_table["35857"] = [218,202] let s:lib.Codec.encoding_table["35858"] = [218,203] let s:lib.Codec.encoding_table["35860"] = [218,204] let s:lib.Codec.encoding_table["35861"] = [218,205] let s:lib.Codec.encoding_table["35862"] = [218,206] let s:lib.Codec.encoding_table["35865"] = [218,207] let s:lib.Codec.encoding_table["35867"] = [218,208] let s:lib.Codec.encoding_table["35864"] = [218,209] let s:lib.Codec.encoding_table["35869"] = [218,210] let s:lib.Codec.encoding_table["35871"] = [218,211] let s:lib.Codec.encoding_table["35872"] = [218,212] let s:lib.Codec.encoding_table["35873"] = [218,213] let s:lib.Codec.encoding_table["35877"] = [218,214] let s:lib.Codec.encoding_table["35879"] = [218,215] let s:lib.Codec.encoding_table["35882"] = [218,216] let s:lib.Codec.encoding_table["35883"] = [218,217] let s:lib.Codec.encoding_table["35886"] = [218,218] let s:lib.Codec.encoding_table["35887"] = [218,219] let s:lib.Codec.encoding_table["35890"] = [218,220] let s:lib.Codec.encoding_table["35891"] = [218,221] let s:lib.Codec.encoding_table["35893"] = [218,222] let s:lib.Codec.encoding_table["35894"] = [218,223] let s:lib.Codec.encoding_table["21353"] = [218,224] let s:lib.Codec.encoding_table["21370"] = [218,225] let s:lib.Codec.encoding_table["38429"] = [218,226] let s:lib.Codec.encoding_table["38434"] = [218,227] let s:lib.Codec.encoding_table["38433"] = [218,228] let s:lib.Codec.encoding_table["38449"] = [218,229] let s:lib.Codec.encoding_table["38442"] = [218,230] let s:lib.Codec.encoding_table["38461"] = [218,231] let s:lib.Codec.encoding_table["38460"] = [218,232] let s:lib.Codec.encoding_table["38466"] = [218,233] let s:lib.Codec.encoding_table["38473"] = [218,234] let s:lib.Codec.encoding_table["38484"] = [218,235] let s:lib.Codec.encoding_table["38495"] = [218,236] let s:lib.Codec.encoding_table["38503"] = [218,237] let s:lib.Codec.encoding_table["38508"] = [218,238] let s:lib.Codec.encoding_table["38514"] = [218,239] let s:lib.Codec.encoding_table["38516"] = [218,240] let s:lib.Codec.encoding_table["38536"] = [218,241] let s:lib.Codec.encoding_table["38541"] = [218,242] let s:lib.Codec.encoding_table["38551"] = [218,243] let s:lib.Codec.encoding_table["38576"] = [218,244] let s:lib.Codec.encoding_table["37015"] = [218,245] let s:lib.Codec.encoding_table["37019"] = [218,246] let s:lib.Codec.encoding_table["37021"] = [218,247] let s:lib.Codec.encoding_table["37017"] = [218,248] let s:lib.Codec.encoding_table["37036"] = [218,249] let s:lib.Codec.encoding_table["37025"] = [218,250] let s:lib.Codec.encoding_table["37044"] = [218,251] let s:lib.Codec.encoding_table["37043"] = [218,252] let s:lib.Codec.encoding_table["37046"] = [218,253] let s:lib.Codec.encoding_table["37050"] = [218,254] let s:lib.Codec.encoding_table["36309"] = [219,64] let s:lib.Codec.encoding_table["36312"] = [219,65] let s:lib.Codec.encoding_table["36313"] = [219,66] let s:lib.Codec.encoding_table["36316"] = [219,67] let s:lib.Codec.encoding_table["36320"] = [219,68] let s:lib.Codec.encoding_table["36321"] = [219,69] let s:lib.Codec.encoding_table["36322"] = [219,70] let s:lib.Codec.encoding_table["36325"] = [219,71] let s:lib.Codec.encoding_table["36326"] = [219,72] let s:lib.Codec.encoding_table["36327"] = [219,73] let s:lib.Codec.encoding_table["36329"] = [219,74] let s:lib.Codec.encoding_table["36333"] = [219,75] let s:lib.Codec.encoding_table["36334"] = [219,76] let s:lib.Codec.encoding_table["36336"] = [219,77] let s:lib.Codec.encoding_table["36337"] = [219,78] let s:lib.Codec.encoding_table["36338"] = [219,79] let s:lib.Codec.encoding_table["36340"] = [219,80] let s:lib.Codec.encoding_table["36342"] = [219,81] let s:lib.Codec.encoding_table["36348"] = [219,82] let s:lib.Codec.encoding_table["36350"] = [219,83] let s:lib.Codec.encoding_table["36351"] = [219,84] let s:lib.Codec.encoding_table["36352"] = [219,85] let s:lib.Codec.encoding_table["36353"] = [219,86] let s:lib.Codec.encoding_table["36354"] = [219,87] let s:lib.Codec.encoding_table["36355"] = [219,88] let s:lib.Codec.encoding_table["36356"] = [219,89] let s:lib.Codec.encoding_table["36358"] = [219,90] let s:lib.Codec.encoding_table["36359"] = [219,91] let s:lib.Codec.encoding_table["36360"] = [219,92] let s:lib.Codec.encoding_table["36363"] = [219,93] let s:lib.Codec.encoding_table["36365"] = [219,94] let s:lib.Codec.encoding_table["36366"] = [219,95] let s:lib.Codec.encoding_table["36368"] = [219,96] let s:lib.Codec.encoding_table["36369"] = [219,97] let s:lib.Codec.encoding_table["36370"] = [219,98] let s:lib.Codec.encoding_table["36371"] = [219,99] let s:lib.Codec.encoding_table["36373"] = [219,100] let s:lib.Codec.encoding_table["36374"] = [219,101] let s:lib.Codec.encoding_table["36375"] = [219,102] let s:lib.Codec.encoding_table["36376"] = [219,103] let s:lib.Codec.encoding_table["36377"] = [219,104] let s:lib.Codec.encoding_table["36378"] = [219,105] let s:lib.Codec.encoding_table["36379"] = [219,106] let s:lib.Codec.encoding_table["36380"] = [219,107] let s:lib.Codec.encoding_table["36384"] = [219,108] let s:lib.Codec.encoding_table["36385"] = [219,109] let s:lib.Codec.encoding_table["36388"] = [219,110] let s:lib.Codec.encoding_table["36389"] = [219,111] let s:lib.Codec.encoding_table["36390"] = [219,112] let s:lib.Codec.encoding_table["36391"] = [219,113] let s:lib.Codec.encoding_table["36392"] = [219,114] let s:lib.Codec.encoding_table["36395"] = [219,115] let s:lib.Codec.encoding_table["36397"] = [219,116] let s:lib.Codec.encoding_table["36400"] = [219,117] let s:lib.Codec.encoding_table["36402"] = [219,118] let s:lib.Codec.encoding_table["36403"] = [219,119] let s:lib.Codec.encoding_table["36404"] = [219,120] let s:lib.Codec.encoding_table["36406"] = [219,121] let s:lib.Codec.encoding_table["36407"] = [219,122] let s:lib.Codec.encoding_table["36408"] = [219,123] let s:lib.Codec.encoding_table["36411"] = [219,124] let s:lib.Codec.encoding_table["36412"] = [219,125] let s:lib.Codec.encoding_table["36414"] = [219,126] let s:lib.Codec.encoding_table["36415"] = [219,128] let s:lib.Codec.encoding_table["36419"] = [219,129] let s:lib.Codec.encoding_table["36421"] = [219,130] let s:lib.Codec.encoding_table["36422"] = [219,131] let s:lib.Codec.encoding_table["36428"] = [219,132] let s:lib.Codec.encoding_table["36429"] = [219,133] let s:lib.Codec.encoding_table["36430"] = [219,134] let s:lib.Codec.encoding_table["36431"] = [219,135] let s:lib.Codec.encoding_table["36432"] = [219,136] let s:lib.Codec.encoding_table["36435"] = [219,137] let s:lib.Codec.encoding_table["36436"] = [219,138] let s:lib.Codec.encoding_table["36437"] = [219,139] let s:lib.Codec.encoding_table["36438"] = [219,140] let s:lib.Codec.encoding_table["36439"] = [219,141] let s:lib.Codec.encoding_table["36440"] = [219,142] let s:lib.Codec.encoding_table["36442"] = [219,143] let s:lib.Codec.encoding_table["36443"] = [219,144] let s:lib.Codec.encoding_table["36444"] = [219,145] let s:lib.Codec.encoding_table["36445"] = [219,146] let s:lib.Codec.encoding_table["36446"] = [219,147] let s:lib.Codec.encoding_table["36447"] = [219,148] let s:lib.Codec.encoding_table["36448"] = [219,149] let s:lib.Codec.encoding_table["36449"] = [219,150] let s:lib.Codec.encoding_table["36450"] = [219,151] let s:lib.Codec.encoding_table["36451"] = [219,152] let s:lib.Codec.encoding_table["36452"] = [219,153] let s:lib.Codec.encoding_table["36453"] = [219,154] let s:lib.Codec.encoding_table["36455"] = [219,155] let s:lib.Codec.encoding_table["36456"] = [219,156] let s:lib.Codec.encoding_table["36458"] = [219,157] let s:lib.Codec.encoding_table["36459"] = [219,158] let s:lib.Codec.encoding_table["36462"] = [219,159] let s:lib.Codec.encoding_table["36465"] = [219,160] let s:lib.Codec.encoding_table["37048"] = [219,161] let s:lib.Codec.encoding_table["37040"] = [219,162] let s:lib.Codec.encoding_table["37071"] = [219,163] let s:lib.Codec.encoding_table["37061"] = [219,164] let s:lib.Codec.encoding_table["37054"] = [219,165] let s:lib.Codec.encoding_table["37072"] = [219,166] let s:lib.Codec.encoding_table["37060"] = [219,167] let s:lib.Codec.encoding_table["37063"] = [219,168] let s:lib.Codec.encoding_table["37075"] = [219,169] let s:lib.Codec.encoding_table["37094"] = [219,170] let s:lib.Codec.encoding_table["37090"] = [219,171] let s:lib.Codec.encoding_table["37084"] = [219,172] let s:lib.Codec.encoding_table["37079"] = [219,173] let s:lib.Codec.encoding_table["37083"] = [219,174] let s:lib.Codec.encoding_table["37099"] = [219,175] let s:lib.Codec.encoding_table["37103"] = [219,176] let s:lib.Codec.encoding_table["37118"] = [219,177] let s:lib.Codec.encoding_table["37124"] = [219,178] let s:lib.Codec.encoding_table["37154"] = [219,179] let s:lib.Codec.encoding_table["37150"] = [219,180] let s:lib.Codec.encoding_table["37155"] = [219,181] let s:lib.Codec.encoding_table["37169"] = [219,182] let s:lib.Codec.encoding_table["37167"] = [219,183] let s:lib.Codec.encoding_table["37177"] = [219,184] let s:lib.Codec.encoding_table["37187"] = [219,185] let s:lib.Codec.encoding_table["37190"] = [219,186] let s:lib.Codec.encoding_table["21005"] = [219,187] let s:lib.Codec.encoding_table["22850"] = [219,188] let s:lib.Codec.encoding_table["21154"] = [219,189] let s:lib.Codec.encoding_table["21164"] = [219,190] let s:lib.Codec.encoding_table["21165"] = [219,191] let s:lib.Codec.encoding_table["21182"] = [219,192] let s:lib.Codec.encoding_table["21759"] = [219,193] let s:lib.Codec.encoding_table["21200"] = [219,194] let s:lib.Codec.encoding_table["21206"] = [219,195] let s:lib.Codec.encoding_table["21232"] = [219,196] let s:lib.Codec.encoding_table["21471"] = [219,197] let s:lib.Codec.encoding_table["29166"] = [219,198] let s:lib.Codec.encoding_table["30669"] = [219,199] let s:lib.Codec.encoding_table["24308"] = [219,200] let s:lib.Codec.encoding_table["20981"] = [219,201] let s:lib.Codec.encoding_table["20988"] = [219,202] let s:lib.Codec.encoding_table["39727"] = [219,203] let s:lib.Codec.encoding_table["21430"] = [219,204] let s:lib.Codec.encoding_table["24321"] = [219,205] let s:lib.Codec.encoding_table["30042"] = [219,206] let s:lib.Codec.encoding_table["24047"] = [219,207] let s:lib.Codec.encoding_table["22348"] = [219,208] let s:lib.Codec.encoding_table["22441"] = [219,209] let s:lib.Codec.encoding_table["22433"] = [219,210] let s:lib.Codec.encoding_table["22654"] = [219,211] let s:lib.Codec.encoding_table["22716"] = [219,212] let s:lib.Codec.encoding_table["22725"] = [219,213] let s:lib.Codec.encoding_table["22737"] = [219,214] let s:lib.Codec.encoding_table["22313"] = [219,215] let s:lib.Codec.encoding_table["22316"] = [219,216] let s:lib.Codec.encoding_table["22314"] = [219,217] let s:lib.Codec.encoding_table["22323"] = [219,218] let s:lib.Codec.encoding_table["22329"] = [219,219] let s:lib.Codec.encoding_table["22318"] = [219,220] let s:lib.Codec.encoding_table["22319"] = [219,221] let s:lib.Codec.encoding_table["22364"] = [219,222] let s:lib.Codec.encoding_table["22331"] = [219,223] let s:lib.Codec.encoding_table["22338"] = [219,224] let s:lib.Codec.encoding_table["22377"] = [219,225] let s:lib.Codec.encoding_table["22405"] = [219,226] let s:lib.Codec.encoding_table["22379"] = [219,227] let s:lib.Codec.encoding_table["22406"] = [219,228] let s:lib.Codec.encoding_table["22396"] = [219,229] let s:lib.Codec.encoding_table["22395"] = [219,230] let s:lib.Codec.encoding_table["22376"] = [219,231] let s:lib.Codec.encoding_table["22381"] = [219,232] let s:lib.Codec.encoding_table["22390"] = [219,233] let s:lib.Codec.encoding_table["22387"] = [219,234] let s:lib.Codec.encoding_table["22445"] = [219,235] let s:lib.Codec.encoding_table["22436"] = [219,236] let s:lib.Codec.encoding_table["22412"] = [219,237] let s:lib.Codec.encoding_table["22450"] = [219,238] let s:lib.Codec.encoding_table["22479"] = [219,239] let s:lib.Codec.encoding_table["22439"] = [219,240] let s:lib.Codec.encoding_table["22452"] = [219,241] let s:lib.Codec.encoding_table["22419"] = [219,242] let s:lib.Codec.encoding_table["22432"] = [219,243] let s:lib.Codec.encoding_table["22485"] = [219,244] let s:lib.Codec.encoding_table["22488"] = [219,245] let s:lib.Codec.encoding_table["22490"] = [219,246] let s:lib.Codec.encoding_table["22489"] = [219,247] let s:lib.Codec.encoding_table["22482"] = [219,248] let s:lib.Codec.encoding_table["22456"] = [219,249] let s:lib.Codec.encoding_table["22516"] = [219,250] let s:lib.Codec.encoding_table["22511"] = [219,251] let s:lib.Codec.encoding_table["22520"] = [219,252] let s:lib.Codec.encoding_table["22500"] = [219,253] let s:lib.Codec.encoding_table["22493"] = [219,254] let s:lib.Codec.encoding_table["36467"] = [220,64] let s:lib.Codec.encoding_table["36469"] = [220,65] let s:lib.Codec.encoding_table["36471"] = [220,66] let s:lib.Codec.encoding_table["36472"] = [220,67] let s:lib.Codec.encoding_table["36473"] = [220,68] let s:lib.Codec.encoding_table["36474"] = [220,69] let s:lib.Codec.encoding_table["36475"] = [220,70] let s:lib.Codec.encoding_table["36477"] = [220,71] let s:lib.Codec.encoding_table["36478"] = [220,72] let s:lib.Codec.encoding_table["36480"] = [220,73] let s:lib.Codec.encoding_table["36482"] = [220,74] let s:lib.Codec.encoding_table["36483"] = [220,75] let s:lib.Codec.encoding_table["36484"] = [220,76] let s:lib.Codec.encoding_table["36486"] = [220,77] let s:lib.Codec.encoding_table["36488"] = [220,78] let s:lib.Codec.encoding_table["36489"] = [220,79] let s:lib.Codec.encoding_table["36490"] = [220,80] let s:lib.Codec.encoding_table["36491"] = [220,81] let s:lib.Codec.encoding_table["36492"] = [220,82] let s:lib.Codec.encoding_table["36493"] = [220,83] let s:lib.Codec.encoding_table["36494"] = [220,84] let s:lib.Codec.encoding_table["36497"] = [220,85] let s:lib.Codec.encoding_table["36498"] = [220,86] let s:lib.Codec.encoding_table["36499"] = [220,87] let s:lib.Codec.encoding_table["36501"] = [220,88] let s:lib.Codec.encoding_table["36502"] = [220,89] let s:lib.Codec.encoding_table["36503"] = [220,90] let s:lib.Codec.encoding_table["36504"] = [220,91] let s:lib.Codec.encoding_table["36505"] = [220,92] let s:lib.Codec.encoding_table["36506"] = [220,93] let s:lib.Codec.encoding_table["36507"] = [220,94] let s:lib.Codec.encoding_table["36509"] = [220,95] let s:lib.Codec.encoding_table["36511"] = [220,96] let s:lib.Codec.encoding_table["36512"] = [220,97] let s:lib.Codec.encoding_table["36513"] = [220,98] let s:lib.Codec.encoding_table["36514"] = [220,99] let s:lib.Codec.encoding_table["36515"] = [220,100] let s:lib.Codec.encoding_table["36516"] = [220,101] let s:lib.Codec.encoding_table["36517"] = [220,102] let s:lib.Codec.encoding_table["36518"] = [220,103] let s:lib.Codec.encoding_table["36519"] = [220,104] let s:lib.Codec.encoding_table["36520"] = [220,105] let s:lib.Codec.encoding_table["36521"] = [220,106] let s:lib.Codec.encoding_table["36522"] = [220,107] let s:lib.Codec.encoding_table["36525"] = [220,108] let s:lib.Codec.encoding_table["36526"] = [220,109] let s:lib.Codec.encoding_table["36528"] = [220,110] let s:lib.Codec.encoding_table["36529"] = [220,111] let s:lib.Codec.encoding_table["36531"] = [220,112] let s:lib.Codec.encoding_table["36532"] = [220,113] let s:lib.Codec.encoding_table["36533"] = [220,114] let s:lib.Codec.encoding_table["36534"] = [220,115] let s:lib.Codec.encoding_table["36535"] = [220,116] let s:lib.Codec.encoding_table["36536"] = [220,117] let s:lib.Codec.encoding_table["36537"] = [220,118] let s:lib.Codec.encoding_table["36539"] = [220,119] let s:lib.Codec.encoding_table["36540"] = [220,120] let s:lib.Codec.encoding_table["36541"] = [220,121] let s:lib.Codec.encoding_table["36542"] = [220,122] let s:lib.Codec.encoding_table["36543"] = [220,123] let s:lib.Codec.encoding_table["36544"] = [220,124] let s:lib.Codec.encoding_table["36545"] = [220,125] let s:lib.Codec.encoding_table["36546"] = [220,126] let s:lib.Codec.encoding_table["36547"] = [220,128] let s:lib.Codec.encoding_table["36548"] = [220,129] let s:lib.Codec.encoding_table["36549"] = [220,130] let s:lib.Codec.encoding_table["36550"] = [220,131] let s:lib.Codec.encoding_table["36551"] = [220,132] let s:lib.Codec.encoding_table["36552"] = [220,133] let s:lib.Codec.encoding_table["36553"] = [220,134] let s:lib.Codec.encoding_table["36554"] = [220,135] let s:lib.Codec.encoding_table["36555"] = [220,136] let s:lib.Codec.encoding_table["36556"] = [220,137] let s:lib.Codec.encoding_table["36557"] = [220,138] let s:lib.Codec.encoding_table["36559"] = [220,139] let s:lib.Codec.encoding_table["36560"] = [220,140] let s:lib.Codec.encoding_table["36561"] = [220,141] let s:lib.Codec.encoding_table["36562"] = [220,142] let s:lib.Codec.encoding_table["36563"] = [220,143] let s:lib.Codec.encoding_table["36564"] = [220,144] let s:lib.Codec.encoding_table["36565"] = [220,145] let s:lib.Codec.encoding_table["36566"] = [220,146] let s:lib.Codec.encoding_table["36567"] = [220,147] let s:lib.Codec.encoding_table["36568"] = [220,148] let s:lib.Codec.encoding_table["36569"] = [220,149] let s:lib.Codec.encoding_table["36570"] = [220,150] let s:lib.Codec.encoding_table["36571"] = [220,151] let s:lib.Codec.encoding_table["36572"] = [220,152] let s:lib.Codec.encoding_table["36573"] = [220,153] let s:lib.Codec.encoding_table["36574"] = [220,154] let s:lib.Codec.encoding_table["36575"] = [220,155] let s:lib.Codec.encoding_table["36576"] = [220,156] let s:lib.Codec.encoding_table["36577"] = [220,157] let s:lib.Codec.encoding_table["36578"] = [220,158] let s:lib.Codec.encoding_table["36579"] = [220,159] let s:lib.Codec.encoding_table["36580"] = [220,160] let s:lib.Codec.encoding_table["22539"] = [220,161] let s:lib.Codec.encoding_table["22541"] = [220,162] let s:lib.Codec.encoding_table["22525"] = [220,163] let s:lib.Codec.encoding_table["22509"] = [220,164] let s:lib.Codec.encoding_table["22528"] = [220,165] let s:lib.Codec.encoding_table["22558"] = [220,166] let s:lib.Codec.encoding_table["22553"] = [220,167] let s:lib.Codec.encoding_table["22596"] = [220,168] let s:lib.Codec.encoding_table["22560"] = [220,169] let s:lib.Codec.encoding_table["22629"] = [220,170] let s:lib.Codec.encoding_table["22636"] = [220,171] let s:lib.Codec.encoding_table["22657"] = [220,172] let s:lib.Codec.encoding_table["22665"] = [220,173] let s:lib.Codec.encoding_table["22682"] = [220,174] let s:lib.Codec.encoding_table["22656"] = [220,175] let s:lib.Codec.encoding_table["39336"] = [220,176] let s:lib.Codec.encoding_table["40729"] = [220,177] let s:lib.Codec.encoding_table["25087"] = [220,178] let s:lib.Codec.encoding_table["33401"] = [220,179] let s:lib.Codec.encoding_table["33405"] = [220,180] let s:lib.Codec.encoding_table["33407"] = [220,181] let s:lib.Codec.encoding_table["33423"] = [220,182] let s:lib.Codec.encoding_table["33418"] = [220,183] let s:lib.Codec.encoding_table["33448"] = [220,184] let s:lib.Codec.encoding_table["33412"] = [220,185] let s:lib.Codec.encoding_table["33422"] = [220,186] let s:lib.Codec.encoding_table["33425"] = [220,187] let s:lib.Codec.encoding_table["33431"] = [220,188] let s:lib.Codec.encoding_table["33433"] = [220,189] let s:lib.Codec.encoding_table["33451"] = [220,190] let s:lib.Codec.encoding_table["33464"] = [220,191] let s:lib.Codec.encoding_table["33470"] = [220,192] let s:lib.Codec.encoding_table["33456"] = [220,193] let s:lib.Codec.encoding_table["33480"] = [220,194] let s:lib.Codec.encoding_table["33482"] = [220,195] let s:lib.Codec.encoding_table["33507"] = [220,196] let s:lib.Codec.encoding_table["33432"] = [220,197] let s:lib.Codec.encoding_table["33463"] = [220,198] let s:lib.Codec.encoding_table["33454"] = [220,199] let s:lib.Codec.encoding_table["33483"] = [220,200] let s:lib.Codec.encoding_table["33484"] = [220,201] let s:lib.Codec.encoding_table["33473"] = [220,202] let s:lib.Codec.encoding_table["33449"] = [220,203] let s:lib.Codec.encoding_table["33460"] = [220,204] let s:lib.Codec.encoding_table["33441"] = [220,205] let s:lib.Codec.encoding_table["33450"] = [220,206] let s:lib.Codec.encoding_table["33439"] = [220,207] let s:lib.Codec.encoding_table["33476"] = [220,208] let s:lib.Codec.encoding_table["33486"] = [220,209] let s:lib.Codec.encoding_table["33444"] = [220,210] let s:lib.Codec.encoding_table["33505"] = [220,211] let s:lib.Codec.encoding_table["33545"] = [220,212] let s:lib.Codec.encoding_table["33527"] = [220,213] let s:lib.Codec.encoding_table["33508"] = [220,214] let s:lib.Codec.encoding_table["33551"] = [220,215] let s:lib.Codec.encoding_table["33543"] = [220,216] let s:lib.Codec.encoding_table["33500"] = [220,217] let s:lib.Codec.encoding_table["33524"] = [220,218] let s:lib.Codec.encoding_table["33490"] = [220,219] let s:lib.Codec.encoding_table["33496"] = [220,220] let s:lib.Codec.encoding_table["33548"] = [220,221] let s:lib.Codec.encoding_table["33531"] = [220,222] let s:lib.Codec.encoding_table["33491"] = [220,223] let s:lib.Codec.encoding_table["33553"] = [220,224] let s:lib.Codec.encoding_table["33562"] = [220,225] let s:lib.Codec.encoding_table["33542"] = [220,226] let s:lib.Codec.encoding_table["33556"] = [220,227] let s:lib.Codec.encoding_table["33557"] = [220,228] let s:lib.Codec.encoding_table["33504"] = [220,229] let s:lib.Codec.encoding_table["33493"] = [220,230] let s:lib.Codec.encoding_table["33564"] = [220,231] let s:lib.Codec.encoding_table["33617"] = [220,232] let s:lib.Codec.encoding_table["33627"] = [220,233] let s:lib.Codec.encoding_table["33628"] = [220,234] let s:lib.Codec.encoding_table["33544"] = [220,235] let s:lib.Codec.encoding_table["33682"] = [220,236] let s:lib.Codec.encoding_table["33596"] = [220,237] let s:lib.Codec.encoding_table["33588"] = [220,238] let s:lib.Codec.encoding_table["33585"] = [220,239] let s:lib.Codec.encoding_table["33691"] = [220,240] let s:lib.Codec.encoding_table["33630"] = [220,241] let s:lib.Codec.encoding_table["33583"] = [220,242] let s:lib.Codec.encoding_table["33615"] = [220,243] let s:lib.Codec.encoding_table["33607"] = [220,244] let s:lib.Codec.encoding_table["33603"] = [220,245] let s:lib.Codec.encoding_table["33631"] = [220,246] let s:lib.Codec.encoding_table["33600"] = [220,247] let s:lib.Codec.encoding_table["33559"] = [220,248] let s:lib.Codec.encoding_table["33632"] = [220,249] let s:lib.Codec.encoding_table["33581"] = [220,250] let s:lib.Codec.encoding_table["33594"] = [220,251] let s:lib.Codec.encoding_table["33587"] = [220,252] let s:lib.Codec.encoding_table["33638"] = [220,253] let s:lib.Codec.encoding_table["33637"] = [220,254] let s:lib.Codec.encoding_table["36581"] = [221,64] let s:lib.Codec.encoding_table["36582"] = [221,65] let s:lib.Codec.encoding_table["36583"] = [221,66] let s:lib.Codec.encoding_table["36584"] = [221,67] let s:lib.Codec.encoding_table["36585"] = [221,68] let s:lib.Codec.encoding_table["36586"] = [221,69] let s:lib.Codec.encoding_table["36587"] = [221,70] let s:lib.Codec.encoding_table["36588"] = [221,71] let s:lib.Codec.encoding_table["36589"] = [221,72] let s:lib.Codec.encoding_table["36590"] = [221,73] let s:lib.Codec.encoding_table["36591"] = [221,74] let s:lib.Codec.encoding_table["36592"] = [221,75] let s:lib.Codec.encoding_table["36593"] = [221,76] let s:lib.Codec.encoding_table["36594"] = [221,77] let s:lib.Codec.encoding_table["36595"] = [221,78] let s:lib.Codec.encoding_table["36596"] = [221,79] let s:lib.Codec.encoding_table["36597"] = [221,80] let s:lib.Codec.encoding_table["36598"] = [221,81] let s:lib.Codec.encoding_table["36599"] = [221,82] let s:lib.Codec.encoding_table["36600"] = [221,83] let s:lib.Codec.encoding_table["36601"] = [221,84] let s:lib.Codec.encoding_table["36602"] = [221,85] let s:lib.Codec.encoding_table["36603"] = [221,86] let s:lib.Codec.encoding_table["36604"] = [221,87] let s:lib.Codec.encoding_table["36605"] = [221,88] let s:lib.Codec.encoding_table["36606"] = [221,89] let s:lib.Codec.encoding_table["36607"] = [221,90] let s:lib.Codec.encoding_table["36608"] = [221,91] let s:lib.Codec.encoding_table["36609"] = [221,92] let s:lib.Codec.encoding_table["36610"] = [221,93] let s:lib.Codec.encoding_table["36611"] = [221,94] let s:lib.Codec.encoding_table["36612"] = [221,95] let s:lib.Codec.encoding_table["36613"] = [221,96] let s:lib.Codec.encoding_table["36614"] = [221,97] let s:lib.Codec.encoding_table["36615"] = [221,98] let s:lib.Codec.encoding_table["36616"] = [221,99] let s:lib.Codec.encoding_table["36617"] = [221,100] let s:lib.Codec.encoding_table["36618"] = [221,101] let s:lib.Codec.encoding_table["36619"] = [221,102] let s:lib.Codec.encoding_table["36620"] = [221,103] let s:lib.Codec.encoding_table["36621"] = [221,104] let s:lib.Codec.encoding_table["36622"] = [221,105] let s:lib.Codec.encoding_table["36623"] = [221,106] let s:lib.Codec.encoding_table["36624"] = [221,107] let s:lib.Codec.encoding_table["36625"] = [221,108] let s:lib.Codec.encoding_table["36626"] = [221,109] let s:lib.Codec.encoding_table["36627"] = [221,110] let s:lib.Codec.encoding_table["36628"] = [221,111] let s:lib.Codec.encoding_table["36629"] = [221,112] let s:lib.Codec.encoding_table["36630"] = [221,113] let s:lib.Codec.encoding_table["36631"] = [221,114] let s:lib.Codec.encoding_table["36632"] = [221,115] let s:lib.Codec.encoding_table["36633"] = [221,116] let s:lib.Codec.encoding_table["36634"] = [221,117] let s:lib.Codec.encoding_table["36635"] = [221,118] let s:lib.Codec.encoding_table["36636"] = [221,119] let s:lib.Codec.encoding_table["36637"] = [221,120] let s:lib.Codec.encoding_table["36638"] = [221,121] let s:lib.Codec.encoding_table["36639"] = [221,122] let s:lib.Codec.encoding_table["36640"] = [221,123] let s:lib.Codec.encoding_table["36641"] = [221,124] let s:lib.Codec.encoding_table["36642"] = [221,125] let s:lib.Codec.encoding_table["36643"] = [221,126] let s:lib.Codec.encoding_table["36644"] = [221,128] let s:lib.Codec.encoding_table["36645"] = [221,129] let s:lib.Codec.encoding_table["36646"] = [221,130] let s:lib.Codec.encoding_table["36647"] = [221,131] let s:lib.Codec.encoding_table["36648"] = [221,132] let s:lib.Codec.encoding_table["36649"] = [221,133] let s:lib.Codec.encoding_table["36650"] = [221,134] let s:lib.Codec.encoding_table["36651"] = [221,135] let s:lib.Codec.encoding_table["36652"] = [221,136] let s:lib.Codec.encoding_table["36653"] = [221,137] let s:lib.Codec.encoding_table["36654"] = [221,138] let s:lib.Codec.encoding_table["36655"] = [221,139] let s:lib.Codec.encoding_table["36656"] = [221,140] let s:lib.Codec.encoding_table["36657"] = [221,141] let s:lib.Codec.encoding_table["36658"] = [221,142] let s:lib.Codec.encoding_table["36659"] = [221,143] let s:lib.Codec.encoding_table["36660"] = [221,144] let s:lib.Codec.encoding_table["36661"] = [221,145] let s:lib.Codec.encoding_table["36662"] = [221,146] let s:lib.Codec.encoding_table["36663"] = [221,147] let s:lib.Codec.encoding_table["36664"] = [221,148] let s:lib.Codec.encoding_table["36665"] = [221,149] let s:lib.Codec.encoding_table["36666"] = [221,150] let s:lib.Codec.encoding_table["36667"] = [221,151] let s:lib.Codec.encoding_table["36668"] = [221,152] let s:lib.Codec.encoding_table["36669"] = [221,153] let s:lib.Codec.encoding_table["36670"] = [221,154] let s:lib.Codec.encoding_table["36671"] = [221,155] let s:lib.Codec.encoding_table["36672"] = [221,156] let s:lib.Codec.encoding_table["36673"] = [221,157] let s:lib.Codec.encoding_table["36674"] = [221,158] let s:lib.Codec.encoding_table["36675"] = [221,159] let s:lib.Codec.encoding_table["36676"] = [221,160] let s:lib.Codec.encoding_table["33640"] = [221,161] let s:lib.Codec.encoding_table["33563"] = [221,162] let s:lib.Codec.encoding_table["33641"] = [221,163] let s:lib.Codec.encoding_table["33644"] = [221,164] let s:lib.Codec.encoding_table["33642"] = [221,165] let s:lib.Codec.encoding_table["33645"] = [221,166] let s:lib.Codec.encoding_table["33646"] = [221,167] let s:lib.Codec.encoding_table["33712"] = [221,168] let s:lib.Codec.encoding_table["33656"] = [221,169] let s:lib.Codec.encoding_table["33715"] = [221,170] let s:lib.Codec.encoding_table["33716"] = [221,171] let s:lib.Codec.encoding_table["33696"] = [221,172] let s:lib.Codec.encoding_table["33706"] = [221,173] let s:lib.Codec.encoding_table["33683"] = [221,174] let s:lib.Codec.encoding_table["33692"] = [221,175] let s:lib.Codec.encoding_table["33669"] = [221,176] let s:lib.Codec.encoding_table["33660"] = [221,177] let s:lib.Codec.encoding_table["33718"] = [221,178] let s:lib.Codec.encoding_table["33705"] = [221,179] let s:lib.Codec.encoding_table["33661"] = [221,180] let s:lib.Codec.encoding_table["33720"] = [221,181] let s:lib.Codec.encoding_table["33659"] = [221,182] let s:lib.Codec.encoding_table["33688"] = [221,183] let s:lib.Codec.encoding_table["33694"] = [221,184] let s:lib.Codec.encoding_table["33704"] = [221,185] let s:lib.Codec.encoding_table["33722"] = [221,186] let s:lib.Codec.encoding_table["33724"] = [221,187] let s:lib.Codec.encoding_table["33729"] = [221,188] let s:lib.Codec.encoding_table["33793"] = [221,189] let s:lib.Codec.encoding_table["33765"] = [221,190] let s:lib.Codec.encoding_table["33752"] = [221,191] let s:lib.Codec.encoding_table["22535"] = [221,192] let s:lib.Codec.encoding_table["33816"] = [221,193] let s:lib.Codec.encoding_table["33803"] = [221,194] let s:lib.Codec.encoding_table["33757"] = [221,195] let s:lib.Codec.encoding_table["33789"] = [221,196] let s:lib.Codec.encoding_table["33750"] = [221,197] let s:lib.Codec.encoding_table["33820"] = [221,198] let s:lib.Codec.encoding_table["33848"] = [221,199] let s:lib.Codec.encoding_table["33809"] = [221,200] let s:lib.Codec.encoding_table["33798"] = [221,201] let s:lib.Codec.encoding_table["33748"] = [221,202] let s:lib.Codec.encoding_table["33759"] = [221,203] let s:lib.Codec.encoding_table["33807"] = [221,204] let s:lib.Codec.encoding_table["33795"] = [221,205] let s:lib.Codec.encoding_table["33784"] = [221,206] let s:lib.Codec.encoding_table["33785"] = [221,207] let s:lib.Codec.encoding_table["33770"] = [221,208] let s:lib.Codec.encoding_table["33733"] = [221,209] let s:lib.Codec.encoding_table["33728"] = [221,210] let s:lib.Codec.encoding_table["33830"] = [221,211] let s:lib.Codec.encoding_table["33776"] = [221,212] let s:lib.Codec.encoding_table["33761"] = [221,213] let s:lib.Codec.encoding_table["33884"] = [221,214] let s:lib.Codec.encoding_table["33873"] = [221,215] let s:lib.Codec.encoding_table["33882"] = [221,216] let s:lib.Codec.encoding_table["33881"] = [221,217] let s:lib.Codec.encoding_table["33907"] = [221,218] let s:lib.Codec.encoding_table["33927"] = [221,219] let s:lib.Codec.encoding_table["33928"] = [221,220] let s:lib.Codec.encoding_table["33914"] = [221,221] let s:lib.Codec.encoding_table["33929"] = [221,222] let s:lib.Codec.encoding_table["33912"] = [221,223] let s:lib.Codec.encoding_table["33852"] = [221,224] let s:lib.Codec.encoding_table["33862"] = [221,225] let s:lib.Codec.encoding_table["33897"] = [221,226] let s:lib.Codec.encoding_table["33910"] = [221,227] let s:lib.Codec.encoding_table["33932"] = [221,228] let s:lib.Codec.encoding_table["33934"] = [221,229] let s:lib.Codec.encoding_table["33841"] = [221,230] let s:lib.Codec.encoding_table["33901"] = [221,231] let s:lib.Codec.encoding_table["33985"] = [221,232] let s:lib.Codec.encoding_table["33997"] = [221,233] let s:lib.Codec.encoding_table["34000"] = [221,234] let s:lib.Codec.encoding_table["34022"] = [221,235] let s:lib.Codec.encoding_table["33981"] = [221,236] let s:lib.Codec.encoding_table["34003"] = [221,237] let s:lib.Codec.encoding_table["33994"] = [221,238] let s:lib.Codec.encoding_table["33983"] = [221,239] let s:lib.Codec.encoding_table["33978"] = [221,240] let s:lib.Codec.encoding_table["34016"] = [221,241] let s:lib.Codec.encoding_table["33953"] = [221,242] let s:lib.Codec.encoding_table["33977"] = [221,243] let s:lib.Codec.encoding_table["33972"] = [221,244] let s:lib.Codec.encoding_table["33943"] = [221,245] let s:lib.Codec.encoding_table["34021"] = [221,246] let s:lib.Codec.encoding_table["34019"] = [221,247] let s:lib.Codec.encoding_table["34060"] = [221,248] let s:lib.Codec.encoding_table["29965"] = [221,249] let s:lib.Codec.encoding_table["34104"] = [221,250] let s:lib.Codec.encoding_table["34032"] = [221,251] let s:lib.Codec.encoding_table["34105"] = [221,252] let s:lib.Codec.encoding_table["34079"] = [221,253] let s:lib.Codec.encoding_table["34106"] = [221,254] let s:lib.Codec.encoding_table["36677"] = [222,64] let s:lib.Codec.encoding_table["36678"] = [222,65] let s:lib.Codec.encoding_table["36679"] = [222,66] let s:lib.Codec.encoding_table["36680"] = [222,67] let s:lib.Codec.encoding_table["36681"] = [222,68] let s:lib.Codec.encoding_table["36682"] = [222,69] let s:lib.Codec.encoding_table["36683"] = [222,70] let s:lib.Codec.encoding_table["36684"] = [222,71] let s:lib.Codec.encoding_table["36685"] = [222,72] let s:lib.Codec.encoding_table["36686"] = [222,73] let s:lib.Codec.encoding_table["36687"] = [222,74] let s:lib.Codec.encoding_table["36688"] = [222,75] let s:lib.Codec.encoding_table["36689"] = [222,76] let s:lib.Codec.encoding_table["36690"] = [222,77] let s:lib.Codec.encoding_table["36691"] = [222,78] let s:lib.Codec.encoding_table["36692"] = [222,79] let s:lib.Codec.encoding_table["36693"] = [222,80] let s:lib.Codec.encoding_table["36694"] = [222,81] let s:lib.Codec.encoding_table["36695"] = [222,82] let s:lib.Codec.encoding_table["36696"] = [222,83] let s:lib.Codec.encoding_table["36697"] = [222,84] let s:lib.Codec.encoding_table["36698"] = [222,85] let s:lib.Codec.encoding_table["36699"] = [222,86] let s:lib.Codec.encoding_table["36700"] = [222,87] let s:lib.Codec.encoding_table["36701"] = [222,88] let s:lib.Codec.encoding_table["36702"] = [222,89] let s:lib.Codec.encoding_table["36703"] = [222,90] let s:lib.Codec.encoding_table["36704"] = [222,91] let s:lib.Codec.encoding_table["36705"] = [222,92] let s:lib.Codec.encoding_table["36706"] = [222,93] let s:lib.Codec.encoding_table["36707"] = [222,94] let s:lib.Codec.encoding_table["36708"] = [222,95] let s:lib.Codec.encoding_table["36709"] = [222,96] let s:lib.Codec.encoding_table["36714"] = [222,97] let s:lib.Codec.encoding_table["36736"] = [222,98] let s:lib.Codec.encoding_table["36748"] = [222,99] let s:lib.Codec.encoding_table["36754"] = [222,100] let s:lib.Codec.encoding_table["36765"] = [222,101] let s:lib.Codec.encoding_table["36768"] = [222,102] let s:lib.Codec.encoding_table["36769"] = [222,103] let s:lib.Codec.encoding_table["36770"] = [222,104] let s:lib.Codec.encoding_table["36772"] = [222,105] let s:lib.Codec.encoding_table["36773"] = [222,106] let s:lib.Codec.encoding_table["36774"] = [222,107] let s:lib.Codec.encoding_table["36775"] = [222,108] let s:lib.Codec.encoding_table["36778"] = [222,109] let s:lib.Codec.encoding_table["36780"] = [222,110] let s:lib.Codec.encoding_table["36781"] = [222,111] let s:lib.Codec.encoding_table["36782"] = [222,112] let s:lib.Codec.encoding_table["36783"] = [222,113] let s:lib.Codec.encoding_table["36786"] = [222,114] let s:lib.Codec.encoding_table["36787"] = [222,115] let s:lib.Codec.encoding_table["36788"] = [222,116] let s:lib.Codec.encoding_table["36789"] = [222,117] let s:lib.Codec.encoding_table["36791"] = [222,118] let s:lib.Codec.encoding_table["36792"] = [222,119] let s:lib.Codec.encoding_table["36794"] = [222,120] let s:lib.Codec.encoding_table["36795"] = [222,121] let s:lib.Codec.encoding_table["36796"] = [222,122] let s:lib.Codec.encoding_table["36799"] = [222,123] let s:lib.Codec.encoding_table["36800"] = [222,124] let s:lib.Codec.encoding_table["36803"] = [222,125] let s:lib.Codec.encoding_table["36806"] = [222,126] let s:lib.Codec.encoding_table["36809"] = [222,128] let s:lib.Codec.encoding_table["36810"] = [222,129] let s:lib.Codec.encoding_table["36811"] = [222,130] let s:lib.Codec.encoding_table["36812"] = [222,131] let s:lib.Codec.encoding_table["36813"] = [222,132] let s:lib.Codec.encoding_table["36815"] = [222,133] let s:lib.Codec.encoding_table["36818"] = [222,134] let s:lib.Codec.encoding_table["36822"] = [222,135] let s:lib.Codec.encoding_table["36823"] = [222,136] let s:lib.Codec.encoding_table["36826"] = [222,137] let s:lib.Codec.encoding_table["36832"] = [222,138] let s:lib.Codec.encoding_table["36833"] = [222,139] let s:lib.Codec.encoding_table["36835"] = [222,140] let s:lib.Codec.encoding_table["36839"] = [222,141] let s:lib.Codec.encoding_table["36844"] = [222,142] let s:lib.Codec.encoding_table["36847"] = [222,143] let s:lib.Codec.encoding_table["36849"] = [222,144] let s:lib.Codec.encoding_table["36850"] = [222,145] let s:lib.Codec.encoding_table["36852"] = [222,146] let s:lib.Codec.encoding_table["36853"] = [222,147] let s:lib.Codec.encoding_table["36854"] = [222,148] let s:lib.Codec.encoding_table["36858"] = [222,149] let s:lib.Codec.encoding_table["36859"] = [222,150] let s:lib.Codec.encoding_table["36860"] = [222,151] let s:lib.Codec.encoding_table["36862"] = [222,152] let s:lib.Codec.encoding_table["36863"] = [222,153] let s:lib.Codec.encoding_table["36871"] = [222,154] let s:lib.Codec.encoding_table["36872"] = [222,155] let s:lib.Codec.encoding_table["36876"] = [222,156] let s:lib.Codec.encoding_table["36878"] = [222,157] let s:lib.Codec.encoding_table["36883"] = [222,158] let s:lib.Codec.encoding_table["36885"] = [222,159] let s:lib.Codec.encoding_table["36888"] = [222,160] let s:lib.Codec.encoding_table["34134"] = [222,161] let s:lib.Codec.encoding_table["34107"] = [222,162] let s:lib.Codec.encoding_table["34047"] = [222,163] let s:lib.Codec.encoding_table["34044"] = [222,164] let s:lib.Codec.encoding_table["34137"] = [222,165] let s:lib.Codec.encoding_table["34120"] = [222,166] let s:lib.Codec.encoding_table["34152"] = [222,167] let s:lib.Codec.encoding_table["34148"] = [222,168] let s:lib.Codec.encoding_table["34142"] = [222,169] let s:lib.Codec.encoding_table["34170"] = [222,170] let s:lib.Codec.encoding_table["30626"] = [222,171] let s:lib.Codec.encoding_table["34115"] = [222,172] let s:lib.Codec.encoding_table["34162"] = [222,173] let s:lib.Codec.encoding_table["34171"] = [222,174] let s:lib.Codec.encoding_table["34212"] = [222,175] let s:lib.Codec.encoding_table["34216"] = [222,176] let s:lib.Codec.encoding_table["34183"] = [222,177] let s:lib.Codec.encoding_table["34191"] = [222,178] let s:lib.Codec.encoding_table["34169"] = [222,179] let s:lib.Codec.encoding_table["34222"] = [222,180] let s:lib.Codec.encoding_table["34204"] = [222,181] let s:lib.Codec.encoding_table["34181"] = [222,182] let s:lib.Codec.encoding_table["34233"] = [222,183] let s:lib.Codec.encoding_table["34231"] = [222,184] let s:lib.Codec.encoding_table["34224"] = [222,185] let s:lib.Codec.encoding_table["34259"] = [222,186] let s:lib.Codec.encoding_table["34241"] = [222,187] let s:lib.Codec.encoding_table["34268"] = [222,188] let s:lib.Codec.encoding_table["34303"] = [222,189] let s:lib.Codec.encoding_table["34343"] = [222,190] let s:lib.Codec.encoding_table["34309"] = [222,191] let s:lib.Codec.encoding_table["34345"] = [222,192] let s:lib.Codec.encoding_table["34326"] = [222,193] let s:lib.Codec.encoding_table["34364"] = [222,194] let s:lib.Codec.encoding_table["24318"] = [222,195] let s:lib.Codec.encoding_table["24328"] = [222,196] let s:lib.Codec.encoding_table["22844"] = [222,197] let s:lib.Codec.encoding_table["22849"] = [222,198] let s:lib.Codec.encoding_table["32823"] = [222,199] let s:lib.Codec.encoding_table["22869"] = [222,200] let s:lib.Codec.encoding_table["22874"] = [222,201] let s:lib.Codec.encoding_table["22872"] = [222,202] let s:lib.Codec.encoding_table["21263"] = [222,203] let s:lib.Codec.encoding_table["23586"] = [222,204] let s:lib.Codec.encoding_table["23589"] = [222,205] let s:lib.Codec.encoding_table["23596"] = [222,206] let s:lib.Codec.encoding_table["23604"] = [222,207] let s:lib.Codec.encoding_table["25164"] = [222,208] let s:lib.Codec.encoding_table["25194"] = [222,209] let s:lib.Codec.encoding_table["25247"] = [222,210] let s:lib.Codec.encoding_table["25275"] = [222,211] let s:lib.Codec.encoding_table["25290"] = [222,212] let s:lib.Codec.encoding_table["25306"] = [222,213] let s:lib.Codec.encoding_table["25303"] = [222,214] let s:lib.Codec.encoding_table["25326"] = [222,215] let s:lib.Codec.encoding_table["25378"] = [222,216] let s:lib.Codec.encoding_table["25334"] = [222,217] let s:lib.Codec.encoding_table["25401"] = [222,218] let s:lib.Codec.encoding_table["25419"] = [222,219] let s:lib.Codec.encoding_table["25411"] = [222,220] let s:lib.Codec.encoding_table["25517"] = [222,221] let s:lib.Codec.encoding_table["25590"] = [222,222] let s:lib.Codec.encoding_table["25457"] = [222,223] let s:lib.Codec.encoding_table["25466"] = [222,224] let s:lib.Codec.encoding_table["25486"] = [222,225] let s:lib.Codec.encoding_table["25524"] = [222,226] let s:lib.Codec.encoding_table["25453"] = [222,227] let s:lib.Codec.encoding_table["25516"] = [222,228] let s:lib.Codec.encoding_table["25482"] = [222,229] let s:lib.Codec.encoding_table["25449"] = [222,230] let s:lib.Codec.encoding_table["25518"] = [222,231] let s:lib.Codec.encoding_table["25532"] = [222,232] let s:lib.Codec.encoding_table["25586"] = [222,233] let s:lib.Codec.encoding_table["25592"] = [222,234] let s:lib.Codec.encoding_table["25568"] = [222,235] let s:lib.Codec.encoding_table["25599"] = [222,236] let s:lib.Codec.encoding_table["25540"] = [222,237] let s:lib.Codec.encoding_table["25566"] = [222,238] let s:lib.Codec.encoding_table["25550"] = [222,239] let s:lib.Codec.encoding_table["25682"] = [222,240] let s:lib.Codec.encoding_table["25542"] = [222,241] let s:lib.Codec.encoding_table["25534"] = [222,242] let s:lib.Codec.encoding_table["25669"] = [222,243] let s:lib.Codec.encoding_table["25665"] = [222,244] let s:lib.Codec.encoding_table["25611"] = [222,245] let s:lib.Codec.encoding_table["25627"] = [222,246] let s:lib.Codec.encoding_table["25632"] = [222,247] let s:lib.Codec.encoding_table["25612"] = [222,248] let s:lib.Codec.encoding_table["25638"] = [222,249] let s:lib.Codec.encoding_table["25633"] = [222,250] let s:lib.Codec.encoding_table["25694"] = [222,251] let s:lib.Codec.encoding_table["25732"] = [222,252] let s:lib.Codec.encoding_table["25709"] = [222,253] let s:lib.Codec.encoding_table["25750"] = [222,254] let s:lib.Codec.encoding_table["36889"] = [223,64] let s:lib.Codec.encoding_table["36892"] = [223,65] let s:lib.Codec.encoding_table["36899"] = [223,66] let s:lib.Codec.encoding_table["36900"] = [223,67] let s:lib.Codec.encoding_table["36901"] = [223,68] let s:lib.Codec.encoding_table["36903"] = [223,69] let s:lib.Codec.encoding_table["36904"] = [223,70] let s:lib.Codec.encoding_table["36905"] = [223,71] let s:lib.Codec.encoding_table["36906"] = [223,72] let s:lib.Codec.encoding_table["36907"] = [223,73] let s:lib.Codec.encoding_table["36908"] = [223,74] let s:lib.Codec.encoding_table["36912"] = [223,75] let s:lib.Codec.encoding_table["36913"] = [223,76] let s:lib.Codec.encoding_table["36914"] = [223,77] let s:lib.Codec.encoding_table["36915"] = [223,78] let s:lib.Codec.encoding_table["36916"] = [223,79] let s:lib.Codec.encoding_table["36919"] = [223,80] let s:lib.Codec.encoding_table["36921"] = [223,81] let s:lib.Codec.encoding_table["36922"] = [223,82] let s:lib.Codec.encoding_table["36925"] = [223,83] let s:lib.Codec.encoding_table["36927"] = [223,84] let s:lib.Codec.encoding_table["36928"] = [223,85] let s:lib.Codec.encoding_table["36931"] = [223,86] let s:lib.Codec.encoding_table["36933"] = [223,87] let s:lib.Codec.encoding_table["36934"] = [223,88] let s:lib.Codec.encoding_table["36936"] = [223,89] let s:lib.Codec.encoding_table["36937"] = [223,90] let s:lib.Codec.encoding_table["36938"] = [223,91] let s:lib.Codec.encoding_table["36939"] = [223,92] let s:lib.Codec.encoding_table["36940"] = [223,93] let s:lib.Codec.encoding_table["36942"] = [223,94] let s:lib.Codec.encoding_table["36948"] = [223,95] let s:lib.Codec.encoding_table["36949"] = [223,96] let s:lib.Codec.encoding_table["36950"] = [223,97] let s:lib.Codec.encoding_table["36953"] = [223,98] let s:lib.Codec.encoding_table["36954"] = [223,99] let s:lib.Codec.encoding_table["36956"] = [223,100] let s:lib.Codec.encoding_table["36957"] = [223,101] let s:lib.Codec.encoding_table["36958"] = [223,102] let s:lib.Codec.encoding_table["36959"] = [223,103] let s:lib.Codec.encoding_table["36960"] = [223,104] let s:lib.Codec.encoding_table["36961"] = [223,105] let s:lib.Codec.encoding_table["36964"] = [223,106] let s:lib.Codec.encoding_table["36966"] = [223,107] let s:lib.Codec.encoding_table["36967"] = [223,108] let s:lib.Codec.encoding_table["36969"] = [223,109] let s:lib.Codec.encoding_table["36970"] = [223,110] let s:lib.Codec.encoding_table["36971"] = [223,111] let s:lib.Codec.encoding_table["36972"] = [223,112] let s:lib.Codec.encoding_table["36975"] = [223,113] let s:lib.Codec.encoding_table["36976"] = [223,114] let s:lib.Codec.encoding_table["36977"] = [223,115] let s:lib.Codec.encoding_table["36978"] = [223,116] let s:lib.Codec.encoding_table["36979"] = [223,117] let s:lib.Codec.encoding_table["36982"] = [223,118] let s:lib.Codec.encoding_table["36983"] = [223,119] let s:lib.Codec.encoding_table["36984"] = [223,120] let s:lib.Codec.encoding_table["36985"] = [223,121] let s:lib.Codec.encoding_table["36986"] = [223,122] let s:lib.Codec.encoding_table["36987"] = [223,123] let s:lib.Codec.encoding_table["36988"] = [223,124] let s:lib.Codec.encoding_table["36990"] = [223,125] let s:lib.Codec.encoding_table["36993"] = [223,126] let s:lib.Codec.encoding_table["36996"] = [223,128] let s:lib.Codec.encoding_table["36997"] = [223,129] let s:lib.Codec.encoding_table["36998"] = [223,130] let s:lib.Codec.encoding_table["36999"] = [223,131] let s:lib.Codec.encoding_table["37001"] = [223,132] let s:lib.Codec.encoding_table["37002"] = [223,133] let s:lib.Codec.encoding_table["37004"] = [223,134] let s:lib.Codec.encoding_table["37005"] = [223,135] let s:lib.Codec.encoding_table["37006"] = [223,136] let s:lib.Codec.encoding_table["37007"] = [223,137] let s:lib.Codec.encoding_table["37008"] = [223,138] let s:lib.Codec.encoding_table["37010"] = [223,139] let s:lib.Codec.encoding_table["37012"] = [223,140] let s:lib.Codec.encoding_table["37014"] = [223,141] let s:lib.Codec.encoding_table["37016"] = [223,142] let s:lib.Codec.encoding_table["37018"] = [223,143] let s:lib.Codec.encoding_table["37020"] = [223,144] let s:lib.Codec.encoding_table["37022"] = [223,145] let s:lib.Codec.encoding_table["37023"] = [223,146] let s:lib.Codec.encoding_table["37024"] = [223,147] let s:lib.Codec.encoding_table["37028"] = [223,148] let s:lib.Codec.encoding_table["37029"] = [223,149] let s:lib.Codec.encoding_table["37031"] = [223,150] let s:lib.Codec.encoding_table["37032"] = [223,151] let s:lib.Codec.encoding_table["37033"] = [223,152] let s:lib.Codec.encoding_table["37035"] = [223,153] let s:lib.Codec.encoding_table["37037"] = [223,154] let s:lib.Codec.encoding_table["37042"] = [223,155] let s:lib.Codec.encoding_table["37047"] = [223,156] let s:lib.Codec.encoding_table["37052"] = [223,157] let s:lib.Codec.encoding_table["37053"] = [223,158] let s:lib.Codec.encoding_table["37055"] = [223,159] let s:lib.Codec.encoding_table["37056"] = [223,160] let s:lib.Codec.encoding_table["25722"] = [223,161] let s:lib.Codec.encoding_table["25783"] = [223,162] let s:lib.Codec.encoding_table["25784"] = [223,163] let s:lib.Codec.encoding_table["25753"] = [223,164] let s:lib.Codec.encoding_table["25786"] = [223,165] let s:lib.Codec.encoding_table["25792"] = [223,166] let s:lib.Codec.encoding_table["25808"] = [223,167] let s:lib.Codec.encoding_table["25815"] = [223,168] let s:lib.Codec.encoding_table["25828"] = [223,169] let s:lib.Codec.encoding_table["25826"] = [223,170] let s:lib.Codec.encoding_table["25865"] = [223,171] let s:lib.Codec.encoding_table["25893"] = [223,172] let s:lib.Codec.encoding_table["25902"] = [223,173] let s:lib.Codec.encoding_table["24331"] = [223,174] let s:lib.Codec.encoding_table["24530"] = [223,175] let s:lib.Codec.encoding_table["29977"] = [223,176] let s:lib.Codec.encoding_table["24337"] = [223,177] let s:lib.Codec.encoding_table["21343"] = [223,178] let s:lib.Codec.encoding_table["21489"] = [223,179] let s:lib.Codec.encoding_table["21501"] = [223,180] let s:lib.Codec.encoding_table["21481"] = [223,181] let s:lib.Codec.encoding_table["21480"] = [223,182] let s:lib.Codec.encoding_table["21499"] = [223,183] let s:lib.Codec.encoding_table["21522"] = [223,184] let s:lib.Codec.encoding_table["21526"] = [223,185] let s:lib.Codec.encoding_table["21510"] = [223,186] let s:lib.Codec.encoding_table["21579"] = [223,187] let s:lib.Codec.encoding_table["21586"] = [223,188] let s:lib.Codec.encoding_table["21587"] = [223,189] let s:lib.Codec.encoding_table["21588"] = [223,190] let s:lib.Codec.encoding_table["21590"] = [223,191] let s:lib.Codec.encoding_table["21571"] = [223,192] let s:lib.Codec.encoding_table["21537"] = [223,193] let s:lib.Codec.encoding_table["21591"] = [223,194] let s:lib.Codec.encoding_table["21593"] = [223,195] let s:lib.Codec.encoding_table["21539"] = [223,196] let s:lib.Codec.encoding_table["21554"] = [223,197] let s:lib.Codec.encoding_table["21634"] = [223,198] let s:lib.Codec.encoding_table["21652"] = [223,199] let s:lib.Codec.encoding_table["21623"] = [223,200] let s:lib.Codec.encoding_table["21617"] = [223,201] let s:lib.Codec.encoding_table["21604"] = [223,202] let s:lib.Codec.encoding_table["21658"] = [223,203] let s:lib.Codec.encoding_table["21659"] = [223,204] let s:lib.Codec.encoding_table["21636"] = [223,205] let s:lib.Codec.encoding_table["21622"] = [223,206] let s:lib.Codec.encoding_table["21606"] = [223,207] let s:lib.Codec.encoding_table["21661"] = [223,208] let s:lib.Codec.encoding_table["21712"] = [223,209] let s:lib.Codec.encoding_table["21677"] = [223,210] let s:lib.Codec.encoding_table["21698"] = [223,211] let s:lib.Codec.encoding_table["21684"] = [223,212] let s:lib.Codec.encoding_table["21714"] = [223,213] let s:lib.Codec.encoding_table["21671"] = [223,214] let s:lib.Codec.encoding_table["21670"] = [223,215] let s:lib.Codec.encoding_table["21715"] = [223,216] let s:lib.Codec.encoding_table["21716"] = [223,217] let s:lib.Codec.encoding_table["21618"] = [223,218] let s:lib.Codec.encoding_table["21667"] = [223,219] let s:lib.Codec.encoding_table["21717"] = [223,220] let s:lib.Codec.encoding_table["21691"] = [223,221] let s:lib.Codec.encoding_table["21695"] = [223,222] let s:lib.Codec.encoding_table["21708"] = [223,223] let s:lib.Codec.encoding_table["21721"] = [223,224] let s:lib.Codec.encoding_table["21722"] = [223,225] let s:lib.Codec.encoding_table["21724"] = [223,226] let s:lib.Codec.encoding_table["21673"] = [223,227] let s:lib.Codec.encoding_table["21674"] = [223,228] let s:lib.Codec.encoding_table["21668"] = [223,229] let s:lib.Codec.encoding_table["21725"] = [223,230] let s:lib.Codec.encoding_table["21711"] = [223,231] let s:lib.Codec.encoding_table["21726"] = [223,232] let s:lib.Codec.encoding_table["21787"] = [223,233] let s:lib.Codec.encoding_table["21735"] = [223,234] let s:lib.Codec.encoding_table["21792"] = [223,235] let s:lib.Codec.encoding_table["21757"] = [223,236] let s:lib.Codec.encoding_table["21780"] = [223,237] let s:lib.Codec.encoding_table["21747"] = [223,238] let s:lib.Codec.encoding_table["21794"] = [223,239] let s:lib.Codec.encoding_table["21795"] = [223,240] let s:lib.Codec.encoding_table["21775"] = [223,241] let s:lib.Codec.encoding_table["21777"] = [223,242] let s:lib.Codec.encoding_table["21799"] = [223,243] let s:lib.Codec.encoding_table["21802"] = [223,244] let s:lib.Codec.encoding_table["21863"] = [223,245] let s:lib.Codec.encoding_table["21903"] = [223,246] let s:lib.Codec.encoding_table["21941"] = [223,247] let s:lib.Codec.encoding_table["21833"] = [223,248] let s:lib.Codec.encoding_table["21869"] = [223,249] let s:lib.Codec.encoding_table["21825"] = [223,250] let s:lib.Codec.encoding_table["21845"] = [223,251] let s:lib.Codec.encoding_table["21823"] = [223,252] let s:lib.Codec.encoding_table["21840"] = [223,253] let s:lib.Codec.encoding_table["21820"] = [223,254] let s:lib.Codec.encoding_table["37058"] = [224,64] let s:lib.Codec.encoding_table["37059"] = [224,65] let s:lib.Codec.encoding_table["37062"] = [224,66] let s:lib.Codec.encoding_table["37064"] = [224,67] let s:lib.Codec.encoding_table["37065"] = [224,68] let s:lib.Codec.encoding_table["37067"] = [224,69] let s:lib.Codec.encoding_table["37068"] = [224,70] let s:lib.Codec.encoding_table["37069"] = [224,71] let s:lib.Codec.encoding_table["37074"] = [224,72] let s:lib.Codec.encoding_table["37076"] = [224,73] let s:lib.Codec.encoding_table["37077"] = [224,74] let s:lib.Codec.encoding_table["37078"] = [224,75] let s:lib.Codec.encoding_table["37080"] = [224,76] let s:lib.Codec.encoding_table["37081"] = [224,77] let s:lib.Codec.encoding_table["37082"] = [224,78] let s:lib.Codec.encoding_table["37086"] = [224,79] let s:lib.Codec.encoding_table["37087"] = [224,80] let s:lib.Codec.encoding_table["37088"] = [224,81] let s:lib.Codec.encoding_table["37091"] = [224,82] let s:lib.Codec.encoding_table["37092"] = [224,83] let s:lib.Codec.encoding_table["37093"] = [224,84] let s:lib.Codec.encoding_table["37097"] = [224,85] let s:lib.Codec.encoding_table["37098"] = [224,86] let s:lib.Codec.encoding_table["37100"] = [224,87] let s:lib.Codec.encoding_table["37102"] = [224,88] let s:lib.Codec.encoding_table["37104"] = [224,89] let s:lib.Codec.encoding_table["37105"] = [224,90] let s:lib.Codec.encoding_table["37106"] = [224,91] let s:lib.Codec.encoding_table["37107"] = [224,92] let s:lib.Codec.encoding_table["37109"] = [224,93] let s:lib.Codec.encoding_table["37110"] = [224,94] let s:lib.Codec.encoding_table["37111"] = [224,95] let s:lib.Codec.encoding_table["37113"] = [224,96] let s:lib.Codec.encoding_table["37114"] = [224,97] let s:lib.Codec.encoding_table["37115"] = [224,98] let s:lib.Codec.encoding_table["37116"] = [224,99] let s:lib.Codec.encoding_table["37119"] = [224,100] let s:lib.Codec.encoding_table["37120"] = [224,101] let s:lib.Codec.encoding_table["37121"] = [224,102] let s:lib.Codec.encoding_table["37123"] = [224,103] let s:lib.Codec.encoding_table["37125"] = [224,104] let s:lib.Codec.encoding_table["37126"] = [224,105] let s:lib.Codec.encoding_table["37127"] = [224,106] let s:lib.Codec.encoding_table["37128"] = [224,107] let s:lib.Codec.encoding_table["37129"] = [224,108] let s:lib.Codec.encoding_table["37130"] = [224,109] let s:lib.Codec.encoding_table["37131"] = [224,110] let s:lib.Codec.encoding_table["37132"] = [224,111] let s:lib.Codec.encoding_table["37133"] = [224,112] let s:lib.Codec.encoding_table["37134"] = [224,113] let s:lib.Codec.encoding_table["37135"] = [224,114] let s:lib.Codec.encoding_table["37136"] = [224,115] let s:lib.Codec.encoding_table["37137"] = [224,116] let s:lib.Codec.encoding_table["37138"] = [224,117] let s:lib.Codec.encoding_table["37139"] = [224,118] let s:lib.Codec.encoding_table["37140"] = [224,119] let s:lib.Codec.encoding_table["37141"] = [224,120] let s:lib.Codec.encoding_table["37142"] = [224,121] let s:lib.Codec.encoding_table["37143"] = [224,122] let s:lib.Codec.encoding_table["37144"] = [224,123] let s:lib.Codec.encoding_table["37146"] = [224,124] let s:lib.Codec.encoding_table["37147"] = [224,125] let s:lib.Codec.encoding_table["37148"] = [224,126] let s:lib.Codec.encoding_table["37149"] = [224,128] let s:lib.Codec.encoding_table["37151"] = [224,129] let s:lib.Codec.encoding_table["37152"] = [224,130] let s:lib.Codec.encoding_table["37153"] = [224,131] let s:lib.Codec.encoding_table["37156"] = [224,132] let s:lib.Codec.encoding_table["37157"] = [224,133] let s:lib.Codec.encoding_table["37158"] = [224,134] let s:lib.Codec.encoding_table["37159"] = [224,135] let s:lib.Codec.encoding_table["37160"] = [224,136] let s:lib.Codec.encoding_table["37161"] = [224,137] let s:lib.Codec.encoding_table["37162"] = [224,138] let s:lib.Codec.encoding_table["37163"] = [224,139] let s:lib.Codec.encoding_table["37164"] = [224,140] let s:lib.Codec.encoding_table["37165"] = [224,141] let s:lib.Codec.encoding_table["37166"] = [224,142] let s:lib.Codec.encoding_table["37168"] = [224,143] let s:lib.Codec.encoding_table["37170"] = [224,144] let s:lib.Codec.encoding_table["37171"] = [224,145] let s:lib.Codec.encoding_table["37172"] = [224,146] let s:lib.Codec.encoding_table["37173"] = [224,147] let s:lib.Codec.encoding_table["37174"] = [224,148] let s:lib.Codec.encoding_table["37175"] = [224,149] let s:lib.Codec.encoding_table["37176"] = [224,150] let s:lib.Codec.encoding_table["37178"] = [224,151] let s:lib.Codec.encoding_table["37179"] = [224,152] let s:lib.Codec.encoding_table["37180"] = [224,153] let s:lib.Codec.encoding_table["37181"] = [224,154] let s:lib.Codec.encoding_table["37182"] = [224,155] let s:lib.Codec.encoding_table["37183"] = [224,156] let s:lib.Codec.encoding_table["37184"] = [224,157] let s:lib.Codec.encoding_table["37185"] = [224,158] let s:lib.Codec.encoding_table["37186"] = [224,159] let s:lib.Codec.encoding_table["37188"] = [224,160] let s:lib.Codec.encoding_table["21815"] = [224,161] let s:lib.Codec.encoding_table["21846"] = [224,162] let s:lib.Codec.encoding_table["21877"] = [224,163] let s:lib.Codec.encoding_table["21878"] = [224,164] let s:lib.Codec.encoding_table["21879"] = [224,165] let s:lib.Codec.encoding_table["21811"] = [224,166] let s:lib.Codec.encoding_table["21808"] = [224,167] let s:lib.Codec.encoding_table["21852"] = [224,168] let s:lib.Codec.encoding_table["21899"] = [224,169] let s:lib.Codec.encoding_table["21970"] = [224,170] let s:lib.Codec.encoding_table["21891"] = [224,171] let s:lib.Codec.encoding_table["21937"] = [224,172] let s:lib.Codec.encoding_table["21945"] = [224,173] let s:lib.Codec.encoding_table["21896"] = [224,174] let s:lib.Codec.encoding_table["21889"] = [224,175] let s:lib.Codec.encoding_table["21919"] = [224,176] let s:lib.Codec.encoding_table["21886"] = [224,177] let s:lib.Codec.encoding_table["21974"] = [224,178] let s:lib.Codec.encoding_table["21905"] = [224,179] let s:lib.Codec.encoding_table["21883"] = [224,180] let s:lib.Codec.encoding_table["21983"] = [224,181] let s:lib.Codec.encoding_table["21949"] = [224,182] let s:lib.Codec.encoding_table["21950"] = [224,183] let s:lib.Codec.encoding_table["21908"] = [224,184] let s:lib.Codec.encoding_table["21913"] = [224,185] let s:lib.Codec.encoding_table["21994"] = [224,186] let s:lib.Codec.encoding_table["22007"] = [224,187] let s:lib.Codec.encoding_table["21961"] = [224,188] let s:lib.Codec.encoding_table["22047"] = [224,189] let s:lib.Codec.encoding_table["21969"] = [224,190] let s:lib.Codec.encoding_table["21995"] = [224,191] let s:lib.Codec.encoding_table["21996"] = [224,192] let s:lib.Codec.encoding_table["21972"] = [224,193] let s:lib.Codec.encoding_table["21990"] = [224,194] let s:lib.Codec.encoding_table["21981"] = [224,195] let s:lib.Codec.encoding_table["21956"] = [224,196] let s:lib.Codec.encoding_table["21999"] = [224,197] let s:lib.Codec.encoding_table["21989"] = [224,198] let s:lib.Codec.encoding_table["22002"] = [224,199] let s:lib.Codec.encoding_table["22003"] = [224,200] let s:lib.Codec.encoding_table["21964"] = [224,201] let s:lib.Codec.encoding_table["21965"] = [224,202] let s:lib.Codec.encoding_table["21992"] = [224,203] let s:lib.Codec.encoding_table["22005"] = [224,204] let s:lib.Codec.encoding_table["21988"] = [224,205] let s:lib.Codec.encoding_table["36756"] = [224,206] let s:lib.Codec.encoding_table["22046"] = [224,207] let s:lib.Codec.encoding_table["22024"] = [224,208] let s:lib.Codec.encoding_table["22028"] = [224,209] let s:lib.Codec.encoding_table["22017"] = [224,210] let s:lib.Codec.encoding_table["22052"] = [224,211] let s:lib.Codec.encoding_table["22051"] = [224,212] let s:lib.Codec.encoding_table["22014"] = [224,213] let s:lib.Codec.encoding_table["22016"] = [224,214] let s:lib.Codec.encoding_table["22055"] = [224,215] let s:lib.Codec.encoding_table["22061"] = [224,216] let s:lib.Codec.encoding_table["22104"] = [224,217] let s:lib.Codec.encoding_table["22073"] = [224,218] let s:lib.Codec.encoding_table["22103"] = [224,219] let s:lib.Codec.encoding_table["22060"] = [224,220] let s:lib.Codec.encoding_table["22093"] = [224,221] let s:lib.Codec.encoding_table["22114"] = [224,222] let s:lib.Codec.encoding_table["22105"] = [224,223] let s:lib.Codec.encoding_table["22108"] = [224,224] let s:lib.Codec.encoding_table["22092"] = [224,225] let s:lib.Codec.encoding_table["22100"] = [224,226] let s:lib.Codec.encoding_table["22150"] = [224,227] let s:lib.Codec.encoding_table["22116"] = [224,228] let s:lib.Codec.encoding_table["22129"] = [224,229] let s:lib.Codec.encoding_table["22123"] = [224,230] let s:lib.Codec.encoding_table["22139"] = [224,231] let s:lib.Codec.encoding_table["22140"] = [224,232] let s:lib.Codec.encoding_table["22149"] = [224,233] let s:lib.Codec.encoding_table["22163"] = [224,234] let s:lib.Codec.encoding_table["22191"] = [224,235] let s:lib.Codec.encoding_table["22228"] = [224,236] let s:lib.Codec.encoding_table["22231"] = [224,237] let s:lib.Codec.encoding_table["22237"] = [224,238] let s:lib.Codec.encoding_table["22241"] = [224,239] let s:lib.Codec.encoding_table["22261"] = [224,240] let s:lib.Codec.encoding_table["22251"] = [224,241] let s:lib.Codec.encoding_table["22265"] = [224,242] let s:lib.Codec.encoding_table["22271"] = [224,243] let s:lib.Codec.encoding_table["22276"] = [224,244] let s:lib.Codec.encoding_table["22282"] = [224,245] let s:lib.Codec.encoding_table["22281"] = [224,246] let s:lib.Codec.encoding_table["22300"] = [224,247] let s:lib.Codec.encoding_table["24079"] = [224,248] let s:lib.Codec.encoding_table["24089"] = [224,249] let s:lib.Codec.encoding_table["24084"] = [224,250] let s:lib.Codec.encoding_table["24081"] = [224,251] let s:lib.Codec.encoding_table["24113"] = [224,252] let s:lib.Codec.encoding_table["24123"] = [224,253] let s:lib.Codec.encoding_table["24124"] = [224,254] let s:lib.Codec.encoding_table["37189"] = [225,64] let s:lib.Codec.encoding_table["37191"] = [225,65] let s:lib.Codec.encoding_table["37192"] = [225,66] let s:lib.Codec.encoding_table["37201"] = [225,67] let s:lib.Codec.encoding_table["37203"] = [225,68] let s:lib.Codec.encoding_table["37204"] = [225,69] let s:lib.Codec.encoding_table["37205"] = [225,70] let s:lib.Codec.encoding_table["37206"] = [225,71] let s:lib.Codec.encoding_table["37208"] = [225,72] let s:lib.Codec.encoding_table["37209"] = [225,73] let s:lib.Codec.encoding_table["37211"] = [225,74] let s:lib.Codec.encoding_table["37212"] = [225,75] let s:lib.Codec.encoding_table["37215"] = [225,76] let s:lib.Codec.encoding_table["37216"] = [225,77] let s:lib.Codec.encoding_table["37222"] = [225,78] let s:lib.Codec.encoding_table["37223"] = [225,79] let s:lib.Codec.encoding_table["37224"] = [225,80] let s:lib.Codec.encoding_table["37227"] = [225,81] let s:lib.Codec.encoding_table["37229"] = [225,82] let s:lib.Codec.encoding_table["37235"] = [225,83] let s:lib.Codec.encoding_table["37242"] = [225,84] let s:lib.Codec.encoding_table["37243"] = [225,85] let s:lib.Codec.encoding_table["37244"] = [225,86] let s:lib.Codec.encoding_table["37248"] = [225,87] let s:lib.Codec.encoding_table["37249"] = [225,88] let s:lib.Codec.encoding_table["37250"] = [225,89] let s:lib.Codec.encoding_table["37251"] = [225,90] let s:lib.Codec.encoding_table["37252"] = [225,91] let s:lib.Codec.encoding_table["37254"] = [225,92] let s:lib.Codec.encoding_table["37256"] = [225,93] let s:lib.Codec.encoding_table["37258"] = [225,94] let s:lib.Codec.encoding_table["37262"] = [225,95] let s:lib.Codec.encoding_table["37263"] = [225,96] let s:lib.Codec.encoding_table["37267"] = [225,97] let s:lib.Codec.encoding_table["37268"] = [225,98] let s:lib.Codec.encoding_table["37269"] = [225,99] let s:lib.Codec.encoding_table["37270"] = [225,100] let s:lib.Codec.encoding_table["37271"] = [225,101] let s:lib.Codec.encoding_table["37272"] = [225,102] let s:lib.Codec.encoding_table["37273"] = [225,103] let s:lib.Codec.encoding_table["37276"] = [225,104] let s:lib.Codec.encoding_table["37277"] = [225,105] let s:lib.Codec.encoding_table["37278"] = [225,106] let s:lib.Codec.encoding_table["37279"] = [225,107] let s:lib.Codec.encoding_table["37280"] = [225,108] let s:lib.Codec.encoding_table["37281"] = [225,109] let s:lib.Codec.encoding_table["37284"] = [225,110] let s:lib.Codec.encoding_table["37285"] = [225,111] let s:lib.Codec.encoding_table["37286"] = [225,112] let s:lib.Codec.encoding_table["37287"] = [225,113] let s:lib.Codec.encoding_table["37288"] = [225,114] let s:lib.Codec.encoding_table["37289"] = [225,115] let s:lib.Codec.encoding_table["37291"] = [225,116] let s:lib.Codec.encoding_table["37292"] = [225,117] let s:lib.Codec.encoding_table["37296"] = [225,118] let s:lib.Codec.encoding_table["37297"] = [225,119] let s:lib.Codec.encoding_table["37298"] = [225,120] let s:lib.Codec.encoding_table["37299"] = [225,121] let s:lib.Codec.encoding_table["37302"] = [225,122] let s:lib.Codec.encoding_table["37303"] = [225,123] let s:lib.Codec.encoding_table["37304"] = [225,124] let s:lib.Codec.encoding_table["37305"] = [225,125] let s:lib.Codec.encoding_table["37307"] = [225,126] let s:lib.Codec.encoding_table["37308"] = [225,128] let s:lib.Codec.encoding_table["37309"] = [225,129] let s:lib.Codec.encoding_table["37310"] = [225,130] let s:lib.Codec.encoding_table["37311"] = [225,131] let s:lib.Codec.encoding_table["37312"] = [225,132] let s:lib.Codec.encoding_table["37313"] = [225,133] let s:lib.Codec.encoding_table["37314"] = [225,134] let s:lib.Codec.encoding_table["37315"] = [225,135] let s:lib.Codec.encoding_table["37316"] = [225,136] let s:lib.Codec.encoding_table["37317"] = [225,137] let s:lib.Codec.encoding_table["37318"] = [225,138] let s:lib.Codec.encoding_table["37320"] = [225,139] let s:lib.Codec.encoding_table["37323"] = [225,140] let s:lib.Codec.encoding_table["37328"] = [225,141] let s:lib.Codec.encoding_table["37330"] = [225,142] let s:lib.Codec.encoding_table["37331"] = [225,143] let s:lib.Codec.encoding_table["37332"] = [225,144] let s:lib.Codec.encoding_table["37333"] = [225,145] let s:lib.Codec.encoding_table["37334"] = [225,146] let s:lib.Codec.encoding_table["37335"] = [225,147] let s:lib.Codec.encoding_table["37336"] = [225,148] let s:lib.Codec.encoding_table["37337"] = [225,149] let s:lib.Codec.encoding_table["37338"] = [225,150] let s:lib.Codec.encoding_table["37339"] = [225,151] let s:lib.Codec.encoding_table["37341"] = [225,152] let s:lib.Codec.encoding_table["37342"] = [225,153] let s:lib.Codec.encoding_table["37343"] = [225,154] let s:lib.Codec.encoding_table["37344"] = [225,155] let s:lib.Codec.encoding_table["37345"] = [225,156] let s:lib.Codec.encoding_table["37346"] = [225,157] let s:lib.Codec.encoding_table["37347"] = [225,158] let s:lib.Codec.encoding_table["37348"] = [225,159] let s:lib.Codec.encoding_table["37349"] = [225,160] let s:lib.Codec.encoding_table["24119"] = [225,161] let s:lib.Codec.encoding_table["24132"] = [225,162] let s:lib.Codec.encoding_table["24148"] = [225,163] let s:lib.Codec.encoding_table["24155"] = [225,164] let s:lib.Codec.encoding_table["24158"] = [225,165] let s:lib.Codec.encoding_table["24161"] = [225,166] let s:lib.Codec.encoding_table["23692"] = [225,167] let s:lib.Codec.encoding_table["23674"] = [225,168] let s:lib.Codec.encoding_table["23693"] = [225,169] let s:lib.Codec.encoding_table["23696"] = [225,170] let s:lib.Codec.encoding_table["23702"] = [225,171] let s:lib.Codec.encoding_table["23688"] = [225,172] let s:lib.Codec.encoding_table["23704"] = [225,173] let s:lib.Codec.encoding_table["23705"] = [225,174] let s:lib.Codec.encoding_table["23697"] = [225,175] let s:lib.Codec.encoding_table["23706"] = [225,176] let s:lib.Codec.encoding_table["23708"] = [225,177] let s:lib.Codec.encoding_table["23733"] = [225,178] let s:lib.Codec.encoding_table["23714"] = [225,179] let s:lib.Codec.encoding_table["23741"] = [225,180] let s:lib.Codec.encoding_table["23724"] = [225,181] let s:lib.Codec.encoding_table["23723"] = [225,182] let s:lib.Codec.encoding_table["23729"] = [225,183] let s:lib.Codec.encoding_table["23715"] = [225,184] let s:lib.Codec.encoding_table["23745"] = [225,185] let s:lib.Codec.encoding_table["23735"] = [225,186] let s:lib.Codec.encoding_table["23748"] = [225,187] let s:lib.Codec.encoding_table["23762"] = [225,188] let s:lib.Codec.encoding_table["23780"] = [225,189] let s:lib.Codec.encoding_table["23755"] = [225,190] let s:lib.Codec.encoding_table["23781"] = [225,191] let s:lib.Codec.encoding_table["23810"] = [225,192] let s:lib.Codec.encoding_table["23811"] = [225,193] let s:lib.Codec.encoding_table["23847"] = [225,194] let s:lib.Codec.encoding_table["23846"] = [225,195] let s:lib.Codec.encoding_table["23854"] = [225,196] let s:lib.Codec.encoding_table["23844"] = [225,197] let s:lib.Codec.encoding_table["23838"] = [225,198] let s:lib.Codec.encoding_table["23814"] = [225,199] let s:lib.Codec.encoding_table["23835"] = [225,200] let s:lib.Codec.encoding_table["23896"] = [225,201] let s:lib.Codec.encoding_table["23870"] = [225,202] let s:lib.Codec.encoding_table["23860"] = [225,203] let s:lib.Codec.encoding_table["23869"] = [225,204] let s:lib.Codec.encoding_table["23916"] = [225,205] let s:lib.Codec.encoding_table["23899"] = [225,206] let s:lib.Codec.encoding_table["23919"] = [225,207] let s:lib.Codec.encoding_table["23901"] = [225,208] let s:lib.Codec.encoding_table["23915"] = [225,209] let s:lib.Codec.encoding_table["23883"] = [225,210] let s:lib.Codec.encoding_table["23882"] = [225,211] let s:lib.Codec.encoding_table["23913"] = [225,212] let s:lib.Codec.encoding_table["23924"] = [225,213] let s:lib.Codec.encoding_table["23938"] = [225,214] let s:lib.Codec.encoding_table["23961"] = [225,215] let s:lib.Codec.encoding_table["23965"] = [225,216] let s:lib.Codec.encoding_table["35955"] = [225,217] let s:lib.Codec.encoding_table["23991"] = [225,218] let s:lib.Codec.encoding_table["24005"] = [225,219] let s:lib.Codec.encoding_table["24435"] = [225,220] let s:lib.Codec.encoding_table["24439"] = [225,221] let s:lib.Codec.encoding_table["24450"] = [225,222] let s:lib.Codec.encoding_table["24455"] = [225,223] let s:lib.Codec.encoding_table["24457"] = [225,224] let s:lib.Codec.encoding_table["24460"] = [225,225] let s:lib.Codec.encoding_table["24469"] = [225,226] let s:lib.Codec.encoding_table["24473"] = [225,227] let s:lib.Codec.encoding_table["24476"] = [225,228] let s:lib.Codec.encoding_table["24488"] = [225,229] let s:lib.Codec.encoding_table["24493"] = [225,230] let s:lib.Codec.encoding_table["24501"] = [225,231] let s:lib.Codec.encoding_table["24508"] = [225,232] let s:lib.Codec.encoding_table["34914"] = [225,233] let s:lib.Codec.encoding_table["24417"] = [225,234] let s:lib.Codec.encoding_table["29357"] = [225,235] let s:lib.Codec.encoding_table["29360"] = [225,236] let s:lib.Codec.encoding_table["29364"] = [225,237] let s:lib.Codec.encoding_table["29367"] = [225,238] let s:lib.Codec.encoding_table["29368"] = [225,239] let s:lib.Codec.encoding_table["29379"] = [225,240] let s:lib.Codec.encoding_table["29377"] = [225,241] let s:lib.Codec.encoding_table["29390"] = [225,242] let s:lib.Codec.encoding_table["29389"] = [225,243] let s:lib.Codec.encoding_table["29394"] = [225,244] let s:lib.Codec.encoding_table["29416"] = [225,245] let s:lib.Codec.encoding_table["29423"] = [225,246] let s:lib.Codec.encoding_table["29417"] = [225,247] let s:lib.Codec.encoding_table["29426"] = [225,248] let s:lib.Codec.encoding_table["29428"] = [225,249] let s:lib.Codec.encoding_table["29431"] = [225,250] let s:lib.Codec.encoding_table["29441"] = [225,251] let s:lib.Codec.encoding_table["29427"] = [225,252] let s:lib.Codec.encoding_table["29443"] = [225,253] let s:lib.Codec.encoding_table["29434"] = [225,254] let s:lib.Codec.encoding_table["37350"] = [226,64] let s:lib.Codec.encoding_table["37351"] = [226,65] let s:lib.Codec.encoding_table["37352"] = [226,66] let s:lib.Codec.encoding_table["37353"] = [226,67] let s:lib.Codec.encoding_table["37354"] = [226,68] let s:lib.Codec.encoding_table["37355"] = [226,69] let s:lib.Codec.encoding_table["37356"] = [226,70] let s:lib.Codec.encoding_table["37357"] = [226,71] let s:lib.Codec.encoding_table["37358"] = [226,72] let s:lib.Codec.encoding_table["37359"] = [226,73] let s:lib.Codec.encoding_table["37360"] = [226,74] let s:lib.Codec.encoding_table["37361"] = [226,75] let s:lib.Codec.encoding_table["37362"] = [226,76] let s:lib.Codec.encoding_table["37363"] = [226,77] let s:lib.Codec.encoding_table["37364"] = [226,78] let s:lib.Codec.encoding_table["37365"] = [226,79] let s:lib.Codec.encoding_table["37366"] = [226,80] let s:lib.Codec.encoding_table["37367"] = [226,81] let s:lib.Codec.encoding_table["37368"] = [226,82] let s:lib.Codec.encoding_table["37369"] = [226,83] let s:lib.Codec.encoding_table["37370"] = [226,84] let s:lib.Codec.encoding_table["37371"] = [226,85] let s:lib.Codec.encoding_table["37372"] = [226,86] let s:lib.Codec.encoding_table["37373"] = [226,87] let s:lib.Codec.encoding_table["37374"] = [226,88] let s:lib.Codec.encoding_table["37375"] = [226,89] let s:lib.Codec.encoding_table["37376"] = [226,90] let s:lib.Codec.encoding_table["37377"] = [226,91] let s:lib.Codec.encoding_table["37378"] = [226,92] let s:lib.Codec.encoding_table["37379"] = [226,93] let s:lib.Codec.encoding_table["37380"] = [226,94] let s:lib.Codec.encoding_table["37381"] = [226,95] let s:lib.Codec.encoding_table["37382"] = [226,96] let s:lib.Codec.encoding_table["37383"] = [226,97] let s:lib.Codec.encoding_table["37384"] = [226,98] let s:lib.Codec.encoding_table["37385"] = [226,99] let s:lib.Codec.encoding_table["37386"] = [226,100] let s:lib.Codec.encoding_table["37387"] = [226,101] let s:lib.Codec.encoding_table["37388"] = [226,102] let s:lib.Codec.encoding_table["37389"] = [226,103] let s:lib.Codec.encoding_table["37390"] = [226,104] let s:lib.Codec.encoding_table["37391"] = [226,105] let s:lib.Codec.encoding_table["37392"] = [226,106] let s:lib.Codec.encoding_table["37393"] = [226,107] let s:lib.Codec.encoding_table["37394"] = [226,108] let s:lib.Codec.encoding_table["37395"] = [226,109] let s:lib.Codec.encoding_table["37396"] = [226,110] let s:lib.Codec.encoding_table["37397"] = [226,111] let s:lib.Codec.encoding_table["37398"] = [226,112] let s:lib.Codec.encoding_table["37399"] = [226,113] let s:lib.Codec.encoding_table["37400"] = [226,114] let s:lib.Codec.encoding_table["37401"] = [226,115] let s:lib.Codec.encoding_table["37402"] = [226,116] let s:lib.Codec.encoding_table["37403"] = [226,117] let s:lib.Codec.encoding_table["37404"] = [226,118] let s:lib.Codec.encoding_table["37405"] = [226,119] let s:lib.Codec.encoding_table["37406"] = [226,120] let s:lib.Codec.encoding_table["37407"] = [226,121] let s:lib.Codec.encoding_table["37408"] = [226,122] let s:lib.Codec.encoding_table["37409"] = [226,123] let s:lib.Codec.encoding_table["37410"] = [226,124] let s:lib.Codec.encoding_table["37411"] = [226,125] let s:lib.Codec.encoding_table["37412"] = [226,126] let s:lib.Codec.encoding_table["37413"] = [226,128] let s:lib.Codec.encoding_table["37414"] = [226,129] let s:lib.Codec.encoding_table["37415"] = [226,130] let s:lib.Codec.encoding_table["37416"] = [226,131] let s:lib.Codec.encoding_table["37417"] = [226,132] let s:lib.Codec.encoding_table["37418"] = [226,133] let s:lib.Codec.encoding_table["37419"] = [226,134] let s:lib.Codec.encoding_table["37420"] = [226,135] let s:lib.Codec.encoding_table["37421"] = [226,136] let s:lib.Codec.encoding_table["37422"] = [226,137] let s:lib.Codec.encoding_table["37423"] = [226,138] let s:lib.Codec.encoding_table["37424"] = [226,139] let s:lib.Codec.encoding_table["37425"] = [226,140] let s:lib.Codec.encoding_table["37426"] = [226,141] let s:lib.Codec.encoding_table["37427"] = [226,142] let s:lib.Codec.encoding_table["37428"] = [226,143] let s:lib.Codec.encoding_table["37429"] = [226,144] let s:lib.Codec.encoding_table["37430"] = [226,145] let s:lib.Codec.encoding_table["37431"] = [226,146] let s:lib.Codec.encoding_table["37432"] = [226,147] let s:lib.Codec.encoding_table["37433"] = [226,148] let s:lib.Codec.encoding_table["37434"] = [226,149] let s:lib.Codec.encoding_table["37435"] = [226,150] let s:lib.Codec.encoding_table["37436"] = [226,151] let s:lib.Codec.encoding_table["37437"] = [226,152] let s:lib.Codec.encoding_table["37438"] = [226,153] let s:lib.Codec.encoding_table["37439"] = [226,154] let s:lib.Codec.encoding_table["37440"] = [226,155] let s:lib.Codec.encoding_table["37441"] = [226,156] let s:lib.Codec.encoding_table["37442"] = [226,157] let s:lib.Codec.encoding_table["37443"] = [226,158] let s:lib.Codec.encoding_table["37444"] = [226,159] let s:lib.Codec.encoding_table["37445"] = [226,160] let s:lib.Codec.encoding_table["29435"] = [226,161] let s:lib.Codec.encoding_table["29463"] = [226,162] let s:lib.Codec.encoding_table["29459"] = [226,163] let s:lib.Codec.encoding_table["29473"] = [226,164] let s:lib.Codec.encoding_table["29450"] = [226,165] let s:lib.Codec.encoding_table["29470"] = [226,166] let s:lib.Codec.encoding_table["29469"] = [226,167] let s:lib.Codec.encoding_table["29461"] = [226,168] let s:lib.Codec.encoding_table["29474"] = [226,169] let s:lib.Codec.encoding_table["29497"] = [226,170] let s:lib.Codec.encoding_table["29477"] = [226,171] let s:lib.Codec.encoding_table["29484"] = [226,172] let s:lib.Codec.encoding_table["29496"] = [226,173] let s:lib.Codec.encoding_table["29489"] = [226,174] let s:lib.Codec.encoding_table["29520"] = [226,175] let s:lib.Codec.encoding_table["29517"] = [226,176] let s:lib.Codec.encoding_table["29527"] = [226,177] let s:lib.Codec.encoding_table["29536"] = [226,178] let s:lib.Codec.encoding_table["29548"] = [226,179] let s:lib.Codec.encoding_table["29551"] = [226,180] let s:lib.Codec.encoding_table["29566"] = [226,181] let s:lib.Codec.encoding_table["33307"] = [226,182] let s:lib.Codec.encoding_table["22821"] = [226,183] let s:lib.Codec.encoding_table["39143"] = [226,184] let s:lib.Codec.encoding_table["22820"] = [226,185] let s:lib.Codec.encoding_table["22786"] = [226,186] let s:lib.Codec.encoding_table["39267"] = [226,187] let s:lib.Codec.encoding_table["39271"] = [226,188] let s:lib.Codec.encoding_table["39272"] = [226,189] let s:lib.Codec.encoding_table["39273"] = [226,190] let s:lib.Codec.encoding_table["39274"] = [226,191] let s:lib.Codec.encoding_table["39275"] = [226,192] let s:lib.Codec.encoding_table["39276"] = [226,193] let s:lib.Codec.encoding_table["39284"] = [226,194] let s:lib.Codec.encoding_table["39287"] = [226,195] let s:lib.Codec.encoding_table["39293"] = [226,196] let s:lib.Codec.encoding_table["39296"] = [226,197] let s:lib.Codec.encoding_table["39300"] = [226,198] let s:lib.Codec.encoding_table["39303"] = [226,199] let s:lib.Codec.encoding_table["39306"] = [226,200] let s:lib.Codec.encoding_table["39309"] = [226,201] let s:lib.Codec.encoding_table["39312"] = [226,202] let s:lib.Codec.encoding_table["39313"] = [226,203] let s:lib.Codec.encoding_table["39315"] = [226,204] let s:lib.Codec.encoding_table["39316"] = [226,205] let s:lib.Codec.encoding_table["39317"] = [226,206] let s:lib.Codec.encoding_table["24192"] = [226,207] let s:lib.Codec.encoding_table["24209"] = [226,208] let s:lib.Codec.encoding_table["24203"] = [226,209] let s:lib.Codec.encoding_table["24214"] = [226,210] let s:lib.Codec.encoding_table["24229"] = [226,211] let s:lib.Codec.encoding_table["24224"] = [226,212] let s:lib.Codec.encoding_table["24249"] = [226,213] let s:lib.Codec.encoding_table["24245"] = [226,214] let s:lib.Codec.encoding_table["24254"] = [226,215] let s:lib.Codec.encoding_table["24243"] = [226,216] let s:lib.Codec.encoding_table["36179"] = [226,217] let s:lib.Codec.encoding_table["24274"] = [226,218] let s:lib.Codec.encoding_table["24273"] = [226,219] let s:lib.Codec.encoding_table["24283"] = [226,220] let s:lib.Codec.encoding_table["24296"] = [226,221] let s:lib.Codec.encoding_table["24298"] = [226,222] let s:lib.Codec.encoding_table["33210"] = [226,223] let s:lib.Codec.encoding_table["24516"] = [226,224] let s:lib.Codec.encoding_table["24521"] = [226,225] let s:lib.Codec.encoding_table["24534"] = [226,226] let s:lib.Codec.encoding_table["24527"] = [226,227] let s:lib.Codec.encoding_table["24579"] = [226,228] let s:lib.Codec.encoding_table["24558"] = [226,229] let s:lib.Codec.encoding_table["24580"] = [226,230] let s:lib.Codec.encoding_table["24545"] = [226,231] let s:lib.Codec.encoding_table["24548"] = [226,232] let s:lib.Codec.encoding_table["24574"] = [226,233] let s:lib.Codec.encoding_table["24581"] = [226,234] let s:lib.Codec.encoding_table["24582"] = [226,235] let s:lib.Codec.encoding_table["24554"] = [226,236] let s:lib.Codec.encoding_table["24557"] = [226,237] let s:lib.Codec.encoding_table["24568"] = [226,238] let s:lib.Codec.encoding_table["24601"] = [226,239] let s:lib.Codec.encoding_table["24629"] = [226,240] let s:lib.Codec.encoding_table["24614"] = [226,241] let s:lib.Codec.encoding_table["24603"] = [226,242] let s:lib.Codec.encoding_table["24591"] = [226,243] let s:lib.Codec.encoding_table["24589"] = [226,244] let s:lib.Codec.encoding_table["24617"] = [226,245] let s:lib.Codec.encoding_table["24619"] = [226,246] let s:lib.Codec.encoding_table["24586"] = [226,247] let s:lib.Codec.encoding_table["24639"] = [226,248] let s:lib.Codec.encoding_table["24609"] = [226,249] let s:lib.Codec.encoding_table["24696"] = [226,250] let s:lib.Codec.encoding_table["24697"] = [226,251] let s:lib.Codec.encoding_table["24699"] = [226,252] let s:lib.Codec.encoding_table["24698"] = [226,253] let s:lib.Codec.encoding_table["24642"] = [226,254] let s:lib.Codec.encoding_table["37446"] = [227,64] let s:lib.Codec.encoding_table["37447"] = [227,65] let s:lib.Codec.encoding_table["37448"] = [227,66] let s:lib.Codec.encoding_table["37449"] = [227,67] let s:lib.Codec.encoding_table["37450"] = [227,68] let s:lib.Codec.encoding_table["37451"] = [227,69] let s:lib.Codec.encoding_table["37452"] = [227,70] let s:lib.Codec.encoding_table["37453"] = [227,71] let s:lib.Codec.encoding_table["37454"] = [227,72] let s:lib.Codec.encoding_table["37455"] = [227,73] let s:lib.Codec.encoding_table["37456"] = [227,74] let s:lib.Codec.encoding_table["37457"] = [227,75] let s:lib.Codec.encoding_table["37458"] = [227,76] let s:lib.Codec.encoding_table["37459"] = [227,77] let s:lib.Codec.encoding_table["37460"] = [227,78] let s:lib.Codec.encoding_table["37461"] = [227,79] let s:lib.Codec.encoding_table["37462"] = [227,80] let s:lib.Codec.encoding_table["37463"] = [227,81] let s:lib.Codec.encoding_table["37464"] = [227,82] let s:lib.Codec.encoding_table["37465"] = [227,83] let s:lib.Codec.encoding_table["37466"] = [227,84] let s:lib.Codec.encoding_table["37467"] = [227,85] let s:lib.Codec.encoding_table["37468"] = [227,86] let s:lib.Codec.encoding_table["37469"] = [227,87] let s:lib.Codec.encoding_table["37470"] = [227,88] let s:lib.Codec.encoding_table["37471"] = [227,89] let s:lib.Codec.encoding_table["37472"] = [227,90] let s:lib.Codec.encoding_table["37473"] = [227,91] let s:lib.Codec.encoding_table["37474"] = [227,92] let s:lib.Codec.encoding_table["37475"] = [227,93] let s:lib.Codec.encoding_table["37476"] = [227,94] let s:lib.Codec.encoding_table["37477"] = [227,95] let s:lib.Codec.encoding_table["37478"] = [227,96] let s:lib.Codec.encoding_table["37479"] = [227,97] let s:lib.Codec.encoding_table["37480"] = [227,98] let s:lib.Codec.encoding_table["37481"] = [227,99] let s:lib.Codec.encoding_table["37482"] = [227,100] let s:lib.Codec.encoding_table["37483"] = [227,101] let s:lib.Codec.encoding_table["37484"] = [227,102] let s:lib.Codec.encoding_table["37485"] = [227,103] let s:lib.Codec.encoding_table["37486"] = [227,104] let s:lib.Codec.encoding_table["37487"] = [227,105] let s:lib.Codec.encoding_table["37488"] = [227,106] let s:lib.Codec.encoding_table["37489"] = [227,107] let s:lib.Codec.encoding_table["37490"] = [227,108] let s:lib.Codec.encoding_table["37491"] = [227,109] let s:lib.Codec.encoding_table["37493"] = [227,110] let s:lib.Codec.encoding_table["37494"] = [227,111] let s:lib.Codec.encoding_table["37495"] = [227,112] let s:lib.Codec.encoding_table["37496"] = [227,113] let s:lib.Codec.encoding_table["37497"] = [227,114] let s:lib.Codec.encoding_table["37498"] = [227,115] let s:lib.Codec.encoding_table["37499"] = [227,116] let s:lib.Codec.encoding_table["37500"] = [227,117] let s:lib.Codec.encoding_table["37501"] = [227,118] let s:lib.Codec.encoding_table["37502"] = [227,119] let s:lib.Codec.encoding_table["37503"] = [227,120] let s:lib.Codec.encoding_table["37504"] = [227,121] let s:lib.Codec.encoding_table["37505"] = [227,122] let s:lib.Codec.encoding_table["37506"] = [227,123] let s:lib.Codec.encoding_table["37507"] = [227,124] let s:lib.Codec.encoding_table["37508"] = [227,125] let s:lib.Codec.encoding_table["37509"] = [227,126] let s:lib.Codec.encoding_table["37510"] = [227,128] let s:lib.Codec.encoding_table["37511"] = [227,129] let s:lib.Codec.encoding_table["37512"] = [227,130] let s:lib.Codec.encoding_table["37513"] = [227,131] let s:lib.Codec.encoding_table["37514"] = [227,132] let s:lib.Codec.encoding_table["37515"] = [227,133] let s:lib.Codec.encoding_table["37516"] = [227,134] let s:lib.Codec.encoding_table["37517"] = [227,135] let s:lib.Codec.encoding_table["37519"] = [227,136] let s:lib.Codec.encoding_table["37520"] = [227,137] let s:lib.Codec.encoding_table["37521"] = [227,138] let s:lib.Codec.encoding_table["37522"] = [227,139] let s:lib.Codec.encoding_table["37523"] = [227,140] let s:lib.Codec.encoding_table["37524"] = [227,141] let s:lib.Codec.encoding_table["37525"] = [227,142] let s:lib.Codec.encoding_table["37526"] = [227,143] let s:lib.Codec.encoding_table["37527"] = [227,144] let s:lib.Codec.encoding_table["37528"] = [227,145] let s:lib.Codec.encoding_table["37529"] = [227,146] let s:lib.Codec.encoding_table["37530"] = [227,147] let s:lib.Codec.encoding_table["37531"] = [227,148] let s:lib.Codec.encoding_table["37532"] = [227,149] let s:lib.Codec.encoding_table["37533"] = [227,150] let s:lib.Codec.encoding_table["37534"] = [227,151] let s:lib.Codec.encoding_table["37535"] = [227,152] let s:lib.Codec.encoding_table["37536"] = [227,153] let s:lib.Codec.encoding_table["37537"] = [227,154] let s:lib.Codec.encoding_table["37538"] = [227,155] let s:lib.Codec.encoding_table["37539"] = [227,156] let s:lib.Codec.encoding_table["37540"] = [227,157] let s:lib.Codec.encoding_table["37541"] = [227,158] let s:lib.Codec.encoding_table["37542"] = [227,159] let s:lib.Codec.encoding_table["37543"] = [227,160] let s:lib.Codec.encoding_table["24682"] = [227,161] let s:lib.Codec.encoding_table["24701"] = [227,162] let s:lib.Codec.encoding_table["24726"] = [227,163] let s:lib.Codec.encoding_table["24730"] = [227,164] let s:lib.Codec.encoding_table["24749"] = [227,165] let s:lib.Codec.encoding_table["24733"] = [227,166] let s:lib.Codec.encoding_table["24707"] = [227,167] let s:lib.Codec.encoding_table["24722"] = [227,168] let s:lib.Codec.encoding_table["24716"] = [227,169] let s:lib.Codec.encoding_table["24731"] = [227,170] let s:lib.Codec.encoding_table["24812"] = [227,171] let s:lib.Codec.encoding_table["24763"] = [227,172] let s:lib.Codec.encoding_table["24753"] = [227,173] let s:lib.Codec.encoding_table["24797"] = [227,174] let s:lib.Codec.encoding_table["24792"] = [227,175] let s:lib.Codec.encoding_table["24774"] = [227,176] let s:lib.Codec.encoding_table["24794"] = [227,177] let s:lib.Codec.encoding_table["24756"] = [227,178] let s:lib.Codec.encoding_table["24864"] = [227,179] let s:lib.Codec.encoding_table["24870"] = [227,180] let s:lib.Codec.encoding_table["24853"] = [227,181] let s:lib.Codec.encoding_table["24867"] = [227,182] let s:lib.Codec.encoding_table["24820"] = [227,183] let s:lib.Codec.encoding_table["24832"] = [227,184] let s:lib.Codec.encoding_table["24846"] = [227,185] let s:lib.Codec.encoding_table["24875"] = [227,186] let s:lib.Codec.encoding_table["24906"] = [227,187] let s:lib.Codec.encoding_table["24949"] = [227,188] let s:lib.Codec.encoding_table["25004"] = [227,189] let s:lib.Codec.encoding_table["24980"] = [227,190] let s:lib.Codec.encoding_table["24999"] = [227,191] let s:lib.Codec.encoding_table["25015"] = [227,192] let s:lib.Codec.encoding_table["25044"] = [227,193] let s:lib.Codec.encoding_table["25077"] = [227,194] let s:lib.Codec.encoding_table["24541"] = [227,195] let s:lib.Codec.encoding_table["38579"] = [227,196] let s:lib.Codec.encoding_table["38377"] = [227,197] let s:lib.Codec.encoding_table["38379"] = [227,198] let s:lib.Codec.encoding_table["38385"] = [227,199] let s:lib.Codec.encoding_table["38387"] = [227,200] let s:lib.Codec.encoding_table["38389"] = [227,201] let s:lib.Codec.encoding_table["38390"] = [227,202] let s:lib.Codec.encoding_table["38396"] = [227,203] let s:lib.Codec.encoding_table["38398"] = [227,204] let s:lib.Codec.encoding_table["38403"] = [227,205] let s:lib.Codec.encoding_table["38404"] = [227,206] let s:lib.Codec.encoding_table["38406"] = [227,207] let s:lib.Codec.encoding_table["38408"] = [227,208] let s:lib.Codec.encoding_table["38410"] = [227,209] let s:lib.Codec.encoding_table["38411"] = [227,210] let s:lib.Codec.encoding_table["38412"] = [227,211] let s:lib.Codec.encoding_table["38413"] = [227,212] let s:lib.Codec.encoding_table["38415"] = [227,213] let s:lib.Codec.encoding_table["38418"] = [227,214] let s:lib.Codec.encoding_table["38421"] = [227,215] let s:lib.Codec.encoding_table["38422"] = [227,216] let s:lib.Codec.encoding_table["38423"] = [227,217] let s:lib.Codec.encoding_table["38425"] = [227,218] let s:lib.Codec.encoding_table["38426"] = [227,219] let s:lib.Codec.encoding_table["20012"] = [227,220] let s:lib.Codec.encoding_table["29247"] = [227,221] let s:lib.Codec.encoding_table["25109"] = [227,222] let s:lib.Codec.encoding_table["27701"] = [227,223] let s:lib.Codec.encoding_table["27732"] = [227,224] let s:lib.Codec.encoding_table["27740"] = [227,225] let s:lib.Codec.encoding_table["27722"] = [227,226] let s:lib.Codec.encoding_table["27811"] = [227,227] let s:lib.Codec.encoding_table["27781"] = [227,228] let s:lib.Codec.encoding_table["27792"] = [227,229] let s:lib.Codec.encoding_table["27796"] = [227,230] let s:lib.Codec.encoding_table["27788"] = [227,231] let s:lib.Codec.encoding_table["27752"] = [227,232] let s:lib.Codec.encoding_table["27753"] = [227,233] let s:lib.Codec.encoding_table["27764"] = [227,234] let s:lib.Codec.encoding_table["27766"] = [227,235] let s:lib.Codec.encoding_table["27782"] = [227,236] let s:lib.Codec.encoding_table["27817"] = [227,237] let s:lib.Codec.encoding_table["27856"] = [227,238] let s:lib.Codec.encoding_table["27860"] = [227,239] let s:lib.Codec.encoding_table["27821"] = [227,240] let s:lib.Codec.encoding_table["27895"] = [227,241] let s:lib.Codec.encoding_table["27896"] = [227,242] let s:lib.Codec.encoding_table["27889"] = [227,243] let s:lib.Codec.encoding_table["27863"] = [227,244] let s:lib.Codec.encoding_table["27826"] = [227,245] let s:lib.Codec.encoding_table["27872"] = [227,246] let s:lib.Codec.encoding_table["27862"] = [227,247] let s:lib.Codec.encoding_table["27898"] = [227,248] let s:lib.Codec.encoding_table["27883"] = [227,249] let s:lib.Codec.encoding_table["27886"] = [227,250] let s:lib.Codec.encoding_table["27825"] = [227,251] let s:lib.Codec.encoding_table["27859"] = [227,252] let s:lib.Codec.encoding_table["27887"] = [227,253] let s:lib.Codec.encoding_table["27902"] = [227,254] let s:lib.Codec.encoding_table["37544"] = [228,64] let s:lib.Codec.encoding_table["37545"] = [228,65] let s:lib.Codec.encoding_table["37546"] = [228,66] let s:lib.Codec.encoding_table["37547"] = [228,67] let s:lib.Codec.encoding_table["37548"] = [228,68] let s:lib.Codec.encoding_table["37549"] = [228,69] let s:lib.Codec.encoding_table["37551"] = [228,70] let s:lib.Codec.encoding_table["37552"] = [228,71] let s:lib.Codec.encoding_table["37553"] = [228,72] let s:lib.Codec.encoding_table["37554"] = [228,73] let s:lib.Codec.encoding_table["37555"] = [228,74] let s:lib.Codec.encoding_table["37556"] = [228,75] let s:lib.Codec.encoding_table["37557"] = [228,76] let s:lib.Codec.encoding_table["37558"] = [228,77] let s:lib.Codec.encoding_table["37559"] = [228,78] let s:lib.Codec.encoding_table["37560"] = [228,79] let s:lib.Codec.encoding_table["37561"] = [228,80] let s:lib.Codec.encoding_table["37562"] = [228,81] let s:lib.Codec.encoding_table["37563"] = [228,82] let s:lib.Codec.encoding_table["37564"] = [228,83] let s:lib.Codec.encoding_table["37565"] = [228,84] let s:lib.Codec.encoding_table["37566"] = [228,85] let s:lib.Codec.encoding_table["37567"] = [228,86] let s:lib.Codec.encoding_table["37568"] = [228,87] let s:lib.Codec.encoding_table["37569"] = [228,88] let s:lib.Codec.encoding_table["37570"] = [228,89] let s:lib.Codec.encoding_table["37571"] = [228,90] let s:lib.Codec.encoding_table["37572"] = [228,91] let s:lib.Codec.encoding_table["37573"] = [228,92] let s:lib.Codec.encoding_table["37574"] = [228,93] let s:lib.Codec.encoding_table["37575"] = [228,94] let s:lib.Codec.encoding_table["37577"] = [228,95] let s:lib.Codec.encoding_table["37578"] = [228,96] let s:lib.Codec.encoding_table["37579"] = [228,97] let s:lib.Codec.encoding_table["37580"] = [228,98] let s:lib.Codec.encoding_table["37581"] = [228,99] let s:lib.Codec.encoding_table["37582"] = [228,100] let s:lib.Codec.encoding_table["37583"] = [228,101] let s:lib.Codec.encoding_table["37584"] = [228,102] let s:lib.Codec.encoding_table["37585"] = [228,103] let s:lib.Codec.encoding_table["37586"] = [228,104] let s:lib.Codec.encoding_table["37587"] = [228,105] let s:lib.Codec.encoding_table["37588"] = [228,106] let s:lib.Codec.encoding_table["37589"] = [228,107] let s:lib.Codec.encoding_table["37590"] = [228,108] let s:lib.Codec.encoding_table["37591"] = [228,109] let s:lib.Codec.encoding_table["37592"] = [228,110] let s:lib.Codec.encoding_table["37593"] = [228,111] let s:lib.Codec.encoding_table["37594"] = [228,112] let s:lib.Codec.encoding_table["37595"] = [228,113] let s:lib.Codec.encoding_table["37596"] = [228,114] let s:lib.Codec.encoding_table["37597"] = [228,115] let s:lib.Codec.encoding_table["37598"] = [228,116] let s:lib.Codec.encoding_table["37599"] = [228,117] let s:lib.Codec.encoding_table["37600"] = [228,118] let s:lib.Codec.encoding_table["37601"] = [228,119] let s:lib.Codec.encoding_table["37602"] = [228,120] let s:lib.Codec.encoding_table["37603"] = [228,121] let s:lib.Codec.encoding_table["37604"] = [228,122] let s:lib.Codec.encoding_table["37605"] = [228,123] let s:lib.Codec.encoding_table["37606"] = [228,124] let s:lib.Codec.encoding_table["37607"] = [228,125] let s:lib.Codec.encoding_table["37608"] = [228,126] let s:lib.Codec.encoding_table["37609"] = [228,128] let s:lib.Codec.encoding_table["37610"] = [228,129] let s:lib.Codec.encoding_table["37611"] = [228,130] let s:lib.Codec.encoding_table["37612"] = [228,131] let s:lib.Codec.encoding_table["37613"] = [228,132] let s:lib.Codec.encoding_table["37614"] = [228,133] let s:lib.Codec.encoding_table["37615"] = [228,134] let s:lib.Codec.encoding_table["37616"] = [228,135] let s:lib.Codec.encoding_table["37617"] = [228,136] let s:lib.Codec.encoding_table["37618"] = [228,137] let s:lib.Codec.encoding_table["37619"] = [228,138] let s:lib.Codec.encoding_table["37620"] = [228,139] let s:lib.Codec.encoding_table["37621"] = [228,140] let s:lib.Codec.encoding_table["37622"] = [228,141] let s:lib.Codec.encoding_table["37623"] = [228,142] let s:lib.Codec.encoding_table["37624"] = [228,143] let s:lib.Codec.encoding_table["37625"] = [228,144] let s:lib.Codec.encoding_table["37626"] = [228,145] let s:lib.Codec.encoding_table["37627"] = [228,146] let s:lib.Codec.encoding_table["37628"] = [228,147] let s:lib.Codec.encoding_table["37629"] = [228,148] let s:lib.Codec.encoding_table["37630"] = [228,149] let s:lib.Codec.encoding_table["37631"] = [228,150] let s:lib.Codec.encoding_table["37632"] = [228,151] let s:lib.Codec.encoding_table["37633"] = [228,152] let s:lib.Codec.encoding_table["37634"] = [228,153] let s:lib.Codec.encoding_table["37635"] = [228,154] let s:lib.Codec.encoding_table["37636"] = [228,155] let s:lib.Codec.encoding_table["37637"] = [228,156] let s:lib.Codec.encoding_table["37638"] = [228,157] let s:lib.Codec.encoding_table["37639"] = [228,158] let s:lib.Codec.encoding_table["37640"] = [228,159] let s:lib.Codec.encoding_table["37641"] = [228,160] let s:lib.Codec.encoding_table["27961"] = [228,161] let s:lib.Codec.encoding_table["27943"] = [228,162] let s:lib.Codec.encoding_table["27916"] = [228,163] let s:lib.Codec.encoding_table["27971"] = [228,164] let s:lib.Codec.encoding_table["27976"] = [228,165] let s:lib.Codec.encoding_table["27911"] = [228,166] let s:lib.Codec.encoding_table["27908"] = [228,167] let s:lib.Codec.encoding_table["27929"] = [228,168] let s:lib.Codec.encoding_table["27918"] = [228,169] let s:lib.Codec.encoding_table["27947"] = [228,170] let s:lib.Codec.encoding_table["27981"] = [228,171] let s:lib.Codec.encoding_table["27950"] = [228,172] let s:lib.Codec.encoding_table["27957"] = [228,173] let s:lib.Codec.encoding_table["27930"] = [228,174] let s:lib.Codec.encoding_table["27983"] = [228,175] let s:lib.Codec.encoding_table["27986"] = [228,176] let s:lib.Codec.encoding_table["27988"] = [228,177] let s:lib.Codec.encoding_table["27955"] = [228,178] let s:lib.Codec.encoding_table["28049"] = [228,179] let s:lib.Codec.encoding_table["28015"] = [228,180] let s:lib.Codec.encoding_table["28062"] = [228,181] let s:lib.Codec.encoding_table["28064"] = [228,182] let s:lib.Codec.encoding_table["27998"] = [228,183] let s:lib.Codec.encoding_table["28051"] = [228,184] let s:lib.Codec.encoding_table["28052"] = [228,185] let s:lib.Codec.encoding_table["27996"] = [228,186] let s:lib.Codec.encoding_table["28000"] = [228,187] let s:lib.Codec.encoding_table["28028"] = [228,188] let s:lib.Codec.encoding_table["28003"] = [228,189] let s:lib.Codec.encoding_table["28186"] = [228,190] let s:lib.Codec.encoding_table["28103"] = [228,191] let s:lib.Codec.encoding_table["28101"] = [228,192] let s:lib.Codec.encoding_table["28126"] = [228,193] let s:lib.Codec.encoding_table["28174"] = [228,194] let s:lib.Codec.encoding_table["28095"] = [228,195] let s:lib.Codec.encoding_table["28128"] = [228,196] let s:lib.Codec.encoding_table["28177"] = [228,197] let s:lib.Codec.encoding_table["28134"] = [228,198] let s:lib.Codec.encoding_table["28125"] = [228,199] let s:lib.Codec.encoding_table["28121"] = [228,200] let s:lib.Codec.encoding_table["28182"] = [228,201] let s:lib.Codec.encoding_table["28075"] = [228,202] let s:lib.Codec.encoding_table["28172"] = [228,203] let s:lib.Codec.encoding_table["28078"] = [228,204] let s:lib.Codec.encoding_table["28203"] = [228,205] let s:lib.Codec.encoding_table["28270"] = [228,206] let s:lib.Codec.encoding_table["28238"] = [228,207] let s:lib.Codec.encoding_table["28267"] = [228,208] let s:lib.Codec.encoding_table["28338"] = [228,209] let s:lib.Codec.encoding_table["28255"] = [228,210] let s:lib.Codec.encoding_table["28294"] = [228,211] let s:lib.Codec.encoding_table["28243"] = [228,212] let s:lib.Codec.encoding_table["28244"] = [228,213] let s:lib.Codec.encoding_table["28210"] = [228,214] let s:lib.Codec.encoding_table["28197"] = [228,215] let s:lib.Codec.encoding_table["28228"] = [228,216] let s:lib.Codec.encoding_table["28383"] = [228,217] let s:lib.Codec.encoding_table["28337"] = [228,218] let s:lib.Codec.encoding_table["28312"] = [228,219] let s:lib.Codec.encoding_table["28384"] = [228,220] let s:lib.Codec.encoding_table["28461"] = [228,221] let s:lib.Codec.encoding_table["28386"] = [228,222] let s:lib.Codec.encoding_table["28325"] = [228,223] let s:lib.Codec.encoding_table["28327"] = [228,224] let s:lib.Codec.encoding_table["28349"] = [228,225] let s:lib.Codec.encoding_table["28347"] = [228,226] let s:lib.Codec.encoding_table["28343"] = [228,227] let s:lib.Codec.encoding_table["28375"] = [228,228] let s:lib.Codec.encoding_table["28340"] = [228,229] let s:lib.Codec.encoding_table["28367"] = [228,230] let s:lib.Codec.encoding_table["28303"] = [228,231] let s:lib.Codec.encoding_table["28354"] = [228,232] let s:lib.Codec.encoding_table["28319"] = [228,233] let s:lib.Codec.encoding_table["28514"] = [228,234] let s:lib.Codec.encoding_table["28486"] = [228,235] let s:lib.Codec.encoding_table["28487"] = [228,236] let s:lib.Codec.encoding_table["28452"] = [228,237] let s:lib.Codec.encoding_table["28437"] = [228,238] let s:lib.Codec.encoding_table["28409"] = [228,239] let s:lib.Codec.encoding_table["28463"] = [228,240] let s:lib.Codec.encoding_table["28470"] = [228,241] let s:lib.Codec.encoding_table["28491"] = [228,242] let s:lib.Codec.encoding_table["28532"] = [228,243] let s:lib.Codec.encoding_table["28458"] = [228,244] let s:lib.Codec.encoding_table["28425"] = [228,245] let s:lib.Codec.encoding_table["28457"] = [228,246] let s:lib.Codec.encoding_table["28553"] = [228,247] let s:lib.Codec.encoding_table["28557"] = [228,248] let s:lib.Codec.encoding_table["28556"] = [228,249] let s:lib.Codec.encoding_table["28536"] = [228,250] let s:lib.Codec.encoding_table["28530"] = [228,251] let s:lib.Codec.encoding_table["28540"] = [228,252] let s:lib.Codec.encoding_table["28538"] = [228,253] let s:lib.Codec.encoding_table["28625"] = [228,254] let s:lib.Codec.encoding_table["37642"] = [229,64] let s:lib.Codec.encoding_table["37643"] = [229,65] let s:lib.Codec.encoding_table["37644"] = [229,66] let s:lib.Codec.encoding_table["37645"] = [229,67] let s:lib.Codec.encoding_table["37646"] = [229,68] let s:lib.Codec.encoding_table["37647"] = [229,69] let s:lib.Codec.encoding_table["37648"] = [229,70] let s:lib.Codec.encoding_table["37649"] = [229,71] let s:lib.Codec.encoding_table["37650"] = [229,72] let s:lib.Codec.encoding_table["37651"] = [229,73] let s:lib.Codec.encoding_table["37652"] = [229,74] let s:lib.Codec.encoding_table["37653"] = [229,75] let s:lib.Codec.encoding_table["37654"] = [229,76] let s:lib.Codec.encoding_table["37655"] = [229,77] let s:lib.Codec.encoding_table["37656"] = [229,78] let s:lib.Codec.encoding_table["37657"] = [229,79] let s:lib.Codec.encoding_table["37658"] = [229,80] let s:lib.Codec.encoding_table["37659"] = [229,81] let s:lib.Codec.encoding_table["37660"] = [229,82] let s:lib.Codec.encoding_table["37661"] = [229,83] let s:lib.Codec.encoding_table["37662"] = [229,84] let s:lib.Codec.encoding_table["37663"] = [229,85] let s:lib.Codec.encoding_table["37664"] = [229,86] let s:lib.Codec.encoding_table["37665"] = [229,87] let s:lib.Codec.encoding_table["37666"] = [229,88] let s:lib.Codec.encoding_table["37667"] = [229,89] let s:lib.Codec.encoding_table["37668"] = [229,90] let s:lib.Codec.encoding_table["37669"] = [229,91] let s:lib.Codec.encoding_table["37670"] = [229,92] let s:lib.Codec.encoding_table["37671"] = [229,93] let s:lib.Codec.encoding_table["37672"] = [229,94] let s:lib.Codec.encoding_table["37673"] = [229,95] let s:lib.Codec.encoding_table["37674"] = [229,96] let s:lib.Codec.encoding_table["37675"] = [229,97] let s:lib.Codec.encoding_table["37676"] = [229,98] let s:lib.Codec.encoding_table["37677"] = [229,99] let s:lib.Codec.encoding_table["37678"] = [229,100] let s:lib.Codec.encoding_table["37679"] = [229,101] let s:lib.Codec.encoding_table["37680"] = [229,102] let s:lib.Codec.encoding_table["37681"] = [229,103] let s:lib.Codec.encoding_table["37682"] = [229,104] let s:lib.Codec.encoding_table["37683"] = [229,105] let s:lib.Codec.encoding_table["37684"] = [229,106] let s:lib.Codec.encoding_table["37685"] = [229,107] let s:lib.Codec.encoding_table["37686"] = [229,108] let s:lib.Codec.encoding_table["37687"] = [229,109] let s:lib.Codec.encoding_table["37688"] = [229,110] let s:lib.Codec.encoding_table["37689"] = [229,111] let s:lib.Codec.encoding_table["37690"] = [229,112] let s:lib.Codec.encoding_table["37691"] = [229,113] let s:lib.Codec.encoding_table["37692"] = [229,114] let s:lib.Codec.encoding_table["37693"] = [229,115] let s:lib.Codec.encoding_table["37695"] = [229,116] let s:lib.Codec.encoding_table["37696"] = [229,117] let s:lib.Codec.encoding_table["37697"] = [229,118] let s:lib.Codec.encoding_table["37698"] = [229,119] let s:lib.Codec.encoding_table["37699"] = [229,120] let s:lib.Codec.encoding_table["37700"] = [229,121] let s:lib.Codec.encoding_table["37701"] = [229,122] let s:lib.Codec.encoding_table["37702"] = [229,123] let s:lib.Codec.encoding_table["37703"] = [229,124] let s:lib.Codec.encoding_table["37704"] = [229,125] let s:lib.Codec.encoding_table["37705"] = [229,126] let s:lib.Codec.encoding_table["37706"] = [229,128] let s:lib.Codec.encoding_table["37707"] = [229,129] let s:lib.Codec.encoding_table["37708"] = [229,130] let s:lib.Codec.encoding_table["37709"] = [229,131] let s:lib.Codec.encoding_table["37710"] = [229,132] let s:lib.Codec.encoding_table["37711"] = [229,133] let s:lib.Codec.encoding_table["37712"] = [229,134] let s:lib.Codec.encoding_table["37713"] = [229,135] let s:lib.Codec.encoding_table["37714"] = [229,136] let s:lib.Codec.encoding_table["37715"] = [229,137] let s:lib.Codec.encoding_table["37716"] = [229,138] let s:lib.Codec.encoding_table["37717"] = [229,139] let s:lib.Codec.encoding_table["37718"] = [229,140] let s:lib.Codec.encoding_table["37719"] = [229,141] let s:lib.Codec.encoding_table["37720"] = [229,142] let s:lib.Codec.encoding_table["37721"] = [229,143] let s:lib.Codec.encoding_table["37722"] = [229,144] let s:lib.Codec.encoding_table["37723"] = [229,145] let s:lib.Codec.encoding_table["37724"] = [229,146] let s:lib.Codec.encoding_table["37725"] = [229,147] let s:lib.Codec.encoding_table["37726"] = [229,148] let s:lib.Codec.encoding_table["37727"] = [229,149] let s:lib.Codec.encoding_table["37728"] = [229,150] let s:lib.Codec.encoding_table["37729"] = [229,151] let s:lib.Codec.encoding_table["37730"] = [229,152] let s:lib.Codec.encoding_table["37731"] = [229,153] let s:lib.Codec.encoding_table["37732"] = [229,154] let s:lib.Codec.encoding_table["37733"] = [229,155] let s:lib.Codec.encoding_table["37734"] = [229,156] let s:lib.Codec.encoding_table["37735"] = [229,157] let s:lib.Codec.encoding_table["37736"] = [229,158] let s:lib.Codec.encoding_table["37737"] = [229,159] let s:lib.Codec.encoding_table["37739"] = [229,160] let s:lib.Codec.encoding_table["28617"] = [229,161] let s:lib.Codec.encoding_table["28583"] = [229,162] let s:lib.Codec.encoding_table["28601"] = [229,163] let s:lib.Codec.encoding_table["28598"] = [229,164] let s:lib.Codec.encoding_table["28610"] = [229,165] let s:lib.Codec.encoding_table["28641"] = [229,166] let s:lib.Codec.encoding_table["28654"] = [229,167] let s:lib.Codec.encoding_table["28638"] = [229,168] let s:lib.Codec.encoding_table["28640"] = [229,169] let s:lib.Codec.encoding_table["28655"] = [229,170] let s:lib.Codec.encoding_table["28698"] = [229,171] let s:lib.Codec.encoding_table["28707"] = [229,172] let s:lib.Codec.encoding_table["28699"] = [229,173] let s:lib.Codec.encoding_table["28729"] = [229,174] let s:lib.Codec.encoding_table["28725"] = [229,175] let s:lib.Codec.encoding_table["28751"] = [229,176] let s:lib.Codec.encoding_table["28766"] = [229,177] let s:lib.Codec.encoding_table["23424"] = [229,178] let s:lib.Codec.encoding_table["23428"] = [229,179] let s:lib.Codec.encoding_table["23445"] = [229,180] let s:lib.Codec.encoding_table["23443"] = [229,181] let s:lib.Codec.encoding_table["23461"] = [229,182] let s:lib.Codec.encoding_table["23480"] = [229,183] let s:lib.Codec.encoding_table["29999"] = [229,184] let s:lib.Codec.encoding_table["39582"] = [229,185] let s:lib.Codec.encoding_table["25652"] = [229,186] let s:lib.Codec.encoding_table["23524"] = [229,187] let s:lib.Codec.encoding_table["23534"] = [229,188] let s:lib.Codec.encoding_table["35120"] = [229,189] let s:lib.Codec.encoding_table["23536"] = [229,190] let s:lib.Codec.encoding_table["36423"] = [229,191] let s:lib.Codec.encoding_table["35591"] = [229,192] let s:lib.Codec.encoding_table["36790"] = [229,193] let s:lib.Codec.encoding_table["36819"] = [229,194] let s:lib.Codec.encoding_table["36821"] = [229,195] let s:lib.Codec.encoding_table["36837"] = [229,196] let s:lib.Codec.encoding_table["36846"] = [229,197] let s:lib.Codec.encoding_table["36836"] = [229,198] let s:lib.Codec.encoding_table["36841"] = [229,199] let s:lib.Codec.encoding_table["36838"] = [229,200] let s:lib.Codec.encoding_table["36851"] = [229,201] let s:lib.Codec.encoding_table["36840"] = [229,202] let s:lib.Codec.encoding_table["36869"] = [229,203] let s:lib.Codec.encoding_table["36868"] = [229,204] let s:lib.Codec.encoding_table["36875"] = [229,205] let s:lib.Codec.encoding_table["36902"] = [229,206] let s:lib.Codec.encoding_table["36881"] = [229,207] let s:lib.Codec.encoding_table["36877"] = [229,208] let s:lib.Codec.encoding_table["36886"] = [229,209] let s:lib.Codec.encoding_table["36897"] = [229,210] let s:lib.Codec.encoding_table["36917"] = [229,211] let s:lib.Codec.encoding_table["36918"] = [229,212] let s:lib.Codec.encoding_table["36909"] = [229,213] let s:lib.Codec.encoding_table["36911"] = [229,214] let s:lib.Codec.encoding_table["36932"] = [229,215] let s:lib.Codec.encoding_table["36945"] = [229,216] let s:lib.Codec.encoding_table["36946"] = [229,217] let s:lib.Codec.encoding_table["36944"] = [229,218] let s:lib.Codec.encoding_table["36968"] = [229,219] let s:lib.Codec.encoding_table["36952"] = [229,220] let s:lib.Codec.encoding_table["36962"] = [229,221] let s:lib.Codec.encoding_table["36955"] = [229,222] let s:lib.Codec.encoding_table["26297"] = [229,223] let s:lib.Codec.encoding_table["36980"] = [229,224] let s:lib.Codec.encoding_table["36989"] = [229,225] let s:lib.Codec.encoding_table["36994"] = [229,226] let s:lib.Codec.encoding_table["37000"] = [229,227] let s:lib.Codec.encoding_table["36995"] = [229,228] let s:lib.Codec.encoding_table["37003"] = [229,229] let s:lib.Codec.encoding_table["24400"] = [229,230] let s:lib.Codec.encoding_table["24407"] = [229,231] let s:lib.Codec.encoding_table["24406"] = [229,232] let s:lib.Codec.encoding_table["24408"] = [229,233] let s:lib.Codec.encoding_table["23611"] = [229,234] let s:lib.Codec.encoding_table["21675"] = [229,235] let s:lib.Codec.encoding_table["23632"] = [229,236] let s:lib.Codec.encoding_table["23641"] = [229,237] let s:lib.Codec.encoding_table["23409"] = [229,238] let s:lib.Codec.encoding_table["23651"] = [229,239] let s:lib.Codec.encoding_table["23654"] = [229,240] let s:lib.Codec.encoding_table["32700"] = [229,241] let s:lib.Codec.encoding_table["24362"] = [229,242] let s:lib.Codec.encoding_table["24361"] = [229,243] let s:lib.Codec.encoding_table["24365"] = [229,244] let s:lib.Codec.encoding_table["33396"] = [229,245] let s:lib.Codec.encoding_table["24380"] = [229,246] let s:lib.Codec.encoding_table["39739"] = [229,247] let s:lib.Codec.encoding_table["23662"] = [229,248] let s:lib.Codec.encoding_table["22913"] = [229,249] let s:lib.Codec.encoding_table["22915"] = [229,250] let s:lib.Codec.encoding_table["22925"] = [229,251] let s:lib.Codec.encoding_table["22953"] = [229,252] let s:lib.Codec.encoding_table["22954"] = [229,253] let s:lib.Codec.encoding_table["22947"] = [229,254] let s:lib.Codec.encoding_table["37740"] = [230,64] let s:lib.Codec.encoding_table["37741"] = [230,65] let s:lib.Codec.encoding_table["37742"] = [230,66] let s:lib.Codec.encoding_table["37743"] = [230,67] let s:lib.Codec.encoding_table["37744"] = [230,68] let s:lib.Codec.encoding_table["37745"] = [230,69] let s:lib.Codec.encoding_table["37746"] = [230,70] let s:lib.Codec.encoding_table["37747"] = [230,71] let s:lib.Codec.encoding_table["37748"] = [230,72] let s:lib.Codec.encoding_table["37749"] = [230,73] let s:lib.Codec.encoding_table["37750"] = [230,74] let s:lib.Codec.encoding_table["37751"] = [230,75] let s:lib.Codec.encoding_table["37752"] = [230,76] let s:lib.Codec.encoding_table["37753"] = [230,77] let s:lib.Codec.encoding_table["37754"] = [230,78] let s:lib.Codec.encoding_table["37755"] = [230,79] let s:lib.Codec.encoding_table["37756"] = [230,80] let s:lib.Codec.encoding_table["37757"] = [230,81] let s:lib.Codec.encoding_table["37758"] = [230,82] let s:lib.Codec.encoding_table["37759"] = [230,83] let s:lib.Codec.encoding_table["37760"] = [230,84] let s:lib.Codec.encoding_table["37761"] = [230,85] let s:lib.Codec.encoding_table["37762"] = [230,86] let s:lib.Codec.encoding_table["37763"] = [230,87] let s:lib.Codec.encoding_table["37764"] = [230,88] let s:lib.Codec.encoding_table["37765"] = [230,89] let s:lib.Codec.encoding_table["37766"] = [230,90] let s:lib.Codec.encoding_table["37767"] = [230,91] let s:lib.Codec.encoding_table["37768"] = [230,92] let s:lib.Codec.encoding_table["37769"] = [230,93] let s:lib.Codec.encoding_table["37770"] = [230,94] let s:lib.Codec.encoding_table["37771"] = [230,95] let s:lib.Codec.encoding_table["37772"] = [230,96] let s:lib.Codec.encoding_table["37773"] = [230,97] let s:lib.Codec.encoding_table["37774"] = [230,98] let s:lib.Codec.encoding_table["37776"] = [230,99] let s:lib.Codec.encoding_table["37777"] = [230,100] let s:lib.Codec.encoding_table["37778"] = [230,101] let s:lib.Codec.encoding_table["37779"] = [230,102] let s:lib.Codec.encoding_table["37780"] = [230,103] let s:lib.Codec.encoding_table["37781"] = [230,104] let s:lib.Codec.encoding_table["37782"] = [230,105] let s:lib.Codec.encoding_table["37783"] = [230,106] let s:lib.Codec.encoding_table["37784"] = [230,107] let s:lib.Codec.encoding_table["37785"] = [230,108] let s:lib.Codec.encoding_table["37786"] = [230,109] let s:lib.Codec.encoding_table["37787"] = [230,110] let s:lib.Codec.encoding_table["37788"] = [230,111] let s:lib.Codec.encoding_table["37789"] = [230,112] let s:lib.Codec.encoding_table["37790"] = [230,113] let s:lib.Codec.encoding_table["37791"] = [230,114] let s:lib.Codec.encoding_table["37792"] = [230,115] let s:lib.Codec.encoding_table["37793"] = [230,116] let s:lib.Codec.encoding_table["37794"] = [230,117] let s:lib.Codec.encoding_table["37795"] = [230,118] let s:lib.Codec.encoding_table["37796"] = [230,119] let s:lib.Codec.encoding_table["37797"] = [230,120] let s:lib.Codec.encoding_table["37798"] = [230,121] let s:lib.Codec.encoding_table["37799"] = [230,122] let s:lib.Codec.encoding_table["37800"] = [230,123] let s:lib.Codec.encoding_table["37801"] = [230,124] let s:lib.Codec.encoding_table["37802"] = [230,125] let s:lib.Codec.encoding_table["37803"] = [230,126] let s:lib.Codec.encoding_table["37804"] = [230,128] let s:lib.Codec.encoding_table["37805"] = [230,129] let s:lib.Codec.encoding_table["37806"] = [230,130] let s:lib.Codec.encoding_table["37807"] = [230,131] let s:lib.Codec.encoding_table["37808"] = [230,132] let s:lib.Codec.encoding_table["37809"] = [230,133] let s:lib.Codec.encoding_table["37810"] = [230,134] let s:lib.Codec.encoding_table["37811"] = [230,135] let s:lib.Codec.encoding_table["37812"] = [230,136] let s:lib.Codec.encoding_table["37813"] = [230,137] let s:lib.Codec.encoding_table["37814"] = [230,138] let s:lib.Codec.encoding_table["37815"] = [230,139] let s:lib.Codec.encoding_table["37816"] = [230,140] let s:lib.Codec.encoding_table["37817"] = [230,141] let s:lib.Codec.encoding_table["37818"] = [230,142] let s:lib.Codec.encoding_table["37819"] = [230,143] let s:lib.Codec.encoding_table["37820"] = [230,144] let s:lib.Codec.encoding_table["37821"] = [230,145] let s:lib.Codec.encoding_table["37822"] = [230,146] let s:lib.Codec.encoding_table["37823"] = [230,147] let s:lib.Codec.encoding_table["37824"] = [230,148] let s:lib.Codec.encoding_table["37825"] = [230,149] let s:lib.Codec.encoding_table["37826"] = [230,150] let s:lib.Codec.encoding_table["37827"] = [230,151] let s:lib.Codec.encoding_table["37828"] = [230,152] let s:lib.Codec.encoding_table["37829"] = [230,153] let s:lib.Codec.encoding_table["37830"] = [230,154] let s:lib.Codec.encoding_table["37831"] = [230,155] let s:lib.Codec.encoding_table["37832"] = [230,156] let s:lib.Codec.encoding_table["37833"] = [230,157] let s:lib.Codec.encoding_table["37835"] = [230,158] let s:lib.Codec.encoding_table["37836"] = [230,159] let s:lib.Codec.encoding_table["37837"] = [230,160] let s:lib.Codec.encoding_table["22935"] = [230,161] let s:lib.Codec.encoding_table["22986"] = [230,162] let s:lib.Codec.encoding_table["22955"] = [230,163] let s:lib.Codec.encoding_table["22942"] = [230,164] let s:lib.Codec.encoding_table["22948"] = [230,165] let s:lib.Codec.encoding_table["22994"] = [230,166] let s:lib.Codec.encoding_table["22962"] = [230,167] let s:lib.Codec.encoding_table["22959"] = [230,168] let s:lib.Codec.encoding_table["22999"] = [230,169] let s:lib.Codec.encoding_table["22974"] = [230,170] let s:lib.Codec.encoding_table["23045"] = [230,171] let s:lib.Codec.encoding_table["23046"] = [230,172] let s:lib.Codec.encoding_table["23005"] = [230,173] let s:lib.Codec.encoding_table["23048"] = [230,174] let s:lib.Codec.encoding_table["23011"] = [230,175] let s:lib.Codec.encoding_table["23000"] = [230,176] let s:lib.Codec.encoding_table["23033"] = [230,177] let s:lib.Codec.encoding_table["23052"] = [230,178] let s:lib.Codec.encoding_table["23049"] = [230,179] let s:lib.Codec.encoding_table["23090"] = [230,180] let s:lib.Codec.encoding_table["23092"] = [230,181] let s:lib.Codec.encoding_table["23057"] = [230,182] let s:lib.Codec.encoding_table["23075"] = [230,183] let s:lib.Codec.encoding_table["23059"] = [230,184] let s:lib.Codec.encoding_table["23104"] = [230,185] let s:lib.Codec.encoding_table["23143"] = [230,186] let s:lib.Codec.encoding_table["23114"] = [230,187] let s:lib.Codec.encoding_table["23125"] = [230,188] let s:lib.Codec.encoding_table["23100"] = [230,189] let s:lib.Codec.encoding_table["23138"] = [230,190] let s:lib.Codec.encoding_table["23157"] = [230,191] let s:lib.Codec.encoding_table["33004"] = [230,192] let s:lib.Codec.encoding_table["23210"] = [230,193] let s:lib.Codec.encoding_table["23195"] = [230,194] let s:lib.Codec.encoding_table["23159"] = [230,195] let s:lib.Codec.encoding_table["23162"] = [230,196] let s:lib.Codec.encoding_table["23230"] = [230,197] let s:lib.Codec.encoding_table["23275"] = [230,198] let s:lib.Codec.encoding_table["23218"] = [230,199] let s:lib.Codec.encoding_table["23250"] = [230,200] let s:lib.Codec.encoding_table["23252"] = [230,201] let s:lib.Codec.encoding_table["23224"] = [230,202] let s:lib.Codec.encoding_table["23264"] = [230,203] let s:lib.Codec.encoding_table["23267"] = [230,204] let s:lib.Codec.encoding_table["23281"] = [230,205] let s:lib.Codec.encoding_table["23254"] = [230,206] let s:lib.Codec.encoding_table["23270"] = [230,207] let s:lib.Codec.encoding_table["23256"] = [230,208] let s:lib.Codec.encoding_table["23260"] = [230,209] let s:lib.Codec.encoding_table["23305"] = [230,210] let s:lib.Codec.encoding_table["23319"] = [230,211] let s:lib.Codec.encoding_table["23318"] = [230,212] let s:lib.Codec.encoding_table["23346"] = [230,213] let s:lib.Codec.encoding_table["23351"] = [230,214] let s:lib.Codec.encoding_table["23360"] = [230,215] let s:lib.Codec.encoding_table["23573"] = [230,216] let s:lib.Codec.encoding_table["23580"] = [230,217] let s:lib.Codec.encoding_table["23386"] = [230,218] let s:lib.Codec.encoding_table["23397"] = [230,219] let s:lib.Codec.encoding_table["23411"] = [230,220] let s:lib.Codec.encoding_table["23377"] = [230,221] let s:lib.Codec.encoding_table["23379"] = [230,222] let s:lib.Codec.encoding_table["23394"] = [230,223] let s:lib.Codec.encoding_table["39541"] = [230,224] let s:lib.Codec.encoding_table["39543"] = [230,225] let s:lib.Codec.encoding_table["39544"] = [230,226] let s:lib.Codec.encoding_table["39546"] = [230,227] let s:lib.Codec.encoding_table["39551"] = [230,228] let s:lib.Codec.encoding_table["39549"] = [230,229] let s:lib.Codec.encoding_table["39552"] = [230,230] let s:lib.Codec.encoding_table["39553"] = [230,231] let s:lib.Codec.encoding_table["39557"] = [230,232] let s:lib.Codec.encoding_table["39560"] = [230,233] let s:lib.Codec.encoding_table["39562"] = [230,234] let s:lib.Codec.encoding_table["39568"] = [230,235] let s:lib.Codec.encoding_table["39570"] = [230,236] let s:lib.Codec.encoding_table["39571"] = [230,237] let s:lib.Codec.encoding_table["39574"] = [230,238] let s:lib.Codec.encoding_table["39576"] = [230,239] let s:lib.Codec.encoding_table["39579"] = [230,240] let s:lib.Codec.encoding_table["39580"] = [230,241] let s:lib.Codec.encoding_table["39581"] = [230,242] let s:lib.Codec.encoding_table["39583"] = [230,243] let s:lib.Codec.encoding_table["39584"] = [230,244] let s:lib.Codec.encoding_table["39586"] = [230,245] let s:lib.Codec.encoding_table["39587"] = [230,246] let s:lib.Codec.encoding_table["39589"] = [230,247] let s:lib.Codec.encoding_table["39591"] = [230,248] let s:lib.Codec.encoding_table["32415"] = [230,249] let s:lib.Codec.encoding_table["32417"] = [230,250] let s:lib.Codec.encoding_table["32419"] = [230,251] let s:lib.Codec.encoding_table["32421"] = [230,252] let s:lib.Codec.encoding_table["32424"] = [230,253] let s:lib.Codec.encoding_table["32425"] = [230,254] let s:lib.Codec.encoding_table["37838"] = [231,64] let s:lib.Codec.encoding_table["37839"] = [231,65] let s:lib.Codec.encoding_table["37840"] = [231,66] let s:lib.Codec.encoding_table["37841"] = [231,67] let s:lib.Codec.encoding_table["37842"] = [231,68] let s:lib.Codec.encoding_table["37843"] = [231,69] let s:lib.Codec.encoding_table["37844"] = [231,70] let s:lib.Codec.encoding_table["37845"] = [231,71] let s:lib.Codec.encoding_table["37847"] = [231,72] let s:lib.Codec.encoding_table["37848"] = [231,73] let s:lib.Codec.encoding_table["37849"] = [231,74] let s:lib.Codec.encoding_table["37850"] = [231,75] let s:lib.Codec.encoding_table["37851"] = [231,76] let s:lib.Codec.encoding_table["37852"] = [231,77] let s:lib.Codec.encoding_table["37853"] = [231,78] let s:lib.Codec.encoding_table["37854"] = [231,79] let s:lib.Codec.encoding_table["37855"] = [231,80] let s:lib.Codec.encoding_table["37856"] = [231,81] let s:lib.Codec.encoding_table["37857"] = [231,82] let s:lib.Codec.encoding_table["37858"] = [231,83] let s:lib.Codec.encoding_table["37859"] = [231,84] let s:lib.Codec.encoding_table["37860"] = [231,85] let s:lib.Codec.encoding_table["37861"] = [231,86] let s:lib.Codec.encoding_table["37862"] = [231,87] let s:lib.Codec.encoding_table["37863"] = [231,88] let s:lib.Codec.encoding_table["37864"] = [231,89] let s:lib.Codec.encoding_table["37865"] = [231,90] let s:lib.Codec.encoding_table["37866"] = [231,91] let s:lib.Codec.encoding_table["37867"] = [231,92] let s:lib.Codec.encoding_table["37868"] = [231,93] let s:lib.Codec.encoding_table["37869"] = [231,94] let s:lib.Codec.encoding_table["37870"] = [231,95] let s:lib.Codec.encoding_table["37871"] = [231,96] let s:lib.Codec.encoding_table["37872"] = [231,97] let s:lib.Codec.encoding_table["37873"] = [231,98] let s:lib.Codec.encoding_table["37874"] = [231,99] let s:lib.Codec.encoding_table["37875"] = [231,100] let s:lib.Codec.encoding_table["37876"] = [231,101] let s:lib.Codec.encoding_table["37877"] = [231,102] let s:lib.Codec.encoding_table["37878"] = [231,103] let s:lib.Codec.encoding_table["37879"] = [231,104] let s:lib.Codec.encoding_table["37880"] = [231,105] let s:lib.Codec.encoding_table["37881"] = [231,106] let s:lib.Codec.encoding_table["37882"] = [231,107] let s:lib.Codec.encoding_table["37883"] = [231,108] let s:lib.Codec.encoding_table["37884"] = [231,109] let s:lib.Codec.encoding_table["37885"] = [231,110] let s:lib.Codec.encoding_table["37886"] = [231,111] let s:lib.Codec.encoding_table["37887"] = [231,112] let s:lib.Codec.encoding_table["37888"] = [231,113] let s:lib.Codec.encoding_table["37889"] = [231,114] let s:lib.Codec.encoding_table["37890"] = [231,115] let s:lib.Codec.encoding_table["37891"] = [231,116] let s:lib.Codec.encoding_table["37892"] = [231,117] let s:lib.Codec.encoding_table["37893"] = [231,118] let s:lib.Codec.encoding_table["37894"] = [231,119] let s:lib.Codec.encoding_table["37895"] = [231,120] let s:lib.Codec.encoding_table["37896"] = [231,121] let s:lib.Codec.encoding_table["37897"] = [231,122] let s:lib.Codec.encoding_table["37898"] = [231,123] let s:lib.Codec.encoding_table["37899"] = [231,124] let s:lib.Codec.encoding_table["37900"] = [231,125] let s:lib.Codec.encoding_table["37901"] = [231,126] let s:lib.Codec.encoding_table["37902"] = [231,128] let s:lib.Codec.encoding_table["37903"] = [231,129] let s:lib.Codec.encoding_table["37904"] = [231,130] let s:lib.Codec.encoding_table["37905"] = [231,131] let s:lib.Codec.encoding_table["37906"] = [231,132] let s:lib.Codec.encoding_table["37907"] = [231,133] let s:lib.Codec.encoding_table["37908"] = [231,134] let s:lib.Codec.encoding_table["37909"] = [231,135] let s:lib.Codec.encoding_table["37910"] = [231,136] let s:lib.Codec.encoding_table["37911"] = [231,137] let s:lib.Codec.encoding_table["37912"] = [231,138] let s:lib.Codec.encoding_table["37913"] = [231,139] let s:lib.Codec.encoding_table["37914"] = [231,140] let s:lib.Codec.encoding_table["37915"] = [231,141] let s:lib.Codec.encoding_table["37916"] = [231,142] let s:lib.Codec.encoding_table["37917"] = [231,143] let s:lib.Codec.encoding_table["37918"] = [231,144] let s:lib.Codec.encoding_table["37919"] = [231,145] let s:lib.Codec.encoding_table["37920"] = [231,146] let s:lib.Codec.encoding_table["37921"] = [231,147] let s:lib.Codec.encoding_table["37922"] = [231,148] let s:lib.Codec.encoding_table["37923"] = [231,149] let s:lib.Codec.encoding_table["37924"] = [231,150] let s:lib.Codec.encoding_table["37925"] = [231,151] let s:lib.Codec.encoding_table["37926"] = [231,152] let s:lib.Codec.encoding_table["37927"] = [231,153] let s:lib.Codec.encoding_table["37928"] = [231,154] let s:lib.Codec.encoding_table["37929"] = [231,155] let s:lib.Codec.encoding_table["37930"] = [231,156] let s:lib.Codec.encoding_table["37931"] = [231,157] let s:lib.Codec.encoding_table["37932"] = [231,158] let s:lib.Codec.encoding_table["37933"] = [231,159] let s:lib.Codec.encoding_table["37934"] = [231,160] let s:lib.Codec.encoding_table["32429"] = [231,161] let s:lib.Codec.encoding_table["32432"] = [231,162] let s:lib.Codec.encoding_table["32446"] = [231,163] let s:lib.Codec.encoding_table["32448"] = [231,164] let s:lib.Codec.encoding_table["32449"] = [231,165] let s:lib.Codec.encoding_table["32450"] = [231,166] let s:lib.Codec.encoding_table["32457"] = [231,167] let s:lib.Codec.encoding_table["32459"] = [231,168] let s:lib.Codec.encoding_table["32460"] = [231,169] let s:lib.Codec.encoding_table["32464"] = [231,170] let s:lib.Codec.encoding_table["32468"] = [231,171] let s:lib.Codec.encoding_table["32471"] = [231,172] let s:lib.Codec.encoding_table["32475"] = [231,173] let s:lib.Codec.encoding_table["32480"] = [231,174] let s:lib.Codec.encoding_table["32481"] = [231,175] let s:lib.Codec.encoding_table["32488"] = [231,176] let s:lib.Codec.encoding_table["32491"] = [231,177] let s:lib.Codec.encoding_table["32494"] = [231,178] let s:lib.Codec.encoding_table["32495"] = [231,179] let s:lib.Codec.encoding_table["32497"] = [231,180] let s:lib.Codec.encoding_table["32498"] = [231,181] let s:lib.Codec.encoding_table["32525"] = [231,182] let s:lib.Codec.encoding_table["32502"] = [231,183] let s:lib.Codec.encoding_table["32506"] = [231,184] let s:lib.Codec.encoding_table["32507"] = [231,185] let s:lib.Codec.encoding_table["32510"] = [231,186] let s:lib.Codec.encoding_table["32513"] = [231,187] let s:lib.Codec.encoding_table["32514"] = [231,188] let s:lib.Codec.encoding_table["32515"] = [231,189] let s:lib.Codec.encoding_table["32519"] = [231,190] let s:lib.Codec.encoding_table["32520"] = [231,191] let s:lib.Codec.encoding_table["32523"] = [231,192] let s:lib.Codec.encoding_table["32524"] = [231,193] let s:lib.Codec.encoding_table["32527"] = [231,194] let s:lib.Codec.encoding_table["32529"] = [231,195] let s:lib.Codec.encoding_table["32530"] = [231,196] let s:lib.Codec.encoding_table["32535"] = [231,197] let s:lib.Codec.encoding_table["32537"] = [231,198] let s:lib.Codec.encoding_table["32540"] = [231,199] let s:lib.Codec.encoding_table["32539"] = [231,200] let s:lib.Codec.encoding_table["32543"] = [231,201] let s:lib.Codec.encoding_table["32545"] = [231,202] let s:lib.Codec.encoding_table["32546"] = [231,203] let s:lib.Codec.encoding_table["32547"] = [231,204] let s:lib.Codec.encoding_table["32548"] = [231,205] let s:lib.Codec.encoding_table["32549"] = [231,206] let s:lib.Codec.encoding_table["32550"] = [231,207] let s:lib.Codec.encoding_table["32551"] = [231,208] let s:lib.Codec.encoding_table["32554"] = [231,209] let s:lib.Codec.encoding_table["32555"] = [231,210] let s:lib.Codec.encoding_table["32556"] = [231,211] let s:lib.Codec.encoding_table["32557"] = [231,212] let s:lib.Codec.encoding_table["32559"] = [231,213] let s:lib.Codec.encoding_table["32560"] = [231,214] let s:lib.Codec.encoding_table["32561"] = [231,215] let s:lib.Codec.encoding_table["32562"] = [231,216] let s:lib.Codec.encoding_table["32563"] = [231,217] let s:lib.Codec.encoding_table["32565"] = [231,218] let s:lib.Codec.encoding_table["24186"] = [231,219] let s:lib.Codec.encoding_table["30079"] = [231,220] let s:lib.Codec.encoding_table["24027"] = [231,221] let s:lib.Codec.encoding_table["30014"] = [231,222] let s:lib.Codec.encoding_table["37013"] = [231,223] let s:lib.Codec.encoding_table["29582"] = [231,224] let s:lib.Codec.encoding_table["29585"] = [231,225] let s:lib.Codec.encoding_table["29614"] = [231,226] let s:lib.Codec.encoding_table["29602"] = [231,227] let s:lib.Codec.encoding_table["29599"] = [231,228] let s:lib.Codec.encoding_table["29647"] = [231,229] let s:lib.Codec.encoding_table["29634"] = [231,230] let s:lib.Codec.encoding_table["29649"] = [231,231] let s:lib.Codec.encoding_table["29623"] = [231,232] let s:lib.Codec.encoding_table["29619"] = [231,233] let s:lib.Codec.encoding_table["29632"] = [231,234] let s:lib.Codec.encoding_table["29641"] = [231,235] let s:lib.Codec.encoding_table["29640"] = [231,236] let s:lib.Codec.encoding_table["29669"] = [231,237] let s:lib.Codec.encoding_table["29657"] = [231,238] let s:lib.Codec.encoding_table["39036"] = [231,239] let s:lib.Codec.encoding_table["29706"] = [231,240] let s:lib.Codec.encoding_table["29673"] = [231,241] let s:lib.Codec.encoding_table["29671"] = [231,242] let s:lib.Codec.encoding_table["29662"] = [231,243] let s:lib.Codec.encoding_table["29626"] = [231,244] let s:lib.Codec.encoding_table["29682"] = [231,245] let s:lib.Codec.encoding_table["29711"] = [231,246] let s:lib.Codec.encoding_table["29738"] = [231,247] let s:lib.Codec.encoding_table["29787"] = [231,248] let s:lib.Codec.encoding_table["29734"] = [231,249] let s:lib.Codec.encoding_table["29733"] = [231,250] let s:lib.Codec.encoding_table["29736"] = [231,251] let s:lib.Codec.encoding_table["29744"] = [231,252] let s:lib.Codec.encoding_table["29742"] = [231,253] let s:lib.Codec.encoding_table["29740"] = [231,254] let s:lib.Codec.encoding_table["37935"] = [232,64] let s:lib.Codec.encoding_table["37936"] = [232,65] let s:lib.Codec.encoding_table["37937"] = [232,66] let s:lib.Codec.encoding_table["37938"] = [232,67] let s:lib.Codec.encoding_table["37939"] = [232,68] let s:lib.Codec.encoding_table["37940"] = [232,69] let s:lib.Codec.encoding_table["37941"] = [232,70] let s:lib.Codec.encoding_table["37942"] = [232,71] let s:lib.Codec.encoding_table["37943"] = [232,72] let s:lib.Codec.encoding_table["37944"] = [232,73] let s:lib.Codec.encoding_table["37945"] = [232,74] let s:lib.Codec.encoding_table["37946"] = [232,75] let s:lib.Codec.encoding_table["37947"] = [232,76] let s:lib.Codec.encoding_table["37948"] = [232,77] let s:lib.Codec.encoding_table["37949"] = [232,78] let s:lib.Codec.encoding_table["37951"] = [232,79] let s:lib.Codec.encoding_table["37952"] = [232,80] let s:lib.Codec.encoding_table["37953"] = [232,81] let s:lib.Codec.encoding_table["37954"] = [232,82] let s:lib.Codec.encoding_table["37955"] = [232,83] let s:lib.Codec.encoding_table["37956"] = [232,84] let s:lib.Codec.encoding_table["37957"] = [232,85] let s:lib.Codec.encoding_table["37958"] = [232,86] let s:lib.Codec.encoding_table["37959"] = [232,87] let s:lib.Codec.encoding_table["37960"] = [232,88] let s:lib.Codec.encoding_table["37961"] = [232,89] let s:lib.Codec.encoding_table["37962"] = [232,90] let s:lib.Codec.encoding_table["37963"] = [232,91] let s:lib.Codec.encoding_table["37964"] = [232,92] let s:lib.Codec.encoding_table["37965"] = [232,93] let s:lib.Codec.encoding_table["37966"] = [232,94] let s:lib.Codec.encoding_table["37967"] = [232,95] let s:lib.Codec.encoding_table["37968"] = [232,96] let s:lib.Codec.encoding_table["37969"] = [232,97] let s:lib.Codec.encoding_table["37970"] = [232,98] let s:lib.Codec.encoding_table["37971"] = [232,99] let s:lib.Codec.encoding_table["37972"] = [232,100] let s:lib.Codec.encoding_table["37973"] = [232,101] let s:lib.Codec.encoding_table["37974"] = [232,102] let s:lib.Codec.encoding_table["37975"] = [232,103] let s:lib.Codec.encoding_table["37976"] = [232,104] let s:lib.Codec.encoding_table["37977"] = [232,105] let s:lib.Codec.encoding_table["37978"] = [232,106] let s:lib.Codec.encoding_table["37979"] = [232,107] let s:lib.Codec.encoding_table["37980"] = [232,108] let s:lib.Codec.encoding_table["37981"] = [232,109] let s:lib.Codec.encoding_table["37982"] = [232,110] let s:lib.Codec.encoding_table["37983"] = [232,111] let s:lib.Codec.encoding_table["37984"] = [232,112] let s:lib.Codec.encoding_table["37985"] = [232,113] let s:lib.Codec.encoding_table["37986"] = [232,114] let s:lib.Codec.encoding_table["37987"] = [232,115] let s:lib.Codec.encoding_table["37988"] = [232,116] let s:lib.Codec.encoding_table["37989"] = [232,117] let s:lib.Codec.encoding_table["37990"] = [232,118] let s:lib.Codec.encoding_table["37991"] = [232,119] let s:lib.Codec.encoding_table["37992"] = [232,120] let s:lib.Codec.encoding_table["37993"] = [232,121] let s:lib.Codec.encoding_table["37994"] = [232,122] let s:lib.Codec.encoding_table["37996"] = [232,123] let s:lib.Codec.encoding_table["37997"] = [232,124] let s:lib.Codec.encoding_table["37998"] = [232,125] let s:lib.Codec.encoding_table["37999"] = [232,126] let s:lib.Codec.encoding_table["38000"] = [232,128] let s:lib.Codec.encoding_table["38001"] = [232,129] let s:lib.Codec.encoding_table["38002"] = [232,130] let s:lib.Codec.encoding_table["38003"] = [232,131] let s:lib.Codec.encoding_table["38004"] = [232,132] let s:lib.Codec.encoding_table["38005"] = [232,133] let s:lib.Codec.encoding_table["38006"] = [232,134] let s:lib.Codec.encoding_table["38007"] = [232,135] let s:lib.Codec.encoding_table["38008"] = [232,136] let s:lib.Codec.encoding_table["38009"] = [232,137] let s:lib.Codec.encoding_table["38010"] = [232,138] let s:lib.Codec.encoding_table["38011"] = [232,139] let s:lib.Codec.encoding_table["38012"] = [232,140] let s:lib.Codec.encoding_table["38013"] = [232,141] let s:lib.Codec.encoding_table["38014"] = [232,142] let s:lib.Codec.encoding_table["38015"] = [232,143] let s:lib.Codec.encoding_table["38016"] = [232,144] let s:lib.Codec.encoding_table["38017"] = [232,145] let s:lib.Codec.encoding_table["38018"] = [232,146] let s:lib.Codec.encoding_table["38019"] = [232,147] let s:lib.Codec.encoding_table["38020"] = [232,148] let s:lib.Codec.encoding_table["38033"] = [232,149] let s:lib.Codec.encoding_table["38038"] = [232,150] let s:lib.Codec.encoding_table["38040"] = [232,151] let s:lib.Codec.encoding_table["38087"] = [232,152] let s:lib.Codec.encoding_table["38095"] = [232,153] let s:lib.Codec.encoding_table["38099"] = [232,154] let s:lib.Codec.encoding_table["38100"] = [232,155] let s:lib.Codec.encoding_table["38106"] = [232,156] let s:lib.Codec.encoding_table["38118"] = [232,157] let s:lib.Codec.encoding_table["38139"] = [232,158] let s:lib.Codec.encoding_table["38172"] = [232,159] let s:lib.Codec.encoding_table["38176"] = [232,160] let s:lib.Codec.encoding_table["29723"] = [232,161] let s:lib.Codec.encoding_table["29722"] = [232,162] let s:lib.Codec.encoding_table["29761"] = [232,163] let s:lib.Codec.encoding_table["29788"] = [232,164] let s:lib.Codec.encoding_table["29783"] = [232,165] let s:lib.Codec.encoding_table["29781"] = [232,166] let s:lib.Codec.encoding_table["29785"] = [232,167] let s:lib.Codec.encoding_table["29815"] = [232,168] let s:lib.Codec.encoding_table["29805"] = [232,169] let s:lib.Codec.encoding_table["29822"] = [232,170] let s:lib.Codec.encoding_table["29852"] = [232,171] let s:lib.Codec.encoding_table["29838"] = [232,172] let s:lib.Codec.encoding_table["29824"] = [232,173] let s:lib.Codec.encoding_table["29825"] = [232,174] let s:lib.Codec.encoding_table["29831"] = [232,175] let s:lib.Codec.encoding_table["29835"] = [232,176] let s:lib.Codec.encoding_table["29854"] = [232,177] let s:lib.Codec.encoding_table["29864"] = [232,178] let s:lib.Codec.encoding_table["29865"] = [232,179] let s:lib.Codec.encoding_table["29840"] = [232,180] let s:lib.Codec.encoding_table["29863"] = [232,181] let s:lib.Codec.encoding_table["29906"] = [232,182] let s:lib.Codec.encoding_table["29882"] = [232,183] let s:lib.Codec.encoding_table["38890"] = [232,184] let s:lib.Codec.encoding_table["38891"] = [232,185] let s:lib.Codec.encoding_table["38892"] = [232,186] let s:lib.Codec.encoding_table["26444"] = [232,187] let s:lib.Codec.encoding_table["26451"] = [232,188] let s:lib.Codec.encoding_table["26462"] = [232,189] let s:lib.Codec.encoding_table["26440"] = [232,190] let s:lib.Codec.encoding_table["26473"] = [232,191] let s:lib.Codec.encoding_table["26533"] = [232,192] let s:lib.Codec.encoding_table["26503"] = [232,193] let s:lib.Codec.encoding_table["26474"] = [232,194] let s:lib.Codec.encoding_table["26483"] = [232,195] let s:lib.Codec.encoding_table["26520"] = [232,196] let s:lib.Codec.encoding_table["26535"] = [232,197] let s:lib.Codec.encoding_table["26485"] = [232,198] let s:lib.Codec.encoding_table["26536"] = [232,199] let s:lib.Codec.encoding_table["26526"] = [232,200] let s:lib.Codec.encoding_table["26541"] = [232,201] let s:lib.Codec.encoding_table["26507"] = [232,202] let s:lib.Codec.encoding_table["26487"] = [232,203] let s:lib.Codec.encoding_table["26492"] = [232,204] let s:lib.Codec.encoding_table["26608"] = [232,205] let s:lib.Codec.encoding_table["26633"] = [232,206] let s:lib.Codec.encoding_table["26584"] = [232,207] let s:lib.Codec.encoding_table["26634"] = [232,208] let s:lib.Codec.encoding_table["26601"] = [232,209] let s:lib.Codec.encoding_table["26544"] = [232,210] let s:lib.Codec.encoding_table["26636"] = [232,211] let s:lib.Codec.encoding_table["26585"] = [232,212] let s:lib.Codec.encoding_table["26549"] = [232,213] let s:lib.Codec.encoding_table["26586"] = [232,214] let s:lib.Codec.encoding_table["26547"] = [232,215] let s:lib.Codec.encoding_table["26589"] = [232,216] let s:lib.Codec.encoding_table["26624"] = [232,217] let s:lib.Codec.encoding_table["26563"] = [232,218] let s:lib.Codec.encoding_table["26552"] = [232,219] let s:lib.Codec.encoding_table["26594"] = [232,220] let s:lib.Codec.encoding_table["26638"] = [232,221] let s:lib.Codec.encoding_table["26561"] = [232,222] let s:lib.Codec.encoding_table["26621"] = [232,223] let s:lib.Codec.encoding_table["26674"] = [232,224] let s:lib.Codec.encoding_table["26675"] = [232,225] let s:lib.Codec.encoding_table["26720"] = [232,226] let s:lib.Codec.encoding_table["26721"] = [232,227] let s:lib.Codec.encoding_table["26702"] = [232,228] let s:lib.Codec.encoding_table["26722"] = [232,229] let s:lib.Codec.encoding_table["26692"] = [232,230] let s:lib.Codec.encoding_table["26724"] = [232,231] let s:lib.Codec.encoding_table["26755"] = [232,232] let s:lib.Codec.encoding_table["26653"] = [232,233] let s:lib.Codec.encoding_table["26709"] = [232,234] let s:lib.Codec.encoding_table["26726"] = [232,235] let s:lib.Codec.encoding_table["26689"] = [232,236] let s:lib.Codec.encoding_table["26727"] = [232,237] let s:lib.Codec.encoding_table["26688"] = [232,238] let s:lib.Codec.encoding_table["26686"] = [232,239] let s:lib.Codec.encoding_table["26698"] = [232,240] let s:lib.Codec.encoding_table["26697"] = [232,241] let s:lib.Codec.encoding_table["26665"] = [232,242] let s:lib.Codec.encoding_table["26805"] = [232,243] let s:lib.Codec.encoding_table["26767"] = [232,244] let s:lib.Codec.encoding_table["26740"] = [232,245] let s:lib.Codec.encoding_table["26743"] = [232,246] let s:lib.Codec.encoding_table["26771"] = [232,247] let s:lib.Codec.encoding_table["26731"] = [232,248] let s:lib.Codec.encoding_table["26818"] = [232,249] let s:lib.Codec.encoding_table["26990"] = [232,250] let s:lib.Codec.encoding_table["26876"] = [232,251] let s:lib.Codec.encoding_table["26911"] = [232,252] let s:lib.Codec.encoding_table["26912"] = [232,253] let s:lib.Codec.encoding_table["26873"] = [232,254] let s:lib.Codec.encoding_table["38183"] = [233,64] let s:lib.Codec.encoding_table["38195"] = [233,65] let s:lib.Codec.encoding_table["38205"] = [233,66] let s:lib.Codec.encoding_table["38211"] = [233,67] let s:lib.Codec.encoding_table["38216"] = [233,68] let s:lib.Codec.encoding_table["38219"] = [233,69] let s:lib.Codec.encoding_table["38229"] = [233,70] let s:lib.Codec.encoding_table["38234"] = [233,71] let s:lib.Codec.encoding_table["38240"] = [233,72] let s:lib.Codec.encoding_table["38254"] = [233,73] let s:lib.Codec.encoding_table["38260"] = [233,74] let s:lib.Codec.encoding_table["38261"] = [233,75] let s:lib.Codec.encoding_table["38263"] = [233,76] let s:lib.Codec.encoding_table["38264"] = [233,77] let s:lib.Codec.encoding_table["38265"] = [233,78] let s:lib.Codec.encoding_table["38266"] = [233,79] let s:lib.Codec.encoding_table["38267"] = [233,80] let s:lib.Codec.encoding_table["38268"] = [233,81] let s:lib.Codec.encoding_table["38269"] = [233,82] let s:lib.Codec.encoding_table["38270"] = [233,83] let s:lib.Codec.encoding_table["38272"] = [233,84] let s:lib.Codec.encoding_table["38273"] = [233,85] let s:lib.Codec.encoding_table["38274"] = [233,86] let s:lib.Codec.encoding_table["38275"] = [233,87] let s:lib.Codec.encoding_table["38276"] = [233,88] let s:lib.Codec.encoding_table["38277"] = [233,89] let s:lib.Codec.encoding_table["38278"] = [233,90] let s:lib.Codec.encoding_table["38279"] = [233,91] let s:lib.Codec.encoding_table["38280"] = [233,92] let s:lib.Codec.encoding_table["38281"] = [233,93] let s:lib.Codec.encoding_table["38282"] = [233,94] let s:lib.Codec.encoding_table["38283"] = [233,95] let s:lib.Codec.encoding_table["38284"] = [233,96] let s:lib.Codec.encoding_table["38285"] = [233,97] let s:lib.Codec.encoding_table["38286"] = [233,98] let s:lib.Codec.encoding_table["38287"] = [233,99] let s:lib.Codec.encoding_table["38288"] = [233,100] let s:lib.Codec.encoding_table["38289"] = [233,101] let s:lib.Codec.encoding_table["38290"] = [233,102] let s:lib.Codec.encoding_table["38291"] = [233,103] let s:lib.Codec.encoding_table["38292"] = [233,104] let s:lib.Codec.encoding_table["38293"] = [233,105] let s:lib.Codec.encoding_table["38294"] = [233,106] let s:lib.Codec.encoding_table["38295"] = [233,107] let s:lib.Codec.encoding_table["38296"] = [233,108] let s:lib.Codec.encoding_table["38297"] = [233,109] let s:lib.Codec.encoding_table["38298"] = [233,110] let s:lib.Codec.encoding_table["38299"] = [233,111] let s:lib.Codec.encoding_table["38300"] = [233,112] let s:lib.Codec.encoding_table["38301"] = [233,113] let s:lib.Codec.encoding_table["38302"] = [233,114] let s:lib.Codec.encoding_table["38303"] = [233,115] let s:lib.Codec.encoding_table["38304"] = [233,116] let s:lib.Codec.encoding_table["38305"] = [233,117] let s:lib.Codec.encoding_table["38306"] = [233,118] let s:lib.Codec.encoding_table["38307"] = [233,119] let s:lib.Codec.encoding_table["38308"] = [233,120] let s:lib.Codec.encoding_table["38309"] = [233,121] let s:lib.Codec.encoding_table["38310"] = [233,122] let s:lib.Codec.encoding_table["38311"] = [233,123] let s:lib.Codec.encoding_table["38312"] = [233,124] let s:lib.Codec.encoding_table["38313"] = [233,125] let s:lib.Codec.encoding_table["38314"] = [233,126] let s:lib.Codec.encoding_table["38315"] = [233,128] let s:lib.Codec.encoding_table["38316"] = [233,129] let s:lib.Codec.encoding_table["38317"] = [233,130] let s:lib.Codec.encoding_table["38318"] = [233,131] let s:lib.Codec.encoding_table["38319"] = [233,132] let s:lib.Codec.encoding_table["38320"] = [233,133] let s:lib.Codec.encoding_table["38321"] = [233,134] let s:lib.Codec.encoding_table["38322"] = [233,135] let s:lib.Codec.encoding_table["38323"] = [233,136] let s:lib.Codec.encoding_table["38324"] = [233,137] let s:lib.Codec.encoding_table["38325"] = [233,138] let s:lib.Codec.encoding_table["38326"] = [233,139] let s:lib.Codec.encoding_table["38327"] = [233,140] let s:lib.Codec.encoding_table["38328"] = [233,141] let s:lib.Codec.encoding_table["38329"] = [233,142] let s:lib.Codec.encoding_table["38330"] = [233,143] let s:lib.Codec.encoding_table["38331"] = [233,144] let s:lib.Codec.encoding_table["38332"] = [233,145] let s:lib.Codec.encoding_table["38333"] = [233,146] let s:lib.Codec.encoding_table["38334"] = [233,147] let s:lib.Codec.encoding_table["38335"] = [233,148] let s:lib.Codec.encoding_table["38336"] = [233,149] let s:lib.Codec.encoding_table["38337"] = [233,150] let s:lib.Codec.encoding_table["38338"] = [233,151] let s:lib.Codec.encoding_table["38339"] = [233,152] let s:lib.Codec.encoding_table["38340"] = [233,153] let s:lib.Codec.encoding_table["38341"] = [233,154] let s:lib.Codec.encoding_table["38342"] = [233,155] let s:lib.Codec.encoding_table["38343"] = [233,156] let s:lib.Codec.encoding_table["38344"] = [233,157] let s:lib.Codec.encoding_table["38345"] = [233,158] let s:lib.Codec.encoding_table["38346"] = [233,159] let s:lib.Codec.encoding_table["38347"] = [233,160] let s:lib.Codec.encoding_table["26916"] = [233,161] let s:lib.Codec.encoding_table["26864"] = [233,162] let s:lib.Codec.encoding_table["26891"] = [233,163] let s:lib.Codec.encoding_table["26881"] = [233,164] let s:lib.Codec.encoding_table["26967"] = [233,165] let s:lib.Codec.encoding_table["26851"] = [233,166] let s:lib.Codec.encoding_table["26896"] = [233,167] let s:lib.Codec.encoding_table["26993"] = [233,168] let s:lib.Codec.encoding_table["26937"] = [233,169] let s:lib.Codec.encoding_table["26976"] = [233,170] let s:lib.Codec.encoding_table["26946"] = [233,171] let s:lib.Codec.encoding_table["26973"] = [233,172] let s:lib.Codec.encoding_table["27012"] = [233,173] let s:lib.Codec.encoding_table["26987"] = [233,174] let s:lib.Codec.encoding_table["27008"] = [233,175] let s:lib.Codec.encoding_table["27032"] = [233,176] let s:lib.Codec.encoding_table["27000"] = [233,177] let s:lib.Codec.encoding_table["26932"] = [233,178] let s:lib.Codec.encoding_table["27084"] = [233,179] let s:lib.Codec.encoding_table["27015"] = [233,180] let s:lib.Codec.encoding_table["27016"] = [233,181] let s:lib.Codec.encoding_table["27086"] = [233,182] let s:lib.Codec.encoding_table["27017"] = [233,183] let s:lib.Codec.encoding_table["26982"] = [233,184] let s:lib.Codec.encoding_table["26979"] = [233,185] let s:lib.Codec.encoding_table["27001"] = [233,186] let s:lib.Codec.encoding_table["27035"] = [233,187] let s:lib.Codec.encoding_table["27047"] = [233,188] let s:lib.Codec.encoding_table["27067"] = [233,189] let s:lib.Codec.encoding_table["27051"] = [233,190] let s:lib.Codec.encoding_table["27053"] = [233,191] let s:lib.Codec.encoding_table["27092"] = [233,192] let s:lib.Codec.encoding_table["27057"] = [233,193] let s:lib.Codec.encoding_table["27073"] = [233,194] let s:lib.Codec.encoding_table["27082"] = [233,195] let s:lib.Codec.encoding_table["27103"] = [233,196] let s:lib.Codec.encoding_table["27029"] = [233,197] let s:lib.Codec.encoding_table["27104"] = [233,198] let s:lib.Codec.encoding_table["27021"] = [233,199] let s:lib.Codec.encoding_table["27135"] = [233,200] let s:lib.Codec.encoding_table["27183"] = [233,201] let s:lib.Codec.encoding_table["27117"] = [233,202] let s:lib.Codec.encoding_table["27159"] = [233,203] let s:lib.Codec.encoding_table["27160"] = [233,204] let s:lib.Codec.encoding_table["27237"] = [233,205] let s:lib.Codec.encoding_table["27122"] = [233,206] let s:lib.Codec.encoding_table["27204"] = [233,207] let s:lib.Codec.encoding_table["27198"] = [233,208] let s:lib.Codec.encoding_table["27296"] = [233,209] let s:lib.Codec.encoding_table["27216"] = [233,210] let s:lib.Codec.encoding_table["27227"] = [233,211] let s:lib.Codec.encoding_table["27189"] = [233,212] let s:lib.Codec.encoding_table["27278"] = [233,213] let s:lib.Codec.encoding_table["27257"] = [233,214] let s:lib.Codec.encoding_table["27197"] = [233,215] let s:lib.Codec.encoding_table["27176"] = [233,216] let s:lib.Codec.encoding_table["27224"] = [233,217] let s:lib.Codec.encoding_table["27260"] = [233,218] let s:lib.Codec.encoding_table["27281"] = [233,219] let s:lib.Codec.encoding_table["27280"] = [233,220] let s:lib.Codec.encoding_table["27305"] = [233,221] let s:lib.Codec.encoding_table["27287"] = [233,222] let s:lib.Codec.encoding_table["27307"] = [233,223] let s:lib.Codec.encoding_table["29495"] = [233,224] let s:lib.Codec.encoding_table["29522"] = [233,225] let s:lib.Codec.encoding_table["27521"] = [233,226] let s:lib.Codec.encoding_table["27522"] = [233,227] let s:lib.Codec.encoding_table["27527"] = [233,228] let s:lib.Codec.encoding_table["27524"] = [233,229] let s:lib.Codec.encoding_table["27538"] = [233,230] let s:lib.Codec.encoding_table["27539"] = [233,231] let s:lib.Codec.encoding_table["27533"] = [233,232] let s:lib.Codec.encoding_table["27546"] = [233,233] let s:lib.Codec.encoding_table["27547"] = [233,234] let s:lib.Codec.encoding_table["27553"] = [233,235] let s:lib.Codec.encoding_table["27562"] = [233,236] let s:lib.Codec.encoding_table["36715"] = [233,237] let s:lib.Codec.encoding_table["36717"] = [233,238] let s:lib.Codec.encoding_table["36721"] = [233,239] let s:lib.Codec.encoding_table["36722"] = [233,240] let s:lib.Codec.encoding_table["36723"] = [233,241] let s:lib.Codec.encoding_table["36725"] = [233,242] let s:lib.Codec.encoding_table["36726"] = [233,243] let s:lib.Codec.encoding_table["36728"] = [233,244] let s:lib.Codec.encoding_table["36727"] = [233,245] let s:lib.Codec.encoding_table["36729"] = [233,246] let s:lib.Codec.encoding_table["36730"] = [233,247] let s:lib.Codec.encoding_table["36732"] = [233,248] let s:lib.Codec.encoding_table["36734"] = [233,249] let s:lib.Codec.encoding_table["36737"] = [233,250] let s:lib.Codec.encoding_table["36738"] = [233,251] let s:lib.Codec.encoding_table["36740"] = [233,252] let s:lib.Codec.encoding_table["36743"] = [233,253] let s:lib.Codec.encoding_table["36747"] = [233,254] let s:lib.Codec.encoding_table["38348"] = [234,64] let s:lib.Codec.encoding_table["38349"] = [234,65] let s:lib.Codec.encoding_table["38350"] = [234,66] let s:lib.Codec.encoding_table["38351"] = [234,67] let s:lib.Codec.encoding_table["38352"] = [234,68] let s:lib.Codec.encoding_table["38353"] = [234,69] let s:lib.Codec.encoding_table["38354"] = [234,70] let s:lib.Codec.encoding_table["38355"] = [234,71] let s:lib.Codec.encoding_table["38356"] = [234,72] let s:lib.Codec.encoding_table["38357"] = [234,73] let s:lib.Codec.encoding_table["38358"] = [234,74] let s:lib.Codec.encoding_table["38359"] = [234,75] let s:lib.Codec.encoding_table["38360"] = [234,76] let s:lib.Codec.encoding_table["38361"] = [234,77] let s:lib.Codec.encoding_table["38362"] = [234,78] let s:lib.Codec.encoding_table["38363"] = [234,79] let s:lib.Codec.encoding_table["38364"] = [234,80] let s:lib.Codec.encoding_table["38365"] = [234,81] let s:lib.Codec.encoding_table["38366"] = [234,82] let s:lib.Codec.encoding_table["38367"] = [234,83] let s:lib.Codec.encoding_table["38368"] = [234,84] let s:lib.Codec.encoding_table["38369"] = [234,85] let s:lib.Codec.encoding_table["38370"] = [234,86] let s:lib.Codec.encoding_table["38371"] = [234,87] let s:lib.Codec.encoding_table["38372"] = [234,88] let s:lib.Codec.encoding_table["38373"] = [234,89] let s:lib.Codec.encoding_table["38374"] = [234,90] let s:lib.Codec.encoding_table["38375"] = [234,91] let s:lib.Codec.encoding_table["38380"] = [234,92] let s:lib.Codec.encoding_table["38399"] = [234,93] let s:lib.Codec.encoding_table["38407"] = [234,94] let s:lib.Codec.encoding_table["38419"] = [234,95] let s:lib.Codec.encoding_table["38424"] = [234,96] let s:lib.Codec.encoding_table["38427"] = [234,97] let s:lib.Codec.encoding_table["38430"] = [234,98] let s:lib.Codec.encoding_table["38432"] = [234,99] let s:lib.Codec.encoding_table["38435"] = [234,100] let s:lib.Codec.encoding_table["38436"] = [234,101] let s:lib.Codec.encoding_table["38437"] = [234,102] let s:lib.Codec.encoding_table["38438"] = [234,103] let s:lib.Codec.encoding_table["38439"] = [234,104] let s:lib.Codec.encoding_table["38440"] = [234,105] let s:lib.Codec.encoding_table["38441"] = [234,106] let s:lib.Codec.encoding_table["38443"] = [234,107] let s:lib.Codec.encoding_table["38444"] = [234,108] let s:lib.Codec.encoding_table["38445"] = [234,109] let s:lib.Codec.encoding_table["38447"] = [234,110] let s:lib.Codec.encoding_table["38448"] = [234,111] let s:lib.Codec.encoding_table["38455"] = [234,112] let s:lib.Codec.encoding_table["38456"] = [234,113] let s:lib.Codec.encoding_table["38457"] = [234,114] let s:lib.Codec.encoding_table["38458"] = [234,115] let s:lib.Codec.encoding_table["38462"] = [234,116] let s:lib.Codec.encoding_table["38465"] = [234,117] let s:lib.Codec.encoding_table["38467"] = [234,118] let s:lib.Codec.encoding_table["38474"] = [234,119] let s:lib.Codec.encoding_table["38478"] = [234,120] let s:lib.Codec.encoding_table["38479"] = [234,121] let s:lib.Codec.encoding_table["38481"] = [234,122] let s:lib.Codec.encoding_table["38482"] = [234,123] let s:lib.Codec.encoding_table["38483"] = [234,124] let s:lib.Codec.encoding_table["38486"] = [234,125] let s:lib.Codec.encoding_table["38487"] = [234,126] let s:lib.Codec.encoding_table["38488"] = [234,128] let s:lib.Codec.encoding_table["38489"] = [234,129] let s:lib.Codec.encoding_table["38490"] = [234,130] let s:lib.Codec.encoding_table["38492"] = [234,131] let s:lib.Codec.encoding_table["38493"] = [234,132] let s:lib.Codec.encoding_table["38494"] = [234,133] let s:lib.Codec.encoding_table["38496"] = [234,134] let s:lib.Codec.encoding_table["38499"] = [234,135] let s:lib.Codec.encoding_table["38501"] = [234,136] let s:lib.Codec.encoding_table["38502"] = [234,137] let s:lib.Codec.encoding_table["38507"] = [234,138] let s:lib.Codec.encoding_table["38509"] = [234,139] let s:lib.Codec.encoding_table["38510"] = [234,140] let s:lib.Codec.encoding_table["38511"] = [234,141] let s:lib.Codec.encoding_table["38512"] = [234,142] let s:lib.Codec.encoding_table["38513"] = [234,143] let s:lib.Codec.encoding_table["38515"] = [234,144] let s:lib.Codec.encoding_table["38520"] = [234,145] let s:lib.Codec.encoding_table["38521"] = [234,146] let s:lib.Codec.encoding_table["38522"] = [234,147] let s:lib.Codec.encoding_table["38523"] = [234,148] let s:lib.Codec.encoding_table["38524"] = [234,149] let s:lib.Codec.encoding_table["38525"] = [234,150] let s:lib.Codec.encoding_table["38526"] = [234,151] let s:lib.Codec.encoding_table["38527"] = [234,152] let s:lib.Codec.encoding_table["38528"] = [234,153] let s:lib.Codec.encoding_table["38529"] = [234,154] let s:lib.Codec.encoding_table["38530"] = [234,155] let s:lib.Codec.encoding_table["38531"] = [234,156] let s:lib.Codec.encoding_table["38532"] = [234,157] let s:lib.Codec.encoding_table["38535"] = [234,158] let s:lib.Codec.encoding_table["38537"] = [234,159] let s:lib.Codec.encoding_table["38538"] = [234,160] let s:lib.Codec.encoding_table["36749"] = [234,161] let s:lib.Codec.encoding_table["36750"] = [234,162] let s:lib.Codec.encoding_table["36751"] = [234,163] let s:lib.Codec.encoding_table["36760"] = [234,164] let s:lib.Codec.encoding_table["36762"] = [234,165] let s:lib.Codec.encoding_table["36558"] = [234,166] let s:lib.Codec.encoding_table["25099"] = [234,167] let s:lib.Codec.encoding_table["25111"] = [234,168] let s:lib.Codec.encoding_table["25115"] = [234,169] let s:lib.Codec.encoding_table["25119"] = [234,170] let s:lib.Codec.encoding_table["25122"] = [234,171] let s:lib.Codec.encoding_table["25121"] = [234,172] let s:lib.Codec.encoding_table["25125"] = [234,173] let s:lib.Codec.encoding_table["25124"] = [234,174] let s:lib.Codec.encoding_table["25132"] = [234,175] let s:lib.Codec.encoding_table["33255"] = [234,176] let s:lib.Codec.encoding_table["29935"] = [234,177] let s:lib.Codec.encoding_table["29940"] = [234,178] let s:lib.Codec.encoding_table["29951"] = [234,179] let s:lib.Codec.encoding_table["29967"] = [234,180] let s:lib.Codec.encoding_table["29969"] = [234,181] let s:lib.Codec.encoding_table["29971"] = [234,182] let s:lib.Codec.encoding_table["25908"] = [234,183] let s:lib.Codec.encoding_table["26094"] = [234,184] let s:lib.Codec.encoding_table["26095"] = [234,185] let s:lib.Codec.encoding_table["26096"] = [234,186] let s:lib.Codec.encoding_table["26122"] = [234,187] let s:lib.Codec.encoding_table["26137"] = [234,188] let s:lib.Codec.encoding_table["26482"] = [234,189] let s:lib.Codec.encoding_table["26115"] = [234,190] let s:lib.Codec.encoding_table["26133"] = [234,191] let s:lib.Codec.encoding_table["26112"] = [234,192] let s:lib.Codec.encoding_table["28805"] = [234,193] let s:lib.Codec.encoding_table["26359"] = [234,194] let s:lib.Codec.encoding_table["26141"] = [234,195] let s:lib.Codec.encoding_table["26164"] = [234,196] let s:lib.Codec.encoding_table["26161"] = [234,197] let s:lib.Codec.encoding_table["26166"] = [234,198] let s:lib.Codec.encoding_table["26165"] = [234,199] let s:lib.Codec.encoding_table["32774"] = [234,200] let s:lib.Codec.encoding_table["26207"] = [234,201] let s:lib.Codec.encoding_table["26196"] = [234,202] let s:lib.Codec.encoding_table["26177"] = [234,203] let s:lib.Codec.encoding_table["26191"] = [234,204] let s:lib.Codec.encoding_table["26198"] = [234,205] let s:lib.Codec.encoding_table["26209"] = [234,206] let s:lib.Codec.encoding_table["26199"] = [234,207] let s:lib.Codec.encoding_table["26231"] = [234,208] let s:lib.Codec.encoding_table["26244"] = [234,209] let s:lib.Codec.encoding_table["26252"] = [234,210] let s:lib.Codec.encoding_table["26279"] = [234,211] let s:lib.Codec.encoding_table["26269"] = [234,212] let s:lib.Codec.encoding_table["26302"] = [234,213] let s:lib.Codec.encoding_table["26331"] = [234,214] let s:lib.Codec.encoding_table["26332"] = [234,215] let s:lib.Codec.encoding_table["26342"] = [234,216] let s:lib.Codec.encoding_table["26345"] = [234,217] let s:lib.Codec.encoding_table["36146"] = [234,218] let s:lib.Codec.encoding_table["36147"] = [234,219] let s:lib.Codec.encoding_table["36150"] = [234,220] let s:lib.Codec.encoding_table["36155"] = [234,221] let s:lib.Codec.encoding_table["36157"] = [234,222] let s:lib.Codec.encoding_table["36160"] = [234,223] let s:lib.Codec.encoding_table["36165"] = [234,224] let s:lib.Codec.encoding_table["36166"] = [234,225] let s:lib.Codec.encoding_table["36168"] = [234,226] let s:lib.Codec.encoding_table["36169"] = [234,227] let s:lib.Codec.encoding_table["36167"] = [234,228] let s:lib.Codec.encoding_table["36173"] = [234,229] let s:lib.Codec.encoding_table["36181"] = [234,230] let s:lib.Codec.encoding_table["36185"] = [234,231] let s:lib.Codec.encoding_table["35271"] = [234,232] let s:lib.Codec.encoding_table["35274"] = [234,233] let s:lib.Codec.encoding_table["35275"] = [234,234] let s:lib.Codec.encoding_table["35276"] = [234,235] let s:lib.Codec.encoding_table["35278"] = [234,236] let s:lib.Codec.encoding_table["35279"] = [234,237] let s:lib.Codec.encoding_table["35280"] = [234,238] let s:lib.Codec.encoding_table["35281"] = [234,239] let s:lib.Codec.encoding_table["29294"] = [234,240] let s:lib.Codec.encoding_table["29343"] = [234,241] let s:lib.Codec.encoding_table["29277"] = [234,242] let s:lib.Codec.encoding_table["29286"] = [234,243] let s:lib.Codec.encoding_table["29295"] = [234,244] let s:lib.Codec.encoding_table["29310"] = [234,245] let s:lib.Codec.encoding_table["29311"] = [234,246] let s:lib.Codec.encoding_table["29316"] = [234,247] let s:lib.Codec.encoding_table["29323"] = [234,248] let s:lib.Codec.encoding_table["29325"] = [234,249] let s:lib.Codec.encoding_table["29327"] = [234,250] let s:lib.Codec.encoding_table["29330"] = [234,251] let s:lib.Codec.encoding_table["25352"] = [234,252] let s:lib.Codec.encoding_table["25394"] = [234,253] let s:lib.Codec.encoding_table["25520"] = [234,254] let s:lib.Codec.encoding_table["38540"] = [235,64] let s:lib.Codec.encoding_table["38542"] = [235,65] let s:lib.Codec.encoding_table["38545"] = [235,66] let s:lib.Codec.encoding_table["38546"] = [235,67] let s:lib.Codec.encoding_table["38547"] = [235,68] let s:lib.Codec.encoding_table["38549"] = [235,69] let s:lib.Codec.encoding_table["38550"] = [235,70] let s:lib.Codec.encoding_table["38554"] = [235,71] let s:lib.Codec.encoding_table["38555"] = [235,72] let s:lib.Codec.encoding_table["38557"] = [235,73] let s:lib.Codec.encoding_table["38558"] = [235,74] let s:lib.Codec.encoding_table["38559"] = [235,75] let s:lib.Codec.encoding_table["38560"] = [235,76] let s:lib.Codec.encoding_table["38561"] = [235,77] let s:lib.Codec.encoding_table["38562"] = [235,78] let s:lib.Codec.encoding_table["38563"] = [235,79] let s:lib.Codec.encoding_table["38564"] = [235,80] let s:lib.Codec.encoding_table["38565"] = [235,81] let s:lib.Codec.encoding_table["38566"] = [235,82] let s:lib.Codec.encoding_table["38568"] = [235,83] let s:lib.Codec.encoding_table["38569"] = [235,84] let s:lib.Codec.encoding_table["38570"] = [235,85] let s:lib.Codec.encoding_table["38571"] = [235,86] let s:lib.Codec.encoding_table["38572"] = [235,87] let s:lib.Codec.encoding_table["38573"] = [235,88] let s:lib.Codec.encoding_table["38574"] = [235,89] let s:lib.Codec.encoding_table["38575"] = [235,90] let s:lib.Codec.encoding_table["38577"] = [235,91] let s:lib.Codec.encoding_table["38578"] = [235,92] let s:lib.Codec.encoding_table["38580"] = [235,93] let s:lib.Codec.encoding_table["38581"] = [235,94] let s:lib.Codec.encoding_table["38583"] = [235,95] let s:lib.Codec.encoding_table["38584"] = [235,96] let s:lib.Codec.encoding_table["38586"] = [235,97] let s:lib.Codec.encoding_table["38587"] = [235,98] let s:lib.Codec.encoding_table["38591"] = [235,99] let s:lib.Codec.encoding_table["38594"] = [235,100] let s:lib.Codec.encoding_table["38595"] = [235,101] let s:lib.Codec.encoding_table["38600"] = [235,102] let s:lib.Codec.encoding_table["38602"] = [235,103] let s:lib.Codec.encoding_table["38603"] = [235,104] let s:lib.Codec.encoding_table["38608"] = [235,105] let s:lib.Codec.encoding_table["38609"] = [235,106] let s:lib.Codec.encoding_table["38611"] = [235,107] let s:lib.Codec.encoding_table["38612"] = [235,108] let s:lib.Codec.encoding_table["38614"] = [235,109] let s:lib.Codec.encoding_table["38615"] = [235,110] let s:lib.Codec.encoding_table["38616"] = [235,111] let s:lib.Codec.encoding_table["38617"] = [235,112] let s:lib.Codec.encoding_table["38618"] = [235,113] let s:lib.Codec.encoding_table["38619"] = [235,114] let s:lib.Codec.encoding_table["38620"] = [235,115] let s:lib.Codec.encoding_table["38621"] = [235,116] let s:lib.Codec.encoding_table["38622"] = [235,117] let s:lib.Codec.encoding_table["38623"] = [235,118] let s:lib.Codec.encoding_table["38625"] = [235,119] let s:lib.Codec.encoding_table["38626"] = [235,120] let s:lib.Codec.encoding_table["38627"] = [235,121] let s:lib.Codec.encoding_table["38628"] = [235,122] let s:lib.Codec.encoding_table["38629"] = [235,123] let s:lib.Codec.encoding_table["38630"] = [235,124] let s:lib.Codec.encoding_table["38631"] = [235,125] let s:lib.Codec.encoding_table["38635"] = [235,126] let s:lib.Codec.encoding_table["38636"] = [235,128] let s:lib.Codec.encoding_table["38637"] = [235,129] let s:lib.Codec.encoding_table["38638"] = [235,130] let s:lib.Codec.encoding_table["38640"] = [235,131] let s:lib.Codec.encoding_table["38641"] = [235,132] let s:lib.Codec.encoding_table["38642"] = [235,133] let s:lib.Codec.encoding_table["38644"] = [235,134] let s:lib.Codec.encoding_table["38645"] = [235,135] let s:lib.Codec.encoding_table["38648"] = [235,136] let s:lib.Codec.encoding_table["38650"] = [235,137] let s:lib.Codec.encoding_table["38651"] = [235,138] let s:lib.Codec.encoding_table["38652"] = [235,139] let s:lib.Codec.encoding_table["38653"] = [235,140] let s:lib.Codec.encoding_table["38655"] = [235,141] let s:lib.Codec.encoding_table["38658"] = [235,142] let s:lib.Codec.encoding_table["38659"] = [235,143] let s:lib.Codec.encoding_table["38661"] = [235,144] let s:lib.Codec.encoding_table["38666"] = [235,145] let s:lib.Codec.encoding_table["38667"] = [235,146] let s:lib.Codec.encoding_table["38668"] = [235,147] let s:lib.Codec.encoding_table["38672"] = [235,148] let s:lib.Codec.encoding_table["38673"] = [235,149] let s:lib.Codec.encoding_table["38674"] = [235,150] let s:lib.Codec.encoding_table["38676"] = [235,151] let s:lib.Codec.encoding_table["38677"] = [235,152] let s:lib.Codec.encoding_table["38679"] = [235,153] let s:lib.Codec.encoding_table["38680"] = [235,154] let s:lib.Codec.encoding_table["38681"] = [235,155] let s:lib.Codec.encoding_table["38682"] = [235,156] let s:lib.Codec.encoding_table["38683"] = [235,157] let s:lib.Codec.encoding_table["38685"] = [235,158] let s:lib.Codec.encoding_table["38687"] = [235,159] let s:lib.Codec.encoding_table["38688"] = [235,160] let s:lib.Codec.encoding_table["25663"] = [235,161] let s:lib.Codec.encoding_table["25816"] = [235,162] let s:lib.Codec.encoding_table["32772"] = [235,163] let s:lib.Codec.encoding_table["27626"] = [235,164] let s:lib.Codec.encoding_table["27635"] = [235,165] let s:lib.Codec.encoding_table["27645"] = [235,166] let s:lib.Codec.encoding_table["27637"] = [235,167] let s:lib.Codec.encoding_table["27641"] = [235,168] let s:lib.Codec.encoding_table["27653"] = [235,169] let s:lib.Codec.encoding_table["27655"] = [235,170] let s:lib.Codec.encoding_table["27654"] = [235,171] let s:lib.Codec.encoding_table["27661"] = [235,172] let s:lib.Codec.encoding_table["27669"] = [235,173] let s:lib.Codec.encoding_table["27672"] = [235,174] let s:lib.Codec.encoding_table["27673"] = [235,175] let s:lib.Codec.encoding_table["27674"] = [235,176] let s:lib.Codec.encoding_table["27681"] = [235,177] let s:lib.Codec.encoding_table["27689"] = [235,178] let s:lib.Codec.encoding_table["27684"] = [235,179] let s:lib.Codec.encoding_table["27690"] = [235,180] let s:lib.Codec.encoding_table["27698"] = [235,181] let s:lib.Codec.encoding_table["25909"] = [235,182] let s:lib.Codec.encoding_table["25941"] = [235,183] let s:lib.Codec.encoding_table["25963"] = [235,184] let s:lib.Codec.encoding_table["29261"] = [235,185] let s:lib.Codec.encoding_table["29266"] = [235,186] let s:lib.Codec.encoding_table["29270"] = [235,187] let s:lib.Codec.encoding_table["29232"] = [235,188] let s:lib.Codec.encoding_table["34402"] = [235,189] let s:lib.Codec.encoding_table["21014"] = [235,190] let s:lib.Codec.encoding_table["32927"] = [235,191] let s:lib.Codec.encoding_table["32924"] = [235,192] let s:lib.Codec.encoding_table["32915"] = [235,193] let s:lib.Codec.encoding_table["32956"] = [235,194] let s:lib.Codec.encoding_table["26378"] = [235,195] let s:lib.Codec.encoding_table["32957"] = [235,196] let s:lib.Codec.encoding_table["32945"] = [235,197] let s:lib.Codec.encoding_table["32939"] = [235,198] let s:lib.Codec.encoding_table["32941"] = [235,199] let s:lib.Codec.encoding_table["32948"] = [235,200] let s:lib.Codec.encoding_table["32951"] = [235,201] let s:lib.Codec.encoding_table["32999"] = [235,202] let s:lib.Codec.encoding_table["33000"] = [235,203] let s:lib.Codec.encoding_table["33001"] = [235,204] let s:lib.Codec.encoding_table["33002"] = [235,205] let s:lib.Codec.encoding_table["32987"] = [235,206] let s:lib.Codec.encoding_table["32962"] = [235,207] let s:lib.Codec.encoding_table["32964"] = [235,208] let s:lib.Codec.encoding_table["32985"] = [235,209] let s:lib.Codec.encoding_table["32973"] = [235,210] let s:lib.Codec.encoding_table["32983"] = [235,211] let s:lib.Codec.encoding_table["26384"] = [235,212] let s:lib.Codec.encoding_table["32989"] = [235,213] let s:lib.Codec.encoding_table["33003"] = [235,214] let s:lib.Codec.encoding_table["33009"] = [235,215] let s:lib.Codec.encoding_table["33012"] = [235,216] let s:lib.Codec.encoding_table["33005"] = [235,217] let s:lib.Codec.encoding_table["33037"] = [235,218] let s:lib.Codec.encoding_table["33038"] = [235,219] let s:lib.Codec.encoding_table["33010"] = [235,220] let s:lib.Codec.encoding_table["33020"] = [235,221] let s:lib.Codec.encoding_table["26389"] = [235,222] let s:lib.Codec.encoding_table["33042"] = [235,223] let s:lib.Codec.encoding_table["35930"] = [235,224] let s:lib.Codec.encoding_table["33078"] = [235,225] let s:lib.Codec.encoding_table["33054"] = [235,226] let s:lib.Codec.encoding_table["33068"] = [235,227] let s:lib.Codec.encoding_table["33048"] = [235,228] let s:lib.Codec.encoding_table["33074"] = [235,229] let s:lib.Codec.encoding_table["33096"] = [235,230] let s:lib.Codec.encoding_table["33100"] = [235,231] let s:lib.Codec.encoding_table["33107"] = [235,232] let s:lib.Codec.encoding_table["33140"] = [235,233] let s:lib.Codec.encoding_table["33113"] = [235,234] let s:lib.Codec.encoding_table["33114"] = [235,235] let s:lib.Codec.encoding_table["33137"] = [235,236] let s:lib.Codec.encoding_table["33120"] = [235,237] let s:lib.Codec.encoding_table["33129"] = [235,238] let s:lib.Codec.encoding_table["33148"] = [235,239] let s:lib.Codec.encoding_table["33149"] = [235,240] let s:lib.Codec.encoding_table["33133"] = [235,241] let s:lib.Codec.encoding_table["33127"] = [235,242] let s:lib.Codec.encoding_table["22605"] = [235,243] let s:lib.Codec.encoding_table["23221"] = [235,244] let s:lib.Codec.encoding_table["33160"] = [235,245] let s:lib.Codec.encoding_table["33154"] = [235,246] let s:lib.Codec.encoding_table["33169"] = [235,247] let s:lib.Codec.encoding_table["28373"] = [235,248] let s:lib.Codec.encoding_table["33187"] = [235,249] let s:lib.Codec.encoding_table["33194"] = [235,250] let s:lib.Codec.encoding_table["33228"] = [235,251] let s:lib.Codec.encoding_table["26406"] = [235,252] let s:lib.Codec.encoding_table["33226"] = [235,253] let s:lib.Codec.encoding_table["33211"] = [235,254] let s:lib.Codec.encoding_table["38689"] = [236,64] let s:lib.Codec.encoding_table["38690"] = [236,65] let s:lib.Codec.encoding_table["38691"] = [236,66] let s:lib.Codec.encoding_table["38692"] = [236,67] let s:lib.Codec.encoding_table["38693"] = [236,68] let s:lib.Codec.encoding_table["38694"] = [236,69] let s:lib.Codec.encoding_table["38695"] = [236,70] let s:lib.Codec.encoding_table["38696"] = [236,71] let s:lib.Codec.encoding_table["38697"] = [236,72] let s:lib.Codec.encoding_table["38699"] = [236,73] let s:lib.Codec.encoding_table["38700"] = [236,74] let s:lib.Codec.encoding_table["38702"] = [236,75] let s:lib.Codec.encoding_table["38703"] = [236,76] let s:lib.Codec.encoding_table["38705"] = [236,77] let s:lib.Codec.encoding_table["38707"] = [236,78] let s:lib.Codec.encoding_table["38708"] = [236,79] let s:lib.Codec.encoding_table["38709"] = [236,80] let s:lib.Codec.encoding_table["38710"] = [236,81] let s:lib.Codec.encoding_table["38711"] = [236,82] let s:lib.Codec.encoding_table["38714"] = [236,83] let s:lib.Codec.encoding_table["38715"] = [236,84] let s:lib.Codec.encoding_table["38716"] = [236,85] let s:lib.Codec.encoding_table["38717"] = [236,86] let s:lib.Codec.encoding_table["38719"] = [236,87] let s:lib.Codec.encoding_table["38720"] = [236,88] let s:lib.Codec.encoding_table["38721"] = [236,89] let s:lib.Codec.encoding_table["38722"] = [236,90] let s:lib.Codec.encoding_table["38723"] = [236,91] let s:lib.Codec.encoding_table["38724"] = [236,92] let s:lib.Codec.encoding_table["38725"] = [236,93] let s:lib.Codec.encoding_table["38726"] = [236,94] let s:lib.Codec.encoding_table["38727"] = [236,95] let s:lib.Codec.encoding_table["38728"] = [236,96] let s:lib.Codec.encoding_table["38729"] = [236,97] let s:lib.Codec.encoding_table["38730"] = [236,98] let s:lib.Codec.encoding_table["38731"] = [236,99] let s:lib.Codec.encoding_table["38732"] = [236,100] let s:lib.Codec.encoding_table["38733"] = [236,101] let s:lib.Codec.encoding_table["38734"] = [236,102] let s:lib.Codec.encoding_table["38735"] = [236,103] let s:lib.Codec.encoding_table["38736"] = [236,104] let s:lib.Codec.encoding_table["38737"] = [236,105] let s:lib.Codec.encoding_table["38740"] = [236,106] let s:lib.Codec.encoding_table["38741"] = [236,107] let s:lib.Codec.encoding_table["38743"] = [236,108] let s:lib.Codec.encoding_table["38744"] = [236,109] let s:lib.Codec.encoding_table["38746"] = [236,110] let s:lib.Codec.encoding_table["38748"] = [236,111] let s:lib.Codec.encoding_table["38749"] = [236,112] let s:lib.Codec.encoding_table["38751"] = [236,113] let s:lib.Codec.encoding_table["38755"] = [236,114] let s:lib.Codec.encoding_table["38756"] = [236,115] let s:lib.Codec.encoding_table["38758"] = [236,116] let s:lib.Codec.encoding_table["38759"] = [236,117] let s:lib.Codec.encoding_table["38760"] = [236,118] let s:lib.Codec.encoding_table["38762"] = [236,119] let s:lib.Codec.encoding_table["38763"] = [236,120] let s:lib.Codec.encoding_table["38764"] = [236,121] let s:lib.Codec.encoding_table["38765"] = [236,122] let s:lib.Codec.encoding_table["38766"] = [236,123] let s:lib.Codec.encoding_table["38767"] = [236,124] let s:lib.Codec.encoding_table["38768"] = [236,125] let s:lib.Codec.encoding_table["38769"] = [236,126] let s:lib.Codec.encoding_table["38770"] = [236,128] let s:lib.Codec.encoding_table["38773"] = [236,129] let s:lib.Codec.encoding_table["38775"] = [236,130] let s:lib.Codec.encoding_table["38776"] = [236,131] let s:lib.Codec.encoding_table["38777"] = [236,132] let s:lib.Codec.encoding_table["38778"] = [236,133] let s:lib.Codec.encoding_table["38779"] = [236,134] let s:lib.Codec.encoding_table["38781"] = [236,135] let s:lib.Codec.encoding_table["38782"] = [236,136] let s:lib.Codec.encoding_table["38783"] = [236,137] let s:lib.Codec.encoding_table["38784"] = [236,138] let s:lib.Codec.encoding_table["38785"] = [236,139] let s:lib.Codec.encoding_table["38786"] = [236,140] let s:lib.Codec.encoding_table["38787"] = [236,141] let s:lib.Codec.encoding_table["38788"] = [236,142] let s:lib.Codec.encoding_table["38790"] = [236,143] let s:lib.Codec.encoding_table["38791"] = [236,144] let s:lib.Codec.encoding_table["38792"] = [236,145] let s:lib.Codec.encoding_table["38793"] = [236,146] let s:lib.Codec.encoding_table["38794"] = [236,147] let s:lib.Codec.encoding_table["38796"] = [236,148] let s:lib.Codec.encoding_table["38798"] = [236,149] let s:lib.Codec.encoding_table["38799"] = [236,150] let s:lib.Codec.encoding_table["38800"] = [236,151] let s:lib.Codec.encoding_table["38803"] = [236,152] let s:lib.Codec.encoding_table["38805"] = [236,153] let s:lib.Codec.encoding_table["38806"] = [236,154] let s:lib.Codec.encoding_table["38807"] = [236,155] let s:lib.Codec.encoding_table["38809"] = [236,156] let s:lib.Codec.encoding_table["38810"] = [236,157] let s:lib.Codec.encoding_table["38811"] = [236,158] let s:lib.Codec.encoding_table["38812"] = [236,159] let s:lib.Codec.encoding_table["38813"] = [236,160] let s:lib.Codec.encoding_table["33217"] = [236,161] let s:lib.Codec.encoding_table["33190"] = [236,162] let s:lib.Codec.encoding_table["27428"] = [236,163] let s:lib.Codec.encoding_table["27447"] = [236,164] let s:lib.Codec.encoding_table["27449"] = [236,165] let s:lib.Codec.encoding_table["27459"] = [236,166] let s:lib.Codec.encoding_table["27462"] = [236,167] let s:lib.Codec.encoding_table["27481"] = [236,168] let s:lib.Codec.encoding_table["39121"] = [236,169] let s:lib.Codec.encoding_table["39122"] = [236,170] let s:lib.Codec.encoding_table["39123"] = [236,171] let s:lib.Codec.encoding_table["39125"] = [236,172] let s:lib.Codec.encoding_table["39129"] = [236,173] let s:lib.Codec.encoding_table["39130"] = [236,174] let s:lib.Codec.encoding_table["27571"] = [236,175] let s:lib.Codec.encoding_table["24384"] = [236,176] let s:lib.Codec.encoding_table["27586"] = [236,177] let s:lib.Codec.encoding_table["35315"] = [236,178] let s:lib.Codec.encoding_table["26000"] = [236,179] let s:lib.Codec.encoding_table["40785"] = [236,180] let s:lib.Codec.encoding_table["26003"] = [236,181] let s:lib.Codec.encoding_table["26044"] = [236,182] let s:lib.Codec.encoding_table["26054"] = [236,183] let s:lib.Codec.encoding_table["26052"] = [236,184] let s:lib.Codec.encoding_table["26051"] = [236,185] let s:lib.Codec.encoding_table["26060"] = [236,186] let s:lib.Codec.encoding_table["26062"] = [236,187] let s:lib.Codec.encoding_table["26066"] = [236,188] let s:lib.Codec.encoding_table["26070"] = [236,189] let s:lib.Codec.encoding_table["28800"] = [236,190] let s:lib.Codec.encoding_table["28828"] = [236,191] let s:lib.Codec.encoding_table["28822"] = [236,192] let s:lib.Codec.encoding_table["28829"] = [236,193] let s:lib.Codec.encoding_table["28859"] = [236,194] let s:lib.Codec.encoding_table["28864"] = [236,195] let s:lib.Codec.encoding_table["28855"] = [236,196] let s:lib.Codec.encoding_table["28843"] = [236,197] let s:lib.Codec.encoding_table["28849"] = [236,198] let s:lib.Codec.encoding_table["28904"] = [236,199] let s:lib.Codec.encoding_table["28874"] = [236,200] let s:lib.Codec.encoding_table["28944"] = [236,201] let s:lib.Codec.encoding_table["28947"] = [236,202] let s:lib.Codec.encoding_table["28950"] = [236,203] let s:lib.Codec.encoding_table["28975"] = [236,204] let s:lib.Codec.encoding_table["28977"] = [236,205] let s:lib.Codec.encoding_table["29043"] = [236,206] let s:lib.Codec.encoding_table["29020"] = [236,207] let s:lib.Codec.encoding_table["29032"] = [236,208] let s:lib.Codec.encoding_table["28997"] = [236,209] let s:lib.Codec.encoding_table["29042"] = [236,210] let s:lib.Codec.encoding_table["29002"] = [236,211] let s:lib.Codec.encoding_table["29048"] = [236,212] let s:lib.Codec.encoding_table["29050"] = [236,213] let s:lib.Codec.encoding_table["29080"] = [236,214] let s:lib.Codec.encoding_table["29107"] = [236,215] let s:lib.Codec.encoding_table["29109"] = [236,216] let s:lib.Codec.encoding_table["29096"] = [236,217] let s:lib.Codec.encoding_table["29088"] = [236,218] let s:lib.Codec.encoding_table["29152"] = [236,219] let s:lib.Codec.encoding_table["29140"] = [236,220] let s:lib.Codec.encoding_table["29159"] = [236,221] let s:lib.Codec.encoding_table["29177"] = [236,222] let s:lib.Codec.encoding_table["29213"] = [236,223] let s:lib.Codec.encoding_table["29224"] = [236,224] let s:lib.Codec.encoding_table["28780"] = [236,225] let s:lib.Codec.encoding_table["28952"] = [236,226] let s:lib.Codec.encoding_table["29030"] = [236,227] let s:lib.Codec.encoding_table["29113"] = [236,228] let s:lib.Codec.encoding_table["25150"] = [236,229] let s:lib.Codec.encoding_table["25149"] = [236,230] let s:lib.Codec.encoding_table["25155"] = [236,231] let s:lib.Codec.encoding_table["25160"] = [236,232] let s:lib.Codec.encoding_table["25161"] = [236,233] let s:lib.Codec.encoding_table["31035"] = [236,234] let s:lib.Codec.encoding_table["31040"] = [236,235] let s:lib.Codec.encoding_table["31046"] = [236,236] let s:lib.Codec.encoding_table["31049"] = [236,237] let s:lib.Codec.encoding_table["31067"] = [236,238] let s:lib.Codec.encoding_table["31068"] = [236,239] let s:lib.Codec.encoding_table["31059"] = [236,240] let s:lib.Codec.encoding_table["31066"] = [236,241] let s:lib.Codec.encoding_table["31074"] = [236,242] let s:lib.Codec.encoding_table["31063"] = [236,243] let s:lib.Codec.encoding_table["31072"] = [236,244] let s:lib.Codec.encoding_table["31087"] = [236,245] let s:lib.Codec.encoding_table["31079"] = [236,246] let s:lib.Codec.encoding_table["31098"] = [236,247] let s:lib.Codec.encoding_table["31109"] = [236,248] let s:lib.Codec.encoding_table["31114"] = [236,249] let s:lib.Codec.encoding_table["31130"] = [236,250] let s:lib.Codec.encoding_table["31143"] = [236,251] let s:lib.Codec.encoding_table["31155"] = [236,252] let s:lib.Codec.encoding_table["24529"] = [236,253] let s:lib.Codec.encoding_table["24528"] = [236,254] let s:lib.Codec.encoding_table["38814"] = [237,64] let s:lib.Codec.encoding_table["38815"] = [237,65] let s:lib.Codec.encoding_table["38817"] = [237,66] let s:lib.Codec.encoding_table["38818"] = [237,67] let s:lib.Codec.encoding_table["38820"] = [237,68] let s:lib.Codec.encoding_table["38821"] = [237,69] let s:lib.Codec.encoding_table["38822"] = [237,70] let s:lib.Codec.encoding_table["38823"] = [237,71] let s:lib.Codec.encoding_table["38824"] = [237,72] let s:lib.Codec.encoding_table["38825"] = [237,73] let s:lib.Codec.encoding_table["38826"] = [237,74] let s:lib.Codec.encoding_table["38828"] = [237,75] let s:lib.Codec.encoding_table["38830"] = [237,76] let s:lib.Codec.encoding_table["38832"] = [237,77] let s:lib.Codec.encoding_table["38833"] = [237,78] let s:lib.Codec.encoding_table["38835"] = [237,79] let s:lib.Codec.encoding_table["38837"] = [237,80] let s:lib.Codec.encoding_table["38838"] = [237,81] let s:lib.Codec.encoding_table["38839"] = [237,82] let s:lib.Codec.encoding_table["38840"] = [237,83] let s:lib.Codec.encoding_table["38841"] = [237,84] let s:lib.Codec.encoding_table["38842"] = [237,85] let s:lib.Codec.encoding_table["38843"] = [237,86] let s:lib.Codec.encoding_table["38844"] = [237,87] let s:lib.Codec.encoding_table["38845"] = [237,88] let s:lib.Codec.encoding_table["38846"] = [237,89] let s:lib.Codec.encoding_table["38847"] = [237,90] let s:lib.Codec.encoding_table["38848"] = [237,91] let s:lib.Codec.encoding_table["38849"] = [237,92] let s:lib.Codec.encoding_table["38850"] = [237,93] let s:lib.Codec.encoding_table["38851"] = [237,94] let s:lib.Codec.encoding_table["38852"] = [237,95] let s:lib.Codec.encoding_table["38853"] = [237,96] let s:lib.Codec.encoding_table["38854"] = [237,97] let s:lib.Codec.encoding_table["38855"] = [237,98] let s:lib.Codec.encoding_table["38856"] = [237,99] let s:lib.Codec.encoding_table["38857"] = [237,100] let s:lib.Codec.encoding_table["38858"] = [237,101] let s:lib.Codec.encoding_table["38859"] = [237,102] let s:lib.Codec.encoding_table["38860"] = [237,103] let s:lib.Codec.encoding_table["38861"] = [237,104] let s:lib.Codec.encoding_table["38862"] = [237,105] let s:lib.Codec.encoding_table["38863"] = [237,106] let s:lib.Codec.encoding_table["38864"] = [237,107] let s:lib.Codec.encoding_table["38865"] = [237,108] let s:lib.Codec.encoding_table["38866"] = [237,109] let s:lib.Codec.encoding_table["38867"] = [237,110] let s:lib.Codec.encoding_table["38868"] = [237,111] let s:lib.Codec.encoding_table["38869"] = [237,112] let s:lib.Codec.encoding_table["38870"] = [237,113] let s:lib.Codec.encoding_table["38871"] = [237,114] let s:lib.Codec.encoding_table["38872"] = [237,115] let s:lib.Codec.encoding_table["38873"] = [237,116] let s:lib.Codec.encoding_table["38874"] = [237,117] let s:lib.Codec.encoding_table["38875"] = [237,118] let s:lib.Codec.encoding_table["38876"] = [237,119] let s:lib.Codec.encoding_table["38877"] = [237,120] let s:lib.Codec.encoding_table["38878"] = [237,121] let s:lib.Codec.encoding_table["38879"] = [237,122] let s:lib.Codec.encoding_table["38880"] = [237,123] let s:lib.Codec.encoding_table["38881"] = [237,124] let s:lib.Codec.encoding_table["38882"] = [237,125] let s:lib.Codec.encoding_table["38883"] = [237,126] let s:lib.Codec.encoding_table["38884"] = [237,128] let s:lib.Codec.encoding_table["38885"] = [237,129] let s:lib.Codec.encoding_table["38888"] = [237,130] let s:lib.Codec.encoding_table["38894"] = [237,131] let s:lib.Codec.encoding_table["38895"] = [237,132] let s:lib.Codec.encoding_table["38896"] = [237,133] let s:lib.Codec.encoding_table["38897"] = [237,134] let s:lib.Codec.encoding_table["38898"] = [237,135] let s:lib.Codec.encoding_table["38900"] = [237,136] let s:lib.Codec.encoding_table["38903"] = [237,137] let s:lib.Codec.encoding_table["38904"] = [237,138] let s:lib.Codec.encoding_table["38905"] = [237,139] let s:lib.Codec.encoding_table["38906"] = [237,140] let s:lib.Codec.encoding_table["38907"] = [237,141] let s:lib.Codec.encoding_table["38908"] = [237,142] let s:lib.Codec.encoding_table["38909"] = [237,143] let s:lib.Codec.encoding_table["38910"] = [237,144] let s:lib.Codec.encoding_table["38911"] = [237,145] let s:lib.Codec.encoding_table["38912"] = [237,146] let s:lib.Codec.encoding_table["38913"] = [237,147] let s:lib.Codec.encoding_table["38914"] = [237,148] let s:lib.Codec.encoding_table["38915"] = [237,149] let s:lib.Codec.encoding_table["38916"] = [237,150] let s:lib.Codec.encoding_table["38917"] = [237,151] let s:lib.Codec.encoding_table["38918"] = [237,152] let s:lib.Codec.encoding_table["38919"] = [237,153] let s:lib.Codec.encoding_table["38920"] = [237,154] let s:lib.Codec.encoding_table["38921"] = [237,155] let s:lib.Codec.encoding_table["38922"] = [237,156] let s:lib.Codec.encoding_table["38923"] = [237,157] let s:lib.Codec.encoding_table["38924"] = [237,158] let s:lib.Codec.encoding_table["38925"] = [237,159] let s:lib.Codec.encoding_table["38926"] = [237,160] let s:lib.Codec.encoding_table["24636"] = [237,161] let s:lib.Codec.encoding_table["24669"] = [237,162] let s:lib.Codec.encoding_table["24666"] = [237,163] let s:lib.Codec.encoding_table["24679"] = [237,164] let s:lib.Codec.encoding_table["24641"] = [237,165] let s:lib.Codec.encoding_table["24665"] = [237,166] let s:lib.Codec.encoding_table["24675"] = [237,167] let s:lib.Codec.encoding_table["24747"] = [237,168] let s:lib.Codec.encoding_table["24838"] = [237,169] let s:lib.Codec.encoding_table["24845"] = [237,170] let s:lib.Codec.encoding_table["24925"] = [237,171] let s:lib.Codec.encoding_table["25001"] = [237,172] let s:lib.Codec.encoding_table["24989"] = [237,173] let s:lib.Codec.encoding_table["25035"] = [237,174] let s:lib.Codec.encoding_table["25041"] = [237,175] let s:lib.Codec.encoding_table["25094"] = [237,176] let s:lib.Codec.encoding_table["32896"] = [237,177] let s:lib.Codec.encoding_table["32895"] = [237,178] let s:lib.Codec.encoding_table["27795"] = [237,179] let s:lib.Codec.encoding_table["27894"] = [237,180] let s:lib.Codec.encoding_table["28156"] = [237,181] let s:lib.Codec.encoding_table["30710"] = [237,182] let s:lib.Codec.encoding_table["30712"] = [237,183] let s:lib.Codec.encoding_table["30720"] = [237,184] let s:lib.Codec.encoding_table["30729"] = [237,185] let s:lib.Codec.encoding_table["30743"] = [237,186] let s:lib.Codec.encoding_table["30744"] = [237,187] let s:lib.Codec.encoding_table["30737"] = [237,188] let s:lib.Codec.encoding_table["26027"] = [237,189] let s:lib.Codec.encoding_table["30765"] = [237,190] let s:lib.Codec.encoding_table["30748"] = [237,191] let s:lib.Codec.encoding_table["30749"] = [237,192] let s:lib.Codec.encoding_table["30777"] = [237,193] let s:lib.Codec.encoding_table["30778"] = [237,194] let s:lib.Codec.encoding_table["30779"] = [237,195] let s:lib.Codec.encoding_table["30751"] = [237,196] let s:lib.Codec.encoding_table["30780"] = [237,197] let s:lib.Codec.encoding_table["30757"] = [237,198] let s:lib.Codec.encoding_table["30764"] = [237,199] let s:lib.Codec.encoding_table["30755"] = [237,200] let s:lib.Codec.encoding_table["30761"] = [237,201] let s:lib.Codec.encoding_table["30798"] = [237,202] let s:lib.Codec.encoding_table["30829"] = [237,203] let s:lib.Codec.encoding_table["30806"] = [237,204] let s:lib.Codec.encoding_table["30807"] = [237,205] let s:lib.Codec.encoding_table["30758"] = [237,206] let s:lib.Codec.encoding_table["30800"] = [237,207] let s:lib.Codec.encoding_table["30791"] = [237,208] let s:lib.Codec.encoding_table["30796"] = [237,209] let s:lib.Codec.encoding_table["30826"] = [237,210] let s:lib.Codec.encoding_table["30875"] = [237,211] let s:lib.Codec.encoding_table["30867"] = [237,212] let s:lib.Codec.encoding_table["30874"] = [237,213] let s:lib.Codec.encoding_table["30855"] = [237,214] let s:lib.Codec.encoding_table["30876"] = [237,215] let s:lib.Codec.encoding_table["30881"] = [237,216] let s:lib.Codec.encoding_table["30883"] = [237,217] let s:lib.Codec.encoding_table["30898"] = [237,218] let s:lib.Codec.encoding_table["30905"] = [237,219] let s:lib.Codec.encoding_table["30885"] = [237,220] let s:lib.Codec.encoding_table["30932"] = [237,221] let s:lib.Codec.encoding_table["30937"] = [237,222] let s:lib.Codec.encoding_table["30921"] = [237,223] let s:lib.Codec.encoding_table["30956"] = [237,224] let s:lib.Codec.encoding_table["30962"] = [237,225] let s:lib.Codec.encoding_table["30981"] = [237,226] let s:lib.Codec.encoding_table["30964"] = [237,227] let s:lib.Codec.encoding_table["30995"] = [237,228] let s:lib.Codec.encoding_table["31012"] = [237,229] let s:lib.Codec.encoding_table["31006"] = [237,230] let s:lib.Codec.encoding_table["31028"] = [237,231] let s:lib.Codec.encoding_table["40859"] = [237,232] let s:lib.Codec.encoding_table["40697"] = [237,233] let s:lib.Codec.encoding_table["40699"] = [237,234] let s:lib.Codec.encoding_table["40700"] = [237,235] let s:lib.Codec.encoding_table["30449"] = [237,236] let s:lib.Codec.encoding_table["30468"] = [237,237] let s:lib.Codec.encoding_table["30477"] = [237,238] let s:lib.Codec.encoding_table["30457"] = [237,239] let s:lib.Codec.encoding_table["30471"] = [237,240] let s:lib.Codec.encoding_table["30472"] = [237,241] let s:lib.Codec.encoding_table["30490"] = [237,242] let s:lib.Codec.encoding_table["30498"] = [237,243] let s:lib.Codec.encoding_table["30489"] = [237,244] let s:lib.Codec.encoding_table["30509"] = [237,245] let s:lib.Codec.encoding_table["30502"] = [237,246] let s:lib.Codec.encoding_table["30517"] = [237,247] let s:lib.Codec.encoding_table["30520"] = [237,248] let s:lib.Codec.encoding_table["30544"] = [237,249] let s:lib.Codec.encoding_table["30545"] = [237,250] let s:lib.Codec.encoding_table["30535"] = [237,251] let s:lib.Codec.encoding_table["30531"] = [237,252] let s:lib.Codec.encoding_table["30554"] = [237,253] let s:lib.Codec.encoding_table["30568"] = [237,254] let s:lib.Codec.encoding_table["38927"] = [238,64] let s:lib.Codec.encoding_table["38928"] = [238,65] let s:lib.Codec.encoding_table["38929"] = [238,66] let s:lib.Codec.encoding_table["38930"] = [238,67] let s:lib.Codec.encoding_table["38931"] = [238,68] let s:lib.Codec.encoding_table["38932"] = [238,69] let s:lib.Codec.encoding_table["38933"] = [238,70] let s:lib.Codec.encoding_table["38934"] = [238,71] let s:lib.Codec.encoding_table["38935"] = [238,72] let s:lib.Codec.encoding_table["38936"] = [238,73] let s:lib.Codec.encoding_table["38937"] = [238,74] let s:lib.Codec.encoding_table["38938"] = [238,75] let s:lib.Codec.encoding_table["38939"] = [238,76] let s:lib.Codec.encoding_table["38940"] = [238,77] let s:lib.Codec.encoding_table["38941"] = [238,78] let s:lib.Codec.encoding_table["38942"] = [238,79] let s:lib.Codec.encoding_table["38943"] = [238,80] let s:lib.Codec.encoding_table["38944"] = [238,81] let s:lib.Codec.encoding_table["38945"] = [238,82] let s:lib.Codec.encoding_table["38946"] = [238,83] let s:lib.Codec.encoding_table["38947"] = [238,84] let s:lib.Codec.encoding_table["38948"] = [238,85] let s:lib.Codec.encoding_table["38949"] = [238,86] let s:lib.Codec.encoding_table["38950"] = [238,87] let s:lib.Codec.encoding_table["38951"] = [238,88] let s:lib.Codec.encoding_table["38952"] = [238,89] let s:lib.Codec.encoding_table["38953"] = [238,90] let s:lib.Codec.encoding_table["38954"] = [238,91] let s:lib.Codec.encoding_table["38955"] = [238,92] let s:lib.Codec.encoding_table["38956"] = [238,93] let s:lib.Codec.encoding_table["38957"] = [238,94] let s:lib.Codec.encoding_table["38958"] = [238,95] let s:lib.Codec.encoding_table["38959"] = [238,96] let s:lib.Codec.encoding_table["38960"] = [238,97] let s:lib.Codec.encoding_table["38961"] = [238,98] let s:lib.Codec.encoding_table["38962"] = [238,99] let s:lib.Codec.encoding_table["38963"] = [238,100] let s:lib.Codec.encoding_table["38964"] = [238,101] let s:lib.Codec.encoding_table["38965"] = [238,102] let s:lib.Codec.encoding_table["38966"] = [238,103] let s:lib.Codec.encoding_table["38967"] = [238,104] let s:lib.Codec.encoding_table["38968"] = [238,105] let s:lib.Codec.encoding_table["38969"] = [238,106] let s:lib.Codec.encoding_table["38970"] = [238,107] let s:lib.Codec.encoding_table["38971"] = [238,108] let s:lib.Codec.encoding_table["38972"] = [238,109] let s:lib.Codec.encoding_table["38973"] = [238,110] let s:lib.Codec.encoding_table["38974"] = [238,111] let s:lib.Codec.encoding_table["38975"] = [238,112] let s:lib.Codec.encoding_table["38976"] = [238,113] let s:lib.Codec.encoding_table["38977"] = [238,114] let s:lib.Codec.encoding_table["38978"] = [238,115] let s:lib.Codec.encoding_table["38979"] = [238,116] let s:lib.Codec.encoding_table["38980"] = [238,117] let s:lib.Codec.encoding_table["38981"] = [238,118] let s:lib.Codec.encoding_table["38982"] = [238,119] let s:lib.Codec.encoding_table["38983"] = [238,120] let s:lib.Codec.encoding_table["38984"] = [238,121] let s:lib.Codec.encoding_table["38985"] = [238,122] let s:lib.Codec.encoding_table["38986"] = [238,123] let s:lib.Codec.encoding_table["38987"] = [238,124] let s:lib.Codec.encoding_table["38988"] = [238,125] let s:lib.Codec.encoding_table["38989"] = [238,126] let s:lib.Codec.encoding_table["38990"] = [238,128] let s:lib.Codec.encoding_table["38991"] = [238,129] let s:lib.Codec.encoding_table["38992"] = [238,130] let s:lib.Codec.encoding_table["38993"] = [238,131] let s:lib.Codec.encoding_table["38994"] = [238,132] let s:lib.Codec.encoding_table["38995"] = [238,133] let s:lib.Codec.encoding_table["38996"] = [238,134] let s:lib.Codec.encoding_table["38997"] = [238,135] let s:lib.Codec.encoding_table["38998"] = [238,136] let s:lib.Codec.encoding_table["38999"] = [238,137] let s:lib.Codec.encoding_table["39000"] = [238,138] let s:lib.Codec.encoding_table["39001"] = [238,139] let s:lib.Codec.encoding_table["39002"] = [238,140] let s:lib.Codec.encoding_table["39003"] = [238,141] let s:lib.Codec.encoding_table["39004"] = [238,142] let s:lib.Codec.encoding_table["39005"] = [238,143] let s:lib.Codec.encoding_table["39006"] = [238,144] let s:lib.Codec.encoding_table["39007"] = [238,145] let s:lib.Codec.encoding_table["39008"] = [238,146] let s:lib.Codec.encoding_table["39009"] = [238,147] let s:lib.Codec.encoding_table["39010"] = [238,148] let s:lib.Codec.encoding_table["39011"] = [238,149] let s:lib.Codec.encoding_table["39012"] = [238,150] let s:lib.Codec.encoding_table["39013"] = [238,151] let s:lib.Codec.encoding_table["39014"] = [238,152] let s:lib.Codec.encoding_table["39015"] = [238,153] let s:lib.Codec.encoding_table["39016"] = [238,154] let s:lib.Codec.encoding_table["39017"] = [238,155] let s:lib.Codec.encoding_table["39018"] = [238,156] let s:lib.Codec.encoding_table["39019"] = [238,157] let s:lib.Codec.encoding_table["39020"] = [238,158] let s:lib.Codec.encoding_table["39021"] = [238,159] let s:lib.Codec.encoding_table["39022"] = [238,160] let s:lib.Codec.encoding_table["30562"] = [238,161] let s:lib.Codec.encoding_table["30565"] = [238,162] let s:lib.Codec.encoding_table["30591"] = [238,163] let s:lib.Codec.encoding_table["30605"] = [238,164] let s:lib.Codec.encoding_table["30589"] = [238,165] let s:lib.Codec.encoding_table["30592"] = [238,166] let s:lib.Codec.encoding_table["30604"] = [238,167] let s:lib.Codec.encoding_table["30609"] = [238,168] let s:lib.Codec.encoding_table["30623"] = [238,169] let s:lib.Codec.encoding_table["30624"] = [238,170] let s:lib.Codec.encoding_table["30640"] = [238,171] let s:lib.Codec.encoding_table["30645"] = [238,172] let s:lib.Codec.encoding_table["30653"] = [238,173] let s:lib.Codec.encoding_table["30010"] = [238,174] let s:lib.Codec.encoding_table["30016"] = [238,175] let s:lib.Codec.encoding_table["30030"] = [238,176] let s:lib.Codec.encoding_table["30027"] = [238,177] let s:lib.Codec.encoding_table["30024"] = [238,178] let s:lib.Codec.encoding_table["30043"] = [238,179] let s:lib.Codec.encoding_table["30066"] = [238,180] let s:lib.Codec.encoding_table["30073"] = [238,181] let s:lib.Codec.encoding_table["30083"] = [238,182] let s:lib.Codec.encoding_table["32600"] = [238,183] let s:lib.Codec.encoding_table["32609"] = [238,184] let s:lib.Codec.encoding_table["32607"] = [238,185] let s:lib.Codec.encoding_table["35400"] = [238,186] let s:lib.Codec.encoding_table["32616"] = [238,187] let s:lib.Codec.encoding_table["32628"] = [238,188] let s:lib.Codec.encoding_table["32625"] = [238,189] let s:lib.Codec.encoding_table["32633"] = [238,190] let s:lib.Codec.encoding_table["32641"] = [238,191] let s:lib.Codec.encoding_table["32638"] = [238,192] let s:lib.Codec.encoding_table["30413"] = [238,193] let s:lib.Codec.encoding_table["30437"] = [238,194] let s:lib.Codec.encoding_table["34866"] = [238,195] let s:lib.Codec.encoding_table["38021"] = [238,196] let s:lib.Codec.encoding_table["38022"] = [238,197] let s:lib.Codec.encoding_table["38023"] = [238,198] let s:lib.Codec.encoding_table["38027"] = [238,199] let s:lib.Codec.encoding_table["38026"] = [238,200] let s:lib.Codec.encoding_table["38028"] = [238,201] let s:lib.Codec.encoding_table["38029"] = [238,202] let s:lib.Codec.encoding_table["38031"] = [238,203] let s:lib.Codec.encoding_table["38032"] = [238,204] let s:lib.Codec.encoding_table["38036"] = [238,205] let s:lib.Codec.encoding_table["38039"] = [238,206] let s:lib.Codec.encoding_table["38037"] = [238,207] let s:lib.Codec.encoding_table["38042"] = [238,208] let s:lib.Codec.encoding_table["38043"] = [238,209] let s:lib.Codec.encoding_table["38044"] = [238,210] let s:lib.Codec.encoding_table["38051"] = [238,211] let s:lib.Codec.encoding_table["38052"] = [238,212] let s:lib.Codec.encoding_table["38059"] = [238,213] let s:lib.Codec.encoding_table["38058"] = [238,214] let s:lib.Codec.encoding_table["38061"] = [238,215] let s:lib.Codec.encoding_table["38060"] = [238,216] let s:lib.Codec.encoding_table["38063"] = [238,217] let s:lib.Codec.encoding_table["38064"] = [238,218] let s:lib.Codec.encoding_table["38066"] = [238,219] let s:lib.Codec.encoding_table["38068"] = [238,220] let s:lib.Codec.encoding_table["38070"] = [238,221] let s:lib.Codec.encoding_table["38071"] = [238,222] let s:lib.Codec.encoding_table["38072"] = [238,223] let s:lib.Codec.encoding_table["38073"] = [238,224] let s:lib.Codec.encoding_table["38074"] = [238,225] let s:lib.Codec.encoding_table["38076"] = [238,226] let s:lib.Codec.encoding_table["38077"] = [238,227] let s:lib.Codec.encoding_table["38079"] = [238,228] let s:lib.Codec.encoding_table["38084"] = [238,229] let s:lib.Codec.encoding_table["38088"] = [238,230] let s:lib.Codec.encoding_table["38089"] = [238,231] let s:lib.Codec.encoding_table["38090"] = [238,232] let s:lib.Codec.encoding_table["38091"] = [238,233] let s:lib.Codec.encoding_table["38092"] = [238,234] let s:lib.Codec.encoding_table["38093"] = [238,235] let s:lib.Codec.encoding_table["38094"] = [238,236] let s:lib.Codec.encoding_table["38096"] = [238,237] let s:lib.Codec.encoding_table["38097"] = [238,238] let s:lib.Codec.encoding_table["38098"] = [238,239] let s:lib.Codec.encoding_table["38101"] = [238,240] let s:lib.Codec.encoding_table["38102"] = [238,241] let s:lib.Codec.encoding_table["38103"] = [238,242] let s:lib.Codec.encoding_table["38105"] = [238,243] let s:lib.Codec.encoding_table["38104"] = [238,244] let s:lib.Codec.encoding_table["38107"] = [238,245] let s:lib.Codec.encoding_table["38110"] = [238,246] let s:lib.Codec.encoding_table["38111"] = [238,247] let s:lib.Codec.encoding_table["38112"] = [238,248] let s:lib.Codec.encoding_table["38114"] = [238,249] let s:lib.Codec.encoding_table["38116"] = [238,250] let s:lib.Codec.encoding_table["38117"] = [238,251] let s:lib.Codec.encoding_table["38119"] = [238,252] let s:lib.Codec.encoding_table["38120"] = [238,253] let s:lib.Codec.encoding_table["38122"] = [238,254] let s:lib.Codec.encoding_table["39023"] = [239,64] let s:lib.Codec.encoding_table["39024"] = [239,65] let s:lib.Codec.encoding_table["39025"] = [239,66] let s:lib.Codec.encoding_table["39026"] = [239,67] let s:lib.Codec.encoding_table["39027"] = [239,68] let s:lib.Codec.encoding_table["39028"] = [239,69] let s:lib.Codec.encoding_table["39051"] = [239,70] let s:lib.Codec.encoding_table["39054"] = [239,71] let s:lib.Codec.encoding_table["39058"] = [239,72] let s:lib.Codec.encoding_table["39061"] = [239,73] let s:lib.Codec.encoding_table["39065"] = [239,74] let s:lib.Codec.encoding_table["39075"] = [239,75] let s:lib.Codec.encoding_table["39080"] = [239,76] let s:lib.Codec.encoding_table["39081"] = [239,77] let s:lib.Codec.encoding_table["39082"] = [239,78] let s:lib.Codec.encoding_table["39083"] = [239,79] let s:lib.Codec.encoding_table["39084"] = [239,80] let s:lib.Codec.encoding_table["39085"] = [239,81] let s:lib.Codec.encoding_table["39086"] = [239,82] let s:lib.Codec.encoding_table["39087"] = [239,83] let s:lib.Codec.encoding_table["39088"] = [239,84] let s:lib.Codec.encoding_table["39089"] = [239,85] let s:lib.Codec.encoding_table["39090"] = [239,86] let s:lib.Codec.encoding_table["39091"] = [239,87] let s:lib.Codec.encoding_table["39092"] = [239,88] let s:lib.Codec.encoding_table["39093"] = [239,89] let s:lib.Codec.encoding_table["39094"] = [239,90] let s:lib.Codec.encoding_table["39095"] = [239,91] let s:lib.Codec.encoding_table["39096"] = [239,92] let s:lib.Codec.encoding_table["39097"] = [239,93] let s:lib.Codec.encoding_table["39098"] = [239,94] let s:lib.Codec.encoding_table["39099"] = [239,95] let s:lib.Codec.encoding_table["39100"] = [239,96] let s:lib.Codec.encoding_table["39101"] = [239,97] let s:lib.Codec.encoding_table["39102"] = [239,98] let s:lib.Codec.encoding_table["39103"] = [239,99] let s:lib.Codec.encoding_table["39104"] = [239,100] let s:lib.Codec.encoding_table["39105"] = [239,101] let s:lib.Codec.encoding_table["39106"] = [239,102] let s:lib.Codec.encoding_table["39107"] = [239,103] let s:lib.Codec.encoding_table["39108"] = [239,104] let s:lib.Codec.encoding_table["39109"] = [239,105] let s:lib.Codec.encoding_table["39110"] = [239,106] let s:lib.Codec.encoding_table["39111"] = [239,107] let s:lib.Codec.encoding_table["39112"] = [239,108] let s:lib.Codec.encoding_table["39113"] = [239,109] let s:lib.Codec.encoding_table["39114"] = [239,110] let s:lib.Codec.encoding_table["39115"] = [239,111] let s:lib.Codec.encoding_table["39116"] = [239,112] let s:lib.Codec.encoding_table["39117"] = [239,113] let s:lib.Codec.encoding_table["39119"] = [239,114] let s:lib.Codec.encoding_table["39120"] = [239,115] let s:lib.Codec.encoding_table["39124"] = [239,116] let s:lib.Codec.encoding_table["39126"] = [239,117] let s:lib.Codec.encoding_table["39127"] = [239,118] let s:lib.Codec.encoding_table["39131"] = [239,119] let s:lib.Codec.encoding_table["39132"] = [239,120] let s:lib.Codec.encoding_table["39133"] = [239,121] let s:lib.Codec.encoding_table["39136"] = [239,122] let s:lib.Codec.encoding_table["39137"] = [239,123] let s:lib.Codec.encoding_table["39138"] = [239,124] let s:lib.Codec.encoding_table["39139"] = [239,125] let s:lib.Codec.encoding_table["39140"] = [239,126] let s:lib.Codec.encoding_table["39141"] = [239,128] let s:lib.Codec.encoding_table["39142"] = [239,129] let s:lib.Codec.encoding_table["39145"] = [239,130] let s:lib.Codec.encoding_table["39146"] = [239,131] let s:lib.Codec.encoding_table["39147"] = [239,132] let s:lib.Codec.encoding_table["39148"] = [239,133] let s:lib.Codec.encoding_table["39149"] = [239,134] let s:lib.Codec.encoding_table["39150"] = [239,135] let s:lib.Codec.encoding_table["39151"] = [239,136] let s:lib.Codec.encoding_table["39152"] = [239,137] let s:lib.Codec.encoding_table["39153"] = [239,138] let s:lib.Codec.encoding_table["39154"] = [239,139] let s:lib.Codec.encoding_table["39155"] = [239,140] let s:lib.Codec.encoding_table["39156"] = [239,141] let s:lib.Codec.encoding_table["39157"] = [239,142] let s:lib.Codec.encoding_table["39158"] = [239,143] let s:lib.Codec.encoding_table["39159"] = [239,144] let s:lib.Codec.encoding_table["39160"] = [239,145] let s:lib.Codec.encoding_table["39161"] = [239,146] let s:lib.Codec.encoding_table["39162"] = [239,147] let s:lib.Codec.encoding_table["39163"] = [239,148] let s:lib.Codec.encoding_table["39164"] = [239,149] let s:lib.Codec.encoding_table["39165"] = [239,150] let s:lib.Codec.encoding_table["39166"] = [239,151] let s:lib.Codec.encoding_table["39167"] = [239,152] let s:lib.Codec.encoding_table["39168"] = [239,153] let s:lib.Codec.encoding_table["39169"] = [239,154] let s:lib.Codec.encoding_table["39170"] = [239,155] let s:lib.Codec.encoding_table["39171"] = [239,156] let s:lib.Codec.encoding_table["39172"] = [239,157] let s:lib.Codec.encoding_table["39173"] = [239,158] let s:lib.Codec.encoding_table["39174"] = [239,159] let s:lib.Codec.encoding_table["39175"] = [239,160] let s:lib.Codec.encoding_table["38121"] = [239,161] let s:lib.Codec.encoding_table["38123"] = [239,162] let s:lib.Codec.encoding_table["38126"] = [239,163] let s:lib.Codec.encoding_table["38127"] = [239,164] let s:lib.Codec.encoding_table["38131"] = [239,165] let s:lib.Codec.encoding_table["38132"] = [239,166] let s:lib.Codec.encoding_table["38133"] = [239,167] let s:lib.Codec.encoding_table["38135"] = [239,168] let s:lib.Codec.encoding_table["38137"] = [239,169] let s:lib.Codec.encoding_table["38140"] = [239,170] let s:lib.Codec.encoding_table["38141"] = [239,171] let s:lib.Codec.encoding_table["38143"] = [239,172] let s:lib.Codec.encoding_table["38147"] = [239,173] let s:lib.Codec.encoding_table["38146"] = [239,174] let s:lib.Codec.encoding_table["38150"] = [239,175] let s:lib.Codec.encoding_table["38151"] = [239,176] let s:lib.Codec.encoding_table["38153"] = [239,177] let s:lib.Codec.encoding_table["38154"] = [239,178] let s:lib.Codec.encoding_table["38157"] = [239,179] let s:lib.Codec.encoding_table["38158"] = [239,180] let s:lib.Codec.encoding_table["38159"] = [239,181] let s:lib.Codec.encoding_table["38162"] = [239,182] let s:lib.Codec.encoding_table["38163"] = [239,183] let s:lib.Codec.encoding_table["38164"] = [239,184] let s:lib.Codec.encoding_table["38165"] = [239,185] let s:lib.Codec.encoding_table["38166"] = [239,186] let s:lib.Codec.encoding_table["38168"] = [239,187] let s:lib.Codec.encoding_table["38171"] = [239,188] let s:lib.Codec.encoding_table["38173"] = [239,189] let s:lib.Codec.encoding_table["38174"] = [239,190] let s:lib.Codec.encoding_table["38175"] = [239,191] let s:lib.Codec.encoding_table["38178"] = [239,192] let s:lib.Codec.encoding_table["38186"] = [239,193] let s:lib.Codec.encoding_table["38187"] = [239,194] let s:lib.Codec.encoding_table["38185"] = [239,195] let s:lib.Codec.encoding_table["38188"] = [239,196] let s:lib.Codec.encoding_table["38193"] = [239,197] let s:lib.Codec.encoding_table["38194"] = [239,198] let s:lib.Codec.encoding_table["38196"] = [239,199] let s:lib.Codec.encoding_table["38198"] = [239,200] let s:lib.Codec.encoding_table["38199"] = [239,201] let s:lib.Codec.encoding_table["38200"] = [239,202] let s:lib.Codec.encoding_table["38204"] = [239,203] let s:lib.Codec.encoding_table["38206"] = [239,204] let s:lib.Codec.encoding_table["38207"] = [239,205] let s:lib.Codec.encoding_table["38210"] = [239,206] let s:lib.Codec.encoding_table["38197"] = [239,207] let s:lib.Codec.encoding_table["38212"] = [239,208] let s:lib.Codec.encoding_table["38213"] = [239,209] let s:lib.Codec.encoding_table["38214"] = [239,210] let s:lib.Codec.encoding_table["38217"] = [239,211] let s:lib.Codec.encoding_table["38220"] = [239,212] let s:lib.Codec.encoding_table["38222"] = [239,213] let s:lib.Codec.encoding_table["38223"] = [239,214] let s:lib.Codec.encoding_table["38226"] = [239,215] let s:lib.Codec.encoding_table["38227"] = [239,216] let s:lib.Codec.encoding_table["38228"] = [239,217] let s:lib.Codec.encoding_table["38230"] = [239,218] let s:lib.Codec.encoding_table["38231"] = [239,219] let s:lib.Codec.encoding_table["38232"] = [239,220] let s:lib.Codec.encoding_table["38233"] = [239,221] let s:lib.Codec.encoding_table["38235"] = [239,222] let s:lib.Codec.encoding_table["38238"] = [239,223] let s:lib.Codec.encoding_table["38239"] = [239,224] let s:lib.Codec.encoding_table["38237"] = [239,225] let s:lib.Codec.encoding_table["38241"] = [239,226] let s:lib.Codec.encoding_table["38242"] = [239,227] let s:lib.Codec.encoding_table["38244"] = [239,228] let s:lib.Codec.encoding_table["38245"] = [239,229] let s:lib.Codec.encoding_table["38246"] = [239,230] let s:lib.Codec.encoding_table["38247"] = [239,231] let s:lib.Codec.encoding_table["38248"] = [239,232] let s:lib.Codec.encoding_table["38249"] = [239,233] let s:lib.Codec.encoding_table["38250"] = [239,234] let s:lib.Codec.encoding_table["38251"] = [239,235] let s:lib.Codec.encoding_table["38252"] = [239,236] let s:lib.Codec.encoding_table["38255"] = [239,237] let s:lib.Codec.encoding_table["38257"] = [239,238] let s:lib.Codec.encoding_table["38258"] = [239,239] let s:lib.Codec.encoding_table["38259"] = [239,240] let s:lib.Codec.encoding_table["38202"] = [239,241] let s:lib.Codec.encoding_table["30695"] = [239,242] let s:lib.Codec.encoding_table["30700"] = [239,243] let s:lib.Codec.encoding_table["38601"] = [239,244] let s:lib.Codec.encoding_table["31189"] = [239,245] let s:lib.Codec.encoding_table["31213"] = [239,246] let s:lib.Codec.encoding_table["31203"] = [239,247] let s:lib.Codec.encoding_table["31211"] = [239,248] let s:lib.Codec.encoding_table["31238"] = [239,249] let s:lib.Codec.encoding_table["23879"] = [239,250] let s:lib.Codec.encoding_table["31235"] = [239,251] let s:lib.Codec.encoding_table["31234"] = [239,252] let s:lib.Codec.encoding_table["31262"] = [239,253] let s:lib.Codec.encoding_table["31252"] = [239,254] let s:lib.Codec.encoding_table["39176"] = [240,64] let s:lib.Codec.encoding_table["39177"] = [240,65] let s:lib.Codec.encoding_table["39178"] = [240,66] let s:lib.Codec.encoding_table["39179"] = [240,67] let s:lib.Codec.encoding_table["39180"] = [240,68] let s:lib.Codec.encoding_table["39182"] = [240,69] let s:lib.Codec.encoding_table["39183"] = [240,70] let s:lib.Codec.encoding_table["39185"] = [240,71] let s:lib.Codec.encoding_table["39186"] = [240,72] let s:lib.Codec.encoding_table["39187"] = [240,73] let s:lib.Codec.encoding_table["39188"] = [240,74] let s:lib.Codec.encoding_table["39189"] = [240,75] let s:lib.Codec.encoding_table["39190"] = [240,76] let s:lib.Codec.encoding_table["39191"] = [240,77] let s:lib.Codec.encoding_table["39192"] = [240,78] let s:lib.Codec.encoding_table["39193"] = [240,79] let s:lib.Codec.encoding_table["39194"] = [240,80] let s:lib.Codec.encoding_table["39195"] = [240,81] let s:lib.Codec.encoding_table["39196"] = [240,82] let s:lib.Codec.encoding_table["39197"] = [240,83] let s:lib.Codec.encoding_table["39198"] = [240,84] let s:lib.Codec.encoding_table["39199"] = [240,85] let s:lib.Codec.encoding_table["39200"] = [240,86] let s:lib.Codec.encoding_table["39201"] = [240,87] let s:lib.Codec.encoding_table["39202"] = [240,88] let s:lib.Codec.encoding_table["39203"] = [240,89] let s:lib.Codec.encoding_table["39204"] = [240,90] let s:lib.Codec.encoding_table["39205"] = [240,91] let s:lib.Codec.encoding_table["39206"] = [240,92] let s:lib.Codec.encoding_table["39207"] = [240,93] let s:lib.Codec.encoding_table["39208"] = [240,94] let s:lib.Codec.encoding_table["39209"] = [240,95] let s:lib.Codec.encoding_table["39210"] = [240,96] let s:lib.Codec.encoding_table["39211"] = [240,97] let s:lib.Codec.encoding_table["39212"] = [240,98] let s:lib.Codec.encoding_table["39213"] = [240,99] let s:lib.Codec.encoding_table["39215"] = [240,100] let s:lib.Codec.encoding_table["39216"] = [240,101] let s:lib.Codec.encoding_table["39217"] = [240,102] let s:lib.Codec.encoding_table["39218"] = [240,103] let s:lib.Codec.encoding_table["39219"] = [240,104] let s:lib.Codec.encoding_table["39220"] = [240,105] let s:lib.Codec.encoding_table["39221"] = [240,106] let s:lib.Codec.encoding_table["39222"] = [240,107] let s:lib.Codec.encoding_table["39223"] = [240,108] let s:lib.Codec.encoding_table["39224"] = [240,109] let s:lib.Codec.encoding_table["39225"] = [240,110] let s:lib.Codec.encoding_table["39226"] = [240,111] let s:lib.Codec.encoding_table["39227"] = [240,112] let s:lib.Codec.encoding_table["39228"] = [240,113] let s:lib.Codec.encoding_table["39229"] = [240,114] let s:lib.Codec.encoding_table["39230"] = [240,115] let s:lib.Codec.encoding_table["39231"] = [240,116] let s:lib.Codec.encoding_table["39232"] = [240,117] let s:lib.Codec.encoding_table["39233"] = [240,118] let s:lib.Codec.encoding_table["39234"] = [240,119] let s:lib.Codec.encoding_table["39235"] = [240,120] let s:lib.Codec.encoding_table["39236"] = [240,121] let s:lib.Codec.encoding_table["39237"] = [240,122] let s:lib.Codec.encoding_table["39238"] = [240,123] let s:lib.Codec.encoding_table["39239"] = [240,124] let s:lib.Codec.encoding_table["39240"] = [240,125] let s:lib.Codec.encoding_table["39241"] = [240,126] let s:lib.Codec.encoding_table["39242"] = [240,128] let s:lib.Codec.encoding_table["39243"] = [240,129] let s:lib.Codec.encoding_table["39244"] = [240,130] let s:lib.Codec.encoding_table["39245"] = [240,131] let s:lib.Codec.encoding_table["39246"] = [240,132] let s:lib.Codec.encoding_table["39247"] = [240,133] let s:lib.Codec.encoding_table["39248"] = [240,134] let s:lib.Codec.encoding_table["39249"] = [240,135] let s:lib.Codec.encoding_table["39250"] = [240,136] let s:lib.Codec.encoding_table["39251"] = [240,137] let s:lib.Codec.encoding_table["39254"] = [240,138] let s:lib.Codec.encoding_table["39255"] = [240,139] let s:lib.Codec.encoding_table["39256"] = [240,140] let s:lib.Codec.encoding_table["39257"] = [240,141] let s:lib.Codec.encoding_table["39258"] = [240,142] let s:lib.Codec.encoding_table["39259"] = [240,143] let s:lib.Codec.encoding_table["39260"] = [240,144] let s:lib.Codec.encoding_table["39261"] = [240,145] let s:lib.Codec.encoding_table["39262"] = [240,146] let s:lib.Codec.encoding_table["39263"] = [240,147] let s:lib.Codec.encoding_table["39264"] = [240,148] let s:lib.Codec.encoding_table["39265"] = [240,149] let s:lib.Codec.encoding_table["39266"] = [240,150] let s:lib.Codec.encoding_table["39268"] = [240,151] let s:lib.Codec.encoding_table["39270"] = [240,152] let s:lib.Codec.encoding_table["39283"] = [240,153] let s:lib.Codec.encoding_table["39288"] = [240,154] let s:lib.Codec.encoding_table["39289"] = [240,155] let s:lib.Codec.encoding_table["39291"] = [240,156] let s:lib.Codec.encoding_table["39294"] = [240,157] let s:lib.Codec.encoding_table["39298"] = [240,158] let s:lib.Codec.encoding_table["39299"] = [240,159] let s:lib.Codec.encoding_table["39305"] = [240,160] let s:lib.Codec.encoding_table["31289"] = [240,161] let s:lib.Codec.encoding_table["31287"] = [240,162] let s:lib.Codec.encoding_table["31313"] = [240,163] let s:lib.Codec.encoding_table["40655"] = [240,164] let s:lib.Codec.encoding_table["39333"] = [240,165] let s:lib.Codec.encoding_table["31344"] = [240,166] let s:lib.Codec.encoding_table["30344"] = [240,167] let s:lib.Codec.encoding_table["30350"] = [240,168] let s:lib.Codec.encoding_table["30355"] = [240,169] let s:lib.Codec.encoding_table["30361"] = [240,170] let s:lib.Codec.encoding_table["30372"] = [240,171] let s:lib.Codec.encoding_table["29918"] = [240,172] let s:lib.Codec.encoding_table["29920"] = [240,173] let s:lib.Codec.encoding_table["29996"] = [240,174] let s:lib.Codec.encoding_table["40480"] = [240,175] let s:lib.Codec.encoding_table["40482"] = [240,176] let s:lib.Codec.encoding_table["40488"] = [240,177] let s:lib.Codec.encoding_table["40489"] = [240,178] let s:lib.Codec.encoding_table["40490"] = [240,179] let s:lib.Codec.encoding_table["40491"] = [240,180] let s:lib.Codec.encoding_table["40492"] = [240,181] let s:lib.Codec.encoding_table["40498"] = [240,182] let s:lib.Codec.encoding_table["40497"] = [240,183] let s:lib.Codec.encoding_table["40502"] = [240,184] let s:lib.Codec.encoding_table["40504"] = [240,185] let s:lib.Codec.encoding_table["40503"] = [240,186] let s:lib.Codec.encoding_table["40505"] = [240,187] let s:lib.Codec.encoding_table["40506"] = [240,188] let s:lib.Codec.encoding_table["40510"] = [240,189] let s:lib.Codec.encoding_table["40513"] = [240,190] let s:lib.Codec.encoding_table["40514"] = [240,191] let s:lib.Codec.encoding_table["40516"] = [240,192] let s:lib.Codec.encoding_table["40518"] = [240,193] let s:lib.Codec.encoding_table["40519"] = [240,194] let s:lib.Codec.encoding_table["40520"] = [240,195] let s:lib.Codec.encoding_table["40521"] = [240,196] let s:lib.Codec.encoding_table["40523"] = [240,197] let s:lib.Codec.encoding_table["40524"] = [240,198] let s:lib.Codec.encoding_table["40526"] = [240,199] let s:lib.Codec.encoding_table["40529"] = [240,200] let s:lib.Codec.encoding_table["40533"] = [240,201] let s:lib.Codec.encoding_table["40535"] = [240,202] let s:lib.Codec.encoding_table["40538"] = [240,203] let s:lib.Codec.encoding_table["40539"] = [240,204] let s:lib.Codec.encoding_table["40540"] = [240,205] let s:lib.Codec.encoding_table["40542"] = [240,206] let s:lib.Codec.encoding_table["40547"] = [240,207] let s:lib.Codec.encoding_table["40550"] = [240,208] let s:lib.Codec.encoding_table["40551"] = [240,209] let s:lib.Codec.encoding_table["40552"] = [240,210] let s:lib.Codec.encoding_table["40553"] = [240,211] let s:lib.Codec.encoding_table["40554"] = [240,212] let s:lib.Codec.encoding_table["40555"] = [240,213] let s:lib.Codec.encoding_table["40556"] = [240,214] let s:lib.Codec.encoding_table["40561"] = [240,215] let s:lib.Codec.encoding_table["40557"] = [240,216] let s:lib.Codec.encoding_table["40563"] = [240,217] let s:lib.Codec.encoding_table["30098"] = [240,218] let s:lib.Codec.encoding_table["30100"] = [240,219] let s:lib.Codec.encoding_table["30102"] = [240,220] let s:lib.Codec.encoding_table["30112"] = [240,221] let s:lib.Codec.encoding_table["30109"] = [240,222] let s:lib.Codec.encoding_table["30124"] = [240,223] let s:lib.Codec.encoding_table["30115"] = [240,224] let s:lib.Codec.encoding_table["30131"] = [240,225] let s:lib.Codec.encoding_table["30132"] = [240,226] let s:lib.Codec.encoding_table["30136"] = [240,227] let s:lib.Codec.encoding_table["30148"] = [240,228] let s:lib.Codec.encoding_table["30129"] = [240,229] let s:lib.Codec.encoding_table["30128"] = [240,230] let s:lib.Codec.encoding_table["30147"] = [240,231] let s:lib.Codec.encoding_table["30146"] = [240,232] let s:lib.Codec.encoding_table["30166"] = [240,233] let s:lib.Codec.encoding_table["30157"] = [240,234] let s:lib.Codec.encoding_table["30179"] = [240,235] let s:lib.Codec.encoding_table["30184"] = [240,236] let s:lib.Codec.encoding_table["30182"] = [240,237] let s:lib.Codec.encoding_table["30180"] = [240,238] let s:lib.Codec.encoding_table["30187"] = [240,239] let s:lib.Codec.encoding_table["30183"] = [240,240] let s:lib.Codec.encoding_table["30211"] = [240,241] let s:lib.Codec.encoding_table["30193"] = [240,242] let s:lib.Codec.encoding_table["30204"] = [240,243] let s:lib.Codec.encoding_table["30207"] = [240,244] let s:lib.Codec.encoding_table["30224"] = [240,245] let s:lib.Codec.encoding_table["30208"] = [240,246] let s:lib.Codec.encoding_table["30213"] = [240,247] let s:lib.Codec.encoding_table["30220"] = [240,248] let s:lib.Codec.encoding_table["30231"] = [240,249] let s:lib.Codec.encoding_table["30218"] = [240,250] let s:lib.Codec.encoding_table["30245"] = [240,251] let s:lib.Codec.encoding_table["30232"] = [240,252] let s:lib.Codec.encoding_table["30229"] = [240,253] let s:lib.Codec.encoding_table["30233"] = [240,254] let s:lib.Codec.encoding_table["39308"] = [241,64] let s:lib.Codec.encoding_table["39310"] = [241,65] let s:lib.Codec.encoding_table["39322"] = [241,66] let s:lib.Codec.encoding_table["39323"] = [241,67] let s:lib.Codec.encoding_table["39324"] = [241,68] let s:lib.Codec.encoding_table["39325"] = [241,69] let s:lib.Codec.encoding_table["39326"] = [241,70] let s:lib.Codec.encoding_table["39327"] = [241,71] let s:lib.Codec.encoding_table["39328"] = [241,72] let s:lib.Codec.encoding_table["39329"] = [241,73] let s:lib.Codec.encoding_table["39330"] = [241,74] let s:lib.Codec.encoding_table["39331"] = [241,75] let s:lib.Codec.encoding_table["39332"] = [241,76] let s:lib.Codec.encoding_table["39334"] = [241,77] let s:lib.Codec.encoding_table["39335"] = [241,78] let s:lib.Codec.encoding_table["39337"] = [241,79] let s:lib.Codec.encoding_table["39338"] = [241,80] let s:lib.Codec.encoding_table["39339"] = [241,81] let s:lib.Codec.encoding_table["39340"] = [241,82] let s:lib.Codec.encoding_table["39341"] = [241,83] let s:lib.Codec.encoding_table["39342"] = [241,84] let s:lib.Codec.encoding_table["39343"] = [241,85] let s:lib.Codec.encoding_table["39344"] = [241,86] let s:lib.Codec.encoding_table["39345"] = [241,87] let s:lib.Codec.encoding_table["39346"] = [241,88] let s:lib.Codec.encoding_table["39347"] = [241,89] let s:lib.Codec.encoding_table["39348"] = [241,90] let s:lib.Codec.encoding_table["39349"] = [241,91] let s:lib.Codec.encoding_table["39350"] = [241,92] let s:lib.Codec.encoding_table["39351"] = [241,93] let s:lib.Codec.encoding_table["39352"] = [241,94] let s:lib.Codec.encoding_table["39353"] = [241,95] let s:lib.Codec.encoding_table["39354"] = [241,96] let s:lib.Codec.encoding_table["39355"] = [241,97] let s:lib.Codec.encoding_table["39356"] = [241,98] let s:lib.Codec.encoding_table["39357"] = [241,99] let s:lib.Codec.encoding_table["39358"] = [241,100] let s:lib.Codec.encoding_table["39359"] = [241,101] let s:lib.Codec.encoding_table["39360"] = [241,102] let s:lib.Codec.encoding_table["39361"] = [241,103] let s:lib.Codec.encoding_table["39362"] = [241,104] let s:lib.Codec.encoding_table["39363"] = [241,105] let s:lib.Codec.encoding_table["39364"] = [241,106] let s:lib.Codec.encoding_table["39365"] = [241,107] let s:lib.Codec.encoding_table["39366"] = [241,108] let s:lib.Codec.encoding_table["39367"] = [241,109] let s:lib.Codec.encoding_table["39368"] = [241,110] let s:lib.Codec.encoding_table["39369"] = [241,111] let s:lib.Codec.encoding_table["39370"] = [241,112] let s:lib.Codec.encoding_table["39371"] = [241,113] let s:lib.Codec.encoding_table["39372"] = [241,114] let s:lib.Codec.encoding_table["39373"] = [241,115] let s:lib.Codec.encoding_table["39374"] = [241,116] let s:lib.Codec.encoding_table["39375"] = [241,117] let s:lib.Codec.encoding_table["39376"] = [241,118] let s:lib.Codec.encoding_table["39377"] = [241,119] let s:lib.Codec.encoding_table["39378"] = [241,120] let s:lib.Codec.encoding_table["39379"] = [241,121] let s:lib.Codec.encoding_table["39380"] = [241,122] let s:lib.Codec.encoding_table["39381"] = [241,123] let s:lib.Codec.encoding_table["39382"] = [241,124] let s:lib.Codec.encoding_table["39383"] = [241,125] let s:lib.Codec.encoding_table["39384"] = [241,126] let s:lib.Codec.encoding_table["39385"] = [241,128] let s:lib.Codec.encoding_table["39386"] = [241,129] let s:lib.Codec.encoding_table["39387"] = [241,130] let s:lib.Codec.encoding_table["39388"] = [241,131] let s:lib.Codec.encoding_table["39389"] = [241,132] let s:lib.Codec.encoding_table["39390"] = [241,133] let s:lib.Codec.encoding_table["39391"] = [241,134] let s:lib.Codec.encoding_table["39392"] = [241,135] let s:lib.Codec.encoding_table["39393"] = [241,136] let s:lib.Codec.encoding_table["39394"] = [241,137] let s:lib.Codec.encoding_table["39395"] = [241,138] let s:lib.Codec.encoding_table["39396"] = [241,139] let s:lib.Codec.encoding_table["39397"] = [241,140] let s:lib.Codec.encoding_table["39398"] = [241,141] let s:lib.Codec.encoding_table["39399"] = [241,142] let s:lib.Codec.encoding_table["39400"] = [241,143] let s:lib.Codec.encoding_table["39401"] = [241,144] let s:lib.Codec.encoding_table["39402"] = [241,145] let s:lib.Codec.encoding_table["39403"] = [241,146] let s:lib.Codec.encoding_table["39404"] = [241,147] let s:lib.Codec.encoding_table["39405"] = [241,148] let s:lib.Codec.encoding_table["39406"] = [241,149] let s:lib.Codec.encoding_table["39407"] = [241,150] let s:lib.Codec.encoding_table["39408"] = [241,151] let s:lib.Codec.encoding_table["39409"] = [241,152] let s:lib.Codec.encoding_table["39410"] = [241,153] let s:lib.Codec.encoding_table["39411"] = [241,154] let s:lib.Codec.encoding_table["39412"] = [241,155] let s:lib.Codec.encoding_table["39413"] = [241,156] let s:lib.Codec.encoding_table["39414"] = [241,157] let s:lib.Codec.encoding_table["39415"] = [241,158] let s:lib.Codec.encoding_table["39416"] = [241,159] let s:lib.Codec.encoding_table["39417"] = [241,160] let s:lib.Codec.encoding_table["30235"] = [241,161] let s:lib.Codec.encoding_table["30268"] = [241,162] let s:lib.Codec.encoding_table["30242"] = [241,163] let s:lib.Codec.encoding_table["30240"] = [241,164] let s:lib.Codec.encoding_table["30272"] = [241,165] let s:lib.Codec.encoding_table["30253"] = [241,166] let s:lib.Codec.encoding_table["30256"] = [241,167] let s:lib.Codec.encoding_table["30271"] = [241,168] let s:lib.Codec.encoding_table["30261"] = [241,169] let s:lib.Codec.encoding_table["30275"] = [241,170] let s:lib.Codec.encoding_table["30270"] = [241,171] let s:lib.Codec.encoding_table["30259"] = [241,172] let s:lib.Codec.encoding_table["30285"] = [241,173] let s:lib.Codec.encoding_table["30302"] = [241,174] let s:lib.Codec.encoding_table["30292"] = [241,175] let s:lib.Codec.encoding_table["30300"] = [241,176] let s:lib.Codec.encoding_table["30294"] = [241,177] let s:lib.Codec.encoding_table["30315"] = [241,178] let s:lib.Codec.encoding_table["30319"] = [241,179] let s:lib.Codec.encoding_table["32714"] = [241,180] let s:lib.Codec.encoding_table["31462"] = [241,181] let s:lib.Codec.encoding_table["31352"] = [241,182] let s:lib.Codec.encoding_table["31353"] = [241,183] let s:lib.Codec.encoding_table["31360"] = [241,184] let s:lib.Codec.encoding_table["31366"] = [241,185] let s:lib.Codec.encoding_table["31368"] = [241,186] let s:lib.Codec.encoding_table["31381"] = [241,187] let s:lib.Codec.encoding_table["31398"] = [241,188] let s:lib.Codec.encoding_table["31392"] = [241,189] let s:lib.Codec.encoding_table["31404"] = [241,190] let s:lib.Codec.encoding_table["31400"] = [241,191] let s:lib.Codec.encoding_table["31405"] = [241,192] let s:lib.Codec.encoding_table["31411"] = [241,193] let s:lib.Codec.encoding_table["34916"] = [241,194] let s:lib.Codec.encoding_table["34921"] = [241,195] let s:lib.Codec.encoding_table["34930"] = [241,196] let s:lib.Codec.encoding_table["34941"] = [241,197] let s:lib.Codec.encoding_table["34943"] = [241,198] let s:lib.Codec.encoding_table["34946"] = [241,199] let s:lib.Codec.encoding_table["34978"] = [241,200] let s:lib.Codec.encoding_table["35014"] = [241,201] let s:lib.Codec.encoding_table["34999"] = [241,202] let s:lib.Codec.encoding_table["35004"] = [241,203] let s:lib.Codec.encoding_table["35017"] = [241,204] let s:lib.Codec.encoding_table["35042"] = [241,205] let s:lib.Codec.encoding_table["35022"] = [241,206] let s:lib.Codec.encoding_table["35043"] = [241,207] let s:lib.Codec.encoding_table["35045"] = [241,208] let s:lib.Codec.encoding_table["35057"] = [241,209] let s:lib.Codec.encoding_table["35098"] = [241,210] let s:lib.Codec.encoding_table["35068"] = [241,211] let s:lib.Codec.encoding_table["35048"] = [241,212] let s:lib.Codec.encoding_table["35070"] = [241,213] let s:lib.Codec.encoding_table["35056"] = [241,214] let s:lib.Codec.encoding_table["35105"] = [241,215] let s:lib.Codec.encoding_table["35097"] = [241,216] let s:lib.Codec.encoding_table["35091"] = [241,217] let s:lib.Codec.encoding_table["35099"] = [241,218] let s:lib.Codec.encoding_table["35082"] = [241,219] let s:lib.Codec.encoding_table["35124"] = [241,220] let s:lib.Codec.encoding_table["35115"] = [241,221] let s:lib.Codec.encoding_table["35126"] = [241,222] let s:lib.Codec.encoding_table["35137"] = [241,223] let s:lib.Codec.encoding_table["35174"] = [241,224] let s:lib.Codec.encoding_table["35195"] = [241,225] let s:lib.Codec.encoding_table["30091"] = [241,226] let s:lib.Codec.encoding_table["32997"] = [241,227] let s:lib.Codec.encoding_table["30386"] = [241,228] let s:lib.Codec.encoding_table["30388"] = [241,229] let s:lib.Codec.encoding_table["30684"] = [241,230] let s:lib.Codec.encoding_table["32786"] = [241,231] let s:lib.Codec.encoding_table["32788"] = [241,232] let s:lib.Codec.encoding_table["32790"] = [241,233] let s:lib.Codec.encoding_table["32796"] = [241,234] let s:lib.Codec.encoding_table["32800"] = [241,235] let s:lib.Codec.encoding_table["32802"] = [241,236] let s:lib.Codec.encoding_table["32805"] = [241,237] let s:lib.Codec.encoding_table["32806"] = [241,238] let s:lib.Codec.encoding_table["32807"] = [241,239] let s:lib.Codec.encoding_table["32809"] = [241,240] let s:lib.Codec.encoding_table["32808"] = [241,241] let s:lib.Codec.encoding_table["32817"] = [241,242] let s:lib.Codec.encoding_table["32779"] = [241,243] let s:lib.Codec.encoding_table["32821"] = [241,244] let s:lib.Codec.encoding_table["32835"] = [241,245] let s:lib.Codec.encoding_table["32838"] = [241,246] let s:lib.Codec.encoding_table["32845"] = [241,247] let s:lib.Codec.encoding_table["32850"] = [241,248] let s:lib.Codec.encoding_table["32873"] = [241,249] let s:lib.Codec.encoding_table["32881"] = [241,250] let s:lib.Codec.encoding_table["35203"] = [241,251] let s:lib.Codec.encoding_table["39032"] = [241,252] let s:lib.Codec.encoding_table["39040"] = [241,253] let s:lib.Codec.encoding_table["39043"] = [241,254] let s:lib.Codec.encoding_table["39418"] = [242,64] let s:lib.Codec.encoding_table["39419"] = [242,65] let s:lib.Codec.encoding_table["39420"] = [242,66] let s:lib.Codec.encoding_table["39421"] = [242,67] let s:lib.Codec.encoding_table["39422"] = [242,68] let s:lib.Codec.encoding_table["39423"] = [242,69] let s:lib.Codec.encoding_table["39424"] = [242,70] let s:lib.Codec.encoding_table["39425"] = [242,71] let s:lib.Codec.encoding_table["39426"] = [242,72] let s:lib.Codec.encoding_table["39427"] = [242,73] let s:lib.Codec.encoding_table["39428"] = [242,74] let s:lib.Codec.encoding_table["39429"] = [242,75] let s:lib.Codec.encoding_table["39430"] = [242,76] let s:lib.Codec.encoding_table["39431"] = [242,77] let s:lib.Codec.encoding_table["39432"] = [242,78] let s:lib.Codec.encoding_table["39433"] = [242,79] let s:lib.Codec.encoding_table["39434"] = [242,80] let s:lib.Codec.encoding_table["39435"] = [242,81] let s:lib.Codec.encoding_table["39436"] = [242,82] let s:lib.Codec.encoding_table["39437"] = [242,83] let s:lib.Codec.encoding_table["39438"] = [242,84] let s:lib.Codec.encoding_table["39439"] = [242,85] let s:lib.Codec.encoding_table["39440"] = [242,86] let s:lib.Codec.encoding_table["39441"] = [242,87] let s:lib.Codec.encoding_table["39442"] = [242,88] let s:lib.Codec.encoding_table["39443"] = [242,89] let s:lib.Codec.encoding_table["39444"] = [242,90] let s:lib.Codec.encoding_table["39445"] = [242,91] let s:lib.Codec.encoding_table["39446"] = [242,92] let s:lib.Codec.encoding_table["39447"] = [242,93] let s:lib.Codec.encoding_table["39448"] = [242,94] let s:lib.Codec.encoding_table["39449"] = [242,95] let s:lib.Codec.encoding_table["39450"] = [242,96] let s:lib.Codec.encoding_table["39451"] = [242,97] let s:lib.Codec.encoding_table["39452"] = [242,98] let s:lib.Codec.encoding_table["39453"] = [242,99] let s:lib.Codec.encoding_table["39454"] = [242,100] let s:lib.Codec.encoding_table["39455"] = [242,101] let s:lib.Codec.encoding_table["39456"] = [242,102] let s:lib.Codec.encoding_table["39457"] = [242,103] let s:lib.Codec.encoding_table["39458"] = [242,104] let s:lib.Codec.encoding_table["39459"] = [242,105] let s:lib.Codec.encoding_table["39460"] = [242,106] let s:lib.Codec.encoding_table["39461"] = [242,107] let s:lib.Codec.encoding_table["39462"] = [242,108] let s:lib.Codec.encoding_table["39463"] = [242,109] let s:lib.Codec.encoding_table["39464"] = [242,110] let s:lib.Codec.encoding_table["39465"] = [242,111] let s:lib.Codec.encoding_table["39466"] = [242,112] let s:lib.Codec.encoding_table["39467"] = [242,113] let s:lib.Codec.encoding_table["39468"] = [242,114] let s:lib.Codec.encoding_table["39469"] = [242,115] let s:lib.Codec.encoding_table["39470"] = [242,116] let s:lib.Codec.encoding_table["39471"] = [242,117] let s:lib.Codec.encoding_table["39472"] = [242,118] let s:lib.Codec.encoding_table["39473"] = [242,119] let s:lib.Codec.encoding_table["39474"] = [242,120] let s:lib.Codec.encoding_table["39475"] = [242,121] let s:lib.Codec.encoding_table["39476"] = [242,122] let s:lib.Codec.encoding_table["39477"] = [242,123] let s:lib.Codec.encoding_table["39478"] = [242,124] let s:lib.Codec.encoding_table["39479"] = [242,125] let s:lib.Codec.encoding_table["39480"] = [242,126] let s:lib.Codec.encoding_table["39481"] = [242,128] let s:lib.Codec.encoding_table["39482"] = [242,129] let s:lib.Codec.encoding_table["39483"] = [242,130] let s:lib.Codec.encoding_table["39484"] = [242,131] let s:lib.Codec.encoding_table["39485"] = [242,132] let s:lib.Codec.encoding_table["39486"] = [242,133] let s:lib.Codec.encoding_table["39487"] = [242,134] let s:lib.Codec.encoding_table["39488"] = [242,135] let s:lib.Codec.encoding_table["39489"] = [242,136] let s:lib.Codec.encoding_table["39490"] = [242,137] let s:lib.Codec.encoding_table["39491"] = [242,138] let s:lib.Codec.encoding_table["39492"] = [242,139] let s:lib.Codec.encoding_table["39493"] = [242,140] let s:lib.Codec.encoding_table["39494"] = [242,141] let s:lib.Codec.encoding_table["39495"] = [242,142] let s:lib.Codec.encoding_table["39496"] = [242,143] let s:lib.Codec.encoding_table["39497"] = [242,144] let s:lib.Codec.encoding_table["39498"] = [242,145] let s:lib.Codec.encoding_table["39499"] = [242,146] let s:lib.Codec.encoding_table["39500"] = [242,147] let s:lib.Codec.encoding_table["39501"] = [242,148] let s:lib.Codec.encoding_table["39502"] = [242,149] let s:lib.Codec.encoding_table["39503"] = [242,150] let s:lib.Codec.encoding_table["39504"] = [242,151] let s:lib.Codec.encoding_table["39505"] = [242,152] let s:lib.Codec.encoding_table["39506"] = [242,153] let s:lib.Codec.encoding_table["39507"] = [242,154] let s:lib.Codec.encoding_table["39508"] = [242,155] let s:lib.Codec.encoding_table["39509"] = [242,156] let s:lib.Codec.encoding_table["39510"] = [242,157] let s:lib.Codec.encoding_table["39511"] = [242,158] let s:lib.Codec.encoding_table["39512"] = [242,159] let s:lib.Codec.encoding_table["39513"] = [242,160] let s:lib.Codec.encoding_table["39049"] = [242,161] let s:lib.Codec.encoding_table["39052"] = [242,162] let s:lib.Codec.encoding_table["39053"] = [242,163] let s:lib.Codec.encoding_table["39055"] = [242,164] let s:lib.Codec.encoding_table["39060"] = [242,165] let s:lib.Codec.encoding_table["39066"] = [242,166] let s:lib.Codec.encoding_table["39067"] = [242,167] let s:lib.Codec.encoding_table["39070"] = [242,168] let s:lib.Codec.encoding_table["39071"] = [242,169] let s:lib.Codec.encoding_table["39073"] = [242,170] let s:lib.Codec.encoding_table["39074"] = [242,171] let s:lib.Codec.encoding_table["39077"] = [242,172] let s:lib.Codec.encoding_table["39078"] = [242,173] let s:lib.Codec.encoding_table["34381"] = [242,174] let s:lib.Codec.encoding_table["34388"] = [242,175] let s:lib.Codec.encoding_table["34412"] = [242,176] let s:lib.Codec.encoding_table["34414"] = [242,177] let s:lib.Codec.encoding_table["34431"] = [242,178] let s:lib.Codec.encoding_table["34426"] = [242,179] let s:lib.Codec.encoding_table["34428"] = [242,180] let s:lib.Codec.encoding_table["34427"] = [242,181] let s:lib.Codec.encoding_table["34472"] = [242,182] let s:lib.Codec.encoding_table["34445"] = [242,183] let s:lib.Codec.encoding_table["34443"] = [242,184] let s:lib.Codec.encoding_table["34476"] = [242,185] let s:lib.Codec.encoding_table["34461"] = [242,186] let s:lib.Codec.encoding_table["34471"] = [242,187] let s:lib.Codec.encoding_table["34467"] = [242,188] let s:lib.Codec.encoding_table["34474"] = [242,189] let s:lib.Codec.encoding_table["34451"] = [242,190] let s:lib.Codec.encoding_table["34473"] = [242,191] let s:lib.Codec.encoding_table["34486"] = [242,192] let s:lib.Codec.encoding_table["34500"] = [242,193] let s:lib.Codec.encoding_table["34485"] = [242,194] let s:lib.Codec.encoding_table["34510"] = [242,195] let s:lib.Codec.encoding_table["34480"] = [242,196] let s:lib.Codec.encoding_table["34490"] = [242,197] let s:lib.Codec.encoding_table["34481"] = [242,198] let s:lib.Codec.encoding_table["34479"] = [242,199] let s:lib.Codec.encoding_table["34505"] = [242,200] let s:lib.Codec.encoding_table["34511"] = [242,201] let s:lib.Codec.encoding_table["34484"] = [242,202] let s:lib.Codec.encoding_table["34537"] = [242,203] let s:lib.Codec.encoding_table["34545"] = [242,204] let s:lib.Codec.encoding_table["34546"] = [242,205] let s:lib.Codec.encoding_table["34541"] = [242,206] let s:lib.Codec.encoding_table["34547"] = [242,207] let s:lib.Codec.encoding_table["34512"] = [242,208] let s:lib.Codec.encoding_table["34579"] = [242,209] let s:lib.Codec.encoding_table["34526"] = [242,210] let s:lib.Codec.encoding_table["34548"] = [242,211] let s:lib.Codec.encoding_table["34527"] = [242,212] let s:lib.Codec.encoding_table["34520"] = [242,213] let s:lib.Codec.encoding_table["34513"] = [242,214] let s:lib.Codec.encoding_table["34563"] = [242,215] let s:lib.Codec.encoding_table["34567"] = [242,216] let s:lib.Codec.encoding_table["34552"] = [242,217] let s:lib.Codec.encoding_table["34568"] = [242,218] let s:lib.Codec.encoding_table["34570"] = [242,219] let s:lib.Codec.encoding_table["34573"] = [242,220] let s:lib.Codec.encoding_table["34569"] = [242,221] let s:lib.Codec.encoding_table["34595"] = [242,222] let s:lib.Codec.encoding_table["34619"] = [242,223] let s:lib.Codec.encoding_table["34590"] = [242,224] let s:lib.Codec.encoding_table["34597"] = [242,225] let s:lib.Codec.encoding_table["34606"] = [242,226] let s:lib.Codec.encoding_table["34586"] = [242,227] let s:lib.Codec.encoding_table["34622"] = [242,228] let s:lib.Codec.encoding_table["34632"] = [242,229] let s:lib.Codec.encoding_table["34612"] = [242,230] let s:lib.Codec.encoding_table["34609"] = [242,231] let s:lib.Codec.encoding_table["34601"] = [242,232] let s:lib.Codec.encoding_table["34615"] = [242,233] let s:lib.Codec.encoding_table["34623"] = [242,234] let s:lib.Codec.encoding_table["34690"] = [242,235] let s:lib.Codec.encoding_table["34594"] = [242,236] let s:lib.Codec.encoding_table["34685"] = [242,237] let s:lib.Codec.encoding_table["34686"] = [242,238] let s:lib.Codec.encoding_table["34683"] = [242,239] let s:lib.Codec.encoding_table["34656"] = [242,240] let s:lib.Codec.encoding_table["34672"] = [242,241] let s:lib.Codec.encoding_table["34636"] = [242,242] let s:lib.Codec.encoding_table["34670"] = [242,243] let s:lib.Codec.encoding_table["34699"] = [242,244] let s:lib.Codec.encoding_table["34643"] = [242,245] let s:lib.Codec.encoding_table["34659"] = [242,246] let s:lib.Codec.encoding_table["34684"] = [242,247] let s:lib.Codec.encoding_table["34660"] = [242,248] let s:lib.Codec.encoding_table["34649"] = [242,249] let s:lib.Codec.encoding_table["34661"] = [242,250] let s:lib.Codec.encoding_table["34707"] = [242,251] let s:lib.Codec.encoding_table["34735"] = [242,252] let s:lib.Codec.encoding_table["34728"] = [242,253] let s:lib.Codec.encoding_table["34770"] = [242,254] let s:lib.Codec.encoding_table["39514"] = [243,64] let s:lib.Codec.encoding_table["39515"] = [243,65] let s:lib.Codec.encoding_table["39516"] = [243,66] let s:lib.Codec.encoding_table["39517"] = [243,67] let s:lib.Codec.encoding_table["39518"] = [243,68] let s:lib.Codec.encoding_table["39519"] = [243,69] let s:lib.Codec.encoding_table["39520"] = [243,70] let s:lib.Codec.encoding_table["39521"] = [243,71] let s:lib.Codec.encoding_table["39522"] = [243,72] let s:lib.Codec.encoding_table["39523"] = [243,73] let s:lib.Codec.encoding_table["39524"] = [243,74] let s:lib.Codec.encoding_table["39525"] = [243,75] let s:lib.Codec.encoding_table["39526"] = [243,76] let s:lib.Codec.encoding_table["39527"] = [243,77] let s:lib.Codec.encoding_table["39528"] = [243,78] let s:lib.Codec.encoding_table["39529"] = [243,79] let s:lib.Codec.encoding_table["39530"] = [243,80] let s:lib.Codec.encoding_table["39531"] = [243,81] let s:lib.Codec.encoding_table["39538"] = [243,82] let s:lib.Codec.encoding_table["39555"] = [243,83] let s:lib.Codec.encoding_table["39561"] = [243,84] let s:lib.Codec.encoding_table["39565"] = [243,85] let s:lib.Codec.encoding_table["39566"] = [243,86] let s:lib.Codec.encoding_table["39572"] = [243,87] let s:lib.Codec.encoding_table["39573"] = [243,88] let s:lib.Codec.encoding_table["39577"] = [243,89] let s:lib.Codec.encoding_table["39590"] = [243,90] let s:lib.Codec.encoding_table["39593"] = [243,91] let s:lib.Codec.encoding_table["39594"] = [243,92] let s:lib.Codec.encoding_table["39595"] = [243,93] let s:lib.Codec.encoding_table["39596"] = [243,94] let s:lib.Codec.encoding_table["39597"] = [243,95] let s:lib.Codec.encoding_table["39598"] = [243,96] let s:lib.Codec.encoding_table["39599"] = [243,97] let s:lib.Codec.encoding_table["39602"] = [243,98] let s:lib.Codec.encoding_table["39603"] = [243,99] let s:lib.Codec.encoding_table["39604"] = [243,100] let s:lib.Codec.encoding_table["39605"] = [243,101] let s:lib.Codec.encoding_table["39609"] = [243,102] let s:lib.Codec.encoding_table["39611"] = [243,103] let s:lib.Codec.encoding_table["39613"] = [243,104] let s:lib.Codec.encoding_table["39614"] = [243,105] let s:lib.Codec.encoding_table["39615"] = [243,106] let s:lib.Codec.encoding_table["39619"] = [243,107] let s:lib.Codec.encoding_table["39620"] = [243,108] let s:lib.Codec.encoding_table["39622"] = [243,109] let s:lib.Codec.encoding_table["39623"] = [243,110] let s:lib.Codec.encoding_table["39624"] = [243,111] let s:lib.Codec.encoding_table["39625"] = [243,112] let s:lib.Codec.encoding_table["39626"] = [243,113] let s:lib.Codec.encoding_table["39629"] = [243,114] let s:lib.Codec.encoding_table["39630"] = [243,115] let s:lib.Codec.encoding_table["39631"] = [243,116] let s:lib.Codec.encoding_table["39632"] = [243,117] let s:lib.Codec.encoding_table["39634"] = [243,118] let s:lib.Codec.encoding_table["39636"] = [243,119] let s:lib.Codec.encoding_table["39637"] = [243,120] let s:lib.Codec.encoding_table["39638"] = [243,121] let s:lib.Codec.encoding_table["39639"] = [243,122] let s:lib.Codec.encoding_table["39641"] = [243,123] let s:lib.Codec.encoding_table["39642"] = [243,124] let s:lib.Codec.encoding_table["39643"] = [243,125] let s:lib.Codec.encoding_table["39644"] = [243,126] let s:lib.Codec.encoding_table["39645"] = [243,128] let s:lib.Codec.encoding_table["39646"] = [243,129] let s:lib.Codec.encoding_table["39648"] = [243,130] let s:lib.Codec.encoding_table["39650"] = [243,131] let s:lib.Codec.encoding_table["39651"] = [243,132] let s:lib.Codec.encoding_table["39652"] = [243,133] let s:lib.Codec.encoding_table["39653"] = [243,134] let s:lib.Codec.encoding_table["39655"] = [243,135] let s:lib.Codec.encoding_table["39656"] = [243,136] let s:lib.Codec.encoding_table["39657"] = [243,137] let s:lib.Codec.encoding_table["39658"] = [243,138] let s:lib.Codec.encoding_table["39660"] = [243,139] let s:lib.Codec.encoding_table["39662"] = [243,140] let s:lib.Codec.encoding_table["39664"] = [243,141] let s:lib.Codec.encoding_table["39665"] = [243,142] let s:lib.Codec.encoding_table["39666"] = [243,143] let s:lib.Codec.encoding_table["39667"] = [243,144] let s:lib.Codec.encoding_table["39668"] = [243,145] let s:lib.Codec.encoding_table["39669"] = [243,146] let s:lib.Codec.encoding_table["39670"] = [243,147] let s:lib.Codec.encoding_table["39671"] = [243,148] let s:lib.Codec.encoding_table["39672"] = [243,149] let s:lib.Codec.encoding_table["39674"] = [243,150] let s:lib.Codec.encoding_table["39676"] = [243,151] let s:lib.Codec.encoding_table["39677"] = [243,152] let s:lib.Codec.encoding_table["39678"] = [243,153] let s:lib.Codec.encoding_table["39679"] = [243,154] let s:lib.Codec.encoding_table["39680"] = [243,155] let s:lib.Codec.encoding_table["39681"] = [243,156] let s:lib.Codec.encoding_table["39682"] = [243,157] let s:lib.Codec.encoding_table["39684"] = [243,158] let s:lib.Codec.encoding_table["39685"] = [243,159] let s:lib.Codec.encoding_table["39686"] = [243,160] let s:lib.Codec.encoding_table["34758"] = [243,161] let s:lib.Codec.encoding_table["34696"] = [243,162] let s:lib.Codec.encoding_table["34693"] = [243,163] let s:lib.Codec.encoding_table["34733"] = [243,164] let s:lib.Codec.encoding_table["34711"] = [243,165] let s:lib.Codec.encoding_table["34691"] = [243,166] let s:lib.Codec.encoding_table["34731"] = [243,167] let s:lib.Codec.encoding_table["34789"] = [243,168] let s:lib.Codec.encoding_table["34732"] = [243,169] let s:lib.Codec.encoding_table["34741"] = [243,170] let s:lib.Codec.encoding_table["34739"] = [243,171] let s:lib.Codec.encoding_table["34763"] = [243,172] let s:lib.Codec.encoding_table["34771"] = [243,173] let s:lib.Codec.encoding_table["34749"] = [243,174] let s:lib.Codec.encoding_table["34769"] = [243,175] let s:lib.Codec.encoding_table["34752"] = [243,176] let s:lib.Codec.encoding_table["34762"] = [243,177] let s:lib.Codec.encoding_table["34779"] = [243,178] let s:lib.Codec.encoding_table["34794"] = [243,179] let s:lib.Codec.encoding_table["34784"] = [243,180] let s:lib.Codec.encoding_table["34798"] = [243,181] let s:lib.Codec.encoding_table["34838"] = [243,182] let s:lib.Codec.encoding_table["34835"] = [243,183] let s:lib.Codec.encoding_table["34814"] = [243,184] let s:lib.Codec.encoding_table["34826"] = [243,185] let s:lib.Codec.encoding_table["34843"] = [243,186] let s:lib.Codec.encoding_table["34849"] = [243,187] let s:lib.Codec.encoding_table["34873"] = [243,188] let s:lib.Codec.encoding_table["34876"] = [243,189] let s:lib.Codec.encoding_table["32566"] = [243,190] let s:lib.Codec.encoding_table["32578"] = [243,191] let s:lib.Codec.encoding_table["32580"] = [243,192] let s:lib.Codec.encoding_table["32581"] = [243,193] let s:lib.Codec.encoding_table["33296"] = [243,194] let s:lib.Codec.encoding_table["31482"] = [243,195] let s:lib.Codec.encoding_table["31485"] = [243,196] let s:lib.Codec.encoding_table["31496"] = [243,197] let s:lib.Codec.encoding_table["31491"] = [243,198] let s:lib.Codec.encoding_table["31492"] = [243,199] let s:lib.Codec.encoding_table["31509"] = [243,200] let s:lib.Codec.encoding_table["31498"] = [243,201] let s:lib.Codec.encoding_table["31531"] = [243,202] let s:lib.Codec.encoding_table["31503"] = [243,203] let s:lib.Codec.encoding_table["31559"] = [243,204] let s:lib.Codec.encoding_table["31544"] = [243,205] let s:lib.Codec.encoding_table["31530"] = [243,206] let s:lib.Codec.encoding_table["31513"] = [243,207] let s:lib.Codec.encoding_table["31534"] = [243,208] let s:lib.Codec.encoding_table["31537"] = [243,209] let s:lib.Codec.encoding_table["31520"] = [243,210] let s:lib.Codec.encoding_table["31525"] = [243,211] let s:lib.Codec.encoding_table["31524"] = [243,212] let s:lib.Codec.encoding_table["31539"] = [243,213] let s:lib.Codec.encoding_table["31550"] = [243,214] let s:lib.Codec.encoding_table["31518"] = [243,215] let s:lib.Codec.encoding_table["31576"] = [243,216] let s:lib.Codec.encoding_table["31578"] = [243,217] let s:lib.Codec.encoding_table["31557"] = [243,218] let s:lib.Codec.encoding_table["31605"] = [243,219] let s:lib.Codec.encoding_table["31564"] = [243,220] let s:lib.Codec.encoding_table["31581"] = [243,221] let s:lib.Codec.encoding_table["31584"] = [243,222] let s:lib.Codec.encoding_table["31598"] = [243,223] let s:lib.Codec.encoding_table["31611"] = [243,224] let s:lib.Codec.encoding_table["31586"] = [243,225] let s:lib.Codec.encoding_table["31602"] = [243,226] let s:lib.Codec.encoding_table["31601"] = [243,227] let s:lib.Codec.encoding_table["31632"] = [243,228] let s:lib.Codec.encoding_table["31654"] = [243,229] let s:lib.Codec.encoding_table["31655"] = [243,230] let s:lib.Codec.encoding_table["31672"] = [243,231] let s:lib.Codec.encoding_table["31660"] = [243,232] let s:lib.Codec.encoding_table["31645"] = [243,233] let s:lib.Codec.encoding_table["31656"] = [243,234] let s:lib.Codec.encoding_table["31621"] = [243,235] let s:lib.Codec.encoding_table["31658"] = [243,236] let s:lib.Codec.encoding_table["31644"] = [243,237] let s:lib.Codec.encoding_table["31650"] = [243,238] let s:lib.Codec.encoding_table["31659"] = [243,239] let s:lib.Codec.encoding_table["31668"] = [243,240] let s:lib.Codec.encoding_table["31697"] = [243,241] let s:lib.Codec.encoding_table["31681"] = [243,242] let s:lib.Codec.encoding_table["31692"] = [243,243] let s:lib.Codec.encoding_table["31709"] = [243,244] let s:lib.Codec.encoding_table["31706"] = [243,245] let s:lib.Codec.encoding_table["31717"] = [243,246] let s:lib.Codec.encoding_table["31718"] = [243,247] let s:lib.Codec.encoding_table["31722"] = [243,248] let s:lib.Codec.encoding_table["31756"] = [243,249] let s:lib.Codec.encoding_table["31742"] = [243,250] let s:lib.Codec.encoding_table["31740"] = [243,251] let s:lib.Codec.encoding_table["31759"] = [243,252] let s:lib.Codec.encoding_table["31766"] = [243,253] let s:lib.Codec.encoding_table["31755"] = [243,254] let s:lib.Codec.encoding_table["39687"] = [244,64] let s:lib.Codec.encoding_table["39689"] = [244,65] let s:lib.Codec.encoding_table["39690"] = [244,66] let s:lib.Codec.encoding_table["39691"] = [244,67] let s:lib.Codec.encoding_table["39692"] = [244,68] let s:lib.Codec.encoding_table["39693"] = [244,69] let s:lib.Codec.encoding_table["39694"] = [244,70] let s:lib.Codec.encoding_table["39696"] = [244,71] let s:lib.Codec.encoding_table["39697"] = [244,72] let s:lib.Codec.encoding_table["39698"] = [244,73] let s:lib.Codec.encoding_table["39700"] = [244,74] let s:lib.Codec.encoding_table["39701"] = [244,75] let s:lib.Codec.encoding_table["39702"] = [244,76] let s:lib.Codec.encoding_table["39703"] = [244,77] let s:lib.Codec.encoding_table["39704"] = [244,78] let s:lib.Codec.encoding_table["39705"] = [244,79] let s:lib.Codec.encoding_table["39706"] = [244,80] let s:lib.Codec.encoding_table["39707"] = [244,81] let s:lib.Codec.encoding_table["39708"] = [244,82] let s:lib.Codec.encoding_table["39709"] = [244,83] let s:lib.Codec.encoding_table["39710"] = [244,84] let s:lib.Codec.encoding_table["39712"] = [244,85] let s:lib.Codec.encoding_table["39713"] = [244,86] let s:lib.Codec.encoding_table["39714"] = [244,87] let s:lib.Codec.encoding_table["39716"] = [244,88] let s:lib.Codec.encoding_table["39717"] = [244,89] let s:lib.Codec.encoding_table["39718"] = [244,90] let s:lib.Codec.encoding_table["39719"] = [244,91] let s:lib.Codec.encoding_table["39720"] = [244,92] let s:lib.Codec.encoding_table["39721"] = [244,93] let s:lib.Codec.encoding_table["39722"] = [244,94] let s:lib.Codec.encoding_table["39723"] = [244,95] let s:lib.Codec.encoding_table["39724"] = [244,96] let s:lib.Codec.encoding_table["39725"] = [244,97] let s:lib.Codec.encoding_table["39726"] = [244,98] let s:lib.Codec.encoding_table["39728"] = [244,99] let s:lib.Codec.encoding_table["39729"] = [244,100] let s:lib.Codec.encoding_table["39731"] = [244,101] let s:lib.Codec.encoding_table["39732"] = [244,102] let s:lib.Codec.encoding_table["39733"] = [244,103] let s:lib.Codec.encoding_table["39734"] = [244,104] let s:lib.Codec.encoding_table["39735"] = [244,105] let s:lib.Codec.encoding_table["39736"] = [244,106] let s:lib.Codec.encoding_table["39737"] = [244,107] let s:lib.Codec.encoding_table["39738"] = [244,108] let s:lib.Codec.encoding_table["39741"] = [244,109] let s:lib.Codec.encoding_table["39742"] = [244,110] let s:lib.Codec.encoding_table["39743"] = [244,111] let s:lib.Codec.encoding_table["39744"] = [244,112] let s:lib.Codec.encoding_table["39750"] = [244,113] let s:lib.Codec.encoding_table["39754"] = [244,114] let s:lib.Codec.encoding_table["39755"] = [244,115] let s:lib.Codec.encoding_table["39756"] = [244,116] let s:lib.Codec.encoding_table["39758"] = [244,117] let s:lib.Codec.encoding_table["39760"] = [244,118] let s:lib.Codec.encoding_table["39762"] = [244,119] let s:lib.Codec.encoding_table["39763"] = [244,120] let s:lib.Codec.encoding_table["39765"] = [244,121] let s:lib.Codec.encoding_table["39766"] = [244,122] let s:lib.Codec.encoding_table["39767"] = [244,123] let s:lib.Codec.encoding_table["39768"] = [244,124] let s:lib.Codec.encoding_table["39769"] = [244,125] let s:lib.Codec.encoding_table["39770"] = [244,126] let s:lib.Codec.encoding_table["39771"] = [244,128] let s:lib.Codec.encoding_table["39772"] = [244,129] let s:lib.Codec.encoding_table["39773"] = [244,130] let s:lib.Codec.encoding_table["39774"] = [244,131] let s:lib.Codec.encoding_table["39775"] = [244,132] let s:lib.Codec.encoding_table["39776"] = [244,133] let s:lib.Codec.encoding_table["39777"] = [244,134] let s:lib.Codec.encoding_table["39778"] = [244,135] let s:lib.Codec.encoding_table["39779"] = [244,136] let s:lib.Codec.encoding_table["39780"] = [244,137] let s:lib.Codec.encoding_table["39781"] = [244,138] let s:lib.Codec.encoding_table["39782"] = [244,139] let s:lib.Codec.encoding_table["39783"] = [244,140] let s:lib.Codec.encoding_table["39784"] = [244,141] let s:lib.Codec.encoding_table["39785"] = [244,142] let s:lib.Codec.encoding_table["39786"] = [244,143] let s:lib.Codec.encoding_table["39787"] = [244,144] let s:lib.Codec.encoding_table["39788"] = [244,145] let s:lib.Codec.encoding_table["39789"] = [244,146] let s:lib.Codec.encoding_table["39790"] = [244,147] let s:lib.Codec.encoding_table["39791"] = [244,148] let s:lib.Codec.encoding_table["39792"] = [244,149] let s:lib.Codec.encoding_table["39793"] = [244,150] let s:lib.Codec.encoding_table["39794"] = [244,151] let s:lib.Codec.encoding_table["39795"] = [244,152] let s:lib.Codec.encoding_table["39796"] = [244,153] let s:lib.Codec.encoding_table["39797"] = [244,154] let s:lib.Codec.encoding_table["39798"] = [244,155] let s:lib.Codec.encoding_table["39799"] = [244,156] let s:lib.Codec.encoding_table["39800"] = [244,157] let s:lib.Codec.encoding_table["39801"] = [244,158] let s:lib.Codec.encoding_table["39802"] = [244,159] let s:lib.Codec.encoding_table["39803"] = [244,160] let s:lib.Codec.encoding_table["31775"] = [244,161] let s:lib.Codec.encoding_table["31786"] = [244,162] let s:lib.Codec.encoding_table["31782"] = [244,163] let s:lib.Codec.encoding_table["31800"] = [244,164] let s:lib.Codec.encoding_table["31809"] = [244,165] let s:lib.Codec.encoding_table["31808"] = [244,166] let s:lib.Codec.encoding_table["33278"] = [244,167] let s:lib.Codec.encoding_table["33281"] = [244,168] let s:lib.Codec.encoding_table["33282"] = [244,169] let s:lib.Codec.encoding_table["33284"] = [244,170] let s:lib.Codec.encoding_table["33260"] = [244,171] let s:lib.Codec.encoding_table["34884"] = [244,172] let s:lib.Codec.encoding_table["33313"] = [244,173] let s:lib.Codec.encoding_table["33314"] = [244,174] let s:lib.Codec.encoding_table["33315"] = [244,175] let s:lib.Codec.encoding_table["33325"] = [244,176] let s:lib.Codec.encoding_table["33327"] = [244,177] let s:lib.Codec.encoding_table["33320"] = [244,178] let s:lib.Codec.encoding_table["33323"] = [244,179] let s:lib.Codec.encoding_table["33336"] = [244,180] let s:lib.Codec.encoding_table["33339"] = [244,181] let s:lib.Codec.encoding_table["33331"] = [244,182] let s:lib.Codec.encoding_table["33332"] = [244,183] let s:lib.Codec.encoding_table["33342"] = [244,184] let s:lib.Codec.encoding_table["33348"] = [244,185] let s:lib.Codec.encoding_table["33353"] = [244,186] let s:lib.Codec.encoding_table["33355"] = [244,187] let s:lib.Codec.encoding_table["33359"] = [244,188] let s:lib.Codec.encoding_table["33370"] = [244,189] let s:lib.Codec.encoding_table["33375"] = [244,190] let s:lib.Codec.encoding_table["33384"] = [244,191] let s:lib.Codec.encoding_table["34942"] = [244,192] let s:lib.Codec.encoding_table["34949"] = [244,193] let s:lib.Codec.encoding_table["34952"] = [244,194] let s:lib.Codec.encoding_table["35032"] = [244,195] let s:lib.Codec.encoding_table["35039"] = [244,196] let s:lib.Codec.encoding_table["35166"] = [244,197] let s:lib.Codec.encoding_table["32669"] = [244,198] let s:lib.Codec.encoding_table["32671"] = [244,199] let s:lib.Codec.encoding_table["32679"] = [244,200] let s:lib.Codec.encoding_table["32687"] = [244,201] let s:lib.Codec.encoding_table["32688"] = [244,202] let s:lib.Codec.encoding_table["32690"] = [244,203] let s:lib.Codec.encoding_table["31868"] = [244,204] let s:lib.Codec.encoding_table["25929"] = [244,205] let s:lib.Codec.encoding_table["31889"] = [244,206] let s:lib.Codec.encoding_table["31901"] = [244,207] let s:lib.Codec.encoding_table["31900"] = [244,208] let s:lib.Codec.encoding_table["31902"] = [244,209] let s:lib.Codec.encoding_table["31906"] = [244,210] let s:lib.Codec.encoding_table["31922"] = [244,211] let s:lib.Codec.encoding_table["31932"] = [244,212] let s:lib.Codec.encoding_table["31933"] = [244,213] let s:lib.Codec.encoding_table["31937"] = [244,214] let s:lib.Codec.encoding_table["31943"] = [244,215] let s:lib.Codec.encoding_table["31948"] = [244,216] let s:lib.Codec.encoding_table["31949"] = [244,217] let s:lib.Codec.encoding_table["31944"] = [244,218] let s:lib.Codec.encoding_table["31941"] = [244,219] let s:lib.Codec.encoding_table["31959"] = [244,220] let s:lib.Codec.encoding_table["31976"] = [244,221] let s:lib.Codec.encoding_table["33390"] = [244,222] let s:lib.Codec.encoding_table["26280"] = [244,223] let s:lib.Codec.encoding_table["32703"] = [244,224] let s:lib.Codec.encoding_table["32718"] = [244,225] let s:lib.Codec.encoding_table["32725"] = [244,226] let s:lib.Codec.encoding_table["32741"] = [244,227] let s:lib.Codec.encoding_table["32737"] = [244,228] let s:lib.Codec.encoding_table["32742"] = [244,229] let s:lib.Codec.encoding_table["32745"] = [244,230] let s:lib.Codec.encoding_table["32750"] = [244,231] let s:lib.Codec.encoding_table["32755"] = [244,232] let s:lib.Codec.encoding_table["31992"] = [244,233] let s:lib.Codec.encoding_table["32119"] = [244,234] let s:lib.Codec.encoding_table["32166"] = [244,235] let s:lib.Codec.encoding_table["32174"] = [244,236] let s:lib.Codec.encoding_table["32327"] = [244,237] let s:lib.Codec.encoding_table["32411"] = [244,238] let s:lib.Codec.encoding_table["40632"] = [244,239] let s:lib.Codec.encoding_table["40628"] = [244,240] let s:lib.Codec.encoding_table["36211"] = [244,241] let s:lib.Codec.encoding_table["36228"] = [244,242] let s:lib.Codec.encoding_table["36244"] = [244,243] let s:lib.Codec.encoding_table["36241"] = [244,244] let s:lib.Codec.encoding_table["36273"] = [244,245] let s:lib.Codec.encoding_table["36199"] = [244,246] let s:lib.Codec.encoding_table["36205"] = [244,247] let s:lib.Codec.encoding_table["35911"] = [244,248] let s:lib.Codec.encoding_table["35913"] = [244,249] let s:lib.Codec.encoding_table["37194"] = [244,250] let s:lib.Codec.encoding_table["37200"] = [244,251] let s:lib.Codec.encoding_table["37198"] = [244,252] let s:lib.Codec.encoding_table["37199"] = [244,253] let s:lib.Codec.encoding_table["37220"] = [244,254] let s:lib.Codec.encoding_table["39804"] = [245,64] let s:lib.Codec.encoding_table["39805"] = [245,65] let s:lib.Codec.encoding_table["39806"] = [245,66] let s:lib.Codec.encoding_table["39807"] = [245,67] let s:lib.Codec.encoding_table["39808"] = [245,68] let s:lib.Codec.encoding_table["39809"] = [245,69] let s:lib.Codec.encoding_table["39810"] = [245,70] let s:lib.Codec.encoding_table["39811"] = [245,71] let s:lib.Codec.encoding_table["39812"] = [245,72] let s:lib.Codec.encoding_table["39813"] = [245,73] let s:lib.Codec.encoding_table["39814"] = [245,74] let s:lib.Codec.encoding_table["39815"] = [245,75] let s:lib.Codec.encoding_table["39816"] = [245,76] let s:lib.Codec.encoding_table["39817"] = [245,77] let s:lib.Codec.encoding_table["39818"] = [245,78] let s:lib.Codec.encoding_table["39819"] = [245,79] let s:lib.Codec.encoding_table["39820"] = [245,80] let s:lib.Codec.encoding_table["39821"] = [245,81] let s:lib.Codec.encoding_table["39822"] = [245,82] let s:lib.Codec.encoding_table["39823"] = [245,83] let s:lib.Codec.encoding_table["39824"] = [245,84] let s:lib.Codec.encoding_table["39825"] = [245,85] let s:lib.Codec.encoding_table["39826"] = [245,86] let s:lib.Codec.encoding_table["39827"] = [245,87] let s:lib.Codec.encoding_table["39828"] = [245,88] let s:lib.Codec.encoding_table["39829"] = [245,89] let s:lib.Codec.encoding_table["39830"] = [245,90] let s:lib.Codec.encoding_table["39831"] = [245,91] let s:lib.Codec.encoding_table["39832"] = [245,92] let s:lib.Codec.encoding_table["39833"] = [245,93] let s:lib.Codec.encoding_table["39834"] = [245,94] let s:lib.Codec.encoding_table["39835"] = [245,95] let s:lib.Codec.encoding_table["39836"] = [245,96] let s:lib.Codec.encoding_table["39837"] = [245,97] let s:lib.Codec.encoding_table["39838"] = [245,98] let s:lib.Codec.encoding_table["39839"] = [245,99] let s:lib.Codec.encoding_table["39840"] = [245,100] let s:lib.Codec.encoding_table["39841"] = [245,101] let s:lib.Codec.encoding_table["39842"] = [245,102] let s:lib.Codec.encoding_table["39843"] = [245,103] let s:lib.Codec.encoding_table["39844"] = [245,104] let s:lib.Codec.encoding_table["39845"] = [245,105] let s:lib.Codec.encoding_table["39846"] = [245,106] let s:lib.Codec.encoding_table["39847"] = [245,107] let s:lib.Codec.encoding_table["39848"] = [245,108] let s:lib.Codec.encoding_table["39849"] = [245,109] let s:lib.Codec.encoding_table["39850"] = [245,110] let s:lib.Codec.encoding_table["39851"] = [245,111] let s:lib.Codec.encoding_table["39852"] = [245,112] let s:lib.Codec.encoding_table["39853"] = [245,113] let s:lib.Codec.encoding_table["39854"] = [245,114] let s:lib.Codec.encoding_table["39855"] = [245,115] let s:lib.Codec.encoding_table["39856"] = [245,116] let s:lib.Codec.encoding_table["39857"] = [245,117] let s:lib.Codec.encoding_table["39858"] = [245,118] let s:lib.Codec.encoding_table["39859"] = [245,119] let s:lib.Codec.encoding_table["39860"] = [245,120] let s:lib.Codec.encoding_table["39861"] = [245,121] let s:lib.Codec.encoding_table["39862"] = [245,122] let s:lib.Codec.encoding_table["39863"] = [245,123] let s:lib.Codec.encoding_table["39864"] = [245,124] let s:lib.Codec.encoding_table["39865"] = [245,125] let s:lib.Codec.encoding_table["39866"] = [245,126] let s:lib.Codec.encoding_table["39867"] = [245,128] let s:lib.Codec.encoding_table["39868"] = [245,129] let s:lib.Codec.encoding_table["39869"] = [245,130] let s:lib.Codec.encoding_table["39870"] = [245,131] let s:lib.Codec.encoding_table["39871"] = [245,132] let s:lib.Codec.encoding_table["39872"] = [245,133] let s:lib.Codec.encoding_table["39873"] = [245,134] let s:lib.Codec.encoding_table["39874"] = [245,135] let s:lib.Codec.encoding_table["39875"] = [245,136] let s:lib.Codec.encoding_table["39876"] = [245,137] let s:lib.Codec.encoding_table["39877"] = [245,138] let s:lib.Codec.encoding_table["39878"] = [245,139] let s:lib.Codec.encoding_table["39879"] = [245,140] let s:lib.Codec.encoding_table["39880"] = [245,141] let s:lib.Codec.encoding_table["39881"] = [245,142] let s:lib.Codec.encoding_table["39882"] = [245,143] let s:lib.Codec.encoding_table["39883"] = [245,144] let s:lib.Codec.encoding_table["39884"] = [245,145] let s:lib.Codec.encoding_table["39885"] = [245,146] let s:lib.Codec.encoding_table["39886"] = [245,147] let s:lib.Codec.encoding_table["39887"] = [245,148] let s:lib.Codec.encoding_table["39888"] = [245,149] let s:lib.Codec.encoding_table["39889"] = [245,150] let s:lib.Codec.encoding_table["39890"] = [245,151] let s:lib.Codec.encoding_table["39891"] = [245,152] let s:lib.Codec.encoding_table["39892"] = [245,153] let s:lib.Codec.encoding_table["39893"] = [245,154] let s:lib.Codec.encoding_table["39894"] = [245,155] let s:lib.Codec.encoding_table["39895"] = [245,156] let s:lib.Codec.encoding_table["39896"] = [245,157] let s:lib.Codec.encoding_table["39897"] = [245,158] let s:lib.Codec.encoding_table["39898"] = [245,159] let s:lib.Codec.encoding_table["39899"] = [245,160] let s:lib.Codec.encoding_table["37218"] = [245,161] let s:lib.Codec.encoding_table["37217"] = [245,162] let s:lib.Codec.encoding_table["37232"] = [245,163] let s:lib.Codec.encoding_table["37225"] = [245,164] let s:lib.Codec.encoding_table["37231"] = [245,165] let s:lib.Codec.encoding_table["37245"] = [245,166] let s:lib.Codec.encoding_table["37246"] = [245,167] let s:lib.Codec.encoding_table["37234"] = [245,168] let s:lib.Codec.encoding_table["37236"] = [245,169] let s:lib.Codec.encoding_table["37241"] = [245,170] let s:lib.Codec.encoding_table["37260"] = [245,171] let s:lib.Codec.encoding_table["37253"] = [245,172] let s:lib.Codec.encoding_table["37264"] = [245,173] let s:lib.Codec.encoding_table["37261"] = [245,174] let s:lib.Codec.encoding_table["37265"] = [245,175] let s:lib.Codec.encoding_table["37282"] = [245,176] let s:lib.Codec.encoding_table["37283"] = [245,177] let s:lib.Codec.encoding_table["37290"] = [245,178] let s:lib.Codec.encoding_table["37293"] = [245,179] let s:lib.Codec.encoding_table["37294"] = [245,180] let s:lib.Codec.encoding_table["37295"] = [245,181] let s:lib.Codec.encoding_table["37301"] = [245,182] let s:lib.Codec.encoding_table["37300"] = [245,183] let s:lib.Codec.encoding_table["37306"] = [245,184] let s:lib.Codec.encoding_table["35925"] = [245,185] let s:lib.Codec.encoding_table["40574"] = [245,186] let s:lib.Codec.encoding_table["36280"] = [245,187] let s:lib.Codec.encoding_table["36331"] = [245,188] let s:lib.Codec.encoding_table["36357"] = [245,189] let s:lib.Codec.encoding_table["36441"] = [245,190] let s:lib.Codec.encoding_table["36457"] = [245,191] let s:lib.Codec.encoding_table["36277"] = [245,192] let s:lib.Codec.encoding_table["36287"] = [245,193] let s:lib.Codec.encoding_table["36284"] = [245,194] let s:lib.Codec.encoding_table["36282"] = [245,195] let s:lib.Codec.encoding_table["36292"] = [245,196] let s:lib.Codec.encoding_table["36310"] = [245,197] let s:lib.Codec.encoding_table["36311"] = [245,198] let s:lib.Codec.encoding_table["36314"] = [245,199] let s:lib.Codec.encoding_table["36318"] = [245,200] let s:lib.Codec.encoding_table["36302"] = [245,201] let s:lib.Codec.encoding_table["36303"] = [245,202] let s:lib.Codec.encoding_table["36315"] = [245,203] let s:lib.Codec.encoding_table["36294"] = [245,204] let s:lib.Codec.encoding_table["36332"] = [245,205] let s:lib.Codec.encoding_table["36343"] = [245,206] let s:lib.Codec.encoding_table["36344"] = [245,207] let s:lib.Codec.encoding_table["36323"] = [245,208] let s:lib.Codec.encoding_table["36345"] = [245,209] let s:lib.Codec.encoding_table["36347"] = [245,210] let s:lib.Codec.encoding_table["36324"] = [245,211] let s:lib.Codec.encoding_table["36361"] = [245,212] let s:lib.Codec.encoding_table["36349"] = [245,213] let s:lib.Codec.encoding_table["36372"] = [245,214] let s:lib.Codec.encoding_table["36381"] = [245,215] let s:lib.Codec.encoding_table["36383"] = [245,216] let s:lib.Codec.encoding_table["36396"] = [245,217] let s:lib.Codec.encoding_table["36398"] = [245,218] let s:lib.Codec.encoding_table["36387"] = [245,219] let s:lib.Codec.encoding_table["36399"] = [245,220] let s:lib.Codec.encoding_table["36410"] = [245,221] let s:lib.Codec.encoding_table["36416"] = [245,222] let s:lib.Codec.encoding_table["36409"] = [245,223] let s:lib.Codec.encoding_table["36405"] = [245,224] let s:lib.Codec.encoding_table["36413"] = [245,225] let s:lib.Codec.encoding_table["36401"] = [245,226] let s:lib.Codec.encoding_table["36425"] = [245,227] let s:lib.Codec.encoding_table["36417"] = [245,228] let s:lib.Codec.encoding_table["36418"] = [245,229] let s:lib.Codec.encoding_table["36433"] = [245,230] let s:lib.Codec.encoding_table["36434"] = [245,231] let s:lib.Codec.encoding_table["36426"] = [245,232] let s:lib.Codec.encoding_table["36464"] = [245,233] let s:lib.Codec.encoding_table["36470"] = [245,234] let s:lib.Codec.encoding_table["36476"] = [245,235] let s:lib.Codec.encoding_table["36463"] = [245,236] let s:lib.Codec.encoding_table["36468"] = [245,237] let s:lib.Codec.encoding_table["36485"] = [245,238] let s:lib.Codec.encoding_table["36495"] = [245,239] let s:lib.Codec.encoding_table["36500"] = [245,240] let s:lib.Codec.encoding_table["36496"] = [245,241] let s:lib.Codec.encoding_table["36508"] = [245,242] let s:lib.Codec.encoding_table["36510"] = [245,243] let s:lib.Codec.encoding_table["35960"] = [245,244] let s:lib.Codec.encoding_table["35970"] = [245,245] let s:lib.Codec.encoding_table["35978"] = [245,246] let s:lib.Codec.encoding_table["35973"] = [245,247] let s:lib.Codec.encoding_table["35992"] = [245,248] let s:lib.Codec.encoding_table["35988"] = [245,249] let s:lib.Codec.encoding_table["26011"] = [245,250] let s:lib.Codec.encoding_table["35286"] = [245,251] let s:lib.Codec.encoding_table["35294"] = [245,252] let s:lib.Codec.encoding_table["35290"] = [245,253] let s:lib.Codec.encoding_table["35292"] = [245,254] let s:lib.Codec.encoding_table["39900"] = [246,64] let s:lib.Codec.encoding_table["39901"] = [246,65] let s:lib.Codec.encoding_table["39902"] = [246,66] let s:lib.Codec.encoding_table["39903"] = [246,67] let s:lib.Codec.encoding_table["39904"] = [246,68] let s:lib.Codec.encoding_table["39905"] = [246,69] let s:lib.Codec.encoding_table["39906"] = [246,70] let s:lib.Codec.encoding_table["39907"] = [246,71] let s:lib.Codec.encoding_table["39908"] = [246,72] let s:lib.Codec.encoding_table["39909"] = [246,73] let s:lib.Codec.encoding_table["39910"] = [246,74] let s:lib.Codec.encoding_table["39911"] = [246,75] let s:lib.Codec.encoding_table["39912"] = [246,76] let s:lib.Codec.encoding_table["39913"] = [246,77] let s:lib.Codec.encoding_table["39914"] = [246,78] let s:lib.Codec.encoding_table["39915"] = [246,79] let s:lib.Codec.encoding_table["39916"] = [246,80] let s:lib.Codec.encoding_table["39917"] = [246,81] let s:lib.Codec.encoding_table["39918"] = [246,82] let s:lib.Codec.encoding_table["39919"] = [246,83] let s:lib.Codec.encoding_table["39920"] = [246,84] let s:lib.Codec.encoding_table["39921"] = [246,85] let s:lib.Codec.encoding_table["39922"] = [246,86] let s:lib.Codec.encoding_table["39923"] = [246,87] let s:lib.Codec.encoding_table["39924"] = [246,88] let s:lib.Codec.encoding_table["39925"] = [246,89] let s:lib.Codec.encoding_table["39926"] = [246,90] let s:lib.Codec.encoding_table["39927"] = [246,91] let s:lib.Codec.encoding_table["39928"] = [246,92] let s:lib.Codec.encoding_table["39929"] = [246,93] let s:lib.Codec.encoding_table["39930"] = [246,94] let s:lib.Codec.encoding_table["39931"] = [246,95] let s:lib.Codec.encoding_table["39932"] = [246,96] let s:lib.Codec.encoding_table["39933"] = [246,97] let s:lib.Codec.encoding_table["39934"] = [246,98] let s:lib.Codec.encoding_table["39935"] = [246,99] let s:lib.Codec.encoding_table["39936"] = [246,100] let s:lib.Codec.encoding_table["39937"] = [246,101] let s:lib.Codec.encoding_table["39938"] = [246,102] let s:lib.Codec.encoding_table["39939"] = [246,103] let s:lib.Codec.encoding_table["39940"] = [246,104] let s:lib.Codec.encoding_table["39941"] = [246,105] let s:lib.Codec.encoding_table["39942"] = [246,106] let s:lib.Codec.encoding_table["39943"] = [246,107] let s:lib.Codec.encoding_table["39944"] = [246,108] let s:lib.Codec.encoding_table["39945"] = [246,109] let s:lib.Codec.encoding_table["39946"] = [246,110] let s:lib.Codec.encoding_table["39947"] = [246,111] let s:lib.Codec.encoding_table["39948"] = [246,112] let s:lib.Codec.encoding_table["39949"] = [246,113] let s:lib.Codec.encoding_table["39950"] = [246,114] let s:lib.Codec.encoding_table["39951"] = [246,115] let s:lib.Codec.encoding_table["39952"] = [246,116] let s:lib.Codec.encoding_table["39953"] = [246,117] let s:lib.Codec.encoding_table["39954"] = [246,118] let s:lib.Codec.encoding_table["39955"] = [246,119] let s:lib.Codec.encoding_table["39956"] = [246,120] let s:lib.Codec.encoding_table["39957"] = [246,121] let s:lib.Codec.encoding_table["39958"] = [246,122] let s:lib.Codec.encoding_table["39959"] = [246,123] let s:lib.Codec.encoding_table["39960"] = [246,124] let s:lib.Codec.encoding_table["39961"] = [246,125] let s:lib.Codec.encoding_table["39962"] = [246,126] let s:lib.Codec.encoding_table["39963"] = [246,128] let s:lib.Codec.encoding_table["39964"] = [246,129] let s:lib.Codec.encoding_table["39965"] = [246,130] let s:lib.Codec.encoding_table["39966"] = [246,131] let s:lib.Codec.encoding_table["39967"] = [246,132] let s:lib.Codec.encoding_table["39968"] = [246,133] let s:lib.Codec.encoding_table["39969"] = [246,134] let s:lib.Codec.encoding_table["39970"] = [246,135] let s:lib.Codec.encoding_table["39971"] = [246,136] let s:lib.Codec.encoding_table["39972"] = [246,137] let s:lib.Codec.encoding_table["39973"] = [246,138] let s:lib.Codec.encoding_table["39974"] = [246,139] let s:lib.Codec.encoding_table["39975"] = [246,140] let s:lib.Codec.encoding_table["39976"] = [246,141] let s:lib.Codec.encoding_table["39977"] = [246,142] let s:lib.Codec.encoding_table["39978"] = [246,143] let s:lib.Codec.encoding_table["39979"] = [246,144] let s:lib.Codec.encoding_table["39980"] = [246,145] let s:lib.Codec.encoding_table["39981"] = [246,146] let s:lib.Codec.encoding_table["39982"] = [246,147] let s:lib.Codec.encoding_table["39983"] = [246,148] let s:lib.Codec.encoding_table["39984"] = [246,149] let s:lib.Codec.encoding_table["39985"] = [246,150] let s:lib.Codec.encoding_table["39986"] = [246,151] let s:lib.Codec.encoding_table["39987"] = [246,152] let s:lib.Codec.encoding_table["39988"] = [246,153] let s:lib.Codec.encoding_table["39989"] = [246,154] let s:lib.Codec.encoding_table["39990"] = [246,155] let s:lib.Codec.encoding_table["39991"] = [246,156] let s:lib.Codec.encoding_table["39992"] = [246,157] let s:lib.Codec.encoding_table["39993"] = [246,158] let s:lib.Codec.encoding_table["39994"] = [246,159] let s:lib.Codec.encoding_table["39995"] = [246,160] let s:lib.Codec.encoding_table["35301"] = [246,161] let s:lib.Codec.encoding_table["35307"] = [246,162] let s:lib.Codec.encoding_table["35311"] = [246,163] let s:lib.Codec.encoding_table["35390"] = [246,164] let s:lib.Codec.encoding_table["35622"] = [246,165] let s:lib.Codec.encoding_table["38739"] = [246,166] let s:lib.Codec.encoding_table["38633"] = [246,167] let s:lib.Codec.encoding_table["38643"] = [246,168] let s:lib.Codec.encoding_table["38639"] = [246,169] let s:lib.Codec.encoding_table["38662"] = [246,170] let s:lib.Codec.encoding_table["38657"] = [246,171] let s:lib.Codec.encoding_table["38664"] = [246,172] let s:lib.Codec.encoding_table["38671"] = [246,173] let s:lib.Codec.encoding_table["38670"] = [246,174] let s:lib.Codec.encoding_table["38698"] = [246,175] let s:lib.Codec.encoding_table["38701"] = [246,176] let s:lib.Codec.encoding_table["38704"] = [246,177] let s:lib.Codec.encoding_table["38718"] = [246,178] let s:lib.Codec.encoding_table["40832"] = [246,179] let s:lib.Codec.encoding_table["40835"] = [246,180] let s:lib.Codec.encoding_table["40837"] = [246,181] let s:lib.Codec.encoding_table["40838"] = [246,182] let s:lib.Codec.encoding_table["40839"] = [246,183] let s:lib.Codec.encoding_table["40840"] = [246,184] let s:lib.Codec.encoding_table["40841"] = [246,185] let s:lib.Codec.encoding_table["40842"] = [246,186] let s:lib.Codec.encoding_table["40844"] = [246,187] let s:lib.Codec.encoding_table["40702"] = [246,188] let s:lib.Codec.encoding_table["40715"] = [246,189] let s:lib.Codec.encoding_table["40717"] = [246,190] let s:lib.Codec.encoding_table["38585"] = [246,191] let s:lib.Codec.encoding_table["38588"] = [246,192] let s:lib.Codec.encoding_table["38589"] = [246,193] let s:lib.Codec.encoding_table["38606"] = [246,194] let s:lib.Codec.encoding_table["38610"] = [246,195] let s:lib.Codec.encoding_table["30655"] = [246,196] let s:lib.Codec.encoding_table["38624"] = [246,197] let s:lib.Codec.encoding_table["37518"] = [246,198] let s:lib.Codec.encoding_table["37550"] = [246,199] let s:lib.Codec.encoding_table["37576"] = [246,200] let s:lib.Codec.encoding_table["37694"] = [246,201] let s:lib.Codec.encoding_table["37738"] = [246,202] let s:lib.Codec.encoding_table["37834"] = [246,203] let s:lib.Codec.encoding_table["37775"] = [246,204] let s:lib.Codec.encoding_table["37950"] = [246,205] let s:lib.Codec.encoding_table["37995"] = [246,206] let s:lib.Codec.encoding_table["40063"] = [246,207] let s:lib.Codec.encoding_table["40066"] = [246,208] let s:lib.Codec.encoding_table["40069"] = [246,209] let s:lib.Codec.encoding_table["40070"] = [246,210] let s:lib.Codec.encoding_table["40071"] = [246,211] let s:lib.Codec.encoding_table["40072"] = [246,212] let s:lib.Codec.encoding_table["31267"] = [246,213] let s:lib.Codec.encoding_table["40075"] = [246,214] let s:lib.Codec.encoding_table["40078"] = [246,215] let s:lib.Codec.encoding_table["40080"] = [246,216] let s:lib.Codec.encoding_table["40081"] = [246,217] let s:lib.Codec.encoding_table["40082"] = [246,218] let s:lib.Codec.encoding_table["40084"] = [246,219] let s:lib.Codec.encoding_table["40085"] = [246,220] let s:lib.Codec.encoding_table["40090"] = [246,221] let s:lib.Codec.encoding_table["40091"] = [246,222] let s:lib.Codec.encoding_table["40094"] = [246,223] let s:lib.Codec.encoding_table["40095"] = [246,224] let s:lib.Codec.encoding_table["40096"] = [246,225] let s:lib.Codec.encoding_table["40097"] = [246,226] let s:lib.Codec.encoding_table["40098"] = [246,227] let s:lib.Codec.encoding_table["40099"] = [246,228] let s:lib.Codec.encoding_table["40101"] = [246,229] let s:lib.Codec.encoding_table["40102"] = [246,230] let s:lib.Codec.encoding_table["40103"] = [246,231] let s:lib.Codec.encoding_table["40104"] = [246,232] let s:lib.Codec.encoding_table["40105"] = [246,233] let s:lib.Codec.encoding_table["40107"] = [246,234] let s:lib.Codec.encoding_table["40109"] = [246,235] let s:lib.Codec.encoding_table["40110"] = [246,236] let s:lib.Codec.encoding_table["40112"] = [246,237] let s:lib.Codec.encoding_table["40113"] = [246,238] let s:lib.Codec.encoding_table["40114"] = [246,239] let s:lib.Codec.encoding_table["40115"] = [246,240] let s:lib.Codec.encoding_table["40116"] = [246,241] let s:lib.Codec.encoding_table["40117"] = [246,242] let s:lib.Codec.encoding_table["40118"] = [246,243] let s:lib.Codec.encoding_table["40119"] = [246,244] let s:lib.Codec.encoding_table["40122"] = [246,245] let s:lib.Codec.encoding_table["40123"] = [246,246] let s:lib.Codec.encoding_table["40124"] = [246,247] let s:lib.Codec.encoding_table["40125"] = [246,248] let s:lib.Codec.encoding_table["40132"] = [246,249] let s:lib.Codec.encoding_table["40133"] = [246,250] let s:lib.Codec.encoding_table["40134"] = [246,251] let s:lib.Codec.encoding_table["40135"] = [246,252] let s:lib.Codec.encoding_table["40138"] = [246,253] let s:lib.Codec.encoding_table["40139"] = [246,254] let s:lib.Codec.encoding_table["39996"] = [247,64] let s:lib.Codec.encoding_table["39997"] = [247,65] let s:lib.Codec.encoding_table["39998"] = [247,66] let s:lib.Codec.encoding_table["39999"] = [247,67] let s:lib.Codec.encoding_table["40000"] = [247,68] let s:lib.Codec.encoding_table["40001"] = [247,69] let s:lib.Codec.encoding_table["40002"] = [247,70] let s:lib.Codec.encoding_table["40003"] = [247,71] let s:lib.Codec.encoding_table["40004"] = [247,72] let s:lib.Codec.encoding_table["40005"] = [247,73] let s:lib.Codec.encoding_table["40006"] = [247,74] let s:lib.Codec.encoding_table["40007"] = [247,75] let s:lib.Codec.encoding_table["40008"] = [247,76] let s:lib.Codec.encoding_table["40009"] = [247,77] let s:lib.Codec.encoding_table["40010"] = [247,78] let s:lib.Codec.encoding_table["40011"] = [247,79] let s:lib.Codec.encoding_table["40012"] = [247,80] let s:lib.Codec.encoding_table["40013"] = [247,81] let s:lib.Codec.encoding_table["40014"] = [247,82] let s:lib.Codec.encoding_table["40015"] = [247,83] let s:lib.Codec.encoding_table["40016"] = [247,84] let s:lib.Codec.encoding_table["40017"] = [247,85] let s:lib.Codec.encoding_table["40018"] = [247,86] let s:lib.Codec.encoding_table["40019"] = [247,87] let s:lib.Codec.encoding_table["40020"] = [247,88] let s:lib.Codec.encoding_table["40021"] = [247,89] let s:lib.Codec.encoding_table["40022"] = [247,90] let s:lib.Codec.encoding_table["40023"] = [247,91] let s:lib.Codec.encoding_table["40024"] = [247,92] let s:lib.Codec.encoding_table["40025"] = [247,93] let s:lib.Codec.encoding_table["40026"] = [247,94] let s:lib.Codec.encoding_table["40027"] = [247,95] let s:lib.Codec.encoding_table["40028"] = [247,96] let s:lib.Codec.encoding_table["40029"] = [247,97] let s:lib.Codec.encoding_table["40030"] = [247,98] let s:lib.Codec.encoding_table["40031"] = [247,99] let s:lib.Codec.encoding_table["40032"] = [247,100] let s:lib.Codec.encoding_table["40033"] = [247,101] let s:lib.Codec.encoding_table["40034"] = [247,102] let s:lib.Codec.encoding_table["40035"] = [247,103] let s:lib.Codec.encoding_table["40036"] = [247,104] let s:lib.Codec.encoding_table["40037"] = [247,105] let s:lib.Codec.encoding_table["40038"] = [247,106] let s:lib.Codec.encoding_table["40039"] = [247,107] let s:lib.Codec.encoding_table["40040"] = [247,108] let s:lib.Codec.encoding_table["40041"] = [247,109] let s:lib.Codec.encoding_table["40042"] = [247,110] let s:lib.Codec.encoding_table["40043"] = [247,111] let s:lib.Codec.encoding_table["40044"] = [247,112] let s:lib.Codec.encoding_table["40045"] = [247,113] let s:lib.Codec.encoding_table["40046"] = [247,114] let s:lib.Codec.encoding_table["40047"] = [247,115] let s:lib.Codec.encoding_table["40048"] = [247,116] let s:lib.Codec.encoding_table["40049"] = [247,117] let s:lib.Codec.encoding_table["40050"] = [247,118] let s:lib.Codec.encoding_table["40051"] = [247,119] let s:lib.Codec.encoding_table["40052"] = [247,120] let s:lib.Codec.encoding_table["40053"] = [247,121] let s:lib.Codec.encoding_table["40054"] = [247,122] let s:lib.Codec.encoding_table["40055"] = [247,123] let s:lib.Codec.encoding_table["40056"] = [247,124] let s:lib.Codec.encoding_table["40057"] = [247,125] let s:lib.Codec.encoding_table["40058"] = [247,126] let s:lib.Codec.encoding_table["40059"] = [247,128] let s:lib.Codec.encoding_table["40061"] = [247,129] let s:lib.Codec.encoding_table["40062"] = [247,130] let s:lib.Codec.encoding_table["40064"] = [247,131] let s:lib.Codec.encoding_table["40067"] = [247,132] let s:lib.Codec.encoding_table["40068"] = [247,133] let s:lib.Codec.encoding_table["40073"] = [247,134] let s:lib.Codec.encoding_table["40074"] = [247,135] let s:lib.Codec.encoding_table["40076"] = [247,136] let s:lib.Codec.encoding_table["40079"] = [247,137] let s:lib.Codec.encoding_table["40083"] = [247,138] let s:lib.Codec.encoding_table["40086"] = [247,139] let s:lib.Codec.encoding_table["40087"] = [247,140] let s:lib.Codec.encoding_table["40088"] = [247,141] let s:lib.Codec.encoding_table["40089"] = [247,142] let s:lib.Codec.encoding_table["40093"] = [247,143] let s:lib.Codec.encoding_table["40106"] = [247,144] let s:lib.Codec.encoding_table["40108"] = [247,145] let s:lib.Codec.encoding_table["40111"] = [247,146] let s:lib.Codec.encoding_table["40121"] = [247,147] let s:lib.Codec.encoding_table["40126"] = [247,148] let s:lib.Codec.encoding_table["40127"] = [247,149] let s:lib.Codec.encoding_table["40128"] = [247,150] let s:lib.Codec.encoding_table["40129"] = [247,151] let s:lib.Codec.encoding_table["40130"] = [247,152] let s:lib.Codec.encoding_table["40136"] = [247,153] let s:lib.Codec.encoding_table["40137"] = [247,154] let s:lib.Codec.encoding_table["40145"] = [247,155] let s:lib.Codec.encoding_table["40146"] = [247,156] let s:lib.Codec.encoding_table["40154"] = [247,157] let s:lib.Codec.encoding_table["40155"] = [247,158] let s:lib.Codec.encoding_table["40160"] = [247,159] let s:lib.Codec.encoding_table["40161"] = [247,160] let s:lib.Codec.encoding_table["40140"] = [247,161] let s:lib.Codec.encoding_table["40141"] = [247,162] let s:lib.Codec.encoding_table["40142"] = [247,163] let s:lib.Codec.encoding_table["40143"] = [247,164] let s:lib.Codec.encoding_table["40144"] = [247,165] let s:lib.Codec.encoding_table["40147"] = [247,166] let s:lib.Codec.encoding_table["40148"] = [247,167] let s:lib.Codec.encoding_table["40149"] = [247,168] let s:lib.Codec.encoding_table["40151"] = [247,169] let s:lib.Codec.encoding_table["40152"] = [247,170] let s:lib.Codec.encoding_table["40153"] = [247,171] let s:lib.Codec.encoding_table["40156"] = [247,172] let s:lib.Codec.encoding_table["40157"] = [247,173] let s:lib.Codec.encoding_table["40159"] = [247,174] let s:lib.Codec.encoding_table["40162"] = [247,175] let s:lib.Codec.encoding_table["38780"] = [247,176] let s:lib.Codec.encoding_table["38789"] = [247,177] let s:lib.Codec.encoding_table["38801"] = [247,178] let s:lib.Codec.encoding_table["38802"] = [247,179] let s:lib.Codec.encoding_table["38804"] = [247,180] let s:lib.Codec.encoding_table["38831"] = [247,181] let s:lib.Codec.encoding_table["38827"] = [247,182] let s:lib.Codec.encoding_table["38819"] = [247,183] let s:lib.Codec.encoding_table["38834"] = [247,184] let s:lib.Codec.encoding_table["38836"] = [247,185] let s:lib.Codec.encoding_table["39601"] = [247,186] let s:lib.Codec.encoding_table["39600"] = [247,187] let s:lib.Codec.encoding_table["39607"] = [247,188] let s:lib.Codec.encoding_table["40536"] = [247,189] let s:lib.Codec.encoding_table["39606"] = [247,190] let s:lib.Codec.encoding_table["39610"] = [247,191] let s:lib.Codec.encoding_table["39612"] = [247,192] let s:lib.Codec.encoding_table["39617"] = [247,193] let s:lib.Codec.encoding_table["39616"] = [247,194] let s:lib.Codec.encoding_table["39621"] = [247,195] let s:lib.Codec.encoding_table["39618"] = [247,196] let s:lib.Codec.encoding_table["39627"] = [247,197] let s:lib.Codec.encoding_table["39628"] = [247,198] let s:lib.Codec.encoding_table["39633"] = [247,199] let s:lib.Codec.encoding_table["39749"] = [247,200] let s:lib.Codec.encoding_table["39747"] = [247,201] let s:lib.Codec.encoding_table["39751"] = [247,202] let s:lib.Codec.encoding_table["39753"] = [247,203] let s:lib.Codec.encoding_table["39752"] = [247,204] let s:lib.Codec.encoding_table["39757"] = [247,205] let s:lib.Codec.encoding_table["39761"] = [247,206] let s:lib.Codec.encoding_table["39144"] = [247,207] let s:lib.Codec.encoding_table["39181"] = [247,208] let s:lib.Codec.encoding_table["39214"] = [247,209] let s:lib.Codec.encoding_table["39253"] = [247,210] let s:lib.Codec.encoding_table["39252"] = [247,211] let s:lib.Codec.encoding_table["39647"] = [247,212] let s:lib.Codec.encoding_table["39649"] = [247,213] let s:lib.Codec.encoding_table["39654"] = [247,214] let s:lib.Codec.encoding_table["39663"] = [247,215] let s:lib.Codec.encoding_table["39659"] = [247,216] let s:lib.Codec.encoding_table["39675"] = [247,217] let s:lib.Codec.encoding_table["39661"] = [247,218] let s:lib.Codec.encoding_table["39673"] = [247,219] let s:lib.Codec.encoding_table["39688"] = [247,220] let s:lib.Codec.encoding_table["39695"] = [247,221] let s:lib.Codec.encoding_table["39699"] = [247,222] let s:lib.Codec.encoding_table["39711"] = [247,223] let s:lib.Codec.encoding_table["39715"] = [247,224] let s:lib.Codec.encoding_table["40637"] = [247,225] let s:lib.Codec.encoding_table["40638"] = [247,226] let s:lib.Codec.encoding_table["32315"] = [247,227] let s:lib.Codec.encoding_table["40578"] = [247,228] let s:lib.Codec.encoding_table["40583"] = [247,229] let s:lib.Codec.encoding_table["40584"] = [247,230] let s:lib.Codec.encoding_table["40587"] = [247,231] let s:lib.Codec.encoding_table["40594"] = [247,232] let s:lib.Codec.encoding_table["37846"] = [247,233] let s:lib.Codec.encoding_table["40605"] = [247,234] let s:lib.Codec.encoding_table["40607"] = [247,235] let s:lib.Codec.encoding_table["40667"] = [247,236] let s:lib.Codec.encoding_table["40668"] = [247,237] let s:lib.Codec.encoding_table["40669"] = [247,238] let s:lib.Codec.encoding_table["40672"] = [247,239] let s:lib.Codec.encoding_table["40671"] = [247,240] let s:lib.Codec.encoding_table["40674"] = [247,241] let s:lib.Codec.encoding_table["40681"] = [247,242] let s:lib.Codec.encoding_table["40679"] = [247,243] let s:lib.Codec.encoding_table["40677"] = [247,244] let s:lib.Codec.encoding_table["40682"] = [247,245] let s:lib.Codec.encoding_table["40687"] = [247,246] let s:lib.Codec.encoding_table["40738"] = [247,247] let s:lib.Codec.encoding_table["40748"] = [247,248] let s:lib.Codec.encoding_table["40751"] = [247,249] let s:lib.Codec.encoding_table["40761"] = [247,250] let s:lib.Codec.encoding_table["40759"] = [247,251] let s:lib.Codec.encoding_table["40765"] = [247,252] let s:lib.Codec.encoding_table["40766"] = [247,253] let s:lib.Codec.encoding_table["40772"] = [247,254] let s:lib.Codec.encoding_table["40163"] = [248,64] let s:lib.Codec.encoding_table["40164"] = [248,65] let s:lib.Codec.encoding_table["40165"] = [248,66] let s:lib.Codec.encoding_table["40166"] = [248,67] let s:lib.Codec.encoding_table["40167"] = [248,68] let s:lib.Codec.encoding_table["40168"] = [248,69] let s:lib.Codec.encoding_table["40169"] = [248,70] let s:lib.Codec.encoding_table["40170"] = [248,71] let s:lib.Codec.encoding_table["40171"] = [248,72] let s:lib.Codec.encoding_table["40172"] = [248,73] let s:lib.Codec.encoding_table["40173"] = [248,74] let s:lib.Codec.encoding_table["40174"] = [248,75] let s:lib.Codec.encoding_table["40175"] = [248,76] let s:lib.Codec.encoding_table["40176"] = [248,77] let s:lib.Codec.encoding_table["40177"] = [248,78] let s:lib.Codec.encoding_table["40178"] = [248,79] let s:lib.Codec.encoding_table["40179"] = [248,80] let s:lib.Codec.encoding_table["40180"] = [248,81] let s:lib.Codec.encoding_table["40181"] = [248,82] let s:lib.Codec.encoding_table["40182"] = [248,83] let s:lib.Codec.encoding_table["40183"] = [248,84] let s:lib.Codec.encoding_table["40184"] = [248,85] let s:lib.Codec.encoding_table["40185"] = [248,86] let s:lib.Codec.encoding_table["40186"] = [248,87] let s:lib.Codec.encoding_table["40187"] = [248,88] let s:lib.Codec.encoding_table["40188"] = [248,89] let s:lib.Codec.encoding_table["40189"] = [248,90] let s:lib.Codec.encoding_table["40190"] = [248,91] let s:lib.Codec.encoding_table["40191"] = [248,92] let s:lib.Codec.encoding_table["40192"] = [248,93] let s:lib.Codec.encoding_table["40193"] = [248,94] let s:lib.Codec.encoding_table["40194"] = [248,95] let s:lib.Codec.encoding_table["40195"] = [248,96] let s:lib.Codec.encoding_table["40196"] = [248,97] let s:lib.Codec.encoding_table["40197"] = [248,98] let s:lib.Codec.encoding_table["40198"] = [248,99] let s:lib.Codec.encoding_table["40199"] = [248,100] let s:lib.Codec.encoding_table["40200"] = [248,101] let s:lib.Codec.encoding_table["40201"] = [248,102] let s:lib.Codec.encoding_table["40202"] = [248,103] let s:lib.Codec.encoding_table["40203"] = [248,104] let s:lib.Codec.encoding_table["40204"] = [248,105] let s:lib.Codec.encoding_table["40205"] = [248,106] let s:lib.Codec.encoding_table["40206"] = [248,107] let s:lib.Codec.encoding_table["40207"] = [248,108] let s:lib.Codec.encoding_table["40208"] = [248,109] let s:lib.Codec.encoding_table["40209"] = [248,110] let s:lib.Codec.encoding_table["40210"] = [248,111] let s:lib.Codec.encoding_table["40211"] = [248,112] let s:lib.Codec.encoding_table["40212"] = [248,113] let s:lib.Codec.encoding_table["40213"] = [248,114] let s:lib.Codec.encoding_table["40214"] = [248,115] let s:lib.Codec.encoding_table["40215"] = [248,116] let s:lib.Codec.encoding_table["40216"] = [248,117] let s:lib.Codec.encoding_table["40217"] = [248,118] let s:lib.Codec.encoding_table["40218"] = [248,119] let s:lib.Codec.encoding_table["40219"] = [248,120] let s:lib.Codec.encoding_table["40220"] = [248,121] let s:lib.Codec.encoding_table["40221"] = [248,122] let s:lib.Codec.encoding_table["40222"] = [248,123] let s:lib.Codec.encoding_table["40223"] = [248,124] let s:lib.Codec.encoding_table["40224"] = [248,125] let s:lib.Codec.encoding_table["40225"] = [248,126] let s:lib.Codec.encoding_table["40226"] = [248,128] let s:lib.Codec.encoding_table["40227"] = [248,129] let s:lib.Codec.encoding_table["40228"] = [248,130] let s:lib.Codec.encoding_table["40229"] = [248,131] let s:lib.Codec.encoding_table["40230"] = [248,132] let s:lib.Codec.encoding_table["40231"] = [248,133] let s:lib.Codec.encoding_table["40232"] = [248,134] let s:lib.Codec.encoding_table["40233"] = [248,135] let s:lib.Codec.encoding_table["40234"] = [248,136] let s:lib.Codec.encoding_table["40235"] = [248,137] let s:lib.Codec.encoding_table["40236"] = [248,138] let s:lib.Codec.encoding_table["40237"] = [248,139] let s:lib.Codec.encoding_table["40238"] = [248,140] let s:lib.Codec.encoding_table["40239"] = [248,141] let s:lib.Codec.encoding_table["40240"] = [248,142] let s:lib.Codec.encoding_table["40241"] = [248,143] let s:lib.Codec.encoding_table["40242"] = [248,144] let s:lib.Codec.encoding_table["40243"] = [248,145] let s:lib.Codec.encoding_table["40244"] = [248,146] let s:lib.Codec.encoding_table["40245"] = [248,147] let s:lib.Codec.encoding_table["40246"] = [248,148] let s:lib.Codec.encoding_table["40247"] = [248,149] let s:lib.Codec.encoding_table["40248"] = [248,150] let s:lib.Codec.encoding_table["40249"] = [248,151] let s:lib.Codec.encoding_table["40250"] = [248,152] let s:lib.Codec.encoding_table["40251"] = [248,153] let s:lib.Codec.encoding_table["40252"] = [248,154] let s:lib.Codec.encoding_table["40253"] = [248,155] let s:lib.Codec.encoding_table["40254"] = [248,156] let s:lib.Codec.encoding_table["40255"] = [248,157] let s:lib.Codec.encoding_table["40256"] = [248,158] let s:lib.Codec.encoding_table["40257"] = [248,159] let s:lib.Codec.encoding_table["40258"] = [248,160] let s:lib.Codec.encoding_table["40259"] = [249,64] let s:lib.Codec.encoding_table["40260"] = [249,65] let s:lib.Codec.encoding_table["40261"] = [249,66] let s:lib.Codec.encoding_table["40262"] = [249,67] let s:lib.Codec.encoding_table["40263"] = [249,68] let s:lib.Codec.encoding_table["40264"] = [249,69] let s:lib.Codec.encoding_table["40265"] = [249,70] let s:lib.Codec.encoding_table["40266"] = [249,71] let s:lib.Codec.encoding_table["40267"] = [249,72] let s:lib.Codec.encoding_table["40268"] = [249,73] let s:lib.Codec.encoding_table["40269"] = [249,74] let s:lib.Codec.encoding_table["40270"] = [249,75] let s:lib.Codec.encoding_table["40271"] = [249,76] let s:lib.Codec.encoding_table["40272"] = [249,77] let s:lib.Codec.encoding_table["40273"] = [249,78] let s:lib.Codec.encoding_table["40274"] = [249,79] let s:lib.Codec.encoding_table["40275"] = [249,80] let s:lib.Codec.encoding_table["40276"] = [249,81] let s:lib.Codec.encoding_table["40277"] = [249,82] let s:lib.Codec.encoding_table["40278"] = [249,83] let s:lib.Codec.encoding_table["40279"] = [249,84] let s:lib.Codec.encoding_table["40280"] = [249,85] let s:lib.Codec.encoding_table["40281"] = [249,86] let s:lib.Codec.encoding_table["40282"] = [249,87] let s:lib.Codec.encoding_table["40283"] = [249,88] let s:lib.Codec.encoding_table["40284"] = [249,89] let s:lib.Codec.encoding_table["40285"] = [249,90] let s:lib.Codec.encoding_table["40286"] = [249,91] let s:lib.Codec.encoding_table["40287"] = [249,92] let s:lib.Codec.encoding_table["40288"] = [249,93] let s:lib.Codec.encoding_table["40289"] = [249,94] let s:lib.Codec.encoding_table["40290"] = [249,95] let s:lib.Codec.encoding_table["40291"] = [249,96] let s:lib.Codec.encoding_table["40292"] = [249,97] let s:lib.Codec.encoding_table["40293"] = [249,98] let s:lib.Codec.encoding_table["40294"] = [249,99] let s:lib.Codec.encoding_table["40295"] = [249,100] let s:lib.Codec.encoding_table["40296"] = [249,101] let s:lib.Codec.encoding_table["40297"] = [249,102] let s:lib.Codec.encoding_table["40298"] = [249,103] let s:lib.Codec.encoding_table["40299"] = [249,104] let s:lib.Codec.encoding_table["40300"] = [249,105] let s:lib.Codec.encoding_table["40301"] = [249,106] let s:lib.Codec.encoding_table["40302"] = [249,107] let s:lib.Codec.encoding_table["40303"] = [249,108] let s:lib.Codec.encoding_table["40304"] = [249,109] let s:lib.Codec.encoding_table["40305"] = [249,110] let s:lib.Codec.encoding_table["40306"] = [249,111] let s:lib.Codec.encoding_table["40307"] = [249,112] let s:lib.Codec.encoding_table["40308"] = [249,113] let s:lib.Codec.encoding_table["40309"] = [249,114] let s:lib.Codec.encoding_table["40310"] = [249,115] let s:lib.Codec.encoding_table["40311"] = [249,116] let s:lib.Codec.encoding_table["40312"] = [249,117] let s:lib.Codec.encoding_table["40313"] = [249,118] let s:lib.Codec.encoding_table["40314"] = [249,119] let s:lib.Codec.encoding_table["40315"] = [249,120] let s:lib.Codec.encoding_table["40316"] = [249,121] let s:lib.Codec.encoding_table["40317"] = [249,122] let s:lib.Codec.encoding_table["40318"] = [249,123] let s:lib.Codec.encoding_table["40319"] = [249,124] let s:lib.Codec.encoding_table["40320"] = [249,125] let s:lib.Codec.encoding_table["40321"] = [249,126] let s:lib.Codec.encoding_table["40322"] = [249,128] let s:lib.Codec.encoding_table["40323"] = [249,129] let s:lib.Codec.encoding_table["40324"] = [249,130] let s:lib.Codec.encoding_table["40325"] = [249,131] let s:lib.Codec.encoding_table["40326"] = [249,132] let s:lib.Codec.encoding_table["40327"] = [249,133] let s:lib.Codec.encoding_table["40328"] = [249,134] let s:lib.Codec.encoding_table["40329"] = [249,135] let s:lib.Codec.encoding_table["40330"] = [249,136] let s:lib.Codec.encoding_table["40331"] = [249,137] let s:lib.Codec.encoding_table["40332"] = [249,138] let s:lib.Codec.encoding_table["40333"] = [249,139] let s:lib.Codec.encoding_table["40334"] = [249,140] let s:lib.Codec.encoding_table["40335"] = [249,141] let s:lib.Codec.encoding_table["40336"] = [249,142] let s:lib.Codec.encoding_table["40337"] = [249,143] let s:lib.Codec.encoding_table["40338"] = [249,144] let s:lib.Codec.encoding_table["40339"] = [249,145] let s:lib.Codec.encoding_table["40340"] = [249,146] let s:lib.Codec.encoding_table["40341"] = [249,147] let s:lib.Codec.encoding_table["40342"] = [249,148] let s:lib.Codec.encoding_table["40343"] = [249,149] let s:lib.Codec.encoding_table["40344"] = [249,150] let s:lib.Codec.encoding_table["40345"] = [249,151] let s:lib.Codec.encoding_table["40346"] = [249,152] let s:lib.Codec.encoding_table["40347"] = [249,153] let s:lib.Codec.encoding_table["40348"] = [249,154] let s:lib.Codec.encoding_table["40349"] = [249,155] let s:lib.Codec.encoding_table["40350"] = [249,156] let s:lib.Codec.encoding_table["40351"] = [249,157] let s:lib.Codec.encoding_table["40352"] = [249,158] let s:lib.Codec.encoding_table["40353"] = [249,159] let s:lib.Codec.encoding_table["40354"] = [249,160] let s:lib.Codec.encoding_table["40355"] = [250,64] let s:lib.Codec.encoding_table["40356"] = [250,65] let s:lib.Codec.encoding_table["40357"] = [250,66] let s:lib.Codec.encoding_table["40358"] = [250,67] let s:lib.Codec.encoding_table["40359"] = [250,68] let s:lib.Codec.encoding_table["40360"] = [250,69] let s:lib.Codec.encoding_table["40361"] = [250,70] let s:lib.Codec.encoding_table["40362"] = [250,71] let s:lib.Codec.encoding_table["40363"] = [250,72] let s:lib.Codec.encoding_table["40364"] = [250,73] let s:lib.Codec.encoding_table["40365"] = [250,74] let s:lib.Codec.encoding_table["40366"] = [250,75] let s:lib.Codec.encoding_table["40367"] = [250,76] let s:lib.Codec.encoding_table["40368"] = [250,77] let s:lib.Codec.encoding_table["40369"] = [250,78] let s:lib.Codec.encoding_table["40370"] = [250,79] let s:lib.Codec.encoding_table["40371"] = [250,80] let s:lib.Codec.encoding_table["40372"] = [250,81] let s:lib.Codec.encoding_table["40373"] = [250,82] let s:lib.Codec.encoding_table["40374"] = [250,83] let s:lib.Codec.encoding_table["40375"] = [250,84] let s:lib.Codec.encoding_table["40376"] = [250,85] let s:lib.Codec.encoding_table["40377"] = [250,86] let s:lib.Codec.encoding_table["40378"] = [250,87] let s:lib.Codec.encoding_table["40379"] = [250,88] let s:lib.Codec.encoding_table["40380"] = [250,89] let s:lib.Codec.encoding_table["40381"] = [250,90] let s:lib.Codec.encoding_table["40382"] = [250,91] let s:lib.Codec.encoding_table["40383"] = [250,92] let s:lib.Codec.encoding_table["40384"] = [250,93] let s:lib.Codec.encoding_table["40385"] = [250,94] let s:lib.Codec.encoding_table["40386"] = [250,95] let s:lib.Codec.encoding_table["40387"] = [250,96] let s:lib.Codec.encoding_table["40388"] = [250,97] let s:lib.Codec.encoding_table["40389"] = [250,98] let s:lib.Codec.encoding_table["40390"] = [250,99] let s:lib.Codec.encoding_table["40391"] = [250,100] let s:lib.Codec.encoding_table["40392"] = [250,101] let s:lib.Codec.encoding_table["40393"] = [250,102] let s:lib.Codec.encoding_table["40394"] = [250,103] let s:lib.Codec.encoding_table["40395"] = [250,104] let s:lib.Codec.encoding_table["40396"] = [250,105] let s:lib.Codec.encoding_table["40397"] = [250,106] let s:lib.Codec.encoding_table["40398"] = [250,107] let s:lib.Codec.encoding_table["40399"] = [250,108] let s:lib.Codec.encoding_table["40400"] = [250,109] let s:lib.Codec.encoding_table["40401"] = [250,110] let s:lib.Codec.encoding_table["40402"] = [250,111] let s:lib.Codec.encoding_table["40403"] = [250,112] let s:lib.Codec.encoding_table["40404"] = [250,113] let s:lib.Codec.encoding_table["40405"] = [250,114] let s:lib.Codec.encoding_table["40406"] = [250,115] let s:lib.Codec.encoding_table["40407"] = [250,116] let s:lib.Codec.encoding_table["40408"] = [250,117] let s:lib.Codec.encoding_table["40409"] = [250,118] let s:lib.Codec.encoding_table["40410"] = [250,119] let s:lib.Codec.encoding_table["40411"] = [250,120] let s:lib.Codec.encoding_table["40412"] = [250,121] let s:lib.Codec.encoding_table["40413"] = [250,122] let s:lib.Codec.encoding_table["40414"] = [250,123] let s:lib.Codec.encoding_table["40415"] = [250,124] let s:lib.Codec.encoding_table["40416"] = [250,125] let s:lib.Codec.encoding_table["40417"] = [250,126] let s:lib.Codec.encoding_table["40418"] = [250,128] let s:lib.Codec.encoding_table["40419"] = [250,129] let s:lib.Codec.encoding_table["40420"] = [250,130] let s:lib.Codec.encoding_table["40421"] = [250,131] let s:lib.Codec.encoding_table["40422"] = [250,132] let s:lib.Codec.encoding_table["40423"] = [250,133] let s:lib.Codec.encoding_table["40424"] = [250,134] let s:lib.Codec.encoding_table["40425"] = [250,135] let s:lib.Codec.encoding_table["40426"] = [250,136] let s:lib.Codec.encoding_table["40427"] = [250,137] let s:lib.Codec.encoding_table["40428"] = [250,138] let s:lib.Codec.encoding_table["40429"] = [250,139] let s:lib.Codec.encoding_table["40430"] = [250,140] let s:lib.Codec.encoding_table["40431"] = [250,141] let s:lib.Codec.encoding_table["40432"] = [250,142] let s:lib.Codec.encoding_table["40433"] = [250,143] let s:lib.Codec.encoding_table["40434"] = [250,144] let s:lib.Codec.encoding_table["40435"] = [250,145] let s:lib.Codec.encoding_table["40436"] = [250,146] let s:lib.Codec.encoding_table["40437"] = [250,147] let s:lib.Codec.encoding_table["40438"] = [250,148] let s:lib.Codec.encoding_table["40439"] = [250,149] let s:lib.Codec.encoding_table["40440"] = [250,150] let s:lib.Codec.encoding_table["40441"] = [250,151] let s:lib.Codec.encoding_table["40442"] = [250,152] let s:lib.Codec.encoding_table["40443"] = [250,153] let s:lib.Codec.encoding_table["40444"] = [250,154] let s:lib.Codec.encoding_table["40445"] = [250,155] let s:lib.Codec.encoding_table["40446"] = [250,156] let s:lib.Codec.encoding_table["40447"] = [250,157] let s:lib.Codec.encoding_table["40448"] = [250,158] let s:lib.Codec.encoding_table["40449"] = [250,159] let s:lib.Codec.encoding_table["40450"] = [250,160] let s:lib.Codec.encoding_table["40451"] = [251,64] let s:lib.Codec.encoding_table["40452"] = [251,65] let s:lib.Codec.encoding_table["40453"] = [251,66] let s:lib.Codec.encoding_table["40454"] = [251,67] let s:lib.Codec.encoding_table["40455"] = [251,68] let s:lib.Codec.encoding_table["40456"] = [251,69] let s:lib.Codec.encoding_table["40457"] = [251,70] let s:lib.Codec.encoding_table["40458"] = [251,71] let s:lib.Codec.encoding_table["40459"] = [251,72] let s:lib.Codec.encoding_table["40460"] = [251,73] let s:lib.Codec.encoding_table["40461"] = [251,74] let s:lib.Codec.encoding_table["40462"] = [251,75] let s:lib.Codec.encoding_table["40463"] = [251,76] let s:lib.Codec.encoding_table["40464"] = [251,77] let s:lib.Codec.encoding_table["40465"] = [251,78] let s:lib.Codec.encoding_table["40466"] = [251,79] let s:lib.Codec.encoding_table["40467"] = [251,80] let s:lib.Codec.encoding_table["40468"] = [251,81] let s:lib.Codec.encoding_table["40469"] = [251,82] let s:lib.Codec.encoding_table["40470"] = [251,83] let s:lib.Codec.encoding_table["40471"] = [251,84] let s:lib.Codec.encoding_table["40472"] = [251,85] let s:lib.Codec.encoding_table["40473"] = [251,86] let s:lib.Codec.encoding_table["40474"] = [251,87] let s:lib.Codec.encoding_table["40475"] = [251,88] let s:lib.Codec.encoding_table["40476"] = [251,89] let s:lib.Codec.encoding_table["40477"] = [251,90] let s:lib.Codec.encoding_table["40478"] = [251,91] let s:lib.Codec.encoding_table["40484"] = [251,92] let s:lib.Codec.encoding_table["40487"] = [251,93] let s:lib.Codec.encoding_table["40494"] = [251,94] let s:lib.Codec.encoding_table["40496"] = [251,95] let s:lib.Codec.encoding_table["40500"] = [251,96] let s:lib.Codec.encoding_table["40507"] = [251,97] let s:lib.Codec.encoding_table["40508"] = [251,98] let s:lib.Codec.encoding_table["40512"] = [251,99] let s:lib.Codec.encoding_table["40525"] = [251,100] let s:lib.Codec.encoding_table["40528"] = [251,101] let s:lib.Codec.encoding_table["40530"] = [251,102] let s:lib.Codec.encoding_table["40531"] = [251,103] let s:lib.Codec.encoding_table["40532"] = [251,104] let s:lib.Codec.encoding_table["40534"] = [251,105] let s:lib.Codec.encoding_table["40537"] = [251,106] let s:lib.Codec.encoding_table["40541"] = [251,107] let s:lib.Codec.encoding_table["40543"] = [251,108] let s:lib.Codec.encoding_table["40544"] = [251,109] let s:lib.Codec.encoding_table["40545"] = [251,110] let s:lib.Codec.encoding_table["40546"] = [251,111] let s:lib.Codec.encoding_table["40549"] = [251,112] let s:lib.Codec.encoding_table["40558"] = [251,113] let s:lib.Codec.encoding_table["40559"] = [251,114] let s:lib.Codec.encoding_table["40562"] = [251,115] let s:lib.Codec.encoding_table["40564"] = [251,116] let s:lib.Codec.encoding_table["40565"] = [251,117] let s:lib.Codec.encoding_table["40566"] = [251,118] let s:lib.Codec.encoding_table["40567"] = [251,119] let s:lib.Codec.encoding_table["40568"] = [251,120] let s:lib.Codec.encoding_table["40569"] = [251,121] let s:lib.Codec.encoding_table["40570"] = [251,122] let s:lib.Codec.encoding_table["40571"] = [251,123] let s:lib.Codec.encoding_table["40572"] = [251,124] let s:lib.Codec.encoding_table["40573"] = [251,125] let s:lib.Codec.encoding_table["40576"] = [251,126] let s:lib.Codec.encoding_table["40577"] = [251,128] let s:lib.Codec.encoding_table["40579"] = [251,129] let s:lib.Codec.encoding_table["40580"] = [251,130] let s:lib.Codec.encoding_table["40581"] = [251,131] let s:lib.Codec.encoding_table["40582"] = [251,132] let s:lib.Codec.encoding_table["40585"] = [251,133] let s:lib.Codec.encoding_table["40586"] = [251,134] let s:lib.Codec.encoding_table["40588"] = [251,135] let s:lib.Codec.encoding_table["40589"] = [251,136] let s:lib.Codec.encoding_table["40590"] = [251,137] let s:lib.Codec.encoding_table["40591"] = [251,138] let s:lib.Codec.encoding_table["40592"] = [251,139] let s:lib.Codec.encoding_table["40593"] = [251,140] let s:lib.Codec.encoding_table["40596"] = [251,141] let s:lib.Codec.encoding_table["40597"] = [251,142] let s:lib.Codec.encoding_table["40598"] = [251,143] let s:lib.Codec.encoding_table["40599"] = [251,144] let s:lib.Codec.encoding_table["40600"] = [251,145] let s:lib.Codec.encoding_table["40601"] = [251,146] let s:lib.Codec.encoding_table["40602"] = [251,147] let s:lib.Codec.encoding_table["40603"] = [251,148] let s:lib.Codec.encoding_table["40604"] = [251,149] let s:lib.Codec.encoding_table["40606"] = [251,150] let s:lib.Codec.encoding_table["40608"] = [251,151] let s:lib.Codec.encoding_table["40609"] = [251,152] let s:lib.Codec.encoding_table["40610"] = [251,153] let s:lib.Codec.encoding_table["40611"] = [251,154] let s:lib.Codec.encoding_table["40612"] = [251,155] let s:lib.Codec.encoding_table["40613"] = [251,156] let s:lib.Codec.encoding_table["40615"] = [251,157] let s:lib.Codec.encoding_table["40616"] = [251,158] let s:lib.Codec.encoding_table["40617"] = [251,159] let s:lib.Codec.encoding_table["40618"] = [251,160] let s:lib.Codec.encoding_table["40619"] = [252,64] let s:lib.Codec.encoding_table["40620"] = [252,65] let s:lib.Codec.encoding_table["40621"] = [252,66] let s:lib.Codec.encoding_table["40622"] = [252,67] let s:lib.Codec.encoding_table["40623"] = [252,68] let s:lib.Codec.encoding_table["40624"] = [252,69] let s:lib.Codec.encoding_table["40625"] = [252,70] let s:lib.Codec.encoding_table["40626"] = [252,71] let s:lib.Codec.encoding_table["40627"] = [252,72] let s:lib.Codec.encoding_table["40629"] = [252,73] let s:lib.Codec.encoding_table["40630"] = [252,74] let s:lib.Codec.encoding_table["40631"] = [252,75] let s:lib.Codec.encoding_table["40633"] = [252,76] let s:lib.Codec.encoding_table["40634"] = [252,77] let s:lib.Codec.encoding_table["40636"] = [252,78] let s:lib.Codec.encoding_table["40639"] = [252,79] let s:lib.Codec.encoding_table["40640"] = [252,80] let s:lib.Codec.encoding_table["40641"] = [252,81] let s:lib.Codec.encoding_table["40642"] = [252,82] let s:lib.Codec.encoding_table["40643"] = [252,83] let s:lib.Codec.encoding_table["40645"] = [252,84] let s:lib.Codec.encoding_table["40646"] = [252,85] let s:lib.Codec.encoding_table["40647"] = [252,86] let s:lib.Codec.encoding_table["40648"] = [252,87] let s:lib.Codec.encoding_table["40650"] = [252,88] let s:lib.Codec.encoding_table["40651"] = [252,89] let s:lib.Codec.encoding_table["40652"] = [252,90] let s:lib.Codec.encoding_table["40656"] = [252,91] let s:lib.Codec.encoding_table["40658"] = [252,92] let s:lib.Codec.encoding_table["40659"] = [252,93] let s:lib.Codec.encoding_table["40661"] = [252,94] let s:lib.Codec.encoding_table["40662"] = [252,95] let s:lib.Codec.encoding_table["40663"] = [252,96] let s:lib.Codec.encoding_table["40665"] = [252,97] let s:lib.Codec.encoding_table["40666"] = [252,98] let s:lib.Codec.encoding_table["40670"] = [252,99] let s:lib.Codec.encoding_table["40673"] = [252,100] let s:lib.Codec.encoding_table["40675"] = [252,101] let s:lib.Codec.encoding_table["40676"] = [252,102] let s:lib.Codec.encoding_table["40678"] = [252,103] let s:lib.Codec.encoding_table["40680"] = [252,104] let s:lib.Codec.encoding_table["40683"] = [252,105] let s:lib.Codec.encoding_table["40684"] = [252,106] let s:lib.Codec.encoding_table["40685"] = [252,107] let s:lib.Codec.encoding_table["40686"] = [252,108] let s:lib.Codec.encoding_table["40688"] = [252,109] let s:lib.Codec.encoding_table["40689"] = [252,110] let s:lib.Codec.encoding_table["40690"] = [252,111] let s:lib.Codec.encoding_table["40691"] = [252,112] let s:lib.Codec.encoding_table["40692"] = [252,113] let s:lib.Codec.encoding_table["40693"] = [252,114] let s:lib.Codec.encoding_table["40694"] = [252,115] let s:lib.Codec.encoding_table["40695"] = [252,116] let s:lib.Codec.encoding_table["40696"] = [252,117] let s:lib.Codec.encoding_table["40698"] = [252,118] let s:lib.Codec.encoding_table["40701"] = [252,119] let s:lib.Codec.encoding_table["40703"] = [252,120] let s:lib.Codec.encoding_table["40704"] = [252,121] let s:lib.Codec.encoding_table["40705"] = [252,122] let s:lib.Codec.encoding_table["40706"] = [252,123] let s:lib.Codec.encoding_table["40707"] = [252,124] let s:lib.Codec.encoding_table["40708"] = [252,125] let s:lib.Codec.encoding_table["40709"] = [252,126] let s:lib.Codec.encoding_table["40710"] = [252,128] let s:lib.Codec.encoding_table["40711"] = [252,129] let s:lib.Codec.encoding_table["40712"] = [252,130] let s:lib.Codec.encoding_table["40713"] = [252,131] let s:lib.Codec.encoding_table["40714"] = [252,132] let s:lib.Codec.encoding_table["40716"] = [252,133] let s:lib.Codec.encoding_table["40719"] = [252,134] let s:lib.Codec.encoding_table["40721"] = [252,135] let s:lib.Codec.encoding_table["40722"] = [252,136] let s:lib.Codec.encoding_table["40724"] = [252,137] let s:lib.Codec.encoding_table["40725"] = [252,138] let s:lib.Codec.encoding_table["40726"] = [252,139] let s:lib.Codec.encoding_table["40728"] = [252,140] let s:lib.Codec.encoding_table["40730"] = [252,141] let s:lib.Codec.encoding_table["40731"] = [252,142] let s:lib.Codec.encoding_table["40732"] = [252,143] let s:lib.Codec.encoding_table["40733"] = [252,144] let s:lib.Codec.encoding_table["40734"] = [252,145] let s:lib.Codec.encoding_table["40735"] = [252,146] let s:lib.Codec.encoding_table["40737"] = [252,147] let s:lib.Codec.encoding_table["40739"] = [252,148] let s:lib.Codec.encoding_table["40740"] = [252,149] let s:lib.Codec.encoding_table["40741"] = [252,150] let s:lib.Codec.encoding_table["40742"] = [252,151] let s:lib.Codec.encoding_table["40743"] = [252,152] let s:lib.Codec.encoding_table["40744"] = [252,153] let s:lib.Codec.encoding_table["40745"] = [252,154] let s:lib.Codec.encoding_table["40746"] = [252,155] let s:lib.Codec.encoding_table["40747"] = [252,156] let s:lib.Codec.encoding_table["40749"] = [252,157] let s:lib.Codec.encoding_table["40750"] = [252,158] let s:lib.Codec.encoding_table["40752"] = [252,159] let s:lib.Codec.encoding_table["40753"] = [252,160] let s:lib.Codec.encoding_table["40754"] = [253,64] let s:lib.Codec.encoding_table["40755"] = [253,65] let s:lib.Codec.encoding_table["40756"] = [253,66] let s:lib.Codec.encoding_table["40757"] = [253,67] let s:lib.Codec.encoding_table["40758"] = [253,68] let s:lib.Codec.encoding_table["40760"] = [253,69] let s:lib.Codec.encoding_table["40762"] = [253,70] let s:lib.Codec.encoding_table["40764"] = [253,71] let s:lib.Codec.encoding_table["40767"] = [253,72] let s:lib.Codec.encoding_table["40768"] = [253,73] let s:lib.Codec.encoding_table["40769"] = [253,74] let s:lib.Codec.encoding_table["40770"] = [253,75] let s:lib.Codec.encoding_table["40771"] = [253,76] let s:lib.Codec.encoding_table["40773"] = [253,77] let s:lib.Codec.encoding_table["40774"] = [253,78] let s:lib.Codec.encoding_table["40775"] = [253,79] let s:lib.Codec.encoding_table["40776"] = [253,80] let s:lib.Codec.encoding_table["40777"] = [253,81] let s:lib.Codec.encoding_table["40778"] = [253,82] let s:lib.Codec.encoding_table["40779"] = [253,83] let s:lib.Codec.encoding_table["40780"] = [253,84] let s:lib.Codec.encoding_table["40781"] = [253,85] let s:lib.Codec.encoding_table["40782"] = [253,86] let s:lib.Codec.encoding_table["40783"] = [253,87] let s:lib.Codec.encoding_table["40786"] = [253,88] let s:lib.Codec.encoding_table["40787"] = [253,89] let s:lib.Codec.encoding_table["40788"] = [253,90] let s:lib.Codec.encoding_table["40789"] = [253,91] let s:lib.Codec.encoding_table["40790"] = [253,92] let s:lib.Codec.encoding_table["40791"] = [253,93] let s:lib.Codec.encoding_table["40792"] = [253,94] let s:lib.Codec.encoding_table["40793"] = [253,95] let s:lib.Codec.encoding_table["40794"] = [253,96] let s:lib.Codec.encoding_table["40795"] = [253,97] let s:lib.Codec.encoding_table["40796"] = [253,98] let s:lib.Codec.encoding_table["40797"] = [253,99] let s:lib.Codec.encoding_table["40798"] = [253,100] let s:lib.Codec.encoding_table["40799"] = [253,101] let s:lib.Codec.encoding_table["40800"] = [253,102] let s:lib.Codec.encoding_table["40801"] = [253,103] let s:lib.Codec.encoding_table["40802"] = [253,104] let s:lib.Codec.encoding_table["40803"] = [253,105] let s:lib.Codec.encoding_table["40804"] = [253,106] let s:lib.Codec.encoding_table["40805"] = [253,107] let s:lib.Codec.encoding_table["40806"] = [253,108] let s:lib.Codec.encoding_table["40807"] = [253,109] let s:lib.Codec.encoding_table["40808"] = [253,110] let s:lib.Codec.encoding_table["40809"] = [253,111] let s:lib.Codec.encoding_table["40810"] = [253,112] let s:lib.Codec.encoding_table["40811"] = [253,113] let s:lib.Codec.encoding_table["40812"] = [253,114] let s:lib.Codec.encoding_table["40813"] = [253,115] let s:lib.Codec.encoding_table["40814"] = [253,116] let s:lib.Codec.encoding_table["40815"] = [253,117] let s:lib.Codec.encoding_table["40816"] = [253,118] let s:lib.Codec.encoding_table["40817"] = [253,119] let s:lib.Codec.encoding_table["40818"] = [253,120] let s:lib.Codec.encoding_table["40819"] = [253,121] let s:lib.Codec.encoding_table["40820"] = [253,122] let s:lib.Codec.encoding_table["40821"] = [253,123] let s:lib.Codec.encoding_table["40822"] = [253,124] let s:lib.Codec.encoding_table["40823"] = [253,125] let s:lib.Codec.encoding_table["40824"] = [253,126] let s:lib.Codec.encoding_table["40825"] = [253,128] let s:lib.Codec.encoding_table["40826"] = [253,129] let s:lib.Codec.encoding_table["40827"] = [253,130] let s:lib.Codec.encoding_table["40828"] = [253,131] let s:lib.Codec.encoding_table["40829"] = [253,132] let s:lib.Codec.encoding_table["40830"] = [253,133] let s:lib.Codec.encoding_table["40833"] = [253,134] let s:lib.Codec.encoding_table["40834"] = [253,135] let s:lib.Codec.encoding_table["40845"] = [253,136] let s:lib.Codec.encoding_table["40846"] = [253,137] let s:lib.Codec.encoding_table["40847"] = [253,138] let s:lib.Codec.encoding_table["40848"] = [253,139] let s:lib.Codec.encoding_table["40849"] = [253,140] let s:lib.Codec.encoding_table["40850"] = [253,141] let s:lib.Codec.encoding_table["40851"] = [253,142] let s:lib.Codec.encoding_table["40852"] = [253,143] let s:lib.Codec.encoding_table["40853"] = [253,144] let s:lib.Codec.encoding_table["40854"] = [253,145] let s:lib.Codec.encoding_table["40855"] = [253,146] let s:lib.Codec.encoding_table["40856"] = [253,147] let s:lib.Codec.encoding_table["40860"] = [253,148] let s:lib.Codec.encoding_table["40861"] = [253,149] let s:lib.Codec.encoding_table["40862"] = [253,150] let s:lib.Codec.encoding_table["40865"] = [253,151] let s:lib.Codec.encoding_table["40866"] = [253,152] let s:lib.Codec.encoding_table["40867"] = [253,153] let s:lib.Codec.encoding_table["40868"] = [253,154] let s:lib.Codec.encoding_table["40869"] = [253,155] let s:lib.Codec.encoding_table["63788"] = [253,156] let s:lib.Codec.encoding_table["63865"] = [253,157] let s:lib.Codec.encoding_table["63893"] = [253,158] let s:lib.Codec.encoding_table["63975"] = [253,159] let s:lib.Codec.encoding_table["63985"] = [253,160] let s:lib.Codec.encoding_table["64012"] = [254,64] let s:lib.Codec.encoding_table["64013"] = [254,65] let s:lib.Codec.encoding_table["64014"] = [254,66] let s:lib.Codec.encoding_table["64015"] = [254,67] let s:lib.Codec.encoding_table["64017"] = [254,68] let s:lib.Codec.encoding_table["64019"] = [254,69] let s:lib.Codec.encoding_table["64020"] = [254,70] let s:lib.Codec.encoding_table["64024"] = [254,71] let s:lib.Codec.encoding_table["64031"] = [254,72] let s:lib.Codec.encoding_table["64032"] = [254,73] let s:lib.Codec.encoding_table["64033"] = [254,74] let s:lib.Codec.encoding_table["64035"] = [254,75] let s:lib.Codec.encoding_table["64036"] = [254,76] let s:lib.Codec.encoding_table["64039"] = [254,77] let s:lib.Codec.encoding_table["64040"] = [254,78] let s:lib.Codec.encoding_table["64041"] = [254,79] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp949.vim ================================================ function! SpaceVim#api#iconv#codecs#_cp949#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP949" let s:lib.Codec.decoding_table_maxlen = 2 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["129,65"] = [44034] let s:lib.Codec.decoding_table["129,66"] = [44035] let s:lib.Codec.decoding_table["129,67"] = [44037] let s:lib.Codec.decoding_table["129,68"] = [44038] let s:lib.Codec.decoding_table["129,69"] = [44043] let s:lib.Codec.decoding_table["129,70"] = [44044] let s:lib.Codec.decoding_table["129,71"] = [44045] let s:lib.Codec.decoding_table["129,72"] = [44046] let s:lib.Codec.decoding_table["129,73"] = [44047] let s:lib.Codec.decoding_table["129,74"] = [44056] let s:lib.Codec.decoding_table["129,75"] = [44062] let s:lib.Codec.decoding_table["129,76"] = [44063] let s:lib.Codec.decoding_table["129,77"] = [44065] let s:lib.Codec.decoding_table["129,78"] = [44066] let s:lib.Codec.decoding_table["129,79"] = [44067] let s:lib.Codec.decoding_table["129,80"] = [44069] let s:lib.Codec.decoding_table["129,81"] = [44070] let s:lib.Codec.decoding_table["129,82"] = [44071] let s:lib.Codec.decoding_table["129,83"] = [44072] let s:lib.Codec.decoding_table["129,84"] = [44073] let s:lib.Codec.decoding_table["129,85"] = [44074] let s:lib.Codec.decoding_table["129,86"] = [44075] let s:lib.Codec.decoding_table["129,87"] = [44078] let s:lib.Codec.decoding_table["129,88"] = [44082] let s:lib.Codec.decoding_table["129,89"] = [44083] let s:lib.Codec.decoding_table["129,90"] = [44084] let s:lib.Codec.decoding_table["129,97"] = [44085] let s:lib.Codec.decoding_table["129,98"] = [44086] let s:lib.Codec.decoding_table["129,99"] = [44087] let s:lib.Codec.decoding_table["129,100"] = [44090] let s:lib.Codec.decoding_table["129,101"] = [44091] let s:lib.Codec.decoding_table["129,102"] = [44093] let s:lib.Codec.decoding_table["129,103"] = [44094] let s:lib.Codec.decoding_table["129,104"] = [44095] let s:lib.Codec.decoding_table["129,105"] = [44097] let s:lib.Codec.decoding_table["129,106"] = [44098] let s:lib.Codec.decoding_table["129,107"] = [44099] let s:lib.Codec.decoding_table["129,108"] = [44100] let s:lib.Codec.decoding_table["129,109"] = [44101] let s:lib.Codec.decoding_table["129,110"] = [44102] let s:lib.Codec.decoding_table["129,111"] = [44103] let s:lib.Codec.decoding_table["129,112"] = [44104] let s:lib.Codec.decoding_table["129,113"] = [44105] let s:lib.Codec.decoding_table["129,114"] = [44106] let s:lib.Codec.decoding_table["129,115"] = [44108] let s:lib.Codec.decoding_table["129,116"] = [44110] let s:lib.Codec.decoding_table["129,117"] = [44111] let s:lib.Codec.decoding_table["129,118"] = [44112] let s:lib.Codec.decoding_table["129,119"] = [44113] let s:lib.Codec.decoding_table["129,120"] = [44114] let s:lib.Codec.decoding_table["129,121"] = [44115] let s:lib.Codec.decoding_table["129,122"] = [44117] let s:lib.Codec.decoding_table["129,129"] = [44118] let s:lib.Codec.decoding_table["129,130"] = [44119] let s:lib.Codec.decoding_table["129,131"] = [44121] let s:lib.Codec.decoding_table["129,132"] = [44122] let s:lib.Codec.decoding_table["129,133"] = [44123] let s:lib.Codec.decoding_table["129,134"] = [44125] let s:lib.Codec.decoding_table["129,135"] = [44126] let s:lib.Codec.decoding_table["129,136"] = [44127] let s:lib.Codec.decoding_table["129,137"] = [44128] let s:lib.Codec.decoding_table["129,138"] = [44129] let s:lib.Codec.decoding_table["129,139"] = [44130] let s:lib.Codec.decoding_table["129,140"] = [44131] let s:lib.Codec.decoding_table["129,141"] = [44132] let s:lib.Codec.decoding_table["129,142"] = [44133] let s:lib.Codec.decoding_table["129,143"] = [44134] let s:lib.Codec.decoding_table["129,144"] = [44135] let s:lib.Codec.decoding_table["129,145"] = [44136] let s:lib.Codec.decoding_table["129,146"] = [44137] let s:lib.Codec.decoding_table["129,147"] = [44138] let s:lib.Codec.decoding_table["129,148"] = [44139] let s:lib.Codec.decoding_table["129,149"] = [44140] let s:lib.Codec.decoding_table["129,150"] = [44141] let s:lib.Codec.decoding_table["129,151"] = [44142] let s:lib.Codec.decoding_table["129,152"] = [44143] let s:lib.Codec.decoding_table["129,153"] = [44146] let s:lib.Codec.decoding_table["129,154"] = [44147] let s:lib.Codec.decoding_table["129,155"] = [44149] let s:lib.Codec.decoding_table["129,156"] = [44150] let s:lib.Codec.decoding_table["129,157"] = [44153] let s:lib.Codec.decoding_table["129,158"] = [44155] let s:lib.Codec.decoding_table["129,159"] = [44156] let s:lib.Codec.decoding_table["129,160"] = [44157] let s:lib.Codec.decoding_table["129,161"] = [44158] let s:lib.Codec.decoding_table["129,162"] = [44159] let s:lib.Codec.decoding_table["129,163"] = [44162] let s:lib.Codec.decoding_table["129,164"] = [44167] let s:lib.Codec.decoding_table["129,165"] = [44168] let s:lib.Codec.decoding_table["129,166"] = [44173] let s:lib.Codec.decoding_table["129,167"] = [44174] let s:lib.Codec.decoding_table["129,168"] = [44175] let s:lib.Codec.decoding_table["129,169"] = [44177] let s:lib.Codec.decoding_table["129,170"] = [44178] let s:lib.Codec.decoding_table["129,171"] = [44179] let s:lib.Codec.decoding_table["129,172"] = [44181] let s:lib.Codec.decoding_table["129,173"] = [44182] let s:lib.Codec.decoding_table["129,174"] = [44183] let s:lib.Codec.decoding_table["129,175"] = [44184] let s:lib.Codec.decoding_table["129,176"] = [44185] let s:lib.Codec.decoding_table["129,177"] = [44186] let s:lib.Codec.decoding_table["129,178"] = [44187] let s:lib.Codec.decoding_table["129,179"] = [44190] let s:lib.Codec.decoding_table["129,180"] = [44194] let s:lib.Codec.decoding_table["129,181"] = [44195] let s:lib.Codec.decoding_table["129,182"] = [44196] let s:lib.Codec.decoding_table["129,183"] = [44197] let s:lib.Codec.decoding_table["129,184"] = [44198] let s:lib.Codec.decoding_table["129,185"] = [44199] let s:lib.Codec.decoding_table["129,186"] = [44203] let s:lib.Codec.decoding_table["129,187"] = [44205] let s:lib.Codec.decoding_table["129,188"] = [44206] let s:lib.Codec.decoding_table["129,189"] = [44209] let s:lib.Codec.decoding_table["129,190"] = [44210] let s:lib.Codec.decoding_table["129,191"] = [44211] let s:lib.Codec.decoding_table["129,192"] = [44212] let s:lib.Codec.decoding_table["129,193"] = [44213] let s:lib.Codec.decoding_table["129,194"] = [44214] let s:lib.Codec.decoding_table["129,195"] = [44215] let s:lib.Codec.decoding_table["129,196"] = [44218] let s:lib.Codec.decoding_table["129,197"] = [44222] let s:lib.Codec.decoding_table["129,198"] = [44223] let s:lib.Codec.decoding_table["129,199"] = [44224] let s:lib.Codec.decoding_table["129,200"] = [44226] let s:lib.Codec.decoding_table["129,201"] = [44227] let s:lib.Codec.decoding_table["129,202"] = [44229] let s:lib.Codec.decoding_table["129,203"] = [44230] let s:lib.Codec.decoding_table["129,204"] = [44231] let s:lib.Codec.decoding_table["129,205"] = [44233] let s:lib.Codec.decoding_table["129,206"] = [44234] let s:lib.Codec.decoding_table["129,207"] = [44235] let s:lib.Codec.decoding_table["129,208"] = [44237] let s:lib.Codec.decoding_table["129,209"] = [44238] let s:lib.Codec.decoding_table["129,210"] = [44239] let s:lib.Codec.decoding_table["129,211"] = [44240] let s:lib.Codec.decoding_table["129,212"] = [44241] let s:lib.Codec.decoding_table["129,213"] = [44242] let s:lib.Codec.decoding_table["129,214"] = [44243] let s:lib.Codec.decoding_table["129,215"] = [44244] let s:lib.Codec.decoding_table["129,216"] = [44246] let s:lib.Codec.decoding_table["129,217"] = [44248] let s:lib.Codec.decoding_table["129,218"] = [44249] let s:lib.Codec.decoding_table["129,219"] = [44250] let s:lib.Codec.decoding_table["129,220"] = [44251] let s:lib.Codec.decoding_table["129,221"] = [44252] let s:lib.Codec.decoding_table["129,222"] = [44253] let s:lib.Codec.decoding_table["129,223"] = [44254] let s:lib.Codec.decoding_table["129,224"] = [44255] let s:lib.Codec.decoding_table["129,225"] = [44258] let s:lib.Codec.decoding_table["129,226"] = [44259] let s:lib.Codec.decoding_table["129,227"] = [44261] let s:lib.Codec.decoding_table["129,228"] = [44262] let s:lib.Codec.decoding_table["129,229"] = [44265] let s:lib.Codec.decoding_table["129,230"] = [44267] let s:lib.Codec.decoding_table["129,231"] = [44269] let s:lib.Codec.decoding_table["129,232"] = [44270] let s:lib.Codec.decoding_table["129,233"] = [44274] let s:lib.Codec.decoding_table["129,234"] = [44276] let s:lib.Codec.decoding_table["129,235"] = [44279] let s:lib.Codec.decoding_table["129,236"] = [44280] let s:lib.Codec.decoding_table["129,237"] = [44281] let s:lib.Codec.decoding_table["129,238"] = [44282] let s:lib.Codec.decoding_table["129,239"] = [44283] let s:lib.Codec.decoding_table["129,240"] = [44286] let s:lib.Codec.decoding_table["129,241"] = [44287] let s:lib.Codec.decoding_table["129,242"] = [44289] let s:lib.Codec.decoding_table["129,243"] = [44290] let s:lib.Codec.decoding_table["129,244"] = [44291] let s:lib.Codec.decoding_table["129,245"] = [44293] let s:lib.Codec.decoding_table["129,246"] = [44295] let s:lib.Codec.decoding_table["129,247"] = [44296] let s:lib.Codec.decoding_table["129,248"] = [44297] let s:lib.Codec.decoding_table["129,249"] = [44298] let s:lib.Codec.decoding_table["129,250"] = [44299] let s:lib.Codec.decoding_table["129,251"] = [44302] let s:lib.Codec.decoding_table["129,252"] = [44304] let s:lib.Codec.decoding_table["129,253"] = [44306] let s:lib.Codec.decoding_table["129,254"] = [44307] let s:lib.Codec.decoding_table["130,65"] = [44308] let s:lib.Codec.decoding_table["130,66"] = [44309] let s:lib.Codec.decoding_table["130,67"] = [44310] let s:lib.Codec.decoding_table["130,68"] = [44311] let s:lib.Codec.decoding_table["130,69"] = [44313] let s:lib.Codec.decoding_table["130,70"] = [44314] let s:lib.Codec.decoding_table["130,71"] = [44315] let s:lib.Codec.decoding_table["130,72"] = [44317] let s:lib.Codec.decoding_table["130,73"] = [44318] let s:lib.Codec.decoding_table["130,74"] = [44319] let s:lib.Codec.decoding_table["130,75"] = [44321] let s:lib.Codec.decoding_table["130,76"] = [44322] let s:lib.Codec.decoding_table["130,77"] = [44323] let s:lib.Codec.decoding_table["130,78"] = [44324] let s:lib.Codec.decoding_table["130,79"] = [44325] let s:lib.Codec.decoding_table["130,80"] = [44326] let s:lib.Codec.decoding_table["130,81"] = [44327] let s:lib.Codec.decoding_table["130,82"] = [44328] let s:lib.Codec.decoding_table["130,83"] = [44330] let s:lib.Codec.decoding_table["130,84"] = [44331] let s:lib.Codec.decoding_table["130,85"] = [44334] let s:lib.Codec.decoding_table["130,86"] = [44335] let s:lib.Codec.decoding_table["130,87"] = [44336] let s:lib.Codec.decoding_table["130,88"] = [44337] let s:lib.Codec.decoding_table["130,89"] = [44338] let s:lib.Codec.decoding_table["130,90"] = [44339] let s:lib.Codec.decoding_table["130,97"] = [44342] let s:lib.Codec.decoding_table["130,98"] = [44343] let s:lib.Codec.decoding_table["130,99"] = [44345] let s:lib.Codec.decoding_table["130,100"] = [44346] let s:lib.Codec.decoding_table["130,101"] = [44347] let s:lib.Codec.decoding_table["130,102"] = [44349] let s:lib.Codec.decoding_table["130,103"] = [44350] let s:lib.Codec.decoding_table["130,104"] = [44351] let s:lib.Codec.decoding_table["130,105"] = [44352] let s:lib.Codec.decoding_table["130,106"] = [44353] let s:lib.Codec.decoding_table["130,107"] = [44354] let s:lib.Codec.decoding_table["130,108"] = [44355] let s:lib.Codec.decoding_table["130,109"] = [44358] let s:lib.Codec.decoding_table["130,110"] = [44360] let s:lib.Codec.decoding_table["130,111"] = [44362] let s:lib.Codec.decoding_table["130,112"] = [44363] let s:lib.Codec.decoding_table["130,113"] = [44364] let s:lib.Codec.decoding_table["130,114"] = [44365] let s:lib.Codec.decoding_table["130,115"] = [44366] let s:lib.Codec.decoding_table["130,116"] = [44367] let s:lib.Codec.decoding_table["130,117"] = [44369] let s:lib.Codec.decoding_table["130,118"] = [44370] let s:lib.Codec.decoding_table["130,119"] = [44371] let s:lib.Codec.decoding_table["130,120"] = [44373] let s:lib.Codec.decoding_table["130,121"] = [44374] let s:lib.Codec.decoding_table["130,122"] = [44375] let s:lib.Codec.decoding_table["130,129"] = [44377] let s:lib.Codec.decoding_table["130,130"] = [44378] let s:lib.Codec.decoding_table["130,131"] = [44379] let s:lib.Codec.decoding_table["130,132"] = [44380] let s:lib.Codec.decoding_table["130,133"] = [44381] let s:lib.Codec.decoding_table["130,134"] = [44382] let s:lib.Codec.decoding_table["130,135"] = [44383] let s:lib.Codec.decoding_table["130,136"] = [44384] let s:lib.Codec.decoding_table["130,137"] = [44386] let s:lib.Codec.decoding_table["130,138"] = [44388] let s:lib.Codec.decoding_table["130,139"] = [44389] let s:lib.Codec.decoding_table["130,140"] = [44390] let s:lib.Codec.decoding_table["130,141"] = [44391] let s:lib.Codec.decoding_table["130,142"] = [44392] let s:lib.Codec.decoding_table["130,143"] = [44393] let s:lib.Codec.decoding_table["130,144"] = [44394] let s:lib.Codec.decoding_table["130,145"] = [44395] let s:lib.Codec.decoding_table["130,146"] = [44398] let s:lib.Codec.decoding_table["130,147"] = [44399] let s:lib.Codec.decoding_table["130,148"] = [44401] let s:lib.Codec.decoding_table["130,149"] = [44402] let s:lib.Codec.decoding_table["130,150"] = [44407] let s:lib.Codec.decoding_table["130,151"] = [44408] let s:lib.Codec.decoding_table["130,152"] = [44409] let s:lib.Codec.decoding_table["130,153"] = [44410] let s:lib.Codec.decoding_table["130,154"] = [44414] let s:lib.Codec.decoding_table["130,155"] = [44416] let s:lib.Codec.decoding_table["130,156"] = [44419] let s:lib.Codec.decoding_table["130,157"] = [44420] let s:lib.Codec.decoding_table["130,158"] = [44421] let s:lib.Codec.decoding_table["130,159"] = [44422] let s:lib.Codec.decoding_table["130,160"] = [44423] let s:lib.Codec.decoding_table["130,161"] = [44426] let s:lib.Codec.decoding_table["130,162"] = [44427] let s:lib.Codec.decoding_table["130,163"] = [44429] let s:lib.Codec.decoding_table["130,164"] = [44430] let s:lib.Codec.decoding_table["130,165"] = [44431] let s:lib.Codec.decoding_table["130,166"] = [44433] let s:lib.Codec.decoding_table["130,167"] = [44434] let s:lib.Codec.decoding_table["130,168"] = [44435] let s:lib.Codec.decoding_table["130,169"] = [44436] let s:lib.Codec.decoding_table["130,170"] = [44437] let s:lib.Codec.decoding_table["130,171"] = [44438] let s:lib.Codec.decoding_table["130,172"] = [44439] let s:lib.Codec.decoding_table["130,173"] = [44440] let s:lib.Codec.decoding_table["130,174"] = [44441] let s:lib.Codec.decoding_table["130,175"] = [44442] let s:lib.Codec.decoding_table["130,176"] = [44443] let s:lib.Codec.decoding_table["130,177"] = [44446] let s:lib.Codec.decoding_table["130,178"] = [44447] let s:lib.Codec.decoding_table["130,179"] = [44448] let s:lib.Codec.decoding_table["130,180"] = [44449] let s:lib.Codec.decoding_table["130,181"] = [44450] let s:lib.Codec.decoding_table["130,182"] = [44451] let s:lib.Codec.decoding_table["130,183"] = [44453] let s:lib.Codec.decoding_table["130,184"] = [44454] let s:lib.Codec.decoding_table["130,185"] = [44455] let s:lib.Codec.decoding_table["130,186"] = [44456] let s:lib.Codec.decoding_table["130,187"] = [44457] let s:lib.Codec.decoding_table["130,188"] = [44458] let s:lib.Codec.decoding_table["130,189"] = [44459] let s:lib.Codec.decoding_table["130,190"] = [44460] let s:lib.Codec.decoding_table["130,191"] = [44461] let s:lib.Codec.decoding_table["130,192"] = [44462] let s:lib.Codec.decoding_table["130,193"] = [44463] let s:lib.Codec.decoding_table["130,194"] = [44464] let s:lib.Codec.decoding_table["130,195"] = [44465] let s:lib.Codec.decoding_table["130,196"] = [44466] let s:lib.Codec.decoding_table["130,197"] = [44467] let s:lib.Codec.decoding_table["130,198"] = [44468] let s:lib.Codec.decoding_table["130,199"] = [44469] let s:lib.Codec.decoding_table["130,200"] = [44470] let s:lib.Codec.decoding_table["130,201"] = [44472] let s:lib.Codec.decoding_table["130,202"] = [44473] let s:lib.Codec.decoding_table["130,203"] = [44474] let s:lib.Codec.decoding_table["130,204"] = [44475] let s:lib.Codec.decoding_table["130,205"] = [44476] let s:lib.Codec.decoding_table["130,206"] = [44477] let s:lib.Codec.decoding_table["130,207"] = [44478] let s:lib.Codec.decoding_table["130,208"] = [44479] let s:lib.Codec.decoding_table["130,209"] = [44482] let s:lib.Codec.decoding_table["130,210"] = [44483] let s:lib.Codec.decoding_table["130,211"] = [44485] let s:lib.Codec.decoding_table["130,212"] = [44486] let s:lib.Codec.decoding_table["130,213"] = [44487] let s:lib.Codec.decoding_table["130,214"] = [44489] let s:lib.Codec.decoding_table["130,215"] = [44490] let s:lib.Codec.decoding_table["130,216"] = [44491] let s:lib.Codec.decoding_table["130,217"] = [44492] let s:lib.Codec.decoding_table["130,218"] = [44493] let s:lib.Codec.decoding_table["130,219"] = [44494] let s:lib.Codec.decoding_table["130,220"] = [44495] let s:lib.Codec.decoding_table["130,221"] = [44498] let s:lib.Codec.decoding_table["130,222"] = [44500] let s:lib.Codec.decoding_table["130,223"] = [44501] let s:lib.Codec.decoding_table["130,224"] = [44502] let s:lib.Codec.decoding_table["130,225"] = [44503] let s:lib.Codec.decoding_table["130,226"] = [44504] let s:lib.Codec.decoding_table["130,227"] = [44505] let s:lib.Codec.decoding_table["130,228"] = [44506] let s:lib.Codec.decoding_table["130,229"] = [44507] let s:lib.Codec.decoding_table["130,230"] = [44509] let s:lib.Codec.decoding_table["130,231"] = [44510] let s:lib.Codec.decoding_table["130,232"] = [44511] let s:lib.Codec.decoding_table["130,233"] = [44513] let s:lib.Codec.decoding_table["130,234"] = [44514] let s:lib.Codec.decoding_table["130,235"] = [44515] let s:lib.Codec.decoding_table["130,236"] = [44517] let s:lib.Codec.decoding_table["130,237"] = [44518] let s:lib.Codec.decoding_table["130,238"] = [44519] let s:lib.Codec.decoding_table["130,239"] = [44520] let s:lib.Codec.decoding_table["130,240"] = [44521] let s:lib.Codec.decoding_table["130,241"] = [44522] let s:lib.Codec.decoding_table["130,242"] = [44523] let s:lib.Codec.decoding_table["130,243"] = [44524] let s:lib.Codec.decoding_table["130,244"] = [44525] let s:lib.Codec.decoding_table["130,245"] = [44526] let s:lib.Codec.decoding_table["130,246"] = [44527] let s:lib.Codec.decoding_table["130,247"] = [44528] let s:lib.Codec.decoding_table["130,248"] = [44529] let s:lib.Codec.decoding_table["130,249"] = [44530] let s:lib.Codec.decoding_table["130,250"] = [44531] let s:lib.Codec.decoding_table["130,251"] = [44532] let s:lib.Codec.decoding_table["130,252"] = [44533] let s:lib.Codec.decoding_table["130,253"] = [44534] let s:lib.Codec.decoding_table["130,254"] = [44535] let s:lib.Codec.decoding_table["131,65"] = [44538] let s:lib.Codec.decoding_table["131,66"] = [44539] let s:lib.Codec.decoding_table["131,67"] = [44541] let s:lib.Codec.decoding_table["131,68"] = [44542] let s:lib.Codec.decoding_table["131,69"] = [44546] let s:lib.Codec.decoding_table["131,70"] = [44547] let s:lib.Codec.decoding_table["131,71"] = [44548] let s:lib.Codec.decoding_table["131,72"] = [44549] let s:lib.Codec.decoding_table["131,73"] = [44550] let s:lib.Codec.decoding_table["131,74"] = [44551] let s:lib.Codec.decoding_table["131,75"] = [44554] let s:lib.Codec.decoding_table["131,76"] = [44556] let s:lib.Codec.decoding_table["131,77"] = [44558] let s:lib.Codec.decoding_table["131,78"] = [44559] let s:lib.Codec.decoding_table["131,79"] = [44560] let s:lib.Codec.decoding_table["131,80"] = [44561] let s:lib.Codec.decoding_table["131,81"] = [44562] let s:lib.Codec.decoding_table["131,82"] = [44563] let s:lib.Codec.decoding_table["131,83"] = [44565] let s:lib.Codec.decoding_table["131,84"] = [44566] let s:lib.Codec.decoding_table["131,85"] = [44567] let s:lib.Codec.decoding_table["131,86"] = [44568] let s:lib.Codec.decoding_table["131,87"] = [44569] let s:lib.Codec.decoding_table["131,88"] = [44570] let s:lib.Codec.decoding_table["131,89"] = [44571] let s:lib.Codec.decoding_table["131,90"] = [44572] let s:lib.Codec.decoding_table["131,97"] = [44573] let s:lib.Codec.decoding_table["131,98"] = [44574] let s:lib.Codec.decoding_table["131,99"] = [44575] let s:lib.Codec.decoding_table["131,100"] = [44576] let s:lib.Codec.decoding_table["131,101"] = [44577] let s:lib.Codec.decoding_table["131,102"] = [44578] let s:lib.Codec.decoding_table["131,103"] = [44579] let s:lib.Codec.decoding_table["131,104"] = [44580] let s:lib.Codec.decoding_table["131,105"] = [44581] let s:lib.Codec.decoding_table["131,106"] = [44582] let s:lib.Codec.decoding_table["131,107"] = [44583] let s:lib.Codec.decoding_table["131,108"] = [44584] let s:lib.Codec.decoding_table["131,109"] = [44585] let s:lib.Codec.decoding_table["131,110"] = [44586] let s:lib.Codec.decoding_table["131,111"] = [44587] let s:lib.Codec.decoding_table["131,112"] = [44588] let s:lib.Codec.decoding_table["131,113"] = [44589] let s:lib.Codec.decoding_table["131,114"] = [44590] let s:lib.Codec.decoding_table["131,115"] = [44591] let s:lib.Codec.decoding_table["131,116"] = [44594] let s:lib.Codec.decoding_table["131,117"] = [44595] let s:lib.Codec.decoding_table["131,118"] = [44597] let s:lib.Codec.decoding_table["131,119"] = [44598] let s:lib.Codec.decoding_table["131,120"] = [44601] let s:lib.Codec.decoding_table["131,121"] = [44603] let s:lib.Codec.decoding_table["131,122"] = [44604] let s:lib.Codec.decoding_table["131,129"] = [44605] let s:lib.Codec.decoding_table["131,130"] = [44606] let s:lib.Codec.decoding_table["131,131"] = [44607] let s:lib.Codec.decoding_table["131,132"] = [44610] let s:lib.Codec.decoding_table["131,133"] = [44612] let s:lib.Codec.decoding_table["131,134"] = [44615] let s:lib.Codec.decoding_table["131,135"] = [44616] let s:lib.Codec.decoding_table["131,136"] = [44617] let s:lib.Codec.decoding_table["131,137"] = [44619] let s:lib.Codec.decoding_table["131,138"] = [44623] let s:lib.Codec.decoding_table["131,139"] = [44625] let s:lib.Codec.decoding_table["131,140"] = [44626] let s:lib.Codec.decoding_table["131,141"] = [44627] let s:lib.Codec.decoding_table["131,142"] = [44629] let s:lib.Codec.decoding_table["131,143"] = [44631] let s:lib.Codec.decoding_table["131,144"] = [44632] let s:lib.Codec.decoding_table["131,145"] = [44633] let s:lib.Codec.decoding_table["131,146"] = [44634] let s:lib.Codec.decoding_table["131,147"] = [44635] let s:lib.Codec.decoding_table["131,148"] = [44638] let s:lib.Codec.decoding_table["131,149"] = [44642] let s:lib.Codec.decoding_table["131,150"] = [44643] let s:lib.Codec.decoding_table["131,151"] = [44644] let s:lib.Codec.decoding_table["131,152"] = [44646] let s:lib.Codec.decoding_table["131,153"] = [44647] let s:lib.Codec.decoding_table["131,154"] = [44650] let s:lib.Codec.decoding_table["131,155"] = [44651] let s:lib.Codec.decoding_table["131,156"] = [44653] let s:lib.Codec.decoding_table["131,157"] = [44654] let s:lib.Codec.decoding_table["131,158"] = [44655] let s:lib.Codec.decoding_table["131,159"] = [44657] let s:lib.Codec.decoding_table["131,160"] = [44658] let s:lib.Codec.decoding_table["131,161"] = [44659] let s:lib.Codec.decoding_table["131,162"] = [44660] let s:lib.Codec.decoding_table["131,163"] = [44661] let s:lib.Codec.decoding_table["131,164"] = [44662] let s:lib.Codec.decoding_table["131,165"] = [44663] let s:lib.Codec.decoding_table["131,166"] = [44666] let s:lib.Codec.decoding_table["131,167"] = [44670] let s:lib.Codec.decoding_table["131,168"] = [44671] let s:lib.Codec.decoding_table["131,169"] = [44672] let s:lib.Codec.decoding_table["131,170"] = [44673] let s:lib.Codec.decoding_table["131,171"] = [44674] let s:lib.Codec.decoding_table["131,172"] = [44675] let s:lib.Codec.decoding_table["131,173"] = [44678] let s:lib.Codec.decoding_table["131,174"] = [44679] let s:lib.Codec.decoding_table["131,175"] = [44680] let s:lib.Codec.decoding_table["131,176"] = [44681] let s:lib.Codec.decoding_table["131,177"] = [44682] let s:lib.Codec.decoding_table["131,178"] = [44683] let s:lib.Codec.decoding_table["131,179"] = [44685] let s:lib.Codec.decoding_table["131,180"] = [44686] let s:lib.Codec.decoding_table["131,181"] = [44687] let s:lib.Codec.decoding_table["131,182"] = [44688] let s:lib.Codec.decoding_table["131,183"] = [44689] let s:lib.Codec.decoding_table["131,184"] = [44690] let s:lib.Codec.decoding_table["131,185"] = [44691] let s:lib.Codec.decoding_table["131,186"] = [44692] let s:lib.Codec.decoding_table["131,187"] = [44693] let s:lib.Codec.decoding_table["131,188"] = [44694] let s:lib.Codec.decoding_table["131,189"] = [44695] let s:lib.Codec.decoding_table["131,190"] = [44696] let s:lib.Codec.decoding_table["131,191"] = [44697] let s:lib.Codec.decoding_table["131,192"] = [44698] let s:lib.Codec.decoding_table["131,193"] = [44699] let s:lib.Codec.decoding_table["131,194"] = [44700] let s:lib.Codec.decoding_table["131,195"] = [44701] let s:lib.Codec.decoding_table["131,196"] = [44702] let s:lib.Codec.decoding_table["131,197"] = [44703] let s:lib.Codec.decoding_table["131,198"] = [44704] let s:lib.Codec.decoding_table["131,199"] = [44705] let s:lib.Codec.decoding_table["131,200"] = [44706] let s:lib.Codec.decoding_table["131,201"] = [44707] let s:lib.Codec.decoding_table["131,202"] = [44708] let s:lib.Codec.decoding_table["131,203"] = [44709] let s:lib.Codec.decoding_table["131,204"] = [44710] let s:lib.Codec.decoding_table["131,205"] = [44711] let s:lib.Codec.decoding_table["131,206"] = [44712] let s:lib.Codec.decoding_table["131,207"] = [44713] let s:lib.Codec.decoding_table["131,208"] = [44714] let s:lib.Codec.decoding_table["131,209"] = [44715] let s:lib.Codec.decoding_table["131,210"] = [44716] let s:lib.Codec.decoding_table["131,211"] = [44717] let s:lib.Codec.decoding_table["131,212"] = [44718] let s:lib.Codec.decoding_table["131,213"] = [44719] let s:lib.Codec.decoding_table["131,214"] = [44720] let s:lib.Codec.decoding_table["131,215"] = [44721] let s:lib.Codec.decoding_table["131,216"] = [44722] let s:lib.Codec.decoding_table["131,217"] = [44723] let s:lib.Codec.decoding_table["131,218"] = [44724] let s:lib.Codec.decoding_table["131,219"] = [44725] let s:lib.Codec.decoding_table["131,220"] = [44726] let s:lib.Codec.decoding_table["131,221"] = [44727] let s:lib.Codec.decoding_table["131,222"] = [44728] let s:lib.Codec.decoding_table["131,223"] = [44729] let s:lib.Codec.decoding_table["131,224"] = [44730] let s:lib.Codec.decoding_table["131,225"] = [44731] let s:lib.Codec.decoding_table["131,226"] = [44735] let s:lib.Codec.decoding_table["131,227"] = [44737] let s:lib.Codec.decoding_table["131,228"] = [44738] let s:lib.Codec.decoding_table["131,229"] = [44739] let s:lib.Codec.decoding_table["131,230"] = [44741] let s:lib.Codec.decoding_table["131,231"] = [44742] let s:lib.Codec.decoding_table["131,232"] = [44743] let s:lib.Codec.decoding_table["131,233"] = [44744] let s:lib.Codec.decoding_table["131,234"] = [44745] let s:lib.Codec.decoding_table["131,235"] = [44746] let s:lib.Codec.decoding_table["131,236"] = [44747] let s:lib.Codec.decoding_table["131,237"] = [44750] let s:lib.Codec.decoding_table["131,238"] = [44754] let s:lib.Codec.decoding_table["131,239"] = [44755] let s:lib.Codec.decoding_table["131,240"] = [44756] let s:lib.Codec.decoding_table["131,241"] = [44757] let s:lib.Codec.decoding_table["131,242"] = [44758] let s:lib.Codec.decoding_table["131,243"] = [44759] let s:lib.Codec.decoding_table["131,244"] = [44762] let s:lib.Codec.decoding_table["131,245"] = [44763] let s:lib.Codec.decoding_table["131,246"] = [44765] let s:lib.Codec.decoding_table["131,247"] = [44766] let s:lib.Codec.decoding_table["131,248"] = [44767] let s:lib.Codec.decoding_table["131,249"] = [44768] let s:lib.Codec.decoding_table["131,250"] = [44769] let s:lib.Codec.decoding_table["131,251"] = [44770] let s:lib.Codec.decoding_table["131,252"] = [44771] let s:lib.Codec.decoding_table["131,253"] = [44772] let s:lib.Codec.decoding_table["131,254"] = [44773] let s:lib.Codec.decoding_table["132,65"] = [44774] let s:lib.Codec.decoding_table["132,66"] = [44775] let s:lib.Codec.decoding_table["132,67"] = [44777] let s:lib.Codec.decoding_table["132,68"] = [44778] let s:lib.Codec.decoding_table["132,69"] = [44780] let s:lib.Codec.decoding_table["132,70"] = [44782] let s:lib.Codec.decoding_table["132,71"] = [44783] let s:lib.Codec.decoding_table["132,72"] = [44784] let s:lib.Codec.decoding_table["132,73"] = [44785] let s:lib.Codec.decoding_table["132,74"] = [44786] let s:lib.Codec.decoding_table["132,75"] = [44787] let s:lib.Codec.decoding_table["132,76"] = [44789] let s:lib.Codec.decoding_table["132,77"] = [44790] let s:lib.Codec.decoding_table["132,78"] = [44791] let s:lib.Codec.decoding_table["132,79"] = [44793] let s:lib.Codec.decoding_table["132,80"] = [44794] let s:lib.Codec.decoding_table["132,81"] = [44795] let s:lib.Codec.decoding_table["132,82"] = [44797] let s:lib.Codec.decoding_table["132,83"] = [44798] let s:lib.Codec.decoding_table["132,84"] = [44799] let s:lib.Codec.decoding_table["132,85"] = [44800] let s:lib.Codec.decoding_table["132,86"] = [44801] let s:lib.Codec.decoding_table["132,87"] = [44802] let s:lib.Codec.decoding_table["132,88"] = [44803] let s:lib.Codec.decoding_table["132,89"] = [44804] let s:lib.Codec.decoding_table["132,90"] = [44805] let s:lib.Codec.decoding_table["132,97"] = [44806] let s:lib.Codec.decoding_table["132,98"] = [44809] let s:lib.Codec.decoding_table["132,99"] = [44810] let s:lib.Codec.decoding_table["132,100"] = [44811] let s:lib.Codec.decoding_table["132,101"] = [44812] let s:lib.Codec.decoding_table["132,102"] = [44814] let s:lib.Codec.decoding_table["132,103"] = [44815] let s:lib.Codec.decoding_table["132,104"] = [44817] let s:lib.Codec.decoding_table["132,105"] = [44818] let s:lib.Codec.decoding_table["132,106"] = [44819] let s:lib.Codec.decoding_table["132,107"] = [44820] let s:lib.Codec.decoding_table["132,108"] = [44821] let s:lib.Codec.decoding_table["132,109"] = [44822] let s:lib.Codec.decoding_table["132,110"] = [44823] let s:lib.Codec.decoding_table["132,111"] = [44824] let s:lib.Codec.decoding_table["132,112"] = [44825] let s:lib.Codec.decoding_table["132,113"] = [44826] let s:lib.Codec.decoding_table["132,114"] = [44827] let s:lib.Codec.decoding_table["132,115"] = [44828] let s:lib.Codec.decoding_table["132,116"] = [44829] let s:lib.Codec.decoding_table["132,117"] = [44830] let s:lib.Codec.decoding_table["132,118"] = [44831] let s:lib.Codec.decoding_table["132,119"] = [44832] let s:lib.Codec.decoding_table["132,120"] = [44833] let s:lib.Codec.decoding_table["132,121"] = [44834] let s:lib.Codec.decoding_table["132,122"] = [44835] let s:lib.Codec.decoding_table["132,129"] = [44836] let s:lib.Codec.decoding_table["132,130"] = [44837] let s:lib.Codec.decoding_table["132,131"] = [44838] let s:lib.Codec.decoding_table["132,132"] = [44839] let s:lib.Codec.decoding_table["132,133"] = [44840] let s:lib.Codec.decoding_table["132,134"] = [44841] let s:lib.Codec.decoding_table["132,135"] = [44842] let s:lib.Codec.decoding_table["132,136"] = [44843] let s:lib.Codec.decoding_table["132,137"] = [44846] let s:lib.Codec.decoding_table["132,138"] = [44847] let s:lib.Codec.decoding_table["132,139"] = [44849] let s:lib.Codec.decoding_table["132,140"] = [44851] let s:lib.Codec.decoding_table["132,141"] = [44853] let s:lib.Codec.decoding_table["132,142"] = [44854] let s:lib.Codec.decoding_table["132,143"] = [44855] let s:lib.Codec.decoding_table["132,144"] = [44856] let s:lib.Codec.decoding_table["132,145"] = [44857] let s:lib.Codec.decoding_table["132,146"] = [44858] let s:lib.Codec.decoding_table["132,147"] = [44859] let s:lib.Codec.decoding_table["132,148"] = [44862] let s:lib.Codec.decoding_table["132,149"] = [44864] let s:lib.Codec.decoding_table["132,150"] = [44868] let s:lib.Codec.decoding_table["132,151"] = [44869] let s:lib.Codec.decoding_table["132,152"] = [44870] let s:lib.Codec.decoding_table["132,153"] = [44871] let s:lib.Codec.decoding_table["132,154"] = [44874] let s:lib.Codec.decoding_table["132,155"] = [44875] let s:lib.Codec.decoding_table["132,156"] = [44876] let s:lib.Codec.decoding_table["132,157"] = [44877] let s:lib.Codec.decoding_table["132,158"] = [44878] let s:lib.Codec.decoding_table["132,159"] = [44879] let s:lib.Codec.decoding_table["132,160"] = [44881] let s:lib.Codec.decoding_table["132,161"] = [44882] let s:lib.Codec.decoding_table["132,162"] = [44883] let s:lib.Codec.decoding_table["132,163"] = [44884] let s:lib.Codec.decoding_table["132,164"] = [44885] let s:lib.Codec.decoding_table["132,165"] = [44886] let s:lib.Codec.decoding_table["132,166"] = [44887] let s:lib.Codec.decoding_table["132,167"] = [44888] let s:lib.Codec.decoding_table["132,168"] = [44889] let s:lib.Codec.decoding_table["132,169"] = [44890] let s:lib.Codec.decoding_table["132,170"] = [44891] let s:lib.Codec.decoding_table["132,171"] = [44894] let s:lib.Codec.decoding_table["132,172"] = [44895] let s:lib.Codec.decoding_table["132,173"] = [44896] let s:lib.Codec.decoding_table["132,174"] = [44897] let s:lib.Codec.decoding_table["132,175"] = [44898] let s:lib.Codec.decoding_table["132,176"] = [44899] let s:lib.Codec.decoding_table["132,177"] = [44902] let s:lib.Codec.decoding_table["132,178"] = [44903] let s:lib.Codec.decoding_table["132,179"] = [44904] let s:lib.Codec.decoding_table["132,180"] = [44905] let s:lib.Codec.decoding_table["132,181"] = [44906] let s:lib.Codec.decoding_table["132,182"] = [44907] let s:lib.Codec.decoding_table["132,183"] = [44908] let s:lib.Codec.decoding_table["132,184"] = [44909] let s:lib.Codec.decoding_table["132,185"] = [44910] let s:lib.Codec.decoding_table["132,186"] = [44911] let s:lib.Codec.decoding_table["132,187"] = [44912] let s:lib.Codec.decoding_table["132,188"] = [44913] let s:lib.Codec.decoding_table["132,189"] = [44914] let s:lib.Codec.decoding_table["132,190"] = [44915] let s:lib.Codec.decoding_table["132,191"] = [44916] let s:lib.Codec.decoding_table["132,192"] = [44917] let s:lib.Codec.decoding_table["132,193"] = [44918] let s:lib.Codec.decoding_table["132,194"] = [44919] let s:lib.Codec.decoding_table["132,195"] = [44920] let s:lib.Codec.decoding_table["132,196"] = [44922] let s:lib.Codec.decoding_table["132,197"] = [44923] let s:lib.Codec.decoding_table["132,198"] = [44924] let s:lib.Codec.decoding_table["132,199"] = [44925] let s:lib.Codec.decoding_table["132,200"] = [44926] let s:lib.Codec.decoding_table["132,201"] = [44927] let s:lib.Codec.decoding_table["132,202"] = [44929] let s:lib.Codec.decoding_table["132,203"] = [44930] let s:lib.Codec.decoding_table["132,204"] = [44931] let s:lib.Codec.decoding_table["132,205"] = [44933] let s:lib.Codec.decoding_table["132,206"] = [44934] let s:lib.Codec.decoding_table["132,207"] = [44935] let s:lib.Codec.decoding_table["132,208"] = [44937] let s:lib.Codec.decoding_table["132,209"] = [44938] let s:lib.Codec.decoding_table["132,210"] = [44939] let s:lib.Codec.decoding_table["132,211"] = [44940] let s:lib.Codec.decoding_table["132,212"] = [44941] let s:lib.Codec.decoding_table["132,213"] = [44942] let s:lib.Codec.decoding_table["132,214"] = [44943] let s:lib.Codec.decoding_table["132,215"] = [44946] let s:lib.Codec.decoding_table["132,216"] = [44947] let s:lib.Codec.decoding_table["132,217"] = [44948] let s:lib.Codec.decoding_table["132,218"] = [44950] let s:lib.Codec.decoding_table["132,219"] = [44951] let s:lib.Codec.decoding_table["132,220"] = [44952] let s:lib.Codec.decoding_table["132,221"] = [44953] let s:lib.Codec.decoding_table["132,222"] = [44954] let s:lib.Codec.decoding_table["132,223"] = [44955] let s:lib.Codec.decoding_table["132,224"] = [44957] let s:lib.Codec.decoding_table["132,225"] = [44958] let s:lib.Codec.decoding_table["132,226"] = [44959] let s:lib.Codec.decoding_table["132,227"] = [44960] let s:lib.Codec.decoding_table["132,228"] = [44961] let s:lib.Codec.decoding_table["132,229"] = [44962] let s:lib.Codec.decoding_table["132,230"] = [44963] let s:lib.Codec.decoding_table["132,231"] = [44964] let s:lib.Codec.decoding_table["132,232"] = [44965] let s:lib.Codec.decoding_table["132,233"] = [44966] let s:lib.Codec.decoding_table["132,234"] = [44967] let s:lib.Codec.decoding_table["132,235"] = [44968] let s:lib.Codec.decoding_table["132,236"] = [44969] let s:lib.Codec.decoding_table["132,237"] = [44970] let s:lib.Codec.decoding_table["132,238"] = [44971] let s:lib.Codec.decoding_table["132,239"] = [44972] let s:lib.Codec.decoding_table["132,240"] = [44973] let s:lib.Codec.decoding_table["132,241"] = [44974] let s:lib.Codec.decoding_table["132,242"] = [44975] let s:lib.Codec.decoding_table["132,243"] = [44976] let s:lib.Codec.decoding_table["132,244"] = [44977] let s:lib.Codec.decoding_table["132,245"] = [44978] let s:lib.Codec.decoding_table["132,246"] = [44979] let s:lib.Codec.decoding_table["132,247"] = [44980] let s:lib.Codec.decoding_table["132,248"] = [44981] let s:lib.Codec.decoding_table["132,249"] = [44982] let s:lib.Codec.decoding_table["132,250"] = [44983] let s:lib.Codec.decoding_table["132,251"] = [44986] let s:lib.Codec.decoding_table["132,252"] = [44987] let s:lib.Codec.decoding_table["132,253"] = [44989] let s:lib.Codec.decoding_table["132,254"] = [44990] let s:lib.Codec.decoding_table["133,65"] = [44991] let s:lib.Codec.decoding_table["133,66"] = [44993] let s:lib.Codec.decoding_table["133,67"] = [44994] let s:lib.Codec.decoding_table["133,68"] = [44995] let s:lib.Codec.decoding_table["133,69"] = [44996] let s:lib.Codec.decoding_table["133,70"] = [44997] let s:lib.Codec.decoding_table["133,71"] = [44998] let s:lib.Codec.decoding_table["133,72"] = [45002] let s:lib.Codec.decoding_table["133,73"] = [45004] let s:lib.Codec.decoding_table["133,74"] = [45007] let s:lib.Codec.decoding_table["133,75"] = [45008] let s:lib.Codec.decoding_table["133,76"] = [45009] let s:lib.Codec.decoding_table["133,77"] = [45010] let s:lib.Codec.decoding_table["133,78"] = [45011] let s:lib.Codec.decoding_table["133,79"] = [45013] let s:lib.Codec.decoding_table["133,80"] = [45014] let s:lib.Codec.decoding_table["133,81"] = [45015] let s:lib.Codec.decoding_table["133,82"] = [45016] let s:lib.Codec.decoding_table["133,83"] = [45017] let s:lib.Codec.decoding_table["133,84"] = [45018] let s:lib.Codec.decoding_table["133,85"] = [45019] let s:lib.Codec.decoding_table["133,86"] = [45021] let s:lib.Codec.decoding_table["133,87"] = [45022] let s:lib.Codec.decoding_table["133,88"] = [45023] let s:lib.Codec.decoding_table["133,89"] = [45024] let s:lib.Codec.decoding_table["133,90"] = [45025] let s:lib.Codec.decoding_table["133,97"] = [45026] let s:lib.Codec.decoding_table["133,98"] = [45027] let s:lib.Codec.decoding_table["133,99"] = [45028] let s:lib.Codec.decoding_table["133,100"] = [45029] let s:lib.Codec.decoding_table["133,101"] = [45030] let s:lib.Codec.decoding_table["133,102"] = [45031] let s:lib.Codec.decoding_table["133,103"] = [45034] let s:lib.Codec.decoding_table["133,104"] = [45035] let s:lib.Codec.decoding_table["133,105"] = [45036] let s:lib.Codec.decoding_table["133,106"] = [45037] let s:lib.Codec.decoding_table["133,107"] = [45038] let s:lib.Codec.decoding_table["133,108"] = [45039] let s:lib.Codec.decoding_table["133,109"] = [45042] let s:lib.Codec.decoding_table["133,110"] = [45043] let s:lib.Codec.decoding_table["133,111"] = [45045] let s:lib.Codec.decoding_table["133,112"] = [45046] let s:lib.Codec.decoding_table["133,113"] = [45047] let s:lib.Codec.decoding_table["133,114"] = [45049] let s:lib.Codec.decoding_table["133,115"] = [45050] let s:lib.Codec.decoding_table["133,116"] = [45051] let s:lib.Codec.decoding_table["133,117"] = [45052] let s:lib.Codec.decoding_table["133,118"] = [45053] let s:lib.Codec.decoding_table["133,119"] = [45054] let s:lib.Codec.decoding_table["133,120"] = [45055] let s:lib.Codec.decoding_table["133,121"] = [45058] let s:lib.Codec.decoding_table["133,122"] = [45059] let s:lib.Codec.decoding_table["133,129"] = [45061] let s:lib.Codec.decoding_table["133,130"] = [45062] let s:lib.Codec.decoding_table["133,131"] = [45063] let s:lib.Codec.decoding_table["133,132"] = [45064] let s:lib.Codec.decoding_table["133,133"] = [45065] let s:lib.Codec.decoding_table["133,134"] = [45066] let s:lib.Codec.decoding_table["133,135"] = [45067] let s:lib.Codec.decoding_table["133,136"] = [45069] let s:lib.Codec.decoding_table["133,137"] = [45070] let s:lib.Codec.decoding_table["133,138"] = [45071] let s:lib.Codec.decoding_table["133,139"] = [45073] let s:lib.Codec.decoding_table["133,140"] = [45074] let s:lib.Codec.decoding_table["133,141"] = [45075] let s:lib.Codec.decoding_table["133,142"] = [45077] let s:lib.Codec.decoding_table["133,143"] = [45078] let s:lib.Codec.decoding_table["133,144"] = [45079] let s:lib.Codec.decoding_table["133,145"] = [45080] let s:lib.Codec.decoding_table["133,146"] = [45081] let s:lib.Codec.decoding_table["133,147"] = [45082] let s:lib.Codec.decoding_table["133,148"] = [45083] let s:lib.Codec.decoding_table["133,149"] = [45086] let s:lib.Codec.decoding_table["133,150"] = [45087] let s:lib.Codec.decoding_table["133,151"] = [45088] let s:lib.Codec.decoding_table["133,152"] = [45089] let s:lib.Codec.decoding_table["133,153"] = [45090] let s:lib.Codec.decoding_table["133,154"] = [45091] let s:lib.Codec.decoding_table["133,155"] = [45092] let s:lib.Codec.decoding_table["133,156"] = [45093] let s:lib.Codec.decoding_table["133,157"] = [45094] let s:lib.Codec.decoding_table["133,158"] = [45095] let s:lib.Codec.decoding_table["133,159"] = [45097] let s:lib.Codec.decoding_table["133,160"] = [45098] let s:lib.Codec.decoding_table["133,161"] = [45099] let s:lib.Codec.decoding_table["133,162"] = [45100] let s:lib.Codec.decoding_table["133,163"] = [45101] let s:lib.Codec.decoding_table["133,164"] = [45102] let s:lib.Codec.decoding_table["133,165"] = [45103] let s:lib.Codec.decoding_table["133,166"] = [45104] let s:lib.Codec.decoding_table["133,167"] = [45105] let s:lib.Codec.decoding_table["133,168"] = [45106] let s:lib.Codec.decoding_table["133,169"] = [45107] let s:lib.Codec.decoding_table["133,170"] = [45108] let s:lib.Codec.decoding_table["133,171"] = [45109] let s:lib.Codec.decoding_table["133,172"] = [45110] let s:lib.Codec.decoding_table["133,173"] = [45111] let s:lib.Codec.decoding_table["133,174"] = [45112] let s:lib.Codec.decoding_table["133,175"] = [45113] let s:lib.Codec.decoding_table["133,176"] = [45114] let s:lib.Codec.decoding_table["133,177"] = [45115] let s:lib.Codec.decoding_table["133,178"] = [45116] let s:lib.Codec.decoding_table["133,179"] = [45117] let s:lib.Codec.decoding_table["133,180"] = [45118] let s:lib.Codec.decoding_table["133,181"] = [45119] let s:lib.Codec.decoding_table["133,182"] = [45120] let s:lib.Codec.decoding_table["133,183"] = [45121] let s:lib.Codec.decoding_table["133,184"] = [45122] let s:lib.Codec.decoding_table["133,185"] = [45123] let s:lib.Codec.decoding_table["133,186"] = [45126] let s:lib.Codec.decoding_table["133,187"] = [45127] let s:lib.Codec.decoding_table["133,188"] = [45129] let s:lib.Codec.decoding_table["133,189"] = [45131] let s:lib.Codec.decoding_table["133,190"] = [45133] let s:lib.Codec.decoding_table["133,191"] = [45135] let s:lib.Codec.decoding_table["133,192"] = [45136] let s:lib.Codec.decoding_table["133,193"] = [45137] let s:lib.Codec.decoding_table["133,194"] = [45138] let s:lib.Codec.decoding_table["133,195"] = [45142] let s:lib.Codec.decoding_table["133,196"] = [45144] let s:lib.Codec.decoding_table["133,197"] = [45146] let s:lib.Codec.decoding_table["133,198"] = [45147] let s:lib.Codec.decoding_table["133,199"] = [45148] let s:lib.Codec.decoding_table["133,200"] = [45150] let s:lib.Codec.decoding_table["133,201"] = [45151] let s:lib.Codec.decoding_table["133,202"] = [45152] let s:lib.Codec.decoding_table["133,203"] = [45153] let s:lib.Codec.decoding_table["133,204"] = [45154] let s:lib.Codec.decoding_table["133,205"] = [45155] let s:lib.Codec.decoding_table["133,206"] = [45156] let s:lib.Codec.decoding_table["133,207"] = [45157] let s:lib.Codec.decoding_table["133,208"] = [45158] let s:lib.Codec.decoding_table["133,209"] = [45159] let s:lib.Codec.decoding_table["133,210"] = [45160] let s:lib.Codec.decoding_table["133,211"] = [45161] let s:lib.Codec.decoding_table["133,212"] = [45162] let s:lib.Codec.decoding_table["133,213"] = [45163] let s:lib.Codec.decoding_table["133,214"] = [45164] let s:lib.Codec.decoding_table["133,215"] = [45165] let s:lib.Codec.decoding_table["133,216"] = [45166] let s:lib.Codec.decoding_table["133,217"] = [45167] let s:lib.Codec.decoding_table["133,218"] = [45168] let s:lib.Codec.decoding_table["133,219"] = [45169] let s:lib.Codec.decoding_table["133,220"] = [45170] let s:lib.Codec.decoding_table["133,221"] = [45171] let s:lib.Codec.decoding_table["133,222"] = [45172] let s:lib.Codec.decoding_table["133,223"] = [45173] let s:lib.Codec.decoding_table["133,224"] = [45174] let s:lib.Codec.decoding_table["133,225"] = [45175] let s:lib.Codec.decoding_table["133,226"] = [45176] let s:lib.Codec.decoding_table["133,227"] = [45177] let s:lib.Codec.decoding_table["133,228"] = [45178] let s:lib.Codec.decoding_table["133,229"] = [45179] let s:lib.Codec.decoding_table["133,230"] = [45182] let s:lib.Codec.decoding_table["133,231"] = [45183] let s:lib.Codec.decoding_table["133,232"] = [45185] let s:lib.Codec.decoding_table["133,233"] = [45186] let s:lib.Codec.decoding_table["133,234"] = [45187] let s:lib.Codec.decoding_table["133,235"] = [45189] let s:lib.Codec.decoding_table["133,236"] = [45190] let s:lib.Codec.decoding_table["133,237"] = [45191] let s:lib.Codec.decoding_table["133,238"] = [45192] let s:lib.Codec.decoding_table["133,239"] = [45193] let s:lib.Codec.decoding_table["133,240"] = [45194] let s:lib.Codec.decoding_table["133,241"] = [45195] let s:lib.Codec.decoding_table["133,242"] = [45198] let s:lib.Codec.decoding_table["133,243"] = [45200] let s:lib.Codec.decoding_table["133,244"] = [45202] let s:lib.Codec.decoding_table["133,245"] = [45203] let s:lib.Codec.decoding_table["133,246"] = [45204] let s:lib.Codec.decoding_table["133,247"] = [45205] let s:lib.Codec.decoding_table["133,248"] = [45206] let s:lib.Codec.decoding_table["133,249"] = [45207] let s:lib.Codec.decoding_table["133,250"] = [45211] let s:lib.Codec.decoding_table["133,251"] = [45213] let s:lib.Codec.decoding_table["133,252"] = [45214] let s:lib.Codec.decoding_table["133,253"] = [45219] let s:lib.Codec.decoding_table["133,254"] = [45220] let s:lib.Codec.decoding_table["134,65"] = [45221] let s:lib.Codec.decoding_table["134,66"] = [45222] let s:lib.Codec.decoding_table["134,67"] = [45223] let s:lib.Codec.decoding_table["134,68"] = [45226] let s:lib.Codec.decoding_table["134,69"] = [45232] let s:lib.Codec.decoding_table["134,70"] = [45234] let s:lib.Codec.decoding_table["134,71"] = [45238] let s:lib.Codec.decoding_table["134,72"] = [45239] let s:lib.Codec.decoding_table["134,73"] = [45241] let s:lib.Codec.decoding_table["134,74"] = [45242] let s:lib.Codec.decoding_table["134,75"] = [45243] let s:lib.Codec.decoding_table["134,76"] = [45245] let s:lib.Codec.decoding_table["134,77"] = [45246] let s:lib.Codec.decoding_table["134,78"] = [45247] let s:lib.Codec.decoding_table["134,79"] = [45248] let s:lib.Codec.decoding_table["134,80"] = [45249] let s:lib.Codec.decoding_table["134,81"] = [45250] let s:lib.Codec.decoding_table["134,82"] = [45251] let s:lib.Codec.decoding_table["134,83"] = [45254] let s:lib.Codec.decoding_table["134,84"] = [45258] let s:lib.Codec.decoding_table["134,85"] = [45259] let s:lib.Codec.decoding_table["134,86"] = [45260] let s:lib.Codec.decoding_table["134,87"] = [45261] let s:lib.Codec.decoding_table["134,88"] = [45262] let s:lib.Codec.decoding_table["134,89"] = [45263] let s:lib.Codec.decoding_table["134,90"] = [45266] let s:lib.Codec.decoding_table["134,97"] = [45267] let s:lib.Codec.decoding_table["134,98"] = [45269] let s:lib.Codec.decoding_table["134,99"] = [45270] let s:lib.Codec.decoding_table["134,100"] = [45271] let s:lib.Codec.decoding_table["134,101"] = [45273] let s:lib.Codec.decoding_table["134,102"] = [45274] let s:lib.Codec.decoding_table["134,103"] = [45275] let s:lib.Codec.decoding_table["134,104"] = [45276] let s:lib.Codec.decoding_table["134,105"] = [45277] let s:lib.Codec.decoding_table["134,106"] = [45278] let s:lib.Codec.decoding_table["134,107"] = [45279] let s:lib.Codec.decoding_table["134,108"] = [45281] let s:lib.Codec.decoding_table["134,109"] = [45282] let s:lib.Codec.decoding_table["134,110"] = [45283] let s:lib.Codec.decoding_table["134,111"] = [45284] let s:lib.Codec.decoding_table["134,112"] = [45286] let s:lib.Codec.decoding_table["134,113"] = [45287] let s:lib.Codec.decoding_table["134,114"] = [45288] let s:lib.Codec.decoding_table["134,115"] = [45289] let s:lib.Codec.decoding_table["134,116"] = [45290] let s:lib.Codec.decoding_table["134,117"] = [45291] let s:lib.Codec.decoding_table["134,118"] = [45292] let s:lib.Codec.decoding_table["134,119"] = [45293] let s:lib.Codec.decoding_table["134,120"] = [45294] let s:lib.Codec.decoding_table["134,121"] = [45295] let s:lib.Codec.decoding_table["134,122"] = [45296] let s:lib.Codec.decoding_table["134,129"] = [45297] let s:lib.Codec.decoding_table["134,130"] = [45298] let s:lib.Codec.decoding_table["134,131"] = [45299] let s:lib.Codec.decoding_table["134,132"] = [45300] let s:lib.Codec.decoding_table["134,133"] = [45301] let s:lib.Codec.decoding_table["134,134"] = [45302] let s:lib.Codec.decoding_table["134,135"] = [45303] let s:lib.Codec.decoding_table["134,136"] = [45304] let s:lib.Codec.decoding_table["134,137"] = [45305] let s:lib.Codec.decoding_table["134,138"] = [45306] let s:lib.Codec.decoding_table["134,139"] = [45307] let s:lib.Codec.decoding_table["134,140"] = [45308] let s:lib.Codec.decoding_table["134,141"] = [45309] let s:lib.Codec.decoding_table["134,142"] = [45310] let s:lib.Codec.decoding_table["134,143"] = [45311] let s:lib.Codec.decoding_table["134,144"] = [45312] let s:lib.Codec.decoding_table["134,145"] = [45313] let s:lib.Codec.decoding_table["134,146"] = [45314] let s:lib.Codec.decoding_table["134,147"] = [45315] let s:lib.Codec.decoding_table["134,148"] = [45316] let s:lib.Codec.decoding_table["134,149"] = [45317] let s:lib.Codec.decoding_table["134,150"] = [45318] let s:lib.Codec.decoding_table["134,151"] = [45319] let s:lib.Codec.decoding_table["134,152"] = [45322] let s:lib.Codec.decoding_table["134,153"] = [45325] let s:lib.Codec.decoding_table["134,154"] = [45326] let s:lib.Codec.decoding_table["134,155"] = [45327] let s:lib.Codec.decoding_table["134,156"] = [45329] let s:lib.Codec.decoding_table["134,157"] = [45332] let s:lib.Codec.decoding_table["134,158"] = [45333] let s:lib.Codec.decoding_table["134,159"] = [45334] let s:lib.Codec.decoding_table["134,160"] = [45335] let s:lib.Codec.decoding_table["134,161"] = [45338] let s:lib.Codec.decoding_table["134,162"] = [45342] let s:lib.Codec.decoding_table["134,163"] = [45343] let s:lib.Codec.decoding_table["134,164"] = [45344] let s:lib.Codec.decoding_table["134,165"] = [45345] let s:lib.Codec.decoding_table["134,166"] = [45346] let s:lib.Codec.decoding_table["134,167"] = [45350] let s:lib.Codec.decoding_table["134,168"] = [45351] let s:lib.Codec.decoding_table["134,169"] = [45353] let s:lib.Codec.decoding_table["134,170"] = [45354] let s:lib.Codec.decoding_table["134,171"] = [45355] let s:lib.Codec.decoding_table["134,172"] = [45357] let s:lib.Codec.decoding_table["134,173"] = [45358] let s:lib.Codec.decoding_table["134,174"] = [45359] let s:lib.Codec.decoding_table["134,175"] = [45360] let s:lib.Codec.decoding_table["134,176"] = [45361] let s:lib.Codec.decoding_table["134,177"] = [45362] let s:lib.Codec.decoding_table["134,178"] = [45363] let s:lib.Codec.decoding_table["134,179"] = [45366] let s:lib.Codec.decoding_table["134,180"] = [45370] let s:lib.Codec.decoding_table["134,181"] = [45371] let s:lib.Codec.decoding_table["134,182"] = [45372] let s:lib.Codec.decoding_table["134,183"] = [45373] let s:lib.Codec.decoding_table["134,184"] = [45374] let s:lib.Codec.decoding_table["134,185"] = [45375] let s:lib.Codec.decoding_table["134,186"] = [45378] let s:lib.Codec.decoding_table["134,187"] = [45379] let s:lib.Codec.decoding_table["134,188"] = [45381] let s:lib.Codec.decoding_table["134,189"] = [45382] let s:lib.Codec.decoding_table["134,190"] = [45383] let s:lib.Codec.decoding_table["134,191"] = [45385] let s:lib.Codec.decoding_table["134,192"] = [45386] let s:lib.Codec.decoding_table["134,193"] = [45387] let s:lib.Codec.decoding_table["134,194"] = [45388] let s:lib.Codec.decoding_table["134,195"] = [45389] let s:lib.Codec.decoding_table["134,196"] = [45390] let s:lib.Codec.decoding_table["134,197"] = [45391] let s:lib.Codec.decoding_table["134,198"] = [45394] let s:lib.Codec.decoding_table["134,199"] = [45395] let s:lib.Codec.decoding_table["134,200"] = [45398] let s:lib.Codec.decoding_table["134,201"] = [45399] let s:lib.Codec.decoding_table["134,202"] = [45401] let s:lib.Codec.decoding_table["134,203"] = [45402] let s:lib.Codec.decoding_table["134,204"] = [45403] let s:lib.Codec.decoding_table["134,205"] = [45405] let s:lib.Codec.decoding_table["134,206"] = [45406] let s:lib.Codec.decoding_table["134,207"] = [45407] let s:lib.Codec.decoding_table["134,208"] = [45409] let s:lib.Codec.decoding_table["134,209"] = [45410] let s:lib.Codec.decoding_table["134,210"] = [45411] let s:lib.Codec.decoding_table["134,211"] = [45412] let s:lib.Codec.decoding_table["134,212"] = [45413] let s:lib.Codec.decoding_table["134,213"] = [45414] let s:lib.Codec.decoding_table["134,214"] = [45415] let s:lib.Codec.decoding_table["134,215"] = [45416] let s:lib.Codec.decoding_table["134,216"] = [45417] let s:lib.Codec.decoding_table["134,217"] = [45418] let s:lib.Codec.decoding_table["134,218"] = [45419] let s:lib.Codec.decoding_table["134,219"] = [45420] let s:lib.Codec.decoding_table["134,220"] = [45421] let s:lib.Codec.decoding_table["134,221"] = [45422] let s:lib.Codec.decoding_table["134,222"] = [45423] let s:lib.Codec.decoding_table["134,223"] = [45424] let s:lib.Codec.decoding_table["134,224"] = [45425] let s:lib.Codec.decoding_table["134,225"] = [45426] let s:lib.Codec.decoding_table["134,226"] = [45427] let s:lib.Codec.decoding_table["134,227"] = [45428] let s:lib.Codec.decoding_table["134,228"] = [45429] let s:lib.Codec.decoding_table["134,229"] = [45430] let s:lib.Codec.decoding_table["134,230"] = [45431] let s:lib.Codec.decoding_table["134,231"] = [45434] let s:lib.Codec.decoding_table["134,232"] = [45435] let s:lib.Codec.decoding_table["134,233"] = [45437] let s:lib.Codec.decoding_table["134,234"] = [45438] let s:lib.Codec.decoding_table["134,235"] = [45439] let s:lib.Codec.decoding_table["134,236"] = [45441] let s:lib.Codec.decoding_table["134,237"] = [45443] let s:lib.Codec.decoding_table["134,238"] = [45444] let s:lib.Codec.decoding_table["134,239"] = [45445] let s:lib.Codec.decoding_table["134,240"] = [45446] let s:lib.Codec.decoding_table["134,241"] = [45447] let s:lib.Codec.decoding_table["134,242"] = [45450] let s:lib.Codec.decoding_table["134,243"] = [45452] let s:lib.Codec.decoding_table["134,244"] = [45454] let s:lib.Codec.decoding_table["134,245"] = [45455] let s:lib.Codec.decoding_table["134,246"] = [45456] let s:lib.Codec.decoding_table["134,247"] = [45457] let s:lib.Codec.decoding_table["134,248"] = [45461] let s:lib.Codec.decoding_table["134,249"] = [45462] let s:lib.Codec.decoding_table["134,250"] = [45463] let s:lib.Codec.decoding_table["134,251"] = [45465] let s:lib.Codec.decoding_table["134,252"] = [45466] let s:lib.Codec.decoding_table["134,253"] = [45467] let s:lib.Codec.decoding_table["134,254"] = [45469] let s:lib.Codec.decoding_table["135,65"] = [45470] let s:lib.Codec.decoding_table["135,66"] = [45471] let s:lib.Codec.decoding_table["135,67"] = [45472] let s:lib.Codec.decoding_table["135,68"] = [45473] let s:lib.Codec.decoding_table["135,69"] = [45474] let s:lib.Codec.decoding_table["135,70"] = [45475] let s:lib.Codec.decoding_table["135,71"] = [45476] let s:lib.Codec.decoding_table["135,72"] = [45477] let s:lib.Codec.decoding_table["135,73"] = [45478] let s:lib.Codec.decoding_table["135,74"] = [45479] let s:lib.Codec.decoding_table["135,75"] = [45481] let s:lib.Codec.decoding_table["135,76"] = [45482] let s:lib.Codec.decoding_table["135,77"] = [45483] let s:lib.Codec.decoding_table["135,78"] = [45484] let s:lib.Codec.decoding_table["135,79"] = [45485] let s:lib.Codec.decoding_table["135,80"] = [45486] let s:lib.Codec.decoding_table["135,81"] = [45487] let s:lib.Codec.decoding_table["135,82"] = [45488] let s:lib.Codec.decoding_table["135,83"] = [45489] let s:lib.Codec.decoding_table["135,84"] = [45490] let s:lib.Codec.decoding_table["135,85"] = [45491] let s:lib.Codec.decoding_table["135,86"] = [45492] let s:lib.Codec.decoding_table["135,87"] = [45493] let s:lib.Codec.decoding_table["135,88"] = [45494] let s:lib.Codec.decoding_table["135,89"] = [45495] let s:lib.Codec.decoding_table["135,90"] = [45496] let s:lib.Codec.decoding_table["135,97"] = [45497] let s:lib.Codec.decoding_table["135,98"] = [45498] let s:lib.Codec.decoding_table["135,99"] = [45499] let s:lib.Codec.decoding_table["135,100"] = [45500] let s:lib.Codec.decoding_table["135,101"] = [45501] let s:lib.Codec.decoding_table["135,102"] = [45502] let s:lib.Codec.decoding_table["135,103"] = [45503] let s:lib.Codec.decoding_table["135,104"] = [45504] let s:lib.Codec.decoding_table["135,105"] = [45505] let s:lib.Codec.decoding_table["135,106"] = [45506] let s:lib.Codec.decoding_table["135,107"] = [45507] let s:lib.Codec.decoding_table["135,108"] = [45508] let s:lib.Codec.decoding_table["135,109"] = [45509] let s:lib.Codec.decoding_table["135,110"] = [45510] let s:lib.Codec.decoding_table["135,111"] = [45511] let s:lib.Codec.decoding_table["135,112"] = [45512] let s:lib.Codec.decoding_table["135,113"] = [45513] let s:lib.Codec.decoding_table["135,114"] = [45514] let s:lib.Codec.decoding_table["135,115"] = [45515] let s:lib.Codec.decoding_table["135,116"] = [45517] let s:lib.Codec.decoding_table["135,117"] = [45518] let s:lib.Codec.decoding_table["135,118"] = [45519] let s:lib.Codec.decoding_table["135,119"] = [45521] let s:lib.Codec.decoding_table["135,120"] = [45522] let s:lib.Codec.decoding_table["135,121"] = [45523] let s:lib.Codec.decoding_table["135,122"] = [45525] let s:lib.Codec.decoding_table["135,129"] = [45526] let s:lib.Codec.decoding_table["135,130"] = [45527] let s:lib.Codec.decoding_table["135,131"] = [45528] let s:lib.Codec.decoding_table["135,132"] = [45529] let s:lib.Codec.decoding_table["135,133"] = [45530] let s:lib.Codec.decoding_table["135,134"] = [45531] let s:lib.Codec.decoding_table["135,135"] = [45534] let s:lib.Codec.decoding_table["135,136"] = [45536] let s:lib.Codec.decoding_table["135,137"] = [45537] let s:lib.Codec.decoding_table["135,138"] = [45538] let s:lib.Codec.decoding_table["135,139"] = [45539] let s:lib.Codec.decoding_table["135,140"] = [45540] let s:lib.Codec.decoding_table["135,141"] = [45541] let s:lib.Codec.decoding_table["135,142"] = [45542] let s:lib.Codec.decoding_table["135,143"] = [45543] let s:lib.Codec.decoding_table["135,144"] = [45546] let s:lib.Codec.decoding_table["135,145"] = [45547] let s:lib.Codec.decoding_table["135,146"] = [45549] let s:lib.Codec.decoding_table["135,147"] = [45550] let s:lib.Codec.decoding_table["135,148"] = [45551] let s:lib.Codec.decoding_table["135,149"] = [45553] let s:lib.Codec.decoding_table["135,150"] = [45554] let s:lib.Codec.decoding_table["135,151"] = [45555] let s:lib.Codec.decoding_table["135,152"] = [45556] let s:lib.Codec.decoding_table["135,153"] = [45557] let s:lib.Codec.decoding_table["135,154"] = [45558] let s:lib.Codec.decoding_table["135,155"] = [45559] let s:lib.Codec.decoding_table["135,156"] = [45560] let s:lib.Codec.decoding_table["135,157"] = [45562] let s:lib.Codec.decoding_table["135,158"] = [45564] let s:lib.Codec.decoding_table["135,159"] = [45566] let s:lib.Codec.decoding_table["135,160"] = [45567] let s:lib.Codec.decoding_table["135,161"] = [45568] let s:lib.Codec.decoding_table["135,162"] = [45569] let s:lib.Codec.decoding_table["135,163"] = [45570] let s:lib.Codec.decoding_table["135,164"] = [45571] let s:lib.Codec.decoding_table["135,165"] = [45574] let s:lib.Codec.decoding_table["135,166"] = [45575] let s:lib.Codec.decoding_table["135,167"] = [45577] let s:lib.Codec.decoding_table["135,168"] = [45578] let s:lib.Codec.decoding_table["135,169"] = [45581] let s:lib.Codec.decoding_table["135,170"] = [45582] let s:lib.Codec.decoding_table["135,171"] = [45583] let s:lib.Codec.decoding_table["135,172"] = [45584] let s:lib.Codec.decoding_table["135,173"] = [45585] let s:lib.Codec.decoding_table["135,174"] = [45586] let s:lib.Codec.decoding_table["135,175"] = [45587] let s:lib.Codec.decoding_table["135,176"] = [45590] let s:lib.Codec.decoding_table["135,177"] = [45592] let s:lib.Codec.decoding_table["135,178"] = [45594] let s:lib.Codec.decoding_table["135,179"] = [45595] let s:lib.Codec.decoding_table["135,180"] = [45596] let s:lib.Codec.decoding_table["135,181"] = [45597] let s:lib.Codec.decoding_table["135,182"] = [45598] let s:lib.Codec.decoding_table["135,183"] = [45599] let s:lib.Codec.decoding_table["135,184"] = [45601] let s:lib.Codec.decoding_table["135,185"] = [45602] let s:lib.Codec.decoding_table["135,186"] = [45603] let s:lib.Codec.decoding_table["135,187"] = [45604] let s:lib.Codec.decoding_table["135,188"] = [45605] let s:lib.Codec.decoding_table["135,189"] = [45606] let s:lib.Codec.decoding_table["135,190"] = [45607] let s:lib.Codec.decoding_table["135,191"] = [45608] let s:lib.Codec.decoding_table["135,192"] = [45609] let s:lib.Codec.decoding_table["135,193"] = [45610] let s:lib.Codec.decoding_table["135,194"] = [45611] let s:lib.Codec.decoding_table["135,195"] = [45612] let s:lib.Codec.decoding_table["135,196"] = [45613] let s:lib.Codec.decoding_table["135,197"] = [45614] let s:lib.Codec.decoding_table["135,198"] = [45615] let s:lib.Codec.decoding_table["135,199"] = [45616] let s:lib.Codec.decoding_table["135,200"] = [45617] let s:lib.Codec.decoding_table["135,201"] = [45618] let s:lib.Codec.decoding_table["135,202"] = [45619] let s:lib.Codec.decoding_table["135,203"] = [45621] let s:lib.Codec.decoding_table["135,204"] = [45622] let s:lib.Codec.decoding_table["135,205"] = [45623] let s:lib.Codec.decoding_table["135,206"] = [45624] let s:lib.Codec.decoding_table["135,207"] = [45625] let s:lib.Codec.decoding_table["135,208"] = [45626] let s:lib.Codec.decoding_table["135,209"] = [45627] let s:lib.Codec.decoding_table["135,210"] = [45629] let s:lib.Codec.decoding_table["135,211"] = [45630] let s:lib.Codec.decoding_table["135,212"] = [45631] let s:lib.Codec.decoding_table["135,213"] = [45632] let s:lib.Codec.decoding_table["135,214"] = [45633] let s:lib.Codec.decoding_table["135,215"] = [45634] let s:lib.Codec.decoding_table["135,216"] = [45635] let s:lib.Codec.decoding_table["135,217"] = [45636] let s:lib.Codec.decoding_table["135,218"] = [45637] let s:lib.Codec.decoding_table["135,219"] = [45638] let s:lib.Codec.decoding_table["135,220"] = [45639] let s:lib.Codec.decoding_table["135,221"] = [45640] let s:lib.Codec.decoding_table["135,222"] = [45641] let s:lib.Codec.decoding_table["135,223"] = [45642] let s:lib.Codec.decoding_table["135,224"] = [45643] let s:lib.Codec.decoding_table["135,225"] = [45644] let s:lib.Codec.decoding_table["135,226"] = [45645] let s:lib.Codec.decoding_table["135,227"] = [45646] let s:lib.Codec.decoding_table["135,228"] = [45647] let s:lib.Codec.decoding_table["135,229"] = [45648] let s:lib.Codec.decoding_table["135,230"] = [45649] let s:lib.Codec.decoding_table["135,231"] = [45650] let s:lib.Codec.decoding_table["135,232"] = [45651] let s:lib.Codec.decoding_table["135,233"] = [45652] let s:lib.Codec.decoding_table["135,234"] = [45653] let s:lib.Codec.decoding_table["135,235"] = [45654] let s:lib.Codec.decoding_table["135,236"] = [45655] let s:lib.Codec.decoding_table["135,237"] = [45657] let s:lib.Codec.decoding_table["135,238"] = [45658] let s:lib.Codec.decoding_table["135,239"] = [45659] let s:lib.Codec.decoding_table["135,240"] = [45661] let s:lib.Codec.decoding_table["135,241"] = [45662] let s:lib.Codec.decoding_table["135,242"] = [45663] let s:lib.Codec.decoding_table["135,243"] = [45665] let s:lib.Codec.decoding_table["135,244"] = [45666] let s:lib.Codec.decoding_table["135,245"] = [45667] let s:lib.Codec.decoding_table["135,246"] = [45668] let s:lib.Codec.decoding_table["135,247"] = [45669] let s:lib.Codec.decoding_table["135,248"] = [45670] let s:lib.Codec.decoding_table["135,249"] = [45671] let s:lib.Codec.decoding_table["135,250"] = [45674] let s:lib.Codec.decoding_table["135,251"] = [45675] let s:lib.Codec.decoding_table["135,252"] = [45676] let s:lib.Codec.decoding_table["135,253"] = [45677] let s:lib.Codec.decoding_table["135,254"] = [45678] let s:lib.Codec.decoding_table["136,65"] = [45679] let s:lib.Codec.decoding_table["136,66"] = [45680] let s:lib.Codec.decoding_table["136,67"] = [45681] let s:lib.Codec.decoding_table["136,68"] = [45682] let s:lib.Codec.decoding_table["136,69"] = [45683] let s:lib.Codec.decoding_table["136,70"] = [45686] let s:lib.Codec.decoding_table["136,71"] = [45687] let s:lib.Codec.decoding_table["136,72"] = [45688] let s:lib.Codec.decoding_table["136,73"] = [45689] let s:lib.Codec.decoding_table["136,74"] = [45690] let s:lib.Codec.decoding_table["136,75"] = [45691] let s:lib.Codec.decoding_table["136,76"] = [45693] let s:lib.Codec.decoding_table["136,77"] = [45694] let s:lib.Codec.decoding_table["136,78"] = [45695] let s:lib.Codec.decoding_table["136,79"] = [45696] let s:lib.Codec.decoding_table["136,80"] = [45697] let s:lib.Codec.decoding_table["136,81"] = [45698] let s:lib.Codec.decoding_table["136,82"] = [45699] let s:lib.Codec.decoding_table["136,83"] = [45702] let s:lib.Codec.decoding_table["136,84"] = [45703] let s:lib.Codec.decoding_table["136,85"] = [45704] let s:lib.Codec.decoding_table["136,86"] = [45706] let s:lib.Codec.decoding_table["136,87"] = [45707] let s:lib.Codec.decoding_table["136,88"] = [45708] let s:lib.Codec.decoding_table["136,89"] = [45709] let s:lib.Codec.decoding_table["136,90"] = [45710] let s:lib.Codec.decoding_table["136,97"] = [45711] let s:lib.Codec.decoding_table["136,98"] = [45714] let s:lib.Codec.decoding_table["136,99"] = [45715] let s:lib.Codec.decoding_table["136,100"] = [45717] let s:lib.Codec.decoding_table["136,101"] = [45718] let s:lib.Codec.decoding_table["136,102"] = [45719] let s:lib.Codec.decoding_table["136,103"] = [45723] let s:lib.Codec.decoding_table["136,104"] = [45724] let s:lib.Codec.decoding_table["136,105"] = [45725] let s:lib.Codec.decoding_table["136,106"] = [45726] let s:lib.Codec.decoding_table["136,107"] = [45727] let s:lib.Codec.decoding_table["136,108"] = [45730] let s:lib.Codec.decoding_table["136,109"] = [45732] let s:lib.Codec.decoding_table["136,110"] = [45735] let s:lib.Codec.decoding_table["136,111"] = [45736] let s:lib.Codec.decoding_table["136,112"] = [45737] let s:lib.Codec.decoding_table["136,113"] = [45739] let s:lib.Codec.decoding_table["136,114"] = [45741] let s:lib.Codec.decoding_table["136,115"] = [45742] let s:lib.Codec.decoding_table["136,116"] = [45743] let s:lib.Codec.decoding_table["136,117"] = [45745] let s:lib.Codec.decoding_table["136,118"] = [45746] let s:lib.Codec.decoding_table["136,119"] = [45747] let s:lib.Codec.decoding_table["136,120"] = [45749] let s:lib.Codec.decoding_table["136,121"] = [45750] let s:lib.Codec.decoding_table["136,122"] = [45751] let s:lib.Codec.decoding_table["136,129"] = [45752] let s:lib.Codec.decoding_table["136,130"] = [45753] let s:lib.Codec.decoding_table["136,131"] = [45754] let s:lib.Codec.decoding_table["136,132"] = [45755] let s:lib.Codec.decoding_table["136,133"] = [45756] let s:lib.Codec.decoding_table["136,134"] = [45757] let s:lib.Codec.decoding_table["136,135"] = [45758] let s:lib.Codec.decoding_table["136,136"] = [45759] let s:lib.Codec.decoding_table["136,137"] = [45760] let s:lib.Codec.decoding_table["136,138"] = [45761] let s:lib.Codec.decoding_table["136,139"] = [45762] let s:lib.Codec.decoding_table["136,140"] = [45763] let s:lib.Codec.decoding_table["136,141"] = [45764] let s:lib.Codec.decoding_table["136,142"] = [45765] let s:lib.Codec.decoding_table["136,143"] = [45766] let s:lib.Codec.decoding_table["136,144"] = [45767] let s:lib.Codec.decoding_table["136,145"] = [45770] let s:lib.Codec.decoding_table["136,146"] = [45771] let s:lib.Codec.decoding_table["136,147"] = [45773] let s:lib.Codec.decoding_table["136,148"] = [45774] let s:lib.Codec.decoding_table["136,149"] = [45775] let s:lib.Codec.decoding_table["136,150"] = [45777] let s:lib.Codec.decoding_table["136,151"] = [45779] let s:lib.Codec.decoding_table["136,152"] = [45780] let s:lib.Codec.decoding_table["136,153"] = [45781] let s:lib.Codec.decoding_table["136,154"] = [45782] let s:lib.Codec.decoding_table["136,155"] = [45783] let s:lib.Codec.decoding_table["136,156"] = [45786] let s:lib.Codec.decoding_table["136,157"] = [45788] let s:lib.Codec.decoding_table["136,158"] = [45790] let s:lib.Codec.decoding_table["136,159"] = [45791] let s:lib.Codec.decoding_table["136,160"] = [45792] let s:lib.Codec.decoding_table["136,161"] = [45793] let s:lib.Codec.decoding_table["136,162"] = [45795] let s:lib.Codec.decoding_table["136,163"] = [45799] let s:lib.Codec.decoding_table["136,164"] = [45801] let s:lib.Codec.decoding_table["136,165"] = [45802] let s:lib.Codec.decoding_table["136,166"] = [45808] let s:lib.Codec.decoding_table["136,167"] = [45809] let s:lib.Codec.decoding_table["136,168"] = [45810] let s:lib.Codec.decoding_table["136,169"] = [45814] let s:lib.Codec.decoding_table["136,170"] = [45820] let s:lib.Codec.decoding_table["136,171"] = [45821] let s:lib.Codec.decoding_table["136,172"] = [45822] let s:lib.Codec.decoding_table["136,173"] = [45826] let s:lib.Codec.decoding_table["136,174"] = [45827] let s:lib.Codec.decoding_table["136,175"] = [45829] let s:lib.Codec.decoding_table["136,176"] = [45830] let s:lib.Codec.decoding_table["136,177"] = [45831] let s:lib.Codec.decoding_table["136,178"] = [45833] let s:lib.Codec.decoding_table["136,179"] = [45834] let s:lib.Codec.decoding_table["136,180"] = [45835] let s:lib.Codec.decoding_table["136,181"] = [45836] let s:lib.Codec.decoding_table["136,182"] = [45837] let s:lib.Codec.decoding_table["136,183"] = [45838] let s:lib.Codec.decoding_table["136,184"] = [45839] let s:lib.Codec.decoding_table["136,185"] = [45842] let s:lib.Codec.decoding_table["136,186"] = [45846] let s:lib.Codec.decoding_table["136,187"] = [45847] let s:lib.Codec.decoding_table["136,188"] = [45848] let s:lib.Codec.decoding_table["136,189"] = [45849] let s:lib.Codec.decoding_table["136,190"] = [45850] let s:lib.Codec.decoding_table["136,191"] = [45851] let s:lib.Codec.decoding_table["136,192"] = [45853] let s:lib.Codec.decoding_table["136,193"] = [45854] let s:lib.Codec.decoding_table["136,194"] = [45855] let s:lib.Codec.decoding_table["136,195"] = [45856] let s:lib.Codec.decoding_table["136,196"] = [45857] let s:lib.Codec.decoding_table["136,197"] = [45858] let s:lib.Codec.decoding_table["136,198"] = [45859] let s:lib.Codec.decoding_table["136,199"] = [45860] let s:lib.Codec.decoding_table["136,200"] = [45861] let s:lib.Codec.decoding_table["136,201"] = [45862] let s:lib.Codec.decoding_table["136,202"] = [45863] let s:lib.Codec.decoding_table["136,203"] = [45864] let s:lib.Codec.decoding_table["136,204"] = [45865] let s:lib.Codec.decoding_table["136,205"] = [45866] let s:lib.Codec.decoding_table["136,206"] = [45867] let s:lib.Codec.decoding_table["136,207"] = [45868] let s:lib.Codec.decoding_table["136,208"] = [45869] let s:lib.Codec.decoding_table["136,209"] = [45870] let s:lib.Codec.decoding_table["136,210"] = [45871] let s:lib.Codec.decoding_table["136,211"] = [45872] let s:lib.Codec.decoding_table["136,212"] = [45873] let s:lib.Codec.decoding_table["136,213"] = [45874] let s:lib.Codec.decoding_table["136,214"] = [45875] let s:lib.Codec.decoding_table["136,215"] = [45876] let s:lib.Codec.decoding_table["136,216"] = [45877] let s:lib.Codec.decoding_table["136,217"] = [45878] let s:lib.Codec.decoding_table["136,218"] = [45879] let s:lib.Codec.decoding_table["136,219"] = [45880] let s:lib.Codec.decoding_table["136,220"] = [45881] let s:lib.Codec.decoding_table["136,221"] = [45882] let s:lib.Codec.decoding_table["136,222"] = [45883] let s:lib.Codec.decoding_table["136,223"] = [45884] let s:lib.Codec.decoding_table["136,224"] = [45885] let s:lib.Codec.decoding_table["136,225"] = [45886] let s:lib.Codec.decoding_table["136,226"] = [45887] let s:lib.Codec.decoding_table["136,227"] = [45888] let s:lib.Codec.decoding_table["136,228"] = [45889] let s:lib.Codec.decoding_table["136,229"] = [45890] let s:lib.Codec.decoding_table["136,230"] = [45891] let s:lib.Codec.decoding_table["136,231"] = [45892] let s:lib.Codec.decoding_table["136,232"] = [45893] let s:lib.Codec.decoding_table["136,233"] = [45894] let s:lib.Codec.decoding_table["136,234"] = [45895] let s:lib.Codec.decoding_table["136,235"] = [45896] let s:lib.Codec.decoding_table["136,236"] = [45897] let s:lib.Codec.decoding_table["136,237"] = [45898] let s:lib.Codec.decoding_table["136,238"] = [45899] let s:lib.Codec.decoding_table["136,239"] = [45900] let s:lib.Codec.decoding_table["136,240"] = [45901] let s:lib.Codec.decoding_table["136,241"] = [45902] let s:lib.Codec.decoding_table["136,242"] = [45903] let s:lib.Codec.decoding_table["136,243"] = [45904] let s:lib.Codec.decoding_table["136,244"] = [45905] let s:lib.Codec.decoding_table["136,245"] = [45906] let s:lib.Codec.decoding_table["136,246"] = [45907] let s:lib.Codec.decoding_table["136,247"] = [45911] let s:lib.Codec.decoding_table["136,248"] = [45913] let s:lib.Codec.decoding_table["136,249"] = [45914] let s:lib.Codec.decoding_table["136,250"] = [45917] let s:lib.Codec.decoding_table["136,251"] = [45920] let s:lib.Codec.decoding_table["136,252"] = [45921] let s:lib.Codec.decoding_table["136,253"] = [45922] let s:lib.Codec.decoding_table["136,254"] = [45923] let s:lib.Codec.decoding_table["137,65"] = [45926] let s:lib.Codec.decoding_table["137,66"] = [45928] let s:lib.Codec.decoding_table["137,67"] = [45930] let s:lib.Codec.decoding_table["137,68"] = [45932] let s:lib.Codec.decoding_table["137,69"] = [45933] let s:lib.Codec.decoding_table["137,70"] = [45935] let s:lib.Codec.decoding_table["137,71"] = [45938] let s:lib.Codec.decoding_table["137,72"] = [45939] let s:lib.Codec.decoding_table["137,73"] = [45941] let s:lib.Codec.decoding_table["137,74"] = [45942] let s:lib.Codec.decoding_table["137,75"] = [45943] let s:lib.Codec.decoding_table["137,76"] = [45945] let s:lib.Codec.decoding_table["137,77"] = [45946] let s:lib.Codec.decoding_table["137,78"] = [45947] let s:lib.Codec.decoding_table["137,79"] = [45948] let s:lib.Codec.decoding_table["137,80"] = [45949] let s:lib.Codec.decoding_table["137,81"] = [45950] let s:lib.Codec.decoding_table["137,82"] = [45951] let s:lib.Codec.decoding_table["137,83"] = [45954] let s:lib.Codec.decoding_table["137,84"] = [45958] let s:lib.Codec.decoding_table["137,85"] = [45959] let s:lib.Codec.decoding_table["137,86"] = [45960] let s:lib.Codec.decoding_table["137,87"] = [45961] let s:lib.Codec.decoding_table["137,88"] = [45962] let s:lib.Codec.decoding_table["137,89"] = [45963] let s:lib.Codec.decoding_table["137,90"] = [45965] let s:lib.Codec.decoding_table["137,97"] = [45966] let s:lib.Codec.decoding_table["137,98"] = [45967] let s:lib.Codec.decoding_table["137,99"] = [45969] let s:lib.Codec.decoding_table["137,100"] = [45970] let s:lib.Codec.decoding_table["137,101"] = [45971] let s:lib.Codec.decoding_table["137,102"] = [45973] let s:lib.Codec.decoding_table["137,103"] = [45974] let s:lib.Codec.decoding_table["137,104"] = [45975] let s:lib.Codec.decoding_table["137,105"] = [45976] let s:lib.Codec.decoding_table["137,106"] = [45977] let s:lib.Codec.decoding_table["137,107"] = [45978] let s:lib.Codec.decoding_table["137,108"] = [45979] let s:lib.Codec.decoding_table["137,109"] = [45980] let s:lib.Codec.decoding_table["137,110"] = [45981] let s:lib.Codec.decoding_table["137,111"] = [45982] let s:lib.Codec.decoding_table["137,112"] = [45983] let s:lib.Codec.decoding_table["137,113"] = [45986] let s:lib.Codec.decoding_table["137,114"] = [45987] let s:lib.Codec.decoding_table["137,115"] = [45988] let s:lib.Codec.decoding_table["137,116"] = [45989] let s:lib.Codec.decoding_table["137,117"] = [45990] let s:lib.Codec.decoding_table["137,118"] = [45991] let s:lib.Codec.decoding_table["137,119"] = [45993] let s:lib.Codec.decoding_table["137,120"] = [45994] let s:lib.Codec.decoding_table["137,121"] = [45995] let s:lib.Codec.decoding_table["137,122"] = [45997] let s:lib.Codec.decoding_table["137,129"] = [45998] let s:lib.Codec.decoding_table["137,130"] = [45999] let s:lib.Codec.decoding_table["137,131"] = [46000] let s:lib.Codec.decoding_table["137,132"] = [46001] let s:lib.Codec.decoding_table["137,133"] = [46002] let s:lib.Codec.decoding_table["137,134"] = [46003] let s:lib.Codec.decoding_table["137,135"] = [46004] let s:lib.Codec.decoding_table["137,136"] = [46005] let s:lib.Codec.decoding_table["137,137"] = [46006] let s:lib.Codec.decoding_table["137,138"] = [46007] let s:lib.Codec.decoding_table["137,139"] = [46008] let s:lib.Codec.decoding_table["137,140"] = [46009] let s:lib.Codec.decoding_table["137,141"] = [46010] let s:lib.Codec.decoding_table["137,142"] = [46011] let s:lib.Codec.decoding_table["137,143"] = [46012] let s:lib.Codec.decoding_table["137,144"] = [46013] let s:lib.Codec.decoding_table["137,145"] = [46014] let s:lib.Codec.decoding_table["137,146"] = [46015] let s:lib.Codec.decoding_table["137,147"] = [46016] let s:lib.Codec.decoding_table["137,148"] = [46017] let s:lib.Codec.decoding_table["137,149"] = [46018] let s:lib.Codec.decoding_table["137,150"] = [46019] let s:lib.Codec.decoding_table["137,151"] = [46022] let s:lib.Codec.decoding_table["137,152"] = [46023] let s:lib.Codec.decoding_table["137,153"] = [46025] let s:lib.Codec.decoding_table["137,154"] = [46026] let s:lib.Codec.decoding_table["137,155"] = [46029] let s:lib.Codec.decoding_table["137,156"] = [46031] let s:lib.Codec.decoding_table["137,157"] = [46033] let s:lib.Codec.decoding_table["137,158"] = [46034] let s:lib.Codec.decoding_table["137,159"] = [46035] let s:lib.Codec.decoding_table["137,160"] = [46038] let s:lib.Codec.decoding_table["137,161"] = [46040] let s:lib.Codec.decoding_table["137,162"] = [46042] let s:lib.Codec.decoding_table["137,163"] = [46044] let s:lib.Codec.decoding_table["137,164"] = [46046] let s:lib.Codec.decoding_table["137,165"] = [46047] let s:lib.Codec.decoding_table["137,166"] = [46049] let s:lib.Codec.decoding_table["137,167"] = [46050] let s:lib.Codec.decoding_table["137,168"] = [46051] let s:lib.Codec.decoding_table["137,169"] = [46053] let s:lib.Codec.decoding_table["137,170"] = [46054] let s:lib.Codec.decoding_table["137,171"] = [46055] let s:lib.Codec.decoding_table["137,172"] = [46057] let s:lib.Codec.decoding_table["137,173"] = [46058] let s:lib.Codec.decoding_table["137,174"] = [46059] let s:lib.Codec.decoding_table["137,175"] = [46060] let s:lib.Codec.decoding_table["137,176"] = [46061] let s:lib.Codec.decoding_table["137,177"] = [46062] let s:lib.Codec.decoding_table["137,178"] = [46063] let s:lib.Codec.decoding_table["137,179"] = [46064] let s:lib.Codec.decoding_table["137,180"] = [46065] let s:lib.Codec.decoding_table["137,181"] = [46066] let s:lib.Codec.decoding_table["137,182"] = [46067] let s:lib.Codec.decoding_table["137,183"] = [46068] let s:lib.Codec.decoding_table["137,184"] = [46069] let s:lib.Codec.decoding_table["137,185"] = [46070] let s:lib.Codec.decoding_table["137,186"] = [46071] let s:lib.Codec.decoding_table["137,187"] = [46072] let s:lib.Codec.decoding_table["137,188"] = [46073] let s:lib.Codec.decoding_table["137,189"] = [46074] let s:lib.Codec.decoding_table["137,190"] = [46075] let s:lib.Codec.decoding_table["137,191"] = [46077] let s:lib.Codec.decoding_table["137,192"] = [46078] let s:lib.Codec.decoding_table["137,193"] = [46079] let s:lib.Codec.decoding_table["137,194"] = [46080] let s:lib.Codec.decoding_table["137,195"] = [46081] let s:lib.Codec.decoding_table["137,196"] = [46082] let s:lib.Codec.decoding_table["137,197"] = [46083] let s:lib.Codec.decoding_table["137,198"] = [46084] let s:lib.Codec.decoding_table["137,199"] = [46085] let s:lib.Codec.decoding_table["137,200"] = [46086] let s:lib.Codec.decoding_table["137,201"] = [46087] let s:lib.Codec.decoding_table["137,202"] = [46088] let s:lib.Codec.decoding_table["137,203"] = [46089] let s:lib.Codec.decoding_table["137,204"] = [46090] let s:lib.Codec.decoding_table["137,205"] = [46091] let s:lib.Codec.decoding_table["137,206"] = [46092] let s:lib.Codec.decoding_table["137,207"] = [46093] let s:lib.Codec.decoding_table["137,208"] = [46094] let s:lib.Codec.decoding_table["137,209"] = [46095] let s:lib.Codec.decoding_table["137,210"] = [46097] let s:lib.Codec.decoding_table["137,211"] = [46098] let s:lib.Codec.decoding_table["137,212"] = [46099] let s:lib.Codec.decoding_table["137,213"] = [46100] let s:lib.Codec.decoding_table["137,214"] = [46101] let s:lib.Codec.decoding_table["137,215"] = [46102] let s:lib.Codec.decoding_table["137,216"] = [46103] let s:lib.Codec.decoding_table["137,217"] = [46105] let s:lib.Codec.decoding_table["137,218"] = [46106] let s:lib.Codec.decoding_table["137,219"] = [46107] let s:lib.Codec.decoding_table["137,220"] = [46109] let s:lib.Codec.decoding_table["137,221"] = [46110] let s:lib.Codec.decoding_table["137,222"] = [46111] let s:lib.Codec.decoding_table["137,223"] = [46113] let s:lib.Codec.decoding_table["137,224"] = [46114] let s:lib.Codec.decoding_table["137,225"] = [46115] let s:lib.Codec.decoding_table["137,226"] = [46116] let s:lib.Codec.decoding_table["137,227"] = [46117] let s:lib.Codec.decoding_table["137,228"] = [46118] let s:lib.Codec.decoding_table["137,229"] = [46119] let s:lib.Codec.decoding_table["137,230"] = [46122] let s:lib.Codec.decoding_table["137,231"] = [46124] let s:lib.Codec.decoding_table["137,232"] = [46125] let s:lib.Codec.decoding_table["137,233"] = [46126] let s:lib.Codec.decoding_table["137,234"] = [46127] let s:lib.Codec.decoding_table["137,235"] = [46128] let s:lib.Codec.decoding_table["137,236"] = [46129] let s:lib.Codec.decoding_table["137,237"] = [46130] let s:lib.Codec.decoding_table["137,238"] = [46131] let s:lib.Codec.decoding_table["137,239"] = [46133] let s:lib.Codec.decoding_table["137,240"] = [46134] let s:lib.Codec.decoding_table["137,241"] = [46135] let s:lib.Codec.decoding_table["137,242"] = [46136] let s:lib.Codec.decoding_table["137,243"] = [46137] let s:lib.Codec.decoding_table["137,244"] = [46138] let s:lib.Codec.decoding_table["137,245"] = [46139] let s:lib.Codec.decoding_table["137,246"] = [46140] let s:lib.Codec.decoding_table["137,247"] = [46141] let s:lib.Codec.decoding_table["137,248"] = [46142] let s:lib.Codec.decoding_table["137,249"] = [46143] let s:lib.Codec.decoding_table["137,250"] = [46144] let s:lib.Codec.decoding_table["137,251"] = [46145] let s:lib.Codec.decoding_table["137,252"] = [46146] let s:lib.Codec.decoding_table["137,253"] = [46147] let s:lib.Codec.decoding_table["137,254"] = [46148] let s:lib.Codec.decoding_table["138,65"] = [46149] let s:lib.Codec.decoding_table["138,66"] = [46150] let s:lib.Codec.decoding_table["138,67"] = [46151] let s:lib.Codec.decoding_table["138,68"] = [46152] let s:lib.Codec.decoding_table["138,69"] = [46153] let s:lib.Codec.decoding_table["138,70"] = [46154] let s:lib.Codec.decoding_table["138,71"] = [46155] let s:lib.Codec.decoding_table["138,72"] = [46156] let s:lib.Codec.decoding_table["138,73"] = [46157] let s:lib.Codec.decoding_table["138,74"] = [46158] let s:lib.Codec.decoding_table["138,75"] = [46159] let s:lib.Codec.decoding_table["138,76"] = [46162] let s:lib.Codec.decoding_table["138,77"] = [46163] let s:lib.Codec.decoding_table["138,78"] = [46165] let s:lib.Codec.decoding_table["138,79"] = [46166] let s:lib.Codec.decoding_table["138,80"] = [46167] let s:lib.Codec.decoding_table["138,81"] = [46169] let s:lib.Codec.decoding_table["138,82"] = [46170] let s:lib.Codec.decoding_table["138,83"] = [46171] let s:lib.Codec.decoding_table["138,84"] = [46172] let s:lib.Codec.decoding_table["138,85"] = [46173] let s:lib.Codec.decoding_table["138,86"] = [46174] let s:lib.Codec.decoding_table["138,87"] = [46175] let s:lib.Codec.decoding_table["138,88"] = [46178] let s:lib.Codec.decoding_table["138,89"] = [46180] let s:lib.Codec.decoding_table["138,90"] = [46182] let s:lib.Codec.decoding_table["138,97"] = [46183] let s:lib.Codec.decoding_table["138,98"] = [46184] let s:lib.Codec.decoding_table["138,99"] = [46185] let s:lib.Codec.decoding_table["138,100"] = [46186] let s:lib.Codec.decoding_table["138,101"] = [46187] let s:lib.Codec.decoding_table["138,102"] = [46189] let s:lib.Codec.decoding_table["138,103"] = [46190] let s:lib.Codec.decoding_table["138,104"] = [46191] let s:lib.Codec.decoding_table["138,105"] = [46192] let s:lib.Codec.decoding_table["138,106"] = [46193] let s:lib.Codec.decoding_table["138,107"] = [46194] let s:lib.Codec.decoding_table["138,108"] = [46195] let s:lib.Codec.decoding_table["138,109"] = [46196] let s:lib.Codec.decoding_table["138,110"] = [46197] let s:lib.Codec.decoding_table["138,111"] = [46198] let s:lib.Codec.decoding_table["138,112"] = [46199] let s:lib.Codec.decoding_table["138,113"] = [46200] let s:lib.Codec.decoding_table["138,114"] = [46201] let s:lib.Codec.decoding_table["138,115"] = [46202] let s:lib.Codec.decoding_table["138,116"] = [46203] let s:lib.Codec.decoding_table["138,117"] = [46204] let s:lib.Codec.decoding_table["138,118"] = [46205] let s:lib.Codec.decoding_table["138,119"] = [46206] let s:lib.Codec.decoding_table["138,120"] = [46207] let s:lib.Codec.decoding_table["138,121"] = [46209] let s:lib.Codec.decoding_table["138,122"] = [46210] let s:lib.Codec.decoding_table["138,129"] = [46211] let s:lib.Codec.decoding_table["138,130"] = [46212] let s:lib.Codec.decoding_table["138,131"] = [46213] let s:lib.Codec.decoding_table["138,132"] = [46214] let s:lib.Codec.decoding_table["138,133"] = [46215] let s:lib.Codec.decoding_table["138,134"] = [46217] let s:lib.Codec.decoding_table["138,135"] = [46218] let s:lib.Codec.decoding_table["138,136"] = [46219] let s:lib.Codec.decoding_table["138,137"] = [46220] let s:lib.Codec.decoding_table["138,138"] = [46221] let s:lib.Codec.decoding_table["138,139"] = [46222] let s:lib.Codec.decoding_table["138,140"] = [46223] let s:lib.Codec.decoding_table["138,141"] = [46224] let s:lib.Codec.decoding_table["138,142"] = [46225] let s:lib.Codec.decoding_table["138,143"] = [46226] let s:lib.Codec.decoding_table["138,144"] = [46227] let s:lib.Codec.decoding_table["138,145"] = [46228] let s:lib.Codec.decoding_table["138,146"] = [46229] let s:lib.Codec.decoding_table["138,147"] = [46230] let s:lib.Codec.decoding_table["138,148"] = [46231] let s:lib.Codec.decoding_table["138,149"] = [46232] let s:lib.Codec.decoding_table["138,150"] = [46233] let s:lib.Codec.decoding_table["138,151"] = [46234] let s:lib.Codec.decoding_table["138,152"] = [46235] let s:lib.Codec.decoding_table["138,153"] = [46236] let s:lib.Codec.decoding_table["138,154"] = [46238] let s:lib.Codec.decoding_table["138,155"] = [46239] let s:lib.Codec.decoding_table["138,156"] = [46240] let s:lib.Codec.decoding_table["138,157"] = [46241] let s:lib.Codec.decoding_table["138,158"] = [46242] let s:lib.Codec.decoding_table["138,159"] = [46243] let s:lib.Codec.decoding_table["138,160"] = [46245] let s:lib.Codec.decoding_table["138,161"] = [46246] let s:lib.Codec.decoding_table["138,162"] = [46247] let s:lib.Codec.decoding_table["138,163"] = [46249] let s:lib.Codec.decoding_table["138,164"] = [46250] let s:lib.Codec.decoding_table["138,165"] = [46251] let s:lib.Codec.decoding_table["138,166"] = [46253] let s:lib.Codec.decoding_table["138,167"] = [46254] let s:lib.Codec.decoding_table["138,168"] = [46255] let s:lib.Codec.decoding_table["138,169"] = [46256] let s:lib.Codec.decoding_table["138,170"] = [46257] let s:lib.Codec.decoding_table["138,171"] = [46258] let s:lib.Codec.decoding_table["138,172"] = [46259] let s:lib.Codec.decoding_table["138,173"] = [46260] let s:lib.Codec.decoding_table["138,174"] = [46262] let s:lib.Codec.decoding_table["138,175"] = [46264] let s:lib.Codec.decoding_table["138,176"] = [46266] let s:lib.Codec.decoding_table["138,177"] = [46267] let s:lib.Codec.decoding_table["138,178"] = [46268] let s:lib.Codec.decoding_table["138,179"] = [46269] let s:lib.Codec.decoding_table["138,180"] = [46270] let s:lib.Codec.decoding_table["138,181"] = [46271] let s:lib.Codec.decoding_table["138,182"] = [46273] let s:lib.Codec.decoding_table["138,183"] = [46274] let s:lib.Codec.decoding_table["138,184"] = [46275] let s:lib.Codec.decoding_table["138,185"] = [46277] let s:lib.Codec.decoding_table["138,186"] = [46278] let s:lib.Codec.decoding_table["138,187"] = [46279] let s:lib.Codec.decoding_table["138,188"] = [46281] let s:lib.Codec.decoding_table["138,189"] = [46282] let s:lib.Codec.decoding_table["138,190"] = [46283] let s:lib.Codec.decoding_table["138,191"] = [46284] let s:lib.Codec.decoding_table["138,192"] = [46285] let s:lib.Codec.decoding_table["138,193"] = [46286] let s:lib.Codec.decoding_table["138,194"] = [46287] let s:lib.Codec.decoding_table["138,195"] = [46289] let s:lib.Codec.decoding_table["138,196"] = [46290] let s:lib.Codec.decoding_table["138,197"] = [46291] let s:lib.Codec.decoding_table["138,198"] = [46292] let s:lib.Codec.decoding_table["138,199"] = [46294] let s:lib.Codec.decoding_table["138,200"] = [46295] let s:lib.Codec.decoding_table["138,201"] = [46296] let s:lib.Codec.decoding_table["138,202"] = [46297] let s:lib.Codec.decoding_table["138,203"] = [46298] let s:lib.Codec.decoding_table["138,204"] = [46299] let s:lib.Codec.decoding_table["138,205"] = [46302] let s:lib.Codec.decoding_table["138,206"] = [46303] let s:lib.Codec.decoding_table["138,207"] = [46305] let s:lib.Codec.decoding_table["138,208"] = [46306] let s:lib.Codec.decoding_table["138,209"] = [46309] let s:lib.Codec.decoding_table["138,210"] = [46311] let s:lib.Codec.decoding_table["138,211"] = [46312] let s:lib.Codec.decoding_table["138,212"] = [46313] let s:lib.Codec.decoding_table["138,213"] = [46314] let s:lib.Codec.decoding_table["138,214"] = [46315] let s:lib.Codec.decoding_table["138,215"] = [46318] let s:lib.Codec.decoding_table["138,216"] = [46320] let s:lib.Codec.decoding_table["138,217"] = [46322] let s:lib.Codec.decoding_table["138,218"] = [46323] let s:lib.Codec.decoding_table["138,219"] = [46324] let s:lib.Codec.decoding_table["138,220"] = [46325] let s:lib.Codec.decoding_table["138,221"] = [46326] let s:lib.Codec.decoding_table["138,222"] = [46327] let s:lib.Codec.decoding_table["138,223"] = [46329] let s:lib.Codec.decoding_table["138,224"] = [46330] let s:lib.Codec.decoding_table["138,225"] = [46331] let s:lib.Codec.decoding_table["138,226"] = [46332] let s:lib.Codec.decoding_table["138,227"] = [46333] let s:lib.Codec.decoding_table["138,228"] = [46334] let s:lib.Codec.decoding_table["138,229"] = [46335] let s:lib.Codec.decoding_table["138,230"] = [46336] let s:lib.Codec.decoding_table["138,231"] = [46337] let s:lib.Codec.decoding_table["138,232"] = [46338] let s:lib.Codec.decoding_table["138,233"] = [46339] let s:lib.Codec.decoding_table["138,234"] = [46340] let s:lib.Codec.decoding_table["138,235"] = [46341] let s:lib.Codec.decoding_table["138,236"] = [46342] let s:lib.Codec.decoding_table["138,237"] = [46343] let s:lib.Codec.decoding_table["138,238"] = [46344] let s:lib.Codec.decoding_table["138,239"] = [46345] let s:lib.Codec.decoding_table["138,240"] = [46346] let s:lib.Codec.decoding_table["138,241"] = [46347] let s:lib.Codec.decoding_table["138,242"] = [46348] let s:lib.Codec.decoding_table["138,243"] = [46349] let s:lib.Codec.decoding_table["138,244"] = [46350] let s:lib.Codec.decoding_table["138,245"] = [46351] let s:lib.Codec.decoding_table["138,246"] = [46352] let s:lib.Codec.decoding_table["138,247"] = [46353] let s:lib.Codec.decoding_table["138,248"] = [46354] let s:lib.Codec.decoding_table["138,249"] = [46355] let s:lib.Codec.decoding_table["138,250"] = [46358] let s:lib.Codec.decoding_table["138,251"] = [46359] let s:lib.Codec.decoding_table["138,252"] = [46361] let s:lib.Codec.decoding_table["138,253"] = [46362] let s:lib.Codec.decoding_table["138,254"] = [46365] let s:lib.Codec.decoding_table["139,65"] = [46366] let s:lib.Codec.decoding_table["139,66"] = [46367] let s:lib.Codec.decoding_table["139,67"] = [46368] let s:lib.Codec.decoding_table["139,68"] = [46369] let s:lib.Codec.decoding_table["139,69"] = [46370] let s:lib.Codec.decoding_table["139,70"] = [46371] let s:lib.Codec.decoding_table["139,71"] = [46374] let s:lib.Codec.decoding_table["139,72"] = [46379] let s:lib.Codec.decoding_table["139,73"] = [46380] let s:lib.Codec.decoding_table["139,74"] = [46381] let s:lib.Codec.decoding_table["139,75"] = [46382] let s:lib.Codec.decoding_table["139,76"] = [46383] let s:lib.Codec.decoding_table["139,77"] = [46386] let s:lib.Codec.decoding_table["139,78"] = [46387] let s:lib.Codec.decoding_table["139,79"] = [46389] let s:lib.Codec.decoding_table["139,80"] = [46390] let s:lib.Codec.decoding_table["139,81"] = [46391] let s:lib.Codec.decoding_table["139,82"] = [46393] let s:lib.Codec.decoding_table["139,83"] = [46394] let s:lib.Codec.decoding_table["139,84"] = [46395] let s:lib.Codec.decoding_table["139,85"] = [46396] let s:lib.Codec.decoding_table["139,86"] = [46397] let s:lib.Codec.decoding_table["139,87"] = [46398] let s:lib.Codec.decoding_table["139,88"] = [46399] let s:lib.Codec.decoding_table["139,89"] = [46402] let s:lib.Codec.decoding_table["139,90"] = [46406] let s:lib.Codec.decoding_table["139,97"] = [46407] let s:lib.Codec.decoding_table["139,98"] = [46408] let s:lib.Codec.decoding_table["139,99"] = [46409] let s:lib.Codec.decoding_table["139,100"] = [46410] let s:lib.Codec.decoding_table["139,101"] = [46414] let s:lib.Codec.decoding_table["139,102"] = [46415] let s:lib.Codec.decoding_table["139,103"] = [46417] let s:lib.Codec.decoding_table["139,104"] = [46418] let s:lib.Codec.decoding_table["139,105"] = [46419] let s:lib.Codec.decoding_table["139,106"] = [46421] let s:lib.Codec.decoding_table["139,107"] = [46422] let s:lib.Codec.decoding_table["139,108"] = [46423] let s:lib.Codec.decoding_table["139,109"] = [46424] let s:lib.Codec.decoding_table["139,110"] = [46425] let s:lib.Codec.decoding_table["139,111"] = [46426] let s:lib.Codec.decoding_table["139,112"] = [46427] let s:lib.Codec.decoding_table["139,113"] = [46430] let s:lib.Codec.decoding_table["139,114"] = [46434] let s:lib.Codec.decoding_table["139,115"] = [46435] let s:lib.Codec.decoding_table["139,116"] = [46436] let s:lib.Codec.decoding_table["139,117"] = [46437] let s:lib.Codec.decoding_table["139,118"] = [46438] let s:lib.Codec.decoding_table["139,119"] = [46439] let s:lib.Codec.decoding_table["139,120"] = [46440] let s:lib.Codec.decoding_table["139,121"] = [46441] let s:lib.Codec.decoding_table["139,122"] = [46442] let s:lib.Codec.decoding_table["139,129"] = [46443] let s:lib.Codec.decoding_table["139,130"] = [46444] let s:lib.Codec.decoding_table["139,131"] = [46445] let s:lib.Codec.decoding_table["139,132"] = [46446] let s:lib.Codec.decoding_table["139,133"] = [46447] let s:lib.Codec.decoding_table["139,134"] = [46448] let s:lib.Codec.decoding_table["139,135"] = [46449] let s:lib.Codec.decoding_table["139,136"] = [46450] let s:lib.Codec.decoding_table["139,137"] = [46451] let s:lib.Codec.decoding_table["139,138"] = [46452] let s:lib.Codec.decoding_table["139,139"] = [46453] let s:lib.Codec.decoding_table["139,140"] = [46454] let s:lib.Codec.decoding_table["139,141"] = [46455] let s:lib.Codec.decoding_table["139,142"] = [46456] let s:lib.Codec.decoding_table["139,143"] = [46457] let s:lib.Codec.decoding_table["139,144"] = [46458] let s:lib.Codec.decoding_table["139,145"] = [46459] let s:lib.Codec.decoding_table["139,146"] = [46460] let s:lib.Codec.decoding_table["139,147"] = [46461] let s:lib.Codec.decoding_table["139,148"] = [46462] let s:lib.Codec.decoding_table["139,149"] = [46463] let s:lib.Codec.decoding_table["139,150"] = [46464] let s:lib.Codec.decoding_table["139,151"] = [46465] let s:lib.Codec.decoding_table["139,152"] = [46466] let s:lib.Codec.decoding_table["139,153"] = [46467] let s:lib.Codec.decoding_table["139,154"] = [46468] let s:lib.Codec.decoding_table["139,155"] = [46469] let s:lib.Codec.decoding_table["139,156"] = [46470] let s:lib.Codec.decoding_table["139,157"] = [46471] let s:lib.Codec.decoding_table["139,158"] = [46472] let s:lib.Codec.decoding_table["139,159"] = [46473] let s:lib.Codec.decoding_table["139,160"] = [46474] let s:lib.Codec.decoding_table["139,161"] = [46475] let s:lib.Codec.decoding_table["139,162"] = [46476] let s:lib.Codec.decoding_table["139,163"] = [46477] let s:lib.Codec.decoding_table["139,164"] = [46478] let s:lib.Codec.decoding_table["139,165"] = [46479] let s:lib.Codec.decoding_table["139,166"] = [46480] let s:lib.Codec.decoding_table["139,167"] = [46481] let s:lib.Codec.decoding_table["139,168"] = [46482] let s:lib.Codec.decoding_table["139,169"] = [46483] let s:lib.Codec.decoding_table["139,170"] = [46484] let s:lib.Codec.decoding_table["139,171"] = [46485] let s:lib.Codec.decoding_table["139,172"] = [46486] let s:lib.Codec.decoding_table["139,173"] = [46487] let s:lib.Codec.decoding_table["139,174"] = [46488] let s:lib.Codec.decoding_table["139,175"] = [46489] let s:lib.Codec.decoding_table["139,176"] = [46490] let s:lib.Codec.decoding_table["139,177"] = [46491] let s:lib.Codec.decoding_table["139,178"] = [46492] let s:lib.Codec.decoding_table["139,179"] = [46493] let s:lib.Codec.decoding_table["139,180"] = [46494] let s:lib.Codec.decoding_table["139,181"] = [46495] let s:lib.Codec.decoding_table["139,182"] = [46498] let s:lib.Codec.decoding_table["139,183"] = [46499] let s:lib.Codec.decoding_table["139,184"] = [46501] let s:lib.Codec.decoding_table["139,185"] = [46502] let s:lib.Codec.decoding_table["139,186"] = [46503] let s:lib.Codec.decoding_table["139,187"] = [46505] let s:lib.Codec.decoding_table["139,188"] = [46508] let s:lib.Codec.decoding_table["139,189"] = [46509] let s:lib.Codec.decoding_table["139,190"] = [46510] let s:lib.Codec.decoding_table["139,191"] = [46511] let s:lib.Codec.decoding_table["139,192"] = [46514] let s:lib.Codec.decoding_table["139,193"] = [46518] let s:lib.Codec.decoding_table["139,194"] = [46519] let s:lib.Codec.decoding_table["139,195"] = [46520] let s:lib.Codec.decoding_table["139,196"] = [46521] let s:lib.Codec.decoding_table["139,197"] = [46522] let s:lib.Codec.decoding_table["139,198"] = [46526] let s:lib.Codec.decoding_table["139,199"] = [46527] let s:lib.Codec.decoding_table["139,200"] = [46529] let s:lib.Codec.decoding_table["139,201"] = [46530] let s:lib.Codec.decoding_table["139,202"] = [46531] let s:lib.Codec.decoding_table["139,203"] = [46533] let s:lib.Codec.decoding_table["139,204"] = [46534] let s:lib.Codec.decoding_table["139,205"] = [46535] let s:lib.Codec.decoding_table["139,206"] = [46536] let s:lib.Codec.decoding_table["139,207"] = [46537] let s:lib.Codec.decoding_table["139,208"] = [46538] let s:lib.Codec.decoding_table["139,209"] = [46539] let s:lib.Codec.decoding_table["139,210"] = [46542] let s:lib.Codec.decoding_table["139,211"] = [46546] let s:lib.Codec.decoding_table["139,212"] = [46547] let s:lib.Codec.decoding_table["139,213"] = [46548] let s:lib.Codec.decoding_table["139,214"] = [46549] let s:lib.Codec.decoding_table["139,215"] = [46550] let s:lib.Codec.decoding_table["139,216"] = [46551] let s:lib.Codec.decoding_table["139,217"] = [46553] let s:lib.Codec.decoding_table["139,218"] = [46554] let s:lib.Codec.decoding_table["139,219"] = [46555] let s:lib.Codec.decoding_table["139,220"] = [46556] let s:lib.Codec.decoding_table["139,221"] = [46557] let s:lib.Codec.decoding_table["139,222"] = [46558] let s:lib.Codec.decoding_table["139,223"] = [46559] let s:lib.Codec.decoding_table["139,224"] = [46560] let s:lib.Codec.decoding_table["139,225"] = [46561] let s:lib.Codec.decoding_table["139,226"] = [46562] let s:lib.Codec.decoding_table["139,227"] = [46563] let s:lib.Codec.decoding_table["139,228"] = [46564] let s:lib.Codec.decoding_table["139,229"] = [46565] let s:lib.Codec.decoding_table["139,230"] = [46566] let s:lib.Codec.decoding_table["139,231"] = [46567] let s:lib.Codec.decoding_table["139,232"] = [46568] let s:lib.Codec.decoding_table["139,233"] = [46569] let s:lib.Codec.decoding_table["139,234"] = [46570] let s:lib.Codec.decoding_table["139,235"] = [46571] let s:lib.Codec.decoding_table["139,236"] = [46573] let s:lib.Codec.decoding_table["139,237"] = [46574] let s:lib.Codec.decoding_table["139,238"] = [46575] let s:lib.Codec.decoding_table["139,239"] = [46576] let s:lib.Codec.decoding_table["139,240"] = [46577] let s:lib.Codec.decoding_table["139,241"] = [46578] let s:lib.Codec.decoding_table["139,242"] = [46579] let s:lib.Codec.decoding_table["139,243"] = [46580] let s:lib.Codec.decoding_table["139,244"] = [46581] let s:lib.Codec.decoding_table["139,245"] = [46582] let s:lib.Codec.decoding_table["139,246"] = [46583] let s:lib.Codec.decoding_table["139,247"] = [46584] let s:lib.Codec.decoding_table["139,248"] = [46585] let s:lib.Codec.decoding_table["139,249"] = [46586] let s:lib.Codec.decoding_table["139,250"] = [46587] let s:lib.Codec.decoding_table["139,251"] = [46588] let s:lib.Codec.decoding_table["139,252"] = [46589] let s:lib.Codec.decoding_table["139,253"] = [46590] let s:lib.Codec.decoding_table["139,254"] = [46591] let s:lib.Codec.decoding_table["140,65"] = [46592] let s:lib.Codec.decoding_table["140,66"] = [46593] let s:lib.Codec.decoding_table["140,67"] = [46594] let s:lib.Codec.decoding_table["140,68"] = [46595] let s:lib.Codec.decoding_table["140,69"] = [46596] let s:lib.Codec.decoding_table["140,70"] = [46597] let s:lib.Codec.decoding_table["140,71"] = [46598] let s:lib.Codec.decoding_table["140,72"] = [46599] let s:lib.Codec.decoding_table["140,73"] = [46600] let s:lib.Codec.decoding_table["140,74"] = [46601] let s:lib.Codec.decoding_table["140,75"] = [46602] let s:lib.Codec.decoding_table["140,76"] = [46603] let s:lib.Codec.decoding_table["140,77"] = [46604] let s:lib.Codec.decoding_table["140,78"] = [46605] let s:lib.Codec.decoding_table["140,79"] = [46606] let s:lib.Codec.decoding_table["140,80"] = [46607] let s:lib.Codec.decoding_table["140,81"] = [46610] let s:lib.Codec.decoding_table["140,82"] = [46611] let s:lib.Codec.decoding_table["140,83"] = [46613] let s:lib.Codec.decoding_table["140,84"] = [46614] let s:lib.Codec.decoding_table["140,85"] = [46615] let s:lib.Codec.decoding_table["140,86"] = [46617] let s:lib.Codec.decoding_table["140,87"] = [46618] let s:lib.Codec.decoding_table["140,88"] = [46619] let s:lib.Codec.decoding_table["140,89"] = [46620] let s:lib.Codec.decoding_table["140,90"] = [46621] let s:lib.Codec.decoding_table["140,97"] = [46622] let s:lib.Codec.decoding_table["140,98"] = [46623] let s:lib.Codec.decoding_table["140,99"] = [46624] let s:lib.Codec.decoding_table["140,100"] = [46625] let s:lib.Codec.decoding_table["140,101"] = [46626] let s:lib.Codec.decoding_table["140,102"] = [46627] let s:lib.Codec.decoding_table["140,103"] = [46628] let s:lib.Codec.decoding_table["140,104"] = [46630] let s:lib.Codec.decoding_table["140,105"] = [46631] let s:lib.Codec.decoding_table["140,106"] = [46632] let s:lib.Codec.decoding_table["140,107"] = [46633] let s:lib.Codec.decoding_table["140,108"] = [46634] let s:lib.Codec.decoding_table["140,109"] = [46635] let s:lib.Codec.decoding_table["140,110"] = [46637] let s:lib.Codec.decoding_table["140,111"] = [46638] let s:lib.Codec.decoding_table["140,112"] = [46639] let s:lib.Codec.decoding_table["140,113"] = [46640] let s:lib.Codec.decoding_table["140,114"] = [46641] let s:lib.Codec.decoding_table["140,115"] = [46642] let s:lib.Codec.decoding_table["140,116"] = [46643] let s:lib.Codec.decoding_table["140,117"] = [46645] let s:lib.Codec.decoding_table["140,118"] = [46646] let s:lib.Codec.decoding_table["140,119"] = [46647] let s:lib.Codec.decoding_table["140,120"] = [46648] let s:lib.Codec.decoding_table["140,121"] = [46649] let s:lib.Codec.decoding_table["140,122"] = [46650] let s:lib.Codec.decoding_table["140,129"] = [46651] let s:lib.Codec.decoding_table["140,130"] = [46652] let s:lib.Codec.decoding_table["140,131"] = [46653] let s:lib.Codec.decoding_table["140,132"] = [46654] let s:lib.Codec.decoding_table["140,133"] = [46655] let s:lib.Codec.decoding_table["140,134"] = [46656] let s:lib.Codec.decoding_table["140,135"] = [46657] let s:lib.Codec.decoding_table["140,136"] = [46658] let s:lib.Codec.decoding_table["140,137"] = [46659] let s:lib.Codec.decoding_table["140,138"] = [46660] let s:lib.Codec.decoding_table["140,139"] = [46661] let s:lib.Codec.decoding_table["140,140"] = [46662] let s:lib.Codec.decoding_table["140,141"] = [46663] let s:lib.Codec.decoding_table["140,142"] = [46665] let s:lib.Codec.decoding_table["140,143"] = [46666] let s:lib.Codec.decoding_table["140,144"] = [46667] let s:lib.Codec.decoding_table["140,145"] = [46668] let s:lib.Codec.decoding_table["140,146"] = [46669] let s:lib.Codec.decoding_table["140,147"] = [46670] let s:lib.Codec.decoding_table["140,148"] = [46671] let s:lib.Codec.decoding_table["140,149"] = [46672] let s:lib.Codec.decoding_table["140,150"] = [46673] let s:lib.Codec.decoding_table["140,151"] = [46674] let s:lib.Codec.decoding_table["140,152"] = [46675] let s:lib.Codec.decoding_table["140,153"] = [46676] let s:lib.Codec.decoding_table["140,154"] = [46677] let s:lib.Codec.decoding_table["140,155"] = [46678] let s:lib.Codec.decoding_table["140,156"] = [46679] let s:lib.Codec.decoding_table["140,157"] = [46680] let s:lib.Codec.decoding_table["140,158"] = [46681] let s:lib.Codec.decoding_table["140,159"] = [46682] let s:lib.Codec.decoding_table["140,160"] = [46683] let s:lib.Codec.decoding_table["140,161"] = [46684] let s:lib.Codec.decoding_table["140,162"] = [46685] let s:lib.Codec.decoding_table["140,163"] = [46686] let s:lib.Codec.decoding_table["140,164"] = [46687] let s:lib.Codec.decoding_table["140,165"] = [46688] let s:lib.Codec.decoding_table["140,166"] = [46689] let s:lib.Codec.decoding_table["140,167"] = [46690] let s:lib.Codec.decoding_table["140,168"] = [46691] let s:lib.Codec.decoding_table["140,169"] = [46693] let s:lib.Codec.decoding_table["140,170"] = [46694] let s:lib.Codec.decoding_table["140,171"] = [46695] let s:lib.Codec.decoding_table["140,172"] = [46697] let s:lib.Codec.decoding_table["140,173"] = [46698] let s:lib.Codec.decoding_table["140,174"] = [46699] let s:lib.Codec.decoding_table["140,175"] = [46700] let s:lib.Codec.decoding_table["140,176"] = [46701] let s:lib.Codec.decoding_table["140,177"] = [46702] let s:lib.Codec.decoding_table["140,178"] = [46703] let s:lib.Codec.decoding_table["140,179"] = [46704] let s:lib.Codec.decoding_table["140,180"] = [46705] let s:lib.Codec.decoding_table["140,181"] = [46706] let s:lib.Codec.decoding_table["140,182"] = [46707] let s:lib.Codec.decoding_table["140,183"] = [46708] let s:lib.Codec.decoding_table["140,184"] = [46709] let s:lib.Codec.decoding_table["140,185"] = [46710] let s:lib.Codec.decoding_table["140,186"] = [46711] let s:lib.Codec.decoding_table["140,187"] = [46712] let s:lib.Codec.decoding_table["140,188"] = [46713] let s:lib.Codec.decoding_table["140,189"] = [46714] let s:lib.Codec.decoding_table["140,190"] = [46715] let s:lib.Codec.decoding_table["140,191"] = [46716] let s:lib.Codec.decoding_table["140,192"] = [46717] let s:lib.Codec.decoding_table["140,193"] = [46718] let s:lib.Codec.decoding_table["140,194"] = [46719] let s:lib.Codec.decoding_table["140,195"] = [46720] let s:lib.Codec.decoding_table["140,196"] = [46721] let s:lib.Codec.decoding_table["140,197"] = [46722] let s:lib.Codec.decoding_table["140,198"] = [46723] let s:lib.Codec.decoding_table["140,199"] = [46724] let s:lib.Codec.decoding_table["140,200"] = [46725] let s:lib.Codec.decoding_table["140,201"] = [46726] let s:lib.Codec.decoding_table["140,202"] = [46727] let s:lib.Codec.decoding_table["140,203"] = [46728] let s:lib.Codec.decoding_table["140,204"] = [46729] let s:lib.Codec.decoding_table["140,205"] = [46730] let s:lib.Codec.decoding_table["140,206"] = [46731] let s:lib.Codec.decoding_table["140,207"] = [46732] let s:lib.Codec.decoding_table["140,208"] = [46733] let s:lib.Codec.decoding_table["140,209"] = [46734] let s:lib.Codec.decoding_table["140,210"] = [46735] let s:lib.Codec.decoding_table["140,211"] = [46736] let s:lib.Codec.decoding_table["140,212"] = [46737] let s:lib.Codec.decoding_table["140,213"] = [46738] let s:lib.Codec.decoding_table["140,214"] = [46739] let s:lib.Codec.decoding_table["140,215"] = [46740] let s:lib.Codec.decoding_table["140,216"] = [46741] let s:lib.Codec.decoding_table["140,217"] = [46742] let s:lib.Codec.decoding_table["140,218"] = [46743] let s:lib.Codec.decoding_table["140,219"] = [46744] let s:lib.Codec.decoding_table["140,220"] = [46745] let s:lib.Codec.decoding_table["140,221"] = [46746] let s:lib.Codec.decoding_table["140,222"] = [46747] let s:lib.Codec.decoding_table["140,223"] = [46750] let s:lib.Codec.decoding_table["140,224"] = [46751] let s:lib.Codec.decoding_table["140,225"] = [46753] let s:lib.Codec.decoding_table["140,226"] = [46754] let s:lib.Codec.decoding_table["140,227"] = [46755] let s:lib.Codec.decoding_table["140,228"] = [46757] let s:lib.Codec.decoding_table["140,229"] = [46758] let s:lib.Codec.decoding_table["140,230"] = [46759] let s:lib.Codec.decoding_table["140,231"] = [46760] let s:lib.Codec.decoding_table["140,232"] = [46761] let s:lib.Codec.decoding_table["140,233"] = [46762] let s:lib.Codec.decoding_table["140,234"] = [46765] let s:lib.Codec.decoding_table["140,235"] = [46766] let s:lib.Codec.decoding_table["140,236"] = [46767] let s:lib.Codec.decoding_table["140,237"] = [46768] let s:lib.Codec.decoding_table["140,238"] = [46770] let s:lib.Codec.decoding_table["140,239"] = [46771] let s:lib.Codec.decoding_table["140,240"] = [46772] let s:lib.Codec.decoding_table["140,241"] = [46773] let s:lib.Codec.decoding_table["140,242"] = [46774] let s:lib.Codec.decoding_table["140,243"] = [46775] let s:lib.Codec.decoding_table["140,244"] = [46776] let s:lib.Codec.decoding_table["140,245"] = [46777] let s:lib.Codec.decoding_table["140,246"] = [46778] let s:lib.Codec.decoding_table["140,247"] = [46779] let s:lib.Codec.decoding_table["140,248"] = [46780] let s:lib.Codec.decoding_table["140,249"] = [46781] let s:lib.Codec.decoding_table["140,250"] = [46782] let s:lib.Codec.decoding_table["140,251"] = [46783] let s:lib.Codec.decoding_table["140,252"] = [46784] let s:lib.Codec.decoding_table["140,253"] = [46785] let s:lib.Codec.decoding_table["140,254"] = [46786] let s:lib.Codec.decoding_table["141,65"] = [46787] let s:lib.Codec.decoding_table["141,66"] = [46788] let s:lib.Codec.decoding_table["141,67"] = [46789] let s:lib.Codec.decoding_table["141,68"] = [46790] let s:lib.Codec.decoding_table["141,69"] = [46791] let s:lib.Codec.decoding_table["141,70"] = [46792] let s:lib.Codec.decoding_table["141,71"] = [46793] let s:lib.Codec.decoding_table["141,72"] = [46794] let s:lib.Codec.decoding_table["141,73"] = [46795] let s:lib.Codec.decoding_table["141,74"] = [46796] let s:lib.Codec.decoding_table["141,75"] = [46797] let s:lib.Codec.decoding_table["141,76"] = [46798] let s:lib.Codec.decoding_table["141,77"] = [46799] let s:lib.Codec.decoding_table["141,78"] = [46800] let s:lib.Codec.decoding_table["141,79"] = [46801] let s:lib.Codec.decoding_table["141,80"] = [46802] let s:lib.Codec.decoding_table["141,81"] = [46803] let s:lib.Codec.decoding_table["141,82"] = [46805] let s:lib.Codec.decoding_table["141,83"] = [46806] let s:lib.Codec.decoding_table["141,84"] = [46807] let s:lib.Codec.decoding_table["141,85"] = [46808] let s:lib.Codec.decoding_table["141,86"] = [46809] let s:lib.Codec.decoding_table["141,87"] = [46810] let s:lib.Codec.decoding_table["141,88"] = [46811] let s:lib.Codec.decoding_table["141,89"] = [46812] let s:lib.Codec.decoding_table["141,90"] = [46813] let s:lib.Codec.decoding_table["141,97"] = [46814] let s:lib.Codec.decoding_table["141,98"] = [46815] let s:lib.Codec.decoding_table["141,99"] = [46816] let s:lib.Codec.decoding_table["141,100"] = [46817] let s:lib.Codec.decoding_table["141,101"] = [46818] let s:lib.Codec.decoding_table["141,102"] = [46819] let s:lib.Codec.decoding_table["141,103"] = [46820] let s:lib.Codec.decoding_table["141,104"] = [46821] let s:lib.Codec.decoding_table["141,105"] = [46822] let s:lib.Codec.decoding_table["141,106"] = [46823] let s:lib.Codec.decoding_table["141,107"] = [46824] let s:lib.Codec.decoding_table["141,108"] = [46825] let s:lib.Codec.decoding_table["141,109"] = [46826] let s:lib.Codec.decoding_table["141,110"] = [46827] let s:lib.Codec.decoding_table["141,111"] = [46828] let s:lib.Codec.decoding_table["141,112"] = [46829] let s:lib.Codec.decoding_table["141,113"] = [46830] let s:lib.Codec.decoding_table["141,114"] = [46831] let s:lib.Codec.decoding_table["141,115"] = [46833] let s:lib.Codec.decoding_table["141,116"] = [46834] let s:lib.Codec.decoding_table["141,117"] = [46835] let s:lib.Codec.decoding_table["141,118"] = [46837] let s:lib.Codec.decoding_table["141,119"] = [46838] let s:lib.Codec.decoding_table["141,120"] = [46839] let s:lib.Codec.decoding_table["141,121"] = [46841] let s:lib.Codec.decoding_table["141,122"] = [46842] let s:lib.Codec.decoding_table["141,129"] = [46843] let s:lib.Codec.decoding_table["141,130"] = [46844] let s:lib.Codec.decoding_table["141,131"] = [46845] let s:lib.Codec.decoding_table["141,132"] = [46846] let s:lib.Codec.decoding_table["141,133"] = [46847] let s:lib.Codec.decoding_table["141,134"] = [46850] let s:lib.Codec.decoding_table["141,135"] = [46851] let s:lib.Codec.decoding_table["141,136"] = [46852] let s:lib.Codec.decoding_table["141,137"] = [46854] let s:lib.Codec.decoding_table["141,138"] = [46855] let s:lib.Codec.decoding_table["141,139"] = [46856] let s:lib.Codec.decoding_table["141,140"] = [46857] let s:lib.Codec.decoding_table["141,141"] = [46858] let s:lib.Codec.decoding_table["141,142"] = [46859] let s:lib.Codec.decoding_table["141,143"] = [46860] let s:lib.Codec.decoding_table["141,144"] = [46861] let s:lib.Codec.decoding_table["141,145"] = [46862] let s:lib.Codec.decoding_table["141,146"] = [46863] let s:lib.Codec.decoding_table["141,147"] = [46864] let s:lib.Codec.decoding_table["141,148"] = [46865] let s:lib.Codec.decoding_table["141,149"] = [46866] let s:lib.Codec.decoding_table["141,150"] = [46867] let s:lib.Codec.decoding_table["141,151"] = [46868] let s:lib.Codec.decoding_table["141,152"] = [46869] let s:lib.Codec.decoding_table["141,153"] = [46870] let s:lib.Codec.decoding_table["141,154"] = [46871] let s:lib.Codec.decoding_table["141,155"] = [46872] let s:lib.Codec.decoding_table["141,156"] = [46873] let s:lib.Codec.decoding_table["141,157"] = [46874] let s:lib.Codec.decoding_table["141,158"] = [46875] let s:lib.Codec.decoding_table["141,159"] = [46876] let s:lib.Codec.decoding_table["141,160"] = [46877] let s:lib.Codec.decoding_table["141,161"] = [46878] let s:lib.Codec.decoding_table["141,162"] = [46879] let s:lib.Codec.decoding_table["141,163"] = [46880] let s:lib.Codec.decoding_table["141,164"] = [46881] let s:lib.Codec.decoding_table["141,165"] = [46882] let s:lib.Codec.decoding_table["141,166"] = [46883] let s:lib.Codec.decoding_table["141,167"] = [46884] let s:lib.Codec.decoding_table["141,168"] = [46885] let s:lib.Codec.decoding_table["141,169"] = [46886] let s:lib.Codec.decoding_table["141,170"] = [46887] let s:lib.Codec.decoding_table["141,171"] = [46890] let s:lib.Codec.decoding_table["141,172"] = [46891] let s:lib.Codec.decoding_table["141,173"] = [46893] let s:lib.Codec.decoding_table["141,174"] = [46894] let s:lib.Codec.decoding_table["141,175"] = [46897] let s:lib.Codec.decoding_table["141,176"] = [46898] let s:lib.Codec.decoding_table["141,177"] = [46899] let s:lib.Codec.decoding_table["141,178"] = [46900] let s:lib.Codec.decoding_table["141,179"] = [46901] let s:lib.Codec.decoding_table["141,180"] = [46902] let s:lib.Codec.decoding_table["141,181"] = [46903] let s:lib.Codec.decoding_table["141,182"] = [46906] let s:lib.Codec.decoding_table["141,183"] = [46908] let s:lib.Codec.decoding_table["141,184"] = [46909] let s:lib.Codec.decoding_table["141,185"] = [46910] let s:lib.Codec.decoding_table["141,186"] = [46911] let s:lib.Codec.decoding_table["141,187"] = [46912] let s:lib.Codec.decoding_table["141,188"] = [46913] let s:lib.Codec.decoding_table["141,189"] = [46914] let s:lib.Codec.decoding_table["141,190"] = [46915] let s:lib.Codec.decoding_table["141,191"] = [46917] let s:lib.Codec.decoding_table["141,192"] = [46918] let s:lib.Codec.decoding_table["141,193"] = [46919] let s:lib.Codec.decoding_table["141,194"] = [46921] let s:lib.Codec.decoding_table["141,195"] = [46922] let s:lib.Codec.decoding_table["141,196"] = [46923] let s:lib.Codec.decoding_table["141,197"] = [46925] let s:lib.Codec.decoding_table["141,198"] = [46926] let s:lib.Codec.decoding_table["141,199"] = [46927] let s:lib.Codec.decoding_table["141,200"] = [46928] let s:lib.Codec.decoding_table["141,201"] = [46929] let s:lib.Codec.decoding_table["141,202"] = [46930] let s:lib.Codec.decoding_table["141,203"] = [46931] let s:lib.Codec.decoding_table["141,204"] = [46934] let s:lib.Codec.decoding_table["141,205"] = [46935] let s:lib.Codec.decoding_table["141,206"] = [46936] let s:lib.Codec.decoding_table["141,207"] = [46937] let s:lib.Codec.decoding_table["141,208"] = [46938] let s:lib.Codec.decoding_table["141,209"] = [46939] let s:lib.Codec.decoding_table["141,210"] = [46940] let s:lib.Codec.decoding_table["141,211"] = [46941] let s:lib.Codec.decoding_table["141,212"] = [46942] let s:lib.Codec.decoding_table["141,213"] = [46943] let s:lib.Codec.decoding_table["141,214"] = [46945] let s:lib.Codec.decoding_table["141,215"] = [46946] let s:lib.Codec.decoding_table["141,216"] = [46947] let s:lib.Codec.decoding_table["141,217"] = [46949] let s:lib.Codec.decoding_table["141,218"] = [46950] let s:lib.Codec.decoding_table["141,219"] = [46951] let s:lib.Codec.decoding_table["141,220"] = [46953] let s:lib.Codec.decoding_table["141,221"] = [46954] let s:lib.Codec.decoding_table["141,222"] = [46955] let s:lib.Codec.decoding_table["141,223"] = [46956] let s:lib.Codec.decoding_table["141,224"] = [46957] let s:lib.Codec.decoding_table["141,225"] = [46958] let s:lib.Codec.decoding_table["141,226"] = [46959] let s:lib.Codec.decoding_table["141,227"] = [46962] let s:lib.Codec.decoding_table["141,228"] = [46964] let s:lib.Codec.decoding_table["141,229"] = [46966] let s:lib.Codec.decoding_table["141,230"] = [46967] let s:lib.Codec.decoding_table["141,231"] = [46968] let s:lib.Codec.decoding_table["141,232"] = [46969] let s:lib.Codec.decoding_table["141,233"] = [46970] let s:lib.Codec.decoding_table["141,234"] = [46971] let s:lib.Codec.decoding_table["141,235"] = [46974] let s:lib.Codec.decoding_table["141,236"] = [46975] let s:lib.Codec.decoding_table["141,237"] = [46977] let s:lib.Codec.decoding_table["141,238"] = [46978] let s:lib.Codec.decoding_table["141,239"] = [46979] let s:lib.Codec.decoding_table["141,240"] = [46981] let s:lib.Codec.decoding_table["141,241"] = [46982] let s:lib.Codec.decoding_table["141,242"] = [46983] let s:lib.Codec.decoding_table["141,243"] = [46984] let s:lib.Codec.decoding_table["141,244"] = [46985] let s:lib.Codec.decoding_table["141,245"] = [46986] let s:lib.Codec.decoding_table["141,246"] = [46987] let s:lib.Codec.decoding_table["141,247"] = [46990] let s:lib.Codec.decoding_table["141,248"] = [46995] let s:lib.Codec.decoding_table["141,249"] = [46996] let s:lib.Codec.decoding_table["141,250"] = [46997] let s:lib.Codec.decoding_table["141,251"] = [47002] let s:lib.Codec.decoding_table["141,252"] = [47003] let s:lib.Codec.decoding_table["141,253"] = [47005] let s:lib.Codec.decoding_table["141,254"] = [47006] let s:lib.Codec.decoding_table["142,65"] = [47007] let s:lib.Codec.decoding_table["142,66"] = [47009] let s:lib.Codec.decoding_table["142,67"] = [47010] let s:lib.Codec.decoding_table["142,68"] = [47011] let s:lib.Codec.decoding_table["142,69"] = [47012] let s:lib.Codec.decoding_table["142,70"] = [47013] let s:lib.Codec.decoding_table["142,71"] = [47014] let s:lib.Codec.decoding_table["142,72"] = [47015] let s:lib.Codec.decoding_table["142,73"] = [47018] let s:lib.Codec.decoding_table["142,74"] = [47022] let s:lib.Codec.decoding_table["142,75"] = [47023] let s:lib.Codec.decoding_table["142,76"] = [47024] let s:lib.Codec.decoding_table["142,77"] = [47025] let s:lib.Codec.decoding_table["142,78"] = [47026] let s:lib.Codec.decoding_table["142,79"] = [47027] let s:lib.Codec.decoding_table["142,80"] = [47030] let s:lib.Codec.decoding_table["142,81"] = [47031] let s:lib.Codec.decoding_table["142,82"] = [47033] let s:lib.Codec.decoding_table["142,83"] = [47034] let s:lib.Codec.decoding_table["142,84"] = [47035] let s:lib.Codec.decoding_table["142,85"] = [47036] let s:lib.Codec.decoding_table["142,86"] = [47037] let s:lib.Codec.decoding_table["142,87"] = [47038] let s:lib.Codec.decoding_table["142,88"] = [47039] let s:lib.Codec.decoding_table["142,89"] = [47040] let s:lib.Codec.decoding_table["142,90"] = [47041] let s:lib.Codec.decoding_table["142,97"] = [47042] let s:lib.Codec.decoding_table["142,98"] = [47043] let s:lib.Codec.decoding_table["142,99"] = [47044] let s:lib.Codec.decoding_table["142,100"] = [47045] let s:lib.Codec.decoding_table["142,101"] = [47046] let s:lib.Codec.decoding_table["142,102"] = [47048] let s:lib.Codec.decoding_table["142,103"] = [47050] let s:lib.Codec.decoding_table["142,104"] = [47051] let s:lib.Codec.decoding_table["142,105"] = [47052] let s:lib.Codec.decoding_table["142,106"] = [47053] let s:lib.Codec.decoding_table["142,107"] = [47054] let s:lib.Codec.decoding_table["142,108"] = [47055] let s:lib.Codec.decoding_table["142,109"] = [47056] let s:lib.Codec.decoding_table["142,110"] = [47057] let s:lib.Codec.decoding_table["142,111"] = [47058] let s:lib.Codec.decoding_table["142,112"] = [47059] let s:lib.Codec.decoding_table["142,113"] = [47060] let s:lib.Codec.decoding_table["142,114"] = [47061] let s:lib.Codec.decoding_table["142,115"] = [47062] let s:lib.Codec.decoding_table["142,116"] = [47063] let s:lib.Codec.decoding_table["142,117"] = [47064] let s:lib.Codec.decoding_table["142,118"] = [47065] let s:lib.Codec.decoding_table["142,119"] = [47066] let s:lib.Codec.decoding_table["142,120"] = [47067] let s:lib.Codec.decoding_table["142,121"] = [47068] let s:lib.Codec.decoding_table["142,122"] = [47069] let s:lib.Codec.decoding_table["142,129"] = [47070] let s:lib.Codec.decoding_table["142,130"] = [47071] let s:lib.Codec.decoding_table["142,131"] = [47072] let s:lib.Codec.decoding_table["142,132"] = [47073] let s:lib.Codec.decoding_table["142,133"] = [47074] let s:lib.Codec.decoding_table["142,134"] = [47075] let s:lib.Codec.decoding_table["142,135"] = [47076] let s:lib.Codec.decoding_table["142,136"] = [47077] let s:lib.Codec.decoding_table["142,137"] = [47078] let s:lib.Codec.decoding_table["142,138"] = [47079] let s:lib.Codec.decoding_table["142,139"] = [47080] let s:lib.Codec.decoding_table["142,140"] = [47081] let s:lib.Codec.decoding_table["142,141"] = [47082] let s:lib.Codec.decoding_table["142,142"] = [47083] let s:lib.Codec.decoding_table["142,143"] = [47086] let s:lib.Codec.decoding_table["142,144"] = [47087] let s:lib.Codec.decoding_table["142,145"] = [47089] let s:lib.Codec.decoding_table["142,146"] = [47090] let s:lib.Codec.decoding_table["142,147"] = [47091] let s:lib.Codec.decoding_table["142,148"] = [47093] let s:lib.Codec.decoding_table["142,149"] = [47094] let s:lib.Codec.decoding_table["142,150"] = [47095] let s:lib.Codec.decoding_table["142,151"] = [47096] let s:lib.Codec.decoding_table["142,152"] = [47097] let s:lib.Codec.decoding_table["142,153"] = [47098] let s:lib.Codec.decoding_table["142,154"] = [47099] let s:lib.Codec.decoding_table["142,155"] = [47102] let s:lib.Codec.decoding_table["142,156"] = [47106] let s:lib.Codec.decoding_table["142,157"] = [47107] let s:lib.Codec.decoding_table["142,158"] = [47108] let s:lib.Codec.decoding_table["142,159"] = [47109] let s:lib.Codec.decoding_table["142,160"] = [47110] let s:lib.Codec.decoding_table["142,161"] = [47114] let s:lib.Codec.decoding_table["142,162"] = [47115] let s:lib.Codec.decoding_table["142,163"] = [47117] let s:lib.Codec.decoding_table["142,164"] = [47118] let s:lib.Codec.decoding_table["142,165"] = [47119] let s:lib.Codec.decoding_table["142,166"] = [47121] let s:lib.Codec.decoding_table["142,167"] = [47122] let s:lib.Codec.decoding_table["142,168"] = [47123] let s:lib.Codec.decoding_table["142,169"] = [47124] let s:lib.Codec.decoding_table["142,170"] = [47125] let s:lib.Codec.decoding_table["142,171"] = [47126] let s:lib.Codec.decoding_table["142,172"] = [47127] let s:lib.Codec.decoding_table["142,173"] = [47130] let s:lib.Codec.decoding_table["142,174"] = [47132] let s:lib.Codec.decoding_table["142,175"] = [47134] let s:lib.Codec.decoding_table["142,176"] = [47135] let s:lib.Codec.decoding_table["142,177"] = [47136] let s:lib.Codec.decoding_table["142,178"] = [47137] let s:lib.Codec.decoding_table["142,179"] = [47138] let s:lib.Codec.decoding_table["142,180"] = [47139] let s:lib.Codec.decoding_table["142,181"] = [47142] let s:lib.Codec.decoding_table["142,182"] = [47143] let s:lib.Codec.decoding_table["142,183"] = [47145] let s:lib.Codec.decoding_table["142,184"] = [47146] let s:lib.Codec.decoding_table["142,185"] = [47147] let s:lib.Codec.decoding_table["142,186"] = [47149] let s:lib.Codec.decoding_table["142,187"] = [47150] let s:lib.Codec.decoding_table["142,188"] = [47151] let s:lib.Codec.decoding_table["142,189"] = [47152] let s:lib.Codec.decoding_table["142,190"] = [47153] let s:lib.Codec.decoding_table["142,191"] = [47154] let s:lib.Codec.decoding_table["142,192"] = [47155] let s:lib.Codec.decoding_table["142,193"] = [47158] let s:lib.Codec.decoding_table["142,194"] = [47162] let s:lib.Codec.decoding_table["142,195"] = [47163] let s:lib.Codec.decoding_table["142,196"] = [47164] let s:lib.Codec.decoding_table["142,197"] = [47165] let s:lib.Codec.decoding_table["142,198"] = [47166] let s:lib.Codec.decoding_table["142,199"] = [47167] let s:lib.Codec.decoding_table["142,200"] = [47169] let s:lib.Codec.decoding_table["142,201"] = [47170] let s:lib.Codec.decoding_table["142,202"] = [47171] let s:lib.Codec.decoding_table["142,203"] = [47173] let s:lib.Codec.decoding_table["142,204"] = [47174] let s:lib.Codec.decoding_table["142,205"] = [47175] let s:lib.Codec.decoding_table["142,206"] = [47176] let s:lib.Codec.decoding_table["142,207"] = [47177] let s:lib.Codec.decoding_table["142,208"] = [47178] let s:lib.Codec.decoding_table["142,209"] = [47179] let s:lib.Codec.decoding_table["142,210"] = [47180] let s:lib.Codec.decoding_table["142,211"] = [47181] let s:lib.Codec.decoding_table["142,212"] = [47182] let s:lib.Codec.decoding_table["142,213"] = [47183] let s:lib.Codec.decoding_table["142,214"] = [47184] let s:lib.Codec.decoding_table["142,215"] = [47186] let s:lib.Codec.decoding_table["142,216"] = [47188] let s:lib.Codec.decoding_table["142,217"] = [47189] let s:lib.Codec.decoding_table["142,218"] = [47190] let s:lib.Codec.decoding_table["142,219"] = [47191] let s:lib.Codec.decoding_table["142,220"] = [47192] let s:lib.Codec.decoding_table["142,221"] = [47193] let s:lib.Codec.decoding_table["142,222"] = [47194] let s:lib.Codec.decoding_table["142,223"] = [47195] let s:lib.Codec.decoding_table["142,224"] = [47198] let s:lib.Codec.decoding_table["142,225"] = [47199] let s:lib.Codec.decoding_table["142,226"] = [47201] let s:lib.Codec.decoding_table["142,227"] = [47202] let s:lib.Codec.decoding_table["142,228"] = [47203] let s:lib.Codec.decoding_table["142,229"] = [47205] let s:lib.Codec.decoding_table["142,230"] = [47206] let s:lib.Codec.decoding_table["142,231"] = [47207] let s:lib.Codec.decoding_table["142,232"] = [47208] let s:lib.Codec.decoding_table["142,233"] = [47209] let s:lib.Codec.decoding_table["142,234"] = [47210] let s:lib.Codec.decoding_table["142,235"] = [47211] let s:lib.Codec.decoding_table["142,236"] = [47214] let s:lib.Codec.decoding_table["142,237"] = [47216] let s:lib.Codec.decoding_table["142,238"] = [47218] let s:lib.Codec.decoding_table["142,239"] = [47219] let s:lib.Codec.decoding_table["142,240"] = [47220] let s:lib.Codec.decoding_table["142,241"] = [47221] let s:lib.Codec.decoding_table["142,242"] = [47222] let s:lib.Codec.decoding_table["142,243"] = [47223] let s:lib.Codec.decoding_table["142,244"] = [47225] let s:lib.Codec.decoding_table["142,245"] = [47226] let s:lib.Codec.decoding_table["142,246"] = [47227] let s:lib.Codec.decoding_table["142,247"] = [47229] let s:lib.Codec.decoding_table["142,248"] = [47230] let s:lib.Codec.decoding_table["142,249"] = [47231] let s:lib.Codec.decoding_table["142,250"] = [47232] let s:lib.Codec.decoding_table["142,251"] = [47233] let s:lib.Codec.decoding_table["142,252"] = [47234] let s:lib.Codec.decoding_table["142,253"] = [47235] let s:lib.Codec.decoding_table["142,254"] = [47236] let s:lib.Codec.decoding_table["143,65"] = [47237] let s:lib.Codec.decoding_table["143,66"] = [47238] let s:lib.Codec.decoding_table["143,67"] = [47239] let s:lib.Codec.decoding_table["143,68"] = [47240] let s:lib.Codec.decoding_table["143,69"] = [47241] let s:lib.Codec.decoding_table["143,70"] = [47242] let s:lib.Codec.decoding_table["143,71"] = [47243] let s:lib.Codec.decoding_table["143,72"] = [47244] let s:lib.Codec.decoding_table["143,73"] = [47246] let s:lib.Codec.decoding_table["143,74"] = [47247] let s:lib.Codec.decoding_table["143,75"] = [47248] let s:lib.Codec.decoding_table["143,76"] = [47249] let s:lib.Codec.decoding_table["143,77"] = [47250] let s:lib.Codec.decoding_table["143,78"] = [47251] let s:lib.Codec.decoding_table["143,79"] = [47252] let s:lib.Codec.decoding_table["143,80"] = [47253] let s:lib.Codec.decoding_table["143,81"] = [47254] let s:lib.Codec.decoding_table["143,82"] = [47255] let s:lib.Codec.decoding_table["143,83"] = [47256] let s:lib.Codec.decoding_table["143,84"] = [47257] let s:lib.Codec.decoding_table["143,85"] = [47258] let s:lib.Codec.decoding_table["143,86"] = [47259] let s:lib.Codec.decoding_table["143,87"] = [47260] let s:lib.Codec.decoding_table["143,88"] = [47261] let s:lib.Codec.decoding_table["143,89"] = [47262] let s:lib.Codec.decoding_table["143,90"] = [47263] let s:lib.Codec.decoding_table["143,97"] = [47264] let s:lib.Codec.decoding_table["143,98"] = [47265] let s:lib.Codec.decoding_table["143,99"] = [47266] let s:lib.Codec.decoding_table["143,100"] = [47267] let s:lib.Codec.decoding_table["143,101"] = [47268] let s:lib.Codec.decoding_table["143,102"] = [47269] let s:lib.Codec.decoding_table["143,103"] = [47270] let s:lib.Codec.decoding_table["143,104"] = [47271] let s:lib.Codec.decoding_table["143,105"] = [47273] let s:lib.Codec.decoding_table["143,106"] = [47274] let s:lib.Codec.decoding_table["143,107"] = [47275] let s:lib.Codec.decoding_table["143,108"] = [47276] let s:lib.Codec.decoding_table["143,109"] = [47277] let s:lib.Codec.decoding_table["143,110"] = [47278] let s:lib.Codec.decoding_table["143,111"] = [47279] let s:lib.Codec.decoding_table["143,112"] = [47281] let s:lib.Codec.decoding_table["143,113"] = [47282] let s:lib.Codec.decoding_table["143,114"] = [47283] let s:lib.Codec.decoding_table["143,115"] = [47285] let s:lib.Codec.decoding_table["143,116"] = [47286] let s:lib.Codec.decoding_table["143,117"] = [47287] let s:lib.Codec.decoding_table["143,118"] = [47289] let s:lib.Codec.decoding_table["143,119"] = [47290] let s:lib.Codec.decoding_table["143,120"] = [47291] let s:lib.Codec.decoding_table["143,121"] = [47292] let s:lib.Codec.decoding_table["143,122"] = [47293] let s:lib.Codec.decoding_table["143,129"] = [47294] let s:lib.Codec.decoding_table["143,130"] = [47295] let s:lib.Codec.decoding_table["143,131"] = [47298] let s:lib.Codec.decoding_table["143,132"] = [47300] let s:lib.Codec.decoding_table["143,133"] = [47302] let s:lib.Codec.decoding_table["143,134"] = [47303] let s:lib.Codec.decoding_table["143,135"] = [47304] let s:lib.Codec.decoding_table["143,136"] = [47305] let s:lib.Codec.decoding_table["143,137"] = [47306] let s:lib.Codec.decoding_table["143,138"] = [47307] let s:lib.Codec.decoding_table["143,139"] = [47309] let s:lib.Codec.decoding_table["143,140"] = [47310] let s:lib.Codec.decoding_table["143,141"] = [47311] let s:lib.Codec.decoding_table["143,142"] = [47313] let s:lib.Codec.decoding_table["143,143"] = [47314] let s:lib.Codec.decoding_table["143,144"] = [47315] let s:lib.Codec.decoding_table["143,145"] = [47317] let s:lib.Codec.decoding_table["143,146"] = [47318] let s:lib.Codec.decoding_table["143,147"] = [47319] let s:lib.Codec.decoding_table["143,148"] = [47320] let s:lib.Codec.decoding_table["143,149"] = [47321] let s:lib.Codec.decoding_table["143,150"] = [47322] let s:lib.Codec.decoding_table["143,151"] = [47323] let s:lib.Codec.decoding_table["143,152"] = [47324] let s:lib.Codec.decoding_table["143,153"] = [47326] let s:lib.Codec.decoding_table["143,154"] = [47328] let s:lib.Codec.decoding_table["143,155"] = [47330] let s:lib.Codec.decoding_table["143,156"] = [47331] let s:lib.Codec.decoding_table["143,157"] = [47332] let s:lib.Codec.decoding_table["143,158"] = [47333] let s:lib.Codec.decoding_table["143,159"] = [47334] let s:lib.Codec.decoding_table["143,160"] = [47335] let s:lib.Codec.decoding_table["143,161"] = [47338] let s:lib.Codec.decoding_table["143,162"] = [47339] let s:lib.Codec.decoding_table["143,163"] = [47341] let s:lib.Codec.decoding_table["143,164"] = [47342] let s:lib.Codec.decoding_table["143,165"] = [47343] let s:lib.Codec.decoding_table["143,166"] = [47345] let s:lib.Codec.decoding_table["143,167"] = [47346] let s:lib.Codec.decoding_table["143,168"] = [47347] let s:lib.Codec.decoding_table["143,169"] = [47348] let s:lib.Codec.decoding_table["143,170"] = [47349] let s:lib.Codec.decoding_table["143,171"] = [47350] let s:lib.Codec.decoding_table["143,172"] = [47351] let s:lib.Codec.decoding_table["143,173"] = [47354] let s:lib.Codec.decoding_table["143,174"] = [47356] let s:lib.Codec.decoding_table["143,175"] = [47358] let s:lib.Codec.decoding_table["143,176"] = [47359] let s:lib.Codec.decoding_table["143,177"] = [47360] let s:lib.Codec.decoding_table["143,178"] = [47361] let s:lib.Codec.decoding_table["143,179"] = [47362] let s:lib.Codec.decoding_table["143,180"] = [47363] let s:lib.Codec.decoding_table["143,181"] = [47365] let s:lib.Codec.decoding_table["143,182"] = [47366] let s:lib.Codec.decoding_table["143,183"] = [47367] let s:lib.Codec.decoding_table["143,184"] = [47368] let s:lib.Codec.decoding_table["143,185"] = [47369] let s:lib.Codec.decoding_table["143,186"] = [47370] let s:lib.Codec.decoding_table["143,187"] = [47371] let s:lib.Codec.decoding_table["143,188"] = [47372] let s:lib.Codec.decoding_table["143,189"] = [47373] let s:lib.Codec.decoding_table["143,190"] = [47374] let s:lib.Codec.decoding_table["143,191"] = [47375] let s:lib.Codec.decoding_table["143,192"] = [47376] let s:lib.Codec.decoding_table["143,193"] = [47377] let s:lib.Codec.decoding_table["143,194"] = [47378] let s:lib.Codec.decoding_table["143,195"] = [47379] let s:lib.Codec.decoding_table["143,196"] = [47380] let s:lib.Codec.decoding_table["143,197"] = [47381] let s:lib.Codec.decoding_table["143,198"] = [47382] let s:lib.Codec.decoding_table["143,199"] = [47383] let s:lib.Codec.decoding_table["143,200"] = [47385] let s:lib.Codec.decoding_table["143,201"] = [47386] let s:lib.Codec.decoding_table["143,202"] = [47387] let s:lib.Codec.decoding_table["143,203"] = [47388] let s:lib.Codec.decoding_table["143,204"] = [47389] let s:lib.Codec.decoding_table["143,205"] = [47390] let s:lib.Codec.decoding_table["143,206"] = [47391] let s:lib.Codec.decoding_table["143,207"] = [47393] let s:lib.Codec.decoding_table["143,208"] = [47394] let s:lib.Codec.decoding_table["143,209"] = [47395] let s:lib.Codec.decoding_table["143,210"] = [47396] let s:lib.Codec.decoding_table["143,211"] = [47397] let s:lib.Codec.decoding_table["143,212"] = [47398] let s:lib.Codec.decoding_table["143,213"] = [47399] let s:lib.Codec.decoding_table["143,214"] = [47400] let s:lib.Codec.decoding_table["143,215"] = [47401] let s:lib.Codec.decoding_table["143,216"] = [47402] let s:lib.Codec.decoding_table["143,217"] = [47403] let s:lib.Codec.decoding_table["143,218"] = [47404] let s:lib.Codec.decoding_table["143,219"] = [47405] let s:lib.Codec.decoding_table["143,220"] = [47406] let s:lib.Codec.decoding_table["143,221"] = [47407] let s:lib.Codec.decoding_table["143,222"] = [47408] let s:lib.Codec.decoding_table["143,223"] = [47409] let s:lib.Codec.decoding_table["143,224"] = [47410] let s:lib.Codec.decoding_table["143,225"] = [47411] let s:lib.Codec.decoding_table["143,226"] = [47412] let s:lib.Codec.decoding_table["143,227"] = [47413] let s:lib.Codec.decoding_table["143,228"] = [47414] let s:lib.Codec.decoding_table["143,229"] = [47415] let s:lib.Codec.decoding_table["143,230"] = [47416] let s:lib.Codec.decoding_table["143,231"] = [47417] let s:lib.Codec.decoding_table["143,232"] = [47418] let s:lib.Codec.decoding_table["143,233"] = [47419] let s:lib.Codec.decoding_table["143,234"] = [47422] let s:lib.Codec.decoding_table["143,235"] = [47423] let s:lib.Codec.decoding_table["143,236"] = [47425] let s:lib.Codec.decoding_table["143,237"] = [47426] let s:lib.Codec.decoding_table["143,238"] = [47427] let s:lib.Codec.decoding_table["143,239"] = [47429] let s:lib.Codec.decoding_table["143,240"] = [47430] let s:lib.Codec.decoding_table["143,241"] = [47431] let s:lib.Codec.decoding_table["143,242"] = [47432] let s:lib.Codec.decoding_table["143,243"] = [47433] let s:lib.Codec.decoding_table["143,244"] = [47434] let s:lib.Codec.decoding_table["143,245"] = [47435] let s:lib.Codec.decoding_table["143,246"] = [47437] let s:lib.Codec.decoding_table["143,247"] = [47438] let s:lib.Codec.decoding_table["143,248"] = [47440] let s:lib.Codec.decoding_table["143,249"] = [47442] let s:lib.Codec.decoding_table["143,250"] = [47443] let s:lib.Codec.decoding_table["143,251"] = [47444] let s:lib.Codec.decoding_table["143,252"] = [47445] let s:lib.Codec.decoding_table["143,253"] = [47446] let s:lib.Codec.decoding_table["143,254"] = [47447] let s:lib.Codec.decoding_table["144,65"] = [47450] let s:lib.Codec.decoding_table["144,66"] = [47451] let s:lib.Codec.decoding_table["144,67"] = [47453] let s:lib.Codec.decoding_table["144,68"] = [47454] let s:lib.Codec.decoding_table["144,69"] = [47455] let s:lib.Codec.decoding_table["144,70"] = [47457] let s:lib.Codec.decoding_table["144,71"] = [47458] let s:lib.Codec.decoding_table["144,72"] = [47459] let s:lib.Codec.decoding_table["144,73"] = [47460] let s:lib.Codec.decoding_table["144,74"] = [47461] let s:lib.Codec.decoding_table["144,75"] = [47462] let s:lib.Codec.decoding_table["144,76"] = [47463] let s:lib.Codec.decoding_table["144,77"] = [47466] let s:lib.Codec.decoding_table["144,78"] = [47468] let s:lib.Codec.decoding_table["144,79"] = [47470] let s:lib.Codec.decoding_table["144,80"] = [47471] let s:lib.Codec.decoding_table["144,81"] = [47472] let s:lib.Codec.decoding_table["144,82"] = [47473] let s:lib.Codec.decoding_table["144,83"] = [47474] let s:lib.Codec.decoding_table["144,84"] = [47475] let s:lib.Codec.decoding_table["144,85"] = [47478] let s:lib.Codec.decoding_table["144,86"] = [47479] let s:lib.Codec.decoding_table["144,87"] = [47481] let s:lib.Codec.decoding_table["144,88"] = [47482] let s:lib.Codec.decoding_table["144,89"] = [47483] let s:lib.Codec.decoding_table["144,90"] = [47485] let s:lib.Codec.decoding_table["144,97"] = [47486] let s:lib.Codec.decoding_table["144,98"] = [47487] let s:lib.Codec.decoding_table["144,99"] = [47488] let s:lib.Codec.decoding_table["144,100"] = [47489] let s:lib.Codec.decoding_table["144,101"] = [47490] let s:lib.Codec.decoding_table["144,102"] = [47491] let s:lib.Codec.decoding_table["144,103"] = [47494] let s:lib.Codec.decoding_table["144,104"] = [47496] let s:lib.Codec.decoding_table["144,105"] = [47499] let s:lib.Codec.decoding_table["144,106"] = [47500] let s:lib.Codec.decoding_table["144,107"] = [47503] let s:lib.Codec.decoding_table["144,108"] = [47504] let s:lib.Codec.decoding_table["144,109"] = [47505] let s:lib.Codec.decoding_table["144,110"] = [47506] let s:lib.Codec.decoding_table["144,111"] = [47507] let s:lib.Codec.decoding_table["144,112"] = [47508] let s:lib.Codec.decoding_table["144,113"] = [47509] let s:lib.Codec.decoding_table["144,114"] = [47510] let s:lib.Codec.decoding_table["144,115"] = [47511] let s:lib.Codec.decoding_table["144,116"] = [47512] let s:lib.Codec.decoding_table["144,117"] = [47513] let s:lib.Codec.decoding_table["144,118"] = [47514] let s:lib.Codec.decoding_table["144,119"] = [47515] let s:lib.Codec.decoding_table["144,120"] = [47516] let s:lib.Codec.decoding_table["144,121"] = [47517] let s:lib.Codec.decoding_table["144,122"] = [47518] let s:lib.Codec.decoding_table["144,129"] = [47519] let s:lib.Codec.decoding_table["144,130"] = [47520] let s:lib.Codec.decoding_table["144,131"] = [47521] let s:lib.Codec.decoding_table["144,132"] = [47522] let s:lib.Codec.decoding_table["144,133"] = [47523] let s:lib.Codec.decoding_table["144,134"] = [47524] let s:lib.Codec.decoding_table["144,135"] = [47525] let s:lib.Codec.decoding_table["144,136"] = [47526] let s:lib.Codec.decoding_table["144,137"] = [47527] let s:lib.Codec.decoding_table["144,138"] = [47528] let s:lib.Codec.decoding_table["144,139"] = [47529] let s:lib.Codec.decoding_table["144,140"] = [47530] let s:lib.Codec.decoding_table["144,141"] = [47531] let s:lib.Codec.decoding_table["144,142"] = [47534] let s:lib.Codec.decoding_table["144,143"] = [47535] let s:lib.Codec.decoding_table["144,144"] = [47537] let s:lib.Codec.decoding_table["144,145"] = [47538] let s:lib.Codec.decoding_table["144,146"] = [47539] let s:lib.Codec.decoding_table["144,147"] = [47541] let s:lib.Codec.decoding_table["144,148"] = [47542] let s:lib.Codec.decoding_table["144,149"] = [47543] let s:lib.Codec.decoding_table["144,150"] = [47544] let s:lib.Codec.decoding_table["144,151"] = [47545] let s:lib.Codec.decoding_table["144,152"] = [47546] let s:lib.Codec.decoding_table["144,153"] = [47547] let s:lib.Codec.decoding_table["144,154"] = [47550] let s:lib.Codec.decoding_table["144,155"] = [47552] let s:lib.Codec.decoding_table["144,156"] = [47554] let s:lib.Codec.decoding_table["144,157"] = [47555] let s:lib.Codec.decoding_table["144,158"] = [47556] let s:lib.Codec.decoding_table["144,159"] = [47557] let s:lib.Codec.decoding_table["144,160"] = [47558] let s:lib.Codec.decoding_table["144,161"] = [47559] let s:lib.Codec.decoding_table["144,162"] = [47562] let s:lib.Codec.decoding_table["144,163"] = [47563] let s:lib.Codec.decoding_table["144,164"] = [47565] let s:lib.Codec.decoding_table["144,165"] = [47571] let s:lib.Codec.decoding_table["144,166"] = [47572] let s:lib.Codec.decoding_table["144,167"] = [47573] let s:lib.Codec.decoding_table["144,168"] = [47574] let s:lib.Codec.decoding_table["144,169"] = [47575] let s:lib.Codec.decoding_table["144,170"] = [47578] let s:lib.Codec.decoding_table["144,171"] = [47580] let s:lib.Codec.decoding_table["144,172"] = [47583] let s:lib.Codec.decoding_table["144,173"] = [47584] let s:lib.Codec.decoding_table["144,174"] = [47586] let s:lib.Codec.decoding_table["144,175"] = [47590] let s:lib.Codec.decoding_table["144,176"] = [47591] let s:lib.Codec.decoding_table["144,177"] = [47593] let s:lib.Codec.decoding_table["144,178"] = [47594] let s:lib.Codec.decoding_table["144,179"] = [47595] let s:lib.Codec.decoding_table["144,180"] = [47597] let s:lib.Codec.decoding_table["144,181"] = [47598] let s:lib.Codec.decoding_table["144,182"] = [47599] let s:lib.Codec.decoding_table["144,183"] = [47600] let s:lib.Codec.decoding_table["144,184"] = [47601] let s:lib.Codec.decoding_table["144,185"] = [47602] let s:lib.Codec.decoding_table["144,186"] = [47603] let s:lib.Codec.decoding_table["144,187"] = [47606] let s:lib.Codec.decoding_table["144,188"] = [47611] let s:lib.Codec.decoding_table["144,189"] = [47612] let s:lib.Codec.decoding_table["144,190"] = [47613] let s:lib.Codec.decoding_table["144,191"] = [47614] let s:lib.Codec.decoding_table["144,192"] = [47615] let s:lib.Codec.decoding_table["144,193"] = [47618] let s:lib.Codec.decoding_table["144,194"] = [47619] let s:lib.Codec.decoding_table["144,195"] = [47620] let s:lib.Codec.decoding_table["144,196"] = [47621] let s:lib.Codec.decoding_table["144,197"] = [47622] let s:lib.Codec.decoding_table["144,198"] = [47623] let s:lib.Codec.decoding_table["144,199"] = [47625] let s:lib.Codec.decoding_table["144,200"] = [47626] let s:lib.Codec.decoding_table["144,201"] = [47627] let s:lib.Codec.decoding_table["144,202"] = [47628] let s:lib.Codec.decoding_table["144,203"] = [47629] let s:lib.Codec.decoding_table["144,204"] = [47630] let s:lib.Codec.decoding_table["144,205"] = [47631] let s:lib.Codec.decoding_table["144,206"] = [47632] let s:lib.Codec.decoding_table["144,207"] = [47633] let s:lib.Codec.decoding_table["144,208"] = [47634] let s:lib.Codec.decoding_table["144,209"] = [47635] let s:lib.Codec.decoding_table["144,210"] = [47636] let s:lib.Codec.decoding_table["144,211"] = [47638] let s:lib.Codec.decoding_table["144,212"] = [47639] let s:lib.Codec.decoding_table["144,213"] = [47640] let s:lib.Codec.decoding_table["144,214"] = [47641] let s:lib.Codec.decoding_table["144,215"] = [47642] let s:lib.Codec.decoding_table["144,216"] = [47643] let s:lib.Codec.decoding_table["144,217"] = [47644] let s:lib.Codec.decoding_table["144,218"] = [47645] let s:lib.Codec.decoding_table["144,219"] = [47646] let s:lib.Codec.decoding_table["144,220"] = [47647] let s:lib.Codec.decoding_table["144,221"] = [47648] let s:lib.Codec.decoding_table["144,222"] = [47649] let s:lib.Codec.decoding_table["144,223"] = [47650] let s:lib.Codec.decoding_table["144,224"] = [47651] let s:lib.Codec.decoding_table["144,225"] = [47652] let s:lib.Codec.decoding_table["144,226"] = [47653] let s:lib.Codec.decoding_table["144,227"] = [47654] let s:lib.Codec.decoding_table["144,228"] = [47655] let s:lib.Codec.decoding_table["144,229"] = [47656] let s:lib.Codec.decoding_table["144,230"] = [47657] let s:lib.Codec.decoding_table["144,231"] = [47658] let s:lib.Codec.decoding_table["144,232"] = [47659] let s:lib.Codec.decoding_table["144,233"] = [47660] let s:lib.Codec.decoding_table["144,234"] = [47661] let s:lib.Codec.decoding_table["144,235"] = [47662] let s:lib.Codec.decoding_table["144,236"] = [47663] let s:lib.Codec.decoding_table["144,237"] = [47664] let s:lib.Codec.decoding_table["144,238"] = [47665] let s:lib.Codec.decoding_table["144,239"] = [47666] let s:lib.Codec.decoding_table["144,240"] = [47667] let s:lib.Codec.decoding_table["144,241"] = [47668] let s:lib.Codec.decoding_table["144,242"] = [47669] let s:lib.Codec.decoding_table["144,243"] = [47670] let s:lib.Codec.decoding_table["144,244"] = [47671] let s:lib.Codec.decoding_table["144,245"] = [47674] let s:lib.Codec.decoding_table["144,246"] = [47675] let s:lib.Codec.decoding_table["144,247"] = [47677] let s:lib.Codec.decoding_table["144,248"] = [47678] let s:lib.Codec.decoding_table["144,249"] = [47679] let s:lib.Codec.decoding_table["144,250"] = [47681] let s:lib.Codec.decoding_table["144,251"] = [47683] let s:lib.Codec.decoding_table["144,252"] = [47684] let s:lib.Codec.decoding_table["144,253"] = [47685] let s:lib.Codec.decoding_table["144,254"] = [47686] let s:lib.Codec.decoding_table["145,65"] = [47687] let s:lib.Codec.decoding_table["145,66"] = [47690] let s:lib.Codec.decoding_table["145,67"] = [47692] let s:lib.Codec.decoding_table["145,68"] = [47695] let s:lib.Codec.decoding_table["145,69"] = [47696] let s:lib.Codec.decoding_table["145,70"] = [47697] let s:lib.Codec.decoding_table["145,71"] = [47698] let s:lib.Codec.decoding_table["145,72"] = [47702] let s:lib.Codec.decoding_table["145,73"] = [47703] let s:lib.Codec.decoding_table["145,74"] = [47705] let s:lib.Codec.decoding_table["145,75"] = [47706] let s:lib.Codec.decoding_table["145,76"] = [47707] let s:lib.Codec.decoding_table["145,77"] = [47709] let s:lib.Codec.decoding_table["145,78"] = [47710] let s:lib.Codec.decoding_table["145,79"] = [47711] let s:lib.Codec.decoding_table["145,80"] = [47712] let s:lib.Codec.decoding_table["145,81"] = [47713] let s:lib.Codec.decoding_table["145,82"] = [47714] let s:lib.Codec.decoding_table["145,83"] = [47715] let s:lib.Codec.decoding_table["145,84"] = [47718] let s:lib.Codec.decoding_table["145,85"] = [47722] let s:lib.Codec.decoding_table["145,86"] = [47723] let s:lib.Codec.decoding_table["145,87"] = [47724] let s:lib.Codec.decoding_table["145,88"] = [47725] let s:lib.Codec.decoding_table["145,89"] = [47726] let s:lib.Codec.decoding_table["145,90"] = [47727] let s:lib.Codec.decoding_table["145,97"] = [47730] let s:lib.Codec.decoding_table["145,98"] = [47731] let s:lib.Codec.decoding_table["145,99"] = [47733] let s:lib.Codec.decoding_table["145,100"] = [47734] let s:lib.Codec.decoding_table["145,101"] = [47735] let s:lib.Codec.decoding_table["145,102"] = [47737] let s:lib.Codec.decoding_table["145,103"] = [47738] let s:lib.Codec.decoding_table["145,104"] = [47739] let s:lib.Codec.decoding_table["145,105"] = [47740] let s:lib.Codec.decoding_table["145,106"] = [47741] let s:lib.Codec.decoding_table["145,107"] = [47742] let s:lib.Codec.decoding_table["145,108"] = [47743] let s:lib.Codec.decoding_table["145,109"] = [47744] let s:lib.Codec.decoding_table["145,110"] = [47745] let s:lib.Codec.decoding_table["145,111"] = [47746] let s:lib.Codec.decoding_table["145,112"] = [47750] let s:lib.Codec.decoding_table["145,113"] = [47752] let s:lib.Codec.decoding_table["145,114"] = [47753] let s:lib.Codec.decoding_table["145,115"] = [47754] let s:lib.Codec.decoding_table["145,116"] = [47755] let s:lib.Codec.decoding_table["145,117"] = [47757] let s:lib.Codec.decoding_table["145,118"] = [47758] let s:lib.Codec.decoding_table["145,119"] = [47759] let s:lib.Codec.decoding_table["145,120"] = [47760] let s:lib.Codec.decoding_table["145,121"] = [47761] let s:lib.Codec.decoding_table["145,122"] = [47762] let s:lib.Codec.decoding_table["145,129"] = [47763] let s:lib.Codec.decoding_table["145,130"] = [47764] let s:lib.Codec.decoding_table["145,131"] = [47765] let s:lib.Codec.decoding_table["145,132"] = [47766] let s:lib.Codec.decoding_table["145,133"] = [47767] let s:lib.Codec.decoding_table["145,134"] = [47768] let s:lib.Codec.decoding_table["145,135"] = [47769] let s:lib.Codec.decoding_table["145,136"] = [47770] let s:lib.Codec.decoding_table["145,137"] = [47771] let s:lib.Codec.decoding_table["145,138"] = [47772] let s:lib.Codec.decoding_table["145,139"] = [47773] let s:lib.Codec.decoding_table["145,140"] = [47774] let s:lib.Codec.decoding_table["145,141"] = [47775] let s:lib.Codec.decoding_table["145,142"] = [47776] let s:lib.Codec.decoding_table["145,143"] = [47777] let s:lib.Codec.decoding_table["145,144"] = [47778] let s:lib.Codec.decoding_table["145,145"] = [47779] let s:lib.Codec.decoding_table["145,146"] = [47780] let s:lib.Codec.decoding_table["145,147"] = [47781] let s:lib.Codec.decoding_table["145,148"] = [47782] let s:lib.Codec.decoding_table["145,149"] = [47783] let s:lib.Codec.decoding_table["145,150"] = [47786] let s:lib.Codec.decoding_table["145,151"] = [47789] let s:lib.Codec.decoding_table["145,152"] = [47790] let s:lib.Codec.decoding_table["145,153"] = [47791] let s:lib.Codec.decoding_table["145,154"] = [47793] let s:lib.Codec.decoding_table["145,155"] = [47795] let s:lib.Codec.decoding_table["145,156"] = [47796] let s:lib.Codec.decoding_table["145,157"] = [47797] let s:lib.Codec.decoding_table["145,158"] = [47798] let s:lib.Codec.decoding_table["145,159"] = [47799] let s:lib.Codec.decoding_table["145,160"] = [47802] let s:lib.Codec.decoding_table["145,161"] = [47804] let s:lib.Codec.decoding_table["145,162"] = [47806] let s:lib.Codec.decoding_table["145,163"] = [47807] let s:lib.Codec.decoding_table["145,164"] = [47808] let s:lib.Codec.decoding_table["145,165"] = [47809] let s:lib.Codec.decoding_table["145,166"] = [47810] let s:lib.Codec.decoding_table["145,167"] = [47811] let s:lib.Codec.decoding_table["145,168"] = [47813] let s:lib.Codec.decoding_table["145,169"] = [47814] let s:lib.Codec.decoding_table["145,170"] = [47815] let s:lib.Codec.decoding_table["145,171"] = [47817] let s:lib.Codec.decoding_table["145,172"] = [47818] let s:lib.Codec.decoding_table["145,173"] = [47819] let s:lib.Codec.decoding_table["145,174"] = [47820] let s:lib.Codec.decoding_table["145,175"] = [47821] let s:lib.Codec.decoding_table["145,176"] = [47822] let s:lib.Codec.decoding_table["145,177"] = [47823] let s:lib.Codec.decoding_table["145,178"] = [47824] let s:lib.Codec.decoding_table["145,179"] = [47825] let s:lib.Codec.decoding_table["145,180"] = [47826] let s:lib.Codec.decoding_table["145,181"] = [47827] let s:lib.Codec.decoding_table["145,182"] = [47828] let s:lib.Codec.decoding_table["145,183"] = [47829] let s:lib.Codec.decoding_table["145,184"] = [47830] let s:lib.Codec.decoding_table["145,185"] = [47831] let s:lib.Codec.decoding_table["145,186"] = [47834] let s:lib.Codec.decoding_table["145,187"] = [47835] let s:lib.Codec.decoding_table["145,188"] = [47836] let s:lib.Codec.decoding_table["145,189"] = [47837] let s:lib.Codec.decoding_table["145,190"] = [47838] let s:lib.Codec.decoding_table["145,191"] = [47839] let s:lib.Codec.decoding_table["145,192"] = [47840] let s:lib.Codec.decoding_table["145,193"] = [47841] let s:lib.Codec.decoding_table["145,194"] = [47842] let s:lib.Codec.decoding_table["145,195"] = [47843] let s:lib.Codec.decoding_table["145,196"] = [47844] let s:lib.Codec.decoding_table["145,197"] = [47845] let s:lib.Codec.decoding_table["145,198"] = [47846] let s:lib.Codec.decoding_table["145,199"] = [47847] let s:lib.Codec.decoding_table["145,200"] = [47848] let s:lib.Codec.decoding_table["145,201"] = [47849] let s:lib.Codec.decoding_table["145,202"] = [47850] let s:lib.Codec.decoding_table["145,203"] = [47851] let s:lib.Codec.decoding_table["145,204"] = [47852] let s:lib.Codec.decoding_table["145,205"] = [47853] let s:lib.Codec.decoding_table["145,206"] = [47854] let s:lib.Codec.decoding_table["145,207"] = [47855] let s:lib.Codec.decoding_table["145,208"] = [47856] let s:lib.Codec.decoding_table["145,209"] = [47857] let s:lib.Codec.decoding_table["145,210"] = [47858] let s:lib.Codec.decoding_table["145,211"] = [47859] let s:lib.Codec.decoding_table["145,212"] = [47860] let s:lib.Codec.decoding_table["145,213"] = [47861] let s:lib.Codec.decoding_table["145,214"] = [47862] let s:lib.Codec.decoding_table["145,215"] = [47863] let s:lib.Codec.decoding_table["145,216"] = [47864] let s:lib.Codec.decoding_table["145,217"] = [47865] let s:lib.Codec.decoding_table["145,218"] = [47866] let s:lib.Codec.decoding_table["145,219"] = [47867] let s:lib.Codec.decoding_table["145,220"] = [47869] let s:lib.Codec.decoding_table["145,221"] = [47870] let s:lib.Codec.decoding_table["145,222"] = [47871] let s:lib.Codec.decoding_table["145,223"] = [47873] let s:lib.Codec.decoding_table["145,224"] = [47874] let s:lib.Codec.decoding_table["145,225"] = [47875] let s:lib.Codec.decoding_table["145,226"] = [47877] let s:lib.Codec.decoding_table["145,227"] = [47878] let s:lib.Codec.decoding_table["145,228"] = [47879] let s:lib.Codec.decoding_table["145,229"] = [47880] let s:lib.Codec.decoding_table["145,230"] = [47881] let s:lib.Codec.decoding_table["145,231"] = [47882] let s:lib.Codec.decoding_table["145,232"] = [47883] let s:lib.Codec.decoding_table["145,233"] = [47884] let s:lib.Codec.decoding_table["145,234"] = [47886] let s:lib.Codec.decoding_table["145,235"] = [47888] let s:lib.Codec.decoding_table["145,236"] = [47890] let s:lib.Codec.decoding_table["145,237"] = [47891] let s:lib.Codec.decoding_table["145,238"] = [47892] let s:lib.Codec.decoding_table["145,239"] = [47893] let s:lib.Codec.decoding_table["145,240"] = [47894] let s:lib.Codec.decoding_table["145,241"] = [47895] let s:lib.Codec.decoding_table["145,242"] = [47897] let s:lib.Codec.decoding_table["145,243"] = [47898] let s:lib.Codec.decoding_table["145,244"] = [47899] let s:lib.Codec.decoding_table["145,245"] = [47901] let s:lib.Codec.decoding_table["145,246"] = [47902] let s:lib.Codec.decoding_table["145,247"] = [47903] let s:lib.Codec.decoding_table["145,248"] = [47905] let s:lib.Codec.decoding_table["145,249"] = [47906] let s:lib.Codec.decoding_table["145,250"] = [47907] let s:lib.Codec.decoding_table["145,251"] = [47908] let s:lib.Codec.decoding_table["145,252"] = [47909] let s:lib.Codec.decoding_table["145,253"] = [47910] let s:lib.Codec.decoding_table["145,254"] = [47911] let s:lib.Codec.decoding_table["146,65"] = [47912] let s:lib.Codec.decoding_table["146,66"] = [47914] let s:lib.Codec.decoding_table["146,67"] = [47916] let s:lib.Codec.decoding_table["146,68"] = [47917] let s:lib.Codec.decoding_table["146,69"] = [47918] let s:lib.Codec.decoding_table["146,70"] = [47919] let s:lib.Codec.decoding_table["146,71"] = [47920] let s:lib.Codec.decoding_table["146,72"] = [47921] let s:lib.Codec.decoding_table["146,73"] = [47922] let s:lib.Codec.decoding_table["146,74"] = [47923] let s:lib.Codec.decoding_table["146,75"] = [47927] let s:lib.Codec.decoding_table["146,76"] = [47929] let s:lib.Codec.decoding_table["146,77"] = [47930] let s:lib.Codec.decoding_table["146,78"] = [47935] let s:lib.Codec.decoding_table["146,79"] = [47936] let s:lib.Codec.decoding_table["146,80"] = [47937] let s:lib.Codec.decoding_table["146,81"] = [47938] let s:lib.Codec.decoding_table["146,82"] = [47939] let s:lib.Codec.decoding_table["146,83"] = [47942] let s:lib.Codec.decoding_table["146,84"] = [47944] let s:lib.Codec.decoding_table["146,85"] = [47946] let s:lib.Codec.decoding_table["146,86"] = [47947] let s:lib.Codec.decoding_table["146,87"] = [47948] let s:lib.Codec.decoding_table["146,88"] = [47950] let s:lib.Codec.decoding_table["146,89"] = [47953] let s:lib.Codec.decoding_table["146,90"] = [47954] let s:lib.Codec.decoding_table["146,97"] = [47955] let s:lib.Codec.decoding_table["146,98"] = [47957] let s:lib.Codec.decoding_table["146,99"] = [47958] let s:lib.Codec.decoding_table["146,100"] = [47959] let s:lib.Codec.decoding_table["146,101"] = [47961] let s:lib.Codec.decoding_table["146,102"] = [47962] let s:lib.Codec.decoding_table["146,103"] = [47963] let s:lib.Codec.decoding_table["146,104"] = [47964] let s:lib.Codec.decoding_table["146,105"] = [47965] let s:lib.Codec.decoding_table["146,106"] = [47966] let s:lib.Codec.decoding_table["146,107"] = [47967] let s:lib.Codec.decoding_table["146,108"] = [47968] let s:lib.Codec.decoding_table["146,109"] = [47970] let s:lib.Codec.decoding_table["146,110"] = [47972] let s:lib.Codec.decoding_table["146,111"] = [47973] let s:lib.Codec.decoding_table["146,112"] = [47974] let s:lib.Codec.decoding_table["146,113"] = [47975] let s:lib.Codec.decoding_table["146,114"] = [47976] let s:lib.Codec.decoding_table["146,115"] = [47977] let s:lib.Codec.decoding_table["146,116"] = [47978] let s:lib.Codec.decoding_table["146,117"] = [47979] let s:lib.Codec.decoding_table["146,118"] = [47981] let s:lib.Codec.decoding_table["146,119"] = [47982] let s:lib.Codec.decoding_table["146,120"] = [47983] let s:lib.Codec.decoding_table["146,121"] = [47984] let s:lib.Codec.decoding_table["146,122"] = [47985] let s:lib.Codec.decoding_table["146,129"] = [47986] let s:lib.Codec.decoding_table["146,130"] = [47987] let s:lib.Codec.decoding_table["146,131"] = [47988] let s:lib.Codec.decoding_table["146,132"] = [47989] let s:lib.Codec.decoding_table["146,133"] = [47990] let s:lib.Codec.decoding_table["146,134"] = [47991] let s:lib.Codec.decoding_table["146,135"] = [47992] let s:lib.Codec.decoding_table["146,136"] = [47993] let s:lib.Codec.decoding_table["146,137"] = [47994] let s:lib.Codec.decoding_table["146,138"] = [47995] let s:lib.Codec.decoding_table["146,139"] = [47996] let s:lib.Codec.decoding_table["146,140"] = [47997] let s:lib.Codec.decoding_table["146,141"] = [47998] let s:lib.Codec.decoding_table["146,142"] = [47999] let s:lib.Codec.decoding_table["146,143"] = [48000] let s:lib.Codec.decoding_table["146,144"] = [48001] let s:lib.Codec.decoding_table["146,145"] = [48002] let s:lib.Codec.decoding_table["146,146"] = [48003] let s:lib.Codec.decoding_table["146,147"] = [48004] let s:lib.Codec.decoding_table["146,148"] = [48005] let s:lib.Codec.decoding_table["146,149"] = [48006] let s:lib.Codec.decoding_table["146,150"] = [48007] let s:lib.Codec.decoding_table["146,151"] = [48009] let s:lib.Codec.decoding_table["146,152"] = [48010] let s:lib.Codec.decoding_table["146,153"] = [48011] let s:lib.Codec.decoding_table["146,154"] = [48013] let s:lib.Codec.decoding_table["146,155"] = [48014] let s:lib.Codec.decoding_table["146,156"] = [48015] let s:lib.Codec.decoding_table["146,157"] = [48017] let s:lib.Codec.decoding_table["146,158"] = [48018] let s:lib.Codec.decoding_table["146,159"] = [48019] let s:lib.Codec.decoding_table["146,160"] = [48020] let s:lib.Codec.decoding_table["146,161"] = [48021] let s:lib.Codec.decoding_table["146,162"] = [48022] let s:lib.Codec.decoding_table["146,163"] = [48023] let s:lib.Codec.decoding_table["146,164"] = [48024] let s:lib.Codec.decoding_table["146,165"] = [48025] let s:lib.Codec.decoding_table["146,166"] = [48026] let s:lib.Codec.decoding_table["146,167"] = [48027] let s:lib.Codec.decoding_table["146,168"] = [48028] let s:lib.Codec.decoding_table["146,169"] = [48029] let s:lib.Codec.decoding_table["146,170"] = [48030] let s:lib.Codec.decoding_table["146,171"] = [48031] let s:lib.Codec.decoding_table["146,172"] = [48032] let s:lib.Codec.decoding_table["146,173"] = [48033] let s:lib.Codec.decoding_table["146,174"] = [48034] let s:lib.Codec.decoding_table["146,175"] = [48035] let s:lib.Codec.decoding_table["146,176"] = [48037] let s:lib.Codec.decoding_table["146,177"] = [48038] let s:lib.Codec.decoding_table["146,178"] = [48039] let s:lib.Codec.decoding_table["146,179"] = [48041] let s:lib.Codec.decoding_table["146,180"] = [48042] let s:lib.Codec.decoding_table["146,181"] = [48043] let s:lib.Codec.decoding_table["146,182"] = [48045] let s:lib.Codec.decoding_table["146,183"] = [48046] let s:lib.Codec.decoding_table["146,184"] = [48047] let s:lib.Codec.decoding_table["146,185"] = [48048] let s:lib.Codec.decoding_table["146,186"] = [48049] let s:lib.Codec.decoding_table["146,187"] = [48050] let s:lib.Codec.decoding_table["146,188"] = [48051] let s:lib.Codec.decoding_table["146,189"] = [48053] let s:lib.Codec.decoding_table["146,190"] = [48054] let s:lib.Codec.decoding_table["146,191"] = [48056] let s:lib.Codec.decoding_table["146,192"] = [48057] let s:lib.Codec.decoding_table["146,193"] = [48058] let s:lib.Codec.decoding_table["146,194"] = [48059] let s:lib.Codec.decoding_table["146,195"] = [48060] let s:lib.Codec.decoding_table["146,196"] = [48061] let s:lib.Codec.decoding_table["146,197"] = [48062] let s:lib.Codec.decoding_table["146,198"] = [48063] let s:lib.Codec.decoding_table["146,199"] = [48065] let s:lib.Codec.decoding_table["146,200"] = [48066] let s:lib.Codec.decoding_table["146,201"] = [48067] let s:lib.Codec.decoding_table["146,202"] = [48069] let s:lib.Codec.decoding_table["146,203"] = [48070] let s:lib.Codec.decoding_table["146,204"] = [48071] let s:lib.Codec.decoding_table["146,205"] = [48073] let s:lib.Codec.decoding_table["146,206"] = [48074] let s:lib.Codec.decoding_table["146,207"] = [48075] let s:lib.Codec.decoding_table["146,208"] = [48076] let s:lib.Codec.decoding_table["146,209"] = [48077] let s:lib.Codec.decoding_table["146,210"] = [48078] let s:lib.Codec.decoding_table["146,211"] = [48079] let s:lib.Codec.decoding_table["146,212"] = [48081] let s:lib.Codec.decoding_table["146,213"] = [48082] let s:lib.Codec.decoding_table["146,214"] = [48084] let s:lib.Codec.decoding_table["146,215"] = [48085] let s:lib.Codec.decoding_table["146,216"] = [48086] let s:lib.Codec.decoding_table["146,217"] = [48087] let s:lib.Codec.decoding_table["146,218"] = [48088] let s:lib.Codec.decoding_table["146,219"] = [48089] let s:lib.Codec.decoding_table["146,220"] = [48090] let s:lib.Codec.decoding_table["146,221"] = [48091] let s:lib.Codec.decoding_table["146,222"] = [48092] let s:lib.Codec.decoding_table["146,223"] = [48093] let s:lib.Codec.decoding_table["146,224"] = [48094] let s:lib.Codec.decoding_table["146,225"] = [48095] let s:lib.Codec.decoding_table["146,226"] = [48096] let s:lib.Codec.decoding_table["146,227"] = [48097] let s:lib.Codec.decoding_table["146,228"] = [48098] let s:lib.Codec.decoding_table["146,229"] = [48099] let s:lib.Codec.decoding_table["146,230"] = [48100] let s:lib.Codec.decoding_table["146,231"] = [48101] let s:lib.Codec.decoding_table["146,232"] = [48102] let s:lib.Codec.decoding_table["146,233"] = [48103] let s:lib.Codec.decoding_table["146,234"] = [48104] let s:lib.Codec.decoding_table["146,235"] = [48105] let s:lib.Codec.decoding_table["146,236"] = [48106] let s:lib.Codec.decoding_table["146,237"] = [48107] let s:lib.Codec.decoding_table["146,238"] = [48108] let s:lib.Codec.decoding_table["146,239"] = [48109] let s:lib.Codec.decoding_table["146,240"] = [48110] let s:lib.Codec.decoding_table["146,241"] = [48111] let s:lib.Codec.decoding_table["146,242"] = [48112] let s:lib.Codec.decoding_table["146,243"] = [48113] let s:lib.Codec.decoding_table["146,244"] = [48114] let s:lib.Codec.decoding_table["146,245"] = [48115] let s:lib.Codec.decoding_table["146,246"] = [48116] let s:lib.Codec.decoding_table["146,247"] = [48117] let s:lib.Codec.decoding_table["146,248"] = [48118] let s:lib.Codec.decoding_table["146,249"] = [48119] let s:lib.Codec.decoding_table["146,250"] = [48122] let s:lib.Codec.decoding_table["146,251"] = [48123] let s:lib.Codec.decoding_table["146,252"] = [48125] let s:lib.Codec.decoding_table["146,253"] = [48126] let s:lib.Codec.decoding_table["146,254"] = [48129] let s:lib.Codec.decoding_table["147,65"] = [48131] let s:lib.Codec.decoding_table["147,66"] = [48132] let s:lib.Codec.decoding_table["147,67"] = [48133] let s:lib.Codec.decoding_table["147,68"] = [48134] let s:lib.Codec.decoding_table["147,69"] = [48135] let s:lib.Codec.decoding_table["147,70"] = [48138] let s:lib.Codec.decoding_table["147,71"] = [48142] let s:lib.Codec.decoding_table["147,72"] = [48144] let s:lib.Codec.decoding_table["147,73"] = [48146] let s:lib.Codec.decoding_table["147,74"] = [48147] let s:lib.Codec.decoding_table["147,75"] = [48153] let s:lib.Codec.decoding_table["147,76"] = [48154] let s:lib.Codec.decoding_table["147,77"] = [48160] let s:lib.Codec.decoding_table["147,78"] = [48161] let s:lib.Codec.decoding_table["147,79"] = [48162] let s:lib.Codec.decoding_table["147,80"] = [48163] let s:lib.Codec.decoding_table["147,81"] = [48166] let s:lib.Codec.decoding_table["147,82"] = [48168] let s:lib.Codec.decoding_table["147,83"] = [48170] let s:lib.Codec.decoding_table["147,84"] = [48171] let s:lib.Codec.decoding_table["147,85"] = [48172] let s:lib.Codec.decoding_table["147,86"] = [48174] let s:lib.Codec.decoding_table["147,87"] = [48175] let s:lib.Codec.decoding_table["147,88"] = [48178] let s:lib.Codec.decoding_table["147,89"] = [48179] let s:lib.Codec.decoding_table["147,90"] = [48181] let s:lib.Codec.decoding_table["147,97"] = [48182] let s:lib.Codec.decoding_table["147,98"] = [48183] let s:lib.Codec.decoding_table["147,99"] = [48185] let s:lib.Codec.decoding_table["147,100"] = [48186] let s:lib.Codec.decoding_table["147,101"] = [48187] let s:lib.Codec.decoding_table["147,102"] = [48188] let s:lib.Codec.decoding_table["147,103"] = [48189] let s:lib.Codec.decoding_table["147,104"] = [48190] let s:lib.Codec.decoding_table["147,105"] = [48191] let s:lib.Codec.decoding_table["147,106"] = [48194] let s:lib.Codec.decoding_table["147,107"] = [48198] let s:lib.Codec.decoding_table["147,108"] = [48199] let s:lib.Codec.decoding_table["147,109"] = [48200] let s:lib.Codec.decoding_table["147,110"] = [48202] let s:lib.Codec.decoding_table["147,111"] = [48203] let s:lib.Codec.decoding_table["147,112"] = [48206] let s:lib.Codec.decoding_table["147,113"] = [48207] let s:lib.Codec.decoding_table["147,114"] = [48209] let s:lib.Codec.decoding_table["147,115"] = [48210] let s:lib.Codec.decoding_table["147,116"] = [48211] let s:lib.Codec.decoding_table["147,117"] = [48212] let s:lib.Codec.decoding_table["147,118"] = [48213] let s:lib.Codec.decoding_table["147,119"] = [48214] let s:lib.Codec.decoding_table["147,120"] = [48215] let s:lib.Codec.decoding_table["147,121"] = [48216] let s:lib.Codec.decoding_table["147,122"] = [48217] let s:lib.Codec.decoding_table["147,129"] = [48218] let s:lib.Codec.decoding_table["147,130"] = [48219] let s:lib.Codec.decoding_table["147,131"] = [48220] let s:lib.Codec.decoding_table["147,132"] = [48222] let s:lib.Codec.decoding_table["147,133"] = [48223] let s:lib.Codec.decoding_table["147,134"] = [48224] let s:lib.Codec.decoding_table["147,135"] = [48225] let s:lib.Codec.decoding_table["147,136"] = [48226] let s:lib.Codec.decoding_table["147,137"] = [48227] let s:lib.Codec.decoding_table["147,138"] = [48228] let s:lib.Codec.decoding_table["147,139"] = [48229] let s:lib.Codec.decoding_table["147,140"] = [48230] let s:lib.Codec.decoding_table["147,141"] = [48231] let s:lib.Codec.decoding_table["147,142"] = [48232] let s:lib.Codec.decoding_table["147,143"] = [48233] let s:lib.Codec.decoding_table["147,144"] = [48234] let s:lib.Codec.decoding_table["147,145"] = [48235] let s:lib.Codec.decoding_table["147,146"] = [48236] let s:lib.Codec.decoding_table["147,147"] = [48237] let s:lib.Codec.decoding_table["147,148"] = [48238] let s:lib.Codec.decoding_table["147,149"] = [48239] let s:lib.Codec.decoding_table["147,150"] = [48240] let s:lib.Codec.decoding_table["147,151"] = [48241] let s:lib.Codec.decoding_table["147,152"] = [48242] let s:lib.Codec.decoding_table["147,153"] = [48243] let s:lib.Codec.decoding_table["147,154"] = [48244] let s:lib.Codec.decoding_table["147,155"] = [48245] let s:lib.Codec.decoding_table["147,156"] = [48246] let s:lib.Codec.decoding_table["147,157"] = [48247] let s:lib.Codec.decoding_table["147,158"] = [48248] let s:lib.Codec.decoding_table["147,159"] = [48249] let s:lib.Codec.decoding_table["147,160"] = [48250] let s:lib.Codec.decoding_table["147,161"] = [48251] let s:lib.Codec.decoding_table["147,162"] = [48252] let s:lib.Codec.decoding_table["147,163"] = [48253] let s:lib.Codec.decoding_table["147,164"] = [48254] let s:lib.Codec.decoding_table["147,165"] = [48255] let s:lib.Codec.decoding_table["147,166"] = [48256] let s:lib.Codec.decoding_table["147,167"] = [48257] let s:lib.Codec.decoding_table["147,168"] = [48258] let s:lib.Codec.decoding_table["147,169"] = [48259] let s:lib.Codec.decoding_table["147,170"] = [48262] let s:lib.Codec.decoding_table["147,171"] = [48263] let s:lib.Codec.decoding_table["147,172"] = [48265] let s:lib.Codec.decoding_table["147,173"] = [48266] let s:lib.Codec.decoding_table["147,174"] = [48269] let s:lib.Codec.decoding_table["147,175"] = [48271] let s:lib.Codec.decoding_table["147,176"] = [48272] let s:lib.Codec.decoding_table["147,177"] = [48273] let s:lib.Codec.decoding_table["147,178"] = [48274] let s:lib.Codec.decoding_table["147,179"] = [48275] let s:lib.Codec.decoding_table["147,180"] = [48278] let s:lib.Codec.decoding_table["147,181"] = [48280] let s:lib.Codec.decoding_table["147,182"] = [48283] let s:lib.Codec.decoding_table["147,183"] = [48284] let s:lib.Codec.decoding_table["147,184"] = [48285] let s:lib.Codec.decoding_table["147,185"] = [48286] let s:lib.Codec.decoding_table["147,186"] = [48287] let s:lib.Codec.decoding_table["147,187"] = [48290] let s:lib.Codec.decoding_table["147,188"] = [48291] let s:lib.Codec.decoding_table["147,189"] = [48293] let s:lib.Codec.decoding_table["147,190"] = [48294] let s:lib.Codec.decoding_table["147,191"] = [48297] let s:lib.Codec.decoding_table["147,192"] = [48298] let s:lib.Codec.decoding_table["147,193"] = [48299] let s:lib.Codec.decoding_table["147,194"] = [48300] let s:lib.Codec.decoding_table["147,195"] = [48301] let s:lib.Codec.decoding_table["147,196"] = [48302] let s:lib.Codec.decoding_table["147,197"] = [48303] let s:lib.Codec.decoding_table["147,198"] = [48306] let s:lib.Codec.decoding_table["147,199"] = [48310] let s:lib.Codec.decoding_table["147,200"] = [48311] let s:lib.Codec.decoding_table["147,201"] = [48312] let s:lib.Codec.decoding_table["147,202"] = [48313] let s:lib.Codec.decoding_table["147,203"] = [48314] let s:lib.Codec.decoding_table["147,204"] = [48315] let s:lib.Codec.decoding_table["147,205"] = [48318] let s:lib.Codec.decoding_table["147,206"] = [48319] let s:lib.Codec.decoding_table["147,207"] = [48321] let s:lib.Codec.decoding_table["147,208"] = [48322] let s:lib.Codec.decoding_table["147,209"] = [48323] let s:lib.Codec.decoding_table["147,210"] = [48325] let s:lib.Codec.decoding_table["147,211"] = [48326] let s:lib.Codec.decoding_table["147,212"] = [48327] let s:lib.Codec.decoding_table["147,213"] = [48328] let s:lib.Codec.decoding_table["147,214"] = [48329] let s:lib.Codec.decoding_table["147,215"] = [48330] let s:lib.Codec.decoding_table["147,216"] = [48331] let s:lib.Codec.decoding_table["147,217"] = [48332] let s:lib.Codec.decoding_table["147,218"] = [48334] let s:lib.Codec.decoding_table["147,219"] = [48338] let s:lib.Codec.decoding_table["147,220"] = [48339] let s:lib.Codec.decoding_table["147,221"] = [48340] let s:lib.Codec.decoding_table["147,222"] = [48342] let s:lib.Codec.decoding_table["147,223"] = [48343] let s:lib.Codec.decoding_table["147,224"] = [48345] let s:lib.Codec.decoding_table["147,225"] = [48346] let s:lib.Codec.decoding_table["147,226"] = [48347] let s:lib.Codec.decoding_table["147,227"] = [48349] let s:lib.Codec.decoding_table["147,228"] = [48350] let s:lib.Codec.decoding_table["147,229"] = [48351] let s:lib.Codec.decoding_table["147,230"] = [48352] let s:lib.Codec.decoding_table["147,231"] = [48353] let s:lib.Codec.decoding_table["147,232"] = [48354] let s:lib.Codec.decoding_table["147,233"] = [48355] let s:lib.Codec.decoding_table["147,234"] = [48356] let s:lib.Codec.decoding_table["147,235"] = [48357] let s:lib.Codec.decoding_table["147,236"] = [48358] let s:lib.Codec.decoding_table["147,237"] = [48359] let s:lib.Codec.decoding_table["147,238"] = [48360] let s:lib.Codec.decoding_table["147,239"] = [48361] let s:lib.Codec.decoding_table["147,240"] = [48362] let s:lib.Codec.decoding_table["147,241"] = [48363] let s:lib.Codec.decoding_table["147,242"] = [48364] let s:lib.Codec.decoding_table["147,243"] = [48365] let s:lib.Codec.decoding_table["147,244"] = [48366] let s:lib.Codec.decoding_table["147,245"] = [48367] let s:lib.Codec.decoding_table["147,246"] = [48368] let s:lib.Codec.decoding_table["147,247"] = [48369] let s:lib.Codec.decoding_table["147,248"] = [48370] let s:lib.Codec.decoding_table["147,249"] = [48371] let s:lib.Codec.decoding_table["147,250"] = [48375] let s:lib.Codec.decoding_table["147,251"] = [48377] let s:lib.Codec.decoding_table["147,252"] = [48378] let s:lib.Codec.decoding_table["147,253"] = [48379] let s:lib.Codec.decoding_table["147,254"] = [48381] let s:lib.Codec.decoding_table["148,65"] = [48382] let s:lib.Codec.decoding_table["148,66"] = [48383] let s:lib.Codec.decoding_table["148,67"] = [48384] let s:lib.Codec.decoding_table["148,68"] = [48385] let s:lib.Codec.decoding_table["148,69"] = [48386] let s:lib.Codec.decoding_table["148,70"] = [48387] let s:lib.Codec.decoding_table["148,71"] = [48390] let s:lib.Codec.decoding_table["148,72"] = [48392] let s:lib.Codec.decoding_table["148,73"] = [48394] let s:lib.Codec.decoding_table["148,74"] = [48395] let s:lib.Codec.decoding_table["148,75"] = [48396] let s:lib.Codec.decoding_table["148,76"] = [48397] let s:lib.Codec.decoding_table["148,77"] = [48398] let s:lib.Codec.decoding_table["148,78"] = [48399] let s:lib.Codec.decoding_table["148,79"] = [48401] let s:lib.Codec.decoding_table["148,80"] = [48402] let s:lib.Codec.decoding_table["148,81"] = [48403] let s:lib.Codec.decoding_table["148,82"] = [48405] let s:lib.Codec.decoding_table["148,83"] = [48406] let s:lib.Codec.decoding_table["148,84"] = [48407] let s:lib.Codec.decoding_table["148,85"] = [48408] let s:lib.Codec.decoding_table["148,86"] = [48409] let s:lib.Codec.decoding_table["148,87"] = [48410] let s:lib.Codec.decoding_table["148,88"] = [48411] let s:lib.Codec.decoding_table["148,89"] = [48412] let s:lib.Codec.decoding_table["148,90"] = [48413] let s:lib.Codec.decoding_table["148,97"] = [48414] let s:lib.Codec.decoding_table["148,98"] = [48415] let s:lib.Codec.decoding_table["148,99"] = [48416] let s:lib.Codec.decoding_table["148,100"] = [48417] let s:lib.Codec.decoding_table["148,101"] = [48418] let s:lib.Codec.decoding_table["148,102"] = [48419] let s:lib.Codec.decoding_table["148,103"] = [48421] let s:lib.Codec.decoding_table["148,104"] = [48422] let s:lib.Codec.decoding_table["148,105"] = [48423] let s:lib.Codec.decoding_table["148,106"] = [48424] let s:lib.Codec.decoding_table["148,107"] = [48425] let s:lib.Codec.decoding_table["148,108"] = [48426] let s:lib.Codec.decoding_table["148,109"] = [48427] let s:lib.Codec.decoding_table["148,110"] = [48429] let s:lib.Codec.decoding_table["148,111"] = [48430] let s:lib.Codec.decoding_table["148,112"] = [48431] let s:lib.Codec.decoding_table["148,113"] = [48432] let s:lib.Codec.decoding_table["148,114"] = [48433] let s:lib.Codec.decoding_table["148,115"] = [48434] let s:lib.Codec.decoding_table["148,116"] = [48435] let s:lib.Codec.decoding_table["148,117"] = [48436] let s:lib.Codec.decoding_table["148,118"] = [48437] let s:lib.Codec.decoding_table["148,119"] = [48438] let s:lib.Codec.decoding_table["148,120"] = [48439] let s:lib.Codec.decoding_table["148,121"] = [48440] let s:lib.Codec.decoding_table["148,122"] = [48441] let s:lib.Codec.decoding_table["148,129"] = [48442] let s:lib.Codec.decoding_table["148,130"] = [48443] let s:lib.Codec.decoding_table["148,131"] = [48444] let s:lib.Codec.decoding_table["148,132"] = [48445] let s:lib.Codec.decoding_table["148,133"] = [48446] let s:lib.Codec.decoding_table["148,134"] = [48447] let s:lib.Codec.decoding_table["148,135"] = [48449] let s:lib.Codec.decoding_table["148,136"] = [48450] let s:lib.Codec.decoding_table["148,137"] = [48451] let s:lib.Codec.decoding_table["148,138"] = [48452] let s:lib.Codec.decoding_table["148,139"] = [48453] let s:lib.Codec.decoding_table["148,140"] = [48454] let s:lib.Codec.decoding_table["148,141"] = [48455] let s:lib.Codec.decoding_table["148,142"] = [48458] let s:lib.Codec.decoding_table["148,143"] = [48459] let s:lib.Codec.decoding_table["148,144"] = [48461] let s:lib.Codec.decoding_table["148,145"] = [48462] let s:lib.Codec.decoding_table["148,146"] = [48463] let s:lib.Codec.decoding_table["148,147"] = [48465] let s:lib.Codec.decoding_table["148,148"] = [48466] let s:lib.Codec.decoding_table["148,149"] = [48467] let s:lib.Codec.decoding_table["148,150"] = [48468] let s:lib.Codec.decoding_table["148,151"] = [48469] let s:lib.Codec.decoding_table["148,152"] = [48470] let s:lib.Codec.decoding_table["148,153"] = [48471] let s:lib.Codec.decoding_table["148,154"] = [48474] let s:lib.Codec.decoding_table["148,155"] = [48475] let s:lib.Codec.decoding_table["148,156"] = [48476] let s:lib.Codec.decoding_table["148,157"] = [48477] let s:lib.Codec.decoding_table["148,158"] = [48478] let s:lib.Codec.decoding_table["148,159"] = [48479] let s:lib.Codec.decoding_table["148,160"] = [48480] let s:lib.Codec.decoding_table["148,161"] = [48481] let s:lib.Codec.decoding_table["148,162"] = [48482] let s:lib.Codec.decoding_table["148,163"] = [48483] let s:lib.Codec.decoding_table["148,164"] = [48485] let s:lib.Codec.decoding_table["148,165"] = [48486] let s:lib.Codec.decoding_table["148,166"] = [48487] let s:lib.Codec.decoding_table["148,167"] = [48489] let s:lib.Codec.decoding_table["148,168"] = [48490] let s:lib.Codec.decoding_table["148,169"] = [48491] let s:lib.Codec.decoding_table["148,170"] = [48492] let s:lib.Codec.decoding_table["148,171"] = [48493] let s:lib.Codec.decoding_table["148,172"] = [48494] let s:lib.Codec.decoding_table["148,173"] = [48495] let s:lib.Codec.decoding_table["148,174"] = [48496] let s:lib.Codec.decoding_table["148,175"] = [48497] let s:lib.Codec.decoding_table["148,176"] = [48498] let s:lib.Codec.decoding_table["148,177"] = [48499] let s:lib.Codec.decoding_table["148,178"] = [48500] let s:lib.Codec.decoding_table["148,179"] = [48501] let s:lib.Codec.decoding_table["148,180"] = [48502] let s:lib.Codec.decoding_table["148,181"] = [48503] let s:lib.Codec.decoding_table["148,182"] = [48504] let s:lib.Codec.decoding_table["148,183"] = [48505] let s:lib.Codec.decoding_table["148,184"] = [48506] let s:lib.Codec.decoding_table["148,185"] = [48507] let s:lib.Codec.decoding_table["148,186"] = [48508] let s:lib.Codec.decoding_table["148,187"] = [48509] let s:lib.Codec.decoding_table["148,188"] = [48510] let s:lib.Codec.decoding_table["148,189"] = [48511] let s:lib.Codec.decoding_table["148,190"] = [48514] let s:lib.Codec.decoding_table["148,191"] = [48515] let s:lib.Codec.decoding_table["148,192"] = [48517] let s:lib.Codec.decoding_table["148,193"] = [48518] let s:lib.Codec.decoding_table["148,194"] = [48523] let s:lib.Codec.decoding_table["148,195"] = [48524] let s:lib.Codec.decoding_table["148,196"] = [48525] let s:lib.Codec.decoding_table["148,197"] = [48526] let s:lib.Codec.decoding_table["148,198"] = [48527] let s:lib.Codec.decoding_table["148,199"] = [48530] let s:lib.Codec.decoding_table["148,200"] = [48532] let s:lib.Codec.decoding_table["148,201"] = [48534] let s:lib.Codec.decoding_table["148,202"] = [48535] let s:lib.Codec.decoding_table["148,203"] = [48536] let s:lib.Codec.decoding_table["148,204"] = [48539] let s:lib.Codec.decoding_table["148,205"] = [48541] let s:lib.Codec.decoding_table["148,206"] = [48542] let s:lib.Codec.decoding_table["148,207"] = [48543] let s:lib.Codec.decoding_table["148,208"] = [48544] let s:lib.Codec.decoding_table["148,209"] = [48545] let s:lib.Codec.decoding_table["148,210"] = [48546] let s:lib.Codec.decoding_table["148,211"] = [48547] let s:lib.Codec.decoding_table["148,212"] = [48549] let s:lib.Codec.decoding_table["148,213"] = [48550] let s:lib.Codec.decoding_table["148,214"] = [48551] let s:lib.Codec.decoding_table["148,215"] = [48552] let s:lib.Codec.decoding_table["148,216"] = [48553] let s:lib.Codec.decoding_table["148,217"] = [48554] let s:lib.Codec.decoding_table["148,218"] = [48555] let s:lib.Codec.decoding_table["148,219"] = [48556] let s:lib.Codec.decoding_table["148,220"] = [48557] let s:lib.Codec.decoding_table["148,221"] = [48558] let s:lib.Codec.decoding_table["148,222"] = [48559] let s:lib.Codec.decoding_table["148,223"] = [48561] let s:lib.Codec.decoding_table["148,224"] = [48562] let s:lib.Codec.decoding_table["148,225"] = [48563] let s:lib.Codec.decoding_table["148,226"] = [48564] let s:lib.Codec.decoding_table["148,227"] = [48565] let s:lib.Codec.decoding_table["148,228"] = [48566] let s:lib.Codec.decoding_table["148,229"] = [48567] let s:lib.Codec.decoding_table["148,230"] = [48569] let s:lib.Codec.decoding_table["148,231"] = [48570] let s:lib.Codec.decoding_table["148,232"] = [48571] let s:lib.Codec.decoding_table["148,233"] = [48572] let s:lib.Codec.decoding_table["148,234"] = [48573] let s:lib.Codec.decoding_table["148,235"] = [48574] let s:lib.Codec.decoding_table["148,236"] = [48575] let s:lib.Codec.decoding_table["148,237"] = [48576] let s:lib.Codec.decoding_table["148,238"] = [48577] let s:lib.Codec.decoding_table["148,239"] = [48578] let s:lib.Codec.decoding_table["148,240"] = [48579] let s:lib.Codec.decoding_table["148,241"] = [48580] let s:lib.Codec.decoding_table["148,242"] = [48581] let s:lib.Codec.decoding_table["148,243"] = [48582] let s:lib.Codec.decoding_table["148,244"] = [48583] let s:lib.Codec.decoding_table["148,245"] = [48584] let s:lib.Codec.decoding_table["148,246"] = [48585] let s:lib.Codec.decoding_table["148,247"] = [48586] let s:lib.Codec.decoding_table["148,248"] = [48587] let s:lib.Codec.decoding_table["148,249"] = [48588] let s:lib.Codec.decoding_table["148,250"] = [48589] let s:lib.Codec.decoding_table["148,251"] = [48590] let s:lib.Codec.decoding_table["148,252"] = [48591] let s:lib.Codec.decoding_table["148,253"] = [48592] let s:lib.Codec.decoding_table["148,254"] = [48593] let s:lib.Codec.decoding_table["149,65"] = [48594] let s:lib.Codec.decoding_table["149,66"] = [48595] let s:lib.Codec.decoding_table["149,67"] = [48598] let s:lib.Codec.decoding_table["149,68"] = [48599] let s:lib.Codec.decoding_table["149,69"] = [48601] let s:lib.Codec.decoding_table["149,70"] = [48602] let s:lib.Codec.decoding_table["149,71"] = [48603] let s:lib.Codec.decoding_table["149,72"] = [48605] let s:lib.Codec.decoding_table["149,73"] = [48606] let s:lib.Codec.decoding_table["149,74"] = [48607] let s:lib.Codec.decoding_table["149,75"] = [48608] let s:lib.Codec.decoding_table["149,76"] = [48609] let s:lib.Codec.decoding_table["149,77"] = [48610] let s:lib.Codec.decoding_table["149,78"] = [48611] let s:lib.Codec.decoding_table["149,79"] = [48612] let s:lib.Codec.decoding_table["149,80"] = [48613] let s:lib.Codec.decoding_table["149,81"] = [48614] let s:lib.Codec.decoding_table["149,82"] = [48615] let s:lib.Codec.decoding_table["149,83"] = [48616] let s:lib.Codec.decoding_table["149,84"] = [48618] let s:lib.Codec.decoding_table["149,85"] = [48619] let s:lib.Codec.decoding_table["149,86"] = [48620] let s:lib.Codec.decoding_table["149,87"] = [48621] let s:lib.Codec.decoding_table["149,88"] = [48622] let s:lib.Codec.decoding_table["149,89"] = [48623] let s:lib.Codec.decoding_table["149,90"] = [48625] let s:lib.Codec.decoding_table["149,97"] = [48626] let s:lib.Codec.decoding_table["149,98"] = [48627] let s:lib.Codec.decoding_table["149,99"] = [48629] let s:lib.Codec.decoding_table["149,100"] = [48630] let s:lib.Codec.decoding_table["149,101"] = [48631] let s:lib.Codec.decoding_table["149,102"] = [48633] let s:lib.Codec.decoding_table["149,103"] = [48634] let s:lib.Codec.decoding_table["149,104"] = [48635] let s:lib.Codec.decoding_table["149,105"] = [48636] let s:lib.Codec.decoding_table["149,106"] = [48637] let s:lib.Codec.decoding_table["149,107"] = [48638] let s:lib.Codec.decoding_table["149,108"] = [48639] let s:lib.Codec.decoding_table["149,109"] = [48641] let s:lib.Codec.decoding_table["149,110"] = [48642] let s:lib.Codec.decoding_table["149,111"] = [48644] let s:lib.Codec.decoding_table["149,112"] = [48646] let s:lib.Codec.decoding_table["149,113"] = [48647] let s:lib.Codec.decoding_table["149,114"] = [48648] let s:lib.Codec.decoding_table["149,115"] = [48649] let s:lib.Codec.decoding_table["149,116"] = [48650] let s:lib.Codec.decoding_table["149,117"] = [48651] let s:lib.Codec.decoding_table["149,118"] = [48654] let s:lib.Codec.decoding_table["149,119"] = [48655] let s:lib.Codec.decoding_table["149,120"] = [48657] let s:lib.Codec.decoding_table["149,121"] = [48658] let s:lib.Codec.decoding_table["149,122"] = [48659] let s:lib.Codec.decoding_table["149,129"] = [48661] let s:lib.Codec.decoding_table["149,130"] = [48662] let s:lib.Codec.decoding_table["149,131"] = [48663] let s:lib.Codec.decoding_table["149,132"] = [48664] let s:lib.Codec.decoding_table["149,133"] = [48665] let s:lib.Codec.decoding_table["149,134"] = [48666] let s:lib.Codec.decoding_table["149,135"] = [48667] let s:lib.Codec.decoding_table["149,136"] = [48670] let s:lib.Codec.decoding_table["149,137"] = [48672] let s:lib.Codec.decoding_table["149,138"] = [48673] let s:lib.Codec.decoding_table["149,139"] = [48674] let s:lib.Codec.decoding_table["149,140"] = [48675] let s:lib.Codec.decoding_table["149,141"] = [48676] let s:lib.Codec.decoding_table["149,142"] = [48677] let s:lib.Codec.decoding_table["149,143"] = [48678] let s:lib.Codec.decoding_table["149,144"] = [48679] let s:lib.Codec.decoding_table["149,145"] = [48680] let s:lib.Codec.decoding_table["149,146"] = [48681] let s:lib.Codec.decoding_table["149,147"] = [48682] let s:lib.Codec.decoding_table["149,148"] = [48683] let s:lib.Codec.decoding_table["149,149"] = [48684] let s:lib.Codec.decoding_table["149,150"] = [48685] let s:lib.Codec.decoding_table["149,151"] = [48686] let s:lib.Codec.decoding_table["149,152"] = [48687] let s:lib.Codec.decoding_table["149,153"] = [48688] let s:lib.Codec.decoding_table["149,154"] = [48689] let s:lib.Codec.decoding_table["149,155"] = [48690] let s:lib.Codec.decoding_table["149,156"] = [48691] let s:lib.Codec.decoding_table["149,157"] = [48692] let s:lib.Codec.decoding_table["149,158"] = [48693] let s:lib.Codec.decoding_table["149,159"] = [48694] let s:lib.Codec.decoding_table["149,160"] = [48695] let s:lib.Codec.decoding_table["149,161"] = [48696] let s:lib.Codec.decoding_table["149,162"] = [48697] let s:lib.Codec.decoding_table["149,163"] = [48698] let s:lib.Codec.decoding_table["149,164"] = [48699] let s:lib.Codec.decoding_table["149,165"] = [48700] let s:lib.Codec.decoding_table["149,166"] = [48701] let s:lib.Codec.decoding_table["149,167"] = [48702] let s:lib.Codec.decoding_table["149,168"] = [48703] let s:lib.Codec.decoding_table["149,169"] = [48704] let s:lib.Codec.decoding_table["149,170"] = [48705] let s:lib.Codec.decoding_table["149,171"] = [48706] let s:lib.Codec.decoding_table["149,172"] = [48707] let s:lib.Codec.decoding_table["149,173"] = [48710] let s:lib.Codec.decoding_table["149,174"] = [48711] let s:lib.Codec.decoding_table["149,175"] = [48713] let s:lib.Codec.decoding_table["149,176"] = [48714] let s:lib.Codec.decoding_table["149,177"] = [48715] let s:lib.Codec.decoding_table["149,178"] = [48717] let s:lib.Codec.decoding_table["149,179"] = [48719] let s:lib.Codec.decoding_table["149,180"] = [48720] let s:lib.Codec.decoding_table["149,181"] = [48721] let s:lib.Codec.decoding_table["149,182"] = [48722] let s:lib.Codec.decoding_table["149,183"] = [48723] let s:lib.Codec.decoding_table["149,184"] = [48726] let s:lib.Codec.decoding_table["149,185"] = [48728] let s:lib.Codec.decoding_table["149,186"] = [48732] let s:lib.Codec.decoding_table["149,187"] = [48733] let s:lib.Codec.decoding_table["149,188"] = [48734] let s:lib.Codec.decoding_table["149,189"] = [48735] let s:lib.Codec.decoding_table["149,190"] = [48738] let s:lib.Codec.decoding_table["149,191"] = [48739] let s:lib.Codec.decoding_table["149,192"] = [48741] let s:lib.Codec.decoding_table["149,193"] = [48742] let s:lib.Codec.decoding_table["149,194"] = [48743] let s:lib.Codec.decoding_table["149,195"] = [48745] let s:lib.Codec.decoding_table["149,196"] = [48747] let s:lib.Codec.decoding_table["149,197"] = [48748] let s:lib.Codec.decoding_table["149,198"] = [48749] let s:lib.Codec.decoding_table["149,199"] = [48750] let s:lib.Codec.decoding_table["149,200"] = [48751] let s:lib.Codec.decoding_table["149,201"] = [48754] let s:lib.Codec.decoding_table["149,202"] = [48758] let s:lib.Codec.decoding_table["149,203"] = [48759] let s:lib.Codec.decoding_table["149,204"] = [48760] let s:lib.Codec.decoding_table["149,205"] = [48761] let s:lib.Codec.decoding_table["149,206"] = [48762] let s:lib.Codec.decoding_table["149,207"] = [48766] let s:lib.Codec.decoding_table["149,208"] = [48767] let s:lib.Codec.decoding_table["149,209"] = [48769] let s:lib.Codec.decoding_table["149,210"] = [48770] let s:lib.Codec.decoding_table["149,211"] = [48771] let s:lib.Codec.decoding_table["149,212"] = [48773] let s:lib.Codec.decoding_table["149,213"] = [48774] let s:lib.Codec.decoding_table["149,214"] = [48775] let s:lib.Codec.decoding_table["149,215"] = [48776] let s:lib.Codec.decoding_table["149,216"] = [48777] let s:lib.Codec.decoding_table["149,217"] = [48778] let s:lib.Codec.decoding_table["149,218"] = [48779] let s:lib.Codec.decoding_table["149,219"] = [48782] let s:lib.Codec.decoding_table["149,220"] = [48786] let s:lib.Codec.decoding_table["149,221"] = [48787] let s:lib.Codec.decoding_table["149,222"] = [48788] let s:lib.Codec.decoding_table["149,223"] = [48789] let s:lib.Codec.decoding_table["149,224"] = [48790] let s:lib.Codec.decoding_table["149,225"] = [48791] let s:lib.Codec.decoding_table["149,226"] = [48794] let s:lib.Codec.decoding_table["149,227"] = [48795] let s:lib.Codec.decoding_table["149,228"] = [48796] let s:lib.Codec.decoding_table["149,229"] = [48797] let s:lib.Codec.decoding_table["149,230"] = [48798] let s:lib.Codec.decoding_table["149,231"] = [48799] let s:lib.Codec.decoding_table["149,232"] = [48800] let s:lib.Codec.decoding_table["149,233"] = [48801] let s:lib.Codec.decoding_table["149,234"] = [48802] let s:lib.Codec.decoding_table["149,235"] = [48803] let s:lib.Codec.decoding_table["149,236"] = [48804] let s:lib.Codec.decoding_table["149,237"] = [48805] let s:lib.Codec.decoding_table["149,238"] = [48806] let s:lib.Codec.decoding_table["149,239"] = [48807] let s:lib.Codec.decoding_table["149,240"] = [48809] let s:lib.Codec.decoding_table["149,241"] = [48810] let s:lib.Codec.decoding_table["149,242"] = [48811] let s:lib.Codec.decoding_table["149,243"] = [48812] let s:lib.Codec.decoding_table["149,244"] = [48813] let s:lib.Codec.decoding_table["149,245"] = [48814] let s:lib.Codec.decoding_table["149,246"] = [48815] let s:lib.Codec.decoding_table["149,247"] = [48816] let s:lib.Codec.decoding_table["149,248"] = [48817] let s:lib.Codec.decoding_table["149,249"] = [48818] let s:lib.Codec.decoding_table["149,250"] = [48819] let s:lib.Codec.decoding_table["149,251"] = [48820] let s:lib.Codec.decoding_table["149,252"] = [48821] let s:lib.Codec.decoding_table["149,253"] = [48822] let s:lib.Codec.decoding_table["149,254"] = [48823] let s:lib.Codec.decoding_table["150,65"] = [48824] let s:lib.Codec.decoding_table["150,66"] = [48825] let s:lib.Codec.decoding_table["150,67"] = [48826] let s:lib.Codec.decoding_table["150,68"] = [48827] let s:lib.Codec.decoding_table["150,69"] = [48828] let s:lib.Codec.decoding_table["150,70"] = [48829] let s:lib.Codec.decoding_table["150,71"] = [48830] let s:lib.Codec.decoding_table["150,72"] = [48831] let s:lib.Codec.decoding_table["150,73"] = [48832] let s:lib.Codec.decoding_table["150,74"] = [48833] let s:lib.Codec.decoding_table["150,75"] = [48834] let s:lib.Codec.decoding_table["150,76"] = [48835] let s:lib.Codec.decoding_table["150,77"] = [48836] let s:lib.Codec.decoding_table["150,78"] = [48837] let s:lib.Codec.decoding_table["150,79"] = [48838] let s:lib.Codec.decoding_table["150,80"] = [48839] let s:lib.Codec.decoding_table["150,81"] = [48840] let s:lib.Codec.decoding_table["150,82"] = [48841] let s:lib.Codec.decoding_table["150,83"] = [48842] let s:lib.Codec.decoding_table["150,84"] = [48843] let s:lib.Codec.decoding_table["150,85"] = [48844] let s:lib.Codec.decoding_table["150,86"] = [48845] let s:lib.Codec.decoding_table["150,87"] = [48846] let s:lib.Codec.decoding_table["150,88"] = [48847] let s:lib.Codec.decoding_table["150,89"] = [48850] let s:lib.Codec.decoding_table["150,90"] = [48851] let s:lib.Codec.decoding_table["150,97"] = [48853] let s:lib.Codec.decoding_table["150,98"] = [48854] let s:lib.Codec.decoding_table["150,99"] = [48857] let s:lib.Codec.decoding_table["150,100"] = [48858] let s:lib.Codec.decoding_table["150,101"] = [48859] let s:lib.Codec.decoding_table["150,102"] = [48860] let s:lib.Codec.decoding_table["150,103"] = [48861] let s:lib.Codec.decoding_table["150,104"] = [48862] let s:lib.Codec.decoding_table["150,105"] = [48863] let s:lib.Codec.decoding_table["150,106"] = [48865] let s:lib.Codec.decoding_table["150,107"] = [48866] let s:lib.Codec.decoding_table["150,108"] = [48870] let s:lib.Codec.decoding_table["150,109"] = [48871] let s:lib.Codec.decoding_table["150,110"] = [48872] let s:lib.Codec.decoding_table["150,111"] = [48873] let s:lib.Codec.decoding_table["150,112"] = [48874] let s:lib.Codec.decoding_table["150,113"] = [48875] let s:lib.Codec.decoding_table["150,114"] = [48877] let s:lib.Codec.decoding_table["150,115"] = [48878] let s:lib.Codec.decoding_table["150,116"] = [48879] let s:lib.Codec.decoding_table["150,117"] = [48880] let s:lib.Codec.decoding_table["150,118"] = [48881] let s:lib.Codec.decoding_table["150,119"] = [48882] let s:lib.Codec.decoding_table["150,120"] = [48883] let s:lib.Codec.decoding_table["150,121"] = [48884] let s:lib.Codec.decoding_table["150,122"] = [48885] let s:lib.Codec.decoding_table["150,129"] = [48886] let s:lib.Codec.decoding_table["150,130"] = [48887] let s:lib.Codec.decoding_table["150,131"] = [48888] let s:lib.Codec.decoding_table["150,132"] = [48889] let s:lib.Codec.decoding_table["150,133"] = [48890] let s:lib.Codec.decoding_table["150,134"] = [48891] let s:lib.Codec.decoding_table["150,135"] = [48892] let s:lib.Codec.decoding_table["150,136"] = [48893] let s:lib.Codec.decoding_table["150,137"] = [48894] let s:lib.Codec.decoding_table["150,138"] = [48895] let s:lib.Codec.decoding_table["150,139"] = [48896] let s:lib.Codec.decoding_table["150,140"] = [48898] let s:lib.Codec.decoding_table["150,141"] = [48899] let s:lib.Codec.decoding_table["150,142"] = [48900] let s:lib.Codec.decoding_table["150,143"] = [48901] let s:lib.Codec.decoding_table["150,144"] = [48902] let s:lib.Codec.decoding_table["150,145"] = [48903] let s:lib.Codec.decoding_table["150,146"] = [48906] let s:lib.Codec.decoding_table["150,147"] = [48907] let s:lib.Codec.decoding_table["150,148"] = [48908] let s:lib.Codec.decoding_table["150,149"] = [48909] let s:lib.Codec.decoding_table["150,150"] = [48910] let s:lib.Codec.decoding_table["150,151"] = [48911] let s:lib.Codec.decoding_table["150,152"] = [48912] let s:lib.Codec.decoding_table["150,153"] = [48913] let s:lib.Codec.decoding_table["150,154"] = [48914] let s:lib.Codec.decoding_table["150,155"] = [48915] let s:lib.Codec.decoding_table["150,156"] = [48916] let s:lib.Codec.decoding_table["150,157"] = [48917] let s:lib.Codec.decoding_table["150,158"] = [48918] let s:lib.Codec.decoding_table["150,159"] = [48919] let s:lib.Codec.decoding_table["150,160"] = [48922] let s:lib.Codec.decoding_table["150,161"] = [48926] let s:lib.Codec.decoding_table["150,162"] = [48927] let s:lib.Codec.decoding_table["150,163"] = [48928] let s:lib.Codec.decoding_table["150,164"] = [48929] let s:lib.Codec.decoding_table["150,165"] = [48930] let s:lib.Codec.decoding_table["150,166"] = [48931] let s:lib.Codec.decoding_table["150,167"] = [48932] let s:lib.Codec.decoding_table["150,168"] = [48933] let s:lib.Codec.decoding_table["150,169"] = [48934] let s:lib.Codec.decoding_table["150,170"] = [48935] let s:lib.Codec.decoding_table["150,171"] = [48936] let s:lib.Codec.decoding_table["150,172"] = [48937] let s:lib.Codec.decoding_table["150,173"] = [48938] let s:lib.Codec.decoding_table["150,174"] = [48939] let s:lib.Codec.decoding_table["150,175"] = [48940] let s:lib.Codec.decoding_table["150,176"] = [48941] let s:lib.Codec.decoding_table["150,177"] = [48942] let s:lib.Codec.decoding_table["150,178"] = [48943] let s:lib.Codec.decoding_table["150,179"] = [48944] let s:lib.Codec.decoding_table["150,180"] = [48945] let s:lib.Codec.decoding_table["150,181"] = [48946] let s:lib.Codec.decoding_table["150,182"] = [48947] let s:lib.Codec.decoding_table["150,183"] = [48948] let s:lib.Codec.decoding_table["150,184"] = [48949] let s:lib.Codec.decoding_table["150,185"] = [48950] let s:lib.Codec.decoding_table["150,186"] = [48951] let s:lib.Codec.decoding_table["150,187"] = [48952] let s:lib.Codec.decoding_table["150,188"] = [48953] let s:lib.Codec.decoding_table["150,189"] = [48954] let s:lib.Codec.decoding_table["150,190"] = [48955] let s:lib.Codec.decoding_table["150,191"] = [48956] let s:lib.Codec.decoding_table["150,192"] = [48957] let s:lib.Codec.decoding_table["150,193"] = [48958] let s:lib.Codec.decoding_table["150,194"] = [48959] let s:lib.Codec.decoding_table["150,195"] = [48962] let s:lib.Codec.decoding_table["150,196"] = [48963] let s:lib.Codec.decoding_table["150,197"] = [48965] let s:lib.Codec.decoding_table["150,198"] = [48966] let s:lib.Codec.decoding_table["150,199"] = [48967] let s:lib.Codec.decoding_table["150,200"] = [48969] let s:lib.Codec.decoding_table["150,201"] = [48970] let s:lib.Codec.decoding_table["150,202"] = [48971] let s:lib.Codec.decoding_table["150,203"] = [48972] let s:lib.Codec.decoding_table["150,204"] = [48973] let s:lib.Codec.decoding_table["150,205"] = [48974] let s:lib.Codec.decoding_table["150,206"] = [48975] let s:lib.Codec.decoding_table["150,207"] = [48978] let s:lib.Codec.decoding_table["150,208"] = [48979] let s:lib.Codec.decoding_table["150,209"] = [48980] let s:lib.Codec.decoding_table["150,210"] = [48982] let s:lib.Codec.decoding_table["150,211"] = [48983] let s:lib.Codec.decoding_table["150,212"] = [48984] let s:lib.Codec.decoding_table["150,213"] = [48985] let s:lib.Codec.decoding_table["150,214"] = [48986] let s:lib.Codec.decoding_table["150,215"] = [48987] let s:lib.Codec.decoding_table["150,216"] = [48988] let s:lib.Codec.decoding_table["150,217"] = [48989] let s:lib.Codec.decoding_table["150,218"] = [48990] let s:lib.Codec.decoding_table["150,219"] = [48991] let s:lib.Codec.decoding_table["150,220"] = [48992] let s:lib.Codec.decoding_table["150,221"] = [48993] let s:lib.Codec.decoding_table["150,222"] = [48994] let s:lib.Codec.decoding_table["150,223"] = [48995] let s:lib.Codec.decoding_table["150,224"] = [48996] let s:lib.Codec.decoding_table["150,225"] = [48997] let s:lib.Codec.decoding_table["150,226"] = [48998] let s:lib.Codec.decoding_table["150,227"] = [48999] let s:lib.Codec.decoding_table["150,228"] = [49000] let s:lib.Codec.decoding_table["150,229"] = [49001] let s:lib.Codec.decoding_table["150,230"] = [49002] let s:lib.Codec.decoding_table["150,231"] = [49003] let s:lib.Codec.decoding_table["150,232"] = [49004] let s:lib.Codec.decoding_table["150,233"] = [49005] let s:lib.Codec.decoding_table["150,234"] = [49006] let s:lib.Codec.decoding_table["150,235"] = [49007] let s:lib.Codec.decoding_table["150,236"] = [49008] let s:lib.Codec.decoding_table["150,237"] = [49009] let s:lib.Codec.decoding_table["150,238"] = [49010] let s:lib.Codec.decoding_table["150,239"] = [49011] let s:lib.Codec.decoding_table["150,240"] = [49012] let s:lib.Codec.decoding_table["150,241"] = [49013] let s:lib.Codec.decoding_table["150,242"] = [49014] let s:lib.Codec.decoding_table["150,243"] = [49015] let s:lib.Codec.decoding_table["150,244"] = [49016] let s:lib.Codec.decoding_table["150,245"] = [49017] let s:lib.Codec.decoding_table["150,246"] = [49018] let s:lib.Codec.decoding_table["150,247"] = [49019] let s:lib.Codec.decoding_table["150,248"] = [49020] let s:lib.Codec.decoding_table["150,249"] = [49021] let s:lib.Codec.decoding_table["150,250"] = [49022] let s:lib.Codec.decoding_table["150,251"] = [49023] let s:lib.Codec.decoding_table["150,252"] = [49024] let s:lib.Codec.decoding_table["150,253"] = [49025] let s:lib.Codec.decoding_table["150,254"] = [49026] let s:lib.Codec.decoding_table["151,65"] = [49027] let s:lib.Codec.decoding_table["151,66"] = [49028] let s:lib.Codec.decoding_table["151,67"] = [49029] let s:lib.Codec.decoding_table["151,68"] = [49030] let s:lib.Codec.decoding_table["151,69"] = [49031] let s:lib.Codec.decoding_table["151,70"] = [49032] let s:lib.Codec.decoding_table["151,71"] = [49033] let s:lib.Codec.decoding_table["151,72"] = [49034] let s:lib.Codec.decoding_table["151,73"] = [49035] let s:lib.Codec.decoding_table["151,74"] = [49036] let s:lib.Codec.decoding_table["151,75"] = [49037] let s:lib.Codec.decoding_table["151,76"] = [49038] let s:lib.Codec.decoding_table["151,77"] = [49039] let s:lib.Codec.decoding_table["151,78"] = [49040] let s:lib.Codec.decoding_table["151,79"] = [49041] let s:lib.Codec.decoding_table["151,80"] = [49042] let s:lib.Codec.decoding_table["151,81"] = [49043] let s:lib.Codec.decoding_table["151,82"] = [49045] let s:lib.Codec.decoding_table["151,83"] = [49046] let s:lib.Codec.decoding_table["151,84"] = [49047] let s:lib.Codec.decoding_table["151,85"] = [49048] let s:lib.Codec.decoding_table["151,86"] = [49049] let s:lib.Codec.decoding_table["151,87"] = [49050] let s:lib.Codec.decoding_table["151,88"] = [49051] let s:lib.Codec.decoding_table["151,89"] = [49052] let s:lib.Codec.decoding_table["151,90"] = [49053] let s:lib.Codec.decoding_table["151,97"] = [49054] let s:lib.Codec.decoding_table["151,98"] = [49055] let s:lib.Codec.decoding_table["151,99"] = [49056] let s:lib.Codec.decoding_table["151,100"] = [49057] let s:lib.Codec.decoding_table["151,101"] = [49058] let s:lib.Codec.decoding_table["151,102"] = [49059] let s:lib.Codec.decoding_table["151,103"] = [49060] let s:lib.Codec.decoding_table["151,104"] = [49061] let s:lib.Codec.decoding_table["151,105"] = [49062] let s:lib.Codec.decoding_table["151,106"] = [49063] let s:lib.Codec.decoding_table["151,107"] = [49064] let s:lib.Codec.decoding_table["151,108"] = [49065] let s:lib.Codec.decoding_table["151,109"] = [49066] let s:lib.Codec.decoding_table["151,110"] = [49067] let s:lib.Codec.decoding_table["151,111"] = [49068] let s:lib.Codec.decoding_table["151,112"] = [49069] let s:lib.Codec.decoding_table["151,113"] = [49070] let s:lib.Codec.decoding_table["151,114"] = [49071] let s:lib.Codec.decoding_table["151,115"] = [49073] let s:lib.Codec.decoding_table["151,116"] = [49074] let s:lib.Codec.decoding_table["151,117"] = [49075] let s:lib.Codec.decoding_table["151,118"] = [49076] let s:lib.Codec.decoding_table["151,119"] = [49077] let s:lib.Codec.decoding_table["151,120"] = [49078] let s:lib.Codec.decoding_table["151,121"] = [49079] let s:lib.Codec.decoding_table["151,122"] = [49080] let s:lib.Codec.decoding_table["151,129"] = [49081] let s:lib.Codec.decoding_table["151,130"] = [49082] let s:lib.Codec.decoding_table["151,131"] = [49083] let s:lib.Codec.decoding_table["151,132"] = [49084] let s:lib.Codec.decoding_table["151,133"] = [49085] let s:lib.Codec.decoding_table["151,134"] = [49086] let s:lib.Codec.decoding_table["151,135"] = [49087] let s:lib.Codec.decoding_table["151,136"] = [49088] let s:lib.Codec.decoding_table["151,137"] = [49089] let s:lib.Codec.decoding_table["151,138"] = [49090] let s:lib.Codec.decoding_table["151,139"] = [49091] let s:lib.Codec.decoding_table["151,140"] = [49092] let s:lib.Codec.decoding_table["151,141"] = [49094] let s:lib.Codec.decoding_table["151,142"] = [49095] let s:lib.Codec.decoding_table["151,143"] = [49096] let s:lib.Codec.decoding_table["151,144"] = [49097] let s:lib.Codec.decoding_table["151,145"] = [49098] let s:lib.Codec.decoding_table["151,146"] = [49099] let s:lib.Codec.decoding_table["151,147"] = [49102] let s:lib.Codec.decoding_table["151,148"] = [49103] let s:lib.Codec.decoding_table["151,149"] = [49105] let s:lib.Codec.decoding_table["151,150"] = [49106] let s:lib.Codec.decoding_table["151,151"] = [49107] let s:lib.Codec.decoding_table["151,152"] = [49109] let s:lib.Codec.decoding_table["151,153"] = [49110] let s:lib.Codec.decoding_table["151,154"] = [49111] let s:lib.Codec.decoding_table["151,155"] = [49112] let s:lib.Codec.decoding_table["151,156"] = [49113] let s:lib.Codec.decoding_table["151,157"] = [49114] let s:lib.Codec.decoding_table["151,158"] = [49115] let s:lib.Codec.decoding_table["151,159"] = [49117] let s:lib.Codec.decoding_table["151,160"] = [49118] let s:lib.Codec.decoding_table["151,161"] = [49120] let s:lib.Codec.decoding_table["151,162"] = [49122] let s:lib.Codec.decoding_table["151,163"] = [49123] let s:lib.Codec.decoding_table["151,164"] = [49124] let s:lib.Codec.decoding_table["151,165"] = [49125] let s:lib.Codec.decoding_table["151,166"] = [49126] let s:lib.Codec.decoding_table["151,167"] = [49127] let s:lib.Codec.decoding_table["151,168"] = [49128] let s:lib.Codec.decoding_table["151,169"] = [49129] let s:lib.Codec.decoding_table["151,170"] = [49130] let s:lib.Codec.decoding_table["151,171"] = [49131] let s:lib.Codec.decoding_table["151,172"] = [49132] let s:lib.Codec.decoding_table["151,173"] = [49133] let s:lib.Codec.decoding_table["151,174"] = [49134] let s:lib.Codec.decoding_table["151,175"] = [49135] let s:lib.Codec.decoding_table["151,176"] = [49136] let s:lib.Codec.decoding_table["151,177"] = [49137] let s:lib.Codec.decoding_table["151,178"] = [49138] let s:lib.Codec.decoding_table["151,179"] = [49139] let s:lib.Codec.decoding_table["151,180"] = [49140] let s:lib.Codec.decoding_table["151,181"] = [49141] let s:lib.Codec.decoding_table["151,182"] = [49142] let s:lib.Codec.decoding_table["151,183"] = [49143] let s:lib.Codec.decoding_table["151,184"] = [49144] let s:lib.Codec.decoding_table["151,185"] = [49145] let s:lib.Codec.decoding_table["151,186"] = [49146] let s:lib.Codec.decoding_table["151,187"] = [49147] let s:lib.Codec.decoding_table["151,188"] = [49148] let s:lib.Codec.decoding_table["151,189"] = [49149] let s:lib.Codec.decoding_table["151,190"] = [49150] let s:lib.Codec.decoding_table["151,191"] = [49151] let s:lib.Codec.decoding_table["151,192"] = [49152] let s:lib.Codec.decoding_table["151,193"] = [49153] let s:lib.Codec.decoding_table["151,194"] = [49154] let s:lib.Codec.decoding_table["151,195"] = [49155] let s:lib.Codec.decoding_table["151,196"] = [49156] let s:lib.Codec.decoding_table["151,197"] = [49157] let s:lib.Codec.decoding_table["151,198"] = [49158] let s:lib.Codec.decoding_table["151,199"] = [49159] let s:lib.Codec.decoding_table["151,200"] = [49160] let s:lib.Codec.decoding_table["151,201"] = [49161] let s:lib.Codec.decoding_table["151,202"] = [49162] let s:lib.Codec.decoding_table["151,203"] = [49163] let s:lib.Codec.decoding_table["151,204"] = [49164] let s:lib.Codec.decoding_table["151,205"] = [49165] let s:lib.Codec.decoding_table["151,206"] = [49166] let s:lib.Codec.decoding_table["151,207"] = [49167] let s:lib.Codec.decoding_table["151,208"] = [49168] let s:lib.Codec.decoding_table["151,209"] = [49169] let s:lib.Codec.decoding_table["151,210"] = [49170] let s:lib.Codec.decoding_table["151,211"] = [49171] let s:lib.Codec.decoding_table["151,212"] = [49172] let s:lib.Codec.decoding_table["151,213"] = [49173] let s:lib.Codec.decoding_table["151,214"] = [49174] let s:lib.Codec.decoding_table["151,215"] = [49175] let s:lib.Codec.decoding_table["151,216"] = [49176] let s:lib.Codec.decoding_table["151,217"] = [49177] let s:lib.Codec.decoding_table["151,218"] = [49178] let s:lib.Codec.decoding_table["151,219"] = [49179] let s:lib.Codec.decoding_table["151,220"] = [49180] let s:lib.Codec.decoding_table["151,221"] = [49181] let s:lib.Codec.decoding_table["151,222"] = [49182] let s:lib.Codec.decoding_table["151,223"] = [49183] let s:lib.Codec.decoding_table["151,224"] = [49184] let s:lib.Codec.decoding_table["151,225"] = [49185] let s:lib.Codec.decoding_table["151,226"] = [49186] let s:lib.Codec.decoding_table["151,227"] = [49187] let s:lib.Codec.decoding_table["151,228"] = [49188] let s:lib.Codec.decoding_table["151,229"] = [49189] let s:lib.Codec.decoding_table["151,230"] = [49190] let s:lib.Codec.decoding_table["151,231"] = [49191] let s:lib.Codec.decoding_table["151,232"] = [49192] let s:lib.Codec.decoding_table["151,233"] = [49193] let s:lib.Codec.decoding_table["151,234"] = [49194] let s:lib.Codec.decoding_table["151,235"] = [49195] let s:lib.Codec.decoding_table["151,236"] = [49196] let s:lib.Codec.decoding_table["151,237"] = [49197] let s:lib.Codec.decoding_table["151,238"] = [49198] let s:lib.Codec.decoding_table["151,239"] = [49199] let s:lib.Codec.decoding_table["151,240"] = [49200] let s:lib.Codec.decoding_table["151,241"] = [49201] let s:lib.Codec.decoding_table["151,242"] = [49202] let s:lib.Codec.decoding_table["151,243"] = [49203] let s:lib.Codec.decoding_table["151,244"] = [49204] let s:lib.Codec.decoding_table["151,245"] = [49205] let s:lib.Codec.decoding_table["151,246"] = [49206] let s:lib.Codec.decoding_table["151,247"] = [49207] let s:lib.Codec.decoding_table["151,248"] = [49208] let s:lib.Codec.decoding_table["151,249"] = [49209] let s:lib.Codec.decoding_table["151,250"] = [49210] let s:lib.Codec.decoding_table["151,251"] = [49211] let s:lib.Codec.decoding_table["151,252"] = [49213] let s:lib.Codec.decoding_table["151,253"] = [49214] let s:lib.Codec.decoding_table["151,254"] = [49215] let s:lib.Codec.decoding_table["152,65"] = [49216] let s:lib.Codec.decoding_table["152,66"] = [49217] let s:lib.Codec.decoding_table["152,67"] = [49218] let s:lib.Codec.decoding_table["152,68"] = [49219] let s:lib.Codec.decoding_table["152,69"] = [49220] let s:lib.Codec.decoding_table["152,70"] = [49221] let s:lib.Codec.decoding_table["152,71"] = [49222] let s:lib.Codec.decoding_table["152,72"] = [49223] let s:lib.Codec.decoding_table["152,73"] = [49224] let s:lib.Codec.decoding_table["152,74"] = [49225] let s:lib.Codec.decoding_table["152,75"] = [49226] let s:lib.Codec.decoding_table["152,76"] = [49227] let s:lib.Codec.decoding_table["152,77"] = [49228] let s:lib.Codec.decoding_table["152,78"] = [49229] let s:lib.Codec.decoding_table["152,79"] = [49230] let s:lib.Codec.decoding_table["152,80"] = [49231] let s:lib.Codec.decoding_table["152,81"] = [49232] let s:lib.Codec.decoding_table["152,82"] = [49234] let s:lib.Codec.decoding_table["152,83"] = [49235] let s:lib.Codec.decoding_table["152,84"] = [49236] let s:lib.Codec.decoding_table["152,85"] = [49237] let s:lib.Codec.decoding_table["152,86"] = [49238] let s:lib.Codec.decoding_table["152,87"] = [49239] let s:lib.Codec.decoding_table["152,88"] = [49241] let s:lib.Codec.decoding_table["152,89"] = [49242] let s:lib.Codec.decoding_table["152,90"] = [49243] let s:lib.Codec.decoding_table["152,97"] = [49245] let s:lib.Codec.decoding_table["152,98"] = [49246] let s:lib.Codec.decoding_table["152,99"] = [49247] let s:lib.Codec.decoding_table["152,100"] = [49249] let s:lib.Codec.decoding_table["152,101"] = [49250] let s:lib.Codec.decoding_table["152,102"] = [49251] let s:lib.Codec.decoding_table["152,103"] = [49252] let s:lib.Codec.decoding_table["152,104"] = [49253] let s:lib.Codec.decoding_table["152,105"] = [49254] let s:lib.Codec.decoding_table["152,106"] = [49255] let s:lib.Codec.decoding_table["152,107"] = [49258] let s:lib.Codec.decoding_table["152,108"] = [49259] let s:lib.Codec.decoding_table["152,109"] = [49260] let s:lib.Codec.decoding_table["152,110"] = [49261] let s:lib.Codec.decoding_table["152,111"] = [49262] let s:lib.Codec.decoding_table["152,112"] = [49263] let s:lib.Codec.decoding_table["152,113"] = [49264] let s:lib.Codec.decoding_table["152,114"] = [49265] let s:lib.Codec.decoding_table["152,115"] = [49266] let s:lib.Codec.decoding_table["152,116"] = [49267] let s:lib.Codec.decoding_table["152,117"] = [49268] let s:lib.Codec.decoding_table["152,118"] = [49269] let s:lib.Codec.decoding_table["152,119"] = [49270] let s:lib.Codec.decoding_table["152,120"] = [49271] let s:lib.Codec.decoding_table["152,121"] = [49272] let s:lib.Codec.decoding_table["152,122"] = [49273] let s:lib.Codec.decoding_table["152,129"] = [49274] let s:lib.Codec.decoding_table["152,130"] = [49275] let s:lib.Codec.decoding_table["152,131"] = [49276] let s:lib.Codec.decoding_table["152,132"] = [49277] let s:lib.Codec.decoding_table["152,133"] = [49278] let s:lib.Codec.decoding_table["152,134"] = [49279] let s:lib.Codec.decoding_table["152,135"] = [49280] let s:lib.Codec.decoding_table["152,136"] = [49281] let s:lib.Codec.decoding_table["152,137"] = [49282] let s:lib.Codec.decoding_table["152,138"] = [49283] let s:lib.Codec.decoding_table["152,139"] = [49284] let s:lib.Codec.decoding_table["152,140"] = [49285] let s:lib.Codec.decoding_table["152,141"] = [49286] let s:lib.Codec.decoding_table["152,142"] = [49287] let s:lib.Codec.decoding_table["152,143"] = [49288] let s:lib.Codec.decoding_table["152,144"] = [49289] let s:lib.Codec.decoding_table["152,145"] = [49290] let s:lib.Codec.decoding_table["152,146"] = [49291] let s:lib.Codec.decoding_table["152,147"] = [49292] let s:lib.Codec.decoding_table["152,148"] = [49293] let s:lib.Codec.decoding_table["152,149"] = [49294] let s:lib.Codec.decoding_table["152,150"] = [49295] let s:lib.Codec.decoding_table["152,151"] = [49298] let s:lib.Codec.decoding_table["152,152"] = [49299] let s:lib.Codec.decoding_table["152,153"] = [49301] let s:lib.Codec.decoding_table["152,154"] = [49302] let s:lib.Codec.decoding_table["152,155"] = [49303] let s:lib.Codec.decoding_table["152,156"] = [49305] let s:lib.Codec.decoding_table["152,157"] = [49306] let s:lib.Codec.decoding_table["152,158"] = [49307] let s:lib.Codec.decoding_table["152,159"] = [49308] let s:lib.Codec.decoding_table["152,160"] = [49309] let s:lib.Codec.decoding_table["152,161"] = [49310] let s:lib.Codec.decoding_table["152,162"] = [49311] let s:lib.Codec.decoding_table["152,163"] = [49314] let s:lib.Codec.decoding_table["152,164"] = [49316] let s:lib.Codec.decoding_table["152,165"] = [49318] let s:lib.Codec.decoding_table["152,166"] = [49319] let s:lib.Codec.decoding_table["152,167"] = [49320] let s:lib.Codec.decoding_table["152,168"] = [49321] let s:lib.Codec.decoding_table["152,169"] = [49322] let s:lib.Codec.decoding_table["152,170"] = [49323] let s:lib.Codec.decoding_table["152,171"] = [49326] let s:lib.Codec.decoding_table["152,172"] = [49329] let s:lib.Codec.decoding_table["152,173"] = [49330] let s:lib.Codec.decoding_table["152,174"] = [49335] let s:lib.Codec.decoding_table["152,175"] = [49336] let s:lib.Codec.decoding_table["152,176"] = [49337] let s:lib.Codec.decoding_table["152,177"] = [49338] let s:lib.Codec.decoding_table["152,178"] = [49339] let s:lib.Codec.decoding_table["152,179"] = [49342] let s:lib.Codec.decoding_table["152,180"] = [49346] let s:lib.Codec.decoding_table["152,181"] = [49347] let s:lib.Codec.decoding_table["152,182"] = [49348] let s:lib.Codec.decoding_table["152,183"] = [49350] let s:lib.Codec.decoding_table["152,184"] = [49351] let s:lib.Codec.decoding_table["152,185"] = [49354] let s:lib.Codec.decoding_table["152,186"] = [49355] let s:lib.Codec.decoding_table["152,187"] = [49357] let s:lib.Codec.decoding_table["152,188"] = [49358] let s:lib.Codec.decoding_table["152,189"] = [49359] let s:lib.Codec.decoding_table["152,190"] = [49361] let s:lib.Codec.decoding_table["152,191"] = [49362] let s:lib.Codec.decoding_table["152,192"] = [49363] let s:lib.Codec.decoding_table["152,193"] = [49364] let s:lib.Codec.decoding_table["152,194"] = [49365] let s:lib.Codec.decoding_table["152,195"] = [49366] let s:lib.Codec.decoding_table["152,196"] = [49367] let s:lib.Codec.decoding_table["152,197"] = [49370] let s:lib.Codec.decoding_table["152,198"] = [49374] let s:lib.Codec.decoding_table["152,199"] = [49375] let s:lib.Codec.decoding_table["152,200"] = [49376] let s:lib.Codec.decoding_table["152,201"] = [49377] let s:lib.Codec.decoding_table["152,202"] = [49378] let s:lib.Codec.decoding_table["152,203"] = [49379] let s:lib.Codec.decoding_table["152,204"] = [49382] let s:lib.Codec.decoding_table["152,205"] = [49383] let s:lib.Codec.decoding_table["152,206"] = [49385] let s:lib.Codec.decoding_table["152,207"] = [49386] let s:lib.Codec.decoding_table["152,208"] = [49387] let s:lib.Codec.decoding_table["152,209"] = [49389] let s:lib.Codec.decoding_table["152,210"] = [49390] let s:lib.Codec.decoding_table["152,211"] = [49391] let s:lib.Codec.decoding_table["152,212"] = [49392] let s:lib.Codec.decoding_table["152,213"] = [49393] let s:lib.Codec.decoding_table["152,214"] = [49394] let s:lib.Codec.decoding_table["152,215"] = [49395] let s:lib.Codec.decoding_table["152,216"] = [49398] let s:lib.Codec.decoding_table["152,217"] = [49400] let s:lib.Codec.decoding_table["152,218"] = [49402] let s:lib.Codec.decoding_table["152,219"] = [49403] let s:lib.Codec.decoding_table["152,220"] = [49404] let s:lib.Codec.decoding_table["152,221"] = [49405] let s:lib.Codec.decoding_table["152,222"] = [49406] let s:lib.Codec.decoding_table["152,223"] = [49407] let s:lib.Codec.decoding_table["152,224"] = [49409] let s:lib.Codec.decoding_table["152,225"] = [49410] let s:lib.Codec.decoding_table["152,226"] = [49411] let s:lib.Codec.decoding_table["152,227"] = [49413] let s:lib.Codec.decoding_table["152,228"] = [49414] let s:lib.Codec.decoding_table["152,229"] = [49415] let s:lib.Codec.decoding_table["152,230"] = [49417] let s:lib.Codec.decoding_table["152,231"] = [49418] let s:lib.Codec.decoding_table["152,232"] = [49419] let s:lib.Codec.decoding_table["152,233"] = [49420] let s:lib.Codec.decoding_table["152,234"] = [49421] let s:lib.Codec.decoding_table["152,235"] = [49422] let s:lib.Codec.decoding_table["152,236"] = [49423] let s:lib.Codec.decoding_table["152,237"] = [49425] let s:lib.Codec.decoding_table["152,238"] = [49426] let s:lib.Codec.decoding_table["152,239"] = [49427] let s:lib.Codec.decoding_table["152,240"] = [49428] let s:lib.Codec.decoding_table["152,241"] = [49430] let s:lib.Codec.decoding_table["152,242"] = [49431] let s:lib.Codec.decoding_table["152,243"] = [49432] let s:lib.Codec.decoding_table["152,244"] = [49433] let s:lib.Codec.decoding_table["152,245"] = [49434] let s:lib.Codec.decoding_table["152,246"] = [49435] let s:lib.Codec.decoding_table["152,247"] = [49441] let s:lib.Codec.decoding_table["152,248"] = [49442] let s:lib.Codec.decoding_table["152,249"] = [49445] let s:lib.Codec.decoding_table["152,250"] = [49448] let s:lib.Codec.decoding_table["152,251"] = [49449] let s:lib.Codec.decoding_table["152,252"] = [49450] let s:lib.Codec.decoding_table["152,253"] = [49451] let s:lib.Codec.decoding_table["152,254"] = [49454] let s:lib.Codec.decoding_table["153,65"] = [49458] let s:lib.Codec.decoding_table["153,66"] = [49459] let s:lib.Codec.decoding_table["153,67"] = [49460] let s:lib.Codec.decoding_table["153,68"] = [49461] let s:lib.Codec.decoding_table["153,69"] = [49463] let s:lib.Codec.decoding_table["153,70"] = [49466] let s:lib.Codec.decoding_table["153,71"] = [49467] let s:lib.Codec.decoding_table["153,72"] = [49469] let s:lib.Codec.decoding_table["153,73"] = [49470] let s:lib.Codec.decoding_table["153,74"] = [49471] let s:lib.Codec.decoding_table["153,75"] = [49473] let s:lib.Codec.decoding_table["153,76"] = [49474] let s:lib.Codec.decoding_table["153,77"] = [49475] let s:lib.Codec.decoding_table["153,78"] = [49476] let s:lib.Codec.decoding_table["153,79"] = [49477] let s:lib.Codec.decoding_table["153,80"] = [49478] let s:lib.Codec.decoding_table["153,81"] = [49479] let s:lib.Codec.decoding_table["153,82"] = [49482] let s:lib.Codec.decoding_table["153,83"] = [49486] let s:lib.Codec.decoding_table["153,84"] = [49487] let s:lib.Codec.decoding_table["153,85"] = [49488] let s:lib.Codec.decoding_table["153,86"] = [49489] let s:lib.Codec.decoding_table["153,87"] = [49490] let s:lib.Codec.decoding_table["153,88"] = [49491] let s:lib.Codec.decoding_table["153,89"] = [49494] let s:lib.Codec.decoding_table["153,90"] = [49495] let s:lib.Codec.decoding_table["153,97"] = [49497] let s:lib.Codec.decoding_table["153,98"] = [49498] let s:lib.Codec.decoding_table["153,99"] = [49499] let s:lib.Codec.decoding_table["153,100"] = [49501] let s:lib.Codec.decoding_table["153,101"] = [49502] let s:lib.Codec.decoding_table["153,102"] = [49503] let s:lib.Codec.decoding_table["153,103"] = [49504] let s:lib.Codec.decoding_table["153,104"] = [49505] let s:lib.Codec.decoding_table["153,105"] = [49506] let s:lib.Codec.decoding_table["153,106"] = [49507] let s:lib.Codec.decoding_table["153,107"] = [49510] let s:lib.Codec.decoding_table["153,108"] = [49514] let s:lib.Codec.decoding_table["153,109"] = [49515] let s:lib.Codec.decoding_table["153,110"] = [49516] let s:lib.Codec.decoding_table["153,111"] = [49517] let s:lib.Codec.decoding_table["153,112"] = [49518] let s:lib.Codec.decoding_table["153,113"] = [49519] let s:lib.Codec.decoding_table["153,114"] = [49521] let s:lib.Codec.decoding_table["153,115"] = [49522] let s:lib.Codec.decoding_table["153,116"] = [49523] let s:lib.Codec.decoding_table["153,117"] = [49525] let s:lib.Codec.decoding_table["153,118"] = [49526] let s:lib.Codec.decoding_table["153,119"] = [49527] let s:lib.Codec.decoding_table["153,120"] = [49529] let s:lib.Codec.decoding_table["153,121"] = [49530] let s:lib.Codec.decoding_table["153,122"] = [49531] let s:lib.Codec.decoding_table["153,129"] = [49532] let s:lib.Codec.decoding_table["153,130"] = [49533] let s:lib.Codec.decoding_table["153,131"] = [49534] let s:lib.Codec.decoding_table["153,132"] = [49535] let s:lib.Codec.decoding_table["153,133"] = [49536] let s:lib.Codec.decoding_table["153,134"] = [49537] let s:lib.Codec.decoding_table["153,135"] = [49538] let s:lib.Codec.decoding_table["153,136"] = [49539] let s:lib.Codec.decoding_table["153,137"] = [49540] let s:lib.Codec.decoding_table["153,138"] = [49542] let s:lib.Codec.decoding_table["153,139"] = [49543] let s:lib.Codec.decoding_table["153,140"] = [49544] let s:lib.Codec.decoding_table["153,141"] = [49545] let s:lib.Codec.decoding_table["153,142"] = [49546] let s:lib.Codec.decoding_table["153,143"] = [49547] let s:lib.Codec.decoding_table["153,144"] = [49551] let s:lib.Codec.decoding_table["153,145"] = [49553] let s:lib.Codec.decoding_table["153,146"] = [49554] let s:lib.Codec.decoding_table["153,147"] = [49555] let s:lib.Codec.decoding_table["153,148"] = [49557] let s:lib.Codec.decoding_table["153,149"] = [49559] let s:lib.Codec.decoding_table["153,150"] = [49560] let s:lib.Codec.decoding_table["153,151"] = [49561] let s:lib.Codec.decoding_table["153,152"] = [49562] let s:lib.Codec.decoding_table["153,153"] = [49563] let s:lib.Codec.decoding_table["153,154"] = [49566] let s:lib.Codec.decoding_table["153,155"] = [49568] let s:lib.Codec.decoding_table["153,156"] = [49570] let s:lib.Codec.decoding_table["153,157"] = [49571] let s:lib.Codec.decoding_table["153,158"] = [49572] let s:lib.Codec.decoding_table["153,159"] = [49574] let s:lib.Codec.decoding_table["153,160"] = [49575] let s:lib.Codec.decoding_table["153,161"] = [49578] let s:lib.Codec.decoding_table["153,162"] = [49579] let s:lib.Codec.decoding_table["153,163"] = [49581] let s:lib.Codec.decoding_table["153,164"] = [49582] let s:lib.Codec.decoding_table["153,165"] = [49583] let s:lib.Codec.decoding_table["153,166"] = [49585] let s:lib.Codec.decoding_table["153,167"] = [49586] let s:lib.Codec.decoding_table["153,168"] = [49587] let s:lib.Codec.decoding_table["153,169"] = [49588] let s:lib.Codec.decoding_table["153,170"] = [49589] let s:lib.Codec.decoding_table["153,171"] = [49590] let s:lib.Codec.decoding_table["153,172"] = [49591] let s:lib.Codec.decoding_table["153,173"] = [49592] let s:lib.Codec.decoding_table["153,174"] = [49593] let s:lib.Codec.decoding_table["153,175"] = [49594] let s:lib.Codec.decoding_table["153,176"] = [49595] let s:lib.Codec.decoding_table["153,177"] = [49596] let s:lib.Codec.decoding_table["153,178"] = [49598] let s:lib.Codec.decoding_table["153,179"] = [49599] let s:lib.Codec.decoding_table["153,180"] = [49600] let s:lib.Codec.decoding_table["153,181"] = [49601] let s:lib.Codec.decoding_table["153,182"] = [49602] let s:lib.Codec.decoding_table["153,183"] = [49603] let s:lib.Codec.decoding_table["153,184"] = [49605] let s:lib.Codec.decoding_table["153,185"] = [49606] let s:lib.Codec.decoding_table["153,186"] = [49607] let s:lib.Codec.decoding_table["153,187"] = [49609] let s:lib.Codec.decoding_table["153,188"] = [49610] let s:lib.Codec.decoding_table["153,189"] = [49611] let s:lib.Codec.decoding_table["153,190"] = [49613] let s:lib.Codec.decoding_table["153,191"] = [49614] let s:lib.Codec.decoding_table["153,192"] = [49615] let s:lib.Codec.decoding_table["153,193"] = [49616] let s:lib.Codec.decoding_table["153,194"] = [49617] let s:lib.Codec.decoding_table["153,195"] = [49618] let s:lib.Codec.decoding_table["153,196"] = [49619] let s:lib.Codec.decoding_table["153,197"] = [49621] let s:lib.Codec.decoding_table["153,198"] = [49622] let s:lib.Codec.decoding_table["153,199"] = [49625] let s:lib.Codec.decoding_table["153,200"] = [49626] let s:lib.Codec.decoding_table["153,201"] = [49627] let s:lib.Codec.decoding_table["153,202"] = [49628] let s:lib.Codec.decoding_table["153,203"] = [49629] let s:lib.Codec.decoding_table["153,204"] = [49630] let s:lib.Codec.decoding_table["153,205"] = [49631] let s:lib.Codec.decoding_table["153,206"] = [49633] let s:lib.Codec.decoding_table["153,207"] = [49634] let s:lib.Codec.decoding_table["153,208"] = [49635] let s:lib.Codec.decoding_table["153,209"] = [49637] let s:lib.Codec.decoding_table["153,210"] = [49638] let s:lib.Codec.decoding_table["153,211"] = [49639] let s:lib.Codec.decoding_table["153,212"] = [49641] let s:lib.Codec.decoding_table["153,213"] = [49642] let s:lib.Codec.decoding_table["153,214"] = [49643] let s:lib.Codec.decoding_table["153,215"] = [49644] let s:lib.Codec.decoding_table["153,216"] = [49645] let s:lib.Codec.decoding_table["153,217"] = [49646] let s:lib.Codec.decoding_table["153,218"] = [49647] let s:lib.Codec.decoding_table["153,219"] = [49650] let s:lib.Codec.decoding_table["153,220"] = [49652] let s:lib.Codec.decoding_table["153,221"] = [49653] let s:lib.Codec.decoding_table["153,222"] = [49654] let s:lib.Codec.decoding_table["153,223"] = [49655] let s:lib.Codec.decoding_table["153,224"] = [49656] let s:lib.Codec.decoding_table["153,225"] = [49657] let s:lib.Codec.decoding_table["153,226"] = [49658] let s:lib.Codec.decoding_table["153,227"] = [49659] let s:lib.Codec.decoding_table["153,228"] = [49662] let s:lib.Codec.decoding_table["153,229"] = [49663] let s:lib.Codec.decoding_table["153,230"] = [49665] let s:lib.Codec.decoding_table["153,231"] = [49666] let s:lib.Codec.decoding_table["153,232"] = [49667] let s:lib.Codec.decoding_table["153,233"] = [49669] let s:lib.Codec.decoding_table["153,234"] = [49670] let s:lib.Codec.decoding_table["153,235"] = [49671] let s:lib.Codec.decoding_table["153,236"] = [49672] let s:lib.Codec.decoding_table["153,237"] = [49673] let s:lib.Codec.decoding_table["153,238"] = [49674] let s:lib.Codec.decoding_table["153,239"] = [49675] let s:lib.Codec.decoding_table["153,240"] = [49678] let s:lib.Codec.decoding_table["153,241"] = [49680] let s:lib.Codec.decoding_table["153,242"] = [49682] let s:lib.Codec.decoding_table["153,243"] = [49683] let s:lib.Codec.decoding_table["153,244"] = [49684] let s:lib.Codec.decoding_table["153,245"] = [49685] let s:lib.Codec.decoding_table["153,246"] = [49686] let s:lib.Codec.decoding_table["153,247"] = [49687] let s:lib.Codec.decoding_table["153,248"] = [49690] let s:lib.Codec.decoding_table["153,249"] = [49691] let s:lib.Codec.decoding_table["153,250"] = [49693] let s:lib.Codec.decoding_table["153,251"] = [49694] let s:lib.Codec.decoding_table["153,252"] = [49697] let s:lib.Codec.decoding_table["153,253"] = [49698] let s:lib.Codec.decoding_table["153,254"] = [49699] let s:lib.Codec.decoding_table["154,65"] = [49700] let s:lib.Codec.decoding_table["154,66"] = [49701] let s:lib.Codec.decoding_table["154,67"] = [49702] let s:lib.Codec.decoding_table["154,68"] = [49703] let s:lib.Codec.decoding_table["154,69"] = [49706] let s:lib.Codec.decoding_table["154,70"] = [49708] let s:lib.Codec.decoding_table["154,71"] = [49710] let s:lib.Codec.decoding_table["154,72"] = [49712] let s:lib.Codec.decoding_table["154,73"] = [49715] let s:lib.Codec.decoding_table["154,74"] = [49717] let s:lib.Codec.decoding_table["154,75"] = [49718] let s:lib.Codec.decoding_table["154,76"] = [49719] let s:lib.Codec.decoding_table["154,77"] = [49720] let s:lib.Codec.decoding_table["154,78"] = [49721] let s:lib.Codec.decoding_table["154,79"] = [49722] let s:lib.Codec.decoding_table["154,80"] = [49723] let s:lib.Codec.decoding_table["154,81"] = [49724] let s:lib.Codec.decoding_table["154,82"] = [49725] let s:lib.Codec.decoding_table["154,83"] = [49726] let s:lib.Codec.decoding_table["154,84"] = [49727] let s:lib.Codec.decoding_table["154,85"] = [49728] let s:lib.Codec.decoding_table["154,86"] = [49729] let s:lib.Codec.decoding_table["154,87"] = [49730] let s:lib.Codec.decoding_table["154,88"] = [49731] let s:lib.Codec.decoding_table["154,89"] = [49732] let s:lib.Codec.decoding_table["154,90"] = [49733] let s:lib.Codec.decoding_table["154,97"] = [49734] let s:lib.Codec.decoding_table["154,98"] = [49735] let s:lib.Codec.decoding_table["154,99"] = [49737] let s:lib.Codec.decoding_table["154,100"] = [49738] let s:lib.Codec.decoding_table["154,101"] = [49739] let s:lib.Codec.decoding_table["154,102"] = [49740] let s:lib.Codec.decoding_table["154,103"] = [49741] let s:lib.Codec.decoding_table["154,104"] = [49742] let s:lib.Codec.decoding_table["154,105"] = [49743] let s:lib.Codec.decoding_table["154,106"] = [49746] let s:lib.Codec.decoding_table["154,107"] = [49747] let s:lib.Codec.decoding_table["154,108"] = [49749] let s:lib.Codec.decoding_table["154,109"] = [49750] let s:lib.Codec.decoding_table["154,110"] = [49751] let s:lib.Codec.decoding_table["154,111"] = [49753] let s:lib.Codec.decoding_table["154,112"] = [49754] let s:lib.Codec.decoding_table["154,113"] = [49755] let s:lib.Codec.decoding_table["154,114"] = [49756] let s:lib.Codec.decoding_table["154,115"] = [49757] let s:lib.Codec.decoding_table["154,116"] = [49758] let s:lib.Codec.decoding_table["154,117"] = [49759] let s:lib.Codec.decoding_table["154,118"] = [49761] let s:lib.Codec.decoding_table["154,119"] = [49762] let s:lib.Codec.decoding_table["154,120"] = [49763] let s:lib.Codec.decoding_table["154,121"] = [49764] let s:lib.Codec.decoding_table["154,122"] = [49766] let s:lib.Codec.decoding_table["154,129"] = [49767] let s:lib.Codec.decoding_table["154,130"] = [49768] let s:lib.Codec.decoding_table["154,131"] = [49769] let s:lib.Codec.decoding_table["154,132"] = [49770] let s:lib.Codec.decoding_table["154,133"] = [49771] let s:lib.Codec.decoding_table["154,134"] = [49774] let s:lib.Codec.decoding_table["154,135"] = [49775] let s:lib.Codec.decoding_table["154,136"] = [49777] let s:lib.Codec.decoding_table["154,137"] = [49778] let s:lib.Codec.decoding_table["154,138"] = [49779] let s:lib.Codec.decoding_table["154,139"] = [49781] let s:lib.Codec.decoding_table["154,140"] = [49782] let s:lib.Codec.decoding_table["154,141"] = [49783] let s:lib.Codec.decoding_table["154,142"] = [49784] let s:lib.Codec.decoding_table["154,143"] = [49785] let s:lib.Codec.decoding_table["154,144"] = [49786] let s:lib.Codec.decoding_table["154,145"] = [49787] let s:lib.Codec.decoding_table["154,146"] = [49790] let s:lib.Codec.decoding_table["154,147"] = [49792] let s:lib.Codec.decoding_table["154,148"] = [49794] let s:lib.Codec.decoding_table["154,149"] = [49795] let s:lib.Codec.decoding_table["154,150"] = [49796] let s:lib.Codec.decoding_table["154,151"] = [49797] let s:lib.Codec.decoding_table["154,152"] = [49798] let s:lib.Codec.decoding_table["154,153"] = [49799] let s:lib.Codec.decoding_table["154,154"] = [49802] let s:lib.Codec.decoding_table["154,155"] = [49803] let s:lib.Codec.decoding_table["154,156"] = [49804] let s:lib.Codec.decoding_table["154,157"] = [49805] let s:lib.Codec.decoding_table["154,158"] = [49806] let s:lib.Codec.decoding_table["154,159"] = [49807] let s:lib.Codec.decoding_table["154,160"] = [49809] let s:lib.Codec.decoding_table["154,161"] = [49810] let s:lib.Codec.decoding_table["154,162"] = [49811] let s:lib.Codec.decoding_table["154,163"] = [49812] let s:lib.Codec.decoding_table["154,164"] = [49813] let s:lib.Codec.decoding_table["154,165"] = [49814] let s:lib.Codec.decoding_table["154,166"] = [49815] let s:lib.Codec.decoding_table["154,167"] = [49817] let s:lib.Codec.decoding_table["154,168"] = [49818] let s:lib.Codec.decoding_table["154,169"] = [49820] let s:lib.Codec.decoding_table["154,170"] = [49822] let s:lib.Codec.decoding_table["154,171"] = [49823] let s:lib.Codec.decoding_table["154,172"] = [49824] let s:lib.Codec.decoding_table["154,173"] = [49825] let s:lib.Codec.decoding_table["154,174"] = [49826] let s:lib.Codec.decoding_table["154,175"] = [49827] let s:lib.Codec.decoding_table["154,176"] = [49830] let s:lib.Codec.decoding_table["154,177"] = [49831] let s:lib.Codec.decoding_table["154,178"] = [49833] let s:lib.Codec.decoding_table["154,179"] = [49834] let s:lib.Codec.decoding_table["154,180"] = [49835] let s:lib.Codec.decoding_table["154,181"] = [49838] let s:lib.Codec.decoding_table["154,182"] = [49839] let s:lib.Codec.decoding_table["154,183"] = [49840] let s:lib.Codec.decoding_table["154,184"] = [49841] let s:lib.Codec.decoding_table["154,185"] = [49842] let s:lib.Codec.decoding_table["154,186"] = [49843] let s:lib.Codec.decoding_table["154,187"] = [49846] let s:lib.Codec.decoding_table["154,188"] = [49848] let s:lib.Codec.decoding_table["154,189"] = [49850] let s:lib.Codec.decoding_table["154,190"] = [49851] let s:lib.Codec.decoding_table["154,191"] = [49852] let s:lib.Codec.decoding_table["154,192"] = [49853] let s:lib.Codec.decoding_table["154,193"] = [49854] let s:lib.Codec.decoding_table["154,194"] = [49855] let s:lib.Codec.decoding_table["154,195"] = [49856] let s:lib.Codec.decoding_table["154,196"] = [49857] let s:lib.Codec.decoding_table["154,197"] = [49858] let s:lib.Codec.decoding_table["154,198"] = [49859] let s:lib.Codec.decoding_table["154,199"] = [49860] let s:lib.Codec.decoding_table["154,200"] = [49861] let s:lib.Codec.decoding_table["154,201"] = [49862] let s:lib.Codec.decoding_table["154,202"] = [49863] let s:lib.Codec.decoding_table["154,203"] = [49864] let s:lib.Codec.decoding_table["154,204"] = [49865] let s:lib.Codec.decoding_table["154,205"] = [49866] let s:lib.Codec.decoding_table["154,206"] = [49867] let s:lib.Codec.decoding_table["154,207"] = [49868] let s:lib.Codec.decoding_table["154,208"] = [49869] let s:lib.Codec.decoding_table["154,209"] = [49870] let s:lib.Codec.decoding_table["154,210"] = [49871] let s:lib.Codec.decoding_table["154,211"] = [49872] let s:lib.Codec.decoding_table["154,212"] = [49873] let s:lib.Codec.decoding_table["154,213"] = [49874] let s:lib.Codec.decoding_table["154,214"] = [49875] let s:lib.Codec.decoding_table["154,215"] = [49876] let s:lib.Codec.decoding_table["154,216"] = [49877] let s:lib.Codec.decoding_table["154,217"] = [49878] let s:lib.Codec.decoding_table["154,218"] = [49879] let s:lib.Codec.decoding_table["154,219"] = [49880] let s:lib.Codec.decoding_table["154,220"] = [49881] let s:lib.Codec.decoding_table["154,221"] = [49882] let s:lib.Codec.decoding_table["154,222"] = [49883] let s:lib.Codec.decoding_table["154,223"] = [49886] let s:lib.Codec.decoding_table["154,224"] = [49887] let s:lib.Codec.decoding_table["154,225"] = [49889] let s:lib.Codec.decoding_table["154,226"] = [49890] let s:lib.Codec.decoding_table["154,227"] = [49893] let s:lib.Codec.decoding_table["154,228"] = [49894] let s:lib.Codec.decoding_table["154,229"] = [49895] let s:lib.Codec.decoding_table["154,230"] = [49896] let s:lib.Codec.decoding_table["154,231"] = [49897] let s:lib.Codec.decoding_table["154,232"] = [49898] let s:lib.Codec.decoding_table["154,233"] = [49902] let s:lib.Codec.decoding_table["154,234"] = [49904] let s:lib.Codec.decoding_table["154,235"] = [49906] let s:lib.Codec.decoding_table["154,236"] = [49907] let s:lib.Codec.decoding_table["154,237"] = [49908] let s:lib.Codec.decoding_table["154,238"] = [49909] let s:lib.Codec.decoding_table["154,239"] = [49911] let s:lib.Codec.decoding_table["154,240"] = [49914] let s:lib.Codec.decoding_table["154,241"] = [49917] let s:lib.Codec.decoding_table["154,242"] = [49918] let s:lib.Codec.decoding_table["154,243"] = [49919] let s:lib.Codec.decoding_table["154,244"] = [49921] let s:lib.Codec.decoding_table["154,245"] = [49922] let s:lib.Codec.decoding_table["154,246"] = [49923] let s:lib.Codec.decoding_table["154,247"] = [49924] let s:lib.Codec.decoding_table["154,248"] = [49925] let s:lib.Codec.decoding_table["154,249"] = [49926] let s:lib.Codec.decoding_table["154,250"] = [49927] let s:lib.Codec.decoding_table["154,251"] = [49930] let s:lib.Codec.decoding_table["154,252"] = [49931] let s:lib.Codec.decoding_table["154,253"] = [49934] let s:lib.Codec.decoding_table["154,254"] = [49935] let s:lib.Codec.decoding_table["155,65"] = [49936] let s:lib.Codec.decoding_table["155,66"] = [49937] let s:lib.Codec.decoding_table["155,67"] = [49938] let s:lib.Codec.decoding_table["155,68"] = [49942] let s:lib.Codec.decoding_table["155,69"] = [49943] let s:lib.Codec.decoding_table["155,70"] = [49945] let s:lib.Codec.decoding_table["155,71"] = [49946] let s:lib.Codec.decoding_table["155,72"] = [49947] let s:lib.Codec.decoding_table["155,73"] = [49949] let s:lib.Codec.decoding_table["155,74"] = [49950] let s:lib.Codec.decoding_table["155,75"] = [49951] let s:lib.Codec.decoding_table["155,76"] = [49952] let s:lib.Codec.decoding_table["155,77"] = [49953] let s:lib.Codec.decoding_table["155,78"] = [49954] let s:lib.Codec.decoding_table["155,79"] = [49955] let s:lib.Codec.decoding_table["155,80"] = [49958] let s:lib.Codec.decoding_table["155,81"] = [49959] let s:lib.Codec.decoding_table["155,82"] = [49962] let s:lib.Codec.decoding_table["155,83"] = [49963] let s:lib.Codec.decoding_table["155,84"] = [49964] let s:lib.Codec.decoding_table["155,85"] = [49965] let s:lib.Codec.decoding_table["155,86"] = [49966] let s:lib.Codec.decoding_table["155,87"] = [49967] let s:lib.Codec.decoding_table["155,88"] = [49968] let s:lib.Codec.decoding_table["155,89"] = [49969] let s:lib.Codec.decoding_table["155,90"] = [49970] let s:lib.Codec.decoding_table["155,97"] = [49971] let s:lib.Codec.decoding_table["155,98"] = [49972] let s:lib.Codec.decoding_table["155,99"] = [49973] let s:lib.Codec.decoding_table["155,100"] = [49974] let s:lib.Codec.decoding_table["155,101"] = [49975] let s:lib.Codec.decoding_table["155,102"] = [49976] let s:lib.Codec.decoding_table["155,103"] = [49977] let s:lib.Codec.decoding_table["155,104"] = [49978] let s:lib.Codec.decoding_table["155,105"] = [49979] let s:lib.Codec.decoding_table["155,106"] = [49980] let s:lib.Codec.decoding_table["155,107"] = [49981] let s:lib.Codec.decoding_table["155,108"] = [49982] let s:lib.Codec.decoding_table["155,109"] = [49983] let s:lib.Codec.decoding_table["155,110"] = [49984] let s:lib.Codec.decoding_table["155,111"] = [49985] let s:lib.Codec.decoding_table["155,112"] = [49986] let s:lib.Codec.decoding_table["155,113"] = [49987] let s:lib.Codec.decoding_table["155,114"] = [49988] let s:lib.Codec.decoding_table["155,115"] = [49990] let s:lib.Codec.decoding_table["155,116"] = [49991] let s:lib.Codec.decoding_table["155,117"] = [49992] let s:lib.Codec.decoding_table["155,118"] = [49993] let s:lib.Codec.decoding_table["155,119"] = [49994] let s:lib.Codec.decoding_table["155,120"] = [49995] let s:lib.Codec.decoding_table["155,121"] = [49996] let s:lib.Codec.decoding_table["155,122"] = [49997] let s:lib.Codec.decoding_table["155,129"] = [49998] let s:lib.Codec.decoding_table["155,130"] = [49999] let s:lib.Codec.decoding_table["155,131"] = [50000] let s:lib.Codec.decoding_table["155,132"] = [50001] let s:lib.Codec.decoding_table["155,133"] = [50002] let s:lib.Codec.decoding_table["155,134"] = [50003] let s:lib.Codec.decoding_table["155,135"] = [50004] let s:lib.Codec.decoding_table["155,136"] = [50005] let s:lib.Codec.decoding_table["155,137"] = [50006] let s:lib.Codec.decoding_table["155,138"] = [50007] let s:lib.Codec.decoding_table["155,139"] = [50008] let s:lib.Codec.decoding_table["155,140"] = [50009] let s:lib.Codec.decoding_table["155,141"] = [50010] let s:lib.Codec.decoding_table["155,142"] = [50011] let s:lib.Codec.decoding_table["155,143"] = [50012] let s:lib.Codec.decoding_table["155,144"] = [50013] let s:lib.Codec.decoding_table["155,145"] = [50014] let s:lib.Codec.decoding_table["155,146"] = [50015] let s:lib.Codec.decoding_table["155,147"] = [50016] let s:lib.Codec.decoding_table["155,148"] = [50017] let s:lib.Codec.decoding_table["155,149"] = [50018] let s:lib.Codec.decoding_table["155,150"] = [50019] let s:lib.Codec.decoding_table["155,151"] = [50020] let s:lib.Codec.decoding_table["155,152"] = [50021] let s:lib.Codec.decoding_table["155,153"] = [50022] let s:lib.Codec.decoding_table["155,154"] = [50023] let s:lib.Codec.decoding_table["155,155"] = [50026] let s:lib.Codec.decoding_table["155,156"] = [50027] let s:lib.Codec.decoding_table["155,157"] = [50029] let s:lib.Codec.decoding_table["155,158"] = [50030] let s:lib.Codec.decoding_table["155,159"] = [50031] let s:lib.Codec.decoding_table["155,160"] = [50033] let s:lib.Codec.decoding_table["155,161"] = [50035] let s:lib.Codec.decoding_table["155,162"] = [50036] let s:lib.Codec.decoding_table["155,163"] = [50037] let s:lib.Codec.decoding_table["155,164"] = [50038] let s:lib.Codec.decoding_table["155,165"] = [50039] let s:lib.Codec.decoding_table["155,166"] = [50042] let s:lib.Codec.decoding_table["155,167"] = [50043] let s:lib.Codec.decoding_table["155,168"] = [50046] let s:lib.Codec.decoding_table["155,169"] = [50047] let s:lib.Codec.decoding_table["155,170"] = [50048] let s:lib.Codec.decoding_table["155,171"] = [50049] let s:lib.Codec.decoding_table["155,172"] = [50050] let s:lib.Codec.decoding_table["155,173"] = [50051] let s:lib.Codec.decoding_table["155,174"] = [50053] let s:lib.Codec.decoding_table["155,175"] = [50054] let s:lib.Codec.decoding_table["155,176"] = [50055] let s:lib.Codec.decoding_table["155,177"] = [50057] let s:lib.Codec.decoding_table["155,178"] = [50058] let s:lib.Codec.decoding_table["155,179"] = [50059] let s:lib.Codec.decoding_table["155,180"] = [50061] let s:lib.Codec.decoding_table["155,181"] = [50062] let s:lib.Codec.decoding_table["155,182"] = [50063] let s:lib.Codec.decoding_table["155,183"] = [50064] let s:lib.Codec.decoding_table["155,184"] = [50065] let s:lib.Codec.decoding_table["155,185"] = [50066] let s:lib.Codec.decoding_table["155,186"] = [50067] let s:lib.Codec.decoding_table["155,187"] = [50068] let s:lib.Codec.decoding_table["155,188"] = [50069] let s:lib.Codec.decoding_table["155,189"] = [50070] let s:lib.Codec.decoding_table["155,190"] = [50071] let s:lib.Codec.decoding_table["155,191"] = [50072] let s:lib.Codec.decoding_table["155,192"] = [50073] let s:lib.Codec.decoding_table["155,193"] = [50074] let s:lib.Codec.decoding_table["155,194"] = [50075] let s:lib.Codec.decoding_table["155,195"] = [50076] let s:lib.Codec.decoding_table["155,196"] = [50077] let s:lib.Codec.decoding_table["155,197"] = [50078] let s:lib.Codec.decoding_table["155,198"] = [50079] let s:lib.Codec.decoding_table["155,199"] = [50080] let s:lib.Codec.decoding_table["155,200"] = [50081] let s:lib.Codec.decoding_table["155,201"] = [50082] let s:lib.Codec.decoding_table["155,202"] = [50083] let s:lib.Codec.decoding_table["155,203"] = [50084] let s:lib.Codec.decoding_table["155,204"] = [50085] let s:lib.Codec.decoding_table["155,205"] = [50086] let s:lib.Codec.decoding_table["155,206"] = [50087] let s:lib.Codec.decoding_table["155,207"] = [50088] let s:lib.Codec.decoding_table["155,208"] = [50089] let s:lib.Codec.decoding_table["155,209"] = [50090] let s:lib.Codec.decoding_table["155,210"] = [50091] let s:lib.Codec.decoding_table["155,211"] = [50092] let s:lib.Codec.decoding_table["155,212"] = [50093] let s:lib.Codec.decoding_table["155,213"] = [50094] let s:lib.Codec.decoding_table["155,214"] = [50095] let s:lib.Codec.decoding_table["155,215"] = [50096] let s:lib.Codec.decoding_table["155,216"] = [50097] let s:lib.Codec.decoding_table["155,217"] = [50098] let s:lib.Codec.decoding_table["155,218"] = [50099] let s:lib.Codec.decoding_table["155,219"] = [50100] let s:lib.Codec.decoding_table["155,220"] = [50101] let s:lib.Codec.decoding_table["155,221"] = [50102] let s:lib.Codec.decoding_table["155,222"] = [50103] let s:lib.Codec.decoding_table["155,223"] = [50104] let s:lib.Codec.decoding_table["155,224"] = [50105] let s:lib.Codec.decoding_table["155,225"] = [50106] let s:lib.Codec.decoding_table["155,226"] = [50107] let s:lib.Codec.decoding_table["155,227"] = [50108] let s:lib.Codec.decoding_table["155,228"] = [50109] let s:lib.Codec.decoding_table["155,229"] = [50110] let s:lib.Codec.decoding_table["155,230"] = [50111] let s:lib.Codec.decoding_table["155,231"] = [50113] let s:lib.Codec.decoding_table["155,232"] = [50114] let s:lib.Codec.decoding_table["155,233"] = [50115] let s:lib.Codec.decoding_table["155,234"] = [50116] let s:lib.Codec.decoding_table["155,235"] = [50117] let s:lib.Codec.decoding_table["155,236"] = [50118] let s:lib.Codec.decoding_table["155,237"] = [50119] let s:lib.Codec.decoding_table["155,238"] = [50120] let s:lib.Codec.decoding_table["155,239"] = [50121] let s:lib.Codec.decoding_table["155,240"] = [50122] let s:lib.Codec.decoding_table["155,241"] = [50123] let s:lib.Codec.decoding_table["155,242"] = [50124] let s:lib.Codec.decoding_table["155,243"] = [50125] let s:lib.Codec.decoding_table["155,244"] = [50126] let s:lib.Codec.decoding_table["155,245"] = [50127] let s:lib.Codec.decoding_table["155,246"] = [50128] let s:lib.Codec.decoding_table["155,247"] = [50129] let s:lib.Codec.decoding_table["155,248"] = [50130] let s:lib.Codec.decoding_table["155,249"] = [50131] let s:lib.Codec.decoding_table["155,250"] = [50132] let s:lib.Codec.decoding_table["155,251"] = [50133] let s:lib.Codec.decoding_table["155,252"] = [50134] let s:lib.Codec.decoding_table["155,253"] = [50135] let s:lib.Codec.decoding_table["155,254"] = [50138] let s:lib.Codec.decoding_table["156,65"] = [50139] let s:lib.Codec.decoding_table["156,66"] = [50141] let s:lib.Codec.decoding_table["156,67"] = [50142] let s:lib.Codec.decoding_table["156,68"] = [50145] let s:lib.Codec.decoding_table["156,69"] = [50147] let s:lib.Codec.decoding_table["156,70"] = [50148] let s:lib.Codec.decoding_table["156,71"] = [50149] let s:lib.Codec.decoding_table["156,72"] = [50150] let s:lib.Codec.decoding_table["156,73"] = [50151] let s:lib.Codec.decoding_table["156,74"] = [50154] let s:lib.Codec.decoding_table["156,75"] = [50155] let s:lib.Codec.decoding_table["156,76"] = [50156] let s:lib.Codec.decoding_table["156,77"] = [50158] let s:lib.Codec.decoding_table["156,78"] = [50159] let s:lib.Codec.decoding_table["156,79"] = [50160] let s:lib.Codec.decoding_table["156,80"] = [50161] let s:lib.Codec.decoding_table["156,81"] = [50162] let s:lib.Codec.decoding_table["156,82"] = [50163] let s:lib.Codec.decoding_table["156,83"] = [50166] let s:lib.Codec.decoding_table["156,84"] = [50167] let s:lib.Codec.decoding_table["156,85"] = [50169] let s:lib.Codec.decoding_table["156,86"] = [50170] let s:lib.Codec.decoding_table["156,87"] = [50171] let s:lib.Codec.decoding_table["156,88"] = [50172] let s:lib.Codec.decoding_table["156,89"] = [50173] let s:lib.Codec.decoding_table["156,90"] = [50174] let s:lib.Codec.decoding_table["156,97"] = [50175] let s:lib.Codec.decoding_table["156,98"] = [50176] let s:lib.Codec.decoding_table["156,99"] = [50177] let s:lib.Codec.decoding_table["156,100"] = [50178] let s:lib.Codec.decoding_table["156,101"] = [50179] let s:lib.Codec.decoding_table["156,102"] = [50180] let s:lib.Codec.decoding_table["156,103"] = [50181] let s:lib.Codec.decoding_table["156,104"] = [50182] let s:lib.Codec.decoding_table["156,105"] = [50183] let s:lib.Codec.decoding_table["156,106"] = [50185] let s:lib.Codec.decoding_table["156,107"] = [50186] let s:lib.Codec.decoding_table["156,108"] = [50187] let s:lib.Codec.decoding_table["156,109"] = [50188] let s:lib.Codec.decoding_table["156,110"] = [50189] let s:lib.Codec.decoding_table["156,111"] = [50190] let s:lib.Codec.decoding_table["156,112"] = [50191] let s:lib.Codec.decoding_table["156,113"] = [50193] let s:lib.Codec.decoding_table["156,114"] = [50194] let s:lib.Codec.decoding_table["156,115"] = [50195] let s:lib.Codec.decoding_table["156,116"] = [50196] let s:lib.Codec.decoding_table["156,117"] = [50197] let s:lib.Codec.decoding_table["156,118"] = [50198] let s:lib.Codec.decoding_table["156,119"] = [50199] let s:lib.Codec.decoding_table["156,120"] = [50200] let s:lib.Codec.decoding_table["156,121"] = [50201] let s:lib.Codec.decoding_table["156,122"] = [50202] let s:lib.Codec.decoding_table["156,129"] = [50203] let s:lib.Codec.decoding_table["156,130"] = [50204] let s:lib.Codec.decoding_table["156,131"] = [50205] let s:lib.Codec.decoding_table["156,132"] = [50206] let s:lib.Codec.decoding_table["156,133"] = [50207] let s:lib.Codec.decoding_table["156,134"] = [50208] let s:lib.Codec.decoding_table["156,135"] = [50209] let s:lib.Codec.decoding_table["156,136"] = [50210] let s:lib.Codec.decoding_table["156,137"] = [50211] let s:lib.Codec.decoding_table["156,138"] = [50213] let s:lib.Codec.decoding_table["156,139"] = [50214] let s:lib.Codec.decoding_table["156,140"] = [50215] let s:lib.Codec.decoding_table["156,141"] = [50216] let s:lib.Codec.decoding_table["156,142"] = [50217] let s:lib.Codec.decoding_table["156,143"] = [50218] let s:lib.Codec.decoding_table["156,144"] = [50219] let s:lib.Codec.decoding_table["156,145"] = [50221] let s:lib.Codec.decoding_table["156,146"] = [50222] let s:lib.Codec.decoding_table["156,147"] = [50223] let s:lib.Codec.decoding_table["156,148"] = [50225] let s:lib.Codec.decoding_table["156,149"] = [50226] let s:lib.Codec.decoding_table["156,150"] = [50227] let s:lib.Codec.decoding_table["156,151"] = [50229] let s:lib.Codec.decoding_table["156,152"] = [50230] let s:lib.Codec.decoding_table["156,153"] = [50231] let s:lib.Codec.decoding_table["156,154"] = [50232] let s:lib.Codec.decoding_table["156,155"] = [50233] let s:lib.Codec.decoding_table["156,156"] = [50234] let s:lib.Codec.decoding_table["156,157"] = [50235] let s:lib.Codec.decoding_table["156,158"] = [50238] let s:lib.Codec.decoding_table["156,159"] = [50239] let s:lib.Codec.decoding_table["156,160"] = [50240] let s:lib.Codec.decoding_table["156,161"] = [50241] let s:lib.Codec.decoding_table["156,162"] = [50242] let s:lib.Codec.decoding_table["156,163"] = [50243] let s:lib.Codec.decoding_table["156,164"] = [50244] let s:lib.Codec.decoding_table["156,165"] = [50245] let s:lib.Codec.decoding_table["156,166"] = [50246] let s:lib.Codec.decoding_table["156,167"] = [50247] let s:lib.Codec.decoding_table["156,168"] = [50249] let s:lib.Codec.decoding_table["156,169"] = [50250] let s:lib.Codec.decoding_table["156,170"] = [50251] let s:lib.Codec.decoding_table["156,171"] = [50252] let s:lib.Codec.decoding_table["156,172"] = [50253] let s:lib.Codec.decoding_table["156,173"] = [50254] let s:lib.Codec.decoding_table["156,174"] = [50255] let s:lib.Codec.decoding_table["156,175"] = [50256] let s:lib.Codec.decoding_table["156,176"] = [50257] let s:lib.Codec.decoding_table["156,177"] = [50258] let s:lib.Codec.decoding_table["156,178"] = [50259] let s:lib.Codec.decoding_table["156,179"] = [50260] let s:lib.Codec.decoding_table["156,180"] = [50261] let s:lib.Codec.decoding_table["156,181"] = [50262] let s:lib.Codec.decoding_table["156,182"] = [50263] let s:lib.Codec.decoding_table["156,183"] = [50264] let s:lib.Codec.decoding_table["156,184"] = [50265] let s:lib.Codec.decoding_table["156,185"] = [50266] let s:lib.Codec.decoding_table["156,186"] = [50267] let s:lib.Codec.decoding_table["156,187"] = [50268] let s:lib.Codec.decoding_table["156,188"] = [50269] let s:lib.Codec.decoding_table["156,189"] = [50270] let s:lib.Codec.decoding_table["156,190"] = [50271] let s:lib.Codec.decoding_table["156,191"] = [50272] let s:lib.Codec.decoding_table["156,192"] = [50273] let s:lib.Codec.decoding_table["156,193"] = [50274] let s:lib.Codec.decoding_table["156,194"] = [50275] let s:lib.Codec.decoding_table["156,195"] = [50278] let s:lib.Codec.decoding_table["156,196"] = [50279] let s:lib.Codec.decoding_table["156,197"] = [50281] let s:lib.Codec.decoding_table["156,198"] = [50282] let s:lib.Codec.decoding_table["156,199"] = [50283] let s:lib.Codec.decoding_table["156,200"] = [50285] let s:lib.Codec.decoding_table["156,201"] = [50286] let s:lib.Codec.decoding_table["156,202"] = [50287] let s:lib.Codec.decoding_table["156,203"] = [50288] let s:lib.Codec.decoding_table["156,204"] = [50289] let s:lib.Codec.decoding_table["156,205"] = [50290] let s:lib.Codec.decoding_table["156,206"] = [50291] let s:lib.Codec.decoding_table["156,207"] = [50294] let s:lib.Codec.decoding_table["156,208"] = [50295] let s:lib.Codec.decoding_table["156,209"] = [50296] let s:lib.Codec.decoding_table["156,210"] = [50298] let s:lib.Codec.decoding_table["156,211"] = [50299] let s:lib.Codec.decoding_table["156,212"] = [50300] let s:lib.Codec.decoding_table["156,213"] = [50301] let s:lib.Codec.decoding_table["156,214"] = [50302] let s:lib.Codec.decoding_table["156,215"] = [50303] let s:lib.Codec.decoding_table["156,216"] = [50305] let s:lib.Codec.decoding_table["156,217"] = [50306] let s:lib.Codec.decoding_table["156,218"] = [50307] let s:lib.Codec.decoding_table["156,219"] = [50308] let s:lib.Codec.decoding_table["156,220"] = [50309] let s:lib.Codec.decoding_table["156,221"] = [50310] let s:lib.Codec.decoding_table["156,222"] = [50311] let s:lib.Codec.decoding_table["156,223"] = [50312] let s:lib.Codec.decoding_table["156,224"] = [50313] let s:lib.Codec.decoding_table["156,225"] = [50314] let s:lib.Codec.decoding_table["156,226"] = [50315] let s:lib.Codec.decoding_table["156,227"] = [50316] let s:lib.Codec.decoding_table["156,228"] = [50317] let s:lib.Codec.decoding_table["156,229"] = [50318] let s:lib.Codec.decoding_table["156,230"] = [50319] let s:lib.Codec.decoding_table["156,231"] = [50320] let s:lib.Codec.decoding_table["156,232"] = [50321] let s:lib.Codec.decoding_table["156,233"] = [50322] let s:lib.Codec.decoding_table["156,234"] = [50323] let s:lib.Codec.decoding_table["156,235"] = [50325] let s:lib.Codec.decoding_table["156,236"] = [50326] let s:lib.Codec.decoding_table["156,237"] = [50327] let s:lib.Codec.decoding_table["156,238"] = [50328] let s:lib.Codec.decoding_table["156,239"] = [50329] let s:lib.Codec.decoding_table["156,240"] = [50330] let s:lib.Codec.decoding_table["156,241"] = [50331] let s:lib.Codec.decoding_table["156,242"] = [50333] let s:lib.Codec.decoding_table["156,243"] = [50334] let s:lib.Codec.decoding_table["156,244"] = [50335] let s:lib.Codec.decoding_table["156,245"] = [50336] let s:lib.Codec.decoding_table["156,246"] = [50337] let s:lib.Codec.decoding_table["156,247"] = [50338] let s:lib.Codec.decoding_table["156,248"] = [50339] let s:lib.Codec.decoding_table["156,249"] = [50340] let s:lib.Codec.decoding_table["156,250"] = [50341] let s:lib.Codec.decoding_table["156,251"] = [50342] let s:lib.Codec.decoding_table["156,252"] = [50343] let s:lib.Codec.decoding_table["156,253"] = [50344] let s:lib.Codec.decoding_table["156,254"] = [50345] let s:lib.Codec.decoding_table["157,65"] = [50346] let s:lib.Codec.decoding_table["157,66"] = [50347] let s:lib.Codec.decoding_table["157,67"] = [50348] let s:lib.Codec.decoding_table["157,68"] = [50349] let s:lib.Codec.decoding_table["157,69"] = [50350] let s:lib.Codec.decoding_table["157,70"] = [50351] let s:lib.Codec.decoding_table["157,71"] = [50352] let s:lib.Codec.decoding_table["157,72"] = [50353] let s:lib.Codec.decoding_table["157,73"] = [50354] let s:lib.Codec.decoding_table["157,74"] = [50355] let s:lib.Codec.decoding_table["157,75"] = [50356] let s:lib.Codec.decoding_table["157,76"] = [50357] let s:lib.Codec.decoding_table["157,77"] = [50358] let s:lib.Codec.decoding_table["157,78"] = [50359] let s:lib.Codec.decoding_table["157,79"] = [50361] let s:lib.Codec.decoding_table["157,80"] = [50362] let s:lib.Codec.decoding_table["157,81"] = [50363] let s:lib.Codec.decoding_table["157,82"] = [50365] let s:lib.Codec.decoding_table["157,83"] = [50366] let s:lib.Codec.decoding_table["157,84"] = [50367] let s:lib.Codec.decoding_table["157,85"] = [50368] let s:lib.Codec.decoding_table["157,86"] = [50369] let s:lib.Codec.decoding_table["157,87"] = [50370] let s:lib.Codec.decoding_table["157,88"] = [50371] let s:lib.Codec.decoding_table["157,89"] = [50372] let s:lib.Codec.decoding_table["157,90"] = [50373] let s:lib.Codec.decoding_table["157,97"] = [50374] let s:lib.Codec.decoding_table["157,98"] = [50375] let s:lib.Codec.decoding_table["157,99"] = [50376] let s:lib.Codec.decoding_table["157,100"] = [50377] let s:lib.Codec.decoding_table["157,101"] = [50378] let s:lib.Codec.decoding_table["157,102"] = [50379] let s:lib.Codec.decoding_table["157,103"] = [50380] let s:lib.Codec.decoding_table["157,104"] = [50381] let s:lib.Codec.decoding_table["157,105"] = [50382] let s:lib.Codec.decoding_table["157,106"] = [50383] let s:lib.Codec.decoding_table["157,107"] = [50384] let s:lib.Codec.decoding_table["157,108"] = [50385] let s:lib.Codec.decoding_table["157,109"] = [50386] let s:lib.Codec.decoding_table["157,110"] = [50387] let s:lib.Codec.decoding_table["157,111"] = [50388] let s:lib.Codec.decoding_table["157,112"] = [50389] let s:lib.Codec.decoding_table["157,113"] = [50390] let s:lib.Codec.decoding_table["157,114"] = [50391] let s:lib.Codec.decoding_table["157,115"] = [50392] let s:lib.Codec.decoding_table["157,116"] = [50393] let s:lib.Codec.decoding_table["157,117"] = [50394] let s:lib.Codec.decoding_table["157,118"] = [50395] let s:lib.Codec.decoding_table["157,119"] = [50396] let s:lib.Codec.decoding_table["157,120"] = [50397] let s:lib.Codec.decoding_table["157,121"] = [50398] let s:lib.Codec.decoding_table["157,122"] = [50399] let s:lib.Codec.decoding_table["157,129"] = [50400] let s:lib.Codec.decoding_table["157,130"] = [50401] let s:lib.Codec.decoding_table["157,131"] = [50402] let s:lib.Codec.decoding_table["157,132"] = [50403] let s:lib.Codec.decoding_table["157,133"] = [50404] let s:lib.Codec.decoding_table["157,134"] = [50405] let s:lib.Codec.decoding_table["157,135"] = [50406] let s:lib.Codec.decoding_table["157,136"] = [50407] let s:lib.Codec.decoding_table["157,137"] = [50408] let s:lib.Codec.decoding_table["157,138"] = [50410] let s:lib.Codec.decoding_table["157,139"] = [50411] let s:lib.Codec.decoding_table["157,140"] = [50412] let s:lib.Codec.decoding_table["157,141"] = [50413] let s:lib.Codec.decoding_table["157,142"] = [50414] let s:lib.Codec.decoding_table["157,143"] = [50415] let s:lib.Codec.decoding_table["157,144"] = [50418] let s:lib.Codec.decoding_table["157,145"] = [50419] let s:lib.Codec.decoding_table["157,146"] = [50421] let s:lib.Codec.decoding_table["157,147"] = [50422] let s:lib.Codec.decoding_table["157,148"] = [50423] let s:lib.Codec.decoding_table["157,149"] = [50425] let s:lib.Codec.decoding_table["157,150"] = [50427] let s:lib.Codec.decoding_table["157,151"] = [50428] let s:lib.Codec.decoding_table["157,152"] = [50429] let s:lib.Codec.decoding_table["157,153"] = [50430] let s:lib.Codec.decoding_table["157,154"] = [50434] let s:lib.Codec.decoding_table["157,155"] = [50435] let s:lib.Codec.decoding_table["157,156"] = [50436] let s:lib.Codec.decoding_table["157,157"] = [50437] let s:lib.Codec.decoding_table["157,158"] = [50438] let s:lib.Codec.decoding_table["157,159"] = [50439] let s:lib.Codec.decoding_table["157,160"] = [50440] let s:lib.Codec.decoding_table["157,161"] = [50441] let s:lib.Codec.decoding_table["157,162"] = [50442] let s:lib.Codec.decoding_table["157,163"] = [50443] let s:lib.Codec.decoding_table["157,164"] = [50445] let s:lib.Codec.decoding_table["157,165"] = [50446] let s:lib.Codec.decoding_table["157,166"] = [50447] let s:lib.Codec.decoding_table["157,167"] = [50449] let s:lib.Codec.decoding_table["157,168"] = [50450] let s:lib.Codec.decoding_table["157,169"] = [50451] let s:lib.Codec.decoding_table["157,170"] = [50453] let s:lib.Codec.decoding_table["157,171"] = [50454] let s:lib.Codec.decoding_table["157,172"] = [50455] let s:lib.Codec.decoding_table["157,173"] = [50456] let s:lib.Codec.decoding_table["157,174"] = [50457] let s:lib.Codec.decoding_table["157,175"] = [50458] let s:lib.Codec.decoding_table["157,176"] = [50459] let s:lib.Codec.decoding_table["157,177"] = [50461] let s:lib.Codec.decoding_table["157,178"] = [50462] let s:lib.Codec.decoding_table["157,179"] = [50463] let s:lib.Codec.decoding_table["157,180"] = [50464] let s:lib.Codec.decoding_table["157,181"] = [50465] let s:lib.Codec.decoding_table["157,182"] = [50466] let s:lib.Codec.decoding_table["157,183"] = [50467] let s:lib.Codec.decoding_table["157,184"] = [50468] let s:lib.Codec.decoding_table["157,185"] = [50469] let s:lib.Codec.decoding_table["157,186"] = [50470] let s:lib.Codec.decoding_table["157,187"] = [50471] let s:lib.Codec.decoding_table["157,188"] = [50474] let s:lib.Codec.decoding_table["157,189"] = [50475] let s:lib.Codec.decoding_table["157,190"] = [50477] let s:lib.Codec.decoding_table["157,191"] = [50478] let s:lib.Codec.decoding_table["157,192"] = [50479] let s:lib.Codec.decoding_table["157,193"] = [50481] let s:lib.Codec.decoding_table["157,194"] = [50482] let s:lib.Codec.decoding_table["157,195"] = [50483] let s:lib.Codec.decoding_table["157,196"] = [50484] let s:lib.Codec.decoding_table["157,197"] = [50485] let s:lib.Codec.decoding_table["157,198"] = [50486] let s:lib.Codec.decoding_table["157,199"] = [50487] let s:lib.Codec.decoding_table["157,200"] = [50490] let s:lib.Codec.decoding_table["157,201"] = [50492] let s:lib.Codec.decoding_table["157,202"] = [50494] let s:lib.Codec.decoding_table["157,203"] = [50495] let s:lib.Codec.decoding_table["157,204"] = [50496] let s:lib.Codec.decoding_table["157,205"] = [50497] let s:lib.Codec.decoding_table["157,206"] = [50498] let s:lib.Codec.decoding_table["157,207"] = [50499] let s:lib.Codec.decoding_table["157,208"] = [50502] let s:lib.Codec.decoding_table["157,209"] = [50503] let s:lib.Codec.decoding_table["157,210"] = [50507] let s:lib.Codec.decoding_table["157,211"] = [50511] let s:lib.Codec.decoding_table["157,212"] = [50512] let s:lib.Codec.decoding_table["157,213"] = [50513] let s:lib.Codec.decoding_table["157,214"] = [50514] let s:lib.Codec.decoding_table["157,215"] = [50518] let s:lib.Codec.decoding_table["157,216"] = [50522] let s:lib.Codec.decoding_table["157,217"] = [50523] let s:lib.Codec.decoding_table["157,218"] = [50524] let s:lib.Codec.decoding_table["157,219"] = [50527] let s:lib.Codec.decoding_table["157,220"] = [50530] let s:lib.Codec.decoding_table["157,221"] = [50531] let s:lib.Codec.decoding_table["157,222"] = [50533] let s:lib.Codec.decoding_table["157,223"] = [50534] let s:lib.Codec.decoding_table["157,224"] = [50535] let s:lib.Codec.decoding_table["157,225"] = [50537] let s:lib.Codec.decoding_table["157,226"] = [50538] let s:lib.Codec.decoding_table["157,227"] = [50539] let s:lib.Codec.decoding_table["157,228"] = [50540] let s:lib.Codec.decoding_table["157,229"] = [50541] let s:lib.Codec.decoding_table["157,230"] = [50542] let s:lib.Codec.decoding_table["157,231"] = [50543] let s:lib.Codec.decoding_table["157,232"] = [50546] let s:lib.Codec.decoding_table["157,233"] = [50550] let s:lib.Codec.decoding_table["157,234"] = [50551] let s:lib.Codec.decoding_table["157,235"] = [50552] let s:lib.Codec.decoding_table["157,236"] = [50553] let s:lib.Codec.decoding_table["157,237"] = [50554] let s:lib.Codec.decoding_table["157,238"] = [50555] let s:lib.Codec.decoding_table["157,239"] = [50558] let s:lib.Codec.decoding_table["157,240"] = [50559] let s:lib.Codec.decoding_table["157,241"] = [50561] let s:lib.Codec.decoding_table["157,242"] = [50562] let s:lib.Codec.decoding_table["157,243"] = [50563] let s:lib.Codec.decoding_table["157,244"] = [50565] let s:lib.Codec.decoding_table["157,245"] = [50566] let s:lib.Codec.decoding_table["157,246"] = [50568] let s:lib.Codec.decoding_table["157,247"] = [50569] let s:lib.Codec.decoding_table["157,248"] = [50570] let s:lib.Codec.decoding_table["157,249"] = [50571] let s:lib.Codec.decoding_table["157,250"] = [50574] let s:lib.Codec.decoding_table["157,251"] = [50576] let s:lib.Codec.decoding_table["157,252"] = [50578] let s:lib.Codec.decoding_table["157,253"] = [50579] let s:lib.Codec.decoding_table["157,254"] = [50580] let s:lib.Codec.decoding_table["158,65"] = [50582] let s:lib.Codec.decoding_table["158,66"] = [50585] let s:lib.Codec.decoding_table["158,67"] = [50586] let s:lib.Codec.decoding_table["158,68"] = [50587] let s:lib.Codec.decoding_table["158,69"] = [50589] let s:lib.Codec.decoding_table["158,70"] = [50590] let s:lib.Codec.decoding_table["158,71"] = [50591] let s:lib.Codec.decoding_table["158,72"] = [50593] let s:lib.Codec.decoding_table["158,73"] = [50594] let s:lib.Codec.decoding_table["158,74"] = [50595] let s:lib.Codec.decoding_table["158,75"] = [50596] let s:lib.Codec.decoding_table["158,76"] = [50597] let s:lib.Codec.decoding_table["158,77"] = [50598] let s:lib.Codec.decoding_table["158,78"] = [50599] let s:lib.Codec.decoding_table["158,79"] = [50600] let s:lib.Codec.decoding_table["158,80"] = [50602] let s:lib.Codec.decoding_table["158,81"] = [50603] let s:lib.Codec.decoding_table["158,82"] = [50604] let s:lib.Codec.decoding_table["158,83"] = [50605] let s:lib.Codec.decoding_table["158,84"] = [50606] let s:lib.Codec.decoding_table["158,85"] = [50607] let s:lib.Codec.decoding_table["158,86"] = [50608] let s:lib.Codec.decoding_table["158,87"] = [50609] let s:lib.Codec.decoding_table["158,88"] = [50610] let s:lib.Codec.decoding_table["158,89"] = [50611] let s:lib.Codec.decoding_table["158,90"] = [50614] let s:lib.Codec.decoding_table["158,97"] = [50615] let s:lib.Codec.decoding_table["158,98"] = [50618] let s:lib.Codec.decoding_table["158,99"] = [50623] let s:lib.Codec.decoding_table["158,100"] = [50624] let s:lib.Codec.decoding_table["158,101"] = [50625] let s:lib.Codec.decoding_table["158,102"] = [50626] let s:lib.Codec.decoding_table["158,103"] = [50627] let s:lib.Codec.decoding_table["158,104"] = [50635] let s:lib.Codec.decoding_table["158,105"] = [50637] let s:lib.Codec.decoding_table["158,106"] = [50639] let s:lib.Codec.decoding_table["158,107"] = [50642] let s:lib.Codec.decoding_table["158,108"] = [50643] let s:lib.Codec.decoding_table["158,109"] = [50645] let s:lib.Codec.decoding_table["158,110"] = [50646] let s:lib.Codec.decoding_table["158,111"] = [50647] let s:lib.Codec.decoding_table["158,112"] = [50649] let s:lib.Codec.decoding_table["158,113"] = [50650] let s:lib.Codec.decoding_table["158,114"] = [50651] let s:lib.Codec.decoding_table["158,115"] = [50652] let s:lib.Codec.decoding_table["158,116"] = [50653] let s:lib.Codec.decoding_table["158,117"] = [50654] let s:lib.Codec.decoding_table["158,118"] = [50655] let s:lib.Codec.decoding_table["158,119"] = [50658] let s:lib.Codec.decoding_table["158,120"] = [50660] let s:lib.Codec.decoding_table["158,121"] = [50662] let s:lib.Codec.decoding_table["158,122"] = [50663] let s:lib.Codec.decoding_table["158,129"] = [50664] let s:lib.Codec.decoding_table["158,130"] = [50665] let s:lib.Codec.decoding_table["158,131"] = [50666] let s:lib.Codec.decoding_table["158,132"] = [50667] let s:lib.Codec.decoding_table["158,133"] = [50671] let s:lib.Codec.decoding_table["158,134"] = [50673] let s:lib.Codec.decoding_table["158,135"] = [50674] let s:lib.Codec.decoding_table["158,136"] = [50675] let s:lib.Codec.decoding_table["158,137"] = [50677] let s:lib.Codec.decoding_table["158,138"] = [50680] let s:lib.Codec.decoding_table["158,139"] = [50681] let s:lib.Codec.decoding_table["158,140"] = [50682] let s:lib.Codec.decoding_table["158,141"] = [50683] let s:lib.Codec.decoding_table["158,142"] = [50690] let s:lib.Codec.decoding_table["158,143"] = [50691] let s:lib.Codec.decoding_table["158,144"] = [50692] let s:lib.Codec.decoding_table["158,145"] = [50697] let s:lib.Codec.decoding_table["158,146"] = [50698] let s:lib.Codec.decoding_table["158,147"] = [50699] let s:lib.Codec.decoding_table["158,148"] = [50701] let s:lib.Codec.decoding_table["158,149"] = [50702] let s:lib.Codec.decoding_table["158,150"] = [50703] let s:lib.Codec.decoding_table["158,151"] = [50705] let s:lib.Codec.decoding_table["158,152"] = [50706] let s:lib.Codec.decoding_table["158,153"] = [50707] let s:lib.Codec.decoding_table["158,154"] = [50708] let s:lib.Codec.decoding_table["158,155"] = [50709] let s:lib.Codec.decoding_table["158,156"] = [50710] let s:lib.Codec.decoding_table["158,157"] = [50711] let s:lib.Codec.decoding_table["158,158"] = [50714] let s:lib.Codec.decoding_table["158,159"] = [50717] let s:lib.Codec.decoding_table["158,160"] = [50718] let s:lib.Codec.decoding_table["158,161"] = [50719] let s:lib.Codec.decoding_table["158,162"] = [50720] let s:lib.Codec.decoding_table["158,163"] = [50721] let s:lib.Codec.decoding_table["158,164"] = [50722] let s:lib.Codec.decoding_table["158,165"] = [50723] let s:lib.Codec.decoding_table["158,166"] = [50726] let s:lib.Codec.decoding_table["158,167"] = [50727] let s:lib.Codec.decoding_table["158,168"] = [50729] let s:lib.Codec.decoding_table["158,169"] = [50730] let s:lib.Codec.decoding_table["158,170"] = [50731] let s:lib.Codec.decoding_table["158,171"] = [50735] let s:lib.Codec.decoding_table["158,172"] = [50737] let s:lib.Codec.decoding_table["158,173"] = [50738] let s:lib.Codec.decoding_table["158,174"] = [50742] let s:lib.Codec.decoding_table["158,175"] = [50744] let s:lib.Codec.decoding_table["158,176"] = [50746] let s:lib.Codec.decoding_table["158,177"] = [50748] let s:lib.Codec.decoding_table["158,178"] = [50749] let s:lib.Codec.decoding_table["158,179"] = [50750] let s:lib.Codec.decoding_table["158,180"] = [50751] let s:lib.Codec.decoding_table["158,181"] = [50754] let s:lib.Codec.decoding_table["158,182"] = [50755] let s:lib.Codec.decoding_table["158,183"] = [50757] let s:lib.Codec.decoding_table["158,184"] = [50758] let s:lib.Codec.decoding_table["158,185"] = [50759] let s:lib.Codec.decoding_table["158,186"] = [50761] let s:lib.Codec.decoding_table["158,187"] = [50762] let s:lib.Codec.decoding_table["158,188"] = [50763] let s:lib.Codec.decoding_table["158,189"] = [50764] let s:lib.Codec.decoding_table["158,190"] = [50765] let s:lib.Codec.decoding_table["158,191"] = [50766] let s:lib.Codec.decoding_table["158,192"] = [50767] let s:lib.Codec.decoding_table["158,193"] = [50770] let s:lib.Codec.decoding_table["158,194"] = [50774] let s:lib.Codec.decoding_table["158,195"] = [50775] let s:lib.Codec.decoding_table["158,196"] = [50776] let s:lib.Codec.decoding_table["158,197"] = [50777] let s:lib.Codec.decoding_table["158,198"] = [50778] let s:lib.Codec.decoding_table["158,199"] = [50779] let s:lib.Codec.decoding_table["158,200"] = [50782] let s:lib.Codec.decoding_table["158,201"] = [50783] let s:lib.Codec.decoding_table["158,202"] = [50785] let s:lib.Codec.decoding_table["158,203"] = [50786] let s:lib.Codec.decoding_table["158,204"] = [50787] let s:lib.Codec.decoding_table["158,205"] = [50788] let s:lib.Codec.decoding_table["158,206"] = [50789] let s:lib.Codec.decoding_table["158,207"] = [50790] let s:lib.Codec.decoding_table["158,208"] = [50791] let s:lib.Codec.decoding_table["158,209"] = [50792] let s:lib.Codec.decoding_table["158,210"] = [50793] let s:lib.Codec.decoding_table["158,211"] = [50794] let s:lib.Codec.decoding_table["158,212"] = [50795] let s:lib.Codec.decoding_table["158,213"] = [50797] let s:lib.Codec.decoding_table["158,214"] = [50798] let s:lib.Codec.decoding_table["158,215"] = [50800] let s:lib.Codec.decoding_table["158,216"] = [50802] let s:lib.Codec.decoding_table["158,217"] = [50803] let s:lib.Codec.decoding_table["158,218"] = [50804] let s:lib.Codec.decoding_table["158,219"] = [50805] let s:lib.Codec.decoding_table["158,220"] = [50806] let s:lib.Codec.decoding_table["158,221"] = [50807] let s:lib.Codec.decoding_table["158,222"] = [50810] let s:lib.Codec.decoding_table["158,223"] = [50811] let s:lib.Codec.decoding_table["158,224"] = [50813] let s:lib.Codec.decoding_table["158,225"] = [50814] let s:lib.Codec.decoding_table["158,226"] = [50815] let s:lib.Codec.decoding_table["158,227"] = [50817] let s:lib.Codec.decoding_table["158,228"] = [50818] let s:lib.Codec.decoding_table["158,229"] = [50819] let s:lib.Codec.decoding_table["158,230"] = [50820] let s:lib.Codec.decoding_table["158,231"] = [50821] let s:lib.Codec.decoding_table["158,232"] = [50822] let s:lib.Codec.decoding_table["158,233"] = [50823] let s:lib.Codec.decoding_table["158,234"] = [50826] let s:lib.Codec.decoding_table["158,235"] = [50828] let s:lib.Codec.decoding_table["158,236"] = [50830] let s:lib.Codec.decoding_table["158,237"] = [50831] let s:lib.Codec.decoding_table["158,238"] = [50832] let s:lib.Codec.decoding_table["158,239"] = [50833] let s:lib.Codec.decoding_table["158,240"] = [50834] let s:lib.Codec.decoding_table["158,241"] = [50835] let s:lib.Codec.decoding_table["158,242"] = [50838] let s:lib.Codec.decoding_table["158,243"] = [50839] let s:lib.Codec.decoding_table["158,244"] = [50841] let s:lib.Codec.decoding_table["158,245"] = [50842] let s:lib.Codec.decoding_table["158,246"] = [50843] let s:lib.Codec.decoding_table["158,247"] = [50845] let s:lib.Codec.decoding_table["158,248"] = [50846] let s:lib.Codec.decoding_table["158,249"] = [50847] let s:lib.Codec.decoding_table["158,250"] = [50848] let s:lib.Codec.decoding_table["158,251"] = [50849] let s:lib.Codec.decoding_table["158,252"] = [50850] let s:lib.Codec.decoding_table["158,253"] = [50851] let s:lib.Codec.decoding_table["158,254"] = [50854] let s:lib.Codec.decoding_table["159,65"] = [50856] let s:lib.Codec.decoding_table["159,66"] = [50858] let s:lib.Codec.decoding_table["159,67"] = [50859] let s:lib.Codec.decoding_table["159,68"] = [50860] let s:lib.Codec.decoding_table["159,69"] = [50861] let s:lib.Codec.decoding_table["159,70"] = [50862] let s:lib.Codec.decoding_table["159,71"] = [50863] let s:lib.Codec.decoding_table["159,72"] = [50866] let s:lib.Codec.decoding_table["159,73"] = [50867] let s:lib.Codec.decoding_table["159,74"] = [50869] let s:lib.Codec.decoding_table["159,75"] = [50870] let s:lib.Codec.decoding_table["159,76"] = [50871] let s:lib.Codec.decoding_table["159,77"] = [50875] let s:lib.Codec.decoding_table["159,78"] = [50876] let s:lib.Codec.decoding_table["159,79"] = [50877] let s:lib.Codec.decoding_table["159,80"] = [50878] let s:lib.Codec.decoding_table["159,81"] = [50879] let s:lib.Codec.decoding_table["159,82"] = [50882] let s:lib.Codec.decoding_table["159,83"] = [50884] let s:lib.Codec.decoding_table["159,84"] = [50886] let s:lib.Codec.decoding_table["159,85"] = [50887] let s:lib.Codec.decoding_table["159,86"] = [50888] let s:lib.Codec.decoding_table["159,87"] = [50889] let s:lib.Codec.decoding_table["159,88"] = [50890] let s:lib.Codec.decoding_table["159,89"] = [50891] let s:lib.Codec.decoding_table["159,90"] = [50894] let s:lib.Codec.decoding_table["159,97"] = [50895] let s:lib.Codec.decoding_table["159,98"] = [50897] let s:lib.Codec.decoding_table["159,99"] = [50898] let s:lib.Codec.decoding_table["159,100"] = [50899] let s:lib.Codec.decoding_table["159,101"] = [50901] let s:lib.Codec.decoding_table["159,102"] = [50902] let s:lib.Codec.decoding_table["159,103"] = [50903] let s:lib.Codec.decoding_table["159,104"] = [50904] let s:lib.Codec.decoding_table["159,105"] = [50905] let s:lib.Codec.decoding_table["159,106"] = [50906] let s:lib.Codec.decoding_table["159,107"] = [50907] let s:lib.Codec.decoding_table["159,108"] = [50910] let s:lib.Codec.decoding_table["159,109"] = [50911] let s:lib.Codec.decoding_table["159,110"] = [50914] let s:lib.Codec.decoding_table["159,111"] = [50915] let s:lib.Codec.decoding_table["159,112"] = [50916] let s:lib.Codec.decoding_table["159,113"] = [50917] let s:lib.Codec.decoding_table["159,114"] = [50918] let s:lib.Codec.decoding_table["159,115"] = [50919] let s:lib.Codec.decoding_table["159,116"] = [50922] let s:lib.Codec.decoding_table["159,117"] = [50923] let s:lib.Codec.decoding_table["159,118"] = [50925] let s:lib.Codec.decoding_table["159,119"] = [50926] let s:lib.Codec.decoding_table["159,120"] = [50927] let s:lib.Codec.decoding_table["159,121"] = [50929] let s:lib.Codec.decoding_table["159,122"] = [50930] let s:lib.Codec.decoding_table["159,129"] = [50931] let s:lib.Codec.decoding_table["159,130"] = [50932] let s:lib.Codec.decoding_table["159,131"] = [50933] let s:lib.Codec.decoding_table["159,132"] = [50934] let s:lib.Codec.decoding_table["159,133"] = [50935] let s:lib.Codec.decoding_table["159,134"] = [50938] let s:lib.Codec.decoding_table["159,135"] = [50939] let s:lib.Codec.decoding_table["159,136"] = [50940] let s:lib.Codec.decoding_table["159,137"] = [50942] let s:lib.Codec.decoding_table["159,138"] = [50943] let s:lib.Codec.decoding_table["159,139"] = [50944] let s:lib.Codec.decoding_table["159,140"] = [50945] let s:lib.Codec.decoding_table["159,141"] = [50946] let s:lib.Codec.decoding_table["159,142"] = [50947] let s:lib.Codec.decoding_table["159,143"] = [50950] let s:lib.Codec.decoding_table["159,144"] = [50951] let s:lib.Codec.decoding_table["159,145"] = [50953] let s:lib.Codec.decoding_table["159,146"] = [50954] let s:lib.Codec.decoding_table["159,147"] = [50955] let s:lib.Codec.decoding_table["159,148"] = [50957] let s:lib.Codec.decoding_table["159,149"] = [50958] let s:lib.Codec.decoding_table["159,150"] = [50959] let s:lib.Codec.decoding_table["159,151"] = [50960] let s:lib.Codec.decoding_table["159,152"] = [50961] let s:lib.Codec.decoding_table["159,153"] = [50962] let s:lib.Codec.decoding_table["159,154"] = [50963] let s:lib.Codec.decoding_table["159,155"] = [50966] let s:lib.Codec.decoding_table["159,156"] = [50968] let s:lib.Codec.decoding_table["159,157"] = [50970] let s:lib.Codec.decoding_table["159,158"] = [50971] let s:lib.Codec.decoding_table["159,159"] = [50972] let s:lib.Codec.decoding_table["159,160"] = [50973] let s:lib.Codec.decoding_table["159,161"] = [50974] let s:lib.Codec.decoding_table["159,162"] = [50975] let s:lib.Codec.decoding_table["159,163"] = [50978] let s:lib.Codec.decoding_table["159,164"] = [50979] let s:lib.Codec.decoding_table["159,165"] = [50981] let s:lib.Codec.decoding_table["159,166"] = [50982] let s:lib.Codec.decoding_table["159,167"] = [50983] let s:lib.Codec.decoding_table["159,168"] = [50985] let s:lib.Codec.decoding_table["159,169"] = [50986] let s:lib.Codec.decoding_table["159,170"] = [50987] let s:lib.Codec.decoding_table["159,171"] = [50988] let s:lib.Codec.decoding_table["159,172"] = [50989] let s:lib.Codec.decoding_table["159,173"] = [50990] let s:lib.Codec.decoding_table["159,174"] = [50991] let s:lib.Codec.decoding_table["159,175"] = [50994] let s:lib.Codec.decoding_table["159,176"] = [50996] let s:lib.Codec.decoding_table["159,177"] = [50998] let s:lib.Codec.decoding_table["159,178"] = [51000] let s:lib.Codec.decoding_table["159,179"] = [51001] let s:lib.Codec.decoding_table["159,180"] = [51002] let s:lib.Codec.decoding_table["159,181"] = [51003] let s:lib.Codec.decoding_table["159,182"] = [51006] let s:lib.Codec.decoding_table["159,183"] = [51007] let s:lib.Codec.decoding_table["159,184"] = [51009] let s:lib.Codec.decoding_table["159,185"] = [51010] let s:lib.Codec.decoding_table["159,186"] = [51011] let s:lib.Codec.decoding_table["159,187"] = [51013] let s:lib.Codec.decoding_table["159,188"] = [51014] let s:lib.Codec.decoding_table["159,189"] = [51015] let s:lib.Codec.decoding_table["159,190"] = [51016] let s:lib.Codec.decoding_table["159,191"] = [51017] let s:lib.Codec.decoding_table["159,192"] = [51019] let s:lib.Codec.decoding_table["159,193"] = [51022] let s:lib.Codec.decoding_table["159,194"] = [51024] let s:lib.Codec.decoding_table["159,195"] = [51033] let s:lib.Codec.decoding_table["159,196"] = [51034] let s:lib.Codec.decoding_table["159,197"] = [51035] let s:lib.Codec.decoding_table["159,198"] = [51037] let s:lib.Codec.decoding_table["159,199"] = [51038] let s:lib.Codec.decoding_table["159,200"] = [51039] let s:lib.Codec.decoding_table["159,201"] = [51041] let s:lib.Codec.decoding_table["159,202"] = [51042] let s:lib.Codec.decoding_table["159,203"] = [51043] let s:lib.Codec.decoding_table["159,204"] = [51044] let s:lib.Codec.decoding_table["159,205"] = [51045] let s:lib.Codec.decoding_table["159,206"] = [51046] let s:lib.Codec.decoding_table["159,207"] = [51047] let s:lib.Codec.decoding_table["159,208"] = [51049] let s:lib.Codec.decoding_table["159,209"] = [51050] let s:lib.Codec.decoding_table["159,210"] = [51052] let s:lib.Codec.decoding_table["159,211"] = [51053] let s:lib.Codec.decoding_table["159,212"] = [51054] let s:lib.Codec.decoding_table["159,213"] = [51055] let s:lib.Codec.decoding_table["159,214"] = [51056] let s:lib.Codec.decoding_table["159,215"] = [51057] let s:lib.Codec.decoding_table["159,216"] = [51058] let s:lib.Codec.decoding_table["159,217"] = [51059] let s:lib.Codec.decoding_table["159,218"] = [51062] let s:lib.Codec.decoding_table["159,219"] = [51063] let s:lib.Codec.decoding_table["159,220"] = [51065] let s:lib.Codec.decoding_table["159,221"] = [51066] let s:lib.Codec.decoding_table["159,222"] = [51067] let s:lib.Codec.decoding_table["159,223"] = [51071] let s:lib.Codec.decoding_table["159,224"] = [51072] let s:lib.Codec.decoding_table["159,225"] = [51073] let s:lib.Codec.decoding_table["159,226"] = [51074] let s:lib.Codec.decoding_table["159,227"] = [51078] let s:lib.Codec.decoding_table["159,228"] = [51083] let s:lib.Codec.decoding_table["159,229"] = [51084] let s:lib.Codec.decoding_table["159,230"] = [51085] let s:lib.Codec.decoding_table["159,231"] = [51087] let s:lib.Codec.decoding_table["159,232"] = [51090] let s:lib.Codec.decoding_table["159,233"] = [51091] let s:lib.Codec.decoding_table["159,234"] = [51093] let s:lib.Codec.decoding_table["159,235"] = [51097] let s:lib.Codec.decoding_table["159,236"] = [51099] let s:lib.Codec.decoding_table["159,237"] = [51100] let s:lib.Codec.decoding_table["159,238"] = [51101] let s:lib.Codec.decoding_table["159,239"] = [51102] let s:lib.Codec.decoding_table["159,240"] = [51103] let s:lib.Codec.decoding_table["159,241"] = [51106] let s:lib.Codec.decoding_table["159,242"] = [51111] let s:lib.Codec.decoding_table["159,243"] = [51112] let s:lib.Codec.decoding_table["159,244"] = [51113] let s:lib.Codec.decoding_table["159,245"] = [51114] let s:lib.Codec.decoding_table["159,246"] = [51115] let s:lib.Codec.decoding_table["159,247"] = [51118] let s:lib.Codec.decoding_table["159,248"] = [51119] let s:lib.Codec.decoding_table["159,249"] = [51121] let s:lib.Codec.decoding_table["159,250"] = [51122] let s:lib.Codec.decoding_table["159,251"] = [51123] let s:lib.Codec.decoding_table["159,252"] = [51125] let s:lib.Codec.decoding_table["159,253"] = [51126] let s:lib.Codec.decoding_table["159,254"] = [51127] let s:lib.Codec.decoding_table["160,65"] = [51128] let s:lib.Codec.decoding_table["160,66"] = [51129] let s:lib.Codec.decoding_table["160,67"] = [51130] let s:lib.Codec.decoding_table["160,68"] = [51131] let s:lib.Codec.decoding_table["160,69"] = [51134] let s:lib.Codec.decoding_table["160,70"] = [51138] let s:lib.Codec.decoding_table["160,71"] = [51139] let s:lib.Codec.decoding_table["160,72"] = [51140] let s:lib.Codec.decoding_table["160,73"] = [51141] let s:lib.Codec.decoding_table["160,74"] = [51142] let s:lib.Codec.decoding_table["160,75"] = [51143] let s:lib.Codec.decoding_table["160,76"] = [51146] let s:lib.Codec.decoding_table["160,77"] = [51147] let s:lib.Codec.decoding_table["160,78"] = [51149] let s:lib.Codec.decoding_table["160,79"] = [51151] let s:lib.Codec.decoding_table["160,80"] = [51153] let s:lib.Codec.decoding_table["160,81"] = [51154] let s:lib.Codec.decoding_table["160,82"] = [51155] let s:lib.Codec.decoding_table["160,83"] = [51156] let s:lib.Codec.decoding_table["160,84"] = [51157] let s:lib.Codec.decoding_table["160,85"] = [51158] let s:lib.Codec.decoding_table["160,86"] = [51159] let s:lib.Codec.decoding_table["160,87"] = [51161] let s:lib.Codec.decoding_table["160,88"] = [51162] let s:lib.Codec.decoding_table["160,89"] = [51163] let s:lib.Codec.decoding_table["160,90"] = [51164] let s:lib.Codec.decoding_table["160,97"] = [51166] let s:lib.Codec.decoding_table["160,98"] = [51167] let s:lib.Codec.decoding_table["160,99"] = [51168] let s:lib.Codec.decoding_table["160,100"] = [51169] let s:lib.Codec.decoding_table["160,101"] = [51170] let s:lib.Codec.decoding_table["160,102"] = [51171] let s:lib.Codec.decoding_table["160,103"] = [51173] let s:lib.Codec.decoding_table["160,104"] = [51174] let s:lib.Codec.decoding_table["160,105"] = [51175] let s:lib.Codec.decoding_table["160,106"] = [51177] let s:lib.Codec.decoding_table["160,107"] = [51178] let s:lib.Codec.decoding_table["160,108"] = [51179] let s:lib.Codec.decoding_table["160,109"] = [51181] let s:lib.Codec.decoding_table["160,110"] = [51182] let s:lib.Codec.decoding_table["160,111"] = [51183] let s:lib.Codec.decoding_table["160,112"] = [51184] let s:lib.Codec.decoding_table["160,113"] = [51185] let s:lib.Codec.decoding_table["160,114"] = [51186] let s:lib.Codec.decoding_table["160,115"] = [51187] let s:lib.Codec.decoding_table["160,116"] = [51188] let s:lib.Codec.decoding_table["160,117"] = [51189] let s:lib.Codec.decoding_table["160,118"] = [51190] let s:lib.Codec.decoding_table["160,119"] = [51191] let s:lib.Codec.decoding_table["160,120"] = [51192] let s:lib.Codec.decoding_table["160,121"] = [51193] let s:lib.Codec.decoding_table["160,122"] = [51194] let s:lib.Codec.decoding_table["160,129"] = [51195] let s:lib.Codec.decoding_table["160,130"] = [51196] let s:lib.Codec.decoding_table["160,131"] = [51197] let s:lib.Codec.decoding_table["160,132"] = [51198] let s:lib.Codec.decoding_table["160,133"] = [51199] let s:lib.Codec.decoding_table["160,134"] = [51202] let s:lib.Codec.decoding_table["160,135"] = [51203] let s:lib.Codec.decoding_table["160,136"] = [51205] let s:lib.Codec.decoding_table["160,137"] = [51206] let s:lib.Codec.decoding_table["160,138"] = [51207] let s:lib.Codec.decoding_table["160,139"] = [51209] let s:lib.Codec.decoding_table["160,140"] = [51211] let s:lib.Codec.decoding_table["160,141"] = [51212] let s:lib.Codec.decoding_table["160,142"] = [51213] let s:lib.Codec.decoding_table["160,143"] = [51214] let s:lib.Codec.decoding_table["160,144"] = [51215] let s:lib.Codec.decoding_table["160,145"] = [51218] let s:lib.Codec.decoding_table["160,146"] = [51220] let s:lib.Codec.decoding_table["160,147"] = [51223] let s:lib.Codec.decoding_table["160,148"] = [51224] let s:lib.Codec.decoding_table["160,149"] = [51225] let s:lib.Codec.decoding_table["160,150"] = [51226] let s:lib.Codec.decoding_table["160,151"] = [51227] let s:lib.Codec.decoding_table["160,152"] = [51230] let s:lib.Codec.decoding_table["160,153"] = [51231] let s:lib.Codec.decoding_table["160,154"] = [51233] let s:lib.Codec.decoding_table["160,155"] = [51234] let s:lib.Codec.decoding_table["160,156"] = [51235] let s:lib.Codec.decoding_table["160,157"] = [51237] let s:lib.Codec.decoding_table["160,158"] = [51238] let s:lib.Codec.decoding_table["160,159"] = [51239] let s:lib.Codec.decoding_table["160,160"] = [51240] let s:lib.Codec.decoding_table["160,161"] = [51241] let s:lib.Codec.decoding_table["160,162"] = [51242] let s:lib.Codec.decoding_table["160,163"] = [51243] let s:lib.Codec.decoding_table["160,164"] = [51246] let s:lib.Codec.decoding_table["160,165"] = [51248] let s:lib.Codec.decoding_table["160,166"] = [51250] let s:lib.Codec.decoding_table["160,167"] = [51251] let s:lib.Codec.decoding_table["160,168"] = [51252] let s:lib.Codec.decoding_table["160,169"] = [51253] let s:lib.Codec.decoding_table["160,170"] = [51254] let s:lib.Codec.decoding_table["160,171"] = [51255] let s:lib.Codec.decoding_table["160,172"] = [51257] let s:lib.Codec.decoding_table["160,173"] = [51258] let s:lib.Codec.decoding_table["160,174"] = [51259] let s:lib.Codec.decoding_table["160,175"] = [51261] let s:lib.Codec.decoding_table["160,176"] = [51262] let s:lib.Codec.decoding_table["160,177"] = [51263] let s:lib.Codec.decoding_table["160,178"] = [51265] let s:lib.Codec.decoding_table["160,179"] = [51266] let s:lib.Codec.decoding_table["160,180"] = [51267] let s:lib.Codec.decoding_table["160,181"] = [51268] let s:lib.Codec.decoding_table["160,182"] = [51269] let s:lib.Codec.decoding_table["160,183"] = [51270] let s:lib.Codec.decoding_table["160,184"] = [51271] let s:lib.Codec.decoding_table["160,185"] = [51274] let s:lib.Codec.decoding_table["160,186"] = [51275] let s:lib.Codec.decoding_table["160,187"] = [51278] let s:lib.Codec.decoding_table["160,188"] = [51279] let s:lib.Codec.decoding_table["160,189"] = [51280] let s:lib.Codec.decoding_table["160,190"] = [51281] let s:lib.Codec.decoding_table["160,191"] = [51282] let s:lib.Codec.decoding_table["160,192"] = [51283] let s:lib.Codec.decoding_table["160,193"] = [51285] let s:lib.Codec.decoding_table["160,194"] = [51286] let s:lib.Codec.decoding_table["160,195"] = [51287] let s:lib.Codec.decoding_table["160,196"] = [51288] let s:lib.Codec.decoding_table["160,197"] = [51289] let s:lib.Codec.decoding_table["160,198"] = [51290] let s:lib.Codec.decoding_table["160,199"] = [51291] let s:lib.Codec.decoding_table["160,200"] = [51292] let s:lib.Codec.decoding_table["160,201"] = [51293] let s:lib.Codec.decoding_table["160,202"] = [51294] let s:lib.Codec.decoding_table["160,203"] = [51295] let s:lib.Codec.decoding_table["160,204"] = [51296] let s:lib.Codec.decoding_table["160,205"] = [51297] let s:lib.Codec.decoding_table["160,206"] = [51298] let s:lib.Codec.decoding_table["160,207"] = [51299] let s:lib.Codec.decoding_table["160,208"] = [51300] let s:lib.Codec.decoding_table["160,209"] = [51301] let s:lib.Codec.decoding_table["160,210"] = [51302] let s:lib.Codec.decoding_table["160,211"] = [51303] let s:lib.Codec.decoding_table["160,212"] = [51304] let s:lib.Codec.decoding_table["160,213"] = [51305] let s:lib.Codec.decoding_table["160,214"] = [51306] let s:lib.Codec.decoding_table["160,215"] = [51307] let s:lib.Codec.decoding_table["160,216"] = [51308] let s:lib.Codec.decoding_table["160,217"] = [51309] let s:lib.Codec.decoding_table["160,218"] = [51310] let s:lib.Codec.decoding_table["160,219"] = [51311] let s:lib.Codec.decoding_table["160,220"] = [51314] let s:lib.Codec.decoding_table["160,221"] = [51315] let s:lib.Codec.decoding_table["160,222"] = [51317] let s:lib.Codec.decoding_table["160,223"] = [51318] let s:lib.Codec.decoding_table["160,224"] = [51319] let s:lib.Codec.decoding_table["160,225"] = [51321] let s:lib.Codec.decoding_table["160,226"] = [51323] let s:lib.Codec.decoding_table["160,227"] = [51324] let s:lib.Codec.decoding_table["160,228"] = [51325] let s:lib.Codec.decoding_table["160,229"] = [51326] let s:lib.Codec.decoding_table["160,230"] = [51327] let s:lib.Codec.decoding_table["160,231"] = [51330] let s:lib.Codec.decoding_table["160,232"] = [51332] let s:lib.Codec.decoding_table["160,233"] = [51336] let s:lib.Codec.decoding_table["160,234"] = [51337] let s:lib.Codec.decoding_table["160,235"] = [51338] let s:lib.Codec.decoding_table["160,236"] = [51342] let s:lib.Codec.decoding_table["160,237"] = [51343] let s:lib.Codec.decoding_table["160,238"] = [51344] let s:lib.Codec.decoding_table["160,239"] = [51345] let s:lib.Codec.decoding_table["160,240"] = [51346] let s:lib.Codec.decoding_table["160,241"] = [51347] let s:lib.Codec.decoding_table["160,242"] = [51349] let s:lib.Codec.decoding_table["160,243"] = [51350] let s:lib.Codec.decoding_table["160,244"] = [51351] let s:lib.Codec.decoding_table["160,245"] = [51352] let s:lib.Codec.decoding_table["160,246"] = [51353] let s:lib.Codec.decoding_table["160,247"] = [51354] let s:lib.Codec.decoding_table["160,248"] = [51355] let s:lib.Codec.decoding_table["160,249"] = [51356] let s:lib.Codec.decoding_table["160,250"] = [51358] let s:lib.Codec.decoding_table["160,251"] = [51360] let s:lib.Codec.decoding_table["160,252"] = [51362] let s:lib.Codec.decoding_table["160,253"] = [51363] let s:lib.Codec.decoding_table["160,254"] = [51364] let s:lib.Codec.decoding_table["161,65"] = [51365] let s:lib.Codec.decoding_table["161,66"] = [51366] let s:lib.Codec.decoding_table["161,67"] = [51367] let s:lib.Codec.decoding_table["161,68"] = [51369] let s:lib.Codec.decoding_table["161,69"] = [51370] let s:lib.Codec.decoding_table["161,70"] = [51371] let s:lib.Codec.decoding_table["161,71"] = [51372] let s:lib.Codec.decoding_table["161,72"] = [51373] let s:lib.Codec.decoding_table["161,73"] = [51374] let s:lib.Codec.decoding_table["161,74"] = [51375] let s:lib.Codec.decoding_table["161,75"] = [51376] let s:lib.Codec.decoding_table["161,76"] = [51377] let s:lib.Codec.decoding_table["161,77"] = [51378] let s:lib.Codec.decoding_table["161,78"] = [51379] let s:lib.Codec.decoding_table["161,79"] = [51380] let s:lib.Codec.decoding_table["161,80"] = [51381] let s:lib.Codec.decoding_table["161,81"] = [51382] let s:lib.Codec.decoding_table["161,82"] = [51383] let s:lib.Codec.decoding_table["161,83"] = [51384] let s:lib.Codec.decoding_table["161,84"] = [51385] let s:lib.Codec.decoding_table["161,85"] = [51386] let s:lib.Codec.decoding_table["161,86"] = [51387] let s:lib.Codec.decoding_table["161,87"] = [51390] let s:lib.Codec.decoding_table["161,88"] = [51391] let s:lib.Codec.decoding_table["161,89"] = [51392] let s:lib.Codec.decoding_table["161,90"] = [51393] let s:lib.Codec.decoding_table["161,97"] = [51394] let s:lib.Codec.decoding_table["161,98"] = [51395] let s:lib.Codec.decoding_table["161,99"] = [51397] let s:lib.Codec.decoding_table["161,100"] = [51398] let s:lib.Codec.decoding_table["161,101"] = [51399] let s:lib.Codec.decoding_table["161,102"] = [51401] let s:lib.Codec.decoding_table["161,103"] = [51402] let s:lib.Codec.decoding_table["161,104"] = [51403] let s:lib.Codec.decoding_table["161,105"] = [51405] let s:lib.Codec.decoding_table["161,106"] = [51406] let s:lib.Codec.decoding_table["161,107"] = [51407] let s:lib.Codec.decoding_table["161,108"] = [51408] let s:lib.Codec.decoding_table["161,109"] = [51409] let s:lib.Codec.decoding_table["161,110"] = [51410] let s:lib.Codec.decoding_table["161,111"] = [51411] let s:lib.Codec.decoding_table["161,112"] = [51414] let s:lib.Codec.decoding_table["161,113"] = [51416] let s:lib.Codec.decoding_table["161,114"] = [51418] let s:lib.Codec.decoding_table["161,115"] = [51419] let s:lib.Codec.decoding_table["161,116"] = [51420] let s:lib.Codec.decoding_table["161,117"] = [51421] let s:lib.Codec.decoding_table["161,118"] = [51422] let s:lib.Codec.decoding_table["161,119"] = [51423] let s:lib.Codec.decoding_table["161,120"] = [51426] let s:lib.Codec.decoding_table["161,121"] = [51427] let s:lib.Codec.decoding_table["161,122"] = [51429] let s:lib.Codec.decoding_table["161,129"] = [51430] let s:lib.Codec.decoding_table["161,130"] = [51431] let s:lib.Codec.decoding_table["161,131"] = [51432] let s:lib.Codec.decoding_table["161,132"] = [51433] let s:lib.Codec.decoding_table["161,133"] = [51434] let s:lib.Codec.decoding_table["161,134"] = [51435] let s:lib.Codec.decoding_table["161,135"] = [51436] let s:lib.Codec.decoding_table["161,136"] = [51437] let s:lib.Codec.decoding_table["161,137"] = [51438] let s:lib.Codec.decoding_table["161,138"] = [51439] let s:lib.Codec.decoding_table["161,139"] = [51440] let s:lib.Codec.decoding_table["161,140"] = [51441] let s:lib.Codec.decoding_table["161,141"] = [51442] let s:lib.Codec.decoding_table["161,142"] = [51443] let s:lib.Codec.decoding_table["161,143"] = [51444] let s:lib.Codec.decoding_table["161,144"] = [51446] let s:lib.Codec.decoding_table["161,145"] = [51447] let s:lib.Codec.decoding_table["161,146"] = [51448] let s:lib.Codec.decoding_table["161,147"] = [51449] let s:lib.Codec.decoding_table["161,148"] = [51450] let s:lib.Codec.decoding_table["161,149"] = [51451] let s:lib.Codec.decoding_table["161,150"] = [51454] let s:lib.Codec.decoding_table["161,151"] = [51455] let s:lib.Codec.decoding_table["161,152"] = [51457] let s:lib.Codec.decoding_table["161,153"] = [51458] let s:lib.Codec.decoding_table["161,154"] = [51459] let s:lib.Codec.decoding_table["161,155"] = [51463] let s:lib.Codec.decoding_table["161,156"] = [51464] let s:lib.Codec.decoding_table["161,157"] = [51465] let s:lib.Codec.decoding_table["161,158"] = [51466] let s:lib.Codec.decoding_table["161,159"] = [51467] let s:lib.Codec.decoding_table["161,160"] = [51470] let s:lib.Codec.decoding_table["161,161"] = [12288] let s:lib.Codec.decoding_table["161,162"] = [12289] let s:lib.Codec.decoding_table["161,163"] = [12290] let s:lib.Codec.decoding_table["161,164"] = [183] let s:lib.Codec.decoding_table["161,165"] = [8229] let s:lib.Codec.decoding_table["161,166"] = [8230] let s:lib.Codec.decoding_table["161,167"] = [168] let s:lib.Codec.decoding_table["161,168"] = [12291] let s:lib.Codec.decoding_table["161,169"] = [173] let s:lib.Codec.decoding_table["161,170"] = [8213] let s:lib.Codec.decoding_table["161,171"] = [8741] let s:lib.Codec.decoding_table["161,172"] = [65340] let s:lib.Codec.decoding_table["161,173"] = [8764] let s:lib.Codec.decoding_table["161,174"] = [8216] let s:lib.Codec.decoding_table["161,175"] = [8217] let s:lib.Codec.decoding_table["161,176"] = [8220] let s:lib.Codec.decoding_table["161,177"] = [8221] let s:lib.Codec.decoding_table["161,178"] = [12308] let s:lib.Codec.decoding_table["161,179"] = [12309] let s:lib.Codec.decoding_table["161,180"] = [12296] let s:lib.Codec.decoding_table["161,181"] = [12297] let s:lib.Codec.decoding_table["161,182"] = [12298] let s:lib.Codec.decoding_table["161,183"] = [12299] let s:lib.Codec.decoding_table["161,184"] = [12300] let s:lib.Codec.decoding_table["161,185"] = [12301] let s:lib.Codec.decoding_table["161,186"] = [12302] let s:lib.Codec.decoding_table["161,187"] = [12303] let s:lib.Codec.decoding_table["161,188"] = [12304] let s:lib.Codec.decoding_table["161,189"] = [12305] let s:lib.Codec.decoding_table["161,190"] = [177] let s:lib.Codec.decoding_table["161,191"] = [215] let s:lib.Codec.decoding_table["161,192"] = [247] let s:lib.Codec.decoding_table["161,193"] = [8800] let s:lib.Codec.decoding_table["161,194"] = [8804] let s:lib.Codec.decoding_table["161,195"] = [8805] let s:lib.Codec.decoding_table["161,196"] = [8734] let s:lib.Codec.decoding_table["161,197"] = [8756] let s:lib.Codec.decoding_table["161,198"] = [176] let s:lib.Codec.decoding_table["161,199"] = [8242] let s:lib.Codec.decoding_table["161,200"] = [8243] let s:lib.Codec.decoding_table["161,201"] = [8451] let s:lib.Codec.decoding_table["161,202"] = [8491] let s:lib.Codec.decoding_table["161,203"] = [65504] let s:lib.Codec.decoding_table["161,204"] = [65505] let s:lib.Codec.decoding_table["161,205"] = [65509] let s:lib.Codec.decoding_table["161,206"] = [9794] let s:lib.Codec.decoding_table["161,207"] = [9792] let s:lib.Codec.decoding_table["161,208"] = [8736] let s:lib.Codec.decoding_table["161,209"] = [8869] let s:lib.Codec.decoding_table["161,210"] = [8978] let s:lib.Codec.decoding_table["161,211"] = [8706] let s:lib.Codec.decoding_table["161,212"] = [8711] let s:lib.Codec.decoding_table["161,213"] = [8801] let s:lib.Codec.decoding_table["161,214"] = [8786] let s:lib.Codec.decoding_table["161,215"] = [167] let s:lib.Codec.decoding_table["161,216"] = [8251] let s:lib.Codec.decoding_table["161,217"] = [9734] let s:lib.Codec.decoding_table["161,218"] = [9733] let s:lib.Codec.decoding_table["161,219"] = [9675] let s:lib.Codec.decoding_table["161,220"] = [9679] let s:lib.Codec.decoding_table["161,221"] = [9678] let s:lib.Codec.decoding_table["161,222"] = [9671] let s:lib.Codec.decoding_table["161,223"] = [9670] let s:lib.Codec.decoding_table["161,224"] = [9633] let s:lib.Codec.decoding_table["161,225"] = [9632] let s:lib.Codec.decoding_table["161,226"] = [9651] let s:lib.Codec.decoding_table["161,227"] = [9650] let s:lib.Codec.decoding_table["161,228"] = [9661] let s:lib.Codec.decoding_table["161,229"] = [9660] let s:lib.Codec.decoding_table["161,230"] = [8594] let s:lib.Codec.decoding_table["161,231"] = [8592] let s:lib.Codec.decoding_table["161,232"] = [8593] let s:lib.Codec.decoding_table["161,233"] = [8595] let s:lib.Codec.decoding_table["161,234"] = [8596] let s:lib.Codec.decoding_table["161,235"] = [12307] let s:lib.Codec.decoding_table["161,236"] = [8810] let s:lib.Codec.decoding_table["161,237"] = [8811] let s:lib.Codec.decoding_table["161,238"] = [8730] let s:lib.Codec.decoding_table["161,239"] = [8765] let s:lib.Codec.decoding_table["161,240"] = [8733] let s:lib.Codec.decoding_table["161,241"] = [8757] let s:lib.Codec.decoding_table["161,242"] = [8747] let s:lib.Codec.decoding_table["161,243"] = [8748] let s:lib.Codec.decoding_table["161,244"] = [8712] let s:lib.Codec.decoding_table["161,245"] = [8715] let s:lib.Codec.decoding_table["161,246"] = [8838] let s:lib.Codec.decoding_table["161,247"] = [8839] let s:lib.Codec.decoding_table["161,248"] = [8834] let s:lib.Codec.decoding_table["161,249"] = [8835] let s:lib.Codec.decoding_table["161,250"] = [8746] let s:lib.Codec.decoding_table["161,251"] = [8745] let s:lib.Codec.decoding_table["161,252"] = [8743] let s:lib.Codec.decoding_table["161,253"] = [8744] let s:lib.Codec.decoding_table["161,254"] = [65506] let s:lib.Codec.decoding_table["162,65"] = [51472] let s:lib.Codec.decoding_table["162,66"] = [51474] let s:lib.Codec.decoding_table["162,67"] = [51475] let s:lib.Codec.decoding_table["162,68"] = [51476] let s:lib.Codec.decoding_table["162,69"] = [51477] let s:lib.Codec.decoding_table["162,70"] = [51478] let s:lib.Codec.decoding_table["162,71"] = [51479] let s:lib.Codec.decoding_table["162,72"] = [51481] let s:lib.Codec.decoding_table["162,73"] = [51482] let s:lib.Codec.decoding_table["162,74"] = [51483] let s:lib.Codec.decoding_table["162,75"] = [51484] let s:lib.Codec.decoding_table["162,76"] = [51485] let s:lib.Codec.decoding_table["162,77"] = [51486] let s:lib.Codec.decoding_table["162,78"] = [51487] let s:lib.Codec.decoding_table["162,79"] = [51488] let s:lib.Codec.decoding_table["162,80"] = [51489] let s:lib.Codec.decoding_table["162,81"] = [51490] let s:lib.Codec.decoding_table["162,82"] = [51491] let s:lib.Codec.decoding_table["162,83"] = [51492] let s:lib.Codec.decoding_table["162,84"] = [51493] let s:lib.Codec.decoding_table["162,85"] = [51494] let s:lib.Codec.decoding_table["162,86"] = [51495] let s:lib.Codec.decoding_table["162,87"] = [51496] let s:lib.Codec.decoding_table["162,88"] = [51497] let s:lib.Codec.decoding_table["162,89"] = [51498] let s:lib.Codec.decoding_table["162,90"] = [51499] let s:lib.Codec.decoding_table["162,97"] = [51501] let s:lib.Codec.decoding_table["162,98"] = [51502] let s:lib.Codec.decoding_table["162,99"] = [51503] let s:lib.Codec.decoding_table["162,100"] = [51504] let s:lib.Codec.decoding_table["162,101"] = [51505] let s:lib.Codec.decoding_table["162,102"] = [51506] let s:lib.Codec.decoding_table["162,103"] = [51507] let s:lib.Codec.decoding_table["162,104"] = [51509] let s:lib.Codec.decoding_table["162,105"] = [51510] let s:lib.Codec.decoding_table["162,106"] = [51511] let s:lib.Codec.decoding_table["162,107"] = [51512] let s:lib.Codec.decoding_table["162,108"] = [51513] let s:lib.Codec.decoding_table["162,109"] = [51514] let s:lib.Codec.decoding_table["162,110"] = [51515] let s:lib.Codec.decoding_table["162,111"] = [51516] let s:lib.Codec.decoding_table["162,112"] = [51517] let s:lib.Codec.decoding_table["162,113"] = [51518] let s:lib.Codec.decoding_table["162,114"] = [51519] let s:lib.Codec.decoding_table["162,115"] = [51520] let s:lib.Codec.decoding_table["162,116"] = [51521] let s:lib.Codec.decoding_table["162,117"] = [51522] let s:lib.Codec.decoding_table["162,118"] = [51523] let s:lib.Codec.decoding_table["162,119"] = [51524] let s:lib.Codec.decoding_table["162,120"] = [51525] let s:lib.Codec.decoding_table["162,121"] = [51526] let s:lib.Codec.decoding_table["162,122"] = [51527] let s:lib.Codec.decoding_table["162,129"] = [51528] let s:lib.Codec.decoding_table["162,130"] = [51529] let s:lib.Codec.decoding_table["162,131"] = [51530] let s:lib.Codec.decoding_table["162,132"] = [51531] let s:lib.Codec.decoding_table["162,133"] = [51532] let s:lib.Codec.decoding_table["162,134"] = [51533] let s:lib.Codec.decoding_table["162,135"] = [51534] let s:lib.Codec.decoding_table["162,136"] = [51535] let s:lib.Codec.decoding_table["162,137"] = [51538] let s:lib.Codec.decoding_table["162,138"] = [51539] let s:lib.Codec.decoding_table["162,139"] = [51541] let s:lib.Codec.decoding_table["162,140"] = [51542] let s:lib.Codec.decoding_table["162,141"] = [51543] let s:lib.Codec.decoding_table["162,142"] = [51545] let s:lib.Codec.decoding_table["162,143"] = [51546] let s:lib.Codec.decoding_table["162,144"] = [51547] let s:lib.Codec.decoding_table["162,145"] = [51548] let s:lib.Codec.decoding_table["162,146"] = [51549] let s:lib.Codec.decoding_table["162,147"] = [51550] let s:lib.Codec.decoding_table["162,148"] = [51551] let s:lib.Codec.decoding_table["162,149"] = [51554] let s:lib.Codec.decoding_table["162,150"] = [51556] let s:lib.Codec.decoding_table["162,151"] = [51557] let s:lib.Codec.decoding_table["162,152"] = [51558] let s:lib.Codec.decoding_table["162,153"] = [51559] let s:lib.Codec.decoding_table["162,154"] = [51560] let s:lib.Codec.decoding_table["162,155"] = [51561] let s:lib.Codec.decoding_table["162,156"] = [51562] let s:lib.Codec.decoding_table["162,157"] = [51563] let s:lib.Codec.decoding_table["162,158"] = [51565] let s:lib.Codec.decoding_table["162,159"] = [51566] let s:lib.Codec.decoding_table["162,160"] = [51567] let s:lib.Codec.decoding_table["162,161"] = [8658] let s:lib.Codec.decoding_table["162,162"] = [8660] let s:lib.Codec.decoding_table["162,163"] = [8704] let s:lib.Codec.decoding_table["162,164"] = [8707] let s:lib.Codec.decoding_table["162,165"] = [180] let s:lib.Codec.decoding_table["162,166"] = [65374] let s:lib.Codec.decoding_table["162,167"] = [711] let s:lib.Codec.decoding_table["162,168"] = [728] let s:lib.Codec.decoding_table["162,169"] = [733] let s:lib.Codec.decoding_table["162,170"] = [730] let s:lib.Codec.decoding_table["162,171"] = [729] let s:lib.Codec.decoding_table["162,172"] = [184] let s:lib.Codec.decoding_table["162,173"] = [731] let s:lib.Codec.decoding_table["162,174"] = [161] let s:lib.Codec.decoding_table["162,175"] = [191] let s:lib.Codec.decoding_table["162,176"] = [720] let s:lib.Codec.decoding_table["162,177"] = [8750] let s:lib.Codec.decoding_table["162,178"] = [8721] let s:lib.Codec.decoding_table["162,179"] = [8719] let s:lib.Codec.decoding_table["162,180"] = [164] let s:lib.Codec.decoding_table["162,181"] = [8457] let s:lib.Codec.decoding_table["162,182"] = [8240] let s:lib.Codec.decoding_table["162,183"] = [9665] let s:lib.Codec.decoding_table["162,184"] = [9664] let s:lib.Codec.decoding_table["162,185"] = [9655] let s:lib.Codec.decoding_table["162,186"] = [9654] let s:lib.Codec.decoding_table["162,187"] = [9828] let s:lib.Codec.decoding_table["162,188"] = [9824] let s:lib.Codec.decoding_table["162,189"] = [9825] let s:lib.Codec.decoding_table["162,190"] = [9829] let s:lib.Codec.decoding_table["162,191"] = [9831] let s:lib.Codec.decoding_table["162,192"] = [9827] let s:lib.Codec.decoding_table["162,193"] = [8857] let s:lib.Codec.decoding_table["162,194"] = [9672] let s:lib.Codec.decoding_table["162,195"] = [9635] let s:lib.Codec.decoding_table["162,196"] = [9680] let s:lib.Codec.decoding_table["162,197"] = [9681] let s:lib.Codec.decoding_table["162,198"] = [9618] let s:lib.Codec.decoding_table["162,199"] = [9636] let s:lib.Codec.decoding_table["162,200"] = [9637] let s:lib.Codec.decoding_table["162,201"] = [9640] let s:lib.Codec.decoding_table["162,202"] = [9639] let s:lib.Codec.decoding_table["162,203"] = [9638] let s:lib.Codec.decoding_table["162,204"] = [9641] let s:lib.Codec.decoding_table["162,205"] = [9832] let s:lib.Codec.decoding_table["162,206"] = [9743] let s:lib.Codec.decoding_table["162,207"] = [9742] let s:lib.Codec.decoding_table["162,208"] = [9756] let s:lib.Codec.decoding_table["162,209"] = [9758] let s:lib.Codec.decoding_table["162,210"] = [182] let s:lib.Codec.decoding_table["162,211"] = [8224] let s:lib.Codec.decoding_table["162,212"] = [8225] let s:lib.Codec.decoding_table["162,213"] = [8597] let s:lib.Codec.decoding_table["162,214"] = [8599] let s:lib.Codec.decoding_table["162,215"] = [8601] let s:lib.Codec.decoding_table["162,216"] = [8598] let s:lib.Codec.decoding_table["162,217"] = [8600] let s:lib.Codec.decoding_table["162,218"] = [9837] let s:lib.Codec.decoding_table["162,219"] = [9833] let s:lib.Codec.decoding_table["162,220"] = [9834] let s:lib.Codec.decoding_table["162,221"] = [9836] let s:lib.Codec.decoding_table["162,222"] = [12927] let s:lib.Codec.decoding_table["162,223"] = [12828] let s:lib.Codec.decoding_table["162,224"] = [8470] let s:lib.Codec.decoding_table["162,225"] = [13255] let s:lib.Codec.decoding_table["162,226"] = [8482] let s:lib.Codec.decoding_table["162,227"] = [13250] let s:lib.Codec.decoding_table["162,228"] = [13272] let s:lib.Codec.decoding_table["162,229"] = [8481] let s:lib.Codec.decoding_table["162,230"] = [8364] let s:lib.Codec.decoding_table["162,231"] = [174] let s:lib.Codec.decoding_table["163,65"] = [51569] let s:lib.Codec.decoding_table["163,66"] = [51570] let s:lib.Codec.decoding_table["163,67"] = [51571] let s:lib.Codec.decoding_table["163,68"] = [51573] let s:lib.Codec.decoding_table["163,69"] = [51574] let s:lib.Codec.decoding_table["163,70"] = [51575] let s:lib.Codec.decoding_table["163,71"] = [51576] let s:lib.Codec.decoding_table["163,72"] = [51577] let s:lib.Codec.decoding_table["163,73"] = [51578] let s:lib.Codec.decoding_table["163,74"] = [51579] let s:lib.Codec.decoding_table["163,75"] = [51581] let s:lib.Codec.decoding_table["163,76"] = [51582] let s:lib.Codec.decoding_table["163,77"] = [51583] let s:lib.Codec.decoding_table["163,78"] = [51584] let s:lib.Codec.decoding_table["163,79"] = [51585] let s:lib.Codec.decoding_table["163,80"] = [51586] let s:lib.Codec.decoding_table["163,81"] = [51587] let s:lib.Codec.decoding_table["163,82"] = [51588] let s:lib.Codec.decoding_table["163,83"] = [51589] let s:lib.Codec.decoding_table["163,84"] = [51590] let s:lib.Codec.decoding_table["163,85"] = [51591] let s:lib.Codec.decoding_table["163,86"] = [51594] let s:lib.Codec.decoding_table["163,87"] = [51595] let s:lib.Codec.decoding_table["163,88"] = [51597] let s:lib.Codec.decoding_table["163,89"] = [51598] let s:lib.Codec.decoding_table["163,90"] = [51599] let s:lib.Codec.decoding_table["163,97"] = [51601] let s:lib.Codec.decoding_table["163,98"] = [51602] let s:lib.Codec.decoding_table["163,99"] = [51603] let s:lib.Codec.decoding_table["163,100"] = [51604] let s:lib.Codec.decoding_table["163,101"] = [51605] let s:lib.Codec.decoding_table["163,102"] = [51606] let s:lib.Codec.decoding_table["163,103"] = [51607] let s:lib.Codec.decoding_table["163,104"] = [51610] let s:lib.Codec.decoding_table["163,105"] = [51612] let s:lib.Codec.decoding_table["163,106"] = [51614] let s:lib.Codec.decoding_table["163,107"] = [51615] let s:lib.Codec.decoding_table["163,108"] = [51616] let s:lib.Codec.decoding_table["163,109"] = [51617] let s:lib.Codec.decoding_table["163,110"] = [51618] let s:lib.Codec.decoding_table["163,111"] = [51619] let s:lib.Codec.decoding_table["163,112"] = [51620] let s:lib.Codec.decoding_table["163,113"] = [51621] let s:lib.Codec.decoding_table["163,114"] = [51622] let s:lib.Codec.decoding_table["163,115"] = [51623] let s:lib.Codec.decoding_table["163,116"] = [51624] let s:lib.Codec.decoding_table["163,117"] = [51625] let s:lib.Codec.decoding_table["163,118"] = [51626] let s:lib.Codec.decoding_table["163,119"] = [51627] let s:lib.Codec.decoding_table["163,120"] = [51628] let s:lib.Codec.decoding_table["163,121"] = [51629] let s:lib.Codec.decoding_table["163,122"] = [51630] let s:lib.Codec.decoding_table["163,129"] = [51631] let s:lib.Codec.decoding_table["163,130"] = [51632] let s:lib.Codec.decoding_table["163,131"] = [51633] let s:lib.Codec.decoding_table["163,132"] = [51634] let s:lib.Codec.decoding_table["163,133"] = [51635] let s:lib.Codec.decoding_table["163,134"] = [51636] let s:lib.Codec.decoding_table["163,135"] = [51637] let s:lib.Codec.decoding_table["163,136"] = [51638] let s:lib.Codec.decoding_table["163,137"] = [51639] let s:lib.Codec.decoding_table["163,138"] = [51640] let s:lib.Codec.decoding_table["163,139"] = [51641] let s:lib.Codec.decoding_table["163,140"] = [51642] let s:lib.Codec.decoding_table["163,141"] = [51643] let s:lib.Codec.decoding_table["163,142"] = [51644] let s:lib.Codec.decoding_table["163,143"] = [51645] let s:lib.Codec.decoding_table["163,144"] = [51646] let s:lib.Codec.decoding_table["163,145"] = [51647] let s:lib.Codec.decoding_table["163,146"] = [51650] let s:lib.Codec.decoding_table["163,147"] = [51651] let s:lib.Codec.decoding_table["163,148"] = [51653] let s:lib.Codec.decoding_table["163,149"] = [51654] let s:lib.Codec.decoding_table["163,150"] = [51657] let s:lib.Codec.decoding_table["163,151"] = [51659] let s:lib.Codec.decoding_table["163,152"] = [51660] let s:lib.Codec.decoding_table["163,153"] = [51661] let s:lib.Codec.decoding_table["163,154"] = [51662] let s:lib.Codec.decoding_table["163,155"] = [51663] let s:lib.Codec.decoding_table["163,156"] = [51666] let s:lib.Codec.decoding_table["163,157"] = [51668] let s:lib.Codec.decoding_table["163,158"] = [51671] let s:lib.Codec.decoding_table["163,159"] = [51672] let s:lib.Codec.decoding_table["163,160"] = [51675] let s:lib.Codec.decoding_table["163,161"] = [65281] let s:lib.Codec.decoding_table["163,162"] = [65282] let s:lib.Codec.decoding_table["163,163"] = [65283] let s:lib.Codec.decoding_table["163,164"] = [65284] let s:lib.Codec.decoding_table["163,165"] = [65285] let s:lib.Codec.decoding_table["163,166"] = [65286] let s:lib.Codec.decoding_table["163,167"] = [65287] let s:lib.Codec.decoding_table["163,168"] = [65288] let s:lib.Codec.decoding_table["163,169"] = [65289] let s:lib.Codec.decoding_table["163,170"] = [65290] let s:lib.Codec.decoding_table["163,171"] = [65291] let s:lib.Codec.decoding_table["163,172"] = [65292] let s:lib.Codec.decoding_table["163,173"] = [65293] let s:lib.Codec.decoding_table["163,174"] = [65294] let s:lib.Codec.decoding_table["163,175"] = [65295] let s:lib.Codec.decoding_table["163,176"] = [65296] let s:lib.Codec.decoding_table["163,177"] = [65297] let s:lib.Codec.decoding_table["163,178"] = [65298] let s:lib.Codec.decoding_table["163,179"] = [65299] let s:lib.Codec.decoding_table["163,180"] = [65300] let s:lib.Codec.decoding_table["163,181"] = [65301] let s:lib.Codec.decoding_table["163,182"] = [65302] let s:lib.Codec.decoding_table["163,183"] = [65303] let s:lib.Codec.decoding_table["163,184"] = [65304] let s:lib.Codec.decoding_table["163,185"] = [65305] let s:lib.Codec.decoding_table["163,186"] = [65306] let s:lib.Codec.decoding_table["163,187"] = [65307] let s:lib.Codec.decoding_table["163,188"] = [65308] let s:lib.Codec.decoding_table["163,189"] = [65309] let s:lib.Codec.decoding_table["163,190"] = [65310] let s:lib.Codec.decoding_table["163,191"] = [65311] let s:lib.Codec.decoding_table["163,192"] = [65312] let s:lib.Codec.decoding_table["163,193"] = [65313] let s:lib.Codec.decoding_table["163,194"] = [65314] let s:lib.Codec.decoding_table["163,195"] = [65315] let s:lib.Codec.decoding_table["163,196"] = [65316] let s:lib.Codec.decoding_table["163,197"] = [65317] let s:lib.Codec.decoding_table["163,198"] = [65318] let s:lib.Codec.decoding_table["163,199"] = [65319] let s:lib.Codec.decoding_table["163,200"] = [65320] let s:lib.Codec.decoding_table["163,201"] = [65321] let s:lib.Codec.decoding_table["163,202"] = [65322] let s:lib.Codec.decoding_table["163,203"] = [65323] let s:lib.Codec.decoding_table["163,204"] = [65324] let s:lib.Codec.decoding_table["163,205"] = [65325] let s:lib.Codec.decoding_table["163,206"] = [65326] let s:lib.Codec.decoding_table["163,207"] = [65327] let s:lib.Codec.decoding_table["163,208"] = [65328] let s:lib.Codec.decoding_table["163,209"] = [65329] let s:lib.Codec.decoding_table["163,210"] = [65330] let s:lib.Codec.decoding_table["163,211"] = [65331] let s:lib.Codec.decoding_table["163,212"] = [65332] let s:lib.Codec.decoding_table["163,213"] = [65333] let s:lib.Codec.decoding_table["163,214"] = [65334] let s:lib.Codec.decoding_table["163,215"] = [65335] let s:lib.Codec.decoding_table["163,216"] = [65336] let s:lib.Codec.decoding_table["163,217"] = [65337] let s:lib.Codec.decoding_table["163,218"] = [65338] let s:lib.Codec.decoding_table["163,219"] = [65339] let s:lib.Codec.decoding_table["163,220"] = [65510] let s:lib.Codec.decoding_table["163,221"] = [65341] let s:lib.Codec.decoding_table["163,222"] = [65342] let s:lib.Codec.decoding_table["163,223"] = [65343] let s:lib.Codec.decoding_table["163,224"] = [65344] let s:lib.Codec.decoding_table["163,225"] = [65345] let s:lib.Codec.decoding_table["163,226"] = [65346] let s:lib.Codec.decoding_table["163,227"] = [65347] let s:lib.Codec.decoding_table["163,228"] = [65348] let s:lib.Codec.decoding_table["163,229"] = [65349] let s:lib.Codec.decoding_table["163,230"] = [65350] let s:lib.Codec.decoding_table["163,231"] = [65351] let s:lib.Codec.decoding_table["163,232"] = [65352] let s:lib.Codec.decoding_table["163,233"] = [65353] let s:lib.Codec.decoding_table["163,234"] = [65354] let s:lib.Codec.decoding_table["163,235"] = [65355] let s:lib.Codec.decoding_table["163,236"] = [65356] let s:lib.Codec.decoding_table["163,237"] = [65357] let s:lib.Codec.decoding_table["163,238"] = [65358] let s:lib.Codec.decoding_table["163,239"] = [65359] let s:lib.Codec.decoding_table["163,240"] = [65360] let s:lib.Codec.decoding_table["163,241"] = [65361] let s:lib.Codec.decoding_table["163,242"] = [65362] let s:lib.Codec.decoding_table["163,243"] = [65363] let s:lib.Codec.decoding_table["163,244"] = [65364] let s:lib.Codec.decoding_table["163,245"] = [65365] let s:lib.Codec.decoding_table["163,246"] = [65366] let s:lib.Codec.decoding_table["163,247"] = [65367] let s:lib.Codec.decoding_table["163,248"] = [65368] let s:lib.Codec.decoding_table["163,249"] = [65369] let s:lib.Codec.decoding_table["163,250"] = [65370] let s:lib.Codec.decoding_table["163,251"] = [65371] let s:lib.Codec.decoding_table["163,252"] = [65372] let s:lib.Codec.decoding_table["163,253"] = [65373] let s:lib.Codec.decoding_table["163,254"] = [65507] let s:lib.Codec.decoding_table["164,65"] = [51678] let s:lib.Codec.decoding_table["164,66"] = [51679] let s:lib.Codec.decoding_table["164,67"] = [51681] let s:lib.Codec.decoding_table["164,68"] = [51683] let s:lib.Codec.decoding_table["164,69"] = [51685] let s:lib.Codec.decoding_table["164,70"] = [51686] let s:lib.Codec.decoding_table["164,71"] = [51688] let s:lib.Codec.decoding_table["164,72"] = [51689] let s:lib.Codec.decoding_table["164,73"] = [51690] let s:lib.Codec.decoding_table["164,74"] = [51691] let s:lib.Codec.decoding_table["164,75"] = [51694] let s:lib.Codec.decoding_table["164,76"] = [51698] let s:lib.Codec.decoding_table["164,77"] = [51699] let s:lib.Codec.decoding_table["164,78"] = [51700] let s:lib.Codec.decoding_table["164,79"] = [51701] let s:lib.Codec.decoding_table["164,80"] = [51702] let s:lib.Codec.decoding_table["164,81"] = [51703] let s:lib.Codec.decoding_table["164,82"] = [51706] let s:lib.Codec.decoding_table["164,83"] = [51707] let s:lib.Codec.decoding_table["164,84"] = [51709] let s:lib.Codec.decoding_table["164,85"] = [51710] let s:lib.Codec.decoding_table["164,86"] = [51711] let s:lib.Codec.decoding_table["164,87"] = [51713] let s:lib.Codec.decoding_table["164,88"] = [51714] let s:lib.Codec.decoding_table["164,89"] = [51715] let s:lib.Codec.decoding_table["164,90"] = [51716] let s:lib.Codec.decoding_table["164,97"] = [51717] let s:lib.Codec.decoding_table["164,98"] = [51718] let s:lib.Codec.decoding_table["164,99"] = [51719] let s:lib.Codec.decoding_table["164,100"] = [51722] let s:lib.Codec.decoding_table["164,101"] = [51726] let s:lib.Codec.decoding_table["164,102"] = [51727] let s:lib.Codec.decoding_table["164,103"] = [51728] let s:lib.Codec.decoding_table["164,104"] = [51729] let s:lib.Codec.decoding_table["164,105"] = [51730] let s:lib.Codec.decoding_table["164,106"] = [51731] let s:lib.Codec.decoding_table["164,107"] = [51733] let s:lib.Codec.decoding_table["164,108"] = [51734] let s:lib.Codec.decoding_table["164,109"] = [51735] let s:lib.Codec.decoding_table["164,110"] = [51737] let s:lib.Codec.decoding_table["164,111"] = [51738] let s:lib.Codec.decoding_table["164,112"] = [51739] let s:lib.Codec.decoding_table["164,113"] = [51740] let s:lib.Codec.decoding_table["164,114"] = [51741] let s:lib.Codec.decoding_table["164,115"] = [51742] let s:lib.Codec.decoding_table["164,116"] = [51743] let s:lib.Codec.decoding_table["164,117"] = [51744] let s:lib.Codec.decoding_table["164,118"] = [51745] let s:lib.Codec.decoding_table["164,119"] = [51746] let s:lib.Codec.decoding_table["164,120"] = [51747] let s:lib.Codec.decoding_table["164,121"] = [51748] let s:lib.Codec.decoding_table["164,122"] = [51749] let s:lib.Codec.decoding_table["164,129"] = [51750] let s:lib.Codec.decoding_table["164,130"] = [51751] let s:lib.Codec.decoding_table["164,131"] = [51752] let s:lib.Codec.decoding_table["164,132"] = [51754] let s:lib.Codec.decoding_table["164,133"] = [51755] let s:lib.Codec.decoding_table["164,134"] = [51756] let s:lib.Codec.decoding_table["164,135"] = [51757] let s:lib.Codec.decoding_table["164,136"] = [51758] let s:lib.Codec.decoding_table["164,137"] = [51759] let s:lib.Codec.decoding_table["164,138"] = [51760] let s:lib.Codec.decoding_table["164,139"] = [51761] let s:lib.Codec.decoding_table["164,140"] = [51762] let s:lib.Codec.decoding_table["164,141"] = [51763] let s:lib.Codec.decoding_table["164,142"] = [51764] let s:lib.Codec.decoding_table["164,143"] = [51765] let s:lib.Codec.decoding_table["164,144"] = [51766] let s:lib.Codec.decoding_table["164,145"] = [51767] let s:lib.Codec.decoding_table["164,146"] = [51768] let s:lib.Codec.decoding_table["164,147"] = [51769] let s:lib.Codec.decoding_table["164,148"] = [51770] let s:lib.Codec.decoding_table["164,149"] = [51771] let s:lib.Codec.decoding_table["164,150"] = [51772] let s:lib.Codec.decoding_table["164,151"] = [51773] let s:lib.Codec.decoding_table["164,152"] = [51774] let s:lib.Codec.decoding_table["164,153"] = [51775] let s:lib.Codec.decoding_table["164,154"] = [51776] let s:lib.Codec.decoding_table["164,155"] = [51777] let s:lib.Codec.decoding_table["164,156"] = [51778] let s:lib.Codec.decoding_table["164,157"] = [51779] let s:lib.Codec.decoding_table["164,158"] = [51780] let s:lib.Codec.decoding_table["164,159"] = [51781] let s:lib.Codec.decoding_table["164,160"] = [51782] let s:lib.Codec.decoding_table["164,161"] = [12593] let s:lib.Codec.decoding_table["164,162"] = [12594] let s:lib.Codec.decoding_table["164,163"] = [12595] let s:lib.Codec.decoding_table["164,164"] = [12596] let s:lib.Codec.decoding_table["164,165"] = [12597] let s:lib.Codec.decoding_table["164,166"] = [12598] let s:lib.Codec.decoding_table["164,167"] = [12599] let s:lib.Codec.decoding_table["164,168"] = [12600] let s:lib.Codec.decoding_table["164,169"] = [12601] let s:lib.Codec.decoding_table["164,170"] = [12602] let s:lib.Codec.decoding_table["164,171"] = [12603] let s:lib.Codec.decoding_table["164,172"] = [12604] let s:lib.Codec.decoding_table["164,173"] = [12605] let s:lib.Codec.decoding_table["164,174"] = [12606] let s:lib.Codec.decoding_table["164,175"] = [12607] let s:lib.Codec.decoding_table["164,176"] = [12608] let s:lib.Codec.decoding_table["164,177"] = [12609] let s:lib.Codec.decoding_table["164,178"] = [12610] let s:lib.Codec.decoding_table["164,179"] = [12611] let s:lib.Codec.decoding_table["164,180"] = [12612] let s:lib.Codec.decoding_table["164,181"] = [12613] let s:lib.Codec.decoding_table["164,182"] = [12614] let s:lib.Codec.decoding_table["164,183"] = [12615] let s:lib.Codec.decoding_table["164,184"] = [12616] let s:lib.Codec.decoding_table["164,185"] = [12617] let s:lib.Codec.decoding_table["164,186"] = [12618] let s:lib.Codec.decoding_table["164,187"] = [12619] let s:lib.Codec.decoding_table["164,188"] = [12620] let s:lib.Codec.decoding_table["164,189"] = [12621] let s:lib.Codec.decoding_table["164,190"] = [12622] let s:lib.Codec.decoding_table["164,191"] = [12623] let s:lib.Codec.decoding_table["164,192"] = [12624] let s:lib.Codec.decoding_table["164,193"] = [12625] let s:lib.Codec.decoding_table["164,194"] = [12626] let s:lib.Codec.decoding_table["164,195"] = [12627] let s:lib.Codec.decoding_table["164,196"] = [12628] let s:lib.Codec.decoding_table["164,197"] = [12629] let s:lib.Codec.decoding_table["164,198"] = [12630] let s:lib.Codec.decoding_table["164,199"] = [12631] let s:lib.Codec.decoding_table["164,200"] = [12632] let s:lib.Codec.decoding_table["164,201"] = [12633] let s:lib.Codec.decoding_table["164,202"] = [12634] let s:lib.Codec.decoding_table["164,203"] = [12635] let s:lib.Codec.decoding_table["164,204"] = [12636] let s:lib.Codec.decoding_table["164,205"] = [12637] let s:lib.Codec.decoding_table["164,206"] = [12638] let s:lib.Codec.decoding_table["164,207"] = [12639] let s:lib.Codec.decoding_table["164,208"] = [12640] let s:lib.Codec.decoding_table["164,209"] = [12641] let s:lib.Codec.decoding_table["164,210"] = [12642] let s:lib.Codec.decoding_table["164,211"] = [12643] let s:lib.Codec.decoding_table["164,212"] = [12644] let s:lib.Codec.decoding_table["164,213"] = [12645] let s:lib.Codec.decoding_table["164,214"] = [12646] let s:lib.Codec.decoding_table["164,215"] = [12647] let s:lib.Codec.decoding_table["164,216"] = [12648] let s:lib.Codec.decoding_table["164,217"] = [12649] let s:lib.Codec.decoding_table["164,218"] = [12650] let s:lib.Codec.decoding_table["164,219"] = [12651] let s:lib.Codec.decoding_table["164,220"] = [12652] let s:lib.Codec.decoding_table["164,221"] = [12653] let s:lib.Codec.decoding_table["164,222"] = [12654] let s:lib.Codec.decoding_table["164,223"] = [12655] let s:lib.Codec.decoding_table["164,224"] = [12656] let s:lib.Codec.decoding_table["164,225"] = [12657] let s:lib.Codec.decoding_table["164,226"] = [12658] let s:lib.Codec.decoding_table["164,227"] = [12659] let s:lib.Codec.decoding_table["164,228"] = [12660] let s:lib.Codec.decoding_table["164,229"] = [12661] let s:lib.Codec.decoding_table["164,230"] = [12662] let s:lib.Codec.decoding_table["164,231"] = [12663] let s:lib.Codec.decoding_table["164,232"] = [12664] let s:lib.Codec.decoding_table["164,233"] = [12665] let s:lib.Codec.decoding_table["164,234"] = [12666] let s:lib.Codec.decoding_table["164,235"] = [12667] let s:lib.Codec.decoding_table["164,236"] = [12668] let s:lib.Codec.decoding_table["164,237"] = [12669] let s:lib.Codec.decoding_table["164,238"] = [12670] let s:lib.Codec.decoding_table["164,239"] = [12671] let s:lib.Codec.decoding_table["164,240"] = [12672] let s:lib.Codec.decoding_table["164,241"] = [12673] let s:lib.Codec.decoding_table["164,242"] = [12674] let s:lib.Codec.decoding_table["164,243"] = [12675] let s:lib.Codec.decoding_table["164,244"] = [12676] let s:lib.Codec.decoding_table["164,245"] = [12677] let s:lib.Codec.decoding_table["164,246"] = [12678] let s:lib.Codec.decoding_table["164,247"] = [12679] let s:lib.Codec.decoding_table["164,248"] = [12680] let s:lib.Codec.decoding_table["164,249"] = [12681] let s:lib.Codec.decoding_table["164,250"] = [12682] let s:lib.Codec.decoding_table["164,251"] = [12683] let s:lib.Codec.decoding_table["164,252"] = [12684] let s:lib.Codec.decoding_table["164,253"] = [12685] let s:lib.Codec.decoding_table["164,254"] = [12686] let s:lib.Codec.decoding_table["165,65"] = [51783] let s:lib.Codec.decoding_table["165,66"] = [51784] let s:lib.Codec.decoding_table["165,67"] = [51785] let s:lib.Codec.decoding_table["165,68"] = [51786] let s:lib.Codec.decoding_table["165,69"] = [51787] let s:lib.Codec.decoding_table["165,70"] = [51790] let s:lib.Codec.decoding_table["165,71"] = [51791] let s:lib.Codec.decoding_table["165,72"] = [51793] let s:lib.Codec.decoding_table["165,73"] = [51794] let s:lib.Codec.decoding_table["165,74"] = [51795] let s:lib.Codec.decoding_table["165,75"] = [51797] let s:lib.Codec.decoding_table["165,76"] = [51798] let s:lib.Codec.decoding_table["165,77"] = [51799] let s:lib.Codec.decoding_table["165,78"] = [51800] let s:lib.Codec.decoding_table["165,79"] = [51801] let s:lib.Codec.decoding_table["165,80"] = [51802] let s:lib.Codec.decoding_table["165,81"] = [51803] let s:lib.Codec.decoding_table["165,82"] = [51806] let s:lib.Codec.decoding_table["165,83"] = [51810] let s:lib.Codec.decoding_table["165,84"] = [51811] let s:lib.Codec.decoding_table["165,85"] = [51812] let s:lib.Codec.decoding_table["165,86"] = [51813] let s:lib.Codec.decoding_table["165,87"] = [51814] let s:lib.Codec.decoding_table["165,88"] = [51815] let s:lib.Codec.decoding_table["165,89"] = [51817] let s:lib.Codec.decoding_table["165,90"] = [51818] let s:lib.Codec.decoding_table["165,97"] = [51819] let s:lib.Codec.decoding_table["165,98"] = [51820] let s:lib.Codec.decoding_table["165,99"] = [51821] let s:lib.Codec.decoding_table["165,100"] = [51822] let s:lib.Codec.decoding_table["165,101"] = [51823] let s:lib.Codec.decoding_table["165,102"] = [51824] let s:lib.Codec.decoding_table["165,103"] = [51825] let s:lib.Codec.decoding_table["165,104"] = [51826] let s:lib.Codec.decoding_table["165,105"] = [51827] let s:lib.Codec.decoding_table["165,106"] = [51828] let s:lib.Codec.decoding_table["165,107"] = [51829] let s:lib.Codec.decoding_table["165,108"] = [51830] let s:lib.Codec.decoding_table["165,109"] = [51831] let s:lib.Codec.decoding_table["165,110"] = [51832] let s:lib.Codec.decoding_table["165,111"] = [51833] let s:lib.Codec.decoding_table["165,112"] = [51834] let s:lib.Codec.decoding_table["165,113"] = [51835] let s:lib.Codec.decoding_table["165,114"] = [51836] let s:lib.Codec.decoding_table["165,115"] = [51838] let s:lib.Codec.decoding_table["165,116"] = [51839] let s:lib.Codec.decoding_table["165,117"] = [51840] let s:lib.Codec.decoding_table["165,118"] = [51841] let s:lib.Codec.decoding_table["165,119"] = [51842] let s:lib.Codec.decoding_table["165,120"] = [51843] let s:lib.Codec.decoding_table["165,121"] = [51845] let s:lib.Codec.decoding_table["165,122"] = [51846] let s:lib.Codec.decoding_table["165,129"] = [51847] let s:lib.Codec.decoding_table["165,130"] = [51848] let s:lib.Codec.decoding_table["165,131"] = [51849] let s:lib.Codec.decoding_table["165,132"] = [51850] let s:lib.Codec.decoding_table["165,133"] = [51851] let s:lib.Codec.decoding_table["165,134"] = [51852] let s:lib.Codec.decoding_table["165,135"] = [51853] let s:lib.Codec.decoding_table["165,136"] = [51854] let s:lib.Codec.decoding_table["165,137"] = [51855] let s:lib.Codec.decoding_table["165,138"] = [51856] let s:lib.Codec.decoding_table["165,139"] = [51857] let s:lib.Codec.decoding_table["165,140"] = [51858] let s:lib.Codec.decoding_table["165,141"] = [51859] let s:lib.Codec.decoding_table["165,142"] = [51860] let s:lib.Codec.decoding_table["165,143"] = [51861] let s:lib.Codec.decoding_table["165,144"] = [51862] let s:lib.Codec.decoding_table["165,145"] = [51863] let s:lib.Codec.decoding_table["165,146"] = [51865] let s:lib.Codec.decoding_table["165,147"] = [51866] let s:lib.Codec.decoding_table["165,148"] = [51867] let s:lib.Codec.decoding_table["165,149"] = [51868] let s:lib.Codec.decoding_table["165,150"] = [51869] let s:lib.Codec.decoding_table["165,151"] = [51870] let s:lib.Codec.decoding_table["165,152"] = [51871] let s:lib.Codec.decoding_table["165,153"] = [51872] let s:lib.Codec.decoding_table["165,154"] = [51873] let s:lib.Codec.decoding_table["165,155"] = [51874] let s:lib.Codec.decoding_table["165,156"] = [51875] let s:lib.Codec.decoding_table["165,157"] = [51876] let s:lib.Codec.decoding_table["165,158"] = [51877] let s:lib.Codec.decoding_table["165,159"] = [51878] let s:lib.Codec.decoding_table["165,160"] = [51879] let s:lib.Codec.decoding_table["165,161"] = [8560] let s:lib.Codec.decoding_table["165,162"] = [8561] let s:lib.Codec.decoding_table["165,163"] = [8562] let s:lib.Codec.decoding_table["165,164"] = [8563] let s:lib.Codec.decoding_table["165,165"] = [8564] let s:lib.Codec.decoding_table["165,166"] = [8565] let s:lib.Codec.decoding_table["165,167"] = [8566] let s:lib.Codec.decoding_table["165,168"] = [8567] let s:lib.Codec.decoding_table["165,169"] = [8568] let s:lib.Codec.decoding_table["165,170"] = [8569] let s:lib.Codec.decoding_table["165,176"] = [8544] let s:lib.Codec.decoding_table["165,177"] = [8545] let s:lib.Codec.decoding_table["165,178"] = [8546] let s:lib.Codec.decoding_table["165,179"] = [8547] let s:lib.Codec.decoding_table["165,180"] = [8548] let s:lib.Codec.decoding_table["165,181"] = [8549] let s:lib.Codec.decoding_table["165,182"] = [8550] let s:lib.Codec.decoding_table["165,183"] = [8551] let s:lib.Codec.decoding_table["165,184"] = [8552] let s:lib.Codec.decoding_table["165,185"] = [8553] let s:lib.Codec.decoding_table["165,193"] = [913] let s:lib.Codec.decoding_table["165,194"] = [914] let s:lib.Codec.decoding_table["165,195"] = [915] let s:lib.Codec.decoding_table["165,196"] = [916] let s:lib.Codec.decoding_table["165,197"] = [917] let s:lib.Codec.decoding_table["165,198"] = [918] let s:lib.Codec.decoding_table["165,199"] = [919] let s:lib.Codec.decoding_table["165,200"] = [920] let s:lib.Codec.decoding_table["165,201"] = [921] let s:lib.Codec.decoding_table["165,202"] = [922] let s:lib.Codec.decoding_table["165,203"] = [923] let s:lib.Codec.decoding_table["165,204"] = [924] let s:lib.Codec.decoding_table["165,205"] = [925] let s:lib.Codec.decoding_table["165,206"] = [926] let s:lib.Codec.decoding_table["165,207"] = [927] let s:lib.Codec.decoding_table["165,208"] = [928] let s:lib.Codec.decoding_table["165,209"] = [929] let s:lib.Codec.decoding_table["165,210"] = [931] let s:lib.Codec.decoding_table["165,211"] = [932] let s:lib.Codec.decoding_table["165,212"] = [933] let s:lib.Codec.decoding_table["165,213"] = [934] let s:lib.Codec.decoding_table["165,214"] = [935] let s:lib.Codec.decoding_table["165,215"] = [936] let s:lib.Codec.decoding_table["165,216"] = [937] let s:lib.Codec.decoding_table["165,225"] = [945] let s:lib.Codec.decoding_table["165,226"] = [946] let s:lib.Codec.decoding_table["165,227"] = [947] let s:lib.Codec.decoding_table["165,228"] = [948] let s:lib.Codec.decoding_table["165,229"] = [949] let s:lib.Codec.decoding_table["165,230"] = [950] let s:lib.Codec.decoding_table["165,231"] = [951] let s:lib.Codec.decoding_table["165,232"] = [952] let s:lib.Codec.decoding_table["165,233"] = [953] let s:lib.Codec.decoding_table["165,234"] = [954] let s:lib.Codec.decoding_table["165,235"] = [955] let s:lib.Codec.decoding_table["165,236"] = [956] let s:lib.Codec.decoding_table["165,237"] = [957] let s:lib.Codec.decoding_table["165,238"] = [958] let s:lib.Codec.decoding_table["165,239"] = [959] let s:lib.Codec.decoding_table["165,240"] = [960] let s:lib.Codec.decoding_table["165,241"] = [961] let s:lib.Codec.decoding_table["165,242"] = [963] let s:lib.Codec.decoding_table["165,243"] = [964] let s:lib.Codec.decoding_table["165,244"] = [965] let s:lib.Codec.decoding_table["165,245"] = [966] let s:lib.Codec.decoding_table["165,246"] = [967] let s:lib.Codec.decoding_table["165,247"] = [968] let s:lib.Codec.decoding_table["165,248"] = [969] let s:lib.Codec.decoding_table["166,65"] = [51880] let s:lib.Codec.decoding_table["166,66"] = [51881] let s:lib.Codec.decoding_table["166,67"] = [51882] let s:lib.Codec.decoding_table["166,68"] = [51883] let s:lib.Codec.decoding_table["166,69"] = [51884] let s:lib.Codec.decoding_table["166,70"] = [51885] let s:lib.Codec.decoding_table["166,71"] = [51886] let s:lib.Codec.decoding_table["166,72"] = [51887] let s:lib.Codec.decoding_table["166,73"] = [51888] let s:lib.Codec.decoding_table["166,74"] = [51889] let s:lib.Codec.decoding_table["166,75"] = [51890] let s:lib.Codec.decoding_table["166,76"] = [51891] let s:lib.Codec.decoding_table["166,77"] = [51892] let s:lib.Codec.decoding_table["166,78"] = [51893] let s:lib.Codec.decoding_table["166,79"] = [51894] let s:lib.Codec.decoding_table["166,80"] = [51895] let s:lib.Codec.decoding_table["166,81"] = [51896] let s:lib.Codec.decoding_table["166,82"] = [51897] let s:lib.Codec.decoding_table["166,83"] = [51898] let s:lib.Codec.decoding_table["166,84"] = [51899] let s:lib.Codec.decoding_table["166,85"] = [51902] let s:lib.Codec.decoding_table["166,86"] = [51903] let s:lib.Codec.decoding_table["166,87"] = [51905] let s:lib.Codec.decoding_table["166,88"] = [51906] let s:lib.Codec.decoding_table["166,89"] = [51907] let s:lib.Codec.decoding_table["166,90"] = [51909] let s:lib.Codec.decoding_table["166,97"] = [51910] let s:lib.Codec.decoding_table["166,98"] = [51911] let s:lib.Codec.decoding_table["166,99"] = [51912] let s:lib.Codec.decoding_table["166,100"] = [51913] let s:lib.Codec.decoding_table["166,101"] = [51914] let s:lib.Codec.decoding_table["166,102"] = [51915] let s:lib.Codec.decoding_table["166,103"] = [51918] let s:lib.Codec.decoding_table["166,104"] = [51920] let s:lib.Codec.decoding_table["166,105"] = [51922] let s:lib.Codec.decoding_table["166,106"] = [51924] let s:lib.Codec.decoding_table["166,107"] = [51925] let s:lib.Codec.decoding_table["166,108"] = [51926] let s:lib.Codec.decoding_table["166,109"] = [51927] let s:lib.Codec.decoding_table["166,110"] = [51930] let s:lib.Codec.decoding_table["166,111"] = [51931] let s:lib.Codec.decoding_table["166,112"] = [51932] let s:lib.Codec.decoding_table["166,113"] = [51933] let s:lib.Codec.decoding_table["166,114"] = [51934] let s:lib.Codec.decoding_table["166,115"] = [51935] let s:lib.Codec.decoding_table["166,116"] = [51937] let s:lib.Codec.decoding_table["166,117"] = [51938] let s:lib.Codec.decoding_table["166,118"] = [51939] let s:lib.Codec.decoding_table["166,119"] = [51940] let s:lib.Codec.decoding_table["166,120"] = [51941] let s:lib.Codec.decoding_table["166,121"] = [51942] let s:lib.Codec.decoding_table["166,122"] = [51943] let s:lib.Codec.decoding_table["166,129"] = [51944] let s:lib.Codec.decoding_table["166,130"] = [51945] let s:lib.Codec.decoding_table["166,131"] = [51946] let s:lib.Codec.decoding_table["166,132"] = [51947] let s:lib.Codec.decoding_table["166,133"] = [51949] let s:lib.Codec.decoding_table["166,134"] = [51950] let s:lib.Codec.decoding_table["166,135"] = [51951] let s:lib.Codec.decoding_table["166,136"] = [51952] let s:lib.Codec.decoding_table["166,137"] = [51953] let s:lib.Codec.decoding_table["166,138"] = [51954] let s:lib.Codec.decoding_table["166,139"] = [51955] let s:lib.Codec.decoding_table["166,140"] = [51957] let s:lib.Codec.decoding_table["166,141"] = [51958] let s:lib.Codec.decoding_table["166,142"] = [51959] let s:lib.Codec.decoding_table["166,143"] = [51960] let s:lib.Codec.decoding_table["166,144"] = [51961] let s:lib.Codec.decoding_table["166,145"] = [51962] let s:lib.Codec.decoding_table["166,146"] = [51963] let s:lib.Codec.decoding_table["166,147"] = [51964] let s:lib.Codec.decoding_table["166,148"] = [51965] let s:lib.Codec.decoding_table["166,149"] = [51966] let s:lib.Codec.decoding_table["166,150"] = [51967] let s:lib.Codec.decoding_table["166,151"] = [51968] let s:lib.Codec.decoding_table["166,152"] = [51969] let s:lib.Codec.decoding_table["166,153"] = [51970] let s:lib.Codec.decoding_table["166,154"] = [51971] let s:lib.Codec.decoding_table["166,155"] = [51972] let s:lib.Codec.decoding_table["166,156"] = [51973] let s:lib.Codec.decoding_table["166,157"] = [51974] let s:lib.Codec.decoding_table["166,158"] = [51975] let s:lib.Codec.decoding_table["166,159"] = [51977] let s:lib.Codec.decoding_table["166,160"] = [51978] let s:lib.Codec.decoding_table["166,161"] = [9472] let s:lib.Codec.decoding_table["166,162"] = [9474] let s:lib.Codec.decoding_table["166,163"] = [9484] let s:lib.Codec.decoding_table["166,164"] = [9488] let s:lib.Codec.decoding_table["166,165"] = [9496] let s:lib.Codec.decoding_table["166,166"] = [9492] let s:lib.Codec.decoding_table["166,167"] = [9500] let s:lib.Codec.decoding_table["166,168"] = [9516] let s:lib.Codec.decoding_table["166,169"] = [9508] let s:lib.Codec.decoding_table["166,170"] = [9524] let s:lib.Codec.decoding_table["166,171"] = [9532] let s:lib.Codec.decoding_table["166,172"] = [9473] let s:lib.Codec.decoding_table["166,173"] = [9475] let s:lib.Codec.decoding_table["166,174"] = [9487] let s:lib.Codec.decoding_table["166,175"] = [9491] let s:lib.Codec.decoding_table["166,176"] = [9499] let s:lib.Codec.decoding_table["166,177"] = [9495] let s:lib.Codec.decoding_table["166,178"] = [9507] let s:lib.Codec.decoding_table["166,179"] = [9523] let s:lib.Codec.decoding_table["166,180"] = [9515] let s:lib.Codec.decoding_table["166,181"] = [9531] let s:lib.Codec.decoding_table["166,182"] = [9547] let s:lib.Codec.decoding_table["166,183"] = [9504] let s:lib.Codec.decoding_table["166,184"] = [9519] let s:lib.Codec.decoding_table["166,185"] = [9512] let s:lib.Codec.decoding_table["166,186"] = [9527] let s:lib.Codec.decoding_table["166,187"] = [9535] let s:lib.Codec.decoding_table["166,188"] = [9501] let s:lib.Codec.decoding_table["166,189"] = [9520] let s:lib.Codec.decoding_table["166,190"] = [9509] let s:lib.Codec.decoding_table["166,191"] = [9528] let s:lib.Codec.decoding_table["166,192"] = [9538] let s:lib.Codec.decoding_table["166,193"] = [9490] let s:lib.Codec.decoding_table["166,194"] = [9489] let s:lib.Codec.decoding_table["166,195"] = [9498] let s:lib.Codec.decoding_table["166,196"] = [9497] let s:lib.Codec.decoding_table["166,197"] = [9494] let s:lib.Codec.decoding_table["166,198"] = [9493] let s:lib.Codec.decoding_table["166,199"] = [9486] let s:lib.Codec.decoding_table["166,200"] = [9485] let s:lib.Codec.decoding_table["166,201"] = [9502] let s:lib.Codec.decoding_table["166,202"] = [9503] let s:lib.Codec.decoding_table["166,203"] = [9505] let s:lib.Codec.decoding_table["166,204"] = [9506] let s:lib.Codec.decoding_table["166,205"] = [9510] let s:lib.Codec.decoding_table["166,206"] = [9511] let s:lib.Codec.decoding_table["166,207"] = [9513] let s:lib.Codec.decoding_table["166,208"] = [9514] let s:lib.Codec.decoding_table["166,209"] = [9517] let s:lib.Codec.decoding_table["166,210"] = [9518] let s:lib.Codec.decoding_table["166,211"] = [9521] let s:lib.Codec.decoding_table["166,212"] = [9522] let s:lib.Codec.decoding_table["166,213"] = [9525] let s:lib.Codec.decoding_table["166,214"] = [9526] let s:lib.Codec.decoding_table["166,215"] = [9529] let s:lib.Codec.decoding_table["166,216"] = [9530] let s:lib.Codec.decoding_table["166,217"] = [9533] let s:lib.Codec.decoding_table["166,218"] = [9534] let s:lib.Codec.decoding_table["166,219"] = [9536] let s:lib.Codec.decoding_table["166,220"] = [9537] let s:lib.Codec.decoding_table["166,221"] = [9539] let s:lib.Codec.decoding_table["166,222"] = [9540] let s:lib.Codec.decoding_table["166,223"] = [9541] let s:lib.Codec.decoding_table["166,224"] = [9542] let s:lib.Codec.decoding_table["166,225"] = [9543] let s:lib.Codec.decoding_table["166,226"] = [9544] let s:lib.Codec.decoding_table["166,227"] = [9545] let s:lib.Codec.decoding_table["166,228"] = [9546] let s:lib.Codec.decoding_table["167,65"] = [51979] let s:lib.Codec.decoding_table["167,66"] = [51980] let s:lib.Codec.decoding_table["167,67"] = [51981] let s:lib.Codec.decoding_table["167,68"] = [51982] let s:lib.Codec.decoding_table["167,69"] = [51983] let s:lib.Codec.decoding_table["167,70"] = [51985] let s:lib.Codec.decoding_table["167,71"] = [51986] let s:lib.Codec.decoding_table["167,72"] = [51987] let s:lib.Codec.decoding_table["167,73"] = [51989] let s:lib.Codec.decoding_table["167,74"] = [51990] let s:lib.Codec.decoding_table["167,75"] = [51991] let s:lib.Codec.decoding_table["167,76"] = [51993] let s:lib.Codec.decoding_table["167,77"] = [51994] let s:lib.Codec.decoding_table["167,78"] = [51995] let s:lib.Codec.decoding_table["167,79"] = [51996] let s:lib.Codec.decoding_table["167,80"] = [51997] let s:lib.Codec.decoding_table["167,81"] = [51998] let s:lib.Codec.decoding_table["167,82"] = [51999] let s:lib.Codec.decoding_table["167,83"] = [52002] let s:lib.Codec.decoding_table["167,84"] = [52003] let s:lib.Codec.decoding_table["167,85"] = [52004] let s:lib.Codec.decoding_table["167,86"] = [52005] let s:lib.Codec.decoding_table["167,87"] = [52006] let s:lib.Codec.decoding_table["167,88"] = [52007] let s:lib.Codec.decoding_table["167,89"] = [52008] let s:lib.Codec.decoding_table["167,90"] = [52009] let s:lib.Codec.decoding_table["167,97"] = [52010] let s:lib.Codec.decoding_table["167,98"] = [52011] let s:lib.Codec.decoding_table["167,99"] = [52012] let s:lib.Codec.decoding_table["167,100"] = [52013] let s:lib.Codec.decoding_table["167,101"] = [52014] let s:lib.Codec.decoding_table["167,102"] = [52015] let s:lib.Codec.decoding_table["167,103"] = [52016] let s:lib.Codec.decoding_table["167,104"] = [52017] let s:lib.Codec.decoding_table["167,105"] = [52018] let s:lib.Codec.decoding_table["167,106"] = [52019] let s:lib.Codec.decoding_table["167,107"] = [52020] let s:lib.Codec.decoding_table["167,108"] = [52021] let s:lib.Codec.decoding_table["167,109"] = [52022] let s:lib.Codec.decoding_table["167,110"] = [52023] let s:lib.Codec.decoding_table["167,111"] = [52024] let s:lib.Codec.decoding_table["167,112"] = [52025] let s:lib.Codec.decoding_table["167,113"] = [52026] let s:lib.Codec.decoding_table["167,114"] = [52027] let s:lib.Codec.decoding_table["167,115"] = [52028] let s:lib.Codec.decoding_table["167,116"] = [52029] let s:lib.Codec.decoding_table["167,117"] = [52030] let s:lib.Codec.decoding_table["167,118"] = [52031] let s:lib.Codec.decoding_table["167,119"] = [52032] let s:lib.Codec.decoding_table["167,120"] = [52034] let s:lib.Codec.decoding_table["167,121"] = [52035] let s:lib.Codec.decoding_table["167,122"] = [52036] let s:lib.Codec.decoding_table["167,129"] = [52037] let s:lib.Codec.decoding_table["167,130"] = [52038] let s:lib.Codec.decoding_table["167,131"] = [52039] let s:lib.Codec.decoding_table["167,132"] = [52042] let s:lib.Codec.decoding_table["167,133"] = [52043] let s:lib.Codec.decoding_table["167,134"] = [52045] let s:lib.Codec.decoding_table["167,135"] = [52046] let s:lib.Codec.decoding_table["167,136"] = [52047] let s:lib.Codec.decoding_table["167,137"] = [52049] let s:lib.Codec.decoding_table["167,138"] = [52050] let s:lib.Codec.decoding_table["167,139"] = [52051] let s:lib.Codec.decoding_table["167,140"] = [52052] let s:lib.Codec.decoding_table["167,141"] = [52053] let s:lib.Codec.decoding_table["167,142"] = [52054] let s:lib.Codec.decoding_table["167,143"] = [52055] let s:lib.Codec.decoding_table["167,144"] = [52058] let s:lib.Codec.decoding_table["167,145"] = [52059] let s:lib.Codec.decoding_table["167,146"] = [52060] let s:lib.Codec.decoding_table["167,147"] = [52062] let s:lib.Codec.decoding_table["167,148"] = [52063] let s:lib.Codec.decoding_table["167,149"] = [52064] let s:lib.Codec.decoding_table["167,150"] = [52065] let s:lib.Codec.decoding_table["167,151"] = [52066] let s:lib.Codec.decoding_table["167,152"] = [52067] let s:lib.Codec.decoding_table["167,153"] = [52069] let s:lib.Codec.decoding_table["167,154"] = [52070] let s:lib.Codec.decoding_table["167,155"] = [52071] let s:lib.Codec.decoding_table["167,156"] = [52072] let s:lib.Codec.decoding_table["167,157"] = [52073] let s:lib.Codec.decoding_table["167,158"] = [52074] let s:lib.Codec.decoding_table["167,159"] = [52075] let s:lib.Codec.decoding_table["167,160"] = [52076] let s:lib.Codec.decoding_table["167,161"] = [13205] let s:lib.Codec.decoding_table["167,162"] = [13206] let s:lib.Codec.decoding_table["167,163"] = [13207] let s:lib.Codec.decoding_table["167,164"] = [8467] let s:lib.Codec.decoding_table["167,165"] = [13208] let s:lib.Codec.decoding_table["167,166"] = [13252] let s:lib.Codec.decoding_table["167,167"] = [13219] let s:lib.Codec.decoding_table["167,168"] = [13220] let s:lib.Codec.decoding_table["167,169"] = [13221] let s:lib.Codec.decoding_table["167,170"] = [13222] let s:lib.Codec.decoding_table["167,171"] = [13209] let s:lib.Codec.decoding_table["167,172"] = [13210] let s:lib.Codec.decoding_table["167,173"] = [13211] let s:lib.Codec.decoding_table["167,174"] = [13212] let s:lib.Codec.decoding_table["167,175"] = [13213] let s:lib.Codec.decoding_table["167,176"] = [13214] let s:lib.Codec.decoding_table["167,177"] = [13215] let s:lib.Codec.decoding_table["167,178"] = [13216] let s:lib.Codec.decoding_table["167,179"] = [13217] let s:lib.Codec.decoding_table["167,180"] = [13218] let s:lib.Codec.decoding_table["167,181"] = [13258] let s:lib.Codec.decoding_table["167,182"] = [13197] let s:lib.Codec.decoding_table["167,183"] = [13198] let s:lib.Codec.decoding_table["167,184"] = [13199] let s:lib.Codec.decoding_table["167,185"] = [13263] let s:lib.Codec.decoding_table["167,186"] = [13192] let s:lib.Codec.decoding_table["167,187"] = [13193] let s:lib.Codec.decoding_table["167,188"] = [13256] let s:lib.Codec.decoding_table["167,189"] = [13223] let s:lib.Codec.decoding_table["167,190"] = [13224] let s:lib.Codec.decoding_table["167,191"] = [13232] let s:lib.Codec.decoding_table["167,192"] = [13233] let s:lib.Codec.decoding_table["167,193"] = [13234] let s:lib.Codec.decoding_table["167,194"] = [13235] let s:lib.Codec.decoding_table["167,195"] = [13236] let s:lib.Codec.decoding_table["167,196"] = [13237] let s:lib.Codec.decoding_table["167,197"] = [13238] let s:lib.Codec.decoding_table["167,198"] = [13239] let s:lib.Codec.decoding_table["167,199"] = [13240] let s:lib.Codec.decoding_table["167,200"] = [13241] let s:lib.Codec.decoding_table["167,201"] = [13184] let s:lib.Codec.decoding_table["167,202"] = [13185] let s:lib.Codec.decoding_table["167,203"] = [13186] let s:lib.Codec.decoding_table["167,204"] = [13187] let s:lib.Codec.decoding_table["167,205"] = [13188] let s:lib.Codec.decoding_table["167,206"] = [13242] let s:lib.Codec.decoding_table["167,207"] = [13243] let s:lib.Codec.decoding_table["167,208"] = [13244] let s:lib.Codec.decoding_table["167,209"] = [13245] let s:lib.Codec.decoding_table["167,210"] = [13246] let s:lib.Codec.decoding_table["167,211"] = [13247] let s:lib.Codec.decoding_table["167,212"] = [13200] let s:lib.Codec.decoding_table["167,213"] = [13201] let s:lib.Codec.decoding_table["167,214"] = [13202] let s:lib.Codec.decoding_table["167,215"] = [13203] let s:lib.Codec.decoding_table["167,216"] = [13204] let s:lib.Codec.decoding_table["167,217"] = [8486] let s:lib.Codec.decoding_table["167,218"] = [13248] let s:lib.Codec.decoding_table["167,219"] = [13249] let s:lib.Codec.decoding_table["167,220"] = [13194] let s:lib.Codec.decoding_table["167,221"] = [13195] let s:lib.Codec.decoding_table["167,222"] = [13196] let s:lib.Codec.decoding_table["167,223"] = [13270] let s:lib.Codec.decoding_table["167,224"] = [13253] let s:lib.Codec.decoding_table["167,225"] = [13229] let s:lib.Codec.decoding_table["167,226"] = [13230] let s:lib.Codec.decoding_table["167,227"] = [13231] let s:lib.Codec.decoding_table["167,228"] = [13275] let s:lib.Codec.decoding_table["167,229"] = [13225] let s:lib.Codec.decoding_table["167,230"] = [13226] let s:lib.Codec.decoding_table["167,231"] = [13227] let s:lib.Codec.decoding_table["167,232"] = [13228] let s:lib.Codec.decoding_table["167,233"] = [13277] let s:lib.Codec.decoding_table["167,234"] = [13264] let s:lib.Codec.decoding_table["167,235"] = [13267] let s:lib.Codec.decoding_table["167,236"] = [13251] let s:lib.Codec.decoding_table["167,237"] = [13257] let s:lib.Codec.decoding_table["167,238"] = [13276] let s:lib.Codec.decoding_table["167,239"] = [13254] let s:lib.Codec.decoding_table["168,65"] = [52077] let s:lib.Codec.decoding_table["168,66"] = [52078] let s:lib.Codec.decoding_table["168,67"] = [52079] let s:lib.Codec.decoding_table["168,68"] = [52080] let s:lib.Codec.decoding_table["168,69"] = [52081] let s:lib.Codec.decoding_table["168,70"] = [52082] let s:lib.Codec.decoding_table["168,71"] = [52083] let s:lib.Codec.decoding_table["168,72"] = [52084] let s:lib.Codec.decoding_table["168,73"] = [52085] let s:lib.Codec.decoding_table["168,74"] = [52086] let s:lib.Codec.decoding_table["168,75"] = [52087] let s:lib.Codec.decoding_table["168,76"] = [52090] let s:lib.Codec.decoding_table["168,77"] = [52091] let s:lib.Codec.decoding_table["168,78"] = [52092] let s:lib.Codec.decoding_table["168,79"] = [52093] let s:lib.Codec.decoding_table["168,80"] = [52094] let s:lib.Codec.decoding_table["168,81"] = [52095] let s:lib.Codec.decoding_table["168,82"] = [52096] let s:lib.Codec.decoding_table["168,83"] = [52097] let s:lib.Codec.decoding_table["168,84"] = [52098] let s:lib.Codec.decoding_table["168,85"] = [52099] let s:lib.Codec.decoding_table["168,86"] = [52100] let s:lib.Codec.decoding_table["168,87"] = [52101] let s:lib.Codec.decoding_table["168,88"] = [52102] let s:lib.Codec.decoding_table["168,89"] = [52103] let s:lib.Codec.decoding_table["168,90"] = [52104] let s:lib.Codec.decoding_table["168,97"] = [52105] let s:lib.Codec.decoding_table["168,98"] = [52106] let s:lib.Codec.decoding_table["168,99"] = [52107] let s:lib.Codec.decoding_table["168,100"] = [52108] let s:lib.Codec.decoding_table["168,101"] = [52109] let s:lib.Codec.decoding_table["168,102"] = [52110] let s:lib.Codec.decoding_table["168,103"] = [52111] let s:lib.Codec.decoding_table["168,104"] = [52112] let s:lib.Codec.decoding_table["168,105"] = [52113] let s:lib.Codec.decoding_table["168,106"] = [52114] let s:lib.Codec.decoding_table["168,107"] = [52115] let s:lib.Codec.decoding_table["168,108"] = [52116] let s:lib.Codec.decoding_table["168,109"] = [52117] let s:lib.Codec.decoding_table["168,110"] = [52118] let s:lib.Codec.decoding_table["168,111"] = [52119] let s:lib.Codec.decoding_table["168,112"] = [52120] let s:lib.Codec.decoding_table["168,113"] = [52121] let s:lib.Codec.decoding_table["168,114"] = [52122] let s:lib.Codec.decoding_table["168,115"] = [52123] let s:lib.Codec.decoding_table["168,116"] = [52125] let s:lib.Codec.decoding_table["168,117"] = [52126] let s:lib.Codec.decoding_table["168,118"] = [52127] let s:lib.Codec.decoding_table["168,119"] = [52128] let s:lib.Codec.decoding_table["168,120"] = [52129] let s:lib.Codec.decoding_table["168,121"] = [52130] let s:lib.Codec.decoding_table["168,122"] = [52131] let s:lib.Codec.decoding_table["168,129"] = [52132] let s:lib.Codec.decoding_table["168,130"] = [52133] let s:lib.Codec.decoding_table["168,131"] = [52134] let s:lib.Codec.decoding_table["168,132"] = [52135] let s:lib.Codec.decoding_table["168,133"] = [52136] let s:lib.Codec.decoding_table["168,134"] = [52137] let s:lib.Codec.decoding_table["168,135"] = [52138] let s:lib.Codec.decoding_table["168,136"] = [52139] let s:lib.Codec.decoding_table["168,137"] = [52140] let s:lib.Codec.decoding_table["168,138"] = [52141] let s:lib.Codec.decoding_table["168,139"] = [52142] let s:lib.Codec.decoding_table["168,140"] = [52143] let s:lib.Codec.decoding_table["168,141"] = [52144] let s:lib.Codec.decoding_table["168,142"] = [52145] let s:lib.Codec.decoding_table["168,143"] = [52146] let s:lib.Codec.decoding_table["168,144"] = [52147] let s:lib.Codec.decoding_table["168,145"] = [52148] let s:lib.Codec.decoding_table["168,146"] = [52149] let s:lib.Codec.decoding_table["168,147"] = [52150] let s:lib.Codec.decoding_table["168,148"] = [52151] let s:lib.Codec.decoding_table["168,149"] = [52153] let s:lib.Codec.decoding_table["168,150"] = [52154] let s:lib.Codec.decoding_table["168,151"] = [52155] let s:lib.Codec.decoding_table["168,152"] = [52156] let s:lib.Codec.decoding_table["168,153"] = [52157] let s:lib.Codec.decoding_table["168,154"] = [52158] let s:lib.Codec.decoding_table["168,155"] = [52159] let s:lib.Codec.decoding_table["168,156"] = [52160] let s:lib.Codec.decoding_table["168,157"] = [52161] let s:lib.Codec.decoding_table["168,158"] = [52162] let s:lib.Codec.decoding_table["168,159"] = [52163] let s:lib.Codec.decoding_table["168,160"] = [52164] let s:lib.Codec.decoding_table["168,161"] = [198] let s:lib.Codec.decoding_table["168,162"] = [208] let s:lib.Codec.decoding_table["168,163"] = [170] let s:lib.Codec.decoding_table["168,164"] = [294] let s:lib.Codec.decoding_table["168,166"] = [306] let s:lib.Codec.decoding_table["168,168"] = [319] let s:lib.Codec.decoding_table["168,169"] = [321] let s:lib.Codec.decoding_table["168,170"] = [216] let s:lib.Codec.decoding_table["168,171"] = [338] let s:lib.Codec.decoding_table["168,172"] = [186] let s:lib.Codec.decoding_table["168,173"] = [222] let s:lib.Codec.decoding_table["168,174"] = [358] let s:lib.Codec.decoding_table["168,175"] = [330] let s:lib.Codec.decoding_table["168,177"] = [12896] let s:lib.Codec.decoding_table["168,178"] = [12897] let s:lib.Codec.decoding_table["168,179"] = [12898] let s:lib.Codec.decoding_table["168,180"] = [12899] let s:lib.Codec.decoding_table["168,181"] = [12900] let s:lib.Codec.decoding_table["168,182"] = [12901] let s:lib.Codec.decoding_table["168,183"] = [12902] let s:lib.Codec.decoding_table["168,184"] = [12903] let s:lib.Codec.decoding_table["168,185"] = [12904] let s:lib.Codec.decoding_table["168,186"] = [12905] let s:lib.Codec.decoding_table["168,187"] = [12906] let s:lib.Codec.decoding_table["168,188"] = [12907] let s:lib.Codec.decoding_table["168,189"] = [12908] let s:lib.Codec.decoding_table["168,190"] = [12909] let s:lib.Codec.decoding_table["168,191"] = [12910] let s:lib.Codec.decoding_table["168,192"] = [12911] let s:lib.Codec.decoding_table["168,193"] = [12912] let s:lib.Codec.decoding_table["168,194"] = [12913] let s:lib.Codec.decoding_table["168,195"] = [12914] let s:lib.Codec.decoding_table["168,196"] = [12915] let s:lib.Codec.decoding_table["168,197"] = [12916] let s:lib.Codec.decoding_table["168,198"] = [12917] let s:lib.Codec.decoding_table["168,199"] = [12918] let s:lib.Codec.decoding_table["168,200"] = [12919] let s:lib.Codec.decoding_table["168,201"] = [12920] let s:lib.Codec.decoding_table["168,202"] = [12921] let s:lib.Codec.decoding_table["168,203"] = [12922] let s:lib.Codec.decoding_table["168,204"] = [12923] let s:lib.Codec.decoding_table["168,205"] = [9424] let s:lib.Codec.decoding_table["168,206"] = [9425] let s:lib.Codec.decoding_table["168,207"] = [9426] let s:lib.Codec.decoding_table["168,208"] = [9427] let s:lib.Codec.decoding_table["168,209"] = [9428] let s:lib.Codec.decoding_table["168,210"] = [9429] let s:lib.Codec.decoding_table["168,211"] = [9430] let s:lib.Codec.decoding_table["168,212"] = [9431] let s:lib.Codec.decoding_table["168,213"] = [9432] let s:lib.Codec.decoding_table["168,214"] = [9433] let s:lib.Codec.decoding_table["168,215"] = [9434] let s:lib.Codec.decoding_table["168,216"] = [9435] let s:lib.Codec.decoding_table["168,217"] = [9436] let s:lib.Codec.decoding_table["168,218"] = [9437] let s:lib.Codec.decoding_table["168,219"] = [9438] let s:lib.Codec.decoding_table["168,220"] = [9439] let s:lib.Codec.decoding_table["168,221"] = [9440] let s:lib.Codec.decoding_table["168,222"] = [9441] let s:lib.Codec.decoding_table["168,223"] = [9442] let s:lib.Codec.decoding_table["168,224"] = [9443] let s:lib.Codec.decoding_table["168,225"] = [9444] let s:lib.Codec.decoding_table["168,226"] = [9445] let s:lib.Codec.decoding_table["168,227"] = [9446] let s:lib.Codec.decoding_table["168,228"] = [9447] let s:lib.Codec.decoding_table["168,229"] = [9448] let s:lib.Codec.decoding_table["168,230"] = [9449] let s:lib.Codec.decoding_table["168,231"] = [9312] let s:lib.Codec.decoding_table["168,232"] = [9313] let s:lib.Codec.decoding_table["168,233"] = [9314] let s:lib.Codec.decoding_table["168,234"] = [9315] let s:lib.Codec.decoding_table["168,235"] = [9316] let s:lib.Codec.decoding_table["168,236"] = [9317] let s:lib.Codec.decoding_table["168,237"] = [9318] let s:lib.Codec.decoding_table["168,238"] = [9319] let s:lib.Codec.decoding_table["168,239"] = [9320] let s:lib.Codec.decoding_table["168,240"] = [9321] let s:lib.Codec.decoding_table["168,241"] = [9322] let s:lib.Codec.decoding_table["168,242"] = [9323] let s:lib.Codec.decoding_table["168,243"] = [9324] let s:lib.Codec.decoding_table["168,244"] = [9325] let s:lib.Codec.decoding_table["168,245"] = [9326] let s:lib.Codec.decoding_table["168,246"] = [189] let s:lib.Codec.decoding_table["168,247"] = [8531] let s:lib.Codec.decoding_table["168,248"] = [8532] let s:lib.Codec.decoding_table["168,249"] = [188] let s:lib.Codec.decoding_table["168,250"] = [190] let s:lib.Codec.decoding_table["168,251"] = [8539] let s:lib.Codec.decoding_table["168,252"] = [8540] let s:lib.Codec.decoding_table["168,253"] = [8541] let s:lib.Codec.decoding_table["168,254"] = [8542] let s:lib.Codec.decoding_table["169,65"] = [52165] let s:lib.Codec.decoding_table["169,66"] = [52166] let s:lib.Codec.decoding_table["169,67"] = [52167] let s:lib.Codec.decoding_table["169,68"] = [52168] let s:lib.Codec.decoding_table["169,69"] = [52169] let s:lib.Codec.decoding_table["169,70"] = [52170] let s:lib.Codec.decoding_table["169,71"] = [52171] let s:lib.Codec.decoding_table["169,72"] = [52172] let s:lib.Codec.decoding_table["169,73"] = [52173] let s:lib.Codec.decoding_table["169,74"] = [52174] let s:lib.Codec.decoding_table["169,75"] = [52175] let s:lib.Codec.decoding_table["169,76"] = [52176] let s:lib.Codec.decoding_table["169,77"] = [52177] let s:lib.Codec.decoding_table["169,78"] = [52178] let s:lib.Codec.decoding_table["169,79"] = [52179] let s:lib.Codec.decoding_table["169,80"] = [52181] let s:lib.Codec.decoding_table["169,81"] = [52182] let s:lib.Codec.decoding_table["169,82"] = [52183] let s:lib.Codec.decoding_table["169,83"] = [52184] let s:lib.Codec.decoding_table["169,84"] = [52185] let s:lib.Codec.decoding_table["169,85"] = [52186] let s:lib.Codec.decoding_table["169,86"] = [52187] let s:lib.Codec.decoding_table["169,87"] = [52188] let s:lib.Codec.decoding_table["169,88"] = [52189] let s:lib.Codec.decoding_table["169,89"] = [52190] let s:lib.Codec.decoding_table["169,90"] = [52191] let s:lib.Codec.decoding_table["169,97"] = [52192] let s:lib.Codec.decoding_table["169,98"] = [52193] let s:lib.Codec.decoding_table["169,99"] = [52194] let s:lib.Codec.decoding_table["169,100"] = [52195] let s:lib.Codec.decoding_table["169,101"] = [52197] let s:lib.Codec.decoding_table["169,102"] = [52198] let s:lib.Codec.decoding_table["169,103"] = [52200] let s:lib.Codec.decoding_table["169,104"] = [52202] let s:lib.Codec.decoding_table["169,105"] = [52203] let s:lib.Codec.decoding_table["169,106"] = [52204] let s:lib.Codec.decoding_table["169,107"] = [52205] let s:lib.Codec.decoding_table["169,108"] = [52206] let s:lib.Codec.decoding_table["169,109"] = [52207] let s:lib.Codec.decoding_table["169,110"] = [52208] let s:lib.Codec.decoding_table["169,111"] = [52209] let s:lib.Codec.decoding_table["169,112"] = [52210] let s:lib.Codec.decoding_table["169,113"] = [52211] let s:lib.Codec.decoding_table["169,114"] = [52212] let s:lib.Codec.decoding_table["169,115"] = [52213] let s:lib.Codec.decoding_table["169,116"] = [52214] let s:lib.Codec.decoding_table["169,117"] = [52215] let s:lib.Codec.decoding_table["169,118"] = [52216] let s:lib.Codec.decoding_table["169,119"] = [52217] let s:lib.Codec.decoding_table["169,120"] = [52218] let s:lib.Codec.decoding_table["169,121"] = [52219] let s:lib.Codec.decoding_table["169,122"] = [52220] let s:lib.Codec.decoding_table["169,129"] = [52221] let s:lib.Codec.decoding_table["169,130"] = [52222] let s:lib.Codec.decoding_table["169,131"] = [52223] let s:lib.Codec.decoding_table["169,132"] = [52224] let s:lib.Codec.decoding_table["169,133"] = [52225] let s:lib.Codec.decoding_table["169,134"] = [52226] let s:lib.Codec.decoding_table["169,135"] = [52227] let s:lib.Codec.decoding_table["169,136"] = [52228] let s:lib.Codec.decoding_table["169,137"] = [52229] let s:lib.Codec.decoding_table["169,138"] = [52230] let s:lib.Codec.decoding_table["169,139"] = [52231] let s:lib.Codec.decoding_table["169,140"] = [52232] let s:lib.Codec.decoding_table["169,141"] = [52233] let s:lib.Codec.decoding_table["169,142"] = [52234] let s:lib.Codec.decoding_table["169,143"] = [52235] let s:lib.Codec.decoding_table["169,144"] = [52238] let s:lib.Codec.decoding_table["169,145"] = [52239] let s:lib.Codec.decoding_table["169,146"] = [52241] let s:lib.Codec.decoding_table["169,147"] = [52242] let s:lib.Codec.decoding_table["169,148"] = [52243] let s:lib.Codec.decoding_table["169,149"] = [52245] let s:lib.Codec.decoding_table["169,150"] = [52246] let s:lib.Codec.decoding_table["169,151"] = [52247] let s:lib.Codec.decoding_table["169,152"] = [52248] let s:lib.Codec.decoding_table["169,153"] = [52249] let s:lib.Codec.decoding_table["169,154"] = [52250] let s:lib.Codec.decoding_table["169,155"] = [52251] let s:lib.Codec.decoding_table["169,156"] = [52254] let s:lib.Codec.decoding_table["169,157"] = [52255] let s:lib.Codec.decoding_table["169,158"] = [52256] let s:lib.Codec.decoding_table["169,159"] = [52259] let s:lib.Codec.decoding_table["169,160"] = [52260] let s:lib.Codec.decoding_table["169,161"] = [230] let s:lib.Codec.decoding_table["169,162"] = [273] let s:lib.Codec.decoding_table["169,163"] = [240] let s:lib.Codec.decoding_table["169,164"] = [295] let s:lib.Codec.decoding_table["169,165"] = [305] let s:lib.Codec.decoding_table["169,166"] = [307] let s:lib.Codec.decoding_table["169,167"] = [312] let s:lib.Codec.decoding_table["169,168"] = [320] let s:lib.Codec.decoding_table["169,169"] = [322] let s:lib.Codec.decoding_table["169,170"] = [248] let s:lib.Codec.decoding_table["169,171"] = [339] let s:lib.Codec.decoding_table["169,172"] = [223] let s:lib.Codec.decoding_table["169,173"] = [254] let s:lib.Codec.decoding_table["169,174"] = [359] let s:lib.Codec.decoding_table["169,175"] = [331] let s:lib.Codec.decoding_table["169,176"] = [329] let s:lib.Codec.decoding_table["169,177"] = [12800] let s:lib.Codec.decoding_table["169,178"] = [12801] let s:lib.Codec.decoding_table["169,179"] = [12802] let s:lib.Codec.decoding_table["169,180"] = [12803] let s:lib.Codec.decoding_table["169,181"] = [12804] let s:lib.Codec.decoding_table["169,182"] = [12805] let s:lib.Codec.decoding_table["169,183"] = [12806] let s:lib.Codec.decoding_table["169,184"] = [12807] let s:lib.Codec.decoding_table["169,185"] = [12808] let s:lib.Codec.decoding_table["169,186"] = [12809] let s:lib.Codec.decoding_table["169,187"] = [12810] let s:lib.Codec.decoding_table["169,188"] = [12811] let s:lib.Codec.decoding_table["169,189"] = [12812] let s:lib.Codec.decoding_table["169,190"] = [12813] let s:lib.Codec.decoding_table["169,191"] = [12814] let s:lib.Codec.decoding_table["169,192"] = [12815] let s:lib.Codec.decoding_table["169,193"] = [12816] let s:lib.Codec.decoding_table["169,194"] = [12817] let s:lib.Codec.decoding_table["169,195"] = [12818] let s:lib.Codec.decoding_table["169,196"] = [12819] let s:lib.Codec.decoding_table["169,197"] = [12820] let s:lib.Codec.decoding_table["169,198"] = [12821] let s:lib.Codec.decoding_table["169,199"] = [12822] let s:lib.Codec.decoding_table["169,200"] = [12823] let s:lib.Codec.decoding_table["169,201"] = [12824] let s:lib.Codec.decoding_table["169,202"] = [12825] let s:lib.Codec.decoding_table["169,203"] = [12826] let s:lib.Codec.decoding_table["169,204"] = [12827] let s:lib.Codec.decoding_table["169,205"] = [9372] let s:lib.Codec.decoding_table["169,206"] = [9373] let s:lib.Codec.decoding_table["169,207"] = [9374] let s:lib.Codec.decoding_table["169,208"] = [9375] let s:lib.Codec.decoding_table["169,209"] = [9376] let s:lib.Codec.decoding_table["169,210"] = [9377] let s:lib.Codec.decoding_table["169,211"] = [9378] let s:lib.Codec.decoding_table["169,212"] = [9379] let s:lib.Codec.decoding_table["169,213"] = [9380] let s:lib.Codec.decoding_table["169,214"] = [9381] let s:lib.Codec.decoding_table["169,215"] = [9382] let s:lib.Codec.decoding_table["169,216"] = [9383] let s:lib.Codec.decoding_table["169,217"] = [9384] let s:lib.Codec.decoding_table["169,218"] = [9385] let s:lib.Codec.decoding_table["169,219"] = [9386] let s:lib.Codec.decoding_table["169,220"] = [9387] let s:lib.Codec.decoding_table["169,221"] = [9388] let s:lib.Codec.decoding_table["169,222"] = [9389] let s:lib.Codec.decoding_table["169,223"] = [9390] let s:lib.Codec.decoding_table["169,224"] = [9391] let s:lib.Codec.decoding_table["169,225"] = [9392] let s:lib.Codec.decoding_table["169,226"] = [9393] let s:lib.Codec.decoding_table["169,227"] = [9394] let s:lib.Codec.decoding_table["169,228"] = [9395] let s:lib.Codec.decoding_table["169,229"] = [9396] let s:lib.Codec.decoding_table["169,230"] = [9397] let s:lib.Codec.decoding_table["169,231"] = [9332] let s:lib.Codec.decoding_table["169,232"] = [9333] let s:lib.Codec.decoding_table["169,233"] = [9334] let s:lib.Codec.decoding_table["169,234"] = [9335] let s:lib.Codec.decoding_table["169,235"] = [9336] let s:lib.Codec.decoding_table["169,236"] = [9337] let s:lib.Codec.decoding_table["169,237"] = [9338] let s:lib.Codec.decoding_table["169,238"] = [9339] let s:lib.Codec.decoding_table["169,239"] = [9340] let s:lib.Codec.decoding_table["169,240"] = [9341] let s:lib.Codec.decoding_table["169,241"] = [9342] let s:lib.Codec.decoding_table["169,242"] = [9343] let s:lib.Codec.decoding_table["169,243"] = [9344] let s:lib.Codec.decoding_table["169,244"] = [9345] let s:lib.Codec.decoding_table["169,245"] = [9346] let s:lib.Codec.decoding_table["169,246"] = [185] let s:lib.Codec.decoding_table["169,247"] = [178] let s:lib.Codec.decoding_table["169,248"] = [179] let s:lib.Codec.decoding_table["169,249"] = [8308] let s:lib.Codec.decoding_table["169,250"] = [8319] let s:lib.Codec.decoding_table["169,251"] = [8321] let s:lib.Codec.decoding_table["169,252"] = [8322] let s:lib.Codec.decoding_table["169,253"] = [8323] let s:lib.Codec.decoding_table["169,254"] = [8324] let s:lib.Codec.decoding_table["170,65"] = [52261] let s:lib.Codec.decoding_table["170,66"] = [52262] let s:lib.Codec.decoding_table["170,67"] = [52266] let s:lib.Codec.decoding_table["170,68"] = [52267] let s:lib.Codec.decoding_table["170,69"] = [52269] let s:lib.Codec.decoding_table["170,70"] = [52271] let s:lib.Codec.decoding_table["170,71"] = [52273] let s:lib.Codec.decoding_table["170,72"] = [52274] let s:lib.Codec.decoding_table["170,73"] = [52275] let s:lib.Codec.decoding_table["170,74"] = [52276] let s:lib.Codec.decoding_table["170,75"] = [52277] let s:lib.Codec.decoding_table["170,76"] = [52278] let s:lib.Codec.decoding_table["170,77"] = [52279] let s:lib.Codec.decoding_table["170,78"] = [52282] let s:lib.Codec.decoding_table["170,79"] = [52287] let s:lib.Codec.decoding_table["170,80"] = [52288] let s:lib.Codec.decoding_table["170,81"] = [52289] let s:lib.Codec.decoding_table["170,82"] = [52290] let s:lib.Codec.decoding_table["170,83"] = [52291] let s:lib.Codec.decoding_table["170,84"] = [52294] let s:lib.Codec.decoding_table["170,85"] = [52295] let s:lib.Codec.decoding_table["170,86"] = [52297] let s:lib.Codec.decoding_table["170,87"] = [52298] let s:lib.Codec.decoding_table["170,88"] = [52299] let s:lib.Codec.decoding_table["170,89"] = [52301] let s:lib.Codec.decoding_table["170,90"] = [52302] let s:lib.Codec.decoding_table["170,97"] = [52303] let s:lib.Codec.decoding_table["170,98"] = [52304] let s:lib.Codec.decoding_table["170,99"] = [52305] let s:lib.Codec.decoding_table["170,100"] = [52306] let s:lib.Codec.decoding_table["170,101"] = [52307] let s:lib.Codec.decoding_table["170,102"] = [52310] let s:lib.Codec.decoding_table["170,103"] = [52314] let s:lib.Codec.decoding_table["170,104"] = [52315] let s:lib.Codec.decoding_table["170,105"] = [52316] let s:lib.Codec.decoding_table["170,106"] = [52317] let s:lib.Codec.decoding_table["170,107"] = [52318] let s:lib.Codec.decoding_table["170,108"] = [52319] let s:lib.Codec.decoding_table["170,109"] = [52321] let s:lib.Codec.decoding_table["170,110"] = [52322] let s:lib.Codec.decoding_table["170,111"] = [52323] let s:lib.Codec.decoding_table["170,112"] = [52325] let s:lib.Codec.decoding_table["170,113"] = [52327] let s:lib.Codec.decoding_table["170,114"] = [52329] let s:lib.Codec.decoding_table["170,115"] = [52330] let s:lib.Codec.decoding_table["170,116"] = [52331] let s:lib.Codec.decoding_table["170,117"] = [52332] let s:lib.Codec.decoding_table["170,118"] = [52333] let s:lib.Codec.decoding_table["170,119"] = [52334] let s:lib.Codec.decoding_table["170,120"] = [52335] let s:lib.Codec.decoding_table["170,121"] = [52337] let s:lib.Codec.decoding_table["170,122"] = [52338] let s:lib.Codec.decoding_table["170,129"] = [52339] let s:lib.Codec.decoding_table["170,130"] = [52340] let s:lib.Codec.decoding_table["170,131"] = [52342] let s:lib.Codec.decoding_table["170,132"] = [52343] let s:lib.Codec.decoding_table["170,133"] = [52344] let s:lib.Codec.decoding_table["170,134"] = [52345] let s:lib.Codec.decoding_table["170,135"] = [52346] let s:lib.Codec.decoding_table["170,136"] = [52347] let s:lib.Codec.decoding_table["170,137"] = [52348] let s:lib.Codec.decoding_table["170,138"] = [52349] let s:lib.Codec.decoding_table["170,139"] = [52350] let s:lib.Codec.decoding_table["170,140"] = [52351] let s:lib.Codec.decoding_table["170,141"] = [52352] let s:lib.Codec.decoding_table["170,142"] = [52353] let s:lib.Codec.decoding_table["170,143"] = [52354] let s:lib.Codec.decoding_table["170,144"] = [52355] let s:lib.Codec.decoding_table["170,145"] = [52356] let s:lib.Codec.decoding_table["170,146"] = [52357] let s:lib.Codec.decoding_table["170,147"] = [52358] let s:lib.Codec.decoding_table["170,148"] = [52359] let s:lib.Codec.decoding_table["170,149"] = [52360] let s:lib.Codec.decoding_table["170,150"] = [52361] let s:lib.Codec.decoding_table["170,151"] = [52362] let s:lib.Codec.decoding_table["170,152"] = [52363] let s:lib.Codec.decoding_table["170,153"] = [52364] let s:lib.Codec.decoding_table["170,154"] = [52365] let s:lib.Codec.decoding_table["170,155"] = [52366] let s:lib.Codec.decoding_table["170,156"] = [52367] let s:lib.Codec.decoding_table["170,157"] = [52368] let s:lib.Codec.decoding_table["170,158"] = [52369] let s:lib.Codec.decoding_table["170,159"] = [52370] let s:lib.Codec.decoding_table["170,160"] = [52371] let s:lib.Codec.decoding_table["170,161"] = [12353] let s:lib.Codec.decoding_table["170,162"] = [12354] let s:lib.Codec.decoding_table["170,163"] = [12355] let s:lib.Codec.decoding_table["170,164"] = [12356] let s:lib.Codec.decoding_table["170,165"] = [12357] let s:lib.Codec.decoding_table["170,166"] = [12358] let s:lib.Codec.decoding_table["170,167"] = [12359] let s:lib.Codec.decoding_table["170,168"] = [12360] let s:lib.Codec.decoding_table["170,169"] = [12361] let s:lib.Codec.decoding_table["170,170"] = [12362] let s:lib.Codec.decoding_table["170,171"] = [12363] let s:lib.Codec.decoding_table["170,172"] = [12364] let s:lib.Codec.decoding_table["170,173"] = [12365] let s:lib.Codec.decoding_table["170,174"] = [12366] let s:lib.Codec.decoding_table["170,175"] = [12367] let s:lib.Codec.decoding_table["170,176"] = [12368] let s:lib.Codec.decoding_table["170,177"] = [12369] let s:lib.Codec.decoding_table["170,178"] = [12370] let s:lib.Codec.decoding_table["170,179"] = [12371] let s:lib.Codec.decoding_table["170,180"] = [12372] let s:lib.Codec.decoding_table["170,181"] = [12373] let s:lib.Codec.decoding_table["170,182"] = [12374] let s:lib.Codec.decoding_table["170,183"] = [12375] let s:lib.Codec.decoding_table["170,184"] = [12376] let s:lib.Codec.decoding_table["170,185"] = [12377] let s:lib.Codec.decoding_table["170,186"] = [12378] let s:lib.Codec.decoding_table["170,187"] = [12379] let s:lib.Codec.decoding_table["170,188"] = [12380] let s:lib.Codec.decoding_table["170,189"] = [12381] let s:lib.Codec.decoding_table["170,190"] = [12382] let s:lib.Codec.decoding_table["170,191"] = [12383] let s:lib.Codec.decoding_table["170,192"] = [12384] let s:lib.Codec.decoding_table["170,193"] = [12385] let s:lib.Codec.decoding_table["170,194"] = [12386] let s:lib.Codec.decoding_table["170,195"] = [12387] let s:lib.Codec.decoding_table["170,196"] = [12388] let s:lib.Codec.decoding_table["170,197"] = [12389] let s:lib.Codec.decoding_table["170,198"] = [12390] let s:lib.Codec.decoding_table["170,199"] = [12391] let s:lib.Codec.decoding_table["170,200"] = [12392] let s:lib.Codec.decoding_table["170,201"] = [12393] let s:lib.Codec.decoding_table["170,202"] = [12394] let s:lib.Codec.decoding_table["170,203"] = [12395] let s:lib.Codec.decoding_table["170,204"] = [12396] let s:lib.Codec.decoding_table["170,205"] = [12397] let s:lib.Codec.decoding_table["170,206"] = [12398] let s:lib.Codec.decoding_table["170,207"] = [12399] let s:lib.Codec.decoding_table["170,208"] = [12400] let s:lib.Codec.decoding_table["170,209"] = [12401] let s:lib.Codec.decoding_table["170,210"] = [12402] let s:lib.Codec.decoding_table["170,211"] = [12403] let s:lib.Codec.decoding_table["170,212"] = [12404] let s:lib.Codec.decoding_table["170,213"] = [12405] let s:lib.Codec.decoding_table["170,214"] = [12406] let s:lib.Codec.decoding_table["170,215"] = [12407] let s:lib.Codec.decoding_table["170,216"] = [12408] let s:lib.Codec.decoding_table["170,217"] = [12409] let s:lib.Codec.decoding_table["170,218"] = [12410] let s:lib.Codec.decoding_table["170,219"] = [12411] let s:lib.Codec.decoding_table["170,220"] = [12412] let s:lib.Codec.decoding_table["170,221"] = [12413] let s:lib.Codec.decoding_table["170,222"] = [12414] let s:lib.Codec.decoding_table["170,223"] = [12415] let s:lib.Codec.decoding_table["170,224"] = [12416] let s:lib.Codec.decoding_table["170,225"] = [12417] let s:lib.Codec.decoding_table["170,226"] = [12418] let s:lib.Codec.decoding_table["170,227"] = [12419] let s:lib.Codec.decoding_table["170,228"] = [12420] let s:lib.Codec.decoding_table["170,229"] = [12421] let s:lib.Codec.decoding_table["170,230"] = [12422] let s:lib.Codec.decoding_table["170,231"] = [12423] let s:lib.Codec.decoding_table["170,232"] = [12424] let s:lib.Codec.decoding_table["170,233"] = [12425] let s:lib.Codec.decoding_table["170,234"] = [12426] let s:lib.Codec.decoding_table["170,235"] = [12427] let s:lib.Codec.decoding_table["170,236"] = [12428] let s:lib.Codec.decoding_table["170,237"] = [12429] let s:lib.Codec.decoding_table["170,238"] = [12430] let s:lib.Codec.decoding_table["170,239"] = [12431] let s:lib.Codec.decoding_table["170,240"] = [12432] let s:lib.Codec.decoding_table["170,241"] = [12433] let s:lib.Codec.decoding_table["170,242"] = [12434] let s:lib.Codec.decoding_table["170,243"] = [12435] let s:lib.Codec.decoding_table["171,65"] = [52372] let s:lib.Codec.decoding_table["171,66"] = [52373] let s:lib.Codec.decoding_table["171,67"] = [52374] let s:lib.Codec.decoding_table["171,68"] = [52375] let s:lib.Codec.decoding_table["171,69"] = [52378] let s:lib.Codec.decoding_table["171,70"] = [52379] let s:lib.Codec.decoding_table["171,71"] = [52381] let s:lib.Codec.decoding_table["171,72"] = [52382] let s:lib.Codec.decoding_table["171,73"] = [52383] let s:lib.Codec.decoding_table["171,74"] = [52385] let s:lib.Codec.decoding_table["171,75"] = [52386] let s:lib.Codec.decoding_table["171,76"] = [52387] let s:lib.Codec.decoding_table["171,77"] = [52388] let s:lib.Codec.decoding_table["171,78"] = [52389] let s:lib.Codec.decoding_table["171,79"] = [52390] let s:lib.Codec.decoding_table["171,80"] = [52391] let s:lib.Codec.decoding_table["171,81"] = [52394] let s:lib.Codec.decoding_table["171,82"] = [52398] let s:lib.Codec.decoding_table["171,83"] = [52399] let s:lib.Codec.decoding_table["171,84"] = [52400] let s:lib.Codec.decoding_table["171,85"] = [52401] let s:lib.Codec.decoding_table["171,86"] = [52402] let s:lib.Codec.decoding_table["171,87"] = [52403] let s:lib.Codec.decoding_table["171,88"] = [52406] let s:lib.Codec.decoding_table["171,89"] = [52407] let s:lib.Codec.decoding_table["171,90"] = [52409] let s:lib.Codec.decoding_table["171,97"] = [52410] let s:lib.Codec.decoding_table["171,98"] = [52411] let s:lib.Codec.decoding_table["171,99"] = [52413] let s:lib.Codec.decoding_table["171,100"] = [52414] let s:lib.Codec.decoding_table["171,101"] = [52415] let s:lib.Codec.decoding_table["171,102"] = [52416] let s:lib.Codec.decoding_table["171,103"] = [52417] let s:lib.Codec.decoding_table["171,104"] = [52418] let s:lib.Codec.decoding_table["171,105"] = [52419] let s:lib.Codec.decoding_table["171,106"] = [52422] let s:lib.Codec.decoding_table["171,107"] = [52424] let s:lib.Codec.decoding_table["171,108"] = [52426] let s:lib.Codec.decoding_table["171,109"] = [52427] let s:lib.Codec.decoding_table["171,110"] = [52428] let s:lib.Codec.decoding_table["171,111"] = [52429] let s:lib.Codec.decoding_table["171,112"] = [52430] let s:lib.Codec.decoding_table["171,113"] = [52431] let s:lib.Codec.decoding_table["171,114"] = [52433] let s:lib.Codec.decoding_table["171,115"] = [52434] let s:lib.Codec.decoding_table["171,116"] = [52435] let s:lib.Codec.decoding_table["171,117"] = [52437] let s:lib.Codec.decoding_table["171,118"] = [52438] let s:lib.Codec.decoding_table["171,119"] = [52439] let s:lib.Codec.decoding_table["171,120"] = [52440] let s:lib.Codec.decoding_table["171,121"] = [52441] let s:lib.Codec.decoding_table["171,122"] = [52442] let s:lib.Codec.decoding_table["171,129"] = [52443] let s:lib.Codec.decoding_table["171,130"] = [52444] let s:lib.Codec.decoding_table["171,131"] = [52445] let s:lib.Codec.decoding_table["171,132"] = [52446] let s:lib.Codec.decoding_table["171,133"] = [52447] let s:lib.Codec.decoding_table["171,134"] = [52448] let s:lib.Codec.decoding_table["171,135"] = [52449] let s:lib.Codec.decoding_table["171,136"] = [52450] let s:lib.Codec.decoding_table["171,137"] = [52451] let s:lib.Codec.decoding_table["171,138"] = [52453] let s:lib.Codec.decoding_table["171,139"] = [52454] let s:lib.Codec.decoding_table["171,140"] = [52455] let s:lib.Codec.decoding_table["171,141"] = [52456] let s:lib.Codec.decoding_table["171,142"] = [52457] let s:lib.Codec.decoding_table["171,143"] = [52458] let s:lib.Codec.decoding_table["171,144"] = [52459] let s:lib.Codec.decoding_table["171,145"] = [52461] let s:lib.Codec.decoding_table["171,146"] = [52462] let s:lib.Codec.decoding_table["171,147"] = [52463] let s:lib.Codec.decoding_table["171,148"] = [52465] let s:lib.Codec.decoding_table["171,149"] = [52466] let s:lib.Codec.decoding_table["171,150"] = [52467] let s:lib.Codec.decoding_table["171,151"] = [52468] let s:lib.Codec.decoding_table["171,152"] = [52469] let s:lib.Codec.decoding_table["171,153"] = [52470] let s:lib.Codec.decoding_table["171,154"] = [52471] let s:lib.Codec.decoding_table["171,155"] = [52472] let s:lib.Codec.decoding_table["171,156"] = [52473] let s:lib.Codec.decoding_table["171,157"] = [52474] let s:lib.Codec.decoding_table["171,158"] = [52475] let s:lib.Codec.decoding_table["171,159"] = [52476] let s:lib.Codec.decoding_table["171,160"] = [52477] let s:lib.Codec.decoding_table["171,161"] = [12449] let s:lib.Codec.decoding_table["171,162"] = [12450] let s:lib.Codec.decoding_table["171,163"] = [12451] let s:lib.Codec.decoding_table["171,164"] = [12452] let s:lib.Codec.decoding_table["171,165"] = [12453] let s:lib.Codec.decoding_table["171,166"] = [12454] let s:lib.Codec.decoding_table["171,167"] = [12455] let s:lib.Codec.decoding_table["171,168"] = [12456] let s:lib.Codec.decoding_table["171,169"] = [12457] let s:lib.Codec.decoding_table["171,170"] = [12458] let s:lib.Codec.decoding_table["171,171"] = [12459] let s:lib.Codec.decoding_table["171,172"] = [12460] let s:lib.Codec.decoding_table["171,173"] = [12461] let s:lib.Codec.decoding_table["171,174"] = [12462] let s:lib.Codec.decoding_table["171,175"] = [12463] let s:lib.Codec.decoding_table["171,176"] = [12464] let s:lib.Codec.decoding_table["171,177"] = [12465] let s:lib.Codec.decoding_table["171,178"] = [12466] let s:lib.Codec.decoding_table["171,179"] = [12467] let s:lib.Codec.decoding_table["171,180"] = [12468] let s:lib.Codec.decoding_table["171,181"] = [12469] let s:lib.Codec.decoding_table["171,182"] = [12470] let s:lib.Codec.decoding_table["171,183"] = [12471] let s:lib.Codec.decoding_table["171,184"] = [12472] let s:lib.Codec.decoding_table["171,185"] = [12473] let s:lib.Codec.decoding_table["171,186"] = [12474] let s:lib.Codec.decoding_table["171,187"] = [12475] let s:lib.Codec.decoding_table["171,188"] = [12476] let s:lib.Codec.decoding_table["171,189"] = [12477] let s:lib.Codec.decoding_table["171,190"] = [12478] let s:lib.Codec.decoding_table["171,191"] = [12479] let s:lib.Codec.decoding_table["171,192"] = [12480] let s:lib.Codec.decoding_table["171,193"] = [12481] let s:lib.Codec.decoding_table["171,194"] = [12482] let s:lib.Codec.decoding_table["171,195"] = [12483] let s:lib.Codec.decoding_table["171,196"] = [12484] let s:lib.Codec.decoding_table["171,197"] = [12485] let s:lib.Codec.decoding_table["171,198"] = [12486] let s:lib.Codec.decoding_table["171,199"] = [12487] let s:lib.Codec.decoding_table["171,200"] = [12488] let s:lib.Codec.decoding_table["171,201"] = [12489] let s:lib.Codec.decoding_table["171,202"] = [12490] let s:lib.Codec.decoding_table["171,203"] = [12491] let s:lib.Codec.decoding_table["171,204"] = [12492] let s:lib.Codec.decoding_table["171,205"] = [12493] let s:lib.Codec.decoding_table["171,206"] = [12494] let s:lib.Codec.decoding_table["171,207"] = [12495] let s:lib.Codec.decoding_table["171,208"] = [12496] let s:lib.Codec.decoding_table["171,209"] = [12497] let s:lib.Codec.decoding_table["171,210"] = [12498] let s:lib.Codec.decoding_table["171,211"] = [12499] let s:lib.Codec.decoding_table["171,212"] = [12500] let s:lib.Codec.decoding_table["171,213"] = [12501] let s:lib.Codec.decoding_table["171,214"] = [12502] let s:lib.Codec.decoding_table["171,215"] = [12503] let s:lib.Codec.decoding_table["171,216"] = [12504] let s:lib.Codec.decoding_table["171,217"] = [12505] let s:lib.Codec.decoding_table["171,218"] = [12506] let s:lib.Codec.decoding_table["171,219"] = [12507] let s:lib.Codec.decoding_table["171,220"] = [12508] let s:lib.Codec.decoding_table["171,221"] = [12509] let s:lib.Codec.decoding_table["171,222"] = [12510] let s:lib.Codec.decoding_table["171,223"] = [12511] let s:lib.Codec.decoding_table["171,224"] = [12512] let s:lib.Codec.decoding_table["171,225"] = [12513] let s:lib.Codec.decoding_table["171,226"] = [12514] let s:lib.Codec.decoding_table["171,227"] = [12515] let s:lib.Codec.decoding_table["171,228"] = [12516] let s:lib.Codec.decoding_table["171,229"] = [12517] let s:lib.Codec.decoding_table["171,230"] = [12518] let s:lib.Codec.decoding_table["171,231"] = [12519] let s:lib.Codec.decoding_table["171,232"] = [12520] let s:lib.Codec.decoding_table["171,233"] = [12521] let s:lib.Codec.decoding_table["171,234"] = [12522] let s:lib.Codec.decoding_table["171,235"] = [12523] let s:lib.Codec.decoding_table["171,236"] = [12524] let s:lib.Codec.decoding_table["171,237"] = [12525] let s:lib.Codec.decoding_table["171,238"] = [12526] let s:lib.Codec.decoding_table["171,239"] = [12527] let s:lib.Codec.decoding_table["171,240"] = [12528] let s:lib.Codec.decoding_table["171,241"] = [12529] let s:lib.Codec.decoding_table["171,242"] = [12530] let s:lib.Codec.decoding_table["171,243"] = [12531] let s:lib.Codec.decoding_table["171,244"] = [12532] let s:lib.Codec.decoding_table["171,245"] = [12533] let s:lib.Codec.decoding_table["171,246"] = [12534] let s:lib.Codec.decoding_table["172,65"] = [52478] let s:lib.Codec.decoding_table["172,66"] = [52479] let s:lib.Codec.decoding_table["172,67"] = [52480] let s:lib.Codec.decoding_table["172,68"] = [52482] let s:lib.Codec.decoding_table["172,69"] = [52483] let s:lib.Codec.decoding_table["172,70"] = [52484] let s:lib.Codec.decoding_table["172,71"] = [52485] let s:lib.Codec.decoding_table["172,72"] = [52486] let s:lib.Codec.decoding_table["172,73"] = [52487] let s:lib.Codec.decoding_table["172,74"] = [52490] let s:lib.Codec.decoding_table["172,75"] = [52491] let s:lib.Codec.decoding_table["172,76"] = [52493] let s:lib.Codec.decoding_table["172,77"] = [52494] let s:lib.Codec.decoding_table["172,78"] = [52495] let s:lib.Codec.decoding_table["172,79"] = [52497] let s:lib.Codec.decoding_table["172,80"] = [52498] let s:lib.Codec.decoding_table["172,81"] = [52499] let s:lib.Codec.decoding_table["172,82"] = [52500] let s:lib.Codec.decoding_table["172,83"] = [52501] let s:lib.Codec.decoding_table["172,84"] = [52502] let s:lib.Codec.decoding_table["172,85"] = [52503] let s:lib.Codec.decoding_table["172,86"] = [52506] let s:lib.Codec.decoding_table["172,87"] = [52508] let s:lib.Codec.decoding_table["172,88"] = [52510] let s:lib.Codec.decoding_table["172,89"] = [52511] let s:lib.Codec.decoding_table["172,90"] = [52512] let s:lib.Codec.decoding_table["172,97"] = [52513] let s:lib.Codec.decoding_table["172,98"] = [52514] let s:lib.Codec.decoding_table["172,99"] = [52515] let s:lib.Codec.decoding_table["172,100"] = [52517] let s:lib.Codec.decoding_table["172,101"] = [52518] let s:lib.Codec.decoding_table["172,102"] = [52519] let s:lib.Codec.decoding_table["172,103"] = [52521] let s:lib.Codec.decoding_table["172,104"] = [52522] let s:lib.Codec.decoding_table["172,105"] = [52523] let s:lib.Codec.decoding_table["172,106"] = [52525] let s:lib.Codec.decoding_table["172,107"] = [52526] let s:lib.Codec.decoding_table["172,108"] = [52527] let s:lib.Codec.decoding_table["172,109"] = [52528] let s:lib.Codec.decoding_table["172,110"] = [52529] let s:lib.Codec.decoding_table["172,111"] = [52530] let s:lib.Codec.decoding_table["172,112"] = [52531] let s:lib.Codec.decoding_table["172,113"] = [52532] let s:lib.Codec.decoding_table["172,114"] = [52533] let s:lib.Codec.decoding_table["172,115"] = [52534] let s:lib.Codec.decoding_table["172,116"] = [52535] let s:lib.Codec.decoding_table["172,117"] = [52536] let s:lib.Codec.decoding_table["172,118"] = [52538] let s:lib.Codec.decoding_table["172,119"] = [52539] let s:lib.Codec.decoding_table["172,120"] = [52540] let s:lib.Codec.decoding_table["172,121"] = [52541] let s:lib.Codec.decoding_table["172,122"] = [52542] let s:lib.Codec.decoding_table["172,129"] = [52543] let s:lib.Codec.decoding_table["172,130"] = [52544] let s:lib.Codec.decoding_table["172,131"] = [52545] let s:lib.Codec.decoding_table["172,132"] = [52546] let s:lib.Codec.decoding_table["172,133"] = [52547] let s:lib.Codec.decoding_table["172,134"] = [52548] let s:lib.Codec.decoding_table["172,135"] = [52549] let s:lib.Codec.decoding_table["172,136"] = [52550] let s:lib.Codec.decoding_table["172,137"] = [52551] let s:lib.Codec.decoding_table["172,138"] = [52552] let s:lib.Codec.decoding_table["172,139"] = [52553] let s:lib.Codec.decoding_table["172,140"] = [52554] let s:lib.Codec.decoding_table["172,141"] = [52555] let s:lib.Codec.decoding_table["172,142"] = [52556] let s:lib.Codec.decoding_table["172,143"] = [52557] let s:lib.Codec.decoding_table["172,144"] = [52558] let s:lib.Codec.decoding_table["172,145"] = [52559] let s:lib.Codec.decoding_table["172,146"] = [52560] let s:lib.Codec.decoding_table["172,147"] = [52561] let s:lib.Codec.decoding_table["172,148"] = [52562] let s:lib.Codec.decoding_table["172,149"] = [52563] let s:lib.Codec.decoding_table["172,150"] = [52564] let s:lib.Codec.decoding_table["172,151"] = [52565] let s:lib.Codec.decoding_table["172,152"] = [52566] let s:lib.Codec.decoding_table["172,153"] = [52567] let s:lib.Codec.decoding_table["172,154"] = [52568] let s:lib.Codec.decoding_table["172,155"] = [52569] let s:lib.Codec.decoding_table["172,156"] = [52570] let s:lib.Codec.decoding_table["172,157"] = [52571] let s:lib.Codec.decoding_table["172,158"] = [52573] let s:lib.Codec.decoding_table["172,159"] = [52574] let s:lib.Codec.decoding_table["172,160"] = [52575] let s:lib.Codec.decoding_table["172,161"] = [1040] let s:lib.Codec.decoding_table["172,162"] = [1041] let s:lib.Codec.decoding_table["172,163"] = [1042] let s:lib.Codec.decoding_table["172,164"] = [1043] let s:lib.Codec.decoding_table["172,165"] = [1044] let s:lib.Codec.decoding_table["172,166"] = [1045] let s:lib.Codec.decoding_table["172,167"] = [1025] let s:lib.Codec.decoding_table["172,168"] = [1046] let s:lib.Codec.decoding_table["172,169"] = [1047] let s:lib.Codec.decoding_table["172,170"] = [1048] let s:lib.Codec.decoding_table["172,171"] = [1049] let s:lib.Codec.decoding_table["172,172"] = [1050] let s:lib.Codec.decoding_table["172,173"] = [1051] let s:lib.Codec.decoding_table["172,174"] = [1052] let s:lib.Codec.decoding_table["172,175"] = [1053] let s:lib.Codec.decoding_table["172,176"] = [1054] let s:lib.Codec.decoding_table["172,177"] = [1055] let s:lib.Codec.decoding_table["172,178"] = [1056] let s:lib.Codec.decoding_table["172,179"] = [1057] let s:lib.Codec.decoding_table["172,180"] = [1058] let s:lib.Codec.decoding_table["172,181"] = [1059] let s:lib.Codec.decoding_table["172,182"] = [1060] let s:lib.Codec.decoding_table["172,183"] = [1061] let s:lib.Codec.decoding_table["172,184"] = [1062] let s:lib.Codec.decoding_table["172,185"] = [1063] let s:lib.Codec.decoding_table["172,186"] = [1064] let s:lib.Codec.decoding_table["172,187"] = [1065] let s:lib.Codec.decoding_table["172,188"] = [1066] let s:lib.Codec.decoding_table["172,189"] = [1067] let s:lib.Codec.decoding_table["172,190"] = [1068] let s:lib.Codec.decoding_table["172,191"] = [1069] let s:lib.Codec.decoding_table["172,192"] = [1070] let s:lib.Codec.decoding_table["172,193"] = [1071] let s:lib.Codec.decoding_table["172,209"] = [1072] let s:lib.Codec.decoding_table["172,210"] = [1073] let s:lib.Codec.decoding_table["172,211"] = [1074] let s:lib.Codec.decoding_table["172,212"] = [1075] let s:lib.Codec.decoding_table["172,213"] = [1076] let s:lib.Codec.decoding_table["172,214"] = [1077] let s:lib.Codec.decoding_table["172,215"] = [1105] let s:lib.Codec.decoding_table["172,216"] = [1078] let s:lib.Codec.decoding_table["172,217"] = [1079] let s:lib.Codec.decoding_table["172,218"] = [1080] let s:lib.Codec.decoding_table["172,219"] = [1081] let s:lib.Codec.decoding_table["172,220"] = [1082] let s:lib.Codec.decoding_table["172,221"] = [1083] let s:lib.Codec.decoding_table["172,222"] = [1084] let s:lib.Codec.decoding_table["172,223"] = [1085] let s:lib.Codec.decoding_table["172,224"] = [1086] let s:lib.Codec.decoding_table["172,225"] = [1087] let s:lib.Codec.decoding_table["172,226"] = [1088] let s:lib.Codec.decoding_table["172,227"] = [1089] let s:lib.Codec.decoding_table["172,228"] = [1090] let s:lib.Codec.decoding_table["172,229"] = [1091] let s:lib.Codec.decoding_table["172,230"] = [1092] let s:lib.Codec.decoding_table["172,231"] = [1093] let s:lib.Codec.decoding_table["172,232"] = [1094] let s:lib.Codec.decoding_table["172,233"] = [1095] let s:lib.Codec.decoding_table["172,234"] = [1096] let s:lib.Codec.decoding_table["172,235"] = [1097] let s:lib.Codec.decoding_table["172,236"] = [1098] let s:lib.Codec.decoding_table["172,237"] = [1099] let s:lib.Codec.decoding_table["172,238"] = [1100] let s:lib.Codec.decoding_table["172,239"] = [1101] let s:lib.Codec.decoding_table["172,240"] = [1102] let s:lib.Codec.decoding_table["172,241"] = [1103] let s:lib.Codec.decoding_table["173,65"] = [52577] let s:lib.Codec.decoding_table["173,66"] = [52578] let s:lib.Codec.decoding_table["173,67"] = [52579] let s:lib.Codec.decoding_table["173,68"] = [52581] let s:lib.Codec.decoding_table["173,69"] = [52582] let s:lib.Codec.decoding_table["173,70"] = [52583] let s:lib.Codec.decoding_table["173,71"] = [52584] let s:lib.Codec.decoding_table["173,72"] = [52585] let s:lib.Codec.decoding_table["173,73"] = [52586] let s:lib.Codec.decoding_table["173,74"] = [52587] let s:lib.Codec.decoding_table["173,75"] = [52590] let s:lib.Codec.decoding_table["173,76"] = [52592] let s:lib.Codec.decoding_table["173,77"] = [52594] let s:lib.Codec.decoding_table["173,78"] = [52595] let s:lib.Codec.decoding_table["173,79"] = [52596] let s:lib.Codec.decoding_table["173,80"] = [52597] let s:lib.Codec.decoding_table["173,81"] = [52598] let s:lib.Codec.decoding_table["173,82"] = [52599] let s:lib.Codec.decoding_table["173,83"] = [52601] let s:lib.Codec.decoding_table["173,84"] = [52602] let s:lib.Codec.decoding_table["173,85"] = [52603] let s:lib.Codec.decoding_table["173,86"] = [52604] let s:lib.Codec.decoding_table["173,87"] = [52605] let s:lib.Codec.decoding_table["173,88"] = [52606] let s:lib.Codec.decoding_table["173,89"] = [52607] let s:lib.Codec.decoding_table["173,90"] = [52608] let s:lib.Codec.decoding_table["173,97"] = [52609] let s:lib.Codec.decoding_table["173,98"] = [52610] let s:lib.Codec.decoding_table["173,99"] = [52611] let s:lib.Codec.decoding_table["173,100"] = [52612] let s:lib.Codec.decoding_table["173,101"] = [52613] let s:lib.Codec.decoding_table["173,102"] = [52614] let s:lib.Codec.decoding_table["173,103"] = [52615] let s:lib.Codec.decoding_table["173,104"] = [52617] let s:lib.Codec.decoding_table["173,105"] = [52618] let s:lib.Codec.decoding_table["173,106"] = [52619] let s:lib.Codec.decoding_table["173,107"] = [52620] let s:lib.Codec.decoding_table["173,108"] = [52621] let s:lib.Codec.decoding_table["173,109"] = [52622] let s:lib.Codec.decoding_table["173,110"] = [52623] let s:lib.Codec.decoding_table["173,111"] = [52624] let s:lib.Codec.decoding_table["173,112"] = [52625] let s:lib.Codec.decoding_table["173,113"] = [52626] let s:lib.Codec.decoding_table["173,114"] = [52627] let s:lib.Codec.decoding_table["173,115"] = [52630] let s:lib.Codec.decoding_table["173,116"] = [52631] let s:lib.Codec.decoding_table["173,117"] = [52633] let s:lib.Codec.decoding_table["173,118"] = [52634] let s:lib.Codec.decoding_table["173,119"] = [52635] let s:lib.Codec.decoding_table["173,120"] = [52637] let s:lib.Codec.decoding_table["173,121"] = [52638] let s:lib.Codec.decoding_table["173,122"] = [52639] let s:lib.Codec.decoding_table["173,129"] = [52640] let s:lib.Codec.decoding_table["173,130"] = [52641] let s:lib.Codec.decoding_table["173,131"] = [52642] let s:lib.Codec.decoding_table["173,132"] = [52643] let s:lib.Codec.decoding_table["173,133"] = [52646] let s:lib.Codec.decoding_table["173,134"] = [52648] let s:lib.Codec.decoding_table["173,135"] = [52650] let s:lib.Codec.decoding_table["173,136"] = [52651] let s:lib.Codec.decoding_table["173,137"] = [52652] let s:lib.Codec.decoding_table["173,138"] = [52653] let s:lib.Codec.decoding_table["173,139"] = [52654] let s:lib.Codec.decoding_table["173,140"] = [52655] let s:lib.Codec.decoding_table["173,141"] = [52657] let s:lib.Codec.decoding_table["173,142"] = [52658] let s:lib.Codec.decoding_table["173,143"] = [52659] let s:lib.Codec.decoding_table["173,144"] = [52660] let s:lib.Codec.decoding_table["173,145"] = [52661] let s:lib.Codec.decoding_table["173,146"] = [52662] let s:lib.Codec.decoding_table["173,147"] = [52663] let s:lib.Codec.decoding_table["173,148"] = [52664] let s:lib.Codec.decoding_table["173,149"] = [52665] let s:lib.Codec.decoding_table["173,150"] = [52666] let s:lib.Codec.decoding_table["173,151"] = [52667] let s:lib.Codec.decoding_table["173,152"] = [52668] let s:lib.Codec.decoding_table["173,153"] = [52669] let s:lib.Codec.decoding_table["173,154"] = [52670] let s:lib.Codec.decoding_table["173,155"] = [52671] let s:lib.Codec.decoding_table["173,156"] = [52672] let s:lib.Codec.decoding_table["173,157"] = [52673] let s:lib.Codec.decoding_table["173,158"] = [52674] let s:lib.Codec.decoding_table["173,159"] = [52675] let s:lib.Codec.decoding_table["173,160"] = [52677] let s:lib.Codec.decoding_table["174,65"] = [52678] let s:lib.Codec.decoding_table["174,66"] = [52679] let s:lib.Codec.decoding_table["174,67"] = [52680] let s:lib.Codec.decoding_table["174,68"] = [52681] let s:lib.Codec.decoding_table["174,69"] = [52682] let s:lib.Codec.decoding_table["174,70"] = [52683] let s:lib.Codec.decoding_table["174,71"] = [52685] let s:lib.Codec.decoding_table["174,72"] = [52686] let s:lib.Codec.decoding_table["174,73"] = [52687] let s:lib.Codec.decoding_table["174,74"] = [52689] let s:lib.Codec.decoding_table["174,75"] = [52690] let s:lib.Codec.decoding_table["174,76"] = [52691] let s:lib.Codec.decoding_table["174,77"] = [52692] let s:lib.Codec.decoding_table["174,78"] = [52693] let s:lib.Codec.decoding_table["174,79"] = [52694] let s:lib.Codec.decoding_table["174,80"] = [52695] let s:lib.Codec.decoding_table["174,81"] = [52696] let s:lib.Codec.decoding_table["174,82"] = [52697] let s:lib.Codec.decoding_table["174,83"] = [52698] let s:lib.Codec.decoding_table["174,84"] = [52699] let s:lib.Codec.decoding_table["174,85"] = [52700] let s:lib.Codec.decoding_table["174,86"] = [52701] let s:lib.Codec.decoding_table["174,87"] = [52702] let s:lib.Codec.decoding_table["174,88"] = [52703] let s:lib.Codec.decoding_table["174,89"] = [52704] let s:lib.Codec.decoding_table["174,90"] = [52705] let s:lib.Codec.decoding_table["174,97"] = [52706] let s:lib.Codec.decoding_table["174,98"] = [52707] let s:lib.Codec.decoding_table["174,99"] = [52708] let s:lib.Codec.decoding_table["174,100"] = [52709] let s:lib.Codec.decoding_table["174,101"] = [52710] let s:lib.Codec.decoding_table["174,102"] = [52711] let s:lib.Codec.decoding_table["174,103"] = [52713] let s:lib.Codec.decoding_table["174,104"] = [52714] let s:lib.Codec.decoding_table["174,105"] = [52715] let s:lib.Codec.decoding_table["174,106"] = [52717] let s:lib.Codec.decoding_table["174,107"] = [52718] let s:lib.Codec.decoding_table["174,108"] = [52719] let s:lib.Codec.decoding_table["174,109"] = [52721] let s:lib.Codec.decoding_table["174,110"] = [52722] let s:lib.Codec.decoding_table["174,111"] = [52723] let s:lib.Codec.decoding_table["174,112"] = [52724] let s:lib.Codec.decoding_table["174,113"] = [52725] let s:lib.Codec.decoding_table["174,114"] = [52726] let s:lib.Codec.decoding_table["174,115"] = [52727] let s:lib.Codec.decoding_table["174,116"] = [52730] let s:lib.Codec.decoding_table["174,117"] = [52732] let s:lib.Codec.decoding_table["174,118"] = [52734] let s:lib.Codec.decoding_table["174,119"] = [52735] let s:lib.Codec.decoding_table["174,120"] = [52736] let s:lib.Codec.decoding_table["174,121"] = [52737] let s:lib.Codec.decoding_table["174,122"] = [52738] let s:lib.Codec.decoding_table["174,129"] = [52739] let s:lib.Codec.decoding_table["174,130"] = [52741] let s:lib.Codec.decoding_table["174,131"] = [52742] let s:lib.Codec.decoding_table["174,132"] = [52743] let s:lib.Codec.decoding_table["174,133"] = [52745] let s:lib.Codec.decoding_table["174,134"] = [52746] let s:lib.Codec.decoding_table["174,135"] = [52747] let s:lib.Codec.decoding_table["174,136"] = [52749] let s:lib.Codec.decoding_table["174,137"] = [52750] let s:lib.Codec.decoding_table["174,138"] = [52751] let s:lib.Codec.decoding_table["174,139"] = [52752] let s:lib.Codec.decoding_table["174,140"] = [52753] let s:lib.Codec.decoding_table["174,141"] = [52754] let s:lib.Codec.decoding_table["174,142"] = [52755] let s:lib.Codec.decoding_table["174,143"] = [52757] let s:lib.Codec.decoding_table["174,144"] = [52758] let s:lib.Codec.decoding_table["174,145"] = [52759] let s:lib.Codec.decoding_table["174,146"] = [52760] let s:lib.Codec.decoding_table["174,147"] = [52762] let s:lib.Codec.decoding_table["174,148"] = [52763] let s:lib.Codec.decoding_table["174,149"] = [52764] let s:lib.Codec.decoding_table["174,150"] = [52765] let s:lib.Codec.decoding_table["174,151"] = [52766] let s:lib.Codec.decoding_table["174,152"] = [52767] let s:lib.Codec.decoding_table["174,153"] = [52770] let s:lib.Codec.decoding_table["174,154"] = [52771] let s:lib.Codec.decoding_table["174,155"] = [52773] let s:lib.Codec.decoding_table["174,156"] = [52774] let s:lib.Codec.decoding_table["174,157"] = [52775] let s:lib.Codec.decoding_table["174,158"] = [52777] let s:lib.Codec.decoding_table["174,159"] = [52778] let s:lib.Codec.decoding_table["174,160"] = [52779] let s:lib.Codec.decoding_table["175,65"] = [52780] let s:lib.Codec.decoding_table["175,66"] = [52781] let s:lib.Codec.decoding_table["175,67"] = [52782] let s:lib.Codec.decoding_table["175,68"] = [52783] let s:lib.Codec.decoding_table["175,69"] = [52786] let s:lib.Codec.decoding_table["175,70"] = [52788] let s:lib.Codec.decoding_table["175,71"] = [52790] let s:lib.Codec.decoding_table["175,72"] = [52791] let s:lib.Codec.decoding_table["175,73"] = [52792] let s:lib.Codec.decoding_table["175,74"] = [52793] let s:lib.Codec.decoding_table["175,75"] = [52794] let s:lib.Codec.decoding_table["175,76"] = [52795] let s:lib.Codec.decoding_table["175,77"] = [52796] let s:lib.Codec.decoding_table["175,78"] = [52797] let s:lib.Codec.decoding_table["175,79"] = [52798] let s:lib.Codec.decoding_table["175,80"] = [52799] let s:lib.Codec.decoding_table["175,81"] = [52800] let s:lib.Codec.decoding_table["175,82"] = [52801] let s:lib.Codec.decoding_table["175,83"] = [52802] let s:lib.Codec.decoding_table["175,84"] = [52803] let s:lib.Codec.decoding_table["175,85"] = [52804] let s:lib.Codec.decoding_table["175,86"] = [52805] let s:lib.Codec.decoding_table["175,87"] = [52806] let s:lib.Codec.decoding_table["175,88"] = [52807] let s:lib.Codec.decoding_table["175,89"] = [52808] let s:lib.Codec.decoding_table["175,90"] = [52809] let s:lib.Codec.decoding_table["175,97"] = [52810] let s:lib.Codec.decoding_table["175,98"] = [52811] let s:lib.Codec.decoding_table["175,99"] = [52812] let s:lib.Codec.decoding_table["175,100"] = [52813] let s:lib.Codec.decoding_table["175,101"] = [52814] let s:lib.Codec.decoding_table["175,102"] = [52815] let s:lib.Codec.decoding_table["175,103"] = [52816] let s:lib.Codec.decoding_table["175,104"] = [52817] let s:lib.Codec.decoding_table["175,105"] = [52818] let s:lib.Codec.decoding_table["175,106"] = [52819] let s:lib.Codec.decoding_table["175,107"] = [52820] let s:lib.Codec.decoding_table["175,108"] = [52821] let s:lib.Codec.decoding_table["175,109"] = [52822] let s:lib.Codec.decoding_table["175,110"] = [52823] let s:lib.Codec.decoding_table["175,111"] = [52826] let s:lib.Codec.decoding_table["175,112"] = [52827] let s:lib.Codec.decoding_table["175,113"] = [52829] let s:lib.Codec.decoding_table["175,114"] = [52830] let s:lib.Codec.decoding_table["175,115"] = [52834] let s:lib.Codec.decoding_table["175,116"] = [52835] let s:lib.Codec.decoding_table["175,117"] = [52836] let s:lib.Codec.decoding_table["175,118"] = [52837] let s:lib.Codec.decoding_table["175,119"] = [52838] let s:lib.Codec.decoding_table["175,120"] = [52839] let s:lib.Codec.decoding_table["175,121"] = [52842] let s:lib.Codec.decoding_table["175,122"] = [52844] let s:lib.Codec.decoding_table["175,129"] = [52846] let s:lib.Codec.decoding_table["175,130"] = [52847] let s:lib.Codec.decoding_table["175,131"] = [52848] let s:lib.Codec.decoding_table["175,132"] = [52849] let s:lib.Codec.decoding_table["175,133"] = [52850] let s:lib.Codec.decoding_table["175,134"] = [52851] let s:lib.Codec.decoding_table["175,135"] = [52854] let s:lib.Codec.decoding_table["175,136"] = [52855] let s:lib.Codec.decoding_table["175,137"] = [52857] let s:lib.Codec.decoding_table["175,138"] = [52858] let s:lib.Codec.decoding_table["175,139"] = [52859] let s:lib.Codec.decoding_table["175,140"] = [52861] let s:lib.Codec.decoding_table["175,141"] = [52862] let s:lib.Codec.decoding_table["175,142"] = [52863] let s:lib.Codec.decoding_table["175,143"] = [52864] let s:lib.Codec.decoding_table["175,144"] = [52865] let s:lib.Codec.decoding_table["175,145"] = [52866] let s:lib.Codec.decoding_table["175,146"] = [52867] let s:lib.Codec.decoding_table["175,147"] = [52870] let s:lib.Codec.decoding_table["175,148"] = [52872] let s:lib.Codec.decoding_table["175,149"] = [52874] let s:lib.Codec.decoding_table["175,150"] = [52875] let s:lib.Codec.decoding_table["175,151"] = [52876] let s:lib.Codec.decoding_table["175,152"] = [52877] let s:lib.Codec.decoding_table["175,153"] = [52878] let s:lib.Codec.decoding_table["175,154"] = [52879] let s:lib.Codec.decoding_table["175,155"] = [52882] let s:lib.Codec.decoding_table["175,156"] = [52883] let s:lib.Codec.decoding_table["175,157"] = [52885] let s:lib.Codec.decoding_table["175,158"] = [52886] let s:lib.Codec.decoding_table["175,159"] = [52887] let s:lib.Codec.decoding_table["175,160"] = [52889] let s:lib.Codec.decoding_table["176,65"] = [52890] let s:lib.Codec.decoding_table["176,66"] = [52891] let s:lib.Codec.decoding_table["176,67"] = [52892] let s:lib.Codec.decoding_table["176,68"] = [52893] let s:lib.Codec.decoding_table["176,69"] = [52894] let s:lib.Codec.decoding_table["176,70"] = [52895] let s:lib.Codec.decoding_table["176,71"] = [52898] let s:lib.Codec.decoding_table["176,72"] = [52902] let s:lib.Codec.decoding_table["176,73"] = [52903] let s:lib.Codec.decoding_table["176,74"] = [52904] let s:lib.Codec.decoding_table["176,75"] = [52905] let s:lib.Codec.decoding_table["176,76"] = [52906] let s:lib.Codec.decoding_table["176,77"] = [52907] let s:lib.Codec.decoding_table["176,78"] = [52910] let s:lib.Codec.decoding_table["176,79"] = [52911] let s:lib.Codec.decoding_table["176,80"] = [52912] let s:lib.Codec.decoding_table["176,81"] = [52913] let s:lib.Codec.decoding_table["176,82"] = [52914] let s:lib.Codec.decoding_table["176,83"] = [52915] let s:lib.Codec.decoding_table["176,84"] = [52916] let s:lib.Codec.decoding_table["176,85"] = [52917] let s:lib.Codec.decoding_table["176,86"] = [52918] let s:lib.Codec.decoding_table["176,87"] = [52919] let s:lib.Codec.decoding_table["176,88"] = [52920] let s:lib.Codec.decoding_table["176,89"] = [52921] let s:lib.Codec.decoding_table["176,90"] = [52922] let s:lib.Codec.decoding_table["176,97"] = [52923] let s:lib.Codec.decoding_table["176,98"] = [52924] let s:lib.Codec.decoding_table["176,99"] = [52925] let s:lib.Codec.decoding_table["176,100"] = [52926] let s:lib.Codec.decoding_table["176,101"] = [52927] let s:lib.Codec.decoding_table["176,102"] = [52928] let s:lib.Codec.decoding_table["176,103"] = [52930] let s:lib.Codec.decoding_table["176,104"] = [52931] let s:lib.Codec.decoding_table["176,105"] = [52932] let s:lib.Codec.decoding_table["176,106"] = [52933] let s:lib.Codec.decoding_table["176,107"] = [52934] let s:lib.Codec.decoding_table["176,108"] = [52935] let s:lib.Codec.decoding_table["176,109"] = [52936] let s:lib.Codec.decoding_table["176,110"] = [52937] let s:lib.Codec.decoding_table["176,111"] = [52938] let s:lib.Codec.decoding_table["176,112"] = [52939] let s:lib.Codec.decoding_table["176,113"] = [52940] let s:lib.Codec.decoding_table["176,114"] = [52941] let s:lib.Codec.decoding_table["176,115"] = [52942] let s:lib.Codec.decoding_table["176,116"] = [52943] let s:lib.Codec.decoding_table["176,117"] = [52944] let s:lib.Codec.decoding_table["176,118"] = [52945] let s:lib.Codec.decoding_table["176,119"] = [52946] let s:lib.Codec.decoding_table["176,120"] = [52947] let s:lib.Codec.decoding_table["176,121"] = [52948] let s:lib.Codec.decoding_table["176,122"] = [52949] let s:lib.Codec.decoding_table["176,129"] = [52950] let s:lib.Codec.decoding_table["176,130"] = [52951] let s:lib.Codec.decoding_table["176,131"] = [52952] let s:lib.Codec.decoding_table["176,132"] = [52953] let s:lib.Codec.decoding_table["176,133"] = [52954] let s:lib.Codec.decoding_table["176,134"] = [52955] let s:lib.Codec.decoding_table["176,135"] = [52956] let s:lib.Codec.decoding_table["176,136"] = [52957] let s:lib.Codec.decoding_table["176,137"] = [52958] let s:lib.Codec.decoding_table["176,138"] = [52959] let s:lib.Codec.decoding_table["176,139"] = [52960] let s:lib.Codec.decoding_table["176,140"] = [52961] let s:lib.Codec.decoding_table["176,141"] = [52962] let s:lib.Codec.decoding_table["176,142"] = [52963] let s:lib.Codec.decoding_table["176,143"] = [52966] let s:lib.Codec.decoding_table["176,144"] = [52967] let s:lib.Codec.decoding_table["176,145"] = [52969] let s:lib.Codec.decoding_table["176,146"] = [52970] let s:lib.Codec.decoding_table["176,147"] = [52973] let s:lib.Codec.decoding_table["176,148"] = [52974] let s:lib.Codec.decoding_table["176,149"] = [52975] let s:lib.Codec.decoding_table["176,150"] = [52976] let s:lib.Codec.decoding_table["176,151"] = [52977] let s:lib.Codec.decoding_table["176,152"] = [52978] let s:lib.Codec.decoding_table["176,153"] = [52979] let s:lib.Codec.decoding_table["176,154"] = [52982] let s:lib.Codec.decoding_table["176,155"] = [52986] let s:lib.Codec.decoding_table["176,156"] = [52987] let s:lib.Codec.decoding_table["176,157"] = [52988] let s:lib.Codec.decoding_table["176,158"] = [52989] let s:lib.Codec.decoding_table["176,159"] = [52990] let s:lib.Codec.decoding_table["176,160"] = [52991] let s:lib.Codec.decoding_table["176,161"] = [44032] let s:lib.Codec.decoding_table["176,162"] = [44033] let s:lib.Codec.decoding_table["176,163"] = [44036] let s:lib.Codec.decoding_table["176,164"] = [44039] let s:lib.Codec.decoding_table["176,165"] = [44040] let s:lib.Codec.decoding_table["176,166"] = [44041] let s:lib.Codec.decoding_table["176,167"] = [44042] let s:lib.Codec.decoding_table["176,168"] = [44048] let s:lib.Codec.decoding_table["176,169"] = [44049] let s:lib.Codec.decoding_table["176,170"] = [44050] let s:lib.Codec.decoding_table["176,171"] = [44051] let s:lib.Codec.decoding_table["176,172"] = [44052] let s:lib.Codec.decoding_table["176,173"] = [44053] let s:lib.Codec.decoding_table["176,174"] = [44054] let s:lib.Codec.decoding_table["176,175"] = [44055] let s:lib.Codec.decoding_table["176,176"] = [44057] let s:lib.Codec.decoding_table["176,177"] = [44058] let s:lib.Codec.decoding_table["176,178"] = [44059] let s:lib.Codec.decoding_table["176,179"] = [44060] let s:lib.Codec.decoding_table["176,180"] = [44061] let s:lib.Codec.decoding_table["176,181"] = [44064] let s:lib.Codec.decoding_table["176,182"] = [44068] let s:lib.Codec.decoding_table["176,183"] = [44076] let s:lib.Codec.decoding_table["176,184"] = [44077] let s:lib.Codec.decoding_table["176,185"] = [44079] let s:lib.Codec.decoding_table["176,186"] = [44080] let s:lib.Codec.decoding_table["176,187"] = [44081] let s:lib.Codec.decoding_table["176,188"] = [44088] let s:lib.Codec.decoding_table["176,189"] = [44089] let s:lib.Codec.decoding_table["176,190"] = [44092] let s:lib.Codec.decoding_table["176,191"] = [44096] let s:lib.Codec.decoding_table["176,192"] = [44107] let s:lib.Codec.decoding_table["176,193"] = [44109] let s:lib.Codec.decoding_table["176,194"] = [44116] let s:lib.Codec.decoding_table["176,195"] = [44120] let s:lib.Codec.decoding_table["176,196"] = [44124] let s:lib.Codec.decoding_table["176,197"] = [44144] let s:lib.Codec.decoding_table["176,198"] = [44145] let s:lib.Codec.decoding_table["176,199"] = [44148] let s:lib.Codec.decoding_table["176,200"] = [44151] let s:lib.Codec.decoding_table["176,201"] = [44152] let s:lib.Codec.decoding_table["176,202"] = [44154] let s:lib.Codec.decoding_table["176,203"] = [44160] let s:lib.Codec.decoding_table["176,204"] = [44161] let s:lib.Codec.decoding_table["176,205"] = [44163] let s:lib.Codec.decoding_table["176,206"] = [44164] let s:lib.Codec.decoding_table["176,207"] = [44165] let s:lib.Codec.decoding_table["176,208"] = [44166] let s:lib.Codec.decoding_table["176,209"] = [44169] let s:lib.Codec.decoding_table["176,210"] = [44170] let s:lib.Codec.decoding_table["176,211"] = [44171] let s:lib.Codec.decoding_table["176,212"] = [44172] let s:lib.Codec.decoding_table["176,213"] = [44176] let s:lib.Codec.decoding_table["176,214"] = [44180] let s:lib.Codec.decoding_table["176,215"] = [44188] let s:lib.Codec.decoding_table["176,216"] = [44189] let s:lib.Codec.decoding_table["176,217"] = [44191] let s:lib.Codec.decoding_table["176,218"] = [44192] let s:lib.Codec.decoding_table["176,219"] = [44193] let s:lib.Codec.decoding_table["176,220"] = [44200] let s:lib.Codec.decoding_table["176,221"] = [44201] let s:lib.Codec.decoding_table["176,222"] = [44202] let s:lib.Codec.decoding_table["176,223"] = [44204] let s:lib.Codec.decoding_table["176,224"] = [44207] let s:lib.Codec.decoding_table["176,225"] = [44208] let s:lib.Codec.decoding_table["176,226"] = [44216] let s:lib.Codec.decoding_table["176,227"] = [44217] let s:lib.Codec.decoding_table["176,228"] = [44219] let s:lib.Codec.decoding_table["176,229"] = [44220] let s:lib.Codec.decoding_table["176,230"] = [44221] let s:lib.Codec.decoding_table["176,231"] = [44225] let s:lib.Codec.decoding_table["176,232"] = [44228] let s:lib.Codec.decoding_table["176,233"] = [44232] let s:lib.Codec.decoding_table["176,234"] = [44236] let s:lib.Codec.decoding_table["176,235"] = [44245] let s:lib.Codec.decoding_table["176,236"] = [44247] let s:lib.Codec.decoding_table["176,237"] = [44256] let s:lib.Codec.decoding_table["176,238"] = [44257] let s:lib.Codec.decoding_table["176,239"] = [44260] let s:lib.Codec.decoding_table["176,240"] = [44263] let s:lib.Codec.decoding_table["176,241"] = [44264] let s:lib.Codec.decoding_table["176,242"] = [44266] let s:lib.Codec.decoding_table["176,243"] = [44268] let s:lib.Codec.decoding_table["176,244"] = [44271] let s:lib.Codec.decoding_table["176,245"] = [44272] let s:lib.Codec.decoding_table["176,246"] = [44273] let s:lib.Codec.decoding_table["176,247"] = [44275] let s:lib.Codec.decoding_table["176,248"] = [44277] let s:lib.Codec.decoding_table["176,249"] = [44278] let s:lib.Codec.decoding_table["176,250"] = [44284] let s:lib.Codec.decoding_table["176,251"] = [44285] let s:lib.Codec.decoding_table["176,252"] = [44288] let s:lib.Codec.decoding_table["176,253"] = [44292] let s:lib.Codec.decoding_table["176,254"] = [44294] let s:lib.Codec.decoding_table["177,65"] = [52994] let s:lib.Codec.decoding_table["177,66"] = [52995] let s:lib.Codec.decoding_table["177,67"] = [52997] let s:lib.Codec.decoding_table["177,68"] = [52998] let s:lib.Codec.decoding_table["177,69"] = [52999] let s:lib.Codec.decoding_table["177,70"] = [53001] let s:lib.Codec.decoding_table["177,71"] = [53002] let s:lib.Codec.decoding_table["177,72"] = [53003] let s:lib.Codec.decoding_table["177,73"] = [53004] let s:lib.Codec.decoding_table["177,74"] = [53005] let s:lib.Codec.decoding_table["177,75"] = [53006] let s:lib.Codec.decoding_table["177,76"] = [53007] let s:lib.Codec.decoding_table["177,77"] = [53010] let s:lib.Codec.decoding_table["177,78"] = [53012] let s:lib.Codec.decoding_table["177,79"] = [53014] let s:lib.Codec.decoding_table["177,80"] = [53015] let s:lib.Codec.decoding_table["177,81"] = [53016] let s:lib.Codec.decoding_table["177,82"] = [53017] let s:lib.Codec.decoding_table["177,83"] = [53018] let s:lib.Codec.decoding_table["177,84"] = [53019] let s:lib.Codec.decoding_table["177,85"] = [53021] let s:lib.Codec.decoding_table["177,86"] = [53022] let s:lib.Codec.decoding_table["177,87"] = [53023] let s:lib.Codec.decoding_table["177,88"] = [53025] let s:lib.Codec.decoding_table["177,89"] = [53026] let s:lib.Codec.decoding_table["177,90"] = [53027] let s:lib.Codec.decoding_table["177,97"] = [53029] let s:lib.Codec.decoding_table["177,98"] = [53030] let s:lib.Codec.decoding_table["177,99"] = [53031] let s:lib.Codec.decoding_table["177,100"] = [53032] let s:lib.Codec.decoding_table["177,101"] = [53033] let s:lib.Codec.decoding_table["177,102"] = [53034] let s:lib.Codec.decoding_table["177,103"] = [53035] let s:lib.Codec.decoding_table["177,104"] = [53038] let s:lib.Codec.decoding_table["177,105"] = [53042] let s:lib.Codec.decoding_table["177,106"] = [53043] let s:lib.Codec.decoding_table["177,107"] = [53044] let s:lib.Codec.decoding_table["177,108"] = [53045] let s:lib.Codec.decoding_table["177,109"] = [53046] let s:lib.Codec.decoding_table["177,110"] = [53047] let s:lib.Codec.decoding_table["177,111"] = [53049] let s:lib.Codec.decoding_table["177,112"] = [53050] let s:lib.Codec.decoding_table["177,113"] = [53051] let s:lib.Codec.decoding_table["177,114"] = [53052] let s:lib.Codec.decoding_table["177,115"] = [53053] let s:lib.Codec.decoding_table["177,116"] = [53054] let s:lib.Codec.decoding_table["177,117"] = [53055] let s:lib.Codec.decoding_table["177,118"] = [53056] let s:lib.Codec.decoding_table["177,119"] = [53057] let s:lib.Codec.decoding_table["177,120"] = [53058] let s:lib.Codec.decoding_table["177,121"] = [53059] let s:lib.Codec.decoding_table["177,122"] = [53060] let s:lib.Codec.decoding_table["177,129"] = [53061] let s:lib.Codec.decoding_table["177,130"] = [53062] let s:lib.Codec.decoding_table["177,131"] = [53063] let s:lib.Codec.decoding_table["177,132"] = [53064] let s:lib.Codec.decoding_table["177,133"] = [53065] let s:lib.Codec.decoding_table["177,134"] = [53066] let s:lib.Codec.decoding_table["177,135"] = [53067] let s:lib.Codec.decoding_table["177,136"] = [53068] let s:lib.Codec.decoding_table["177,137"] = [53069] let s:lib.Codec.decoding_table["177,138"] = [53070] let s:lib.Codec.decoding_table["177,139"] = [53071] let s:lib.Codec.decoding_table["177,140"] = [53072] let s:lib.Codec.decoding_table["177,141"] = [53073] let s:lib.Codec.decoding_table["177,142"] = [53074] let s:lib.Codec.decoding_table["177,143"] = [53075] let s:lib.Codec.decoding_table["177,144"] = [53078] let s:lib.Codec.decoding_table["177,145"] = [53079] let s:lib.Codec.decoding_table["177,146"] = [53081] let s:lib.Codec.decoding_table["177,147"] = [53082] let s:lib.Codec.decoding_table["177,148"] = [53083] let s:lib.Codec.decoding_table["177,149"] = [53085] let s:lib.Codec.decoding_table["177,150"] = [53086] let s:lib.Codec.decoding_table["177,151"] = [53087] let s:lib.Codec.decoding_table["177,152"] = [53088] let s:lib.Codec.decoding_table["177,153"] = [53089] let s:lib.Codec.decoding_table["177,154"] = [53090] let s:lib.Codec.decoding_table["177,155"] = [53091] let s:lib.Codec.decoding_table["177,156"] = [53094] let s:lib.Codec.decoding_table["177,157"] = [53096] let s:lib.Codec.decoding_table["177,158"] = [53098] let s:lib.Codec.decoding_table["177,159"] = [53099] let s:lib.Codec.decoding_table["177,160"] = [53100] let s:lib.Codec.decoding_table["177,161"] = [44300] let s:lib.Codec.decoding_table["177,162"] = [44301] let s:lib.Codec.decoding_table["177,163"] = [44303] let s:lib.Codec.decoding_table["177,164"] = [44305] let s:lib.Codec.decoding_table["177,165"] = [44312] let s:lib.Codec.decoding_table["177,166"] = [44316] let s:lib.Codec.decoding_table["177,167"] = [44320] let s:lib.Codec.decoding_table["177,168"] = [44329] let s:lib.Codec.decoding_table["177,169"] = [44332] let s:lib.Codec.decoding_table["177,170"] = [44333] let s:lib.Codec.decoding_table["177,171"] = [44340] let s:lib.Codec.decoding_table["177,172"] = [44341] let s:lib.Codec.decoding_table["177,173"] = [44344] let s:lib.Codec.decoding_table["177,174"] = [44348] let s:lib.Codec.decoding_table["177,175"] = [44356] let s:lib.Codec.decoding_table["177,176"] = [44357] let s:lib.Codec.decoding_table["177,177"] = [44359] let s:lib.Codec.decoding_table["177,178"] = [44361] let s:lib.Codec.decoding_table["177,179"] = [44368] let s:lib.Codec.decoding_table["177,180"] = [44372] let s:lib.Codec.decoding_table["177,181"] = [44376] let s:lib.Codec.decoding_table["177,182"] = [44385] let s:lib.Codec.decoding_table["177,183"] = [44387] let s:lib.Codec.decoding_table["177,184"] = [44396] let s:lib.Codec.decoding_table["177,185"] = [44397] let s:lib.Codec.decoding_table["177,186"] = [44400] let s:lib.Codec.decoding_table["177,187"] = [44403] let s:lib.Codec.decoding_table["177,188"] = [44404] let s:lib.Codec.decoding_table["177,189"] = [44405] let s:lib.Codec.decoding_table["177,190"] = [44406] let s:lib.Codec.decoding_table["177,191"] = [44411] let s:lib.Codec.decoding_table["177,192"] = [44412] let s:lib.Codec.decoding_table["177,193"] = [44413] let s:lib.Codec.decoding_table["177,194"] = [44415] let s:lib.Codec.decoding_table["177,195"] = [44417] let s:lib.Codec.decoding_table["177,196"] = [44418] let s:lib.Codec.decoding_table["177,197"] = [44424] let s:lib.Codec.decoding_table["177,198"] = [44425] let s:lib.Codec.decoding_table["177,199"] = [44428] let s:lib.Codec.decoding_table["177,200"] = [44432] let s:lib.Codec.decoding_table["177,201"] = [44444] let s:lib.Codec.decoding_table["177,202"] = [44445] let s:lib.Codec.decoding_table["177,203"] = [44452] let s:lib.Codec.decoding_table["177,204"] = [44471] let s:lib.Codec.decoding_table["177,205"] = [44480] let s:lib.Codec.decoding_table["177,206"] = [44481] let s:lib.Codec.decoding_table["177,207"] = [44484] let s:lib.Codec.decoding_table["177,208"] = [44488] let s:lib.Codec.decoding_table["177,209"] = [44496] let s:lib.Codec.decoding_table["177,210"] = [44497] let s:lib.Codec.decoding_table["177,211"] = [44499] let s:lib.Codec.decoding_table["177,212"] = [44508] let s:lib.Codec.decoding_table["177,213"] = [44512] let s:lib.Codec.decoding_table["177,214"] = [44516] let s:lib.Codec.decoding_table["177,215"] = [44536] let s:lib.Codec.decoding_table["177,216"] = [44537] let s:lib.Codec.decoding_table["177,217"] = [44540] let s:lib.Codec.decoding_table["177,218"] = [44543] let s:lib.Codec.decoding_table["177,219"] = [44544] let s:lib.Codec.decoding_table["177,220"] = [44545] let s:lib.Codec.decoding_table["177,221"] = [44552] let s:lib.Codec.decoding_table["177,222"] = [44553] let s:lib.Codec.decoding_table["177,223"] = [44555] let s:lib.Codec.decoding_table["177,224"] = [44557] let s:lib.Codec.decoding_table["177,225"] = [44564] let s:lib.Codec.decoding_table["177,226"] = [44592] let s:lib.Codec.decoding_table["177,227"] = [44593] let s:lib.Codec.decoding_table["177,228"] = [44596] let s:lib.Codec.decoding_table["177,229"] = [44599] let s:lib.Codec.decoding_table["177,230"] = [44600] let s:lib.Codec.decoding_table["177,231"] = [44602] let s:lib.Codec.decoding_table["177,232"] = [44608] let s:lib.Codec.decoding_table["177,233"] = [44609] let s:lib.Codec.decoding_table["177,234"] = [44611] let s:lib.Codec.decoding_table["177,235"] = [44613] let s:lib.Codec.decoding_table["177,236"] = [44614] let s:lib.Codec.decoding_table["177,237"] = [44618] let s:lib.Codec.decoding_table["177,238"] = [44620] let s:lib.Codec.decoding_table["177,239"] = [44621] let s:lib.Codec.decoding_table["177,240"] = [44622] let s:lib.Codec.decoding_table["177,241"] = [44624] let s:lib.Codec.decoding_table["177,242"] = [44628] let s:lib.Codec.decoding_table["177,243"] = [44630] let s:lib.Codec.decoding_table["177,244"] = [44636] let s:lib.Codec.decoding_table["177,245"] = [44637] let s:lib.Codec.decoding_table["177,246"] = [44639] let s:lib.Codec.decoding_table["177,247"] = [44640] let s:lib.Codec.decoding_table["177,248"] = [44641] let s:lib.Codec.decoding_table["177,249"] = [44645] let s:lib.Codec.decoding_table["177,250"] = [44648] let s:lib.Codec.decoding_table["177,251"] = [44649] let s:lib.Codec.decoding_table["177,252"] = [44652] let s:lib.Codec.decoding_table["177,253"] = [44656] let s:lib.Codec.decoding_table["177,254"] = [44664] let s:lib.Codec.decoding_table["178,65"] = [53101] let s:lib.Codec.decoding_table["178,66"] = [53102] let s:lib.Codec.decoding_table["178,67"] = [53103] let s:lib.Codec.decoding_table["178,68"] = [53106] let s:lib.Codec.decoding_table["178,69"] = [53107] let s:lib.Codec.decoding_table["178,70"] = [53109] let s:lib.Codec.decoding_table["178,71"] = [53110] let s:lib.Codec.decoding_table["178,72"] = [53111] let s:lib.Codec.decoding_table["178,73"] = [53113] let s:lib.Codec.decoding_table["178,74"] = [53114] let s:lib.Codec.decoding_table["178,75"] = [53115] let s:lib.Codec.decoding_table["178,76"] = [53116] let s:lib.Codec.decoding_table["178,77"] = [53117] let s:lib.Codec.decoding_table["178,78"] = [53118] let s:lib.Codec.decoding_table["178,79"] = [53119] let s:lib.Codec.decoding_table["178,80"] = [53121] let s:lib.Codec.decoding_table["178,81"] = [53122] let s:lib.Codec.decoding_table["178,82"] = [53123] let s:lib.Codec.decoding_table["178,83"] = [53124] let s:lib.Codec.decoding_table["178,84"] = [53126] let s:lib.Codec.decoding_table["178,85"] = [53127] let s:lib.Codec.decoding_table["178,86"] = [53128] let s:lib.Codec.decoding_table["178,87"] = [53129] let s:lib.Codec.decoding_table["178,88"] = [53130] let s:lib.Codec.decoding_table["178,89"] = [53131] let s:lib.Codec.decoding_table["178,90"] = [53133] let s:lib.Codec.decoding_table["178,97"] = [53134] let s:lib.Codec.decoding_table["178,98"] = [53135] let s:lib.Codec.decoding_table["178,99"] = [53136] let s:lib.Codec.decoding_table["178,100"] = [53137] let s:lib.Codec.decoding_table["178,101"] = [53138] let s:lib.Codec.decoding_table["178,102"] = [53139] let s:lib.Codec.decoding_table["178,103"] = [53140] let s:lib.Codec.decoding_table["178,104"] = [53141] let s:lib.Codec.decoding_table["178,105"] = [53142] let s:lib.Codec.decoding_table["178,106"] = [53143] let s:lib.Codec.decoding_table["178,107"] = [53144] let s:lib.Codec.decoding_table["178,108"] = [53145] let s:lib.Codec.decoding_table["178,109"] = [53146] let s:lib.Codec.decoding_table["178,110"] = [53147] let s:lib.Codec.decoding_table["178,111"] = [53148] let s:lib.Codec.decoding_table["178,112"] = [53149] let s:lib.Codec.decoding_table["178,113"] = [53150] let s:lib.Codec.decoding_table["178,114"] = [53151] let s:lib.Codec.decoding_table["178,115"] = [53152] let s:lib.Codec.decoding_table["178,116"] = [53154] let s:lib.Codec.decoding_table["178,117"] = [53155] let s:lib.Codec.decoding_table["178,118"] = [53156] let s:lib.Codec.decoding_table["178,119"] = [53157] let s:lib.Codec.decoding_table["178,120"] = [53158] let s:lib.Codec.decoding_table["178,121"] = [53159] let s:lib.Codec.decoding_table["178,122"] = [53161] let s:lib.Codec.decoding_table["178,129"] = [53162] let s:lib.Codec.decoding_table["178,130"] = [53163] let s:lib.Codec.decoding_table["178,131"] = [53164] let s:lib.Codec.decoding_table["178,132"] = [53165] let s:lib.Codec.decoding_table["178,133"] = [53166] let s:lib.Codec.decoding_table["178,134"] = [53167] let s:lib.Codec.decoding_table["178,135"] = [53169] let s:lib.Codec.decoding_table["178,136"] = [53170] let s:lib.Codec.decoding_table["178,137"] = [53171] let s:lib.Codec.decoding_table["178,138"] = [53172] let s:lib.Codec.decoding_table["178,139"] = [53173] let s:lib.Codec.decoding_table["178,140"] = [53174] let s:lib.Codec.decoding_table["178,141"] = [53175] let s:lib.Codec.decoding_table["178,142"] = [53176] let s:lib.Codec.decoding_table["178,143"] = [53177] let s:lib.Codec.decoding_table["178,144"] = [53178] let s:lib.Codec.decoding_table["178,145"] = [53179] let s:lib.Codec.decoding_table["178,146"] = [53180] let s:lib.Codec.decoding_table["178,147"] = [53181] let s:lib.Codec.decoding_table["178,148"] = [53182] let s:lib.Codec.decoding_table["178,149"] = [53183] let s:lib.Codec.decoding_table["178,150"] = [53184] let s:lib.Codec.decoding_table["178,151"] = [53185] let s:lib.Codec.decoding_table["178,152"] = [53186] let s:lib.Codec.decoding_table["178,153"] = [53187] let s:lib.Codec.decoding_table["178,154"] = [53189] let s:lib.Codec.decoding_table["178,155"] = [53190] let s:lib.Codec.decoding_table["178,156"] = [53191] let s:lib.Codec.decoding_table["178,157"] = [53192] let s:lib.Codec.decoding_table["178,158"] = [53193] let s:lib.Codec.decoding_table["178,159"] = [53194] let s:lib.Codec.decoding_table["178,160"] = [53195] let s:lib.Codec.decoding_table["178,161"] = [44665] let s:lib.Codec.decoding_table["178,162"] = [44667] let s:lib.Codec.decoding_table["178,163"] = [44668] let s:lib.Codec.decoding_table["178,164"] = [44669] let s:lib.Codec.decoding_table["178,165"] = [44676] let s:lib.Codec.decoding_table["178,166"] = [44677] let s:lib.Codec.decoding_table["178,167"] = [44684] let s:lib.Codec.decoding_table["178,168"] = [44732] let s:lib.Codec.decoding_table["178,169"] = [44733] let s:lib.Codec.decoding_table["178,170"] = [44734] let s:lib.Codec.decoding_table["178,171"] = [44736] let s:lib.Codec.decoding_table["178,172"] = [44740] let s:lib.Codec.decoding_table["178,173"] = [44748] let s:lib.Codec.decoding_table["178,174"] = [44749] let s:lib.Codec.decoding_table["178,175"] = [44751] let s:lib.Codec.decoding_table["178,176"] = [44752] let s:lib.Codec.decoding_table["178,177"] = [44753] let s:lib.Codec.decoding_table["178,178"] = [44760] let s:lib.Codec.decoding_table["178,179"] = [44761] let s:lib.Codec.decoding_table["178,180"] = [44764] let s:lib.Codec.decoding_table["178,181"] = [44776] let s:lib.Codec.decoding_table["178,182"] = [44779] let s:lib.Codec.decoding_table["178,183"] = [44781] let s:lib.Codec.decoding_table["178,184"] = [44788] let s:lib.Codec.decoding_table["178,185"] = [44792] let s:lib.Codec.decoding_table["178,186"] = [44796] let s:lib.Codec.decoding_table["178,187"] = [44807] let s:lib.Codec.decoding_table["178,188"] = [44808] let s:lib.Codec.decoding_table["178,189"] = [44813] let s:lib.Codec.decoding_table["178,190"] = [44816] let s:lib.Codec.decoding_table["178,191"] = [44844] let s:lib.Codec.decoding_table["178,192"] = [44845] let s:lib.Codec.decoding_table["178,193"] = [44848] let s:lib.Codec.decoding_table["178,194"] = [44850] let s:lib.Codec.decoding_table["178,195"] = [44852] let s:lib.Codec.decoding_table["178,196"] = [44860] let s:lib.Codec.decoding_table["178,197"] = [44861] let s:lib.Codec.decoding_table["178,198"] = [44863] let s:lib.Codec.decoding_table["178,199"] = [44865] let s:lib.Codec.decoding_table["178,200"] = [44866] let s:lib.Codec.decoding_table["178,201"] = [44867] let s:lib.Codec.decoding_table["178,202"] = [44872] let s:lib.Codec.decoding_table["178,203"] = [44873] let s:lib.Codec.decoding_table["178,204"] = [44880] let s:lib.Codec.decoding_table["178,205"] = [44892] let s:lib.Codec.decoding_table["178,206"] = [44893] let s:lib.Codec.decoding_table["178,207"] = [44900] let s:lib.Codec.decoding_table["178,208"] = [44901] let s:lib.Codec.decoding_table["178,209"] = [44921] let s:lib.Codec.decoding_table["178,210"] = [44928] let s:lib.Codec.decoding_table["178,211"] = [44932] let s:lib.Codec.decoding_table["178,212"] = [44936] let s:lib.Codec.decoding_table["178,213"] = [44944] let s:lib.Codec.decoding_table["178,214"] = [44945] let s:lib.Codec.decoding_table["178,215"] = [44949] let s:lib.Codec.decoding_table["178,216"] = [44956] let s:lib.Codec.decoding_table["178,217"] = [44984] let s:lib.Codec.decoding_table["178,218"] = [44985] let s:lib.Codec.decoding_table["178,219"] = [44988] let s:lib.Codec.decoding_table["178,220"] = [44992] let s:lib.Codec.decoding_table["178,221"] = [44999] let s:lib.Codec.decoding_table["178,222"] = [45000] let s:lib.Codec.decoding_table["178,223"] = [45001] let s:lib.Codec.decoding_table["178,224"] = [45003] let s:lib.Codec.decoding_table["178,225"] = [45005] let s:lib.Codec.decoding_table["178,226"] = [45006] let s:lib.Codec.decoding_table["178,227"] = [45012] let s:lib.Codec.decoding_table["178,228"] = [45020] let s:lib.Codec.decoding_table["178,229"] = [45032] let s:lib.Codec.decoding_table["178,230"] = [45033] let s:lib.Codec.decoding_table["178,231"] = [45040] let s:lib.Codec.decoding_table["178,232"] = [45041] let s:lib.Codec.decoding_table["178,233"] = [45044] let s:lib.Codec.decoding_table["178,234"] = [45048] let s:lib.Codec.decoding_table["178,235"] = [45056] let s:lib.Codec.decoding_table["178,236"] = [45057] let s:lib.Codec.decoding_table["178,237"] = [45060] let s:lib.Codec.decoding_table["178,238"] = [45068] let s:lib.Codec.decoding_table["178,239"] = [45072] let s:lib.Codec.decoding_table["178,240"] = [45076] let s:lib.Codec.decoding_table["178,241"] = [45084] let s:lib.Codec.decoding_table["178,242"] = [45085] let s:lib.Codec.decoding_table["178,243"] = [45096] let s:lib.Codec.decoding_table["178,244"] = [45124] let s:lib.Codec.decoding_table["178,245"] = [45125] let s:lib.Codec.decoding_table["178,246"] = [45128] let s:lib.Codec.decoding_table["178,247"] = [45130] let s:lib.Codec.decoding_table["178,248"] = [45132] let s:lib.Codec.decoding_table["178,249"] = [45134] let s:lib.Codec.decoding_table["178,250"] = [45139] let s:lib.Codec.decoding_table["178,251"] = [45140] let s:lib.Codec.decoding_table["178,252"] = [45141] let s:lib.Codec.decoding_table["178,253"] = [45143] let s:lib.Codec.decoding_table["178,254"] = [45145] let s:lib.Codec.decoding_table["179,65"] = [53196] let s:lib.Codec.decoding_table["179,66"] = [53197] let s:lib.Codec.decoding_table["179,67"] = [53198] let s:lib.Codec.decoding_table["179,68"] = [53199] let s:lib.Codec.decoding_table["179,69"] = [53200] let s:lib.Codec.decoding_table["179,70"] = [53201] let s:lib.Codec.decoding_table["179,71"] = [53202] let s:lib.Codec.decoding_table["179,72"] = [53203] let s:lib.Codec.decoding_table["179,73"] = [53204] let s:lib.Codec.decoding_table["179,74"] = [53205] let s:lib.Codec.decoding_table["179,75"] = [53206] let s:lib.Codec.decoding_table["179,76"] = [53207] let s:lib.Codec.decoding_table["179,77"] = [53208] let s:lib.Codec.decoding_table["179,78"] = [53209] let s:lib.Codec.decoding_table["179,79"] = [53210] let s:lib.Codec.decoding_table["179,80"] = [53211] let s:lib.Codec.decoding_table["179,81"] = [53212] let s:lib.Codec.decoding_table["179,82"] = [53213] let s:lib.Codec.decoding_table["179,83"] = [53214] let s:lib.Codec.decoding_table["179,84"] = [53215] let s:lib.Codec.decoding_table["179,85"] = [53218] let s:lib.Codec.decoding_table["179,86"] = [53219] let s:lib.Codec.decoding_table["179,87"] = [53221] let s:lib.Codec.decoding_table["179,88"] = [53222] let s:lib.Codec.decoding_table["179,89"] = [53223] let s:lib.Codec.decoding_table["179,90"] = [53225] let s:lib.Codec.decoding_table["179,97"] = [53226] let s:lib.Codec.decoding_table["179,98"] = [53227] let s:lib.Codec.decoding_table["179,99"] = [53228] let s:lib.Codec.decoding_table["179,100"] = [53229] let s:lib.Codec.decoding_table["179,101"] = [53230] let s:lib.Codec.decoding_table["179,102"] = [53231] let s:lib.Codec.decoding_table["179,103"] = [53234] let s:lib.Codec.decoding_table["179,104"] = [53236] let s:lib.Codec.decoding_table["179,105"] = [53238] let s:lib.Codec.decoding_table["179,106"] = [53239] let s:lib.Codec.decoding_table["179,107"] = [53240] let s:lib.Codec.decoding_table["179,108"] = [53241] let s:lib.Codec.decoding_table["179,109"] = [53242] let s:lib.Codec.decoding_table["179,110"] = [53243] let s:lib.Codec.decoding_table["179,111"] = [53245] let s:lib.Codec.decoding_table["179,112"] = [53246] let s:lib.Codec.decoding_table["179,113"] = [53247] let s:lib.Codec.decoding_table["179,114"] = [53249] let s:lib.Codec.decoding_table["179,115"] = [53250] let s:lib.Codec.decoding_table["179,116"] = [53251] let s:lib.Codec.decoding_table["179,117"] = [53253] let s:lib.Codec.decoding_table["179,118"] = [53254] let s:lib.Codec.decoding_table["179,119"] = [53255] let s:lib.Codec.decoding_table["179,120"] = [53256] let s:lib.Codec.decoding_table["179,121"] = [53257] let s:lib.Codec.decoding_table["179,122"] = [53258] let s:lib.Codec.decoding_table["179,129"] = [53259] let s:lib.Codec.decoding_table["179,130"] = [53260] let s:lib.Codec.decoding_table["179,131"] = [53261] let s:lib.Codec.decoding_table["179,132"] = [53262] let s:lib.Codec.decoding_table["179,133"] = [53263] let s:lib.Codec.decoding_table["179,134"] = [53264] let s:lib.Codec.decoding_table["179,135"] = [53266] let s:lib.Codec.decoding_table["179,136"] = [53267] let s:lib.Codec.decoding_table["179,137"] = [53268] let s:lib.Codec.decoding_table["179,138"] = [53269] let s:lib.Codec.decoding_table["179,139"] = [53270] let s:lib.Codec.decoding_table["179,140"] = [53271] let s:lib.Codec.decoding_table["179,141"] = [53273] let s:lib.Codec.decoding_table["179,142"] = [53274] let s:lib.Codec.decoding_table["179,143"] = [53275] let s:lib.Codec.decoding_table["179,144"] = [53276] let s:lib.Codec.decoding_table["179,145"] = [53277] let s:lib.Codec.decoding_table["179,146"] = [53278] let s:lib.Codec.decoding_table["179,147"] = [53279] let s:lib.Codec.decoding_table["179,148"] = [53280] let s:lib.Codec.decoding_table["179,149"] = [53281] let s:lib.Codec.decoding_table["179,150"] = [53282] let s:lib.Codec.decoding_table["179,151"] = [53283] let s:lib.Codec.decoding_table["179,152"] = [53284] let s:lib.Codec.decoding_table["179,153"] = [53285] let s:lib.Codec.decoding_table["179,154"] = [53286] let s:lib.Codec.decoding_table["179,155"] = [53287] let s:lib.Codec.decoding_table["179,156"] = [53288] let s:lib.Codec.decoding_table["179,157"] = [53289] let s:lib.Codec.decoding_table["179,158"] = [53290] let s:lib.Codec.decoding_table["179,159"] = [53291] let s:lib.Codec.decoding_table["179,160"] = [53292] let s:lib.Codec.decoding_table["179,161"] = [45149] let s:lib.Codec.decoding_table["179,162"] = [45180] let s:lib.Codec.decoding_table["179,163"] = [45181] let s:lib.Codec.decoding_table["179,164"] = [45184] let s:lib.Codec.decoding_table["179,165"] = [45188] let s:lib.Codec.decoding_table["179,166"] = [45196] let s:lib.Codec.decoding_table["179,167"] = [45197] let s:lib.Codec.decoding_table["179,168"] = [45199] let s:lib.Codec.decoding_table["179,169"] = [45201] let s:lib.Codec.decoding_table["179,170"] = [45208] let s:lib.Codec.decoding_table["179,171"] = [45209] let s:lib.Codec.decoding_table["179,172"] = [45210] let s:lib.Codec.decoding_table["179,173"] = [45212] let s:lib.Codec.decoding_table["179,174"] = [45215] let s:lib.Codec.decoding_table["179,175"] = [45216] let s:lib.Codec.decoding_table["179,176"] = [45217] let s:lib.Codec.decoding_table["179,177"] = [45218] let s:lib.Codec.decoding_table["179,178"] = [45224] let s:lib.Codec.decoding_table["179,179"] = [45225] let s:lib.Codec.decoding_table["179,180"] = [45227] let s:lib.Codec.decoding_table["179,181"] = [45228] let s:lib.Codec.decoding_table["179,182"] = [45229] let s:lib.Codec.decoding_table["179,183"] = [45230] let s:lib.Codec.decoding_table["179,184"] = [45231] let s:lib.Codec.decoding_table["179,185"] = [45233] let s:lib.Codec.decoding_table["179,186"] = [45235] let s:lib.Codec.decoding_table["179,187"] = [45236] let s:lib.Codec.decoding_table["179,188"] = [45237] let s:lib.Codec.decoding_table["179,189"] = [45240] let s:lib.Codec.decoding_table["179,190"] = [45244] let s:lib.Codec.decoding_table["179,191"] = [45252] let s:lib.Codec.decoding_table["179,192"] = [45253] let s:lib.Codec.decoding_table["179,193"] = [45255] let s:lib.Codec.decoding_table["179,194"] = [45256] let s:lib.Codec.decoding_table["179,195"] = [45257] let s:lib.Codec.decoding_table["179,196"] = [45264] let s:lib.Codec.decoding_table["179,197"] = [45265] let s:lib.Codec.decoding_table["179,198"] = [45268] let s:lib.Codec.decoding_table["179,199"] = [45272] let s:lib.Codec.decoding_table["179,200"] = [45280] let s:lib.Codec.decoding_table["179,201"] = [45285] let s:lib.Codec.decoding_table["179,202"] = [45320] let s:lib.Codec.decoding_table["179,203"] = [45321] let s:lib.Codec.decoding_table["179,204"] = [45323] let s:lib.Codec.decoding_table["179,205"] = [45324] let s:lib.Codec.decoding_table["179,206"] = [45328] let s:lib.Codec.decoding_table["179,207"] = [45330] let s:lib.Codec.decoding_table["179,208"] = [45331] let s:lib.Codec.decoding_table["179,209"] = [45336] let s:lib.Codec.decoding_table["179,210"] = [45337] let s:lib.Codec.decoding_table["179,211"] = [45339] let s:lib.Codec.decoding_table["179,212"] = [45340] let s:lib.Codec.decoding_table["179,213"] = [45341] let s:lib.Codec.decoding_table["179,214"] = [45347] let s:lib.Codec.decoding_table["179,215"] = [45348] let s:lib.Codec.decoding_table["179,216"] = [45349] let s:lib.Codec.decoding_table["179,217"] = [45352] let s:lib.Codec.decoding_table["179,218"] = [45356] let s:lib.Codec.decoding_table["179,219"] = [45364] let s:lib.Codec.decoding_table["179,220"] = [45365] let s:lib.Codec.decoding_table["179,221"] = [45367] let s:lib.Codec.decoding_table["179,222"] = [45368] let s:lib.Codec.decoding_table["179,223"] = [45369] let s:lib.Codec.decoding_table["179,224"] = [45376] let s:lib.Codec.decoding_table["179,225"] = [45377] let s:lib.Codec.decoding_table["179,226"] = [45380] let s:lib.Codec.decoding_table["179,227"] = [45384] let s:lib.Codec.decoding_table["179,228"] = [45392] let s:lib.Codec.decoding_table["179,229"] = [45393] let s:lib.Codec.decoding_table["179,230"] = [45396] let s:lib.Codec.decoding_table["179,231"] = [45397] let s:lib.Codec.decoding_table["179,232"] = [45400] let s:lib.Codec.decoding_table["179,233"] = [45404] let s:lib.Codec.decoding_table["179,234"] = [45408] let s:lib.Codec.decoding_table["179,235"] = [45432] let s:lib.Codec.decoding_table["179,236"] = [45433] let s:lib.Codec.decoding_table["179,237"] = [45436] let s:lib.Codec.decoding_table["179,238"] = [45440] let s:lib.Codec.decoding_table["179,239"] = [45442] let s:lib.Codec.decoding_table["179,240"] = [45448] let s:lib.Codec.decoding_table["179,241"] = [45449] let s:lib.Codec.decoding_table["179,242"] = [45451] let s:lib.Codec.decoding_table["179,243"] = [45453] let s:lib.Codec.decoding_table["179,244"] = [45458] let s:lib.Codec.decoding_table["179,245"] = [45459] let s:lib.Codec.decoding_table["179,246"] = [45460] let s:lib.Codec.decoding_table["179,247"] = [45464] let s:lib.Codec.decoding_table["179,248"] = [45468] let s:lib.Codec.decoding_table["179,249"] = [45480] let s:lib.Codec.decoding_table["179,250"] = [45516] let s:lib.Codec.decoding_table["179,251"] = [45520] let s:lib.Codec.decoding_table["179,252"] = [45524] let s:lib.Codec.decoding_table["179,253"] = [45532] let s:lib.Codec.decoding_table["179,254"] = [45533] let s:lib.Codec.decoding_table["180,65"] = [53294] let s:lib.Codec.decoding_table["180,66"] = [53295] let s:lib.Codec.decoding_table["180,67"] = [53296] let s:lib.Codec.decoding_table["180,68"] = [53297] let s:lib.Codec.decoding_table["180,69"] = [53298] let s:lib.Codec.decoding_table["180,70"] = [53299] let s:lib.Codec.decoding_table["180,71"] = [53302] let s:lib.Codec.decoding_table["180,72"] = [53303] let s:lib.Codec.decoding_table["180,73"] = [53305] let s:lib.Codec.decoding_table["180,74"] = [53306] let s:lib.Codec.decoding_table["180,75"] = [53307] let s:lib.Codec.decoding_table["180,76"] = [53309] let s:lib.Codec.decoding_table["180,77"] = [53310] let s:lib.Codec.decoding_table["180,78"] = [53311] let s:lib.Codec.decoding_table["180,79"] = [53312] let s:lib.Codec.decoding_table["180,80"] = [53313] let s:lib.Codec.decoding_table["180,81"] = [53314] let s:lib.Codec.decoding_table["180,82"] = [53315] let s:lib.Codec.decoding_table["180,83"] = [53318] let s:lib.Codec.decoding_table["180,84"] = [53320] let s:lib.Codec.decoding_table["180,85"] = [53322] let s:lib.Codec.decoding_table["180,86"] = [53323] let s:lib.Codec.decoding_table["180,87"] = [53324] let s:lib.Codec.decoding_table["180,88"] = [53325] let s:lib.Codec.decoding_table["180,89"] = [53326] let s:lib.Codec.decoding_table["180,90"] = [53327] let s:lib.Codec.decoding_table["180,97"] = [53329] let s:lib.Codec.decoding_table["180,98"] = [53330] let s:lib.Codec.decoding_table["180,99"] = [53331] let s:lib.Codec.decoding_table["180,100"] = [53333] let s:lib.Codec.decoding_table["180,101"] = [53334] let s:lib.Codec.decoding_table["180,102"] = [53335] let s:lib.Codec.decoding_table["180,103"] = [53337] let s:lib.Codec.decoding_table["180,104"] = [53338] let s:lib.Codec.decoding_table["180,105"] = [53339] let s:lib.Codec.decoding_table["180,106"] = [53340] let s:lib.Codec.decoding_table["180,107"] = [53341] let s:lib.Codec.decoding_table["180,108"] = [53342] let s:lib.Codec.decoding_table["180,109"] = [53343] let s:lib.Codec.decoding_table["180,110"] = [53345] let s:lib.Codec.decoding_table["180,111"] = [53346] let s:lib.Codec.decoding_table["180,112"] = [53347] let s:lib.Codec.decoding_table["180,113"] = [53348] let s:lib.Codec.decoding_table["180,114"] = [53349] let s:lib.Codec.decoding_table["180,115"] = [53350] let s:lib.Codec.decoding_table["180,116"] = [53351] let s:lib.Codec.decoding_table["180,117"] = [53352] let s:lib.Codec.decoding_table["180,118"] = [53353] let s:lib.Codec.decoding_table["180,119"] = [53354] let s:lib.Codec.decoding_table["180,120"] = [53355] let s:lib.Codec.decoding_table["180,121"] = [53358] let s:lib.Codec.decoding_table["180,122"] = [53359] let s:lib.Codec.decoding_table["180,129"] = [53361] let s:lib.Codec.decoding_table["180,130"] = [53362] let s:lib.Codec.decoding_table["180,131"] = [53363] let s:lib.Codec.decoding_table["180,132"] = [53365] let s:lib.Codec.decoding_table["180,133"] = [53366] let s:lib.Codec.decoding_table["180,134"] = [53367] let s:lib.Codec.decoding_table["180,135"] = [53368] let s:lib.Codec.decoding_table["180,136"] = [53369] let s:lib.Codec.decoding_table["180,137"] = [53370] let s:lib.Codec.decoding_table["180,138"] = [53371] let s:lib.Codec.decoding_table["180,139"] = [53374] let s:lib.Codec.decoding_table["180,140"] = [53375] let s:lib.Codec.decoding_table["180,141"] = [53376] let s:lib.Codec.decoding_table["180,142"] = [53378] let s:lib.Codec.decoding_table["180,143"] = [53379] let s:lib.Codec.decoding_table["180,144"] = [53380] let s:lib.Codec.decoding_table["180,145"] = [53381] let s:lib.Codec.decoding_table["180,146"] = [53382] let s:lib.Codec.decoding_table["180,147"] = [53383] let s:lib.Codec.decoding_table["180,148"] = [53384] let s:lib.Codec.decoding_table["180,149"] = [53385] let s:lib.Codec.decoding_table["180,150"] = [53386] let s:lib.Codec.decoding_table["180,151"] = [53387] let s:lib.Codec.decoding_table["180,152"] = [53388] let s:lib.Codec.decoding_table["180,153"] = [53389] let s:lib.Codec.decoding_table["180,154"] = [53390] let s:lib.Codec.decoding_table["180,155"] = [53391] let s:lib.Codec.decoding_table["180,156"] = [53392] let s:lib.Codec.decoding_table["180,157"] = [53393] let s:lib.Codec.decoding_table["180,158"] = [53394] let s:lib.Codec.decoding_table["180,159"] = [53395] let s:lib.Codec.decoding_table["180,160"] = [53396] let s:lib.Codec.decoding_table["180,161"] = [45535] let s:lib.Codec.decoding_table["180,162"] = [45544] let s:lib.Codec.decoding_table["180,163"] = [45545] let s:lib.Codec.decoding_table["180,164"] = [45548] let s:lib.Codec.decoding_table["180,165"] = [45552] let s:lib.Codec.decoding_table["180,166"] = [45561] let s:lib.Codec.decoding_table["180,167"] = [45563] let s:lib.Codec.decoding_table["180,168"] = [45565] let s:lib.Codec.decoding_table["180,169"] = [45572] let s:lib.Codec.decoding_table["180,170"] = [45573] let s:lib.Codec.decoding_table["180,171"] = [45576] let s:lib.Codec.decoding_table["180,172"] = [45579] let s:lib.Codec.decoding_table["180,173"] = [45580] let s:lib.Codec.decoding_table["180,174"] = [45588] let s:lib.Codec.decoding_table["180,175"] = [45589] let s:lib.Codec.decoding_table["180,176"] = [45591] let s:lib.Codec.decoding_table["180,177"] = [45593] let s:lib.Codec.decoding_table["180,178"] = [45600] let s:lib.Codec.decoding_table["180,179"] = [45620] let s:lib.Codec.decoding_table["180,180"] = [45628] let s:lib.Codec.decoding_table["180,181"] = [45656] let s:lib.Codec.decoding_table["180,182"] = [45660] let s:lib.Codec.decoding_table["180,183"] = [45664] let s:lib.Codec.decoding_table["180,184"] = [45672] let s:lib.Codec.decoding_table["180,185"] = [45673] let s:lib.Codec.decoding_table["180,186"] = [45684] let s:lib.Codec.decoding_table["180,187"] = [45685] let s:lib.Codec.decoding_table["180,188"] = [45692] let s:lib.Codec.decoding_table["180,189"] = [45700] let s:lib.Codec.decoding_table["180,190"] = [45701] let s:lib.Codec.decoding_table["180,191"] = [45705] let s:lib.Codec.decoding_table["180,192"] = [45712] let s:lib.Codec.decoding_table["180,193"] = [45713] let s:lib.Codec.decoding_table["180,194"] = [45716] let s:lib.Codec.decoding_table["180,195"] = [45720] let s:lib.Codec.decoding_table["180,196"] = [45721] let s:lib.Codec.decoding_table["180,197"] = [45722] let s:lib.Codec.decoding_table["180,198"] = [45728] let s:lib.Codec.decoding_table["180,199"] = [45729] let s:lib.Codec.decoding_table["180,200"] = [45731] let s:lib.Codec.decoding_table["180,201"] = [45733] let s:lib.Codec.decoding_table["180,202"] = [45734] let s:lib.Codec.decoding_table["180,203"] = [45738] let s:lib.Codec.decoding_table["180,204"] = [45740] let s:lib.Codec.decoding_table["180,205"] = [45744] let s:lib.Codec.decoding_table["180,206"] = [45748] let s:lib.Codec.decoding_table["180,207"] = [45768] let s:lib.Codec.decoding_table["180,208"] = [45769] let s:lib.Codec.decoding_table["180,209"] = [45772] let s:lib.Codec.decoding_table["180,210"] = [45776] let s:lib.Codec.decoding_table["180,211"] = [45778] let s:lib.Codec.decoding_table["180,212"] = [45784] let s:lib.Codec.decoding_table["180,213"] = [45785] let s:lib.Codec.decoding_table["180,214"] = [45787] let s:lib.Codec.decoding_table["180,215"] = [45789] let s:lib.Codec.decoding_table["180,216"] = [45794] let s:lib.Codec.decoding_table["180,217"] = [45796] let s:lib.Codec.decoding_table["180,218"] = [45797] let s:lib.Codec.decoding_table["180,219"] = [45798] let s:lib.Codec.decoding_table["180,220"] = [45800] let s:lib.Codec.decoding_table["180,221"] = [45803] let s:lib.Codec.decoding_table["180,222"] = [45804] let s:lib.Codec.decoding_table["180,223"] = [45805] let s:lib.Codec.decoding_table["180,224"] = [45806] let s:lib.Codec.decoding_table["180,225"] = [45807] let s:lib.Codec.decoding_table["180,226"] = [45811] let s:lib.Codec.decoding_table["180,227"] = [45812] let s:lib.Codec.decoding_table["180,228"] = [45813] let s:lib.Codec.decoding_table["180,229"] = [45815] let s:lib.Codec.decoding_table["180,230"] = [45816] let s:lib.Codec.decoding_table["180,231"] = [45817] let s:lib.Codec.decoding_table["180,232"] = [45818] let s:lib.Codec.decoding_table["180,233"] = [45819] let s:lib.Codec.decoding_table["180,234"] = [45823] let s:lib.Codec.decoding_table["180,235"] = [45824] let s:lib.Codec.decoding_table["180,236"] = [45825] let s:lib.Codec.decoding_table["180,237"] = [45828] let s:lib.Codec.decoding_table["180,238"] = [45832] let s:lib.Codec.decoding_table["180,239"] = [45840] let s:lib.Codec.decoding_table["180,240"] = [45841] let s:lib.Codec.decoding_table["180,241"] = [45843] let s:lib.Codec.decoding_table["180,242"] = [45844] let s:lib.Codec.decoding_table["180,243"] = [45845] let s:lib.Codec.decoding_table["180,244"] = [45852] let s:lib.Codec.decoding_table["180,245"] = [45908] let s:lib.Codec.decoding_table["180,246"] = [45909] let s:lib.Codec.decoding_table["180,247"] = [45910] let s:lib.Codec.decoding_table["180,248"] = [45912] let s:lib.Codec.decoding_table["180,249"] = [45915] let s:lib.Codec.decoding_table["180,250"] = [45916] let s:lib.Codec.decoding_table["180,251"] = [45918] let s:lib.Codec.decoding_table["180,252"] = [45919] let s:lib.Codec.decoding_table["180,253"] = [45924] let s:lib.Codec.decoding_table["180,254"] = [45925] let s:lib.Codec.decoding_table["181,65"] = [53397] let s:lib.Codec.decoding_table["181,66"] = [53398] let s:lib.Codec.decoding_table["181,67"] = [53399] let s:lib.Codec.decoding_table["181,68"] = [53400] let s:lib.Codec.decoding_table["181,69"] = [53401] let s:lib.Codec.decoding_table["181,70"] = [53402] let s:lib.Codec.decoding_table["181,71"] = [53403] let s:lib.Codec.decoding_table["181,72"] = [53404] let s:lib.Codec.decoding_table["181,73"] = [53405] let s:lib.Codec.decoding_table["181,74"] = [53406] let s:lib.Codec.decoding_table["181,75"] = [53407] let s:lib.Codec.decoding_table["181,76"] = [53408] let s:lib.Codec.decoding_table["181,77"] = [53409] let s:lib.Codec.decoding_table["181,78"] = [53410] let s:lib.Codec.decoding_table["181,79"] = [53411] let s:lib.Codec.decoding_table["181,80"] = [53414] let s:lib.Codec.decoding_table["181,81"] = [53415] let s:lib.Codec.decoding_table["181,82"] = [53417] let s:lib.Codec.decoding_table["181,83"] = [53418] let s:lib.Codec.decoding_table["181,84"] = [53419] let s:lib.Codec.decoding_table["181,85"] = [53421] let s:lib.Codec.decoding_table["181,86"] = [53422] let s:lib.Codec.decoding_table["181,87"] = [53423] let s:lib.Codec.decoding_table["181,88"] = [53424] let s:lib.Codec.decoding_table["181,89"] = [53425] let s:lib.Codec.decoding_table["181,90"] = [53426] let s:lib.Codec.decoding_table["181,97"] = [53427] let s:lib.Codec.decoding_table["181,98"] = [53430] let s:lib.Codec.decoding_table["181,99"] = [53432] let s:lib.Codec.decoding_table["181,100"] = [53434] let s:lib.Codec.decoding_table["181,101"] = [53435] let s:lib.Codec.decoding_table["181,102"] = [53436] let s:lib.Codec.decoding_table["181,103"] = [53437] let s:lib.Codec.decoding_table["181,104"] = [53438] let s:lib.Codec.decoding_table["181,105"] = [53439] let s:lib.Codec.decoding_table["181,106"] = [53442] let s:lib.Codec.decoding_table["181,107"] = [53443] let s:lib.Codec.decoding_table["181,108"] = [53445] let s:lib.Codec.decoding_table["181,109"] = [53446] let s:lib.Codec.decoding_table["181,110"] = [53447] let s:lib.Codec.decoding_table["181,111"] = [53450] let s:lib.Codec.decoding_table["181,112"] = [53451] let s:lib.Codec.decoding_table["181,113"] = [53452] let s:lib.Codec.decoding_table["181,114"] = [53453] let s:lib.Codec.decoding_table["181,115"] = [53454] let s:lib.Codec.decoding_table["181,116"] = [53455] let s:lib.Codec.decoding_table["181,117"] = [53458] let s:lib.Codec.decoding_table["181,118"] = [53462] let s:lib.Codec.decoding_table["181,119"] = [53463] let s:lib.Codec.decoding_table["181,120"] = [53464] let s:lib.Codec.decoding_table["181,121"] = [53465] let s:lib.Codec.decoding_table["181,122"] = [53466] let s:lib.Codec.decoding_table["181,129"] = [53467] let s:lib.Codec.decoding_table["181,130"] = [53470] let s:lib.Codec.decoding_table["181,131"] = [53471] let s:lib.Codec.decoding_table["181,132"] = [53473] let s:lib.Codec.decoding_table["181,133"] = [53474] let s:lib.Codec.decoding_table["181,134"] = [53475] let s:lib.Codec.decoding_table["181,135"] = [53477] let s:lib.Codec.decoding_table["181,136"] = [53478] let s:lib.Codec.decoding_table["181,137"] = [53479] let s:lib.Codec.decoding_table["181,138"] = [53480] let s:lib.Codec.decoding_table["181,139"] = [53481] let s:lib.Codec.decoding_table["181,140"] = [53482] let s:lib.Codec.decoding_table["181,141"] = [53483] let s:lib.Codec.decoding_table["181,142"] = [53486] let s:lib.Codec.decoding_table["181,143"] = [53490] let s:lib.Codec.decoding_table["181,144"] = [53491] let s:lib.Codec.decoding_table["181,145"] = [53492] let s:lib.Codec.decoding_table["181,146"] = [53493] let s:lib.Codec.decoding_table["181,147"] = [53494] let s:lib.Codec.decoding_table["181,148"] = [53495] let s:lib.Codec.decoding_table["181,149"] = [53497] let s:lib.Codec.decoding_table["181,150"] = [53498] let s:lib.Codec.decoding_table["181,151"] = [53499] let s:lib.Codec.decoding_table["181,152"] = [53500] let s:lib.Codec.decoding_table["181,153"] = [53501] let s:lib.Codec.decoding_table["181,154"] = [53502] let s:lib.Codec.decoding_table["181,155"] = [53503] let s:lib.Codec.decoding_table["181,156"] = [53504] let s:lib.Codec.decoding_table["181,157"] = [53505] let s:lib.Codec.decoding_table["181,158"] = [53506] let s:lib.Codec.decoding_table["181,159"] = [53507] let s:lib.Codec.decoding_table["181,160"] = [53508] let s:lib.Codec.decoding_table["181,161"] = [45927] let s:lib.Codec.decoding_table["181,162"] = [45929] let s:lib.Codec.decoding_table["181,163"] = [45931] let s:lib.Codec.decoding_table["181,164"] = [45934] let s:lib.Codec.decoding_table["181,165"] = [45936] let s:lib.Codec.decoding_table["181,166"] = [45937] let s:lib.Codec.decoding_table["181,167"] = [45940] let s:lib.Codec.decoding_table["181,168"] = [45944] let s:lib.Codec.decoding_table["181,169"] = [45952] let s:lib.Codec.decoding_table["181,170"] = [45953] let s:lib.Codec.decoding_table["181,171"] = [45955] let s:lib.Codec.decoding_table["181,172"] = [45956] let s:lib.Codec.decoding_table["181,173"] = [45957] let s:lib.Codec.decoding_table["181,174"] = [45964] let s:lib.Codec.decoding_table["181,175"] = [45968] let s:lib.Codec.decoding_table["181,176"] = [45972] let s:lib.Codec.decoding_table["181,177"] = [45984] let s:lib.Codec.decoding_table["181,178"] = [45985] let s:lib.Codec.decoding_table["181,179"] = [45992] let s:lib.Codec.decoding_table["181,180"] = [45996] let s:lib.Codec.decoding_table["181,181"] = [46020] let s:lib.Codec.decoding_table["181,182"] = [46021] let s:lib.Codec.decoding_table["181,183"] = [46024] let s:lib.Codec.decoding_table["181,184"] = [46027] let s:lib.Codec.decoding_table["181,185"] = [46028] let s:lib.Codec.decoding_table["181,186"] = [46030] let s:lib.Codec.decoding_table["181,187"] = [46032] let s:lib.Codec.decoding_table["181,188"] = [46036] let s:lib.Codec.decoding_table["181,189"] = [46037] let s:lib.Codec.decoding_table["181,190"] = [46039] let s:lib.Codec.decoding_table["181,191"] = [46041] let s:lib.Codec.decoding_table["181,192"] = [46043] let s:lib.Codec.decoding_table["181,193"] = [46045] let s:lib.Codec.decoding_table["181,194"] = [46048] let s:lib.Codec.decoding_table["181,195"] = [46052] let s:lib.Codec.decoding_table["181,196"] = [46056] let s:lib.Codec.decoding_table["181,197"] = [46076] let s:lib.Codec.decoding_table["181,198"] = [46096] let s:lib.Codec.decoding_table["181,199"] = [46104] let s:lib.Codec.decoding_table["181,200"] = [46108] let s:lib.Codec.decoding_table["181,201"] = [46112] let s:lib.Codec.decoding_table["181,202"] = [46120] let s:lib.Codec.decoding_table["181,203"] = [46121] let s:lib.Codec.decoding_table["181,204"] = [46123] let s:lib.Codec.decoding_table["181,205"] = [46132] let s:lib.Codec.decoding_table["181,206"] = [46160] let s:lib.Codec.decoding_table["181,207"] = [46161] let s:lib.Codec.decoding_table["181,208"] = [46164] let s:lib.Codec.decoding_table["181,209"] = [46168] let s:lib.Codec.decoding_table["181,210"] = [46176] let s:lib.Codec.decoding_table["181,211"] = [46177] let s:lib.Codec.decoding_table["181,212"] = [46179] let s:lib.Codec.decoding_table["181,213"] = [46181] let s:lib.Codec.decoding_table["181,214"] = [46188] let s:lib.Codec.decoding_table["181,215"] = [46208] let s:lib.Codec.decoding_table["181,216"] = [46216] let s:lib.Codec.decoding_table["181,217"] = [46237] let s:lib.Codec.decoding_table["181,218"] = [46244] let s:lib.Codec.decoding_table["181,219"] = [46248] let s:lib.Codec.decoding_table["181,220"] = [46252] let s:lib.Codec.decoding_table["181,221"] = [46261] let s:lib.Codec.decoding_table["181,222"] = [46263] let s:lib.Codec.decoding_table["181,223"] = [46265] let s:lib.Codec.decoding_table["181,224"] = [46272] let s:lib.Codec.decoding_table["181,225"] = [46276] let s:lib.Codec.decoding_table["181,226"] = [46280] let s:lib.Codec.decoding_table["181,227"] = [46288] let s:lib.Codec.decoding_table["181,228"] = [46293] let s:lib.Codec.decoding_table["181,229"] = [46300] let s:lib.Codec.decoding_table["181,230"] = [46301] let s:lib.Codec.decoding_table["181,231"] = [46304] let s:lib.Codec.decoding_table["181,232"] = [46307] let s:lib.Codec.decoding_table["181,233"] = [46308] let s:lib.Codec.decoding_table["181,234"] = [46310] let s:lib.Codec.decoding_table["181,235"] = [46316] let s:lib.Codec.decoding_table["181,236"] = [46317] let s:lib.Codec.decoding_table["181,237"] = [46319] let s:lib.Codec.decoding_table["181,238"] = [46321] let s:lib.Codec.decoding_table["181,239"] = [46328] let s:lib.Codec.decoding_table["181,240"] = [46356] let s:lib.Codec.decoding_table["181,241"] = [46357] let s:lib.Codec.decoding_table["181,242"] = [46360] let s:lib.Codec.decoding_table["181,243"] = [46363] let s:lib.Codec.decoding_table["181,244"] = [46364] let s:lib.Codec.decoding_table["181,245"] = [46372] let s:lib.Codec.decoding_table["181,246"] = [46373] let s:lib.Codec.decoding_table["181,247"] = [46375] let s:lib.Codec.decoding_table["181,248"] = [46376] let s:lib.Codec.decoding_table["181,249"] = [46377] let s:lib.Codec.decoding_table["181,250"] = [46378] let s:lib.Codec.decoding_table["181,251"] = [46384] let s:lib.Codec.decoding_table["181,252"] = [46385] let s:lib.Codec.decoding_table["181,253"] = [46388] let s:lib.Codec.decoding_table["181,254"] = [46392] let s:lib.Codec.decoding_table["182,65"] = [53509] let s:lib.Codec.decoding_table["182,66"] = [53510] let s:lib.Codec.decoding_table["182,67"] = [53511] let s:lib.Codec.decoding_table["182,68"] = [53512] let s:lib.Codec.decoding_table["182,69"] = [53513] let s:lib.Codec.decoding_table["182,70"] = [53514] let s:lib.Codec.decoding_table["182,71"] = [53515] let s:lib.Codec.decoding_table["182,72"] = [53516] let s:lib.Codec.decoding_table["182,73"] = [53518] let s:lib.Codec.decoding_table["182,74"] = [53519] let s:lib.Codec.decoding_table["182,75"] = [53520] let s:lib.Codec.decoding_table["182,76"] = [53521] let s:lib.Codec.decoding_table["182,77"] = [53522] let s:lib.Codec.decoding_table["182,78"] = [53523] let s:lib.Codec.decoding_table["182,79"] = [53524] let s:lib.Codec.decoding_table["182,80"] = [53525] let s:lib.Codec.decoding_table["182,81"] = [53526] let s:lib.Codec.decoding_table["182,82"] = [53527] let s:lib.Codec.decoding_table["182,83"] = [53528] let s:lib.Codec.decoding_table["182,84"] = [53529] let s:lib.Codec.decoding_table["182,85"] = [53530] let s:lib.Codec.decoding_table["182,86"] = [53531] let s:lib.Codec.decoding_table["182,87"] = [53532] let s:lib.Codec.decoding_table["182,88"] = [53533] let s:lib.Codec.decoding_table["182,89"] = [53534] let s:lib.Codec.decoding_table["182,90"] = [53535] let s:lib.Codec.decoding_table["182,97"] = [53536] let s:lib.Codec.decoding_table["182,98"] = [53537] let s:lib.Codec.decoding_table["182,99"] = [53538] let s:lib.Codec.decoding_table["182,100"] = [53539] let s:lib.Codec.decoding_table["182,101"] = [53540] let s:lib.Codec.decoding_table["182,102"] = [53541] let s:lib.Codec.decoding_table["182,103"] = [53542] let s:lib.Codec.decoding_table["182,104"] = [53543] let s:lib.Codec.decoding_table["182,105"] = [53544] let s:lib.Codec.decoding_table["182,106"] = [53545] let s:lib.Codec.decoding_table["182,107"] = [53546] let s:lib.Codec.decoding_table["182,108"] = [53547] let s:lib.Codec.decoding_table["182,109"] = [53548] let s:lib.Codec.decoding_table["182,110"] = [53549] let s:lib.Codec.decoding_table["182,111"] = [53550] let s:lib.Codec.decoding_table["182,112"] = [53551] let s:lib.Codec.decoding_table["182,113"] = [53554] let s:lib.Codec.decoding_table["182,114"] = [53555] let s:lib.Codec.decoding_table["182,115"] = [53557] let s:lib.Codec.decoding_table["182,116"] = [53558] let s:lib.Codec.decoding_table["182,117"] = [53559] let s:lib.Codec.decoding_table["182,118"] = [53561] let s:lib.Codec.decoding_table["182,119"] = [53563] let s:lib.Codec.decoding_table["182,120"] = [53564] let s:lib.Codec.decoding_table["182,121"] = [53565] let s:lib.Codec.decoding_table["182,122"] = [53566] let s:lib.Codec.decoding_table["182,129"] = [53567] let s:lib.Codec.decoding_table["182,130"] = [53570] let s:lib.Codec.decoding_table["182,131"] = [53574] let s:lib.Codec.decoding_table["182,132"] = [53575] let s:lib.Codec.decoding_table["182,133"] = [53576] let s:lib.Codec.decoding_table["182,134"] = [53577] let s:lib.Codec.decoding_table["182,135"] = [53578] let s:lib.Codec.decoding_table["182,136"] = [53579] let s:lib.Codec.decoding_table["182,137"] = [53582] let s:lib.Codec.decoding_table["182,138"] = [53583] let s:lib.Codec.decoding_table["182,139"] = [53585] let s:lib.Codec.decoding_table["182,140"] = [53586] let s:lib.Codec.decoding_table["182,141"] = [53587] let s:lib.Codec.decoding_table["182,142"] = [53589] let s:lib.Codec.decoding_table["182,143"] = [53590] let s:lib.Codec.decoding_table["182,144"] = [53591] let s:lib.Codec.decoding_table["182,145"] = [53592] let s:lib.Codec.decoding_table["182,146"] = [53593] let s:lib.Codec.decoding_table["182,147"] = [53594] let s:lib.Codec.decoding_table["182,148"] = [53595] let s:lib.Codec.decoding_table["182,149"] = [53598] let s:lib.Codec.decoding_table["182,150"] = [53600] let s:lib.Codec.decoding_table["182,151"] = [53602] let s:lib.Codec.decoding_table["182,152"] = [53603] let s:lib.Codec.decoding_table["182,153"] = [53604] let s:lib.Codec.decoding_table["182,154"] = [53605] let s:lib.Codec.decoding_table["182,155"] = [53606] let s:lib.Codec.decoding_table["182,156"] = [53607] let s:lib.Codec.decoding_table["182,157"] = [53609] let s:lib.Codec.decoding_table["182,158"] = [53610] let s:lib.Codec.decoding_table["182,159"] = [53611] let s:lib.Codec.decoding_table["182,160"] = [53613] let s:lib.Codec.decoding_table["182,161"] = [46400] let s:lib.Codec.decoding_table["182,162"] = [46401] let s:lib.Codec.decoding_table["182,163"] = [46403] let s:lib.Codec.decoding_table["182,164"] = [46404] let s:lib.Codec.decoding_table["182,165"] = [46405] let s:lib.Codec.decoding_table["182,166"] = [46411] let s:lib.Codec.decoding_table["182,167"] = [46412] let s:lib.Codec.decoding_table["182,168"] = [46413] let s:lib.Codec.decoding_table["182,169"] = [46416] let s:lib.Codec.decoding_table["182,170"] = [46420] let s:lib.Codec.decoding_table["182,171"] = [46428] let s:lib.Codec.decoding_table["182,172"] = [46429] let s:lib.Codec.decoding_table["182,173"] = [46431] let s:lib.Codec.decoding_table["182,174"] = [46432] let s:lib.Codec.decoding_table["182,175"] = [46433] let s:lib.Codec.decoding_table["182,176"] = [46496] let s:lib.Codec.decoding_table["182,177"] = [46497] let s:lib.Codec.decoding_table["182,178"] = [46500] let s:lib.Codec.decoding_table["182,179"] = [46504] let s:lib.Codec.decoding_table["182,180"] = [46506] let s:lib.Codec.decoding_table["182,181"] = [46507] let s:lib.Codec.decoding_table["182,182"] = [46512] let s:lib.Codec.decoding_table["182,183"] = [46513] let s:lib.Codec.decoding_table["182,184"] = [46515] let s:lib.Codec.decoding_table["182,185"] = [46516] let s:lib.Codec.decoding_table["182,186"] = [46517] let s:lib.Codec.decoding_table["182,187"] = [46523] let s:lib.Codec.decoding_table["182,188"] = [46524] let s:lib.Codec.decoding_table["182,189"] = [46525] let s:lib.Codec.decoding_table["182,190"] = [46528] let s:lib.Codec.decoding_table["182,191"] = [46532] let s:lib.Codec.decoding_table["182,192"] = [46540] let s:lib.Codec.decoding_table["182,193"] = [46541] let s:lib.Codec.decoding_table["182,194"] = [46543] let s:lib.Codec.decoding_table["182,195"] = [46544] let s:lib.Codec.decoding_table["182,196"] = [46545] let s:lib.Codec.decoding_table["182,197"] = [46552] let s:lib.Codec.decoding_table["182,198"] = [46572] let s:lib.Codec.decoding_table["182,199"] = [46608] let s:lib.Codec.decoding_table["182,200"] = [46609] let s:lib.Codec.decoding_table["182,201"] = [46612] let s:lib.Codec.decoding_table["182,202"] = [46616] let s:lib.Codec.decoding_table["182,203"] = [46629] let s:lib.Codec.decoding_table["182,204"] = [46636] let s:lib.Codec.decoding_table["182,205"] = [46644] let s:lib.Codec.decoding_table["182,206"] = [46664] let s:lib.Codec.decoding_table["182,207"] = [46692] let s:lib.Codec.decoding_table["182,208"] = [46696] let s:lib.Codec.decoding_table["182,209"] = [46748] let s:lib.Codec.decoding_table["182,210"] = [46749] let s:lib.Codec.decoding_table["182,211"] = [46752] let s:lib.Codec.decoding_table["182,212"] = [46756] let s:lib.Codec.decoding_table["182,213"] = [46763] let s:lib.Codec.decoding_table["182,214"] = [46764] let s:lib.Codec.decoding_table["182,215"] = [46769] let s:lib.Codec.decoding_table["182,216"] = [46804] let s:lib.Codec.decoding_table["182,217"] = [46832] let s:lib.Codec.decoding_table["182,218"] = [46836] let s:lib.Codec.decoding_table["182,219"] = [46840] let s:lib.Codec.decoding_table["182,220"] = [46848] let s:lib.Codec.decoding_table["182,221"] = [46849] let s:lib.Codec.decoding_table["182,222"] = [46853] let s:lib.Codec.decoding_table["182,223"] = [46888] let s:lib.Codec.decoding_table["182,224"] = [46889] let s:lib.Codec.decoding_table["182,225"] = [46892] let s:lib.Codec.decoding_table["182,226"] = [46895] let s:lib.Codec.decoding_table["182,227"] = [46896] let s:lib.Codec.decoding_table["182,228"] = [46904] let s:lib.Codec.decoding_table["182,229"] = [46905] let s:lib.Codec.decoding_table["182,230"] = [46907] let s:lib.Codec.decoding_table["182,231"] = [46916] let s:lib.Codec.decoding_table["182,232"] = [46920] let s:lib.Codec.decoding_table["182,233"] = [46924] let s:lib.Codec.decoding_table["182,234"] = [46932] let s:lib.Codec.decoding_table["182,235"] = [46933] let s:lib.Codec.decoding_table["182,236"] = [46944] let s:lib.Codec.decoding_table["182,237"] = [46948] let s:lib.Codec.decoding_table["182,238"] = [46952] let s:lib.Codec.decoding_table["182,239"] = [46960] let s:lib.Codec.decoding_table["182,240"] = [46961] let s:lib.Codec.decoding_table["182,241"] = [46963] let s:lib.Codec.decoding_table["182,242"] = [46965] let s:lib.Codec.decoding_table["182,243"] = [46972] let s:lib.Codec.decoding_table["182,244"] = [46973] let s:lib.Codec.decoding_table["182,245"] = [46976] let s:lib.Codec.decoding_table["182,246"] = [46980] let s:lib.Codec.decoding_table["182,247"] = [46988] let s:lib.Codec.decoding_table["182,248"] = [46989] let s:lib.Codec.decoding_table["182,249"] = [46991] let s:lib.Codec.decoding_table["182,250"] = [46992] let s:lib.Codec.decoding_table["182,251"] = [46993] let s:lib.Codec.decoding_table["182,252"] = [46994] let s:lib.Codec.decoding_table["182,253"] = [46998] let s:lib.Codec.decoding_table["182,254"] = [46999] let s:lib.Codec.decoding_table["183,65"] = [53614] let s:lib.Codec.decoding_table["183,66"] = [53615] let s:lib.Codec.decoding_table["183,67"] = [53616] let s:lib.Codec.decoding_table["183,68"] = [53617] let s:lib.Codec.decoding_table["183,69"] = [53618] let s:lib.Codec.decoding_table["183,70"] = [53619] let s:lib.Codec.decoding_table["183,71"] = [53620] let s:lib.Codec.decoding_table["183,72"] = [53621] let s:lib.Codec.decoding_table["183,73"] = [53622] let s:lib.Codec.decoding_table["183,74"] = [53623] let s:lib.Codec.decoding_table["183,75"] = [53624] let s:lib.Codec.decoding_table["183,76"] = [53625] let s:lib.Codec.decoding_table["183,77"] = [53626] let s:lib.Codec.decoding_table["183,78"] = [53627] let s:lib.Codec.decoding_table["183,79"] = [53629] let s:lib.Codec.decoding_table["183,80"] = [53630] let s:lib.Codec.decoding_table["183,81"] = [53631] let s:lib.Codec.decoding_table["183,82"] = [53632] let s:lib.Codec.decoding_table["183,83"] = [53633] let s:lib.Codec.decoding_table["183,84"] = [53634] let s:lib.Codec.decoding_table["183,85"] = [53635] let s:lib.Codec.decoding_table["183,86"] = [53637] let s:lib.Codec.decoding_table["183,87"] = [53638] let s:lib.Codec.decoding_table["183,88"] = [53639] let s:lib.Codec.decoding_table["183,89"] = [53641] let s:lib.Codec.decoding_table["183,90"] = [53642] let s:lib.Codec.decoding_table["183,97"] = [53643] let s:lib.Codec.decoding_table["183,98"] = [53644] let s:lib.Codec.decoding_table["183,99"] = [53645] let s:lib.Codec.decoding_table["183,100"] = [53646] let s:lib.Codec.decoding_table["183,101"] = [53647] let s:lib.Codec.decoding_table["183,102"] = [53648] let s:lib.Codec.decoding_table["183,103"] = [53649] let s:lib.Codec.decoding_table["183,104"] = [53650] let s:lib.Codec.decoding_table["183,105"] = [53651] let s:lib.Codec.decoding_table["183,106"] = [53652] let s:lib.Codec.decoding_table["183,107"] = [53653] let s:lib.Codec.decoding_table["183,108"] = [53654] let s:lib.Codec.decoding_table["183,109"] = [53655] let s:lib.Codec.decoding_table["183,110"] = [53656] let s:lib.Codec.decoding_table["183,111"] = [53657] let s:lib.Codec.decoding_table["183,112"] = [53658] let s:lib.Codec.decoding_table["183,113"] = [53659] let s:lib.Codec.decoding_table["183,114"] = [53660] let s:lib.Codec.decoding_table["183,115"] = [53661] let s:lib.Codec.decoding_table["183,116"] = [53662] let s:lib.Codec.decoding_table["183,117"] = [53663] let s:lib.Codec.decoding_table["183,118"] = [53666] let s:lib.Codec.decoding_table["183,119"] = [53667] let s:lib.Codec.decoding_table["183,120"] = [53669] let s:lib.Codec.decoding_table["183,121"] = [53670] let s:lib.Codec.decoding_table["183,122"] = [53671] let s:lib.Codec.decoding_table["183,129"] = [53673] let s:lib.Codec.decoding_table["183,130"] = [53674] let s:lib.Codec.decoding_table["183,131"] = [53675] let s:lib.Codec.decoding_table["183,132"] = [53676] let s:lib.Codec.decoding_table["183,133"] = [53677] let s:lib.Codec.decoding_table["183,134"] = [53678] let s:lib.Codec.decoding_table["183,135"] = [53679] let s:lib.Codec.decoding_table["183,136"] = [53682] let s:lib.Codec.decoding_table["183,137"] = [53684] let s:lib.Codec.decoding_table["183,138"] = [53686] let s:lib.Codec.decoding_table["183,139"] = [53687] let s:lib.Codec.decoding_table["183,140"] = [53688] let s:lib.Codec.decoding_table["183,141"] = [53689] let s:lib.Codec.decoding_table["183,142"] = [53691] let s:lib.Codec.decoding_table["183,143"] = [53693] let s:lib.Codec.decoding_table["183,144"] = [53694] let s:lib.Codec.decoding_table["183,145"] = [53695] let s:lib.Codec.decoding_table["183,146"] = [53697] let s:lib.Codec.decoding_table["183,147"] = [53698] let s:lib.Codec.decoding_table["183,148"] = [53699] let s:lib.Codec.decoding_table["183,149"] = [53700] let s:lib.Codec.decoding_table["183,150"] = [53701] let s:lib.Codec.decoding_table["183,151"] = [53702] let s:lib.Codec.decoding_table["183,152"] = [53703] let s:lib.Codec.decoding_table["183,153"] = [53704] let s:lib.Codec.decoding_table["183,154"] = [53705] let s:lib.Codec.decoding_table["183,155"] = [53706] let s:lib.Codec.decoding_table["183,156"] = [53707] let s:lib.Codec.decoding_table["183,157"] = [53708] let s:lib.Codec.decoding_table["183,158"] = [53709] let s:lib.Codec.decoding_table["183,159"] = [53710] let s:lib.Codec.decoding_table["183,160"] = [53711] let s:lib.Codec.decoding_table["183,161"] = [47000] let s:lib.Codec.decoding_table["183,162"] = [47001] let s:lib.Codec.decoding_table["183,163"] = [47004] let s:lib.Codec.decoding_table["183,164"] = [47008] let s:lib.Codec.decoding_table["183,165"] = [47016] let s:lib.Codec.decoding_table["183,166"] = [47017] let s:lib.Codec.decoding_table["183,167"] = [47019] let s:lib.Codec.decoding_table["183,168"] = [47020] let s:lib.Codec.decoding_table["183,169"] = [47021] let s:lib.Codec.decoding_table["183,170"] = [47028] let s:lib.Codec.decoding_table["183,171"] = [47029] let s:lib.Codec.decoding_table["183,172"] = [47032] let s:lib.Codec.decoding_table["183,173"] = [47047] let s:lib.Codec.decoding_table["183,174"] = [47049] let s:lib.Codec.decoding_table["183,175"] = [47084] let s:lib.Codec.decoding_table["183,176"] = [47085] let s:lib.Codec.decoding_table["183,177"] = [47088] let s:lib.Codec.decoding_table["183,178"] = [47092] let s:lib.Codec.decoding_table["183,179"] = [47100] let s:lib.Codec.decoding_table["183,180"] = [47101] let s:lib.Codec.decoding_table["183,181"] = [47103] let s:lib.Codec.decoding_table["183,182"] = [47104] let s:lib.Codec.decoding_table["183,183"] = [47105] let s:lib.Codec.decoding_table["183,184"] = [47111] let s:lib.Codec.decoding_table["183,185"] = [47112] let s:lib.Codec.decoding_table["183,186"] = [47113] let s:lib.Codec.decoding_table["183,187"] = [47116] let s:lib.Codec.decoding_table["183,188"] = [47120] let s:lib.Codec.decoding_table["183,189"] = [47128] let s:lib.Codec.decoding_table["183,190"] = [47129] let s:lib.Codec.decoding_table["183,191"] = [47131] let s:lib.Codec.decoding_table["183,192"] = [47133] let s:lib.Codec.decoding_table["183,193"] = [47140] let s:lib.Codec.decoding_table["183,194"] = [47141] let s:lib.Codec.decoding_table["183,195"] = [47144] let s:lib.Codec.decoding_table["183,196"] = [47148] let s:lib.Codec.decoding_table["183,197"] = [47156] let s:lib.Codec.decoding_table["183,198"] = [47157] let s:lib.Codec.decoding_table["183,199"] = [47159] let s:lib.Codec.decoding_table["183,200"] = [47160] let s:lib.Codec.decoding_table["183,201"] = [47161] let s:lib.Codec.decoding_table["183,202"] = [47168] let s:lib.Codec.decoding_table["183,203"] = [47172] let s:lib.Codec.decoding_table["183,204"] = [47185] let s:lib.Codec.decoding_table["183,205"] = [47187] let s:lib.Codec.decoding_table["183,206"] = [47196] let s:lib.Codec.decoding_table["183,207"] = [47197] let s:lib.Codec.decoding_table["183,208"] = [47200] let s:lib.Codec.decoding_table["183,209"] = [47204] let s:lib.Codec.decoding_table["183,210"] = [47212] let s:lib.Codec.decoding_table["183,211"] = [47213] let s:lib.Codec.decoding_table["183,212"] = [47215] let s:lib.Codec.decoding_table["183,213"] = [47217] let s:lib.Codec.decoding_table["183,214"] = [47224] let s:lib.Codec.decoding_table["183,215"] = [47228] let s:lib.Codec.decoding_table["183,216"] = [47245] let s:lib.Codec.decoding_table["183,217"] = [47272] let s:lib.Codec.decoding_table["183,218"] = [47280] let s:lib.Codec.decoding_table["183,219"] = [47284] let s:lib.Codec.decoding_table["183,220"] = [47288] let s:lib.Codec.decoding_table["183,221"] = [47296] let s:lib.Codec.decoding_table["183,222"] = [47297] let s:lib.Codec.decoding_table["183,223"] = [47299] let s:lib.Codec.decoding_table["183,224"] = [47301] let s:lib.Codec.decoding_table["183,225"] = [47308] let s:lib.Codec.decoding_table["183,226"] = [47312] let s:lib.Codec.decoding_table["183,227"] = [47316] let s:lib.Codec.decoding_table["183,228"] = [47325] let s:lib.Codec.decoding_table["183,229"] = [47327] let s:lib.Codec.decoding_table["183,230"] = [47329] let s:lib.Codec.decoding_table["183,231"] = [47336] let s:lib.Codec.decoding_table["183,232"] = [47337] let s:lib.Codec.decoding_table["183,233"] = [47340] let s:lib.Codec.decoding_table["183,234"] = [47344] let s:lib.Codec.decoding_table["183,235"] = [47352] let s:lib.Codec.decoding_table["183,236"] = [47353] let s:lib.Codec.decoding_table["183,237"] = [47355] let s:lib.Codec.decoding_table["183,238"] = [47357] let s:lib.Codec.decoding_table["183,239"] = [47364] let s:lib.Codec.decoding_table["183,240"] = [47384] let s:lib.Codec.decoding_table["183,241"] = [47392] let s:lib.Codec.decoding_table["183,242"] = [47420] let s:lib.Codec.decoding_table["183,243"] = [47421] let s:lib.Codec.decoding_table["183,244"] = [47424] let s:lib.Codec.decoding_table["183,245"] = [47428] let s:lib.Codec.decoding_table["183,246"] = [47436] let s:lib.Codec.decoding_table["183,247"] = [47439] let s:lib.Codec.decoding_table["183,248"] = [47441] let s:lib.Codec.decoding_table["183,249"] = [47448] let s:lib.Codec.decoding_table["183,250"] = [47449] let s:lib.Codec.decoding_table["183,251"] = [47452] let s:lib.Codec.decoding_table["183,252"] = [47456] let s:lib.Codec.decoding_table["183,253"] = [47464] let s:lib.Codec.decoding_table["183,254"] = [47465] let s:lib.Codec.decoding_table["184,65"] = [53712] let s:lib.Codec.decoding_table["184,66"] = [53713] let s:lib.Codec.decoding_table["184,67"] = [53714] let s:lib.Codec.decoding_table["184,68"] = [53715] let s:lib.Codec.decoding_table["184,69"] = [53716] let s:lib.Codec.decoding_table["184,70"] = [53717] let s:lib.Codec.decoding_table["184,71"] = [53718] let s:lib.Codec.decoding_table["184,72"] = [53719] let s:lib.Codec.decoding_table["184,73"] = [53721] let s:lib.Codec.decoding_table["184,74"] = [53722] let s:lib.Codec.decoding_table["184,75"] = [53723] let s:lib.Codec.decoding_table["184,76"] = [53724] let s:lib.Codec.decoding_table["184,77"] = [53725] let s:lib.Codec.decoding_table["184,78"] = [53726] let s:lib.Codec.decoding_table["184,79"] = [53727] let s:lib.Codec.decoding_table["184,80"] = [53728] let s:lib.Codec.decoding_table["184,81"] = [53729] let s:lib.Codec.decoding_table["184,82"] = [53730] let s:lib.Codec.decoding_table["184,83"] = [53731] let s:lib.Codec.decoding_table["184,84"] = [53732] let s:lib.Codec.decoding_table["184,85"] = [53733] let s:lib.Codec.decoding_table["184,86"] = [53734] let s:lib.Codec.decoding_table["184,87"] = [53735] let s:lib.Codec.decoding_table["184,88"] = [53736] let s:lib.Codec.decoding_table["184,89"] = [53737] let s:lib.Codec.decoding_table["184,90"] = [53738] let s:lib.Codec.decoding_table["184,97"] = [53739] let s:lib.Codec.decoding_table["184,98"] = [53740] let s:lib.Codec.decoding_table["184,99"] = [53741] let s:lib.Codec.decoding_table["184,100"] = [53742] let s:lib.Codec.decoding_table["184,101"] = [53743] let s:lib.Codec.decoding_table["184,102"] = [53744] let s:lib.Codec.decoding_table["184,103"] = [53745] let s:lib.Codec.decoding_table["184,104"] = [53746] let s:lib.Codec.decoding_table["184,105"] = [53747] let s:lib.Codec.decoding_table["184,106"] = [53749] let s:lib.Codec.decoding_table["184,107"] = [53750] let s:lib.Codec.decoding_table["184,108"] = [53751] let s:lib.Codec.decoding_table["184,109"] = [53753] let s:lib.Codec.decoding_table["184,110"] = [53754] let s:lib.Codec.decoding_table["184,111"] = [53755] let s:lib.Codec.decoding_table["184,112"] = [53756] let s:lib.Codec.decoding_table["184,113"] = [53757] let s:lib.Codec.decoding_table["184,114"] = [53758] let s:lib.Codec.decoding_table["184,115"] = [53759] let s:lib.Codec.decoding_table["184,116"] = [53760] let s:lib.Codec.decoding_table["184,117"] = [53761] let s:lib.Codec.decoding_table["184,118"] = [53762] let s:lib.Codec.decoding_table["184,119"] = [53763] let s:lib.Codec.decoding_table["184,120"] = [53764] let s:lib.Codec.decoding_table["184,121"] = [53765] let s:lib.Codec.decoding_table["184,122"] = [53766] let s:lib.Codec.decoding_table["184,129"] = [53768] let s:lib.Codec.decoding_table["184,130"] = [53770] let s:lib.Codec.decoding_table["184,131"] = [53771] let s:lib.Codec.decoding_table["184,132"] = [53772] let s:lib.Codec.decoding_table["184,133"] = [53773] let s:lib.Codec.decoding_table["184,134"] = [53774] let s:lib.Codec.decoding_table["184,135"] = [53775] let s:lib.Codec.decoding_table["184,136"] = [53777] let s:lib.Codec.decoding_table["184,137"] = [53778] let s:lib.Codec.decoding_table["184,138"] = [53779] let s:lib.Codec.decoding_table["184,139"] = [53780] let s:lib.Codec.decoding_table["184,140"] = [53781] let s:lib.Codec.decoding_table["184,141"] = [53782] let s:lib.Codec.decoding_table["184,142"] = [53783] let s:lib.Codec.decoding_table["184,143"] = [53784] let s:lib.Codec.decoding_table["184,144"] = [53785] let s:lib.Codec.decoding_table["184,145"] = [53786] let s:lib.Codec.decoding_table["184,146"] = [53787] let s:lib.Codec.decoding_table["184,147"] = [53788] let s:lib.Codec.decoding_table["184,148"] = [53789] let s:lib.Codec.decoding_table["184,149"] = [53790] let s:lib.Codec.decoding_table["184,150"] = [53791] let s:lib.Codec.decoding_table["184,151"] = [53792] let s:lib.Codec.decoding_table["184,152"] = [53793] let s:lib.Codec.decoding_table["184,153"] = [53794] let s:lib.Codec.decoding_table["184,154"] = [53795] let s:lib.Codec.decoding_table["184,155"] = [53796] let s:lib.Codec.decoding_table["184,156"] = [53797] let s:lib.Codec.decoding_table["184,157"] = [53798] let s:lib.Codec.decoding_table["184,158"] = [53799] let s:lib.Codec.decoding_table["184,159"] = [53800] let s:lib.Codec.decoding_table["184,160"] = [53801] let s:lib.Codec.decoding_table["184,161"] = [47467] let s:lib.Codec.decoding_table["184,162"] = [47469] let s:lib.Codec.decoding_table["184,163"] = [47476] let s:lib.Codec.decoding_table["184,164"] = [47477] let s:lib.Codec.decoding_table["184,165"] = [47480] let s:lib.Codec.decoding_table["184,166"] = [47484] let s:lib.Codec.decoding_table["184,167"] = [47492] let s:lib.Codec.decoding_table["184,168"] = [47493] let s:lib.Codec.decoding_table["184,169"] = [47495] let s:lib.Codec.decoding_table["184,170"] = [47497] let s:lib.Codec.decoding_table["184,171"] = [47498] let s:lib.Codec.decoding_table["184,172"] = [47501] let s:lib.Codec.decoding_table["184,173"] = [47502] let s:lib.Codec.decoding_table["184,174"] = [47532] let s:lib.Codec.decoding_table["184,175"] = [47533] let s:lib.Codec.decoding_table["184,176"] = [47536] let s:lib.Codec.decoding_table["184,177"] = [47540] let s:lib.Codec.decoding_table["184,178"] = [47548] let s:lib.Codec.decoding_table["184,179"] = [47549] let s:lib.Codec.decoding_table["184,180"] = [47551] let s:lib.Codec.decoding_table["184,181"] = [47553] let s:lib.Codec.decoding_table["184,182"] = [47560] let s:lib.Codec.decoding_table["184,183"] = [47561] let s:lib.Codec.decoding_table["184,184"] = [47564] let s:lib.Codec.decoding_table["184,185"] = [47566] let s:lib.Codec.decoding_table["184,186"] = [47567] let s:lib.Codec.decoding_table["184,187"] = [47568] let s:lib.Codec.decoding_table["184,188"] = [47569] let s:lib.Codec.decoding_table["184,189"] = [47570] let s:lib.Codec.decoding_table["184,190"] = [47576] let s:lib.Codec.decoding_table["184,191"] = [47577] let s:lib.Codec.decoding_table["184,192"] = [47579] let s:lib.Codec.decoding_table["184,193"] = [47581] let s:lib.Codec.decoding_table["184,194"] = [47582] let s:lib.Codec.decoding_table["184,195"] = [47585] let s:lib.Codec.decoding_table["184,196"] = [47587] let s:lib.Codec.decoding_table["184,197"] = [47588] let s:lib.Codec.decoding_table["184,198"] = [47589] let s:lib.Codec.decoding_table["184,199"] = [47592] let s:lib.Codec.decoding_table["184,200"] = [47596] let s:lib.Codec.decoding_table["184,201"] = [47604] let s:lib.Codec.decoding_table["184,202"] = [47605] let s:lib.Codec.decoding_table["184,203"] = [47607] let s:lib.Codec.decoding_table["184,204"] = [47608] let s:lib.Codec.decoding_table["184,205"] = [47609] let s:lib.Codec.decoding_table["184,206"] = [47610] let s:lib.Codec.decoding_table["184,207"] = [47616] let s:lib.Codec.decoding_table["184,208"] = [47617] let s:lib.Codec.decoding_table["184,209"] = [47624] let s:lib.Codec.decoding_table["184,210"] = [47637] let s:lib.Codec.decoding_table["184,211"] = [47672] let s:lib.Codec.decoding_table["184,212"] = [47673] let s:lib.Codec.decoding_table["184,213"] = [47676] let s:lib.Codec.decoding_table["184,214"] = [47680] let s:lib.Codec.decoding_table["184,215"] = [47682] let s:lib.Codec.decoding_table["184,216"] = [47688] let s:lib.Codec.decoding_table["184,217"] = [47689] let s:lib.Codec.decoding_table["184,218"] = [47691] let s:lib.Codec.decoding_table["184,219"] = [47693] let s:lib.Codec.decoding_table["184,220"] = [47694] let s:lib.Codec.decoding_table["184,221"] = [47699] let s:lib.Codec.decoding_table["184,222"] = [47700] let s:lib.Codec.decoding_table["184,223"] = [47701] let s:lib.Codec.decoding_table["184,224"] = [47704] let s:lib.Codec.decoding_table["184,225"] = [47708] let s:lib.Codec.decoding_table["184,226"] = [47716] let s:lib.Codec.decoding_table["184,227"] = [47717] let s:lib.Codec.decoding_table["184,228"] = [47719] let s:lib.Codec.decoding_table["184,229"] = [47720] let s:lib.Codec.decoding_table["184,230"] = [47721] let s:lib.Codec.decoding_table["184,231"] = [47728] let s:lib.Codec.decoding_table["184,232"] = [47729] let s:lib.Codec.decoding_table["184,233"] = [47732] let s:lib.Codec.decoding_table["184,234"] = [47736] let s:lib.Codec.decoding_table["184,235"] = [47747] let s:lib.Codec.decoding_table["184,236"] = [47748] let s:lib.Codec.decoding_table["184,237"] = [47749] let s:lib.Codec.decoding_table["184,238"] = [47751] let s:lib.Codec.decoding_table["184,239"] = [47756] let s:lib.Codec.decoding_table["184,240"] = [47784] let s:lib.Codec.decoding_table["184,241"] = [47785] let s:lib.Codec.decoding_table["184,242"] = [47787] let s:lib.Codec.decoding_table["184,243"] = [47788] let s:lib.Codec.decoding_table["184,244"] = [47792] let s:lib.Codec.decoding_table["184,245"] = [47794] let s:lib.Codec.decoding_table["184,246"] = [47800] let s:lib.Codec.decoding_table["184,247"] = [47801] let s:lib.Codec.decoding_table["184,248"] = [47803] let s:lib.Codec.decoding_table["184,249"] = [47805] let s:lib.Codec.decoding_table["184,250"] = [47812] let s:lib.Codec.decoding_table["184,251"] = [47816] let s:lib.Codec.decoding_table["184,252"] = [47832] let s:lib.Codec.decoding_table["184,253"] = [47833] let s:lib.Codec.decoding_table["184,254"] = [47868] let s:lib.Codec.decoding_table["185,65"] = [53802] let s:lib.Codec.decoding_table["185,66"] = [53803] let s:lib.Codec.decoding_table["185,67"] = [53806] let s:lib.Codec.decoding_table["185,68"] = [53807] let s:lib.Codec.decoding_table["185,69"] = [53809] let s:lib.Codec.decoding_table["185,70"] = [53810] let s:lib.Codec.decoding_table["185,71"] = [53811] let s:lib.Codec.decoding_table["185,72"] = [53813] let s:lib.Codec.decoding_table["185,73"] = [53814] let s:lib.Codec.decoding_table["185,74"] = [53815] let s:lib.Codec.decoding_table["185,75"] = [53816] let s:lib.Codec.decoding_table["185,76"] = [53817] let s:lib.Codec.decoding_table["185,77"] = [53818] let s:lib.Codec.decoding_table["185,78"] = [53819] let s:lib.Codec.decoding_table["185,79"] = [53822] let s:lib.Codec.decoding_table["185,80"] = [53824] let s:lib.Codec.decoding_table["185,81"] = [53826] let s:lib.Codec.decoding_table["185,82"] = [53827] let s:lib.Codec.decoding_table["185,83"] = [53828] let s:lib.Codec.decoding_table["185,84"] = [53829] let s:lib.Codec.decoding_table["185,85"] = [53830] let s:lib.Codec.decoding_table["185,86"] = [53831] let s:lib.Codec.decoding_table["185,87"] = [53833] let s:lib.Codec.decoding_table["185,88"] = [53834] let s:lib.Codec.decoding_table["185,89"] = [53835] let s:lib.Codec.decoding_table["185,90"] = [53836] let s:lib.Codec.decoding_table["185,97"] = [53837] let s:lib.Codec.decoding_table["185,98"] = [53838] let s:lib.Codec.decoding_table["185,99"] = [53839] let s:lib.Codec.decoding_table["185,100"] = [53840] let s:lib.Codec.decoding_table["185,101"] = [53841] let s:lib.Codec.decoding_table["185,102"] = [53842] let s:lib.Codec.decoding_table["185,103"] = [53843] let s:lib.Codec.decoding_table["185,104"] = [53844] let s:lib.Codec.decoding_table["185,105"] = [53845] let s:lib.Codec.decoding_table["185,106"] = [53846] let s:lib.Codec.decoding_table["185,107"] = [53847] let s:lib.Codec.decoding_table["185,108"] = [53848] let s:lib.Codec.decoding_table["185,109"] = [53849] let s:lib.Codec.decoding_table["185,110"] = [53850] let s:lib.Codec.decoding_table["185,111"] = [53851] let s:lib.Codec.decoding_table["185,112"] = [53853] let s:lib.Codec.decoding_table["185,113"] = [53854] let s:lib.Codec.decoding_table["185,114"] = [53855] let s:lib.Codec.decoding_table["185,115"] = [53856] let s:lib.Codec.decoding_table["185,116"] = [53857] let s:lib.Codec.decoding_table["185,117"] = [53858] let s:lib.Codec.decoding_table["185,118"] = [53859] let s:lib.Codec.decoding_table["185,119"] = [53861] let s:lib.Codec.decoding_table["185,120"] = [53862] let s:lib.Codec.decoding_table["185,121"] = [53863] let s:lib.Codec.decoding_table["185,122"] = [53864] let s:lib.Codec.decoding_table["185,129"] = [53865] let s:lib.Codec.decoding_table["185,130"] = [53866] let s:lib.Codec.decoding_table["185,131"] = [53867] let s:lib.Codec.decoding_table["185,132"] = [53868] let s:lib.Codec.decoding_table["185,133"] = [53869] let s:lib.Codec.decoding_table["185,134"] = [53870] let s:lib.Codec.decoding_table["185,135"] = [53871] let s:lib.Codec.decoding_table["185,136"] = [53872] let s:lib.Codec.decoding_table["185,137"] = [53873] let s:lib.Codec.decoding_table["185,138"] = [53874] let s:lib.Codec.decoding_table["185,139"] = [53875] let s:lib.Codec.decoding_table["185,140"] = [53876] let s:lib.Codec.decoding_table["185,141"] = [53877] let s:lib.Codec.decoding_table["185,142"] = [53878] let s:lib.Codec.decoding_table["185,143"] = [53879] let s:lib.Codec.decoding_table["185,144"] = [53880] let s:lib.Codec.decoding_table["185,145"] = [53881] let s:lib.Codec.decoding_table["185,146"] = [53882] let s:lib.Codec.decoding_table["185,147"] = [53883] let s:lib.Codec.decoding_table["185,148"] = [53884] let s:lib.Codec.decoding_table["185,149"] = [53885] let s:lib.Codec.decoding_table["185,150"] = [53886] let s:lib.Codec.decoding_table["185,151"] = [53887] let s:lib.Codec.decoding_table["185,152"] = [53890] let s:lib.Codec.decoding_table["185,153"] = [53891] let s:lib.Codec.decoding_table["185,154"] = [53893] let s:lib.Codec.decoding_table["185,155"] = [53894] let s:lib.Codec.decoding_table["185,156"] = [53895] let s:lib.Codec.decoding_table["185,157"] = [53897] let s:lib.Codec.decoding_table["185,158"] = [53898] let s:lib.Codec.decoding_table["185,159"] = [53899] let s:lib.Codec.decoding_table["185,160"] = [53900] let s:lib.Codec.decoding_table["185,161"] = [47872] let s:lib.Codec.decoding_table["185,162"] = [47876] let s:lib.Codec.decoding_table["185,163"] = [47885] let s:lib.Codec.decoding_table["185,164"] = [47887] let s:lib.Codec.decoding_table["185,165"] = [47889] let s:lib.Codec.decoding_table["185,166"] = [47896] let s:lib.Codec.decoding_table["185,167"] = [47900] let s:lib.Codec.decoding_table["185,168"] = [47904] let s:lib.Codec.decoding_table["185,169"] = [47913] let s:lib.Codec.decoding_table["185,170"] = [47915] let s:lib.Codec.decoding_table["185,171"] = [47924] let s:lib.Codec.decoding_table["185,172"] = [47925] let s:lib.Codec.decoding_table["185,173"] = [47926] let s:lib.Codec.decoding_table["185,174"] = [47928] let s:lib.Codec.decoding_table["185,175"] = [47931] let s:lib.Codec.decoding_table["185,176"] = [47932] let s:lib.Codec.decoding_table["185,177"] = [47933] let s:lib.Codec.decoding_table["185,178"] = [47934] let s:lib.Codec.decoding_table["185,179"] = [47940] let s:lib.Codec.decoding_table["185,180"] = [47941] let s:lib.Codec.decoding_table["185,181"] = [47943] let s:lib.Codec.decoding_table["185,182"] = [47945] let s:lib.Codec.decoding_table["185,183"] = [47949] let s:lib.Codec.decoding_table["185,184"] = [47951] let s:lib.Codec.decoding_table["185,185"] = [47952] let s:lib.Codec.decoding_table["185,186"] = [47956] let s:lib.Codec.decoding_table["185,187"] = [47960] let s:lib.Codec.decoding_table["185,188"] = [47969] let s:lib.Codec.decoding_table["185,189"] = [47971] let s:lib.Codec.decoding_table["185,190"] = [47980] let s:lib.Codec.decoding_table["185,191"] = [48008] let s:lib.Codec.decoding_table["185,192"] = [48012] let s:lib.Codec.decoding_table["185,193"] = [48016] let s:lib.Codec.decoding_table["185,194"] = [48036] let s:lib.Codec.decoding_table["185,195"] = [48040] let s:lib.Codec.decoding_table["185,196"] = [48044] let s:lib.Codec.decoding_table["185,197"] = [48052] let s:lib.Codec.decoding_table["185,198"] = [48055] let s:lib.Codec.decoding_table["185,199"] = [48064] let s:lib.Codec.decoding_table["185,200"] = [48068] let s:lib.Codec.decoding_table["185,201"] = [48072] let s:lib.Codec.decoding_table["185,202"] = [48080] let s:lib.Codec.decoding_table["185,203"] = [48083] let s:lib.Codec.decoding_table["185,204"] = [48120] let s:lib.Codec.decoding_table["185,205"] = [48121] let s:lib.Codec.decoding_table["185,206"] = [48124] let s:lib.Codec.decoding_table["185,207"] = [48127] let s:lib.Codec.decoding_table["185,208"] = [48128] let s:lib.Codec.decoding_table["185,209"] = [48130] let s:lib.Codec.decoding_table["185,210"] = [48136] let s:lib.Codec.decoding_table["185,211"] = [48137] let s:lib.Codec.decoding_table["185,212"] = [48139] let s:lib.Codec.decoding_table["185,213"] = [48140] let s:lib.Codec.decoding_table["185,214"] = [48141] let s:lib.Codec.decoding_table["185,215"] = [48143] let s:lib.Codec.decoding_table["185,216"] = [48145] let s:lib.Codec.decoding_table["185,217"] = [48148] let s:lib.Codec.decoding_table["185,218"] = [48149] let s:lib.Codec.decoding_table["185,219"] = [48150] let s:lib.Codec.decoding_table["185,220"] = [48151] let s:lib.Codec.decoding_table["185,221"] = [48152] let s:lib.Codec.decoding_table["185,222"] = [48155] let s:lib.Codec.decoding_table["185,223"] = [48156] let s:lib.Codec.decoding_table["185,224"] = [48157] let s:lib.Codec.decoding_table["185,225"] = [48158] let s:lib.Codec.decoding_table["185,226"] = [48159] let s:lib.Codec.decoding_table["185,227"] = [48164] let s:lib.Codec.decoding_table["185,228"] = [48165] let s:lib.Codec.decoding_table["185,229"] = [48167] let s:lib.Codec.decoding_table["185,230"] = [48169] let s:lib.Codec.decoding_table["185,231"] = [48173] let s:lib.Codec.decoding_table["185,232"] = [48176] let s:lib.Codec.decoding_table["185,233"] = [48177] let s:lib.Codec.decoding_table["185,234"] = [48180] let s:lib.Codec.decoding_table["185,235"] = [48184] let s:lib.Codec.decoding_table["185,236"] = [48192] let s:lib.Codec.decoding_table["185,237"] = [48193] let s:lib.Codec.decoding_table["185,238"] = [48195] let s:lib.Codec.decoding_table["185,239"] = [48196] let s:lib.Codec.decoding_table["185,240"] = [48197] let s:lib.Codec.decoding_table["185,241"] = [48201] let s:lib.Codec.decoding_table["185,242"] = [48204] let s:lib.Codec.decoding_table["185,243"] = [48205] let s:lib.Codec.decoding_table["185,244"] = [48208] let s:lib.Codec.decoding_table["185,245"] = [48221] let s:lib.Codec.decoding_table["185,246"] = [48260] let s:lib.Codec.decoding_table["185,247"] = [48261] let s:lib.Codec.decoding_table["185,248"] = [48264] let s:lib.Codec.decoding_table["185,249"] = [48267] let s:lib.Codec.decoding_table["185,250"] = [48268] let s:lib.Codec.decoding_table["185,251"] = [48270] let s:lib.Codec.decoding_table["185,252"] = [48276] let s:lib.Codec.decoding_table["185,253"] = [48277] let s:lib.Codec.decoding_table["185,254"] = [48279] let s:lib.Codec.decoding_table["186,65"] = [53901] let s:lib.Codec.decoding_table["186,66"] = [53902] let s:lib.Codec.decoding_table["186,67"] = [53903] let s:lib.Codec.decoding_table["186,68"] = [53906] let s:lib.Codec.decoding_table["186,69"] = [53907] let s:lib.Codec.decoding_table["186,70"] = [53908] let s:lib.Codec.decoding_table["186,71"] = [53910] let s:lib.Codec.decoding_table["186,72"] = [53911] let s:lib.Codec.decoding_table["186,73"] = [53912] let s:lib.Codec.decoding_table["186,74"] = [53913] let s:lib.Codec.decoding_table["186,75"] = [53914] let s:lib.Codec.decoding_table["186,76"] = [53915] let s:lib.Codec.decoding_table["186,77"] = [53917] let s:lib.Codec.decoding_table["186,78"] = [53918] let s:lib.Codec.decoding_table["186,79"] = [53919] let s:lib.Codec.decoding_table["186,80"] = [53921] let s:lib.Codec.decoding_table["186,81"] = [53922] let s:lib.Codec.decoding_table["186,82"] = [53923] let s:lib.Codec.decoding_table["186,83"] = [53925] let s:lib.Codec.decoding_table["186,84"] = [53926] let s:lib.Codec.decoding_table["186,85"] = [53927] let s:lib.Codec.decoding_table["186,86"] = [53928] let s:lib.Codec.decoding_table["186,87"] = [53929] let s:lib.Codec.decoding_table["186,88"] = [53930] let s:lib.Codec.decoding_table["186,89"] = [53931] let s:lib.Codec.decoding_table["186,90"] = [53933] let s:lib.Codec.decoding_table["186,97"] = [53934] let s:lib.Codec.decoding_table["186,98"] = [53935] let s:lib.Codec.decoding_table["186,99"] = [53936] let s:lib.Codec.decoding_table["186,100"] = [53938] let s:lib.Codec.decoding_table["186,101"] = [53939] let s:lib.Codec.decoding_table["186,102"] = [53940] let s:lib.Codec.decoding_table["186,103"] = [53941] let s:lib.Codec.decoding_table["186,104"] = [53942] let s:lib.Codec.decoding_table["186,105"] = [53943] let s:lib.Codec.decoding_table["186,106"] = [53946] let s:lib.Codec.decoding_table["186,107"] = [53947] let s:lib.Codec.decoding_table["186,108"] = [53949] let s:lib.Codec.decoding_table["186,109"] = [53950] let s:lib.Codec.decoding_table["186,110"] = [53953] let s:lib.Codec.decoding_table["186,111"] = [53955] let s:lib.Codec.decoding_table["186,112"] = [53956] let s:lib.Codec.decoding_table["186,113"] = [53957] let s:lib.Codec.decoding_table["186,114"] = [53958] let s:lib.Codec.decoding_table["186,115"] = [53959] let s:lib.Codec.decoding_table["186,116"] = [53962] let s:lib.Codec.decoding_table["186,117"] = [53964] let s:lib.Codec.decoding_table["186,118"] = [53965] let s:lib.Codec.decoding_table["186,119"] = [53966] let s:lib.Codec.decoding_table["186,120"] = [53967] let s:lib.Codec.decoding_table["186,121"] = [53968] let s:lib.Codec.decoding_table["186,122"] = [53969] let s:lib.Codec.decoding_table["186,129"] = [53970] let s:lib.Codec.decoding_table["186,130"] = [53971] let s:lib.Codec.decoding_table["186,131"] = [53973] let s:lib.Codec.decoding_table["186,132"] = [53974] let s:lib.Codec.decoding_table["186,133"] = [53975] let s:lib.Codec.decoding_table["186,134"] = [53977] let s:lib.Codec.decoding_table["186,135"] = [53978] let s:lib.Codec.decoding_table["186,136"] = [53979] let s:lib.Codec.decoding_table["186,137"] = [53981] let s:lib.Codec.decoding_table["186,138"] = [53982] let s:lib.Codec.decoding_table["186,139"] = [53983] let s:lib.Codec.decoding_table["186,140"] = [53984] let s:lib.Codec.decoding_table["186,141"] = [53985] let s:lib.Codec.decoding_table["186,142"] = [53986] let s:lib.Codec.decoding_table["186,143"] = [53987] let s:lib.Codec.decoding_table["186,144"] = [53990] let s:lib.Codec.decoding_table["186,145"] = [53991] let s:lib.Codec.decoding_table["186,146"] = [53992] let s:lib.Codec.decoding_table["186,147"] = [53993] let s:lib.Codec.decoding_table["186,148"] = [53994] let s:lib.Codec.decoding_table["186,149"] = [53995] let s:lib.Codec.decoding_table["186,150"] = [53996] let s:lib.Codec.decoding_table["186,151"] = [53997] let s:lib.Codec.decoding_table["186,152"] = [53998] let s:lib.Codec.decoding_table["186,153"] = [53999] let s:lib.Codec.decoding_table["186,154"] = [54002] let s:lib.Codec.decoding_table["186,155"] = [54003] let s:lib.Codec.decoding_table["186,156"] = [54005] let s:lib.Codec.decoding_table["186,157"] = [54006] let s:lib.Codec.decoding_table["186,158"] = [54007] let s:lib.Codec.decoding_table["186,159"] = [54009] let s:lib.Codec.decoding_table["186,160"] = [54010] let s:lib.Codec.decoding_table["186,161"] = [48281] let s:lib.Codec.decoding_table["186,162"] = [48282] let s:lib.Codec.decoding_table["186,163"] = [48288] let s:lib.Codec.decoding_table["186,164"] = [48289] let s:lib.Codec.decoding_table["186,165"] = [48292] let s:lib.Codec.decoding_table["186,166"] = [48295] let s:lib.Codec.decoding_table["186,167"] = [48296] let s:lib.Codec.decoding_table["186,168"] = [48304] let s:lib.Codec.decoding_table["186,169"] = [48305] let s:lib.Codec.decoding_table["186,170"] = [48307] let s:lib.Codec.decoding_table["186,171"] = [48308] let s:lib.Codec.decoding_table["186,172"] = [48309] let s:lib.Codec.decoding_table["186,173"] = [48316] let s:lib.Codec.decoding_table["186,174"] = [48317] let s:lib.Codec.decoding_table["186,175"] = [48320] let s:lib.Codec.decoding_table["186,176"] = [48324] let s:lib.Codec.decoding_table["186,177"] = [48333] let s:lib.Codec.decoding_table["186,178"] = [48335] let s:lib.Codec.decoding_table["186,179"] = [48336] let s:lib.Codec.decoding_table["186,180"] = [48337] let s:lib.Codec.decoding_table["186,181"] = [48341] let s:lib.Codec.decoding_table["186,182"] = [48344] let s:lib.Codec.decoding_table["186,183"] = [48348] let s:lib.Codec.decoding_table["186,184"] = [48372] let s:lib.Codec.decoding_table["186,185"] = [48373] let s:lib.Codec.decoding_table["186,186"] = [48374] let s:lib.Codec.decoding_table["186,187"] = [48376] let s:lib.Codec.decoding_table["186,188"] = [48380] let s:lib.Codec.decoding_table["186,189"] = [48388] let s:lib.Codec.decoding_table["186,190"] = [48389] let s:lib.Codec.decoding_table["186,191"] = [48391] let s:lib.Codec.decoding_table["186,192"] = [48393] let s:lib.Codec.decoding_table["186,193"] = [48400] let s:lib.Codec.decoding_table["186,194"] = [48404] let s:lib.Codec.decoding_table["186,195"] = [48420] let s:lib.Codec.decoding_table["186,196"] = [48428] let s:lib.Codec.decoding_table["186,197"] = [48448] let s:lib.Codec.decoding_table["186,198"] = [48456] let s:lib.Codec.decoding_table["186,199"] = [48457] let s:lib.Codec.decoding_table["186,200"] = [48460] let s:lib.Codec.decoding_table["186,201"] = [48464] let s:lib.Codec.decoding_table["186,202"] = [48472] let s:lib.Codec.decoding_table["186,203"] = [48473] let s:lib.Codec.decoding_table["186,204"] = [48484] let s:lib.Codec.decoding_table["186,205"] = [48488] let s:lib.Codec.decoding_table["186,206"] = [48512] let s:lib.Codec.decoding_table["186,207"] = [48513] let s:lib.Codec.decoding_table["186,208"] = [48516] let s:lib.Codec.decoding_table["186,209"] = [48519] let s:lib.Codec.decoding_table["186,210"] = [48520] let s:lib.Codec.decoding_table["186,211"] = [48521] let s:lib.Codec.decoding_table["186,212"] = [48522] let s:lib.Codec.decoding_table["186,213"] = [48528] let s:lib.Codec.decoding_table["186,214"] = [48529] let s:lib.Codec.decoding_table["186,215"] = [48531] let s:lib.Codec.decoding_table["186,216"] = [48533] let s:lib.Codec.decoding_table["186,217"] = [48537] let s:lib.Codec.decoding_table["186,218"] = [48538] let s:lib.Codec.decoding_table["186,219"] = [48540] let s:lib.Codec.decoding_table["186,220"] = [48548] let s:lib.Codec.decoding_table["186,221"] = [48560] let s:lib.Codec.decoding_table["186,222"] = [48568] let s:lib.Codec.decoding_table["186,223"] = [48596] let s:lib.Codec.decoding_table["186,224"] = [48597] let s:lib.Codec.decoding_table["186,225"] = [48600] let s:lib.Codec.decoding_table["186,226"] = [48604] let s:lib.Codec.decoding_table["186,227"] = [48617] let s:lib.Codec.decoding_table["186,228"] = [48624] let s:lib.Codec.decoding_table["186,229"] = [48628] let s:lib.Codec.decoding_table["186,230"] = [48632] let s:lib.Codec.decoding_table["186,231"] = [48640] let s:lib.Codec.decoding_table["186,232"] = [48643] let s:lib.Codec.decoding_table["186,233"] = [48645] let s:lib.Codec.decoding_table["186,234"] = [48652] let s:lib.Codec.decoding_table["186,235"] = [48653] let s:lib.Codec.decoding_table["186,236"] = [48656] let s:lib.Codec.decoding_table["186,237"] = [48660] let s:lib.Codec.decoding_table["186,238"] = [48668] let s:lib.Codec.decoding_table["186,239"] = [48669] let s:lib.Codec.decoding_table["186,240"] = [48671] let s:lib.Codec.decoding_table["186,241"] = [48708] let s:lib.Codec.decoding_table["186,242"] = [48709] let s:lib.Codec.decoding_table["186,243"] = [48712] let s:lib.Codec.decoding_table["186,244"] = [48716] let s:lib.Codec.decoding_table["186,245"] = [48718] let s:lib.Codec.decoding_table["186,246"] = [48724] let s:lib.Codec.decoding_table["186,247"] = [48725] let s:lib.Codec.decoding_table["186,248"] = [48727] let s:lib.Codec.decoding_table["186,249"] = [48729] let s:lib.Codec.decoding_table["186,250"] = [48730] let s:lib.Codec.decoding_table["186,251"] = [48731] let s:lib.Codec.decoding_table["186,252"] = [48736] let s:lib.Codec.decoding_table["186,253"] = [48737] let s:lib.Codec.decoding_table["186,254"] = [48740] let s:lib.Codec.decoding_table["187,65"] = [54011] let s:lib.Codec.decoding_table["187,66"] = [54012] let s:lib.Codec.decoding_table["187,67"] = [54013] let s:lib.Codec.decoding_table["187,68"] = [54014] let s:lib.Codec.decoding_table["187,69"] = [54015] let s:lib.Codec.decoding_table["187,70"] = [54018] let s:lib.Codec.decoding_table["187,71"] = [54020] let s:lib.Codec.decoding_table["187,72"] = [54022] let s:lib.Codec.decoding_table["187,73"] = [54023] let s:lib.Codec.decoding_table["187,74"] = [54024] let s:lib.Codec.decoding_table["187,75"] = [54025] let s:lib.Codec.decoding_table["187,76"] = [54026] let s:lib.Codec.decoding_table["187,77"] = [54027] let s:lib.Codec.decoding_table["187,78"] = [54031] let s:lib.Codec.decoding_table["187,79"] = [54033] let s:lib.Codec.decoding_table["187,80"] = [54034] let s:lib.Codec.decoding_table["187,81"] = [54035] let s:lib.Codec.decoding_table["187,82"] = [54037] let s:lib.Codec.decoding_table["187,83"] = [54039] let s:lib.Codec.decoding_table["187,84"] = [54040] let s:lib.Codec.decoding_table["187,85"] = [54041] let s:lib.Codec.decoding_table["187,86"] = [54042] let s:lib.Codec.decoding_table["187,87"] = [54043] let s:lib.Codec.decoding_table["187,88"] = [54046] let s:lib.Codec.decoding_table["187,89"] = [54050] let s:lib.Codec.decoding_table["187,90"] = [54051] let s:lib.Codec.decoding_table["187,97"] = [54052] let s:lib.Codec.decoding_table["187,98"] = [54054] let s:lib.Codec.decoding_table["187,99"] = [54055] let s:lib.Codec.decoding_table["187,100"] = [54058] let s:lib.Codec.decoding_table["187,101"] = [54059] let s:lib.Codec.decoding_table["187,102"] = [54061] let s:lib.Codec.decoding_table["187,103"] = [54062] let s:lib.Codec.decoding_table["187,104"] = [54063] let s:lib.Codec.decoding_table["187,105"] = [54065] let s:lib.Codec.decoding_table["187,106"] = [54066] let s:lib.Codec.decoding_table["187,107"] = [54067] let s:lib.Codec.decoding_table["187,108"] = [54068] let s:lib.Codec.decoding_table["187,109"] = [54069] let s:lib.Codec.decoding_table["187,110"] = [54070] let s:lib.Codec.decoding_table["187,111"] = [54071] let s:lib.Codec.decoding_table["187,112"] = [54074] let s:lib.Codec.decoding_table["187,113"] = [54078] let s:lib.Codec.decoding_table["187,114"] = [54079] let s:lib.Codec.decoding_table["187,115"] = [54080] let s:lib.Codec.decoding_table["187,116"] = [54081] let s:lib.Codec.decoding_table["187,117"] = [54082] let s:lib.Codec.decoding_table["187,118"] = [54083] let s:lib.Codec.decoding_table["187,119"] = [54086] let s:lib.Codec.decoding_table["187,120"] = [54087] let s:lib.Codec.decoding_table["187,121"] = [54088] let s:lib.Codec.decoding_table["187,122"] = [54089] let s:lib.Codec.decoding_table["187,129"] = [54090] let s:lib.Codec.decoding_table["187,130"] = [54091] let s:lib.Codec.decoding_table["187,131"] = [54092] let s:lib.Codec.decoding_table["187,132"] = [54093] let s:lib.Codec.decoding_table["187,133"] = [54094] let s:lib.Codec.decoding_table["187,134"] = [54095] let s:lib.Codec.decoding_table["187,135"] = [54096] let s:lib.Codec.decoding_table["187,136"] = [54097] let s:lib.Codec.decoding_table["187,137"] = [54098] let s:lib.Codec.decoding_table["187,138"] = [54099] let s:lib.Codec.decoding_table["187,139"] = [54100] let s:lib.Codec.decoding_table["187,140"] = [54101] let s:lib.Codec.decoding_table["187,141"] = [54102] let s:lib.Codec.decoding_table["187,142"] = [54103] let s:lib.Codec.decoding_table["187,143"] = [54104] let s:lib.Codec.decoding_table["187,144"] = [54105] let s:lib.Codec.decoding_table["187,145"] = [54106] let s:lib.Codec.decoding_table["187,146"] = [54107] let s:lib.Codec.decoding_table["187,147"] = [54108] let s:lib.Codec.decoding_table["187,148"] = [54109] let s:lib.Codec.decoding_table["187,149"] = [54110] let s:lib.Codec.decoding_table["187,150"] = [54111] let s:lib.Codec.decoding_table["187,151"] = [54112] let s:lib.Codec.decoding_table["187,152"] = [54113] let s:lib.Codec.decoding_table["187,153"] = [54114] let s:lib.Codec.decoding_table["187,154"] = [54115] let s:lib.Codec.decoding_table["187,155"] = [54116] let s:lib.Codec.decoding_table["187,156"] = [54117] let s:lib.Codec.decoding_table["187,157"] = [54118] let s:lib.Codec.decoding_table["187,158"] = [54119] let s:lib.Codec.decoding_table["187,159"] = [54120] let s:lib.Codec.decoding_table["187,160"] = [54121] let s:lib.Codec.decoding_table["187,161"] = [48744] let s:lib.Codec.decoding_table["187,162"] = [48746] let s:lib.Codec.decoding_table["187,163"] = [48752] let s:lib.Codec.decoding_table["187,164"] = [48753] let s:lib.Codec.decoding_table["187,165"] = [48755] let s:lib.Codec.decoding_table["187,166"] = [48756] let s:lib.Codec.decoding_table["187,167"] = [48757] let s:lib.Codec.decoding_table["187,168"] = [48763] let s:lib.Codec.decoding_table["187,169"] = [48764] let s:lib.Codec.decoding_table["187,170"] = [48765] let s:lib.Codec.decoding_table["187,171"] = [48768] let s:lib.Codec.decoding_table["187,172"] = [48772] let s:lib.Codec.decoding_table["187,173"] = [48780] let s:lib.Codec.decoding_table["187,174"] = [48781] let s:lib.Codec.decoding_table["187,175"] = [48783] let s:lib.Codec.decoding_table["187,176"] = [48784] let s:lib.Codec.decoding_table["187,177"] = [48785] let s:lib.Codec.decoding_table["187,178"] = [48792] let s:lib.Codec.decoding_table["187,179"] = [48793] let s:lib.Codec.decoding_table["187,180"] = [48808] let s:lib.Codec.decoding_table["187,181"] = [48848] let s:lib.Codec.decoding_table["187,182"] = [48849] let s:lib.Codec.decoding_table["187,183"] = [48852] let s:lib.Codec.decoding_table["187,184"] = [48855] let s:lib.Codec.decoding_table["187,185"] = [48856] let s:lib.Codec.decoding_table["187,186"] = [48864] let s:lib.Codec.decoding_table["187,187"] = [48867] let s:lib.Codec.decoding_table["187,188"] = [48868] let s:lib.Codec.decoding_table["187,189"] = [48869] let s:lib.Codec.decoding_table["187,190"] = [48876] let s:lib.Codec.decoding_table["187,191"] = [48897] let s:lib.Codec.decoding_table["187,192"] = [48904] let s:lib.Codec.decoding_table["187,193"] = [48905] let s:lib.Codec.decoding_table["187,194"] = [48920] let s:lib.Codec.decoding_table["187,195"] = [48921] let s:lib.Codec.decoding_table["187,196"] = [48923] let s:lib.Codec.decoding_table["187,197"] = [48924] let s:lib.Codec.decoding_table["187,198"] = [48925] let s:lib.Codec.decoding_table["187,199"] = [48960] let s:lib.Codec.decoding_table["187,200"] = [48961] let s:lib.Codec.decoding_table["187,201"] = [48964] let s:lib.Codec.decoding_table["187,202"] = [48968] let s:lib.Codec.decoding_table["187,203"] = [48976] let s:lib.Codec.decoding_table["187,204"] = [48977] let s:lib.Codec.decoding_table["187,205"] = [48981] let s:lib.Codec.decoding_table["187,206"] = [49044] let s:lib.Codec.decoding_table["187,207"] = [49072] let s:lib.Codec.decoding_table["187,208"] = [49093] let s:lib.Codec.decoding_table["187,209"] = [49100] let s:lib.Codec.decoding_table["187,210"] = [49101] let s:lib.Codec.decoding_table["187,211"] = [49104] let s:lib.Codec.decoding_table["187,212"] = [49108] let s:lib.Codec.decoding_table["187,213"] = [49116] let s:lib.Codec.decoding_table["187,214"] = [49119] let s:lib.Codec.decoding_table["187,215"] = [49121] let s:lib.Codec.decoding_table["187,216"] = [49212] let s:lib.Codec.decoding_table["187,217"] = [49233] let s:lib.Codec.decoding_table["187,218"] = [49240] let s:lib.Codec.decoding_table["187,219"] = [49244] let s:lib.Codec.decoding_table["187,220"] = [49248] let s:lib.Codec.decoding_table["187,221"] = [49256] let s:lib.Codec.decoding_table["187,222"] = [49257] let s:lib.Codec.decoding_table["187,223"] = [49296] let s:lib.Codec.decoding_table["187,224"] = [49297] let s:lib.Codec.decoding_table["187,225"] = [49300] let s:lib.Codec.decoding_table["187,226"] = [49304] let s:lib.Codec.decoding_table["187,227"] = [49312] let s:lib.Codec.decoding_table["187,228"] = [49313] let s:lib.Codec.decoding_table["187,229"] = [49315] let s:lib.Codec.decoding_table["187,230"] = [49317] let s:lib.Codec.decoding_table["187,231"] = [49324] let s:lib.Codec.decoding_table["187,232"] = [49325] let s:lib.Codec.decoding_table["187,233"] = [49327] let s:lib.Codec.decoding_table["187,234"] = [49328] let s:lib.Codec.decoding_table["187,235"] = [49331] let s:lib.Codec.decoding_table["187,236"] = [49332] let s:lib.Codec.decoding_table["187,237"] = [49333] let s:lib.Codec.decoding_table["187,238"] = [49334] let s:lib.Codec.decoding_table["187,239"] = [49340] let s:lib.Codec.decoding_table["187,240"] = [49341] let s:lib.Codec.decoding_table["187,241"] = [49343] let s:lib.Codec.decoding_table["187,242"] = [49344] let s:lib.Codec.decoding_table["187,243"] = [49345] let s:lib.Codec.decoding_table["187,244"] = [49349] let s:lib.Codec.decoding_table["187,245"] = [49352] let s:lib.Codec.decoding_table["187,246"] = [49353] let s:lib.Codec.decoding_table["187,247"] = [49356] let s:lib.Codec.decoding_table["187,248"] = [49360] let s:lib.Codec.decoding_table["187,249"] = [49368] let s:lib.Codec.decoding_table["187,250"] = [49369] let s:lib.Codec.decoding_table["187,251"] = [49371] let s:lib.Codec.decoding_table["187,252"] = [49372] let s:lib.Codec.decoding_table["187,253"] = [49373] let s:lib.Codec.decoding_table["187,254"] = [49380] let s:lib.Codec.decoding_table["188,65"] = [54122] let s:lib.Codec.decoding_table["188,66"] = [54123] let s:lib.Codec.decoding_table["188,67"] = [54124] let s:lib.Codec.decoding_table["188,68"] = [54125] let s:lib.Codec.decoding_table["188,69"] = [54126] let s:lib.Codec.decoding_table["188,70"] = [54127] let s:lib.Codec.decoding_table["188,71"] = [54128] let s:lib.Codec.decoding_table["188,72"] = [54129] let s:lib.Codec.decoding_table["188,73"] = [54130] let s:lib.Codec.decoding_table["188,74"] = [54131] let s:lib.Codec.decoding_table["188,75"] = [54132] let s:lib.Codec.decoding_table["188,76"] = [54133] let s:lib.Codec.decoding_table["188,77"] = [54134] let s:lib.Codec.decoding_table["188,78"] = [54135] let s:lib.Codec.decoding_table["188,79"] = [54136] let s:lib.Codec.decoding_table["188,80"] = [54137] let s:lib.Codec.decoding_table["188,81"] = [54138] let s:lib.Codec.decoding_table["188,82"] = [54139] let s:lib.Codec.decoding_table["188,83"] = [54142] let s:lib.Codec.decoding_table["188,84"] = [54143] let s:lib.Codec.decoding_table["188,85"] = [54145] let s:lib.Codec.decoding_table["188,86"] = [54146] let s:lib.Codec.decoding_table["188,87"] = [54147] let s:lib.Codec.decoding_table["188,88"] = [54149] let s:lib.Codec.decoding_table["188,89"] = [54150] let s:lib.Codec.decoding_table["188,90"] = [54151] let s:lib.Codec.decoding_table["188,97"] = [54152] let s:lib.Codec.decoding_table["188,98"] = [54153] let s:lib.Codec.decoding_table["188,99"] = [54154] let s:lib.Codec.decoding_table["188,100"] = [54155] let s:lib.Codec.decoding_table["188,101"] = [54158] let s:lib.Codec.decoding_table["188,102"] = [54162] let s:lib.Codec.decoding_table["188,103"] = [54163] let s:lib.Codec.decoding_table["188,104"] = [54164] let s:lib.Codec.decoding_table["188,105"] = [54165] let s:lib.Codec.decoding_table["188,106"] = [54166] let s:lib.Codec.decoding_table["188,107"] = [54167] let s:lib.Codec.decoding_table["188,108"] = [54170] let s:lib.Codec.decoding_table["188,109"] = [54171] let s:lib.Codec.decoding_table["188,110"] = [54173] let s:lib.Codec.decoding_table["188,111"] = [54174] let s:lib.Codec.decoding_table["188,112"] = [54175] let s:lib.Codec.decoding_table["188,113"] = [54177] let s:lib.Codec.decoding_table["188,114"] = [54178] let s:lib.Codec.decoding_table["188,115"] = [54179] let s:lib.Codec.decoding_table["188,116"] = [54180] let s:lib.Codec.decoding_table["188,117"] = [54181] let s:lib.Codec.decoding_table["188,118"] = [54182] let s:lib.Codec.decoding_table["188,119"] = [54183] let s:lib.Codec.decoding_table["188,120"] = [54186] let s:lib.Codec.decoding_table["188,121"] = [54188] let s:lib.Codec.decoding_table["188,122"] = [54190] let s:lib.Codec.decoding_table["188,129"] = [54191] let s:lib.Codec.decoding_table["188,130"] = [54192] let s:lib.Codec.decoding_table["188,131"] = [54193] let s:lib.Codec.decoding_table["188,132"] = [54194] let s:lib.Codec.decoding_table["188,133"] = [54195] let s:lib.Codec.decoding_table["188,134"] = [54197] let s:lib.Codec.decoding_table["188,135"] = [54198] let s:lib.Codec.decoding_table["188,136"] = [54199] let s:lib.Codec.decoding_table["188,137"] = [54201] let s:lib.Codec.decoding_table["188,138"] = [54202] let s:lib.Codec.decoding_table["188,139"] = [54203] let s:lib.Codec.decoding_table["188,140"] = [54205] let s:lib.Codec.decoding_table["188,141"] = [54206] let s:lib.Codec.decoding_table["188,142"] = [54207] let s:lib.Codec.decoding_table["188,143"] = [54208] let s:lib.Codec.decoding_table["188,144"] = [54209] let s:lib.Codec.decoding_table["188,145"] = [54210] let s:lib.Codec.decoding_table["188,146"] = [54211] let s:lib.Codec.decoding_table["188,147"] = [54214] let s:lib.Codec.decoding_table["188,148"] = [54215] let s:lib.Codec.decoding_table["188,149"] = [54218] let s:lib.Codec.decoding_table["188,150"] = [54219] let s:lib.Codec.decoding_table["188,151"] = [54220] let s:lib.Codec.decoding_table["188,152"] = [54221] let s:lib.Codec.decoding_table["188,153"] = [54222] let s:lib.Codec.decoding_table["188,154"] = [54223] let s:lib.Codec.decoding_table["188,155"] = [54225] let s:lib.Codec.decoding_table["188,156"] = [54226] let s:lib.Codec.decoding_table["188,157"] = [54227] let s:lib.Codec.decoding_table["188,158"] = [54228] let s:lib.Codec.decoding_table["188,159"] = [54229] let s:lib.Codec.decoding_table["188,160"] = [54230] let s:lib.Codec.decoding_table["188,161"] = [49381] let s:lib.Codec.decoding_table["188,162"] = [49384] let s:lib.Codec.decoding_table["188,163"] = [49388] let s:lib.Codec.decoding_table["188,164"] = [49396] let s:lib.Codec.decoding_table["188,165"] = [49397] let s:lib.Codec.decoding_table["188,166"] = [49399] let s:lib.Codec.decoding_table["188,167"] = [49401] let s:lib.Codec.decoding_table["188,168"] = [49408] let s:lib.Codec.decoding_table["188,169"] = [49412] let s:lib.Codec.decoding_table["188,170"] = [49416] let s:lib.Codec.decoding_table["188,171"] = [49424] let s:lib.Codec.decoding_table["188,172"] = [49429] let s:lib.Codec.decoding_table["188,173"] = [49436] let s:lib.Codec.decoding_table["188,174"] = [49437] let s:lib.Codec.decoding_table["188,175"] = [49438] let s:lib.Codec.decoding_table["188,176"] = [49439] let s:lib.Codec.decoding_table["188,177"] = [49440] let s:lib.Codec.decoding_table["188,178"] = [49443] let s:lib.Codec.decoding_table["188,179"] = [49444] let s:lib.Codec.decoding_table["188,180"] = [49446] let s:lib.Codec.decoding_table["188,181"] = [49447] let s:lib.Codec.decoding_table["188,182"] = [49452] let s:lib.Codec.decoding_table["188,183"] = [49453] let s:lib.Codec.decoding_table["188,184"] = [49455] let s:lib.Codec.decoding_table["188,185"] = [49456] let s:lib.Codec.decoding_table["188,186"] = [49457] let s:lib.Codec.decoding_table["188,187"] = [49462] let s:lib.Codec.decoding_table["188,188"] = [49464] let s:lib.Codec.decoding_table["188,189"] = [49465] let s:lib.Codec.decoding_table["188,190"] = [49468] let s:lib.Codec.decoding_table["188,191"] = [49472] let s:lib.Codec.decoding_table["188,192"] = [49480] let s:lib.Codec.decoding_table["188,193"] = [49481] let s:lib.Codec.decoding_table["188,194"] = [49483] let s:lib.Codec.decoding_table["188,195"] = [49484] let s:lib.Codec.decoding_table["188,196"] = [49485] let s:lib.Codec.decoding_table["188,197"] = [49492] let s:lib.Codec.decoding_table["188,198"] = [49493] let s:lib.Codec.decoding_table["188,199"] = [49496] let s:lib.Codec.decoding_table["188,200"] = [49500] let s:lib.Codec.decoding_table["188,201"] = [49508] let s:lib.Codec.decoding_table["188,202"] = [49509] let s:lib.Codec.decoding_table["188,203"] = [49511] let s:lib.Codec.decoding_table["188,204"] = [49512] let s:lib.Codec.decoding_table["188,205"] = [49513] let s:lib.Codec.decoding_table["188,206"] = [49520] let s:lib.Codec.decoding_table["188,207"] = [49524] let s:lib.Codec.decoding_table["188,208"] = [49528] let s:lib.Codec.decoding_table["188,209"] = [49541] let s:lib.Codec.decoding_table["188,210"] = [49548] let s:lib.Codec.decoding_table["188,211"] = [49549] let s:lib.Codec.decoding_table["188,212"] = [49550] let s:lib.Codec.decoding_table["188,213"] = [49552] let s:lib.Codec.decoding_table["188,214"] = [49556] let s:lib.Codec.decoding_table["188,215"] = [49558] let s:lib.Codec.decoding_table["188,216"] = [49564] let s:lib.Codec.decoding_table["188,217"] = [49565] let s:lib.Codec.decoding_table["188,218"] = [49567] let s:lib.Codec.decoding_table["188,219"] = [49569] let s:lib.Codec.decoding_table["188,220"] = [49573] let s:lib.Codec.decoding_table["188,221"] = [49576] let s:lib.Codec.decoding_table["188,222"] = [49577] let s:lib.Codec.decoding_table["188,223"] = [49580] let s:lib.Codec.decoding_table["188,224"] = [49584] let s:lib.Codec.decoding_table["188,225"] = [49597] let s:lib.Codec.decoding_table["188,226"] = [49604] let s:lib.Codec.decoding_table["188,227"] = [49608] let s:lib.Codec.decoding_table["188,228"] = [49612] let s:lib.Codec.decoding_table["188,229"] = [49620] let s:lib.Codec.decoding_table["188,230"] = [49623] let s:lib.Codec.decoding_table["188,231"] = [49624] let s:lib.Codec.decoding_table["188,232"] = [49632] let s:lib.Codec.decoding_table["188,233"] = [49636] let s:lib.Codec.decoding_table["188,234"] = [49640] let s:lib.Codec.decoding_table["188,235"] = [49648] let s:lib.Codec.decoding_table["188,236"] = [49649] let s:lib.Codec.decoding_table["188,237"] = [49651] let s:lib.Codec.decoding_table["188,238"] = [49660] let s:lib.Codec.decoding_table["188,239"] = [49661] let s:lib.Codec.decoding_table["188,240"] = [49664] let s:lib.Codec.decoding_table["188,241"] = [49668] let s:lib.Codec.decoding_table["188,242"] = [49676] let s:lib.Codec.decoding_table["188,243"] = [49677] let s:lib.Codec.decoding_table["188,244"] = [49679] let s:lib.Codec.decoding_table["188,245"] = [49681] let s:lib.Codec.decoding_table["188,246"] = [49688] let s:lib.Codec.decoding_table["188,247"] = [49689] let s:lib.Codec.decoding_table["188,248"] = [49692] let s:lib.Codec.decoding_table["188,249"] = [49695] let s:lib.Codec.decoding_table["188,250"] = [49696] let s:lib.Codec.decoding_table["188,251"] = [49704] let s:lib.Codec.decoding_table["188,252"] = [49705] let s:lib.Codec.decoding_table["188,253"] = [49707] let s:lib.Codec.decoding_table["188,254"] = [49709] let s:lib.Codec.decoding_table["189,65"] = [54231] let s:lib.Codec.decoding_table["189,66"] = [54233] let s:lib.Codec.decoding_table["189,67"] = [54234] let s:lib.Codec.decoding_table["189,68"] = [54235] let s:lib.Codec.decoding_table["189,69"] = [54236] let s:lib.Codec.decoding_table["189,70"] = [54237] let s:lib.Codec.decoding_table["189,71"] = [54238] let s:lib.Codec.decoding_table["189,72"] = [54239] let s:lib.Codec.decoding_table["189,73"] = [54240] let s:lib.Codec.decoding_table["189,74"] = [54242] let s:lib.Codec.decoding_table["189,75"] = [54244] let s:lib.Codec.decoding_table["189,76"] = [54245] let s:lib.Codec.decoding_table["189,77"] = [54246] let s:lib.Codec.decoding_table["189,78"] = [54247] let s:lib.Codec.decoding_table["189,79"] = [54248] let s:lib.Codec.decoding_table["189,80"] = [54249] let s:lib.Codec.decoding_table["189,81"] = [54250] let s:lib.Codec.decoding_table["189,82"] = [54251] let s:lib.Codec.decoding_table["189,83"] = [54254] let s:lib.Codec.decoding_table["189,84"] = [54255] let s:lib.Codec.decoding_table["189,85"] = [54257] let s:lib.Codec.decoding_table["189,86"] = [54258] let s:lib.Codec.decoding_table["189,87"] = [54259] let s:lib.Codec.decoding_table["189,88"] = [54261] let s:lib.Codec.decoding_table["189,89"] = [54262] let s:lib.Codec.decoding_table["189,90"] = [54263] let s:lib.Codec.decoding_table["189,97"] = [54264] let s:lib.Codec.decoding_table["189,98"] = [54265] let s:lib.Codec.decoding_table["189,99"] = [54266] let s:lib.Codec.decoding_table["189,100"] = [54267] let s:lib.Codec.decoding_table["189,101"] = [54270] let s:lib.Codec.decoding_table["189,102"] = [54272] let s:lib.Codec.decoding_table["189,103"] = [54274] let s:lib.Codec.decoding_table["189,104"] = [54275] let s:lib.Codec.decoding_table["189,105"] = [54276] let s:lib.Codec.decoding_table["189,106"] = [54277] let s:lib.Codec.decoding_table["189,107"] = [54278] let s:lib.Codec.decoding_table["189,108"] = [54279] let s:lib.Codec.decoding_table["189,109"] = [54281] let s:lib.Codec.decoding_table["189,110"] = [54282] let s:lib.Codec.decoding_table["189,111"] = [54283] let s:lib.Codec.decoding_table["189,112"] = [54284] let s:lib.Codec.decoding_table["189,113"] = [54285] let s:lib.Codec.decoding_table["189,114"] = [54286] let s:lib.Codec.decoding_table["189,115"] = [54287] let s:lib.Codec.decoding_table["189,116"] = [54288] let s:lib.Codec.decoding_table["189,117"] = [54289] let s:lib.Codec.decoding_table["189,118"] = [54290] let s:lib.Codec.decoding_table["189,119"] = [54291] let s:lib.Codec.decoding_table["189,120"] = [54292] let s:lib.Codec.decoding_table["189,121"] = [54293] let s:lib.Codec.decoding_table["189,122"] = [54294] let s:lib.Codec.decoding_table["189,129"] = [54295] let s:lib.Codec.decoding_table["189,130"] = [54296] let s:lib.Codec.decoding_table["189,131"] = [54297] let s:lib.Codec.decoding_table["189,132"] = [54298] let s:lib.Codec.decoding_table["189,133"] = [54299] let s:lib.Codec.decoding_table["189,134"] = [54300] let s:lib.Codec.decoding_table["189,135"] = [54302] let s:lib.Codec.decoding_table["189,136"] = [54303] let s:lib.Codec.decoding_table["189,137"] = [54304] let s:lib.Codec.decoding_table["189,138"] = [54305] let s:lib.Codec.decoding_table["189,139"] = [54306] let s:lib.Codec.decoding_table["189,140"] = [54307] let s:lib.Codec.decoding_table["189,141"] = [54308] let s:lib.Codec.decoding_table["189,142"] = [54309] let s:lib.Codec.decoding_table["189,143"] = [54310] let s:lib.Codec.decoding_table["189,144"] = [54311] let s:lib.Codec.decoding_table["189,145"] = [54312] let s:lib.Codec.decoding_table["189,146"] = [54313] let s:lib.Codec.decoding_table["189,147"] = [54314] let s:lib.Codec.decoding_table["189,148"] = [54315] let s:lib.Codec.decoding_table["189,149"] = [54316] let s:lib.Codec.decoding_table["189,150"] = [54317] let s:lib.Codec.decoding_table["189,151"] = [54318] let s:lib.Codec.decoding_table["189,152"] = [54319] let s:lib.Codec.decoding_table["189,153"] = [54320] let s:lib.Codec.decoding_table["189,154"] = [54321] let s:lib.Codec.decoding_table["189,155"] = [54322] let s:lib.Codec.decoding_table["189,156"] = [54323] let s:lib.Codec.decoding_table["189,157"] = [54324] let s:lib.Codec.decoding_table["189,158"] = [54325] let s:lib.Codec.decoding_table["189,159"] = [54326] let s:lib.Codec.decoding_table["189,160"] = [54327] let s:lib.Codec.decoding_table["189,161"] = [49711] let s:lib.Codec.decoding_table["189,162"] = [49713] let s:lib.Codec.decoding_table["189,163"] = [49714] let s:lib.Codec.decoding_table["189,164"] = [49716] let s:lib.Codec.decoding_table["189,165"] = [49736] let s:lib.Codec.decoding_table["189,166"] = [49744] let s:lib.Codec.decoding_table["189,167"] = [49745] let s:lib.Codec.decoding_table["189,168"] = [49748] let s:lib.Codec.decoding_table["189,169"] = [49752] let s:lib.Codec.decoding_table["189,170"] = [49760] let s:lib.Codec.decoding_table["189,171"] = [49765] let s:lib.Codec.decoding_table["189,172"] = [49772] let s:lib.Codec.decoding_table["189,173"] = [49773] let s:lib.Codec.decoding_table["189,174"] = [49776] let s:lib.Codec.decoding_table["189,175"] = [49780] let s:lib.Codec.decoding_table["189,176"] = [49788] let s:lib.Codec.decoding_table["189,177"] = [49789] let s:lib.Codec.decoding_table["189,178"] = [49791] let s:lib.Codec.decoding_table["189,179"] = [49793] let s:lib.Codec.decoding_table["189,180"] = [49800] let s:lib.Codec.decoding_table["189,181"] = [49801] let s:lib.Codec.decoding_table["189,182"] = [49808] let s:lib.Codec.decoding_table["189,183"] = [49816] let s:lib.Codec.decoding_table["189,184"] = [49819] let s:lib.Codec.decoding_table["189,185"] = [49821] let s:lib.Codec.decoding_table["189,186"] = [49828] let s:lib.Codec.decoding_table["189,187"] = [49829] let s:lib.Codec.decoding_table["189,188"] = [49832] let s:lib.Codec.decoding_table["189,189"] = [49836] let s:lib.Codec.decoding_table["189,190"] = [49837] let s:lib.Codec.decoding_table["189,191"] = [49844] let s:lib.Codec.decoding_table["189,192"] = [49845] let s:lib.Codec.decoding_table["189,193"] = [49847] let s:lib.Codec.decoding_table["189,194"] = [49849] let s:lib.Codec.decoding_table["189,195"] = [49884] let s:lib.Codec.decoding_table["189,196"] = [49885] let s:lib.Codec.decoding_table["189,197"] = [49888] let s:lib.Codec.decoding_table["189,198"] = [49891] let s:lib.Codec.decoding_table["189,199"] = [49892] let s:lib.Codec.decoding_table["189,200"] = [49899] let s:lib.Codec.decoding_table["189,201"] = [49900] let s:lib.Codec.decoding_table["189,202"] = [49901] let s:lib.Codec.decoding_table["189,203"] = [49903] let s:lib.Codec.decoding_table["189,204"] = [49905] let s:lib.Codec.decoding_table["189,205"] = [49910] let s:lib.Codec.decoding_table["189,206"] = [49912] let s:lib.Codec.decoding_table["189,207"] = [49913] let s:lib.Codec.decoding_table["189,208"] = [49915] let s:lib.Codec.decoding_table["189,209"] = [49916] let s:lib.Codec.decoding_table["189,210"] = [49920] let s:lib.Codec.decoding_table["189,211"] = [49928] let s:lib.Codec.decoding_table["189,212"] = [49929] let s:lib.Codec.decoding_table["189,213"] = [49932] let s:lib.Codec.decoding_table["189,214"] = [49933] let s:lib.Codec.decoding_table["189,215"] = [49939] let s:lib.Codec.decoding_table["189,216"] = [49940] let s:lib.Codec.decoding_table["189,217"] = [49941] let s:lib.Codec.decoding_table["189,218"] = [49944] let s:lib.Codec.decoding_table["189,219"] = [49948] let s:lib.Codec.decoding_table["189,220"] = [49956] let s:lib.Codec.decoding_table["189,221"] = [49957] let s:lib.Codec.decoding_table["189,222"] = [49960] let s:lib.Codec.decoding_table["189,223"] = [49961] let s:lib.Codec.decoding_table["189,224"] = [49989] let s:lib.Codec.decoding_table["189,225"] = [50024] let s:lib.Codec.decoding_table["189,226"] = [50025] let s:lib.Codec.decoding_table["189,227"] = [50028] let s:lib.Codec.decoding_table["189,228"] = [50032] let s:lib.Codec.decoding_table["189,229"] = [50034] let s:lib.Codec.decoding_table["189,230"] = [50040] let s:lib.Codec.decoding_table["189,231"] = [50041] let s:lib.Codec.decoding_table["189,232"] = [50044] let s:lib.Codec.decoding_table["189,233"] = [50045] let s:lib.Codec.decoding_table["189,234"] = [50052] let s:lib.Codec.decoding_table["189,235"] = [50056] let s:lib.Codec.decoding_table["189,236"] = [50060] let s:lib.Codec.decoding_table["189,237"] = [50112] let s:lib.Codec.decoding_table["189,238"] = [50136] let s:lib.Codec.decoding_table["189,239"] = [50137] let s:lib.Codec.decoding_table["189,240"] = [50140] let s:lib.Codec.decoding_table["189,241"] = [50143] let s:lib.Codec.decoding_table["189,242"] = [50144] let s:lib.Codec.decoding_table["189,243"] = [50146] let s:lib.Codec.decoding_table["189,244"] = [50152] let s:lib.Codec.decoding_table["189,245"] = [50153] let s:lib.Codec.decoding_table["189,246"] = [50157] let s:lib.Codec.decoding_table["189,247"] = [50164] let s:lib.Codec.decoding_table["189,248"] = [50165] let s:lib.Codec.decoding_table["189,249"] = [50168] let s:lib.Codec.decoding_table["189,250"] = [50184] let s:lib.Codec.decoding_table["189,251"] = [50192] let s:lib.Codec.decoding_table["189,252"] = [50212] let s:lib.Codec.decoding_table["189,253"] = [50220] let s:lib.Codec.decoding_table["189,254"] = [50224] let s:lib.Codec.decoding_table["190,65"] = [54328] let s:lib.Codec.decoding_table["190,66"] = [54329] let s:lib.Codec.decoding_table["190,67"] = [54330] let s:lib.Codec.decoding_table["190,68"] = [54331] let s:lib.Codec.decoding_table["190,69"] = [54332] let s:lib.Codec.decoding_table["190,70"] = [54333] let s:lib.Codec.decoding_table["190,71"] = [54334] let s:lib.Codec.decoding_table["190,72"] = [54335] let s:lib.Codec.decoding_table["190,73"] = [54337] let s:lib.Codec.decoding_table["190,74"] = [54338] let s:lib.Codec.decoding_table["190,75"] = [54339] let s:lib.Codec.decoding_table["190,76"] = [54341] let s:lib.Codec.decoding_table["190,77"] = [54342] let s:lib.Codec.decoding_table["190,78"] = [54343] let s:lib.Codec.decoding_table["190,79"] = [54344] let s:lib.Codec.decoding_table["190,80"] = [54345] let s:lib.Codec.decoding_table["190,81"] = [54346] let s:lib.Codec.decoding_table["190,82"] = [54347] let s:lib.Codec.decoding_table["190,83"] = [54348] let s:lib.Codec.decoding_table["190,84"] = [54349] let s:lib.Codec.decoding_table["190,85"] = [54350] let s:lib.Codec.decoding_table["190,86"] = [54351] let s:lib.Codec.decoding_table["190,87"] = [54352] let s:lib.Codec.decoding_table["190,88"] = [54353] let s:lib.Codec.decoding_table["190,89"] = [54354] let s:lib.Codec.decoding_table["190,90"] = [54355] let s:lib.Codec.decoding_table["190,97"] = [54356] let s:lib.Codec.decoding_table["190,98"] = [54357] let s:lib.Codec.decoding_table["190,99"] = [54358] let s:lib.Codec.decoding_table["190,100"] = [54359] let s:lib.Codec.decoding_table["190,101"] = [54360] let s:lib.Codec.decoding_table["190,102"] = [54361] let s:lib.Codec.decoding_table["190,103"] = [54362] let s:lib.Codec.decoding_table["190,104"] = [54363] let s:lib.Codec.decoding_table["190,105"] = [54365] let s:lib.Codec.decoding_table["190,106"] = [54366] let s:lib.Codec.decoding_table["190,107"] = [54367] let s:lib.Codec.decoding_table["190,108"] = [54369] let s:lib.Codec.decoding_table["190,109"] = [54370] let s:lib.Codec.decoding_table["190,110"] = [54371] let s:lib.Codec.decoding_table["190,111"] = [54373] let s:lib.Codec.decoding_table["190,112"] = [54374] let s:lib.Codec.decoding_table["190,113"] = [54375] let s:lib.Codec.decoding_table["190,114"] = [54376] let s:lib.Codec.decoding_table["190,115"] = [54377] let s:lib.Codec.decoding_table["190,116"] = [54378] let s:lib.Codec.decoding_table["190,117"] = [54379] let s:lib.Codec.decoding_table["190,118"] = [54380] let s:lib.Codec.decoding_table["190,119"] = [54382] let s:lib.Codec.decoding_table["190,120"] = [54384] let s:lib.Codec.decoding_table["190,121"] = [54385] let s:lib.Codec.decoding_table["190,122"] = [54386] let s:lib.Codec.decoding_table["190,129"] = [54387] let s:lib.Codec.decoding_table["190,130"] = [54388] let s:lib.Codec.decoding_table["190,131"] = [54389] let s:lib.Codec.decoding_table["190,132"] = [54390] let s:lib.Codec.decoding_table["190,133"] = [54391] let s:lib.Codec.decoding_table["190,134"] = [54394] let s:lib.Codec.decoding_table["190,135"] = [54395] let s:lib.Codec.decoding_table["190,136"] = [54397] let s:lib.Codec.decoding_table["190,137"] = [54398] let s:lib.Codec.decoding_table["190,138"] = [54401] let s:lib.Codec.decoding_table["190,139"] = [54403] let s:lib.Codec.decoding_table["190,140"] = [54404] let s:lib.Codec.decoding_table["190,141"] = [54405] let s:lib.Codec.decoding_table["190,142"] = [54406] let s:lib.Codec.decoding_table["190,143"] = [54407] let s:lib.Codec.decoding_table["190,144"] = [54410] let s:lib.Codec.decoding_table["190,145"] = [54412] let s:lib.Codec.decoding_table["190,146"] = [54414] let s:lib.Codec.decoding_table["190,147"] = [54415] let s:lib.Codec.decoding_table["190,148"] = [54416] let s:lib.Codec.decoding_table["190,149"] = [54417] let s:lib.Codec.decoding_table["190,150"] = [54418] let s:lib.Codec.decoding_table["190,151"] = [54419] let s:lib.Codec.decoding_table["190,152"] = [54421] let s:lib.Codec.decoding_table["190,153"] = [54422] let s:lib.Codec.decoding_table["190,154"] = [54423] let s:lib.Codec.decoding_table["190,155"] = [54424] let s:lib.Codec.decoding_table["190,156"] = [54425] let s:lib.Codec.decoding_table["190,157"] = [54426] let s:lib.Codec.decoding_table["190,158"] = [54427] let s:lib.Codec.decoding_table["190,159"] = [54428] let s:lib.Codec.decoding_table["190,160"] = [54429] let s:lib.Codec.decoding_table["190,161"] = [50228] let s:lib.Codec.decoding_table["190,162"] = [50236] let s:lib.Codec.decoding_table["190,163"] = [50237] let s:lib.Codec.decoding_table["190,164"] = [50248] let s:lib.Codec.decoding_table["190,165"] = [50276] let s:lib.Codec.decoding_table["190,166"] = [50277] let s:lib.Codec.decoding_table["190,167"] = [50280] let s:lib.Codec.decoding_table["190,168"] = [50284] let s:lib.Codec.decoding_table["190,169"] = [50292] let s:lib.Codec.decoding_table["190,170"] = [50293] let s:lib.Codec.decoding_table["190,171"] = [50297] let s:lib.Codec.decoding_table["190,172"] = [50304] let s:lib.Codec.decoding_table["190,173"] = [50324] let s:lib.Codec.decoding_table["190,174"] = [50332] let s:lib.Codec.decoding_table["190,175"] = [50360] let s:lib.Codec.decoding_table["190,176"] = [50364] let s:lib.Codec.decoding_table["190,177"] = [50409] let s:lib.Codec.decoding_table["190,178"] = [50416] let s:lib.Codec.decoding_table["190,179"] = [50417] let s:lib.Codec.decoding_table["190,180"] = [50420] let s:lib.Codec.decoding_table["190,181"] = [50424] let s:lib.Codec.decoding_table["190,182"] = [50426] let s:lib.Codec.decoding_table["190,183"] = [50431] let s:lib.Codec.decoding_table["190,184"] = [50432] let s:lib.Codec.decoding_table["190,185"] = [50433] let s:lib.Codec.decoding_table["190,186"] = [50444] let s:lib.Codec.decoding_table["190,187"] = [50448] let s:lib.Codec.decoding_table["190,188"] = [50452] let s:lib.Codec.decoding_table["190,189"] = [50460] let s:lib.Codec.decoding_table["190,190"] = [50472] let s:lib.Codec.decoding_table["190,191"] = [50473] let s:lib.Codec.decoding_table["190,192"] = [50476] let s:lib.Codec.decoding_table["190,193"] = [50480] let s:lib.Codec.decoding_table["190,194"] = [50488] let s:lib.Codec.decoding_table["190,195"] = [50489] let s:lib.Codec.decoding_table["190,196"] = [50491] let s:lib.Codec.decoding_table["190,197"] = [50493] let s:lib.Codec.decoding_table["190,198"] = [50500] let s:lib.Codec.decoding_table["190,199"] = [50501] let s:lib.Codec.decoding_table["190,200"] = [50504] let s:lib.Codec.decoding_table["190,201"] = [50505] let s:lib.Codec.decoding_table["190,202"] = [50506] let s:lib.Codec.decoding_table["190,203"] = [50508] let s:lib.Codec.decoding_table["190,204"] = [50509] let s:lib.Codec.decoding_table["190,205"] = [50510] let s:lib.Codec.decoding_table["190,206"] = [50515] let s:lib.Codec.decoding_table["190,207"] = [50516] let s:lib.Codec.decoding_table["190,208"] = [50517] let s:lib.Codec.decoding_table["190,209"] = [50519] let s:lib.Codec.decoding_table["190,210"] = [50520] let s:lib.Codec.decoding_table["190,211"] = [50521] let s:lib.Codec.decoding_table["190,212"] = [50525] let s:lib.Codec.decoding_table["190,213"] = [50526] let s:lib.Codec.decoding_table["190,214"] = [50528] let s:lib.Codec.decoding_table["190,215"] = [50529] let s:lib.Codec.decoding_table["190,216"] = [50532] let s:lib.Codec.decoding_table["190,217"] = [50536] let s:lib.Codec.decoding_table["190,218"] = [50544] let s:lib.Codec.decoding_table["190,219"] = [50545] let s:lib.Codec.decoding_table["190,220"] = [50547] let s:lib.Codec.decoding_table["190,221"] = [50548] let s:lib.Codec.decoding_table["190,222"] = [50549] let s:lib.Codec.decoding_table["190,223"] = [50556] let s:lib.Codec.decoding_table["190,224"] = [50557] let s:lib.Codec.decoding_table["190,225"] = [50560] let s:lib.Codec.decoding_table["190,226"] = [50564] let s:lib.Codec.decoding_table["190,227"] = [50567] let s:lib.Codec.decoding_table["190,228"] = [50572] let s:lib.Codec.decoding_table["190,229"] = [50573] let s:lib.Codec.decoding_table["190,230"] = [50575] let s:lib.Codec.decoding_table["190,231"] = [50577] let s:lib.Codec.decoding_table["190,232"] = [50581] let s:lib.Codec.decoding_table["190,233"] = [50583] let s:lib.Codec.decoding_table["190,234"] = [50584] let s:lib.Codec.decoding_table["190,235"] = [50588] let s:lib.Codec.decoding_table["190,236"] = [50592] let s:lib.Codec.decoding_table["190,237"] = [50601] let s:lib.Codec.decoding_table["190,238"] = [50612] let s:lib.Codec.decoding_table["190,239"] = [50613] let s:lib.Codec.decoding_table["190,240"] = [50616] let s:lib.Codec.decoding_table["190,241"] = [50617] let s:lib.Codec.decoding_table["190,242"] = [50619] let s:lib.Codec.decoding_table["190,243"] = [50620] let s:lib.Codec.decoding_table["190,244"] = [50621] let s:lib.Codec.decoding_table["190,245"] = [50622] let s:lib.Codec.decoding_table["190,246"] = [50628] let s:lib.Codec.decoding_table["190,247"] = [50629] let s:lib.Codec.decoding_table["190,248"] = [50630] let s:lib.Codec.decoding_table["190,249"] = [50631] let s:lib.Codec.decoding_table["190,250"] = [50632] let s:lib.Codec.decoding_table["190,251"] = [50633] let s:lib.Codec.decoding_table["190,252"] = [50634] let s:lib.Codec.decoding_table["190,253"] = [50636] let s:lib.Codec.decoding_table["190,254"] = [50638] let s:lib.Codec.decoding_table["191,65"] = [54430] let s:lib.Codec.decoding_table["191,66"] = [54431] let s:lib.Codec.decoding_table["191,67"] = [54432] let s:lib.Codec.decoding_table["191,68"] = [54433] let s:lib.Codec.decoding_table["191,69"] = [54434] let s:lib.Codec.decoding_table["191,70"] = [54435] let s:lib.Codec.decoding_table["191,71"] = [54436] let s:lib.Codec.decoding_table["191,72"] = [54437] let s:lib.Codec.decoding_table["191,73"] = [54438] let s:lib.Codec.decoding_table["191,74"] = [54439] let s:lib.Codec.decoding_table["191,75"] = [54440] let s:lib.Codec.decoding_table["191,76"] = [54442] let s:lib.Codec.decoding_table["191,77"] = [54443] let s:lib.Codec.decoding_table["191,78"] = [54444] let s:lib.Codec.decoding_table["191,79"] = [54445] let s:lib.Codec.decoding_table["191,80"] = [54446] let s:lib.Codec.decoding_table["191,81"] = [54447] let s:lib.Codec.decoding_table["191,82"] = [54448] let s:lib.Codec.decoding_table["191,83"] = [54449] let s:lib.Codec.decoding_table["191,84"] = [54450] let s:lib.Codec.decoding_table["191,85"] = [54451] let s:lib.Codec.decoding_table["191,86"] = [54452] let s:lib.Codec.decoding_table["191,87"] = [54453] let s:lib.Codec.decoding_table["191,88"] = [54454] let s:lib.Codec.decoding_table["191,89"] = [54455] let s:lib.Codec.decoding_table["191,90"] = [54456] let s:lib.Codec.decoding_table["191,97"] = [54457] let s:lib.Codec.decoding_table["191,98"] = [54458] let s:lib.Codec.decoding_table["191,99"] = [54459] let s:lib.Codec.decoding_table["191,100"] = [54460] let s:lib.Codec.decoding_table["191,101"] = [54461] let s:lib.Codec.decoding_table["191,102"] = [54462] let s:lib.Codec.decoding_table["191,103"] = [54463] let s:lib.Codec.decoding_table["191,104"] = [54464] let s:lib.Codec.decoding_table["191,105"] = [54465] let s:lib.Codec.decoding_table["191,106"] = [54466] let s:lib.Codec.decoding_table["191,107"] = [54467] let s:lib.Codec.decoding_table["191,108"] = [54468] let s:lib.Codec.decoding_table["191,109"] = [54469] let s:lib.Codec.decoding_table["191,110"] = [54470] let s:lib.Codec.decoding_table["191,111"] = [54471] let s:lib.Codec.decoding_table["191,112"] = [54472] let s:lib.Codec.decoding_table["191,113"] = [54473] let s:lib.Codec.decoding_table["191,114"] = [54474] let s:lib.Codec.decoding_table["191,115"] = [54475] let s:lib.Codec.decoding_table["191,116"] = [54477] let s:lib.Codec.decoding_table["191,117"] = [54478] let s:lib.Codec.decoding_table["191,118"] = [54479] let s:lib.Codec.decoding_table["191,119"] = [54481] let s:lib.Codec.decoding_table["191,120"] = [54482] let s:lib.Codec.decoding_table["191,121"] = [54483] let s:lib.Codec.decoding_table["191,122"] = [54485] let s:lib.Codec.decoding_table["191,129"] = [54486] let s:lib.Codec.decoding_table["191,130"] = [54487] let s:lib.Codec.decoding_table["191,131"] = [54488] let s:lib.Codec.decoding_table["191,132"] = [54489] let s:lib.Codec.decoding_table["191,133"] = [54490] let s:lib.Codec.decoding_table["191,134"] = [54491] let s:lib.Codec.decoding_table["191,135"] = [54493] let s:lib.Codec.decoding_table["191,136"] = [54494] let s:lib.Codec.decoding_table["191,137"] = [54496] let s:lib.Codec.decoding_table["191,138"] = [54497] let s:lib.Codec.decoding_table["191,139"] = [54498] let s:lib.Codec.decoding_table["191,140"] = [54499] let s:lib.Codec.decoding_table["191,141"] = [54500] let s:lib.Codec.decoding_table["191,142"] = [54501] let s:lib.Codec.decoding_table["191,143"] = [54502] let s:lib.Codec.decoding_table["191,144"] = [54503] let s:lib.Codec.decoding_table["191,145"] = [54505] let s:lib.Codec.decoding_table["191,146"] = [54506] let s:lib.Codec.decoding_table["191,147"] = [54507] let s:lib.Codec.decoding_table["191,148"] = [54509] let s:lib.Codec.decoding_table["191,149"] = [54510] let s:lib.Codec.decoding_table["191,150"] = [54511] let s:lib.Codec.decoding_table["191,151"] = [54513] let s:lib.Codec.decoding_table["191,152"] = [54514] let s:lib.Codec.decoding_table["191,153"] = [54515] let s:lib.Codec.decoding_table["191,154"] = [54516] let s:lib.Codec.decoding_table["191,155"] = [54517] let s:lib.Codec.decoding_table["191,156"] = [54518] let s:lib.Codec.decoding_table["191,157"] = [54519] let s:lib.Codec.decoding_table["191,158"] = [54521] let s:lib.Codec.decoding_table["191,159"] = [54522] let s:lib.Codec.decoding_table["191,160"] = [54524] let s:lib.Codec.decoding_table["191,161"] = [50640] let s:lib.Codec.decoding_table["191,162"] = [50641] let s:lib.Codec.decoding_table["191,163"] = [50644] let s:lib.Codec.decoding_table["191,164"] = [50648] let s:lib.Codec.decoding_table["191,165"] = [50656] let s:lib.Codec.decoding_table["191,166"] = [50657] let s:lib.Codec.decoding_table["191,167"] = [50659] let s:lib.Codec.decoding_table["191,168"] = [50661] let s:lib.Codec.decoding_table["191,169"] = [50668] let s:lib.Codec.decoding_table["191,170"] = [50669] let s:lib.Codec.decoding_table["191,171"] = [50670] let s:lib.Codec.decoding_table["191,172"] = [50672] let s:lib.Codec.decoding_table["191,173"] = [50676] let s:lib.Codec.decoding_table["191,174"] = [50678] let s:lib.Codec.decoding_table["191,175"] = [50679] let s:lib.Codec.decoding_table["191,176"] = [50684] let s:lib.Codec.decoding_table["191,177"] = [50685] let s:lib.Codec.decoding_table["191,178"] = [50686] let s:lib.Codec.decoding_table["191,179"] = [50687] let s:lib.Codec.decoding_table["191,180"] = [50688] let s:lib.Codec.decoding_table["191,181"] = [50689] let s:lib.Codec.decoding_table["191,182"] = [50693] let s:lib.Codec.decoding_table["191,183"] = [50694] let s:lib.Codec.decoding_table["191,184"] = [50695] let s:lib.Codec.decoding_table["191,185"] = [50696] let s:lib.Codec.decoding_table["191,186"] = [50700] let s:lib.Codec.decoding_table["191,187"] = [50704] let s:lib.Codec.decoding_table["191,188"] = [50712] let s:lib.Codec.decoding_table["191,189"] = [50713] let s:lib.Codec.decoding_table["191,190"] = [50715] let s:lib.Codec.decoding_table["191,191"] = [50716] let s:lib.Codec.decoding_table["191,192"] = [50724] let s:lib.Codec.decoding_table["191,193"] = [50725] let s:lib.Codec.decoding_table["191,194"] = [50728] let s:lib.Codec.decoding_table["191,195"] = [50732] let s:lib.Codec.decoding_table["191,196"] = [50733] let s:lib.Codec.decoding_table["191,197"] = [50734] let s:lib.Codec.decoding_table["191,198"] = [50736] let s:lib.Codec.decoding_table["191,199"] = [50739] let s:lib.Codec.decoding_table["191,200"] = [50740] let s:lib.Codec.decoding_table["191,201"] = [50741] let s:lib.Codec.decoding_table["191,202"] = [50743] let s:lib.Codec.decoding_table["191,203"] = [50745] let s:lib.Codec.decoding_table["191,204"] = [50747] let s:lib.Codec.decoding_table["191,205"] = [50752] let s:lib.Codec.decoding_table["191,206"] = [50753] let s:lib.Codec.decoding_table["191,207"] = [50756] let s:lib.Codec.decoding_table["191,208"] = [50760] let s:lib.Codec.decoding_table["191,209"] = [50768] let s:lib.Codec.decoding_table["191,210"] = [50769] let s:lib.Codec.decoding_table["191,211"] = [50771] let s:lib.Codec.decoding_table["191,212"] = [50772] let s:lib.Codec.decoding_table["191,213"] = [50773] let s:lib.Codec.decoding_table["191,214"] = [50780] let s:lib.Codec.decoding_table["191,215"] = [50781] let s:lib.Codec.decoding_table["191,216"] = [50784] let s:lib.Codec.decoding_table["191,217"] = [50796] let s:lib.Codec.decoding_table["191,218"] = [50799] let s:lib.Codec.decoding_table["191,219"] = [50801] let s:lib.Codec.decoding_table["191,220"] = [50808] let s:lib.Codec.decoding_table["191,221"] = [50809] let s:lib.Codec.decoding_table["191,222"] = [50812] let s:lib.Codec.decoding_table["191,223"] = [50816] let s:lib.Codec.decoding_table["191,224"] = [50824] let s:lib.Codec.decoding_table["191,225"] = [50825] let s:lib.Codec.decoding_table["191,226"] = [50827] let s:lib.Codec.decoding_table["191,227"] = [50829] let s:lib.Codec.decoding_table["191,228"] = [50836] let s:lib.Codec.decoding_table["191,229"] = [50837] let s:lib.Codec.decoding_table["191,230"] = [50840] let s:lib.Codec.decoding_table["191,231"] = [50844] let s:lib.Codec.decoding_table["191,232"] = [50852] let s:lib.Codec.decoding_table["191,233"] = [50853] let s:lib.Codec.decoding_table["191,234"] = [50855] let s:lib.Codec.decoding_table["191,235"] = [50857] let s:lib.Codec.decoding_table["191,236"] = [50864] let s:lib.Codec.decoding_table["191,237"] = [50865] let s:lib.Codec.decoding_table["191,238"] = [50868] let s:lib.Codec.decoding_table["191,239"] = [50872] let s:lib.Codec.decoding_table["191,240"] = [50873] let s:lib.Codec.decoding_table["191,241"] = [50874] let s:lib.Codec.decoding_table["191,242"] = [50880] let s:lib.Codec.decoding_table["191,243"] = [50881] let s:lib.Codec.decoding_table["191,244"] = [50883] let s:lib.Codec.decoding_table["191,245"] = [50885] let s:lib.Codec.decoding_table["191,246"] = [50892] let s:lib.Codec.decoding_table["191,247"] = [50893] let s:lib.Codec.decoding_table["191,248"] = [50896] let s:lib.Codec.decoding_table["191,249"] = [50900] let s:lib.Codec.decoding_table["191,250"] = [50908] let s:lib.Codec.decoding_table["191,251"] = [50909] let s:lib.Codec.decoding_table["191,252"] = [50912] let s:lib.Codec.decoding_table["191,253"] = [50913] let s:lib.Codec.decoding_table["191,254"] = [50920] let s:lib.Codec.decoding_table["192,65"] = [54526] let s:lib.Codec.decoding_table["192,66"] = [54527] let s:lib.Codec.decoding_table["192,67"] = [54528] let s:lib.Codec.decoding_table["192,68"] = [54529] let s:lib.Codec.decoding_table["192,69"] = [54530] let s:lib.Codec.decoding_table["192,70"] = [54531] let s:lib.Codec.decoding_table["192,71"] = [54533] let s:lib.Codec.decoding_table["192,72"] = [54534] let s:lib.Codec.decoding_table["192,73"] = [54535] let s:lib.Codec.decoding_table["192,74"] = [54537] let s:lib.Codec.decoding_table["192,75"] = [54538] let s:lib.Codec.decoding_table["192,76"] = [54539] let s:lib.Codec.decoding_table["192,77"] = [54541] let s:lib.Codec.decoding_table["192,78"] = [54542] let s:lib.Codec.decoding_table["192,79"] = [54543] let s:lib.Codec.decoding_table["192,80"] = [54544] let s:lib.Codec.decoding_table["192,81"] = [54545] let s:lib.Codec.decoding_table["192,82"] = [54546] let s:lib.Codec.decoding_table["192,83"] = [54547] let s:lib.Codec.decoding_table["192,84"] = [54550] let s:lib.Codec.decoding_table["192,85"] = [54552] let s:lib.Codec.decoding_table["192,86"] = [54553] let s:lib.Codec.decoding_table["192,87"] = [54554] let s:lib.Codec.decoding_table["192,88"] = [54555] let s:lib.Codec.decoding_table["192,89"] = [54556] let s:lib.Codec.decoding_table["192,90"] = [54557] let s:lib.Codec.decoding_table["192,97"] = [54558] let s:lib.Codec.decoding_table["192,98"] = [54559] let s:lib.Codec.decoding_table["192,99"] = [54560] let s:lib.Codec.decoding_table["192,100"] = [54561] let s:lib.Codec.decoding_table["192,101"] = [54562] let s:lib.Codec.decoding_table["192,102"] = [54563] let s:lib.Codec.decoding_table["192,103"] = [54564] let s:lib.Codec.decoding_table["192,104"] = [54565] let s:lib.Codec.decoding_table["192,105"] = [54566] let s:lib.Codec.decoding_table["192,106"] = [54567] let s:lib.Codec.decoding_table["192,107"] = [54568] let s:lib.Codec.decoding_table["192,108"] = [54569] let s:lib.Codec.decoding_table["192,109"] = [54570] let s:lib.Codec.decoding_table["192,110"] = [54571] let s:lib.Codec.decoding_table["192,111"] = [54572] let s:lib.Codec.decoding_table["192,112"] = [54573] let s:lib.Codec.decoding_table["192,113"] = [54574] let s:lib.Codec.decoding_table["192,114"] = [54575] let s:lib.Codec.decoding_table["192,115"] = [54576] let s:lib.Codec.decoding_table["192,116"] = [54577] let s:lib.Codec.decoding_table["192,117"] = [54578] let s:lib.Codec.decoding_table["192,118"] = [54579] let s:lib.Codec.decoding_table["192,119"] = [54580] let s:lib.Codec.decoding_table["192,120"] = [54581] let s:lib.Codec.decoding_table["192,121"] = [54582] let s:lib.Codec.decoding_table["192,122"] = [54583] let s:lib.Codec.decoding_table["192,129"] = [54584] let s:lib.Codec.decoding_table["192,130"] = [54585] let s:lib.Codec.decoding_table["192,131"] = [54586] let s:lib.Codec.decoding_table["192,132"] = [54587] let s:lib.Codec.decoding_table["192,133"] = [54590] let s:lib.Codec.decoding_table["192,134"] = [54591] let s:lib.Codec.decoding_table["192,135"] = [54593] let s:lib.Codec.decoding_table["192,136"] = [54594] let s:lib.Codec.decoding_table["192,137"] = [54595] let s:lib.Codec.decoding_table["192,138"] = [54597] let s:lib.Codec.decoding_table["192,139"] = [54598] let s:lib.Codec.decoding_table["192,140"] = [54599] let s:lib.Codec.decoding_table["192,141"] = [54600] let s:lib.Codec.decoding_table["192,142"] = [54601] let s:lib.Codec.decoding_table["192,143"] = [54602] let s:lib.Codec.decoding_table["192,144"] = [54603] let s:lib.Codec.decoding_table["192,145"] = [54606] let s:lib.Codec.decoding_table["192,146"] = [54608] let s:lib.Codec.decoding_table["192,147"] = [54610] let s:lib.Codec.decoding_table["192,148"] = [54611] let s:lib.Codec.decoding_table["192,149"] = [54612] let s:lib.Codec.decoding_table["192,150"] = [54613] let s:lib.Codec.decoding_table["192,151"] = [54614] let s:lib.Codec.decoding_table["192,152"] = [54615] let s:lib.Codec.decoding_table["192,153"] = [54618] let s:lib.Codec.decoding_table["192,154"] = [54619] let s:lib.Codec.decoding_table["192,155"] = [54621] let s:lib.Codec.decoding_table["192,156"] = [54622] let s:lib.Codec.decoding_table["192,157"] = [54623] let s:lib.Codec.decoding_table["192,158"] = [54625] let s:lib.Codec.decoding_table["192,159"] = [54626] let s:lib.Codec.decoding_table["192,160"] = [54627] let s:lib.Codec.decoding_table["192,161"] = [50921] let s:lib.Codec.decoding_table["192,162"] = [50924] let s:lib.Codec.decoding_table["192,163"] = [50928] let s:lib.Codec.decoding_table["192,164"] = [50936] let s:lib.Codec.decoding_table["192,165"] = [50937] let s:lib.Codec.decoding_table["192,166"] = [50941] let s:lib.Codec.decoding_table["192,167"] = [50948] let s:lib.Codec.decoding_table["192,168"] = [50949] let s:lib.Codec.decoding_table["192,169"] = [50952] let s:lib.Codec.decoding_table["192,170"] = [50956] let s:lib.Codec.decoding_table["192,171"] = [50964] let s:lib.Codec.decoding_table["192,172"] = [50965] let s:lib.Codec.decoding_table["192,173"] = [50967] let s:lib.Codec.decoding_table["192,174"] = [50969] let s:lib.Codec.decoding_table["192,175"] = [50976] let s:lib.Codec.decoding_table["192,176"] = [50977] let s:lib.Codec.decoding_table["192,177"] = [50980] let s:lib.Codec.decoding_table["192,178"] = [50984] let s:lib.Codec.decoding_table["192,179"] = [50992] let s:lib.Codec.decoding_table["192,180"] = [50993] let s:lib.Codec.decoding_table["192,181"] = [50995] let s:lib.Codec.decoding_table["192,182"] = [50997] let s:lib.Codec.decoding_table["192,183"] = [50999] let s:lib.Codec.decoding_table["192,184"] = [51004] let s:lib.Codec.decoding_table["192,185"] = [51005] let s:lib.Codec.decoding_table["192,186"] = [51008] let s:lib.Codec.decoding_table["192,187"] = [51012] let s:lib.Codec.decoding_table["192,188"] = [51018] let s:lib.Codec.decoding_table["192,189"] = [51020] let s:lib.Codec.decoding_table["192,190"] = [51021] let s:lib.Codec.decoding_table["192,191"] = [51023] let s:lib.Codec.decoding_table["192,192"] = [51025] let s:lib.Codec.decoding_table["192,193"] = [51026] let s:lib.Codec.decoding_table["192,194"] = [51027] let s:lib.Codec.decoding_table["192,195"] = [51028] let s:lib.Codec.decoding_table["192,196"] = [51029] let s:lib.Codec.decoding_table["192,197"] = [51030] let s:lib.Codec.decoding_table["192,198"] = [51031] let s:lib.Codec.decoding_table["192,199"] = [51032] let s:lib.Codec.decoding_table["192,200"] = [51036] let s:lib.Codec.decoding_table["192,201"] = [51040] let s:lib.Codec.decoding_table["192,202"] = [51048] let s:lib.Codec.decoding_table["192,203"] = [51051] let s:lib.Codec.decoding_table["192,204"] = [51060] let s:lib.Codec.decoding_table["192,205"] = [51061] let s:lib.Codec.decoding_table["192,206"] = [51064] let s:lib.Codec.decoding_table["192,207"] = [51068] let s:lib.Codec.decoding_table["192,208"] = [51069] let s:lib.Codec.decoding_table["192,209"] = [51070] let s:lib.Codec.decoding_table["192,210"] = [51075] let s:lib.Codec.decoding_table["192,211"] = [51076] let s:lib.Codec.decoding_table["192,212"] = [51077] let s:lib.Codec.decoding_table["192,213"] = [51079] let s:lib.Codec.decoding_table["192,214"] = [51080] let s:lib.Codec.decoding_table["192,215"] = [51081] let s:lib.Codec.decoding_table["192,216"] = [51082] let s:lib.Codec.decoding_table["192,217"] = [51086] let s:lib.Codec.decoding_table["192,218"] = [51088] let s:lib.Codec.decoding_table["192,219"] = [51089] let s:lib.Codec.decoding_table["192,220"] = [51092] let s:lib.Codec.decoding_table["192,221"] = [51094] let s:lib.Codec.decoding_table["192,222"] = [51095] let s:lib.Codec.decoding_table["192,223"] = [51096] let s:lib.Codec.decoding_table["192,224"] = [51098] let s:lib.Codec.decoding_table["192,225"] = [51104] let s:lib.Codec.decoding_table["192,226"] = [51105] let s:lib.Codec.decoding_table["192,227"] = [51107] let s:lib.Codec.decoding_table["192,228"] = [51108] let s:lib.Codec.decoding_table["192,229"] = [51109] let s:lib.Codec.decoding_table["192,230"] = [51110] let s:lib.Codec.decoding_table["192,231"] = [51116] let s:lib.Codec.decoding_table["192,232"] = [51117] let s:lib.Codec.decoding_table["192,233"] = [51120] let s:lib.Codec.decoding_table["192,234"] = [51124] let s:lib.Codec.decoding_table["192,235"] = [51132] let s:lib.Codec.decoding_table["192,236"] = [51133] let s:lib.Codec.decoding_table["192,237"] = [51135] let s:lib.Codec.decoding_table["192,238"] = [51136] let s:lib.Codec.decoding_table["192,239"] = [51137] let s:lib.Codec.decoding_table["192,240"] = [51144] let s:lib.Codec.decoding_table["192,241"] = [51145] let s:lib.Codec.decoding_table["192,242"] = [51148] let s:lib.Codec.decoding_table["192,243"] = [51150] let s:lib.Codec.decoding_table["192,244"] = [51152] let s:lib.Codec.decoding_table["192,245"] = [51160] let s:lib.Codec.decoding_table["192,246"] = [51165] let s:lib.Codec.decoding_table["192,247"] = [51172] let s:lib.Codec.decoding_table["192,248"] = [51176] let s:lib.Codec.decoding_table["192,249"] = [51180] let s:lib.Codec.decoding_table["192,250"] = [51200] let s:lib.Codec.decoding_table["192,251"] = [51201] let s:lib.Codec.decoding_table["192,252"] = [51204] let s:lib.Codec.decoding_table["192,253"] = [51208] let s:lib.Codec.decoding_table["192,254"] = [51210] let s:lib.Codec.decoding_table["193,65"] = [54628] let s:lib.Codec.decoding_table["193,66"] = [54630] let s:lib.Codec.decoding_table["193,67"] = [54631] let s:lib.Codec.decoding_table["193,68"] = [54634] let s:lib.Codec.decoding_table["193,69"] = [54636] let s:lib.Codec.decoding_table["193,70"] = [54638] let s:lib.Codec.decoding_table["193,71"] = [54639] let s:lib.Codec.decoding_table["193,72"] = [54640] let s:lib.Codec.decoding_table["193,73"] = [54641] let s:lib.Codec.decoding_table["193,74"] = [54642] let s:lib.Codec.decoding_table["193,75"] = [54643] let s:lib.Codec.decoding_table["193,76"] = [54646] let s:lib.Codec.decoding_table["193,77"] = [54647] let s:lib.Codec.decoding_table["193,78"] = [54649] let s:lib.Codec.decoding_table["193,79"] = [54650] let s:lib.Codec.decoding_table["193,80"] = [54651] let s:lib.Codec.decoding_table["193,81"] = [54653] let s:lib.Codec.decoding_table["193,82"] = [54654] let s:lib.Codec.decoding_table["193,83"] = [54655] let s:lib.Codec.decoding_table["193,84"] = [54656] let s:lib.Codec.decoding_table["193,85"] = [54657] let s:lib.Codec.decoding_table["193,86"] = [54658] let s:lib.Codec.decoding_table["193,87"] = [54659] let s:lib.Codec.decoding_table["193,88"] = [54662] let s:lib.Codec.decoding_table["193,89"] = [54666] let s:lib.Codec.decoding_table["193,90"] = [54667] let s:lib.Codec.decoding_table["193,97"] = [54668] let s:lib.Codec.decoding_table["193,98"] = [54669] let s:lib.Codec.decoding_table["193,99"] = [54670] let s:lib.Codec.decoding_table["193,100"] = [54671] let s:lib.Codec.decoding_table["193,101"] = [54673] let s:lib.Codec.decoding_table["193,102"] = [54674] let s:lib.Codec.decoding_table["193,103"] = [54675] let s:lib.Codec.decoding_table["193,104"] = [54676] let s:lib.Codec.decoding_table["193,105"] = [54677] let s:lib.Codec.decoding_table["193,106"] = [54678] let s:lib.Codec.decoding_table["193,107"] = [54679] let s:lib.Codec.decoding_table["193,108"] = [54680] let s:lib.Codec.decoding_table["193,109"] = [54681] let s:lib.Codec.decoding_table["193,110"] = [54682] let s:lib.Codec.decoding_table["193,111"] = [54683] let s:lib.Codec.decoding_table["193,112"] = [54684] let s:lib.Codec.decoding_table["193,113"] = [54685] let s:lib.Codec.decoding_table["193,114"] = [54686] let s:lib.Codec.decoding_table["193,115"] = [54687] let s:lib.Codec.decoding_table["193,116"] = [54688] let s:lib.Codec.decoding_table["193,117"] = [54689] let s:lib.Codec.decoding_table["193,118"] = [54690] let s:lib.Codec.decoding_table["193,119"] = [54691] let s:lib.Codec.decoding_table["193,120"] = [54692] let s:lib.Codec.decoding_table["193,121"] = [54694] let s:lib.Codec.decoding_table["193,122"] = [54695] let s:lib.Codec.decoding_table["193,129"] = [54696] let s:lib.Codec.decoding_table["193,130"] = [54697] let s:lib.Codec.decoding_table["193,131"] = [54698] let s:lib.Codec.decoding_table["193,132"] = [54699] let s:lib.Codec.decoding_table["193,133"] = [54700] let s:lib.Codec.decoding_table["193,134"] = [54701] let s:lib.Codec.decoding_table["193,135"] = [54702] let s:lib.Codec.decoding_table["193,136"] = [54703] let s:lib.Codec.decoding_table["193,137"] = [54704] let s:lib.Codec.decoding_table["193,138"] = [54705] let s:lib.Codec.decoding_table["193,139"] = [54706] let s:lib.Codec.decoding_table["193,140"] = [54707] let s:lib.Codec.decoding_table["193,141"] = [54708] let s:lib.Codec.decoding_table["193,142"] = [54709] let s:lib.Codec.decoding_table["193,143"] = [54710] let s:lib.Codec.decoding_table["193,144"] = [54711] let s:lib.Codec.decoding_table["193,145"] = [54712] let s:lib.Codec.decoding_table["193,146"] = [54713] let s:lib.Codec.decoding_table["193,147"] = [54714] let s:lib.Codec.decoding_table["193,148"] = [54715] let s:lib.Codec.decoding_table["193,149"] = [54716] let s:lib.Codec.decoding_table["193,150"] = [54717] let s:lib.Codec.decoding_table["193,151"] = [54718] let s:lib.Codec.decoding_table["193,152"] = [54719] let s:lib.Codec.decoding_table["193,153"] = [54720] let s:lib.Codec.decoding_table["193,154"] = [54721] let s:lib.Codec.decoding_table["193,155"] = [54722] let s:lib.Codec.decoding_table["193,156"] = [54723] let s:lib.Codec.decoding_table["193,157"] = [54724] let s:lib.Codec.decoding_table["193,158"] = [54725] let s:lib.Codec.decoding_table["193,159"] = [54726] let s:lib.Codec.decoding_table["193,160"] = [54727] let s:lib.Codec.decoding_table["193,161"] = [51216] let s:lib.Codec.decoding_table["193,162"] = [51217] let s:lib.Codec.decoding_table["193,163"] = [51219] let s:lib.Codec.decoding_table["193,164"] = [51221] let s:lib.Codec.decoding_table["193,165"] = [51222] let s:lib.Codec.decoding_table["193,166"] = [51228] let s:lib.Codec.decoding_table["193,167"] = [51229] let s:lib.Codec.decoding_table["193,168"] = [51232] let s:lib.Codec.decoding_table["193,169"] = [51236] let s:lib.Codec.decoding_table["193,170"] = [51244] let s:lib.Codec.decoding_table["193,171"] = [51245] let s:lib.Codec.decoding_table["193,172"] = [51247] let s:lib.Codec.decoding_table["193,173"] = [51249] let s:lib.Codec.decoding_table["193,174"] = [51256] let s:lib.Codec.decoding_table["193,175"] = [51260] let s:lib.Codec.decoding_table["193,176"] = [51264] let s:lib.Codec.decoding_table["193,177"] = [51272] let s:lib.Codec.decoding_table["193,178"] = [51273] let s:lib.Codec.decoding_table["193,179"] = [51276] let s:lib.Codec.decoding_table["193,180"] = [51277] let s:lib.Codec.decoding_table["193,181"] = [51284] let s:lib.Codec.decoding_table["193,182"] = [51312] let s:lib.Codec.decoding_table["193,183"] = [51313] let s:lib.Codec.decoding_table["193,184"] = [51316] let s:lib.Codec.decoding_table["193,185"] = [51320] let s:lib.Codec.decoding_table["193,186"] = [51322] let s:lib.Codec.decoding_table["193,187"] = [51328] let s:lib.Codec.decoding_table["193,188"] = [51329] let s:lib.Codec.decoding_table["193,189"] = [51331] let s:lib.Codec.decoding_table["193,190"] = [51333] let s:lib.Codec.decoding_table["193,191"] = [51334] let s:lib.Codec.decoding_table["193,192"] = [51335] let s:lib.Codec.decoding_table["193,193"] = [51339] let s:lib.Codec.decoding_table["193,194"] = [51340] let s:lib.Codec.decoding_table["193,195"] = [51341] let s:lib.Codec.decoding_table["193,196"] = [51348] let s:lib.Codec.decoding_table["193,197"] = [51357] let s:lib.Codec.decoding_table["193,198"] = [51359] let s:lib.Codec.decoding_table["193,199"] = [51361] let s:lib.Codec.decoding_table["193,200"] = [51368] let s:lib.Codec.decoding_table["193,201"] = [51388] let s:lib.Codec.decoding_table["193,202"] = [51389] let s:lib.Codec.decoding_table["193,203"] = [51396] let s:lib.Codec.decoding_table["193,204"] = [51400] let s:lib.Codec.decoding_table["193,205"] = [51404] let s:lib.Codec.decoding_table["193,206"] = [51412] let s:lib.Codec.decoding_table["193,207"] = [51413] let s:lib.Codec.decoding_table["193,208"] = [51415] let s:lib.Codec.decoding_table["193,209"] = [51417] let s:lib.Codec.decoding_table["193,210"] = [51424] let s:lib.Codec.decoding_table["193,211"] = [51425] let s:lib.Codec.decoding_table["193,212"] = [51428] let s:lib.Codec.decoding_table["193,213"] = [51445] let s:lib.Codec.decoding_table["193,214"] = [51452] let s:lib.Codec.decoding_table["193,215"] = [51453] let s:lib.Codec.decoding_table["193,216"] = [51456] let s:lib.Codec.decoding_table["193,217"] = [51460] let s:lib.Codec.decoding_table["193,218"] = [51461] let s:lib.Codec.decoding_table["193,219"] = [51462] let s:lib.Codec.decoding_table["193,220"] = [51468] let s:lib.Codec.decoding_table["193,221"] = [51469] let s:lib.Codec.decoding_table["193,222"] = [51471] let s:lib.Codec.decoding_table["193,223"] = [51473] let s:lib.Codec.decoding_table["193,224"] = [51480] let s:lib.Codec.decoding_table["193,225"] = [51500] let s:lib.Codec.decoding_table["193,226"] = [51508] let s:lib.Codec.decoding_table["193,227"] = [51536] let s:lib.Codec.decoding_table["193,228"] = [51537] let s:lib.Codec.decoding_table["193,229"] = [51540] let s:lib.Codec.decoding_table["193,230"] = [51544] let s:lib.Codec.decoding_table["193,231"] = [51552] let s:lib.Codec.decoding_table["193,232"] = [51553] let s:lib.Codec.decoding_table["193,233"] = [51555] let s:lib.Codec.decoding_table["193,234"] = [51564] let s:lib.Codec.decoding_table["193,235"] = [51568] let s:lib.Codec.decoding_table["193,236"] = [51572] let s:lib.Codec.decoding_table["193,237"] = [51580] let s:lib.Codec.decoding_table["193,238"] = [51592] let s:lib.Codec.decoding_table["193,239"] = [51593] let s:lib.Codec.decoding_table["193,240"] = [51596] let s:lib.Codec.decoding_table["193,241"] = [51600] let s:lib.Codec.decoding_table["193,242"] = [51608] let s:lib.Codec.decoding_table["193,243"] = [51609] let s:lib.Codec.decoding_table["193,244"] = [51611] let s:lib.Codec.decoding_table["193,245"] = [51613] let s:lib.Codec.decoding_table["193,246"] = [51648] let s:lib.Codec.decoding_table["193,247"] = [51649] let s:lib.Codec.decoding_table["193,248"] = [51652] let s:lib.Codec.decoding_table["193,249"] = [51655] let s:lib.Codec.decoding_table["193,250"] = [51656] let s:lib.Codec.decoding_table["193,251"] = [51658] let s:lib.Codec.decoding_table["193,252"] = [51664] let s:lib.Codec.decoding_table["193,253"] = [51665] let s:lib.Codec.decoding_table["193,254"] = [51667] let s:lib.Codec.decoding_table["194,65"] = [54730] let s:lib.Codec.decoding_table["194,66"] = [54731] let s:lib.Codec.decoding_table["194,67"] = [54733] let s:lib.Codec.decoding_table["194,68"] = [54734] let s:lib.Codec.decoding_table["194,69"] = [54735] let s:lib.Codec.decoding_table["194,70"] = [54737] let s:lib.Codec.decoding_table["194,71"] = [54739] let s:lib.Codec.decoding_table["194,72"] = [54740] let s:lib.Codec.decoding_table["194,73"] = [54741] let s:lib.Codec.decoding_table["194,74"] = [54742] let s:lib.Codec.decoding_table["194,75"] = [54743] let s:lib.Codec.decoding_table["194,76"] = [54746] let s:lib.Codec.decoding_table["194,77"] = [54748] let s:lib.Codec.decoding_table["194,78"] = [54750] let s:lib.Codec.decoding_table["194,79"] = [54751] let s:lib.Codec.decoding_table["194,80"] = [54752] let s:lib.Codec.decoding_table["194,81"] = [54753] let s:lib.Codec.decoding_table["194,82"] = [54754] let s:lib.Codec.decoding_table["194,83"] = [54755] let s:lib.Codec.decoding_table["194,84"] = [54758] let s:lib.Codec.decoding_table["194,85"] = [54759] let s:lib.Codec.decoding_table["194,86"] = [54761] let s:lib.Codec.decoding_table["194,87"] = [54762] let s:lib.Codec.decoding_table["194,88"] = [54763] let s:lib.Codec.decoding_table["194,89"] = [54765] let s:lib.Codec.decoding_table["194,90"] = [54766] let s:lib.Codec.decoding_table["194,97"] = [54767] let s:lib.Codec.decoding_table["194,98"] = [54768] let s:lib.Codec.decoding_table["194,99"] = [54769] let s:lib.Codec.decoding_table["194,100"] = [54770] let s:lib.Codec.decoding_table["194,101"] = [54771] let s:lib.Codec.decoding_table["194,102"] = [54774] let s:lib.Codec.decoding_table["194,103"] = [54776] let s:lib.Codec.decoding_table["194,104"] = [54778] let s:lib.Codec.decoding_table["194,105"] = [54779] let s:lib.Codec.decoding_table["194,106"] = [54780] let s:lib.Codec.decoding_table["194,107"] = [54781] let s:lib.Codec.decoding_table["194,108"] = [54782] let s:lib.Codec.decoding_table["194,109"] = [54783] let s:lib.Codec.decoding_table["194,110"] = [54786] let s:lib.Codec.decoding_table["194,111"] = [54787] let s:lib.Codec.decoding_table["194,112"] = [54789] let s:lib.Codec.decoding_table["194,113"] = [54790] let s:lib.Codec.decoding_table["194,114"] = [54791] let s:lib.Codec.decoding_table["194,115"] = [54793] let s:lib.Codec.decoding_table["194,116"] = [54794] let s:lib.Codec.decoding_table["194,117"] = [54795] let s:lib.Codec.decoding_table["194,118"] = [54796] let s:lib.Codec.decoding_table["194,119"] = [54797] let s:lib.Codec.decoding_table["194,120"] = [54798] let s:lib.Codec.decoding_table["194,121"] = [54799] let s:lib.Codec.decoding_table["194,122"] = [54802] let s:lib.Codec.decoding_table["194,129"] = [54806] let s:lib.Codec.decoding_table["194,130"] = [54807] let s:lib.Codec.decoding_table["194,131"] = [54808] let s:lib.Codec.decoding_table["194,132"] = [54809] let s:lib.Codec.decoding_table["194,133"] = [54810] let s:lib.Codec.decoding_table["194,134"] = [54811] let s:lib.Codec.decoding_table["194,135"] = [54813] let s:lib.Codec.decoding_table["194,136"] = [54814] let s:lib.Codec.decoding_table["194,137"] = [54815] let s:lib.Codec.decoding_table["194,138"] = [54817] let s:lib.Codec.decoding_table["194,139"] = [54818] let s:lib.Codec.decoding_table["194,140"] = [54819] let s:lib.Codec.decoding_table["194,141"] = [54821] let s:lib.Codec.decoding_table["194,142"] = [54822] let s:lib.Codec.decoding_table["194,143"] = [54823] let s:lib.Codec.decoding_table["194,144"] = [54824] let s:lib.Codec.decoding_table["194,145"] = [54825] let s:lib.Codec.decoding_table["194,146"] = [54826] let s:lib.Codec.decoding_table["194,147"] = [54827] let s:lib.Codec.decoding_table["194,148"] = [54828] let s:lib.Codec.decoding_table["194,149"] = [54830] let s:lib.Codec.decoding_table["194,150"] = [54831] let s:lib.Codec.decoding_table["194,151"] = [54832] let s:lib.Codec.decoding_table["194,152"] = [54833] let s:lib.Codec.decoding_table["194,153"] = [54834] let s:lib.Codec.decoding_table["194,154"] = [54835] let s:lib.Codec.decoding_table["194,155"] = [54836] let s:lib.Codec.decoding_table["194,156"] = [54837] let s:lib.Codec.decoding_table["194,157"] = [54838] let s:lib.Codec.decoding_table["194,158"] = [54839] let s:lib.Codec.decoding_table["194,159"] = [54842] let s:lib.Codec.decoding_table["194,160"] = [54843] let s:lib.Codec.decoding_table["194,161"] = [51669] let s:lib.Codec.decoding_table["194,162"] = [51670] let s:lib.Codec.decoding_table["194,163"] = [51673] let s:lib.Codec.decoding_table["194,164"] = [51674] let s:lib.Codec.decoding_table["194,165"] = [51676] let s:lib.Codec.decoding_table["194,166"] = [51677] let s:lib.Codec.decoding_table["194,167"] = [51680] let s:lib.Codec.decoding_table["194,168"] = [51682] let s:lib.Codec.decoding_table["194,169"] = [51684] let s:lib.Codec.decoding_table["194,170"] = [51687] let s:lib.Codec.decoding_table["194,171"] = [51692] let s:lib.Codec.decoding_table["194,172"] = [51693] let s:lib.Codec.decoding_table["194,173"] = [51695] let s:lib.Codec.decoding_table["194,174"] = [51696] let s:lib.Codec.decoding_table["194,175"] = [51697] let s:lib.Codec.decoding_table["194,176"] = [51704] let s:lib.Codec.decoding_table["194,177"] = [51705] let s:lib.Codec.decoding_table["194,178"] = [51708] let s:lib.Codec.decoding_table["194,179"] = [51712] let s:lib.Codec.decoding_table["194,180"] = [51720] let s:lib.Codec.decoding_table["194,181"] = [51721] let s:lib.Codec.decoding_table["194,182"] = [51723] let s:lib.Codec.decoding_table["194,183"] = [51724] let s:lib.Codec.decoding_table["194,184"] = [51725] let s:lib.Codec.decoding_table["194,185"] = [51732] let s:lib.Codec.decoding_table["194,186"] = [51736] let s:lib.Codec.decoding_table["194,187"] = [51753] let s:lib.Codec.decoding_table["194,188"] = [51788] let s:lib.Codec.decoding_table["194,189"] = [51789] let s:lib.Codec.decoding_table["194,190"] = [51792] let s:lib.Codec.decoding_table["194,191"] = [51796] let s:lib.Codec.decoding_table["194,192"] = [51804] let s:lib.Codec.decoding_table["194,193"] = [51805] let s:lib.Codec.decoding_table["194,194"] = [51807] let s:lib.Codec.decoding_table["194,195"] = [51808] let s:lib.Codec.decoding_table["194,196"] = [51809] let s:lib.Codec.decoding_table["194,197"] = [51816] let s:lib.Codec.decoding_table["194,198"] = [51837] let s:lib.Codec.decoding_table["194,199"] = [51844] let s:lib.Codec.decoding_table["194,200"] = [51864] let s:lib.Codec.decoding_table["194,201"] = [51900] let s:lib.Codec.decoding_table["194,202"] = [51901] let s:lib.Codec.decoding_table["194,203"] = [51904] let s:lib.Codec.decoding_table["194,204"] = [51908] let s:lib.Codec.decoding_table["194,205"] = [51916] let s:lib.Codec.decoding_table["194,206"] = [51917] let s:lib.Codec.decoding_table["194,207"] = [51919] let s:lib.Codec.decoding_table["194,208"] = [51921] let s:lib.Codec.decoding_table["194,209"] = [51923] let s:lib.Codec.decoding_table["194,210"] = [51928] let s:lib.Codec.decoding_table["194,211"] = [51929] let s:lib.Codec.decoding_table["194,212"] = [51936] let s:lib.Codec.decoding_table["194,213"] = [51948] let s:lib.Codec.decoding_table["194,214"] = [51956] let s:lib.Codec.decoding_table["194,215"] = [51976] let s:lib.Codec.decoding_table["194,216"] = [51984] let s:lib.Codec.decoding_table["194,217"] = [51988] let s:lib.Codec.decoding_table["194,218"] = [51992] let s:lib.Codec.decoding_table["194,219"] = [52000] let s:lib.Codec.decoding_table["194,220"] = [52001] let s:lib.Codec.decoding_table["194,221"] = [52033] let s:lib.Codec.decoding_table["194,222"] = [52040] let s:lib.Codec.decoding_table["194,223"] = [52041] let s:lib.Codec.decoding_table["194,224"] = [52044] let s:lib.Codec.decoding_table["194,225"] = [52048] let s:lib.Codec.decoding_table["194,226"] = [52056] let s:lib.Codec.decoding_table["194,227"] = [52057] let s:lib.Codec.decoding_table["194,228"] = [52061] let s:lib.Codec.decoding_table["194,229"] = [52068] let s:lib.Codec.decoding_table["194,230"] = [52088] let s:lib.Codec.decoding_table["194,231"] = [52089] let s:lib.Codec.decoding_table["194,232"] = [52124] let s:lib.Codec.decoding_table["194,233"] = [52152] let s:lib.Codec.decoding_table["194,234"] = [52180] let s:lib.Codec.decoding_table["194,235"] = [52196] let s:lib.Codec.decoding_table["194,236"] = [52199] let s:lib.Codec.decoding_table["194,237"] = [52201] let s:lib.Codec.decoding_table["194,238"] = [52236] let s:lib.Codec.decoding_table["194,239"] = [52237] let s:lib.Codec.decoding_table["194,240"] = [52240] let s:lib.Codec.decoding_table["194,241"] = [52244] let s:lib.Codec.decoding_table["194,242"] = [52252] let s:lib.Codec.decoding_table["194,243"] = [52253] let s:lib.Codec.decoding_table["194,244"] = [52257] let s:lib.Codec.decoding_table["194,245"] = [52258] let s:lib.Codec.decoding_table["194,246"] = [52263] let s:lib.Codec.decoding_table["194,247"] = [52264] let s:lib.Codec.decoding_table["194,248"] = [52265] let s:lib.Codec.decoding_table["194,249"] = [52268] let s:lib.Codec.decoding_table["194,250"] = [52270] let s:lib.Codec.decoding_table["194,251"] = [52272] let s:lib.Codec.decoding_table["194,252"] = [52280] let s:lib.Codec.decoding_table["194,253"] = [52281] let s:lib.Codec.decoding_table["194,254"] = [52283] let s:lib.Codec.decoding_table["195,65"] = [54845] let s:lib.Codec.decoding_table["195,66"] = [54846] let s:lib.Codec.decoding_table["195,67"] = [54847] let s:lib.Codec.decoding_table["195,68"] = [54849] let s:lib.Codec.decoding_table["195,69"] = [54850] let s:lib.Codec.decoding_table["195,70"] = [54851] let s:lib.Codec.decoding_table["195,71"] = [54852] let s:lib.Codec.decoding_table["195,72"] = [54854] let s:lib.Codec.decoding_table["195,73"] = [54855] let s:lib.Codec.decoding_table["195,74"] = [54858] let s:lib.Codec.decoding_table["195,75"] = [54860] let s:lib.Codec.decoding_table["195,76"] = [54862] let s:lib.Codec.decoding_table["195,77"] = [54863] let s:lib.Codec.decoding_table["195,78"] = [54864] let s:lib.Codec.decoding_table["195,79"] = [54866] let s:lib.Codec.decoding_table["195,80"] = [54867] let s:lib.Codec.decoding_table["195,81"] = [54870] let s:lib.Codec.decoding_table["195,82"] = [54871] let s:lib.Codec.decoding_table["195,83"] = [54873] let s:lib.Codec.decoding_table["195,84"] = [54874] let s:lib.Codec.decoding_table["195,85"] = [54875] let s:lib.Codec.decoding_table["195,86"] = [54877] let s:lib.Codec.decoding_table["195,87"] = [54878] let s:lib.Codec.decoding_table["195,88"] = [54879] let s:lib.Codec.decoding_table["195,89"] = [54880] let s:lib.Codec.decoding_table["195,90"] = [54881] let s:lib.Codec.decoding_table["195,97"] = [54882] let s:lib.Codec.decoding_table["195,98"] = [54883] let s:lib.Codec.decoding_table["195,99"] = [54884] let s:lib.Codec.decoding_table["195,100"] = [54885] let s:lib.Codec.decoding_table["195,101"] = [54886] let s:lib.Codec.decoding_table["195,102"] = [54888] let s:lib.Codec.decoding_table["195,103"] = [54890] let s:lib.Codec.decoding_table["195,104"] = [54891] let s:lib.Codec.decoding_table["195,105"] = [54892] let s:lib.Codec.decoding_table["195,106"] = [54893] let s:lib.Codec.decoding_table["195,107"] = [54894] let s:lib.Codec.decoding_table["195,108"] = [54895] let s:lib.Codec.decoding_table["195,109"] = [54898] let s:lib.Codec.decoding_table["195,110"] = [54899] let s:lib.Codec.decoding_table["195,111"] = [54901] let s:lib.Codec.decoding_table["195,112"] = [54902] let s:lib.Codec.decoding_table["195,113"] = [54903] let s:lib.Codec.decoding_table["195,114"] = [54904] let s:lib.Codec.decoding_table["195,115"] = [54905] let s:lib.Codec.decoding_table["195,116"] = [54906] let s:lib.Codec.decoding_table["195,117"] = [54907] let s:lib.Codec.decoding_table["195,118"] = [54908] let s:lib.Codec.decoding_table["195,119"] = [54909] let s:lib.Codec.decoding_table["195,120"] = [54910] let s:lib.Codec.decoding_table["195,121"] = [54911] let s:lib.Codec.decoding_table["195,122"] = [54912] let s:lib.Codec.decoding_table["195,129"] = [54913] let s:lib.Codec.decoding_table["195,130"] = [54914] let s:lib.Codec.decoding_table["195,131"] = [54916] let s:lib.Codec.decoding_table["195,132"] = [54918] let s:lib.Codec.decoding_table["195,133"] = [54919] let s:lib.Codec.decoding_table["195,134"] = [54920] let s:lib.Codec.decoding_table["195,135"] = [54921] let s:lib.Codec.decoding_table["195,136"] = [54922] let s:lib.Codec.decoding_table["195,137"] = [54923] let s:lib.Codec.decoding_table["195,138"] = [54926] let s:lib.Codec.decoding_table["195,139"] = [54927] let s:lib.Codec.decoding_table["195,140"] = [54929] let s:lib.Codec.decoding_table["195,141"] = [54930] let s:lib.Codec.decoding_table["195,142"] = [54931] let s:lib.Codec.decoding_table["195,143"] = [54933] let s:lib.Codec.decoding_table["195,144"] = [54934] let s:lib.Codec.decoding_table["195,145"] = [54935] let s:lib.Codec.decoding_table["195,146"] = [54936] let s:lib.Codec.decoding_table["195,147"] = [54937] let s:lib.Codec.decoding_table["195,148"] = [54938] let s:lib.Codec.decoding_table["195,149"] = [54939] let s:lib.Codec.decoding_table["195,150"] = [54940] let s:lib.Codec.decoding_table["195,151"] = [54942] let s:lib.Codec.decoding_table["195,152"] = [54944] let s:lib.Codec.decoding_table["195,153"] = [54946] let s:lib.Codec.decoding_table["195,154"] = [54947] let s:lib.Codec.decoding_table["195,155"] = [54948] let s:lib.Codec.decoding_table["195,156"] = [54949] let s:lib.Codec.decoding_table["195,157"] = [54950] let s:lib.Codec.decoding_table["195,158"] = [54951] let s:lib.Codec.decoding_table["195,159"] = [54953] let s:lib.Codec.decoding_table["195,160"] = [54954] let s:lib.Codec.decoding_table["195,161"] = [52284] let s:lib.Codec.decoding_table["195,162"] = [52285] let s:lib.Codec.decoding_table["195,163"] = [52286] let s:lib.Codec.decoding_table["195,164"] = [52292] let s:lib.Codec.decoding_table["195,165"] = [52293] let s:lib.Codec.decoding_table["195,166"] = [52296] let s:lib.Codec.decoding_table["195,167"] = [52300] let s:lib.Codec.decoding_table["195,168"] = [52308] let s:lib.Codec.decoding_table["195,169"] = [52309] let s:lib.Codec.decoding_table["195,170"] = [52311] let s:lib.Codec.decoding_table["195,171"] = [52312] let s:lib.Codec.decoding_table["195,172"] = [52313] let s:lib.Codec.decoding_table["195,173"] = [52320] let s:lib.Codec.decoding_table["195,174"] = [52324] let s:lib.Codec.decoding_table["195,175"] = [52326] let s:lib.Codec.decoding_table["195,176"] = [52328] let s:lib.Codec.decoding_table["195,177"] = [52336] let s:lib.Codec.decoding_table["195,178"] = [52341] let s:lib.Codec.decoding_table["195,179"] = [52376] let s:lib.Codec.decoding_table["195,180"] = [52377] let s:lib.Codec.decoding_table["195,181"] = [52380] let s:lib.Codec.decoding_table["195,182"] = [52384] let s:lib.Codec.decoding_table["195,183"] = [52392] let s:lib.Codec.decoding_table["195,184"] = [52393] let s:lib.Codec.decoding_table["195,185"] = [52395] let s:lib.Codec.decoding_table["195,186"] = [52396] let s:lib.Codec.decoding_table["195,187"] = [52397] let s:lib.Codec.decoding_table["195,188"] = [52404] let s:lib.Codec.decoding_table["195,189"] = [52405] let s:lib.Codec.decoding_table["195,190"] = [52408] let s:lib.Codec.decoding_table["195,191"] = [52412] let s:lib.Codec.decoding_table["195,192"] = [52420] let s:lib.Codec.decoding_table["195,193"] = [52421] let s:lib.Codec.decoding_table["195,194"] = [52423] let s:lib.Codec.decoding_table["195,195"] = [52425] let s:lib.Codec.decoding_table["195,196"] = [52432] let s:lib.Codec.decoding_table["195,197"] = [52436] let s:lib.Codec.decoding_table["195,198"] = [52452] let s:lib.Codec.decoding_table["195,199"] = [52460] let s:lib.Codec.decoding_table["195,200"] = [52464] let s:lib.Codec.decoding_table["195,201"] = [52481] let s:lib.Codec.decoding_table["195,202"] = [52488] let s:lib.Codec.decoding_table["195,203"] = [52489] let s:lib.Codec.decoding_table["195,204"] = [52492] let s:lib.Codec.decoding_table["195,205"] = [52496] let s:lib.Codec.decoding_table["195,206"] = [52504] let s:lib.Codec.decoding_table["195,207"] = [52505] let s:lib.Codec.decoding_table["195,208"] = [52507] let s:lib.Codec.decoding_table["195,209"] = [52509] let s:lib.Codec.decoding_table["195,210"] = [52516] let s:lib.Codec.decoding_table["195,211"] = [52520] let s:lib.Codec.decoding_table["195,212"] = [52524] let s:lib.Codec.decoding_table["195,213"] = [52537] let s:lib.Codec.decoding_table["195,214"] = [52572] let s:lib.Codec.decoding_table["195,215"] = [52576] let s:lib.Codec.decoding_table["195,216"] = [52580] let s:lib.Codec.decoding_table["195,217"] = [52588] let s:lib.Codec.decoding_table["195,218"] = [52589] let s:lib.Codec.decoding_table["195,219"] = [52591] let s:lib.Codec.decoding_table["195,220"] = [52593] let s:lib.Codec.decoding_table["195,221"] = [52600] let s:lib.Codec.decoding_table["195,222"] = [52616] let s:lib.Codec.decoding_table["195,223"] = [52628] let s:lib.Codec.decoding_table["195,224"] = [52629] let s:lib.Codec.decoding_table["195,225"] = [52632] let s:lib.Codec.decoding_table["195,226"] = [52636] let s:lib.Codec.decoding_table["195,227"] = [52644] let s:lib.Codec.decoding_table["195,228"] = [52645] let s:lib.Codec.decoding_table["195,229"] = [52647] let s:lib.Codec.decoding_table["195,230"] = [52649] let s:lib.Codec.decoding_table["195,231"] = [52656] let s:lib.Codec.decoding_table["195,232"] = [52676] let s:lib.Codec.decoding_table["195,233"] = [52684] let s:lib.Codec.decoding_table["195,234"] = [52688] let s:lib.Codec.decoding_table["195,235"] = [52712] let s:lib.Codec.decoding_table["195,236"] = [52716] let s:lib.Codec.decoding_table["195,237"] = [52720] let s:lib.Codec.decoding_table["195,238"] = [52728] let s:lib.Codec.decoding_table["195,239"] = [52729] let s:lib.Codec.decoding_table["195,240"] = [52731] let s:lib.Codec.decoding_table["195,241"] = [52733] let s:lib.Codec.decoding_table["195,242"] = [52740] let s:lib.Codec.decoding_table["195,243"] = [52744] let s:lib.Codec.decoding_table["195,244"] = [52748] let s:lib.Codec.decoding_table["195,245"] = [52756] let s:lib.Codec.decoding_table["195,246"] = [52761] let s:lib.Codec.decoding_table["195,247"] = [52768] let s:lib.Codec.decoding_table["195,248"] = [52769] let s:lib.Codec.decoding_table["195,249"] = [52772] let s:lib.Codec.decoding_table["195,250"] = [52776] let s:lib.Codec.decoding_table["195,251"] = [52784] let s:lib.Codec.decoding_table["195,252"] = [52785] let s:lib.Codec.decoding_table["195,253"] = [52787] let s:lib.Codec.decoding_table["195,254"] = [52789] let s:lib.Codec.decoding_table["196,65"] = [54955] let s:lib.Codec.decoding_table["196,66"] = [54957] let s:lib.Codec.decoding_table["196,67"] = [54958] let s:lib.Codec.decoding_table["196,68"] = [54959] let s:lib.Codec.decoding_table["196,69"] = [54961] let s:lib.Codec.decoding_table["196,70"] = [54962] let s:lib.Codec.decoding_table["196,71"] = [54963] let s:lib.Codec.decoding_table["196,72"] = [54964] let s:lib.Codec.decoding_table["196,73"] = [54965] let s:lib.Codec.decoding_table["196,74"] = [54966] let s:lib.Codec.decoding_table["196,75"] = [54967] let s:lib.Codec.decoding_table["196,76"] = [54968] let s:lib.Codec.decoding_table["196,77"] = [54970] let s:lib.Codec.decoding_table["196,78"] = [54972] let s:lib.Codec.decoding_table["196,79"] = [54973] let s:lib.Codec.decoding_table["196,80"] = [54974] let s:lib.Codec.decoding_table["196,81"] = [54975] let s:lib.Codec.decoding_table["196,82"] = [54976] let s:lib.Codec.decoding_table["196,83"] = [54977] let s:lib.Codec.decoding_table["196,84"] = [54978] let s:lib.Codec.decoding_table["196,85"] = [54979] let s:lib.Codec.decoding_table["196,86"] = [54982] let s:lib.Codec.decoding_table["196,87"] = [54983] let s:lib.Codec.decoding_table["196,88"] = [54985] let s:lib.Codec.decoding_table["196,89"] = [54986] let s:lib.Codec.decoding_table["196,90"] = [54987] let s:lib.Codec.decoding_table["196,97"] = [54989] let s:lib.Codec.decoding_table["196,98"] = [54990] let s:lib.Codec.decoding_table["196,99"] = [54991] let s:lib.Codec.decoding_table["196,100"] = [54992] let s:lib.Codec.decoding_table["196,101"] = [54994] let s:lib.Codec.decoding_table["196,102"] = [54995] let s:lib.Codec.decoding_table["196,103"] = [54997] let s:lib.Codec.decoding_table["196,104"] = [54998] let s:lib.Codec.decoding_table["196,105"] = [55000] let s:lib.Codec.decoding_table["196,106"] = [55002] let s:lib.Codec.decoding_table["196,107"] = [55003] let s:lib.Codec.decoding_table["196,108"] = [55004] let s:lib.Codec.decoding_table["196,109"] = [55005] let s:lib.Codec.decoding_table["196,110"] = [55006] let s:lib.Codec.decoding_table["196,111"] = [55007] let s:lib.Codec.decoding_table["196,112"] = [55009] let s:lib.Codec.decoding_table["196,113"] = [55010] let s:lib.Codec.decoding_table["196,114"] = [55011] let s:lib.Codec.decoding_table["196,115"] = [55013] let s:lib.Codec.decoding_table["196,116"] = [55014] let s:lib.Codec.decoding_table["196,117"] = [55015] let s:lib.Codec.decoding_table["196,118"] = [55017] let s:lib.Codec.decoding_table["196,119"] = [55018] let s:lib.Codec.decoding_table["196,120"] = [55019] let s:lib.Codec.decoding_table["196,121"] = [55020] let s:lib.Codec.decoding_table["196,122"] = [55021] let s:lib.Codec.decoding_table["196,129"] = [55022] let s:lib.Codec.decoding_table["196,130"] = [55023] let s:lib.Codec.decoding_table["196,131"] = [55025] let s:lib.Codec.decoding_table["196,132"] = [55026] let s:lib.Codec.decoding_table["196,133"] = [55027] let s:lib.Codec.decoding_table["196,134"] = [55028] let s:lib.Codec.decoding_table["196,135"] = [55030] let s:lib.Codec.decoding_table["196,136"] = [55031] let s:lib.Codec.decoding_table["196,137"] = [55032] let s:lib.Codec.decoding_table["196,138"] = [55033] let s:lib.Codec.decoding_table["196,139"] = [55034] let s:lib.Codec.decoding_table["196,140"] = [55035] let s:lib.Codec.decoding_table["196,141"] = [55038] let s:lib.Codec.decoding_table["196,142"] = [55039] let s:lib.Codec.decoding_table["196,143"] = [55041] let s:lib.Codec.decoding_table["196,144"] = [55042] let s:lib.Codec.decoding_table["196,145"] = [55043] let s:lib.Codec.decoding_table["196,146"] = [55045] let s:lib.Codec.decoding_table["196,147"] = [55046] let s:lib.Codec.decoding_table["196,148"] = [55047] let s:lib.Codec.decoding_table["196,149"] = [55048] let s:lib.Codec.decoding_table["196,150"] = [55049] let s:lib.Codec.decoding_table["196,151"] = [55050] let s:lib.Codec.decoding_table["196,152"] = [55051] let s:lib.Codec.decoding_table["196,153"] = [55052] let s:lib.Codec.decoding_table["196,154"] = [55053] let s:lib.Codec.decoding_table["196,155"] = [55054] let s:lib.Codec.decoding_table["196,156"] = [55055] let s:lib.Codec.decoding_table["196,157"] = [55056] let s:lib.Codec.decoding_table["196,158"] = [55058] let s:lib.Codec.decoding_table["196,159"] = [55059] let s:lib.Codec.decoding_table["196,160"] = [55060] let s:lib.Codec.decoding_table["196,161"] = [52824] let s:lib.Codec.decoding_table["196,162"] = [52825] let s:lib.Codec.decoding_table["196,163"] = [52828] let s:lib.Codec.decoding_table["196,164"] = [52831] let s:lib.Codec.decoding_table["196,165"] = [52832] let s:lib.Codec.decoding_table["196,166"] = [52833] let s:lib.Codec.decoding_table["196,167"] = [52840] let s:lib.Codec.decoding_table["196,168"] = [52841] let s:lib.Codec.decoding_table["196,169"] = [52843] let s:lib.Codec.decoding_table["196,170"] = [52845] let s:lib.Codec.decoding_table["196,171"] = [52852] let s:lib.Codec.decoding_table["196,172"] = [52853] let s:lib.Codec.decoding_table["196,173"] = [52856] let s:lib.Codec.decoding_table["196,174"] = [52860] let s:lib.Codec.decoding_table["196,175"] = [52868] let s:lib.Codec.decoding_table["196,176"] = [52869] let s:lib.Codec.decoding_table["196,177"] = [52871] let s:lib.Codec.decoding_table["196,178"] = [52873] let s:lib.Codec.decoding_table["196,179"] = [52880] let s:lib.Codec.decoding_table["196,180"] = [52881] let s:lib.Codec.decoding_table["196,181"] = [52884] let s:lib.Codec.decoding_table["196,182"] = [52888] let s:lib.Codec.decoding_table["196,183"] = [52896] let s:lib.Codec.decoding_table["196,184"] = [52897] let s:lib.Codec.decoding_table["196,185"] = [52899] let s:lib.Codec.decoding_table["196,186"] = [52900] let s:lib.Codec.decoding_table["196,187"] = [52901] let s:lib.Codec.decoding_table["196,188"] = [52908] let s:lib.Codec.decoding_table["196,189"] = [52909] let s:lib.Codec.decoding_table["196,190"] = [52929] let s:lib.Codec.decoding_table["196,191"] = [52964] let s:lib.Codec.decoding_table["196,192"] = [52965] let s:lib.Codec.decoding_table["196,193"] = [52968] let s:lib.Codec.decoding_table["196,194"] = [52971] let s:lib.Codec.decoding_table["196,195"] = [52972] let s:lib.Codec.decoding_table["196,196"] = [52980] let s:lib.Codec.decoding_table["196,197"] = [52981] let s:lib.Codec.decoding_table["196,198"] = [52983] let s:lib.Codec.decoding_table["196,199"] = [52984] let s:lib.Codec.decoding_table["196,200"] = [52985] let s:lib.Codec.decoding_table["196,201"] = [52992] let s:lib.Codec.decoding_table["196,202"] = [52993] let s:lib.Codec.decoding_table["196,203"] = [52996] let s:lib.Codec.decoding_table["196,204"] = [53000] let s:lib.Codec.decoding_table["196,205"] = [53008] let s:lib.Codec.decoding_table["196,206"] = [53009] let s:lib.Codec.decoding_table["196,207"] = [53011] let s:lib.Codec.decoding_table["196,208"] = [53013] let s:lib.Codec.decoding_table["196,209"] = [53020] let s:lib.Codec.decoding_table["196,210"] = [53024] let s:lib.Codec.decoding_table["196,211"] = [53028] let s:lib.Codec.decoding_table["196,212"] = [53036] let s:lib.Codec.decoding_table["196,213"] = [53037] let s:lib.Codec.decoding_table["196,214"] = [53039] let s:lib.Codec.decoding_table["196,215"] = [53040] let s:lib.Codec.decoding_table["196,216"] = [53041] let s:lib.Codec.decoding_table["196,217"] = [53048] let s:lib.Codec.decoding_table["196,218"] = [53076] let s:lib.Codec.decoding_table["196,219"] = [53077] let s:lib.Codec.decoding_table["196,220"] = [53080] let s:lib.Codec.decoding_table["196,221"] = [53084] let s:lib.Codec.decoding_table["196,222"] = [53092] let s:lib.Codec.decoding_table["196,223"] = [53093] let s:lib.Codec.decoding_table["196,224"] = [53095] let s:lib.Codec.decoding_table["196,225"] = [53097] let s:lib.Codec.decoding_table["196,226"] = [53104] let s:lib.Codec.decoding_table["196,227"] = [53105] let s:lib.Codec.decoding_table["196,228"] = [53108] let s:lib.Codec.decoding_table["196,229"] = [53112] let s:lib.Codec.decoding_table["196,230"] = [53120] let s:lib.Codec.decoding_table["196,231"] = [53125] let s:lib.Codec.decoding_table["196,232"] = [53132] let s:lib.Codec.decoding_table["196,233"] = [53153] let s:lib.Codec.decoding_table["196,234"] = [53160] let s:lib.Codec.decoding_table["196,235"] = [53168] let s:lib.Codec.decoding_table["196,236"] = [53188] let s:lib.Codec.decoding_table["196,237"] = [53216] let s:lib.Codec.decoding_table["196,238"] = [53217] let s:lib.Codec.decoding_table["196,239"] = [53220] let s:lib.Codec.decoding_table["196,240"] = [53224] let s:lib.Codec.decoding_table["196,241"] = [53232] let s:lib.Codec.decoding_table["196,242"] = [53233] let s:lib.Codec.decoding_table["196,243"] = [53235] let s:lib.Codec.decoding_table["196,244"] = [53237] let s:lib.Codec.decoding_table["196,245"] = [53244] let s:lib.Codec.decoding_table["196,246"] = [53248] let s:lib.Codec.decoding_table["196,247"] = [53252] let s:lib.Codec.decoding_table["196,248"] = [53265] let s:lib.Codec.decoding_table["196,249"] = [53272] let s:lib.Codec.decoding_table["196,250"] = [53293] let s:lib.Codec.decoding_table["196,251"] = [53300] let s:lib.Codec.decoding_table["196,252"] = [53301] let s:lib.Codec.decoding_table["196,253"] = [53304] let s:lib.Codec.decoding_table["196,254"] = [53308] let s:lib.Codec.decoding_table["197,65"] = [55061] let s:lib.Codec.decoding_table["197,66"] = [55062] let s:lib.Codec.decoding_table["197,67"] = [55063] let s:lib.Codec.decoding_table["197,68"] = [55066] let s:lib.Codec.decoding_table["197,69"] = [55067] let s:lib.Codec.decoding_table["197,70"] = [55069] let s:lib.Codec.decoding_table["197,71"] = [55070] let s:lib.Codec.decoding_table["197,72"] = [55071] let s:lib.Codec.decoding_table["197,73"] = [55073] let s:lib.Codec.decoding_table["197,74"] = [55074] let s:lib.Codec.decoding_table["197,75"] = [55075] let s:lib.Codec.decoding_table["197,76"] = [55076] let s:lib.Codec.decoding_table["197,77"] = [55077] let s:lib.Codec.decoding_table["197,78"] = [55078] let s:lib.Codec.decoding_table["197,79"] = [55079] let s:lib.Codec.decoding_table["197,80"] = [55082] let s:lib.Codec.decoding_table["197,81"] = [55084] let s:lib.Codec.decoding_table["197,82"] = [55086] let s:lib.Codec.decoding_table["197,83"] = [55087] let s:lib.Codec.decoding_table["197,84"] = [55088] let s:lib.Codec.decoding_table["197,85"] = [55089] let s:lib.Codec.decoding_table["197,86"] = [55090] let s:lib.Codec.decoding_table["197,87"] = [55091] let s:lib.Codec.decoding_table["197,88"] = [55094] let s:lib.Codec.decoding_table["197,89"] = [55095] let s:lib.Codec.decoding_table["197,90"] = [55097] let s:lib.Codec.decoding_table["197,97"] = [55098] let s:lib.Codec.decoding_table["197,98"] = [55099] let s:lib.Codec.decoding_table["197,99"] = [55101] let s:lib.Codec.decoding_table["197,100"] = [55102] let s:lib.Codec.decoding_table["197,101"] = [55103] let s:lib.Codec.decoding_table["197,102"] = [55104] let s:lib.Codec.decoding_table["197,103"] = [55105] let s:lib.Codec.decoding_table["197,104"] = [55106] let s:lib.Codec.decoding_table["197,105"] = [55107] let s:lib.Codec.decoding_table["197,106"] = [55109] let s:lib.Codec.decoding_table["197,107"] = [55110] let s:lib.Codec.decoding_table["197,108"] = [55112] let s:lib.Codec.decoding_table["197,109"] = [55114] let s:lib.Codec.decoding_table["197,110"] = [55115] let s:lib.Codec.decoding_table["197,111"] = [55116] let s:lib.Codec.decoding_table["197,112"] = [55117] let s:lib.Codec.decoding_table["197,113"] = [55118] let s:lib.Codec.decoding_table["197,114"] = [55119] let s:lib.Codec.decoding_table["197,115"] = [55122] let s:lib.Codec.decoding_table["197,116"] = [55123] let s:lib.Codec.decoding_table["197,117"] = [55125] let s:lib.Codec.decoding_table["197,118"] = [55130] let s:lib.Codec.decoding_table["197,119"] = [55131] let s:lib.Codec.decoding_table["197,120"] = [55132] let s:lib.Codec.decoding_table["197,121"] = [55133] let s:lib.Codec.decoding_table["197,122"] = [55134] let s:lib.Codec.decoding_table["197,129"] = [55135] let s:lib.Codec.decoding_table["197,130"] = [55138] let s:lib.Codec.decoding_table["197,131"] = [55140] let s:lib.Codec.decoding_table["197,132"] = [55142] let s:lib.Codec.decoding_table["197,133"] = [55143] let s:lib.Codec.decoding_table["197,134"] = [55144] let s:lib.Codec.decoding_table["197,135"] = [55146] let s:lib.Codec.decoding_table["197,136"] = [55147] let s:lib.Codec.decoding_table["197,137"] = [55149] let s:lib.Codec.decoding_table["197,138"] = [55150] let s:lib.Codec.decoding_table["197,139"] = [55151] let s:lib.Codec.decoding_table["197,140"] = [55153] let s:lib.Codec.decoding_table["197,141"] = [55154] let s:lib.Codec.decoding_table["197,142"] = [55155] let s:lib.Codec.decoding_table["197,143"] = [55157] let s:lib.Codec.decoding_table["197,144"] = [55158] let s:lib.Codec.decoding_table["197,145"] = [55159] let s:lib.Codec.decoding_table["197,146"] = [55160] let s:lib.Codec.decoding_table["197,147"] = [55161] let s:lib.Codec.decoding_table["197,148"] = [55162] let s:lib.Codec.decoding_table["197,149"] = [55163] let s:lib.Codec.decoding_table["197,150"] = [55166] let s:lib.Codec.decoding_table["197,151"] = [55167] let s:lib.Codec.decoding_table["197,152"] = [55168] let s:lib.Codec.decoding_table["197,153"] = [55170] let s:lib.Codec.decoding_table["197,154"] = [55171] let s:lib.Codec.decoding_table["197,155"] = [55172] let s:lib.Codec.decoding_table["197,156"] = [55173] let s:lib.Codec.decoding_table["197,157"] = [55174] let s:lib.Codec.decoding_table["197,158"] = [55175] let s:lib.Codec.decoding_table["197,159"] = [55178] let s:lib.Codec.decoding_table["197,160"] = [55179] let s:lib.Codec.decoding_table["197,161"] = [53316] let s:lib.Codec.decoding_table["197,162"] = [53317] let s:lib.Codec.decoding_table["197,163"] = [53319] let s:lib.Codec.decoding_table["197,164"] = [53321] let s:lib.Codec.decoding_table["197,165"] = [53328] let s:lib.Codec.decoding_table["197,166"] = [53332] let s:lib.Codec.decoding_table["197,167"] = [53336] let s:lib.Codec.decoding_table["197,168"] = [53344] let s:lib.Codec.decoding_table["197,169"] = [53356] let s:lib.Codec.decoding_table["197,170"] = [53357] let s:lib.Codec.decoding_table["197,171"] = [53360] let s:lib.Codec.decoding_table["197,172"] = [53364] let s:lib.Codec.decoding_table["197,173"] = [53372] let s:lib.Codec.decoding_table["197,174"] = [53373] let s:lib.Codec.decoding_table["197,175"] = [53377] let s:lib.Codec.decoding_table["197,176"] = [53412] let s:lib.Codec.decoding_table["197,177"] = [53413] let s:lib.Codec.decoding_table["197,178"] = [53416] let s:lib.Codec.decoding_table["197,179"] = [53420] let s:lib.Codec.decoding_table["197,180"] = [53428] let s:lib.Codec.decoding_table["197,181"] = [53429] let s:lib.Codec.decoding_table["197,182"] = [53431] let s:lib.Codec.decoding_table["197,183"] = [53433] let s:lib.Codec.decoding_table["197,184"] = [53440] let s:lib.Codec.decoding_table["197,185"] = [53441] let s:lib.Codec.decoding_table["197,186"] = [53444] let s:lib.Codec.decoding_table["197,187"] = [53448] let s:lib.Codec.decoding_table["197,188"] = [53449] let s:lib.Codec.decoding_table["197,189"] = [53456] let s:lib.Codec.decoding_table["197,190"] = [53457] let s:lib.Codec.decoding_table["197,191"] = [53459] let s:lib.Codec.decoding_table["197,192"] = [53460] let s:lib.Codec.decoding_table["197,193"] = [53461] let s:lib.Codec.decoding_table["197,194"] = [53468] let s:lib.Codec.decoding_table["197,195"] = [53469] let s:lib.Codec.decoding_table["197,196"] = [53472] let s:lib.Codec.decoding_table["197,197"] = [53476] let s:lib.Codec.decoding_table["197,198"] = [53484] let s:lib.Codec.decoding_table["197,199"] = [53485] let s:lib.Codec.decoding_table["197,200"] = [53487] let s:lib.Codec.decoding_table["197,201"] = [53488] let s:lib.Codec.decoding_table["197,202"] = [53489] let s:lib.Codec.decoding_table["197,203"] = [53496] let s:lib.Codec.decoding_table["197,204"] = [53517] let s:lib.Codec.decoding_table["197,205"] = [53552] let s:lib.Codec.decoding_table["197,206"] = [53553] let s:lib.Codec.decoding_table["197,207"] = [53556] let s:lib.Codec.decoding_table["197,208"] = [53560] let s:lib.Codec.decoding_table["197,209"] = [53562] let s:lib.Codec.decoding_table["197,210"] = [53568] let s:lib.Codec.decoding_table["197,211"] = [53569] let s:lib.Codec.decoding_table["197,212"] = [53571] let s:lib.Codec.decoding_table["197,213"] = [53572] let s:lib.Codec.decoding_table["197,214"] = [53573] let s:lib.Codec.decoding_table["197,215"] = [53580] let s:lib.Codec.decoding_table["197,216"] = [53581] let s:lib.Codec.decoding_table["197,217"] = [53584] let s:lib.Codec.decoding_table["197,218"] = [53588] let s:lib.Codec.decoding_table["197,219"] = [53596] let s:lib.Codec.decoding_table["197,220"] = [53597] let s:lib.Codec.decoding_table["197,221"] = [53599] let s:lib.Codec.decoding_table["197,222"] = [53601] let s:lib.Codec.decoding_table["197,223"] = [53608] let s:lib.Codec.decoding_table["197,224"] = [53612] let s:lib.Codec.decoding_table["197,225"] = [53628] let s:lib.Codec.decoding_table["197,226"] = [53636] let s:lib.Codec.decoding_table["197,227"] = [53640] let s:lib.Codec.decoding_table["197,228"] = [53664] let s:lib.Codec.decoding_table["197,229"] = [53665] let s:lib.Codec.decoding_table["197,230"] = [53668] let s:lib.Codec.decoding_table["197,231"] = [53672] let s:lib.Codec.decoding_table["197,232"] = [53680] let s:lib.Codec.decoding_table["197,233"] = [53681] let s:lib.Codec.decoding_table["197,234"] = [53683] let s:lib.Codec.decoding_table["197,235"] = [53685] let s:lib.Codec.decoding_table["197,236"] = [53690] let s:lib.Codec.decoding_table["197,237"] = [53692] let s:lib.Codec.decoding_table["197,238"] = [53696] let s:lib.Codec.decoding_table["197,239"] = [53720] let s:lib.Codec.decoding_table["197,240"] = [53748] let s:lib.Codec.decoding_table["197,241"] = [53752] let s:lib.Codec.decoding_table["197,242"] = [53767] let s:lib.Codec.decoding_table["197,243"] = [53769] let s:lib.Codec.decoding_table["197,244"] = [53776] let s:lib.Codec.decoding_table["197,245"] = [53804] let s:lib.Codec.decoding_table["197,246"] = [53805] let s:lib.Codec.decoding_table["197,247"] = [53808] let s:lib.Codec.decoding_table["197,248"] = [53812] let s:lib.Codec.decoding_table["197,249"] = [53820] let s:lib.Codec.decoding_table["197,250"] = [53821] let s:lib.Codec.decoding_table["197,251"] = [53823] let s:lib.Codec.decoding_table["197,252"] = [53825] let s:lib.Codec.decoding_table["197,253"] = [53832] let s:lib.Codec.decoding_table["197,254"] = [53852] let s:lib.Codec.decoding_table["198,65"] = [55181] let s:lib.Codec.decoding_table["198,66"] = [55182] let s:lib.Codec.decoding_table["198,67"] = [55183] let s:lib.Codec.decoding_table["198,68"] = [55185] let s:lib.Codec.decoding_table["198,69"] = [55186] let s:lib.Codec.decoding_table["198,70"] = [55187] let s:lib.Codec.decoding_table["198,71"] = [55188] let s:lib.Codec.decoding_table["198,72"] = [55189] let s:lib.Codec.decoding_table["198,73"] = [55190] let s:lib.Codec.decoding_table["198,74"] = [55191] let s:lib.Codec.decoding_table["198,75"] = [55194] let s:lib.Codec.decoding_table["198,76"] = [55196] let s:lib.Codec.decoding_table["198,77"] = [55198] let s:lib.Codec.decoding_table["198,78"] = [55199] let s:lib.Codec.decoding_table["198,79"] = [55200] let s:lib.Codec.decoding_table["198,80"] = [55201] let s:lib.Codec.decoding_table["198,81"] = [55202] let s:lib.Codec.decoding_table["198,82"] = [55203] let s:lib.Codec.decoding_table["198,161"] = [53860] let s:lib.Codec.decoding_table["198,162"] = [53888] let s:lib.Codec.decoding_table["198,163"] = [53889] let s:lib.Codec.decoding_table["198,164"] = [53892] let s:lib.Codec.decoding_table["198,165"] = [53896] let s:lib.Codec.decoding_table["198,166"] = [53904] let s:lib.Codec.decoding_table["198,167"] = [53905] let s:lib.Codec.decoding_table["198,168"] = [53909] let s:lib.Codec.decoding_table["198,169"] = [53916] let s:lib.Codec.decoding_table["198,170"] = [53920] let s:lib.Codec.decoding_table["198,171"] = [53924] let s:lib.Codec.decoding_table["198,172"] = [53932] let s:lib.Codec.decoding_table["198,173"] = [53937] let s:lib.Codec.decoding_table["198,174"] = [53944] let s:lib.Codec.decoding_table["198,175"] = [53945] let s:lib.Codec.decoding_table["198,176"] = [53948] let s:lib.Codec.decoding_table["198,177"] = [53951] let s:lib.Codec.decoding_table["198,178"] = [53952] let s:lib.Codec.decoding_table["198,179"] = [53954] let s:lib.Codec.decoding_table["198,180"] = [53960] let s:lib.Codec.decoding_table["198,181"] = [53961] let s:lib.Codec.decoding_table["198,182"] = [53963] let s:lib.Codec.decoding_table["198,183"] = [53972] let s:lib.Codec.decoding_table["198,184"] = [53976] let s:lib.Codec.decoding_table["198,185"] = [53980] let s:lib.Codec.decoding_table["198,186"] = [53988] let s:lib.Codec.decoding_table["198,187"] = [53989] let s:lib.Codec.decoding_table["198,188"] = [54000] let s:lib.Codec.decoding_table["198,189"] = [54001] let s:lib.Codec.decoding_table["198,190"] = [54004] let s:lib.Codec.decoding_table["198,191"] = [54008] let s:lib.Codec.decoding_table["198,192"] = [54016] let s:lib.Codec.decoding_table["198,193"] = [54017] let s:lib.Codec.decoding_table["198,194"] = [54019] let s:lib.Codec.decoding_table["198,195"] = [54021] let s:lib.Codec.decoding_table["198,196"] = [54028] let s:lib.Codec.decoding_table["198,197"] = [54029] let s:lib.Codec.decoding_table["198,198"] = [54030] let s:lib.Codec.decoding_table["198,199"] = [54032] let s:lib.Codec.decoding_table["198,200"] = [54036] let s:lib.Codec.decoding_table["198,201"] = [54038] let s:lib.Codec.decoding_table["198,202"] = [54044] let s:lib.Codec.decoding_table["198,203"] = [54045] let s:lib.Codec.decoding_table["198,204"] = [54047] let s:lib.Codec.decoding_table["198,205"] = [54048] let s:lib.Codec.decoding_table["198,206"] = [54049] let s:lib.Codec.decoding_table["198,207"] = [54053] let s:lib.Codec.decoding_table["198,208"] = [54056] let s:lib.Codec.decoding_table["198,209"] = [54057] let s:lib.Codec.decoding_table["198,210"] = [54060] let s:lib.Codec.decoding_table["198,211"] = [54064] let s:lib.Codec.decoding_table["198,212"] = [54072] let s:lib.Codec.decoding_table["198,213"] = [54073] let s:lib.Codec.decoding_table["198,214"] = [54075] let s:lib.Codec.decoding_table["198,215"] = [54076] let s:lib.Codec.decoding_table["198,216"] = [54077] let s:lib.Codec.decoding_table["198,217"] = [54084] let s:lib.Codec.decoding_table["198,218"] = [54085] let s:lib.Codec.decoding_table["198,219"] = [54140] let s:lib.Codec.decoding_table["198,220"] = [54141] let s:lib.Codec.decoding_table["198,221"] = [54144] let s:lib.Codec.decoding_table["198,222"] = [54148] let s:lib.Codec.decoding_table["198,223"] = [54156] let s:lib.Codec.decoding_table["198,224"] = [54157] let s:lib.Codec.decoding_table["198,225"] = [54159] let s:lib.Codec.decoding_table["198,226"] = [54160] let s:lib.Codec.decoding_table["198,227"] = [54161] let s:lib.Codec.decoding_table["198,228"] = [54168] let s:lib.Codec.decoding_table["198,229"] = [54169] let s:lib.Codec.decoding_table["198,230"] = [54172] let s:lib.Codec.decoding_table["198,231"] = [54176] let s:lib.Codec.decoding_table["198,232"] = [54184] let s:lib.Codec.decoding_table["198,233"] = [54185] let s:lib.Codec.decoding_table["198,234"] = [54187] let s:lib.Codec.decoding_table["198,235"] = [54189] let s:lib.Codec.decoding_table["198,236"] = [54196] let s:lib.Codec.decoding_table["198,237"] = [54200] let s:lib.Codec.decoding_table["198,238"] = [54204] let s:lib.Codec.decoding_table["198,239"] = [54212] let s:lib.Codec.decoding_table["198,240"] = [54213] let s:lib.Codec.decoding_table["198,241"] = [54216] let s:lib.Codec.decoding_table["198,242"] = [54217] let s:lib.Codec.decoding_table["198,243"] = [54224] let s:lib.Codec.decoding_table["198,244"] = [54232] let s:lib.Codec.decoding_table["198,245"] = [54241] let s:lib.Codec.decoding_table["198,246"] = [54243] let s:lib.Codec.decoding_table["198,247"] = [54252] let s:lib.Codec.decoding_table["198,248"] = [54253] let s:lib.Codec.decoding_table["198,249"] = [54256] let s:lib.Codec.decoding_table["198,250"] = [54260] let s:lib.Codec.decoding_table["198,251"] = [54268] let s:lib.Codec.decoding_table["198,252"] = [54269] let s:lib.Codec.decoding_table["198,253"] = [54271] let s:lib.Codec.decoding_table["198,254"] = [54273] let s:lib.Codec.decoding_table["199,161"] = [54280] let s:lib.Codec.decoding_table["199,162"] = [54301] let s:lib.Codec.decoding_table["199,163"] = [54336] let s:lib.Codec.decoding_table["199,164"] = [54340] let s:lib.Codec.decoding_table["199,165"] = [54364] let s:lib.Codec.decoding_table["199,166"] = [54368] let s:lib.Codec.decoding_table["199,167"] = [54372] let s:lib.Codec.decoding_table["199,168"] = [54381] let s:lib.Codec.decoding_table["199,169"] = [54383] let s:lib.Codec.decoding_table["199,170"] = [54392] let s:lib.Codec.decoding_table["199,171"] = [54393] let s:lib.Codec.decoding_table["199,172"] = [54396] let s:lib.Codec.decoding_table["199,173"] = [54399] let s:lib.Codec.decoding_table["199,174"] = [54400] let s:lib.Codec.decoding_table["199,175"] = [54402] let s:lib.Codec.decoding_table["199,176"] = [54408] let s:lib.Codec.decoding_table["199,177"] = [54409] let s:lib.Codec.decoding_table["199,178"] = [54411] let s:lib.Codec.decoding_table["199,179"] = [54413] let s:lib.Codec.decoding_table["199,180"] = [54420] let s:lib.Codec.decoding_table["199,181"] = [54441] let s:lib.Codec.decoding_table["199,182"] = [54476] let s:lib.Codec.decoding_table["199,183"] = [54480] let s:lib.Codec.decoding_table["199,184"] = [54484] let s:lib.Codec.decoding_table["199,185"] = [54492] let s:lib.Codec.decoding_table["199,186"] = [54495] let s:lib.Codec.decoding_table["199,187"] = [54504] let s:lib.Codec.decoding_table["199,188"] = [54508] let s:lib.Codec.decoding_table["199,189"] = [54512] let s:lib.Codec.decoding_table["199,190"] = [54520] let s:lib.Codec.decoding_table["199,191"] = [54523] let s:lib.Codec.decoding_table["199,192"] = [54525] let s:lib.Codec.decoding_table["199,193"] = [54532] let s:lib.Codec.decoding_table["199,194"] = [54536] let s:lib.Codec.decoding_table["199,195"] = [54540] let s:lib.Codec.decoding_table["199,196"] = [54548] let s:lib.Codec.decoding_table["199,197"] = [54549] let s:lib.Codec.decoding_table["199,198"] = [54551] let s:lib.Codec.decoding_table["199,199"] = [54588] let s:lib.Codec.decoding_table["199,200"] = [54589] let s:lib.Codec.decoding_table["199,201"] = [54592] let s:lib.Codec.decoding_table["199,202"] = [54596] let s:lib.Codec.decoding_table["199,203"] = [54604] let s:lib.Codec.decoding_table["199,204"] = [54605] let s:lib.Codec.decoding_table["199,205"] = [54607] let s:lib.Codec.decoding_table["199,206"] = [54609] let s:lib.Codec.decoding_table["199,207"] = [54616] let s:lib.Codec.decoding_table["199,208"] = [54617] let s:lib.Codec.decoding_table["199,209"] = [54620] let s:lib.Codec.decoding_table["199,210"] = [54624] let s:lib.Codec.decoding_table["199,211"] = [54629] let s:lib.Codec.decoding_table["199,212"] = [54632] let s:lib.Codec.decoding_table["199,213"] = [54633] let s:lib.Codec.decoding_table["199,214"] = [54635] let s:lib.Codec.decoding_table["199,215"] = [54637] let s:lib.Codec.decoding_table["199,216"] = [54644] let s:lib.Codec.decoding_table["199,217"] = [54645] let s:lib.Codec.decoding_table["199,218"] = [54648] let s:lib.Codec.decoding_table["199,219"] = [54652] let s:lib.Codec.decoding_table["199,220"] = [54660] let s:lib.Codec.decoding_table["199,221"] = [54661] let s:lib.Codec.decoding_table["199,222"] = [54663] let s:lib.Codec.decoding_table["199,223"] = [54664] let s:lib.Codec.decoding_table["199,224"] = [54665] let s:lib.Codec.decoding_table["199,225"] = [54672] let s:lib.Codec.decoding_table["199,226"] = [54693] let s:lib.Codec.decoding_table["199,227"] = [54728] let s:lib.Codec.decoding_table["199,228"] = [54729] let s:lib.Codec.decoding_table["199,229"] = [54732] let s:lib.Codec.decoding_table["199,230"] = [54736] let s:lib.Codec.decoding_table["199,231"] = [54738] let s:lib.Codec.decoding_table["199,232"] = [54744] let s:lib.Codec.decoding_table["199,233"] = [54745] let s:lib.Codec.decoding_table["199,234"] = [54747] let s:lib.Codec.decoding_table["199,235"] = [54749] let s:lib.Codec.decoding_table["199,236"] = [54756] let s:lib.Codec.decoding_table["199,237"] = [54757] let s:lib.Codec.decoding_table["199,238"] = [54760] let s:lib.Codec.decoding_table["199,239"] = [54764] let s:lib.Codec.decoding_table["199,240"] = [54772] let s:lib.Codec.decoding_table["199,241"] = [54773] let s:lib.Codec.decoding_table["199,242"] = [54775] let s:lib.Codec.decoding_table["199,243"] = [54777] let s:lib.Codec.decoding_table["199,244"] = [54784] let s:lib.Codec.decoding_table["199,245"] = [54785] let s:lib.Codec.decoding_table["199,246"] = [54788] let s:lib.Codec.decoding_table["199,247"] = [54792] let s:lib.Codec.decoding_table["199,248"] = [54800] let s:lib.Codec.decoding_table["199,249"] = [54801] let s:lib.Codec.decoding_table["199,250"] = [54803] let s:lib.Codec.decoding_table["199,251"] = [54804] let s:lib.Codec.decoding_table["199,252"] = [54805] let s:lib.Codec.decoding_table["199,253"] = [54812] let s:lib.Codec.decoding_table["199,254"] = [54816] let s:lib.Codec.decoding_table["200,161"] = [54820] let s:lib.Codec.decoding_table["200,162"] = [54829] let s:lib.Codec.decoding_table["200,163"] = [54840] let s:lib.Codec.decoding_table["200,164"] = [54841] let s:lib.Codec.decoding_table["200,165"] = [54844] let s:lib.Codec.decoding_table["200,166"] = [54848] let s:lib.Codec.decoding_table["200,167"] = [54853] let s:lib.Codec.decoding_table["200,168"] = [54856] let s:lib.Codec.decoding_table["200,169"] = [54857] let s:lib.Codec.decoding_table["200,170"] = [54859] let s:lib.Codec.decoding_table["200,171"] = [54861] let s:lib.Codec.decoding_table["200,172"] = [54865] let s:lib.Codec.decoding_table["200,173"] = [54868] let s:lib.Codec.decoding_table["200,174"] = [54869] let s:lib.Codec.decoding_table["200,175"] = [54872] let s:lib.Codec.decoding_table["200,176"] = [54876] let s:lib.Codec.decoding_table["200,177"] = [54887] let s:lib.Codec.decoding_table["200,178"] = [54889] let s:lib.Codec.decoding_table["200,179"] = [54896] let s:lib.Codec.decoding_table["200,180"] = [54897] let s:lib.Codec.decoding_table["200,181"] = [54900] let s:lib.Codec.decoding_table["200,182"] = [54915] let s:lib.Codec.decoding_table["200,183"] = [54917] let s:lib.Codec.decoding_table["200,184"] = [54924] let s:lib.Codec.decoding_table["200,185"] = [54925] let s:lib.Codec.decoding_table["200,186"] = [54928] let s:lib.Codec.decoding_table["200,187"] = [54932] let s:lib.Codec.decoding_table["200,188"] = [54941] let s:lib.Codec.decoding_table["200,189"] = [54943] let s:lib.Codec.decoding_table["200,190"] = [54945] let s:lib.Codec.decoding_table["200,191"] = [54952] let s:lib.Codec.decoding_table["200,192"] = [54956] let s:lib.Codec.decoding_table["200,193"] = [54960] let s:lib.Codec.decoding_table["200,194"] = [54969] let s:lib.Codec.decoding_table["200,195"] = [54971] let s:lib.Codec.decoding_table["200,196"] = [54980] let s:lib.Codec.decoding_table["200,197"] = [54981] let s:lib.Codec.decoding_table["200,198"] = [54984] let s:lib.Codec.decoding_table["200,199"] = [54988] let s:lib.Codec.decoding_table["200,200"] = [54993] let s:lib.Codec.decoding_table["200,201"] = [54996] let s:lib.Codec.decoding_table["200,202"] = [54999] let s:lib.Codec.decoding_table["200,203"] = [55001] let s:lib.Codec.decoding_table["200,204"] = [55008] let s:lib.Codec.decoding_table["200,205"] = [55012] let s:lib.Codec.decoding_table["200,206"] = [55016] let s:lib.Codec.decoding_table["200,207"] = [55024] let s:lib.Codec.decoding_table["200,208"] = [55029] let s:lib.Codec.decoding_table["200,209"] = [55036] let s:lib.Codec.decoding_table["200,210"] = [55037] let s:lib.Codec.decoding_table["200,211"] = [55040] let s:lib.Codec.decoding_table["200,212"] = [55044] let s:lib.Codec.decoding_table["200,213"] = [55057] let s:lib.Codec.decoding_table["200,214"] = [55064] let s:lib.Codec.decoding_table["200,215"] = [55065] let s:lib.Codec.decoding_table["200,216"] = [55068] let s:lib.Codec.decoding_table["200,217"] = [55072] let s:lib.Codec.decoding_table["200,218"] = [55080] let s:lib.Codec.decoding_table["200,219"] = [55081] let s:lib.Codec.decoding_table["200,220"] = [55083] let s:lib.Codec.decoding_table["200,221"] = [55085] let s:lib.Codec.decoding_table["200,222"] = [55092] let s:lib.Codec.decoding_table["200,223"] = [55093] let s:lib.Codec.decoding_table["200,224"] = [55096] let s:lib.Codec.decoding_table["200,225"] = [55100] let s:lib.Codec.decoding_table["200,226"] = [55108] let s:lib.Codec.decoding_table["200,227"] = [55111] let s:lib.Codec.decoding_table["200,228"] = [55113] let s:lib.Codec.decoding_table["200,229"] = [55120] let s:lib.Codec.decoding_table["200,230"] = [55121] let s:lib.Codec.decoding_table["200,231"] = [55124] let s:lib.Codec.decoding_table["200,232"] = [55126] let s:lib.Codec.decoding_table["200,233"] = [55127] let s:lib.Codec.decoding_table["200,234"] = [55128] let s:lib.Codec.decoding_table["200,235"] = [55129] let s:lib.Codec.decoding_table["200,236"] = [55136] let s:lib.Codec.decoding_table["200,237"] = [55137] let s:lib.Codec.decoding_table["200,238"] = [55139] let s:lib.Codec.decoding_table["200,239"] = [55141] let s:lib.Codec.decoding_table["200,240"] = [55145] let s:lib.Codec.decoding_table["200,241"] = [55148] let s:lib.Codec.decoding_table["200,242"] = [55152] let s:lib.Codec.decoding_table["200,243"] = [55156] let s:lib.Codec.decoding_table["200,244"] = [55164] let s:lib.Codec.decoding_table["200,245"] = [55165] let s:lib.Codec.decoding_table["200,246"] = [55169] let s:lib.Codec.decoding_table["200,247"] = [55176] let s:lib.Codec.decoding_table["200,248"] = [55177] let s:lib.Codec.decoding_table["200,249"] = [55180] let s:lib.Codec.decoding_table["200,250"] = [55184] let s:lib.Codec.decoding_table["200,251"] = [55192] let s:lib.Codec.decoding_table["200,252"] = [55193] let s:lib.Codec.decoding_table["200,253"] = [55195] let s:lib.Codec.decoding_table["200,254"] = [55197] let s:lib.Codec.decoding_table["202,161"] = [20285] let s:lib.Codec.decoding_table["202,162"] = [20339] let s:lib.Codec.decoding_table["202,163"] = [20551] let s:lib.Codec.decoding_table["202,164"] = [20729] let s:lib.Codec.decoding_table["202,165"] = [21152] let s:lib.Codec.decoding_table["202,166"] = [21487] let s:lib.Codec.decoding_table["202,167"] = [21621] let s:lib.Codec.decoding_table["202,168"] = [21733] let s:lib.Codec.decoding_table["202,169"] = [22025] let s:lib.Codec.decoding_table["202,170"] = [23233] let s:lib.Codec.decoding_table["202,171"] = [23478] let s:lib.Codec.decoding_table["202,172"] = [26247] let s:lib.Codec.decoding_table["202,173"] = [26550] let s:lib.Codec.decoding_table["202,174"] = [26551] let s:lib.Codec.decoding_table["202,175"] = [26607] let s:lib.Codec.decoding_table["202,176"] = [27468] let s:lib.Codec.decoding_table["202,177"] = [29634] let s:lib.Codec.decoding_table["202,178"] = [30146] let s:lib.Codec.decoding_table["202,179"] = [31292] let s:lib.Codec.decoding_table["202,180"] = [33499] let s:lib.Codec.decoding_table["202,181"] = [33540] let s:lib.Codec.decoding_table["202,182"] = [34903] let s:lib.Codec.decoding_table["202,183"] = [34952] let s:lib.Codec.decoding_table["202,184"] = [35382] let s:lib.Codec.decoding_table["202,185"] = [36040] let s:lib.Codec.decoding_table["202,186"] = [36303] let s:lib.Codec.decoding_table["202,187"] = [36603] let s:lib.Codec.decoding_table["202,188"] = [36838] let s:lib.Codec.decoding_table["202,189"] = [39381] let s:lib.Codec.decoding_table["202,190"] = [21051] let s:lib.Codec.decoding_table["202,191"] = [21364] let s:lib.Codec.decoding_table["202,192"] = [21508] let s:lib.Codec.decoding_table["202,193"] = [24682] let s:lib.Codec.decoding_table["202,194"] = [24932] let s:lib.Codec.decoding_table["202,195"] = [27580] let s:lib.Codec.decoding_table["202,196"] = [29647] let s:lib.Codec.decoding_table["202,197"] = [33050] let s:lib.Codec.decoding_table["202,198"] = [35258] let s:lib.Codec.decoding_table["202,199"] = [35282] let s:lib.Codec.decoding_table["202,200"] = [38307] let s:lib.Codec.decoding_table["202,201"] = [20355] let s:lib.Codec.decoding_table["202,202"] = [21002] let s:lib.Codec.decoding_table["202,203"] = [22718] let s:lib.Codec.decoding_table["202,204"] = [22904] let s:lib.Codec.decoding_table["202,205"] = [23014] let s:lib.Codec.decoding_table["202,206"] = [24178] let s:lib.Codec.decoding_table["202,207"] = [24185] let s:lib.Codec.decoding_table["202,208"] = [25031] let s:lib.Codec.decoding_table["202,209"] = [25536] let s:lib.Codec.decoding_table["202,210"] = [26438] let s:lib.Codec.decoding_table["202,211"] = [26604] let s:lib.Codec.decoding_table["202,212"] = [26751] let s:lib.Codec.decoding_table["202,213"] = [28567] let s:lib.Codec.decoding_table["202,214"] = [30286] let s:lib.Codec.decoding_table["202,215"] = [30475] let s:lib.Codec.decoding_table["202,216"] = [30965] let s:lib.Codec.decoding_table["202,217"] = [31240] let s:lib.Codec.decoding_table["202,218"] = [31487] let s:lib.Codec.decoding_table["202,219"] = [31777] let s:lib.Codec.decoding_table["202,220"] = [32925] let s:lib.Codec.decoding_table["202,221"] = [33390] let s:lib.Codec.decoding_table["202,222"] = [33393] let s:lib.Codec.decoding_table["202,223"] = [35563] let s:lib.Codec.decoding_table["202,224"] = [38291] let s:lib.Codec.decoding_table["202,225"] = [20075] let s:lib.Codec.decoding_table["202,226"] = [21917] let s:lib.Codec.decoding_table["202,227"] = [26359] let s:lib.Codec.decoding_table["202,228"] = [28212] let s:lib.Codec.decoding_table["202,229"] = [30883] let s:lib.Codec.decoding_table["202,230"] = [31469] let s:lib.Codec.decoding_table["202,231"] = [33883] let s:lib.Codec.decoding_table["202,232"] = [35088] let s:lib.Codec.decoding_table["202,233"] = [34638] let s:lib.Codec.decoding_table["202,234"] = [38824] let s:lib.Codec.decoding_table["202,235"] = [21208] let s:lib.Codec.decoding_table["202,236"] = [22350] let s:lib.Codec.decoding_table["202,237"] = [22570] let s:lib.Codec.decoding_table["202,238"] = [23884] let s:lib.Codec.decoding_table["202,239"] = [24863] let s:lib.Codec.decoding_table["202,240"] = [25022] let s:lib.Codec.decoding_table["202,241"] = [25121] let s:lib.Codec.decoding_table["202,242"] = [25954] let s:lib.Codec.decoding_table["202,243"] = [26577] let s:lib.Codec.decoding_table["202,244"] = [27204] let s:lib.Codec.decoding_table["202,245"] = [28187] let s:lib.Codec.decoding_table["202,246"] = [29976] let s:lib.Codec.decoding_table["202,247"] = [30131] let s:lib.Codec.decoding_table["202,248"] = [30435] let s:lib.Codec.decoding_table["202,249"] = [30640] let s:lib.Codec.decoding_table["202,250"] = [32058] let s:lib.Codec.decoding_table["202,251"] = [37039] let s:lib.Codec.decoding_table["202,252"] = [37969] let s:lib.Codec.decoding_table["202,253"] = [37970] let s:lib.Codec.decoding_table["202,254"] = [40853] let s:lib.Codec.decoding_table["203,161"] = [21283] let s:lib.Codec.decoding_table["203,162"] = [23724] let s:lib.Codec.decoding_table["203,163"] = [30002] let s:lib.Codec.decoding_table["203,164"] = [32987] let s:lib.Codec.decoding_table["203,165"] = [37440] let s:lib.Codec.decoding_table["203,166"] = [38296] let s:lib.Codec.decoding_table["203,167"] = [21083] let s:lib.Codec.decoding_table["203,168"] = [22536] let s:lib.Codec.decoding_table["203,169"] = [23004] let s:lib.Codec.decoding_table["203,170"] = [23713] let s:lib.Codec.decoding_table["203,171"] = [23831] let s:lib.Codec.decoding_table["203,172"] = [24247] let s:lib.Codec.decoding_table["203,173"] = [24378] let s:lib.Codec.decoding_table["203,174"] = [24394] let s:lib.Codec.decoding_table["203,175"] = [24951] let s:lib.Codec.decoding_table["203,176"] = [27743] let s:lib.Codec.decoding_table["203,177"] = [30074] let s:lib.Codec.decoding_table["203,178"] = [30086] let s:lib.Codec.decoding_table["203,179"] = [31968] let s:lib.Codec.decoding_table["203,180"] = [32115] let s:lib.Codec.decoding_table["203,181"] = [32177] let s:lib.Codec.decoding_table["203,182"] = [32652] let s:lib.Codec.decoding_table["203,183"] = [33108] let s:lib.Codec.decoding_table["203,184"] = [33313] let s:lib.Codec.decoding_table["203,185"] = [34193] let s:lib.Codec.decoding_table["203,186"] = [35137] let s:lib.Codec.decoding_table["203,187"] = [35611] let s:lib.Codec.decoding_table["203,188"] = [37628] let s:lib.Codec.decoding_table["203,189"] = [38477] let s:lib.Codec.decoding_table["203,190"] = [40007] let s:lib.Codec.decoding_table["203,191"] = [20171] let s:lib.Codec.decoding_table["203,192"] = [20215] let s:lib.Codec.decoding_table["203,193"] = [20491] let s:lib.Codec.decoding_table["203,194"] = [20977] let s:lib.Codec.decoding_table["203,195"] = [22607] let s:lib.Codec.decoding_table["203,196"] = [24887] let s:lib.Codec.decoding_table["203,197"] = [24894] let s:lib.Codec.decoding_table["203,198"] = [24936] let s:lib.Codec.decoding_table["203,199"] = [25913] let s:lib.Codec.decoding_table["203,200"] = [27114] let s:lib.Codec.decoding_table["203,201"] = [28433] let s:lib.Codec.decoding_table["203,202"] = [30117] let s:lib.Codec.decoding_table["203,203"] = [30342] let s:lib.Codec.decoding_table["203,204"] = [30422] let s:lib.Codec.decoding_table["203,205"] = [31623] let s:lib.Codec.decoding_table["203,206"] = [33445] let s:lib.Codec.decoding_table["203,207"] = [33995] let s:lib.Codec.decoding_table["203,208"] = [63744] let s:lib.Codec.decoding_table["203,209"] = [37799] let s:lib.Codec.decoding_table["203,210"] = [38283] let s:lib.Codec.decoding_table["203,211"] = [21888] let s:lib.Codec.decoding_table["203,212"] = [23458] let s:lib.Codec.decoding_table["203,213"] = [22353] let s:lib.Codec.decoding_table["203,214"] = [63745] let s:lib.Codec.decoding_table["203,215"] = [31923] let s:lib.Codec.decoding_table["203,216"] = [32697] let s:lib.Codec.decoding_table["203,217"] = [37301] let s:lib.Codec.decoding_table["203,218"] = [20520] let s:lib.Codec.decoding_table["203,219"] = [21435] let s:lib.Codec.decoding_table["203,220"] = [23621] let s:lib.Codec.decoding_table["203,221"] = [24040] let s:lib.Codec.decoding_table["203,222"] = [25298] let s:lib.Codec.decoding_table["203,223"] = [25454] let s:lib.Codec.decoding_table["203,224"] = [25818] let s:lib.Codec.decoding_table["203,225"] = [25831] let s:lib.Codec.decoding_table["203,226"] = [28192] let s:lib.Codec.decoding_table["203,227"] = [28844] let s:lib.Codec.decoding_table["203,228"] = [31067] let s:lib.Codec.decoding_table["203,229"] = [36317] let s:lib.Codec.decoding_table["203,230"] = [36382] let s:lib.Codec.decoding_table["203,231"] = [63746] let s:lib.Codec.decoding_table["203,232"] = [36989] let s:lib.Codec.decoding_table["203,233"] = [37445] let s:lib.Codec.decoding_table["203,234"] = [37624] let s:lib.Codec.decoding_table["203,235"] = [20094] let s:lib.Codec.decoding_table["203,236"] = [20214] let s:lib.Codec.decoding_table["203,237"] = [20581] let s:lib.Codec.decoding_table["203,238"] = [24062] let s:lib.Codec.decoding_table["203,239"] = [24314] let s:lib.Codec.decoding_table["203,240"] = [24838] let s:lib.Codec.decoding_table["203,241"] = [26967] let s:lib.Codec.decoding_table["203,242"] = [33137] let s:lib.Codec.decoding_table["203,243"] = [34388] let s:lib.Codec.decoding_table["203,244"] = [36423] let s:lib.Codec.decoding_table["203,245"] = [37749] let s:lib.Codec.decoding_table["203,246"] = [39467] let s:lib.Codec.decoding_table["203,247"] = [20062] let s:lib.Codec.decoding_table["203,248"] = [20625] let s:lib.Codec.decoding_table["203,249"] = [26480] let s:lib.Codec.decoding_table["203,250"] = [26688] let s:lib.Codec.decoding_table["203,251"] = [20745] let s:lib.Codec.decoding_table["203,252"] = [21133] let s:lib.Codec.decoding_table["203,253"] = [21138] let s:lib.Codec.decoding_table["203,254"] = [27298] let s:lib.Codec.decoding_table["204,161"] = [30652] let s:lib.Codec.decoding_table["204,162"] = [37392] let s:lib.Codec.decoding_table["204,163"] = [40660] let s:lib.Codec.decoding_table["204,164"] = [21163] let s:lib.Codec.decoding_table["204,165"] = [24623] let s:lib.Codec.decoding_table["204,166"] = [36850] let s:lib.Codec.decoding_table["204,167"] = [20552] let s:lib.Codec.decoding_table["204,168"] = [25001] let s:lib.Codec.decoding_table["204,169"] = [25581] let s:lib.Codec.decoding_table["204,170"] = [25802] let s:lib.Codec.decoding_table["204,171"] = [26684] let s:lib.Codec.decoding_table["204,172"] = [27268] let s:lib.Codec.decoding_table["204,173"] = [28608] let s:lib.Codec.decoding_table["204,174"] = [33160] let s:lib.Codec.decoding_table["204,175"] = [35233] let s:lib.Codec.decoding_table["204,176"] = [38548] let s:lib.Codec.decoding_table["204,177"] = [22533] let s:lib.Codec.decoding_table["204,178"] = [29309] let s:lib.Codec.decoding_table["204,179"] = [29356] let s:lib.Codec.decoding_table["204,180"] = [29956] let s:lib.Codec.decoding_table["204,181"] = [32121] let s:lib.Codec.decoding_table["204,182"] = [32365] let s:lib.Codec.decoding_table["204,183"] = [32937] let s:lib.Codec.decoding_table["204,184"] = [35211] let s:lib.Codec.decoding_table["204,185"] = [35700] let s:lib.Codec.decoding_table["204,186"] = [36963] let s:lib.Codec.decoding_table["204,187"] = [40273] let s:lib.Codec.decoding_table["204,188"] = [25225] let s:lib.Codec.decoding_table["204,189"] = [27770] let s:lib.Codec.decoding_table["204,190"] = [28500] let s:lib.Codec.decoding_table["204,191"] = [32080] let s:lib.Codec.decoding_table["204,192"] = [32570] let s:lib.Codec.decoding_table["204,193"] = [35363] let s:lib.Codec.decoding_table["204,194"] = [20860] let s:lib.Codec.decoding_table["204,195"] = [24906] let s:lib.Codec.decoding_table["204,196"] = [31645] let s:lib.Codec.decoding_table["204,197"] = [35609] let s:lib.Codec.decoding_table["204,198"] = [37463] let s:lib.Codec.decoding_table["204,199"] = [37772] let s:lib.Codec.decoding_table["204,200"] = [20140] let s:lib.Codec.decoding_table["204,201"] = [20435] let s:lib.Codec.decoding_table["204,202"] = [20510] let s:lib.Codec.decoding_table["204,203"] = [20670] let s:lib.Codec.decoding_table["204,204"] = [20742] let s:lib.Codec.decoding_table["204,205"] = [21185] let s:lib.Codec.decoding_table["204,206"] = [21197] let s:lib.Codec.decoding_table["204,207"] = [21375] let s:lib.Codec.decoding_table["204,208"] = [22384] let s:lib.Codec.decoding_table["204,209"] = [22659] let s:lib.Codec.decoding_table["204,210"] = [24218] let s:lib.Codec.decoding_table["204,211"] = [24465] let s:lib.Codec.decoding_table["204,212"] = [24950] let s:lib.Codec.decoding_table["204,213"] = [25004] let s:lib.Codec.decoding_table["204,214"] = [25806] let s:lib.Codec.decoding_table["204,215"] = [25964] let s:lib.Codec.decoding_table["204,216"] = [26223] let s:lib.Codec.decoding_table["204,217"] = [26299] let s:lib.Codec.decoding_table["204,218"] = [26356] let s:lib.Codec.decoding_table["204,219"] = [26775] let s:lib.Codec.decoding_table["204,220"] = [28039] let s:lib.Codec.decoding_table["204,221"] = [28805] let s:lib.Codec.decoding_table["204,222"] = [28913] let s:lib.Codec.decoding_table["204,223"] = [29855] let s:lib.Codec.decoding_table["204,224"] = [29861] let s:lib.Codec.decoding_table["204,225"] = [29898] let s:lib.Codec.decoding_table["204,226"] = [30169] let s:lib.Codec.decoding_table["204,227"] = [30828] let s:lib.Codec.decoding_table["204,228"] = [30956] let s:lib.Codec.decoding_table["204,229"] = [31455] let s:lib.Codec.decoding_table["204,230"] = [31478] let s:lib.Codec.decoding_table["204,231"] = [32069] let s:lib.Codec.decoding_table["204,232"] = [32147] let s:lib.Codec.decoding_table["204,233"] = [32789] let s:lib.Codec.decoding_table["204,234"] = [32831] let s:lib.Codec.decoding_table["204,235"] = [33051] let s:lib.Codec.decoding_table["204,236"] = [33686] let s:lib.Codec.decoding_table["204,237"] = [35686] let s:lib.Codec.decoding_table["204,238"] = [36629] let s:lib.Codec.decoding_table["204,239"] = [36885] let s:lib.Codec.decoding_table["204,240"] = [37857] let s:lib.Codec.decoding_table["204,241"] = [38915] let s:lib.Codec.decoding_table["204,242"] = [38968] let s:lib.Codec.decoding_table["204,243"] = [39514] let s:lib.Codec.decoding_table["204,244"] = [39912] let s:lib.Codec.decoding_table["204,245"] = [20418] let s:lib.Codec.decoding_table["204,246"] = [21843] let s:lib.Codec.decoding_table["204,247"] = [22586] let s:lib.Codec.decoding_table["204,248"] = [22865] let s:lib.Codec.decoding_table["204,249"] = [23395] let s:lib.Codec.decoding_table["204,250"] = [23622] let s:lib.Codec.decoding_table["204,251"] = [24760] let s:lib.Codec.decoding_table["204,252"] = [25106] let s:lib.Codec.decoding_table["204,253"] = [26690] let s:lib.Codec.decoding_table["204,254"] = [26800] let s:lib.Codec.decoding_table["205,161"] = [26856] let s:lib.Codec.decoding_table["205,162"] = [28330] let s:lib.Codec.decoding_table["205,163"] = [30028] let s:lib.Codec.decoding_table["205,164"] = [30328] let s:lib.Codec.decoding_table["205,165"] = [30926] let s:lib.Codec.decoding_table["205,166"] = [31293] let s:lib.Codec.decoding_table["205,167"] = [31995] let s:lib.Codec.decoding_table["205,168"] = [32363] let s:lib.Codec.decoding_table["205,169"] = [32380] let s:lib.Codec.decoding_table["205,170"] = [35336] let s:lib.Codec.decoding_table["205,171"] = [35489] let s:lib.Codec.decoding_table["205,172"] = [35903] let s:lib.Codec.decoding_table["205,173"] = [38542] let s:lib.Codec.decoding_table["205,174"] = [40388] let s:lib.Codec.decoding_table["205,175"] = [21476] let s:lib.Codec.decoding_table["205,176"] = [21481] let s:lib.Codec.decoding_table["205,177"] = [21578] let s:lib.Codec.decoding_table["205,178"] = [21617] let s:lib.Codec.decoding_table["205,179"] = [22266] let s:lib.Codec.decoding_table["205,180"] = [22993] let s:lib.Codec.decoding_table["205,181"] = [23396] let s:lib.Codec.decoding_table["205,182"] = [23611] let s:lib.Codec.decoding_table["205,183"] = [24235] let s:lib.Codec.decoding_table["205,184"] = [25335] let s:lib.Codec.decoding_table["205,185"] = [25911] let s:lib.Codec.decoding_table["205,186"] = [25925] let s:lib.Codec.decoding_table["205,187"] = [25970] let s:lib.Codec.decoding_table["205,188"] = [26272] let s:lib.Codec.decoding_table["205,189"] = [26543] let s:lib.Codec.decoding_table["205,190"] = [27073] let s:lib.Codec.decoding_table["205,191"] = [27837] let s:lib.Codec.decoding_table["205,192"] = [30204] let s:lib.Codec.decoding_table["205,193"] = [30352] let s:lib.Codec.decoding_table["205,194"] = [30590] let s:lib.Codec.decoding_table["205,195"] = [31295] let s:lib.Codec.decoding_table["205,196"] = [32660] let s:lib.Codec.decoding_table["205,197"] = [32771] let s:lib.Codec.decoding_table["205,198"] = [32929] let s:lib.Codec.decoding_table["205,199"] = [33167] let s:lib.Codec.decoding_table["205,200"] = [33510] let s:lib.Codec.decoding_table["205,201"] = [33533] let s:lib.Codec.decoding_table["205,202"] = [33776] let s:lib.Codec.decoding_table["205,203"] = [34241] let s:lib.Codec.decoding_table["205,204"] = [34865] let s:lib.Codec.decoding_table["205,205"] = [34996] let s:lib.Codec.decoding_table["205,206"] = [35493] let s:lib.Codec.decoding_table["205,207"] = [63747] let s:lib.Codec.decoding_table["205,208"] = [36764] let s:lib.Codec.decoding_table["205,209"] = [37678] let s:lib.Codec.decoding_table["205,210"] = [38599] let s:lib.Codec.decoding_table["205,211"] = [39015] let s:lib.Codec.decoding_table["205,212"] = [39640] let s:lib.Codec.decoding_table["205,213"] = [40723] let s:lib.Codec.decoding_table["205,214"] = [21741] let s:lib.Codec.decoding_table["205,215"] = [26011] let s:lib.Codec.decoding_table["205,216"] = [26354] let s:lib.Codec.decoding_table["205,217"] = [26767] let s:lib.Codec.decoding_table["205,218"] = [31296] let s:lib.Codec.decoding_table["205,219"] = [35895] let s:lib.Codec.decoding_table["205,220"] = [40288] let s:lib.Codec.decoding_table["205,221"] = [22256] let s:lib.Codec.decoding_table["205,222"] = [22372] let s:lib.Codec.decoding_table["205,223"] = [23825] let s:lib.Codec.decoding_table["205,224"] = [26118] let s:lib.Codec.decoding_table["205,225"] = [26801] let s:lib.Codec.decoding_table["205,226"] = [26829] let s:lib.Codec.decoding_table["205,227"] = [28414] let s:lib.Codec.decoding_table["205,228"] = [29736] let s:lib.Codec.decoding_table["205,229"] = [34974] let s:lib.Codec.decoding_table["205,230"] = [39908] let s:lib.Codec.decoding_table["205,231"] = [27752] let s:lib.Codec.decoding_table["205,232"] = [63748] let s:lib.Codec.decoding_table["205,233"] = [39592] let s:lib.Codec.decoding_table["205,234"] = [20379] let s:lib.Codec.decoding_table["205,235"] = [20844] let s:lib.Codec.decoding_table["205,236"] = [20849] let s:lib.Codec.decoding_table["205,237"] = [21151] let s:lib.Codec.decoding_table["205,238"] = [23380] let s:lib.Codec.decoding_table["205,239"] = [24037] let s:lib.Codec.decoding_table["205,240"] = [24656] let s:lib.Codec.decoding_table["205,241"] = [24685] let s:lib.Codec.decoding_table["205,242"] = [25329] let s:lib.Codec.decoding_table["205,243"] = [25511] let s:lib.Codec.decoding_table["205,244"] = [25915] let s:lib.Codec.decoding_table["205,245"] = [29657] let s:lib.Codec.decoding_table["205,246"] = [31354] let s:lib.Codec.decoding_table["205,247"] = [34467] let s:lib.Codec.decoding_table["205,248"] = [36002] let s:lib.Codec.decoding_table["205,249"] = [38799] let s:lib.Codec.decoding_table["205,250"] = [20018] let s:lib.Codec.decoding_table["205,251"] = [23521] let s:lib.Codec.decoding_table["205,252"] = [25096] let s:lib.Codec.decoding_table["205,253"] = [26524] let s:lib.Codec.decoding_table["205,254"] = [29916] let s:lib.Codec.decoding_table["206,161"] = [31185] let s:lib.Codec.decoding_table["206,162"] = [33747] let s:lib.Codec.decoding_table["206,163"] = [35463] let s:lib.Codec.decoding_table["206,164"] = [35506] let s:lib.Codec.decoding_table["206,165"] = [36328] let s:lib.Codec.decoding_table["206,166"] = [36942] let s:lib.Codec.decoding_table["206,167"] = [37707] let s:lib.Codec.decoding_table["206,168"] = [38982] let s:lib.Codec.decoding_table["206,169"] = [24275] let s:lib.Codec.decoding_table["206,170"] = [27112] let s:lib.Codec.decoding_table["206,171"] = [34303] let s:lib.Codec.decoding_table["206,172"] = [37101] let s:lib.Codec.decoding_table["206,173"] = [63749] let s:lib.Codec.decoding_table["206,174"] = [20896] let s:lib.Codec.decoding_table["206,175"] = [23448] let s:lib.Codec.decoding_table["206,176"] = [23532] let s:lib.Codec.decoding_table["206,177"] = [24931] let s:lib.Codec.decoding_table["206,178"] = [26874] let s:lib.Codec.decoding_table["206,179"] = [27454] let s:lib.Codec.decoding_table["206,180"] = [28748] let s:lib.Codec.decoding_table["206,181"] = [29743] let s:lib.Codec.decoding_table["206,182"] = [29912] let s:lib.Codec.decoding_table["206,183"] = [31649] let s:lib.Codec.decoding_table["206,184"] = [32592] let s:lib.Codec.decoding_table["206,185"] = [33733] let s:lib.Codec.decoding_table["206,186"] = [35264] let s:lib.Codec.decoding_table["206,187"] = [36011] let s:lib.Codec.decoding_table["206,188"] = [38364] let s:lib.Codec.decoding_table["206,189"] = [39208] let s:lib.Codec.decoding_table["206,190"] = [21038] let s:lib.Codec.decoding_table["206,191"] = [24669] let s:lib.Codec.decoding_table["206,192"] = [25324] let s:lib.Codec.decoding_table["206,193"] = [36866] let s:lib.Codec.decoding_table["206,194"] = [20362] let s:lib.Codec.decoding_table["206,195"] = [20809] let s:lib.Codec.decoding_table["206,196"] = [21281] let s:lib.Codec.decoding_table["206,197"] = [22745] let s:lib.Codec.decoding_table["206,198"] = [24291] let s:lib.Codec.decoding_table["206,199"] = [26336] let s:lib.Codec.decoding_table["206,200"] = [27960] let s:lib.Codec.decoding_table["206,201"] = [28826] let s:lib.Codec.decoding_table["206,202"] = [29378] let s:lib.Codec.decoding_table["206,203"] = [29654] let s:lib.Codec.decoding_table["206,204"] = [31568] let s:lib.Codec.decoding_table["206,205"] = [33009] let s:lib.Codec.decoding_table["206,206"] = [37979] let s:lib.Codec.decoding_table["206,207"] = [21350] let s:lib.Codec.decoding_table["206,208"] = [25499] let s:lib.Codec.decoding_table["206,209"] = [32619] let s:lib.Codec.decoding_table["206,210"] = [20054] let s:lib.Codec.decoding_table["206,211"] = [20608] let s:lib.Codec.decoding_table["206,212"] = [22602] let s:lib.Codec.decoding_table["206,213"] = [22750] let s:lib.Codec.decoding_table["206,214"] = [24618] let s:lib.Codec.decoding_table["206,215"] = [24871] let s:lib.Codec.decoding_table["206,216"] = [25296] let s:lib.Codec.decoding_table["206,217"] = [27088] let s:lib.Codec.decoding_table["206,218"] = [39745] let s:lib.Codec.decoding_table["206,219"] = [23439] let s:lib.Codec.decoding_table["206,220"] = [32024] let s:lib.Codec.decoding_table["206,221"] = [32945] let s:lib.Codec.decoding_table["206,222"] = [36703] let s:lib.Codec.decoding_table["206,223"] = [20132] let s:lib.Codec.decoding_table["206,224"] = [20689] let s:lib.Codec.decoding_table["206,225"] = [21676] let s:lib.Codec.decoding_table["206,226"] = [21932] let s:lib.Codec.decoding_table["206,227"] = [23308] let s:lib.Codec.decoding_table["206,228"] = [23968] let s:lib.Codec.decoding_table["206,229"] = [24039] let s:lib.Codec.decoding_table["206,230"] = [25898] let s:lib.Codec.decoding_table["206,231"] = [25934] let s:lib.Codec.decoding_table["206,232"] = [26657] let s:lib.Codec.decoding_table["206,233"] = [27211] let s:lib.Codec.decoding_table["206,234"] = [29409] let s:lib.Codec.decoding_table["206,235"] = [30350] let s:lib.Codec.decoding_table["206,236"] = [30703] let s:lib.Codec.decoding_table["206,237"] = [32094] let s:lib.Codec.decoding_table["206,238"] = [32761] let s:lib.Codec.decoding_table["206,239"] = [33184] let s:lib.Codec.decoding_table["206,240"] = [34126] let s:lib.Codec.decoding_table["206,241"] = [34527] let s:lib.Codec.decoding_table["206,242"] = [36611] let s:lib.Codec.decoding_table["206,243"] = [36686] let s:lib.Codec.decoding_table["206,244"] = [37066] let s:lib.Codec.decoding_table["206,245"] = [39171] let s:lib.Codec.decoding_table["206,246"] = [39509] let s:lib.Codec.decoding_table["206,247"] = [39851] let s:lib.Codec.decoding_table["206,248"] = [19992] let s:lib.Codec.decoding_table["206,249"] = [20037] let s:lib.Codec.decoding_table["206,250"] = [20061] let s:lib.Codec.decoding_table["206,251"] = [20167] let s:lib.Codec.decoding_table["206,252"] = [20465] let s:lib.Codec.decoding_table["206,253"] = [20855] let s:lib.Codec.decoding_table["206,254"] = [21246] let s:lib.Codec.decoding_table["207,161"] = [21312] let s:lib.Codec.decoding_table["207,162"] = [21475] let s:lib.Codec.decoding_table["207,163"] = [21477] let s:lib.Codec.decoding_table["207,164"] = [21646] let s:lib.Codec.decoding_table["207,165"] = [22036] let s:lib.Codec.decoding_table["207,166"] = [22389] let s:lib.Codec.decoding_table["207,167"] = [22434] let s:lib.Codec.decoding_table["207,168"] = [23495] let s:lib.Codec.decoding_table["207,169"] = [23943] let s:lib.Codec.decoding_table["207,170"] = [24272] let s:lib.Codec.decoding_table["207,171"] = [25084] let s:lib.Codec.decoding_table["207,172"] = [25304] let s:lib.Codec.decoding_table["207,173"] = [25937] let s:lib.Codec.decoding_table["207,174"] = [26552] let s:lib.Codec.decoding_table["207,175"] = [26601] let s:lib.Codec.decoding_table["207,176"] = [27083] let s:lib.Codec.decoding_table["207,177"] = [27472] let s:lib.Codec.decoding_table["207,178"] = [27590] let s:lib.Codec.decoding_table["207,179"] = [27628] let s:lib.Codec.decoding_table["207,180"] = [27714] let s:lib.Codec.decoding_table["207,181"] = [28317] let s:lib.Codec.decoding_table["207,182"] = [28792] let s:lib.Codec.decoding_table["207,183"] = [29399] let s:lib.Codec.decoding_table["207,184"] = [29590] let s:lib.Codec.decoding_table["207,185"] = [29699] let s:lib.Codec.decoding_table["207,186"] = [30655] let s:lib.Codec.decoding_table["207,187"] = [30697] let s:lib.Codec.decoding_table["207,188"] = [31350] let s:lib.Codec.decoding_table["207,189"] = [32127] let s:lib.Codec.decoding_table["207,190"] = [32777] let s:lib.Codec.decoding_table["207,191"] = [33276] let s:lib.Codec.decoding_table["207,192"] = [33285] let s:lib.Codec.decoding_table["207,193"] = [33290] let s:lib.Codec.decoding_table["207,194"] = [33503] let s:lib.Codec.decoding_table["207,195"] = [34914] let s:lib.Codec.decoding_table["207,196"] = [35635] let s:lib.Codec.decoding_table["207,197"] = [36092] let s:lib.Codec.decoding_table["207,198"] = [36544] let s:lib.Codec.decoding_table["207,199"] = [36881] let s:lib.Codec.decoding_table["207,200"] = [37041] let s:lib.Codec.decoding_table["207,201"] = [37476] let s:lib.Codec.decoding_table["207,202"] = [37558] let s:lib.Codec.decoding_table["207,203"] = [39378] let s:lib.Codec.decoding_table["207,204"] = [39493] let s:lib.Codec.decoding_table["207,205"] = [40169] let s:lib.Codec.decoding_table["207,206"] = [40407] let s:lib.Codec.decoding_table["207,207"] = [40860] let s:lib.Codec.decoding_table["207,208"] = [22283] let s:lib.Codec.decoding_table["207,209"] = [23616] let s:lib.Codec.decoding_table["207,210"] = [33738] let s:lib.Codec.decoding_table["207,211"] = [38816] let s:lib.Codec.decoding_table["207,212"] = [38827] let s:lib.Codec.decoding_table["207,213"] = [40628] let s:lib.Codec.decoding_table["207,214"] = [21531] let s:lib.Codec.decoding_table["207,215"] = [31384] let s:lib.Codec.decoding_table["207,216"] = [32676] let s:lib.Codec.decoding_table["207,217"] = [35033] let s:lib.Codec.decoding_table["207,218"] = [36557] let s:lib.Codec.decoding_table["207,219"] = [37089] let s:lib.Codec.decoding_table["207,220"] = [22528] let s:lib.Codec.decoding_table["207,221"] = [23624] let s:lib.Codec.decoding_table["207,222"] = [25496] let s:lib.Codec.decoding_table["207,223"] = [31391] let s:lib.Codec.decoding_table["207,224"] = [23470] let s:lib.Codec.decoding_table["207,225"] = [24339] let s:lib.Codec.decoding_table["207,226"] = [31353] let s:lib.Codec.decoding_table["207,227"] = [31406] let s:lib.Codec.decoding_table["207,228"] = [33422] let s:lib.Codec.decoding_table["207,229"] = [36524] let s:lib.Codec.decoding_table["207,230"] = [20518] let s:lib.Codec.decoding_table["207,231"] = [21048] let s:lib.Codec.decoding_table["207,232"] = [21240] let s:lib.Codec.decoding_table["207,233"] = [21367] let s:lib.Codec.decoding_table["207,234"] = [22280] let s:lib.Codec.decoding_table["207,235"] = [25331] let s:lib.Codec.decoding_table["207,236"] = [25458] let s:lib.Codec.decoding_table["207,237"] = [27402] let s:lib.Codec.decoding_table["207,238"] = [28099] let s:lib.Codec.decoding_table["207,239"] = [30519] let s:lib.Codec.decoding_table["207,240"] = [21413] let s:lib.Codec.decoding_table["207,241"] = [29527] let s:lib.Codec.decoding_table["207,242"] = [34152] let s:lib.Codec.decoding_table["207,243"] = [36470] let s:lib.Codec.decoding_table["207,244"] = [38357] let s:lib.Codec.decoding_table["207,245"] = [26426] let s:lib.Codec.decoding_table["207,246"] = [27331] let s:lib.Codec.decoding_table["207,247"] = [28528] let s:lib.Codec.decoding_table["207,248"] = [35437] let s:lib.Codec.decoding_table["207,249"] = [36556] let s:lib.Codec.decoding_table["207,250"] = [39243] let s:lib.Codec.decoding_table["207,251"] = [63750] let s:lib.Codec.decoding_table["207,252"] = [26231] let s:lib.Codec.decoding_table["207,253"] = [27512] let s:lib.Codec.decoding_table["207,254"] = [36020] let s:lib.Codec.decoding_table["208,161"] = [39740] let s:lib.Codec.decoding_table["208,162"] = [63751] let s:lib.Codec.decoding_table["208,163"] = [21483] let s:lib.Codec.decoding_table["208,164"] = [22317] let s:lib.Codec.decoding_table["208,165"] = [22862] let s:lib.Codec.decoding_table["208,166"] = [25542] let s:lib.Codec.decoding_table["208,167"] = [27131] let s:lib.Codec.decoding_table["208,168"] = [29674] let s:lib.Codec.decoding_table["208,169"] = [30789] let s:lib.Codec.decoding_table["208,170"] = [31418] let s:lib.Codec.decoding_table["208,171"] = [31429] let s:lib.Codec.decoding_table["208,172"] = [31998] let s:lib.Codec.decoding_table["208,173"] = [33909] let s:lib.Codec.decoding_table["208,174"] = [35215] let s:lib.Codec.decoding_table["208,175"] = [36211] let s:lib.Codec.decoding_table["208,176"] = [36917] let s:lib.Codec.decoding_table["208,177"] = [38312] let s:lib.Codec.decoding_table["208,178"] = [21243] let s:lib.Codec.decoding_table["208,179"] = [22343] let s:lib.Codec.decoding_table["208,180"] = [30023] let s:lib.Codec.decoding_table["208,181"] = [31584] let s:lib.Codec.decoding_table["208,182"] = [33740] let s:lib.Codec.decoding_table["208,183"] = [37406] let s:lib.Codec.decoding_table["208,184"] = [63752] let s:lib.Codec.decoding_table["208,185"] = [27224] let s:lib.Codec.decoding_table["208,186"] = [20811] let s:lib.Codec.decoding_table["208,187"] = [21067] let s:lib.Codec.decoding_table["208,188"] = [21127] let s:lib.Codec.decoding_table["208,189"] = [25119] let s:lib.Codec.decoding_table["208,190"] = [26840] let s:lib.Codec.decoding_table["208,191"] = [26997] let s:lib.Codec.decoding_table["208,192"] = [38553] let s:lib.Codec.decoding_table["208,193"] = [20677] let s:lib.Codec.decoding_table["208,194"] = [21156] let s:lib.Codec.decoding_table["208,195"] = [21220] let s:lib.Codec.decoding_table["208,196"] = [25027] let s:lib.Codec.decoding_table["208,197"] = [26020] let s:lib.Codec.decoding_table["208,198"] = [26681] let s:lib.Codec.decoding_table["208,199"] = [27135] let s:lib.Codec.decoding_table["208,200"] = [29822] let s:lib.Codec.decoding_table["208,201"] = [31563] let s:lib.Codec.decoding_table["208,202"] = [33465] let s:lib.Codec.decoding_table["208,203"] = [33771] let s:lib.Codec.decoding_table["208,204"] = [35250] let s:lib.Codec.decoding_table["208,205"] = [35641] let s:lib.Codec.decoding_table["208,206"] = [36817] let s:lib.Codec.decoding_table["208,207"] = [39241] let s:lib.Codec.decoding_table["208,208"] = [63753] let s:lib.Codec.decoding_table["208,209"] = [20170] let s:lib.Codec.decoding_table["208,210"] = [22935] let s:lib.Codec.decoding_table["208,211"] = [25810] let s:lib.Codec.decoding_table["208,212"] = [26129] let s:lib.Codec.decoding_table["208,213"] = [27278] let s:lib.Codec.decoding_table["208,214"] = [29748] let s:lib.Codec.decoding_table["208,215"] = [31105] let s:lib.Codec.decoding_table["208,216"] = [31165] let s:lib.Codec.decoding_table["208,217"] = [33449] let s:lib.Codec.decoding_table["208,218"] = [34942] let s:lib.Codec.decoding_table["208,219"] = [34943] let s:lib.Codec.decoding_table["208,220"] = [35167] let s:lib.Codec.decoding_table["208,221"] = [63754] let s:lib.Codec.decoding_table["208,222"] = [37670] let s:lib.Codec.decoding_table["208,223"] = [20235] let s:lib.Codec.decoding_table["208,224"] = [21450] let s:lib.Codec.decoding_table["208,225"] = [24613] let s:lib.Codec.decoding_table["208,226"] = [25201] let s:lib.Codec.decoding_table["208,227"] = [27762] let s:lib.Codec.decoding_table["208,228"] = [32026] let s:lib.Codec.decoding_table["208,229"] = [32102] let s:lib.Codec.decoding_table["208,230"] = [20120] let s:lib.Codec.decoding_table["208,231"] = [20834] let s:lib.Codec.decoding_table["208,232"] = [30684] let s:lib.Codec.decoding_table["208,233"] = [32943] let s:lib.Codec.decoding_table["208,234"] = [20225] let s:lib.Codec.decoding_table["208,235"] = [20238] let s:lib.Codec.decoding_table["208,236"] = [20854] let s:lib.Codec.decoding_table["208,237"] = [20864] let s:lib.Codec.decoding_table["208,238"] = [21980] let s:lib.Codec.decoding_table["208,239"] = [22120] let s:lib.Codec.decoding_table["208,240"] = [22331] let s:lib.Codec.decoding_table["208,241"] = [22522] let s:lib.Codec.decoding_table["208,242"] = [22524] let s:lib.Codec.decoding_table["208,243"] = [22804] let s:lib.Codec.decoding_table["208,244"] = [22855] let s:lib.Codec.decoding_table["208,245"] = [22931] let s:lib.Codec.decoding_table["208,246"] = [23492] let s:lib.Codec.decoding_table["208,247"] = [23696] let s:lib.Codec.decoding_table["208,248"] = [23822] let s:lib.Codec.decoding_table["208,249"] = [24049] let s:lib.Codec.decoding_table["208,250"] = [24190] let s:lib.Codec.decoding_table["208,251"] = [24524] let s:lib.Codec.decoding_table["208,252"] = [25216] let s:lib.Codec.decoding_table["208,253"] = [26071] let s:lib.Codec.decoding_table["208,254"] = [26083] let s:lib.Codec.decoding_table["209,161"] = [26398] let s:lib.Codec.decoding_table["209,162"] = [26399] let s:lib.Codec.decoding_table["209,163"] = [26462] let s:lib.Codec.decoding_table["209,164"] = [26827] let s:lib.Codec.decoding_table["209,165"] = [26820] let s:lib.Codec.decoding_table["209,166"] = [27231] let s:lib.Codec.decoding_table["209,167"] = [27450] let s:lib.Codec.decoding_table["209,168"] = [27683] let s:lib.Codec.decoding_table["209,169"] = [27773] let s:lib.Codec.decoding_table["209,170"] = [27778] let s:lib.Codec.decoding_table["209,171"] = [28103] let s:lib.Codec.decoding_table["209,172"] = [29592] let s:lib.Codec.decoding_table["209,173"] = [29734] let s:lib.Codec.decoding_table["209,174"] = [29738] let s:lib.Codec.decoding_table["209,175"] = [29826] let s:lib.Codec.decoding_table["209,176"] = [29859] let s:lib.Codec.decoding_table["209,177"] = [30072] let s:lib.Codec.decoding_table["209,178"] = [30079] let s:lib.Codec.decoding_table["209,179"] = [30849] let s:lib.Codec.decoding_table["209,180"] = [30959] let s:lib.Codec.decoding_table["209,181"] = [31041] let s:lib.Codec.decoding_table["209,182"] = [31047] let s:lib.Codec.decoding_table["209,183"] = [31048] let s:lib.Codec.decoding_table["209,184"] = [31098] let s:lib.Codec.decoding_table["209,185"] = [31637] let s:lib.Codec.decoding_table["209,186"] = [32000] let s:lib.Codec.decoding_table["209,187"] = [32186] let s:lib.Codec.decoding_table["209,188"] = [32648] let s:lib.Codec.decoding_table["209,189"] = [32774] let s:lib.Codec.decoding_table["209,190"] = [32813] let s:lib.Codec.decoding_table["209,191"] = [32908] let s:lib.Codec.decoding_table["209,192"] = [35352] let s:lib.Codec.decoding_table["209,193"] = [35663] let s:lib.Codec.decoding_table["209,194"] = [35912] let s:lib.Codec.decoding_table["209,195"] = [36215] let s:lib.Codec.decoding_table["209,196"] = [37665] let s:lib.Codec.decoding_table["209,197"] = [37668] let s:lib.Codec.decoding_table["209,198"] = [39138] let s:lib.Codec.decoding_table["209,199"] = [39249] let s:lib.Codec.decoding_table["209,200"] = [39438] let s:lib.Codec.decoding_table["209,201"] = [39439] let s:lib.Codec.decoding_table["209,202"] = [39525] let s:lib.Codec.decoding_table["209,203"] = [40594] let s:lib.Codec.decoding_table["209,204"] = [32202] let s:lib.Codec.decoding_table["209,205"] = [20342] let s:lib.Codec.decoding_table["209,206"] = [21513] let s:lib.Codec.decoding_table["209,207"] = [25326] let s:lib.Codec.decoding_table["209,208"] = [26708] let s:lib.Codec.decoding_table["209,209"] = [37329] let s:lib.Codec.decoding_table["209,210"] = [21931] let s:lib.Codec.decoding_table["209,211"] = [20794] let s:lib.Codec.decoding_table["209,212"] = [63755] let s:lib.Codec.decoding_table["209,213"] = [63756] let s:lib.Codec.decoding_table["209,214"] = [23068] let s:lib.Codec.decoding_table["209,215"] = [25062] let s:lib.Codec.decoding_table["209,216"] = [63757] let s:lib.Codec.decoding_table["209,217"] = [25295] let s:lib.Codec.decoding_table["209,218"] = [25343] let s:lib.Codec.decoding_table["209,219"] = [63758] let s:lib.Codec.decoding_table["209,220"] = [63759] let s:lib.Codec.decoding_table["209,221"] = [63760] let s:lib.Codec.decoding_table["209,222"] = [63761] let s:lib.Codec.decoding_table["209,223"] = [63762] let s:lib.Codec.decoding_table["209,224"] = [63763] let s:lib.Codec.decoding_table["209,225"] = [37027] let s:lib.Codec.decoding_table["209,226"] = [63764] let s:lib.Codec.decoding_table["209,227"] = [63765] let s:lib.Codec.decoding_table["209,228"] = [63766] let s:lib.Codec.decoding_table["209,229"] = [63767] let s:lib.Codec.decoding_table["209,230"] = [63768] let s:lib.Codec.decoding_table["209,231"] = [35582] let s:lib.Codec.decoding_table["209,232"] = [63769] let s:lib.Codec.decoding_table["209,233"] = [63770] let s:lib.Codec.decoding_table["209,234"] = [63771] let s:lib.Codec.decoding_table["209,235"] = [63772] let s:lib.Codec.decoding_table["209,236"] = [26262] let s:lib.Codec.decoding_table["209,237"] = [63773] let s:lib.Codec.decoding_table["209,238"] = [29014] let s:lib.Codec.decoding_table["209,239"] = [63774] let s:lib.Codec.decoding_table["209,240"] = [63775] let s:lib.Codec.decoding_table["209,241"] = [38627] let s:lib.Codec.decoding_table["209,242"] = [63776] let s:lib.Codec.decoding_table["209,243"] = [25423] let s:lib.Codec.decoding_table["209,244"] = [25466] let s:lib.Codec.decoding_table["209,245"] = [21335] let s:lib.Codec.decoding_table["209,246"] = [63777] let s:lib.Codec.decoding_table["209,247"] = [26511] let s:lib.Codec.decoding_table["209,248"] = [26976] let s:lib.Codec.decoding_table["209,249"] = [28275] let s:lib.Codec.decoding_table["209,250"] = [63778] let s:lib.Codec.decoding_table["209,251"] = [30007] let s:lib.Codec.decoding_table["209,252"] = [63779] let s:lib.Codec.decoding_table["209,253"] = [63780] let s:lib.Codec.decoding_table["209,254"] = [63781] let s:lib.Codec.decoding_table["210,161"] = [32013] let s:lib.Codec.decoding_table["210,162"] = [63782] let s:lib.Codec.decoding_table["210,163"] = [63783] let s:lib.Codec.decoding_table["210,164"] = [34930] let s:lib.Codec.decoding_table["210,165"] = [22218] let s:lib.Codec.decoding_table["210,166"] = [23064] let s:lib.Codec.decoding_table["210,167"] = [63784] let s:lib.Codec.decoding_table["210,168"] = [63785] let s:lib.Codec.decoding_table["210,169"] = [63786] let s:lib.Codec.decoding_table["210,170"] = [63787] let s:lib.Codec.decoding_table["210,171"] = [63788] let s:lib.Codec.decoding_table["210,172"] = [20035] let s:lib.Codec.decoding_table["210,173"] = [63789] let s:lib.Codec.decoding_table["210,174"] = [20839] let s:lib.Codec.decoding_table["210,175"] = [22856] let s:lib.Codec.decoding_table["210,176"] = [26608] let s:lib.Codec.decoding_table["210,177"] = [32784] let s:lib.Codec.decoding_table["210,178"] = [63790] let s:lib.Codec.decoding_table["210,179"] = [22899] let s:lib.Codec.decoding_table["210,180"] = [24180] let s:lib.Codec.decoding_table["210,181"] = [25754] let s:lib.Codec.decoding_table["210,182"] = [31178] let s:lib.Codec.decoding_table["210,183"] = [24565] let s:lib.Codec.decoding_table["210,184"] = [24684] let s:lib.Codec.decoding_table["210,185"] = [25288] let s:lib.Codec.decoding_table["210,186"] = [25467] let s:lib.Codec.decoding_table["210,187"] = [23527] let s:lib.Codec.decoding_table["210,188"] = [23511] let s:lib.Codec.decoding_table["210,189"] = [21162] let s:lib.Codec.decoding_table["210,190"] = [63791] let s:lib.Codec.decoding_table["210,191"] = [22900] let s:lib.Codec.decoding_table["210,192"] = [24361] let s:lib.Codec.decoding_table["210,193"] = [24594] let s:lib.Codec.decoding_table["210,194"] = [63792] let s:lib.Codec.decoding_table["210,195"] = [63793] let s:lib.Codec.decoding_table["210,196"] = [63794] let s:lib.Codec.decoding_table["210,197"] = [29785] let s:lib.Codec.decoding_table["210,198"] = [63795] let s:lib.Codec.decoding_table["210,199"] = [63796] let s:lib.Codec.decoding_table["210,200"] = [63797] let s:lib.Codec.decoding_table["210,201"] = [63798] let s:lib.Codec.decoding_table["210,202"] = [63799] let s:lib.Codec.decoding_table["210,203"] = [63800] let s:lib.Codec.decoding_table["210,204"] = [39377] let s:lib.Codec.decoding_table["210,205"] = [63801] let s:lib.Codec.decoding_table["210,206"] = [63802] let s:lib.Codec.decoding_table["210,207"] = [63803] let s:lib.Codec.decoding_table["210,208"] = [63804] let s:lib.Codec.decoding_table["210,209"] = [63805] let s:lib.Codec.decoding_table["210,210"] = [63806] let s:lib.Codec.decoding_table["210,211"] = [63807] let s:lib.Codec.decoding_table["210,212"] = [63808] let s:lib.Codec.decoding_table["210,213"] = [63809] let s:lib.Codec.decoding_table["210,214"] = [63810] let s:lib.Codec.decoding_table["210,215"] = [63811] let s:lib.Codec.decoding_table["210,216"] = [28611] let s:lib.Codec.decoding_table["210,217"] = [63812] let s:lib.Codec.decoding_table["210,218"] = [63813] let s:lib.Codec.decoding_table["210,219"] = [33215] let s:lib.Codec.decoding_table["210,220"] = [36786] let s:lib.Codec.decoding_table["210,221"] = [24817] let s:lib.Codec.decoding_table["210,222"] = [63814] let s:lib.Codec.decoding_table["210,223"] = [63815] let s:lib.Codec.decoding_table["210,224"] = [33126] let s:lib.Codec.decoding_table["210,225"] = [63816] let s:lib.Codec.decoding_table["210,226"] = [63817] let s:lib.Codec.decoding_table["210,227"] = [23615] let s:lib.Codec.decoding_table["210,228"] = [63818] let s:lib.Codec.decoding_table["210,229"] = [63819] let s:lib.Codec.decoding_table["210,230"] = [63820] let s:lib.Codec.decoding_table["210,231"] = [63821] let s:lib.Codec.decoding_table["210,232"] = [63822] let s:lib.Codec.decoding_table["210,233"] = [63823] let s:lib.Codec.decoding_table["210,234"] = [63824] let s:lib.Codec.decoding_table["210,235"] = [63825] let s:lib.Codec.decoding_table["210,236"] = [23273] let s:lib.Codec.decoding_table["210,237"] = [35365] let s:lib.Codec.decoding_table["210,238"] = [26491] let s:lib.Codec.decoding_table["210,239"] = [32016] let s:lib.Codec.decoding_table["210,240"] = [63826] let s:lib.Codec.decoding_table["210,241"] = [63827] let s:lib.Codec.decoding_table["210,242"] = [63828] let s:lib.Codec.decoding_table["210,243"] = [63829] let s:lib.Codec.decoding_table["210,244"] = [63830] let s:lib.Codec.decoding_table["210,245"] = [63831] let s:lib.Codec.decoding_table["210,246"] = [33021] let s:lib.Codec.decoding_table["210,247"] = [63832] let s:lib.Codec.decoding_table["210,248"] = [63833] let s:lib.Codec.decoding_table["210,249"] = [23612] let s:lib.Codec.decoding_table["210,250"] = [27877] let s:lib.Codec.decoding_table["210,251"] = [21311] let s:lib.Codec.decoding_table["210,252"] = [28346] let s:lib.Codec.decoding_table["210,253"] = [22810] let s:lib.Codec.decoding_table["210,254"] = [33590] let s:lib.Codec.decoding_table["211,161"] = [20025] let s:lib.Codec.decoding_table["211,162"] = [20150] let s:lib.Codec.decoding_table["211,163"] = [20294] let s:lib.Codec.decoding_table["211,164"] = [21934] let s:lib.Codec.decoding_table["211,165"] = [22296] let s:lib.Codec.decoding_table["211,166"] = [22727] let s:lib.Codec.decoding_table["211,167"] = [24406] let s:lib.Codec.decoding_table["211,168"] = [26039] let s:lib.Codec.decoding_table["211,169"] = [26086] let s:lib.Codec.decoding_table["211,170"] = [27264] let s:lib.Codec.decoding_table["211,171"] = [27573] let s:lib.Codec.decoding_table["211,172"] = [28237] let s:lib.Codec.decoding_table["211,173"] = [30701] let s:lib.Codec.decoding_table["211,174"] = [31471] let s:lib.Codec.decoding_table["211,175"] = [31774] let s:lib.Codec.decoding_table["211,176"] = [32222] let s:lib.Codec.decoding_table["211,177"] = [34507] let s:lib.Codec.decoding_table["211,178"] = [34962] let s:lib.Codec.decoding_table["211,179"] = [37170] let s:lib.Codec.decoding_table["211,180"] = [37723] let s:lib.Codec.decoding_table["211,181"] = [25787] let s:lib.Codec.decoding_table["211,182"] = [28606] let s:lib.Codec.decoding_table["211,183"] = [29562] let s:lib.Codec.decoding_table["211,184"] = [30136] let s:lib.Codec.decoding_table["211,185"] = [36948] let s:lib.Codec.decoding_table["211,186"] = [21846] let s:lib.Codec.decoding_table["211,187"] = [22349] let s:lib.Codec.decoding_table["211,188"] = [25018] let s:lib.Codec.decoding_table["211,189"] = [25812] let s:lib.Codec.decoding_table["211,190"] = [26311] let s:lib.Codec.decoding_table["211,191"] = [28129] let s:lib.Codec.decoding_table["211,192"] = [28251] let s:lib.Codec.decoding_table["211,193"] = [28525] let s:lib.Codec.decoding_table["211,194"] = [28601] let s:lib.Codec.decoding_table["211,195"] = [30192] let s:lib.Codec.decoding_table["211,196"] = [32835] let s:lib.Codec.decoding_table["211,197"] = [33213] let s:lib.Codec.decoding_table["211,198"] = [34113] let s:lib.Codec.decoding_table["211,199"] = [35203] let s:lib.Codec.decoding_table["211,200"] = [35527] let s:lib.Codec.decoding_table["211,201"] = [35674] let s:lib.Codec.decoding_table["211,202"] = [37663] let s:lib.Codec.decoding_table["211,203"] = [27795] let s:lib.Codec.decoding_table["211,204"] = [30035] let s:lib.Codec.decoding_table["211,205"] = [31572] let s:lib.Codec.decoding_table["211,206"] = [36367] let s:lib.Codec.decoding_table["211,207"] = [36957] let s:lib.Codec.decoding_table["211,208"] = [21776] let s:lib.Codec.decoding_table["211,209"] = [22530] let s:lib.Codec.decoding_table["211,210"] = [22616] let s:lib.Codec.decoding_table["211,211"] = [24162] let s:lib.Codec.decoding_table["211,212"] = [25095] let s:lib.Codec.decoding_table["211,213"] = [25758] let s:lib.Codec.decoding_table["211,214"] = [26848] let s:lib.Codec.decoding_table["211,215"] = [30070] let s:lib.Codec.decoding_table["211,216"] = [31958] let s:lib.Codec.decoding_table["211,217"] = [34739] let s:lib.Codec.decoding_table["211,218"] = [40680] let s:lib.Codec.decoding_table["211,219"] = [20195] let s:lib.Codec.decoding_table["211,220"] = [22408] let s:lib.Codec.decoding_table["211,221"] = [22382] let s:lib.Codec.decoding_table["211,222"] = [22823] let s:lib.Codec.decoding_table["211,223"] = [23565] let s:lib.Codec.decoding_table["211,224"] = [23729] let s:lib.Codec.decoding_table["211,225"] = [24118] let s:lib.Codec.decoding_table["211,226"] = [24453] let s:lib.Codec.decoding_table["211,227"] = [25140] let s:lib.Codec.decoding_table["211,228"] = [25825] let s:lib.Codec.decoding_table["211,229"] = [29619] let s:lib.Codec.decoding_table["211,230"] = [33274] let s:lib.Codec.decoding_table["211,231"] = [34955] let s:lib.Codec.decoding_table["211,232"] = [36024] let s:lib.Codec.decoding_table["211,233"] = [38538] let s:lib.Codec.decoding_table["211,234"] = [40667] let s:lib.Codec.decoding_table["211,235"] = [23429] let s:lib.Codec.decoding_table["211,236"] = [24503] let s:lib.Codec.decoding_table["211,237"] = [24755] let s:lib.Codec.decoding_table["211,238"] = [20498] let s:lib.Codec.decoding_table["211,239"] = [20992] let s:lib.Codec.decoding_table["211,240"] = [21040] let s:lib.Codec.decoding_table["211,241"] = [22294] let s:lib.Codec.decoding_table["211,242"] = [22581] let s:lib.Codec.decoding_table["211,243"] = [22615] let s:lib.Codec.decoding_table["211,244"] = [23566] let s:lib.Codec.decoding_table["211,245"] = [23648] let s:lib.Codec.decoding_table["211,246"] = [23798] let s:lib.Codec.decoding_table["211,247"] = [23947] let s:lib.Codec.decoding_table["211,248"] = [24230] let s:lib.Codec.decoding_table["211,249"] = [24466] let s:lib.Codec.decoding_table["211,250"] = [24764] let s:lib.Codec.decoding_table["211,251"] = [25361] let s:lib.Codec.decoding_table["211,252"] = [25481] let s:lib.Codec.decoding_table["211,253"] = [25623] let s:lib.Codec.decoding_table["211,254"] = [26691] let s:lib.Codec.decoding_table["212,161"] = [26873] let s:lib.Codec.decoding_table["212,162"] = [27330] let s:lib.Codec.decoding_table["212,163"] = [28120] let s:lib.Codec.decoding_table["212,164"] = [28193] let s:lib.Codec.decoding_table["212,165"] = [28372] let s:lib.Codec.decoding_table["212,166"] = [28644] let s:lib.Codec.decoding_table["212,167"] = [29182] let s:lib.Codec.decoding_table["212,168"] = [30428] let s:lib.Codec.decoding_table["212,169"] = [30585] let s:lib.Codec.decoding_table["212,170"] = [31153] let s:lib.Codec.decoding_table["212,171"] = [31291] let s:lib.Codec.decoding_table["212,172"] = [33796] let s:lib.Codec.decoding_table["212,173"] = [35241] let s:lib.Codec.decoding_table["212,174"] = [36077] let s:lib.Codec.decoding_table["212,175"] = [36339] let s:lib.Codec.decoding_table["212,176"] = [36424] let s:lib.Codec.decoding_table["212,177"] = [36867] let s:lib.Codec.decoding_table["212,178"] = [36884] let s:lib.Codec.decoding_table["212,179"] = [36947] let s:lib.Codec.decoding_table["212,180"] = [37117] let s:lib.Codec.decoding_table["212,181"] = [37709] let s:lib.Codec.decoding_table["212,182"] = [38518] let s:lib.Codec.decoding_table["212,183"] = [38876] let s:lib.Codec.decoding_table["212,184"] = [27602] let s:lib.Codec.decoding_table["212,185"] = [28678] let s:lib.Codec.decoding_table["212,186"] = [29272] let s:lib.Codec.decoding_table["212,187"] = [29346] let s:lib.Codec.decoding_table["212,188"] = [29544] let s:lib.Codec.decoding_table["212,189"] = [30563] let s:lib.Codec.decoding_table["212,190"] = [31167] let s:lib.Codec.decoding_table["212,191"] = [31716] let s:lib.Codec.decoding_table["212,192"] = [32411] let s:lib.Codec.decoding_table["212,193"] = [35712] let s:lib.Codec.decoding_table["212,194"] = [22697] let s:lib.Codec.decoding_table["212,195"] = [24775] let s:lib.Codec.decoding_table["212,196"] = [25958] let s:lib.Codec.decoding_table["212,197"] = [26109] let s:lib.Codec.decoding_table["212,198"] = [26302] let s:lib.Codec.decoding_table["212,199"] = [27788] let s:lib.Codec.decoding_table["212,200"] = [28958] let s:lib.Codec.decoding_table["212,201"] = [29129] let s:lib.Codec.decoding_table["212,202"] = [35930] let s:lib.Codec.decoding_table["212,203"] = [38931] let s:lib.Codec.decoding_table["212,204"] = [20077] let s:lib.Codec.decoding_table["212,205"] = [31361] let s:lib.Codec.decoding_table["212,206"] = [20189] let s:lib.Codec.decoding_table["212,207"] = [20908] let s:lib.Codec.decoding_table["212,208"] = [20941] let s:lib.Codec.decoding_table["212,209"] = [21205] let s:lib.Codec.decoding_table["212,210"] = [21516] let s:lib.Codec.decoding_table["212,211"] = [24999] let s:lib.Codec.decoding_table["212,212"] = [26481] let s:lib.Codec.decoding_table["212,213"] = [26704] let s:lib.Codec.decoding_table["212,214"] = [26847] let s:lib.Codec.decoding_table["212,215"] = [27934] let s:lib.Codec.decoding_table["212,216"] = [28540] let s:lib.Codec.decoding_table["212,217"] = [30140] let s:lib.Codec.decoding_table["212,218"] = [30643] let s:lib.Codec.decoding_table["212,219"] = [31461] let s:lib.Codec.decoding_table["212,220"] = [33012] let s:lib.Codec.decoding_table["212,221"] = [33891] let s:lib.Codec.decoding_table["212,222"] = [37509] let s:lib.Codec.decoding_table["212,223"] = [20828] let s:lib.Codec.decoding_table["212,224"] = [26007] let s:lib.Codec.decoding_table["212,225"] = [26460] let s:lib.Codec.decoding_table["212,226"] = [26515] let s:lib.Codec.decoding_table["212,227"] = [30168] let s:lib.Codec.decoding_table["212,228"] = [31431] let s:lib.Codec.decoding_table["212,229"] = [33651] let s:lib.Codec.decoding_table["212,230"] = [63834] let s:lib.Codec.decoding_table["212,231"] = [35910] let s:lib.Codec.decoding_table["212,232"] = [36887] let s:lib.Codec.decoding_table["212,233"] = [38957] let s:lib.Codec.decoding_table["212,234"] = [23663] let s:lib.Codec.decoding_table["212,235"] = [33216] let s:lib.Codec.decoding_table["212,236"] = [33434] let s:lib.Codec.decoding_table["212,237"] = [36929] let s:lib.Codec.decoding_table["212,238"] = [36975] let s:lib.Codec.decoding_table["212,239"] = [37389] let s:lib.Codec.decoding_table["212,240"] = [24471] let s:lib.Codec.decoding_table["212,241"] = [23965] let s:lib.Codec.decoding_table["212,242"] = [27225] let s:lib.Codec.decoding_table["212,243"] = [29128] let s:lib.Codec.decoding_table["212,244"] = [30331] let s:lib.Codec.decoding_table["212,245"] = [31561] let s:lib.Codec.decoding_table["212,246"] = [34276] let s:lib.Codec.decoding_table["212,247"] = [35588] let s:lib.Codec.decoding_table["212,248"] = [37159] let s:lib.Codec.decoding_table["212,249"] = [39472] let s:lib.Codec.decoding_table["212,250"] = [21895] let s:lib.Codec.decoding_table["212,251"] = [25078] let s:lib.Codec.decoding_table["212,252"] = [63835] let s:lib.Codec.decoding_table["212,253"] = [30313] let s:lib.Codec.decoding_table["212,254"] = [32645] let s:lib.Codec.decoding_table["213,161"] = [34367] let s:lib.Codec.decoding_table["213,162"] = [34746] let s:lib.Codec.decoding_table["213,163"] = [35064] let s:lib.Codec.decoding_table["213,164"] = [37007] let s:lib.Codec.decoding_table["213,165"] = [63836] let s:lib.Codec.decoding_table["213,166"] = [27931] let s:lib.Codec.decoding_table["213,167"] = [28889] let s:lib.Codec.decoding_table["213,168"] = [29662] let s:lib.Codec.decoding_table["213,169"] = [32097] let s:lib.Codec.decoding_table["213,170"] = [33853] let s:lib.Codec.decoding_table["213,171"] = [63837] let s:lib.Codec.decoding_table["213,172"] = [37226] let s:lib.Codec.decoding_table["213,173"] = [39409] let s:lib.Codec.decoding_table["213,174"] = [63838] let s:lib.Codec.decoding_table["213,175"] = [20098] let s:lib.Codec.decoding_table["213,176"] = [21365] let s:lib.Codec.decoding_table["213,177"] = [27396] let s:lib.Codec.decoding_table["213,178"] = [27410] let s:lib.Codec.decoding_table["213,179"] = [28734] let s:lib.Codec.decoding_table["213,180"] = [29211] let s:lib.Codec.decoding_table["213,181"] = [34349] let s:lib.Codec.decoding_table["213,182"] = [40478] let s:lib.Codec.decoding_table["213,183"] = [21068] let s:lib.Codec.decoding_table["213,184"] = [36771] let s:lib.Codec.decoding_table["213,185"] = [23888] let s:lib.Codec.decoding_table["213,186"] = [25829] let s:lib.Codec.decoding_table["213,187"] = [25900] let s:lib.Codec.decoding_table["213,188"] = [27414] let s:lib.Codec.decoding_table["213,189"] = [28651] let s:lib.Codec.decoding_table["213,190"] = [31811] let s:lib.Codec.decoding_table["213,191"] = [32412] let s:lib.Codec.decoding_table["213,192"] = [34253] let s:lib.Codec.decoding_table["213,193"] = [35172] let s:lib.Codec.decoding_table["213,194"] = [35261] let s:lib.Codec.decoding_table["213,195"] = [25289] let s:lib.Codec.decoding_table["213,196"] = [33240] let s:lib.Codec.decoding_table["213,197"] = [34847] let s:lib.Codec.decoding_table["213,198"] = [24266] let s:lib.Codec.decoding_table["213,199"] = [26391] let s:lib.Codec.decoding_table["213,200"] = [28010] let s:lib.Codec.decoding_table["213,201"] = [29436] let s:lib.Codec.decoding_table["213,202"] = [29701] let s:lib.Codec.decoding_table["213,203"] = [29807] let s:lib.Codec.decoding_table["213,204"] = [34690] let s:lib.Codec.decoding_table["213,205"] = [37086] let s:lib.Codec.decoding_table["213,206"] = [20358] let s:lib.Codec.decoding_table["213,207"] = [23821] let s:lib.Codec.decoding_table["213,208"] = [24480] let s:lib.Codec.decoding_table["213,209"] = [33802] let s:lib.Codec.decoding_table["213,210"] = [20919] let s:lib.Codec.decoding_table["213,211"] = [25504] let s:lib.Codec.decoding_table["213,212"] = [30053] let s:lib.Codec.decoding_table["213,213"] = [20142] let s:lib.Codec.decoding_table["213,214"] = [20486] let s:lib.Codec.decoding_table["213,215"] = [20841] let s:lib.Codec.decoding_table["213,216"] = [20937] let s:lib.Codec.decoding_table["213,217"] = [26753] let s:lib.Codec.decoding_table["213,218"] = [27153] let s:lib.Codec.decoding_table["213,219"] = [31918] let s:lib.Codec.decoding_table["213,220"] = [31921] let s:lib.Codec.decoding_table["213,221"] = [31975] let s:lib.Codec.decoding_table["213,222"] = [33391] let s:lib.Codec.decoding_table["213,223"] = [35538] let s:lib.Codec.decoding_table["213,224"] = [36635] let s:lib.Codec.decoding_table["213,225"] = [37327] let s:lib.Codec.decoding_table["213,226"] = [20406] let s:lib.Codec.decoding_table["213,227"] = [20791] let s:lib.Codec.decoding_table["213,228"] = [21237] let s:lib.Codec.decoding_table["213,229"] = [21570] let s:lib.Codec.decoding_table["213,230"] = [24300] let s:lib.Codec.decoding_table["213,231"] = [24942] let s:lib.Codec.decoding_table["213,232"] = [25150] let s:lib.Codec.decoding_table["213,233"] = [26053] let s:lib.Codec.decoding_table["213,234"] = [27354] let s:lib.Codec.decoding_table["213,235"] = [28670] let s:lib.Codec.decoding_table["213,236"] = [31018] let s:lib.Codec.decoding_table["213,237"] = [34268] let s:lib.Codec.decoding_table["213,238"] = [34851] let s:lib.Codec.decoding_table["213,239"] = [38317] let s:lib.Codec.decoding_table["213,240"] = [39522] let s:lib.Codec.decoding_table["213,241"] = [39530] let s:lib.Codec.decoding_table["213,242"] = [40599] let s:lib.Codec.decoding_table["213,243"] = [40654] let s:lib.Codec.decoding_table["213,244"] = [21147] let s:lib.Codec.decoding_table["213,245"] = [26310] let s:lib.Codec.decoding_table["213,246"] = [27511] let s:lib.Codec.decoding_table["213,247"] = [28701] let s:lib.Codec.decoding_table["213,248"] = [31019] let s:lib.Codec.decoding_table["213,249"] = [36706] let s:lib.Codec.decoding_table["213,250"] = [38722] let s:lib.Codec.decoding_table["213,251"] = [24976] let s:lib.Codec.decoding_table["213,252"] = [25088] let s:lib.Codec.decoding_table["213,253"] = [25891] let s:lib.Codec.decoding_table["213,254"] = [28451] let s:lib.Codec.decoding_table["214,161"] = [29001] let s:lib.Codec.decoding_table["214,162"] = [29833] let s:lib.Codec.decoding_table["214,163"] = [32244] let s:lib.Codec.decoding_table["214,164"] = [32879] let s:lib.Codec.decoding_table["214,165"] = [34030] let s:lib.Codec.decoding_table["214,166"] = [36646] let s:lib.Codec.decoding_table["214,167"] = [36899] let s:lib.Codec.decoding_table["214,168"] = [37706] let s:lib.Codec.decoding_table["214,169"] = [20925] let s:lib.Codec.decoding_table["214,170"] = [21015] let s:lib.Codec.decoding_table["214,171"] = [21155] let s:lib.Codec.decoding_table["214,172"] = [27916] let s:lib.Codec.decoding_table["214,173"] = [28872] let s:lib.Codec.decoding_table["214,174"] = [35010] let s:lib.Codec.decoding_table["214,175"] = [24265] let s:lib.Codec.decoding_table["214,176"] = [25986] let s:lib.Codec.decoding_table["214,177"] = [27566] let s:lib.Codec.decoding_table["214,178"] = [28610] let s:lib.Codec.decoding_table["214,179"] = [31806] let s:lib.Codec.decoding_table["214,180"] = [29557] let s:lib.Codec.decoding_table["214,181"] = [20196] let s:lib.Codec.decoding_table["214,182"] = [20278] let s:lib.Codec.decoding_table["214,183"] = [22265] let s:lib.Codec.decoding_table["214,184"] = [63839] let s:lib.Codec.decoding_table["214,185"] = [23738] let s:lib.Codec.decoding_table["214,186"] = [23994] let s:lib.Codec.decoding_table["214,187"] = [24604] let s:lib.Codec.decoding_table["214,188"] = [29618] let s:lib.Codec.decoding_table["214,189"] = [31533] let s:lib.Codec.decoding_table["214,190"] = [32666] let s:lib.Codec.decoding_table["214,191"] = [32718] let s:lib.Codec.decoding_table["214,192"] = [32838] let s:lib.Codec.decoding_table["214,193"] = [36894] let s:lib.Codec.decoding_table["214,194"] = [37428] let s:lib.Codec.decoding_table["214,195"] = [38646] let s:lib.Codec.decoding_table["214,196"] = [38728] let s:lib.Codec.decoding_table["214,197"] = [38936] let s:lib.Codec.decoding_table["214,198"] = [40801] let s:lib.Codec.decoding_table["214,199"] = [20363] let s:lib.Codec.decoding_table["214,200"] = [28583] let s:lib.Codec.decoding_table["214,201"] = [31150] let s:lib.Codec.decoding_table["214,202"] = [37300] let s:lib.Codec.decoding_table["214,203"] = [38583] let s:lib.Codec.decoding_table["214,204"] = [21214] let s:lib.Codec.decoding_table["214,205"] = [63840] let s:lib.Codec.decoding_table["214,206"] = [25736] let s:lib.Codec.decoding_table["214,207"] = [25796] let s:lib.Codec.decoding_table["214,208"] = [27347] let s:lib.Codec.decoding_table["214,209"] = [28510] let s:lib.Codec.decoding_table["214,210"] = [28696] let s:lib.Codec.decoding_table["214,211"] = [29200] let s:lib.Codec.decoding_table["214,212"] = [30439] let s:lib.Codec.decoding_table["214,213"] = [32769] let s:lib.Codec.decoding_table["214,214"] = [34310] let s:lib.Codec.decoding_table["214,215"] = [34396] let s:lib.Codec.decoding_table["214,216"] = [36335] let s:lib.Codec.decoding_table["214,217"] = [36613] let s:lib.Codec.decoding_table["214,218"] = [38706] let s:lib.Codec.decoding_table["214,219"] = [39791] let s:lib.Codec.decoding_table["214,220"] = [40442] let s:lib.Codec.decoding_table["214,221"] = [40565] let s:lib.Codec.decoding_table["214,222"] = [30860] let s:lib.Codec.decoding_table["214,223"] = [31103] let s:lib.Codec.decoding_table["214,224"] = [32160] let s:lib.Codec.decoding_table["214,225"] = [33737] let s:lib.Codec.decoding_table["214,226"] = [37636] let s:lib.Codec.decoding_table["214,227"] = [40575] let s:lib.Codec.decoding_table["214,228"] = [40595] let s:lib.Codec.decoding_table["214,229"] = [35542] let s:lib.Codec.decoding_table["214,230"] = [22751] let s:lib.Codec.decoding_table["214,231"] = [24324] let s:lib.Codec.decoding_table["214,232"] = [26407] let s:lib.Codec.decoding_table["214,233"] = [28711] let s:lib.Codec.decoding_table["214,234"] = [29903] let s:lib.Codec.decoding_table["214,235"] = [31840] let s:lib.Codec.decoding_table["214,236"] = [32894] let s:lib.Codec.decoding_table["214,237"] = [20769] let s:lib.Codec.decoding_table["214,238"] = [28712] let s:lib.Codec.decoding_table["214,239"] = [29282] let s:lib.Codec.decoding_table["214,240"] = [30922] let s:lib.Codec.decoding_table["214,241"] = [36034] let s:lib.Codec.decoding_table["214,242"] = [36058] let s:lib.Codec.decoding_table["214,243"] = [36084] let s:lib.Codec.decoding_table["214,244"] = [38647] let s:lib.Codec.decoding_table["214,245"] = [20102] let s:lib.Codec.decoding_table["214,246"] = [20698] let s:lib.Codec.decoding_table["214,247"] = [23534] let s:lib.Codec.decoding_table["214,248"] = [24278] let s:lib.Codec.decoding_table["214,249"] = [26009] let s:lib.Codec.decoding_table["214,250"] = [29134] let s:lib.Codec.decoding_table["214,251"] = [30274] let s:lib.Codec.decoding_table["214,252"] = [30637] let s:lib.Codec.decoding_table["214,253"] = [32842] let s:lib.Codec.decoding_table["214,254"] = [34044] let s:lib.Codec.decoding_table["215,161"] = [36988] let s:lib.Codec.decoding_table["215,162"] = [39719] let s:lib.Codec.decoding_table["215,163"] = [40845] let s:lib.Codec.decoding_table["215,164"] = [22744] let s:lib.Codec.decoding_table["215,165"] = [23105] let s:lib.Codec.decoding_table["215,166"] = [23650] let s:lib.Codec.decoding_table["215,167"] = [27155] let s:lib.Codec.decoding_table["215,168"] = [28122] let s:lib.Codec.decoding_table["215,169"] = [28431] let s:lib.Codec.decoding_table["215,170"] = [30267] let s:lib.Codec.decoding_table["215,171"] = [32047] let s:lib.Codec.decoding_table["215,172"] = [32311] let s:lib.Codec.decoding_table["215,173"] = [34078] let s:lib.Codec.decoding_table["215,174"] = [35128] let s:lib.Codec.decoding_table["215,175"] = [37860] let s:lib.Codec.decoding_table["215,176"] = [38475] let s:lib.Codec.decoding_table["215,177"] = [21129] let s:lib.Codec.decoding_table["215,178"] = [26066] let s:lib.Codec.decoding_table["215,179"] = [26611] let s:lib.Codec.decoding_table["215,180"] = [27060] let s:lib.Codec.decoding_table["215,181"] = [27969] let s:lib.Codec.decoding_table["215,182"] = [28316] let s:lib.Codec.decoding_table["215,183"] = [28687] let s:lib.Codec.decoding_table["215,184"] = [29705] let s:lib.Codec.decoding_table["215,185"] = [29792] let s:lib.Codec.decoding_table["215,186"] = [30041] let s:lib.Codec.decoding_table["215,187"] = [30244] let s:lib.Codec.decoding_table["215,188"] = [30827] let s:lib.Codec.decoding_table["215,189"] = [35628] let s:lib.Codec.decoding_table["215,190"] = [39006] let s:lib.Codec.decoding_table["215,191"] = [20845] let s:lib.Codec.decoding_table["215,192"] = [25134] let s:lib.Codec.decoding_table["215,193"] = [38520] let s:lib.Codec.decoding_table["215,194"] = [20374] let s:lib.Codec.decoding_table["215,195"] = [20523] let s:lib.Codec.decoding_table["215,196"] = [23833] let s:lib.Codec.decoding_table["215,197"] = [28138] let s:lib.Codec.decoding_table["215,198"] = [32184] let s:lib.Codec.decoding_table["215,199"] = [36650] let s:lib.Codec.decoding_table["215,200"] = [24459] let s:lib.Codec.decoding_table["215,201"] = [24900] let s:lib.Codec.decoding_table["215,202"] = [26647] let s:lib.Codec.decoding_table["215,203"] = [63841] let s:lib.Codec.decoding_table["215,204"] = [38534] let s:lib.Codec.decoding_table["215,205"] = [21202] let s:lib.Codec.decoding_table["215,206"] = [32907] let s:lib.Codec.decoding_table["215,207"] = [20956] let s:lib.Codec.decoding_table["215,208"] = [20940] let s:lib.Codec.decoding_table["215,209"] = [26974] let s:lib.Codec.decoding_table["215,210"] = [31260] let s:lib.Codec.decoding_table["215,211"] = [32190] let s:lib.Codec.decoding_table["215,212"] = [33777] let s:lib.Codec.decoding_table["215,213"] = [38517] let s:lib.Codec.decoding_table["215,214"] = [20442] let s:lib.Codec.decoding_table["215,215"] = [21033] let s:lib.Codec.decoding_table["215,216"] = [21400] let s:lib.Codec.decoding_table["215,217"] = [21519] let s:lib.Codec.decoding_table["215,218"] = [21774] let s:lib.Codec.decoding_table["215,219"] = [23653] let s:lib.Codec.decoding_table["215,220"] = [24743] let s:lib.Codec.decoding_table["215,221"] = [26446] let s:lib.Codec.decoding_table["215,222"] = [26792] let s:lib.Codec.decoding_table["215,223"] = [28012] let s:lib.Codec.decoding_table["215,224"] = [29313] let s:lib.Codec.decoding_table["215,225"] = [29432] let s:lib.Codec.decoding_table["215,226"] = [29702] let s:lib.Codec.decoding_table["215,227"] = [29827] let s:lib.Codec.decoding_table["215,228"] = [63842] let s:lib.Codec.decoding_table["215,229"] = [30178] let s:lib.Codec.decoding_table["215,230"] = [31852] let s:lib.Codec.decoding_table["215,231"] = [32633] let s:lib.Codec.decoding_table["215,232"] = [32696] let s:lib.Codec.decoding_table["215,233"] = [33673] let s:lib.Codec.decoding_table["215,234"] = [35023] let s:lib.Codec.decoding_table["215,235"] = [35041] let s:lib.Codec.decoding_table["215,236"] = [37324] let s:lib.Codec.decoding_table["215,237"] = [37328] let s:lib.Codec.decoding_table["215,238"] = [38626] let s:lib.Codec.decoding_table["215,239"] = [39881] let s:lib.Codec.decoding_table["215,240"] = [21533] let s:lib.Codec.decoding_table["215,241"] = [28542] let s:lib.Codec.decoding_table["215,242"] = [29136] let s:lib.Codec.decoding_table["215,243"] = [29848] let s:lib.Codec.decoding_table["215,244"] = [34298] let s:lib.Codec.decoding_table["215,245"] = [36522] let s:lib.Codec.decoding_table["215,246"] = [38563] let s:lib.Codec.decoding_table["215,247"] = [40023] let s:lib.Codec.decoding_table["215,248"] = [40607] let s:lib.Codec.decoding_table["215,249"] = [26519] let s:lib.Codec.decoding_table["215,250"] = [28107] let s:lib.Codec.decoding_table["215,251"] = [29747] let s:lib.Codec.decoding_table["215,252"] = [33256] let s:lib.Codec.decoding_table["215,253"] = [38678] let s:lib.Codec.decoding_table["215,254"] = [30764] let s:lib.Codec.decoding_table["216,161"] = [31435] let s:lib.Codec.decoding_table["216,162"] = [31520] let s:lib.Codec.decoding_table["216,163"] = [31890] let s:lib.Codec.decoding_table["216,164"] = [25705] let s:lib.Codec.decoding_table["216,165"] = [29802] let s:lib.Codec.decoding_table["216,166"] = [30194] let s:lib.Codec.decoding_table["216,167"] = [30908] let s:lib.Codec.decoding_table["216,168"] = [30952] let s:lib.Codec.decoding_table["216,169"] = [39340] let s:lib.Codec.decoding_table["216,170"] = [39764] let s:lib.Codec.decoding_table["216,171"] = [40635] let s:lib.Codec.decoding_table["216,172"] = [23518] let s:lib.Codec.decoding_table["216,173"] = [24149] let s:lib.Codec.decoding_table["216,174"] = [28448] let s:lib.Codec.decoding_table["216,175"] = [33180] let s:lib.Codec.decoding_table["216,176"] = [33707] let s:lib.Codec.decoding_table["216,177"] = [37000] let s:lib.Codec.decoding_table["216,178"] = [19975] let s:lib.Codec.decoding_table["216,179"] = [21325] let s:lib.Codec.decoding_table["216,180"] = [23081] let s:lib.Codec.decoding_table["216,181"] = [24018] let s:lib.Codec.decoding_table["216,182"] = [24398] let s:lib.Codec.decoding_table["216,183"] = [24930] let s:lib.Codec.decoding_table["216,184"] = [25405] let s:lib.Codec.decoding_table["216,185"] = [26217] let s:lib.Codec.decoding_table["216,186"] = [26364] let s:lib.Codec.decoding_table["216,187"] = [28415] let s:lib.Codec.decoding_table["216,188"] = [28459] let s:lib.Codec.decoding_table["216,189"] = [28771] let s:lib.Codec.decoding_table["216,190"] = [30622] let s:lib.Codec.decoding_table["216,191"] = [33836] let s:lib.Codec.decoding_table["216,192"] = [34067] let s:lib.Codec.decoding_table["216,193"] = [34875] let s:lib.Codec.decoding_table["216,194"] = [36627] let s:lib.Codec.decoding_table["216,195"] = [39237] let s:lib.Codec.decoding_table["216,196"] = [39995] let s:lib.Codec.decoding_table["216,197"] = [21788] let s:lib.Codec.decoding_table["216,198"] = [25273] let s:lib.Codec.decoding_table["216,199"] = [26411] let s:lib.Codec.decoding_table["216,200"] = [27819] let s:lib.Codec.decoding_table["216,201"] = [33545] let s:lib.Codec.decoding_table["216,202"] = [35178] let s:lib.Codec.decoding_table["216,203"] = [38778] let s:lib.Codec.decoding_table["216,204"] = [20129] let s:lib.Codec.decoding_table["216,205"] = [22916] let s:lib.Codec.decoding_table["216,206"] = [24536] let s:lib.Codec.decoding_table["216,207"] = [24537] let s:lib.Codec.decoding_table["216,208"] = [26395] let s:lib.Codec.decoding_table["216,209"] = [32178] let s:lib.Codec.decoding_table["216,210"] = [32596] let s:lib.Codec.decoding_table["216,211"] = [33426] let s:lib.Codec.decoding_table["216,212"] = [33579] let s:lib.Codec.decoding_table["216,213"] = [33725] let s:lib.Codec.decoding_table["216,214"] = [36638] let s:lib.Codec.decoding_table["216,215"] = [37017] let s:lib.Codec.decoding_table["216,216"] = [22475] let s:lib.Codec.decoding_table["216,217"] = [22969] let s:lib.Codec.decoding_table["216,218"] = [23186] let s:lib.Codec.decoding_table["216,219"] = [23504] let s:lib.Codec.decoding_table["216,220"] = [26151] let s:lib.Codec.decoding_table["216,221"] = [26522] let s:lib.Codec.decoding_table["216,222"] = [26757] let s:lib.Codec.decoding_table["216,223"] = [27599] let s:lib.Codec.decoding_table["216,224"] = [29028] let s:lib.Codec.decoding_table["216,225"] = [32629] let s:lib.Codec.decoding_table["216,226"] = [36023] let s:lib.Codec.decoding_table["216,227"] = [36067] let s:lib.Codec.decoding_table["216,228"] = [36993] let s:lib.Codec.decoding_table["216,229"] = [39749] let s:lib.Codec.decoding_table["216,230"] = [33032] let s:lib.Codec.decoding_table["216,231"] = [35978] let s:lib.Codec.decoding_table["216,232"] = [38476] let s:lib.Codec.decoding_table["216,233"] = [39488] let s:lib.Codec.decoding_table["216,234"] = [40613] let s:lib.Codec.decoding_table["216,235"] = [23391] let s:lib.Codec.decoding_table["216,236"] = [27667] let s:lib.Codec.decoding_table["216,237"] = [29467] let s:lib.Codec.decoding_table["216,238"] = [30450] let s:lib.Codec.decoding_table["216,239"] = [30431] let s:lib.Codec.decoding_table["216,240"] = [33804] let s:lib.Codec.decoding_table["216,241"] = [20906] let s:lib.Codec.decoding_table["216,242"] = [35219] let s:lib.Codec.decoding_table["216,243"] = [20813] let s:lib.Codec.decoding_table["216,244"] = [20885] let s:lib.Codec.decoding_table["216,245"] = [21193] let s:lib.Codec.decoding_table["216,246"] = [26825] let s:lib.Codec.decoding_table["216,247"] = [27796] let s:lib.Codec.decoding_table["216,248"] = [30468] let s:lib.Codec.decoding_table["216,249"] = [30496] let s:lib.Codec.decoding_table["216,250"] = [32191] let s:lib.Codec.decoding_table["216,251"] = [32236] let s:lib.Codec.decoding_table["216,252"] = [38754] let s:lib.Codec.decoding_table["216,253"] = [40629] let s:lib.Codec.decoding_table["216,254"] = [28357] let s:lib.Codec.decoding_table["217,161"] = [34065] let s:lib.Codec.decoding_table["217,162"] = [20901] let s:lib.Codec.decoding_table["217,163"] = [21517] let s:lib.Codec.decoding_table["217,164"] = [21629] let s:lib.Codec.decoding_table["217,165"] = [26126] let s:lib.Codec.decoding_table["217,166"] = [26269] let s:lib.Codec.decoding_table["217,167"] = [26919] let s:lib.Codec.decoding_table["217,168"] = [28319] let s:lib.Codec.decoding_table["217,169"] = [30399] let s:lib.Codec.decoding_table["217,170"] = [30609] let s:lib.Codec.decoding_table["217,171"] = [33559] let s:lib.Codec.decoding_table["217,172"] = [33986] let s:lib.Codec.decoding_table["217,173"] = [34719] let s:lib.Codec.decoding_table["217,174"] = [37225] let s:lib.Codec.decoding_table["217,175"] = [37528] let s:lib.Codec.decoding_table["217,176"] = [40180] let s:lib.Codec.decoding_table["217,177"] = [34946] let s:lib.Codec.decoding_table["217,178"] = [20398] let s:lib.Codec.decoding_table["217,179"] = [20882] let s:lib.Codec.decoding_table["217,180"] = [21215] let s:lib.Codec.decoding_table["217,181"] = [22982] let s:lib.Codec.decoding_table["217,182"] = [24125] let s:lib.Codec.decoding_table["217,183"] = [24917] let s:lib.Codec.decoding_table["217,184"] = [25720] let s:lib.Codec.decoding_table["217,185"] = [25721] let s:lib.Codec.decoding_table["217,186"] = [26286] let s:lib.Codec.decoding_table["217,187"] = [26576] let s:lib.Codec.decoding_table["217,188"] = [27169] let s:lib.Codec.decoding_table["217,189"] = [27597] let s:lib.Codec.decoding_table["217,190"] = [27611] let s:lib.Codec.decoding_table["217,191"] = [29279] let s:lib.Codec.decoding_table["217,192"] = [29281] let s:lib.Codec.decoding_table["217,193"] = [29761] let s:lib.Codec.decoding_table["217,194"] = [30520] let s:lib.Codec.decoding_table["217,195"] = [30683] let s:lib.Codec.decoding_table["217,196"] = [32791] let s:lib.Codec.decoding_table["217,197"] = [33468] let s:lib.Codec.decoding_table["217,198"] = [33541] let s:lib.Codec.decoding_table["217,199"] = [35584] let s:lib.Codec.decoding_table["217,200"] = [35624] let s:lib.Codec.decoding_table["217,201"] = [35980] let s:lib.Codec.decoding_table["217,202"] = [26408] let s:lib.Codec.decoding_table["217,203"] = [27792] let s:lib.Codec.decoding_table["217,204"] = [29287] let s:lib.Codec.decoding_table["217,205"] = [30446] let s:lib.Codec.decoding_table["217,206"] = [30566] let s:lib.Codec.decoding_table["217,207"] = [31302] let s:lib.Codec.decoding_table["217,208"] = [40361] let s:lib.Codec.decoding_table["217,209"] = [27519] let s:lib.Codec.decoding_table["217,210"] = [27794] let s:lib.Codec.decoding_table["217,211"] = [22818] let s:lib.Codec.decoding_table["217,212"] = [26406] let s:lib.Codec.decoding_table["217,213"] = [33945] let s:lib.Codec.decoding_table["217,214"] = [21359] let s:lib.Codec.decoding_table["217,215"] = [22675] let s:lib.Codec.decoding_table["217,216"] = [22937] let s:lib.Codec.decoding_table["217,217"] = [24287] let s:lib.Codec.decoding_table["217,218"] = [25551] let s:lib.Codec.decoding_table["217,219"] = [26164] let s:lib.Codec.decoding_table["217,220"] = [26483] let s:lib.Codec.decoding_table["217,221"] = [28218] let s:lib.Codec.decoding_table["217,222"] = [29483] let s:lib.Codec.decoding_table["217,223"] = [31447] let s:lib.Codec.decoding_table["217,224"] = [33495] let s:lib.Codec.decoding_table["217,225"] = [37672] let s:lib.Codec.decoding_table["217,226"] = [21209] let s:lib.Codec.decoding_table["217,227"] = [24043] let s:lib.Codec.decoding_table["217,228"] = [25006] let s:lib.Codec.decoding_table["217,229"] = [25035] let s:lib.Codec.decoding_table["217,230"] = [25098] let s:lib.Codec.decoding_table["217,231"] = [25287] let s:lib.Codec.decoding_table["217,232"] = [25771] let s:lib.Codec.decoding_table["217,233"] = [26080] let s:lib.Codec.decoding_table["217,234"] = [26969] let s:lib.Codec.decoding_table["217,235"] = [27494] let s:lib.Codec.decoding_table["217,236"] = [27595] let s:lib.Codec.decoding_table["217,237"] = [28961] let s:lib.Codec.decoding_table["217,238"] = [29687] let s:lib.Codec.decoding_table["217,239"] = [30045] let s:lib.Codec.decoding_table["217,240"] = [32326] let s:lib.Codec.decoding_table["217,241"] = [33310] let s:lib.Codec.decoding_table["217,242"] = [33538] let s:lib.Codec.decoding_table["217,243"] = [34154] let s:lib.Codec.decoding_table["217,244"] = [35491] let s:lib.Codec.decoding_table["217,245"] = [36031] let s:lib.Codec.decoding_table["217,246"] = [38695] let s:lib.Codec.decoding_table["217,247"] = [40289] let s:lib.Codec.decoding_table["217,248"] = [22696] let s:lib.Codec.decoding_table["217,249"] = [40664] let s:lib.Codec.decoding_table["217,250"] = [20497] let s:lib.Codec.decoding_table["217,251"] = [21006] let s:lib.Codec.decoding_table["217,252"] = [21563] let s:lib.Codec.decoding_table["217,253"] = [21839] let s:lib.Codec.decoding_table["217,254"] = [25991] let s:lib.Codec.decoding_table["218,161"] = [27766] let s:lib.Codec.decoding_table["218,162"] = [32010] let s:lib.Codec.decoding_table["218,163"] = [32011] let s:lib.Codec.decoding_table["218,164"] = [32862] let s:lib.Codec.decoding_table["218,165"] = [34442] let s:lib.Codec.decoding_table["218,166"] = [38272] let s:lib.Codec.decoding_table["218,167"] = [38639] let s:lib.Codec.decoding_table["218,168"] = [21247] let s:lib.Codec.decoding_table["218,169"] = [27797] let s:lib.Codec.decoding_table["218,170"] = [29289] let s:lib.Codec.decoding_table["218,171"] = [21619] let s:lib.Codec.decoding_table["218,172"] = [23194] let s:lib.Codec.decoding_table["218,173"] = [23614] let s:lib.Codec.decoding_table["218,174"] = [23883] let s:lib.Codec.decoding_table["218,175"] = [24396] let s:lib.Codec.decoding_table["218,176"] = [24494] let s:lib.Codec.decoding_table["218,177"] = [26410] let s:lib.Codec.decoding_table["218,178"] = [26806] let s:lib.Codec.decoding_table["218,179"] = [26979] let s:lib.Codec.decoding_table["218,180"] = [28220] let s:lib.Codec.decoding_table["218,181"] = [28228] let s:lib.Codec.decoding_table["218,182"] = [30473] let s:lib.Codec.decoding_table["218,183"] = [31859] let s:lib.Codec.decoding_table["218,184"] = [32654] let s:lib.Codec.decoding_table["218,185"] = [34183] let s:lib.Codec.decoding_table["218,186"] = [35598] let s:lib.Codec.decoding_table["218,187"] = [36855] let s:lib.Codec.decoding_table["218,188"] = [38753] let s:lib.Codec.decoding_table["218,189"] = [40692] let s:lib.Codec.decoding_table["218,190"] = [23735] let s:lib.Codec.decoding_table["218,191"] = [24758] let s:lib.Codec.decoding_table["218,192"] = [24845] let s:lib.Codec.decoding_table["218,193"] = [25003] let s:lib.Codec.decoding_table["218,194"] = [25935] let s:lib.Codec.decoding_table["218,195"] = [26107] let s:lib.Codec.decoding_table["218,196"] = [26108] let s:lib.Codec.decoding_table["218,197"] = [27665] let s:lib.Codec.decoding_table["218,198"] = [27887] let s:lib.Codec.decoding_table["218,199"] = [29599] let s:lib.Codec.decoding_table["218,200"] = [29641] let s:lib.Codec.decoding_table["218,201"] = [32225] let s:lib.Codec.decoding_table["218,202"] = [38292] let s:lib.Codec.decoding_table["218,203"] = [23494] let s:lib.Codec.decoding_table["218,204"] = [34588] let s:lib.Codec.decoding_table["218,205"] = [35600] let s:lib.Codec.decoding_table["218,206"] = [21085] let s:lib.Codec.decoding_table["218,207"] = [21338] let s:lib.Codec.decoding_table["218,208"] = [25293] let s:lib.Codec.decoding_table["218,209"] = [25615] let s:lib.Codec.decoding_table["218,210"] = [25778] let s:lib.Codec.decoding_table["218,211"] = [26420] let s:lib.Codec.decoding_table["218,212"] = [27192] let s:lib.Codec.decoding_table["218,213"] = [27850] let s:lib.Codec.decoding_table["218,214"] = [29632] let s:lib.Codec.decoding_table["218,215"] = [29854] let s:lib.Codec.decoding_table["218,216"] = [31636] let s:lib.Codec.decoding_table["218,217"] = [31893] let s:lib.Codec.decoding_table["218,218"] = [32283] let s:lib.Codec.decoding_table["218,219"] = [33162] let s:lib.Codec.decoding_table["218,220"] = [33334] let s:lib.Codec.decoding_table["218,221"] = [34180] let s:lib.Codec.decoding_table["218,222"] = [36843] let s:lib.Codec.decoding_table["218,223"] = [38649] let s:lib.Codec.decoding_table["218,224"] = [39361] let s:lib.Codec.decoding_table["218,225"] = [20276] let s:lib.Codec.decoding_table["218,226"] = [21322] let s:lib.Codec.decoding_table["218,227"] = [21453] let s:lib.Codec.decoding_table["218,228"] = [21467] let s:lib.Codec.decoding_table["218,229"] = [25292] let s:lib.Codec.decoding_table["218,230"] = [25644] let s:lib.Codec.decoding_table["218,231"] = [25856] let s:lib.Codec.decoding_table["218,232"] = [26001] let s:lib.Codec.decoding_table["218,233"] = [27075] let s:lib.Codec.decoding_table["218,234"] = [27886] let s:lib.Codec.decoding_table["218,235"] = [28504] let s:lib.Codec.decoding_table["218,236"] = [29677] let s:lib.Codec.decoding_table["218,237"] = [30036] let s:lib.Codec.decoding_table["218,238"] = [30242] let s:lib.Codec.decoding_table["218,239"] = [30436] let s:lib.Codec.decoding_table["218,240"] = [30460] let s:lib.Codec.decoding_table["218,241"] = [30928] let s:lib.Codec.decoding_table["218,242"] = [30971] let s:lib.Codec.decoding_table["218,243"] = [31020] let s:lib.Codec.decoding_table["218,244"] = [32070] let s:lib.Codec.decoding_table["218,245"] = [33324] let s:lib.Codec.decoding_table["218,246"] = [34784] let s:lib.Codec.decoding_table["218,247"] = [36820] let s:lib.Codec.decoding_table["218,248"] = [38930] let s:lib.Codec.decoding_table["218,249"] = [39151] let s:lib.Codec.decoding_table["218,250"] = [21187] let s:lib.Codec.decoding_table["218,251"] = [25300] let s:lib.Codec.decoding_table["218,252"] = [25765] let s:lib.Codec.decoding_table["218,253"] = [28196] let s:lib.Codec.decoding_table["218,254"] = [28497] let s:lib.Codec.decoding_table["219,161"] = [30332] let s:lib.Codec.decoding_table["219,162"] = [36299] let s:lib.Codec.decoding_table["219,163"] = [37297] let s:lib.Codec.decoding_table["219,164"] = [37474] let s:lib.Codec.decoding_table["219,165"] = [39662] let s:lib.Codec.decoding_table["219,166"] = [39747] let s:lib.Codec.decoding_table["219,167"] = [20515] let s:lib.Codec.decoding_table["219,168"] = [20621] let s:lib.Codec.decoding_table["219,169"] = [22346] let s:lib.Codec.decoding_table["219,170"] = [22952] let s:lib.Codec.decoding_table["219,171"] = [23592] let s:lib.Codec.decoding_table["219,172"] = [24135] let s:lib.Codec.decoding_table["219,173"] = [24439] let s:lib.Codec.decoding_table["219,174"] = [25151] let s:lib.Codec.decoding_table["219,175"] = [25918] let s:lib.Codec.decoding_table["219,176"] = [26041] let s:lib.Codec.decoding_table["219,177"] = [26049] let s:lib.Codec.decoding_table["219,178"] = [26121] let s:lib.Codec.decoding_table["219,179"] = [26507] let s:lib.Codec.decoding_table["219,180"] = [27036] let s:lib.Codec.decoding_table["219,181"] = [28354] let s:lib.Codec.decoding_table["219,182"] = [30917] let s:lib.Codec.decoding_table["219,183"] = [32033] let s:lib.Codec.decoding_table["219,184"] = [32938] let s:lib.Codec.decoding_table["219,185"] = [33152] let s:lib.Codec.decoding_table["219,186"] = [33323] let s:lib.Codec.decoding_table["219,187"] = [33459] let s:lib.Codec.decoding_table["219,188"] = [33953] let s:lib.Codec.decoding_table["219,189"] = [34444] let s:lib.Codec.decoding_table["219,190"] = [35370] let s:lib.Codec.decoding_table["219,191"] = [35607] let s:lib.Codec.decoding_table["219,192"] = [37030] let s:lib.Codec.decoding_table["219,193"] = [38450] let s:lib.Codec.decoding_table["219,194"] = [40848] let s:lib.Codec.decoding_table["219,195"] = [20493] let s:lib.Codec.decoding_table["219,196"] = [20467] let s:lib.Codec.decoding_table["219,197"] = [63843] let s:lib.Codec.decoding_table["219,198"] = [22521] let s:lib.Codec.decoding_table["219,199"] = [24472] let s:lib.Codec.decoding_table["219,200"] = [25308] let s:lib.Codec.decoding_table["219,201"] = [25490] let s:lib.Codec.decoding_table["219,202"] = [26479] let s:lib.Codec.decoding_table["219,203"] = [28227] let s:lib.Codec.decoding_table["219,204"] = [28953] let s:lib.Codec.decoding_table["219,205"] = [30403] let s:lib.Codec.decoding_table["219,206"] = [32972] let s:lib.Codec.decoding_table["219,207"] = [32986] let s:lib.Codec.decoding_table["219,208"] = [35060] let s:lib.Codec.decoding_table["219,209"] = [35061] let s:lib.Codec.decoding_table["219,210"] = [35097] let s:lib.Codec.decoding_table["219,211"] = [36064] let s:lib.Codec.decoding_table["219,212"] = [36649] let s:lib.Codec.decoding_table["219,213"] = [37197] let s:lib.Codec.decoding_table["219,214"] = [38506] let s:lib.Codec.decoding_table["219,215"] = [20271] let s:lib.Codec.decoding_table["219,216"] = [20336] let s:lib.Codec.decoding_table["219,217"] = [24091] let s:lib.Codec.decoding_table["219,218"] = [26575] let s:lib.Codec.decoding_table["219,219"] = [26658] let s:lib.Codec.decoding_table["219,220"] = [30333] let s:lib.Codec.decoding_table["219,221"] = [30334] let s:lib.Codec.decoding_table["219,222"] = [39748] let s:lib.Codec.decoding_table["219,223"] = [24161] let s:lib.Codec.decoding_table["219,224"] = [27146] let s:lib.Codec.decoding_table["219,225"] = [29033] let s:lib.Codec.decoding_table["219,226"] = [29140] let s:lib.Codec.decoding_table["219,227"] = [30058] let s:lib.Codec.decoding_table["219,228"] = [63844] let s:lib.Codec.decoding_table["219,229"] = [32321] let s:lib.Codec.decoding_table["219,230"] = [34115] let s:lib.Codec.decoding_table["219,231"] = [34281] let s:lib.Codec.decoding_table["219,232"] = [39132] let s:lib.Codec.decoding_table["219,233"] = [20240] let s:lib.Codec.decoding_table["219,234"] = [31567] let s:lib.Codec.decoding_table["219,235"] = [32624] let s:lib.Codec.decoding_table["219,236"] = [38309] let s:lib.Codec.decoding_table["219,237"] = [20961] let s:lib.Codec.decoding_table["219,238"] = [24070] let s:lib.Codec.decoding_table["219,239"] = [26805] let s:lib.Codec.decoding_table["219,240"] = [27710] let s:lib.Codec.decoding_table["219,241"] = [27726] let s:lib.Codec.decoding_table["219,242"] = [27867] let s:lib.Codec.decoding_table["219,243"] = [29359] let s:lib.Codec.decoding_table["219,244"] = [31684] let s:lib.Codec.decoding_table["219,245"] = [33539] let s:lib.Codec.decoding_table["219,246"] = [27861] let s:lib.Codec.decoding_table["219,247"] = [29754] let s:lib.Codec.decoding_table["219,248"] = [20731] let s:lib.Codec.decoding_table["219,249"] = [21128] let s:lib.Codec.decoding_table["219,250"] = [22721] let s:lib.Codec.decoding_table["219,251"] = [25816] let s:lib.Codec.decoding_table["219,252"] = [27287] let s:lib.Codec.decoding_table["219,253"] = [29863] let s:lib.Codec.decoding_table["219,254"] = [30294] let s:lib.Codec.decoding_table["220,161"] = [30887] let s:lib.Codec.decoding_table["220,162"] = [34327] let s:lib.Codec.decoding_table["220,163"] = [38370] let s:lib.Codec.decoding_table["220,164"] = [38713] let s:lib.Codec.decoding_table["220,165"] = [63845] let s:lib.Codec.decoding_table["220,166"] = [21342] let s:lib.Codec.decoding_table["220,167"] = [24321] let s:lib.Codec.decoding_table["220,168"] = [35722] let s:lib.Codec.decoding_table["220,169"] = [36776] let s:lib.Codec.decoding_table["220,170"] = [36783] let s:lib.Codec.decoding_table["220,171"] = [37002] let s:lib.Codec.decoding_table["220,172"] = [21029] let s:lib.Codec.decoding_table["220,173"] = [30629] let s:lib.Codec.decoding_table["220,174"] = [40009] let s:lib.Codec.decoding_table["220,175"] = [40712] let s:lib.Codec.decoding_table["220,176"] = [19993] let s:lib.Codec.decoding_table["220,177"] = [20482] let s:lib.Codec.decoding_table["220,178"] = [20853] let s:lib.Codec.decoding_table["220,179"] = [23643] let s:lib.Codec.decoding_table["220,180"] = [24183] let s:lib.Codec.decoding_table["220,181"] = [26142] let s:lib.Codec.decoding_table["220,182"] = [26170] let s:lib.Codec.decoding_table["220,183"] = [26564] let s:lib.Codec.decoding_table["220,184"] = [26821] let s:lib.Codec.decoding_table["220,185"] = [28851] let s:lib.Codec.decoding_table["220,186"] = [29953] let s:lib.Codec.decoding_table["220,187"] = [30149] let s:lib.Codec.decoding_table["220,188"] = [31177] let s:lib.Codec.decoding_table["220,189"] = [31453] let s:lib.Codec.decoding_table["220,190"] = [36647] let s:lib.Codec.decoding_table["220,191"] = [39200] let s:lib.Codec.decoding_table["220,192"] = [39432] let s:lib.Codec.decoding_table["220,193"] = [20445] let s:lib.Codec.decoding_table["220,194"] = [22561] let s:lib.Codec.decoding_table["220,195"] = [22577] let s:lib.Codec.decoding_table["220,196"] = [23542] let s:lib.Codec.decoding_table["220,197"] = [26222] let s:lib.Codec.decoding_table["220,198"] = [27493] let s:lib.Codec.decoding_table["220,199"] = [27921] let s:lib.Codec.decoding_table["220,200"] = [28282] let s:lib.Codec.decoding_table["220,201"] = [28541] let s:lib.Codec.decoding_table["220,202"] = [29668] let s:lib.Codec.decoding_table["220,203"] = [29995] let s:lib.Codec.decoding_table["220,204"] = [33769] let s:lib.Codec.decoding_table["220,205"] = [35036] let s:lib.Codec.decoding_table["220,206"] = [35091] let s:lib.Codec.decoding_table["220,207"] = [35676] let s:lib.Codec.decoding_table["220,208"] = [36628] let s:lib.Codec.decoding_table["220,209"] = [20239] let s:lib.Codec.decoding_table["220,210"] = [20693] let s:lib.Codec.decoding_table["220,211"] = [21264] let s:lib.Codec.decoding_table["220,212"] = [21340] let s:lib.Codec.decoding_table["220,213"] = [23443] let s:lib.Codec.decoding_table["220,214"] = [24489] let s:lib.Codec.decoding_table["220,215"] = [26381] let s:lib.Codec.decoding_table["220,216"] = [31119] let s:lib.Codec.decoding_table["220,217"] = [33145] let s:lib.Codec.decoding_table["220,218"] = [33583] let s:lib.Codec.decoding_table["220,219"] = [34068] let s:lib.Codec.decoding_table["220,220"] = [35079] let s:lib.Codec.decoding_table["220,221"] = [35206] let s:lib.Codec.decoding_table["220,222"] = [36665] let s:lib.Codec.decoding_table["220,223"] = [36667] let s:lib.Codec.decoding_table["220,224"] = [39333] let s:lib.Codec.decoding_table["220,225"] = [39954] let s:lib.Codec.decoding_table["220,226"] = [26412] let s:lib.Codec.decoding_table["220,227"] = [20086] let s:lib.Codec.decoding_table["220,228"] = [20472] let s:lib.Codec.decoding_table["220,229"] = [22857] let s:lib.Codec.decoding_table["220,230"] = [23553] let s:lib.Codec.decoding_table["220,231"] = [23791] let s:lib.Codec.decoding_table["220,232"] = [23792] let s:lib.Codec.decoding_table["220,233"] = [25447] let s:lib.Codec.decoding_table["220,234"] = [26834] let s:lib.Codec.decoding_table["220,235"] = [28925] let s:lib.Codec.decoding_table["220,236"] = [29090] let s:lib.Codec.decoding_table["220,237"] = [29739] let s:lib.Codec.decoding_table["220,238"] = [32299] let s:lib.Codec.decoding_table["220,239"] = [34028] let s:lib.Codec.decoding_table["220,240"] = [34562] let s:lib.Codec.decoding_table["220,241"] = [36898] let s:lib.Codec.decoding_table["220,242"] = [37586] let s:lib.Codec.decoding_table["220,243"] = [40179] let s:lib.Codec.decoding_table["220,244"] = [19981] let s:lib.Codec.decoding_table["220,245"] = [20184] let s:lib.Codec.decoding_table["220,246"] = [20463] let s:lib.Codec.decoding_table["220,247"] = [20613] let s:lib.Codec.decoding_table["220,248"] = [21078] let s:lib.Codec.decoding_table["220,249"] = [21103] let s:lib.Codec.decoding_table["220,250"] = [21542] let s:lib.Codec.decoding_table["220,251"] = [21648] let s:lib.Codec.decoding_table["220,252"] = [22496] let s:lib.Codec.decoding_table["220,253"] = [22827] let s:lib.Codec.decoding_table["220,254"] = [23142] let s:lib.Codec.decoding_table["221,161"] = [23386] let s:lib.Codec.decoding_table["221,162"] = [23413] let s:lib.Codec.decoding_table["221,163"] = [23500] let s:lib.Codec.decoding_table["221,164"] = [24220] let s:lib.Codec.decoding_table["221,165"] = [63846] let s:lib.Codec.decoding_table["221,166"] = [25206] let s:lib.Codec.decoding_table["221,167"] = [25975] let s:lib.Codec.decoding_table["221,168"] = [26023] let s:lib.Codec.decoding_table["221,169"] = [28014] let s:lib.Codec.decoding_table["221,170"] = [28325] let s:lib.Codec.decoding_table["221,171"] = [29238] let s:lib.Codec.decoding_table["221,172"] = [31526] let s:lib.Codec.decoding_table["221,173"] = [31807] let s:lib.Codec.decoding_table["221,174"] = [32566] let s:lib.Codec.decoding_table["221,175"] = [33104] let s:lib.Codec.decoding_table["221,176"] = [33105] let s:lib.Codec.decoding_table["221,177"] = [33178] let s:lib.Codec.decoding_table["221,178"] = [33344] let s:lib.Codec.decoding_table["221,179"] = [33433] let s:lib.Codec.decoding_table["221,180"] = [33705] let s:lib.Codec.decoding_table["221,181"] = [35331] let s:lib.Codec.decoding_table["221,182"] = [36000] let s:lib.Codec.decoding_table["221,183"] = [36070] let s:lib.Codec.decoding_table["221,184"] = [36091] let s:lib.Codec.decoding_table["221,185"] = [36212] let s:lib.Codec.decoding_table["221,186"] = [36282] let s:lib.Codec.decoding_table["221,187"] = [37096] let s:lib.Codec.decoding_table["221,188"] = [37340] let s:lib.Codec.decoding_table["221,189"] = [38428] let s:lib.Codec.decoding_table["221,190"] = [38468] let s:lib.Codec.decoding_table["221,191"] = [39385] let s:lib.Codec.decoding_table["221,192"] = [40167] let s:lib.Codec.decoding_table["221,193"] = [21271] let s:lib.Codec.decoding_table["221,194"] = [20998] let s:lib.Codec.decoding_table["221,195"] = [21545] let s:lib.Codec.decoding_table["221,196"] = [22132] let s:lib.Codec.decoding_table["221,197"] = [22707] let s:lib.Codec.decoding_table["221,198"] = [22868] let s:lib.Codec.decoding_table["221,199"] = [22894] let s:lib.Codec.decoding_table["221,200"] = [24575] let s:lib.Codec.decoding_table["221,201"] = [24996] let s:lib.Codec.decoding_table["221,202"] = [25198] let s:lib.Codec.decoding_table["221,203"] = [26128] let s:lib.Codec.decoding_table["221,204"] = [27774] let s:lib.Codec.decoding_table["221,205"] = [28954] let s:lib.Codec.decoding_table["221,206"] = [30406] let s:lib.Codec.decoding_table["221,207"] = [31881] let s:lib.Codec.decoding_table["221,208"] = [31966] let s:lib.Codec.decoding_table["221,209"] = [32027] let s:lib.Codec.decoding_table["221,210"] = [33452] let s:lib.Codec.decoding_table["221,211"] = [36033] let s:lib.Codec.decoding_table["221,212"] = [38640] let s:lib.Codec.decoding_table["221,213"] = [63847] let s:lib.Codec.decoding_table["221,214"] = [20315] let s:lib.Codec.decoding_table["221,215"] = [24343] let s:lib.Codec.decoding_table["221,216"] = [24447] let s:lib.Codec.decoding_table["221,217"] = [25282] let s:lib.Codec.decoding_table["221,218"] = [23849] let s:lib.Codec.decoding_table["221,219"] = [26379] let s:lib.Codec.decoding_table["221,220"] = [26842] let s:lib.Codec.decoding_table["221,221"] = [30844] let s:lib.Codec.decoding_table["221,222"] = [32323] let s:lib.Codec.decoding_table["221,223"] = [40300] let s:lib.Codec.decoding_table["221,224"] = [19989] let s:lib.Codec.decoding_table["221,225"] = [20633] let s:lib.Codec.decoding_table["221,226"] = [21269] let s:lib.Codec.decoding_table["221,227"] = [21290] let s:lib.Codec.decoding_table["221,228"] = [21329] let s:lib.Codec.decoding_table["221,229"] = [22915] let s:lib.Codec.decoding_table["221,230"] = [23138] let s:lib.Codec.decoding_table["221,231"] = [24199] let s:lib.Codec.decoding_table["221,232"] = [24754] let s:lib.Codec.decoding_table["221,233"] = [24970] let s:lib.Codec.decoding_table["221,234"] = [25161] let s:lib.Codec.decoding_table["221,235"] = [25209] let s:lib.Codec.decoding_table["221,236"] = [26000] let s:lib.Codec.decoding_table["221,237"] = [26503] let s:lib.Codec.decoding_table["221,238"] = [27047] let s:lib.Codec.decoding_table["221,239"] = [27604] let s:lib.Codec.decoding_table["221,240"] = [27606] let s:lib.Codec.decoding_table["221,241"] = [27607] let s:lib.Codec.decoding_table["221,242"] = [27608] let s:lib.Codec.decoding_table["221,243"] = [27832] let s:lib.Codec.decoding_table["221,244"] = [63848] let s:lib.Codec.decoding_table["221,245"] = [29749] let s:lib.Codec.decoding_table["221,246"] = [30202] let s:lib.Codec.decoding_table["221,247"] = [30738] let s:lib.Codec.decoding_table["221,248"] = [30865] let s:lib.Codec.decoding_table["221,249"] = [31189] let s:lib.Codec.decoding_table["221,250"] = [31192] let s:lib.Codec.decoding_table["221,251"] = [31875] let s:lib.Codec.decoding_table["221,252"] = [32203] let s:lib.Codec.decoding_table["221,253"] = [32737] let s:lib.Codec.decoding_table["221,254"] = [32933] let s:lib.Codec.decoding_table["222,161"] = [33086] let s:lib.Codec.decoding_table["222,162"] = [33218] let s:lib.Codec.decoding_table["222,163"] = [33778] let s:lib.Codec.decoding_table["222,164"] = [34586] let s:lib.Codec.decoding_table["222,165"] = [35048] let s:lib.Codec.decoding_table["222,166"] = [35513] let s:lib.Codec.decoding_table["222,167"] = [35692] let s:lib.Codec.decoding_table["222,168"] = [36027] let s:lib.Codec.decoding_table["222,169"] = [37145] let s:lib.Codec.decoding_table["222,170"] = [38750] let s:lib.Codec.decoding_table["222,171"] = [39131] let s:lib.Codec.decoding_table["222,172"] = [40763] let s:lib.Codec.decoding_table["222,173"] = [22188] let s:lib.Codec.decoding_table["222,174"] = [23338] let s:lib.Codec.decoding_table["222,175"] = [24428] let s:lib.Codec.decoding_table["222,176"] = [25996] let s:lib.Codec.decoding_table["222,177"] = [27315] let s:lib.Codec.decoding_table["222,178"] = [27567] let s:lib.Codec.decoding_table["222,179"] = [27996] let s:lib.Codec.decoding_table["222,180"] = [28657] let s:lib.Codec.decoding_table["222,181"] = [28693] let s:lib.Codec.decoding_table["222,182"] = [29277] let s:lib.Codec.decoding_table["222,183"] = [29613] let s:lib.Codec.decoding_table["222,184"] = [36007] let s:lib.Codec.decoding_table["222,185"] = [36051] let s:lib.Codec.decoding_table["222,186"] = [38971] let s:lib.Codec.decoding_table["222,187"] = [24977] let s:lib.Codec.decoding_table["222,188"] = [27703] let s:lib.Codec.decoding_table["222,189"] = [32856] let s:lib.Codec.decoding_table["222,190"] = [39425] let s:lib.Codec.decoding_table["222,191"] = [20045] let s:lib.Codec.decoding_table["222,192"] = [20107] let s:lib.Codec.decoding_table["222,193"] = [20123] let s:lib.Codec.decoding_table["222,194"] = [20181] let s:lib.Codec.decoding_table["222,195"] = [20282] let s:lib.Codec.decoding_table["222,196"] = [20284] let s:lib.Codec.decoding_table["222,197"] = [20351] let s:lib.Codec.decoding_table["222,198"] = [20447] let s:lib.Codec.decoding_table["222,199"] = [20735] let s:lib.Codec.decoding_table["222,200"] = [21490] let s:lib.Codec.decoding_table["222,201"] = [21496] let s:lib.Codec.decoding_table["222,202"] = [21766] let s:lib.Codec.decoding_table["222,203"] = [21987] let s:lib.Codec.decoding_table["222,204"] = [22235] let s:lib.Codec.decoding_table["222,205"] = [22763] let s:lib.Codec.decoding_table["222,206"] = [22882] let s:lib.Codec.decoding_table["222,207"] = [23057] let s:lib.Codec.decoding_table["222,208"] = [23531] let s:lib.Codec.decoding_table["222,209"] = [23546] let s:lib.Codec.decoding_table["222,210"] = [23556] let s:lib.Codec.decoding_table["222,211"] = [24051] let s:lib.Codec.decoding_table["222,212"] = [24107] let s:lib.Codec.decoding_table["222,213"] = [24473] let s:lib.Codec.decoding_table["222,214"] = [24605] let s:lib.Codec.decoding_table["222,215"] = [25448] let s:lib.Codec.decoding_table["222,216"] = [26012] let s:lib.Codec.decoding_table["222,217"] = [26031] let s:lib.Codec.decoding_table["222,218"] = [26614] let s:lib.Codec.decoding_table["222,219"] = [26619] let s:lib.Codec.decoding_table["222,220"] = [26797] let s:lib.Codec.decoding_table["222,221"] = [27515] let s:lib.Codec.decoding_table["222,222"] = [27801] let s:lib.Codec.decoding_table["222,223"] = [27863] let s:lib.Codec.decoding_table["222,224"] = [28195] let s:lib.Codec.decoding_table["222,225"] = [28681] let s:lib.Codec.decoding_table["222,226"] = [29509] let s:lib.Codec.decoding_table["222,227"] = [30722] let s:lib.Codec.decoding_table["222,228"] = [31038] let s:lib.Codec.decoding_table["222,229"] = [31040] let s:lib.Codec.decoding_table["222,230"] = [31072] let s:lib.Codec.decoding_table["222,231"] = [31169] let s:lib.Codec.decoding_table["222,232"] = [31721] let s:lib.Codec.decoding_table["222,233"] = [32023] let s:lib.Codec.decoding_table["222,234"] = [32114] let s:lib.Codec.decoding_table["222,235"] = [32902] let s:lib.Codec.decoding_table["222,236"] = [33293] let s:lib.Codec.decoding_table["222,237"] = [33678] let s:lib.Codec.decoding_table["222,238"] = [34001] let s:lib.Codec.decoding_table["222,239"] = [34503] let s:lib.Codec.decoding_table["222,240"] = [35039] let s:lib.Codec.decoding_table["222,241"] = [35408] let s:lib.Codec.decoding_table["222,242"] = [35422] let s:lib.Codec.decoding_table["222,243"] = [35613] let s:lib.Codec.decoding_table["222,244"] = [36060] let s:lib.Codec.decoding_table["222,245"] = [36198] let s:lib.Codec.decoding_table["222,246"] = [36781] let s:lib.Codec.decoding_table["222,247"] = [37034] let s:lib.Codec.decoding_table["222,248"] = [39164] let s:lib.Codec.decoding_table["222,249"] = [39391] let s:lib.Codec.decoding_table["222,250"] = [40605] let s:lib.Codec.decoding_table["222,251"] = [21066] let s:lib.Codec.decoding_table["222,252"] = [63849] let s:lib.Codec.decoding_table["222,253"] = [26388] let s:lib.Codec.decoding_table["222,254"] = [63850] let s:lib.Codec.decoding_table["223,161"] = [20632] let s:lib.Codec.decoding_table["223,162"] = [21034] let s:lib.Codec.decoding_table["223,163"] = [23665] let s:lib.Codec.decoding_table["223,164"] = [25955] let s:lib.Codec.decoding_table["223,165"] = [27733] let s:lib.Codec.decoding_table["223,166"] = [29642] let s:lib.Codec.decoding_table["223,167"] = [29987] let s:lib.Codec.decoding_table["223,168"] = [30109] let s:lib.Codec.decoding_table["223,169"] = [31639] let s:lib.Codec.decoding_table["223,170"] = [33948] let s:lib.Codec.decoding_table["223,171"] = [37240] let s:lib.Codec.decoding_table["223,172"] = [38704] let s:lib.Codec.decoding_table["223,173"] = [20087] let s:lib.Codec.decoding_table["223,174"] = [25746] let s:lib.Codec.decoding_table["223,175"] = [27578] let s:lib.Codec.decoding_table["223,176"] = [29022] let s:lib.Codec.decoding_table["223,177"] = [34217] let s:lib.Codec.decoding_table["223,178"] = [19977] let s:lib.Codec.decoding_table["223,179"] = [63851] let s:lib.Codec.decoding_table["223,180"] = [26441] let s:lib.Codec.decoding_table["223,181"] = [26862] let s:lib.Codec.decoding_table["223,182"] = [28183] let s:lib.Codec.decoding_table["223,183"] = [33439] let s:lib.Codec.decoding_table["223,184"] = [34072] let s:lib.Codec.decoding_table["223,185"] = [34923] let s:lib.Codec.decoding_table["223,186"] = [25591] let s:lib.Codec.decoding_table["223,187"] = [28545] let s:lib.Codec.decoding_table["223,188"] = [37394] let s:lib.Codec.decoding_table["223,189"] = [39087] let s:lib.Codec.decoding_table["223,190"] = [19978] let s:lib.Codec.decoding_table["223,191"] = [20663] let s:lib.Codec.decoding_table["223,192"] = [20687] let s:lib.Codec.decoding_table["223,193"] = [20767] let s:lib.Codec.decoding_table["223,194"] = [21830] let s:lib.Codec.decoding_table["223,195"] = [21930] let s:lib.Codec.decoding_table["223,196"] = [22039] let s:lib.Codec.decoding_table["223,197"] = [23360] let s:lib.Codec.decoding_table["223,198"] = [23577] let s:lib.Codec.decoding_table["223,199"] = [23776] let s:lib.Codec.decoding_table["223,200"] = [24120] let s:lib.Codec.decoding_table["223,201"] = [24202] let s:lib.Codec.decoding_table["223,202"] = [24224] let s:lib.Codec.decoding_table["223,203"] = [24258] let s:lib.Codec.decoding_table["223,204"] = [24819] let s:lib.Codec.decoding_table["223,205"] = [26705] let s:lib.Codec.decoding_table["223,206"] = [27233] let s:lib.Codec.decoding_table["223,207"] = [28248] let s:lib.Codec.decoding_table["223,208"] = [29245] let s:lib.Codec.decoding_table["223,209"] = [29248] let s:lib.Codec.decoding_table["223,210"] = [29376] let s:lib.Codec.decoding_table["223,211"] = [30456] let s:lib.Codec.decoding_table["223,212"] = [31077] let s:lib.Codec.decoding_table["223,213"] = [31665] let s:lib.Codec.decoding_table["223,214"] = [32724] let s:lib.Codec.decoding_table["223,215"] = [35059] let s:lib.Codec.decoding_table["223,216"] = [35316] let s:lib.Codec.decoding_table["223,217"] = [35443] let s:lib.Codec.decoding_table["223,218"] = [35937] let s:lib.Codec.decoding_table["223,219"] = [36062] let s:lib.Codec.decoding_table["223,220"] = [38684] let s:lib.Codec.decoding_table["223,221"] = [22622] let s:lib.Codec.decoding_table["223,222"] = [29885] let s:lib.Codec.decoding_table["223,223"] = [36093] let s:lib.Codec.decoding_table["223,224"] = [21959] let s:lib.Codec.decoding_table["223,225"] = [63852] let s:lib.Codec.decoding_table["223,226"] = [31329] let s:lib.Codec.decoding_table["223,227"] = [32034] let s:lib.Codec.decoding_table["223,228"] = [33394] let s:lib.Codec.decoding_table["223,229"] = [29298] let s:lib.Codec.decoding_table["223,230"] = [29983] let s:lib.Codec.decoding_table["223,231"] = [29989] let s:lib.Codec.decoding_table["223,232"] = [63853] let s:lib.Codec.decoding_table["223,233"] = [31513] let s:lib.Codec.decoding_table["223,234"] = [22661] let s:lib.Codec.decoding_table["223,235"] = [22779] let s:lib.Codec.decoding_table["223,236"] = [23996] let s:lib.Codec.decoding_table["223,237"] = [24207] let s:lib.Codec.decoding_table["223,238"] = [24246] let s:lib.Codec.decoding_table["223,239"] = [24464] let s:lib.Codec.decoding_table["223,240"] = [24661] let s:lib.Codec.decoding_table["223,241"] = [25234] let s:lib.Codec.decoding_table["223,242"] = [25471] let s:lib.Codec.decoding_table["223,243"] = [25933] let s:lib.Codec.decoding_table["223,244"] = [26257] let s:lib.Codec.decoding_table["223,245"] = [26329] let s:lib.Codec.decoding_table["223,246"] = [26360] let s:lib.Codec.decoding_table["223,247"] = [26646] let s:lib.Codec.decoding_table["223,248"] = [26866] let s:lib.Codec.decoding_table["223,249"] = [29312] let s:lib.Codec.decoding_table["223,250"] = [29790] let s:lib.Codec.decoding_table["223,251"] = [31598] let s:lib.Codec.decoding_table["223,252"] = [32110] let s:lib.Codec.decoding_table["223,253"] = [32214] let s:lib.Codec.decoding_table["223,254"] = [32626] let s:lib.Codec.decoding_table["224,161"] = [32997] let s:lib.Codec.decoding_table["224,162"] = [33298] let s:lib.Codec.decoding_table["224,163"] = [34223] let s:lib.Codec.decoding_table["224,164"] = [35199] let s:lib.Codec.decoding_table["224,165"] = [35475] let s:lib.Codec.decoding_table["224,166"] = [36893] let s:lib.Codec.decoding_table["224,167"] = [37604] let s:lib.Codec.decoding_table["224,168"] = [40653] let s:lib.Codec.decoding_table["224,169"] = [40736] let s:lib.Codec.decoding_table["224,170"] = [22805] let s:lib.Codec.decoding_table["224,171"] = [22893] let s:lib.Codec.decoding_table["224,172"] = [24109] let s:lib.Codec.decoding_table["224,173"] = [24796] let s:lib.Codec.decoding_table["224,174"] = [26132] let s:lib.Codec.decoding_table["224,175"] = [26227] let s:lib.Codec.decoding_table["224,176"] = [26512] let s:lib.Codec.decoding_table["224,177"] = [27728] let s:lib.Codec.decoding_table["224,178"] = [28101] let s:lib.Codec.decoding_table["224,179"] = [28511] let s:lib.Codec.decoding_table["224,180"] = [30707] let s:lib.Codec.decoding_table["224,181"] = [30889] let s:lib.Codec.decoding_table["224,182"] = [33990] let s:lib.Codec.decoding_table["224,183"] = [37323] let s:lib.Codec.decoding_table["224,184"] = [37675] let s:lib.Codec.decoding_table["224,185"] = [20185] let s:lib.Codec.decoding_table["224,186"] = [20682] let s:lib.Codec.decoding_table["224,187"] = [20808] let s:lib.Codec.decoding_table["224,188"] = [21892] let s:lib.Codec.decoding_table["224,189"] = [23307] let s:lib.Codec.decoding_table["224,190"] = [23459] let s:lib.Codec.decoding_table["224,191"] = [25159] let s:lib.Codec.decoding_table["224,192"] = [25982] let s:lib.Codec.decoding_table["224,193"] = [26059] let s:lib.Codec.decoding_table["224,194"] = [28210] let s:lib.Codec.decoding_table["224,195"] = [29053] let s:lib.Codec.decoding_table["224,196"] = [29697] let s:lib.Codec.decoding_table["224,197"] = [29764] let s:lib.Codec.decoding_table["224,198"] = [29831] let s:lib.Codec.decoding_table["224,199"] = [29887] let s:lib.Codec.decoding_table["224,200"] = [30316] let s:lib.Codec.decoding_table["224,201"] = [31146] let s:lib.Codec.decoding_table["224,202"] = [32218] let s:lib.Codec.decoding_table["224,203"] = [32341] let s:lib.Codec.decoding_table["224,204"] = [32680] let s:lib.Codec.decoding_table["224,205"] = [33146] let s:lib.Codec.decoding_table["224,206"] = [33203] let s:lib.Codec.decoding_table["224,207"] = [33337] let s:lib.Codec.decoding_table["224,208"] = [34330] let s:lib.Codec.decoding_table["224,209"] = [34796] let s:lib.Codec.decoding_table["224,210"] = [35445] let s:lib.Codec.decoding_table["224,211"] = [36323] let s:lib.Codec.decoding_table["224,212"] = [36984] let s:lib.Codec.decoding_table["224,213"] = [37521] let s:lib.Codec.decoding_table["224,214"] = [37925] let s:lib.Codec.decoding_table["224,215"] = [39245] let s:lib.Codec.decoding_table["224,216"] = [39854] let s:lib.Codec.decoding_table["224,217"] = [21352] let s:lib.Codec.decoding_table["224,218"] = [23633] let s:lib.Codec.decoding_table["224,219"] = [26964] let s:lib.Codec.decoding_table["224,220"] = [27844] let s:lib.Codec.decoding_table["224,221"] = [27945] let s:lib.Codec.decoding_table["224,222"] = [28203] let s:lib.Codec.decoding_table["224,223"] = [33292] let s:lib.Codec.decoding_table["224,224"] = [34203] let s:lib.Codec.decoding_table["224,225"] = [35131] let s:lib.Codec.decoding_table["224,226"] = [35373] let s:lib.Codec.decoding_table["224,227"] = [35498] let s:lib.Codec.decoding_table["224,228"] = [38634] let s:lib.Codec.decoding_table["224,229"] = [40807] let s:lib.Codec.decoding_table["224,230"] = [21089] let s:lib.Codec.decoding_table["224,231"] = [26297] let s:lib.Codec.decoding_table["224,232"] = [27570] let s:lib.Codec.decoding_table["224,233"] = [32406] let s:lib.Codec.decoding_table["224,234"] = [34814] let s:lib.Codec.decoding_table["224,235"] = [36109] let s:lib.Codec.decoding_table["224,236"] = [38275] let s:lib.Codec.decoding_table["224,237"] = [38493] let s:lib.Codec.decoding_table["224,238"] = [25885] let s:lib.Codec.decoding_table["224,239"] = [28041] let s:lib.Codec.decoding_table["224,240"] = [29166] let s:lib.Codec.decoding_table["224,241"] = [63854] let s:lib.Codec.decoding_table["224,242"] = [22478] let s:lib.Codec.decoding_table["224,243"] = [22995] let s:lib.Codec.decoding_table["224,244"] = [23468] let s:lib.Codec.decoding_table["224,245"] = [24615] let s:lib.Codec.decoding_table["224,246"] = [24826] let s:lib.Codec.decoding_table["224,247"] = [25104] let s:lib.Codec.decoding_table["224,248"] = [26143] let s:lib.Codec.decoding_table["224,249"] = [26207] let s:lib.Codec.decoding_table["224,250"] = [29481] let s:lib.Codec.decoding_table["224,251"] = [29689] let s:lib.Codec.decoding_table["224,252"] = [30427] let s:lib.Codec.decoding_table["224,253"] = [30465] let s:lib.Codec.decoding_table["224,254"] = [31596] let s:lib.Codec.decoding_table["225,161"] = [32854] let s:lib.Codec.decoding_table["225,162"] = [32882] let s:lib.Codec.decoding_table["225,163"] = [33125] let s:lib.Codec.decoding_table["225,164"] = [35488] let s:lib.Codec.decoding_table["225,165"] = [37266] let s:lib.Codec.decoding_table["225,166"] = [19990] let s:lib.Codec.decoding_table["225,167"] = [21218] let s:lib.Codec.decoding_table["225,168"] = [27506] let s:lib.Codec.decoding_table["225,169"] = [27927] let s:lib.Codec.decoding_table["225,170"] = [31237] let s:lib.Codec.decoding_table["225,171"] = [31545] let s:lib.Codec.decoding_table["225,172"] = [32048] let s:lib.Codec.decoding_table["225,173"] = [63855] let s:lib.Codec.decoding_table["225,174"] = [36016] let s:lib.Codec.decoding_table["225,175"] = [21484] let s:lib.Codec.decoding_table["225,176"] = [22063] let s:lib.Codec.decoding_table["225,177"] = [22609] let s:lib.Codec.decoding_table["225,178"] = [23477] let s:lib.Codec.decoding_table["225,179"] = [23567] let s:lib.Codec.decoding_table["225,180"] = [23569] let s:lib.Codec.decoding_table["225,181"] = [24034] let s:lib.Codec.decoding_table["225,182"] = [25152] let s:lib.Codec.decoding_table["225,183"] = [25475] let s:lib.Codec.decoding_table["225,184"] = [25620] let s:lib.Codec.decoding_table["225,185"] = [26157] let s:lib.Codec.decoding_table["225,186"] = [26803] let s:lib.Codec.decoding_table["225,187"] = [27836] let s:lib.Codec.decoding_table["225,188"] = [28040] let s:lib.Codec.decoding_table["225,189"] = [28335] let s:lib.Codec.decoding_table["225,190"] = [28703] let s:lib.Codec.decoding_table["225,191"] = [28836] let s:lib.Codec.decoding_table["225,192"] = [29138] let s:lib.Codec.decoding_table["225,193"] = [29990] let s:lib.Codec.decoding_table["225,194"] = [30095] let s:lib.Codec.decoding_table["225,195"] = [30094] let s:lib.Codec.decoding_table["225,196"] = [30233] let s:lib.Codec.decoding_table["225,197"] = [31505] let s:lib.Codec.decoding_table["225,198"] = [31712] let s:lib.Codec.decoding_table["225,199"] = [31787] let s:lib.Codec.decoding_table["225,200"] = [32032] let s:lib.Codec.decoding_table["225,201"] = [32057] let s:lib.Codec.decoding_table["225,202"] = [34092] let s:lib.Codec.decoding_table["225,203"] = [34157] let s:lib.Codec.decoding_table["225,204"] = [34311] let s:lib.Codec.decoding_table["225,205"] = [35380] let s:lib.Codec.decoding_table["225,206"] = [36877] let s:lib.Codec.decoding_table["225,207"] = [36961] let s:lib.Codec.decoding_table["225,208"] = [37045] let s:lib.Codec.decoding_table["225,209"] = [37559] let s:lib.Codec.decoding_table["225,210"] = [38902] let s:lib.Codec.decoding_table["225,211"] = [39479] let s:lib.Codec.decoding_table["225,212"] = [20439] let s:lib.Codec.decoding_table["225,213"] = [23660] let s:lib.Codec.decoding_table["225,214"] = [26463] let s:lib.Codec.decoding_table["225,215"] = [28049] let s:lib.Codec.decoding_table["225,216"] = [31903] let s:lib.Codec.decoding_table["225,217"] = [32396] let s:lib.Codec.decoding_table["225,218"] = [35606] let s:lib.Codec.decoding_table["225,219"] = [36118] let s:lib.Codec.decoding_table["225,220"] = [36895] let s:lib.Codec.decoding_table["225,221"] = [23403] let s:lib.Codec.decoding_table["225,222"] = [24061] let s:lib.Codec.decoding_table["225,223"] = [25613] let s:lib.Codec.decoding_table["225,224"] = [33984] let s:lib.Codec.decoding_table["225,225"] = [36956] let s:lib.Codec.decoding_table["225,226"] = [39137] let s:lib.Codec.decoding_table["225,227"] = [29575] let s:lib.Codec.decoding_table["225,228"] = [23435] let s:lib.Codec.decoding_table["225,229"] = [24730] let s:lib.Codec.decoding_table["225,230"] = [26494] let s:lib.Codec.decoding_table["225,231"] = [28126] let s:lib.Codec.decoding_table["225,232"] = [35359] let s:lib.Codec.decoding_table["225,233"] = [35494] let s:lib.Codec.decoding_table["225,234"] = [36865] let s:lib.Codec.decoding_table["225,235"] = [38924] let s:lib.Codec.decoding_table["225,236"] = [21047] let s:lib.Codec.decoding_table["225,237"] = [63856] let s:lib.Codec.decoding_table["225,238"] = [28753] let s:lib.Codec.decoding_table["225,239"] = [30862] let s:lib.Codec.decoding_table["225,240"] = [37782] let s:lib.Codec.decoding_table["225,241"] = [34928] let s:lib.Codec.decoding_table["225,242"] = [37335] let s:lib.Codec.decoding_table["225,243"] = [20462] let s:lib.Codec.decoding_table["225,244"] = [21463] let s:lib.Codec.decoding_table["225,245"] = [22013] let s:lib.Codec.decoding_table["225,246"] = [22234] let s:lib.Codec.decoding_table["225,247"] = [22402] let s:lib.Codec.decoding_table["225,248"] = [22781] let s:lib.Codec.decoding_table["225,249"] = [23234] let s:lib.Codec.decoding_table["225,250"] = [23432] let s:lib.Codec.decoding_table["225,251"] = [23723] let s:lib.Codec.decoding_table["225,252"] = [23744] let s:lib.Codec.decoding_table["225,253"] = [24101] let s:lib.Codec.decoding_table["225,254"] = [24833] let s:lib.Codec.decoding_table["226,161"] = [25101] let s:lib.Codec.decoding_table["226,162"] = [25163] let s:lib.Codec.decoding_table["226,163"] = [25480] let s:lib.Codec.decoding_table["226,164"] = [25628] let s:lib.Codec.decoding_table["226,165"] = [25910] let s:lib.Codec.decoding_table["226,166"] = [25976] let s:lib.Codec.decoding_table["226,167"] = [27193] let s:lib.Codec.decoding_table["226,168"] = [27530] let s:lib.Codec.decoding_table["226,169"] = [27700] let s:lib.Codec.decoding_table["226,170"] = [27929] let s:lib.Codec.decoding_table["226,171"] = [28465] let s:lib.Codec.decoding_table["226,172"] = [29159] let s:lib.Codec.decoding_table["226,173"] = [29417] let s:lib.Codec.decoding_table["226,174"] = [29560] let s:lib.Codec.decoding_table["226,175"] = [29703] let s:lib.Codec.decoding_table["226,176"] = [29874] let s:lib.Codec.decoding_table["226,177"] = [30246] let s:lib.Codec.decoding_table["226,178"] = [30561] let s:lib.Codec.decoding_table["226,179"] = [31168] let s:lib.Codec.decoding_table["226,180"] = [31319] let s:lib.Codec.decoding_table["226,181"] = [31466] let s:lib.Codec.decoding_table["226,182"] = [31929] let s:lib.Codec.decoding_table["226,183"] = [32143] let s:lib.Codec.decoding_table["226,184"] = [32172] let s:lib.Codec.decoding_table["226,185"] = [32353] let s:lib.Codec.decoding_table["226,186"] = [32670] let s:lib.Codec.decoding_table["226,187"] = [33065] let s:lib.Codec.decoding_table["226,188"] = [33585] let s:lib.Codec.decoding_table["226,189"] = [33936] let s:lib.Codec.decoding_table["226,190"] = [34010] let s:lib.Codec.decoding_table["226,191"] = [34282] let s:lib.Codec.decoding_table["226,192"] = [34966] let s:lib.Codec.decoding_table["226,193"] = [35504] let s:lib.Codec.decoding_table["226,194"] = [35728] let s:lib.Codec.decoding_table["226,195"] = [36664] let s:lib.Codec.decoding_table["226,196"] = [36930] let s:lib.Codec.decoding_table["226,197"] = [36995] let s:lib.Codec.decoding_table["226,198"] = [37228] let s:lib.Codec.decoding_table["226,199"] = [37526] let s:lib.Codec.decoding_table["226,200"] = [37561] let s:lib.Codec.decoding_table["226,201"] = [38539] let s:lib.Codec.decoding_table["226,202"] = [38567] let s:lib.Codec.decoding_table["226,203"] = [38568] let s:lib.Codec.decoding_table["226,204"] = [38614] let s:lib.Codec.decoding_table["226,205"] = [38656] let s:lib.Codec.decoding_table["226,206"] = [38920] let s:lib.Codec.decoding_table["226,207"] = [39318] let s:lib.Codec.decoding_table["226,208"] = [39635] let s:lib.Codec.decoding_table["226,209"] = [39706] let s:lib.Codec.decoding_table["226,210"] = [21460] let s:lib.Codec.decoding_table["226,211"] = [22654] let s:lib.Codec.decoding_table["226,212"] = [22809] let s:lib.Codec.decoding_table["226,213"] = [23408] let s:lib.Codec.decoding_table["226,214"] = [23487] let s:lib.Codec.decoding_table["226,215"] = [28113] let s:lib.Codec.decoding_table["226,216"] = [28506] let s:lib.Codec.decoding_table["226,217"] = [29087] let s:lib.Codec.decoding_table["226,218"] = [29729] let s:lib.Codec.decoding_table["226,219"] = [29881] let s:lib.Codec.decoding_table["226,220"] = [32901] let s:lib.Codec.decoding_table["226,221"] = [33789] let s:lib.Codec.decoding_table["226,222"] = [24033] let s:lib.Codec.decoding_table["226,223"] = [24455] let s:lib.Codec.decoding_table["226,224"] = [24490] let s:lib.Codec.decoding_table["226,225"] = [24642] let s:lib.Codec.decoding_table["226,226"] = [26092] let s:lib.Codec.decoding_table["226,227"] = [26642] let s:lib.Codec.decoding_table["226,228"] = [26991] let s:lib.Codec.decoding_table["226,229"] = [27219] let s:lib.Codec.decoding_table["226,230"] = [27529] let s:lib.Codec.decoding_table["226,231"] = [27957] let s:lib.Codec.decoding_table["226,232"] = [28147] let s:lib.Codec.decoding_table["226,233"] = [29667] let s:lib.Codec.decoding_table["226,234"] = [30462] let s:lib.Codec.decoding_table["226,235"] = [30636] let s:lib.Codec.decoding_table["226,236"] = [31565] let s:lib.Codec.decoding_table["226,237"] = [32020] let s:lib.Codec.decoding_table["226,238"] = [33059] let s:lib.Codec.decoding_table["226,239"] = [33308] let s:lib.Codec.decoding_table["226,240"] = [33600] let s:lib.Codec.decoding_table["226,241"] = [34036] let s:lib.Codec.decoding_table["226,242"] = [34147] let s:lib.Codec.decoding_table["226,243"] = [35426] let s:lib.Codec.decoding_table["226,244"] = [35524] let s:lib.Codec.decoding_table["226,245"] = [37255] let s:lib.Codec.decoding_table["226,246"] = [37662] let s:lib.Codec.decoding_table["226,247"] = [38918] let s:lib.Codec.decoding_table["226,248"] = [39348] let s:lib.Codec.decoding_table["226,249"] = [25100] let s:lib.Codec.decoding_table["226,250"] = [34899] let s:lib.Codec.decoding_table["226,251"] = [36848] let s:lib.Codec.decoding_table["226,252"] = [37477] let s:lib.Codec.decoding_table["226,253"] = [23815] let s:lib.Codec.decoding_table["226,254"] = [23847] let s:lib.Codec.decoding_table["227,161"] = [23913] let s:lib.Codec.decoding_table["227,162"] = [29791] let s:lib.Codec.decoding_table["227,163"] = [33181] let s:lib.Codec.decoding_table["227,164"] = [34664] let s:lib.Codec.decoding_table["227,165"] = [28629] let s:lib.Codec.decoding_table["227,166"] = [25342] let s:lib.Codec.decoding_table["227,167"] = [32722] let s:lib.Codec.decoding_table["227,168"] = [35126] let s:lib.Codec.decoding_table["227,169"] = [35186] let s:lib.Codec.decoding_table["227,170"] = [19998] let s:lib.Codec.decoding_table["227,171"] = [20056] let s:lib.Codec.decoding_table["227,172"] = [20711] let s:lib.Codec.decoding_table["227,173"] = [21213] let s:lib.Codec.decoding_table["227,174"] = [21319] let s:lib.Codec.decoding_table["227,175"] = [25215] let s:lib.Codec.decoding_table["227,176"] = [26119] let s:lib.Codec.decoding_table["227,177"] = [32361] let s:lib.Codec.decoding_table["227,178"] = [34821] let s:lib.Codec.decoding_table["227,179"] = [38494] let s:lib.Codec.decoding_table["227,180"] = [20365] let s:lib.Codec.decoding_table["227,181"] = [21273] let s:lib.Codec.decoding_table["227,182"] = [22070] let s:lib.Codec.decoding_table["227,183"] = [22987] let s:lib.Codec.decoding_table["227,184"] = [23204] let s:lib.Codec.decoding_table["227,185"] = [23608] let s:lib.Codec.decoding_table["227,186"] = [23630] let s:lib.Codec.decoding_table["227,187"] = [23629] let s:lib.Codec.decoding_table["227,188"] = [24066] let s:lib.Codec.decoding_table["227,189"] = [24337] let s:lib.Codec.decoding_table["227,190"] = [24643] let s:lib.Codec.decoding_table["227,191"] = [26045] let s:lib.Codec.decoding_table["227,192"] = [26159] let s:lib.Codec.decoding_table["227,193"] = [26178] let s:lib.Codec.decoding_table["227,194"] = [26558] let s:lib.Codec.decoding_table["227,195"] = [26612] let s:lib.Codec.decoding_table["227,196"] = [29468] let s:lib.Codec.decoding_table["227,197"] = [30690] let s:lib.Codec.decoding_table["227,198"] = [31034] let s:lib.Codec.decoding_table["227,199"] = [32709] let s:lib.Codec.decoding_table["227,200"] = [33940] let s:lib.Codec.decoding_table["227,201"] = [33997] let s:lib.Codec.decoding_table["227,202"] = [35222] let s:lib.Codec.decoding_table["227,203"] = [35430] let s:lib.Codec.decoding_table["227,204"] = [35433] let s:lib.Codec.decoding_table["227,205"] = [35553] let s:lib.Codec.decoding_table["227,206"] = [35925] let s:lib.Codec.decoding_table["227,207"] = [35962] let s:lib.Codec.decoding_table["227,208"] = [22516] let s:lib.Codec.decoding_table["227,209"] = [23508] let s:lib.Codec.decoding_table["227,210"] = [24335] let s:lib.Codec.decoding_table["227,211"] = [24687] let s:lib.Codec.decoding_table["227,212"] = [25325] let s:lib.Codec.decoding_table["227,213"] = [26893] let s:lib.Codec.decoding_table["227,214"] = [27542] let s:lib.Codec.decoding_table["227,215"] = [28252] let s:lib.Codec.decoding_table["227,216"] = [29060] let s:lib.Codec.decoding_table["227,217"] = [31698] let s:lib.Codec.decoding_table["227,218"] = [34645] let s:lib.Codec.decoding_table["227,219"] = [35672] let s:lib.Codec.decoding_table["227,220"] = [36606] let s:lib.Codec.decoding_table["227,221"] = [39135] let s:lib.Codec.decoding_table["227,222"] = [39166] let s:lib.Codec.decoding_table["227,223"] = [20280] let s:lib.Codec.decoding_table["227,224"] = [20353] let s:lib.Codec.decoding_table["227,225"] = [20449] let s:lib.Codec.decoding_table["227,226"] = [21627] let s:lib.Codec.decoding_table["227,227"] = [23072] let s:lib.Codec.decoding_table["227,228"] = [23480] let s:lib.Codec.decoding_table["227,229"] = [24892] let s:lib.Codec.decoding_table["227,230"] = [26032] let s:lib.Codec.decoding_table["227,231"] = [26216] let s:lib.Codec.decoding_table["227,232"] = [29180] let s:lib.Codec.decoding_table["227,233"] = [30003] let s:lib.Codec.decoding_table["227,234"] = [31070] let s:lib.Codec.decoding_table["227,235"] = [32051] let s:lib.Codec.decoding_table["227,236"] = [33102] let s:lib.Codec.decoding_table["227,237"] = [33251] let s:lib.Codec.decoding_table["227,238"] = [33688] let s:lib.Codec.decoding_table["227,239"] = [34218] let s:lib.Codec.decoding_table["227,240"] = [34254] let s:lib.Codec.decoding_table["227,241"] = [34563] let s:lib.Codec.decoding_table["227,242"] = [35338] let s:lib.Codec.decoding_table["227,243"] = [36523] let s:lib.Codec.decoding_table["227,244"] = [36763] let s:lib.Codec.decoding_table["227,245"] = [63857] let s:lib.Codec.decoding_table["227,246"] = [36805] let s:lib.Codec.decoding_table["227,247"] = [22833] let s:lib.Codec.decoding_table["227,248"] = [23460] let s:lib.Codec.decoding_table["227,249"] = [23526] let s:lib.Codec.decoding_table["227,250"] = [24713] let s:lib.Codec.decoding_table["227,251"] = [23529] let s:lib.Codec.decoding_table["227,252"] = [23563] let s:lib.Codec.decoding_table["227,253"] = [24515] let s:lib.Codec.decoding_table["227,254"] = [27777] let s:lib.Codec.decoding_table["228,161"] = [63858] let s:lib.Codec.decoding_table["228,162"] = [28145] let s:lib.Codec.decoding_table["228,163"] = [28683] let s:lib.Codec.decoding_table["228,164"] = [29978] let s:lib.Codec.decoding_table["228,165"] = [33455] let s:lib.Codec.decoding_table["228,166"] = [35574] let s:lib.Codec.decoding_table["228,167"] = [20160] let s:lib.Codec.decoding_table["228,168"] = [21313] let s:lib.Codec.decoding_table["228,169"] = [63859] let s:lib.Codec.decoding_table["228,170"] = [38617] let s:lib.Codec.decoding_table["228,171"] = [27663] let s:lib.Codec.decoding_table["228,172"] = [20126] let s:lib.Codec.decoding_table["228,173"] = [20420] let s:lib.Codec.decoding_table["228,174"] = [20818] let s:lib.Codec.decoding_table["228,175"] = [21854] let s:lib.Codec.decoding_table["228,176"] = [23077] let s:lib.Codec.decoding_table["228,177"] = [23784] let s:lib.Codec.decoding_table["228,178"] = [25105] let s:lib.Codec.decoding_table["228,179"] = [29273] let s:lib.Codec.decoding_table["228,180"] = [33469] let s:lib.Codec.decoding_table["228,181"] = [33706] let s:lib.Codec.decoding_table["228,182"] = [34558] let s:lib.Codec.decoding_table["228,183"] = [34905] let s:lib.Codec.decoding_table["228,184"] = [35357] let s:lib.Codec.decoding_table["228,185"] = [38463] let s:lib.Codec.decoding_table["228,186"] = [38597] let s:lib.Codec.decoding_table["228,187"] = [39187] let s:lib.Codec.decoding_table["228,188"] = [40201] let s:lib.Codec.decoding_table["228,189"] = [40285] let s:lib.Codec.decoding_table["228,190"] = [22538] let s:lib.Codec.decoding_table["228,191"] = [23731] let s:lib.Codec.decoding_table["228,192"] = [23997] let s:lib.Codec.decoding_table["228,193"] = [24132] let s:lib.Codec.decoding_table["228,194"] = [24801] let s:lib.Codec.decoding_table["228,195"] = [24853] let s:lib.Codec.decoding_table["228,196"] = [25569] let s:lib.Codec.decoding_table["228,197"] = [27138] let s:lib.Codec.decoding_table["228,198"] = [28197] let s:lib.Codec.decoding_table["228,199"] = [37122] let s:lib.Codec.decoding_table["228,200"] = [37716] let s:lib.Codec.decoding_table["228,201"] = [38990] let s:lib.Codec.decoding_table["228,202"] = [39952] let s:lib.Codec.decoding_table["228,203"] = [40823] let s:lib.Codec.decoding_table["228,204"] = [23433] let s:lib.Codec.decoding_table["228,205"] = [23736] let s:lib.Codec.decoding_table["228,206"] = [25353] let s:lib.Codec.decoding_table["228,207"] = [26191] let s:lib.Codec.decoding_table["228,208"] = [26696] let s:lib.Codec.decoding_table["228,209"] = [30524] let s:lib.Codec.decoding_table["228,210"] = [38593] let s:lib.Codec.decoding_table["228,211"] = [38797] let s:lib.Codec.decoding_table["228,212"] = [38996] let s:lib.Codec.decoding_table["228,213"] = [39839] let s:lib.Codec.decoding_table["228,214"] = [26017] let s:lib.Codec.decoding_table["228,215"] = [35585] let s:lib.Codec.decoding_table["228,216"] = [36555] let s:lib.Codec.decoding_table["228,217"] = [38332] let s:lib.Codec.decoding_table["228,218"] = [21813] let s:lib.Codec.decoding_table["228,219"] = [23721] let s:lib.Codec.decoding_table["228,220"] = [24022] let s:lib.Codec.decoding_table["228,221"] = [24245] let s:lib.Codec.decoding_table["228,222"] = [26263] let s:lib.Codec.decoding_table["228,223"] = [30284] let s:lib.Codec.decoding_table["228,224"] = [33780] let s:lib.Codec.decoding_table["228,225"] = [38343] let s:lib.Codec.decoding_table["228,226"] = [22739] let s:lib.Codec.decoding_table["228,227"] = [25276] let s:lib.Codec.decoding_table["228,228"] = [29390] let s:lib.Codec.decoding_table["228,229"] = [40232] let s:lib.Codec.decoding_table["228,230"] = [20208] let s:lib.Codec.decoding_table["228,231"] = [22830] let s:lib.Codec.decoding_table["228,232"] = [24591] let s:lib.Codec.decoding_table["228,233"] = [26171] let s:lib.Codec.decoding_table["228,234"] = [27523] let s:lib.Codec.decoding_table["228,235"] = [31207] let s:lib.Codec.decoding_table["228,236"] = [40230] let s:lib.Codec.decoding_table["228,237"] = [21395] let s:lib.Codec.decoding_table["228,238"] = [21696] let s:lib.Codec.decoding_table["228,239"] = [22467] let s:lib.Codec.decoding_table["228,240"] = [23830] let s:lib.Codec.decoding_table["228,241"] = [24859] let s:lib.Codec.decoding_table["228,242"] = [26326] let s:lib.Codec.decoding_table["228,243"] = [28079] let s:lib.Codec.decoding_table["228,244"] = [30861] let s:lib.Codec.decoding_table["228,245"] = [33406] let s:lib.Codec.decoding_table["228,246"] = [38552] let s:lib.Codec.decoding_table["228,247"] = [38724] let s:lib.Codec.decoding_table["228,248"] = [21380] let s:lib.Codec.decoding_table["228,249"] = [25212] let s:lib.Codec.decoding_table["228,250"] = [25494] let s:lib.Codec.decoding_table["228,251"] = [28082] let s:lib.Codec.decoding_table["228,252"] = [32266] let s:lib.Codec.decoding_table["228,253"] = [33099] let s:lib.Codec.decoding_table["228,254"] = [38989] let s:lib.Codec.decoding_table["229,161"] = [27387] let s:lib.Codec.decoding_table["229,162"] = [32588] let s:lib.Codec.decoding_table["229,163"] = [40367] let s:lib.Codec.decoding_table["229,164"] = [40474] let s:lib.Codec.decoding_table["229,165"] = [20063] let s:lib.Codec.decoding_table["229,166"] = [20539] let s:lib.Codec.decoding_table["229,167"] = [20918] let s:lib.Codec.decoding_table["229,168"] = [22812] let s:lib.Codec.decoding_table["229,169"] = [24825] let s:lib.Codec.decoding_table["229,170"] = [25590] let s:lib.Codec.decoding_table["229,171"] = [26928] let s:lib.Codec.decoding_table["229,172"] = [29242] let s:lib.Codec.decoding_table["229,173"] = [32822] let s:lib.Codec.decoding_table["229,174"] = [63860] let s:lib.Codec.decoding_table["229,175"] = [37326] let s:lib.Codec.decoding_table["229,176"] = [24369] let s:lib.Codec.decoding_table["229,177"] = [63861] let s:lib.Codec.decoding_table["229,178"] = [63862] let s:lib.Codec.decoding_table["229,179"] = [32004] let s:lib.Codec.decoding_table["229,180"] = [33509] let s:lib.Codec.decoding_table["229,181"] = [33903] let s:lib.Codec.decoding_table["229,182"] = [33979] let s:lib.Codec.decoding_table["229,183"] = [34277] let s:lib.Codec.decoding_table["229,184"] = [36493] let s:lib.Codec.decoding_table["229,185"] = [63863] let s:lib.Codec.decoding_table["229,186"] = [20335] let s:lib.Codec.decoding_table["229,187"] = [63864] let s:lib.Codec.decoding_table["229,188"] = [63865] let s:lib.Codec.decoding_table["229,189"] = [22756] let s:lib.Codec.decoding_table["229,190"] = [23363] let s:lib.Codec.decoding_table["229,191"] = [24665] let s:lib.Codec.decoding_table["229,192"] = [25562] let s:lib.Codec.decoding_table["229,193"] = [25880] let s:lib.Codec.decoding_table["229,194"] = [25965] let s:lib.Codec.decoding_table["229,195"] = [26264] let s:lib.Codec.decoding_table["229,196"] = [63866] let s:lib.Codec.decoding_table["229,197"] = [26954] let s:lib.Codec.decoding_table["229,198"] = [27171] let s:lib.Codec.decoding_table["229,199"] = [27915] let s:lib.Codec.decoding_table["229,200"] = [28673] let s:lib.Codec.decoding_table["229,201"] = [29036] let s:lib.Codec.decoding_table["229,202"] = [30162] let s:lib.Codec.decoding_table["229,203"] = [30221] let s:lib.Codec.decoding_table["229,204"] = [31155] let s:lib.Codec.decoding_table["229,205"] = [31344] let s:lib.Codec.decoding_table["229,206"] = [63867] let s:lib.Codec.decoding_table["229,207"] = [32650] let s:lib.Codec.decoding_table["229,208"] = [63868] let s:lib.Codec.decoding_table["229,209"] = [35140] let s:lib.Codec.decoding_table["229,210"] = [63869] let s:lib.Codec.decoding_table["229,211"] = [35731] let s:lib.Codec.decoding_table["229,212"] = [37312] let s:lib.Codec.decoding_table["229,213"] = [38525] let s:lib.Codec.decoding_table["229,214"] = [63870] let s:lib.Codec.decoding_table["229,215"] = [39178] let s:lib.Codec.decoding_table["229,216"] = [22276] let s:lib.Codec.decoding_table["229,217"] = [24481] let s:lib.Codec.decoding_table["229,218"] = [26044] let s:lib.Codec.decoding_table["229,219"] = [28417] let s:lib.Codec.decoding_table["229,220"] = [30208] let s:lib.Codec.decoding_table["229,221"] = [31142] let s:lib.Codec.decoding_table["229,222"] = [35486] let s:lib.Codec.decoding_table["229,223"] = [39341] let s:lib.Codec.decoding_table["229,224"] = [39770] let s:lib.Codec.decoding_table["229,225"] = [40812] let s:lib.Codec.decoding_table["229,226"] = [20740] let s:lib.Codec.decoding_table["229,227"] = [25014] let s:lib.Codec.decoding_table["229,228"] = [25233] let s:lib.Codec.decoding_table["229,229"] = [27277] let s:lib.Codec.decoding_table["229,230"] = [33222] let s:lib.Codec.decoding_table["229,231"] = [20547] let s:lib.Codec.decoding_table["229,232"] = [22576] let s:lib.Codec.decoding_table["229,233"] = [24422] let s:lib.Codec.decoding_table["229,234"] = [28937] let s:lib.Codec.decoding_table["229,235"] = [35328] let s:lib.Codec.decoding_table["229,236"] = [35578] let s:lib.Codec.decoding_table["229,237"] = [23420] let s:lib.Codec.decoding_table["229,238"] = [34326] let s:lib.Codec.decoding_table["229,239"] = [20474] let s:lib.Codec.decoding_table["229,240"] = [20796] let s:lib.Codec.decoding_table["229,241"] = [22196] let s:lib.Codec.decoding_table["229,242"] = [22852] let s:lib.Codec.decoding_table["229,243"] = [25513] let s:lib.Codec.decoding_table["229,244"] = [28153] let s:lib.Codec.decoding_table["229,245"] = [23978] let s:lib.Codec.decoding_table["229,246"] = [26989] let s:lib.Codec.decoding_table["229,247"] = [20870] let s:lib.Codec.decoding_table["229,248"] = [20104] let s:lib.Codec.decoding_table["229,249"] = [20313] let s:lib.Codec.decoding_table["229,250"] = [63871] let s:lib.Codec.decoding_table["229,251"] = [63872] let s:lib.Codec.decoding_table["229,252"] = [63873] let s:lib.Codec.decoding_table["229,253"] = [22914] let s:lib.Codec.decoding_table["229,254"] = [63874] let s:lib.Codec.decoding_table["230,161"] = [63875] let s:lib.Codec.decoding_table["230,162"] = [27487] let s:lib.Codec.decoding_table["230,163"] = [27741] let s:lib.Codec.decoding_table["230,164"] = [63876] let s:lib.Codec.decoding_table["230,165"] = [29877] let s:lib.Codec.decoding_table["230,166"] = [30998] let s:lib.Codec.decoding_table["230,167"] = [63877] let s:lib.Codec.decoding_table["230,168"] = [33287] let s:lib.Codec.decoding_table["230,169"] = [33349] let s:lib.Codec.decoding_table["230,170"] = [33593] let s:lib.Codec.decoding_table["230,171"] = [36671] let s:lib.Codec.decoding_table["230,172"] = [36701] let s:lib.Codec.decoding_table["230,173"] = [63878] let s:lib.Codec.decoding_table["230,174"] = [39192] let s:lib.Codec.decoding_table["230,175"] = [63879] let s:lib.Codec.decoding_table["230,176"] = [63880] let s:lib.Codec.decoding_table["230,177"] = [63881] let s:lib.Codec.decoding_table["230,178"] = [20134] let s:lib.Codec.decoding_table["230,179"] = [63882] let s:lib.Codec.decoding_table["230,180"] = [22495] let s:lib.Codec.decoding_table["230,181"] = [24441] let s:lib.Codec.decoding_table["230,182"] = [26131] let s:lib.Codec.decoding_table["230,183"] = [63883] let s:lib.Codec.decoding_table["230,184"] = [63884] let s:lib.Codec.decoding_table["230,185"] = [30123] let s:lib.Codec.decoding_table["230,186"] = [32377] let s:lib.Codec.decoding_table["230,187"] = [35695] let s:lib.Codec.decoding_table["230,188"] = [63885] let s:lib.Codec.decoding_table["230,189"] = [36870] let s:lib.Codec.decoding_table["230,190"] = [39515] let s:lib.Codec.decoding_table["230,191"] = [22181] let s:lib.Codec.decoding_table["230,192"] = [22567] let s:lib.Codec.decoding_table["230,193"] = [23032] let s:lib.Codec.decoding_table["230,194"] = [23071] let s:lib.Codec.decoding_table["230,195"] = [23476] let s:lib.Codec.decoding_table["230,196"] = [63886] let s:lib.Codec.decoding_table["230,197"] = [24310] let s:lib.Codec.decoding_table["230,198"] = [63887] let s:lib.Codec.decoding_table["230,199"] = [63888] let s:lib.Codec.decoding_table["230,200"] = [25424] let s:lib.Codec.decoding_table["230,201"] = [25403] let s:lib.Codec.decoding_table["230,202"] = [63889] let s:lib.Codec.decoding_table["230,203"] = [26941] let s:lib.Codec.decoding_table["230,204"] = [27783] let s:lib.Codec.decoding_table["230,205"] = [27839] let s:lib.Codec.decoding_table["230,206"] = [28046] let s:lib.Codec.decoding_table["230,207"] = [28051] let s:lib.Codec.decoding_table["230,208"] = [28149] let s:lib.Codec.decoding_table["230,209"] = [28436] let s:lib.Codec.decoding_table["230,210"] = [63890] let s:lib.Codec.decoding_table["230,211"] = [28895] let s:lib.Codec.decoding_table["230,212"] = [28982] let s:lib.Codec.decoding_table["230,213"] = [29017] let s:lib.Codec.decoding_table["230,214"] = [63891] let s:lib.Codec.decoding_table["230,215"] = [29123] let s:lib.Codec.decoding_table["230,216"] = [29141] let s:lib.Codec.decoding_table["230,217"] = [63892] let s:lib.Codec.decoding_table["230,218"] = [30799] let s:lib.Codec.decoding_table["230,219"] = [30831] let s:lib.Codec.decoding_table["230,220"] = [63893] let s:lib.Codec.decoding_table["230,221"] = [31605] let s:lib.Codec.decoding_table["230,222"] = [32227] let s:lib.Codec.decoding_table["230,223"] = [63894] let s:lib.Codec.decoding_table["230,224"] = [32303] let s:lib.Codec.decoding_table["230,225"] = [63895] let s:lib.Codec.decoding_table["230,226"] = [34893] let s:lib.Codec.decoding_table["230,227"] = [36575] let s:lib.Codec.decoding_table["230,228"] = [63896] let s:lib.Codec.decoding_table["230,229"] = [63897] let s:lib.Codec.decoding_table["230,230"] = [63898] let s:lib.Codec.decoding_table["230,231"] = [37467] let s:lib.Codec.decoding_table["230,232"] = [63899] let s:lib.Codec.decoding_table["230,233"] = [40182] let s:lib.Codec.decoding_table["230,234"] = [63900] let s:lib.Codec.decoding_table["230,235"] = [63901] let s:lib.Codec.decoding_table["230,236"] = [63902] let s:lib.Codec.decoding_table["230,237"] = [24709] let s:lib.Codec.decoding_table["230,238"] = [28037] let s:lib.Codec.decoding_table["230,239"] = [63903] let s:lib.Codec.decoding_table["230,240"] = [29105] let s:lib.Codec.decoding_table["230,241"] = [63904] let s:lib.Codec.decoding_table["230,242"] = [63905] let s:lib.Codec.decoding_table["230,243"] = [38321] let s:lib.Codec.decoding_table["230,244"] = [21421] let s:lib.Codec.decoding_table["230,245"] = [63906] let s:lib.Codec.decoding_table["230,246"] = [63907] let s:lib.Codec.decoding_table["230,247"] = [63908] let s:lib.Codec.decoding_table["230,248"] = [26579] let s:lib.Codec.decoding_table["230,249"] = [63909] let s:lib.Codec.decoding_table["230,250"] = [28814] let s:lib.Codec.decoding_table["230,251"] = [28976] let s:lib.Codec.decoding_table["230,252"] = [29744] let s:lib.Codec.decoding_table["230,253"] = [33398] let s:lib.Codec.decoding_table["230,254"] = [33490] let s:lib.Codec.decoding_table["231,161"] = [63910] let s:lib.Codec.decoding_table["231,162"] = [38331] let s:lib.Codec.decoding_table["231,163"] = [39653] let s:lib.Codec.decoding_table["231,164"] = [40573] let s:lib.Codec.decoding_table["231,165"] = [26308] let s:lib.Codec.decoding_table["231,166"] = [63911] let s:lib.Codec.decoding_table["231,167"] = [29121] let s:lib.Codec.decoding_table["231,168"] = [33865] let s:lib.Codec.decoding_table["231,169"] = [63912] let s:lib.Codec.decoding_table["231,170"] = [63913] let s:lib.Codec.decoding_table["231,171"] = [22603] let s:lib.Codec.decoding_table["231,172"] = [63914] let s:lib.Codec.decoding_table["231,173"] = [63915] let s:lib.Codec.decoding_table["231,174"] = [23992] let s:lib.Codec.decoding_table["231,175"] = [24433] let s:lib.Codec.decoding_table["231,176"] = [63916] let s:lib.Codec.decoding_table["231,177"] = [26144] let s:lib.Codec.decoding_table["231,178"] = [26254] let s:lib.Codec.decoding_table["231,179"] = [27001] let s:lib.Codec.decoding_table["231,180"] = [27054] let s:lib.Codec.decoding_table["231,181"] = [27704] let s:lib.Codec.decoding_table["231,182"] = [27891] let s:lib.Codec.decoding_table["231,183"] = [28214] let s:lib.Codec.decoding_table["231,184"] = [28481] let s:lib.Codec.decoding_table["231,185"] = [28634] let s:lib.Codec.decoding_table["231,186"] = [28699] let s:lib.Codec.decoding_table["231,187"] = [28719] let s:lib.Codec.decoding_table["231,188"] = [29008] let s:lib.Codec.decoding_table["231,189"] = [29151] let s:lib.Codec.decoding_table["231,190"] = [29552] let s:lib.Codec.decoding_table["231,191"] = [63917] let s:lib.Codec.decoding_table["231,192"] = [29787] let s:lib.Codec.decoding_table["231,193"] = [63918] let s:lib.Codec.decoding_table["231,194"] = [29908] let s:lib.Codec.decoding_table["231,195"] = [30408] let s:lib.Codec.decoding_table["231,196"] = [31310] let s:lib.Codec.decoding_table["231,197"] = [32403] let s:lib.Codec.decoding_table["231,198"] = [63919] let s:lib.Codec.decoding_table["231,199"] = [63920] let s:lib.Codec.decoding_table["231,200"] = [33521] let s:lib.Codec.decoding_table["231,201"] = [35424] let s:lib.Codec.decoding_table["231,202"] = [36814] let s:lib.Codec.decoding_table["231,203"] = [63921] let s:lib.Codec.decoding_table["231,204"] = [37704] let s:lib.Codec.decoding_table["231,205"] = [63922] let s:lib.Codec.decoding_table["231,206"] = [38681] let s:lib.Codec.decoding_table["231,207"] = [63923] let s:lib.Codec.decoding_table["231,208"] = [63924] let s:lib.Codec.decoding_table["231,209"] = [20034] let s:lib.Codec.decoding_table["231,210"] = [20522] let s:lib.Codec.decoding_table["231,211"] = [63925] let s:lib.Codec.decoding_table["231,212"] = [21000] let s:lib.Codec.decoding_table["231,213"] = [21473] let s:lib.Codec.decoding_table["231,214"] = [26355] let s:lib.Codec.decoding_table["231,215"] = [27757] let s:lib.Codec.decoding_table["231,216"] = [28618] let s:lib.Codec.decoding_table["231,217"] = [29450] let s:lib.Codec.decoding_table["231,218"] = [30591] let s:lib.Codec.decoding_table["231,219"] = [31330] let s:lib.Codec.decoding_table["231,220"] = [33454] let s:lib.Codec.decoding_table["231,221"] = [34269] let s:lib.Codec.decoding_table["231,222"] = [34306] let s:lib.Codec.decoding_table["231,223"] = [63926] let s:lib.Codec.decoding_table["231,224"] = [35028] let s:lib.Codec.decoding_table["231,225"] = [35427] let s:lib.Codec.decoding_table["231,226"] = [35709] let s:lib.Codec.decoding_table["231,227"] = [35947] let s:lib.Codec.decoding_table["231,228"] = [63927] let s:lib.Codec.decoding_table["231,229"] = [37555] let s:lib.Codec.decoding_table["231,230"] = [63928] let s:lib.Codec.decoding_table["231,231"] = [38675] let s:lib.Codec.decoding_table["231,232"] = [38928] let s:lib.Codec.decoding_table["231,233"] = [20116] let s:lib.Codec.decoding_table["231,234"] = [20237] let s:lib.Codec.decoding_table["231,235"] = [20425] let s:lib.Codec.decoding_table["231,236"] = [20658] let s:lib.Codec.decoding_table["231,237"] = [21320] let s:lib.Codec.decoding_table["231,238"] = [21566] let s:lib.Codec.decoding_table["231,239"] = [21555] let s:lib.Codec.decoding_table["231,240"] = [21978] let s:lib.Codec.decoding_table["231,241"] = [22626] let s:lib.Codec.decoding_table["231,242"] = [22714] let s:lib.Codec.decoding_table["231,243"] = [22887] let s:lib.Codec.decoding_table["231,244"] = [23067] let s:lib.Codec.decoding_table["231,245"] = [23524] let s:lib.Codec.decoding_table["231,246"] = [24735] let s:lib.Codec.decoding_table["231,247"] = [63929] let s:lib.Codec.decoding_table["231,248"] = [25034] let s:lib.Codec.decoding_table["231,249"] = [25942] let s:lib.Codec.decoding_table["231,250"] = [26111] let s:lib.Codec.decoding_table["231,251"] = [26212] let s:lib.Codec.decoding_table["231,252"] = [26791] let s:lib.Codec.decoding_table["231,253"] = [27738] let s:lib.Codec.decoding_table["231,254"] = [28595] let s:lib.Codec.decoding_table["232,161"] = [28879] let s:lib.Codec.decoding_table["232,162"] = [29100] let s:lib.Codec.decoding_table["232,163"] = [29522] let s:lib.Codec.decoding_table["232,164"] = [31613] let s:lib.Codec.decoding_table["232,165"] = [34568] let s:lib.Codec.decoding_table["232,166"] = [35492] let s:lib.Codec.decoding_table["232,167"] = [39986] let s:lib.Codec.decoding_table["232,168"] = [40711] let s:lib.Codec.decoding_table["232,169"] = [23627] let s:lib.Codec.decoding_table["232,170"] = [27779] let s:lib.Codec.decoding_table["232,171"] = [29508] let s:lib.Codec.decoding_table["232,172"] = [29577] let s:lib.Codec.decoding_table["232,173"] = [37434] let s:lib.Codec.decoding_table["232,174"] = [28331] let s:lib.Codec.decoding_table["232,175"] = [29797] let s:lib.Codec.decoding_table["232,176"] = [30239] let s:lib.Codec.decoding_table["232,177"] = [31337] let s:lib.Codec.decoding_table["232,178"] = [32277] let s:lib.Codec.decoding_table["232,179"] = [34314] let s:lib.Codec.decoding_table["232,180"] = [20800] let s:lib.Codec.decoding_table["232,181"] = [22725] let s:lib.Codec.decoding_table["232,182"] = [25793] let s:lib.Codec.decoding_table["232,183"] = [29934] let s:lib.Codec.decoding_table["232,184"] = [29973] let s:lib.Codec.decoding_table["232,185"] = [30320] let s:lib.Codec.decoding_table["232,186"] = [32705] let s:lib.Codec.decoding_table["232,187"] = [37013] let s:lib.Codec.decoding_table["232,188"] = [38605] let s:lib.Codec.decoding_table["232,189"] = [39252] let s:lib.Codec.decoding_table["232,190"] = [28198] let s:lib.Codec.decoding_table["232,191"] = [29926] let s:lib.Codec.decoding_table["232,192"] = [31401] let s:lib.Codec.decoding_table["232,193"] = [31402] let s:lib.Codec.decoding_table["232,194"] = [33253] let s:lib.Codec.decoding_table["232,195"] = [34521] let s:lib.Codec.decoding_table["232,196"] = [34680] let s:lib.Codec.decoding_table["232,197"] = [35355] let s:lib.Codec.decoding_table["232,198"] = [23113] let s:lib.Codec.decoding_table["232,199"] = [23436] let s:lib.Codec.decoding_table["232,200"] = [23451] let s:lib.Codec.decoding_table["232,201"] = [26785] let s:lib.Codec.decoding_table["232,202"] = [26880] let s:lib.Codec.decoding_table["232,203"] = [28003] let s:lib.Codec.decoding_table["232,204"] = [29609] let s:lib.Codec.decoding_table["232,205"] = [29715] let s:lib.Codec.decoding_table["232,206"] = [29740] let s:lib.Codec.decoding_table["232,207"] = [30871] let s:lib.Codec.decoding_table["232,208"] = [32233] let s:lib.Codec.decoding_table["232,209"] = [32747] let s:lib.Codec.decoding_table["232,210"] = [33048] let s:lib.Codec.decoding_table["232,211"] = [33109] let s:lib.Codec.decoding_table["232,212"] = [33694] let s:lib.Codec.decoding_table["232,213"] = [35916] let s:lib.Codec.decoding_table["232,214"] = [38446] let s:lib.Codec.decoding_table["232,215"] = [38929] let s:lib.Codec.decoding_table["232,216"] = [26352] let s:lib.Codec.decoding_table["232,217"] = [24448] let s:lib.Codec.decoding_table["232,218"] = [26106] let s:lib.Codec.decoding_table["232,219"] = [26505] let s:lib.Codec.decoding_table["232,220"] = [27754] let s:lib.Codec.decoding_table["232,221"] = [29579] let s:lib.Codec.decoding_table["232,222"] = [20525] let s:lib.Codec.decoding_table["232,223"] = [23043] let s:lib.Codec.decoding_table["232,224"] = [27498] let s:lib.Codec.decoding_table["232,225"] = [30702] let s:lib.Codec.decoding_table["232,226"] = [22806] let s:lib.Codec.decoding_table["232,227"] = [23916] let s:lib.Codec.decoding_table["232,228"] = [24013] let s:lib.Codec.decoding_table["232,229"] = [29477] let s:lib.Codec.decoding_table["232,230"] = [30031] let s:lib.Codec.decoding_table["232,231"] = [63930] let s:lib.Codec.decoding_table["232,232"] = [63931] let s:lib.Codec.decoding_table["232,233"] = [20709] let s:lib.Codec.decoding_table["232,234"] = [20985] let s:lib.Codec.decoding_table["232,235"] = [22575] let s:lib.Codec.decoding_table["232,236"] = [22829] let s:lib.Codec.decoding_table["232,237"] = [22934] let s:lib.Codec.decoding_table["232,238"] = [23002] let s:lib.Codec.decoding_table["232,239"] = [23525] let s:lib.Codec.decoding_table["232,240"] = [63932] let s:lib.Codec.decoding_table["232,241"] = [63933] let s:lib.Codec.decoding_table["232,242"] = [23970] let s:lib.Codec.decoding_table["232,243"] = [25303] let s:lib.Codec.decoding_table["232,244"] = [25622] let s:lib.Codec.decoding_table["232,245"] = [25747] let s:lib.Codec.decoding_table["232,246"] = [25854] let s:lib.Codec.decoding_table["232,247"] = [63934] let s:lib.Codec.decoding_table["232,248"] = [26332] let s:lib.Codec.decoding_table["232,249"] = [63935] let s:lib.Codec.decoding_table["232,250"] = [27208] let s:lib.Codec.decoding_table["232,251"] = [63936] let s:lib.Codec.decoding_table["232,252"] = [29183] let s:lib.Codec.decoding_table["232,253"] = [29796] let s:lib.Codec.decoding_table["232,254"] = [63937] let s:lib.Codec.decoding_table["233,161"] = [31368] let s:lib.Codec.decoding_table["233,162"] = [31407] let s:lib.Codec.decoding_table["233,163"] = [32327] let s:lib.Codec.decoding_table["233,164"] = [32350] let s:lib.Codec.decoding_table["233,165"] = [32768] let s:lib.Codec.decoding_table["233,166"] = [33136] let s:lib.Codec.decoding_table["233,167"] = [63938] let s:lib.Codec.decoding_table["233,168"] = [34799] let s:lib.Codec.decoding_table["233,169"] = [35201] let s:lib.Codec.decoding_table["233,170"] = [35616] let s:lib.Codec.decoding_table["233,171"] = [36953] let s:lib.Codec.decoding_table["233,172"] = [63939] let s:lib.Codec.decoding_table["233,173"] = [36992] let s:lib.Codec.decoding_table["233,174"] = [39250] let s:lib.Codec.decoding_table["233,175"] = [24958] let s:lib.Codec.decoding_table["233,176"] = [27442] let s:lib.Codec.decoding_table["233,177"] = [28020] let s:lib.Codec.decoding_table["233,178"] = [32287] let s:lib.Codec.decoding_table["233,179"] = [35109] let s:lib.Codec.decoding_table["233,180"] = [36785] let s:lib.Codec.decoding_table["233,181"] = [20433] let s:lib.Codec.decoding_table["233,182"] = [20653] let s:lib.Codec.decoding_table["233,183"] = [20887] let s:lib.Codec.decoding_table["233,184"] = [21191] let s:lib.Codec.decoding_table["233,185"] = [22471] let s:lib.Codec.decoding_table["233,186"] = [22665] let s:lib.Codec.decoding_table["233,187"] = [23481] let s:lib.Codec.decoding_table["233,188"] = [24248] let s:lib.Codec.decoding_table["233,189"] = [24898] let s:lib.Codec.decoding_table["233,190"] = [27029] let s:lib.Codec.decoding_table["233,191"] = [28044] let s:lib.Codec.decoding_table["233,192"] = [28263] let s:lib.Codec.decoding_table["233,193"] = [28342] let s:lib.Codec.decoding_table["233,194"] = [29076] let s:lib.Codec.decoding_table["233,195"] = [29794] let s:lib.Codec.decoding_table["233,196"] = [29992] let s:lib.Codec.decoding_table["233,197"] = [29996] let s:lib.Codec.decoding_table["233,198"] = [32883] let s:lib.Codec.decoding_table["233,199"] = [33592] let s:lib.Codec.decoding_table["233,200"] = [33993] let s:lib.Codec.decoding_table["233,201"] = [36362] let s:lib.Codec.decoding_table["233,202"] = [37780] let s:lib.Codec.decoding_table["233,203"] = [37854] let s:lib.Codec.decoding_table["233,204"] = [63940] let s:lib.Codec.decoding_table["233,205"] = [20110] let s:lib.Codec.decoding_table["233,206"] = [20305] let s:lib.Codec.decoding_table["233,207"] = [20598] let s:lib.Codec.decoding_table["233,208"] = [20778] let s:lib.Codec.decoding_table["233,209"] = [21448] let s:lib.Codec.decoding_table["233,210"] = [21451] let s:lib.Codec.decoding_table["233,211"] = [21491] let s:lib.Codec.decoding_table["233,212"] = [23431] let s:lib.Codec.decoding_table["233,213"] = [23507] let s:lib.Codec.decoding_table["233,214"] = [23588] let s:lib.Codec.decoding_table["233,215"] = [24858] let s:lib.Codec.decoding_table["233,216"] = [24962] let s:lib.Codec.decoding_table["233,217"] = [26100] let s:lib.Codec.decoding_table["233,218"] = [29275] let s:lib.Codec.decoding_table["233,219"] = [29591] let s:lib.Codec.decoding_table["233,220"] = [29760] let s:lib.Codec.decoding_table["233,221"] = [30402] let s:lib.Codec.decoding_table["233,222"] = [31056] let s:lib.Codec.decoding_table["233,223"] = [31121] let s:lib.Codec.decoding_table["233,224"] = [31161] let s:lib.Codec.decoding_table["233,225"] = [32006] let s:lib.Codec.decoding_table["233,226"] = [32701] let s:lib.Codec.decoding_table["233,227"] = [33419] let s:lib.Codec.decoding_table["233,228"] = [34261] let s:lib.Codec.decoding_table["233,229"] = [34398] let s:lib.Codec.decoding_table["233,230"] = [36802] let s:lib.Codec.decoding_table["233,231"] = [36935] let s:lib.Codec.decoding_table["233,232"] = [37109] let s:lib.Codec.decoding_table["233,233"] = [37354] let s:lib.Codec.decoding_table["233,234"] = [38533] let s:lib.Codec.decoding_table["233,235"] = [38632] let s:lib.Codec.decoding_table["233,236"] = [38633] let s:lib.Codec.decoding_table["233,237"] = [21206] let s:lib.Codec.decoding_table["233,238"] = [24423] let s:lib.Codec.decoding_table["233,239"] = [26093] let s:lib.Codec.decoding_table["233,240"] = [26161] let s:lib.Codec.decoding_table["233,241"] = [26671] let s:lib.Codec.decoding_table["233,242"] = [29020] let s:lib.Codec.decoding_table["233,243"] = [31286] let s:lib.Codec.decoding_table["233,244"] = [37057] let s:lib.Codec.decoding_table["233,245"] = [38922] let s:lib.Codec.decoding_table["233,246"] = [20113] let s:lib.Codec.decoding_table["233,247"] = [63941] let s:lib.Codec.decoding_table["233,248"] = [27218] let s:lib.Codec.decoding_table["233,249"] = [27550] let s:lib.Codec.decoding_table["233,250"] = [28560] let s:lib.Codec.decoding_table["233,251"] = [29065] let s:lib.Codec.decoding_table["233,252"] = [32792] let s:lib.Codec.decoding_table["233,253"] = [33464] let s:lib.Codec.decoding_table["233,254"] = [34131] let s:lib.Codec.decoding_table["234,161"] = [36939] let s:lib.Codec.decoding_table["234,162"] = [38549] let s:lib.Codec.decoding_table["234,163"] = [38642] let s:lib.Codec.decoding_table["234,164"] = [38907] let s:lib.Codec.decoding_table["234,165"] = [34074] let s:lib.Codec.decoding_table["234,166"] = [39729] let s:lib.Codec.decoding_table["234,167"] = [20112] let s:lib.Codec.decoding_table["234,168"] = [29066] let s:lib.Codec.decoding_table["234,169"] = [38596] let s:lib.Codec.decoding_table["234,170"] = [20803] let s:lib.Codec.decoding_table["234,171"] = [21407] let s:lib.Codec.decoding_table["234,172"] = [21729] let s:lib.Codec.decoding_table["234,173"] = [22291] let s:lib.Codec.decoding_table["234,174"] = [22290] let s:lib.Codec.decoding_table["234,175"] = [22435] let s:lib.Codec.decoding_table["234,176"] = [23195] let s:lib.Codec.decoding_table["234,177"] = [23236] let s:lib.Codec.decoding_table["234,178"] = [23491] let s:lib.Codec.decoding_table["234,179"] = [24616] let s:lib.Codec.decoding_table["234,180"] = [24895] let s:lib.Codec.decoding_table["234,181"] = [25588] let s:lib.Codec.decoding_table["234,182"] = [27781] let s:lib.Codec.decoding_table["234,183"] = [27961] let s:lib.Codec.decoding_table["234,184"] = [28274] let s:lib.Codec.decoding_table["234,185"] = [28304] let s:lib.Codec.decoding_table["234,186"] = [29232] let s:lib.Codec.decoding_table["234,187"] = [29503] let s:lib.Codec.decoding_table["234,188"] = [29783] let s:lib.Codec.decoding_table["234,189"] = [33489] let s:lib.Codec.decoding_table["234,190"] = [34945] let s:lib.Codec.decoding_table["234,191"] = [36677] let s:lib.Codec.decoding_table["234,192"] = [36960] let s:lib.Codec.decoding_table["234,193"] = [63942] let s:lib.Codec.decoding_table["234,194"] = [38498] let s:lib.Codec.decoding_table["234,195"] = [39000] let s:lib.Codec.decoding_table["234,196"] = [40219] let s:lib.Codec.decoding_table["234,197"] = [26376] let s:lib.Codec.decoding_table["234,198"] = [36234] let s:lib.Codec.decoding_table["234,199"] = [37470] let s:lib.Codec.decoding_table["234,200"] = [20301] let s:lib.Codec.decoding_table["234,201"] = [20553] let s:lib.Codec.decoding_table["234,202"] = [20702] let s:lib.Codec.decoding_table["234,203"] = [21361] let s:lib.Codec.decoding_table["234,204"] = [22285] let s:lib.Codec.decoding_table["234,205"] = [22996] let s:lib.Codec.decoding_table["234,206"] = [23041] let s:lib.Codec.decoding_table["234,207"] = [23561] let s:lib.Codec.decoding_table["234,208"] = [24944] let s:lib.Codec.decoding_table["234,209"] = [26256] let s:lib.Codec.decoding_table["234,210"] = [28205] let s:lib.Codec.decoding_table["234,211"] = [29234] let s:lib.Codec.decoding_table["234,212"] = [29771] let s:lib.Codec.decoding_table["234,213"] = [32239] let s:lib.Codec.decoding_table["234,214"] = [32963] let s:lib.Codec.decoding_table["234,215"] = [33806] let s:lib.Codec.decoding_table["234,216"] = [33894] let s:lib.Codec.decoding_table["234,217"] = [34111] let s:lib.Codec.decoding_table["234,218"] = [34655] let s:lib.Codec.decoding_table["234,219"] = [34907] let s:lib.Codec.decoding_table["234,220"] = [35096] let s:lib.Codec.decoding_table["234,221"] = [35586] let s:lib.Codec.decoding_table["234,222"] = [36949] let s:lib.Codec.decoding_table["234,223"] = [38859] let s:lib.Codec.decoding_table["234,224"] = [39759] let s:lib.Codec.decoding_table["234,225"] = [20083] let s:lib.Codec.decoding_table["234,226"] = [20369] let s:lib.Codec.decoding_table["234,227"] = [20754] let s:lib.Codec.decoding_table["234,228"] = [20842] let s:lib.Codec.decoding_table["234,229"] = [63943] let s:lib.Codec.decoding_table["234,230"] = [21807] let s:lib.Codec.decoding_table["234,231"] = [21929] let s:lib.Codec.decoding_table["234,232"] = [23418] let s:lib.Codec.decoding_table["234,233"] = [23461] let s:lib.Codec.decoding_table["234,234"] = [24188] let s:lib.Codec.decoding_table["234,235"] = [24189] let s:lib.Codec.decoding_table["234,236"] = [24254] let s:lib.Codec.decoding_table["234,237"] = [24736] let s:lib.Codec.decoding_table["234,238"] = [24799] let s:lib.Codec.decoding_table["234,239"] = [24840] let s:lib.Codec.decoding_table["234,240"] = [24841] let s:lib.Codec.decoding_table["234,241"] = [25540] let s:lib.Codec.decoding_table["234,242"] = [25912] let s:lib.Codec.decoding_table["234,243"] = [26377] let s:lib.Codec.decoding_table["234,244"] = [63944] let s:lib.Codec.decoding_table["234,245"] = [26580] let s:lib.Codec.decoding_table["234,246"] = [26586] let s:lib.Codec.decoding_table["234,247"] = [63945] let s:lib.Codec.decoding_table["234,248"] = [26977] let s:lib.Codec.decoding_table["234,249"] = [26978] let s:lib.Codec.decoding_table["234,250"] = [27833] let s:lib.Codec.decoding_table["234,251"] = [27943] let s:lib.Codec.decoding_table["234,252"] = [63946] let s:lib.Codec.decoding_table["234,253"] = [28216] let s:lib.Codec.decoding_table["234,254"] = [63947] let s:lib.Codec.decoding_table["235,161"] = [28641] let s:lib.Codec.decoding_table["235,162"] = [29494] let s:lib.Codec.decoding_table["235,163"] = [29495] let s:lib.Codec.decoding_table["235,164"] = [63948] let s:lib.Codec.decoding_table["235,165"] = [29788] let s:lib.Codec.decoding_table["235,166"] = [30001] let s:lib.Codec.decoding_table["235,167"] = [63949] let s:lib.Codec.decoding_table["235,168"] = [30290] let s:lib.Codec.decoding_table["235,169"] = [63950] let s:lib.Codec.decoding_table["235,170"] = [63951] let s:lib.Codec.decoding_table["235,171"] = [32173] let s:lib.Codec.decoding_table["235,172"] = [33278] let s:lib.Codec.decoding_table["235,173"] = [33848] let s:lib.Codec.decoding_table["235,174"] = [35029] let s:lib.Codec.decoding_table["235,175"] = [35480] let s:lib.Codec.decoding_table["235,176"] = [35547] let s:lib.Codec.decoding_table["235,177"] = [35565] let s:lib.Codec.decoding_table["235,178"] = [36400] let s:lib.Codec.decoding_table["235,179"] = [36418] let s:lib.Codec.decoding_table["235,180"] = [36938] let s:lib.Codec.decoding_table["235,181"] = [36926] let s:lib.Codec.decoding_table["235,182"] = [36986] let s:lib.Codec.decoding_table["235,183"] = [37193] let s:lib.Codec.decoding_table["235,184"] = [37321] let s:lib.Codec.decoding_table["235,185"] = [37742] let s:lib.Codec.decoding_table["235,186"] = [63952] let s:lib.Codec.decoding_table["235,187"] = [63953] let s:lib.Codec.decoding_table["235,188"] = [22537] let s:lib.Codec.decoding_table["235,189"] = [63954] let s:lib.Codec.decoding_table["235,190"] = [27603] let s:lib.Codec.decoding_table["235,191"] = [32905] let s:lib.Codec.decoding_table["235,192"] = [32946] let s:lib.Codec.decoding_table["235,193"] = [63955] let s:lib.Codec.decoding_table["235,194"] = [63956] let s:lib.Codec.decoding_table["235,195"] = [20801] let s:lib.Codec.decoding_table["235,196"] = [22891] let s:lib.Codec.decoding_table["235,197"] = [23609] let s:lib.Codec.decoding_table["235,198"] = [63957] let s:lib.Codec.decoding_table["235,199"] = [63958] let s:lib.Codec.decoding_table["235,200"] = [28516] let s:lib.Codec.decoding_table["235,201"] = [29607] let s:lib.Codec.decoding_table["235,202"] = [32996] let s:lib.Codec.decoding_table["235,203"] = [36103] let s:lib.Codec.decoding_table["235,204"] = [63959] let s:lib.Codec.decoding_table["235,205"] = [37399] let s:lib.Codec.decoding_table["235,206"] = [38287] let s:lib.Codec.decoding_table["235,207"] = [63960] let s:lib.Codec.decoding_table["235,208"] = [63961] let s:lib.Codec.decoding_table["235,209"] = [63962] let s:lib.Codec.decoding_table["235,210"] = [63963] let s:lib.Codec.decoding_table["235,211"] = [32895] let s:lib.Codec.decoding_table["235,212"] = [25102] let s:lib.Codec.decoding_table["235,213"] = [28700] let s:lib.Codec.decoding_table["235,214"] = [32104] let s:lib.Codec.decoding_table["235,215"] = [34701] let s:lib.Codec.decoding_table["235,216"] = [63964] let s:lib.Codec.decoding_table["235,217"] = [22432] let s:lib.Codec.decoding_table["235,218"] = [24681] let s:lib.Codec.decoding_table["235,219"] = [24903] let s:lib.Codec.decoding_table["235,220"] = [27575] let s:lib.Codec.decoding_table["235,221"] = [35518] let s:lib.Codec.decoding_table["235,222"] = [37504] let s:lib.Codec.decoding_table["235,223"] = [38577] let s:lib.Codec.decoding_table["235,224"] = [20057] let s:lib.Codec.decoding_table["235,225"] = [21535] let s:lib.Codec.decoding_table["235,226"] = [28139] let s:lib.Codec.decoding_table["235,227"] = [34093] let s:lib.Codec.decoding_table["235,228"] = [38512] let s:lib.Codec.decoding_table["235,229"] = [38899] let s:lib.Codec.decoding_table["235,230"] = [39150] let s:lib.Codec.decoding_table["235,231"] = [25558] let s:lib.Codec.decoding_table["235,232"] = [27875] let s:lib.Codec.decoding_table["235,233"] = [37009] let s:lib.Codec.decoding_table["235,234"] = [20957] let s:lib.Codec.decoding_table["235,235"] = [25033] let s:lib.Codec.decoding_table["235,236"] = [33210] let s:lib.Codec.decoding_table["235,237"] = [40441] let s:lib.Codec.decoding_table["235,238"] = [20381] let s:lib.Codec.decoding_table["235,239"] = [20506] let s:lib.Codec.decoding_table["235,240"] = [20736] let s:lib.Codec.decoding_table["235,241"] = [23452] let s:lib.Codec.decoding_table["235,242"] = [24847] let s:lib.Codec.decoding_table["235,243"] = [25087] let s:lib.Codec.decoding_table["235,244"] = [25836] let s:lib.Codec.decoding_table["235,245"] = [26885] let s:lib.Codec.decoding_table["235,246"] = [27589] let s:lib.Codec.decoding_table["235,247"] = [30097] let s:lib.Codec.decoding_table["235,248"] = [30691] let s:lib.Codec.decoding_table["235,249"] = [32681] let s:lib.Codec.decoding_table["235,250"] = [33380] let s:lib.Codec.decoding_table["235,251"] = [34191] let s:lib.Codec.decoding_table["235,252"] = [34811] let s:lib.Codec.decoding_table["235,253"] = [34915] let s:lib.Codec.decoding_table["235,254"] = [35516] let s:lib.Codec.decoding_table["236,161"] = [35696] let s:lib.Codec.decoding_table["236,162"] = [37291] let s:lib.Codec.decoding_table["236,163"] = [20108] let s:lib.Codec.decoding_table["236,164"] = [20197] let s:lib.Codec.decoding_table["236,165"] = [20234] let s:lib.Codec.decoding_table["236,166"] = [63965] let s:lib.Codec.decoding_table["236,167"] = [63966] let s:lib.Codec.decoding_table["236,168"] = [22839] let s:lib.Codec.decoding_table["236,169"] = [23016] let s:lib.Codec.decoding_table["236,170"] = [63967] let s:lib.Codec.decoding_table["236,171"] = [24050] let s:lib.Codec.decoding_table["236,172"] = [24347] let s:lib.Codec.decoding_table["236,173"] = [24411] let s:lib.Codec.decoding_table["236,174"] = [24609] let s:lib.Codec.decoding_table["236,175"] = [63968] let s:lib.Codec.decoding_table["236,176"] = [63969] let s:lib.Codec.decoding_table["236,177"] = [63970] let s:lib.Codec.decoding_table["236,178"] = [63971] let s:lib.Codec.decoding_table["236,179"] = [29246] let s:lib.Codec.decoding_table["236,180"] = [29669] let s:lib.Codec.decoding_table["236,181"] = [63972] let s:lib.Codec.decoding_table["236,182"] = [30064] let s:lib.Codec.decoding_table["236,183"] = [30157] let s:lib.Codec.decoding_table["236,184"] = [63973] let s:lib.Codec.decoding_table["236,185"] = [31227] let s:lib.Codec.decoding_table["236,186"] = [63974] let s:lib.Codec.decoding_table["236,187"] = [32780] let s:lib.Codec.decoding_table["236,188"] = [32819] let s:lib.Codec.decoding_table["236,189"] = [32900] let s:lib.Codec.decoding_table["236,190"] = [33505] let s:lib.Codec.decoding_table["236,191"] = [33617] let s:lib.Codec.decoding_table["236,192"] = [63975] let s:lib.Codec.decoding_table["236,193"] = [63976] let s:lib.Codec.decoding_table["236,194"] = [36029] let s:lib.Codec.decoding_table["236,195"] = [36019] let s:lib.Codec.decoding_table["236,196"] = [36999] let s:lib.Codec.decoding_table["236,197"] = [63977] let s:lib.Codec.decoding_table["236,198"] = [63978] let s:lib.Codec.decoding_table["236,199"] = [39156] let s:lib.Codec.decoding_table["236,200"] = [39180] let s:lib.Codec.decoding_table["236,201"] = [63979] let s:lib.Codec.decoding_table["236,202"] = [63980] let s:lib.Codec.decoding_table["236,203"] = [28727] let s:lib.Codec.decoding_table["236,204"] = [30410] let s:lib.Codec.decoding_table["236,205"] = [32714] let s:lib.Codec.decoding_table["236,206"] = [32716] let s:lib.Codec.decoding_table["236,207"] = [32764] let s:lib.Codec.decoding_table["236,208"] = [35610] let s:lib.Codec.decoding_table["236,209"] = [20154] let s:lib.Codec.decoding_table["236,210"] = [20161] let s:lib.Codec.decoding_table["236,211"] = [20995] let s:lib.Codec.decoding_table["236,212"] = [21360] let s:lib.Codec.decoding_table["236,213"] = [63981] let s:lib.Codec.decoding_table["236,214"] = [21693] let s:lib.Codec.decoding_table["236,215"] = [22240] let s:lib.Codec.decoding_table["236,216"] = [23035] let s:lib.Codec.decoding_table["236,217"] = [23493] let s:lib.Codec.decoding_table["236,218"] = [24341] let s:lib.Codec.decoding_table["236,219"] = [24525] let s:lib.Codec.decoding_table["236,220"] = [28270] let s:lib.Codec.decoding_table["236,221"] = [63982] let s:lib.Codec.decoding_table["236,222"] = [63983] let s:lib.Codec.decoding_table["236,223"] = [32106] let s:lib.Codec.decoding_table["236,224"] = [33589] let s:lib.Codec.decoding_table["236,225"] = [63984] let s:lib.Codec.decoding_table["236,226"] = [34451] let s:lib.Codec.decoding_table["236,227"] = [35469] let s:lib.Codec.decoding_table["236,228"] = [63985] let s:lib.Codec.decoding_table["236,229"] = [38765] let s:lib.Codec.decoding_table["236,230"] = [38775] let s:lib.Codec.decoding_table["236,231"] = [63986] let s:lib.Codec.decoding_table["236,232"] = [63987] let s:lib.Codec.decoding_table["236,233"] = [19968] let s:lib.Codec.decoding_table["236,234"] = [20314] let s:lib.Codec.decoding_table["236,235"] = [20350] let s:lib.Codec.decoding_table["236,236"] = [22777] let s:lib.Codec.decoding_table["236,237"] = [26085] let s:lib.Codec.decoding_table["236,238"] = [28322] let s:lib.Codec.decoding_table["236,239"] = [36920] let s:lib.Codec.decoding_table["236,240"] = [37808] let s:lib.Codec.decoding_table["236,241"] = [39353] let s:lib.Codec.decoding_table["236,242"] = [20219] let s:lib.Codec.decoding_table["236,243"] = [22764] let s:lib.Codec.decoding_table["236,244"] = [22922] let s:lib.Codec.decoding_table["236,245"] = [23001] let s:lib.Codec.decoding_table["236,246"] = [24641] let s:lib.Codec.decoding_table["236,247"] = [63988] let s:lib.Codec.decoding_table["236,248"] = [63989] let s:lib.Codec.decoding_table["236,249"] = [31252] let s:lib.Codec.decoding_table["236,250"] = [63990] let s:lib.Codec.decoding_table["236,251"] = [33615] let s:lib.Codec.decoding_table["236,252"] = [36035] let s:lib.Codec.decoding_table["236,253"] = [20837] let s:lib.Codec.decoding_table["236,254"] = [21316] let s:lib.Codec.decoding_table["237,161"] = [63991] let s:lib.Codec.decoding_table["237,162"] = [63992] let s:lib.Codec.decoding_table["237,163"] = [63993] let s:lib.Codec.decoding_table["237,164"] = [20173] let s:lib.Codec.decoding_table["237,165"] = [21097] let s:lib.Codec.decoding_table["237,166"] = [23381] let s:lib.Codec.decoding_table["237,167"] = [33471] let s:lib.Codec.decoding_table["237,168"] = [20180] let s:lib.Codec.decoding_table["237,169"] = [21050] let s:lib.Codec.decoding_table["237,170"] = [21672] let s:lib.Codec.decoding_table["237,171"] = [22985] let s:lib.Codec.decoding_table["237,172"] = [23039] let s:lib.Codec.decoding_table["237,173"] = [23376] let s:lib.Codec.decoding_table["237,174"] = [23383] let s:lib.Codec.decoding_table["237,175"] = [23388] let s:lib.Codec.decoding_table["237,176"] = [24675] let s:lib.Codec.decoding_table["237,177"] = [24904] let s:lib.Codec.decoding_table["237,178"] = [28363] let s:lib.Codec.decoding_table["237,179"] = [28825] let s:lib.Codec.decoding_table["237,180"] = [29038] let s:lib.Codec.decoding_table["237,181"] = [29574] let s:lib.Codec.decoding_table["237,182"] = [29943] let s:lib.Codec.decoding_table["237,183"] = [30133] let s:lib.Codec.decoding_table["237,184"] = [30913] let s:lib.Codec.decoding_table["237,185"] = [32043] let s:lib.Codec.decoding_table["237,186"] = [32773] let s:lib.Codec.decoding_table["237,187"] = [33258] let s:lib.Codec.decoding_table["237,188"] = [33576] let s:lib.Codec.decoding_table["237,189"] = [34071] let s:lib.Codec.decoding_table["237,190"] = [34249] let s:lib.Codec.decoding_table["237,191"] = [35566] let s:lib.Codec.decoding_table["237,192"] = [36039] let s:lib.Codec.decoding_table["237,193"] = [38604] let s:lib.Codec.decoding_table["237,194"] = [20316] let s:lib.Codec.decoding_table["237,195"] = [21242] let s:lib.Codec.decoding_table["237,196"] = [22204] let s:lib.Codec.decoding_table["237,197"] = [26027] let s:lib.Codec.decoding_table["237,198"] = [26152] let s:lib.Codec.decoding_table["237,199"] = [28796] let s:lib.Codec.decoding_table["237,200"] = [28856] let s:lib.Codec.decoding_table["237,201"] = [29237] let s:lib.Codec.decoding_table["237,202"] = [32189] let s:lib.Codec.decoding_table["237,203"] = [33421] let s:lib.Codec.decoding_table["237,204"] = [37196] let s:lib.Codec.decoding_table["237,205"] = [38592] let s:lib.Codec.decoding_table["237,206"] = [40306] let s:lib.Codec.decoding_table["237,207"] = [23409] let s:lib.Codec.decoding_table["237,208"] = [26855] let s:lib.Codec.decoding_table["237,209"] = [27544] let s:lib.Codec.decoding_table["237,210"] = [28538] let s:lib.Codec.decoding_table["237,211"] = [30430] let s:lib.Codec.decoding_table["237,212"] = [23697] let s:lib.Codec.decoding_table["237,213"] = [26283] let s:lib.Codec.decoding_table["237,214"] = [28507] let s:lib.Codec.decoding_table["237,215"] = [31668] let s:lib.Codec.decoding_table["237,216"] = [31786] let s:lib.Codec.decoding_table["237,217"] = [34870] let s:lib.Codec.decoding_table["237,218"] = [38620] let s:lib.Codec.decoding_table["237,219"] = [19976] let s:lib.Codec.decoding_table["237,220"] = [20183] let s:lib.Codec.decoding_table["237,221"] = [21280] let s:lib.Codec.decoding_table["237,222"] = [22580] let s:lib.Codec.decoding_table["237,223"] = [22715] let s:lib.Codec.decoding_table["237,224"] = [22767] let s:lib.Codec.decoding_table["237,225"] = [22892] let s:lib.Codec.decoding_table["237,226"] = [23559] let s:lib.Codec.decoding_table["237,227"] = [24115] let s:lib.Codec.decoding_table["237,228"] = [24196] let s:lib.Codec.decoding_table["237,229"] = [24373] let s:lib.Codec.decoding_table["237,230"] = [25484] let s:lib.Codec.decoding_table["237,231"] = [26290] let s:lib.Codec.decoding_table["237,232"] = [26454] let s:lib.Codec.decoding_table["237,233"] = [27167] let s:lib.Codec.decoding_table["237,234"] = [27299] let s:lib.Codec.decoding_table["237,235"] = [27404] let s:lib.Codec.decoding_table["237,236"] = [28479] let s:lib.Codec.decoding_table["237,237"] = [29254] let s:lib.Codec.decoding_table["237,238"] = [63994] let s:lib.Codec.decoding_table["237,239"] = [29520] let s:lib.Codec.decoding_table["237,240"] = [29835] let s:lib.Codec.decoding_table["237,241"] = [31456] let s:lib.Codec.decoding_table["237,242"] = [31911] let s:lib.Codec.decoding_table["237,243"] = [33144] let s:lib.Codec.decoding_table["237,244"] = [33247] let s:lib.Codec.decoding_table["237,245"] = [33255] let s:lib.Codec.decoding_table["237,246"] = [33674] let s:lib.Codec.decoding_table["237,247"] = [33900] let s:lib.Codec.decoding_table["237,248"] = [34083] let s:lib.Codec.decoding_table["237,249"] = [34196] let s:lib.Codec.decoding_table["237,250"] = [34255] let s:lib.Codec.decoding_table["237,251"] = [35037] let s:lib.Codec.decoding_table["237,252"] = [36115] let s:lib.Codec.decoding_table["237,253"] = [37292] let s:lib.Codec.decoding_table["237,254"] = [38263] let s:lib.Codec.decoding_table["238,161"] = [38556] let s:lib.Codec.decoding_table["238,162"] = [20877] let s:lib.Codec.decoding_table["238,163"] = [21705] let s:lib.Codec.decoding_table["238,164"] = [22312] let s:lib.Codec.decoding_table["238,165"] = [23472] let s:lib.Codec.decoding_table["238,166"] = [25165] let s:lib.Codec.decoding_table["238,167"] = [26448] let s:lib.Codec.decoding_table["238,168"] = [26685] let s:lib.Codec.decoding_table["238,169"] = [26771] let s:lib.Codec.decoding_table["238,170"] = [28221] let s:lib.Codec.decoding_table["238,171"] = [28371] let s:lib.Codec.decoding_table["238,172"] = [28797] let s:lib.Codec.decoding_table["238,173"] = [32289] let s:lib.Codec.decoding_table["238,174"] = [35009] let s:lib.Codec.decoding_table["238,175"] = [36001] let s:lib.Codec.decoding_table["238,176"] = [36617] let s:lib.Codec.decoding_table["238,177"] = [40779] let s:lib.Codec.decoding_table["238,178"] = [40782] let s:lib.Codec.decoding_table["238,179"] = [29229] let s:lib.Codec.decoding_table["238,180"] = [31631] let s:lib.Codec.decoding_table["238,181"] = [35533] let s:lib.Codec.decoding_table["238,182"] = [37658] let s:lib.Codec.decoding_table["238,183"] = [20295] let s:lib.Codec.decoding_table["238,184"] = [20302] let s:lib.Codec.decoding_table["238,185"] = [20786] let s:lib.Codec.decoding_table["238,186"] = [21632] let s:lib.Codec.decoding_table["238,187"] = [22992] let s:lib.Codec.decoding_table["238,188"] = [24213] let s:lib.Codec.decoding_table["238,189"] = [25269] let s:lib.Codec.decoding_table["238,190"] = [26485] let s:lib.Codec.decoding_table["238,191"] = [26990] let s:lib.Codec.decoding_table["238,192"] = [27159] let s:lib.Codec.decoding_table["238,193"] = [27822] let s:lib.Codec.decoding_table["238,194"] = [28186] let s:lib.Codec.decoding_table["238,195"] = [29401] let s:lib.Codec.decoding_table["238,196"] = [29482] let s:lib.Codec.decoding_table["238,197"] = [30141] let s:lib.Codec.decoding_table["238,198"] = [31672] let s:lib.Codec.decoding_table["238,199"] = [32053] let s:lib.Codec.decoding_table["238,200"] = [33511] let s:lib.Codec.decoding_table["238,201"] = [33785] let s:lib.Codec.decoding_table["238,202"] = [33879] let s:lib.Codec.decoding_table["238,203"] = [34295] let s:lib.Codec.decoding_table["238,204"] = [35419] let s:lib.Codec.decoding_table["238,205"] = [36015] let s:lib.Codec.decoding_table["238,206"] = [36487] let s:lib.Codec.decoding_table["238,207"] = [36889] let s:lib.Codec.decoding_table["238,208"] = [37048] let s:lib.Codec.decoding_table["238,209"] = [38606] let s:lib.Codec.decoding_table["238,210"] = [40799] let s:lib.Codec.decoding_table["238,211"] = [21219] let s:lib.Codec.decoding_table["238,212"] = [21514] let s:lib.Codec.decoding_table["238,213"] = [23265] let s:lib.Codec.decoding_table["238,214"] = [23490] let s:lib.Codec.decoding_table["238,215"] = [25688] let s:lib.Codec.decoding_table["238,216"] = [25973] let s:lib.Codec.decoding_table["238,217"] = [28404] let s:lib.Codec.decoding_table["238,218"] = [29380] let s:lib.Codec.decoding_table["238,219"] = [63995] let s:lib.Codec.decoding_table["238,220"] = [30340] let s:lib.Codec.decoding_table["238,221"] = [31309] let s:lib.Codec.decoding_table["238,222"] = [31515] let s:lib.Codec.decoding_table["238,223"] = [31821] let s:lib.Codec.decoding_table["238,224"] = [32318] let s:lib.Codec.decoding_table["238,225"] = [32735] let s:lib.Codec.decoding_table["238,226"] = [33659] let s:lib.Codec.decoding_table["238,227"] = [35627] let s:lib.Codec.decoding_table["238,228"] = [36042] let s:lib.Codec.decoding_table["238,229"] = [36196] let s:lib.Codec.decoding_table["238,230"] = [36321] let s:lib.Codec.decoding_table["238,231"] = [36447] let s:lib.Codec.decoding_table["238,232"] = [36842] let s:lib.Codec.decoding_table["238,233"] = [36857] let s:lib.Codec.decoding_table["238,234"] = [36969] let s:lib.Codec.decoding_table["238,235"] = [37841] let s:lib.Codec.decoding_table["238,236"] = [20291] let s:lib.Codec.decoding_table["238,237"] = [20346] let s:lib.Codec.decoding_table["238,238"] = [20659] let s:lib.Codec.decoding_table["238,239"] = [20840] let s:lib.Codec.decoding_table["238,240"] = [20856] let s:lib.Codec.decoding_table["238,241"] = [21069] let s:lib.Codec.decoding_table["238,242"] = [21098] let s:lib.Codec.decoding_table["238,243"] = [22625] let s:lib.Codec.decoding_table["238,244"] = [22652] let s:lib.Codec.decoding_table["238,245"] = [22880] let s:lib.Codec.decoding_table["238,246"] = [23560] let s:lib.Codec.decoding_table["238,247"] = [23637] let s:lib.Codec.decoding_table["238,248"] = [24283] let s:lib.Codec.decoding_table["238,249"] = [24731] let s:lib.Codec.decoding_table["238,250"] = [25136] let s:lib.Codec.decoding_table["238,251"] = [26643] let s:lib.Codec.decoding_table["238,252"] = [27583] let s:lib.Codec.decoding_table["238,253"] = [27656] let s:lib.Codec.decoding_table["238,254"] = [28593] let s:lib.Codec.decoding_table["239,161"] = [29006] let s:lib.Codec.decoding_table["239,162"] = [29728] let s:lib.Codec.decoding_table["239,163"] = [30000] let s:lib.Codec.decoding_table["239,164"] = [30008] let s:lib.Codec.decoding_table["239,165"] = [30033] let s:lib.Codec.decoding_table["239,166"] = [30322] let s:lib.Codec.decoding_table["239,167"] = [31564] let s:lib.Codec.decoding_table["239,168"] = [31627] let s:lib.Codec.decoding_table["239,169"] = [31661] let s:lib.Codec.decoding_table["239,170"] = [31686] let s:lib.Codec.decoding_table["239,171"] = [32399] let s:lib.Codec.decoding_table["239,172"] = [35438] let s:lib.Codec.decoding_table["239,173"] = [36670] let s:lib.Codec.decoding_table["239,174"] = [36681] let s:lib.Codec.decoding_table["239,175"] = [37439] let s:lib.Codec.decoding_table["239,176"] = [37523] let s:lib.Codec.decoding_table["239,177"] = [37666] let s:lib.Codec.decoding_table["239,178"] = [37931] let s:lib.Codec.decoding_table["239,179"] = [38651] let s:lib.Codec.decoding_table["239,180"] = [39002] let s:lib.Codec.decoding_table["239,181"] = [39019] let s:lib.Codec.decoding_table["239,182"] = [39198] let s:lib.Codec.decoding_table["239,183"] = [20999] let s:lib.Codec.decoding_table["239,184"] = [25130] let s:lib.Codec.decoding_table["239,185"] = [25240] let s:lib.Codec.decoding_table["239,186"] = [27993] let s:lib.Codec.decoding_table["239,187"] = [30308] let s:lib.Codec.decoding_table["239,188"] = [31434] let s:lib.Codec.decoding_table["239,189"] = [31680] let s:lib.Codec.decoding_table["239,190"] = [32118] let s:lib.Codec.decoding_table["239,191"] = [21344] let s:lib.Codec.decoding_table["239,192"] = [23742] let s:lib.Codec.decoding_table["239,193"] = [24215] let s:lib.Codec.decoding_table["239,194"] = [28472] let s:lib.Codec.decoding_table["239,195"] = [28857] let s:lib.Codec.decoding_table["239,196"] = [31896] let s:lib.Codec.decoding_table["239,197"] = [38673] let s:lib.Codec.decoding_table["239,198"] = [39822] let s:lib.Codec.decoding_table["239,199"] = [40670] let s:lib.Codec.decoding_table["239,200"] = [25509] let s:lib.Codec.decoding_table["239,201"] = [25722] let s:lib.Codec.decoding_table["239,202"] = [34678] let s:lib.Codec.decoding_table["239,203"] = [19969] let s:lib.Codec.decoding_table["239,204"] = [20117] let s:lib.Codec.decoding_table["239,205"] = [20141] let s:lib.Codec.decoding_table["239,206"] = [20572] let s:lib.Codec.decoding_table["239,207"] = [20597] let s:lib.Codec.decoding_table["239,208"] = [21576] let s:lib.Codec.decoding_table["239,209"] = [22979] let s:lib.Codec.decoding_table["239,210"] = [23450] let s:lib.Codec.decoding_table["239,211"] = [24128] let s:lib.Codec.decoding_table["239,212"] = [24237] let s:lib.Codec.decoding_table["239,213"] = [24311] let s:lib.Codec.decoding_table["239,214"] = [24449] let s:lib.Codec.decoding_table["239,215"] = [24773] let s:lib.Codec.decoding_table["239,216"] = [25402] let s:lib.Codec.decoding_table["239,217"] = [25919] let s:lib.Codec.decoding_table["239,218"] = [25972] let s:lib.Codec.decoding_table["239,219"] = [26060] let s:lib.Codec.decoding_table["239,220"] = [26230] let s:lib.Codec.decoding_table["239,221"] = [26232] let s:lib.Codec.decoding_table["239,222"] = [26622] let s:lib.Codec.decoding_table["239,223"] = [26984] let s:lib.Codec.decoding_table["239,224"] = [27273] let s:lib.Codec.decoding_table["239,225"] = [27491] let s:lib.Codec.decoding_table["239,226"] = [27712] let s:lib.Codec.decoding_table["239,227"] = [28096] let s:lib.Codec.decoding_table["239,228"] = [28136] let s:lib.Codec.decoding_table["239,229"] = [28191] let s:lib.Codec.decoding_table["239,230"] = [28254] let s:lib.Codec.decoding_table["239,231"] = [28702] let s:lib.Codec.decoding_table["239,232"] = [28833] let s:lib.Codec.decoding_table["239,233"] = [29582] let s:lib.Codec.decoding_table["239,234"] = [29693] let s:lib.Codec.decoding_table["239,235"] = [30010] let s:lib.Codec.decoding_table["239,236"] = [30555] let s:lib.Codec.decoding_table["239,237"] = [30855] let s:lib.Codec.decoding_table["239,238"] = [31118] let s:lib.Codec.decoding_table["239,239"] = [31243] let s:lib.Codec.decoding_table["239,240"] = [31357] let s:lib.Codec.decoding_table["239,241"] = [31934] let s:lib.Codec.decoding_table["239,242"] = [32142] let s:lib.Codec.decoding_table["239,243"] = [33351] let s:lib.Codec.decoding_table["239,244"] = [35330] let s:lib.Codec.decoding_table["239,245"] = [35562] let s:lib.Codec.decoding_table["239,246"] = [35998] let s:lib.Codec.decoding_table["239,247"] = [37165] let s:lib.Codec.decoding_table["239,248"] = [37194] let s:lib.Codec.decoding_table["239,249"] = [37336] let s:lib.Codec.decoding_table["239,250"] = [37478] let s:lib.Codec.decoding_table["239,251"] = [37580] let s:lib.Codec.decoding_table["239,252"] = [37664] let s:lib.Codec.decoding_table["239,253"] = [38662] let s:lib.Codec.decoding_table["239,254"] = [38742] let s:lib.Codec.decoding_table["240,161"] = [38748] let s:lib.Codec.decoding_table["240,162"] = [38914] let s:lib.Codec.decoding_table["240,163"] = [40718] let s:lib.Codec.decoding_table["240,164"] = [21046] let s:lib.Codec.decoding_table["240,165"] = [21137] let s:lib.Codec.decoding_table["240,166"] = [21884] let s:lib.Codec.decoding_table["240,167"] = [22564] let s:lib.Codec.decoding_table["240,168"] = [24093] let s:lib.Codec.decoding_table["240,169"] = [24351] let s:lib.Codec.decoding_table["240,170"] = [24716] let s:lib.Codec.decoding_table["240,171"] = [25552] let s:lib.Codec.decoding_table["240,172"] = [26799] let s:lib.Codec.decoding_table["240,173"] = [28639] let s:lib.Codec.decoding_table["240,174"] = [31085] let s:lib.Codec.decoding_table["240,175"] = [31532] let s:lib.Codec.decoding_table["240,176"] = [33229] let s:lib.Codec.decoding_table["240,177"] = [34234] let s:lib.Codec.decoding_table["240,178"] = [35069] let s:lib.Codec.decoding_table["240,179"] = [35576] let s:lib.Codec.decoding_table["240,180"] = [36420] let s:lib.Codec.decoding_table["240,181"] = [37261] let s:lib.Codec.decoding_table["240,182"] = [38500] let s:lib.Codec.decoding_table["240,183"] = [38555] let s:lib.Codec.decoding_table["240,184"] = [38717] let s:lib.Codec.decoding_table["240,185"] = [38988] let s:lib.Codec.decoding_table["240,186"] = [40778] let s:lib.Codec.decoding_table["240,187"] = [20430] let s:lib.Codec.decoding_table["240,188"] = [20806] let s:lib.Codec.decoding_table["240,189"] = [20939] let s:lib.Codec.decoding_table["240,190"] = [21161] let s:lib.Codec.decoding_table["240,191"] = [22066] let s:lib.Codec.decoding_table["240,192"] = [24340] let s:lib.Codec.decoding_table["240,193"] = [24427] let s:lib.Codec.decoding_table["240,194"] = [25514] let s:lib.Codec.decoding_table["240,195"] = [25805] let s:lib.Codec.decoding_table["240,196"] = [26089] let s:lib.Codec.decoding_table["240,197"] = [26177] let s:lib.Codec.decoding_table["240,198"] = [26362] let s:lib.Codec.decoding_table["240,199"] = [26361] let s:lib.Codec.decoding_table["240,200"] = [26397] let s:lib.Codec.decoding_table["240,201"] = [26781] let s:lib.Codec.decoding_table["240,202"] = [26839] let s:lib.Codec.decoding_table["240,203"] = [27133] let s:lib.Codec.decoding_table["240,204"] = [28437] let s:lib.Codec.decoding_table["240,205"] = [28526] let s:lib.Codec.decoding_table["240,206"] = [29031] let s:lib.Codec.decoding_table["240,207"] = [29157] let s:lib.Codec.decoding_table["240,208"] = [29226] let s:lib.Codec.decoding_table["240,209"] = [29866] let s:lib.Codec.decoding_table["240,210"] = [30522] let s:lib.Codec.decoding_table["240,211"] = [31062] let s:lib.Codec.decoding_table["240,212"] = [31066] let s:lib.Codec.decoding_table["240,213"] = [31199] let s:lib.Codec.decoding_table["240,214"] = [31264] let s:lib.Codec.decoding_table["240,215"] = [31381] let s:lib.Codec.decoding_table["240,216"] = [31895] let s:lib.Codec.decoding_table["240,217"] = [31967] let s:lib.Codec.decoding_table["240,218"] = [32068] let s:lib.Codec.decoding_table["240,219"] = [32368] let s:lib.Codec.decoding_table["240,220"] = [32903] let s:lib.Codec.decoding_table["240,221"] = [34299] let s:lib.Codec.decoding_table["240,222"] = [34468] let s:lib.Codec.decoding_table["240,223"] = [35412] let s:lib.Codec.decoding_table["240,224"] = [35519] let s:lib.Codec.decoding_table["240,225"] = [36249] let s:lib.Codec.decoding_table["240,226"] = [36481] let s:lib.Codec.decoding_table["240,227"] = [36896] let s:lib.Codec.decoding_table["240,228"] = [36973] let s:lib.Codec.decoding_table["240,229"] = [37347] let s:lib.Codec.decoding_table["240,230"] = [38459] let s:lib.Codec.decoding_table["240,231"] = [38613] let s:lib.Codec.decoding_table["240,232"] = [40165] let s:lib.Codec.decoding_table["240,233"] = [26063] let s:lib.Codec.decoding_table["240,234"] = [31751] let s:lib.Codec.decoding_table["240,235"] = [36275] let s:lib.Codec.decoding_table["240,236"] = [37827] let s:lib.Codec.decoding_table["240,237"] = [23384] let s:lib.Codec.decoding_table["240,238"] = [23562] let s:lib.Codec.decoding_table["240,239"] = [21330] let s:lib.Codec.decoding_table["240,240"] = [25305] let s:lib.Codec.decoding_table["240,241"] = [29469] let s:lib.Codec.decoding_table["240,242"] = [20519] let s:lib.Codec.decoding_table["240,243"] = [23447] let s:lib.Codec.decoding_table["240,244"] = [24478] let s:lib.Codec.decoding_table["240,245"] = [24752] let s:lib.Codec.decoding_table["240,246"] = [24939] let s:lib.Codec.decoding_table["240,247"] = [26837] let s:lib.Codec.decoding_table["240,248"] = [28121] let s:lib.Codec.decoding_table["240,249"] = [29742] let s:lib.Codec.decoding_table["240,250"] = [31278] let s:lib.Codec.decoding_table["240,251"] = [32066] let s:lib.Codec.decoding_table["240,252"] = [32156] let s:lib.Codec.decoding_table["240,253"] = [32305] let s:lib.Codec.decoding_table["240,254"] = [33131] let s:lib.Codec.decoding_table["241,161"] = [36394] let s:lib.Codec.decoding_table["241,162"] = [36405] let s:lib.Codec.decoding_table["241,163"] = [37758] let s:lib.Codec.decoding_table["241,164"] = [37912] let s:lib.Codec.decoding_table["241,165"] = [20304] let s:lib.Codec.decoding_table["241,166"] = [22352] let s:lib.Codec.decoding_table["241,167"] = [24038] let s:lib.Codec.decoding_table["241,168"] = [24231] let s:lib.Codec.decoding_table["241,169"] = [25387] let s:lib.Codec.decoding_table["241,170"] = [32618] let s:lib.Codec.decoding_table["241,171"] = [20027] let s:lib.Codec.decoding_table["241,172"] = [20303] let s:lib.Codec.decoding_table["241,173"] = [20367] let s:lib.Codec.decoding_table["241,174"] = [20570] let s:lib.Codec.decoding_table["241,175"] = [23005] let s:lib.Codec.decoding_table["241,176"] = [32964] let s:lib.Codec.decoding_table["241,177"] = [21610] let s:lib.Codec.decoding_table["241,178"] = [21608] let s:lib.Codec.decoding_table["241,179"] = [22014] let s:lib.Codec.decoding_table["241,180"] = [22863] let s:lib.Codec.decoding_table["241,181"] = [23449] let s:lib.Codec.decoding_table["241,182"] = [24030] let s:lib.Codec.decoding_table["241,183"] = [24282] let s:lib.Codec.decoding_table["241,184"] = [26205] let s:lib.Codec.decoding_table["241,185"] = [26417] let s:lib.Codec.decoding_table["241,186"] = [26609] let s:lib.Codec.decoding_table["241,187"] = [26666] let s:lib.Codec.decoding_table["241,188"] = [27880] let s:lib.Codec.decoding_table["241,189"] = [27954] let s:lib.Codec.decoding_table["241,190"] = [28234] let s:lib.Codec.decoding_table["241,191"] = [28557] let s:lib.Codec.decoding_table["241,192"] = [28855] let s:lib.Codec.decoding_table["241,193"] = [29664] let s:lib.Codec.decoding_table["241,194"] = [30087] let s:lib.Codec.decoding_table["241,195"] = [31820] let s:lib.Codec.decoding_table["241,196"] = [32002] let s:lib.Codec.decoding_table["241,197"] = [32044] let s:lib.Codec.decoding_table["241,198"] = [32162] let s:lib.Codec.decoding_table["241,199"] = [33311] let s:lib.Codec.decoding_table["241,200"] = [34523] let s:lib.Codec.decoding_table["241,201"] = [35387] let s:lib.Codec.decoding_table["241,202"] = [35461] let s:lib.Codec.decoding_table["241,203"] = [36208] let s:lib.Codec.decoding_table["241,204"] = [36490] let s:lib.Codec.decoding_table["241,205"] = [36659] let s:lib.Codec.decoding_table["241,206"] = [36913] let s:lib.Codec.decoding_table["241,207"] = [37198] let s:lib.Codec.decoding_table["241,208"] = [37202] let s:lib.Codec.decoding_table["241,209"] = [37956] let s:lib.Codec.decoding_table["241,210"] = [39376] let s:lib.Codec.decoding_table["241,211"] = [31481] let s:lib.Codec.decoding_table["241,212"] = [31909] let s:lib.Codec.decoding_table["241,213"] = [20426] let s:lib.Codec.decoding_table["241,214"] = [20737] let s:lib.Codec.decoding_table["241,215"] = [20934] let s:lib.Codec.decoding_table["241,216"] = [22472] let s:lib.Codec.decoding_table["241,217"] = [23535] let s:lib.Codec.decoding_table["241,218"] = [23803] let s:lib.Codec.decoding_table["241,219"] = [26201] let s:lib.Codec.decoding_table["241,220"] = [27197] let s:lib.Codec.decoding_table["241,221"] = [27994] let s:lib.Codec.decoding_table["241,222"] = [28310] let s:lib.Codec.decoding_table["241,223"] = [28652] let s:lib.Codec.decoding_table["241,224"] = [28940] let s:lib.Codec.decoding_table["241,225"] = [30063] let s:lib.Codec.decoding_table["241,226"] = [31459] let s:lib.Codec.decoding_table["241,227"] = [34850] let s:lib.Codec.decoding_table["241,228"] = [36897] let s:lib.Codec.decoding_table["241,229"] = [36981] let s:lib.Codec.decoding_table["241,230"] = [38603] let s:lib.Codec.decoding_table["241,231"] = [39423] let s:lib.Codec.decoding_table["241,232"] = [33537] let s:lib.Codec.decoding_table["241,233"] = [20013] let s:lib.Codec.decoding_table["241,234"] = [20210] let s:lib.Codec.decoding_table["241,235"] = [34886] let s:lib.Codec.decoding_table["241,236"] = [37325] let s:lib.Codec.decoding_table["241,237"] = [21373] let s:lib.Codec.decoding_table["241,238"] = [27355] let s:lib.Codec.decoding_table["241,239"] = [26987] let s:lib.Codec.decoding_table["241,240"] = [27713] let s:lib.Codec.decoding_table["241,241"] = [33914] let s:lib.Codec.decoding_table["241,242"] = [22686] let s:lib.Codec.decoding_table["241,243"] = [24974] let s:lib.Codec.decoding_table["241,244"] = [26366] let s:lib.Codec.decoding_table["241,245"] = [25327] let s:lib.Codec.decoding_table["241,246"] = [28893] let s:lib.Codec.decoding_table["241,247"] = [29969] let s:lib.Codec.decoding_table["241,248"] = [30151] let s:lib.Codec.decoding_table["241,249"] = [32338] let s:lib.Codec.decoding_table["241,250"] = [33976] let s:lib.Codec.decoding_table["241,251"] = [35657] let s:lib.Codec.decoding_table["241,252"] = [36104] let s:lib.Codec.decoding_table["241,253"] = [20043] let s:lib.Codec.decoding_table["241,254"] = [21482] let s:lib.Codec.decoding_table["242,161"] = [21675] let s:lib.Codec.decoding_table["242,162"] = [22320] let s:lib.Codec.decoding_table["242,163"] = [22336] let s:lib.Codec.decoding_table["242,164"] = [24535] let s:lib.Codec.decoding_table["242,165"] = [25345] let s:lib.Codec.decoding_table["242,166"] = [25351] let s:lib.Codec.decoding_table["242,167"] = [25711] let s:lib.Codec.decoding_table["242,168"] = [25903] let s:lib.Codec.decoding_table["242,169"] = [26088] let s:lib.Codec.decoding_table["242,170"] = [26234] let s:lib.Codec.decoding_table["242,171"] = [26525] let s:lib.Codec.decoding_table["242,172"] = [26547] let s:lib.Codec.decoding_table["242,173"] = [27490] let s:lib.Codec.decoding_table["242,174"] = [27744] let s:lib.Codec.decoding_table["242,175"] = [27802] let s:lib.Codec.decoding_table["242,176"] = [28460] let s:lib.Codec.decoding_table["242,177"] = [30693] let s:lib.Codec.decoding_table["242,178"] = [30757] let s:lib.Codec.decoding_table["242,179"] = [31049] let s:lib.Codec.decoding_table["242,180"] = [31063] let s:lib.Codec.decoding_table["242,181"] = [32025] let s:lib.Codec.decoding_table["242,182"] = [32930] let s:lib.Codec.decoding_table["242,183"] = [33026] let s:lib.Codec.decoding_table["242,184"] = [33267] let s:lib.Codec.decoding_table["242,185"] = [33437] let s:lib.Codec.decoding_table["242,186"] = [33463] let s:lib.Codec.decoding_table["242,187"] = [34584] let s:lib.Codec.decoding_table["242,188"] = [35468] let s:lib.Codec.decoding_table["242,189"] = [63996] let s:lib.Codec.decoding_table["242,190"] = [36100] let s:lib.Codec.decoding_table["242,191"] = [36286] let s:lib.Codec.decoding_table["242,192"] = [36978] let s:lib.Codec.decoding_table["242,193"] = [30452] let s:lib.Codec.decoding_table["242,194"] = [31257] let s:lib.Codec.decoding_table["242,195"] = [31287] let s:lib.Codec.decoding_table["242,196"] = [32340] let s:lib.Codec.decoding_table["242,197"] = [32887] let s:lib.Codec.decoding_table["242,198"] = [21767] let s:lib.Codec.decoding_table["242,199"] = [21972] let s:lib.Codec.decoding_table["242,200"] = [22645] let s:lib.Codec.decoding_table["242,201"] = [25391] let s:lib.Codec.decoding_table["242,202"] = [25634] let s:lib.Codec.decoding_table["242,203"] = [26185] let s:lib.Codec.decoding_table["242,204"] = [26187] let s:lib.Codec.decoding_table["242,205"] = [26733] let s:lib.Codec.decoding_table["242,206"] = [27035] let s:lib.Codec.decoding_table["242,207"] = [27524] let s:lib.Codec.decoding_table["242,208"] = [27941] let s:lib.Codec.decoding_table["242,209"] = [28337] let s:lib.Codec.decoding_table["242,210"] = [29645] let s:lib.Codec.decoding_table["242,211"] = [29800] let s:lib.Codec.decoding_table["242,212"] = [29857] let s:lib.Codec.decoding_table["242,213"] = [30043] let s:lib.Codec.decoding_table["242,214"] = [30137] let s:lib.Codec.decoding_table["242,215"] = [30433] let s:lib.Codec.decoding_table["242,216"] = [30494] let s:lib.Codec.decoding_table["242,217"] = [30603] let s:lib.Codec.decoding_table["242,218"] = [31206] let s:lib.Codec.decoding_table["242,219"] = [32265] let s:lib.Codec.decoding_table["242,220"] = [32285] let s:lib.Codec.decoding_table["242,221"] = [33275] let s:lib.Codec.decoding_table["242,222"] = [34095] let s:lib.Codec.decoding_table["242,223"] = [34967] let s:lib.Codec.decoding_table["242,224"] = [35386] let s:lib.Codec.decoding_table["242,225"] = [36049] let s:lib.Codec.decoding_table["242,226"] = [36587] let s:lib.Codec.decoding_table["242,227"] = [36784] let s:lib.Codec.decoding_table["242,228"] = [36914] let s:lib.Codec.decoding_table["242,229"] = [37805] let s:lib.Codec.decoding_table["242,230"] = [38499] let s:lib.Codec.decoding_table["242,231"] = [38515] let s:lib.Codec.decoding_table["242,232"] = [38663] let s:lib.Codec.decoding_table["242,233"] = [20356] let s:lib.Codec.decoding_table["242,234"] = [21489] let s:lib.Codec.decoding_table["242,235"] = [23018] let s:lib.Codec.decoding_table["242,236"] = [23241] let s:lib.Codec.decoding_table["242,237"] = [24089] let s:lib.Codec.decoding_table["242,238"] = [26702] let s:lib.Codec.decoding_table["242,239"] = [29894] let s:lib.Codec.decoding_table["242,240"] = [30142] let s:lib.Codec.decoding_table["242,241"] = [31209] let s:lib.Codec.decoding_table["242,242"] = [31378] let s:lib.Codec.decoding_table["242,243"] = [33187] let s:lib.Codec.decoding_table["242,244"] = [34541] let s:lib.Codec.decoding_table["242,245"] = [36074] let s:lib.Codec.decoding_table["242,246"] = [36300] let s:lib.Codec.decoding_table["242,247"] = [36845] let s:lib.Codec.decoding_table["242,248"] = [26015] let s:lib.Codec.decoding_table["242,249"] = [26389] let s:lib.Codec.decoding_table["242,250"] = [63997] let s:lib.Codec.decoding_table["242,251"] = [22519] let s:lib.Codec.decoding_table["242,252"] = [28503] let s:lib.Codec.decoding_table["242,253"] = [32221] let s:lib.Codec.decoding_table["242,254"] = [36655] let s:lib.Codec.decoding_table["243,161"] = [37878] let s:lib.Codec.decoding_table["243,162"] = [38598] let s:lib.Codec.decoding_table["243,163"] = [24501] let s:lib.Codec.decoding_table["243,164"] = [25074] let s:lib.Codec.decoding_table["243,165"] = [28548] let s:lib.Codec.decoding_table["243,166"] = [19988] let s:lib.Codec.decoding_table["243,167"] = [20376] let s:lib.Codec.decoding_table["243,168"] = [20511] let s:lib.Codec.decoding_table["243,169"] = [21449] let s:lib.Codec.decoding_table["243,170"] = [21983] let s:lib.Codec.decoding_table["243,171"] = [23919] let s:lib.Codec.decoding_table["243,172"] = [24046] let s:lib.Codec.decoding_table["243,173"] = [27425] let s:lib.Codec.decoding_table["243,174"] = [27492] let s:lib.Codec.decoding_table["243,175"] = [30923] let s:lib.Codec.decoding_table["243,176"] = [31642] let s:lib.Codec.decoding_table["243,177"] = [63998] let s:lib.Codec.decoding_table["243,178"] = [36425] let s:lib.Codec.decoding_table["243,179"] = [36554] let s:lib.Codec.decoding_table["243,180"] = [36974] let s:lib.Codec.decoding_table["243,181"] = [25417] let s:lib.Codec.decoding_table["243,182"] = [25662] let s:lib.Codec.decoding_table["243,183"] = [30528] let s:lib.Codec.decoding_table["243,184"] = [31364] let s:lib.Codec.decoding_table["243,185"] = [37679] let s:lib.Codec.decoding_table["243,186"] = [38015] let s:lib.Codec.decoding_table["243,187"] = [40810] let s:lib.Codec.decoding_table["243,188"] = [25776] let s:lib.Codec.decoding_table["243,189"] = [28591] let s:lib.Codec.decoding_table["243,190"] = [29158] let s:lib.Codec.decoding_table["243,191"] = [29864] let s:lib.Codec.decoding_table["243,192"] = [29914] let s:lib.Codec.decoding_table["243,193"] = [31428] let s:lib.Codec.decoding_table["243,194"] = [31762] let s:lib.Codec.decoding_table["243,195"] = [32386] let s:lib.Codec.decoding_table["243,196"] = [31922] let s:lib.Codec.decoding_table["243,197"] = [32408] let s:lib.Codec.decoding_table["243,198"] = [35738] let s:lib.Codec.decoding_table["243,199"] = [36106] let s:lib.Codec.decoding_table["243,200"] = [38013] let s:lib.Codec.decoding_table["243,201"] = [39184] let s:lib.Codec.decoding_table["243,202"] = [39244] let s:lib.Codec.decoding_table["243,203"] = [21049] let s:lib.Codec.decoding_table["243,204"] = [23519] let s:lib.Codec.decoding_table["243,205"] = [25830] let s:lib.Codec.decoding_table["243,206"] = [26413] let s:lib.Codec.decoding_table["243,207"] = [32046] let s:lib.Codec.decoding_table["243,208"] = [20717] let s:lib.Codec.decoding_table["243,209"] = [21443] let s:lib.Codec.decoding_table["243,210"] = [22649] let s:lib.Codec.decoding_table["243,211"] = [24920] let s:lib.Codec.decoding_table["243,212"] = [24921] let s:lib.Codec.decoding_table["243,213"] = [25082] let s:lib.Codec.decoding_table["243,214"] = [26028] let s:lib.Codec.decoding_table["243,215"] = [31449] let s:lib.Codec.decoding_table["243,216"] = [35730] let s:lib.Codec.decoding_table["243,217"] = [35734] let s:lib.Codec.decoding_table["243,218"] = [20489] let s:lib.Codec.decoding_table["243,219"] = [20513] let s:lib.Codec.decoding_table["243,220"] = [21109] let s:lib.Codec.decoding_table["243,221"] = [21809] let s:lib.Codec.decoding_table["243,222"] = [23100] let s:lib.Codec.decoding_table["243,223"] = [24288] let s:lib.Codec.decoding_table["243,224"] = [24432] let s:lib.Codec.decoding_table["243,225"] = [24884] let s:lib.Codec.decoding_table["243,226"] = [25950] let s:lib.Codec.decoding_table["243,227"] = [26124] let s:lib.Codec.decoding_table["243,228"] = [26166] let s:lib.Codec.decoding_table["243,229"] = [26274] let s:lib.Codec.decoding_table["243,230"] = [27085] let s:lib.Codec.decoding_table["243,231"] = [28356] let s:lib.Codec.decoding_table["243,232"] = [28466] let s:lib.Codec.decoding_table["243,233"] = [29462] let s:lib.Codec.decoding_table["243,234"] = [30241] let s:lib.Codec.decoding_table["243,235"] = [31379] let s:lib.Codec.decoding_table["243,236"] = [33081] let s:lib.Codec.decoding_table["243,237"] = [33369] let s:lib.Codec.decoding_table["243,238"] = [33750] let s:lib.Codec.decoding_table["243,239"] = [33980] let s:lib.Codec.decoding_table["243,240"] = [20661] let s:lib.Codec.decoding_table["243,241"] = [22512] let s:lib.Codec.decoding_table["243,242"] = [23488] let s:lib.Codec.decoding_table["243,243"] = [23528] let s:lib.Codec.decoding_table["243,244"] = [24425] let s:lib.Codec.decoding_table["243,245"] = [25505] let s:lib.Codec.decoding_table["243,246"] = [30758] let s:lib.Codec.decoding_table["243,247"] = [32181] let s:lib.Codec.decoding_table["243,248"] = [33756] let s:lib.Codec.decoding_table["243,249"] = [34081] let s:lib.Codec.decoding_table["243,250"] = [37319] let s:lib.Codec.decoding_table["243,251"] = [37365] let s:lib.Codec.decoding_table["243,252"] = [20874] let s:lib.Codec.decoding_table["243,253"] = [26613] let s:lib.Codec.decoding_table["243,254"] = [31574] let s:lib.Codec.decoding_table["244,161"] = [36012] let s:lib.Codec.decoding_table["244,162"] = [20932] let s:lib.Codec.decoding_table["244,163"] = [22971] let s:lib.Codec.decoding_table["244,164"] = [24765] let s:lib.Codec.decoding_table["244,165"] = [34389] let s:lib.Codec.decoding_table["244,166"] = [20508] let s:lib.Codec.decoding_table["244,167"] = [63999] let s:lib.Codec.decoding_table["244,168"] = [21076] let s:lib.Codec.decoding_table["244,169"] = [23610] let s:lib.Codec.decoding_table["244,170"] = [24957] let s:lib.Codec.decoding_table["244,171"] = [25114] let s:lib.Codec.decoding_table["244,172"] = [25299] let s:lib.Codec.decoding_table["244,173"] = [25842] let s:lib.Codec.decoding_table["244,174"] = [26021] let s:lib.Codec.decoding_table["244,175"] = [28364] let s:lib.Codec.decoding_table["244,176"] = [30240] let s:lib.Codec.decoding_table["244,177"] = [33034] let s:lib.Codec.decoding_table["244,178"] = [36448] let s:lib.Codec.decoding_table["244,179"] = [38495] let s:lib.Codec.decoding_table["244,180"] = [38587] let s:lib.Codec.decoding_table["244,181"] = [20191] let s:lib.Codec.decoding_table["244,182"] = [21315] let s:lib.Codec.decoding_table["244,183"] = [21912] let s:lib.Codec.decoding_table["244,184"] = [22825] let s:lib.Codec.decoding_table["244,185"] = [24029] let s:lib.Codec.decoding_table["244,186"] = [25797] let s:lib.Codec.decoding_table["244,187"] = [27849] let s:lib.Codec.decoding_table["244,188"] = [28154] let s:lib.Codec.decoding_table["244,189"] = [29588] let s:lib.Codec.decoding_table["244,190"] = [31359] let s:lib.Codec.decoding_table["244,191"] = [33307] let s:lib.Codec.decoding_table["244,192"] = [34214] let s:lib.Codec.decoding_table["244,193"] = [36068] let s:lib.Codec.decoding_table["244,194"] = [36368] let s:lib.Codec.decoding_table["244,195"] = [36983] let s:lib.Codec.decoding_table["244,196"] = [37351] let s:lib.Codec.decoding_table["244,197"] = [38369] let s:lib.Codec.decoding_table["244,198"] = [38433] let s:lib.Codec.decoding_table["244,199"] = [38854] let s:lib.Codec.decoding_table["244,200"] = [20984] let s:lib.Codec.decoding_table["244,201"] = [21746] let s:lib.Codec.decoding_table["244,202"] = [21894] let s:lib.Codec.decoding_table["244,203"] = [24505] let s:lib.Codec.decoding_table["244,204"] = [25764] let s:lib.Codec.decoding_table["244,205"] = [28552] let s:lib.Codec.decoding_table["244,206"] = [32180] let s:lib.Codec.decoding_table["244,207"] = [36639] let s:lib.Codec.decoding_table["244,208"] = [36685] let s:lib.Codec.decoding_table["244,209"] = [37941] let s:lib.Codec.decoding_table["244,210"] = [20681] let s:lib.Codec.decoding_table["244,211"] = [23574] let s:lib.Codec.decoding_table["244,212"] = [27838] let s:lib.Codec.decoding_table["244,213"] = [28155] let s:lib.Codec.decoding_table["244,214"] = [29979] let s:lib.Codec.decoding_table["244,215"] = [30651] let s:lib.Codec.decoding_table["244,216"] = [31805] let s:lib.Codec.decoding_table["244,217"] = [31844] let s:lib.Codec.decoding_table["244,218"] = [35449] let s:lib.Codec.decoding_table["244,219"] = [35522] let s:lib.Codec.decoding_table["244,220"] = [22558] let s:lib.Codec.decoding_table["244,221"] = [22974] let s:lib.Codec.decoding_table["244,222"] = [24086] let s:lib.Codec.decoding_table["244,223"] = [25463] let s:lib.Codec.decoding_table["244,224"] = [29266] let s:lib.Codec.decoding_table["244,225"] = [30090] let s:lib.Codec.decoding_table["244,226"] = [30571] let s:lib.Codec.decoding_table["244,227"] = [35548] let s:lib.Codec.decoding_table["244,228"] = [36028] let s:lib.Codec.decoding_table["244,229"] = [36626] let s:lib.Codec.decoding_table["244,230"] = [24307] let s:lib.Codec.decoding_table["244,231"] = [26228] let s:lib.Codec.decoding_table["244,232"] = [28152] let s:lib.Codec.decoding_table["244,233"] = [32893] let s:lib.Codec.decoding_table["244,234"] = [33729] let s:lib.Codec.decoding_table["244,235"] = [35531] let s:lib.Codec.decoding_table["244,236"] = [38737] let s:lib.Codec.decoding_table["244,237"] = [39894] let s:lib.Codec.decoding_table["244,238"] = [64000] let s:lib.Codec.decoding_table["244,239"] = [21059] let s:lib.Codec.decoding_table["244,240"] = [26367] let s:lib.Codec.decoding_table["244,241"] = [28053] let s:lib.Codec.decoding_table["244,242"] = [28399] let s:lib.Codec.decoding_table["244,243"] = [32224] let s:lib.Codec.decoding_table["244,244"] = [35558] let s:lib.Codec.decoding_table["244,245"] = [36910] let s:lib.Codec.decoding_table["244,246"] = [36958] let s:lib.Codec.decoding_table["244,247"] = [39636] let s:lib.Codec.decoding_table["244,248"] = [21021] let s:lib.Codec.decoding_table["244,249"] = [21119] let s:lib.Codec.decoding_table["244,250"] = [21736] let s:lib.Codec.decoding_table["244,251"] = [24980] let s:lib.Codec.decoding_table["244,252"] = [25220] let s:lib.Codec.decoding_table["244,253"] = [25307] let s:lib.Codec.decoding_table["244,254"] = [26786] let s:lib.Codec.decoding_table["245,161"] = [26898] let s:lib.Codec.decoding_table["245,162"] = [26970] let s:lib.Codec.decoding_table["245,163"] = [27189] let s:lib.Codec.decoding_table["245,164"] = [28818] let s:lib.Codec.decoding_table["245,165"] = [28966] let s:lib.Codec.decoding_table["245,166"] = [30813] let s:lib.Codec.decoding_table["245,167"] = [30977] let s:lib.Codec.decoding_table["245,168"] = [30990] let s:lib.Codec.decoding_table["245,169"] = [31186] let s:lib.Codec.decoding_table["245,170"] = [31245] let s:lib.Codec.decoding_table["245,171"] = [32918] let s:lib.Codec.decoding_table["245,172"] = [33400] let s:lib.Codec.decoding_table["245,173"] = [33493] let s:lib.Codec.decoding_table["245,174"] = [33609] let s:lib.Codec.decoding_table["245,175"] = [34121] let s:lib.Codec.decoding_table["245,176"] = [35970] let s:lib.Codec.decoding_table["245,177"] = [36229] let s:lib.Codec.decoding_table["245,178"] = [37218] let s:lib.Codec.decoding_table["245,179"] = [37259] let s:lib.Codec.decoding_table["245,180"] = [37294] let s:lib.Codec.decoding_table["245,181"] = [20419] let s:lib.Codec.decoding_table["245,182"] = [22225] let s:lib.Codec.decoding_table["245,183"] = [29165] let s:lib.Codec.decoding_table["245,184"] = [30679] let s:lib.Codec.decoding_table["245,185"] = [34560] let s:lib.Codec.decoding_table["245,186"] = [35320] let s:lib.Codec.decoding_table["245,187"] = [23544] let s:lib.Codec.decoding_table["245,188"] = [24534] let s:lib.Codec.decoding_table["245,189"] = [26449] let s:lib.Codec.decoding_table["245,190"] = [37032] let s:lib.Codec.decoding_table["245,191"] = [21474] let s:lib.Codec.decoding_table["245,192"] = [22618] let s:lib.Codec.decoding_table["245,193"] = [23541] let s:lib.Codec.decoding_table["245,194"] = [24740] let s:lib.Codec.decoding_table["245,195"] = [24961] let s:lib.Codec.decoding_table["245,196"] = [25696] let s:lib.Codec.decoding_table["245,197"] = [32317] let s:lib.Codec.decoding_table["245,198"] = [32880] let s:lib.Codec.decoding_table["245,199"] = [34085] let s:lib.Codec.decoding_table["245,200"] = [37507] let s:lib.Codec.decoding_table["245,201"] = [25774] let s:lib.Codec.decoding_table["245,202"] = [20652] let s:lib.Codec.decoding_table["245,203"] = [23828] let s:lib.Codec.decoding_table["245,204"] = [26368] let s:lib.Codec.decoding_table["245,205"] = [22684] let s:lib.Codec.decoding_table["245,206"] = [25277] let s:lib.Codec.decoding_table["245,207"] = [25512] let s:lib.Codec.decoding_table["245,208"] = [26894] let s:lib.Codec.decoding_table["245,209"] = [27000] let s:lib.Codec.decoding_table["245,210"] = [27166] let s:lib.Codec.decoding_table["245,211"] = [28267] let s:lib.Codec.decoding_table["245,212"] = [30394] let s:lib.Codec.decoding_table["245,213"] = [31179] let s:lib.Codec.decoding_table["245,214"] = [33467] let s:lib.Codec.decoding_table["245,215"] = [33833] let s:lib.Codec.decoding_table["245,216"] = [35535] let s:lib.Codec.decoding_table["245,217"] = [36264] let s:lib.Codec.decoding_table["245,218"] = [36861] let s:lib.Codec.decoding_table["245,219"] = [37138] let s:lib.Codec.decoding_table["245,220"] = [37195] let s:lib.Codec.decoding_table["245,221"] = [37276] let s:lib.Codec.decoding_table["245,222"] = [37648] let s:lib.Codec.decoding_table["245,223"] = [37656] let s:lib.Codec.decoding_table["245,224"] = [37786] let s:lib.Codec.decoding_table["245,225"] = [38619] let s:lib.Codec.decoding_table["245,226"] = [39478] let s:lib.Codec.decoding_table["245,227"] = [39949] let s:lib.Codec.decoding_table["245,228"] = [19985] let s:lib.Codec.decoding_table["245,229"] = [30044] let s:lib.Codec.decoding_table["245,230"] = [31069] let s:lib.Codec.decoding_table["245,231"] = [31482] let s:lib.Codec.decoding_table["245,232"] = [31569] let s:lib.Codec.decoding_table["245,233"] = [31689] let s:lib.Codec.decoding_table["245,234"] = [32302] let s:lib.Codec.decoding_table["245,235"] = [33988] let s:lib.Codec.decoding_table["245,236"] = [36441] let s:lib.Codec.decoding_table["245,237"] = [36468] let s:lib.Codec.decoding_table["245,238"] = [36600] let s:lib.Codec.decoding_table["245,239"] = [36880] let s:lib.Codec.decoding_table["245,240"] = [26149] let s:lib.Codec.decoding_table["245,241"] = [26943] let s:lib.Codec.decoding_table["245,242"] = [29763] let s:lib.Codec.decoding_table["245,243"] = [20986] let s:lib.Codec.decoding_table["245,244"] = [26414] let s:lib.Codec.decoding_table["245,245"] = [40668] let s:lib.Codec.decoding_table["245,246"] = [20805] let s:lib.Codec.decoding_table["245,247"] = [24544] let s:lib.Codec.decoding_table["245,248"] = [27798] let s:lib.Codec.decoding_table["245,249"] = [34802] let s:lib.Codec.decoding_table["245,250"] = [34909] let s:lib.Codec.decoding_table["245,251"] = [34935] let s:lib.Codec.decoding_table["245,252"] = [24756] let s:lib.Codec.decoding_table["245,253"] = [33205] let s:lib.Codec.decoding_table["245,254"] = [33795] let s:lib.Codec.decoding_table["246,161"] = [36101] let s:lib.Codec.decoding_table["246,162"] = [21462] let s:lib.Codec.decoding_table["246,163"] = [21561] let s:lib.Codec.decoding_table["246,164"] = [22068] let s:lib.Codec.decoding_table["246,165"] = [23094] let s:lib.Codec.decoding_table["246,166"] = [23601] let s:lib.Codec.decoding_table["246,167"] = [28810] let s:lib.Codec.decoding_table["246,168"] = [32736] let s:lib.Codec.decoding_table["246,169"] = [32858] let s:lib.Codec.decoding_table["246,170"] = [33030] let s:lib.Codec.decoding_table["246,171"] = [33261] let s:lib.Codec.decoding_table["246,172"] = [36259] let s:lib.Codec.decoding_table["246,173"] = [37257] let s:lib.Codec.decoding_table["246,174"] = [39519] let s:lib.Codec.decoding_table["246,175"] = [40434] let s:lib.Codec.decoding_table["246,176"] = [20596] let s:lib.Codec.decoding_table["246,177"] = [20164] let s:lib.Codec.decoding_table["246,178"] = [21408] let s:lib.Codec.decoding_table["246,179"] = [24827] let s:lib.Codec.decoding_table["246,180"] = [28204] let s:lib.Codec.decoding_table["246,181"] = [23652] let s:lib.Codec.decoding_table["246,182"] = [20360] let s:lib.Codec.decoding_table["246,183"] = [20516] let s:lib.Codec.decoding_table["246,184"] = [21988] let s:lib.Codec.decoding_table["246,185"] = [23769] let s:lib.Codec.decoding_table["246,186"] = [24159] let s:lib.Codec.decoding_table["246,187"] = [24677] let s:lib.Codec.decoding_table["246,188"] = [26772] let s:lib.Codec.decoding_table["246,189"] = [27835] let s:lib.Codec.decoding_table["246,190"] = [28100] let s:lib.Codec.decoding_table["246,191"] = [29118] let s:lib.Codec.decoding_table["246,192"] = [30164] let s:lib.Codec.decoding_table["246,193"] = [30196] let s:lib.Codec.decoding_table["246,194"] = [30305] let s:lib.Codec.decoding_table["246,195"] = [31258] let s:lib.Codec.decoding_table["246,196"] = [31305] let s:lib.Codec.decoding_table["246,197"] = [32199] let s:lib.Codec.decoding_table["246,198"] = [32251] let s:lib.Codec.decoding_table["246,199"] = [32622] let s:lib.Codec.decoding_table["246,200"] = [33268] let s:lib.Codec.decoding_table["246,201"] = [34473] let s:lib.Codec.decoding_table["246,202"] = [36636] let s:lib.Codec.decoding_table["246,203"] = [38601] let s:lib.Codec.decoding_table["246,204"] = [39347] let s:lib.Codec.decoding_table["246,205"] = [40786] let s:lib.Codec.decoding_table["246,206"] = [21063] let s:lib.Codec.decoding_table["246,207"] = [21189] let s:lib.Codec.decoding_table["246,208"] = [39149] let s:lib.Codec.decoding_table["246,209"] = [35242] let s:lib.Codec.decoding_table["246,210"] = [19971] let s:lib.Codec.decoding_table["246,211"] = [26578] let s:lib.Codec.decoding_table["246,212"] = [28422] let s:lib.Codec.decoding_table["246,213"] = [20405] let s:lib.Codec.decoding_table["246,214"] = [23522] let s:lib.Codec.decoding_table["246,215"] = [26517] let s:lib.Codec.decoding_table["246,216"] = [27784] let s:lib.Codec.decoding_table["246,217"] = [28024] let s:lib.Codec.decoding_table["246,218"] = [29723] let s:lib.Codec.decoding_table["246,219"] = [30759] let s:lib.Codec.decoding_table["246,220"] = [37341] let s:lib.Codec.decoding_table["246,221"] = [37756] let s:lib.Codec.decoding_table["246,222"] = [34756] let s:lib.Codec.decoding_table["246,223"] = [31204] let s:lib.Codec.decoding_table["246,224"] = [31281] let s:lib.Codec.decoding_table["246,225"] = [24555] let s:lib.Codec.decoding_table["246,226"] = [20182] let s:lib.Codec.decoding_table["246,227"] = [21668] let s:lib.Codec.decoding_table["246,228"] = [21822] let s:lib.Codec.decoding_table["246,229"] = [22702] let s:lib.Codec.decoding_table["246,230"] = [22949] let s:lib.Codec.decoding_table["246,231"] = [24816] let s:lib.Codec.decoding_table["246,232"] = [25171] let s:lib.Codec.decoding_table["246,233"] = [25302] let s:lib.Codec.decoding_table["246,234"] = [26422] let s:lib.Codec.decoding_table["246,235"] = [26965] let s:lib.Codec.decoding_table["246,236"] = [33333] let s:lib.Codec.decoding_table["246,237"] = [38464] let s:lib.Codec.decoding_table["246,238"] = [39345] let s:lib.Codec.decoding_table["246,239"] = [39389] let s:lib.Codec.decoding_table["246,240"] = [20524] let s:lib.Codec.decoding_table["246,241"] = [21331] let s:lib.Codec.decoding_table["246,242"] = [21828] let s:lib.Codec.decoding_table["246,243"] = [22396] let s:lib.Codec.decoding_table["246,244"] = [64001] let s:lib.Codec.decoding_table["246,245"] = [25176] let s:lib.Codec.decoding_table["246,246"] = [64002] let s:lib.Codec.decoding_table["246,247"] = [25826] let s:lib.Codec.decoding_table["246,248"] = [26219] let s:lib.Codec.decoding_table["246,249"] = [26589] let s:lib.Codec.decoding_table["246,250"] = [28609] let s:lib.Codec.decoding_table["246,251"] = [28655] let s:lib.Codec.decoding_table["246,252"] = [29730] let s:lib.Codec.decoding_table["246,253"] = [29752] let s:lib.Codec.decoding_table["246,254"] = [35351] let s:lib.Codec.decoding_table["247,161"] = [37944] let s:lib.Codec.decoding_table["247,162"] = [21585] let s:lib.Codec.decoding_table["247,163"] = [22022] let s:lib.Codec.decoding_table["247,164"] = [22374] let s:lib.Codec.decoding_table["247,165"] = [24392] let s:lib.Codec.decoding_table["247,166"] = [24986] let s:lib.Codec.decoding_table["247,167"] = [27470] let s:lib.Codec.decoding_table["247,168"] = [28760] let s:lib.Codec.decoding_table["247,169"] = [28845] let s:lib.Codec.decoding_table["247,170"] = [32187] let s:lib.Codec.decoding_table["247,171"] = [35477] let s:lib.Codec.decoding_table["247,172"] = [22890] let s:lib.Codec.decoding_table["247,173"] = [33067] let s:lib.Codec.decoding_table["247,174"] = [25506] let s:lib.Codec.decoding_table["247,175"] = [30472] let s:lib.Codec.decoding_table["247,176"] = [32829] let s:lib.Codec.decoding_table["247,177"] = [36010] let s:lib.Codec.decoding_table["247,178"] = [22612] let s:lib.Codec.decoding_table["247,179"] = [25645] let s:lib.Codec.decoding_table["247,180"] = [27067] let s:lib.Codec.decoding_table["247,181"] = [23445] let s:lib.Codec.decoding_table["247,182"] = [24081] let s:lib.Codec.decoding_table["247,183"] = [28271] let s:lib.Codec.decoding_table["247,184"] = [64003] let s:lib.Codec.decoding_table["247,185"] = [34153] let s:lib.Codec.decoding_table["247,186"] = [20812] let s:lib.Codec.decoding_table["247,187"] = [21488] let s:lib.Codec.decoding_table["247,188"] = [22826] let s:lib.Codec.decoding_table["247,189"] = [24608] let s:lib.Codec.decoding_table["247,190"] = [24907] let s:lib.Codec.decoding_table["247,191"] = [27526] let s:lib.Codec.decoding_table["247,192"] = [27760] let s:lib.Codec.decoding_table["247,193"] = [27888] let s:lib.Codec.decoding_table["247,194"] = [31518] let s:lib.Codec.decoding_table["247,195"] = [32974] let s:lib.Codec.decoding_table["247,196"] = [33492] let s:lib.Codec.decoding_table["247,197"] = [36294] let s:lib.Codec.decoding_table["247,198"] = [37040] let s:lib.Codec.decoding_table["247,199"] = [39089] let s:lib.Codec.decoding_table["247,200"] = [64004] let s:lib.Codec.decoding_table["247,201"] = [25799] let s:lib.Codec.decoding_table["247,202"] = [28580] let s:lib.Codec.decoding_table["247,203"] = [25745] let s:lib.Codec.decoding_table["247,204"] = [25860] let s:lib.Codec.decoding_table["247,205"] = [20814] let s:lib.Codec.decoding_table["247,206"] = [21520] let s:lib.Codec.decoding_table["247,207"] = [22303] let s:lib.Codec.decoding_table["247,208"] = [35342] let s:lib.Codec.decoding_table["247,209"] = [24927] let s:lib.Codec.decoding_table["247,210"] = [26742] let s:lib.Codec.decoding_table["247,211"] = [64005] let s:lib.Codec.decoding_table["247,212"] = [30171] let s:lib.Codec.decoding_table["247,213"] = [31570] let s:lib.Codec.decoding_table["247,214"] = [32113] let s:lib.Codec.decoding_table["247,215"] = [36890] let s:lib.Codec.decoding_table["247,216"] = [22534] let s:lib.Codec.decoding_table["247,217"] = [27084] let s:lib.Codec.decoding_table["247,218"] = [33151] let s:lib.Codec.decoding_table["247,219"] = [35114] let s:lib.Codec.decoding_table["247,220"] = [36864] let s:lib.Codec.decoding_table["247,221"] = [38969] let s:lib.Codec.decoding_table["247,222"] = [20600] let s:lib.Codec.decoding_table["247,223"] = [22871] let s:lib.Codec.decoding_table["247,224"] = [22956] let s:lib.Codec.decoding_table["247,225"] = [25237] let s:lib.Codec.decoding_table["247,226"] = [36879] let s:lib.Codec.decoding_table["247,227"] = [39722] let s:lib.Codec.decoding_table["247,228"] = [24925] let s:lib.Codec.decoding_table["247,229"] = [29305] let s:lib.Codec.decoding_table["247,230"] = [38358] let s:lib.Codec.decoding_table["247,231"] = [22369] let s:lib.Codec.decoding_table["247,232"] = [23110] let s:lib.Codec.decoding_table["247,233"] = [24052] let s:lib.Codec.decoding_table["247,234"] = [25226] let s:lib.Codec.decoding_table["247,235"] = [25773] let s:lib.Codec.decoding_table["247,236"] = [25850] let s:lib.Codec.decoding_table["247,237"] = [26487] let s:lib.Codec.decoding_table["247,238"] = [27874] let s:lib.Codec.decoding_table["247,239"] = [27966] let s:lib.Codec.decoding_table["247,240"] = [29228] let s:lib.Codec.decoding_table["247,241"] = [29750] let s:lib.Codec.decoding_table["247,242"] = [30772] let s:lib.Codec.decoding_table["247,243"] = [32631] let s:lib.Codec.decoding_table["247,244"] = [33453] let s:lib.Codec.decoding_table["247,245"] = [36315] let s:lib.Codec.decoding_table["247,246"] = [38935] let s:lib.Codec.decoding_table["247,247"] = [21028] let s:lib.Codec.decoding_table["247,248"] = [22338] let s:lib.Codec.decoding_table["247,249"] = [26495] let s:lib.Codec.decoding_table["247,250"] = [29256] let s:lib.Codec.decoding_table["247,251"] = [29923] let s:lib.Codec.decoding_table["247,252"] = [36009] let s:lib.Codec.decoding_table["247,253"] = [36774] let s:lib.Codec.decoding_table["247,254"] = [37393] let s:lib.Codec.decoding_table["248,161"] = [38442] let s:lib.Codec.decoding_table["248,162"] = [20843] let s:lib.Codec.decoding_table["248,163"] = [21485] let s:lib.Codec.decoding_table["248,164"] = [25420] let s:lib.Codec.decoding_table["248,165"] = [20329] let s:lib.Codec.decoding_table["248,166"] = [21764] let s:lib.Codec.decoding_table["248,167"] = [24726] let s:lib.Codec.decoding_table["248,168"] = [25943] let s:lib.Codec.decoding_table["248,169"] = [27803] let s:lib.Codec.decoding_table["248,170"] = [28031] let s:lib.Codec.decoding_table["248,171"] = [29260] let s:lib.Codec.decoding_table["248,172"] = [29437] let s:lib.Codec.decoding_table["248,173"] = [31255] let s:lib.Codec.decoding_table["248,174"] = [35207] let s:lib.Codec.decoding_table["248,175"] = [35997] let s:lib.Codec.decoding_table["248,176"] = [24429] let s:lib.Codec.decoding_table["248,177"] = [28558] let s:lib.Codec.decoding_table["248,178"] = [28921] let s:lib.Codec.decoding_table["248,179"] = [33192] let s:lib.Codec.decoding_table["248,180"] = [24846] let s:lib.Codec.decoding_table["248,181"] = [20415] let s:lib.Codec.decoding_table["248,182"] = [20559] let s:lib.Codec.decoding_table["248,183"] = [25153] let s:lib.Codec.decoding_table["248,184"] = [29255] let s:lib.Codec.decoding_table["248,185"] = [31687] let s:lib.Codec.decoding_table["248,186"] = [32232] let s:lib.Codec.decoding_table["248,187"] = [32745] let s:lib.Codec.decoding_table["248,188"] = [36941] let s:lib.Codec.decoding_table["248,189"] = [38829] let s:lib.Codec.decoding_table["248,190"] = [39449] let s:lib.Codec.decoding_table["248,191"] = [36022] let s:lib.Codec.decoding_table["248,192"] = [22378] let s:lib.Codec.decoding_table["248,193"] = [24179] let s:lib.Codec.decoding_table["248,194"] = [26544] let s:lib.Codec.decoding_table["248,195"] = [33805] let s:lib.Codec.decoding_table["248,196"] = [35413] let s:lib.Codec.decoding_table["248,197"] = [21536] let s:lib.Codec.decoding_table["248,198"] = [23318] let s:lib.Codec.decoding_table["248,199"] = [24163] let s:lib.Codec.decoding_table["248,200"] = [24290] let s:lib.Codec.decoding_table["248,201"] = [24330] let s:lib.Codec.decoding_table["248,202"] = [25987] let s:lib.Codec.decoding_table["248,203"] = [32954] let s:lib.Codec.decoding_table["248,204"] = [34109] let s:lib.Codec.decoding_table["248,205"] = [38281] let s:lib.Codec.decoding_table["248,206"] = [38491] let s:lib.Codec.decoding_table["248,207"] = [20296] let s:lib.Codec.decoding_table["248,208"] = [21253] let s:lib.Codec.decoding_table["248,209"] = [21261] let s:lib.Codec.decoding_table["248,210"] = [21263] let s:lib.Codec.decoding_table["248,211"] = [21638] let s:lib.Codec.decoding_table["248,212"] = [21754] let s:lib.Codec.decoding_table["248,213"] = [22275] let s:lib.Codec.decoding_table["248,214"] = [24067] let s:lib.Codec.decoding_table["248,215"] = [24598] let s:lib.Codec.decoding_table["248,216"] = [25243] let s:lib.Codec.decoding_table["248,217"] = [25265] let s:lib.Codec.decoding_table["248,218"] = [25429] let s:lib.Codec.decoding_table["248,219"] = [64006] let s:lib.Codec.decoding_table["248,220"] = [27873] let s:lib.Codec.decoding_table["248,221"] = [28006] let s:lib.Codec.decoding_table["248,222"] = [30129] let s:lib.Codec.decoding_table["248,223"] = [30770] let s:lib.Codec.decoding_table["248,224"] = [32990] let s:lib.Codec.decoding_table["248,225"] = [33071] let s:lib.Codec.decoding_table["248,226"] = [33502] let s:lib.Codec.decoding_table["248,227"] = [33889] let s:lib.Codec.decoding_table["248,228"] = [33970] let s:lib.Codec.decoding_table["248,229"] = [34957] let s:lib.Codec.decoding_table["248,230"] = [35090] let s:lib.Codec.decoding_table["248,231"] = [36875] let s:lib.Codec.decoding_table["248,232"] = [37610] let s:lib.Codec.decoding_table["248,233"] = [39165] let s:lib.Codec.decoding_table["248,234"] = [39825] let s:lib.Codec.decoding_table["248,235"] = [24133] let s:lib.Codec.decoding_table["248,236"] = [26292] let s:lib.Codec.decoding_table["248,237"] = [26333] let s:lib.Codec.decoding_table["248,238"] = [28689] let s:lib.Codec.decoding_table["248,239"] = [29190] let s:lib.Codec.decoding_table["248,240"] = [64007] let s:lib.Codec.decoding_table["248,241"] = [20469] let s:lib.Codec.decoding_table["248,242"] = [21117] let s:lib.Codec.decoding_table["248,243"] = [24426] let s:lib.Codec.decoding_table["248,244"] = [24915] let s:lib.Codec.decoding_table["248,245"] = [26451] let s:lib.Codec.decoding_table["248,246"] = [27161] let s:lib.Codec.decoding_table["248,247"] = [28418] let s:lib.Codec.decoding_table["248,248"] = [29922] let s:lib.Codec.decoding_table["248,249"] = [31080] let s:lib.Codec.decoding_table["248,250"] = [34920] let s:lib.Codec.decoding_table["248,251"] = [35961] let s:lib.Codec.decoding_table["248,252"] = [39111] let s:lib.Codec.decoding_table["248,253"] = [39108] let s:lib.Codec.decoding_table["248,254"] = [39491] let s:lib.Codec.decoding_table["249,161"] = [21697] let s:lib.Codec.decoding_table["249,162"] = [31263] let s:lib.Codec.decoding_table["249,163"] = [26963] let s:lib.Codec.decoding_table["249,164"] = [35575] let s:lib.Codec.decoding_table["249,165"] = [35914] let s:lib.Codec.decoding_table["249,166"] = [39080] let s:lib.Codec.decoding_table["249,167"] = [39342] let s:lib.Codec.decoding_table["249,168"] = [24444] let s:lib.Codec.decoding_table["249,169"] = [25259] let s:lib.Codec.decoding_table["249,170"] = [30130] let s:lib.Codec.decoding_table["249,171"] = [30382] let s:lib.Codec.decoding_table["249,172"] = [34987] let s:lib.Codec.decoding_table["249,173"] = [36991] let s:lib.Codec.decoding_table["249,174"] = [38466] let s:lib.Codec.decoding_table["249,175"] = [21305] let s:lib.Codec.decoding_table["249,176"] = [24380] let s:lib.Codec.decoding_table["249,177"] = [24517] let s:lib.Codec.decoding_table["249,178"] = [27852] let s:lib.Codec.decoding_table["249,179"] = [29644] let s:lib.Codec.decoding_table["249,180"] = [30050] let s:lib.Codec.decoding_table["249,181"] = [30091] let s:lib.Codec.decoding_table["249,182"] = [31558] let s:lib.Codec.decoding_table["249,183"] = [33534] let s:lib.Codec.decoding_table["249,184"] = [39325] let s:lib.Codec.decoding_table["249,185"] = [20047] let s:lib.Codec.decoding_table["249,186"] = [36924] let s:lib.Codec.decoding_table["249,187"] = [19979] let s:lib.Codec.decoding_table["249,188"] = [20309] let s:lib.Codec.decoding_table["249,189"] = [21414] let s:lib.Codec.decoding_table["249,190"] = [22799] let s:lib.Codec.decoding_table["249,191"] = [24264] let s:lib.Codec.decoding_table["249,192"] = [26160] let s:lib.Codec.decoding_table["249,193"] = [27827] let s:lib.Codec.decoding_table["249,194"] = [29781] let s:lib.Codec.decoding_table["249,195"] = [33655] let s:lib.Codec.decoding_table["249,196"] = [34662] let s:lib.Codec.decoding_table["249,197"] = [36032] let s:lib.Codec.decoding_table["249,198"] = [36944] let s:lib.Codec.decoding_table["249,199"] = [38686] let s:lib.Codec.decoding_table["249,200"] = [39957] let s:lib.Codec.decoding_table["249,201"] = [22737] let s:lib.Codec.decoding_table["249,202"] = [23416] let s:lib.Codec.decoding_table["249,203"] = [34384] let s:lib.Codec.decoding_table["249,204"] = [35604] let s:lib.Codec.decoding_table["249,205"] = [40372] let s:lib.Codec.decoding_table["249,206"] = [23506] let s:lib.Codec.decoding_table["249,207"] = [24680] let s:lib.Codec.decoding_table["249,208"] = [24717] let s:lib.Codec.decoding_table["249,209"] = [26097] let s:lib.Codec.decoding_table["249,210"] = [27735] let s:lib.Codec.decoding_table["249,211"] = [28450] let s:lib.Codec.decoding_table["249,212"] = [28579] let s:lib.Codec.decoding_table["249,213"] = [28698] let s:lib.Codec.decoding_table["249,214"] = [32597] let s:lib.Codec.decoding_table["249,215"] = [32752] let s:lib.Codec.decoding_table["249,216"] = [38289] let s:lib.Codec.decoding_table["249,217"] = [38290] let s:lib.Codec.decoding_table["249,218"] = [38480] let s:lib.Codec.decoding_table["249,219"] = [38867] let s:lib.Codec.decoding_table["249,220"] = [21106] let s:lib.Codec.decoding_table["249,221"] = [36676] let s:lib.Codec.decoding_table["249,222"] = [20989] let s:lib.Codec.decoding_table["249,223"] = [21547] let s:lib.Codec.decoding_table["249,224"] = [21688] let s:lib.Codec.decoding_table["249,225"] = [21859] let s:lib.Codec.decoding_table["249,226"] = [21898] let s:lib.Codec.decoding_table["249,227"] = [27323] let s:lib.Codec.decoding_table["249,228"] = [28085] let s:lib.Codec.decoding_table["249,229"] = [32216] let s:lib.Codec.decoding_table["249,230"] = [33382] let s:lib.Codec.decoding_table["249,231"] = [37532] let s:lib.Codec.decoding_table["249,232"] = [38519] let s:lib.Codec.decoding_table["249,233"] = [40569] let s:lib.Codec.decoding_table["249,234"] = [21512] let s:lib.Codec.decoding_table["249,235"] = [21704] let s:lib.Codec.decoding_table["249,236"] = [30418] let s:lib.Codec.decoding_table["249,237"] = [34532] let s:lib.Codec.decoding_table["249,238"] = [38308] let s:lib.Codec.decoding_table["249,239"] = [38356] let s:lib.Codec.decoding_table["249,240"] = [38492] let s:lib.Codec.decoding_table["249,241"] = [20130] let s:lib.Codec.decoding_table["249,242"] = [20233] let s:lib.Codec.decoding_table["249,243"] = [23022] let s:lib.Codec.decoding_table["249,244"] = [23270] let s:lib.Codec.decoding_table["249,245"] = [24055] let s:lib.Codec.decoding_table["249,246"] = [24658] let s:lib.Codec.decoding_table["249,247"] = [25239] let s:lib.Codec.decoding_table["249,248"] = [26477] let s:lib.Codec.decoding_table["249,249"] = [26689] let s:lib.Codec.decoding_table["249,250"] = [27782] let s:lib.Codec.decoding_table["249,251"] = [28207] let s:lib.Codec.decoding_table["249,252"] = [32568] let s:lib.Codec.decoding_table["249,253"] = [32923] let s:lib.Codec.decoding_table["249,254"] = [33322] let s:lib.Codec.decoding_table["250,161"] = [64008] let s:lib.Codec.decoding_table["250,162"] = [64009] let s:lib.Codec.decoding_table["250,163"] = [38917] let s:lib.Codec.decoding_table["250,164"] = [20133] let s:lib.Codec.decoding_table["250,165"] = [20565] let s:lib.Codec.decoding_table["250,166"] = [21683] let s:lib.Codec.decoding_table["250,167"] = [22419] let s:lib.Codec.decoding_table["250,168"] = [22874] let s:lib.Codec.decoding_table["250,169"] = [23401] let s:lib.Codec.decoding_table["250,170"] = [23475] let s:lib.Codec.decoding_table["250,171"] = [25032] let s:lib.Codec.decoding_table["250,172"] = [26999] let s:lib.Codec.decoding_table["250,173"] = [28023] let s:lib.Codec.decoding_table["250,174"] = [28707] let s:lib.Codec.decoding_table["250,175"] = [34809] let s:lib.Codec.decoding_table["250,176"] = [35299] let s:lib.Codec.decoding_table["250,177"] = [35442] let s:lib.Codec.decoding_table["250,178"] = [35559] let s:lib.Codec.decoding_table["250,179"] = [36994] let s:lib.Codec.decoding_table["250,180"] = [39405] let s:lib.Codec.decoding_table["250,181"] = [39608] let s:lib.Codec.decoding_table["250,182"] = [21182] let s:lib.Codec.decoding_table["250,183"] = [26680] let s:lib.Codec.decoding_table["250,184"] = [20502] let s:lib.Codec.decoding_table["250,185"] = [24184] let s:lib.Codec.decoding_table["250,186"] = [26447] let s:lib.Codec.decoding_table["250,187"] = [33607] let s:lib.Codec.decoding_table["250,188"] = [34892] let s:lib.Codec.decoding_table["250,189"] = [20139] let s:lib.Codec.decoding_table["250,190"] = [21521] let s:lib.Codec.decoding_table["250,191"] = [22190] let s:lib.Codec.decoding_table["250,192"] = [29670] let s:lib.Codec.decoding_table["250,193"] = [37141] let s:lib.Codec.decoding_table["250,194"] = [38911] let s:lib.Codec.decoding_table["250,195"] = [39177] let s:lib.Codec.decoding_table["250,196"] = [39255] let s:lib.Codec.decoding_table["250,197"] = [39321] let s:lib.Codec.decoding_table["250,198"] = [22099] let s:lib.Codec.decoding_table["250,199"] = [22687] let s:lib.Codec.decoding_table["250,200"] = [34395] let s:lib.Codec.decoding_table["250,201"] = [35377] let s:lib.Codec.decoding_table["250,202"] = [25010] let s:lib.Codec.decoding_table["250,203"] = [27382] let s:lib.Codec.decoding_table["250,204"] = [29563] let s:lib.Codec.decoding_table["250,205"] = [36562] let s:lib.Codec.decoding_table["250,206"] = [27463] let s:lib.Codec.decoding_table["250,207"] = [38570] let s:lib.Codec.decoding_table["250,208"] = [39511] let s:lib.Codec.decoding_table["250,209"] = [22869] let s:lib.Codec.decoding_table["250,210"] = [29184] let s:lib.Codec.decoding_table["250,211"] = [36203] let s:lib.Codec.decoding_table["250,212"] = [38761] let s:lib.Codec.decoding_table["250,213"] = [20436] let s:lib.Codec.decoding_table["250,214"] = [23796] let s:lib.Codec.decoding_table["250,215"] = [24358] let s:lib.Codec.decoding_table["250,216"] = [25080] let s:lib.Codec.decoding_table["250,217"] = [26203] let s:lib.Codec.decoding_table["250,218"] = [27883] let s:lib.Codec.decoding_table["250,219"] = [28843] let s:lib.Codec.decoding_table["250,220"] = [29572] let s:lib.Codec.decoding_table["250,221"] = [29625] let s:lib.Codec.decoding_table["250,222"] = [29694] let s:lib.Codec.decoding_table["250,223"] = [30505] let s:lib.Codec.decoding_table["250,224"] = [30541] let s:lib.Codec.decoding_table["250,225"] = [32067] let s:lib.Codec.decoding_table["250,226"] = [32098] let s:lib.Codec.decoding_table["250,227"] = [32291] let s:lib.Codec.decoding_table["250,228"] = [33335] let s:lib.Codec.decoding_table["250,229"] = [34898] let s:lib.Codec.decoding_table["250,230"] = [64010] let s:lib.Codec.decoding_table["250,231"] = [36066] let s:lib.Codec.decoding_table["250,232"] = [37449] let s:lib.Codec.decoding_table["250,233"] = [39023] let s:lib.Codec.decoding_table["250,234"] = [23377] let s:lib.Codec.decoding_table["250,235"] = [31348] let s:lib.Codec.decoding_table["250,236"] = [34880] let s:lib.Codec.decoding_table["250,237"] = [38913] let s:lib.Codec.decoding_table["250,238"] = [23244] let s:lib.Codec.decoding_table["250,239"] = [20448] let s:lib.Codec.decoding_table["250,240"] = [21332] let s:lib.Codec.decoding_table["250,241"] = [22846] let s:lib.Codec.decoding_table["250,242"] = [23805] let s:lib.Codec.decoding_table["250,243"] = [25406] let s:lib.Codec.decoding_table["250,244"] = [28025] let s:lib.Codec.decoding_table["250,245"] = [29433] let s:lib.Codec.decoding_table["250,246"] = [33029] let s:lib.Codec.decoding_table["250,247"] = [33031] let s:lib.Codec.decoding_table["250,248"] = [33698] let s:lib.Codec.decoding_table["250,249"] = [37583] let s:lib.Codec.decoding_table["250,250"] = [38960] let s:lib.Codec.decoding_table["250,251"] = [20136] let s:lib.Codec.decoding_table["250,252"] = [20804] let s:lib.Codec.decoding_table["250,253"] = [21009] let s:lib.Codec.decoding_table["250,254"] = [22411] let s:lib.Codec.decoding_table["251,161"] = [24418] let s:lib.Codec.decoding_table["251,162"] = [27842] let s:lib.Codec.decoding_table["251,163"] = [28366] let s:lib.Codec.decoding_table["251,164"] = [28677] let s:lib.Codec.decoding_table["251,165"] = [28752] let s:lib.Codec.decoding_table["251,166"] = [28847] let s:lib.Codec.decoding_table["251,167"] = [29074] let s:lib.Codec.decoding_table["251,168"] = [29673] let s:lib.Codec.decoding_table["251,169"] = [29801] let s:lib.Codec.decoding_table["251,170"] = [33610] let s:lib.Codec.decoding_table["251,171"] = [34722] let s:lib.Codec.decoding_table["251,172"] = [34913] let s:lib.Codec.decoding_table["251,173"] = [36872] let s:lib.Codec.decoding_table["251,174"] = [37026] let s:lib.Codec.decoding_table["251,175"] = [37795] let s:lib.Codec.decoding_table["251,176"] = [39336] let s:lib.Codec.decoding_table["251,177"] = [20846] let s:lib.Codec.decoding_table["251,178"] = [24407] let s:lib.Codec.decoding_table["251,179"] = [24800] let s:lib.Codec.decoding_table["251,180"] = [24935] let s:lib.Codec.decoding_table["251,181"] = [26291] let s:lib.Codec.decoding_table["251,182"] = [34137] let s:lib.Codec.decoding_table["251,183"] = [36426] let s:lib.Codec.decoding_table["251,184"] = [37295] let s:lib.Codec.decoding_table["251,185"] = [38795] let s:lib.Codec.decoding_table["251,186"] = [20046] let s:lib.Codec.decoding_table["251,187"] = [20114] let s:lib.Codec.decoding_table["251,188"] = [21628] let s:lib.Codec.decoding_table["251,189"] = [22741] let s:lib.Codec.decoding_table["251,190"] = [22778] let s:lib.Codec.decoding_table["251,191"] = [22909] let s:lib.Codec.decoding_table["251,192"] = [23733] let s:lib.Codec.decoding_table["251,193"] = [24359] let s:lib.Codec.decoding_table["251,194"] = [25142] let s:lib.Codec.decoding_table["251,195"] = [25160] let s:lib.Codec.decoding_table["251,196"] = [26122] let s:lib.Codec.decoding_table["251,197"] = [26215] let s:lib.Codec.decoding_table["251,198"] = [27627] let s:lib.Codec.decoding_table["251,199"] = [28009] let s:lib.Codec.decoding_table["251,200"] = [28111] let s:lib.Codec.decoding_table["251,201"] = [28246] let s:lib.Codec.decoding_table["251,202"] = [28408] let s:lib.Codec.decoding_table["251,203"] = [28564] let s:lib.Codec.decoding_table["251,204"] = [28640] let s:lib.Codec.decoding_table["251,205"] = [28649] let s:lib.Codec.decoding_table["251,206"] = [28765] let s:lib.Codec.decoding_table["251,207"] = [29392] let s:lib.Codec.decoding_table["251,208"] = [29733] let s:lib.Codec.decoding_table["251,209"] = [29786] let s:lib.Codec.decoding_table["251,210"] = [29920] let s:lib.Codec.decoding_table["251,211"] = [30355] let s:lib.Codec.decoding_table["251,212"] = [31068] let s:lib.Codec.decoding_table["251,213"] = [31946] let s:lib.Codec.decoding_table["251,214"] = [32286] let s:lib.Codec.decoding_table["251,215"] = [32993] let s:lib.Codec.decoding_table["251,216"] = [33446] let s:lib.Codec.decoding_table["251,217"] = [33899] let s:lib.Codec.decoding_table["251,218"] = [33983] let s:lib.Codec.decoding_table["251,219"] = [34382] let s:lib.Codec.decoding_table["251,220"] = [34399] let s:lib.Codec.decoding_table["251,221"] = [34676] let s:lib.Codec.decoding_table["251,222"] = [35703] let s:lib.Codec.decoding_table["251,223"] = [35946] let s:lib.Codec.decoding_table["251,224"] = [37804] let s:lib.Codec.decoding_table["251,225"] = [38912] let s:lib.Codec.decoding_table["251,226"] = [39013] let s:lib.Codec.decoding_table["251,227"] = [24785] let s:lib.Codec.decoding_table["251,228"] = [25110] let s:lib.Codec.decoding_table["251,229"] = [37239] let s:lib.Codec.decoding_table["251,230"] = [23130] let s:lib.Codec.decoding_table["251,231"] = [26127] let s:lib.Codec.decoding_table["251,232"] = [28151] let s:lib.Codec.decoding_table["251,233"] = [28222] let s:lib.Codec.decoding_table["251,234"] = [29759] let s:lib.Codec.decoding_table["251,235"] = [39746] let s:lib.Codec.decoding_table["251,236"] = [24573] let s:lib.Codec.decoding_table["251,237"] = [24794] let s:lib.Codec.decoding_table["251,238"] = [31503] let s:lib.Codec.decoding_table["251,239"] = [21700] let s:lib.Codec.decoding_table["251,240"] = [24344] let s:lib.Codec.decoding_table["251,241"] = [27742] let s:lib.Codec.decoding_table["251,242"] = [27859] let s:lib.Codec.decoding_table["251,243"] = [27946] let s:lib.Codec.decoding_table["251,244"] = [28888] let s:lib.Codec.decoding_table["251,245"] = [32005] let s:lib.Codec.decoding_table["251,246"] = [34425] let s:lib.Codec.decoding_table["251,247"] = [35340] let s:lib.Codec.decoding_table["251,248"] = [40251] let s:lib.Codec.decoding_table["251,249"] = [21270] let s:lib.Codec.decoding_table["251,250"] = [21644] let s:lib.Codec.decoding_table["251,251"] = [23301] let s:lib.Codec.decoding_table["251,252"] = [27194] let s:lib.Codec.decoding_table["251,253"] = [28779] let s:lib.Codec.decoding_table["251,254"] = [30069] let s:lib.Codec.decoding_table["252,161"] = [31117] let s:lib.Codec.decoding_table["252,162"] = [31166] let s:lib.Codec.decoding_table["252,163"] = [33457] let s:lib.Codec.decoding_table["252,164"] = [33775] let s:lib.Codec.decoding_table["252,165"] = [35441] let s:lib.Codec.decoding_table["252,166"] = [35649] let s:lib.Codec.decoding_table["252,167"] = [36008] let s:lib.Codec.decoding_table["252,168"] = [38772] let s:lib.Codec.decoding_table["252,169"] = [64011] let s:lib.Codec.decoding_table["252,170"] = [25844] let s:lib.Codec.decoding_table["252,171"] = [25899] let s:lib.Codec.decoding_table["252,172"] = [30906] let s:lib.Codec.decoding_table["252,173"] = [30907] let s:lib.Codec.decoding_table["252,174"] = [31339] let s:lib.Codec.decoding_table["252,175"] = [20024] let s:lib.Codec.decoding_table["252,176"] = [21914] let s:lib.Codec.decoding_table["252,177"] = [22864] let s:lib.Codec.decoding_table["252,178"] = [23462] let s:lib.Codec.decoding_table["252,179"] = [24187] let s:lib.Codec.decoding_table["252,180"] = [24739] let s:lib.Codec.decoding_table["252,181"] = [25563] let s:lib.Codec.decoding_table["252,182"] = [27489] let s:lib.Codec.decoding_table["252,183"] = [26213] let s:lib.Codec.decoding_table["252,184"] = [26707] let s:lib.Codec.decoding_table["252,185"] = [28185] let s:lib.Codec.decoding_table["252,186"] = [29029] let s:lib.Codec.decoding_table["252,187"] = [29872] let s:lib.Codec.decoding_table["252,188"] = [32008] let s:lib.Codec.decoding_table["252,189"] = [36996] let s:lib.Codec.decoding_table["252,190"] = [39529] let s:lib.Codec.decoding_table["252,191"] = [39973] let s:lib.Codec.decoding_table["252,192"] = [27963] let s:lib.Codec.decoding_table["252,193"] = [28369] let s:lib.Codec.decoding_table["252,194"] = [29502] let s:lib.Codec.decoding_table["252,195"] = [35905] let s:lib.Codec.decoding_table["252,196"] = [38346] let s:lib.Codec.decoding_table["252,197"] = [20976] let s:lib.Codec.decoding_table["252,198"] = [24140] let s:lib.Codec.decoding_table["252,199"] = [24488] let s:lib.Codec.decoding_table["252,200"] = [24653] let s:lib.Codec.decoding_table["252,201"] = [24822] let s:lib.Codec.decoding_table["252,202"] = [24880] let s:lib.Codec.decoding_table["252,203"] = [24908] let s:lib.Codec.decoding_table["252,204"] = [26179] let s:lib.Codec.decoding_table["252,205"] = [26180] let s:lib.Codec.decoding_table["252,206"] = [27045] let s:lib.Codec.decoding_table["252,207"] = [27841] let s:lib.Codec.decoding_table["252,208"] = [28255] let s:lib.Codec.decoding_table["252,209"] = [28361] let s:lib.Codec.decoding_table["252,210"] = [28514] let s:lib.Codec.decoding_table["252,211"] = [29004] let s:lib.Codec.decoding_table["252,212"] = [29852] let s:lib.Codec.decoding_table["252,213"] = [30343] let s:lib.Codec.decoding_table["252,214"] = [31681] let s:lib.Codec.decoding_table["252,215"] = [31783] let s:lib.Codec.decoding_table["252,216"] = [33618] let s:lib.Codec.decoding_table["252,217"] = [34647] let s:lib.Codec.decoding_table["252,218"] = [36945] let s:lib.Codec.decoding_table["252,219"] = [38541] let s:lib.Codec.decoding_table["252,220"] = [40643] let s:lib.Codec.decoding_table["252,221"] = [21295] let s:lib.Codec.decoding_table["252,222"] = [22238] let s:lib.Codec.decoding_table["252,223"] = [24315] let s:lib.Codec.decoding_table["252,224"] = [24458] let s:lib.Codec.decoding_table["252,225"] = [24674] let s:lib.Codec.decoding_table["252,226"] = [24724] let s:lib.Codec.decoding_table["252,227"] = [25079] let s:lib.Codec.decoding_table["252,228"] = [26214] let s:lib.Codec.decoding_table["252,229"] = [26371] let s:lib.Codec.decoding_table["252,230"] = [27292] let s:lib.Codec.decoding_table["252,231"] = [28142] let s:lib.Codec.decoding_table["252,232"] = [28590] let s:lib.Codec.decoding_table["252,233"] = [28784] let s:lib.Codec.decoding_table["252,234"] = [29546] let s:lib.Codec.decoding_table["252,235"] = [32362] let s:lib.Codec.decoding_table["252,236"] = [33214] let s:lib.Codec.decoding_table["252,237"] = [33588] let s:lib.Codec.decoding_table["252,238"] = [34516] let s:lib.Codec.decoding_table["252,239"] = [35496] let s:lib.Codec.decoding_table["252,240"] = [36036] let s:lib.Codec.decoding_table["252,241"] = [21123] let s:lib.Codec.decoding_table["252,242"] = [29554] let s:lib.Codec.decoding_table["252,243"] = [23446] let s:lib.Codec.decoding_table["252,244"] = [27243] let s:lib.Codec.decoding_table["252,245"] = [37892] let s:lib.Codec.decoding_table["252,246"] = [21742] let s:lib.Codec.decoding_table["252,247"] = [22150] let s:lib.Codec.decoding_table["252,248"] = [23389] let s:lib.Codec.decoding_table["252,249"] = [25928] let s:lib.Codec.decoding_table["252,250"] = [25989] let s:lib.Codec.decoding_table["252,251"] = [26313] let s:lib.Codec.decoding_table["252,252"] = [26783] let s:lib.Codec.decoding_table["252,253"] = [28045] let s:lib.Codec.decoding_table["252,254"] = [28102] let s:lib.Codec.decoding_table["253,161"] = [29243] let s:lib.Codec.decoding_table["253,162"] = [32948] let s:lib.Codec.decoding_table["253,163"] = [37237] let s:lib.Codec.decoding_table["253,164"] = [39501] let s:lib.Codec.decoding_table["253,165"] = [20399] let s:lib.Codec.decoding_table["253,166"] = [20505] let s:lib.Codec.decoding_table["253,167"] = [21402] let s:lib.Codec.decoding_table["253,168"] = [21518] let s:lib.Codec.decoding_table["253,169"] = [21564] let s:lib.Codec.decoding_table["253,170"] = [21897] let s:lib.Codec.decoding_table["253,171"] = [21957] let s:lib.Codec.decoding_table["253,172"] = [24127] let s:lib.Codec.decoding_table["253,173"] = [24460] let s:lib.Codec.decoding_table["253,174"] = [26429] let s:lib.Codec.decoding_table["253,175"] = [29030] let s:lib.Codec.decoding_table["253,176"] = [29661] let s:lib.Codec.decoding_table["253,177"] = [36869] let s:lib.Codec.decoding_table["253,178"] = [21211] let s:lib.Codec.decoding_table["253,179"] = [21235] let s:lib.Codec.decoding_table["253,180"] = [22628] let s:lib.Codec.decoding_table["253,181"] = [22734] let s:lib.Codec.decoding_table["253,182"] = [28932] let s:lib.Codec.decoding_table["253,183"] = [29071] let s:lib.Codec.decoding_table["253,184"] = [29179] let s:lib.Codec.decoding_table["253,185"] = [34224] let s:lib.Codec.decoding_table["253,186"] = [35347] let s:lib.Codec.decoding_table["253,187"] = [26248] let s:lib.Codec.decoding_table["253,188"] = [34216] let s:lib.Codec.decoding_table["253,189"] = [21927] let s:lib.Codec.decoding_table["253,190"] = [26244] let s:lib.Codec.decoding_table["253,191"] = [29002] let s:lib.Codec.decoding_table["253,192"] = [33841] let s:lib.Codec.decoding_table["253,193"] = [21321] let s:lib.Codec.decoding_table["253,194"] = [21913] let s:lib.Codec.decoding_table["253,195"] = [27585] let s:lib.Codec.decoding_table["253,196"] = [24409] let s:lib.Codec.decoding_table["253,197"] = [24509] let s:lib.Codec.decoding_table["253,198"] = [25582] let s:lib.Codec.decoding_table["253,199"] = [26249] let s:lib.Codec.decoding_table["253,200"] = [28999] let s:lib.Codec.decoding_table["253,201"] = [35569] let s:lib.Codec.decoding_table["253,202"] = [36637] let s:lib.Codec.decoding_table["253,203"] = [40638] let s:lib.Codec.decoding_table["253,204"] = [20241] let s:lib.Codec.decoding_table["253,205"] = [25658] let s:lib.Codec.decoding_table["253,206"] = [28875] let s:lib.Codec.decoding_table["253,207"] = [30054] let s:lib.Codec.decoding_table["253,208"] = [34407] let s:lib.Codec.decoding_table["253,209"] = [24676] let s:lib.Codec.decoding_table["253,210"] = [35662] let s:lib.Codec.decoding_table["253,211"] = [40440] let s:lib.Codec.decoding_table["253,212"] = [20807] let s:lib.Codec.decoding_table["253,213"] = [20982] let s:lib.Codec.decoding_table["253,214"] = [21256] let s:lib.Codec.decoding_table["253,215"] = [27958] let s:lib.Codec.decoding_table["253,216"] = [33016] let s:lib.Codec.decoding_table["253,217"] = [40657] let s:lib.Codec.decoding_table["253,218"] = [26133] let s:lib.Codec.decoding_table["253,219"] = [27427] let s:lib.Codec.decoding_table["253,220"] = [28824] let s:lib.Codec.decoding_table["253,221"] = [30165] let s:lib.Codec.decoding_table["253,222"] = [21507] let s:lib.Codec.decoding_table["253,223"] = [23673] let s:lib.Codec.decoding_table["253,224"] = [32007] let s:lib.Codec.decoding_table["253,225"] = [35350] let s:lib.Codec.decoding_table["253,226"] = [27424] let s:lib.Codec.decoding_table["253,227"] = [27453] let s:lib.Codec.decoding_table["253,228"] = [27462] let s:lib.Codec.decoding_table["253,229"] = [21560] let s:lib.Codec.decoding_table["253,230"] = [24688] let s:lib.Codec.decoding_table["253,231"] = [27965] let s:lib.Codec.decoding_table["253,232"] = [32725] let s:lib.Codec.decoding_table["253,233"] = [33288] let s:lib.Codec.decoding_table["253,234"] = [20694] let s:lib.Codec.decoding_table["253,235"] = [20958] let s:lib.Codec.decoding_table["253,236"] = [21916] let s:lib.Codec.decoding_table["253,237"] = [22123] let s:lib.Codec.decoding_table["253,238"] = [22221] let s:lib.Codec.decoding_table["253,239"] = [23020] let s:lib.Codec.decoding_table["253,240"] = [23305] let s:lib.Codec.decoding_table["253,241"] = [24076] let s:lib.Codec.decoding_table["253,242"] = [24985] let s:lib.Codec.decoding_table["253,243"] = [24984] let s:lib.Codec.decoding_table["253,244"] = [25137] let s:lib.Codec.decoding_table["253,245"] = [26206] let s:lib.Codec.decoding_table["253,246"] = [26342] let s:lib.Codec.decoding_table["253,247"] = [29081] let s:lib.Codec.decoding_table["253,248"] = [29113] let s:lib.Codec.decoding_table["253,249"] = [29114] let s:lib.Codec.decoding_table["253,250"] = [29351] let s:lib.Codec.decoding_table["253,251"] = [31143] let s:lib.Codec.decoding_table["253,252"] = [31232] let s:lib.Codec.decoding_table["253,253"] = [32690] let s:lib.Codec.decoding_table["253,254"] = [35440] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["44034"] = [129,65] let s:lib.Codec.encoding_table["44035"] = [129,66] let s:lib.Codec.encoding_table["44037"] = [129,67] let s:lib.Codec.encoding_table["44038"] = [129,68] let s:lib.Codec.encoding_table["44043"] = [129,69] let s:lib.Codec.encoding_table["44044"] = [129,70] let s:lib.Codec.encoding_table["44045"] = [129,71] let s:lib.Codec.encoding_table["44046"] = [129,72] let s:lib.Codec.encoding_table["44047"] = [129,73] let s:lib.Codec.encoding_table["44056"] = [129,74] let s:lib.Codec.encoding_table["44062"] = [129,75] let s:lib.Codec.encoding_table["44063"] = [129,76] let s:lib.Codec.encoding_table["44065"] = [129,77] let s:lib.Codec.encoding_table["44066"] = [129,78] let s:lib.Codec.encoding_table["44067"] = [129,79] let s:lib.Codec.encoding_table["44069"] = [129,80] let s:lib.Codec.encoding_table["44070"] = [129,81] let s:lib.Codec.encoding_table["44071"] = [129,82] let s:lib.Codec.encoding_table["44072"] = [129,83] let s:lib.Codec.encoding_table["44073"] = [129,84] let s:lib.Codec.encoding_table["44074"] = [129,85] let s:lib.Codec.encoding_table["44075"] = [129,86] let s:lib.Codec.encoding_table["44078"] = [129,87] let s:lib.Codec.encoding_table["44082"] = [129,88] let s:lib.Codec.encoding_table["44083"] = [129,89] let s:lib.Codec.encoding_table["44084"] = [129,90] let s:lib.Codec.encoding_table["44085"] = [129,97] let s:lib.Codec.encoding_table["44086"] = [129,98] let s:lib.Codec.encoding_table["44087"] = [129,99] let s:lib.Codec.encoding_table["44090"] = [129,100] let s:lib.Codec.encoding_table["44091"] = [129,101] let s:lib.Codec.encoding_table["44093"] = [129,102] let s:lib.Codec.encoding_table["44094"] = [129,103] let s:lib.Codec.encoding_table["44095"] = [129,104] let s:lib.Codec.encoding_table["44097"] = [129,105] let s:lib.Codec.encoding_table["44098"] = [129,106] let s:lib.Codec.encoding_table["44099"] = [129,107] let s:lib.Codec.encoding_table["44100"] = [129,108] let s:lib.Codec.encoding_table["44101"] = [129,109] let s:lib.Codec.encoding_table["44102"] = [129,110] let s:lib.Codec.encoding_table["44103"] = [129,111] let s:lib.Codec.encoding_table["44104"] = [129,112] let s:lib.Codec.encoding_table["44105"] = [129,113] let s:lib.Codec.encoding_table["44106"] = [129,114] let s:lib.Codec.encoding_table["44108"] = [129,115] let s:lib.Codec.encoding_table["44110"] = [129,116] let s:lib.Codec.encoding_table["44111"] = [129,117] let s:lib.Codec.encoding_table["44112"] = [129,118] let s:lib.Codec.encoding_table["44113"] = [129,119] let s:lib.Codec.encoding_table["44114"] = [129,120] let s:lib.Codec.encoding_table["44115"] = [129,121] let s:lib.Codec.encoding_table["44117"] = [129,122] let s:lib.Codec.encoding_table["44118"] = [129,129] let s:lib.Codec.encoding_table["44119"] = [129,130] let s:lib.Codec.encoding_table["44121"] = [129,131] let s:lib.Codec.encoding_table["44122"] = [129,132] let s:lib.Codec.encoding_table["44123"] = [129,133] let s:lib.Codec.encoding_table["44125"] = [129,134] let s:lib.Codec.encoding_table["44126"] = [129,135] let s:lib.Codec.encoding_table["44127"] = [129,136] let s:lib.Codec.encoding_table["44128"] = [129,137] let s:lib.Codec.encoding_table["44129"] = [129,138] let s:lib.Codec.encoding_table["44130"] = [129,139] let s:lib.Codec.encoding_table["44131"] = [129,140] let s:lib.Codec.encoding_table["44132"] = [129,141] let s:lib.Codec.encoding_table["44133"] = [129,142] let s:lib.Codec.encoding_table["44134"] = [129,143] let s:lib.Codec.encoding_table["44135"] = [129,144] let s:lib.Codec.encoding_table["44136"] = [129,145] let s:lib.Codec.encoding_table["44137"] = [129,146] let s:lib.Codec.encoding_table["44138"] = [129,147] let s:lib.Codec.encoding_table["44139"] = [129,148] let s:lib.Codec.encoding_table["44140"] = [129,149] let s:lib.Codec.encoding_table["44141"] = [129,150] let s:lib.Codec.encoding_table["44142"] = [129,151] let s:lib.Codec.encoding_table["44143"] = [129,152] let s:lib.Codec.encoding_table["44146"] = [129,153] let s:lib.Codec.encoding_table["44147"] = [129,154] let s:lib.Codec.encoding_table["44149"] = [129,155] let s:lib.Codec.encoding_table["44150"] = [129,156] let s:lib.Codec.encoding_table["44153"] = [129,157] let s:lib.Codec.encoding_table["44155"] = [129,158] let s:lib.Codec.encoding_table["44156"] = [129,159] let s:lib.Codec.encoding_table["44157"] = [129,160] let s:lib.Codec.encoding_table["44158"] = [129,161] let s:lib.Codec.encoding_table["44159"] = [129,162] let s:lib.Codec.encoding_table["44162"] = [129,163] let s:lib.Codec.encoding_table["44167"] = [129,164] let s:lib.Codec.encoding_table["44168"] = [129,165] let s:lib.Codec.encoding_table["44173"] = [129,166] let s:lib.Codec.encoding_table["44174"] = [129,167] let s:lib.Codec.encoding_table["44175"] = [129,168] let s:lib.Codec.encoding_table["44177"] = [129,169] let s:lib.Codec.encoding_table["44178"] = [129,170] let s:lib.Codec.encoding_table["44179"] = [129,171] let s:lib.Codec.encoding_table["44181"] = [129,172] let s:lib.Codec.encoding_table["44182"] = [129,173] let s:lib.Codec.encoding_table["44183"] = [129,174] let s:lib.Codec.encoding_table["44184"] = [129,175] let s:lib.Codec.encoding_table["44185"] = [129,176] let s:lib.Codec.encoding_table["44186"] = [129,177] let s:lib.Codec.encoding_table["44187"] = [129,178] let s:lib.Codec.encoding_table["44190"] = [129,179] let s:lib.Codec.encoding_table["44194"] = [129,180] let s:lib.Codec.encoding_table["44195"] = [129,181] let s:lib.Codec.encoding_table["44196"] = [129,182] let s:lib.Codec.encoding_table["44197"] = [129,183] let s:lib.Codec.encoding_table["44198"] = [129,184] let s:lib.Codec.encoding_table["44199"] = [129,185] let s:lib.Codec.encoding_table["44203"] = [129,186] let s:lib.Codec.encoding_table["44205"] = [129,187] let s:lib.Codec.encoding_table["44206"] = [129,188] let s:lib.Codec.encoding_table["44209"] = [129,189] let s:lib.Codec.encoding_table["44210"] = [129,190] let s:lib.Codec.encoding_table["44211"] = [129,191] let s:lib.Codec.encoding_table["44212"] = [129,192] let s:lib.Codec.encoding_table["44213"] = [129,193] let s:lib.Codec.encoding_table["44214"] = [129,194] let s:lib.Codec.encoding_table["44215"] = [129,195] let s:lib.Codec.encoding_table["44218"] = [129,196] let s:lib.Codec.encoding_table["44222"] = [129,197] let s:lib.Codec.encoding_table["44223"] = [129,198] let s:lib.Codec.encoding_table["44224"] = [129,199] let s:lib.Codec.encoding_table["44226"] = [129,200] let s:lib.Codec.encoding_table["44227"] = [129,201] let s:lib.Codec.encoding_table["44229"] = [129,202] let s:lib.Codec.encoding_table["44230"] = [129,203] let s:lib.Codec.encoding_table["44231"] = [129,204] let s:lib.Codec.encoding_table["44233"] = [129,205] let s:lib.Codec.encoding_table["44234"] = [129,206] let s:lib.Codec.encoding_table["44235"] = [129,207] let s:lib.Codec.encoding_table["44237"] = [129,208] let s:lib.Codec.encoding_table["44238"] = [129,209] let s:lib.Codec.encoding_table["44239"] = [129,210] let s:lib.Codec.encoding_table["44240"] = [129,211] let s:lib.Codec.encoding_table["44241"] = [129,212] let s:lib.Codec.encoding_table["44242"] = [129,213] let s:lib.Codec.encoding_table["44243"] = [129,214] let s:lib.Codec.encoding_table["44244"] = [129,215] let s:lib.Codec.encoding_table["44246"] = [129,216] let s:lib.Codec.encoding_table["44248"] = [129,217] let s:lib.Codec.encoding_table["44249"] = [129,218] let s:lib.Codec.encoding_table["44250"] = [129,219] let s:lib.Codec.encoding_table["44251"] = [129,220] let s:lib.Codec.encoding_table["44252"] = [129,221] let s:lib.Codec.encoding_table["44253"] = [129,222] let s:lib.Codec.encoding_table["44254"] = [129,223] let s:lib.Codec.encoding_table["44255"] = [129,224] let s:lib.Codec.encoding_table["44258"] = [129,225] let s:lib.Codec.encoding_table["44259"] = [129,226] let s:lib.Codec.encoding_table["44261"] = [129,227] let s:lib.Codec.encoding_table["44262"] = [129,228] let s:lib.Codec.encoding_table["44265"] = [129,229] let s:lib.Codec.encoding_table["44267"] = [129,230] let s:lib.Codec.encoding_table["44269"] = [129,231] let s:lib.Codec.encoding_table["44270"] = [129,232] let s:lib.Codec.encoding_table["44274"] = [129,233] let s:lib.Codec.encoding_table["44276"] = [129,234] let s:lib.Codec.encoding_table["44279"] = [129,235] let s:lib.Codec.encoding_table["44280"] = [129,236] let s:lib.Codec.encoding_table["44281"] = [129,237] let s:lib.Codec.encoding_table["44282"] = [129,238] let s:lib.Codec.encoding_table["44283"] = [129,239] let s:lib.Codec.encoding_table["44286"] = [129,240] let s:lib.Codec.encoding_table["44287"] = [129,241] let s:lib.Codec.encoding_table["44289"] = [129,242] let s:lib.Codec.encoding_table["44290"] = [129,243] let s:lib.Codec.encoding_table["44291"] = [129,244] let s:lib.Codec.encoding_table["44293"] = [129,245] let s:lib.Codec.encoding_table["44295"] = [129,246] let s:lib.Codec.encoding_table["44296"] = [129,247] let s:lib.Codec.encoding_table["44297"] = [129,248] let s:lib.Codec.encoding_table["44298"] = [129,249] let s:lib.Codec.encoding_table["44299"] = [129,250] let s:lib.Codec.encoding_table["44302"] = [129,251] let s:lib.Codec.encoding_table["44304"] = [129,252] let s:lib.Codec.encoding_table["44306"] = [129,253] let s:lib.Codec.encoding_table["44307"] = [129,254] let s:lib.Codec.encoding_table["44308"] = [130,65] let s:lib.Codec.encoding_table["44309"] = [130,66] let s:lib.Codec.encoding_table["44310"] = [130,67] let s:lib.Codec.encoding_table["44311"] = [130,68] let s:lib.Codec.encoding_table["44313"] = [130,69] let s:lib.Codec.encoding_table["44314"] = [130,70] let s:lib.Codec.encoding_table["44315"] = [130,71] let s:lib.Codec.encoding_table["44317"] = [130,72] let s:lib.Codec.encoding_table["44318"] = [130,73] let s:lib.Codec.encoding_table["44319"] = [130,74] let s:lib.Codec.encoding_table["44321"] = [130,75] let s:lib.Codec.encoding_table["44322"] = [130,76] let s:lib.Codec.encoding_table["44323"] = [130,77] let s:lib.Codec.encoding_table["44324"] = [130,78] let s:lib.Codec.encoding_table["44325"] = [130,79] let s:lib.Codec.encoding_table["44326"] = [130,80] let s:lib.Codec.encoding_table["44327"] = [130,81] let s:lib.Codec.encoding_table["44328"] = [130,82] let s:lib.Codec.encoding_table["44330"] = [130,83] let s:lib.Codec.encoding_table["44331"] = [130,84] let s:lib.Codec.encoding_table["44334"] = [130,85] let s:lib.Codec.encoding_table["44335"] = [130,86] let s:lib.Codec.encoding_table["44336"] = [130,87] let s:lib.Codec.encoding_table["44337"] = [130,88] let s:lib.Codec.encoding_table["44338"] = [130,89] let s:lib.Codec.encoding_table["44339"] = [130,90] let s:lib.Codec.encoding_table["44342"] = [130,97] let s:lib.Codec.encoding_table["44343"] = [130,98] let s:lib.Codec.encoding_table["44345"] = [130,99] let s:lib.Codec.encoding_table["44346"] = [130,100] let s:lib.Codec.encoding_table["44347"] = [130,101] let s:lib.Codec.encoding_table["44349"] = [130,102] let s:lib.Codec.encoding_table["44350"] = [130,103] let s:lib.Codec.encoding_table["44351"] = [130,104] let s:lib.Codec.encoding_table["44352"] = [130,105] let s:lib.Codec.encoding_table["44353"] = [130,106] let s:lib.Codec.encoding_table["44354"] = [130,107] let s:lib.Codec.encoding_table["44355"] = [130,108] let s:lib.Codec.encoding_table["44358"] = [130,109] let s:lib.Codec.encoding_table["44360"] = [130,110] let s:lib.Codec.encoding_table["44362"] = [130,111] let s:lib.Codec.encoding_table["44363"] = [130,112] let s:lib.Codec.encoding_table["44364"] = [130,113] let s:lib.Codec.encoding_table["44365"] = [130,114] let s:lib.Codec.encoding_table["44366"] = [130,115] let s:lib.Codec.encoding_table["44367"] = [130,116] let s:lib.Codec.encoding_table["44369"] = [130,117] let s:lib.Codec.encoding_table["44370"] = [130,118] let s:lib.Codec.encoding_table["44371"] = [130,119] let s:lib.Codec.encoding_table["44373"] = [130,120] let s:lib.Codec.encoding_table["44374"] = [130,121] let s:lib.Codec.encoding_table["44375"] = [130,122] let s:lib.Codec.encoding_table["44377"] = [130,129] let s:lib.Codec.encoding_table["44378"] = [130,130] let s:lib.Codec.encoding_table["44379"] = [130,131] let s:lib.Codec.encoding_table["44380"] = [130,132] let s:lib.Codec.encoding_table["44381"] = [130,133] let s:lib.Codec.encoding_table["44382"] = [130,134] let s:lib.Codec.encoding_table["44383"] = [130,135] let s:lib.Codec.encoding_table["44384"] = [130,136] let s:lib.Codec.encoding_table["44386"] = [130,137] let s:lib.Codec.encoding_table["44388"] = [130,138] let s:lib.Codec.encoding_table["44389"] = [130,139] let s:lib.Codec.encoding_table["44390"] = [130,140] let s:lib.Codec.encoding_table["44391"] = [130,141] let s:lib.Codec.encoding_table["44392"] = [130,142] let s:lib.Codec.encoding_table["44393"] = [130,143] let s:lib.Codec.encoding_table["44394"] = [130,144] let s:lib.Codec.encoding_table["44395"] = [130,145] let s:lib.Codec.encoding_table["44398"] = [130,146] let s:lib.Codec.encoding_table["44399"] = [130,147] let s:lib.Codec.encoding_table["44401"] = [130,148] let s:lib.Codec.encoding_table["44402"] = [130,149] let s:lib.Codec.encoding_table["44407"] = [130,150] let s:lib.Codec.encoding_table["44408"] = [130,151] let s:lib.Codec.encoding_table["44409"] = [130,152] let s:lib.Codec.encoding_table["44410"] = [130,153] let s:lib.Codec.encoding_table["44414"] = [130,154] let s:lib.Codec.encoding_table["44416"] = [130,155] let s:lib.Codec.encoding_table["44419"] = [130,156] let s:lib.Codec.encoding_table["44420"] = [130,157] let s:lib.Codec.encoding_table["44421"] = [130,158] let s:lib.Codec.encoding_table["44422"] = [130,159] let s:lib.Codec.encoding_table["44423"] = [130,160] let s:lib.Codec.encoding_table["44426"] = [130,161] let s:lib.Codec.encoding_table["44427"] = [130,162] let s:lib.Codec.encoding_table["44429"] = [130,163] let s:lib.Codec.encoding_table["44430"] = [130,164] let s:lib.Codec.encoding_table["44431"] = [130,165] let s:lib.Codec.encoding_table["44433"] = [130,166] let s:lib.Codec.encoding_table["44434"] = [130,167] let s:lib.Codec.encoding_table["44435"] = [130,168] let s:lib.Codec.encoding_table["44436"] = [130,169] let s:lib.Codec.encoding_table["44437"] = [130,170] let s:lib.Codec.encoding_table["44438"] = [130,171] let s:lib.Codec.encoding_table["44439"] = [130,172] let s:lib.Codec.encoding_table["44440"] = [130,173] let s:lib.Codec.encoding_table["44441"] = [130,174] let s:lib.Codec.encoding_table["44442"] = [130,175] let s:lib.Codec.encoding_table["44443"] = [130,176] let s:lib.Codec.encoding_table["44446"] = [130,177] let s:lib.Codec.encoding_table["44447"] = [130,178] let s:lib.Codec.encoding_table["44448"] = [130,179] let s:lib.Codec.encoding_table["44449"] = [130,180] let s:lib.Codec.encoding_table["44450"] = [130,181] let s:lib.Codec.encoding_table["44451"] = [130,182] let s:lib.Codec.encoding_table["44453"] = [130,183] let s:lib.Codec.encoding_table["44454"] = [130,184] let s:lib.Codec.encoding_table["44455"] = [130,185] let s:lib.Codec.encoding_table["44456"] = [130,186] let s:lib.Codec.encoding_table["44457"] = [130,187] let s:lib.Codec.encoding_table["44458"] = [130,188] let s:lib.Codec.encoding_table["44459"] = [130,189] let s:lib.Codec.encoding_table["44460"] = [130,190] let s:lib.Codec.encoding_table["44461"] = [130,191] let s:lib.Codec.encoding_table["44462"] = [130,192] let s:lib.Codec.encoding_table["44463"] = [130,193] let s:lib.Codec.encoding_table["44464"] = [130,194] let s:lib.Codec.encoding_table["44465"] = [130,195] let s:lib.Codec.encoding_table["44466"] = [130,196] let s:lib.Codec.encoding_table["44467"] = [130,197] let s:lib.Codec.encoding_table["44468"] = [130,198] let s:lib.Codec.encoding_table["44469"] = [130,199] let s:lib.Codec.encoding_table["44470"] = [130,200] let s:lib.Codec.encoding_table["44472"] = [130,201] let s:lib.Codec.encoding_table["44473"] = [130,202] let s:lib.Codec.encoding_table["44474"] = [130,203] let s:lib.Codec.encoding_table["44475"] = [130,204] let s:lib.Codec.encoding_table["44476"] = [130,205] let s:lib.Codec.encoding_table["44477"] = [130,206] let s:lib.Codec.encoding_table["44478"] = [130,207] let s:lib.Codec.encoding_table["44479"] = [130,208] let s:lib.Codec.encoding_table["44482"] = [130,209] let s:lib.Codec.encoding_table["44483"] = [130,210] let s:lib.Codec.encoding_table["44485"] = [130,211] let s:lib.Codec.encoding_table["44486"] = [130,212] let s:lib.Codec.encoding_table["44487"] = [130,213] let s:lib.Codec.encoding_table["44489"] = [130,214] let s:lib.Codec.encoding_table["44490"] = [130,215] let s:lib.Codec.encoding_table["44491"] = [130,216] let s:lib.Codec.encoding_table["44492"] = [130,217] let s:lib.Codec.encoding_table["44493"] = [130,218] let s:lib.Codec.encoding_table["44494"] = [130,219] let s:lib.Codec.encoding_table["44495"] = [130,220] let s:lib.Codec.encoding_table["44498"] = [130,221] let s:lib.Codec.encoding_table["44500"] = [130,222] let s:lib.Codec.encoding_table["44501"] = [130,223] let s:lib.Codec.encoding_table["44502"] = [130,224] let s:lib.Codec.encoding_table["44503"] = [130,225] let s:lib.Codec.encoding_table["44504"] = [130,226] let s:lib.Codec.encoding_table["44505"] = [130,227] let s:lib.Codec.encoding_table["44506"] = [130,228] let s:lib.Codec.encoding_table["44507"] = [130,229] let s:lib.Codec.encoding_table["44509"] = [130,230] let s:lib.Codec.encoding_table["44510"] = [130,231] let s:lib.Codec.encoding_table["44511"] = [130,232] let s:lib.Codec.encoding_table["44513"] = [130,233] let s:lib.Codec.encoding_table["44514"] = [130,234] let s:lib.Codec.encoding_table["44515"] = [130,235] let s:lib.Codec.encoding_table["44517"] = [130,236] let s:lib.Codec.encoding_table["44518"] = [130,237] let s:lib.Codec.encoding_table["44519"] = [130,238] let s:lib.Codec.encoding_table["44520"] = [130,239] let s:lib.Codec.encoding_table["44521"] = [130,240] let s:lib.Codec.encoding_table["44522"] = [130,241] let s:lib.Codec.encoding_table["44523"] = [130,242] let s:lib.Codec.encoding_table["44524"] = [130,243] let s:lib.Codec.encoding_table["44525"] = [130,244] let s:lib.Codec.encoding_table["44526"] = [130,245] let s:lib.Codec.encoding_table["44527"] = [130,246] let s:lib.Codec.encoding_table["44528"] = [130,247] let s:lib.Codec.encoding_table["44529"] = [130,248] let s:lib.Codec.encoding_table["44530"] = [130,249] let s:lib.Codec.encoding_table["44531"] = [130,250] let s:lib.Codec.encoding_table["44532"] = [130,251] let s:lib.Codec.encoding_table["44533"] = [130,252] let s:lib.Codec.encoding_table["44534"] = [130,253] let s:lib.Codec.encoding_table["44535"] = [130,254] let s:lib.Codec.encoding_table["44538"] = [131,65] let s:lib.Codec.encoding_table["44539"] = [131,66] let s:lib.Codec.encoding_table["44541"] = [131,67] let s:lib.Codec.encoding_table["44542"] = [131,68] let s:lib.Codec.encoding_table["44546"] = [131,69] let s:lib.Codec.encoding_table["44547"] = [131,70] let s:lib.Codec.encoding_table["44548"] = [131,71] let s:lib.Codec.encoding_table["44549"] = [131,72] let s:lib.Codec.encoding_table["44550"] = [131,73] let s:lib.Codec.encoding_table["44551"] = [131,74] let s:lib.Codec.encoding_table["44554"] = [131,75] let s:lib.Codec.encoding_table["44556"] = [131,76] let s:lib.Codec.encoding_table["44558"] = [131,77] let s:lib.Codec.encoding_table["44559"] = [131,78] let s:lib.Codec.encoding_table["44560"] = [131,79] let s:lib.Codec.encoding_table["44561"] = [131,80] let s:lib.Codec.encoding_table["44562"] = [131,81] let s:lib.Codec.encoding_table["44563"] = [131,82] let s:lib.Codec.encoding_table["44565"] = [131,83] let s:lib.Codec.encoding_table["44566"] = [131,84] let s:lib.Codec.encoding_table["44567"] = [131,85] let s:lib.Codec.encoding_table["44568"] = [131,86] let s:lib.Codec.encoding_table["44569"] = [131,87] let s:lib.Codec.encoding_table["44570"] = [131,88] let s:lib.Codec.encoding_table["44571"] = [131,89] let s:lib.Codec.encoding_table["44572"] = [131,90] let s:lib.Codec.encoding_table["44573"] = [131,97] let s:lib.Codec.encoding_table["44574"] = [131,98] let s:lib.Codec.encoding_table["44575"] = [131,99] let s:lib.Codec.encoding_table["44576"] = [131,100] let s:lib.Codec.encoding_table["44577"] = [131,101] let s:lib.Codec.encoding_table["44578"] = [131,102] let s:lib.Codec.encoding_table["44579"] = [131,103] let s:lib.Codec.encoding_table["44580"] = [131,104] let s:lib.Codec.encoding_table["44581"] = [131,105] let s:lib.Codec.encoding_table["44582"] = [131,106] let s:lib.Codec.encoding_table["44583"] = [131,107] let s:lib.Codec.encoding_table["44584"] = [131,108] let s:lib.Codec.encoding_table["44585"] = [131,109] let s:lib.Codec.encoding_table["44586"] = [131,110] let s:lib.Codec.encoding_table["44587"] = [131,111] let s:lib.Codec.encoding_table["44588"] = [131,112] let s:lib.Codec.encoding_table["44589"] = [131,113] let s:lib.Codec.encoding_table["44590"] = [131,114] let s:lib.Codec.encoding_table["44591"] = [131,115] let s:lib.Codec.encoding_table["44594"] = [131,116] let s:lib.Codec.encoding_table["44595"] = [131,117] let s:lib.Codec.encoding_table["44597"] = [131,118] let s:lib.Codec.encoding_table["44598"] = [131,119] let s:lib.Codec.encoding_table["44601"] = [131,120] let s:lib.Codec.encoding_table["44603"] = [131,121] let s:lib.Codec.encoding_table["44604"] = [131,122] let s:lib.Codec.encoding_table["44605"] = [131,129] let s:lib.Codec.encoding_table["44606"] = [131,130] let s:lib.Codec.encoding_table["44607"] = [131,131] let s:lib.Codec.encoding_table["44610"] = [131,132] let s:lib.Codec.encoding_table["44612"] = [131,133] let s:lib.Codec.encoding_table["44615"] = [131,134] let s:lib.Codec.encoding_table["44616"] = [131,135] let s:lib.Codec.encoding_table["44617"] = [131,136] let s:lib.Codec.encoding_table["44619"] = [131,137] let s:lib.Codec.encoding_table["44623"] = [131,138] let s:lib.Codec.encoding_table["44625"] = [131,139] let s:lib.Codec.encoding_table["44626"] = [131,140] let s:lib.Codec.encoding_table["44627"] = [131,141] let s:lib.Codec.encoding_table["44629"] = [131,142] let s:lib.Codec.encoding_table["44631"] = [131,143] let s:lib.Codec.encoding_table["44632"] = [131,144] let s:lib.Codec.encoding_table["44633"] = [131,145] let s:lib.Codec.encoding_table["44634"] = [131,146] let s:lib.Codec.encoding_table["44635"] = [131,147] let s:lib.Codec.encoding_table["44638"] = [131,148] let s:lib.Codec.encoding_table["44642"] = [131,149] let s:lib.Codec.encoding_table["44643"] = [131,150] let s:lib.Codec.encoding_table["44644"] = [131,151] let s:lib.Codec.encoding_table["44646"] = [131,152] let s:lib.Codec.encoding_table["44647"] = [131,153] let s:lib.Codec.encoding_table["44650"] = [131,154] let s:lib.Codec.encoding_table["44651"] = [131,155] let s:lib.Codec.encoding_table["44653"] = [131,156] let s:lib.Codec.encoding_table["44654"] = [131,157] let s:lib.Codec.encoding_table["44655"] = [131,158] let s:lib.Codec.encoding_table["44657"] = [131,159] let s:lib.Codec.encoding_table["44658"] = [131,160] let s:lib.Codec.encoding_table["44659"] = [131,161] let s:lib.Codec.encoding_table["44660"] = [131,162] let s:lib.Codec.encoding_table["44661"] = [131,163] let s:lib.Codec.encoding_table["44662"] = [131,164] let s:lib.Codec.encoding_table["44663"] = [131,165] let s:lib.Codec.encoding_table["44666"] = [131,166] let s:lib.Codec.encoding_table["44670"] = [131,167] let s:lib.Codec.encoding_table["44671"] = [131,168] let s:lib.Codec.encoding_table["44672"] = [131,169] let s:lib.Codec.encoding_table["44673"] = [131,170] let s:lib.Codec.encoding_table["44674"] = [131,171] let s:lib.Codec.encoding_table["44675"] = [131,172] let s:lib.Codec.encoding_table["44678"] = [131,173] let s:lib.Codec.encoding_table["44679"] = [131,174] let s:lib.Codec.encoding_table["44680"] = [131,175] let s:lib.Codec.encoding_table["44681"] = [131,176] let s:lib.Codec.encoding_table["44682"] = [131,177] let s:lib.Codec.encoding_table["44683"] = [131,178] let s:lib.Codec.encoding_table["44685"] = [131,179] let s:lib.Codec.encoding_table["44686"] = [131,180] let s:lib.Codec.encoding_table["44687"] = [131,181] let s:lib.Codec.encoding_table["44688"] = [131,182] let s:lib.Codec.encoding_table["44689"] = [131,183] let s:lib.Codec.encoding_table["44690"] = [131,184] let s:lib.Codec.encoding_table["44691"] = [131,185] let s:lib.Codec.encoding_table["44692"] = [131,186] let s:lib.Codec.encoding_table["44693"] = [131,187] let s:lib.Codec.encoding_table["44694"] = [131,188] let s:lib.Codec.encoding_table["44695"] = [131,189] let s:lib.Codec.encoding_table["44696"] = [131,190] let s:lib.Codec.encoding_table["44697"] = [131,191] let s:lib.Codec.encoding_table["44698"] = [131,192] let s:lib.Codec.encoding_table["44699"] = [131,193] let s:lib.Codec.encoding_table["44700"] = [131,194] let s:lib.Codec.encoding_table["44701"] = [131,195] let s:lib.Codec.encoding_table["44702"] = [131,196] let s:lib.Codec.encoding_table["44703"] = [131,197] let s:lib.Codec.encoding_table["44704"] = [131,198] let s:lib.Codec.encoding_table["44705"] = [131,199] let s:lib.Codec.encoding_table["44706"] = [131,200] let s:lib.Codec.encoding_table["44707"] = [131,201] let s:lib.Codec.encoding_table["44708"] = [131,202] let s:lib.Codec.encoding_table["44709"] = [131,203] let s:lib.Codec.encoding_table["44710"] = [131,204] let s:lib.Codec.encoding_table["44711"] = [131,205] let s:lib.Codec.encoding_table["44712"] = [131,206] let s:lib.Codec.encoding_table["44713"] = [131,207] let s:lib.Codec.encoding_table["44714"] = [131,208] let s:lib.Codec.encoding_table["44715"] = [131,209] let s:lib.Codec.encoding_table["44716"] = [131,210] let s:lib.Codec.encoding_table["44717"] = [131,211] let s:lib.Codec.encoding_table["44718"] = [131,212] let s:lib.Codec.encoding_table["44719"] = [131,213] let s:lib.Codec.encoding_table["44720"] = [131,214] let s:lib.Codec.encoding_table["44721"] = [131,215] let s:lib.Codec.encoding_table["44722"] = [131,216] let s:lib.Codec.encoding_table["44723"] = [131,217] let s:lib.Codec.encoding_table["44724"] = [131,218] let s:lib.Codec.encoding_table["44725"] = [131,219] let s:lib.Codec.encoding_table["44726"] = [131,220] let s:lib.Codec.encoding_table["44727"] = [131,221] let s:lib.Codec.encoding_table["44728"] = [131,222] let s:lib.Codec.encoding_table["44729"] = [131,223] let s:lib.Codec.encoding_table["44730"] = [131,224] let s:lib.Codec.encoding_table["44731"] = [131,225] let s:lib.Codec.encoding_table["44735"] = [131,226] let s:lib.Codec.encoding_table["44737"] = [131,227] let s:lib.Codec.encoding_table["44738"] = [131,228] let s:lib.Codec.encoding_table["44739"] = [131,229] let s:lib.Codec.encoding_table["44741"] = [131,230] let s:lib.Codec.encoding_table["44742"] = [131,231] let s:lib.Codec.encoding_table["44743"] = [131,232] let s:lib.Codec.encoding_table["44744"] = [131,233] let s:lib.Codec.encoding_table["44745"] = [131,234] let s:lib.Codec.encoding_table["44746"] = [131,235] let s:lib.Codec.encoding_table["44747"] = [131,236] let s:lib.Codec.encoding_table["44750"] = [131,237] let s:lib.Codec.encoding_table["44754"] = [131,238] let s:lib.Codec.encoding_table["44755"] = [131,239] let s:lib.Codec.encoding_table["44756"] = [131,240] let s:lib.Codec.encoding_table["44757"] = [131,241] let s:lib.Codec.encoding_table["44758"] = [131,242] let s:lib.Codec.encoding_table["44759"] = [131,243] let s:lib.Codec.encoding_table["44762"] = [131,244] let s:lib.Codec.encoding_table["44763"] = [131,245] let s:lib.Codec.encoding_table["44765"] = [131,246] let s:lib.Codec.encoding_table["44766"] = [131,247] let s:lib.Codec.encoding_table["44767"] = [131,248] let s:lib.Codec.encoding_table["44768"] = [131,249] let s:lib.Codec.encoding_table["44769"] = [131,250] let s:lib.Codec.encoding_table["44770"] = [131,251] let s:lib.Codec.encoding_table["44771"] = [131,252] let s:lib.Codec.encoding_table["44772"] = [131,253] let s:lib.Codec.encoding_table["44773"] = [131,254] let s:lib.Codec.encoding_table["44774"] = [132,65] let s:lib.Codec.encoding_table["44775"] = [132,66] let s:lib.Codec.encoding_table["44777"] = [132,67] let s:lib.Codec.encoding_table["44778"] = [132,68] let s:lib.Codec.encoding_table["44780"] = [132,69] let s:lib.Codec.encoding_table["44782"] = [132,70] let s:lib.Codec.encoding_table["44783"] = [132,71] let s:lib.Codec.encoding_table["44784"] = [132,72] let s:lib.Codec.encoding_table["44785"] = [132,73] let s:lib.Codec.encoding_table["44786"] = [132,74] let s:lib.Codec.encoding_table["44787"] = [132,75] let s:lib.Codec.encoding_table["44789"] = [132,76] let s:lib.Codec.encoding_table["44790"] = [132,77] let s:lib.Codec.encoding_table["44791"] = [132,78] let s:lib.Codec.encoding_table["44793"] = [132,79] let s:lib.Codec.encoding_table["44794"] = [132,80] let s:lib.Codec.encoding_table["44795"] = [132,81] let s:lib.Codec.encoding_table["44797"] = [132,82] let s:lib.Codec.encoding_table["44798"] = [132,83] let s:lib.Codec.encoding_table["44799"] = [132,84] let s:lib.Codec.encoding_table["44800"] = [132,85] let s:lib.Codec.encoding_table["44801"] = [132,86] let s:lib.Codec.encoding_table["44802"] = [132,87] let s:lib.Codec.encoding_table["44803"] = [132,88] let s:lib.Codec.encoding_table["44804"] = [132,89] let s:lib.Codec.encoding_table["44805"] = [132,90] let s:lib.Codec.encoding_table["44806"] = [132,97] let s:lib.Codec.encoding_table["44809"] = [132,98] let s:lib.Codec.encoding_table["44810"] = [132,99] let s:lib.Codec.encoding_table["44811"] = [132,100] let s:lib.Codec.encoding_table["44812"] = [132,101] let s:lib.Codec.encoding_table["44814"] = [132,102] let s:lib.Codec.encoding_table["44815"] = [132,103] let s:lib.Codec.encoding_table["44817"] = [132,104] let s:lib.Codec.encoding_table["44818"] = [132,105] let s:lib.Codec.encoding_table["44819"] = [132,106] let s:lib.Codec.encoding_table["44820"] = [132,107] let s:lib.Codec.encoding_table["44821"] = [132,108] let s:lib.Codec.encoding_table["44822"] = [132,109] let s:lib.Codec.encoding_table["44823"] = [132,110] let s:lib.Codec.encoding_table["44824"] = [132,111] let s:lib.Codec.encoding_table["44825"] = [132,112] let s:lib.Codec.encoding_table["44826"] = [132,113] let s:lib.Codec.encoding_table["44827"] = [132,114] let s:lib.Codec.encoding_table["44828"] = [132,115] let s:lib.Codec.encoding_table["44829"] = [132,116] let s:lib.Codec.encoding_table["44830"] = [132,117] let s:lib.Codec.encoding_table["44831"] = [132,118] let s:lib.Codec.encoding_table["44832"] = [132,119] let s:lib.Codec.encoding_table["44833"] = [132,120] let s:lib.Codec.encoding_table["44834"] = [132,121] let s:lib.Codec.encoding_table["44835"] = [132,122] let s:lib.Codec.encoding_table["44836"] = [132,129] let s:lib.Codec.encoding_table["44837"] = [132,130] let s:lib.Codec.encoding_table["44838"] = [132,131] let s:lib.Codec.encoding_table["44839"] = [132,132] let s:lib.Codec.encoding_table["44840"] = [132,133] let s:lib.Codec.encoding_table["44841"] = [132,134] let s:lib.Codec.encoding_table["44842"] = [132,135] let s:lib.Codec.encoding_table["44843"] = [132,136] let s:lib.Codec.encoding_table["44846"] = [132,137] let s:lib.Codec.encoding_table["44847"] = [132,138] let s:lib.Codec.encoding_table["44849"] = [132,139] let s:lib.Codec.encoding_table["44851"] = [132,140] let s:lib.Codec.encoding_table["44853"] = [132,141] let s:lib.Codec.encoding_table["44854"] = [132,142] let s:lib.Codec.encoding_table["44855"] = [132,143] let s:lib.Codec.encoding_table["44856"] = [132,144] let s:lib.Codec.encoding_table["44857"] = [132,145] let s:lib.Codec.encoding_table["44858"] = [132,146] let s:lib.Codec.encoding_table["44859"] = [132,147] let s:lib.Codec.encoding_table["44862"] = [132,148] let s:lib.Codec.encoding_table["44864"] = [132,149] let s:lib.Codec.encoding_table["44868"] = [132,150] let s:lib.Codec.encoding_table["44869"] = [132,151] let s:lib.Codec.encoding_table["44870"] = [132,152] let s:lib.Codec.encoding_table["44871"] = [132,153] let s:lib.Codec.encoding_table["44874"] = [132,154] let s:lib.Codec.encoding_table["44875"] = [132,155] let s:lib.Codec.encoding_table["44876"] = [132,156] let s:lib.Codec.encoding_table["44877"] = [132,157] let s:lib.Codec.encoding_table["44878"] = [132,158] let s:lib.Codec.encoding_table["44879"] = [132,159] let s:lib.Codec.encoding_table["44881"] = [132,160] let s:lib.Codec.encoding_table["44882"] = [132,161] let s:lib.Codec.encoding_table["44883"] = [132,162] let s:lib.Codec.encoding_table["44884"] = [132,163] let s:lib.Codec.encoding_table["44885"] = [132,164] let s:lib.Codec.encoding_table["44886"] = [132,165] let s:lib.Codec.encoding_table["44887"] = [132,166] let s:lib.Codec.encoding_table["44888"] = [132,167] let s:lib.Codec.encoding_table["44889"] = [132,168] let s:lib.Codec.encoding_table["44890"] = [132,169] let s:lib.Codec.encoding_table["44891"] = [132,170] let s:lib.Codec.encoding_table["44894"] = [132,171] let s:lib.Codec.encoding_table["44895"] = [132,172] let s:lib.Codec.encoding_table["44896"] = [132,173] let s:lib.Codec.encoding_table["44897"] = [132,174] let s:lib.Codec.encoding_table["44898"] = [132,175] let s:lib.Codec.encoding_table["44899"] = [132,176] let s:lib.Codec.encoding_table["44902"] = [132,177] let s:lib.Codec.encoding_table["44903"] = [132,178] let s:lib.Codec.encoding_table["44904"] = [132,179] let s:lib.Codec.encoding_table["44905"] = [132,180] let s:lib.Codec.encoding_table["44906"] = [132,181] let s:lib.Codec.encoding_table["44907"] = [132,182] let s:lib.Codec.encoding_table["44908"] = [132,183] let s:lib.Codec.encoding_table["44909"] = [132,184] let s:lib.Codec.encoding_table["44910"] = [132,185] let s:lib.Codec.encoding_table["44911"] = [132,186] let s:lib.Codec.encoding_table["44912"] = [132,187] let s:lib.Codec.encoding_table["44913"] = [132,188] let s:lib.Codec.encoding_table["44914"] = [132,189] let s:lib.Codec.encoding_table["44915"] = [132,190] let s:lib.Codec.encoding_table["44916"] = [132,191] let s:lib.Codec.encoding_table["44917"] = [132,192] let s:lib.Codec.encoding_table["44918"] = [132,193] let s:lib.Codec.encoding_table["44919"] = [132,194] let s:lib.Codec.encoding_table["44920"] = [132,195] let s:lib.Codec.encoding_table["44922"] = [132,196] let s:lib.Codec.encoding_table["44923"] = [132,197] let s:lib.Codec.encoding_table["44924"] = [132,198] let s:lib.Codec.encoding_table["44925"] = [132,199] let s:lib.Codec.encoding_table["44926"] = [132,200] let s:lib.Codec.encoding_table["44927"] = [132,201] let s:lib.Codec.encoding_table["44929"] = [132,202] let s:lib.Codec.encoding_table["44930"] = [132,203] let s:lib.Codec.encoding_table["44931"] = [132,204] let s:lib.Codec.encoding_table["44933"] = [132,205] let s:lib.Codec.encoding_table["44934"] = [132,206] let s:lib.Codec.encoding_table["44935"] = [132,207] let s:lib.Codec.encoding_table["44937"] = [132,208] let s:lib.Codec.encoding_table["44938"] = [132,209] let s:lib.Codec.encoding_table["44939"] = [132,210] let s:lib.Codec.encoding_table["44940"] = [132,211] let s:lib.Codec.encoding_table["44941"] = [132,212] let s:lib.Codec.encoding_table["44942"] = [132,213] let s:lib.Codec.encoding_table["44943"] = [132,214] let s:lib.Codec.encoding_table["44946"] = [132,215] let s:lib.Codec.encoding_table["44947"] = [132,216] let s:lib.Codec.encoding_table["44948"] = [132,217] let s:lib.Codec.encoding_table["44950"] = [132,218] let s:lib.Codec.encoding_table["44951"] = [132,219] let s:lib.Codec.encoding_table["44952"] = [132,220] let s:lib.Codec.encoding_table["44953"] = [132,221] let s:lib.Codec.encoding_table["44954"] = [132,222] let s:lib.Codec.encoding_table["44955"] = [132,223] let s:lib.Codec.encoding_table["44957"] = [132,224] let s:lib.Codec.encoding_table["44958"] = [132,225] let s:lib.Codec.encoding_table["44959"] = [132,226] let s:lib.Codec.encoding_table["44960"] = [132,227] let s:lib.Codec.encoding_table["44961"] = [132,228] let s:lib.Codec.encoding_table["44962"] = [132,229] let s:lib.Codec.encoding_table["44963"] = [132,230] let s:lib.Codec.encoding_table["44964"] = [132,231] let s:lib.Codec.encoding_table["44965"] = [132,232] let s:lib.Codec.encoding_table["44966"] = [132,233] let s:lib.Codec.encoding_table["44967"] = [132,234] let s:lib.Codec.encoding_table["44968"] = [132,235] let s:lib.Codec.encoding_table["44969"] = [132,236] let s:lib.Codec.encoding_table["44970"] = [132,237] let s:lib.Codec.encoding_table["44971"] = [132,238] let s:lib.Codec.encoding_table["44972"] = [132,239] let s:lib.Codec.encoding_table["44973"] = [132,240] let s:lib.Codec.encoding_table["44974"] = [132,241] let s:lib.Codec.encoding_table["44975"] = [132,242] let s:lib.Codec.encoding_table["44976"] = [132,243] let s:lib.Codec.encoding_table["44977"] = [132,244] let s:lib.Codec.encoding_table["44978"] = [132,245] let s:lib.Codec.encoding_table["44979"] = [132,246] let s:lib.Codec.encoding_table["44980"] = [132,247] let s:lib.Codec.encoding_table["44981"] = [132,248] let s:lib.Codec.encoding_table["44982"] = [132,249] let s:lib.Codec.encoding_table["44983"] = [132,250] let s:lib.Codec.encoding_table["44986"] = [132,251] let s:lib.Codec.encoding_table["44987"] = [132,252] let s:lib.Codec.encoding_table["44989"] = [132,253] let s:lib.Codec.encoding_table["44990"] = [132,254] let s:lib.Codec.encoding_table["44991"] = [133,65] let s:lib.Codec.encoding_table["44993"] = [133,66] let s:lib.Codec.encoding_table["44994"] = [133,67] let s:lib.Codec.encoding_table["44995"] = [133,68] let s:lib.Codec.encoding_table["44996"] = [133,69] let s:lib.Codec.encoding_table["44997"] = [133,70] let s:lib.Codec.encoding_table["44998"] = [133,71] let s:lib.Codec.encoding_table["45002"] = [133,72] let s:lib.Codec.encoding_table["45004"] = [133,73] let s:lib.Codec.encoding_table["45007"] = [133,74] let s:lib.Codec.encoding_table["45008"] = [133,75] let s:lib.Codec.encoding_table["45009"] = [133,76] let s:lib.Codec.encoding_table["45010"] = [133,77] let s:lib.Codec.encoding_table["45011"] = [133,78] let s:lib.Codec.encoding_table["45013"] = [133,79] let s:lib.Codec.encoding_table["45014"] = [133,80] let s:lib.Codec.encoding_table["45015"] = [133,81] let s:lib.Codec.encoding_table["45016"] = [133,82] let s:lib.Codec.encoding_table["45017"] = [133,83] let s:lib.Codec.encoding_table["45018"] = [133,84] let s:lib.Codec.encoding_table["45019"] = [133,85] let s:lib.Codec.encoding_table["45021"] = [133,86] let s:lib.Codec.encoding_table["45022"] = [133,87] let s:lib.Codec.encoding_table["45023"] = [133,88] let s:lib.Codec.encoding_table["45024"] = [133,89] let s:lib.Codec.encoding_table["45025"] = [133,90] let s:lib.Codec.encoding_table["45026"] = [133,97] let s:lib.Codec.encoding_table["45027"] = [133,98] let s:lib.Codec.encoding_table["45028"] = [133,99] let s:lib.Codec.encoding_table["45029"] = [133,100] let s:lib.Codec.encoding_table["45030"] = [133,101] let s:lib.Codec.encoding_table["45031"] = [133,102] let s:lib.Codec.encoding_table["45034"] = [133,103] let s:lib.Codec.encoding_table["45035"] = [133,104] let s:lib.Codec.encoding_table["45036"] = [133,105] let s:lib.Codec.encoding_table["45037"] = [133,106] let s:lib.Codec.encoding_table["45038"] = [133,107] let s:lib.Codec.encoding_table["45039"] = [133,108] let s:lib.Codec.encoding_table["45042"] = [133,109] let s:lib.Codec.encoding_table["45043"] = [133,110] let s:lib.Codec.encoding_table["45045"] = [133,111] let s:lib.Codec.encoding_table["45046"] = [133,112] let s:lib.Codec.encoding_table["45047"] = [133,113] let s:lib.Codec.encoding_table["45049"] = [133,114] let s:lib.Codec.encoding_table["45050"] = [133,115] let s:lib.Codec.encoding_table["45051"] = [133,116] let s:lib.Codec.encoding_table["45052"] = [133,117] let s:lib.Codec.encoding_table["45053"] = [133,118] let s:lib.Codec.encoding_table["45054"] = [133,119] let s:lib.Codec.encoding_table["45055"] = [133,120] let s:lib.Codec.encoding_table["45058"] = [133,121] let s:lib.Codec.encoding_table["45059"] = [133,122] let s:lib.Codec.encoding_table["45061"] = [133,129] let s:lib.Codec.encoding_table["45062"] = [133,130] let s:lib.Codec.encoding_table["45063"] = [133,131] let s:lib.Codec.encoding_table["45064"] = [133,132] let s:lib.Codec.encoding_table["45065"] = [133,133] let s:lib.Codec.encoding_table["45066"] = [133,134] let s:lib.Codec.encoding_table["45067"] = [133,135] let s:lib.Codec.encoding_table["45069"] = [133,136] let s:lib.Codec.encoding_table["45070"] = [133,137] let s:lib.Codec.encoding_table["45071"] = [133,138] let s:lib.Codec.encoding_table["45073"] = [133,139] let s:lib.Codec.encoding_table["45074"] = [133,140] let s:lib.Codec.encoding_table["45075"] = [133,141] let s:lib.Codec.encoding_table["45077"] = [133,142] let s:lib.Codec.encoding_table["45078"] = [133,143] let s:lib.Codec.encoding_table["45079"] = [133,144] let s:lib.Codec.encoding_table["45080"] = [133,145] let s:lib.Codec.encoding_table["45081"] = [133,146] let s:lib.Codec.encoding_table["45082"] = [133,147] let s:lib.Codec.encoding_table["45083"] = [133,148] let s:lib.Codec.encoding_table["45086"] = [133,149] let s:lib.Codec.encoding_table["45087"] = [133,150] let s:lib.Codec.encoding_table["45088"] = [133,151] let s:lib.Codec.encoding_table["45089"] = [133,152] let s:lib.Codec.encoding_table["45090"] = [133,153] let s:lib.Codec.encoding_table["45091"] = [133,154] let s:lib.Codec.encoding_table["45092"] = [133,155] let s:lib.Codec.encoding_table["45093"] = [133,156] let s:lib.Codec.encoding_table["45094"] = [133,157] let s:lib.Codec.encoding_table["45095"] = [133,158] let s:lib.Codec.encoding_table["45097"] = [133,159] let s:lib.Codec.encoding_table["45098"] = [133,160] let s:lib.Codec.encoding_table["45099"] = [133,161] let s:lib.Codec.encoding_table["45100"] = [133,162] let s:lib.Codec.encoding_table["45101"] = [133,163] let s:lib.Codec.encoding_table["45102"] = [133,164] let s:lib.Codec.encoding_table["45103"] = [133,165] let s:lib.Codec.encoding_table["45104"] = [133,166] let s:lib.Codec.encoding_table["45105"] = [133,167] let s:lib.Codec.encoding_table["45106"] = [133,168] let s:lib.Codec.encoding_table["45107"] = [133,169] let s:lib.Codec.encoding_table["45108"] = [133,170] let s:lib.Codec.encoding_table["45109"] = [133,171] let s:lib.Codec.encoding_table["45110"] = [133,172] let s:lib.Codec.encoding_table["45111"] = [133,173] let s:lib.Codec.encoding_table["45112"] = [133,174] let s:lib.Codec.encoding_table["45113"] = [133,175] let s:lib.Codec.encoding_table["45114"] = [133,176] let s:lib.Codec.encoding_table["45115"] = [133,177] let s:lib.Codec.encoding_table["45116"] = [133,178] let s:lib.Codec.encoding_table["45117"] = [133,179] let s:lib.Codec.encoding_table["45118"] = [133,180] let s:lib.Codec.encoding_table["45119"] = [133,181] let s:lib.Codec.encoding_table["45120"] = [133,182] let s:lib.Codec.encoding_table["45121"] = [133,183] let s:lib.Codec.encoding_table["45122"] = [133,184] let s:lib.Codec.encoding_table["45123"] = [133,185] let s:lib.Codec.encoding_table["45126"] = [133,186] let s:lib.Codec.encoding_table["45127"] = [133,187] let s:lib.Codec.encoding_table["45129"] = [133,188] let s:lib.Codec.encoding_table["45131"] = [133,189] let s:lib.Codec.encoding_table["45133"] = [133,190] let s:lib.Codec.encoding_table["45135"] = [133,191] let s:lib.Codec.encoding_table["45136"] = [133,192] let s:lib.Codec.encoding_table["45137"] = [133,193] let s:lib.Codec.encoding_table["45138"] = [133,194] let s:lib.Codec.encoding_table["45142"] = [133,195] let s:lib.Codec.encoding_table["45144"] = [133,196] let s:lib.Codec.encoding_table["45146"] = [133,197] let s:lib.Codec.encoding_table["45147"] = [133,198] let s:lib.Codec.encoding_table["45148"] = [133,199] let s:lib.Codec.encoding_table["45150"] = [133,200] let s:lib.Codec.encoding_table["45151"] = [133,201] let s:lib.Codec.encoding_table["45152"] = [133,202] let s:lib.Codec.encoding_table["45153"] = [133,203] let s:lib.Codec.encoding_table["45154"] = [133,204] let s:lib.Codec.encoding_table["45155"] = [133,205] let s:lib.Codec.encoding_table["45156"] = [133,206] let s:lib.Codec.encoding_table["45157"] = [133,207] let s:lib.Codec.encoding_table["45158"] = [133,208] let s:lib.Codec.encoding_table["45159"] = [133,209] let s:lib.Codec.encoding_table["45160"] = [133,210] let s:lib.Codec.encoding_table["45161"] = [133,211] let s:lib.Codec.encoding_table["45162"] = [133,212] let s:lib.Codec.encoding_table["45163"] = [133,213] let s:lib.Codec.encoding_table["45164"] = [133,214] let s:lib.Codec.encoding_table["45165"] = [133,215] let s:lib.Codec.encoding_table["45166"] = [133,216] let s:lib.Codec.encoding_table["45167"] = [133,217] let s:lib.Codec.encoding_table["45168"] = [133,218] let s:lib.Codec.encoding_table["45169"] = [133,219] let s:lib.Codec.encoding_table["45170"] = [133,220] let s:lib.Codec.encoding_table["45171"] = [133,221] let s:lib.Codec.encoding_table["45172"] = [133,222] let s:lib.Codec.encoding_table["45173"] = [133,223] let s:lib.Codec.encoding_table["45174"] = [133,224] let s:lib.Codec.encoding_table["45175"] = [133,225] let s:lib.Codec.encoding_table["45176"] = [133,226] let s:lib.Codec.encoding_table["45177"] = [133,227] let s:lib.Codec.encoding_table["45178"] = [133,228] let s:lib.Codec.encoding_table["45179"] = [133,229] let s:lib.Codec.encoding_table["45182"] = [133,230] let s:lib.Codec.encoding_table["45183"] = [133,231] let s:lib.Codec.encoding_table["45185"] = [133,232] let s:lib.Codec.encoding_table["45186"] = [133,233] let s:lib.Codec.encoding_table["45187"] = [133,234] let s:lib.Codec.encoding_table["45189"] = [133,235] let s:lib.Codec.encoding_table["45190"] = [133,236] let s:lib.Codec.encoding_table["45191"] = [133,237] let s:lib.Codec.encoding_table["45192"] = [133,238] let s:lib.Codec.encoding_table["45193"] = [133,239] let s:lib.Codec.encoding_table["45194"] = [133,240] let s:lib.Codec.encoding_table["45195"] = [133,241] let s:lib.Codec.encoding_table["45198"] = [133,242] let s:lib.Codec.encoding_table["45200"] = [133,243] let s:lib.Codec.encoding_table["45202"] = [133,244] let s:lib.Codec.encoding_table["45203"] = [133,245] let s:lib.Codec.encoding_table["45204"] = [133,246] let s:lib.Codec.encoding_table["45205"] = [133,247] let s:lib.Codec.encoding_table["45206"] = [133,248] let s:lib.Codec.encoding_table["45207"] = [133,249] let s:lib.Codec.encoding_table["45211"] = [133,250] let s:lib.Codec.encoding_table["45213"] = [133,251] let s:lib.Codec.encoding_table["45214"] = [133,252] let s:lib.Codec.encoding_table["45219"] = [133,253] let s:lib.Codec.encoding_table["45220"] = [133,254] let s:lib.Codec.encoding_table["45221"] = [134,65] let s:lib.Codec.encoding_table["45222"] = [134,66] let s:lib.Codec.encoding_table["45223"] = [134,67] let s:lib.Codec.encoding_table["45226"] = [134,68] let s:lib.Codec.encoding_table["45232"] = [134,69] let s:lib.Codec.encoding_table["45234"] = [134,70] let s:lib.Codec.encoding_table["45238"] = [134,71] let s:lib.Codec.encoding_table["45239"] = [134,72] let s:lib.Codec.encoding_table["45241"] = [134,73] let s:lib.Codec.encoding_table["45242"] = [134,74] let s:lib.Codec.encoding_table["45243"] = [134,75] let s:lib.Codec.encoding_table["45245"] = [134,76] let s:lib.Codec.encoding_table["45246"] = [134,77] let s:lib.Codec.encoding_table["45247"] = [134,78] let s:lib.Codec.encoding_table["45248"] = [134,79] let s:lib.Codec.encoding_table["45249"] = [134,80] let s:lib.Codec.encoding_table["45250"] = [134,81] let s:lib.Codec.encoding_table["45251"] = [134,82] let s:lib.Codec.encoding_table["45254"] = [134,83] let s:lib.Codec.encoding_table["45258"] = [134,84] let s:lib.Codec.encoding_table["45259"] = [134,85] let s:lib.Codec.encoding_table["45260"] = [134,86] let s:lib.Codec.encoding_table["45261"] = [134,87] let s:lib.Codec.encoding_table["45262"] = [134,88] let s:lib.Codec.encoding_table["45263"] = [134,89] let s:lib.Codec.encoding_table["45266"] = [134,90] let s:lib.Codec.encoding_table["45267"] = [134,97] let s:lib.Codec.encoding_table["45269"] = [134,98] let s:lib.Codec.encoding_table["45270"] = [134,99] let s:lib.Codec.encoding_table["45271"] = [134,100] let s:lib.Codec.encoding_table["45273"] = [134,101] let s:lib.Codec.encoding_table["45274"] = [134,102] let s:lib.Codec.encoding_table["45275"] = [134,103] let s:lib.Codec.encoding_table["45276"] = [134,104] let s:lib.Codec.encoding_table["45277"] = [134,105] let s:lib.Codec.encoding_table["45278"] = [134,106] let s:lib.Codec.encoding_table["45279"] = [134,107] let s:lib.Codec.encoding_table["45281"] = [134,108] let s:lib.Codec.encoding_table["45282"] = [134,109] let s:lib.Codec.encoding_table["45283"] = [134,110] let s:lib.Codec.encoding_table["45284"] = [134,111] let s:lib.Codec.encoding_table["45286"] = [134,112] let s:lib.Codec.encoding_table["45287"] = [134,113] let s:lib.Codec.encoding_table["45288"] = [134,114] let s:lib.Codec.encoding_table["45289"] = [134,115] let s:lib.Codec.encoding_table["45290"] = [134,116] let s:lib.Codec.encoding_table["45291"] = [134,117] let s:lib.Codec.encoding_table["45292"] = [134,118] let s:lib.Codec.encoding_table["45293"] = [134,119] let s:lib.Codec.encoding_table["45294"] = [134,120] let s:lib.Codec.encoding_table["45295"] = [134,121] let s:lib.Codec.encoding_table["45296"] = [134,122] let s:lib.Codec.encoding_table["45297"] = [134,129] let s:lib.Codec.encoding_table["45298"] = [134,130] let s:lib.Codec.encoding_table["45299"] = [134,131] let s:lib.Codec.encoding_table["45300"] = [134,132] let s:lib.Codec.encoding_table["45301"] = [134,133] let s:lib.Codec.encoding_table["45302"] = [134,134] let s:lib.Codec.encoding_table["45303"] = [134,135] let s:lib.Codec.encoding_table["45304"] = [134,136] let s:lib.Codec.encoding_table["45305"] = [134,137] let s:lib.Codec.encoding_table["45306"] = [134,138] let s:lib.Codec.encoding_table["45307"] = [134,139] let s:lib.Codec.encoding_table["45308"] = [134,140] let s:lib.Codec.encoding_table["45309"] = [134,141] let s:lib.Codec.encoding_table["45310"] = [134,142] let s:lib.Codec.encoding_table["45311"] = [134,143] let s:lib.Codec.encoding_table["45312"] = [134,144] let s:lib.Codec.encoding_table["45313"] = [134,145] let s:lib.Codec.encoding_table["45314"] = [134,146] let s:lib.Codec.encoding_table["45315"] = [134,147] let s:lib.Codec.encoding_table["45316"] = [134,148] let s:lib.Codec.encoding_table["45317"] = [134,149] let s:lib.Codec.encoding_table["45318"] = [134,150] let s:lib.Codec.encoding_table["45319"] = [134,151] let s:lib.Codec.encoding_table["45322"] = [134,152] let s:lib.Codec.encoding_table["45325"] = [134,153] let s:lib.Codec.encoding_table["45326"] = [134,154] let s:lib.Codec.encoding_table["45327"] = [134,155] let s:lib.Codec.encoding_table["45329"] = [134,156] let s:lib.Codec.encoding_table["45332"] = [134,157] let s:lib.Codec.encoding_table["45333"] = [134,158] let s:lib.Codec.encoding_table["45334"] = [134,159] let s:lib.Codec.encoding_table["45335"] = [134,160] let s:lib.Codec.encoding_table["45338"] = [134,161] let s:lib.Codec.encoding_table["45342"] = [134,162] let s:lib.Codec.encoding_table["45343"] = [134,163] let s:lib.Codec.encoding_table["45344"] = [134,164] let s:lib.Codec.encoding_table["45345"] = [134,165] let s:lib.Codec.encoding_table["45346"] = [134,166] let s:lib.Codec.encoding_table["45350"] = [134,167] let s:lib.Codec.encoding_table["45351"] = [134,168] let s:lib.Codec.encoding_table["45353"] = [134,169] let s:lib.Codec.encoding_table["45354"] = [134,170] let s:lib.Codec.encoding_table["45355"] = [134,171] let s:lib.Codec.encoding_table["45357"] = [134,172] let s:lib.Codec.encoding_table["45358"] = [134,173] let s:lib.Codec.encoding_table["45359"] = [134,174] let s:lib.Codec.encoding_table["45360"] = [134,175] let s:lib.Codec.encoding_table["45361"] = [134,176] let s:lib.Codec.encoding_table["45362"] = [134,177] let s:lib.Codec.encoding_table["45363"] = [134,178] let s:lib.Codec.encoding_table["45366"] = [134,179] let s:lib.Codec.encoding_table["45370"] = [134,180] let s:lib.Codec.encoding_table["45371"] = [134,181] let s:lib.Codec.encoding_table["45372"] = [134,182] let s:lib.Codec.encoding_table["45373"] = [134,183] let s:lib.Codec.encoding_table["45374"] = [134,184] let s:lib.Codec.encoding_table["45375"] = [134,185] let s:lib.Codec.encoding_table["45378"] = [134,186] let s:lib.Codec.encoding_table["45379"] = [134,187] let s:lib.Codec.encoding_table["45381"] = [134,188] let s:lib.Codec.encoding_table["45382"] = [134,189] let s:lib.Codec.encoding_table["45383"] = [134,190] let s:lib.Codec.encoding_table["45385"] = [134,191] let s:lib.Codec.encoding_table["45386"] = [134,192] let s:lib.Codec.encoding_table["45387"] = [134,193] let s:lib.Codec.encoding_table["45388"] = [134,194] let s:lib.Codec.encoding_table["45389"] = [134,195] let s:lib.Codec.encoding_table["45390"] = [134,196] let s:lib.Codec.encoding_table["45391"] = [134,197] let s:lib.Codec.encoding_table["45394"] = [134,198] let s:lib.Codec.encoding_table["45395"] = [134,199] let s:lib.Codec.encoding_table["45398"] = [134,200] let s:lib.Codec.encoding_table["45399"] = [134,201] let s:lib.Codec.encoding_table["45401"] = [134,202] let s:lib.Codec.encoding_table["45402"] = [134,203] let s:lib.Codec.encoding_table["45403"] = [134,204] let s:lib.Codec.encoding_table["45405"] = [134,205] let s:lib.Codec.encoding_table["45406"] = [134,206] let s:lib.Codec.encoding_table["45407"] = [134,207] let s:lib.Codec.encoding_table["45409"] = [134,208] let s:lib.Codec.encoding_table["45410"] = [134,209] let s:lib.Codec.encoding_table["45411"] = [134,210] let s:lib.Codec.encoding_table["45412"] = [134,211] let s:lib.Codec.encoding_table["45413"] = [134,212] let s:lib.Codec.encoding_table["45414"] = [134,213] let s:lib.Codec.encoding_table["45415"] = [134,214] let s:lib.Codec.encoding_table["45416"] = [134,215] let s:lib.Codec.encoding_table["45417"] = [134,216] let s:lib.Codec.encoding_table["45418"] = [134,217] let s:lib.Codec.encoding_table["45419"] = [134,218] let s:lib.Codec.encoding_table["45420"] = [134,219] let s:lib.Codec.encoding_table["45421"] = [134,220] let s:lib.Codec.encoding_table["45422"] = [134,221] let s:lib.Codec.encoding_table["45423"] = [134,222] let s:lib.Codec.encoding_table["45424"] = [134,223] let s:lib.Codec.encoding_table["45425"] = [134,224] let s:lib.Codec.encoding_table["45426"] = [134,225] let s:lib.Codec.encoding_table["45427"] = [134,226] let s:lib.Codec.encoding_table["45428"] = [134,227] let s:lib.Codec.encoding_table["45429"] = [134,228] let s:lib.Codec.encoding_table["45430"] = [134,229] let s:lib.Codec.encoding_table["45431"] = [134,230] let s:lib.Codec.encoding_table["45434"] = [134,231] let s:lib.Codec.encoding_table["45435"] = [134,232] let s:lib.Codec.encoding_table["45437"] = [134,233] let s:lib.Codec.encoding_table["45438"] = [134,234] let s:lib.Codec.encoding_table["45439"] = [134,235] let s:lib.Codec.encoding_table["45441"] = [134,236] let s:lib.Codec.encoding_table["45443"] = [134,237] let s:lib.Codec.encoding_table["45444"] = [134,238] let s:lib.Codec.encoding_table["45445"] = [134,239] let s:lib.Codec.encoding_table["45446"] = [134,240] let s:lib.Codec.encoding_table["45447"] = [134,241] let s:lib.Codec.encoding_table["45450"] = [134,242] let s:lib.Codec.encoding_table["45452"] = [134,243] let s:lib.Codec.encoding_table["45454"] = [134,244] let s:lib.Codec.encoding_table["45455"] = [134,245] let s:lib.Codec.encoding_table["45456"] = [134,246] let s:lib.Codec.encoding_table["45457"] = [134,247] let s:lib.Codec.encoding_table["45461"] = [134,248] let s:lib.Codec.encoding_table["45462"] = [134,249] let s:lib.Codec.encoding_table["45463"] = [134,250] let s:lib.Codec.encoding_table["45465"] = [134,251] let s:lib.Codec.encoding_table["45466"] = [134,252] let s:lib.Codec.encoding_table["45467"] = [134,253] let s:lib.Codec.encoding_table["45469"] = [134,254] let s:lib.Codec.encoding_table["45470"] = [135,65] let s:lib.Codec.encoding_table["45471"] = [135,66] let s:lib.Codec.encoding_table["45472"] = [135,67] let s:lib.Codec.encoding_table["45473"] = [135,68] let s:lib.Codec.encoding_table["45474"] = [135,69] let s:lib.Codec.encoding_table["45475"] = [135,70] let s:lib.Codec.encoding_table["45476"] = [135,71] let s:lib.Codec.encoding_table["45477"] = [135,72] let s:lib.Codec.encoding_table["45478"] = [135,73] let s:lib.Codec.encoding_table["45479"] = [135,74] let s:lib.Codec.encoding_table["45481"] = [135,75] let s:lib.Codec.encoding_table["45482"] = [135,76] let s:lib.Codec.encoding_table["45483"] = [135,77] let s:lib.Codec.encoding_table["45484"] = [135,78] let s:lib.Codec.encoding_table["45485"] = [135,79] let s:lib.Codec.encoding_table["45486"] = [135,80] let s:lib.Codec.encoding_table["45487"] = [135,81] let s:lib.Codec.encoding_table["45488"] = [135,82] let s:lib.Codec.encoding_table["45489"] = [135,83] let s:lib.Codec.encoding_table["45490"] = [135,84] let s:lib.Codec.encoding_table["45491"] = [135,85] let s:lib.Codec.encoding_table["45492"] = [135,86] let s:lib.Codec.encoding_table["45493"] = [135,87] let s:lib.Codec.encoding_table["45494"] = [135,88] let s:lib.Codec.encoding_table["45495"] = [135,89] let s:lib.Codec.encoding_table["45496"] = [135,90] let s:lib.Codec.encoding_table["45497"] = [135,97] let s:lib.Codec.encoding_table["45498"] = [135,98] let s:lib.Codec.encoding_table["45499"] = [135,99] let s:lib.Codec.encoding_table["45500"] = [135,100] let s:lib.Codec.encoding_table["45501"] = [135,101] let s:lib.Codec.encoding_table["45502"] = [135,102] let s:lib.Codec.encoding_table["45503"] = [135,103] let s:lib.Codec.encoding_table["45504"] = [135,104] let s:lib.Codec.encoding_table["45505"] = [135,105] let s:lib.Codec.encoding_table["45506"] = [135,106] let s:lib.Codec.encoding_table["45507"] = [135,107] let s:lib.Codec.encoding_table["45508"] = [135,108] let s:lib.Codec.encoding_table["45509"] = [135,109] let s:lib.Codec.encoding_table["45510"] = [135,110] let s:lib.Codec.encoding_table["45511"] = [135,111] let s:lib.Codec.encoding_table["45512"] = [135,112] let s:lib.Codec.encoding_table["45513"] = [135,113] let s:lib.Codec.encoding_table["45514"] = [135,114] let s:lib.Codec.encoding_table["45515"] = [135,115] let s:lib.Codec.encoding_table["45517"] = [135,116] let s:lib.Codec.encoding_table["45518"] = [135,117] let s:lib.Codec.encoding_table["45519"] = [135,118] let s:lib.Codec.encoding_table["45521"] = [135,119] let s:lib.Codec.encoding_table["45522"] = [135,120] let s:lib.Codec.encoding_table["45523"] = [135,121] let s:lib.Codec.encoding_table["45525"] = [135,122] let s:lib.Codec.encoding_table["45526"] = [135,129] let s:lib.Codec.encoding_table["45527"] = [135,130] let s:lib.Codec.encoding_table["45528"] = [135,131] let s:lib.Codec.encoding_table["45529"] = [135,132] let s:lib.Codec.encoding_table["45530"] = [135,133] let s:lib.Codec.encoding_table["45531"] = [135,134] let s:lib.Codec.encoding_table["45534"] = [135,135] let s:lib.Codec.encoding_table["45536"] = [135,136] let s:lib.Codec.encoding_table["45537"] = [135,137] let s:lib.Codec.encoding_table["45538"] = [135,138] let s:lib.Codec.encoding_table["45539"] = [135,139] let s:lib.Codec.encoding_table["45540"] = [135,140] let s:lib.Codec.encoding_table["45541"] = [135,141] let s:lib.Codec.encoding_table["45542"] = [135,142] let s:lib.Codec.encoding_table["45543"] = [135,143] let s:lib.Codec.encoding_table["45546"] = [135,144] let s:lib.Codec.encoding_table["45547"] = [135,145] let s:lib.Codec.encoding_table["45549"] = [135,146] let s:lib.Codec.encoding_table["45550"] = [135,147] let s:lib.Codec.encoding_table["45551"] = [135,148] let s:lib.Codec.encoding_table["45553"] = [135,149] let s:lib.Codec.encoding_table["45554"] = [135,150] let s:lib.Codec.encoding_table["45555"] = [135,151] let s:lib.Codec.encoding_table["45556"] = [135,152] let s:lib.Codec.encoding_table["45557"] = [135,153] let s:lib.Codec.encoding_table["45558"] = [135,154] let s:lib.Codec.encoding_table["45559"] = [135,155] let s:lib.Codec.encoding_table["45560"] = [135,156] let s:lib.Codec.encoding_table["45562"] = [135,157] let s:lib.Codec.encoding_table["45564"] = [135,158] let s:lib.Codec.encoding_table["45566"] = [135,159] let s:lib.Codec.encoding_table["45567"] = [135,160] let s:lib.Codec.encoding_table["45568"] = [135,161] let s:lib.Codec.encoding_table["45569"] = [135,162] let s:lib.Codec.encoding_table["45570"] = [135,163] let s:lib.Codec.encoding_table["45571"] = [135,164] let s:lib.Codec.encoding_table["45574"] = [135,165] let s:lib.Codec.encoding_table["45575"] = [135,166] let s:lib.Codec.encoding_table["45577"] = [135,167] let s:lib.Codec.encoding_table["45578"] = [135,168] let s:lib.Codec.encoding_table["45581"] = [135,169] let s:lib.Codec.encoding_table["45582"] = [135,170] let s:lib.Codec.encoding_table["45583"] = [135,171] let s:lib.Codec.encoding_table["45584"] = [135,172] let s:lib.Codec.encoding_table["45585"] = [135,173] let s:lib.Codec.encoding_table["45586"] = [135,174] let s:lib.Codec.encoding_table["45587"] = [135,175] let s:lib.Codec.encoding_table["45590"] = [135,176] let s:lib.Codec.encoding_table["45592"] = [135,177] let s:lib.Codec.encoding_table["45594"] = [135,178] let s:lib.Codec.encoding_table["45595"] = [135,179] let s:lib.Codec.encoding_table["45596"] = [135,180] let s:lib.Codec.encoding_table["45597"] = [135,181] let s:lib.Codec.encoding_table["45598"] = [135,182] let s:lib.Codec.encoding_table["45599"] = [135,183] let s:lib.Codec.encoding_table["45601"] = [135,184] let s:lib.Codec.encoding_table["45602"] = [135,185] let s:lib.Codec.encoding_table["45603"] = [135,186] let s:lib.Codec.encoding_table["45604"] = [135,187] let s:lib.Codec.encoding_table["45605"] = [135,188] let s:lib.Codec.encoding_table["45606"] = [135,189] let s:lib.Codec.encoding_table["45607"] = [135,190] let s:lib.Codec.encoding_table["45608"] = [135,191] let s:lib.Codec.encoding_table["45609"] = [135,192] let s:lib.Codec.encoding_table["45610"] = [135,193] let s:lib.Codec.encoding_table["45611"] = [135,194] let s:lib.Codec.encoding_table["45612"] = [135,195] let s:lib.Codec.encoding_table["45613"] = [135,196] let s:lib.Codec.encoding_table["45614"] = [135,197] let s:lib.Codec.encoding_table["45615"] = [135,198] let s:lib.Codec.encoding_table["45616"] = [135,199] let s:lib.Codec.encoding_table["45617"] = [135,200] let s:lib.Codec.encoding_table["45618"] = [135,201] let s:lib.Codec.encoding_table["45619"] = [135,202] let s:lib.Codec.encoding_table["45621"] = [135,203] let s:lib.Codec.encoding_table["45622"] = [135,204] let s:lib.Codec.encoding_table["45623"] = [135,205] let s:lib.Codec.encoding_table["45624"] = [135,206] let s:lib.Codec.encoding_table["45625"] = [135,207] let s:lib.Codec.encoding_table["45626"] = [135,208] let s:lib.Codec.encoding_table["45627"] = [135,209] let s:lib.Codec.encoding_table["45629"] = [135,210] let s:lib.Codec.encoding_table["45630"] = [135,211] let s:lib.Codec.encoding_table["45631"] = [135,212] let s:lib.Codec.encoding_table["45632"] = [135,213] let s:lib.Codec.encoding_table["45633"] = [135,214] let s:lib.Codec.encoding_table["45634"] = [135,215] let s:lib.Codec.encoding_table["45635"] = [135,216] let s:lib.Codec.encoding_table["45636"] = [135,217] let s:lib.Codec.encoding_table["45637"] = [135,218] let s:lib.Codec.encoding_table["45638"] = [135,219] let s:lib.Codec.encoding_table["45639"] = [135,220] let s:lib.Codec.encoding_table["45640"] = [135,221] let s:lib.Codec.encoding_table["45641"] = [135,222] let s:lib.Codec.encoding_table["45642"] = [135,223] let s:lib.Codec.encoding_table["45643"] = [135,224] let s:lib.Codec.encoding_table["45644"] = [135,225] let s:lib.Codec.encoding_table["45645"] = [135,226] let s:lib.Codec.encoding_table["45646"] = [135,227] let s:lib.Codec.encoding_table["45647"] = [135,228] let s:lib.Codec.encoding_table["45648"] = [135,229] let s:lib.Codec.encoding_table["45649"] = [135,230] let s:lib.Codec.encoding_table["45650"] = [135,231] let s:lib.Codec.encoding_table["45651"] = [135,232] let s:lib.Codec.encoding_table["45652"] = [135,233] let s:lib.Codec.encoding_table["45653"] = [135,234] let s:lib.Codec.encoding_table["45654"] = [135,235] let s:lib.Codec.encoding_table["45655"] = [135,236] let s:lib.Codec.encoding_table["45657"] = [135,237] let s:lib.Codec.encoding_table["45658"] = [135,238] let s:lib.Codec.encoding_table["45659"] = [135,239] let s:lib.Codec.encoding_table["45661"] = [135,240] let s:lib.Codec.encoding_table["45662"] = [135,241] let s:lib.Codec.encoding_table["45663"] = [135,242] let s:lib.Codec.encoding_table["45665"] = [135,243] let s:lib.Codec.encoding_table["45666"] = [135,244] let s:lib.Codec.encoding_table["45667"] = [135,245] let s:lib.Codec.encoding_table["45668"] = [135,246] let s:lib.Codec.encoding_table["45669"] = [135,247] let s:lib.Codec.encoding_table["45670"] = [135,248] let s:lib.Codec.encoding_table["45671"] = [135,249] let s:lib.Codec.encoding_table["45674"] = [135,250] let s:lib.Codec.encoding_table["45675"] = [135,251] let s:lib.Codec.encoding_table["45676"] = [135,252] let s:lib.Codec.encoding_table["45677"] = [135,253] let s:lib.Codec.encoding_table["45678"] = [135,254] let s:lib.Codec.encoding_table["45679"] = [136,65] let s:lib.Codec.encoding_table["45680"] = [136,66] let s:lib.Codec.encoding_table["45681"] = [136,67] let s:lib.Codec.encoding_table["45682"] = [136,68] let s:lib.Codec.encoding_table["45683"] = [136,69] let s:lib.Codec.encoding_table["45686"] = [136,70] let s:lib.Codec.encoding_table["45687"] = [136,71] let s:lib.Codec.encoding_table["45688"] = [136,72] let s:lib.Codec.encoding_table["45689"] = [136,73] let s:lib.Codec.encoding_table["45690"] = [136,74] let s:lib.Codec.encoding_table["45691"] = [136,75] let s:lib.Codec.encoding_table["45693"] = [136,76] let s:lib.Codec.encoding_table["45694"] = [136,77] let s:lib.Codec.encoding_table["45695"] = [136,78] let s:lib.Codec.encoding_table["45696"] = [136,79] let s:lib.Codec.encoding_table["45697"] = [136,80] let s:lib.Codec.encoding_table["45698"] = [136,81] let s:lib.Codec.encoding_table["45699"] = [136,82] let s:lib.Codec.encoding_table["45702"] = [136,83] let s:lib.Codec.encoding_table["45703"] = [136,84] let s:lib.Codec.encoding_table["45704"] = [136,85] let s:lib.Codec.encoding_table["45706"] = [136,86] let s:lib.Codec.encoding_table["45707"] = [136,87] let s:lib.Codec.encoding_table["45708"] = [136,88] let s:lib.Codec.encoding_table["45709"] = [136,89] let s:lib.Codec.encoding_table["45710"] = [136,90] let s:lib.Codec.encoding_table["45711"] = [136,97] let s:lib.Codec.encoding_table["45714"] = [136,98] let s:lib.Codec.encoding_table["45715"] = [136,99] let s:lib.Codec.encoding_table["45717"] = [136,100] let s:lib.Codec.encoding_table["45718"] = [136,101] let s:lib.Codec.encoding_table["45719"] = [136,102] let s:lib.Codec.encoding_table["45723"] = [136,103] let s:lib.Codec.encoding_table["45724"] = [136,104] let s:lib.Codec.encoding_table["45725"] = [136,105] let s:lib.Codec.encoding_table["45726"] = [136,106] let s:lib.Codec.encoding_table["45727"] = [136,107] let s:lib.Codec.encoding_table["45730"] = [136,108] let s:lib.Codec.encoding_table["45732"] = [136,109] let s:lib.Codec.encoding_table["45735"] = [136,110] let s:lib.Codec.encoding_table["45736"] = [136,111] let s:lib.Codec.encoding_table["45737"] = [136,112] let s:lib.Codec.encoding_table["45739"] = [136,113] let s:lib.Codec.encoding_table["45741"] = [136,114] let s:lib.Codec.encoding_table["45742"] = [136,115] let s:lib.Codec.encoding_table["45743"] = [136,116] let s:lib.Codec.encoding_table["45745"] = [136,117] let s:lib.Codec.encoding_table["45746"] = [136,118] let s:lib.Codec.encoding_table["45747"] = [136,119] let s:lib.Codec.encoding_table["45749"] = [136,120] let s:lib.Codec.encoding_table["45750"] = [136,121] let s:lib.Codec.encoding_table["45751"] = [136,122] let s:lib.Codec.encoding_table["45752"] = [136,129] let s:lib.Codec.encoding_table["45753"] = [136,130] let s:lib.Codec.encoding_table["45754"] = [136,131] let s:lib.Codec.encoding_table["45755"] = [136,132] let s:lib.Codec.encoding_table["45756"] = [136,133] let s:lib.Codec.encoding_table["45757"] = [136,134] let s:lib.Codec.encoding_table["45758"] = [136,135] let s:lib.Codec.encoding_table["45759"] = [136,136] let s:lib.Codec.encoding_table["45760"] = [136,137] let s:lib.Codec.encoding_table["45761"] = [136,138] let s:lib.Codec.encoding_table["45762"] = [136,139] let s:lib.Codec.encoding_table["45763"] = [136,140] let s:lib.Codec.encoding_table["45764"] = [136,141] let s:lib.Codec.encoding_table["45765"] = [136,142] let s:lib.Codec.encoding_table["45766"] = [136,143] let s:lib.Codec.encoding_table["45767"] = [136,144] let s:lib.Codec.encoding_table["45770"] = [136,145] let s:lib.Codec.encoding_table["45771"] = [136,146] let s:lib.Codec.encoding_table["45773"] = [136,147] let s:lib.Codec.encoding_table["45774"] = [136,148] let s:lib.Codec.encoding_table["45775"] = [136,149] let s:lib.Codec.encoding_table["45777"] = [136,150] let s:lib.Codec.encoding_table["45779"] = [136,151] let s:lib.Codec.encoding_table["45780"] = [136,152] let s:lib.Codec.encoding_table["45781"] = [136,153] let s:lib.Codec.encoding_table["45782"] = [136,154] let s:lib.Codec.encoding_table["45783"] = [136,155] let s:lib.Codec.encoding_table["45786"] = [136,156] let s:lib.Codec.encoding_table["45788"] = [136,157] let s:lib.Codec.encoding_table["45790"] = [136,158] let s:lib.Codec.encoding_table["45791"] = [136,159] let s:lib.Codec.encoding_table["45792"] = [136,160] let s:lib.Codec.encoding_table["45793"] = [136,161] let s:lib.Codec.encoding_table["45795"] = [136,162] let s:lib.Codec.encoding_table["45799"] = [136,163] let s:lib.Codec.encoding_table["45801"] = [136,164] let s:lib.Codec.encoding_table["45802"] = [136,165] let s:lib.Codec.encoding_table["45808"] = [136,166] let s:lib.Codec.encoding_table["45809"] = [136,167] let s:lib.Codec.encoding_table["45810"] = [136,168] let s:lib.Codec.encoding_table["45814"] = [136,169] let s:lib.Codec.encoding_table["45820"] = [136,170] let s:lib.Codec.encoding_table["45821"] = [136,171] let s:lib.Codec.encoding_table["45822"] = [136,172] let s:lib.Codec.encoding_table["45826"] = [136,173] let s:lib.Codec.encoding_table["45827"] = [136,174] let s:lib.Codec.encoding_table["45829"] = [136,175] let s:lib.Codec.encoding_table["45830"] = [136,176] let s:lib.Codec.encoding_table["45831"] = [136,177] let s:lib.Codec.encoding_table["45833"] = [136,178] let s:lib.Codec.encoding_table["45834"] = [136,179] let s:lib.Codec.encoding_table["45835"] = [136,180] let s:lib.Codec.encoding_table["45836"] = [136,181] let s:lib.Codec.encoding_table["45837"] = [136,182] let s:lib.Codec.encoding_table["45838"] = [136,183] let s:lib.Codec.encoding_table["45839"] = [136,184] let s:lib.Codec.encoding_table["45842"] = [136,185] let s:lib.Codec.encoding_table["45846"] = [136,186] let s:lib.Codec.encoding_table["45847"] = [136,187] let s:lib.Codec.encoding_table["45848"] = [136,188] let s:lib.Codec.encoding_table["45849"] = [136,189] let s:lib.Codec.encoding_table["45850"] = [136,190] let s:lib.Codec.encoding_table["45851"] = [136,191] let s:lib.Codec.encoding_table["45853"] = [136,192] let s:lib.Codec.encoding_table["45854"] = [136,193] let s:lib.Codec.encoding_table["45855"] = [136,194] let s:lib.Codec.encoding_table["45856"] = [136,195] let s:lib.Codec.encoding_table["45857"] = [136,196] let s:lib.Codec.encoding_table["45858"] = [136,197] let s:lib.Codec.encoding_table["45859"] = [136,198] let s:lib.Codec.encoding_table["45860"] = [136,199] let s:lib.Codec.encoding_table["45861"] = [136,200] let s:lib.Codec.encoding_table["45862"] = [136,201] let s:lib.Codec.encoding_table["45863"] = [136,202] let s:lib.Codec.encoding_table["45864"] = [136,203] let s:lib.Codec.encoding_table["45865"] = [136,204] let s:lib.Codec.encoding_table["45866"] = [136,205] let s:lib.Codec.encoding_table["45867"] = [136,206] let s:lib.Codec.encoding_table["45868"] = [136,207] let s:lib.Codec.encoding_table["45869"] = [136,208] let s:lib.Codec.encoding_table["45870"] = [136,209] let s:lib.Codec.encoding_table["45871"] = [136,210] let s:lib.Codec.encoding_table["45872"] = [136,211] let s:lib.Codec.encoding_table["45873"] = [136,212] let s:lib.Codec.encoding_table["45874"] = [136,213] let s:lib.Codec.encoding_table["45875"] = [136,214] let s:lib.Codec.encoding_table["45876"] = [136,215] let s:lib.Codec.encoding_table["45877"] = [136,216] let s:lib.Codec.encoding_table["45878"] = [136,217] let s:lib.Codec.encoding_table["45879"] = [136,218] let s:lib.Codec.encoding_table["45880"] = [136,219] let s:lib.Codec.encoding_table["45881"] = [136,220] let s:lib.Codec.encoding_table["45882"] = [136,221] let s:lib.Codec.encoding_table["45883"] = [136,222] let s:lib.Codec.encoding_table["45884"] = [136,223] let s:lib.Codec.encoding_table["45885"] = [136,224] let s:lib.Codec.encoding_table["45886"] = [136,225] let s:lib.Codec.encoding_table["45887"] = [136,226] let s:lib.Codec.encoding_table["45888"] = [136,227] let s:lib.Codec.encoding_table["45889"] = [136,228] let s:lib.Codec.encoding_table["45890"] = [136,229] let s:lib.Codec.encoding_table["45891"] = [136,230] let s:lib.Codec.encoding_table["45892"] = [136,231] let s:lib.Codec.encoding_table["45893"] = [136,232] let s:lib.Codec.encoding_table["45894"] = [136,233] let s:lib.Codec.encoding_table["45895"] = [136,234] let s:lib.Codec.encoding_table["45896"] = [136,235] let s:lib.Codec.encoding_table["45897"] = [136,236] let s:lib.Codec.encoding_table["45898"] = [136,237] let s:lib.Codec.encoding_table["45899"] = [136,238] let s:lib.Codec.encoding_table["45900"] = [136,239] let s:lib.Codec.encoding_table["45901"] = [136,240] let s:lib.Codec.encoding_table["45902"] = [136,241] let s:lib.Codec.encoding_table["45903"] = [136,242] let s:lib.Codec.encoding_table["45904"] = [136,243] let s:lib.Codec.encoding_table["45905"] = [136,244] let s:lib.Codec.encoding_table["45906"] = [136,245] let s:lib.Codec.encoding_table["45907"] = [136,246] let s:lib.Codec.encoding_table["45911"] = [136,247] let s:lib.Codec.encoding_table["45913"] = [136,248] let s:lib.Codec.encoding_table["45914"] = [136,249] let s:lib.Codec.encoding_table["45917"] = [136,250] let s:lib.Codec.encoding_table["45920"] = [136,251] let s:lib.Codec.encoding_table["45921"] = [136,252] let s:lib.Codec.encoding_table["45922"] = [136,253] let s:lib.Codec.encoding_table["45923"] = [136,254] let s:lib.Codec.encoding_table["45926"] = [137,65] let s:lib.Codec.encoding_table["45928"] = [137,66] let s:lib.Codec.encoding_table["45930"] = [137,67] let s:lib.Codec.encoding_table["45932"] = [137,68] let s:lib.Codec.encoding_table["45933"] = [137,69] let s:lib.Codec.encoding_table["45935"] = [137,70] let s:lib.Codec.encoding_table["45938"] = [137,71] let s:lib.Codec.encoding_table["45939"] = [137,72] let s:lib.Codec.encoding_table["45941"] = [137,73] let s:lib.Codec.encoding_table["45942"] = [137,74] let s:lib.Codec.encoding_table["45943"] = [137,75] let s:lib.Codec.encoding_table["45945"] = [137,76] let s:lib.Codec.encoding_table["45946"] = [137,77] let s:lib.Codec.encoding_table["45947"] = [137,78] let s:lib.Codec.encoding_table["45948"] = [137,79] let s:lib.Codec.encoding_table["45949"] = [137,80] let s:lib.Codec.encoding_table["45950"] = [137,81] let s:lib.Codec.encoding_table["45951"] = [137,82] let s:lib.Codec.encoding_table["45954"] = [137,83] let s:lib.Codec.encoding_table["45958"] = [137,84] let s:lib.Codec.encoding_table["45959"] = [137,85] let s:lib.Codec.encoding_table["45960"] = [137,86] let s:lib.Codec.encoding_table["45961"] = [137,87] let s:lib.Codec.encoding_table["45962"] = [137,88] let s:lib.Codec.encoding_table["45963"] = [137,89] let s:lib.Codec.encoding_table["45965"] = [137,90] let s:lib.Codec.encoding_table["45966"] = [137,97] let s:lib.Codec.encoding_table["45967"] = [137,98] let s:lib.Codec.encoding_table["45969"] = [137,99] let s:lib.Codec.encoding_table["45970"] = [137,100] let s:lib.Codec.encoding_table["45971"] = [137,101] let s:lib.Codec.encoding_table["45973"] = [137,102] let s:lib.Codec.encoding_table["45974"] = [137,103] let s:lib.Codec.encoding_table["45975"] = [137,104] let s:lib.Codec.encoding_table["45976"] = [137,105] let s:lib.Codec.encoding_table["45977"] = [137,106] let s:lib.Codec.encoding_table["45978"] = [137,107] let s:lib.Codec.encoding_table["45979"] = [137,108] let s:lib.Codec.encoding_table["45980"] = [137,109] let s:lib.Codec.encoding_table["45981"] = [137,110] let s:lib.Codec.encoding_table["45982"] = [137,111] let s:lib.Codec.encoding_table["45983"] = [137,112] let s:lib.Codec.encoding_table["45986"] = [137,113] let s:lib.Codec.encoding_table["45987"] = [137,114] let s:lib.Codec.encoding_table["45988"] = [137,115] let s:lib.Codec.encoding_table["45989"] = [137,116] let s:lib.Codec.encoding_table["45990"] = [137,117] let s:lib.Codec.encoding_table["45991"] = [137,118] let s:lib.Codec.encoding_table["45993"] = [137,119] let s:lib.Codec.encoding_table["45994"] = [137,120] let s:lib.Codec.encoding_table["45995"] = [137,121] let s:lib.Codec.encoding_table["45997"] = [137,122] let s:lib.Codec.encoding_table["45998"] = [137,129] let s:lib.Codec.encoding_table["45999"] = [137,130] let s:lib.Codec.encoding_table["46000"] = [137,131] let s:lib.Codec.encoding_table["46001"] = [137,132] let s:lib.Codec.encoding_table["46002"] = [137,133] let s:lib.Codec.encoding_table["46003"] = [137,134] let s:lib.Codec.encoding_table["46004"] = [137,135] let s:lib.Codec.encoding_table["46005"] = [137,136] let s:lib.Codec.encoding_table["46006"] = [137,137] let s:lib.Codec.encoding_table["46007"] = [137,138] let s:lib.Codec.encoding_table["46008"] = [137,139] let s:lib.Codec.encoding_table["46009"] = [137,140] let s:lib.Codec.encoding_table["46010"] = [137,141] let s:lib.Codec.encoding_table["46011"] = [137,142] let s:lib.Codec.encoding_table["46012"] = [137,143] let s:lib.Codec.encoding_table["46013"] = [137,144] let s:lib.Codec.encoding_table["46014"] = [137,145] let s:lib.Codec.encoding_table["46015"] = [137,146] let s:lib.Codec.encoding_table["46016"] = [137,147] let s:lib.Codec.encoding_table["46017"] = [137,148] let s:lib.Codec.encoding_table["46018"] = [137,149] let s:lib.Codec.encoding_table["46019"] = [137,150] let s:lib.Codec.encoding_table["46022"] = [137,151] let s:lib.Codec.encoding_table["46023"] = [137,152] let s:lib.Codec.encoding_table["46025"] = [137,153] let s:lib.Codec.encoding_table["46026"] = [137,154] let s:lib.Codec.encoding_table["46029"] = [137,155] let s:lib.Codec.encoding_table["46031"] = [137,156] let s:lib.Codec.encoding_table["46033"] = [137,157] let s:lib.Codec.encoding_table["46034"] = [137,158] let s:lib.Codec.encoding_table["46035"] = [137,159] let s:lib.Codec.encoding_table["46038"] = [137,160] let s:lib.Codec.encoding_table["46040"] = [137,161] let s:lib.Codec.encoding_table["46042"] = [137,162] let s:lib.Codec.encoding_table["46044"] = [137,163] let s:lib.Codec.encoding_table["46046"] = [137,164] let s:lib.Codec.encoding_table["46047"] = [137,165] let s:lib.Codec.encoding_table["46049"] = [137,166] let s:lib.Codec.encoding_table["46050"] = [137,167] let s:lib.Codec.encoding_table["46051"] = [137,168] let s:lib.Codec.encoding_table["46053"] = [137,169] let s:lib.Codec.encoding_table["46054"] = [137,170] let s:lib.Codec.encoding_table["46055"] = [137,171] let s:lib.Codec.encoding_table["46057"] = [137,172] let s:lib.Codec.encoding_table["46058"] = [137,173] let s:lib.Codec.encoding_table["46059"] = [137,174] let s:lib.Codec.encoding_table["46060"] = [137,175] let s:lib.Codec.encoding_table["46061"] = [137,176] let s:lib.Codec.encoding_table["46062"] = [137,177] let s:lib.Codec.encoding_table["46063"] = [137,178] let s:lib.Codec.encoding_table["46064"] = [137,179] let s:lib.Codec.encoding_table["46065"] = [137,180] let s:lib.Codec.encoding_table["46066"] = [137,181] let s:lib.Codec.encoding_table["46067"] = [137,182] let s:lib.Codec.encoding_table["46068"] = [137,183] let s:lib.Codec.encoding_table["46069"] = [137,184] let s:lib.Codec.encoding_table["46070"] = [137,185] let s:lib.Codec.encoding_table["46071"] = [137,186] let s:lib.Codec.encoding_table["46072"] = [137,187] let s:lib.Codec.encoding_table["46073"] = [137,188] let s:lib.Codec.encoding_table["46074"] = [137,189] let s:lib.Codec.encoding_table["46075"] = [137,190] let s:lib.Codec.encoding_table["46077"] = [137,191] let s:lib.Codec.encoding_table["46078"] = [137,192] let s:lib.Codec.encoding_table["46079"] = [137,193] let s:lib.Codec.encoding_table["46080"] = [137,194] let s:lib.Codec.encoding_table["46081"] = [137,195] let s:lib.Codec.encoding_table["46082"] = [137,196] let s:lib.Codec.encoding_table["46083"] = [137,197] let s:lib.Codec.encoding_table["46084"] = [137,198] let s:lib.Codec.encoding_table["46085"] = [137,199] let s:lib.Codec.encoding_table["46086"] = [137,200] let s:lib.Codec.encoding_table["46087"] = [137,201] let s:lib.Codec.encoding_table["46088"] = [137,202] let s:lib.Codec.encoding_table["46089"] = [137,203] let s:lib.Codec.encoding_table["46090"] = [137,204] let s:lib.Codec.encoding_table["46091"] = [137,205] let s:lib.Codec.encoding_table["46092"] = [137,206] let s:lib.Codec.encoding_table["46093"] = [137,207] let s:lib.Codec.encoding_table["46094"] = [137,208] let s:lib.Codec.encoding_table["46095"] = [137,209] let s:lib.Codec.encoding_table["46097"] = [137,210] let s:lib.Codec.encoding_table["46098"] = [137,211] let s:lib.Codec.encoding_table["46099"] = [137,212] let s:lib.Codec.encoding_table["46100"] = [137,213] let s:lib.Codec.encoding_table["46101"] = [137,214] let s:lib.Codec.encoding_table["46102"] = [137,215] let s:lib.Codec.encoding_table["46103"] = [137,216] let s:lib.Codec.encoding_table["46105"] = [137,217] let s:lib.Codec.encoding_table["46106"] = [137,218] let s:lib.Codec.encoding_table["46107"] = [137,219] let s:lib.Codec.encoding_table["46109"] = [137,220] let s:lib.Codec.encoding_table["46110"] = [137,221] let s:lib.Codec.encoding_table["46111"] = [137,222] let s:lib.Codec.encoding_table["46113"] = [137,223] let s:lib.Codec.encoding_table["46114"] = [137,224] let s:lib.Codec.encoding_table["46115"] = [137,225] let s:lib.Codec.encoding_table["46116"] = [137,226] let s:lib.Codec.encoding_table["46117"] = [137,227] let s:lib.Codec.encoding_table["46118"] = [137,228] let s:lib.Codec.encoding_table["46119"] = [137,229] let s:lib.Codec.encoding_table["46122"] = [137,230] let s:lib.Codec.encoding_table["46124"] = [137,231] let s:lib.Codec.encoding_table["46125"] = [137,232] let s:lib.Codec.encoding_table["46126"] = [137,233] let s:lib.Codec.encoding_table["46127"] = [137,234] let s:lib.Codec.encoding_table["46128"] = [137,235] let s:lib.Codec.encoding_table["46129"] = [137,236] let s:lib.Codec.encoding_table["46130"] = [137,237] let s:lib.Codec.encoding_table["46131"] = [137,238] let s:lib.Codec.encoding_table["46133"] = [137,239] let s:lib.Codec.encoding_table["46134"] = [137,240] let s:lib.Codec.encoding_table["46135"] = [137,241] let s:lib.Codec.encoding_table["46136"] = [137,242] let s:lib.Codec.encoding_table["46137"] = [137,243] let s:lib.Codec.encoding_table["46138"] = [137,244] let s:lib.Codec.encoding_table["46139"] = [137,245] let s:lib.Codec.encoding_table["46140"] = [137,246] let s:lib.Codec.encoding_table["46141"] = [137,247] let s:lib.Codec.encoding_table["46142"] = [137,248] let s:lib.Codec.encoding_table["46143"] = [137,249] let s:lib.Codec.encoding_table["46144"] = [137,250] let s:lib.Codec.encoding_table["46145"] = [137,251] let s:lib.Codec.encoding_table["46146"] = [137,252] let s:lib.Codec.encoding_table["46147"] = [137,253] let s:lib.Codec.encoding_table["46148"] = [137,254] let s:lib.Codec.encoding_table["46149"] = [138,65] let s:lib.Codec.encoding_table["46150"] = [138,66] let s:lib.Codec.encoding_table["46151"] = [138,67] let s:lib.Codec.encoding_table["46152"] = [138,68] let s:lib.Codec.encoding_table["46153"] = [138,69] let s:lib.Codec.encoding_table["46154"] = [138,70] let s:lib.Codec.encoding_table["46155"] = [138,71] let s:lib.Codec.encoding_table["46156"] = [138,72] let s:lib.Codec.encoding_table["46157"] = [138,73] let s:lib.Codec.encoding_table["46158"] = [138,74] let s:lib.Codec.encoding_table["46159"] = [138,75] let s:lib.Codec.encoding_table["46162"] = [138,76] let s:lib.Codec.encoding_table["46163"] = [138,77] let s:lib.Codec.encoding_table["46165"] = [138,78] let s:lib.Codec.encoding_table["46166"] = [138,79] let s:lib.Codec.encoding_table["46167"] = [138,80] let s:lib.Codec.encoding_table["46169"] = [138,81] let s:lib.Codec.encoding_table["46170"] = [138,82] let s:lib.Codec.encoding_table["46171"] = [138,83] let s:lib.Codec.encoding_table["46172"] = [138,84] let s:lib.Codec.encoding_table["46173"] = [138,85] let s:lib.Codec.encoding_table["46174"] = [138,86] let s:lib.Codec.encoding_table["46175"] = [138,87] let s:lib.Codec.encoding_table["46178"] = [138,88] let s:lib.Codec.encoding_table["46180"] = [138,89] let s:lib.Codec.encoding_table["46182"] = [138,90] let s:lib.Codec.encoding_table["46183"] = [138,97] let s:lib.Codec.encoding_table["46184"] = [138,98] let s:lib.Codec.encoding_table["46185"] = [138,99] let s:lib.Codec.encoding_table["46186"] = [138,100] let s:lib.Codec.encoding_table["46187"] = [138,101] let s:lib.Codec.encoding_table["46189"] = [138,102] let s:lib.Codec.encoding_table["46190"] = [138,103] let s:lib.Codec.encoding_table["46191"] = [138,104] let s:lib.Codec.encoding_table["46192"] = [138,105] let s:lib.Codec.encoding_table["46193"] = [138,106] let s:lib.Codec.encoding_table["46194"] = [138,107] let s:lib.Codec.encoding_table["46195"] = [138,108] let s:lib.Codec.encoding_table["46196"] = [138,109] let s:lib.Codec.encoding_table["46197"] = [138,110] let s:lib.Codec.encoding_table["46198"] = [138,111] let s:lib.Codec.encoding_table["46199"] = [138,112] let s:lib.Codec.encoding_table["46200"] = [138,113] let s:lib.Codec.encoding_table["46201"] = [138,114] let s:lib.Codec.encoding_table["46202"] = [138,115] let s:lib.Codec.encoding_table["46203"] = [138,116] let s:lib.Codec.encoding_table["46204"] = [138,117] let s:lib.Codec.encoding_table["46205"] = [138,118] let s:lib.Codec.encoding_table["46206"] = [138,119] let s:lib.Codec.encoding_table["46207"] = [138,120] let s:lib.Codec.encoding_table["46209"] = [138,121] let s:lib.Codec.encoding_table["46210"] = [138,122] let s:lib.Codec.encoding_table["46211"] = [138,129] let s:lib.Codec.encoding_table["46212"] = [138,130] let s:lib.Codec.encoding_table["46213"] = [138,131] let s:lib.Codec.encoding_table["46214"] = [138,132] let s:lib.Codec.encoding_table["46215"] = [138,133] let s:lib.Codec.encoding_table["46217"] = [138,134] let s:lib.Codec.encoding_table["46218"] = [138,135] let s:lib.Codec.encoding_table["46219"] = [138,136] let s:lib.Codec.encoding_table["46220"] = [138,137] let s:lib.Codec.encoding_table["46221"] = [138,138] let s:lib.Codec.encoding_table["46222"] = [138,139] let s:lib.Codec.encoding_table["46223"] = [138,140] let s:lib.Codec.encoding_table["46224"] = [138,141] let s:lib.Codec.encoding_table["46225"] = [138,142] let s:lib.Codec.encoding_table["46226"] = [138,143] let s:lib.Codec.encoding_table["46227"] = [138,144] let s:lib.Codec.encoding_table["46228"] = [138,145] let s:lib.Codec.encoding_table["46229"] = [138,146] let s:lib.Codec.encoding_table["46230"] = [138,147] let s:lib.Codec.encoding_table["46231"] = [138,148] let s:lib.Codec.encoding_table["46232"] = [138,149] let s:lib.Codec.encoding_table["46233"] = [138,150] let s:lib.Codec.encoding_table["46234"] = [138,151] let s:lib.Codec.encoding_table["46235"] = [138,152] let s:lib.Codec.encoding_table["46236"] = [138,153] let s:lib.Codec.encoding_table["46238"] = [138,154] let s:lib.Codec.encoding_table["46239"] = [138,155] let s:lib.Codec.encoding_table["46240"] = [138,156] let s:lib.Codec.encoding_table["46241"] = [138,157] let s:lib.Codec.encoding_table["46242"] = [138,158] let s:lib.Codec.encoding_table["46243"] = [138,159] let s:lib.Codec.encoding_table["46245"] = [138,160] let s:lib.Codec.encoding_table["46246"] = [138,161] let s:lib.Codec.encoding_table["46247"] = [138,162] let s:lib.Codec.encoding_table["46249"] = [138,163] let s:lib.Codec.encoding_table["46250"] = [138,164] let s:lib.Codec.encoding_table["46251"] = [138,165] let s:lib.Codec.encoding_table["46253"] = [138,166] let s:lib.Codec.encoding_table["46254"] = [138,167] let s:lib.Codec.encoding_table["46255"] = [138,168] let s:lib.Codec.encoding_table["46256"] = [138,169] let s:lib.Codec.encoding_table["46257"] = [138,170] let s:lib.Codec.encoding_table["46258"] = [138,171] let s:lib.Codec.encoding_table["46259"] = [138,172] let s:lib.Codec.encoding_table["46260"] = [138,173] let s:lib.Codec.encoding_table["46262"] = [138,174] let s:lib.Codec.encoding_table["46264"] = [138,175] let s:lib.Codec.encoding_table["46266"] = [138,176] let s:lib.Codec.encoding_table["46267"] = [138,177] let s:lib.Codec.encoding_table["46268"] = [138,178] let s:lib.Codec.encoding_table["46269"] = [138,179] let s:lib.Codec.encoding_table["46270"] = [138,180] let s:lib.Codec.encoding_table["46271"] = [138,181] let s:lib.Codec.encoding_table["46273"] = [138,182] let s:lib.Codec.encoding_table["46274"] = [138,183] let s:lib.Codec.encoding_table["46275"] = [138,184] let s:lib.Codec.encoding_table["46277"] = [138,185] let s:lib.Codec.encoding_table["46278"] = [138,186] let s:lib.Codec.encoding_table["46279"] = [138,187] let s:lib.Codec.encoding_table["46281"] = [138,188] let s:lib.Codec.encoding_table["46282"] = [138,189] let s:lib.Codec.encoding_table["46283"] = [138,190] let s:lib.Codec.encoding_table["46284"] = [138,191] let s:lib.Codec.encoding_table["46285"] = [138,192] let s:lib.Codec.encoding_table["46286"] = [138,193] let s:lib.Codec.encoding_table["46287"] = [138,194] let s:lib.Codec.encoding_table["46289"] = [138,195] let s:lib.Codec.encoding_table["46290"] = [138,196] let s:lib.Codec.encoding_table["46291"] = [138,197] let s:lib.Codec.encoding_table["46292"] = [138,198] let s:lib.Codec.encoding_table["46294"] = [138,199] let s:lib.Codec.encoding_table["46295"] = [138,200] let s:lib.Codec.encoding_table["46296"] = [138,201] let s:lib.Codec.encoding_table["46297"] = [138,202] let s:lib.Codec.encoding_table["46298"] = [138,203] let s:lib.Codec.encoding_table["46299"] = [138,204] let s:lib.Codec.encoding_table["46302"] = [138,205] let s:lib.Codec.encoding_table["46303"] = [138,206] let s:lib.Codec.encoding_table["46305"] = [138,207] let s:lib.Codec.encoding_table["46306"] = [138,208] let s:lib.Codec.encoding_table["46309"] = [138,209] let s:lib.Codec.encoding_table["46311"] = [138,210] let s:lib.Codec.encoding_table["46312"] = [138,211] let s:lib.Codec.encoding_table["46313"] = [138,212] let s:lib.Codec.encoding_table["46314"] = [138,213] let s:lib.Codec.encoding_table["46315"] = [138,214] let s:lib.Codec.encoding_table["46318"] = [138,215] let s:lib.Codec.encoding_table["46320"] = [138,216] let s:lib.Codec.encoding_table["46322"] = [138,217] let s:lib.Codec.encoding_table["46323"] = [138,218] let s:lib.Codec.encoding_table["46324"] = [138,219] let s:lib.Codec.encoding_table["46325"] = [138,220] let s:lib.Codec.encoding_table["46326"] = [138,221] let s:lib.Codec.encoding_table["46327"] = [138,222] let s:lib.Codec.encoding_table["46329"] = [138,223] let s:lib.Codec.encoding_table["46330"] = [138,224] let s:lib.Codec.encoding_table["46331"] = [138,225] let s:lib.Codec.encoding_table["46332"] = [138,226] let s:lib.Codec.encoding_table["46333"] = [138,227] let s:lib.Codec.encoding_table["46334"] = [138,228] let s:lib.Codec.encoding_table["46335"] = [138,229] let s:lib.Codec.encoding_table["46336"] = [138,230] let s:lib.Codec.encoding_table["46337"] = [138,231] let s:lib.Codec.encoding_table["46338"] = [138,232] let s:lib.Codec.encoding_table["46339"] = [138,233] let s:lib.Codec.encoding_table["46340"] = [138,234] let s:lib.Codec.encoding_table["46341"] = [138,235] let s:lib.Codec.encoding_table["46342"] = [138,236] let s:lib.Codec.encoding_table["46343"] = [138,237] let s:lib.Codec.encoding_table["46344"] = [138,238] let s:lib.Codec.encoding_table["46345"] = [138,239] let s:lib.Codec.encoding_table["46346"] = [138,240] let s:lib.Codec.encoding_table["46347"] = [138,241] let s:lib.Codec.encoding_table["46348"] = [138,242] let s:lib.Codec.encoding_table["46349"] = [138,243] let s:lib.Codec.encoding_table["46350"] = [138,244] let s:lib.Codec.encoding_table["46351"] = [138,245] let s:lib.Codec.encoding_table["46352"] = [138,246] let s:lib.Codec.encoding_table["46353"] = [138,247] let s:lib.Codec.encoding_table["46354"] = [138,248] let s:lib.Codec.encoding_table["46355"] = [138,249] let s:lib.Codec.encoding_table["46358"] = [138,250] let s:lib.Codec.encoding_table["46359"] = [138,251] let s:lib.Codec.encoding_table["46361"] = [138,252] let s:lib.Codec.encoding_table["46362"] = [138,253] let s:lib.Codec.encoding_table["46365"] = [138,254] let s:lib.Codec.encoding_table["46366"] = [139,65] let s:lib.Codec.encoding_table["46367"] = [139,66] let s:lib.Codec.encoding_table["46368"] = [139,67] let s:lib.Codec.encoding_table["46369"] = [139,68] let s:lib.Codec.encoding_table["46370"] = [139,69] let s:lib.Codec.encoding_table["46371"] = [139,70] let s:lib.Codec.encoding_table["46374"] = [139,71] let s:lib.Codec.encoding_table["46379"] = [139,72] let s:lib.Codec.encoding_table["46380"] = [139,73] let s:lib.Codec.encoding_table["46381"] = [139,74] let s:lib.Codec.encoding_table["46382"] = [139,75] let s:lib.Codec.encoding_table["46383"] = [139,76] let s:lib.Codec.encoding_table["46386"] = [139,77] let s:lib.Codec.encoding_table["46387"] = [139,78] let s:lib.Codec.encoding_table["46389"] = [139,79] let s:lib.Codec.encoding_table["46390"] = [139,80] let s:lib.Codec.encoding_table["46391"] = [139,81] let s:lib.Codec.encoding_table["46393"] = [139,82] let s:lib.Codec.encoding_table["46394"] = [139,83] let s:lib.Codec.encoding_table["46395"] = [139,84] let s:lib.Codec.encoding_table["46396"] = [139,85] let s:lib.Codec.encoding_table["46397"] = [139,86] let s:lib.Codec.encoding_table["46398"] = [139,87] let s:lib.Codec.encoding_table["46399"] = [139,88] let s:lib.Codec.encoding_table["46402"] = [139,89] let s:lib.Codec.encoding_table["46406"] = [139,90] let s:lib.Codec.encoding_table["46407"] = [139,97] let s:lib.Codec.encoding_table["46408"] = [139,98] let s:lib.Codec.encoding_table["46409"] = [139,99] let s:lib.Codec.encoding_table["46410"] = [139,100] let s:lib.Codec.encoding_table["46414"] = [139,101] let s:lib.Codec.encoding_table["46415"] = [139,102] let s:lib.Codec.encoding_table["46417"] = [139,103] let s:lib.Codec.encoding_table["46418"] = [139,104] let s:lib.Codec.encoding_table["46419"] = [139,105] let s:lib.Codec.encoding_table["46421"] = [139,106] let s:lib.Codec.encoding_table["46422"] = [139,107] let s:lib.Codec.encoding_table["46423"] = [139,108] let s:lib.Codec.encoding_table["46424"] = [139,109] let s:lib.Codec.encoding_table["46425"] = [139,110] let s:lib.Codec.encoding_table["46426"] = [139,111] let s:lib.Codec.encoding_table["46427"] = [139,112] let s:lib.Codec.encoding_table["46430"] = [139,113] let s:lib.Codec.encoding_table["46434"] = [139,114] let s:lib.Codec.encoding_table["46435"] = [139,115] let s:lib.Codec.encoding_table["46436"] = [139,116] let s:lib.Codec.encoding_table["46437"] = [139,117] let s:lib.Codec.encoding_table["46438"] = [139,118] let s:lib.Codec.encoding_table["46439"] = [139,119] let s:lib.Codec.encoding_table["46440"] = [139,120] let s:lib.Codec.encoding_table["46441"] = [139,121] let s:lib.Codec.encoding_table["46442"] = [139,122] let s:lib.Codec.encoding_table["46443"] = [139,129] let s:lib.Codec.encoding_table["46444"] = [139,130] let s:lib.Codec.encoding_table["46445"] = [139,131] let s:lib.Codec.encoding_table["46446"] = [139,132] let s:lib.Codec.encoding_table["46447"] = [139,133] let s:lib.Codec.encoding_table["46448"] = [139,134] let s:lib.Codec.encoding_table["46449"] = [139,135] let s:lib.Codec.encoding_table["46450"] = [139,136] let s:lib.Codec.encoding_table["46451"] = [139,137] let s:lib.Codec.encoding_table["46452"] = [139,138] let s:lib.Codec.encoding_table["46453"] = [139,139] let s:lib.Codec.encoding_table["46454"] = [139,140] let s:lib.Codec.encoding_table["46455"] = [139,141] let s:lib.Codec.encoding_table["46456"] = [139,142] let s:lib.Codec.encoding_table["46457"] = [139,143] let s:lib.Codec.encoding_table["46458"] = [139,144] let s:lib.Codec.encoding_table["46459"] = [139,145] let s:lib.Codec.encoding_table["46460"] = [139,146] let s:lib.Codec.encoding_table["46461"] = [139,147] let s:lib.Codec.encoding_table["46462"] = [139,148] let s:lib.Codec.encoding_table["46463"] = [139,149] let s:lib.Codec.encoding_table["46464"] = [139,150] let s:lib.Codec.encoding_table["46465"] = [139,151] let s:lib.Codec.encoding_table["46466"] = [139,152] let s:lib.Codec.encoding_table["46467"] = [139,153] let s:lib.Codec.encoding_table["46468"] = [139,154] let s:lib.Codec.encoding_table["46469"] = [139,155] let s:lib.Codec.encoding_table["46470"] = [139,156] let s:lib.Codec.encoding_table["46471"] = [139,157] let s:lib.Codec.encoding_table["46472"] = [139,158] let s:lib.Codec.encoding_table["46473"] = [139,159] let s:lib.Codec.encoding_table["46474"] = [139,160] let s:lib.Codec.encoding_table["46475"] = [139,161] let s:lib.Codec.encoding_table["46476"] = [139,162] let s:lib.Codec.encoding_table["46477"] = [139,163] let s:lib.Codec.encoding_table["46478"] = [139,164] let s:lib.Codec.encoding_table["46479"] = [139,165] let s:lib.Codec.encoding_table["46480"] = [139,166] let s:lib.Codec.encoding_table["46481"] = [139,167] let s:lib.Codec.encoding_table["46482"] = [139,168] let s:lib.Codec.encoding_table["46483"] = [139,169] let s:lib.Codec.encoding_table["46484"] = [139,170] let s:lib.Codec.encoding_table["46485"] = [139,171] let s:lib.Codec.encoding_table["46486"] = [139,172] let s:lib.Codec.encoding_table["46487"] = [139,173] let s:lib.Codec.encoding_table["46488"] = [139,174] let s:lib.Codec.encoding_table["46489"] = [139,175] let s:lib.Codec.encoding_table["46490"] = [139,176] let s:lib.Codec.encoding_table["46491"] = [139,177] let s:lib.Codec.encoding_table["46492"] = [139,178] let s:lib.Codec.encoding_table["46493"] = [139,179] let s:lib.Codec.encoding_table["46494"] = [139,180] let s:lib.Codec.encoding_table["46495"] = [139,181] let s:lib.Codec.encoding_table["46498"] = [139,182] let s:lib.Codec.encoding_table["46499"] = [139,183] let s:lib.Codec.encoding_table["46501"] = [139,184] let s:lib.Codec.encoding_table["46502"] = [139,185] let s:lib.Codec.encoding_table["46503"] = [139,186] let s:lib.Codec.encoding_table["46505"] = [139,187] let s:lib.Codec.encoding_table["46508"] = [139,188] let s:lib.Codec.encoding_table["46509"] = [139,189] let s:lib.Codec.encoding_table["46510"] = [139,190] let s:lib.Codec.encoding_table["46511"] = [139,191] let s:lib.Codec.encoding_table["46514"] = [139,192] let s:lib.Codec.encoding_table["46518"] = [139,193] let s:lib.Codec.encoding_table["46519"] = [139,194] let s:lib.Codec.encoding_table["46520"] = [139,195] let s:lib.Codec.encoding_table["46521"] = [139,196] let s:lib.Codec.encoding_table["46522"] = [139,197] let s:lib.Codec.encoding_table["46526"] = [139,198] let s:lib.Codec.encoding_table["46527"] = [139,199] let s:lib.Codec.encoding_table["46529"] = [139,200] let s:lib.Codec.encoding_table["46530"] = [139,201] let s:lib.Codec.encoding_table["46531"] = [139,202] let s:lib.Codec.encoding_table["46533"] = [139,203] let s:lib.Codec.encoding_table["46534"] = [139,204] let s:lib.Codec.encoding_table["46535"] = [139,205] let s:lib.Codec.encoding_table["46536"] = [139,206] let s:lib.Codec.encoding_table["46537"] = [139,207] let s:lib.Codec.encoding_table["46538"] = [139,208] let s:lib.Codec.encoding_table["46539"] = [139,209] let s:lib.Codec.encoding_table["46542"] = [139,210] let s:lib.Codec.encoding_table["46546"] = [139,211] let s:lib.Codec.encoding_table["46547"] = [139,212] let s:lib.Codec.encoding_table["46548"] = [139,213] let s:lib.Codec.encoding_table["46549"] = [139,214] let s:lib.Codec.encoding_table["46550"] = [139,215] let s:lib.Codec.encoding_table["46551"] = [139,216] let s:lib.Codec.encoding_table["46553"] = [139,217] let s:lib.Codec.encoding_table["46554"] = [139,218] let s:lib.Codec.encoding_table["46555"] = [139,219] let s:lib.Codec.encoding_table["46556"] = [139,220] let s:lib.Codec.encoding_table["46557"] = [139,221] let s:lib.Codec.encoding_table["46558"] = [139,222] let s:lib.Codec.encoding_table["46559"] = [139,223] let s:lib.Codec.encoding_table["46560"] = [139,224] let s:lib.Codec.encoding_table["46561"] = [139,225] let s:lib.Codec.encoding_table["46562"] = [139,226] let s:lib.Codec.encoding_table["46563"] = [139,227] let s:lib.Codec.encoding_table["46564"] = [139,228] let s:lib.Codec.encoding_table["46565"] = [139,229] let s:lib.Codec.encoding_table["46566"] = [139,230] let s:lib.Codec.encoding_table["46567"] = [139,231] let s:lib.Codec.encoding_table["46568"] = [139,232] let s:lib.Codec.encoding_table["46569"] = [139,233] let s:lib.Codec.encoding_table["46570"] = [139,234] let s:lib.Codec.encoding_table["46571"] = [139,235] let s:lib.Codec.encoding_table["46573"] = [139,236] let s:lib.Codec.encoding_table["46574"] = [139,237] let s:lib.Codec.encoding_table["46575"] = [139,238] let s:lib.Codec.encoding_table["46576"] = [139,239] let s:lib.Codec.encoding_table["46577"] = [139,240] let s:lib.Codec.encoding_table["46578"] = [139,241] let s:lib.Codec.encoding_table["46579"] = [139,242] let s:lib.Codec.encoding_table["46580"] = [139,243] let s:lib.Codec.encoding_table["46581"] = [139,244] let s:lib.Codec.encoding_table["46582"] = [139,245] let s:lib.Codec.encoding_table["46583"] = [139,246] let s:lib.Codec.encoding_table["46584"] = [139,247] let s:lib.Codec.encoding_table["46585"] = [139,248] let s:lib.Codec.encoding_table["46586"] = [139,249] let s:lib.Codec.encoding_table["46587"] = [139,250] let s:lib.Codec.encoding_table["46588"] = [139,251] let s:lib.Codec.encoding_table["46589"] = [139,252] let s:lib.Codec.encoding_table["46590"] = [139,253] let s:lib.Codec.encoding_table["46591"] = [139,254] let s:lib.Codec.encoding_table["46592"] = [140,65] let s:lib.Codec.encoding_table["46593"] = [140,66] let s:lib.Codec.encoding_table["46594"] = [140,67] let s:lib.Codec.encoding_table["46595"] = [140,68] let s:lib.Codec.encoding_table["46596"] = [140,69] let s:lib.Codec.encoding_table["46597"] = [140,70] let s:lib.Codec.encoding_table["46598"] = [140,71] let s:lib.Codec.encoding_table["46599"] = [140,72] let s:lib.Codec.encoding_table["46600"] = [140,73] let s:lib.Codec.encoding_table["46601"] = [140,74] let s:lib.Codec.encoding_table["46602"] = [140,75] let s:lib.Codec.encoding_table["46603"] = [140,76] let s:lib.Codec.encoding_table["46604"] = [140,77] let s:lib.Codec.encoding_table["46605"] = [140,78] let s:lib.Codec.encoding_table["46606"] = [140,79] let s:lib.Codec.encoding_table["46607"] = [140,80] let s:lib.Codec.encoding_table["46610"] = [140,81] let s:lib.Codec.encoding_table["46611"] = [140,82] let s:lib.Codec.encoding_table["46613"] = [140,83] let s:lib.Codec.encoding_table["46614"] = [140,84] let s:lib.Codec.encoding_table["46615"] = [140,85] let s:lib.Codec.encoding_table["46617"] = [140,86] let s:lib.Codec.encoding_table["46618"] = [140,87] let s:lib.Codec.encoding_table["46619"] = [140,88] let s:lib.Codec.encoding_table["46620"] = [140,89] let s:lib.Codec.encoding_table["46621"] = [140,90] let s:lib.Codec.encoding_table["46622"] = [140,97] let s:lib.Codec.encoding_table["46623"] = [140,98] let s:lib.Codec.encoding_table["46624"] = [140,99] let s:lib.Codec.encoding_table["46625"] = [140,100] let s:lib.Codec.encoding_table["46626"] = [140,101] let s:lib.Codec.encoding_table["46627"] = [140,102] let s:lib.Codec.encoding_table["46628"] = [140,103] let s:lib.Codec.encoding_table["46630"] = [140,104] let s:lib.Codec.encoding_table["46631"] = [140,105] let s:lib.Codec.encoding_table["46632"] = [140,106] let s:lib.Codec.encoding_table["46633"] = [140,107] let s:lib.Codec.encoding_table["46634"] = [140,108] let s:lib.Codec.encoding_table["46635"] = [140,109] let s:lib.Codec.encoding_table["46637"] = [140,110] let s:lib.Codec.encoding_table["46638"] = [140,111] let s:lib.Codec.encoding_table["46639"] = [140,112] let s:lib.Codec.encoding_table["46640"] = [140,113] let s:lib.Codec.encoding_table["46641"] = [140,114] let s:lib.Codec.encoding_table["46642"] = [140,115] let s:lib.Codec.encoding_table["46643"] = [140,116] let s:lib.Codec.encoding_table["46645"] = [140,117] let s:lib.Codec.encoding_table["46646"] = [140,118] let s:lib.Codec.encoding_table["46647"] = [140,119] let s:lib.Codec.encoding_table["46648"] = [140,120] let s:lib.Codec.encoding_table["46649"] = [140,121] let s:lib.Codec.encoding_table["46650"] = [140,122] let s:lib.Codec.encoding_table["46651"] = [140,129] let s:lib.Codec.encoding_table["46652"] = [140,130] let s:lib.Codec.encoding_table["46653"] = [140,131] let s:lib.Codec.encoding_table["46654"] = [140,132] let s:lib.Codec.encoding_table["46655"] = [140,133] let s:lib.Codec.encoding_table["46656"] = [140,134] let s:lib.Codec.encoding_table["46657"] = [140,135] let s:lib.Codec.encoding_table["46658"] = [140,136] let s:lib.Codec.encoding_table["46659"] = [140,137] let s:lib.Codec.encoding_table["46660"] = [140,138] let s:lib.Codec.encoding_table["46661"] = [140,139] let s:lib.Codec.encoding_table["46662"] = [140,140] let s:lib.Codec.encoding_table["46663"] = [140,141] let s:lib.Codec.encoding_table["46665"] = [140,142] let s:lib.Codec.encoding_table["46666"] = [140,143] let s:lib.Codec.encoding_table["46667"] = [140,144] let s:lib.Codec.encoding_table["46668"] = [140,145] let s:lib.Codec.encoding_table["46669"] = [140,146] let s:lib.Codec.encoding_table["46670"] = [140,147] let s:lib.Codec.encoding_table["46671"] = [140,148] let s:lib.Codec.encoding_table["46672"] = [140,149] let s:lib.Codec.encoding_table["46673"] = [140,150] let s:lib.Codec.encoding_table["46674"] = [140,151] let s:lib.Codec.encoding_table["46675"] = [140,152] let s:lib.Codec.encoding_table["46676"] = [140,153] let s:lib.Codec.encoding_table["46677"] = [140,154] let s:lib.Codec.encoding_table["46678"] = [140,155] let s:lib.Codec.encoding_table["46679"] = [140,156] let s:lib.Codec.encoding_table["46680"] = [140,157] let s:lib.Codec.encoding_table["46681"] = [140,158] let s:lib.Codec.encoding_table["46682"] = [140,159] let s:lib.Codec.encoding_table["46683"] = [140,160] let s:lib.Codec.encoding_table["46684"] = [140,161] let s:lib.Codec.encoding_table["46685"] = [140,162] let s:lib.Codec.encoding_table["46686"] = [140,163] let s:lib.Codec.encoding_table["46687"] = [140,164] let s:lib.Codec.encoding_table["46688"] = [140,165] let s:lib.Codec.encoding_table["46689"] = [140,166] let s:lib.Codec.encoding_table["46690"] = [140,167] let s:lib.Codec.encoding_table["46691"] = [140,168] let s:lib.Codec.encoding_table["46693"] = [140,169] let s:lib.Codec.encoding_table["46694"] = [140,170] let s:lib.Codec.encoding_table["46695"] = [140,171] let s:lib.Codec.encoding_table["46697"] = [140,172] let s:lib.Codec.encoding_table["46698"] = [140,173] let s:lib.Codec.encoding_table["46699"] = [140,174] let s:lib.Codec.encoding_table["46700"] = [140,175] let s:lib.Codec.encoding_table["46701"] = [140,176] let s:lib.Codec.encoding_table["46702"] = [140,177] let s:lib.Codec.encoding_table["46703"] = [140,178] let s:lib.Codec.encoding_table["46704"] = [140,179] let s:lib.Codec.encoding_table["46705"] = [140,180] let s:lib.Codec.encoding_table["46706"] = [140,181] let s:lib.Codec.encoding_table["46707"] = [140,182] let s:lib.Codec.encoding_table["46708"] = [140,183] let s:lib.Codec.encoding_table["46709"] = [140,184] let s:lib.Codec.encoding_table["46710"] = [140,185] let s:lib.Codec.encoding_table["46711"] = [140,186] let s:lib.Codec.encoding_table["46712"] = [140,187] let s:lib.Codec.encoding_table["46713"] = [140,188] let s:lib.Codec.encoding_table["46714"] = [140,189] let s:lib.Codec.encoding_table["46715"] = [140,190] let s:lib.Codec.encoding_table["46716"] = [140,191] let s:lib.Codec.encoding_table["46717"] = [140,192] let s:lib.Codec.encoding_table["46718"] = [140,193] let s:lib.Codec.encoding_table["46719"] = [140,194] let s:lib.Codec.encoding_table["46720"] = [140,195] let s:lib.Codec.encoding_table["46721"] = [140,196] let s:lib.Codec.encoding_table["46722"] = [140,197] let s:lib.Codec.encoding_table["46723"] = [140,198] let s:lib.Codec.encoding_table["46724"] = [140,199] let s:lib.Codec.encoding_table["46725"] = [140,200] let s:lib.Codec.encoding_table["46726"] = [140,201] let s:lib.Codec.encoding_table["46727"] = [140,202] let s:lib.Codec.encoding_table["46728"] = [140,203] let s:lib.Codec.encoding_table["46729"] = [140,204] let s:lib.Codec.encoding_table["46730"] = [140,205] let s:lib.Codec.encoding_table["46731"] = [140,206] let s:lib.Codec.encoding_table["46732"] = [140,207] let s:lib.Codec.encoding_table["46733"] = [140,208] let s:lib.Codec.encoding_table["46734"] = [140,209] let s:lib.Codec.encoding_table["46735"] = [140,210] let s:lib.Codec.encoding_table["46736"] = [140,211] let s:lib.Codec.encoding_table["46737"] = [140,212] let s:lib.Codec.encoding_table["46738"] = [140,213] let s:lib.Codec.encoding_table["46739"] = [140,214] let s:lib.Codec.encoding_table["46740"] = [140,215] let s:lib.Codec.encoding_table["46741"] = [140,216] let s:lib.Codec.encoding_table["46742"] = [140,217] let s:lib.Codec.encoding_table["46743"] = [140,218] let s:lib.Codec.encoding_table["46744"] = [140,219] let s:lib.Codec.encoding_table["46745"] = [140,220] let s:lib.Codec.encoding_table["46746"] = [140,221] let s:lib.Codec.encoding_table["46747"] = [140,222] let s:lib.Codec.encoding_table["46750"] = [140,223] let s:lib.Codec.encoding_table["46751"] = [140,224] let s:lib.Codec.encoding_table["46753"] = [140,225] let s:lib.Codec.encoding_table["46754"] = [140,226] let s:lib.Codec.encoding_table["46755"] = [140,227] let s:lib.Codec.encoding_table["46757"] = [140,228] let s:lib.Codec.encoding_table["46758"] = [140,229] let s:lib.Codec.encoding_table["46759"] = [140,230] let s:lib.Codec.encoding_table["46760"] = [140,231] let s:lib.Codec.encoding_table["46761"] = [140,232] let s:lib.Codec.encoding_table["46762"] = [140,233] let s:lib.Codec.encoding_table["46765"] = [140,234] let s:lib.Codec.encoding_table["46766"] = [140,235] let s:lib.Codec.encoding_table["46767"] = [140,236] let s:lib.Codec.encoding_table["46768"] = [140,237] let s:lib.Codec.encoding_table["46770"] = [140,238] let s:lib.Codec.encoding_table["46771"] = [140,239] let s:lib.Codec.encoding_table["46772"] = [140,240] let s:lib.Codec.encoding_table["46773"] = [140,241] let s:lib.Codec.encoding_table["46774"] = [140,242] let s:lib.Codec.encoding_table["46775"] = [140,243] let s:lib.Codec.encoding_table["46776"] = [140,244] let s:lib.Codec.encoding_table["46777"] = [140,245] let s:lib.Codec.encoding_table["46778"] = [140,246] let s:lib.Codec.encoding_table["46779"] = [140,247] let s:lib.Codec.encoding_table["46780"] = [140,248] let s:lib.Codec.encoding_table["46781"] = [140,249] let s:lib.Codec.encoding_table["46782"] = [140,250] let s:lib.Codec.encoding_table["46783"] = [140,251] let s:lib.Codec.encoding_table["46784"] = [140,252] let s:lib.Codec.encoding_table["46785"] = [140,253] let s:lib.Codec.encoding_table["46786"] = [140,254] let s:lib.Codec.encoding_table["46787"] = [141,65] let s:lib.Codec.encoding_table["46788"] = [141,66] let s:lib.Codec.encoding_table["46789"] = [141,67] let s:lib.Codec.encoding_table["46790"] = [141,68] let s:lib.Codec.encoding_table["46791"] = [141,69] let s:lib.Codec.encoding_table["46792"] = [141,70] let s:lib.Codec.encoding_table["46793"] = [141,71] let s:lib.Codec.encoding_table["46794"] = [141,72] let s:lib.Codec.encoding_table["46795"] = [141,73] let s:lib.Codec.encoding_table["46796"] = [141,74] let s:lib.Codec.encoding_table["46797"] = [141,75] let s:lib.Codec.encoding_table["46798"] = [141,76] let s:lib.Codec.encoding_table["46799"] = [141,77] let s:lib.Codec.encoding_table["46800"] = [141,78] let s:lib.Codec.encoding_table["46801"] = [141,79] let s:lib.Codec.encoding_table["46802"] = [141,80] let s:lib.Codec.encoding_table["46803"] = [141,81] let s:lib.Codec.encoding_table["46805"] = [141,82] let s:lib.Codec.encoding_table["46806"] = [141,83] let s:lib.Codec.encoding_table["46807"] = [141,84] let s:lib.Codec.encoding_table["46808"] = [141,85] let s:lib.Codec.encoding_table["46809"] = [141,86] let s:lib.Codec.encoding_table["46810"] = [141,87] let s:lib.Codec.encoding_table["46811"] = [141,88] let s:lib.Codec.encoding_table["46812"] = [141,89] let s:lib.Codec.encoding_table["46813"] = [141,90] let s:lib.Codec.encoding_table["46814"] = [141,97] let s:lib.Codec.encoding_table["46815"] = [141,98] let s:lib.Codec.encoding_table["46816"] = [141,99] let s:lib.Codec.encoding_table["46817"] = [141,100] let s:lib.Codec.encoding_table["46818"] = [141,101] let s:lib.Codec.encoding_table["46819"] = [141,102] let s:lib.Codec.encoding_table["46820"] = [141,103] let s:lib.Codec.encoding_table["46821"] = [141,104] let s:lib.Codec.encoding_table["46822"] = [141,105] let s:lib.Codec.encoding_table["46823"] = [141,106] let s:lib.Codec.encoding_table["46824"] = [141,107] let s:lib.Codec.encoding_table["46825"] = [141,108] let s:lib.Codec.encoding_table["46826"] = [141,109] let s:lib.Codec.encoding_table["46827"] = [141,110] let s:lib.Codec.encoding_table["46828"] = [141,111] let s:lib.Codec.encoding_table["46829"] = [141,112] let s:lib.Codec.encoding_table["46830"] = [141,113] let s:lib.Codec.encoding_table["46831"] = [141,114] let s:lib.Codec.encoding_table["46833"] = [141,115] let s:lib.Codec.encoding_table["46834"] = [141,116] let s:lib.Codec.encoding_table["46835"] = [141,117] let s:lib.Codec.encoding_table["46837"] = [141,118] let s:lib.Codec.encoding_table["46838"] = [141,119] let s:lib.Codec.encoding_table["46839"] = [141,120] let s:lib.Codec.encoding_table["46841"] = [141,121] let s:lib.Codec.encoding_table["46842"] = [141,122] let s:lib.Codec.encoding_table["46843"] = [141,129] let s:lib.Codec.encoding_table["46844"] = [141,130] let s:lib.Codec.encoding_table["46845"] = [141,131] let s:lib.Codec.encoding_table["46846"] = [141,132] let s:lib.Codec.encoding_table["46847"] = [141,133] let s:lib.Codec.encoding_table["46850"] = [141,134] let s:lib.Codec.encoding_table["46851"] = [141,135] let s:lib.Codec.encoding_table["46852"] = [141,136] let s:lib.Codec.encoding_table["46854"] = [141,137] let s:lib.Codec.encoding_table["46855"] = [141,138] let s:lib.Codec.encoding_table["46856"] = [141,139] let s:lib.Codec.encoding_table["46857"] = [141,140] let s:lib.Codec.encoding_table["46858"] = [141,141] let s:lib.Codec.encoding_table["46859"] = [141,142] let s:lib.Codec.encoding_table["46860"] = [141,143] let s:lib.Codec.encoding_table["46861"] = [141,144] let s:lib.Codec.encoding_table["46862"] = [141,145] let s:lib.Codec.encoding_table["46863"] = [141,146] let s:lib.Codec.encoding_table["46864"] = [141,147] let s:lib.Codec.encoding_table["46865"] = [141,148] let s:lib.Codec.encoding_table["46866"] = [141,149] let s:lib.Codec.encoding_table["46867"] = [141,150] let s:lib.Codec.encoding_table["46868"] = [141,151] let s:lib.Codec.encoding_table["46869"] = [141,152] let s:lib.Codec.encoding_table["46870"] = [141,153] let s:lib.Codec.encoding_table["46871"] = [141,154] let s:lib.Codec.encoding_table["46872"] = [141,155] let s:lib.Codec.encoding_table["46873"] = [141,156] let s:lib.Codec.encoding_table["46874"] = [141,157] let s:lib.Codec.encoding_table["46875"] = [141,158] let s:lib.Codec.encoding_table["46876"] = [141,159] let s:lib.Codec.encoding_table["46877"] = [141,160] let s:lib.Codec.encoding_table["46878"] = [141,161] let s:lib.Codec.encoding_table["46879"] = [141,162] let s:lib.Codec.encoding_table["46880"] = [141,163] let s:lib.Codec.encoding_table["46881"] = [141,164] let s:lib.Codec.encoding_table["46882"] = [141,165] let s:lib.Codec.encoding_table["46883"] = [141,166] let s:lib.Codec.encoding_table["46884"] = [141,167] let s:lib.Codec.encoding_table["46885"] = [141,168] let s:lib.Codec.encoding_table["46886"] = [141,169] let s:lib.Codec.encoding_table["46887"] = [141,170] let s:lib.Codec.encoding_table["46890"] = [141,171] let s:lib.Codec.encoding_table["46891"] = [141,172] let s:lib.Codec.encoding_table["46893"] = [141,173] let s:lib.Codec.encoding_table["46894"] = [141,174] let s:lib.Codec.encoding_table["46897"] = [141,175] let s:lib.Codec.encoding_table["46898"] = [141,176] let s:lib.Codec.encoding_table["46899"] = [141,177] let s:lib.Codec.encoding_table["46900"] = [141,178] let s:lib.Codec.encoding_table["46901"] = [141,179] let s:lib.Codec.encoding_table["46902"] = [141,180] let s:lib.Codec.encoding_table["46903"] = [141,181] let s:lib.Codec.encoding_table["46906"] = [141,182] let s:lib.Codec.encoding_table["46908"] = [141,183] let s:lib.Codec.encoding_table["46909"] = [141,184] let s:lib.Codec.encoding_table["46910"] = [141,185] let s:lib.Codec.encoding_table["46911"] = [141,186] let s:lib.Codec.encoding_table["46912"] = [141,187] let s:lib.Codec.encoding_table["46913"] = [141,188] let s:lib.Codec.encoding_table["46914"] = [141,189] let s:lib.Codec.encoding_table["46915"] = [141,190] let s:lib.Codec.encoding_table["46917"] = [141,191] let s:lib.Codec.encoding_table["46918"] = [141,192] let s:lib.Codec.encoding_table["46919"] = [141,193] let s:lib.Codec.encoding_table["46921"] = [141,194] let s:lib.Codec.encoding_table["46922"] = [141,195] let s:lib.Codec.encoding_table["46923"] = [141,196] let s:lib.Codec.encoding_table["46925"] = [141,197] let s:lib.Codec.encoding_table["46926"] = [141,198] let s:lib.Codec.encoding_table["46927"] = [141,199] let s:lib.Codec.encoding_table["46928"] = [141,200] let s:lib.Codec.encoding_table["46929"] = [141,201] let s:lib.Codec.encoding_table["46930"] = [141,202] let s:lib.Codec.encoding_table["46931"] = [141,203] let s:lib.Codec.encoding_table["46934"] = [141,204] let s:lib.Codec.encoding_table["46935"] = [141,205] let s:lib.Codec.encoding_table["46936"] = [141,206] let s:lib.Codec.encoding_table["46937"] = [141,207] let s:lib.Codec.encoding_table["46938"] = [141,208] let s:lib.Codec.encoding_table["46939"] = [141,209] let s:lib.Codec.encoding_table["46940"] = [141,210] let s:lib.Codec.encoding_table["46941"] = [141,211] let s:lib.Codec.encoding_table["46942"] = [141,212] let s:lib.Codec.encoding_table["46943"] = [141,213] let s:lib.Codec.encoding_table["46945"] = [141,214] let s:lib.Codec.encoding_table["46946"] = [141,215] let s:lib.Codec.encoding_table["46947"] = [141,216] let s:lib.Codec.encoding_table["46949"] = [141,217] let s:lib.Codec.encoding_table["46950"] = [141,218] let s:lib.Codec.encoding_table["46951"] = [141,219] let s:lib.Codec.encoding_table["46953"] = [141,220] let s:lib.Codec.encoding_table["46954"] = [141,221] let s:lib.Codec.encoding_table["46955"] = [141,222] let s:lib.Codec.encoding_table["46956"] = [141,223] let s:lib.Codec.encoding_table["46957"] = [141,224] let s:lib.Codec.encoding_table["46958"] = [141,225] let s:lib.Codec.encoding_table["46959"] = [141,226] let s:lib.Codec.encoding_table["46962"] = [141,227] let s:lib.Codec.encoding_table["46964"] = [141,228] let s:lib.Codec.encoding_table["46966"] = [141,229] let s:lib.Codec.encoding_table["46967"] = [141,230] let s:lib.Codec.encoding_table["46968"] = [141,231] let s:lib.Codec.encoding_table["46969"] = [141,232] let s:lib.Codec.encoding_table["46970"] = [141,233] let s:lib.Codec.encoding_table["46971"] = [141,234] let s:lib.Codec.encoding_table["46974"] = [141,235] let s:lib.Codec.encoding_table["46975"] = [141,236] let s:lib.Codec.encoding_table["46977"] = [141,237] let s:lib.Codec.encoding_table["46978"] = [141,238] let s:lib.Codec.encoding_table["46979"] = [141,239] let s:lib.Codec.encoding_table["46981"] = [141,240] let s:lib.Codec.encoding_table["46982"] = [141,241] let s:lib.Codec.encoding_table["46983"] = [141,242] let s:lib.Codec.encoding_table["46984"] = [141,243] let s:lib.Codec.encoding_table["46985"] = [141,244] let s:lib.Codec.encoding_table["46986"] = [141,245] let s:lib.Codec.encoding_table["46987"] = [141,246] let s:lib.Codec.encoding_table["46990"] = [141,247] let s:lib.Codec.encoding_table["46995"] = [141,248] let s:lib.Codec.encoding_table["46996"] = [141,249] let s:lib.Codec.encoding_table["46997"] = [141,250] let s:lib.Codec.encoding_table["47002"] = [141,251] let s:lib.Codec.encoding_table["47003"] = [141,252] let s:lib.Codec.encoding_table["47005"] = [141,253] let s:lib.Codec.encoding_table["47006"] = [141,254] let s:lib.Codec.encoding_table["47007"] = [142,65] let s:lib.Codec.encoding_table["47009"] = [142,66] let s:lib.Codec.encoding_table["47010"] = [142,67] let s:lib.Codec.encoding_table["47011"] = [142,68] let s:lib.Codec.encoding_table["47012"] = [142,69] let s:lib.Codec.encoding_table["47013"] = [142,70] let s:lib.Codec.encoding_table["47014"] = [142,71] let s:lib.Codec.encoding_table["47015"] = [142,72] let s:lib.Codec.encoding_table["47018"] = [142,73] let s:lib.Codec.encoding_table["47022"] = [142,74] let s:lib.Codec.encoding_table["47023"] = [142,75] let s:lib.Codec.encoding_table["47024"] = [142,76] let s:lib.Codec.encoding_table["47025"] = [142,77] let s:lib.Codec.encoding_table["47026"] = [142,78] let s:lib.Codec.encoding_table["47027"] = [142,79] let s:lib.Codec.encoding_table["47030"] = [142,80] let s:lib.Codec.encoding_table["47031"] = [142,81] let s:lib.Codec.encoding_table["47033"] = [142,82] let s:lib.Codec.encoding_table["47034"] = [142,83] let s:lib.Codec.encoding_table["47035"] = [142,84] let s:lib.Codec.encoding_table["47036"] = [142,85] let s:lib.Codec.encoding_table["47037"] = [142,86] let s:lib.Codec.encoding_table["47038"] = [142,87] let s:lib.Codec.encoding_table["47039"] = [142,88] let s:lib.Codec.encoding_table["47040"] = [142,89] let s:lib.Codec.encoding_table["47041"] = [142,90] let s:lib.Codec.encoding_table["47042"] = [142,97] let s:lib.Codec.encoding_table["47043"] = [142,98] let s:lib.Codec.encoding_table["47044"] = [142,99] let s:lib.Codec.encoding_table["47045"] = [142,100] let s:lib.Codec.encoding_table["47046"] = [142,101] let s:lib.Codec.encoding_table["47048"] = [142,102] let s:lib.Codec.encoding_table["47050"] = [142,103] let s:lib.Codec.encoding_table["47051"] = [142,104] let s:lib.Codec.encoding_table["47052"] = [142,105] let s:lib.Codec.encoding_table["47053"] = [142,106] let s:lib.Codec.encoding_table["47054"] = [142,107] let s:lib.Codec.encoding_table["47055"] = [142,108] let s:lib.Codec.encoding_table["47056"] = [142,109] let s:lib.Codec.encoding_table["47057"] = [142,110] let s:lib.Codec.encoding_table["47058"] = [142,111] let s:lib.Codec.encoding_table["47059"] = [142,112] let s:lib.Codec.encoding_table["47060"] = [142,113] let s:lib.Codec.encoding_table["47061"] = [142,114] let s:lib.Codec.encoding_table["47062"] = [142,115] let s:lib.Codec.encoding_table["47063"] = [142,116] let s:lib.Codec.encoding_table["47064"] = [142,117] let s:lib.Codec.encoding_table["47065"] = [142,118] let s:lib.Codec.encoding_table["47066"] = [142,119] let s:lib.Codec.encoding_table["47067"] = [142,120] let s:lib.Codec.encoding_table["47068"] = [142,121] let s:lib.Codec.encoding_table["47069"] = [142,122] let s:lib.Codec.encoding_table["47070"] = [142,129] let s:lib.Codec.encoding_table["47071"] = [142,130] let s:lib.Codec.encoding_table["47072"] = [142,131] let s:lib.Codec.encoding_table["47073"] = [142,132] let s:lib.Codec.encoding_table["47074"] = [142,133] let s:lib.Codec.encoding_table["47075"] = [142,134] let s:lib.Codec.encoding_table["47076"] = [142,135] let s:lib.Codec.encoding_table["47077"] = [142,136] let s:lib.Codec.encoding_table["47078"] = [142,137] let s:lib.Codec.encoding_table["47079"] = [142,138] let s:lib.Codec.encoding_table["47080"] = [142,139] let s:lib.Codec.encoding_table["47081"] = [142,140] let s:lib.Codec.encoding_table["47082"] = [142,141] let s:lib.Codec.encoding_table["47083"] = [142,142] let s:lib.Codec.encoding_table["47086"] = [142,143] let s:lib.Codec.encoding_table["47087"] = [142,144] let s:lib.Codec.encoding_table["47089"] = [142,145] let s:lib.Codec.encoding_table["47090"] = [142,146] let s:lib.Codec.encoding_table["47091"] = [142,147] let s:lib.Codec.encoding_table["47093"] = [142,148] let s:lib.Codec.encoding_table["47094"] = [142,149] let s:lib.Codec.encoding_table["47095"] = [142,150] let s:lib.Codec.encoding_table["47096"] = [142,151] let s:lib.Codec.encoding_table["47097"] = [142,152] let s:lib.Codec.encoding_table["47098"] = [142,153] let s:lib.Codec.encoding_table["47099"] = [142,154] let s:lib.Codec.encoding_table["47102"] = [142,155] let s:lib.Codec.encoding_table["47106"] = [142,156] let s:lib.Codec.encoding_table["47107"] = [142,157] let s:lib.Codec.encoding_table["47108"] = [142,158] let s:lib.Codec.encoding_table["47109"] = [142,159] let s:lib.Codec.encoding_table["47110"] = [142,160] let s:lib.Codec.encoding_table["47114"] = [142,161] let s:lib.Codec.encoding_table["47115"] = [142,162] let s:lib.Codec.encoding_table["47117"] = [142,163] let s:lib.Codec.encoding_table["47118"] = [142,164] let s:lib.Codec.encoding_table["47119"] = [142,165] let s:lib.Codec.encoding_table["47121"] = [142,166] let s:lib.Codec.encoding_table["47122"] = [142,167] let s:lib.Codec.encoding_table["47123"] = [142,168] let s:lib.Codec.encoding_table["47124"] = [142,169] let s:lib.Codec.encoding_table["47125"] = [142,170] let s:lib.Codec.encoding_table["47126"] = [142,171] let s:lib.Codec.encoding_table["47127"] = [142,172] let s:lib.Codec.encoding_table["47130"] = [142,173] let s:lib.Codec.encoding_table["47132"] = [142,174] let s:lib.Codec.encoding_table["47134"] = [142,175] let s:lib.Codec.encoding_table["47135"] = [142,176] let s:lib.Codec.encoding_table["47136"] = [142,177] let s:lib.Codec.encoding_table["47137"] = [142,178] let s:lib.Codec.encoding_table["47138"] = [142,179] let s:lib.Codec.encoding_table["47139"] = [142,180] let s:lib.Codec.encoding_table["47142"] = [142,181] let s:lib.Codec.encoding_table["47143"] = [142,182] let s:lib.Codec.encoding_table["47145"] = [142,183] let s:lib.Codec.encoding_table["47146"] = [142,184] let s:lib.Codec.encoding_table["47147"] = [142,185] let s:lib.Codec.encoding_table["47149"] = [142,186] let s:lib.Codec.encoding_table["47150"] = [142,187] let s:lib.Codec.encoding_table["47151"] = [142,188] let s:lib.Codec.encoding_table["47152"] = [142,189] let s:lib.Codec.encoding_table["47153"] = [142,190] let s:lib.Codec.encoding_table["47154"] = [142,191] let s:lib.Codec.encoding_table["47155"] = [142,192] let s:lib.Codec.encoding_table["47158"] = [142,193] let s:lib.Codec.encoding_table["47162"] = [142,194] let s:lib.Codec.encoding_table["47163"] = [142,195] let s:lib.Codec.encoding_table["47164"] = [142,196] let s:lib.Codec.encoding_table["47165"] = [142,197] let s:lib.Codec.encoding_table["47166"] = [142,198] let s:lib.Codec.encoding_table["47167"] = [142,199] let s:lib.Codec.encoding_table["47169"] = [142,200] let s:lib.Codec.encoding_table["47170"] = [142,201] let s:lib.Codec.encoding_table["47171"] = [142,202] let s:lib.Codec.encoding_table["47173"] = [142,203] let s:lib.Codec.encoding_table["47174"] = [142,204] let s:lib.Codec.encoding_table["47175"] = [142,205] let s:lib.Codec.encoding_table["47176"] = [142,206] let s:lib.Codec.encoding_table["47177"] = [142,207] let s:lib.Codec.encoding_table["47178"] = [142,208] let s:lib.Codec.encoding_table["47179"] = [142,209] let s:lib.Codec.encoding_table["47180"] = [142,210] let s:lib.Codec.encoding_table["47181"] = [142,211] let s:lib.Codec.encoding_table["47182"] = [142,212] let s:lib.Codec.encoding_table["47183"] = [142,213] let s:lib.Codec.encoding_table["47184"] = [142,214] let s:lib.Codec.encoding_table["47186"] = [142,215] let s:lib.Codec.encoding_table["47188"] = [142,216] let s:lib.Codec.encoding_table["47189"] = [142,217] let s:lib.Codec.encoding_table["47190"] = [142,218] let s:lib.Codec.encoding_table["47191"] = [142,219] let s:lib.Codec.encoding_table["47192"] = [142,220] let s:lib.Codec.encoding_table["47193"] = [142,221] let s:lib.Codec.encoding_table["47194"] = [142,222] let s:lib.Codec.encoding_table["47195"] = [142,223] let s:lib.Codec.encoding_table["47198"] = [142,224] let s:lib.Codec.encoding_table["47199"] = [142,225] let s:lib.Codec.encoding_table["47201"] = [142,226] let s:lib.Codec.encoding_table["47202"] = [142,227] let s:lib.Codec.encoding_table["47203"] = [142,228] let s:lib.Codec.encoding_table["47205"] = [142,229] let s:lib.Codec.encoding_table["47206"] = [142,230] let s:lib.Codec.encoding_table["47207"] = [142,231] let s:lib.Codec.encoding_table["47208"] = [142,232] let s:lib.Codec.encoding_table["47209"] = [142,233] let s:lib.Codec.encoding_table["47210"] = [142,234] let s:lib.Codec.encoding_table["47211"] = [142,235] let s:lib.Codec.encoding_table["47214"] = [142,236] let s:lib.Codec.encoding_table["47216"] = [142,237] let s:lib.Codec.encoding_table["47218"] = [142,238] let s:lib.Codec.encoding_table["47219"] = [142,239] let s:lib.Codec.encoding_table["47220"] = [142,240] let s:lib.Codec.encoding_table["47221"] = [142,241] let s:lib.Codec.encoding_table["47222"] = [142,242] let s:lib.Codec.encoding_table["47223"] = [142,243] let s:lib.Codec.encoding_table["47225"] = [142,244] let s:lib.Codec.encoding_table["47226"] = [142,245] let s:lib.Codec.encoding_table["47227"] = [142,246] let s:lib.Codec.encoding_table["47229"] = [142,247] let s:lib.Codec.encoding_table["47230"] = [142,248] let s:lib.Codec.encoding_table["47231"] = [142,249] let s:lib.Codec.encoding_table["47232"] = [142,250] let s:lib.Codec.encoding_table["47233"] = [142,251] let s:lib.Codec.encoding_table["47234"] = [142,252] let s:lib.Codec.encoding_table["47235"] = [142,253] let s:lib.Codec.encoding_table["47236"] = [142,254] let s:lib.Codec.encoding_table["47237"] = [143,65] let s:lib.Codec.encoding_table["47238"] = [143,66] let s:lib.Codec.encoding_table["47239"] = [143,67] let s:lib.Codec.encoding_table["47240"] = [143,68] let s:lib.Codec.encoding_table["47241"] = [143,69] let s:lib.Codec.encoding_table["47242"] = [143,70] let s:lib.Codec.encoding_table["47243"] = [143,71] let s:lib.Codec.encoding_table["47244"] = [143,72] let s:lib.Codec.encoding_table["47246"] = [143,73] let s:lib.Codec.encoding_table["47247"] = [143,74] let s:lib.Codec.encoding_table["47248"] = [143,75] let s:lib.Codec.encoding_table["47249"] = [143,76] let s:lib.Codec.encoding_table["47250"] = [143,77] let s:lib.Codec.encoding_table["47251"] = [143,78] let s:lib.Codec.encoding_table["47252"] = [143,79] let s:lib.Codec.encoding_table["47253"] = [143,80] let s:lib.Codec.encoding_table["47254"] = [143,81] let s:lib.Codec.encoding_table["47255"] = [143,82] let s:lib.Codec.encoding_table["47256"] = [143,83] let s:lib.Codec.encoding_table["47257"] = [143,84] let s:lib.Codec.encoding_table["47258"] = [143,85] let s:lib.Codec.encoding_table["47259"] = [143,86] let s:lib.Codec.encoding_table["47260"] = [143,87] let s:lib.Codec.encoding_table["47261"] = [143,88] let s:lib.Codec.encoding_table["47262"] = [143,89] let s:lib.Codec.encoding_table["47263"] = [143,90] let s:lib.Codec.encoding_table["47264"] = [143,97] let s:lib.Codec.encoding_table["47265"] = [143,98] let s:lib.Codec.encoding_table["47266"] = [143,99] let s:lib.Codec.encoding_table["47267"] = [143,100] let s:lib.Codec.encoding_table["47268"] = [143,101] let s:lib.Codec.encoding_table["47269"] = [143,102] let s:lib.Codec.encoding_table["47270"] = [143,103] let s:lib.Codec.encoding_table["47271"] = [143,104] let s:lib.Codec.encoding_table["47273"] = [143,105] let s:lib.Codec.encoding_table["47274"] = [143,106] let s:lib.Codec.encoding_table["47275"] = [143,107] let s:lib.Codec.encoding_table["47276"] = [143,108] let s:lib.Codec.encoding_table["47277"] = [143,109] let s:lib.Codec.encoding_table["47278"] = [143,110] let s:lib.Codec.encoding_table["47279"] = [143,111] let s:lib.Codec.encoding_table["47281"] = [143,112] let s:lib.Codec.encoding_table["47282"] = [143,113] let s:lib.Codec.encoding_table["47283"] = [143,114] let s:lib.Codec.encoding_table["47285"] = [143,115] let s:lib.Codec.encoding_table["47286"] = [143,116] let s:lib.Codec.encoding_table["47287"] = [143,117] let s:lib.Codec.encoding_table["47289"] = [143,118] let s:lib.Codec.encoding_table["47290"] = [143,119] let s:lib.Codec.encoding_table["47291"] = [143,120] let s:lib.Codec.encoding_table["47292"] = [143,121] let s:lib.Codec.encoding_table["47293"] = [143,122] let s:lib.Codec.encoding_table["47294"] = [143,129] let s:lib.Codec.encoding_table["47295"] = [143,130] let s:lib.Codec.encoding_table["47298"] = [143,131] let s:lib.Codec.encoding_table["47300"] = [143,132] let s:lib.Codec.encoding_table["47302"] = [143,133] let s:lib.Codec.encoding_table["47303"] = [143,134] let s:lib.Codec.encoding_table["47304"] = [143,135] let s:lib.Codec.encoding_table["47305"] = [143,136] let s:lib.Codec.encoding_table["47306"] = [143,137] let s:lib.Codec.encoding_table["47307"] = [143,138] let s:lib.Codec.encoding_table["47309"] = [143,139] let s:lib.Codec.encoding_table["47310"] = [143,140] let s:lib.Codec.encoding_table["47311"] = [143,141] let s:lib.Codec.encoding_table["47313"] = [143,142] let s:lib.Codec.encoding_table["47314"] = [143,143] let s:lib.Codec.encoding_table["47315"] = [143,144] let s:lib.Codec.encoding_table["47317"] = [143,145] let s:lib.Codec.encoding_table["47318"] = [143,146] let s:lib.Codec.encoding_table["47319"] = [143,147] let s:lib.Codec.encoding_table["47320"] = [143,148] let s:lib.Codec.encoding_table["47321"] = [143,149] let s:lib.Codec.encoding_table["47322"] = [143,150] let s:lib.Codec.encoding_table["47323"] = [143,151] let s:lib.Codec.encoding_table["47324"] = [143,152] let s:lib.Codec.encoding_table["47326"] = [143,153] let s:lib.Codec.encoding_table["47328"] = [143,154] let s:lib.Codec.encoding_table["47330"] = [143,155] let s:lib.Codec.encoding_table["47331"] = [143,156] let s:lib.Codec.encoding_table["47332"] = [143,157] let s:lib.Codec.encoding_table["47333"] = [143,158] let s:lib.Codec.encoding_table["47334"] = [143,159] let s:lib.Codec.encoding_table["47335"] = [143,160] let s:lib.Codec.encoding_table["47338"] = [143,161] let s:lib.Codec.encoding_table["47339"] = [143,162] let s:lib.Codec.encoding_table["47341"] = [143,163] let s:lib.Codec.encoding_table["47342"] = [143,164] let s:lib.Codec.encoding_table["47343"] = [143,165] let s:lib.Codec.encoding_table["47345"] = [143,166] let s:lib.Codec.encoding_table["47346"] = [143,167] let s:lib.Codec.encoding_table["47347"] = [143,168] let s:lib.Codec.encoding_table["47348"] = [143,169] let s:lib.Codec.encoding_table["47349"] = [143,170] let s:lib.Codec.encoding_table["47350"] = [143,171] let s:lib.Codec.encoding_table["47351"] = [143,172] let s:lib.Codec.encoding_table["47354"] = [143,173] let s:lib.Codec.encoding_table["47356"] = [143,174] let s:lib.Codec.encoding_table["47358"] = [143,175] let s:lib.Codec.encoding_table["47359"] = [143,176] let s:lib.Codec.encoding_table["47360"] = [143,177] let s:lib.Codec.encoding_table["47361"] = [143,178] let s:lib.Codec.encoding_table["47362"] = [143,179] let s:lib.Codec.encoding_table["47363"] = [143,180] let s:lib.Codec.encoding_table["47365"] = [143,181] let s:lib.Codec.encoding_table["47366"] = [143,182] let s:lib.Codec.encoding_table["47367"] = [143,183] let s:lib.Codec.encoding_table["47368"] = [143,184] let s:lib.Codec.encoding_table["47369"] = [143,185] let s:lib.Codec.encoding_table["47370"] = [143,186] let s:lib.Codec.encoding_table["47371"] = [143,187] let s:lib.Codec.encoding_table["47372"] = [143,188] let s:lib.Codec.encoding_table["47373"] = [143,189] let s:lib.Codec.encoding_table["47374"] = [143,190] let s:lib.Codec.encoding_table["47375"] = [143,191] let s:lib.Codec.encoding_table["47376"] = [143,192] let s:lib.Codec.encoding_table["47377"] = [143,193] let s:lib.Codec.encoding_table["47378"] = [143,194] let s:lib.Codec.encoding_table["47379"] = [143,195] let s:lib.Codec.encoding_table["47380"] = [143,196] let s:lib.Codec.encoding_table["47381"] = [143,197] let s:lib.Codec.encoding_table["47382"] = [143,198] let s:lib.Codec.encoding_table["47383"] = [143,199] let s:lib.Codec.encoding_table["47385"] = [143,200] let s:lib.Codec.encoding_table["47386"] = [143,201] let s:lib.Codec.encoding_table["47387"] = [143,202] let s:lib.Codec.encoding_table["47388"] = [143,203] let s:lib.Codec.encoding_table["47389"] = [143,204] let s:lib.Codec.encoding_table["47390"] = [143,205] let s:lib.Codec.encoding_table["47391"] = [143,206] let s:lib.Codec.encoding_table["47393"] = [143,207] let s:lib.Codec.encoding_table["47394"] = [143,208] let s:lib.Codec.encoding_table["47395"] = [143,209] let s:lib.Codec.encoding_table["47396"] = [143,210] let s:lib.Codec.encoding_table["47397"] = [143,211] let s:lib.Codec.encoding_table["47398"] = [143,212] let s:lib.Codec.encoding_table["47399"] = [143,213] let s:lib.Codec.encoding_table["47400"] = [143,214] let s:lib.Codec.encoding_table["47401"] = [143,215] let s:lib.Codec.encoding_table["47402"] = [143,216] let s:lib.Codec.encoding_table["47403"] = [143,217] let s:lib.Codec.encoding_table["47404"] = [143,218] let s:lib.Codec.encoding_table["47405"] = [143,219] let s:lib.Codec.encoding_table["47406"] = [143,220] let s:lib.Codec.encoding_table["47407"] = [143,221] let s:lib.Codec.encoding_table["47408"] = [143,222] let s:lib.Codec.encoding_table["47409"] = [143,223] let s:lib.Codec.encoding_table["47410"] = [143,224] let s:lib.Codec.encoding_table["47411"] = [143,225] let s:lib.Codec.encoding_table["47412"] = [143,226] let s:lib.Codec.encoding_table["47413"] = [143,227] let s:lib.Codec.encoding_table["47414"] = [143,228] let s:lib.Codec.encoding_table["47415"] = [143,229] let s:lib.Codec.encoding_table["47416"] = [143,230] let s:lib.Codec.encoding_table["47417"] = [143,231] let s:lib.Codec.encoding_table["47418"] = [143,232] let s:lib.Codec.encoding_table["47419"] = [143,233] let s:lib.Codec.encoding_table["47422"] = [143,234] let s:lib.Codec.encoding_table["47423"] = [143,235] let s:lib.Codec.encoding_table["47425"] = [143,236] let s:lib.Codec.encoding_table["47426"] = [143,237] let s:lib.Codec.encoding_table["47427"] = [143,238] let s:lib.Codec.encoding_table["47429"] = [143,239] let s:lib.Codec.encoding_table["47430"] = [143,240] let s:lib.Codec.encoding_table["47431"] = [143,241] let s:lib.Codec.encoding_table["47432"] = [143,242] let s:lib.Codec.encoding_table["47433"] = [143,243] let s:lib.Codec.encoding_table["47434"] = [143,244] let s:lib.Codec.encoding_table["47435"] = [143,245] let s:lib.Codec.encoding_table["47437"] = [143,246] let s:lib.Codec.encoding_table["47438"] = [143,247] let s:lib.Codec.encoding_table["47440"] = [143,248] let s:lib.Codec.encoding_table["47442"] = [143,249] let s:lib.Codec.encoding_table["47443"] = [143,250] let s:lib.Codec.encoding_table["47444"] = [143,251] let s:lib.Codec.encoding_table["47445"] = [143,252] let s:lib.Codec.encoding_table["47446"] = [143,253] let s:lib.Codec.encoding_table["47447"] = [143,254] let s:lib.Codec.encoding_table["47450"] = [144,65] let s:lib.Codec.encoding_table["47451"] = [144,66] let s:lib.Codec.encoding_table["47453"] = [144,67] let s:lib.Codec.encoding_table["47454"] = [144,68] let s:lib.Codec.encoding_table["47455"] = [144,69] let s:lib.Codec.encoding_table["47457"] = [144,70] let s:lib.Codec.encoding_table["47458"] = [144,71] let s:lib.Codec.encoding_table["47459"] = [144,72] let s:lib.Codec.encoding_table["47460"] = [144,73] let s:lib.Codec.encoding_table["47461"] = [144,74] let s:lib.Codec.encoding_table["47462"] = [144,75] let s:lib.Codec.encoding_table["47463"] = [144,76] let s:lib.Codec.encoding_table["47466"] = [144,77] let s:lib.Codec.encoding_table["47468"] = [144,78] let s:lib.Codec.encoding_table["47470"] = [144,79] let s:lib.Codec.encoding_table["47471"] = [144,80] let s:lib.Codec.encoding_table["47472"] = [144,81] let s:lib.Codec.encoding_table["47473"] = [144,82] let s:lib.Codec.encoding_table["47474"] = [144,83] let s:lib.Codec.encoding_table["47475"] = [144,84] let s:lib.Codec.encoding_table["47478"] = [144,85] let s:lib.Codec.encoding_table["47479"] = [144,86] let s:lib.Codec.encoding_table["47481"] = [144,87] let s:lib.Codec.encoding_table["47482"] = [144,88] let s:lib.Codec.encoding_table["47483"] = [144,89] let s:lib.Codec.encoding_table["47485"] = [144,90] let s:lib.Codec.encoding_table["47486"] = [144,97] let s:lib.Codec.encoding_table["47487"] = [144,98] let s:lib.Codec.encoding_table["47488"] = [144,99] let s:lib.Codec.encoding_table["47489"] = [144,100] let s:lib.Codec.encoding_table["47490"] = [144,101] let s:lib.Codec.encoding_table["47491"] = [144,102] let s:lib.Codec.encoding_table["47494"] = [144,103] let s:lib.Codec.encoding_table["47496"] = [144,104] let s:lib.Codec.encoding_table["47499"] = [144,105] let s:lib.Codec.encoding_table["47500"] = [144,106] let s:lib.Codec.encoding_table["47503"] = [144,107] let s:lib.Codec.encoding_table["47504"] = [144,108] let s:lib.Codec.encoding_table["47505"] = [144,109] let s:lib.Codec.encoding_table["47506"] = [144,110] let s:lib.Codec.encoding_table["47507"] = [144,111] let s:lib.Codec.encoding_table["47508"] = [144,112] let s:lib.Codec.encoding_table["47509"] = [144,113] let s:lib.Codec.encoding_table["47510"] = [144,114] let s:lib.Codec.encoding_table["47511"] = [144,115] let s:lib.Codec.encoding_table["47512"] = [144,116] let s:lib.Codec.encoding_table["47513"] = [144,117] let s:lib.Codec.encoding_table["47514"] = [144,118] let s:lib.Codec.encoding_table["47515"] = [144,119] let s:lib.Codec.encoding_table["47516"] = [144,120] let s:lib.Codec.encoding_table["47517"] = [144,121] let s:lib.Codec.encoding_table["47518"] = [144,122] let s:lib.Codec.encoding_table["47519"] = [144,129] let s:lib.Codec.encoding_table["47520"] = [144,130] let s:lib.Codec.encoding_table["47521"] = [144,131] let s:lib.Codec.encoding_table["47522"] = [144,132] let s:lib.Codec.encoding_table["47523"] = [144,133] let s:lib.Codec.encoding_table["47524"] = [144,134] let s:lib.Codec.encoding_table["47525"] = [144,135] let s:lib.Codec.encoding_table["47526"] = [144,136] let s:lib.Codec.encoding_table["47527"] = [144,137] let s:lib.Codec.encoding_table["47528"] = [144,138] let s:lib.Codec.encoding_table["47529"] = [144,139] let s:lib.Codec.encoding_table["47530"] = [144,140] let s:lib.Codec.encoding_table["47531"] = [144,141] let s:lib.Codec.encoding_table["47534"] = [144,142] let s:lib.Codec.encoding_table["47535"] = [144,143] let s:lib.Codec.encoding_table["47537"] = [144,144] let s:lib.Codec.encoding_table["47538"] = [144,145] let s:lib.Codec.encoding_table["47539"] = [144,146] let s:lib.Codec.encoding_table["47541"] = [144,147] let s:lib.Codec.encoding_table["47542"] = [144,148] let s:lib.Codec.encoding_table["47543"] = [144,149] let s:lib.Codec.encoding_table["47544"] = [144,150] let s:lib.Codec.encoding_table["47545"] = [144,151] let s:lib.Codec.encoding_table["47546"] = [144,152] let s:lib.Codec.encoding_table["47547"] = [144,153] let s:lib.Codec.encoding_table["47550"] = [144,154] let s:lib.Codec.encoding_table["47552"] = [144,155] let s:lib.Codec.encoding_table["47554"] = [144,156] let s:lib.Codec.encoding_table["47555"] = [144,157] let s:lib.Codec.encoding_table["47556"] = [144,158] let s:lib.Codec.encoding_table["47557"] = [144,159] let s:lib.Codec.encoding_table["47558"] = [144,160] let s:lib.Codec.encoding_table["47559"] = [144,161] let s:lib.Codec.encoding_table["47562"] = [144,162] let s:lib.Codec.encoding_table["47563"] = [144,163] let s:lib.Codec.encoding_table["47565"] = [144,164] let s:lib.Codec.encoding_table["47571"] = [144,165] let s:lib.Codec.encoding_table["47572"] = [144,166] let s:lib.Codec.encoding_table["47573"] = [144,167] let s:lib.Codec.encoding_table["47574"] = [144,168] let s:lib.Codec.encoding_table["47575"] = [144,169] let s:lib.Codec.encoding_table["47578"] = [144,170] let s:lib.Codec.encoding_table["47580"] = [144,171] let s:lib.Codec.encoding_table["47583"] = [144,172] let s:lib.Codec.encoding_table["47584"] = [144,173] let s:lib.Codec.encoding_table["47586"] = [144,174] let s:lib.Codec.encoding_table["47590"] = [144,175] let s:lib.Codec.encoding_table["47591"] = [144,176] let s:lib.Codec.encoding_table["47593"] = [144,177] let s:lib.Codec.encoding_table["47594"] = [144,178] let s:lib.Codec.encoding_table["47595"] = [144,179] let s:lib.Codec.encoding_table["47597"] = [144,180] let s:lib.Codec.encoding_table["47598"] = [144,181] let s:lib.Codec.encoding_table["47599"] = [144,182] let s:lib.Codec.encoding_table["47600"] = [144,183] let s:lib.Codec.encoding_table["47601"] = [144,184] let s:lib.Codec.encoding_table["47602"] = [144,185] let s:lib.Codec.encoding_table["47603"] = [144,186] let s:lib.Codec.encoding_table["47606"] = [144,187] let s:lib.Codec.encoding_table["47611"] = [144,188] let s:lib.Codec.encoding_table["47612"] = [144,189] let s:lib.Codec.encoding_table["47613"] = [144,190] let s:lib.Codec.encoding_table["47614"] = [144,191] let s:lib.Codec.encoding_table["47615"] = [144,192] let s:lib.Codec.encoding_table["47618"] = [144,193] let s:lib.Codec.encoding_table["47619"] = [144,194] let s:lib.Codec.encoding_table["47620"] = [144,195] let s:lib.Codec.encoding_table["47621"] = [144,196] let s:lib.Codec.encoding_table["47622"] = [144,197] let s:lib.Codec.encoding_table["47623"] = [144,198] let s:lib.Codec.encoding_table["47625"] = [144,199] let s:lib.Codec.encoding_table["47626"] = [144,200] let s:lib.Codec.encoding_table["47627"] = [144,201] let s:lib.Codec.encoding_table["47628"] = [144,202] let s:lib.Codec.encoding_table["47629"] = [144,203] let s:lib.Codec.encoding_table["47630"] = [144,204] let s:lib.Codec.encoding_table["47631"] = [144,205] let s:lib.Codec.encoding_table["47632"] = [144,206] let s:lib.Codec.encoding_table["47633"] = [144,207] let s:lib.Codec.encoding_table["47634"] = [144,208] let s:lib.Codec.encoding_table["47635"] = [144,209] let s:lib.Codec.encoding_table["47636"] = [144,210] let s:lib.Codec.encoding_table["47638"] = [144,211] let s:lib.Codec.encoding_table["47639"] = [144,212] let s:lib.Codec.encoding_table["47640"] = [144,213] let s:lib.Codec.encoding_table["47641"] = [144,214] let s:lib.Codec.encoding_table["47642"] = [144,215] let s:lib.Codec.encoding_table["47643"] = [144,216] let s:lib.Codec.encoding_table["47644"] = [144,217] let s:lib.Codec.encoding_table["47645"] = [144,218] let s:lib.Codec.encoding_table["47646"] = [144,219] let s:lib.Codec.encoding_table["47647"] = [144,220] let s:lib.Codec.encoding_table["47648"] = [144,221] let s:lib.Codec.encoding_table["47649"] = [144,222] let s:lib.Codec.encoding_table["47650"] = [144,223] let s:lib.Codec.encoding_table["47651"] = [144,224] let s:lib.Codec.encoding_table["47652"] = [144,225] let s:lib.Codec.encoding_table["47653"] = [144,226] let s:lib.Codec.encoding_table["47654"] = [144,227] let s:lib.Codec.encoding_table["47655"] = [144,228] let s:lib.Codec.encoding_table["47656"] = [144,229] let s:lib.Codec.encoding_table["47657"] = [144,230] let s:lib.Codec.encoding_table["47658"] = [144,231] let s:lib.Codec.encoding_table["47659"] = [144,232] let s:lib.Codec.encoding_table["47660"] = [144,233] let s:lib.Codec.encoding_table["47661"] = [144,234] let s:lib.Codec.encoding_table["47662"] = [144,235] let s:lib.Codec.encoding_table["47663"] = [144,236] let s:lib.Codec.encoding_table["47664"] = [144,237] let s:lib.Codec.encoding_table["47665"] = [144,238] let s:lib.Codec.encoding_table["47666"] = [144,239] let s:lib.Codec.encoding_table["47667"] = [144,240] let s:lib.Codec.encoding_table["47668"] = [144,241] let s:lib.Codec.encoding_table["47669"] = [144,242] let s:lib.Codec.encoding_table["47670"] = [144,243] let s:lib.Codec.encoding_table["47671"] = [144,244] let s:lib.Codec.encoding_table["47674"] = [144,245] let s:lib.Codec.encoding_table["47675"] = [144,246] let s:lib.Codec.encoding_table["47677"] = [144,247] let s:lib.Codec.encoding_table["47678"] = [144,248] let s:lib.Codec.encoding_table["47679"] = [144,249] let s:lib.Codec.encoding_table["47681"] = [144,250] let s:lib.Codec.encoding_table["47683"] = [144,251] let s:lib.Codec.encoding_table["47684"] = [144,252] let s:lib.Codec.encoding_table["47685"] = [144,253] let s:lib.Codec.encoding_table["47686"] = [144,254] let s:lib.Codec.encoding_table["47687"] = [145,65] let s:lib.Codec.encoding_table["47690"] = [145,66] let s:lib.Codec.encoding_table["47692"] = [145,67] let s:lib.Codec.encoding_table["47695"] = [145,68] let s:lib.Codec.encoding_table["47696"] = [145,69] let s:lib.Codec.encoding_table["47697"] = [145,70] let s:lib.Codec.encoding_table["47698"] = [145,71] let s:lib.Codec.encoding_table["47702"] = [145,72] let s:lib.Codec.encoding_table["47703"] = [145,73] let s:lib.Codec.encoding_table["47705"] = [145,74] let s:lib.Codec.encoding_table["47706"] = [145,75] let s:lib.Codec.encoding_table["47707"] = [145,76] let s:lib.Codec.encoding_table["47709"] = [145,77] let s:lib.Codec.encoding_table["47710"] = [145,78] let s:lib.Codec.encoding_table["47711"] = [145,79] let s:lib.Codec.encoding_table["47712"] = [145,80] let s:lib.Codec.encoding_table["47713"] = [145,81] let s:lib.Codec.encoding_table["47714"] = [145,82] let s:lib.Codec.encoding_table["47715"] = [145,83] let s:lib.Codec.encoding_table["47718"] = [145,84] let s:lib.Codec.encoding_table["47722"] = [145,85] let s:lib.Codec.encoding_table["47723"] = [145,86] let s:lib.Codec.encoding_table["47724"] = [145,87] let s:lib.Codec.encoding_table["47725"] = [145,88] let s:lib.Codec.encoding_table["47726"] = [145,89] let s:lib.Codec.encoding_table["47727"] = [145,90] let s:lib.Codec.encoding_table["47730"] = [145,97] let s:lib.Codec.encoding_table["47731"] = [145,98] let s:lib.Codec.encoding_table["47733"] = [145,99] let s:lib.Codec.encoding_table["47734"] = [145,100] let s:lib.Codec.encoding_table["47735"] = [145,101] let s:lib.Codec.encoding_table["47737"] = [145,102] let s:lib.Codec.encoding_table["47738"] = [145,103] let s:lib.Codec.encoding_table["47739"] = [145,104] let s:lib.Codec.encoding_table["47740"] = [145,105] let s:lib.Codec.encoding_table["47741"] = [145,106] let s:lib.Codec.encoding_table["47742"] = [145,107] let s:lib.Codec.encoding_table["47743"] = [145,108] let s:lib.Codec.encoding_table["47744"] = [145,109] let s:lib.Codec.encoding_table["47745"] = [145,110] let s:lib.Codec.encoding_table["47746"] = [145,111] let s:lib.Codec.encoding_table["47750"] = [145,112] let s:lib.Codec.encoding_table["47752"] = [145,113] let s:lib.Codec.encoding_table["47753"] = [145,114] let s:lib.Codec.encoding_table["47754"] = [145,115] let s:lib.Codec.encoding_table["47755"] = [145,116] let s:lib.Codec.encoding_table["47757"] = [145,117] let s:lib.Codec.encoding_table["47758"] = [145,118] let s:lib.Codec.encoding_table["47759"] = [145,119] let s:lib.Codec.encoding_table["47760"] = [145,120] let s:lib.Codec.encoding_table["47761"] = [145,121] let s:lib.Codec.encoding_table["47762"] = [145,122] let s:lib.Codec.encoding_table["47763"] = [145,129] let s:lib.Codec.encoding_table["47764"] = [145,130] let s:lib.Codec.encoding_table["47765"] = [145,131] let s:lib.Codec.encoding_table["47766"] = [145,132] let s:lib.Codec.encoding_table["47767"] = [145,133] let s:lib.Codec.encoding_table["47768"] = [145,134] let s:lib.Codec.encoding_table["47769"] = [145,135] let s:lib.Codec.encoding_table["47770"] = [145,136] let s:lib.Codec.encoding_table["47771"] = [145,137] let s:lib.Codec.encoding_table["47772"] = [145,138] let s:lib.Codec.encoding_table["47773"] = [145,139] let s:lib.Codec.encoding_table["47774"] = [145,140] let s:lib.Codec.encoding_table["47775"] = [145,141] let s:lib.Codec.encoding_table["47776"] = [145,142] let s:lib.Codec.encoding_table["47777"] = [145,143] let s:lib.Codec.encoding_table["47778"] = [145,144] let s:lib.Codec.encoding_table["47779"] = [145,145] let s:lib.Codec.encoding_table["47780"] = [145,146] let s:lib.Codec.encoding_table["47781"] = [145,147] let s:lib.Codec.encoding_table["47782"] = [145,148] let s:lib.Codec.encoding_table["47783"] = [145,149] let s:lib.Codec.encoding_table["47786"] = [145,150] let s:lib.Codec.encoding_table["47789"] = [145,151] let s:lib.Codec.encoding_table["47790"] = [145,152] let s:lib.Codec.encoding_table["47791"] = [145,153] let s:lib.Codec.encoding_table["47793"] = [145,154] let s:lib.Codec.encoding_table["47795"] = [145,155] let s:lib.Codec.encoding_table["47796"] = [145,156] let s:lib.Codec.encoding_table["47797"] = [145,157] let s:lib.Codec.encoding_table["47798"] = [145,158] let s:lib.Codec.encoding_table["47799"] = [145,159] let s:lib.Codec.encoding_table["47802"] = [145,160] let s:lib.Codec.encoding_table["47804"] = [145,161] let s:lib.Codec.encoding_table["47806"] = [145,162] let s:lib.Codec.encoding_table["47807"] = [145,163] let s:lib.Codec.encoding_table["47808"] = [145,164] let s:lib.Codec.encoding_table["47809"] = [145,165] let s:lib.Codec.encoding_table["47810"] = [145,166] let s:lib.Codec.encoding_table["47811"] = [145,167] let s:lib.Codec.encoding_table["47813"] = [145,168] let s:lib.Codec.encoding_table["47814"] = [145,169] let s:lib.Codec.encoding_table["47815"] = [145,170] let s:lib.Codec.encoding_table["47817"] = [145,171] let s:lib.Codec.encoding_table["47818"] = [145,172] let s:lib.Codec.encoding_table["47819"] = [145,173] let s:lib.Codec.encoding_table["47820"] = [145,174] let s:lib.Codec.encoding_table["47821"] = [145,175] let s:lib.Codec.encoding_table["47822"] = [145,176] let s:lib.Codec.encoding_table["47823"] = [145,177] let s:lib.Codec.encoding_table["47824"] = [145,178] let s:lib.Codec.encoding_table["47825"] = [145,179] let s:lib.Codec.encoding_table["47826"] = [145,180] let s:lib.Codec.encoding_table["47827"] = [145,181] let s:lib.Codec.encoding_table["47828"] = [145,182] let s:lib.Codec.encoding_table["47829"] = [145,183] let s:lib.Codec.encoding_table["47830"] = [145,184] let s:lib.Codec.encoding_table["47831"] = [145,185] let s:lib.Codec.encoding_table["47834"] = [145,186] let s:lib.Codec.encoding_table["47835"] = [145,187] let s:lib.Codec.encoding_table["47836"] = [145,188] let s:lib.Codec.encoding_table["47837"] = [145,189] let s:lib.Codec.encoding_table["47838"] = [145,190] let s:lib.Codec.encoding_table["47839"] = [145,191] let s:lib.Codec.encoding_table["47840"] = [145,192] let s:lib.Codec.encoding_table["47841"] = [145,193] let s:lib.Codec.encoding_table["47842"] = [145,194] let s:lib.Codec.encoding_table["47843"] = [145,195] let s:lib.Codec.encoding_table["47844"] = [145,196] let s:lib.Codec.encoding_table["47845"] = [145,197] let s:lib.Codec.encoding_table["47846"] = [145,198] let s:lib.Codec.encoding_table["47847"] = [145,199] let s:lib.Codec.encoding_table["47848"] = [145,200] let s:lib.Codec.encoding_table["47849"] = [145,201] let s:lib.Codec.encoding_table["47850"] = [145,202] let s:lib.Codec.encoding_table["47851"] = [145,203] let s:lib.Codec.encoding_table["47852"] = [145,204] let s:lib.Codec.encoding_table["47853"] = [145,205] let s:lib.Codec.encoding_table["47854"] = [145,206] let s:lib.Codec.encoding_table["47855"] = [145,207] let s:lib.Codec.encoding_table["47856"] = [145,208] let s:lib.Codec.encoding_table["47857"] = [145,209] let s:lib.Codec.encoding_table["47858"] = [145,210] let s:lib.Codec.encoding_table["47859"] = [145,211] let s:lib.Codec.encoding_table["47860"] = [145,212] let s:lib.Codec.encoding_table["47861"] = [145,213] let s:lib.Codec.encoding_table["47862"] = [145,214] let s:lib.Codec.encoding_table["47863"] = [145,215] let s:lib.Codec.encoding_table["47864"] = [145,216] let s:lib.Codec.encoding_table["47865"] = [145,217] let s:lib.Codec.encoding_table["47866"] = [145,218] let s:lib.Codec.encoding_table["47867"] = [145,219] let s:lib.Codec.encoding_table["47869"] = [145,220] let s:lib.Codec.encoding_table["47870"] = [145,221] let s:lib.Codec.encoding_table["47871"] = [145,222] let s:lib.Codec.encoding_table["47873"] = [145,223] let s:lib.Codec.encoding_table["47874"] = [145,224] let s:lib.Codec.encoding_table["47875"] = [145,225] let s:lib.Codec.encoding_table["47877"] = [145,226] let s:lib.Codec.encoding_table["47878"] = [145,227] let s:lib.Codec.encoding_table["47879"] = [145,228] let s:lib.Codec.encoding_table["47880"] = [145,229] let s:lib.Codec.encoding_table["47881"] = [145,230] let s:lib.Codec.encoding_table["47882"] = [145,231] let s:lib.Codec.encoding_table["47883"] = [145,232] let s:lib.Codec.encoding_table["47884"] = [145,233] let s:lib.Codec.encoding_table["47886"] = [145,234] let s:lib.Codec.encoding_table["47888"] = [145,235] let s:lib.Codec.encoding_table["47890"] = [145,236] let s:lib.Codec.encoding_table["47891"] = [145,237] let s:lib.Codec.encoding_table["47892"] = [145,238] let s:lib.Codec.encoding_table["47893"] = [145,239] let s:lib.Codec.encoding_table["47894"] = [145,240] let s:lib.Codec.encoding_table["47895"] = [145,241] let s:lib.Codec.encoding_table["47897"] = [145,242] let s:lib.Codec.encoding_table["47898"] = [145,243] let s:lib.Codec.encoding_table["47899"] = [145,244] let s:lib.Codec.encoding_table["47901"] = [145,245] let s:lib.Codec.encoding_table["47902"] = [145,246] let s:lib.Codec.encoding_table["47903"] = [145,247] let s:lib.Codec.encoding_table["47905"] = [145,248] let s:lib.Codec.encoding_table["47906"] = [145,249] let s:lib.Codec.encoding_table["47907"] = [145,250] let s:lib.Codec.encoding_table["47908"] = [145,251] let s:lib.Codec.encoding_table["47909"] = [145,252] let s:lib.Codec.encoding_table["47910"] = [145,253] let s:lib.Codec.encoding_table["47911"] = [145,254] let s:lib.Codec.encoding_table["47912"] = [146,65] let s:lib.Codec.encoding_table["47914"] = [146,66] let s:lib.Codec.encoding_table["47916"] = [146,67] let s:lib.Codec.encoding_table["47917"] = [146,68] let s:lib.Codec.encoding_table["47918"] = [146,69] let s:lib.Codec.encoding_table["47919"] = [146,70] let s:lib.Codec.encoding_table["47920"] = [146,71] let s:lib.Codec.encoding_table["47921"] = [146,72] let s:lib.Codec.encoding_table["47922"] = [146,73] let s:lib.Codec.encoding_table["47923"] = [146,74] let s:lib.Codec.encoding_table["47927"] = [146,75] let s:lib.Codec.encoding_table["47929"] = [146,76] let s:lib.Codec.encoding_table["47930"] = [146,77] let s:lib.Codec.encoding_table["47935"] = [146,78] let s:lib.Codec.encoding_table["47936"] = [146,79] let s:lib.Codec.encoding_table["47937"] = [146,80] let s:lib.Codec.encoding_table["47938"] = [146,81] let s:lib.Codec.encoding_table["47939"] = [146,82] let s:lib.Codec.encoding_table["47942"] = [146,83] let s:lib.Codec.encoding_table["47944"] = [146,84] let s:lib.Codec.encoding_table["47946"] = [146,85] let s:lib.Codec.encoding_table["47947"] = [146,86] let s:lib.Codec.encoding_table["47948"] = [146,87] let s:lib.Codec.encoding_table["47950"] = [146,88] let s:lib.Codec.encoding_table["47953"] = [146,89] let s:lib.Codec.encoding_table["47954"] = [146,90] let s:lib.Codec.encoding_table["47955"] = [146,97] let s:lib.Codec.encoding_table["47957"] = [146,98] let s:lib.Codec.encoding_table["47958"] = [146,99] let s:lib.Codec.encoding_table["47959"] = [146,100] let s:lib.Codec.encoding_table["47961"] = [146,101] let s:lib.Codec.encoding_table["47962"] = [146,102] let s:lib.Codec.encoding_table["47963"] = [146,103] let s:lib.Codec.encoding_table["47964"] = [146,104] let s:lib.Codec.encoding_table["47965"] = [146,105] let s:lib.Codec.encoding_table["47966"] = [146,106] let s:lib.Codec.encoding_table["47967"] = [146,107] let s:lib.Codec.encoding_table["47968"] = [146,108] let s:lib.Codec.encoding_table["47970"] = [146,109] let s:lib.Codec.encoding_table["47972"] = [146,110] let s:lib.Codec.encoding_table["47973"] = [146,111] let s:lib.Codec.encoding_table["47974"] = [146,112] let s:lib.Codec.encoding_table["47975"] = [146,113] let s:lib.Codec.encoding_table["47976"] = [146,114] let s:lib.Codec.encoding_table["47977"] = [146,115] let s:lib.Codec.encoding_table["47978"] = [146,116] let s:lib.Codec.encoding_table["47979"] = [146,117] let s:lib.Codec.encoding_table["47981"] = [146,118] let s:lib.Codec.encoding_table["47982"] = [146,119] let s:lib.Codec.encoding_table["47983"] = [146,120] let s:lib.Codec.encoding_table["47984"] = [146,121] let s:lib.Codec.encoding_table["47985"] = [146,122] let s:lib.Codec.encoding_table["47986"] = [146,129] let s:lib.Codec.encoding_table["47987"] = [146,130] let s:lib.Codec.encoding_table["47988"] = [146,131] let s:lib.Codec.encoding_table["47989"] = [146,132] let s:lib.Codec.encoding_table["47990"] = [146,133] let s:lib.Codec.encoding_table["47991"] = [146,134] let s:lib.Codec.encoding_table["47992"] = [146,135] let s:lib.Codec.encoding_table["47993"] = [146,136] let s:lib.Codec.encoding_table["47994"] = [146,137] let s:lib.Codec.encoding_table["47995"] = [146,138] let s:lib.Codec.encoding_table["47996"] = [146,139] let s:lib.Codec.encoding_table["47997"] = [146,140] let s:lib.Codec.encoding_table["47998"] = [146,141] let s:lib.Codec.encoding_table["47999"] = [146,142] let s:lib.Codec.encoding_table["48000"] = [146,143] let s:lib.Codec.encoding_table["48001"] = [146,144] let s:lib.Codec.encoding_table["48002"] = [146,145] let s:lib.Codec.encoding_table["48003"] = [146,146] let s:lib.Codec.encoding_table["48004"] = [146,147] let s:lib.Codec.encoding_table["48005"] = [146,148] let s:lib.Codec.encoding_table["48006"] = [146,149] let s:lib.Codec.encoding_table["48007"] = [146,150] let s:lib.Codec.encoding_table["48009"] = [146,151] let s:lib.Codec.encoding_table["48010"] = [146,152] let s:lib.Codec.encoding_table["48011"] = [146,153] let s:lib.Codec.encoding_table["48013"] = [146,154] let s:lib.Codec.encoding_table["48014"] = [146,155] let s:lib.Codec.encoding_table["48015"] = [146,156] let s:lib.Codec.encoding_table["48017"] = [146,157] let s:lib.Codec.encoding_table["48018"] = [146,158] let s:lib.Codec.encoding_table["48019"] = [146,159] let s:lib.Codec.encoding_table["48020"] = [146,160] let s:lib.Codec.encoding_table["48021"] = [146,161] let s:lib.Codec.encoding_table["48022"] = [146,162] let s:lib.Codec.encoding_table["48023"] = [146,163] let s:lib.Codec.encoding_table["48024"] = [146,164] let s:lib.Codec.encoding_table["48025"] = [146,165] let s:lib.Codec.encoding_table["48026"] = [146,166] let s:lib.Codec.encoding_table["48027"] = [146,167] let s:lib.Codec.encoding_table["48028"] = [146,168] let s:lib.Codec.encoding_table["48029"] = [146,169] let s:lib.Codec.encoding_table["48030"] = [146,170] let s:lib.Codec.encoding_table["48031"] = [146,171] let s:lib.Codec.encoding_table["48032"] = [146,172] let s:lib.Codec.encoding_table["48033"] = [146,173] let s:lib.Codec.encoding_table["48034"] = [146,174] let s:lib.Codec.encoding_table["48035"] = [146,175] let s:lib.Codec.encoding_table["48037"] = [146,176] let s:lib.Codec.encoding_table["48038"] = [146,177] let s:lib.Codec.encoding_table["48039"] = [146,178] let s:lib.Codec.encoding_table["48041"] = [146,179] let s:lib.Codec.encoding_table["48042"] = [146,180] let s:lib.Codec.encoding_table["48043"] = [146,181] let s:lib.Codec.encoding_table["48045"] = [146,182] let s:lib.Codec.encoding_table["48046"] = [146,183] let s:lib.Codec.encoding_table["48047"] = [146,184] let s:lib.Codec.encoding_table["48048"] = [146,185] let s:lib.Codec.encoding_table["48049"] = [146,186] let s:lib.Codec.encoding_table["48050"] = [146,187] let s:lib.Codec.encoding_table["48051"] = [146,188] let s:lib.Codec.encoding_table["48053"] = [146,189] let s:lib.Codec.encoding_table["48054"] = [146,190] let s:lib.Codec.encoding_table["48056"] = [146,191] let s:lib.Codec.encoding_table["48057"] = [146,192] let s:lib.Codec.encoding_table["48058"] = [146,193] let s:lib.Codec.encoding_table["48059"] = [146,194] let s:lib.Codec.encoding_table["48060"] = [146,195] let s:lib.Codec.encoding_table["48061"] = [146,196] let s:lib.Codec.encoding_table["48062"] = [146,197] let s:lib.Codec.encoding_table["48063"] = [146,198] let s:lib.Codec.encoding_table["48065"] = [146,199] let s:lib.Codec.encoding_table["48066"] = [146,200] let s:lib.Codec.encoding_table["48067"] = [146,201] let s:lib.Codec.encoding_table["48069"] = [146,202] let s:lib.Codec.encoding_table["48070"] = [146,203] let s:lib.Codec.encoding_table["48071"] = [146,204] let s:lib.Codec.encoding_table["48073"] = [146,205] let s:lib.Codec.encoding_table["48074"] = [146,206] let s:lib.Codec.encoding_table["48075"] = [146,207] let s:lib.Codec.encoding_table["48076"] = [146,208] let s:lib.Codec.encoding_table["48077"] = [146,209] let s:lib.Codec.encoding_table["48078"] = [146,210] let s:lib.Codec.encoding_table["48079"] = [146,211] let s:lib.Codec.encoding_table["48081"] = [146,212] let s:lib.Codec.encoding_table["48082"] = [146,213] let s:lib.Codec.encoding_table["48084"] = [146,214] let s:lib.Codec.encoding_table["48085"] = [146,215] let s:lib.Codec.encoding_table["48086"] = [146,216] let s:lib.Codec.encoding_table["48087"] = [146,217] let s:lib.Codec.encoding_table["48088"] = [146,218] let s:lib.Codec.encoding_table["48089"] = [146,219] let s:lib.Codec.encoding_table["48090"] = [146,220] let s:lib.Codec.encoding_table["48091"] = [146,221] let s:lib.Codec.encoding_table["48092"] = [146,222] let s:lib.Codec.encoding_table["48093"] = [146,223] let s:lib.Codec.encoding_table["48094"] = [146,224] let s:lib.Codec.encoding_table["48095"] = [146,225] let s:lib.Codec.encoding_table["48096"] = [146,226] let s:lib.Codec.encoding_table["48097"] = [146,227] let s:lib.Codec.encoding_table["48098"] = [146,228] let s:lib.Codec.encoding_table["48099"] = [146,229] let s:lib.Codec.encoding_table["48100"] = [146,230] let s:lib.Codec.encoding_table["48101"] = [146,231] let s:lib.Codec.encoding_table["48102"] = [146,232] let s:lib.Codec.encoding_table["48103"] = [146,233] let s:lib.Codec.encoding_table["48104"] = [146,234] let s:lib.Codec.encoding_table["48105"] = [146,235] let s:lib.Codec.encoding_table["48106"] = [146,236] let s:lib.Codec.encoding_table["48107"] = [146,237] let s:lib.Codec.encoding_table["48108"] = [146,238] let s:lib.Codec.encoding_table["48109"] = [146,239] let s:lib.Codec.encoding_table["48110"] = [146,240] let s:lib.Codec.encoding_table["48111"] = [146,241] let s:lib.Codec.encoding_table["48112"] = [146,242] let s:lib.Codec.encoding_table["48113"] = [146,243] let s:lib.Codec.encoding_table["48114"] = [146,244] let s:lib.Codec.encoding_table["48115"] = [146,245] let s:lib.Codec.encoding_table["48116"] = [146,246] let s:lib.Codec.encoding_table["48117"] = [146,247] let s:lib.Codec.encoding_table["48118"] = [146,248] let s:lib.Codec.encoding_table["48119"] = [146,249] let s:lib.Codec.encoding_table["48122"] = [146,250] let s:lib.Codec.encoding_table["48123"] = [146,251] let s:lib.Codec.encoding_table["48125"] = [146,252] let s:lib.Codec.encoding_table["48126"] = [146,253] let s:lib.Codec.encoding_table["48129"] = [146,254] let s:lib.Codec.encoding_table["48131"] = [147,65] let s:lib.Codec.encoding_table["48132"] = [147,66] let s:lib.Codec.encoding_table["48133"] = [147,67] let s:lib.Codec.encoding_table["48134"] = [147,68] let s:lib.Codec.encoding_table["48135"] = [147,69] let s:lib.Codec.encoding_table["48138"] = [147,70] let s:lib.Codec.encoding_table["48142"] = [147,71] let s:lib.Codec.encoding_table["48144"] = [147,72] let s:lib.Codec.encoding_table["48146"] = [147,73] let s:lib.Codec.encoding_table["48147"] = [147,74] let s:lib.Codec.encoding_table["48153"] = [147,75] let s:lib.Codec.encoding_table["48154"] = [147,76] let s:lib.Codec.encoding_table["48160"] = [147,77] let s:lib.Codec.encoding_table["48161"] = [147,78] let s:lib.Codec.encoding_table["48162"] = [147,79] let s:lib.Codec.encoding_table["48163"] = [147,80] let s:lib.Codec.encoding_table["48166"] = [147,81] let s:lib.Codec.encoding_table["48168"] = [147,82] let s:lib.Codec.encoding_table["48170"] = [147,83] let s:lib.Codec.encoding_table["48171"] = [147,84] let s:lib.Codec.encoding_table["48172"] = [147,85] let s:lib.Codec.encoding_table["48174"] = [147,86] let s:lib.Codec.encoding_table["48175"] = [147,87] let s:lib.Codec.encoding_table["48178"] = [147,88] let s:lib.Codec.encoding_table["48179"] = [147,89] let s:lib.Codec.encoding_table["48181"] = [147,90] let s:lib.Codec.encoding_table["48182"] = [147,97] let s:lib.Codec.encoding_table["48183"] = [147,98] let s:lib.Codec.encoding_table["48185"] = [147,99] let s:lib.Codec.encoding_table["48186"] = [147,100] let s:lib.Codec.encoding_table["48187"] = [147,101] let s:lib.Codec.encoding_table["48188"] = [147,102] let s:lib.Codec.encoding_table["48189"] = [147,103] let s:lib.Codec.encoding_table["48190"] = [147,104] let s:lib.Codec.encoding_table["48191"] = [147,105] let s:lib.Codec.encoding_table["48194"] = [147,106] let s:lib.Codec.encoding_table["48198"] = [147,107] let s:lib.Codec.encoding_table["48199"] = [147,108] let s:lib.Codec.encoding_table["48200"] = [147,109] let s:lib.Codec.encoding_table["48202"] = [147,110] let s:lib.Codec.encoding_table["48203"] = [147,111] let s:lib.Codec.encoding_table["48206"] = [147,112] let s:lib.Codec.encoding_table["48207"] = [147,113] let s:lib.Codec.encoding_table["48209"] = [147,114] let s:lib.Codec.encoding_table["48210"] = [147,115] let s:lib.Codec.encoding_table["48211"] = [147,116] let s:lib.Codec.encoding_table["48212"] = [147,117] let s:lib.Codec.encoding_table["48213"] = [147,118] let s:lib.Codec.encoding_table["48214"] = [147,119] let s:lib.Codec.encoding_table["48215"] = [147,120] let s:lib.Codec.encoding_table["48216"] = [147,121] let s:lib.Codec.encoding_table["48217"] = [147,122] let s:lib.Codec.encoding_table["48218"] = [147,129] let s:lib.Codec.encoding_table["48219"] = [147,130] let s:lib.Codec.encoding_table["48220"] = [147,131] let s:lib.Codec.encoding_table["48222"] = [147,132] let s:lib.Codec.encoding_table["48223"] = [147,133] let s:lib.Codec.encoding_table["48224"] = [147,134] let s:lib.Codec.encoding_table["48225"] = [147,135] let s:lib.Codec.encoding_table["48226"] = [147,136] let s:lib.Codec.encoding_table["48227"] = [147,137] let s:lib.Codec.encoding_table["48228"] = [147,138] let s:lib.Codec.encoding_table["48229"] = [147,139] let s:lib.Codec.encoding_table["48230"] = [147,140] let s:lib.Codec.encoding_table["48231"] = [147,141] let s:lib.Codec.encoding_table["48232"] = [147,142] let s:lib.Codec.encoding_table["48233"] = [147,143] let s:lib.Codec.encoding_table["48234"] = [147,144] let s:lib.Codec.encoding_table["48235"] = [147,145] let s:lib.Codec.encoding_table["48236"] = [147,146] let s:lib.Codec.encoding_table["48237"] = [147,147] let s:lib.Codec.encoding_table["48238"] = [147,148] let s:lib.Codec.encoding_table["48239"] = [147,149] let s:lib.Codec.encoding_table["48240"] = [147,150] let s:lib.Codec.encoding_table["48241"] = [147,151] let s:lib.Codec.encoding_table["48242"] = [147,152] let s:lib.Codec.encoding_table["48243"] = [147,153] let s:lib.Codec.encoding_table["48244"] = [147,154] let s:lib.Codec.encoding_table["48245"] = [147,155] let s:lib.Codec.encoding_table["48246"] = [147,156] let s:lib.Codec.encoding_table["48247"] = [147,157] let s:lib.Codec.encoding_table["48248"] = [147,158] let s:lib.Codec.encoding_table["48249"] = [147,159] let s:lib.Codec.encoding_table["48250"] = [147,160] let s:lib.Codec.encoding_table["48251"] = [147,161] let s:lib.Codec.encoding_table["48252"] = [147,162] let s:lib.Codec.encoding_table["48253"] = [147,163] let s:lib.Codec.encoding_table["48254"] = [147,164] let s:lib.Codec.encoding_table["48255"] = [147,165] let s:lib.Codec.encoding_table["48256"] = [147,166] let s:lib.Codec.encoding_table["48257"] = [147,167] let s:lib.Codec.encoding_table["48258"] = [147,168] let s:lib.Codec.encoding_table["48259"] = [147,169] let s:lib.Codec.encoding_table["48262"] = [147,170] let s:lib.Codec.encoding_table["48263"] = [147,171] let s:lib.Codec.encoding_table["48265"] = [147,172] let s:lib.Codec.encoding_table["48266"] = [147,173] let s:lib.Codec.encoding_table["48269"] = [147,174] let s:lib.Codec.encoding_table["48271"] = [147,175] let s:lib.Codec.encoding_table["48272"] = [147,176] let s:lib.Codec.encoding_table["48273"] = [147,177] let s:lib.Codec.encoding_table["48274"] = [147,178] let s:lib.Codec.encoding_table["48275"] = [147,179] let s:lib.Codec.encoding_table["48278"] = [147,180] let s:lib.Codec.encoding_table["48280"] = [147,181] let s:lib.Codec.encoding_table["48283"] = [147,182] let s:lib.Codec.encoding_table["48284"] = [147,183] let s:lib.Codec.encoding_table["48285"] = [147,184] let s:lib.Codec.encoding_table["48286"] = [147,185] let s:lib.Codec.encoding_table["48287"] = [147,186] let s:lib.Codec.encoding_table["48290"] = [147,187] let s:lib.Codec.encoding_table["48291"] = [147,188] let s:lib.Codec.encoding_table["48293"] = [147,189] let s:lib.Codec.encoding_table["48294"] = [147,190] let s:lib.Codec.encoding_table["48297"] = [147,191] let s:lib.Codec.encoding_table["48298"] = [147,192] let s:lib.Codec.encoding_table["48299"] = [147,193] let s:lib.Codec.encoding_table["48300"] = [147,194] let s:lib.Codec.encoding_table["48301"] = [147,195] let s:lib.Codec.encoding_table["48302"] = [147,196] let s:lib.Codec.encoding_table["48303"] = [147,197] let s:lib.Codec.encoding_table["48306"] = [147,198] let s:lib.Codec.encoding_table["48310"] = [147,199] let s:lib.Codec.encoding_table["48311"] = [147,200] let s:lib.Codec.encoding_table["48312"] = [147,201] let s:lib.Codec.encoding_table["48313"] = [147,202] let s:lib.Codec.encoding_table["48314"] = [147,203] let s:lib.Codec.encoding_table["48315"] = [147,204] let s:lib.Codec.encoding_table["48318"] = [147,205] let s:lib.Codec.encoding_table["48319"] = [147,206] let s:lib.Codec.encoding_table["48321"] = [147,207] let s:lib.Codec.encoding_table["48322"] = [147,208] let s:lib.Codec.encoding_table["48323"] = [147,209] let s:lib.Codec.encoding_table["48325"] = [147,210] let s:lib.Codec.encoding_table["48326"] = [147,211] let s:lib.Codec.encoding_table["48327"] = [147,212] let s:lib.Codec.encoding_table["48328"] = [147,213] let s:lib.Codec.encoding_table["48329"] = [147,214] let s:lib.Codec.encoding_table["48330"] = [147,215] let s:lib.Codec.encoding_table["48331"] = [147,216] let s:lib.Codec.encoding_table["48332"] = [147,217] let s:lib.Codec.encoding_table["48334"] = [147,218] let s:lib.Codec.encoding_table["48338"] = [147,219] let s:lib.Codec.encoding_table["48339"] = [147,220] let s:lib.Codec.encoding_table["48340"] = [147,221] let s:lib.Codec.encoding_table["48342"] = [147,222] let s:lib.Codec.encoding_table["48343"] = [147,223] let s:lib.Codec.encoding_table["48345"] = [147,224] let s:lib.Codec.encoding_table["48346"] = [147,225] let s:lib.Codec.encoding_table["48347"] = [147,226] let s:lib.Codec.encoding_table["48349"] = [147,227] let s:lib.Codec.encoding_table["48350"] = [147,228] let s:lib.Codec.encoding_table["48351"] = [147,229] let s:lib.Codec.encoding_table["48352"] = [147,230] let s:lib.Codec.encoding_table["48353"] = [147,231] let s:lib.Codec.encoding_table["48354"] = [147,232] let s:lib.Codec.encoding_table["48355"] = [147,233] let s:lib.Codec.encoding_table["48356"] = [147,234] let s:lib.Codec.encoding_table["48357"] = [147,235] let s:lib.Codec.encoding_table["48358"] = [147,236] let s:lib.Codec.encoding_table["48359"] = [147,237] let s:lib.Codec.encoding_table["48360"] = [147,238] let s:lib.Codec.encoding_table["48361"] = [147,239] let s:lib.Codec.encoding_table["48362"] = [147,240] let s:lib.Codec.encoding_table["48363"] = [147,241] let s:lib.Codec.encoding_table["48364"] = [147,242] let s:lib.Codec.encoding_table["48365"] = [147,243] let s:lib.Codec.encoding_table["48366"] = [147,244] let s:lib.Codec.encoding_table["48367"] = [147,245] let s:lib.Codec.encoding_table["48368"] = [147,246] let s:lib.Codec.encoding_table["48369"] = [147,247] let s:lib.Codec.encoding_table["48370"] = [147,248] let s:lib.Codec.encoding_table["48371"] = [147,249] let s:lib.Codec.encoding_table["48375"] = [147,250] let s:lib.Codec.encoding_table["48377"] = [147,251] let s:lib.Codec.encoding_table["48378"] = [147,252] let s:lib.Codec.encoding_table["48379"] = [147,253] let s:lib.Codec.encoding_table["48381"] = [147,254] let s:lib.Codec.encoding_table["48382"] = [148,65] let s:lib.Codec.encoding_table["48383"] = [148,66] let s:lib.Codec.encoding_table["48384"] = [148,67] let s:lib.Codec.encoding_table["48385"] = [148,68] let s:lib.Codec.encoding_table["48386"] = [148,69] let s:lib.Codec.encoding_table["48387"] = [148,70] let s:lib.Codec.encoding_table["48390"] = [148,71] let s:lib.Codec.encoding_table["48392"] = [148,72] let s:lib.Codec.encoding_table["48394"] = [148,73] let s:lib.Codec.encoding_table["48395"] = [148,74] let s:lib.Codec.encoding_table["48396"] = [148,75] let s:lib.Codec.encoding_table["48397"] = [148,76] let s:lib.Codec.encoding_table["48398"] = [148,77] let s:lib.Codec.encoding_table["48399"] = [148,78] let s:lib.Codec.encoding_table["48401"] = [148,79] let s:lib.Codec.encoding_table["48402"] = [148,80] let s:lib.Codec.encoding_table["48403"] = [148,81] let s:lib.Codec.encoding_table["48405"] = [148,82] let s:lib.Codec.encoding_table["48406"] = [148,83] let s:lib.Codec.encoding_table["48407"] = [148,84] let s:lib.Codec.encoding_table["48408"] = [148,85] let s:lib.Codec.encoding_table["48409"] = [148,86] let s:lib.Codec.encoding_table["48410"] = [148,87] let s:lib.Codec.encoding_table["48411"] = [148,88] let s:lib.Codec.encoding_table["48412"] = [148,89] let s:lib.Codec.encoding_table["48413"] = [148,90] let s:lib.Codec.encoding_table["48414"] = [148,97] let s:lib.Codec.encoding_table["48415"] = [148,98] let s:lib.Codec.encoding_table["48416"] = [148,99] let s:lib.Codec.encoding_table["48417"] = [148,100] let s:lib.Codec.encoding_table["48418"] = [148,101] let s:lib.Codec.encoding_table["48419"] = [148,102] let s:lib.Codec.encoding_table["48421"] = [148,103] let s:lib.Codec.encoding_table["48422"] = [148,104] let s:lib.Codec.encoding_table["48423"] = [148,105] let s:lib.Codec.encoding_table["48424"] = [148,106] let s:lib.Codec.encoding_table["48425"] = [148,107] let s:lib.Codec.encoding_table["48426"] = [148,108] let s:lib.Codec.encoding_table["48427"] = [148,109] let s:lib.Codec.encoding_table["48429"] = [148,110] let s:lib.Codec.encoding_table["48430"] = [148,111] let s:lib.Codec.encoding_table["48431"] = [148,112] let s:lib.Codec.encoding_table["48432"] = [148,113] let s:lib.Codec.encoding_table["48433"] = [148,114] let s:lib.Codec.encoding_table["48434"] = [148,115] let s:lib.Codec.encoding_table["48435"] = [148,116] let s:lib.Codec.encoding_table["48436"] = [148,117] let s:lib.Codec.encoding_table["48437"] = [148,118] let s:lib.Codec.encoding_table["48438"] = [148,119] let s:lib.Codec.encoding_table["48439"] = [148,120] let s:lib.Codec.encoding_table["48440"] = [148,121] let s:lib.Codec.encoding_table["48441"] = [148,122] let s:lib.Codec.encoding_table["48442"] = [148,129] let s:lib.Codec.encoding_table["48443"] = [148,130] let s:lib.Codec.encoding_table["48444"] = [148,131] let s:lib.Codec.encoding_table["48445"] = [148,132] let s:lib.Codec.encoding_table["48446"] = [148,133] let s:lib.Codec.encoding_table["48447"] = [148,134] let s:lib.Codec.encoding_table["48449"] = [148,135] let s:lib.Codec.encoding_table["48450"] = [148,136] let s:lib.Codec.encoding_table["48451"] = [148,137] let s:lib.Codec.encoding_table["48452"] = [148,138] let s:lib.Codec.encoding_table["48453"] = [148,139] let s:lib.Codec.encoding_table["48454"] = [148,140] let s:lib.Codec.encoding_table["48455"] = [148,141] let s:lib.Codec.encoding_table["48458"] = [148,142] let s:lib.Codec.encoding_table["48459"] = [148,143] let s:lib.Codec.encoding_table["48461"] = [148,144] let s:lib.Codec.encoding_table["48462"] = [148,145] let s:lib.Codec.encoding_table["48463"] = [148,146] let s:lib.Codec.encoding_table["48465"] = [148,147] let s:lib.Codec.encoding_table["48466"] = [148,148] let s:lib.Codec.encoding_table["48467"] = [148,149] let s:lib.Codec.encoding_table["48468"] = [148,150] let s:lib.Codec.encoding_table["48469"] = [148,151] let s:lib.Codec.encoding_table["48470"] = [148,152] let s:lib.Codec.encoding_table["48471"] = [148,153] let s:lib.Codec.encoding_table["48474"] = [148,154] let s:lib.Codec.encoding_table["48475"] = [148,155] let s:lib.Codec.encoding_table["48476"] = [148,156] let s:lib.Codec.encoding_table["48477"] = [148,157] let s:lib.Codec.encoding_table["48478"] = [148,158] let s:lib.Codec.encoding_table["48479"] = [148,159] let s:lib.Codec.encoding_table["48480"] = [148,160] let s:lib.Codec.encoding_table["48481"] = [148,161] let s:lib.Codec.encoding_table["48482"] = [148,162] let s:lib.Codec.encoding_table["48483"] = [148,163] let s:lib.Codec.encoding_table["48485"] = [148,164] let s:lib.Codec.encoding_table["48486"] = [148,165] let s:lib.Codec.encoding_table["48487"] = [148,166] let s:lib.Codec.encoding_table["48489"] = [148,167] let s:lib.Codec.encoding_table["48490"] = [148,168] let s:lib.Codec.encoding_table["48491"] = [148,169] let s:lib.Codec.encoding_table["48492"] = [148,170] let s:lib.Codec.encoding_table["48493"] = [148,171] let s:lib.Codec.encoding_table["48494"] = [148,172] let s:lib.Codec.encoding_table["48495"] = [148,173] let s:lib.Codec.encoding_table["48496"] = [148,174] let s:lib.Codec.encoding_table["48497"] = [148,175] let s:lib.Codec.encoding_table["48498"] = [148,176] let s:lib.Codec.encoding_table["48499"] = [148,177] let s:lib.Codec.encoding_table["48500"] = [148,178] let s:lib.Codec.encoding_table["48501"] = [148,179] let s:lib.Codec.encoding_table["48502"] = [148,180] let s:lib.Codec.encoding_table["48503"] = [148,181] let s:lib.Codec.encoding_table["48504"] = [148,182] let s:lib.Codec.encoding_table["48505"] = [148,183] let s:lib.Codec.encoding_table["48506"] = [148,184] let s:lib.Codec.encoding_table["48507"] = [148,185] let s:lib.Codec.encoding_table["48508"] = [148,186] let s:lib.Codec.encoding_table["48509"] = [148,187] let s:lib.Codec.encoding_table["48510"] = [148,188] let s:lib.Codec.encoding_table["48511"] = [148,189] let s:lib.Codec.encoding_table["48514"] = [148,190] let s:lib.Codec.encoding_table["48515"] = [148,191] let s:lib.Codec.encoding_table["48517"] = [148,192] let s:lib.Codec.encoding_table["48518"] = [148,193] let s:lib.Codec.encoding_table["48523"] = [148,194] let s:lib.Codec.encoding_table["48524"] = [148,195] let s:lib.Codec.encoding_table["48525"] = [148,196] let s:lib.Codec.encoding_table["48526"] = [148,197] let s:lib.Codec.encoding_table["48527"] = [148,198] let s:lib.Codec.encoding_table["48530"] = [148,199] let s:lib.Codec.encoding_table["48532"] = [148,200] let s:lib.Codec.encoding_table["48534"] = [148,201] let s:lib.Codec.encoding_table["48535"] = [148,202] let s:lib.Codec.encoding_table["48536"] = [148,203] let s:lib.Codec.encoding_table["48539"] = [148,204] let s:lib.Codec.encoding_table["48541"] = [148,205] let s:lib.Codec.encoding_table["48542"] = [148,206] let s:lib.Codec.encoding_table["48543"] = [148,207] let s:lib.Codec.encoding_table["48544"] = [148,208] let s:lib.Codec.encoding_table["48545"] = [148,209] let s:lib.Codec.encoding_table["48546"] = [148,210] let s:lib.Codec.encoding_table["48547"] = [148,211] let s:lib.Codec.encoding_table["48549"] = [148,212] let s:lib.Codec.encoding_table["48550"] = [148,213] let s:lib.Codec.encoding_table["48551"] = [148,214] let s:lib.Codec.encoding_table["48552"] = [148,215] let s:lib.Codec.encoding_table["48553"] = [148,216] let s:lib.Codec.encoding_table["48554"] = [148,217] let s:lib.Codec.encoding_table["48555"] = [148,218] let s:lib.Codec.encoding_table["48556"] = [148,219] let s:lib.Codec.encoding_table["48557"] = [148,220] let s:lib.Codec.encoding_table["48558"] = [148,221] let s:lib.Codec.encoding_table["48559"] = [148,222] let s:lib.Codec.encoding_table["48561"] = [148,223] let s:lib.Codec.encoding_table["48562"] = [148,224] let s:lib.Codec.encoding_table["48563"] = [148,225] let s:lib.Codec.encoding_table["48564"] = [148,226] let s:lib.Codec.encoding_table["48565"] = [148,227] let s:lib.Codec.encoding_table["48566"] = [148,228] let s:lib.Codec.encoding_table["48567"] = [148,229] let s:lib.Codec.encoding_table["48569"] = [148,230] let s:lib.Codec.encoding_table["48570"] = [148,231] let s:lib.Codec.encoding_table["48571"] = [148,232] let s:lib.Codec.encoding_table["48572"] = [148,233] let s:lib.Codec.encoding_table["48573"] = [148,234] let s:lib.Codec.encoding_table["48574"] = [148,235] let s:lib.Codec.encoding_table["48575"] = [148,236] let s:lib.Codec.encoding_table["48576"] = [148,237] let s:lib.Codec.encoding_table["48577"] = [148,238] let s:lib.Codec.encoding_table["48578"] = [148,239] let s:lib.Codec.encoding_table["48579"] = [148,240] let s:lib.Codec.encoding_table["48580"] = [148,241] let s:lib.Codec.encoding_table["48581"] = [148,242] let s:lib.Codec.encoding_table["48582"] = [148,243] let s:lib.Codec.encoding_table["48583"] = [148,244] let s:lib.Codec.encoding_table["48584"] = [148,245] let s:lib.Codec.encoding_table["48585"] = [148,246] let s:lib.Codec.encoding_table["48586"] = [148,247] let s:lib.Codec.encoding_table["48587"] = [148,248] let s:lib.Codec.encoding_table["48588"] = [148,249] let s:lib.Codec.encoding_table["48589"] = [148,250] let s:lib.Codec.encoding_table["48590"] = [148,251] let s:lib.Codec.encoding_table["48591"] = [148,252] let s:lib.Codec.encoding_table["48592"] = [148,253] let s:lib.Codec.encoding_table["48593"] = [148,254] let s:lib.Codec.encoding_table["48594"] = [149,65] let s:lib.Codec.encoding_table["48595"] = [149,66] let s:lib.Codec.encoding_table["48598"] = [149,67] let s:lib.Codec.encoding_table["48599"] = [149,68] let s:lib.Codec.encoding_table["48601"] = [149,69] let s:lib.Codec.encoding_table["48602"] = [149,70] let s:lib.Codec.encoding_table["48603"] = [149,71] let s:lib.Codec.encoding_table["48605"] = [149,72] let s:lib.Codec.encoding_table["48606"] = [149,73] let s:lib.Codec.encoding_table["48607"] = [149,74] let s:lib.Codec.encoding_table["48608"] = [149,75] let s:lib.Codec.encoding_table["48609"] = [149,76] let s:lib.Codec.encoding_table["48610"] = [149,77] let s:lib.Codec.encoding_table["48611"] = [149,78] let s:lib.Codec.encoding_table["48612"] = [149,79] let s:lib.Codec.encoding_table["48613"] = [149,80] let s:lib.Codec.encoding_table["48614"] = [149,81] let s:lib.Codec.encoding_table["48615"] = [149,82] let s:lib.Codec.encoding_table["48616"] = [149,83] let s:lib.Codec.encoding_table["48618"] = [149,84] let s:lib.Codec.encoding_table["48619"] = [149,85] let s:lib.Codec.encoding_table["48620"] = [149,86] let s:lib.Codec.encoding_table["48621"] = [149,87] let s:lib.Codec.encoding_table["48622"] = [149,88] let s:lib.Codec.encoding_table["48623"] = [149,89] let s:lib.Codec.encoding_table["48625"] = [149,90] let s:lib.Codec.encoding_table["48626"] = [149,97] let s:lib.Codec.encoding_table["48627"] = [149,98] let s:lib.Codec.encoding_table["48629"] = [149,99] let s:lib.Codec.encoding_table["48630"] = [149,100] let s:lib.Codec.encoding_table["48631"] = [149,101] let s:lib.Codec.encoding_table["48633"] = [149,102] let s:lib.Codec.encoding_table["48634"] = [149,103] let s:lib.Codec.encoding_table["48635"] = [149,104] let s:lib.Codec.encoding_table["48636"] = [149,105] let s:lib.Codec.encoding_table["48637"] = [149,106] let s:lib.Codec.encoding_table["48638"] = [149,107] let s:lib.Codec.encoding_table["48639"] = [149,108] let s:lib.Codec.encoding_table["48641"] = [149,109] let s:lib.Codec.encoding_table["48642"] = [149,110] let s:lib.Codec.encoding_table["48644"] = [149,111] let s:lib.Codec.encoding_table["48646"] = [149,112] let s:lib.Codec.encoding_table["48647"] = [149,113] let s:lib.Codec.encoding_table["48648"] = [149,114] let s:lib.Codec.encoding_table["48649"] = [149,115] let s:lib.Codec.encoding_table["48650"] = [149,116] let s:lib.Codec.encoding_table["48651"] = [149,117] let s:lib.Codec.encoding_table["48654"] = [149,118] let s:lib.Codec.encoding_table["48655"] = [149,119] let s:lib.Codec.encoding_table["48657"] = [149,120] let s:lib.Codec.encoding_table["48658"] = [149,121] let s:lib.Codec.encoding_table["48659"] = [149,122] let s:lib.Codec.encoding_table["48661"] = [149,129] let s:lib.Codec.encoding_table["48662"] = [149,130] let s:lib.Codec.encoding_table["48663"] = [149,131] let s:lib.Codec.encoding_table["48664"] = [149,132] let s:lib.Codec.encoding_table["48665"] = [149,133] let s:lib.Codec.encoding_table["48666"] = [149,134] let s:lib.Codec.encoding_table["48667"] = [149,135] let s:lib.Codec.encoding_table["48670"] = [149,136] let s:lib.Codec.encoding_table["48672"] = [149,137] let s:lib.Codec.encoding_table["48673"] = [149,138] let s:lib.Codec.encoding_table["48674"] = [149,139] let s:lib.Codec.encoding_table["48675"] = [149,140] let s:lib.Codec.encoding_table["48676"] = [149,141] let s:lib.Codec.encoding_table["48677"] = [149,142] let s:lib.Codec.encoding_table["48678"] = [149,143] let s:lib.Codec.encoding_table["48679"] = [149,144] let s:lib.Codec.encoding_table["48680"] = [149,145] let s:lib.Codec.encoding_table["48681"] = [149,146] let s:lib.Codec.encoding_table["48682"] = [149,147] let s:lib.Codec.encoding_table["48683"] = [149,148] let s:lib.Codec.encoding_table["48684"] = [149,149] let s:lib.Codec.encoding_table["48685"] = [149,150] let s:lib.Codec.encoding_table["48686"] = [149,151] let s:lib.Codec.encoding_table["48687"] = [149,152] let s:lib.Codec.encoding_table["48688"] = [149,153] let s:lib.Codec.encoding_table["48689"] = [149,154] let s:lib.Codec.encoding_table["48690"] = [149,155] let s:lib.Codec.encoding_table["48691"] = [149,156] let s:lib.Codec.encoding_table["48692"] = [149,157] let s:lib.Codec.encoding_table["48693"] = [149,158] let s:lib.Codec.encoding_table["48694"] = [149,159] let s:lib.Codec.encoding_table["48695"] = [149,160] let s:lib.Codec.encoding_table["48696"] = [149,161] let s:lib.Codec.encoding_table["48697"] = [149,162] let s:lib.Codec.encoding_table["48698"] = [149,163] let s:lib.Codec.encoding_table["48699"] = [149,164] let s:lib.Codec.encoding_table["48700"] = [149,165] let s:lib.Codec.encoding_table["48701"] = [149,166] let s:lib.Codec.encoding_table["48702"] = [149,167] let s:lib.Codec.encoding_table["48703"] = [149,168] let s:lib.Codec.encoding_table["48704"] = [149,169] let s:lib.Codec.encoding_table["48705"] = [149,170] let s:lib.Codec.encoding_table["48706"] = [149,171] let s:lib.Codec.encoding_table["48707"] = [149,172] let s:lib.Codec.encoding_table["48710"] = [149,173] let s:lib.Codec.encoding_table["48711"] = [149,174] let s:lib.Codec.encoding_table["48713"] = [149,175] let s:lib.Codec.encoding_table["48714"] = [149,176] let s:lib.Codec.encoding_table["48715"] = [149,177] let s:lib.Codec.encoding_table["48717"] = [149,178] let s:lib.Codec.encoding_table["48719"] = [149,179] let s:lib.Codec.encoding_table["48720"] = [149,180] let s:lib.Codec.encoding_table["48721"] = [149,181] let s:lib.Codec.encoding_table["48722"] = [149,182] let s:lib.Codec.encoding_table["48723"] = [149,183] let s:lib.Codec.encoding_table["48726"] = [149,184] let s:lib.Codec.encoding_table["48728"] = [149,185] let s:lib.Codec.encoding_table["48732"] = [149,186] let s:lib.Codec.encoding_table["48733"] = [149,187] let s:lib.Codec.encoding_table["48734"] = [149,188] let s:lib.Codec.encoding_table["48735"] = [149,189] let s:lib.Codec.encoding_table["48738"] = [149,190] let s:lib.Codec.encoding_table["48739"] = [149,191] let s:lib.Codec.encoding_table["48741"] = [149,192] let s:lib.Codec.encoding_table["48742"] = [149,193] let s:lib.Codec.encoding_table["48743"] = [149,194] let s:lib.Codec.encoding_table["48745"] = [149,195] let s:lib.Codec.encoding_table["48747"] = [149,196] let s:lib.Codec.encoding_table["48748"] = [149,197] let s:lib.Codec.encoding_table["48749"] = [149,198] let s:lib.Codec.encoding_table["48750"] = [149,199] let s:lib.Codec.encoding_table["48751"] = [149,200] let s:lib.Codec.encoding_table["48754"] = [149,201] let s:lib.Codec.encoding_table["48758"] = [149,202] let s:lib.Codec.encoding_table["48759"] = [149,203] let s:lib.Codec.encoding_table["48760"] = [149,204] let s:lib.Codec.encoding_table["48761"] = [149,205] let s:lib.Codec.encoding_table["48762"] = [149,206] let s:lib.Codec.encoding_table["48766"] = [149,207] let s:lib.Codec.encoding_table["48767"] = [149,208] let s:lib.Codec.encoding_table["48769"] = [149,209] let s:lib.Codec.encoding_table["48770"] = [149,210] let s:lib.Codec.encoding_table["48771"] = [149,211] let s:lib.Codec.encoding_table["48773"] = [149,212] let s:lib.Codec.encoding_table["48774"] = [149,213] let s:lib.Codec.encoding_table["48775"] = [149,214] let s:lib.Codec.encoding_table["48776"] = [149,215] let s:lib.Codec.encoding_table["48777"] = [149,216] let s:lib.Codec.encoding_table["48778"] = [149,217] let s:lib.Codec.encoding_table["48779"] = [149,218] let s:lib.Codec.encoding_table["48782"] = [149,219] let s:lib.Codec.encoding_table["48786"] = [149,220] let s:lib.Codec.encoding_table["48787"] = [149,221] let s:lib.Codec.encoding_table["48788"] = [149,222] let s:lib.Codec.encoding_table["48789"] = [149,223] let s:lib.Codec.encoding_table["48790"] = [149,224] let s:lib.Codec.encoding_table["48791"] = [149,225] let s:lib.Codec.encoding_table["48794"] = [149,226] let s:lib.Codec.encoding_table["48795"] = [149,227] let s:lib.Codec.encoding_table["48796"] = [149,228] let s:lib.Codec.encoding_table["48797"] = [149,229] let s:lib.Codec.encoding_table["48798"] = [149,230] let s:lib.Codec.encoding_table["48799"] = [149,231] let s:lib.Codec.encoding_table["48800"] = [149,232] let s:lib.Codec.encoding_table["48801"] = [149,233] let s:lib.Codec.encoding_table["48802"] = [149,234] let s:lib.Codec.encoding_table["48803"] = [149,235] let s:lib.Codec.encoding_table["48804"] = [149,236] let s:lib.Codec.encoding_table["48805"] = [149,237] let s:lib.Codec.encoding_table["48806"] = [149,238] let s:lib.Codec.encoding_table["48807"] = [149,239] let s:lib.Codec.encoding_table["48809"] = [149,240] let s:lib.Codec.encoding_table["48810"] = [149,241] let s:lib.Codec.encoding_table["48811"] = [149,242] let s:lib.Codec.encoding_table["48812"] = [149,243] let s:lib.Codec.encoding_table["48813"] = [149,244] let s:lib.Codec.encoding_table["48814"] = [149,245] let s:lib.Codec.encoding_table["48815"] = [149,246] let s:lib.Codec.encoding_table["48816"] = [149,247] let s:lib.Codec.encoding_table["48817"] = [149,248] let s:lib.Codec.encoding_table["48818"] = [149,249] let s:lib.Codec.encoding_table["48819"] = [149,250] let s:lib.Codec.encoding_table["48820"] = [149,251] let s:lib.Codec.encoding_table["48821"] = [149,252] let s:lib.Codec.encoding_table["48822"] = [149,253] let s:lib.Codec.encoding_table["48823"] = [149,254] let s:lib.Codec.encoding_table["48824"] = [150,65] let s:lib.Codec.encoding_table["48825"] = [150,66] let s:lib.Codec.encoding_table["48826"] = [150,67] let s:lib.Codec.encoding_table["48827"] = [150,68] let s:lib.Codec.encoding_table["48828"] = [150,69] let s:lib.Codec.encoding_table["48829"] = [150,70] let s:lib.Codec.encoding_table["48830"] = [150,71] let s:lib.Codec.encoding_table["48831"] = [150,72] let s:lib.Codec.encoding_table["48832"] = [150,73] let s:lib.Codec.encoding_table["48833"] = [150,74] let s:lib.Codec.encoding_table["48834"] = [150,75] let s:lib.Codec.encoding_table["48835"] = [150,76] let s:lib.Codec.encoding_table["48836"] = [150,77] let s:lib.Codec.encoding_table["48837"] = [150,78] let s:lib.Codec.encoding_table["48838"] = [150,79] let s:lib.Codec.encoding_table["48839"] = [150,80] let s:lib.Codec.encoding_table["48840"] = [150,81] let s:lib.Codec.encoding_table["48841"] = [150,82] let s:lib.Codec.encoding_table["48842"] = [150,83] let s:lib.Codec.encoding_table["48843"] = [150,84] let s:lib.Codec.encoding_table["48844"] = [150,85] let s:lib.Codec.encoding_table["48845"] = [150,86] let s:lib.Codec.encoding_table["48846"] = [150,87] let s:lib.Codec.encoding_table["48847"] = [150,88] let s:lib.Codec.encoding_table["48850"] = [150,89] let s:lib.Codec.encoding_table["48851"] = [150,90] let s:lib.Codec.encoding_table["48853"] = [150,97] let s:lib.Codec.encoding_table["48854"] = [150,98] let s:lib.Codec.encoding_table["48857"] = [150,99] let s:lib.Codec.encoding_table["48858"] = [150,100] let s:lib.Codec.encoding_table["48859"] = [150,101] let s:lib.Codec.encoding_table["48860"] = [150,102] let s:lib.Codec.encoding_table["48861"] = [150,103] let s:lib.Codec.encoding_table["48862"] = [150,104] let s:lib.Codec.encoding_table["48863"] = [150,105] let s:lib.Codec.encoding_table["48865"] = [150,106] let s:lib.Codec.encoding_table["48866"] = [150,107] let s:lib.Codec.encoding_table["48870"] = [150,108] let s:lib.Codec.encoding_table["48871"] = [150,109] let s:lib.Codec.encoding_table["48872"] = [150,110] let s:lib.Codec.encoding_table["48873"] = [150,111] let s:lib.Codec.encoding_table["48874"] = [150,112] let s:lib.Codec.encoding_table["48875"] = [150,113] let s:lib.Codec.encoding_table["48877"] = [150,114] let s:lib.Codec.encoding_table["48878"] = [150,115] let s:lib.Codec.encoding_table["48879"] = [150,116] let s:lib.Codec.encoding_table["48880"] = [150,117] let s:lib.Codec.encoding_table["48881"] = [150,118] let s:lib.Codec.encoding_table["48882"] = [150,119] let s:lib.Codec.encoding_table["48883"] = [150,120] let s:lib.Codec.encoding_table["48884"] = [150,121] let s:lib.Codec.encoding_table["48885"] = [150,122] let s:lib.Codec.encoding_table["48886"] = [150,129] let s:lib.Codec.encoding_table["48887"] = [150,130] let s:lib.Codec.encoding_table["48888"] = [150,131] let s:lib.Codec.encoding_table["48889"] = [150,132] let s:lib.Codec.encoding_table["48890"] = [150,133] let s:lib.Codec.encoding_table["48891"] = [150,134] let s:lib.Codec.encoding_table["48892"] = [150,135] let s:lib.Codec.encoding_table["48893"] = [150,136] let s:lib.Codec.encoding_table["48894"] = [150,137] let s:lib.Codec.encoding_table["48895"] = [150,138] let s:lib.Codec.encoding_table["48896"] = [150,139] let s:lib.Codec.encoding_table["48898"] = [150,140] let s:lib.Codec.encoding_table["48899"] = [150,141] let s:lib.Codec.encoding_table["48900"] = [150,142] let s:lib.Codec.encoding_table["48901"] = [150,143] let s:lib.Codec.encoding_table["48902"] = [150,144] let s:lib.Codec.encoding_table["48903"] = [150,145] let s:lib.Codec.encoding_table["48906"] = [150,146] let s:lib.Codec.encoding_table["48907"] = [150,147] let s:lib.Codec.encoding_table["48908"] = [150,148] let s:lib.Codec.encoding_table["48909"] = [150,149] let s:lib.Codec.encoding_table["48910"] = [150,150] let s:lib.Codec.encoding_table["48911"] = [150,151] let s:lib.Codec.encoding_table["48912"] = [150,152] let s:lib.Codec.encoding_table["48913"] = [150,153] let s:lib.Codec.encoding_table["48914"] = [150,154] let s:lib.Codec.encoding_table["48915"] = [150,155] let s:lib.Codec.encoding_table["48916"] = [150,156] let s:lib.Codec.encoding_table["48917"] = [150,157] let s:lib.Codec.encoding_table["48918"] = [150,158] let s:lib.Codec.encoding_table["48919"] = [150,159] let s:lib.Codec.encoding_table["48922"] = [150,160] let s:lib.Codec.encoding_table["48926"] = [150,161] let s:lib.Codec.encoding_table["48927"] = [150,162] let s:lib.Codec.encoding_table["48928"] = [150,163] let s:lib.Codec.encoding_table["48929"] = [150,164] let s:lib.Codec.encoding_table["48930"] = [150,165] let s:lib.Codec.encoding_table["48931"] = [150,166] let s:lib.Codec.encoding_table["48932"] = [150,167] let s:lib.Codec.encoding_table["48933"] = [150,168] let s:lib.Codec.encoding_table["48934"] = [150,169] let s:lib.Codec.encoding_table["48935"] = [150,170] let s:lib.Codec.encoding_table["48936"] = [150,171] let s:lib.Codec.encoding_table["48937"] = [150,172] let s:lib.Codec.encoding_table["48938"] = [150,173] let s:lib.Codec.encoding_table["48939"] = [150,174] let s:lib.Codec.encoding_table["48940"] = [150,175] let s:lib.Codec.encoding_table["48941"] = [150,176] let s:lib.Codec.encoding_table["48942"] = [150,177] let s:lib.Codec.encoding_table["48943"] = [150,178] let s:lib.Codec.encoding_table["48944"] = [150,179] let s:lib.Codec.encoding_table["48945"] = [150,180] let s:lib.Codec.encoding_table["48946"] = [150,181] let s:lib.Codec.encoding_table["48947"] = [150,182] let s:lib.Codec.encoding_table["48948"] = [150,183] let s:lib.Codec.encoding_table["48949"] = [150,184] let s:lib.Codec.encoding_table["48950"] = [150,185] let s:lib.Codec.encoding_table["48951"] = [150,186] let s:lib.Codec.encoding_table["48952"] = [150,187] let s:lib.Codec.encoding_table["48953"] = [150,188] let s:lib.Codec.encoding_table["48954"] = [150,189] let s:lib.Codec.encoding_table["48955"] = [150,190] let s:lib.Codec.encoding_table["48956"] = [150,191] let s:lib.Codec.encoding_table["48957"] = [150,192] let s:lib.Codec.encoding_table["48958"] = [150,193] let s:lib.Codec.encoding_table["48959"] = [150,194] let s:lib.Codec.encoding_table["48962"] = [150,195] let s:lib.Codec.encoding_table["48963"] = [150,196] let s:lib.Codec.encoding_table["48965"] = [150,197] let s:lib.Codec.encoding_table["48966"] = [150,198] let s:lib.Codec.encoding_table["48967"] = [150,199] let s:lib.Codec.encoding_table["48969"] = [150,200] let s:lib.Codec.encoding_table["48970"] = [150,201] let s:lib.Codec.encoding_table["48971"] = [150,202] let s:lib.Codec.encoding_table["48972"] = [150,203] let s:lib.Codec.encoding_table["48973"] = [150,204] let s:lib.Codec.encoding_table["48974"] = [150,205] let s:lib.Codec.encoding_table["48975"] = [150,206] let s:lib.Codec.encoding_table["48978"] = [150,207] let s:lib.Codec.encoding_table["48979"] = [150,208] let s:lib.Codec.encoding_table["48980"] = [150,209] let s:lib.Codec.encoding_table["48982"] = [150,210] let s:lib.Codec.encoding_table["48983"] = [150,211] let s:lib.Codec.encoding_table["48984"] = [150,212] let s:lib.Codec.encoding_table["48985"] = [150,213] let s:lib.Codec.encoding_table["48986"] = [150,214] let s:lib.Codec.encoding_table["48987"] = [150,215] let s:lib.Codec.encoding_table["48988"] = [150,216] let s:lib.Codec.encoding_table["48989"] = [150,217] let s:lib.Codec.encoding_table["48990"] = [150,218] let s:lib.Codec.encoding_table["48991"] = [150,219] let s:lib.Codec.encoding_table["48992"] = [150,220] let s:lib.Codec.encoding_table["48993"] = [150,221] let s:lib.Codec.encoding_table["48994"] = [150,222] let s:lib.Codec.encoding_table["48995"] = [150,223] let s:lib.Codec.encoding_table["48996"] = [150,224] let s:lib.Codec.encoding_table["48997"] = [150,225] let s:lib.Codec.encoding_table["48998"] = [150,226] let s:lib.Codec.encoding_table["48999"] = [150,227] let s:lib.Codec.encoding_table["49000"] = [150,228] let s:lib.Codec.encoding_table["49001"] = [150,229] let s:lib.Codec.encoding_table["49002"] = [150,230] let s:lib.Codec.encoding_table["49003"] = [150,231] let s:lib.Codec.encoding_table["49004"] = [150,232] let s:lib.Codec.encoding_table["49005"] = [150,233] let s:lib.Codec.encoding_table["49006"] = [150,234] let s:lib.Codec.encoding_table["49007"] = [150,235] let s:lib.Codec.encoding_table["49008"] = [150,236] let s:lib.Codec.encoding_table["49009"] = [150,237] let s:lib.Codec.encoding_table["49010"] = [150,238] let s:lib.Codec.encoding_table["49011"] = [150,239] let s:lib.Codec.encoding_table["49012"] = [150,240] let s:lib.Codec.encoding_table["49013"] = [150,241] let s:lib.Codec.encoding_table["49014"] = [150,242] let s:lib.Codec.encoding_table["49015"] = [150,243] let s:lib.Codec.encoding_table["49016"] = [150,244] let s:lib.Codec.encoding_table["49017"] = [150,245] let s:lib.Codec.encoding_table["49018"] = [150,246] let s:lib.Codec.encoding_table["49019"] = [150,247] let s:lib.Codec.encoding_table["49020"] = [150,248] let s:lib.Codec.encoding_table["49021"] = [150,249] let s:lib.Codec.encoding_table["49022"] = [150,250] let s:lib.Codec.encoding_table["49023"] = [150,251] let s:lib.Codec.encoding_table["49024"] = [150,252] let s:lib.Codec.encoding_table["49025"] = [150,253] let s:lib.Codec.encoding_table["49026"] = [150,254] let s:lib.Codec.encoding_table["49027"] = [151,65] let s:lib.Codec.encoding_table["49028"] = [151,66] let s:lib.Codec.encoding_table["49029"] = [151,67] let s:lib.Codec.encoding_table["49030"] = [151,68] let s:lib.Codec.encoding_table["49031"] = [151,69] let s:lib.Codec.encoding_table["49032"] = [151,70] let s:lib.Codec.encoding_table["49033"] = [151,71] let s:lib.Codec.encoding_table["49034"] = [151,72] let s:lib.Codec.encoding_table["49035"] = [151,73] let s:lib.Codec.encoding_table["49036"] = [151,74] let s:lib.Codec.encoding_table["49037"] = [151,75] let s:lib.Codec.encoding_table["49038"] = [151,76] let s:lib.Codec.encoding_table["49039"] = [151,77] let s:lib.Codec.encoding_table["49040"] = [151,78] let s:lib.Codec.encoding_table["49041"] = [151,79] let s:lib.Codec.encoding_table["49042"] = [151,80] let s:lib.Codec.encoding_table["49043"] = [151,81] let s:lib.Codec.encoding_table["49045"] = [151,82] let s:lib.Codec.encoding_table["49046"] = [151,83] let s:lib.Codec.encoding_table["49047"] = [151,84] let s:lib.Codec.encoding_table["49048"] = [151,85] let s:lib.Codec.encoding_table["49049"] = [151,86] let s:lib.Codec.encoding_table["49050"] = [151,87] let s:lib.Codec.encoding_table["49051"] = [151,88] let s:lib.Codec.encoding_table["49052"] = [151,89] let s:lib.Codec.encoding_table["49053"] = [151,90] let s:lib.Codec.encoding_table["49054"] = [151,97] let s:lib.Codec.encoding_table["49055"] = [151,98] let s:lib.Codec.encoding_table["49056"] = [151,99] let s:lib.Codec.encoding_table["49057"] = [151,100] let s:lib.Codec.encoding_table["49058"] = [151,101] let s:lib.Codec.encoding_table["49059"] = [151,102] let s:lib.Codec.encoding_table["49060"] = [151,103] let s:lib.Codec.encoding_table["49061"] = [151,104] let s:lib.Codec.encoding_table["49062"] = [151,105] let s:lib.Codec.encoding_table["49063"] = [151,106] let s:lib.Codec.encoding_table["49064"] = [151,107] let s:lib.Codec.encoding_table["49065"] = [151,108] let s:lib.Codec.encoding_table["49066"] = [151,109] let s:lib.Codec.encoding_table["49067"] = [151,110] let s:lib.Codec.encoding_table["49068"] = [151,111] let s:lib.Codec.encoding_table["49069"] = [151,112] let s:lib.Codec.encoding_table["49070"] = [151,113] let s:lib.Codec.encoding_table["49071"] = [151,114] let s:lib.Codec.encoding_table["49073"] = [151,115] let s:lib.Codec.encoding_table["49074"] = [151,116] let s:lib.Codec.encoding_table["49075"] = [151,117] let s:lib.Codec.encoding_table["49076"] = [151,118] let s:lib.Codec.encoding_table["49077"] = [151,119] let s:lib.Codec.encoding_table["49078"] = [151,120] let s:lib.Codec.encoding_table["49079"] = [151,121] let s:lib.Codec.encoding_table["49080"] = [151,122] let s:lib.Codec.encoding_table["49081"] = [151,129] let s:lib.Codec.encoding_table["49082"] = [151,130] let s:lib.Codec.encoding_table["49083"] = [151,131] let s:lib.Codec.encoding_table["49084"] = [151,132] let s:lib.Codec.encoding_table["49085"] = [151,133] let s:lib.Codec.encoding_table["49086"] = [151,134] let s:lib.Codec.encoding_table["49087"] = [151,135] let s:lib.Codec.encoding_table["49088"] = [151,136] let s:lib.Codec.encoding_table["49089"] = [151,137] let s:lib.Codec.encoding_table["49090"] = [151,138] let s:lib.Codec.encoding_table["49091"] = [151,139] let s:lib.Codec.encoding_table["49092"] = [151,140] let s:lib.Codec.encoding_table["49094"] = [151,141] let s:lib.Codec.encoding_table["49095"] = [151,142] let s:lib.Codec.encoding_table["49096"] = [151,143] let s:lib.Codec.encoding_table["49097"] = [151,144] let s:lib.Codec.encoding_table["49098"] = [151,145] let s:lib.Codec.encoding_table["49099"] = [151,146] let s:lib.Codec.encoding_table["49102"] = [151,147] let s:lib.Codec.encoding_table["49103"] = [151,148] let s:lib.Codec.encoding_table["49105"] = [151,149] let s:lib.Codec.encoding_table["49106"] = [151,150] let s:lib.Codec.encoding_table["49107"] = [151,151] let s:lib.Codec.encoding_table["49109"] = [151,152] let s:lib.Codec.encoding_table["49110"] = [151,153] let s:lib.Codec.encoding_table["49111"] = [151,154] let s:lib.Codec.encoding_table["49112"] = [151,155] let s:lib.Codec.encoding_table["49113"] = [151,156] let s:lib.Codec.encoding_table["49114"] = [151,157] let s:lib.Codec.encoding_table["49115"] = [151,158] let s:lib.Codec.encoding_table["49117"] = [151,159] let s:lib.Codec.encoding_table["49118"] = [151,160] let s:lib.Codec.encoding_table["49120"] = [151,161] let s:lib.Codec.encoding_table["49122"] = [151,162] let s:lib.Codec.encoding_table["49123"] = [151,163] let s:lib.Codec.encoding_table["49124"] = [151,164] let s:lib.Codec.encoding_table["49125"] = [151,165] let s:lib.Codec.encoding_table["49126"] = [151,166] let s:lib.Codec.encoding_table["49127"] = [151,167] let s:lib.Codec.encoding_table["49128"] = [151,168] let s:lib.Codec.encoding_table["49129"] = [151,169] let s:lib.Codec.encoding_table["49130"] = [151,170] let s:lib.Codec.encoding_table["49131"] = [151,171] let s:lib.Codec.encoding_table["49132"] = [151,172] let s:lib.Codec.encoding_table["49133"] = [151,173] let s:lib.Codec.encoding_table["49134"] = [151,174] let s:lib.Codec.encoding_table["49135"] = [151,175] let s:lib.Codec.encoding_table["49136"] = [151,176] let s:lib.Codec.encoding_table["49137"] = [151,177] let s:lib.Codec.encoding_table["49138"] = [151,178] let s:lib.Codec.encoding_table["49139"] = [151,179] let s:lib.Codec.encoding_table["49140"] = [151,180] let s:lib.Codec.encoding_table["49141"] = [151,181] let s:lib.Codec.encoding_table["49142"] = [151,182] let s:lib.Codec.encoding_table["49143"] = [151,183] let s:lib.Codec.encoding_table["49144"] = [151,184] let s:lib.Codec.encoding_table["49145"] = [151,185] let s:lib.Codec.encoding_table["49146"] = [151,186] let s:lib.Codec.encoding_table["49147"] = [151,187] let s:lib.Codec.encoding_table["49148"] = [151,188] let s:lib.Codec.encoding_table["49149"] = [151,189] let s:lib.Codec.encoding_table["49150"] = [151,190] let s:lib.Codec.encoding_table["49151"] = [151,191] let s:lib.Codec.encoding_table["49152"] = [151,192] let s:lib.Codec.encoding_table["49153"] = [151,193] let s:lib.Codec.encoding_table["49154"] = [151,194] let s:lib.Codec.encoding_table["49155"] = [151,195] let s:lib.Codec.encoding_table["49156"] = [151,196] let s:lib.Codec.encoding_table["49157"] = [151,197] let s:lib.Codec.encoding_table["49158"] = [151,198] let s:lib.Codec.encoding_table["49159"] = [151,199] let s:lib.Codec.encoding_table["49160"] = [151,200] let s:lib.Codec.encoding_table["49161"] = [151,201] let s:lib.Codec.encoding_table["49162"] = [151,202] let s:lib.Codec.encoding_table["49163"] = [151,203] let s:lib.Codec.encoding_table["49164"] = [151,204] let s:lib.Codec.encoding_table["49165"] = [151,205] let s:lib.Codec.encoding_table["49166"] = [151,206] let s:lib.Codec.encoding_table["49167"] = [151,207] let s:lib.Codec.encoding_table["49168"] = [151,208] let s:lib.Codec.encoding_table["49169"] = [151,209] let s:lib.Codec.encoding_table["49170"] = [151,210] let s:lib.Codec.encoding_table["49171"] = [151,211] let s:lib.Codec.encoding_table["49172"] = [151,212] let s:lib.Codec.encoding_table["49173"] = [151,213] let s:lib.Codec.encoding_table["49174"] = [151,214] let s:lib.Codec.encoding_table["49175"] = [151,215] let s:lib.Codec.encoding_table["49176"] = [151,216] let s:lib.Codec.encoding_table["49177"] = [151,217] let s:lib.Codec.encoding_table["49178"] = [151,218] let s:lib.Codec.encoding_table["49179"] = [151,219] let s:lib.Codec.encoding_table["49180"] = [151,220] let s:lib.Codec.encoding_table["49181"] = [151,221] let s:lib.Codec.encoding_table["49182"] = [151,222] let s:lib.Codec.encoding_table["49183"] = [151,223] let s:lib.Codec.encoding_table["49184"] = [151,224] let s:lib.Codec.encoding_table["49185"] = [151,225] let s:lib.Codec.encoding_table["49186"] = [151,226] let s:lib.Codec.encoding_table["49187"] = [151,227] let s:lib.Codec.encoding_table["49188"] = [151,228] let s:lib.Codec.encoding_table["49189"] = [151,229] let s:lib.Codec.encoding_table["49190"] = [151,230] let s:lib.Codec.encoding_table["49191"] = [151,231] let s:lib.Codec.encoding_table["49192"] = [151,232] let s:lib.Codec.encoding_table["49193"] = [151,233] let s:lib.Codec.encoding_table["49194"] = [151,234] let s:lib.Codec.encoding_table["49195"] = [151,235] let s:lib.Codec.encoding_table["49196"] = [151,236] let s:lib.Codec.encoding_table["49197"] = [151,237] let s:lib.Codec.encoding_table["49198"] = [151,238] let s:lib.Codec.encoding_table["49199"] = [151,239] let s:lib.Codec.encoding_table["49200"] = [151,240] let s:lib.Codec.encoding_table["49201"] = [151,241] let s:lib.Codec.encoding_table["49202"] = [151,242] let s:lib.Codec.encoding_table["49203"] = [151,243] let s:lib.Codec.encoding_table["49204"] = [151,244] let s:lib.Codec.encoding_table["49205"] = [151,245] let s:lib.Codec.encoding_table["49206"] = [151,246] let s:lib.Codec.encoding_table["49207"] = [151,247] let s:lib.Codec.encoding_table["49208"] = [151,248] let s:lib.Codec.encoding_table["49209"] = [151,249] let s:lib.Codec.encoding_table["49210"] = [151,250] let s:lib.Codec.encoding_table["49211"] = [151,251] let s:lib.Codec.encoding_table["49213"] = [151,252] let s:lib.Codec.encoding_table["49214"] = [151,253] let s:lib.Codec.encoding_table["49215"] = [151,254] let s:lib.Codec.encoding_table["49216"] = [152,65] let s:lib.Codec.encoding_table["49217"] = [152,66] let s:lib.Codec.encoding_table["49218"] = [152,67] let s:lib.Codec.encoding_table["49219"] = [152,68] let s:lib.Codec.encoding_table["49220"] = [152,69] let s:lib.Codec.encoding_table["49221"] = [152,70] let s:lib.Codec.encoding_table["49222"] = [152,71] let s:lib.Codec.encoding_table["49223"] = [152,72] let s:lib.Codec.encoding_table["49224"] = [152,73] let s:lib.Codec.encoding_table["49225"] = [152,74] let s:lib.Codec.encoding_table["49226"] = [152,75] let s:lib.Codec.encoding_table["49227"] = [152,76] let s:lib.Codec.encoding_table["49228"] = [152,77] let s:lib.Codec.encoding_table["49229"] = [152,78] let s:lib.Codec.encoding_table["49230"] = [152,79] let s:lib.Codec.encoding_table["49231"] = [152,80] let s:lib.Codec.encoding_table["49232"] = [152,81] let s:lib.Codec.encoding_table["49234"] = [152,82] let s:lib.Codec.encoding_table["49235"] = [152,83] let s:lib.Codec.encoding_table["49236"] = [152,84] let s:lib.Codec.encoding_table["49237"] = [152,85] let s:lib.Codec.encoding_table["49238"] = [152,86] let s:lib.Codec.encoding_table["49239"] = [152,87] let s:lib.Codec.encoding_table["49241"] = [152,88] let s:lib.Codec.encoding_table["49242"] = [152,89] let s:lib.Codec.encoding_table["49243"] = [152,90] let s:lib.Codec.encoding_table["49245"] = [152,97] let s:lib.Codec.encoding_table["49246"] = [152,98] let s:lib.Codec.encoding_table["49247"] = [152,99] let s:lib.Codec.encoding_table["49249"] = [152,100] let s:lib.Codec.encoding_table["49250"] = [152,101] let s:lib.Codec.encoding_table["49251"] = [152,102] let s:lib.Codec.encoding_table["49252"] = [152,103] let s:lib.Codec.encoding_table["49253"] = [152,104] let s:lib.Codec.encoding_table["49254"] = [152,105] let s:lib.Codec.encoding_table["49255"] = [152,106] let s:lib.Codec.encoding_table["49258"] = [152,107] let s:lib.Codec.encoding_table["49259"] = [152,108] let s:lib.Codec.encoding_table["49260"] = [152,109] let s:lib.Codec.encoding_table["49261"] = [152,110] let s:lib.Codec.encoding_table["49262"] = [152,111] let s:lib.Codec.encoding_table["49263"] = [152,112] let s:lib.Codec.encoding_table["49264"] = [152,113] let s:lib.Codec.encoding_table["49265"] = [152,114] let s:lib.Codec.encoding_table["49266"] = [152,115] let s:lib.Codec.encoding_table["49267"] = [152,116] let s:lib.Codec.encoding_table["49268"] = [152,117] let s:lib.Codec.encoding_table["49269"] = [152,118] let s:lib.Codec.encoding_table["49270"] = [152,119] let s:lib.Codec.encoding_table["49271"] = [152,120] let s:lib.Codec.encoding_table["49272"] = [152,121] let s:lib.Codec.encoding_table["49273"] = [152,122] let s:lib.Codec.encoding_table["49274"] = [152,129] let s:lib.Codec.encoding_table["49275"] = [152,130] let s:lib.Codec.encoding_table["49276"] = [152,131] let s:lib.Codec.encoding_table["49277"] = [152,132] let s:lib.Codec.encoding_table["49278"] = [152,133] let s:lib.Codec.encoding_table["49279"] = [152,134] let s:lib.Codec.encoding_table["49280"] = [152,135] let s:lib.Codec.encoding_table["49281"] = [152,136] let s:lib.Codec.encoding_table["49282"] = [152,137] let s:lib.Codec.encoding_table["49283"] = [152,138] let s:lib.Codec.encoding_table["49284"] = [152,139] let s:lib.Codec.encoding_table["49285"] = [152,140] let s:lib.Codec.encoding_table["49286"] = [152,141] let s:lib.Codec.encoding_table["49287"] = [152,142] let s:lib.Codec.encoding_table["49288"] = [152,143] let s:lib.Codec.encoding_table["49289"] = [152,144] let s:lib.Codec.encoding_table["49290"] = [152,145] let s:lib.Codec.encoding_table["49291"] = [152,146] let s:lib.Codec.encoding_table["49292"] = [152,147] let s:lib.Codec.encoding_table["49293"] = [152,148] let s:lib.Codec.encoding_table["49294"] = [152,149] let s:lib.Codec.encoding_table["49295"] = [152,150] let s:lib.Codec.encoding_table["49298"] = [152,151] let s:lib.Codec.encoding_table["49299"] = [152,152] let s:lib.Codec.encoding_table["49301"] = [152,153] let s:lib.Codec.encoding_table["49302"] = [152,154] let s:lib.Codec.encoding_table["49303"] = [152,155] let s:lib.Codec.encoding_table["49305"] = [152,156] let s:lib.Codec.encoding_table["49306"] = [152,157] let s:lib.Codec.encoding_table["49307"] = [152,158] let s:lib.Codec.encoding_table["49308"] = [152,159] let s:lib.Codec.encoding_table["49309"] = [152,160] let s:lib.Codec.encoding_table["49310"] = [152,161] let s:lib.Codec.encoding_table["49311"] = [152,162] let s:lib.Codec.encoding_table["49314"] = [152,163] let s:lib.Codec.encoding_table["49316"] = [152,164] let s:lib.Codec.encoding_table["49318"] = [152,165] let s:lib.Codec.encoding_table["49319"] = [152,166] let s:lib.Codec.encoding_table["49320"] = [152,167] let s:lib.Codec.encoding_table["49321"] = [152,168] let s:lib.Codec.encoding_table["49322"] = [152,169] let s:lib.Codec.encoding_table["49323"] = [152,170] let s:lib.Codec.encoding_table["49326"] = [152,171] let s:lib.Codec.encoding_table["49329"] = [152,172] let s:lib.Codec.encoding_table["49330"] = [152,173] let s:lib.Codec.encoding_table["49335"] = [152,174] let s:lib.Codec.encoding_table["49336"] = [152,175] let s:lib.Codec.encoding_table["49337"] = [152,176] let s:lib.Codec.encoding_table["49338"] = [152,177] let s:lib.Codec.encoding_table["49339"] = [152,178] let s:lib.Codec.encoding_table["49342"] = [152,179] let s:lib.Codec.encoding_table["49346"] = [152,180] let s:lib.Codec.encoding_table["49347"] = [152,181] let s:lib.Codec.encoding_table["49348"] = [152,182] let s:lib.Codec.encoding_table["49350"] = [152,183] let s:lib.Codec.encoding_table["49351"] = [152,184] let s:lib.Codec.encoding_table["49354"] = [152,185] let s:lib.Codec.encoding_table["49355"] = [152,186] let s:lib.Codec.encoding_table["49357"] = [152,187] let s:lib.Codec.encoding_table["49358"] = [152,188] let s:lib.Codec.encoding_table["49359"] = [152,189] let s:lib.Codec.encoding_table["49361"] = [152,190] let s:lib.Codec.encoding_table["49362"] = [152,191] let s:lib.Codec.encoding_table["49363"] = [152,192] let s:lib.Codec.encoding_table["49364"] = [152,193] let s:lib.Codec.encoding_table["49365"] = [152,194] let s:lib.Codec.encoding_table["49366"] = [152,195] let s:lib.Codec.encoding_table["49367"] = [152,196] let s:lib.Codec.encoding_table["49370"] = [152,197] let s:lib.Codec.encoding_table["49374"] = [152,198] let s:lib.Codec.encoding_table["49375"] = [152,199] let s:lib.Codec.encoding_table["49376"] = [152,200] let s:lib.Codec.encoding_table["49377"] = [152,201] let s:lib.Codec.encoding_table["49378"] = [152,202] let s:lib.Codec.encoding_table["49379"] = [152,203] let s:lib.Codec.encoding_table["49382"] = [152,204] let s:lib.Codec.encoding_table["49383"] = [152,205] let s:lib.Codec.encoding_table["49385"] = [152,206] let s:lib.Codec.encoding_table["49386"] = [152,207] let s:lib.Codec.encoding_table["49387"] = [152,208] let s:lib.Codec.encoding_table["49389"] = [152,209] let s:lib.Codec.encoding_table["49390"] = [152,210] let s:lib.Codec.encoding_table["49391"] = [152,211] let s:lib.Codec.encoding_table["49392"] = [152,212] let s:lib.Codec.encoding_table["49393"] = [152,213] let s:lib.Codec.encoding_table["49394"] = [152,214] let s:lib.Codec.encoding_table["49395"] = [152,215] let s:lib.Codec.encoding_table["49398"] = [152,216] let s:lib.Codec.encoding_table["49400"] = [152,217] let s:lib.Codec.encoding_table["49402"] = [152,218] let s:lib.Codec.encoding_table["49403"] = [152,219] let s:lib.Codec.encoding_table["49404"] = [152,220] let s:lib.Codec.encoding_table["49405"] = [152,221] let s:lib.Codec.encoding_table["49406"] = [152,222] let s:lib.Codec.encoding_table["49407"] = [152,223] let s:lib.Codec.encoding_table["49409"] = [152,224] let s:lib.Codec.encoding_table["49410"] = [152,225] let s:lib.Codec.encoding_table["49411"] = [152,226] let s:lib.Codec.encoding_table["49413"] = [152,227] let s:lib.Codec.encoding_table["49414"] = [152,228] let s:lib.Codec.encoding_table["49415"] = [152,229] let s:lib.Codec.encoding_table["49417"] = [152,230] let s:lib.Codec.encoding_table["49418"] = [152,231] let s:lib.Codec.encoding_table["49419"] = [152,232] let s:lib.Codec.encoding_table["49420"] = [152,233] let s:lib.Codec.encoding_table["49421"] = [152,234] let s:lib.Codec.encoding_table["49422"] = [152,235] let s:lib.Codec.encoding_table["49423"] = [152,236] let s:lib.Codec.encoding_table["49425"] = [152,237] let s:lib.Codec.encoding_table["49426"] = [152,238] let s:lib.Codec.encoding_table["49427"] = [152,239] let s:lib.Codec.encoding_table["49428"] = [152,240] let s:lib.Codec.encoding_table["49430"] = [152,241] let s:lib.Codec.encoding_table["49431"] = [152,242] let s:lib.Codec.encoding_table["49432"] = [152,243] let s:lib.Codec.encoding_table["49433"] = [152,244] let s:lib.Codec.encoding_table["49434"] = [152,245] let s:lib.Codec.encoding_table["49435"] = [152,246] let s:lib.Codec.encoding_table["49441"] = [152,247] let s:lib.Codec.encoding_table["49442"] = [152,248] let s:lib.Codec.encoding_table["49445"] = [152,249] let s:lib.Codec.encoding_table["49448"] = [152,250] let s:lib.Codec.encoding_table["49449"] = [152,251] let s:lib.Codec.encoding_table["49450"] = [152,252] let s:lib.Codec.encoding_table["49451"] = [152,253] let s:lib.Codec.encoding_table["49454"] = [152,254] let s:lib.Codec.encoding_table["49458"] = [153,65] let s:lib.Codec.encoding_table["49459"] = [153,66] let s:lib.Codec.encoding_table["49460"] = [153,67] let s:lib.Codec.encoding_table["49461"] = [153,68] let s:lib.Codec.encoding_table["49463"] = [153,69] let s:lib.Codec.encoding_table["49466"] = [153,70] let s:lib.Codec.encoding_table["49467"] = [153,71] let s:lib.Codec.encoding_table["49469"] = [153,72] let s:lib.Codec.encoding_table["49470"] = [153,73] let s:lib.Codec.encoding_table["49471"] = [153,74] let s:lib.Codec.encoding_table["49473"] = [153,75] let s:lib.Codec.encoding_table["49474"] = [153,76] let s:lib.Codec.encoding_table["49475"] = [153,77] let s:lib.Codec.encoding_table["49476"] = [153,78] let s:lib.Codec.encoding_table["49477"] = [153,79] let s:lib.Codec.encoding_table["49478"] = [153,80] let s:lib.Codec.encoding_table["49479"] = [153,81] let s:lib.Codec.encoding_table["49482"] = [153,82] let s:lib.Codec.encoding_table["49486"] = [153,83] let s:lib.Codec.encoding_table["49487"] = [153,84] let s:lib.Codec.encoding_table["49488"] = [153,85] let s:lib.Codec.encoding_table["49489"] = [153,86] let s:lib.Codec.encoding_table["49490"] = [153,87] let s:lib.Codec.encoding_table["49491"] = [153,88] let s:lib.Codec.encoding_table["49494"] = [153,89] let s:lib.Codec.encoding_table["49495"] = [153,90] let s:lib.Codec.encoding_table["49497"] = [153,97] let s:lib.Codec.encoding_table["49498"] = [153,98] let s:lib.Codec.encoding_table["49499"] = [153,99] let s:lib.Codec.encoding_table["49501"] = [153,100] let s:lib.Codec.encoding_table["49502"] = [153,101] let s:lib.Codec.encoding_table["49503"] = [153,102] let s:lib.Codec.encoding_table["49504"] = [153,103] let s:lib.Codec.encoding_table["49505"] = [153,104] let s:lib.Codec.encoding_table["49506"] = [153,105] let s:lib.Codec.encoding_table["49507"] = [153,106] let s:lib.Codec.encoding_table["49510"] = [153,107] let s:lib.Codec.encoding_table["49514"] = [153,108] let s:lib.Codec.encoding_table["49515"] = [153,109] let s:lib.Codec.encoding_table["49516"] = [153,110] let s:lib.Codec.encoding_table["49517"] = [153,111] let s:lib.Codec.encoding_table["49518"] = [153,112] let s:lib.Codec.encoding_table["49519"] = [153,113] let s:lib.Codec.encoding_table["49521"] = [153,114] let s:lib.Codec.encoding_table["49522"] = [153,115] let s:lib.Codec.encoding_table["49523"] = [153,116] let s:lib.Codec.encoding_table["49525"] = [153,117] let s:lib.Codec.encoding_table["49526"] = [153,118] let s:lib.Codec.encoding_table["49527"] = [153,119] let s:lib.Codec.encoding_table["49529"] = [153,120] let s:lib.Codec.encoding_table["49530"] = [153,121] let s:lib.Codec.encoding_table["49531"] = [153,122] let s:lib.Codec.encoding_table["49532"] = [153,129] let s:lib.Codec.encoding_table["49533"] = [153,130] let s:lib.Codec.encoding_table["49534"] = [153,131] let s:lib.Codec.encoding_table["49535"] = [153,132] let s:lib.Codec.encoding_table["49536"] = [153,133] let s:lib.Codec.encoding_table["49537"] = [153,134] let s:lib.Codec.encoding_table["49538"] = [153,135] let s:lib.Codec.encoding_table["49539"] = [153,136] let s:lib.Codec.encoding_table["49540"] = [153,137] let s:lib.Codec.encoding_table["49542"] = [153,138] let s:lib.Codec.encoding_table["49543"] = [153,139] let s:lib.Codec.encoding_table["49544"] = [153,140] let s:lib.Codec.encoding_table["49545"] = [153,141] let s:lib.Codec.encoding_table["49546"] = [153,142] let s:lib.Codec.encoding_table["49547"] = [153,143] let s:lib.Codec.encoding_table["49551"] = [153,144] let s:lib.Codec.encoding_table["49553"] = [153,145] let s:lib.Codec.encoding_table["49554"] = [153,146] let s:lib.Codec.encoding_table["49555"] = [153,147] let s:lib.Codec.encoding_table["49557"] = [153,148] let s:lib.Codec.encoding_table["49559"] = [153,149] let s:lib.Codec.encoding_table["49560"] = [153,150] let s:lib.Codec.encoding_table["49561"] = [153,151] let s:lib.Codec.encoding_table["49562"] = [153,152] let s:lib.Codec.encoding_table["49563"] = [153,153] let s:lib.Codec.encoding_table["49566"] = [153,154] let s:lib.Codec.encoding_table["49568"] = [153,155] let s:lib.Codec.encoding_table["49570"] = [153,156] let s:lib.Codec.encoding_table["49571"] = [153,157] let s:lib.Codec.encoding_table["49572"] = [153,158] let s:lib.Codec.encoding_table["49574"] = [153,159] let s:lib.Codec.encoding_table["49575"] = [153,160] let s:lib.Codec.encoding_table["49578"] = [153,161] let s:lib.Codec.encoding_table["49579"] = [153,162] let s:lib.Codec.encoding_table["49581"] = [153,163] let s:lib.Codec.encoding_table["49582"] = [153,164] let s:lib.Codec.encoding_table["49583"] = [153,165] let s:lib.Codec.encoding_table["49585"] = [153,166] let s:lib.Codec.encoding_table["49586"] = [153,167] let s:lib.Codec.encoding_table["49587"] = [153,168] let s:lib.Codec.encoding_table["49588"] = [153,169] let s:lib.Codec.encoding_table["49589"] = [153,170] let s:lib.Codec.encoding_table["49590"] = [153,171] let s:lib.Codec.encoding_table["49591"] = [153,172] let s:lib.Codec.encoding_table["49592"] = [153,173] let s:lib.Codec.encoding_table["49593"] = [153,174] let s:lib.Codec.encoding_table["49594"] = [153,175] let s:lib.Codec.encoding_table["49595"] = [153,176] let s:lib.Codec.encoding_table["49596"] = [153,177] let s:lib.Codec.encoding_table["49598"] = [153,178] let s:lib.Codec.encoding_table["49599"] = [153,179] let s:lib.Codec.encoding_table["49600"] = [153,180] let s:lib.Codec.encoding_table["49601"] = [153,181] let s:lib.Codec.encoding_table["49602"] = [153,182] let s:lib.Codec.encoding_table["49603"] = [153,183] let s:lib.Codec.encoding_table["49605"] = [153,184] let s:lib.Codec.encoding_table["49606"] = [153,185] let s:lib.Codec.encoding_table["49607"] = [153,186] let s:lib.Codec.encoding_table["49609"] = [153,187] let s:lib.Codec.encoding_table["49610"] = [153,188] let s:lib.Codec.encoding_table["49611"] = [153,189] let s:lib.Codec.encoding_table["49613"] = [153,190] let s:lib.Codec.encoding_table["49614"] = [153,191] let s:lib.Codec.encoding_table["49615"] = [153,192] let s:lib.Codec.encoding_table["49616"] = [153,193] let s:lib.Codec.encoding_table["49617"] = [153,194] let s:lib.Codec.encoding_table["49618"] = [153,195] let s:lib.Codec.encoding_table["49619"] = [153,196] let s:lib.Codec.encoding_table["49621"] = [153,197] let s:lib.Codec.encoding_table["49622"] = [153,198] let s:lib.Codec.encoding_table["49625"] = [153,199] let s:lib.Codec.encoding_table["49626"] = [153,200] let s:lib.Codec.encoding_table["49627"] = [153,201] let s:lib.Codec.encoding_table["49628"] = [153,202] let s:lib.Codec.encoding_table["49629"] = [153,203] let s:lib.Codec.encoding_table["49630"] = [153,204] let s:lib.Codec.encoding_table["49631"] = [153,205] let s:lib.Codec.encoding_table["49633"] = [153,206] let s:lib.Codec.encoding_table["49634"] = [153,207] let s:lib.Codec.encoding_table["49635"] = [153,208] let s:lib.Codec.encoding_table["49637"] = [153,209] let s:lib.Codec.encoding_table["49638"] = [153,210] let s:lib.Codec.encoding_table["49639"] = [153,211] let s:lib.Codec.encoding_table["49641"] = [153,212] let s:lib.Codec.encoding_table["49642"] = [153,213] let s:lib.Codec.encoding_table["49643"] = [153,214] let s:lib.Codec.encoding_table["49644"] = [153,215] let s:lib.Codec.encoding_table["49645"] = [153,216] let s:lib.Codec.encoding_table["49646"] = [153,217] let s:lib.Codec.encoding_table["49647"] = [153,218] let s:lib.Codec.encoding_table["49650"] = [153,219] let s:lib.Codec.encoding_table["49652"] = [153,220] let s:lib.Codec.encoding_table["49653"] = [153,221] let s:lib.Codec.encoding_table["49654"] = [153,222] let s:lib.Codec.encoding_table["49655"] = [153,223] let s:lib.Codec.encoding_table["49656"] = [153,224] let s:lib.Codec.encoding_table["49657"] = [153,225] let s:lib.Codec.encoding_table["49658"] = [153,226] let s:lib.Codec.encoding_table["49659"] = [153,227] let s:lib.Codec.encoding_table["49662"] = [153,228] let s:lib.Codec.encoding_table["49663"] = [153,229] let s:lib.Codec.encoding_table["49665"] = [153,230] let s:lib.Codec.encoding_table["49666"] = [153,231] let s:lib.Codec.encoding_table["49667"] = [153,232] let s:lib.Codec.encoding_table["49669"] = [153,233] let s:lib.Codec.encoding_table["49670"] = [153,234] let s:lib.Codec.encoding_table["49671"] = [153,235] let s:lib.Codec.encoding_table["49672"] = [153,236] let s:lib.Codec.encoding_table["49673"] = [153,237] let s:lib.Codec.encoding_table["49674"] = [153,238] let s:lib.Codec.encoding_table["49675"] = [153,239] let s:lib.Codec.encoding_table["49678"] = [153,240] let s:lib.Codec.encoding_table["49680"] = [153,241] let s:lib.Codec.encoding_table["49682"] = [153,242] let s:lib.Codec.encoding_table["49683"] = [153,243] let s:lib.Codec.encoding_table["49684"] = [153,244] let s:lib.Codec.encoding_table["49685"] = [153,245] let s:lib.Codec.encoding_table["49686"] = [153,246] let s:lib.Codec.encoding_table["49687"] = [153,247] let s:lib.Codec.encoding_table["49690"] = [153,248] let s:lib.Codec.encoding_table["49691"] = [153,249] let s:lib.Codec.encoding_table["49693"] = [153,250] let s:lib.Codec.encoding_table["49694"] = [153,251] let s:lib.Codec.encoding_table["49697"] = [153,252] let s:lib.Codec.encoding_table["49698"] = [153,253] let s:lib.Codec.encoding_table["49699"] = [153,254] let s:lib.Codec.encoding_table["49700"] = [154,65] let s:lib.Codec.encoding_table["49701"] = [154,66] let s:lib.Codec.encoding_table["49702"] = [154,67] let s:lib.Codec.encoding_table["49703"] = [154,68] let s:lib.Codec.encoding_table["49706"] = [154,69] let s:lib.Codec.encoding_table["49708"] = [154,70] let s:lib.Codec.encoding_table["49710"] = [154,71] let s:lib.Codec.encoding_table["49712"] = [154,72] let s:lib.Codec.encoding_table["49715"] = [154,73] let s:lib.Codec.encoding_table["49717"] = [154,74] let s:lib.Codec.encoding_table["49718"] = [154,75] let s:lib.Codec.encoding_table["49719"] = [154,76] let s:lib.Codec.encoding_table["49720"] = [154,77] let s:lib.Codec.encoding_table["49721"] = [154,78] let s:lib.Codec.encoding_table["49722"] = [154,79] let s:lib.Codec.encoding_table["49723"] = [154,80] let s:lib.Codec.encoding_table["49724"] = [154,81] let s:lib.Codec.encoding_table["49725"] = [154,82] let s:lib.Codec.encoding_table["49726"] = [154,83] let s:lib.Codec.encoding_table["49727"] = [154,84] let s:lib.Codec.encoding_table["49728"] = [154,85] let s:lib.Codec.encoding_table["49729"] = [154,86] let s:lib.Codec.encoding_table["49730"] = [154,87] let s:lib.Codec.encoding_table["49731"] = [154,88] let s:lib.Codec.encoding_table["49732"] = [154,89] let s:lib.Codec.encoding_table["49733"] = [154,90] let s:lib.Codec.encoding_table["49734"] = [154,97] let s:lib.Codec.encoding_table["49735"] = [154,98] let s:lib.Codec.encoding_table["49737"] = [154,99] let s:lib.Codec.encoding_table["49738"] = [154,100] let s:lib.Codec.encoding_table["49739"] = [154,101] let s:lib.Codec.encoding_table["49740"] = [154,102] let s:lib.Codec.encoding_table["49741"] = [154,103] let s:lib.Codec.encoding_table["49742"] = [154,104] let s:lib.Codec.encoding_table["49743"] = [154,105] let s:lib.Codec.encoding_table["49746"] = [154,106] let s:lib.Codec.encoding_table["49747"] = [154,107] let s:lib.Codec.encoding_table["49749"] = [154,108] let s:lib.Codec.encoding_table["49750"] = [154,109] let s:lib.Codec.encoding_table["49751"] = [154,110] let s:lib.Codec.encoding_table["49753"] = [154,111] let s:lib.Codec.encoding_table["49754"] = [154,112] let s:lib.Codec.encoding_table["49755"] = [154,113] let s:lib.Codec.encoding_table["49756"] = [154,114] let s:lib.Codec.encoding_table["49757"] = [154,115] let s:lib.Codec.encoding_table["49758"] = [154,116] let s:lib.Codec.encoding_table["49759"] = [154,117] let s:lib.Codec.encoding_table["49761"] = [154,118] let s:lib.Codec.encoding_table["49762"] = [154,119] let s:lib.Codec.encoding_table["49763"] = [154,120] let s:lib.Codec.encoding_table["49764"] = [154,121] let s:lib.Codec.encoding_table["49766"] = [154,122] let s:lib.Codec.encoding_table["49767"] = [154,129] let s:lib.Codec.encoding_table["49768"] = [154,130] let s:lib.Codec.encoding_table["49769"] = [154,131] let s:lib.Codec.encoding_table["49770"] = [154,132] let s:lib.Codec.encoding_table["49771"] = [154,133] let s:lib.Codec.encoding_table["49774"] = [154,134] let s:lib.Codec.encoding_table["49775"] = [154,135] let s:lib.Codec.encoding_table["49777"] = [154,136] let s:lib.Codec.encoding_table["49778"] = [154,137] let s:lib.Codec.encoding_table["49779"] = [154,138] let s:lib.Codec.encoding_table["49781"] = [154,139] let s:lib.Codec.encoding_table["49782"] = [154,140] let s:lib.Codec.encoding_table["49783"] = [154,141] let s:lib.Codec.encoding_table["49784"] = [154,142] let s:lib.Codec.encoding_table["49785"] = [154,143] let s:lib.Codec.encoding_table["49786"] = [154,144] let s:lib.Codec.encoding_table["49787"] = [154,145] let s:lib.Codec.encoding_table["49790"] = [154,146] let s:lib.Codec.encoding_table["49792"] = [154,147] let s:lib.Codec.encoding_table["49794"] = [154,148] let s:lib.Codec.encoding_table["49795"] = [154,149] let s:lib.Codec.encoding_table["49796"] = [154,150] let s:lib.Codec.encoding_table["49797"] = [154,151] let s:lib.Codec.encoding_table["49798"] = [154,152] let s:lib.Codec.encoding_table["49799"] = [154,153] let s:lib.Codec.encoding_table["49802"] = [154,154] let s:lib.Codec.encoding_table["49803"] = [154,155] let s:lib.Codec.encoding_table["49804"] = [154,156] let s:lib.Codec.encoding_table["49805"] = [154,157] let s:lib.Codec.encoding_table["49806"] = [154,158] let s:lib.Codec.encoding_table["49807"] = [154,159] let s:lib.Codec.encoding_table["49809"] = [154,160] let s:lib.Codec.encoding_table["49810"] = [154,161] let s:lib.Codec.encoding_table["49811"] = [154,162] let s:lib.Codec.encoding_table["49812"] = [154,163] let s:lib.Codec.encoding_table["49813"] = [154,164] let s:lib.Codec.encoding_table["49814"] = [154,165] let s:lib.Codec.encoding_table["49815"] = [154,166] let s:lib.Codec.encoding_table["49817"] = [154,167] let s:lib.Codec.encoding_table["49818"] = [154,168] let s:lib.Codec.encoding_table["49820"] = [154,169] let s:lib.Codec.encoding_table["49822"] = [154,170] let s:lib.Codec.encoding_table["49823"] = [154,171] let s:lib.Codec.encoding_table["49824"] = [154,172] let s:lib.Codec.encoding_table["49825"] = [154,173] let s:lib.Codec.encoding_table["49826"] = [154,174] let s:lib.Codec.encoding_table["49827"] = [154,175] let s:lib.Codec.encoding_table["49830"] = [154,176] let s:lib.Codec.encoding_table["49831"] = [154,177] let s:lib.Codec.encoding_table["49833"] = [154,178] let s:lib.Codec.encoding_table["49834"] = [154,179] let s:lib.Codec.encoding_table["49835"] = [154,180] let s:lib.Codec.encoding_table["49838"] = [154,181] let s:lib.Codec.encoding_table["49839"] = [154,182] let s:lib.Codec.encoding_table["49840"] = [154,183] let s:lib.Codec.encoding_table["49841"] = [154,184] let s:lib.Codec.encoding_table["49842"] = [154,185] let s:lib.Codec.encoding_table["49843"] = [154,186] let s:lib.Codec.encoding_table["49846"] = [154,187] let s:lib.Codec.encoding_table["49848"] = [154,188] let s:lib.Codec.encoding_table["49850"] = [154,189] let s:lib.Codec.encoding_table["49851"] = [154,190] let s:lib.Codec.encoding_table["49852"] = [154,191] let s:lib.Codec.encoding_table["49853"] = [154,192] let s:lib.Codec.encoding_table["49854"] = [154,193] let s:lib.Codec.encoding_table["49855"] = [154,194] let s:lib.Codec.encoding_table["49856"] = [154,195] let s:lib.Codec.encoding_table["49857"] = [154,196] let s:lib.Codec.encoding_table["49858"] = [154,197] let s:lib.Codec.encoding_table["49859"] = [154,198] let s:lib.Codec.encoding_table["49860"] = [154,199] let s:lib.Codec.encoding_table["49861"] = [154,200] let s:lib.Codec.encoding_table["49862"] = [154,201] let s:lib.Codec.encoding_table["49863"] = [154,202] let s:lib.Codec.encoding_table["49864"] = [154,203] let s:lib.Codec.encoding_table["49865"] = [154,204] let s:lib.Codec.encoding_table["49866"] = [154,205] let s:lib.Codec.encoding_table["49867"] = [154,206] let s:lib.Codec.encoding_table["49868"] = [154,207] let s:lib.Codec.encoding_table["49869"] = [154,208] let s:lib.Codec.encoding_table["49870"] = [154,209] let s:lib.Codec.encoding_table["49871"] = [154,210] let s:lib.Codec.encoding_table["49872"] = [154,211] let s:lib.Codec.encoding_table["49873"] = [154,212] let s:lib.Codec.encoding_table["49874"] = [154,213] let s:lib.Codec.encoding_table["49875"] = [154,214] let s:lib.Codec.encoding_table["49876"] = [154,215] let s:lib.Codec.encoding_table["49877"] = [154,216] let s:lib.Codec.encoding_table["49878"] = [154,217] let s:lib.Codec.encoding_table["49879"] = [154,218] let s:lib.Codec.encoding_table["49880"] = [154,219] let s:lib.Codec.encoding_table["49881"] = [154,220] let s:lib.Codec.encoding_table["49882"] = [154,221] let s:lib.Codec.encoding_table["49883"] = [154,222] let s:lib.Codec.encoding_table["49886"] = [154,223] let s:lib.Codec.encoding_table["49887"] = [154,224] let s:lib.Codec.encoding_table["49889"] = [154,225] let s:lib.Codec.encoding_table["49890"] = [154,226] let s:lib.Codec.encoding_table["49893"] = [154,227] let s:lib.Codec.encoding_table["49894"] = [154,228] let s:lib.Codec.encoding_table["49895"] = [154,229] let s:lib.Codec.encoding_table["49896"] = [154,230] let s:lib.Codec.encoding_table["49897"] = [154,231] let s:lib.Codec.encoding_table["49898"] = [154,232] let s:lib.Codec.encoding_table["49902"] = [154,233] let s:lib.Codec.encoding_table["49904"] = [154,234] let s:lib.Codec.encoding_table["49906"] = [154,235] let s:lib.Codec.encoding_table["49907"] = [154,236] let s:lib.Codec.encoding_table["49908"] = [154,237] let s:lib.Codec.encoding_table["49909"] = [154,238] let s:lib.Codec.encoding_table["49911"] = [154,239] let s:lib.Codec.encoding_table["49914"] = [154,240] let s:lib.Codec.encoding_table["49917"] = [154,241] let s:lib.Codec.encoding_table["49918"] = [154,242] let s:lib.Codec.encoding_table["49919"] = [154,243] let s:lib.Codec.encoding_table["49921"] = [154,244] let s:lib.Codec.encoding_table["49922"] = [154,245] let s:lib.Codec.encoding_table["49923"] = [154,246] let s:lib.Codec.encoding_table["49924"] = [154,247] let s:lib.Codec.encoding_table["49925"] = [154,248] let s:lib.Codec.encoding_table["49926"] = [154,249] let s:lib.Codec.encoding_table["49927"] = [154,250] let s:lib.Codec.encoding_table["49930"] = [154,251] let s:lib.Codec.encoding_table["49931"] = [154,252] let s:lib.Codec.encoding_table["49934"] = [154,253] let s:lib.Codec.encoding_table["49935"] = [154,254] let s:lib.Codec.encoding_table["49936"] = [155,65] let s:lib.Codec.encoding_table["49937"] = [155,66] let s:lib.Codec.encoding_table["49938"] = [155,67] let s:lib.Codec.encoding_table["49942"] = [155,68] let s:lib.Codec.encoding_table["49943"] = [155,69] let s:lib.Codec.encoding_table["49945"] = [155,70] let s:lib.Codec.encoding_table["49946"] = [155,71] let s:lib.Codec.encoding_table["49947"] = [155,72] let s:lib.Codec.encoding_table["49949"] = [155,73] let s:lib.Codec.encoding_table["49950"] = [155,74] let s:lib.Codec.encoding_table["49951"] = [155,75] let s:lib.Codec.encoding_table["49952"] = [155,76] let s:lib.Codec.encoding_table["49953"] = [155,77] let s:lib.Codec.encoding_table["49954"] = [155,78] let s:lib.Codec.encoding_table["49955"] = [155,79] let s:lib.Codec.encoding_table["49958"] = [155,80] let s:lib.Codec.encoding_table["49959"] = [155,81] let s:lib.Codec.encoding_table["49962"] = [155,82] let s:lib.Codec.encoding_table["49963"] = [155,83] let s:lib.Codec.encoding_table["49964"] = [155,84] let s:lib.Codec.encoding_table["49965"] = [155,85] let s:lib.Codec.encoding_table["49966"] = [155,86] let s:lib.Codec.encoding_table["49967"] = [155,87] let s:lib.Codec.encoding_table["49968"] = [155,88] let s:lib.Codec.encoding_table["49969"] = [155,89] let s:lib.Codec.encoding_table["49970"] = [155,90] let s:lib.Codec.encoding_table["49971"] = [155,97] let s:lib.Codec.encoding_table["49972"] = [155,98] let s:lib.Codec.encoding_table["49973"] = [155,99] let s:lib.Codec.encoding_table["49974"] = [155,100] let s:lib.Codec.encoding_table["49975"] = [155,101] let s:lib.Codec.encoding_table["49976"] = [155,102] let s:lib.Codec.encoding_table["49977"] = [155,103] let s:lib.Codec.encoding_table["49978"] = [155,104] let s:lib.Codec.encoding_table["49979"] = [155,105] let s:lib.Codec.encoding_table["49980"] = [155,106] let s:lib.Codec.encoding_table["49981"] = [155,107] let s:lib.Codec.encoding_table["49982"] = [155,108] let s:lib.Codec.encoding_table["49983"] = [155,109] let s:lib.Codec.encoding_table["49984"] = [155,110] let s:lib.Codec.encoding_table["49985"] = [155,111] let s:lib.Codec.encoding_table["49986"] = [155,112] let s:lib.Codec.encoding_table["49987"] = [155,113] let s:lib.Codec.encoding_table["49988"] = [155,114] let s:lib.Codec.encoding_table["49990"] = [155,115] let s:lib.Codec.encoding_table["49991"] = [155,116] let s:lib.Codec.encoding_table["49992"] = [155,117] let s:lib.Codec.encoding_table["49993"] = [155,118] let s:lib.Codec.encoding_table["49994"] = [155,119] let s:lib.Codec.encoding_table["49995"] = [155,120] let s:lib.Codec.encoding_table["49996"] = [155,121] let s:lib.Codec.encoding_table["49997"] = [155,122] let s:lib.Codec.encoding_table["49998"] = [155,129] let s:lib.Codec.encoding_table["49999"] = [155,130] let s:lib.Codec.encoding_table["50000"] = [155,131] let s:lib.Codec.encoding_table["50001"] = [155,132] let s:lib.Codec.encoding_table["50002"] = [155,133] let s:lib.Codec.encoding_table["50003"] = [155,134] let s:lib.Codec.encoding_table["50004"] = [155,135] let s:lib.Codec.encoding_table["50005"] = [155,136] let s:lib.Codec.encoding_table["50006"] = [155,137] let s:lib.Codec.encoding_table["50007"] = [155,138] let s:lib.Codec.encoding_table["50008"] = [155,139] let s:lib.Codec.encoding_table["50009"] = [155,140] let s:lib.Codec.encoding_table["50010"] = [155,141] let s:lib.Codec.encoding_table["50011"] = [155,142] let s:lib.Codec.encoding_table["50012"] = [155,143] let s:lib.Codec.encoding_table["50013"] = [155,144] let s:lib.Codec.encoding_table["50014"] = [155,145] let s:lib.Codec.encoding_table["50015"] = [155,146] let s:lib.Codec.encoding_table["50016"] = [155,147] let s:lib.Codec.encoding_table["50017"] = [155,148] let s:lib.Codec.encoding_table["50018"] = [155,149] let s:lib.Codec.encoding_table["50019"] = [155,150] let s:lib.Codec.encoding_table["50020"] = [155,151] let s:lib.Codec.encoding_table["50021"] = [155,152] let s:lib.Codec.encoding_table["50022"] = [155,153] let s:lib.Codec.encoding_table["50023"] = [155,154] let s:lib.Codec.encoding_table["50026"] = [155,155] let s:lib.Codec.encoding_table["50027"] = [155,156] let s:lib.Codec.encoding_table["50029"] = [155,157] let s:lib.Codec.encoding_table["50030"] = [155,158] let s:lib.Codec.encoding_table["50031"] = [155,159] let s:lib.Codec.encoding_table["50033"] = [155,160] let s:lib.Codec.encoding_table["50035"] = [155,161] let s:lib.Codec.encoding_table["50036"] = [155,162] let s:lib.Codec.encoding_table["50037"] = [155,163] let s:lib.Codec.encoding_table["50038"] = [155,164] let s:lib.Codec.encoding_table["50039"] = [155,165] let s:lib.Codec.encoding_table["50042"] = [155,166] let s:lib.Codec.encoding_table["50043"] = [155,167] let s:lib.Codec.encoding_table["50046"] = [155,168] let s:lib.Codec.encoding_table["50047"] = [155,169] let s:lib.Codec.encoding_table["50048"] = [155,170] let s:lib.Codec.encoding_table["50049"] = [155,171] let s:lib.Codec.encoding_table["50050"] = [155,172] let s:lib.Codec.encoding_table["50051"] = [155,173] let s:lib.Codec.encoding_table["50053"] = [155,174] let s:lib.Codec.encoding_table["50054"] = [155,175] let s:lib.Codec.encoding_table["50055"] = [155,176] let s:lib.Codec.encoding_table["50057"] = [155,177] let s:lib.Codec.encoding_table["50058"] = [155,178] let s:lib.Codec.encoding_table["50059"] = [155,179] let s:lib.Codec.encoding_table["50061"] = [155,180] let s:lib.Codec.encoding_table["50062"] = [155,181] let s:lib.Codec.encoding_table["50063"] = [155,182] let s:lib.Codec.encoding_table["50064"] = [155,183] let s:lib.Codec.encoding_table["50065"] = [155,184] let s:lib.Codec.encoding_table["50066"] = [155,185] let s:lib.Codec.encoding_table["50067"] = [155,186] let s:lib.Codec.encoding_table["50068"] = [155,187] let s:lib.Codec.encoding_table["50069"] = [155,188] let s:lib.Codec.encoding_table["50070"] = [155,189] let s:lib.Codec.encoding_table["50071"] = [155,190] let s:lib.Codec.encoding_table["50072"] = [155,191] let s:lib.Codec.encoding_table["50073"] = [155,192] let s:lib.Codec.encoding_table["50074"] = [155,193] let s:lib.Codec.encoding_table["50075"] = [155,194] let s:lib.Codec.encoding_table["50076"] = [155,195] let s:lib.Codec.encoding_table["50077"] = [155,196] let s:lib.Codec.encoding_table["50078"] = [155,197] let s:lib.Codec.encoding_table["50079"] = [155,198] let s:lib.Codec.encoding_table["50080"] = [155,199] let s:lib.Codec.encoding_table["50081"] = [155,200] let s:lib.Codec.encoding_table["50082"] = [155,201] let s:lib.Codec.encoding_table["50083"] = [155,202] let s:lib.Codec.encoding_table["50084"] = [155,203] let s:lib.Codec.encoding_table["50085"] = [155,204] let s:lib.Codec.encoding_table["50086"] = [155,205] let s:lib.Codec.encoding_table["50087"] = [155,206] let s:lib.Codec.encoding_table["50088"] = [155,207] let s:lib.Codec.encoding_table["50089"] = [155,208] let s:lib.Codec.encoding_table["50090"] = [155,209] let s:lib.Codec.encoding_table["50091"] = [155,210] let s:lib.Codec.encoding_table["50092"] = [155,211] let s:lib.Codec.encoding_table["50093"] = [155,212] let s:lib.Codec.encoding_table["50094"] = [155,213] let s:lib.Codec.encoding_table["50095"] = [155,214] let s:lib.Codec.encoding_table["50096"] = [155,215] let s:lib.Codec.encoding_table["50097"] = [155,216] let s:lib.Codec.encoding_table["50098"] = [155,217] let s:lib.Codec.encoding_table["50099"] = [155,218] let s:lib.Codec.encoding_table["50100"] = [155,219] let s:lib.Codec.encoding_table["50101"] = [155,220] let s:lib.Codec.encoding_table["50102"] = [155,221] let s:lib.Codec.encoding_table["50103"] = [155,222] let s:lib.Codec.encoding_table["50104"] = [155,223] let s:lib.Codec.encoding_table["50105"] = [155,224] let s:lib.Codec.encoding_table["50106"] = [155,225] let s:lib.Codec.encoding_table["50107"] = [155,226] let s:lib.Codec.encoding_table["50108"] = [155,227] let s:lib.Codec.encoding_table["50109"] = [155,228] let s:lib.Codec.encoding_table["50110"] = [155,229] let s:lib.Codec.encoding_table["50111"] = [155,230] let s:lib.Codec.encoding_table["50113"] = [155,231] let s:lib.Codec.encoding_table["50114"] = [155,232] let s:lib.Codec.encoding_table["50115"] = [155,233] let s:lib.Codec.encoding_table["50116"] = [155,234] let s:lib.Codec.encoding_table["50117"] = [155,235] let s:lib.Codec.encoding_table["50118"] = [155,236] let s:lib.Codec.encoding_table["50119"] = [155,237] let s:lib.Codec.encoding_table["50120"] = [155,238] let s:lib.Codec.encoding_table["50121"] = [155,239] let s:lib.Codec.encoding_table["50122"] = [155,240] let s:lib.Codec.encoding_table["50123"] = [155,241] let s:lib.Codec.encoding_table["50124"] = [155,242] let s:lib.Codec.encoding_table["50125"] = [155,243] let s:lib.Codec.encoding_table["50126"] = [155,244] let s:lib.Codec.encoding_table["50127"] = [155,245] let s:lib.Codec.encoding_table["50128"] = [155,246] let s:lib.Codec.encoding_table["50129"] = [155,247] let s:lib.Codec.encoding_table["50130"] = [155,248] let s:lib.Codec.encoding_table["50131"] = [155,249] let s:lib.Codec.encoding_table["50132"] = [155,250] let s:lib.Codec.encoding_table["50133"] = [155,251] let s:lib.Codec.encoding_table["50134"] = [155,252] let s:lib.Codec.encoding_table["50135"] = [155,253] let s:lib.Codec.encoding_table["50138"] = [155,254] let s:lib.Codec.encoding_table["50139"] = [156,65] let s:lib.Codec.encoding_table["50141"] = [156,66] let s:lib.Codec.encoding_table["50142"] = [156,67] let s:lib.Codec.encoding_table["50145"] = [156,68] let s:lib.Codec.encoding_table["50147"] = [156,69] let s:lib.Codec.encoding_table["50148"] = [156,70] let s:lib.Codec.encoding_table["50149"] = [156,71] let s:lib.Codec.encoding_table["50150"] = [156,72] let s:lib.Codec.encoding_table["50151"] = [156,73] let s:lib.Codec.encoding_table["50154"] = [156,74] let s:lib.Codec.encoding_table["50155"] = [156,75] let s:lib.Codec.encoding_table["50156"] = [156,76] let s:lib.Codec.encoding_table["50158"] = [156,77] let s:lib.Codec.encoding_table["50159"] = [156,78] let s:lib.Codec.encoding_table["50160"] = [156,79] let s:lib.Codec.encoding_table["50161"] = [156,80] let s:lib.Codec.encoding_table["50162"] = [156,81] let s:lib.Codec.encoding_table["50163"] = [156,82] let s:lib.Codec.encoding_table["50166"] = [156,83] let s:lib.Codec.encoding_table["50167"] = [156,84] let s:lib.Codec.encoding_table["50169"] = [156,85] let s:lib.Codec.encoding_table["50170"] = [156,86] let s:lib.Codec.encoding_table["50171"] = [156,87] let s:lib.Codec.encoding_table["50172"] = [156,88] let s:lib.Codec.encoding_table["50173"] = [156,89] let s:lib.Codec.encoding_table["50174"] = [156,90] let s:lib.Codec.encoding_table["50175"] = [156,97] let s:lib.Codec.encoding_table["50176"] = [156,98] let s:lib.Codec.encoding_table["50177"] = [156,99] let s:lib.Codec.encoding_table["50178"] = [156,100] let s:lib.Codec.encoding_table["50179"] = [156,101] let s:lib.Codec.encoding_table["50180"] = [156,102] let s:lib.Codec.encoding_table["50181"] = [156,103] let s:lib.Codec.encoding_table["50182"] = [156,104] let s:lib.Codec.encoding_table["50183"] = [156,105] let s:lib.Codec.encoding_table["50185"] = [156,106] let s:lib.Codec.encoding_table["50186"] = [156,107] let s:lib.Codec.encoding_table["50187"] = [156,108] let s:lib.Codec.encoding_table["50188"] = [156,109] let s:lib.Codec.encoding_table["50189"] = [156,110] let s:lib.Codec.encoding_table["50190"] = [156,111] let s:lib.Codec.encoding_table["50191"] = [156,112] let s:lib.Codec.encoding_table["50193"] = [156,113] let s:lib.Codec.encoding_table["50194"] = [156,114] let s:lib.Codec.encoding_table["50195"] = [156,115] let s:lib.Codec.encoding_table["50196"] = [156,116] let s:lib.Codec.encoding_table["50197"] = [156,117] let s:lib.Codec.encoding_table["50198"] = [156,118] let s:lib.Codec.encoding_table["50199"] = [156,119] let s:lib.Codec.encoding_table["50200"] = [156,120] let s:lib.Codec.encoding_table["50201"] = [156,121] let s:lib.Codec.encoding_table["50202"] = [156,122] let s:lib.Codec.encoding_table["50203"] = [156,129] let s:lib.Codec.encoding_table["50204"] = [156,130] let s:lib.Codec.encoding_table["50205"] = [156,131] let s:lib.Codec.encoding_table["50206"] = [156,132] let s:lib.Codec.encoding_table["50207"] = [156,133] let s:lib.Codec.encoding_table["50208"] = [156,134] let s:lib.Codec.encoding_table["50209"] = [156,135] let s:lib.Codec.encoding_table["50210"] = [156,136] let s:lib.Codec.encoding_table["50211"] = [156,137] let s:lib.Codec.encoding_table["50213"] = [156,138] let s:lib.Codec.encoding_table["50214"] = [156,139] let s:lib.Codec.encoding_table["50215"] = [156,140] let s:lib.Codec.encoding_table["50216"] = [156,141] let s:lib.Codec.encoding_table["50217"] = [156,142] let s:lib.Codec.encoding_table["50218"] = [156,143] let s:lib.Codec.encoding_table["50219"] = [156,144] let s:lib.Codec.encoding_table["50221"] = [156,145] let s:lib.Codec.encoding_table["50222"] = [156,146] let s:lib.Codec.encoding_table["50223"] = [156,147] let s:lib.Codec.encoding_table["50225"] = [156,148] let s:lib.Codec.encoding_table["50226"] = [156,149] let s:lib.Codec.encoding_table["50227"] = [156,150] let s:lib.Codec.encoding_table["50229"] = [156,151] let s:lib.Codec.encoding_table["50230"] = [156,152] let s:lib.Codec.encoding_table["50231"] = [156,153] let s:lib.Codec.encoding_table["50232"] = [156,154] let s:lib.Codec.encoding_table["50233"] = [156,155] let s:lib.Codec.encoding_table["50234"] = [156,156] let s:lib.Codec.encoding_table["50235"] = [156,157] let s:lib.Codec.encoding_table["50238"] = [156,158] let s:lib.Codec.encoding_table["50239"] = [156,159] let s:lib.Codec.encoding_table["50240"] = [156,160] let s:lib.Codec.encoding_table["50241"] = [156,161] let s:lib.Codec.encoding_table["50242"] = [156,162] let s:lib.Codec.encoding_table["50243"] = [156,163] let s:lib.Codec.encoding_table["50244"] = [156,164] let s:lib.Codec.encoding_table["50245"] = [156,165] let s:lib.Codec.encoding_table["50246"] = [156,166] let s:lib.Codec.encoding_table["50247"] = [156,167] let s:lib.Codec.encoding_table["50249"] = [156,168] let s:lib.Codec.encoding_table["50250"] = [156,169] let s:lib.Codec.encoding_table["50251"] = [156,170] let s:lib.Codec.encoding_table["50252"] = [156,171] let s:lib.Codec.encoding_table["50253"] = [156,172] let s:lib.Codec.encoding_table["50254"] = [156,173] let s:lib.Codec.encoding_table["50255"] = [156,174] let s:lib.Codec.encoding_table["50256"] = [156,175] let s:lib.Codec.encoding_table["50257"] = [156,176] let s:lib.Codec.encoding_table["50258"] = [156,177] let s:lib.Codec.encoding_table["50259"] = [156,178] let s:lib.Codec.encoding_table["50260"] = [156,179] let s:lib.Codec.encoding_table["50261"] = [156,180] let s:lib.Codec.encoding_table["50262"] = [156,181] let s:lib.Codec.encoding_table["50263"] = [156,182] let s:lib.Codec.encoding_table["50264"] = [156,183] let s:lib.Codec.encoding_table["50265"] = [156,184] let s:lib.Codec.encoding_table["50266"] = [156,185] let s:lib.Codec.encoding_table["50267"] = [156,186] let s:lib.Codec.encoding_table["50268"] = [156,187] let s:lib.Codec.encoding_table["50269"] = [156,188] let s:lib.Codec.encoding_table["50270"] = [156,189] let s:lib.Codec.encoding_table["50271"] = [156,190] let s:lib.Codec.encoding_table["50272"] = [156,191] let s:lib.Codec.encoding_table["50273"] = [156,192] let s:lib.Codec.encoding_table["50274"] = [156,193] let s:lib.Codec.encoding_table["50275"] = [156,194] let s:lib.Codec.encoding_table["50278"] = [156,195] let s:lib.Codec.encoding_table["50279"] = [156,196] let s:lib.Codec.encoding_table["50281"] = [156,197] let s:lib.Codec.encoding_table["50282"] = [156,198] let s:lib.Codec.encoding_table["50283"] = [156,199] let s:lib.Codec.encoding_table["50285"] = [156,200] let s:lib.Codec.encoding_table["50286"] = [156,201] let s:lib.Codec.encoding_table["50287"] = [156,202] let s:lib.Codec.encoding_table["50288"] = [156,203] let s:lib.Codec.encoding_table["50289"] = [156,204] let s:lib.Codec.encoding_table["50290"] = [156,205] let s:lib.Codec.encoding_table["50291"] = [156,206] let s:lib.Codec.encoding_table["50294"] = [156,207] let s:lib.Codec.encoding_table["50295"] = [156,208] let s:lib.Codec.encoding_table["50296"] = [156,209] let s:lib.Codec.encoding_table["50298"] = [156,210] let s:lib.Codec.encoding_table["50299"] = [156,211] let s:lib.Codec.encoding_table["50300"] = [156,212] let s:lib.Codec.encoding_table["50301"] = [156,213] let s:lib.Codec.encoding_table["50302"] = [156,214] let s:lib.Codec.encoding_table["50303"] = [156,215] let s:lib.Codec.encoding_table["50305"] = [156,216] let s:lib.Codec.encoding_table["50306"] = [156,217] let s:lib.Codec.encoding_table["50307"] = [156,218] let s:lib.Codec.encoding_table["50308"] = [156,219] let s:lib.Codec.encoding_table["50309"] = [156,220] let s:lib.Codec.encoding_table["50310"] = [156,221] let s:lib.Codec.encoding_table["50311"] = [156,222] let s:lib.Codec.encoding_table["50312"] = [156,223] let s:lib.Codec.encoding_table["50313"] = [156,224] let s:lib.Codec.encoding_table["50314"] = [156,225] let s:lib.Codec.encoding_table["50315"] = [156,226] let s:lib.Codec.encoding_table["50316"] = [156,227] let s:lib.Codec.encoding_table["50317"] = [156,228] let s:lib.Codec.encoding_table["50318"] = [156,229] let s:lib.Codec.encoding_table["50319"] = [156,230] let s:lib.Codec.encoding_table["50320"] = [156,231] let s:lib.Codec.encoding_table["50321"] = [156,232] let s:lib.Codec.encoding_table["50322"] = [156,233] let s:lib.Codec.encoding_table["50323"] = [156,234] let s:lib.Codec.encoding_table["50325"] = [156,235] let s:lib.Codec.encoding_table["50326"] = [156,236] let s:lib.Codec.encoding_table["50327"] = [156,237] let s:lib.Codec.encoding_table["50328"] = [156,238] let s:lib.Codec.encoding_table["50329"] = [156,239] let s:lib.Codec.encoding_table["50330"] = [156,240] let s:lib.Codec.encoding_table["50331"] = [156,241] let s:lib.Codec.encoding_table["50333"] = [156,242] let s:lib.Codec.encoding_table["50334"] = [156,243] let s:lib.Codec.encoding_table["50335"] = [156,244] let s:lib.Codec.encoding_table["50336"] = [156,245] let s:lib.Codec.encoding_table["50337"] = [156,246] let s:lib.Codec.encoding_table["50338"] = [156,247] let s:lib.Codec.encoding_table["50339"] = [156,248] let s:lib.Codec.encoding_table["50340"] = [156,249] let s:lib.Codec.encoding_table["50341"] = [156,250] let s:lib.Codec.encoding_table["50342"] = [156,251] let s:lib.Codec.encoding_table["50343"] = [156,252] let s:lib.Codec.encoding_table["50344"] = [156,253] let s:lib.Codec.encoding_table["50345"] = [156,254] let s:lib.Codec.encoding_table["50346"] = [157,65] let s:lib.Codec.encoding_table["50347"] = [157,66] let s:lib.Codec.encoding_table["50348"] = [157,67] let s:lib.Codec.encoding_table["50349"] = [157,68] let s:lib.Codec.encoding_table["50350"] = [157,69] let s:lib.Codec.encoding_table["50351"] = [157,70] let s:lib.Codec.encoding_table["50352"] = [157,71] let s:lib.Codec.encoding_table["50353"] = [157,72] let s:lib.Codec.encoding_table["50354"] = [157,73] let s:lib.Codec.encoding_table["50355"] = [157,74] let s:lib.Codec.encoding_table["50356"] = [157,75] let s:lib.Codec.encoding_table["50357"] = [157,76] let s:lib.Codec.encoding_table["50358"] = [157,77] let s:lib.Codec.encoding_table["50359"] = [157,78] let s:lib.Codec.encoding_table["50361"] = [157,79] let s:lib.Codec.encoding_table["50362"] = [157,80] let s:lib.Codec.encoding_table["50363"] = [157,81] let s:lib.Codec.encoding_table["50365"] = [157,82] let s:lib.Codec.encoding_table["50366"] = [157,83] let s:lib.Codec.encoding_table["50367"] = [157,84] let s:lib.Codec.encoding_table["50368"] = [157,85] let s:lib.Codec.encoding_table["50369"] = [157,86] let s:lib.Codec.encoding_table["50370"] = [157,87] let s:lib.Codec.encoding_table["50371"] = [157,88] let s:lib.Codec.encoding_table["50372"] = [157,89] let s:lib.Codec.encoding_table["50373"] = [157,90] let s:lib.Codec.encoding_table["50374"] = [157,97] let s:lib.Codec.encoding_table["50375"] = [157,98] let s:lib.Codec.encoding_table["50376"] = [157,99] let s:lib.Codec.encoding_table["50377"] = [157,100] let s:lib.Codec.encoding_table["50378"] = [157,101] let s:lib.Codec.encoding_table["50379"] = [157,102] let s:lib.Codec.encoding_table["50380"] = [157,103] let s:lib.Codec.encoding_table["50381"] = [157,104] let s:lib.Codec.encoding_table["50382"] = [157,105] let s:lib.Codec.encoding_table["50383"] = [157,106] let s:lib.Codec.encoding_table["50384"] = [157,107] let s:lib.Codec.encoding_table["50385"] = [157,108] let s:lib.Codec.encoding_table["50386"] = [157,109] let s:lib.Codec.encoding_table["50387"] = [157,110] let s:lib.Codec.encoding_table["50388"] = [157,111] let s:lib.Codec.encoding_table["50389"] = [157,112] let s:lib.Codec.encoding_table["50390"] = [157,113] let s:lib.Codec.encoding_table["50391"] = [157,114] let s:lib.Codec.encoding_table["50392"] = [157,115] let s:lib.Codec.encoding_table["50393"] = [157,116] let s:lib.Codec.encoding_table["50394"] = [157,117] let s:lib.Codec.encoding_table["50395"] = [157,118] let s:lib.Codec.encoding_table["50396"] = [157,119] let s:lib.Codec.encoding_table["50397"] = [157,120] let s:lib.Codec.encoding_table["50398"] = [157,121] let s:lib.Codec.encoding_table["50399"] = [157,122] let s:lib.Codec.encoding_table["50400"] = [157,129] let s:lib.Codec.encoding_table["50401"] = [157,130] let s:lib.Codec.encoding_table["50402"] = [157,131] let s:lib.Codec.encoding_table["50403"] = [157,132] let s:lib.Codec.encoding_table["50404"] = [157,133] let s:lib.Codec.encoding_table["50405"] = [157,134] let s:lib.Codec.encoding_table["50406"] = [157,135] let s:lib.Codec.encoding_table["50407"] = [157,136] let s:lib.Codec.encoding_table["50408"] = [157,137] let s:lib.Codec.encoding_table["50410"] = [157,138] let s:lib.Codec.encoding_table["50411"] = [157,139] let s:lib.Codec.encoding_table["50412"] = [157,140] let s:lib.Codec.encoding_table["50413"] = [157,141] let s:lib.Codec.encoding_table["50414"] = [157,142] let s:lib.Codec.encoding_table["50415"] = [157,143] let s:lib.Codec.encoding_table["50418"] = [157,144] let s:lib.Codec.encoding_table["50419"] = [157,145] let s:lib.Codec.encoding_table["50421"] = [157,146] let s:lib.Codec.encoding_table["50422"] = [157,147] let s:lib.Codec.encoding_table["50423"] = [157,148] let s:lib.Codec.encoding_table["50425"] = [157,149] let s:lib.Codec.encoding_table["50427"] = [157,150] let s:lib.Codec.encoding_table["50428"] = [157,151] let s:lib.Codec.encoding_table["50429"] = [157,152] let s:lib.Codec.encoding_table["50430"] = [157,153] let s:lib.Codec.encoding_table["50434"] = [157,154] let s:lib.Codec.encoding_table["50435"] = [157,155] let s:lib.Codec.encoding_table["50436"] = [157,156] let s:lib.Codec.encoding_table["50437"] = [157,157] let s:lib.Codec.encoding_table["50438"] = [157,158] let s:lib.Codec.encoding_table["50439"] = [157,159] let s:lib.Codec.encoding_table["50440"] = [157,160] let s:lib.Codec.encoding_table["50441"] = [157,161] let s:lib.Codec.encoding_table["50442"] = [157,162] let s:lib.Codec.encoding_table["50443"] = [157,163] let s:lib.Codec.encoding_table["50445"] = [157,164] let s:lib.Codec.encoding_table["50446"] = [157,165] let s:lib.Codec.encoding_table["50447"] = [157,166] let s:lib.Codec.encoding_table["50449"] = [157,167] let s:lib.Codec.encoding_table["50450"] = [157,168] let s:lib.Codec.encoding_table["50451"] = [157,169] let s:lib.Codec.encoding_table["50453"] = [157,170] let s:lib.Codec.encoding_table["50454"] = [157,171] let s:lib.Codec.encoding_table["50455"] = [157,172] let s:lib.Codec.encoding_table["50456"] = [157,173] let s:lib.Codec.encoding_table["50457"] = [157,174] let s:lib.Codec.encoding_table["50458"] = [157,175] let s:lib.Codec.encoding_table["50459"] = [157,176] let s:lib.Codec.encoding_table["50461"] = [157,177] let s:lib.Codec.encoding_table["50462"] = [157,178] let s:lib.Codec.encoding_table["50463"] = [157,179] let s:lib.Codec.encoding_table["50464"] = [157,180] let s:lib.Codec.encoding_table["50465"] = [157,181] let s:lib.Codec.encoding_table["50466"] = [157,182] let s:lib.Codec.encoding_table["50467"] = [157,183] let s:lib.Codec.encoding_table["50468"] = [157,184] let s:lib.Codec.encoding_table["50469"] = [157,185] let s:lib.Codec.encoding_table["50470"] = [157,186] let s:lib.Codec.encoding_table["50471"] = [157,187] let s:lib.Codec.encoding_table["50474"] = [157,188] let s:lib.Codec.encoding_table["50475"] = [157,189] let s:lib.Codec.encoding_table["50477"] = [157,190] let s:lib.Codec.encoding_table["50478"] = [157,191] let s:lib.Codec.encoding_table["50479"] = [157,192] let s:lib.Codec.encoding_table["50481"] = [157,193] let s:lib.Codec.encoding_table["50482"] = [157,194] let s:lib.Codec.encoding_table["50483"] = [157,195] let s:lib.Codec.encoding_table["50484"] = [157,196] let s:lib.Codec.encoding_table["50485"] = [157,197] let s:lib.Codec.encoding_table["50486"] = [157,198] let s:lib.Codec.encoding_table["50487"] = [157,199] let s:lib.Codec.encoding_table["50490"] = [157,200] let s:lib.Codec.encoding_table["50492"] = [157,201] let s:lib.Codec.encoding_table["50494"] = [157,202] let s:lib.Codec.encoding_table["50495"] = [157,203] let s:lib.Codec.encoding_table["50496"] = [157,204] let s:lib.Codec.encoding_table["50497"] = [157,205] let s:lib.Codec.encoding_table["50498"] = [157,206] let s:lib.Codec.encoding_table["50499"] = [157,207] let s:lib.Codec.encoding_table["50502"] = [157,208] let s:lib.Codec.encoding_table["50503"] = [157,209] let s:lib.Codec.encoding_table["50507"] = [157,210] let s:lib.Codec.encoding_table["50511"] = [157,211] let s:lib.Codec.encoding_table["50512"] = [157,212] let s:lib.Codec.encoding_table["50513"] = [157,213] let s:lib.Codec.encoding_table["50514"] = [157,214] let s:lib.Codec.encoding_table["50518"] = [157,215] let s:lib.Codec.encoding_table["50522"] = [157,216] let s:lib.Codec.encoding_table["50523"] = [157,217] let s:lib.Codec.encoding_table["50524"] = [157,218] let s:lib.Codec.encoding_table["50527"] = [157,219] let s:lib.Codec.encoding_table["50530"] = [157,220] let s:lib.Codec.encoding_table["50531"] = [157,221] let s:lib.Codec.encoding_table["50533"] = [157,222] let s:lib.Codec.encoding_table["50534"] = [157,223] let s:lib.Codec.encoding_table["50535"] = [157,224] let s:lib.Codec.encoding_table["50537"] = [157,225] let s:lib.Codec.encoding_table["50538"] = [157,226] let s:lib.Codec.encoding_table["50539"] = [157,227] let s:lib.Codec.encoding_table["50540"] = [157,228] let s:lib.Codec.encoding_table["50541"] = [157,229] let s:lib.Codec.encoding_table["50542"] = [157,230] let s:lib.Codec.encoding_table["50543"] = [157,231] let s:lib.Codec.encoding_table["50546"] = [157,232] let s:lib.Codec.encoding_table["50550"] = [157,233] let s:lib.Codec.encoding_table["50551"] = [157,234] let s:lib.Codec.encoding_table["50552"] = [157,235] let s:lib.Codec.encoding_table["50553"] = [157,236] let s:lib.Codec.encoding_table["50554"] = [157,237] let s:lib.Codec.encoding_table["50555"] = [157,238] let s:lib.Codec.encoding_table["50558"] = [157,239] let s:lib.Codec.encoding_table["50559"] = [157,240] let s:lib.Codec.encoding_table["50561"] = [157,241] let s:lib.Codec.encoding_table["50562"] = [157,242] let s:lib.Codec.encoding_table["50563"] = [157,243] let s:lib.Codec.encoding_table["50565"] = [157,244] let s:lib.Codec.encoding_table["50566"] = [157,245] let s:lib.Codec.encoding_table["50568"] = [157,246] let s:lib.Codec.encoding_table["50569"] = [157,247] let s:lib.Codec.encoding_table["50570"] = [157,248] let s:lib.Codec.encoding_table["50571"] = [157,249] let s:lib.Codec.encoding_table["50574"] = [157,250] let s:lib.Codec.encoding_table["50576"] = [157,251] let s:lib.Codec.encoding_table["50578"] = [157,252] let s:lib.Codec.encoding_table["50579"] = [157,253] let s:lib.Codec.encoding_table["50580"] = [157,254] let s:lib.Codec.encoding_table["50582"] = [158,65] let s:lib.Codec.encoding_table["50585"] = [158,66] let s:lib.Codec.encoding_table["50586"] = [158,67] let s:lib.Codec.encoding_table["50587"] = [158,68] let s:lib.Codec.encoding_table["50589"] = [158,69] let s:lib.Codec.encoding_table["50590"] = [158,70] let s:lib.Codec.encoding_table["50591"] = [158,71] let s:lib.Codec.encoding_table["50593"] = [158,72] let s:lib.Codec.encoding_table["50594"] = [158,73] let s:lib.Codec.encoding_table["50595"] = [158,74] let s:lib.Codec.encoding_table["50596"] = [158,75] let s:lib.Codec.encoding_table["50597"] = [158,76] let s:lib.Codec.encoding_table["50598"] = [158,77] let s:lib.Codec.encoding_table["50599"] = [158,78] let s:lib.Codec.encoding_table["50600"] = [158,79] let s:lib.Codec.encoding_table["50602"] = [158,80] let s:lib.Codec.encoding_table["50603"] = [158,81] let s:lib.Codec.encoding_table["50604"] = [158,82] let s:lib.Codec.encoding_table["50605"] = [158,83] let s:lib.Codec.encoding_table["50606"] = [158,84] let s:lib.Codec.encoding_table["50607"] = [158,85] let s:lib.Codec.encoding_table["50608"] = [158,86] let s:lib.Codec.encoding_table["50609"] = [158,87] let s:lib.Codec.encoding_table["50610"] = [158,88] let s:lib.Codec.encoding_table["50611"] = [158,89] let s:lib.Codec.encoding_table["50614"] = [158,90] let s:lib.Codec.encoding_table["50615"] = [158,97] let s:lib.Codec.encoding_table["50618"] = [158,98] let s:lib.Codec.encoding_table["50623"] = [158,99] let s:lib.Codec.encoding_table["50624"] = [158,100] let s:lib.Codec.encoding_table["50625"] = [158,101] let s:lib.Codec.encoding_table["50626"] = [158,102] let s:lib.Codec.encoding_table["50627"] = [158,103] let s:lib.Codec.encoding_table["50635"] = [158,104] let s:lib.Codec.encoding_table["50637"] = [158,105] let s:lib.Codec.encoding_table["50639"] = [158,106] let s:lib.Codec.encoding_table["50642"] = [158,107] let s:lib.Codec.encoding_table["50643"] = [158,108] let s:lib.Codec.encoding_table["50645"] = [158,109] let s:lib.Codec.encoding_table["50646"] = [158,110] let s:lib.Codec.encoding_table["50647"] = [158,111] let s:lib.Codec.encoding_table["50649"] = [158,112] let s:lib.Codec.encoding_table["50650"] = [158,113] let s:lib.Codec.encoding_table["50651"] = [158,114] let s:lib.Codec.encoding_table["50652"] = [158,115] let s:lib.Codec.encoding_table["50653"] = [158,116] let s:lib.Codec.encoding_table["50654"] = [158,117] let s:lib.Codec.encoding_table["50655"] = [158,118] let s:lib.Codec.encoding_table["50658"] = [158,119] let s:lib.Codec.encoding_table["50660"] = [158,120] let s:lib.Codec.encoding_table["50662"] = [158,121] let s:lib.Codec.encoding_table["50663"] = [158,122] let s:lib.Codec.encoding_table["50664"] = [158,129] let s:lib.Codec.encoding_table["50665"] = [158,130] let s:lib.Codec.encoding_table["50666"] = [158,131] let s:lib.Codec.encoding_table["50667"] = [158,132] let s:lib.Codec.encoding_table["50671"] = [158,133] let s:lib.Codec.encoding_table["50673"] = [158,134] let s:lib.Codec.encoding_table["50674"] = [158,135] let s:lib.Codec.encoding_table["50675"] = [158,136] let s:lib.Codec.encoding_table["50677"] = [158,137] let s:lib.Codec.encoding_table["50680"] = [158,138] let s:lib.Codec.encoding_table["50681"] = [158,139] let s:lib.Codec.encoding_table["50682"] = [158,140] let s:lib.Codec.encoding_table["50683"] = [158,141] let s:lib.Codec.encoding_table["50690"] = [158,142] let s:lib.Codec.encoding_table["50691"] = [158,143] let s:lib.Codec.encoding_table["50692"] = [158,144] let s:lib.Codec.encoding_table["50697"] = [158,145] let s:lib.Codec.encoding_table["50698"] = [158,146] let s:lib.Codec.encoding_table["50699"] = [158,147] let s:lib.Codec.encoding_table["50701"] = [158,148] let s:lib.Codec.encoding_table["50702"] = [158,149] let s:lib.Codec.encoding_table["50703"] = [158,150] let s:lib.Codec.encoding_table["50705"] = [158,151] let s:lib.Codec.encoding_table["50706"] = [158,152] let s:lib.Codec.encoding_table["50707"] = [158,153] let s:lib.Codec.encoding_table["50708"] = [158,154] let s:lib.Codec.encoding_table["50709"] = [158,155] let s:lib.Codec.encoding_table["50710"] = [158,156] let s:lib.Codec.encoding_table["50711"] = [158,157] let s:lib.Codec.encoding_table["50714"] = [158,158] let s:lib.Codec.encoding_table["50717"] = [158,159] let s:lib.Codec.encoding_table["50718"] = [158,160] let s:lib.Codec.encoding_table["50719"] = [158,161] let s:lib.Codec.encoding_table["50720"] = [158,162] let s:lib.Codec.encoding_table["50721"] = [158,163] let s:lib.Codec.encoding_table["50722"] = [158,164] let s:lib.Codec.encoding_table["50723"] = [158,165] let s:lib.Codec.encoding_table["50726"] = [158,166] let s:lib.Codec.encoding_table["50727"] = [158,167] let s:lib.Codec.encoding_table["50729"] = [158,168] let s:lib.Codec.encoding_table["50730"] = [158,169] let s:lib.Codec.encoding_table["50731"] = [158,170] let s:lib.Codec.encoding_table["50735"] = [158,171] let s:lib.Codec.encoding_table["50737"] = [158,172] let s:lib.Codec.encoding_table["50738"] = [158,173] let s:lib.Codec.encoding_table["50742"] = [158,174] let s:lib.Codec.encoding_table["50744"] = [158,175] let s:lib.Codec.encoding_table["50746"] = [158,176] let s:lib.Codec.encoding_table["50748"] = [158,177] let s:lib.Codec.encoding_table["50749"] = [158,178] let s:lib.Codec.encoding_table["50750"] = [158,179] let s:lib.Codec.encoding_table["50751"] = [158,180] let s:lib.Codec.encoding_table["50754"] = [158,181] let s:lib.Codec.encoding_table["50755"] = [158,182] let s:lib.Codec.encoding_table["50757"] = [158,183] let s:lib.Codec.encoding_table["50758"] = [158,184] let s:lib.Codec.encoding_table["50759"] = [158,185] let s:lib.Codec.encoding_table["50761"] = [158,186] let s:lib.Codec.encoding_table["50762"] = [158,187] let s:lib.Codec.encoding_table["50763"] = [158,188] let s:lib.Codec.encoding_table["50764"] = [158,189] let s:lib.Codec.encoding_table["50765"] = [158,190] let s:lib.Codec.encoding_table["50766"] = [158,191] let s:lib.Codec.encoding_table["50767"] = [158,192] let s:lib.Codec.encoding_table["50770"] = [158,193] let s:lib.Codec.encoding_table["50774"] = [158,194] let s:lib.Codec.encoding_table["50775"] = [158,195] let s:lib.Codec.encoding_table["50776"] = [158,196] let s:lib.Codec.encoding_table["50777"] = [158,197] let s:lib.Codec.encoding_table["50778"] = [158,198] let s:lib.Codec.encoding_table["50779"] = [158,199] let s:lib.Codec.encoding_table["50782"] = [158,200] let s:lib.Codec.encoding_table["50783"] = [158,201] let s:lib.Codec.encoding_table["50785"] = [158,202] let s:lib.Codec.encoding_table["50786"] = [158,203] let s:lib.Codec.encoding_table["50787"] = [158,204] let s:lib.Codec.encoding_table["50788"] = [158,205] let s:lib.Codec.encoding_table["50789"] = [158,206] let s:lib.Codec.encoding_table["50790"] = [158,207] let s:lib.Codec.encoding_table["50791"] = [158,208] let s:lib.Codec.encoding_table["50792"] = [158,209] let s:lib.Codec.encoding_table["50793"] = [158,210] let s:lib.Codec.encoding_table["50794"] = [158,211] let s:lib.Codec.encoding_table["50795"] = [158,212] let s:lib.Codec.encoding_table["50797"] = [158,213] let s:lib.Codec.encoding_table["50798"] = [158,214] let s:lib.Codec.encoding_table["50800"] = [158,215] let s:lib.Codec.encoding_table["50802"] = [158,216] let s:lib.Codec.encoding_table["50803"] = [158,217] let s:lib.Codec.encoding_table["50804"] = [158,218] let s:lib.Codec.encoding_table["50805"] = [158,219] let s:lib.Codec.encoding_table["50806"] = [158,220] let s:lib.Codec.encoding_table["50807"] = [158,221] let s:lib.Codec.encoding_table["50810"] = [158,222] let s:lib.Codec.encoding_table["50811"] = [158,223] let s:lib.Codec.encoding_table["50813"] = [158,224] let s:lib.Codec.encoding_table["50814"] = [158,225] let s:lib.Codec.encoding_table["50815"] = [158,226] let s:lib.Codec.encoding_table["50817"] = [158,227] let s:lib.Codec.encoding_table["50818"] = [158,228] let s:lib.Codec.encoding_table["50819"] = [158,229] let s:lib.Codec.encoding_table["50820"] = [158,230] let s:lib.Codec.encoding_table["50821"] = [158,231] let s:lib.Codec.encoding_table["50822"] = [158,232] let s:lib.Codec.encoding_table["50823"] = [158,233] let s:lib.Codec.encoding_table["50826"] = [158,234] let s:lib.Codec.encoding_table["50828"] = [158,235] let s:lib.Codec.encoding_table["50830"] = [158,236] let s:lib.Codec.encoding_table["50831"] = [158,237] let s:lib.Codec.encoding_table["50832"] = [158,238] let s:lib.Codec.encoding_table["50833"] = [158,239] let s:lib.Codec.encoding_table["50834"] = [158,240] let s:lib.Codec.encoding_table["50835"] = [158,241] let s:lib.Codec.encoding_table["50838"] = [158,242] let s:lib.Codec.encoding_table["50839"] = [158,243] let s:lib.Codec.encoding_table["50841"] = [158,244] let s:lib.Codec.encoding_table["50842"] = [158,245] let s:lib.Codec.encoding_table["50843"] = [158,246] let s:lib.Codec.encoding_table["50845"] = [158,247] let s:lib.Codec.encoding_table["50846"] = [158,248] let s:lib.Codec.encoding_table["50847"] = [158,249] let s:lib.Codec.encoding_table["50848"] = [158,250] let s:lib.Codec.encoding_table["50849"] = [158,251] let s:lib.Codec.encoding_table["50850"] = [158,252] let s:lib.Codec.encoding_table["50851"] = [158,253] let s:lib.Codec.encoding_table["50854"] = [158,254] let s:lib.Codec.encoding_table["50856"] = [159,65] let s:lib.Codec.encoding_table["50858"] = [159,66] let s:lib.Codec.encoding_table["50859"] = [159,67] let s:lib.Codec.encoding_table["50860"] = [159,68] let s:lib.Codec.encoding_table["50861"] = [159,69] let s:lib.Codec.encoding_table["50862"] = [159,70] let s:lib.Codec.encoding_table["50863"] = [159,71] let s:lib.Codec.encoding_table["50866"] = [159,72] let s:lib.Codec.encoding_table["50867"] = [159,73] let s:lib.Codec.encoding_table["50869"] = [159,74] let s:lib.Codec.encoding_table["50870"] = [159,75] let s:lib.Codec.encoding_table["50871"] = [159,76] let s:lib.Codec.encoding_table["50875"] = [159,77] let s:lib.Codec.encoding_table["50876"] = [159,78] let s:lib.Codec.encoding_table["50877"] = [159,79] let s:lib.Codec.encoding_table["50878"] = [159,80] let s:lib.Codec.encoding_table["50879"] = [159,81] let s:lib.Codec.encoding_table["50882"] = [159,82] let s:lib.Codec.encoding_table["50884"] = [159,83] let s:lib.Codec.encoding_table["50886"] = [159,84] let s:lib.Codec.encoding_table["50887"] = [159,85] let s:lib.Codec.encoding_table["50888"] = [159,86] let s:lib.Codec.encoding_table["50889"] = [159,87] let s:lib.Codec.encoding_table["50890"] = [159,88] let s:lib.Codec.encoding_table["50891"] = [159,89] let s:lib.Codec.encoding_table["50894"] = [159,90] let s:lib.Codec.encoding_table["50895"] = [159,97] let s:lib.Codec.encoding_table["50897"] = [159,98] let s:lib.Codec.encoding_table["50898"] = [159,99] let s:lib.Codec.encoding_table["50899"] = [159,100] let s:lib.Codec.encoding_table["50901"] = [159,101] let s:lib.Codec.encoding_table["50902"] = [159,102] let s:lib.Codec.encoding_table["50903"] = [159,103] let s:lib.Codec.encoding_table["50904"] = [159,104] let s:lib.Codec.encoding_table["50905"] = [159,105] let s:lib.Codec.encoding_table["50906"] = [159,106] let s:lib.Codec.encoding_table["50907"] = [159,107] let s:lib.Codec.encoding_table["50910"] = [159,108] let s:lib.Codec.encoding_table["50911"] = [159,109] let s:lib.Codec.encoding_table["50914"] = [159,110] let s:lib.Codec.encoding_table["50915"] = [159,111] let s:lib.Codec.encoding_table["50916"] = [159,112] let s:lib.Codec.encoding_table["50917"] = [159,113] let s:lib.Codec.encoding_table["50918"] = [159,114] let s:lib.Codec.encoding_table["50919"] = [159,115] let s:lib.Codec.encoding_table["50922"] = [159,116] let s:lib.Codec.encoding_table["50923"] = [159,117] let s:lib.Codec.encoding_table["50925"] = [159,118] let s:lib.Codec.encoding_table["50926"] = [159,119] let s:lib.Codec.encoding_table["50927"] = [159,120] let s:lib.Codec.encoding_table["50929"] = [159,121] let s:lib.Codec.encoding_table["50930"] = [159,122] let s:lib.Codec.encoding_table["50931"] = [159,129] let s:lib.Codec.encoding_table["50932"] = [159,130] let s:lib.Codec.encoding_table["50933"] = [159,131] let s:lib.Codec.encoding_table["50934"] = [159,132] let s:lib.Codec.encoding_table["50935"] = [159,133] let s:lib.Codec.encoding_table["50938"] = [159,134] let s:lib.Codec.encoding_table["50939"] = [159,135] let s:lib.Codec.encoding_table["50940"] = [159,136] let s:lib.Codec.encoding_table["50942"] = [159,137] let s:lib.Codec.encoding_table["50943"] = [159,138] let s:lib.Codec.encoding_table["50944"] = [159,139] let s:lib.Codec.encoding_table["50945"] = [159,140] let s:lib.Codec.encoding_table["50946"] = [159,141] let s:lib.Codec.encoding_table["50947"] = [159,142] let s:lib.Codec.encoding_table["50950"] = [159,143] let s:lib.Codec.encoding_table["50951"] = [159,144] let s:lib.Codec.encoding_table["50953"] = [159,145] let s:lib.Codec.encoding_table["50954"] = [159,146] let s:lib.Codec.encoding_table["50955"] = [159,147] let s:lib.Codec.encoding_table["50957"] = [159,148] let s:lib.Codec.encoding_table["50958"] = [159,149] let s:lib.Codec.encoding_table["50959"] = [159,150] let s:lib.Codec.encoding_table["50960"] = [159,151] let s:lib.Codec.encoding_table["50961"] = [159,152] let s:lib.Codec.encoding_table["50962"] = [159,153] let s:lib.Codec.encoding_table["50963"] = [159,154] let s:lib.Codec.encoding_table["50966"] = [159,155] let s:lib.Codec.encoding_table["50968"] = [159,156] let s:lib.Codec.encoding_table["50970"] = [159,157] let s:lib.Codec.encoding_table["50971"] = [159,158] let s:lib.Codec.encoding_table["50972"] = [159,159] let s:lib.Codec.encoding_table["50973"] = [159,160] let s:lib.Codec.encoding_table["50974"] = [159,161] let s:lib.Codec.encoding_table["50975"] = [159,162] let s:lib.Codec.encoding_table["50978"] = [159,163] let s:lib.Codec.encoding_table["50979"] = [159,164] let s:lib.Codec.encoding_table["50981"] = [159,165] let s:lib.Codec.encoding_table["50982"] = [159,166] let s:lib.Codec.encoding_table["50983"] = [159,167] let s:lib.Codec.encoding_table["50985"] = [159,168] let s:lib.Codec.encoding_table["50986"] = [159,169] let s:lib.Codec.encoding_table["50987"] = [159,170] let s:lib.Codec.encoding_table["50988"] = [159,171] let s:lib.Codec.encoding_table["50989"] = [159,172] let s:lib.Codec.encoding_table["50990"] = [159,173] let s:lib.Codec.encoding_table["50991"] = [159,174] let s:lib.Codec.encoding_table["50994"] = [159,175] let s:lib.Codec.encoding_table["50996"] = [159,176] let s:lib.Codec.encoding_table["50998"] = [159,177] let s:lib.Codec.encoding_table["51000"] = [159,178] let s:lib.Codec.encoding_table["51001"] = [159,179] let s:lib.Codec.encoding_table["51002"] = [159,180] let s:lib.Codec.encoding_table["51003"] = [159,181] let s:lib.Codec.encoding_table["51006"] = [159,182] let s:lib.Codec.encoding_table["51007"] = [159,183] let s:lib.Codec.encoding_table["51009"] = [159,184] let s:lib.Codec.encoding_table["51010"] = [159,185] let s:lib.Codec.encoding_table["51011"] = [159,186] let s:lib.Codec.encoding_table["51013"] = [159,187] let s:lib.Codec.encoding_table["51014"] = [159,188] let s:lib.Codec.encoding_table["51015"] = [159,189] let s:lib.Codec.encoding_table["51016"] = [159,190] let s:lib.Codec.encoding_table["51017"] = [159,191] let s:lib.Codec.encoding_table["51019"] = [159,192] let s:lib.Codec.encoding_table["51022"] = [159,193] let s:lib.Codec.encoding_table["51024"] = [159,194] let s:lib.Codec.encoding_table["51033"] = [159,195] let s:lib.Codec.encoding_table["51034"] = [159,196] let s:lib.Codec.encoding_table["51035"] = [159,197] let s:lib.Codec.encoding_table["51037"] = [159,198] let s:lib.Codec.encoding_table["51038"] = [159,199] let s:lib.Codec.encoding_table["51039"] = [159,200] let s:lib.Codec.encoding_table["51041"] = [159,201] let s:lib.Codec.encoding_table["51042"] = [159,202] let s:lib.Codec.encoding_table["51043"] = [159,203] let s:lib.Codec.encoding_table["51044"] = [159,204] let s:lib.Codec.encoding_table["51045"] = [159,205] let s:lib.Codec.encoding_table["51046"] = [159,206] let s:lib.Codec.encoding_table["51047"] = [159,207] let s:lib.Codec.encoding_table["51049"] = [159,208] let s:lib.Codec.encoding_table["51050"] = [159,209] let s:lib.Codec.encoding_table["51052"] = [159,210] let s:lib.Codec.encoding_table["51053"] = [159,211] let s:lib.Codec.encoding_table["51054"] = [159,212] let s:lib.Codec.encoding_table["51055"] = [159,213] let s:lib.Codec.encoding_table["51056"] = [159,214] let s:lib.Codec.encoding_table["51057"] = [159,215] let s:lib.Codec.encoding_table["51058"] = [159,216] let s:lib.Codec.encoding_table["51059"] = [159,217] let s:lib.Codec.encoding_table["51062"] = [159,218] let s:lib.Codec.encoding_table["51063"] = [159,219] let s:lib.Codec.encoding_table["51065"] = [159,220] let s:lib.Codec.encoding_table["51066"] = [159,221] let s:lib.Codec.encoding_table["51067"] = [159,222] let s:lib.Codec.encoding_table["51071"] = [159,223] let s:lib.Codec.encoding_table["51072"] = [159,224] let s:lib.Codec.encoding_table["51073"] = [159,225] let s:lib.Codec.encoding_table["51074"] = [159,226] let s:lib.Codec.encoding_table["51078"] = [159,227] let s:lib.Codec.encoding_table["51083"] = [159,228] let s:lib.Codec.encoding_table["51084"] = [159,229] let s:lib.Codec.encoding_table["51085"] = [159,230] let s:lib.Codec.encoding_table["51087"] = [159,231] let s:lib.Codec.encoding_table["51090"] = [159,232] let s:lib.Codec.encoding_table["51091"] = [159,233] let s:lib.Codec.encoding_table["51093"] = [159,234] let s:lib.Codec.encoding_table["51097"] = [159,235] let s:lib.Codec.encoding_table["51099"] = [159,236] let s:lib.Codec.encoding_table["51100"] = [159,237] let s:lib.Codec.encoding_table["51101"] = [159,238] let s:lib.Codec.encoding_table["51102"] = [159,239] let s:lib.Codec.encoding_table["51103"] = [159,240] let s:lib.Codec.encoding_table["51106"] = [159,241] let s:lib.Codec.encoding_table["51111"] = [159,242] let s:lib.Codec.encoding_table["51112"] = [159,243] let s:lib.Codec.encoding_table["51113"] = [159,244] let s:lib.Codec.encoding_table["51114"] = [159,245] let s:lib.Codec.encoding_table["51115"] = [159,246] let s:lib.Codec.encoding_table["51118"] = [159,247] let s:lib.Codec.encoding_table["51119"] = [159,248] let s:lib.Codec.encoding_table["51121"] = [159,249] let s:lib.Codec.encoding_table["51122"] = [159,250] let s:lib.Codec.encoding_table["51123"] = [159,251] let s:lib.Codec.encoding_table["51125"] = [159,252] let s:lib.Codec.encoding_table["51126"] = [159,253] let s:lib.Codec.encoding_table["51127"] = [159,254] let s:lib.Codec.encoding_table["51128"] = [160,65] let s:lib.Codec.encoding_table["51129"] = [160,66] let s:lib.Codec.encoding_table["51130"] = [160,67] let s:lib.Codec.encoding_table["51131"] = [160,68] let s:lib.Codec.encoding_table["51134"] = [160,69] let s:lib.Codec.encoding_table["51138"] = [160,70] let s:lib.Codec.encoding_table["51139"] = [160,71] let s:lib.Codec.encoding_table["51140"] = [160,72] let s:lib.Codec.encoding_table["51141"] = [160,73] let s:lib.Codec.encoding_table["51142"] = [160,74] let s:lib.Codec.encoding_table["51143"] = [160,75] let s:lib.Codec.encoding_table["51146"] = [160,76] let s:lib.Codec.encoding_table["51147"] = [160,77] let s:lib.Codec.encoding_table["51149"] = [160,78] let s:lib.Codec.encoding_table["51151"] = [160,79] let s:lib.Codec.encoding_table["51153"] = [160,80] let s:lib.Codec.encoding_table["51154"] = [160,81] let s:lib.Codec.encoding_table["51155"] = [160,82] let s:lib.Codec.encoding_table["51156"] = [160,83] let s:lib.Codec.encoding_table["51157"] = [160,84] let s:lib.Codec.encoding_table["51158"] = [160,85] let s:lib.Codec.encoding_table["51159"] = [160,86] let s:lib.Codec.encoding_table["51161"] = [160,87] let s:lib.Codec.encoding_table["51162"] = [160,88] let s:lib.Codec.encoding_table["51163"] = [160,89] let s:lib.Codec.encoding_table["51164"] = [160,90] let s:lib.Codec.encoding_table["51166"] = [160,97] let s:lib.Codec.encoding_table["51167"] = [160,98] let s:lib.Codec.encoding_table["51168"] = [160,99] let s:lib.Codec.encoding_table["51169"] = [160,100] let s:lib.Codec.encoding_table["51170"] = [160,101] let s:lib.Codec.encoding_table["51171"] = [160,102] let s:lib.Codec.encoding_table["51173"] = [160,103] let s:lib.Codec.encoding_table["51174"] = [160,104] let s:lib.Codec.encoding_table["51175"] = [160,105] let s:lib.Codec.encoding_table["51177"] = [160,106] let s:lib.Codec.encoding_table["51178"] = [160,107] let s:lib.Codec.encoding_table["51179"] = [160,108] let s:lib.Codec.encoding_table["51181"] = [160,109] let s:lib.Codec.encoding_table["51182"] = [160,110] let s:lib.Codec.encoding_table["51183"] = [160,111] let s:lib.Codec.encoding_table["51184"] = [160,112] let s:lib.Codec.encoding_table["51185"] = [160,113] let s:lib.Codec.encoding_table["51186"] = [160,114] let s:lib.Codec.encoding_table["51187"] = [160,115] let s:lib.Codec.encoding_table["51188"] = [160,116] let s:lib.Codec.encoding_table["51189"] = [160,117] let s:lib.Codec.encoding_table["51190"] = [160,118] let s:lib.Codec.encoding_table["51191"] = [160,119] let s:lib.Codec.encoding_table["51192"] = [160,120] let s:lib.Codec.encoding_table["51193"] = [160,121] let s:lib.Codec.encoding_table["51194"] = [160,122] let s:lib.Codec.encoding_table["51195"] = [160,129] let s:lib.Codec.encoding_table["51196"] = [160,130] let s:lib.Codec.encoding_table["51197"] = [160,131] let s:lib.Codec.encoding_table["51198"] = [160,132] let s:lib.Codec.encoding_table["51199"] = [160,133] let s:lib.Codec.encoding_table["51202"] = [160,134] let s:lib.Codec.encoding_table["51203"] = [160,135] let s:lib.Codec.encoding_table["51205"] = [160,136] let s:lib.Codec.encoding_table["51206"] = [160,137] let s:lib.Codec.encoding_table["51207"] = [160,138] let s:lib.Codec.encoding_table["51209"] = [160,139] let s:lib.Codec.encoding_table["51211"] = [160,140] let s:lib.Codec.encoding_table["51212"] = [160,141] let s:lib.Codec.encoding_table["51213"] = [160,142] let s:lib.Codec.encoding_table["51214"] = [160,143] let s:lib.Codec.encoding_table["51215"] = [160,144] let s:lib.Codec.encoding_table["51218"] = [160,145] let s:lib.Codec.encoding_table["51220"] = [160,146] let s:lib.Codec.encoding_table["51223"] = [160,147] let s:lib.Codec.encoding_table["51224"] = [160,148] let s:lib.Codec.encoding_table["51225"] = [160,149] let s:lib.Codec.encoding_table["51226"] = [160,150] let s:lib.Codec.encoding_table["51227"] = [160,151] let s:lib.Codec.encoding_table["51230"] = [160,152] let s:lib.Codec.encoding_table["51231"] = [160,153] let s:lib.Codec.encoding_table["51233"] = [160,154] let s:lib.Codec.encoding_table["51234"] = [160,155] let s:lib.Codec.encoding_table["51235"] = [160,156] let s:lib.Codec.encoding_table["51237"] = [160,157] let s:lib.Codec.encoding_table["51238"] = [160,158] let s:lib.Codec.encoding_table["51239"] = [160,159] let s:lib.Codec.encoding_table["51240"] = [160,160] let s:lib.Codec.encoding_table["51241"] = [160,161] let s:lib.Codec.encoding_table["51242"] = [160,162] let s:lib.Codec.encoding_table["51243"] = [160,163] let s:lib.Codec.encoding_table["51246"] = [160,164] let s:lib.Codec.encoding_table["51248"] = [160,165] let s:lib.Codec.encoding_table["51250"] = [160,166] let s:lib.Codec.encoding_table["51251"] = [160,167] let s:lib.Codec.encoding_table["51252"] = [160,168] let s:lib.Codec.encoding_table["51253"] = [160,169] let s:lib.Codec.encoding_table["51254"] = [160,170] let s:lib.Codec.encoding_table["51255"] = [160,171] let s:lib.Codec.encoding_table["51257"] = [160,172] let s:lib.Codec.encoding_table["51258"] = [160,173] let s:lib.Codec.encoding_table["51259"] = [160,174] let s:lib.Codec.encoding_table["51261"] = [160,175] let s:lib.Codec.encoding_table["51262"] = [160,176] let s:lib.Codec.encoding_table["51263"] = [160,177] let s:lib.Codec.encoding_table["51265"] = [160,178] let s:lib.Codec.encoding_table["51266"] = [160,179] let s:lib.Codec.encoding_table["51267"] = [160,180] let s:lib.Codec.encoding_table["51268"] = [160,181] let s:lib.Codec.encoding_table["51269"] = [160,182] let s:lib.Codec.encoding_table["51270"] = [160,183] let s:lib.Codec.encoding_table["51271"] = [160,184] let s:lib.Codec.encoding_table["51274"] = [160,185] let s:lib.Codec.encoding_table["51275"] = [160,186] let s:lib.Codec.encoding_table["51278"] = [160,187] let s:lib.Codec.encoding_table["51279"] = [160,188] let s:lib.Codec.encoding_table["51280"] = [160,189] let s:lib.Codec.encoding_table["51281"] = [160,190] let s:lib.Codec.encoding_table["51282"] = [160,191] let s:lib.Codec.encoding_table["51283"] = [160,192] let s:lib.Codec.encoding_table["51285"] = [160,193] let s:lib.Codec.encoding_table["51286"] = [160,194] let s:lib.Codec.encoding_table["51287"] = [160,195] let s:lib.Codec.encoding_table["51288"] = [160,196] let s:lib.Codec.encoding_table["51289"] = [160,197] let s:lib.Codec.encoding_table["51290"] = [160,198] let s:lib.Codec.encoding_table["51291"] = [160,199] let s:lib.Codec.encoding_table["51292"] = [160,200] let s:lib.Codec.encoding_table["51293"] = [160,201] let s:lib.Codec.encoding_table["51294"] = [160,202] let s:lib.Codec.encoding_table["51295"] = [160,203] let s:lib.Codec.encoding_table["51296"] = [160,204] let s:lib.Codec.encoding_table["51297"] = [160,205] let s:lib.Codec.encoding_table["51298"] = [160,206] let s:lib.Codec.encoding_table["51299"] = [160,207] let s:lib.Codec.encoding_table["51300"] = [160,208] let s:lib.Codec.encoding_table["51301"] = [160,209] let s:lib.Codec.encoding_table["51302"] = [160,210] let s:lib.Codec.encoding_table["51303"] = [160,211] let s:lib.Codec.encoding_table["51304"] = [160,212] let s:lib.Codec.encoding_table["51305"] = [160,213] let s:lib.Codec.encoding_table["51306"] = [160,214] let s:lib.Codec.encoding_table["51307"] = [160,215] let s:lib.Codec.encoding_table["51308"] = [160,216] let s:lib.Codec.encoding_table["51309"] = [160,217] let s:lib.Codec.encoding_table["51310"] = [160,218] let s:lib.Codec.encoding_table["51311"] = [160,219] let s:lib.Codec.encoding_table["51314"] = [160,220] let s:lib.Codec.encoding_table["51315"] = [160,221] let s:lib.Codec.encoding_table["51317"] = [160,222] let s:lib.Codec.encoding_table["51318"] = [160,223] let s:lib.Codec.encoding_table["51319"] = [160,224] let s:lib.Codec.encoding_table["51321"] = [160,225] let s:lib.Codec.encoding_table["51323"] = [160,226] let s:lib.Codec.encoding_table["51324"] = [160,227] let s:lib.Codec.encoding_table["51325"] = [160,228] let s:lib.Codec.encoding_table["51326"] = [160,229] let s:lib.Codec.encoding_table["51327"] = [160,230] let s:lib.Codec.encoding_table["51330"] = [160,231] let s:lib.Codec.encoding_table["51332"] = [160,232] let s:lib.Codec.encoding_table["51336"] = [160,233] let s:lib.Codec.encoding_table["51337"] = [160,234] let s:lib.Codec.encoding_table["51338"] = [160,235] let s:lib.Codec.encoding_table["51342"] = [160,236] let s:lib.Codec.encoding_table["51343"] = [160,237] let s:lib.Codec.encoding_table["51344"] = [160,238] let s:lib.Codec.encoding_table["51345"] = [160,239] let s:lib.Codec.encoding_table["51346"] = [160,240] let s:lib.Codec.encoding_table["51347"] = [160,241] let s:lib.Codec.encoding_table["51349"] = [160,242] let s:lib.Codec.encoding_table["51350"] = [160,243] let s:lib.Codec.encoding_table["51351"] = [160,244] let s:lib.Codec.encoding_table["51352"] = [160,245] let s:lib.Codec.encoding_table["51353"] = [160,246] let s:lib.Codec.encoding_table["51354"] = [160,247] let s:lib.Codec.encoding_table["51355"] = [160,248] let s:lib.Codec.encoding_table["51356"] = [160,249] let s:lib.Codec.encoding_table["51358"] = [160,250] let s:lib.Codec.encoding_table["51360"] = [160,251] let s:lib.Codec.encoding_table["51362"] = [160,252] let s:lib.Codec.encoding_table["51363"] = [160,253] let s:lib.Codec.encoding_table["51364"] = [160,254] let s:lib.Codec.encoding_table["51365"] = [161,65] let s:lib.Codec.encoding_table["51366"] = [161,66] let s:lib.Codec.encoding_table["51367"] = [161,67] let s:lib.Codec.encoding_table["51369"] = [161,68] let s:lib.Codec.encoding_table["51370"] = [161,69] let s:lib.Codec.encoding_table["51371"] = [161,70] let s:lib.Codec.encoding_table["51372"] = [161,71] let s:lib.Codec.encoding_table["51373"] = [161,72] let s:lib.Codec.encoding_table["51374"] = [161,73] let s:lib.Codec.encoding_table["51375"] = [161,74] let s:lib.Codec.encoding_table["51376"] = [161,75] let s:lib.Codec.encoding_table["51377"] = [161,76] let s:lib.Codec.encoding_table["51378"] = [161,77] let s:lib.Codec.encoding_table["51379"] = [161,78] let s:lib.Codec.encoding_table["51380"] = [161,79] let s:lib.Codec.encoding_table["51381"] = [161,80] let s:lib.Codec.encoding_table["51382"] = [161,81] let s:lib.Codec.encoding_table["51383"] = [161,82] let s:lib.Codec.encoding_table["51384"] = [161,83] let s:lib.Codec.encoding_table["51385"] = [161,84] let s:lib.Codec.encoding_table["51386"] = [161,85] let s:lib.Codec.encoding_table["51387"] = [161,86] let s:lib.Codec.encoding_table["51390"] = [161,87] let s:lib.Codec.encoding_table["51391"] = [161,88] let s:lib.Codec.encoding_table["51392"] = [161,89] let s:lib.Codec.encoding_table["51393"] = [161,90] let s:lib.Codec.encoding_table["51394"] = [161,97] let s:lib.Codec.encoding_table["51395"] = [161,98] let s:lib.Codec.encoding_table["51397"] = [161,99] let s:lib.Codec.encoding_table["51398"] = [161,100] let s:lib.Codec.encoding_table["51399"] = [161,101] let s:lib.Codec.encoding_table["51401"] = [161,102] let s:lib.Codec.encoding_table["51402"] = [161,103] let s:lib.Codec.encoding_table["51403"] = [161,104] let s:lib.Codec.encoding_table["51405"] = [161,105] let s:lib.Codec.encoding_table["51406"] = [161,106] let s:lib.Codec.encoding_table["51407"] = [161,107] let s:lib.Codec.encoding_table["51408"] = [161,108] let s:lib.Codec.encoding_table["51409"] = [161,109] let s:lib.Codec.encoding_table["51410"] = [161,110] let s:lib.Codec.encoding_table["51411"] = [161,111] let s:lib.Codec.encoding_table["51414"] = [161,112] let s:lib.Codec.encoding_table["51416"] = [161,113] let s:lib.Codec.encoding_table["51418"] = [161,114] let s:lib.Codec.encoding_table["51419"] = [161,115] let s:lib.Codec.encoding_table["51420"] = [161,116] let s:lib.Codec.encoding_table["51421"] = [161,117] let s:lib.Codec.encoding_table["51422"] = [161,118] let s:lib.Codec.encoding_table["51423"] = [161,119] let s:lib.Codec.encoding_table["51426"] = [161,120] let s:lib.Codec.encoding_table["51427"] = [161,121] let s:lib.Codec.encoding_table["51429"] = [161,122] let s:lib.Codec.encoding_table["51430"] = [161,129] let s:lib.Codec.encoding_table["51431"] = [161,130] let s:lib.Codec.encoding_table["51432"] = [161,131] let s:lib.Codec.encoding_table["51433"] = [161,132] let s:lib.Codec.encoding_table["51434"] = [161,133] let s:lib.Codec.encoding_table["51435"] = [161,134] let s:lib.Codec.encoding_table["51436"] = [161,135] let s:lib.Codec.encoding_table["51437"] = [161,136] let s:lib.Codec.encoding_table["51438"] = [161,137] let s:lib.Codec.encoding_table["51439"] = [161,138] let s:lib.Codec.encoding_table["51440"] = [161,139] let s:lib.Codec.encoding_table["51441"] = [161,140] let s:lib.Codec.encoding_table["51442"] = [161,141] let s:lib.Codec.encoding_table["51443"] = [161,142] let s:lib.Codec.encoding_table["51444"] = [161,143] let s:lib.Codec.encoding_table["51446"] = [161,144] let s:lib.Codec.encoding_table["51447"] = [161,145] let s:lib.Codec.encoding_table["51448"] = [161,146] let s:lib.Codec.encoding_table["51449"] = [161,147] let s:lib.Codec.encoding_table["51450"] = [161,148] let s:lib.Codec.encoding_table["51451"] = [161,149] let s:lib.Codec.encoding_table["51454"] = [161,150] let s:lib.Codec.encoding_table["51455"] = [161,151] let s:lib.Codec.encoding_table["51457"] = [161,152] let s:lib.Codec.encoding_table["51458"] = [161,153] let s:lib.Codec.encoding_table["51459"] = [161,154] let s:lib.Codec.encoding_table["51463"] = [161,155] let s:lib.Codec.encoding_table["51464"] = [161,156] let s:lib.Codec.encoding_table["51465"] = [161,157] let s:lib.Codec.encoding_table["51466"] = [161,158] let s:lib.Codec.encoding_table["51467"] = [161,159] let s:lib.Codec.encoding_table["51470"] = [161,160] let s:lib.Codec.encoding_table["12288"] = [161,161] let s:lib.Codec.encoding_table["12289"] = [161,162] let s:lib.Codec.encoding_table["12290"] = [161,163] let s:lib.Codec.encoding_table["183"] = [161,164] let s:lib.Codec.encoding_table["8229"] = [161,165] let s:lib.Codec.encoding_table["8230"] = [161,166] let s:lib.Codec.encoding_table["168"] = [161,167] let s:lib.Codec.encoding_table["12291"] = [161,168] let s:lib.Codec.encoding_table["173"] = [161,169] let s:lib.Codec.encoding_table["8213"] = [161,170] let s:lib.Codec.encoding_table["8741"] = [161,171] let s:lib.Codec.encoding_table["65340"] = [161,172] let s:lib.Codec.encoding_table["8764"] = [161,173] let s:lib.Codec.encoding_table["8216"] = [161,174] let s:lib.Codec.encoding_table["8217"] = [161,175] let s:lib.Codec.encoding_table["8220"] = [161,176] let s:lib.Codec.encoding_table["8221"] = [161,177] let s:lib.Codec.encoding_table["12308"] = [161,178] let s:lib.Codec.encoding_table["12309"] = [161,179] let s:lib.Codec.encoding_table["12296"] = [161,180] let s:lib.Codec.encoding_table["12297"] = [161,181] let s:lib.Codec.encoding_table["12298"] = [161,182] let s:lib.Codec.encoding_table["12299"] = [161,183] let s:lib.Codec.encoding_table["12300"] = [161,184] let s:lib.Codec.encoding_table["12301"] = [161,185] let s:lib.Codec.encoding_table["12302"] = [161,186] let s:lib.Codec.encoding_table["12303"] = [161,187] let s:lib.Codec.encoding_table["12304"] = [161,188] let s:lib.Codec.encoding_table["12305"] = [161,189] let s:lib.Codec.encoding_table["177"] = [161,190] let s:lib.Codec.encoding_table["215"] = [161,191] let s:lib.Codec.encoding_table["247"] = [161,192] let s:lib.Codec.encoding_table["8800"] = [161,193] let s:lib.Codec.encoding_table["8804"] = [161,194] let s:lib.Codec.encoding_table["8805"] = [161,195] let s:lib.Codec.encoding_table["8734"] = [161,196] let s:lib.Codec.encoding_table["8756"] = [161,197] let s:lib.Codec.encoding_table["176"] = [161,198] let s:lib.Codec.encoding_table["8242"] = [161,199] let s:lib.Codec.encoding_table["8243"] = [161,200] let s:lib.Codec.encoding_table["8451"] = [161,201] let s:lib.Codec.encoding_table["8491"] = [161,202] let s:lib.Codec.encoding_table["65504"] = [161,203] let s:lib.Codec.encoding_table["65505"] = [161,204] let s:lib.Codec.encoding_table["65509"] = [161,205] let s:lib.Codec.encoding_table["9794"] = [161,206] let s:lib.Codec.encoding_table["9792"] = [161,207] let s:lib.Codec.encoding_table["8736"] = [161,208] let s:lib.Codec.encoding_table["8869"] = [161,209] let s:lib.Codec.encoding_table["8978"] = [161,210] let s:lib.Codec.encoding_table["8706"] = [161,211] let s:lib.Codec.encoding_table["8711"] = [161,212] let s:lib.Codec.encoding_table["8801"] = [161,213] let s:lib.Codec.encoding_table["8786"] = [161,214] let s:lib.Codec.encoding_table["167"] = [161,215] let s:lib.Codec.encoding_table["8251"] = [161,216] let s:lib.Codec.encoding_table["9734"] = [161,217] let s:lib.Codec.encoding_table["9733"] = [161,218] let s:lib.Codec.encoding_table["9675"] = [161,219] let s:lib.Codec.encoding_table["9679"] = [161,220] let s:lib.Codec.encoding_table["9678"] = [161,221] let s:lib.Codec.encoding_table["9671"] = [161,222] let s:lib.Codec.encoding_table["9670"] = [161,223] let s:lib.Codec.encoding_table["9633"] = [161,224] let s:lib.Codec.encoding_table["9632"] = [161,225] let s:lib.Codec.encoding_table["9651"] = [161,226] let s:lib.Codec.encoding_table["9650"] = [161,227] let s:lib.Codec.encoding_table["9661"] = [161,228] let s:lib.Codec.encoding_table["9660"] = [161,229] let s:lib.Codec.encoding_table["8594"] = [161,230] let s:lib.Codec.encoding_table["8592"] = [161,231] let s:lib.Codec.encoding_table["8593"] = [161,232] let s:lib.Codec.encoding_table["8595"] = [161,233] let s:lib.Codec.encoding_table["8596"] = [161,234] let s:lib.Codec.encoding_table["12307"] = [161,235] let s:lib.Codec.encoding_table["8810"] = [161,236] let s:lib.Codec.encoding_table["8811"] = [161,237] let s:lib.Codec.encoding_table["8730"] = [161,238] let s:lib.Codec.encoding_table["8765"] = [161,239] let s:lib.Codec.encoding_table["8733"] = [161,240] let s:lib.Codec.encoding_table["8757"] = [161,241] let s:lib.Codec.encoding_table["8747"] = [161,242] let s:lib.Codec.encoding_table["8748"] = [161,243] let s:lib.Codec.encoding_table["8712"] = [161,244] let s:lib.Codec.encoding_table["8715"] = [161,245] let s:lib.Codec.encoding_table["8838"] = [161,246] let s:lib.Codec.encoding_table["8839"] = [161,247] let s:lib.Codec.encoding_table["8834"] = [161,248] let s:lib.Codec.encoding_table["8835"] = [161,249] let s:lib.Codec.encoding_table["8746"] = [161,250] let s:lib.Codec.encoding_table["8745"] = [161,251] let s:lib.Codec.encoding_table["8743"] = [161,252] let s:lib.Codec.encoding_table["8744"] = [161,253] let s:lib.Codec.encoding_table["65506"] = [161,254] let s:lib.Codec.encoding_table["51472"] = [162,65] let s:lib.Codec.encoding_table["51474"] = [162,66] let s:lib.Codec.encoding_table["51475"] = [162,67] let s:lib.Codec.encoding_table["51476"] = [162,68] let s:lib.Codec.encoding_table["51477"] = [162,69] let s:lib.Codec.encoding_table["51478"] = [162,70] let s:lib.Codec.encoding_table["51479"] = [162,71] let s:lib.Codec.encoding_table["51481"] = [162,72] let s:lib.Codec.encoding_table["51482"] = [162,73] let s:lib.Codec.encoding_table["51483"] = [162,74] let s:lib.Codec.encoding_table["51484"] = [162,75] let s:lib.Codec.encoding_table["51485"] = [162,76] let s:lib.Codec.encoding_table["51486"] = [162,77] let s:lib.Codec.encoding_table["51487"] = [162,78] let s:lib.Codec.encoding_table["51488"] = [162,79] let s:lib.Codec.encoding_table["51489"] = [162,80] let s:lib.Codec.encoding_table["51490"] = [162,81] let s:lib.Codec.encoding_table["51491"] = [162,82] let s:lib.Codec.encoding_table["51492"] = [162,83] let s:lib.Codec.encoding_table["51493"] = [162,84] let s:lib.Codec.encoding_table["51494"] = [162,85] let s:lib.Codec.encoding_table["51495"] = [162,86] let s:lib.Codec.encoding_table["51496"] = [162,87] let s:lib.Codec.encoding_table["51497"] = [162,88] let s:lib.Codec.encoding_table["51498"] = [162,89] let s:lib.Codec.encoding_table["51499"] = [162,90] let s:lib.Codec.encoding_table["51501"] = [162,97] let s:lib.Codec.encoding_table["51502"] = [162,98] let s:lib.Codec.encoding_table["51503"] = [162,99] let s:lib.Codec.encoding_table["51504"] = [162,100] let s:lib.Codec.encoding_table["51505"] = [162,101] let s:lib.Codec.encoding_table["51506"] = [162,102] let s:lib.Codec.encoding_table["51507"] = [162,103] let s:lib.Codec.encoding_table["51509"] = [162,104] let s:lib.Codec.encoding_table["51510"] = [162,105] let s:lib.Codec.encoding_table["51511"] = [162,106] let s:lib.Codec.encoding_table["51512"] = [162,107] let s:lib.Codec.encoding_table["51513"] = [162,108] let s:lib.Codec.encoding_table["51514"] = [162,109] let s:lib.Codec.encoding_table["51515"] = [162,110] let s:lib.Codec.encoding_table["51516"] = [162,111] let s:lib.Codec.encoding_table["51517"] = [162,112] let s:lib.Codec.encoding_table["51518"] = [162,113] let s:lib.Codec.encoding_table["51519"] = [162,114] let s:lib.Codec.encoding_table["51520"] = [162,115] let s:lib.Codec.encoding_table["51521"] = [162,116] let s:lib.Codec.encoding_table["51522"] = [162,117] let s:lib.Codec.encoding_table["51523"] = [162,118] let s:lib.Codec.encoding_table["51524"] = [162,119] let s:lib.Codec.encoding_table["51525"] = [162,120] let s:lib.Codec.encoding_table["51526"] = [162,121] let s:lib.Codec.encoding_table["51527"] = [162,122] let s:lib.Codec.encoding_table["51528"] = [162,129] let s:lib.Codec.encoding_table["51529"] = [162,130] let s:lib.Codec.encoding_table["51530"] = [162,131] let s:lib.Codec.encoding_table["51531"] = [162,132] let s:lib.Codec.encoding_table["51532"] = [162,133] let s:lib.Codec.encoding_table["51533"] = [162,134] let s:lib.Codec.encoding_table["51534"] = [162,135] let s:lib.Codec.encoding_table["51535"] = [162,136] let s:lib.Codec.encoding_table["51538"] = [162,137] let s:lib.Codec.encoding_table["51539"] = [162,138] let s:lib.Codec.encoding_table["51541"] = [162,139] let s:lib.Codec.encoding_table["51542"] = [162,140] let s:lib.Codec.encoding_table["51543"] = [162,141] let s:lib.Codec.encoding_table["51545"] = [162,142] let s:lib.Codec.encoding_table["51546"] = [162,143] let s:lib.Codec.encoding_table["51547"] = [162,144] let s:lib.Codec.encoding_table["51548"] = [162,145] let s:lib.Codec.encoding_table["51549"] = [162,146] let s:lib.Codec.encoding_table["51550"] = [162,147] let s:lib.Codec.encoding_table["51551"] = [162,148] let s:lib.Codec.encoding_table["51554"] = [162,149] let s:lib.Codec.encoding_table["51556"] = [162,150] let s:lib.Codec.encoding_table["51557"] = [162,151] let s:lib.Codec.encoding_table["51558"] = [162,152] let s:lib.Codec.encoding_table["51559"] = [162,153] let s:lib.Codec.encoding_table["51560"] = [162,154] let s:lib.Codec.encoding_table["51561"] = [162,155] let s:lib.Codec.encoding_table["51562"] = [162,156] let s:lib.Codec.encoding_table["51563"] = [162,157] let s:lib.Codec.encoding_table["51565"] = [162,158] let s:lib.Codec.encoding_table["51566"] = [162,159] let s:lib.Codec.encoding_table["51567"] = [162,160] let s:lib.Codec.encoding_table["8658"] = [162,161] let s:lib.Codec.encoding_table["8660"] = [162,162] let s:lib.Codec.encoding_table["8704"] = [162,163] let s:lib.Codec.encoding_table["8707"] = [162,164] let s:lib.Codec.encoding_table["180"] = [162,165] let s:lib.Codec.encoding_table["65374"] = [162,166] let s:lib.Codec.encoding_table["711"] = [162,167] let s:lib.Codec.encoding_table["728"] = [162,168] let s:lib.Codec.encoding_table["733"] = [162,169] let s:lib.Codec.encoding_table["730"] = [162,170] let s:lib.Codec.encoding_table["729"] = [162,171] let s:lib.Codec.encoding_table["184"] = [162,172] let s:lib.Codec.encoding_table["731"] = [162,173] let s:lib.Codec.encoding_table["161"] = [162,174] let s:lib.Codec.encoding_table["191"] = [162,175] let s:lib.Codec.encoding_table["720"] = [162,176] let s:lib.Codec.encoding_table["8750"] = [162,177] let s:lib.Codec.encoding_table["8721"] = [162,178] let s:lib.Codec.encoding_table["8719"] = [162,179] let s:lib.Codec.encoding_table["164"] = [162,180] let s:lib.Codec.encoding_table["8457"] = [162,181] let s:lib.Codec.encoding_table["8240"] = [162,182] let s:lib.Codec.encoding_table["9665"] = [162,183] let s:lib.Codec.encoding_table["9664"] = [162,184] let s:lib.Codec.encoding_table["9655"] = [162,185] let s:lib.Codec.encoding_table["9654"] = [162,186] let s:lib.Codec.encoding_table["9828"] = [162,187] let s:lib.Codec.encoding_table["9824"] = [162,188] let s:lib.Codec.encoding_table["9825"] = [162,189] let s:lib.Codec.encoding_table["9829"] = [162,190] let s:lib.Codec.encoding_table["9831"] = [162,191] let s:lib.Codec.encoding_table["9827"] = [162,192] let s:lib.Codec.encoding_table["8857"] = [162,193] let s:lib.Codec.encoding_table["9672"] = [162,194] let s:lib.Codec.encoding_table["9635"] = [162,195] let s:lib.Codec.encoding_table["9680"] = [162,196] let s:lib.Codec.encoding_table["9681"] = [162,197] let s:lib.Codec.encoding_table["9618"] = [162,198] let s:lib.Codec.encoding_table["9636"] = [162,199] let s:lib.Codec.encoding_table["9637"] = [162,200] let s:lib.Codec.encoding_table["9640"] = [162,201] let s:lib.Codec.encoding_table["9639"] = [162,202] let s:lib.Codec.encoding_table["9638"] = [162,203] let s:lib.Codec.encoding_table["9641"] = [162,204] let s:lib.Codec.encoding_table["9832"] = [162,205] let s:lib.Codec.encoding_table["9743"] = [162,206] let s:lib.Codec.encoding_table["9742"] = [162,207] let s:lib.Codec.encoding_table["9756"] = [162,208] let s:lib.Codec.encoding_table["9758"] = [162,209] let s:lib.Codec.encoding_table["182"] = [162,210] let s:lib.Codec.encoding_table["8224"] = [162,211] let s:lib.Codec.encoding_table["8225"] = [162,212] let s:lib.Codec.encoding_table["8597"] = [162,213] let s:lib.Codec.encoding_table["8599"] = [162,214] let s:lib.Codec.encoding_table["8601"] = [162,215] let s:lib.Codec.encoding_table["8598"] = [162,216] let s:lib.Codec.encoding_table["8600"] = [162,217] let s:lib.Codec.encoding_table["9837"] = [162,218] let s:lib.Codec.encoding_table["9833"] = [162,219] let s:lib.Codec.encoding_table["9834"] = [162,220] let s:lib.Codec.encoding_table["9836"] = [162,221] let s:lib.Codec.encoding_table["12927"] = [162,222] let s:lib.Codec.encoding_table["12828"] = [162,223] let s:lib.Codec.encoding_table["8470"] = [162,224] let s:lib.Codec.encoding_table["13255"] = [162,225] let s:lib.Codec.encoding_table["8482"] = [162,226] let s:lib.Codec.encoding_table["13250"] = [162,227] let s:lib.Codec.encoding_table["13272"] = [162,228] let s:lib.Codec.encoding_table["8481"] = [162,229] let s:lib.Codec.encoding_table["8364"] = [162,230] let s:lib.Codec.encoding_table["174"] = [162,231] let s:lib.Codec.encoding_table["51569"] = [163,65] let s:lib.Codec.encoding_table["51570"] = [163,66] let s:lib.Codec.encoding_table["51571"] = [163,67] let s:lib.Codec.encoding_table["51573"] = [163,68] let s:lib.Codec.encoding_table["51574"] = [163,69] let s:lib.Codec.encoding_table["51575"] = [163,70] let s:lib.Codec.encoding_table["51576"] = [163,71] let s:lib.Codec.encoding_table["51577"] = [163,72] let s:lib.Codec.encoding_table["51578"] = [163,73] let s:lib.Codec.encoding_table["51579"] = [163,74] let s:lib.Codec.encoding_table["51581"] = [163,75] let s:lib.Codec.encoding_table["51582"] = [163,76] let s:lib.Codec.encoding_table["51583"] = [163,77] let s:lib.Codec.encoding_table["51584"] = [163,78] let s:lib.Codec.encoding_table["51585"] = [163,79] let s:lib.Codec.encoding_table["51586"] = [163,80] let s:lib.Codec.encoding_table["51587"] = [163,81] let s:lib.Codec.encoding_table["51588"] = [163,82] let s:lib.Codec.encoding_table["51589"] = [163,83] let s:lib.Codec.encoding_table["51590"] = [163,84] let s:lib.Codec.encoding_table["51591"] = [163,85] let s:lib.Codec.encoding_table["51594"] = [163,86] let s:lib.Codec.encoding_table["51595"] = [163,87] let s:lib.Codec.encoding_table["51597"] = [163,88] let s:lib.Codec.encoding_table["51598"] = [163,89] let s:lib.Codec.encoding_table["51599"] = [163,90] let s:lib.Codec.encoding_table["51601"] = [163,97] let s:lib.Codec.encoding_table["51602"] = [163,98] let s:lib.Codec.encoding_table["51603"] = [163,99] let s:lib.Codec.encoding_table["51604"] = [163,100] let s:lib.Codec.encoding_table["51605"] = [163,101] let s:lib.Codec.encoding_table["51606"] = [163,102] let s:lib.Codec.encoding_table["51607"] = [163,103] let s:lib.Codec.encoding_table["51610"] = [163,104] let s:lib.Codec.encoding_table["51612"] = [163,105] let s:lib.Codec.encoding_table["51614"] = [163,106] let s:lib.Codec.encoding_table["51615"] = [163,107] let s:lib.Codec.encoding_table["51616"] = [163,108] let s:lib.Codec.encoding_table["51617"] = [163,109] let s:lib.Codec.encoding_table["51618"] = [163,110] let s:lib.Codec.encoding_table["51619"] = [163,111] let s:lib.Codec.encoding_table["51620"] = [163,112] let s:lib.Codec.encoding_table["51621"] = [163,113] let s:lib.Codec.encoding_table["51622"] = [163,114] let s:lib.Codec.encoding_table["51623"] = [163,115] let s:lib.Codec.encoding_table["51624"] = [163,116] let s:lib.Codec.encoding_table["51625"] = [163,117] let s:lib.Codec.encoding_table["51626"] = [163,118] let s:lib.Codec.encoding_table["51627"] = [163,119] let s:lib.Codec.encoding_table["51628"] = [163,120] let s:lib.Codec.encoding_table["51629"] = [163,121] let s:lib.Codec.encoding_table["51630"] = [163,122] let s:lib.Codec.encoding_table["51631"] = [163,129] let s:lib.Codec.encoding_table["51632"] = [163,130] let s:lib.Codec.encoding_table["51633"] = [163,131] let s:lib.Codec.encoding_table["51634"] = [163,132] let s:lib.Codec.encoding_table["51635"] = [163,133] let s:lib.Codec.encoding_table["51636"] = [163,134] let s:lib.Codec.encoding_table["51637"] = [163,135] let s:lib.Codec.encoding_table["51638"] = [163,136] let s:lib.Codec.encoding_table["51639"] = [163,137] let s:lib.Codec.encoding_table["51640"] = [163,138] let s:lib.Codec.encoding_table["51641"] = [163,139] let s:lib.Codec.encoding_table["51642"] = [163,140] let s:lib.Codec.encoding_table["51643"] = [163,141] let s:lib.Codec.encoding_table["51644"] = [163,142] let s:lib.Codec.encoding_table["51645"] = [163,143] let s:lib.Codec.encoding_table["51646"] = [163,144] let s:lib.Codec.encoding_table["51647"] = [163,145] let s:lib.Codec.encoding_table["51650"] = [163,146] let s:lib.Codec.encoding_table["51651"] = [163,147] let s:lib.Codec.encoding_table["51653"] = [163,148] let s:lib.Codec.encoding_table["51654"] = [163,149] let s:lib.Codec.encoding_table["51657"] = [163,150] let s:lib.Codec.encoding_table["51659"] = [163,151] let s:lib.Codec.encoding_table["51660"] = [163,152] let s:lib.Codec.encoding_table["51661"] = [163,153] let s:lib.Codec.encoding_table["51662"] = [163,154] let s:lib.Codec.encoding_table["51663"] = [163,155] let s:lib.Codec.encoding_table["51666"] = [163,156] let s:lib.Codec.encoding_table["51668"] = [163,157] let s:lib.Codec.encoding_table["51671"] = [163,158] let s:lib.Codec.encoding_table["51672"] = [163,159] let s:lib.Codec.encoding_table["51675"] = [163,160] let s:lib.Codec.encoding_table["65281"] = [163,161] let s:lib.Codec.encoding_table["65282"] = [163,162] let s:lib.Codec.encoding_table["65283"] = [163,163] let s:lib.Codec.encoding_table["65284"] = [163,164] let s:lib.Codec.encoding_table["65285"] = [163,165] let s:lib.Codec.encoding_table["65286"] = [163,166] let s:lib.Codec.encoding_table["65287"] = [163,167] let s:lib.Codec.encoding_table["65288"] = [163,168] let s:lib.Codec.encoding_table["65289"] = [163,169] let s:lib.Codec.encoding_table["65290"] = [163,170] let s:lib.Codec.encoding_table["65291"] = [163,171] let s:lib.Codec.encoding_table["65292"] = [163,172] let s:lib.Codec.encoding_table["65293"] = [163,173] let s:lib.Codec.encoding_table["65294"] = [163,174] let s:lib.Codec.encoding_table["65295"] = [163,175] let s:lib.Codec.encoding_table["65296"] = [163,176] let s:lib.Codec.encoding_table["65297"] = [163,177] let s:lib.Codec.encoding_table["65298"] = [163,178] let s:lib.Codec.encoding_table["65299"] = [163,179] let s:lib.Codec.encoding_table["65300"] = [163,180] let s:lib.Codec.encoding_table["65301"] = [163,181] let s:lib.Codec.encoding_table["65302"] = [163,182] let s:lib.Codec.encoding_table["65303"] = [163,183] let s:lib.Codec.encoding_table["65304"] = [163,184] let s:lib.Codec.encoding_table["65305"] = [163,185] let s:lib.Codec.encoding_table["65306"] = [163,186] let s:lib.Codec.encoding_table["65307"] = [163,187] let s:lib.Codec.encoding_table["65308"] = [163,188] let s:lib.Codec.encoding_table["65309"] = [163,189] let s:lib.Codec.encoding_table["65310"] = [163,190] let s:lib.Codec.encoding_table["65311"] = [163,191] let s:lib.Codec.encoding_table["65312"] = [163,192] let s:lib.Codec.encoding_table["65313"] = [163,193] let s:lib.Codec.encoding_table["65314"] = [163,194] let s:lib.Codec.encoding_table["65315"] = [163,195] let s:lib.Codec.encoding_table["65316"] = [163,196] let s:lib.Codec.encoding_table["65317"] = [163,197] let s:lib.Codec.encoding_table["65318"] = [163,198] let s:lib.Codec.encoding_table["65319"] = [163,199] let s:lib.Codec.encoding_table["65320"] = [163,200] let s:lib.Codec.encoding_table["65321"] = [163,201] let s:lib.Codec.encoding_table["65322"] = [163,202] let s:lib.Codec.encoding_table["65323"] = [163,203] let s:lib.Codec.encoding_table["65324"] = [163,204] let s:lib.Codec.encoding_table["65325"] = [163,205] let s:lib.Codec.encoding_table["65326"] = [163,206] let s:lib.Codec.encoding_table["65327"] = [163,207] let s:lib.Codec.encoding_table["65328"] = [163,208] let s:lib.Codec.encoding_table["65329"] = [163,209] let s:lib.Codec.encoding_table["65330"] = [163,210] let s:lib.Codec.encoding_table["65331"] = [163,211] let s:lib.Codec.encoding_table["65332"] = [163,212] let s:lib.Codec.encoding_table["65333"] = [163,213] let s:lib.Codec.encoding_table["65334"] = [163,214] let s:lib.Codec.encoding_table["65335"] = [163,215] let s:lib.Codec.encoding_table["65336"] = [163,216] let s:lib.Codec.encoding_table["65337"] = [163,217] let s:lib.Codec.encoding_table["65338"] = [163,218] let s:lib.Codec.encoding_table["65339"] = [163,219] let s:lib.Codec.encoding_table["65510"] = [163,220] let s:lib.Codec.encoding_table["65341"] = [163,221] let s:lib.Codec.encoding_table["65342"] = [163,222] let s:lib.Codec.encoding_table["65343"] = [163,223] let s:lib.Codec.encoding_table["65344"] = [163,224] let s:lib.Codec.encoding_table["65345"] = [163,225] let s:lib.Codec.encoding_table["65346"] = [163,226] let s:lib.Codec.encoding_table["65347"] = [163,227] let s:lib.Codec.encoding_table["65348"] = [163,228] let s:lib.Codec.encoding_table["65349"] = [163,229] let s:lib.Codec.encoding_table["65350"] = [163,230] let s:lib.Codec.encoding_table["65351"] = [163,231] let s:lib.Codec.encoding_table["65352"] = [163,232] let s:lib.Codec.encoding_table["65353"] = [163,233] let s:lib.Codec.encoding_table["65354"] = [163,234] let s:lib.Codec.encoding_table["65355"] = [163,235] let s:lib.Codec.encoding_table["65356"] = [163,236] let s:lib.Codec.encoding_table["65357"] = [163,237] let s:lib.Codec.encoding_table["65358"] = [163,238] let s:lib.Codec.encoding_table["65359"] = [163,239] let s:lib.Codec.encoding_table["65360"] = [163,240] let s:lib.Codec.encoding_table["65361"] = [163,241] let s:lib.Codec.encoding_table["65362"] = [163,242] let s:lib.Codec.encoding_table["65363"] = [163,243] let s:lib.Codec.encoding_table["65364"] = [163,244] let s:lib.Codec.encoding_table["65365"] = [163,245] let s:lib.Codec.encoding_table["65366"] = [163,246] let s:lib.Codec.encoding_table["65367"] = [163,247] let s:lib.Codec.encoding_table["65368"] = [163,248] let s:lib.Codec.encoding_table["65369"] = [163,249] let s:lib.Codec.encoding_table["65370"] = [163,250] let s:lib.Codec.encoding_table["65371"] = [163,251] let s:lib.Codec.encoding_table["65372"] = [163,252] let s:lib.Codec.encoding_table["65373"] = [163,253] let s:lib.Codec.encoding_table["65507"] = [163,254] let s:lib.Codec.encoding_table["51678"] = [164,65] let s:lib.Codec.encoding_table["51679"] = [164,66] let s:lib.Codec.encoding_table["51681"] = [164,67] let s:lib.Codec.encoding_table["51683"] = [164,68] let s:lib.Codec.encoding_table["51685"] = [164,69] let s:lib.Codec.encoding_table["51686"] = [164,70] let s:lib.Codec.encoding_table["51688"] = [164,71] let s:lib.Codec.encoding_table["51689"] = [164,72] let s:lib.Codec.encoding_table["51690"] = [164,73] let s:lib.Codec.encoding_table["51691"] = [164,74] let s:lib.Codec.encoding_table["51694"] = [164,75] let s:lib.Codec.encoding_table["51698"] = [164,76] let s:lib.Codec.encoding_table["51699"] = [164,77] let s:lib.Codec.encoding_table["51700"] = [164,78] let s:lib.Codec.encoding_table["51701"] = [164,79] let s:lib.Codec.encoding_table["51702"] = [164,80] let s:lib.Codec.encoding_table["51703"] = [164,81] let s:lib.Codec.encoding_table["51706"] = [164,82] let s:lib.Codec.encoding_table["51707"] = [164,83] let s:lib.Codec.encoding_table["51709"] = [164,84] let s:lib.Codec.encoding_table["51710"] = [164,85] let s:lib.Codec.encoding_table["51711"] = [164,86] let s:lib.Codec.encoding_table["51713"] = [164,87] let s:lib.Codec.encoding_table["51714"] = [164,88] let s:lib.Codec.encoding_table["51715"] = [164,89] let s:lib.Codec.encoding_table["51716"] = [164,90] let s:lib.Codec.encoding_table["51717"] = [164,97] let s:lib.Codec.encoding_table["51718"] = [164,98] let s:lib.Codec.encoding_table["51719"] = [164,99] let s:lib.Codec.encoding_table["51722"] = [164,100] let s:lib.Codec.encoding_table["51726"] = [164,101] let s:lib.Codec.encoding_table["51727"] = [164,102] let s:lib.Codec.encoding_table["51728"] = [164,103] let s:lib.Codec.encoding_table["51729"] = [164,104] let s:lib.Codec.encoding_table["51730"] = [164,105] let s:lib.Codec.encoding_table["51731"] = [164,106] let s:lib.Codec.encoding_table["51733"] = [164,107] let s:lib.Codec.encoding_table["51734"] = [164,108] let s:lib.Codec.encoding_table["51735"] = [164,109] let s:lib.Codec.encoding_table["51737"] = [164,110] let s:lib.Codec.encoding_table["51738"] = [164,111] let s:lib.Codec.encoding_table["51739"] = [164,112] let s:lib.Codec.encoding_table["51740"] = [164,113] let s:lib.Codec.encoding_table["51741"] = [164,114] let s:lib.Codec.encoding_table["51742"] = [164,115] let s:lib.Codec.encoding_table["51743"] = [164,116] let s:lib.Codec.encoding_table["51744"] = [164,117] let s:lib.Codec.encoding_table["51745"] = [164,118] let s:lib.Codec.encoding_table["51746"] = [164,119] let s:lib.Codec.encoding_table["51747"] = [164,120] let s:lib.Codec.encoding_table["51748"] = [164,121] let s:lib.Codec.encoding_table["51749"] = [164,122] let s:lib.Codec.encoding_table["51750"] = [164,129] let s:lib.Codec.encoding_table["51751"] = [164,130] let s:lib.Codec.encoding_table["51752"] = [164,131] let s:lib.Codec.encoding_table["51754"] = [164,132] let s:lib.Codec.encoding_table["51755"] = [164,133] let s:lib.Codec.encoding_table["51756"] = [164,134] let s:lib.Codec.encoding_table["51757"] = [164,135] let s:lib.Codec.encoding_table["51758"] = [164,136] let s:lib.Codec.encoding_table["51759"] = [164,137] let s:lib.Codec.encoding_table["51760"] = [164,138] let s:lib.Codec.encoding_table["51761"] = [164,139] let s:lib.Codec.encoding_table["51762"] = [164,140] let s:lib.Codec.encoding_table["51763"] = [164,141] let s:lib.Codec.encoding_table["51764"] = [164,142] let s:lib.Codec.encoding_table["51765"] = [164,143] let s:lib.Codec.encoding_table["51766"] = [164,144] let s:lib.Codec.encoding_table["51767"] = [164,145] let s:lib.Codec.encoding_table["51768"] = [164,146] let s:lib.Codec.encoding_table["51769"] = [164,147] let s:lib.Codec.encoding_table["51770"] = [164,148] let s:lib.Codec.encoding_table["51771"] = [164,149] let s:lib.Codec.encoding_table["51772"] = [164,150] let s:lib.Codec.encoding_table["51773"] = [164,151] let s:lib.Codec.encoding_table["51774"] = [164,152] let s:lib.Codec.encoding_table["51775"] = [164,153] let s:lib.Codec.encoding_table["51776"] = [164,154] let s:lib.Codec.encoding_table["51777"] = [164,155] let s:lib.Codec.encoding_table["51778"] = [164,156] let s:lib.Codec.encoding_table["51779"] = [164,157] let s:lib.Codec.encoding_table["51780"] = [164,158] let s:lib.Codec.encoding_table["51781"] = [164,159] let s:lib.Codec.encoding_table["51782"] = [164,160] let s:lib.Codec.encoding_table["12593"] = [164,161] let s:lib.Codec.encoding_table["12594"] = [164,162] let s:lib.Codec.encoding_table["12595"] = [164,163] let s:lib.Codec.encoding_table["12596"] = [164,164] let s:lib.Codec.encoding_table["12597"] = [164,165] let s:lib.Codec.encoding_table["12598"] = [164,166] let s:lib.Codec.encoding_table["12599"] = [164,167] let s:lib.Codec.encoding_table["12600"] = [164,168] let s:lib.Codec.encoding_table["12601"] = [164,169] let s:lib.Codec.encoding_table["12602"] = [164,170] let s:lib.Codec.encoding_table["12603"] = [164,171] let s:lib.Codec.encoding_table["12604"] = [164,172] let s:lib.Codec.encoding_table["12605"] = [164,173] let s:lib.Codec.encoding_table["12606"] = [164,174] let s:lib.Codec.encoding_table["12607"] = [164,175] let s:lib.Codec.encoding_table["12608"] = [164,176] let s:lib.Codec.encoding_table["12609"] = [164,177] let s:lib.Codec.encoding_table["12610"] = [164,178] let s:lib.Codec.encoding_table["12611"] = [164,179] let s:lib.Codec.encoding_table["12612"] = [164,180] let s:lib.Codec.encoding_table["12613"] = [164,181] let s:lib.Codec.encoding_table["12614"] = [164,182] let s:lib.Codec.encoding_table["12615"] = [164,183] let s:lib.Codec.encoding_table["12616"] = [164,184] let s:lib.Codec.encoding_table["12617"] = [164,185] let s:lib.Codec.encoding_table["12618"] = [164,186] let s:lib.Codec.encoding_table["12619"] = [164,187] let s:lib.Codec.encoding_table["12620"] = [164,188] let s:lib.Codec.encoding_table["12621"] = [164,189] let s:lib.Codec.encoding_table["12622"] = [164,190] let s:lib.Codec.encoding_table["12623"] = [164,191] let s:lib.Codec.encoding_table["12624"] = [164,192] let s:lib.Codec.encoding_table["12625"] = [164,193] let s:lib.Codec.encoding_table["12626"] = [164,194] let s:lib.Codec.encoding_table["12627"] = [164,195] let s:lib.Codec.encoding_table["12628"] = [164,196] let s:lib.Codec.encoding_table["12629"] = [164,197] let s:lib.Codec.encoding_table["12630"] = [164,198] let s:lib.Codec.encoding_table["12631"] = [164,199] let s:lib.Codec.encoding_table["12632"] = [164,200] let s:lib.Codec.encoding_table["12633"] = [164,201] let s:lib.Codec.encoding_table["12634"] = [164,202] let s:lib.Codec.encoding_table["12635"] = [164,203] let s:lib.Codec.encoding_table["12636"] = [164,204] let s:lib.Codec.encoding_table["12637"] = [164,205] let s:lib.Codec.encoding_table["12638"] = [164,206] let s:lib.Codec.encoding_table["12639"] = [164,207] let s:lib.Codec.encoding_table["12640"] = [164,208] let s:lib.Codec.encoding_table["12641"] = [164,209] let s:lib.Codec.encoding_table["12642"] = [164,210] let s:lib.Codec.encoding_table["12643"] = [164,211] let s:lib.Codec.encoding_table["12644"] = [164,212] let s:lib.Codec.encoding_table["12645"] = [164,213] let s:lib.Codec.encoding_table["12646"] = [164,214] let s:lib.Codec.encoding_table["12647"] = [164,215] let s:lib.Codec.encoding_table["12648"] = [164,216] let s:lib.Codec.encoding_table["12649"] = [164,217] let s:lib.Codec.encoding_table["12650"] = [164,218] let s:lib.Codec.encoding_table["12651"] = [164,219] let s:lib.Codec.encoding_table["12652"] = [164,220] let s:lib.Codec.encoding_table["12653"] = [164,221] let s:lib.Codec.encoding_table["12654"] = [164,222] let s:lib.Codec.encoding_table["12655"] = [164,223] let s:lib.Codec.encoding_table["12656"] = [164,224] let s:lib.Codec.encoding_table["12657"] = [164,225] let s:lib.Codec.encoding_table["12658"] = [164,226] let s:lib.Codec.encoding_table["12659"] = [164,227] let s:lib.Codec.encoding_table["12660"] = [164,228] let s:lib.Codec.encoding_table["12661"] = [164,229] let s:lib.Codec.encoding_table["12662"] = [164,230] let s:lib.Codec.encoding_table["12663"] = [164,231] let s:lib.Codec.encoding_table["12664"] = [164,232] let s:lib.Codec.encoding_table["12665"] = [164,233] let s:lib.Codec.encoding_table["12666"] = [164,234] let s:lib.Codec.encoding_table["12667"] = [164,235] let s:lib.Codec.encoding_table["12668"] = [164,236] let s:lib.Codec.encoding_table["12669"] = [164,237] let s:lib.Codec.encoding_table["12670"] = [164,238] let s:lib.Codec.encoding_table["12671"] = [164,239] let s:lib.Codec.encoding_table["12672"] = [164,240] let s:lib.Codec.encoding_table["12673"] = [164,241] let s:lib.Codec.encoding_table["12674"] = [164,242] let s:lib.Codec.encoding_table["12675"] = [164,243] let s:lib.Codec.encoding_table["12676"] = [164,244] let s:lib.Codec.encoding_table["12677"] = [164,245] let s:lib.Codec.encoding_table["12678"] = [164,246] let s:lib.Codec.encoding_table["12679"] = [164,247] let s:lib.Codec.encoding_table["12680"] = [164,248] let s:lib.Codec.encoding_table["12681"] = [164,249] let s:lib.Codec.encoding_table["12682"] = [164,250] let s:lib.Codec.encoding_table["12683"] = [164,251] let s:lib.Codec.encoding_table["12684"] = [164,252] let s:lib.Codec.encoding_table["12685"] = [164,253] let s:lib.Codec.encoding_table["12686"] = [164,254] let s:lib.Codec.encoding_table["51783"] = [165,65] let s:lib.Codec.encoding_table["51784"] = [165,66] let s:lib.Codec.encoding_table["51785"] = [165,67] let s:lib.Codec.encoding_table["51786"] = [165,68] let s:lib.Codec.encoding_table["51787"] = [165,69] let s:lib.Codec.encoding_table["51790"] = [165,70] let s:lib.Codec.encoding_table["51791"] = [165,71] let s:lib.Codec.encoding_table["51793"] = [165,72] let s:lib.Codec.encoding_table["51794"] = [165,73] let s:lib.Codec.encoding_table["51795"] = [165,74] let s:lib.Codec.encoding_table["51797"] = [165,75] let s:lib.Codec.encoding_table["51798"] = [165,76] let s:lib.Codec.encoding_table["51799"] = [165,77] let s:lib.Codec.encoding_table["51800"] = [165,78] let s:lib.Codec.encoding_table["51801"] = [165,79] let s:lib.Codec.encoding_table["51802"] = [165,80] let s:lib.Codec.encoding_table["51803"] = [165,81] let s:lib.Codec.encoding_table["51806"] = [165,82] let s:lib.Codec.encoding_table["51810"] = [165,83] let s:lib.Codec.encoding_table["51811"] = [165,84] let s:lib.Codec.encoding_table["51812"] = [165,85] let s:lib.Codec.encoding_table["51813"] = [165,86] let s:lib.Codec.encoding_table["51814"] = [165,87] let s:lib.Codec.encoding_table["51815"] = [165,88] let s:lib.Codec.encoding_table["51817"] = [165,89] let s:lib.Codec.encoding_table["51818"] = [165,90] let s:lib.Codec.encoding_table["51819"] = [165,97] let s:lib.Codec.encoding_table["51820"] = [165,98] let s:lib.Codec.encoding_table["51821"] = [165,99] let s:lib.Codec.encoding_table["51822"] = [165,100] let s:lib.Codec.encoding_table["51823"] = [165,101] let s:lib.Codec.encoding_table["51824"] = [165,102] let s:lib.Codec.encoding_table["51825"] = [165,103] let s:lib.Codec.encoding_table["51826"] = [165,104] let s:lib.Codec.encoding_table["51827"] = [165,105] let s:lib.Codec.encoding_table["51828"] = [165,106] let s:lib.Codec.encoding_table["51829"] = [165,107] let s:lib.Codec.encoding_table["51830"] = [165,108] let s:lib.Codec.encoding_table["51831"] = [165,109] let s:lib.Codec.encoding_table["51832"] = [165,110] let s:lib.Codec.encoding_table["51833"] = [165,111] let s:lib.Codec.encoding_table["51834"] = [165,112] let s:lib.Codec.encoding_table["51835"] = [165,113] let s:lib.Codec.encoding_table["51836"] = [165,114] let s:lib.Codec.encoding_table["51838"] = [165,115] let s:lib.Codec.encoding_table["51839"] = [165,116] let s:lib.Codec.encoding_table["51840"] = [165,117] let s:lib.Codec.encoding_table["51841"] = [165,118] let s:lib.Codec.encoding_table["51842"] = [165,119] let s:lib.Codec.encoding_table["51843"] = [165,120] let s:lib.Codec.encoding_table["51845"] = [165,121] let s:lib.Codec.encoding_table["51846"] = [165,122] let s:lib.Codec.encoding_table["51847"] = [165,129] let s:lib.Codec.encoding_table["51848"] = [165,130] let s:lib.Codec.encoding_table["51849"] = [165,131] let s:lib.Codec.encoding_table["51850"] = [165,132] let s:lib.Codec.encoding_table["51851"] = [165,133] let s:lib.Codec.encoding_table["51852"] = [165,134] let s:lib.Codec.encoding_table["51853"] = [165,135] let s:lib.Codec.encoding_table["51854"] = [165,136] let s:lib.Codec.encoding_table["51855"] = [165,137] let s:lib.Codec.encoding_table["51856"] = [165,138] let s:lib.Codec.encoding_table["51857"] = [165,139] let s:lib.Codec.encoding_table["51858"] = [165,140] let s:lib.Codec.encoding_table["51859"] = [165,141] let s:lib.Codec.encoding_table["51860"] = [165,142] let s:lib.Codec.encoding_table["51861"] = [165,143] let s:lib.Codec.encoding_table["51862"] = [165,144] let s:lib.Codec.encoding_table["51863"] = [165,145] let s:lib.Codec.encoding_table["51865"] = [165,146] let s:lib.Codec.encoding_table["51866"] = [165,147] let s:lib.Codec.encoding_table["51867"] = [165,148] let s:lib.Codec.encoding_table["51868"] = [165,149] let s:lib.Codec.encoding_table["51869"] = [165,150] let s:lib.Codec.encoding_table["51870"] = [165,151] let s:lib.Codec.encoding_table["51871"] = [165,152] let s:lib.Codec.encoding_table["51872"] = [165,153] let s:lib.Codec.encoding_table["51873"] = [165,154] let s:lib.Codec.encoding_table["51874"] = [165,155] let s:lib.Codec.encoding_table["51875"] = [165,156] let s:lib.Codec.encoding_table["51876"] = [165,157] let s:lib.Codec.encoding_table["51877"] = [165,158] let s:lib.Codec.encoding_table["51878"] = [165,159] let s:lib.Codec.encoding_table["51879"] = [165,160] let s:lib.Codec.encoding_table["8560"] = [165,161] let s:lib.Codec.encoding_table["8561"] = [165,162] let s:lib.Codec.encoding_table["8562"] = [165,163] let s:lib.Codec.encoding_table["8563"] = [165,164] let s:lib.Codec.encoding_table["8564"] = [165,165] let s:lib.Codec.encoding_table["8565"] = [165,166] let s:lib.Codec.encoding_table["8566"] = [165,167] let s:lib.Codec.encoding_table["8567"] = [165,168] let s:lib.Codec.encoding_table["8568"] = [165,169] let s:lib.Codec.encoding_table["8569"] = [165,170] let s:lib.Codec.encoding_table["8544"] = [165,176] let s:lib.Codec.encoding_table["8545"] = [165,177] let s:lib.Codec.encoding_table["8546"] = [165,178] let s:lib.Codec.encoding_table["8547"] = [165,179] let s:lib.Codec.encoding_table["8548"] = [165,180] let s:lib.Codec.encoding_table["8549"] = [165,181] let s:lib.Codec.encoding_table["8550"] = [165,182] let s:lib.Codec.encoding_table["8551"] = [165,183] let s:lib.Codec.encoding_table["8552"] = [165,184] let s:lib.Codec.encoding_table["8553"] = [165,185] let s:lib.Codec.encoding_table["913"] = [165,193] let s:lib.Codec.encoding_table["914"] = [165,194] let s:lib.Codec.encoding_table["915"] = [165,195] let s:lib.Codec.encoding_table["916"] = [165,196] let s:lib.Codec.encoding_table["917"] = [165,197] let s:lib.Codec.encoding_table["918"] = [165,198] let s:lib.Codec.encoding_table["919"] = [165,199] let s:lib.Codec.encoding_table["920"] = [165,200] let s:lib.Codec.encoding_table["921"] = [165,201] let s:lib.Codec.encoding_table["922"] = [165,202] let s:lib.Codec.encoding_table["923"] = [165,203] let s:lib.Codec.encoding_table["924"] = [165,204] let s:lib.Codec.encoding_table["925"] = [165,205] let s:lib.Codec.encoding_table["926"] = [165,206] let s:lib.Codec.encoding_table["927"] = [165,207] let s:lib.Codec.encoding_table["928"] = [165,208] let s:lib.Codec.encoding_table["929"] = [165,209] let s:lib.Codec.encoding_table["931"] = [165,210] let s:lib.Codec.encoding_table["932"] = [165,211] let s:lib.Codec.encoding_table["933"] = [165,212] let s:lib.Codec.encoding_table["934"] = [165,213] let s:lib.Codec.encoding_table["935"] = [165,214] let s:lib.Codec.encoding_table["936"] = [165,215] let s:lib.Codec.encoding_table["937"] = [165,216] let s:lib.Codec.encoding_table["945"] = [165,225] let s:lib.Codec.encoding_table["946"] = [165,226] let s:lib.Codec.encoding_table["947"] = [165,227] let s:lib.Codec.encoding_table["948"] = [165,228] let s:lib.Codec.encoding_table["949"] = [165,229] let s:lib.Codec.encoding_table["950"] = [165,230] let s:lib.Codec.encoding_table["951"] = [165,231] let s:lib.Codec.encoding_table["952"] = [165,232] let s:lib.Codec.encoding_table["953"] = [165,233] let s:lib.Codec.encoding_table["954"] = [165,234] let s:lib.Codec.encoding_table["955"] = [165,235] let s:lib.Codec.encoding_table["956"] = [165,236] let s:lib.Codec.encoding_table["957"] = [165,237] let s:lib.Codec.encoding_table["958"] = [165,238] let s:lib.Codec.encoding_table["959"] = [165,239] let s:lib.Codec.encoding_table["960"] = [165,240] let s:lib.Codec.encoding_table["961"] = [165,241] let s:lib.Codec.encoding_table["963"] = [165,242] let s:lib.Codec.encoding_table["964"] = [165,243] let s:lib.Codec.encoding_table["965"] = [165,244] let s:lib.Codec.encoding_table["966"] = [165,245] let s:lib.Codec.encoding_table["967"] = [165,246] let s:lib.Codec.encoding_table["968"] = [165,247] let s:lib.Codec.encoding_table["969"] = [165,248] let s:lib.Codec.encoding_table["51880"] = [166,65] let s:lib.Codec.encoding_table["51881"] = [166,66] let s:lib.Codec.encoding_table["51882"] = [166,67] let s:lib.Codec.encoding_table["51883"] = [166,68] let s:lib.Codec.encoding_table["51884"] = [166,69] let s:lib.Codec.encoding_table["51885"] = [166,70] let s:lib.Codec.encoding_table["51886"] = [166,71] let s:lib.Codec.encoding_table["51887"] = [166,72] let s:lib.Codec.encoding_table["51888"] = [166,73] let s:lib.Codec.encoding_table["51889"] = [166,74] let s:lib.Codec.encoding_table["51890"] = [166,75] let s:lib.Codec.encoding_table["51891"] = [166,76] let s:lib.Codec.encoding_table["51892"] = [166,77] let s:lib.Codec.encoding_table["51893"] = [166,78] let s:lib.Codec.encoding_table["51894"] = [166,79] let s:lib.Codec.encoding_table["51895"] = [166,80] let s:lib.Codec.encoding_table["51896"] = [166,81] let s:lib.Codec.encoding_table["51897"] = [166,82] let s:lib.Codec.encoding_table["51898"] = [166,83] let s:lib.Codec.encoding_table["51899"] = [166,84] let s:lib.Codec.encoding_table["51902"] = [166,85] let s:lib.Codec.encoding_table["51903"] = [166,86] let s:lib.Codec.encoding_table["51905"] = [166,87] let s:lib.Codec.encoding_table["51906"] = [166,88] let s:lib.Codec.encoding_table["51907"] = [166,89] let s:lib.Codec.encoding_table["51909"] = [166,90] let s:lib.Codec.encoding_table["51910"] = [166,97] let s:lib.Codec.encoding_table["51911"] = [166,98] let s:lib.Codec.encoding_table["51912"] = [166,99] let s:lib.Codec.encoding_table["51913"] = [166,100] let s:lib.Codec.encoding_table["51914"] = [166,101] let s:lib.Codec.encoding_table["51915"] = [166,102] let s:lib.Codec.encoding_table["51918"] = [166,103] let s:lib.Codec.encoding_table["51920"] = [166,104] let s:lib.Codec.encoding_table["51922"] = [166,105] let s:lib.Codec.encoding_table["51924"] = [166,106] let s:lib.Codec.encoding_table["51925"] = [166,107] let s:lib.Codec.encoding_table["51926"] = [166,108] let s:lib.Codec.encoding_table["51927"] = [166,109] let s:lib.Codec.encoding_table["51930"] = [166,110] let s:lib.Codec.encoding_table["51931"] = [166,111] let s:lib.Codec.encoding_table["51932"] = [166,112] let s:lib.Codec.encoding_table["51933"] = [166,113] let s:lib.Codec.encoding_table["51934"] = [166,114] let s:lib.Codec.encoding_table["51935"] = [166,115] let s:lib.Codec.encoding_table["51937"] = [166,116] let s:lib.Codec.encoding_table["51938"] = [166,117] let s:lib.Codec.encoding_table["51939"] = [166,118] let s:lib.Codec.encoding_table["51940"] = [166,119] let s:lib.Codec.encoding_table["51941"] = [166,120] let s:lib.Codec.encoding_table["51942"] = [166,121] let s:lib.Codec.encoding_table["51943"] = [166,122] let s:lib.Codec.encoding_table["51944"] = [166,129] let s:lib.Codec.encoding_table["51945"] = [166,130] let s:lib.Codec.encoding_table["51946"] = [166,131] let s:lib.Codec.encoding_table["51947"] = [166,132] let s:lib.Codec.encoding_table["51949"] = [166,133] let s:lib.Codec.encoding_table["51950"] = [166,134] let s:lib.Codec.encoding_table["51951"] = [166,135] let s:lib.Codec.encoding_table["51952"] = [166,136] let s:lib.Codec.encoding_table["51953"] = [166,137] let s:lib.Codec.encoding_table["51954"] = [166,138] let s:lib.Codec.encoding_table["51955"] = [166,139] let s:lib.Codec.encoding_table["51957"] = [166,140] let s:lib.Codec.encoding_table["51958"] = [166,141] let s:lib.Codec.encoding_table["51959"] = [166,142] let s:lib.Codec.encoding_table["51960"] = [166,143] let s:lib.Codec.encoding_table["51961"] = [166,144] let s:lib.Codec.encoding_table["51962"] = [166,145] let s:lib.Codec.encoding_table["51963"] = [166,146] let s:lib.Codec.encoding_table["51964"] = [166,147] let s:lib.Codec.encoding_table["51965"] = [166,148] let s:lib.Codec.encoding_table["51966"] = [166,149] let s:lib.Codec.encoding_table["51967"] = [166,150] let s:lib.Codec.encoding_table["51968"] = [166,151] let s:lib.Codec.encoding_table["51969"] = [166,152] let s:lib.Codec.encoding_table["51970"] = [166,153] let s:lib.Codec.encoding_table["51971"] = [166,154] let s:lib.Codec.encoding_table["51972"] = [166,155] let s:lib.Codec.encoding_table["51973"] = [166,156] let s:lib.Codec.encoding_table["51974"] = [166,157] let s:lib.Codec.encoding_table["51975"] = [166,158] let s:lib.Codec.encoding_table["51977"] = [166,159] let s:lib.Codec.encoding_table["51978"] = [166,160] let s:lib.Codec.encoding_table["9472"] = [166,161] let s:lib.Codec.encoding_table["9474"] = [166,162] let s:lib.Codec.encoding_table["9484"] = [166,163] let s:lib.Codec.encoding_table["9488"] = [166,164] let s:lib.Codec.encoding_table["9496"] = [166,165] let s:lib.Codec.encoding_table["9492"] = [166,166] let s:lib.Codec.encoding_table["9500"] = [166,167] let s:lib.Codec.encoding_table["9516"] = [166,168] let s:lib.Codec.encoding_table["9508"] = [166,169] let s:lib.Codec.encoding_table["9524"] = [166,170] let s:lib.Codec.encoding_table["9532"] = [166,171] let s:lib.Codec.encoding_table["9473"] = [166,172] let s:lib.Codec.encoding_table["9475"] = [166,173] let s:lib.Codec.encoding_table["9487"] = [166,174] let s:lib.Codec.encoding_table["9491"] = [166,175] let s:lib.Codec.encoding_table["9499"] = [166,176] let s:lib.Codec.encoding_table["9495"] = [166,177] let s:lib.Codec.encoding_table["9507"] = [166,178] let s:lib.Codec.encoding_table["9523"] = [166,179] let s:lib.Codec.encoding_table["9515"] = [166,180] let s:lib.Codec.encoding_table["9531"] = [166,181] let s:lib.Codec.encoding_table["9547"] = [166,182] let s:lib.Codec.encoding_table["9504"] = [166,183] let s:lib.Codec.encoding_table["9519"] = [166,184] let s:lib.Codec.encoding_table["9512"] = [166,185] let s:lib.Codec.encoding_table["9527"] = [166,186] let s:lib.Codec.encoding_table["9535"] = [166,187] let s:lib.Codec.encoding_table["9501"] = [166,188] let s:lib.Codec.encoding_table["9520"] = [166,189] let s:lib.Codec.encoding_table["9509"] = [166,190] let s:lib.Codec.encoding_table["9528"] = [166,191] let s:lib.Codec.encoding_table["9538"] = [166,192] let s:lib.Codec.encoding_table["9490"] = [166,193] let s:lib.Codec.encoding_table["9489"] = [166,194] let s:lib.Codec.encoding_table["9498"] = [166,195] let s:lib.Codec.encoding_table["9497"] = [166,196] let s:lib.Codec.encoding_table["9494"] = [166,197] let s:lib.Codec.encoding_table["9493"] = [166,198] let s:lib.Codec.encoding_table["9486"] = [166,199] let s:lib.Codec.encoding_table["9485"] = [166,200] let s:lib.Codec.encoding_table["9502"] = [166,201] let s:lib.Codec.encoding_table["9503"] = [166,202] let s:lib.Codec.encoding_table["9505"] = [166,203] let s:lib.Codec.encoding_table["9506"] = [166,204] let s:lib.Codec.encoding_table["9510"] = [166,205] let s:lib.Codec.encoding_table["9511"] = [166,206] let s:lib.Codec.encoding_table["9513"] = [166,207] let s:lib.Codec.encoding_table["9514"] = [166,208] let s:lib.Codec.encoding_table["9517"] = [166,209] let s:lib.Codec.encoding_table["9518"] = [166,210] let s:lib.Codec.encoding_table["9521"] = [166,211] let s:lib.Codec.encoding_table["9522"] = [166,212] let s:lib.Codec.encoding_table["9525"] = [166,213] let s:lib.Codec.encoding_table["9526"] = [166,214] let s:lib.Codec.encoding_table["9529"] = [166,215] let s:lib.Codec.encoding_table["9530"] = [166,216] let s:lib.Codec.encoding_table["9533"] = [166,217] let s:lib.Codec.encoding_table["9534"] = [166,218] let s:lib.Codec.encoding_table["9536"] = [166,219] let s:lib.Codec.encoding_table["9537"] = [166,220] let s:lib.Codec.encoding_table["9539"] = [166,221] let s:lib.Codec.encoding_table["9540"] = [166,222] let s:lib.Codec.encoding_table["9541"] = [166,223] let s:lib.Codec.encoding_table["9542"] = [166,224] let s:lib.Codec.encoding_table["9543"] = [166,225] let s:lib.Codec.encoding_table["9544"] = [166,226] let s:lib.Codec.encoding_table["9545"] = [166,227] let s:lib.Codec.encoding_table["9546"] = [166,228] let s:lib.Codec.encoding_table["51979"] = [167,65] let s:lib.Codec.encoding_table["51980"] = [167,66] let s:lib.Codec.encoding_table["51981"] = [167,67] let s:lib.Codec.encoding_table["51982"] = [167,68] let s:lib.Codec.encoding_table["51983"] = [167,69] let s:lib.Codec.encoding_table["51985"] = [167,70] let s:lib.Codec.encoding_table["51986"] = [167,71] let s:lib.Codec.encoding_table["51987"] = [167,72] let s:lib.Codec.encoding_table["51989"] = [167,73] let s:lib.Codec.encoding_table["51990"] = [167,74] let s:lib.Codec.encoding_table["51991"] = [167,75] let s:lib.Codec.encoding_table["51993"] = [167,76] let s:lib.Codec.encoding_table["51994"] = [167,77] let s:lib.Codec.encoding_table["51995"] = [167,78] let s:lib.Codec.encoding_table["51996"] = [167,79] let s:lib.Codec.encoding_table["51997"] = [167,80] let s:lib.Codec.encoding_table["51998"] = [167,81] let s:lib.Codec.encoding_table["51999"] = [167,82] let s:lib.Codec.encoding_table["52002"] = [167,83] let s:lib.Codec.encoding_table["52003"] = [167,84] let s:lib.Codec.encoding_table["52004"] = [167,85] let s:lib.Codec.encoding_table["52005"] = [167,86] let s:lib.Codec.encoding_table["52006"] = [167,87] let s:lib.Codec.encoding_table["52007"] = [167,88] let s:lib.Codec.encoding_table["52008"] = [167,89] let s:lib.Codec.encoding_table["52009"] = [167,90] let s:lib.Codec.encoding_table["52010"] = [167,97] let s:lib.Codec.encoding_table["52011"] = [167,98] let s:lib.Codec.encoding_table["52012"] = [167,99] let s:lib.Codec.encoding_table["52013"] = [167,100] let s:lib.Codec.encoding_table["52014"] = [167,101] let s:lib.Codec.encoding_table["52015"] = [167,102] let s:lib.Codec.encoding_table["52016"] = [167,103] let s:lib.Codec.encoding_table["52017"] = [167,104] let s:lib.Codec.encoding_table["52018"] = [167,105] let s:lib.Codec.encoding_table["52019"] = [167,106] let s:lib.Codec.encoding_table["52020"] = [167,107] let s:lib.Codec.encoding_table["52021"] = [167,108] let s:lib.Codec.encoding_table["52022"] = [167,109] let s:lib.Codec.encoding_table["52023"] = [167,110] let s:lib.Codec.encoding_table["52024"] = [167,111] let s:lib.Codec.encoding_table["52025"] = [167,112] let s:lib.Codec.encoding_table["52026"] = [167,113] let s:lib.Codec.encoding_table["52027"] = [167,114] let s:lib.Codec.encoding_table["52028"] = [167,115] let s:lib.Codec.encoding_table["52029"] = [167,116] let s:lib.Codec.encoding_table["52030"] = [167,117] let s:lib.Codec.encoding_table["52031"] = [167,118] let s:lib.Codec.encoding_table["52032"] = [167,119] let s:lib.Codec.encoding_table["52034"] = [167,120] let s:lib.Codec.encoding_table["52035"] = [167,121] let s:lib.Codec.encoding_table["52036"] = [167,122] let s:lib.Codec.encoding_table["52037"] = [167,129] let s:lib.Codec.encoding_table["52038"] = [167,130] let s:lib.Codec.encoding_table["52039"] = [167,131] let s:lib.Codec.encoding_table["52042"] = [167,132] let s:lib.Codec.encoding_table["52043"] = [167,133] let s:lib.Codec.encoding_table["52045"] = [167,134] let s:lib.Codec.encoding_table["52046"] = [167,135] let s:lib.Codec.encoding_table["52047"] = [167,136] let s:lib.Codec.encoding_table["52049"] = [167,137] let s:lib.Codec.encoding_table["52050"] = [167,138] let s:lib.Codec.encoding_table["52051"] = [167,139] let s:lib.Codec.encoding_table["52052"] = [167,140] let s:lib.Codec.encoding_table["52053"] = [167,141] let s:lib.Codec.encoding_table["52054"] = [167,142] let s:lib.Codec.encoding_table["52055"] = [167,143] let s:lib.Codec.encoding_table["52058"] = [167,144] let s:lib.Codec.encoding_table["52059"] = [167,145] let s:lib.Codec.encoding_table["52060"] = [167,146] let s:lib.Codec.encoding_table["52062"] = [167,147] let s:lib.Codec.encoding_table["52063"] = [167,148] let s:lib.Codec.encoding_table["52064"] = [167,149] let s:lib.Codec.encoding_table["52065"] = [167,150] let s:lib.Codec.encoding_table["52066"] = [167,151] let s:lib.Codec.encoding_table["52067"] = [167,152] let s:lib.Codec.encoding_table["52069"] = [167,153] let s:lib.Codec.encoding_table["52070"] = [167,154] let s:lib.Codec.encoding_table["52071"] = [167,155] let s:lib.Codec.encoding_table["52072"] = [167,156] let s:lib.Codec.encoding_table["52073"] = [167,157] let s:lib.Codec.encoding_table["52074"] = [167,158] let s:lib.Codec.encoding_table["52075"] = [167,159] let s:lib.Codec.encoding_table["52076"] = [167,160] let s:lib.Codec.encoding_table["13205"] = [167,161] let s:lib.Codec.encoding_table["13206"] = [167,162] let s:lib.Codec.encoding_table["13207"] = [167,163] let s:lib.Codec.encoding_table["8467"] = [167,164] let s:lib.Codec.encoding_table["13208"] = [167,165] let s:lib.Codec.encoding_table["13252"] = [167,166] let s:lib.Codec.encoding_table["13219"] = [167,167] let s:lib.Codec.encoding_table["13220"] = [167,168] let s:lib.Codec.encoding_table["13221"] = [167,169] let s:lib.Codec.encoding_table["13222"] = [167,170] let s:lib.Codec.encoding_table["13209"] = [167,171] let s:lib.Codec.encoding_table["13210"] = [167,172] let s:lib.Codec.encoding_table["13211"] = [167,173] let s:lib.Codec.encoding_table["13212"] = [167,174] let s:lib.Codec.encoding_table["13213"] = [167,175] let s:lib.Codec.encoding_table["13214"] = [167,176] let s:lib.Codec.encoding_table["13215"] = [167,177] let s:lib.Codec.encoding_table["13216"] = [167,178] let s:lib.Codec.encoding_table["13217"] = [167,179] let s:lib.Codec.encoding_table["13218"] = [167,180] let s:lib.Codec.encoding_table["13258"] = [167,181] let s:lib.Codec.encoding_table["13197"] = [167,182] let s:lib.Codec.encoding_table["13198"] = [167,183] let s:lib.Codec.encoding_table["13199"] = [167,184] let s:lib.Codec.encoding_table["13263"] = [167,185] let s:lib.Codec.encoding_table["13192"] = [167,186] let s:lib.Codec.encoding_table["13193"] = [167,187] let s:lib.Codec.encoding_table["13256"] = [167,188] let s:lib.Codec.encoding_table["13223"] = [167,189] let s:lib.Codec.encoding_table["13224"] = [167,190] let s:lib.Codec.encoding_table["13232"] = [167,191] let s:lib.Codec.encoding_table["13233"] = [167,192] let s:lib.Codec.encoding_table["13234"] = [167,193] let s:lib.Codec.encoding_table["13235"] = [167,194] let s:lib.Codec.encoding_table["13236"] = [167,195] let s:lib.Codec.encoding_table["13237"] = [167,196] let s:lib.Codec.encoding_table["13238"] = [167,197] let s:lib.Codec.encoding_table["13239"] = [167,198] let s:lib.Codec.encoding_table["13240"] = [167,199] let s:lib.Codec.encoding_table["13241"] = [167,200] let s:lib.Codec.encoding_table["13184"] = [167,201] let s:lib.Codec.encoding_table["13185"] = [167,202] let s:lib.Codec.encoding_table["13186"] = [167,203] let s:lib.Codec.encoding_table["13187"] = [167,204] let s:lib.Codec.encoding_table["13188"] = [167,205] let s:lib.Codec.encoding_table["13242"] = [167,206] let s:lib.Codec.encoding_table["13243"] = [167,207] let s:lib.Codec.encoding_table["13244"] = [167,208] let s:lib.Codec.encoding_table["13245"] = [167,209] let s:lib.Codec.encoding_table["13246"] = [167,210] let s:lib.Codec.encoding_table["13247"] = [167,211] let s:lib.Codec.encoding_table["13200"] = [167,212] let s:lib.Codec.encoding_table["13201"] = [167,213] let s:lib.Codec.encoding_table["13202"] = [167,214] let s:lib.Codec.encoding_table["13203"] = [167,215] let s:lib.Codec.encoding_table["13204"] = [167,216] let s:lib.Codec.encoding_table["8486"] = [167,217] let s:lib.Codec.encoding_table["13248"] = [167,218] let s:lib.Codec.encoding_table["13249"] = [167,219] let s:lib.Codec.encoding_table["13194"] = [167,220] let s:lib.Codec.encoding_table["13195"] = [167,221] let s:lib.Codec.encoding_table["13196"] = [167,222] let s:lib.Codec.encoding_table["13270"] = [167,223] let s:lib.Codec.encoding_table["13253"] = [167,224] let s:lib.Codec.encoding_table["13229"] = [167,225] let s:lib.Codec.encoding_table["13230"] = [167,226] let s:lib.Codec.encoding_table["13231"] = [167,227] let s:lib.Codec.encoding_table["13275"] = [167,228] let s:lib.Codec.encoding_table["13225"] = [167,229] let s:lib.Codec.encoding_table["13226"] = [167,230] let s:lib.Codec.encoding_table["13227"] = [167,231] let s:lib.Codec.encoding_table["13228"] = [167,232] let s:lib.Codec.encoding_table["13277"] = [167,233] let s:lib.Codec.encoding_table["13264"] = [167,234] let s:lib.Codec.encoding_table["13267"] = [167,235] let s:lib.Codec.encoding_table["13251"] = [167,236] let s:lib.Codec.encoding_table["13257"] = [167,237] let s:lib.Codec.encoding_table["13276"] = [167,238] let s:lib.Codec.encoding_table["13254"] = [167,239] let s:lib.Codec.encoding_table["52077"] = [168,65] let s:lib.Codec.encoding_table["52078"] = [168,66] let s:lib.Codec.encoding_table["52079"] = [168,67] let s:lib.Codec.encoding_table["52080"] = [168,68] let s:lib.Codec.encoding_table["52081"] = [168,69] let s:lib.Codec.encoding_table["52082"] = [168,70] let s:lib.Codec.encoding_table["52083"] = [168,71] let s:lib.Codec.encoding_table["52084"] = [168,72] let s:lib.Codec.encoding_table["52085"] = [168,73] let s:lib.Codec.encoding_table["52086"] = [168,74] let s:lib.Codec.encoding_table["52087"] = [168,75] let s:lib.Codec.encoding_table["52090"] = [168,76] let s:lib.Codec.encoding_table["52091"] = [168,77] let s:lib.Codec.encoding_table["52092"] = [168,78] let s:lib.Codec.encoding_table["52093"] = [168,79] let s:lib.Codec.encoding_table["52094"] = [168,80] let s:lib.Codec.encoding_table["52095"] = [168,81] let s:lib.Codec.encoding_table["52096"] = [168,82] let s:lib.Codec.encoding_table["52097"] = [168,83] let s:lib.Codec.encoding_table["52098"] = [168,84] let s:lib.Codec.encoding_table["52099"] = [168,85] let s:lib.Codec.encoding_table["52100"] = [168,86] let s:lib.Codec.encoding_table["52101"] = [168,87] let s:lib.Codec.encoding_table["52102"] = [168,88] let s:lib.Codec.encoding_table["52103"] = [168,89] let s:lib.Codec.encoding_table["52104"] = [168,90] let s:lib.Codec.encoding_table["52105"] = [168,97] let s:lib.Codec.encoding_table["52106"] = [168,98] let s:lib.Codec.encoding_table["52107"] = [168,99] let s:lib.Codec.encoding_table["52108"] = [168,100] let s:lib.Codec.encoding_table["52109"] = [168,101] let s:lib.Codec.encoding_table["52110"] = [168,102] let s:lib.Codec.encoding_table["52111"] = [168,103] let s:lib.Codec.encoding_table["52112"] = [168,104] let s:lib.Codec.encoding_table["52113"] = [168,105] let s:lib.Codec.encoding_table["52114"] = [168,106] let s:lib.Codec.encoding_table["52115"] = [168,107] let s:lib.Codec.encoding_table["52116"] = [168,108] let s:lib.Codec.encoding_table["52117"] = [168,109] let s:lib.Codec.encoding_table["52118"] = [168,110] let s:lib.Codec.encoding_table["52119"] = [168,111] let s:lib.Codec.encoding_table["52120"] = [168,112] let s:lib.Codec.encoding_table["52121"] = [168,113] let s:lib.Codec.encoding_table["52122"] = [168,114] let s:lib.Codec.encoding_table["52123"] = [168,115] let s:lib.Codec.encoding_table["52125"] = [168,116] let s:lib.Codec.encoding_table["52126"] = [168,117] let s:lib.Codec.encoding_table["52127"] = [168,118] let s:lib.Codec.encoding_table["52128"] = [168,119] let s:lib.Codec.encoding_table["52129"] = [168,120] let s:lib.Codec.encoding_table["52130"] = [168,121] let s:lib.Codec.encoding_table["52131"] = [168,122] let s:lib.Codec.encoding_table["52132"] = [168,129] let s:lib.Codec.encoding_table["52133"] = [168,130] let s:lib.Codec.encoding_table["52134"] = [168,131] let s:lib.Codec.encoding_table["52135"] = [168,132] let s:lib.Codec.encoding_table["52136"] = [168,133] let s:lib.Codec.encoding_table["52137"] = [168,134] let s:lib.Codec.encoding_table["52138"] = [168,135] let s:lib.Codec.encoding_table["52139"] = [168,136] let s:lib.Codec.encoding_table["52140"] = [168,137] let s:lib.Codec.encoding_table["52141"] = [168,138] let s:lib.Codec.encoding_table["52142"] = [168,139] let s:lib.Codec.encoding_table["52143"] = [168,140] let s:lib.Codec.encoding_table["52144"] = [168,141] let s:lib.Codec.encoding_table["52145"] = [168,142] let s:lib.Codec.encoding_table["52146"] = [168,143] let s:lib.Codec.encoding_table["52147"] = [168,144] let s:lib.Codec.encoding_table["52148"] = [168,145] let s:lib.Codec.encoding_table["52149"] = [168,146] let s:lib.Codec.encoding_table["52150"] = [168,147] let s:lib.Codec.encoding_table["52151"] = [168,148] let s:lib.Codec.encoding_table["52153"] = [168,149] let s:lib.Codec.encoding_table["52154"] = [168,150] let s:lib.Codec.encoding_table["52155"] = [168,151] let s:lib.Codec.encoding_table["52156"] = [168,152] let s:lib.Codec.encoding_table["52157"] = [168,153] let s:lib.Codec.encoding_table["52158"] = [168,154] let s:lib.Codec.encoding_table["52159"] = [168,155] let s:lib.Codec.encoding_table["52160"] = [168,156] let s:lib.Codec.encoding_table["52161"] = [168,157] let s:lib.Codec.encoding_table["52162"] = [168,158] let s:lib.Codec.encoding_table["52163"] = [168,159] let s:lib.Codec.encoding_table["52164"] = [168,160] let s:lib.Codec.encoding_table["198"] = [168,161] let s:lib.Codec.encoding_table["208"] = [168,162] let s:lib.Codec.encoding_table["170"] = [168,163] let s:lib.Codec.encoding_table["294"] = [168,164] let s:lib.Codec.encoding_table["306"] = [168,166] let s:lib.Codec.encoding_table["319"] = [168,168] let s:lib.Codec.encoding_table["321"] = [168,169] let s:lib.Codec.encoding_table["216"] = [168,170] let s:lib.Codec.encoding_table["338"] = [168,171] let s:lib.Codec.encoding_table["186"] = [168,172] let s:lib.Codec.encoding_table["222"] = [168,173] let s:lib.Codec.encoding_table["358"] = [168,174] let s:lib.Codec.encoding_table["330"] = [168,175] let s:lib.Codec.encoding_table["12896"] = [168,177] let s:lib.Codec.encoding_table["12897"] = [168,178] let s:lib.Codec.encoding_table["12898"] = [168,179] let s:lib.Codec.encoding_table["12899"] = [168,180] let s:lib.Codec.encoding_table["12900"] = [168,181] let s:lib.Codec.encoding_table["12901"] = [168,182] let s:lib.Codec.encoding_table["12902"] = [168,183] let s:lib.Codec.encoding_table["12903"] = [168,184] let s:lib.Codec.encoding_table["12904"] = [168,185] let s:lib.Codec.encoding_table["12905"] = [168,186] let s:lib.Codec.encoding_table["12906"] = [168,187] let s:lib.Codec.encoding_table["12907"] = [168,188] let s:lib.Codec.encoding_table["12908"] = [168,189] let s:lib.Codec.encoding_table["12909"] = [168,190] let s:lib.Codec.encoding_table["12910"] = [168,191] let s:lib.Codec.encoding_table["12911"] = [168,192] let s:lib.Codec.encoding_table["12912"] = [168,193] let s:lib.Codec.encoding_table["12913"] = [168,194] let s:lib.Codec.encoding_table["12914"] = [168,195] let s:lib.Codec.encoding_table["12915"] = [168,196] let s:lib.Codec.encoding_table["12916"] = [168,197] let s:lib.Codec.encoding_table["12917"] = [168,198] let s:lib.Codec.encoding_table["12918"] = [168,199] let s:lib.Codec.encoding_table["12919"] = [168,200] let s:lib.Codec.encoding_table["12920"] = [168,201] let s:lib.Codec.encoding_table["12921"] = [168,202] let s:lib.Codec.encoding_table["12922"] = [168,203] let s:lib.Codec.encoding_table["12923"] = [168,204] let s:lib.Codec.encoding_table["9424"] = [168,205] let s:lib.Codec.encoding_table["9425"] = [168,206] let s:lib.Codec.encoding_table["9426"] = [168,207] let s:lib.Codec.encoding_table["9427"] = [168,208] let s:lib.Codec.encoding_table["9428"] = [168,209] let s:lib.Codec.encoding_table["9429"] = [168,210] let s:lib.Codec.encoding_table["9430"] = [168,211] let s:lib.Codec.encoding_table["9431"] = [168,212] let s:lib.Codec.encoding_table["9432"] = [168,213] let s:lib.Codec.encoding_table["9433"] = [168,214] let s:lib.Codec.encoding_table["9434"] = [168,215] let s:lib.Codec.encoding_table["9435"] = [168,216] let s:lib.Codec.encoding_table["9436"] = [168,217] let s:lib.Codec.encoding_table["9437"] = [168,218] let s:lib.Codec.encoding_table["9438"] = [168,219] let s:lib.Codec.encoding_table["9439"] = [168,220] let s:lib.Codec.encoding_table["9440"] = [168,221] let s:lib.Codec.encoding_table["9441"] = [168,222] let s:lib.Codec.encoding_table["9442"] = [168,223] let s:lib.Codec.encoding_table["9443"] = [168,224] let s:lib.Codec.encoding_table["9444"] = [168,225] let s:lib.Codec.encoding_table["9445"] = [168,226] let s:lib.Codec.encoding_table["9446"] = [168,227] let s:lib.Codec.encoding_table["9447"] = [168,228] let s:lib.Codec.encoding_table["9448"] = [168,229] let s:lib.Codec.encoding_table["9449"] = [168,230] let s:lib.Codec.encoding_table["9312"] = [168,231] let s:lib.Codec.encoding_table["9313"] = [168,232] let s:lib.Codec.encoding_table["9314"] = [168,233] let s:lib.Codec.encoding_table["9315"] = [168,234] let s:lib.Codec.encoding_table["9316"] = [168,235] let s:lib.Codec.encoding_table["9317"] = [168,236] let s:lib.Codec.encoding_table["9318"] = [168,237] let s:lib.Codec.encoding_table["9319"] = [168,238] let s:lib.Codec.encoding_table["9320"] = [168,239] let s:lib.Codec.encoding_table["9321"] = [168,240] let s:lib.Codec.encoding_table["9322"] = [168,241] let s:lib.Codec.encoding_table["9323"] = [168,242] let s:lib.Codec.encoding_table["9324"] = [168,243] let s:lib.Codec.encoding_table["9325"] = [168,244] let s:lib.Codec.encoding_table["9326"] = [168,245] let s:lib.Codec.encoding_table["189"] = [168,246] let s:lib.Codec.encoding_table["8531"] = [168,247] let s:lib.Codec.encoding_table["8532"] = [168,248] let s:lib.Codec.encoding_table["188"] = [168,249] let s:lib.Codec.encoding_table["190"] = [168,250] let s:lib.Codec.encoding_table["8539"] = [168,251] let s:lib.Codec.encoding_table["8540"] = [168,252] let s:lib.Codec.encoding_table["8541"] = [168,253] let s:lib.Codec.encoding_table["8542"] = [168,254] let s:lib.Codec.encoding_table["52165"] = [169,65] let s:lib.Codec.encoding_table["52166"] = [169,66] let s:lib.Codec.encoding_table["52167"] = [169,67] let s:lib.Codec.encoding_table["52168"] = [169,68] let s:lib.Codec.encoding_table["52169"] = [169,69] let s:lib.Codec.encoding_table["52170"] = [169,70] let s:lib.Codec.encoding_table["52171"] = [169,71] let s:lib.Codec.encoding_table["52172"] = [169,72] let s:lib.Codec.encoding_table["52173"] = [169,73] let s:lib.Codec.encoding_table["52174"] = [169,74] let s:lib.Codec.encoding_table["52175"] = [169,75] let s:lib.Codec.encoding_table["52176"] = [169,76] let s:lib.Codec.encoding_table["52177"] = [169,77] let s:lib.Codec.encoding_table["52178"] = [169,78] let s:lib.Codec.encoding_table["52179"] = [169,79] let s:lib.Codec.encoding_table["52181"] = [169,80] let s:lib.Codec.encoding_table["52182"] = [169,81] let s:lib.Codec.encoding_table["52183"] = [169,82] let s:lib.Codec.encoding_table["52184"] = [169,83] let s:lib.Codec.encoding_table["52185"] = [169,84] let s:lib.Codec.encoding_table["52186"] = [169,85] let s:lib.Codec.encoding_table["52187"] = [169,86] let s:lib.Codec.encoding_table["52188"] = [169,87] let s:lib.Codec.encoding_table["52189"] = [169,88] let s:lib.Codec.encoding_table["52190"] = [169,89] let s:lib.Codec.encoding_table["52191"] = [169,90] let s:lib.Codec.encoding_table["52192"] = [169,97] let s:lib.Codec.encoding_table["52193"] = [169,98] let s:lib.Codec.encoding_table["52194"] = [169,99] let s:lib.Codec.encoding_table["52195"] = [169,100] let s:lib.Codec.encoding_table["52197"] = [169,101] let s:lib.Codec.encoding_table["52198"] = [169,102] let s:lib.Codec.encoding_table["52200"] = [169,103] let s:lib.Codec.encoding_table["52202"] = [169,104] let s:lib.Codec.encoding_table["52203"] = [169,105] let s:lib.Codec.encoding_table["52204"] = [169,106] let s:lib.Codec.encoding_table["52205"] = [169,107] let s:lib.Codec.encoding_table["52206"] = [169,108] let s:lib.Codec.encoding_table["52207"] = [169,109] let s:lib.Codec.encoding_table["52208"] = [169,110] let s:lib.Codec.encoding_table["52209"] = [169,111] let s:lib.Codec.encoding_table["52210"] = [169,112] let s:lib.Codec.encoding_table["52211"] = [169,113] let s:lib.Codec.encoding_table["52212"] = [169,114] let s:lib.Codec.encoding_table["52213"] = [169,115] let s:lib.Codec.encoding_table["52214"] = [169,116] let s:lib.Codec.encoding_table["52215"] = [169,117] let s:lib.Codec.encoding_table["52216"] = [169,118] let s:lib.Codec.encoding_table["52217"] = [169,119] let s:lib.Codec.encoding_table["52218"] = [169,120] let s:lib.Codec.encoding_table["52219"] = [169,121] let s:lib.Codec.encoding_table["52220"] = [169,122] let s:lib.Codec.encoding_table["52221"] = [169,129] let s:lib.Codec.encoding_table["52222"] = [169,130] let s:lib.Codec.encoding_table["52223"] = [169,131] let s:lib.Codec.encoding_table["52224"] = [169,132] let s:lib.Codec.encoding_table["52225"] = [169,133] let s:lib.Codec.encoding_table["52226"] = [169,134] let s:lib.Codec.encoding_table["52227"] = [169,135] let s:lib.Codec.encoding_table["52228"] = [169,136] let s:lib.Codec.encoding_table["52229"] = [169,137] let s:lib.Codec.encoding_table["52230"] = [169,138] let s:lib.Codec.encoding_table["52231"] = [169,139] let s:lib.Codec.encoding_table["52232"] = [169,140] let s:lib.Codec.encoding_table["52233"] = [169,141] let s:lib.Codec.encoding_table["52234"] = [169,142] let s:lib.Codec.encoding_table["52235"] = [169,143] let s:lib.Codec.encoding_table["52238"] = [169,144] let s:lib.Codec.encoding_table["52239"] = [169,145] let s:lib.Codec.encoding_table["52241"] = [169,146] let s:lib.Codec.encoding_table["52242"] = [169,147] let s:lib.Codec.encoding_table["52243"] = [169,148] let s:lib.Codec.encoding_table["52245"] = [169,149] let s:lib.Codec.encoding_table["52246"] = [169,150] let s:lib.Codec.encoding_table["52247"] = [169,151] let s:lib.Codec.encoding_table["52248"] = [169,152] let s:lib.Codec.encoding_table["52249"] = [169,153] let s:lib.Codec.encoding_table["52250"] = [169,154] let s:lib.Codec.encoding_table["52251"] = [169,155] let s:lib.Codec.encoding_table["52254"] = [169,156] let s:lib.Codec.encoding_table["52255"] = [169,157] let s:lib.Codec.encoding_table["52256"] = [169,158] let s:lib.Codec.encoding_table["52259"] = [169,159] let s:lib.Codec.encoding_table["52260"] = [169,160] let s:lib.Codec.encoding_table["230"] = [169,161] let s:lib.Codec.encoding_table["273"] = [169,162] let s:lib.Codec.encoding_table["240"] = [169,163] let s:lib.Codec.encoding_table["295"] = [169,164] let s:lib.Codec.encoding_table["305"] = [169,165] let s:lib.Codec.encoding_table["307"] = [169,166] let s:lib.Codec.encoding_table["312"] = [169,167] let s:lib.Codec.encoding_table["320"] = [169,168] let s:lib.Codec.encoding_table["322"] = [169,169] let s:lib.Codec.encoding_table["248"] = [169,170] let s:lib.Codec.encoding_table["339"] = [169,171] let s:lib.Codec.encoding_table["223"] = [169,172] let s:lib.Codec.encoding_table["254"] = [169,173] let s:lib.Codec.encoding_table["359"] = [169,174] let s:lib.Codec.encoding_table["331"] = [169,175] let s:lib.Codec.encoding_table["329"] = [169,176] let s:lib.Codec.encoding_table["12800"] = [169,177] let s:lib.Codec.encoding_table["12801"] = [169,178] let s:lib.Codec.encoding_table["12802"] = [169,179] let s:lib.Codec.encoding_table["12803"] = [169,180] let s:lib.Codec.encoding_table["12804"] = [169,181] let s:lib.Codec.encoding_table["12805"] = [169,182] let s:lib.Codec.encoding_table["12806"] = [169,183] let s:lib.Codec.encoding_table["12807"] = [169,184] let s:lib.Codec.encoding_table["12808"] = [169,185] let s:lib.Codec.encoding_table["12809"] = [169,186] let s:lib.Codec.encoding_table["12810"] = [169,187] let s:lib.Codec.encoding_table["12811"] = [169,188] let s:lib.Codec.encoding_table["12812"] = [169,189] let s:lib.Codec.encoding_table["12813"] = [169,190] let s:lib.Codec.encoding_table["12814"] = [169,191] let s:lib.Codec.encoding_table["12815"] = [169,192] let s:lib.Codec.encoding_table["12816"] = [169,193] let s:lib.Codec.encoding_table["12817"] = [169,194] let s:lib.Codec.encoding_table["12818"] = [169,195] let s:lib.Codec.encoding_table["12819"] = [169,196] let s:lib.Codec.encoding_table["12820"] = [169,197] let s:lib.Codec.encoding_table["12821"] = [169,198] let s:lib.Codec.encoding_table["12822"] = [169,199] let s:lib.Codec.encoding_table["12823"] = [169,200] let s:lib.Codec.encoding_table["12824"] = [169,201] let s:lib.Codec.encoding_table["12825"] = [169,202] let s:lib.Codec.encoding_table["12826"] = [169,203] let s:lib.Codec.encoding_table["12827"] = [169,204] let s:lib.Codec.encoding_table["9372"] = [169,205] let s:lib.Codec.encoding_table["9373"] = [169,206] let s:lib.Codec.encoding_table["9374"] = [169,207] let s:lib.Codec.encoding_table["9375"] = [169,208] let s:lib.Codec.encoding_table["9376"] = [169,209] let s:lib.Codec.encoding_table["9377"] = [169,210] let s:lib.Codec.encoding_table["9378"] = [169,211] let s:lib.Codec.encoding_table["9379"] = [169,212] let s:lib.Codec.encoding_table["9380"] = [169,213] let s:lib.Codec.encoding_table["9381"] = [169,214] let s:lib.Codec.encoding_table["9382"] = [169,215] let s:lib.Codec.encoding_table["9383"] = [169,216] let s:lib.Codec.encoding_table["9384"] = [169,217] let s:lib.Codec.encoding_table["9385"] = [169,218] let s:lib.Codec.encoding_table["9386"] = [169,219] let s:lib.Codec.encoding_table["9387"] = [169,220] let s:lib.Codec.encoding_table["9388"] = [169,221] let s:lib.Codec.encoding_table["9389"] = [169,222] let s:lib.Codec.encoding_table["9390"] = [169,223] let s:lib.Codec.encoding_table["9391"] = [169,224] let s:lib.Codec.encoding_table["9392"] = [169,225] let s:lib.Codec.encoding_table["9393"] = [169,226] let s:lib.Codec.encoding_table["9394"] = [169,227] let s:lib.Codec.encoding_table["9395"] = [169,228] let s:lib.Codec.encoding_table["9396"] = [169,229] let s:lib.Codec.encoding_table["9397"] = [169,230] let s:lib.Codec.encoding_table["9332"] = [169,231] let s:lib.Codec.encoding_table["9333"] = [169,232] let s:lib.Codec.encoding_table["9334"] = [169,233] let s:lib.Codec.encoding_table["9335"] = [169,234] let s:lib.Codec.encoding_table["9336"] = [169,235] let s:lib.Codec.encoding_table["9337"] = [169,236] let s:lib.Codec.encoding_table["9338"] = [169,237] let s:lib.Codec.encoding_table["9339"] = [169,238] let s:lib.Codec.encoding_table["9340"] = [169,239] let s:lib.Codec.encoding_table["9341"] = [169,240] let s:lib.Codec.encoding_table["9342"] = [169,241] let s:lib.Codec.encoding_table["9343"] = [169,242] let s:lib.Codec.encoding_table["9344"] = [169,243] let s:lib.Codec.encoding_table["9345"] = [169,244] let s:lib.Codec.encoding_table["9346"] = [169,245] let s:lib.Codec.encoding_table["185"] = [169,246] let s:lib.Codec.encoding_table["178"] = [169,247] let s:lib.Codec.encoding_table["179"] = [169,248] let s:lib.Codec.encoding_table["8308"] = [169,249] let s:lib.Codec.encoding_table["8319"] = [169,250] let s:lib.Codec.encoding_table["8321"] = [169,251] let s:lib.Codec.encoding_table["8322"] = [169,252] let s:lib.Codec.encoding_table["8323"] = [169,253] let s:lib.Codec.encoding_table["8324"] = [169,254] let s:lib.Codec.encoding_table["52261"] = [170,65] let s:lib.Codec.encoding_table["52262"] = [170,66] let s:lib.Codec.encoding_table["52266"] = [170,67] let s:lib.Codec.encoding_table["52267"] = [170,68] let s:lib.Codec.encoding_table["52269"] = [170,69] let s:lib.Codec.encoding_table["52271"] = [170,70] let s:lib.Codec.encoding_table["52273"] = [170,71] let s:lib.Codec.encoding_table["52274"] = [170,72] let s:lib.Codec.encoding_table["52275"] = [170,73] let s:lib.Codec.encoding_table["52276"] = [170,74] let s:lib.Codec.encoding_table["52277"] = [170,75] let s:lib.Codec.encoding_table["52278"] = [170,76] let s:lib.Codec.encoding_table["52279"] = [170,77] let s:lib.Codec.encoding_table["52282"] = [170,78] let s:lib.Codec.encoding_table["52287"] = [170,79] let s:lib.Codec.encoding_table["52288"] = [170,80] let s:lib.Codec.encoding_table["52289"] = [170,81] let s:lib.Codec.encoding_table["52290"] = [170,82] let s:lib.Codec.encoding_table["52291"] = [170,83] let s:lib.Codec.encoding_table["52294"] = [170,84] let s:lib.Codec.encoding_table["52295"] = [170,85] let s:lib.Codec.encoding_table["52297"] = [170,86] let s:lib.Codec.encoding_table["52298"] = [170,87] let s:lib.Codec.encoding_table["52299"] = [170,88] let s:lib.Codec.encoding_table["52301"] = [170,89] let s:lib.Codec.encoding_table["52302"] = [170,90] let s:lib.Codec.encoding_table["52303"] = [170,97] let s:lib.Codec.encoding_table["52304"] = [170,98] let s:lib.Codec.encoding_table["52305"] = [170,99] let s:lib.Codec.encoding_table["52306"] = [170,100] let s:lib.Codec.encoding_table["52307"] = [170,101] let s:lib.Codec.encoding_table["52310"] = [170,102] let s:lib.Codec.encoding_table["52314"] = [170,103] let s:lib.Codec.encoding_table["52315"] = [170,104] let s:lib.Codec.encoding_table["52316"] = [170,105] let s:lib.Codec.encoding_table["52317"] = [170,106] let s:lib.Codec.encoding_table["52318"] = [170,107] let s:lib.Codec.encoding_table["52319"] = [170,108] let s:lib.Codec.encoding_table["52321"] = [170,109] let s:lib.Codec.encoding_table["52322"] = [170,110] let s:lib.Codec.encoding_table["52323"] = [170,111] let s:lib.Codec.encoding_table["52325"] = [170,112] let s:lib.Codec.encoding_table["52327"] = [170,113] let s:lib.Codec.encoding_table["52329"] = [170,114] let s:lib.Codec.encoding_table["52330"] = [170,115] let s:lib.Codec.encoding_table["52331"] = [170,116] let s:lib.Codec.encoding_table["52332"] = [170,117] let s:lib.Codec.encoding_table["52333"] = [170,118] let s:lib.Codec.encoding_table["52334"] = [170,119] let s:lib.Codec.encoding_table["52335"] = [170,120] let s:lib.Codec.encoding_table["52337"] = [170,121] let s:lib.Codec.encoding_table["52338"] = [170,122] let s:lib.Codec.encoding_table["52339"] = [170,129] let s:lib.Codec.encoding_table["52340"] = [170,130] let s:lib.Codec.encoding_table["52342"] = [170,131] let s:lib.Codec.encoding_table["52343"] = [170,132] let s:lib.Codec.encoding_table["52344"] = [170,133] let s:lib.Codec.encoding_table["52345"] = [170,134] let s:lib.Codec.encoding_table["52346"] = [170,135] let s:lib.Codec.encoding_table["52347"] = [170,136] let s:lib.Codec.encoding_table["52348"] = [170,137] let s:lib.Codec.encoding_table["52349"] = [170,138] let s:lib.Codec.encoding_table["52350"] = [170,139] let s:lib.Codec.encoding_table["52351"] = [170,140] let s:lib.Codec.encoding_table["52352"] = [170,141] let s:lib.Codec.encoding_table["52353"] = [170,142] let s:lib.Codec.encoding_table["52354"] = [170,143] let s:lib.Codec.encoding_table["52355"] = [170,144] let s:lib.Codec.encoding_table["52356"] = [170,145] let s:lib.Codec.encoding_table["52357"] = [170,146] let s:lib.Codec.encoding_table["52358"] = [170,147] let s:lib.Codec.encoding_table["52359"] = [170,148] let s:lib.Codec.encoding_table["52360"] = [170,149] let s:lib.Codec.encoding_table["52361"] = [170,150] let s:lib.Codec.encoding_table["52362"] = [170,151] let s:lib.Codec.encoding_table["52363"] = [170,152] let s:lib.Codec.encoding_table["52364"] = [170,153] let s:lib.Codec.encoding_table["52365"] = [170,154] let s:lib.Codec.encoding_table["52366"] = [170,155] let s:lib.Codec.encoding_table["52367"] = [170,156] let s:lib.Codec.encoding_table["52368"] = [170,157] let s:lib.Codec.encoding_table["52369"] = [170,158] let s:lib.Codec.encoding_table["52370"] = [170,159] let s:lib.Codec.encoding_table["52371"] = [170,160] let s:lib.Codec.encoding_table["12353"] = [170,161] let s:lib.Codec.encoding_table["12354"] = [170,162] let s:lib.Codec.encoding_table["12355"] = [170,163] let s:lib.Codec.encoding_table["12356"] = [170,164] let s:lib.Codec.encoding_table["12357"] = [170,165] let s:lib.Codec.encoding_table["12358"] = [170,166] let s:lib.Codec.encoding_table["12359"] = [170,167] let s:lib.Codec.encoding_table["12360"] = [170,168] let s:lib.Codec.encoding_table["12361"] = [170,169] let s:lib.Codec.encoding_table["12362"] = [170,170] let s:lib.Codec.encoding_table["12363"] = [170,171] let s:lib.Codec.encoding_table["12364"] = [170,172] let s:lib.Codec.encoding_table["12365"] = [170,173] let s:lib.Codec.encoding_table["12366"] = [170,174] let s:lib.Codec.encoding_table["12367"] = [170,175] let s:lib.Codec.encoding_table["12368"] = [170,176] let s:lib.Codec.encoding_table["12369"] = [170,177] let s:lib.Codec.encoding_table["12370"] = [170,178] let s:lib.Codec.encoding_table["12371"] = [170,179] let s:lib.Codec.encoding_table["12372"] = [170,180] let s:lib.Codec.encoding_table["12373"] = [170,181] let s:lib.Codec.encoding_table["12374"] = [170,182] let s:lib.Codec.encoding_table["12375"] = [170,183] let s:lib.Codec.encoding_table["12376"] = [170,184] let s:lib.Codec.encoding_table["12377"] = [170,185] let s:lib.Codec.encoding_table["12378"] = [170,186] let s:lib.Codec.encoding_table["12379"] = [170,187] let s:lib.Codec.encoding_table["12380"] = [170,188] let s:lib.Codec.encoding_table["12381"] = [170,189] let s:lib.Codec.encoding_table["12382"] = [170,190] let s:lib.Codec.encoding_table["12383"] = [170,191] let s:lib.Codec.encoding_table["12384"] = [170,192] let s:lib.Codec.encoding_table["12385"] = [170,193] let s:lib.Codec.encoding_table["12386"] = [170,194] let s:lib.Codec.encoding_table["12387"] = [170,195] let s:lib.Codec.encoding_table["12388"] = [170,196] let s:lib.Codec.encoding_table["12389"] = [170,197] let s:lib.Codec.encoding_table["12390"] = [170,198] let s:lib.Codec.encoding_table["12391"] = [170,199] let s:lib.Codec.encoding_table["12392"] = [170,200] let s:lib.Codec.encoding_table["12393"] = [170,201] let s:lib.Codec.encoding_table["12394"] = [170,202] let s:lib.Codec.encoding_table["12395"] = [170,203] let s:lib.Codec.encoding_table["12396"] = [170,204] let s:lib.Codec.encoding_table["12397"] = [170,205] let s:lib.Codec.encoding_table["12398"] = [170,206] let s:lib.Codec.encoding_table["12399"] = [170,207] let s:lib.Codec.encoding_table["12400"] = [170,208] let s:lib.Codec.encoding_table["12401"] = [170,209] let s:lib.Codec.encoding_table["12402"] = [170,210] let s:lib.Codec.encoding_table["12403"] = [170,211] let s:lib.Codec.encoding_table["12404"] = [170,212] let s:lib.Codec.encoding_table["12405"] = [170,213] let s:lib.Codec.encoding_table["12406"] = [170,214] let s:lib.Codec.encoding_table["12407"] = [170,215] let s:lib.Codec.encoding_table["12408"] = [170,216] let s:lib.Codec.encoding_table["12409"] = [170,217] let s:lib.Codec.encoding_table["12410"] = [170,218] let s:lib.Codec.encoding_table["12411"] = [170,219] let s:lib.Codec.encoding_table["12412"] = [170,220] let s:lib.Codec.encoding_table["12413"] = [170,221] let s:lib.Codec.encoding_table["12414"] = [170,222] let s:lib.Codec.encoding_table["12415"] = [170,223] let s:lib.Codec.encoding_table["12416"] = [170,224] let s:lib.Codec.encoding_table["12417"] = [170,225] let s:lib.Codec.encoding_table["12418"] = [170,226] let s:lib.Codec.encoding_table["12419"] = [170,227] let s:lib.Codec.encoding_table["12420"] = [170,228] let s:lib.Codec.encoding_table["12421"] = [170,229] let s:lib.Codec.encoding_table["12422"] = [170,230] let s:lib.Codec.encoding_table["12423"] = [170,231] let s:lib.Codec.encoding_table["12424"] = [170,232] let s:lib.Codec.encoding_table["12425"] = [170,233] let s:lib.Codec.encoding_table["12426"] = [170,234] let s:lib.Codec.encoding_table["12427"] = [170,235] let s:lib.Codec.encoding_table["12428"] = [170,236] let s:lib.Codec.encoding_table["12429"] = [170,237] let s:lib.Codec.encoding_table["12430"] = [170,238] let s:lib.Codec.encoding_table["12431"] = [170,239] let s:lib.Codec.encoding_table["12432"] = [170,240] let s:lib.Codec.encoding_table["12433"] = [170,241] let s:lib.Codec.encoding_table["12434"] = [170,242] let s:lib.Codec.encoding_table["12435"] = [170,243] let s:lib.Codec.encoding_table["52372"] = [171,65] let s:lib.Codec.encoding_table["52373"] = [171,66] let s:lib.Codec.encoding_table["52374"] = [171,67] let s:lib.Codec.encoding_table["52375"] = [171,68] let s:lib.Codec.encoding_table["52378"] = [171,69] let s:lib.Codec.encoding_table["52379"] = [171,70] let s:lib.Codec.encoding_table["52381"] = [171,71] let s:lib.Codec.encoding_table["52382"] = [171,72] let s:lib.Codec.encoding_table["52383"] = [171,73] let s:lib.Codec.encoding_table["52385"] = [171,74] let s:lib.Codec.encoding_table["52386"] = [171,75] let s:lib.Codec.encoding_table["52387"] = [171,76] let s:lib.Codec.encoding_table["52388"] = [171,77] let s:lib.Codec.encoding_table["52389"] = [171,78] let s:lib.Codec.encoding_table["52390"] = [171,79] let s:lib.Codec.encoding_table["52391"] = [171,80] let s:lib.Codec.encoding_table["52394"] = [171,81] let s:lib.Codec.encoding_table["52398"] = [171,82] let s:lib.Codec.encoding_table["52399"] = [171,83] let s:lib.Codec.encoding_table["52400"] = [171,84] let s:lib.Codec.encoding_table["52401"] = [171,85] let s:lib.Codec.encoding_table["52402"] = [171,86] let s:lib.Codec.encoding_table["52403"] = [171,87] let s:lib.Codec.encoding_table["52406"] = [171,88] let s:lib.Codec.encoding_table["52407"] = [171,89] let s:lib.Codec.encoding_table["52409"] = [171,90] let s:lib.Codec.encoding_table["52410"] = [171,97] let s:lib.Codec.encoding_table["52411"] = [171,98] let s:lib.Codec.encoding_table["52413"] = [171,99] let s:lib.Codec.encoding_table["52414"] = [171,100] let s:lib.Codec.encoding_table["52415"] = [171,101] let s:lib.Codec.encoding_table["52416"] = [171,102] let s:lib.Codec.encoding_table["52417"] = [171,103] let s:lib.Codec.encoding_table["52418"] = [171,104] let s:lib.Codec.encoding_table["52419"] = [171,105] let s:lib.Codec.encoding_table["52422"] = [171,106] let s:lib.Codec.encoding_table["52424"] = [171,107] let s:lib.Codec.encoding_table["52426"] = [171,108] let s:lib.Codec.encoding_table["52427"] = [171,109] let s:lib.Codec.encoding_table["52428"] = [171,110] let s:lib.Codec.encoding_table["52429"] = [171,111] let s:lib.Codec.encoding_table["52430"] = [171,112] let s:lib.Codec.encoding_table["52431"] = [171,113] let s:lib.Codec.encoding_table["52433"] = [171,114] let s:lib.Codec.encoding_table["52434"] = [171,115] let s:lib.Codec.encoding_table["52435"] = [171,116] let s:lib.Codec.encoding_table["52437"] = [171,117] let s:lib.Codec.encoding_table["52438"] = [171,118] let s:lib.Codec.encoding_table["52439"] = [171,119] let s:lib.Codec.encoding_table["52440"] = [171,120] let s:lib.Codec.encoding_table["52441"] = [171,121] let s:lib.Codec.encoding_table["52442"] = [171,122] let s:lib.Codec.encoding_table["52443"] = [171,129] let s:lib.Codec.encoding_table["52444"] = [171,130] let s:lib.Codec.encoding_table["52445"] = [171,131] let s:lib.Codec.encoding_table["52446"] = [171,132] let s:lib.Codec.encoding_table["52447"] = [171,133] let s:lib.Codec.encoding_table["52448"] = [171,134] let s:lib.Codec.encoding_table["52449"] = [171,135] let s:lib.Codec.encoding_table["52450"] = [171,136] let s:lib.Codec.encoding_table["52451"] = [171,137] let s:lib.Codec.encoding_table["52453"] = [171,138] let s:lib.Codec.encoding_table["52454"] = [171,139] let s:lib.Codec.encoding_table["52455"] = [171,140] let s:lib.Codec.encoding_table["52456"] = [171,141] let s:lib.Codec.encoding_table["52457"] = [171,142] let s:lib.Codec.encoding_table["52458"] = [171,143] let s:lib.Codec.encoding_table["52459"] = [171,144] let s:lib.Codec.encoding_table["52461"] = [171,145] let s:lib.Codec.encoding_table["52462"] = [171,146] let s:lib.Codec.encoding_table["52463"] = [171,147] let s:lib.Codec.encoding_table["52465"] = [171,148] let s:lib.Codec.encoding_table["52466"] = [171,149] let s:lib.Codec.encoding_table["52467"] = [171,150] let s:lib.Codec.encoding_table["52468"] = [171,151] let s:lib.Codec.encoding_table["52469"] = [171,152] let s:lib.Codec.encoding_table["52470"] = [171,153] let s:lib.Codec.encoding_table["52471"] = [171,154] let s:lib.Codec.encoding_table["52472"] = [171,155] let s:lib.Codec.encoding_table["52473"] = [171,156] let s:lib.Codec.encoding_table["52474"] = [171,157] let s:lib.Codec.encoding_table["52475"] = [171,158] let s:lib.Codec.encoding_table["52476"] = [171,159] let s:lib.Codec.encoding_table["52477"] = [171,160] let s:lib.Codec.encoding_table["12449"] = [171,161] let s:lib.Codec.encoding_table["12450"] = [171,162] let s:lib.Codec.encoding_table["12451"] = [171,163] let s:lib.Codec.encoding_table["12452"] = [171,164] let s:lib.Codec.encoding_table["12453"] = [171,165] let s:lib.Codec.encoding_table["12454"] = [171,166] let s:lib.Codec.encoding_table["12455"] = [171,167] let s:lib.Codec.encoding_table["12456"] = [171,168] let s:lib.Codec.encoding_table["12457"] = [171,169] let s:lib.Codec.encoding_table["12458"] = [171,170] let s:lib.Codec.encoding_table["12459"] = [171,171] let s:lib.Codec.encoding_table["12460"] = [171,172] let s:lib.Codec.encoding_table["12461"] = [171,173] let s:lib.Codec.encoding_table["12462"] = [171,174] let s:lib.Codec.encoding_table["12463"] = [171,175] let s:lib.Codec.encoding_table["12464"] = [171,176] let s:lib.Codec.encoding_table["12465"] = [171,177] let s:lib.Codec.encoding_table["12466"] = [171,178] let s:lib.Codec.encoding_table["12467"] = [171,179] let s:lib.Codec.encoding_table["12468"] = [171,180] let s:lib.Codec.encoding_table["12469"] = [171,181] let s:lib.Codec.encoding_table["12470"] = [171,182] let s:lib.Codec.encoding_table["12471"] = [171,183] let s:lib.Codec.encoding_table["12472"] = [171,184] let s:lib.Codec.encoding_table["12473"] = [171,185] let s:lib.Codec.encoding_table["12474"] = [171,186] let s:lib.Codec.encoding_table["12475"] = [171,187] let s:lib.Codec.encoding_table["12476"] = [171,188] let s:lib.Codec.encoding_table["12477"] = [171,189] let s:lib.Codec.encoding_table["12478"] = [171,190] let s:lib.Codec.encoding_table["12479"] = [171,191] let s:lib.Codec.encoding_table["12480"] = [171,192] let s:lib.Codec.encoding_table["12481"] = [171,193] let s:lib.Codec.encoding_table["12482"] = [171,194] let s:lib.Codec.encoding_table["12483"] = [171,195] let s:lib.Codec.encoding_table["12484"] = [171,196] let s:lib.Codec.encoding_table["12485"] = [171,197] let s:lib.Codec.encoding_table["12486"] = [171,198] let s:lib.Codec.encoding_table["12487"] = [171,199] let s:lib.Codec.encoding_table["12488"] = [171,200] let s:lib.Codec.encoding_table["12489"] = [171,201] let s:lib.Codec.encoding_table["12490"] = [171,202] let s:lib.Codec.encoding_table["12491"] = [171,203] let s:lib.Codec.encoding_table["12492"] = [171,204] let s:lib.Codec.encoding_table["12493"] = [171,205] let s:lib.Codec.encoding_table["12494"] = [171,206] let s:lib.Codec.encoding_table["12495"] = [171,207] let s:lib.Codec.encoding_table["12496"] = [171,208] let s:lib.Codec.encoding_table["12497"] = [171,209] let s:lib.Codec.encoding_table["12498"] = [171,210] let s:lib.Codec.encoding_table["12499"] = [171,211] let s:lib.Codec.encoding_table["12500"] = [171,212] let s:lib.Codec.encoding_table["12501"] = [171,213] let s:lib.Codec.encoding_table["12502"] = [171,214] let s:lib.Codec.encoding_table["12503"] = [171,215] let s:lib.Codec.encoding_table["12504"] = [171,216] let s:lib.Codec.encoding_table["12505"] = [171,217] let s:lib.Codec.encoding_table["12506"] = [171,218] let s:lib.Codec.encoding_table["12507"] = [171,219] let s:lib.Codec.encoding_table["12508"] = [171,220] let s:lib.Codec.encoding_table["12509"] = [171,221] let s:lib.Codec.encoding_table["12510"] = [171,222] let s:lib.Codec.encoding_table["12511"] = [171,223] let s:lib.Codec.encoding_table["12512"] = [171,224] let s:lib.Codec.encoding_table["12513"] = [171,225] let s:lib.Codec.encoding_table["12514"] = [171,226] let s:lib.Codec.encoding_table["12515"] = [171,227] let s:lib.Codec.encoding_table["12516"] = [171,228] let s:lib.Codec.encoding_table["12517"] = [171,229] let s:lib.Codec.encoding_table["12518"] = [171,230] let s:lib.Codec.encoding_table["12519"] = [171,231] let s:lib.Codec.encoding_table["12520"] = [171,232] let s:lib.Codec.encoding_table["12521"] = [171,233] let s:lib.Codec.encoding_table["12522"] = [171,234] let s:lib.Codec.encoding_table["12523"] = [171,235] let s:lib.Codec.encoding_table["12524"] = [171,236] let s:lib.Codec.encoding_table["12525"] = [171,237] let s:lib.Codec.encoding_table["12526"] = [171,238] let s:lib.Codec.encoding_table["12527"] = [171,239] let s:lib.Codec.encoding_table["12528"] = [171,240] let s:lib.Codec.encoding_table["12529"] = [171,241] let s:lib.Codec.encoding_table["12530"] = [171,242] let s:lib.Codec.encoding_table["12531"] = [171,243] let s:lib.Codec.encoding_table["12532"] = [171,244] let s:lib.Codec.encoding_table["12533"] = [171,245] let s:lib.Codec.encoding_table["12534"] = [171,246] let s:lib.Codec.encoding_table["52478"] = [172,65] let s:lib.Codec.encoding_table["52479"] = [172,66] let s:lib.Codec.encoding_table["52480"] = [172,67] let s:lib.Codec.encoding_table["52482"] = [172,68] let s:lib.Codec.encoding_table["52483"] = [172,69] let s:lib.Codec.encoding_table["52484"] = [172,70] let s:lib.Codec.encoding_table["52485"] = [172,71] let s:lib.Codec.encoding_table["52486"] = [172,72] let s:lib.Codec.encoding_table["52487"] = [172,73] let s:lib.Codec.encoding_table["52490"] = [172,74] let s:lib.Codec.encoding_table["52491"] = [172,75] let s:lib.Codec.encoding_table["52493"] = [172,76] let s:lib.Codec.encoding_table["52494"] = [172,77] let s:lib.Codec.encoding_table["52495"] = [172,78] let s:lib.Codec.encoding_table["52497"] = [172,79] let s:lib.Codec.encoding_table["52498"] = [172,80] let s:lib.Codec.encoding_table["52499"] = [172,81] let s:lib.Codec.encoding_table["52500"] = [172,82] let s:lib.Codec.encoding_table["52501"] = [172,83] let s:lib.Codec.encoding_table["52502"] = [172,84] let s:lib.Codec.encoding_table["52503"] = [172,85] let s:lib.Codec.encoding_table["52506"] = [172,86] let s:lib.Codec.encoding_table["52508"] = [172,87] let s:lib.Codec.encoding_table["52510"] = [172,88] let s:lib.Codec.encoding_table["52511"] = [172,89] let s:lib.Codec.encoding_table["52512"] = [172,90] let s:lib.Codec.encoding_table["52513"] = [172,97] let s:lib.Codec.encoding_table["52514"] = [172,98] let s:lib.Codec.encoding_table["52515"] = [172,99] let s:lib.Codec.encoding_table["52517"] = [172,100] let s:lib.Codec.encoding_table["52518"] = [172,101] let s:lib.Codec.encoding_table["52519"] = [172,102] let s:lib.Codec.encoding_table["52521"] = [172,103] let s:lib.Codec.encoding_table["52522"] = [172,104] let s:lib.Codec.encoding_table["52523"] = [172,105] let s:lib.Codec.encoding_table["52525"] = [172,106] let s:lib.Codec.encoding_table["52526"] = [172,107] let s:lib.Codec.encoding_table["52527"] = [172,108] let s:lib.Codec.encoding_table["52528"] = [172,109] let s:lib.Codec.encoding_table["52529"] = [172,110] let s:lib.Codec.encoding_table["52530"] = [172,111] let s:lib.Codec.encoding_table["52531"] = [172,112] let s:lib.Codec.encoding_table["52532"] = [172,113] let s:lib.Codec.encoding_table["52533"] = [172,114] let s:lib.Codec.encoding_table["52534"] = [172,115] let s:lib.Codec.encoding_table["52535"] = [172,116] let s:lib.Codec.encoding_table["52536"] = [172,117] let s:lib.Codec.encoding_table["52538"] = [172,118] let s:lib.Codec.encoding_table["52539"] = [172,119] let s:lib.Codec.encoding_table["52540"] = [172,120] let s:lib.Codec.encoding_table["52541"] = [172,121] let s:lib.Codec.encoding_table["52542"] = [172,122] let s:lib.Codec.encoding_table["52543"] = [172,129] let s:lib.Codec.encoding_table["52544"] = [172,130] let s:lib.Codec.encoding_table["52545"] = [172,131] let s:lib.Codec.encoding_table["52546"] = [172,132] let s:lib.Codec.encoding_table["52547"] = [172,133] let s:lib.Codec.encoding_table["52548"] = [172,134] let s:lib.Codec.encoding_table["52549"] = [172,135] let s:lib.Codec.encoding_table["52550"] = [172,136] let s:lib.Codec.encoding_table["52551"] = [172,137] let s:lib.Codec.encoding_table["52552"] = [172,138] let s:lib.Codec.encoding_table["52553"] = [172,139] let s:lib.Codec.encoding_table["52554"] = [172,140] let s:lib.Codec.encoding_table["52555"] = [172,141] let s:lib.Codec.encoding_table["52556"] = [172,142] let s:lib.Codec.encoding_table["52557"] = [172,143] let s:lib.Codec.encoding_table["52558"] = [172,144] let s:lib.Codec.encoding_table["52559"] = [172,145] let s:lib.Codec.encoding_table["52560"] = [172,146] let s:lib.Codec.encoding_table["52561"] = [172,147] let s:lib.Codec.encoding_table["52562"] = [172,148] let s:lib.Codec.encoding_table["52563"] = [172,149] let s:lib.Codec.encoding_table["52564"] = [172,150] let s:lib.Codec.encoding_table["52565"] = [172,151] let s:lib.Codec.encoding_table["52566"] = [172,152] let s:lib.Codec.encoding_table["52567"] = [172,153] let s:lib.Codec.encoding_table["52568"] = [172,154] let s:lib.Codec.encoding_table["52569"] = [172,155] let s:lib.Codec.encoding_table["52570"] = [172,156] let s:lib.Codec.encoding_table["52571"] = [172,157] let s:lib.Codec.encoding_table["52573"] = [172,158] let s:lib.Codec.encoding_table["52574"] = [172,159] let s:lib.Codec.encoding_table["52575"] = [172,160] let s:lib.Codec.encoding_table["1040"] = [172,161] let s:lib.Codec.encoding_table["1041"] = [172,162] let s:lib.Codec.encoding_table["1042"] = [172,163] let s:lib.Codec.encoding_table["1043"] = [172,164] let s:lib.Codec.encoding_table["1044"] = [172,165] let s:lib.Codec.encoding_table["1045"] = [172,166] let s:lib.Codec.encoding_table["1025"] = [172,167] let s:lib.Codec.encoding_table["1046"] = [172,168] let s:lib.Codec.encoding_table["1047"] = [172,169] let s:lib.Codec.encoding_table["1048"] = [172,170] let s:lib.Codec.encoding_table["1049"] = [172,171] let s:lib.Codec.encoding_table["1050"] = [172,172] let s:lib.Codec.encoding_table["1051"] = [172,173] let s:lib.Codec.encoding_table["1052"] = [172,174] let s:lib.Codec.encoding_table["1053"] = [172,175] let s:lib.Codec.encoding_table["1054"] = [172,176] let s:lib.Codec.encoding_table["1055"] = [172,177] let s:lib.Codec.encoding_table["1056"] = [172,178] let s:lib.Codec.encoding_table["1057"] = [172,179] let s:lib.Codec.encoding_table["1058"] = [172,180] let s:lib.Codec.encoding_table["1059"] = [172,181] let s:lib.Codec.encoding_table["1060"] = [172,182] let s:lib.Codec.encoding_table["1061"] = [172,183] let s:lib.Codec.encoding_table["1062"] = [172,184] let s:lib.Codec.encoding_table["1063"] = [172,185] let s:lib.Codec.encoding_table["1064"] = [172,186] let s:lib.Codec.encoding_table["1065"] = [172,187] let s:lib.Codec.encoding_table["1066"] = [172,188] let s:lib.Codec.encoding_table["1067"] = [172,189] let s:lib.Codec.encoding_table["1068"] = [172,190] let s:lib.Codec.encoding_table["1069"] = [172,191] let s:lib.Codec.encoding_table["1070"] = [172,192] let s:lib.Codec.encoding_table["1071"] = [172,193] let s:lib.Codec.encoding_table["1072"] = [172,209] let s:lib.Codec.encoding_table["1073"] = [172,210] let s:lib.Codec.encoding_table["1074"] = [172,211] let s:lib.Codec.encoding_table["1075"] = [172,212] let s:lib.Codec.encoding_table["1076"] = [172,213] let s:lib.Codec.encoding_table["1077"] = [172,214] let s:lib.Codec.encoding_table["1105"] = [172,215] let s:lib.Codec.encoding_table["1078"] = [172,216] let s:lib.Codec.encoding_table["1079"] = [172,217] let s:lib.Codec.encoding_table["1080"] = [172,218] let s:lib.Codec.encoding_table["1081"] = [172,219] let s:lib.Codec.encoding_table["1082"] = [172,220] let s:lib.Codec.encoding_table["1083"] = [172,221] let s:lib.Codec.encoding_table["1084"] = [172,222] let s:lib.Codec.encoding_table["1085"] = [172,223] let s:lib.Codec.encoding_table["1086"] = [172,224] let s:lib.Codec.encoding_table["1087"] = [172,225] let s:lib.Codec.encoding_table["1088"] = [172,226] let s:lib.Codec.encoding_table["1089"] = [172,227] let s:lib.Codec.encoding_table["1090"] = [172,228] let s:lib.Codec.encoding_table["1091"] = [172,229] let s:lib.Codec.encoding_table["1092"] = [172,230] let s:lib.Codec.encoding_table["1093"] = [172,231] let s:lib.Codec.encoding_table["1094"] = [172,232] let s:lib.Codec.encoding_table["1095"] = [172,233] let s:lib.Codec.encoding_table["1096"] = [172,234] let s:lib.Codec.encoding_table["1097"] = [172,235] let s:lib.Codec.encoding_table["1098"] = [172,236] let s:lib.Codec.encoding_table["1099"] = [172,237] let s:lib.Codec.encoding_table["1100"] = [172,238] let s:lib.Codec.encoding_table["1101"] = [172,239] let s:lib.Codec.encoding_table["1102"] = [172,240] let s:lib.Codec.encoding_table["1103"] = [172,241] let s:lib.Codec.encoding_table["52577"] = [173,65] let s:lib.Codec.encoding_table["52578"] = [173,66] let s:lib.Codec.encoding_table["52579"] = [173,67] let s:lib.Codec.encoding_table["52581"] = [173,68] let s:lib.Codec.encoding_table["52582"] = [173,69] let s:lib.Codec.encoding_table["52583"] = [173,70] let s:lib.Codec.encoding_table["52584"] = [173,71] let s:lib.Codec.encoding_table["52585"] = [173,72] let s:lib.Codec.encoding_table["52586"] = [173,73] let s:lib.Codec.encoding_table["52587"] = [173,74] let s:lib.Codec.encoding_table["52590"] = [173,75] let s:lib.Codec.encoding_table["52592"] = [173,76] let s:lib.Codec.encoding_table["52594"] = [173,77] let s:lib.Codec.encoding_table["52595"] = [173,78] let s:lib.Codec.encoding_table["52596"] = [173,79] let s:lib.Codec.encoding_table["52597"] = [173,80] let s:lib.Codec.encoding_table["52598"] = [173,81] let s:lib.Codec.encoding_table["52599"] = [173,82] let s:lib.Codec.encoding_table["52601"] = [173,83] let s:lib.Codec.encoding_table["52602"] = [173,84] let s:lib.Codec.encoding_table["52603"] = [173,85] let s:lib.Codec.encoding_table["52604"] = [173,86] let s:lib.Codec.encoding_table["52605"] = [173,87] let s:lib.Codec.encoding_table["52606"] = [173,88] let s:lib.Codec.encoding_table["52607"] = [173,89] let s:lib.Codec.encoding_table["52608"] = [173,90] let s:lib.Codec.encoding_table["52609"] = [173,97] let s:lib.Codec.encoding_table["52610"] = [173,98] let s:lib.Codec.encoding_table["52611"] = [173,99] let s:lib.Codec.encoding_table["52612"] = [173,100] let s:lib.Codec.encoding_table["52613"] = [173,101] let s:lib.Codec.encoding_table["52614"] = [173,102] let s:lib.Codec.encoding_table["52615"] = [173,103] let s:lib.Codec.encoding_table["52617"] = [173,104] let s:lib.Codec.encoding_table["52618"] = [173,105] let s:lib.Codec.encoding_table["52619"] = [173,106] let s:lib.Codec.encoding_table["52620"] = [173,107] let s:lib.Codec.encoding_table["52621"] = [173,108] let s:lib.Codec.encoding_table["52622"] = [173,109] let s:lib.Codec.encoding_table["52623"] = [173,110] let s:lib.Codec.encoding_table["52624"] = [173,111] let s:lib.Codec.encoding_table["52625"] = [173,112] let s:lib.Codec.encoding_table["52626"] = [173,113] let s:lib.Codec.encoding_table["52627"] = [173,114] let s:lib.Codec.encoding_table["52630"] = [173,115] let s:lib.Codec.encoding_table["52631"] = [173,116] let s:lib.Codec.encoding_table["52633"] = [173,117] let s:lib.Codec.encoding_table["52634"] = [173,118] let s:lib.Codec.encoding_table["52635"] = [173,119] let s:lib.Codec.encoding_table["52637"] = [173,120] let s:lib.Codec.encoding_table["52638"] = [173,121] let s:lib.Codec.encoding_table["52639"] = [173,122] let s:lib.Codec.encoding_table["52640"] = [173,129] let s:lib.Codec.encoding_table["52641"] = [173,130] let s:lib.Codec.encoding_table["52642"] = [173,131] let s:lib.Codec.encoding_table["52643"] = [173,132] let s:lib.Codec.encoding_table["52646"] = [173,133] let s:lib.Codec.encoding_table["52648"] = [173,134] let s:lib.Codec.encoding_table["52650"] = [173,135] let s:lib.Codec.encoding_table["52651"] = [173,136] let s:lib.Codec.encoding_table["52652"] = [173,137] let s:lib.Codec.encoding_table["52653"] = [173,138] let s:lib.Codec.encoding_table["52654"] = [173,139] let s:lib.Codec.encoding_table["52655"] = [173,140] let s:lib.Codec.encoding_table["52657"] = [173,141] let s:lib.Codec.encoding_table["52658"] = [173,142] let s:lib.Codec.encoding_table["52659"] = [173,143] let s:lib.Codec.encoding_table["52660"] = [173,144] let s:lib.Codec.encoding_table["52661"] = [173,145] let s:lib.Codec.encoding_table["52662"] = [173,146] let s:lib.Codec.encoding_table["52663"] = [173,147] let s:lib.Codec.encoding_table["52664"] = [173,148] let s:lib.Codec.encoding_table["52665"] = [173,149] let s:lib.Codec.encoding_table["52666"] = [173,150] let s:lib.Codec.encoding_table["52667"] = [173,151] let s:lib.Codec.encoding_table["52668"] = [173,152] let s:lib.Codec.encoding_table["52669"] = [173,153] let s:lib.Codec.encoding_table["52670"] = [173,154] let s:lib.Codec.encoding_table["52671"] = [173,155] let s:lib.Codec.encoding_table["52672"] = [173,156] let s:lib.Codec.encoding_table["52673"] = [173,157] let s:lib.Codec.encoding_table["52674"] = [173,158] let s:lib.Codec.encoding_table["52675"] = [173,159] let s:lib.Codec.encoding_table["52677"] = [173,160] let s:lib.Codec.encoding_table["52678"] = [174,65] let s:lib.Codec.encoding_table["52679"] = [174,66] let s:lib.Codec.encoding_table["52680"] = [174,67] let s:lib.Codec.encoding_table["52681"] = [174,68] let s:lib.Codec.encoding_table["52682"] = [174,69] let s:lib.Codec.encoding_table["52683"] = [174,70] let s:lib.Codec.encoding_table["52685"] = [174,71] let s:lib.Codec.encoding_table["52686"] = [174,72] let s:lib.Codec.encoding_table["52687"] = [174,73] let s:lib.Codec.encoding_table["52689"] = [174,74] let s:lib.Codec.encoding_table["52690"] = [174,75] let s:lib.Codec.encoding_table["52691"] = [174,76] let s:lib.Codec.encoding_table["52692"] = [174,77] let s:lib.Codec.encoding_table["52693"] = [174,78] let s:lib.Codec.encoding_table["52694"] = [174,79] let s:lib.Codec.encoding_table["52695"] = [174,80] let s:lib.Codec.encoding_table["52696"] = [174,81] let s:lib.Codec.encoding_table["52697"] = [174,82] let s:lib.Codec.encoding_table["52698"] = [174,83] let s:lib.Codec.encoding_table["52699"] = [174,84] let s:lib.Codec.encoding_table["52700"] = [174,85] let s:lib.Codec.encoding_table["52701"] = [174,86] let s:lib.Codec.encoding_table["52702"] = [174,87] let s:lib.Codec.encoding_table["52703"] = [174,88] let s:lib.Codec.encoding_table["52704"] = [174,89] let s:lib.Codec.encoding_table["52705"] = [174,90] let s:lib.Codec.encoding_table["52706"] = [174,97] let s:lib.Codec.encoding_table["52707"] = [174,98] let s:lib.Codec.encoding_table["52708"] = [174,99] let s:lib.Codec.encoding_table["52709"] = [174,100] let s:lib.Codec.encoding_table["52710"] = [174,101] let s:lib.Codec.encoding_table["52711"] = [174,102] let s:lib.Codec.encoding_table["52713"] = [174,103] let s:lib.Codec.encoding_table["52714"] = [174,104] let s:lib.Codec.encoding_table["52715"] = [174,105] let s:lib.Codec.encoding_table["52717"] = [174,106] let s:lib.Codec.encoding_table["52718"] = [174,107] let s:lib.Codec.encoding_table["52719"] = [174,108] let s:lib.Codec.encoding_table["52721"] = [174,109] let s:lib.Codec.encoding_table["52722"] = [174,110] let s:lib.Codec.encoding_table["52723"] = [174,111] let s:lib.Codec.encoding_table["52724"] = [174,112] let s:lib.Codec.encoding_table["52725"] = [174,113] let s:lib.Codec.encoding_table["52726"] = [174,114] let s:lib.Codec.encoding_table["52727"] = [174,115] let s:lib.Codec.encoding_table["52730"] = [174,116] let s:lib.Codec.encoding_table["52732"] = [174,117] let s:lib.Codec.encoding_table["52734"] = [174,118] let s:lib.Codec.encoding_table["52735"] = [174,119] let s:lib.Codec.encoding_table["52736"] = [174,120] let s:lib.Codec.encoding_table["52737"] = [174,121] let s:lib.Codec.encoding_table["52738"] = [174,122] let s:lib.Codec.encoding_table["52739"] = [174,129] let s:lib.Codec.encoding_table["52741"] = [174,130] let s:lib.Codec.encoding_table["52742"] = [174,131] let s:lib.Codec.encoding_table["52743"] = [174,132] let s:lib.Codec.encoding_table["52745"] = [174,133] let s:lib.Codec.encoding_table["52746"] = [174,134] let s:lib.Codec.encoding_table["52747"] = [174,135] let s:lib.Codec.encoding_table["52749"] = [174,136] let s:lib.Codec.encoding_table["52750"] = [174,137] let s:lib.Codec.encoding_table["52751"] = [174,138] let s:lib.Codec.encoding_table["52752"] = [174,139] let s:lib.Codec.encoding_table["52753"] = [174,140] let s:lib.Codec.encoding_table["52754"] = [174,141] let s:lib.Codec.encoding_table["52755"] = [174,142] let s:lib.Codec.encoding_table["52757"] = [174,143] let s:lib.Codec.encoding_table["52758"] = [174,144] let s:lib.Codec.encoding_table["52759"] = [174,145] let s:lib.Codec.encoding_table["52760"] = [174,146] let s:lib.Codec.encoding_table["52762"] = [174,147] let s:lib.Codec.encoding_table["52763"] = [174,148] let s:lib.Codec.encoding_table["52764"] = [174,149] let s:lib.Codec.encoding_table["52765"] = [174,150] let s:lib.Codec.encoding_table["52766"] = [174,151] let s:lib.Codec.encoding_table["52767"] = [174,152] let s:lib.Codec.encoding_table["52770"] = [174,153] let s:lib.Codec.encoding_table["52771"] = [174,154] let s:lib.Codec.encoding_table["52773"] = [174,155] let s:lib.Codec.encoding_table["52774"] = [174,156] let s:lib.Codec.encoding_table["52775"] = [174,157] let s:lib.Codec.encoding_table["52777"] = [174,158] let s:lib.Codec.encoding_table["52778"] = [174,159] let s:lib.Codec.encoding_table["52779"] = [174,160] let s:lib.Codec.encoding_table["52780"] = [175,65] let s:lib.Codec.encoding_table["52781"] = [175,66] let s:lib.Codec.encoding_table["52782"] = [175,67] let s:lib.Codec.encoding_table["52783"] = [175,68] let s:lib.Codec.encoding_table["52786"] = [175,69] let s:lib.Codec.encoding_table["52788"] = [175,70] let s:lib.Codec.encoding_table["52790"] = [175,71] let s:lib.Codec.encoding_table["52791"] = [175,72] let s:lib.Codec.encoding_table["52792"] = [175,73] let s:lib.Codec.encoding_table["52793"] = [175,74] let s:lib.Codec.encoding_table["52794"] = [175,75] let s:lib.Codec.encoding_table["52795"] = [175,76] let s:lib.Codec.encoding_table["52796"] = [175,77] let s:lib.Codec.encoding_table["52797"] = [175,78] let s:lib.Codec.encoding_table["52798"] = [175,79] let s:lib.Codec.encoding_table["52799"] = [175,80] let s:lib.Codec.encoding_table["52800"] = [175,81] let s:lib.Codec.encoding_table["52801"] = [175,82] let s:lib.Codec.encoding_table["52802"] = [175,83] let s:lib.Codec.encoding_table["52803"] = [175,84] let s:lib.Codec.encoding_table["52804"] = [175,85] let s:lib.Codec.encoding_table["52805"] = [175,86] let s:lib.Codec.encoding_table["52806"] = [175,87] let s:lib.Codec.encoding_table["52807"] = [175,88] let s:lib.Codec.encoding_table["52808"] = [175,89] let s:lib.Codec.encoding_table["52809"] = [175,90] let s:lib.Codec.encoding_table["52810"] = [175,97] let s:lib.Codec.encoding_table["52811"] = [175,98] let s:lib.Codec.encoding_table["52812"] = [175,99] let s:lib.Codec.encoding_table["52813"] = [175,100] let s:lib.Codec.encoding_table["52814"] = [175,101] let s:lib.Codec.encoding_table["52815"] = [175,102] let s:lib.Codec.encoding_table["52816"] = [175,103] let s:lib.Codec.encoding_table["52817"] = [175,104] let s:lib.Codec.encoding_table["52818"] = [175,105] let s:lib.Codec.encoding_table["52819"] = [175,106] let s:lib.Codec.encoding_table["52820"] = [175,107] let s:lib.Codec.encoding_table["52821"] = [175,108] let s:lib.Codec.encoding_table["52822"] = [175,109] let s:lib.Codec.encoding_table["52823"] = [175,110] let s:lib.Codec.encoding_table["52826"] = [175,111] let s:lib.Codec.encoding_table["52827"] = [175,112] let s:lib.Codec.encoding_table["52829"] = [175,113] let s:lib.Codec.encoding_table["52830"] = [175,114] let s:lib.Codec.encoding_table["52834"] = [175,115] let s:lib.Codec.encoding_table["52835"] = [175,116] let s:lib.Codec.encoding_table["52836"] = [175,117] let s:lib.Codec.encoding_table["52837"] = [175,118] let s:lib.Codec.encoding_table["52838"] = [175,119] let s:lib.Codec.encoding_table["52839"] = [175,120] let s:lib.Codec.encoding_table["52842"] = [175,121] let s:lib.Codec.encoding_table["52844"] = [175,122] let s:lib.Codec.encoding_table["52846"] = [175,129] let s:lib.Codec.encoding_table["52847"] = [175,130] let s:lib.Codec.encoding_table["52848"] = [175,131] let s:lib.Codec.encoding_table["52849"] = [175,132] let s:lib.Codec.encoding_table["52850"] = [175,133] let s:lib.Codec.encoding_table["52851"] = [175,134] let s:lib.Codec.encoding_table["52854"] = [175,135] let s:lib.Codec.encoding_table["52855"] = [175,136] let s:lib.Codec.encoding_table["52857"] = [175,137] let s:lib.Codec.encoding_table["52858"] = [175,138] let s:lib.Codec.encoding_table["52859"] = [175,139] let s:lib.Codec.encoding_table["52861"] = [175,140] let s:lib.Codec.encoding_table["52862"] = [175,141] let s:lib.Codec.encoding_table["52863"] = [175,142] let s:lib.Codec.encoding_table["52864"] = [175,143] let s:lib.Codec.encoding_table["52865"] = [175,144] let s:lib.Codec.encoding_table["52866"] = [175,145] let s:lib.Codec.encoding_table["52867"] = [175,146] let s:lib.Codec.encoding_table["52870"] = [175,147] let s:lib.Codec.encoding_table["52872"] = [175,148] let s:lib.Codec.encoding_table["52874"] = [175,149] let s:lib.Codec.encoding_table["52875"] = [175,150] let s:lib.Codec.encoding_table["52876"] = [175,151] let s:lib.Codec.encoding_table["52877"] = [175,152] let s:lib.Codec.encoding_table["52878"] = [175,153] let s:lib.Codec.encoding_table["52879"] = [175,154] let s:lib.Codec.encoding_table["52882"] = [175,155] let s:lib.Codec.encoding_table["52883"] = [175,156] let s:lib.Codec.encoding_table["52885"] = [175,157] let s:lib.Codec.encoding_table["52886"] = [175,158] let s:lib.Codec.encoding_table["52887"] = [175,159] let s:lib.Codec.encoding_table["52889"] = [175,160] let s:lib.Codec.encoding_table["52890"] = [176,65] let s:lib.Codec.encoding_table["52891"] = [176,66] let s:lib.Codec.encoding_table["52892"] = [176,67] let s:lib.Codec.encoding_table["52893"] = [176,68] let s:lib.Codec.encoding_table["52894"] = [176,69] let s:lib.Codec.encoding_table["52895"] = [176,70] let s:lib.Codec.encoding_table["52898"] = [176,71] let s:lib.Codec.encoding_table["52902"] = [176,72] let s:lib.Codec.encoding_table["52903"] = [176,73] let s:lib.Codec.encoding_table["52904"] = [176,74] let s:lib.Codec.encoding_table["52905"] = [176,75] let s:lib.Codec.encoding_table["52906"] = [176,76] let s:lib.Codec.encoding_table["52907"] = [176,77] let s:lib.Codec.encoding_table["52910"] = [176,78] let s:lib.Codec.encoding_table["52911"] = [176,79] let s:lib.Codec.encoding_table["52912"] = [176,80] let s:lib.Codec.encoding_table["52913"] = [176,81] let s:lib.Codec.encoding_table["52914"] = [176,82] let s:lib.Codec.encoding_table["52915"] = [176,83] let s:lib.Codec.encoding_table["52916"] = [176,84] let s:lib.Codec.encoding_table["52917"] = [176,85] let s:lib.Codec.encoding_table["52918"] = [176,86] let s:lib.Codec.encoding_table["52919"] = [176,87] let s:lib.Codec.encoding_table["52920"] = [176,88] let s:lib.Codec.encoding_table["52921"] = [176,89] let s:lib.Codec.encoding_table["52922"] = [176,90] let s:lib.Codec.encoding_table["52923"] = [176,97] let s:lib.Codec.encoding_table["52924"] = [176,98] let s:lib.Codec.encoding_table["52925"] = [176,99] let s:lib.Codec.encoding_table["52926"] = [176,100] let s:lib.Codec.encoding_table["52927"] = [176,101] let s:lib.Codec.encoding_table["52928"] = [176,102] let s:lib.Codec.encoding_table["52930"] = [176,103] let s:lib.Codec.encoding_table["52931"] = [176,104] let s:lib.Codec.encoding_table["52932"] = [176,105] let s:lib.Codec.encoding_table["52933"] = [176,106] let s:lib.Codec.encoding_table["52934"] = [176,107] let s:lib.Codec.encoding_table["52935"] = [176,108] let s:lib.Codec.encoding_table["52936"] = [176,109] let s:lib.Codec.encoding_table["52937"] = [176,110] let s:lib.Codec.encoding_table["52938"] = [176,111] let s:lib.Codec.encoding_table["52939"] = [176,112] let s:lib.Codec.encoding_table["52940"] = [176,113] let s:lib.Codec.encoding_table["52941"] = [176,114] let s:lib.Codec.encoding_table["52942"] = [176,115] let s:lib.Codec.encoding_table["52943"] = [176,116] let s:lib.Codec.encoding_table["52944"] = [176,117] let s:lib.Codec.encoding_table["52945"] = [176,118] let s:lib.Codec.encoding_table["52946"] = [176,119] let s:lib.Codec.encoding_table["52947"] = [176,120] let s:lib.Codec.encoding_table["52948"] = [176,121] let s:lib.Codec.encoding_table["52949"] = [176,122] let s:lib.Codec.encoding_table["52950"] = [176,129] let s:lib.Codec.encoding_table["52951"] = [176,130] let s:lib.Codec.encoding_table["52952"] = [176,131] let s:lib.Codec.encoding_table["52953"] = [176,132] let s:lib.Codec.encoding_table["52954"] = [176,133] let s:lib.Codec.encoding_table["52955"] = [176,134] let s:lib.Codec.encoding_table["52956"] = [176,135] let s:lib.Codec.encoding_table["52957"] = [176,136] let s:lib.Codec.encoding_table["52958"] = [176,137] let s:lib.Codec.encoding_table["52959"] = [176,138] let s:lib.Codec.encoding_table["52960"] = [176,139] let s:lib.Codec.encoding_table["52961"] = [176,140] let s:lib.Codec.encoding_table["52962"] = [176,141] let s:lib.Codec.encoding_table["52963"] = [176,142] let s:lib.Codec.encoding_table["52966"] = [176,143] let s:lib.Codec.encoding_table["52967"] = [176,144] let s:lib.Codec.encoding_table["52969"] = [176,145] let s:lib.Codec.encoding_table["52970"] = [176,146] let s:lib.Codec.encoding_table["52973"] = [176,147] let s:lib.Codec.encoding_table["52974"] = [176,148] let s:lib.Codec.encoding_table["52975"] = [176,149] let s:lib.Codec.encoding_table["52976"] = [176,150] let s:lib.Codec.encoding_table["52977"] = [176,151] let s:lib.Codec.encoding_table["52978"] = [176,152] let s:lib.Codec.encoding_table["52979"] = [176,153] let s:lib.Codec.encoding_table["52982"] = [176,154] let s:lib.Codec.encoding_table["52986"] = [176,155] let s:lib.Codec.encoding_table["52987"] = [176,156] let s:lib.Codec.encoding_table["52988"] = [176,157] let s:lib.Codec.encoding_table["52989"] = [176,158] let s:lib.Codec.encoding_table["52990"] = [176,159] let s:lib.Codec.encoding_table["52991"] = [176,160] let s:lib.Codec.encoding_table["44032"] = [176,161] let s:lib.Codec.encoding_table["44033"] = [176,162] let s:lib.Codec.encoding_table["44036"] = [176,163] let s:lib.Codec.encoding_table["44039"] = [176,164] let s:lib.Codec.encoding_table["44040"] = [176,165] let s:lib.Codec.encoding_table["44041"] = [176,166] let s:lib.Codec.encoding_table["44042"] = [176,167] let s:lib.Codec.encoding_table["44048"] = [176,168] let s:lib.Codec.encoding_table["44049"] = [176,169] let s:lib.Codec.encoding_table["44050"] = [176,170] let s:lib.Codec.encoding_table["44051"] = [176,171] let s:lib.Codec.encoding_table["44052"] = [176,172] let s:lib.Codec.encoding_table["44053"] = [176,173] let s:lib.Codec.encoding_table["44054"] = [176,174] let s:lib.Codec.encoding_table["44055"] = [176,175] let s:lib.Codec.encoding_table["44057"] = [176,176] let s:lib.Codec.encoding_table["44058"] = [176,177] let s:lib.Codec.encoding_table["44059"] = [176,178] let s:lib.Codec.encoding_table["44060"] = [176,179] let s:lib.Codec.encoding_table["44061"] = [176,180] let s:lib.Codec.encoding_table["44064"] = [176,181] let s:lib.Codec.encoding_table["44068"] = [176,182] let s:lib.Codec.encoding_table["44076"] = [176,183] let s:lib.Codec.encoding_table["44077"] = [176,184] let s:lib.Codec.encoding_table["44079"] = [176,185] let s:lib.Codec.encoding_table["44080"] = [176,186] let s:lib.Codec.encoding_table["44081"] = [176,187] let s:lib.Codec.encoding_table["44088"] = [176,188] let s:lib.Codec.encoding_table["44089"] = [176,189] let s:lib.Codec.encoding_table["44092"] = [176,190] let s:lib.Codec.encoding_table["44096"] = [176,191] let s:lib.Codec.encoding_table["44107"] = [176,192] let s:lib.Codec.encoding_table["44109"] = [176,193] let s:lib.Codec.encoding_table["44116"] = [176,194] let s:lib.Codec.encoding_table["44120"] = [176,195] let s:lib.Codec.encoding_table["44124"] = [176,196] let s:lib.Codec.encoding_table["44144"] = [176,197] let s:lib.Codec.encoding_table["44145"] = [176,198] let s:lib.Codec.encoding_table["44148"] = [176,199] let s:lib.Codec.encoding_table["44151"] = [176,200] let s:lib.Codec.encoding_table["44152"] = [176,201] let s:lib.Codec.encoding_table["44154"] = [176,202] let s:lib.Codec.encoding_table["44160"] = [176,203] let s:lib.Codec.encoding_table["44161"] = [176,204] let s:lib.Codec.encoding_table["44163"] = [176,205] let s:lib.Codec.encoding_table["44164"] = [176,206] let s:lib.Codec.encoding_table["44165"] = [176,207] let s:lib.Codec.encoding_table["44166"] = [176,208] let s:lib.Codec.encoding_table["44169"] = [176,209] let s:lib.Codec.encoding_table["44170"] = [176,210] let s:lib.Codec.encoding_table["44171"] = [176,211] let s:lib.Codec.encoding_table["44172"] = [176,212] let s:lib.Codec.encoding_table["44176"] = [176,213] let s:lib.Codec.encoding_table["44180"] = [176,214] let s:lib.Codec.encoding_table["44188"] = [176,215] let s:lib.Codec.encoding_table["44189"] = [176,216] let s:lib.Codec.encoding_table["44191"] = [176,217] let s:lib.Codec.encoding_table["44192"] = [176,218] let s:lib.Codec.encoding_table["44193"] = [176,219] let s:lib.Codec.encoding_table["44200"] = [176,220] let s:lib.Codec.encoding_table["44201"] = [176,221] let s:lib.Codec.encoding_table["44202"] = [176,222] let s:lib.Codec.encoding_table["44204"] = [176,223] let s:lib.Codec.encoding_table["44207"] = [176,224] let s:lib.Codec.encoding_table["44208"] = [176,225] let s:lib.Codec.encoding_table["44216"] = [176,226] let s:lib.Codec.encoding_table["44217"] = [176,227] let s:lib.Codec.encoding_table["44219"] = [176,228] let s:lib.Codec.encoding_table["44220"] = [176,229] let s:lib.Codec.encoding_table["44221"] = [176,230] let s:lib.Codec.encoding_table["44225"] = [176,231] let s:lib.Codec.encoding_table["44228"] = [176,232] let s:lib.Codec.encoding_table["44232"] = [176,233] let s:lib.Codec.encoding_table["44236"] = [176,234] let s:lib.Codec.encoding_table["44245"] = [176,235] let s:lib.Codec.encoding_table["44247"] = [176,236] let s:lib.Codec.encoding_table["44256"] = [176,237] let s:lib.Codec.encoding_table["44257"] = [176,238] let s:lib.Codec.encoding_table["44260"] = [176,239] let s:lib.Codec.encoding_table["44263"] = [176,240] let s:lib.Codec.encoding_table["44264"] = [176,241] let s:lib.Codec.encoding_table["44266"] = [176,242] let s:lib.Codec.encoding_table["44268"] = [176,243] let s:lib.Codec.encoding_table["44271"] = [176,244] let s:lib.Codec.encoding_table["44272"] = [176,245] let s:lib.Codec.encoding_table["44273"] = [176,246] let s:lib.Codec.encoding_table["44275"] = [176,247] let s:lib.Codec.encoding_table["44277"] = [176,248] let s:lib.Codec.encoding_table["44278"] = [176,249] let s:lib.Codec.encoding_table["44284"] = [176,250] let s:lib.Codec.encoding_table["44285"] = [176,251] let s:lib.Codec.encoding_table["44288"] = [176,252] let s:lib.Codec.encoding_table["44292"] = [176,253] let s:lib.Codec.encoding_table["44294"] = [176,254] let s:lib.Codec.encoding_table["52994"] = [177,65] let s:lib.Codec.encoding_table["52995"] = [177,66] let s:lib.Codec.encoding_table["52997"] = [177,67] let s:lib.Codec.encoding_table["52998"] = [177,68] let s:lib.Codec.encoding_table["52999"] = [177,69] let s:lib.Codec.encoding_table["53001"] = [177,70] let s:lib.Codec.encoding_table["53002"] = [177,71] let s:lib.Codec.encoding_table["53003"] = [177,72] let s:lib.Codec.encoding_table["53004"] = [177,73] let s:lib.Codec.encoding_table["53005"] = [177,74] let s:lib.Codec.encoding_table["53006"] = [177,75] let s:lib.Codec.encoding_table["53007"] = [177,76] let s:lib.Codec.encoding_table["53010"] = [177,77] let s:lib.Codec.encoding_table["53012"] = [177,78] let s:lib.Codec.encoding_table["53014"] = [177,79] let s:lib.Codec.encoding_table["53015"] = [177,80] let s:lib.Codec.encoding_table["53016"] = [177,81] let s:lib.Codec.encoding_table["53017"] = [177,82] let s:lib.Codec.encoding_table["53018"] = [177,83] let s:lib.Codec.encoding_table["53019"] = [177,84] let s:lib.Codec.encoding_table["53021"] = [177,85] let s:lib.Codec.encoding_table["53022"] = [177,86] let s:lib.Codec.encoding_table["53023"] = [177,87] let s:lib.Codec.encoding_table["53025"] = [177,88] let s:lib.Codec.encoding_table["53026"] = [177,89] let s:lib.Codec.encoding_table["53027"] = [177,90] let s:lib.Codec.encoding_table["53029"] = [177,97] let s:lib.Codec.encoding_table["53030"] = [177,98] let s:lib.Codec.encoding_table["53031"] = [177,99] let s:lib.Codec.encoding_table["53032"] = [177,100] let s:lib.Codec.encoding_table["53033"] = [177,101] let s:lib.Codec.encoding_table["53034"] = [177,102] let s:lib.Codec.encoding_table["53035"] = [177,103] let s:lib.Codec.encoding_table["53038"] = [177,104] let s:lib.Codec.encoding_table["53042"] = [177,105] let s:lib.Codec.encoding_table["53043"] = [177,106] let s:lib.Codec.encoding_table["53044"] = [177,107] let s:lib.Codec.encoding_table["53045"] = [177,108] let s:lib.Codec.encoding_table["53046"] = [177,109] let s:lib.Codec.encoding_table["53047"] = [177,110] let s:lib.Codec.encoding_table["53049"] = [177,111] let s:lib.Codec.encoding_table["53050"] = [177,112] let s:lib.Codec.encoding_table["53051"] = [177,113] let s:lib.Codec.encoding_table["53052"] = [177,114] let s:lib.Codec.encoding_table["53053"] = [177,115] let s:lib.Codec.encoding_table["53054"] = [177,116] let s:lib.Codec.encoding_table["53055"] = [177,117] let s:lib.Codec.encoding_table["53056"] = [177,118] let s:lib.Codec.encoding_table["53057"] = [177,119] let s:lib.Codec.encoding_table["53058"] = [177,120] let s:lib.Codec.encoding_table["53059"] = [177,121] let s:lib.Codec.encoding_table["53060"] = [177,122] let s:lib.Codec.encoding_table["53061"] = [177,129] let s:lib.Codec.encoding_table["53062"] = [177,130] let s:lib.Codec.encoding_table["53063"] = [177,131] let s:lib.Codec.encoding_table["53064"] = [177,132] let s:lib.Codec.encoding_table["53065"] = [177,133] let s:lib.Codec.encoding_table["53066"] = [177,134] let s:lib.Codec.encoding_table["53067"] = [177,135] let s:lib.Codec.encoding_table["53068"] = [177,136] let s:lib.Codec.encoding_table["53069"] = [177,137] let s:lib.Codec.encoding_table["53070"] = [177,138] let s:lib.Codec.encoding_table["53071"] = [177,139] let s:lib.Codec.encoding_table["53072"] = [177,140] let s:lib.Codec.encoding_table["53073"] = [177,141] let s:lib.Codec.encoding_table["53074"] = [177,142] let s:lib.Codec.encoding_table["53075"] = [177,143] let s:lib.Codec.encoding_table["53078"] = [177,144] let s:lib.Codec.encoding_table["53079"] = [177,145] let s:lib.Codec.encoding_table["53081"] = [177,146] let s:lib.Codec.encoding_table["53082"] = [177,147] let s:lib.Codec.encoding_table["53083"] = [177,148] let s:lib.Codec.encoding_table["53085"] = [177,149] let s:lib.Codec.encoding_table["53086"] = [177,150] let s:lib.Codec.encoding_table["53087"] = [177,151] let s:lib.Codec.encoding_table["53088"] = [177,152] let s:lib.Codec.encoding_table["53089"] = [177,153] let s:lib.Codec.encoding_table["53090"] = [177,154] let s:lib.Codec.encoding_table["53091"] = [177,155] let s:lib.Codec.encoding_table["53094"] = [177,156] let s:lib.Codec.encoding_table["53096"] = [177,157] let s:lib.Codec.encoding_table["53098"] = [177,158] let s:lib.Codec.encoding_table["53099"] = [177,159] let s:lib.Codec.encoding_table["53100"] = [177,160] let s:lib.Codec.encoding_table["44300"] = [177,161] let s:lib.Codec.encoding_table["44301"] = [177,162] let s:lib.Codec.encoding_table["44303"] = [177,163] let s:lib.Codec.encoding_table["44305"] = [177,164] let s:lib.Codec.encoding_table["44312"] = [177,165] let s:lib.Codec.encoding_table["44316"] = [177,166] let s:lib.Codec.encoding_table["44320"] = [177,167] let s:lib.Codec.encoding_table["44329"] = [177,168] let s:lib.Codec.encoding_table["44332"] = [177,169] let s:lib.Codec.encoding_table["44333"] = [177,170] let s:lib.Codec.encoding_table["44340"] = [177,171] let s:lib.Codec.encoding_table["44341"] = [177,172] let s:lib.Codec.encoding_table["44344"] = [177,173] let s:lib.Codec.encoding_table["44348"] = [177,174] let s:lib.Codec.encoding_table["44356"] = [177,175] let s:lib.Codec.encoding_table["44357"] = [177,176] let s:lib.Codec.encoding_table["44359"] = [177,177] let s:lib.Codec.encoding_table["44361"] = [177,178] let s:lib.Codec.encoding_table["44368"] = [177,179] let s:lib.Codec.encoding_table["44372"] = [177,180] let s:lib.Codec.encoding_table["44376"] = [177,181] let s:lib.Codec.encoding_table["44385"] = [177,182] let s:lib.Codec.encoding_table["44387"] = [177,183] let s:lib.Codec.encoding_table["44396"] = [177,184] let s:lib.Codec.encoding_table["44397"] = [177,185] let s:lib.Codec.encoding_table["44400"] = [177,186] let s:lib.Codec.encoding_table["44403"] = [177,187] let s:lib.Codec.encoding_table["44404"] = [177,188] let s:lib.Codec.encoding_table["44405"] = [177,189] let s:lib.Codec.encoding_table["44406"] = [177,190] let s:lib.Codec.encoding_table["44411"] = [177,191] let s:lib.Codec.encoding_table["44412"] = [177,192] let s:lib.Codec.encoding_table["44413"] = [177,193] let s:lib.Codec.encoding_table["44415"] = [177,194] let s:lib.Codec.encoding_table["44417"] = [177,195] let s:lib.Codec.encoding_table["44418"] = [177,196] let s:lib.Codec.encoding_table["44424"] = [177,197] let s:lib.Codec.encoding_table["44425"] = [177,198] let s:lib.Codec.encoding_table["44428"] = [177,199] let s:lib.Codec.encoding_table["44432"] = [177,200] let s:lib.Codec.encoding_table["44444"] = [177,201] let s:lib.Codec.encoding_table["44445"] = [177,202] let s:lib.Codec.encoding_table["44452"] = [177,203] let s:lib.Codec.encoding_table["44471"] = [177,204] let s:lib.Codec.encoding_table["44480"] = [177,205] let s:lib.Codec.encoding_table["44481"] = [177,206] let s:lib.Codec.encoding_table["44484"] = [177,207] let s:lib.Codec.encoding_table["44488"] = [177,208] let s:lib.Codec.encoding_table["44496"] = [177,209] let s:lib.Codec.encoding_table["44497"] = [177,210] let s:lib.Codec.encoding_table["44499"] = [177,211] let s:lib.Codec.encoding_table["44508"] = [177,212] let s:lib.Codec.encoding_table["44512"] = [177,213] let s:lib.Codec.encoding_table["44516"] = [177,214] let s:lib.Codec.encoding_table["44536"] = [177,215] let s:lib.Codec.encoding_table["44537"] = [177,216] let s:lib.Codec.encoding_table["44540"] = [177,217] let s:lib.Codec.encoding_table["44543"] = [177,218] let s:lib.Codec.encoding_table["44544"] = [177,219] let s:lib.Codec.encoding_table["44545"] = [177,220] let s:lib.Codec.encoding_table["44552"] = [177,221] let s:lib.Codec.encoding_table["44553"] = [177,222] let s:lib.Codec.encoding_table["44555"] = [177,223] let s:lib.Codec.encoding_table["44557"] = [177,224] let s:lib.Codec.encoding_table["44564"] = [177,225] let s:lib.Codec.encoding_table["44592"] = [177,226] let s:lib.Codec.encoding_table["44593"] = [177,227] let s:lib.Codec.encoding_table["44596"] = [177,228] let s:lib.Codec.encoding_table["44599"] = [177,229] let s:lib.Codec.encoding_table["44600"] = [177,230] let s:lib.Codec.encoding_table["44602"] = [177,231] let s:lib.Codec.encoding_table["44608"] = [177,232] let s:lib.Codec.encoding_table["44609"] = [177,233] let s:lib.Codec.encoding_table["44611"] = [177,234] let s:lib.Codec.encoding_table["44613"] = [177,235] let s:lib.Codec.encoding_table["44614"] = [177,236] let s:lib.Codec.encoding_table["44618"] = [177,237] let s:lib.Codec.encoding_table["44620"] = [177,238] let s:lib.Codec.encoding_table["44621"] = [177,239] let s:lib.Codec.encoding_table["44622"] = [177,240] let s:lib.Codec.encoding_table["44624"] = [177,241] let s:lib.Codec.encoding_table["44628"] = [177,242] let s:lib.Codec.encoding_table["44630"] = [177,243] let s:lib.Codec.encoding_table["44636"] = [177,244] let s:lib.Codec.encoding_table["44637"] = [177,245] let s:lib.Codec.encoding_table["44639"] = [177,246] let s:lib.Codec.encoding_table["44640"] = [177,247] let s:lib.Codec.encoding_table["44641"] = [177,248] let s:lib.Codec.encoding_table["44645"] = [177,249] let s:lib.Codec.encoding_table["44648"] = [177,250] let s:lib.Codec.encoding_table["44649"] = [177,251] let s:lib.Codec.encoding_table["44652"] = [177,252] let s:lib.Codec.encoding_table["44656"] = [177,253] let s:lib.Codec.encoding_table["44664"] = [177,254] let s:lib.Codec.encoding_table["53101"] = [178,65] let s:lib.Codec.encoding_table["53102"] = [178,66] let s:lib.Codec.encoding_table["53103"] = [178,67] let s:lib.Codec.encoding_table["53106"] = [178,68] let s:lib.Codec.encoding_table["53107"] = [178,69] let s:lib.Codec.encoding_table["53109"] = [178,70] let s:lib.Codec.encoding_table["53110"] = [178,71] let s:lib.Codec.encoding_table["53111"] = [178,72] let s:lib.Codec.encoding_table["53113"] = [178,73] let s:lib.Codec.encoding_table["53114"] = [178,74] let s:lib.Codec.encoding_table["53115"] = [178,75] let s:lib.Codec.encoding_table["53116"] = [178,76] let s:lib.Codec.encoding_table["53117"] = [178,77] let s:lib.Codec.encoding_table["53118"] = [178,78] let s:lib.Codec.encoding_table["53119"] = [178,79] let s:lib.Codec.encoding_table["53121"] = [178,80] let s:lib.Codec.encoding_table["53122"] = [178,81] let s:lib.Codec.encoding_table["53123"] = [178,82] let s:lib.Codec.encoding_table["53124"] = [178,83] let s:lib.Codec.encoding_table["53126"] = [178,84] let s:lib.Codec.encoding_table["53127"] = [178,85] let s:lib.Codec.encoding_table["53128"] = [178,86] let s:lib.Codec.encoding_table["53129"] = [178,87] let s:lib.Codec.encoding_table["53130"] = [178,88] let s:lib.Codec.encoding_table["53131"] = [178,89] let s:lib.Codec.encoding_table["53133"] = [178,90] let s:lib.Codec.encoding_table["53134"] = [178,97] let s:lib.Codec.encoding_table["53135"] = [178,98] let s:lib.Codec.encoding_table["53136"] = [178,99] let s:lib.Codec.encoding_table["53137"] = [178,100] let s:lib.Codec.encoding_table["53138"] = [178,101] let s:lib.Codec.encoding_table["53139"] = [178,102] let s:lib.Codec.encoding_table["53140"] = [178,103] let s:lib.Codec.encoding_table["53141"] = [178,104] let s:lib.Codec.encoding_table["53142"] = [178,105] let s:lib.Codec.encoding_table["53143"] = [178,106] let s:lib.Codec.encoding_table["53144"] = [178,107] let s:lib.Codec.encoding_table["53145"] = [178,108] let s:lib.Codec.encoding_table["53146"] = [178,109] let s:lib.Codec.encoding_table["53147"] = [178,110] let s:lib.Codec.encoding_table["53148"] = [178,111] let s:lib.Codec.encoding_table["53149"] = [178,112] let s:lib.Codec.encoding_table["53150"] = [178,113] let s:lib.Codec.encoding_table["53151"] = [178,114] let s:lib.Codec.encoding_table["53152"] = [178,115] let s:lib.Codec.encoding_table["53154"] = [178,116] let s:lib.Codec.encoding_table["53155"] = [178,117] let s:lib.Codec.encoding_table["53156"] = [178,118] let s:lib.Codec.encoding_table["53157"] = [178,119] let s:lib.Codec.encoding_table["53158"] = [178,120] let s:lib.Codec.encoding_table["53159"] = [178,121] let s:lib.Codec.encoding_table["53161"] = [178,122] let s:lib.Codec.encoding_table["53162"] = [178,129] let s:lib.Codec.encoding_table["53163"] = [178,130] let s:lib.Codec.encoding_table["53164"] = [178,131] let s:lib.Codec.encoding_table["53165"] = [178,132] let s:lib.Codec.encoding_table["53166"] = [178,133] let s:lib.Codec.encoding_table["53167"] = [178,134] let s:lib.Codec.encoding_table["53169"] = [178,135] let s:lib.Codec.encoding_table["53170"] = [178,136] let s:lib.Codec.encoding_table["53171"] = [178,137] let s:lib.Codec.encoding_table["53172"] = [178,138] let s:lib.Codec.encoding_table["53173"] = [178,139] let s:lib.Codec.encoding_table["53174"] = [178,140] let s:lib.Codec.encoding_table["53175"] = [178,141] let s:lib.Codec.encoding_table["53176"] = [178,142] let s:lib.Codec.encoding_table["53177"] = [178,143] let s:lib.Codec.encoding_table["53178"] = [178,144] let s:lib.Codec.encoding_table["53179"] = [178,145] let s:lib.Codec.encoding_table["53180"] = [178,146] let s:lib.Codec.encoding_table["53181"] = [178,147] let s:lib.Codec.encoding_table["53182"] = [178,148] let s:lib.Codec.encoding_table["53183"] = [178,149] let s:lib.Codec.encoding_table["53184"] = [178,150] let s:lib.Codec.encoding_table["53185"] = [178,151] let s:lib.Codec.encoding_table["53186"] = [178,152] let s:lib.Codec.encoding_table["53187"] = [178,153] let s:lib.Codec.encoding_table["53189"] = [178,154] let s:lib.Codec.encoding_table["53190"] = [178,155] let s:lib.Codec.encoding_table["53191"] = [178,156] let s:lib.Codec.encoding_table["53192"] = [178,157] let s:lib.Codec.encoding_table["53193"] = [178,158] let s:lib.Codec.encoding_table["53194"] = [178,159] let s:lib.Codec.encoding_table["53195"] = [178,160] let s:lib.Codec.encoding_table["44665"] = [178,161] let s:lib.Codec.encoding_table["44667"] = [178,162] let s:lib.Codec.encoding_table["44668"] = [178,163] let s:lib.Codec.encoding_table["44669"] = [178,164] let s:lib.Codec.encoding_table["44676"] = [178,165] let s:lib.Codec.encoding_table["44677"] = [178,166] let s:lib.Codec.encoding_table["44684"] = [178,167] let s:lib.Codec.encoding_table["44732"] = [178,168] let s:lib.Codec.encoding_table["44733"] = [178,169] let s:lib.Codec.encoding_table["44734"] = [178,170] let s:lib.Codec.encoding_table["44736"] = [178,171] let s:lib.Codec.encoding_table["44740"] = [178,172] let s:lib.Codec.encoding_table["44748"] = [178,173] let s:lib.Codec.encoding_table["44749"] = [178,174] let s:lib.Codec.encoding_table["44751"] = [178,175] let s:lib.Codec.encoding_table["44752"] = [178,176] let s:lib.Codec.encoding_table["44753"] = [178,177] let s:lib.Codec.encoding_table["44760"] = [178,178] let s:lib.Codec.encoding_table["44761"] = [178,179] let s:lib.Codec.encoding_table["44764"] = [178,180] let s:lib.Codec.encoding_table["44776"] = [178,181] let s:lib.Codec.encoding_table["44779"] = [178,182] let s:lib.Codec.encoding_table["44781"] = [178,183] let s:lib.Codec.encoding_table["44788"] = [178,184] let s:lib.Codec.encoding_table["44792"] = [178,185] let s:lib.Codec.encoding_table["44796"] = [178,186] let s:lib.Codec.encoding_table["44807"] = [178,187] let s:lib.Codec.encoding_table["44808"] = [178,188] let s:lib.Codec.encoding_table["44813"] = [178,189] let s:lib.Codec.encoding_table["44816"] = [178,190] let s:lib.Codec.encoding_table["44844"] = [178,191] let s:lib.Codec.encoding_table["44845"] = [178,192] let s:lib.Codec.encoding_table["44848"] = [178,193] let s:lib.Codec.encoding_table["44850"] = [178,194] let s:lib.Codec.encoding_table["44852"] = [178,195] let s:lib.Codec.encoding_table["44860"] = [178,196] let s:lib.Codec.encoding_table["44861"] = [178,197] let s:lib.Codec.encoding_table["44863"] = [178,198] let s:lib.Codec.encoding_table["44865"] = [178,199] let s:lib.Codec.encoding_table["44866"] = [178,200] let s:lib.Codec.encoding_table["44867"] = [178,201] let s:lib.Codec.encoding_table["44872"] = [178,202] let s:lib.Codec.encoding_table["44873"] = [178,203] let s:lib.Codec.encoding_table["44880"] = [178,204] let s:lib.Codec.encoding_table["44892"] = [178,205] let s:lib.Codec.encoding_table["44893"] = [178,206] let s:lib.Codec.encoding_table["44900"] = [178,207] let s:lib.Codec.encoding_table["44901"] = [178,208] let s:lib.Codec.encoding_table["44921"] = [178,209] let s:lib.Codec.encoding_table["44928"] = [178,210] let s:lib.Codec.encoding_table["44932"] = [178,211] let s:lib.Codec.encoding_table["44936"] = [178,212] let s:lib.Codec.encoding_table["44944"] = [178,213] let s:lib.Codec.encoding_table["44945"] = [178,214] let s:lib.Codec.encoding_table["44949"] = [178,215] let s:lib.Codec.encoding_table["44956"] = [178,216] let s:lib.Codec.encoding_table["44984"] = [178,217] let s:lib.Codec.encoding_table["44985"] = [178,218] let s:lib.Codec.encoding_table["44988"] = [178,219] let s:lib.Codec.encoding_table["44992"] = [178,220] let s:lib.Codec.encoding_table["44999"] = [178,221] let s:lib.Codec.encoding_table["45000"] = [178,222] let s:lib.Codec.encoding_table["45001"] = [178,223] let s:lib.Codec.encoding_table["45003"] = [178,224] let s:lib.Codec.encoding_table["45005"] = [178,225] let s:lib.Codec.encoding_table["45006"] = [178,226] let s:lib.Codec.encoding_table["45012"] = [178,227] let s:lib.Codec.encoding_table["45020"] = [178,228] let s:lib.Codec.encoding_table["45032"] = [178,229] let s:lib.Codec.encoding_table["45033"] = [178,230] let s:lib.Codec.encoding_table["45040"] = [178,231] let s:lib.Codec.encoding_table["45041"] = [178,232] let s:lib.Codec.encoding_table["45044"] = [178,233] let s:lib.Codec.encoding_table["45048"] = [178,234] let s:lib.Codec.encoding_table["45056"] = [178,235] let s:lib.Codec.encoding_table["45057"] = [178,236] let s:lib.Codec.encoding_table["45060"] = [178,237] let s:lib.Codec.encoding_table["45068"] = [178,238] let s:lib.Codec.encoding_table["45072"] = [178,239] let s:lib.Codec.encoding_table["45076"] = [178,240] let s:lib.Codec.encoding_table["45084"] = [178,241] let s:lib.Codec.encoding_table["45085"] = [178,242] let s:lib.Codec.encoding_table["45096"] = [178,243] let s:lib.Codec.encoding_table["45124"] = [178,244] let s:lib.Codec.encoding_table["45125"] = [178,245] let s:lib.Codec.encoding_table["45128"] = [178,246] let s:lib.Codec.encoding_table["45130"] = [178,247] let s:lib.Codec.encoding_table["45132"] = [178,248] let s:lib.Codec.encoding_table["45134"] = [178,249] let s:lib.Codec.encoding_table["45139"] = [178,250] let s:lib.Codec.encoding_table["45140"] = [178,251] let s:lib.Codec.encoding_table["45141"] = [178,252] let s:lib.Codec.encoding_table["45143"] = [178,253] let s:lib.Codec.encoding_table["45145"] = [178,254] let s:lib.Codec.encoding_table["53196"] = [179,65] let s:lib.Codec.encoding_table["53197"] = [179,66] let s:lib.Codec.encoding_table["53198"] = [179,67] let s:lib.Codec.encoding_table["53199"] = [179,68] let s:lib.Codec.encoding_table["53200"] = [179,69] let s:lib.Codec.encoding_table["53201"] = [179,70] let s:lib.Codec.encoding_table["53202"] = [179,71] let s:lib.Codec.encoding_table["53203"] = [179,72] let s:lib.Codec.encoding_table["53204"] = [179,73] let s:lib.Codec.encoding_table["53205"] = [179,74] let s:lib.Codec.encoding_table["53206"] = [179,75] let s:lib.Codec.encoding_table["53207"] = [179,76] let s:lib.Codec.encoding_table["53208"] = [179,77] let s:lib.Codec.encoding_table["53209"] = [179,78] let s:lib.Codec.encoding_table["53210"] = [179,79] let s:lib.Codec.encoding_table["53211"] = [179,80] let s:lib.Codec.encoding_table["53212"] = [179,81] let s:lib.Codec.encoding_table["53213"] = [179,82] let s:lib.Codec.encoding_table["53214"] = [179,83] let s:lib.Codec.encoding_table["53215"] = [179,84] let s:lib.Codec.encoding_table["53218"] = [179,85] let s:lib.Codec.encoding_table["53219"] = [179,86] let s:lib.Codec.encoding_table["53221"] = [179,87] let s:lib.Codec.encoding_table["53222"] = [179,88] let s:lib.Codec.encoding_table["53223"] = [179,89] let s:lib.Codec.encoding_table["53225"] = [179,90] let s:lib.Codec.encoding_table["53226"] = [179,97] let s:lib.Codec.encoding_table["53227"] = [179,98] let s:lib.Codec.encoding_table["53228"] = [179,99] let s:lib.Codec.encoding_table["53229"] = [179,100] let s:lib.Codec.encoding_table["53230"] = [179,101] let s:lib.Codec.encoding_table["53231"] = [179,102] let s:lib.Codec.encoding_table["53234"] = [179,103] let s:lib.Codec.encoding_table["53236"] = [179,104] let s:lib.Codec.encoding_table["53238"] = [179,105] let s:lib.Codec.encoding_table["53239"] = [179,106] let s:lib.Codec.encoding_table["53240"] = [179,107] let s:lib.Codec.encoding_table["53241"] = [179,108] let s:lib.Codec.encoding_table["53242"] = [179,109] let s:lib.Codec.encoding_table["53243"] = [179,110] let s:lib.Codec.encoding_table["53245"] = [179,111] let s:lib.Codec.encoding_table["53246"] = [179,112] let s:lib.Codec.encoding_table["53247"] = [179,113] let s:lib.Codec.encoding_table["53249"] = [179,114] let s:lib.Codec.encoding_table["53250"] = [179,115] let s:lib.Codec.encoding_table["53251"] = [179,116] let s:lib.Codec.encoding_table["53253"] = [179,117] let s:lib.Codec.encoding_table["53254"] = [179,118] let s:lib.Codec.encoding_table["53255"] = [179,119] let s:lib.Codec.encoding_table["53256"] = [179,120] let s:lib.Codec.encoding_table["53257"] = [179,121] let s:lib.Codec.encoding_table["53258"] = [179,122] let s:lib.Codec.encoding_table["53259"] = [179,129] let s:lib.Codec.encoding_table["53260"] = [179,130] let s:lib.Codec.encoding_table["53261"] = [179,131] let s:lib.Codec.encoding_table["53262"] = [179,132] let s:lib.Codec.encoding_table["53263"] = [179,133] let s:lib.Codec.encoding_table["53264"] = [179,134] let s:lib.Codec.encoding_table["53266"] = [179,135] let s:lib.Codec.encoding_table["53267"] = [179,136] let s:lib.Codec.encoding_table["53268"] = [179,137] let s:lib.Codec.encoding_table["53269"] = [179,138] let s:lib.Codec.encoding_table["53270"] = [179,139] let s:lib.Codec.encoding_table["53271"] = [179,140] let s:lib.Codec.encoding_table["53273"] = [179,141] let s:lib.Codec.encoding_table["53274"] = [179,142] let s:lib.Codec.encoding_table["53275"] = [179,143] let s:lib.Codec.encoding_table["53276"] = [179,144] let s:lib.Codec.encoding_table["53277"] = [179,145] let s:lib.Codec.encoding_table["53278"] = [179,146] let s:lib.Codec.encoding_table["53279"] = [179,147] let s:lib.Codec.encoding_table["53280"] = [179,148] let s:lib.Codec.encoding_table["53281"] = [179,149] let s:lib.Codec.encoding_table["53282"] = [179,150] let s:lib.Codec.encoding_table["53283"] = [179,151] let s:lib.Codec.encoding_table["53284"] = [179,152] let s:lib.Codec.encoding_table["53285"] = [179,153] let s:lib.Codec.encoding_table["53286"] = [179,154] let s:lib.Codec.encoding_table["53287"] = [179,155] let s:lib.Codec.encoding_table["53288"] = [179,156] let s:lib.Codec.encoding_table["53289"] = [179,157] let s:lib.Codec.encoding_table["53290"] = [179,158] let s:lib.Codec.encoding_table["53291"] = [179,159] let s:lib.Codec.encoding_table["53292"] = [179,160] let s:lib.Codec.encoding_table["45149"] = [179,161] let s:lib.Codec.encoding_table["45180"] = [179,162] let s:lib.Codec.encoding_table["45181"] = [179,163] let s:lib.Codec.encoding_table["45184"] = [179,164] let s:lib.Codec.encoding_table["45188"] = [179,165] let s:lib.Codec.encoding_table["45196"] = [179,166] let s:lib.Codec.encoding_table["45197"] = [179,167] let s:lib.Codec.encoding_table["45199"] = [179,168] let s:lib.Codec.encoding_table["45201"] = [179,169] let s:lib.Codec.encoding_table["45208"] = [179,170] let s:lib.Codec.encoding_table["45209"] = [179,171] let s:lib.Codec.encoding_table["45210"] = [179,172] let s:lib.Codec.encoding_table["45212"] = [179,173] let s:lib.Codec.encoding_table["45215"] = [179,174] let s:lib.Codec.encoding_table["45216"] = [179,175] let s:lib.Codec.encoding_table["45217"] = [179,176] let s:lib.Codec.encoding_table["45218"] = [179,177] let s:lib.Codec.encoding_table["45224"] = [179,178] let s:lib.Codec.encoding_table["45225"] = [179,179] let s:lib.Codec.encoding_table["45227"] = [179,180] let s:lib.Codec.encoding_table["45228"] = [179,181] let s:lib.Codec.encoding_table["45229"] = [179,182] let s:lib.Codec.encoding_table["45230"] = [179,183] let s:lib.Codec.encoding_table["45231"] = [179,184] let s:lib.Codec.encoding_table["45233"] = [179,185] let s:lib.Codec.encoding_table["45235"] = [179,186] let s:lib.Codec.encoding_table["45236"] = [179,187] let s:lib.Codec.encoding_table["45237"] = [179,188] let s:lib.Codec.encoding_table["45240"] = [179,189] let s:lib.Codec.encoding_table["45244"] = [179,190] let s:lib.Codec.encoding_table["45252"] = [179,191] let s:lib.Codec.encoding_table["45253"] = [179,192] let s:lib.Codec.encoding_table["45255"] = [179,193] let s:lib.Codec.encoding_table["45256"] = [179,194] let s:lib.Codec.encoding_table["45257"] = [179,195] let s:lib.Codec.encoding_table["45264"] = [179,196] let s:lib.Codec.encoding_table["45265"] = [179,197] let s:lib.Codec.encoding_table["45268"] = [179,198] let s:lib.Codec.encoding_table["45272"] = [179,199] let s:lib.Codec.encoding_table["45280"] = [179,200] let s:lib.Codec.encoding_table["45285"] = [179,201] let s:lib.Codec.encoding_table["45320"] = [179,202] let s:lib.Codec.encoding_table["45321"] = [179,203] let s:lib.Codec.encoding_table["45323"] = [179,204] let s:lib.Codec.encoding_table["45324"] = [179,205] let s:lib.Codec.encoding_table["45328"] = [179,206] let s:lib.Codec.encoding_table["45330"] = [179,207] let s:lib.Codec.encoding_table["45331"] = [179,208] let s:lib.Codec.encoding_table["45336"] = [179,209] let s:lib.Codec.encoding_table["45337"] = [179,210] let s:lib.Codec.encoding_table["45339"] = [179,211] let s:lib.Codec.encoding_table["45340"] = [179,212] let s:lib.Codec.encoding_table["45341"] = [179,213] let s:lib.Codec.encoding_table["45347"] = [179,214] let s:lib.Codec.encoding_table["45348"] = [179,215] let s:lib.Codec.encoding_table["45349"] = [179,216] let s:lib.Codec.encoding_table["45352"] = [179,217] let s:lib.Codec.encoding_table["45356"] = [179,218] let s:lib.Codec.encoding_table["45364"] = [179,219] let s:lib.Codec.encoding_table["45365"] = [179,220] let s:lib.Codec.encoding_table["45367"] = [179,221] let s:lib.Codec.encoding_table["45368"] = [179,222] let s:lib.Codec.encoding_table["45369"] = [179,223] let s:lib.Codec.encoding_table["45376"] = [179,224] let s:lib.Codec.encoding_table["45377"] = [179,225] let s:lib.Codec.encoding_table["45380"] = [179,226] let s:lib.Codec.encoding_table["45384"] = [179,227] let s:lib.Codec.encoding_table["45392"] = [179,228] let s:lib.Codec.encoding_table["45393"] = [179,229] let s:lib.Codec.encoding_table["45396"] = [179,230] let s:lib.Codec.encoding_table["45397"] = [179,231] let s:lib.Codec.encoding_table["45400"] = [179,232] let s:lib.Codec.encoding_table["45404"] = [179,233] let s:lib.Codec.encoding_table["45408"] = [179,234] let s:lib.Codec.encoding_table["45432"] = [179,235] let s:lib.Codec.encoding_table["45433"] = [179,236] let s:lib.Codec.encoding_table["45436"] = [179,237] let s:lib.Codec.encoding_table["45440"] = [179,238] let s:lib.Codec.encoding_table["45442"] = [179,239] let s:lib.Codec.encoding_table["45448"] = [179,240] let s:lib.Codec.encoding_table["45449"] = [179,241] let s:lib.Codec.encoding_table["45451"] = [179,242] let s:lib.Codec.encoding_table["45453"] = [179,243] let s:lib.Codec.encoding_table["45458"] = [179,244] let s:lib.Codec.encoding_table["45459"] = [179,245] let s:lib.Codec.encoding_table["45460"] = [179,246] let s:lib.Codec.encoding_table["45464"] = [179,247] let s:lib.Codec.encoding_table["45468"] = [179,248] let s:lib.Codec.encoding_table["45480"] = [179,249] let s:lib.Codec.encoding_table["45516"] = [179,250] let s:lib.Codec.encoding_table["45520"] = [179,251] let s:lib.Codec.encoding_table["45524"] = [179,252] let s:lib.Codec.encoding_table["45532"] = [179,253] let s:lib.Codec.encoding_table["45533"] = [179,254] let s:lib.Codec.encoding_table["53294"] = [180,65] let s:lib.Codec.encoding_table["53295"] = [180,66] let s:lib.Codec.encoding_table["53296"] = [180,67] let s:lib.Codec.encoding_table["53297"] = [180,68] let s:lib.Codec.encoding_table["53298"] = [180,69] let s:lib.Codec.encoding_table["53299"] = [180,70] let s:lib.Codec.encoding_table["53302"] = [180,71] let s:lib.Codec.encoding_table["53303"] = [180,72] let s:lib.Codec.encoding_table["53305"] = [180,73] let s:lib.Codec.encoding_table["53306"] = [180,74] let s:lib.Codec.encoding_table["53307"] = [180,75] let s:lib.Codec.encoding_table["53309"] = [180,76] let s:lib.Codec.encoding_table["53310"] = [180,77] let s:lib.Codec.encoding_table["53311"] = [180,78] let s:lib.Codec.encoding_table["53312"] = [180,79] let s:lib.Codec.encoding_table["53313"] = [180,80] let s:lib.Codec.encoding_table["53314"] = [180,81] let s:lib.Codec.encoding_table["53315"] = [180,82] let s:lib.Codec.encoding_table["53318"] = [180,83] let s:lib.Codec.encoding_table["53320"] = [180,84] let s:lib.Codec.encoding_table["53322"] = [180,85] let s:lib.Codec.encoding_table["53323"] = [180,86] let s:lib.Codec.encoding_table["53324"] = [180,87] let s:lib.Codec.encoding_table["53325"] = [180,88] let s:lib.Codec.encoding_table["53326"] = [180,89] let s:lib.Codec.encoding_table["53327"] = [180,90] let s:lib.Codec.encoding_table["53329"] = [180,97] let s:lib.Codec.encoding_table["53330"] = [180,98] let s:lib.Codec.encoding_table["53331"] = [180,99] let s:lib.Codec.encoding_table["53333"] = [180,100] let s:lib.Codec.encoding_table["53334"] = [180,101] let s:lib.Codec.encoding_table["53335"] = [180,102] let s:lib.Codec.encoding_table["53337"] = [180,103] let s:lib.Codec.encoding_table["53338"] = [180,104] let s:lib.Codec.encoding_table["53339"] = [180,105] let s:lib.Codec.encoding_table["53340"] = [180,106] let s:lib.Codec.encoding_table["53341"] = [180,107] let s:lib.Codec.encoding_table["53342"] = [180,108] let s:lib.Codec.encoding_table["53343"] = [180,109] let s:lib.Codec.encoding_table["53345"] = [180,110] let s:lib.Codec.encoding_table["53346"] = [180,111] let s:lib.Codec.encoding_table["53347"] = [180,112] let s:lib.Codec.encoding_table["53348"] = [180,113] let s:lib.Codec.encoding_table["53349"] = [180,114] let s:lib.Codec.encoding_table["53350"] = [180,115] let s:lib.Codec.encoding_table["53351"] = [180,116] let s:lib.Codec.encoding_table["53352"] = [180,117] let s:lib.Codec.encoding_table["53353"] = [180,118] let s:lib.Codec.encoding_table["53354"] = [180,119] let s:lib.Codec.encoding_table["53355"] = [180,120] let s:lib.Codec.encoding_table["53358"] = [180,121] let s:lib.Codec.encoding_table["53359"] = [180,122] let s:lib.Codec.encoding_table["53361"] = [180,129] let s:lib.Codec.encoding_table["53362"] = [180,130] let s:lib.Codec.encoding_table["53363"] = [180,131] let s:lib.Codec.encoding_table["53365"] = [180,132] let s:lib.Codec.encoding_table["53366"] = [180,133] let s:lib.Codec.encoding_table["53367"] = [180,134] let s:lib.Codec.encoding_table["53368"] = [180,135] let s:lib.Codec.encoding_table["53369"] = [180,136] let s:lib.Codec.encoding_table["53370"] = [180,137] let s:lib.Codec.encoding_table["53371"] = [180,138] let s:lib.Codec.encoding_table["53374"] = [180,139] let s:lib.Codec.encoding_table["53375"] = [180,140] let s:lib.Codec.encoding_table["53376"] = [180,141] let s:lib.Codec.encoding_table["53378"] = [180,142] let s:lib.Codec.encoding_table["53379"] = [180,143] let s:lib.Codec.encoding_table["53380"] = [180,144] let s:lib.Codec.encoding_table["53381"] = [180,145] let s:lib.Codec.encoding_table["53382"] = [180,146] let s:lib.Codec.encoding_table["53383"] = [180,147] let s:lib.Codec.encoding_table["53384"] = [180,148] let s:lib.Codec.encoding_table["53385"] = [180,149] let s:lib.Codec.encoding_table["53386"] = [180,150] let s:lib.Codec.encoding_table["53387"] = [180,151] let s:lib.Codec.encoding_table["53388"] = [180,152] let s:lib.Codec.encoding_table["53389"] = [180,153] let s:lib.Codec.encoding_table["53390"] = [180,154] let s:lib.Codec.encoding_table["53391"] = [180,155] let s:lib.Codec.encoding_table["53392"] = [180,156] let s:lib.Codec.encoding_table["53393"] = [180,157] let s:lib.Codec.encoding_table["53394"] = [180,158] let s:lib.Codec.encoding_table["53395"] = [180,159] let s:lib.Codec.encoding_table["53396"] = [180,160] let s:lib.Codec.encoding_table["45535"] = [180,161] let s:lib.Codec.encoding_table["45544"] = [180,162] let s:lib.Codec.encoding_table["45545"] = [180,163] let s:lib.Codec.encoding_table["45548"] = [180,164] let s:lib.Codec.encoding_table["45552"] = [180,165] let s:lib.Codec.encoding_table["45561"] = [180,166] let s:lib.Codec.encoding_table["45563"] = [180,167] let s:lib.Codec.encoding_table["45565"] = [180,168] let s:lib.Codec.encoding_table["45572"] = [180,169] let s:lib.Codec.encoding_table["45573"] = [180,170] let s:lib.Codec.encoding_table["45576"] = [180,171] let s:lib.Codec.encoding_table["45579"] = [180,172] let s:lib.Codec.encoding_table["45580"] = [180,173] let s:lib.Codec.encoding_table["45588"] = [180,174] let s:lib.Codec.encoding_table["45589"] = [180,175] let s:lib.Codec.encoding_table["45591"] = [180,176] let s:lib.Codec.encoding_table["45593"] = [180,177] let s:lib.Codec.encoding_table["45600"] = [180,178] let s:lib.Codec.encoding_table["45620"] = [180,179] let s:lib.Codec.encoding_table["45628"] = [180,180] let s:lib.Codec.encoding_table["45656"] = [180,181] let s:lib.Codec.encoding_table["45660"] = [180,182] let s:lib.Codec.encoding_table["45664"] = [180,183] let s:lib.Codec.encoding_table["45672"] = [180,184] let s:lib.Codec.encoding_table["45673"] = [180,185] let s:lib.Codec.encoding_table["45684"] = [180,186] let s:lib.Codec.encoding_table["45685"] = [180,187] let s:lib.Codec.encoding_table["45692"] = [180,188] let s:lib.Codec.encoding_table["45700"] = [180,189] let s:lib.Codec.encoding_table["45701"] = [180,190] let s:lib.Codec.encoding_table["45705"] = [180,191] let s:lib.Codec.encoding_table["45712"] = [180,192] let s:lib.Codec.encoding_table["45713"] = [180,193] let s:lib.Codec.encoding_table["45716"] = [180,194] let s:lib.Codec.encoding_table["45720"] = [180,195] let s:lib.Codec.encoding_table["45721"] = [180,196] let s:lib.Codec.encoding_table["45722"] = [180,197] let s:lib.Codec.encoding_table["45728"] = [180,198] let s:lib.Codec.encoding_table["45729"] = [180,199] let s:lib.Codec.encoding_table["45731"] = [180,200] let s:lib.Codec.encoding_table["45733"] = [180,201] let s:lib.Codec.encoding_table["45734"] = [180,202] let s:lib.Codec.encoding_table["45738"] = [180,203] let s:lib.Codec.encoding_table["45740"] = [180,204] let s:lib.Codec.encoding_table["45744"] = [180,205] let s:lib.Codec.encoding_table["45748"] = [180,206] let s:lib.Codec.encoding_table["45768"] = [180,207] let s:lib.Codec.encoding_table["45769"] = [180,208] let s:lib.Codec.encoding_table["45772"] = [180,209] let s:lib.Codec.encoding_table["45776"] = [180,210] let s:lib.Codec.encoding_table["45778"] = [180,211] let s:lib.Codec.encoding_table["45784"] = [180,212] let s:lib.Codec.encoding_table["45785"] = [180,213] let s:lib.Codec.encoding_table["45787"] = [180,214] let s:lib.Codec.encoding_table["45789"] = [180,215] let s:lib.Codec.encoding_table["45794"] = [180,216] let s:lib.Codec.encoding_table["45796"] = [180,217] let s:lib.Codec.encoding_table["45797"] = [180,218] let s:lib.Codec.encoding_table["45798"] = [180,219] let s:lib.Codec.encoding_table["45800"] = [180,220] let s:lib.Codec.encoding_table["45803"] = [180,221] let s:lib.Codec.encoding_table["45804"] = [180,222] let s:lib.Codec.encoding_table["45805"] = [180,223] let s:lib.Codec.encoding_table["45806"] = [180,224] let s:lib.Codec.encoding_table["45807"] = [180,225] let s:lib.Codec.encoding_table["45811"] = [180,226] let s:lib.Codec.encoding_table["45812"] = [180,227] let s:lib.Codec.encoding_table["45813"] = [180,228] let s:lib.Codec.encoding_table["45815"] = [180,229] let s:lib.Codec.encoding_table["45816"] = [180,230] let s:lib.Codec.encoding_table["45817"] = [180,231] let s:lib.Codec.encoding_table["45818"] = [180,232] let s:lib.Codec.encoding_table["45819"] = [180,233] let s:lib.Codec.encoding_table["45823"] = [180,234] let s:lib.Codec.encoding_table["45824"] = [180,235] let s:lib.Codec.encoding_table["45825"] = [180,236] let s:lib.Codec.encoding_table["45828"] = [180,237] let s:lib.Codec.encoding_table["45832"] = [180,238] let s:lib.Codec.encoding_table["45840"] = [180,239] let s:lib.Codec.encoding_table["45841"] = [180,240] let s:lib.Codec.encoding_table["45843"] = [180,241] let s:lib.Codec.encoding_table["45844"] = [180,242] let s:lib.Codec.encoding_table["45845"] = [180,243] let s:lib.Codec.encoding_table["45852"] = [180,244] let s:lib.Codec.encoding_table["45908"] = [180,245] let s:lib.Codec.encoding_table["45909"] = [180,246] let s:lib.Codec.encoding_table["45910"] = [180,247] let s:lib.Codec.encoding_table["45912"] = [180,248] let s:lib.Codec.encoding_table["45915"] = [180,249] let s:lib.Codec.encoding_table["45916"] = [180,250] let s:lib.Codec.encoding_table["45918"] = [180,251] let s:lib.Codec.encoding_table["45919"] = [180,252] let s:lib.Codec.encoding_table["45924"] = [180,253] let s:lib.Codec.encoding_table["45925"] = [180,254] let s:lib.Codec.encoding_table["53397"] = [181,65] let s:lib.Codec.encoding_table["53398"] = [181,66] let s:lib.Codec.encoding_table["53399"] = [181,67] let s:lib.Codec.encoding_table["53400"] = [181,68] let s:lib.Codec.encoding_table["53401"] = [181,69] let s:lib.Codec.encoding_table["53402"] = [181,70] let s:lib.Codec.encoding_table["53403"] = [181,71] let s:lib.Codec.encoding_table["53404"] = [181,72] let s:lib.Codec.encoding_table["53405"] = [181,73] let s:lib.Codec.encoding_table["53406"] = [181,74] let s:lib.Codec.encoding_table["53407"] = [181,75] let s:lib.Codec.encoding_table["53408"] = [181,76] let s:lib.Codec.encoding_table["53409"] = [181,77] let s:lib.Codec.encoding_table["53410"] = [181,78] let s:lib.Codec.encoding_table["53411"] = [181,79] let s:lib.Codec.encoding_table["53414"] = [181,80] let s:lib.Codec.encoding_table["53415"] = [181,81] let s:lib.Codec.encoding_table["53417"] = [181,82] let s:lib.Codec.encoding_table["53418"] = [181,83] let s:lib.Codec.encoding_table["53419"] = [181,84] let s:lib.Codec.encoding_table["53421"] = [181,85] let s:lib.Codec.encoding_table["53422"] = [181,86] let s:lib.Codec.encoding_table["53423"] = [181,87] let s:lib.Codec.encoding_table["53424"] = [181,88] let s:lib.Codec.encoding_table["53425"] = [181,89] let s:lib.Codec.encoding_table["53426"] = [181,90] let s:lib.Codec.encoding_table["53427"] = [181,97] let s:lib.Codec.encoding_table["53430"] = [181,98] let s:lib.Codec.encoding_table["53432"] = [181,99] let s:lib.Codec.encoding_table["53434"] = [181,100] let s:lib.Codec.encoding_table["53435"] = [181,101] let s:lib.Codec.encoding_table["53436"] = [181,102] let s:lib.Codec.encoding_table["53437"] = [181,103] let s:lib.Codec.encoding_table["53438"] = [181,104] let s:lib.Codec.encoding_table["53439"] = [181,105] let s:lib.Codec.encoding_table["53442"] = [181,106] let s:lib.Codec.encoding_table["53443"] = [181,107] let s:lib.Codec.encoding_table["53445"] = [181,108] let s:lib.Codec.encoding_table["53446"] = [181,109] let s:lib.Codec.encoding_table["53447"] = [181,110] let s:lib.Codec.encoding_table["53450"] = [181,111] let s:lib.Codec.encoding_table["53451"] = [181,112] let s:lib.Codec.encoding_table["53452"] = [181,113] let s:lib.Codec.encoding_table["53453"] = [181,114] let s:lib.Codec.encoding_table["53454"] = [181,115] let s:lib.Codec.encoding_table["53455"] = [181,116] let s:lib.Codec.encoding_table["53458"] = [181,117] let s:lib.Codec.encoding_table["53462"] = [181,118] let s:lib.Codec.encoding_table["53463"] = [181,119] let s:lib.Codec.encoding_table["53464"] = [181,120] let s:lib.Codec.encoding_table["53465"] = [181,121] let s:lib.Codec.encoding_table["53466"] = [181,122] let s:lib.Codec.encoding_table["53467"] = [181,129] let s:lib.Codec.encoding_table["53470"] = [181,130] let s:lib.Codec.encoding_table["53471"] = [181,131] let s:lib.Codec.encoding_table["53473"] = [181,132] let s:lib.Codec.encoding_table["53474"] = [181,133] let s:lib.Codec.encoding_table["53475"] = [181,134] let s:lib.Codec.encoding_table["53477"] = [181,135] let s:lib.Codec.encoding_table["53478"] = [181,136] let s:lib.Codec.encoding_table["53479"] = [181,137] let s:lib.Codec.encoding_table["53480"] = [181,138] let s:lib.Codec.encoding_table["53481"] = [181,139] let s:lib.Codec.encoding_table["53482"] = [181,140] let s:lib.Codec.encoding_table["53483"] = [181,141] let s:lib.Codec.encoding_table["53486"] = [181,142] let s:lib.Codec.encoding_table["53490"] = [181,143] let s:lib.Codec.encoding_table["53491"] = [181,144] let s:lib.Codec.encoding_table["53492"] = [181,145] let s:lib.Codec.encoding_table["53493"] = [181,146] let s:lib.Codec.encoding_table["53494"] = [181,147] let s:lib.Codec.encoding_table["53495"] = [181,148] let s:lib.Codec.encoding_table["53497"] = [181,149] let s:lib.Codec.encoding_table["53498"] = [181,150] let s:lib.Codec.encoding_table["53499"] = [181,151] let s:lib.Codec.encoding_table["53500"] = [181,152] let s:lib.Codec.encoding_table["53501"] = [181,153] let s:lib.Codec.encoding_table["53502"] = [181,154] let s:lib.Codec.encoding_table["53503"] = [181,155] let s:lib.Codec.encoding_table["53504"] = [181,156] let s:lib.Codec.encoding_table["53505"] = [181,157] let s:lib.Codec.encoding_table["53506"] = [181,158] let s:lib.Codec.encoding_table["53507"] = [181,159] let s:lib.Codec.encoding_table["53508"] = [181,160] let s:lib.Codec.encoding_table["45927"] = [181,161] let s:lib.Codec.encoding_table["45929"] = [181,162] let s:lib.Codec.encoding_table["45931"] = [181,163] let s:lib.Codec.encoding_table["45934"] = [181,164] let s:lib.Codec.encoding_table["45936"] = [181,165] let s:lib.Codec.encoding_table["45937"] = [181,166] let s:lib.Codec.encoding_table["45940"] = [181,167] let s:lib.Codec.encoding_table["45944"] = [181,168] let s:lib.Codec.encoding_table["45952"] = [181,169] let s:lib.Codec.encoding_table["45953"] = [181,170] let s:lib.Codec.encoding_table["45955"] = [181,171] let s:lib.Codec.encoding_table["45956"] = [181,172] let s:lib.Codec.encoding_table["45957"] = [181,173] let s:lib.Codec.encoding_table["45964"] = [181,174] let s:lib.Codec.encoding_table["45968"] = [181,175] let s:lib.Codec.encoding_table["45972"] = [181,176] let s:lib.Codec.encoding_table["45984"] = [181,177] let s:lib.Codec.encoding_table["45985"] = [181,178] let s:lib.Codec.encoding_table["45992"] = [181,179] let s:lib.Codec.encoding_table["45996"] = [181,180] let s:lib.Codec.encoding_table["46020"] = [181,181] let s:lib.Codec.encoding_table["46021"] = [181,182] let s:lib.Codec.encoding_table["46024"] = [181,183] let s:lib.Codec.encoding_table["46027"] = [181,184] let s:lib.Codec.encoding_table["46028"] = [181,185] let s:lib.Codec.encoding_table["46030"] = [181,186] let s:lib.Codec.encoding_table["46032"] = [181,187] let s:lib.Codec.encoding_table["46036"] = [181,188] let s:lib.Codec.encoding_table["46037"] = [181,189] let s:lib.Codec.encoding_table["46039"] = [181,190] let s:lib.Codec.encoding_table["46041"] = [181,191] let s:lib.Codec.encoding_table["46043"] = [181,192] let s:lib.Codec.encoding_table["46045"] = [181,193] let s:lib.Codec.encoding_table["46048"] = [181,194] let s:lib.Codec.encoding_table["46052"] = [181,195] let s:lib.Codec.encoding_table["46056"] = [181,196] let s:lib.Codec.encoding_table["46076"] = [181,197] let s:lib.Codec.encoding_table["46096"] = [181,198] let s:lib.Codec.encoding_table["46104"] = [181,199] let s:lib.Codec.encoding_table["46108"] = [181,200] let s:lib.Codec.encoding_table["46112"] = [181,201] let s:lib.Codec.encoding_table["46120"] = [181,202] let s:lib.Codec.encoding_table["46121"] = [181,203] let s:lib.Codec.encoding_table["46123"] = [181,204] let s:lib.Codec.encoding_table["46132"] = [181,205] let s:lib.Codec.encoding_table["46160"] = [181,206] let s:lib.Codec.encoding_table["46161"] = [181,207] let s:lib.Codec.encoding_table["46164"] = [181,208] let s:lib.Codec.encoding_table["46168"] = [181,209] let s:lib.Codec.encoding_table["46176"] = [181,210] let s:lib.Codec.encoding_table["46177"] = [181,211] let s:lib.Codec.encoding_table["46179"] = [181,212] let s:lib.Codec.encoding_table["46181"] = [181,213] let s:lib.Codec.encoding_table["46188"] = [181,214] let s:lib.Codec.encoding_table["46208"] = [181,215] let s:lib.Codec.encoding_table["46216"] = [181,216] let s:lib.Codec.encoding_table["46237"] = [181,217] let s:lib.Codec.encoding_table["46244"] = [181,218] let s:lib.Codec.encoding_table["46248"] = [181,219] let s:lib.Codec.encoding_table["46252"] = [181,220] let s:lib.Codec.encoding_table["46261"] = [181,221] let s:lib.Codec.encoding_table["46263"] = [181,222] let s:lib.Codec.encoding_table["46265"] = [181,223] let s:lib.Codec.encoding_table["46272"] = [181,224] let s:lib.Codec.encoding_table["46276"] = [181,225] let s:lib.Codec.encoding_table["46280"] = [181,226] let s:lib.Codec.encoding_table["46288"] = [181,227] let s:lib.Codec.encoding_table["46293"] = [181,228] let s:lib.Codec.encoding_table["46300"] = [181,229] let s:lib.Codec.encoding_table["46301"] = [181,230] let s:lib.Codec.encoding_table["46304"] = [181,231] let s:lib.Codec.encoding_table["46307"] = [181,232] let s:lib.Codec.encoding_table["46308"] = [181,233] let s:lib.Codec.encoding_table["46310"] = [181,234] let s:lib.Codec.encoding_table["46316"] = [181,235] let s:lib.Codec.encoding_table["46317"] = [181,236] let s:lib.Codec.encoding_table["46319"] = [181,237] let s:lib.Codec.encoding_table["46321"] = [181,238] let s:lib.Codec.encoding_table["46328"] = [181,239] let s:lib.Codec.encoding_table["46356"] = [181,240] let s:lib.Codec.encoding_table["46357"] = [181,241] let s:lib.Codec.encoding_table["46360"] = [181,242] let s:lib.Codec.encoding_table["46363"] = [181,243] let s:lib.Codec.encoding_table["46364"] = [181,244] let s:lib.Codec.encoding_table["46372"] = [181,245] let s:lib.Codec.encoding_table["46373"] = [181,246] let s:lib.Codec.encoding_table["46375"] = [181,247] let s:lib.Codec.encoding_table["46376"] = [181,248] let s:lib.Codec.encoding_table["46377"] = [181,249] let s:lib.Codec.encoding_table["46378"] = [181,250] let s:lib.Codec.encoding_table["46384"] = [181,251] let s:lib.Codec.encoding_table["46385"] = [181,252] let s:lib.Codec.encoding_table["46388"] = [181,253] let s:lib.Codec.encoding_table["46392"] = [181,254] let s:lib.Codec.encoding_table["53509"] = [182,65] let s:lib.Codec.encoding_table["53510"] = [182,66] let s:lib.Codec.encoding_table["53511"] = [182,67] let s:lib.Codec.encoding_table["53512"] = [182,68] let s:lib.Codec.encoding_table["53513"] = [182,69] let s:lib.Codec.encoding_table["53514"] = [182,70] let s:lib.Codec.encoding_table["53515"] = [182,71] let s:lib.Codec.encoding_table["53516"] = [182,72] let s:lib.Codec.encoding_table["53518"] = [182,73] let s:lib.Codec.encoding_table["53519"] = [182,74] let s:lib.Codec.encoding_table["53520"] = [182,75] let s:lib.Codec.encoding_table["53521"] = [182,76] let s:lib.Codec.encoding_table["53522"] = [182,77] let s:lib.Codec.encoding_table["53523"] = [182,78] let s:lib.Codec.encoding_table["53524"] = [182,79] let s:lib.Codec.encoding_table["53525"] = [182,80] let s:lib.Codec.encoding_table["53526"] = [182,81] let s:lib.Codec.encoding_table["53527"] = [182,82] let s:lib.Codec.encoding_table["53528"] = [182,83] let s:lib.Codec.encoding_table["53529"] = [182,84] let s:lib.Codec.encoding_table["53530"] = [182,85] let s:lib.Codec.encoding_table["53531"] = [182,86] let s:lib.Codec.encoding_table["53532"] = [182,87] let s:lib.Codec.encoding_table["53533"] = [182,88] let s:lib.Codec.encoding_table["53534"] = [182,89] let s:lib.Codec.encoding_table["53535"] = [182,90] let s:lib.Codec.encoding_table["53536"] = [182,97] let s:lib.Codec.encoding_table["53537"] = [182,98] let s:lib.Codec.encoding_table["53538"] = [182,99] let s:lib.Codec.encoding_table["53539"] = [182,100] let s:lib.Codec.encoding_table["53540"] = [182,101] let s:lib.Codec.encoding_table["53541"] = [182,102] let s:lib.Codec.encoding_table["53542"] = [182,103] let s:lib.Codec.encoding_table["53543"] = [182,104] let s:lib.Codec.encoding_table["53544"] = [182,105] let s:lib.Codec.encoding_table["53545"] = [182,106] let s:lib.Codec.encoding_table["53546"] = [182,107] let s:lib.Codec.encoding_table["53547"] = [182,108] let s:lib.Codec.encoding_table["53548"] = [182,109] let s:lib.Codec.encoding_table["53549"] = [182,110] let s:lib.Codec.encoding_table["53550"] = [182,111] let s:lib.Codec.encoding_table["53551"] = [182,112] let s:lib.Codec.encoding_table["53554"] = [182,113] let s:lib.Codec.encoding_table["53555"] = [182,114] let s:lib.Codec.encoding_table["53557"] = [182,115] let s:lib.Codec.encoding_table["53558"] = [182,116] let s:lib.Codec.encoding_table["53559"] = [182,117] let s:lib.Codec.encoding_table["53561"] = [182,118] let s:lib.Codec.encoding_table["53563"] = [182,119] let s:lib.Codec.encoding_table["53564"] = [182,120] let s:lib.Codec.encoding_table["53565"] = [182,121] let s:lib.Codec.encoding_table["53566"] = [182,122] let s:lib.Codec.encoding_table["53567"] = [182,129] let s:lib.Codec.encoding_table["53570"] = [182,130] let s:lib.Codec.encoding_table["53574"] = [182,131] let s:lib.Codec.encoding_table["53575"] = [182,132] let s:lib.Codec.encoding_table["53576"] = [182,133] let s:lib.Codec.encoding_table["53577"] = [182,134] let s:lib.Codec.encoding_table["53578"] = [182,135] let s:lib.Codec.encoding_table["53579"] = [182,136] let s:lib.Codec.encoding_table["53582"] = [182,137] let s:lib.Codec.encoding_table["53583"] = [182,138] let s:lib.Codec.encoding_table["53585"] = [182,139] let s:lib.Codec.encoding_table["53586"] = [182,140] let s:lib.Codec.encoding_table["53587"] = [182,141] let s:lib.Codec.encoding_table["53589"] = [182,142] let s:lib.Codec.encoding_table["53590"] = [182,143] let s:lib.Codec.encoding_table["53591"] = [182,144] let s:lib.Codec.encoding_table["53592"] = [182,145] let s:lib.Codec.encoding_table["53593"] = [182,146] let s:lib.Codec.encoding_table["53594"] = [182,147] let s:lib.Codec.encoding_table["53595"] = [182,148] let s:lib.Codec.encoding_table["53598"] = [182,149] let s:lib.Codec.encoding_table["53600"] = [182,150] let s:lib.Codec.encoding_table["53602"] = [182,151] let s:lib.Codec.encoding_table["53603"] = [182,152] let s:lib.Codec.encoding_table["53604"] = [182,153] let s:lib.Codec.encoding_table["53605"] = [182,154] let s:lib.Codec.encoding_table["53606"] = [182,155] let s:lib.Codec.encoding_table["53607"] = [182,156] let s:lib.Codec.encoding_table["53609"] = [182,157] let s:lib.Codec.encoding_table["53610"] = [182,158] let s:lib.Codec.encoding_table["53611"] = [182,159] let s:lib.Codec.encoding_table["53613"] = [182,160] let s:lib.Codec.encoding_table["46400"] = [182,161] let s:lib.Codec.encoding_table["46401"] = [182,162] let s:lib.Codec.encoding_table["46403"] = [182,163] let s:lib.Codec.encoding_table["46404"] = [182,164] let s:lib.Codec.encoding_table["46405"] = [182,165] let s:lib.Codec.encoding_table["46411"] = [182,166] let s:lib.Codec.encoding_table["46412"] = [182,167] let s:lib.Codec.encoding_table["46413"] = [182,168] let s:lib.Codec.encoding_table["46416"] = [182,169] let s:lib.Codec.encoding_table["46420"] = [182,170] let s:lib.Codec.encoding_table["46428"] = [182,171] let s:lib.Codec.encoding_table["46429"] = [182,172] let s:lib.Codec.encoding_table["46431"] = [182,173] let s:lib.Codec.encoding_table["46432"] = [182,174] let s:lib.Codec.encoding_table["46433"] = [182,175] let s:lib.Codec.encoding_table["46496"] = [182,176] let s:lib.Codec.encoding_table["46497"] = [182,177] let s:lib.Codec.encoding_table["46500"] = [182,178] let s:lib.Codec.encoding_table["46504"] = [182,179] let s:lib.Codec.encoding_table["46506"] = [182,180] let s:lib.Codec.encoding_table["46507"] = [182,181] let s:lib.Codec.encoding_table["46512"] = [182,182] let s:lib.Codec.encoding_table["46513"] = [182,183] let s:lib.Codec.encoding_table["46515"] = [182,184] let s:lib.Codec.encoding_table["46516"] = [182,185] let s:lib.Codec.encoding_table["46517"] = [182,186] let s:lib.Codec.encoding_table["46523"] = [182,187] let s:lib.Codec.encoding_table["46524"] = [182,188] let s:lib.Codec.encoding_table["46525"] = [182,189] let s:lib.Codec.encoding_table["46528"] = [182,190] let s:lib.Codec.encoding_table["46532"] = [182,191] let s:lib.Codec.encoding_table["46540"] = [182,192] let s:lib.Codec.encoding_table["46541"] = [182,193] let s:lib.Codec.encoding_table["46543"] = [182,194] let s:lib.Codec.encoding_table["46544"] = [182,195] let s:lib.Codec.encoding_table["46545"] = [182,196] let s:lib.Codec.encoding_table["46552"] = [182,197] let s:lib.Codec.encoding_table["46572"] = [182,198] let s:lib.Codec.encoding_table["46608"] = [182,199] let s:lib.Codec.encoding_table["46609"] = [182,200] let s:lib.Codec.encoding_table["46612"] = [182,201] let s:lib.Codec.encoding_table["46616"] = [182,202] let s:lib.Codec.encoding_table["46629"] = [182,203] let s:lib.Codec.encoding_table["46636"] = [182,204] let s:lib.Codec.encoding_table["46644"] = [182,205] let s:lib.Codec.encoding_table["46664"] = [182,206] let s:lib.Codec.encoding_table["46692"] = [182,207] let s:lib.Codec.encoding_table["46696"] = [182,208] let s:lib.Codec.encoding_table["46748"] = [182,209] let s:lib.Codec.encoding_table["46749"] = [182,210] let s:lib.Codec.encoding_table["46752"] = [182,211] let s:lib.Codec.encoding_table["46756"] = [182,212] let s:lib.Codec.encoding_table["46763"] = [182,213] let s:lib.Codec.encoding_table["46764"] = [182,214] let s:lib.Codec.encoding_table["46769"] = [182,215] let s:lib.Codec.encoding_table["46804"] = [182,216] let s:lib.Codec.encoding_table["46832"] = [182,217] let s:lib.Codec.encoding_table["46836"] = [182,218] let s:lib.Codec.encoding_table["46840"] = [182,219] let s:lib.Codec.encoding_table["46848"] = [182,220] let s:lib.Codec.encoding_table["46849"] = [182,221] let s:lib.Codec.encoding_table["46853"] = [182,222] let s:lib.Codec.encoding_table["46888"] = [182,223] let s:lib.Codec.encoding_table["46889"] = [182,224] let s:lib.Codec.encoding_table["46892"] = [182,225] let s:lib.Codec.encoding_table["46895"] = [182,226] let s:lib.Codec.encoding_table["46896"] = [182,227] let s:lib.Codec.encoding_table["46904"] = [182,228] let s:lib.Codec.encoding_table["46905"] = [182,229] let s:lib.Codec.encoding_table["46907"] = [182,230] let s:lib.Codec.encoding_table["46916"] = [182,231] let s:lib.Codec.encoding_table["46920"] = [182,232] let s:lib.Codec.encoding_table["46924"] = [182,233] let s:lib.Codec.encoding_table["46932"] = [182,234] let s:lib.Codec.encoding_table["46933"] = [182,235] let s:lib.Codec.encoding_table["46944"] = [182,236] let s:lib.Codec.encoding_table["46948"] = [182,237] let s:lib.Codec.encoding_table["46952"] = [182,238] let s:lib.Codec.encoding_table["46960"] = [182,239] let s:lib.Codec.encoding_table["46961"] = [182,240] let s:lib.Codec.encoding_table["46963"] = [182,241] let s:lib.Codec.encoding_table["46965"] = [182,242] let s:lib.Codec.encoding_table["46972"] = [182,243] let s:lib.Codec.encoding_table["46973"] = [182,244] let s:lib.Codec.encoding_table["46976"] = [182,245] let s:lib.Codec.encoding_table["46980"] = [182,246] let s:lib.Codec.encoding_table["46988"] = [182,247] let s:lib.Codec.encoding_table["46989"] = [182,248] let s:lib.Codec.encoding_table["46991"] = [182,249] let s:lib.Codec.encoding_table["46992"] = [182,250] let s:lib.Codec.encoding_table["46993"] = [182,251] let s:lib.Codec.encoding_table["46994"] = [182,252] let s:lib.Codec.encoding_table["46998"] = [182,253] let s:lib.Codec.encoding_table["46999"] = [182,254] let s:lib.Codec.encoding_table["53614"] = [183,65] let s:lib.Codec.encoding_table["53615"] = [183,66] let s:lib.Codec.encoding_table["53616"] = [183,67] let s:lib.Codec.encoding_table["53617"] = [183,68] let s:lib.Codec.encoding_table["53618"] = [183,69] let s:lib.Codec.encoding_table["53619"] = [183,70] let s:lib.Codec.encoding_table["53620"] = [183,71] let s:lib.Codec.encoding_table["53621"] = [183,72] let s:lib.Codec.encoding_table["53622"] = [183,73] let s:lib.Codec.encoding_table["53623"] = [183,74] let s:lib.Codec.encoding_table["53624"] = [183,75] let s:lib.Codec.encoding_table["53625"] = [183,76] let s:lib.Codec.encoding_table["53626"] = [183,77] let s:lib.Codec.encoding_table["53627"] = [183,78] let s:lib.Codec.encoding_table["53629"] = [183,79] let s:lib.Codec.encoding_table["53630"] = [183,80] let s:lib.Codec.encoding_table["53631"] = [183,81] let s:lib.Codec.encoding_table["53632"] = [183,82] let s:lib.Codec.encoding_table["53633"] = [183,83] let s:lib.Codec.encoding_table["53634"] = [183,84] let s:lib.Codec.encoding_table["53635"] = [183,85] let s:lib.Codec.encoding_table["53637"] = [183,86] let s:lib.Codec.encoding_table["53638"] = [183,87] let s:lib.Codec.encoding_table["53639"] = [183,88] let s:lib.Codec.encoding_table["53641"] = [183,89] let s:lib.Codec.encoding_table["53642"] = [183,90] let s:lib.Codec.encoding_table["53643"] = [183,97] let s:lib.Codec.encoding_table["53644"] = [183,98] let s:lib.Codec.encoding_table["53645"] = [183,99] let s:lib.Codec.encoding_table["53646"] = [183,100] let s:lib.Codec.encoding_table["53647"] = [183,101] let s:lib.Codec.encoding_table["53648"] = [183,102] let s:lib.Codec.encoding_table["53649"] = [183,103] let s:lib.Codec.encoding_table["53650"] = [183,104] let s:lib.Codec.encoding_table["53651"] = [183,105] let s:lib.Codec.encoding_table["53652"] = [183,106] let s:lib.Codec.encoding_table["53653"] = [183,107] let s:lib.Codec.encoding_table["53654"] = [183,108] let s:lib.Codec.encoding_table["53655"] = [183,109] let s:lib.Codec.encoding_table["53656"] = [183,110] let s:lib.Codec.encoding_table["53657"] = [183,111] let s:lib.Codec.encoding_table["53658"] = [183,112] let s:lib.Codec.encoding_table["53659"] = [183,113] let s:lib.Codec.encoding_table["53660"] = [183,114] let s:lib.Codec.encoding_table["53661"] = [183,115] let s:lib.Codec.encoding_table["53662"] = [183,116] let s:lib.Codec.encoding_table["53663"] = [183,117] let s:lib.Codec.encoding_table["53666"] = [183,118] let s:lib.Codec.encoding_table["53667"] = [183,119] let s:lib.Codec.encoding_table["53669"] = [183,120] let s:lib.Codec.encoding_table["53670"] = [183,121] let s:lib.Codec.encoding_table["53671"] = [183,122] let s:lib.Codec.encoding_table["53673"] = [183,129] let s:lib.Codec.encoding_table["53674"] = [183,130] let s:lib.Codec.encoding_table["53675"] = [183,131] let s:lib.Codec.encoding_table["53676"] = [183,132] let s:lib.Codec.encoding_table["53677"] = [183,133] let s:lib.Codec.encoding_table["53678"] = [183,134] let s:lib.Codec.encoding_table["53679"] = [183,135] let s:lib.Codec.encoding_table["53682"] = [183,136] let s:lib.Codec.encoding_table["53684"] = [183,137] let s:lib.Codec.encoding_table["53686"] = [183,138] let s:lib.Codec.encoding_table["53687"] = [183,139] let s:lib.Codec.encoding_table["53688"] = [183,140] let s:lib.Codec.encoding_table["53689"] = [183,141] let s:lib.Codec.encoding_table["53691"] = [183,142] let s:lib.Codec.encoding_table["53693"] = [183,143] let s:lib.Codec.encoding_table["53694"] = [183,144] let s:lib.Codec.encoding_table["53695"] = [183,145] let s:lib.Codec.encoding_table["53697"] = [183,146] let s:lib.Codec.encoding_table["53698"] = [183,147] let s:lib.Codec.encoding_table["53699"] = [183,148] let s:lib.Codec.encoding_table["53700"] = [183,149] let s:lib.Codec.encoding_table["53701"] = [183,150] let s:lib.Codec.encoding_table["53702"] = [183,151] let s:lib.Codec.encoding_table["53703"] = [183,152] let s:lib.Codec.encoding_table["53704"] = [183,153] let s:lib.Codec.encoding_table["53705"] = [183,154] let s:lib.Codec.encoding_table["53706"] = [183,155] let s:lib.Codec.encoding_table["53707"] = [183,156] let s:lib.Codec.encoding_table["53708"] = [183,157] let s:lib.Codec.encoding_table["53709"] = [183,158] let s:lib.Codec.encoding_table["53710"] = [183,159] let s:lib.Codec.encoding_table["53711"] = [183,160] let s:lib.Codec.encoding_table["47000"] = [183,161] let s:lib.Codec.encoding_table["47001"] = [183,162] let s:lib.Codec.encoding_table["47004"] = [183,163] let s:lib.Codec.encoding_table["47008"] = [183,164] let s:lib.Codec.encoding_table["47016"] = [183,165] let s:lib.Codec.encoding_table["47017"] = [183,166] let s:lib.Codec.encoding_table["47019"] = [183,167] let s:lib.Codec.encoding_table["47020"] = [183,168] let s:lib.Codec.encoding_table["47021"] = [183,169] let s:lib.Codec.encoding_table["47028"] = [183,170] let s:lib.Codec.encoding_table["47029"] = [183,171] let s:lib.Codec.encoding_table["47032"] = [183,172] let s:lib.Codec.encoding_table["47047"] = [183,173] let s:lib.Codec.encoding_table["47049"] = [183,174] let s:lib.Codec.encoding_table["47084"] = [183,175] let s:lib.Codec.encoding_table["47085"] = [183,176] let s:lib.Codec.encoding_table["47088"] = [183,177] let s:lib.Codec.encoding_table["47092"] = [183,178] let s:lib.Codec.encoding_table["47100"] = [183,179] let s:lib.Codec.encoding_table["47101"] = [183,180] let s:lib.Codec.encoding_table["47103"] = [183,181] let s:lib.Codec.encoding_table["47104"] = [183,182] let s:lib.Codec.encoding_table["47105"] = [183,183] let s:lib.Codec.encoding_table["47111"] = [183,184] let s:lib.Codec.encoding_table["47112"] = [183,185] let s:lib.Codec.encoding_table["47113"] = [183,186] let s:lib.Codec.encoding_table["47116"] = [183,187] let s:lib.Codec.encoding_table["47120"] = [183,188] let s:lib.Codec.encoding_table["47128"] = [183,189] let s:lib.Codec.encoding_table["47129"] = [183,190] let s:lib.Codec.encoding_table["47131"] = [183,191] let s:lib.Codec.encoding_table["47133"] = [183,192] let s:lib.Codec.encoding_table["47140"] = [183,193] let s:lib.Codec.encoding_table["47141"] = [183,194] let s:lib.Codec.encoding_table["47144"] = [183,195] let s:lib.Codec.encoding_table["47148"] = [183,196] let s:lib.Codec.encoding_table["47156"] = [183,197] let s:lib.Codec.encoding_table["47157"] = [183,198] let s:lib.Codec.encoding_table["47159"] = [183,199] let s:lib.Codec.encoding_table["47160"] = [183,200] let s:lib.Codec.encoding_table["47161"] = [183,201] let s:lib.Codec.encoding_table["47168"] = [183,202] let s:lib.Codec.encoding_table["47172"] = [183,203] let s:lib.Codec.encoding_table["47185"] = [183,204] let s:lib.Codec.encoding_table["47187"] = [183,205] let s:lib.Codec.encoding_table["47196"] = [183,206] let s:lib.Codec.encoding_table["47197"] = [183,207] let s:lib.Codec.encoding_table["47200"] = [183,208] let s:lib.Codec.encoding_table["47204"] = [183,209] let s:lib.Codec.encoding_table["47212"] = [183,210] let s:lib.Codec.encoding_table["47213"] = [183,211] let s:lib.Codec.encoding_table["47215"] = [183,212] let s:lib.Codec.encoding_table["47217"] = [183,213] let s:lib.Codec.encoding_table["47224"] = [183,214] let s:lib.Codec.encoding_table["47228"] = [183,215] let s:lib.Codec.encoding_table["47245"] = [183,216] let s:lib.Codec.encoding_table["47272"] = [183,217] let s:lib.Codec.encoding_table["47280"] = [183,218] let s:lib.Codec.encoding_table["47284"] = [183,219] let s:lib.Codec.encoding_table["47288"] = [183,220] let s:lib.Codec.encoding_table["47296"] = [183,221] let s:lib.Codec.encoding_table["47297"] = [183,222] let s:lib.Codec.encoding_table["47299"] = [183,223] let s:lib.Codec.encoding_table["47301"] = [183,224] let s:lib.Codec.encoding_table["47308"] = [183,225] let s:lib.Codec.encoding_table["47312"] = [183,226] let s:lib.Codec.encoding_table["47316"] = [183,227] let s:lib.Codec.encoding_table["47325"] = [183,228] let s:lib.Codec.encoding_table["47327"] = [183,229] let s:lib.Codec.encoding_table["47329"] = [183,230] let s:lib.Codec.encoding_table["47336"] = [183,231] let s:lib.Codec.encoding_table["47337"] = [183,232] let s:lib.Codec.encoding_table["47340"] = [183,233] let s:lib.Codec.encoding_table["47344"] = [183,234] let s:lib.Codec.encoding_table["47352"] = [183,235] let s:lib.Codec.encoding_table["47353"] = [183,236] let s:lib.Codec.encoding_table["47355"] = [183,237] let s:lib.Codec.encoding_table["47357"] = [183,238] let s:lib.Codec.encoding_table["47364"] = [183,239] let s:lib.Codec.encoding_table["47384"] = [183,240] let s:lib.Codec.encoding_table["47392"] = [183,241] let s:lib.Codec.encoding_table["47420"] = [183,242] let s:lib.Codec.encoding_table["47421"] = [183,243] let s:lib.Codec.encoding_table["47424"] = [183,244] let s:lib.Codec.encoding_table["47428"] = [183,245] let s:lib.Codec.encoding_table["47436"] = [183,246] let s:lib.Codec.encoding_table["47439"] = [183,247] let s:lib.Codec.encoding_table["47441"] = [183,248] let s:lib.Codec.encoding_table["47448"] = [183,249] let s:lib.Codec.encoding_table["47449"] = [183,250] let s:lib.Codec.encoding_table["47452"] = [183,251] let s:lib.Codec.encoding_table["47456"] = [183,252] let s:lib.Codec.encoding_table["47464"] = [183,253] let s:lib.Codec.encoding_table["47465"] = [183,254] let s:lib.Codec.encoding_table["53712"] = [184,65] let s:lib.Codec.encoding_table["53713"] = [184,66] let s:lib.Codec.encoding_table["53714"] = [184,67] let s:lib.Codec.encoding_table["53715"] = [184,68] let s:lib.Codec.encoding_table["53716"] = [184,69] let s:lib.Codec.encoding_table["53717"] = [184,70] let s:lib.Codec.encoding_table["53718"] = [184,71] let s:lib.Codec.encoding_table["53719"] = [184,72] let s:lib.Codec.encoding_table["53721"] = [184,73] let s:lib.Codec.encoding_table["53722"] = [184,74] let s:lib.Codec.encoding_table["53723"] = [184,75] let s:lib.Codec.encoding_table["53724"] = [184,76] let s:lib.Codec.encoding_table["53725"] = [184,77] let s:lib.Codec.encoding_table["53726"] = [184,78] let s:lib.Codec.encoding_table["53727"] = [184,79] let s:lib.Codec.encoding_table["53728"] = [184,80] let s:lib.Codec.encoding_table["53729"] = [184,81] let s:lib.Codec.encoding_table["53730"] = [184,82] let s:lib.Codec.encoding_table["53731"] = [184,83] let s:lib.Codec.encoding_table["53732"] = [184,84] let s:lib.Codec.encoding_table["53733"] = [184,85] let s:lib.Codec.encoding_table["53734"] = [184,86] let s:lib.Codec.encoding_table["53735"] = [184,87] let s:lib.Codec.encoding_table["53736"] = [184,88] let s:lib.Codec.encoding_table["53737"] = [184,89] let s:lib.Codec.encoding_table["53738"] = [184,90] let s:lib.Codec.encoding_table["53739"] = [184,97] let s:lib.Codec.encoding_table["53740"] = [184,98] let s:lib.Codec.encoding_table["53741"] = [184,99] let s:lib.Codec.encoding_table["53742"] = [184,100] let s:lib.Codec.encoding_table["53743"] = [184,101] let s:lib.Codec.encoding_table["53744"] = [184,102] let s:lib.Codec.encoding_table["53745"] = [184,103] let s:lib.Codec.encoding_table["53746"] = [184,104] let s:lib.Codec.encoding_table["53747"] = [184,105] let s:lib.Codec.encoding_table["53749"] = [184,106] let s:lib.Codec.encoding_table["53750"] = [184,107] let s:lib.Codec.encoding_table["53751"] = [184,108] let s:lib.Codec.encoding_table["53753"] = [184,109] let s:lib.Codec.encoding_table["53754"] = [184,110] let s:lib.Codec.encoding_table["53755"] = [184,111] let s:lib.Codec.encoding_table["53756"] = [184,112] let s:lib.Codec.encoding_table["53757"] = [184,113] let s:lib.Codec.encoding_table["53758"] = [184,114] let s:lib.Codec.encoding_table["53759"] = [184,115] let s:lib.Codec.encoding_table["53760"] = [184,116] let s:lib.Codec.encoding_table["53761"] = [184,117] let s:lib.Codec.encoding_table["53762"] = [184,118] let s:lib.Codec.encoding_table["53763"] = [184,119] let s:lib.Codec.encoding_table["53764"] = [184,120] let s:lib.Codec.encoding_table["53765"] = [184,121] let s:lib.Codec.encoding_table["53766"] = [184,122] let s:lib.Codec.encoding_table["53768"] = [184,129] let s:lib.Codec.encoding_table["53770"] = [184,130] let s:lib.Codec.encoding_table["53771"] = [184,131] let s:lib.Codec.encoding_table["53772"] = [184,132] let s:lib.Codec.encoding_table["53773"] = [184,133] let s:lib.Codec.encoding_table["53774"] = [184,134] let s:lib.Codec.encoding_table["53775"] = [184,135] let s:lib.Codec.encoding_table["53777"] = [184,136] let s:lib.Codec.encoding_table["53778"] = [184,137] let s:lib.Codec.encoding_table["53779"] = [184,138] let s:lib.Codec.encoding_table["53780"] = [184,139] let s:lib.Codec.encoding_table["53781"] = [184,140] let s:lib.Codec.encoding_table["53782"] = [184,141] let s:lib.Codec.encoding_table["53783"] = [184,142] let s:lib.Codec.encoding_table["53784"] = [184,143] let s:lib.Codec.encoding_table["53785"] = [184,144] let s:lib.Codec.encoding_table["53786"] = [184,145] let s:lib.Codec.encoding_table["53787"] = [184,146] let s:lib.Codec.encoding_table["53788"] = [184,147] let s:lib.Codec.encoding_table["53789"] = [184,148] let s:lib.Codec.encoding_table["53790"] = [184,149] let s:lib.Codec.encoding_table["53791"] = [184,150] let s:lib.Codec.encoding_table["53792"] = [184,151] let s:lib.Codec.encoding_table["53793"] = [184,152] let s:lib.Codec.encoding_table["53794"] = [184,153] let s:lib.Codec.encoding_table["53795"] = [184,154] let s:lib.Codec.encoding_table["53796"] = [184,155] let s:lib.Codec.encoding_table["53797"] = [184,156] let s:lib.Codec.encoding_table["53798"] = [184,157] let s:lib.Codec.encoding_table["53799"] = [184,158] let s:lib.Codec.encoding_table["53800"] = [184,159] let s:lib.Codec.encoding_table["53801"] = [184,160] let s:lib.Codec.encoding_table["47467"] = [184,161] let s:lib.Codec.encoding_table["47469"] = [184,162] let s:lib.Codec.encoding_table["47476"] = [184,163] let s:lib.Codec.encoding_table["47477"] = [184,164] let s:lib.Codec.encoding_table["47480"] = [184,165] let s:lib.Codec.encoding_table["47484"] = [184,166] let s:lib.Codec.encoding_table["47492"] = [184,167] let s:lib.Codec.encoding_table["47493"] = [184,168] let s:lib.Codec.encoding_table["47495"] = [184,169] let s:lib.Codec.encoding_table["47497"] = [184,170] let s:lib.Codec.encoding_table["47498"] = [184,171] let s:lib.Codec.encoding_table["47501"] = [184,172] let s:lib.Codec.encoding_table["47502"] = [184,173] let s:lib.Codec.encoding_table["47532"] = [184,174] let s:lib.Codec.encoding_table["47533"] = [184,175] let s:lib.Codec.encoding_table["47536"] = [184,176] let s:lib.Codec.encoding_table["47540"] = [184,177] let s:lib.Codec.encoding_table["47548"] = [184,178] let s:lib.Codec.encoding_table["47549"] = [184,179] let s:lib.Codec.encoding_table["47551"] = [184,180] let s:lib.Codec.encoding_table["47553"] = [184,181] let s:lib.Codec.encoding_table["47560"] = [184,182] let s:lib.Codec.encoding_table["47561"] = [184,183] let s:lib.Codec.encoding_table["47564"] = [184,184] let s:lib.Codec.encoding_table["47566"] = [184,185] let s:lib.Codec.encoding_table["47567"] = [184,186] let s:lib.Codec.encoding_table["47568"] = [184,187] let s:lib.Codec.encoding_table["47569"] = [184,188] let s:lib.Codec.encoding_table["47570"] = [184,189] let s:lib.Codec.encoding_table["47576"] = [184,190] let s:lib.Codec.encoding_table["47577"] = [184,191] let s:lib.Codec.encoding_table["47579"] = [184,192] let s:lib.Codec.encoding_table["47581"] = [184,193] let s:lib.Codec.encoding_table["47582"] = [184,194] let s:lib.Codec.encoding_table["47585"] = [184,195] let s:lib.Codec.encoding_table["47587"] = [184,196] let s:lib.Codec.encoding_table["47588"] = [184,197] let s:lib.Codec.encoding_table["47589"] = [184,198] let s:lib.Codec.encoding_table["47592"] = [184,199] let s:lib.Codec.encoding_table["47596"] = [184,200] let s:lib.Codec.encoding_table["47604"] = [184,201] let s:lib.Codec.encoding_table["47605"] = [184,202] let s:lib.Codec.encoding_table["47607"] = [184,203] let s:lib.Codec.encoding_table["47608"] = [184,204] let s:lib.Codec.encoding_table["47609"] = [184,205] let s:lib.Codec.encoding_table["47610"] = [184,206] let s:lib.Codec.encoding_table["47616"] = [184,207] let s:lib.Codec.encoding_table["47617"] = [184,208] let s:lib.Codec.encoding_table["47624"] = [184,209] let s:lib.Codec.encoding_table["47637"] = [184,210] let s:lib.Codec.encoding_table["47672"] = [184,211] let s:lib.Codec.encoding_table["47673"] = [184,212] let s:lib.Codec.encoding_table["47676"] = [184,213] let s:lib.Codec.encoding_table["47680"] = [184,214] let s:lib.Codec.encoding_table["47682"] = [184,215] let s:lib.Codec.encoding_table["47688"] = [184,216] let s:lib.Codec.encoding_table["47689"] = [184,217] let s:lib.Codec.encoding_table["47691"] = [184,218] let s:lib.Codec.encoding_table["47693"] = [184,219] let s:lib.Codec.encoding_table["47694"] = [184,220] let s:lib.Codec.encoding_table["47699"] = [184,221] let s:lib.Codec.encoding_table["47700"] = [184,222] let s:lib.Codec.encoding_table["47701"] = [184,223] let s:lib.Codec.encoding_table["47704"] = [184,224] let s:lib.Codec.encoding_table["47708"] = [184,225] let s:lib.Codec.encoding_table["47716"] = [184,226] let s:lib.Codec.encoding_table["47717"] = [184,227] let s:lib.Codec.encoding_table["47719"] = [184,228] let s:lib.Codec.encoding_table["47720"] = [184,229] let s:lib.Codec.encoding_table["47721"] = [184,230] let s:lib.Codec.encoding_table["47728"] = [184,231] let s:lib.Codec.encoding_table["47729"] = [184,232] let s:lib.Codec.encoding_table["47732"] = [184,233] let s:lib.Codec.encoding_table["47736"] = [184,234] let s:lib.Codec.encoding_table["47747"] = [184,235] let s:lib.Codec.encoding_table["47748"] = [184,236] let s:lib.Codec.encoding_table["47749"] = [184,237] let s:lib.Codec.encoding_table["47751"] = [184,238] let s:lib.Codec.encoding_table["47756"] = [184,239] let s:lib.Codec.encoding_table["47784"] = [184,240] let s:lib.Codec.encoding_table["47785"] = [184,241] let s:lib.Codec.encoding_table["47787"] = [184,242] let s:lib.Codec.encoding_table["47788"] = [184,243] let s:lib.Codec.encoding_table["47792"] = [184,244] let s:lib.Codec.encoding_table["47794"] = [184,245] let s:lib.Codec.encoding_table["47800"] = [184,246] let s:lib.Codec.encoding_table["47801"] = [184,247] let s:lib.Codec.encoding_table["47803"] = [184,248] let s:lib.Codec.encoding_table["47805"] = [184,249] let s:lib.Codec.encoding_table["47812"] = [184,250] let s:lib.Codec.encoding_table["47816"] = [184,251] let s:lib.Codec.encoding_table["47832"] = [184,252] let s:lib.Codec.encoding_table["47833"] = [184,253] let s:lib.Codec.encoding_table["47868"] = [184,254] let s:lib.Codec.encoding_table["53802"] = [185,65] let s:lib.Codec.encoding_table["53803"] = [185,66] let s:lib.Codec.encoding_table["53806"] = [185,67] let s:lib.Codec.encoding_table["53807"] = [185,68] let s:lib.Codec.encoding_table["53809"] = [185,69] let s:lib.Codec.encoding_table["53810"] = [185,70] let s:lib.Codec.encoding_table["53811"] = [185,71] let s:lib.Codec.encoding_table["53813"] = [185,72] let s:lib.Codec.encoding_table["53814"] = [185,73] let s:lib.Codec.encoding_table["53815"] = [185,74] let s:lib.Codec.encoding_table["53816"] = [185,75] let s:lib.Codec.encoding_table["53817"] = [185,76] let s:lib.Codec.encoding_table["53818"] = [185,77] let s:lib.Codec.encoding_table["53819"] = [185,78] let s:lib.Codec.encoding_table["53822"] = [185,79] let s:lib.Codec.encoding_table["53824"] = [185,80] let s:lib.Codec.encoding_table["53826"] = [185,81] let s:lib.Codec.encoding_table["53827"] = [185,82] let s:lib.Codec.encoding_table["53828"] = [185,83] let s:lib.Codec.encoding_table["53829"] = [185,84] let s:lib.Codec.encoding_table["53830"] = [185,85] let s:lib.Codec.encoding_table["53831"] = [185,86] let s:lib.Codec.encoding_table["53833"] = [185,87] let s:lib.Codec.encoding_table["53834"] = [185,88] let s:lib.Codec.encoding_table["53835"] = [185,89] let s:lib.Codec.encoding_table["53836"] = [185,90] let s:lib.Codec.encoding_table["53837"] = [185,97] let s:lib.Codec.encoding_table["53838"] = [185,98] let s:lib.Codec.encoding_table["53839"] = [185,99] let s:lib.Codec.encoding_table["53840"] = [185,100] let s:lib.Codec.encoding_table["53841"] = [185,101] let s:lib.Codec.encoding_table["53842"] = [185,102] let s:lib.Codec.encoding_table["53843"] = [185,103] let s:lib.Codec.encoding_table["53844"] = [185,104] let s:lib.Codec.encoding_table["53845"] = [185,105] let s:lib.Codec.encoding_table["53846"] = [185,106] let s:lib.Codec.encoding_table["53847"] = [185,107] let s:lib.Codec.encoding_table["53848"] = [185,108] let s:lib.Codec.encoding_table["53849"] = [185,109] let s:lib.Codec.encoding_table["53850"] = [185,110] let s:lib.Codec.encoding_table["53851"] = [185,111] let s:lib.Codec.encoding_table["53853"] = [185,112] let s:lib.Codec.encoding_table["53854"] = [185,113] let s:lib.Codec.encoding_table["53855"] = [185,114] let s:lib.Codec.encoding_table["53856"] = [185,115] let s:lib.Codec.encoding_table["53857"] = [185,116] let s:lib.Codec.encoding_table["53858"] = [185,117] let s:lib.Codec.encoding_table["53859"] = [185,118] let s:lib.Codec.encoding_table["53861"] = [185,119] let s:lib.Codec.encoding_table["53862"] = [185,120] let s:lib.Codec.encoding_table["53863"] = [185,121] let s:lib.Codec.encoding_table["53864"] = [185,122] let s:lib.Codec.encoding_table["53865"] = [185,129] let s:lib.Codec.encoding_table["53866"] = [185,130] let s:lib.Codec.encoding_table["53867"] = [185,131] let s:lib.Codec.encoding_table["53868"] = [185,132] let s:lib.Codec.encoding_table["53869"] = [185,133] let s:lib.Codec.encoding_table["53870"] = [185,134] let s:lib.Codec.encoding_table["53871"] = [185,135] let s:lib.Codec.encoding_table["53872"] = [185,136] let s:lib.Codec.encoding_table["53873"] = [185,137] let s:lib.Codec.encoding_table["53874"] = [185,138] let s:lib.Codec.encoding_table["53875"] = [185,139] let s:lib.Codec.encoding_table["53876"] = [185,140] let s:lib.Codec.encoding_table["53877"] = [185,141] let s:lib.Codec.encoding_table["53878"] = [185,142] let s:lib.Codec.encoding_table["53879"] = [185,143] let s:lib.Codec.encoding_table["53880"] = [185,144] let s:lib.Codec.encoding_table["53881"] = [185,145] let s:lib.Codec.encoding_table["53882"] = [185,146] let s:lib.Codec.encoding_table["53883"] = [185,147] let s:lib.Codec.encoding_table["53884"] = [185,148] let s:lib.Codec.encoding_table["53885"] = [185,149] let s:lib.Codec.encoding_table["53886"] = [185,150] let s:lib.Codec.encoding_table["53887"] = [185,151] let s:lib.Codec.encoding_table["53890"] = [185,152] let s:lib.Codec.encoding_table["53891"] = [185,153] let s:lib.Codec.encoding_table["53893"] = [185,154] let s:lib.Codec.encoding_table["53894"] = [185,155] let s:lib.Codec.encoding_table["53895"] = [185,156] let s:lib.Codec.encoding_table["53897"] = [185,157] let s:lib.Codec.encoding_table["53898"] = [185,158] let s:lib.Codec.encoding_table["53899"] = [185,159] let s:lib.Codec.encoding_table["53900"] = [185,160] let s:lib.Codec.encoding_table["47872"] = [185,161] let s:lib.Codec.encoding_table["47876"] = [185,162] let s:lib.Codec.encoding_table["47885"] = [185,163] let s:lib.Codec.encoding_table["47887"] = [185,164] let s:lib.Codec.encoding_table["47889"] = [185,165] let s:lib.Codec.encoding_table["47896"] = [185,166] let s:lib.Codec.encoding_table["47900"] = [185,167] let s:lib.Codec.encoding_table["47904"] = [185,168] let s:lib.Codec.encoding_table["47913"] = [185,169] let s:lib.Codec.encoding_table["47915"] = [185,170] let s:lib.Codec.encoding_table["47924"] = [185,171] let s:lib.Codec.encoding_table["47925"] = [185,172] let s:lib.Codec.encoding_table["47926"] = [185,173] let s:lib.Codec.encoding_table["47928"] = [185,174] let s:lib.Codec.encoding_table["47931"] = [185,175] let s:lib.Codec.encoding_table["47932"] = [185,176] let s:lib.Codec.encoding_table["47933"] = [185,177] let s:lib.Codec.encoding_table["47934"] = [185,178] let s:lib.Codec.encoding_table["47940"] = [185,179] let s:lib.Codec.encoding_table["47941"] = [185,180] let s:lib.Codec.encoding_table["47943"] = [185,181] let s:lib.Codec.encoding_table["47945"] = [185,182] let s:lib.Codec.encoding_table["47949"] = [185,183] let s:lib.Codec.encoding_table["47951"] = [185,184] let s:lib.Codec.encoding_table["47952"] = [185,185] let s:lib.Codec.encoding_table["47956"] = [185,186] let s:lib.Codec.encoding_table["47960"] = [185,187] let s:lib.Codec.encoding_table["47969"] = [185,188] let s:lib.Codec.encoding_table["47971"] = [185,189] let s:lib.Codec.encoding_table["47980"] = [185,190] let s:lib.Codec.encoding_table["48008"] = [185,191] let s:lib.Codec.encoding_table["48012"] = [185,192] let s:lib.Codec.encoding_table["48016"] = [185,193] let s:lib.Codec.encoding_table["48036"] = [185,194] let s:lib.Codec.encoding_table["48040"] = [185,195] let s:lib.Codec.encoding_table["48044"] = [185,196] let s:lib.Codec.encoding_table["48052"] = [185,197] let s:lib.Codec.encoding_table["48055"] = [185,198] let s:lib.Codec.encoding_table["48064"] = [185,199] let s:lib.Codec.encoding_table["48068"] = [185,200] let s:lib.Codec.encoding_table["48072"] = [185,201] let s:lib.Codec.encoding_table["48080"] = [185,202] let s:lib.Codec.encoding_table["48083"] = [185,203] let s:lib.Codec.encoding_table["48120"] = [185,204] let s:lib.Codec.encoding_table["48121"] = [185,205] let s:lib.Codec.encoding_table["48124"] = [185,206] let s:lib.Codec.encoding_table["48127"] = [185,207] let s:lib.Codec.encoding_table["48128"] = [185,208] let s:lib.Codec.encoding_table["48130"] = [185,209] let s:lib.Codec.encoding_table["48136"] = [185,210] let s:lib.Codec.encoding_table["48137"] = [185,211] let s:lib.Codec.encoding_table["48139"] = [185,212] let s:lib.Codec.encoding_table["48140"] = [185,213] let s:lib.Codec.encoding_table["48141"] = [185,214] let s:lib.Codec.encoding_table["48143"] = [185,215] let s:lib.Codec.encoding_table["48145"] = [185,216] let s:lib.Codec.encoding_table["48148"] = [185,217] let s:lib.Codec.encoding_table["48149"] = [185,218] let s:lib.Codec.encoding_table["48150"] = [185,219] let s:lib.Codec.encoding_table["48151"] = [185,220] let s:lib.Codec.encoding_table["48152"] = [185,221] let s:lib.Codec.encoding_table["48155"] = [185,222] let s:lib.Codec.encoding_table["48156"] = [185,223] let s:lib.Codec.encoding_table["48157"] = [185,224] let s:lib.Codec.encoding_table["48158"] = [185,225] let s:lib.Codec.encoding_table["48159"] = [185,226] let s:lib.Codec.encoding_table["48164"] = [185,227] let s:lib.Codec.encoding_table["48165"] = [185,228] let s:lib.Codec.encoding_table["48167"] = [185,229] let s:lib.Codec.encoding_table["48169"] = [185,230] let s:lib.Codec.encoding_table["48173"] = [185,231] let s:lib.Codec.encoding_table["48176"] = [185,232] let s:lib.Codec.encoding_table["48177"] = [185,233] let s:lib.Codec.encoding_table["48180"] = [185,234] let s:lib.Codec.encoding_table["48184"] = [185,235] let s:lib.Codec.encoding_table["48192"] = [185,236] let s:lib.Codec.encoding_table["48193"] = [185,237] let s:lib.Codec.encoding_table["48195"] = [185,238] let s:lib.Codec.encoding_table["48196"] = [185,239] let s:lib.Codec.encoding_table["48197"] = [185,240] let s:lib.Codec.encoding_table["48201"] = [185,241] let s:lib.Codec.encoding_table["48204"] = [185,242] let s:lib.Codec.encoding_table["48205"] = [185,243] let s:lib.Codec.encoding_table["48208"] = [185,244] let s:lib.Codec.encoding_table["48221"] = [185,245] let s:lib.Codec.encoding_table["48260"] = [185,246] let s:lib.Codec.encoding_table["48261"] = [185,247] let s:lib.Codec.encoding_table["48264"] = [185,248] let s:lib.Codec.encoding_table["48267"] = [185,249] let s:lib.Codec.encoding_table["48268"] = [185,250] let s:lib.Codec.encoding_table["48270"] = [185,251] let s:lib.Codec.encoding_table["48276"] = [185,252] let s:lib.Codec.encoding_table["48277"] = [185,253] let s:lib.Codec.encoding_table["48279"] = [185,254] let s:lib.Codec.encoding_table["53901"] = [186,65] let s:lib.Codec.encoding_table["53902"] = [186,66] let s:lib.Codec.encoding_table["53903"] = [186,67] let s:lib.Codec.encoding_table["53906"] = [186,68] let s:lib.Codec.encoding_table["53907"] = [186,69] let s:lib.Codec.encoding_table["53908"] = [186,70] let s:lib.Codec.encoding_table["53910"] = [186,71] let s:lib.Codec.encoding_table["53911"] = [186,72] let s:lib.Codec.encoding_table["53912"] = [186,73] let s:lib.Codec.encoding_table["53913"] = [186,74] let s:lib.Codec.encoding_table["53914"] = [186,75] let s:lib.Codec.encoding_table["53915"] = [186,76] let s:lib.Codec.encoding_table["53917"] = [186,77] let s:lib.Codec.encoding_table["53918"] = [186,78] let s:lib.Codec.encoding_table["53919"] = [186,79] let s:lib.Codec.encoding_table["53921"] = [186,80] let s:lib.Codec.encoding_table["53922"] = [186,81] let s:lib.Codec.encoding_table["53923"] = [186,82] let s:lib.Codec.encoding_table["53925"] = [186,83] let s:lib.Codec.encoding_table["53926"] = [186,84] let s:lib.Codec.encoding_table["53927"] = [186,85] let s:lib.Codec.encoding_table["53928"] = [186,86] let s:lib.Codec.encoding_table["53929"] = [186,87] let s:lib.Codec.encoding_table["53930"] = [186,88] let s:lib.Codec.encoding_table["53931"] = [186,89] let s:lib.Codec.encoding_table["53933"] = [186,90] let s:lib.Codec.encoding_table["53934"] = [186,97] let s:lib.Codec.encoding_table["53935"] = [186,98] let s:lib.Codec.encoding_table["53936"] = [186,99] let s:lib.Codec.encoding_table["53938"] = [186,100] let s:lib.Codec.encoding_table["53939"] = [186,101] let s:lib.Codec.encoding_table["53940"] = [186,102] let s:lib.Codec.encoding_table["53941"] = [186,103] let s:lib.Codec.encoding_table["53942"] = [186,104] let s:lib.Codec.encoding_table["53943"] = [186,105] let s:lib.Codec.encoding_table["53946"] = [186,106] let s:lib.Codec.encoding_table["53947"] = [186,107] let s:lib.Codec.encoding_table["53949"] = [186,108] let s:lib.Codec.encoding_table["53950"] = [186,109] let s:lib.Codec.encoding_table["53953"] = [186,110] let s:lib.Codec.encoding_table["53955"] = [186,111] let s:lib.Codec.encoding_table["53956"] = [186,112] let s:lib.Codec.encoding_table["53957"] = [186,113] let s:lib.Codec.encoding_table["53958"] = [186,114] let s:lib.Codec.encoding_table["53959"] = [186,115] let s:lib.Codec.encoding_table["53962"] = [186,116] let s:lib.Codec.encoding_table["53964"] = [186,117] let s:lib.Codec.encoding_table["53965"] = [186,118] let s:lib.Codec.encoding_table["53966"] = [186,119] let s:lib.Codec.encoding_table["53967"] = [186,120] let s:lib.Codec.encoding_table["53968"] = [186,121] let s:lib.Codec.encoding_table["53969"] = [186,122] let s:lib.Codec.encoding_table["53970"] = [186,129] let s:lib.Codec.encoding_table["53971"] = [186,130] let s:lib.Codec.encoding_table["53973"] = [186,131] let s:lib.Codec.encoding_table["53974"] = [186,132] let s:lib.Codec.encoding_table["53975"] = [186,133] let s:lib.Codec.encoding_table["53977"] = [186,134] let s:lib.Codec.encoding_table["53978"] = [186,135] let s:lib.Codec.encoding_table["53979"] = [186,136] let s:lib.Codec.encoding_table["53981"] = [186,137] let s:lib.Codec.encoding_table["53982"] = [186,138] let s:lib.Codec.encoding_table["53983"] = [186,139] let s:lib.Codec.encoding_table["53984"] = [186,140] let s:lib.Codec.encoding_table["53985"] = [186,141] let s:lib.Codec.encoding_table["53986"] = [186,142] let s:lib.Codec.encoding_table["53987"] = [186,143] let s:lib.Codec.encoding_table["53990"] = [186,144] let s:lib.Codec.encoding_table["53991"] = [186,145] let s:lib.Codec.encoding_table["53992"] = [186,146] let s:lib.Codec.encoding_table["53993"] = [186,147] let s:lib.Codec.encoding_table["53994"] = [186,148] let s:lib.Codec.encoding_table["53995"] = [186,149] let s:lib.Codec.encoding_table["53996"] = [186,150] let s:lib.Codec.encoding_table["53997"] = [186,151] let s:lib.Codec.encoding_table["53998"] = [186,152] let s:lib.Codec.encoding_table["53999"] = [186,153] let s:lib.Codec.encoding_table["54002"] = [186,154] let s:lib.Codec.encoding_table["54003"] = [186,155] let s:lib.Codec.encoding_table["54005"] = [186,156] let s:lib.Codec.encoding_table["54006"] = [186,157] let s:lib.Codec.encoding_table["54007"] = [186,158] let s:lib.Codec.encoding_table["54009"] = [186,159] let s:lib.Codec.encoding_table["54010"] = [186,160] let s:lib.Codec.encoding_table["48281"] = [186,161] let s:lib.Codec.encoding_table["48282"] = [186,162] let s:lib.Codec.encoding_table["48288"] = [186,163] let s:lib.Codec.encoding_table["48289"] = [186,164] let s:lib.Codec.encoding_table["48292"] = [186,165] let s:lib.Codec.encoding_table["48295"] = [186,166] let s:lib.Codec.encoding_table["48296"] = [186,167] let s:lib.Codec.encoding_table["48304"] = [186,168] let s:lib.Codec.encoding_table["48305"] = [186,169] let s:lib.Codec.encoding_table["48307"] = [186,170] let s:lib.Codec.encoding_table["48308"] = [186,171] let s:lib.Codec.encoding_table["48309"] = [186,172] let s:lib.Codec.encoding_table["48316"] = [186,173] let s:lib.Codec.encoding_table["48317"] = [186,174] let s:lib.Codec.encoding_table["48320"] = [186,175] let s:lib.Codec.encoding_table["48324"] = [186,176] let s:lib.Codec.encoding_table["48333"] = [186,177] let s:lib.Codec.encoding_table["48335"] = [186,178] let s:lib.Codec.encoding_table["48336"] = [186,179] let s:lib.Codec.encoding_table["48337"] = [186,180] let s:lib.Codec.encoding_table["48341"] = [186,181] let s:lib.Codec.encoding_table["48344"] = [186,182] let s:lib.Codec.encoding_table["48348"] = [186,183] let s:lib.Codec.encoding_table["48372"] = [186,184] let s:lib.Codec.encoding_table["48373"] = [186,185] let s:lib.Codec.encoding_table["48374"] = [186,186] let s:lib.Codec.encoding_table["48376"] = [186,187] let s:lib.Codec.encoding_table["48380"] = [186,188] let s:lib.Codec.encoding_table["48388"] = [186,189] let s:lib.Codec.encoding_table["48389"] = [186,190] let s:lib.Codec.encoding_table["48391"] = [186,191] let s:lib.Codec.encoding_table["48393"] = [186,192] let s:lib.Codec.encoding_table["48400"] = [186,193] let s:lib.Codec.encoding_table["48404"] = [186,194] let s:lib.Codec.encoding_table["48420"] = [186,195] let s:lib.Codec.encoding_table["48428"] = [186,196] let s:lib.Codec.encoding_table["48448"] = [186,197] let s:lib.Codec.encoding_table["48456"] = [186,198] let s:lib.Codec.encoding_table["48457"] = [186,199] let s:lib.Codec.encoding_table["48460"] = [186,200] let s:lib.Codec.encoding_table["48464"] = [186,201] let s:lib.Codec.encoding_table["48472"] = [186,202] let s:lib.Codec.encoding_table["48473"] = [186,203] let s:lib.Codec.encoding_table["48484"] = [186,204] let s:lib.Codec.encoding_table["48488"] = [186,205] let s:lib.Codec.encoding_table["48512"] = [186,206] let s:lib.Codec.encoding_table["48513"] = [186,207] let s:lib.Codec.encoding_table["48516"] = [186,208] let s:lib.Codec.encoding_table["48519"] = [186,209] let s:lib.Codec.encoding_table["48520"] = [186,210] let s:lib.Codec.encoding_table["48521"] = [186,211] let s:lib.Codec.encoding_table["48522"] = [186,212] let s:lib.Codec.encoding_table["48528"] = [186,213] let s:lib.Codec.encoding_table["48529"] = [186,214] let s:lib.Codec.encoding_table["48531"] = [186,215] let s:lib.Codec.encoding_table["48533"] = [186,216] let s:lib.Codec.encoding_table["48537"] = [186,217] let s:lib.Codec.encoding_table["48538"] = [186,218] let s:lib.Codec.encoding_table["48540"] = [186,219] let s:lib.Codec.encoding_table["48548"] = [186,220] let s:lib.Codec.encoding_table["48560"] = [186,221] let s:lib.Codec.encoding_table["48568"] = [186,222] let s:lib.Codec.encoding_table["48596"] = [186,223] let s:lib.Codec.encoding_table["48597"] = [186,224] let s:lib.Codec.encoding_table["48600"] = [186,225] let s:lib.Codec.encoding_table["48604"] = [186,226] let s:lib.Codec.encoding_table["48617"] = [186,227] let s:lib.Codec.encoding_table["48624"] = [186,228] let s:lib.Codec.encoding_table["48628"] = [186,229] let s:lib.Codec.encoding_table["48632"] = [186,230] let s:lib.Codec.encoding_table["48640"] = [186,231] let s:lib.Codec.encoding_table["48643"] = [186,232] let s:lib.Codec.encoding_table["48645"] = [186,233] let s:lib.Codec.encoding_table["48652"] = [186,234] let s:lib.Codec.encoding_table["48653"] = [186,235] let s:lib.Codec.encoding_table["48656"] = [186,236] let s:lib.Codec.encoding_table["48660"] = [186,237] let s:lib.Codec.encoding_table["48668"] = [186,238] let s:lib.Codec.encoding_table["48669"] = [186,239] let s:lib.Codec.encoding_table["48671"] = [186,240] let s:lib.Codec.encoding_table["48708"] = [186,241] let s:lib.Codec.encoding_table["48709"] = [186,242] let s:lib.Codec.encoding_table["48712"] = [186,243] let s:lib.Codec.encoding_table["48716"] = [186,244] let s:lib.Codec.encoding_table["48718"] = [186,245] let s:lib.Codec.encoding_table["48724"] = [186,246] let s:lib.Codec.encoding_table["48725"] = [186,247] let s:lib.Codec.encoding_table["48727"] = [186,248] let s:lib.Codec.encoding_table["48729"] = [186,249] let s:lib.Codec.encoding_table["48730"] = [186,250] let s:lib.Codec.encoding_table["48731"] = [186,251] let s:lib.Codec.encoding_table["48736"] = [186,252] let s:lib.Codec.encoding_table["48737"] = [186,253] let s:lib.Codec.encoding_table["48740"] = [186,254] let s:lib.Codec.encoding_table["54011"] = [187,65] let s:lib.Codec.encoding_table["54012"] = [187,66] let s:lib.Codec.encoding_table["54013"] = [187,67] let s:lib.Codec.encoding_table["54014"] = [187,68] let s:lib.Codec.encoding_table["54015"] = [187,69] let s:lib.Codec.encoding_table["54018"] = [187,70] let s:lib.Codec.encoding_table["54020"] = [187,71] let s:lib.Codec.encoding_table["54022"] = [187,72] let s:lib.Codec.encoding_table["54023"] = [187,73] let s:lib.Codec.encoding_table["54024"] = [187,74] let s:lib.Codec.encoding_table["54025"] = [187,75] let s:lib.Codec.encoding_table["54026"] = [187,76] let s:lib.Codec.encoding_table["54027"] = [187,77] let s:lib.Codec.encoding_table["54031"] = [187,78] let s:lib.Codec.encoding_table["54033"] = [187,79] let s:lib.Codec.encoding_table["54034"] = [187,80] let s:lib.Codec.encoding_table["54035"] = [187,81] let s:lib.Codec.encoding_table["54037"] = [187,82] let s:lib.Codec.encoding_table["54039"] = [187,83] let s:lib.Codec.encoding_table["54040"] = [187,84] let s:lib.Codec.encoding_table["54041"] = [187,85] let s:lib.Codec.encoding_table["54042"] = [187,86] let s:lib.Codec.encoding_table["54043"] = [187,87] let s:lib.Codec.encoding_table["54046"] = [187,88] let s:lib.Codec.encoding_table["54050"] = [187,89] let s:lib.Codec.encoding_table["54051"] = [187,90] let s:lib.Codec.encoding_table["54052"] = [187,97] let s:lib.Codec.encoding_table["54054"] = [187,98] let s:lib.Codec.encoding_table["54055"] = [187,99] let s:lib.Codec.encoding_table["54058"] = [187,100] let s:lib.Codec.encoding_table["54059"] = [187,101] let s:lib.Codec.encoding_table["54061"] = [187,102] let s:lib.Codec.encoding_table["54062"] = [187,103] let s:lib.Codec.encoding_table["54063"] = [187,104] let s:lib.Codec.encoding_table["54065"] = [187,105] let s:lib.Codec.encoding_table["54066"] = [187,106] let s:lib.Codec.encoding_table["54067"] = [187,107] let s:lib.Codec.encoding_table["54068"] = [187,108] let s:lib.Codec.encoding_table["54069"] = [187,109] let s:lib.Codec.encoding_table["54070"] = [187,110] let s:lib.Codec.encoding_table["54071"] = [187,111] let s:lib.Codec.encoding_table["54074"] = [187,112] let s:lib.Codec.encoding_table["54078"] = [187,113] let s:lib.Codec.encoding_table["54079"] = [187,114] let s:lib.Codec.encoding_table["54080"] = [187,115] let s:lib.Codec.encoding_table["54081"] = [187,116] let s:lib.Codec.encoding_table["54082"] = [187,117] let s:lib.Codec.encoding_table["54083"] = [187,118] let s:lib.Codec.encoding_table["54086"] = [187,119] let s:lib.Codec.encoding_table["54087"] = [187,120] let s:lib.Codec.encoding_table["54088"] = [187,121] let s:lib.Codec.encoding_table["54089"] = [187,122] let s:lib.Codec.encoding_table["54090"] = [187,129] let s:lib.Codec.encoding_table["54091"] = [187,130] let s:lib.Codec.encoding_table["54092"] = [187,131] let s:lib.Codec.encoding_table["54093"] = [187,132] let s:lib.Codec.encoding_table["54094"] = [187,133] let s:lib.Codec.encoding_table["54095"] = [187,134] let s:lib.Codec.encoding_table["54096"] = [187,135] let s:lib.Codec.encoding_table["54097"] = [187,136] let s:lib.Codec.encoding_table["54098"] = [187,137] let s:lib.Codec.encoding_table["54099"] = [187,138] let s:lib.Codec.encoding_table["54100"] = [187,139] let s:lib.Codec.encoding_table["54101"] = [187,140] let s:lib.Codec.encoding_table["54102"] = [187,141] let s:lib.Codec.encoding_table["54103"] = [187,142] let s:lib.Codec.encoding_table["54104"] = [187,143] let s:lib.Codec.encoding_table["54105"] = [187,144] let s:lib.Codec.encoding_table["54106"] = [187,145] let s:lib.Codec.encoding_table["54107"] = [187,146] let s:lib.Codec.encoding_table["54108"] = [187,147] let s:lib.Codec.encoding_table["54109"] = [187,148] let s:lib.Codec.encoding_table["54110"] = [187,149] let s:lib.Codec.encoding_table["54111"] = [187,150] let s:lib.Codec.encoding_table["54112"] = [187,151] let s:lib.Codec.encoding_table["54113"] = [187,152] let s:lib.Codec.encoding_table["54114"] = [187,153] let s:lib.Codec.encoding_table["54115"] = [187,154] let s:lib.Codec.encoding_table["54116"] = [187,155] let s:lib.Codec.encoding_table["54117"] = [187,156] let s:lib.Codec.encoding_table["54118"] = [187,157] let s:lib.Codec.encoding_table["54119"] = [187,158] let s:lib.Codec.encoding_table["54120"] = [187,159] let s:lib.Codec.encoding_table["54121"] = [187,160] let s:lib.Codec.encoding_table["48744"] = [187,161] let s:lib.Codec.encoding_table["48746"] = [187,162] let s:lib.Codec.encoding_table["48752"] = [187,163] let s:lib.Codec.encoding_table["48753"] = [187,164] let s:lib.Codec.encoding_table["48755"] = [187,165] let s:lib.Codec.encoding_table["48756"] = [187,166] let s:lib.Codec.encoding_table["48757"] = [187,167] let s:lib.Codec.encoding_table["48763"] = [187,168] let s:lib.Codec.encoding_table["48764"] = [187,169] let s:lib.Codec.encoding_table["48765"] = [187,170] let s:lib.Codec.encoding_table["48768"] = [187,171] let s:lib.Codec.encoding_table["48772"] = [187,172] let s:lib.Codec.encoding_table["48780"] = [187,173] let s:lib.Codec.encoding_table["48781"] = [187,174] let s:lib.Codec.encoding_table["48783"] = [187,175] let s:lib.Codec.encoding_table["48784"] = [187,176] let s:lib.Codec.encoding_table["48785"] = [187,177] let s:lib.Codec.encoding_table["48792"] = [187,178] let s:lib.Codec.encoding_table["48793"] = [187,179] let s:lib.Codec.encoding_table["48808"] = [187,180] let s:lib.Codec.encoding_table["48848"] = [187,181] let s:lib.Codec.encoding_table["48849"] = [187,182] let s:lib.Codec.encoding_table["48852"] = [187,183] let s:lib.Codec.encoding_table["48855"] = [187,184] let s:lib.Codec.encoding_table["48856"] = [187,185] let s:lib.Codec.encoding_table["48864"] = [187,186] let s:lib.Codec.encoding_table["48867"] = [187,187] let s:lib.Codec.encoding_table["48868"] = [187,188] let s:lib.Codec.encoding_table["48869"] = [187,189] let s:lib.Codec.encoding_table["48876"] = [187,190] let s:lib.Codec.encoding_table["48897"] = [187,191] let s:lib.Codec.encoding_table["48904"] = [187,192] let s:lib.Codec.encoding_table["48905"] = [187,193] let s:lib.Codec.encoding_table["48920"] = [187,194] let s:lib.Codec.encoding_table["48921"] = [187,195] let s:lib.Codec.encoding_table["48923"] = [187,196] let s:lib.Codec.encoding_table["48924"] = [187,197] let s:lib.Codec.encoding_table["48925"] = [187,198] let s:lib.Codec.encoding_table["48960"] = [187,199] let s:lib.Codec.encoding_table["48961"] = [187,200] let s:lib.Codec.encoding_table["48964"] = [187,201] let s:lib.Codec.encoding_table["48968"] = [187,202] let s:lib.Codec.encoding_table["48976"] = [187,203] let s:lib.Codec.encoding_table["48977"] = [187,204] let s:lib.Codec.encoding_table["48981"] = [187,205] let s:lib.Codec.encoding_table["49044"] = [187,206] let s:lib.Codec.encoding_table["49072"] = [187,207] let s:lib.Codec.encoding_table["49093"] = [187,208] let s:lib.Codec.encoding_table["49100"] = [187,209] let s:lib.Codec.encoding_table["49101"] = [187,210] let s:lib.Codec.encoding_table["49104"] = [187,211] let s:lib.Codec.encoding_table["49108"] = [187,212] let s:lib.Codec.encoding_table["49116"] = [187,213] let s:lib.Codec.encoding_table["49119"] = [187,214] let s:lib.Codec.encoding_table["49121"] = [187,215] let s:lib.Codec.encoding_table["49212"] = [187,216] let s:lib.Codec.encoding_table["49233"] = [187,217] let s:lib.Codec.encoding_table["49240"] = [187,218] let s:lib.Codec.encoding_table["49244"] = [187,219] let s:lib.Codec.encoding_table["49248"] = [187,220] let s:lib.Codec.encoding_table["49256"] = [187,221] let s:lib.Codec.encoding_table["49257"] = [187,222] let s:lib.Codec.encoding_table["49296"] = [187,223] let s:lib.Codec.encoding_table["49297"] = [187,224] let s:lib.Codec.encoding_table["49300"] = [187,225] let s:lib.Codec.encoding_table["49304"] = [187,226] let s:lib.Codec.encoding_table["49312"] = [187,227] let s:lib.Codec.encoding_table["49313"] = [187,228] let s:lib.Codec.encoding_table["49315"] = [187,229] let s:lib.Codec.encoding_table["49317"] = [187,230] let s:lib.Codec.encoding_table["49324"] = [187,231] let s:lib.Codec.encoding_table["49325"] = [187,232] let s:lib.Codec.encoding_table["49327"] = [187,233] let s:lib.Codec.encoding_table["49328"] = [187,234] let s:lib.Codec.encoding_table["49331"] = [187,235] let s:lib.Codec.encoding_table["49332"] = [187,236] let s:lib.Codec.encoding_table["49333"] = [187,237] let s:lib.Codec.encoding_table["49334"] = [187,238] let s:lib.Codec.encoding_table["49340"] = [187,239] let s:lib.Codec.encoding_table["49341"] = [187,240] let s:lib.Codec.encoding_table["49343"] = [187,241] let s:lib.Codec.encoding_table["49344"] = [187,242] let s:lib.Codec.encoding_table["49345"] = [187,243] let s:lib.Codec.encoding_table["49349"] = [187,244] let s:lib.Codec.encoding_table["49352"] = [187,245] let s:lib.Codec.encoding_table["49353"] = [187,246] let s:lib.Codec.encoding_table["49356"] = [187,247] let s:lib.Codec.encoding_table["49360"] = [187,248] let s:lib.Codec.encoding_table["49368"] = [187,249] let s:lib.Codec.encoding_table["49369"] = [187,250] let s:lib.Codec.encoding_table["49371"] = [187,251] let s:lib.Codec.encoding_table["49372"] = [187,252] let s:lib.Codec.encoding_table["49373"] = [187,253] let s:lib.Codec.encoding_table["49380"] = [187,254] let s:lib.Codec.encoding_table["54122"] = [188,65] let s:lib.Codec.encoding_table["54123"] = [188,66] let s:lib.Codec.encoding_table["54124"] = [188,67] let s:lib.Codec.encoding_table["54125"] = [188,68] let s:lib.Codec.encoding_table["54126"] = [188,69] let s:lib.Codec.encoding_table["54127"] = [188,70] let s:lib.Codec.encoding_table["54128"] = [188,71] let s:lib.Codec.encoding_table["54129"] = [188,72] let s:lib.Codec.encoding_table["54130"] = [188,73] let s:lib.Codec.encoding_table["54131"] = [188,74] let s:lib.Codec.encoding_table["54132"] = [188,75] let s:lib.Codec.encoding_table["54133"] = [188,76] let s:lib.Codec.encoding_table["54134"] = [188,77] let s:lib.Codec.encoding_table["54135"] = [188,78] let s:lib.Codec.encoding_table["54136"] = [188,79] let s:lib.Codec.encoding_table["54137"] = [188,80] let s:lib.Codec.encoding_table["54138"] = [188,81] let s:lib.Codec.encoding_table["54139"] = [188,82] let s:lib.Codec.encoding_table["54142"] = [188,83] let s:lib.Codec.encoding_table["54143"] = [188,84] let s:lib.Codec.encoding_table["54145"] = [188,85] let s:lib.Codec.encoding_table["54146"] = [188,86] let s:lib.Codec.encoding_table["54147"] = [188,87] let s:lib.Codec.encoding_table["54149"] = [188,88] let s:lib.Codec.encoding_table["54150"] = [188,89] let s:lib.Codec.encoding_table["54151"] = [188,90] let s:lib.Codec.encoding_table["54152"] = [188,97] let s:lib.Codec.encoding_table["54153"] = [188,98] let s:lib.Codec.encoding_table["54154"] = [188,99] let s:lib.Codec.encoding_table["54155"] = [188,100] let s:lib.Codec.encoding_table["54158"] = [188,101] let s:lib.Codec.encoding_table["54162"] = [188,102] let s:lib.Codec.encoding_table["54163"] = [188,103] let s:lib.Codec.encoding_table["54164"] = [188,104] let s:lib.Codec.encoding_table["54165"] = [188,105] let s:lib.Codec.encoding_table["54166"] = [188,106] let s:lib.Codec.encoding_table["54167"] = [188,107] let s:lib.Codec.encoding_table["54170"] = [188,108] let s:lib.Codec.encoding_table["54171"] = [188,109] let s:lib.Codec.encoding_table["54173"] = [188,110] let s:lib.Codec.encoding_table["54174"] = [188,111] let s:lib.Codec.encoding_table["54175"] = [188,112] let s:lib.Codec.encoding_table["54177"] = [188,113] let s:lib.Codec.encoding_table["54178"] = [188,114] let s:lib.Codec.encoding_table["54179"] = [188,115] let s:lib.Codec.encoding_table["54180"] = [188,116] let s:lib.Codec.encoding_table["54181"] = [188,117] let s:lib.Codec.encoding_table["54182"] = [188,118] let s:lib.Codec.encoding_table["54183"] = [188,119] let s:lib.Codec.encoding_table["54186"] = [188,120] let s:lib.Codec.encoding_table["54188"] = [188,121] let s:lib.Codec.encoding_table["54190"] = [188,122] let s:lib.Codec.encoding_table["54191"] = [188,129] let s:lib.Codec.encoding_table["54192"] = [188,130] let s:lib.Codec.encoding_table["54193"] = [188,131] let s:lib.Codec.encoding_table["54194"] = [188,132] let s:lib.Codec.encoding_table["54195"] = [188,133] let s:lib.Codec.encoding_table["54197"] = [188,134] let s:lib.Codec.encoding_table["54198"] = [188,135] let s:lib.Codec.encoding_table["54199"] = [188,136] let s:lib.Codec.encoding_table["54201"] = [188,137] let s:lib.Codec.encoding_table["54202"] = [188,138] let s:lib.Codec.encoding_table["54203"] = [188,139] let s:lib.Codec.encoding_table["54205"] = [188,140] let s:lib.Codec.encoding_table["54206"] = [188,141] let s:lib.Codec.encoding_table["54207"] = [188,142] let s:lib.Codec.encoding_table["54208"] = [188,143] let s:lib.Codec.encoding_table["54209"] = [188,144] let s:lib.Codec.encoding_table["54210"] = [188,145] let s:lib.Codec.encoding_table["54211"] = [188,146] let s:lib.Codec.encoding_table["54214"] = [188,147] let s:lib.Codec.encoding_table["54215"] = [188,148] let s:lib.Codec.encoding_table["54218"] = [188,149] let s:lib.Codec.encoding_table["54219"] = [188,150] let s:lib.Codec.encoding_table["54220"] = [188,151] let s:lib.Codec.encoding_table["54221"] = [188,152] let s:lib.Codec.encoding_table["54222"] = [188,153] let s:lib.Codec.encoding_table["54223"] = [188,154] let s:lib.Codec.encoding_table["54225"] = [188,155] let s:lib.Codec.encoding_table["54226"] = [188,156] let s:lib.Codec.encoding_table["54227"] = [188,157] let s:lib.Codec.encoding_table["54228"] = [188,158] let s:lib.Codec.encoding_table["54229"] = [188,159] let s:lib.Codec.encoding_table["54230"] = [188,160] let s:lib.Codec.encoding_table["49381"] = [188,161] let s:lib.Codec.encoding_table["49384"] = [188,162] let s:lib.Codec.encoding_table["49388"] = [188,163] let s:lib.Codec.encoding_table["49396"] = [188,164] let s:lib.Codec.encoding_table["49397"] = [188,165] let s:lib.Codec.encoding_table["49399"] = [188,166] let s:lib.Codec.encoding_table["49401"] = [188,167] let s:lib.Codec.encoding_table["49408"] = [188,168] let s:lib.Codec.encoding_table["49412"] = [188,169] let s:lib.Codec.encoding_table["49416"] = [188,170] let s:lib.Codec.encoding_table["49424"] = [188,171] let s:lib.Codec.encoding_table["49429"] = [188,172] let s:lib.Codec.encoding_table["49436"] = [188,173] let s:lib.Codec.encoding_table["49437"] = [188,174] let s:lib.Codec.encoding_table["49438"] = [188,175] let s:lib.Codec.encoding_table["49439"] = [188,176] let s:lib.Codec.encoding_table["49440"] = [188,177] let s:lib.Codec.encoding_table["49443"] = [188,178] let s:lib.Codec.encoding_table["49444"] = [188,179] let s:lib.Codec.encoding_table["49446"] = [188,180] let s:lib.Codec.encoding_table["49447"] = [188,181] let s:lib.Codec.encoding_table["49452"] = [188,182] let s:lib.Codec.encoding_table["49453"] = [188,183] let s:lib.Codec.encoding_table["49455"] = [188,184] let s:lib.Codec.encoding_table["49456"] = [188,185] let s:lib.Codec.encoding_table["49457"] = [188,186] let s:lib.Codec.encoding_table["49462"] = [188,187] let s:lib.Codec.encoding_table["49464"] = [188,188] let s:lib.Codec.encoding_table["49465"] = [188,189] let s:lib.Codec.encoding_table["49468"] = [188,190] let s:lib.Codec.encoding_table["49472"] = [188,191] let s:lib.Codec.encoding_table["49480"] = [188,192] let s:lib.Codec.encoding_table["49481"] = [188,193] let s:lib.Codec.encoding_table["49483"] = [188,194] let s:lib.Codec.encoding_table["49484"] = [188,195] let s:lib.Codec.encoding_table["49485"] = [188,196] let s:lib.Codec.encoding_table["49492"] = [188,197] let s:lib.Codec.encoding_table["49493"] = [188,198] let s:lib.Codec.encoding_table["49496"] = [188,199] let s:lib.Codec.encoding_table["49500"] = [188,200] let s:lib.Codec.encoding_table["49508"] = [188,201] let s:lib.Codec.encoding_table["49509"] = [188,202] let s:lib.Codec.encoding_table["49511"] = [188,203] let s:lib.Codec.encoding_table["49512"] = [188,204] let s:lib.Codec.encoding_table["49513"] = [188,205] let s:lib.Codec.encoding_table["49520"] = [188,206] let s:lib.Codec.encoding_table["49524"] = [188,207] let s:lib.Codec.encoding_table["49528"] = [188,208] let s:lib.Codec.encoding_table["49541"] = [188,209] let s:lib.Codec.encoding_table["49548"] = [188,210] let s:lib.Codec.encoding_table["49549"] = [188,211] let s:lib.Codec.encoding_table["49550"] = [188,212] let s:lib.Codec.encoding_table["49552"] = [188,213] let s:lib.Codec.encoding_table["49556"] = [188,214] let s:lib.Codec.encoding_table["49558"] = [188,215] let s:lib.Codec.encoding_table["49564"] = [188,216] let s:lib.Codec.encoding_table["49565"] = [188,217] let s:lib.Codec.encoding_table["49567"] = [188,218] let s:lib.Codec.encoding_table["49569"] = [188,219] let s:lib.Codec.encoding_table["49573"] = [188,220] let s:lib.Codec.encoding_table["49576"] = [188,221] let s:lib.Codec.encoding_table["49577"] = [188,222] let s:lib.Codec.encoding_table["49580"] = [188,223] let s:lib.Codec.encoding_table["49584"] = [188,224] let s:lib.Codec.encoding_table["49597"] = [188,225] let s:lib.Codec.encoding_table["49604"] = [188,226] let s:lib.Codec.encoding_table["49608"] = [188,227] let s:lib.Codec.encoding_table["49612"] = [188,228] let s:lib.Codec.encoding_table["49620"] = [188,229] let s:lib.Codec.encoding_table["49623"] = [188,230] let s:lib.Codec.encoding_table["49624"] = [188,231] let s:lib.Codec.encoding_table["49632"] = [188,232] let s:lib.Codec.encoding_table["49636"] = [188,233] let s:lib.Codec.encoding_table["49640"] = [188,234] let s:lib.Codec.encoding_table["49648"] = [188,235] let s:lib.Codec.encoding_table["49649"] = [188,236] let s:lib.Codec.encoding_table["49651"] = [188,237] let s:lib.Codec.encoding_table["49660"] = [188,238] let s:lib.Codec.encoding_table["49661"] = [188,239] let s:lib.Codec.encoding_table["49664"] = [188,240] let s:lib.Codec.encoding_table["49668"] = [188,241] let s:lib.Codec.encoding_table["49676"] = [188,242] let s:lib.Codec.encoding_table["49677"] = [188,243] let s:lib.Codec.encoding_table["49679"] = [188,244] let s:lib.Codec.encoding_table["49681"] = [188,245] let s:lib.Codec.encoding_table["49688"] = [188,246] let s:lib.Codec.encoding_table["49689"] = [188,247] let s:lib.Codec.encoding_table["49692"] = [188,248] let s:lib.Codec.encoding_table["49695"] = [188,249] let s:lib.Codec.encoding_table["49696"] = [188,250] let s:lib.Codec.encoding_table["49704"] = [188,251] let s:lib.Codec.encoding_table["49705"] = [188,252] let s:lib.Codec.encoding_table["49707"] = [188,253] let s:lib.Codec.encoding_table["49709"] = [188,254] let s:lib.Codec.encoding_table["54231"] = [189,65] let s:lib.Codec.encoding_table["54233"] = [189,66] let s:lib.Codec.encoding_table["54234"] = [189,67] let s:lib.Codec.encoding_table["54235"] = [189,68] let s:lib.Codec.encoding_table["54236"] = [189,69] let s:lib.Codec.encoding_table["54237"] = [189,70] let s:lib.Codec.encoding_table["54238"] = [189,71] let s:lib.Codec.encoding_table["54239"] = [189,72] let s:lib.Codec.encoding_table["54240"] = [189,73] let s:lib.Codec.encoding_table["54242"] = [189,74] let s:lib.Codec.encoding_table["54244"] = [189,75] let s:lib.Codec.encoding_table["54245"] = [189,76] let s:lib.Codec.encoding_table["54246"] = [189,77] let s:lib.Codec.encoding_table["54247"] = [189,78] let s:lib.Codec.encoding_table["54248"] = [189,79] let s:lib.Codec.encoding_table["54249"] = [189,80] let s:lib.Codec.encoding_table["54250"] = [189,81] let s:lib.Codec.encoding_table["54251"] = [189,82] let s:lib.Codec.encoding_table["54254"] = [189,83] let s:lib.Codec.encoding_table["54255"] = [189,84] let s:lib.Codec.encoding_table["54257"] = [189,85] let s:lib.Codec.encoding_table["54258"] = [189,86] let s:lib.Codec.encoding_table["54259"] = [189,87] let s:lib.Codec.encoding_table["54261"] = [189,88] let s:lib.Codec.encoding_table["54262"] = [189,89] let s:lib.Codec.encoding_table["54263"] = [189,90] let s:lib.Codec.encoding_table["54264"] = [189,97] let s:lib.Codec.encoding_table["54265"] = [189,98] let s:lib.Codec.encoding_table["54266"] = [189,99] let s:lib.Codec.encoding_table["54267"] = [189,100] let s:lib.Codec.encoding_table["54270"] = [189,101] let s:lib.Codec.encoding_table["54272"] = [189,102] let s:lib.Codec.encoding_table["54274"] = [189,103] let s:lib.Codec.encoding_table["54275"] = [189,104] let s:lib.Codec.encoding_table["54276"] = [189,105] let s:lib.Codec.encoding_table["54277"] = [189,106] let s:lib.Codec.encoding_table["54278"] = [189,107] let s:lib.Codec.encoding_table["54279"] = [189,108] let s:lib.Codec.encoding_table["54281"] = [189,109] let s:lib.Codec.encoding_table["54282"] = [189,110] let s:lib.Codec.encoding_table["54283"] = [189,111] let s:lib.Codec.encoding_table["54284"] = [189,112] let s:lib.Codec.encoding_table["54285"] = [189,113] let s:lib.Codec.encoding_table["54286"] = [189,114] let s:lib.Codec.encoding_table["54287"] = [189,115] let s:lib.Codec.encoding_table["54288"] = [189,116] let s:lib.Codec.encoding_table["54289"] = [189,117] let s:lib.Codec.encoding_table["54290"] = [189,118] let s:lib.Codec.encoding_table["54291"] = [189,119] let s:lib.Codec.encoding_table["54292"] = [189,120] let s:lib.Codec.encoding_table["54293"] = [189,121] let s:lib.Codec.encoding_table["54294"] = [189,122] let s:lib.Codec.encoding_table["54295"] = [189,129] let s:lib.Codec.encoding_table["54296"] = [189,130] let s:lib.Codec.encoding_table["54297"] = [189,131] let s:lib.Codec.encoding_table["54298"] = [189,132] let s:lib.Codec.encoding_table["54299"] = [189,133] let s:lib.Codec.encoding_table["54300"] = [189,134] let s:lib.Codec.encoding_table["54302"] = [189,135] let s:lib.Codec.encoding_table["54303"] = [189,136] let s:lib.Codec.encoding_table["54304"] = [189,137] let s:lib.Codec.encoding_table["54305"] = [189,138] let s:lib.Codec.encoding_table["54306"] = [189,139] let s:lib.Codec.encoding_table["54307"] = [189,140] let s:lib.Codec.encoding_table["54308"] = [189,141] let s:lib.Codec.encoding_table["54309"] = [189,142] let s:lib.Codec.encoding_table["54310"] = [189,143] let s:lib.Codec.encoding_table["54311"] = [189,144] let s:lib.Codec.encoding_table["54312"] = [189,145] let s:lib.Codec.encoding_table["54313"] = [189,146] let s:lib.Codec.encoding_table["54314"] = [189,147] let s:lib.Codec.encoding_table["54315"] = [189,148] let s:lib.Codec.encoding_table["54316"] = [189,149] let s:lib.Codec.encoding_table["54317"] = [189,150] let s:lib.Codec.encoding_table["54318"] = [189,151] let s:lib.Codec.encoding_table["54319"] = [189,152] let s:lib.Codec.encoding_table["54320"] = [189,153] let s:lib.Codec.encoding_table["54321"] = [189,154] let s:lib.Codec.encoding_table["54322"] = [189,155] let s:lib.Codec.encoding_table["54323"] = [189,156] let s:lib.Codec.encoding_table["54324"] = [189,157] let s:lib.Codec.encoding_table["54325"] = [189,158] let s:lib.Codec.encoding_table["54326"] = [189,159] let s:lib.Codec.encoding_table["54327"] = [189,160] let s:lib.Codec.encoding_table["49711"] = [189,161] let s:lib.Codec.encoding_table["49713"] = [189,162] let s:lib.Codec.encoding_table["49714"] = [189,163] let s:lib.Codec.encoding_table["49716"] = [189,164] let s:lib.Codec.encoding_table["49736"] = [189,165] let s:lib.Codec.encoding_table["49744"] = [189,166] let s:lib.Codec.encoding_table["49745"] = [189,167] let s:lib.Codec.encoding_table["49748"] = [189,168] let s:lib.Codec.encoding_table["49752"] = [189,169] let s:lib.Codec.encoding_table["49760"] = [189,170] let s:lib.Codec.encoding_table["49765"] = [189,171] let s:lib.Codec.encoding_table["49772"] = [189,172] let s:lib.Codec.encoding_table["49773"] = [189,173] let s:lib.Codec.encoding_table["49776"] = [189,174] let s:lib.Codec.encoding_table["49780"] = [189,175] let s:lib.Codec.encoding_table["49788"] = [189,176] let s:lib.Codec.encoding_table["49789"] = [189,177] let s:lib.Codec.encoding_table["49791"] = [189,178] let s:lib.Codec.encoding_table["49793"] = [189,179] let s:lib.Codec.encoding_table["49800"] = [189,180] let s:lib.Codec.encoding_table["49801"] = [189,181] let s:lib.Codec.encoding_table["49808"] = [189,182] let s:lib.Codec.encoding_table["49816"] = [189,183] let s:lib.Codec.encoding_table["49819"] = [189,184] let s:lib.Codec.encoding_table["49821"] = [189,185] let s:lib.Codec.encoding_table["49828"] = [189,186] let s:lib.Codec.encoding_table["49829"] = [189,187] let s:lib.Codec.encoding_table["49832"] = [189,188] let s:lib.Codec.encoding_table["49836"] = [189,189] let s:lib.Codec.encoding_table["49837"] = [189,190] let s:lib.Codec.encoding_table["49844"] = [189,191] let s:lib.Codec.encoding_table["49845"] = [189,192] let s:lib.Codec.encoding_table["49847"] = [189,193] let s:lib.Codec.encoding_table["49849"] = [189,194] let s:lib.Codec.encoding_table["49884"] = [189,195] let s:lib.Codec.encoding_table["49885"] = [189,196] let s:lib.Codec.encoding_table["49888"] = [189,197] let s:lib.Codec.encoding_table["49891"] = [189,198] let s:lib.Codec.encoding_table["49892"] = [189,199] let s:lib.Codec.encoding_table["49899"] = [189,200] let s:lib.Codec.encoding_table["49900"] = [189,201] let s:lib.Codec.encoding_table["49901"] = [189,202] let s:lib.Codec.encoding_table["49903"] = [189,203] let s:lib.Codec.encoding_table["49905"] = [189,204] let s:lib.Codec.encoding_table["49910"] = [189,205] let s:lib.Codec.encoding_table["49912"] = [189,206] let s:lib.Codec.encoding_table["49913"] = [189,207] let s:lib.Codec.encoding_table["49915"] = [189,208] let s:lib.Codec.encoding_table["49916"] = [189,209] let s:lib.Codec.encoding_table["49920"] = [189,210] let s:lib.Codec.encoding_table["49928"] = [189,211] let s:lib.Codec.encoding_table["49929"] = [189,212] let s:lib.Codec.encoding_table["49932"] = [189,213] let s:lib.Codec.encoding_table["49933"] = [189,214] let s:lib.Codec.encoding_table["49939"] = [189,215] let s:lib.Codec.encoding_table["49940"] = [189,216] let s:lib.Codec.encoding_table["49941"] = [189,217] let s:lib.Codec.encoding_table["49944"] = [189,218] let s:lib.Codec.encoding_table["49948"] = [189,219] let s:lib.Codec.encoding_table["49956"] = [189,220] let s:lib.Codec.encoding_table["49957"] = [189,221] let s:lib.Codec.encoding_table["49960"] = [189,222] let s:lib.Codec.encoding_table["49961"] = [189,223] let s:lib.Codec.encoding_table["49989"] = [189,224] let s:lib.Codec.encoding_table["50024"] = [189,225] let s:lib.Codec.encoding_table["50025"] = [189,226] let s:lib.Codec.encoding_table["50028"] = [189,227] let s:lib.Codec.encoding_table["50032"] = [189,228] let s:lib.Codec.encoding_table["50034"] = [189,229] let s:lib.Codec.encoding_table["50040"] = [189,230] let s:lib.Codec.encoding_table["50041"] = [189,231] let s:lib.Codec.encoding_table["50044"] = [189,232] let s:lib.Codec.encoding_table["50045"] = [189,233] let s:lib.Codec.encoding_table["50052"] = [189,234] let s:lib.Codec.encoding_table["50056"] = [189,235] let s:lib.Codec.encoding_table["50060"] = [189,236] let s:lib.Codec.encoding_table["50112"] = [189,237] let s:lib.Codec.encoding_table["50136"] = [189,238] let s:lib.Codec.encoding_table["50137"] = [189,239] let s:lib.Codec.encoding_table["50140"] = [189,240] let s:lib.Codec.encoding_table["50143"] = [189,241] let s:lib.Codec.encoding_table["50144"] = [189,242] let s:lib.Codec.encoding_table["50146"] = [189,243] let s:lib.Codec.encoding_table["50152"] = [189,244] let s:lib.Codec.encoding_table["50153"] = [189,245] let s:lib.Codec.encoding_table["50157"] = [189,246] let s:lib.Codec.encoding_table["50164"] = [189,247] let s:lib.Codec.encoding_table["50165"] = [189,248] let s:lib.Codec.encoding_table["50168"] = [189,249] let s:lib.Codec.encoding_table["50184"] = [189,250] let s:lib.Codec.encoding_table["50192"] = [189,251] let s:lib.Codec.encoding_table["50212"] = [189,252] let s:lib.Codec.encoding_table["50220"] = [189,253] let s:lib.Codec.encoding_table["50224"] = [189,254] let s:lib.Codec.encoding_table["54328"] = [190,65] let s:lib.Codec.encoding_table["54329"] = [190,66] let s:lib.Codec.encoding_table["54330"] = [190,67] let s:lib.Codec.encoding_table["54331"] = [190,68] let s:lib.Codec.encoding_table["54332"] = [190,69] let s:lib.Codec.encoding_table["54333"] = [190,70] let s:lib.Codec.encoding_table["54334"] = [190,71] let s:lib.Codec.encoding_table["54335"] = [190,72] let s:lib.Codec.encoding_table["54337"] = [190,73] let s:lib.Codec.encoding_table["54338"] = [190,74] let s:lib.Codec.encoding_table["54339"] = [190,75] let s:lib.Codec.encoding_table["54341"] = [190,76] let s:lib.Codec.encoding_table["54342"] = [190,77] let s:lib.Codec.encoding_table["54343"] = [190,78] let s:lib.Codec.encoding_table["54344"] = [190,79] let s:lib.Codec.encoding_table["54345"] = [190,80] let s:lib.Codec.encoding_table["54346"] = [190,81] let s:lib.Codec.encoding_table["54347"] = [190,82] let s:lib.Codec.encoding_table["54348"] = [190,83] let s:lib.Codec.encoding_table["54349"] = [190,84] let s:lib.Codec.encoding_table["54350"] = [190,85] let s:lib.Codec.encoding_table["54351"] = [190,86] let s:lib.Codec.encoding_table["54352"] = [190,87] let s:lib.Codec.encoding_table["54353"] = [190,88] let s:lib.Codec.encoding_table["54354"] = [190,89] let s:lib.Codec.encoding_table["54355"] = [190,90] let s:lib.Codec.encoding_table["54356"] = [190,97] let s:lib.Codec.encoding_table["54357"] = [190,98] let s:lib.Codec.encoding_table["54358"] = [190,99] let s:lib.Codec.encoding_table["54359"] = [190,100] let s:lib.Codec.encoding_table["54360"] = [190,101] let s:lib.Codec.encoding_table["54361"] = [190,102] let s:lib.Codec.encoding_table["54362"] = [190,103] let s:lib.Codec.encoding_table["54363"] = [190,104] let s:lib.Codec.encoding_table["54365"] = [190,105] let s:lib.Codec.encoding_table["54366"] = [190,106] let s:lib.Codec.encoding_table["54367"] = [190,107] let s:lib.Codec.encoding_table["54369"] = [190,108] let s:lib.Codec.encoding_table["54370"] = [190,109] let s:lib.Codec.encoding_table["54371"] = [190,110] let s:lib.Codec.encoding_table["54373"] = [190,111] let s:lib.Codec.encoding_table["54374"] = [190,112] let s:lib.Codec.encoding_table["54375"] = [190,113] let s:lib.Codec.encoding_table["54376"] = [190,114] let s:lib.Codec.encoding_table["54377"] = [190,115] let s:lib.Codec.encoding_table["54378"] = [190,116] let s:lib.Codec.encoding_table["54379"] = [190,117] let s:lib.Codec.encoding_table["54380"] = [190,118] let s:lib.Codec.encoding_table["54382"] = [190,119] let s:lib.Codec.encoding_table["54384"] = [190,120] let s:lib.Codec.encoding_table["54385"] = [190,121] let s:lib.Codec.encoding_table["54386"] = [190,122] let s:lib.Codec.encoding_table["54387"] = [190,129] let s:lib.Codec.encoding_table["54388"] = [190,130] let s:lib.Codec.encoding_table["54389"] = [190,131] let s:lib.Codec.encoding_table["54390"] = [190,132] let s:lib.Codec.encoding_table["54391"] = [190,133] let s:lib.Codec.encoding_table["54394"] = [190,134] let s:lib.Codec.encoding_table["54395"] = [190,135] let s:lib.Codec.encoding_table["54397"] = [190,136] let s:lib.Codec.encoding_table["54398"] = [190,137] let s:lib.Codec.encoding_table["54401"] = [190,138] let s:lib.Codec.encoding_table["54403"] = [190,139] let s:lib.Codec.encoding_table["54404"] = [190,140] let s:lib.Codec.encoding_table["54405"] = [190,141] let s:lib.Codec.encoding_table["54406"] = [190,142] let s:lib.Codec.encoding_table["54407"] = [190,143] let s:lib.Codec.encoding_table["54410"] = [190,144] let s:lib.Codec.encoding_table["54412"] = [190,145] let s:lib.Codec.encoding_table["54414"] = [190,146] let s:lib.Codec.encoding_table["54415"] = [190,147] let s:lib.Codec.encoding_table["54416"] = [190,148] let s:lib.Codec.encoding_table["54417"] = [190,149] let s:lib.Codec.encoding_table["54418"] = [190,150] let s:lib.Codec.encoding_table["54419"] = [190,151] let s:lib.Codec.encoding_table["54421"] = [190,152] let s:lib.Codec.encoding_table["54422"] = [190,153] let s:lib.Codec.encoding_table["54423"] = [190,154] let s:lib.Codec.encoding_table["54424"] = [190,155] let s:lib.Codec.encoding_table["54425"] = [190,156] let s:lib.Codec.encoding_table["54426"] = [190,157] let s:lib.Codec.encoding_table["54427"] = [190,158] let s:lib.Codec.encoding_table["54428"] = [190,159] let s:lib.Codec.encoding_table["54429"] = [190,160] let s:lib.Codec.encoding_table["50228"] = [190,161] let s:lib.Codec.encoding_table["50236"] = [190,162] let s:lib.Codec.encoding_table["50237"] = [190,163] let s:lib.Codec.encoding_table["50248"] = [190,164] let s:lib.Codec.encoding_table["50276"] = [190,165] let s:lib.Codec.encoding_table["50277"] = [190,166] let s:lib.Codec.encoding_table["50280"] = [190,167] let s:lib.Codec.encoding_table["50284"] = [190,168] let s:lib.Codec.encoding_table["50292"] = [190,169] let s:lib.Codec.encoding_table["50293"] = [190,170] let s:lib.Codec.encoding_table["50297"] = [190,171] let s:lib.Codec.encoding_table["50304"] = [190,172] let s:lib.Codec.encoding_table["50324"] = [190,173] let s:lib.Codec.encoding_table["50332"] = [190,174] let s:lib.Codec.encoding_table["50360"] = [190,175] let s:lib.Codec.encoding_table["50364"] = [190,176] let s:lib.Codec.encoding_table["50409"] = [190,177] let s:lib.Codec.encoding_table["50416"] = [190,178] let s:lib.Codec.encoding_table["50417"] = [190,179] let s:lib.Codec.encoding_table["50420"] = [190,180] let s:lib.Codec.encoding_table["50424"] = [190,181] let s:lib.Codec.encoding_table["50426"] = [190,182] let s:lib.Codec.encoding_table["50431"] = [190,183] let s:lib.Codec.encoding_table["50432"] = [190,184] let s:lib.Codec.encoding_table["50433"] = [190,185] let s:lib.Codec.encoding_table["50444"] = [190,186] let s:lib.Codec.encoding_table["50448"] = [190,187] let s:lib.Codec.encoding_table["50452"] = [190,188] let s:lib.Codec.encoding_table["50460"] = [190,189] let s:lib.Codec.encoding_table["50472"] = [190,190] let s:lib.Codec.encoding_table["50473"] = [190,191] let s:lib.Codec.encoding_table["50476"] = [190,192] let s:lib.Codec.encoding_table["50480"] = [190,193] let s:lib.Codec.encoding_table["50488"] = [190,194] let s:lib.Codec.encoding_table["50489"] = [190,195] let s:lib.Codec.encoding_table["50491"] = [190,196] let s:lib.Codec.encoding_table["50493"] = [190,197] let s:lib.Codec.encoding_table["50500"] = [190,198] let s:lib.Codec.encoding_table["50501"] = [190,199] let s:lib.Codec.encoding_table["50504"] = [190,200] let s:lib.Codec.encoding_table["50505"] = [190,201] let s:lib.Codec.encoding_table["50506"] = [190,202] let s:lib.Codec.encoding_table["50508"] = [190,203] let s:lib.Codec.encoding_table["50509"] = [190,204] let s:lib.Codec.encoding_table["50510"] = [190,205] let s:lib.Codec.encoding_table["50515"] = [190,206] let s:lib.Codec.encoding_table["50516"] = [190,207] let s:lib.Codec.encoding_table["50517"] = [190,208] let s:lib.Codec.encoding_table["50519"] = [190,209] let s:lib.Codec.encoding_table["50520"] = [190,210] let s:lib.Codec.encoding_table["50521"] = [190,211] let s:lib.Codec.encoding_table["50525"] = [190,212] let s:lib.Codec.encoding_table["50526"] = [190,213] let s:lib.Codec.encoding_table["50528"] = [190,214] let s:lib.Codec.encoding_table["50529"] = [190,215] let s:lib.Codec.encoding_table["50532"] = [190,216] let s:lib.Codec.encoding_table["50536"] = [190,217] let s:lib.Codec.encoding_table["50544"] = [190,218] let s:lib.Codec.encoding_table["50545"] = [190,219] let s:lib.Codec.encoding_table["50547"] = [190,220] let s:lib.Codec.encoding_table["50548"] = [190,221] let s:lib.Codec.encoding_table["50549"] = [190,222] let s:lib.Codec.encoding_table["50556"] = [190,223] let s:lib.Codec.encoding_table["50557"] = [190,224] let s:lib.Codec.encoding_table["50560"] = [190,225] let s:lib.Codec.encoding_table["50564"] = [190,226] let s:lib.Codec.encoding_table["50567"] = [190,227] let s:lib.Codec.encoding_table["50572"] = [190,228] let s:lib.Codec.encoding_table["50573"] = [190,229] let s:lib.Codec.encoding_table["50575"] = [190,230] let s:lib.Codec.encoding_table["50577"] = [190,231] let s:lib.Codec.encoding_table["50581"] = [190,232] let s:lib.Codec.encoding_table["50583"] = [190,233] let s:lib.Codec.encoding_table["50584"] = [190,234] let s:lib.Codec.encoding_table["50588"] = [190,235] let s:lib.Codec.encoding_table["50592"] = [190,236] let s:lib.Codec.encoding_table["50601"] = [190,237] let s:lib.Codec.encoding_table["50612"] = [190,238] let s:lib.Codec.encoding_table["50613"] = [190,239] let s:lib.Codec.encoding_table["50616"] = [190,240] let s:lib.Codec.encoding_table["50617"] = [190,241] let s:lib.Codec.encoding_table["50619"] = [190,242] let s:lib.Codec.encoding_table["50620"] = [190,243] let s:lib.Codec.encoding_table["50621"] = [190,244] let s:lib.Codec.encoding_table["50622"] = [190,245] let s:lib.Codec.encoding_table["50628"] = [190,246] let s:lib.Codec.encoding_table["50629"] = [190,247] let s:lib.Codec.encoding_table["50630"] = [190,248] let s:lib.Codec.encoding_table["50631"] = [190,249] let s:lib.Codec.encoding_table["50632"] = [190,250] let s:lib.Codec.encoding_table["50633"] = [190,251] let s:lib.Codec.encoding_table["50634"] = [190,252] let s:lib.Codec.encoding_table["50636"] = [190,253] let s:lib.Codec.encoding_table["50638"] = [190,254] let s:lib.Codec.encoding_table["54430"] = [191,65] let s:lib.Codec.encoding_table["54431"] = [191,66] let s:lib.Codec.encoding_table["54432"] = [191,67] let s:lib.Codec.encoding_table["54433"] = [191,68] let s:lib.Codec.encoding_table["54434"] = [191,69] let s:lib.Codec.encoding_table["54435"] = [191,70] let s:lib.Codec.encoding_table["54436"] = [191,71] let s:lib.Codec.encoding_table["54437"] = [191,72] let s:lib.Codec.encoding_table["54438"] = [191,73] let s:lib.Codec.encoding_table["54439"] = [191,74] let s:lib.Codec.encoding_table["54440"] = [191,75] let s:lib.Codec.encoding_table["54442"] = [191,76] let s:lib.Codec.encoding_table["54443"] = [191,77] let s:lib.Codec.encoding_table["54444"] = [191,78] let s:lib.Codec.encoding_table["54445"] = [191,79] let s:lib.Codec.encoding_table["54446"] = [191,80] let s:lib.Codec.encoding_table["54447"] = [191,81] let s:lib.Codec.encoding_table["54448"] = [191,82] let s:lib.Codec.encoding_table["54449"] = [191,83] let s:lib.Codec.encoding_table["54450"] = [191,84] let s:lib.Codec.encoding_table["54451"] = [191,85] let s:lib.Codec.encoding_table["54452"] = [191,86] let s:lib.Codec.encoding_table["54453"] = [191,87] let s:lib.Codec.encoding_table["54454"] = [191,88] let s:lib.Codec.encoding_table["54455"] = [191,89] let s:lib.Codec.encoding_table["54456"] = [191,90] let s:lib.Codec.encoding_table["54457"] = [191,97] let s:lib.Codec.encoding_table["54458"] = [191,98] let s:lib.Codec.encoding_table["54459"] = [191,99] let s:lib.Codec.encoding_table["54460"] = [191,100] let s:lib.Codec.encoding_table["54461"] = [191,101] let s:lib.Codec.encoding_table["54462"] = [191,102] let s:lib.Codec.encoding_table["54463"] = [191,103] let s:lib.Codec.encoding_table["54464"] = [191,104] let s:lib.Codec.encoding_table["54465"] = [191,105] let s:lib.Codec.encoding_table["54466"] = [191,106] let s:lib.Codec.encoding_table["54467"] = [191,107] let s:lib.Codec.encoding_table["54468"] = [191,108] let s:lib.Codec.encoding_table["54469"] = [191,109] let s:lib.Codec.encoding_table["54470"] = [191,110] let s:lib.Codec.encoding_table["54471"] = [191,111] let s:lib.Codec.encoding_table["54472"] = [191,112] let s:lib.Codec.encoding_table["54473"] = [191,113] let s:lib.Codec.encoding_table["54474"] = [191,114] let s:lib.Codec.encoding_table["54475"] = [191,115] let s:lib.Codec.encoding_table["54477"] = [191,116] let s:lib.Codec.encoding_table["54478"] = [191,117] let s:lib.Codec.encoding_table["54479"] = [191,118] let s:lib.Codec.encoding_table["54481"] = [191,119] let s:lib.Codec.encoding_table["54482"] = [191,120] let s:lib.Codec.encoding_table["54483"] = [191,121] let s:lib.Codec.encoding_table["54485"] = [191,122] let s:lib.Codec.encoding_table["54486"] = [191,129] let s:lib.Codec.encoding_table["54487"] = [191,130] let s:lib.Codec.encoding_table["54488"] = [191,131] let s:lib.Codec.encoding_table["54489"] = [191,132] let s:lib.Codec.encoding_table["54490"] = [191,133] let s:lib.Codec.encoding_table["54491"] = [191,134] let s:lib.Codec.encoding_table["54493"] = [191,135] let s:lib.Codec.encoding_table["54494"] = [191,136] let s:lib.Codec.encoding_table["54496"] = [191,137] let s:lib.Codec.encoding_table["54497"] = [191,138] let s:lib.Codec.encoding_table["54498"] = [191,139] let s:lib.Codec.encoding_table["54499"] = [191,140] let s:lib.Codec.encoding_table["54500"] = [191,141] let s:lib.Codec.encoding_table["54501"] = [191,142] let s:lib.Codec.encoding_table["54502"] = [191,143] let s:lib.Codec.encoding_table["54503"] = [191,144] let s:lib.Codec.encoding_table["54505"] = [191,145] let s:lib.Codec.encoding_table["54506"] = [191,146] let s:lib.Codec.encoding_table["54507"] = [191,147] let s:lib.Codec.encoding_table["54509"] = [191,148] let s:lib.Codec.encoding_table["54510"] = [191,149] let s:lib.Codec.encoding_table["54511"] = [191,150] let s:lib.Codec.encoding_table["54513"] = [191,151] let s:lib.Codec.encoding_table["54514"] = [191,152] let s:lib.Codec.encoding_table["54515"] = [191,153] let s:lib.Codec.encoding_table["54516"] = [191,154] let s:lib.Codec.encoding_table["54517"] = [191,155] let s:lib.Codec.encoding_table["54518"] = [191,156] let s:lib.Codec.encoding_table["54519"] = [191,157] let s:lib.Codec.encoding_table["54521"] = [191,158] let s:lib.Codec.encoding_table["54522"] = [191,159] let s:lib.Codec.encoding_table["54524"] = [191,160] let s:lib.Codec.encoding_table["50640"] = [191,161] let s:lib.Codec.encoding_table["50641"] = [191,162] let s:lib.Codec.encoding_table["50644"] = [191,163] let s:lib.Codec.encoding_table["50648"] = [191,164] let s:lib.Codec.encoding_table["50656"] = [191,165] let s:lib.Codec.encoding_table["50657"] = [191,166] let s:lib.Codec.encoding_table["50659"] = [191,167] let s:lib.Codec.encoding_table["50661"] = [191,168] let s:lib.Codec.encoding_table["50668"] = [191,169] let s:lib.Codec.encoding_table["50669"] = [191,170] let s:lib.Codec.encoding_table["50670"] = [191,171] let s:lib.Codec.encoding_table["50672"] = [191,172] let s:lib.Codec.encoding_table["50676"] = [191,173] let s:lib.Codec.encoding_table["50678"] = [191,174] let s:lib.Codec.encoding_table["50679"] = [191,175] let s:lib.Codec.encoding_table["50684"] = [191,176] let s:lib.Codec.encoding_table["50685"] = [191,177] let s:lib.Codec.encoding_table["50686"] = [191,178] let s:lib.Codec.encoding_table["50687"] = [191,179] let s:lib.Codec.encoding_table["50688"] = [191,180] let s:lib.Codec.encoding_table["50689"] = [191,181] let s:lib.Codec.encoding_table["50693"] = [191,182] let s:lib.Codec.encoding_table["50694"] = [191,183] let s:lib.Codec.encoding_table["50695"] = [191,184] let s:lib.Codec.encoding_table["50696"] = [191,185] let s:lib.Codec.encoding_table["50700"] = [191,186] let s:lib.Codec.encoding_table["50704"] = [191,187] let s:lib.Codec.encoding_table["50712"] = [191,188] let s:lib.Codec.encoding_table["50713"] = [191,189] let s:lib.Codec.encoding_table["50715"] = [191,190] let s:lib.Codec.encoding_table["50716"] = [191,191] let s:lib.Codec.encoding_table["50724"] = [191,192] let s:lib.Codec.encoding_table["50725"] = [191,193] let s:lib.Codec.encoding_table["50728"] = [191,194] let s:lib.Codec.encoding_table["50732"] = [191,195] let s:lib.Codec.encoding_table["50733"] = [191,196] let s:lib.Codec.encoding_table["50734"] = [191,197] let s:lib.Codec.encoding_table["50736"] = [191,198] let s:lib.Codec.encoding_table["50739"] = [191,199] let s:lib.Codec.encoding_table["50740"] = [191,200] let s:lib.Codec.encoding_table["50741"] = [191,201] let s:lib.Codec.encoding_table["50743"] = [191,202] let s:lib.Codec.encoding_table["50745"] = [191,203] let s:lib.Codec.encoding_table["50747"] = [191,204] let s:lib.Codec.encoding_table["50752"] = [191,205] let s:lib.Codec.encoding_table["50753"] = [191,206] let s:lib.Codec.encoding_table["50756"] = [191,207] let s:lib.Codec.encoding_table["50760"] = [191,208] let s:lib.Codec.encoding_table["50768"] = [191,209] let s:lib.Codec.encoding_table["50769"] = [191,210] let s:lib.Codec.encoding_table["50771"] = [191,211] let s:lib.Codec.encoding_table["50772"] = [191,212] let s:lib.Codec.encoding_table["50773"] = [191,213] let s:lib.Codec.encoding_table["50780"] = [191,214] let s:lib.Codec.encoding_table["50781"] = [191,215] let s:lib.Codec.encoding_table["50784"] = [191,216] let s:lib.Codec.encoding_table["50796"] = [191,217] let s:lib.Codec.encoding_table["50799"] = [191,218] let s:lib.Codec.encoding_table["50801"] = [191,219] let s:lib.Codec.encoding_table["50808"] = [191,220] let s:lib.Codec.encoding_table["50809"] = [191,221] let s:lib.Codec.encoding_table["50812"] = [191,222] let s:lib.Codec.encoding_table["50816"] = [191,223] let s:lib.Codec.encoding_table["50824"] = [191,224] let s:lib.Codec.encoding_table["50825"] = [191,225] let s:lib.Codec.encoding_table["50827"] = [191,226] let s:lib.Codec.encoding_table["50829"] = [191,227] let s:lib.Codec.encoding_table["50836"] = [191,228] let s:lib.Codec.encoding_table["50837"] = [191,229] let s:lib.Codec.encoding_table["50840"] = [191,230] let s:lib.Codec.encoding_table["50844"] = [191,231] let s:lib.Codec.encoding_table["50852"] = [191,232] let s:lib.Codec.encoding_table["50853"] = [191,233] let s:lib.Codec.encoding_table["50855"] = [191,234] let s:lib.Codec.encoding_table["50857"] = [191,235] let s:lib.Codec.encoding_table["50864"] = [191,236] let s:lib.Codec.encoding_table["50865"] = [191,237] let s:lib.Codec.encoding_table["50868"] = [191,238] let s:lib.Codec.encoding_table["50872"] = [191,239] let s:lib.Codec.encoding_table["50873"] = [191,240] let s:lib.Codec.encoding_table["50874"] = [191,241] let s:lib.Codec.encoding_table["50880"] = [191,242] let s:lib.Codec.encoding_table["50881"] = [191,243] let s:lib.Codec.encoding_table["50883"] = [191,244] let s:lib.Codec.encoding_table["50885"] = [191,245] let s:lib.Codec.encoding_table["50892"] = [191,246] let s:lib.Codec.encoding_table["50893"] = [191,247] let s:lib.Codec.encoding_table["50896"] = [191,248] let s:lib.Codec.encoding_table["50900"] = [191,249] let s:lib.Codec.encoding_table["50908"] = [191,250] let s:lib.Codec.encoding_table["50909"] = [191,251] let s:lib.Codec.encoding_table["50912"] = [191,252] let s:lib.Codec.encoding_table["50913"] = [191,253] let s:lib.Codec.encoding_table["50920"] = [191,254] let s:lib.Codec.encoding_table["54526"] = [192,65] let s:lib.Codec.encoding_table["54527"] = [192,66] let s:lib.Codec.encoding_table["54528"] = [192,67] let s:lib.Codec.encoding_table["54529"] = [192,68] let s:lib.Codec.encoding_table["54530"] = [192,69] let s:lib.Codec.encoding_table["54531"] = [192,70] let s:lib.Codec.encoding_table["54533"] = [192,71] let s:lib.Codec.encoding_table["54534"] = [192,72] let s:lib.Codec.encoding_table["54535"] = [192,73] let s:lib.Codec.encoding_table["54537"] = [192,74] let s:lib.Codec.encoding_table["54538"] = [192,75] let s:lib.Codec.encoding_table["54539"] = [192,76] let s:lib.Codec.encoding_table["54541"] = [192,77] let s:lib.Codec.encoding_table["54542"] = [192,78] let s:lib.Codec.encoding_table["54543"] = [192,79] let s:lib.Codec.encoding_table["54544"] = [192,80] let s:lib.Codec.encoding_table["54545"] = [192,81] let s:lib.Codec.encoding_table["54546"] = [192,82] let s:lib.Codec.encoding_table["54547"] = [192,83] let s:lib.Codec.encoding_table["54550"] = [192,84] let s:lib.Codec.encoding_table["54552"] = [192,85] let s:lib.Codec.encoding_table["54553"] = [192,86] let s:lib.Codec.encoding_table["54554"] = [192,87] let s:lib.Codec.encoding_table["54555"] = [192,88] let s:lib.Codec.encoding_table["54556"] = [192,89] let s:lib.Codec.encoding_table["54557"] = [192,90] let s:lib.Codec.encoding_table["54558"] = [192,97] let s:lib.Codec.encoding_table["54559"] = [192,98] let s:lib.Codec.encoding_table["54560"] = [192,99] let s:lib.Codec.encoding_table["54561"] = [192,100] let s:lib.Codec.encoding_table["54562"] = [192,101] let s:lib.Codec.encoding_table["54563"] = [192,102] let s:lib.Codec.encoding_table["54564"] = [192,103] let s:lib.Codec.encoding_table["54565"] = [192,104] let s:lib.Codec.encoding_table["54566"] = [192,105] let s:lib.Codec.encoding_table["54567"] = [192,106] let s:lib.Codec.encoding_table["54568"] = [192,107] let s:lib.Codec.encoding_table["54569"] = [192,108] let s:lib.Codec.encoding_table["54570"] = [192,109] let s:lib.Codec.encoding_table["54571"] = [192,110] let s:lib.Codec.encoding_table["54572"] = [192,111] let s:lib.Codec.encoding_table["54573"] = [192,112] let s:lib.Codec.encoding_table["54574"] = [192,113] let s:lib.Codec.encoding_table["54575"] = [192,114] let s:lib.Codec.encoding_table["54576"] = [192,115] let s:lib.Codec.encoding_table["54577"] = [192,116] let s:lib.Codec.encoding_table["54578"] = [192,117] let s:lib.Codec.encoding_table["54579"] = [192,118] let s:lib.Codec.encoding_table["54580"] = [192,119] let s:lib.Codec.encoding_table["54581"] = [192,120] let s:lib.Codec.encoding_table["54582"] = [192,121] let s:lib.Codec.encoding_table["54583"] = [192,122] let s:lib.Codec.encoding_table["54584"] = [192,129] let s:lib.Codec.encoding_table["54585"] = [192,130] let s:lib.Codec.encoding_table["54586"] = [192,131] let s:lib.Codec.encoding_table["54587"] = [192,132] let s:lib.Codec.encoding_table["54590"] = [192,133] let s:lib.Codec.encoding_table["54591"] = [192,134] let s:lib.Codec.encoding_table["54593"] = [192,135] let s:lib.Codec.encoding_table["54594"] = [192,136] let s:lib.Codec.encoding_table["54595"] = [192,137] let s:lib.Codec.encoding_table["54597"] = [192,138] let s:lib.Codec.encoding_table["54598"] = [192,139] let s:lib.Codec.encoding_table["54599"] = [192,140] let s:lib.Codec.encoding_table["54600"] = [192,141] let s:lib.Codec.encoding_table["54601"] = [192,142] let s:lib.Codec.encoding_table["54602"] = [192,143] let s:lib.Codec.encoding_table["54603"] = [192,144] let s:lib.Codec.encoding_table["54606"] = [192,145] let s:lib.Codec.encoding_table["54608"] = [192,146] let s:lib.Codec.encoding_table["54610"] = [192,147] let s:lib.Codec.encoding_table["54611"] = [192,148] let s:lib.Codec.encoding_table["54612"] = [192,149] let s:lib.Codec.encoding_table["54613"] = [192,150] let s:lib.Codec.encoding_table["54614"] = [192,151] let s:lib.Codec.encoding_table["54615"] = [192,152] let s:lib.Codec.encoding_table["54618"] = [192,153] let s:lib.Codec.encoding_table["54619"] = [192,154] let s:lib.Codec.encoding_table["54621"] = [192,155] let s:lib.Codec.encoding_table["54622"] = [192,156] let s:lib.Codec.encoding_table["54623"] = [192,157] let s:lib.Codec.encoding_table["54625"] = [192,158] let s:lib.Codec.encoding_table["54626"] = [192,159] let s:lib.Codec.encoding_table["54627"] = [192,160] let s:lib.Codec.encoding_table["50921"] = [192,161] let s:lib.Codec.encoding_table["50924"] = [192,162] let s:lib.Codec.encoding_table["50928"] = [192,163] let s:lib.Codec.encoding_table["50936"] = [192,164] let s:lib.Codec.encoding_table["50937"] = [192,165] let s:lib.Codec.encoding_table["50941"] = [192,166] let s:lib.Codec.encoding_table["50948"] = [192,167] let s:lib.Codec.encoding_table["50949"] = [192,168] let s:lib.Codec.encoding_table["50952"] = [192,169] let s:lib.Codec.encoding_table["50956"] = [192,170] let s:lib.Codec.encoding_table["50964"] = [192,171] let s:lib.Codec.encoding_table["50965"] = [192,172] let s:lib.Codec.encoding_table["50967"] = [192,173] let s:lib.Codec.encoding_table["50969"] = [192,174] let s:lib.Codec.encoding_table["50976"] = [192,175] let s:lib.Codec.encoding_table["50977"] = [192,176] let s:lib.Codec.encoding_table["50980"] = [192,177] let s:lib.Codec.encoding_table["50984"] = [192,178] let s:lib.Codec.encoding_table["50992"] = [192,179] let s:lib.Codec.encoding_table["50993"] = [192,180] let s:lib.Codec.encoding_table["50995"] = [192,181] let s:lib.Codec.encoding_table["50997"] = [192,182] let s:lib.Codec.encoding_table["50999"] = [192,183] let s:lib.Codec.encoding_table["51004"] = [192,184] let s:lib.Codec.encoding_table["51005"] = [192,185] let s:lib.Codec.encoding_table["51008"] = [192,186] let s:lib.Codec.encoding_table["51012"] = [192,187] let s:lib.Codec.encoding_table["51018"] = [192,188] let s:lib.Codec.encoding_table["51020"] = [192,189] let s:lib.Codec.encoding_table["51021"] = [192,190] let s:lib.Codec.encoding_table["51023"] = [192,191] let s:lib.Codec.encoding_table["51025"] = [192,192] let s:lib.Codec.encoding_table["51026"] = [192,193] let s:lib.Codec.encoding_table["51027"] = [192,194] let s:lib.Codec.encoding_table["51028"] = [192,195] let s:lib.Codec.encoding_table["51029"] = [192,196] let s:lib.Codec.encoding_table["51030"] = [192,197] let s:lib.Codec.encoding_table["51031"] = [192,198] let s:lib.Codec.encoding_table["51032"] = [192,199] let s:lib.Codec.encoding_table["51036"] = [192,200] let s:lib.Codec.encoding_table["51040"] = [192,201] let s:lib.Codec.encoding_table["51048"] = [192,202] let s:lib.Codec.encoding_table["51051"] = [192,203] let s:lib.Codec.encoding_table["51060"] = [192,204] let s:lib.Codec.encoding_table["51061"] = [192,205] let s:lib.Codec.encoding_table["51064"] = [192,206] let s:lib.Codec.encoding_table["51068"] = [192,207] let s:lib.Codec.encoding_table["51069"] = [192,208] let s:lib.Codec.encoding_table["51070"] = [192,209] let s:lib.Codec.encoding_table["51075"] = [192,210] let s:lib.Codec.encoding_table["51076"] = [192,211] let s:lib.Codec.encoding_table["51077"] = [192,212] let s:lib.Codec.encoding_table["51079"] = [192,213] let s:lib.Codec.encoding_table["51080"] = [192,214] let s:lib.Codec.encoding_table["51081"] = [192,215] let s:lib.Codec.encoding_table["51082"] = [192,216] let s:lib.Codec.encoding_table["51086"] = [192,217] let s:lib.Codec.encoding_table["51088"] = [192,218] let s:lib.Codec.encoding_table["51089"] = [192,219] let s:lib.Codec.encoding_table["51092"] = [192,220] let s:lib.Codec.encoding_table["51094"] = [192,221] let s:lib.Codec.encoding_table["51095"] = [192,222] let s:lib.Codec.encoding_table["51096"] = [192,223] let s:lib.Codec.encoding_table["51098"] = [192,224] let s:lib.Codec.encoding_table["51104"] = [192,225] let s:lib.Codec.encoding_table["51105"] = [192,226] let s:lib.Codec.encoding_table["51107"] = [192,227] let s:lib.Codec.encoding_table["51108"] = [192,228] let s:lib.Codec.encoding_table["51109"] = [192,229] let s:lib.Codec.encoding_table["51110"] = [192,230] let s:lib.Codec.encoding_table["51116"] = [192,231] let s:lib.Codec.encoding_table["51117"] = [192,232] let s:lib.Codec.encoding_table["51120"] = [192,233] let s:lib.Codec.encoding_table["51124"] = [192,234] let s:lib.Codec.encoding_table["51132"] = [192,235] let s:lib.Codec.encoding_table["51133"] = [192,236] let s:lib.Codec.encoding_table["51135"] = [192,237] let s:lib.Codec.encoding_table["51136"] = [192,238] let s:lib.Codec.encoding_table["51137"] = [192,239] let s:lib.Codec.encoding_table["51144"] = [192,240] let s:lib.Codec.encoding_table["51145"] = [192,241] let s:lib.Codec.encoding_table["51148"] = [192,242] let s:lib.Codec.encoding_table["51150"] = [192,243] let s:lib.Codec.encoding_table["51152"] = [192,244] let s:lib.Codec.encoding_table["51160"] = [192,245] let s:lib.Codec.encoding_table["51165"] = [192,246] let s:lib.Codec.encoding_table["51172"] = [192,247] let s:lib.Codec.encoding_table["51176"] = [192,248] let s:lib.Codec.encoding_table["51180"] = [192,249] let s:lib.Codec.encoding_table["51200"] = [192,250] let s:lib.Codec.encoding_table["51201"] = [192,251] let s:lib.Codec.encoding_table["51204"] = [192,252] let s:lib.Codec.encoding_table["51208"] = [192,253] let s:lib.Codec.encoding_table["51210"] = [192,254] let s:lib.Codec.encoding_table["54628"] = [193,65] let s:lib.Codec.encoding_table["54630"] = [193,66] let s:lib.Codec.encoding_table["54631"] = [193,67] let s:lib.Codec.encoding_table["54634"] = [193,68] let s:lib.Codec.encoding_table["54636"] = [193,69] let s:lib.Codec.encoding_table["54638"] = [193,70] let s:lib.Codec.encoding_table["54639"] = [193,71] let s:lib.Codec.encoding_table["54640"] = [193,72] let s:lib.Codec.encoding_table["54641"] = [193,73] let s:lib.Codec.encoding_table["54642"] = [193,74] let s:lib.Codec.encoding_table["54643"] = [193,75] let s:lib.Codec.encoding_table["54646"] = [193,76] let s:lib.Codec.encoding_table["54647"] = [193,77] let s:lib.Codec.encoding_table["54649"] = [193,78] let s:lib.Codec.encoding_table["54650"] = [193,79] let s:lib.Codec.encoding_table["54651"] = [193,80] let s:lib.Codec.encoding_table["54653"] = [193,81] let s:lib.Codec.encoding_table["54654"] = [193,82] let s:lib.Codec.encoding_table["54655"] = [193,83] let s:lib.Codec.encoding_table["54656"] = [193,84] let s:lib.Codec.encoding_table["54657"] = [193,85] let s:lib.Codec.encoding_table["54658"] = [193,86] let s:lib.Codec.encoding_table["54659"] = [193,87] let s:lib.Codec.encoding_table["54662"] = [193,88] let s:lib.Codec.encoding_table["54666"] = [193,89] let s:lib.Codec.encoding_table["54667"] = [193,90] let s:lib.Codec.encoding_table["54668"] = [193,97] let s:lib.Codec.encoding_table["54669"] = [193,98] let s:lib.Codec.encoding_table["54670"] = [193,99] let s:lib.Codec.encoding_table["54671"] = [193,100] let s:lib.Codec.encoding_table["54673"] = [193,101] let s:lib.Codec.encoding_table["54674"] = [193,102] let s:lib.Codec.encoding_table["54675"] = [193,103] let s:lib.Codec.encoding_table["54676"] = [193,104] let s:lib.Codec.encoding_table["54677"] = [193,105] let s:lib.Codec.encoding_table["54678"] = [193,106] let s:lib.Codec.encoding_table["54679"] = [193,107] let s:lib.Codec.encoding_table["54680"] = [193,108] let s:lib.Codec.encoding_table["54681"] = [193,109] let s:lib.Codec.encoding_table["54682"] = [193,110] let s:lib.Codec.encoding_table["54683"] = [193,111] let s:lib.Codec.encoding_table["54684"] = [193,112] let s:lib.Codec.encoding_table["54685"] = [193,113] let s:lib.Codec.encoding_table["54686"] = [193,114] let s:lib.Codec.encoding_table["54687"] = [193,115] let s:lib.Codec.encoding_table["54688"] = [193,116] let s:lib.Codec.encoding_table["54689"] = [193,117] let s:lib.Codec.encoding_table["54690"] = [193,118] let s:lib.Codec.encoding_table["54691"] = [193,119] let s:lib.Codec.encoding_table["54692"] = [193,120] let s:lib.Codec.encoding_table["54694"] = [193,121] let s:lib.Codec.encoding_table["54695"] = [193,122] let s:lib.Codec.encoding_table["54696"] = [193,129] let s:lib.Codec.encoding_table["54697"] = [193,130] let s:lib.Codec.encoding_table["54698"] = [193,131] let s:lib.Codec.encoding_table["54699"] = [193,132] let s:lib.Codec.encoding_table["54700"] = [193,133] let s:lib.Codec.encoding_table["54701"] = [193,134] let s:lib.Codec.encoding_table["54702"] = [193,135] let s:lib.Codec.encoding_table["54703"] = [193,136] let s:lib.Codec.encoding_table["54704"] = [193,137] let s:lib.Codec.encoding_table["54705"] = [193,138] let s:lib.Codec.encoding_table["54706"] = [193,139] let s:lib.Codec.encoding_table["54707"] = [193,140] let s:lib.Codec.encoding_table["54708"] = [193,141] let s:lib.Codec.encoding_table["54709"] = [193,142] let s:lib.Codec.encoding_table["54710"] = [193,143] let s:lib.Codec.encoding_table["54711"] = [193,144] let s:lib.Codec.encoding_table["54712"] = [193,145] let s:lib.Codec.encoding_table["54713"] = [193,146] let s:lib.Codec.encoding_table["54714"] = [193,147] let s:lib.Codec.encoding_table["54715"] = [193,148] let s:lib.Codec.encoding_table["54716"] = [193,149] let s:lib.Codec.encoding_table["54717"] = [193,150] let s:lib.Codec.encoding_table["54718"] = [193,151] let s:lib.Codec.encoding_table["54719"] = [193,152] let s:lib.Codec.encoding_table["54720"] = [193,153] let s:lib.Codec.encoding_table["54721"] = [193,154] let s:lib.Codec.encoding_table["54722"] = [193,155] let s:lib.Codec.encoding_table["54723"] = [193,156] let s:lib.Codec.encoding_table["54724"] = [193,157] let s:lib.Codec.encoding_table["54725"] = [193,158] let s:lib.Codec.encoding_table["54726"] = [193,159] let s:lib.Codec.encoding_table["54727"] = [193,160] let s:lib.Codec.encoding_table["51216"] = [193,161] let s:lib.Codec.encoding_table["51217"] = [193,162] let s:lib.Codec.encoding_table["51219"] = [193,163] let s:lib.Codec.encoding_table["51221"] = [193,164] let s:lib.Codec.encoding_table["51222"] = [193,165] let s:lib.Codec.encoding_table["51228"] = [193,166] let s:lib.Codec.encoding_table["51229"] = [193,167] let s:lib.Codec.encoding_table["51232"] = [193,168] let s:lib.Codec.encoding_table["51236"] = [193,169] let s:lib.Codec.encoding_table["51244"] = [193,170] let s:lib.Codec.encoding_table["51245"] = [193,171] let s:lib.Codec.encoding_table["51247"] = [193,172] let s:lib.Codec.encoding_table["51249"] = [193,173] let s:lib.Codec.encoding_table["51256"] = [193,174] let s:lib.Codec.encoding_table["51260"] = [193,175] let s:lib.Codec.encoding_table["51264"] = [193,176] let s:lib.Codec.encoding_table["51272"] = [193,177] let s:lib.Codec.encoding_table["51273"] = [193,178] let s:lib.Codec.encoding_table["51276"] = [193,179] let s:lib.Codec.encoding_table["51277"] = [193,180] let s:lib.Codec.encoding_table["51284"] = [193,181] let s:lib.Codec.encoding_table["51312"] = [193,182] let s:lib.Codec.encoding_table["51313"] = [193,183] let s:lib.Codec.encoding_table["51316"] = [193,184] let s:lib.Codec.encoding_table["51320"] = [193,185] let s:lib.Codec.encoding_table["51322"] = [193,186] let s:lib.Codec.encoding_table["51328"] = [193,187] let s:lib.Codec.encoding_table["51329"] = [193,188] let s:lib.Codec.encoding_table["51331"] = [193,189] let s:lib.Codec.encoding_table["51333"] = [193,190] let s:lib.Codec.encoding_table["51334"] = [193,191] let s:lib.Codec.encoding_table["51335"] = [193,192] let s:lib.Codec.encoding_table["51339"] = [193,193] let s:lib.Codec.encoding_table["51340"] = [193,194] let s:lib.Codec.encoding_table["51341"] = [193,195] let s:lib.Codec.encoding_table["51348"] = [193,196] let s:lib.Codec.encoding_table["51357"] = [193,197] let s:lib.Codec.encoding_table["51359"] = [193,198] let s:lib.Codec.encoding_table["51361"] = [193,199] let s:lib.Codec.encoding_table["51368"] = [193,200] let s:lib.Codec.encoding_table["51388"] = [193,201] let s:lib.Codec.encoding_table["51389"] = [193,202] let s:lib.Codec.encoding_table["51396"] = [193,203] let s:lib.Codec.encoding_table["51400"] = [193,204] let s:lib.Codec.encoding_table["51404"] = [193,205] let s:lib.Codec.encoding_table["51412"] = [193,206] let s:lib.Codec.encoding_table["51413"] = [193,207] let s:lib.Codec.encoding_table["51415"] = [193,208] let s:lib.Codec.encoding_table["51417"] = [193,209] let s:lib.Codec.encoding_table["51424"] = [193,210] let s:lib.Codec.encoding_table["51425"] = [193,211] let s:lib.Codec.encoding_table["51428"] = [193,212] let s:lib.Codec.encoding_table["51445"] = [193,213] let s:lib.Codec.encoding_table["51452"] = [193,214] let s:lib.Codec.encoding_table["51453"] = [193,215] let s:lib.Codec.encoding_table["51456"] = [193,216] let s:lib.Codec.encoding_table["51460"] = [193,217] let s:lib.Codec.encoding_table["51461"] = [193,218] let s:lib.Codec.encoding_table["51462"] = [193,219] let s:lib.Codec.encoding_table["51468"] = [193,220] let s:lib.Codec.encoding_table["51469"] = [193,221] let s:lib.Codec.encoding_table["51471"] = [193,222] let s:lib.Codec.encoding_table["51473"] = [193,223] let s:lib.Codec.encoding_table["51480"] = [193,224] let s:lib.Codec.encoding_table["51500"] = [193,225] let s:lib.Codec.encoding_table["51508"] = [193,226] let s:lib.Codec.encoding_table["51536"] = [193,227] let s:lib.Codec.encoding_table["51537"] = [193,228] let s:lib.Codec.encoding_table["51540"] = [193,229] let s:lib.Codec.encoding_table["51544"] = [193,230] let s:lib.Codec.encoding_table["51552"] = [193,231] let s:lib.Codec.encoding_table["51553"] = [193,232] let s:lib.Codec.encoding_table["51555"] = [193,233] let s:lib.Codec.encoding_table["51564"] = [193,234] let s:lib.Codec.encoding_table["51568"] = [193,235] let s:lib.Codec.encoding_table["51572"] = [193,236] let s:lib.Codec.encoding_table["51580"] = [193,237] let s:lib.Codec.encoding_table["51592"] = [193,238] let s:lib.Codec.encoding_table["51593"] = [193,239] let s:lib.Codec.encoding_table["51596"] = [193,240] let s:lib.Codec.encoding_table["51600"] = [193,241] let s:lib.Codec.encoding_table["51608"] = [193,242] let s:lib.Codec.encoding_table["51609"] = [193,243] let s:lib.Codec.encoding_table["51611"] = [193,244] let s:lib.Codec.encoding_table["51613"] = [193,245] let s:lib.Codec.encoding_table["51648"] = [193,246] let s:lib.Codec.encoding_table["51649"] = [193,247] let s:lib.Codec.encoding_table["51652"] = [193,248] let s:lib.Codec.encoding_table["51655"] = [193,249] let s:lib.Codec.encoding_table["51656"] = [193,250] let s:lib.Codec.encoding_table["51658"] = [193,251] let s:lib.Codec.encoding_table["51664"] = [193,252] let s:lib.Codec.encoding_table["51665"] = [193,253] let s:lib.Codec.encoding_table["51667"] = [193,254] let s:lib.Codec.encoding_table["54730"] = [194,65] let s:lib.Codec.encoding_table["54731"] = [194,66] let s:lib.Codec.encoding_table["54733"] = [194,67] let s:lib.Codec.encoding_table["54734"] = [194,68] let s:lib.Codec.encoding_table["54735"] = [194,69] let s:lib.Codec.encoding_table["54737"] = [194,70] let s:lib.Codec.encoding_table["54739"] = [194,71] let s:lib.Codec.encoding_table["54740"] = [194,72] let s:lib.Codec.encoding_table["54741"] = [194,73] let s:lib.Codec.encoding_table["54742"] = [194,74] let s:lib.Codec.encoding_table["54743"] = [194,75] let s:lib.Codec.encoding_table["54746"] = [194,76] let s:lib.Codec.encoding_table["54748"] = [194,77] let s:lib.Codec.encoding_table["54750"] = [194,78] let s:lib.Codec.encoding_table["54751"] = [194,79] let s:lib.Codec.encoding_table["54752"] = [194,80] let s:lib.Codec.encoding_table["54753"] = [194,81] let s:lib.Codec.encoding_table["54754"] = [194,82] let s:lib.Codec.encoding_table["54755"] = [194,83] let s:lib.Codec.encoding_table["54758"] = [194,84] let s:lib.Codec.encoding_table["54759"] = [194,85] let s:lib.Codec.encoding_table["54761"] = [194,86] let s:lib.Codec.encoding_table["54762"] = [194,87] let s:lib.Codec.encoding_table["54763"] = [194,88] let s:lib.Codec.encoding_table["54765"] = [194,89] let s:lib.Codec.encoding_table["54766"] = [194,90] let s:lib.Codec.encoding_table["54767"] = [194,97] let s:lib.Codec.encoding_table["54768"] = [194,98] let s:lib.Codec.encoding_table["54769"] = [194,99] let s:lib.Codec.encoding_table["54770"] = [194,100] let s:lib.Codec.encoding_table["54771"] = [194,101] let s:lib.Codec.encoding_table["54774"] = [194,102] let s:lib.Codec.encoding_table["54776"] = [194,103] let s:lib.Codec.encoding_table["54778"] = [194,104] let s:lib.Codec.encoding_table["54779"] = [194,105] let s:lib.Codec.encoding_table["54780"] = [194,106] let s:lib.Codec.encoding_table["54781"] = [194,107] let s:lib.Codec.encoding_table["54782"] = [194,108] let s:lib.Codec.encoding_table["54783"] = [194,109] let s:lib.Codec.encoding_table["54786"] = [194,110] let s:lib.Codec.encoding_table["54787"] = [194,111] let s:lib.Codec.encoding_table["54789"] = [194,112] let s:lib.Codec.encoding_table["54790"] = [194,113] let s:lib.Codec.encoding_table["54791"] = [194,114] let s:lib.Codec.encoding_table["54793"] = [194,115] let s:lib.Codec.encoding_table["54794"] = [194,116] let s:lib.Codec.encoding_table["54795"] = [194,117] let s:lib.Codec.encoding_table["54796"] = [194,118] let s:lib.Codec.encoding_table["54797"] = [194,119] let s:lib.Codec.encoding_table["54798"] = [194,120] let s:lib.Codec.encoding_table["54799"] = [194,121] let s:lib.Codec.encoding_table["54802"] = [194,122] let s:lib.Codec.encoding_table["54806"] = [194,129] let s:lib.Codec.encoding_table["54807"] = [194,130] let s:lib.Codec.encoding_table["54808"] = [194,131] let s:lib.Codec.encoding_table["54809"] = [194,132] let s:lib.Codec.encoding_table["54810"] = [194,133] let s:lib.Codec.encoding_table["54811"] = [194,134] let s:lib.Codec.encoding_table["54813"] = [194,135] let s:lib.Codec.encoding_table["54814"] = [194,136] let s:lib.Codec.encoding_table["54815"] = [194,137] let s:lib.Codec.encoding_table["54817"] = [194,138] let s:lib.Codec.encoding_table["54818"] = [194,139] let s:lib.Codec.encoding_table["54819"] = [194,140] let s:lib.Codec.encoding_table["54821"] = [194,141] let s:lib.Codec.encoding_table["54822"] = [194,142] let s:lib.Codec.encoding_table["54823"] = [194,143] let s:lib.Codec.encoding_table["54824"] = [194,144] let s:lib.Codec.encoding_table["54825"] = [194,145] let s:lib.Codec.encoding_table["54826"] = [194,146] let s:lib.Codec.encoding_table["54827"] = [194,147] let s:lib.Codec.encoding_table["54828"] = [194,148] let s:lib.Codec.encoding_table["54830"] = [194,149] let s:lib.Codec.encoding_table["54831"] = [194,150] let s:lib.Codec.encoding_table["54832"] = [194,151] let s:lib.Codec.encoding_table["54833"] = [194,152] let s:lib.Codec.encoding_table["54834"] = [194,153] let s:lib.Codec.encoding_table["54835"] = [194,154] let s:lib.Codec.encoding_table["54836"] = [194,155] let s:lib.Codec.encoding_table["54837"] = [194,156] let s:lib.Codec.encoding_table["54838"] = [194,157] let s:lib.Codec.encoding_table["54839"] = [194,158] let s:lib.Codec.encoding_table["54842"] = [194,159] let s:lib.Codec.encoding_table["54843"] = [194,160] let s:lib.Codec.encoding_table["51669"] = [194,161] let s:lib.Codec.encoding_table["51670"] = [194,162] let s:lib.Codec.encoding_table["51673"] = [194,163] let s:lib.Codec.encoding_table["51674"] = [194,164] let s:lib.Codec.encoding_table["51676"] = [194,165] let s:lib.Codec.encoding_table["51677"] = [194,166] let s:lib.Codec.encoding_table["51680"] = [194,167] let s:lib.Codec.encoding_table["51682"] = [194,168] let s:lib.Codec.encoding_table["51684"] = [194,169] let s:lib.Codec.encoding_table["51687"] = [194,170] let s:lib.Codec.encoding_table["51692"] = [194,171] let s:lib.Codec.encoding_table["51693"] = [194,172] let s:lib.Codec.encoding_table["51695"] = [194,173] let s:lib.Codec.encoding_table["51696"] = [194,174] let s:lib.Codec.encoding_table["51697"] = [194,175] let s:lib.Codec.encoding_table["51704"] = [194,176] let s:lib.Codec.encoding_table["51705"] = [194,177] let s:lib.Codec.encoding_table["51708"] = [194,178] let s:lib.Codec.encoding_table["51712"] = [194,179] let s:lib.Codec.encoding_table["51720"] = [194,180] let s:lib.Codec.encoding_table["51721"] = [194,181] let s:lib.Codec.encoding_table["51723"] = [194,182] let s:lib.Codec.encoding_table["51724"] = [194,183] let s:lib.Codec.encoding_table["51725"] = [194,184] let s:lib.Codec.encoding_table["51732"] = [194,185] let s:lib.Codec.encoding_table["51736"] = [194,186] let s:lib.Codec.encoding_table["51753"] = [194,187] let s:lib.Codec.encoding_table["51788"] = [194,188] let s:lib.Codec.encoding_table["51789"] = [194,189] let s:lib.Codec.encoding_table["51792"] = [194,190] let s:lib.Codec.encoding_table["51796"] = [194,191] let s:lib.Codec.encoding_table["51804"] = [194,192] let s:lib.Codec.encoding_table["51805"] = [194,193] let s:lib.Codec.encoding_table["51807"] = [194,194] let s:lib.Codec.encoding_table["51808"] = [194,195] let s:lib.Codec.encoding_table["51809"] = [194,196] let s:lib.Codec.encoding_table["51816"] = [194,197] let s:lib.Codec.encoding_table["51837"] = [194,198] let s:lib.Codec.encoding_table["51844"] = [194,199] let s:lib.Codec.encoding_table["51864"] = [194,200] let s:lib.Codec.encoding_table["51900"] = [194,201] let s:lib.Codec.encoding_table["51901"] = [194,202] let s:lib.Codec.encoding_table["51904"] = [194,203] let s:lib.Codec.encoding_table["51908"] = [194,204] let s:lib.Codec.encoding_table["51916"] = [194,205] let s:lib.Codec.encoding_table["51917"] = [194,206] let s:lib.Codec.encoding_table["51919"] = [194,207] let s:lib.Codec.encoding_table["51921"] = [194,208] let s:lib.Codec.encoding_table["51923"] = [194,209] let s:lib.Codec.encoding_table["51928"] = [194,210] let s:lib.Codec.encoding_table["51929"] = [194,211] let s:lib.Codec.encoding_table["51936"] = [194,212] let s:lib.Codec.encoding_table["51948"] = [194,213] let s:lib.Codec.encoding_table["51956"] = [194,214] let s:lib.Codec.encoding_table["51976"] = [194,215] let s:lib.Codec.encoding_table["51984"] = [194,216] let s:lib.Codec.encoding_table["51988"] = [194,217] let s:lib.Codec.encoding_table["51992"] = [194,218] let s:lib.Codec.encoding_table["52000"] = [194,219] let s:lib.Codec.encoding_table["52001"] = [194,220] let s:lib.Codec.encoding_table["52033"] = [194,221] let s:lib.Codec.encoding_table["52040"] = [194,222] let s:lib.Codec.encoding_table["52041"] = [194,223] let s:lib.Codec.encoding_table["52044"] = [194,224] let s:lib.Codec.encoding_table["52048"] = [194,225] let s:lib.Codec.encoding_table["52056"] = [194,226] let s:lib.Codec.encoding_table["52057"] = [194,227] let s:lib.Codec.encoding_table["52061"] = [194,228] let s:lib.Codec.encoding_table["52068"] = [194,229] let s:lib.Codec.encoding_table["52088"] = [194,230] let s:lib.Codec.encoding_table["52089"] = [194,231] let s:lib.Codec.encoding_table["52124"] = [194,232] let s:lib.Codec.encoding_table["52152"] = [194,233] let s:lib.Codec.encoding_table["52180"] = [194,234] let s:lib.Codec.encoding_table["52196"] = [194,235] let s:lib.Codec.encoding_table["52199"] = [194,236] let s:lib.Codec.encoding_table["52201"] = [194,237] let s:lib.Codec.encoding_table["52236"] = [194,238] let s:lib.Codec.encoding_table["52237"] = [194,239] let s:lib.Codec.encoding_table["52240"] = [194,240] let s:lib.Codec.encoding_table["52244"] = [194,241] let s:lib.Codec.encoding_table["52252"] = [194,242] let s:lib.Codec.encoding_table["52253"] = [194,243] let s:lib.Codec.encoding_table["52257"] = [194,244] let s:lib.Codec.encoding_table["52258"] = [194,245] let s:lib.Codec.encoding_table["52263"] = [194,246] let s:lib.Codec.encoding_table["52264"] = [194,247] let s:lib.Codec.encoding_table["52265"] = [194,248] let s:lib.Codec.encoding_table["52268"] = [194,249] let s:lib.Codec.encoding_table["52270"] = [194,250] let s:lib.Codec.encoding_table["52272"] = [194,251] let s:lib.Codec.encoding_table["52280"] = [194,252] let s:lib.Codec.encoding_table["52281"] = [194,253] let s:lib.Codec.encoding_table["52283"] = [194,254] let s:lib.Codec.encoding_table["54845"] = [195,65] let s:lib.Codec.encoding_table["54846"] = [195,66] let s:lib.Codec.encoding_table["54847"] = [195,67] let s:lib.Codec.encoding_table["54849"] = [195,68] let s:lib.Codec.encoding_table["54850"] = [195,69] let s:lib.Codec.encoding_table["54851"] = [195,70] let s:lib.Codec.encoding_table["54852"] = [195,71] let s:lib.Codec.encoding_table["54854"] = [195,72] let s:lib.Codec.encoding_table["54855"] = [195,73] let s:lib.Codec.encoding_table["54858"] = [195,74] let s:lib.Codec.encoding_table["54860"] = [195,75] let s:lib.Codec.encoding_table["54862"] = [195,76] let s:lib.Codec.encoding_table["54863"] = [195,77] let s:lib.Codec.encoding_table["54864"] = [195,78] let s:lib.Codec.encoding_table["54866"] = [195,79] let s:lib.Codec.encoding_table["54867"] = [195,80] let s:lib.Codec.encoding_table["54870"] = [195,81] let s:lib.Codec.encoding_table["54871"] = [195,82] let s:lib.Codec.encoding_table["54873"] = [195,83] let s:lib.Codec.encoding_table["54874"] = [195,84] let s:lib.Codec.encoding_table["54875"] = [195,85] let s:lib.Codec.encoding_table["54877"] = [195,86] let s:lib.Codec.encoding_table["54878"] = [195,87] let s:lib.Codec.encoding_table["54879"] = [195,88] let s:lib.Codec.encoding_table["54880"] = [195,89] let s:lib.Codec.encoding_table["54881"] = [195,90] let s:lib.Codec.encoding_table["54882"] = [195,97] let s:lib.Codec.encoding_table["54883"] = [195,98] let s:lib.Codec.encoding_table["54884"] = [195,99] let s:lib.Codec.encoding_table["54885"] = [195,100] let s:lib.Codec.encoding_table["54886"] = [195,101] let s:lib.Codec.encoding_table["54888"] = [195,102] let s:lib.Codec.encoding_table["54890"] = [195,103] let s:lib.Codec.encoding_table["54891"] = [195,104] let s:lib.Codec.encoding_table["54892"] = [195,105] let s:lib.Codec.encoding_table["54893"] = [195,106] let s:lib.Codec.encoding_table["54894"] = [195,107] let s:lib.Codec.encoding_table["54895"] = [195,108] let s:lib.Codec.encoding_table["54898"] = [195,109] let s:lib.Codec.encoding_table["54899"] = [195,110] let s:lib.Codec.encoding_table["54901"] = [195,111] let s:lib.Codec.encoding_table["54902"] = [195,112] let s:lib.Codec.encoding_table["54903"] = [195,113] let s:lib.Codec.encoding_table["54904"] = [195,114] let s:lib.Codec.encoding_table["54905"] = [195,115] let s:lib.Codec.encoding_table["54906"] = [195,116] let s:lib.Codec.encoding_table["54907"] = [195,117] let s:lib.Codec.encoding_table["54908"] = [195,118] let s:lib.Codec.encoding_table["54909"] = [195,119] let s:lib.Codec.encoding_table["54910"] = [195,120] let s:lib.Codec.encoding_table["54911"] = [195,121] let s:lib.Codec.encoding_table["54912"] = [195,122] let s:lib.Codec.encoding_table["54913"] = [195,129] let s:lib.Codec.encoding_table["54914"] = [195,130] let s:lib.Codec.encoding_table["54916"] = [195,131] let s:lib.Codec.encoding_table["54918"] = [195,132] let s:lib.Codec.encoding_table["54919"] = [195,133] let s:lib.Codec.encoding_table["54920"] = [195,134] let s:lib.Codec.encoding_table["54921"] = [195,135] let s:lib.Codec.encoding_table["54922"] = [195,136] let s:lib.Codec.encoding_table["54923"] = [195,137] let s:lib.Codec.encoding_table["54926"] = [195,138] let s:lib.Codec.encoding_table["54927"] = [195,139] let s:lib.Codec.encoding_table["54929"] = [195,140] let s:lib.Codec.encoding_table["54930"] = [195,141] let s:lib.Codec.encoding_table["54931"] = [195,142] let s:lib.Codec.encoding_table["54933"] = [195,143] let s:lib.Codec.encoding_table["54934"] = [195,144] let s:lib.Codec.encoding_table["54935"] = [195,145] let s:lib.Codec.encoding_table["54936"] = [195,146] let s:lib.Codec.encoding_table["54937"] = [195,147] let s:lib.Codec.encoding_table["54938"] = [195,148] let s:lib.Codec.encoding_table["54939"] = [195,149] let s:lib.Codec.encoding_table["54940"] = [195,150] let s:lib.Codec.encoding_table["54942"] = [195,151] let s:lib.Codec.encoding_table["54944"] = [195,152] let s:lib.Codec.encoding_table["54946"] = [195,153] let s:lib.Codec.encoding_table["54947"] = [195,154] let s:lib.Codec.encoding_table["54948"] = [195,155] let s:lib.Codec.encoding_table["54949"] = [195,156] let s:lib.Codec.encoding_table["54950"] = [195,157] let s:lib.Codec.encoding_table["54951"] = [195,158] let s:lib.Codec.encoding_table["54953"] = [195,159] let s:lib.Codec.encoding_table["54954"] = [195,160] let s:lib.Codec.encoding_table["52284"] = [195,161] let s:lib.Codec.encoding_table["52285"] = [195,162] let s:lib.Codec.encoding_table["52286"] = [195,163] let s:lib.Codec.encoding_table["52292"] = [195,164] let s:lib.Codec.encoding_table["52293"] = [195,165] let s:lib.Codec.encoding_table["52296"] = [195,166] let s:lib.Codec.encoding_table["52300"] = [195,167] let s:lib.Codec.encoding_table["52308"] = [195,168] let s:lib.Codec.encoding_table["52309"] = [195,169] let s:lib.Codec.encoding_table["52311"] = [195,170] let s:lib.Codec.encoding_table["52312"] = [195,171] let s:lib.Codec.encoding_table["52313"] = [195,172] let s:lib.Codec.encoding_table["52320"] = [195,173] let s:lib.Codec.encoding_table["52324"] = [195,174] let s:lib.Codec.encoding_table["52326"] = [195,175] let s:lib.Codec.encoding_table["52328"] = [195,176] let s:lib.Codec.encoding_table["52336"] = [195,177] let s:lib.Codec.encoding_table["52341"] = [195,178] let s:lib.Codec.encoding_table["52376"] = [195,179] let s:lib.Codec.encoding_table["52377"] = [195,180] let s:lib.Codec.encoding_table["52380"] = [195,181] let s:lib.Codec.encoding_table["52384"] = [195,182] let s:lib.Codec.encoding_table["52392"] = [195,183] let s:lib.Codec.encoding_table["52393"] = [195,184] let s:lib.Codec.encoding_table["52395"] = [195,185] let s:lib.Codec.encoding_table["52396"] = [195,186] let s:lib.Codec.encoding_table["52397"] = [195,187] let s:lib.Codec.encoding_table["52404"] = [195,188] let s:lib.Codec.encoding_table["52405"] = [195,189] let s:lib.Codec.encoding_table["52408"] = [195,190] let s:lib.Codec.encoding_table["52412"] = [195,191] let s:lib.Codec.encoding_table["52420"] = [195,192] let s:lib.Codec.encoding_table["52421"] = [195,193] let s:lib.Codec.encoding_table["52423"] = [195,194] let s:lib.Codec.encoding_table["52425"] = [195,195] let s:lib.Codec.encoding_table["52432"] = [195,196] let s:lib.Codec.encoding_table["52436"] = [195,197] let s:lib.Codec.encoding_table["52452"] = [195,198] let s:lib.Codec.encoding_table["52460"] = [195,199] let s:lib.Codec.encoding_table["52464"] = [195,200] let s:lib.Codec.encoding_table["52481"] = [195,201] let s:lib.Codec.encoding_table["52488"] = [195,202] let s:lib.Codec.encoding_table["52489"] = [195,203] let s:lib.Codec.encoding_table["52492"] = [195,204] let s:lib.Codec.encoding_table["52496"] = [195,205] let s:lib.Codec.encoding_table["52504"] = [195,206] let s:lib.Codec.encoding_table["52505"] = [195,207] let s:lib.Codec.encoding_table["52507"] = [195,208] let s:lib.Codec.encoding_table["52509"] = [195,209] let s:lib.Codec.encoding_table["52516"] = [195,210] let s:lib.Codec.encoding_table["52520"] = [195,211] let s:lib.Codec.encoding_table["52524"] = [195,212] let s:lib.Codec.encoding_table["52537"] = [195,213] let s:lib.Codec.encoding_table["52572"] = [195,214] let s:lib.Codec.encoding_table["52576"] = [195,215] let s:lib.Codec.encoding_table["52580"] = [195,216] let s:lib.Codec.encoding_table["52588"] = [195,217] let s:lib.Codec.encoding_table["52589"] = [195,218] let s:lib.Codec.encoding_table["52591"] = [195,219] let s:lib.Codec.encoding_table["52593"] = [195,220] let s:lib.Codec.encoding_table["52600"] = [195,221] let s:lib.Codec.encoding_table["52616"] = [195,222] let s:lib.Codec.encoding_table["52628"] = [195,223] let s:lib.Codec.encoding_table["52629"] = [195,224] let s:lib.Codec.encoding_table["52632"] = [195,225] let s:lib.Codec.encoding_table["52636"] = [195,226] let s:lib.Codec.encoding_table["52644"] = [195,227] let s:lib.Codec.encoding_table["52645"] = [195,228] let s:lib.Codec.encoding_table["52647"] = [195,229] let s:lib.Codec.encoding_table["52649"] = [195,230] let s:lib.Codec.encoding_table["52656"] = [195,231] let s:lib.Codec.encoding_table["52676"] = [195,232] let s:lib.Codec.encoding_table["52684"] = [195,233] let s:lib.Codec.encoding_table["52688"] = [195,234] let s:lib.Codec.encoding_table["52712"] = [195,235] let s:lib.Codec.encoding_table["52716"] = [195,236] let s:lib.Codec.encoding_table["52720"] = [195,237] let s:lib.Codec.encoding_table["52728"] = [195,238] let s:lib.Codec.encoding_table["52729"] = [195,239] let s:lib.Codec.encoding_table["52731"] = [195,240] let s:lib.Codec.encoding_table["52733"] = [195,241] let s:lib.Codec.encoding_table["52740"] = [195,242] let s:lib.Codec.encoding_table["52744"] = [195,243] let s:lib.Codec.encoding_table["52748"] = [195,244] let s:lib.Codec.encoding_table["52756"] = [195,245] let s:lib.Codec.encoding_table["52761"] = [195,246] let s:lib.Codec.encoding_table["52768"] = [195,247] let s:lib.Codec.encoding_table["52769"] = [195,248] let s:lib.Codec.encoding_table["52772"] = [195,249] let s:lib.Codec.encoding_table["52776"] = [195,250] let s:lib.Codec.encoding_table["52784"] = [195,251] let s:lib.Codec.encoding_table["52785"] = [195,252] let s:lib.Codec.encoding_table["52787"] = [195,253] let s:lib.Codec.encoding_table["52789"] = [195,254] let s:lib.Codec.encoding_table["54955"] = [196,65] let s:lib.Codec.encoding_table["54957"] = [196,66] let s:lib.Codec.encoding_table["54958"] = [196,67] let s:lib.Codec.encoding_table["54959"] = [196,68] let s:lib.Codec.encoding_table["54961"] = [196,69] let s:lib.Codec.encoding_table["54962"] = [196,70] let s:lib.Codec.encoding_table["54963"] = [196,71] let s:lib.Codec.encoding_table["54964"] = [196,72] let s:lib.Codec.encoding_table["54965"] = [196,73] let s:lib.Codec.encoding_table["54966"] = [196,74] let s:lib.Codec.encoding_table["54967"] = [196,75] let s:lib.Codec.encoding_table["54968"] = [196,76] let s:lib.Codec.encoding_table["54970"] = [196,77] let s:lib.Codec.encoding_table["54972"] = [196,78] let s:lib.Codec.encoding_table["54973"] = [196,79] let s:lib.Codec.encoding_table["54974"] = [196,80] let s:lib.Codec.encoding_table["54975"] = [196,81] let s:lib.Codec.encoding_table["54976"] = [196,82] let s:lib.Codec.encoding_table["54977"] = [196,83] let s:lib.Codec.encoding_table["54978"] = [196,84] let s:lib.Codec.encoding_table["54979"] = [196,85] let s:lib.Codec.encoding_table["54982"] = [196,86] let s:lib.Codec.encoding_table["54983"] = [196,87] let s:lib.Codec.encoding_table["54985"] = [196,88] let s:lib.Codec.encoding_table["54986"] = [196,89] let s:lib.Codec.encoding_table["54987"] = [196,90] let s:lib.Codec.encoding_table["54989"] = [196,97] let s:lib.Codec.encoding_table["54990"] = [196,98] let s:lib.Codec.encoding_table["54991"] = [196,99] let s:lib.Codec.encoding_table["54992"] = [196,100] let s:lib.Codec.encoding_table["54994"] = [196,101] let s:lib.Codec.encoding_table["54995"] = [196,102] let s:lib.Codec.encoding_table["54997"] = [196,103] let s:lib.Codec.encoding_table["54998"] = [196,104] let s:lib.Codec.encoding_table["55000"] = [196,105] let s:lib.Codec.encoding_table["55002"] = [196,106] let s:lib.Codec.encoding_table["55003"] = [196,107] let s:lib.Codec.encoding_table["55004"] = [196,108] let s:lib.Codec.encoding_table["55005"] = [196,109] let s:lib.Codec.encoding_table["55006"] = [196,110] let s:lib.Codec.encoding_table["55007"] = [196,111] let s:lib.Codec.encoding_table["55009"] = [196,112] let s:lib.Codec.encoding_table["55010"] = [196,113] let s:lib.Codec.encoding_table["55011"] = [196,114] let s:lib.Codec.encoding_table["55013"] = [196,115] let s:lib.Codec.encoding_table["55014"] = [196,116] let s:lib.Codec.encoding_table["55015"] = [196,117] let s:lib.Codec.encoding_table["55017"] = [196,118] let s:lib.Codec.encoding_table["55018"] = [196,119] let s:lib.Codec.encoding_table["55019"] = [196,120] let s:lib.Codec.encoding_table["55020"] = [196,121] let s:lib.Codec.encoding_table["55021"] = [196,122] let s:lib.Codec.encoding_table["55022"] = [196,129] let s:lib.Codec.encoding_table["55023"] = [196,130] let s:lib.Codec.encoding_table["55025"] = [196,131] let s:lib.Codec.encoding_table["55026"] = [196,132] let s:lib.Codec.encoding_table["55027"] = [196,133] let s:lib.Codec.encoding_table["55028"] = [196,134] let s:lib.Codec.encoding_table["55030"] = [196,135] let s:lib.Codec.encoding_table["55031"] = [196,136] let s:lib.Codec.encoding_table["55032"] = [196,137] let s:lib.Codec.encoding_table["55033"] = [196,138] let s:lib.Codec.encoding_table["55034"] = [196,139] let s:lib.Codec.encoding_table["55035"] = [196,140] let s:lib.Codec.encoding_table["55038"] = [196,141] let s:lib.Codec.encoding_table["55039"] = [196,142] let s:lib.Codec.encoding_table["55041"] = [196,143] let s:lib.Codec.encoding_table["55042"] = [196,144] let s:lib.Codec.encoding_table["55043"] = [196,145] let s:lib.Codec.encoding_table["55045"] = [196,146] let s:lib.Codec.encoding_table["55046"] = [196,147] let s:lib.Codec.encoding_table["55047"] = [196,148] let s:lib.Codec.encoding_table["55048"] = [196,149] let s:lib.Codec.encoding_table["55049"] = [196,150] let s:lib.Codec.encoding_table["55050"] = [196,151] let s:lib.Codec.encoding_table["55051"] = [196,152] let s:lib.Codec.encoding_table["55052"] = [196,153] let s:lib.Codec.encoding_table["55053"] = [196,154] let s:lib.Codec.encoding_table["55054"] = [196,155] let s:lib.Codec.encoding_table["55055"] = [196,156] let s:lib.Codec.encoding_table["55056"] = [196,157] let s:lib.Codec.encoding_table["55058"] = [196,158] let s:lib.Codec.encoding_table["55059"] = [196,159] let s:lib.Codec.encoding_table["55060"] = [196,160] let s:lib.Codec.encoding_table["52824"] = [196,161] let s:lib.Codec.encoding_table["52825"] = [196,162] let s:lib.Codec.encoding_table["52828"] = [196,163] let s:lib.Codec.encoding_table["52831"] = [196,164] let s:lib.Codec.encoding_table["52832"] = [196,165] let s:lib.Codec.encoding_table["52833"] = [196,166] let s:lib.Codec.encoding_table["52840"] = [196,167] let s:lib.Codec.encoding_table["52841"] = [196,168] let s:lib.Codec.encoding_table["52843"] = [196,169] let s:lib.Codec.encoding_table["52845"] = [196,170] let s:lib.Codec.encoding_table["52852"] = [196,171] let s:lib.Codec.encoding_table["52853"] = [196,172] let s:lib.Codec.encoding_table["52856"] = [196,173] let s:lib.Codec.encoding_table["52860"] = [196,174] let s:lib.Codec.encoding_table["52868"] = [196,175] let s:lib.Codec.encoding_table["52869"] = [196,176] let s:lib.Codec.encoding_table["52871"] = [196,177] let s:lib.Codec.encoding_table["52873"] = [196,178] let s:lib.Codec.encoding_table["52880"] = [196,179] let s:lib.Codec.encoding_table["52881"] = [196,180] let s:lib.Codec.encoding_table["52884"] = [196,181] let s:lib.Codec.encoding_table["52888"] = [196,182] let s:lib.Codec.encoding_table["52896"] = [196,183] let s:lib.Codec.encoding_table["52897"] = [196,184] let s:lib.Codec.encoding_table["52899"] = [196,185] let s:lib.Codec.encoding_table["52900"] = [196,186] let s:lib.Codec.encoding_table["52901"] = [196,187] let s:lib.Codec.encoding_table["52908"] = [196,188] let s:lib.Codec.encoding_table["52909"] = [196,189] let s:lib.Codec.encoding_table["52929"] = [196,190] let s:lib.Codec.encoding_table["52964"] = [196,191] let s:lib.Codec.encoding_table["52965"] = [196,192] let s:lib.Codec.encoding_table["52968"] = [196,193] let s:lib.Codec.encoding_table["52971"] = [196,194] let s:lib.Codec.encoding_table["52972"] = [196,195] let s:lib.Codec.encoding_table["52980"] = [196,196] let s:lib.Codec.encoding_table["52981"] = [196,197] let s:lib.Codec.encoding_table["52983"] = [196,198] let s:lib.Codec.encoding_table["52984"] = [196,199] let s:lib.Codec.encoding_table["52985"] = [196,200] let s:lib.Codec.encoding_table["52992"] = [196,201] let s:lib.Codec.encoding_table["52993"] = [196,202] let s:lib.Codec.encoding_table["52996"] = [196,203] let s:lib.Codec.encoding_table["53000"] = [196,204] let s:lib.Codec.encoding_table["53008"] = [196,205] let s:lib.Codec.encoding_table["53009"] = [196,206] let s:lib.Codec.encoding_table["53011"] = [196,207] let s:lib.Codec.encoding_table["53013"] = [196,208] let s:lib.Codec.encoding_table["53020"] = [196,209] let s:lib.Codec.encoding_table["53024"] = [196,210] let s:lib.Codec.encoding_table["53028"] = [196,211] let s:lib.Codec.encoding_table["53036"] = [196,212] let s:lib.Codec.encoding_table["53037"] = [196,213] let s:lib.Codec.encoding_table["53039"] = [196,214] let s:lib.Codec.encoding_table["53040"] = [196,215] let s:lib.Codec.encoding_table["53041"] = [196,216] let s:lib.Codec.encoding_table["53048"] = [196,217] let s:lib.Codec.encoding_table["53076"] = [196,218] let s:lib.Codec.encoding_table["53077"] = [196,219] let s:lib.Codec.encoding_table["53080"] = [196,220] let s:lib.Codec.encoding_table["53084"] = [196,221] let s:lib.Codec.encoding_table["53092"] = [196,222] let s:lib.Codec.encoding_table["53093"] = [196,223] let s:lib.Codec.encoding_table["53095"] = [196,224] let s:lib.Codec.encoding_table["53097"] = [196,225] let s:lib.Codec.encoding_table["53104"] = [196,226] let s:lib.Codec.encoding_table["53105"] = [196,227] let s:lib.Codec.encoding_table["53108"] = [196,228] let s:lib.Codec.encoding_table["53112"] = [196,229] let s:lib.Codec.encoding_table["53120"] = [196,230] let s:lib.Codec.encoding_table["53125"] = [196,231] let s:lib.Codec.encoding_table["53132"] = [196,232] let s:lib.Codec.encoding_table["53153"] = [196,233] let s:lib.Codec.encoding_table["53160"] = [196,234] let s:lib.Codec.encoding_table["53168"] = [196,235] let s:lib.Codec.encoding_table["53188"] = [196,236] let s:lib.Codec.encoding_table["53216"] = [196,237] let s:lib.Codec.encoding_table["53217"] = [196,238] let s:lib.Codec.encoding_table["53220"] = [196,239] let s:lib.Codec.encoding_table["53224"] = [196,240] let s:lib.Codec.encoding_table["53232"] = [196,241] let s:lib.Codec.encoding_table["53233"] = [196,242] let s:lib.Codec.encoding_table["53235"] = [196,243] let s:lib.Codec.encoding_table["53237"] = [196,244] let s:lib.Codec.encoding_table["53244"] = [196,245] let s:lib.Codec.encoding_table["53248"] = [196,246] let s:lib.Codec.encoding_table["53252"] = [196,247] let s:lib.Codec.encoding_table["53265"] = [196,248] let s:lib.Codec.encoding_table["53272"] = [196,249] let s:lib.Codec.encoding_table["53293"] = [196,250] let s:lib.Codec.encoding_table["53300"] = [196,251] let s:lib.Codec.encoding_table["53301"] = [196,252] let s:lib.Codec.encoding_table["53304"] = [196,253] let s:lib.Codec.encoding_table["53308"] = [196,254] let s:lib.Codec.encoding_table["55061"] = [197,65] let s:lib.Codec.encoding_table["55062"] = [197,66] let s:lib.Codec.encoding_table["55063"] = [197,67] let s:lib.Codec.encoding_table["55066"] = [197,68] let s:lib.Codec.encoding_table["55067"] = [197,69] let s:lib.Codec.encoding_table["55069"] = [197,70] let s:lib.Codec.encoding_table["55070"] = [197,71] let s:lib.Codec.encoding_table["55071"] = [197,72] let s:lib.Codec.encoding_table["55073"] = [197,73] let s:lib.Codec.encoding_table["55074"] = [197,74] let s:lib.Codec.encoding_table["55075"] = [197,75] let s:lib.Codec.encoding_table["55076"] = [197,76] let s:lib.Codec.encoding_table["55077"] = [197,77] let s:lib.Codec.encoding_table["55078"] = [197,78] let s:lib.Codec.encoding_table["55079"] = [197,79] let s:lib.Codec.encoding_table["55082"] = [197,80] let s:lib.Codec.encoding_table["55084"] = [197,81] let s:lib.Codec.encoding_table["55086"] = [197,82] let s:lib.Codec.encoding_table["55087"] = [197,83] let s:lib.Codec.encoding_table["55088"] = [197,84] let s:lib.Codec.encoding_table["55089"] = [197,85] let s:lib.Codec.encoding_table["55090"] = [197,86] let s:lib.Codec.encoding_table["55091"] = [197,87] let s:lib.Codec.encoding_table["55094"] = [197,88] let s:lib.Codec.encoding_table["55095"] = [197,89] let s:lib.Codec.encoding_table["55097"] = [197,90] let s:lib.Codec.encoding_table["55098"] = [197,97] let s:lib.Codec.encoding_table["55099"] = [197,98] let s:lib.Codec.encoding_table["55101"] = [197,99] let s:lib.Codec.encoding_table["55102"] = [197,100] let s:lib.Codec.encoding_table["55103"] = [197,101] let s:lib.Codec.encoding_table["55104"] = [197,102] let s:lib.Codec.encoding_table["55105"] = [197,103] let s:lib.Codec.encoding_table["55106"] = [197,104] let s:lib.Codec.encoding_table["55107"] = [197,105] let s:lib.Codec.encoding_table["55109"] = [197,106] let s:lib.Codec.encoding_table["55110"] = [197,107] let s:lib.Codec.encoding_table["55112"] = [197,108] let s:lib.Codec.encoding_table["55114"] = [197,109] let s:lib.Codec.encoding_table["55115"] = [197,110] let s:lib.Codec.encoding_table["55116"] = [197,111] let s:lib.Codec.encoding_table["55117"] = [197,112] let s:lib.Codec.encoding_table["55118"] = [197,113] let s:lib.Codec.encoding_table["55119"] = [197,114] let s:lib.Codec.encoding_table["55122"] = [197,115] let s:lib.Codec.encoding_table["55123"] = [197,116] let s:lib.Codec.encoding_table["55125"] = [197,117] let s:lib.Codec.encoding_table["55130"] = [197,118] let s:lib.Codec.encoding_table["55131"] = [197,119] let s:lib.Codec.encoding_table["55132"] = [197,120] let s:lib.Codec.encoding_table["55133"] = [197,121] let s:lib.Codec.encoding_table["55134"] = [197,122] let s:lib.Codec.encoding_table["55135"] = [197,129] let s:lib.Codec.encoding_table["55138"] = [197,130] let s:lib.Codec.encoding_table["55140"] = [197,131] let s:lib.Codec.encoding_table["55142"] = [197,132] let s:lib.Codec.encoding_table["55143"] = [197,133] let s:lib.Codec.encoding_table["55144"] = [197,134] let s:lib.Codec.encoding_table["55146"] = [197,135] let s:lib.Codec.encoding_table["55147"] = [197,136] let s:lib.Codec.encoding_table["55149"] = [197,137] let s:lib.Codec.encoding_table["55150"] = [197,138] let s:lib.Codec.encoding_table["55151"] = [197,139] let s:lib.Codec.encoding_table["55153"] = [197,140] let s:lib.Codec.encoding_table["55154"] = [197,141] let s:lib.Codec.encoding_table["55155"] = [197,142] let s:lib.Codec.encoding_table["55157"] = [197,143] let s:lib.Codec.encoding_table["55158"] = [197,144] let s:lib.Codec.encoding_table["55159"] = [197,145] let s:lib.Codec.encoding_table["55160"] = [197,146] let s:lib.Codec.encoding_table["55161"] = [197,147] let s:lib.Codec.encoding_table["55162"] = [197,148] let s:lib.Codec.encoding_table["55163"] = [197,149] let s:lib.Codec.encoding_table["55166"] = [197,150] let s:lib.Codec.encoding_table["55167"] = [197,151] let s:lib.Codec.encoding_table["55168"] = [197,152] let s:lib.Codec.encoding_table["55170"] = [197,153] let s:lib.Codec.encoding_table["55171"] = [197,154] let s:lib.Codec.encoding_table["55172"] = [197,155] let s:lib.Codec.encoding_table["55173"] = [197,156] let s:lib.Codec.encoding_table["55174"] = [197,157] let s:lib.Codec.encoding_table["55175"] = [197,158] let s:lib.Codec.encoding_table["55178"] = [197,159] let s:lib.Codec.encoding_table["55179"] = [197,160] let s:lib.Codec.encoding_table["53316"] = [197,161] let s:lib.Codec.encoding_table["53317"] = [197,162] let s:lib.Codec.encoding_table["53319"] = [197,163] let s:lib.Codec.encoding_table["53321"] = [197,164] let s:lib.Codec.encoding_table["53328"] = [197,165] let s:lib.Codec.encoding_table["53332"] = [197,166] let s:lib.Codec.encoding_table["53336"] = [197,167] let s:lib.Codec.encoding_table["53344"] = [197,168] let s:lib.Codec.encoding_table["53356"] = [197,169] let s:lib.Codec.encoding_table["53357"] = [197,170] let s:lib.Codec.encoding_table["53360"] = [197,171] let s:lib.Codec.encoding_table["53364"] = [197,172] let s:lib.Codec.encoding_table["53372"] = [197,173] let s:lib.Codec.encoding_table["53373"] = [197,174] let s:lib.Codec.encoding_table["53377"] = [197,175] let s:lib.Codec.encoding_table["53412"] = [197,176] let s:lib.Codec.encoding_table["53413"] = [197,177] let s:lib.Codec.encoding_table["53416"] = [197,178] let s:lib.Codec.encoding_table["53420"] = [197,179] let s:lib.Codec.encoding_table["53428"] = [197,180] let s:lib.Codec.encoding_table["53429"] = [197,181] let s:lib.Codec.encoding_table["53431"] = [197,182] let s:lib.Codec.encoding_table["53433"] = [197,183] let s:lib.Codec.encoding_table["53440"] = [197,184] let s:lib.Codec.encoding_table["53441"] = [197,185] let s:lib.Codec.encoding_table["53444"] = [197,186] let s:lib.Codec.encoding_table["53448"] = [197,187] let s:lib.Codec.encoding_table["53449"] = [197,188] let s:lib.Codec.encoding_table["53456"] = [197,189] let s:lib.Codec.encoding_table["53457"] = [197,190] let s:lib.Codec.encoding_table["53459"] = [197,191] let s:lib.Codec.encoding_table["53460"] = [197,192] let s:lib.Codec.encoding_table["53461"] = [197,193] let s:lib.Codec.encoding_table["53468"] = [197,194] let s:lib.Codec.encoding_table["53469"] = [197,195] let s:lib.Codec.encoding_table["53472"] = [197,196] let s:lib.Codec.encoding_table["53476"] = [197,197] let s:lib.Codec.encoding_table["53484"] = [197,198] let s:lib.Codec.encoding_table["53485"] = [197,199] let s:lib.Codec.encoding_table["53487"] = [197,200] let s:lib.Codec.encoding_table["53488"] = [197,201] let s:lib.Codec.encoding_table["53489"] = [197,202] let s:lib.Codec.encoding_table["53496"] = [197,203] let s:lib.Codec.encoding_table["53517"] = [197,204] let s:lib.Codec.encoding_table["53552"] = [197,205] let s:lib.Codec.encoding_table["53553"] = [197,206] let s:lib.Codec.encoding_table["53556"] = [197,207] let s:lib.Codec.encoding_table["53560"] = [197,208] let s:lib.Codec.encoding_table["53562"] = [197,209] let s:lib.Codec.encoding_table["53568"] = [197,210] let s:lib.Codec.encoding_table["53569"] = [197,211] let s:lib.Codec.encoding_table["53571"] = [197,212] let s:lib.Codec.encoding_table["53572"] = [197,213] let s:lib.Codec.encoding_table["53573"] = [197,214] let s:lib.Codec.encoding_table["53580"] = [197,215] let s:lib.Codec.encoding_table["53581"] = [197,216] let s:lib.Codec.encoding_table["53584"] = [197,217] let s:lib.Codec.encoding_table["53588"] = [197,218] let s:lib.Codec.encoding_table["53596"] = [197,219] let s:lib.Codec.encoding_table["53597"] = [197,220] let s:lib.Codec.encoding_table["53599"] = [197,221] let s:lib.Codec.encoding_table["53601"] = [197,222] let s:lib.Codec.encoding_table["53608"] = [197,223] let s:lib.Codec.encoding_table["53612"] = [197,224] let s:lib.Codec.encoding_table["53628"] = [197,225] let s:lib.Codec.encoding_table["53636"] = [197,226] let s:lib.Codec.encoding_table["53640"] = [197,227] let s:lib.Codec.encoding_table["53664"] = [197,228] let s:lib.Codec.encoding_table["53665"] = [197,229] let s:lib.Codec.encoding_table["53668"] = [197,230] let s:lib.Codec.encoding_table["53672"] = [197,231] let s:lib.Codec.encoding_table["53680"] = [197,232] let s:lib.Codec.encoding_table["53681"] = [197,233] let s:lib.Codec.encoding_table["53683"] = [197,234] let s:lib.Codec.encoding_table["53685"] = [197,235] let s:lib.Codec.encoding_table["53690"] = [197,236] let s:lib.Codec.encoding_table["53692"] = [197,237] let s:lib.Codec.encoding_table["53696"] = [197,238] let s:lib.Codec.encoding_table["53720"] = [197,239] let s:lib.Codec.encoding_table["53748"] = [197,240] let s:lib.Codec.encoding_table["53752"] = [197,241] let s:lib.Codec.encoding_table["53767"] = [197,242] let s:lib.Codec.encoding_table["53769"] = [197,243] let s:lib.Codec.encoding_table["53776"] = [197,244] let s:lib.Codec.encoding_table["53804"] = [197,245] let s:lib.Codec.encoding_table["53805"] = [197,246] let s:lib.Codec.encoding_table["53808"] = [197,247] let s:lib.Codec.encoding_table["53812"] = [197,248] let s:lib.Codec.encoding_table["53820"] = [197,249] let s:lib.Codec.encoding_table["53821"] = [197,250] let s:lib.Codec.encoding_table["53823"] = [197,251] let s:lib.Codec.encoding_table["53825"] = [197,252] let s:lib.Codec.encoding_table["53832"] = [197,253] let s:lib.Codec.encoding_table["53852"] = [197,254] let s:lib.Codec.encoding_table["55181"] = [198,65] let s:lib.Codec.encoding_table["55182"] = [198,66] let s:lib.Codec.encoding_table["55183"] = [198,67] let s:lib.Codec.encoding_table["55185"] = [198,68] let s:lib.Codec.encoding_table["55186"] = [198,69] let s:lib.Codec.encoding_table["55187"] = [198,70] let s:lib.Codec.encoding_table["55188"] = [198,71] let s:lib.Codec.encoding_table["55189"] = [198,72] let s:lib.Codec.encoding_table["55190"] = [198,73] let s:lib.Codec.encoding_table["55191"] = [198,74] let s:lib.Codec.encoding_table["55194"] = [198,75] let s:lib.Codec.encoding_table["55196"] = [198,76] let s:lib.Codec.encoding_table["55198"] = [198,77] let s:lib.Codec.encoding_table["55199"] = [198,78] let s:lib.Codec.encoding_table["55200"] = [198,79] let s:lib.Codec.encoding_table["55201"] = [198,80] let s:lib.Codec.encoding_table["55202"] = [198,81] let s:lib.Codec.encoding_table["55203"] = [198,82] let s:lib.Codec.encoding_table["53860"] = [198,161] let s:lib.Codec.encoding_table["53888"] = [198,162] let s:lib.Codec.encoding_table["53889"] = [198,163] let s:lib.Codec.encoding_table["53892"] = [198,164] let s:lib.Codec.encoding_table["53896"] = [198,165] let s:lib.Codec.encoding_table["53904"] = [198,166] let s:lib.Codec.encoding_table["53905"] = [198,167] let s:lib.Codec.encoding_table["53909"] = [198,168] let s:lib.Codec.encoding_table["53916"] = [198,169] let s:lib.Codec.encoding_table["53920"] = [198,170] let s:lib.Codec.encoding_table["53924"] = [198,171] let s:lib.Codec.encoding_table["53932"] = [198,172] let s:lib.Codec.encoding_table["53937"] = [198,173] let s:lib.Codec.encoding_table["53944"] = [198,174] let s:lib.Codec.encoding_table["53945"] = [198,175] let s:lib.Codec.encoding_table["53948"] = [198,176] let s:lib.Codec.encoding_table["53951"] = [198,177] let s:lib.Codec.encoding_table["53952"] = [198,178] let s:lib.Codec.encoding_table["53954"] = [198,179] let s:lib.Codec.encoding_table["53960"] = [198,180] let s:lib.Codec.encoding_table["53961"] = [198,181] let s:lib.Codec.encoding_table["53963"] = [198,182] let s:lib.Codec.encoding_table["53972"] = [198,183] let s:lib.Codec.encoding_table["53976"] = [198,184] let s:lib.Codec.encoding_table["53980"] = [198,185] let s:lib.Codec.encoding_table["53988"] = [198,186] let s:lib.Codec.encoding_table["53989"] = [198,187] let s:lib.Codec.encoding_table["54000"] = [198,188] let s:lib.Codec.encoding_table["54001"] = [198,189] let s:lib.Codec.encoding_table["54004"] = [198,190] let s:lib.Codec.encoding_table["54008"] = [198,191] let s:lib.Codec.encoding_table["54016"] = [198,192] let s:lib.Codec.encoding_table["54017"] = [198,193] let s:lib.Codec.encoding_table["54019"] = [198,194] let s:lib.Codec.encoding_table["54021"] = [198,195] let s:lib.Codec.encoding_table["54028"] = [198,196] let s:lib.Codec.encoding_table["54029"] = [198,197] let s:lib.Codec.encoding_table["54030"] = [198,198] let s:lib.Codec.encoding_table["54032"] = [198,199] let s:lib.Codec.encoding_table["54036"] = [198,200] let s:lib.Codec.encoding_table["54038"] = [198,201] let s:lib.Codec.encoding_table["54044"] = [198,202] let s:lib.Codec.encoding_table["54045"] = [198,203] let s:lib.Codec.encoding_table["54047"] = [198,204] let s:lib.Codec.encoding_table["54048"] = [198,205] let s:lib.Codec.encoding_table["54049"] = [198,206] let s:lib.Codec.encoding_table["54053"] = [198,207] let s:lib.Codec.encoding_table["54056"] = [198,208] let s:lib.Codec.encoding_table["54057"] = [198,209] let s:lib.Codec.encoding_table["54060"] = [198,210] let s:lib.Codec.encoding_table["54064"] = [198,211] let s:lib.Codec.encoding_table["54072"] = [198,212] let s:lib.Codec.encoding_table["54073"] = [198,213] let s:lib.Codec.encoding_table["54075"] = [198,214] let s:lib.Codec.encoding_table["54076"] = [198,215] let s:lib.Codec.encoding_table["54077"] = [198,216] let s:lib.Codec.encoding_table["54084"] = [198,217] let s:lib.Codec.encoding_table["54085"] = [198,218] let s:lib.Codec.encoding_table["54140"] = [198,219] let s:lib.Codec.encoding_table["54141"] = [198,220] let s:lib.Codec.encoding_table["54144"] = [198,221] let s:lib.Codec.encoding_table["54148"] = [198,222] let s:lib.Codec.encoding_table["54156"] = [198,223] let s:lib.Codec.encoding_table["54157"] = [198,224] let s:lib.Codec.encoding_table["54159"] = [198,225] let s:lib.Codec.encoding_table["54160"] = [198,226] let s:lib.Codec.encoding_table["54161"] = [198,227] let s:lib.Codec.encoding_table["54168"] = [198,228] let s:lib.Codec.encoding_table["54169"] = [198,229] let s:lib.Codec.encoding_table["54172"] = [198,230] let s:lib.Codec.encoding_table["54176"] = [198,231] let s:lib.Codec.encoding_table["54184"] = [198,232] let s:lib.Codec.encoding_table["54185"] = [198,233] let s:lib.Codec.encoding_table["54187"] = [198,234] let s:lib.Codec.encoding_table["54189"] = [198,235] let s:lib.Codec.encoding_table["54196"] = [198,236] let s:lib.Codec.encoding_table["54200"] = [198,237] let s:lib.Codec.encoding_table["54204"] = [198,238] let s:lib.Codec.encoding_table["54212"] = [198,239] let s:lib.Codec.encoding_table["54213"] = [198,240] let s:lib.Codec.encoding_table["54216"] = [198,241] let s:lib.Codec.encoding_table["54217"] = [198,242] let s:lib.Codec.encoding_table["54224"] = [198,243] let s:lib.Codec.encoding_table["54232"] = [198,244] let s:lib.Codec.encoding_table["54241"] = [198,245] let s:lib.Codec.encoding_table["54243"] = [198,246] let s:lib.Codec.encoding_table["54252"] = [198,247] let s:lib.Codec.encoding_table["54253"] = [198,248] let s:lib.Codec.encoding_table["54256"] = [198,249] let s:lib.Codec.encoding_table["54260"] = [198,250] let s:lib.Codec.encoding_table["54268"] = [198,251] let s:lib.Codec.encoding_table["54269"] = [198,252] let s:lib.Codec.encoding_table["54271"] = [198,253] let s:lib.Codec.encoding_table["54273"] = [198,254] let s:lib.Codec.encoding_table["54280"] = [199,161] let s:lib.Codec.encoding_table["54301"] = [199,162] let s:lib.Codec.encoding_table["54336"] = [199,163] let s:lib.Codec.encoding_table["54340"] = [199,164] let s:lib.Codec.encoding_table["54364"] = [199,165] let s:lib.Codec.encoding_table["54368"] = [199,166] let s:lib.Codec.encoding_table["54372"] = [199,167] let s:lib.Codec.encoding_table["54381"] = [199,168] let s:lib.Codec.encoding_table["54383"] = [199,169] let s:lib.Codec.encoding_table["54392"] = [199,170] let s:lib.Codec.encoding_table["54393"] = [199,171] let s:lib.Codec.encoding_table["54396"] = [199,172] let s:lib.Codec.encoding_table["54399"] = [199,173] let s:lib.Codec.encoding_table["54400"] = [199,174] let s:lib.Codec.encoding_table["54402"] = [199,175] let s:lib.Codec.encoding_table["54408"] = [199,176] let s:lib.Codec.encoding_table["54409"] = [199,177] let s:lib.Codec.encoding_table["54411"] = [199,178] let s:lib.Codec.encoding_table["54413"] = [199,179] let s:lib.Codec.encoding_table["54420"] = [199,180] let s:lib.Codec.encoding_table["54441"] = [199,181] let s:lib.Codec.encoding_table["54476"] = [199,182] let s:lib.Codec.encoding_table["54480"] = [199,183] let s:lib.Codec.encoding_table["54484"] = [199,184] let s:lib.Codec.encoding_table["54492"] = [199,185] let s:lib.Codec.encoding_table["54495"] = [199,186] let s:lib.Codec.encoding_table["54504"] = [199,187] let s:lib.Codec.encoding_table["54508"] = [199,188] let s:lib.Codec.encoding_table["54512"] = [199,189] let s:lib.Codec.encoding_table["54520"] = [199,190] let s:lib.Codec.encoding_table["54523"] = [199,191] let s:lib.Codec.encoding_table["54525"] = [199,192] let s:lib.Codec.encoding_table["54532"] = [199,193] let s:lib.Codec.encoding_table["54536"] = [199,194] let s:lib.Codec.encoding_table["54540"] = [199,195] let s:lib.Codec.encoding_table["54548"] = [199,196] let s:lib.Codec.encoding_table["54549"] = [199,197] let s:lib.Codec.encoding_table["54551"] = [199,198] let s:lib.Codec.encoding_table["54588"] = [199,199] let s:lib.Codec.encoding_table["54589"] = [199,200] let s:lib.Codec.encoding_table["54592"] = [199,201] let s:lib.Codec.encoding_table["54596"] = [199,202] let s:lib.Codec.encoding_table["54604"] = [199,203] let s:lib.Codec.encoding_table["54605"] = [199,204] let s:lib.Codec.encoding_table["54607"] = [199,205] let s:lib.Codec.encoding_table["54609"] = [199,206] let s:lib.Codec.encoding_table["54616"] = [199,207] let s:lib.Codec.encoding_table["54617"] = [199,208] let s:lib.Codec.encoding_table["54620"] = [199,209] let s:lib.Codec.encoding_table["54624"] = [199,210] let s:lib.Codec.encoding_table["54629"] = [199,211] let s:lib.Codec.encoding_table["54632"] = [199,212] let s:lib.Codec.encoding_table["54633"] = [199,213] let s:lib.Codec.encoding_table["54635"] = [199,214] let s:lib.Codec.encoding_table["54637"] = [199,215] let s:lib.Codec.encoding_table["54644"] = [199,216] let s:lib.Codec.encoding_table["54645"] = [199,217] let s:lib.Codec.encoding_table["54648"] = [199,218] let s:lib.Codec.encoding_table["54652"] = [199,219] let s:lib.Codec.encoding_table["54660"] = [199,220] let s:lib.Codec.encoding_table["54661"] = [199,221] let s:lib.Codec.encoding_table["54663"] = [199,222] let s:lib.Codec.encoding_table["54664"] = [199,223] let s:lib.Codec.encoding_table["54665"] = [199,224] let s:lib.Codec.encoding_table["54672"] = [199,225] let s:lib.Codec.encoding_table["54693"] = [199,226] let s:lib.Codec.encoding_table["54728"] = [199,227] let s:lib.Codec.encoding_table["54729"] = [199,228] let s:lib.Codec.encoding_table["54732"] = [199,229] let s:lib.Codec.encoding_table["54736"] = [199,230] let s:lib.Codec.encoding_table["54738"] = [199,231] let s:lib.Codec.encoding_table["54744"] = [199,232] let s:lib.Codec.encoding_table["54745"] = [199,233] let s:lib.Codec.encoding_table["54747"] = [199,234] let s:lib.Codec.encoding_table["54749"] = [199,235] let s:lib.Codec.encoding_table["54756"] = [199,236] let s:lib.Codec.encoding_table["54757"] = [199,237] let s:lib.Codec.encoding_table["54760"] = [199,238] let s:lib.Codec.encoding_table["54764"] = [199,239] let s:lib.Codec.encoding_table["54772"] = [199,240] let s:lib.Codec.encoding_table["54773"] = [199,241] let s:lib.Codec.encoding_table["54775"] = [199,242] let s:lib.Codec.encoding_table["54777"] = [199,243] let s:lib.Codec.encoding_table["54784"] = [199,244] let s:lib.Codec.encoding_table["54785"] = [199,245] let s:lib.Codec.encoding_table["54788"] = [199,246] let s:lib.Codec.encoding_table["54792"] = [199,247] let s:lib.Codec.encoding_table["54800"] = [199,248] let s:lib.Codec.encoding_table["54801"] = [199,249] let s:lib.Codec.encoding_table["54803"] = [199,250] let s:lib.Codec.encoding_table["54804"] = [199,251] let s:lib.Codec.encoding_table["54805"] = [199,252] let s:lib.Codec.encoding_table["54812"] = [199,253] let s:lib.Codec.encoding_table["54816"] = [199,254] let s:lib.Codec.encoding_table["54820"] = [200,161] let s:lib.Codec.encoding_table["54829"] = [200,162] let s:lib.Codec.encoding_table["54840"] = [200,163] let s:lib.Codec.encoding_table["54841"] = [200,164] let s:lib.Codec.encoding_table["54844"] = [200,165] let s:lib.Codec.encoding_table["54848"] = [200,166] let s:lib.Codec.encoding_table["54853"] = [200,167] let s:lib.Codec.encoding_table["54856"] = [200,168] let s:lib.Codec.encoding_table["54857"] = [200,169] let s:lib.Codec.encoding_table["54859"] = [200,170] let s:lib.Codec.encoding_table["54861"] = [200,171] let s:lib.Codec.encoding_table["54865"] = [200,172] let s:lib.Codec.encoding_table["54868"] = [200,173] let s:lib.Codec.encoding_table["54869"] = [200,174] let s:lib.Codec.encoding_table["54872"] = [200,175] let s:lib.Codec.encoding_table["54876"] = [200,176] let s:lib.Codec.encoding_table["54887"] = [200,177] let s:lib.Codec.encoding_table["54889"] = [200,178] let s:lib.Codec.encoding_table["54896"] = [200,179] let s:lib.Codec.encoding_table["54897"] = [200,180] let s:lib.Codec.encoding_table["54900"] = [200,181] let s:lib.Codec.encoding_table["54915"] = [200,182] let s:lib.Codec.encoding_table["54917"] = [200,183] let s:lib.Codec.encoding_table["54924"] = [200,184] let s:lib.Codec.encoding_table["54925"] = [200,185] let s:lib.Codec.encoding_table["54928"] = [200,186] let s:lib.Codec.encoding_table["54932"] = [200,187] let s:lib.Codec.encoding_table["54941"] = [200,188] let s:lib.Codec.encoding_table["54943"] = [200,189] let s:lib.Codec.encoding_table["54945"] = [200,190] let s:lib.Codec.encoding_table["54952"] = [200,191] let s:lib.Codec.encoding_table["54956"] = [200,192] let s:lib.Codec.encoding_table["54960"] = [200,193] let s:lib.Codec.encoding_table["54969"] = [200,194] let s:lib.Codec.encoding_table["54971"] = [200,195] let s:lib.Codec.encoding_table["54980"] = [200,196] let s:lib.Codec.encoding_table["54981"] = [200,197] let s:lib.Codec.encoding_table["54984"] = [200,198] let s:lib.Codec.encoding_table["54988"] = [200,199] let s:lib.Codec.encoding_table["54993"] = [200,200] let s:lib.Codec.encoding_table["54996"] = [200,201] let s:lib.Codec.encoding_table["54999"] = [200,202] let s:lib.Codec.encoding_table["55001"] = [200,203] let s:lib.Codec.encoding_table["55008"] = [200,204] let s:lib.Codec.encoding_table["55012"] = [200,205] let s:lib.Codec.encoding_table["55016"] = [200,206] let s:lib.Codec.encoding_table["55024"] = [200,207] let s:lib.Codec.encoding_table["55029"] = [200,208] let s:lib.Codec.encoding_table["55036"] = [200,209] let s:lib.Codec.encoding_table["55037"] = [200,210] let s:lib.Codec.encoding_table["55040"] = [200,211] let s:lib.Codec.encoding_table["55044"] = [200,212] let s:lib.Codec.encoding_table["55057"] = [200,213] let s:lib.Codec.encoding_table["55064"] = [200,214] let s:lib.Codec.encoding_table["55065"] = [200,215] let s:lib.Codec.encoding_table["55068"] = [200,216] let s:lib.Codec.encoding_table["55072"] = [200,217] let s:lib.Codec.encoding_table["55080"] = [200,218] let s:lib.Codec.encoding_table["55081"] = [200,219] let s:lib.Codec.encoding_table["55083"] = [200,220] let s:lib.Codec.encoding_table["55085"] = [200,221] let s:lib.Codec.encoding_table["55092"] = [200,222] let s:lib.Codec.encoding_table["55093"] = [200,223] let s:lib.Codec.encoding_table["55096"] = [200,224] let s:lib.Codec.encoding_table["55100"] = [200,225] let s:lib.Codec.encoding_table["55108"] = [200,226] let s:lib.Codec.encoding_table["55111"] = [200,227] let s:lib.Codec.encoding_table["55113"] = [200,228] let s:lib.Codec.encoding_table["55120"] = [200,229] let s:lib.Codec.encoding_table["55121"] = [200,230] let s:lib.Codec.encoding_table["55124"] = [200,231] let s:lib.Codec.encoding_table["55126"] = [200,232] let s:lib.Codec.encoding_table["55127"] = [200,233] let s:lib.Codec.encoding_table["55128"] = [200,234] let s:lib.Codec.encoding_table["55129"] = [200,235] let s:lib.Codec.encoding_table["55136"] = [200,236] let s:lib.Codec.encoding_table["55137"] = [200,237] let s:lib.Codec.encoding_table["55139"] = [200,238] let s:lib.Codec.encoding_table["55141"] = [200,239] let s:lib.Codec.encoding_table["55145"] = [200,240] let s:lib.Codec.encoding_table["55148"] = [200,241] let s:lib.Codec.encoding_table["55152"] = [200,242] let s:lib.Codec.encoding_table["55156"] = [200,243] let s:lib.Codec.encoding_table["55164"] = [200,244] let s:lib.Codec.encoding_table["55165"] = [200,245] let s:lib.Codec.encoding_table["55169"] = [200,246] let s:lib.Codec.encoding_table["55176"] = [200,247] let s:lib.Codec.encoding_table["55177"] = [200,248] let s:lib.Codec.encoding_table["55180"] = [200,249] let s:lib.Codec.encoding_table["55184"] = [200,250] let s:lib.Codec.encoding_table["55192"] = [200,251] let s:lib.Codec.encoding_table["55193"] = [200,252] let s:lib.Codec.encoding_table["55195"] = [200,253] let s:lib.Codec.encoding_table["55197"] = [200,254] let s:lib.Codec.encoding_table["20285"] = [202,161] let s:lib.Codec.encoding_table["20339"] = [202,162] let s:lib.Codec.encoding_table["20551"] = [202,163] let s:lib.Codec.encoding_table["20729"] = [202,164] let s:lib.Codec.encoding_table["21152"] = [202,165] let s:lib.Codec.encoding_table["21487"] = [202,166] let s:lib.Codec.encoding_table["21621"] = [202,167] let s:lib.Codec.encoding_table["21733"] = [202,168] let s:lib.Codec.encoding_table["22025"] = [202,169] let s:lib.Codec.encoding_table["23233"] = [202,170] let s:lib.Codec.encoding_table["23478"] = [202,171] let s:lib.Codec.encoding_table["26247"] = [202,172] let s:lib.Codec.encoding_table["26550"] = [202,173] let s:lib.Codec.encoding_table["26551"] = [202,174] let s:lib.Codec.encoding_table["26607"] = [202,175] let s:lib.Codec.encoding_table["27468"] = [202,176] let s:lib.Codec.encoding_table["29634"] = [202,177] let s:lib.Codec.encoding_table["30146"] = [202,178] let s:lib.Codec.encoding_table["31292"] = [202,179] let s:lib.Codec.encoding_table["33499"] = [202,180] let s:lib.Codec.encoding_table["33540"] = [202,181] let s:lib.Codec.encoding_table["34903"] = [202,182] let s:lib.Codec.encoding_table["34952"] = [202,183] let s:lib.Codec.encoding_table["35382"] = [202,184] let s:lib.Codec.encoding_table["36040"] = [202,185] let s:lib.Codec.encoding_table["36303"] = [202,186] let s:lib.Codec.encoding_table["36603"] = [202,187] let s:lib.Codec.encoding_table["36838"] = [202,188] let s:lib.Codec.encoding_table["39381"] = [202,189] let s:lib.Codec.encoding_table["21051"] = [202,190] let s:lib.Codec.encoding_table["21364"] = [202,191] let s:lib.Codec.encoding_table["21508"] = [202,192] let s:lib.Codec.encoding_table["24682"] = [202,193] let s:lib.Codec.encoding_table["24932"] = [202,194] let s:lib.Codec.encoding_table["27580"] = [202,195] let s:lib.Codec.encoding_table["29647"] = [202,196] let s:lib.Codec.encoding_table["33050"] = [202,197] let s:lib.Codec.encoding_table["35258"] = [202,198] let s:lib.Codec.encoding_table["35282"] = [202,199] let s:lib.Codec.encoding_table["38307"] = [202,200] let s:lib.Codec.encoding_table["20355"] = [202,201] let s:lib.Codec.encoding_table["21002"] = [202,202] let s:lib.Codec.encoding_table["22718"] = [202,203] let s:lib.Codec.encoding_table["22904"] = [202,204] let s:lib.Codec.encoding_table["23014"] = [202,205] let s:lib.Codec.encoding_table["24178"] = [202,206] let s:lib.Codec.encoding_table["24185"] = [202,207] let s:lib.Codec.encoding_table["25031"] = [202,208] let s:lib.Codec.encoding_table["25536"] = [202,209] let s:lib.Codec.encoding_table["26438"] = [202,210] let s:lib.Codec.encoding_table["26604"] = [202,211] let s:lib.Codec.encoding_table["26751"] = [202,212] let s:lib.Codec.encoding_table["28567"] = [202,213] let s:lib.Codec.encoding_table["30286"] = [202,214] let s:lib.Codec.encoding_table["30475"] = [202,215] let s:lib.Codec.encoding_table["30965"] = [202,216] let s:lib.Codec.encoding_table["31240"] = [202,217] let s:lib.Codec.encoding_table["31487"] = [202,218] let s:lib.Codec.encoding_table["31777"] = [202,219] let s:lib.Codec.encoding_table["32925"] = [202,220] let s:lib.Codec.encoding_table["33390"] = [202,221] let s:lib.Codec.encoding_table["33393"] = [202,222] let s:lib.Codec.encoding_table["35563"] = [202,223] let s:lib.Codec.encoding_table["38291"] = [202,224] let s:lib.Codec.encoding_table["20075"] = [202,225] let s:lib.Codec.encoding_table["21917"] = [202,226] let s:lib.Codec.encoding_table["26359"] = [202,227] let s:lib.Codec.encoding_table["28212"] = [202,228] let s:lib.Codec.encoding_table["30883"] = [202,229] let s:lib.Codec.encoding_table["31469"] = [202,230] let s:lib.Codec.encoding_table["33883"] = [202,231] let s:lib.Codec.encoding_table["35088"] = [202,232] let s:lib.Codec.encoding_table["34638"] = [202,233] let s:lib.Codec.encoding_table["38824"] = [202,234] let s:lib.Codec.encoding_table["21208"] = [202,235] let s:lib.Codec.encoding_table["22350"] = [202,236] let s:lib.Codec.encoding_table["22570"] = [202,237] let s:lib.Codec.encoding_table["23884"] = [202,238] let s:lib.Codec.encoding_table["24863"] = [202,239] let s:lib.Codec.encoding_table["25022"] = [202,240] let s:lib.Codec.encoding_table["25121"] = [202,241] let s:lib.Codec.encoding_table["25954"] = [202,242] let s:lib.Codec.encoding_table["26577"] = [202,243] let s:lib.Codec.encoding_table["27204"] = [202,244] let s:lib.Codec.encoding_table["28187"] = [202,245] let s:lib.Codec.encoding_table["29976"] = [202,246] let s:lib.Codec.encoding_table["30131"] = [202,247] let s:lib.Codec.encoding_table["30435"] = [202,248] let s:lib.Codec.encoding_table["30640"] = [202,249] let s:lib.Codec.encoding_table["32058"] = [202,250] let s:lib.Codec.encoding_table["37039"] = [202,251] let s:lib.Codec.encoding_table["37969"] = [202,252] let s:lib.Codec.encoding_table["37970"] = [202,253] let s:lib.Codec.encoding_table["40853"] = [202,254] let s:lib.Codec.encoding_table["21283"] = [203,161] let s:lib.Codec.encoding_table["23724"] = [203,162] let s:lib.Codec.encoding_table["30002"] = [203,163] let s:lib.Codec.encoding_table["32987"] = [203,164] let s:lib.Codec.encoding_table["37440"] = [203,165] let s:lib.Codec.encoding_table["38296"] = [203,166] let s:lib.Codec.encoding_table["21083"] = [203,167] let s:lib.Codec.encoding_table["22536"] = [203,168] let s:lib.Codec.encoding_table["23004"] = [203,169] let s:lib.Codec.encoding_table["23713"] = [203,170] let s:lib.Codec.encoding_table["23831"] = [203,171] let s:lib.Codec.encoding_table["24247"] = [203,172] let s:lib.Codec.encoding_table["24378"] = [203,173] let s:lib.Codec.encoding_table["24394"] = [203,174] let s:lib.Codec.encoding_table["24951"] = [203,175] let s:lib.Codec.encoding_table["27743"] = [203,176] let s:lib.Codec.encoding_table["30074"] = [203,177] let s:lib.Codec.encoding_table["30086"] = [203,178] let s:lib.Codec.encoding_table["31968"] = [203,179] let s:lib.Codec.encoding_table["32115"] = [203,180] let s:lib.Codec.encoding_table["32177"] = [203,181] let s:lib.Codec.encoding_table["32652"] = [203,182] let s:lib.Codec.encoding_table["33108"] = [203,183] let s:lib.Codec.encoding_table["33313"] = [203,184] let s:lib.Codec.encoding_table["34193"] = [203,185] let s:lib.Codec.encoding_table["35137"] = [203,186] let s:lib.Codec.encoding_table["35611"] = [203,187] let s:lib.Codec.encoding_table["37628"] = [203,188] let s:lib.Codec.encoding_table["38477"] = [203,189] let s:lib.Codec.encoding_table["40007"] = [203,190] let s:lib.Codec.encoding_table["20171"] = [203,191] let s:lib.Codec.encoding_table["20215"] = [203,192] let s:lib.Codec.encoding_table["20491"] = [203,193] let s:lib.Codec.encoding_table["20977"] = [203,194] let s:lib.Codec.encoding_table["22607"] = [203,195] let s:lib.Codec.encoding_table["24887"] = [203,196] let s:lib.Codec.encoding_table["24894"] = [203,197] let s:lib.Codec.encoding_table["24936"] = [203,198] let s:lib.Codec.encoding_table["25913"] = [203,199] let s:lib.Codec.encoding_table["27114"] = [203,200] let s:lib.Codec.encoding_table["28433"] = [203,201] let s:lib.Codec.encoding_table["30117"] = [203,202] let s:lib.Codec.encoding_table["30342"] = [203,203] let s:lib.Codec.encoding_table["30422"] = [203,204] let s:lib.Codec.encoding_table["31623"] = [203,205] let s:lib.Codec.encoding_table["33445"] = [203,206] let s:lib.Codec.encoding_table["33995"] = [203,207] let s:lib.Codec.encoding_table["63744"] = [203,208] let s:lib.Codec.encoding_table["37799"] = [203,209] let s:lib.Codec.encoding_table["38283"] = [203,210] let s:lib.Codec.encoding_table["21888"] = [203,211] let s:lib.Codec.encoding_table["23458"] = [203,212] let s:lib.Codec.encoding_table["22353"] = [203,213] let s:lib.Codec.encoding_table["63745"] = [203,214] let s:lib.Codec.encoding_table["31923"] = [203,215] let s:lib.Codec.encoding_table["32697"] = [203,216] let s:lib.Codec.encoding_table["37301"] = [203,217] let s:lib.Codec.encoding_table["20520"] = [203,218] let s:lib.Codec.encoding_table["21435"] = [203,219] let s:lib.Codec.encoding_table["23621"] = [203,220] let s:lib.Codec.encoding_table["24040"] = [203,221] let s:lib.Codec.encoding_table["25298"] = [203,222] let s:lib.Codec.encoding_table["25454"] = [203,223] let s:lib.Codec.encoding_table["25818"] = [203,224] let s:lib.Codec.encoding_table["25831"] = [203,225] let s:lib.Codec.encoding_table["28192"] = [203,226] let s:lib.Codec.encoding_table["28844"] = [203,227] let s:lib.Codec.encoding_table["31067"] = [203,228] let s:lib.Codec.encoding_table["36317"] = [203,229] let s:lib.Codec.encoding_table["36382"] = [203,230] let s:lib.Codec.encoding_table["63746"] = [203,231] let s:lib.Codec.encoding_table["36989"] = [203,232] let s:lib.Codec.encoding_table["37445"] = [203,233] let s:lib.Codec.encoding_table["37624"] = [203,234] let s:lib.Codec.encoding_table["20094"] = [203,235] let s:lib.Codec.encoding_table["20214"] = [203,236] let s:lib.Codec.encoding_table["20581"] = [203,237] let s:lib.Codec.encoding_table["24062"] = [203,238] let s:lib.Codec.encoding_table["24314"] = [203,239] let s:lib.Codec.encoding_table["24838"] = [203,240] let s:lib.Codec.encoding_table["26967"] = [203,241] let s:lib.Codec.encoding_table["33137"] = [203,242] let s:lib.Codec.encoding_table["34388"] = [203,243] let s:lib.Codec.encoding_table["36423"] = [203,244] let s:lib.Codec.encoding_table["37749"] = [203,245] let s:lib.Codec.encoding_table["39467"] = [203,246] let s:lib.Codec.encoding_table["20062"] = [203,247] let s:lib.Codec.encoding_table["20625"] = [203,248] let s:lib.Codec.encoding_table["26480"] = [203,249] let s:lib.Codec.encoding_table["26688"] = [203,250] let s:lib.Codec.encoding_table["20745"] = [203,251] let s:lib.Codec.encoding_table["21133"] = [203,252] let s:lib.Codec.encoding_table["21138"] = [203,253] let s:lib.Codec.encoding_table["27298"] = [203,254] let s:lib.Codec.encoding_table["30652"] = [204,161] let s:lib.Codec.encoding_table["37392"] = [204,162] let s:lib.Codec.encoding_table["40660"] = [204,163] let s:lib.Codec.encoding_table["21163"] = [204,164] let s:lib.Codec.encoding_table["24623"] = [204,165] let s:lib.Codec.encoding_table["36850"] = [204,166] let s:lib.Codec.encoding_table["20552"] = [204,167] let s:lib.Codec.encoding_table["25001"] = [204,168] let s:lib.Codec.encoding_table["25581"] = [204,169] let s:lib.Codec.encoding_table["25802"] = [204,170] let s:lib.Codec.encoding_table["26684"] = [204,171] let s:lib.Codec.encoding_table["27268"] = [204,172] let s:lib.Codec.encoding_table["28608"] = [204,173] let s:lib.Codec.encoding_table["33160"] = [204,174] let s:lib.Codec.encoding_table["35233"] = [204,175] let s:lib.Codec.encoding_table["38548"] = [204,176] let s:lib.Codec.encoding_table["22533"] = [204,177] let s:lib.Codec.encoding_table["29309"] = [204,178] let s:lib.Codec.encoding_table["29356"] = [204,179] let s:lib.Codec.encoding_table["29956"] = [204,180] let s:lib.Codec.encoding_table["32121"] = [204,181] let s:lib.Codec.encoding_table["32365"] = [204,182] let s:lib.Codec.encoding_table["32937"] = [204,183] let s:lib.Codec.encoding_table["35211"] = [204,184] let s:lib.Codec.encoding_table["35700"] = [204,185] let s:lib.Codec.encoding_table["36963"] = [204,186] let s:lib.Codec.encoding_table["40273"] = [204,187] let s:lib.Codec.encoding_table["25225"] = [204,188] let s:lib.Codec.encoding_table["27770"] = [204,189] let s:lib.Codec.encoding_table["28500"] = [204,190] let s:lib.Codec.encoding_table["32080"] = [204,191] let s:lib.Codec.encoding_table["32570"] = [204,192] let s:lib.Codec.encoding_table["35363"] = [204,193] let s:lib.Codec.encoding_table["20860"] = [204,194] let s:lib.Codec.encoding_table["24906"] = [204,195] let s:lib.Codec.encoding_table["31645"] = [204,196] let s:lib.Codec.encoding_table["35609"] = [204,197] let s:lib.Codec.encoding_table["37463"] = [204,198] let s:lib.Codec.encoding_table["37772"] = [204,199] let s:lib.Codec.encoding_table["20140"] = [204,200] let s:lib.Codec.encoding_table["20435"] = [204,201] let s:lib.Codec.encoding_table["20510"] = [204,202] let s:lib.Codec.encoding_table["20670"] = [204,203] let s:lib.Codec.encoding_table["20742"] = [204,204] let s:lib.Codec.encoding_table["21185"] = [204,205] let s:lib.Codec.encoding_table["21197"] = [204,206] let s:lib.Codec.encoding_table["21375"] = [204,207] let s:lib.Codec.encoding_table["22384"] = [204,208] let s:lib.Codec.encoding_table["22659"] = [204,209] let s:lib.Codec.encoding_table["24218"] = [204,210] let s:lib.Codec.encoding_table["24465"] = [204,211] let s:lib.Codec.encoding_table["24950"] = [204,212] let s:lib.Codec.encoding_table["25004"] = [204,213] let s:lib.Codec.encoding_table["25806"] = [204,214] let s:lib.Codec.encoding_table["25964"] = [204,215] let s:lib.Codec.encoding_table["26223"] = [204,216] let s:lib.Codec.encoding_table["26299"] = [204,217] let s:lib.Codec.encoding_table["26356"] = [204,218] let s:lib.Codec.encoding_table["26775"] = [204,219] let s:lib.Codec.encoding_table["28039"] = [204,220] let s:lib.Codec.encoding_table["28805"] = [204,221] let s:lib.Codec.encoding_table["28913"] = [204,222] let s:lib.Codec.encoding_table["29855"] = [204,223] let s:lib.Codec.encoding_table["29861"] = [204,224] let s:lib.Codec.encoding_table["29898"] = [204,225] let s:lib.Codec.encoding_table["30169"] = [204,226] let s:lib.Codec.encoding_table["30828"] = [204,227] let s:lib.Codec.encoding_table["30956"] = [204,228] let s:lib.Codec.encoding_table["31455"] = [204,229] let s:lib.Codec.encoding_table["31478"] = [204,230] let s:lib.Codec.encoding_table["32069"] = [204,231] let s:lib.Codec.encoding_table["32147"] = [204,232] let s:lib.Codec.encoding_table["32789"] = [204,233] let s:lib.Codec.encoding_table["32831"] = [204,234] let s:lib.Codec.encoding_table["33051"] = [204,235] let s:lib.Codec.encoding_table["33686"] = [204,236] let s:lib.Codec.encoding_table["35686"] = [204,237] let s:lib.Codec.encoding_table["36629"] = [204,238] let s:lib.Codec.encoding_table["36885"] = [204,239] let s:lib.Codec.encoding_table["37857"] = [204,240] let s:lib.Codec.encoding_table["38915"] = [204,241] let s:lib.Codec.encoding_table["38968"] = [204,242] let s:lib.Codec.encoding_table["39514"] = [204,243] let s:lib.Codec.encoding_table["39912"] = [204,244] let s:lib.Codec.encoding_table["20418"] = [204,245] let s:lib.Codec.encoding_table["21843"] = [204,246] let s:lib.Codec.encoding_table["22586"] = [204,247] let s:lib.Codec.encoding_table["22865"] = [204,248] let s:lib.Codec.encoding_table["23395"] = [204,249] let s:lib.Codec.encoding_table["23622"] = [204,250] let s:lib.Codec.encoding_table["24760"] = [204,251] let s:lib.Codec.encoding_table["25106"] = [204,252] let s:lib.Codec.encoding_table["26690"] = [204,253] let s:lib.Codec.encoding_table["26800"] = [204,254] let s:lib.Codec.encoding_table["26856"] = [205,161] let s:lib.Codec.encoding_table["28330"] = [205,162] let s:lib.Codec.encoding_table["30028"] = [205,163] let s:lib.Codec.encoding_table["30328"] = [205,164] let s:lib.Codec.encoding_table["30926"] = [205,165] let s:lib.Codec.encoding_table["31293"] = [205,166] let s:lib.Codec.encoding_table["31995"] = [205,167] let s:lib.Codec.encoding_table["32363"] = [205,168] let s:lib.Codec.encoding_table["32380"] = [205,169] let s:lib.Codec.encoding_table["35336"] = [205,170] let s:lib.Codec.encoding_table["35489"] = [205,171] let s:lib.Codec.encoding_table["35903"] = [205,172] let s:lib.Codec.encoding_table["38542"] = [205,173] let s:lib.Codec.encoding_table["40388"] = [205,174] let s:lib.Codec.encoding_table["21476"] = [205,175] let s:lib.Codec.encoding_table["21481"] = [205,176] let s:lib.Codec.encoding_table["21578"] = [205,177] let s:lib.Codec.encoding_table["21617"] = [205,178] let s:lib.Codec.encoding_table["22266"] = [205,179] let s:lib.Codec.encoding_table["22993"] = [205,180] let s:lib.Codec.encoding_table["23396"] = [205,181] let s:lib.Codec.encoding_table["23611"] = [205,182] let s:lib.Codec.encoding_table["24235"] = [205,183] let s:lib.Codec.encoding_table["25335"] = [205,184] let s:lib.Codec.encoding_table["25911"] = [205,185] let s:lib.Codec.encoding_table["25925"] = [205,186] let s:lib.Codec.encoding_table["25970"] = [205,187] let s:lib.Codec.encoding_table["26272"] = [205,188] let s:lib.Codec.encoding_table["26543"] = [205,189] let s:lib.Codec.encoding_table["27073"] = [205,190] let s:lib.Codec.encoding_table["27837"] = [205,191] let s:lib.Codec.encoding_table["30204"] = [205,192] let s:lib.Codec.encoding_table["30352"] = [205,193] let s:lib.Codec.encoding_table["30590"] = [205,194] let s:lib.Codec.encoding_table["31295"] = [205,195] let s:lib.Codec.encoding_table["32660"] = [205,196] let s:lib.Codec.encoding_table["32771"] = [205,197] let s:lib.Codec.encoding_table["32929"] = [205,198] let s:lib.Codec.encoding_table["33167"] = [205,199] let s:lib.Codec.encoding_table["33510"] = [205,200] let s:lib.Codec.encoding_table["33533"] = [205,201] let s:lib.Codec.encoding_table["33776"] = [205,202] let s:lib.Codec.encoding_table["34241"] = [205,203] let s:lib.Codec.encoding_table["34865"] = [205,204] let s:lib.Codec.encoding_table["34996"] = [205,205] let s:lib.Codec.encoding_table["35493"] = [205,206] let s:lib.Codec.encoding_table["63747"] = [205,207] let s:lib.Codec.encoding_table["36764"] = [205,208] let s:lib.Codec.encoding_table["37678"] = [205,209] let s:lib.Codec.encoding_table["38599"] = [205,210] let s:lib.Codec.encoding_table["39015"] = [205,211] let s:lib.Codec.encoding_table["39640"] = [205,212] let s:lib.Codec.encoding_table["40723"] = [205,213] let s:lib.Codec.encoding_table["21741"] = [205,214] let s:lib.Codec.encoding_table["26011"] = [205,215] let s:lib.Codec.encoding_table["26354"] = [205,216] let s:lib.Codec.encoding_table["26767"] = [205,217] let s:lib.Codec.encoding_table["31296"] = [205,218] let s:lib.Codec.encoding_table["35895"] = [205,219] let s:lib.Codec.encoding_table["40288"] = [205,220] let s:lib.Codec.encoding_table["22256"] = [205,221] let s:lib.Codec.encoding_table["22372"] = [205,222] let s:lib.Codec.encoding_table["23825"] = [205,223] let s:lib.Codec.encoding_table["26118"] = [205,224] let s:lib.Codec.encoding_table["26801"] = [205,225] let s:lib.Codec.encoding_table["26829"] = [205,226] let s:lib.Codec.encoding_table["28414"] = [205,227] let s:lib.Codec.encoding_table["29736"] = [205,228] let s:lib.Codec.encoding_table["34974"] = [205,229] let s:lib.Codec.encoding_table["39908"] = [205,230] let s:lib.Codec.encoding_table["27752"] = [205,231] let s:lib.Codec.encoding_table["63748"] = [205,232] let s:lib.Codec.encoding_table["39592"] = [205,233] let s:lib.Codec.encoding_table["20379"] = [205,234] let s:lib.Codec.encoding_table["20844"] = [205,235] let s:lib.Codec.encoding_table["20849"] = [205,236] let s:lib.Codec.encoding_table["21151"] = [205,237] let s:lib.Codec.encoding_table["23380"] = [205,238] let s:lib.Codec.encoding_table["24037"] = [205,239] let s:lib.Codec.encoding_table["24656"] = [205,240] let s:lib.Codec.encoding_table["24685"] = [205,241] let s:lib.Codec.encoding_table["25329"] = [205,242] let s:lib.Codec.encoding_table["25511"] = [205,243] let s:lib.Codec.encoding_table["25915"] = [205,244] let s:lib.Codec.encoding_table["29657"] = [205,245] let s:lib.Codec.encoding_table["31354"] = [205,246] let s:lib.Codec.encoding_table["34467"] = [205,247] let s:lib.Codec.encoding_table["36002"] = [205,248] let s:lib.Codec.encoding_table["38799"] = [205,249] let s:lib.Codec.encoding_table["20018"] = [205,250] let s:lib.Codec.encoding_table["23521"] = [205,251] let s:lib.Codec.encoding_table["25096"] = [205,252] let s:lib.Codec.encoding_table["26524"] = [205,253] let s:lib.Codec.encoding_table["29916"] = [205,254] let s:lib.Codec.encoding_table["31185"] = [206,161] let s:lib.Codec.encoding_table["33747"] = [206,162] let s:lib.Codec.encoding_table["35463"] = [206,163] let s:lib.Codec.encoding_table["35506"] = [206,164] let s:lib.Codec.encoding_table["36328"] = [206,165] let s:lib.Codec.encoding_table["36942"] = [206,166] let s:lib.Codec.encoding_table["37707"] = [206,167] let s:lib.Codec.encoding_table["38982"] = [206,168] let s:lib.Codec.encoding_table["24275"] = [206,169] let s:lib.Codec.encoding_table["27112"] = [206,170] let s:lib.Codec.encoding_table["34303"] = [206,171] let s:lib.Codec.encoding_table["37101"] = [206,172] let s:lib.Codec.encoding_table["63749"] = [206,173] let s:lib.Codec.encoding_table["20896"] = [206,174] let s:lib.Codec.encoding_table["23448"] = [206,175] let s:lib.Codec.encoding_table["23532"] = [206,176] let s:lib.Codec.encoding_table["24931"] = [206,177] let s:lib.Codec.encoding_table["26874"] = [206,178] let s:lib.Codec.encoding_table["27454"] = [206,179] let s:lib.Codec.encoding_table["28748"] = [206,180] let s:lib.Codec.encoding_table["29743"] = [206,181] let s:lib.Codec.encoding_table["29912"] = [206,182] let s:lib.Codec.encoding_table["31649"] = [206,183] let s:lib.Codec.encoding_table["32592"] = [206,184] let s:lib.Codec.encoding_table["33733"] = [206,185] let s:lib.Codec.encoding_table["35264"] = [206,186] let s:lib.Codec.encoding_table["36011"] = [206,187] let s:lib.Codec.encoding_table["38364"] = [206,188] let s:lib.Codec.encoding_table["39208"] = [206,189] let s:lib.Codec.encoding_table["21038"] = [206,190] let s:lib.Codec.encoding_table["24669"] = [206,191] let s:lib.Codec.encoding_table["25324"] = [206,192] let s:lib.Codec.encoding_table["36866"] = [206,193] let s:lib.Codec.encoding_table["20362"] = [206,194] let s:lib.Codec.encoding_table["20809"] = [206,195] let s:lib.Codec.encoding_table["21281"] = [206,196] let s:lib.Codec.encoding_table["22745"] = [206,197] let s:lib.Codec.encoding_table["24291"] = [206,198] let s:lib.Codec.encoding_table["26336"] = [206,199] let s:lib.Codec.encoding_table["27960"] = [206,200] let s:lib.Codec.encoding_table["28826"] = [206,201] let s:lib.Codec.encoding_table["29378"] = [206,202] let s:lib.Codec.encoding_table["29654"] = [206,203] let s:lib.Codec.encoding_table["31568"] = [206,204] let s:lib.Codec.encoding_table["33009"] = [206,205] let s:lib.Codec.encoding_table["37979"] = [206,206] let s:lib.Codec.encoding_table["21350"] = [206,207] let s:lib.Codec.encoding_table["25499"] = [206,208] let s:lib.Codec.encoding_table["32619"] = [206,209] let s:lib.Codec.encoding_table["20054"] = [206,210] let s:lib.Codec.encoding_table["20608"] = [206,211] let s:lib.Codec.encoding_table["22602"] = [206,212] let s:lib.Codec.encoding_table["22750"] = [206,213] let s:lib.Codec.encoding_table["24618"] = [206,214] let s:lib.Codec.encoding_table["24871"] = [206,215] let s:lib.Codec.encoding_table["25296"] = [206,216] let s:lib.Codec.encoding_table["27088"] = [206,217] let s:lib.Codec.encoding_table["39745"] = [206,218] let s:lib.Codec.encoding_table["23439"] = [206,219] let s:lib.Codec.encoding_table["32024"] = [206,220] let s:lib.Codec.encoding_table["32945"] = [206,221] let s:lib.Codec.encoding_table["36703"] = [206,222] let s:lib.Codec.encoding_table["20132"] = [206,223] let s:lib.Codec.encoding_table["20689"] = [206,224] let s:lib.Codec.encoding_table["21676"] = [206,225] let s:lib.Codec.encoding_table["21932"] = [206,226] let s:lib.Codec.encoding_table["23308"] = [206,227] let s:lib.Codec.encoding_table["23968"] = [206,228] let s:lib.Codec.encoding_table["24039"] = [206,229] let s:lib.Codec.encoding_table["25898"] = [206,230] let s:lib.Codec.encoding_table["25934"] = [206,231] let s:lib.Codec.encoding_table["26657"] = [206,232] let s:lib.Codec.encoding_table["27211"] = [206,233] let s:lib.Codec.encoding_table["29409"] = [206,234] let s:lib.Codec.encoding_table["30350"] = [206,235] let s:lib.Codec.encoding_table["30703"] = [206,236] let s:lib.Codec.encoding_table["32094"] = [206,237] let s:lib.Codec.encoding_table["32761"] = [206,238] let s:lib.Codec.encoding_table["33184"] = [206,239] let s:lib.Codec.encoding_table["34126"] = [206,240] let s:lib.Codec.encoding_table["34527"] = [206,241] let s:lib.Codec.encoding_table["36611"] = [206,242] let s:lib.Codec.encoding_table["36686"] = [206,243] let s:lib.Codec.encoding_table["37066"] = [206,244] let s:lib.Codec.encoding_table["39171"] = [206,245] let s:lib.Codec.encoding_table["39509"] = [206,246] let s:lib.Codec.encoding_table["39851"] = [206,247] let s:lib.Codec.encoding_table["19992"] = [206,248] let s:lib.Codec.encoding_table["20037"] = [206,249] let s:lib.Codec.encoding_table["20061"] = [206,250] let s:lib.Codec.encoding_table["20167"] = [206,251] let s:lib.Codec.encoding_table["20465"] = [206,252] let s:lib.Codec.encoding_table["20855"] = [206,253] let s:lib.Codec.encoding_table["21246"] = [206,254] let s:lib.Codec.encoding_table["21312"] = [207,161] let s:lib.Codec.encoding_table["21475"] = [207,162] let s:lib.Codec.encoding_table["21477"] = [207,163] let s:lib.Codec.encoding_table["21646"] = [207,164] let s:lib.Codec.encoding_table["22036"] = [207,165] let s:lib.Codec.encoding_table["22389"] = [207,166] let s:lib.Codec.encoding_table["22434"] = [207,167] let s:lib.Codec.encoding_table["23495"] = [207,168] let s:lib.Codec.encoding_table["23943"] = [207,169] let s:lib.Codec.encoding_table["24272"] = [207,170] let s:lib.Codec.encoding_table["25084"] = [207,171] let s:lib.Codec.encoding_table["25304"] = [207,172] let s:lib.Codec.encoding_table["25937"] = [207,173] let s:lib.Codec.encoding_table["26552"] = [207,174] let s:lib.Codec.encoding_table["26601"] = [207,175] let s:lib.Codec.encoding_table["27083"] = [207,176] let s:lib.Codec.encoding_table["27472"] = [207,177] let s:lib.Codec.encoding_table["27590"] = [207,178] let s:lib.Codec.encoding_table["27628"] = [207,179] let s:lib.Codec.encoding_table["27714"] = [207,180] let s:lib.Codec.encoding_table["28317"] = [207,181] let s:lib.Codec.encoding_table["28792"] = [207,182] let s:lib.Codec.encoding_table["29399"] = [207,183] let s:lib.Codec.encoding_table["29590"] = [207,184] let s:lib.Codec.encoding_table["29699"] = [207,185] let s:lib.Codec.encoding_table["30655"] = [207,186] let s:lib.Codec.encoding_table["30697"] = [207,187] let s:lib.Codec.encoding_table["31350"] = [207,188] let s:lib.Codec.encoding_table["32127"] = [207,189] let s:lib.Codec.encoding_table["32777"] = [207,190] let s:lib.Codec.encoding_table["33276"] = [207,191] let s:lib.Codec.encoding_table["33285"] = [207,192] let s:lib.Codec.encoding_table["33290"] = [207,193] let s:lib.Codec.encoding_table["33503"] = [207,194] let s:lib.Codec.encoding_table["34914"] = [207,195] let s:lib.Codec.encoding_table["35635"] = [207,196] let s:lib.Codec.encoding_table["36092"] = [207,197] let s:lib.Codec.encoding_table["36544"] = [207,198] let s:lib.Codec.encoding_table["36881"] = [207,199] let s:lib.Codec.encoding_table["37041"] = [207,200] let s:lib.Codec.encoding_table["37476"] = [207,201] let s:lib.Codec.encoding_table["37558"] = [207,202] let s:lib.Codec.encoding_table["39378"] = [207,203] let s:lib.Codec.encoding_table["39493"] = [207,204] let s:lib.Codec.encoding_table["40169"] = [207,205] let s:lib.Codec.encoding_table["40407"] = [207,206] let s:lib.Codec.encoding_table["40860"] = [207,207] let s:lib.Codec.encoding_table["22283"] = [207,208] let s:lib.Codec.encoding_table["23616"] = [207,209] let s:lib.Codec.encoding_table["33738"] = [207,210] let s:lib.Codec.encoding_table["38816"] = [207,211] let s:lib.Codec.encoding_table["38827"] = [207,212] let s:lib.Codec.encoding_table["40628"] = [207,213] let s:lib.Codec.encoding_table["21531"] = [207,214] let s:lib.Codec.encoding_table["31384"] = [207,215] let s:lib.Codec.encoding_table["32676"] = [207,216] let s:lib.Codec.encoding_table["35033"] = [207,217] let s:lib.Codec.encoding_table["36557"] = [207,218] let s:lib.Codec.encoding_table["37089"] = [207,219] let s:lib.Codec.encoding_table["22528"] = [207,220] let s:lib.Codec.encoding_table["23624"] = [207,221] let s:lib.Codec.encoding_table["25496"] = [207,222] let s:lib.Codec.encoding_table["31391"] = [207,223] let s:lib.Codec.encoding_table["23470"] = [207,224] let s:lib.Codec.encoding_table["24339"] = [207,225] let s:lib.Codec.encoding_table["31353"] = [207,226] let s:lib.Codec.encoding_table["31406"] = [207,227] let s:lib.Codec.encoding_table["33422"] = [207,228] let s:lib.Codec.encoding_table["36524"] = [207,229] let s:lib.Codec.encoding_table["20518"] = [207,230] let s:lib.Codec.encoding_table["21048"] = [207,231] let s:lib.Codec.encoding_table["21240"] = [207,232] let s:lib.Codec.encoding_table["21367"] = [207,233] let s:lib.Codec.encoding_table["22280"] = [207,234] let s:lib.Codec.encoding_table["25331"] = [207,235] let s:lib.Codec.encoding_table["25458"] = [207,236] let s:lib.Codec.encoding_table["27402"] = [207,237] let s:lib.Codec.encoding_table["28099"] = [207,238] let s:lib.Codec.encoding_table["30519"] = [207,239] let s:lib.Codec.encoding_table["21413"] = [207,240] let s:lib.Codec.encoding_table["29527"] = [207,241] let s:lib.Codec.encoding_table["34152"] = [207,242] let s:lib.Codec.encoding_table["36470"] = [207,243] let s:lib.Codec.encoding_table["38357"] = [207,244] let s:lib.Codec.encoding_table["26426"] = [207,245] let s:lib.Codec.encoding_table["27331"] = [207,246] let s:lib.Codec.encoding_table["28528"] = [207,247] let s:lib.Codec.encoding_table["35437"] = [207,248] let s:lib.Codec.encoding_table["36556"] = [207,249] let s:lib.Codec.encoding_table["39243"] = [207,250] let s:lib.Codec.encoding_table["63750"] = [207,251] let s:lib.Codec.encoding_table["26231"] = [207,252] let s:lib.Codec.encoding_table["27512"] = [207,253] let s:lib.Codec.encoding_table["36020"] = [207,254] let s:lib.Codec.encoding_table["39740"] = [208,161] let s:lib.Codec.encoding_table["63751"] = [208,162] let s:lib.Codec.encoding_table["21483"] = [208,163] let s:lib.Codec.encoding_table["22317"] = [208,164] let s:lib.Codec.encoding_table["22862"] = [208,165] let s:lib.Codec.encoding_table["25542"] = [208,166] let s:lib.Codec.encoding_table["27131"] = [208,167] let s:lib.Codec.encoding_table["29674"] = [208,168] let s:lib.Codec.encoding_table["30789"] = [208,169] let s:lib.Codec.encoding_table["31418"] = [208,170] let s:lib.Codec.encoding_table["31429"] = [208,171] let s:lib.Codec.encoding_table["31998"] = [208,172] let s:lib.Codec.encoding_table["33909"] = [208,173] let s:lib.Codec.encoding_table["35215"] = [208,174] let s:lib.Codec.encoding_table["36211"] = [208,175] let s:lib.Codec.encoding_table["36917"] = [208,176] let s:lib.Codec.encoding_table["38312"] = [208,177] let s:lib.Codec.encoding_table["21243"] = [208,178] let s:lib.Codec.encoding_table["22343"] = [208,179] let s:lib.Codec.encoding_table["30023"] = [208,180] let s:lib.Codec.encoding_table["31584"] = [208,181] let s:lib.Codec.encoding_table["33740"] = [208,182] let s:lib.Codec.encoding_table["37406"] = [208,183] let s:lib.Codec.encoding_table["63752"] = [208,184] let s:lib.Codec.encoding_table["27224"] = [208,185] let s:lib.Codec.encoding_table["20811"] = [208,186] let s:lib.Codec.encoding_table["21067"] = [208,187] let s:lib.Codec.encoding_table["21127"] = [208,188] let s:lib.Codec.encoding_table["25119"] = [208,189] let s:lib.Codec.encoding_table["26840"] = [208,190] let s:lib.Codec.encoding_table["26997"] = [208,191] let s:lib.Codec.encoding_table["38553"] = [208,192] let s:lib.Codec.encoding_table["20677"] = [208,193] let s:lib.Codec.encoding_table["21156"] = [208,194] let s:lib.Codec.encoding_table["21220"] = [208,195] let s:lib.Codec.encoding_table["25027"] = [208,196] let s:lib.Codec.encoding_table["26020"] = [208,197] let s:lib.Codec.encoding_table["26681"] = [208,198] let s:lib.Codec.encoding_table["27135"] = [208,199] let s:lib.Codec.encoding_table["29822"] = [208,200] let s:lib.Codec.encoding_table["31563"] = [208,201] let s:lib.Codec.encoding_table["33465"] = [208,202] let s:lib.Codec.encoding_table["33771"] = [208,203] let s:lib.Codec.encoding_table["35250"] = [208,204] let s:lib.Codec.encoding_table["35641"] = [208,205] let s:lib.Codec.encoding_table["36817"] = [208,206] let s:lib.Codec.encoding_table["39241"] = [208,207] let s:lib.Codec.encoding_table["63753"] = [208,208] let s:lib.Codec.encoding_table["20170"] = [208,209] let s:lib.Codec.encoding_table["22935"] = [208,210] let s:lib.Codec.encoding_table["25810"] = [208,211] let s:lib.Codec.encoding_table["26129"] = [208,212] let s:lib.Codec.encoding_table["27278"] = [208,213] let s:lib.Codec.encoding_table["29748"] = [208,214] let s:lib.Codec.encoding_table["31105"] = [208,215] let s:lib.Codec.encoding_table["31165"] = [208,216] let s:lib.Codec.encoding_table["33449"] = [208,217] let s:lib.Codec.encoding_table["34942"] = [208,218] let s:lib.Codec.encoding_table["34943"] = [208,219] let s:lib.Codec.encoding_table["35167"] = [208,220] let s:lib.Codec.encoding_table["63754"] = [208,221] let s:lib.Codec.encoding_table["37670"] = [208,222] let s:lib.Codec.encoding_table["20235"] = [208,223] let s:lib.Codec.encoding_table["21450"] = [208,224] let s:lib.Codec.encoding_table["24613"] = [208,225] let s:lib.Codec.encoding_table["25201"] = [208,226] let s:lib.Codec.encoding_table["27762"] = [208,227] let s:lib.Codec.encoding_table["32026"] = [208,228] let s:lib.Codec.encoding_table["32102"] = [208,229] let s:lib.Codec.encoding_table["20120"] = [208,230] let s:lib.Codec.encoding_table["20834"] = [208,231] let s:lib.Codec.encoding_table["30684"] = [208,232] let s:lib.Codec.encoding_table["32943"] = [208,233] let s:lib.Codec.encoding_table["20225"] = [208,234] let s:lib.Codec.encoding_table["20238"] = [208,235] let s:lib.Codec.encoding_table["20854"] = [208,236] let s:lib.Codec.encoding_table["20864"] = [208,237] let s:lib.Codec.encoding_table["21980"] = [208,238] let s:lib.Codec.encoding_table["22120"] = [208,239] let s:lib.Codec.encoding_table["22331"] = [208,240] let s:lib.Codec.encoding_table["22522"] = [208,241] let s:lib.Codec.encoding_table["22524"] = [208,242] let s:lib.Codec.encoding_table["22804"] = [208,243] let s:lib.Codec.encoding_table["22855"] = [208,244] let s:lib.Codec.encoding_table["22931"] = [208,245] let s:lib.Codec.encoding_table["23492"] = [208,246] let s:lib.Codec.encoding_table["23696"] = [208,247] let s:lib.Codec.encoding_table["23822"] = [208,248] let s:lib.Codec.encoding_table["24049"] = [208,249] let s:lib.Codec.encoding_table["24190"] = [208,250] let s:lib.Codec.encoding_table["24524"] = [208,251] let s:lib.Codec.encoding_table["25216"] = [208,252] let s:lib.Codec.encoding_table["26071"] = [208,253] let s:lib.Codec.encoding_table["26083"] = [208,254] let s:lib.Codec.encoding_table["26398"] = [209,161] let s:lib.Codec.encoding_table["26399"] = [209,162] let s:lib.Codec.encoding_table["26462"] = [209,163] let s:lib.Codec.encoding_table["26827"] = [209,164] let s:lib.Codec.encoding_table["26820"] = [209,165] let s:lib.Codec.encoding_table["27231"] = [209,166] let s:lib.Codec.encoding_table["27450"] = [209,167] let s:lib.Codec.encoding_table["27683"] = [209,168] let s:lib.Codec.encoding_table["27773"] = [209,169] let s:lib.Codec.encoding_table["27778"] = [209,170] let s:lib.Codec.encoding_table["28103"] = [209,171] let s:lib.Codec.encoding_table["29592"] = [209,172] let s:lib.Codec.encoding_table["29734"] = [209,173] let s:lib.Codec.encoding_table["29738"] = [209,174] let s:lib.Codec.encoding_table["29826"] = [209,175] let s:lib.Codec.encoding_table["29859"] = [209,176] let s:lib.Codec.encoding_table["30072"] = [209,177] let s:lib.Codec.encoding_table["30079"] = [209,178] let s:lib.Codec.encoding_table["30849"] = [209,179] let s:lib.Codec.encoding_table["30959"] = [209,180] let s:lib.Codec.encoding_table["31041"] = [209,181] let s:lib.Codec.encoding_table["31047"] = [209,182] let s:lib.Codec.encoding_table["31048"] = [209,183] let s:lib.Codec.encoding_table["31098"] = [209,184] let s:lib.Codec.encoding_table["31637"] = [209,185] let s:lib.Codec.encoding_table["32000"] = [209,186] let s:lib.Codec.encoding_table["32186"] = [209,187] let s:lib.Codec.encoding_table["32648"] = [209,188] let s:lib.Codec.encoding_table["32774"] = [209,189] let s:lib.Codec.encoding_table["32813"] = [209,190] let s:lib.Codec.encoding_table["32908"] = [209,191] let s:lib.Codec.encoding_table["35352"] = [209,192] let s:lib.Codec.encoding_table["35663"] = [209,193] let s:lib.Codec.encoding_table["35912"] = [209,194] let s:lib.Codec.encoding_table["36215"] = [209,195] let s:lib.Codec.encoding_table["37665"] = [209,196] let s:lib.Codec.encoding_table["37668"] = [209,197] let s:lib.Codec.encoding_table["39138"] = [209,198] let s:lib.Codec.encoding_table["39249"] = [209,199] let s:lib.Codec.encoding_table["39438"] = [209,200] let s:lib.Codec.encoding_table["39439"] = [209,201] let s:lib.Codec.encoding_table["39525"] = [209,202] let s:lib.Codec.encoding_table["40594"] = [209,203] let s:lib.Codec.encoding_table["32202"] = [209,204] let s:lib.Codec.encoding_table["20342"] = [209,205] let s:lib.Codec.encoding_table["21513"] = [209,206] let s:lib.Codec.encoding_table["25326"] = [209,207] let s:lib.Codec.encoding_table["26708"] = [209,208] let s:lib.Codec.encoding_table["37329"] = [209,209] let s:lib.Codec.encoding_table["21931"] = [209,210] let s:lib.Codec.encoding_table["20794"] = [209,211] let s:lib.Codec.encoding_table["63755"] = [209,212] let s:lib.Codec.encoding_table["63756"] = [209,213] let s:lib.Codec.encoding_table["23068"] = [209,214] let s:lib.Codec.encoding_table["25062"] = [209,215] let s:lib.Codec.encoding_table["63757"] = [209,216] let s:lib.Codec.encoding_table["25295"] = [209,217] let s:lib.Codec.encoding_table["25343"] = [209,218] let s:lib.Codec.encoding_table["63758"] = [209,219] let s:lib.Codec.encoding_table["63759"] = [209,220] let s:lib.Codec.encoding_table["63760"] = [209,221] let s:lib.Codec.encoding_table["63761"] = [209,222] let s:lib.Codec.encoding_table["63762"] = [209,223] let s:lib.Codec.encoding_table["63763"] = [209,224] let s:lib.Codec.encoding_table["37027"] = [209,225] let s:lib.Codec.encoding_table["63764"] = [209,226] let s:lib.Codec.encoding_table["63765"] = [209,227] let s:lib.Codec.encoding_table["63766"] = [209,228] let s:lib.Codec.encoding_table["63767"] = [209,229] let s:lib.Codec.encoding_table["63768"] = [209,230] let s:lib.Codec.encoding_table["35582"] = [209,231] let s:lib.Codec.encoding_table["63769"] = [209,232] let s:lib.Codec.encoding_table["63770"] = [209,233] let s:lib.Codec.encoding_table["63771"] = [209,234] let s:lib.Codec.encoding_table["63772"] = [209,235] let s:lib.Codec.encoding_table["26262"] = [209,236] let s:lib.Codec.encoding_table["63773"] = [209,237] let s:lib.Codec.encoding_table["29014"] = [209,238] let s:lib.Codec.encoding_table["63774"] = [209,239] let s:lib.Codec.encoding_table["63775"] = [209,240] let s:lib.Codec.encoding_table["38627"] = [209,241] let s:lib.Codec.encoding_table["63776"] = [209,242] let s:lib.Codec.encoding_table["25423"] = [209,243] let s:lib.Codec.encoding_table["25466"] = [209,244] let s:lib.Codec.encoding_table["21335"] = [209,245] let s:lib.Codec.encoding_table["63777"] = [209,246] let s:lib.Codec.encoding_table["26511"] = [209,247] let s:lib.Codec.encoding_table["26976"] = [209,248] let s:lib.Codec.encoding_table["28275"] = [209,249] let s:lib.Codec.encoding_table["63778"] = [209,250] let s:lib.Codec.encoding_table["30007"] = [209,251] let s:lib.Codec.encoding_table["63779"] = [209,252] let s:lib.Codec.encoding_table["63780"] = [209,253] let s:lib.Codec.encoding_table["63781"] = [209,254] let s:lib.Codec.encoding_table["32013"] = [210,161] let s:lib.Codec.encoding_table["63782"] = [210,162] let s:lib.Codec.encoding_table["63783"] = [210,163] let s:lib.Codec.encoding_table["34930"] = [210,164] let s:lib.Codec.encoding_table["22218"] = [210,165] let s:lib.Codec.encoding_table["23064"] = [210,166] let s:lib.Codec.encoding_table["63784"] = [210,167] let s:lib.Codec.encoding_table["63785"] = [210,168] let s:lib.Codec.encoding_table["63786"] = [210,169] let s:lib.Codec.encoding_table["63787"] = [210,170] let s:lib.Codec.encoding_table["63788"] = [210,171] let s:lib.Codec.encoding_table["20035"] = [210,172] let s:lib.Codec.encoding_table["63789"] = [210,173] let s:lib.Codec.encoding_table["20839"] = [210,174] let s:lib.Codec.encoding_table["22856"] = [210,175] let s:lib.Codec.encoding_table["26608"] = [210,176] let s:lib.Codec.encoding_table["32784"] = [210,177] let s:lib.Codec.encoding_table["63790"] = [210,178] let s:lib.Codec.encoding_table["22899"] = [210,179] let s:lib.Codec.encoding_table["24180"] = [210,180] let s:lib.Codec.encoding_table["25754"] = [210,181] let s:lib.Codec.encoding_table["31178"] = [210,182] let s:lib.Codec.encoding_table["24565"] = [210,183] let s:lib.Codec.encoding_table["24684"] = [210,184] let s:lib.Codec.encoding_table["25288"] = [210,185] let s:lib.Codec.encoding_table["25467"] = [210,186] let s:lib.Codec.encoding_table["23527"] = [210,187] let s:lib.Codec.encoding_table["23511"] = [210,188] let s:lib.Codec.encoding_table["21162"] = [210,189] let s:lib.Codec.encoding_table["63791"] = [210,190] let s:lib.Codec.encoding_table["22900"] = [210,191] let s:lib.Codec.encoding_table["24361"] = [210,192] let s:lib.Codec.encoding_table["24594"] = [210,193] let s:lib.Codec.encoding_table["63792"] = [210,194] let s:lib.Codec.encoding_table["63793"] = [210,195] let s:lib.Codec.encoding_table["63794"] = [210,196] let s:lib.Codec.encoding_table["29785"] = [210,197] let s:lib.Codec.encoding_table["63795"] = [210,198] let s:lib.Codec.encoding_table["63796"] = [210,199] let s:lib.Codec.encoding_table["63797"] = [210,200] let s:lib.Codec.encoding_table["63798"] = [210,201] let s:lib.Codec.encoding_table["63799"] = [210,202] let s:lib.Codec.encoding_table["63800"] = [210,203] let s:lib.Codec.encoding_table["39377"] = [210,204] let s:lib.Codec.encoding_table["63801"] = [210,205] let s:lib.Codec.encoding_table["63802"] = [210,206] let s:lib.Codec.encoding_table["63803"] = [210,207] let s:lib.Codec.encoding_table["63804"] = [210,208] let s:lib.Codec.encoding_table["63805"] = [210,209] let s:lib.Codec.encoding_table["63806"] = [210,210] let s:lib.Codec.encoding_table["63807"] = [210,211] let s:lib.Codec.encoding_table["63808"] = [210,212] let s:lib.Codec.encoding_table["63809"] = [210,213] let s:lib.Codec.encoding_table["63810"] = [210,214] let s:lib.Codec.encoding_table["63811"] = [210,215] let s:lib.Codec.encoding_table["28611"] = [210,216] let s:lib.Codec.encoding_table["63812"] = [210,217] let s:lib.Codec.encoding_table["63813"] = [210,218] let s:lib.Codec.encoding_table["33215"] = [210,219] let s:lib.Codec.encoding_table["36786"] = [210,220] let s:lib.Codec.encoding_table["24817"] = [210,221] let s:lib.Codec.encoding_table["63814"] = [210,222] let s:lib.Codec.encoding_table["63815"] = [210,223] let s:lib.Codec.encoding_table["33126"] = [210,224] let s:lib.Codec.encoding_table["63816"] = [210,225] let s:lib.Codec.encoding_table["63817"] = [210,226] let s:lib.Codec.encoding_table["23615"] = [210,227] let s:lib.Codec.encoding_table["63818"] = [210,228] let s:lib.Codec.encoding_table["63819"] = [210,229] let s:lib.Codec.encoding_table["63820"] = [210,230] let s:lib.Codec.encoding_table["63821"] = [210,231] let s:lib.Codec.encoding_table["63822"] = [210,232] let s:lib.Codec.encoding_table["63823"] = [210,233] let s:lib.Codec.encoding_table["63824"] = [210,234] let s:lib.Codec.encoding_table["63825"] = [210,235] let s:lib.Codec.encoding_table["23273"] = [210,236] let s:lib.Codec.encoding_table["35365"] = [210,237] let s:lib.Codec.encoding_table["26491"] = [210,238] let s:lib.Codec.encoding_table["32016"] = [210,239] let s:lib.Codec.encoding_table["63826"] = [210,240] let s:lib.Codec.encoding_table["63827"] = [210,241] let s:lib.Codec.encoding_table["63828"] = [210,242] let s:lib.Codec.encoding_table["63829"] = [210,243] let s:lib.Codec.encoding_table["63830"] = [210,244] let s:lib.Codec.encoding_table["63831"] = [210,245] let s:lib.Codec.encoding_table["33021"] = [210,246] let s:lib.Codec.encoding_table["63832"] = [210,247] let s:lib.Codec.encoding_table["63833"] = [210,248] let s:lib.Codec.encoding_table["23612"] = [210,249] let s:lib.Codec.encoding_table["27877"] = [210,250] let s:lib.Codec.encoding_table["21311"] = [210,251] let s:lib.Codec.encoding_table["28346"] = [210,252] let s:lib.Codec.encoding_table["22810"] = [210,253] let s:lib.Codec.encoding_table["33590"] = [210,254] let s:lib.Codec.encoding_table["20025"] = [211,161] let s:lib.Codec.encoding_table["20150"] = [211,162] let s:lib.Codec.encoding_table["20294"] = [211,163] let s:lib.Codec.encoding_table["21934"] = [211,164] let s:lib.Codec.encoding_table["22296"] = [211,165] let s:lib.Codec.encoding_table["22727"] = [211,166] let s:lib.Codec.encoding_table["24406"] = [211,167] let s:lib.Codec.encoding_table["26039"] = [211,168] let s:lib.Codec.encoding_table["26086"] = [211,169] let s:lib.Codec.encoding_table["27264"] = [211,170] let s:lib.Codec.encoding_table["27573"] = [211,171] let s:lib.Codec.encoding_table["28237"] = [211,172] let s:lib.Codec.encoding_table["30701"] = [211,173] let s:lib.Codec.encoding_table["31471"] = [211,174] let s:lib.Codec.encoding_table["31774"] = [211,175] let s:lib.Codec.encoding_table["32222"] = [211,176] let s:lib.Codec.encoding_table["34507"] = [211,177] let s:lib.Codec.encoding_table["34962"] = [211,178] let s:lib.Codec.encoding_table["37170"] = [211,179] let s:lib.Codec.encoding_table["37723"] = [211,180] let s:lib.Codec.encoding_table["25787"] = [211,181] let s:lib.Codec.encoding_table["28606"] = [211,182] let s:lib.Codec.encoding_table["29562"] = [211,183] let s:lib.Codec.encoding_table["30136"] = [211,184] let s:lib.Codec.encoding_table["36948"] = [211,185] let s:lib.Codec.encoding_table["21846"] = [211,186] let s:lib.Codec.encoding_table["22349"] = [211,187] let s:lib.Codec.encoding_table["25018"] = [211,188] let s:lib.Codec.encoding_table["25812"] = [211,189] let s:lib.Codec.encoding_table["26311"] = [211,190] let s:lib.Codec.encoding_table["28129"] = [211,191] let s:lib.Codec.encoding_table["28251"] = [211,192] let s:lib.Codec.encoding_table["28525"] = [211,193] let s:lib.Codec.encoding_table["28601"] = [211,194] let s:lib.Codec.encoding_table["30192"] = [211,195] let s:lib.Codec.encoding_table["32835"] = [211,196] let s:lib.Codec.encoding_table["33213"] = [211,197] let s:lib.Codec.encoding_table["34113"] = [211,198] let s:lib.Codec.encoding_table["35203"] = [211,199] let s:lib.Codec.encoding_table["35527"] = [211,200] let s:lib.Codec.encoding_table["35674"] = [211,201] let s:lib.Codec.encoding_table["37663"] = [211,202] let s:lib.Codec.encoding_table["27795"] = [211,203] let s:lib.Codec.encoding_table["30035"] = [211,204] let s:lib.Codec.encoding_table["31572"] = [211,205] let s:lib.Codec.encoding_table["36367"] = [211,206] let s:lib.Codec.encoding_table["36957"] = [211,207] let s:lib.Codec.encoding_table["21776"] = [211,208] let s:lib.Codec.encoding_table["22530"] = [211,209] let s:lib.Codec.encoding_table["22616"] = [211,210] let s:lib.Codec.encoding_table["24162"] = [211,211] let s:lib.Codec.encoding_table["25095"] = [211,212] let s:lib.Codec.encoding_table["25758"] = [211,213] let s:lib.Codec.encoding_table["26848"] = [211,214] let s:lib.Codec.encoding_table["30070"] = [211,215] let s:lib.Codec.encoding_table["31958"] = [211,216] let s:lib.Codec.encoding_table["34739"] = [211,217] let s:lib.Codec.encoding_table["40680"] = [211,218] let s:lib.Codec.encoding_table["20195"] = [211,219] let s:lib.Codec.encoding_table["22408"] = [211,220] let s:lib.Codec.encoding_table["22382"] = [211,221] let s:lib.Codec.encoding_table["22823"] = [211,222] let s:lib.Codec.encoding_table["23565"] = [211,223] let s:lib.Codec.encoding_table["23729"] = [211,224] let s:lib.Codec.encoding_table["24118"] = [211,225] let s:lib.Codec.encoding_table["24453"] = [211,226] let s:lib.Codec.encoding_table["25140"] = [211,227] let s:lib.Codec.encoding_table["25825"] = [211,228] let s:lib.Codec.encoding_table["29619"] = [211,229] let s:lib.Codec.encoding_table["33274"] = [211,230] let s:lib.Codec.encoding_table["34955"] = [211,231] let s:lib.Codec.encoding_table["36024"] = [211,232] let s:lib.Codec.encoding_table["38538"] = [211,233] let s:lib.Codec.encoding_table["40667"] = [211,234] let s:lib.Codec.encoding_table["23429"] = [211,235] let s:lib.Codec.encoding_table["24503"] = [211,236] let s:lib.Codec.encoding_table["24755"] = [211,237] let s:lib.Codec.encoding_table["20498"] = [211,238] let s:lib.Codec.encoding_table["20992"] = [211,239] let s:lib.Codec.encoding_table["21040"] = [211,240] let s:lib.Codec.encoding_table["22294"] = [211,241] let s:lib.Codec.encoding_table["22581"] = [211,242] let s:lib.Codec.encoding_table["22615"] = [211,243] let s:lib.Codec.encoding_table["23566"] = [211,244] let s:lib.Codec.encoding_table["23648"] = [211,245] let s:lib.Codec.encoding_table["23798"] = [211,246] let s:lib.Codec.encoding_table["23947"] = [211,247] let s:lib.Codec.encoding_table["24230"] = [211,248] let s:lib.Codec.encoding_table["24466"] = [211,249] let s:lib.Codec.encoding_table["24764"] = [211,250] let s:lib.Codec.encoding_table["25361"] = [211,251] let s:lib.Codec.encoding_table["25481"] = [211,252] let s:lib.Codec.encoding_table["25623"] = [211,253] let s:lib.Codec.encoding_table["26691"] = [211,254] let s:lib.Codec.encoding_table["26873"] = [212,161] let s:lib.Codec.encoding_table["27330"] = [212,162] let s:lib.Codec.encoding_table["28120"] = [212,163] let s:lib.Codec.encoding_table["28193"] = [212,164] let s:lib.Codec.encoding_table["28372"] = [212,165] let s:lib.Codec.encoding_table["28644"] = [212,166] let s:lib.Codec.encoding_table["29182"] = [212,167] let s:lib.Codec.encoding_table["30428"] = [212,168] let s:lib.Codec.encoding_table["30585"] = [212,169] let s:lib.Codec.encoding_table["31153"] = [212,170] let s:lib.Codec.encoding_table["31291"] = [212,171] let s:lib.Codec.encoding_table["33796"] = [212,172] let s:lib.Codec.encoding_table["35241"] = [212,173] let s:lib.Codec.encoding_table["36077"] = [212,174] let s:lib.Codec.encoding_table["36339"] = [212,175] let s:lib.Codec.encoding_table["36424"] = [212,176] let s:lib.Codec.encoding_table["36867"] = [212,177] let s:lib.Codec.encoding_table["36884"] = [212,178] let s:lib.Codec.encoding_table["36947"] = [212,179] let s:lib.Codec.encoding_table["37117"] = [212,180] let s:lib.Codec.encoding_table["37709"] = [212,181] let s:lib.Codec.encoding_table["38518"] = [212,182] let s:lib.Codec.encoding_table["38876"] = [212,183] let s:lib.Codec.encoding_table["27602"] = [212,184] let s:lib.Codec.encoding_table["28678"] = [212,185] let s:lib.Codec.encoding_table["29272"] = [212,186] let s:lib.Codec.encoding_table["29346"] = [212,187] let s:lib.Codec.encoding_table["29544"] = [212,188] let s:lib.Codec.encoding_table["30563"] = [212,189] let s:lib.Codec.encoding_table["31167"] = [212,190] let s:lib.Codec.encoding_table["31716"] = [212,191] let s:lib.Codec.encoding_table["32411"] = [212,192] let s:lib.Codec.encoding_table["35712"] = [212,193] let s:lib.Codec.encoding_table["22697"] = [212,194] let s:lib.Codec.encoding_table["24775"] = [212,195] let s:lib.Codec.encoding_table["25958"] = [212,196] let s:lib.Codec.encoding_table["26109"] = [212,197] let s:lib.Codec.encoding_table["26302"] = [212,198] let s:lib.Codec.encoding_table["27788"] = [212,199] let s:lib.Codec.encoding_table["28958"] = [212,200] let s:lib.Codec.encoding_table["29129"] = [212,201] let s:lib.Codec.encoding_table["35930"] = [212,202] let s:lib.Codec.encoding_table["38931"] = [212,203] let s:lib.Codec.encoding_table["20077"] = [212,204] let s:lib.Codec.encoding_table["31361"] = [212,205] let s:lib.Codec.encoding_table["20189"] = [212,206] let s:lib.Codec.encoding_table["20908"] = [212,207] let s:lib.Codec.encoding_table["20941"] = [212,208] let s:lib.Codec.encoding_table["21205"] = [212,209] let s:lib.Codec.encoding_table["21516"] = [212,210] let s:lib.Codec.encoding_table["24999"] = [212,211] let s:lib.Codec.encoding_table["26481"] = [212,212] let s:lib.Codec.encoding_table["26704"] = [212,213] let s:lib.Codec.encoding_table["26847"] = [212,214] let s:lib.Codec.encoding_table["27934"] = [212,215] let s:lib.Codec.encoding_table["28540"] = [212,216] let s:lib.Codec.encoding_table["30140"] = [212,217] let s:lib.Codec.encoding_table["30643"] = [212,218] let s:lib.Codec.encoding_table["31461"] = [212,219] let s:lib.Codec.encoding_table["33012"] = [212,220] let s:lib.Codec.encoding_table["33891"] = [212,221] let s:lib.Codec.encoding_table["37509"] = [212,222] let s:lib.Codec.encoding_table["20828"] = [212,223] let s:lib.Codec.encoding_table["26007"] = [212,224] let s:lib.Codec.encoding_table["26460"] = [212,225] let s:lib.Codec.encoding_table["26515"] = [212,226] let s:lib.Codec.encoding_table["30168"] = [212,227] let s:lib.Codec.encoding_table["31431"] = [212,228] let s:lib.Codec.encoding_table["33651"] = [212,229] let s:lib.Codec.encoding_table["63834"] = [212,230] let s:lib.Codec.encoding_table["35910"] = [212,231] let s:lib.Codec.encoding_table["36887"] = [212,232] let s:lib.Codec.encoding_table["38957"] = [212,233] let s:lib.Codec.encoding_table["23663"] = [212,234] let s:lib.Codec.encoding_table["33216"] = [212,235] let s:lib.Codec.encoding_table["33434"] = [212,236] let s:lib.Codec.encoding_table["36929"] = [212,237] let s:lib.Codec.encoding_table["36975"] = [212,238] let s:lib.Codec.encoding_table["37389"] = [212,239] let s:lib.Codec.encoding_table["24471"] = [212,240] let s:lib.Codec.encoding_table["23965"] = [212,241] let s:lib.Codec.encoding_table["27225"] = [212,242] let s:lib.Codec.encoding_table["29128"] = [212,243] let s:lib.Codec.encoding_table["30331"] = [212,244] let s:lib.Codec.encoding_table["31561"] = [212,245] let s:lib.Codec.encoding_table["34276"] = [212,246] let s:lib.Codec.encoding_table["35588"] = [212,247] let s:lib.Codec.encoding_table["37159"] = [212,248] let s:lib.Codec.encoding_table["39472"] = [212,249] let s:lib.Codec.encoding_table["21895"] = [212,250] let s:lib.Codec.encoding_table["25078"] = [212,251] let s:lib.Codec.encoding_table["63835"] = [212,252] let s:lib.Codec.encoding_table["30313"] = [212,253] let s:lib.Codec.encoding_table["32645"] = [212,254] let s:lib.Codec.encoding_table["34367"] = [213,161] let s:lib.Codec.encoding_table["34746"] = [213,162] let s:lib.Codec.encoding_table["35064"] = [213,163] let s:lib.Codec.encoding_table["37007"] = [213,164] let s:lib.Codec.encoding_table["63836"] = [213,165] let s:lib.Codec.encoding_table["27931"] = [213,166] let s:lib.Codec.encoding_table["28889"] = [213,167] let s:lib.Codec.encoding_table["29662"] = [213,168] let s:lib.Codec.encoding_table["32097"] = [213,169] let s:lib.Codec.encoding_table["33853"] = [213,170] let s:lib.Codec.encoding_table["63837"] = [213,171] let s:lib.Codec.encoding_table["37226"] = [213,172] let s:lib.Codec.encoding_table["39409"] = [213,173] let s:lib.Codec.encoding_table["63838"] = [213,174] let s:lib.Codec.encoding_table["20098"] = [213,175] let s:lib.Codec.encoding_table["21365"] = [213,176] let s:lib.Codec.encoding_table["27396"] = [213,177] let s:lib.Codec.encoding_table["27410"] = [213,178] let s:lib.Codec.encoding_table["28734"] = [213,179] let s:lib.Codec.encoding_table["29211"] = [213,180] let s:lib.Codec.encoding_table["34349"] = [213,181] let s:lib.Codec.encoding_table["40478"] = [213,182] let s:lib.Codec.encoding_table["21068"] = [213,183] let s:lib.Codec.encoding_table["36771"] = [213,184] let s:lib.Codec.encoding_table["23888"] = [213,185] let s:lib.Codec.encoding_table["25829"] = [213,186] let s:lib.Codec.encoding_table["25900"] = [213,187] let s:lib.Codec.encoding_table["27414"] = [213,188] let s:lib.Codec.encoding_table["28651"] = [213,189] let s:lib.Codec.encoding_table["31811"] = [213,190] let s:lib.Codec.encoding_table["32412"] = [213,191] let s:lib.Codec.encoding_table["34253"] = [213,192] let s:lib.Codec.encoding_table["35172"] = [213,193] let s:lib.Codec.encoding_table["35261"] = [213,194] let s:lib.Codec.encoding_table["25289"] = [213,195] let s:lib.Codec.encoding_table["33240"] = [213,196] let s:lib.Codec.encoding_table["34847"] = [213,197] let s:lib.Codec.encoding_table["24266"] = [213,198] let s:lib.Codec.encoding_table["26391"] = [213,199] let s:lib.Codec.encoding_table["28010"] = [213,200] let s:lib.Codec.encoding_table["29436"] = [213,201] let s:lib.Codec.encoding_table["29701"] = [213,202] let s:lib.Codec.encoding_table["29807"] = [213,203] let s:lib.Codec.encoding_table["34690"] = [213,204] let s:lib.Codec.encoding_table["37086"] = [213,205] let s:lib.Codec.encoding_table["20358"] = [213,206] let s:lib.Codec.encoding_table["23821"] = [213,207] let s:lib.Codec.encoding_table["24480"] = [213,208] let s:lib.Codec.encoding_table["33802"] = [213,209] let s:lib.Codec.encoding_table["20919"] = [213,210] let s:lib.Codec.encoding_table["25504"] = [213,211] let s:lib.Codec.encoding_table["30053"] = [213,212] let s:lib.Codec.encoding_table["20142"] = [213,213] let s:lib.Codec.encoding_table["20486"] = [213,214] let s:lib.Codec.encoding_table["20841"] = [213,215] let s:lib.Codec.encoding_table["20937"] = [213,216] let s:lib.Codec.encoding_table["26753"] = [213,217] let s:lib.Codec.encoding_table["27153"] = [213,218] let s:lib.Codec.encoding_table["31918"] = [213,219] let s:lib.Codec.encoding_table["31921"] = [213,220] let s:lib.Codec.encoding_table["31975"] = [213,221] let s:lib.Codec.encoding_table["33391"] = [213,222] let s:lib.Codec.encoding_table["35538"] = [213,223] let s:lib.Codec.encoding_table["36635"] = [213,224] let s:lib.Codec.encoding_table["37327"] = [213,225] let s:lib.Codec.encoding_table["20406"] = [213,226] let s:lib.Codec.encoding_table["20791"] = [213,227] let s:lib.Codec.encoding_table["21237"] = [213,228] let s:lib.Codec.encoding_table["21570"] = [213,229] let s:lib.Codec.encoding_table["24300"] = [213,230] let s:lib.Codec.encoding_table["24942"] = [213,231] let s:lib.Codec.encoding_table["25150"] = [213,232] let s:lib.Codec.encoding_table["26053"] = [213,233] let s:lib.Codec.encoding_table["27354"] = [213,234] let s:lib.Codec.encoding_table["28670"] = [213,235] let s:lib.Codec.encoding_table["31018"] = [213,236] let s:lib.Codec.encoding_table["34268"] = [213,237] let s:lib.Codec.encoding_table["34851"] = [213,238] let s:lib.Codec.encoding_table["38317"] = [213,239] let s:lib.Codec.encoding_table["39522"] = [213,240] let s:lib.Codec.encoding_table["39530"] = [213,241] let s:lib.Codec.encoding_table["40599"] = [213,242] let s:lib.Codec.encoding_table["40654"] = [213,243] let s:lib.Codec.encoding_table["21147"] = [213,244] let s:lib.Codec.encoding_table["26310"] = [213,245] let s:lib.Codec.encoding_table["27511"] = [213,246] let s:lib.Codec.encoding_table["28701"] = [213,247] let s:lib.Codec.encoding_table["31019"] = [213,248] let s:lib.Codec.encoding_table["36706"] = [213,249] let s:lib.Codec.encoding_table["38722"] = [213,250] let s:lib.Codec.encoding_table["24976"] = [213,251] let s:lib.Codec.encoding_table["25088"] = [213,252] let s:lib.Codec.encoding_table["25891"] = [213,253] let s:lib.Codec.encoding_table["28451"] = [213,254] let s:lib.Codec.encoding_table["29001"] = [214,161] let s:lib.Codec.encoding_table["29833"] = [214,162] let s:lib.Codec.encoding_table["32244"] = [214,163] let s:lib.Codec.encoding_table["32879"] = [214,164] let s:lib.Codec.encoding_table["34030"] = [214,165] let s:lib.Codec.encoding_table["36646"] = [214,166] let s:lib.Codec.encoding_table["36899"] = [214,167] let s:lib.Codec.encoding_table["37706"] = [214,168] let s:lib.Codec.encoding_table["20925"] = [214,169] let s:lib.Codec.encoding_table["21015"] = [214,170] let s:lib.Codec.encoding_table["21155"] = [214,171] let s:lib.Codec.encoding_table["27916"] = [214,172] let s:lib.Codec.encoding_table["28872"] = [214,173] let s:lib.Codec.encoding_table["35010"] = [214,174] let s:lib.Codec.encoding_table["24265"] = [214,175] let s:lib.Codec.encoding_table["25986"] = [214,176] let s:lib.Codec.encoding_table["27566"] = [214,177] let s:lib.Codec.encoding_table["28610"] = [214,178] let s:lib.Codec.encoding_table["31806"] = [214,179] let s:lib.Codec.encoding_table["29557"] = [214,180] let s:lib.Codec.encoding_table["20196"] = [214,181] let s:lib.Codec.encoding_table["20278"] = [214,182] let s:lib.Codec.encoding_table["22265"] = [214,183] let s:lib.Codec.encoding_table["63839"] = [214,184] let s:lib.Codec.encoding_table["23738"] = [214,185] let s:lib.Codec.encoding_table["23994"] = [214,186] let s:lib.Codec.encoding_table["24604"] = [214,187] let s:lib.Codec.encoding_table["29618"] = [214,188] let s:lib.Codec.encoding_table["31533"] = [214,189] let s:lib.Codec.encoding_table["32666"] = [214,190] let s:lib.Codec.encoding_table["32718"] = [214,191] let s:lib.Codec.encoding_table["32838"] = [214,192] let s:lib.Codec.encoding_table["36894"] = [214,193] let s:lib.Codec.encoding_table["37428"] = [214,194] let s:lib.Codec.encoding_table["38646"] = [214,195] let s:lib.Codec.encoding_table["38728"] = [214,196] let s:lib.Codec.encoding_table["38936"] = [214,197] let s:lib.Codec.encoding_table["40801"] = [214,198] let s:lib.Codec.encoding_table["20363"] = [214,199] let s:lib.Codec.encoding_table["28583"] = [214,200] let s:lib.Codec.encoding_table["31150"] = [214,201] let s:lib.Codec.encoding_table["37300"] = [214,202] let s:lib.Codec.encoding_table["38583"] = [214,203] let s:lib.Codec.encoding_table["21214"] = [214,204] let s:lib.Codec.encoding_table["63840"] = [214,205] let s:lib.Codec.encoding_table["25736"] = [214,206] let s:lib.Codec.encoding_table["25796"] = [214,207] let s:lib.Codec.encoding_table["27347"] = [214,208] let s:lib.Codec.encoding_table["28510"] = [214,209] let s:lib.Codec.encoding_table["28696"] = [214,210] let s:lib.Codec.encoding_table["29200"] = [214,211] let s:lib.Codec.encoding_table["30439"] = [214,212] let s:lib.Codec.encoding_table["32769"] = [214,213] let s:lib.Codec.encoding_table["34310"] = [214,214] let s:lib.Codec.encoding_table["34396"] = [214,215] let s:lib.Codec.encoding_table["36335"] = [214,216] let s:lib.Codec.encoding_table["36613"] = [214,217] let s:lib.Codec.encoding_table["38706"] = [214,218] let s:lib.Codec.encoding_table["39791"] = [214,219] let s:lib.Codec.encoding_table["40442"] = [214,220] let s:lib.Codec.encoding_table["40565"] = [214,221] let s:lib.Codec.encoding_table["30860"] = [214,222] let s:lib.Codec.encoding_table["31103"] = [214,223] let s:lib.Codec.encoding_table["32160"] = [214,224] let s:lib.Codec.encoding_table["33737"] = [214,225] let s:lib.Codec.encoding_table["37636"] = [214,226] let s:lib.Codec.encoding_table["40575"] = [214,227] let s:lib.Codec.encoding_table["40595"] = [214,228] let s:lib.Codec.encoding_table["35542"] = [214,229] let s:lib.Codec.encoding_table["22751"] = [214,230] let s:lib.Codec.encoding_table["24324"] = [214,231] let s:lib.Codec.encoding_table["26407"] = [214,232] let s:lib.Codec.encoding_table["28711"] = [214,233] let s:lib.Codec.encoding_table["29903"] = [214,234] let s:lib.Codec.encoding_table["31840"] = [214,235] let s:lib.Codec.encoding_table["32894"] = [214,236] let s:lib.Codec.encoding_table["20769"] = [214,237] let s:lib.Codec.encoding_table["28712"] = [214,238] let s:lib.Codec.encoding_table["29282"] = [214,239] let s:lib.Codec.encoding_table["30922"] = [214,240] let s:lib.Codec.encoding_table["36034"] = [214,241] let s:lib.Codec.encoding_table["36058"] = [214,242] let s:lib.Codec.encoding_table["36084"] = [214,243] let s:lib.Codec.encoding_table["38647"] = [214,244] let s:lib.Codec.encoding_table["20102"] = [214,245] let s:lib.Codec.encoding_table["20698"] = [214,246] let s:lib.Codec.encoding_table["23534"] = [214,247] let s:lib.Codec.encoding_table["24278"] = [214,248] let s:lib.Codec.encoding_table["26009"] = [214,249] let s:lib.Codec.encoding_table["29134"] = [214,250] let s:lib.Codec.encoding_table["30274"] = [214,251] let s:lib.Codec.encoding_table["30637"] = [214,252] let s:lib.Codec.encoding_table["32842"] = [214,253] let s:lib.Codec.encoding_table["34044"] = [214,254] let s:lib.Codec.encoding_table["36988"] = [215,161] let s:lib.Codec.encoding_table["39719"] = [215,162] let s:lib.Codec.encoding_table["40845"] = [215,163] let s:lib.Codec.encoding_table["22744"] = [215,164] let s:lib.Codec.encoding_table["23105"] = [215,165] let s:lib.Codec.encoding_table["23650"] = [215,166] let s:lib.Codec.encoding_table["27155"] = [215,167] let s:lib.Codec.encoding_table["28122"] = [215,168] let s:lib.Codec.encoding_table["28431"] = [215,169] let s:lib.Codec.encoding_table["30267"] = [215,170] let s:lib.Codec.encoding_table["32047"] = [215,171] let s:lib.Codec.encoding_table["32311"] = [215,172] let s:lib.Codec.encoding_table["34078"] = [215,173] let s:lib.Codec.encoding_table["35128"] = [215,174] let s:lib.Codec.encoding_table["37860"] = [215,175] let s:lib.Codec.encoding_table["38475"] = [215,176] let s:lib.Codec.encoding_table["21129"] = [215,177] let s:lib.Codec.encoding_table["26066"] = [215,178] let s:lib.Codec.encoding_table["26611"] = [215,179] let s:lib.Codec.encoding_table["27060"] = [215,180] let s:lib.Codec.encoding_table["27969"] = [215,181] let s:lib.Codec.encoding_table["28316"] = [215,182] let s:lib.Codec.encoding_table["28687"] = [215,183] let s:lib.Codec.encoding_table["29705"] = [215,184] let s:lib.Codec.encoding_table["29792"] = [215,185] let s:lib.Codec.encoding_table["30041"] = [215,186] let s:lib.Codec.encoding_table["30244"] = [215,187] let s:lib.Codec.encoding_table["30827"] = [215,188] let s:lib.Codec.encoding_table["35628"] = [215,189] let s:lib.Codec.encoding_table["39006"] = [215,190] let s:lib.Codec.encoding_table["20845"] = [215,191] let s:lib.Codec.encoding_table["25134"] = [215,192] let s:lib.Codec.encoding_table["38520"] = [215,193] let s:lib.Codec.encoding_table["20374"] = [215,194] let s:lib.Codec.encoding_table["20523"] = [215,195] let s:lib.Codec.encoding_table["23833"] = [215,196] let s:lib.Codec.encoding_table["28138"] = [215,197] let s:lib.Codec.encoding_table["32184"] = [215,198] let s:lib.Codec.encoding_table["36650"] = [215,199] let s:lib.Codec.encoding_table["24459"] = [215,200] let s:lib.Codec.encoding_table["24900"] = [215,201] let s:lib.Codec.encoding_table["26647"] = [215,202] let s:lib.Codec.encoding_table["63841"] = [215,203] let s:lib.Codec.encoding_table["38534"] = [215,204] let s:lib.Codec.encoding_table["21202"] = [215,205] let s:lib.Codec.encoding_table["32907"] = [215,206] let s:lib.Codec.encoding_table["20956"] = [215,207] let s:lib.Codec.encoding_table["20940"] = [215,208] let s:lib.Codec.encoding_table["26974"] = [215,209] let s:lib.Codec.encoding_table["31260"] = [215,210] let s:lib.Codec.encoding_table["32190"] = [215,211] let s:lib.Codec.encoding_table["33777"] = [215,212] let s:lib.Codec.encoding_table["38517"] = [215,213] let s:lib.Codec.encoding_table["20442"] = [215,214] let s:lib.Codec.encoding_table["21033"] = [215,215] let s:lib.Codec.encoding_table["21400"] = [215,216] let s:lib.Codec.encoding_table["21519"] = [215,217] let s:lib.Codec.encoding_table["21774"] = [215,218] let s:lib.Codec.encoding_table["23653"] = [215,219] let s:lib.Codec.encoding_table["24743"] = [215,220] let s:lib.Codec.encoding_table["26446"] = [215,221] let s:lib.Codec.encoding_table["26792"] = [215,222] let s:lib.Codec.encoding_table["28012"] = [215,223] let s:lib.Codec.encoding_table["29313"] = [215,224] let s:lib.Codec.encoding_table["29432"] = [215,225] let s:lib.Codec.encoding_table["29702"] = [215,226] let s:lib.Codec.encoding_table["29827"] = [215,227] let s:lib.Codec.encoding_table["63842"] = [215,228] let s:lib.Codec.encoding_table["30178"] = [215,229] let s:lib.Codec.encoding_table["31852"] = [215,230] let s:lib.Codec.encoding_table["32633"] = [215,231] let s:lib.Codec.encoding_table["32696"] = [215,232] let s:lib.Codec.encoding_table["33673"] = [215,233] let s:lib.Codec.encoding_table["35023"] = [215,234] let s:lib.Codec.encoding_table["35041"] = [215,235] let s:lib.Codec.encoding_table["37324"] = [215,236] let s:lib.Codec.encoding_table["37328"] = [215,237] let s:lib.Codec.encoding_table["38626"] = [215,238] let s:lib.Codec.encoding_table["39881"] = [215,239] let s:lib.Codec.encoding_table["21533"] = [215,240] let s:lib.Codec.encoding_table["28542"] = [215,241] let s:lib.Codec.encoding_table["29136"] = [215,242] let s:lib.Codec.encoding_table["29848"] = [215,243] let s:lib.Codec.encoding_table["34298"] = [215,244] let s:lib.Codec.encoding_table["36522"] = [215,245] let s:lib.Codec.encoding_table["38563"] = [215,246] let s:lib.Codec.encoding_table["40023"] = [215,247] let s:lib.Codec.encoding_table["40607"] = [215,248] let s:lib.Codec.encoding_table["26519"] = [215,249] let s:lib.Codec.encoding_table["28107"] = [215,250] let s:lib.Codec.encoding_table["29747"] = [215,251] let s:lib.Codec.encoding_table["33256"] = [215,252] let s:lib.Codec.encoding_table["38678"] = [215,253] let s:lib.Codec.encoding_table["30764"] = [215,254] let s:lib.Codec.encoding_table["31435"] = [216,161] let s:lib.Codec.encoding_table["31520"] = [216,162] let s:lib.Codec.encoding_table["31890"] = [216,163] let s:lib.Codec.encoding_table["25705"] = [216,164] let s:lib.Codec.encoding_table["29802"] = [216,165] let s:lib.Codec.encoding_table["30194"] = [216,166] let s:lib.Codec.encoding_table["30908"] = [216,167] let s:lib.Codec.encoding_table["30952"] = [216,168] let s:lib.Codec.encoding_table["39340"] = [216,169] let s:lib.Codec.encoding_table["39764"] = [216,170] let s:lib.Codec.encoding_table["40635"] = [216,171] let s:lib.Codec.encoding_table["23518"] = [216,172] let s:lib.Codec.encoding_table["24149"] = [216,173] let s:lib.Codec.encoding_table["28448"] = [216,174] let s:lib.Codec.encoding_table["33180"] = [216,175] let s:lib.Codec.encoding_table["33707"] = [216,176] let s:lib.Codec.encoding_table["37000"] = [216,177] let s:lib.Codec.encoding_table["19975"] = [216,178] let s:lib.Codec.encoding_table["21325"] = [216,179] let s:lib.Codec.encoding_table["23081"] = [216,180] let s:lib.Codec.encoding_table["24018"] = [216,181] let s:lib.Codec.encoding_table["24398"] = [216,182] let s:lib.Codec.encoding_table["24930"] = [216,183] let s:lib.Codec.encoding_table["25405"] = [216,184] let s:lib.Codec.encoding_table["26217"] = [216,185] let s:lib.Codec.encoding_table["26364"] = [216,186] let s:lib.Codec.encoding_table["28415"] = [216,187] let s:lib.Codec.encoding_table["28459"] = [216,188] let s:lib.Codec.encoding_table["28771"] = [216,189] let s:lib.Codec.encoding_table["30622"] = [216,190] let s:lib.Codec.encoding_table["33836"] = [216,191] let s:lib.Codec.encoding_table["34067"] = [216,192] let s:lib.Codec.encoding_table["34875"] = [216,193] let s:lib.Codec.encoding_table["36627"] = [216,194] let s:lib.Codec.encoding_table["39237"] = [216,195] let s:lib.Codec.encoding_table["39995"] = [216,196] let s:lib.Codec.encoding_table["21788"] = [216,197] let s:lib.Codec.encoding_table["25273"] = [216,198] let s:lib.Codec.encoding_table["26411"] = [216,199] let s:lib.Codec.encoding_table["27819"] = [216,200] let s:lib.Codec.encoding_table["33545"] = [216,201] let s:lib.Codec.encoding_table["35178"] = [216,202] let s:lib.Codec.encoding_table["38778"] = [216,203] let s:lib.Codec.encoding_table["20129"] = [216,204] let s:lib.Codec.encoding_table["22916"] = [216,205] let s:lib.Codec.encoding_table["24536"] = [216,206] let s:lib.Codec.encoding_table["24537"] = [216,207] let s:lib.Codec.encoding_table["26395"] = [216,208] let s:lib.Codec.encoding_table["32178"] = [216,209] let s:lib.Codec.encoding_table["32596"] = [216,210] let s:lib.Codec.encoding_table["33426"] = [216,211] let s:lib.Codec.encoding_table["33579"] = [216,212] let s:lib.Codec.encoding_table["33725"] = [216,213] let s:lib.Codec.encoding_table["36638"] = [216,214] let s:lib.Codec.encoding_table["37017"] = [216,215] let s:lib.Codec.encoding_table["22475"] = [216,216] let s:lib.Codec.encoding_table["22969"] = [216,217] let s:lib.Codec.encoding_table["23186"] = [216,218] let s:lib.Codec.encoding_table["23504"] = [216,219] let s:lib.Codec.encoding_table["26151"] = [216,220] let s:lib.Codec.encoding_table["26522"] = [216,221] let s:lib.Codec.encoding_table["26757"] = [216,222] let s:lib.Codec.encoding_table["27599"] = [216,223] let s:lib.Codec.encoding_table["29028"] = [216,224] let s:lib.Codec.encoding_table["32629"] = [216,225] let s:lib.Codec.encoding_table["36023"] = [216,226] let s:lib.Codec.encoding_table["36067"] = [216,227] let s:lib.Codec.encoding_table["36993"] = [216,228] let s:lib.Codec.encoding_table["39749"] = [216,229] let s:lib.Codec.encoding_table["33032"] = [216,230] let s:lib.Codec.encoding_table["35978"] = [216,231] let s:lib.Codec.encoding_table["38476"] = [216,232] let s:lib.Codec.encoding_table["39488"] = [216,233] let s:lib.Codec.encoding_table["40613"] = [216,234] let s:lib.Codec.encoding_table["23391"] = [216,235] let s:lib.Codec.encoding_table["27667"] = [216,236] let s:lib.Codec.encoding_table["29467"] = [216,237] let s:lib.Codec.encoding_table["30450"] = [216,238] let s:lib.Codec.encoding_table["30431"] = [216,239] let s:lib.Codec.encoding_table["33804"] = [216,240] let s:lib.Codec.encoding_table["20906"] = [216,241] let s:lib.Codec.encoding_table["35219"] = [216,242] let s:lib.Codec.encoding_table["20813"] = [216,243] let s:lib.Codec.encoding_table["20885"] = [216,244] let s:lib.Codec.encoding_table["21193"] = [216,245] let s:lib.Codec.encoding_table["26825"] = [216,246] let s:lib.Codec.encoding_table["27796"] = [216,247] let s:lib.Codec.encoding_table["30468"] = [216,248] let s:lib.Codec.encoding_table["30496"] = [216,249] let s:lib.Codec.encoding_table["32191"] = [216,250] let s:lib.Codec.encoding_table["32236"] = [216,251] let s:lib.Codec.encoding_table["38754"] = [216,252] let s:lib.Codec.encoding_table["40629"] = [216,253] let s:lib.Codec.encoding_table["28357"] = [216,254] let s:lib.Codec.encoding_table["34065"] = [217,161] let s:lib.Codec.encoding_table["20901"] = [217,162] let s:lib.Codec.encoding_table["21517"] = [217,163] let s:lib.Codec.encoding_table["21629"] = [217,164] let s:lib.Codec.encoding_table["26126"] = [217,165] let s:lib.Codec.encoding_table["26269"] = [217,166] let s:lib.Codec.encoding_table["26919"] = [217,167] let s:lib.Codec.encoding_table["28319"] = [217,168] let s:lib.Codec.encoding_table["30399"] = [217,169] let s:lib.Codec.encoding_table["30609"] = [217,170] let s:lib.Codec.encoding_table["33559"] = [217,171] let s:lib.Codec.encoding_table["33986"] = [217,172] let s:lib.Codec.encoding_table["34719"] = [217,173] let s:lib.Codec.encoding_table["37225"] = [217,174] let s:lib.Codec.encoding_table["37528"] = [217,175] let s:lib.Codec.encoding_table["40180"] = [217,176] let s:lib.Codec.encoding_table["34946"] = [217,177] let s:lib.Codec.encoding_table["20398"] = [217,178] let s:lib.Codec.encoding_table["20882"] = [217,179] let s:lib.Codec.encoding_table["21215"] = [217,180] let s:lib.Codec.encoding_table["22982"] = [217,181] let s:lib.Codec.encoding_table["24125"] = [217,182] let s:lib.Codec.encoding_table["24917"] = [217,183] let s:lib.Codec.encoding_table["25720"] = [217,184] let s:lib.Codec.encoding_table["25721"] = [217,185] let s:lib.Codec.encoding_table["26286"] = [217,186] let s:lib.Codec.encoding_table["26576"] = [217,187] let s:lib.Codec.encoding_table["27169"] = [217,188] let s:lib.Codec.encoding_table["27597"] = [217,189] let s:lib.Codec.encoding_table["27611"] = [217,190] let s:lib.Codec.encoding_table["29279"] = [217,191] let s:lib.Codec.encoding_table["29281"] = [217,192] let s:lib.Codec.encoding_table["29761"] = [217,193] let s:lib.Codec.encoding_table["30520"] = [217,194] let s:lib.Codec.encoding_table["30683"] = [217,195] let s:lib.Codec.encoding_table["32791"] = [217,196] let s:lib.Codec.encoding_table["33468"] = [217,197] let s:lib.Codec.encoding_table["33541"] = [217,198] let s:lib.Codec.encoding_table["35584"] = [217,199] let s:lib.Codec.encoding_table["35624"] = [217,200] let s:lib.Codec.encoding_table["35980"] = [217,201] let s:lib.Codec.encoding_table["26408"] = [217,202] let s:lib.Codec.encoding_table["27792"] = [217,203] let s:lib.Codec.encoding_table["29287"] = [217,204] let s:lib.Codec.encoding_table["30446"] = [217,205] let s:lib.Codec.encoding_table["30566"] = [217,206] let s:lib.Codec.encoding_table["31302"] = [217,207] let s:lib.Codec.encoding_table["40361"] = [217,208] let s:lib.Codec.encoding_table["27519"] = [217,209] let s:lib.Codec.encoding_table["27794"] = [217,210] let s:lib.Codec.encoding_table["22818"] = [217,211] let s:lib.Codec.encoding_table["26406"] = [217,212] let s:lib.Codec.encoding_table["33945"] = [217,213] let s:lib.Codec.encoding_table["21359"] = [217,214] let s:lib.Codec.encoding_table["22675"] = [217,215] let s:lib.Codec.encoding_table["22937"] = [217,216] let s:lib.Codec.encoding_table["24287"] = [217,217] let s:lib.Codec.encoding_table["25551"] = [217,218] let s:lib.Codec.encoding_table["26164"] = [217,219] let s:lib.Codec.encoding_table["26483"] = [217,220] let s:lib.Codec.encoding_table["28218"] = [217,221] let s:lib.Codec.encoding_table["29483"] = [217,222] let s:lib.Codec.encoding_table["31447"] = [217,223] let s:lib.Codec.encoding_table["33495"] = [217,224] let s:lib.Codec.encoding_table["37672"] = [217,225] let s:lib.Codec.encoding_table["21209"] = [217,226] let s:lib.Codec.encoding_table["24043"] = [217,227] let s:lib.Codec.encoding_table["25006"] = [217,228] let s:lib.Codec.encoding_table["25035"] = [217,229] let s:lib.Codec.encoding_table["25098"] = [217,230] let s:lib.Codec.encoding_table["25287"] = [217,231] let s:lib.Codec.encoding_table["25771"] = [217,232] let s:lib.Codec.encoding_table["26080"] = [217,233] let s:lib.Codec.encoding_table["26969"] = [217,234] let s:lib.Codec.encoding_table["27494"] = [217,235] let s:lib.Codec.encoding_table["27595"] = [217,236] let s:lib.Codec.encoding_table["28961"] = [217,237] let s:lib.Codec.encoding_table["29687"] = [217,238] let s:lib.Codec.encoding_table["30045"] = [217,239] let s:lib.Codec.encoding_table["32326"] = [217,240] let s:lib.Codec.encoding_table["33310"] = [217,241] let s:lib.Codec.encoding_table["33538"] = [217,242] let s:lib.Codec.encoding_table["34154"] = [217,243] let s:lib.Codec.encoding_table["35491"] = [217,244] let s:lib.Codec.encoding_table["36031"] = [217,245] let s:lib.Codec.encoding_table["38695"] = [217,246] let s:lib.Codec.encoding_table["40289"] = [217,247] let s:lib.Codec.encoding_table["22696"] = [217,248] let s:lib.Codec.encoding_table["40664"] = [217,249] let s:lib.Codec.encoding_table["20497"] = [217,250] let s:lib.Codec.encoding_table["21006"] = [217,251] let s:lib.Codec.encoding_table["21563"] = [217,252] let s:lib.Codec.encoding_table["21839"] = [217,253] let s:lib.Codec.encoding_table["25991"] = [217,254] let s:lib.Codec.encoding_table["27766"] = [218,161] let s:lib.Codec.encoding_table["32010"] = [218,162] let s:lib.Codec.encoding_table["32011"] = [218,163] let s:lib.Codec.encoding_table["32862"] = [218,164] let s:lib.Codec.encoding_table["34442"] = [218,165] let s:lib.Codec.encoding_table["38272"] = [218,166] let s:lib.Codec.encoding_table["38639"] = [218,167] let s:lib.Codec.encoding_table["21247"] = [218,168] let s:lib.Codec.encoding_table["27797"] = [218,169] let s:lib.Codec.encoding_table["29289"] = [218,170] let s:lib.Codec.encoding_table["21619"] = [218,171] let s:lib.Codec.encoding_table["23194"] = [218,172] let s:lib.Codec.encoding_table["23614"] = [218,173] let s:lib.Codec.encoding_table["23883"] = [218,174] let s:lib.Codec.encoding_table["24396"] = [218,175] let s:lib.Codec.encoding_table["24494"] = [218,176] let s:lib.Codec.encoding_table["26410"] = [218,177] let s:lib.Codec.encoding_table["26806"] = [218,178] let s:lib.Codec.encoding_table["26979"] = [218,179] let s:lib.Codec.encoding_table["28220"] = [218,180] let s:lib.Codec.encoding_table["28228"] = [218,181] let s:lib.Codec.encoding_table["30473"] = [218,182] let s:lib.Codec.encoding_table["31859"] = [218,183] let s:lib.Codec.encoding_table["32654"] = [218,184] let s:lib.Codec.encoding_table["34183"] = [218,185] let s:lib.Codec.encoding_table["35598"] = [218,186] let s:lib.Codec.encoding_table["36855"] = [218,187] let s:lib.Codec.encoding_table["38753"] = [218,188] let s:lib.Codec.encoding_table["40692"] = [218,189] let s:lib.Codec.encoding_table["23735"] = [218,190] let s:lib.Codec.encoding_table["24758"] = [218,191] let s:lib.Codec.encoding_table["24845"] = [218,192] let s:lib.Codec.encoding_table["25003"] = [218,193] let s:lib.Codec.encoding_table["25935"] = [218,194] let s:lib.Codec.encoding_table["26107"] = [218,195] let s:lib.Codec.encoding_table["26108"] = [218,196] let s:lib.Codec.encoding_table["27665"] = [218,197] let s:lib.Codec.encoding_table["27887"] = [218,198] let s:lib.Codec.encoding_table["29599"] = [218,199] let s:lib.Codec.encoding_table["29641"] = [218,200] let s:lib.Codec.encoding_table["32225"] = [218,201] let s:lib.Codec.encoding_table["38292"] = [218,202] let s:lib.Codec.encoding_table["23494"] = [218,203] let s:lib.Codec.encoding_table["34588"] = [218,204] let s:lib.Codec.encoding_table["35600"] = [218,205] let s:lib.Codec.encoding_table["21085"] = [218,206] let s:lib.Codec.encoding_table["21338"] = [218,207] let s:lib.Codec.encoding_table["25293"] = [218,208] let s:lib.Codec.encoding_table["25615"] = [218,209] let s:lib.Codec.encoding_table["25778"] = [218,210] let s:lib.Codec.encoding_table["26420"] = [218,211] let s:lib.Codec.encoding_table["27192"] = [218,212] let s:lib.Codec.encoding_table["27850"] = [218,213] let s:lib.Codec.encoding_table["29632"] = [218,214] let s:lib.Codec.encoding_table["29854"] = [218,215] let s:lib.Codec.encoding_table["31636"] = [218,216] let s:lib.Codec.encoding_table["31893"] = [218,217] let s:lib.Codec.encoding_table["32283"] = [218,218] let s:lib.Codec.encoding_table["33162"] = [218,219] let s:lib.Codec.encoding_table["33334"] = [218,220] let s:lib.Codec.encoding_table["34180"] = [218,221] let s:lib.Codec.encoding_table["36843"] = [218,222] let s:lib.Codec.encoding_table["38649"] = [218,223] let s:lib.Codec.encoding_table["39361"] = [218,224] let s:lib.Codec.encoding_table["20276"] = [218,225] let s:lib.Codec.encoding_table["21322"] = [218,226] let s:lib.Codec.encoding_table["21453"] = [218,227] let s:lib.Codec.encoding_table["21467"] = [218,228] let s:lib.Codec.encoding_table["25292"] = [218,229] let s:lib.Codec.encoding_table["25644"] = [218,230] let s:lib.Codec.encoding_table["25856"] = [218,231] let s:lib.Codec.encoding_table["26001"] = [218,232] let s:lib.Codec.encoding_table["27075"] = [218,233] let s:lib.Codec.encoding_table["27886"] = [218,234] let s:lib.Codec.encoding_table["28504"] = [218,235] let s:lib.Codec.encoding_table["29677"] = [218,236] let s:lib.Codec.encoding_table["30036"] = [218,237] let s:lib.Codec.encoding_table["30242"] = [218,238] let s:lib.Codec.encoding_table["30436"] = [218,239] let s:lib.Codec.encoding_table["30460"] = [218,240] let s:lib.Codec.encoding_table["30928"] = [218,241] let s:lib.Codec.encoding_table["30971"] = [218,242] let s:lib.Codec.encoding_table["31020"] = [218,243] let s:lib.Codec.encoding_table["32070"] = [218,244] let s:lib.Codec.encoding_table["33324"] = [218,245] let s:lib.Codec.encoding_table["34784"] = [218,246] let s:lib.Codec.encoding_table["36820"] = [218,247] let s:lib.Codec.encoding_table["38930"] = [218,248] let s:lib.Codec.encoding_table["39151"] = [218,249] let s:lib.Codec.encoding_table["21187"] = [218,250] let s:lib.Codec.encoding_table["25300"] = [218,251] let s:lib.Codec.encoding_table["25765"] = [218,252] let s:lib.Codec.encoding_table["28196"] = [218,253] let s:lib.Codec.encoding_table["28497"] = [218,254] let s:lib.Codec.encoding_table["30332"] = [219,161] let s:lib.Codec.encoding_table["36299"] = [219,162] let s:lib.Codec.encoding_table["37297"] = [219,163] let s:lib.Codec.encoding_table["37474"] = [219,164] let s:lib.Codec.encoding_table["39662"] = [219,165] let s:lib.Codec.encoding_table["39747"] = [219,166] let s:lib.Codec.encoding_table["20515"] = [219,167] let s:lib.Codec.encoding_table["20621"] = [219,168] let s:lib.Codec.encoding_table["22346"] = [219,169] let s:lib.Codec.encoding_table["22952"] = [219,170] let s:lib.Codec.encoding_table["23592"] = [219,171] let s:lib.Codec.encoding_table["24135"] = [219,172] let s:lib.Codec.encoding_table["24439"] = [219,173] let s:lib.Codec.encoding_table["25151"] = [219,174] let s:lib.Codec.encoding_table["25918"] = [219,175] let s:lib.Codec.encoding_table["26041"] = [219,176] let s:lib.Codec.encoding_table["26049"] = [219,177] let s:lib.Codec.encoding_table["26121"] = [219,178] let s:lib.Codec.encoding_table["26507"] = [219,179] let s:lib.Codec.encoding_table["27036"] = [219,180] let s:lib.Codec.encoding_table["28354"] = [219,181] let s:lib.Codec.encoding_table["30917"] = [219,182] let s:lib.Codec.encoding_table["32033"] = [219,183] let s:lib.Codec.encoding_table["32938"] = [219,184] let s:lib.Codec.encoding_table["33152"] = [219,185] let s:lib.Codec.encoding_table["33323"] = [219,186] let s:lib.Codec.encoding_table["33459"] = [219,187] let s:lib.Codec.encoding_table["33953"] = [219,188] let s:lib.Codec.encoding_table["34444"] = [219,189] let s:lib.Codec.encoding_table["35370"] = [219,190] let s:lib.Codec.encoding_table["35607"] = [219,191] let s:lib.Codec.encoding_table["37030"] = [219,192] let s:lib.Codec.encoding_table["38450"] = [219,193] let s:lib.Codec.encoding_table["40848"] = [219,194] let s:lib.Codec.encoding_table["20493"] = [219,195] let s:lib.Codec.encoding_table["20467"] = [219,196] let s:lib.Codec.encoding_table["63843"] = [219,197] let s:lib.Codec.encoding_table["22521"] = [219,198] let s:lib.Codec.encoding_table["24472"] = [219,199] let s:lib.Codec.encoding_table["25308"] = [219,200] let s:lib.Codec.encoding_table["25490"] = [219,201] let s:lib.Codec.encoding_table["26479"] = [219,202] let s:lib.Codec.encoding_table["28227"] = [219,203] let s:lib.Codec.encoding_table["28953"] = [219,204] let s:lib.Codec.encoding_table["30403"] = [219,205] let s:lib.Codec.encoding_table["32972"] = [219,206] let s:lib.Codec.encoding_table["32986"] = [219,207] let s:lib.Codec.encoding_table["35060"] = [219,208] let s:lib.Codec.encoding_table["35061"] = [219,209] let s:lib.Codec.encoding_table["35097"] = [219,210] let s:lib.Codec.encoding_table["36064"] = [219,211] let s:lib.Codec.encoding_table["36649"] = [219,212] let s:lib.Codec.encoding_table["37197"] = [219,213] let s:lib.Codec.encoding_table["38506"] = [219,214] let s:lib.Codec.encoding_table["20271"] = [219,215] let s:lib.Codec.encoding_table["20336"] = [219,216] let s:lib.Codec.encoding_table["24091"] = [219,217] let s:lib.Codec.encoding_table["26575"] = [219,218] let s:lib.Codec.encoding_table["26658"] = [219,219] let s:lib.Codec.encoding_table["30333"] = [219,220] let s:lib.Codec.encoding_table["30334"] = [219,221] let s:lib.Codec.encoding_table["39748"] = [219,222] let s:lib.Codec.encoding_table["24161"] = [219,223] let s:lib.Codec.encoding_table["27146"] = [219,224] let s:lib.Codec.encoding_table["29033"] = [219,225] let s:lib.Codec.encoding_table["29140"] = [219,226] let s:lib.Codec.encoding_table["30058"] = [219,227] let s:lib.Codec.encoding_table["63844"] = [219,228] let s:lib.Codec.encoding_table["32321"] = [219,229] let s:lib.Codec.encoding_table["34115"] = [219,230] let s:lib.Codec.encoding_table["34281"] = [219,231] let s:lib.Codec.encoding_table["39132"] = [219,232] let s:lib.Codec.encoding_table["20240"] = [219,233] let s:lib.Codec.encoding_table["31567"] = [219,234] let s:lib.Codec.encoding_table["32624"] = [219,235] let s:lib.Codec.encoding_table["38309"] = [219,236] let s:lib.Codec.encoding_table["20961"] = [219,237] let s:lib.Codec.encoding_table["24070"] = [219,238] let s:lib.Codec.encoding_table["26805"] = [219,239] let s:lib.Codec.encoding_table["27710"] = [219,240] let s:lib.Codec.encoding_table["27726"] = [219,241] let s:lib.Codec.encoding_table["27867"] = [219,242] let s:lib.Codec.encoding_table["29359"] = [219,243] let s:lib.Codec.encoding_table["31684"] = [219,244] let s:lib.Codec.encoding_table["33539"] = [219,245] let s:lib.Codec.encoding_table["27861"] = [219,246] let s:lib.Codec.encoding_table["29754"] = [219,247] let s:lib.Codec.encoding_table["20731"] = [219,248] let s:lib.Codec.encoding_table["21128"] = [219,249] let s:lib.Codec.encoding_table["22721"] = [219,250] let s:lib.Codec.encoding_table["25816"] = [219,251] let s:lib.Codec.encoding_table["27287"] = [219,252] let s:lib.Codec.encoding_table["29863"] = [219,253] let s:lib.Codec.encoding_table["30294"] = [219,254] let s:lib.Codec.encoding_table["30887"] = [220,161] let s:lib.Codec.encoding_table["34327"] = [220,162] let s:lib.Codec.encoding_table["38370"] = [220,163] let s:lib.Codec.encoding_table["38713"] = [220,164] let s:lib.Codec.encoding_table["63845"] = [220,165] let s:lib.Codec.encoding_table["21342"] = [220,166] let s:lib.Codec.encoding_table["24321"] = [220,167] let s:lib.Codec.encoding_table["35722"] = [220,168] let s:lib.Codec.encoding_table["36776"] = [220,169] let s:lib.Codec.encoding_table["36783"] = [220,170] let s:lib.Codec.encoding_table["37002"] = [220,171] let s:lib.Codec.encoding_table["21029"] = [220,172] let s:lib.Codec.encoding_table["30629"] = [220,173] let s:lib.Codec.encoding_table["40009"] = [220,174] let s:lib.Codec.encoding_table["40712"] = [220,175] let s:lib.Codec.encoding_table["19993"] = [220,176] let s:lib.Codec.encoding_table["20482"] = [220,177] let s:lib.Codec.encoding_table["20853"] = [220,178] let s:lib.Codec.encoding_table["23643"] = [220,179] let s:lib.Codec.encoding_table["24183"] = [220,180] let s:lib.Codec.encoding_table["26142"] = [220,181] let s:lib.Codec.encoding_table["26170"] = [220,182] let s:lib.Codec.encoding_table["26564"] = [220,183] let s:lib.Codec.encoding_table["26821"] = [220,184] let s:lib.Codec.encoding_table["28851"] = [220,185] let s:lib.Codec.encoding_table["29953"] = [220,186] let s:lib.Codec.encoding_table["30149"] = [220,187] let s:lib.Codec.encoding_table["31177"] = [220,188] let s:lib.Codec.encoding_table["31453"] = [220,189] let s:lib.Codec.encoding_table["36647"] = [220,190] let s:lib.Codec.encoding_table["39200"] = [220,191] let s:lib.Codec.encoding_table["39432"] = [220,192] let s:lib.Codec.encoding_table["20445"] = [220,193] let s:lib.Codec.encoding_table["22561"] = [220,194] let s:lib.Codec.encoding_table["22577"] = [220,195] let s:lib.Codec.encoding_table["23542"] = [220,196] let s:lib.Codec.encoding_table["26222"] = [220,197] let s:lib.Codec.encoding_table["27493"] = [220,198] let s:lib.Codec.encoding_table["27921"] = [220,199] let s:lib.Codec.encoding_table["28282"] = [220,200] let s:lib.Codec.encoding_table["28541"] = [220,201] let s:lib.Codec.encoding_table["29668"] = [220,202] let s:lib.Codec.encoding_table["29995"] = [220,203] let s:lib.Codec.encoding_table["33769"] = [220,204] let s:lib.Codec.encoding_table["35036"] = [220,205] let s:lib.Codec.encoding_table["35091"] = [220,206] let s:lib.Codec.encoding_table["35676"] = [220,207] let s:lib.Codec.encoding_table["36628"] = [220,208] let s:lib.Codec.encoding_table["20239"] = [220,209] let s:lib.Codec.encoding_table["20693"] = [220,210] let s:lib.Codec.encoding_table["21264"] = [220,211] let s:lib.Codec.encoding_table["21340"] = [220,212] let s:lib.Codec.encoding_table["23443"] = [220,213] let s:lib.Codec.encoding_table["24489"] = [220,214] let s:lib.Codec.encoding_table["26381"] = [220,215] let s:lib.Codec.encoding_table["31119"] = [220,216] let s:lib.Codec.encoding_table["33145"] = [220,217] let s:lib.Codec.encoding_table["33583"] = [220,218] let s:lib.Codec.encoding_table["34068"] = [220,219] let s:lib.Codec.encoding_table["35079"] = [220,220] let s:lib.Codec.encoding_table["35206"] = [220,221] let s:lib.Codec.encoding_table["36665"] = [220,222] let s:lib.Codec.encoding_table["36667"] = [220,223] let s:lib.Codec.encoding_table["39333"] = [220,224] let s:lib.Codec.encoding_table["39954"] = [220,225] let s:lib.Codec.encoding_table["26412"] = [220,226] let s:lib.Codec.encoding_table["20086"] = [220,227] let s:lib.Codec.encoding_table["20472"] = [220,228] let s:lib.Codec.encoding_table["22857"] = [220,229] let s:lib.Codec.encoding_table["23553"] = [220,230] let s:lib.Codec.encoding_table["23791"] = [220,231] let s:lib.Codec.encoding_table["23792"] = [220,232] let s:lib.Codec.encoding_table["25447"] = [220,233] let s:lib.Codec.encoding_table["26834"] = [220,234] let s:lib.Codec.encoding_table["28925"] = [220,235] let s:lib.Codec.encoding_table["29090"] = [220,236] let s:lib.Codec.encoding_table["29739"] = [220,237] let s:lib.Codec.encoding_table["32299"] = [220,238] let s:lib.Codec.encoding_table["34028"] = [220,239] let s:lib.Codec.encoding_table["34562"] = [220,240] let s:lib.Codec.encoding_table["36898"] = [220,241] let s:lib.Codec.encoding_table["37586"] = [220,242] let s:lib.Codec.encoding_table["40179"] = [220,243] let s:lib.Codec.encoding_table["19981"] = [220,244] let s:lib.Codec.encoding_table["20184"] = [220,245] let s:lib.Codec.encoding_table["20463"] = [220,246] let s:lib.Codec.encoding_table["20613"] = [220,247] let s:lib.Codec.encoding_table["21078"] = [220,248] let s:lib.Codec.encoding_table["21103"] = [220,249] let s:lib.Codec.encoding_table["21542"] = [220,250] let s:lib.Codec.encoding_table["21648"] = [220,251] let s:lib.Codec.encoding_table["22496"] = [220,252] let s:lib.Codec.encoding_table["22827"] = [220,253] let s:lib.Codec.encoding_table["23142"] = [220,254] let s:lib.Codec.encoding_table["23386"] = [221,161] let s:lib.Codec.encoding_table["23413"] = [221,162] let s:lib.Codec.encoding_table["23500"] = [221,163] let s:lib.Codec.encoding_table["24220"] = [221,164] let s:lib.Codec.encoding_table["63846"] = [221,165] let s:lib.Codec.encoding_table["25206"] = [221,166] let s:lib.Codec.encoding_table["25975"] = [221,167] let s:lib.Codec.encoding_table["26023"] = [221,168] let s:lib.Codec.encoding_table["28014"] = [221,169] let s:lib.Codec.encoding_table["28325"] = [221,170] let s:lib.Codec.encoding_table["29238"] = [221,171] let s:lib.Codec.encoding_table["31526"] = [221,172] let s:lib.Codec.encoding_table["31807"] = [221,173] let s:lib.Codec.encoding_table["32566"] = [221,174] let s:lib.Codec.encoding_table["33104"] = [221,175] let s:lib.Codec.encoding_table["33105"] = [221,176] let s:lib.Codec.encoding_table["33178"] = [221,177] let s:lib.Codec.encoding_table["33344"] = [221,178] let s:lib.Codec.encoding_table["33433"] = [221,179] let s:lib.Codec.encoding_table["33705"] = [221,180] let s:lib.Codec.encoding_table["35331"] = [221,181] let s:lib.Codec.encoding_table["36000"] = [221,182] let s:lib.Codec.encoding_table["36070"] = [221,183] let s:lib.Codec.encoding_table["36091"] = [221,184] let s:lib.Codec.encoding_table["36212"] = [221,185] let s:lib.Codec.encoding_table["36282"] = [221,186] let s:lib.Codec.encoding_table["37096"] = [221,187] let s:lib.Codec.encoding_table["37340"] = [221,188] let s:lib.Codec.encoding_table["38428"] = [221,189] let s:lib.Codec.encoding_table["38468"] = [221,190] let s:lib.Codec.encoding_table["39385"] = [221,191] let s:lib.Codec.encoding_table["40167"] = [221,192] let s:lib.Codec.encoding_table["21271"] = [221,193] let s:lib.Codec.encoding_table["20998"] = [221,194] let s:lib.Codec.encoding_table["21545"] = [221,195] let s:lib.Codec.encoding_table["22132"] = [221,196] let s:lib.Codec.encoding_table["22707"] = [221,197] let s:lib.Codec.encoding_table["22868"] = [221,198] let s:lib.Codec.encoding_table["22894"] = [221,199] let s:lib.Codec.encoding_table["24575"] = [221,200] let s:lib.Codec.encoding_table["24996"] = [221,201] let s:lib.Codec.encoding_table["25198"] = [221,202] let s:lib.Codec.encoding_table["26128"] = [221,203] let s:lib.Codec.encoding_table["27774"] = [221,204] let s:lib.Codec.encoding_table["28954"] = [221,205] let s:lib.Codec.encoding_table["30406"] = [221,206] let s:lib.Codec.encoding_table["31881"] = [221,207] let s:lib.Codec.encoding_table["31966"] = [221,208] let s:lib.Codec.encoding_table["32027"] = [221,209] let s:lib.Codec.encoding_table["33452"] = [221,210] let s:lib.Codec.encoding_table["36033"] = [221,211] let s:lib.Codec.encoding_table["38640"] = [221,212] let s:lib.Codec.encoding_table["63847"] = [221,213] let s:lib.Codec.encoding_table["20315"] = [221,214] let s:lib.Codec.encoding_table["24343"] = [221,215] let s:lib.Codec.encoding_table["24447"] = [221,216] let s:lib.Codec.encoding_table["25282"] = [221,217] let s:lib.Codec.encoding_table["23849"] = [221,218] let s:lib.Codec.encoding_table["26379"] = [221,219] let s:lib.Codec.encoding_table["26842"] = [221,220] let s:lib.Codec.encoding_table["30844"] = [221,221] let s:lib.Codec.encoding_table["32323"] = [221,222] let s:lib.Codec.encoding_table["40300"] = [221,223] let s:lib.Codec.encoding_table["19989"] = [221,224] let s:lib.Codec.encoding_table["20633"] = [221,225] let s:lib.Codec.encoding_table["21269"] = [221,226] let s:lib.Codec.encoding_table["21290"] = [221,227] let s:lib.Codec.encoding_table["21329"] = [221,228] let s:lib.Codec.encoding_table["22915"] = [221,229] let s:lib.Codec.encoding_table["23138"] = [221,230] let s:lib.Codec.encoding_table["24199"] = [221,231] let s:lib.Codec.encoding_table["24754"] = [221,232] let s:lib.Codec.encoding_table["24970"] = [221,233] let s:lib.Codec.encoding_table["25161"] = [221,234] let s:lib.Codec.encoding_table["25209"] = [221,235] let s:lib.Codec.encoding_table["26000"] = [221,236] let s:lib.Codec.encoding_table["26503"] = [221,237] let s:lib.Codec.encoding_table["27047"] = [221,238] let s:lib.Codec.encoding_table["27604"] = [221,239] let s:lib.Codec.encoding_table["27606"] = [221,240] let s:lib.Codec.encoding_table["27607"] = [221,241] let s:lib.Codec.encoding_table["27608"] = [221,242] let s:lib.Codec.encoding_table["27832"] = [221,243] let s:lib.Codec.encoding_table["63848"] = [221,244] let s:lib.Codec.encoding_table["29749"] = [221,245] let s:lib.Codec.encoding_table["30202"] = [221,246] let s:lib.Codec.encoding_table["30738"] = [221,247] let s:lib.Codec.encoding_table["30865"] = [221,248] let s:lib.Codec.encoding_table["31189"] = [221,249] let s:lib.Codec.encoding_table["31192"] = [221,250] let s:lib.Codec.encoding_table["31875"] = [221,251] let s:lib.Codec.encoding_table["32203"] = [221,252] let s:lib.Codec.encoding_table["32737"] = [221,253] let s:lib.Codec.encoding_table["32933"] = [221,254] let s:lib.Codec.encoding_table["33086"] = [222,161] let s:lib.Codec.encoding_table["33218"] = [222,162] let s:lib.Codec.encoding_table["33778"] = [222,163] let s:lib.Codec.encoding_table["34586"] = [222,164] let s:lib.Codec.encoding_table["35048"] = [222,165] let s:lib.Codec.encoding_table["35513"] = [222,166] let s:lib.Codec.encoding_table["35692"] = [222,167] let s:lib.Codec.encoding_table["36027"] = [222,168] let s:lib.Codec.encoding_table["37145"] = [222,169] let s:lib.Codec.encoding_table["38750"] = [222,170] let s:lib.Codec.encoding_table["39131"] = [222,171] let s:lib.Codec.encoding_table["40763"] = [222,172] let s:lib.Codec.encoding_table["22188"] = [222,173] let s:lib.Codec.encoding_table["23338"] = [222,174] let s:lib.Codec.encoding_table["24428"] = [222,175] let s:lib.Codec.encoding_table["25996"] = [222,176] let s:lib.Codec.encoding_table["27315"] = [222,177] let s:lib.Codec.encoding_table["27567"] = [222,178] let s:lib.Codec.encoding_table["27996"] = [222,179] let s:lib.Codec.encoding_table["28657"] = [222,180] let s:lib.Codec.encoding_table["28693"] = [222,181] let s:lib.Codec.encoding_table["29277"] = [222,182] let s:lib.Codec.encoding_table["29613"] = [222,183] let s:lib.Codec.encoding_table["36007"] = [222,184] let s:lib.Codec.encoding_table["36051"] = [222,185] let s:lib.Codec.encoding_table["38971"] = [222,186] let s:lib.Codec.encoding_table["24977"] = [222,187] let s:lib.Codec.encoding_table["27703"] = [222,188] let s:lib.Codec.encoding_table["32856"] = [222,189] let s:lib.Codec.encoding_table["39425"] = [222,190] let s:lib.Codec.encoding_table["20045"] = [222,191] let s:lib.Codec.encoding_table["20107"] = [222,192] let s:lib.Codec.encoding_table["20123"] = [222,193] let s:lib.Codec.encoding_table["20181"] = [222,194] let s:lib.Codec.encoding_table["20282"] = [222,195] let s:lib.Codec.encoding_table["20284"] = [222,196] let s:lib.Codec.encoding_table["20351"] = [222,197] let s:lib.Codec.encoding_table["20447"] = [222,198] let s:lib.Codec.encoding_table["20735"] = [222,199] let s:lib.Codec.encoding_table["21490"] = [222,200] let s:lib.Codec.encoding_table["21496"] = [222,201] let s:lib.Codec.encoding_table["21766"] = [222,202] let s:lib.Codec.encoding_table["21987"] = [222,203] let s:lib.Codec.encoding_table["22235"] = [222,204] let s:lib.Codec.encoding_table["22763"] = [222,205] let s:lib.Codec.encoding_table["22882"] = [222,206] let s:lib.Codec.encoding_table["23057"] = [222,207] let s:lib.Codec.encoding_table["23531"] = [222,208] let s:lib.Codec.encoding_table["23546"] = [222,209] let s:lib.Codec.encoding_table["23556"] = [222,210] let s:lib.Codec.encoding_table["24051"] = [222,211] let s:lib.Codec.encoding_table["24107"] = [222,212] let s:lib.Codec.encoding_table["24473"] = [222,213] let s:lib.Codec.encoding_table["24605"] = [222,214] let s:lib.Codec.encoding_table["25448"] = [222,215] let s:lib.Codec.encoding_table["26012"] = [222,216] let s:lib.Codec.encoding_table["26031"] = [222,217] let s:lib.Codec.encoding_table["26614"] = [222,218] let s:lib.Codec.encoding_table["26619"] = [222,219] let s:lib.Codec.encoding_table["26797"] = [222,220] let s:lib.Codec.encoding_table["27515"] = [222,221] let s:lib.Codec.encoding_table["27801"] = [222,222] let s:lib.Codec.encoding_table["27863"] = [222,223] let s:lib.Codec.encoding_table["28195"] = [222,224] let s:lib.Codec.encoding_table["28681"] = [222,225] let s:lib.Codec.encoding_table["29509"] = [222,226] let s:lib.Codec.encoding_table["30722"] = [222,227] let s:lib.Codec.encoding_table["31038"] = [222,228] let s:lib.Codec.encoding_table["31040"] = [222,229] let s:lib.Codec.encoding_table["31072"] = [222,230] let s:lib.Codec.encoding_table["31169"] = [222,231] let s:lib.Codec.encoding_table["31721"] = [222,232] let s:lib.Codec.encoding_table["32023"] = [222,233] let s:lib.Codec.encoding_table["32114"] = [222,234] let s:lib.Codec.encoding_table["32902"] = [222,235] let s:lib.Codec.encoding_table["33293"] = [222,236] let s:lib.Codec.encoding_table["33678"] = [222,237] let s:lib.Codec.encoding_table["34001"] = [222,238] let s:lib.Codec.encoding_table["34503"] = [222,239] let s:lib.Codec.encoding_table["35039"] = [222,240] let s:lib.Codec.encoding_table["35408"] = [222,241] let s:lib.Codec.encoding_table["35422"] = [222,242] let s:lib.Codec.encoding_table["35613"] = [222,243] let s:lib.Codec.encoding_table["36060"] = [222,244] let s:lib.Codec.encoding_table["36198"] = [222,245] let s:lib.Codec.encoding_table["36781"] = [222,246] let s:lib.Codec.encoding_table["37034"] = [222,247] let s:lib.Codec.encoding_table["39164"] = [222,248] let s:lib.Codec.encoding_table["39391"] = [222,249] let s:lib.Codec.encoding_table["40605"] = [222,250] let s:lib.Codec.encoding_table["21066"] = [222,251] let s:lib.Codec.encoding_table["63849"] = [222,252] let s:lib.Codec.encoding_table["26388"] = [222,253] let s:lib.Codec.encoding_table["63850"] = [222,254] let s:lib.Codec.encoding_table["20632"] = [223,161] let s:lib.Codec.encoding_table["21034"] = [223,162] let s:lib.Codec.encoding_table["23665"] = [223,163] let s:lib.Codec.encoding_table["25955"] = [223,164] let s:lib.Codec.encoding_table["27733"] = [223,165] let s:lib.Codec.encoding_table["29642"] = [223,166] let s:lib.Codec.encoding_table["29987"] = [223,167] let s:lib.Codec.encoding_table["30109"] = [223,168] let s:lib.Codec.encoding_table["31639"] = [223,169] let s:lib.Codec.encoding_table["33948"] = [223,170] let s:lib.Codec.encoding_table["37240"] = [223,171] let s:lib.Codec.encoding_table["38704"] = [223,172] let s:lib.Codec.encoding_table["20087"] = [223,173] let s:lib.Codec.encoding_table["25746"] = [223,174] let s:lib.Codec.encoding_table["27578"] = [223,175] let s:lib.Codec.encoding_table["29022"] = [223,176] let s:lib.Codec.encoding_table["34217"] = [223,177] let s:lib.Codec.encoding_table["19977"] = [223,178] let s:lib.Codec.encoding_table["63851"] = [223,179] let s:lib.Codec.encoding_table["26441"] = [223,180] let s:lib.Codec.encoding_table["26862"] = [223,181] let s:lib.Codec.encoding_table["28183"] = [223,182] let s:lib.Codec.encoding_table["33439"] = [223,183] let s:lib.Codec.encoding_table["34072"] = [223,184] let s:lib.Codec.encoding_table["34923"] = [223,185] let s:lib.Codec.encoding_table["25591"] = [223,186] let s:lib.Codec.encoding_table["28545"] = [223,187] let s:lib.Codec.encoding_table["37394"] = [223,188] let s:lib.Codec.encoding_table["39087"] = [223,189] let s:lib.Codec.encoding_table["19978"] = [223,190] let s:lib.Codec.encoding_table["20663"] = [223,191] let s:lib.Codec.encoding_table["20687"] = [223,192] let s:lib.Codec.encoding_table["20767"] = [223,193] let s:lib.Codec.encoding_table["21830"] = [223,194] let s:lib.Codec.encoding_table["21930"] = [223,195] let s:lib.Codec.encoding_table["22039"] = [223,196] let s:lib.Codec.encoding_table["23360"] = [223,197] let s:lib.Codec.encoding_table["23577"] = [223,198] let s:lib.Codec.encoding_table["23776"] = [223,199] let s:lib.Codec.encoding_table["24120"] = [223,200] let s:lib.Codec.encoding_table["24202"] = [223,201] let s:lib.Codec.encoding_table["24224"] = [223,202] let s:lib.Codec.encoding_table["24258"] = [223,203] let s:lib.Codec.encoding_table["24819"] = [223,204] let s:lib.Codec.encoding_table["26705"] = [223,205] let s:lib.Codec.encoding_table["27233"] = [223,206] let s:lib.Codec.encoding_table["28248"] = [223,207] let s:lib.Codec.encoding_table["29245"] = [223,208] let s:lib.Codec.encoding_table["29248"] = [223,209] let s:lib.Codec.encoding_table["29376"] = [223,210] let s:lib.Codec.encoding_table["30456"] = [223,211] let s:lib.Codec.encoding_table["31077"] = [223,212] let s:lib.Codec.encoding_table["31665"] = [223,213] let s:lib.Codec.encoding_table["32724"] = [223,214] let s:lib.Codec.encoding_table["35059"] = [223,215] let s:lib.Codec.encoding_table["35316"] = [223,216] let s:lib.Codec.encoding_table["35443"] = [223,217] let s:lib.Codec.encoding_table["35937"] = [223,218] let s:lib.Codec.encoding_table["36062"] = [223,219] let s:lib.Codec.encoding_table["38684"] = [223,220] let s:lib.Codec.encoding_table["22622"] = [223,221] let s:lib.Codec.encoding_table["29885"] = [223,222] let s:lib.Codec.encoding_table["36093"] = [223,223] let s:lib.Codec.encoding_table["21959"] = [223,224] let s:lib.Codec.encoding_table["63852"] = [223,225] let s:lib.Codec.encoding_table["31329"] = [223,226] let s:lib.Codec.encoding_table["32034"] = [223,227] let s:lib.Codec.encoding_table["33394"] = [223,228] let s:lib.Codec.encoding_table["29298"] = [223,229] let s:lib.Codec.encoding_table["29983"] = [223,230] let s:lib.Codec.encoding_table["29989"] = [223,231] let s:lib.Codec.encoding_table["63853"] = [223,232] let s:lib.Codec.encoding_table["31513"] = [223,233] let s:lib.Codec.encoding_table["22661"] = [223,234] let s:lib.Codec.encoding_table["22779"] = [223,235] let s:lib.Codec.encoding_table["23996"] = [223,236] let s:lib.Codec.encoding_table["24207"] = [223,237] let s:lib.Codec.encoding_table["24246"] = [223,238] let s:lib.Codec.encoding_table["24464"] = [223,239] let s:lib.Codec.encoding_table["24661"] = [223,240] let s:lib.Codec.encoding_table["25234"] = [223,241] let s:lib.Codec.encoding_table["25471"] = [223,242] let s:lib.Codec.encoding_table["25933"] = [223,243] let s:lib.Codec.encoding_table["26257"] = [223,244] let s:lib.Codec.encoding_table["26329"] = [223,245] let s:lib.Codec.encoding_table["26360"] = [223,246] let s:lib.Codec.encoding_table["26646"] = [223,247] let s:lib.Codec.encoding_table["26866"] = [223,248] let s:lib.Codec.encoding_table["29312"] = [223,249] let s:lib.Codec.encoding_table["29790"] = [223,250] let s:lib.Codec.encoding_table["31598"] = [223,251] let s:lib.Codec.encoding_table["32110"] = [223,252] let s:lib.Codec.encoding_table["32214"] = [223,253] let s:lib.Codec.encoding_table["32626"] = [223,254] let s:lib.Codec.encoding_table["32997"] = [224,161] let s:lib.Codec.encoding_table["33298"] = [224,162] let s:lib.Codec.encoding_table["34223"] = [224,163] let s:lib.Codec.encoding_table["35199"] = [224,164] let s:lib.Codec.encoding_table["35475"] = [224,165] let s:lib.Codec.encoding_table["36893"] = [224,166] let s:lib.Codec.encoding_table["37604"] = [224,167] let s:lib.Codec.encoding_table["40653"] = [224,168] let s:lib.Codec.encoding_table["40736"] = [224,169] let s:lib.Codec.encoding_table["22805"] = [224,170] let s:lib.Codec.encoding_table["22893"] = [224,171] let s:lib.Codec.encoding_table["24109"] = [224,172] let s:lib.Codec.encoding_table["24796"] = [224,173] let s:lib.Codec.encoding_table["26132"] = [224,174] let s:lib.Codec.encoding_table["26227"] = [224,175] let s:lib.Codec.encoding_table["26512"] = [224,176] let s:lib.Codec.encoding_table["27728"] = [224,177] let s:lib.Codec.encoding_table["28101"] = [224,178] let s:lib.Codec.encoding_table["28511"] = [224,179] let s:lib.Codec.encoding_table["30707"] = [224,180] let s:lib.Codec.encoding_table["30889"] = [224,181] let s:lib.Codec.encoding_table["33990"] = [224,182] let s:lib.Codec.encoding_table["37323"] = [224,183] let s:lib.Codec.encoding_table["37675"] = [224,184] let s:lib.Codec.encoding_table["20185"] = [224,185] let s:lib.Codec.encoding_table["20682"] = [224,186] let s:lib.Codec.encoding_table["20808"] = [224,187] let s:lib.Codec.encoding_table["21892"] = [224,188] let s:lib.Codec.encoding_table["23307"] = [224,189] let s:lib.Codec.encoding_table["23459"] = [224,190] let s:lib.Codec.encoding_table["25159"] = [224,191] let s:lib.Codec.encoding_table["25982"] = [224,192] let s:lib.Codec.encoding_table["26059"] = [224,193] let s:lib.Codec.encoding_table["28210"] = [224,194] let s:lib.Codec.encoding_table["29053"] = [224,195] let s:lib.Codec.encoding_table["29697"] = [224,196] let s:lib.Codec.encoding_table["29764"] = [224,197] let s:lib.Codec.encoding_table["29831"] = [224,198] let s:lib.Codec.encoding_table["29887"] = [224,199] let s:lib.Codec.encoding_table["30316"] = [224,200] let s:lib.Codec.encoding_table["31146"] = [224,201] let s:lib.Codec.encoding_table["32218"] = [224,202] let s:lib.Codec.encoding_table["32341"] = [224,203] let s:lib.Codec.encoding_table["32680"] = [224,204] let s:lib.Codec.encoding_table["33146"] = [224,205] let s:lib.Codec.encoding_table["33203"] = [224,206] let s:lib.Codec.encoding_table["33337"] = [224,207] let s:lib.Codec.encoding_table["34330"] = [224,208] let s:lib.Codec.encoding_table["34796"] = [224,209] let s:lib.Codec.encoding_table["35445"] = [224,210] let s:lib.Codec.encoding_table["36323"] = [224,211] let s:lib.Codec.encoding_table["36984"] = [224,212] let s:lib.Codec.encoding_table["37521"] = [224,213] let s:lib.Codec.encoding_table["37925"] = [224,214] let s:lib.Codec.encoding_table["39245"] = [224,215] let s:lib.Codec.encoding_table["39854"] = [224,216] let s:lib.Codec.encoding_table["21352"] = [224,217] let s:lib.Codec.encoding_table["23633"] = [224,218] let s:lib.Codec.encoding_table["26964"] = [224,219] let s:lib.Codec.encoding_table["27844"] = [224,220] let s:lib.Codec.encoding_table["27945"] = [224,221] let s:lib.Codec.encoding_table["28203"] = [224,222] let s:lib.Codec.encoding_table["33292"] = [224,223] let s:lib.Codec.encoding_table["34203"] = [224,224] let s:lib.Codec.encoding_table["35131"] = [224,225] let s:lib.Codec.encoding_table["35373"] = [224,226] let s:lib.Codec.encoding_table["35498"] = [224,227] let s:lib.Codec.encoding_table["38634"] = [224,228] let s:lib.Codec.encoding_table["40807"] = [224,229] let s:lib.Codec.encoding_table["21089"] = [224,230] let s:lib.Codec.encoding_table["26297"] = [224,231] let s:lib.Codec.encoding_table["27570"] = [224,232] let s:lib.Codec.encoding_table["32406"] = [224,233] let s:lib.Codec.encoding_table["34814"] = [224,234] let s:lib.Codec.encoding_table["36109"] = [224,235] let s:lib.Codec.encoding_table["38275"] = [224,236] let s:lib.Codec.encoding_table["38493"] = [224,237] let s:lib.Codec.encoding_table["25885"] = [224,238] let s:lib.Codec.encoding_table["28041"] = [224,239] let s:lib.Codec.encoding_table["29166"] = [224,240] let s:lib.Codec.encoding_table["63854"] = [224,241] let s:lib.Codec.encoding_table["22478"] = [224,242] let s:lib.Codec.encoding_table["22995"] = [224,243] let s:lib.Codec.encoding_table["23468"] = [224,244] let s:lib.Codec.encoding_table["24615"] = [224,245] let s:lib.Codec.encoding_table["24826"] = [224,246] let s:lib.Codec.encoding_table["25104"] = [224,247] let s:lib.Codec.encoding_table["26143"] = [224,248] let s:lib.Codec.encoding_table["26207"] = [224,249] let s:lib.Codec.encoding_table["29481"] = [224,250] let s:lib.Codec.encoding_table["29689"] = [224,251] let s:lib.Codec.encoding_table["30427"] = [224,252] let s:lib.Codec.encoding_table["30465"] = [224,253] let s:lib.Codec.encoding_table["31596"] = [224,254] let s:lib.Codec.encoding_table["32854"] = [225,161] let s:lib.Codec.encoding_table["32882"] = [225,162] let s:lib.Codec.encoding_table["33125"] = [225,163] let s:lib.Codec.encoding_table["35488"] = [225,164] let s:lib.Codec.encoding_table["37266"] = [225,165] let s:lib.Codec.encoding_table["19990"] = [225,166] let s:lib.Codec.encoding_table["21218"] = [225,167] let s:lib.Codec.encoding_table["27506"] = [225,168] let s:lib.Codec.encoding_table["27927"] = [225,169] let s:lib.Codec.encoding_table["31237"] = [225,170] let s:lib.Codec.encoding_table["31545"] = [225,171] let s:lib.Codec.encoding_table["32048"] = [225,172] let s:lib.Codec.encoding_table["63855"] = [225,173] let s:lib.Codec.encoding_table["36016"] = [225,174] let s:lib.Codec.encoding_table["21484"] = [225,175] let s:lib.Codec.encoding_table["22063"] = [225,176] let s:lib.Codec.encoding_table["22609"] = [225,177] let s:lib.Codec.encoding_table["23477"] = [225,178] let s:lib.Codec.encoding_table["23567"] = [225,179] let s:lib.Codec.encoding_table["23569"] = [225,180] let s:lib.Codec.encoding_table["24034"] = [225,181] let s:lib.Codec.encoding_table["25152"] = [225,182] let s:lib.Codec.encoding_table["25475"] = [225,183] let s:lib.Codec.encoding_table["25620"] = [225,184] let s:lib.Codec.encoding_table["26157"] = [225,185] let s:lib.Codec.encoding_table["26803"] = [225,186] let s:lib.Codec.encoding_table["27836"] = [225,187] let s:lib.Codec.encoding_table["28040"] = [225,188] let s:lib.Codec.encoding_table["28335"] = [225,189] let s:lib.Codec.encoding_table["28703"] = [225,190] let s:lib.Codec.encoding_table["28836"] = [225,191] let s:lib.Codec.encoding_table["29138"] = [225,192] let s:lib.Codec.encoding_table["29990"] = [225,193] let s:lib.Codec.encoding_table["30095"] = [225,194] let s:lib.Codec.encoding_table["30094"] = [225,195] let s:lib.Codec.encoding_table["30233"] = [225,196] let s:lib.Codec.encoding_table["31505"] = [225,197] let s:lib.Codec.encoding_table["31712"] = [225,198] let s:lib.Codec.encoding_table["31787"] = [225,199] let s:lib.Codec.encoding_table["32032"] = [225,200] let s:lib.Codec.encoding_table["32057"] = [225,201] let s:lib.Codec.encoding_table["34092"] = [225,202] let s:lib.Codec.encoding_table["34157"] = [225,203] let s:lib.Codec.encoding_table["34311"] = [225,204] let s:lib.Codec.encoding_table["35380"] = [225,205] let s:lib.Codec.encoding_table["36877"] = [225,206] let s:lib.Codec.encoding_table["36961"] = [225,207] let s:lib.Codec.encoding_table["37045"] = [225,208] let s:lib.Codec.encoding_table["37559"] = [225,209] let s:lib.Codec.encoding_table["38902"] = [225,210] let s:lib.Codec.encoding_table["39479"] = [225,211] let s:lib.Codec.encoding_table["20439"] = [225,212] let s:lib.Codec.encoding_table["23660"] = [225,213] let s:lib.Codec.encoding_table["26463"] = [225,214] let s:lib.Codec.encoding_table["28049"] = [225,215] let s:lib.Codec.encoding_table["31903"] = [225,216] let s:lib.Codec.encoding_table["32396"] = [225,217] let s:lib.Codec.encoding_table["35606"] = [225,218] let s:lib.Codec.encoding_table["36118"] = [225,219] let s:lib.Codec.encoding_table["36895"] = [225,220] let s:lib.Codec.encoding_table["23403"] = [225,221] let s:lib.Codec.encoding_table["24061"] = [225,222] let s:lib.Codec.encoding_table["25613"] = [225,223] let s:lib.Codec.encoding_table["33984"] = [225,224] let s:lib.Codec.encoding_table["36956"] = [225,225] let s:lib.Codec.encoding_table["39137"] = [225,226] let s:lib.Codec.encoding_table["29575"] = [225,227] let s:lib.Codec.encoding_table["23435"] = [225,228] let s:lib.Codec.encoding_table["24730"] = [225,229] let s:lib.Codec.encoding_table["26494"] = [225,230] let s:lib.Codec.encoding_table["28126"] = [225,231] let s:lib.Codec.encoding_table["35359"] = [225,232] let s:lib.Codec.encoding_table["35494"] = [225,233] let s:lib.Codec.encoding_table["36865"] = [225,234] let s:lib.Codec.encoding_table["38924"] = [225,235] let s:lib.Codec.encoding_table["21047"] = [225,236] let s:lib.Codec.encoding_table["63856"] = [225,237] let s:lib.Codec.encoding_table["28753"] = [225,238] let s:lib.Codec.encoding_table["30862"] = [225,239] let s:lib.Codec.encoding_table["37782"] = [225,240] let s:lib.Codec.encoding_table["34928"] = [225,241] let s:lib.Codec.encoding_table["37335"] = [225,242] let s:lib.Codec.encoding_table["20462"] = [225,243] let s:lib.Codec.encoding_table["21463"] = [225,244] let s:lib.Codec.encoding_table["22013"] = [225,245] let s:lib.Codec.encoding_table["22234"] = [225,246] let s:lib.Codec.encoding_table["22402"] = [225,247] let s:lib.Codec.encoding_table["22781"] = [225,248] let s:lib.Codec.encoding_table["23234"] = [225,249] let s:lib.Codec.encoding_table["23432"] = [225,250] let s:lib.Codec.encoding_table["23723"] = [225,251] let s:lib.Codec.encoding_table["23744"] = [225,252] let s:lib.Codec.encoding_table["24101"] = [225,253] let s:lib.Codec.encoding_table["24833"] = [225,254] let s:lib.Codec.encoding_table["25101"] = [226,161] let s:lib.Codec.encoding_table["25163"] = [226,162] let s:lib.Codec.encoding_table["25480"] = [226,163] let s:lib.Codec.encoding_table["25628"] = [226,164] let s:lib.Codec.encoding_table["25910"] = [226,165] let s:lib.Codec.encoding_table["25976"] = [226,166] let s:lib.Codec.encoding_table["27193"] = [226,167] let s:lib.Codec.encoding_table["27530"] = [226,168] let s:lib.Codec.encoding_table["27700"] = [226,169] let s:lib.Codec.encoding_table["27929"] = [226,170] let s:lib.Codec.encoding_table["28465"] = [226,171] let s:lib.Codec.encoding_table["29159"] = [226,172] let s:lib.Codec.encoding_table["29417"] = [226,173] let s:lib.Codec.encoding_table["29560"] = [226,174] let s:lib.Codec.encoding_table["29703"] = [226,175] let s:lib.Codec.encoding_table["29874"] = [226,176] let s:lib.Codec.encoding_table["30246"] = [226,177] let s:lib.Codec.encoding_table["30561"] = [226,178] let s:lib.Codec.encoding_table["31168"] = [226,179] let s:lib.Codec.encoding_table["31319"] = [226,180] let s:lib.Codec.encoding_table["31466"] = [226,181] let s:lib.Codec.encoding_table["31929"] = [226,182] let s:lib.Codec.encoding_table["32143"] = [226,183] let s:lib.Codec.encoding_table["32172"] = [226,184] let s:lib.Codec.encoding_table["32353"] = [226,185] let s:lib.Codec.encoding_table["32670"] = [226,186] let s:lib.Codec.encoding_table["33065"] = [226,187] let s:lib.Codec.encoding_table["33585"] = [226,188] let s:lib.Codec.encoding_table["33936"] = [226,189] let s:lib.Codec.encoding_table["34010"] = [226,190] let s:lib.Codec.encoding_table["34282"] = [226,191] let s:lib.Codec.encoding_table["34966"] = [226,192] let s:lib.Codec.encoding_table["35504"] = [226,193] let s:lib.Codec.encoding_table["35728"] = [226,194] let s:lib.Codec.encoding_table["36664"] = [226,195] let s:lib.Codec.encoding_table["36930"] = [226,196] let s:lib.Codec.encoding_table["36995"] = [226,197] let s:lib.Codec.encoding_table["37228"] = [226,198] let s:lib.Codec.encoding_table["37526"] = [226,199] let s:lib.Codec.encoding_table["37561"] = [226,200] let s:lib.Codec.encoding_table["38539"] = [226,201] let s:lib.Codec.encoding_table["38567"] = [226,202] let s:lib.Codec.encoding_table["38568"] = [226,203] let s:lib.Codec.encoding_table["38614"] = [226,204] let s:lib.Codec.encoding_table["38656"] = [226,205] let s:lib.Codec.encoding_table["38920"] = [226,206] let s:lib.Codec.encoding_table["39318"] = [226,207] let s:lib.Codec.encoding_table["39635"] = [226,208] let s:lib.Codec.encoding_table["39706"] = [226,209] let s:lib.Codec.encoding_table["21460"] = [226,210] let s:lib.Codec.encoding_table["22654"] = [226,211] let s:lib.Codec.encoding_table["22809"] = [226,212] let s:lib.Codec.encoding_table["23408"] = [226,213] let s:lib.Codec.encoding_table["23487"] = [226,214] let s:lib.Codec.encoding_table["28113"] = [226,215] let s:lib.Codec.encoding_table["28506"] = [226,216] let s:lib.Codec.encoding_table["29087"] = [226,217] let s:lib.Codec.encoding_table["29729"] = [226,218] let s:lib.Codec.encoding_table["29881"] = [226,219] let s:lib.Codec.encoding_table["32901"] = [226,220] let s:lib.Codec.encoding_table["33789"] = [226,221] let s:lib.Codec.encoding_table["24033"] = [226,222] let s:lib.Codec.encoding_table["24455"] = [226,223] let s:lib.Codec.encoding_table["24490"] = [226,224] let s:lib.Codec.encoding_table["24642"] = [226,225] let s:lib.Codec.encoding_table["26092"] = [226,226] let s:lib.Codec.encoding_table["26642"] = [226,227] let s:lib.Codec.encoding_table["26991"] = [226,228] let s:lib.Codec.encoding_table["27219"] = [226,229] let s:lib.Codec.encoding_table["27529"] = [226,230] let s:lib.Codec.encoding_table["27957"] = [226,231] let s:lib.Codec.encoding_table["28147"] = [226,232] let s:lib.Codec.encoding_table["29667"] = [226,233] let s:lib.Codec.encoding_table["30462"] = [226,234] let s:lib.Codec.encoding_table["30636"] = [226,235] let s:lib.Codec.encoding_table["31565"] = [226,236] let s:lib.Codec.encoding_table["32020"] = [226,237] let s:lib.Codec.encoding_table["33059"] = [226,238] let s:lib.Codec.encoding_table["33308"] = [226,239] let s:lib.Codec.encoding_table["33600"] = [226,240] let s:lib.Codec.encoding_table["34036"] = [226,241] let s:lib.Codec.encoding_table["34147"] = [226,242] let s:lib.Codec.encoding_table["35426"] = [226,243] let s:lib.Codec.encoding_table["35524"] = [226,244] let s:lib.Codec.encoding_table["37255"] = [226,245] let s:lib.Codec.encoding_table["37662"] = [226,246] let s:lib.Codec.encoding_table["38918"] = [226,247] let s:lib.Codec.encoding_table["39348"] = [226,248] let s:lib.Codec.encoding_table["25100"] = [226,249] let s:lib.Codec.encoding_table["34899"] = [226,250] let s:lib.Codec.encoding_table["36848"] = [226,251] let s:lib.Codec.encoding_table["37477"] = [226,252] let s:lib.Codec.encoding_table["23815"] = [226,253] let s:lib.Codec.encoding_table["23847"] = [226,254] let s:lib.Codec.encoding_table["23913"] = [227,161] let s:lib.Codec.encoding_table["29791"] = [227,162] let s:lib.Codec.encoding_table["33181"] = [227,163] let s:lib.Codec.encoding_table["34664"] = [227,164] let s:lib.Codec.encoding_table["28629"] = [227,165] let s:lib.Codec.encoding_table["25342"] = [227,166] let s:lib.Codec.encoding_table["32722"] = [227,167] let s:lib.Codec.encoding_table["35126"] = [227,168] let s:lib.Codec.encoding_table["35186"] = [227,169] let s:lib.Codec.encoding_table["19998"] = [227,170] let s:lib.Codec.encoding_table["20056"] = [227,171] let s:lib.Codec.encoding_table["20711"] = [227,172] let s:lib.Codec.encoding_table["21213"] = [227,173] let s:lib.Codec.encoding_table["21319"] = [227,174] let s:lib.Codec.encoding_table["25215"] = [227,175] let s:lib.Codec.encoding_table["26119"] = [227,176] let s:lib.Codec.encoding_table["32361"] = [227,177] let s:lib.Codec.encoding_table["34821"] = [227,178] let s:lib.Codec.encoding_table["38494"] = [227,179] let s:lib.Codec.encoding_table["20365"] = [227,180] let s:lib.Codec.encoding_table["21273"] = [227,181] let s:lib.Codec.encoding_table["22070"] = [227,182] let s:lib.Codec.encoding_table["22987"] = [227,183] let s:lib.Codec.encoding_table["23204"] = [227,184] let s:lib.Codec.encoding_table["23608"] = [227,185] let s:lib.Codec.encoding_table["23630"] = [227,186] let s:lib.Codec.encoding_table["23629"] = [227,187] let s:lib.Codec.encoding_table["24066"] = [227,188] let s:lib.Codec.encoding_table["24337"] = [227,189] let s:lib.Codec.encoding_table["24643"] = [227,190] let s:lib.Codec.encoding_table["26045"] = [227,191] let s:lib.Codec.encoding_table["26159"] = [227,192] let s:lib.Codec.encoding_table["26178"] = [227,193] let s:lib.Codec.encoding_table["26558"] = [227,194] let s:lib.Codec.encoding_table["26612"] = [227,195] let s:lib.Codec.encoding_table["29468"] = [227,196] let s:lib.Codec.encoding_table["30690"] = [227,197] let s:lib.Codec.encoding_table["31034"] = [227,198] let s:lib.Codec.encoding_table["32709"] = [227,199] let s:lib.Codec.encoding_table["33940"] = [227,200] let s:lib.Codec.encoding_table["33997"] = [227,201] let s:lib.Codec.encoding_table["35222"] = [227,202] let s:lib.Codec.encoding_table["35430"] = [227,203] let s:lib.Codec.encoding_table["35433"] = [227,204] let s:lib.Codec.encoding_table["35553"] = [227,205] let s:lib.Codec.encoding_table["35925"] = [227,206] let s:lib.Codec.encoding_table["35962"] = [227,207] let s:lib.Codec.encoding_table["22516"] = [227,208] let s:lib.Codec.encoding_table["23508"] = [227,209] let s:lib.Codec.encoding_table["24335"] = [227,210] let s:lib.Codec.encoding_table["24687"] = [227,211] let s:lib.Codec.encoding_table["25325"] = [227,212] let s:lib.Codec.encoding_table["26893"] = [227,213] let s:lib.Codec.encoding_table["27542"] = [227,214] let s:lib.Codec.encoding_table["28252"] = [227,215] let s:lib.Codec.encoding_table["29060"] = [227,216] let s:lib.Codec.encoding_table["31698"] = [227,217] let s:lib.Codec.encoding_table["34645"] = [227,218] let s:lib.Codec.encoding_table["35672"] = [227,219] let s:lib.Codec.encoding_table["36606"] = [227,220] let s:lib.Codec.encoding_table["39135"] = [227,221] let s:lib.Codec.encoding_table["39166"] = [227,222] let s:lib.Codec.encoding_table["20280"] = [227,223] let s:lib.Codec.encoding_table["20353"] = [227,224] let s:lib.Codec.encoding_table["20449"] = [227,225] let s:lib.Codec.encoding_table["21627"] = [227,226] let s:lib.Codec.encoding_table["23072"] = [227,227] let s:lib.Codec.encoding_table["23480"] = [227,228] let s:lib.Codec.encoding_table["24892"] = [227,229] let s:lib.Codec.encoding_table["26032"] = [227,230] let s:lib.Codec.encoding_table["26216"] = [227,231] let s:lib.Codec.encoding_table["29180"] = [227,232] let s:lib.Codec.encoding_table["30003"] = [227,233] let s:lib.Codec.encoding_table["31070"] = [227,234] let s:lib.Codec.encoding_table["32051"] = [227,235] let s:lib.Codec.encoding_table["33102"] = [227,236] let s:lib.Codec.encoding_table["33251"] = [227,237] let s:lib.Codec.encoding_table["33688"] = [227,238] let s:lib.Codec.encoding_table["34218"] = [227,239] let s:lib.Codec.encoding_table["34254"] = [227,240] let s:lib.Codec.encoding_table["34563"] = [227,241] let s:lib.Codec.encoding_table["35338"] = [227,242] let s:lib.Codec.encoding_table["36523"] = [227,243] let s:lib.Codec.encoding_table["36763"] = [227,244] let s:lib.Codec.encoding_table["63857"] = [227,245] let s:lib.Codec.encoding_table["36805"] = [227,246] let s:lib.Codec.encoding_table["22833"] = [227,247] let s:lib.Codec.encoding_table["23460"] = [227,248] let s:lib.Codec.encoding_table["23526"] = [227,249] let s:lib.Codec.encoding_table["24713"] = [227,250] let s:lib.Codec.encoding_table["23529"] = [227,251] let s:lib.Codec.encoding_table["23563"] = [227,252] let s:lib.Codec.encoding_table["24515"] = [227,253] let s:lib.Codec.encoding_table["27777"] = [227,254] let s:lib.Codec.encoding_table["63858"] = [228,161] let s:lib.Codec.encoding_table["28145"] = [228,162] let s:lib.Codec.encoding_table["28683"] = [228,163] let s:lib.Codec.encoding_table["29978"] = [228,164] let s:lib.Codec.encoding_table["33455"] = [228,165] let s:lib.Codec.encoding_table["35574"] = [228,166] let s:lib.Codec.encoding_table["20160"] = [228,167] let s:lib.Codec.encoding_table["21313"] = [228,168] let s:lib.Codec.encoding_table["63859"] = [228,169] let s:lib.Codec.encoding_table["38617"] = [228,170] let s:lib.Codec.encoding_table["27663"] = [228,171] let s:lib.Codec.encoding_table["20126"] = [228,172] let s:lib.Codec.encoding_table["20420"] = [228,173] let s:lib.Codec.encoding_table["20818"] = [228,174] let s:lib.Codec.encoding_table["21854"] = [228,175] let s:lib.Codec.encoding_table["23077"] = [228,176] let s:lib.Codec.encoding_table["23784"] = [228,177] let s:lib.Codec.encoding_table["25105"] = [228,178] let s:lib.Codec.encoding_table["29273"] = [228,179] let s:lib.Codec.encoding_table["33469"] = [228,180] let s:lib.Codec.encoding_table["33706"] = [228,181] let s:lib.Codec.encoding_table["34558"] = [228,182] let s:lib.Codec.encoding_table["34905"] = [228,183] let s:lib.Codec.encoding_table["35357"] = [228,184] let s:lib.Codec.encoding_table["38463"] = [228,185] let s:lib.Codec.encoding_table["38597"] = [228,186] let s:lib.Codec.encoding_table["39187"] = [228,187] let s:lib.Codec.encoding_table["40201"] = [228,188] let s:lib.Codec.encoding_table["40285"] = [228,189] let s:lib.Codec.encoding_table["22538"] = [228,190] let s:lib.Codec.encoding_table["23731"] = [228,191] let s:lib.Codec.encoding_table["23997"] = [228,192] let s:lib.Codec.encoding_table["24132"] = [228,193] let s:lib.Codec.encoding_table["24801"] = [228,194] let s:lib.Codec.encoding_table["24853"] = [228,195] let s:lib.Codec.encoding_table["25569"] = [228,196] let s:lib.Codec.encoding_table["27138"] = [228,197] let s:lib.Codec.encoding_table["28197"] = [228,198] let s:lib.Codec.encoding_table["37122"] = [228,199] let s:lib.Codec.encoding_table["37716"] = [228,200] let s:lib.Codec.encoding_table["38990"] = [228,201] let s:lib.Codec.encoding_table["39952"] = [228,202] let s:lib.Codec.encoding_table["40823"] = [228,203] let s:lib.Codec.encoding_table["23433"] = [228,204] let s:lib.Codec.encoding_table["23736"] = [228,205] let s:lib.Codec.encoding_table["25353"] = [228,206] let s:lib.Codec.encoding_table["26191"] = [228,207] let s:lib.Codec.encoding_table["26696"] = [228,208] let s:lib.Codec.encoding_table["30524"] = [228,209] let s:lib.Codec.encoding_table["38593"] = [228,210] let s:lib.Codec.encoding_table["38797"] = [228,211] let s:lib.Codec.encoding_table["38996"] = [228,212] let s:lib.Codec.encoding_table["39839"] = [228,213] let s:lib.Codec.encoding_table["26017"] = [228,214] let s:lib.Codec.encoding_table["35585"] = [228,215] let s:lib.Codec.encoding_table["36555"] = [228,216] let s:lib.Codec.encoding_table["38332"] = [228,217] let s:lib.Codec.encoding_table["21813"] = [228,218] let s:lib.Codec.encoding_table["23721"] = [228,219] let s:lib.Codec.encoding_table["24022"] = [228,220] let s:lib.Codec.encoding_table["24245"] = [228,221] let s:lib.Codec.encoding_table["26263"] = [228,222] let s:lib.Codec.encoding_table["30284"] = [228,223] let s:lib.Codec.encoding_table["33780"] = [228,224] let s:lib.Codec.encoding_table["38343"] = [228,225] let s:lib.Codec.encoding_table["22739"] = [228,226] let s:lib.Codec.encoding_table["25276"] = [228,227] let s:lib.Codec.encoding_table["29390"] = [228,228] let s:lib.Codec.encoding_table["40232"] = [228,229] let s:lib.Codec.encoding_table["20208"] = [228,230] let s:lib.Codec.encoding_table["22830"] = [228,231] let s:lib.Codec.encoding_table["24591"] = [228,232] let s:lib.Codec.encoding_table["26171"] = [228,233] let s:lib.Codec.encoding_table["27523"] = [228,234] let s:lib.Codec.encoding_table["31207"] = [228,235] let s:lib.Codec.encoding_table["40230"] = [228,236] let s:lib.Codec.encoding_table["21395"] = [228,237] let s:lib.Codec.encoding_table["21696"] = [228,238] let s:lib.Codec.encoding_table["22467"] = [228,239] let s:lib.Codec.encoding_table["23830"] = [228,240] let s:lib.Codec.encoding_table["24859"] = [228,241] let s:lib.Codec.encoding_table["26326"] = [228,242] let s:lib.Codec.encoding_table["28079"] = [228,243] let s:lib.Codec.encoding_table["30861"] = [228,244] let s:lib.Codec.encoding_table["33406"] = [228,245] let s:lib.Codec.encoding_table["38552"] = [228,246] let s:lib.Codec.encoding_table["38724"] = [228,247] let s:lib.Codec.encoding_table["21380"] = [228,248] let s:lib.Codec.encoding_table["25212"] = [228,249] let s:lib.Codec.encoding_table["25494"] = [228,250] let s:lib.Codec.encoding_table["28082"] = [228,251] let s:lib.Codec.encoding_table["32266"] = [228,252] let s:lib.Codec.encoding_table["33099"] = [228,253] let s:lib.Codec.encoding_table["38989"] = [228,254] let s:lib.Codec.encoding_table["27387"] = [229,161] let s:lib.Codec.encoding_table["32588"] = [229,162] let s:lib.Codec.encoding_table["40367"] = [229,163] let s:lib.Codec.encoding_table["40474"] = [229,164] let s:lib.Codec.encoding_table["20063"] = [229,165] let s:lib.Codec.encoding_table["20539"] = [229,166] let s:lib.Codec.encoding_table["20918"] = [229,167] let s:lib.Codec.encoding_table["22812"] = [229,168] let s:lib.Codec.encoding_table["24825"] = [229,169] let s:lib.Codec.encoding_table["25590"] = [229,170] let s:lib.Codec.encoding_table["26928"] = [229,171] let s:lib.Codec.encoding_table["29242"] = [229,172] let s:lib.Codec.encoding_table["32822"] = [229,173] let s:lib.Codec.encoding_table["63860"] = [229,174] let s:lib.Codec.encoding_table["37326"] = [229,175] let s:lib.Codec.encoding_table["24369"] = [229,176] let s:lib.Codec.encoding_table["63861"] = [229,177] let s:lib.Codec.encoding_table["63862"] = [229,178] let s:lib.Codec.encoding_table["32004"] = [229,179] let s:lib.Codec.encoding_table["33509"] = [229,180] let s:lib.Codec.encoding_table["33903"] = [229,181] let s:lib.Codec.encoding_table["33979"] = [229,182] let s:lib.Codec.encoding_table["34277"] = [229,183] let s:lib.Codec.encoding_table["36493"] = [229,184] let s:lib.Codec.encoding_table["63863"] = [229,185] let s:lib.Codec.encoding_table["20335"] = [229,186] let s:lib.Codec.encoding_table["63864"] = [229,187] let s:lib.Codec.encoding_table["63865"] = [229,188] let s:lib.Codec.encoding_table["22756"] = [229,189] let s:lib.Codec.encoding_table["23363"] = [229,190] let s:lib.Codec.encoding_table["24665"] = [229,191] let s:lib.Codec.encoding_table["25562"] = [229,192] let s:lib.Codec.encoding_table["25880"] = [229,193] let s:lib.Codec.encoding_table["25965"] = [229,194] let s:lib.Codec.encoding_table["26264"] = [229,195] let s:lib.Codec.encoding_table["63866"] = [229,196] let s:lib.Codec.encoding_table["26954"] = [229,197] let s:lib.Codec.encoding_table["27171"] = [229,198] let s:lib.Codec.encoding_table["27915"] = [229,199] let s:lib.Codec.encoding_table["28673"] = [229,200] let s:lib.Codec.encoding_table["29036"] = [229,201] let s:lib.Codec.encoding_table["30162"] = [229,202] let s:lib.Codec.encoding_table["30221"] = [229,203] let s:lib.Codec.encoding_table["31155"] = [229,204] let s:lib.Codec.encoding_table["31344"] = [229,205] let s:lib.Codec.encoding_table["63867"] = [229,206] let s:lib.Codec.encoding_table["32650"] = [229,207] let s:lib.Codec.encoding_table["63868"] = [229,208] let s:lib.Codec.encoding_table["35140"] = [229,209] let s:lib.Codec.encoding_table["63869"] = [229,210] let s:lib.Codec.encoding_table["35731"] = [229,211] let s:lib.Codec.encoding_table["37312"] = [229,212] let s:lib.Codec.encoding_table["38525"] = [229,213] let s:lib.Codec.encoding_table["63870"] = [229,214] let s:lib.Codec.encoding_table["39178"] = [229,215] let s:lib.Codec.encoding_table["22276"] = [229,216] let s:lib.Codec.encoding_table["24481"] = [229,217] let s:lib.Codec.encoding_table["26044"] = [229,218] let s:lib.Codec.encoding_table["28417"] = [229,219] let s:lib.Codec.encoding_table["30208"] = [229,220] let s:lib.Codec.encoding_table["31142"] = [229,221] let s:lib.Codec.encoding_table["35486"] = [229,222] let s:lib.Codec.encoding_table["39341"] = [229,223] let s:lib.Codec.encoding_table["39770"] = [229,224] let s:lib.Codec.encoding_table["40812"] = [229,225] let s:lib.Codec.encoding_table["20740"] = [229,226] let s:lib.Codec.encoding_table["25014"] = [229,227] let s:lib.Codec.encoding_table["25233"] = [229,228] let s:lib.Codec.encoding_table["27277"] = [229,229] let s:lib.Codec.encoding_table["33222"] = [229,230] let s:lib.Codec.encoding_table["20547"] = [229,231] let s:lib.Codec.encoding_table["22576"] = [229,232] let s:lib.Codec.encoding_table["24422"] = [229,233] let s:lib.Codec.encoding_table["28937"] = [229,234] let s:lib.Codec.encoding_table["35328"] = [229,235] let s:lib.Codec.encoding_table["35578"] = [229,236] let s:lib.Codec.encoding_table["23420"] = [229,237] let s:lib.Codec.encoding_table["34326"] = [229,238] let s:lib.Codec.encoding_table["20474"] = [229,239] let s:lib.Codec.encoding_table["20796"] = [229,240] let s:lib.Codec.encoding_table["22196"] = [229,241] let s:lib.Codec.encoding_table["22852"] = [229,242] let s:lib.Codec.encoding_table["25513"] = [229,243] let s:lib.Codec.encoding_table["28153"] = [229,244] let s:lib.Codec.encoding_table["23978"] = [229,245] let s:lib.Codec.encoding_table["26989"] = [229,246] let s:lib.Codec.encoding_table["20870"] = [229,247] let s:lib.Codec.encoding_table["20104"] = [229,248] let s:lib.Codec.encoding_table["20313"] = [229,249] let s:lib.Codec.encoding_table["63871"] = [229,250] let s:lib.Codec.encoding_table["63872"] = [229,251] let s:lib.Codec.encoding_table["63873"] = [229,252] let s:lib.Codec.encoding_table["22914"] = [229,253] let s:lib.Codec.encoding_table["63874"] = [229,254] let s:lib.Codec.encoding_table["63875"] = [230,161] let s:lib.Codec.encoding_table["27487"] = [230,162] let s:lib.Codec.encoding_table["27741"] = [230,163] let s:lib.Codec.encoding_table["63876"] = [230,164] let s:lib.Codec.encoding_table["29877"] = [230,165] let s:lib.Codec.encoding_table["30998"] = [230,166] let s:lib.Codec.encoding_table["63877"] = [230,167] let s:lib.Codec.encoding_table["33287"] = [230,168] let s:lib.Codec.encoding_table["33349"] = [230,169] let s:lib.Codec.encoding_table["33593"] = [230,170] let s:lib.Codec.encoding_table["36671"] = [230,171] let s:lib.Codec.encoding_table["36701"] = [230,172] let s:lib.Codec.encoding_table["63878"] = [230,173] let s:lib.Codec.encoding_table["39192"] = [230,174] let s:lib.Codec.encoding_table["63879"] = [230,175] let s:lib.Codec.encoding_table["63880"] = [230,176] let s:lib.Codec.encoding_table["63881"] = [230,177] let s:lib.Codec.encoding_table["20134"] = [230,178] let s:lib.Codec.encoding_table["63882"] = [230,179] let s:lib.Codec.encoding_table["22495"] = [230,180] let s:lib.Codec.encoding_table["24441"] = [230,181] let s:lib.Codec.encoding_table["26131"] = [230,182] let s:lib.Codec.encoding_table["63883"] = [230,183] let s:lib.Codec.encoding_table["63884"] = [230,184] let s:lib.Codec.encoding_table["30123"] = [230,185] let s:lib.Codec.encoding_table["32377"] = [230,186] let s:lib.Codec.encoding_table["35695"] = [230,187] let s:lib.Codec.encoding_table["63885"] = [230,188] let s:lib.Codec.encoding_table["36870"] = [230,189] let s:lib.Codec.encoding_table["39515"] = [230,190] let s:lib.Codec.encoding_table["22181"] = [230,191] let s:lib.Codec.encoding_table["22567"] = [230,192] let s:lib.Codec.encoding_table["23032"] = [230,193] let s:lib.Codec.encoding_table["23071"] = [230,194] let s:lib.Codec.encoding_table["23476"] = [230,195] let s:lib.Codec.encoding_table["63886"] = [230,196] let s:lib.Codec.encoding_table["24310"] = [230,197] let s:lib.Codec.encoding_table["63887"] = [230,198] let s:lib.Codec.encoding_table["63888"] = [230,199] let s:lib.Codec.encoding_table["25424"] = [230,200] let s:lib.Codec.encoding_table["25403"] = [230,201] let s:lib.Codec.encoding_table["63889"] = [230,202] let s:lib.Codec.encoding_table["26941"] = [230,203] let s:lib.Codec.encoding_table["27783"] = [230,204] let s:lib.Codec.encoding_table["27839"] = [230,205] let s:lib.Codec.encoding_table["28046"] = [230,206] let s:lib.Codec.encoding_table["28051"] = [230,207] let s:lib.Codec.encoding_table["28149"] = [230,208] let s:lib.Codec.encoding_table["28436"] = [230,209] let s:lib.Codec.encoding_table["63890"] = [230,210] let s:lib.Codec.encoding_table["28895"] = [230,211] let s:lib.Codec.encoding_table["28982"] = [230,212] let s:lib.Codec.encoding_table["29017"] = [230,213] let s:lib.Codec.encoding_table["63891"] = [230,214] let s:lib.Codec.encoding_table["29123"] = [230,215] let s:lib.Codec.encoding_table["29141"] = [230,216] let s:lib.Codec.encoding_table["63892"] = [230,217] let s:lib.Codec.encoding_table["30799"] = [230,218] let s:lib.Codec.encoding_table["30831"] = [230,219] let s:lib.Codec.encoding_table["63893"] = [230,220] let s:lib.Codec.encoding_table["31605"] = [230,221] let s:lib.Codec.encoding_table["32227"] = [230,222] let s:lib.Codec.encoding_table["63894"] = [230,223] let s:lib.Codec.encoding_table["32303"] = [230,224] let s:lib.Codec.encoding_table["63895"] = [230,225] let s:lib.Codec.encoding_table["34893"] = [230,226] let s:lib.Codec.encoding_table["36575"] = [230,227] let s:lib.Codec.encoding_table["63896"] = [230,228] let s:lib.Codec.encoding_table["63897"] = [230,229] let s:lib.Codec.encoding_table["63898"] = [230,230] let s:lib.Codec.encoding_table["37467"] = [230,231] let s:lib.Codec.encoding_table["63899"] = [230,232] let s:lib.Codec.encoding_table["40182"] = [230,233] let s:lib.Codec.encoding_table["63900"] = [230,234] let s:lib.Codec.encoding_table["63901"] = [230,235] let s:lib.Codec.encoding_table["63902"] = [230,236] let s:lib.Codec.encoding_table["24709"] = [230,237] let s:lib.Codec.encoding_table["28037"] = [230,238] let s:lib.Codec.encoding_table["63903"] = [230,239] let s:lib.Codec.encoding_table["29105"] = [230,240] let s:lib.Codec.encoding_table["63904"] = [230,241] let s:lib.Codec.encoding_table["63905"] = [230,242] let s:lib.Codec.encoding_table["38321"] = [230,243] let s:lib.Codec.encoding_table["21421"] = [230,244] let s:lib.Codec.encoding_table["63906"] = [230,245] let s:lib.Codec.encoding_table["63907"] = [230,246] let s:lib.Codec.encoding_table["63908"] = [230,247] let s:lib.Codec.encoding_table["26579"] = [230,248] let s:lib.Codec.encoding_table["63909"] = [230,249] let s:lib.Codec.encoding_table["28814"] = [230,250] let s:lib.Codec.encoding_table["28976"] = [230,251] let s:lib.Codec.encoding_table["29744"] = [230,252] let s:lib.Codec.encoding_table["33398"] = [230,253] let s:lib.Codec.encoding_table["33490"] = [230,254] let s:lib.Codec.encoding_table["63910"] = [231,161] let s:lib.Codec.encoding_table["38331"] = [231,162] let s:lib.Codec.encoding_table["39653"] = [231,163] let s:lib.Codec.encoding_table["40573"] = [231,164] let s:lib.Codec.encoding_table["26308"] = [231,165] let s:lib.Codec.encoding_table["63911"] = [231,166] let s:lib.Codec.encoding_table["29121"] = [231,167] let s:lib.Codec.encoding_table["33865"] = [231,168] let s:lib.Codec.encoding_table["63912"] = [231,169] let s:lib.Codec.encoding_table["63913"] = [231,170] let s:lib.Codec.encoding_table["22603"] = [231,171] let s:lib.Codec.encoding_table["63914"] = [231,172] let s:lib.Codec.encoding_table["63915"] = [231,173] let s:lib.Codec.encoding_table["23992"] = [231,174] let s:lib.Codec.encoding_table["24433"] = [231,175] let s:lib.Codec.encoding_table["63916"] = [231,176] let s:lib.Codec.encoding_table["26144"] = [231,177] let s:lib.Codec.encoding_table["26254"] = [231,178] let s:lib.Codec.encoding_table["27001"] = [231,179] let s:lib.Codec.encoding_table["27054"] = [231,180] let s:lib.Codec.encoding_table["27704"] = [231,181] let s:lib.Codec.encoding_table["27891"] = [231,182] let s:lib.Codec.encoding_table["28214"] = [231,183] let s:lib.Codec.encoding_table["28481"] = [231,184] let s:lib.Codec.encoding_table["28634"] = [231,185] let s:lib.Codec.encoding_table["28699"] = [231,186] let s:lib.Codec.encoding_table["28719"] = [231,187] let s:lib.Codec.encoding_table["29008"] = [231,188] let s:lib.Codec.encoding_table["29151"] = [231,189] let s:lib.Codec.encoding_table["29552"] = [231,190] let s:lib.Codec.encoding_table["63917"] = [231,191] let s:lib.Codec.encoding_table["29787"] = [231,192] let s:lib.Codec.encoding_table["63918"] = [231,193] let s:lib.Codec.encoding_table["29908"] = [231,194] let s:lib.Codec.encoding_table["30408"] = [231,195] let s:lib.Codec.encoding_table["31310"] = [231,196] let s:lib.Codec.encoding_table["32403"] = [231,197] let s:lib.Codec.encoding_table["63919"] = [231,198] let s:lib.Codec.encoding_table["63920"] = [231,199] let s:lib.Codec.encoding_table["33521"] = [231,200] let s:lib.Codec.encoding_table["35424"] = [231,201] let s:lib.Codec.encoding_table["36814"] = [231,202] let s:lib.Codec.encoding_table["63921"] = [231,203] let s:lib.Codec.encoding_table["37704"] = [231,204] let s:lib.Codec.encoding_table["63922"] = [231,205] let s:lib.Codec.encoding_table["38681"] = [231,206] let s:lib.Codec.encoding_table["63923"] = [231,207] let s:lib.Codec.encoding_table["63924"] = [231,208] let s:lib.Codec.encoding_table["20034"] = [231,209] let s:lib.Codec.encoding_table["20522"] = [231,210] let s:lib.Codec.encoding_table["63925"] = [231,211] let s:lib.Codec.encoding_table["21000"] = [231,212] let s:lib.Codec.encoding_table["21473"] = [231,213] let s:lib.Codec.encoding_table["26355"] = [231,214] let s:lib.Codec.encoding_table["27757"] = [231,215] let s:lib.Codec.encoding_table["28618"] = [231,216] let s:lib.Codec.encoding_table["29450"] = [231,217] let s:lib.Codec.encoding_table["30591"] = [231,218] let s:lib.Codec.encoding_table["31330"] = [231,219] let s:lib.Codec.encoding_table["33454"] = [231,220] let s:lib.Codec.encoding_table["34269"] = [231,221] let s:lib.Codec.encoding_table["34306"] = [231,222] let s:lib.Codec.encoding_table["63926"] = [231,223] let s:lib.Codec.encoding_table["35028"] = [231,224] let s:lib.Codec.encoding_table["35427"] = [231,225] let s:lib.Codec.encoding_table["35709"] = [231,226] let s:lib.Codec.encoding_table["35947"] = [231,227] let s:lib.Codec.encoding_table["63927"] = [231,228] let s:lib.Codec.encoding_table["37555"] = [231,229] let s:lib.Codec.encoding_table["63928"] = [231,230] let s:lib.Codec.encoding_table["38675"] = [231,231] let s:lib.Codec.encoding_table["38928"] = [231,232] let s:lib.Codec.encoding_table["20116"] = [231,233] let s:lib.Codec.encoding_table["20237"] = [231,234] let s:lib.Codec.encoding_table["20425"] = [231,235] let s:lib.Codec.encoding_table["20658"] = [231,236] let s:lib.Codec.encoding_table["21320"] = [231,237] let s:lib.Codec.encoding_table["21566"] = [231,238] let s:lib.Codec.encoding_table["21555"] = [231,239] let s:lib.Codec.encoding_table["21978"] = [231,240] let s:lib.Codec.encoding_table["22626"] = [231,241] let s:lib.Codec.encoding_table["22714"] = [231,242] let s:lib.Codec.encoding_table["22887"] = [231,243] let s:lib.Codec.encoding_table["23067"] = [231,244] let s:lib.Codec.encoding_table["23524"] = [231,245] let s:lib.Codec.encoding_table["24735"] = [231,246] let s:lib.Codec.encoding_table["63929"] = [231,247] let s:lib.Codec.encoding_table["25034"] = [231,248] let s:lib.Codec.encoding_table["25942"] = [231,249] let s:lib.Codec.encoding_table["26111"] = [231,250] let s:lib.Codec.encoding_table["26212"] = [231,251] let s:lib.Codec.encoding_table["26791"] = [231,252] let s:lib.Codec.encoding_table["27738"] = [231,253] let s:lib.Codec.encoding_table["28595"] = [231,254] let s:lib.Codec.encoding_table["28879"] = [232,161] let s:lib.Codec.encoding_table["29100"] = [232,162] let s:lib.Codec.encoding_table["29522"] = [232,163] let s:lib.Codec.encoding_table["31613"] = [232,164] let s:lib.Codec.encoding_table["34568"] = [232,165] let s:lib.Codec.encoding_table["35492"] = [232,166] let s:lib.Codec.encoding_table["39986"] = [232,167] let s:lib.Codec.encoding_table["40711"] = [232,168] let s:lib.Codec.encoding_table["23627"] = [232,169] let s:lib.Codec.encoding_table["27779"] = [232,170] let s:lib.Codec.encoding_table["29508"] = [232,171] let s:lib.Codec.encoding_table["29577"] = [232,172] let s:lib.Codec.encoding_table["37434"] = [232,173] let s:lib.Codec.encoding_table["28331"] = [232,174] let s:lib.Codec.encoding_table["29797"] = [232,175] let s:lib.Codec.encoding_table["30239"] = [232,176] let s:lib.Codec.encoding_table["31337"] = [232,177] let s:lib.Codec.encoding_table["32277"] = [232,178] let s:lib.Codec.encoding_table["34314"] = [232,179] let s:lib.Codec.encoding_table["20800"] = [232,180] let s:lib.Codec.encoding_table["22725"] = [232,181] let s:lib.Codec.encoding_table["25793"] = [232,182] let s:lib.Codec.encoding_table["29934"] = [232,183] let s:lib.Codec.encoding_table["29973"] = [232,184] let s:lib.Codec.encoding_table["30320"] = [232,185] let s:lib.Codec.encoding_table["32705"] = [232,186] let s:lib.Codec.encoding_table["37013"] = [232,187] let s:lib.Codec.encoding_table["38605"] = [232,188] let s:lib.Codec.encoding_table["39252"] = [232,189] let s:lib.Codec.encoding_table["28198"] = [232,190] let s:lib.Codec.encoding_table["29926"] = [232,191] let s:lib.Codec.encoding_table["31401"] = [232,192] let s:lib.Codec.encoding_table["31402"] = [232,193] let s:lib.Codec.encoding_table["33253"] = [232,194] let s:lib.Codec.encoding_table["34521"] = [232,195] let s:lib.Codec.encoding_table["34680"] = [232,196] let s:lib.Codec.encoding_table["35355"] = [232,197] let s:lib.Codec.encoding_table["23113"] = [232,198] let s:lib.Codec.encoding_table["23436"] = [232,199] let s:lib.Codec.encoding_table["23451"] = [232,200] let s:lib.Codec.encoding_table["26785"] = [232,201] let s:lib.Codec.encoding_table["26880"] = [232,202] let s:lib.Codec.encoding_table["28003"] = [232,203] let s:lib.Codec.encoding_table["29609"] = [232,204] let s:lib.Codec.encoding_table["29715"] = [232,205] let s:lib.Codec.encoding_table["29740"] = [232,206] let s:lib.Codec.encoding_table["30871"] = [232,207] let s:lib.Codec.encoding_table["32233"] = [232,208] let s:lib.Codec.encoding_table["32747"] = [232,209] let s:lib.Codec.encoding_table["33048"] = [232,210] let s:lib.Codec.encoding_table["33109"] = [232,211] let s:lib.Codec.encoding_table["33694"] = [232,212] let s:lib.Codec.encoding_table["35916"] = [232,213] let s:lib.Codec.encoding_table["38446"] = [232,214] let s:lib.Codec.encoding_table["38929"] = [232,215] let s:lib.Codec.encoding_table["26352"] = [232,216] let s:lib.Codec.encoding_table["24448"] = [232,217] let s:lib.Codec.encoding_table["26106"] = [232,218] let s:lib.Codec.encoding_table["26505"] = [232,219] let s:lib.Codec.encoding_table["27754"] = [232,220] let s:lib.Codec.encoding_table["29579"] = [232,221] let s:lib.Codec.encoding_table["20525"] = [232,222] let s:lib.Codec.encoding_table["23043"] = [232,223] let s:lib.Codec.encoding_table["27498"] = [232,224] let s:lib.Codec.encoding_table["30702"] = [232,225] let s:lib.Codec.encoding_table["22806"] = [232,226] let s:lib.Codec.encoding_table["23916"] = [232,227] let s:lib.Codec.encoding_table["24013"] = [232,228] let s:lib.Codec.encoding_table["29477"] = [232,229] let s:lib.Codec.encoding_table["30031"] = [232,230] let s:lib.Codec.encoding_table["63930"] = [232,231] let s:lib.Codec.encoding_table["63931"] = [232,232] let s:lib.Codec.encoding_table["20709"] = [232,233] let s:lib.Codec.encoding_table["20985"] = [232,234] let s:lib.Codec.encoding_table["22575"] = [232,235] let s:lib.Codec.encoding_table["22829"] = [232,236] let s:lib.Codec.encoding_table["22934"] = [232,237] let s:lib.Codec.encoding_table["23002"] = [232,238] let s:lib.Codec.encoding_table["23525"] = [232,239] let s:lib.Codec.encoding_table["63932"] = [232,240] let s:lib.Codec.encoding_table["63933"] = [232,241] let s:lib.Codec.encoding_table["23970"] = [232,242] let s:lib.Codec.encoding_table["25303"] = [232,243] let s:lib.Codec.encoding_table["25622"] = [232,244] let s:lib.Codec.encoding_table["25747"] = [232,245] let s:lib.Codec.encoding_table["25854"] = [232,246] let s:lib.Codec.encoding_table["63934"] = [232,247] let s:lib.Codec.encoding_table["26332"] = [232,248] let s:lib.Codec.encoding_table["63935"] = [232,249] let s:lib.Codec.encoding_table["27208"] = [232,250] let s:lib.Codec.encoding_table["63936"] = [232,251] let s:lib.Codec.encoding_table["29183"] = [232,252] let s:lib.Codec.encoding_table["29796"] = [232,253] let s:lib.Codec.encoding_table["63937"] = [232,254] let s:lib.Codec.encoding_table["31368"] = [233,161] let s:lib.Codec.encoding_table["31407"] = [233,162] let s:lib.Codec.encoding_table["32327"] = [233,163] let s:lib.Codec.encoding_table["32350"] = [233,164] let s:lib.Codec.encoding_table["32768"] = [233,165] let s:lib.Codec.encoding_table["33136"] = [233,166] let s:lib.Codec.encoding_table["63938"] = [233,167] let s:lib.Codec.encoding_table["34799"] = [233,168] let s:lib.Codec.encoding_table["35201"] = [233,169] let s:lib.Codec.encoding_table["35616"] = [233,170] let s:lib.Codec.encoding_table["36953"] = [233,171] let s:lib.Codec.encoding_table["63939"] = [233,172] let s:lib.Codec.encoding_table["36992"] = [233,173] let s:lib.Codec.encoding_table["39250"] = [233,174] let s:lib.Codec.encoding_table["24958"] = [233,175] let s:lib.Codec.encoding_table["27442"] = [233,176] let s:lib.Codec.encoding_table["28020"] = [233,177] let s:lib.Codec.encoding_table["32287"] = [233,178] let s:lib.Codec.encoding_table["35109"] = [233,179] let s:lib.Codec.encoding_table["36785"] = [233,180] let s:lib.Codec.encoding_table["20433"] = [233,181] let s:lib.Codec.encoding_table["20653"] = [233,182] let s:lib.Codec.encoding_table["20887"] = [233,183] let s:lib.Codec.encoding_table["21191"] = [233,184] let s:lib.Codec.encoding_table["22471"] = [233,185] let s:lib.Codec.encoding_table["22665"] = [233,186] let s:lib.Codec.encoding_table["23481"] = [233,187] let s:lib.Codec.encoding_table["24248"] = [233,188] let s:lib.Codec.encoding_table["24898"] = [233,189] let s:lib.Codec.encoding_table["27029"] = [233,190] let s:lib.Codec.encoding_table["28044"] = [233,191] let s:lib.Codec.encoding_table["28263"] = [233,192] let s:lib.Codec.encoding_table["28342"] = [233,193] let s:lib.Codec.encoding_table["29076"] = [233,194] let s:lib.Codec.encoding_table["29794"] = [233,195] let s:lib.Codec.encoding_table["29992"] = [233,196] let s:lib.Codec.encoding_table["29996"] = [233,197] let s:lib.Codec.encoding_table["32883"] = [233,198] let s:lib.Codec.encoding_table["33592"] = [233,199] let s:lib.Codec.encoding_table["33993"] = [233,200] let s:lib.Codec.encoding_table["36362"] = [233,201] let s:lib.Codec.encoding_table["37780"] = [233,202] let s:lib.Codec.encoding_table["37854"] = [233,203] let s:lib.Codec.encoding_table["63940"] = [233,204] let s:lib.Codec.encoding_table["20110"] = [233,205] let s:lib.Codec.encoding_table["20305"] = [233,206] let s:lib.Codec.encoding_table["20598"] = [233,207] let s:lib.Codec.encoding_table["20778"] = [233,208] let s:lib.Codec.encoding_table["21448"] = [233,209] let s:lib.Codec.encoding_table["21451"] = [233,210] let s:lib.Codec.encoding_table["21491"] = [233,211] let s:lib.Codec.encoding_table["23431"] = [233,212] let s:lib.Codec.encoding_table["23507"] = [233,213] let s:lib.Codec.encoding_table["23588"] = [233,214] let s:lib.Codec.encoding_table["24858"] = [233,215] let s:lib.Codec.encoding_table["24962"] = [233,216] let s:lib.Codec.encoding_table["26100"] = [233,217] let s:lib.Codec.encoding_table["29275"] = [233,218] let s:lib.Codec.encoding_table["29591"] = [233,219] let s:lib.Codec.encoding_table["29760"] = [233,220] let s:lib.Codec.encoding_table["30402"] = [233,221] let s:lib.Codec.encoding_table["31056"] = [233,222] let s:lib.Codec.encoding_table["31121"] = [233,223] let s:lib.Codec.encoding_table["31161"] = [233,224] let s:lib.Codec.encoding_table["32006"] = [233,225] let s:lib.Codec.encoding_table["32701"] = [233,226] let s:lib.Codec.encoding_table["33419"] = [233,227] let s:lib.Codec.encoding_table["34261"] = [233,228] let s:lib.Codec.encoding_table["34398"] = [233,229] let s:lib.Codec.encoding_table["36802"] = [233,230] let s:lib.Codec.encoding_table["36935"] = [233,231] let s:lib.Codec.encoding_table["37109"] = [233,232] let s:lib.Codec.encoding_table["37354"] = [233,233] let s:lib.Codec.encoding_table["38533"] = [233,234] let s:lib.Codec.encoding_table["38632"] = [233,235] let s:lib.Codec.encoding_table["38633"] = [233,236] let s:lib.Codec.encoding_table["21206"] = [233,237] let s:lib.Codec.encoding_table["24423"] = [233,238] let s:lib.Codec.encoding_table["26093"] = [233,239] let s:lib.Codec.encoding_table["26161"] = [233,240] let s:lib.Codec.encoding_table["26671"] = [233,241] let s:lib.Codec.encoding_table["29020"] = [233,242] let s:lib.Codec.encoding_table["31286"] = [233,243] let s:lib.Codec.encoding_table["37057"] = [233,244] let s:lib.Codec.encoding_table["38922"] = [233,245] let s:lib.Codec.encoding_table["20113"] = [233,246] let s:lib.Codec.encoding_table["63941"] = [233,247] let s:lib.Codec.encoding_table["27218"] = [233,248] let s:lib.Codec.encoding_table["27550"] = [233,249] let s:lib.Codec.encoding_table["28560"] = [233,250] let s:lib.Codec.encoding_table["29065"] = [233,251] let s:lib.Codec.encoding_table["32792"] = [233,252] let s:lib.Codec.encoding_table["33464"] = [233,253] let s:lib.Codec.encoding_table["34131"] = [233,254] let s:lib.Codec.encoding_table["36939"] = [234,161] let s:lib.Codec.encoding_table["38549"] = [234,162] let s:lib.Codec.encoding_table["38642"] = [234,163] let s:lib.Codec.encoding_table["38907"] = [234,164] let s:lib.Codec.encoding_table["34074"] = [234,165] let s:lib.Codec.encoding_table["39729"] = [234,166] let s:lib.Codec.encoding_table["20112"] = [234,167] let s:lib.Codec.encoding_table["29066"] = [234,168] let s:lib.Codec.encoding_table["38596"] = [234,169] let s:lib.Codec.encoding_table["20803"] = [234,170] let s:lib.Codec.encoding_table["21407"] = [234,171] let s:lib.Codec.encoding_table["21729"] = [234,172] let s:lib.Codec.encoding_table["22291"] = [234,173] let s:lib.Codec.encoding_table["22290"] = [234,174] let s:lib.Codec.encoding_table["22435"] = [234,175] let s:lib.Codec.encoding_table["23195"] = [234,176] let s:lib.Codec.encoding_table["23236"] = [234,177] let s:lib.Codec.encoding_table["23491"] = [234,178] let s:lib.Codec.encoding_table["24616"] = [234,179] let s:lib.Codec.encoding_table["24895"] = [234,180] let s:lib.Codec.encoding_table["25588"] = [234,181] let s:lib.Codec.encoding_table["27781"] = [234,182] let s:lib.Codec.encoding_table["27961"] = [234,183] let s:lib.Codec.encoding_table["28274"] = [234,184] let s:lib.Codec.encoding_table["28304"] = [234,185] let s:lib.Codec.encoding_table["29232"] = [234,186] let s:lib.Codec.encoding_table["29503"] = [234,187] let s:lib.Codec.encoding_table["29783"] = [234,188] let s:lib.Codec.encoding_table["33489"] = [234,189] let s:lib.Codec.encoding_table["34945"] = [234,190] let s:lib.Codec.encoding_table["36677"] = [234,191] let s:lib.Codec.encoding_table["36960"] = [234,192] let s:lib.Codec.encoding_table["63942"] = [234,193] let s:lib.Codec.encoding_table["38498"] = [234,194] let s:lib.Codec.encoding_table["39000"] = [234,195] let s:lib.Codec.encoding_table["40219"] = [234,196] let s:lib.Codec.encoding_table["26376"] = [234,197] let s:lib.Codec.encoding_table["36234"] = [234,198] let s:lib.Codec.encoding_table["37470"] = [234,199] let s:lib.Codec.encoding_table["20301"] = [234,200] let s:lib.Codec.encoding_table["20553"] = [234,201] let s:lib.Codec.encoding_table["20702"] = [234,202] let s:lib.Codec.encoding_table["21361"] = [234,203] let s:lib.Codec.encoding_table["22285"] = [234,204] let s:lib.Codec.encoding_table["22996"] = [234,205] let s:lib.Codec.encoding_table["23041"] = [234,206] let s:lib.Codec.encoding_table["23561"] = [234,207] let s:lib.Codec.encoding_table["24944"] = [234,208] let s:lib.Codec.encoding_table["26256"] = [234,209] let s:lib.Codec.encoding_table["28205"] = [234,210] let s:lib.Codec.encoding_table["29234"] = [234,211] let s:lib.Codec.encoding_table["29771"] = [234,212] let s:lib.Codec.encoding_table["32239"] = [234,213] let s:lib.Codec.encoding_table["32963"] = [234,214] let s:lib.Codec.encoding_table["33806"] = [234,215] let s:lib.Codec.encoding_table["33894"] = [234,216] let s:lib.Codec.encoding_table["34111"] = [234,217] let s:lib.Codec.encoding_table["34655"] = [234,218] let s:lib.Codec.encoding_table["34907"] = [234,219] let s:lib.Codec.encoding_table["35096"] = [234,220] let s:lib.Codec.encoding_table["35586"] = [234,221] let s:lib.Codec.encoding_table["36949"] = [234,222] let s:lib.Codec.encoding_table["38859"] = [234,223] let s:lib.Codec.encoding_table["39759"] = [234,224] let s:lib.Codec.encoding_table["20083"] = [234,225] let s:lib.Codec.encoding_table["20369"] = [234,226] let s:lib.Codec.encoding_table["20754"] = [234,227] let s:lib.Codec.encoding_table["20842"] = [234,228] let s:lib.Codec.encoding_table["63943"] = [234,229] let s:lib.Codec.encoding_table["21807"] = [234,230] let s:lib.Codec.encoding_table["21929"] = [234,231] let s:lib.Codec.encoding_table["23418"] = [234,232] let s:lib.Codec.encoding_table["23461"] = [234,233] let s:lib.Codec.encoding_table["24188"] = [234,234] let s:lib.Codec.encoding_table["24189"] = [234,235] let s:lib.Codec.encoding_table["24254"] = [234,236] let s:lib.Codec.encoding_table["24736"] = [234,237] let s:lib.Codec.encoding_table["24799"] = [234,238] let s:lib.Codec.encoding_table["24840"] = [234,239] let s:lib.Codec.encoding_table["24841"] = [234,240] let s:lib.Codec.encoding_table["25540"] = [234,241] let s:lib.Codec.encoding_table["25912"] = [234,242] let s:lib.Codec.encoding_table["26377"] = [234,243] let s:lib.Codec.encoding_table["63944"] = [234,244] let s:lib.Codec.encoding_table["26580"] = [234,245] let s:lib.Codec.encoding_table["26586"] = [234,246] let s:lib.Codec.encoding_table["63945"] = [234,247] let s:lib.Codec.encoding_table["26977"] = [234,248] let s:lib.Codec.encoding_table["26978"] = [234,249] let s:lib.Codec.encoding_table["27833"] = [234,250] let s:lib.Codec.encoding_table["27943"] = [234,251] let s:lib.Codec.encoding_table["63946"] = [234,252] let s:lib.Codec.encoding_table["28216"] = [234,253] let s:lib.Codec.encoding_table["63947"] = [234,254] let s:lib.Codec.encoding_table["28641"] = [235,161] let s:lib.Codec.encoding_table["29494"] = [235,162] let s:lib.Codec.encoding_table["29495"] = [235,163] let s:lib.Codec.encoding_table["63948"] = [235,164] let s:lib.Codec.encoding_table["29788"] = [235,165] let s:lib.Codec.encoding_table["30001"] = [235,166] let s:lib.Codec.encoding_table["63949"] = [235,167] let s:lib.Codec.encoding_table["30290"] = [235,168] let s:lib.Codec.encoding_table["63950"] = [235,169] let s:lib.Codec.encoding_table["63951"] = [235,170] let s:lib.Codec.encoding_table["32173"] = [235,171] let s:lib.Codec.encoding_table["33278"] = [235,172] let s:lib.Codec.encoding_table["33848"] = [235,173] let s:lib.Codec.encoding_table["35029"] = [235,174] let s:lib.Codec.encoding_table["35480"] = [235,175] let s:lib.Codec.encoding_table["35547"] = [235,176] let s:lib.Codec.encoding_table["35565"] = [235,177] let s:lib.Codec.encoding_table["36400"] = [235,178] let s:lib.Codec.encoding_table["36418"] = [235,179] let s:lib.Codec.encoding_table["36938"] = [235,180] let s:lib.Codec.encoding_table["36926"] = [235,181] let s:lib.Codec.encoding_table["36986"] = [235,182] let s:lib.Codec.encoding_table["37193"] = [235,183] let s:lib.Codec.encoding_table["37321"] = [235,184] let s:lib.Codec.encoding_table["37742"] = [235,185] let s:lib.Codec.encoding_table["63952"] = [235,186] let s:lib.Codec.encoding_table["63953"] = [235,187] let s:lib.Codec.encoding_table["22537"] = [235,188] let s:lib.Codec.encoding_table["63954"] = [235,189] let s:lib.Codec.encoding_table["27603"] = [235,190] let s:lib.Codec.encoding_table["32905"] = [235,191] let s:lib.Codec.encoding_table["32946"] = [235,192] let s:lib.Codec.encoding_table["63955"] = [235,193] let s:lib.Codec.encoding_table["63956"] = [235,194] let s:lib.Codec.encoding_table["20801"] = [235,195] let s:lib.Codec.encoding_table["22891"] = [235,196] let s:lib.Codec.encoding_table["23609"] = [235,197] let s:lib.Codec.encoding_table["63957"] = [235,198] let s:lib.Codec.encoding_table["63958"] = [235,199] let s:lib.Codec.encoding_table["28516"] = [235,200] let s:lib.Codec.encoding_table["29607"] = [235,201] let s:lib.Codec.encoding_table["32996"] = [235,202] let s:lib.Codec.encoding_table["36103"] = [235,203] let s:lib.Codec.encoding_table["63959"] = [235,204] let s:lib.Codec.encoding_table["37399"] = [235,205] let s:lib.Codec.encoding_table["38287"] = [235,206] let s:lib.Codec.encoding_table["63960"] = [235,207] let s:lib.Codec.encoding_table["63961"] = [235,208] let s:lib.Codec.encoding_table["63962"] = [235,209] let s:lib.Codec.encoding_table["63963"] = [235,210] let s:lib.Codec.encoding_table["32895"] = [235,211] let s:lib.Codec.encoding_table["25102"] = [235,212] let s:lib.Codec.encoding_table["28700"] = [235,213] let s:lib.Codec.encoding_table["32104"] = [235,214] let s:lib.Codec.encoding_table["34701"] = [235,215] let s:lib.Codec.encoding_table["63964"] = [235,216] let s:lib.Codec.encoding_table["22432"] = [235,217] let s:lib.Codec.encoding_table["24681"] = [235,218] let s:lib.Codec.encoding_table["24903"] = [235,219] let s:lib.Codec.encoding_table["27575"] = [235,220] let s:lib.Codec.encoding_table["35518"] = [235,221] let s:lib.Codec.encoding_table["37504"] = [235,222] let s:lib.Codec.encoding_table["38577"] = [235,223] let s:lib.Codec.encoding_table["20057"] = [235,224] let s:lib.Codec.encoding_table["21535"] = [235,225] let s:lib.Codec.encoding_table["28139"] = [235,226] let s:lib.Codec.encoding_table["34093"] = [235,227] let s:lib.Codec.encoding_table["38512"] = [235,228] let s:lib.Codec.encoding_table["38899"] = [235,229] let s:lib.Codec.encoding_table["39150"] = [235,230] let s:lib.Codec.encoding_table["25558"] = [235,231] let s:lib.Codec.encoding_table["27875"] = [235,232] let s:lib.Codec.encoding_table["37009"] = [235,233] let s:lib.Codec.encoding_table["20957"] = [235,234] let s:lib.Codec.encoding_table["25033"] = [235,235] let s:lib.Codec.encoding_table["33210"] = [235,236] let s:lib.Codec.encoding_table["40441"] = [235,237] let s:lib.Codec.encoding_table["20381"] = [235,238] let s:lib.Codec.encoding_table["20506"] = [235,239] let s:lib.Codec.encoding_table["20736"] = [235,240] let s:lib.Codec.encoding_table["23452"] = [235,241] let s:lib.Codec.encoding_table["24847"] = [235,242] let s:lib.Codec.encoding_table["25087"] = [235,243] let s:lib.Codec.encoding_table["25836"] = [235,244] let s:lib.Codec.encoding_table["26885"] = [235,245] let s:lib.Codec.encoding_table["27589"] = [235,246] let s:lib.Codec.encoding_table["30097"] = [235,247] let s:lib.Codec.encoding_table["30691"] = [235,248] let s:lib.Codec.encoding_table["32681"] = [235,249] let s:lib.Codec.encoding_table["33380"] = [235,250] let s:lib.Codec.encoding_table["34191"] = [235,251] let s:lib.Codec.encoding_table["34811"] = [235,252] let s:lib.Codec.encoding_table["34915"] = [235,253] let s:lib.Codec.encoding_table["35516"] = [235,254] let s:lib.Codec.encoding_table["35696"] = [236,161] let s:lib.Codec.encoding_table["37291"] = [236,162] let s:lib.Codec.encoding_table["20108"] = [236,163] let s:lib.Codec.encoding_table["20197"] = [236,164] let s:lib.Codec.encoding_table["20234"] = [236,165] let s:lib.Codec.encoding_table["63965"] = [236,166] let s:lib.Codec.encoding_table["63966"] = [236,167] let s:lib.Codec.encoding_table["22839"] = [236,168] let s:lib.Codec.encoding_table["23016"] = [236,169] let s:lib.Codec.encoding_table["63967"] = [236,170] let s:lib.Codec.encoding_table["24050"] = [236,171] let s:lib.Codec.encoding_table["24347"] = [236,172] let s:lib.Codec.encoding_table["24411"] = [236,173] let s:lib.Codec.encoding_table["24609"] = [236,174] let s:lib.Codec.encoding_table["63968"] = [236,175] let s:lib.Codec.encoding_table["63969"] = [236,176] let s:lib.Codec.encoding_table["63970"] = [236,177] let s:lib.Codec.encoding_table["63971"] = [236,178] let s:lib.Codec.encoding_table["29246"] = [236,179] let s:lib.Codec.encoding_table["29669"] = [236,180] let s:lib.Codec.encoding_table["63972"] = [236,181] let s:lib.Codec.encoding_table["30064"] = [236,182] let s:lib.Codec.encoding_table["30157"] = [236,183] let s:lib.Codec.encoding_table["63973"] = [236,184] let s:lib.Codec.encoding_table["31227"] = [236,185] let s:lib.Codec.encoding_table["63974"] = [236,186] let s:lib.Codec.encoding_table["32780"] = [236,187] let s:lib.Codec.encoding_table["32819"] = [236,188] let s:lib.Codec.encoding_table["32900"] = [236,189] let s:lib.Codec.encoding_table["33505"] = [236,190] let s:lib.Codec.encoding_table["33617"] = [236,191] let s:lib.Codec.encoding_table["63975"] = [236,192] let s:lib.Codec.encoding_table["63976"] = [236,193] let s:lib.Codec.encoding_table["36029"] = [236,194] let s:lib.Codec.encoding_table["36019"] = [236,195] let s:lib.Codec.encoding_table["36999"] = [236,196] let s:lib.Codec.encoding_table["63977"] = [236,197] let s:lib.Codec.encoding_table["63978"] = [236,198] let s:lib.Codec.encoding_table["39156"] = [236,199] let s:lib.Codec.encoding_table["39180"] = [236,200] let s:lib.Codec.encoding_table["63979"] = [236,201] let s:lib.Codec.encoding_table["63980"] = [236,202] let s:lib.Codec.encoding_table["28727"] = [236,203] let s:lib.Codec.encoding_table["30410"] = [236,204] let s:lib.Codec.encoding_table["32714"] = [236,205] let s:lib.Codec.encoding_table["32716"] = [236,206] let s:lib.Codec.encoding_table["32764"] = [236,207] let s:lib.Codec.encoding_table["35610"] = [236,208] let s:lib.Codec.encoding_table["20154"] = [236,209] let s:lib.Codec.encoding_table["20161"] = [236,210] let s:lib.Codec.encoding_table["20995"] = [236,211] let s:lib.Codec.encoding_table["21360"] = [236,212] let s:lib.Codec.encoding_table["63981"] = [236,213] let s:lib.Codec.encoding_table["21693"] = [236,214] let s:lib.Codec.encoding_table["22240"] = [236,215] let s:lib.Codec.encoding_table["23035"] = [236,216] let s:lib.Codec.encoding_table["23493"] = [236,217] let s:lib.Codec.encoding_table["24341"] = [236,218] let s:lib.Codec.encoding_table["24525"] = [236,219] let s:lib.Codec.encoding_table["28270"] = [236,220] let s:lib.Codec.encoding_table["63982"] = [236,221] let s:lib.Codec.encoding_table["63983"] = [236,222] let s:lib.Codec.encoding_table["32106"] = [236,223] let s:lib.Codec.encoding_table["33589"] = [236,224] let s:lib.Codec.encoding_table["63984"] = [236,225] let s:lib.Codec.encoding_table["34451"] = [236,226] let s:lib.Codec.encoding_table["35469"] = [236,227] let s:lib.Codec.encoding_table["63985"] = [236,228] let s:lib.Codec.encoding_table["38765"] = [236,229] let s:lib.Codec.encoding_table["38775"] = [236,230] let s:lib.Codec.encoding_table["63986"] = [236,231] let s:lib.Codec.encoding_table["63987"] = [236,232] let s:lib.Codec.encoding_table["19968"] = [236,233] let s:lib.Codec.encoding_table["20314"] = [236,234] let s:lib.Codec.encoding_table["20350"] = [236,235] let s:lib.Codec.encoding_table["22777"] = [236,236] let s:lib.Codec.encoding_table["26085"] = [236,237] let s:lib.Codec.encoding_table["28322"] = [236,238] let s:lib.Codec.encoding_table["36920"] = [236,239] let s:lib.Codec.encoding_table["37808"] = [236,240] let s:lib.Codec.encoding_table["39353"] = [236,241] let s:lib.Codec.encoding_table["20219"] = [236,242] let s:lib.Codec.encoding_table["22764"] = [236,243] let s:lib.Codec.encoding_table["22922"] = [236,244] let s:lib.Codec.encoding_table["23001"] = [236,245] let s:lib.Codec.encoding_table["24641"] = [236,246] let s:lib.Codec.encoding_table["63988"] = [236,247] let s:lib.Codec.encoding_table["63989"] = [236,248] let s:lib.Codec.encoding_table["31252"] = [236,249] let s:lib.Codec.encoding_table["63990"] = [236,250] let s:lib.Codec.encoding_table["33615"] = [236,251] let s:lib.Codec.encoding_table["36035"] = [236,252] let s:lib.Codec.encoding_table["20837"] = [236,253] let s:lib.Codec.encoding_table["21316"] = [236,254] let s:lib.Codec.encoding_table["63991"] = [237,161] let s:lib.Codec.encoding_table["63992"] = [237,162] let s:lib.Codec.encoding_table["63993"] = [237,163] let s:lib.Codec.encoding_table["20173"] = [237,164] let s:lib.Codec.encoding_table["21097"] = [237,165] let s:lib.Codec.encoding_table["23381"] = [237,166] let s:lib.Codec.encoding_table["33471"] = [237,167] let s:lib.Codec.encoding_table["20180"] = [237,168] let s:lib.Codec.encoding_table["21050"] = [237,169] let s:lib.Codec.encoding_table["21672"] = [237,170] let s:lib.Codec.encoding_table["22985"] = [237,171] let s:lib.Codec.encoding_table["23039"] = [237,172] let s:lib.Codec.encoding_table["23376"] = [237,173] let s:lib.Codec.encoding_table["23383"] = [237,174] let s:lib.Codec.encoding_table["23388"] = [237,175] let s:lib.Codec.encoding_table["24675"] = [237,176] let s:lib.Codec.encoding_table["24904"] = [237,177] let s:lib.Codec.encoding_table["28363"] = [237,178] let s:lib.Codec.encoding_table["28825"] = [237,179] let s:lib.Codec.encoding_table["29038"] = [237,180] let s:lib.Codec.encoding_table["29574"] = [237,181] let s:lib.Codec.encoding_table["29943"] = [237,182] let s:lib.Codec.encoding_table["30133"] = [237,183] let s:lib.Codec.encoding_table["30913"] = [237,184] let s:lib.Codec.encoding_table["32043"] = [237,185] let s:lib.Codec.encoding_table["32773"] = [237,186] let s:lib.Codec.encoding_table["33258"] = [237,187] let s:lib.Codec.encoding_table["33576"] = [237,188] let s:lib.Codec.encoding_table["34071"] = [237,189] let s:lib.Codec.encoding_table["34249"] = [237,190] let s:lib.Codec.encoding_table["35566"] = [237,191] let s:lib.Codec.encoding_table["36039"] = [237,192] let s:lib.Codec.encoding_table["38604"] = [237,193] let s:lib.Codec.encoding_table["20316"] = [237,194] let s:lib.Codec.encoding_table["21242"] = [237,195] let s:lib.Codec.encoding_table["22204"] = [237,196] let s:lib.Codec.encoding_table["26027"] = [237,197] let s:lib.Codec.encoding_table["26152"] = [237,198] let s:lib.Codec.encoding_table["28796"] = [237,199] let s:lib.Codec.encoding_table["28856"] = [237,200] let s:lib.Codec.encoding_table["29237"] = [237,201] let s:lib.Codec.encoding_table["32189"] = [237,202] let s:lib.Codec.encoding_table["33421"] = [237,203] let s:lib.Codec.encoding_table["37196"] = [237,204] let s:lib.Codec.encoding_table["38592"] = [237,205] let s:lib.Codec.encoding_table["40306"] = [237,206] let s:lib.Codec.encoding_table["23409"] = [237,207] let s:lib.Codec.encoding_table["26855"] = [237,208] let s:lib.Codec.encoding_table["27544"] = [237,209] let s:lib.Codec.encoding_table["28538"] = [237,210] let s:lib.Codec.encoding_table["30430"] = [237,211] let s:lib.Codec.encoding_table["23697"] = [237,212] let s:lib.Codec.encoding_table["26283"] = [237,213] let s:lib.Codec.encoding_table["28507"] = [237,214] let s:lib.Codec.encoding_table["31668"] = [237,215] let s:lib.Codec.encoding_table["31786"] = [237,216] let s:lib.Codec.encoding_table["34870"] = [237,217] let s:lib.Codec.encoding_table["38620"] = [237,218] let s:lib.Codec.encoding_table["19976"] = [237,219] let s:lib.Codec.encoding_table["20183"] = [237,220] let s:lib.Codec.encoding_table["21280"] = [237,221] let s:lib.Codec.encoding_table["22580"] = [237,222] let s:lib.Codec.encoding_table["22715"] = [237,223] let s:lib.Codec.encoding_table["22767"] = [237,224] let s:lib.Codec.encoding_table["22892"] = [237,225] let s:lib.Codec.encoding_table["23559"] = [237,226] let s:lib.Codec.encoding_table["24115"] = [237,227] let s:lib.Codec.encoding_table["24196"] = [237,228] let s:lib.Codec.encoding_table["24373"] = [237,229] let s:lib.Codec.encoding_table["25484"] = [237,230] let s:lib.Codec.encoding_table["26290"] = [237,231] let s:lib.Codec.encoding_table["26454"] = [237,232] let s:lib.Codec.encoding_table["27167"] = [237,233] let s:lib.Codec.encoding_table["27299"] = [237,234] let s:lib.Codec.encoding_table["27404"] = [237,235] let s:lib.Codec.encoding_table["28479"] = [237,236] let s:lib.Codec.encoding_table["29254"] = [237,237] let s:lib.Codec.encoding_table["63994"] = [237,238] let s:lib.Codec.encoding_table["29520"] = [237,239] let s:lib.Codec.encoding_table["29835"] = [237,240] let s:lib.Codec.encoding_table["31456"] = [237,241] let s:lib.Codec.encoding_table["31911"] = [237,242] let s:lib.Codec.encoding_table["33144"] = [237,243] let s:lib.Codec.encoding_table["33247"] = [237,244] let s:lib.Codec.encoding_table["33255"] = [237,245] let s:lib.Codec.encoding_table["33674"] = [237,246] let s:lib.Codec.encoding_table["33900"] = [237,247] let s:lib.Codec.encoding_table["34083"] = [237,248] let s:lib.Codec.encoding_table["34196"] = [237,249] let s:lib.Codec.encoding_table["34255"] = [237,250] let s:lib.Codec.encoding_table["35037"] = [237,251] let s:lib.Codec.encoding_table["36115"] = [237,252] let s:lib.Codec.encoding_table["37292"] = [237,253] let s:lib.Codec.encoding_table["38263"] = [237,254] let s:lib.Codec.encoding_table["38556"] = [238,161] let s:lib.Codec.encoding_table["20877"] = [238,162] let s:lib.Codec.encoding_table["21705"] = [238,163] let s:lib.Codec.encoding_table["22312"] = [238,164] let s:lib.Codec.encoding_table["23472"] = [238,165] let s:lib.Codec.encoding_table["25165"] = [238,166] let s:lib.Codec.encoding_table["26448"] = [238,167] let s:lib.Codec.encoding_table["26685"] = [238,168] let s:lib.Codec.encoding_table["26771"] = [238,169] let s:lib.Codec.encoding_table["28221"] = [238,170] let s:lib.Codec.encoding_table["28371"] = [238,171] let s:lib.Codec.encoding_table["28797"] = [238,172] let s:lib.Codec.encoding_table["32289"] = [238,173] let s:lib.Codec.encoding_table["35009"] = [238,174] let s:lib.Codec.encoding_table["36001"] = [238,175] let s:lib.Codec.encoding_table["36617"] = [238,176] let s:lib.Codec.encoding_table["40779"] = [238,177] let s:lib.Codec.encoding_table["40782"] = [238,178] let s:lib.Codec.encoding_table["29229"] = [238,179] let s:lib.Codec.encoding_table["31631"] = [238,180] let s:lib.Codec.encoding_table["35533"] = [238,181] let s:lib.Codec.encoding_table["37658"] = [238,182] let s:lib.Codec.encoding_table["20295"] = [238,183] let s:lib.Codec.encoding_table["20302"] = [238,184] let s:lib.Codec.encoding_table["20786"] = [238,185] let s:lib.Codec.encoding_table["21632"] = [238,186] let s:lib.Codec.encoding_table["22992"] = [238,187] let s:lib.Codec.encoding_table["24213"] = [238,188] let s:lib.Codec.encoding_table["25269"] = [238,189] let s:lib.Codec.encoding_table["26485"] = [238,190] let s:lib.Codec.encoding_table["26990"] = [238,191] let s:lib.Codec.encoding_table["27159"] = [238,192] let s:lib.Codec.encoding_table["27822"] = [238,193] let s:lib.Codec.encoding_table["28186"] = [238,194] let s:lib.Codec.encoding_table["29401"] = [238,195] let s:lib.Codec.encoding_table["29482"] = [238,196] let s:lib.Codec.encoding_table["30141"] = [238,197] let s:lib.Codec.encoding_table["31672"] = [238,198] let s:lib.Codec.encoding_table["32053"] = [238,199] let s:lib.Codec.encoding_table["33511"] = [238,200] let s:lib.Codec.encoding_table["33785"] = [238,201] let s:lib.Codec.encoding_table["33879"] = [238,202] let s:lib.Codec.encoding_table["34295"] = [238,203] let s:lib.Codec.encoding_table["35419"] = [238,204] let s:lib.Codec.encoding_table["36015"] = [238,205] let s:lib.Codec.encoding_table["36487"] = [238,206] let s:lib.Codec.encoding_table["36889"] = [238,207] let s:lib.Codec.encoding_table["37048"] = [238,208] let s:lib.Codec.encoding_table["38606"] = [238,209] let s:lib.Codec.encoding_table["40799"] = [238,210] let s:lib.Codec.encoding_table["21219"] = [238,211] let s:lib.Codec.encoding_table["21514"] = [238,212] let s:lib.Codec.encoding_table["23265"] = [238,213] let s:lib.Codec.encoding_table["23490"] = [238,214] let s:lib.Codec.encoding_table["25688"] = [238,215] let s:lib.Codec.encoding_table["25973"] = [238,216] let s:lib.Codec.encoding_table["28404"] = [238,217] let s:lib.Codec.encoding_table["29380"] = [238,218] let s:lib.Codec.encoding_table["63995"] = [238,219] let s:lib.Codec.encoding_table["30340"] = [238,220] let s:lib.Codec.encoding_table["31309"] = [238,221] let s:lib.Codec.encoding_table["31515"] = [238,222] let s:lib.Codec.encoding_table["31821"] = [238,223] let s:lib.Codec.encoding_table["32318"] = [238,224] let s:lib.Codec.encoding_table["32735"] = [238,225] let s:lib.Codec.encoding_table["33659"] = [238,226] let s:lib.Codec.encoding_table["35627"] = [238,227] let s:lib.Codec.encoding_table["36042"] = [238,228] let s:lib.Codec.encoding_table["36196"] = [238,229] let s:lib.Codec.encoding_table["36321"] = [238,230] let s:lib.Codec.encoding_table["36447"] = [238,231] let s:lib.Codec.encoding_table["36842"] = [238,232] let s:lib.Codec.encoding_table["36857"] = [238,233] let s:lib.Codec.encoding_table["36969"] = [238,234] let s:lib.Codec.encoding_table["37841"] = [238,235] let s:lib.Codec.encoding_table["20291"] = [238,236] let s:lib.Codec.encoding_table["20346"] = [238,237] let s:lib.Codec.encoding_table["20659"] = [238,238] let s:lib.Codec.encoding_table["20840"] = [238,239] let s:lib.Codec.encoding_table["20856"] = [238,240] let s:lib.Codec.encoding_table["21069"] = [238,241] let s:lib.Codec.encoding_table["21098"] = [238,242] let s:lib.Codec.encoding_table["22625"] = [238,243] let s:lib.Codec.encoding_table["22652"] = [238,244] let s:lib.Codec.encoding_table["22880"] = [238,245] let s:lib.Codec.encoding_table["23560"] = [238,246] let s:lib.Codec.encoding_table["23637"] = [238,247] let s:lib.Codec.encoding_table["24283"] = [238,248] let s:lib.Codec.encoding_table["24731"] = [238,249] let s:lib.Codec.encoding_table["25136"] = [238,250] let s:lib.Codec.encoding_table["26643"] = [238,251] let s:lib.Codec.encoding_table["27583"] = [238,252] let s:lib.Codec.encoding_table["27656"] = [238,253] let s:lib.Codec.encoding_table["28593"] = [238,254] let s:lib.Codec.encoding_table["29006"] = [239,161] let s:lib.Codec.encoding_table["29728"] = [239,162] let s:lib.Codec.encoding_table["30000"] = [239,163] let s:lib.Codec.encoding_table["30008"] = [239,164] let s:lib.Codec.encoding_table["30033"] = [239,165] let s:lib.Codec.encoding_table["30322"] = [239,166] let s:lib.Codec.encoding_table["31564"] = [239,167] let s:lib.Codec.encoding_table["31627"] = [239,168] let s:lib.Codec.encoding_table["31661"] = [239,169] let s:lib.Codec.encoding_table["31686"] = [239,170] let s:lib.Codec.encoding_table["32399"] = [239,171] let s:lib.Codec.encoding_table["35438"] = [239,172] let s:lib.Codec.encoding_table["36670"] = [239,173] let s:lib.Codec.encoding_table["36681"] = [239,174] let s:lib.Codec.encoding_table["37439"] = [239,175] let s:lib.Codec.encoding_table["37523"] = [239,176] let s:lib.Codec.encoding_table["37666"] = [239,177] let s:lib.Codec.encoding_table["37931"] = [239,178] let s:lib.Codec.encoding_table["38651"] = [239,179] let s:lib.Codec.encoding_table["39002"] = [239,180] let s:lib.Codec.encoding_table["39019"] = [239,181] let s:lib.Codec.encoding_table["39198"] = [239,182] let s:lib.Codec.encoding_table["20999"] = [239,183] let s:lib.Codec.encoding_table["25130"] = [239,184] let s:lib.Codec.encoding_table["25240"] = [239,185] let s:lib.Codec.encoding_table["27993"] = [239,186] let s:lib.Codec.encoding_table["30308"] = [239,187] let s:lib.Codec.encoding_table["31434"] = [239,188] let s:lib.Codec.encoding_table["31680"] = [239,189] let s:lib.Codec.encoding_table["32118"] = [239,190] let s:lib.Codec.encoding_table["21344"] = [239,191] let s:lib.Codec.encoding_table["23742"] = [239,192] let s:lib.Codec.encoding_table["24215"] = [239,193] let s:lib.Codec.encoding_table["28472"] = [239,194] let s:lib.Codec.encoding_table["28857"] = [239,195] let s:lib.Codec.encoding_table["31896"] = [239,196] let s:lib.Codec.encoding_table["38673"] = [239,197] let s:lib.Codec.encoding_table["39822"] = [239,198] let s:lib.Codec.encoding_table["40670"] = [239,199] let s:lib.Codec.encoding_table["25509"] = [239,200] let s:lib.Codec.encoding_table["25722"] = [239,201] let s:lib.Codec.encoding_table["34678"] = [239,202] let s:lib.Codec.encoding_table["19969"] = [239,203] let s:lib.Codec.encoding_table["20117"] = [239,204] let s:lib.Codec.encoding_table["20141"] = [239,205] let s:lib.Codec.encoding_table["20572"] = [239,206] let s:lib.Codec.encoding_table["20597"] = [239,207] let s:lib.Codec.encoding_table["21576"] = [239,208] let s:lib.Codec.encoding_table["22979"] = [239,209] let s:lib.Codec.encoding_table["23450"] = [239,210] let s:lib.Codec.encoding_table["24128"] = [239,211] let s:lib.Codec.encoding_table["24237"] = [239,212] let s:lib.Codec.encoding_table["24311"] = [239,213] let s:lib.Codec.encoding_table["24449"] = [239,214] let s:lib.Codec.encoding_table["24773"] = [239,215] let s:lib.Codec.encoding_table["25402"] = [239,216] let s:lib.Codec.encoding_table["25919"] = [239,217] let s:lib.Codec.encoding_table["25972"] = [239,218] let s:lib.Codec.encoding_table["26060"] = [239,219] let s:lib.Codec.encoding_table["26230"] = [239,220] let s:lib.Codec.encoding_table["26232"] = [239,221] let s:lib.Codec.encoding_table["26622"] = [239,222] let s:lib.Codec.encoding_table["26984"] = [239,223] let s:lib.Codec.encoding_table["27273"] = [239,224] let s:lib.Codec.encoding_table["27491"] = [239,225] let s:lib.Codec.encoding_table["27712"] = [239,226] let s:lib.Codec.encoding_table["28096"] = [239,227] let s:lib.Codec.encoding_table["28136"] = [239,228] let s:lib.Codec.encoding_table["28191"] = [239,229] let s:lib.Codec.encoding_table["28254"] = [239,230] let s:lib.Codec.encoding_table["28702"] = [239,231] let s:lib.Codec.encoding_table["28833"] = [239,232] let s:lib.Codec.encoding_table["29582"] = [239,233] let s:lib.Codec.encoding_table["29693"] = [239,234] let s:lib.Codec.encoding_table["30010"] = [239,235] let s:lib.Codec.encoding_table["30555"] = [239,236] let s:lib.Codec.encoding_table["30855"] = [239,237] let s:lib.Codec.encoding_table["31118"] = [239,238] let s:lib.Codec.encoding_table["31243"] = [239,239] let s:lib.Codec.encoding_table["31357"] = [239,240] let s:lib.Codec.encoding_table["31934"] = [239,241] let s:lib.Codec.encoding_table["32142"] = [239,242] let s:lib.Codec.encoding_table["33351"] = [239,243] let s:lib.Codec.encoding_table["35330"] = [239,244] let s:lib.Codec.encoding_table["35562"] = [239,245] let s:lib.Codec.encoding_table["35998"] = [239,246] let s:lib.Codec.encoding_table["37165"] = [239,247] let s:lib.Codec.encoding_table["37194"] = [239,248] let s:lib.Codec.encoding_table["37336"] = [239,249] let s:lib.Codec.encoding_table["37478"] = [239,250] let s:lib.Codec.encoding_table["37580"] = [239,251] let s:lib.Codec.encoding_table["37664"] = [239,252] let s:lib.Codec.encoding_table["38662"] = [239,253] let s:lib.Codec.encoding_table["38742"] = [239,254] let s:lib.Codec.encoding_table["38748"] = [240,161] let s:lib.Codec.encoding_table["38914"] = [240,162] let s:lib.Codec.encoding_table["40718"] = [240,163] let s:lib.Codec.encoding_table["21046"] = [240,164] let s:lib.Codec.encoding_table["21137"] = [240,165] let s:lib.Codec.encoding_table["21884"] = [240,166] let s:lib.Codec.encoding_table["22564"] = [240,167] let s:lib.Codec.encoding_table["24093"] = [240,168] let s:lib.Codec.encoding_table["24351"] = [240,169] let s:lib.Codec.encoding_table["24716"] = [240,170] let s:lib.Codec.encoding_table["25552"] = [240,171] let s:lib.Codec.encoding_table["26799"] = [240,172] let s:lib.Codec.encoding_table["28639"] = [240,173] let s:lib.Codec.encoding_table["31085"] = [240,174] let s:lib.Codec.encoding_table["31532"] = [240,175] let s:lib.Codec.encoding_table["33229"] = [240,176] let s:lib.Codec.encoding_table["34234"] = [240,177] let s:lib.Codec.encoding_table["35069"] = [240,178] let s:lib.Codec.encoding_table["35576"] = [240,179] let s:lib.Codec.encoding_table["36420"] = [240,180] let s:lib.Codec.encoding_table["37261"] = [240,181] let s:lib.Codec.encoding_table["38500"] = [240,182] let s:lib.Codec.encoding_table["38555"] = [240,183] let s:lib.Codec.encoding_table["38717"] = [240,184] let s:lib.Codec.encoding_table["38988"] = [240,185] let s:lib.Codec.encoding_table["40778"] = [240,186] let s:lib.Codec.encoding_table["20430"] = [240,187] let s:lib.Codec.encoding_table["20806"] = [240,188] let s:lib.Codec.encoding_table["20939"] = [240,189] let s:lib.Codec.encoding_table["21161"] = [240,190] let s:lib.Codec.encoding_table["22066"] = [240,191] let s:lib.Codec.encoding_table["24340"] = [240,192] let s:lib.Codec.encoding_table["24427"] = [240,193] let s:lib.Codec.encoding_table["25514"] = [240,194] let s:lib.Codec.encoding_table["25805"] = [240,195] let s:lib.Codec.encoding_table["26089"] = [240,196] let s:lib.Codec.encoding_table["26177"] = [240,197] let s:lib.Codec.encoding_table["26362"] = [240,198] let s:lib.Codec.encoding_table["26361"] = [240,199] let s:lib.Codec.encoding_table["26397"] = [240,200] let s:lib.Codec.encoding_table["26781"] = [240,201] let s:lib.Codec.encoding_table["26839"] = [240,202] let s:lib.Codec.encoding_table["27133"] = [240,203] let s:lib.Codec.encoding_table["28437"] = [240,204] let s:lib.Codec.encoding_table["28526"] = [240,205] let s:lib.Codec.encoding_table["29031"] = [240,206] let s:lib.Codec.encoding_table["29157"] = [240,207] let s:lib.Codec.encoding_table["29226"] = [240,208] let s:lib.Codec.encoding_table["29866"] = [240,209] let s:lib.Codec.encoding_table["30522"] = [240,210] let s:lib.Codec.encoding_table["31062"] = [240,211] let s:lib.Codec.encoding_table["31066"] = [240,212] let s:lib.Codec.encoding_table["31199"] = [240,213] let s:lib.Codec.encoding_table["31264"] = [240,214] let s:lib.Codec.encoding_table["31381"] = [240,215] let s:lib.Codec.encoding_table["31895"] = [240,216] let s:lib.Codec.encoding_table["31967"] = [240,217] let s:lib.Codec.encoding_table["32068"] = [240,218] let s:lib.Codec.encoding_table["32368"] = [240,219] let s:lib.Codec.encoding_table["32903"] = [240,220] let s:lib.Codec.encoding_table["34299"] = [240,221] let s:lib.Codec.encoding_table["34468"] = [240,222] let s:lib.Codec.encoding_table["35412"] = [240,223] let s:lib.Codec.encoding_table["35519"] = [240,224] let s:lib.Codec.encoding_table["36249"] = [240,225] let s:lib.Codec.encoding_table["36481"] = [240,226] let s:lib.Codec.encoding_table["36896"] = [240,227] let s:lib.Codec.encoding_table["36973"] = [240,228] let s:lib.Codec.encoding_table["37347"] = [240,229] let s:lib.Codec.encoding_table["38459"] = [240,230] let s:lib.Codec.encoding_table["38613"] = [240,231] let s:lib.Codec.encoding_table["40165"] = [240,232] let s:lib.Codec.encoding_table["26063"] = [240,233] let s:lib.Codec.encoding_table["31751"] = [240,234] let s:lib.Codec.encoding_table["36275"] = [240,235] let s:lib.Codec.encoding_table["37827"] = [240,236] let s:lib.Codec.encoding_table["23384"] = [240,237] let s:lib.Codec.encoding_table["23562"] = [240,238] let s:lib.Codec.encoding_table["21330"] = [240,239] let s:lib.Codec.encoding_table["25305"] = [240,240] let s:lib.Codec.encoding_table["29469"] = [240,241] let s:lib.Codec.encoding_table["20519"] = [240,242] let s:lib.Codec.encoding_table["23447"] = [240,243] let s:lib.Codec.encoding_table["24478"] = [240,244] let s:lib.Codec.encoding_table["24752"] = [240,245] let s:lib.Codec.encoding_table["24939"] = [240,246] let s:lib.Codec.encoding_table["26837"] = [240,247] let s:lib.Codec.encoding_table["28121"] = [240,248] let s:lib.Codec.encoding_table["29742"] = [240,249] let s:lib.Codec.encoding_table["31278"] = [240,250] let s:lib.Codec.encoding_table["32066"] = [240,251] let s:lib.Codec.encoding_table["32156"] = [240,252] let s:lib.Codec.encoding_table["32305"] = [240,253] let s:lib.Codec.encoding_table["33131"] = [240,254] let s:lib.Codec.encoding_table["36394"] = [241,161] let s:lib.Codec.encoding_table["36405"] = [241,162] let s:lib.Codec.encoding_table["37758"] = [241,163] let s:lib.Codec.encoding_table["37912"] = [241,164] let s:lib.Codec.encoding_table["20304"] = [241,165] let s:lib.Codec.encoding_table["22352"] = [241,166] let s:lib.Codec.encoding_table["24038"] = [241,167] let s:lib.Codec.encoding_table["24231"] = [241,168] let s:lib.Codec.encoding_table["25387"] = [241,169] let s:lib.Codec.encoding_table["32618"] = [241,170] let s:lib.Codec.encoding_table["20027"] = [241,171] let s:lib.Codec.encoding_table["20303"] = [241,172] let s:lib.Codec.encoding_table["20367"] = [241,173] let s:lib.Codec.encoding_table["20570"] = [241,174] let s:lib.Codec.encoding_table["23005"] = [241,175] let s:lib.Codec.encoding_table["32964"] = [241,176] let s:lib.Codec.encoding_table["21610"] = [241,177] let s:lib.Codec.encoding_table["21608"] = [241,178] let s:lib.Codec.encoding_table["22014"] = [241,179] let s:lib.Codec.encoding_table["22863"] = [241,180] let s:lib.Codec.encoding_table["23449"] = [241,181] let s:lib.Codec.encoding_table["24030"] = [241,182] let s:lib.Codec.encoding_table["24282"] = [241,183] let s:lib.Codec.encoding_table["26205"] = [241,184] let s:lib.Codec.encoding_table["26417"] = [241,185] let s:lib.Codec.encoding_table["26609"] = [241,186] let s:lib.Codec.encoding_table["26666"] = [241,187] let s:lib.Codec.encoding_table["27880"] = [241,188] let s:lib.Codec.encoding_table["27954"] = [241,189] let s:lib.Codec.encoding_table["28234"] = [241,190] let s:lib.Codec.encoding_table["28557"] = [241,191] let s:lib.Codec.encoding_table["28855"] = [241,192] let s:lib.Codec.encoding_table["29664"] = [241,193] let s:lib.Codec.encoding_table["30087"] = [241,194] let s:lib.Codec.encoding_table["31820"] = [241,195] let s:lib.Codec.encoding_table["32002"] = [241,196] let s:lib.Codec.encoding_table["32044"] = [241,197] let s:lib.Codec.encoding_table["32162"] = [241,198] let s:lib.Codec.encoding_table["33311"] = [241,199] let s:lib.Codec.encoding_table["34523"] = [241,200] let s:lib.Codec.encoding_table["35387"] = [241,201] let s:lib.Codec.encoding_table["35461"] = [241,202] let s:lib.Codec.encoding_table["36208"] = [241,203] let s:lib.Codec.encoding_table["36490"] = [241,204] let s:lib.Codec.encoding_table["36659"] = [241,205] let s:lib.Codec.encoding_table["36913"] = [241,206] let s:lib.Codec.encoding_table["37198"] = [241,207] let s:lib.Codec.encoding_table["37202"] = [241,208] let s:lib.Codec.encoding_table["37956"] = [241,209] let s:lib.Codec.encoding_table["39376"] = [241,210] let s:lib.Codec.encoding_table["31481"] = [241,211] let s:lib.Codec.encoding_table["31909"] = [241,212] let s:lib.Codec.encoding_table["20426"] = [241,213] let s:lib.Codec.encoding_table["20737"] = [241,214] let s:lib.Codec.encoding_table["20934"] = [241,215] let s:lib.Codec.encoding_table["22472"] = [241,216] let s:lib.Codec.encoding_table["23535"] = [241,217] let s:lib.Codec.encoding_table["23803"] = [241,218] let s:lib.Codec.encoding_table["26201"] = [241,219] let s:lib.Codec.encoding_table["27197"] = [241,220] let s:lib.Codec.encoding_table["27994"] = [241,221] let s:lib.Codec.encoding_table["28310"] = [241,222] let s:lib.Codec.encoding_table["28652"] = [241,223] let s:lib.Codec.encoding_table["28940"] = [241,224] let s:lib.Codec.encoding_table["30063"] = [241,225] let s:lib.Codec.encoding_table["31459"] = [241,226] let s:lib.Codec.encoding_table["34850"] = [241,227] let s:lib.Codec.encoding_table["36897"] = [241,228] let s:lib.Codec.encoding_table["36981"] = [241,229] let s:lib.Codec.encoding_table["38603"] = [241,230] let s:lib.Codec.encoding_table["39423"] = [241,231] let s:lib.Codec.encoding_table["33537"] = [241,232] let s:lib.Codec.encoding_table["20013"] = [241,233] let s:lib.Codec.encoding_table["20210"] = [241,234] let s:lib.Codec.encoding_table["34886"] = [241,235] let s:lib.Codec.encoding_table["37325"] = [241,236] let s:lib.Codec.encoding_table["21373"] = [241,237] let s:lib.Codec.encoding_table["27355"] = [241,238] let s:lib.Codec.encoding_table["26987"] = [241,239] let s:lib.Codec.encoding_table["27713"] = [241,240] let s:lib.Codec.encoding_table["33914"] = [241,241] let s:lib.Codec.encoding_table["22686"] = [241,242] let s:lib.Codec.encoding_table["24974"] = [241,243] let s:lib.Codec.encoding_table["26366"] = [241,244] let s:lib.Codec.encoding_table["25327"] = [241,245] let s:lib.Codec.encoding_table["28893"] = [241,246] let s:lib.Codec.encoding_table["29969"] = [241,247] let s:lib.Codec.encoding_table["30151"] = [241,248] let s:lib.Codec.encoding_table["32338"] = [241,249] let s:lib.Codec.encoding_table["33976"] = [241,250] let s:lib.Codec.encoding_table["35657"] = [241,251] let s:lib.Codec.encoding_table["36104"] = [241,252] let s:lib.Codec.encoding_table["20043"] = [241,253] let s:lib.Codec.encoding_table["21482"] = [241,254] let s:lib.Codec.encoding_table["21675"] = [242,161] let s:lib.Codec.encoding_table["22320"] = [242,162] let s:lib.Codec.encoding_table["22336"] = [242,163] let s:lib.Codec.encoding_table["24535"] = [242,164] let s:lib.Codec.encoding_table["25345"] = [242,165] let s:lib.Codec.encoding_table["25351"] = [242,166] let s:lib.Codec.encoding_table["25711"] = [242,167] let s:lib.Codec.encoding_table["25903"] = [242,168] let s:lib.Codec.encoding_table["26088"] = [242,169] let s:lib.Codec.encoding_table["26234"] = [242,170] let s:lib.Codec.encoding_table["26525"] = [242,171] let s:lib.Codec.encoding_table["26547"] = [242,172] let s:lib.Codec.encoding_table["27490"] = [242,173] let s:lib.Codec.encoding_table["27744"] = [242,174] let s:lib.Codec.encoding_table["27802"] = [242,175] let s:lib.Codec.encoding_table["28460"] = [242,176] let s:lib.Codec.encoding_table["30693"] = [242,177] let s:lib.Codec.encoding_table["30757"] = [242,178] let s:lib.Codec.encoding_table["31049"] = [242,179] let s:lib.Codec.encoding_table["31063"] = [242,180] let s:lib.Codec.encoding_table["32025"] = [242,181] let s:lib.Codec.encoding_table["32930"] = [242,182] let s:lib.Codec.encoding_table["33026"] = [242,183] let s:lib.Codec.encoding_table["33267"] = [242,184] let s:lib.Codec.encoding_table["33437"] = [242,185] let s:lib.Codec.encoding_table["33463"] = [242,186] let s:lib.Codec.encoding_table["34584"] = [242,187] let s:lib.Codec.encoding_table["35468"] = [242,188] let s:lib.Codec.encoding_table["63996"] = [242,189] let s:lib.Codec.encoding_table["36100"] = [242,190] let s:lib.Codec.encoding_table["36286"] = [242,191] let s:lib.Codec.encoding_table["36978"] = [242,192] let s:lib.Codec.encoding_table["30452"] = [242,193] let s:lib.Codec.encoding_table["31257"] = [242,194] let s:lib.Codec.encoding_table["31287"] = [242,195] let s:lib.Codec.encoding_table["32340"] = [242,196] let s:lib.Codec.encoding_table["32887"] = [242,197] let s:lib.Codec.encoding_table["21767"] = [242,198] let s:lib.Codec.encoding_table["21972"] = [242,199] let s:lib.Codec.encoding_table["22645"] = [242,200] let s:lib.Codec.encoding_table["25391"] = [242,201] let s:lib.Codec.encoding_table["25634"] = [242,202] let s:lib.Codec.encoding_table["26185"] = [242,203] let s:lib.Codec.encoding_table["26187"] = [242,204] let s:lib.Codec.encoding_table["26733"] = [242,205] let s:lib.Codec.encoding_table["27035"] = [242,206] let s:lib.Codec.encoding_table["27524"] = [242,207] let s:lib.Codec.encoding_table["27941"] = [242,208] let s:lib.Codec.encoding_table["28337"] = [242,209] let s:lib.Codec.encoding_table["29645"] = [242,210] let s:lib.Codec.encoding_table["29800"] = [242,211] let s:lib.Codec.encoding_table["29857"] = [242,212] let s:lib.Codec.encoding_table["30043"] = [242,213] let s:lib.Codec.encoding_table["30137"] = [242,214] let s:lib.Codec.encoding_table["30433"] = [242,215] let s:lib.Codec.encoding_table["30494"] = [242,216] let s:lib.Codec.encoding_table["30603"] = [242,217] let s:lib.Codec.encoding_table["31206"] = [242,218] let s:lib.Codec.encoding_table["32265"] = [242,219] let s:lib.Codec.encoding_table["32285"] = [242,220] let s:lib.Codec.encoding_table["33275"] = [242,221] let s:lib.Codec.encoding_table["34095"] = [242,222] let s:lib.Codec.encoding_table["34967"] = [242,223] let s:lib.Codec.encoding_table["35386"] = [242,224] let s:lib.Codec.encoding_table["36049"] = [242,225] let s:lib.Codec.encoding_table["36587"] = [242,226] let s:lib.Codec.encoding_table["36784"] = [242,227] let s:lib.Codec.encoding_table["36914"] = [242,228] let s:lib.Codec.encoding_table["37805"] = [242,229] let s:lib.Codec.encoding_table["38499"] = [242,230] let s:lib.Codec.encoding_table["38515"] = [242,231] let s:lib.Codec.encoding_table["38663"] = [242,232] let s:lib.Codec.encoding_table["20356"] = [242,233] let s:lib.Codec.encoding_table["21489"] = [242,234] let s:lib.Codec.encoding_table["23018"] = [242,235] let s:lib.Codec.encoding_table["23241"] = [242,236] let s:lib.Codec.encoding_table["24089"] = [242,237] let s:lib.Codec.encoding_table["26702"] = [242,238] let s:lib.Codec.encoding_table["29894"] = [242,239] let s:lib.Codec.encoding_table["30142"] = [242,240] let s:lib.Codec.encoding_table["31209"] = [242,241] let s:lib.Codec.encoding_table["31378"] = [242,242] let s:lib.Codec.encoding_table["33187"] = [242,243] let s:lib.Codec.encoding_table["34541"] = [242,244] let s:lib.Codec.encoding_table["36074"] = [242,245] let s:lib.Codec.encoding_table["36300"] = [242,246] let s:lib.Codec.encoding_table["36845"] = [242,247] let s:lib.Codec.encoding_table["26015"] = [242,248] let s:lib.Codec.encoding_table["26389"] = [242,249] let s:lib.Codec.encoding_table["63997"] = [242,250] let s:lib.Codec.encoding_table["22519"] = [242,251] let s:lib.Codec.encoding_table["28503"] = [242,252] let s:lib.Codec.encoding_table["32221"] = [242,253] let s:lib.Codec.encoding_table["36655"] = [242,254] let s:lib.Codec.encoding_table["37878"] = [243,161] let s:lib.Codec.encoding_table["38598"] = [243,162] let s:lib.Codec.encoding_table["24501"] = [243,163] let s:lib.Codec.encoding_table["25074"] = [243,164] let s:lib.Codec.encoding_table["28548"] = [243,165] let s:lib.Codec.encoding_table["19988"] = [243,166] let s:lib.Codec.encoding_table["20376"] = [243,167] let s:lib.Codec.encoding_table["20511"] = [243,168] let s:lib.Codec.encoding_table["21449"] = [243,169] let s:lib.Codec.encoding_table["21983"] = [243,170] let s:lib.Codec.encoding_table["23919"] = [243,171] let s:lib.Codec.encoding_table["24046"] = [243,172] let s:lib.Codec.encoding_table["27425"] = [243,173] let s:lib.Codec.encoding_table["27492"] = [243,174] let s:lib.Codec.encoding_table["30923"] = [243,175] let s:lib.Codec.encoding_table["31642"] = [243,176] let s:lib.Codec.encoding_table["63998"] = [243,177] let s:lib.Codec.encoding_table["36425"] = [243,178] let s:lib.Codec.encoding_table["36554"] = [243,179] let s:lib.Codec.encoding_table["36974"] = [243,180] let s:lib.Codec.encoding_table["25417"] = [243,181] let s:lib.Codec.encoding_table["25662"] = [243,182] let s:lib.Codec.encoding_table["30528"] = [243,183] let s:lib.Codec.encoding_table["31364"] = [243,184] let s:lib.Codec.encoding_table["37679"] = [243,185] let s:lib.Codec.encoding_table["38015"] = [243,186] let s:lib.Codec.encoding_table["40810"] = [243,187] let s:lib.Codec.encoding_table["25776"] = [243,188] let s:lib.Codec.encoding_table["28591"] = [243,189] let s:lib.Codec.encoding_table["29158"] = [243,190] let s:lib.Codec.encoding_table["29864"] = [243,191] let s:lib.Codec.encoding_table["29914"] = [243,192] let s:lib.Codec.encoding_table["31428"] = [243,193] let s:lib.Codec.encoding_table["31762"] = [243,194] let s:lib.Codec.encoding_table["32386"] = [243,195] let s:lib.Codec.encoding_table["31922"] = [243,196] let s:lib.Codec.encoding_table["32408"] = [243,197] let s:lib.Codec.encoding_table["35738"] = [243,198] let s:lib.Codec.encoding_table["36106"] = [243,199] let s:lib.Codec.encoding_table["38013"] = [243,200] let s:lib.Codec.encoding_table["39184"] = [243,201] let s:lib.Codec.encoding_table["39244"] = [243,202] let s:lib.Codec.encoding_table["21049"] = [243,203] let s:lib.Codec.encoding_table["23519"] = [243,204] let s:lib.Codec.encoding_table["25830"] = [243,205] let s:lib.Codec.encoding_table["26413"] = [243,206] let s:lib.Codec.encoding_table["32046"] = [243,207] let s:lib.Codec.encoding_table["20717"] = [243,208] let s:lib.Codec.encoding_table["21443"] = [243,209] let s:lib.Codec.encoding_table["22649"] = [243,210] let s:lib.Codec.encoding_table["24920"] = [243,211] let s:lib.Codec.encoding_table["24921"] = [243,212] let s:lib.Codec.encoding_table["25082"] = [243,213] let s:lib.Codec.encoding_table["26028"] = [243,214] let s:lib.Codec.encoding_table["31449"] = [243,215] let s:lib.Codec.encoding_table["35730"] = [243,216] let s:lib.Codec.encoding_table["35734"] = [243,217] let s:lib.Codec.encoding_table["20489"] = [243,218] let s:lib.Codec.encoding_table["20513"] = [243,219] let s:lib.Codec.encoding_table["21109"] = [243,220] let s:lib.Codec.encoding_table["21809"] = [243,221] let s:lib.Codec.encoding_table["23100"] = [243,222] let s:lib.Codec.encoding_table["24288"] = [243,223] let s:lib.Codec.encoding_table["24432"] = [243,224] let s:lib.Codec.encoding_table["24884"] = [243,225] let s:lib.Codec.encoding_table["25950"] = [243,226] let s:lib.Codec.encoding_table["26124"] = [243,227] let s:lib.Codec.encoding_table["26166"] = [243,228] let s:lib.Codec.encoding_table["26274"] = [243,229] let s:lib.Codec.encoding_table["27085"] = [243,230] let s:lib.Codec.encoding_table["28356"] = [243,231] let s:lib.Codec.encoding_table["28466"] = [243,232] let s:lib.Codec.encoding_table["29462"] = [243,233] let s:lib.Codec.encoding_table["30241"] = [243,234] let s:lib.Codec.encoding_table["31379"] = [243,235] let s:lib.Codec.encoding_table["33081"] = [243,236] let s:lib.Codec.encoding_table["33369"] = [243,237] let s:lib.Codec.encoding_table["33750"] = [243,238] let s:lib.Codec.encoding_table["33980"] = [243,239] let s:lib.Codec.encoding_table["20661"] = [243,240] let s:lib.Codec.encoding_table["22512"] = [243,241] let s:lib.Codec.encoding_table["23488"] = [243,242] let s:lib.Codec.encoding_table["23528"] = [243,243] let s:lib.Codec.encoding_table["24425"] = [243,244] let s:lib.Codec.encoding_table["25505"] = [243,245] let s:lib.Codec.encoding_table["30758"] = [243,246] let s:lib.Codec.encoding_table["32181"] = [243,247] let s:lib.Codec.encoding_table["33756"] = [243,248] let s:lib.Codec.encoding_table["34081"] = [243,249] let s:lib.Codec.encoding_table["37319"] = [243,250] let s:lib.Codec.encoding_table["37365"] = [243,251] let s:lib.Codec.encoding_table["20874"] = [243,252] let s:lib.Codec.encoding_table["26613"] = [243,253] let s:lib.Codec.encoding_table["31574"] = [243,254] let s:lib.Codec.encoding_table["36012"] = [244,161] let s:lib.Codec.encoding_table["20932"] = [244,162] let s:lib.Codec.encoding_table["22971"] = [244,163] let s:lib.Codec.encoding_table["24765"] = [244,164] let s:lib.Codec.encoding_table["34389"] = [244,165] let s:lib.Codec.encoding_table["20508"] = [244,166] let s:lib.Codec.encoding_table["63999"] = [244,167] let s:lib.Codec.encoding_table["21076"] = [244,168] let s:lib.Codec.encoding_table["23610"] = [244,169] let s:lib.Codec.encoding_table["24957"] = [244,170] let s:lib.Codec.encoding_table["25114"] = [244,171] let s:lib.Codec.encoding_table["25299"] = [244,172] let s:lib.Codec.encoding_table["25842"] = [244,173] let s:lib.Codec.encoding_table["26021"] = [244,174] let s:lib.Codec.encoding_table["28364"] = [244,175] let s:lib.Codec.encoding_table["30240"] = [244,176] let s:lib.Codec.encoding_table["33034"] = [244,177] let s:lib.Codec.encoding_table["36448"] = [244,178] let s:lib.Codec.encoding_table["38495"] = [244,179] let s:lib.Codec.encoding_table["38587"] = [244,180] let s:lib.Codec.encoding_table["20191"] = [244,181] let s:lib.Codec.encoding_table["21315"] = [244,182] let s:lib.Codec.encoding_table["21912"] = [244,183] let s:lib.Codec.encoding_table["22825"] = [244,184] let s:lib.Codec.encoding_table["24029"] = [244,185] let s:lib.Codec.encoding_table["25797"] = [244,186] let s:lib.Codec.encoding_table["27849"] = [244,187] let s:lib.Codec.encoding_table["28154"] = [244,188] let s:lib.Codec.encoding_table["29588"] = [244,189] let s:lib.Codec.encoding_table["31359"] = [244,190] let s:lib.Codec.encoding_table["33307"] = [244,191] let s:lib.Codec.encoding_table["34214"] = [244,192] let s:lib.Codec.encoding_table["36068"] = [244,193] let s:lib.Codec.encoding_table["36368"] = [244,194] let s:lib.Codec.encoding_table["36983"] = [244,195] let s:lib.Codec.encoding_table["37351"] = [244,196] let s:lib.Codec.encoding_table["38369"] = [244,197] let s:lib.Codec.encoding_table["38433"] = [244,198] let s:lib.Codec.encoding_table["38854"] = [244,199] let s:lib.Codec.encoding_table["20984"] = [244,200] let s:lib.Codec.encoding_table["21746"] = [244,201] let s:lib.Codec.encoding_table["21894"] = [244,202] let s:lib.Codec.encoding_table["24505"] = [244,203] let s:lib.Codec.encoding_table["25764"] = [244,204] let s:lib.Codec.encoding_table["28552"] = [244,205] let s:lib.Codec.encoding_table["32180"] = [244,206] let s:lib.Codec.encoding_table["36639"] = [244,207] let s:lib.Codec.encoding_table["36685"] = [244,208] let s:lib.Codec.encoding_table["37941"] = [244,209] let s:lib.Codec.encoding_table["20681"] = [244,210] let s:lib.Codec.encoding_table["23574"] = [244,211] let s:lib.Codec.encoding_table["27838"] = [244,212] let s:lib.Codec.encoding_table["28155"] = [244,213] let s:lib.Codec.encoding_table["29979"] = [244,214] let s:lib.Codec.encoding_table["30651"] = [244,215] let s:lib.Codec.encoding_table["31805"] = [244,216] let s:lib.Codec.encoding_table["31844"] = [244,217] let s:lib.Codec.encoding_table["35449"] = [244,218] let s:lib.Codec.encoding_table["35522"] = [244,219] let s:lib.Codec.encoding_table["22558"] = [244,220] let s:lib.Codec.encoding_table["22974"] = [244,221] let s:lib.Codec.encoding_table["24086"] = [244,222] let s:lib.Codec.encoding_table["25463"] = [244,223] let s:lib.Codec.encoding_table["29266"] = [244,224] let s:lib.Codec.encoding_table["30090"] = [244,225] let s:lib.Codec.encoding_table["30571"] = [244,226] let s:lib.Codec.encoding_table["35548"] = [244,227] let s:lib.Codec.encoding_table["36028"] = [244,228] let s:lib.Codec.encoding_table["36626"] = [244,229] let s:lib.Codec.encoding_table["24307"] = [244,230] let s:lib.Codec.encoding_table["26228"] = [244,231] let s:lib.Codec.encoding_table["28152"] = [244,232] let s:lib.Codec.encoding_table["32893"] = [244,233] let s:lib.Codec.encoding_table["33729"] = [244,234] let s:lib.Codec.encoding_table["35531"] = [244,235] let s:lib.Codec.encoding_table["38737"] = [244,236] let s:lib.Codec.encoding_table["39894"] = [244,237] let s:lib.Codec.encoding_table["64000"] = [244,238] let s:lib.Codec.encoding_table["21059"] = [244,239] let s:lib.Codec.encoding_table["26367"] = [244,240] let s:lib.Codec.encoding_table["28053"] = [244,241] let s:lib.Codec.encoding_table["28399"] = [244,242] let s:lib.Codec.encoding_table["32224"] = [244,243] let s:lib.Codec.encoding_table["35558"] = [244,244] let s:lib.Codec.encoding_table["36910"] = [244,245] let s:lib.Codec.encoding_table["36958"] = [244,246] let s:lib.Codec.encoding_table["39636"] = [244,247] let s:lib.Codec.encoding_table["21021"] = [244,248] let s:lib.Codec.encoding_table["21119"] = [244,249] let s:lib.Codec.encoding_table["21736"] = [244,250] let s:lib.Codec.encoding_table["24980"] = [244,251] let s:lib.Codec.encoding_table["25220"] = [244,252] let s:lib.Codec.encoding_table["25307"] = [244,253] let s:lib.Codec.encoding_table["26786"] = [244,254] let s:lib.Codec.encoding_table["26898"] = [245,161] let s:lib.Codec.encoding_table["26970"] = [245,162] let s:lib.Codec.encoding_table["27189"] = [245,163] let s:lib.Codec.encoding_table["28818"] = [245,164] let s:lib.Codec.encoding_table["28966"] = [245,165] let s:lib.Codec.encoding_table["30813"] = [245,166] let s:lib.Codec.encoding_table["30977"] = [245,167] let s:lib.Codec.encoding_table["30990"] = [245,168] let s:lib.Codec.encoding_table["31186"] = [245,169] let s:lib.Codec.encoding_table["31245"] = [245,170] let s:lib.Codec.encoding_table["32918"] = [245,171] let s:lib.Codec.encoding_table["33400"] = [245,172] let s:lib.Codec.encoding_table["33493"] = [245,173] let s:lib.Codec.encoding_table["33609"] = [245,174] let s:lib.Codec.encoding_table["34121"] = [245,175] let s:lib.Codec.encoding_table["35970"] = [245,176] let s:lib.Codec.encoding_table["36229"] = [245,177] let s:lib.Codec.encoding_table["37218"] = [245,178] let s:lib.Codec.encoding_table["37259"] = [245,179] let s:lib.Codec.encoding_table["37294"] = [245,180] let s:lib.Codec.encoding_table["20419"] = [245,181] let s:lib.Codec.encoding_table["22225"] = [245,182] let s:lib.Codec.encoding_table["29165"] = [245,183] let s:lib.Codec.encoding_table["30679"] = [245,184] let s:lib.Codec.encoding_table["34560"] = [245,185] let s:lib.Codec.encoding_table["35320"] = [245,186] let s:lib.Codec.encoding_table["23544"] = [245,187] let s:lib.Codec.encoding_table["24534"] = [245,188] let s:lib.Codec.encoding_table["26449"] = [245,189] let s:lib.Codec.encoding_table["37032"] = [245,190] let s:lib.Codec.encoding_table["21474"] = [245,191] let s:lib.Codec.encoding_table["22618"] = [245,192] let s:lib.Codec.encoding_table["23541"] = [245,193] let s:lib.Codec.encoding_table["24740"] = [245,194] let s:lib.Codec.encoding_table["24961"] = [245,195] let s:lib.Codec.encoding_table["25696"] = [245,196] let s:lib.Codec.encoding_table["32317"] = [245,197] let s:lib.Codec.encoding_table["32880"] = [245,198] let s:lib.Codec.encoding_table["34085"] = [245,199] let s:lib.Codec.encoding_table["37507"] = [245,200] let s:lib.Codec.encoding_table["25774"] = [245,201] let s:lib.Codec.encoding_table["20652"] = [245,202] let s:lib.Codec.encoding_table["23828"] = [245,203] let s:lib.Codec.encoding_table["26368"] = [245,204] let s:lib.Codec.encoding_table["22684"] = [245,205] let s:lib.Codec.encoding_table["25277"] = [245,206] let s:lib.Codec.encoding_table["25512"] = [245,207] let s:lib.Codec.encoding_table["26894"] = [245,208] let s:lib.Codec.encoding_table["27000"] = [245,209] let s:lib.Codec.encoding_table["27166"] = [245,210] let s:lib.Codec.encoding_table["28267"] = [245,211] let s:lib.Codec.encoding_table["30394"] = [245,212] let s:lib.Codec.encoding_table["31179"] = [245,213] let s:lib.Codec.encoding_table["33467"] = [245,214] let s:lib.Codec.encoding_table["33833"] = [245,215] let s:lib.Codec.encoding_table["35535"] = [245,216] let s:lib.Codec.encoding_table["36264"] = [245,217] let s:lib.Codec.encoding_table["36861"] = [245,218] let s:lib.Codec.encoding_table["37138"] = [245,219] let s:lib.Codec.encoding_table["37195"] = [245,220] let s:lib.Codec.encoding_table["37276"] = [245,221] let s:lib.Codec.encoding_table["37648"] = [245,222] let s:lib.Codec.encoding_table["37656"] = [245,223] let s:lib.Codec.encoding_table["37786"] = [245,224] let s:lib.Codec.encoding_table["38619"] = [245,225] let s:lib.Codec.encoding_table["39478"] = [245,226] let s:lib.Codec.encoding_table["39949"] = [245,227] let s:lib.Codec.encoding_table["19985"] = [245,228] let s:lib.Codec.encoding_table["30044"] = [245,229] let s:lib.Codec.encoding_table["31069"] = [245,230] let s:lib.Codec.encoding_table["31482"] = [245,231] let s:lib.Codec.encoding_table["31569"] = [245,232] let s:lib.Codec.encoding_table["31689"] = [245,233] let s:lib.Codec.encoding_table["32302"] = [245,234] let s:lib.Codec.encoding_table["33988"] = [245,235] let s:lib.Codec.encoding_table["36441"] = [245,236] let s:lib.Codec.encoding_table["36468"] = [245,237] let s:lib.Codec.encoding_table["36600"] = [245,238] let s:lib.Codec.encoding_table["36880"] = [245,239] let s:lib.Codec.encoding_table["26149"] = [245,240] let s:lib.Codec.encoding_table["26943"] = [245,241] let s:lib.Codec.encoding_table["29763"] = [245,242] let s:lib.Codec.encoding_table["20986"] = [245,243] let s:lib.Codec.encoding_table["26414"] = [245,244] let s:lib.Codec.encoding_table["40668"] = [245,245] let s:lib.Codec.encoding_table["20805"] = [245,246] let s:lib.Codec.encoding_table["24544"] = [245,247] let s:lib.Codec.encoding_table["27798"] = [245,248] let s:lib.Codec.encoding_table["34802"] = [245,249] let s:lib.Codec.encoding_table["34909"] = [245,250] let s:lib.Codec.encoding_table["34935"] = [245,251] let s:lib.Codec.encoding_table["24756"] = [245,252] let s:lib.Codec.encoding_table["33205"] = [245,253] let s:lib.Codec.encoding_table["33795"] = [245,254] let s:lib.Codec.encoding_table["36101"] = [246,161] let s:lib.Codec.encoding_table["21462"] = [246,162] let s:lib.Codec.encoding_table["21561"] = [246,163] let s:lib.Codec.encoding_table["22068"] = [246,164] let s:lib.Codec.encoding_table["23094"] = [246,165] let s:lib.Codec.encoding_table["23601"] = [246,166] let s:lib.Codec.encoding_table["28810"] = [246,167] let s:lib.Codec.encoding_table["32736"] = [246,168] let s:lib.Codec.encoding_table["32858"] = [246,169] let s:lib.Codec.encoding_table["33030"] = [246,170] let s:lib.Codec.encoding_table["33261"] = [246,171] let s:lib.Codec.encoding_table["36259"] = [246,172] let s:lib.Codec.encoding_table["37257"] = [246,173] let s:lib.Codec.encoding_table["39519"] = [246,174] let s:lib.Codec.encoding_table["40434"] = [246,175] let s:lib.Codec.encoding_table["20596"] = [246,176] let s:lib.Codec.encoding_table["20164"] = [246,177] let s:lib.Codec.encoding_table["21408"] = [246,178] let s:lib.Codec.encoding_table["24827"] = [246,179] let s:lib.Codec.encoding_table["28204"] = [246,180] let s:lib.Codec.encoding_table["23652"] = [246,181] let s:lib.Codec.encoding_table["20360"] = [246,182] let s:lib.Codec.encoding_table["20516"] = [246,183] let s:lib.Codec.encoding_table["21988"] = [246,184] let s:lib.Codec.encoding_table["23769"] = [246,185] let s:lib.Codec.encoding_table["24159"] = [246,186] let s:lib.Codec.encoding_table["24677"] = [246,187] let s:lib.Codec.encoding_table["26772"] = [246,188] let s:lib.Codec.encoding_table["27835"] = [246,189] let s:lib.Codec.encoding_table["28100"] = [246,190] let s:lib.Codec.encoding_table["29118"] = [246,191] let s:lib.Codec.encoding_table["30164"] = [246,192] let s:lib.Codec.encoding_table["30196"] = [246,193] let s:lib.Codec.encoding_table["30305"] = [246,194] let s:lib.Codec.encoding_table["31258"] = [246,195] let s:lib.Codec.encoding_table["31305"] = [246,196] let s:lib.Codec.encoding_table["32199"] = [246,197] let s:lib.Codec.encoding_table["32251"] = [246,198] let s:lib.Codec.encoding_table["32622"] = [246,199] let s:lib.Codec.encoding_table["33268"] = [246,200] let s:lib.Codec.encoding_table["34473"] = [246,201] let s:lib.Codec.encoding_table["36636"] = [246,202] let s:lib.Codec.encoding_table["38601"] = [246,203] let s:lib.Codec.encoding_table["39347"] = [246,204] let s:lib.Codec.encoding_table["40786"] = [246,205] let s:lib.Codec.encoding_table["21063"] = [246,206] let s:lib.Codec.encoding_table["21189"] = [246,207] let s:lib.Codec.encoding_table["39149"] = [246,208] let s:lib.Codec.encoding_table["35242"] = [246,209] let s:lib.Codec.encoding_table["19971"] = [246,210] let s:lib.Codec.encoding_table["26578"] = [246,211] let s:lib.Codec.encoding_table["28422"] = [246,212] let s:lib.Codec.encoding_table["20405"] = [246,213] let s:lib.Codec.encoding_table["23522"] = [246,214] let s:lib.Codec.encoding_table["26517"] = [246,215] let s:lib.Codec.encoding_table["27784"] = [246,216] let s:lib.Codec.encoding_table["28024"] = [246,217] let s:lib.Codec.encoding_table["29723"] = [246,218] let s:lib.Codec.encoding_table["30759"] = [246,219] let s:lib.Codec.encoding_table["37341"] = [246,220] let s:lib.Codec.encoding_table["37756"] = [246,221] let s:lib.Codec.encoding_table["34756"] = [246,222] let s:lib.Codec.encoding_table["31204"] = [246,223] let s:lib.Codec.encoding_table["31281"] = [246,224] let s:lib.Codec.encoding_table["24555"] = [246,225] let s:lib.Codec.encoding_table["20182"] = [246,226] let s:lib.Codec.encoding_table["21668"] = [246,227] let s:lib.Codec.encoding_table["21822"] = [246,228] let s:lib.Codec.encoding_table["22702"] = [246,229] let s:lib.Codec.encoding_table["22949"] = [246,230] let s:lib.Codec.encoding_table["24816"] = [246,231] let s:lib.Codec.encoding_table["25171"] = [246,232] let s:lib.Codec.encoding_table["25302"] = [246,233] let s:lib.Codec.encoding_table["26422"] = [246,234] let s:lib.Codec.encoding_table["26965"] = [246,235] let s:lib.Codec.encoding_table["33333"] = [246,236] let s:lib.Codec.encoding_table["38464"] = [246,237] let s:lib.Codec.encoding_table["39345"] = [246,238] let s:lib.Codec.encoding_table["39389"] = [246,239] let s:lib.Codec.encoding_table["20524"] = [246,240] let s:lib.Codec.encoding_table["21331"] = [246,241] let s:lib.Codec.encoding_table["21828"] = [246,242] let s:lib.Codec.encoding_table["22396"] = [246,243] let s:lib.Codec.encoding_table["64001"] = [246,244] let s:lib.Codec.encoding_table["25176"] = [246,245] let s:lib.Codec.encoding_table["64002"] = [246,246] let s:lib.Codec.encoding_table["25826"] = [246,247] let s:lib.Codec.encoding_table["26219"] = [246,248] let s:lib.Codec.encoding_table["26589"] = [246,249] let s:lib.Codec.encoding_table["28609"] = [246,250] let s:lib.Codec.encoding_table["28655"] = [246,251] let s:lib.Codec.encoding_table["29730"] = [246,252] let s:lib.Codec.encoding_table["29752"] = [246,253] let s:lib.Codec.encoding_table["35351"] = [246,254] let s:lib.Codec.encoding_table["37944"] = [247,161] let s:lib.Codec.encoding_table["21585"] = [247,162] let s:lib.Codec.encoding_table["22022"] = [247,163] let s:lib.Codec.encoding_table["22374"] = [247,164] let s:lib.Codec.encoding_table["24392"] = [247,165] let s:lib.Codec.encoding_table["24986"] = [247,166] let s:lib.Codec.encoding_table["27470"] = [247,167] let s:lib.Codec.encoding_table["28760"] = [247,168] let s:lib.Codec.encoding_table["28845"] = [247,169] let s:lib.Codec.encoding_table["32187"] = [247,170] let s:lib.Codec.encoding_table["35477"] = [247,171] let s:lib.Codec.encoding_table["22890"] = [247,172] let s:lib.Codec.encoding_table["33067"] = [247,173] let s:lib.Codec.encoding_table["25506"] = [247,174] let s:lib.Codec.encoding_table["30472"] = [247,175] let s:lib.Codec.encoding_table["32829"] = [247,176] let s:lib.Codec.encoding_table["36010"] = [247,177] let s:lib.Codec.encoding_table["22612"] = [247,178] let s:lib.Codec.encoding_table["25645"] = [247,179] let s:lib.Codec.encoding_table["27067"] = [247,180] let s:lib.Codec.encoding_table["23445"] = [247,181] let s:lib.Codec.encoding_table["24081"] = [247,182] let s:lib.Codec.encoding_table["28271"] = [247,183] let s:lib.Codec.encoding_table["64003"] = [247,184] let s:lib.Codec.encoding_table["34153"] = [247,185] let s:lib.Codec.encoding_table["20812"] = [247,186] let s:lib.Codec.encoding_table["21488"] = [247,187] let s:lib.Codec.encoding_table["22826"] = [247,188] let s:lib.Codec.encoding_table["24608"] = [247,189] let s:lib.Codec.encoding_table["24907"] = [247,190] let s:lib.Codec.encoding_table["27526"] = [247,191] let s:lib.Codec.encoding_table["27760"] = [247,192] let s:lib.Codec.encoding_table["27888"] = [247,193] let s:lib.Codec.encoding_table["31518"] = [247,194] let s:lib.Codec.encoding_table["32974"] = [247,195] let s:lib.Codec.encoding_table["33492"] = [247,196] let s:lib.Codec.encoding_table["36294"] = [247,197] let s:lib.Codec.encoding_table["37040"] = [247,198] let s:lib.Codec.encoding_table["39089"] = [247,199] let s:lib.Codec.encoding_table["64004"] = [247,200] let s:lib.Codec.encoding_table["25799"] = [247,201] let s:lib.Codec.encoding_table["28580"] = [247,202] let s:lib.Codec.encoding_table["25745"] = [247,203] let s:lib.Codec.encoding_table["25860"] = [247,204] let s:lib.Codec.encoding_table["20814"] = [247,205] let s:lib.Codec.encoding_table["21520"] = [247,206] let s:lib.Codec.encoding_table["22303"] = [247,207] let s:lib.Codec.encoding_table["35342"] = [247,208] let s:lib.Codec.encoding_table["24927"] = [247,209] let s:lib.Codec.encoding_table["26742"] = [247,210] let s:lib.Codec.encoding_table["64005"] = [247,211] let s:lib.Codec.encoding_table["30171"] = [247,212] let s:lib.Codec.encoding_table["31570"] = [247,213] let s:lib.Codec.encoding_table["32113"] = [247,214] let s:lib.Codec.encoding_table["36890"] = [247,215] let s:lib.Codec.encoding_table["22534"] = [247,216] let s:lib.Codec.encoding_table["27084"] = [247,217] let s:lib.Codec.encoding_table["33151"] = [247,218] let s:lib.Codec.encoding_table["35114"] = [247,219] let s:lib.Codec.encoding_table["36864"] = [247,220] let s:lib.Codec.encoding_table["38969"] = [247,221] let s:lib.Codec.encoding_table["20600"] = [247,222] let s:lib.Codec.encoding_table["22871"] = [247,223] let s:lib.Codec.encoding_table["22956"] = [247,224] let s:lib.Codec.encoding_table["25237"] = [247,225] let s:lib.Codec.encoding_table["36879"] = [247,226] let s:lib.Codec.encoding_table["39722"] = [247,227] let s:lib.Codec.encoding_table["24925"] = [247,228] let s:lib.Codec.encoding_table["29305"] = [247,229] let s:lib.Codec.encoding_table["38358"] = [247,230] let s:lib.Codec.encoding_table["22369"] = [247,231] let s:lib.Codec.encoding_table["23110"] = [247,232] let s:lib.Codec.encoding_table["24052"] = [247,233] let s:lib.Codec.encoding_table["25226"] = [247,234] let s:lib.Codec.encoding_table["25773"] = [247,235] let s:lib.Codec.encoding_table["25850"] = [247,236] let s:lib.Codec.encoding_table["26487"] = [247,237] let s:lib.Codec.encoding_table["27874"] = [247,238] let s:lib.Codec.encoding_table["27966"] = [247,239] let s:lib.Codec.encoding_table["29228"] = [247,240] let s:lib.Codec.encoding_table["29750"] = [247,241] let s:lib.Codec.encoding_table["30772"] = [247,242] let s:lib.Codec.encoding_table["32631"] = [247,243] let s:lib.Codec.encoding_table["33453"] = [247,244] let s:lib.Codec.encoding_table["36315"] = [247,245] let s:lib.Codec.encoding_table["38935"] = [247,246] let s:lib.Codec.encoding_table["21028"] = [247,247] let s:lib.Codec.encoding_table["22338"] = [247,248] let s:lib.Codec.encoding_table["26495"] = [247,249] let s:lib.Codec.encoding_table["29256"] = [247,250] let s:lib.Codec.encoding_table["29923"] = [247,251] let s:lib.Codec.encoding_table["36009"] = [247,252] let s:lib.Codec.encoding_table["36774"] = [247,253] let s:lib.Codec.encoding_table["37393"] = [247,254] let s:lib.Codec.encoding_table["38442"] = [248,161] let s:lib.Codec.encoding_table["20843"] = [248,162] let s:lib.Codec.encoding_table["21485"] = [248,163] let s:lib.Codec.encoding_table["25420"] = [248,164] let s:lib.Codec.encoding_table["20329"] = [248,165] let s:lib.Codec.encoding_table["21764"] = [248,166] let s:lib.Codec.encoding_table["24726"] = [248,167] let s:lib.Codec.encoding_table["25943"] = [248,168] let s:lib.Codec.encoding_table["27803"] = [248,169] let s:lib.Codec.encoding_table["28031"] = [248,170] let s:lib.Codec.encoding_table["29260"] = [248,171] let s:lib.Codec.encoding_table["29437"] = [248,172] let s:lib.Codec.encoding_table["31255"] = [248,173] let s:lib.Codec.encoding_table["35207"] = [248,174] let s:lib.Codec.encoding_table["35997"] = [248,175] let s:lib.Codec.encoding_table["24429"] = [248,176] let s:lib.Codec.encoding_table["28558"] = [248,177] let s:lib.Codec.encoding_table["28921"] = [248,178] let s:lib.Codec.encoding_table["33192"] = [248,179] let s:lib.Codec.encoding_table["24846"] = [248,180] let s:lib.Codec.encoding_table["20415"] = [248,181] let s:lib.Codec.encoding_table["20559"] = [248,182] let s:lib.Codec.encoding_table["25153"] = [248,183] let s:lib.Codec.encoding_table["29255"] = [248,184] let s:lib.Codec.encoding_table["31687"] = [248,185] let s:lib.Codec.encoding_table["32232"] = [248,186] let s:lib.Codec.encoding_table["32745"] = [248,187] let s:lib.Codec.encoding_table["36941"] = [248,188] let s:lib.Codec.encoding_table["38829"] = [248,189] let s:lib.Codec.encoding_table["39449"] = [248,190] let s:lib.Codec.encoding_table["36022"] = [248,191] let s:lib.Codec.encoding_table["22378"] = [248,192] let s:lib.Codec.encoding_table["24179"] = [248,193] let s:lib.Codec.encoding_table["26544"] = [248,194] let s:lib.Codec.encoding_table["33805"] = [248,195] let s:lib.Codec.encoding_table["35413"] = [248,196] let s:lib.Codec.encoding_table["21536"] = [248,197] let s:lib.Codec.encoding_table["23318"] = [248,198] let s:lib.Codec.encoding_table["24163"] = [248,199] let s:lib.Codec.encoding_table["24290"] = [248,200] let s:lib.Codec.encoding_table["24330"] = [248,201] let s:lib.Codec.encoding_table["25987"] = [248,202] let s:lib.Codec.encoding_table["32954"] = [248,203] let s:lib.Codec.encoding_table["34109"] = [248,204] let s:lib.Codec.encoding_table["38281"] = [248,205] let s:lib.Codec.encoding_table["38491"] = [248,206] let s:lib.Codec.encoding_table["20296"] = [248,207] let s:lib.Codec.encoding_table["21253"] = [248,208] let s:lib.Codec.encoding_table["21261"] = [248,209] let s:lib.Codec.encoding_table["21263"] = [248,210] let s:lib.Codec.encoding_table["21638"] = [248,211] let s:lib.Codec.encoding_table["21754"] = [248,212] let s:lib.Codec.encoding_table["22275"] = [248,213] let s:lib.Codec.encoding_table["24067"] = [248,214] let s:lib.Codec.encoding_table["24598"] = [248,215] let s:lib.Codec.encoding_table["25243"] = [248,216] let s:lib.Codec.encoding_table["25265"] = [248,217] let s:lib.Codec.encoding_table["25429"] = [248,218] let s:lib.Codec.encoding_table["64006"] = [248,219] let s:lib.Codec.encoding_table["27873"] = [248,220] let s:lib.Codec.encoding_table["28006"] = [248,221] let s:lib.Codec.encoding_table["30129"] = [248,222] let s:lib.Codec.encoding_table["30770"] = [248,223] let s:lib.Codec.encoding_table["32990"] = [248,224] let s:lib.Codec.encoding_table["33071"] = [248,225] let s:lib.Codec.encoding_table["33502"] = [248,226] let s:lib.Codec.encoding_table["33889"] = [248,227] let s:lib.Codec.encoding_table["33970"] = [248,228] let s:lib.Codec.encoding_table["34957"] = [248,229] let s:lib.Codec.encoding_table["35090"] = [248,230] let s:lib.Codec.encoding_table["36875"] = [248,231] let s:lib.Codec.encoding_table["37610"] = [248,232] let s:lib.Codec.encoding_table["39165"] = [248,233] let s:lib.Codec.encoding_table["39825"] = [248,234] let s:lib.Codec.encoding_table["24133"] = [248,235] let s:lib.Codec.encoding_table["26292"] = [248,236] let s:lib.Codec.encoding_table["26333"] = [248,237] let s:lib.Codec.encoding_table["28689"] = [248,238] let s:lib.Codec.encoding_table["29190"] = [248,239] let s:lib.Codec.encoding_table["64007"] = [248,240] let s:lib.Codec.encoding_table["20469"] = [248,241] let s:lib.Codec.encoding_table["21117"] = [248,242] let s:lib.Codec.encoding_table["24426"] = [248,243] let s:lib.Codec.encoding_table["24915"] = [248,244] let s:lib.Codec.encoding_table["26451"] = [248,245] let s:lib.Codec.encoding_table["27161"] = [248,246] let s:lib.Codec.encoding_table["28418"] = [248,247] let s:lib.Codec.encoding_table["29922"] = [248,248] let s:lib.Codec.encoding_table["31080"] = [248,249] let s:lib.Codec.encoding_table["34920"] = [248,250] let s:lib.Codec.encoding_table["35961"] = [248,251] let s:lib.Codec.encoding_table["39111"] = [248,252] let s:lib.Codec.encoding_table["39108"] = [248,253] let s:lib.Codec.encoding_table["39491"] = [248,254] let s:lib.Codec.encoding_table["21697"] = [249,161] let s:lib.Codec.encoding_table["31263"] = [249,162] let s:lib.Codec.encoding_table["26963"] = [249,163] let s:lib.Codec.encoding_table["35575"] = [249,164] let s:lib.Codec.encoding_table["35914"] = [249,165] let s:lib.Codec.encoding_table["39080"] = [249,166] let s:lib.Codec.encoding_table["39342"] = [249,167] let s:lib.Codec.encoding_table["24444"] = [249,168] let s:lib.Codec.encoding_table["25259"] = [249,169] let s:lib.Codec.encoding_table["30130"] = [249,170] let s:lib.Codec.encoding_table["30382"] = [249,171] let s:lib.Codec.encoding_table["34987"] = [249,172] let s:lib.Codec.encoding_table["36991"] = [249,173] let s:lib.Codec.encoding_table["38466"] = [249,174] let s:lib.Codec.encoding_table["21305"] = [249,175] let s:lib.Codec.encoding_table["24380"] = [249,176] let s:lib.Codec.encoding_table["24517"] = [249,177] let s:lib.Codec.encoding_table["27852"] = [249,178] let s:lib.Codec.encoding_table["29644"] = [249,179] let s:lib.Codec.encoding_table["30050"] = [249,180] let s:lib.Codec.encoding_table["30091"] = [249,181] let s:lib.Codec.encoding_table["31558"] = [249,182] let s:lib.Codec.encoding_table["33534"] = [249,183] let s:lib.Codec.encoding_table["39325"] = [249,184] let s:lib.Codec.encoding_table["20047"] = [249,185] let s:lib.Codec.encoding_table["36924"] = [249,186] let s:lib.Codec.encoding_table["19979"] = [249,187] let s:lib.Codec.encoding_table["20309"] = [249,188] let s:lib.Codec.encoding_table["21414"] = [249,189] let s:lib.Codec.encoding_table["22799"] = [249,190] let s:lib.Codec.encoding_table["24264"] = [249,191] let s:lib.Codec.encoding_table["26160"] = [249,192] let s:lib.Codec.encoding_table["27827"] = [249,193] let s:lib.Codec.encoding_table["29781"] = [249,194] let s:lib.Codec.encoding_table["33655"] = [249,195] let s:lib.Codec.encoding_table["34662"] = [249,196] let s:lib.Codec.encoding_table["36032"] = [249,197] let s:lib.Codec.encoding_table["36944"] = [249,198] let s:lib.Codec.encoding_table["38686"] = [249,199] let s:lib.Codec.encoding_table["39957"] = [249,200] let s:lib.Codec.encoding_table["22737"] = [249,201] let s:lib.Codec.encoding_table["23416"] = [249,202] let s:lib.Codec.encoding_table["34384"] = [249,203] let s:lib.Codec.encoding_table["35604"] = [249,204] let s:lib.Codec.encoding_table["40372"] = [249,205] let s:lib.Codec.encoding_table["23506"] = [249,206] let s:lib.Codec.encoding_table["24680"] = [249,207] let s:lib.Codec.encoding_table["24717"] = [249,208] let s:lib.Codec.encoding_table["26097"] = [249,209] let s:lib.Codec.encoding_table["27735"] = [249,210] let s:lib.Codec.encoding_table["28450"] = [249,211] let s:lib.Codec.encoding_table["28579"] = [249,212] let s:lib.Codec.encoding_table["28698"] = [249,213] let s:lib.Codec.encoding_table["32597"] = [249,214] let s:lib.Codec.encoding_table["32752"] = [249,215] let s:lib.Codec.encoding_table["38289"] = [249,216] let s:lib.Codec.encoding_table["38290"] = [249,217] let s:lib.Codec.encoding_table["38480"] = [249,218] let s:lib.Codec.encoding_table["38867"] = [249,219] let s:lib.Codec.encoding_table["21106"] = [249,220] let s:lib.Codec.encoding_table["36676"] = [249,221] let s:lib.Codec.encoding_table["20989"] = [249,222] let s:lib.Codec.encoding_table["21547"] = [249,223] let s:lib.Codec.encoding_table["21688"] = [249,224] let s:lib.Codec.encoding_table["21859"] = [249,225] let s:lib.Codec.encoding_table["21898"] = [249,226] let s:lib.Codec.encoding_table["27323"] = [249,227] let s:lib.Codec.encoding_table["28085"] = [249,228] let s:lib.Codec.encoding_table["32216"] = [249,229] let s:lib.Codec.encoding_table["33382"] = [249,230] let s:lib.Codec.encoding_table["37532"] = [249,231] let s:lib.Codec.encoding_table["38519"] = [249,232] let s:lib.Codec.encoding_table["40569"] = [249,233] let s:lib.Codec.encoding_table["21512"] = [249,234] let s:lib.Codec.encoding_table["21704"] = [249,235] let s:lib.Codec.encoding_table["30418"] = [249,236] let s:lib.Codec.encoding_table["34532"] = [249,237] let s:lib.Codec.encoding_table["38308"] = [249,238] let s:lib.Codec.encoding_table["38356"] = [249,239] let s:lib.Codec.encoding_table["38492"] = [249,240] let s:lib.Codec.encoding_table["20130"] = [249,241] let s:lib.Codec.encoding_table["20233"] = [249,242] let s:lib.Codec.encoding_table["23022"] = [249,243] let s:lib.Codec.encoding_table["23270"] = [249,244] let s:lib.Codec.encoding_table["24055"] = [249,245] let s:lib.Codec.encoding_table["24658"] = [249,246] let s:lib.Codec.encoding_table["25239"] = [249,247] let s:lib.Codec.encoding_table["26477"] = [249,248] let s:lib.Codec.encoding_table["26689"] = [249,249] let s:lib.Codec.encoding_table["27782"] = [249,250] let s:lib.Codec.encoding_table["28207"] = [249,251] let s:lib.Codec.encoding_table["32568"] = [249,252] let s:lib.Codec.encoding_table["32923"] = [249,253] let s:lib.Codec.encoding_table["33322"] = [249,254] let s:lib.Codec.encoding_table["64008"] = [250,161] let s:lib.Codec.encoding_table["64009"] = [250,162] let s:lib.Codec.encoding_table["38917"] = [250,163] let s:lib.Codec.encoding_table["20133"] = [250,164] let s:lib.Codec.encoding_table["20565"] = [250,165] let s:lib.Codec.encoding_table["21683"] = [250,166] let s:lib.Codec.encoding_table["22419"] = [250,167] let s:lib.Codec.encoding_table["22874"] = [250,168] let s:lib.Codec.encoding_table["23401"] = [250,169] let s:lib.Codec.encoding_table["23475"] = [250,170] let s:lib.Codec.encoding_table["25032"] = [250,171] let s:lib.Codec.encoding_table["26999"] = [250,172] let s:lib.Codec.encoding_table["28023"] = [250,173] let s:lib.Codec.encoding_table["28707"] = [250,174] let s:lib.Codec.encoding_table["34809"] = [250,175] let s:lib.Codec.encoding_table["35299"] = [250,176] let s:lib.Codec.encoding_table["35442"] = [250,177] let s:lib.Codec.encoding_table["35559"] = [250,178] let s:lib.Codec.encoding_table["36994"] = [250,179] let s:lib.Codec.encoding_table["39405"] = [250,180] let s:lib.Codec.encoding_table["39608"] = [250,181] let s:lib.Codec.encoding_table["21182"] = [250,182] let s:lib.Codec.encoding_table["26680"] = [250,183] let s:lib.Codec.encoding_table["20502"] = [250,184] let s:lib.Codec.encoding_table["24184"] = [250,185] let s:lib.Codec.encoding_table["26447"] = [250,186] let s:lib.Codec.encoding_table["33607"] = [250,187] let s:lib.Codec.encoding_table["34892"] = [250,188] let s:lib.Codec.encoding_table["20139"] = [250,189] let s:lib.Codec.encoding_table["21521"] = [250,190] let s:lib.Codec.encoding_table["22190"] = [250,191] let s:lib.Codec.encoding_table["29670"] = [250,192] let s:lib.Codec.encoding_table["37141"] = [250,193] let s:lib.Codec.encoding_table["38911"] = [250,194] let s:lib.Codec.encoding_table["39177"] = [250,195] let s:lib.Codec.encoding_table["39255"] = [250,196] let s:lib.Codec.encoding_table["39321"] = [250,197] let s:lib.Codec.encoding_table["22099"] = [250,198] let s:lib.Codec.encoding_table["22687"] = [250,199] let s:lib.Codec.encoding_table["34395"] = [250,200] let s:lib.Codec.encoding_table["35377"] = [250,201] let s:lib.Codec.encoding_table["25010"] = [250,202] let s:lib.Codec.encoding_table["27382"] = [250,203] let s:lib.Codec.encoding_table["29563"] = [250,204] let s:lib.Codec.encoding_table["36562"] = [250,205] let s:lib.Codec.encoding_table["27463"] = [250,206] let s:lib.Codec.encoding_table["38570"] = [250,207] let s:lib.Codec.encoding_table["39511"] = [250,208] let s:lib.Codec.encoding_table["22869"] = [250,209] let s:lib.Codec.encoding_table["29184"] = [250,210] let s:lib.Codec.encoding_table["36203"] = [250,211] let s:lib.Codec.encoding_table["38761"] = [250,212] let s:lib.Codec.encoding_table["20436"] = [250,213] let s:lib.Codec.encoding_table["23796"] = [250,214] let s:lib.Codec.encoding_table["24358"] = [250,215] let s:lib.Codec.encoding_table["25080"] = [250,216] let s:lib.Codec.encoding_table["26203"] = [250,217] let s:lib.Codec.encoding_table["27883"] = [250,218] let s:lib.Codec.encoding_table["28843"] = [250,219] let s:lib.Codec.encoding_table["29572"] = [250,220] let s:lib.Codec.encoding_table["29625"] = [250,221] let s:lib.Codec.encoding_table["29694"] = [250,222] let s:lib.Codec.encoding_table["30505"] = [250,223] let s:lib.Codec.encoding_table["30541"] = [250,224] let s:lib.Codec.encoding_table["32067"] = [250,225] let s:lib.Codec.encoding_table["32098"] = [250,226] let s:lib.Codec.encoding_table["32291"] = [250,227] let s:lib.Codec.encoding_table["33335"] = [250,228] let s:lib.Codec.encoding_table["34898"] = [250,229] let s:lib.Codec.encoding_table["64010"] = [250,230] let s:lib.Codec.encoding_table["36066"] = [250,231] let s:lib.Codec.encoding_table["37449"] = [250,232] let s:lib.Codec.encoding_table["39023"] = [250,233] let s:lib.Codec.encoding_table["23377"] = [250,234] let s:lib.Codec.encoding_table["31348"] = [250,235] let s:lib.Codec.encoding_table["34880"] = [250,236] let s:lib.Codec.encoding_table["38913"] = [250,237] let s:lib.Codec.encoding_table["23244"] = [250,238] let s:lib.Codec.encoding_table["20448"] = [250,239] let s:lib.Codec.encoding_table["21332"] = [250,240] let s:lib.Codec.encoding_table["22846"] = [250,241] let s:lib.Codec.encoding_table["23805"] = [250,242] let s:lib.Codec.encoding_table["25406"] = [250,243] let s:lib.Codec.encoding_table["28025"] = [250,244] let s:lib.Codec.encoding_table["29433"] = [250,245] let s:lib.Codec.encoding_table["33029"] = [250,246] let s:lib.Codec.encoding_table["33031"] = [250,247] let s:lib.Codec.encoding_table["33698"] = [250,248] let s:lib.Codec.encoding_table["37583"] = [250,249] let s:lib.Codec.encoding_table["38960"] = [250,250] let s:lib.Codec.encoding_table["20136"] = [250,251] let s:lib.Codec.encoding_table["20804"] = [250,252] let s:lib.Codec.encoding_table["21009"] = [250,253] let s:lib.Codec.encoding_table["22411"] = [250,254] let s:lib.Codec.encoding_table["24418"] = [251,161] let s:lib.Codec.encoding_table["27842"] = [251,162] let s:lib.Codec.encoding_table["28366"] = [251,163] let s:lib.Codec.encoding_table["28677"] = [251,164] let s:lib.Codec.encoding_table["28752"] = [251,165] let s:lib.Codec.encoding_table["28847"] = [251,166] let s:lib.Codec.encoding_table["29074"] = [251,167] let s:lib.Codec.encoding_table["29673"] = [251,168] let s:lib.Codec.encoding_table["29801"] = [251,169] let s:lib.Codec.encoding_table["33610"] = [251,170] let s:lib.Codec.encoding_table["34722"] = [251,171] let s:lib.Codec.encoding_table["34913"] = [251,172] let s:lib.Codec.encoding_table["36872"] = [251,173] let s:lib.Codec.encoding_table["37026"] = [251,174] let s:lib.Codec.encoding_table["37795"] = [251,175] let s:lib.Codec.encoding_table["39336"] = [251,176] let s:lib.Codec.encoding_table["20846"] = [251,177] let s:lib.Codec.encoding_table["24407"] = [251,178] let s:lib.Codec.encoding_table["24800"] = [251,179] let s:lib.Codec.encoding_table["24935"] = [251,180] let s:lib.Codec.encoding_table["26291"] = [251,181] let s:lib.Codec.encoding_table["34137"] = [251,182] let s:lib.Codec.encoding_table["36426"] = [251,183] let s:lib.Codec.encoding_table["37295"] = [251,184] let s:lib.Codec.encoding_table["38795"] = [251,185] let s:lib.Codec.encoding_table["20046"] = [251,186] let s:lib.Codec.encoding_table["20114"] = [251,187] let s:lib.Codec.encoding_table["21628"] = [251,188] let s:lib.Codec.encoding_table["22741"] = [251,189] let s:lib.Codec.encoding_table["22778"] = [251,190] let s:lib.Codec.encoding_table["22909"] = [251,191] let s:lib.Codec.encoding_table["23733"] = [251,192] let s:lib.Codec.encoding_table["24359"] = [251,193] let s:lib.Codec.encoding_table["25142"] = [251,194] let s:lib.Codec.encoding_table["25160"] = [251,195] let s:lib.Codec.encoding_table["26122"] = [251,196] let s:lib.Codec.encoding_table["26215"] = [251,197] let s:lib.Codec.encoding_table["27627"] = [251,198] let s:lib.Codec.encoding_table["28009"] = [251,199] let s:lib.Codec.encoding_table["28111"] = [251,200] let s:lib.Codec.encoding_table["28246"] = [251,201] let s:lib.Codec.encoding_table["28408"] = [251,202] let s:lib.Codec.encoding_table["28564"] = [251,203] let s:lib.Codec.encoding_table["28640"] = [251,204] let s:lib.Codec.encoding_table["28649"] = [251,205] let s:lib.Codec.encoding_table["28765"] = [251,206] let s:lib.Codec.encoding_table["29392"] = [251,207] let s:lib.Codec.encoding_table["29733"] = [251,208] let s:lib.Codec.encoding_table["29786"] = [251,209] let s:lib.Codec.encoding_table["29920"] = [251,210] let s:lib.Codec.encoding_table["30355"] = [251,211] let s:lib.Codec.encoding_table["31068"] = [251,212] let s:lib.Codec.encoding_table["31946"] = [251,213] let s:lib.Codec.encoding_table["32286"] = [251,214] let s:lib.Codec.encoding_table["32993"] = [251,215] let s:lib.Codec.encoding_table["33446"] = [251,216] let s:lib.Codec.encoding_table["33899"] = [251,217] let s:lib.Codec.encoding_table["33983"] = [251,218] let s:lib.Codec.encoding_table["34382"] = [251,219] let s:lib.Codec.encoding_table["34399"] = [251,220] let s:lib.Codec.encoding_table["34676"] = [251,221] let s:lib.Codec.encoding_table["35703"] = [251,222] let s:lib.Codec.encoding_table["35946"] = [251,223] let s:lib.Codec.encoding_table["37804"] = [251,224] let s:lib.Codec.encoding_table["38912"] = [251,225] let s:lib.Codec.encoding_table["39013"] = [251,226] let s:lib.Codec.encoding_table["24785"] = [251,227] let s:lib.Codec.encoding_table["25110"] = [251,228] let s:lib.Codec.encoding_table["37239"] = [251,229] let s:lib.Codec.encoding_table["23130"] = [251,230] let s:lib.Codec.encoding_table["26127"] = [251,231] let s:lib.Codec.encoding_table["28151"] = [251,232] let s:lib.Codec.encoding_table["28222"] = [251,233] let s:lib.Codec.encoding_table["29759"] = [251,234] let s:lib.Codec.encoding_table["39746"] = [251,235] let s:lib.Codec.encoding_table["24573"] = [251,236] let s:lib.Codec.encoding_table["24794"] = [251,237] let s:lib.Codec.encoding_table["31503"] = [251,238] let s:lib.Codec.encoding_table["21700"] = [251,239] let s:lib.Codec.encoding_table["24344"] = [251,240] let s:lib.Codec.encoding_table["27742"] = [251,241] let s:lib.Codec.encoding_table["27859"] = [251,242] let s:lib.Codec.encoding_table["27946"] = [251,243] let s:lib.Codec.encoding_table["28888"] = [251,244] let s:lib.Codec.encoding_table["32005"] = [251,245] let s:lib.Codec.encoding_table["34425"] = [251,246] let s:lib.Codec.encoding_table["35340"] = [251,247] let s:lib.Codec.encoding_table["40251"] = [251,248] let s:lib.Codec.encoding_table["21270"] = [251,249] let s:lib.Codec.encoding_table["21644"] = [251,250] let s:lib.Codec.encoding_table["23301"] = [251,251] let s:lib.Codec.encoding_table["27194"] = [251,252] let s:lib.Codec.encoding_table["28779"] = [251,253] let s:lib.Codec.encoding_table["30069"] = [251,254] let s:lib.Codec.encoding_table["31117"] = [252,161] let s:lib.Codec.encoding_table["31166"] = [252,162] let s:lib.Codec.encoding_table["33457"] = [252,163] let s:lib.Codec.encoding_table["33775"] = [252,164] let s:lib.Codec.encoding_table["35441"] = [252,165] let s:lib.Codec.encoding_table["35649"] = [252,166] let s:lib.Codec.encoding_table["36008"] = [252,167] let s:lib.Codec.encoding_table["38772"] = [252,168] let s:lib.Codec.encoding_table["64011"] = [252,169] let s:lib.Codec.encoding_table["25844"] = [252,170] let s:lib.Codec.encoding_table["25899"] = [252,171] let s:lib.Codec.encoding_table["30906"] = [252,172] let s:lib.Codec.encoding_table["30907"] = [252,173] let s:lib.Codec.encoding_table["31339"] = [252,174] let s:lib.Codec.encoding_table["20024"] = [252,175] let s:lib.Codec.encoding_table["21914"] = [252,176] let s:lib.Codec.encoding_table["22864"] = [252,177] let s:lib.Codec.encoding_table["23462"] = [252,178] let s:lib.Codec.encoding_table["24187"] = [252,179] let s:lib.Codec.encoding_table["24739"] = [252,180] let s:lib.Codec.encoding_table["25563"] = [252,181] let s:lib.Codec.encoding_table["27489"] = [252,182] let s:lib.Codec.encoding_table["26213"] = [252,183] let s:lib.Codec.encoding_table["26707"] = [252,184] let s:lib.Codec.encoding_table["28185"] = [252,185] let s:lib.Codec.encoding_table["29029"] = [252,186] let s:lib.Codec.encoding_table["29872"] = [252,187] let s:lib.Codec.encoding_table["32008"] = [252,188] let s:lib.Codec.encoding_table["36996"] = [252,189] let s:lib.Codec.encoding_table["39529"] = [252,190] let s:lib.Codec.encoding_table["39973"] = [252,191] let s:lib.Codec.encoding_table["27963"] = [252,192] let s:lib.Codec.encoding_table["28369"] = [252,193] let s:lib.Codec.encoding_table["29502"] = [252,194] let s:lib.Codec.encoding_table["35905"] = [252,195] let s:lib.Codec.encoding_table["38346"] = [252,196] let s:lib.Codec.encoding_table["20976"] = [252,197] let s:lib.Codec.encoding_table["24140"] = [252,198] let s:lib.Codec.encoding_table["24488"] = [252,199] let s:lib.Codec.encoding_table["24653"] = [252,200] let s:lib.Codec.encoding_table["24822"] = [252,201] let s:lib.Codec.encoding_table["24880"] = [252,202] let s:lib.Codec.encoding_table["24908"] = [252,203] let s:lib.Codec.encoding_table["26179"] = [252,204] let s:lib.Codec.encoding_table["26180"] = [252,205] let s:lib.Codec.encoding_table["27045"] = [252,206] let s:lib.Codec.encoding_table["27841"] = [252,207] let s:lib.Codec.encoding_table["28255"] = [252,208] let s:lib.Codec.encoding_table["28361"] = [252,209] let s:lib.Codec.encoding_table["28514"] = [252,210] let s:lib.Codec.encoding_table["29004"] = [252,211] let s:lib.Codec.encoding_table["29852"] = [252,212] let s:lib.Codec.encoding_table["30343"] = [252,213] let s:lib.Codec.encoding_table["31681"] = [252,214] let s:lib.Codec.encoding_table["31783"] = [252,215] let s:lib.Codec.encoding_table["33618"] = [252,216] let s:lib.Codec.encoding_table["34647"] = [252,217] let s:lib.Codec.encoding_table["36945"] = [252,218] let s:lib.Codec.encoding_table["38541"] = [252,219] let s:lib.Codec.encoding_table["40643"] = [252,220] let s:lib.Codec.encoding_table["21295"] = [252,221] let s:lib.Codec.encoding_table["22238"] = [252,222] let s:lib.Codec.encoding_table["24315"] = [252,223] let s:lib.Codec.encoding_table["24458"] = [252,224] let s:lib.Codec.encoding_table["24674"] = [252,225] let s:lib.Codec.encoding_table["24724"] = [252,226] let s:lib.Codec.encoding_table["25079"] = [252,227] let s:lib.Codec.encoding_table["26214"] = [252,228] let s:lib.Codec.encoding_table["26371"] = [252,229] let s:lib.Codec.encoding_table["27292"] = [252,230] let s:lib.Codec.encoding_table["28142"] = [252,231] let s:lib.Codec.encoding_table["28590"] = [252,232] let s:lib.Codec.encoding_table["28784"] = [252,233] let s:lib.Codec.encoding_table["29546"] = [252,234] let s:lib.Codec.encoding_table["32362"] = [252,235] let s:lib.Codec.encoding_table["33214"] = [252,236] let s:lib.Codec.encoding_table["33588"] = [252,237] let s:lib.Codec.encoding_table["34516"] = [252,238] let s:lib.Codec.encoding_table["35496"] = [252,239] let s:lib.Codec.encoding_table["36036"] = [252,240] let s:lib.Codec.encoding_table["21123"] = [252,241] let s:lib.Codec.encoding_table["29554"] = [252,242] let s:lib.Codec.encoding_table["23446"] = [252,243] let s:lib.Codec.encoding_table["27243"] = [252,244] let s:lib.Codec.encoding_table["37892"] = [252,245] let s:lib.Codec.encoding_table["21742"] = [252,246] let s:lib.Codec.encoding_table["22150"] = [252,247] let s:lib.Codec.encoding_table["23389"] = [252,248] let s:lib.Codec.encoding_table["25928"] = [252,249] let s:lib.Codec.encoding_table["25989"] = [252,250] let s:lib.Codec.encoding_table["26313"] = [252,251] let s:lib.Codec.encoding_table["26783"] = [252,252] let s:lib.Codec.encoding_table["28045"] = [252,253] let s:lib.Codec.encoding_table["28102"] = [252,254] let s:lib.Codec.encoding_table["29243"] = [253,161] let s:lib.Codec.encoding_table["32948"] = [253,162] let s:lib.Codec.encoding_table["37237"] = [253,163] let s:lib.Codec.encoding_table["39501"] = [253,164] let s:lib.Codec.encoding_table["20399"] = [253,165] let s:lib.Codec.encoding_table["20505"] = [253,166] let s:lib.Codec.encoding_table["21402"] = [253,167] let s:lib.Codec.encoding_table["21518"] = [253,168] let s:lib.Codec.encoding_table["21564"] = [253,169] let s:lib.Codec.encoding_table["21897"] = [253,170] let s:lib.Codec.encoding_table["21957"] = [253,171] let s:lib.Codec.encoding_table["24127"] = [253,172] let s:lib.Codec.encoding_table["24460"] = [253,173] let s:lib.Codec.encoding_table["26429"] = [253,174] let s:lib.Codec.encoding_table["29030"] = [253,175] let s:lib.Codec.encoding_table["29661"] = [253,176] let s:lib.Codec.encoding_table["36869"] = [253,177] let s:lib.Codec.encoding_table["21211"] = [253,178] let s:lib.Codec.encoding_table["21235"] = [253,179] let s:lib.Codec.encoding_table["22628"] = [253,180] let s:lib.Codec.encoding_table["22734"] = [253,181] let s:lib.Codec.encoding_table["28932"] = [253,182] let s:lib.Codec.encoding_table["29071"] = [253,183] let s:lib.Codec.encoding_table["29179"] = [253,184] let s:lib.Codec.encoding_table["34224"] = [253,185] let s:lib.Codec.encoding_table["35347"] = [253,186] let s:lib.Codec.encoding_table["26248"] = [253,187] let s:lib.Codec.encoding_table["34216"] = [253,188] let s:lib.Codec.encoding_table["21927"] = [253,189] let s:lib.Codec.encoding_table["26244"] = [253,190] let s:lib.Codec.encoding_table["29002"] = [253,191] let s:lib.Codec.encoding_table["33841"] = [253,192] let s:lib.Codec.encoding_table["21321"] = [253,193] let s:lib.Codec.encoding_table["21913"] = [253,194] let s:lib.Codec.encoding_table["27585"] = [253,195] let s:lib.Codec.encoding_table["24409"] = [253,196] let s:lib.Codec.encoding_table["24509"] = [253,197] let s:lib.Codec.encoding_table["25582"] = [253,198] let s:lib.Codec.encoding_table["26249"] = [253,199] let s:lib.Codec.encoding_table["28999"] = [253,200] let s:lib.Codec.encoding_table["35569"] = [253,201] let s:lib.Codec.encoding_table["36637"] = [253,202] let s:lib.Codec.encoding_table["40638"] = [253,203] let s:lib.Codec.encoding_table["20241"] = [253,204] let s:lib.Codec.encoding_table["25658"] = [253,205] let s:lib.Codec.encoding_table["28875"] = [253,206] let s:lib.Codec.encoding_table["30054"] = [253,207] let s:lib.Codec.encoding_table["34407"] = [253,208] let s:lib.Codec.encoding_table["24676"] = [253,209] let s:lib.Codec.encoding_table["35662"] = [253,210] let s:lib.Codec.encoding_table["40440"] = [253,211] let s:lib.Codec.encoding_table["20807"] = [253,212] let s:lib.Codec.encoding_table["20982"] = [253,213] let s:lib.Codec.encoding_table["21256"] = [253,214] let s:lib.Codec.encoding_table["27958"] = [253,215] let s:lib.Codec.encoding_table["33016"] = [253,216] let s:lib.Codec.encoding_table["40657"] = [253,217] let s:lib.Codec.encoding_table["26133"] = [253,218] let s:lib.Codec.encoding_table["27427"] = [253,219] let s:lib.Codec.encoding_table["28824"] = [253,220] let s:lib.Codec.encoding_table["30165"] = [253,221] let s:lib.Codec.encoding_table["21507"] = [253,222] let s:lib.Codec.encoding_table["23673"] = [253,223] let s:lib.Codec.encoding_table["32007"] = [253,224] let s:lib.Codec.encoding_table["35350"] = [253,225] let s:lib.Codec.encoding_table["27424"] = [253,226] let s:lib.Codec.encoding_table["27453"] = [253,227] let s:lib.Codec.encoding_table["27462"] = [253,228] let s:lib.Codec.encoding_table["21560"] = [253,229] let s:lib.Codec.encoding_table["24688"] = [253,230] let s:lib.Codec.encoding_table["27965"] = [253,231] let s:lib.Codec.encoding_table["32725"] = [253,232] let s:lib.Codec.encoding_table["33288"] = [253,233] let s:lib.Codec.encoding_table["20694"] = [253,234] let s:lib.Codec.encoding_table["20958"] = [253,235] let s:lib.Codec.encoding_table["21916"] = [253,236] let s:lib.Codec.encoding_table["22123"] = [253,237] let s:lib.Codec.encoding_table["22221"] = [253,238] let s:lib.Codec.encoding_table["23020"] = [253,239] let s:lib.Codec.encoding_table["23305"] = [253,240] let s:lib.Codec.encoding_table["24076"] = [253,241] let s:lib.Codec.encoding_table["24985"] = [253,242] let s:lib.Codec.encoding_table["24984"] = [253,243] let s:lib.Codec.encoding_table["25137"] = [253,244] let s:lib.Codec.encoding_table["26206"] = [253,245] let s:lib.Codec.encoding_table["26342"] = [253,246] let s:lib.Codec.encoding_table["29081"] = [253,247] let s:lib.Codec.encoding_table["29113"] = [253,248] let s:lib.Codec.encoding_table["29114"] = [253,249] let s:lib.Codec.encoding_table["29351"] = [253,250] let s:lib.Codec.encoding_table["31143"] = [253,251] let s:lib.Codec.encoding_table["31232"] = [253,252] let s:lib.Codec.encoding_table["32690"] = [253,253] let s:lib.Codec.encoding_table["35440"] = [253,254] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_cp950.vim ================================================ let s:nsiconv = expand(':p:h:h:gs?[\\/]?#?:s?^.*#autoload\(#\|$\)??:s?$?#?') let s:ns = expand(':p:r:gs?[\\/]?#?:s?^.*#autoload#??:s?$?#?') function {s:ns}import() return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = "CP950" let s:lib.Codec.decoding_table_maxlen = 2 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table["0"] = [0] let s:lib.Codec.decoding_table["1"] = [1] let s:lib.Codec.decoding_table["2"] = [2] let s:lib.Codec.decoding_table["3"] = [3] let s:lib.Codec.decoding_table["4"] = [4] let s:lib.Codec.decoding_table["5"] = [5] let s:lib.Codec.decoding_table["6"] = [6] let s:lib.Codec.decoding_table["7"] = [7] let s:lib.Codec.decoding_table["8"] = [8] let s:lib.Codec.decoding_table["9"] = [9] let s:lib.Codec.decoding_table["10"] = [10] let s:lib.Codec.decoding_table["11"] = [11] let s:lib.Codec.decoding_table["12"] = [12] let s:lib.Codec.decoding_table["13"] = [13] let s:lib.Codec.decoding_table["14"] = [14] let s:lib.Codec.decoding_table["15"] = [15] let s:lib.Codec.decoding_table["16"] = [16] let s:lib.Codec.decoding_table["17"] = [17] let s:lib.Codec.decoding_table["18"] = [18] let s:lib.Codec.decoding_table["19"] = [19] let s:lib.Codec.decoding_table["20"] = [20] let s:lib.Codec.decoding_table["21"] = [21] let s:lib.Codec.decoding_table["22"] = [22] let s:lib.Codec.decoding_table["23"] = [23] let s:lib.Codec.decoding_table["24"] = [24] let s:lib.Codec.decoding_table["25"] = [25] let s:lib.Codec.decoding_table["26"] = [26] let s:lib.Codec.decoding_table["27"] = [27] let s:lib.Codec.decoding_table["28"] = [28] let s:lib.Codec.decoding_table["29"] = [29] let s:lib.Codec.decoding_table["30"] = [30] let s:lib.Codec.decoding_table["31"] = [31] let s:lib.Codec.decoding_table["32"] = [32] let s:lib.Codec.decoding_table["33"] = [33] let s:lib.Codec.decoding_table["34"] = [34] let s:lib.Codec.decoding_table["35"] = [35] let s:lib.Codec.decoding_table["36"] = [36] let s:lib.Codec.decoding_table["37"] = [37] let s:lib.Codec.decoding_table["38"] = [38] let s:lib.Codec.decoding_table["39"] = [39] let s:lib.Codec.decoding_table["40"] = [40] let s:lib.Codec.decoding_table["41"] = [41] let s:lib.Codec.decoding_table["42"] = [42] let s:lib.Codec.decoding_table["43"] = [43] let s:lib.Codec.decoding_table["44"] = [44] let s:lib.Codec.decoding_table["45"] = [45] let s:lib.Codec.decoding_table["46"] = [46] let s:lib.Codec.decoding_table["47"] = [47] let s:lib.Codec.decoding_table["48"] = [48] let s:lib.Codec.decoding_table["49"] = [49] let s:lib.Codec.decoding_table["50"] = [50] let s:lib.Codec.decoding_table["51"] = [51] let s:lib.Codec.decoding_table["52"] = [52] let s:lib.Codec.decoding_table["53"] = [53] let s:lib.Codec.decoding_table["54"] = [54] let s:lib.Codec.decoding_table["55"] = [55] let s:lib.Codec.decoding_table["56"] = [56] let s:lib.Codec.decoding_table["57"] = [57] let s:lib.Codec.decoding_table["58"] = [58] let s:lib.Codec.decoding_table["59"] = [59] let s:lib.Codec.decoding_table["60"] = [60] let s:lib.Codec.decoding_table["61"] = [61] let s:lib.Codec.decoding_table["62"] = [62] let s:lib.Codec.decoding_table["63"] = [63] let s:lib.Codec.decoding_table["64"] = [64] let s:lib.Codec.decoding_table["65"] = [65] let s:lib.Codec.decoding_table["66"] = [66] let s:lib.Codec.decoding_table["67"] = [67] let s:lib.Codec.decoding_table["68"] = [68] let s:lib.Codec.decoding_table["69"] = [69] let s:lib.Codec.decoding_table["70"] = [70] let s:lib.Codec.decoding_table["71"] = [71] let s:lib.Codec.decoding_table["72"] = [72] let s:lib.Codec.decoding_table["73"] = [73] let s:lib.Codec.decoding_table["74"] = [74] let s:lib.Codec.decoding_table["75"] = [75] let s:lib.Codec.decoding_table["76"] = [76] let s:lib.Codec.decoding_table["77"] = [77] let s:lib.Codec.decoding_table["78"] = [78] let s:lib.Codec.decoding_table["79"] = [79] let s:lib.Codec.decoding_table["80"] = [80] let s:lib.Codec.decoding_table["81"] = [81] let s:lib.Codec.decoding_table["82"] = [82] let s:lib.Codec.decoding_table["83"] = [83] let s:lib.Codec.decoding_table["84"] = [84] let s:lib.Codec.decoding_table["85"] = [85] let s:lib.Codec.decoding_table["86"] = [86] let s:lib.Codec.decoding_table["87"] = [87] let s:lib.Codec.decoding_table["88"] = [88] let s:lib.Codec.decoding_table["89"] = [89] let s:lib.Codec.decoding_table["90"] = [90] let s:lib.Codec.decoding_table["91"] = [91] let s:lib.Codec.decoding_table["92"] = [92] let s:lib.Codec.decoding_table["93"] = [93] let s:lib.Codec.decoding_table["94"] = [94] let s:lib.Codec.decoding_table["95"] = [95] let s:lib.Codec.decoding_table["96"] = [96] let s:lib.Codec.decoding_table["97"] = [97] let s:lib.Codec.decoding_table["98"] = [98] let s:lib.Codec.decoding_table["99"] = [99] let s:lib.Codec.decoding_table["100"] = [100] let s:lib.Codec.decoding_table["101"] = [101] let s:lib.Codec.decoding_table["102"] = [102] let s:lib.Codec.decoding_table["103"] = [103] let s:lib.Codec.decoding_table["104"] = [104] let s:lib.Codec.decoding_table["105"] = [105] let s:lib.Codec.decoding_table["106"] = [106] let s:lib.Codec.decoding_table["107"] = [107] let s:lib.Codec.decoding_table["108"] = [108] let s:lib.Codec.decoding_table["109"] = [109] let s:lib.Codec.decoding_table["110"] = [110] let s:lib.Codec.decoding_table["111"] = [111] let s:lib.Codec.decoding_table["112"] = [112] let s:lib.Codec.decoding_table["113"] = [113] let s:lib.Codec.decoding_table["114"] = [114] let s:lib.Codec.decoding_table["115"] = [115] let s:lib.Codec.decoding_table["116"] = [116] let s:lib.Codec.decoding_table["117"] = [117] let s:lib.Codec.decoding_table["118"] = [118] let s:lib.Codec.decoding_table["119"] = [119] let s:lib.Codec.decoding_table["120"] = [120] let s:lib.Codec.decoding_table["121"] = [121] let s:lib.Codec.decoding_table["122"] = [122] let s:lib.Codec.decoding_table["123"] = [123] let s:lib.Codec.decoding_table["124"] = [124] let s:lib.Codec.decoding_table["125"] = [125] let s:lib.Codec.decoding_table["126"] = [126] let s:lib.Codec.decoding_table["127"] = [127] let s:lib.Codec.decoding_table["161,64"] = [12288] let s:lib.Codec.decoding_table["161,65"] = [65292] let s:lib.Codec.decoding_table["161,66"] = [12289] let s:lib.Codec.decoding_table["161,67"] = [12290] let s:lib.Codec.decoding_table["161,68"] = [65294] let s:lib.Codec.decoding_table["161,69"] = [8231] let s:lib.Codec.decoding_table["161,70"] = [65307] let s:lib.Codec.decoding_table["161,71"] = [65306] let s:lib.Codec.decoding_table["161,72"] = [65311] let s:lib.Codec.decoding_table["161,73"] = [65281] let s:lib.Codec.decoding_table["161,74"] = [65072] let s:lib.Codec.decoding_table["161,75"] = [8230] let s:lib.Codec.decoding_table["161,76"] = [8229] let s:lib.Codec.decoding_table["161,77"] = [65104] let s:lib.Codec.decoding_table["161,78"] = [65105] let s:lib.Codec.decoding_table["161,79"] = [65106] let s:lib.Codec.decoding_table["161,80"] = [183] let s:lib.Codec.decoding_table["161,81"] = [65108] let s:lib.Codec.decoding_table["161,82"] = [65109] let s:lib.Codec.decoding_table["161,83"] = [65110] let s:lib.Codec.decoding_table["161,84"] = [65111] let s:lib.Codec.decoding_table["161,85"] = [65372] let s:lib.Codec.decoding_table["161,86"] = [8211] let s:lib.Codec.decoding_table["161,87"] = [65073] let s:lib.Codec.decoding_table["161,88"] = [8212] let s:lib.Codec.decoding_table["161,89"] = [65075] let s:lib.Codec.decoding_table["161,90"] = [9588] let s:lib.Codec.decoding_table["161,91"] = [65076] let s:lib.Codec.decoding_table["161,92"] = [65103] let s:lib.Codec.decoding_table["161,93"] = [65288] let s:lib.Codec.decoding_table["161,94"] = [65289] let s:lib.Codec.decoding_table["161,95"] = [65077] let s:lib.Codec.decoding_table["161,96"] = [65078] let s:lib.Codec.decoding_table["161,97"] = [65371] let s:lib.Codec.decoding_table["161,98"] = [65373] let s:lib.Codec.decoding_table["161,99"] = [65079] let s:lib.Codec.decoding_table["161,100"] = [65080] let s:lib.Codec.decoding_table["161,101"] = [12308] let s:lib.Codec.decoding_table["161,102"] = [12309] let s:lib.Codec.decoding_table["161,103"] = [65081] let s:lib.Codec.decoding_table["161,104"] = [65082] let s:lib.Codec.decoding_table["161,105"] = [12304] let s:lib.Codec.decoding_table["161,106"] = [12305] let s:lib.Codec.decoding_table["161,107"] = [65083] let s:lib.Codec.decoding_table["161,108"] = [65084] let s:lib.Codec.decoding_table["161,109"] = [12298] let s:lib.Codec.decoding_table["161,110"] = [12299] let s:lib.Codec.decoding_table["161,111"] = [65085] let s:lib.Codec.decoding_table["161,112"] = [65086] let s:lib.Codec.decoding_table["161,113"] = [12296] let s:lib.Codec.decoding_table["161,114"] = [12297] let s:lib.Codec.decoding_table["161,115"] = [65087] let s:lib.Codec.decoding_table["161,116"] = [65088] let s:lib.Codec.decoding_table["161,117"] = [12300] let s:lib.Codec.decoding_table["161,118"] = [12301] let s:lib.Codec.decoding_table["161,119"] = [65089] let s:lib.Codec.decoding_table["161,120"] = [65090] let s:lib.Codec.decoding_table["161,121"] = [12302] let s:lib.Codec.decoding_table["161,122"] = [12303] let s:lib.Codec.decoding_table["161,123"] = [65091] let s:lib.Codec.decoding_table["161,124"] = [65092] let s:lib.Codec.decoding_table["161,125"] = [65113] let s:lib.Codec.decoding_table["161,126"] = [65114] let s:lib.Codec.decoding_table["161,161"] = [65115] let s:lib.Codec.decoding_table["161,162"] = [65116] let s:lib.Codec.decoding_table["161,163"] = [65117] let s:lib.Codec.decoding_table["161,164"] = [65118] let s:lib.Codec.decoding_table["161,165"] = [8216] let s:lib.Codec.decoding_table["161,166"] = [8217] let s:lib.Codec.decoding_table["161,167"] = [8220] let s:lib.Codec.decoding_table["161,168"] = [8221] let s:lib.Codec.decoding_table["161,169"] = [12317] let s:lib.Codec.decoding_table["161,170"] = [12318] let s:lib.Codec.decoding_table["161,171"] = [8245] let s:lib.Codec.decoding_table["161,172"] = [8242] let s:lib.Codec.decoding_table["161,173"] = [65283] let s:lib.Codec.decoding_table["161,174"] = [65286] let s:lib.Codec.decoding_table["161,175"] = [65290] let s:lib.Codec.decoding_table["161,176"] = [8251] let s:lib.Codec.decoding_table["161,177"] = [167] let s:lib.Codec.decoding_table["161,178"] = [12291] let s:lib.Codec.decoding_table["161,179"] = [9675] let s:lib.Codec.decoding_table["161,180"] = [9679] let s:lib.Codec.decoding_table["161,181"] = [9651] let s:lib.Codec.decoding_table["161,182"] = [9650] let s:lib.Codec.decoding_table["161,183"] = [9678] let s:lib.Codec.decoding_table["161,184"] = [9734] let s:lib.Codec.decoding_table["161,185"] = [9733] let s:lib.Codec.decoding_table["161,186"] = [9671] let s:lib.Codec.decoding_table["161,187"] = [9670] let s:lib.Codec.decoding_table["161,188"] = [9633] let s:lib.Codec.decoding_table["161,189"] = [9632] let s:lib.Codec.decoding_table["161,190"] = [9661] let s:lib.Codec.decoding_table["161,191"] = [9660] let s:lib.Codec.decoding_table["161,192"] = [12963] let s:lib.Codec.decoding_table["161,193"] = [8453] let s:lib.Codec.decoding_table["161,194"] = [175] let s:lib.Codec.decoding_table["161,195"] = [65507] let s:lib.Codec.decoding_table["161,196"] = [65343] let s:lib.Codec.decoding_table["161,197"] = [717] let s:lib.Codec.decoding_table["161,198"] = [65097] let s:lib.Codec.decoding_table["161,199"] = [65098] let s:lib.Codec.decoding_table["161,200"] = [65101] let s:lib.Codec.decoding_table["161,201"] = [65102] let s:lib.Codec.decoding_table["161,202"] = [65099] let s:lib.Codec.decoding_table["161,203"] = [65100] let s:lib.Codec.decoding_table["161,204"] = [65119] let s:lib.Codec.decoding_table["161,205"] = [65120] let s:lib.Codec.decoding_table["161,206"] = [65121] let s:lib.Codec.decoding_table["161,207"] = [65291] let s:lib.Codec.decoding_table["161,208"] = [65293] let s:lib.Codec.decoding_table["161,209"] = [215] let s:lib.Codec.decoding_table["161,210"] = [247] let s:lib.Codec.decoding_table["161,211"] = [177] let s:lib.Codec.decoding_table["161,212"] = [8730] let s:lib.Codec.decoding_table["161,213"] = [65308] let s:lib.Codec.decoding_table["161,214"] = [65310] let s:lib.Codec.decoding_table["161,215"] = [65309] let s:lib.Codec.decoding_table["161,216"] = [8806] let s:lib.Codec.decoding_table["161,217"] = [8807] let s:lib.Codec.decoding_table["161,218"] = [8800] let s:lib.Codec.decoding_table["161,219"] = [8734] let s:lib.Codec.decoding_table["161,220"] = [8786] let s:lib.Codec.decoding_table["161,221"] = [8801] let s:lib.Codec.decoding_table["161,222"] = [65122] let s:lib.Codec.decoding_table["161,223"] = [65123] let s:lib.Codec.decoding_table["161,224"] = [65124] let s:lib.Codec.decoding_table["161,225"] = [65125] let s:lib.Codec.decoding_table["161,226"] = [65126] let s:lib.Codec.decoding_table["161,227"] = [65374] let s:lib.Codec.decoding_table["161,228"] = [8745] let s:lib.Codec.decoding_table["161,229"] = [8746] let s:lib.Codec.decoding_table["161,230"] = [8869] let s:lib.Codec.decoding_table["161,231"] = [8736] let s:lib.Codec.decoding_table["161,232"] = [8735] let s:lib.Codec.decoding_table["161,233"] = [8895] let s:lib.Codec.decoding_table["161,234"] = [13266] let s:lib.Codec.decoding_table["161,235"] = [13265] let s:lib.Codec.decoding_table["161,236"] = [8747] let s:lib.Codec.decoding_table["161,237"] = [8750] let s:lib.Codec.decoding_table["161,238"] = [8757] let s:lib.Codec.decoding_table["161,239"] = [8756] let s:lib.Codec.decoding_table["161,240"] = [9792] let s:lib.Codec.decoding_table["161,241"] = [9794] let s:lib.Codec.decoding_table["161,242"] = [8853] let s:lib.Codec.decoding_table["161,243"] = [8857] let s:lib.Codec.decoding_table["161,244"] = [8593] let s:lib.Codec.decoding_table["161,245"] = [8595] let s:lib.Codec.decoding_table["161,246"] = [8592] let s:lib.Codec.decoding_table["161,247"] = [8594] let s:lib.Codec.decoding_table["161,248"] = [8598] let s:lib.Codec.decoding_table["161,249"] = [8599] let s:lib.Codec.decoding_table["161,250"] = [8601] let s:lib.Codec.decoding_table["161,251"] = [8600] let s:lib.Codec.decoding_table["161,252"] = [8741] let s:lib.Codec.decoding_table["161,253"] = [8739] let s:lib.Codec.decoding_table["161,254"] = [65295] let s:lib.Codec.decoding_table["162,64"] = [65340] let s:lib.Codec.decoding_table["162,65"] = [8725] let s:lib.Codec.decoding_table["162,66"] = [65128] let s:lib.Codec.decoding_table["162,67"] = [65284] let s:lib.Codec.decoding_table["162,68"] = [65509] let s:lib.Codec.decoding_table["162,69"] = [12306] let s:lib.Codec.decoding_table["162,70"] = [65504] let s:lib.Codec.decoding_table["162,71"] = [65505] let s:lib.Codec.decoding_table["162,72"] = [65285] let s:lib.Codec.decoding_table["162,73"] = [65312] let s:lib.Codec.decoding_table["162,74"] = [8451] let s:lib.Codec.decoding_table["162,75"] = [8457] let s:lib.Codec.decoding_table["162,76"] = [65129] let s:lib.Codec.decoding_table["162,77"] = [65130] let s:lib.Codec.decoding_table["162,78"] = [65131] let s:lib.Codec.decoding_table["162,79"] = [13269] let s:lib.Codec.decoding_table["162,80"] = [13212] let s:lib.Codec.decoding_table["162,81"] = [13213] let s:lib.Codec.decoding_table["162,82"] = [13214] let s:lib.Codec.decoding_table["162,83"] = [13262] let s:lib.Codec.decoding_table["162,84"] = [13217] let s:lib.Codec.decoding_table["162,85"] = [13198] let s:lib.Codec.decoding_table["162,86"] = [13199] let s:lib.Codec.decoding_table["162,87"] = [13252] let s:lib.Codec.decoding_table["162,88"] = [176] let s:lib.Codec.decoding_table["162,89"] = [20825] let s:lib.Codec.decoding_table["162,90"] = [20827] let s:lib.Codec.decoding_table["162,91"] = [20830] let s:lib.Codec.decoding_table["162,92"] = [20829] let s:lib.Codec.decoding_table["162,93"] = [20833] let s:lib.Codec.decoding_table["162,94"] = [20835] let s:lib.Codec.decoding_table["162,95"] = [21991] let s:lib.Codec.decoding_table["162,96"] = [29929] let s:lib.Codec.decoding_table["162,97"] = [31950] let s:lib.Codec.decoding_table["162,98"] = [9601] let s:lib.Codec.decoding_table["162,99"] = [9602] let s:lib.Codec.decoding_table["162,100"] = [9603] let s:lib.Codec.decoding_table["162,101"] = [9604] let s:lib.Codec.decoding_table["162,102"] = [9605] let s:lib.Codec.decoding_table["162,103"] = [9606] let s:lib.Codec.decoding_table["162,104"] = [9607] let s:lib.Codec.decoding_table["162,105"] = [9608] let s:lib.Codec.decoding_table["162,106"] = [9615] let s:lib.Codec.decoding_table["162,107"] = [9614] let s:lib.Codec.decoding_table["162,108"] = [9613] let s:lib.Codec.decoding_table["162,109"] = [9612] let s:lib.Codec.decoding_table["162,110"] = [9611] let s:lib.Codec.decoding_table["162,111"] = [9610] let s:lib.Codec.decoding_table["162,112"] = [9609] let s:lib.Codec.decoding_table["162,113"] = [9532] let s:lib.Codec.decoding_table["162,114"] = [9524] let s:lib.Codec.decoding_table["162,115"] = [9516] let s:lib.Codec.decoding_table["162,116"] = [9508] let s:lib.Codec.decoding_table["162,117"] = [9500] let s:lib.Codec.decoding_table["162,118"] = [9620] let s:lib.Codec.decoding_table["162,119"] = [9472] let s:lib.Codec.decoding_table["162,120"] = [9474] let s:lib.Codec.decoding_table["162,121"] = [9621] let s:lib.Codec.decoding_table["162,122"] = [9484] let s:lib.Codec.decoding_table["162,123"] = [9488] let s:lib.Codec.decoding_table["162,124"] = [9492] let s:lib.Codec.decoding_table["162,125"] = [9496] let s:lib.Codec.decoding_table["162,126"] = [9581] let s:lib.Codec.decoding_table["162,161"] = [9582] let s:lib.Codec.decoding_table["162,162"] = [9584] let s:lib.Codec.decoding_table["162,163"] = [9583] let s:lib.Codec.decoding_table["162,164"] = [9552] let s:lib.Codec.decoding_table["162,165"] = [9566] let s:lib.Codec.decoding_table["162,166"] = [9578] let s:lib.Codec.decoding_table["162,167"] = [9569] let s:lib.Codec.decoding_table["162,168"] = [9698] let s:lib.Codec.decoding_table["162,169"] = [9699] let s:lib.Codec.decoding_table["162,170"] = [9701] let s:lib.Codec.decoding_table["162,171"] = [9700] let s:lib.Codec.decoding_table["162,172"] = [9585] let s:lib.Codec.decoding_table["162,173"] = [9586] let s:lib.Codec.decoding_table["162,174"] = [9587] let s:lib.Codec.decoding_table["162,175"] = [65296] let s:lib.Codec.decoding_table["162,176"] = [65297] let s:lib.Codec.decoding_table["162,177"] = [65298] let s:lib.Codec.decoding_table["162,178"] = [65299] let s:lib.Codec.decoding_table["162,179"] = [65300] let s:lib.Codec.decoding_table["162,180"] = [65301] let s:lib.Codec.decoding_table["162,181"] = [65302] let s:lib.Codec.decoding_table["162,182"] = [65303] let s:lib.Codec.decoding_table["162,183"] = [65304] let s:lib.Codec.decoding_table["162,184"] = [65305] let s:lib.Codec.decoding_table["162,185"] = [8544] let s:lib.Codec.decoding_table["162,186"] = [8545] let s:lib.Codec.decoding_table["162,187"] = [8546] let s:lib.Codec.decoding_table["162,188"] = [8547] let s:lib.Codec.decoding_table["162,189"] = [8548] let s:lib.Codec.decoding_table["162,190"] = [8549] let s:lib.Codec.decoding_table["162,191"] = [8550] let s:lib.Codec.decoding_table["162,192"] = [8551] let s:lib.Codec.decoding_table["162,193"] = [8552] let s:lib.Codec.decoding_table["162,194"] = [8553] let s:lib.Codec.decoding_table["162,195"] = [12321] let s:lib.Codec.decoding_table["162,196"] = [12322] let s:lib.Codec.decoding_table["162,197"] = [12323] let s:lib.Codec.decoding_table["162,198"] = [12324] let s:lib.Codec.decoding_table["162,199"] = [12325] let s:lib.Codec.decoding_table["162,200"] = [12326] let s:lib.Codec.decoding_table["162,201"] = [12327] let s:lib.Codec.decoding_table["162,202"] = [12328] let s:lib.Codec.decoding_table["162,203"] = [12329] let s:lib.Codec.decoding_table["162,204"] = [21313] let s:lib.Codec.decoding_table["162,205"] = [21316] let s:lib.Codec.decoding_table["162,206"] = [21317] let s:lib.Codec.decoding_table["162,207"] = [65313] let s:lib.Codec.decoding_table["162,208"] = [65314] let s:lib.Codec.decoding_table["162,209"] = [65315] let s:lib.Codec.decoding_table["162,210"] = [65316] let s:lib.Codec.decoding_table["162,211"] = [65317] let s:lib.Codec.decoding_table["162,212"] = [65318] let s:lib.Codec.decoding_table["162,213"] = [65319] let s:lib.Codec.decoding_table["162,214"] = [65320] let s:lib.Codec.decoding_table["162,215"] = [65321] let s:lib.Codec.decoding_table["162,216"] = [65322] let s:lib.Codec.decoding_table["162,217"] = [65323] let s:lib.Codec.decoding_table["162,218"] = [65324] let s:lib.Codec.decoding_table["162,219"] = [65325] let s:lib.Codec.decoding_table["162,220"] = [65326] let s:lib.Codec.decoding_table["162,221"] = [65327] let s:lib.Codec.decoding_table["162,222"] = [65328] let s:lib.Codec.decoding_table["162,223"] = [65329] let s:lib.Codec.decoding_table["162,224"] = [65330] let s:lib.Codec.decoding_table["162,225"] = [65331] let s:lib.Codec.decoding_table["162,226"] = [65332] let s:lib.Codec.decoding_table["162,227"] = [65333] let s:lib.Codec.decoding_table["162,228"] = [65334] let s:lib.Codec.decoding_table["162,229"] = [65335] let s:lib.Codec.decoding_table["162,230"] = [65336] let s:lib.Codec.decoding_table["162,231"] = [65337] let s:lib.Codec.decoding_table["162,232"] = [65338] let s:lib.Codec.decoding_table["162,233"] = [65345] let s:lib.Codec.decoding_table["162,234"] = [65346] let s:lib.Codec.decoding_table["162,235"] = [65347] let s:lib.Codec.decoding_table["162,236"] = [65348] let s:lib.Codec.decoding_table["162,237"] = [65349] let s:lib.Codec.decoding_table["162,238"] = [65350] let s:lib.Codec.decoding_table["162,239"] = [65351] let s:lib.Codec.decoding_table["162,240"] = [65352] let s:lib.Codec.decoding_table["162,241"] = [65353] let s:lib.Codec.decoding_table["162,242"] = [65354] let s:lib.Codec.decoding_table["162,243"] = [65355] let s:lib.Codec.decoding_table["162,244"] = [65356] let s:lib.Codec.decoding_table["162,245"] = [65357] let s:lib.Codec.decoding_table["162,246"] = [65358] let s:lib.Codec.decoding_table["162,247"] = [65359] let s:lib.Codec.decoding_table["162,248"] = [65360] let s:lib.Codec.decoding_table["162,249"] = [65361] let s:lib.Codec.decoding_table["162,250"] = [65362] let s:lib.Codec.decoding_table["162,251"] = [65363] let s:lib.Codec.decoding_table["162,252"] = [65364] let s:lib.Codec.decoding_table["162,253"] = [65365] let s:lib.Codec.decoding_table["162,254"] = [65366] let s:lib.Codec.decoding_table["163,64"] = [65367] let s:lib.Codec.decoding_table["163,65"] = [65368] let s:lib.Codec.decoding_table["163,66"] = [65369] let s:lib.Codec.decoding_table["163,67"] = [65370] let s:lib.Codec.decoding_table["163,68"] = [913] let s:lib.Codec.decoding_table["163,69"] = [914] let s:lib.Codec.decoding_table["163,70"] = [915] let s:lib.Codec.decoding_table["163,71"] = [916] let s:lib.Codec.decoding_table["163,72"] = [917] let s:lib.Codec.decoding_table["163,73"] = [918] let s:lib.Codec.decoding_table["163,74"] = [919] let s:lib.Codec.decoding_table["163,75"] = [920] let s:lib.Codec.decoding_table["163,76"] = [921] let s:lib.Codec.decoding_table["163,77"] = [922] let s:lib.Codec.decoding_table["163,78"] = [923] let s:lib.Codec.decoding_table["163,79"] = [924] let s:lib.Codec.decoding_table["163,80"] = [925] let s:lib.Codec.decoding_table["163,81"] = [926] let s:lib.Codec.decoding_table["163,82"] = [927] let s:lib.Codec.decoding_table["163,83"] = [928] let s:lib.Codec.decoding_table["163,84"] = [929] let s:lib.Codec.decoding_table["163,85"] = [931] let s:lib.Codec.decoding_table["163,86"] = [932] let s:lib.Codec.decoding_table["163,87"] = [933] let s:lib.Codec.decoding_table["163,88"] = [934] let s:lib.Codec.decoding_table["163,89"] = [935] let s:lib.Codec.decoding_table["163,90"] = [936] let s:lib.Codec.decoding_table["163,91"] = [937] let s:lib.Codec.decoding_table["163,92"] = [945] let s:lib.Codec.decoding_table["163,93"] = [946] let s:lib.Codec.decoding_table["163,94"] = [947] let s:lib.Codec.decoding_table["163,95"] = [948] let s:lib.Codec.decoding_table["163,96"] = [949] let s:lib.Codec.decoding_table["163,97"] = [950] let s:lib.Codec.decoding_table["163,98"] = [951] let s:lib.Codec.decoding_table["163,99"] = [952] let s:lib.Codec.decoding_table["163,100"] = [953] let s:lib.Codec.decoding_table["163,101"] = [954] let s:lib.Codec.decoding_table["163,102"] = [955] let s:lib.Codec.decoding_table["163,103"] = [956] let s:lib.Codec.decoding_table["163,104"] = [957] let s:lib.Codec.decoding_table["163,105"] = [958] let s:lib.Codec.decoding_table["163,106"] = [959] let s:lib.Codec.decoding_table["163,107"] = [960] let s:lib.Codec.decoding_table["163,108"] = [961] let s:lib.Codec.decoding_table["163,109"] = [963] let s:lib.Codec.decoding_table["163,110"] = [964] let s:lib.Codec.decoding_table["163,111"] = [965] let s:lib.Codec.decoding_table["163,112"] = [966] let s:lib.Codec.decoding_table["163,113"] = [967] let s:lib.Codec.decoding_table["163,114"] = [968] let s:lib.Codec.decoding_table["163,115"] = [969] let s:lib.Codec.decoding_table["163,116"] = [12549] let s:lib.Codec.decoding_table["163,117"] = [12550] let s:lib.Codec.decoding_table["163,118"] = [12551] let s:lib.Codec.decoding_table["163,119"] = [12552] let s:lib.Codec.decoding_table["163,120"] = [12553] let s:lib.Codec.decoding_table["163,121"] = [12554] let s:lib.Codec.decoding_table["163,122"] = [12555] let s:lib.Codec.decoding_table["163,123"] = [12556] let s:lib.Codec.decoding_table["163,124"] = [12557] let s:lib.Codec.decoding_table["163,125"] = [12558] let s:lib.Codec.decoding_table["163,126"] = [12559] let s:lib.Codec.decoding_table["163,161"] = [12560] let s:lib.Codec.decoding_table["163,162"] = [12561] let s:lib.Codec.decoding_table["163,163"] = [12562] let s:lib.Codec.decoding_table["163,164"] = [12563] let s:lib.Codec.decoding_table["163,165"] = [12564] let s:lib.Codec.decoding_table["163,166"] = [12565] let s:lib.Codec.decoding_table["163,167"] = [12566] let s:lib.Codec.decoding_table["163,168"] = [12567] let s:lib.Codec.decoding_table["163,169"] = [12568] let s:lib.Codec.decoding_table["163,170"] = [12569] let s:lib.Codec.decoding_table["163,171"] = [12570] let s:lib.Codec.decoding_table["163,172"] = [12571] let s:lib.Codec.decoding_table["163,173"] = [12572] let s:lib.Codec.decoding_table["163,174"] = [12573] let s:lib.Codec.decoding_table["163,175"] = [12574] let s:lib.Codec.decoding_table["163,176"] = [12575] let s:lib.Codec.decoding_table["163,177"] = [12576] let s:lib.Codec.decoding_table["163,178"] = [12577] let s:lib.Codec.decoding_table["163,179"] = [12578] let s:lib.Codec.decoding_table["163,180"] = [12579] let s:lib.Codec.decoding_table["163,181"] = [12580] let s:lib.Codec.decoding_table["163,182"] = [12581] let s:lib.Codec.decoding_table["163,183"] = [12582] let s:lib.Codec.decoding_table["163,184"] = [12583] let s:lib.Codec.decoding_table["163,185"] = [12584] let s:lib.Codec.decoding_table["163,186"] = [12585] let s:lib.Codec.decoding_table["163,187"] = [729] let s:lib.Codec.decoding_table["163,188"] = [713] let s:lib.Codec.decoding_table["163,189"] = [714] let s:lib.Codec.decoding_table["163,190"] = [711] let s:lib.Codec.decoding_table["163,191"] = [715] let s:lib.Codec.decoding_table["163,225"] = [8364] let s:lib.Codec.decoding_table["164,64"] = [19968] let s:lib.Codec.decoding_table["164,65"] = [20057] let s:lib.Codec.decoding_table["164,66"] = [19969] let s:lib.Codec.decoding_table["164,67"] = [19971] let s:lib.Codec.decoding_table["164,68"] = [20035] let s:lib.Codec.decoding_table["164,69"] = [20061] let s:lib.Codec.decoding_table["164,70"] = [20102] let s:lib.Codec.decoding_table["164,71"] = [20108] let s:lib.Codec.decoding_table["164,72"] = [20154] let s:lib.Codec.decoding_table["164,73"] = [20799] let s:lib.Codec.decoding_table["164,74"] = [20837] let s:lib.Codec.decoding_table["164,75"] = [20843] let s:lib.Codec.decoding_table["164,76"] = [20960] let s:lib.Codec.decoding_table["164,77"] = [20992] let s:lib.Codec.decoding_table["164,78"] = [20993] let s:lib.Codec.decoding_table["164,79"] = [21147] let s:lib.Codec.decoding_table["164,80"] = [21269] let s:lib.Codec.decoding_table["164,81"] = [21313] let s:lib.Codec.decoding_table["164,82"] = [21340] let s:lib.Codec.decoding_table["164,83"] = [21448] let s:lib.Codec.decoding_table["164,84"] = [19977] let s:lib.Codec.decoding_table["164,85"] = [19979] let s:lib.Codec.decoding_table["164,86"] = [19976] let s:lib.Codec.decoding_table["164,87"] = [19978] let s:lib.Codec.decoding_table["164,88"] = [20011] let s:lib.Codec.decoding_table["164,89"] = [20024] let s:lib.Codec.decoding_table["164,90"] = [20961] let s:lib.Codec.decoding_table["164,91"] = [20037] let s:lib.Codec.decoding_table["164,92"] = [20040] let s:lib.Codec.decoding_table["164,93"] = [20063] let s:lib.Codec.decoding_table["164,94"] = [20062] let s:lib.Codec.decoding_table["164,95"] = [20110] let s:lib.Codec.decoding_table["164,96"] = [20129] let s:lib.Codec.decoding_table["164,97"] = [20800] let s:lib.Codec.decoding_table["164,98"] = [20995] let s:lib.Codec.decoding_table["164,99"] = [21242] let s:lib.Codec.decoding_table["164,100"] = [21315] let s:lib.Codec.decoding_table["164,101"] = [21449] let s:lib.Codec.decoding_table["164,102"] = [21475] let s:lib.Codec.decoding_table["164,103"] = [22303] let s:lib.Codec.decoding_table["164,104"] = [22763] let s:lib.Codec.decoding_table["164,105"] = [22805] let s:lib.Codec.decoding_table["164,106"] = [22823] let s:lib.Codec.decoding_table["164,107"] = [22899] let s:lib.Codec.decoding_table["164,108"] = [23376] let s:lib.Codec.decoding_table["164,109"] = [23377] let s:lib.Codec.decoding_table["164,110"] = [23379] let s:lib.Codec.decoding_table["164,111"] = [23544] let s:lib.Codec.decoding_table["164,112"] = [23567] let s:lib.Codec.decoding_table["164,113"] = [23586] let s:lib.Codec.decoding_table["164,114"] = [23608] let s:lib.Codec.decoding_table["164,115"] = [23665] let s:lib.Codec.decoding_table["164,116"] = [24029] let s:lib.Codec.decoding_table["164,117"] = [24037] let s:lib.Codec.decoding_table["164,118"] = [24049] let s:lib.Codec.decoding_table["164,119"] = [24050] let s:lib.Codec.decoding_table["164,120"] = [24051] let s:lib.Codec.decoding_table["164,121"] = [24062] let s:lib.Codec.decoding_table["164,122"] = [24178] let s:lib.Codec.decoding_table["164,123"] = [24318] let s:lib.Codec.decoding_table["164,124"] = [24331] let s:lib.Codec.decoding_table["164,125"] = [24339] let s:lib.Codec.decoding_table["164,126"] = [25165] let s:lib.Codec.decoding_table["164,161"] = [19985] let s:lib.Codec.decoding_table["164,162"] = [19984] let s:lib.Codec.decoding_table["164,163"] = [19981] let s:lib.Codec.decoding_table["164,164"] = [20013] let s:lib.Codec.decoding_table["164,165"] = [20016] let s:lib.Codec.decoding_table["164,166"] = [20025] let s:lib.Codec.decoding_table["164,167"] = [20043] let s:lib.Codec.decoding_table["164,168"] = [23609] let s:lib.Codec.decoding_table["164,169"] = [20104] let s:lib.Codec.decoding_table["164,170"] = [20113] let s:lib.Codec.decoding_table["164,171"] = [20117] let s:lib.Codec.decoding_table["164,172"] = [20114] let s:lib.Codec.decoding_table["164,173"] = [20116] let s:lib.Codec.decoding_table["164,174"] = [20130] let s:lib.Codec.decoding_table["164,175"] = [20161] let s:lib.Codec.decoding_table["164,176"] = [20160] let s:lib.Codec.decoding_table["164,177"] = [20163] let s:lib.Codec.decoding_table["164,178"] = [20166] let s:lib.Codec.decoding_table["164,179"] = [20167] let s:lib.Codec.decoding_table["164,180"] = [20173] let s:lib.Codec.decoding_table["164,181"] = [20170] let s:lib.Codec.decoding_table["164,182"] = [20171] let s:lib.Codec.decoding_table["164,183"] = [20164] let s:lib.Codec.decoding_table["164,184"] = [20803] let s:lib.Codec.decoding_table["164,185"] = [20801] let s:lib.Codec.decoding_table["164,186"] = [20839] let s:lib.Codec.decoding_table["164,187"] = [20845] let s:lib.Codec.decoding_table["164,188"] = [20846] let s:lib.Codec.decoding_table["164,189"] = [20844] let s:lib.Codec.decoding_table["164,190"] = [20887] let s:lib.Codec.decoding_table["164,191"] = [20982] let s:lib.Codec.decoding_table["164,192"] = [20998] let s:lib.Codec.decoding_table["164,193"] = [20999] let s:lib.Codec.decoding_table["164,194"] = [21000] let s:lib.Codec.decoding_table["164,195"] = [21243] let s:lib.Codec.decoding_table["164,196"] = [21246] let s:lib.Codec.decoding_table["164,197"] = [21247] let s:lib.Codec.decoding_table["164,198"] = [21270] let s:lib.Codec.decoding_table["164,199"] = [21305] let s:lib.Codec.decoding_table["164,200"] = [21320] let s:lib.Codec.decoding_table["164,201"] = [21319] let s:lib.Codec.decoding_table["164,202"] = [21317] let s:lib.Codec.decoding_table["164,203"] = [21342] let s:lib.Codec.decoding_table["164,204"] = [21380] let s:lib.Codec.decoding_table["164,205"] = [21451] let s:lib.Codec.decoding_table["164,206"] = [21450] let s:lib.Codec.decoding_table["164,207"] = [21453] let s:lib.Codec.decoding_table["164,208"] = [22764] let s:lib.Codec.decoding_table["164,209"] = [22825] let s:lib.Codec.decoding_table["164,210"] = [22827] let s:lib.Codec.decoding_table["164,211"] = [22826] let s:lib.Codec.decoding_table["164,212"] = [22829] let s:lib.Codec.decoding_table["164,213"] = [23380] let s:lib.Codec.decoding_table["164,214"] = [23569] let s:lib.Codec.decoding_table["164,215"] = [23588] let s:lib.Codec.decoding_table["164,216"] = [23610] let s:lib.Codec.decoding_table["164,217"] = [23663] let s:lib.Codec.decoding_table["164,218"] = [24052] let s:lib.Codec.decoding_table["164,219"] = [24187] let s:lib.Codec.decoding_table["164,220"] = [24319] let s:lib.Codec.decoding_table["164,221"] = [24340] let s:lib.Codec.decoding_table["164,222"] = [24341] let s:lib.Codec.decoding_table["164,223"] = [24515] let s:lib.Codec.decoding_table["164,224"] = [25096] let s:lib.Codec.decoding_table["164,225"] = [25142] let s:lib.Codec.decoding_table["164,226"] = [25163] let s:lib.Codec.decoding_table["164,227"] = [25166] let s:lib.Codec.decoding_table["164,228"] = [25903] let s:lib.Codec.decoding_table["164,229"] = [25991] let s:lib.Codec.decoding_table["164,230"] = [26007] let s:lib.Codec.decoding_table["164,231"] = [26020] let s:lib.Codec.decoding_table["164,232"] = [26041] let s:lib.Codec.decoding_table["164,233"] = [26085] let s:lib.Codec.decoding_table["164,234"] = [26352] let s:lib.Codec.decoding_table["164,235"] = [26376] let s:lib.Codec.decoding_table["164,236"] = [26408] let s:lib.Codec.decoding_table["164,237"] = [27424] let s:lib.Codec.decoding_table["164,238"] = [27490] let s:lib.Codec.decoding_table["164,239"] = [27513] let s:lib.Codec.decoding_table["164,240"] = [27595] let s:lib.Codec.decoding_table["164,241"] = [27604] let s:lib.Codec.decoding_table["164,242"] = [27611] let s:lib.Codec.decoding_table["164,243"] = [27663] let s:lib.Codec.decoding_table["164,244"] = [27700] let s:lib.Codec.decoding_table["164,245"] = [28779] let s:lib.Codec.decoding_table["164,246"] = [29226] let s:lib.Codec.decoding_table["164,247"] = [29238] let s:lib.Codec.decoding_table["164,248"] = [29243] let s:lib.Codec.decoding_table["164,249"] = [29255] let s:lib.Codec.decoding_table["164,250"] = [29273] let s:lib.Codec.decoding_table["164,251"] = [29275] let s:lib.Codec.decoding_table["164,252"] = [29356] let s:lib.Codec.decoding_table["164,253"] = [29579] let s:lib.Codec.decoding_table["164,254"] = [19993] let s:lib.Codec.decoding_table["165,64"] = [19990] let s:lib.Codec.decoding_table["165,65"] = [19989] let s:lib.Codec.decoding_table["165,66"] = [19988] let s:lib.Codec.decoding_table["165,67"] = [19992] let s:lib.Codec.decoding_table["165,68"] = [20027] let s:lib.Codec.decoding_table["165,69"] = [20045] let s:lib.Codec.decoding_table["165,70"] = [20047] let s:lib.Codec.decoding_table["165,71"] = [20046] let s:lib.Codec.decoding_table["165,72"] = [20197] let s:lib.Codec.decoding_table["165,73"] = [20184] let s:lib.Codec.decoding_table["165,74"] = [20180] let s:lib.Codec.decoding_table["165,75"] = [20181] let s:lib.Codec.decoding_table["165,76"] = [20182] let s:lib.Codec.decoding_table["165,77"] = [20183] let s:lib.Codec.decoding_table["165,78"] = [20195] let s:lib.Codec.decoding_table["165,79"] = [20196] let s:lib.Codec.decoding_table["165,80"] = [20185] let s:lib.Codec.decoding_table["165,81"] = [20190] let s:lib.Codec.decoding_table["165,82"] = [20805] let s:lib.Codec.decoding_table["165,83"] = [20804] let s:lib.Codec.decoding_table["165,84"] = [20873] let s:lib.Codec.decoding_table["165,85"] = [20874] let s:lib.Codec.decoding_table["165,86"] = [20908] let s:lib.Codec.decoding_table["165,87"] = [20985] let s:lib.Codec.decoding_table["165,88"] = [20986] let s:lib.Codec.decoding_table["165,89"] = [20984] let s:lib.Codec.decoding_table["165,90"] = [21002] let s:lib.Codec.decoding_table["165,91"] = [21152] let s:lib.Codec.decoding_table["165,92"] = [21151] let s:lib.Codec.decoding_table["165,93"] = [21253] let s:lib.Codec.decoding_table["165,94"] = [21254] let s:lib.Codec.decoding_table["165,95"] = [21271] let s:lib.Codec.decoding_table["165,96"] = [21277] let s:lib.Codec.decoding_table["165,97"] = [20191] let s:lib.Codec.decoding_table["165,98"] = [21322] let s:lib.Codec.decoding_table["165,99"] = [21321] let s:lib.Codec.decoding_table["165,100"] = [21345] let s:lib.Codec.decoding_table["165,101"] = [21344] let s:lib.Codec.decoding_table["165,102"] = [21359] let s:lib.Codec.decoding_table["165,103"] = [21358] let s:lib.Codec.decoding_table["165,104"] = [21435] let s:lib.Codec.decoding_table["165,105"] = [21487] let s:lib.Codec.decoding_table["165,106"] = [21476] let s:lib.Codec.decoding_table["165,107"] = [21491] let s:lib.Codec.decoding_table["165,108"] = [21484] let s:lib.Codec.decoding_table["165,109"] = [21486] let s:lib.Codec.decoding_table["165,110"] = [21481] let s:lib.Codec.decoding_table["165,111"] = [21480] let s:lib.Codec.decoding_table["165,112"] = [21500] let s:lib.Codec.decoding_table["165,113"] = [21496] let s:lib.Codec.decoding_table["165,114"] = [21493] let s:lib.Codec.decoding_table["165,115"] = [21483] let s:lib.Codec.decoding_table["165,116"] = [21478] let s:lib.Codec.decoding_table["165,117"] = [21482] let s:lib.Codec.decoding_table["165,118"] = [21490] let s:lib.Codec.decoding_table["165,119"] = [21489] let s:lib.Codec.decoding_table["165,120"] = [21488] let s:lib.Codec.decoding_table["165,121"] = [21477] let s:lib.Codec.decoding_table["165,122"] = [21485] let s:lib.Codec.decoding_table["165,123"] = [21499] let s:lib.Codec.decoding_table["165,124"] = [22235] let s:lib.Codec.decoding_table["165,125"] = [22234] let s:lib.Codec.decoding_table["165,126"] = [22806] let s:lib.Codec.decoding_table["165,161"] = [22830] let s:lib.Codec.decoding_table["165,162"] = [22833] let s:lib.Codec.decoding_table["165,163"] = [22900] let s:lib.Codec.decoding_table["165,164"] = [22902] let s:lib.Codec.decoding_table["165,165"] = [23381] let s:lib.Codec.decoding_table["165,166"] = [23427] let s:lib.Codec.decoding_table["165,167"] = [23612] let s:lib.Codec.decoding_table["165,168"] = [24040] let s:lib.Codec.decoding_table["165,169"] = [24039] let s:lib.Codec.decoding_table["165,170"] = [24038] let s:lib.Codec.decoding_table["165,171"] = [24066] let s:lib.Codec.decoding_table["165,172"] = [24067] let s:lib.Codec.decoding_table["165,173"] = [24179] let s:lib.Codec.decoding_table["165,174"] = [24188] let s:lib.Codec.decoding_table["165,175"] = [24321] let s:lib.Codec.decoding_table["165,176"] = [24344] let s:lib.Codec.decoding_table["165,177"] = [24343] let s:lib.Codec.decoding_table["165,178"] = [24517] let s:lib.Codec.decoding_table["165,179"] = [25098] let s:lib.Codec.decoding_table["165,180"] = [25171] let s:lib.Codec.decoding_table["165,181"] = [25172] let s:lib.Codec.decoding_table["165,182"] = [25170] let s:lib.Codec.decoding_table["165,183"] = [25169] let s:lib.Codec.decoding_table["165,184"] = [26021] let s:lib.Codec.decoding_table["165,185"] = [26086] let s:lib.Codec.decoding_table["165,186"] = [26414] let s:lib.Codec.decoding_table["165,187"] = [26412] let s:lib.Codec.decoding_table["165,188"] = [26410] let s:lib.Codec.decoding_table["165,189"] = [26411] let s:lib.Codec.decoding_table["165,190"] = [26413] let s:lib.Codec.decoding_table["165,191"] = [27491] let s:lib.Codec.decoding_table["165,192"] = [27597] let s:lib.Codec.decoding_table["165,193"] = [27665] let s:lib.Codec.decoding_table["165,194"] = [27664] let s:lib.Codec.decoding_table["165,195"] = [27704] let s:lib.Codec.decoding_table["165,196"] = [27713] let s:lib.Codec.decoding_table["165,197"] = [27712] let s:lib.Codec.decoding_table["165,198"] = [27710] let s:lib.Codec.decoding_table["165,199"] = [29359] let s:lib.Codec.decoding_table["165,200"] = [29572] let s:lib.Codec.decoding_table["165,201"] = [29577] let s:lib.Codec.decoding_table["165,202"] = [29916] let s:lib.Codec.decoding_table["165,203"] = [29926] let s:lib.Codec.decoding_table["165,204"] = [29976] let s:lib.Codec.decoding_table["165,205"] = [29983] let s:lib.Codec.decoding_table["165,206"] = [29992] let s:lib.Codec.decoding_table["165,207"] = [29993] let s:lib.Codec.decoding_table["165,208"] = [30000] let s:lib.Codec.decoding_table["165,209"] = [30001] let s:lib.Codec.decoding_table["165,210"] = [30002] let s:lib.Codec.decoding_table["165,211"] = [30003] let s:lib.Codec.decoding_table["165,212"] = [30091] let s:lib.Codec.decoding_table["165,213"] = [30333] let s:lib.Codec.decoding_table["165,214"] = [30382] let s:lib.Codec.decoding_table["165,215"] = [30399] let s:lib.Codec.decoding_table["165,216"] = [30446] let s:lib.Codec.decoding_table["165,217"] = [30683] let s:lib.Codec.decoding_table["165,218"] = [30690] let s:lib.Codec.decoding_table["165,219"] = [30707] let s:lib.Codec.decoding_table["165,220"] = [31034] let s:lib.Codec.decoding_table["165,221"] = [31166] let s:lib.Codec.decoding_table["165,222"] = [31348] let s:lib.Codec.decoding_table["165,223"] = [31435] let s:lib.Codec.decoding_table["165,224"] = [19998] let s:lib.Codec.decoding_table["165,225"] = [19999] let s:lib.Codec.decoding_table["165,226"] = [20050] let s:lib.Codec.decoding_table["165,227"] = [20051] let s:lib.Codec.decoding_table["165,228"] = [20073] let s:lib.Codec.decoding_table["165,229"] = [20121] let s:lib.Codec.decoding_table["165,230"] = [20132] let s:lib.Codec.decoding_table["165,231"] = [20134] let s:lib.Codec.decoding_table["165,232"] = [20133] let s:lib.Codec.decoding_table["165,233"] = [20223] let s:lib.Codec.decoding_table["165,234"] = [20233] let s:lib.Codec.decoding_table["165,235"] = [20249] let s:lib.Codec.decoding_table["165,236"] = [20234] let s:lib.Codec.decoding_table["165,237"] = [20245] let s:lib.Codec.decoding_table["165,238"] = [20237] let s:lib.Codec.decoding_table["165,239"] = [20240] let s:lib.Codec.decoding_table["165,240"] = [20241] let s:lib.Codec.decoding_table["165,241"] = [20239] let s:lib.Codec.decoding_table["165,242"] = [20210] let s:lib.Codec.decoding_table["165,243"] = [20214] let s:lib.Codec.decoding_table["165,244"] = [20219] let s:lib.Codec.decoding_table["165,245"] = [20208] let s:lib.Codec.decoding_table["165,246"] = [20211] let s:lib.Codec.decoding_table["165,247"] = [20221] let s:lib.Codec.decoding_table["165,248"] = [20225] let s:lib.Codec.decoding_table["165,249"] = [20235] let s:lib.Codec.decoding_table["165,250"] = [20809] let s:lib.Codec.decoding_table["165,251"] = [20807] let s:lib.Codec.decoding_table["165,252"] = [20806] let s:lib.Codec.decoding_table["165,253"] = [20808] let s:lib.Codec.decoding_table["165,254"] = [20840] let s:lib.Codec.decoding_table["166,64"] = [20849] let s:lib.Codec.decoding_table["166,65"] = [20877] let s:lib.Codec.decoding_table["166,66"] = [20912] let s:lib.Codec.decoding_table["166,67"] = [21015] let s:lib.Codec.decoding_table["166,68"] = [21009] let s:lib.Codec.decoding_table["166,69"] = [21010] let s:lib.Codec.decoding_table["166,70"] = [21006] let s:lib.Codec.decoding_table["166,71"] = [21014] let s:lib.Codec.decoding_table["166,72"] = [21155] let s:lib.Codec.decoding_table["166,73"] = [21256] let s:lib.Codec.decoding_table["166,74"] = [21281] let s:lib.Codec.decoding_table["166,75"] = [21280] let s:lib.Codec.decoding_table["166,76"] = [21360] let s:lib.Codec.decoding_table["166,77"] = [21361] let s:lib.Codec.decoding_table["166,78"] = [21513] let s:lib.Codec.decoding_table["166,79"] = [21519] let s:lib.Codec.decoding_table["166,80"] = [21516] let s:lib.Codec.decoding_table["166,81"] = [21514] let s:lib.Codec.decoding_table["166,82"] = [21520] let s:lib.Codec.decoding_table["166,83"] = [21505] let s:lib.Codec.decoding_table["166,84"] = [21515] let s:lib.Codec.decoding_table["166,85"] = [21508] let s:lib.Codec.decoding_table["166,86"] = [21521] let s:lib.Codec.decoding_table["166,87"] = [21517] let s:lib.Codec.decoding_table["166,88"] = [21512] let s:lib.Codec.decoding_table["166,89"] = [21507] let s:lib.Codec.decoding_table["166,90"] = [21518] let s:lib.Codec.decoding_table["166,91"] = [21510] let s:lib.Codec.decoding_table["166,92"] = [21522] let s:lib.Codec.decoding_table["166,93"] = [22240] let s:lib.Codec.decoding_table["166,94"] = [22238] let s:lib.Codec.decoding_table["166,95"] = [22237] let s:lib.Codec.decoding_table["166,96"] = [22323] let s:lib.Codec.decoding_table["166,97"] = [22320] let s:lib.Codec.decoding_table["166,98"] = [22312] let s:lib.Codec.decoding_table["166,99"] = [22317] let s:lib.Codec.decoding_table["166,100"] = [22316] let s:lib.Codec.decoding_table["166,101"] = [22319] let s:lib.Codec.decoding_table["166,102"] = [22313] let s:lib.Codec.decoding_table["166,103"] = [22809] let s:lib.Codec.decoding_table["166,104"] = [22810] let s:lib.Codec.decoding_table["166,105"] = [22839] let s:lib.Codec.decoding_table["166,106"] = [22840] let s:lib.Codec.decoding_table["166,107"] = [22916] let s:lib.Codec.decoding_table["166,108"] = [22904] let s:lib.Codec.decoding_table["166,109"] = [22915] let s:lib.Codec.decoding_table["166,110"] = [22909] let s:lib.Codec.decoding_table["166,111"] = [22905] let s:lib.Codec.decoding_table["166,112"] = [22914] let s:lib.Codec.decoding_table["166,113"] = [22913] let s:lib.Codec.decoding_table["166,114"] = [23383] let s:lib.Codec.decoding_table["166,115"] = [23384] let s:lib.Codec.decoding_table["166,116"] = [23431] let s:lib.Codec.decoding_table["166,117"] = [23432] let s:lib.Codec.decoding_table["166,118"] = [23429] let s:lib.Codec.decoding_table["166,119"] = [23433] let s:lib.Codec.decoding_table["166,120"] = [23546] let s:lib.Codec.decoding_table["166,121"] = [23574] let s:lib.Codec.decoding_table["166,122"] = [23673] let s:lib.Codec.decoding_table["166,123"] = [24030] let s:lib.Codec.decoding_table["166,124"] = [24070] let s:lib.Codec.decoding_table["166,125"] = [24182] let s:lib.Codec.decoding_table["166,126"] = [24180] let s:lib.Codec.decoding_table["166,161"] = [24335] let s:lib.Codec.decoding_table["166,162"] = [24347] let s:lib.Codec.decoding_table["166,163"] = [24537] let s:lib.Codec.decoding_table["166,164"] = [24534] let s:lib.Codec.decoding_table["166,165"] = [25102] let s:lib.Codec.decoding_table["166,166"] = [25100] let s:lib.Codec.decoding_table["166,167"] = [25101] let s:lib.Codec.decoding_table["166,168"] = [25104] let s:lib.Codec.decoding_table["166,169"] = [25187] let s:lib.Codec.decoding_table["166,170"] = [25179] let s:lib.Codec.decoding_table["166,171"] = [25176] let s:lib.Codec.decoding_table["166,172"] = [25910] let s:lib.Codec.decoding_table["166,173"] = [26089] let s:lib.Codec.decoding_table["166,174"] = [26088] let s:lib.Codec.decoding_table["166,175"] = [26092] let s:lib.Codec.decoding_table["166,176"] = [26093] let s:lib.Codec.decoding_table["166,177"] = [26354] let s:lib.Codec.decoding_table["166,178"] = [26355] let s:lib.Codec.decoding_table["166,179"] = [26377] let s:lib.Codec.decoding_table["166,180"] = [26429] let s:lib.Codec.decoding_table["166,181"] = [26420] let s:lib.Codec.decoding_table["166,182"] = [26417] let s:lib.Codec.decoding_table["166,183"] = [26421] let s:lib.Codec.decoding_table["166,184"] = [27425] let s:lib.Codec.decoding_table["166,185"] = [27492] let s:lib.Codec.decoding_table["166,186"] = [27515] let s:lib.Codec.decoding_table["166,187"] = [27670] let s:lib.Codec.decoding_table["166,188"] = [27741] let s:lib.Codec.decoding_table["166,189"] = [27735] let s:lib.Codec.decoding_table["166,190"] = [27737] let s:lib.Codec.decoding_table["166,191"] = [27743] let s:lib.Codec.decoding_table["166,192"] = [27744] let s:lib.Codec.decoding_table["166,193"] = [27728] let s:lib.Codec.decoding_table["166,194"] = [27733] let s:lib.Codec.decoding_table["166,195"] = [27745] let s:lib.Codec.decoding_table["166,196"] = [27739] let s:lib.Codec.decoding_table["166,197"] = [27725] let s:lib.Codec.decoding_table["166,198"] = [27726] let s:lib.Codec.decoding_table["166,199"] = [28784] let s:lib.Codec.decoding_table["166,200"] = [29279] let s:lib.Codec.decoding_table["166,201"] = [29277] let s:lib.Codec.decoding_table["166,202"] = [30334] let s:lib.Codec.decoding_table["166,203"] = [31481] let s:lib.Codec.decoding_table["166,204"] = [31859] let s:lib.Codec.decoding_table["166,205"] = [31992] let s:lib.Codec.decoding_table["166,206"] = [32566] let s:lib.Codec.decoding_table["166,207"] = [32650] let s:lib.Codec.decoding_table["166,208"] = [32701] let s:lib.Codec.decoding_table["166,209"] = [32769] let s:lib.Codec.decoding_table["166,210"] = [32771] let s:lib.Codec.decoding_table["166,211"] = [32780] let s:lib.Codec.decoding_table["166,212"] = [32786] let s:lib.Codec.decoding_table["166,213"] = [32819] let s:lib.Codec.decoding_table["166,214"] = [32895] let s:lib.Codec.decoding_table["166,215"] = [32905] let s:lib.Codec.decoding_table["166,216"] = [32907] let s:lib.Codec.decoding_table["166,217"] = [32908] let s:lib.Codec.decoding_table["166,218"] = [33251] let s:lib.Codec.decoding_table["166,219"] = [33258] let s:lib.Codec.decoding_table["166,220"] = [33267] let s:lib.Codec.decoding_table["166,221"] = [33276] let s:lib.Codec.decoding_table["166,222"] = [33292] let s:lib.Codec.decoding_table["166,223"] = [33307] let s:lib.Codec.decoding_table["166,224"] = [33311] let s:lib.Codec.decoding_table["166,225"] = [33390] let s:lib.Codec.decoding_table["166,226"] = [33394] let s:lib.Codec.decoding_table["166,227"] = [33406] let s:lib.Codec.decoding_table["166,228"] = [34411] let s:lib.Codec.decoding_table["166,229"] = [34880] let s:lib.Codec.decoding_table["166,230"] = [34892] let s:lib.Codec.decoding_table["166,231"] = [34915] let s:lib.Codec.decoding_table["166,232"] = [35199] let s:lib.Codec.decoding_table["166,233"] = [38433] let s:lib.Codec.decoding_table["166,234"] = [20018] let s:lib.Codec.decoding_table["166,235"] = [20136] let s:lib.Codec.decoding_table["166,236"] = [20301] let s:lib.Codec.decoding_table["166,237"] = [20303] let s:lib.Codec.decoding_table["166,238"] = [20295] let s:lib.Codec.decoding_table["166,239"] = [20311] let s:lib.Codec.decoding_table["166,240"] = [20318] let s:lib.Codec.decoding_table["166,241"] = [20276] let s:lib.Codec.decoding_table["166,242"] = [20315] let s:lib.Codec.decoding_table["166,243"] = [20309] let s:lib.Codec.decoding_table["166,244"] = [20272] let s:lib.Codec.decoding_table["166,245"] = [20304] let s:lib.Codec.decoding_table["166,246"] = [20305] let s:lib.Codec.decoding_table["166,247"] = [20285] let s:lib.Codec.decoding_table["166,248"] = [20282] let s:lib.Codec.decoding_table["166,249"] = [20280] let s:lib.Codec.decoding_table["166,250"] = [20291] let s:lib.Codec.decoding_table["166,251"] = [20308] let s:lib.Codec.decoding_table["166,252"] = [20284] let s:lib.Codec.decoding_table["166,253"] = [20294] let s:lib.Codec.decoding_table["166,254"] = [20323] let s:lib.Codec.decoding_table["167,64"] = [20316] let s:lib.Codec.decoding_table["167,65"] = [20320] let s:lib.Codec.decoding_table["167,66"] = [20271] let s:lib.Codec.decoding_table["167,67"] = [20302] let s:lib.Codec.decoding_table["167,68"] = [20278] let s:lib.Codec.decoding_table["167,69"] = [20313] let s:lib.Codec.decoding_table["167,70"] = [20317] let s:lib.Codec.decoding_table["167,71"] = [20296] let s:lib.Codec.decoding_table["167,72"] = [20314] let s:lib.Codec.decoding_table["167,73"] = [20812] let s:lib.Codec.decoding_table["167,74"] = [20811] let s:lib.Codec.decoding_table["167,75"] = [20813] let s:lib.Codec.decoding_table["167,76"] = [20853] let s:lib.Codec.decoding_table["167,77"] = [20918] let s:lib.Codec.decoding_table["167,78"] = [20919] let s:lib.Codec.decoding_table["167,79"] = [21029] let s:lib.Codec.decoding_table["167,80"] = [21028] let s:lib.Codec.decoding_table["167,81"] = [21033] let s:lib.Codec.decoding_table["167,82"] = [21034] let s:lib.Codec.decoding_table["167,83"] = [21032] let s:lib.Codec.decoding_table["167,84"] = [21163] let s:lib.Codec.decoding_table["167,85"] = [21161] let s:lib.Codec.decoding_table["167,86"] = [21162] let s:lib.Codec.decoding_table["167,87"] = [21164] let s:lib.Codec.decoding_table["167,88"] = [21283] let s:lib.Codec.decoding_table["167,89"] = [21363] let s:lib.Codec.decoding_table["167,90"] = [21365] let s:lib.Codec.decoding_table["167,91"] = [21533] let s:lib.Codec.decoding_table["167,92"] = [21549] let s:lib.Codec.decoding_table["167,93"] = [21534] let s:lib.Codec.decoding_table["167,94"] = [21566] let s:lib.Codec.decoding_table["167,95"] = [21542] let s:lib.Codec.decoding_table["167,96"] = [21582] let s:lib.Codec.decoding_table["167,97"] = [21543] let s:lib.Codec.decoding_table["167,98"] = [21574] let s:lib.Codec.decoding_table["167,99"] = [21571] let s:lib.Codec.decoding_table["167,100"] = [21555] let s:lib.Codec.decoding_table["167,101"] = [21576] let s:lib.Codec.decoding_table["167,102"] = [21570] let s:lib.Codec.decoding_table["167,103"] = [21531] let s:lib.Codec.decoding_table["167,104"] = [21545] let s:lib.Codec.decoding_table["167,105"] = [21578] let s:lib.Codec.decoding_table["167,106"] = [21561] let s:lib.Codec.decoding_table["167,107"] = [21563] let s:lib.Codec.decoding_table["167,108"] = [21560] let s:lib.Codec.decoding_table["167,109"] = [21550] let s:lib.Codec.decoding_table["167,110"] = [21557] let s:lib.Codec.decoding_table["167,111"] = [21558] let s:lib.Codec.decoding_table["167,112"] = [21536] let s:lib.Codec.decoding_table["167,113"] = [21564] let s:lib.Codec.decoding_table["167,114"] = [21568] let s:lib.Codec.decoding_table["167,115"] = [21553] let s:lib.Codec.decoding_table["167,116"] = [21547] let s:lib.Codec.decoding_table["167,117"] = [21535] let s:lib.Codec.decoding_table["167,118"] = [21548] let s:lib.Codec.decoding_table["167,119"] = [22250] let s:lib.Codec.decoding_table["167,120"] = [22256] let s:lib.Codec.decoding_table["167,121"] = [22244] let s:lib.Codec.decoding_table["167,122"] = [22251] let s:lib.Codec.decoding_table["167,123"] = [22346] let s:lib.Codec.decoding_table["167,124"] = [22353] let s:lib.Codec.decoding_table["167,125"] = [22336] let s:lib.Codec.decoding_table["167,126"] = [22349] let s:lib.Codec.decoding_table["167,161"] = [22343] let s:lib.Codec.decoding_table["167,162"] = [22350] let s:lib.Codec.decoding_table["167,163"] = [22334] let s:lib.Codec.decoding_table["167,164"] = [22352] let s:lib.Codec.decoding_table["167,165"] = [22351] let s:lib.Codec.decoding_table["167,166"] = [22331] let s:lib.Codec.decoding_table["167,167"] = [22767] let s:lib.Codec.decoding_table["167,168"] = [22846] let s:lib.Codec.decoding_table["167,169"] = [22941] let s:lib.Codec.decoding_table["167,170"] = [22930] let s:lib.Codec.decoding_table["167,171"] = [22952] let s:lib.Codec.decoding_table["167,172"] = [22942] let s:lib.Codec.decoding_table["167,173"] = [22947] let s:lib.Codec.decoding_table["167,174"] = [22937] let s:lib.Codec.decoding_table["167,175"] = [22934] let s:lib.Codec.decoding_table["167,176"] = [22925] let s:lib.Codec.decoding_table["167,177"] = [22948] let s:lib.Codec.decoding_table["167,178"] = [22931] let s:lib.Codec.decoding_table["167,179"] = [22922] let s:lib.Codec.decoding_table["167,180"] = [22949] let s:lib.Codec.decoding_table["167,181"] = [23389] let s:lib.Codec.decoding_table["167,182"] = [23388] let s:lib.Codec.decoding_table["167,183"] = [23386] let s:lib.Codec.decoding_table["167,184"] = [23387] let s:lib.Codec.decoding_table["167,185"] = [23436] let s:lib.Codec.decoding_table["167,186"] = [23435] let s:lib.Codec.decoding_table["167,187"] = [23439] let s:lib.Codec.decoding_table["167,188"] = [23596] let s:lib.Codec.decoding_table["167,189"] = [23616] let s:lib.Codec.decoding_table["167,190"] = [23617] let s:lib.Codec.decoding_table["167,191"] = [23615] let s:lib.Codec.decoding_table["167,192"] = [23614] let s:lib.Codec.decoding_table["167,193"] = [23696] let s:lib.Codec.decoding_table["167,194"] = [23697] let s:lib.Codec.decoding_table["167,195"] = [23700] let s:lib.Codec.decoding_table["167,196"] = [23692] let s:lib.Codec.decoding_table["167,197"] = [24043] let s:lib.Codec.decoding_table["167,198"] = [24076] let s:lib.Codec.decoding_table["167,199"] = [24207] let s:lib.Codec.decoding_table["167,200"] = [24199] let s:lib.Codec.decoding_table["167,201"] = [24202] let s:lib.Codec.decoding_table["167,202"] = [24311] let s:lib.Codec.decoding_table["167,203"] = [24324] let s:lib.Codec.decoding_table["167,204"] = [24351] let s:lib.Codec.decoding_table["167,205"] = [24420] let s:lib.Codec.decoding_table["167,206"] = [24418] let s:lib.Codec.decoding_table["167,207"] = [24439] let s:lib.Codec.decoding_table["167,208"] = [24441] let s:lib.Codec.decoding_table["167,209"] = [24536] let s:lib.Codec.decoding_table["167,210"] = [24524] let s:lib.Codec.decoding_table["167,211"] = [24535] let s:lib.Codec.decoding_table["167,212"] = [24525] let s:lib.Codec.decoding_table["167,213"] = [24561] let s:lib.Codec.decoding_table["167,214"] = [24555] let s:lib.Codec.decoding_table["167,215"] = [24568] let s:lib.Codec.decoding_table["167,216"] = [24554] let s:lib.Codec.decoding_table["167,217"] = [25106] let s:lib.Codec.decoding_table["167,218"] = [25105] let s:lib.Codec.decoding_table["167,219"] = [25220] let s:lib.Codec.decoding_table["167,220"] = [25239] let s:lib.Codec.decoding_table["167,221"] = [25238] let s:lib.Codec.decoding_table["167,222"] = [25216] let s:lib.Codec.decoding_table["167,223"] = [25206] let s:lib.Codec.decoding_table["167,224"] = [25225] let s:lib.Codec.decoding_table["167,225"] = [25197] let s:lib.Codec.decoding_table["167,226"] = [25226] let s:lib.Codec.decoding_table["167,227"] = [25212] let s:lib.Codec.decoding_table["167,228"] = [25214] let s:lib.Codec.decoding_table["167,229"] = [25209] let s:lib.Codec.decoding_table["167,230"] = [25203] let s:lib.Codec.decoding_table["167,231"] = [25234] let s:lib.Codec.decoding_table["167,232"] = [25199] let s:lib.Codec.decoding_table["167,233"] = [25240] let s:lib.Codec.decoding_table["167,234"] = [25198] let s:lib.Codec.decoding_table["167,235"] = [25237] let s:lib.Codec.decoding_table["167,236"] = [25235] let s:lib.Codec.decoding_table["167,237"] = [25233] let s:lib.Codec.decoding_table["167,238"] = [25222] let s:lib.Codec.decoding_table["167,239"] = [25913] let s:lib.Codec.decoding_table["167,240"] = [25915] let s:lib.Codec.decoding_table["167,241"] = [25912] let s:lib.Codec.decoding_table["167,242"] = [26097] let s:lib.Codec.decoding_table["167,243"] = [26356] let s:lib.Codec.decoding_table["167,244"] = [26463] let s:lib.Codec.decoding_table["167,245"] = [26446] let s:lib.Codec.decoding_table["167,246"] = [26447] let s:lib.Codec.decoding_table["167,247"] = [26448] let s:lib.Codec.decoding_table["167,248"] = [26449] let s:lib.Codec.decoding_table["167,249"] = [26460] let s:lib.Codec.decoding_table["167,250"] = [26454] let s:lib.Codec.decoding_table["167,251"] = [26462] let s:lib.Codec.decoding_table["167,252"] = [26441] let s:lib.Codec.decoding_table["167,253"] = [26438] let s:lib.Codec.decoding_table["167,254"] = [26464] let s:lib.Codec.decoding_table["168,64"] = [26451] let s:lib.Codec.decoding_table["168,65"] = [26455] let s:lib.Codec.decoding_table["168,66"] = [27493] let s:lib.Codec.decoding_table["168,67"] = [27599] let s:lib.Codec.decoding_table["168,68"] = [27714] let s:lib.Codec.decoding_table["168,69"] = [27742] let s:lib.Codec.decoding_table["168,70"] = [27801] let s:lib.Codec.decoding_table["168,71"] = [27777] let s:lib.Codec.decoding_table["168,72"] = [27784] let s:lib.Codec.decoding_table["168,73"] = [27785] let s:lib.Codec.decoding_table["168,74"] = [27781] let s:lib.Codec.decoding_table["168,75"] = [27803] let s:lib.Codec.decoding_table["168,76"] = [27754] let s:lib.Codec.decoding_table["168,77"] = [27770] let s:lib.Codec.decoding_table["168,78"] = [27792] let s:lib.Codec.decoding_table["168,79"] = [27760] let s:lib.Codec.decoding_table["168,80"] = [27788] let s:lib.Codec.decoding_table["168,81"] = [27752] let s:lib.Codec.decoding_table["168,82"] = [27798] let s:lib.Codec.decoding_table["168,83"] = [27794] let s:lib.Codec.decoding_table["168,84"] = [27773] let s:lib.Codec.decoding_table["168,85"] = [27779] let s:lib.Codec.decoding_table["168,86"] = [27762] let s:lib.Codec.decoding_table["168,87"] = [27774] let s:lib.Codec.decoding_table["168,88"] = [27764] let s:lib.Codec.decoding_table["168,89"] = [27782] let s:lib.Codec.decoding_table["168,90"] = [27766] let s:lib.Codec.decoding_table["168,91"] = [27789] let s:lib.Codec.decoding_table["168,92"] = [27796] let s:lib.Codec.decoding_table["168,93"] = [27800] let s:lib.Codec.decoding_table["168,94"] = [27778] let s:lib.Codec.decoding_table["168,95"] = [28790] let s:lib.Codec.decoding_table["168,96"] = [28796] let s:lib.Codec.decoding_table["168,97"] = [28797] let s:lib.Codec.decoding_table["168,98"] = [28792] let s:lib.Codec.decoding_table["168,99"] = [29282] let s:lib.Codec.decoding_table["168,100"] = [29281] let s:lib.Codec.decoding_table["168,101"] = [29280] let s:lib.Codec.decoding_table["168,102"] = [29380] let s:lib.Codec.decoding_table["168,103"] = [29378] let s:lib.Codec.decoding_table["168,104"] = [29590] let s:lib.Codec.decoding_table["168,105"] = [29996] let s:lib.Codec.decoding_table["168,106"] = [29995] let s:lib.Codec.decoding_table["168,107"] = [30007] let s:lib.Codec.decoding_table["168,108"] = [30008] let s:lib.Codec.decoding_table["168,109"] = [30338] let s:lib.Codec.decoding_table["168,110"] = [30447] let s:lib.Codec.decoding_table["168,111"] = [30691] let s:lib.Codec.decoding_table["168,112"] = [31169] let s:lib.Codec.decoding_table["168,113"] = [31168] let s:lib.Codec.decoding_table["168,114"] = [31167] let s:lib.Codec.decoding_table["168,115"] = [31350] let s:lib.Codec.decoding_table["168,116"] = [31995] let s:lib.Codec.decoding_table["168,117"] = [32597] let s:lib.Codec.decoding_table["168,118"] = [32918] let s:lib.Codec.decoding_table["168,119"] = [32915] let s:lib.Codec.decoding_table["168,120"] = [32925] let s:lib.Codec.decoding_table["168,121"] = [32920] let s:lib.Codec.decoding_table["168,122"] = [32923] let s:lib.Codec.decoding_table["168,123"] = [32922] let s:lib.Codec.decoding_table["168,124"] = [32946] let s:lib.Codec.decoding_table["168,125"] = [33391] let s:lib.Codec.decoding_table["168,126"] = [33426] let s:lib.Codec.decoding_table["168,161"] = [33419] let s:lib.Codec.decoding_table["168,162"] = [33421] let s:lib.Codec.decoding_table["168,163"] = [35211] let s:lib.Codec.decoding_table["168,164"] = [35282] let s:lib.Codec.decoding_table["168,165"] = [35328] let s:lib.Codec.decoding_table["168,166"] = [35895] let s:lib.Codec.decoding_table["168,167"] = [35910] let s:lib.Codec.decoding_table["168,168"] = [35925] let s:lib.Codec.decoding_table["168,169"] = [35997] let s:lib.Codec.decoding_table["168,170"] = [36196] let s:lib.Codec.decoding_table["168,171"] = [36208] let s:lib.Codec.decoding_table["168,172"] = [36275] let s:lib.Codec.decoding_table["168,173"] = [36523] let s:lib.Codec.decoding_table["168,174"] = [36554] let s:lib.Codec.decoding_table["168,175"] = [36763] let s:lib.Codec.decoding_table["168,176"] = [36784] let s:lib.Codec.decoding_table["168,177"] = [36802] let s:lib.Codec.decoding_table["168,178"] = [36806] let s:lib.Codec.decoding_table["168,179"] = [36805] let s:lib.Codec.decoding_table["168,180"] = [36804] let s:lib.Codec.decoding_table["168,181"] = [24033] let s:lib.Codec.decoding_table["168,182"] = [37009] let s:lib.Codec.decoding_table["168,183"] = [37026] let s:lib.Codec.decoding_table["168,184"] = [37034] let s:lib.Codec.decoding_table["168,185"] = [37030] let s:lib.Codec.decoding_table["168,186"] = [37027] let s:lib.Codec.decoding_table["168,187"] = [37193] let s:lib.Codec.decoding_table["168,188"] = [37318] let s:lib.Codec.decoding_table["168,189"] = [37324] let s:lib.Codec.decoding_table["168,190"] = [38450] let s:lib.Codec.decoding_table["168,191"] = [38446] let s:lib.Codec.decoding_table["168,192"] = [38449] let s:lib.Codec.decoding_table["168,193"] = [38442] let s:lib.Codec.decoding_table["168,194"] = [38444] let s:lib.Codec.decoding_table["168,195"] = [20006] let s:lib.Codec.decoding_table["168,196"] = [20054] let s:lib.Codec.decoding_table["168,197"] = [20083] let s:lib.Codec.decoding_table["168,198"] = [20107] let s:lib.Codec.decoding_table["168,199"] = [20123] let s:lib.Codec.decoding_table["168,200"] = [20126] let s:lib.Codec.decoding_table["168,201"] = [20139] let s:lib.Codec.decoding_table["168,202"] = [20140] let s:lib.Codec.decoding_table["168,203"] = [20335] let s:lib.Codec.decoding_table["168,204"] = [20381] let s:lib.Codec.decoding_table["168,205"] = [20365] let s:lib.Codec.decoding_table["168,206"] = [20339] let s:lib.Codec.decoding_table["168,207"] = [20351] let s:lib.Codec.decoding_table["168,208"] = [20332] let s:lib.Codec.decoding_table["168,209"] = [20379] let s:lib.Codec.decoding_table["168,210"] = [20363] let s:lib.Codec.decoding_table["168,211"] = [20358] let s:lib.Codec.decoding_table["168,212"] = [20355] let s:lib.Codec.decoding_table["168,213"] = [20336] let s:lib.Codec.decoding_table["168,214"] = [20341] let s:lib.Codec.decoding_table["168,215"] = [20360] let s:lib.Codec.decoding_table["168,216"] = [20329] let s:lib.Codec.decoding_table["168,217"] = [20347] let s:lib.Codec.decoding_table["168,218"] = [20374] let s:lib.Codec.decoding_table["168,219"] = [20350] let s:lib.Codec.decoding_table["168,220"] = [20367] let s:lib.Codec.decoding_table["168,221"] = [20369] let s:lib.Codec.decoding_table["168,222"] = [20346] let s:lib.Codec.decoding_table["168,223"] = [20820] let s:lib.Codec.decoding_table["168,224"] = [20818] let s:lib.Codec.decoding_table["168,225"] = [20821] let s:lib.Codec.decoding_table["168,226"] = [20841] let s:lib.Codec.decoding_table["168,227"] = [20855] let s:lib.Codec.decoding_table["168,228"] = [20854] let s:lib.Codec.decoding_table["168,229"] = [20856] let s:lib.Codec.decoding_table["168,230"] = [20925] let s:lib.Codec.decoding_table["168,231"] = [20989] let s:lib.Codec.decoding_table["168,232"] = [21051] let s:lib.Codec.decoding_table["168,233"] = [21048] let s:lib.Codec.decoding_table["168,234"] = [21047] let s:lib.Codec.decoding_table["168,235"] = [21050] let s:lib.Codec.decoding_table["168,236"] = [21040] let s:lib.Codec.decoding_table["168,237"] = [21038] let s:lib.Codec.decoding_table["168,238"] = [21046] let s:lib.Codec.decoding_table["168,239"] = [21057] let s:lib.Codec.decoding_table["168,240"] = [21182] let s:lib.Codec.decoding_table["168,241"] = [21179] let s:lib.Codec.decoding_table["168,242"] = [21330] let s:lib.Codec.decoding_table["168,243"] = [21332] let s:lib.Codec.decoding_table["168,244"] = [21331] let s:lib.Codec.decoding_table["168,245"] = [21329] let s:lib.Codec.decoding_table["168,246"] = [21350] let s:lib.Codec.decoding_table["168,247"] = [21367] let s:lib.Codec.decoding_table["168,248"] = [21368] let s:lib.Codec.decoding_table["168,249"] = [21369] let s:lib.Codec.decoding_table["168,250"] = [21462] let s:lib.Codec.decoding_table["168,251"] = [21460] let s:lib.Codec.decoding_table["168,252"] = [21463] let s:lib.Codec.decoding_table["168,253"] = [21619] let s:lib.Codec.decoding_table["168,254"] = [21621] let s:lib.Codec.decoding_table["169,64"] = [21654] let s:lib.Codec.decoding_table["169,65"] = [21624] let s:lib.Codec.decoding_table["169,66"] = [21653] let s:lib.Codec.decoding_table["169,67"] = [21632] let s:lib.Codec.decoding_table["169,68"] = [21627] let s:lib.Codec.decoding_table["169,69"] = [21623] let s:lib.Codec.decoding_table["169,70"] = [21636] let s:lib.Codec.decoding_table["169,71"] = [21650] let s:lib.Codec.decoding_table["169,72"] = [21638] let s:lib.Codec.decoding_table["169,73"] = [21628] let s:lib.Codec.decoding_table["169,74"] = [21648] let s:lib.Codec.decoding_table["169,75"] = [21617] let s:lib.Codec.decoding_table["169,76"] = [21622] let s:lib.Codec.decoding_table["169,77"] = [21644] let s:lib.Codec.decoding_table["169,78"] = [21658] let s:lib.Codec.decoding_table["169,79"] = [21602] let s:lib.Codec.decoding_table["169,80"] = [21608] let s:lib.Codec.decoding_table["169,81"] = [21643] let s:lib.Codec.decoding_table["169,82"] = [21629] let s:lib.Codec.decoding_table["169,83"] = [21646] let s:lib.Codec.decoding_table["169,84"] = [22266] let s:lib.Codec.decoding_table["169,85"] = [22403] let s:lib.Codec.decoding_table["169,86"] = [22391] let s:lib.Codec.decoding_table["169,87"] = [22378] let s:lib.Codec.decoding_table["169,88"] = [22377] let s:lib.Codec.decoding_table["169,89"] = [22369] let s:lib.Codec.decoding_table["169,90"] = [22374] let s:lib.Codec.decoding_table["169,91"] = [22372] let s:lib.Codec.decoding_table["169,92"] = [22396] let s:lib.Codec.decoding_table["169,93"] = [22812] let s:lib.Codec.decoding_table["169,94"] = [22857] let s:lib.Codec.decoding_table["169,95"] = [22855] let s:lib.Codec.decoding_table["169,96"] = [22856] let s:lib.Codec.decoding_table["169,97"] = [22852] let s:lib.Codec.decoding_table["169,98"] = [22868] let s:lib.Codec.decoding_table["169,99"] = [22974] let s:lib.Codec.decoding_table["169,100"] = [22971] let s:lib.Codec.decoding_table["169,101"] = [22996] let s:lib.Codec.decoding_table["169,102"] = [22969] let s:lib.Codec.decoding_table["169,103"] = [22958] let s:lib.Codec.decoding_table["169,104"] = [22993] let s:lib.Codec.decoding_table["169,105"] = [22982] let s:lib.Codec.decoding_table["169,106"] = [22992] let s:lib.Codec.decoding_table["169,107"] = [22989] let s:lib.Codec.decoding_table["169,108"] = [22987] let s:lib.Codec.decoding_table["169,109"] = [22995] let s:lib.Codec.decoding_table["169,110"] = [22986] let s:lib.Codec.decoding_table["169,111"] = [22959] let s:lib.Codec.decoding_table["169,112"] = [22963] let s:lib.Codec.decoding_table["169,113"] = [22994] let s:lib.Codec.decoding_table["169,114"] = [22981] let s:lib.Codec.decoding_table["169,115"] = [23391] let s:lib.Codec.decoding_table["169,116"] = [23396] let s:lib.Codec.decoding_table["169,117"] = [23395] let s:lib.Codec.decoding_table["169,118"] = [23447] let s:lib.Codec.decoding_table["169,119"] = [23450] let s:lib.Codec.decoding_table["169,120"] = [23448] let s:lib.Codec.decoding_table["169,121"] = [23452] let s:lib.Codec.decoding_table["169,122"] = [23449] let s:lib.Codec.decoding_table["169,123"] = [23451] let s:lib.Codec.decoding_table["169,124"] = [23578] let s:lib.Codec.decoding_table["169,125"] = [23624] let s:lib.Codec.decoding_table["169,126"] = [23621] let s:lib.Codec.decoding_table["169,161"] = [23622] let s:lib.Codec.decoding_table["169,162"] = [23735] let s:lib.Codec.decoding_table["169,163"] = [23713] let s:lib.Codec.decoding_table["169,164"] = [23736] let s:lib.Codec.decoding_table["169,165"] = [23721] let s:lib.Codec.decoding_table["169,166"] = [23723] let s:lib.Codec.decoding_table["169,167"] = [23729] let s:lib.Codec.decoding_table["169,168"] = [23731] let s:lib.Codec.decoding_table["169,169"] = [24088] let s:lib.Codec.decoding_table["169,170"] = [24090] let s:lib.Codec.decoding_table["169,171"] = [24086] let s:lib.Codec.decoding_table["169,172"] = [24085] let s:lib.Codec.decoding_table["169,173"] = [24091] let s:lib.Codec.decoding_table["169,174"] = [24081] let s:lib.Codec.decoding_table["169,175"] = [24184] let s:lib.Codec.decoding_table["169,176"] = [24218] let s:lib.Codec.decoding_table["169,177"] = [24215] let s:lib.Codec.decoding_table["169,178"] = [24220] let s:lib.Codec.decoding_table["169,179"] = [24213] let s:lib.Codec.decoding_table["169,180"] = [24214] let s:lib.Codec.decoding_table["169,181"] = [24310] let s:lib.Codec.decoding_table["169,182"] = [24358] let s:lib.Codec.decoding_table["169,183"] = [24359] let s:lib.Codec.decoding_table["169,184"] = [24361] let s:lib.Codec.decoding_table["169,185"] = [24448] let s:lib.Codec.decoding_table["169,186"] = [24449] let s:lib.Codec.decoding_table["169,187"] = [24447] let s:lib.Codec.decoding_table["169,188"] = [24444] let s:lib.Codec.decoding_table["169,189"] = [24541] let s:lib.Codec.decoding_table["169,190"] = [24544] let s:lib.Codec.decoding_table["169,191"] = [24573] let s:lib.Codec.decoding_table["169,192"] = [24565] let s:lib.Codec.decoding_table["169,193"] = [24575] let s:lib.Codec.decoding_table["169,194"] = [24591] let s:lib.Codec.decoding_table["169,195"] = [24596] let s:lib.Codec.decoding_table["169,196"] = [24623] let s:lib.Codec.decoding_table["169,197"] = [24629] let s:lib.Codec.decoding_table["169,198"] = [24598] let s:lib.Codec.decoding_table["169,199"] = [24618] let s:lib.Codec.decoding_table["169,200"] = [24597] let s:lib.Codec.decoding_table["169,201"] = [24609] let s:lib.Codec.decoding_table["169,202"] = [24615] let s:lib.Codec.decoding_table["169,203"] = [24617] let s:lib.Codec.decoding_table["169,204"] = [24619] let s:lib.Codec.decoding_table["169,205"] = [24603] let s:lib.Codec.decoding_table["169,206"] = [25110] let s:lib.Codec.decoding_table["169,207"] = [25109] let s:lib.Codec.decoding_table["169,208"] = [25151] let s:lib.Codec.decoding_table["169,209"] = [25150] let s:lib.Codec.decoding_table["169,210"] = [25152] let s:lib.Codec.decoding_table["169,211"] = [25215] let s:lib.Codec.decoding_table["169,212"] = [25289] let s:lib.Codec.decoding_table["169,213"] = [25292] let s:lib.Codec.decoding_table["169,214"] = [25284] let s:lib.Codec.decoding_table["169,215"] = [25279] let s:lib.Codec.decoding_table["169,216"] = [25282] let s:lib.Codec.decoding_table["169,217"] = [25273] let s:lib.Codec.decoding_table["169,218"] = [25298] let s:lib.Codec.decoding_table["169,219"] = [25307] let s:lib.Codec.decoding_table["169,220"] = [25259] let s:lib.Codec.decoding_table["169,221"] = [25299] let s:lib.Codec.decoding_table["169,222"] = [25300] let s:lib.Codec.decoding_table["169,223"] = [25291] let s:lib.Codec.decoding_table["169,224"] = [25288] let s:lib.Codec.decoding_table["169,225"] = [25256] let s:lib.Codec.decoding_table["169,226"] = [25277] let s:lib.Codec.decoding_table["169,227"] = [25276] let s:lib.Codec.decoding_table["169,228"] = [25296] let s:lib.Codec.decoding_table["169,229"] = [25305] let s:lib.Codec.decoding_table["169,230"] = [25287] let s:lib.Codec.decoding_table["169,231"] = [25293] let s:lib.Codec.decoding_table["169,232"] = [25269] let s:lib.Codec.decoding_table["169,233"] = [25306] let s:lib.Codec.decoding_table["169,234"] = [25265] let s:lib.Codec.decoding_table["169,235"] = [25304] let s:lib.Codec.decoding_table["169,236"] = [25302] let s:lib.Codec.decoding_table["169,237"] = [25303] let s:lib.Codec.decoding_table["169,238"] = [25286] let s:lib.Codec.decoding_table["169,239"] = [25260] let s:lib.Codec.decoding_table["169,240"] = [25294] let s:lib.Codec.decoding_table["169,241"] = [25918] let s:lib.Codec.decoding_table["169,242"] = [26023] let s:lib.Codec.decoding_table["169,243"] = [26044] let s:lib.Codec.decoding_table["169,244"] = [26106] let s:lib.Codec.decoding_table["169,245"] = [26132] let s:lib.Codec.decoding_table["169,246"] = [26131] let s:lib.Codec.decoding_table["169,247"] = [26124] let s:lib.Codec.decoding_table["169,248"] = [26118] let s:lib.Codec.decoding_table["169,249"] = [26114] let s:lib.Codec.decoding_table["169,250"] = [26126] let s:lib.Codec.decoding_table["169,251"] = [26112] let s:lib.Codec.decoding_table["169,252"] = [26127] let s:lib.Codec.decoding_table["169,253"] = [26133] let s:lib.Codec.decoding_table["169,254"] = [26122] let s:lib.Codec.decoding_table["170,64"] = [26119] let s:lib.Codec.decoding_table["170,65"] = [26381] let s:lib.Codec.decoding_table["170,66"] = [26379] let s:lib.Codec.decoding_table["170,67"] = [26477] let s:lib.Codec.decoding_table["170,68"] = [26507] let s:lib.Codec.decoding_table["170,69"] = [26517] let s:lib.Codec.decoding_table["170,70"] = [26481] let s:lib.Codec.decoding_table["170,71"] = [26524] let s:lib.Codec.decoding_table["170,72"] = [26483] let s:lib.Codec.decoding_table["170,73"] = [26487] let s:lib.Codec.decoding_table["170,74"] = [26503] let s:lib.Codec.decoding_table["170,75"] = [26525] let s:lib.Codec.decoding_table["170,76"] = [26519] let s:lib.Codec.decoding_table["170,77"] = [26479] let s:lib.Codec.decoding_table["170,78"] = [26480] let s:lib.Codec.decoding_table["170,79"] = [26495] let s:lib.Codec.decoding_table["170,80"] = [26505] let s:lib.Codec.decoding_table["170,81"] = [26494] let s:lib.Codec.decoding_table["170,82"] = [26512] let s:lib.Codec.decoding_table["170,83"] = [26485] let s:lib.Codec.decoding_table["170,84"] = [26522] let s:lib.Codec.decoding_table["170,85"] = [26515] let s:lib.Codec.decoding_table["170,86"] = [26492] let s:lib.Codec.decoding_table["170,87"] = [26474] let s:lib.Codec.decoding_table["170,88"] = [26482] let s:lib.Codec.decoding_table["170,89"] = [27427] let s:lib.Codec.decoding_table["170,90"] = [27494] let s:lib.Codec.decoding_table["170,91"] = [27495] let s:lib.Codec.decoding_table["170,92"] = [27519] let s:lib.Codec.decoding_table["170,93"] = [27667] let s:lib.Codec.decoding_table["170,94"] = [27675] let s:lib.Codec.decoding_table["170,95"] = [27875] let s:lib.Codec.decoding_table["170,96"] = [27880] let s:lib.Codec.decoding_table["170,97"] = [27891] let s:lib.Codec.decoding_table["170,98"] = [27825] let s:lib.Codec.decoding_table["170,99"] = [27852] let s:lib.Codec.decoding_table["170,100"] = [27877] let s:lib.Codec.decoding_table["170,101"] = [27827] let s:lib.Codec.decoding_table["170,102"] = [27837] let s:lib.Codec.decoding_table["170,103"] = [27838] let s:lib.Codec.decoding_table["170,104"] = [27836] let s:lib.Codec.decoding_table["170,105"] = [27874] let s:lib.Codec.decoding_table["170,106"] = [27819] let s:lib.Codec.decoding_table["170,107"] = [27861] let s:lib.Codec.decoding_table["170,108"] = [27859] let s:lib.Codec.decoding_table["170,109"] = [27832] let s:lib.Codec.decoding_table["170,110"] = [27844] let s:lib.Codec.decoding_table["170,111"] = [27833] let s:lib.Codec.decoding_table["170,112"] = [27841] let s:lib.Codec.decoding_table["170,113"] = [27822] let s:lib.Codec.decoding_table["170,114"] = [27863] let s:lib.Codec.decoding_table["170,115"] = [27845] let s:lib.Codec.decoding_table["170,116"] = [27889] let s:lib.Codec.decoding_table["170,117"] = [27839] let s:lib.Codec.decoding_table["170,118"] = [27835] let s:lib.Codec.decoding_table["170,119"] = [27873] let s:lib.Codec.decoding_table["170,120"] = [27867] let s:lib.Codec.decoding_table["170,121"] = [27850] let s:lib.Codec.decoding_table["170,122"] = [27820] let s:lib.Codec.decoding_table["170,123"] = [27887] let s:lib.Codec.decoding_table["170,124"] = [27868] let s:lib.Codec.decoding_table["170,125"] = [27862] let s:lib.Codec.decoding_table["170,126"] = [27872] let s:lib.Codec.decoding_table["170,161"] = [28821] let s:lib.Codec.decoding_table["170,162"] = [28814] let s:lib.Codec.decoding_table["170,163"] = [28818] let s:lib.Codec.decoding_table["170,164"] = [28810] let s:lib.Codec.decoding_table["170,165"] = [28825] let s:lib.Codec.decoding_table["170,166"] = [29228] let s:lib.Codec.decoding_table["170,167"] = [29229] let s:lib.Codec.decoding_table["170,168"] = [29240] let s:lib.Codec.decoding_table["170,169"] = [29256] let s:lib.Codec.decoding_table["170,170"] = [29287] let s:lib.Codec.decoding_table["170,171"] = [29289] let s:lib.Codec.decoding_table["170,172"] = [29376] let s:lib.Codec.decoding_table["170,173"] = [29390] let s:lib.Codec.decoding_table["170,174"] = [29401] let s:lib.Codec.decoding_table["170,175"] = [29399] let s:lib.Codec.decoding_table["170,176"] = [29392] let s:lib.Codec.decoding_table["170,177"] = [29609] let s:lib.Codec.decoding_table["170,178"] = [29608] let s:lib.Codec.decoding_table["170,179"] = [29599] let s:lib.Codec.decoding_table["170,180"] = [29611] let s:lib.Codec.decoding_table["170,181"] = [29605] let s:lib.Codec.decoding_table["170,182"] = [30013] let s:lib.Codec.decoding_table["170,183"] = [30109] let s:lib.Codec.decoding_table["170,184"] = [30105] let s:lib.Codec.decoding_table["170,185"] = [30106] let s:lib.Codec.decoding_table["170,186"] = [30340] let s:lib.Codec.decoding_table["170,187"] = [30402] let s:lib.Codec.decoding_table["170,188"] = [30450] let s:lib.Codec.decoding_table["170,189"] = [30452] let s:lib.Codec.decoding_table["170,190"] = [30693] let s:lib.Codec.decoding_table["170,191"] = [30717] let s:lib.Codec.decoding_table["170,192"] = [31038] let s:lib.Codec.decoding_table["170,193"] = [31040] let s:lib.Codec.decoding_table["170,194"] = [31041] let s:lib.Codec.decoding_table["170,195"] = [31177] let s:lib.Codec.decoding_table["170,196"] = [31176] let s:lib.Codec.decoding_table["170,197"] = [31354] let s:lib.Codec.decoding_table["170,198"] = [31353] let s:lib.Codec.decoding_table["170,199"] = [31482] let s:lib.Codec.decoding_table["170,200"] = [31998] let s:lib.Codec.decoding_table["170,201"] = [32596] let s:lib.Codec.decoding_table["170,202"] = [32652] let s:lib.Codec.decoding_table["170,203"] = [32651] let s:lib.Codec.decoding_table["170,204"] = [32773] let s:lib.Codec.decoding_table["170,205"] = [32954] let s:lib.Codec.decoding_table["170,206"] = [32933] let s:lib.Codec.decoding_table["170,207"] = [32930] let s:lib.Codec.decoding_table["170,208"] = [32945] let s:lib.Codec.decoding_table["170,209"] = [32929] let s:lib.Codec.decoding_table["170,210"] = [32939] let s:lib.Codec.decoding_table["170,211"] = [32937] let s:lib.Codec.decoding_table["170,212"] = [32948] let s:lib.Codec.decoding_table["170,213"] = [32938] let s:lib.Codec.decoding_table["170,214"] = [32943] let s:lib.Codec.decoding_table["170,215"] = [33253] let s:lib.Codec.decoding_table["170,216"] = [33278] let s:lib.Codec.decoding_table["170,217"] = [33293] let s:lib.Codec.decoding_table["170,218"] = [33459] let s:lib.Codec.decoding_table["170,219"] = [33437] let s:lib.Codec.decoding_table["170,220"] = [33433] let s:lib.Codec.decoding_table["170,221"] = [33453] let s:lib.Codec.decoding_table["170,222"] = [33469] let s:lib.Codec.decoding_table["170,223"] = [33439] let s:lib.Codec.decoding_table["170,224"] = [33465] let s:lib.Codec.decoding_table["170,225"] = [33457] let s:lib.Codec.decoding_table["170,226"] = [33452] let s:lib.Codec.decoding_table["170,227"] = [33445] let s:lib.Codec.decoding_table["170,228"] = [33455] let s:lib.Codec.decoding_table["170,229"] = [33464] let s:lib.Codec.decoding_table["170,230"] = [33443] let s:lib.Codec.decoding_table["170,231"] = [33456] let s:lib.Codec.decoding_table["170,232"] = [33470] let s:lib.Codec.decoding_table["170,233"] = [33463] let s:lib.Codec.decoding_table["170,234"] = [34382] let s:lib.Codec.decoding_table["170,235"] = [34417] let s:lib.Codec.decoding_table["170,236"] = [21021] let s:lib.Codec.decoding_table["170,237"] = [34920] let s:lib.Codec.decoding_table["170,238"] = [36555] let s:lib.Codec.decoding_table["170,239"] = [36814] let s:lib.Codec.decoding_table["170,240"] = [36820] let s:lib.Codec.decoding_table["170,241"] = [36817] let s:lib.Codec.decoding_table["170,242"] = [37045] let s:lib.Codec.decoding_table["170,243"] = [37048] let s:lib.Codec.decoding_table["170,244"] = [37041] let s:lib.Codec.decoding_table["170,245"] = [37046] let s:lib.Codec.decoding_table["170,246"] = [37319] let s:lib.Codec.decoding_table["170,247"] = [37329] let s:lib.Codec.decoding_table["170,248"] = [38263] let s:lib.Codec.decoding_table["170,249"] = [38272] let s:lib.Codec.decoding_table["170,250"] = [38428] let s:lib.Codec.decoding_table["170,251"] = [38464] let s:lib.Codec.decoding_table["170,252"] = [38463] let s:lib.Codec.decoding_table["170,253"] = [38459] let s:lib.Codec.decoding_table["170,254"] = [38468] let s:lib.Codec.decoding_table["171,64"] = [38466] let s:lib.Codec.decoding_table["171,65"] = [38585] let s:lib.Codec.decoding_table["171,66"] = [38632] let s:lib.Codec.decoding_table["171,67"] = [38738] let s:lib.Codec.decoding_table["171,68"] = [38750] let s:lib.Codec.decoding_table["171,69"] = [20127] let s:lib.Codec.decoding_table["171,70"] = [20141] let s:lib.Codec.decoding_table["171,71"] = [20142] let s:lib.Codec.decoding_table["171,72"] = [20449] let s:lib.Codec.decoding_table["171,73"] = [20405] let s:lib.Codec.decoding_table["171,74"] = [20399] let s:lib.Codec.decoding_table["171,75"] = [20415] let s:lib.Codec.decoding_table["171,76"] = [20448] let s:lib.Codec.decoding_table["171,77"] = [20433] let s:lib.Codec.decoding_table["171,78"] = [20431] let s:lib.Codec.decoding_table["171,79"] = [20445] let s:lib.Codec.decoding_table["171,80"] = [20419] let s:lib.Codec.decoding_table["171,81"] = [20406] let s:lib.Codec.decoding_table["171,82"] = [20440] let s:lib.Codec.decoding_table["171,83"] = [20447] let s:lib.Codec.decoding_table["171,84"] = [20426] let s:lib.Codec.decoding_table["171,85"] = [20439] let s:lib.Codec.decoding_table["171,86"] = [20398] let s:lib.Codec.decoding_table["171,87"] = [20432] let s:lib.Codec.decoding_table["171,88"] = [20420] let s:lib.Codec.decoding_table["171,89"] = [20418] let s:lib.Codec.decoding_table["171,90"] = [20442] let s:lib.Codec.decoding_table["171,91"] = [20430] let s:lib.Codec.decoding_table["171,92"] = [20446] let s:lib.Codec.decoding_table["171,93"] = [20407] let s:lib.Codec.decoding_table["171,94"] = [20823] let s:lib.Codec.decoding_table["171,95"] = [20882] let s:lib.Codec.decoding_table["171,96"] = [20881] let s:lib.Codec.decoding_table["171,97"] = [20896] let s:lib.Codec.decoding_table["171,98"] = [21070] let s:lib.Codec.decoding_table["171,99"] = [21059] let s:lib.Codec.decoding_table["171,100"] = [21066] let s:lib.Codec.decoding_table["171,101"] = [21069] let s:lib.Codec.decoding_table["171,102"] = [21068] let s:lib.Codec.decoding_table["171,103"] = [21067] let s:lib.Codec.decoding_table["171,104"] = [21063] let s:lib.Codec.decoding_table["171,105"] = [21191] let s:lib.Codec.decoding_table["171,106"] = [21193] let s:lib.Codec.decoding_table["171,107"] = [21187] let s:lib.Codec.decoding_table["171,108"] = [21185] let s:lib.Codec.decoding_table["171,109"] = [21261] let s:lib.Codec.decoding_table["171,110"] = [21335] let s:lib.Codec.decoding_table["171,111"] = [21371] let s:lib.Codec.decoding_table["171,112"] = [21402] let s:lib.Codec.decoding_table["171,113"] = [21467] let s:lib.Codec.decoding_table["171,114"] = [21676] let s:lib.Codec.decoding_table["171,115"] = [21696] let s:lib.Codec.decoding_table["171,116"] = [21672] let s:lib.Codec.decoding_table["171,117"] = [21710] let s:lib.Codec.decoding_table["171,118"] = [21705] let s:lib.Codec.decoding_table["171,119"] = [21688] let s:lib.Codec.decoding_table["171,120"] = [21670] let s:lib.Codec.decoding_table["171,121"] = [21683] let s:lib.Codec.decoding_table["171,122"] = [21703] let s:lib.Codec.decoding_table["171,123"] = [21698] let s:lib.Codec.decoding_table["171,124"] = [21693] let s:lib.Codec.decoding_table["171,125"] = [21674] let s:lib.Codec.decoding_table["171,126"] = [21697] let s:lib.Codec.decoding_table["171,161"] = [21700] let s:lib.Codec.decoding_table["171,162"] = [21704] let s:lib.Codec.decoding_table["171,163"] = [21679] let s:lib.Codec.decoding_table["171,164"] = [21675] let s:lib.Codec.decoding_table["171,165"] = [21681] let s:lib.Codec.decoding_table["171,166"] = [21691] let s:lib.Codec.decoding_table["171,167"] = [21673] let s:lib.Codec.decoding_table["171,168"] = [21671] let s:lib.Codec.decoding_table["171,169"] = [21695] let s:lib.Codec.decoding_table["171,170"] = [22271] let s:lib.Codec.decoding_table["171,171"] = [22402] let s:lib.Codec.decoding_table["171,172"] = [22411] let s:lib.Codec.decoding_table["171,173"] = [22432] let s:lib.Codec.decoding_table["171,174"] = [22435] let s:lib.Codec.decoding_table["171,175"] = [22434] let s:lib.Codec.decoding_table["171,176"] = [22478] let s:lib.Codec.decoding_table["171,177"] = [22446] let s:lib.Codec.decoding_table["171,178"] = [22419] let s:lib.Codec.decoding_table["171,179"] = [22869] let s:lib.Codec.decoding_table["171,180"] = [22865] let s:lib.Codec.decoding_table["171,181"] = [22863] let s:lib.Codec.decoding_table["171,182"] = [22862] let s:lib.Codec.decoding_table["171,183"] = [22864] let s:lib.Codec.decoding_table["171,184"] = [23004] let s:lib.Codec.decoding_table["171,185"] = [23000] let s:lib.Codec.decoding_table["171,186"] = [23039] let s:lib.Codec.decoding_table["171,187"] = [23011] let s:lib.Codec.decoding_table["171,188"] = [23016] let s:lib.Codec.decoding_table["171,189"] = [23043] let s:lib.Codec.decoding_table["171,190"] = [23013] let s:lib.Codec.decoding_table["171,191"] = [23018] let s:lib.Codec.decoding_table["171,192"] = [23002] let s:lib.Codec.decoding_table["171,193"] = [23014] let s:lib.Codec.decoding_table["171,194"] = [23041] let s:lib.Codec.decoding_table["171,195"] = [23035] let s:lib.Codec.decoding_table["171,196"] = [23401] let s:lib.Codec.decoding_table["171,197"] = [23459] let s:lib.Codec.decoding_table["171,198"] = [23462] let s:lib.Codec.decoding_table["171,199"] = [23460] let s:lib.Codec.decoding_table["171,200"] = [23458] let s:lib.Codec.decoding_table["171,201"] = [23461] let s:lib.Codec.decoding_table["171,202"] = [23553] let s:lib.Codec.decoding_table["171,203"] = [23630] let s:lib.Codec.decoding_table["171,204"] = [23631] let s:lib.Codec.decoding_table["171,205"] = [23629] let s:lib.Codec.decoding_table["171,206"] = [23627] let s:lib.Codec.decoding_table["171,207"] = [23769] let s:lib.Codec.decoding_table["171,208"] = [23762] let s:lib.Codec.decoding_table["171,209"] = [24055] let s:lib.Codec.decoding_table["171,210"] = [24093] let s:lib.Codec.decoding_table["171,211"] = [24101] let s:lib.Codec.decoding_table["171,212"] = [24095] let s:lib.Codec.decoding_table["171,213"] = [24189] let s:lib.Codec.decoding_table["171,214"] = [24224] let s:lib.Codec.decoding_table["171,215"] = [24230] let s:lib.Codec.decoding_table["171,216"] = [24314] let s:lib.Codec.decoding_table["171,217"] = [24328] let s:lib.Codec.decoding_table["171,218"] = [24365] let s:lib.Codec.decoding_table["171,219"] = [24421] let s:lib.Codec.decoding_table["171,220"] = [24456] let s:lib.Codec.decoding_table["171,221"] = [24453] let s:lib.Codec.decoding_table["171,222"] = [24458] let s:lib.Codec.decoding_table["171,223"] = [24459] let s:lib.Codec.decoding_table["171,224"] = [24455] let s:lib.Codec.decoding_table["171,225"] = [24460] let s:lib.Codec.decoding_table["171,226"] = [24457] let s:lib.Codec.decoding_table["171,227"] = [24594] let s:lib.Codec.decoding_table["171,228"] = [24605] let s:lib.Codec.decoding_table["171,229"] = [24608] let s:lib.Codec.decoding_table["171,230"] = [24613] let s:lib.Codec.decoding_table["171,231"] = [24590] let s:lib.Codec.decoding_table["171,232"] = [24616] let s:lib.Codec.decoding_table["171,233"] = [24653] let s:lib.Codec.decoding_table["171,234"] = [24688] let s:lib.Codec.decoding_table["171,235"] = [24680] let s:lib.Codec.decoding_table["171,236"] = [24674] let s:lib.Codec.decoding_table["171,237"] = [24646] let s:lib.Codec.decoding_table["171,238"] = [24643] let s:lib.Codec.decoding_table["171,239"] = [24684] let s:lib.Codec.decoding_table["171,240"] = [24683] let s:lib.Codec.decoding_table["171,241"] = [24682] let s:lib.Codec.decoding_table["171,242"] = [24676] let s:lib.Codec.decoding_table["171,243"] = [25153] let s:lib.Codec.decoding_table["171,244"] = [25308] let s:lib.Codec.decoding_table["171,245"] = [25366] let s:lib.Codec.decoding_table["171,246"] = [25353] let s:lib.Codec.decoding_table["171,247"] = [25340] let s:lib.Codec.decoding_table["171,248"] = [25325] let s:lib.Codec.decoding_table["171,249"] = [25345] let s:lib.Codec.decoding_table["171,250"] = [25326] let s:lib.Codec.decoding_table["171,251"] = [25341] let s:lib.Codec.decoding_table["171,252"] = [25351] let s:lib.Codec.decoding_table["171,253"] = [25329] let s:lib.Codec.decoding_table["171,254"] = [25335] let s:lib.Codec.decoding_table["172,64"] = [25327] let s:lib.Codec.decoding_table["172,65"] = [25324] let s:lib.Codec.decoding_table["172,66"] = [25342] let s:lib.Codec.decoding_table["172,67"] = [25332] let s:lib.Codec.decoding_table["172,68"] = [25361] let s:lib.Codec.decoding_table["172,69"] = [25346] let s:lib.Codec.decoding_table["172,70"] = [25919] let s:lib.Codec.decoding_table["172,71"] = [25925] let s:lib.Codec.decoding_table["172,72"] = [26027] let s:lib.Codec.decoding_table["172,73"] = [26045] let s:lib.Codec.decoding_table["172,74"] = [26082] let s:lib.Codec.decoding_table["172,75"] = [26149] let s:lib.Codec.decoding_table["172,76"] = [26157] let s:lib.Codec.decoding_table["172,77"] = [26144] let s:lib.Codec.decoding_table["172,78"] = [26151] let s:lib.Codec.decoding_table["172,79"] = [26159] let s:lib.Codec.decoding_table["172,80"] = [26143] let s:lib.Codec.decoding_table["172,81"] = [26152] let s:lib.Codec.decoding_table["172,82"] = [26161] let s:lib.Codec.decoding_table["172,83"] = [26148] let s:lib.Codec.decoding_table["172,84"] = [26359] let s:lib.Codec.decoding_table["172,85"] = [26623] let s:lib.Codec.decoding_table["172,86"] = [26579] let s:lib.Codec.decoding_table["172,87"] = [26609] let s:lib.Codec.decoding_table["172,88"] = [26580] let s:lib.Codec.decoding_table["172,89"] = [26576] let s:lib.Codec.decoding_table["172,90"] = [26604] let s:lib.Codec.decoding_table["172,91"] = [26550] let s:lib.Codec.decoding_table["172,92"] = [26543] let s:lib.Codec.decoding_table["172,93"] = [26613] let s:lib.Codec.decoding_table["172,94"] = [26601] let s:lib.Codec.decoding_table["172,95"] = [26607] let s:lib.Codec.decoding_table["172,96"] = [26564] let s:lib.Codec.decoding_table["172,97"] = [26577] let s:lib.Codec.decoding_table["172,98"] = [26548] let s:lib.Codec.decoding_table["172,99"] = [26586] let s:lib.Codec.decoding_table["172,100"] = [26597] let s:lib.Codec.decoding_table["172,101"] = [26552] let s:lib.Codec.decoding_table["172,102"] = [26575] let s:lib.Codec.decoding_table["172,103"] = [26590] let s:lib.Codec.decoding_table["172,104"] = [26611] let s:lib.Codec.decoding_table["172,105"] = [26544] let s:lib.Codec.decoding_table["172,106"] = [26585] let s:lib.Codec.decoding_table["172,107"] = [26594] let s:lib.Codec.decoding_table["172,108"] = [26589] let s:lib.Codec.decoding_table["172,109"] = [26578] let s:lib.Codec.decoding_table["172,110"] = [27498] let s:lib.Codec.decoding_table["172,111"] = [27523] let s:lib.Codec.decoding_table["172,112"] = [27526] let s:lib.Codec.decoding_table["172,113"] = [27573] let s:lib.Codec.decoding_table["172,114"] = [27602] let s:lib.Codec.decoding_table["172,115"] = [27607] let s:lib.Codec.decoding_table["172,116"] = [27679] let s:lib.Codec.decoding_table["172,117"] = [27849] let s:lib.Codec.decoding_table["172,118"] = [27915] let s:lib.Codec.decoding_table["172,119"] = [27954] let s:lib.Codec.decoding_table["172,120"] = [27946] let s:lib.Codec.decoding_table["172,121"] = [27969] let s:lib.Codec.decoding_table["172,122"] = [27941] let s:lib.Codec.decoding_table["172,123"] = [27916] let s:lib.Codec.decoding_table["172,124"] = [27953] let s:lib.Codec.decoding_table["172,125"] = [27934] let s:lib.Codec.decoding_table["172,126"] = [27927] let s:lib.Codec.decoding_table["172,161"] = [27963] let s:lib.Codec.decoding_table["172,162"] = [27965] let s:lib.Codec.decoding_table["172,163"] = [27966] let s:lib.Codec.decoding_table["172,164"] = [27958] let s:lib.Codec.decoding_table["172,165"] = [27931] let s:lib.Codec.decoding_table["172,166"] = [27893] let s:lib.Codec.decoding_table["172,167"] = [27961] let s:lib.Codec.decoding_table["172,168"] = [27943] let s:lib.Codec.decoding_table["172,169"] = [27960] let s:lib.Codec.decoding_table["172,170"] = [27945] let s:lib.Codec.decoding_table["172,171"] = [27950] let s:lib.Codec.decoding_table["172,172"] = [27957] let s:lib.Codec.decoding_table["172,173"] = [27918] let s:lib.Codec.decoding_table["172,174"] = [27947] let s:lib.Codec.decoding_table["172,175"] = [28843] let s:lib.Codec.decoding_table["172,176"] = [28858] let s:lib.Codec.decoding_table["172,177"] = [28851] let s:lib.Codec.decoding_table["172,178"] = [28844] let s:lib.Codec.decoding_table["172,179"] = [28847] let s:lib.Codec.decoding_table["172,180"] = [28845] let s:lib.Codec.decoding_table["172,181"] = [28856] let s:lib.Codec.decoding_table["172,182"] = [28846] let s:lib.Codec.decoding_table["172,183"] = [28836] let s:lib.Codec.decoding_table["172,184"] = [29232] let s:lib.Codec.decoding_table["172,185"] = [29298] let s:lib.Codec.decoding_table["172,186"] = [29295] let s:lib.Codec.decoding_table["172,187"] = [29300] let s:lib.Codec.decoding_table["172,188"] = [29417] let s:lib.Codec.decoding_table["172,189"] = [29408] let s:lib.Codec.decoding_table["172,190"] = [29409] let s:lib.Codec.decoding_table["172,191"] = [29623] let s:lib.Codec.decoding_table["172,192"] = [29642] let s:lib.Codec.decoding_table["172,193"] = [29627] let s:lib.Codec.decoding_table["172,194"] = [29618] let s:lib.Codec.decoding_table["172,195"] = [29645] let s:lib.Codec.decoding_table["172,196"] = [29632] let s:lib.Codec.decoding_table["172,197"] = [29619] let s:lib.Codec.decoding_table["172,198"] = [29978] let s:lib.Codec.decoding_table["172,199"] = [29997] let s:lib.Codec.decoding_table["172,200"] = [30031] let s:lib.Codec.decoding_table["172,201"] = [30028] let s:lib.Codec.decoding_table["172,202"] = [30030] let s:lib.Codec.decoding_table["172,203"] = [30027] let s:lib.Codec.decoding_table["172,204"] = [30123] let s:lib.Codec.decoding_table["172,205"] = [30116] let s:lib.Codec.decoding_table["172,206"] = [30117] let s:lib.Codec.decoding_table["172,207"] = [30114] let s:lib.Codec.decoding_table["172,208"] = [30115] let s:lib.Codec.decoding_table["172,209"] = [30328] let s:lib.Codec.decoding_table["172,210"] = [30342] let s:lib.Codec.decoding_table["172,211"] = [30343] let s:lib.Codec.decoding_table["172,212"] = [30344] let s:lib.Codec.decoding_table["172,213"] = [30408] let s:lib.Codec.decoding_table["172,214"] = [30406] let s:lib.Codec.decoding_table["172,215"] = [30403] let s:lib.Codec.decoding_table["172,216"] = [30405] let s:lib.Codec.decoding_table["172,217"] = [30465] let s:lib.Codec.decoding_table["172,218"] = [30457] let s:lib.Codec.decoding_table["172,219"] = [30456] let s:lib.Codec.decoding_table["172,220"] = [30473] let s:lib.Codec.decoding_table["172,221"] = [30475] let s:lib.Codec.decoding_table["172,222"] = [30462] let s:lib.Codec.decoding_table["172,223"] = [30460] let s:lib.Codec.decoding_table["172,224"] = [30471] let s:lib.Codec.decoding_table["172,225"] = [30684] let s:lib.Codec.decoding_table["172,226"] = [30722] let s:lib.Codec.decoding_table["172,227"] = [30740] let s:lib.Codec.decoding_table["172,228"] = [30732] let s:lib.Codec.decoding_table["172,229"] = [30733] let s:lib.Codec.decoding_table["172,230"] = [31046] let s:lib.Codec.decoding_table["172,231"] = [31049] let s:lib.Codec.decoding_table["172,232"] = [31048] let s:lib.Codec.decoding_table["172,233"] = [31047] let s:lib.Codec.decoding_table["172,234"] = [31161] let s:lib.Codec.decoding_table["172,235"] = [31162] let s:lib.Codec.decoding_table["172,236"] = [31185] let s:lib.Codec.decoding_table["172,237"] = [31186] let s:lib.Codec.decoding_table["172,238"] = [31179] let s:lib.Codec.decoding_table["172,239"] = [31359] let s:lib.Codec.decoding_table["172,240"] = [31361] let s:lib.Codec.decoding_table["172,241"] = [31487] let s:lib.Codec.decoding_table["172,242"] = [31485] let s:lib.Codec.decoding_table["172,243"] = [31869] let s:lib.Codec.decoding_table["172,244"] = [32002] let s:lib.Codec.decoding_table["172,245"] = [32005] let s:lib.Codec.decoding_table["172,246"] = [32000] let s:lib.Codec.decoding_table["172,247"] = [32009] let s:lib.Codec.decoding_table["172,248"] = [32007] let s:lib.Codec.decoding_table["172,249"] = [32004] let s:lib.Codec.decoding_table["172,250"] = [32006] let s:lib.Codec.decoding_table["172,251"] = [32568] let s:lib.Codec.decoding_table["172,252"] = [32654] let s:lib.Codec.decoding_table["172,253"] = [32703] let s:lib.Codec.decoding_table["172,254"] = [32772] let s:lib.Codec.decoding_table["173,64"] = [32784] let s:lib.Codec.decoding_table["173,65"] = [32781] let s:lib.Codec.decoding_table["173,66"] = [32785] let s:lib.Codec.decoding_table["173,67"] = [32822] let s:lib.Codec.decoding_table["173,68"] = [32982] let s:lib.Codec.decoding_table["173,69"] = [32997] let s:lib.Codec.decoding_table["173,70"] = [32986] let s:lib.Codec.decoding_table["173,71"] = [32963] let s:lib.Codec.decoding_table["173,72"] = [32964] let s:lib.Codec.decoding_table["173,73"] = [32972] let s:lib.Codec.decoding_table["173,74"] = [32993] let s:lib.Codec.decoding_table["173,75"] = [32987] let s:lib.Codec.decoding_table["173,76"] = [32974] let s:lib.Codec.decoding_table["173,77"] = [32990] let s:lib.Codec.decoding_table["173,78"] = [32996] let s:lib.Codec.decoding_table["173,79"] = [32989] let s:lib.Codec.decoding_table["173,80"] = [33268] let s:lib.Codec.decoding_table["173,81"] = [33314] let s:lib.Codec.decoding_table["173,82"] = [33511] let s:lib.Codec.decoding_table["173,83"] = [33539] let s:lib.Codec.decoding_table["173,84"] = [33541] let s:lib.Codec.decoding_table["173,85"] = [33507] let s:lib.Codec.decoding_table["173,86"] = [33499] let s:lib.Codec.decoding_table["173,87"] = [33510] let s:lib.Codec.decoding_table["173,88"] = [33540] let s:lib.Codec.decoding_table["173,89"] = [33509] let s:lib.Codec.decoding_table["173,90"] = [33538] let s:lib.Codec.decoding_table["173,91"] = [33545] let s:lib.Codec.decoding_table["173,92"] = [33490] let s:lib.Codec.decoding_table["173,93"] = [33495] let s:lib.Codec.decoding_table["173,94"] = [33521] let s:lib.Codec.decoding_table["173,95"] = [33537] let s:lib.Codec.decoding_table["173,96"] = [33500] let s:lib.Codec.decoding_table["173,97"] = [33492] let s:lib.Codec.decoding_table["173,98"] = [33489] let s:lib.Codec.decoding_table["173,99"] = [33502] let s:lib.Codec.decoding_table["173,100"] = [33491] let s:lib.Codec.decoding_table["173,101"] = [33503] let s:lib.Codec.decoding_table["173,102"] = [33519] let s:lib.Codec.decoding_table["173,103"] = [33542] let s:lib.Codec.decoding_table["173,104"] = [34384] let s:lib.Codec.decoding_table["173,105"] = [34425] let s:lib.Codec.decoding_table["173,106"] = [34427] let s:lib.Codec.decoding_table["173,107"] = [34426] let s:lib.Codec.decoding_table["173,108"] = [34893] let s:lib.Codec.decoding_table["173,109"] = [34923] let s:lib.Codec.decoding_table["173,110"] = [35201] let s:lib.Codec.decoding_table["173,111"] = [35284] let s:lib.Codec.decoding_table["173,112"] = [35336] let s:lib.Codec.decoding_table["173,113"] = [35330] let s:lib.Codec.decoding_table["173,114"] = [35331] let s:lib.Codec.decoding_table["173,115"] = [35998] let s:lib.Codec.decoding_table["173,116"] = [36000] let s:lib.Codec.decoding_table["173,117"] = [36212] let s:lib.Codec.decoding_table["173,118"] = [36211] let s:lib.Codec.decoding_table["173,119"] = [36276] let s:lib.Codec.decoding_table["173,120"] = [36557] let s:lib.Codec.decoding_table["173,121"] = [36556] let s:lib.Codec.decoding_table["173,122"] = [36848] let s:lib.Codec.decoding_table["173,123"] = [36838] let s:lib.Codec.decoding_table["173,124"] = [36834] let s:lib.Codec.decoding_table["173,125"] = [36842] let s:lib.Codec.decoding_table["173,126"] = [36837] let s:lib.Codec.decoding_table["173,161"] = [36845] let s:lib.Codec.decoding_table["173,162"] = [36843] let s:lib.Codec.decoding_table["173,163"] = [36836] let s:lib.Codec.decoding_table["173,164"] = [36840] let s:lib.Codec.decoding_table["173,165"] = [37066] let s:lib.Codec.decoding_table["173,166"] = [37070] let s:lib.Codec.decoding_table["173,167"] = [37057] let s:lib.Codec.decoding_table["173,168"] = [37059] let s:lib.Codec.decoding_table["173,169"] = [37195] let s:lib.Codec.decoding_table["173,170"] = [37194] let s:lib.Codec.decoding_table["173,171"] = [37325] let s:lib.Codec.decoding_table["173,172"] = [38274] let s:lib.Codec.decoding_table["173,173"] = [38480] let s:lib.Codec.decoding_table["173,174"] = [38475] let s:lib.Codec.decoding_table["173,175"] = [38476] let s:lib.Codec.decoding_table["173,176"] = [38477] let s:lib.Codec.decoding_table["173,177"] = [38754] let s:lib.Codec.decoding_table["173,178"] = [38761] let s:lib.Codec.decoding_table["173,179"] = [38859] let s:lib.Codec.decoding_table["173,180"] = [38893] let s:lib.Codec.decoding_table["173,181"] = [38899] let s:lib.Codec.decoding_table["173,182"] = [38913] let s:lib.Codec.decoding_table["173,183"] = [39080] let s:lib.Codec.decoding_table["173,184"] = [39131] let s:lib.Codec.decoding_table["173,185"] = [39135] let s:lib.Codec.decoding_table["173,186"] = [39318] let s:lib.Codec.decoding_table["173,187"] = [39321] let s:lib.Codec.decoding_table["173,188"] = [20056] let s:lib.Codec.decoding_table["173,189"] = [20147] let s:lib.Codec.decoding_table["173,190"] = [20492] let s:lib.Codec.decoding_table["173,191"] = [20493] let s:lib.Codec.decoding_table["173,192"] = [20515] let s:lib.Codec.decoding_table["173,193"] = [20463] let s:lib.Codec.decoding_table["173,194"] = [20518] let s:lib.Codec.decoding_table["173,195"] = [20517] let s:lib.Codec.decoding_table["173,196"] = [20472] let s:lib.Codec.decoding_table["173,197"] = [20521] let s:lib.Codec.decoding_table["173,198"] = [20502] let s:lib.Codec.decoding_table["173,199"] = [20486] let s:lib.Codec.decoding_table["173,200"] = [20540] let s:lib.Codec.decoding_table["173,201"] = [20511] let s:lib.Codec.decoding_table["173,202"] = [20506] let s:lib.Codec.decoding_table["173,203"] = [20498] let s:lib.Codec.decoding_table["173,204"] = [20497] let s:lib.Codec.decoding_table["173,205"] = [20474] let s:lib.Codec.decoding_table["173,206"] = [20480] let s:lib.Codec.decoding_table["173,207"] = [20500] let s:lib.Codec.decoding_table["173,208"] = [20520] let s:lib.Codec.decoding_table["173,209"] = [20465] let s:lib.Codec.decoding_table["173,210"] = [20513] let s:lib.Codec.decoding_table["173,211"] = [20491] let s:lib.Codec.decoding_table["173,212"] = [20505] let s:lib.Codec.decoding_table["173,213"] = [20504] let s:lib.Codec.decoding_table["173,214"] = [20467] let s:lib.Codec.decoding_table["173,215"] = [20462] let s:lib.Codec.decoding_table["173,216"] = [20525] let s:lib.Codec.decoding_table["173,217"] = [20522] let s:lib.Codec.decoding_table["173,218"] = [20478] let s:lib.Codec.decoding_table["173,219"] = [20523] let s:lib.Codec.decoding_table["173,220"] = [20489] let s:lib.Codec.decoding_table["173,221"] = [20860] let s:lib.Codec.decoding_table["173,222"] = [20900] let s:lib.Codec.decoding_table["173,223"] = [20901] let s:lib.Codec.decoding_table["173,224"] = [20898] let s:lib.Codec.decoding_table["173,225"] = [20941] let s:lib.Codec.decoding_table["173,226"] = [20940] let s:lib.Codec.decoding_table["173,227"] = [20934] let s:lib.Codec.decoding_table["173,228"] = [20939] let s:lib.Codec.decoding_table["173,229"] = [21078] let s:lib.Codec.decoding_table["173,230"] = [21084] let s:lib.Codec.decoding_table["173,231"] = [21076] let s:lib.Codec.decoding_table["173,232"] = [21083] let s:lib.Codec.decoding_table["173,233"] = [21085] let s:lib.Codec.decoding_table["173,234"] = [21290] let s:lib.Codec.decoding_table["173,235"] = [21375] let s:lib.Codec.decoding_table["173,236"] = [21407] let s:lib.Codec.decoding_table["173,237"] = [21405] let s:lib.Codec.decoding_table["173,238"] = [21471] let s:lib.Codec.decoding_table["173,239"] = [21736] let s:lib.Codec.decoding_table["173,240"] = [21776] let s:lib.Codec.decoding_table["173,241"] = [21761] let s:lib.Codec.decoding_table["173,242"] = [21815] let s:lib.Codec.decoding_table["173,243"] = [21756] let s:lib.Codec.decoding_table["173,244"] = [21733] let s:lib.Codec.decoding_table["173,245"] = [21746] let s:lib.Codec.decoding_table["173,246"] = [21766] let s:lib.Codec.decoding_table["173,247"] = [21754] let s:lib.Codec.decoding_table["173,248"] = [21780] let s:lib.Codec.decoding_table["173,249"] = [21737] let s:lib.Codec.decoding_table["173,250"] = [21741] let s:lib.Codec.decoding_table["173,251"] = [21729] let s:lib.Codec.decoding_table["173,252"] = [21769] let s:lib.Codec.decoding_table["173,253"] = [21742] let s:lib.Codec.decoding_table["173,254"] = [21738] let s:lib.Codec.decoding_table["174,64"] = [21734] let s:lib.Codec.decoding_table["174,65"] = [21799] let s:lib.Codec.decoding_table["174,66"] = [21767] let s:lib.Codec.decoding_table["174,67"] = [21757] let s:lib.Codec.decoding_table["174,68"] = [21775] let s:lib.Codec.decoding_table["174,69"] = [22275] let s:lib.Codec.decoding_table["174,70"] = [22276] let s:lib.Codec.decoding_table["174,71"] = [22466] let s:lib.Codec.decoding_table["174,72"] = [22484] let s:lib.Codec.decoding_table["174,73"] = [22475] let s:lib.Codec.decoding_table["174,74"] = [22467] let s:lib.Codec.decoding_table["174,75"] = [22537] let s:lib.Codec.decoding_table["174,76"] = [22799] let s:lib.Codec.decoding_table["174,77"] = [22871] let s:lib.Codec.decoding_table["174,78"] = [22872] let s:lib.Codec.decoding_table["174,79"] = [22874] let s:lib.Codec.decoding_table["174,80"] = [23057] let s:lib.Codec.decoding_table["174,81"] = [23064] let s:lib.Codec.decoding_table["174,82"] = [23068] let s:lib.Codec.decoding_table["174,83"] = [23071] let s:lib.Codec.decoding_table["174,84"] = [23067] let s:lib.Codec.decoding_table["174,85"] = [23059] let s:lib.Codec.decoding_table["174,86"] = [23020] let s:lib.Codec.decoding_table["174,87"] = [23072] let s:lib.Codec.decoding_table["174,88"] = [23075] let s:lib.Codec.decoding_table["174,89"] = [23081] let s:lib.Codec.decoding_table["174,90"] = [23077] let s:lib.Codec.decoding_table["174,91"] = [23052] let s:lib.Codec.decoding_table["174,92"] = [23049] let s:lib.Codec.decoding_table["174,93"] = [23403] let s:lib.Codec.decoding_table["174,94"] = [23640] let s:lib.Codec.decoding_table["174,95"] = [23472] let s:lib.Codec.decoding_table["174,96"] = [23475] let s:lib.Codec.decoding_table["174,97"] = [23478] let s:lib.Codec.decoding_table["174,98"] = [23476] let s:lib.Codec.decoding_table["174,99"] = [23470] let s:lib.Codec.decoding_table["174,100"] = [23477] let s:lib.Codec.decoding_table["174,101"] = [23481] let s:lib.Codec.decoding_table["174,102"] = [23480] let s:lib.Codec.decoding_table["174,103"] = [23556] let s:lib.Codec.decoding_table["174,104"] = [23633] let s:lib.Codec.decoding_table["174,105"] = [23637] let s:lib.Codec.decoding_table["174,106"] = [23632] let s:lib.Codec.decoding_table["174,107"] = [23789] let s:lib.Codec.decoding_table["174,108"] = [23805] let s:lib.Codec.decoding_table["174,109"] = [23803] let s:lib.Codec.decoding_table["174,110"] = [23786] let s:lib.Codec.decoding_table["174,111"] = [23784] let s:lib.Codec.decoding_table["174,112"] = [23792] let s:lib.Codec.decoding_table["174,113"] = [23798] let s:lib.Codec.decoding_table["174,114"] = [23809] let s:lib.Codec.decoding_table["174,115"] = [23796] let s:lib.Codec.decoding_table["174,116"] = [24046] let s:lib.Codec.decoding_table["174,117"] = [24109] let s:lib.Codec.decoding_table["174,118"] = [24107] let s:lib.Codec.decoding_table["174,119"] = [24235] let s:lib.Codec.decoding_table["174,120"] = [24237] let s:lib.Codec.decoding_table["174,121"] = [24231] let s:lib.Codec.decoding_table["174,122"] = [24369] let s:lib.Codec.decoding_table["174,123"] = [24466] let s:lib.Codec.decoding_table["174,124"] = [24465] let s:lib.Codec.decoding_table["174,125"] = [24464] let s:lib.Codec.decoding_table["174,126"] = [24665] let s:lib.Codec.decoding_table["174,161"] = [24675] let s:lib.Codec.decoding_table["174,162"] = [24677] let s:lib.Codec.decoding_table["174,163"] = [24656] let s:lib.Codec.decoding_table["174,164"] = [24661] let s:lib.Codec.decoding_table["174,165"] = [24685] let s:lib.Codec.decoding_table["174,166"] = [24681] let s:lib.Codec.decoding_table["174,167"] = [24687] let s:lib.Codec.decoding_table["174,168"] = [24708] let s:lib.Codec.decoding_table["174,169"] = [24735] let s:lib.Codec.decoding_table["174,170"] = [24730] let s:lib.Codec.decoding_table["174,171"] = [24717] let s:lib.Codec.decoding_table["174,172"] = [24724] let s:lib.Codec.decoding_table["174,173"] = [24716] let s:lib.Codec.decoding_table["174,174"] = [24709] let s:lib.Codec.decoding_table["174,175"] = [24726] let s:lib.Codec.decoding_table["174,176"] = [25159] let s:lib.Codec.decoding_table["174,177"] = [25331] let s:lib.Codec.decoding_table["174,178"] = [25352] let s:lib.Codec.decoding_table["174,179"] = [25343] let s:lib.Codec.decoding_table["174,180"] = [25422] let s:lib.Codec.decoding_table["174,181"] = [25406] let s:lib.Codec.decoding_table["174,182"] = [25391] let s:lib.Codec.decoding_table["174,183"] = [25429] let s:lib.Codec.decoding_table["174,184"] = [25410] let s:lib.Codec.decoding_table["174,185"] = [25414] let s:lib.Codec.decoding_table["174,186"] = [25423] let s:lib.Codec.decoding_table["174,187"] = [25417] let s:lib.Codec.decoding_table["174,188"] = [25402] let s:lib.Codec.decoding_table["174,189"] = [25424] let s:lib.Codec.decoding_table["174,190"] = [25405] let s:lib.Codec.decoding_table["174,191"] = [25386] let s:lib.Codec.decoding_table["174,192"] = [25387] let s:lib.Codec.decoding_table["174,193"] = [25384] let s:lib.Codec.decoding_table["174,194"] = [25421] let s:lib.Codec.decoding_table["174,195"] = [25420] let s:lib.Codec.decoding_table["174,196"] = [25928] let s:lib.Codec.decoding_table["174,197"] = [25929] let s:lib.Codec.decoding_table["174,198"] = [26009] let s:lib.Codec.decoding_table["174,199"] = [26049] let s:lib.Codec.decoding_table["174,200"] = [26053] let s:lib.Codec.decoding_table["174,201"] = [26178] let s:lib.Codec.decoding_table["174,202"] = [26185] let s:lib.Codec.decoding_table["174,203"] = [26191] let s:lib.Codec.decoding_table["174,204"] = [26179] let s:lib.Codec.decoding_table["174,205"] = [26194] let s:lib.Codec.decoding_table["174,206"] = [26188] let s:lib.Codec.decoding_table["174,207"] = [26181] let s:lib.Codec.decoding_table["174,208"] = [26177] let s:lib.Codec.decoding_table["174,209"] = [26360] let s:lib.Codec.decoding_table["174,210"] = [26388] let s:lib.Codec.decoding_table["174,211"] = [26389] let s:lib.Codec.decoding_table["174,212"] = [26391] let s:lib.Codec.decoding_table["174,213"] = [26657] let s:lib.Codec.decoding_table["174,214"] = [26680] let s:lib.Codec.decoding_table["174,215"] = [26696] let s:lib.Codec.decoding_table["174,216"] = [26694] let s:lib.Codec.decoding_table["174,217"] = [26707] let s:lib.Codec.decoding_table["174,218"] = [26681] let s:lib.Codec.decoding_table["174,219"] = [26690] let s:lib.Codec.decoding_table["174,220"] = [26708] let s:lib.Codec.decoding_table["174,221"] = [26665] let s:lib.Codec.decoding_table["174,222"] = [26803] let s:lib.Codec.decoding_table["174,223"] = [26647] let s:lib.Codec.decoding_table["174,224"] = [26700] let s:lib.Codec.decoding_table["174,225"] = [26705] let s:lib.Codec.decoding_table["174,226"] = [26685] let s:lib.Codec.decoding_table["174,227"] = [26612] let s:lib.Codec.decoding_table["174,228"] = [26704] let s:lib.Codec.decoding_table["174,229"] = [26688] let s:lib.Codec.decoding_table["174,230"] = [26684] let s:lib.Codec.decoding_table["174,231"] = [26691] let s:lib.Codec.decoding_table["174,232"] = [26666] let s:lib.Codec.decoding_table["174,233"] = [26693] let s:lib.Codec.decoding_table["174,234"] = [26643] let s:lib.Codec.decoding_table["174,235"] = [26648] let s:lib.Codec.decoding_table["174,236"] = [26689] let s:lib.Codec.decoding_table["174,237"] = [27530] let s:lib.Codec.decoding_table["174,238"] = [27529] let s:lib.Codec.decoding_table["174,239"] = [27575] let s:lib.Codec.decoding_table["174,240"] = [27683] let s:lib.Codec.decoding_table["174,241"] = [27687] let s:lib.Codec.decoding_table["174,242"] = [27688] let s:lib.Codec.decoding_table["174,243"] = [27686] let s:lib.Codec.decoding_table["174,244"] = [27684] let s:lib.Codec.decoding_table["174,245"] = [27888] let s:lib.Codec.decoding_table["174,246"] = [28010] let s:lib.Codec.decoding_table["174,247"] = [28053] let s:lib.Codec.decoding_table["174,248"] = [28040] let s:lib.Codec.decoding_table["174,249"] = [28039] let s:lib.Codec.decoding_table["174,250"] = [28006] let s:lib.Codec.decoding_table["174,251"] = [28024] let s:lib.Codec.decoding_table["174,252"] = [28023] let s:lib.Codec.decoding_table["174,253"] = [27993] let s:lib.Codec.decoding_table["174,254"] = [28051] let s:lib.Codec.decoding_table["175,64"] = [28012] let s:lib.Codec.decoding_table["175,65"] = [28041] let s:lib.Codec.decoding_table["175,66"] = [28014] let s:lib.Codec.decoding_table["175,67"] = [27994] let s:lib.Codec.decoding_table["175,68"] = [28020] let s:lib.Codec.decoding_table["175,69"] = [28009] let s:lib.Codec.decoding_table["175,70"] = [28044] let s:lib.Codec.decoding_table["175,71"] = [28042] let s:lib.Codec.decoding_table["175,72"] = [28025] let s:lib.Codec.decoding_table["175,73"] = [28037] let s:lib.Codec.decoding_table["175,74"] = [28005] let s:lib.Codec.decoding_table["175,75"] = [28052] let s:lib.Codec.decoding_table["175,76"] = [28874] let s:lib.Codec.decoding_table["175,77"] = [28888] let s:lib.Codec.decoding_table["175,78"] = [28900] let s:lib.Codec.decoding_table["175,79"] = [28889] let s:lib.Codec.decoding_table["175,80"] = [28872] let s:lib.Codec.decoding_table["175,81"] = [28879] let s:lib.Codec.decoding_table["175,82"] = [29241] let s:lib.Codec.decoding_table["175,83"] = [29305] let s:lib.Codec.decoding_table["175,84"] = [29436] let s:lib.Codec.decoding_table["175,85"] = [29433] let s:lib.Codec.decoding_table["175,86"] = [29437] let s:lib.Codec.decoding_table["175,87"] = [29432] let s:lib.Codec.decoding_table["175,88"] = [29431] let s:lib.Codec.decoding_table["175,89"] = [29574] let s:lib.Codec.decoding_table["175,90"] = [29677] let s:lib.Codec.decoding_table["175,91"] = [29705] let s:lib.Codec.decoding_table["175,92"] = [29678] let s:lib.Codec.decoding_table["175,93"] = [29664] let s:lib.Codec.decoding_table["175,94"] = [29674] let s:lib.Codec.decoding_table["175,95"] = [29662] let s:lib.Codec.decoding_table["175,96"] = [30036] let s:lib.Codec.decoding_table["175,97"] = [30045] let s:lib.Codec.decoding_table["175,98"] = [30044] let s:lib.Codec.decoding_table["175,99"] = [30042] let s:lib.Codec.decoding_table["175,100"] = [30041] let s:lib.Codec.decoding_table["175,101"] = [30142] let s:lib.Codec.decoding_table["175,102"] = [30149] let s:lib.Codec.decoding_table["175,103"] = [30151] let s:lib.Codec.decoding_table["175,104"] = [30130] let s:lib.Codec.decoding_table["175,105"] = [30131] let s:lib.Codec.decoding_table["175,106"] = [30141] let s:lib.Codec.decoding_table["175,107"] = [30140] let s:lib.Codec.decoding_table["175,108"] = [30137] let s:lib.Codec.decoding_table["175,109"] = [30146] let s:lib.Codec.decoding_table["175,110"] = [30136] let s:lib.Codec.decoding_table["175,111"] = [30347] let s:lib.Codec.decoding_table["175,112"] = [30384] let s:lib.Codec.decoding_table["175,113"] = [30410] let s:lib.Codec.decoding_table["175,114"] = [30413] let s:lib.Codec.decoding_table["175,115"] = [30414] let s:lib.Codec.decoding_table["175,116"] = [30505] let s:lib.Codec.decoding_table["175,117"] = [30495] let s:lib.Codec.decoding_table["175,118"] = [30496] let s:lib.Codec.decoding_table["175,119"] = [30504] let s:lib.Codec.decoding_table["175,120"] = [30697] let s:lib.Codec.decoding_table["175,121"] = [30768] let s:lib.Codec.decoding_table["175,122"] = [30759] let s:lib.Codec.decoding_table["175,123"] = [30776] let s:lib.Codec.decoding_table["175,124"] = [30749] let s:lib.Codec.decoding_table["175,125"] = [30772] let s:lib.Codec.decoding_table["175,126"] = [30775] let s:lib.Codec.decoding_table["175,161"] = [30757] let s:lib.Codec.decoding_table["175,162"] = [30765] let s:lib.Codec.decoding_table["175,163"] = [30752] let s:lib.Codec.decoding_table["175,164"] = [30751] let s:lib.Codec.decoding_table["175,165"] = [30770] let s:lib.Codec.decoding_table["175,166"] = [31061] let s:lib.Codec.decoding_table["175,167"] = [31056] let s:lib.Codec.decoding_table["175,168"] = [31072] let s:lib.Codec.decoding_table["175,169"] = [31071] let s:lib.Codec.decoding_table["175,170"] = [31062] let s:lib.Codec.decoding_table["175,171"] = [31070] let s:lib.Codec.decoding_table["175,172"] = [31069] let s:lib.Codec.decoding_table["175,173"] = [31063] let s:lib.Codec.decoding_table["175,174"] = [31066] let s:lib.Codec.decoding_table["175,175"] = [31204] let s:lib.Codec.decoding_table["175,176"] = [31203] let s:lib.Codec.decoding_table["175,177"] = [31207] let s:lib.Codec.decoding_table["175,178"] = [31199] let s:lib.Codec.decoding_table["175,179"] = [31206] let s:lib.Codec.decoding_table["175,180"] = [31209] let s:lib.Codec.decoding_table["175,181"] = [31192] let s:lib.Codec.decoding_table["175,182"] = [31364] let s:lib.Codec.decoding_table["175,183"] = [31368] let s:lib.Codec.decoding_table["175,184"] = [31449] let s:lib.Codec.decoding_table["175,185"] = [31494] let s:lib.Codec.decoding_table["175,186"] = [31505] let s:lib.Codec.decoding_table["175,187"] = [31881] let s:lib.Codec.decoding_table["175,188"] = [32033] let s:lib.Codec.decoding_table["175,189"] = [32023] let s:lib.Codec.decoding_table["175,190"] = [32011] let s:lib.Codec.decoding_table["175,191"] = [32010] let s:lib.Codec.decoding_table["175,192"] = [32032] let s:lib.Codec.decoding_table["175,193"] = [32034] let s:lib.Codec.decoding_table["175,194"] = [32020] let s:lib.Codec.decoding_table["175,195"] = [32016] let s:lib.Codec.decoding_table["175,196"] = [32021] let s:lib.Codec.decoding_table["175,197"] = [32026] let s:lib.Codec.decoding_table["175,198"] = [32028] let s:lib.Codec.decoding_table["175,199"] = [32013] let s:lib.Codec.decoding_table["175,200"] = [32025] let s:lib.Codec.decoding_table["175,201"] = [32027] let s:lib.Codec.decoding_table["175,202"] = [32570] let s:lib.Codec.decoding_table["175,203"] = [32607] let s:lib.Codec.decoding_table["175,204"] = [32660] let s:lib.Codec.decoding_table["175,205"] = [32709] let s:lib.Codec.decoding_table["175,206"] = [32705] let s:lib.Codec.decoding_table["175,207"] = [32774] let s:lib.Codec.decoding_table["175,208"] = [32792] let s:lib.Codec.decoding_table["175,209"] = [32789] let s:lib.Codec.decoding_table["175,210"] = [32793] let s:lib.Codec.decoding_table["175,211"] = [32791] let s:lib.Codec.decoding_table["175,212"] = [32829] let s:lib.Codec.decoding_table["175,213"] = [32831] let s:lib.Codec.decoding_table["175,214"] = [33009] let s:lib.Codec.decoding_table["175,215"] = [33026] let s:lib.Codec.decoding_table["175,216"] = [33008] let s:lib.Codec.decoding_table["175,217"] = [33029] let s:lib.Codec.decoding_table["175,218"] = [33005] let s:lib.Codec.decoding_table["175,219"] = [33012] let s:lib.Codec.decoding_table["175,220"] = [33030] let s:lib.Codec.decoding_table["175,221"] = [33016] let s:lib.Codec.decoding_table["175,222"] = [33011] let s:lib.Codec.decoding_table["175,223"] = [33032] let s:lib.Codec.decoding_table["175,224"] = [33021] let s:lib.Codec.decoding_table["175,225"] = [33034] let s:lib.Codec.decoding_table["175,226"] = [33020] let s:lib.Codec.decoding_table["175,227"] = [33007] let s:lib.Codec.decoding_table["175,228"] = [33261] let s:lib.Codec.decoding_table["175,229"] = [33260] let s:lib.Codec.decoding_table["175,230"] = [33280] let s:lib.Codec.decoding_table["175,231"] = [33296] let s:lib.Codec.decoding_table["175,232"] = [33322] let s:lib.Codec.decoding_table["175,233"] = [33323] let s:lib.Codec.decoding_table["175,234"] = [33320] let s:lib.Codec.decoding_table["175,235"] = [33324] let s:lib.Codec.decoding_table["175,236"] = [33467] let s:lib.Codec.decoding_table["175,237"] = [33579] let s:lib.Codec.decoding_table["175,238"] = [33618] let s:lib.Codec.decoding_table["175,239"] = [33620] let s:lib.Codec.decoding_table["175,240"] = [33610] let s:lib.Codec.decoding_table["175,241"] = [33592] let s:lib.Codec.decoding_table["175,242"] = [33616] let s:lib.Codec.decoding_table["175,243"] = [33609] let s:lib.Codec.decoding_table["175,244"] = [33589] let s:lib.Codec.decoding_table["175,245"] = [33588] let s:lib.Codec.decoding_table["175,246"] = [33615] let s:lib.Codec.decoding_table["175,247"] = [33586] let s:lib.Codec.decoding_table["175,248"] = [33593] let s:lib.Codec.decoding_table["175,249"] = [33590] let s:lib.Codec.decoding_table["175,250"] = [33559] let s:lib.Codec.decoding_table["175,251"] = [33600] let s:lib.Codec.decoding_table["175,252"] = [33585] let s:lib.Codec.decoding_table["175,253"] = [33576] let s:lib.Codec.decoding_table["175,254"] = [33603] let s:lib.Codec.decoding_table["176,64"] = [34388] let s:lib.Codec.decoding_table["176,65"] = [34442] let s:lib.Codec.decoding_table["176,66"] = [34474] let s:lib.Codec.decoding_table["176,67"] = [34451] let s:lib.Codec.decoding_table["176,68"] = [34468] let s:lib.Codec.decoding_table["176,69"] = [34473] let s:lib.Codec.decoding_table["176,70"] = [34444] let s:lib.Codec.decoding_table["176,71"] = [34467] let s:lib.Codec.decoding_table["176,72"] = [34460] let s:lib.Codec.decoding_table["176,73"] = [34928] let s:lib.Codec.decoding_table["176,74"] = [34935] let s:lib.Codec.decoding_table["176,75"] = [34945] let s:lib.Codec.decoding_table["176,76"] = [34946] let s:lib.Codec.decoding_table["176,77"] = [34941] let s:lib.Codec.decoding_table["176,78"] = [34937] let s:lib.Codec.decoding_table["176,79"] = [35352] let s:lib.Codec.decoding_table["176,80"] = [35344] let s:lib.Codec.decoding_table["176,81"] = [35342] let s:lib.Codec.decoding_table["176,82"] = [35340] let s:lib.Codec.decoding_table["176,83"] = [35349] let s:lib.Codec.decoding_table["176,84"] = [35338] let s:lib.Codec.decoding_table["176,85"] = [35351] let s:lib.Codec.decoding_table["176,86"] = [35347] let s:lib.Codec.decoding_table["176,87"] = [35350] let s:lib.Codec.decoding_table["176,88"] = [35343] let s:lib.Codec.decoding_table["176,89"] = [35345] let s:lib.Codec.decoding_table["176,90"] = [35912] let s:lib.Codec.decoding_table["176,91"] = [35962] let s:lib.Codec.decoding_table["176,92"] = [35961] let s:lib.Codec.decoding_table["176,93"] = [36001] let s:lib.Codec.decoding_table["176,94"] = [36002] let s:lib.Codec.decoding_table["176,95"] = [36215] let s:lib.Codec.decoding_table["176,96"] = [36524] let s:lib.Codec.decoding_table["176,97"] = [36562] let s:lib.Codec.decoding_table["176,98"] = [36564] let s:lib.Codec.decoding_table["176,99"] = [36559] let s:lib.Codec.decoding_table["176,100"] = [36785] let s:lib.Codec.decoding_table["176,101"] = [36865] let s:lib.Codec.decoding_table["176,102"] = [36870] let s:lib.Codec.decoding_table["176,103"] = [36855] let s:lib.Codec.decoding_table["176,104"] = [36864] let s:lib.Codec.decoding_table["176,105"] = [36858] let s:lib.Codec.decoding_table["176,106"] = [36852] let s:lib.Codec.decoding_table["176,107"] = [36867] let s:lib.Codec.decoding_table["176,108"] = [36861] let s:lib.Codec.decoding_table["176,109"] = [36869] let s:lib.Codec.decoding_table["176,110"] = [36856] let s:lib.Codec.decoding_table["176,111"] = [37013] let s:lib.Codec.decoding_table["176,112"] = [37089] let s:lib.Codec.decoding_table["176,113"] = [37085] let s:lib.Codec.decoding_table["176,114"] = [37090] let s:lib.Codec.decoding_table["176,115"] = [37202] let s:lib.Codec.decoding_table["176,116"] = [37197] let s:lib.Codec.decoding_table["176,117"] = [37196] let s:lib.Codec.decoding_table["176,118"] = [37336] let s:lib.Codec.decoding_table["176,119"] = [37341] let s:lib.Codec.decoding_table["176,120"] = [37335] let s:lib.Codec.decoding_table["176,121"] = [37340] let s:lib.Codec.decoding_table["176,122"] = [37337] let s:lib.Codec.decoding_table["176,123"] = [38275] let s:lib.Codec.decoding_table["176,124"] = [38498] let s:lib.Codec.decoding_table["176,125"] = [38499] let s:lib.Codec.decoding_table["176,126"] = [38497] let s:lib.Codec.decoding_table["176,161"] = [38491] let s:lib.Codec.decoding_table["176,162"] = [38493] let s:lib.Codec.decoding_table["176,163"] = [38500] let s:lib.Codec.decoding_table["176,164"] = [38488] let s:lib.Codec.decoding_table["176,165"] = [38494] let s:lib.Codec.decoding_table["176,166"] = [38587] let s:lib.Codec.decoding_table["176,167"] = [39138] let s:lib.Codec.decoding_table["176,168"] = [39340] let s:lib.Codec.decoding_table["176,169"] = [39592] let s:lib.Codec.decoding_table["176,170"] = [39640] let s:lib.Codec.decoding_table["176,171"] = [39717] let s:lib.Codec.decoding_table["176,172"] = [39730] let s:lib.Codec.decoding_table["176,173"] = [39740] let s:lib.Codec.decoding_table["176,174"] = [20094] let s:lib.Codec.decoding_table["176,175"] = [20602] let s:lib.Codec.decoding_table["176,176"] = [20605] let s:lib.Codec.decoding_table["176,177"] = [20572] let s:lib.Codec.decoding_table["176,178"] = [20551] let s:lib.Codec.decoding_table["176,179"] = [20547] let s:lib.Codec.decoding_table["176,180"] = [20556] let s:lib.Codec.decoding_table["176,181"] = [20570] let s:lib.Codec.decoding_table["176,182"] = [20553] let s:lib.Codec.decoding_table["176,183"] = [20581] let s:lib.Codec.decoding_table["176,184"] = [20598] let s:lib.Codec.decoding_table["176,185"] = [20558] let s:lib.Codec.decoding_table["176,186"] = [20565] let s:lib.Codec.decoding_table["176,187"] = [20597] let s:lib.Codec.decoding_table["176,188"] = [20596] let s:lib.Codec.decoding_table["176,189"] = [20599] let s:lib.Codec.decoding_table["176,190"] = [20559] let s:lib.Codec.decoding_table["176,191"] = [20495] let s:lib.Codec.decoding_table["176,192"] = [20591] let s:lib.Codec.decoding_table["176,193"] = [20589] let s:lib.Codec.decoding_table["176,194"] = [20828] let s:lib.Codec.decoding_table["176,195"] = [20885] let s:lib.Codec.decoding_table["176,196"] = [20976] let s:lib.Codec.decoding_table["176,197"] = [21098] let s:lib.Codec.decoding_table["176,198"] = [21103] let s:lib.Codec.decoding_table["176,199"] = [21202] let s:lib.Codec.decoding_table["176,200"] = [21209] let s:lib.Codec.decoding_table["176,201"] = [21208] let s:lib.Codec.decoding_table["176,202"] = [21205] let s:lib.Codec.decoding_table["176,203"] = [21264] let s:lib.Codec.decoding_table["176,204"] = [21263] let s:lib.Codec.decoding_table["176,205"] = [21273] let s:lib.Codec.decoding_table["176,206"] = [21311] let s:lib.Codec.decoding_table["176,207"] = [21312] let s:lib.Codec.decoding_table["176,208"] = [21310] let s:lib.Codec.decoding_table["176,209"] = [21443] let s:lib.Codec.decoding_table["176,210"] = [26364] let s:lib.Codec.decoding_table["176,211"] = [21830] let s:lib.Codec.decoding_table["176,212"] = [21866] let s:lib.Codec.decoding_table["176,213"] = [21862] let s:lib.Codec.decoding_table["176,214"] = [21828] let s:lib.Codec.decoding_table["176,215"] = [21854] let s:lib.Codec.decoding_table["176,216"] = [21857] let s:lib.Codec.decoding_table["176,217"] = [21827] let s:lib.Codec.decoding_table["176,218"] = [21834] let s:lib.Codec.decoding_table["176,219"] = [21809] let s:lib.Codec.decoding_table["176,220"] = [21846] let s:lib.Codec.decoding_table["176,221"] = [21839] let s:lib.Codec.decoding_table["176,222"] = [21845] let s:lib.Codec.decoding_table["176,223"] = [21807] let s:lib.Codec.decoding_table["176,224"] = [21860] let s:lib.Codec.decoding_table["176,225"] = [21816] let s:lib.Codec.decoding_table["176,226"] = [21806] let s:lib.Codec.decoding_table["176,227"] = [21852] let s:lib.Codec.decoding_table["176,228"] = [21804] let s:lib.Codec.decoding_table["176,229"] = [21859] let s:lib.Codec.decoding_table["176,230"] = [21811] let s:lib.Codec.decoding_table["176,231"] = [21825] let s:lib.Codec.decoding_table["176,232"] = [21847] let s:lib.Codec.decoding_table["176,233"] = [22280] let s:lib.Codec.decoding_table["176,234"] = [22283] let s:lib.Codec.decoding_table["176,235"] = [22281] let s:lib.Codec.decoding_table["176,236"] = [22495] let s:lib.Codec.decoding_table["176,237"] = [22533] let s:lib.Codec.decoding_table["176,238"] = [22538] let s:lib.Codec.decoding_table["176,239"] = [22534] let s:lib.Codec.decoding_table["176,240"] = [22496] let s:lib.Codec.decoding_table["176,241"] = [22500] let s:lib.Codec.decoding_table["176,242"] = [22522] let s:lib.Codec.decoding_table["176,243"] = [22530] let s:lib.Codec.decoding_table["176,244"] = [22581] let s:lib.Codec.decoding_table["176,245"] = [22519] let s:lib.Codec.decoding_table["176,246"] = [22521] let s:lib.Codec.decoding_table["176,247"] = [22816] let s:lib.Codec.decoding_table["176,248"] = [22882] let s:lib.Codec.decoding_table["176,249"] = [23094] let s:lib.Codec.decoding_table["176,250"] = [23105] let s:lib.Codec.decoding_table["176,251"] = [23113] let s:lib.Codec.decoding_table["176,252"] = [23142] let s:lib.Codec.decoding_table["176,253"] = [23146] let s:lib.Codec.decoding_table["176,254"] = [23104] let s:lib.Codec.decoding_table["177,64"] = [23100] let s:lib.Codec.decoding_table["177,65"] = [23138] let s:lib.Codec.decoding_table["177,66"] = [23130] let s:lib.Codec.decoding_table["177,67"] = [23110] let s:lib.Codec.decoding_table["177,68"] = [23114] let s:lib.Codec.decoding_table["177,69"] = [23408] let s:lib.Codec.decoding_table["177,70"] = [23495] let s:lib.Codec.decoding_table["177,71"] = [23493] let s:lib.Codec.decoding_table["177,72"] = [23492] let s:lib.Codec.decoding_table["177,73"] = [23490] let s:lib.Codec.decoding_table["177,74"] = [23487] let s:lib.Codec.decoding_table["177,75"] = [23494] let s:lib.Codec.decoding_table["177,76"] = [23561] let s:lib.Codec.decoding_table["177,77"] = [23560] let s:lib.Codec.decoding_table["177,78"] = [23559] let s:lib.Codec.decoding_table["177,79"] = [23648] let s:lib.Codec.decoding_table["177,80"] = [23644] let s:lib.Codec.decoding_table["177,81"] = [23645] let s:lib.Codec.decoding_table["177,82"] = [23815] let s:lib.Codec.decoding_table["177,83"] = [23814] let s:lib.Codec.decoding_table["177,84"] = [23822] let s:lib.Codec.decoding_table["177,85"] = [23835] let s:lib.Codec.decoding_table["177,86"] = [23830] let s:lib.Codec.decoding_table["177,87"] = [23842] let s:lib.Codec.decoding_table["177,88"] = [23825] let s:lib.Codec.decoding_table["177,89"] = [23849] let s:lib.Codec.decoding_table["177,90"] = [23828] let s:lib.Codec.decoding_table["177,91"] = [23833] let s:lib.Codec.decoding_table["177,92"] = [23844] let s:lib.Codec.decoding_table["177,93"] = [23847] let s:lib.Codec.decoding_table["177,94"] = [23831] let s:lib.Codec.decoding_table["177,95"] = [24034] let s:lib.Codec.decoding_table["177,96"] = [24120] let s:lib.Codec.decoding_table["177,97"] = [24118] let s:lib.Codec.decoding_table["177,98"] = [24115] let s:lib.Codec.decoding_table["177,99"] = [24119] let s:lib.Codec.decoding_table["177,100"] = [24247] let s:lib.Codec.decoding_table["177,101"] = [24248] let s:lib.Codec.decoding_table["177,102"] = [24246] let s:lib.Codec.decoding_table["177,103"] = [24245] let s:lib.Codec.decoding_table["177,104"] = [24254] let s:lib.Codec.decoding_table["177,105"] = [24373] let s:lib.Codec.decoding_table["177,106"] = [24375] let s:lib.Codec.decoding_table["177,107"] = [24407] let s:lib.Codec.decoding_table["177,108"] = [24428] let s:lib.Codec.decoding_table["177,109"] = [24425] let s:lib.Codec.decoding_table["177,110"] = [24427] let s:lib.Codec.decoding_table["177,111"] = [24471] let s:lib.Codec.decoding_table["177,112"] = [24473] let s:lib.Codec.decoding_table["177,113"] = [24478] let s:lib.Codec.decoding_table["177,114"] = [24472] let s:lib.Codec.decoding_table["177,115"] = [24481] let s:lib.Codec.decoding_table["177,116"] = [24480] let s:lib.Codec.decoding_table["177,117"] = [24476] let s:lib.Codec.decoding_table["177,118"] = [24703] let s:lib.Codec.decoding_table["177,119"] = [24739] let s:lib.Codec.decoding_table["177,120"] = [24713] let s:lib.Codec.decoding_table["177,121"] = [24736] let s:lib.Codec.decoding_table["177,122"] = [24744] let s:lib.Codec.decoding_table["177,123"] = [24779] let s:lib.Codec.decoding_table["177,124"] = [24756] let s:lib.Codec.decoding_table["177,125"] = [24806] let s:lib.Codec.decoding_table["177,126"] = [24765] let s:lib.Codec.decoding_table["177,161"] = [24773] let s:lib.Codec.decoding_table["177,162"] = [24763] let s:lib.Codec.decoding_table["177,163"] = [24757] let s:lib.Codec.decoding_table["177,164"] = [24796] let s:lib.Codec.decoding_table["177,165"] = [24764] let s:lib.Codec.decoding_table["177,166"] = [24792] let s:lib.Codec.decoding_table["177,167"] = [24789] let s:lib.Codec.decoding_table["177,168"] = [24774] let s:lib.Codec.decoding_table["177,169"] = [24799] let s:lib.Codec.decoding_table["177,170"] = [24760] let s:lib.Codec.decoding_table["177,171"] = [24794] let s:lib.Codec.decoding_table["177,172"] = [24775] let s:lib.Codec.decoding_table["177,173"] = [25114] let s:lib.Codec.decoding_table["177,174"] = [25115] let s:lib.Codec.decoding_table["177,175"] = [25160] let s:lib.Codec.decoding_table["177,176"] = [25504] let s:lib.Codec.decoding_table["177,177"] = [25511] let s:lib.Codec.decoding_table["177,178"] = [25458] let s:lib.Codec.decoding_table["177,179"] = [25494] let s:lib.Codec.decoding_table["177,180"] = [25506] let s:lib.Codec.decoding_table["177,181"] = [25509] let s:lib.Codec.decoding_table["177,182"] = [25463] let s:lib.Codec.decoding_table["177,183"] = [25447] let s:lib.Codec.decoding_table["177,184"] = [25496] let s:lib.Codec.decoding_table["177,185"] = [25514] let s:lib.Codec.decoding_table["177,186"] = [25457] let s:lib.Codec.decoding_table["177,187"] = [25513] let s:lib.Codec.decoding_table["177,188"] = [25481] let s:lib.Codec.decoding_table["177,189"] = [25475] let s:lib.Codec.decoding_table["177,190"] = [25499] let s:lib.Codec.decoding_table["177,191"] = [25451] let s:lib.Codec.decoding_table["177,192"] = [25512] let s:lib.Codec.decoding_table["177,193"] = [25476] let s:lib.Codec.decoding_table["177,194"] = [25480] let s:lib.Codec.decoding_table["177,195"] = [25497] let s:lib.Codec.decoding_table["177,196"] = [25505] let s:lib.Codec.decoding_table["177,197"] = [25516] let s:lib.Codec.decoding_table["177,198"] = [25490] let s:lib.Codec.decoding_table["177,199"] = [25487] let s:lib.Codec.decoding_table["177,200"] = [25472] let s:lib.Codec.decoding_table["177,201"] = [25467] let s:lib.Codec.decoding_table["177,202"] = [25449] let s:lib.Codec.decoding_table["177,203"] = [25448] let s:lib.Codec.decoding_table["177,204"] = [25466] let s:lib.Codec.decoding_table["177,205"] = [25949] let s:lib.Codec.decoding_table["177,206"] = [25942] let s:lib.Codec.decoding_table["177,207"] = [25937] let s:lib.Codec.decoding_table["177,208"] = [25945] let s:lib.Codec.decoding_table["177,209"] = [25943] let s:lib.Codec.decoding_table["177,210"] = [21855] let s:lib.Codec.decoding_table["177,211"] = [25935] let s:lib.Codec.decoding_table["177,212"] = [25944] let s:lib.Codec.decoding_table["177,213"] = [25941] let s:lib.Codec.decoding_table["177,214"] = [25940] let s:lib.Codec.decoding_table["177,215"] = [26012] let s:lib.Codec.decoding_table["177,216"] = [26011] let s:lib.Codec.decoding_table["177,217"] = [26028] let s:lib.Codec.decoding_table["177,218"] = [26063] let s:lib.Codec.decoding_table["177,219"] = [26059] let s:lib.Codec.decoding_table["177,220"] = [26060] let s:lib.Codec.decoding_table["177,221"] = [26062] let s:lib.Codec.decoding_table["177,222"] = [26205] let s:lib.Codec.decoding_table["177,223"] = [26202] let s:lib.Codec.decoding_table["177,224"] = [26212] let s:lib.Codec.decoding_table["177,225"] = [26216] let s:lib.Codec.decoding_table["177,226"] = [26214] let s:lib.Codec.decoding_table["177,227"] = [26206] let s:lib.Codec.decoding_table["177,228"] = [26361] let s:lib.Codec.decoding_table["177,229"] = [21207] let s:lib.Codec.decoding_table["177,230"] = [26395] let s:lib.Codec.decoding_table["177,231"] = [26753] let s:lib.Codec.decoding_table["177,232"] = [26799] let s:lib.Codec.decoding_table["177,233"] = [26786] let s:lib.Codec.decoding_table["177,234"] = [26771] let s:lib.Codec.decoding_table["177,235"] = [26805] let s:lib.Codec.decoding_table["177,236"] = [26751] let s:lib.Codec.decoding_table["177,237"] = [26742] let s:lib.Codec.decoding_table["177,238"] = [26801] let s:lib.Codec.decoding_table["177,239"] = [26791] let s:lib.Codec.decoding_table["177,240"] = [26775] let s:lib.Codec.decoding_table["177,241"] = [26800] let s:lib.Codec.decoding_table["177,242"] = [26755] let s:lib.Codec.decoding_table["177,243"] = [26820] let s:lib.Codec.decoding_table["177,244"] = [26797] let s:lib.Codec.decoding_table["177,245"] = [26758] let s:lib.Codec.decoding_table["177,246"] = [26757] let s:lib.Codec.decoding_table["177,247"] = [26772] let s:lib.Codec.decoding_table["177,248"] = [26781] let s:lib.Codec.decoding_table["177,249"] = [26792] let s:lib.Codec.decoding_table["177,250"] = [26783] let s:lib.Codec.decoding_table["177,251"] = [26785] let s:lib.Codec.decoding_table["177,252"] = [26754] let s:lib.Codec.decoding_table["177,253"] = [27442] let s:lib.Codec.decoding_table["177,254"] = [27578] let s:lib.Codec.decoding_table["178,64"] = [27627] let s:lib.Codec.decoding_table["178,65"] = [27628] let s:lib.Codec.decoding_table["178,66"] = [27691] let s:lib.Codec.decoding_table["178,67"] = [28046] let s:lib.Codec.decoding_table["178,68"] = [28092] let s:lib.Codec.decoding_table["178,69"] = [28147] let s:lib.Codec.decoding_table["178,70"] = [28121] let s:lib.Codec.decoding_table["178,71"] = [28082] let s:lib.Codec.decoding_table["178,72"] = [28129] let s:lib.Codec.decoding_table["178,73"] = [28108] let s:lib.Codec.decoding_table["178,74"] = [28132] let s:lib.Codec.decoding_table["178,75"] = [28155] let s:lib.Codec.decoding_table["178,76"] = [28154] let s:lib.Codec.decoding_table["178,77"] = [28165] let s:lib.Codec.decoding_table["178,78"] = [28103] let s:lib.Codec.decoding_table["178,79"] = [28107] let s:lib.Codec.decoding_table["178,80"] = [28079] let s:lib.Codec.decoding_table["178,81"] = [28113] let s:lib.Codec.decoding_table["178,82"] = [28078] let s:lib.Codec.decoding_table["178,83"] = [28126] let s:lib.Codec.decoding_table["178,84"] = [28153] let s:lib.Codec.decoding_table["178,85"] = [28088] let s:lib.Codec.decoding_table["178,86"] = [28151] let s:lib.Codec.decoding_table["178,87"] = [28149] let s:lib.Codec.decoding_table["178,88"] = [28101] let s:lib.Codec.decoding_table["178,89"] = [28114] let s:lib.Codec.decoding_table["178,90"] = [28186] let s:lib.Codec.decoding_table["178,91"] = [28085] let s:lib.Codec.decoding_table["178,92"] = [28122] let s:lib.Codec.decoding_table["178,93"] = [28139] let s:lib.Codec.decoding_table["178,94"] = [28120] let s:lib.Codec.decoding_table["178,95"] = [28138] let s:lib.Codec.decoding_table["178,96"] = [28145] let s:lib.Codec.decoding_table["178,97"] = [28142] let s:lib.Codec.decoding_table["178,98"] = [28136] let s:lib.Codec.decoding_table["178,99"] = [28102] let s:lib.Codec.decoding_table["178,100"] = [28100] let s:lib.Codec.decoding_table["178,101"] = [28074] let s:lib.Codec.decoding_table["178,102"] = [28140] let s:lib.Codec.decoding_table["178,103"] = [28095] let s:lib.Codec.decoding_table["178,104"] = [28134] let s:lib.Codec.decoding_table["178,105"] = [28921] let s:lib.Codec.decoding_table["178,106"] = [28937] let s:lib.Codec.decoding_table["178,107"] = [28938] let s:lib.Codec.decoding_table["178,108"] = [28925] let s:lib.Codec.decoding_table["178,109"] = [28911] let s:lib.Codec.decoding_table["178,110"] = [29245] let s:lib.Codec.decoding_table["178,111"] = [29309] let s:lib.Codec.decoding_table["178,112"] = [29313] let s:lib.Codec.decoding_table["178,113"] = [29468] let s:lib.Codec.decoding_table["178,114"] = [29467] let s:lib.Codec.decoding_table["178,115"] = [29462] let s:lib.Codec.decoding_table["178,116"] = [29459] let s:lib.Codec.decoding_table["178,117"] = [29465] let s:lib.Codec.decoding_table["178,118"] = [29575] let s:lib.Codec.decoding_table["178,119"] = [29701] let s:lib.Codec.decoding_table["178,120"] = [29706] let s:lib.Codec.decoding_table["178,121"] = [29699] let s:lib.Codec.decoding_table["178,122"] = [29702] let s:lib.Codec.decoding_table["178,123"] = [29694] let s:lib.Codec.decoding_table["178,124"] = [29709] let s:lib.Codec.decoding_table["178,125"] = [29920] let s:lib.Codec.decoding_table["178,126"] = [29942] let s:lib.Codec.decoding_table["178,161"] = [29943] let s:lib.Codec.decoding_table["178,162"] = [29980] let s:lib.Codec.decoding_table["178,163"] = [29986] let s:lib.Codec.decoding_table["178,164"] = [30053] let s:lib.Codec.decoding_table["178,165"] = [30054] let s:lib.Codec.decoding_table["178,166"] = [30050] let s:lib.Codec.decoding_table["178,167"] = [30064] let s:lib.Codec.decoding_table["178,168"] = [30095] let s:lib.Codec.decoding_table["178,169"] = [30164] let s:lib.Codec.decoding_table["178,170"] = [30165] let s:lib.Codec.decoding_table["178,171"] = [30133] let s:lib.Codec.decoding_table["178,172"] = [30154] let s:lib.Codec.decoding_table["178,173"] = [30157] let s:lib.Codec.decoding_table["178,174"] = [30350] let s:lib.Codec.decoding_table["178,175"] = [30420] let s:lib.Codec.decoding_table["178,176"] = [30418] let s:lib.Codec.decoding_table["178,177"] = [30427] let s:lib.Codec.decoding_table["178,178"] = [30519] let s:lib.Codec.decoding_table["178,179"] = [30526] let s:lib.Codec.decoding_table["178,180"] = [30524] let s:lib.Codec.decoding_table["178,181"] = [30518] let s:lib.Codec.decoding_table["178,182"] = [30520] let s:lib.Codec.decoding_table["178,183"] = [30522] let s:lib.Codec.decoding_table["178,184"] = [30827] let s:lib.Codec.decoding_table["178,185"] = [30787] let s:lib.Codec.decoding_table["178,186"] = [30798] let s:lib.Codec.decoding_table["178,187"] = [31077] let s:lib.Codec.decoding_table["178,188"] = [31080] let s:lib.Codec.decoding_table["178,189"] = [31085] let s:lib.Codec.decoding_table["178,190"] = [31227] let s:lib.Codec.decoding_table["178,191"] = [31378] let s:lib.Codec.decoding_table["178,192"] = [31381] let s:lib.Codec.decoding_table["178,193"] = [31520] let s:lib.Codec.decoding_table["178,194"] = [31528] let s:lib.Codec.decoding_table["178,195"] = [31515] let s:lib.Codec.decoding_table["178,196"] = [31532] let s:lib.Codec.decoding_table["178,197"] = [31526] let s:lib.Codec.decoding_table["178,198"] = [31513] let s:lib.Codec.decoding_table["178,199"] = [31518] let s:lib.Codec.decoding_table["178,200"] = [31534] let s:lib.Codec.decoding_table["178,201"] = [31890] let s:lib.Codec.decoding_table["178,202"] = [31895] let s:lib.Codec.decoding_table["178,203"] = [31893] let s:lib.Codec.decoding_table["178,204"] = [32070] let s:lib.Codec.decoding_table["178,205"] = [32067] let s:lib.Codec.decoding_table["178,206"] = [32113] let s:lib.Codec.decoding_table["178,207"] = [32046] let s:lib.Codec.decoding_table["178,208"] = [32057] let s:lib.Codec.decoding_table["178,209"] = [32060] let s:lib.Codec.decoding_table["178,210"] = [32064] let s:lib.Codec.decoding_table["178,211"] = [32048] let s:lib.Codec.decoding_table["178,212"] = [32051] let s:lib.Codec.decoding_table["178,213"] = [32068] let s:lib.Codec.decoding_table["178,214"] = [32047] let s:lib.Codec.decoding_table["178,215"] = [32066] let s:lib.Codec.decoding_table["178,216"] = [32050] let s:lib.Codec.decoding_table["178,217"] = [32049] let s:lib.Codec.decoding_table["178,218"] = [32573] let s:lib.Codec.decoding_table["178,219"] = [32670] let s:lib.Codec.decoding_table["178,220"] = [32666] let s:lib.Codec.decoding_table["178,221"] = [32716] let s:lib.Codec.decoding_table["178,222"] = [32718] let s:lib.Codec.decoding_table["178,223"] = [32722] let s:lib.Codec.decoding_table["178,224"] = [32796] let s:lib.Codec.decoding_table["178,225"] = [32842] let s:lib.Codec.decoding_table["178,226"] = [32838] let s:lib.Codec.decoding_table["178,227"] = [33071] let s:lib.Codec.decoding_table["178,228"] = [33046] let s:lib.Codec.decoding_table["178,229"] = [33059] let s:lib.Codec.decoding_table["178,230"] = [33067] let s:lib.Codec.decoding_table["178,231"] = [33065] let s:lib.Codec.decoding_table["178,232"] = [33072] let s:lib.Codec.decoding_table["178,233"] = [33060] let s:lib.Codec.decoding_table["178,234"] = [33282] let s:lib.Codec.decoding_table["178,235"] = [33333] let s:lib.Codec.decoding_table["178,236"] = [33335] let s:lib.Codec.decoding_table["178,237"] = [33334] let s:lib.Codec.decoding_table["178,238"] = [33337] let s:lib.Codec.decoding_table["178,239"] = [33678] let s:lib.Codec.decoding_table["178,240"] = [33694] let s:lib.Codec.decoding_table["178,241"] = [33688] let s:lib.Codec.decoding_table["178,242"] = [33656] let s:lib.Codec.decoding_table["178,243"] = [33698] let s:lib.Codec.decoding_table["178,244"] = [33686] let s:lib.Codec.decoding_table["178,245"] = [33725] let s:lib.Codec.decoding_table["178,246"] = [33707] let s:lib.Codec.decoding_table["178,247"] = [33682] let s:lib.Codec.decoding_table["178,248"] = [33674] let s:lib.Codec.decoding_table["178,249"] = [33683] let s:lib.Codec.decoding_table["178,250"] = [33673] let s:lib.Codec.decoding_table["178,251"] = [33696] let s:lib.Codec.decoding_table["178,252"] = [33655] let s:lib.Codec.decoding_table["178,253"] = [33659] let s:lib.Codec.decoding_table["178,254"] = [33660] let s:lib.Codec.decoding_table["179,64"] = [33670] let s:lib.Codec.decoding_table["179,65"] = [33703] let s:lib.Codec.decoding_table["179,66"] = [34389] let s:lib.Codec.decoding_table["179,67"] = [24426] let s:lib.Codec.decoding_table["179,68"] = [34503] let s:lib.Codec.decoding_table["179,69"] = [34496] let s:lib.Codec.decoding_table["179,70"] = [34486] let s:lib.Codec.decoding_table["179,71"] = [34500] let s:lib.Codec.decoding_table["179,72"] = [34485] let s:lib.Codec.decoding_table["179,73"] = [34502] let s:lib.Codec.decoding_table["179,74"] = [34507] let s:lib.Codec.decoding_table["179,75"] = [34481] let s:lib.Codec.decoding_table["179,76"] = [34479] let s:lib.Codec.decoding_table["179,77"] = [34505] let s:lib.Codec.decoding_table["179,78"] = [34899] let s:lib.Codec.decoding_table["179,79"] = [34974] let s:lib.Codec.decoding_table["179,80"] = [34952] let s:lib.Codec.decoding_table["179,81"] = [34987] let s:lib.Codec.decoding_table["179,82"] = [34962] let s:lib.Codec.decoding_table["179,83"] = [34966] let s:lib.Codec.decoding_table["179,84"] = [34957] let s:lib.Codec.decoding_table["179,85"] = [34955] let s:lib.Codec.decoding_table["179,86"] = [35219] let s:lib.Codec.decoding_table["179,87"] = [35215] let s:lib.Codec.decoding_table["179,88"] = [35370] let s:lib.Codec.decoding_table["179,89"] = [35357] let s:lib.Codec.decoding_table["179,90"] = [35363] let s:lib.Codec.decoding_table["179,91"] = [35365] let s:lib.Codec.decoding_table["179,92"] = [35377] let s:lib.Codec.decoding_table["179,93"] = [35373] let s:lib.Codec.decoding_table["179,94"] = [35359] let s:lib.Codec.decoding_table["179,95"] = [35355] let s:lib.Codec.decoding_table["179,96"] = [35362] let s:lib.Codec.decoding_table["179,97"] = [35913] let s:lib.Codec.decoding_table["179,98"] = [35930] let s:lib.Codec.decoding_table["179,99"] = [36009] let s:lib.Codec.decoding_table["179,100"] = [36012] let s:lib.Codec.decoding_table["179,101"] = [36011] let s:lib.Codec.decoding_table["179,102"] = [36008] let s:lib.Codec.decoding_table["179,103"] = [36010] let s:lib.Codec.decoding_table["179,104"] = [36007] let s:lib.Codec.decoding_table["179,105"] = [36199] let s:lib.Codec.decoding_table["179,106"] = [36198] let s:lib.Codec.decoding_table["179,107"] = [36286] let s:lib.Codec.decoding_table["179,108"] = [36282] let s:lib.Codec.decoding_table["179,109"] = [36571] let s:lib.Codec.decoding_table["179,110"] = [36575] let s:lib.Codec.decoding_table["179,111"] = [36889] let s:lib.Codec.decoding_table["179,112"] = [36877] let s:lib.Codec.decoding_table["179,113"] = [36890] let s:lib.Codec.decoding_table["179,114"] = [36887] let s:lib.Codec.decoding_table["179,115"] = [36899] let s:lib.Codec.decoding_table["179,116"] = [36895] let s:lib.Codec.decoding_table["179,117"] = [36893] let s:lib.Codec.decoding_table["179,118"] = [36880] let s:lib.Codec.decoding_table["179,119"] = [36885] let s:lib.Codec.decoding_table["179,120"] = [36894] let s:lib.Codec.decoding_table["179,121"] = [36896] let s:lib.Codec.decoding_table["179,122"] = [36879] let s:lib.Codec.decoding_table["179,123"] = [36898] let s:lib.Codec.decoding_table["179,124"] = [36886] let s:lib.Codec.decoding_table["179,125"] = [36891] let s:lib.Codec.decoding_table["179,126"] = [36884] let s:lib.Codec.decoding_table["179,161"] = [37096] let s:lib.Codec.decoding_table["179,162"] = [37101] let s:lib.Codec.decoding_table["179,163"] = [37117] let s:lib.Codec.decoding_table["179,164"] = [37207] let s:lib.Codec.decoding_table["179,165"] = [37326] let s:lib.Codec.decoding_table["179,166"] = [37365] let s:lib.Codec.decoding_table["179,167"] = [37350] let s:lib.Codec.decoding_table["179,168"] = [37347] let s:lib.Codec.decoding_table["179,169"] = [37351] let s:lib.Codec.decoding_table["179,170"] = [37357] let s:lib.Codec.decoding_table["179,171"] = [37353] let s:lib.Codec.decoding_table["179,172"] = [38281] let s:lib.Codec.decoding_table["179,173"] = [38506] let s:lib.Codec.decoding_table["179,174"] = [38517] let s:lib.Codec.decoding_table["179,175"] = [38515] let s:lib.Codec.decoding_table["179,176"] = [38520] let s:lib.Codec.decoding_table["179,177"] = [38512] let s:lib.Codec.decoding_table["179,178"] = [38516] let s:lib.Codec.decoding_table["179,179"] = [38518] let s:lib.Codec.decoding_table["179,180"] = [38519] let s:lib.Codec.decoding_table["179,181"] = [38508] let s:lib.Codec.decoding_table["179,182"] = [38592] let s:lib.Codec.decoding_table["179,183"] = [38634] let s:lib.Codec.decoding_table["179,184"] = [38633] let s:lib.Codec.decoding_table["179,185"] = [31456] let s:lib.Codec.decoding_table["179,186"] = [31455] let s:lib.Codec.decoding_table["179,187"] = [38914] let s:lib.Codec.decoding_table["179,188"] = [38915] let s:lib.Codec.decoding_table["179,189"] = [39770] let s:lib.Codec.decoding_table["179,190"] = [40165] let s:lib.Codec.decoding_table["179,191"] = [40565] let s:lib.Codec.decoding_table["179,192"] = [40575] let s:lib.Codec.decoding_table["179,193"] = [40613] let s:lib.Codec.decoding_table["179,194"] = [40635] let s:lib.Codec.decoding_table["179,195"] = [20642] let s:lib.Codec.decoding_table["179,196"] = [20621] let s:lib.Codec.decoding_table["179,197"] = [20613] let s:lib.Codec.decoding_table["179,198"] = [20633] let s:lib.Codec.decoding_table["179,199"] = [20625] let s:lib.Codec.decoding_table["179,200"] = [20608] let s:lib.Codec.decoding_table["179,201"] = [20630] let s:lib.Codec.decoding_table["179,202"] = [20632] let s:lib.Codec.decoding_table["179,203"] = [20634] let s:lib.Codec.decoding_table["179,204"] = [26368] let s:lib.Codec.decoding_table["179,205"] = [20977] let s:lib.Codec.decoding_table["179,206"] = [21106] let s:lib.Codec.decoding_table["179,207"] = [21108] let s:lib.Codec.decoding_table["179,208"] = [21109] let s:lib.Codec.decoding_table["179,209"] = [21097] let s:lib.Codec.decoding_table["179,210"] = [21214] let s:lib.Codec.decoding_table["179,211"] = [21213] let s:lib.Codec.decoding_table["179,212"] = [21211] let s:lib.Codec.decoding_table["179,213"] = [21338] let s:lib.Codec.decoding_table["179,214"] = [21413] let s:lib.Codec.decoding_table["179,215"] = [21883] let s:lib.Codec.decoding_table["179,216"] = [21888] let s:lib.Codec.decoding_table["179,217"] = [21927] let s:lib.Codec.decoding_table["179,218"] = [21884] let s:lib.Codec.decoding_table["179,219"] = [21898] let s:lib.Codec.decoding_table["179,220"] = [21917] let s:lib.Codec.decoding_table["179,221"] = [21912] let s:lib.Codec.decoding_table["179,222"] = [21890] let s:lib.Codec.decoding_table["179,223"] = [21916] let s:lib.Codec.decoding_table["179,224"] = [21930] let s:lib.Codec.decoding_table["179,225"] = [21908] let s:lib.Codec.decoding_table["179,226"] = [21895] let s:lib.Codec.decoding_table["179,227"] = [21899] let s:lib.Codec.decoding_table["179,228"] = [21891] let s:lib.Codec.decoding_table["179,229"] = [21939] let s:lib.Codec.decoding_table["179,230"] = [21934] let s:lib.Codec.decoding_table["179,231"] = [21919] let s:lib.Codec.decoding_table["179,232"] = [21822] let s:lib.Codec.decoding_table["179,233"] = [21938] let s:lib.Codec.decoding_table["179,234"] = [21914] let s:lib.Codec.decoding_table["179,235"] = [21947] let s:lib.Codec.decoding_table["179,236"] = [21932] let s:lib.Codec.decoding_table["179,237"] = [21937] let s:lib.Codec.decoding_table["179,238"] = [21886] let s:lib.Codec.decoding_table["179,239"] = [21897] let s:lib.Codec.decoding_table["179,240"] = [21931] let s:lib.Codec.decoding_table["179,241"] = [21913] let s:lib.Codec.decoding_table["179,242"] = [22285] let s:lib.Codec.decoding_table["179,243"] = [22575] let s:lib.Codec.decoding_table["179,244"] = [22570] let s:lib.Codec.decoding_table["179,245"] = [22580] let s:lib.Codec.decoding_table["179,246"] = [22564] let s:lib.Codec.decoding_table["179,247"] = [22576] let s:lib.Codec.decoding_table["179,248"] = [22577] let s:lib.Codec.decoding_table["179,249"] = [22561] let s:lib.Codec.decoding_table["179,250"] = [22557] let s:lib.Codec.decoding_table["179,251"] = [22560] let s:lib.Codec.decoding_table["179,252"] = [22777] let s:lib.Codec.decoding_table["179,253"] = [22778] let s:lib.Codec.decoding_table["179,254"] = [22880] let s:lib.Codec.decoding_table["180,64"] = [23159] let s:lib.Codec.decoding_table["180,65"] = [23194] let s:lib.Codec.decoding_table["180,66"] = [23167] let s:lib.Codec.decoding_table["180,67"] = [23186] let s:lib.Codec.decoding_table["180,68"] = [23195] let s:lib.Codec.decoding_table["180,69"] = [23207] let s:lib.Codec.decoding_table["180,70"] = [23411] let s:lib.Codec.decoding_table["180,71"] = [23409] let s:lib.Codec.decoding_table["180,72"] = [23506] let s:lib.Codec.decoding_table["180,73"] = [23500] let s:lib.Codec.decoding_table["180,74"] = [23507] let s:lib.Codec.decoding_table["180,75"] = [23504] let s:lib.Codec.decoding_table["180,76"] = [23562] let s:lib.Codec.decoding_table["180,77"] = [23563] let s:lib.Codec.decoding_table["180,78"] = [23601] let s:lib.Codec.decoding_table["180,79"] = [23884] let s:lib.Codec.decoding_table["180,80"] = [23888] let s:lib.Codec.decoding_table["180,81"] = [23860] let s:lib.Codec.decoding_table["180,82"] = [23879] let s:lib.Codec.decoding_table["180,83"] = [24061] let s:lib.Codec.decoding_table["180,84"] = [24133] let s:lib.Codec.decoding_table["180,85"] = [24125] let s:lib.Codec.decoding_table["180,86"] = [24128] let s:lib.Codec.decoding_table["180,87"] = [24131] let s:lib.Codec.decoding_table["180,88"] = [24190] let s:lib.Codec.decoding_table["180,89"] = [24266] let s:lib.Codec.decoding_table["180,90"] = [24257] let s:lib.Codec.decoding_table["180,91"] = [24258] let s:lib.Codec.decoding_table["180,92"] = [24260] let s:lib.Codec.decoding_table["180,93"] = [24380] let s:lib.Codec.decoding_table["180,94"] = [24429] let s:lib.Codec.decoding_table["180,95"] = [24489] let s:lib.Codec.decoding_table["180,96"] = [24490] let s:lib.Codec.decoding_table["180,97"] = [24488] let s:lib.Codec.decoding_table["180,98"] = [24785] let s:lib.Codec.decoding_table["180,99"] = [24801] let s:lib.Codec.decoding_table["180,100"] = [24754] let s:lib.Codec.decoding_table["180,101"] = [24758] let s:lib.Codec.decoding_table["180,102"] = [24800] let s:lib.Codec.decoding_table["180,103"] = [24860] let s:lib.Codec.decoding_table["180,104"] = [24867] let s:lib.Codec.decoding_table["180,105"] = [24826] let s:lib.Codec.decoding_table["180,106"] = [24853] let s:lib.Codec.decoding_table["180,107"] = [24816] let s:lib.Codec.decoding_table["180,108"] = [24827] let s:lib.Codec.decoding_table["180,109"] = [24820] let s:lib.Codec.decoding_table["180,110"] = [24936] let s:lib.Codec.decoding_table["180,111"] = [24817] let s:lib.Codec.decoding_table["180,112"] = [24846] let s:lib.Codec.decoding_table["180,113"] = [24822] let s:lib.Codec.decoding_table["180,114"] = [24841] let s:lib.Codec.decoding_table["180,115"] = [24832] let s:lib.Codec.decoding_table["180,116"] = [24850] let s:lib.Codec.decoding_table["180,117"] = [25119] let s:lib.Codec.decoding_table["180,118"] = [25161] let s:lib.Codec.decoding_table["180,119"] = [25507] let s:lib.Codec.decoding_table["180,120"] = [25484] let s:lib.Codec.decoding_table["180,121"] = [25551] let s:lib.Codec.decoding_table["180,122"] = [25536] let s:lib.Codec.decoding_table["180,123"] = [25577] let s:lib.Codec.decoding_table["180,124"] = [25545] let s:lib.Codec.decoding_table["180,125"] = [25542] let s:lib.Codec.decoding_table["180,126"] = [25549] let s:lib.Codec.decoding_table["180,161"] = [25554] let s:lib.Codec.decoding_table["180,162"] = [25571] let s:lib.Codec.decoding_table["180,163"] = [25552] let s:lib.Codec.decoding_table["180,164"] = [25569] let s:lib.Codec.decoding_table["180,165"] = [25558] let s:lib.Codec.decoding_table["180,166"] = [25581] let s:lib.Codec.decoding_table["180,167"] = [25582] let s:lib.Codec.decoding_table["180,168"] = [25462] let s:lib.Codec.decoding_table["180,169"] = [25588] let s:lib.Codec.decoding_table["180,170"] = [25578] let s:lib.Codec.decoding_table["180,171"] = [25563] let s:lib.Codec.decoding_table["180,172"] = [25682] let s:lib.Codec.decoding_table["180,173"] = [25562] let s:lib.Codec.decoding_table["180,174"] = [25593] let s:lib.Codec.decoding_table["180,175"] = [25950] let s:lib.Codec.decoding_table["180,176"] = [25958] let s:lib.Codec.decoding_table["180,177"] = [25954] let s:lib.Codec.decoding_table["180,178"] = [25955] let s:lib.Codec.decoding_table["180,179"] = [26001] let s:lib.Codec.decoding_table["180,180"] = [26000] let s:lib.Codec.decoding_table["180,181"] = [26031] let s:lib.Codec.decoding_table["180,182"] = [26222] let s:lib.Codec.decoding_table["180,183"] = [26224] let s:lib.Codec.decoding_table["180,184"] = [26228] let s:lib.Codec.decoding_table["180,185"] = [26230] let s:lib.Codec.decoding_table["180,186"] = [26223] let s:lib.Codec.decoding_table["180,187"] = [26257] let s:lib.Codec.decoding_table["180,188"] = [26234] let s:lib.Codec.decoding_table["180,189"] = [26238] let s:lib.Codec.decoding_table["180,190"] = [26231] let s:lib.Codec.decoding_table["180,191"] = [26366] let s:lib.Codec.decoding_table["180,192"] = [26367] let s:lib.Codec.decoding_table["180,193"] = [26399] let s:lib.Codec.decoding_table["180,194"] = [26397] let s:lib.Codec.decoding_table["180,195"] = [26874] let s:lib.Codec.decoding_table["180,196"] = [26837] let s:lib.Codec.decoding_table["180,197"] = [26848] let s:lib.Codec.decoding_table["180,198"] = [26840] let s:lib.Codec.decoding_table["180,199"] = [26839] let s:lib.Codec.decoding_table["180,200"] = [26885] let s:lib.Codec.decoding_table["180,201"] = [26847] let s:lib.Codec.decoding_table["180,202"] = [26869] let s:lib.Codec.decoding_table["180,203"] = [26862] let s:lib.Codec.decoding_table["180,204"] = [26855] let s:lib.Codec.decoding_table["180,205"] = [26873] let s:lib.Codec.decoding_table["180,206"] = [26834] let s:lib.Codec.decoding_table["180,207"] = [26866] let s:lib.Codec.decoding_table["180,208"] = [26851] let s:lib.Codec.decoding_table["180,209"] = [26827] let s:lib.Codec.decoding_table["180,210"] = [26829] let s:lib.Codec.decoding_table["180,211"] = [26893] let s:lib.Codec.decoding_table["180,212"] = [26898] let s:lib.Codec.decoding_table["180,213"] = [26894] let s:lib.Codec.decoding_table["180,214"] = [26825] let s:lib.Codec.decoding_table["180,215"] = [26842] let s:lib.Codec.decoding_table["180,216"] = [26990] let s:lib.Codec.decoding_table["180,217"] = [26875] let s:lib.Codec.decoding_table["180,218"] = [27454] let s:lib.Codec.decoding_table["180,219"] = [27450] let s:lib.Codec.decoding_table["180,220"] = [27453] let s:lib.Codec.decoding_table["180,221"] = [27544] let s:lib.Codec.decoding_table["180,222"] = [27542] let s:lib.Codec.decoding_table["180,223"] = [27580] let s:lib.Codec.decoding_table["180,224"] = [27631] let s:lib.Codec.decoding_table["180,225"] = [27694] let s:lib.Codec.decoding_table["180,226"] = [27695] let s:lib.Codec.decoding_table["180,227"] = [27692] let s:lib.Codec.decoding_table["180,228"] = [28207] let s:lib.Codec.decoding_table["180,229"] = [28216] let s:lib.Codec.decoding_table["180,230"] = [28244] let s:lib.Codec.decoding_table["180,231"] = [28193] let s:lib.Codec.decoding_table["180,232"] = [28210] let s:lib.Codec.decoding_table["180,233"] = [28263] let s:lib.Codec.decoding_table["180,234"] = [28234] let s:lib.Codec.decoding_table["180,235"] = [28192] let s:lib.Codec.decoding_table["180,236"] = [28197] let s:lib.Codec.decoding_table["180,237"] = [28195] let s:lib.Codec.decoding_table["180,238"] = [28187] let s:lib.Codec.decoding_table["180,239"] = [28251] let s:lib.Codec.decoding_table["180,240"] = [28248] let s:lib.Codec.decoding_table["180,241"] = [28196] let s:lib.Codec.decoding_table["180,242"] = [28246] let s:lib.Codec.decoding_table["180,243"] = [28270] let s:lib.Codec.decoding_table["180,244"] = [28205] let s:lib.Codec.decoding_table["180,245"] = [28198] let s:lib.Codec.decoding_table["180,246"] = [28271] let s:lib.Codec.decoding_table["180,247"] = [28212] let s:lib.Codec.decoding_table["180,248"] = [28237] let s:lib.Codec.decoding_table["180,249"] = [28218] let s:lib.Codec.decoding_table["180,250"] = [28204] let s:lib.Codec.decoding_table["180,251"] = [28227] let s:lib.Codec.decoding_table["180,252"] = [28189] let s:lib.Codec.decoding_table["180,253"] = [28222] let s:lib.Codec.decoding_table["180,254"] = [28363] let s:lib.Codec.decoding_table["181,64"] = [28297] let s:lib.Codec.decoding_table["181,65"] = [28185] let s:lib.Codec.decoding_table["181,66"] = [28238] let s:lib.Codec.decoding_table["181,67"] = [28259] let s:lib.Codec.decoding_table["181,68"] = [28228] let s:lib.Codec.decoding_table["181,69"] = [28274] let s:lib.Codec.decoding_table["181,70"] = [28265] let s:lib.Codec.decoding_table["181,71"] = [28255] let s:lib.Codec.decoding_table["181,72"] = [28953] let s:lib.Codec.decoding_table["181,73"] = [28954] let s:lib.Codec.decoding_table["181,74"] = [28966] let s:lib.Codec.decoding_table["181,75"] = [28976] let s:lib.Codec.decoding_table["181,76"] = [28961] let s:lib.Codec.decoding_table["181,77"] = [28982] let s:lib.Codec.decoding_table["181,78"] = [29038] let s:lib.Codec.decoding_table["181,79"] = [28956] let s:lib.Codec.decoding_table["181,80"] = [29260] let s:lib.Codec.decoding_table["181,81"] = [29316] let s:lib.Codec.decoding_table["181,82"] = [29312] let s:lib.Codec.decoding_table["181,83"] = [29494] let s:lib.Codec.decoding_table["181,84"] = [29477] let s:lib.Codec.decoding_table["181,85"] = [29492] let s:lib.Codec.decoding_table["181,86"] = [29481] let s:lib.Codec.decoding_table["181,87"] = [29754] let s:lib.Codec.decoding_table["181,88"] = [29738] let s:lib.Codec.decoding_table["181,89"] = [29747] let s:lib.Codec.decoding_table["181,90"] = [29730] let s:lib.Codec.decoding_table["181,91"] = [29733] let s:lib.Codec.decoding_table["181,92"] = [29749] let s:lib.Codec.decoding_table["181,93"] = [29750] let s:lib.Codec.decoding_table["181,94"] = [29748] let s:lib.Codec.decoding_table["181,95"] = [29743] let s:lib.Codec.decoding_table["181,96"] = [29723] let s:lib.Codec.decoding_table["181,97"] = [29734] let s:lib.Codec.decoding_table["181,98"] = [29736] let s:lib.Codec.decoding_table["181,99"] = [29989] let s:lib.Codec.decoding_table["181,100"] = [29990] let s:lib.Codec.decoding_table["181,101"] = [30059] let s:lib.Codec.decoding_table["181,102"] = [30058] let s:lib.Codec.decoding_table["181,103"] = [30178] let s:lib.Codec.decoding_table["181,104"] = [30171] let s:lib.Codec.decoding_table["181,105"] = [30179] let s:lib.Codec.decoding_table["181,106"] = [30169] let s:lib.Codec.decoding_table["181,107"] = [30168] let s:lib.Codec.decoding_table["181,108"] = [30174] let s:lib.Codec.decoding_table["181,109"] = [30176] let s:lib.Codec.decoding_table["181,110"] = [30331] let s:lib.Codec.decoding_table["181,111"] = [30332] let s:lib.Codec.decoding_table["181,112"] = [30358] let s:lib.Codec.decoding_table["181,113"] = [30355] let s:lib.Codec.decoding_table["181,114"] = [30388] let s:lib.Codec.decoding_table["181,115"] = [30428] let s:lib.Codec.decoding_table["181,116"] = [30543] let s:lib.Codec.decoding_table["181,117"] = [30701] let s:lib.Codec.decoding_table["181,118"] = [30813] let s:lib.Codec.decoding_table["181,119"] = [30828] let s:lib.Codec.decoding_table["181,120"] = [30831] let s:lib.Codec.decoding_table["181,121"] = [31245] let s:lib.Codec.decoding_table["181,122"] = [31240] let s:lib.Codec.decoding_table["181,123"] = [31243] let s:lib.Codec.decoding_table["181,124"] = [31237] let s:lib.Codec.decoding_table["181,125"] = [31232] let s:lib.Codec.decoding_table["181,126"] = [31384] let s:lib.Codec.decoding_table["181,161"] = [31383] let s:lib.Codec.decoding_table["181,162"] = [31382] let s:lib.Codec.decoding_table["181,163"] = [31461] let s:lib.Codec.decoding_table["181,164"] = [31459] let s:lib.Codec.decoding_table["181,165"] = [31561] let s:lib.Codec.decoding_table["181,166"] = [31574] let s:lib.Codec.decoding_table["181,167"] = [31558] let s:lib.Codec.decoding_table["181,168"] = [31568] let s:lib.Codec.decoding_table["181,169"] = [31570] let s:lib.Codec.decoding_table["181,170"] = [31572] let s:lib.Codec.decoding_table["181,171"] = [31565] let s:lib.Codec.decoding_table["181,172"] = [31563] let s:lib.Codec.decoding_table["181,173"] = [31567] let s:lib.Codec.decoding_table["181,174"] = [31569] let s:lib.Codec.decoding_table["181,175"] = [31903] let s:lib.Codec.decoding_table["181,176"] = [31909] let s:lib.Codec.decoding_table["181,177"] = [32094] let s:lib.Codec.decoding_table["181,178"] = [32080] let s:lib.Codec.decoding_table["181,179"] = [32104] let s:lib.Codec.decoding_table["181,180"] = [32085] let s:lib.Codec.decoding_table["181,181"] = [32043] let s:lib.Codec.decoding_table["181,182"] = [32110] let s:lib.Codec.decoding_table["181,183"] = [32114] let s:lib.Codec.decoding_table["181,184"] = [32097] let s:lib.Codec.decoding_table["181,185"] = [32102] let s:lib.Codec.decoding_table["181,186"] = [32098] let s:lib.Codec.decoding_table["181,187"] = [32112] let s:lib.Codec.decoding_table["181,188"] = [32115] let s:lib.Codec.decoding_table["181,189"] = [21892] let s:lib.Codec.decoding_table["181,190"] = [32724] let s:lib.Codec.decoding_table["181,191"] = [32725] let s:lib.Codec.decoding_table["181,192"] = [32779] let s:lib.Codec.decoding_table["181,193"] = [32850] let s:lib.Codec.decoding_table["181,194"] = [32901] let s:lib.Codec.decoding_table["181,195"] = [33109] let s:lib.Codec.decoding_table["181,196"] = [33108] let s:lib.Codec.decoding_table["181,197"] = [33099] let s:lib.Codec.decoding_table["181,198"] = [33105] let s:lib.Codec.decoding_table["181,199"] = [33102] let s:lib.Codec.decoding_table["181,200"] = [33081] let s:lib.Codec.decoding_table["181,201"] = [33094] let s:lib.Codec.decoding_table["181,202"] = [33086] let s:lib.Codec.decoding_table["181,203"] = [33100] let s:lib.Codec.decoding_table["181,204"] = [33107] let s:lib.Codec.decoding_table["181,205"] = [33140] let s:lib.Codec.decoding_table["181,206"] = [33298] let s:lib.Codec.decoding_table["181,207"] = [33308] let s:lib.Codec.decoding_table["181,208"] = [33769] let s:lib.Codec.decoding_table["181,209"] = [33795] let s:lib.Codec.decoding_table["181,210"] = [33784] let s:lib.Codec.decoding_table["181,211"] = [33805] let s:lib.Codec.decoding_table["181,212"] = [33760] let s:lib.Codec.decoding_table["181,213"] = [33733] let s:lib.Codec.decoding_table["181,214"] = [33803] let s:lib.Codec.decoding_table["181,215"] = [33729] let s:lib.Codec.decoding_table["181,216"] = [33775] let s:lib.Codec.decoding_table["181,217"] = [33777] let s:lib.Codec.decoding_table["181,218"] = [33780] let s:lib.Codec.decoding_table["181,219"] = [33879] let s:lib.Codec.decoding_table["181,220"] = [33802] let s:lib.Codec.decoding_table["181,221"] = [33776] let s:lib.Codec.decoding_table["181,222"] = [33804] let s:lib.Codec.decoding_table["181,223"] = [33740] let s:lib.Codec.decoding_table["181,224"] = [33789] let s:lib.Codec.decoding_table["181,225"] = [33778] let s:lib.Codec.decoding_table["181,226"] = [33738] let s:lib.Codec.decoding_table["181,227"] = [33848] let s:lib.Codec.decoding_table["181,228"] = [33806] let s:lib.Codec.decoding_table["181,229"] = [33796] let s:lib.Codec.decoding_table["181,230"] = [33756] let s:lib.Codec.decoding_table["181,231"] = [33799] let s:lib.Codec.decoding_table["181,232"] = [33748] let s:lib.Codec.decoding_table["181,233"] = [33759] let s:lib.Codec.decoding_table["181,234"] = [34395] let s:lib.Codec.decoding_table["181,235"] = [34527] let s:lib.Codec.decoding_table["181,236"] = [34521] let s:lib.Codec.decoding_table["181,237"] = [34541] let s:lib.Codec.decoding_table["181,238"] = [34516] let s:lib.Codec.decoding_table["181,239"] = [34523] let s:lib.Codec.decoding_table["181,240"] = [34532] let s:lib.Codec.decoding_table["181,241"] = [34512] let s:lib.Codec.decoding_table["181,242"] = [34526] let s:lib.Codec.decoding_table["181,243"] = [34903] let s:lib.Codec.decoding_table["181,244"] = [35009] let s:lib.Codec.decoding_table["181,245"] = [35010] let s:lib.Codec.decoding_table["181,246"] = [34993] let s:lib.Codec.decoding_table["181,247"] = [35203] let s:lib.Codec.decoding_table["181,248"] = [35222] let s:lib.Codec.decoding_table["181,249"] = [35387] let s:lib.Codec.decoding_table["181,250"] = [35424] let s:lib.Codec.decoding_table["181,251"] = [35413] let s:lib.Codec.decoding_table["181,252"] = [35422] let s:lib.Codec.decoding_table["181,253"] = [35388] let s:lib.Codec.decoding_table["181,254"] = [35393] let s:lib.Codec.decoding_table["182,64"] = [35412] let s:lib.Codec.decoding_table["182,65"] = [35419] let s:lib.Codec.decoding_table["182,66"] = [35408] let s:lib.Codec.decoding_table["182,67"] = [35398] let s:lib.Codec.decoding_table["182,68"] = [35380] let s:lib.Codec.decoding_table["182,69"] = [35386] let s:lib.Codec.decoding_table["182,70"] = [35382] let s:lib.Codec.decoding_table["182,71"] = [35414] let s:lib.Codec.decoding_table["182,72"] = [35937] let s:lib.Codec.decoding_table["182,73"] = [35970] let s:lib.Codec.decoding_table["182,74"] = [36015] let s:lib.Codec.decoding_table["182,75"] = [36028] let s:lib.Codec.decoding_table["182,76"] = [36019] let s:lib.Codec.decoding_table["182,77"] = [36029] let s:lib.Codec.decoding_table["182,78"] = [36033] let s:lib.Codec.decoding_table["182,79"] = [36027] let s:lib.Codec.decoding_table["182,80"] = [36032] let s:lib.Codec.decoding_table["182,81"] = [36020] let s:lib.Codec.decoding_table["182,82"] = [36023] let s:lib.Codec.decoding_table["182,83"] = [36022] let s:lib.Codec.decoding_table["182,84"] = [36031] let s:lib.Codec.decoding_table["182,85"] = [36024] let s:lib.Codec.decoding_table["182,86"] = [36234] let s:lib.Codec.decoding_table["182,87"] = [36229] let s:lib.Codec.decoding_table["182,88"] = [36225] let s:lib.Codec.decoding_table["182,89"] = [36302] let s:lib.Codec.decoding_table["182,90"] = [36317] let s:lib.Codec.decoding_table["182,91"] = [36299] let s:lib.Codec.decoding_table["182,92"] = [36314] let s:lib.Codec.decoding_table["182,93"] = [36305] let s:lib.Codec.decoding_table["182,94"] = [36300] let s:lib.Codec.decoding_table["182,95"] = [36315] let s:lib.Codec.decoding_table["182,96"] = [36294] let s:lib.Codec.decoding_table["182,97"] = [36603] let s:lib.Codec.decoding_table["182,98"] = [36600] let s:lib.Codec.decoding_table["182,99"] = [36604] let s:lib.Codec.decoding_table["182,100"] = [36764] let s:lib.Codec.decoding_table["182,101"] = [36910] let s:lib.Codec.decoding_table["182,102"] = [36917] let s:lib.Codec.decoding_table["182,103"] = [36913] let s:lib.Codec.decoding_table["182,104"] = [36920] let s:lib.Codec.decoding_table["182,105"] = [36914] let s:lib.Codec.decoding_table["182,106"] = [36918] let s:lib.Codec.decoding_table["182,107"] = [37122] let s:lib.Codec.decoding_table["182,108"] = [37109] let s:lib.Codec.decoding_table["182,109"] = [37129] let s:lib.Codec.decoding_table["182,110"] = [37118] let s:lib.Codec.decoding_table["182,111"] = [37219] let s:lib.Codec.decoding_table["182,112"] = [37221] let s:lib.Codec.decoding_table["182,113"] = [37327] let s:lib.Codec.decoding_table["182,114"] = [37396] let s:lib.Codec.decoding_table["182,115"] = [37397] let s:lib.Codec.decoding_table["182,116"] = [37411] let s:lib.Codec.decoding_table["182,117"] = [37385] let s:lib.Codec.decoding_table["182,118"] = [37406] let s:lib.Codec.decoding_table["182,119"] = [37389] let s:lib.Codec.decoding_table["182,120"] = [37392] let s:lib.Codec.decoding_table["182,121"] = [37383] let s:lib.Codec.decoding_table["182,122"] = [37393] let s:lib.Codec.decoding_table["182,123"] = [38292] let s:lib.Codec.decoding_table["182,124"] = [38287] let s:lib.Codec.decoding_table["182,125"] = [38283] let s:lib.Codec.decoding_table["182,126"] = [38289] let s:lib.Codec.decoding_table["182,161"] = [38291] let s:lib.Codec.decoding_table["182,162"] = [38290] let s:lib.Codec.decoding_table["182,163"] = [38286] let s:lib.Codec.decoding_table["182,164"] = [38538] let s:lib.Codec.decoding_table["182,165"] = [38542] let s:lib.Codec.decoding_table["182,166"] = [38539] let s:lib.Codec.decoding_table["182,167"] = [38525] let s:lib.Codec.decoding_table["182,168"] = [38533] let s:lib.Codec.decoding_table["182,169"] = [38534] let s:lib.Codec.decoding_table["182,170"] = [38541] let s:lib.Codec.decoding_table["182,171"] = [38514] let s:lib.Codec.decoding_table["182,172"] = [38532] let s:lib.Codec.decoding_table["182,173"] = [38593] let s:lib.Codec.decoding_table["182,174"] = [38597] let s:lib.Codec.decoding_table["182,175"] = [38596] let s:lib.Codec.decoding_table["182,176"] = [38598] let s:lib.Codec.decoding_table["182,177"] = [38599] let s:lib.Codec.decoding_table["182,178"] = [38639] let s:lib.Codec.decoding_table["182,179"] = [38642] let s:lib.Codec.decoding_table["182,180"] = [38860] let s:lib.Codec.decoding_table["182,181"] = [38917] let s:lib.Codec.decoding_table["182,182"] = [38918] let s:lib.Codec.decoding_table["182,183"] = [38920] let s:lib.Codec.decoding_table["182,184"] = [39143] let s:lib.Codec.decoding_table["182,185"] = [39146] let s:lib.Codec.decoding_table["182,186"] = [39151] let s:lib.Codec.decoding_table["182,187"] = [39145] let s:lib.Codec.decoding_table["182,188"] = [39154] let s:lib.Codec.decoding_table["182,189"] = [39149] let s:lib.Codec.decoding_table["182,190"] = [39342] let s:lib.Codec.decoding_table["182,191"] = [39341] let s:lib.Codec.decoding_table["182,192"] = [40643] let s:lib.Codec.decoding_table["182,193"] = [40653] let s:lib.Codec.decoding_table["182,194"] = [40657] let s:lib.Codec.decoding_table["182,195"] = [20098] let s:lib.Codec.decoding_table["182,196"] = [20653] let s:lib.Codec.decoding_table["182,197"] = [20661] let s:lib.Codec.decoding_table["182,198"] = [20658] let s:lib.Codec.decoding_table["182,199"] = [20659] let s:lib.Codec.decoding_table["182,200"] = [20677] let s:lib.Codec.decoding_table["182,201"] = [20670] let s:lib.Codec.decoding_table["182,202"] = [20652] let s:lib.Codec.decoding_table["182,203"] = [20663] let s:lib.Codec.decoding_table["182,204"] = [20667] let s:lib.Codec.decoding_table["182,205"] = [20655] let s:lib.Codec.decoding_table["182,206"] = [20679] let s:lib.Codec.decoding_table["182,207"] = [21119] let s:lib.Codec.decoding_table["182,208"] = [21111] let s:lib.Codec.decoding_table["182,209"] = [21117] let s:lib.Codec.decoding_table["182,210"] = [21215] let s:lib.Codec.decoding_table["182,211"] = [21222] let s:lib.Codec.decoding_table["182,212"] = [21220] let s:lib.Codec.decoding_table["182,213"] = [21218] let s:lib.Codec.decoding_table["182,214"] = [21219] let s:lib.Codec.decoding_table["182,215"] = [21295] let s:lib.Codec.decoding_table["182,216"] = [21983] let s:lib.Codec.decoding_table["182,217"] = [21992] let s:lib.Codec.decoding_table["182,218"] = [21971] let s:lib.Codec.decoding_table["182,219"] = [21990] let s:lib.Codec.decoding_table["182,220"] = [21966] let s:lib.Codec.decoding_table["182,221"] = [21980] let s:lib.Codec.decoding_table["182,222"] = [21959] let s:lib.Codec.decoding_table["182,223"] = [21969] let s:lib.Codec.decoding_table["182,224"] = [21987] let s:lib.Codec.decoding_table["182,225"] = [21988] let s:lib.Codec.decoding_table["182,226"] = [21999] let s:lib.Codec.decoding_table["182,227"] = [21978] let s:lib.Codec.decoding_table["182,228"] = [21985] let s:lib.Codec.decoding_table["182,229"] = [21957] let s:lib.Codec.decoding_table["182,230"] = [21958] let s:lib.Codec.decoding_table["182,231"] = [21989] let s:lib.Codec.decoding_table["182,232"] = [21961] let s:lib.Codec.decoding_table["182,233"] = [22290] let s:lib.Codec.decoding_table["182,234"] = [22291] let s:lib.Codec.decoding_table["182,235"] = [22622] let s:lib.Codec.decoding_table["182,236"] = [22609] let s:lib.Codec.decoding_table["182,237"] = [22616] let s:lib.Codec.decoding_table["182,238"] = [22615] let s:lib.Codec.decoding_table["182,239"] = [22618] let s:lib.Codec.decoding_table["182,240"] = [22612] let s:lib.Codec.decoding_table["182,241"] = [22635] let s:lib.Codec.decoding_table["182,242"] = [22604] let s:lib.Codec.decoding_table["182,243"] = [22637] let s:lib.Codec.decoding_table["182,244"] = [22602] let s:lib.Codec.decoding_table["182,245"] = [22626] let s:lib.Codec.decoding_table["182,246"] = [22610] let s:lib.Codec.decoding_table["182,247"] = [22603] let s:lib.Codec.decoding_table["182,248"] = [22887] let s:lib.Codec.decoding_table["182,249"] = [23233] let s:lib.Codec.decoding_table["182,250"] = [23241] let s:lib.Codec.decoding_table["182,251"] = [23244] let s:lib.Codec.decoding_table["182,252"] = [23230] let s:lib.Codec.decoding_table["182,253"] = [23229] let s:lib.Codec.decoding_table["182,254"] = [23228] let s:lib.Codec.decoding_table["183,64"] = [23219] let s:lib.Codec.decoding_table["183,65"] = [23234] let s:lib.Codec.decoding_table["183,66"] = [23218] let s:lib.Codec.decoding_table["183,67"] = [23913] let s:lib.Codec.decoding_table["183,68"] = [23919] let s:lib.Codec.decoding_table["183,69"] = [24140] let s:lib.Codec.decoding_table["183,70"] = [24185] let s:lib.Codec.decoding_table["183,71"] = [24265] let s:lib.Codec.decoding_table["183,72"] = [24264] let s:lib.Codec.decoding_table["183,73"] = [24338] let s:lib.Codec.decoding_table["183,74"] = [24409] let s:lib.Codec.decoding_table["183,75"] = [24492] let s:lib.Codec.decoding_table["183,76"] = [24494] let s:lib.Codec.decoding_table["183,77"] = [24858] let s:lib.Codec.decoding_table["183,78"] = [24847] let s:lib.Codec.decoding_table["183,79"] = [24904] let s:lib.Codec.decoding_table["183,80"] = [24863] let s:lib.Codec.decoding_table["183,81"] = [24819] let s:lib.Codec.decoding_table["183,82"] = [24859] let s:lib.Codec.decoding_table["183,83"] = [24825] let s:lib.Codec.decoding_table["183,84"] = [24833] let s:lib.Codec.decoding_table["183,85"] = [24840] let s:lib.Codec.decoding_table["183,86"] = [24910] let s:lib.Codec.decoding_table["183,87"] = [24908] let s:lib.Codec.decoding_table["183,88"] = [24900] let s:lib.Codec.decoding_table["183,89"] = [24909] let s:lib.Codec.decoding_table["183,90"] = [24894] let s:lib.Codec.decoding_table["183,91"] = [24884] let s:lib.Codec.decoding_table["183,92"] = [24871] let s:lib.Codec.decoding_table["183,93"] = [24845] let s:lib.Codec.decoding_table["183,94"] = [24838] let s:lib.Codec.decoding_table["183,95"] = [24887] let s:lib.Codec.decoding_table["183,96"] = [25121] let s:lib.Codec.decoding_table["183,97"] = [25122] let s:lib.Codec.decoding_table["183,98"] = [25619] let s:lib.Codec.decoding_table["183,99"] = [25662] let s:lib.Codec.decoding_table["183,100"] = [25630] let s:lib.Codec.decoding_table["183,101"] = [25642] let s:lib.Codec.decoding_table["183,102"] = [25645] let s:lib.Codec.decoding_table["183,103"] = [25661] let s:lib.Codec.decoding_table["183,104"] = [25644] let s:lib.Codec.decoding_table["183,105"] = [25615] let s:lib.Codec.decoding_table["183,106"] = [25628] let s:lib.Codec.decoding_table["183,107"] = [25620] let s:lib.Codec.decoding_table["183,108"] = [25613] let s:lib.Codec.decoding_table["183,109"] = [25654] let s:lib.Codec.decoding_table["183,110"] = [25622] let s:lib.Codec.decoding_table["183,111"] = [25623] let s:lib.Codec.decoding_table["183,112"] = [25606] let s:lib.Codec.decoding_table["183,113"] = [25964] let s:lib.Codec.decoding_table["183,114"] = [26015] let s:lib.Codec.decoding_table["183,115"] = [26032] let s:lib.Codec.decoding_table["183,116"] = [26263] let s:lib.Codec.decoding_table["183,117"] = [26249] let s:lib.Codec.decoding_table["183,118"] = [26247] let s:lib.Codec.decoding_table["183,119"] = [26248] let s:lib.Codec.decoding_table["183,120"] = [26262] let s:lib.Codec.decoding_table["183,121"] = [26244] let s:lib.Codec.decoding_table["183,122"] = [26264] let s:lib.Codec.decoding_table["183,123"] = [26253] let s:lib.Codec.decoding_table["183,124"] = [26371] let s:lib.Codec.decoding_table["183,125"] = [27028] let s:lib.Codec.decoding_table["183,126"] = [26989] let s:lib.Codec.decoding_table["183,161"] = [26970] let s:lib.Codec.decoding_table["183,162"] = [26999] let s:lib.Codec.decoding_table["183,163"] = [26976] let s:lib.Codec.decoding_table["183,164"] = [26964] let s:lib.Codec.decoding_table["183,165"] = [26997] let s:lib.Codec.decoding_table["183,166"] = [26928] let s:lib.Codec.decoding_table["183,167"] = [27010] let s:lib.Codec.decoding_table["183,168"] = [26954] let s:lib.Codec.decoding_table["183,169"] = [26984] let s:lib.Codec.decoding_table["183,170"] = [26987] let s:lib.Codec.decoding_table["183,171"] = [26974] let s:lib.Codec.decoding_table["183,172"] = [26963] let s:lib.Codec.decoding_table["183,173"] = [27001] let s:lib.Codec.decoding_table["183,174"] = [27014] let s:lib.Codec.decoding_table["183,175"] = [26973] let s:lib.Codec.decoding_table["183,176"] = [26979] let s:lib.Codec.decoding_table["183,177"] = [26971] let s:lib.Codec.decoding_table["183,178"] = [27463] let s:lib.Codec.decoding_table["183,179"] = [27506] let s:lib.Codec.decoding_table["183,180"] = [27584] let s:lib.Codec.decoding_table["183,181"] = [27583] let s:lib.Codec.decoding_table["183,182"] = [27603] let s:lib.Codec.decoding_table["183,183"] = [27645] let s:lib.Codec.decoding_table["183,184"] = [28322] let s:lib.Codec.decoding_table["183,185"] = [28335] let s:lib.Codec.decoding_table["183,186"] = [28371] let s:lib.Codec.decoding_table["183,187"] = [28342] let s:lib.Codec.decoding_table["183,188"] = [28354] let s:lib.Codec.decoding_table["183,189"] = [28304] let s:lib.Codec.decoding_table["183,190"] = [28317] let s:lib.Codec.decoding_table["183,191"] = [28359] let s:lib.Codec.decoding_table["183,192"] = [28357] let s:lib.Codec.decoding_table["183,193"] = [28325] let s:lib.Codec.decoding_table["183,194"] = [28312] let s:lib.Codec.decoding_table["183,195"] = [28348] let s:lib.Codec.decoding_table["183,196"] = [28346] let s:lib.Codec.decoding_table["183,197"] = [28331] let s:lib.Codec.decoding_table["183,198"] = [28369] let s:lib.Codec.decoding_table["183,199"] = [28310] let s:lib.Codec.decoding_table["183,200"] = [28316] let s:lib.Codec.decoding_table["183,201"] = [28356] let s:lib.Codec.decoding_table["183,202"] = [28372] let s:lib.Codec.decoding_table["183,203"] = [28330] let s:lib.Codec.decoding_table["183,204"] = [28327] let s:lib.Codec.decoding_table["183,205"] = [28340] let s:lib.Codec.decoding_table["183,206"] = [29006] let s:lib.Codec.decoding_table["183,207"] = [29017] let s:lib.Codec.decoding_table["183,208"] = [29033] let s:lib.Codec.decoding_table["183,209"] = [29028] let s:lib.Codec.decoding_table["183,210"] = [29001] let s:lib.Codec.decoding_table["183,211"] = [29031] let s:lib.Codec.decoding_table["183,212"] = [29020] let s:lib.Codec.decoding_table["183,213"] = [29036] let s:lib.Codec.decoding_table["183,214"] = [29030] let s:lib.Codec.decoding_table["183,215"] = [29004] let s:lib.Codec.decoding_table["183,216"] = [29029] let s:lib.Codec.decoding_table["183,217"] = [29022] let s:lib.Codec.decoding_table["183,218"] = [28998] let s:lib.Codec.decoding_table["183,219"] = [29032] let s:lib.Codec.decoding_table["183,220"] = [29014] let s:lib.Codec.decoding_table["183,221"] = [29242] let s:lib.Codec.decoding_table["183,222"] = [29266] let s:lib.Codec.decoding_table["183,223"] = [29495] let s:lib.Codec.decoding_table["183,224"] = [29509] let s:lib.Codec.decoding_table["183,225"] = [29503] let s:lib.Codec.decoding_table["183,226"] = [29502] let s:lib.Codec.decoding_table["183,227"] = [29807] let s:lib.Codec.decoding_table["183,228"] = [29786] let s:lib.Codec.decoding_table["183,229"] = [29781] let s:lib.Codec.decoding_table["183,230"] = [29791] let s:lib.Codec.decoding_table["183,231"] = [29790] let s:lib.Codec.decoding_table["183,232"] = [29761] let s:lib.Codec.decoding_table["183,233"] = [29759] let s:lib.Codec.decoding_table["183,234"] = [29785] let s:lib.Codec.decoding_table["183,235"] = [29787] let s:lib.Codec.decoding_table["183,236"] = [29788] let s:lib.Codec.decoding_table["183,237"] = [30070] let s:lib.Codec.decoding_table["183,238"] = [30072] let s:lib.Codec.decoding_table["183,239"] = [30208] let s:lib.Codec.decoding_table["183,240"] = [30192] let s:lib.Codec.decoding_table["183,241"] = [30209] let s:lib.Codec.decoding_table["183,242"] = [30194] let s:lib.Codec.decoding_table["183,243"] = [30193] let s:lib.Codec.decoding_table["183,244"] = [30202] let s:lib.Codec.decoding_table["183,245"] = [30207] let s:lib.Codec.decoding_table["183,246"] = [30196] let s:lib.Codec.decoding_table["183,247"] = [30195] let s:lib.Codec.decoding_table["183,248"] = [30430] let s:lib.Codec.decoding_table["183,249"] = [30431] let s:lib.Codec.decoding_table["183,250"] = [30555] let s:lib.Codec.decoding_table["183,251"] = [30571] let s:lib.Codec.decoding_table["183,252"] = [30566] let s:lib.Codec.decoding_table["183,253"] = [30558] let s:lib.Codec.decoding_table["183,254"] = [30563] let s:lib.Codec.decoding_table["184,64"] = [30585] let s:lib.Codec.decoding_table["184,65"] = [30570] let s:lib.Codec.decoding_table["184,66"] = [30572] let s:lib.Codec.decoding_table["184,67"] = [30556] let s:lib.Codec.decoding_table["184,68"] = [30565] let s:lib.Codec.decoding_table["184,69"] = [30568] let s:lib.Codec.decoding_table["184,70"] = [30562] let s:lib.Codec.decoding_table["184,71"] = [30702] let s:lib.Codec.decoding_table["184,72"] = [30862] let s:lib.Codec.decoding_table["184,73"] = [30896] let s:lib.Codec.decoding_table["184,74"] = [30871] let s:lib.Codec.decoding_table["184,75"] = [30872] let s:lib.Codec.decoding_table["184,76"] = [30860] let s:lib.Codec.decoding_table["184,77"] = [30857] let s:lib.Codec.decoding_table["184,78"] = [30844] let s:lib.Codec.decoding_table["184,79"] = [30865] let s:lib.Codec.decoding_table["184,80"] = [30867] let s:lib.Codec.decoding_table["184,81"] = [30847] let s:lib.Codec.decoding_table["184,82"] = [31098] let s:lib.Codec.decoding_table["184,83"] = [31103] let s:lib.Codec.decoding_table["184,84"] = [31105] let s:lib.Codec.decoding_table["184,85"] = [33836] let s:lib.Codec.decoding_table["184,86"] = [31165] let s:lib.Codec.decoding_table["184,87"] = [31260] let s:lib.Codec.decoding_table["184,88"] = [31258] let s:lib.Codec.decoding_table["184,89"] = [31264] let s:lib.Codec.decoding_table["184,90"] = [31252] let s:lib.Codec.decoding_table["184,91"] = [31263] let s:lib.Codec.decoding_table["184,92"] = [31262] let s:lib.Codec.decoding_table["184,93"] = [31391] let s:lib.Codec.decoding_table["184,94"] = [31392] let s:lib.Codec.decoding_table["184,95"] = [31607] let s:lib.Codec.decoding_table["184,96"] = [31680] let s:lib.Codec.decoding_table["184,97"] = [31584] let s:lib.Codec.decoding_table["184,98"] = [31598] let s:lib.Codec.decoding_table["184,99"] = [31591] let s:lib.Codec.decoding_table["184,100"] = [31921] let s:lib.Codec.decoding_table["184,101"] = [31923] let s:lib.Codec.decoding_table["184,102"] = [31925] let s:lib.Codec.decoding_table["184,103"] = [32147] let s:lib.Codec.decoding_table["184,104"] = [32121] let s:lib.Codec.decoding_table["184,105"] = [32145] let s:lib.Codec.decoding_table["184,106"] = [32129] let s:lib.Codec.decoding_table["184,107"] = [32143] let s:lib.Codec.decoding_table["184,108"] = [32091] let s:lib.Codec.decoding_table["184,109"] = [32622] let s:lib.Codec.decoding_table["184,110"] = [32617] let s:lib.Codec.decoding_table["184,111"] = [32618] let s:lib.Codec.decoding_table["184,112"] = [32626] let s:lib.Codec.decoding_table["184,113"] = [32681] let s:lib.Codec.decoding_table["184,114"] = [32680] let s:lib.Codec.decoding_table["184,115"] = [32676] let s:lib.Codec.decoding_table["184,116"] = [32854] let s:lib.Codec.decoding_table["184,117"] = [32856] let s:lib.Codec.decoding_table["184,118"] = [32902] let s:lib.Codec.decoding_table["184,119"] = [32900] let s:lib.Codec.decoding_table["184,120"] = [33137] let s:lib.Codec.decoding_table["184,121"] = [33136] let s:lib.Codec.decoding_table["184,122"] = [33144] let s:lib.Codec.decoding_table["184,123"] = [33125] let s:lib.Codec.decoding_table["184,124"] = [33134] let s:lib.Codec.decoding_table["184,125"] = [33139] let s:lib.Codec.decoding_table["184,126"] = [33131] let s:lib.Codec.decoding_table["184,161"] = [33145] let s:lib.Codec.decoding_table["184,162"] = [33146] let s:lib.Codec.decoding_table["184,163"] = [33126] let s:lib.Codec.decoding_table["184,164"] = [33285] let s:lib.Codec.decoding_table["184,165"] = [33351] let s:lib.Codec.decoding_table["184,166"] = [33922] let s:lib.Codec.decoding_table["184,167"] = [33911] let s:lib.Codec.decoding_table["184,168"] = [33853] let s:lib.Codec.decoding_table["184,169"] = [33841] let s:lib.Codec.decoding_table["184,170"] = [33909] let s:lib.Codec.decoding_table["184,171"] = [33894] let s:lib.Codec.decoding_table["184,172"] = [33899] let s:lib.Codec.decoding_table["184,173"] = [33865] let s:lib.Codec.decoding_table["184,174"] = [33900] let s:lib.Codec.decoding_table["184,175"] = [33883] let s:lib.Codec.decoding_table["184,176"] = [33852] let s:lib.Codec.decoding_table["184,177"] = [33845] let s:lib.Codec.decoding_table["184,178"] = [33889] let s:lib.Codec.decoding_table["184,179"] = [33891] let s:lib.Codec.decoding_table["184,180"] = [33897] let s:lib.Codec.decoding_table["184,181"] = [33901] let s:lib.Codec.decoding_table["184,182"] = [33862] let s:lib.Codec.decoding_table["184,183"] = [34398] let s:lib.Codec.decoding_table["184,184"] = [34396] let s:lib.Codec.decoding_table["184,185"] = [34399] let s:lib.Codec.decoding_table["184,186"] = [34553] let s:lib.Codec.decoding_table["184,187"] = [34579] let s:lib.Codec.decoding_table["184,188"] = [34568] let s:lib.Codec.decoding_table["184,189"] = [34567] let s:lib.Codec.decoding_table["184,190"] = [34560] let s:lib.Codec.decoding_table["184,191"] = [34558] let s:lib.Codec.decoding_table["184,192"] = [34555] let s:lib.Codec.decoding_table["184,193"] = [34562] let s:lib.Codec.decoding_table["184,194"] = [34563] let s:lib.Codec.decoding_table["184,195"] = [34566] let s:lib.Codec.decoding_table["184,196"] = [34570] let s:lib.Codec.decoding_table["184,197"] = [34905] let s:lib.Codec.decoding_table["184,198"] = [35039] let s:lib.Codec.decoding_table["184,199"] = [35028] let s:lib.Codec.decoding_table["184,200"] = [35033] let s:lib.Codec.decoding_table["184,201"] = [35036] let s:lib.Codec.decoding_table["184,202"] = [35032] let s:lib.Codec.decoding_table["184,203"] = [35037] let s:lib.Codec.decoding_table["184,204"] = [35041] let s:lib.Codec.decoding_table["184,205"] = [35018] let s:lib.Codec.decoding_table["184,206"] = [35029] let s:lib.Codec.decoding_table["184,207"] = [35026] let s:lib.Codec.decoding_table["184,208"] = [35228] let s:lib.Codec.decoding_table["184,209"] = [35299] let s:lib.Codec.decoding_table["184,210"] = [35435] let s:lib.Codec.decoding_table["184,211"] = [35442] let s:lib.Codec.decoding_table["184,212"] = [35443] let s:lib.Codec.decoding_table["184,213"] = [35430] let s:lib.Codec.decoding_table["184,214"] = [35433] let s:lib.Codec.decoding_table["184,215"] = [35440] let s:lib.Codec.decoding_table["184,216"] = [35463] let s:lib.Codec.decoding_table["184,217"] = [35452] let s:lib.Codec.decoding_table["184,218"] = [35427] let s:lib.Codec.decoding_table["184,219"] = [35488] let s:lib.Codec.decoding_table["184,220"] = [35441] let s:lib.Codec.decoding_table["184,221"] = [35461] let s:lib.Codec.decoding_table["184,222"] = [35437] let s:lib.Codec.decoding_table["184,223"] = [35426] let s:lib.Codec.decoding_table["184,224"] = [35438] let s:lib.Codec.decoding_table["184,225"] = [35436] let s:lib.Codec.decoding_table["184,226"] = [35449] let s:lib.Codec.decoding_table["184,227"] = [35451] let s:lib.Codec.decoding_table["184,228"] = [35390] let s:lib.Codec.decoding_table["184,229"] = [35432] let s:lib.Codec.decoding_table["184,230"] = [35938] let s:lib.Codec.decoding_table["184,231"] = [35978] let s:lib.Codec.decoding_table["184,232"] = [35977] let s:lib.Codec.decoding_table["184,233"] = [36042] let s:lib.Codec.decoding_table["184,234"] = [36039] let s:lib.Codec.decoding_table["184,235"] = [36040] let s:lib.Codec.decoding_table["184,236"] = [36036] let s:lib.Codec.decoding_table["184,237"] = [36018] let s:lib.Codec.decoding_table["184,238"] = [36035] let s:lib.Codec.decoding_table["184,239"] = [36034] let s:lib.Codec.decoding_table["184,240"] = [36037] let s:lib.Codec.decoding_table["184,241"] = [36321] let s:lib.Codec.decoding_table["184,242"] = [36319] let s:lib.Codec.decoding_table["184,243"] = [36328] let s:lib.Codec.decoding_table["184,244"] = [36335] let s:lib.Codec.decoding_table["184,245"] = [36339] let s:lib.Codec.decoding_table["184,246"] = [36346] let s:lib.Codec.decoding_table["184,247"] = [36330] let s:lib.Codec.decoding_table["184,248"] = [36324] let s:lib.Codec.decoding_table["184,249"] = [36326] let s:lib.Codec.decoding_table["184,250"] = [36530] let s:lib.Codec.decoding_table["184,251"] = [36611] let s:lib.Codec.decoding_table["184,252"] = [36617] let s:lib.Codec.decoding_table["184,253"] = [36606] let s:lib.Codec.decoding_table["184,254"] = [36618] let s:lib.Codec.decoding_table["185,64"] = [36767] let s:lib.Codec.decoding_table["185,65"] = [36786] let s:lib.Codec.decoding_table["185,66"] = [36939] let s:lib.Codec.decoding_table["185,67"] = [36938] let s:lib.Codec.decoding_table["185,68"] = [36947] let s:lib.Codec.decoding_table["185,69"] = [36930] let s:lib.Codec.decoding_table["185,70"] = [36948] let s:lib.Codec.decoding_table["185,71"] = [36924] let s:lib.Codec.decoding_table["185,72"] = [36949] let s:lib.Codec.decoding_table["185,73"] = [36944] let s:lib.Codec.decoding_table["185,74"] = [36935] let s:lib.Codec.decoding_table["185,75"] = [36943] let s:lib.Codec.decoding_table["185,76"] = [36942] let s:lib.Codec.decoding_table["185,77"] = [36941] let s:lib.Codec.decoding_table["185,78"] = [36945] let s:lib.Codec.decoding_table["185,79"] = [36926] let s:lib.Codec.decoding_table["185,80"] = [36929] let s:lib.Codec.decoding_table["185,81"] = [37138] let s:lib.Codec.decoding_table["185,82"] = [37143] let s:lib.Codec.decoding_table["185,83"] = [37228] let s:lib.Codec.decoding_table["185,84"] = [37226] let s:lib.Codec.decoding_table["185,85"] = [37225] let s:lib.Codec.decoding_table["185,86"] = [37321] let s:lib.Codec.decoding_table["185,87"] = [37431] let s:lib.Codec.decoding_table["185,88"] = [37463] let s:lib.Codec.decoding_table["185,89"] = [37432] let s:lib.Codec.decoding_table["185,90"] = [37437] let s:lib.Codec.decoding_table["185,91"] = [37440] let s:lib.Codec.decoding_table["185,92"] = [37438] let s:lib.Codec.decoding_table["185,93"] = [37467] let s:lib.Codec.decoding_table["185,94"] = [37451] let s:lib.Codec.decoding_table["185,95"] = [37476] let s:lib.Codec.decoding_table["185,96"] = [37457] let s:lib.Codec.decoding_table["185,97"] = [37428] let s:lib.Codec.decoding_table["185,98"] = [37449] let s:lib.Codec.decoding_table["185,99"] = [37453] let s:lib.Codec.decoding_table["185,100"] = [37445] let s:lib.Codec.decoding_table["185,101"] = [37433] let s:lib.Codec.decoding_table["185,102"] = [37439] let s:lib.Codec.decoding_table["185,103"] = [37466] let s:lib.Codec.decoding_table["185,104"] = [38296] let s:lib.Codec.decoding_table["185,105"] = [38552] let s:lib.Codec.decoding_table["185,106"] = [38548] let s:lib.Codec.decoding_table["185,107"] = [38549] let s:lib.Codec.decoding_table["185,108"] = [38605] let s:lib.Codec.decoding_table["185,109"] = [38603] let s:lib.Codec.decoding_table["185,110"] = [38601] let s:lib.Codec.decoding_table["185,111"] = [38602] let s:lib.Codec.decoding_table["185,112"] = [38647] let s:lib.Codec.decoding_table["185,113"] = [38651] let s:lib.Codec.decoding_table["185,114"] = [38649] let s:lib.Codec.decoding_table["185,115"] = [38646] let s:lib.Codec.decoding_table["185,116"] = [38742] let s:lib.Codec.decoding_table["185,117"] = [38772] let s:lib.Codec.decoding_table["185,118"] = [38774] let s:lib.Codec.decoding_table["185,119"] = [38928] let s:lib.Codec.decoding_table["185,120"] = [38929] let s:lib.Codec.decoding_table["185,121"] = [38931] let s:lib.Codec.decoding_table["185,122"] = [38922] let s:lib.Codec.decoding_table["185,123"] = [38930] let s:lib.Codec.decoding_table["185,124"] = [38924] let s:lib.Codec.decoding_table["185,125"] = [39164] let s:lib.Codec.decoding_table["185,126"] = [39156] let s:lib.Codec.decoding_table["185,161"] = [39165] let s:lib.Codec.decoding_table["185,162"] = [39166] let s:lib.Codec.decoding_table["185,163"] = [39347] let s:lib.Codec.decoding_table["185,164"] = [39345] let s:lib.Codec.decoding_table["185,165"] = [39348] let s:lib.Codec.decoding_table["185,166"] = [39649] let s:lib.Codec.decoding_table["185,167"] = [40169] let s:lib.Codec.decoding_table["185,168"] = [40578] let s:lib.Codec.decoding_table["185,169"] = [40718] let s:lib.Codec.decoding_table["185,170"] = [40723] let s:lib.Codec.decoding_table["185,171"] = [40736] let s:lib.Codec.decoding_table["185,172"] = [20711] let s:lib.Codec.decoding_table["185,173"] = [20718] let s:lib.Codec.decoding_table["185,174"] = [20709] let s:lib.Codec.decoding_table["185,175"] = [20694] let s:lib.Codec.decoding_table["185,176"] = [20717] let s:lib.Codec.decoding_table["185,177"] = [20698] let s:lib.Codec.decoding_table["185,178"] = [20693] let s:lib.Codec.decoding_table["185,179"] = [20687] let s:lib.Codec.decoding_table["185,180"] = [20689] let s:lib.Codec.decoding_table["185,181"] = [20721] let s:lib.Codec.decoding_table["185,182"] = [20686] let s:lib.Codec.decoding_table["185,183"] = [20713] let s:lib.Codec.decoding_table["185,184"] = [20834] let s:lib.Codec.decoding_table["185,185"] = [20979] let s:lib.Codec.decoding_table["185,186"] = [21123] let s:lib.Codec.decoding_table["185,187"] = [21122] let s:lib.Codec.decoding_table["185,188"] = [21297] let s:lib.Codec.decoding_table["185,189"] = [21421] let s:lib.Codec.decoding_table["185,190"] = [22014] let s:lib.Codec.decoding_table["185,191"] = [22016] let s:lib.Codec.decoding_table["185,192"] = [22043] let s:lib.Codec.decoding_table["185,193"] = [22039] let s:lib.Codec.decoding_table["185,194"] = [22013] let s:lib.Codec.decoding_table["185,195"] = [22036] let s:lib.Codec.decoding_table["185,196"] = [22022] let s:lib.Codec.decoding_table["185,197"] = [22025] let s:lib.Codec.decoding_table["185,198"] = [22029] let s:lib.Codec.decoding_table["185,199"] = [22030] let s:lib.Codec.decoding_table["185,200"] = [22007] let s:lib.Codec.decoding_table["185,201"] = [22038] let s:lib.Codec.decoding_table["185,202"] = [22047] let s:lib.Codec.decoding_table["185,203"] = [22024] let s:lib.Codec.decoding_table["185,204"] = [22032] let s:lib.Codec.decoding_table["185,205"] = [22006] let s:lib.Codec.decoding_table["185,206"] = [22296] let s:lib.Codec.decoding_table["185,207"] = [22294] let s:lib.Codec.decoding_table["185,208"] = [22645] let s:lib.Codec.decoding_table["185,209"] = [22654] let s:lib.Codec.decoding_table["185,210"] = [22659] let s:lib.Codec.decoding_table["185,211"] = [22675] let s:lib.Codec.decoding_table["185,212"] = [22666] let s:lib.Codec.decoding_table["185,213"] = [22649] let s:lib.Codec.decoding_table["185,214"] = [22661] let s:lib.Codec.decoding_table["185,215"] = [22653] let s:lib.Codec.decoding_table["185,216"] = [22781] let s:lib.Codec.decoding_table["185,217"] = [22821] let s:lib.Codec.decoding_table["185,218"] = [22818] let s:lib.Codec.decoding_table["185,219"] = [22820] let s:lib.Codec.decoding_table["185,220"] = [22890] let s:lib.Codec.decoding_table["185,221"] = [22889] let s:lib.Codec.decoding_table["185,222"] = [23265] let s:lib.Codec.decoding_table["185,223"] = [23270] let s:lib.Codec.decoding_table["185,224"] = [23273] let s:lib.Codec.decoding_table["185,225"] = [23255] let s:lib.Codec.decoding_table["185,226"] = [23254] let s:lib.Codec.decoding_table["185,227"] = [23256] let s:lib.Codec.decoding_table["185,228"] = [23267] let s:lib.Codec.decoding_table["185,229"] = [23413] let s:lib.Codec.decoding_table["185,230"] = [23518] let s:lib.Codec.decoding_table["185,231"] = [23527] let s:lib.Codec.decoding_table["185,232"] = [23521] let s:lib.Codec.decoding_table["185,233"] = [23525] let s:lib.Codec.decoding_table["185,234"] = [23526] let s:lib.Codec.decoding_table["185,235"] = [23528] let s:lib.Codec.decoding_table["185,236"] = [23522] let s:lib.Codec.decoding_table["185,237"] = [23524] let s:lib.Codec.decoding_table["185,238"] = [23519] let s:lib.Codec.decoding_table["185,239"] = [23565] let s:lib.Codec.decoding_table["185,240"] = [23650] let s:lib.Codec.decoding_table["185,241"] = [23940] let s:lib.Codec.decoding_table["185,242"] = [23943] let s:lib.Codec.decoding_table["185,243"] = [24155] let s:lib.Codec.decoding_table["185,244"] = [24163] let s:lib.Codec.decoding_table["185,245"] = [24149] let s:lib.Codec.decoding_table["185,246"] = [24151] let s:lib.Codec.decoding_table["185,247"] = [24148] let s:lib.Codec.decoding_table["185,248"] = [24275] let s:lib.Codec.decoding_table["185,249"] = [24278] let s:lib.Codec.decoding_table["185,250"] = [24330] let s:lib.Codec.decoding_table["185,251"] = [24390] let s:lib.Codec.decoding_table["185,252"] = [24432] let s:lib.Codec.decoding_table["185,253"] = [24505] let s:lib.Codec.decoding_table["185,254"] = [24903] let s:lib.Codec.decoding_table["186,64"] = [24895] let s:lib.Codec.decoding_table["186,65"] = [24907] let s:lib.Codec.decoding_table["186,66"] = [24951] let s:lib.Codec.decoding_table["186,67"] = [24930] let s:lib.Codec.decoding_table["186,68"] = [24931] let s:lib.Codec.decoding_table["186,69"] = [24927] let s:lib.Codec.decoding_table["186,70"] = [24922] let s:lib.Codec.decoding_table["186,71"] = [24920] let s:lib.Codec.decoding_table["186,72"] = [24949] let s:lib.Codec.decoding_table["186,73"] = [25130] let s:lib.Codec.decoding_table["186,74"] = [25735] let s:lib.Codec.decoding_table["186,75"] = [25688] let s:lib.Codec.decoding_table["186,76"] = [25684] let s:lib.Codec.decoding_table["186,77"] = [25764] let s:lib.Codec.decoding_table["186,78"] = [25720] let s:lib.Codec.decoding_table["186,79"] = [25695] let s:lib.Codec.decoding_table["186,80"] = [25722] let s:lib.Codec.decoding_table["186,81"] = [25681] let s:lib.Codec.decoding_table["186,82"] = [25703] let s:lib.Codec.decoding_table["186,83"] = [25652] let s:lib.Codec.decoding_table["186,84"] = [25709] let s:lib.Codec.decoding_table["186,85"] = [25723] let s:lib.Codec.decoding_table["186,86"] = [25970] let s:lib.Codec.decoding_table["186,87"] = [26017] let s:lib.Codec.decoding_table["186,88"] = [26071] let s:lib.Codec.decoding_table["186,89"] = [26070] let s:lib.Codec.decoding_table["186,90"] = [26274] let s:lib.Codec.decoding_table["186,91"] = [26280] let s:lib.Codec.decoding_table["186,92"] = [26269] let s:lib.Codec.decoding_table["186,93"] = [27036] let s:lib.Codec.decoding_table["186,94"] = [27048] let s:lib.Codec.decoding_table["186,95"] = [27029] let s:lib.Codec.decoding_table["186,96"] = [27073] let s:lib.Codec.decoding_table["186,97"] = [27054] let s:lib.Codec.decoding_table["186,98"] = [27091] let s:lib.Codec.decoding_table["186,99"] = [27083] let s:lib.Codec.decoding_table["186,100"] = [27035] let s:lib.Codec.decoding_table["186,101"] = [27063] let s:lib.Codec.decoding_table["186,102"] = [27067] let s:lib.Codec.decoding_table["186,103"] = [27051] let s:lib.Codec.decoding_table["186,104"] = [27060] let s:lib.Codec.decoding_table["186,105"] = [27088] let s:lib.Codec.decoding_table["186,106"] = [27085] let s:lib.Codec.decoding_table["186,107"] = [27053] let s:lib.Codec.decoding_table["186,108"] = [27084] let s:lib.Codec.decoding_table["186,109"] = [27046] let s:lib.Codec.decoding_table["186,110"] = [27075] let s:lib.Codec.decoding_table["186,111"] = [27043] let s:lib.Codec.decoding_table["186,112"] = [27465] let s:lib.Codec.decoding_table["186,113"] = [27468] let s:lib.Codec.decoding_table["186,114"] = [27699] let s:lib.Codec.decoding_table["186,115"] = [28467] let s:lib.Codec.decoding_table["186,116"] = [28436] let s:lib.Codec.decoding_table["186,117"] = [28414] let s:lib.Codec.decoding_table["186,118"] = [28435] let s:lib.Codec.decoding_table["186,119"] = [28404] let s:lib.Codec.decoding_table["186,120"] = [28457] let s:lib.Codec.decoding_table["186,121"] = [28478] let s:lib.Codec.decoding_table["186,122"] = [28448] let s:lib.Codec.decoding_table["186,123"] = [28460] let s:lib.Codec.decoding_table["186,124"] = [28431] let s:lib.Codec.decoding_table["186,125"] = [28418] let s:lib.Codec.decoding_table["186,126"] = [28450] let s:lib.Codec.decoding_table["186,161"] = [28415] let s:lib.Codec.decoding_table["186,162"] = [28399] let s:lib.Codec.decoding_table["186,163"] = [28422] let s:lib.Codec.decoding_table["186,164"] = [28465] let s:lib.Codec.decoding_table["186,165"] = [28472] let s:lib.Codec.decoding_table["186,166"] = [28466] let s:lib.Codec.decoding_table["186,167"] = [28451] let s:lib.Codec.decoding_table["186,168"] = [28437] let s:lib.Codec.decoding_table["186,169"] = [28459] let s:lib.Codec.decoding_table["186,170"] = [28463] let s:lib.Codec.decoding_table["186,171"] = [28552] let s:lib.Codec.decoding_table["186,172"] = [28458] let s:lib.Codec.decoding_table["186,173"] = [28396] let s:lib.Codec.decoding_table["186,174"] = [28417] let s:lib.Codec.decoding_table["186,175"] = [28402] let s:lib.Codec.decoding_table["186,176"] = [28364] let s:lib.Codec.decoding_table["186,177"] = [28407] let s:lib.Codec.decoding_table["186,178"] = [29076] let s:lib.Codec.decoding_table["186,179"] = [29081] let s:lib.Codec.decoding_table["186,180"] = [29053] let s:lib.Codec.decoding_table["186,181"] = [29066] let s:lib.Codec.decoding_table["186,182"] = [29060] let s:lib.Codec.decoding_table["186,183"] = [29074] let s:lib.Codec.decoding_table["186,184"] = [29246] let s:lib.Codec.decoding_table["186,185"] = [29330] let s:lib.Codec.decoding_table["186,186"] = [29334] let s:lib.Codec.decoding_table["186,187"] = [29508] let s:lib.Codec.decoding_table["186,188"] = [29520] let s:lib.Codec.decoding_table["186,189"] = [29796] let s:lib.Codec.decoding_table["186,190"] = [29795] let s:lib.Codec.decoding_table["186,191"] = [29802] let s:lib.Codec.decoding_table["186,192"] = [29808] let s:lib.Codec.decoding_table["186,193"] = [29805] let s:lib.Codec.decoding_table["186,194"] = [29956] let s:lib.Codec.decoding_table["186,195"] = [30097] let s:lib.Codec.decoding_table["186,196"] = [30247] let s:lib.Codec.decoding_table["186,197"] = [30221] let s:lib.Codec.decoding_table["186,198"] = [30219] let s:lib.Codec.decoding_table["186,199"] = [30217] let s:lib.Codec.decoding_table["186,200"] = [30227] let s:lib.Codec.decoding_table["186,201"] = [30433] let s:lib.Codec.decoding_table["186,202"] = [30435] let s:lib.Codec.decoding_table["186,203"] = [30596] let s:lib.Codec.decoding_table["186,204"] = [30589] let s:lib.Codec.decoding_table["186,205"] = [30591] let s:lib.Codec.decoding_table["186,206"] = [30561] let s:lib.Codec.decoding_table["186,207"] = [30913] let s:lib.Codec.decoding_table["186,208"] = [30879] let s:lib.Codec.decoding_table["186,209"] = [30887] let s:lib.Codec.decoding_table["186,210"] = [30899] let s:lib.Codec.decoding_table["186,211"] = [30889] let s:lib.Codec.decoding_table["186,212"] = [30883] let s:lib.Codec.decoding_table["186,213"] = [31118] let s:lib.Codec.decoding_table["186,214"] = [31119] let s:lib.Codec.decoding_table["186,215"] = [31117] let s:lib.Codec.decoding_table["186,216"] = [31278] let s:lib.Codec.decoding_table["186,217"] = [31281] let s:lib.Codec.decoding_table["186,218"] = [31402] let s:lib.Codec.decoding_table["186,219"] = [31401] let s:lib.Codec.decoding_table["186,220"] = [31469] let s:lib.Codec.decoding_table["186,221"] = [31471] let s:lib.Codec.decoding_table["186,222"] = [31649] let s:lib.Codec.decoding_table["186,223"] = [31637] let s:lib.Codec.decoding_table["186,224"] = [31627] let s:lib.Codec.decoding_table["186,225"] = [31605] let s:lib.Codec.decoding_table["186,226"] = [31639] let s:lib.Codec.decoding_table["186,227"] = [31645] let s:lib.Codec.decoding_table["186,228"] = [31636] let s:lib.Codec.decoding_table["186,229"] = [31631] let s:lib.Codec.decoding_table["186,230"] = [31672] let s:lib.Codec.decoding_table["186,231"] = [31623] let s:lib.Codec.decoding_table["186,232"] = [31620] let s:lib.Codec.decoding_table["186,233"] = [31929] let s:lib.Codec.decoding_table["186,234"] = [31933] let s:lib.Codec.decoding_table["186,235"] = [31934] let s:lib.Codec.decoding_table["186,236"] = [32187] let s:lib.Codec.decoding_table["186,237"] = [32176] let s:lib.Codec.decoding_table["186,238"] = [32156] let s:lib.Codec.decoding_table["186,239"] = [32189] let s:lib.Codec.decoding_table["186,240"] = [32190] let s:lib.Codec.decoding_table["186,241"] = [32160] let s:lib.Codec.decoding_table["186,242"] = [32202] let s:lib.Codec.decoding_table["186,243"] = [32180] let s:lib.Codec.decoding_table["186,244"] = [32178] let s:lib.Codec.decoding_table["186,245"] = [32177] let s:lib.Codec.decoding_table["186,246"] = [32186] let s:lib.Codec.decoding_table["186,247"] = [32162] let s:lib.Codec.decoding_table["186,248"] = [32191] let s:lib.Codec.decoding_table["186,249"] = [32181] let s:lib.Codec.decoding_table["186,250"] = [32184] let s:lib.Codec.decoding_table["186,251"] = [32173] let s:lib.Codec.decoding_table["186,252"] = [32210] let s:lib.Codec.decoding_table["186,253"] = [32199] let s:lib.Codec.decoding_table["186,254"] = [32172] let s:lib.Codec.decoding_table["187,64"] = [32624] let s:lib.Codec.decoding_table["187,65"] = [32736] let s:lib.Codec.decoding_table["187,66"] = [32737] let s:lib.Codec.decoding_table["187,67"] = [32735] let s:lib.Codec.decoding_table["187,68"] = [32862] let s:lib.Codec.decoding_table["187,69"] = [32858] let s:lib.Codec.decoding_table["187,70"] = [32903] let s:lib.Codec.decoding_table["187,71"] = [33104] let s:lib.Codec.decoding_table["187,72"] = [33152] let s:lib.Codec.decoding_table["187,73"] = [33167] let s:lib.Codec.decoding_table["187,74"] = [33160] let s:lib.Codec.decoding_table["187,75"] = [33162] let s:lib.Codec.decoding_table["187,76"] = [33151] let s:lib.Codec.decoding_table["187,77"] = [33154] let s:lib.Codec.decoding_table["187,78"] = [33255] let s:lib.Codec.decoding_table["187,79"] = [33274] let s:lib.Codec.decoding_table["187,80"] = [33287] let s:lib.Codec.decoding_table["187,81"] = [33300] let s:lib.Codec.decoding_table["187,82"] = [33310] let s:lib.Codec.decoding_table["187,83"] = [33355] let s:lib.Codec.decoding_table["187,84"] = [33993] let s:lib.Codec.decoding_table["187,85"] = [33983] let s:lib.Codec.decoding_table["187,86"] = [33990] let s:lib.Codec.decoding_table["187,87"] = [33988] let s:lib.Codec.decoding_table["187,88"] = [33945] let s:lib.Codec.decoding_table["187,89"] = [33950] let s:lib.Codec.decoding_table["187,90"] = [33970] let s:lib.Codec.decoding_table["187,91"] = [33948] let s:lib.Codec.decoding_table["187,92"] = [33995] let s:lib.Codec.decoding_table["187,93"] = [33976] let s:lib.Codec.decoding_table["187,94"] = [33984] let s:lib.Codec.decoding_table["187,95"] = [34003] let s:lib.Codec.decoding_table["187,96"] = [33936] let s:lib.Codec.decoding_table["187,97"] = [33980] let s:lib.Codec.decoding_table["187,98"] = [34001] let s:lib.Codec.decoding_table["187,99"] = [33994] let s:lib.Codec.decoding_table["187,100"] = [34623] let s:lib.Codec.decoding_table["187,101"] = [34588] let s:lib.Codec.decoding_table["187,102"] = [34619] let s:lib.Codec.decoding_table["187,103"] = [34594] let s:lib.Codec.decoding_table["187,104"] = [34597] let s:lib.Codec.decoding_table["187,105"] = [34612] let s:lib.Codec.decoding_table["187,106"] = [34584] let s:lib.Codec.decoding_table["187,107"] = [34645] let s:lib.Codec.decoding_table["187,108"] = [34615] let s:lib.Codec.decoding_table["187,109"] = [34601] let s:lib.Codec.decoding_table["187,110"] = [35059] let s:lib.Codec.decoding_table["187,111"] = [35074] let s:lib.Codec.decoding_table["187,112"] = [35060] let s:lib.Codec.decoding_table["187,113"] = [35065] let s:lib.Codec.decoding_table["187,114"] = [35064] let s:lib.Codec.decoding_table["187,115"] = [35069] let s:lib.Codec.decoding_table["187,116"] = [35048] let s:lib.Codec.decoding_table["187,117"] = [35098] let s:lib.Codec.decoding_table["187,118"] = [35055] let s:lib.Codec.decoding_table["187,119"] = [35494] let s:lib.Codec.decoding_table["187,120"] = [35468] let s:lib.Codec.decoding_table["187,121"] = [35486] let s:lib.Codec.decoding_table["187,122"] = [35491] let s:lib.Codec.decoding_table["187,123"] = [35469] let s:lib.Codec.decoding_table["187,124"] = [35489] let s:lib.Codec.decoding_table["187,125"] = [35475] let s:lib.Codec.decoding_table["187,126"] = [35492] let s:lib.Codec.decoding_table["187,161"] = [35498] let s:lib.Codec.decoding_table["187,162"] = [35493] let s:lib.Codec.decoding_table["187,163"] = [35496] let s:lib.Codec.decoding_table["187,164"] = [35480] let s:lib.Codec.decoding_table["187,165"] = [35473] let s:lib.Codec.decoding_table["187,166"] = [35482] let s:lib.Codec.decoding_table["187,167"] = [35495] let s:lib.Codec.decoding_table["187,168"] = [35946] let s:lib.Codec.decoding_table["187,169"] = [35981] let s:lib.Codec.decoding_table["187,170"] = [35980] let s:lib.Codec.decoding_table["187,171"] = [36051] let s:lib.Codec.decoding_table["187,172"] = [36049] let s:lib.Codec.decoding_table["187,173"] = [36050] let s:lib.Codec.decoding_table["187,174"] = [36203] let s:lib.Codec.decoding_table["187,175"] = [36249] let s:lib.Codec.decoding_table["187,176"] = [36245] let s:lib.Codec.decoding_table["187,177"] = [36348] let s:lib.Codec.decoding_table["187,178"] = [36628] let s:lib.Codec.decoding_table["187,179"] = [36626] let s:lib.Codec.decoding_table["187,180"] = [36629] let s:lib.Codec.decoding_table["187,181"] = [36627] let s:lib.Codec.decoding_table["187,182"] = [36771] let s:lib.Codec.decoding_table["187,183"] = [36960] let s:lib.Codec.decoding_table["187,184"] = [36952] let s:lib.Codec.decoding_table["187,185"] = [36956] let s:lib.Codec.decoding_table["187,186"] = [36963] let s:lib.Codec.decoding_table["187,187"] = [36953] let s:lib.Codec.decoding_table["187,188"] = [36958] let s:lib.Codec.decoding_table["187,189"] = [36962] let s:lib.Codec.decoding_table["187,190"] = [36957] let s:lib.Codec.decoding_table["187,191"] = [36955] let s:lib.Codec.decoding_table["187,192"] = [37145] let s:lib.Codec.decoding_table["187,193"] = [37144] let s:lib.Codec.decoding_table["187,194"] = [37150] let s:lib.Codec.decoding_table["187,195"] = [37237] let s:lib.Codec.decoding_table["187,196"] = [37240] let s:lib.Codec.decoding_table["187,197"] = [37239] let s:lib.Codec.decoding_table["187,198"] = [37236] let s:lib.Codec.decoding_table["187,199"] = [37496] let s:lib.Codec.decoding_table["187,200"] = [37504] let s:lib.Codec.decoding_table["187,201"] = [37509] let s:lib.Codec.decoding_table["187,202"] = [37528] let s:lib.Codec.decoding_table["187,203"] = [37526] let s:lib.Codec.decoding_table["187,204"] = [37499] let s:lib.Codec.decoding_table["187,205"] = [37523] let s:lib.Codec.decoding_table["187,206"] = [37532] let s:lib.Codec.decoding_table["187,207"] = [37544] let s:lib.Codec.decoding_table["187,208"] = [37500] let s:lib.Codec.decoding_table["187,209"] = [37521] let s:lib.Codec.decoding_table["187,210"] = [38305] let s:lib.Codec.decoding_table["187,211"] = [38312] let s:lib.Codec.decoding_table["187,212"] = [38313] let s:lib.Codec.decoding_table["187,213"] = [38307] let s:lib.Codec.decoding_table["187,214"] = [38309] let s:lib.Codec.decoding_table["187,215"] = [38308] let s:lib.Codec.decoding_table["187,216"] = [38553] let s:lib.Codec.decoding_table["187,217"] = [38556] let s:lib.Codec.decoding_table["187,218"] = [38555] let s:lib.Codec.decoding_table["187,219"] = [38604] let s:lib.Codec.decoding_table["187,220"] = [38610] let s:lib.Codec.decoding_table["187,221"] = [38656] let s:lib.Codec.decoding_table["187,222"] = [38780] let s:lib.Codec.decoding_table["187,223"] = [38789] let s:lib.Codec.decoding_table["187,224"] = [38902] let s:lib.Codec.decoding_table["187,225"] = [38935] let s:lib.Codec.decoding_table["187,226"] = [38936] let s:lib.Codec.decoding_table["187,227"] = [39087] let s:lib.Codec.decoding_table["187,228"] = [39089] let s:lib.Codec.decoding_table["187,229"] = [39171] let s:lib.Codec.decoding_table["187,230"] = [39173] let s:lib.Codec.decoding_table["187,231"] = [39180] let s:lib.Codec.decoding_table["187,232"] = [39177] let s:lib.Codec.decoding_table["187,233"] = [39361] let s:lib.Codec.decoding_table["187,234"] = [39599] let s:lib.Codec.decoding_table["187,235"] = [39600] let s:lib.Codec.decoding_table["187,236"] = [39654] let s:lib.Codec.decoding_table["187,237"] = [39745] let s:lib.Codec.decoding_table["187,238"] = [39746] let s:lib.Codec.decoding_table["187,239"] = [40180] let s:lib.Codec.decoding_table["187,240"] = [40182] let s:lib.Codec.decoding_table["187,241"] = [40179] let s:lib.Codec.decoding_table["187,242"] = [40636] let s:lib.Codec.decoding_table["187,243"] = [40763] let s:lib.Codec.decoding_table["187,244"] = [40778] let s:lib.Codec.decoding_table["187,245"] = [20740] let s:lib.Codec.decoding_table["187,246"] = [20736] let s:lib.Codec.decoding_table["187,247"] = [20731] let s:lib.Codec.decoding_table["187,248"] = [20725] let s:lib.Codec.decoding_table["187,249"] = [20729] let s:lib.Codec.decoding_table["187,250"] = [20738] let s:lib.Codec.decoding_table["187,251"] = [20744] let s:lib.Codec.decoding_table["187,252"] = [20745] let s:lib.Codec.decoding_table["187,253"] = [20741] let s:lib.Codec.decoding_table["187,254"] = [20956] let s:lib.Codec.decoding_table["188,64"] = [21127] let s:lib.Codec.decoding_table["188,65"] = [21128] let s:lib.Codec.decoding_table["188,66"] = [21129] let s:lib.Codec.decoding_table["188,67"] = [21133] let s:lib.Codec.decoding_table["188,68"] = [21130] let s:lib.Codec.decoding_table["188,69"] = [21232] let s:lib.Codec.decoding_table["188,70"] = [21426] let s:lib.Codec.decoding_table["188,71"] = [22062] let s:lib.Codec.decoding_table["188,72"] = [22075] let s:lib.Codec.decoding_table["188,73"] = [22073] let s:lib.Codec.decoding_table["188,74"] = [22066] let s:lib.Codec.decoding_table["188,75"] = [22079] let s:lib.Codec.decoding_table["188,76"] = [22068] let s:lib.Codec.decoding_table["188,77"] = [22057] let s:lib.Codec.decoding_table["188,78"] = [22099] let s:lib.Codec.decoding_table["188,79"] = [22094] let s:lib.Codec.decoding_table["188,80"] = [22103] let s:lib.Codec.decoding_table["188,81"] = [22132] let s:lib.Codec.decoding_table["188,82"] = [22070] let s:lib.Codec.decoding_table["188,83"] = [22063] let s:lib.Codec.decoding_table["188,84"] = [22064] let s:lib.Codec.decoding_table["188,85"] = [22656] let s:lib.Codec.decoding_table["188,86"] = [22687] let s:lib.Codec.decoding_table["188,87"] = [22686] let s:lib.Codec.decoding_table["188,88"] = [22707] let s:lib.Codec.decoding_table["188,89"] = [22684] let s:lib.Codec.decoding_table["188,90"] = [22702] let s:lib.Codec.decoding_table["188,91"] = [22697] let s:lib.Codec.decoding_table["188,92"] = [22694] let s:lib.Codec.decoding_table["188,93"] = [22893] let s:lib.Codec.decoding_table["188,94"] = [23305] let s:lib.Codec.decoding_table["188,95"] = [23291] let s:lib.Codec.decoding_table["188,96"] = [23307] let s:lib.Codec.decoding_table["188,97"] = [23285] let s:lib.Codec.decoding_table["188,98"] = [23308] let s:lib.Codec.decoding_table["188,99"] = [23304] let s:lib.Codec.decoding_table["188,100"] = [23534] let s:lib.Codec.decoding_table["188,101"] = [23532] let s:lib.Codec.decoding_table["188,102"] = [23529] let s:lib.Codec.decoding_table["188,103"] = [23531] let s:lib.Codec.decoding_table["188,104"] = [23652] let s:lib.Codec.decoding_table["188,105"] = [23653] let s:lib.Codec.decoding_table["188,106"] = [23965] let s:lib.Codec.decoding_table["188,107"] = [23956] let s:lib.Codec.decoding_table["188,108"] = [24162] let s:lib.Codec.decoding_table["188,109"] = [24159] let s:lib.Codec.decoding_table["188,110"] = [24161] let s:lib.Codec.decoding_table["188,111"] = [24290] let s:lib.Codec.decoding_table["188,112"] = [24282] let s:lib.Codec.decoding_table["188,113"] = [24287] let s:lib.Codec.decoding_table["188,114"] = [24285] let s:lib.Codec.decoding_table["188,115"] = [24291] let s:lib.Codec.decoding_table["188,116"] = [24288] let s:lib.Codec.decoding_table["188,117"] = [24392] let s:lib.Codec.decoding_table["188,118"] = [24433] let s:lib.Codec.decoding_table["188,119"] = [24503] let s:lib.Codec.decoding_table["188,120"] = [24501] let s:lib.Codec.decoding_table["188,121"] = [24950] let s:lib.Codec.decoding_table["188,122"] = [24935] let s:lib.Codec.decoding_table["188,123"] = [24942] let s:lib.Codec.decoding_table["188,124"] = [24925] let s:lib.Codec.decoding_table["188,125"] = [24917] let s:lib.Codec.decoding_table["188,126"] = [24962] let s:lib.Codec.decoding_table["188,161"] = [24956] let s:lib.Codec.decoding_table["188,162"] = [24944] let s:lib.Codec.decoding_table["188,163"] = [24939] let s:lib.Codec.decoding_table["188,164"] = [24958] let s:lib.Codec.decoding_table["188,165"] = [24999] let s:lib.Codec.decoding_table["188,166"] = [24976] let s:lib.Codec.decoding_table["188,167"] = [25003] let s:lib.Codec.decoding_table["188,168"] = [24974] let s:lib.Codec.decoding_table["188,169"] = [25004] let s:lib.Codec.decoding_table["188,170"] = [24986] let s:lib.Codec.decoding_table["188,171"] = [24996] let s:lib.Codec.decoding_table["188,172"] = [24980] let s:lib.Codec.decoding_table["188,173"] = [25006] let s:lib.Codec.decoding_table["188,174"] = [25134] let s:lib.Codec.decoding_table["188,175"] = [25705] let s:lib.Codec.decoding_table["188,176"] = [25711] let s:lib.Codec.decoding_table["188,177"] = [25721] let s:lib.Codec.decoding_table["188,178"] = [25758] let s:lib.Codec.decoding_table["188,179"] = [25778] let s:lib.Codec.decoding_table["188,180"] = [25736] let s:lib.Codec.decoding_table["188,181"] = [25744] let s:lib.Codec.decoding_table["188,182"] = [25776] let s:lib.Codec.decoding_table["188,183"] = [25765] let s:lib.Codec.decoding_table["188,184"] = [25747] let s:lib.Codec.decoding_table["188,185"] = [25749] let s:lib.Codec.decoding_table["188,186"] = [25769] let s:lib.Codec.decoding_table["188,187"] = [25746] let s:lib.Codec.decoding_table["188,188"] = [25774] let s:lib.Codec.decoding_table["188,189"] = [25773] let s:lib.Codec.decoding_table["188,190"] = [25771] let s:lib.Codec.decoding_table["188,191"] = [25754] let s:lib.Codec.decoding_table["188,192"] = [25772] let s:lib.Codec.decoding_table["188,193"] = [25753] let s:lib.Codec.decoding_table["188,194"] = [25762] let s:lib.Codec.decoding_table["188,195"] = [25779] let s:lib.Codec.decoding_table["188,196"] = [25973] let s:lib.Codec.decoding_table["188,197"] = [25975] let s:lib.Codec.decoding_table["188,198"] = [25976] let s:lib.Codec.decoding_table["188,199"] = [26286] let s:lib.Codec.decoding_table["188,200"] = [26283] let s:lib.Codec.decoding_table["188,201"] = [26292] let s:lib.Codec.decoding_table["188,202"] = [26289] let s:lib.Codec.decoding_table["188,203"] = [27171] let s:lib.Codec.decoding_table["188,204"] = [27167] let s:lib.Codec.decoding_table["188,205"] = [27112] let s:lib.Codec.decoding_table["188,206"] = [27137] let s:lib.Codec.decoding_table["188,207"] = [27166] let s:lib.Codec.decoding_table["188,208"] = [27161] let s:lib.Codec.decoding_table["188,209"] = [27133] let s:lib.Codec.decoding_table["188,210"] = [27169] let s:lib.Codec.decoding_table["188,211"] = [27155] let s:lib.Codec.decoding_table["188,212"] = [27146] let s:lib.Codec.decoding_table["188,213"] = [27123] let s:lib.Codec.decoding_table["188,214"] = [27138] let s:lib.Codec.decoding_table["188,215"] = [27141] let s:lib.Codec.decoding_table["188,216"] = [27117] let s:lib.Codec.decoding_table["188,217"] = [27153] let s:lib.Codec.decoding_table["188,218"] = [27472] let s:lib.Codec.decoding_table["188,219"] = [27470] let s:lib.Codec.decoding_table["188,220"] = [27556] let s:lib.Codec.decoding_table["188,221"] = [27589] let s:lib.Codec.decoding_table["188,222"] = [27590] let s:lib.Codec.decoding_table["188,223"] = [28479] let s:lib.Codec.decoding_table["188,224"] = [28540] let s:lib.Codec.decoding_table["188,225"] = [28548] let s:lib.Codec.decoding_table["188,226"] = [28497] let s:lib.Codec.decoding_table["188,227"] = [28518] let s:lib.Codec.decoding_table["188,228"] = [28500] let s:lib.Codec.decoding_table["188,229"] = [28550] let s:lib.Codec.decoding_table["188,230"] = [28525] let s:lib.Codec.decoding_table["188,231"] = [28507] let s:lib.Codec.decoding_table["188,232"] = [28536] let s:lib.Codec.decoding_table["188,233"] = [28526] let s:lib.Codec.decoding_table["188,234"] = [28558] let s:lib.Codec.decoding_table["188,235"] = [28538] let s:lib.Codec.decoding_table["188,236"] = [28528] let s:lib.Codec.decoding_table["188,237"] = [28516] let s:lib.Codec.decoding_table["188,238"] = [28567] let s:lib.Codec.decoding_table["188,239"] = [28504] let s:lib.Codec.decoding_table["188,240"] = [28373] let s:lib.Codec.decoding_table["188,241"] = [28527] let s:lib.Codec.decoding_table["188,242"] = [28512] let s:lib.Codec.decoding_table["188,243"] = [28511] let s:lib.Codec.decoding_table["188,244"] = [29087] let s:lib.Codec.decoding_table["188,245"] = [29100] let s:lib.Codec.decoding_table["188,246"] = [29105] let s:lib.Codec.decoding_table["188,247"] = [29096] let s:lib.Codec.decoding_table["188,248"] = [29270] let s:lib.Codec.decoding_table["188,249"] = [29339] let s:lib.Codec.decoding_table["188,250"] = [29518] let s:lib.Codec.decoding_table["188,251"] = [29527] let s:lib.Codec.decoding_table["188,252"] = [29801] let s:lib.Codec.decoding_table["188,253"] = [29835] let s:lib.Codec.decoding_table["188,254"] = [29827] let s:lib.Codec.decoding_table["189,64"] = [29822] let s:lib.Codec.decoding_table["189,65"] = [29824] let s:lib.Codec.decoding_table["189,66"] = [30079] let s:lib.Codec.decoding_table["189,67"] = [30240] let s:lib.Codec.decoding_table["189,68"] = [30249] let s:lib.Codec.decoding_table["189,69"] = [30239] let s:lib.Codec.decoding_table["189,70"] = [30244] let s:lib.Codec.decoding_table["189,71"] = [30246] let s:lib.Codec.decoding_table["189,72"] = [30241] let s:lib.Codec.decoding_table["189,73"] = [30242] let s:lib.Codec.decoding_table["189,74"] = [30362] let s:lib.Codec.decoding_table["189,75"] = [30394] let s:lib.Codec.decoding_table["189,76"] = [30436] let s:lib.Codec.decoding_table["189,77"] = [30606] let s:lib.Codec.decoding_table["189,78"] = [30599] let s:lib.Codec.decoding_table["189,79"] = [30604] let s:lib.Codec.decoding_table["189,80"] = [30609] let s:lib.Codec.decoding_table["189,81"] = [30603] let s:lib.Codec.decoding_table["189,82"] = [30923] let s:lib.Codec.decoding_table["189,83"] = [30917] let s:lib.Codec.decoding_table["189,84"] = [30906] let s:lib.Codec.decoding_table["189,85"] = [30922] let s:lib.Codec.decoding_table["189,86"] = [30910] let s:lib.Codec.decoding_table["189,87"] = [30933] let s:lib.Codec.decoding_table["189,88"] = [30908] let s:lib.Codec.decoding_table["189,89"] = [30928] let s:lib.Codec.decoding_table["189,90"] = [31295] let s:lib.Codec.decoding_table["189,91"] = [31292] let s:lib.Codec.decoding_table["189,92"] = [31296] let s:lib.Codec.decoding_table["189,93"] = [31293] let s:lib.Codec.decoding_table["189,94"] = [31287] let s:lib.Codec.decoding_table["189,95"] = [31291] let s:lib.Codec.decoding_table["189,96"] = [31407] let s:lib.Codec.decoding_table["189,97"] = [31406] let s:lib.Codec.decoding_table["189,98"] = [31661] let s:lib.Codec.decoding_table["189,99"] = [31665] let s:lib.Codec.decoding_table["189,100"] = [31684] let s:lib.Codec.decoding_table["189,101"] = [31668] let s:lib.Codec.decoding_table["189,102"] = [31686] let s:lib.Codec.decoding_table["189,103"] = [31687] let s:lib.Codec.decoding_table["189,104"] = [31681] let s:lib.Codec.decoding_table["189,105"] = [31648] let s:lib.Codec.decoding_table["189,106"] = [31692] let s:lib.Codec.decoding_table["189,107"] = [31946] let s:lib.Codec.decoding_table["189,108"] = [32224] let s:lib.Codec.decoding_table["189,109"] = [32244] let s:lib.Codec.decoding_table["189,110"] = [32239] let s:lib.Codec.decoding_table["189,111"] = [32251] let s:lib.Codec.decoding_table["189,112"] = [32216] let s:lib.Codec.decoding_table["189,113"] = [32236] let s:lib.Codec.decoding_table["189,114"] = [32221] let s:lib.Codec.decoding_table["189,115"] = [32232] let s:lib.Codec.decoding_table["189,116"] = [32227] let s:lib.Codec.decoding_table["189,117"] = [32218] let s:lib.Codec.decoding_table["189,118"] = [32222] let s:lib.Codec.decoding_table["189,119"] = [32233] let s:lib.Codec.decoding_table["189,120"] = [32158] let s:lib.Codec.decoding_table["189,121"] = [32217] let s:lib.Codec.decoding_table["189,122"] = [32242] let s:lib.Codec.decoding_table["189,123"] = [32249] let s:lib.Codec.decoding_table["189,124"] = [32629] let s:lib.Codec.decoding_table["189,125"] = [32631] let s:lib.Codec.decoding_table["189,126"] = [32687] let s:lib.Codec.decoding_table["189,161"] = [32745] let s:lib.Codec.decoding_table["189,162"] = [32806] let s:lib.Codec.decoding_table["189,163"] = [33179] let s:lib.Codec.decoding_table["189,164"] = [33180] let s:lib.Codec.decoding_table["189,165"] = [33181] let s:lib.Codec.decoding_table["189,166"] = [33184] let s:lib.Codec.decoding_table["189,167"] = [33178] let s:lib.Codec.decoding_table["189,168"] = [33176] let s:lib.Codec.decoding_table["189,169"] = [34071] let s:lib.Codec.decoding_table["189,170"] = [34109] let s:lib.Codec.decoding_table["189,171"] = [34074] let s:lib.Codec.decoding_table["189,172"] = [34030] let s:lib.Codec.decoding_table["189,173"] = [34092] let s:lib.Codec.decoding_table["189,174"] = [34093] let s:lib.Codec.decoding_table["189,175"] = [34067] let s:lib.Codec.decoding_table["189,176"] = [34065] let s:lib.Codec.decoding_table["189,177"] = [34083] let s:lib.Codec.decoding_table["189,178"] = [34081] let s:lib.Codec.decoding_table["189,179"] = [34068] let s:lib.Codec.decoding_table["189,180"] = [34028] let s:lib.Codec.decoding_table["189,181"] = [34085] let s:lib.Codec.decoding_table["189,182"] = [34047] let s:lib.Codec.decoding_table["189,183"] = [34054] let s:lib.Codec.decoding_table["189,184"] = [34690] let s:lib.Codec.decoding_table["189,185"] = [34676] let s:lib.Codec.decoding_table["189,186"] = [34678] let s:lib.Codec.decoding_table["189,187"] = [34656] let s:lib.Codec.decoding_table["189,188"] = [34662] let s:lib.Codec.decoding_table["189,189"] = [34680] let s:lib.Codec.decoding_table["189,190"] = [34664] let s:lib.Codec.decoding_table["189,191"] = [34649] let s:lib.Codec.decoding_table["189,192"] = [34647] let s:lib.Codec.decoding_table["189,193"] = [34636] let s:lib.Codec.decoding_table["189,194"] = [34643] let s:lib.Codec.decoding_table["189,195"] = [34907] let s:lib.Codec.decoding_table["189,196"] = [34909] let s:lib.Codec.decoding_table["189,197"] = [35088] let s:lib.Codec.decoding_table["189,198"] = [35079] let s:lib.Codec.decoding_table["189,199"] = [35090] let s:lib.Codec.decoding_table["189,200"] = [35091] let s:lib.Codec.decoding_table["189,201"] = [35093] let s:lib.Codec.decoding_table["189,202"] = [35082] let s:lib.Codec.decoding_table["189,203"] = [35516] let s:lib.Codec.decoding_table["189,204"] = [35538] let s:lib.Codec.decoding_table["189,205"] = [35527] let s:lib.Codec.decoding_table["189,206"] = [35524] let s:lib.Codec.decoding_table["189,207"] = [35477] let s:lib.Codec.decoding_table["189,208"] = [35531] let s:lib.Codec.decoding_table["189,209"] = [35576] let s:lib.Codec.decoding_table["189,210"] = [35506] let s:lib.Codec.decoding_table["189,211"] = [35529] let s:lib.Codec.decoding_table["189,212"] = [35522] let s:lib.Codec.decoding_table["189,213"] = [35519] let s:lib.Codec.decoding_table["189,214"] = [35504] let s:lib.Codec.decoding_table["189,215"] = [35542] let s:lib.Codec.decoding_table["189,216"] = [35533] let s:lib.Codec.decoding_table["189,217"] = [35510] let s:lib.Codec.decoding_table["189,218"] = [35513] let s:lib.Codec.decoding_table["189,219"] = [35547] let s:lib.Codec.decoding_table["189,220"] = [35916] let s:lib.Codec.decoding_table["189,221"] = [35918] let s:lib.Codec.decoding_table["189,222"] = [35948] let s:lib.Codec.decoding_table["189,223"] = [36064] let s:lib.Codec.decoding_table["189,224"] = [36062] let s:lib.Codec.decoding_table["189,225"] = [36070] let s:lib.Codec.decoding_table["189,226"] = [36068] let s:lib.Codec.decoding_table["189,227"] = [36076] let s:lib.Codec.decoding_table["189,228"] = [36077] let s:lib.Codec.decoding_table["189,229"] = [36066] let s:lib.Codec.decoding_table["189,230"] = [36067] let s:lib.Codec.decoding_table["189,231"] = [36060] let s:lib.Codec.decoding_table["189,232"] = [36074] let s:lib.Codec.decoding_table["189,233"] = [36065] let s:lib.Codec.decoding_table["189,234"] = [36205] let s:lib.Codec.decoding_table["189,235"] = [36255] let s:lib.Codec.decoding_table["189,236"] = [36259] let s:lib.Codec.decoding_table["189,237"] = [36395] let s:lib.Codec.decoding_table["189,238"] = [36368] let s:lib.Codec.decoding_table["189,239"] = [36381] let s:lib.Codec.decoding_table["189,240"] = [36386] let s:lib.Codec.decoding_table["189,241"] = [36367] let s:lib.Codec.decoding_table["189,242"] = [36393] let s:lib.Codec.decoding_table["189,243"] = [36383] let s:lib.Codec.decoding_table["189,244"] = [36385] let s:lib.Codec.decoding_table["189,245"] = [36382] let s:lib.Codec.decoding_table["189,246"] = [36538] let s:lib.Codec.decoding_table["189,247"] = [36637] let s:lib.Codec.decoding_table["189,248"] = [36635] let s:lib.Codec.decoding_table["189,249"] = [36639] let s:lib.Codec.decoding_table["189,250"] = [36649] let s:lib.Codec.decoding_table["189,251"] = [36646] let s:lib.Codec.decoding_table["189,252"] = [36650] let s:lib.Codec.decoding_table["189,253"] = [36636] let s:lib.Codec.decoding_table["189,254"] = [36638] let s:lib.Codec.decoding_table["190,64"] = [36645] let s:lib.Codec.decoding_table["190,65"] = [36969] let s:lib.Codec.decoding_table["190,66"] = [36974] let s:lib.Codec.decoding_table["190,67"] = [36968] let s:lib.Codec.decoding_table["190,68"] = [36973] let s:lib.Codec.decoding_table["190,69"] = [36983] let s:lib.Codec.decoding_table["190,70"] = [37168] let s:lib.Codec.decoding_table["190,71"] = [37165] let s:lib.Codec.decoding_table["190,72"] = [37159] let s:lib.Codec.decoding_table["190,73"] = [37169] let s:lib.Codec.decoding_table["190,74"] = [37255] let s:lib.Codec.decoding_table["190,75"] = [37257] let s:lib.Codec.decoding_table["190,76"] = [37259] let s:lib.Codec.decoding_table["190,77"] = [37251] let s:lib.Codec.decoding_table["190,78"] = [37573] let s:lib.Codec.decoding_table["190,79"] = [37563] let s:lib.Codec.decoding_table["190,80"] = [37559] let s:lib.Codec.decoding_table["190,81"] = [37610] let s:lib.Codec.decoding_table["190,82"] = [37548] let s:lib.Codec.decoding_table["190,83"] = [37604] let s:lib.Codec.decoding_table["190,84"] = [37569] let s:lib.Codec.decoding_table["190,85"] = [37555] let s:lib.Codec.decoding_table["190,86"] = [37564] let s:lib.Codec.decoding_table["190,87"] = [37586] let s:lib.Codec.decoding_table["190,88"] = [37575] let s:lib.Codec.decoding_table["190,89"] = [37616] let s:lib.Codec.decoding_table["190,90"] = [37554] let s:lib.Codec.decoding_table["190,91"] = [38317] let s:lib.Codec.decoding_table["190,92"] = [38321] let s:lib.Codec.decoding_table["190,93"] = [38660] let s:lib.Codec.decoding_table["190,94"] = [38662] let s:lib.Codec.decoding_table["190,95"] = [38663] let s:lib.Codec.decoding_table["190,96"] = [38665] let s:lib.Codec.decoding_table["190,97"] = [38752] let s:lib.Codec.decoding_table["190,98"] = [38797] let s:lib.Codec.decoding_table["190,99"] = [38795] let s:lib.Codec.decoding_table["190,100"] = [38799] let s:lib.Codec.decoding_table["190,101"] = [38945] let s:lib.Codec.decoding_table["190,102"] = [38955] let s:lib.Codec.decoding_table["190,103"] = [38940] let s:lib.Codec.decoding_table["190,104"] = [39091] let s:lib.Codec.decoding_table["190,105"] = [39178] let s:lib.Codec.decoding_table["190,106"] = [39187] let s:lib.Codec.decoding_table["190,107"] = [39186] let s:lib.Codec.decoding_table["190,108"] = [39192] let s:lib.Codec.decoding_table["190,109"] = [39389] let s:lib.Codec.decoding_table["190,110"] = [39376] let s:lib.Codec.decoding_table["190,111"] = [39391] let s:lib.Codec.decoding_table["190,112"] = [39387] let s:lib.Codec.decoding_table["190,113"] = [39377] let s:lib.Codec.decoding_table["190,114"] = [39381] let s:lib.Codec.decoding_table["190,115"] = [39378] let s:lib.Codec.decoding_table["190,116"] = [39385] let s:lib.Codec.decoding_table["190,117"] = [39607] let s:lib.Codec.decoding_table["190,118"] = [39662] let s:lib.Codec.decoding_table["190,119"] = [39663] let s:lib.Codec.decoding_table["190,120"] = [39719] let s:lib.Codec.decoding_table["190,121"] = [39749] let s:lib.Codec.decoding_table["190,122"] = [39748] let s:lib.Codec.decoding_table["190,123"] = [39799] let s:lib.Codec.decoding_table["190,124"] = [39791] let s:lib.Codec.decoding_table["190,125"] = [40198] let s:lib.Codec.decoding_table["190,126"] = [40201] let s:lib.Codec.decoding_table["190,161"] = [40195] let s:lib.Codec.decoding_table["190,162"] = [40617] let s:lib.Codec.decoding_table["190,163"] = [40638] let s:lib.Codec.decoding_table["190,164"] = [40654] let s:lib.Codec.decoding_table["190,165"] = [22696] let s:lib.Codec.decoding_table["190,166"] = [40786] let s:lib.Codec.decoding_table["190,167"] = [20754] let s:lib.Codec.decoding_table["190,168"] = [20760] let s:lib.Codec.decoding_table["190,169"] = [20756] let s:lib.Codec.decoding_table["190,170"] = [20752] let s:lib.Codec.decoding_table["190,171"] = [20757] let s:lib.Codec.decoding_table["190,172"] = [20864] let s:lib.Codec.decoding_table["190,173"] = [20906] let s:lib.Codec.decoding_table["190,174"] = [20957] let s:lib.Codec.decoding_table["190,175"] = [21137] let s:lib.Codec.decoding_table["190,176"] = [21139] let s:lib.Codec.decoding_table["190,177"] = [21235] let s:lib.Codec.decoding_table["190,178"] = [22105] let s:lib.Codec.decoding_table["190,179"] = [22123] let s:lib.Codec.decoding_table["190,180"] = [22137] let s:lib.Codec.decoding_table["190,181"] = [22121] let s:lib.Codec.decoding_table["190,182"] = [22116] let s:lib.Codec.decoding_table["190,183"] = [22136] let s:lib.Codec.decoding_table["190,184"] = [22122] let s:lib.Codec.decoding_table["190,185"] = [22120] let s:lib.Codec.decoding_table["190,186"] = [22117] let s:lib.Codec.decoding_table["190,187"] = [22129] let s:lib.Codec.decoding_table["190,188"] = [22127] let s:lib.Codec.decoding_table["190,189"] = [22124] let s:lib.Codec.decoding_table["190,190"] = [22114] let s:lib.Codec.decoding_table["190,191"] = [22134] let s:lib.Codec.decoding_table["190,192"] = [22721] let s:lib.Codec.decoding_table["190,193"] = [22718] let s:lib.Codec.decoding_table["190,194"] = [22727] let s:lib.Codec.decoding_table["190,195"] = [22725] let s:lib.Codec.decoding_table["190,196"] = [22894] let s:lib.Codec.decoding_table["190,197"] = [23325] let s:lib.Codec.decoding_table["190,198"] = [23348] let s:lib.Codec.decoding_table["190,199"] = [23416] let s:lib.Codec.decoding_table["190,200"] = [23536] let s:lib.Codec.decoding_table["190,201"] = [23566] let s:lib.Codec.decoding_table["190,202"] = [24394] let s:lib.Codec.decoding_table["190,203"] = [25010] let s:lib.Codec.decoding_table["190,204"] = [24977] let s:lib.Codec.decoding_table["190,205"] = [25001] let s:lib.Codec.decoding_table["190,206"] = [24970] let s:lib.Codec.decoding_table["190,207"] = [25037] let s:lib.Codec.decoding_table["190,208"] = [25014] let s:lib.Codec.decoding_table["190,209"] = [25022] let s:lib.Codec.decoding_table["190,210"] = [25034] let s:lib.Codec.decoding_table["190,211"] = [25032] let s:lib.Codec.decoding_table["190,212"] = [25136] let s:lib.Codec.decoding_table["190,213"] = [25797] let s:lib.Codec.decoding_table["190,214"] = [25793] let s:lib.Codec.decoding_table["190,215"] = [25803] let s:lib.Codec.decoding_table["190,216"] = [25787] let s:lib.Codec.decoding_table["190,217"] = [25788] let s:lib.Codec.decoding_table["190,218"] = [25818] let s:lib.Codec.decoding_table["190,219"] = [25796] let s:lib.Codec.decoding_table["190,220"] = [25799] let s:lib.Codec.decoding_table["190,221"] = [25794] let s:lib.Codec.decoding_table["190,222"] = [25805] let s:lib.Codec.decoding_table["190,223"] = [25791] let s:lib.Codec.decoding_table["190,224"] = [25810] let s:lib.Codec.decoding_table["190,225"] = [25812] let s:lib.Codec.decoding_table["190,226"] = [25790] let s:lib.Codec.decoding_table["190,227"] = [25972] let s:lib.Codec.decoding_table["190,228"] = [26310] let s:lib.Codec.decoding_table["190,229"] = [26313] let s:lib.Codec.decoding_table["190,230"] = [26297] let s:lib.Codec.decoding_table["190,231"] = [26308] let s:lib.Codec.decoding_table["190,232"] = [26311] let s:lib.Codec.decoding_table["190,233"] = [26296] let s:lib.Codec.decoding_table["190,234"] = [27197] let s:lib.Codec.decoding_table["190,235"] = [27192] let s:lib.Codec.decoding_table["190,236"] = [27194] let s:lib.Codec.decoding_table["190,237"] = [27225] let s:lib.Codec.decoding_table["190,238"] = [27243] let s:lib.Codec.decoding_table["190,239"] = [27224] let s:lib.Codec.decoding_table["190,240"] = [27193] let s:lib.Codec.decoding_table["190,241"] = [27204] let s:lib.Codec.decoding_table["190,242"] = [27234] let s:lib.Codec.decoding_table["190,243"] = [27233] let s:lib.Codec.decoding_table["190,244"] = [27211] let s:lib.Codec.decoding_table["190,245"] = [27207] let s:lib.Codec.decoding_table["190,246"] = [27189] let s:lib.Codec.decoding_table["190,247"] = [27231] let s:lib.Codec.decoding_table["190,248"] = [27208] let s:lib.Codec.decoding_table["190,249"] = [27481] let s:lib.Codec.decoding_table["190,250"] = [27511] let s:lib.Codec.decoding_table["190,251"] = [27653] let s:lib.Codec.decoding_table["190,252"] = [28610] let s:lib.Codec.decoding_table["190,253"] = [28593] let s:lib.Codec.decoding_table["190,254"] = [28577] let s:lib.Codec.decoding_table["191,64"] = [28611] let s:lib.Codec.decoding_table["191,65"] = [28580] let s:lib.Codec.decoding_table["191,66"] = [28609] let s:lib.Codec.decoding_table["191,67"] = [28583] let s:lib.Codec.decoding_table["191,68"] = [28595] let s:lib.Codec.decoding_table["191,69"] = [28608] let s:lib.Codec.decoding_table["191,70"] = [28601] let s:lib.Codec.decoding_table["191,71"] = [28598] let s:lib.Codec.decoding_table["191,72"] = [28582] let s:lib.Codec.decoding_table["191,73"] = [28576] let s:lib.Codec.decoding_table["191,74"] = [28596] let s:lib.Codec.decoding_table["191,75"] = [29118] let s:lib.Codec.decoding_table["191,76"] = [29129] let s:lib.Codec.decoding_table["191,77"] = [29136] let s:lib.Codec.decoding_table["191,78"] = [29138] let s:lib.Codec.decoding_table["191,79"] = [29128] let s:lib.Codec.decoding_table["191,80"] = [29141] let s:lib.Codec.decoding_table["191,81"] = [29113] let s:lib.Codec.decoding_table["191,82"] = [29134] let s:lib.Codec.decoding_table["191,83"] = [29145] let s:lib.Codec.decoding_table["191,84"] = [29148] let s:lib.Codec.decoding_table["191,85"] = [29123] let s:lib.Codec.decoding_table["191,86"] = [29124] let s:lib.Codec.decoding_table["191,87"] = [29544] let s:lib.Codec.decoding_table["191,88"] = [29852] let s:lib.Codec.decoding_table["191,89"] = [29859] let s:lib.Codec.decoding_table["191,90"] = [29848] let s:lib.Codec.decoding_table["191,91"] = [29855] let s:lib.Codec.decoding_table["191,92"] = [29854] let s:lib.Codec.decoding_table["191,93"] = [29922] let s:lib.Codec.decoding_table["191,94"] = [29964] let s:lib.Codec.decoding_table["191,95"] = [29965] let s:lib.Codec.decoding_table["191,96"] = [30260] let s:lib.Codec.decoding_table["191,97"] = [30264] let s:lib.Codec.decoding_table["191,98"] = [30266] let s:lib.Codec.decoding_table["191,99"] = [30439] let s:lib.Codec.decoding_table["191,100"] = [30437] let s:lib.Codec.decoding_table["191,101"] = [30624] let s:lib.Codec.decoding_table["191,102"] = [30622] let s:lib.Codec.decoding_table["191,103"] = [30623] let s:lib.Codec.decoding_table["191,104"] = [30629] let s:lib.Codec.decoding_table["191,105"] = [30952] let s:lib.Codec.decoding_table["191,106"] = [30938] let s:lib.Codec.decoding_table["191,107"] = [30956] let s:lib.Codec.decoding_table["191,108"] = [30951] let s:lib.Codec.decoding_table["191,109"] = [31142] let s:lib.Codec.decoding_table["191,110"] = [31309] let s:lib.Codec.decoding_table["191,111"] = [31310] let s:lib.Codec.decoding_table["191,112"] = [31302] let s:lib.Codec.decoding_table["191,113"] = [31308] let s:lib.Codec.decoding_table["191,114"] = [31307] let s:lib.Codec.decoding_table["191,115"] = [31418] let s:lib.Codec.decoding_table["191,116"] = [31705] let s:lib.Codec.decoding_table["191,117"] = [31761] let s:lib.Codec.decoding_table["191,118"] = [31689] let s:lib.Codec.decoding_table["191,119"] = [31716] let s:lib.Codec.decoding_table["191,120"] = [31707] let s:lib.Codec.decoding_table["191,121"] = [31713] let s:lib.Codec.decoding_table["191,122"] = [31721] let s:lib.Codec.decoding_table["191,123"] = [31718] let s:lib.Codec.decoding_table["191,124"] = [31957] let s:lib.Codec.decoding_table["191,125"] = [31958] let s:lib.Codec.decoding_table["191,126"] = [32266] let s:lib.Codec.decoding_table["191,161"] = [32273] let s:lib.Codec.decoding_table["191,162"] = [32264] let s:lib.Codec.decoding_table["191,163"] = [32283] let s:lib.Codec.decoding_table["191,164"] = [32291] let s:lib.Codec.decoding_table["191,165"] = [32286] let s:lib.Codec.decoding_table["191,166"] = [32285] let s:lib.Codec.decoding_table["191,167"] = [32265] let s:lib.Codec.decoding_table["191,168"] = [32272] let s:lib.Codec.decoding_table["191,169"] = [32633] let s:lib.Codec.decoding_table["191,170"] = [32690] let s:lib.Codec.decoding_table["191,171"] = [32752] let s:lib.Codec.decoding_table["191,172"] = [32753] let s:lib.Codec.decoding_table["191,173"] = [32750] let s:lib.Codec.decoding_table["191,174"] = [32808] let s:lib.Codec.decoding_table["191,175"] = [33203] let s:lib.Codec.decoding_table["191,176"] = [33193] let s:lib.Codec.decoding_table["191,177"] = [33192] let s:lib.Codec.decoding_table["191,178"] = [33275] let s:lib.Codec.decoding_table["191,179"] = [33288] let s:lib.Codec.decoding_table["191,180"] = [33368] let s:lib.Codec.decoding_table["191,181"] = [33369] let s:lib.Codec.decoding_table["191,182"] = [34122] let s:lib.Codec.decoding_table["191,183"] = [34137] let s:lib.Codec.decoding_table["191,184"] = [34120] let s:lib.Codec.decoding_table["191,185"] = [34152] let s:lib.Codec.decoding_table["191,186"] = [34153] let s:lib.Codec.decoding_table["191,187"] = [34115] let s:lib.Codec.decoding_table["191,188"] = [34121] let s:lib.Codec.decoding_table["191,189"] = [34157] let s:lib.Codec.decoding_table["191,190"] = [34154] let s:lib.Codec.decoding_table["191,191"] = [34142] let s:lib.Codec.decoding_table["191,192"] = [34691] let s:lib.Codec.decoding_table["191,193"] = [34719] let s:lib.Codec.decoding_table["191,194"] = [34718] let s:lib.Codec.decoding_table["191,195"] = [34722] let s:lib.Codec.decoding_table["191,196"] = [34701] let s:lib.Codec.decoding_table["191,197"] = [34913] let s:lib.Codec.decoding_table["191,198"] = [35114] let s:lib.Codec.decoding_table["191,199"] = [35122] let s:lib.Codec.decoding_table["191,200"] = [35109] let s:lib.Codec.decoding_table["191,201"] = [35115] let s:lib.Codec.decoding_table["191,202"] = [35105] let s:lib.Codec.decoding_table["191,203"] = [35242] let s:lib.Codec.decoding_table["191,204"] = [35238] let s:lib.Codec.decoding_table["191,205"] = [35558] let s:lib.Codec.decoding_table["191,206"] = [35578] let s:lib.Codec.decoding_table["191,207"] = [35563] let s:lib.Codec.decoding_table["191,208"] = [35569] let s:lib.Codec.decoding_table["191,209"] = [35584] let s:lib.Codec.decoding_table["191,210"] = [35548] let s:lib.Codec.decoding_table["191,211"] = [35559] let s:lib.Codec.decoding_table["191,212"] = [35566] let s:lib.Codec.decoding_table["191,213"] = [35582] let s:lib.Codec.decoding_table["191,214"] = [35585] let s:lib.Codec.decoding_table["191,215"] = [35586] let s:lib.Codec.decoding_table["191,216"] = [35575] let s:lib.Codec.decoding_table["191,217"] = [35565] let s:lib.Codec.decoding_table["191,218"] = [35571] let s:lib.Codec.decoding_table["191,219"] = [35574] let s:lib.Codec.decoding_table["191,220"] = [35580] let s:lib.Codec.decoding_table["191,221"] = [35947] let s:lib.Codec.decoding_table["191,222"] = [35949] let s:lib.Codec.decoding_table["191,223"] = [35987] let s:lib.Codec.decoding_table["191,224"] = [36084] let s:lib.Codec.decoding_table["191,225"] = [36420] let s:lib.Codec.decoding_table["191,226"] = [36401] let s:lib.Codec.decoding_table["191,227"] = [36404] let s:lib.Codec.decoding_table["191,228"] = [36418] let s:lib.Codec.decoding_table["191,229"] = [36409] let s:lib.Codec.decoding_table["191,230"] = [36405] let s:lib.Codec.decoding_table["191,231"] = [36667] let s:lib.Codec.decoding_table["191,232"] = [36655] let s:lib.Codec.decoding_table["191,233"] = [36664] let s:lib.Codec.decoding_table["191,234"] = [36659] let s:lib.Codec.decoding_table["191,235"] = [36776] let s:lib.Codec.decoding_table["191,236"] = [36774] let s:lib.Codec.decoding_table["191,237"] = [36981] let s:lib.Codec.decoding_table["191,238"] = [36980] let s:lib.Codec.decoding_table["191,239"] = [36984] let s:lib.Codec.decoding_table["191,240"] = [36978] let s:lib.Codec.decoding_table["191,241"] = [36988] let s:lib.Codec.decoding_table["191,242"] = [36986] let s:lib.Codec.decoding_table["191,243"] = [37172] let s:lib.Codec.decoding_table["191,244"] = [37266] let s:lib.Codec.decoding_table["191,245"] = [37664] let s:lib.Codec.decoding_table["191,246"] = [37686] let s:lib.Codec.decoding_table["191,247"] = [37624] let s:lib.Codec.decoding_table["191,248"] = [37683] let s:lib.Codec.decoding_table["191,249"] = [37679] let s:lib.Codec.decoding_table["191,250"] = [37666] let s:lib.Codec.decoding_table["191,251"] = [37628] let s:lib.Codec.decoding_table["191,252"] = [37675] let s:lib.Codec.decoding_table["191,253"] = [37636] let s:lib.Codec.decoding_table["191,254"] = [37658] let s:lib.Codec.decoding_table["192,64"] = [37648] let s:lib.Codec.decoding_table["192,65"] = [37670] let s:lib.Codec.decoding_table["192,66"] = [37665] let s:lib.Codec.decoding_table["192,67"] = [37653] let s:lib.Codec.decoding_table["192,68"] = [37678] let s:lib.Codec.decoding_table["192,69"] = [37657] let s:lib.Codec.decoding_table["192,70"] = [38331] let s:lib.Codec.decoding_table["192,71"] = [38567] let s:lib.Codec.decoding_table["192,72"] = [38568] let s:lib.Codec.decoding_table["192,73"] = [38570] let s:lib.Codec.decoding_table["192,74"] = [38613] let s:lib.Codec.decoding_table["192,75"] = [38670] let s:lib.Codec.decoding_table["192,76"] = [38673] let s:lib.Codec.decoding_table["192,77"] = [38678] let s:lib.Codec.decoding_table["192,78"] = [38669] let s:lib.Codec.decoding_table["192,79"] = [38675] let s:lib.Codec.decoding_table["192,80"] = [38671] let s:lib.Codec.decoding_table["192,81"] = [38747] let s:lib.Codec.decoding_table["192,82"] = [38748] let s:lib.Codec.decoding_table["192,83"] = [38758] let s:lib.Codec.decoding_table["192,84"] = [38808] let s:lib.Codec.decoding_table["192,85"] = [38960] let s:lib.Codec.decoding_table["192,86"] = [38968] let s:lib.Codec.decoding_table["192,87"] = [38971] let s:lib.Codec.decoding_table["192,88"] = [38967] let s:lib.Codec.decoding_table["192,89"] = [38957] let s:lib.Codec.decoding_table["192,90"] = [38969] let s:lib.Codec.decoding_table["192,91"] = [38948] let s:lib.Codec.decoding_table["192,92"] = [39184] let s:lib.Codec.decoding_table["192,93"] = [39208] let s:lib.Codec.decoding_table["192,94"] = [39198] let s:lib.Codec.decoding_table["192,95"] = [39195] let s:lib.Codec.decoding_table["192,96"] = [39201] let s:lib.Codec.decoding_table["192,97"] = [39194] let s:lib.Codec.decoding_table["192,98"] = [39405] let s:lib.Codec.decoding_table["192,99"] = [39394] let s:lib.Codec.decoding_table["192,100"] = [39409] let s:lib.Codec.decoding_table["192,101"] = [39608] let s:lib.Codec.decoding_table["192,102"] = [39612] let s:lib.Codec.decoding_table["192,103"] = [39675] let s:lib.Codec.decoding_table["192,104"] = [39661] let s:lib.Codec.decoding_table["192,105"] = [39720] let s:lib.Codec.decoding_table["192,106"] = [39825] let s:lib.Codec.decoding_table["192,107"] = [40213] let s:lib.Codec.decoding_table["192,108"] = [40227] let s:lib.Codec.decoding_table["192,109"] = [40230] let s:lib.Codec.decoding_table["192,110"] = [40232] let s:lib.Codec.decoding_table["192,111"] = [40210] let s:lib.Codec.decoding_table["192,112"] = [40219] let s:lib.Codec.decoding_table["192,113"] = [40664] let s:lib.Codec.decoding_table["192,114"] = [40660] let s:lib.Codec.decoding_table["192,115"] = [40845] let s:lib.Codec.decoding_table["192,116"] = [40860] let s:lib.Codec.decoding_table["192,117"] = [20778] let s:lib.Codec.decoding_table["192,118"] = [20767] let s:lib.Codec.decoding_table["192,119"] = [20769] let s:lib.Codec.decoding_table["192,120"] = [20786] let s:lib.Codec.decoding_table["192,121"] = [21237] let s:lib.Codec.decoding_table["192,122"] = [22158] let s:lib.Codec.decoding_table["192,123"] = [22144] let s:lib.Codec.decoding_table["192,124"] = [22160] let s:lib.Codec.decoding_table["192,125"] = [22149] let s:lib.Codec.decoding_table["192,126"] = [22151] let s:lib.Codec.decoding_table["192,161"] = [22159] let s:lib.Codec.decoding_table["192,162"] = [22741] let s:lib.Codec.decoding_table["192,163"] = [22739] let s:lib.Codec.decoding_table["192,164"] = [22737] let s:lib.Codec.decoding_table["192,165"] = [22734] let s:lib.Codec.decoding_table["192,166"] = [23344] let s:lib.Codec.decoding_table["192,167"] = [23338] let s:lib.Codec.decoding_table["192,168"] = [23332] let s:lib.Codec.decoding_table["192,169"] = [23418] let s:lib.Codec.decoding_table["192,170"] = [23607] let s:lib.Codec.decoding_table["192,171"] = [23656] let s:lib.Codec.decoding_table["192,172"] = [23996] let s:lib.Codec.decoding_table["192,173"] = [23994] let s:lib.Codec.decoding_table["192,174"] = [23997] let s:lib.Codec.decoding_table["192,175"] = [23992] let s:lib.Codec.decoding_table["192,176"] = [24171] let s:lib.Codec.decoding_table["192,177"] = [24396] let s:lib.Codec.decoding_table["192,178"] = [24509] let s:lib.Codec.decoding_table["192,179"] = [25033] let s:lib.Codec.decoding_table["192,180"] = [25026] let s:lib.Codec.decoding_table["192,181"] = [25031] let s:lib.Codec.decoding_table["192,182"] = [25062] let s:lib.Codec.decoding_table["192,183"] = [25035] let s:lib.Codec.decoding_table["192,184"] = [25138] let s:lib.Codec.decoding_table["192,185"] = [25140] let s:lib.Codec.decoding_table["192,186"] = [25806] let s:lib.Codec.decoding_table["192,187"] = [25802] let s:lib.Codec.decoding_table["192,188"] = [25816] let s:lib.Codec.decoding_table["192,189"] = [25824] let s:lib.Codec.decoding_table["192,190"] = [25840] let s:lib.Codec.decoding_table["192,191"] = [25830] let s:lib.Codec.decoding_table["192,192"] = [25836] let s:lib.Codec.decoding_table["192,193"] = [25841] let s:lib.Codec.decoding_table["192,194"] = [25826] let s:lib.Codec.decoding_table["192,195"] = [25837] let s:lib.Codec.decoding_table["192,196"] = [25986] let s:lib.Codec.decoding_table["192,197"] = [25987] let s:lib.Codec.decoding_table["192,198"] = [26329] let s:lib.Codec.decoding_table["192,199"] = [26326] let s:lib.Codec.decoding_table["192,200"] = [27264] let s:lib.Codec.decoding_table["192,201"] = [27284] let s:lib.Codec.decoding_table["192,202"] = [27268] let s:lib.Codec.decoding_table["192,203"] = [27298] let s:lib.Codec.decoding_table["192,204"] = [27292] let s:lib.Codec.decoding_table["192,205"] = [27355] let s:lib.Codec.decoding_table["192,206"] = [27299] let s:lib.Codec.decoding_table["192,207"] = [27262] let s:lib.Codec.decoding_table["192,208"] = [27287] let s:lib.Codec.decoding_table["192,209"] = [27280] let s:lib.Codec.decoding_table["192,210"] = [27296] let s:lib.Codec.decoding_table["192,211"] = [27484] let s:lib.Codec.decoding_table["192,212"] = [27566] let s:lib.Codec.decoding_table["192,213"] = [27610] let s:lib.Codec.decoding_table["192,214"] = [27656] let s:lib.Codec.decoding_table["192,215"] = [28632] let s:lib.Codec.decoding_table["192,216"] = [28657] let s:lib.Codec.decoding_table["192,217"] = [28639] let s:lib.Codec.decoding_table["192,218"] = [28640] let s:lib.Codec.decoding_table["192,219"] = [28635] let s:lib.Codec.decoding_table["192,220"] = [28644] let s:lib.Codec.decoding_table["192,221"] = [28651] let s:lib.Codec.decoding_table["192,222"] = [28655] let s:lib.Codec.decoding_table["192,223"] = [28544] let s:lib.Codec.decoding_table["192,224"] = [28652] let s:lib.Codec.decoding_table["192,225"] = [28641] let s:lib.Codec.decoding_table["192,226"] = [28649] let s:lib.Codec.decoding_table["192,227"] = [28629] let s:lib.Codec.decoding_table["192,228"] = [28654] let s:lib.Codec.decoding_table["192,229"] = [28656] let s:lib.Codec.decoding_table["192,230"] = [29159] let s:lib.Codec.decoding_table["192,231"] = [29151] let s:lib.Codec.decoding_table["192,232"] = [29166] let s:lib.Codec.decoding_table["192,233"] = [29158] let s:lib.Codec.decoding_table["192,234"] = [29157] let s:lib.Codec.decoding_table["192,235"] = [29165] let s:lib.Codec.decoding_table["192,236"] = [29164] let s:lib.Codec.decoding_table["192,237"] = [29172] let s:lib.Codec.decoding_table["192,238"] = [29152] let s:lib.Codec.decoding_table["192,239"] = [29237] let s:lib.Codec.decoding_table["192,240"] = [29254] let s:lib.Codec.decoding_table["192,241"] = [29552] let s:lib.Codec.decoding_table["192,242"] = [29554] let s:lib.Codec.decoding_table["192,243"] = [29865] let s:lib.Codec.decoding_table["192,244"] = [29872] let s:lib.Codec.decoding_table["192,245"] = [29862] let s:lib.Codec.decoding_table["192,246"] = [29864] let s:lib.Codec.decoding_table["192,247"] = [30278] let s:lib.Codec.decoding_table["192,248"] = [30274] let s:lib.Codec.decoding_table["192,249"] = [30284] let s:lib.Codec.decoding_table["192,250"] = [30442] let s:lib.Codec.decoding_table["192,251"] = [30643] let s:lib.Codec.decoding_table["192,252"] = [30634] let s:lib.Codec.decoding_table["192,253"] = [30640] let s:lib.Codec.decoding_table["192,254"] = [30636] let s:lib.Codec.decoding_table["193,64"] = [30631] let s:lib.Codec.decoding_table["193,65"] = [30637] let s:lib.Codec.decoding_table["193,66"] = [30703] let s:lib.Codec.decoding_table["193,67"] = [30967] let s:lib.Codec.decoding_table["193,68"] = [30970] let s:lib.Codec.decoding_table["193,69"] = [30964] let s:lib.Codec.decoding_table["193,70"] = [30959] let s:lib.Codec.decoding_table["193,71"] = [30977] let s:lib.Codec.decoding_table["193,72"] = [31143] let s:lib.Codec.decoding_table["193,73"] = [31146] let s:lib.Codec.decoding_table["193,74"] = [31319] let s:lib.Codec.decoding_table["193,75"] = [31423] let s:lib.Codec.decoding_table["193,76"] = [31751] let s:lib.Codec.decoding_table["193,77"] = [31757] let s:lib.Codec.decoding_table["193,78"] = [31742] let s:lib.Codec.decoding_table["193,79"] = [31735] let s:lib.Codec.decoding_table["193,80"] = [31756] let s:lib.Codec.decoding_table["193,81"] = [31712] let s:lib.Codec.decoding_table["193,82"] = [31968] let s:lib.Codec.decoding_table["193,83"] = [31964] let s:lib.Codec.decoding_table["193,84"] = [31966] let s:lib.Codec.decoding_table["193,85"] = [31970] let s:lib.Codec.decoding_table["193,86"] = [31967] let s:lib.Codec.decoding_table["193,87"] = [31961] let s:lib.Codec.decoding_table["193,88"] = [31965] let s:lib.Codec.decoding_table["193,89"] = [32302] let s:lib.Codec.decoding_table["193,90"] = [32318] let s:lib.Codec.decoding_table["193,91"] = [32326] let s:lib.Codec.decoding_table["193,92"] = [32311] let s:lib.Codec.decoding_table["193,93"] = [32306] let s:lib.Codec.decoding_table["193,94"] = [32323] let s:lib.Codec.decoding_table["193,95"] = [32299] let s:lib.Codec.decoding_table["193,96"] = [32317] let s:lib.Codec.decoding_table["193,97"] = [32305] let s:lib.Codec.decoding_table["193,98"] = [32325] let s:lib.Codec.decoding_table["193,99"] = [32321] let s:lib.Codec.decoding_table["193,100"] = [32308] let s:lib.Codec.decoding_table["193,101"] = [32313] let s:lib.Codec.decoding_table["193,102"] = [32328] let s:lib.Codec.decoding_table["193,103"] = [32309] let s:lib.Codec.decoding_table["193,104"] = [32319] let s:lib.Codec.decoding_table["193,105"] = [32303] let s:lib.Codec.decoding_table["193,106"] = [32580] let s:lib.Codec.decoding_table["193,107"] = [32755] let s:lib.Codec.decoding_table["193,108"] = [32764] let s:lib.Codec.decoding_table["193,109"] = [32881] let s:lib.Codec.decoding_table["193,110"] = [32882] let s:lib.Codec.decoding_table["193,111"] = [32880] let s:lib.Codec.decoding_table["193,112"] = [32879] let s:lib.Codec.decoding_table["193,113"] = [32883] let s:lib.Codec.decoding_table["193,114"] = [33222] let s:lib.Codec.decoding_table["193,115"] = [33219] let s:lib.Codec.decoding_table["193,116"] = [33210] let s:lib.Codec.decoding_table["193,117"] = [33218] let s:lib.Codec.decoding_table["193,118"] = [33216] let s:lib.Codec.decoding_table["193,119"] = [33215] let s:lib.Codec.decoding_table["193,120"] = [33213] let s:lib.Codec.decoding_table["193,121"] = [33225] let s:lib.Codec.decoding_table["193,122"] = [33214] let s:lib.Codec.decoding_table["193,123"] = [33256] let s:lib.Codec.decoding_table["193,124"] = [33289] let s:lib.Codec.decoding_table["193,125"] = [33393] let s:lib.Codec.decoding_table["193,126"] = [34218] let s:lib.Codec.decoding_table["193,161"] = [34180] let s:lib.Codec.decoding_table["193,162"] = [34174] let s:lib.Codec.decoding_table["193,163"] = [34204] let s:lib.Codec.decoding_table["193,164"] = [34193] let s:lib.Codec.decoding_table["193,165"] = [34196] let s:lib.Codec.decoding_table["193,166"] = [34223] let s:lib.Codec.decoding_table["193,167"] = [34203] let s:lib.Codec.decoding_table["193,168"] = [34183] let s:lib.Codec.decoding_table["193,169"] = [34216] let s:lib.Codec.decoding_table["193,170"] = [34186] let s:lib.Codec.decoding_table["193,171"] = [34407] let s:lib.Codec.decoding_table["193,172"] = [34752] let s:lib.Codec.decoding_table["193,173"] = [34769] let s:lib.Codec.decoding_table["193,174"] = [34739] let s:lib.Codec.decoding_table["193,175"] = [34770] let s:lib.Codec.decoding_table["193,176"] = [34758] let s:lib.Codec.decoding_table["193,177"] = [34731] let s:lib.Codec.decoding_table["193,178"] = [34747] let s:lib.Codec.decoding_table["193,179"] = [34746] let s:lib.Codec.decoding_table["193,180"] = [34760] let s:lib.Codec.decoding_table["193,181"] = [34763] let s:lib.Codec.decoding_table["193,182"] = [35131] let s:lib.Codec.decoding_table["193,183"] = [35126] let s:lib.Codec.decoding_table["193,184"] = [35140] let s:lib.Codec.decoding_table["193,185"] = [35128] let s:lib.Codec.decoding_table["193,186"] = [35133] let s:lib.Codec.decoding_table["193,187"] = [35244] let s:lib.Codec.decoding_table["193,188"] = [35598] let s:lib.Codec.decoding_table["193,189"] = [35607] let s:lib.Codec.decoding_table["193,190"] = [35609] let s:lib.Codec.decoding_table["193,191"] = [35611] let s:lib.Codec.decoding_table["193,192"] = [35594] let s:lib.Codec.decoding_table["193,193"] = [35616] let s:lib.Codec.decoding_table["193,194"] = [35613] let s:lib.Codec.decoding_table["193,195"] = [35588] let s:lib.Codec.decoding_table["193,196"] = [35600] let s:lib.Codec.decoding_table["193,197"] = [35905] let s:lib.Codec.decoding_table["193,198"] = [35903] let s:lib.Codec.decoding_table["193,199"] = [35955] let s:lib.Codec.decoding_table["193,200"] = [36090] let s:lib.Codec.decoding_table["193,201"] = [36093] let s:lib.Codec.decoding_table["193,202"] = [36092] let s:lib.Codec.decoding_table["193,203"] = [36088] let s:lib.Codec.decoding_table["193,204"] = [36091] let s:lib.Codec.decoding_table["193,205"] = [36264] let s:lib.Codec.decoding_table["193,206"] = [36425] let s:lib.Codec.decoding_table["193,207"] = [36427] let s:lib.Codec.decoding_table["193,208"] = [36424] let s:lib.Codec.decoding_table["193,209"] = [36426] let s:lib.Codec.decoding_table["193,210"] = [36676] let s:lib.Codec.decoding_table["193,211"] = [36670] let s:lib.Codec.decoding_table["193,212"] = [36674] let s:lib.Codec.decoding_table["193,213"] = [36677] let s:lib.Codec.decoding_table["193,214"] = [36671] let s:lib.Codec.decoding_table["193,215"] = [36991] let s:lib.Codec.decoding_table["193,216"] = [36989] let s:lib.Codec.decoding_table["193,217"] = [36996] let s:lib.Codec.decoding_table["193,218"] = [36993] let s:lib.Codec.decoding_table["193,219"] = [36994] let s:lib.Codec.decoding_table["193,220"] = [36992] let s:lib.Codec.decoding_table["193,221"] = [37177] let s:lib.Codec.decoding_table["193,222"] = [37283] let s:lib.Codec.decoding_table["193,223"] = [37278] let s:lib.Codec.decoding_table["193,224"] = [37276] let s:lib.Codec.decoding_table["193,225"] = [37709] let s:lib.Codec.decoding_table["193,226"] = [37762] let s:lib.Codec.decoding_table["193,227"] = [37672] let s:lib.Codec.decoding_table["193,228"] = [37749] let s:lib.Codec.decoding_table["193,229"] = [37706] let s:lib.Codec.decoding_table["193,230"] = [37733] let s:lib.Codec.decoding_table["193,231"] = [37707] let s:lib.Codec.decoding_table["193,232"] = [37656] let s:lib.Codec.decoding_table["193,233"] = [37758] let s:lib.Codec.decoding_table["193,234"] = [37740] let s:lib.Codec.decoding_table["193,235"] = [37723] let s:lib.Codec.decoding_table["193,236"] = [37744] let s:lib.Codec.decoding_table["193,237"] = [37722] let s:lib.Codec.decoding_table["193,238"] = [37716] let s:lib.Codec.decoding_table["193,239"] = [38346] let s:lib.Codec.decoding_table["193,240"] = [38347] let s:lib.Codec.decoding_table["193,241"] = [38348] let s:lib.Codec.decoding_table["193,242"] = [38344] let s:lib.Codec.decoding_table["193,243"] = [38342] let s:lib.Codec.decoding_table["193,244"] = [38577] let s:lib.Codec.decoding_table["193,245"] = [38584] let s:lib.Codec.decoding_table["193,246"] = [38614] let s:lib.Codec.decoding_table["193,247"] = [38684] let s:lib.Codec.decoding_table["193,248"] = [38686] let s:lib.Codec.decoding_table["193,249"] = [38816] let s:lib.Codec.decoding_table["193,250"] = [38867] let s:lib.Codec.decoding_table["193,251"] = [38982] let s:lib.Codec.decoding_table["193,252"] = [39094] let s:lib.Codec.decoding_table["193,253"] = [39221] let s:lib.Codec.decoding_table["193,254"] = [39425] let s:lib.Codec.decoding_table["194,64"] = [39423] let s:lib.Codec.decoding_table["194,65"] = [39854] let s:lib.Codec.decoding_table["194,66"] = [39851] let s:lib.Codec.decoding_table["194,67"] = [39850] let s:lib.Codec.decoding_table["194,68"] = [39853] let s:lib.Codec.decoding_table["194,69"] = [40251] let s:lib.Codec.decoding_table["194,70"] = [40255] let s:lib.Codec.decoding_table["194,71"] = [40587] let s:lib.Codec.decoding_table["194,72"] = [40655] let s:lib.Codec.decoding_table["194,73"] = [40670] let s:lib.Codec.decoding_table["194,74"] = [40668] let s:lib.Codec.decoding_table["194,75"] = [40669] let s:lib.Codec.decoding_table["194,76"] = [40667] let s:lib.Codec.decoding_table["194,77"] = [40766] let s:lib.Codec.decoding_table["194,78"] = [40779] let s:lib.Codec.decoding_table["194,79"] = [21474] let s:lib.Codec.decoding_table["194,80"] = [22165] let s:lib.Codec.decoding_table["194,81"] = [22190] let s:lib.Codec.decoding_table["194,82"] = [22745] let s:lib.Codec.decoding_table["194,83"] = [22744] let s:lib.Codec.decoding_table["194,84"] = [23352] let s:lib.Codec.decoding_table["194,85"] = [24413] let s:lib.Codec.decoding_table["194,86"] = [25059] let s:lib.Codec.decoding_table["194,87"] = [25139] let s:lib.Codec.decoding_table["194,88"] = [25844] let s:lib.Codec.decoding_table["194,89"] = [25842] let s:lib.Codec.decoding_table["194,90"] = [25854] let s:lib.Codec.decoding_table["194,91"] = [25862] let s:lib.Codec.decoding_table["194,92"] = [25850] let s:lib.Codec.decoding_table["194,93"] = [25851] let s:lib.Codec.decoding_table["194,94"] = [25847] let s:lib.Codec.decoding_table["194,95"] = [26039] let s:lib.Codec.decoding_table["194,96"] = [26332] let s:lib.Codec.decoding_table["194,97"] = [26406] let s:lib.Codec.decoding_table["194,98"] = [27315] let s:lib.Codec.decoding_table["194,99"] = [27308] let s:lib.Codec.decoding_table["194,100"] = [27331] let s:lib.Codec.decoding_table["194,101"] = [27323] let s:lib.Codec.decoding_table["194,102"] = [27320] let s:lib.Codec.decoding_table["194,103"] = [27330] let s:lib.Codec.decoding_table["194,104"] = [27310] let s:lib.Codec.decoding_table["194,105"] = [27311] let s:lib.Codec.decoding_table["194,106"] = [27487] let s:lib.Codec.decoding_table["194,107"] = [27512] let s:lib.Codec.decoding_table["194,108"] = [27567] let s:lib.Codec.decoding_table["194,109"] = [28681] let s:lib.Codec.decoding_table["194,110"] = [28683] let s:lib.Codec.decoding_table["194,111"] = [28670] let s:lib.Codec.decoding_table["194,112"] = [28678] let s:lib.Codec.decoding_table["194,113"] = [28666] let s:lib.Codec.decoding_table["194,114"] = [28689] let s:lib.Codec.decoding_table["194,115"] = [28687] let s:lib.Codec.decoding_table["194,116"] = [29179] let s:lib.Codec.decoding_table["194,117"] = [29180] let s:lib.Codec.decoding_table["194,118"] = [29182] let s:lib.Codec.decoding_table["194,119"] = [29176] let s:lib.Codec.decoding_table["194,120"] = [29559] let s:lib.Codec.decoding_table["194,121"] = [29557] let s:lib.Codec.decoding_table["194,122"] = [29863] let s:lib.Codec.decoding_table["194,123"] = [29887] let s:lib.Codec.decoding_table["194,124"] = [29973] let s:lib.Codec.decoding_table["194,125"] = [30294] let s:lib.Codec.decoding_table["194,126"] = [30296] let s:lib.Codec.decoding_table["194,161"] = [30290] let s:lib.Codec.decoding_table["194,162"] = [30653] let s:lib.Codec.decoding_table["194,163"] = [30655] let s:lib.Codec.decoding_table["194,164"] = [30651] let s:lib.Codec.decoding_table["194,165"] = [30652] let s:lib.Codec.decoding_table["194,166"] = [30990] let s:lib.Codec.decoding_table["194,167"] = [31150] let s:lib.Codec.decoding_table["194,168"] = [31329] let s:lib.Codec.decoding_table["194,169"] = [31330] let s:lib.Codec.decoding_table["194,170"] = [31328] let s:lib.Codec.decoding_table["194,171"] = [31428] let s:lib.Codec.decoding_table["194,172"] = [31429] let s:lib.Codec.decoding_table["194,173"] = [31787] let s:lib.Codec.decoding_table["194,174"] = [31783] let s:lib.Codec.decoding_table["194,175"] = [31786] let s:lib.Codec.decoding_table["194,176"] = [31774] let s:lib.Codec.decoding_table["194,177"] = [31779] let s:lib.Codec.decoding_table["194,178"] = [31777] let s:lib.Codec.decoding_table["194,179"] = [31975] let s:lib.Codec.decoding_table["194,180"] = [32340] let s:lib.Codec.decoding_table["194,181"] = [32341] let s:lib.Codec.decoding_table["194,182"] = [32350] let s:lib.Codec.decoding_table["194,183"] = [32346] let s:lib.Codec.decoding_table["194,184"] = [32353] let s:lib.Codec.decoding_table["194,185"] = [32338] let s:lib.Codec.decoding_table["194,186"] = [32345] let s:lib.Codec.decoding_table["194,187"] = [32584] let s:lib.Codec.decoding_table["194,188"] = [32761] let s:lib.Codec.decoding_table["194,189"] = [32763] let s:lib.Codec.decoding_table["194,190"] = [32887] let s:lib.Codec.decoding_table["194,191"] = [32886] let s:lib.Codec.decoding_table["194,192"] = [33229] let s:lib.Codec.decoding_table["194,193"] = [33231] let s:lib.Codec.decoding_table["194,194"] = [33290] let s:lib.Codec.decoding_table["194,195"] = [34255] let s:lib.Codec.decoding_table["194,196"] = [34217] let s:lib.Codec.decoding_table["194,197"] = [34253] let s:lib.Codec.decoding_table["194,198"] = [34256] let s:lib.Codec.decoding_table["194,199"] = [34249] let s:lib.Codec.decoding_table["194,200"] = [34224] let s:lib.Codec.decoding_table["194,201"] = [34234] let s:lib.Codec.decoding_table["194,202"] = [34233] let s:lib.Codec.decoding_table["194,203"] = [34214] let s:lib.Codec.decoding_table["194,204"] = [34799] let s:lib.Codec.decoding_table["194,205"] = [34796] let s:lib.Codec.decoding_table["194,206"] = [34802] let s:lib.Codec.decoding_table["194,207"] = [34784] let s:lib.Codec.decoding_table["194,208"] = [35206] let s:lib.Codec.decoding_table["194,209"] = [35250] let s:lib.Codec.decoding_table["194,210"] = [35316] let s:lib.Codec.decoding_table["194,211"] = [35624] let s:lib.Codec.decoding_table["194,212"] = [35641] let s:lib.Codec.decoding_table["194,213"] = [35628] let s:lib.Codec.decoding_table["194,214"] = [35627] let s:lib.Codec.decoding_table["194,215"] = [35920] let s:lib.Codec.decoding_table["194,216"] = [36101] let s:lib.Codec.decoding_table["194,217"] = [36441] let s:lib.Codec.decoding_table["194,218"] = [36451] let s:lib.Codec.decoding_table["194,219"] = [36454] let s:lib.Codec.decoding_table["194,220"] = [36452] let s:lib.Codec.decoding_table["194,221"] = [36447] let s:lib.Codec.decoding_table["194,222"] = [36437] let s:lib.Codec.decoding_table["194,223"] = [36544] let s:lib.Codec.decoding_table["194,224"] = [36681] let s:lib.Codec.decoding_table["194,225"] = [36685] let s:lib.Codec.decoding_table["194,226"] = [36999] let s:lib.Codec.decoding_table["194,227"] = [36995] let s:lib.Codec.decoding_table["194,228"] = [37000] let s:lib.Codec.decoding_table["194,229"] = [37291] let s:lib.Codec.decoding_table["194,230"] = [37292] let s:lib.Codec.decoding_table["194,231"] = [37328] let s:lib.Codec.decoding_table["194,232"] = [37780] let s:lib.Codec.decoding_table["194,233"] = [37770] let s:lib.Codec.decoding_table["194,234"] = [37782] let s:lib.Codec.decoding_table["194,235"] = [37794] let s:lib.Codec.decoding_table["194,236"] = [37811] let s:lib.Codec.decoding_table["194,237"] = [37806] let s:lib.Codec.decoding_table["194,238"] = [37804] let s:lib.Codec.decoding_table["194,239"] = [37808] let s:lib.Codec.decoding_table["194,240"] = [37784] let s:lib.Codec.decoding_table["194,241"] = [37786] let s:lib.Codec.decoding_table["194,242"] = [37783] let s:lib.Codec.decoding_table["194,243"] = [38356] let s:lib.Codec.decoding_table["194,244"] = [38358] let s:lib.Codec.decoding_table["194,245"] = [38352] let s:lib.Codec.decoding_table["194,246"] = [38357] let s:lib.Codec.decoding_table["194,247"] = [38626] let s:lib.Codec.decoding_table["194,248"] = [38620] let s:lib.Codec.decoding_table["194,249"] = [38617] let s:lib.Codec.decoding_table["194,250"] = [38619] let s:lib.Codec.decoding_table["194,251"] = [38622] let s:lib.Codec.decoding_table["194,252"] = [38692] let s:lib.Codec.decoding_table["194,253"] = [38819] let s:lib.Codec.decoding_table["194,254"] = [38822] let s:lib.Codec.decoding_table["195,64"] = [38829] let s:lib.Codec.decoding_table["195,65"] = [38905] let s:lib.Codec.decoding_table["195,66"] = [38989] let s:lib.Codec.decoding_table["195,67"] = [38991] let s:lib.Codec.decoding_table["195,68"] = [38988] let s:lib.Codec.decoding_table["195,69"] = [38990] let s:lib.Codec.decoding_table["195,70"] = [38995] let s:lib.Codec.decoding_table["195,71"] = [39098] let s:lib.Codec.decoding_table["195,72"] = [39230] let s:lib.Codec.decoding_table["195,73"] = [39231] let s:lib.Codec.decoding_table["195,74"] = [39229] let s:lib.Codec.decoding_table["195,75"] = [39214] let s:lib.Codec.decoding_table["195,76"] = [39333] let s:lib.Codec.decoding_table["195,77"] = [39438] let s:lib.Codec.decoding_table["195,78"] = [39617] let s:lib.Codec.decoding_table["195,79"] = [39683] let s:lib.Codec.decoding_table["195,80"] = [39686] let s:lib.Codec.decoding_table["195,81"] = [39759] let s:lib.Codec.decoding_table["195,82"] = [39758] let s:lib.Codec.decoding_table["195,83"] = [39757] let s:lib.Codec.decoding_table["195,84"] = [39882] let s:lib.Codec.decoding_table["195,85"] = [39881] let s:lib.Codec.decoding_table["195,86"] = [39933] let s:lib.Codec.decoding_table["195,87"] = [39880] let s:lib.Codec.decoding_table["195,88"] = [39872] let s:lib.Codec.decoding_table["195,89"] = [40273] let s:lib.Codec.decoding_table["195,90"] = [40285] let s:lib.Codec.decoding_table["195,91"] = [40288] let s:lib.Codec.decoding_table["195,92"] = [40672] let s:lib.Codec.decoding_table["195,93"] = [40725] let s:lib.Codec.decoding_table["195,94"] = [40748] let s:lib.Codec.decoding_table["195,95"] = [20787] let s:lib.Codec.decoding_table["195,96"] = [22181] let s:lib.Codec.decoding_table["195,97"] = [22750] let s:lib.Codec.decoding_table["195,98"] = [22751] let s:lib.Codec.decoding_table["195,99"] = [22754] let s:lib.Codec.decoding_table["195,100"] = [23541] let s:lib.Codec.decoding_table["195,101"] = [40848] let s:lib.Codec.decoding_table["195,102"] = [24300] let s:lib.Codec.decoding_table["195,103"] = [25074] let s:lib.Codec.decoding_table["195,104"] = [25079] let s:lib.Codec.decoding_table["195,105"] = [25078] let s:lib.Codec.decoding_table["195,106"] = [25077] let s:lib.Codec.decoding_table["195,107"] = [25856] let s:lib.Codec.decoding_table["195,108"] = [25871] let s:lib.Codec.decoding_table["195,109"] = [26336] let s:lib.Codec.decoding_table["195,110"] = [26333] let s:lib.Codec.decoding_table["195,111"] = [27365] let s:lib.Codec.decoding_table["195,112"] = [27357] let s:lib.Codec.decoding_table["195,113"] = [27354] let s:lib.Codec.decoding_table["195,114"] = [27347] let s:lib.Codec.decoding_table["195,115"] = [28699] let s:lib.Codec.decoding_table["195,116"] = [28703] let s:lib.Codec.decoding_table["195,117"] = [28712] let s:lib.Codec.decoding_table["195,118"] = [28698] let s:lib.Codec.decoding_table["195,119"] = [28701] let s:lib.Codec.decoding_table["195,120"] = [28693] let s:lib.Codec.decoding_table["195,121"] = [28696] let s:lib.Codec.decoding_table["195,122"] = [29190] let s:lib.Codec.decoding_table["195,123"] = [29197] let s:lib.Codec.decoding_table["195,124"] = [29272] let s:lib.Codec.decoding_table["195,125"] = [29346] let s:lib.Codec.decoding_table["195,126"] = [29560] let s:lib.Codec.decoding_table["195,161"] = [29562] let s:lib.Codec.decoding_table["195,162"] = [29885] let s:lib.Codec.decoding_table["195,163"] = [29898] let s:lib.Codec.decoding_table["195,164"] = [29923] let s:lib.Codec.decoding_table["195,165"] = [30087] let s:lib.Codec.decoding_table["195,166"] = [30086] let s:lib.Codec.decoding_table["195,167"] = [30303] let s:lib.Codec.decoding_table["195,168"] = [30305] let s:lib.Codec.decoding_table["195,169"] = [30663] let s:lib.Codec.decoding_table["195,170"] = [31001] let s:lib.Codec.decoding_table["195,171"] = [31153] let s:lib.Codec.decoding_table["195,172"] = [31339] let s:lib.Codec.decoding_table["195,173"] = [31337] let s:lib.Codec.decoding_table["195,174"] = [31806] let s:lib.Codec.decoding_table["195,175"] = [31807] let s:lib.Codec.decoding_table["195,176"] = [31800] let s:lib.Codec.decoding_table["195,177"] = [31805] let s:lib.Codec.decoding_table["195,178"] = [31799] let s:lib.Codec.decoding_table["195,179"] = [31808] let s:lib.Codec.decoding_table["195,180"] = [32363] let s:lib.Codec.decoding_table["195,181"] = [32365] let s:lib.Codec.decoding_table["195,182"] = [32377] let s:lib.Codec.decoding_table["195,183"] = [32361] let s:lib.Codec.decoding_table["195,184"] = [32362] let s:lib.Codec.decoding_table["195,185"] = [32645] let s:lib.Codec.decoding_table["195,186"] = [32371] let s:lib.Codec.decoding_table["195,187"] = [32694] let s:lib.Codec.decoding_table["195,188"] = [32697] let s:lib.Codec.decoding_table["195,189"] = [32696] let s:lib.Codec.decoding_table["195,190"] = [33240] let s:lib.Codec.decoding_table["195,191"] = [34281] let s:lib.Codec.decoding_table["195,192"] = [34269] let s:lib.Codec.decoding_table["195,193"] = [34282] let s:lib.Codec.decoding_table["195,194"] = [34261] let s:lib.Codec.decoding_table["195,195"] = [34276] let s:lib.Codec.decoding_table["195,196"] = [34277] let s:lib.Codec.decoding_table["195,197"] = [34295] let s:lib.Codec.decoding_table["195,198"] = [34811] let s:lib.Codec.decoding_table["195,199"] = [34821] let s:lib.Codec.decoding_table["195,200"] = [34829] let s:lib.Codec.decoding_table["195,201"] = [34809] let s:lib.Codec.decoding_table["195,202"] = [34814] let s:lib.Codec.decoding_table["195,203"] = [35168] let s:lib.Codec.decoding_table["195,204"] = [35167] let s:lib.Codec.decoding_table["195,205"] = [35158] let s:lib.Codec.decoding_table["195,206"] = [35166] let s:lib.Codec.decoding_table["195,207"] = [35649] let s:lib.Codec.decoding_table["195,208"] = [35676] let s:lib.Codec.decoding_table["195,209"] = [35672] let s:lib.Codec.decoding_table["195,210"] = [35657] let s:lib.Codec.decoding_table["195,211"] = [35674] let s:lib.Codec.decoding_table["195,212"] = [35662] let s:lib.Codec.decoding_table["195,213"] = [35663] let s:lib.Codec.decoding_table["195,214"] = [35654] let s:lib.Codec.decoding_table["195,215"] = [35673] let s:lib.Codec.decoding_table["195,216"] = [36104] let s:lib.Codec.decoding_table["195,217"] = [36106] let s:lib.Codec.decoding_table["195,218"] = [36476] let s:lib.Codec.decoding_table["195,219"] = [36466] let s:lib.Codec.decoding_table["195,220"] = [36487] let s:lib.Codec.decoding_table["195,221"] = [36470] let s:lib.Codec.decoding_table["195,222"] = [36460] let s:lib.Codec.decoding_table["195,223"] = [36474] let s:lib.Codec.decoding_table["195,224"] = [36468] let s:lib.Codec.decoding_table["195,225"] = [36692] let s:lib.Codec.decoding_table["195,226"] = [36686] let s:lib.Codec.decoding_table["195,227"] = [36781] let s:lib.Codec.decoding_table["195,228"] = [37002] let s:lib.Codec.decoding_table["195,229"] = [37003] let s:lib.Codec.decoding_table["195,230"] = [37297] let s:lib.Codec.decoding_table["195,231"] = [37294] let s:lib.Codec.decoding_table["195,232"] = [37857] let s:lib.Codec.decoding_table["195,233"] = [37841] let s:lib.Codec.decoding_table["195,234"] = [37855] let s:lib.Codec.decoding_table["195,235"] = [37827] let s:lib.Codec.decoding_table["195,236"] = [37832] let s:lib.Codec.decoding_table["195,237"] = [37852] let s:lib.Codec.decoding_table["195,238"] = [37853] let s:lib.Codec.decoding_table["195,239"] = [37846] let s:lib.Codec.decoding_table["195,240"] = [37858] let s:lib.Codec.decoding_table["195,241"] = [37837] let s:lib.Codec.decoding_table["195,242"] = [37848] let s:lib.Codec.decoding_table["195,243"] = [37860] let s:lib.Codec.decoding_table["195,244"] = [37847] let s:lib.Codec.decoding_table["195,245"] = [37864] let s:lib.Codec.decoding_table["195,246"] = [38364] let s:lib.Codec.decoding_table["195,247"] = [38580] let s:lib.Codec.decoding_table["195,248"] = [38627] let s:lib.Codec.decoding_table["195,249"] = [38698] let s:lib.Codec.decoding_table["195,250"] = [38695] let s:lib.Codec.decoding_table["195,251"] = [38753] let s:lib.Codec.decoding_table["195,252"] = [38876] let s:lib.Codec.decoding_table["195,253"] = [38907] let s:lib.Codec.decoding_table["195,254"] = [39006] let s:lib.Codec.decoding_table["196,64"] = [39000] let s:lib.Codec.decoding_table["196,65"] = [39003] let s:lib.Codec.decoding_table["196,66"] = [39100] let s:lib.Codec.decoding_table["196,67"] = [39237] let s:lib.Codec.decoding_table["196,68"] = [39241] let s:lib.Codec.decoding_table["196,69"] = [39446] let s:lib.Codec.decoding_table["196,70"] = [39449] let s:lib.Codec.decoding_table["196,71"] = [39693] let s:lib.Codec.decoding_table["196,72"] = [39912] let s:lib.Codec.decoding_table["196,73"] = [39911] let s:lib.Codec.decoding_table["196,74"] = [39894] let s:lib.Codec.decoding_table["196,75"] = [39899] let s:lib.Codec.decoding_table["196,76"] = [40329] let s:lib.Codec.decoding_table["196,77"] = [40289] let s:lib.Codec.decoding_table["196,78"] = [40306] let s:lib.Codec.decoding_table["196,79"] = [40298] let s:lib.Codec.decoding_table["196,80"] = [40300] let s:lib.Codec.decoding_table["196,81"] = [40594] let s:lib.Codec.decoding_table["196,82"] = [40599] let s:lib.Codec.decoding_table["196,83"] = [40595] let s:lib.Codec.decoding_table["196,84"] = [40628] let s:lib.Codec.decoding_table["196,85"] = [21240] let s:lib.Codec.decoding_table["196,86"] = [22184] let s:lib.Codec.decoding_table["196,87"] = [22199] let s:lib.Codec.decoding_table["196,88"] = [22198] let s:lib.Codec.decoding_table["196,89"] = [22196] let s:lib.Codec.decoding_table["196,90"] = [22204] let s:lib.Codec.decoding_table["196,91"] = [22756] let s:lib.Codec.decoding_table["196,92"] = [23360] let s:lib.Codec.decoding_table["196,93"] = [23363] let s:lib.Codec.decoding_table["196,94"] = [23421] let s:lib.Codec.decoding_table["196,95"] = [23542] let s:lib.Codec.decoding_table["196,96"] = [24009] let s:lib.Codec.decoding_table["196,97"] = [25080] let s:lib.Codec.decoding_table["196,98"] = [25082] let s:lib.Codec.decoding_table["196,99"] = [25880] let s:lib.Codec.decoding_table["196,100"] = [25876] let s:lib.Codec.decoding_table["196,101"] = [25881] let s:lib.Codec.decoding_table["196,102"] = [26342] let s:lib.Codec.decoding_table["196,103"] = [26407] let s:lib.Codec.decoding_table["196,104"] = [27372] let s:lib.Codec.decoding_table["196,105"] = [28734] let s:lib.Codec.decoding_table["196,106"] = [28720] let s:lib.Codec.decoding_table["196,107"] = [28722] let s:lib.Codec.decoding_table["196,108"] = [29200] let s:lib.Codec.decoding_table["196,109"] = [29563] let s:lib.Codec.decoding_table["196,110"] = [29903] let s:lib.Codec.decoding_table["196,111"] = [30306] let s:lib.Codec.decoding_table["196,112"] = [30309] let s:lib.Codec.decoding_table["196,113"] = [31014] let s:lib.Codec.decoding_table["196,114"] = [31018] let s:lib.Codec.decoding_table["196,115"] = [31020] let s:lib.Codec.decoding_table["196,116"] = [31019] let s:lib.Codec.decoding_table["196,117"] = [31431] let s:lib.Codec.decoding_table["196,118"] = [31478] let s:lib.Codec.decoding_table["196,119"] = [31820] let s:lib.Codec.decoding_table["196,120"] = [31811] let s:lib.Codec.decoding_table["196,121"] = [31821] let s:lib.Codec.decoding_table["196,122"] = [31983] let s:lib.Codec.decoding_table["196,123"] = [31984] let s:lib.Codec.decoding_table["196,124"] = [36782] let s:lib.Codec.decoding_table["196,125"] = [32381] let s:lib.Codec.decoding_table["196,126"] = [32380] let s:lib.Codec.decoding_table["196,161"] = [32386] let s:lib.Codec.decoding_table["196,162"] = [32588] let s:lib.Codec.decoding_table["196,163"] = [32768] let s:lib.Codec.decoding_table["196,164"] = [33242] let s:lib.Codec.decoding_table["196,165"] = [33382] let s:lib.Codec.decoding_table["196,166"] = [34299] let s:lib.Codec.decoding_table["196,167"] = [34297] let s:lib.Codec.decoding_table["196,168"] = [34321] let s:lib.Codec.decoding_table["196,169"] = [34298] let s:lib.Codec.decoding_table["196,170"] = [34310] let s:lib.Codec.decoding_table["196,171"] = [34315] let s:lib.Codec.decoding_table["196,172"] = [34311] let s:lib.Codec.decoding_table["196,173"] = [34314] let s:lib.Codec.decoding_table["196,174"] = [34836] let s:lib.Codec.decoding_table["196,175"] = [34837] let s:lib.Codec.decoding_table["196,176"] = [35172] let s:lib.Codec.decoding_table["196,177"] = [35258] let s:lib.Codec.decoding_table["196,178"] = [35320] let s:lib.Codec.decoding_table["196,179"] = [35696] let s:lib.Codec.decoding_table["196,180"] = [35692] let s:lib.Codec.decoding_table["196,181"] = [35686] let s:lib.Codec.decoding_table["196,182"] = [35695] let s:lib.Codec.decoding_table["196,183"] = [35679] let s:lib.Codec.decoding_table["196,184"] = [35691] let s:lib.Codec.decoding_table["196,185"] = [36111] let s:lib.Codec.decoding_table["196,186"] = [36109] let s:lib.Codec.decoding_table["196,187"] = [36489] let s:lib.Codec.decoding_table["196,188"] = [36481] let s:lib.Codec.decoding_table["196,189"] = [36485] let s:lib.Codec.decoding_table["196,190"] = [36482] let s:lib.Codec.decoding_table["196,191"] = [37300] let s:lib.Codec.decoding_table["196,192"] = [37323] let s:lib.Codec.decoding_table["196,193"] = [37912] let s:lib.Codec.decoding_table["196,194"] = [37891] let s:lib.Codec.decoding_table["196,195"] = [37885] let s:lib.Codec.decoding_table["196,196"] = [38369] let s:lib.Codec.decoding_table["196,197"] = [38704] let s:lib.Codec.decoding_table["196,198"] = [39108] let s:lib.Codec.decoding_table["196,199"] = [39250] let s:lib.Codec.decoding_table["196,200"] = [39249] let s:lib.Codec.decoding_table["196,201"] = [39336] let s:lib.Codec.decoding_table["196,202"] = [39467] let s:lib.Codec.decoding_table["196,203"] = [39472] let s:lib.Codec.decoding_table["196,204"] = [39479] let s:lib.Codec.decoding_table["196,205"] = [39477] let s:lib.Codec.decoding_table["196,206"] = [39955] let s:lib.Codec.decoding_table["196,207"] = [39949] let s:lib.Codec.decoding_table["196,208"] = [40569] let s:lib.Codec.decoding_table["196,209"] = [40629] let s:lib.Codec.decoding_table["196,210"] = [40680] let s:lib.Codec.decoding_table["196,211"] = [40751] let s:lib.Codec.decoding_table["196,212"] = [40799] let s:lib.Codec.decoding_table["196,213"] = [40803] let s:lib.Codec.decoding_table["196,214"] = [40801] let s:lib.Codec.decoding_table["196,215"] = [20791] let s:lib.Codec.decoding_table["196,216"] = [20792] let s:lib.Codec.decoding_table["196,217"] = [22209] let s:lib.Codec.decoding_table["196,218"] = [22208] let s:lib.Codec.decoding_table["196,219"] = [22210] let s:lib.Codec.decoding_table["196,220"] = [22804] let s:lib.Codec.decoding_table["196,221"] = [23660] let s:lib.Codec.decoding_table["196,222"] = [24013] let s:lib.Codec.decoding_table["196,223"] = [25084] let s:lib.Codec.decoding_table["196,224"] = [25086] let s:lib.Codec.decoding_table["196,225"] = [25885] let s:lib.Codec.decoding_table["196,226"] = [25884] let s:lib.Codec.decoding_table["196,227"] = [26005] let s:lib.Codec.decoding_table["196,228"] = [26345] let s:lib.Codec.decoding_table["196,229"] = [27387] let s:lib.Codec.decoding_table["196,230"] = [27396] let s:lib.Codec.decoding_table["196,231"] = [27386] let s:lib.Codec.decoding_table["196,232"] = [27570] let s:lib.Codec.decoding_table["196,233"] = [28748] let s:lib.Codec.decoding_table["196,234"] = [29211] let s:lib.Codec.decoding_table["196,235"] = [29351] let s:lib.Codec.decoding_table["196,236"] = [29910] let s:lib.Codec.decoding_table["196,237"] = [29908] let s:lib.Codec.decoding_table["196,238"] = [30313] let s:lib.Codec.decoding_table["196,239"] = [30675] let s:lib.Codec.decoding_table["196,240"] = [31824] let s:lib.Codec.decoding_table["196,241"] = [32399] let s:lib.Codec.decoding_table["196,242"] = [32396] let s:lib.Codec.decoding_table["196,243"] = [32700] let s:lib.Codec.decoding_table["196,244"] = [34327] let s:lib.Codec.decoding_table["196,245"] = [34349] let s:lib.Codec.decoding_table["196,246"] = [34330] let s:lib.Codec.decoding_table["196,247"] = [34851] let s:lib.Codec.decoding_table["196,248"] = [34850] let s:lib.Codec.decoding_table["196,249"] = [34849] let s:lib.Codec.decoding_table["196,250"] = [34847] let s:lib.Codec.decoding_table["196,251"] = [35178] let s:lib.Codec.decoding_table["196,252"] = [35180] let s:lib.Codec.decoding_table["196,253"] = [35261] let s:lib.Codec.decoding_table["196,254"] = [35700] let s:lib.Codec.decoding_table["197,64"] = [35703] let s:lib.Codec.decoding_table["197,65"] = [35709] let s:lib.Codec.decoding_table["197,66"] = [36115] let s:lib.Codec.decoding_table["197,67"] = [36490] let s:lib.Codec.decoding_table["197,68"] = [36493] let s:lib.Codec.decoding_table["197,69"] = [36491] let s:lib.Codec.decoding_table["197,70"] = [36703] let s:lib.Codec.decoding_table["197,71"] = [36783] let s:lib.Codec.decoding_table["197,72"] = [37306] let s:lib.Codec.decoding_table["197,73"] = [37934] let s:lib.Codec.decoding_table["197,74"] = [37939] let s:lib.Codec.decoding_table["197,75"] = [37941] let s:lib.Codec.decoding_table["197,76"] = [37946] let s:lib.Codec.decoding_table["197,77"] = [37944] let s:lib.Codec.decoding_table["197,78"] = [37938] let s:lib.Codec.decoding_table["197,79"] = [37931] let s:lib.Codec.decoding_table["197,80"] = [38370] let s:lib.Codec.decoding_table["197,81"] = [38712] let s:lib.Codec.decoding_table["197,82"] = [38713] let s:lib.Codec.decoding_table["197,83"] = [38706] let s:lib.Codec.decoding_table["197,84"] = [38911] let s:lib.Codec.decoding_table["197,85"] = [39015] let s:lib.Codec.decoding_table["197,86"] = [39013] let s:lib.Codec.decoding_table["197,87"] = [39255] let s:lib.Codec.decoding_table["197,88"] = [39493] let s:lib.Codec.decoding_table["197,89"] = [39491] let s:lib.Codec.decoding_table["197,90"] = [39488] let s:lib.Codec.decoding_table["197,91"] = [39486] let s:lib.Codec.decoding_table["197,92"] = [39631] let s:lib.Codec.decoding_table["197,93"] = [39764] let s:lib.Codec.decoding_table["197,94"] = [39761] let s:lib.Codec.decoding_table["197,95"] = [39981] let s:lib.Codec.decoding_table["197,96"] = [39973] let s:lib.Codec.decoding_table["197,97"] = [40367] let s:lib.Codec.decoding_table["197,98"] = [40372] let s:lib.Codec.decoding_table["197,99"] = [40386] let s:lib.Codec.decoding_table["197,100"] = [40376] let s:lib.Codec.decoding_table["197,101"] = [40605] let s:lib.Codec.decoding_table["197,102"] = [40687] let s:lib.Codec.decoding_table["197,103"] = [40729] let s:lib.Codec.decoding_table["197,104"] = [40796] let s:lib.Codec.decoding_table["197,105"] = [40806] let s:lib.Codec.decoding_table["197,106"] = [40807] let s:lib.Codec.decoding_table["197,107"] = [20796] let s:lib.Codec.decoding_table["197,108"] = [20795] let s:lib.Codec.decoding_table["197,109"] = [22216] let s:lib.Codec.decoding_table["197,110"] = [22218] let s:lib.Codec.decoding_table["197,111"] = [22217] let s:lib.Codec.decoding_table["197,112"] = [23423] let s:lib.Codec.decoding_table["197,113"] = [24020] let s:lib.Codec.decoding_table["197,114"] = [24018] let s:lib.Codec.decoding_table["197,115"] = [24398] let s:lib.Codec.decoding_table["197,116"] = [25087] let s:lib.Codec.decoding_table["197,117"] = [25892] let s:lib.Codec.decoding_table["197,118"] = [27402] let s:lib.Codec.decoding_table["197,119"] = [27489] let s:lib.Codec.decoding_table["197,120"] = [28753] let s:lib.Codec.decoding_table["197,121"] = [28760] let s:lib.Codec.decoding_table["197,122"] = [29568] let s:lib.Codec.decoding_table["197,123"] = [29924] let s:lib.Codec.decoding_table["197,124"] = [30090] let s:lib.Codec.decoding_table["197,125"] = [30318] let s:lib.Codec.decoding_table["197,126"] = [30316] let s:lib.Codec.decoding_table["197,161"] = [31155] let s:lib.Codec.decoding_table["197,162"] = [31840] let s:lib.Codec.decoding_table["197,163"] = [31839] let s:lib.Codec.decoding_table["197,164"] = [32894] let s:lib.Codec.decoding_table["197,165"] = [32893] let s:lib.Codec.decoding_table["197,166"] = [33247] let s:lib.Codec.decoding_table["197,167"] = [35186] let s:lib.Codec.decoding_table["197,168"] = [35183] let s:lib.Codec.decoding_table["197,169"] = [35324] let s:lib.Codec.decoding_table["197,170"] = [35712] let s:lib.Codec.decoding_table["197,171"] = [36118] let s:lib.Codec.decoding_table["197,172"] = [36119] let s:lib.Codec.decoding_table["197,173"] = [36497] let s:lib.Codec.decoding_table["197,174"] = [36499] let s:lib.Codec.decoding_table["197,175"] = [36705] let s:lib.Codec.decoding_table["197,176"] = [37192] let s:lib.Codec.decoding_table["197,177"] = [37956] let s:lib.Codec.decoding_table["197,178"] = [37969] let s:lib.Codec.decoding_table["197,179"] = [37970] let s:lib.Codec.decoding_table["197,180"] = [38717] let s:lib.Codec.decoding_table["197,181"] = [38718] let s:lib.Codec.decoding_table["197,182"] = [38851] let s:lib.Codec.decoding_table["197,183"] = [38849] let s:lib.Codec.decoding_table["197,184"] = [39019] let s:lib.Codec.decoding_table["197,185"] = [39253] let s:lib.Codec.decoding_table["197,186"] = [39509] let s:lib.Codec.decoding_table["197,187"] = [39501] let s:lib.Codec.decoding_table["197,188"] = [39634] let s:lib.Codec.decoding_table["197,189"] = [39706] let s:lib.Codec.decoding_table["197,190"] = [40009] let s:lib.Codec.decoding_table["197,191"] = [39985] let s:lib.Codec.decoding_table["197,192"] = [39998] let s:lib.Codec.decoding_table["197,193"] = [39995] let s:lib.Codec.decoding_table["197,194"] = [40403] let s:lib.Codec.decoding_table["197,195"] = [40407] let s:lib.Codec.decoding_table["197,196"] = [40756] let s:lib.Codec.decoding_table["197,197"] = [40812] let s:lib.Codec.decoding_table["197,198"] = [40810] let s:lib.Codec.decoding_table["197,199"] = [40852] let s:lib.Codec.decoding_table["197,200"] = [22220] let s:lib.Codec.decoding_table["197,201"] = [24022] let s:lib.Codec.decoding_table["197,202"] = [25088] let s:lib.Codec.decoding_table["197,203"] = [25891] let s:lib.Codec.decoding_table["197,204"] = [25899] let s:lib.Codec.decoding_table["197,205"] = [25898] let s:lib.Codec.decoding_table["197,206"] = [26348] let s:lib.Codec.decoding_table["197,207"] = [27408] let s:lib.Codec.decoding_table["197,208"] = [29914] let s:lib.Codec.decoding_table["197,209"] = [31434] let s:lib.Codec.decoding_table["197,210"] = [31844] let s:lib.Codec.decoding_table["197,211"] = [31843] let s:lib.Codec.decoding_table["197,212"] = [31845] let s:lib.Codec.decoding_table["197,213"] = [32403] let s:lib.Codec.decoding_table["197,214"] = [32406] let s:lib.Codec.decoding_table["197,215"] = [32404] let s:lib.Codec.decoding_table["197,216"] = [33250] let s:lib.Codec.decoding_table["197,217"] = [34360] let s:lib.Codec.decoding_table["197,218"] = [34367] let s:lib.Codec.decoding_table["197,219"] = [34865] let s:lib.Codec.decoding_table["197,220"] = [35722] let s:lib.Codec.decoding_table["197,221"] = [37008] let s:lib.Codec.decoding_table["197,222"] = [37007] let s:lib.Codec.decoding_table["197,223"] = [37987] let s:lib.Codec.decoding_table["197,224"] = [37984] let s:lib.Codec.decoding_table["197,225"] = [37988] let s:lib.Codec.decoding_table["197,226"] = [38760] let s:lib.Codec.decoding_table["197,227"] = [39023] let s:lib.Codec.decoding_table["197,228"] = [39260] let s:lib.Codec.decoding_table["197,229"] = [39514] let s:lib.Codec.decoding_table["197,230"] = [39515] let s:lib.Codec.decoding_table["197,231"] = [39511] let s:lib.Codec.decoding_table["197,232"] = [39635] let s:lib.Codec.decoding_table["197,233"] = [39636] let s:lib.Codec.decoding_table["197,234"] = [39633] let s:lib.Codec.decoding_table["197,235"] = [40020] let s:lib.Codec.decoding_table["197,236"] = [40023] let s:lib.Codec.decoding_table["197,237"] = [40022] let s:lib.Codec.decoding_table["197,238"] = [40421] let s:lib.Codec.decoding_table["197,239"] = [40607] let s:lib.Codec.decoding_table["197,240"] = [40692] let s:lib.Codec.decoding_table["197,241"] = [22225] let s:lib.Codec.decoding_table["197,242"] = [22761] let s:lib.Codec.decoding_table["197,243"] = [25900] let s:lib.Codec.decoding_table["197,244"] = [28766] let s:lib.Codec.decoding_table["197,245"] = [30321] let s:lib.Codec.decoding_table["197,246"] = [30322] let s:lib.Codec.decoding_table["197,247"] = [30679] let s:lib.Codec.decoding_table["197,248"] = [32592] let s:lib.Codec.decoding_table["197,249"] = [32648] let s:lib.Codec.decoding_table["197,250"] = [34870] let s:lib.Codec.decoding_table["197,251"] = [34873] let s:lib.Codec.decoding_table["197,252"] = [34914] let s:lib.Codec.decoding_table["197,253"] = [35731] let s:lib.Codec.decoding_table["197,254"] = [35730] let s:lib.Codec.decoding_table["198,64"] = [35734] let s:lib.Codec.decoding_table["198,65"] = [33399] let s:lib.Codec.decoding_table["198,66"] = [36123] let s:lib.Codec.decoding_table["198,67"] = [37312] let s:lib.Codec.decoding_table["198,68"] = [37994] let s:lib.Codec.decoding_table["198,69"] = [38722] let s:lib.Codec.decoding_table["198,70"] = [38728] let s:lib.Codec.decoding_table["198,71"] = [38724] let s:lib.Codec.decoding_table["198,72"] = [38854] let s:lib.Codec.decoding_table["198,73"] = [39024] let s:lib.Codec.decoding_table["198,74"] = [39519] let s:lib.Codec.decoding_table["198,75"] = [39714] let s:lib.Codec.decoding_table["198,76"] = [39768] let s:lib.Codec.decoding_table["198,77"] = [40031] let s:lib.Codec.decoding_table["198,78"] = [40441] let s:lib.Codec.decoding_table["198,79"] = [40442] let s:lib.Codec.decoding_table["198,80"] = [40572] let s:lib.Codec.decoding_table["198,81"] = [40573] let s:lib.Codec.decoding_table["198,82"] = [40711] let s:lib.Codec.decoding_table["198,83"] = [40823] let s:lib.Codec.decoding_table["198,84"] = [40818] let s:lib.Codec.decoding_table["198,85"] = [24307] let s:lib.Codec.decoding_table["198,86"] = [27414] let s:lib.Codec.decoding_table["198,87"] = [28771] let s:lib.Codec.decoding_table["198,88"] = [31852] let s:lib.Codec.decoding_table["198,89"] = [31854] let s:lib.Codec.decoding_table["198,90"] = [34875] let s:lib.Codec.decoding_table["198,91"] = [35264] let s:lib.Codec.decoding_table["198,92"] = [36513] let s:lib.Codec.decoding_table["198,93"] = [37313] let s:lib.Codec.decoding_table["198,94"] = [38002] let s:lib.Codec.decoding_table["198,95"] = [38000] let s:lib.Codec.decoding_table["198,96"] = [39025] let s:lib.Codec.decoding_table["198,97"] = [39262] let s:lib.Codec.decoding_table["198,98"] = [39638] let s:lib.Codec.decoding_table["198,99"] = [39715] let s:lib.Codec.decoding_table["198,100"] = [40652] let s:lib.Codec.decoding_table["198,101"] = [28772] let s:lib.Codec.decoding_table["198,102"] = [30682] let s:lib.Codec.decoding_table["198,103"] = [35738] let s:lib.Codec.decoding_table["198,104"] = [38007] let s:lib.Codec.decoding_table["198,105"] = [38857] let s:lib.Codec.decoding_table["198,106"] = [39522] let s:lib.Codec.decoding_table["198,107"] = [39525] let s:lib.Codec.decoding_table["198,108"] = [32412] let s:lib.Codec.decoding_table["198,109"] = [35740] let s:lib.Codec.decoding_table["198,110"] = [36522] let s:lib.Codec.decoding_table["198,111"] = [37317] let s:lib.Codec.decoding_table["198,112"] = [38013] let s:lib.Codec.decoding_table["198,113"] = [38014] let s:lib.Codec.decoding_table["198,114"] = [38012] let s:lib.Codec.decoding_table["198,115"] = [40055] let s:lib.Codec.decoding_table["198,116"] = [40056] let s:lib.Codec.decoding_table["198,117"] = [40695] let s:lib.Codec.decoding_table["198,118"] = [35924] let s:lib.Codec.decoding_table["198,119"] = [38015] let s:lib.Codec.decoding_table["198,120"] = [40474] let s:lib.Codec.decoding_table["198,121"] = [29224] let s:lib.Codec.decoding_table["198,122"] = [39530] let s:lib.Codec.decoding_table["198,123"] = [39729] let s:lib.Codec.decoding_table["198,124"] = [40475] let s:lib.Codec.decoding_table["198,125"] = [40478] let s:lib.Codec.decoding_table["198,126"] = [31858] let s:lib.Codec.decoding_table["201,64"] = [20034] let s:lib.Codec.decoding_table["201,65"] = [20060] let s:lib.Codec.decoding_table["201,66"] = [20981] let s:lib.Codec.decoding_table["201,67"] = [21274] let s:lib.Codec.decoding_table["201,68"] = [21378] let s:lib.Codec.decoding_table["201,69"] = [19975] let s:lib.Codec.decoding_table["201,70"] = [19980] let s:lib.Codec.decoding_table["201,71"] = [20039] let s:lib.Codec.decoding_table["201,72"] = [20109] let s:lib.Codec.decoding_table["201,73"] = [22231] let s:lib.Codec.decoding_table["201,74"] = [64012] let s:lib.Codec.decoding_table["201,75"] = [23662] let s:lib.Codec.decoding_table["201,76"] = [24435] let s:lib.Codec.decoding_table["201,77"] = [19983] let s:lib.Codec.decoding_table["201,78"] = [20871] let s:lib.Codec.decoding_table["201,79"] = [19982] let s:lib.Codec.decoding_table["201,80"] = [20014] let s:lib.Codec.decoding_table["201,81"] = [20115] let s:lib.Codec.decoding_table["201,82"] = [20162] let s:lib.Codec.decoding_table["201,83"] = [20169] let s:lib.Codec.decoding_table["201,84"] = [20168] let s:lib.Codec.decoding_table["201,85"] = [20888] let s:lib.Codec.decoding_table["201,86"] = [21244] let s:lib.Codec.decoding_table["201,87"] = [21356] let s:lib.Codec.decoding_table["201,88"] = [21433] let s:lib.Codec.decoding_table["201,89"] = [22304] let s:lib.Codec.decoding_table["201,90"] = [22787] let s:lib.Codec.decoding_table["201,91"] = [22828] let s:lib.Codec.decoding_table["201,92"] = [23568] let s:lib.Codec.decoding_table["201,93"] = [24063] let s:lib.Codec.decoding_table["201,94"] = [26081] let s:lib.Codec.decoding_table["201,95"] = [27571] let s:lib.Codec.decoding_table["201,96"] = [27596] let s:lib.Codec.decoding_table["201,97"] = [27668] let s:lib.Codec.decoding_table["201,98"] = [29247] let s:lib.Codec.decoding_table["201,99"] = [20017] let s:lib.Codec.decoding_table["201,100"] = [20028] let s:lib.Codec.decoding_table["201,101"] = [20200] let s:lib.Codec.decoding_table["201,102"] = [20188] let s:lib.Codec.decoding_table["201,103"] = [20201] let s:lib.Codec.decoding_table["201,104"] = [20193] let s:lib.Codec.decoding_table["201,105"] = [20189] let s:lib.Codec.decoding_table["201,106"] = [20186] let s:lib.Codec.decoding_table["201,107"] = [21004] let s:lib.Codec.decoding_table["201,108"] = [21276] let s:lib.Codec.decoding_table["201,109"] = [21324] let s:lib.Codec.decoding_table["201,110"] = [22306] let s:lib.Codec.decoding_table["201,111"] = [22307] let s:lib.Codec.decoding_table["201,112"] = [22807] let s:lib.Codec.decoding_table["201,113"] = [22831] let s:lib.Codec.decoding_table["201,114"] = [23425] let s:lib.Codec.decoding_table["201,115"] = [23428] let s:lib.Codec.decoding_table["201,116"] = [23570] let s:lib.Codec.decoding_table["201,117"] = [23611] let s:lib.Codec.decoding_table["201,118"] = [23668] let s:lib.Codec.decoding_table["201,119"] = [23667] let s:lib.Codec.decoding_table["201,120"] = [24068] let s:lib.Codec.decoding_table["201,121"] = [24192] let s:lib.Codec.decoding_table["201,122"] = [24194] let s:lib.Codec.decoding_table["201,123"] = [24521] let s:lib.Codec.decoding_table["201,124"] = [25097] let s:lib.Codec.decoding_table["201,125"] = [25168] let s:lib.Codec.decoding_table["201,126"] = [27669] let s:lib.Codec.decoding_table["201,161"] = [27702] let s:lib.Codec.decoding_table["201,162"] = [27715] let s:lib.Codec.decoding_table["201,163"] = [27711] let s:lib.Codec.decoding_table["201,164"] = [27707] let s:lib.Codec.decoding_table["201,165"] = [29358] let s:lib.Codec.decoding_table["201,166"] = [29360] let s:lib.Codec.decoding_table["201,167"] = [29578] let s:lib.Codec.decoding_table["201,168"] = [31160] let s:lib.Codec.decoding_table["201,169"] = [32906] let s:lib.Codec.decoding_table["201,170"] = [38430] let s:lib.Codec.decoding_table["201,171"] = [20238] let s:lib.Codec.decoding_table["201,172"] = [20248] let s:lib.Codec.decoding_table["201,173"] = [20268] let s:lib.Codec.decoding_table["201,174"] = [20213] let s:lib.Codec.decoding_table["201,175"] = [20244] let s:lib.Codec.decoding_table["201,176"] = [20209] let s:lib.Codec.decoding_table["201,177"] = [20224] let s:lib.Codec.decoding_table["201,178"] = [20215] let s:lib.Codec.decoding_table["201,179"] = [20232] let s:lib.Codec.decoding_table["201,180"] = [20253] let s:lib.Codec.decoding_table["201,181"] = [20226] let s:lib.Codec.decoding_table["201,182"] = [20229] let s:lib.Codec.decoding_table["201,183"] = [20258] let s:lib.Codec.decoding_table["201,184"] = [20243] let s:lib.Codec.decoding_table["201,185"] = [20228] let s:lib.Codec.decoding_table["201,186"] = [20212] let s:lib.Codec.decoding_table["201,187"] = [20242] let s:lib.Codec.decoding_table["201,188"] = [20913] let s:lib.Codec.decoding_table["201,189"] = [21011] let s:lib.Codec.decoding_table["201,190"] = [21001] let s:lib.Codec.decoding_table["201,191"] = [21008] let s:lib.Codec.decoding_table["201,192"] = [21158] let s:lib.Codec.decoding_table["201,193"] = [21282] let s:lib.Codec.decoding_table["201,194"] = [21279] let s:lib.Codec.decoding_table["201,195"] = [21325] let s:lib.Codec.decoding_table["201,196"] = [21386] let s:lib.Codec.decoding_table["201,197"] = [21511] let s:lib.Codec.decoding_table["201,198"] = [22241] let s:lib.Codec.decoding_table["201,199"] = [22239] let s:lib.Codec.decoding_table["201,200"] = [22318] let s:lib.Codec.decoding_table["201,201"] = [22314] let s:lib.Codec.decoding_table["201,202"] = [22324] let s:lib.Codec.decoding_table["201,203"] = [22844] let s:lib.Codec.decoding_table["201,204"] = [22912] let s:lib.Codec.decoding_table["201,205"] = [22908] let s:lib.Codec.decoding_table["201,206"] = [22917] let s:lib.Codec.decoding_table["201,207"] = [22907] let s:lib.Codec.decoding_table["201,208"] = [22910] let s:lib.Codec.decoding_table["201,209"] = [22903] let s:lib.Codec.decoding_table["201,210"] = [22911] let s:lib.Codec.decoding_table["201,211"] = [23382] let s:lib.Codec.decoding_table["201,212"] = [23573] let s:lib.Codec.decoding_table["201,213"] = [23589] let s:lib.Codec.decoding_table["201,214"] = [23676] let s:lib.Codec.decoding_table["201,215"] = [23674] let s:lib.Codec.decoding_table["201,216"] = [23675] let s:lib.Codec.decoding_table["201,217"] = [23678] let s:lib.Codec.decoding_table["201,218"] = [24031] let s:lib.Codec.decoding_table["201,219"] = [24181] let s:lib.Codec.decoding_table["201,220"] = [24196] let s:lib.Codec.decoding_table["201,221"] = [24322] let s:lib.Codec.decoding_table["201,222"] = [24346] let s:lib.Codec.decoding_table["201,223"] = [24436] let s:lib.Codec.decoding_table["201,224"] = [24533] let s:lib.Codec.decoding_table["201,225"] = [24532] let s:lib.Codec.decoding_table["201,226"] = [24527] let s:lib.Codec.decoding_table["201,227"] = [25180] let s:lib.Codec.decoding_table["201,228"] = [25182] let s:lib.Codec.decoding_table["201,229"] = [25188] let s:lib.Codec.decoding_table["201,230"] = [25185] let s:lib.Codec.decoding_table["201,231"] = [25190] let s:lib.Codec.decoding_table["201,232"] = [25186] let s:lib.Codec.decoding_table["201,233"] = [25177] let s:lib.Codec.decoding_table["201,234"] = [25184] let s:lib.Codec.decoding_table["201,235"] = [25178] let s:lib.Codec.decoding_table["201,236"] = [25189] let s:lib.Codec.decoding_table["201,237"] = [26095] let s:lib.Codec.decoding_table["201,238"] = [26094] let s:lib.Codec.decoding_table["201,239"] = [26430] let s:lib.Codec.decoding_table["201,240"] = [26425] let s:lib.Codec.decoding_table["201,241"] = [26424] let s:lib.Codec.decoding_table["201,242"] = [26427] let s:lib.Codec.decoding_table["201,243"] = [26426] let s:lib.Codec.decoding_table["201,244"] = [26431] let s:lib.Codec.decoding_table["201,245"] = [26428] let s:lib.Codec.decoding_table["201,246"] = [26419] let s:lib.Codec.decoding_table["201,247"] = [27672] let s:lib.Codec.decoding_table["201,248"] = [27718] let s:lib.Codec.decoding_table["201,249"] = [27730] let s:lib.Codec.decoding_table["201,250"] = [27740] let s:lib.Codec.decoding_table["201,251"] = [27727] let s:lib.Codec.decoding_table["201,252"] = [27722] let s:lib.Codec.decoding_table["201,253"] = [27732] let s:lib.Codec.decoding_table["201,254"] = [27723] let s:lib.Codec.decoding_table["202,64"] = [27724] let s:lib.Codec.decoding_table["202,65"] = [28785] let s:lib.Codec.decoding_table["202,66"] = [29278] let s:lib.Codec.decoding_table["202,67"] = [29364] let s:lib.Codec.decoding_table["202,68"] = [29365] let s:lib.Codec.decoding_table["202,69"] = [29582] let s:lib.Codec.decoding_table["202,70"] = [29994] let s:lib.Codec.decoding_table["202,71"] = [30335] let s:lib.Codec.decoding_table["202,72"] = [31349] let s:lib.Codec.decoding_table["202,73"] = [32593] let s:lib.Codec.decoding_table["202,74"] = [33400] let s:lib.Codec.decoding_table["202,75"] = [33404] let s:lib.Codec.decoding_table["202,76"] = [33408] let s:lib.Codec.decoding_table["202,77"] = [33405] let s:lib.Codec.decoding_table["202,78"] = [33407] let s:lib.Codec.decoding_table["202,79"] = [34381] let s:lib.Codec.decoding_table["202,80"] = [35198] let s:lib.Codec.decoding_table["202,81"] = [37017] let s:lib.Codec.decoding_table["202,82"] = [37015] let s:lib.Codec.decoding_table["202,83"] = [37016] let s:lib.Codec.decoding_table["202,84"] = [37019] let s:lib.Codec.decoding_table["202,85"] = [37012] let s:lib.Codec.decoding_table["202,86"] = [38434] let s:lib.Codec.decoding_table["202,87"] = [38436] let s:lib.Codec.decoding_table["202,88"] = [38432] let s:lib.Codec.decoding_table["202,89"] = [38435] let s:lib.Codec.decoding_table["202,90"] = [20310] let s:lib.Codec.decoding_table["202,91"] = [20283] let s:lib.Codec.decoding_table["202,92"] = [20322] let s:lib.Codec.decoding_table["202,93"] = [20297] let s:lib.Codec.decoding_table["202,94"] = [20307] let s:lib.Codec.decoding_table["202,95"] = [20324] let s:lib.Codec.decoding_table["202,96"] = [20286] let s:lib.Codec.decoding_table["202,97"] = [20327] let s:lib.Codec.decoding_table["202,98"] = [20306] let s:lib.Codec.decoding_table["202,99"] = [20319] let s:lib.Codec.decoding_table["202,100"] = [20289] let s:lib.Codec.decoding_table["202,101"] = [20312] let s:lib.Codec.decoding_table["202,102"] = [20269] let s:lib.Codec.decoding_table["202,103"] = [20275] let s:lib.Codec.decoding_table["202,104"] = [20287] let s:lib.Codec.decoding_table["202,105"] = [20321] let s:lib.Codec.decoding_table["202,106"] = [20879] let s:lib.Codec.decoding_table["202,107"] = [20921] let s:lib.Codec.decoding_table["202,108"] = [21020] let s:lib.Codec.decoding_table["202,109"] = [21022] let s:lib.Codec.decoding_table["202,110"] = [21025] let s:lib.Codec.decoding_table["202,111"] = [21165] let s:lib.Codec.decoding_table["202,112"] = [21166] let s:lib.Codec.decoding_table["202,113"] = [21257] let s:lib.Codec.decoding_table["202,114"] = [21347] let s:lib.Codec.decoding_table["202,115"] = [21362] let s:lib.Codec.decoding_table["202,116"] = [21390] let s:lib.Codec.decoding_table["202,117"] = [21391] let s:lib.Codec.decoding_table["202,118"] = [21552] let s:lib.Codec.decoding_table["202,119"] = [21559] let s:lib.Codec.decoding_table["202,120"] = [21546] let s:lib.Codec.decoding_table["202,121"] = [21588] let s:lib.Codec.decoding_table["202,122"] = [21573] let s:lib.Codec.decoding_table["202,123"] = [21529] let s:lib.Codec.decoding_table["202,124"] = [21532] let s:lib.Codec.decoding_table["202,125"] = [21541] let s:lib.Codec.decoding_table["202,126"] = [21528] let s:lib.Codec.decoding_table["202,161"] = [21565] let s:lib.Codec.decoding_table["202,162"] = [21583] let s:lib.Codec.decoding_table["202,163"] = [21569] let s:lib.Codec.decoding_table["202,164"] = [21544] let s:lib.Codec.decoding_table["202,165"] = [21540] let s:lib.Codec.decoding_table["202,166"] = [21575] let s:lib.Codec.decoding_table["202,167"] = [22254] let s:lib.Codec.decoding_table["202,168"] = [22247] let s:lib.Codec.decoding_table["202,169"] = [22245] let s:lib.Codec.decoding_table["202,170"] = [22337] let s:lib.Codec.decoding_table["202,171"] = [22341] let s:lib.Codec.decoding_table["202,172"] = [22348] let s:lib.Codec.decoding_table["202,173"] = [22345] let s:lib.Codec.decoding_table["202,174"] = [22347] let s:lib.Codec.decoding_table["202,175"] = [22354] let s:lib.Codec.decoding_table["202,176"] = [22790] let s:lib.Codec.decoding_table["202,177"] = [22848] let s:lib.Codec.decoding_table["202,178"] = [22950] let s:lib.Codec.decoding_table["202,179"] = [22936] let s:lib.Codec.decoding_table["202,180"] = [22944] let s:lib.Codec.decoding_table["202,181"] = [22935] let s:lib.Codec.decoding_table["202,182"] = [22926] let s:lib.Codec.decoding_table["202,183"] = [22946] let s:lib.Codec.decoding_table["202,184"] = [22928] let s:lib.Codec.decoding_table["202,185"] = [22927] let s:lib.Codec.decoding_table["202,186"] = [22951] let s:lib.Codec.decoding_table["202,187"] = [22945] let s:lib.Codec.decoding_table["202,188"] = [23438] let s:lib.Codec.decoding_table["202,189"] = [23442] let s:lib.Codec.decoding_table["202,190"] = [23592] let s:lib.Codec.decoding_table["202,191"] = [23594] let s:lib.Codec.decoding_table["202,192"] = [23693] let s:lib.Codec.decoding_table["202,193"] = [23695] let s:lib.Codec.decoding_table["202,194"] = [23688] let s:lib.Codec.decoding_table["202,195"] = [23691] let s:lib.Codec.decoding_table["202,196"] = [23689] let s:lib.Codec.decoding_table["202,197"] = [23698] let s:lib.Codec.decoding_table["202,198"] = [23690] let s:lib.Codec.decoding_table["202,199"] = [23686] let s:lib.Codec.decoding_table["202,200"] = [23699] let s:lib.Codec.decoding_table["202,201"] = [23701] let s:lib.Codec.decoding_table["202,202"] = [24032] let s:lib.Codec.decoding_table["202,203"] = [24074] let s:lib.Codec.decoding_table["202,204"] = [24078] let s:lib.Codec.decoding_table["202,205"] = [24203] let s:lib.Codec.decoding_table["202,206"] = [24201] let s:lib.Codec.decoding_table["202,207"] = [24204] let s:lib.Codec.decoding_table["202,208"] = [24200] let s:lib.Codec.decoding_table["202,209"] = [24205] let s:lib.Codec.decoding_table["202,210"] = [24325] let s:lib.Codec.decoding_table["202,211"] = [24349] let s:lib.Codec.decoding_table["202,212"] = [24440] let s:lib.Codec.decoding_table["202,213"] = [24438] let s:lib.Codec.decoding_table["202,214"] = [24530] let s:lib.Codec.decoding_table["202,215"] = [24529] let s:lib.Codec.decoding_table["202,216"] = [24528] let s:lib.Codec.decoding_table["202,217"] = [24557] let s:lib.Codec.decoding_table["202,218"] = [24552] let s:lib.Codec.decoding_table["202,219"] = [24558] let s:lib.Codec.decoding_table["202,220"] = [24563] let s:lib.Codec.decoding_table["202,221"] = [24545] let s:lib.Codec.decoding_table["202,222"] = [24548] let s:lib.Codec.decoding_table["202,223"] = [24547] let s:lib.Codec.decoding_table["202,224"] = [24570] let s:lib.Codec.decoding_table["202,225"] = [24559] let s:lib.Codec.decoding_table["202,226"] = [24567] let s:lib.Codec.decoding_table["202,227"] = [24571] let s:lib.Codec.decoding_table["202,228"] = [24576] let s:lib.Codec.decoding_table["202,229"] = [24564] let s:lib.Codec.decoding_table["202,230"] = [25146] let s:lib.Codec.decoding_table["202,231"] = [25219] let s:lib.Codec.decoding_table["202,232"] = [25228] let s:lib.Codec.decoding_table["202,233"] = [25230] let s:lib.Codec.decoding_table["202,234"] = [25231] let s:lib.Codec.decoding_table["202,235"] = [25236] let s:lib.Codec.decoding_table["202,236"] = [25223] let s:lib.Codec.decoding_table["202,237"] = [25201] let s:lib.Codec.decoding_table["202,238"] = [25211] let s:lib.Codec.decoding_table["202,239"] = [25210] let s:lib.Codec.decoding_table["202,240"] = [25200] let s:lib.Codec.decoding_table["202,241"] = [25217] let s:lib.Codec.decoding_table["202,242"] = [25224] let s:lib.Codec.decoding_table["202,243"] = [25207] let s:lib.Codec.decoding_table["202,244"] = [25213] let s:lib.Codec.decoding_table["202,245"] = [25202] let s:lib.Codec.decoding_table["202,246"] = [25204] let s:lib.Codec.decoding_table["202,247"] = [25911] let s:lib.Codec.decoding_table["202,248"] = [26096] let s:lib.Codec.decoding_table["202,249"] = [26100] let s:lib.Codec.decoding_table["202,250"] = [26099] let s:lib.Codec.decoding_table["202,251"] = [26098] let s:lib.Codec.decoding_table["202,252"] = [26101] let s:lib.Codec.decoding_table["202,253"] = [26437] let s:lib.Codec.decoding_table["202,254"] = [26439] let s:lib.Codec.decoding_table["203,64"] = [26457] let s:lib.Codec.decoding_table["203,65"] = [26453] let s:lib.Codec.decoding_table["203,66"] = [26444] let s:lib.Codec.decoding_table["203,67"] = [26440] let s:lib.Codec.decoding_table["203,68"] = [26461] let s:lib.Codec.decoding_table["203,69"] = [26445] let s:lib.Codec.decoding_table["203,70"] = [26458] let s:lib.Codec.decoding_table["203,71"] = [26443] let s:lib.Codec.decoding_table["203,72"] = [27600] let s:lib.Codec.decoding_table["203,73"] = [27673] let s:lib.Codec.decoding_table["203,74"] = [27674] let s:lib.Codec.decoding_table["203,75"] = [27768] let s:lib.Codec.decoding_table["203,76"] = [27751] let s:lib.Codec.decoding_table["203,77"] = [27755] let s:lib.Codec.decoding_table["203,78"] = [27780] let s:lib.Codec.decoding_table["203,79"] = [27787] let s:lib.Codec.decoding_table["203,80"] = [27791] let s:lib.Codec.decoding_table["203,81"] = [27761] let s:lib.Codec.decoding_table["203,82"] = [27759] let s:lib.Codec.decoding_table["203,83"] = [27753] let s:lib.Codec.decoding_table["203,84"] = [27802] let s:lib.Codec.decoding_table["203,85"] = [27757] let s:lib.Codec.decoding_table["203,86"] = [27783] let s:lib.Codec.decoding_table["203,87"] = [27797] let s:lib.Codec.decoding_table["203,88"] = [27804] let s:lib.Codec.decoding_table["203,89"] = [27750] let s:lib.Codec.decoding_table["203,90"] = [27763] let s:lib.Codec.decoding_table["203,91"] = [27749] let s:lib.Codec.decoding_table["203,92"] = [27771] let s:lib.Codec.decoding_table["203,93"] = [27790] let s:lib.Codec.decoding_table["203,94"] = [28788] let s:lib.Codec.decoding_table["203,95"] = [28794] let s:lib.Codec.decoding_table["203,96"] = [29283] let s:lib.Codec.decoding_table["203,97"] = [29375] let s:lib.Codec.decoding_table["203,98"] = [29373] let s:lib.Codec.decoding_table["203,99"] = [29379] let s:lib.Codec.decoding_table["203,100"] = [29382] let s:lib.Codec.decoding_table["203,101"] = [29377] let s:lib.Codec.decoding_table["203,102"] = [29370] let s:lib.Codec.decoding_table["203,103"] = [29381] let s:lib.Codec.decoding_table["203,104"] = [29589] let s:lib.Codec.decoding_table["203,105"] = [29591] let s:lib.Codec.decoding_table["203,106"] = [29587] let s:lib.Codec.decoding_table["203,107"] = [29588] let s:lib.Codec.decoding_table["203,108"] = [29586] let s:lib.Codec.decoding_table["203,109"] = [30010] let s:lib.Codec.decoding_table["203,110"] = [30009] let s:lib.Codec.decoding_table["203,111"] = [30100] let s:lib.Codec.decoding_table["203,112"] = [30101] let s:lib.Codec.decoding_table["203,113"] = [30337] let s:lib.Codec.decoding_table["203,114"] = [31037] let s:lib.Codec.decoding_table["203,115"] = [32820] let s:lib.Codec.decoding_table["203,116"] = [32917] let s:lib.Codec.decoding_table["203,117"] = [32921] let s:lib.Codec.decoding_table["203,118"] = [32912] let s:lib.Codec.decoding_table["203,119"] = [32914] let s:lib.Codec.decoding_table["203,120"] = [32924] let s:lib.Codec.decoding_table["203,121"] = [33424] let s:lib.Codec.decoding_table["203,122"] = [33423] let s:lib.Codec.decoding_table["203,123"] = [33413] let s:lib.Codec.decoding_table["203,124"] = [33422] let s:lib.Codec.decoding_table["203,125"] = [33425] let s:lib.Codec.decoding_table["203,126"] = [33427] let s:lib.Codec.decoding_table["203,161"] = [33418] let s:lib.Codec.decoding_table["203,162"] = [33411] let s:lib.Codec.decoding_table["203,163"] = [33412] let s:lib.Codec.decoding_table["203,164"] = [35960] let s:lib.Codec.decoding_table["203,165"] = [36809] let s:lib.Codec.decoding_table["203,166"] = [36799] let s:lib.Codec.decoding_table["203,167"] = [37023] let s:lib.Codec.decoding_table["203,168"] = [37025] let s:lib.Codec.decoding_table["203,169"] = [37029] let s:lib.Codec.decoding_table["203,170"] = [37022] let s:lib.Codec.decoding_table["203,171"] = [37031] let s:lib.Codec.decoding_table["203,172"] = [37024] let s:lib.Codec.decoding_table["203,173"] = [38448] let s:lib.Codec.decoding_table["203,174"] = [38440] let s:lib.Codec.decoding_table["203,175"] = [38447] let s:lib.Codec.decoding_table["203,176"] = [38445] let s:lib.Codec.decoding_table["203,177"] = [20019] let s:lib.Codec.decoding_table["203,178"] = [20376] let s:lib.Codec.decoding_table["203,179"] = [20348] let s:lib.Codec.decoding_table["203,180"] = [20357] let s:lib.Codec.decoding_table["203,181"] = [20349] let s:lib.Codec.decoding_table["203,182"] = [20352] let s:lib.Codec.decoding_table["203,183"] = [20359] let s:lib.Codec.decoding_table["203,184"] = [20342] let s:lib.Codec.decoding_table["203,185"] = [20340] let s:lib.Codec.decoding_table["203,186"] = [20361] let s:lib.Codec.decoding_table["203,187"] = [20356] let s:lib.Codec.decoding_table["203,188"] = [20343] let s:lib.Codec.decoding_table["203,189"] = [20300] let s:lib.Codec.decoding_table["203,190"] = [20375] let s:lib.Codec.decoding_table["203,191"] = [20330] let s:lib.Codec.decoding_table["203,192"] = [20378] let s:lib.Codec.decoding_table["203,193"] = [20345] let s:lib.Codec.decoding_table["203,194"] = [20353] let s:lib.Codec.decoding_table["203,195"] = [20344] let s:lib.Codec.decoding_table["203,196"] = [20368] let s:lib.Codec.decoding_table["203,197"] = [20380] let s:lib.Codec.decoding_table["203,198"] = [20372] let s:lib.Codec.decoding_table["203,199"] = [20382] let s:lib.Codec.decoding_table["203,200"] = [20370] let s:lib.Codec.decoding_table["203,201"] = [20354] let s:lib.Codec.decoding_table["203,202"] = [20373] let s:lib.Codec.decoding_table["203,203"] = [20331] let s:lib.Codec.decoding_table["203,204"] = [20334] let s:lib.Codec.decoding_table["203,205"] = [20894] let s:lib.Codec.decoding_table["203,206"] = [20924] let s:lib.Codec.decoding_table["203,207"] = [20926] let s:lib.Codec.decoding_table["203,208"] = [21045] let s:lib.Codec.decoding_table["203,209"] = [21042] let s:lib.Codec.decoding_table["203,210"] = [21043] let s:lib.Codec.decoding_table["203,211"] = [21062] let s:lib.Codec.decoding_table["203,212"] = [21041] let s:lib.Codec.decoding_table["203,213"] = [21180] let s:lib.Codec.decoding_table["203,214"] = [21258] let s:lib.Codec.decoding_table["203,215"] = [21259] let s:lib.Codec.decoding_table["203,216"] = [21308] let s:lib.Codec.decoding_table["203,217"] = [21394] let s:lib.Codec.decoding_table["203,218"] = [21396] let s:lib.Codec.decoding_table["203,219"] = [21639] let s:lib.Codec.decoding_table["203,220"] = [21631] let s:lib.Codec.decoding_table["203,221"] = [21633] let s:lib.Codec.decoding_table["203,222"] = [21649] let s:lib.Codec.decoding_table["203,223"] = [21634] let s:lib.Codec.decoding_table["203,224"] = [21640] let s:lib.Codec.decoding_table["203,225"] = [21611] let s:lib.Codec.decoding_table["203,226"] = [21626] let s:lib.Codec.decoding_table["203,227"] = [21630] let s:lib.Codec.decoding_table["203,228"] = [21605] let s:lib.Codec.decoding_table["203,229"] = [21612] let s:lib.Codec.decoding_table["203,230"] = [21620] let s:lib.Codec.decoding_table["203,231"] = [21606] let s:lib.Codec.decoding_table["203,232"] = [21645] let s:lib.Codec.decoding_table["203,233"] = [21615] let s:lib.Codec.decoding_table["203,234"] = [21601] let s:lib.Codec.decoding_table["203,235"] = [21600] let s:lib.Codec.decoding_table["203,236"] = [21656] let s:lib.Codec.decoding_table["203,237"] = [21603] let s:lib.Codec.decoding_table["203,238"] = [21607] let s:lib.Codec.decoding_table["203,239"] = [21604] let s:lib.Codec.decoding_table["203,240"] = [22263] let s:lib.Codec.decoding_table["203,241"] = [22265] let s:lib.Codec.decoding_table["203,242"] = [22383] let s:lib.Codec.decoding_table["203,243"] = [22386] let s:lib.Codec.decoding_table["203,244"] = [22381] let s:lib.Codec.decoding_table["203,245"] = [22379] let s:lib.Codec.decoding_table["203,246"] = [22385] let s:lib.Codec.decoding_table["203,247"] = [22384] let s:lib.Codec.decoding_table["203,248"] = [22390] let s:lib.Codec.decoding_table["203,249"] = [22400] let s:lib.Codec.decoding_table["203,250"] = [22389] let s:lib.Codec.decoding_table["203,251"] = [22395] let s:lib.Codec.decoding_table["203,252"] = [22387] let s:lib.Codec.decoding_table["203,253"] = [22388] let s:lib.Codec.decoding_table["203,254"] = [22370] let s:lib.Codec.decoding_table["204,64"] = [22376] let s:lib.Codec.decoding_table["204,65"] = [22397] let s:lib.Codec.decoding_table["204,66"] = [22796] let s:lib.Codec.decoding_table["204,67"] = [22853] let s:lib.Codec.decoding_table["204,68"] = [22965] let s:lib.Codec.decoding_table["204,69"] = [22970] let s:lib.Codec.decoding_table["204,70"] = [22991] let s:lib.Codec.decoding_table["204,71"] = [22990] let s:lib.Codec.decoding_table["204,72"] = [22962] let s:lib.Codec.decoding_table["204,73"] = [22988] let s:lib.Codec.decoding_table["204,74"] = [22977] let s:lib.Codec.decoding_table["204,75"] = [22966] let s:lib.Codec.decoding_table["204,76"] = [22972] let s:lib.Codec.decoding_table["204,77"] = [22979] let s:lib.Codec.decoding_table["204,78"] = [22998] let s:lib.Codec.decoding_table["204,79"] = [22961] let s:lib.Codec.decoding_table["204,80"] = [22973] let s:lib.Codec.decoding_table["204,81"] = [22976] let s:lib.Codec.decoding_table["204,82"] = [22984] let s:lib.Codec.decoding_table["204,83"] = [22964] let s:lib.Codec.decoding_table["204,84"] = [22983] let s:lib.Codec.decoding_table["204,85"] = [23394] let s:lib.Codec.decoding_table["204,86"] = [23397] let s:lib.Codec.decoding_table["204,87"] = [23443] let s:lib.Codec.decoding_table["204,88"] = [23445] let s:lib.Codec.decoding_table["204,89"] = [23620] let s:lib.Codec.decoding_table["204,90"] = [23623] let s:lib.Codec.decoding_table["204,91"] = [23726] let s:lib.Codec.decoding_table["204,92"] = [23716] let s:lib.Codec.decoding_table["204,93"] = [23712] let s:lib.Codec.decoding_table["204,94"] = [23733] let s:lib.Codec.decoding_table["204,95"] = [23727] let s:lib.Codec.decoding_table["204,96"] = [23720] let s:lib.Codec.decoding_table["204,97"] = [23724] let s:lib.Codec.decoding_table["204,98"] = [23711] let s:lib.Codec.decoding_table["204,99"] = [23715] let s:lib.Codec.decoding_table["204,100"] = [23725] let s:lib.Codec.decoding_table["204,101"] = [23714] let s:lib.Codec.decoding_table["204,102"] = [23722] let s:lib.Codec.decoding_table["204,103"] = [23719] let s:lib.Codec.decoding_table["204,104"] = [23709] let s:lib.Codec.decoding_table["204,105"] = [23717] let s:lib.Codec.decoding_table["204,106"] = [23734] let s:lib.Codec.decoding_table["204,107"] = [23728] let s:lib.Codec.decoding_table["204,108"] = [23718] let s:lib.Codec.decoding_table["204,109"] = [24087] let s:lib.Codec.decoding_table["204,110"] = [24084] let s:lib.Codec.decoding_table["204,111"] = [24089] let s:lib.Codec.decoding_table["204,112"] = [24360] let s:lib.Codec.decoding_table["204,113"] = [24354] let s:lib.Codec.decoding_table["204,114"] = [24355] let s:lib.Codec.decoding_table["204,115"] = [24356] let s:lib.Codec.decoding_table["204,116"] = [24404] let s:lib.Codec.decoding_table["204,117"] = [24450] let s:lib.Codec.decoding_table["204,118"] = [24446] let s:lib.Codec.decoding_table["204,119"] = [24445] let s:lib.Codec.decoding_table["204,120"] = [24542] let s:lib.Codec.decoding_table["204,121"] = [24549] let s:lib.Codec.decoding_table["204,122"] = [24621] let s:lib.Codec.decoding_table["204,123"] = [24614] let s:lib.Codec.decoding_table["204,124"] = [24601] let s:lib.Codec.decoding_table["204,125"] = [24626] let s:lib.Codec.decoding_table["204,126"] = [24587] let s:lib.Codec.decoding_table["204,161"] = [24628] let s:lib.Codec.decoding_table["204,162"] = [24586] let s:lib.Codec.decoding_table["204,163"] = [24599] let s:lib.Codec.decoding_table["204,164"] = [24627] let s:lib.Codec.decoding_table["204,165"] = [24602] let s:lib.Codec.decoding_table["204,166"] = [24606] let s:lib.Codec.decoding_table["204,167"] = [24620] let s:lib.Codec.decoding_table["204,168"] = [24610] let s:lib.Codec.decoding_table["204,169"] = [24589] let s:lib.Codec.decoding_table["204,170"] = [24592] let s:lib.Codec.decoding_table["204,171"] = [24622] let s:lib.Codec.decoding_table["204,172"] = [24595] let s:lib.Codec.decoding_table["204,173"] = [24593] let s:lib.Codec.decoding_table["204,174"] = [24588] let s:lib.Codec.decoding_table["204,175"] = [24585] let s:lib.Codec.decoding_table["204,176"] = [24604] let s:lib.Codec.decoding_table["204,177"] = [25108] let s:lib.Codec.decoding_table["204,178"] = [25149] let s:lib.Codec.decoding_table["204,179"] = [25261] let s:lib.Codec.decoding_table["204,180"] = [25268] let s:lib.Codec.decoding_table["204,181"] = [25297] let s:lib.Codec.decoding_table["204,182"] = [25278] let s:lib.Codec.decoding_table["204,183"] = [25258] let s:lib.Codec.decoding_table["204,184"] = [25270] let s:lib.Codec.decoding_table["204,185"] = [25290] let s:lib.Codec.decoding_table["204,186"] = [25262] let s:lib.Codec.decoding_table["204,187"] = [25267] let s:lib.Codec.decoding_table["204,188"] = [25263] let s:lib.Codec.decoding_table["204,189"] = [25275] let s:lib.Codec.decoding_table["204,190"] = [25257] let s:lib.Codec.decoding_table["204,191"] = [25264] let s:lib.Codec.decoding_table["204,192"] = [25272] let s:lib.Codec.decoding_table["204,193"] = [25917] let s:lib.Codec.decoding_table["204,194"] = [26024] let s:lib.Codec.decoding_table["204,195"] = [26043] let s:lib.Codec.decoding_table["204,196"] = [26121] let s:lib.Codec.decoding_table["204,197"] = [26108] let s:lib.Codec.decoding_table["204,198"] = [26116] let s:lib.Codec.decoding_table["204,199"] = [26130] let s:lib.Codec.decoding_table["204,200"] = [26120] let s:lib.Codec.decoding_table["204,201"] = [26107] let s:lib.Codec.decoding_table["204,202"] = [26115] let s:lib.Codec.decoding_table["204,203"] = [26123] let s:lib.Codec.decoding_table["204,204"] = [26125] let s:lib.Codec.decoding_table["204,205"] = [26117] let s:lib.Codec.decoding_table["204,206"] = [26109] let s:lib.Codec.decoding_table["204,207"] = [26129] let s:lib.Codec.decoding_table["204,208"] = [26128] let s:lib.Codec.decoding_table["204,209"] = [26358] let s:lib.Codec.decoding_table["204,210"] = [26378] let s:lib.Codec.decoding_table["204,211"] = [26501] let s:lib.Codec.decoding_table["204,212"] = [26476] let s:lib.Codec.decoding_table["204,213"] = [26510] let s:lib.Codec.decoding_table["204,214"] = [26514] let s:lib.Codec.decoding_table["204,215"] = [26486] let s:lib.Codec.decoding_table["204,216"] = [26491] let s:lib.Codec.decoding_table["204,217"] = [26520] let s:lib.Codec.decoding_table["204,218"] = [26502] let s:lib.Codec.decoding_table["204,219"] = [26500] let s:lib.Codec.decoding_table["204,220"] = [26484] let s:lib.Codec.decoding_table["204,221"] = [26509] let s:lib.Codec.decoding_table["204,222"] = [26508] let s:lib.Codec.decoding_table["204,223"] = [26490] let s:lib.Codec.decoding_table["204,224"] = [26527] let s:lib.Codec.decoding_table["204,225"] = [26513] let s:lib.Codec.decoding_table["204,226"] = [26521] let s:lib.Codec.decoding_table["204,227"] = [26499] let s:lib.Codec.decoding_table["204,228"] = [26493] let s:lib.Codec.decoding_table["204,229"] = [26497] let s:lib.Codec.decoding_table["204,230"] = [26488] let s:lib.Codec.decoding_table["204,231"] = [26489] let s:lib.Codec.decoding_table["204,232"] = [26516] let s:lib.Codec.decoding_table["204,233"] = [27429] let s:lib.Codec.decoding_table["204,234"] = [27520] let s:lib.Codec.decoding_table["204,235"] = [27518] let s:lib.Codec.decoding_table["204,236"] = [27614] let s:lib.Codec.decoding_table["204,237"] = [27677] let s:lib.Codec.decoding_table["204,238"] = [27795] let s:lib.Codec.decoding_table["204,239"] = [27884] let s:lib.Codec.decoding_table["204,240"] = [27883] let s:lib.Codec.decoding_table["204,241"] = [27886] let s:lib.Codec.decoding_table["204,242"] = [27865] let s:lib.Codec.decoding_table["204,243"] = [27830] let s:lib.Codec.decoding_table["204,244"] = [27860] let s:lib.Codec.decoding_table["204,245"] = [27821] let s:lib.Codec.decoding_table["204,246"] = [27879] let s:lib.Codec.decoding_table["204,247"] = [27831] let s:lib.Codec.decoding_table["204,248"] = [27856] let s:lib.Codec.decoding_table["204,249"] = [27842] let s:lib.Codec.decoding_table["204,250"] = [27834] let s:lib.Codec.decoding_table["204,251"] = [27843] let s:lib.Codec.decoding_table["204,252"] = [27846] let s:lib.Codec.decoding_table["204,253"] = [27885] let s:lib.Codec.decoding_table["204,254"] = [27890] let s:lib.Codec.decoding_table["205,64"] = [27858] let s:lib.Codec.decoding_table["205,65"] = [27869] let s:lib.Codec.decoding_table["205,66"] = [27828] let s:lib.Codec.decoding_table["205,67"] = [27786] let s:lib.Codec.decoding_table["205,68"] = [27805] let s:lib.Codec.decoding_table["205,69"] = [27776] let s:lib.Codec.decoding_table["205,70"] = [27870] let s:lib.Codec.decoding_table["205,71"] = [27840] let s:lib.Codec.decoding_table["205,72"] = [27952] let s:lib.Codec.decoding_table["205,73"] = [27853] let s:lib.Codec.decoding_table["205,74"] = [27847] let s:lib.Codec.decoding_table["205,75"] = [27824] let s:lib.Codec.decoding_table["205,76"] = [27897] let s:lib.Codec.decoding_table["205,77"] = [27855] let s:lib.Codec.decoding_table["205,78"] = [27881] let s:lib.Codec.decoding_table["205,79"] = [27857] let s:lib.Codec.decoding_table["205,80"] = [28820] let s:lib.Codec.decoding_table["205,81"] = [28824] let s:lib.Codec.decoding_table["205,82"] = [28805] let s:lib.Codec.decoding_table["205,83"] = [28819] let s:lib.Codec.decoding_table["205,84"] = [28806] let s:lib.Codec.decoding_table["205,85"] = [28804] let s:lib.Codec.decoding_table["205,86"] = [28817] let s:lib.Codec.decoding_table["205,87"] = [28822] let s:lib.Codec.decoding_table["205,88"] = [28802] let s:lib.Codec.decoding_table["205,89"] = [28826] let s:lib.Codec.decoding_table["205,90"] = [28803] let s:lib.Codec.decoding_table["205,91"] = [29290] let s:lib.Codec.decoding_table["205,92"] = [29398] let s:lib.Codec.decoding_table["205,93"] = [29387] let s:lib.Codec.decoding_table["205,94"] = [29400] let s:lib.Codec.decoding_table["205,95"] = [29385] let s:lib.Codec.decoding_table["205,96"] = [29404] let s:lib.Codec.decoding_table["205,97"] = [29394] let s:lib.Codec.decoding_table["205,98"] = [29396] let s:lib.Codec.decoding_table["205,99"] = [29402] let s:lib.Codec.decoding_table["205,100"] = [29388] let s:lib.Codec.decoding_table["205,101"] = [29393] let s:lib.Codec.decoding_table["205,102"] = [29604] let s:lib.Codec.decoding_table["205,103"] = [29601] let s:lib.Codec.decoding_table["205,104"] = [29613] let s:lib.Codec.decoding_table["205,105"] = [29606] let s:lib.Codec.decoding_table["205,106"] = [29602] let s:lib.Codec.decoding_table["205,107"] = [29600] let s:lib.Codec.decoding_table["205,108"] = [29612] let s:lib.Codec.decoding_table["205,109"] = [29597] let s:lib.Codec.decoding_table["205,110"] = [29917] let s:lib.Codec.decoding_table["205,111"] = [29928] let s:lib.Codec.decoding_table["205,112"] = [30015] let s:lib.Codec.decoding_table["205,113"] = [30016] let s:lib.Codec.decoding_table["205,114"] = [30014] let s:lib.Codec.decoding_table["205,115"] = [30092] let s:lib.Codec.decoding_table["205,116"] = [30104] let s:lib.Codec.decoding_table["205,117"] = [30383] let s:lib.Codec.decoding_table["205,118"] = [30451] let s:lib.Codec.decoding_table["205,119"] = [30449] let s:lib.Codec.decoding_table["205,120"] = [30448] let s:lib.Codec.decoding_table["205,121"] = [30453] let s:lib.Codec.decoding_table["205,122"] = [30712] let s:lib.Codec.decoding_table["205,123"] = [30716] let s:lib.Codec.decoding_table["205,124"] = [30713] let s:lib.Codec.decoding_table["205,125"] = [30715] let s:lib.Codec.decoding_table["205,126"] = [30714] let s:lib.Codec.decoding_table["205,161"] = [30711] let s:lib.Codec.decoding_table["205,162"] = [31042] let s:lib.Codec.decoding_table["205,163"] = [31039] let s:lib.Codec.decoding_table["205,164"] = [31173] let s:lib.Codec.decoding_table["205,165"] = [31352] let s:lib.Codec.decoding_table["205,166"] = [31355] let s:lib.Codec.decoding_table["205,167"] = [31483] let s:lib.Codec.decoding_table["205,168"] = [31861] let s:lib.Codec.decoding_table["205,169"] = [31997] let s:lib.Codec.decoding_table["205,170"] = [32821] let s:lib.Codec.decoding_table["205,171"] = [32911] let s:lib.Codec.decoding_table["205,172"] = [32942] let s:lib.Codec.decoding_table["205,173"] = [32931] let s:lib.Codec.decoding_table["205,174"] = [32952] let s:lib.Codec.decoding_table["205,175"] = [32949] let s:lib.Codec.decoding_table["205,176"] = [32941] let s:lib.Codec.decoding_table["205,177"] = [33312] let s:lib.Codec.decoding_table["205,178"] = [33440] let s:lib.Codec.decoding_table["205,179"] = [33472] let s:lib.Codec.decoding_table["205,180"] = [33451] let s:lib.Codec.decoding_table["205,181"] = [33434] let s:lib.Codec.decoding_table["205,182"] = [33432] let s:lib.Codec.decoding_table["205,183"] = [33435] let s:lib.Codec.decoding_table["205,184"] = [33461] let s:lib.Codec.decoding_table["205,185"] = [33447] let s:lib.Codec.decoding_table["205,186"] = [33454] let s:lib.Codec.decoding_table["205,187"] = [33468] let s:lib.Codec.decoding_table["205,188"] = [33438] let s:lib.Codec.decoding_table["205,189"] = [33466] let s:lib.Codec.decoding_table["205,190"] = [33460] let s:lib.Codec.decoding_table["205,191"] = [33448] let s:lib.Codec.decoding_table["205,192"] = [33441] let s:lib.Codec.decoding_table["205,193"] = [33449] let s:lib.Codec.decoding_table["205,194"] = [33474] let s:lib.Codec.decoding_table["205,195"] = [33444] let s:lib.Codec.decoding_table["205,196"] = [33475] let s:lib.Codec.decoding_table["205,197"] = [33462] let s:lib.Codec.decoding_table["205,198"] = [33442] let s:lib.Codec.decoding_table["205,199"] = [34416] let s:lib.Codec.decoding_table["205,200"] = [34415] let s:lib.Codec.decoding_table["205,201"] = [34413] let s:lib.Codec.decoding_table["205,202"] = [34414] let s:lib.Codec.decoding_table["205,203"] = [35926] let s:lib.Codec.decoding_table["205,204"] = [36818] let s:lib.Codec.decoding_table["205,205"] = [36811] let s:lib.Codec.decoding_table["205,206"] = [36819] let s:lib.Codec.decoding_table["205,207"] = [36813] let s:lib.Codec.decoding_table["205,208"] = [36822] let s:lib.Codec.decoding_table["205,209"] = [36821] let s:lib.Codec.decoding_table["205,210"] = [36823] let s:lib.Codec.decoding_table["205,211"] = [37042] let s:lib.Codec.decoding_table["205,212"] = [37044] let s:lib.Codec.decoding_table["205,213"] = [37039] let s:lib.Codec.decoding_table["205,214"] = [37043] let s:lib.Codec.decoding_table["205,215"] = [37040] let s:lib.Codec.decoding_table["205,216"] = [38457] let s:lib.Codec.decoding_table["205,217"] = [38461] let s:lib.Codec.decoding_table["205,218"] = [38460] let s:lib.Codec.decoding_table["205,219"] = [38458] let s:lib.Codec.decoding_table["205,220"] = [38467] let s:lib.Codec.decoding_table["205,221"] = [20429] let s:lib.Codec.decoding_table["205,222"] = [20421] let s:lib.Codec.decoding_table["205,223"] = [20435] let s:lib.Codec.decoding_table["205,224"] = [20402] let s:lib.Codec.decoding_table["205,225"] = [20425] let s:lib.Codec.decoding_table["205,226"] = [20427] let s:lib.Codec.decoding_table["205,227"] = [20417] let s:lib.Codec.decoding_table["205,228"] = [20436] let s:lib.Codec.decoding_table["205,229"] = [20444] let s:lib.Codec.decoding_table["205,230"] = [20441] let s:lib.Codec.decoding_table["205,231"] = [20411] let s:lib.Codec.decoding_table["205,232"] = [20403] let s:lib.Codec.decoding_table["205,233"] = [20443] let s:lib.Codec.decoding_table["205,234"] = [20423] let s:lib.Codec.decoding_table["205,235"] = [20438] let s:lib.Codec.decoding_table["205,236"] = [20410] let s:lib.Codec.decoding_table["205,237"] = [20416] let s:lib.Codec.decoding_table["205,238"] = [20409] let s:lib.Codec.decoding_table["205,239"] = [20460] let s:lib.Codec.decoding_table["205,240"] = [21060] let s:lib.Codec.decoding_table["205,241"] = [21065] let s:lib.Codec.decoding_table["205,242"] = [21184] let s:lib.Codec.decoding_table["205,243"] = [21186] let s:lib.Codec.decoding_table["205,244"] = [21309] let s:lib.Codec.decoding_table["205,245"] = [21372] let s:lib.Codec.decoding_table["205,246"] = [21399] let s:lib.Codec.decoding_table["205,247"] = [21398] let s:lib.Codec.decoding_table["205,248"] = [21401] let s:lib.Codec.decoding_table["205,249"] = [21400] let s:lib.Codec.decoding_table["205,250"] = [21690] let s:lib.Codec.decoding_table["205,251"] = [21665] let s:lib.Codec.decoding_table["205,252"] = [21677] let s:lib.Codec.decoding_table["205,253"] = [21669] let s:lib.Codec.decoding_table["205,254"] = [21711] let s:lib.Codec.decoding_table["206,64"] = [21699] let s:lib.Codec.decoding_table["206,65"] = [33549] let s:lib.Codec.decoding_table["206,66"] = [21687] let s:lib.Codec.decoding_table["206,67"] = [21678] let s:lib.Codec.decoding_table["206,68"] = [21718] let s:lib.Codec.decoding_table["206,69"] = [21686] let s:lib.Codec.decoding_table["206,70"] = [21701] let s:lib.Codec.decoding_table["206,71"] = [21702] let s:lib.Codec.decoding_table["206,72"] = [21664] let s:lib.Codec.decoding_table["206,73"] = [21616] let s:lib.Codec.decoding_table["206,74"] = [21692] let s:lib.Codec.decoding_table["206,75"] = [21666] let s:lib.Codec.decoding_table["206,76"] = [21694] let s:lib.Codec.decoding_table["206,77"] = [21618] let s:lib.Codec.decoding_table["206,78"] = [21726] let s:lib.Codec.decoding_table["206,79"] = [21680] let s:lib.Codec.decoding_table["206,80"] = [22453] let s:lib.Codec.decoding_table["206,81"] = [22430] let s:lib.Codec.decoding_table["206,82"] = [22431] let s:lib.Codec.decoding_table["206,83"] = [22436] let s:lib.Codec.decoding_table["206,84"] = [22412] let s:lib.Codec.decoding_table["206,85"] = [22423] let s:lib.Codec.decoding_table["206,86"] = [22429] let s:lib.Codec.decoding_table["206,87"] = [22427] let s:lib.Codec.decoding_table["206,88"] = [22420] let s:lib.Codec.decoding_table["206,89"] = [22424] let s:lib.Codec.decoding_table["206,90"] = [22415] let s:lib.Codec.decoding_table["206,91"] = [22425] let s:lib.Codec.decoding_table["206,92"] = [22437] let s:lib.Codec.decoding_table["206,93"] = [22426] let s:lib.Codec.decoding_table["206,94"] = [22421] let s:lib.Codec.decoding_table["206,95"] = [22772] let s:lib.Codec.decoding_table["206,96"] = [22797] let s:lib.Codec.decoding_table["206,97"] = [22867] let s:lib.Codec.decoding_table["206,98"] = [23009] let s:lib.Codec.decoding_table["206,99"] = [23006] let s:lib.Codec.decoding_table["206,100"] = [23022] let s:lib.Codec.decoding_table["206,101"] = [23040] let s:lib.Codec.decoding_table["206,102"] = [23025] let s:lib.Codec.decoding_table["206,103"] = [23005] let s:lib.Codec.decoding_table["206,104"] = [23034] let s:lib.Codec.decoding_table["206,105"] = [23037] let s:lib.Codec.decoding_table["206,106"] = [23036] let s:lib.Codec.decoding_table["206,107"] = [23030] let s:lib.Codec.decoding_table["206,108"] = [23012] let s:lib.Codec.decoding_table["206,109"] = [23026] let s:lib.Codec.decoding_table["206,110"] = [23031] let s:lib.Codec.decoding_table["206,111"] = [23003] let s:lib.Codec.decoding_table["206,112"] = [23017] let s:lib.Codec.decoding_table["206,113"] = [23027] let s:lib.Codec.decoding_table["206,114"] = [23029] let s:lib.Codec.decoding_table["206,115"] = [23008] let s:lib.Codec.decoding_table["206,116"] = [23038] let s:lib.Codec.decoding_table["206,117"] = [23028] let s:lib.Codec.decoding_table["206,118"] = [23021] let s:lib.Codec.decoding_table["206,119"] = [23464] let s:lib.Codec.decoding_table["206,120"] = [23628] let s:lib.Codec.decoding_table["206,121"] = [23760] let s:lib.Codec.decoding_table["206,122"] = [23768] let s:lib.Codec.decoding_table["206,123"] = [23756] let s:lib.Codec.decoding_table["206,124"] = [23767] let s:lib.Codec.decoding_table["206,125"] = [23755] let s:lib.Codec.decoding_table["206,126"] = [23771] let s:lib.Codec.decoding_table["206,161"] = [23774] let s:lib.Codec.decoding_table["206,162"] = [23770] let s:lib.Codec.decoding_table["206,163"] = [23753] let s:lib.Codec.decoding_table["206,164"] = [23751] let s:lib.Codec.decoding_table["206,165"] = [23754] let s:lib.Codec.decoding_table["206,166"] = [23766] let s:lib.Codec.decoding_table["206,167"] = [23763] let s:lib.Codec.decoding_table["206,168"] = [23764] let s:lib.Codec.decoding_table["206,169"] = [23759] let s:lib.Codec.decoding_table["206,170"] = [23752] let s:lib.Codec.decoding_table["206,171"] = [23750] let s:lib.Codec.decoding_table["206,172"] = [23758] let s:lib.Codec.decoding_table["206,173"] = [23775] let s:lib.Codec.decoding_table["206,174"] = [23800] let s:lib.Codec.decoding_table["206,175"] = [24057] let s:lib.Codec.decoding_table["206,176"] = [24097] let s:lib.Codec.decoding_table["206,177"] = [24098] let s:lib.Codec.decoding_table["206,178"] = [24099] let s:lib.Codec.decoding_table["206,179"] = [24096] let s:lib.Codec.decoding_table["206,180"] = [24100] let s:lib.Codec.decoding_table["206,181"] = [24240] let s:lib.Codec.decoding_table["206,182"] = [24228] let s:lib.Codec.decoding_table["206,183"] = [24226] let s:lib.Codec.decoding_table["206,184"] = [24219] let s:lib.Codec.decoding_table["206,185"] = [24227] let s:lib.Codec.decoding_table["206,186"] = [24229] let s:lib.Codec.decoding_table["206,187"] = [24327] let s:lib.Codec.decoding_table["206,188"] = [24366] let s:lib.Codec.decoding_table["206,189"] = [24406] let s:lib.Codec.decoding_table["206,190"] = [24454] let s:lib.Codec.decoding_table["206,191"] = [24631] let s:lib.Codec.decoding_table["206,192"] = [24633] let s:lib.Codec.decoding_table["206,193"] = [24660] let s:lib.Codec.decoding_table["206,194"] = [24690] let s:lib.Codec.decoding_table["206,195"] = [24670] let s:lib.Codec.decoding_table["206,196"] = [24645] let s:lib.Codec.decoding_table["206,197"] = [24659] let s:lib.Codec.decoding_table["206,198"] = [24647] let s:lib.Codec.decoding_table["206,199"] = [24649] let s:lib.Codec.decoding_table["206,200"] = [24667] let s:lib.Codec.decoding_table["206,201"] = [24652] let s:lib.Codec.decoding_table["206,202"] = [24640] let s:lib.Codec.decoding_table["206,203"] = [24642] let s:lib.Codec.decoding_table["206,204"] = [24671] let s:lib.Codec.decoding_table["206,205"] = [24612] let s:lib.Codec.decoding_table["206,206"] = [24644] let s:lib.Codec.decoding_table["206,207"] = [24664] let s:lib.Codec.decoding_table["206,208"] = [24678] let s:lib.Codec.decoding_table["206,209"] = [24686] let s:lib.Codec.decoding_table["206,210"] = [25154] let s:lib.Codec.decoding_table["206,211"] = [25155] let s:lib.Codec.decoding_table["206,212"] = [25295] let s:lib.Codec.decoding_table["206,213"] = [25357] let s:lib.Codec.decoding_table["206,214"] = [25355] let s:lib.Codec.decoding_table["206,215"] = [25333] let s:lib.Codec.decoding_table["206,216"] = [25358] let s:lib.Codec.decoding_table["206,217"] = [25347] let s:lib.Codec.decoding_table["206,218"] = [25323] let s:lib.Codec.decoding_table["206,219"] = [25337] let s:lib.Codec.decoding_table["206,220"] = [25359] let s:lib.Codec.decoding_table["206,221"] = [25356] let s:lib.Codec.decoding_table["206,222"] = [25336] let s:lib.Codec.decoding_table["206,223"] = [25334] let s:lib.Codec.decoding_table["206,224"] = [25344] let s:lib.Codec.decoding_table["206,225"] = [25363] let s:lib.Codec.decoding_table["206,226"] = [25364] let s:lib.Codec.decoding_table["206,227"] = [25338] let s:lib.Codec.decoding_table["206,228"] = [25365] let s:lib.Codec.decoding_table["206,229"] = [25339] let s:lib.Codec.decoding_table["206,230"] = [25328] let s:lib.Codec.decoding_table["206,231"] = [25921] let s:lib.Codec.decoding_table["206,232"] = [25923] let s:lib.Codec.decoding_table["206,233"] = [26026] let s:lib.Codec.decoding_table["206,234"] = [26047] let s:lib.Codec.decoding_table["206,235"] = [26166] let s:lib.Codec.decoding_table["206,236"] = [26145] let s:lib.Codec.decoding_table["206,237"] = [26162] let s:lib.Codec.decoding_table["206,238"] = [26165] let s:lib.Codec.decoding_table["206,239"] = [26140] let s:lib.Codec.decoding_table["206,240"] = [26150] let s:lib.Codec.decoding_table["206,241"] = [26146] let s:lib.Codec.decoding_table["206,242"] = [26163] let s:lib.Codec.decoding_table["206,243"] = [26155] let s:lib.Codec.decoding_table["206,244"] = [26170] let s:lib.Codec.decoding_table["206,245"] = [26141] let s:lib.Codec.decoding_table["206,246"] = [26164] let s:lib.Codec.decoding_table["206,247"] = [26169] let s:lib.Codec.decoding_table["206,248"] = [26158] let s:lib.Codec.decoding_table["206,249"] = [26383] let s:lib.Codec.decoding_table["206,250"] = [26384] let s:lib.Codec.decoding_table["206,251"] = [26561] let s:lib.Codec.decoding_table["206,252"] = [26610] let s:lib.Codec.decoding_table["206,253"] = [26568] let s:lib.Codec.decoding_table["206,254"] = [26554] let s:lib.Codec.decoding_table["207,64"] = [26588] let s:lib.Codec.decoding_table["207,65"] = [26555] let s:lib.Codec.decoding_table["207,66"] = [26616] let s:lib.Codec.decoding_table["207,67"] = [26584] let s:lib.Codec.decoding_table["207,68"] = [26560] let s:lib.Codec.decoding_table["207,69"] = [26551] let s:lib.Codec.decoding_table["207,70"] = [26565] let s:lib.Codec.decoding_table["207,71"] = [26603] let s:lib.Codec.decoding_table["207,72"] = [26596] let s:lib.Codec.decoding_table["207,73"] = [26591] let s:lib.Codec.decoding_table["207,74"] = [26549] let s:lib.Codec.decoding_table["207,75"] = [26573] let s:lib.Codec.decoding_table["207,76"] = [26547] let s:lib.Codec.decoding_table["207,77"] = [26615] let s:lib.Codec.decoding_table["207,78"] = [26614] let s:lib.Codec.decoding_table["207,79"] = [26606] let s:lib.Codec.decoding_table["207,80"] = [26595] let s:lib.Codec.decoding_table["207,81"] = [26562] let s:lib.Codec.decoding_table["207,82"] = [26553] let s:lib.Codec.decoding_table["207,83"] = [26574] let s:lib.Codec.decoding_table["207,84"] = [26599] let s:lib.Codec.decoding_table["207,85"] = [26608] let s:lib.Codec.decoding_table["207,86"] = [26546] let s:lib.Codec.decoding_table["207,87"] = [26620] let s:lib.Codec.decoding_table["207,88"] = [26566] let s:lib.Codec.decoding_table["207,89"] = [26605] let s:lib.Codec.decoding_table["207,90"] = [26572] let s:lib.Codec.decoding_table["207,91"] = [26542] let s:lib.Codec.decoding_table["207,92"] = [26598] let s:lib.Codec.decoding_table["207,93"] = [26587] let s:lib.Codec.decoding_table["207,94"] = [26618] let s:lib.Codec.decoding_table["207,95"] = [26569] let s:lib.Codec.decoding_table["207,96"] = [26570] let s:lib.Codec.decoding_table["207,97"] = [26563] let s:lib.Codec.decoding_table["207,98"] = [26602] let s:lib.Codec.decoding_table["207,99"] = [26571] let s:lib.Codec.decoding_table["207,100"] = [27432] let s:lib.Codec.decoding_table["207,101"] = [27522] let s:lib.Codec.decoding_table["207,102"] = [27524] let s:lib.Codec.decoding_table["207,103"] = [27574] let s:lib.Codec.decoding_table["207,104"] = [27606] let s:lib.Codec.decoding_table["207,105"] = [27608] let s:lib.Codec.decoding_table["207,106"] = [27616] let s:lib.Codec.decoding_table["207,107"] = [27680] let s:lib.Codec.decoding_table["207,108"] = [27681] let s:lib.Codec.decoding_table["207,109"] = [27944] let s:lib.Codec.decoding_table["207,110"] = [27956] let s:lib.Codec.decoding_table["207,111"] = [27949] let s:lib.Codec.decoding_table["207,112"] = [27935] let s:lib.Codec.decoding_table["207,113"] = [27964] let s:lib.Codec.decoding_table["207,114"] = [27967] let s:lib.Codec.decoding_table["207,115"] = [27922] let s:lib.Codec.decoding_table["207,116"] = [27914] let s:lib.Codec.decoding_table["207,117"] = [27866] let s:lib.Codec.decoding_table["207,118"] = [27955] let s:lib.Codec.decoding_table["207,119"] = [27908] let s:lib.Codec.decoding_table["207,120"] = [27929] let s:lib.Codec.decoding_table["207,121"] = [27962] let s:lib.Codec.decoding_table["207,122"] = [27930] let s:lib.Codec.decoding_table["207,123"] = [27921] let s:lib.Codec.decoding_table["207,124"] = [27904] let s:lib.Codec.decoding_table["207,125"] = [27933] let s:lib.Codec.decoding_table["207,126"] = [27970] let s:lib.Codec.decoding_table["207,161"] = [27905] let s:lib.Codec.decoding_table["207,162"] = [27928] let s:lib.Codec.decoding_table["207,163"] = [27959] let s:lib.Codec.decoding_table["207,164"] = [27907] let s:lib.Codec.decoding_table["207,165"] = [27919] let s:lib.Codec.decoding_table["207,166"] = [27968] let s:lib.Codec.decoding_table["207,167"] = [27911] let s:lib.Codec.decoding_table["207,168"] = [27936] let s:lib.Codec.decoding_table["207,169"] = [27948] let s:lib.Codec.decoding_table["207,170"] = [27912] let s:lib.Codec.decoding_table["207,171"] = [27938] let s:lib.Codec.decoding_table["207,172"] = [27913] let s:lib.Codec.decoding_table["207,173"] = [27920] let s:lib.Codec.decoding_table["207,174"] = [28855] let s:lib.Codec.decoding_table["207,175"] = [28831] let s:lib.Codec.decoding_table["207,176"] = [28862] let s:lib.Codec.decoding_table["207,177"] = [28849] let s:lib.Codec.decoding_table["207,178"] = [28848] let s:lib.Codec.decoding_table["207,179"] = [28833] let s:lib.Codec.decoding_table["207,180"] = [28852] let s:lib.Codec.decoding_table["207,181"] = [28853] let s:lib.Codec.decoding_table["207,182"] = [28841] let s:lib.Codec.decoding_table["207,183"] = [29249] let s:lib.Codec.decoding_table["207,184"] = [29257] let s:lib.Codec.decoding_table["207,185"] = [29258] let s:lib.Codec.decoding_table["207,186"] = [29292] let s:lib.Codec.decoding_table["207,187"] = [29296] let s:lib.Codec.decoding_table["207,188"] = [29299] let s:lib.Codec.decoding_table["207,189"] = [29294] let s:lib.Codec.decoding_table["207,190"] = [29386] let s:lib.Codec.decoding_table["207,191"] = [29412] let s:lib.Codec.decoding_table["207,192"] = [29416] let s:lib.Codec.decoding_table["207,193"] = [29419] let s:lib.Codec.decoding_table["207,194"] = [29407] let s:lib.Codec.decoding_table["207,195"] = [29418] let s:lib.Codec.decoding_table["207,196"] = [29414] let s:lib.Codec.decoding_table["207,197"] = [29411] let s:lib.Codec.decoding_table["207,198"] = [29573] let s:lib.Codec.decoding_table["207,199"] = [29644] let s:lib.Codec.decoding_table["207,200"] = [29634] let s:lib.Codec.decoding_table["207,201"] = [29640] let s:lib.Codec.decoding_table["207,202"] = [29637] let s:lib.Codec.decoding_table["207,203"] = [29625] let s:lib.Codec.decoding_table["207,204"] = [29622] let s:lib.Codec.decoding_table["207,205"] = [29621] let s:lib.Codec.decoding_table["207,206"] = [29620] let s:lib.Codec.decoding_table["207,207"] = [29675] let s:lib.Codec.decoding_table["207,208"] = [29631] let s:lib.Codec.decoding_table["207,209"] = [29639] let s:lib.Codec.decoding_table["207,210"] = [29630] let s:lib.Codec.decoding_table["207,211"] = [29635] let s:lib.Codec.decoding_table["207,212"] = [29638] let s:lib.Codec.decoding_table["207,213"] = [29624] let s:lib.Codec.decoding_table["207,214"] = [29643] let s:lib.Codec.decoding_table["207,215"] = [29932] let s:lib.Codec.decoding_table["207,216"] = [29934] let s:lib.Codec.decoding_table["207,217"] = [29998] let s:lib.Codec.decoding_table["207,218"] = [30023] let s:lib.Codec.decoding_table["207,219"] = [30024] let s:lib.Codec.decoding_table["207,220"] = [30119] let s:lib.Codec.decoding_table["207,221"] = [30122] let s:lib.Codec.decoding_table["207,222"] = [30329] let s:lib.Codec.decoding_table["207,223"] = [30404] let s:lib.Codec.decoding_table["207,224"] = [30472] let s:lib.Codec.decoding_table["207,225"] = [30467] let s:lib.Codec.decoding_table["207,226"] = [30468] let s:lib.Codec.decoding_table["207,227"] = [30469] let s:lib.Codec.decoding_table["207,228"] = [30474] let s:lib.Codec.decoding_table["207,229"] = [30455] let s:lib.Codec.decoding_table["207,230"] = [30459] let s:lib.Codec.decoding_table["207,231"] = [30458] let s:lib.Codec.decoding_table["207,232"] = [30695] let s:lib.Codec.decoding_table["207,233"] = [30696] let s:lib.Codec.decoding_table["207,234"] = [30726] let s:lib.Codec.decoding_table["207,235"] = [30737] let s:lib.Codec.decoding_table["207,236"] = [30738] let s:lib.Codec.decoding_table["207,237"] = [30725] let s:lib.Codec.decoding_table["207,238"] = [30736] let s:lib.Codec.decoding_table["207,239"] = [30735] let s:lib.Codec.decoding_table["207,240"] = [30734] let s:lib.Codec.decoding_table["207,241"] = [30729] let s:lib.Codec.decoding_table["207,242"] = [30723] let s:lib.Codec.decoding_table["207,243"] = [30739] let s:lib.Codec.decoding_table["207,244"] = [31050] let s:lib.Codec.decoding_table["207,245"] = [31052] let s:lib.Codec.decoding_table["207,246"] = [31051] let s:lib.Codec.decoding_table["207,247"] = [31045] let s:lib.Codec.decoding_table["207,248"] = [31044] let s:lib.Codec.decoding_table["207,249"] = [31189] let s:lib.Codec.decoding_table["207,250"] = [31181] let s:lib.Codec.decoding_table["207,251"] = [31183] let s:lib.Codec.decoding_table["207,252"] = [31190] let s:lib.Codec.decoding_table["207,253"] = [31182] let s:lib.Codec.decoding_table["207,254"] = [31360] let s:lib.Codec.decoding_table["208,64"] = [31358] let s:lib.Codec.decoding_table["208,65"] = [31441] let s:lib.Codec.decoding_table["208,66"] = [31488] let s:lib.Codec.decoding_table["208,67"] = [31489] let s:lib.Codec.decoding_table["208,68"] = [31866] let s:lib.Codec.decoding_table["208,69"] = [31864] let s:lib.Codec.decoding_table["208,70"] = [31865] let s:lib.Codec.decoding_table["208,71"] = [31871] let s:lib.Codec.decoding_table["208,72"] = [31872] let s:lib.Codec.decoding_table["208,73"] = [31873] let s:lib.Codec.decoding_table["208,74"] = [32003] let s:lib.Codec.decoding_table["208,75"] = [32008] let s:lib.Codec.decoding_table["208,76"] = [32001] let s:lib.Codec.decoding_table["208,77"] = [32600] let s:lib.Codec.decoding_table["208,78"] = [32657] let s:lib.Codec.decoding_table["208,79"] = [32653] let s:lib.Codec.decoding_table["208,80"] = [32702] let s:lib.Codec.decoding_table["208,81"] = [32775] let s:lib.Codec.decoding_table["208,82"] = [32782] let s:lib.Codec.decoding_table["208,83"] = [32783] let s:lib.Codec.decoding_table["208,84"] = [32788] let s:lib.Codec.decoding_table["208,85"] = [32823] let s:lib.Codec.decoding_table["208,86"] = [32984] let s:lib.Codec.decoding_table["208,87"] = [32967] let s:lib.Codec.decoding_table["208,88"] = [32992] let s:lib.Codec.decoding_table["208,89"] = [32977] let s:lib.Codec.decoding_table["208,90"] = [32968] let s:lib.Codec.decoding_table["208,91"] = [32962] let s:lib.Codec.decoding_table["208,92"] = [32976] let s:lib.Codec.decoding_table["208,93"] = [32965] let s:lib.Codec.decoding_table["208,94"] = [32995] let s:lib.Codec.decoding_table["208,95"] = [32985] let s:lib.Codec.decoding_table["208,96"] = [32988] let s:lib.Codec.decoding_table["208,97"] = [32970] let s:lib.Codec.decoding_table["208,98"] = [32981] let s:lib.Codec.decoding_table["208,99"] = [32969] let s:lib.Codec.decoding_table["208,100"] = [32975] let s:lib.Codec.decoding_table["208,101"] = [32983] let s:lib.Codec.decoding_table["208,102"] = [32998] let s:lib.Codec.decoding_table["208,103"] = [32973] let s:lib.Codec.decoding_table["208,104"] = [33279] let s:lib.Codec.decoding_table["208,105"] = [33313] let s:lib.Codec.decoding_table["208,106"] = [33428] let s:lib.Codec.decoding_table["208,107"] = [33497] let s:lib.Codec.decoding_table["208,108"] = [33534] let s:lib.Codec.decoding_table["208,109"] = [33529] let s:lib.Codec.decoding_table["208,110"] = [33543] let s:lib.Codec.decoding_table["208,111"] = [33512] let s:lib.Codec.decoding_table["208,112"] = [33536] let s:lib.Codec.decoding_table["208,113"] = [33493] let s:lib.Codec.decoding_table["208,114"] = [33594] let s:lib.Codec.decoding_table["208,115"] = [33515] let s:lib.Codec.decoding_table["208,116"] = [33494] let s:lib.Codec.decoding_table["208,117"] = [33524] let s:lib.Codec.decoding_table["208,118"] = [33516] let s:lib.Codec.decoding_table["208,119"] = [33505] let s:lib.Codec.decoding_table["208,120"] = [33522] let s:lib.Codec.decoding_table["208,121"] = [33525] let s:lib.Codec.decoding_table["208,122"] = [33548] let s:lib.Codec.decoding_table["208,123"] = [33531] let s:lib.Codec.decoding_table["208,124"] = [33526] let s:lib.Codec.decoding_table["208,125"] = [33520] let s:lib.Codec.decoding_table["208,126"] = [33514] let s:lib.Codec.decoding_table["208,161"] = [33508] let s:lib.Codec.decoding_table["208,162"] = [33504] let s:lib.Codec.decoding_table["208,163"] = [33530] let s:lib.Codec.decoding_table["208,164"] = [33523] let s:lib.Codec.decoding_table["208,165"] = [33517] let s:lib.Codec.decoding_table["208,166"] = [34423] let s:lib.Codec.decoding_table["208,167"] = [34420] let s:lib.Codec.decoding_table["208,168"] = [34428] let s:lib.Codec.decoding_table["208,169"] = [34419] let s:lib.Codec.decoding_table["208,170"] = [34881] let s:lib.Codec.decoding_table["208,171"] = [34894] let s:lib.Codec.decoding_table["208,172"] = [34919] let s:lib.Codec.decoding_table["208,173"] = [34922] let s:lib.Codec.decoding_table["208,174"] = [34921] let s:lib.Codec.decoding_table["208,175"] = [35283] let s:lib.Codec.decoding_table["208,176"] = [35332] let s:lib.Codec.decoding_table["208,177"] = [35335] let s:lib.Codec.decoding_table["208,178"] = [36210] let s:lib.Codec.decoding_table["208,179"] = [36835] let s:lib.Codec.decoding_table["208,180"] = [36833] let s:lib.Codec.decoding_table["208,181"] = [36846] let s:lib.Codec.decoding_table["208,182"] = [36832] let s:lib.Codec.decoding_table["208,183"] = [37105] let s:lib.Codec.decoding_table["208,184"] = [37053] let s:lib.Codec.decoding_table["208,185"] = [37055] let s:lib.Codec.decoding_table["208,186"] = [37077] let s:lib.Codec.decoding_table["208,187"] = [37061] let s:lib.Codec.decoding_table["208,188"] = [37054] let s:lib.Codec.decoding_table["208,189"] = [37063] let s:lib.Codec.decoding_table["208,190"] = [37067] let s:lib.Codec.decoding_table["208,191"] = [37064] let s:lib.Codec.decoding_table["208,192"] = [37332] let s:lib.Codec.decoding_table["208,193"] = [37331] let s:lib.Codec.decoding_table["208,194"] = [38484] let s:lib.Codec.decoding_table["208,195"] = [38479] let s:lib.Codec.decoding_table["208,196"] = [38481] let s:lib.Codec.decoding_table["208,197"] = [38483] let s:lib.Codec.decoding_table["208,198"] = [38474] let s:lib.Codec.decoding_table["208,199"] = [38478] let s:lib.Codec.decoding_table["208,200"] = [20510] let s:lib.Codec.decoding_table["208,201"] = [20485] let s:lib.Codec.decoding_table["208,202"] = [20487] let s:lib.Codec.decoding_table["208,203"] = [20499] let s:lib.Codec.decoding_table["208,204"] = [20514] let s:lib.Codec.decoding_table["208,205"] = [20528] let s:lib.Codec.decoding_table["208,206"] = [20507] let s:lib.Codec.decoding_table["208,207"] = [20469] let s:lib.Codec.decoding_table["208,208"] = [20468] let s:lib.Codec.decoding_table["208,209"] = [20531] let s:lib.Codec.decoding_table["208,210"] = [20535] let s:lib.Codec.decoding_table["208,211"] = [20524] let s:lib.Codec.decoding_table["208,212"] = [20470] let s:lib.Codec.decoding_table["208,213"] = [20471] let s:lib.Codec.decoding_table["208,214"] = [20503] let s:lib.Codec.decoding_table["208,215"] = [20508] let s:lib.Codec.decoding_table["208,216"] = [20512] let s:lib.Codec.decoding_table["208,217"] = [20519] let s:lib.Codec.decoding_table["208,218"] = [20533] let s:lib.Codec.decoding_table["208,219"] = [20527] let s:lib.Codec.decoding_table["208,220"] = [20529] let s:lib.Codec.decoding_table["208,221"] = [20494] let s:lib.Codec.decoding_table["208,222"] = [20826] let s:lib.Codec.decoding_table["208,223"] = [20884] let s:lib.Codec.decoding_table["208,224"] = [20883] let s:lib.Codec.decoding_table["208,225"] = [20938] let s:lib.Codec.decoding_table["208,226"] = [20932] let s:lib.Codec.decoding_table["208,227"] = [20933] let s:lib.Codec.decoding_table["208,228"] = [20936] let s:lib.Codec.decoding_table["208,229"] = [20942] let s:lib.Codec.decoding_table["208,230"] = [21089] let s:lib.Codec.decoding_table["208,231"] = [21082] let s:lib.Codec.decoding_table["208,232"] = [21074] let s:lib.Codec.decoding_table["208,233"] = [21086] let s:lib.Codec.decoding_table["208,234"] = [21087] let s:lib.Codec.decoding_table["208,235"] = [21077] let s:lib.Codec.decoding_table["208,236"] = [21090] let s:lib.Codec.decoding_table["208,237"] = [21197] let s:lib.Codec.decoding_table["208,238"] = [21262] let s:lib.Codec.decoding_table["208,239"] = [21406] let s:lib.Codec.decoding_table["208,240"] = [21798] let s:lib.Codec.decoding_table["208,241"] = [21730] let s:lib.Codec.decoding_table["208,242"] = [21783] let s:lib.Codec.decoding_table["208,243"] = [21778] let s:lib.Codec.decoding_table["208,244"] = [21735] let s:lib.Codec.decoding_table["208,245"] = [21747] let s:lib.Codec.decoding_table["208,246"] = [21732] let s:lib.Codec.decoding_table["208,247"] = [21786] let s:lib.Codec.decoding_table["208,248"] = [21759] let s:lib.Codec.decoding_table["208,249"] = [21764] let s:lib.Codec.decoding_table["208,250"] = [21768] let s:lib.Codec.decoding_table["208,251"] = [21739] let s:lib.Codec.decoding_table["208,252"] = [21777] let s:lib.Codec.decoding_table["208,253"] = [21765] let s:lib.Codec.decoding_table["208,254"] = [21745] let s:lib.Codec.decoding_table["209,64"] = [21770] let s:lib.Codec.decoding_table["209,65"] = [21755] let s:lib.Codec.decoding_table["209,66"] = [21751] let s:lib.Codec.decoding_table["209,67"] = [21752] let s:lib.Codec.decoding_table["209,68"] = [21728] let s:lib.Codec.decoding_table["209,69"] = [21774] let s:lib.Codec.decoding_table["209,70"] = [21763] let s:lib.Codec.decoding_table["209,71"] = [21771] let s:lib.Codec.decoding_table["209,72"] = [22273] let s:lib.Codec.decoding_table["209,73"] = [22274] let s:lib.Codec.decoding_table["209,74"] = [22476] let s:lib.Codec.decoding_table["209,75"] = [22578] let s:lib.Codec.decoding_table["209,76"] = [22485] let s:lib.Codec.decoding_table["209,77"] = [22482] let s:lib.Codec.decoding_table["209,78"] = [22458] let s:lib.Codec.decoding_table["209,79"] = [22470] let s:lib.Codec.decoding_table["209,80"] = [22461] let s:lib.Codec.decoding_table["209,81"] = [22460] let s:lib.Codec.decoding_table["209,82"] = [22456] let s:lib.Codec.decoding_table["209,83"] = [22454] let s:lib.Codec.decoding_table["209,84"] = [22463] let s:lib.Codec.decoding_table["209,85"] = [22471] let s:lib.Codec.decoding_table["209,86"] = [22480] let s:lib.Codec.decoding_table["209,87"] = [22457] let s:lib.Codec.decoding_table["209,88"] = [22465] let s:lib.Codec.decoding_table["209,89"] = [22798] let s:lib.Codec.decoding_table["209,90"] = [22858] let s:lib.Codec.decoding_table["209,91"] = [23065] let s:lib.Codec.decoding_table["209,92"] = [23062] let s:lib.Codec.decoding_table["209,93"] = [23085] let s:lib.Codec.decoding_table["209,94"] = [23086] let s:lib.Codec.decoding_table["209,95"] = [23061] let s:lib.Codec.decoding_table["209,96"] = [23055] let s:lib.Codec.decoding_table["209,97"] = [23063] let s:lib.Codec.decoding_table["209,98"] = [23050] let s:lib.Codec.decoding_table["209,99"] = [23070] let s:lib.Codec.decoding_table["209,100"] = [23091] let s:lib.Codec.decoding_table["209,101"] = [23404] let s:lib.Codec.decoding_table["209,102"] = [23463] let s:lib.Codec.decoding_table["209,103"] = [23469] let s:lib.Codec.decoding_table["209,104"] = [23468] let s:lib.Codec.decoding_table["209,105"] = [23555] let s:lib.Codec.decoding_table["209,106"] = [23638] let s:lib.Codec.decoding_table["209,107"] = [23636] let s:lib.Codec.decoding_table["209,108"] = [23788] let s:lib.Codec.decoding_table["209,109"] = [23807] let s:lib.Codec.decoding_table["209,110"] = [23790] let s:lib.Codec.decoding_table["209,111"] = [23793] let s:lib.Codec.decoding_table["209,112"] = [23799] let s:lib.Codec.decoding_table["209,113"] = [23808] let s:lib.Codec.decoding_table["209,114"] = [23801] let s:lib.Codec.decoding_table["209,115"] = [24105] let s:lib.Codec.decoding_table["209,116"] = [24104] let s:lib.Codec.decoding_table["209,117"] = [24232] let s:lib.Codec.decoding_table["209,118"] = [24238] let s:lib.Codec.decoding_table["209,119"] = [24234] let s:lib.Codec.decoding_table["209,120"] = [24236] let s:lib.Codec.decoding_table["209,121"] = [24371] let s:lib.Codec.decoding_table["209,122"] = [24368] let s:lib.Codec.decoding_table["209,123"] = [24423] let s:lib.Codec.decoding_table["209,124"] = [24669] let s:lib.Codec.decoding_table["209,125"] = [24666] let s:lib.Codec.decoding_table["209,126"] = [24679] let s:lib.Codec.decoding_table["209,161"] = [24641] let s:lib.Codec.decoding_table["209,162"] = [24738] let s:lib.Codec.decoding_table["209,163"] = [24712] let s:lib.Codec.decoding_table["209,164"] = [24704] let s:lib.Codec.decoding_table["209,165"] = [24722] let s:lib.Codec.decoding_table["209,166"] = [24705] let s:lib.Codec.decoding_table["209,167"] = [24733] let s:lib.Codec.decoding_table["209,168"] = [24707] let s:lib.Codec.decoding_table["209,169"] = [24725] let s:lib.Codec.decoding_table["209,170"] = [24731] let s:lib.Codec.decoding_table["209,171"] = [24727] let s:lib.Codec.decoding_table["209,172"] = [24711] let s:lib.Codec.decoding_table["209,173"] = [24732] let s:lib.Codec.decoding_table["209,174"] = [24718] let s:lib.Codec.decoding_table["209,175"] = [25113] let s:lib.Codec.decoding_table["209,176"] = [25158] let s:lib.Codec.decoding_table["209,177"] = [25330] let s:lib.Codec.decoding_table["209,178"] = [25360] let s:lib.Codec.decoding_table["209,179"] = [25430] let s:lib.Codec.decoding_table["209,180"] = [25388] let s:lib.Codec.decoding_table["209,181"] = [25412] let s:lib.Codec.decoding_table["209,182"] = [25413] let s:lib.Codec.decoding_table["209,183"] = [25398] let s:lib.Codec.decoding_table["209,184"] = [25411] let s:lib.Codec.decoding_table["209,185"] = [25572] let s:lib.Codec.decoding_table["209,186"] = [25401] let s:lib.Codec.decoding_table["209,187"] = [25419] let s:lib.Codec.decoding_table["209,188"] = [25418] let s:lib.Codec.decoding_table["209,189"] = [25404] let s:lib.Codec.decoding_table["209,190"] = [25385] let s:lib.Codec.decoding_table["209,191"] = [25409] let s:lib.Codec.decoding_table["209,192"] = [25396] let s:lib.Codec.decoding_table["209,193"] = [25432] let s:lib.Codec.decoding_table["209,194"] = [25428] let s:lib.Codec.decoding_table["209,195"] = [25433] let s:lib.Codec.decoding_table["209,196"] = [25389] let s:lib.Codec.decoding_table["209,197"] = [25415] let s:lib.Codec.decoding_table["209,198"] = [25395] let s:lib.Codec.decoding_table["209,199"] = [25434] let s:lib.Codec.decoding_table["209,200"] = [25425] let s:lib.Codec.decoding_table["209,201"] = [25400] let s:lib.Codec.decoding_table["209,202"] = [25431] let s:lib.Codec.decoding_table["209,203"] = [25408] let s:lib.Codec.decoding_table["209,204"] = [25416] let s:lib.Codec.decoding_table["209,205"] = [25930] let s:lib.Codec.decoding_table["209,206"] = [25926] let s:lib.Codec.decoding_table["209,207"] = [26054] let s:lib.Codec.decoding_table["209,208"] = [26051] let s:lib.Codec.decoding_table["209,209"] = [26052] let s:lib.Codec.decoding_table["209,210"] = [26050] let s:lib.Codec.decoding_table["209,211"] = [26186] let s:lib.Codec.decoding_table["209,212"] = [26207] let s:lib.Codec.decoding_table["209,213"] = [26183] let s:lib.Codec.decoding_table["209,214"] = [26193] let s:lib.Codec.decoding_table["209,215"] = [26386] let s:lib.Codec.decoding_table["209,216"] = [26387] let s:lib.Codec.decoding_table["209,217"] = [26655] let s:lib.Codec.decoding_table["209,218"] = [26650] let s:lib.Codec.decoding_table["209,219"] = [26697] let s:lib.Codec.decoding_table["209,220"] = [26674] let s:lib.Codec.decoding_table["209,221"] = [26675] let s:lib.Codec.decoding_table["209,222"] = [26683] let s:lib.Codec.decoding_table["209,223"] = [26699] let s:lib.Codec.decoding_table["209,224"] = [26703] let s:lib.Codec.decoding_table["209,225"] = [26646] let s:lib.Codec.decoding_table["209,226"] = [26673] let s:lib.Codec.decoding_table["209,227"] = [26652] let s:lib.Codec.decoding_table["209,228"] = [26677] let s:lib.Codec.decoding_table["209,229"] = [26667] let s:lib.Codec.decoding_table["209,230"] = [26669] let s:lib.Codec.decoding_table["209,231"] = [26671] let s:lib.Codec.decoding_table["209,232"] = [26702] let s:lib.Codec.decoding_table["209,233"] = [26692] let s:lib.Codec.decoding_table["209,234"] = [26676] let s:lib.Codec.decoding_table["209,235"] = [26653] let s:lib.Codec.decoding_table["209,236"] = [26642] let s:lib.Codec.decoding_table["209,237"] = [26644] let s:lib.Codec.decoding_table["209,238"] = [26662] let s:lib.Codec.decoding_table["209,239"] = [26664] let s:lib.Codec.decoding_table["209,240"] = [26670] let s:lib.Codec.decoding_table["209,241"] = [26701] let s:lib.Codec.decoding_table["209,242"] = [26682] let s:lib.Codec.decoding_table["209,243"] = [26661] let s:lib.Codec.decoding_table["209,244"] = [26656] let s:lib.Codec.decoding_table["209,245"] = [27436] let s:lib.Codec.decoding_table["209,246"] = [27439] let s:lib.Codec.decoding_table["209,247"] = [27437] let s:lib.Codec.decoding_table["209,248"] = [27441] let s:lib.Codec.decoding_table["209,249"] = [27444] let s:lib.Codec.decoding_table["209,250"] = [27501] let s:lib.Codec.decoding_table["209,251"] = [32898] let s:lib.Codec.decoding_table["209,252"] = [27528] let s:lib.Codec.decoding_table["209,253"] = [27622] let s:lib.Codec.decoding_table["209,254"] = [27620] let s:lib.Codec.decoding_table["210,64"] = [27624] let s:lib.Codec.decoding_table["210,65"] = [27619] let s:lib.Codec.decoding_table["210,66"] = [27618] let s:lib.Codec.decoding_table["210,67"] = [27623] let s:lib.Codec.decoding_table["210,68"] = [27685] let s:lib.Codec.decoding_table["210,69"] = [28026] let s:lib.Codec.decoding_table["210,70"] = [28003] let s:lib.Codec.decoding_table["210,71"] = [28004] let s:lib.Codec.decoding_table["210,72"] = [28022] let s:lib.Codec.decoding_table["210,73"] = [27917] let s:lib.Codec.decoding_table["210,74"] = [28001] let s:lib.Codec.decoding_table["210,75"] = [28050] let s:lib.Codec.decoding_table["210,76"] = [27992] let s:lib.Codec.decoding_table["210,77"] = [28002] let s:lib.Codec.decoding_table["210,78"] = [28013] let s:lib.Codec.decoding_table["210,79"] = [28015] let s:lib.Codec.decoding_table["210,80"] = [28049] let s:lib.Codec.decoding_table["210,81"] = [28045] let s:lib.Codec.decoding_table["210,82"] = [28143] let s:lib.Codec.decoding_table["210,83"] = [28031] let s:lib.Codec.decoding_table["210,84"] = [28038] let s:lib.Codec.decoding_table["210,85"] = [27998] let s:lib.Codec.decoding_table["210,86"] = [28007] let s:lib.Codec.decoding_table["210,87"] = [28000] let s:lib.Codec.decoding_table["210,88"] = [28055] let s:lib.Codec.decoding_table["210,89"] = [28016] let s:lib.Codec.decoding_table["210,90"] = [28028] let s:lib.Codec.decoding_table["210,91"] = [27999] let s:lib.Codec.decoding_table["210,92"] = [28034] let s:lib.Codec.decoding_table["210,93"] = [28056] let s:lib.Codec.decoding_table["210,94"] = [27951] let s:lib.Codec.decoding_table["210,95"] = [28008] let s:lib.Codec.decoding_table["210,96"] = [28043] let s:lib.Codec.decoding_table["210,97"] = [28030] let s:lib.Codec.decoding_table["210,98"] = [28032] let s:lib.Codec.decoding_table["210,99"] = [28036] let s:lib.Codec.decoding_table["210,100"] = [27926] let s:lib.Codec.decoding_table["210,101"] = [28035] let s:lib.Codec.decoding_table["210,102"] = [28027] let s:lib.Codec.decoding_table["210,103"] = [28029] let s:lib.Codec.decoding_table["210,104"] = [28021] let s:lib.Codec.decoding_table["210,105"] = [28048] let s:lib.Codec.decoding_table["210,106"] = [28892] let s:lib.Codec.decoding_table["210,107"] = [28883] let s:lib.Codec.decoding_table["210,108"] = [28881] let s:lib.Codec.decoding_table["210,109"] = [28893] let s:lib.Codec.decoding_table["210,110"] = [28875] let s:lib.Codec.decoding_table["210,111"] = [32569] let s:lib.Codec.decoding_table["210,112"] = [28898] let s:lib.Codec.decoding_table["210,113"] = [28887] let s:lib.Codec.decoding_table["210,114"] = [28882] let s:lib.Codec.decoding_table["210,115"] = [28894] let s:lib.Codec.decoding_table["210,116"] = [28896] let s:lib.Codec.decoding_table["210,117"] = [28884] let s:lib.Codec.decoding_table["210,118"] = [28877] let s:lib.Codec.decoding_table["210,119"] = [28869] let s:lib.Codec.decoding_table["210,120"] = [28870] let s:lib.Codec.decoding_table["210,121"] = [28871] let s:lib.Codec.decoding_table["210,122"] = [28890] let s:lib.Codec.decoding_table["210,123"] = [28878] let s:lib.Codec.decoding_table["210,124"] = [28897] let s:lib.Codec.decoding_table["210,125"] = [29250] let s:lib.Codec.decoding_table["210,126"] = [29304] let s:lib.Codec.decoding_table["210,161"] = [29303] let s:lib.Codec.decoding_table["210,162"] = [29302] let s:lib.Codec.decoding_table["210,163"] = [29440] let s:lib.Codec.decoding_table["210,164"] = [29434] let s:lib.Codec.decoding_table["210,165"] = [29428] let s:lib.Codec.decoding_table["210,166"] = [29438] let s:lib.Codec.decoding_table["210,167"] = [29430] let s:lib.Codec.decoding_table["210,168"] = [29427] let s:lib.Codec.decoding_table["210,169"] = [29435] let s:lib.Codec.decoding_table["210,170"] = [29441] let s:lib.Codec.decoding_table["210,171"] = [29651] let s:lib.Codec.decoding_table["210,172"] = [29657] let s:lib.Codec.decoding_table["210,173"] = [29669] let s:lib.Codec.decoding_table["210,174"] = [29654] let s:lib.Codec.decoding_table["210,175"] = [29628] let s:lib.Codec.decoding_table["210,176"] = [29671] let s:lib.Codec.decoding_table["210,177"] = [29667] let s:lib.Codec.decoding_table["210,178"] = [29673] let s:lib.Codec.decoding_table["210,179"] = [29660] let s:lib.Codec.decoding_table["210,180"] = [29650] let s:lib.Codec.decoding_table["210,181"] = [29659] let s:lib.Codec.decoding_table["210,182"] = [29652] let s:lib.Codec.decoding_table["210,183"] = [29661] let s:lib.Codec.decoding_table["210,184"] = [29658] let s:lib.Codec.decoding_table["210,185"] = [29655] let s:lib.Codec.decoding_table["210,186"] = [29656] let s:lib.Codec.decoding_table["210,187"] = [29672] let s:lib.Codec.decoding_table["210,188"] = [29918] let s:lib.Codec.decoding_table["210,189"] = [29919] let s:lib.Codec.decoding_table["210,190"] = [29940] let s:lib.Codec.decoding_table["210,191"] = [29941] let s:lib.Codec.decoding_table["210,192"] = [29985] let s:lib.Codec.decoding_table["210,193"] = [30043] let s:lib.Codec.decoding_table["210,194"] = [30047] let s:lib.Codec.decoding_table["210,195"] = [30128] let s:lib.Codec.decoding_table["210,196"] = [30145] let s:lib.Codec.decoding_table["210,197"] = [30139] let s:lib.Codec.decoding_table["210,198"] = [30148] let s:lib.Codec.decoding_table["210,199"] = [30144] let s:lib.Codec.decoding_table["210,200"] = [30143] let s:lib.Codec.decoding_table["210,201"] = [30134] let s:lib.Codec.decoding_table["210,202"] = [30138] let s:lib.Codec.decoding_table["210,203"] = [30346] let s:lib.Codec.decoding_table["210,204"] = [30409] let s:lib.Codec.decoding_table["210,205"] = [30493] let s:lib.Codec.decoding_table["210,206"] = [30491] let s:lib.Codec.decoding_table["210,207"] = [30480] let s:lib.Codec.decoding_table["210,208"] = [30483] let s:lib.Codec.decoding_table["210,209"] = [30482] let s:lib.Codec.decoding_table["210,210"] = [30499] let s:lib.Codec.decoding_table["210,211"] = [30481] let s:lib.Codec.decoding_table["210,212"] = [30485] let s:lib.Codec.decoding_table["210,213"] = [30489] let s:lib.Codec.decoding_table["210,214"] = [30490] let s:lib.Codec.decoding_table["210,215"] = [30498] let s:lib.Codec.decoding_table["210,216"] = [30503] let s:lib.Codec.decoding_table["210,217"] = [30755] let s:lib.Codec.decoding_table["210,218"] = [30764] let s:lib.Codec.decoding_table["210,219"] = [30754] let s:lib.Codec.decoding_table["210,220"] = [30773] let s:lib.Codec.decoding_table["210,221"] = [30767] let s:lib.Codec.decoding_table["210,222"] = [30760] let s:lib.Codec.decoding_table["210,223"] = [30766] let s:lib.Codec.decoding_table["210,224"] = [30763] let s:lib.Codec.decoding_table["210,225"] = [30753] let s:lib.Codec.decoding_table["210,226"] = [30761] let s:lib.Codec.decoding_table["210,227"] = [30771] let s:lib.Codec.decoding_table["210,228"] = [30762] let s:lib.Codec.decoding_table["210,229"] = [30769] let s:lib.Codec.decoding_table["210,230"] = [31060] let s:lib.Codec.decoding_table["210,231"] = [31067] let s:lib.Codec.decoding_table["210,232"] = [31055] let s:lib.Codec.decoding_table["210,233"] = [31068] let s:lib.Codec.decoding_table["210,234"] = [31059] let s:lib.Codec.decoding_table["210,235"] = [31058] let s:lib.Codec.decoding_table["210,236"] = [31057] let s:lib.Codec.decoding_table["210,237"] = [31211] let s:lib.Codec.decoding_table["210,238"] = [31212] let s:lib.Codec.decoding_table["210,239"] = [31200] let s:lib.Codec.decoding_table["210,240"] = [31214] let s:lib.Codec.decoding_table["210,241"] = [31213] let s:lib.Codec.decoding_table["210,242"] = [31210] let s:lib.Codec.decoding_table["210,243"] = [31196] let s:lib.Codec.decoding_table["210,244"] = [31198] let s:lib.Codec.decoding_table["210,245"] = [31197] let s:lib.Codec.decoding_table["210,246"] = [31366] let s:lib.Codec.decoding_table["210,247"] = [31369] let s:lib.Codec.decoding_table["210,248"] = [31365] let s:lib.Codec.decoding_table["210,249"] = [31371] let s:lib.Codec.decoding_table["210,250"] = [31372] let s:lib.Codec.decoding_table["210,251"] = [31370] let s:lib.Codec.decoding_table["210,252"] = [31367] let s:lib.Codec.decoding_table["210,253"] = [31448] let s:lib.Codec.decoding_table["210,254"] = [31504] let s:lib.Codec.decoding_table["211,64"] = [31492] let s:lib.Codec.decoding_table["211,65"] = [31507] let s:lib.Codec.decoding_table["211,66"] = [31493] let s:lib.Codec.decoding_table["211,67"] = [31503] let s:lib.Codec.decoding_table["211,68"] = [31496] let s:lib.Codec.decoding_table["211,69"] = [31498] let s:lib.Codec.decoding_table["211,70"] = [31502] let s:lib.Codec.decoding_table["211,71"] = [31497] let s:lib.Codec.decoding_table["211,72"] = [31506] let s:lib.Codec.decoding_table["211,73"] = [31876] let s:lib.Codec.decoding_table["211,74"] = [31889] let s:lib.Codec.decoding_table["211,75"] = [31882] let s:lib.Codec.decoding_table["211,76"] = [31884] let s:lib.Codec.decoding_table["211,77"] = [31880] let s:lib.Codec.decoding_table["211,78"] = [31885] let s:lib.Codec.decoding_table["211,79"] = [31877] let s:lib.Codec.decoding_table["211,80"] = [32030] let s:lib.Codec.decoding_table["211,81"] = [32029] let s:lib.Codec.decoding_table["211,82"] = [32017] let s:lib.Codec.decoding_table["211,83"] = [32014] let s:lib.Codec.decoding_table["211,84"] = [32024] let s:lib.Codec.decoding_table["211,85"] = [32022] let s:lib.Codec.decoding_table["211,86"] = [32019] let s:lib.Codec.decoding_table["211,87"] = [32031] let s:lib.Codec.decoding_table["211,88"] = [32018] let s:lib.Codec.decoding_table["211,89"] = [32015] let s:lib.Codec.decoding_table["211,90"] = [32012] let s:lib.Codec.decoding_table["211,91"] = [32604] let s:lib.Codec.decoding_table["211,92"] = [32609] let s:lib.Codec.decoding_table["211,93"] = [32606] let s:lib.Codec.decoding_table["211,94"] = [32608] let s:lib.Codec.decoding_table["211,95"] = [32605] let s:lib.Codec.decoding_table["211,96"] = [32603] let s:lib.Codec.decoding_table["211,97"] = [32662] let s:lib.Codec.decoding_table["211,98"] = [32658] let s:lib.Codec.decoding_table["211,99"] = [32707] let s:lib.Codec.decoding_table["211,100"] = [32706] let s:lib.Codec.decoding_table["211,101"] = [32704] let s:lib.Codec.decoding_table["211,102"] = [32790] let s:lib.Codec.decoding_table["211,103"] = [32830] let s:lib.Codec.decoding_table["211,104"] = [32825] let s:lib.Codec.decoding_table["211,105"] = [33018] let s:lib.Codec.decoding_table["211,106"] = [33010] let s:lib.Codec.decoding_table["211,107"] = [33017] let s:lib.Codec.decoding_table["211,108"] = [33013] let s:lib.Codec.decoding_table["211,109"] = [33025] let s:lib.Codec.decoding_table["211,110"] = [33019] let s:lib.Codec.decoding_table["211,111"] = [33024] let s:lib.Codec.decoding_table["211,112"] = [33281] let s:lib.Codec.decoding_table["211,113"] = [33327] let s:lib.Codec.decoding_table["211,114"] = [33317] let s:lib.Codec.decoding_table["211,115"] = [33587] let s:lib.Codec.decoding_table["211,116"] = [33581] let s:lib.Codec.decoding_table["211,117"] = [33604] let s:lib.Codec.decoding_table["211,118"] = [33561] let s:lib.Codec.decoding_table["211,119"] = [33617] let s:lib.Codec.decoding_table["211,120"] = [33573] let s:lib.Codec.decoding_table["211,121"] = [33622] let s:lib.Codec.decoding_table["211,122"] = [33599] let s:lib.Codec.decoding_table["211,123"] = [33601] let s:lib.Codec.decoding_table["211,124"] = [33574] let s:lib.Codec.decoding_table["211,125"] = [33564] let s:lib.Codec.decoding_table["211,126"] = [33570] let s:lib.Codec.decoding_table["211,161"] = [33602] let s:lib.Codec.decoding_table["211,162"] = [33614] let s:lib.Codec.decoding_table["211,163"] = [33563] let s:lib.Codec.decoding_table["211,164"] = [33578] let s:lib.Codec.decoding_table["211,165"] = [33544] let s:lib.Codec.decoding_table["211,166"] = [33596] let s:lib.Codec.decoding_table["211,167"] = [33613] let s:lib.Codec.decoding_table["211,168"] = [33558] let s:lib.Codec.decoding_table["211,169"] = [33572] let s:lib.Codec.decoding_table["211,170"] = [33568] let s:lib.Codec.decoding_table["211,171"] = [33591] let s:lib.Codec.decoding_table["211,172"] = [33583] let s:lib.Codec.decoding_table["211,173"] = [33577] let s:lib.Codec.decoding_table["211,174"] = [33607] let s:lib.Codec.decoding_table["211,175"] = [33605] let s:lib.Codec.decoding_table["211,176"] = [33612] let s:lib.Codec.decoding_table["211,177"] = [33619] let s:lib.Codec.decoding_table["211,178"] = [33566] let s:lib.Codec.decoding_table["211,179"] = [33580] let s:lib.Codec.decoding_table["211,180"] = [33611] let s:lib.Codec.decoding_table["211,181"] = [33575] let s:lib.Codec.decoding_table["211,182"] = [33608] let s:lib.Codec.decoding_table["211,183"] = [34387] let s:lib.Codec.decoding_table["211,184"] = [34386] let s:lib.Codec.decoding_table["211,185"] = [34466] let s:lib.Codec.decoding_table["211,186"] = [34472] let s:lib.Codec.decoding_table["211,187"] = [34454] let s:lib.Codec.decoding_table["211,188"] = [34445] let s:lib.Codec.decoding_table["211,189"] = [34449] let s:lib.Codec.decoding_table["211,190"] = [34462] let s:lib.Codec.decoding_table["211,191"] = [34439] let s:lib.Codec.decoding_table["211,192"] = [34455] let s:lib.Codec.decoding_table["211,193"] = [34438] let s:lib.Codec.decoding_table["211,194"] = [34443] let s:lib.Codec.decoding_table["211,195"] = [34458] let s:lib.Codec.decoding_table["211,196"] = [34437] let s:lib.Codec.decoding_table["211,197"] = [34469] let s:lib.Codec.decoding_table["211,198"] = [34457] let s:lib.Codec.decoding_table["211,199"] = [34465] let s:lib.Codec.decoding_table["211,200"] = [34471] let s:lib.Codec.decoding_table["211,201"] = [34453] let s:lib.Codec.decoding_table["211,202"] = [34456] let s:lib.Codec.decoding_table["211,203"] = [34446] let s:lib.Codec.decoding_table["211,204"] = [34461] let s:lib.Codec.decoding_table["211,205"] = [34448] let s:lib.Codec.decoding_table["211,206"] = [34452] let s:lib.Codec.decoding_table["211,207"] = [34883] let s:lib.Codec.decoding_table["211,208"] = [34884] let s:lib.Codec.decoding_table["211,209"] = [34925] let s:lib.Codec.decoding_table["211,210"] = [34933] let s:lib.Codec.decoding_table["211,211"] = [34934] let s:lib.Codec.decoding_table["211,212"] = [34930] let s:lib.Codec.decoding_table["211,213"] = [34944] let s:lib.Codec.decoding_table["211,214"] = [34929] let s:lib.Codec.decoding_table["211,215"] = [34943] let s:lib.Codec.decoding_table["211,216"] = [34927] let s:lib.Codec.decoding_table["211,217"] = [34947] let s:lib.Codec.decoding_table["211,218"] = [34942] let s:lib.Codec.decoding_table["211,219"] = [34932] let s:lib.Codec.decoding_table["211,220"] = [34940] let s:lib.Codec.decoding_table["211,221"] = [35346] let s:lib.Codec.decoding_table["211,222"] = [35911] let s:lib.Codec.decoding_table["211,223"] = [35927] let s:lib.Codec.decoding_table["211,224"] = [35963] let s:lib.Codec.decoding_table["211,225"] = [36004] let s:lib.Codec.decoding_table["211,226"] = [36003] let s:lib.Codec.decoding_table["211,227"] = [36214] let s:lib.Codec.decoding_table["211,228"] = [36216] let s:lib.Codec.decoding_table["211,229"] = [36277] let s:lib.Codec.decoding_table["211,230"] = [36279] let s:lib.Codec.decoding_table["211,231"] = [36278] let s:lib.Codec.decoding_table["211,232"] = [36561] let s:lib.Codec.decoding_table["211,233"] = [36563] let s:lib.Codec.decoding_table["211,234"] = [36862] let s:lib.Codec.decoding_table["211,235"] = [36853] let s:lib.Codec.decoding_table["211,236"] = [36866] let s:lib.Codec.decoding_table["211,237"] = [36863] let s:lib.Codec.decoding_table["211,238"] = [36859] let s:lib.Codec.decoding_table["211,239"] = [36868] let s:lib.Codec.decoding_table["211,240"] = [36860] let s:lib.Codec.decoding_table["211,241"] = [36854] let s:lib.Codec.decoding_table["211,242"] = [37078] let s:lib.Codec.decoding_table["211,243"] = [37088] let s:lib.Codec.decoding_table["211,244"] = [37081] let s:lib.Codec.decoding_table["211,245"] = [37082] let s:lib.Codec.decoding_table["211,246"] = [37091] let s:lib.Codec.decoding_table["211,247"] = [37087] let s:lib.Codec.decoding_table["211,248"] = [37093] let s:lib.Codec.decoding_table["211,249"] = [37080] let s:lib.Codec.decoding_table["211,250"] = [37083] let s:lib.Codec.decoding_table["211,251"] = [37079] let s:lib.Codec.decoding_table["211,252"] = [37084] let s:lib.Codec.decoding_table["211,253"] = [37092] let s:lib.Codec.decoding_table["211,254"] = [37200] let s:lib.Codec.decoding_table["212,64"] = [37198] let s:lib.Codec.decoding_table["212,65"] = [37199] let s:lib.Codec.decoding_table["212,66"] = [37333] let s:lib.Codec.decoding_table["212,67"] = [37346] let s:lib.Codec.decoding_table["212,68"] = [37338] let s:lib.Codec.decoding_table["212,69"] = [38492] let s:lib.Codec.decoding_table["212,70"] = [38495] let s:lib.Codec.decoding_table["212,71"] = [38588] let s:lib.Codec.decoding_table["212,72"] = [39139] let s:lib.Codec.decoding_table["212,73"] = [39647] let s:lib.Codec.decoding_table["212,74"] = [39727] let s:lib.Codec.decoding_table["212,75"] = [20095] let s:lib.Codec.decoding_table["212,76"] = [20592] let s:lib.Codec.decoding_table["212,77"] = [20586] let s:lib.Codec.decoding_table["212,78"] = [20577] let s:lib.Codec.decoding_table["212,79"] = [20574] let s:lib.Codec.decoding_table["212,80"] = [20576] let s:lib.Codec.decoding_table["212,81"] = [20563] let s:lib.Codec.decoding_table["212,82"] = [20555] let s:lib.Codec.decoding_table["212,83"] = [20573] let s:lib.Codec.decoding_table["212,84"] = [20594] let s:lib.Codec.decoding_table["212,85"] = [20552] let s:lib.Codec.decoding_table["212,86"] = [20557] let s:lib.Codec.decoding_table["212,87"] = [20545] let s:lib.Codec.decoding_table["212,88"] = [20571] let s:lib.Codec.decoding_table["212,89"] = [20554] let s:lib.Codec.decoding_table["212,90"] = [20578] let s:lib.Codec.decoding_table["212,91"] = [20501] let s:lib.Codec.decoding_table["212,92"] = [20549] let s:lib.Codec.decoding_table["212,93"] = [20575] let s:lib.Codec.decoding_table["212,94"] = [20585] let s:lib.Codec.decoding_table["212,95"] = [20587] let s:lib.Codec.decoding_table["212,96"] = [20579] let s:lib.Codec.decoding_table["212,97"] = [20580] let s:lib.Codec.decoding_table["212,98"] = [20550] let s:lib.Codec.decoding_table["212,99"] = [20544] let s:lib.Codec.decoding_table["212,100"] = [20590] let s:lib.Codec.decoding_table["212,101"] = [20595] let s:lib.Codec.decoding_table["212,102"] = [20567] let s:lib.Codec.decoding_table["212,103"] = [20561] let s:lib.Codec.decoding_table["212,104"] = [20944] let s:lib.Codec.decoding_table["212,105"] = [21099] let s:lib.Codec.decoding_table["212,106"] = [21101] let s:lib.Codec.decoding_table["212,107"] = [21100] let s:lib.Codec.decoding_table["212,108"] = [21102] let s:lib.Codec.decoding_table["212,109"] = [21206] let s:lib.Codec.decoding_table["212,110"] = [21203] let s:lib.Codec.decoding_table["212,111"] = [21293] let s:lib.Codec.decoding_table["212,112"] = [21404] let s:lib.Codec.decoding_table["212,113"] = [21877] let s:lib.Codec.decoding_table["212,114"] = [21878] let s:lib.Codec.decoding_table["212,115"] = [21820] let s:lib.Codec.decoding_table["212,116"] = [21837] let s:lib.Codec.decoding_table["212,117"] = [21840] let s:lib.Codec.decoding_table["212,118"] = [21812] let s:lib.Codec.decoding_table["212,119"] = [21802] let s:lib.Codec.decoding_table["212,120"] = [21841] let s:lib.Codec.decoding_table["212,121"] = [21858] let s:lib.Codec.decoding_table["212,122"] = [21814] let s:lib.Codec.decoding_table["212,123"] = [21813] let s:lib.Codec.decoding_table["212,124"] = [21808] let s:lib.Codec.decoding_table["212,125"] = [21842] let s:lib.Codec.decoding_table["212,126"] = [21829] let s:lib.Codec.decoding_table["212,161"] = [21772] let s:lib.Codec.decoding_table["212,162"] = [21810] let s:lib.Codec.decoding_table["212,163"] = [21861] let s:lib.Codec.decoding_table["212,164"] = [21838] let s:lib.Codec.decoding_table["212,165"] = [21817] let s:lib.Codec.decoding_table["212,166"] = [21832] let s:lib.Codec.decoding_table["212,167"] = [21805] let s:lib.Codec.decoding_table["212,168"] = [21819] let s:lib.Codec.decoding_table["212,169"] = [21824] let s:lib.Codec.decoding_table["212,170"] = [21835] let s:lib.Codec.decoding_table["212,171"] = [22282] let s:lib.Codec.decoding_table["212,172"] = [22279] let s:lib.Codec.decoding_table["212,173"] = [22523] let s:lib.Codec.decoding_table["212,174"] = [22548] let s:lib.Codec.decoding_table["212,175"] = [22498] let s:lib.Codec.decoding_table["212,176"] = [22518] let s:lib.Codec.decoding_table["212,177"] = [22492] let s:lib.Codec.decoding_table["212,178"] = [22516] let s:lib.Codec.decoding_table["212,179"] = [22528] let s:lib.Codec.decoding_table["212,180"] = [22509] let s:lib.Codec.decoding_table["212,181"] = [22525] let s:lib.Codec.decoding_table["212,182"] = [22536] let s:lib.Codec.decoding_table["212,183"] = [22520] let s:lib.Codec.decoding_table["212,184"] = [22539] let s:lib.Codec.decoding_table["212,185"] = [22515] let s:lib.Codec.decoding_table["212,186"] = [22479] let s:lib.Codec.decoding_table["212,187"] = [22535] let s:lib.Codec.decoding_table["212,188"] = [22510] let s:lib.Codec.decoding_table["212,189"] = [22499] let s:lib.Codec.decoding_table["212,190"] = [22514] let s:lib.Codec.decoding_table["212,191"] = [22501] let s:lib.Codec.decoding_table["212,192"] = [22508] let s:lib.Codec.decoding_table["212,193"] = [22497] let s:lib.Codec.decoding_table["212,194"] = [22542] let s:lib.Codec.decoding_table["212,195"] = [22524] let s:lib.Codec.decoding_table["212,196"] = [22544] let s:lib.Codec.decoding_table["212,197"] = [22503] let s:lib.Codec.decoding_table["212,198"] = [22529] let s:lib.Codec.decoding_table["212,199"] = [22540] let s:lib.Codec.decoding_table["212,200"] = [22513] let s:lib.Codec.decoding_table["212,201"] = [22505] let s:lib.Codec.decoding_table["212,202"] = [22512] let s:lib.Codec.decoding_table["212,203"] = [22541] let s:lib.Codec.decoding_table["212,204"] = [22532] let s:lib.Codec.decoding_table["212,205"] = [22876] let s:lib.Codec.decoding_table["212,206"] = [23136] let s:lib.Codec.decoding_table["212,207"] = [23128] let s:lib.Codec.decoding_table["212,208"] = [23125] let s:lib.Codec.decoding_table["212,209"] = [23143] let s:lib.Codec.decoding_table["212,210"] = [23134] let s:lib.Codec.decoding_table["212,211"] = [23096] let s:lib.Codec.decoding_table["212,212"] = [23093] let s:lib.Codec.decoding_table["212,213"] = [23149] let s:lib.Codec.decoding_table["212,214"] = [23120] let s:lib.Codec.decoding_table["212,215"] = [23135] let s:lib.Codec.decoding_table["212,216"] = [23141] let s:lib.Codec.decoding_table["212,217"] = [23148] let s:lib.Codec.decoding_table["212,218"] = [23123] let s:lib.Codec.decoding_table["212,219"] = [23140] let s:lib.Codec.decoding_table["212,220"] = [23127] let s:lib.Codec.decoding_table["212,221"] = [23107] let s:lib.Codec.decoding_table["212,222"] = [23133] let s:lib.Codec.decoding_table["212,223"] = [23122] let s:lib.Codec.decoding_table["212,224"] = [23108] let s:lib.Codec.decoding_table["212,225"] = [23131] let s:lib.Codec.decoding_table["212,226"] = [23112] let s:lib.Codec.decoding_table["212,227"] = [23182] let s:lib.Codec.decoding_table["212,228"] = [23102] let s:lib.Codec.decoding_table["212,229"] = [23117] let s:lib.Codec.decoding_table["212,230"] = [23097] let s:lib.Codec.decoding_table["212,231"] = [23116] let s:lib.Codec.decoding_table["212,232"] = [23152] let s:lib.Codec.decoding_table["212,233"] = [23145] let s:lib.Codec.decoding_table["212,234"] = [23111] let s:lib.Codec.decoding_table["212,235"] = [23121] let s:lib.Codec.decoding_table["212,236"] = [23126] let s:lib.Codec.decoding_table["212,237"] = [23106] let s:lib.Codec.decoding_table["212,238"] = [23132] let s:lib.Codec.decoding_table["212,239"] = [23410] let s:lib.Codec.decoding_table["212,240"] = [23406] let s:lib.Codec.decoding_table["212,241"] = [23489] let s:lib.Codec.decoding_table["212,242"] = [23488] let s:lib.Codec.decoding_table["212,243"] = [23641] let s:lib.Codec.decoding_table["212,244"] = [23838] let s:lib.Codec.decoding_table["212,245"] = [23819] let s:lib.Codec.decoding_table["212,246"] = [23837] let s:lib.Codec.decoding_table["212,247"] = [23834] let s:lib.Codec.decoding_table["212,248"] = [23840] let s:lib.Codec.decoding_table["212,249"] = [23820] let s:lib.Codec.decoding_table["212,250"] = [23848] let s:lib.Codec.decoding_table["212,251"] = [23821] let s:lib.Codec.decoding_table["212,252"] = [23846] let s:lib.Codec.decoding_table["212,253"] = [23845] let s:lib.Codec.decoding_table["212,254"] = [23823] let s:lib.Codec.decoding_table["213,64"] = [23856] let s:lib.Codec.decoding_table["213,65"] = [23826] let s:lib.Codec.decoding_table["213,66"] = [23843] let s:lib.Codec.decoding_table["213,67"] = [23839] let s:lib.Codec.decoding_table["213,68"] = [23854] let s:lib.Codec.decoding_table["213,69"] = [24126] let s:lib.Codec.decoding_table["213,70"] = [24116] let s:lib.Codec.decoding_table["213,71"] = [24241] let s:lib.Codec.decoding_table["213,72"] = [24244] let s:lib.Codec.decoding_table["213,73"] = [24249] let s:lib.Codec.decoding_table["213,74"] = [24242] let s:lib.Codec.decoding_table["213,75"] = [24243] let s:lib.Codec.decoding_table["213,76"] = [24374] let s:lib.Codec.decoding_table["213,77"] = [24376] let s:lib.Codec.decoding_table["213,78"] = [24475] let s:lib.Codec.decoding_table["213,79"] = [24470] let s:lib.Codec.decoding_table["213,80"] = [24479] let s:lib.Codec.decoding_table["213,81"] = [24714] let s:lib.Codec.decoding_table["213,82"] = [24720] let s:lib.Codec.decoding_table["213,83"] = [24710] let s:lib.Codec.decoding_table["213,84"] = [24766] let s:lib.Codec.decoding_table["213,85"] = [24752] let s:lib.Codec.decoding_table["213,86"] = [24762] let s:lib.Codec.decoding_table["213,87"] = [24787] let s:lib.Codec.decoding_table["213,88"] = [24788] let s:lib.Codec.decoding_table["213,89"] = [24783] let s:lib.Codec.decoding_table["213,90"] = [24804] let s:lib.Codec.decoding_table["213,91"] = [24793] let s:lib.Codec.decoding_table["213,92"] = [24797] let s:lib.Codec.decoding_table["213,93"] = [24776] let s:lib.Codec.decoding_table["213,94"] = [24753] let s:lib.Codec.decoding_table["213,95"] = [24795] let s:lib.Codec.decoding_table["213,96"] = [24759] let s:lib.Codec.decoding_table["213,97"] = [24778] let s:lib.Codec.decoding_table["213,98"] = [24767] let s:lib.Codec.decoding_table["213,99"] = [24771] let s:lib.Codec.decoding_table["213,100"] = [24781] let s:lib.Codec.decoding_table["213,101"] = [24768] let s:lib.Codec.decoding_table["213,102"] = [25394] let s:lib.Codec.decoding_table["213,103"] = [25445] let s:lib.Codec.decoding_table["213,104"] = [25482] let s:lib.Codec.decoding_table["213,105"] = [25474] let s:lib.Codec.decoding_table["213,106"] = [25469] let s:lib.Codec.decoding_table["213,107"] = [25533] let s:lib.Codec.decoding_table["213,108"] = [25502] let s:lib.Codec.decoding_table["213,109"] = [25517] let s:lib.Codec.decoding_table["213,110"] = [25501] let s:lib.Codec.decoding_table["213,111"] = [25495] let s:lib.Codec.decoding_table["213,112"] = [25515] let s:lib.Codec.decoding_table["213,113"] = [25486] let s:lib.Codec.decoding_table["213,114"] = [25455] let s:lib.Codec.decoding_table["213,115"] = [25479] let s:lib.Codec.decoding_table["213,116"] = [25488] let s:lib.Codec.decoding_table["213,117"] = [25454] let s:lib.Codec.decoding_table["213,118"] = [25519] let s:lib.Codec.decoding_table["213,119"] = [25461] let s:lib.Codec.decoding_table["213,120"] = [25500] let s:lib.Codec.decoding_table["213,121"] = [25453] let s:lib.Codec.decoding_table["213,122"] = [25518] let s:lib.Codec.decoding_table["213,123"] = [25468] let s:lib.Codec.decoding_table["213,124"] = [25508] let s:lib.Codec.decoding_table["213,125"] = [25403] let s:lib.Codec.decoding_table["213,126"] = [25503] let s:lib.Codec.decoding_table["213,161"] = [25464] let s:lib.Codec.decoding_table["213,162"] = [25477] let s:lib.Codec.decoding_table["213,163"] = [25473] let s:lib.Codec.decoding_table["213,164"] = [25489] let s:lib.Codec.decoding_table["213,165"] = [25485] let s:lib.Codec.decoding_table["213,166"] = [25456] let s:lib.Codec.decoding_table["213,167"] = [25939] let s:lib.Codec.decoding_table["213,168"] = [26061] let s:lib.Codec.decoding_table["213,169"] = [26213] let s:lib.Codec.decoding_table["213,170"] = [26209] let s:lib.Codec.decoding_table["213,171"] = [26203] let s:lib.Codec.decoding_table["213,172"] = [26201] let s:lib.Codec.decoding_table["213,173"] = [26204] let s:lib.Codec.decoding_table["213,174"] = [26210] let s:lib.Codec.decoding_table["213,175"] = [26392] let s:lib.Codec.decoding_table["213,176"] = [26745] let s:lib.Codec.decoding_table["213,177"] = [26759] let s:lib.Codec.decoding_table["213,178"] = [26768] let s:lib.Codec.decoding_table["213,179"] = [26780] let s:lib.Codec.decoding_table["213,180"] = [26733] let s:lib.Codec.decoding_table["213,181"] = [26734] let s:lib.Codec.decoding_table["213,182"] = [26798] let s:lib.Codec.decoding_table["213,183"] = [26795] let s:lib.Codec.decoding_table["213,184"] = [26966] let s:lib.Codec.decoding_table["213,185"] = [26735] let s:lib.Codec.decoding_table["213,186"] = [26787] let s:lib.Codec.decoding_table["213,187"] = [26796] let s:lib.Codec.decoding_table["213,188"] = [26793] let s:lib.Codec.decoding_table["213,189"] = [26741] let s:lib.Codec.decoding_table["213,190"] = [26740] let s:lib.Codec.decoding_table["213,191"] = [26802] let s:lib.Codec.decoding_table["213,192"] = [26767] let s:lib.Codec.decoding_table["213,193"] = [26743] let s:lib.Codec.decoding_table["213,194"] = [26770] let s:lib.Codec.decoding_table["213,195"] = [26748] let s:lib.Codec.decoding_table["213,196"] = [26731] let s:lib.Codec.decoding_table["213,197"] = [26738] let s:lib.Codec.decoding_table["213,198"] = [26794] let s:lib.Codec.decoding_table["213,199"] = [26752] let s:lib.Codec.decoding_table["213,200"] = [26737] let s:lib.Codec.decoding_table["213,201"] = [26750] let s:lib.Codec.decoding_table["213,202"] = [26779] let s:lib.Codec.decoding_table["213,203"] = [26774] let s:lib.Codec.decoding_table["213,204"] = [26763] let s:lib.Codec.decoding_table["213,205"] = [26784] let s:lib.Codec.decoding_table["213,206"] = [26761] let s:lib.Codec.decoding_table["213,207"] = [26788] let s:lib.Codec.decoding_table["213,208"] = [26744] let s:lib.Codec.decoding_table["213,209"] = [26747] let s:lib.Codec.decoding_table["213,210"] = [26769] let s:lib.Codec.decoding_table["213,211"] = [26764] let s:lib.Codec.decoding_table["213,212"] = [26762] let s:lib.Codec.decoding_table["213,213"] = [26749] let s:lib.Codec.decoding_table["213,214"] = [27446] let s:lib.Codec.decoding_table["213,215"] = [27443] let s:lib.Codec.decoding_table["213,216"] = [27447] let s:lib.Codec.decoding_table["213,217"] = [27448] let s:lib.Codec.decoding_table["213,218"] = [27537] let s:lib.Codec.decoding_table["213,219"] = [27535] let s:lib.Codec.decoding_table["213,220"] = [27533] let s:lib.Codec.decoding_table["213,221"] = [27534] let s:lib.Codec.decoding_table["213,222"] = [27532] let s:lib.Codec.decoding_table["213,223"] = [27690] let s:lib.Codec.decoding_table["213,224"] = [28096] let s:lib.Codec.decoding_table["213,225"] = [28075] let s:lib.Codec.decoding_table["213,226"] = [28084] let s:lib.Codec.decoding_table["213,227"] = [28083] let s:lib.Codec.decoding_table["213,228"] = [28276] let s:lib.Codec.decoding_table["213,229"] = [28076] let s:lib.Codec.decoding_table["213,230"] = [28137] let s:lib.Codec.decoding_table["213,231"] = [28130] let s:lib.Codec.decoding_table["213,232"] = [28087] let s:lib.Codec.decoding_table["213,233"] = [28150] let s:lib.Codec.decoding_table["213,234"] = [28116] let s:lib.Codec.decoding_table["213,235"] = [28160] let s:lib.Codec.decoding_table["213,236"] = [28104] let s:lib.Codec.decoding_table["213,237"] = [28128] let s:lib.Codec.decoding_table["213,238"] = [28127] let s:lib.Codec.decoding_table["213,239"] = [28118] let s:lib.Codec.decoding_table["213,240"] = [28094] let s:lib.Codec.decoding_table["213,241"] = [28133] let s:lib.Codec.decoding_table["213,242"] = [28124] let s:lib.Codec.decoding_table["213,243"] = [28125] let s:lib.Codec.decoding_table["213,244"] = [28123] let s:lib.Codec.decoding_table["213,245"] = [28148] let s:lib.Codec.decoding_table["213,246"] = [28106] let s:lib.Codec.decoding_table["213,247"] = [28093] let s:lib.Codec.decoding_table["213,248"] = [28141] let s:lib.Codec.decoding_table["213,249"] = [28144] let s:lib.Codec.decoding_table["213,250"] = [28090] let s:lib.Codec.decoding_table["213,251"] = [28117] let s:lib.Codec.decoding_table["213,252"] = [28098] let s:lib.Codec.decoding_table["213,253"] = [28111] let s:lib.Codec.decoding_table["213,254"] = [28105] let s:lib.Codec.decoding_table["214,64"] = [28112] let s:lib.Codec.decoding_table["214,65"] = [28146] let s:lib.Codec.decoding_table["214,66"] = [28115] let s:lib.Codec.decoding_table["214,67"] = [28157] let s:lib.Codec.decoding_table["214,68"] = [28119] let s:lib.Codec.decoding_table["214,69"] = [28109] let s:lib.Codec.decoding_table["214,70"] = [28131] let s:lib.Codec.decoding_table["214,71"] = [28091] let s:lib.Codec.decoding_table["214,72"] = [28922] let s:lib.Codec.decoding_table["214,73"] = [28941] let s:lib.Codec.decoding_table["214,74"] = [28919] let s:lib.Codec.decoding_table["214,75"] = [28951] let s:lib.Codec.decoding_table["214,76"] = [28916] let s:lib.Codec.decoding_table["214,77"] = [28940] let s:lib.Codec.decoding_table["214,78"] = [28912] let s:lib.Codec.decoding_table["214,79"] = [28932] let s:lib.Codec.decoding_table["214,80"] = [28915] let s:lib.Codec.decoding_table["214,81"] = [28944] let s:lib.Codec.decoding_table["214,82"] = [28924] let s:lib.Codec.decoding_table["214,83"] = [28927] let s:lib.Codec.decoding_table["214,84"] = [28934] let s:lib.Codec.decoding_table["214,85"] = [28947] let s:lib.Codec.decoding_table["214,86"] = [28928] let s:lib.Codec.decoding_table["214,87"] = [28920] let s:lib.Codec.decoding_table["214,88"] = [28918] let s:lib.Codec.decoding_table["214,89"] = [28939] let s:lib.Codec.decoding_table["214,90"] = [28930] let s:lib.Codec.decoding_table["214,91"] = [28942] let s:lib.Codec.decoding_table["214,92"] = [29310] let s:lib.Codec.decoding_table["214,93"] = [29307] let s:lib.Codec.decoding_table["214,94"] = [29308] let s:lib.Codec.decoding_table["214,95"] = [29311] let s:lib.Codec.decoding_table["214,96"] = [29469] let s:lib.Codec.decoding_table["214,97"] = [29463] let s:lib.Codec.decoding_table["214,98"] = [29447] let s:lib.Codec.decoding_table["214,99"] = [29457] let s:lib.Codec.decoding_table["214,100"] = [29464] let s:lib.Codec.decoding_table["214,101"] = [29450] let s:lib.Codec.decoding_table["214,102"] = [29448] let s:lib.Codec.decoding_table["214,103"] = [29439] let s:lib.Codec.decoding_table["214,104"] = [29455] let s:lib.Codec.decoding_table["214,105"] = [29470] let s:lib.Codec.decoding_table["214,106"] = [29576] let s:lib.Codec.decoding_table["214,107"] = [29686] let s:lib.Codec.decoding_table["214,108"] = [29688] let s:lib.Codec.decoding_table["214,109"] = [29685] let s:lib.Codec.decoding_table["214,110"] = [29700] let s:lib.Codec.decoding_table["214,111"] = [29697] let s:lib.Codec.decoding_table["214,112"] = [29693] let s:lib.Codec.decoding_table["214,113"] = [29703] let s:lib.Codec.decoding_table["214,114"] = [29696] let s:lib.Codec.decoding_table["214,115"] = [29690] let s:lib.Codec.decoding_table["214,116"] = [29692] let s:lib.Codec.decoding_table["214,117"] = [29695] let s:lib.Codec.decoding_table["214,118"] = [29708] let s:lib.Codec.decoding_table["214,119"] = [29707] let s:lib.Codec.decoding_table["214,120"] = [29684] let s:lib.Codec.decoding_table["214,121"] = [29704] let s:lib.Codec.decoding_table["214,122"] = [30052] let s:lib.Codec.decoding_table["214,123"] = [30051] let s:lib.Codec.decoding_table["214,124"] = [30158] let s:lib.Codec.decoding_table["214,125"] = [30162] let s:lib.Codec.decoding_table["214,126"] = [30159] let s:lib.Codec.decoding_table["214,161"] = [30155] let s:lib.Codec.decoding_table["214,162"] = [30156] let s:lib.Codec.decoding_table["214,163"] = [30161] let s:lib.Codec.decoding_table["214,164"] = [30160] let s:lib.Codec.decoding_table["214,165"] = [30351] let s:lib.Codec.decoding_table["214,166"] = [30345] let s:lib.Codec.decoding_table["214,167"] = [30419] let s:lib.Codec.decoding_table["214,168"] = [30521] let s:lib.Codec.decoding_table["214,169"] = [30511] let s:lib.Codec.decoding_table["214,170"] = [30509] let s:lib.Codec.decoding_table["214,171"] = [30513] let s:lib.Codec.decoding_table["214,172"] = [30514] let s:lib.Codec.decoding_table["214,173"] = [30516] let s:lib.Codec.decoding_table["214,174"] = [30515] let s:lib.Codec.decoding_table["214,175"] = [30525] let s:lib.Codec.decoding_table["214,176"] = [30501] let s:lib.Codec.decoding_table["214,177"] = [30523] let s:lib.Codec.decoding_table["214,178"] = [30517] let s:lib.Codec.decoding_table["214,179"] = [30792] let s:lib.Codec.decoding_table["214,180"] = [30802] let s:lib.Codec.decoding_table["214,181"] = [30793] let s:lib.Codec.decoding_table["214,182"] = [30797] let s:lib.Codec.decoding_table["214,183"] = [30794] let s:lib.Codec.decoding_table["214,184"] = [30796] let s:lib.Codec.decoding_table["214,185"] = [30758] let s:lib.Codec.decoding_table["214,186"] = [30789] let s:lib.Codec.decoding_table["214,187"] = [30800] let s:lib.Codec.decoding_table["214,188"] = [31076] let s:lib.Codec.decoding_table["214,189"] = [31079] let s:lib.Codec.decoding_table["214,190"] = [31081] let s:lib.Codec.decoding_table["214,191"] = [31082] let s:lib.Codec.decoding_table["214,192"] = [31075] let s:lib.Codec.decoding_table["214,193"] = [31083] let s:lib.Codec.decoding_table["214,194"] = [31073] let s:lib.Codec.decoding_table["214,195"] = [31163] let s:lib.Codec.decoding_table["214,196"] = [31226] let s:lib.Codec.decoding_table["214,197"] = [31224] let s:lib.Codec.decoding_table["214,198"] = [31222] let s:lib.Codec.decoding_table["214,199"] = [31223] let s:lib.Codec.decoding_table["214,200"] = [31375] let s:lib.Codec.decoding_table["214,201"] = [31380] let s:lib.Codec.decoding_table["214,202"] = [31376] let s:lib.Codec.decoding_table["214,203"] = [31541] let s:lib.Codec.decoding_table["214,204"] = [31559] let s:lib.Codec.decoding_table["214,205"] = [31540] let s:lib.Codec.decoding_table["214,206"] = [31525] let s:lib.Codec.decoding_table["214,207"] = [31536] let s:lib.Codec.decoding_table["214,208"] = [31522] let s:lib.Codec.decoding_table["214,209"] = [31524] let s:lib.Codec.decoding_table["214,210"] = [31539] let s:lib.Codec.decoding_table["214,211"] = [31512] let s:lib.Codec.decoding_table["214,212"] = [31530] let s:lib.Codec.decoding_table["214,213"] = [31517] let s:lib.Codec.decoding_table["214,214"] = [31537] let s:lib.Codec.decoding_table["214,215"] = [31531] let s:lib.Codec.decoding_table["214,216"] = [31533] let s:lib.Codec.decoding_table["214,217"] = [31535] let s:lib.Codec.decoding_table["214,218"] = [31538] let s:lib.Codec.decoding_table["214,219"] = [31544] let s:lib.Codec.decoding_table["214,220"] = [31514] let s:lib.Codec.decoding_table["214,221"] = [31523] let s:lib.Codec.decoding_table["214,222"] = [31892] let s:lib.Codec.decoding_table["214,223"] = [31896] let s:lib.Codec.decoding_table["214,224"] = [31894] let s:lib.Codec.decoding_table["214,225"] = [31907] let s:lib.Codec.decoding_table["214,226"] = [32053] let s:lib.Codec.decoding_table["214,227"] = [32061] let s:lib.Codec.decoding_table["214,228"] = [32056] let s:lib.Codec.decoding_table["214,229"] = [32054] let s:lib.Codec.decoding_table["214,230"] = [32058] let s:lib.Codec.decoding_table["214,231"] = [32069] let s:lib.Codec.decoding_table["214,232"] = [32044] let s:lib.Codec.decoding_table["214,233"] = [32041] let s:lib.Codec.decoding_table["214,234"] = [32065] let s:lib.Codec.decoding_table["214,235"] = [32071] let s:lib.Codec.decoding_table["214,236"] = [32062] let s:lib.Codec.decoding_table["214,237"] = [32063] let s:lib.Codec.decoding_table["214,238"] = [32074] let s:lib.Codec.decoding_table["214,239"] = [32059] let s:lib.Codec.decoding_table["214,240"] = [32040] let s:lib.Codec.decoding_table["214,241"] = [32611] let s:lib.Codec.decoding_table["214,242"] = [32661] let s:lib.Codec.decoding_table["214,243"] = [32668] let s:lib.Codec.decoding_table["214,244"] = [32669] let s:lib.Codec.decoding_table["214,245"] = [32667] let s:lib.Codec.decoding_table["214,246"] = [32714] let s:lib.Codec.decoding_table["214,247"] = [32715] let s:lib.Codec.decoding_table["214,248"] = [32717] let s:lib.Codec.decoding_table["214,249"] = [32720] let s:lib.Codec.decoding_table["214,250"] = [32721] let s:lib.Codec.decoding_table["214,251"] = [32711] let s:lib.Codec.decoding_table["214,252"] = [32719] let s:lib.Codec.decoding_table["214,253"] = [32713] let s:lib.Codec.decoding_table["214,254"] = [32799] let s:lib.Codec.decoding_table["215,64"] = [32798] let s:lib.Codec.decoding_table["215,65"] = [32795] let s:lib.Codec.decoding_table["215,66"] = [32839] let s:lib.Codec.decoding_table["215,67"] = [32835] let s:lib.Codec.decoding_table["215,68"] = [32840] let s:lib.Codec.decoding_table["215,69"] = [33048] let s:lib.Codec.decoding_table["215,70"] = [33061] let s:lib.Codec.decoding_table["215,71"] = [33049] let s:lib.Codec.decoding_table["215,72"] = [33051] let s:lib.Codec.decoding_table["215,73"] = [33069] let s:lib.Codec.decoding_table["215,74"] = [33055] let s:lib.Codec.decoding_table["215,75"] = [33068] let s:lib.Codec.decoding_table["215,76"] = [33054] let s:lib.Codec.decoding_table["215,77"] = [33057] let s:lib.Codec.decoding_table["215,78"] = [33045] let s:lib.Codec.decoding_table["215,79"] = [33063] let s:lib.Codec.decoding_table["215,80"] = [33053] let s:lib.Codec.decoding_table["215,81"] = [33058] let s:lib.Codec.decoding_table["215,82"] = [33297] let s:lib.Codec.decoding_table["215,83"] = [33336] let s:lib.Codec.decoding_table["215,84"] = [33331] let s:lib.Codec.decoding_table["215,85"] = [33338] let s:lib.Codec.decoding_table["215,86"] = [33332] let s:lib.Codec.decoding_table["215,87"] = [33330] let s:lib.Codec.decoding_table["215,88"] = [33396] let s:lib.Codec.decoding_table["215,89"] = [33680] let s:lib.Codec.decoding_table["215,90"] = [33699] let s:lib.Codec.decoding_table["215,91"] = [33704] let s:lib.Codec.decoding_table["215,92"] = [33677] let s:lib.Codec.decoding_table["215,93"] = [33658] let s:lib.Codec.decoding_table["215,94"] = [33651] let s:lib.Codec.decoding_table["215,95"] = [33700] let s:lib.Codec.decoding_table["215,96"] = [33652] let s:lib.Codec.decoding_table["215,97"] = [33679] let s:lib.Codec.decoding_table["215,98"] = [33665] let s:lib.Codec.decoding_table["215,99"] = [33685] let s:lib.Codec.decoding_table["215,100"] = [33689] let s:lib.Codec.decoding_table["215,101"] = [33653] let s:lib.Codec.decoding_table["215,102"] = [33684] let s:lib.Codec.decoding_table["215,103"] = [33705] let s:lib.Codec.decoding_table["215,104"] = [33661] let s:lib.Codec.decoding_table["215,105"] = [33667] let s:lib.Codec.decoding_table["215,106"] = [33676] let s:lib.Codec.decoding_table["215,107"] = [33693] let s:lib.Codec.decoding_table["215,108"] = [33691] let s:lib.Codec.decoding_table["215,109"] = [33706] let s:lib.Codec.decoding_table["215,110"] = [33675] let s:lib.Codec.decoding_table["215,111"] = [33662] let s:lib.Codec.decoding_table["215,112"] = [33701] let s:lib.Codec.decoding_table["215,113"] = [33711] let s:lib.Codec.decoding_table["215,114"] = [33672] let s:lib.Codec.decoding_table["215,115"] = [33687] let s:lib.Codec.decoding_table["215,116"] = [33712] let s:lib.Codec.decoding_table["215,117"] = [33663] let s:lib.Codec.decoding_table["215,118"] = [33702] let s:lib.Codec.decoding_table["215,119"] = [33671] let s:lib.Codec.decoding_table["215,120"] = [33710] let s:lib.Codec.decoding_table["215,121"] = [33654] let s:lib.Codec.decoding_table["215,122"] = [33690] let s:lib.Codec.decoding_table["215,123"] = [34393] let s:lib.Codec.decoding_table["215,124"] = [34390] let s:lib.Codec.decoding_table["215,125"] = [34495] let s:lib.Codec.decoding_table["215,126"] = [34487] let s:lib.Codec.decoding_table["215,161"] = [34498] let s:lib.Codec.decoding_table["215,162"] = [34497] let s:lib.Codec.decoding_table["215,163"] = [34501] let s:lib.Codec.decoding_table["215,164"] = [34490] let s:lib.Codec.decoding_table["215,165"] = [34480] let s:lib.Codec.decoding_table["215,166"] = [34504] let s:lib.Codec.decoding_table["215,167"] = [34489] let s:lib.Codec.decoding_table["215,168"] = [34483] let s:lib.Codec.decoding_table["215,169"] = [34488] let s:lib.Codec.decoding_table["215,170"] = [34508] let s:lib.Codec.decoding_table["215,171"] = [34484] let s:lib.Codec.decoding_table["215,172"] = [34491] let s:lib.Codec.decoding_table["215,173"] = [34492] let s:lib.Codec.decoding_table["215,174"] = [34499] let s:lib.Codec.decoding_table["215,175"] = [34493] let s:lib.Codec.decoding_table["215,176"] = [34494] let s:lib.Codec.decoding_table["215,177"] = [34898] let s:lib.Codec.decoding_table["215,178"] = [34953] let s:lib.Codec.decoding_table["215,179"] = [34965] let s:lib.Codec.decoding_table["215,180"] = [34984] let s:lib.Codec.decoding_table["215,181"] = [34978] let s:lib.Codec.decoding_table["215,182"] = [34986] let s:lib.Codec.decoding_table["215,183"] = [34970] let s:lib.Codec.decoding_table["215,184"] = [34961] let s:lib.Codec.decoding_table["215,185"] = [34977] let s:lib.Codec.decoding_table["215,186"] = [34975] let s:lib.Codec.decoding_table["215,187"] = [34968] let s:lib.Codec.decoding_table["215,188"] = [34983] let s:lib.Codec.decoding_table["215,189"] = [34969] let s:lib.Codec.decoding_table["215,190"] = [34971] let s:lib.Codec.decoding_table["215,191"] = [34967] let s:lib.Codec.decoding_table["215,192"] = [34980] let s:lib.Codec.decoding_table["215,193"] = [34988] let s:lib.Codec.decoding_table["215,194"] = [34956] let s:lib.Codec.decoding_table["215,195"] = [34963] let s:lib.Codec.decoding_table["215,196"] = [34958] let s:lib.Codec.decoding_table["215,197"] = [35202] let s:lib.Codec.decoding_table["215,198"] = [35286] let s:lib.Codec.decoding_table["215,199"] = [35289] let s:lib.Codec.decoding_table["215,200"] = [35285] let s:lib.Codec.decoding_table["215,201"] = [35376] let s:lib.Codec.decoding_table["215,202"] = [35367] let s:lib.Codec.decoding_table["215,203"] = [35372] let s:lib.Codec.decoding_table["215,204"] = [35358] let s:lib.Codec.decoding_table["215,205"] = [35897] let s:lib.Codec.decoding_table["215,206"] = [35899] let s:lib.Codec.decoding_table["215,207"] = [35932] let s:lib.Codec.decoding_table["215,208"] = [35933] let s:lib.Codec.decoding_table["215,209"] = [35965] let s:lib.Codec.decoding_table["215,210"] = [36005] let s:lib.Codec.decoding_table["215,211"] = [36221] let s:lib.Codec.decoding_table["215,212"] = [36219] let s:lib.Codec.decoding_table["215,213"] = [36217] let s:lib.Codec.decoding_table["215,214"] = [36284] let s:lib.Codec.decoding_table["215,215"] = [36290] let s:lib.Codec.decoding_table["215,216"] = [36281] let s:lib.Codec.decoding_table["215,217"] = [36287] let s:lib.Codec.decoding_table["215,218"] = [36289] let s:lib.Codec.decoding_table["215,219"] = [36568] let s:lib.Codec.decoding_table["215,220"] = [36574] let s:lib.Codec.decoding_table["215,221"] = [36573] let s:lib.Codec.decoding_table["215,222"] = [36572] let s:lib.Codec.decoding_table["215,223"] = [36567] let s:lib.Codec.decoding_table["215,224"] = [36576] let s:lib.Codec.decoding_table["215,225"] = [36577] let s:lib.Codec.decoding_table["215,226"] = [36900] let s:lib.Codec.decoding_table["215,227"] = [36875] let s:lib.Codec.decoding_table["215,228"] = [36881] let s:lib.Codec.decoding_table["215,229"] = [36892] let s:lib.Codec.decoding_table["215,230"] = [36876] let s:lib.Codec.decoding_table["215,231"] = [36897] let s:lib.Codec.decoding_table["215,232"] = [37103] let s:lib.Codec.decoding_table["215,233"] = [37098] let s:lib.Codec.decoding_table["215,234"] = [37104] let s:lib.Codec.decoding_table["215,235"] = [37108] let s:lib.Codec.decoding_table["215,236"] = [37106] let s:lib.Codec.decoding_table["215,237"] = [37107] let s:lib.Codec.decoding_table["215,238"] = [37076] let s:lib.Codec.decoding_table["215,239"] = [37099] let s:lib.Codec.decoding_table["215,240"] = [37100] let s:lib.Codec.decoding_table["215,241"] = [37097] let s:lib.Codec.decoding_table["215,242"] = [37206] let s:lib.Codec.decoding_table["215,243"] = [37208] let s:lib.Codec.decoding_table["215,244"] = [37210] let s:lib.Codec.decoding_table["215,245"] = [37203] let s:lib.Codec.decoding_table["215,246"] = [37205] let s:lib.Codec.decoding_table["215,247"] = [37356] let s:lib.Codec.decoding_table["215,248"] = [37364] let s:lib.Codec.decoding_table["215,249"] = [37361] let s:lib.Codec.decoding_table["215,250"] = [37363] let s:lib.Codec.decoding_table["215,251"] = [37368] let s:lib.Codec.decoding_table["215,252"] = [37348] let s:lib.Codec.decoding_table["215,253"] = [37369] let s:lib.Codec.decoding_table["215,254"] = [37354] let s:lib.Codec.decoding_table["216,64"] = [37355] let s:lib.Codec.decoding_table["216,65"] = [37367] let s:lib.Codec.decoding_table["216,66"] = [37352] let s:lib.Codec.decoding_table["216,67"] = [37358] let s:lib.Codec.decoding_table["216,68"] = [38266] let s:lib.Codec.decoding_table["216,69"] = [38278] let s:lib.Codec.decoding_table["216,70"] = [38280] let s:lib.Codec.decoding_table["216,71"] = [38524] let s:lib.Codec.decoding_table["216,72"] = [38509] let s:lib.Codec.decoding_table["216,73"] = [38507] let s:lib.Codec.decoding_table["216,74"] = [38513] let s:lib.Codec.decoding_table["216,75"] = [38511] let s:lib.Codec.decoding_table["216,76"] = [38591] let s:lib.Codec.decoding_table["216,77"] = [38762] let s:lib.Codec.decoding_table["216,78"] = [38916] let s:lib.Codec.decoding_table["216,79"] = [39141] let s:lib.Codec.decoding_table["216,80"] = [39319] let s:lib.Codec.decoding_table["216,81"] = [20635] let s:lib.Codec.decoding_table["216,82"] = [20629] let s:lib.Codec.decoding_table["216,83"] = [20628] let s:lib.Codec.decoding_table["216,84"] = [20638] let s:lib.Codec.decoding_table["216,85"] = [20619] let s:lib.Codec.decoding_table["216,86"] = [20643] let s:lib.Codec.decoding_table["216,87"] = [20611] let s:lib.Codec.decoding_table["216,88"] = [20620] let s:lib.Codec.decoding_table["216,89"] = [20622] let s:lib.Codec.decoding_table["216,90"] = [20637] let s:lib.Codec.decoding_table["216,91"] = [20584] let s:lib.Codec.decoding_table["216,92"] = [20636] let s:lib.Codec.decoding_table["216,93"] = [20626] let s:lib.Codec.decoding_table["216,94"] = [20610] let s:lib.Codec.decoding_table["216,95"] = [20615] let s:lib.Codec.decoding_table["216,96"] = [20831] let s:lib.Codec.decoding_table["216,97"] = [20948] let s:lib.Codec.decoding_table["216,98"] = [21266] let s:lib.Codec.decoding_table["216,99"] = [21265] let s:lib.Codec.decoding_table["216,100"] = [21412] let s:lib.Codec.decoding_table["216,101"] = [21415] let s:lib.Codec.decoding_table["216,102"] = [21905] let s:lib.Codec.decoding_table["216,103"] = [21928] let s:lib.Codec.decoding_table["216,104"] = [21925] let s:lib.Codec.decoding_table["216,105"] = [21933] let s:lib.Codec.decoding_table["216,106"] = [21879] let s:lib.Codec.decoding_table["216,107"] = [22085] let s:lib.Codec.decoding_table["216,108"] = [21922] let s:lib.Codec.decoding_table["216,109"] = [21907] let s:lib.Codec.decoding_table["216,110"] = [21896] let s:lib.Codec.decoding_table["216,111"] = [21903] let s:lib.Codec.decoding_table["216,112"] = [21941] let s:lib.Codec.decoding_table["216,113"] = [21889] let s:lib.Codec.decoding_table["216,114"] = [21923] let s:lib.Codec.decoding_table["216,115"] = [21906] let s:lib.Codec.decoding_table["216,116"] = [21924] let s:lib.Codec.decoding_table["216,117"] = [21885] let s:lib.Codec.decoding_table["216,118"] = [21900] let s:lib.Codec.decoding_table["216,119"] = [21926] let s:lib.Codec.decoding_table["216,120"] = [21887] let s:lib.Codec.decoding_table["216,121"] = [21909] let s:lib.Codec.decoding_table["216,122"] = [21921] let s:lib.Codec.decoding_table["216,123"] = [21902] let s:lib.Codec.decoding_table["216,124"] = [22284] let s:lib.Codec.decoding_table["216,125"] = [22569] let s:lib.Codec.decoding_table["216,126"] = [22583] let s:lib.Codec.decoding_table["216,161"] = [22553] let s:lib.Codec.decoding_table["216,162"] = [22558] let s:lib.Codec.decoding_table["216,163"] = [22567] let s:lib.Codec.decoding_table["216,164"] = [22563] let s:lib.Codec.decoding_table["216,165"] = [22568] let s:lib.Codec.decoding_table["216,166"] = [22517] let s:lib.Codec.decoding_table["216,167"] = [22600] let s:lib.Codec.decoding_table["216,168"] = [22565] let s:lib.Codec.decoding_table["216,169"] = [22556] let s:lib.Codec.decoding_table["216,170"] = [22555] let s:lib.Codec.decoding_table["216,171"] = [22579] let s:lib.Codec.decoding_table["216,172"] = [22591] let s:lib.Codec.decoding_table["216,173"] = [22582] let s:lib.Codec.decoding_table["216,174"] = [22574] let s:lib.Codec.decoding_table["216,175"] = [22585] let s:lib.Codec.decoding_table["216,176"] = [22584] let s:lib.Codec.decoding_table["216,177"] = [22573] let s:lib.Codec.decoding_table["216,178"] = [22572] let s:lib.Codec.decoding_table["216,179"] = [22587] let s:lib.Codec.decoding_table["216,180"] = [22881] let s:lib.Codec.decoding_table["216,181"] = [23215] let s:lib.Codec.decoding_table["216,182"] = [23188] let s:lib.Codec.decoding_table["216,183"] = [23199] let s:lib.Codec.decoding_table["216,184"] = [23162] let s:lib.Codec.decoding_table["216,185"] = [23202] let s:lib.Codec.decoding_table["216,186"] = [23198] let s:lib.Codec.decoding_table["216,187"] = [23160] let s:lib.Codec.decoding_table["216,188"] = [23206] let s:lib.Codec.decoding_table["216,189"] = [23164] let s:lib.Codec.decoding_table["216,190"] = [23205] let s:lib.Codec.decoding_table["216,191"] = [23212] let s:lib.Codec.decoding_table["216,192"] = [23189] let s:lib.Codec.decoding_table["216,193"] = [23214] let s:lib.Codec.decoding_table["216,194"] = [23095] let s:lib.Codec.decoding_table["216,195"] = [23172] let s:lib.Codec.decoding_table["216,196"] = [23178] let s:lib.Codec.decoding_table["216,197"] = [23191] let s:lib.Codec.decoding_table["216,198"] = [23171] let s:lib.Codec.decoding_table["216,199"] = [23179] let s:lib.Codec.decoding_table["216,200"] = [23209] let s:lib.Codec.decoding_table["216,201"] = [23163] let s:lib.Codec.decoding_table["216,202"] = [23165] let s:lib.Codec.decoding_table["216,203"] = [23180] let s:lib.Codec.decoding_table["216,204"] = [23196] let s:lib.Codec.decoding_table["216,205"] = [23183] let s:lib.Codec.decoding_table["216,206"] = [23187] let s:lib.Codec.decoding_table["216,207"] = [23197] let s:lib.Codec.decoding_table["216,208"] = [23530] let s:lib.Codec.decoding_table["216,209"] = [23501] let s:lib.Codec.decoding_table["216,210"] = [23499] let s:lib.Codec.decoding_table["216,211"] = [23508] let s:lib.Codec.decoding_table["216,212"] = [23505] let s:lib.Codec.decoding_table["216,213"] = [23498] let s:lib.Codec.decoding_table["216,214"] = [23502] let s:lib.Codec.decoding_table["216,215"] = [23564] let s:lib.Codec.decoding_table["216,216"] = [23600] let s:lib.Codec.decoding_table["216,217"] = [23863] let s:lib.Codec.decoding_table["216,218"] = [23875] let s:lib.Codec.decoding_table["216,219"] = [23915] let s:lib.Codec.decoding_table["216,220"] = [23873] let s:lib.Codec.decoding_table["216,221"] = [23883] let s:lib.Codec.decoding_table["216,222"] = [23871] let s:lib.Codec.decoding_table["216,223"] = [23861] let s:lib.Codec.decoding_table["216,224"] = [23889] let s:lib.Codec.decoding_table["216,225"] = [23886] let s:lib.Codec.decoding_table["216,226"] = [23893] let s:lib.Codec.decoding_table["216,227"] = [23859] let s:lib.Codec.decoding_table["216,228"] = [23866] let s:lib.Codec.decoding_table["216,229"] = [23890] let s:lib.Codec.decoding_table["216,230"] = [23869] let s:lib.Codec.decoding_table["216,231"] = [23857] let s:lib.Codec.decoding_table["216,232"] = [23897] let s:lib.Codec.decoding_table["216,233"] = [23874] let s:lib.Codec.decoding_table["216,234"] = [23865] let s:lib.Codec.decoding_table["216,235"] = [23881] let s:lib.Codec.decoding_table["216,236"] = [23864] let s:lib.Codec.decoding_table["216,237"] = [23868] let s:lib.Codec.decoding_table["216,238"] = [23858] let s:lib.Codec.decoding_table["216,239"] = [23862] let s:lib.Codec.decoding_table["216,240"] = [23872] let s:lib.Codec.decoding_table["216,241"] = [23877] let s:lib.Codec.decoding_table["216,242"] = [24132] let s:lib.Codec.decoding_table["216,243"] = [24129] let s:lib.Codec.decoding_table["216,244"] = [24408] let s:lib.Codec.decoding_table["216,245"] = [24486] let s:lib.Codec.decoding_table["216,246"] = [24485] let s:lib.Codec.decoding_table["216,247"] = [24491] let s:lib.Codec.decoding_table["216,248"] = [24777] let s:lib.Codec.decoding_table["216,249"] = [24761] let s:lib.Codec.decoding_table["216,250"] = [24780] let s:lib.Codec.decoding_table["216,251"] = [24802] let s:lib.Codec.decoding_table["216,252"] = [24782] let s:lib.Codec.decoding_table["216,253"] = [24772] let s:lib.Codec.decoding_table["216,254"] = [24852] let s:lib.Codec.decoding_table["217,64"] = [24818] let s:lib.Codec.decoding_table["217,65"] = [24842] let s:lib.Codec.decoding_table["217,66"] = [24854] let s:lib.Codec.decoding_table["217,67"] = [24837] let s:lib.Codec.decoding_table["217,68"] = [24821] let s:lib.Codec.decoding_table["217,69"] = [24851] let s:lib.Codec.decoding_table["217,70"] = [24824] let s:lib.Codec.decoding_table["217,71"] = [24828] let s:lib.Codec.decoding_table["217,72"] = [24830] let s:lib.Codec.decoding_table["217,73"] = [24769] let s:lib.Codec.decoding_table["217,74"] = [24835] let s:lib.Codec.decoding_table["217,75"] = [24856] let s:lib.Codec.decoding_table["217,76"] = [24861] let s:lib.Codec.decoding_table["217,77"] = [24848] let s:lib.Codec.decoding_table["217,78"] = [24831] let s:lib.Codec.decoding_table["217,79"] = [24836] let s:lib.Codec.decoding_table["217,80"] = [24843] let s:lib.Codec.decoding_table["217,81"] = [25162] let s:lib.Codec.decoding_table["217,82"] = [25492] let s:lib.Codec.decoding_table["217,83"] = [25521] let s:lib.Codec.decoding_table["217,84"] = [25520] let s:lib.Codec.decoding_table["217,85"] = [25550] let s:lib.Codec.decoding_table["217,86"] = [25573] let s:lib.Codec.decoding_table["217,87"] = [25576] let s:lib.Codec.decoding_table["217,88"] = [25583] let s:lib.Codec.decoding_table["217,89"] = [25539] let s:lib.Codec.decoding_table["217,90"] = [25757] let s:lib.Codec.decoding_table["217,91"] = [25587] let s:lib.Codec.decoding_table["217,92"] = [25546] let s:lib.Codec.decoding_table["217,93"] = [25568] let s:lib.Codec.decoding_table["217,94"] = [25590] let s:lib.Codec.decoding_table["217,95"] = [25557] let s:lib.Codec.decoding_table["217,96"] = [25586] let s:lib.Codec.decoding_table["217,97"] = [25589] let s:lib.Codec.decoding_table["217,98"] = [25697] let s:lib.Codec.decoding_table["217,99"] = [25567] let s:lib.Codec.decoding_table["217,100"] = [25534] let s:lib.Codec.decoding_table["217,101"] = [25565] let s:lib.Codec.decoding_table["217,102"] = [25564] let s:lib.Codec.decoding_table["217,103"] = [25540] let s:lib.Codec.decoding_table["217,104"] = [25560] let s:lib.Codec.decoding_table["217,105"] = [25555] let s:lib.Codec.decoding_table["217,106"] = [25538] let s:lib.Codec.decoding_table["217,107"] = [25543] let s:lib.Codec.decoding_table["217,108"] = [25548] let s:lib.Codec.decoding_table["217,109"] = [25547] let s:lib.Codec.decoding_table["217,110"] = [25544] let s:lib.Codec.decoding_table["217,111"] = [25584] let s:lib.Codec.decoding_table["217,112"] = [25559] let s:lib.Codec.decoding_table["217,113"] = [25561] let s:lib.Codec.decoding_table["217,114"] = [25906] let s:lib.Codec.decoding_table["217,115"] = [25959] let s:lib.Codec.decoding_table["217,116"] = [25962] let s:lib.Codec.decoding_table["217,117"] = [25956] let s:lib.Codec.decoding_table["217,118"] = [25948] let s:lib.Codec.decoding_table["217,119"] = [25960] let s:lib.Codec.decoding_table["217,120"] = [25957] let s:lib.Codec.decoding_table["217,121"] = [25996] let s:lib.Codec.decoding_table["217,122"] = [26013] let s:lib.Codec.decoding_table["217,123"] = [26014] let s:lib.Codec.decoding_table["217,124"] = [26030] let s:lib.Codec.decoding_table["217,125"] = [26064] let s:lib.Codec.decoding_table["217,126"] = [26066] let s:lib.Codec.decoding_table["217,161"] = [26236] let s:lib.Codec.decoding_table["217,162"] = [26220] let s:lib.Codec.decoding_table["217,163"] = [26235] let s:lib.Codec.decoding_table["217,164"] = [26240] let s:lib.Codec.decoding_table["217,165"] = [26225] let s:lib.Codec.decoding_table["217,166"] = [26233] let s:lib.Codec.decoding_table["217,167"] = [26218] let s:lib.Codec.decoding_table["217,168"] = [26226] let s:lib.Codec.decoding_table["217,169"] = [26369] let s:lib.Codec.decoding_table["217,170"] = [26892] let s:lib.Codec.decoding_table["217,171"] = [26835] let s:lib.Codec.decoding_table["217,172"] = [26884] let s:lib.Codec.decoding_table["217,173"] = [26844] let s:lib.Codec.decoding_table["217,174"] = [26922] let s:lib.Codec.decoding_table["217,175"] = [26860] let s:lib.Codec.decoding_table["217,176"] = [26858] let s:lib.Codec.decoding_table["217,177"] = [26865] let s:lib.Codec.decoding_table["217,178"] = [26895] let s:lib.Codec.decoding_table["217,179"] = [26838] let s:lib.Codec.decoding_table["217,180"] = [26871] let s:lib.Codec.decoding_table["217,181"] = [26859] let s:lib.Codec.decoding_table["217,182"] = [26852] let s:lib.Codec.decoding_table["217,183"] = [26870] let s:lib.Codec.decoding_table["217,184"] = [26899] let s:lib.Codec.decoding_table["217,185"] = [26896] let s:lib.Codec.decoding_table["217,186"] = [26867] let s:lib.Codec.decoding_table["217,187"] = [26849] let s:lib.Codec.decoding_table["217,188"] = [26887] let s:lib.Codec.decoding_table["217,189"] = [26828] let s:lib.Codec.decoding_table["217,190"] = [26888] let s:lib.Codec.decoding_table["217,191"] = [26992] let s:lib.Codec.decoding_table["217,192"] = [26804] let s:lib.Codec.decoding_table["217,193"] = [26897] let s:lib.Codec.decoding_table["217,194"] = [26863] let s:lib.Codec.decoding_table["217,195"] = [26822] let s:lib.Codec.decoding_table["217,196"] = [26900] let s:lib.Codec.decoding_table["217,197"] = [26872] let s:lib.Codec.decoding_table["217,198"] = [26832] let s:lib.Codec.decoding_table["217,199"] = [26877] let s:lib.Codec.decoding_table["217,200"] = [26876] let s:lib.Codec.decoding_table["217,201"] = [26856] let s:lib.Codec.decoding_table["217,202"] = [26891] let s:lib.Codec.decoding_table["217,203"] = [26890] let s:lib.Codec.decoding_table["217,204"] = [26903] let s:lib.Codec.decoding_table["217,205"] = [26830] let s:lib.Codec.decoding_table["217,206"] = [26824] let s:lib.Codec.decoding_table["217,207"] = [26845] let s:lib.Codec.decoding_table["217,208"] = [26846] let s:lib.Codec.decoding_table["217,209"] = [26854] let s:lib.Codec.decoding_table["217,210"] = [26868] let s:lib.Codec.decoding_table["217,211"] = [26833] let s:lib.Codec.decoding_table["217,212"] = [26886] let s:lib.Codec.decoding_table["217,213"] = [26836] let s:lib.Codec.decoding_table["217,214"] = [26857] let s:lib.Codec.decoding_table["217,215"] = [26901] let s:lib.Codec.decoding_table["217,216"] = [26917] let s:lib.Codec.decoding_table["217,217"] = [26823] let s:lib.Codec.decoding_table["217,218"] = [27449] let s:lib.Codec.decoding_table["217,219"] = [27451] let s:lib.Codec.decoding_table["217,220"] = [27455] let s:lib.Codec.decoding_table["217,221"] = [27452] let s:lib.Codec.decoding_table["217,222"] = [27540] let s:lib.Codec.decoding_table["217,223"] = [27543] let s:lib.Codec.decoding_table["217,224"] = [27545] let s:lib.Codec.decoding_table["217,225"] = [27541] let s:lib.Codec.decoding_table["217,226"] = [27581] let s:lib.Codec.decoding_table["217,227"] = [27632] let s:lib.Codec.decoding_table["217,228"] = [27634] let s:lib.Codec.decoding_table["217,229"] = [27635] let s:lib.Codec.decoding_table["217,230"] = [27696] let s:lib.Codec.decoding_table["217,231"] = [28156] let s:lib.Codec.decoding_table["217,232"] = [28230] let s:lib.Codec.decoding_table["217,233"] = [28231] let s:lib.Codec.decoding_table["217,234"] = [28191] let s:lib.Codec.decoding_table["217,235"] = [28233] let s:lib.Codec.decoding_table["217,236"] = [28296] let s:lib.Codec.decoding_table["217,237"] = [28220] let s:lib.Codec.decoding_table["217,238"] = [28221] let s:lib.Codec.decoding_table["217,239"] = [28229] let s:lib.Codec.decoding_table["217,240"] = [28258] let s:lib.Codec.decoding_table["217,241"] = [28203] let s:lib.Codec.decoding_table["217,242"] = [28223] let s:lib.Codec.decoding_table["217,243"] = [28225] let s:lib.Codec.decoding_table["217,244"] = [28253] let s:lib.Codec.decoding_table["217,245"] = [28275] let s:lib.Codec.decoding_table["217,246"] = [28188] let s:lib.Codec.decoding_table["217,247"] = [28211] let s:lib.Codec.decoding_table["217,248"] = [28235] let s:lib.Codec.decoding_table["217,249"] = [28224] let s:lib.Codec.decoding_table["217,250"] = [28241] let s:lib.Codec.decoding_table["217,251"] = [28219] let s:lib.Codec.decoding_table["217,252"] = [28163] let s:lib.Codec.decoding_table["217,253"] = [28206] let s:lib.Codec.decoding_table["217,254"] = [28254] let s:lib.Codec.decoding_table["218,64"] = [28264] let s:lib.Codec.decoding_table["218,65"] = [28252] let s:lib.Codec.decoding_table["218,66"] = [28257] let s:lib.Codec.decoding_table["218,67"] = [28209] let s:lib.Codec.decoding_table["218,68"] = [28200] let s:lib.Codec.decoding_table["218,69"] = [28256] let s:lib.Codec.decoding_table["218,70"] = [28273] let s:lib.Codec.decoding_table["218,71"] = [28267] let s:lib.Codec.decoding_table["218,72"] = [28217] let s:lib.Codec.decoding_table["218,73"] = [28194] let s:lib.Codec.decoding_table["218,74"] = [28208] let s:lib.Codec.decoding_table["218,75"] = [28243] let s:lib.Codec.decoding_table["218,76"] = [28261] let s:lib.Codec.decoding_table["218,77"] = [28199] let s:lib.Codec.decoding_table["218,78"] = [28280] let s:lib.Codec.decoding_table["218,79"] = [28260] let s:lib.Codec.decoding_table["218,80"] = [28279] let s:lib.Codec.decoding_table["218,81"] = [28245] let s:lib.Codec.decoding_table["218,82"] = [28281] let s:lib.Codec.decoding_table["218,83"] = [28242] let s:lib.Codec.decoding_table["218,84"] = [28262] let s:lib.Codec.decoding_table["218,85"] = [28213] let s:lib.Codec.decoding_table["218,86"] = [28214] let s:lib.Codec.decoding_table["218,87"] = [28250] let s:lib.Codec.decoding_table["218,88"] = [28960] let s:lib.Codec.decoding_table["218,89"] = [28958] let s:lib.Codec.decoding_table["218,90"] = [28975] let s:lib.Codec.decoding_table["218,91"] = [28923] let s:lib.Codec.decoding_table["218,92"] = [28974] let s:lib.Codec.decoding_table["218,93"] = [28977] let s:lib.Codec.decoding_table["218,94"] = [28963] let s:lib.Codec.decoding_table["218,95"] = [28965] let s:lib.Codec.decoding_table["218,96"] = [28962] let s:lib.Codec.decoding_table["218,97"] = [28978] let s:lib.Codec.decoding_table["218,98"] = [28959] let s:lib.Codec.decoding_table["218,99"] = [28968] let s:lib.Codec.decoding_table["218,100"] = [28986] let s:lib.Codec.decoding_table["218,101"] = [28955] let s:lib.Codec.decoding_table["218,102"] = [29259] let s:lib.Codec.decoding_table["218,103"] = [29274] let s:lib.Codec.decoding_table["218,104"] = [29320] let s:lib.Codec.decoding_table["218,105"] = [29321] let s:lib.Codec.decoding_table["218,106"] = [29318] let s:lib.Codec.decoding_table["218,107"] = [29317] let s:lib.Codec.decoding_table["218,108"] = [29323] let s:lib.Codec.decoding_table["218,109"] = [29458] let s:lib.Codec.decoding_table["218,110"] = [29451] let s:lib.Codec.decoding_table["218,111"] = [29488] let s:lib.Codec.decoding_table["218,112"] = [29474] let s:lib.Codec.decoding_table["218,113"] = [29489] let s:lib.Codec.decoding_table["218,114"] = [29491] let s:lib.Codec.decoding_table["218,115"] = [29479] let s:lib.Codec.decoding_table["218,116"] = [29490] let s:lib.Codec.decoding_table["218,117"] = [29485] let s:lib.Codec.decoding_table["218,118"] = [29478] let s:lib.Codec.decoding_table["218,119"] = [29475] let s:lib.Codec.decoding_table["218,120"] = [29493] let s:lib.Codec.decoding_table["218,121"] = [29452] let s:lib.Codec.decoding_table["218,122"] = [29742] let s:lib.Codec.decoding_table["218,123"] = [29740] let s:lib.Codec.decoding_table["218,124"] = [29744] let s:lib.Codec.decoding_table["218,125"] = [29739] let s:lib.Codec.decoding_table["218,126"] = [29718] let s:lib.Codec.decoding_table["218,161"] = [29722] let s:lib.Codec.decoding_table["218,162"] = [29729] let s:lib.Codec.decoding_table["218,163"] = [29741] let s:lib.Codec.decoding_table["218,164"] = [29745] let s:lib.Codec.decoding_table["218,165"] = [29732] let s:lib.Codec.decoding_table["218,166"] = [29731] let s:lib.Codec.decoding_table["218,167"] = [29725] let s:lib.Codec.decoding_table["218,168"] = [29737] let s:lib.Codec.decoding_table["218,169"] = [29728] let s:lib.Codec.decoding_table["218,170"] = [29746] let s:lib.Codec.decoding_table["218,171"] = [29947] let s:lib.Codec.decoding_table["218,172"] = [29999] let s:lib.Codec.decoding_table["218,173"] = [30063] let s:lib.Codec.decoding_table["218,174"] = [30060] let s:lib.Codec.decoding_table["218,175"] = [30183] let s:lib.Codec.decoding_table["218,176"] = [30170] let s:lib.Codec.decoding_table["218,177"] = [30177] let s:lib.Codec.decoding_table["218,178"] = [30182] let s:lib.Codec.decoding_table["218,179"] = [30173] let s:lib.Codec.decoding_table["218,180"] = [30175] let s:lib.Codec.decoding_table["218,181"] = [30180] let s:lib.Codec.decoding_table["218,182"] = [30167] let s:lib.Codec.decoding_table["218,183"] = [30357] let s:lib.Codec.decoding_table["218,184"] = [30354] let s:lib.Codec.decoding_table["218,185"] = [30426] let s:lib.Codec.decoding_table["218,186"] = [30534] let s:lib.Codec.decoding_table["218,187"] = [30535] let s:lib.Codec.decoding_table["218,188"] = [30532] let s:lib.Codec.decoding_table["218,189"] = [30541] let s:lib.Codec.decoding_table["218,190"] = [30533] let s:lib.Codec.decoding_table["218,191"] = [30538] let s:lib.Codec.decoding_table["218,192"] = [30542] let s:lib.Codec.decoding_table["218,193"] = [30539] let s:lib.Codec.decoding_table["218,194"] = [30540] let s:lib.Codec.decoding_table["218,195"] = [30686] let s:lib.Codec.decoding_table["218,196"] = [30700] let s:lib.Codec.decoding_table["218,197"] = [30816] let s:lib.Codec.decoding_table["218,198"] = [30820] let s:lib.Codec.decoding_table["218,199"] = [30821] let s:lib.Codec.decoding_table["218,200"] = [30812] let s:lib.Codec.decoding_table["218,201"] = [30829] let s:lib.Codec.decoding_table["218,202"] = [30833] let s:lib.Codec.decoding_table["218,203"] = [30826] let s:lib.Codec.decoding_table["218,204"] = [30830] let s:lib.Codec.decoding_table["218,205"] = [30832] let s:lib.Codec.decoding_table["218,206"] = [30825] let s:lib.Codec.decoding_table["218,207"] = [30824] let s:lib.Codec.decoding_table["218,208"] = [30814] let s:lib.Codec.decoding_table["218,209"] = [30818] let s:lib.Codec.decoding_table["218,210"] = [31092] let s:lib.Codec.decoding_table["218,211"] = [31091] let s:lib.Codec.decoding_table["218,212"] = [31090] let s:lib.Codec.decoding_table["218,213"] = [31088] let s:lib.Codec.decoding_table["218,214"] = [31234] let s:lib.Codec.decoding_table["218,215"] = [31242] let s:lib.Codec.decoding_table["218,216"] = [31235] let s:lib.Codec.decoding_table["218,217"] = [31244] let s:lib.Codec.decoding_table["218,218"] = [31236] let s:lib.Codec.decoding_table["218,219"] = [31385] let s:lib.Codec.decoding_table["218,220"] = [31462] let s:lib.Codec.decoding_table["218,221"] = [31460] let s:lib.Codec.decoding_table["218,222"] = [31562] let s:lib.Codec.decoding_table["218,223"] = [31547] let s:lib.Codec.decoding_table["218,224"] = [31556] let s:lib.Codec.decoding_table["218,225"] = [31560] let s:lib.Codec.decoding_table["218,226"] = [31564] let s:lib.Codec.decoding_table["218,227"] = [31566] let s:lib.Codec.decoding_table["218,228"] = [31552] let s:lib.Codec.decoding_table["218,229"] = [31576] let s:lib.Codec.decoding_table["218,230"] = [31557] let s:lib.Codec.decoding_table["218,231"] = [31906] let s:lib.Codec.decoding_table["218,232"] = [31902] let s:lib.Codec.decoding_table["218,233"] = [31912] let s:lib.Codec.decoding_table["218,234"] = [31905] let s:lib.Codec.decoding_table["218,235"] = [32088] let s:lib.Codec.decoding_table["218,236"] = [32111] let s:lib.Codec.decoding_table["218,237"] = [32099] let s:lib.Codec.decoding_table["218,238"] = [32083] let s:lib.Codec.decoding_table["218,239"] = [32086] let s:lib.Codec.decoding_table["218,240"] = [32103] let s:lib.Codec.decoding_table["218,241"] = [32106] let s:lib.Codec.decoding_table["218,242"] = [32079] let s:lib.Codec.decoding_table["218,243"] = [32109] let s:lib.Codec.decoding_table["218,244"] = [32092] let s:lib.Codec.decoding_table["218,245"] = [32107] let s:lib.Codec.decoding_table["218,246"] = [32082] let s:lib.Codec.decoding_table["218,247"] = [32084] let s:lib.Codec.decoding_table["218,248"] = [32105] let s:lib.Codec.decoding_table["218,249"] = [32081] let s:lib.Codec.decoding_table["218,250"] = [32095] let s:lib.Codec.decoding_table["218,251"] = [32078] let s:lib.Codec.decoding_table["218,252"] = [32574] let s:lib.Codec.decoding_table["218,253"] = [32575] let s:lib.Codec.decoding_table["218,254"] = [32613] let s:lib.Codec.decoding_table["219,64"] = [32614] let s:lib.Codec.decoding_table["219,65"] = [32674] let s:lib.Codec.decoding_table["219,66"] = [32672] let s:lib.Codec.decoding_table["219,67"] = [32673] let s:lib.Codec.decoding_table["219,68"] = [32727] let s:lib.Codec.decoding_table["219,69"] = [32849] let s:lib.Codec.decoding_table["219,70"] = [32847] let s:lib.Codec.decoding_table["219,71"] = [32848] let s:lib.Codec.decoding_table["219,72"] = [33022] let s:lib.Codec.decoding_table["219,73"] = [32980] let s:lib.Codec.decoding_table["219,74"] = [33091] let s:lib.Codec.decoding_table["219,75"] = [33098] let s:lib.Codec.decoding_table["219,76"] = [33106] let s:lib.Codec.decoding_table["219,77"] = [33103] let s:lib.Codec.decoding_table["219,78"] = [33095] let s:lib.Codec.decoding_table["219,79"] = [33085] let s:lib.Codec.decoding_table["219,80"] = [33101] let s:lib.Codec.decoding_table["219,81"] = [33082] let s:lib.Codec.decoding_table["219,82"] = [33254] let s:lib.Codec.decoding_table["219,83"] = [33262] let s:lib.Codec.decoding_table["219,84"] = [33271] let s:lib.Codec.decoding_table["219,85"] = [33272] let s:lib.Codec.decoding_table["219,86"] = [33273] let s:lib.Codec.decoding_table["219,87"] = [33284] let s:lib.Codec.decoding_table["219,88"] = [33340] let s:lib.Codec.decoding_table["219,89"] = [33341] let s:lib.Codec.decoding_table["219,90"] = [33343] let s:lib.Codec.decoding_table["219,91"] = [33397] let s:lib.Codec.decoding_table["219,92"] = [33595] let s:lib.Codec.decoding_table["219,93"] = [33743] let s:lib.Codec.decoding_table["219,94"] = [33785] let s:lib.Codec.decoding_table["219,95"] = [33827] let s:lib.Codec.decoding_table["219,96"] = [33728] let s:lib.Codec.decoding_table["219,97"] = [33768] let s:lib.Codec.decoding_table["219,98"] = [33810] let s:lib.Codec.decoding_table["219,99"] = [33767] let s:lib.Codec.decoding_table["219,100"] = [33764] let s:lib.Codec.decoding_table["219,101"] = [33788] let s:lib.Codec.decoding_table["219,102"] = [33782] let s:lib.Codec.decoding_table["219,103"] = [33808] let s:lib.Codec.decoding_table["219,104"] = [33734] let s:lib.Codec.decoding_table["219,105"] = [33736] let s:lib.Codec.decoding_table["219,106"] = [33771] let s:lib.Codec.decoding_table["219,107"] = [33763] let s:lib.Codec.decoding_table["219,108"] = [33727] let s:lib.Codec.decoding_table["219,109"] = [33793] let s:lib.Codec.decoding_table["219,110"] = [33757] let s:lib.Codec.decoding_table["219,111"] = [33765] let s:lib.Codec.decoding_table["219,112"] = [33752] let s:lib.Codec.decoding_table["219,113"] = [33791] let s:lib.Codec.decoding_table["219,114"] = [33761] let s:lib.Codec.decoding_table["219,115"] = [33739] let s:lib.Codec.decoding_table["219,116"] = [33742] let s:lib.Codec.decoding_table["219,117"] = [33750] let s:lib.Codec.decoding_table["219,118"] = [33781] let s:lib.Codec.decoding_table["219,119"] = [33737] let s:lib.Codec.decoding_table["219,120"] = [33801] let s:lib.Codec.decoding_table["219,121"] = [33807] let s:lib.Codec.decoding_table["219,122"] = [33758] let s:lib.Codec.decoding_table["219,123"] = [33809] let s:lib.Codec.decoding_table["219,124"] = [33798] let s:lib.Codec.decoding_table["219,125"] = [33730] let s:lib.Codec.decoding_table["219,126"] = [33779] let s:lib.Codec.decoding_table["219,161"] = [33749] let s:lib.Codec.decoding_table["219,162"] = [33786] let s:lib.Codec.decoding_table["219,163"] = [33735] let s:lib.Codec.decoding_table["219,164"] = [33745] let s:lib.Codec.decoding_table["219,165"] = [33770] let s:lib.Codec.decoding_table["219,166"] = [33811] let s:lib.Codec.decoding_table["219,167"] = [33731] let s:lib.Codec.decoding_table["219,168"] = [33772] let s:lib.Codec.decoding_table["219,169"] = [33774] let s:lib.Codec.decoding_table["219,170"] = [33732] let s:lib.Codec.decoding_table["219,171"] = [33787] let s:lib.Codec.decoding_table["219,172"] = [33751] let s:lib.Codec.decoding_table["219,173"] = [33762] let s:lib.Codec.decoding_table["219,174"] = [33819] let s:lib.Codec.decoding_table["219,175"] = [33755] let s:lib.Codec.decoding_table["219,176"] = [33790] let s:lib.Codec.decoding_table["219,177"] = [34520] let s:lib.Codec.decoding_table["219,178"] = [34530] let s:lib.Codec.decoding_table["219,179"] = [34534] let s:lib.Codec.decoding_table["219,180"] = [34515] let s:lib.Codec.decoding_table["219,181"] = [34531] let s:lib.Codec.decoding_table["219,182"] = [34522] let s:lib.Codec.decoding_table["219,183"] = [34538] let s:lib.Codec.decoding_table["219,184"] = [34525] let s:lib.Codec.decoding_table["219,185"] = [34539] let s:lib.Codec.decoding_table["219,186"] = [34524] let s:lib.Codec.decoding_table["219,187"] = [34540] let s:lib.Codec.decoding_table["219,188"] = [34537] let s:lib.Codec.decoding_table["219,189"] = [34519] let s:lib.Codec.decoding_table["219,190"] = [34536] let s:lib.Codec.decoding_table["219,191"] = [34513] let s:lib.Codec.decoding_table["219,192"] = [34888] let s:lib.Codec.decoding_table["219,193"] = [34902] let s:lib.Codec.decoding_table["219,194"] = [34901] let s:lib.Codec.decoding_table["219,195"] = [35002] let s:lib.Codec.decoding_table["219,196"] = [35031] let s:lib.Codec.decoding_table["219,197"] = [35001] let s:lib.Codec.decoding_table["219,198"] = [35000] let s:lib.Codec.decoding_table["219,199"] = [35008] let s:lib.Codec.decoding_table["219,200"] = [35006] let s:lib.Codec.decoding_table["219,201"] = [34998] let s:lib.Codec.decoding_table["219,202"] = [35004] let s:lib.Codec.decoding_table["219,203"] = [34999] let s:lib.Codec.decoding_table["219,204"] = [35005] let s:lib.Codec.decoding_table["219,205"] = [34994] let s:lib.Codec.decoding_table["219,206"] = [35073] let s:lib.Codec.decoding_table["219,207"] = [35017] let s:lib.Codec.decoding_table["219,208"] = [35221] let s:lib.Codec.decoding_table["219,209"] = [35224] let s:lib.Codec.decoding_table["219,210"] = [35223] let s:lib.Codec.decoding_table["219,211"] = [35293] let s:lib.Codec.decoding_table["219,212"] = [35290] let s:lib.Codec.decoding_table["219,213"] = [35291] let s:lib.Codec.decoding_table["219,214"] = [35406] let s:lib.Codec.decoding_table["219,215"] = [35405] let s:lib.Codec.decoding_table["219,216"] = [35385] let s:lib.Codec.decoding_table["219,217"] = [35417] let s:lib.Codec.decoding_table["219,218"] = [35392] let s:lib.Codec.decoding_table["219,219"] = [35415] let s:lib.Codec.decoding_table["219,220"] = [35416] let s:lib.Codec.decoding_table["219,221"] = [35396] let s:lib.Codec.decoding_table["219,222"] = [35397] let s:lib.Codec.decoding_table["219,223"] = [35410] let s:lib.Codec.decoding_table["219,224"] = [35400] let s:lib.Codec.decoding_table["219,225"] = [35409] let s:lib.Codec.decoding_table["219,226"] = [35402] let s:lib.Codec.decoding_table["219,227"] = [35404] let s:lib.Codec.decoding_table["219,228"] = [35407] let s:lib.Codec.decoding_table["219,229"] = [35935] let s:lib.Codec.decoding_table["219,230"] = [35969] let s:lib.Codec.decoding_table["219,231"] = [35968] let s:lib.Codec.decoding_table["219,232"] = [36026] let s:lib.Codec.decoding_table["219,233"] = [36030] let s:lib.Codec.decoding_table["219,234"] = [36016] let s:lib.Codec.decoding_table["219,235"] = [36025] let s:lib.Codec.decoding_table["219,236"] = [36021] let s:lib.Codec.decoding_table["219,237"] = [36228] let s:lib.Codec.decoding_table["219,238"] = [36224] let s:lib.Codec.decoding_table["219,239"] = [36233] let s:lib.Codec.decoding_table["219,240"] = [36312] let s:lib.Codec.decoding_table["219,241"] = [36307] let s:lib.Codec.decoding_table["219,242"] = [36301] let s:lib.Codec.decoding_table["219,243"] = [36295] let s:lib.Codec.decoding_table["219,244"] = [36310] let s:lib.Codec.decoding_table["219,245"] = [36316] let s:lib.Codec.decoding_table["219,246"] = [36303] let s:lib.Codec.decoding_table["219,247"] = [36309] let s:lib.Codec.decoding_table["219,248"] = [36313] let s:lib.Codec.decoding_table["219,249"] = [36296] let s:lib.Codec.decoding_table["219,250"] = [36311] let s:lib.Codec.decoding_table["219,251"] = [36293] let s:lib.Codec.decoding_table["219,252"] = [36591] let s:lib.Codec.decoding_table["219,253"] = [36599] let s:lib.Codec.decoding_table["219,254"] = [36602] let s:lib.Codec.decoding_table["220,64"] = [36601] let s:lib.Codec.decoding_table["220,65"] = [36582] let s:lib.Codec.decoding_table["220,66"] = [36590] let s:lib.Codec.decoding_table["220,67"] = [36581] let s:lib.Codec.decoding_table["220,68"] = [36597] let s:lib.Codec.decoding_table["220,69"] = [36583] let s:lib.Codec.decoding_table["220,70"] = [36584] let s:lib.Codec.decoding_table["220,71"] = [36598] let s:lib.Codec.decoding_table["220,72"] = [36587] let s:lib.Codec.decoding_table["220,73"] = [36593] let s:lib.Codec.decoding_table["220,74"] = [36588] let s:lib.Codec.decoding_table["220,75"] = [36596] let s:lib.Codec.decoding_table["220,76"] = [36585] let s:lib.Codec.decoding_table["220,77"] = [36909] let s:lib.Codec.decoding_table["220,78"] = [36916] let s:lib.Codec.decoding_table["220,79"] = [36911] let s:lib.Codec.decoding_table["220,80"] = [37126] let s:lib.Codec.decoding_table["220,81"] = [37164] let s:lib.Codec.decoding_table["220,82"] = [37124] let s:lib.Codec.decoding_table["220,83"] = [37119] let s:lib.Codec.decoding_table["220,84"] = [37116] let s:lib.Codec.decoding_table["220,85"] = [37128] let s:lib.Codec.decoding_table["220,86"] = [37113] let s:lib.Codec.decoding_table["220,87"] = [37115] let s:lib.Codec.decoding_table["220,88"] = [37121] let s:lib.Codec.decoding_table["220,89"] = [37120] let s:lib.Codec.decoding_table["220,90"] = [37127] let s:lib.Codec.decoding_table["220,91"] = [37125] let s:lib.Codec.decoding_table["220,92"] = [37123] let s:lib.Codec.decoding_table["220,93"] = [37217] let s:lib.Codec.decoding_table["220,94"] = [37220] let s:lib.Codec.decoding_table["220,95"] = [37215] let s:lib.Codec.decoding_table["220,96"] = [37218] let s:lib.Codec.decoding_table["220,97"] = [37216] let s:lib.Codec.decoding_table["220,98"] = [37377] let s:lib.Codec.decoding_table["220,99"] = [37386] let s:lib.Codec.decoding_table["220,100"] = [37413] let s:lib.Codec.decoding_table["220,101"] = [37379] let s:lib.Codec.decoding_table["220,102"] = [37402] let s:lib.Codec.decoding_table["220,103"] = [37414] let s:lib.Codec.decoding_table["220,104"] = [37391] let s:lib.Codec.decoding_table["220,105"] = [37388] let s:lib.Codec.decoding_table["220,106"] = [37376] let s:lib.Codec.decoding_table["220,107"] = [37394] let s:lib.Codec.decoding_table["220,108"] = [37375] let s:lib.Codec.decoding_table["220,109"] = [37373] let s:lib.Codec.decoding_table["220,110"] = [37382] let s:lib.Codec.decoding_table["220,111"] = [37380] let s:lib.Codec.decoding_table["220,112"] = [37415] let s:lib.Codec.decoding_table["220,113"] = [37378] let s:lib.Codec.decoding_table["220,114"] = [37404] let s:lib.Codec.decoding_table["220,115"] = [37412] let s:lib.Codec.decoding_table["220,116"] = [37401] let s:lib.Codec.decoding_table["220,117"] = [37399] let s:lib.Codec.decoding_table["220,118"] = [37381] let s:lib.Codec.decoding_table["220,119"] = [37398] let s:lib.Codec.decoding_table["220,120"] = [38267] let s:lib.Codec.decoding_table["220,121"] = [38285] let s:lib.Codec.decoding_table["220,122"] = [38284] let s:lib.Codec.decoding_table["220,123"] = [38288] let s:lib.Codec.decoding_table["220,124"] = [38535] let s:lib.Codec.decoding_table["220,125"] = [38526] let s:lib.Codec.decoding_table["220,126"] = [38536] let s:lib.Codec.decoding_table["220,161"] = [38537] let s:lib.Codec.decoding_table["220,162"] = [38531] let s:lib.Codec.decoding_table["220,163"] = [38528] let s:lib.Codec.decoding_table["220,164"] = [38594] let s:lib.Codec.decoding_table["220,165"] = [38600] let s:lib.Codec.decoding_table["220,166"] = [38595] let s:lib.Codec.decoding_table["220,167"] = [38641] let s:lib.Codec.decoding_table["220,168"] = [38640] let s:lib.Codec.decoding_table["220,169"] = [38764] let s:lib.Codec.decoding_table["220,170"] = [38768] let s:lib.Codec.decoding_table["220,171"] = [38766] let s:lib.Codec.decoding_table["220,172"] = [38919] let s:lib.Codec.decoding_table["220,173"] = [39081] let s:lib.Codec.decoding_table["220,174"] = [39147] let s:lib.Codec.decoding_table["220,175"] = [40166] let s:lib.Codec.decoding_table["220,176"] = [40697] let s:lib.Codec.decoding_table["220,177"] = [20099] let s:lib.Codec.decoding_table["220,178"] = [20100] let s:lib.Codec.decoding_table["220,179"] = [20150] let s:lib.Codec.decoding_table["220,180"] = [20669] let s:lib.Codec.decoding_table["220,181"] = [20671] let s:lib.Codec.decoding_table["220,182"] = [20678] let s:lib.Codec.decoding_table["220,183"] = [20654] let s:lib.Codec.decoding_table["220,184"] = [20676] let s:lib.Codec.decoding_table["220,185"] = [20682] let s:lib.Codec.decoding_table["220,186"] = [20660] let s:lib.Codec.decoding_table["220,187"] = [20680] let s:lib.Codec.decoding_table["220,188"] = [20674] let s:lib.Codec.decoding_table["220,189"] = [20656] let s:lib.Codec.decoding_table["220,190"] = [20673] let s:lib.Codec.decoding_table["220,191"] = [20666] let s:lib.Codec.decoding_table["220,192"] = [20657] let s:lib.Codec.decoding_table["220,193"] = [20683] let s:lib.Codec.decoding_table["220,194"] = [20681] let s:lib.Codec.decoding_table["220,195"] = [20662] let s:lib.Codec.decoding_table["220,196"] = [20664] let s:lib.Codec.decoding_table["220,197"] = [20951] let s:lib.Codec.decoding_table["220,198"] = [21114] let s:lib.Codec.decoding_table["220,199"] = [21112] let s:lib.Codec.decoding_table["220,200"] = [21115] let s:lib.Codec.decoding_table["220,201"] = [21116] let s:lib.Codec.decoding_table["220,202"] = [21955] let s:lib.Codec.decoding_table["220,203"] = [21979] let s:lib.Codec.decoding_table["220,204"] = [21964] let s:lib.Codec.decoding_table["220,205"] = [21968] let s:lib.Codec.decoding_table["220,206"] = [21963] let s:lib.Codec.decoding_table["220,207"] = [21962] let s:lib.Codec.decoding_table["220,208"] = [21981] let s:lib.Codec.decoding_table["220,209"] = [21952] let s:lib.Codec.decoding_table["220,210"] = [21972] let s:lib.Codec.decoding_table["220,211"] = [21956] let s:lib.Codec.decoding_table["220,212"] = [21993] let s:lib.Codec.decoding_table["220,213"] = [21951] let s:lib.Codec.decoding_table["220,214"] = [21970] let s:lib.Codec.decoding_table["220,215"] = [21901] let s:lib.Codec.decoding_table["220,216"] = [21967] let s:lib.Codec.decoding_table["220,217"] = [21973] let s:lib.Codec.decoding_table["220,218"] = [21986] let s:lib.Codec.decoding_table["220,219"] = [21974] let s:lib.Codec.decoding_table["220,220"] = [21960] let s:lib.Codec.decoding_table["220,221"] = [22002] let s:lib.Codec.decoding_table["220,222"] = [21965] let s:lib.Codec.decoding_table["220,223"] = [21977] let s:lib.Codec.decoding_table["220,224"] = [21954] let s:lib.Codec.decoding_table["220,225"] = [22292] let s:lib.Codec.decoding_table["220,226"] = [22611] let s:lib.Codec.decoding_table["220,227"] = [22632] let s:lib.Codec.decoding_table["220,228"] = [22628] let s:lib.Codec.decoding_table["220,229"] = [22607] let s:lib.Codec.decoding_table["220,230"] = [22605] let s:lib.Codec.decoding_table["220,231"] = [22601] let s:lib.Codec.decoding_table["220,232"] = [22639] let s:lib.Codec.decoding_table["220,233"] = [22613] let s:lib.Codec.decoding_table["220,234"] = [22606] let s:lib.Codec.decoding_table["220,235"] = [22621] let s:lib.Codec.decoding_table["220,236"] = [22617] let s:lib.Codec.decoding_table["220,237"] = [22629] let s:lib.Codec.decoding_table["220,238"] = [22619] let s:lib.Codec.decoding_table["220,239"] = [22589] let s:lib.Codec.decoding_table["220,240"] = [22627] let s:lib.Codec.decoding_table["220,241"] = [22641] let s:lib.Codec.decoding_table["220,242"] = [22780] let s:lib.Codec.decoding_table["220,243"] = [23239] let s:lib.Codec.decoding_table["220,244"] = [23236] let s:lib.Codec.decoding_table["220,245"] = [23243] let s:lib.Codec.decoding_table["220,246"] = [23226] let s:lib.Codec.decoding_table["220,247"] = [23224] let s:lib.Codec.decoding_table["220,248"] = [23217] let s:lib.Codec.decoding_table["220,249"] = [23221] let s:lib.Codec.decoding_table["220,250"] = [23216] let s:lib.Codec.decoding_table["220,251"] = [23231] let s:lib.Codec.decoding_table["220,252"] = [23240] let s:lib.Codec.decoding_table["220,253"] = [23227] let s:lib.Codec.decoding_table["220,254"] = [23238] let s:lib.Codec.decoding_table["221,64"] = [23223] let s:lib.Codec.decoding_table["221,65"] = [23232] let s:lib.Codec.decoding_table["221,66"] = [23242] let s:lib.Codec.decoding_table["221,67"] = [23220] let s:lib.Codec.decoding_table["221,68"] = [23222] let s:lib.Codec.decoding_table["221,69"] = [23245] let s:lib.Codec.decoding_table["221,70"] = [23225] let s:lib.Codec.decoding_table["221,71"] = [23184] let s:lib.Codec.decoding_table["221,72"] = [23510] let s:lib.Codec.decoding_table["221,73"] = [23512] let s:lib.Codec.decoding_table["221,74"] = [23513] let s:lib.Codec.decoding_table["221,75"] = [23583] let s:lib.Codec.decoding_table["221,76"] = [23603] let s:lib.Codec.decoding_table["221,77"] = [23921] let s:lib.Codec.decoding_table["221,78"] = [23907] let s:lib.Codec.decoding_table["221,79"] = [23882] let s:lib.Codec.decoding_table["221,80"] = [23909] let s:lib.Codec.decoding_table["221,81"] = [23922] let s:lib.Codec.decoding_table["221,82"] = [23916] let s:lib.Codec.decoding_table["221,83"] = [23902] let s:lib.Codec.decoding_table["221,84"] = [23912] let s:lib.Codec.decoding_table["221,85"] = [23911] let s:lib.Codec.decoding_table["221,86"] = [23906] let s:lib.Codec.decoding_table["221,87"] = [24048] let s:lib.Codec.decoding_table["221,88"] = [24143] let s:lib.Codec.decoding_table["221,89"] = [24142] let s:lib.Codec.decoding_table["221,90"] = [24138] let s:lib.Codec.decoding_table["221,91"] = [24141] let s:lib.Codec.decoding_table["221,92"] = [24139] let s:lib.Codec.decoding_table["221,93"] = [24261] let s:lib.Codec.decoding_table["221,94"] = [24268] let s:lib.Codec.decoding_table["221,95"] = [24262] let s:lib.Codec.decoding_table["221,96"] = [24267] let s:lib.Codec.decoding_table["221,97"] = [24263] let s:lib.Codec.decoding_table["221,98"] = [24384] let s:lib.Codec.decoding_table["221,99"] = [24495] let s:lib.Codec.decoding_table["221,100"] = [24493] let s:lib.Codec.decoding_table["221,101"] = [24823] let s:lib.Codec.decoding_table["221,102"] = [24905] let s:lib.Codec.decoding_table["221,103"] = [24906] let s:lib.Codec.decoding_table["221,104"] = [24875] let s:lib.Codec.decoding_table["221,105"] = [24901] let s:lib.Codec.decoding_table["221,106"] = [24886] let s:lib.Codec.decoding_table["221,107"] = [24882] let s:lib.Codec.decoding_table["221,108"] = [24878] let s:lib.Codec.decoding_table["221,109"] = [24902] let s:lib.Codec.decoding_table["221,110"] = [24879] let s:lib.Codec.decoding_table["221,111"] = [24911] let s:lib.Codec.decoding_table["221,112"] = [24873] let s:lib.Codec.decoding_table["221,113"] = [24896] let s:lib.Codec.decoding_table["221,114"] = [25120] let s:lib.Codec.decoding_table["221,115"] = [37224] let s:lib.Codec.decoding_table["221,116"] = [25123] let s:lib.Codec.decoding_table["221,117"] = [25125] let s:lib.Codec.decoding_table["221,118"] = [25124] let s:lib.Codec.decoding_table["221,119"] = [25541] let s:lib.Codec.decoding_table["221,120"] = [25585] let s:lib.Codec.decoding_table["221,121"] = [25579] let s:lib.Codec.decoding_table["221,122"] = [25616] let s:lib.Codec.decoding_table["221,123"] = [25618] let s:lib.Codec.decoding_table["221,124"] = [25609] let s:lib.Codec.decoding_table["221,125"] = [25632] let s:lib.Codec.decoding_table["221,126"] = [25636] let s:lib.Codec.decoding_table["221,161"] = [25651] let s:lib.Codec.decoding_table["221,162"] = [25667] let s:lib.Codec.decoding_table["221,163"] = [25631] let s:lib.Codec.decoding_table["221,164"] = [25621] let s:lib.Codec.decoding_table["221,165"] = [25624] let s:lib.Codec.decoding_table["221,166"] = [25657] let s:lib.Codec.decoding_table["221,167"] = [25655] let s:lib.Codec.decoding_table["221,168"] = [25634] let s:lib.Codec.decoding_table["221,169"] = [25635] let s:lib.Codec.decoding_table["221,170"] = [25612] let s:lib.Codec.decoding_table["221,171"] = [25638] let s:lib.Codec.decoding_table["221,172"] = [25648] let s:lib.Codec.decoding_table["221,173"] = [25640] let s:lib.Codec.decoding_table["221,174"] = [25665] let s:lib.Codec.decoding_table["221,175"] = [25653] let s:lib.Codec.decoding_table["221,176"] = [25647] let s:lib.Codec.decoding_table["221,177"] = [25610] let s:lib.Codec.decoding_table["221,178"] = [25626] let s:lib.Codec.decoding_table["221,179"] = [25664] let s:lib.Codec.decoding_table["221,180"] = [25637] let s:lib.Codec.decoding_table["221,181"] = [25639] let s:lib.Codec.decoding_table["221,182"] = [25611] let s:lib.Codec.decoding_table["221,183"] = [25575] let s:lib.Codec.decoding_table["221,184"] = [25627] let s:lib.Codec.decoding_table["221,185"] = [25646] let s:lib.Codec.decoding_table["221,186"] = [25633] let s:lib.Codec.decoding_table["221,187"] = [25614] let s:lib.Codec.decoding_table["221,188"] = [25967] let s:lib.Codec.decoding_table["221,189"] = [26002] let s:lib.Codec.decoding_table["221,190"] = [26067] let s:lib.Codec.decoding_table["221,191"] = [26246] let s:lib.Codec.decoding_table["221,192"] = [26252] let s:lib.Codec.decoding_table["221,193"] = [26261] let s:lib.Codec.decoding_table["221,194"] = [26256] let s:lib.Codec.decoding_table["221,195"] = [26251] let s:lib.Codec.decoding_table["221,196"] = [26250] let s:lib.Codec.decoding_table["221,197"] = [26265] let s:lib.Codec.decoding_table["221,198"] = [26260] let s:lib.Codec.decoding_table["221,199"] = [26232] let s:lib.Codec.decoding_table["221,200"] = [26400] let s:lib.Codec.decoding_table["221,201"] = [26982] let s:lib.Codec.decoding_table["221,202"] = [26975] let s:lib.Codec.decoding_table["221,203"] = [26936] let s:lib.Codec.decoding_table["221,204"] = [26958] let s:lib.Codec.decoding_table["221,205"] = [26978] let s:lib.Codec.decoding_table["221,206"] = [26993] let s:lib.Codec.decoding_table["221,207"] = [26943] let s:lib.Codec.decoding_table["221,208"] = [26949] let s:lib.Codec.decoding_table["221,209"] = [26986] let s:lib.Codec.decoding_table["221,210"] = [26937] let s:lib.Codec.decoding_table["221,211"] = [26946] let s:lib.Codec.decoding_table["221,212"] = [26967] let s:lib.Codec.decoding_table["221,213"] = [26969] let s:lib.Codec.decoding_table["221,214"] = [27002] let s:lib.Codec.decoding_table["221,215"] = [26952] let s:lib.Codec.decoding_table["221,216"] = [26953] let s:lib.Codec.decoding_table["221,217"] = [26933] let s:lib.Codec.decoding_table["221,218"] = [26988] let s:lib.Codec.decoding_table["221,219"] = [26931] let s:lib.Codec.decoding_table["221,220"] = [26941] let s:lib.Codec.decoding_table["221,221"] = [26981] let s:lib.Codec.decoding_table["221,222"] = [26864] let s:lib.Codec.decoding_table["221,223"] = [27000] let s:lib.Codec.decoding_table["221,224"] = [26932] let s:lib.Codec.decoding_table["221,225"] = [26985] let s:lib.Codec.decoding_table["221,226"] = [26944] let s:lib.Codec.decoding_table["221,227"] = [26991] let s:lib.Codec.decoding_table["221,228"] = [26948] let s:lib.Codec.decoding_table["221,229"] = [26998] let s:lib.Codec.decoding_table["221,230"] = [26968] let s:lib.Codec.decoding_table["221,231"] = [26945] let s:lib.Codec.decoding_table["221,232"] = [26996] let s:lib.Codec.decoding_table["221,233"] = [26956] let s:lib.Codec.decoding_table["221,234"] = [26939] let s:lib.Codec.decoding_table["221,235"] = [26955] let s:lib.Codec.decoding_table["221,236"] = [26935] let s:lib.Codec.decoding_table["221,237"] = [26972] let s:lib.Codec.decoding_table["221,238"] = [26959] let s:lib.Codec.decoding_table["221,239"] = [26961] let s:lib.Codec.decoding_table["221,240"] = [26930] let s:lib.Codec.decoding_table["221,241"] = [26962] let s:lib.Codec.decoding_table["221,242"] = [26927] let s:lib.Codec.decoding_table["221,243"] = [27003] let s:lib.Codec.decoding_table["221,244"] = [26940] let s:lib.Codec.decoding_table["221,245"] = [27462] let s:lib.Codec.decoding_table["221,246"] = [27461] let s:lib.Codec.decoding_table["221,247"] = [27459] let s:lib.Codec.decoding_table["221,248"] = [27458] let s:lib.Codec.decoding_table["221,249"] = [27464] let s:lib.Codec.decoding_table["221,250"] = [27457] let s:lib.Codec.decoding_table["221,251"] = [27547] let s:lib.Codec.decoding_table["221,252"] = [64013] let s:lib.Codec.decoding_table["221,253"] = [27643] let s:lib.Codec.decoding_table["221,254"] = [27644] let s:lib.Codec.decoding_table["222,64"] = [27641] let s:lib.Codec.decoding_table["222,65"] = [27639] let s:lib.Codec.decoding_table["222,66"] = [27640] let s:lib.Codec.decoding_table["222,67"] = [28315] let s:lib.Codec.decoding_table["222,68"] = [28374] let s:lib.Codec.decoding_table["222,69"] = [28360] let s:lib.Codec.decoding_table["222,70"] = [28303] let s:lib.Codec.decoding_table["222,71"] = [28352] let s:lib.Codec.decoding_table["222,72"] = [28319] let s:lib.Codec.decoding_table["222,73"] = [28307] let s:lib.Codec.decoding_table["222,74"] = [28308] let s:lib.Codec.decoding_table["222,75"] = [28320] let s:lib.Codec.decoding_table["222,76"] = [28337] let s:lib.Codec.decoding_table["222,77"] = [28345] let s:lib.Codec.decoding_table["222,78"] = [28358] let s:lib.Codec.decoding_table["222,79"] = [28370] let s:lib.Codec.decoding_table["222,80"] = [28349] let s:lib.Codec.decoding_table["222,81"] = [28353] let s:lib.Codec.decoding_table["222,82"] = [28318] let s:lib.Codec.decoding_table["222,83"] = [28361] let s:lib.Codec.decoding_table["222,84"] = [28343] let s:lib.Codec.decoding_table["222,85"] = [28336] let s:lib.Codec.decoding_table["222,86"] = [28365] let s:lib.Codec.decoding_table["222,87"] = [28326] let s:lib.Codec.decoding_table["222,88"] = [28367] let s:lib.Codec.decoding_table["222,89"] = [28338] let s:lib.Codec.decoding_table["222,90"] = [28350] let s:lib.Codec.decoding_table["222,91"] = [28355] let s:lib.Codec.decoding_table["222,92"] = [28380] let s:lib.Codec.decoding_table["222,93"] = [28376] let s:lib.Codec.decoding_table["222,94"] = [28313] let s:lib.Codec.decoding_table["222,95"] = [28306] let s:lib.Codec.decoding_table["222,96"] = [28302] let s:lib.Codec.decoding_table["222,97"] = [28301] let s:lib.Codec.decoding_table["222,98"] = [28324] let s:lib.Codec.decoding_table["222,99"] = [28321] let s:lib.Codec.decoding_table["222,100"] = [28351] let s:lib.Codec.decoding_table["222,101"] = [28339] let s:lib.Codec.decoding_table["222,102"] = [28368] let s:lib.Codec.decoding_table["222,103"] = [28362] let s:lib.Codec.decoding_table["222,104"] = [28311] let s:lib.Codec.decoding_table["222,105"] = [28334] let s:lib.Codec.decoding_table["222,106"] = [28323] let s:lib.Codec.decoding_table["222,107"] = [28999] let s:lib.Codec.decoding_table["222,108"] = [29012] let s:lib.Codec.decoding_table["222,109"] = [29010] let s:lib.Codec.decoding_table["222,110"] = [29027] let s:lib.Codec.decoding_table["222,111"] = [29024] let s:lib.Codec.decoding_table["222,112"] = [28993] let s:lib.Codec.decoding_table["222,113"] = [29021] let s:lib.Codec.decoding_table["222,114"] = [29026] let s:lib.Codec.decoding_table["222,115"] = [29042] let s:lib.Codec.decoding_table["222,116"] = [29048] let s:lib.Codec.decoding_table["222,117"] = [29034] let s:lib.Codec.decoding_table["222,118"] = [29025] let s:lib.Codec.decoding_table["222,119"] = [28994] let s:lib.Codec.decoding_table["222,120"] = [29016] let s:lib.Codec.decoding_table["222,121"] = [28995] let s:lib.Codec.decoding_table["222,122"] = [29003] let s:lib.Codec.decoding_table["222,123"] = [29040] let s:lib.Codec.decoding_table["222,124"] = [29023] let s:lib.Codec.decoding_table["222,125"] = [29008] let s:lib.Codec.decoding_table["222,126"] = [29011] let s:lib.Codec.decoding_table["222,161"] = [28996] let s:lib.Codec.decoding_table["222,162"] = [29005] let s:lib.Codec.decoding_table["222,163"] = [29018] let s:lib.Codec.decoding_table["222,164"] = [29263] let s:lib.Codec.decoding_table["222,165"] = [29325] let s:lib.Codec.decoding_table["222,166"] = [29324] let s:lib.Codec.decoding_table["222,167"] = [29329] let s:lib.Codec.decoding_table["222,168"] = [29328] let s:lib.Codec.decoding_table["222,169"] = [29326] let s:lib.Codec.decoding_table["222,170"] = [29500] let s:lib.Codec.decoding_table["222,171"] = [29506] let s:lib.Codec.decoding_table["222,172"] = [29499] let s:lib.Codec.decoding_table["222,173"] = [29498] let s:lib.Codec.decoding_table["222,174"] = [29504] let s:lib.Codec.decoding_table["222,175"] = [29514] let s:lib.Codec.decoding_table["222,176"] = [29513] let s:lib.Codec.decoding_table["222,177"] = [29764] let s:lib.Codec.decoding_table["222,178"] = [29770] let s:lib.Codec.decoding_table["222,179"] = [29771] let s:lib.Codec.decoding_table["222,180"] = [29778] let s:lib.Codec.decoding_table["222,181"] = [29777] let s:lib.Codec.decoding_table["222,182"] = [29783] let s:lib.Codec.decoding_table["222,183"] = [29760] let s:lib.Codec.decoding_table["222,184"] = [29775] let s:lib.Codec.decoding_table["222,185"] = [29776] let s:lib.Codec.decoding_table["222,186"] = [29774] let s:lib.Codec.decoding_table["222,187"] = [29762] let s:lib.Codec.decoding_table["222,188"] = [29766] let s:lib.Codec.decoding_table["222,189"] = [29773] let s:lib.Codec.decoding_table["222,190"] = [29780] let s:lib.Codec.decoding_table["222,191"] = [29921] let s:lib.Codec.decoding_table["222,192"] = [29951] let s:lib.Codec.decoding_table["222,193"] = [29950] let s:lib.Codec.decoding_table["222,194"] = [29949] let s:lib.Codec.decoding_table["222,195"] = [29981] let s:lib.Codec.decoding_table["222,196"] = [30073] let s:lib.Codec.decoding_table["222,197"] = [30071] let s:lib.Codec.decoding_table["222,198"] = [27011] let s:lib.Codec.decoding_table["222,199"] = [30191] let s:lib.Codec.decoding_table["222,200"] = [30223] let s:lib.Codec.decoding_table["222,201"] = [30211] let s:lib.Codec.decoding_table["222,202"] = [30199] let s:lib.Codec.decoding_table["222,203"] = [30206] let s:lib.Codec.decoding_table["222,204"] = [30204] let s:lib.Codec.decoding_table["222,205"] = [30201] let s:lib.Codec.decoding_table["222,206"] = [30200] let s:lib.Codec.decoding_table["222,207"] = [30224] let s:lib.Codec.decoding_table["222,208"] = [30203] let s:lib.Codec.decoding_table["222,209"] = [30198] let s:lib.Codec.decoding_table["222,210"] = [30189] let s:lib.Codec.decoding_table["222,211"] = [30197] let s:lib.Codec.decoding_table["222,212"] = [30205] let s:lib.Codec.decoding_table["222,213"] = [30361] let s:lib.Codec.decoding_table["222,214"] = [30389] let s:lib.Codec.decoding_table["222,215"] = [30429] let s:lib.Codec.decoding_table["222,216"] = [30549] let s:lib.Codec.decoding_table["222,217"] = [30559] let s:lib.Codec.decoding_table["222,218"] = [30560] let s:lib.Codec.decoding_table["222,219"] = [30546] let s:lib.Codec.decoding_table["222,220"] = [30550] let s:lib.Codec.decoding_table["222,221"] = [30554] let s:lib.Codec.decoding_table["222,222"] = [30569] let s:lib.Codec.decoding_table["222,223"] = [30567] let s:lib.Codec.decoding_table["222,224"] = [30548] let s:lib.Codec.decoding_table["222,225"] = [30553] let s:lib.Codec.decoding_table["222,226"] = [30573] let s:lib.Codec.decoding_table["222,227"] = [30688] let s:lib.Codec.decoding_table["222,228"] = [30855] let s:lib.Codec.decoding_table["222,229"] = [30874] let s:lib.Codec.decoding_table["222,230"] = [30868] let s:lib.Codec.decoding_table["222,231"] = [30863] let s:lib.Codec.decoding_table["222,232"] = [30852] let s:lib.Codec.decoding_table["222,233"] = [30869] let s:lib.Codec.decoding_table["222,234"] = [30853] let s:lib.Codec.decoding_table["222,235"] = [30854] let s:lib.Codec.decoding_table["222,236"] = [30881] let s:lib.Codec.decoding_table["222,237"] = [30851] let s:lib.Codec.decoding_table["222,238"] = [30841] let s:lib.Codec.decoding_table["222,239"] = [30873] let s:lib.Codec.decoding_table["222,240"] = [30848] let s:lib.Codec.decoding_table["222,241"] = [30870] let s:lib.Codec.decoding_table["222,242"] = [30843] let s:lib.Codec.decoding_table["222,243"] = [31100] let s:lib.Codec.decoding_table["222,244"] = [31106] let s:lib.Codec.decoding_table["222,245"] = [31101] let s:lib.Codec.decoding_table["222,246"] = [31097] let s:lib.Codec.decoding_table["222,247"] = [31249] let s:lib.Codec.decoding_table["222,248"] = [31256] let s:lib.Codec.decoding_table["222,249"] = [31257] let s:lib.Codec.decoding_table["222,250"] = [31250] let s:lib.Codec.decoding_table["222,251"] = [31255] let s:lib.Codec.decoding_table["222,252"] = [31253] let s:lib.Codec.decoding_table["222,253"] = [31266] let s:lib.Codec.decoding_table["222,254"] = [31251] let s:lib.Codec.decoding_table["223,64"] = [31259] let s:lib.Codec.decoding_table["223,65"] = [31248] let s:lib.Codec.decoding_table["223,66"] = [31395] let s:lib.Codec.decoding_table["223,67"] = [31394] let s:lib.Codec.decoding_table["223,68"] = [31390] let s:lib.Codec.decoding_table["223,69"] = [31467] let s:lib.Codec.decoding_table["223,70"] = [31590] let s:lib.Codec.decoding_table["223,71"] = [31588] let s:lib.Codec.decoding_table["223,72"] = [31597] let s:lib.Codec.decoding_table["223,73"] = [31604] let s:lib.Codec.decoding_table["223,74"] = [31593] let s:lib.Codec.decoding_table["223,75"] = [31602] let s:lib.Codec.decoding_table["223,76"] = [31589] let s:lib.Codec.decoding_table["223,77"] = [31603] let s:lib.Codec.decoding_table["223,78"] = [31601] let s:lib.Codec.decoding_table["223,79"] = [31600] let s:lib.Codec.decoding_table["223,80"] = [31585] let s:lib.Codec.decoding_table["223,81"] = [31608] let s:lib.Codec.decoding_table["223,82"] = [31606] let s:lib.Codec.decoding_table["223,83"] = [31587] let s:lib.Codec.decoding_table["223,84"] = [31922] let s:lib.Codec.decoding_table["223,85"] = [31924] let s:lib.Codec.decoding_table["223,86"] = [31919] let s:lib.Codec.decoding_table["223,87"] = [32136] let s:lib.Codec.decoding_table["223,88"] = [32134] let s:lib.Codec.decoding_table["223,89"] = [32128] let s:lib.Codec.decoding_table["223,90"] = [32141] let s:lib.Codec.decoding_table["223,91"] = [32127] let s:lib.Codec.decoding_table["223,92"] = [32133] let s:lib.Codec.decoding_table["223,93"] = [32122] let s:lib.Codec.decoding_table["223,94"] = [32142] let s:lib.Codec.decoding_table["223,95"] = [32123] let s:lib.Codec.decoding_table["223,96"] = [32131] let s:lib.Codec.decoding_table["223,97"] = [32124] let s:lib.Codec.decoding_table["223,98"] = [32140] let s:lib.Codec.decoding_table["223,99"] = [32148] let s:lib.Codec.decoding_table["223,100"] = [32132] let s:lib.Codec.decoding_table["223,101"] = [32125] let s:lib.Codec.decoding_table["223,102"] = [32146] let s:lib.Codec.decoding_table["223,103"] = [32621] let s:lib.Codec.decoding_table["223,104"] = [32619] let s:lib.Codec.decoding_table["223,105"] = [32615] let s:lib.Codec.decoding_table["223,106"] = [32616] let s:lib.Codec.decoding_table["223,107"] = [32620] let s:lib.Codec.decoding_table["223,108"] = [32678] let s:lib.Codec.decoding_table["223,109"] = [32677] let s:lib.Codec.decoding_table["223,110"] = [32679] let s:lib.Codec.decoding_table["223,111"] = [32731] let s:lib.Codec.decoding_table["223,112"] = [32732] let s:lib.Codec.decoding_table["223,113"] = [32801] let s:lib.Codec.decoding_table["223,114"] = [33124] let s:lib.Codec.decoding_table["223,115"] = [33120] let s:lib.Codec.decoding_table["223,116"] = [33143] let s:lib.Codec.decoding_table["223,117"] = [33116] let s:lib.Codec.decoding_table["223,118"] = [33129] let s:lib.Codec.decoding_table["223,119"] = [33115] let s:lib.Codec.decoding_table["223,120"] = [33122] let s:lib.Codec.decoding_table["223,121"] = [33138] let s:lib.Codec.decoding_table["223,122"] = [26401] let s:lib.Codec.decoding_table["223,123"] = [33118] let s:lib.Codec.decoding_table["223,124"] = [33142] let s:lib.Codec.decoding_table["223,125"] = [33127] let s:lib.Codec.decoding_table["223,126"] = [33135] let s:lib.Codec.decoding_table["223,161"] = [33092] let s:lib.Codec.decoding_table["223,162"] = [33121] let s:lib.Codec.decoding_table["223,163"] = [33309] let s:lib.Codec.decoding_table["223,164"] = [33353] let s:lib.Codec.decoding_table["223,165"] = [33348] let s:lib.Codec.decoding_table["223,166"] = [33344] let s:lib.Codec.decoding_table["223,167"] = [33346] let s:lib.Codec.decoding_table["223,168"] = [33349] let s:lib.Codec.decoding_table["223,169"] = [34033] let s:lib.Codec.decoding_table["223,170"] = [33855] let s:lib.Codec.decoding_table["223,171"] = [33878] let s:lib.Codec.decoding_table["223,172"] = [33910] let s:lib.Codec.decoding_table["223,173"] = [33913] let s:lib.Codec.decoding_table["223,174"] = [33935] let s:lib.Codec.decoding_table["223,175"] = [33933] let s:lib.Codec.decoding_table["223,176"] = [33893] let s:lib.Codec.decoding_table["223,177"] = [33873] let s:lib.Codec.decoding_table["223,178"] = [33856] let s:lib.Codec.decoding_table["223,179"] = [33926] let s:lib.Codec.decoding_table["223,180"] = [33895] let s:lib.Codec.decoding_table["223,181"] = [33840] let s:lib.Codec.decoding_table["223,182"] = [33869] let s:lib.Codec.decoding_table["223,183"] = [33917] let s:lib.Codec.decoding_table["223,184"] = [33882] let s:lib.Codec.decoding_table["223,185"] = [33881] let s:lib.Codec.decoding_table["223,186"] = [33908] let s:lib.Codec.decoding_table["223,187"] = [33907] let s:lib.Codec.decoding_table["223,188"] = [33885] let s:lib.Codec.decoding_table["223,189"] = [34055] let s:lib.Codec.decoding_table["223,190"] = [33886] let s:lib.Codec.decoding_table["223,191"] = [33847] let s:lib.Codec.decoding_table["223,192"] = [33850] let s:lib.Codec.decoding_table["223,193"] = [33844] let s:lib.Codec.decoding_table["223,194"] = [33914] let s:lib.Codec.decoding_table["223,195"] = [33859] let s:lib.Codec.decoding_table["223,196"] = [33912] let s:lib.Codec.decoding_table["223,197"] = [33842] let s:lib.Codec.decoding_table["223,198"] = [33861] let s:lib.Codec.decoding_table["223,199"] = [33833] let s:lib.Codec.decoding_table["223,200"] = [33753] let s:lib.Codec.decoding_table["223,201"] = [33867] let s:lib.Codec.decoding_table["223,202"] = [33839] let s:lib.Codec.decoding_table["223,203"] = [33858] let s:lib.Codec.decoding_table["223,204"] = [33837] let s:lib.Codec.decoding_table["223,205"] = [33887] let s:lib.Codec.decoding_table["223,206"] = [33904] let s:lib.Codec.decoding_table["223,207"] = [33849] let s:lib.Codec.decoding_table["223,208"] = [33870] let s:lib.Codec.decoding_table["223,209"] = [33868] let s:lib.Codec.decoding_table["223,210"] = [33874] let s:lib.Codec.decoding_table["223,211"] = [33903] let s:lib.Codec.decoding_table["223,212"] = [33989] let s:lib.Codec.decoding_table["223,213"] = [33934] let s:lib.Codec.decoding_table["223,214"] = [33851] let s:lib.Codec.decoding_table["223,215"] = [33863] let s:lib.Codec.decoding_table["223,216"] = [33846] let s:lib.Codec.decoding_table["223,217"] = [33843] let s:lib.Codec.decoding_table["223,218"] = [33896] let s:lib.Codec.decoding_table["223,219"] = [33918] let s:lib.Codec.decoding_table["223,220"] = [33860] let s:lib.Codec.decoding_table["223,221"] = [33835] let s:lib.Codec.decoding_table["223,222"] = [33888] let s:lib.Codec.decoding_table["223,223"] = [33876] let s:lib.Codec.decoding_table["223,224"] = [33902] let s:lib.Codec.decoding_table["223,225"] = [33872] let s:lib.Codec.decoding_table["223,226"] = [34571] let s:lib.Codec.decoding_table["223,227"] = [34564] let s:lib.Codec.decoding_table["223,228"] = [34551] let s:lib.Codec.decoding_table["223,229"] = [34572] let s:lib.Codec.decoding_table["223,230"] = [34554] let s:lib.Codec.decoding_table["223,231"] = [34518] let s:lib.Codec.decoding_table["223,232"] = [34549] let s:lib.Codec.decoding_table["223,233"] = [34637] let s:lib.Codec.decoding_table["223,234"] = [34552] let s:lib.Codec.decoding_table["223,235"] = [34574] let s:lib.Codec.decoding_table["223,236"] = [34569] let s:lib.Codec.decoding_table["223,237"] = [34561] let s:lib.Codec.decoding_table["223,238"] = [34550] let s:lib.Codec.decoding_table["223,239"] = [34573] let s:lib.Codec.decoding_table["223,240"] = [34565] let s:lib.Codec.decoding_table["223,241"] = [35030] let s:lib.Codec.decoding_table["223,242"] = [35019] let s:lib.Codec.decoding_table["223,243"] = [35021] let s:lib.Codec.decoding_table["223,244"] = [35022] let s:lib.Codec.decoding_table["223,245"] = [35038] let s:lib.Codec.decoding_table["223,246"] = [35035] let s:lib.Codec.decoding_table["223,247"] = [35034] let s:lib.Codec.decoding_table["223,248"] = [35020] let s:lib.Codec.decoding_table["223,249"] = [35024] let s:lib.Codec.decoding_table["223,250"] = [35205] let s:lib.Codec.decoding_table["223,251"] = [35227] let s:lib.Codec.decoding_table["223,252"] = [35295] let s:lib.Codec.decoding_table["223,253"] = [35301] let s:lib.Codec.decoding_table["223,254"] = [35300] let s:lib.Codec.decoding_table["224,64"] = [35297] let s:lib.Codec.decoding_table["224,65"] = [35296] let s:lib.Codec.decoding_table["224,66"] = [35298] let s:lib.Codec.decoding_table["224,67"] = [35292] let s:lib.Codec.decoding_table["224,68"] = [35302] let s:lib.Codec.decoding_table["224,69"] = [35446] let s:lib.Codec.decoding_table["224,70"] = [35462] let s:lib.Codec.decoding_table["224,71"] = [35455] let s:lib.Codec.decoding_table["224,72"] = [35425] let s:lib.Codec.decoding_table["224,73"] = [35391] let s:lib.Codec.decoding_table["224,74"] = [35447] let s:lib.Codec.decoding_table["224,75"] = [35458] let s:lib.Codec.decoding_table["224,76"] = [35460] let s:lib.Codec.decoding_table["224,77"] = [35445] let s:lib.Codec.decoding_table["224,78"] = [35459] let s:lib.Codec.decoding_table["224,79"] = [35457] let s:lib.Codec.decoding_table["224,80"] = [35444] let s:lib.Codec.decoding_table["224,81"] = [35450] let s:lib.Codec.decoding_table["224,82"] = [35900] let s:lib.Codec.decoding_table["224,83"] = [35915] let s:lib.Codec.decoding_table["224,84"] = [35914] let s:lib.Codec.decoding_table["224,85"] = [35941] let s:lib.Codec.decoding_table["224,86"] = [35940] let s:lib.Codec.decoding_table["224,87"] = [35942] let s:lib.Codec.decoding_table["224,88"] = [35974] let s:lib.Codec.decoding_table["224,89"] = [35972] let s:lib.Codec.decoding_table["224,90"] = [35973] let s:lib.Codec.decoding_table["224,91"] = [36044] let s:lib.Codec.decoding_table["224,92"] = [36200] let s:lib.Codec.decoding_table["224,93"] = [36201] let s:lib.Codec.decoding_table["224,94"] = [36241] let s:lib.Codec.decoding_table["224,95"] = [36236] let s:lib.Codec.decoding_table["224,96"] = [36238] let s:lib.Codec.decoding_table["224,97"] = [36239] let s:lib.Codec.decoding_table["224,98"] = [36237] let s:lib.Codec.decoding_table["224,99"] = [36243] let s:lib.Codec.decoding_table["224,100"] = [36244] let s:lib.Codec.decoding_table["224,101"] = [36240] let s:lib.Codec.decoding_table["224,102"] = [36242] let s:lib.Codec.decoding_table["224,103"] = [36336] let s:lib.Codec.decoding_table["224,104"] = [36320] let s:lib.Codec.decoding_table["224,105"] = [36332] let s:lib.Codec.decoding_table["224,106"] = [36337] let s:lib.Codec.decoding_table["224,107"] = [36334] let s:lib.Codec.decoding_table["224,108"] = [36304] let s:lib.Codec.decoding_table["224,109"] = [36329] let s:lib.Codec.decoding_table["224,110"] = [36323] let s:lib.Codec.decoding_table["224,111"] = [36322] let s:lib.Codec.decoding_table["224,112"] = [36327] let s:lib.Codec.decoding_table["224,113"] = [36338] let s:lib.Codec.decoding_table["224,114"] = [36331] let s:lib.Codec.decoding_table["224,115"] = [36340] let s:lib.Codec.decoding_table["224,116"] = [36614] let s:lib.Codec.decoding_table["224,117"] = [36607] let s:lib.Codec.decoding_table["224,118"] = [36609] let s:lib.Codec.decoding_table["224,119"] = [36608] let s:lib.Codec.decoding_table["224,120"] = [36613] let s:lib.Codec.decoding_table["224,121"] = [36615] let s:lib.Codec.decoding_table["224,122"] = [36616] let s:lib.Codec.decoding_table["224,123"] = [36610] let s:lib.Codec.decoding_table["224,124"] = [36619] let s:lib.Codec.decoding_table["224,125"] = [36946] let s:lib.Codec.decoding_table["224,126"] = [36927] let s:lib.Codec.decoding_table["224,161"] = [36932] let s:lib.Codec.decoding_table["224,162"] = [36937] let s:lib.Codec.decoding_table["224,163"] = [36925] let s:lib.Codec.decoding_table["224,164"] = [37136] let s:lib.Codec.decoding_table["224,165"] = [37133] let s:lib.Codec.decoding_table["224,166"] = [37135] let s:lib.Codec.decoding_table["224,167"] = [37137] let s:lib.Codec.decoding_table["224,168"] = [37142] let s:lib.Codec.decoding_table["224,169"] = [37140] let s:lib.Codec.decoding_table["224,170"] = [37131] let s:lib.Codec.decoding_table["224,171"] = [37134] let s:lib.Codec.decoding_table["224,172"] = [37230] let s:lib.Codec.decoding_table["224,173"] = [37231] let s:lib.Codec.decoding_table["224,174"] = [37448] let s:lib.Codec.decoding_table["224,175"] = [37458] let s:lib.Codec.decoding_table["224,176"] = [37424] let s:lib.Codec.decoding_table["224,177"] = [37434] let s:lib.Codec.decoding_table["224,178"] = [37478] let s:lib.Codec.decoding_table["224,179"] = [37427] let s:lib.Codec.decoding_table["224,180"] = [37477] let s:lib.Codec.decoding_table["224,181"] = [37470] let s:lib.Codec.decoding_table["224,182"] = [37507] let s:lib.Codec.decoding_table["224,183"] = [37422] let s:lib.Codec.decoding_table["224,184"] = [37450] let s:lib.Codec.decoding_table["224,185"] = [37446] let s:lib.Codec.decoding_table["224,186"] = [37485] let s:lib.Codec.decoding_table["224,187"] = [37484] let s:lib.Codec.decoding_table["224,188"] = [37455] let s:lib.Codec.decoding_table["224,189"] = [37472] let s:lib.Codec.decoding_table["224,190"] = [37479] let s:lib.Codec.decoding_table["224,191"] = [37487] let s:lib.Codec.decoding_table["224,192"] = [37430] let s:lib.Codec.decoding_table["224,193"] = [37473] let s:lib.Codec.decoding_table["224,194"] = [37488] let s:lib.Codec.decoding_table["224,195"] = [37425] let s:lib.Codec.decoding_table["224,196"] = [37460] let s:lib.Codec.decoding_table["224,197"] = [37475] let s:lib.Codec.decoding_table["224,198"] = [37456] let s:lib.Codec.decoding_table["224,199"] = [37490] let s:lib.Codec.decoding_table["224,200"] = [37454] let s:lib.Codec.decoding_table["224,201"] = [37459] let s:lib.Codec.decoding_table["224,202"] = [37452] let s:lib.Codec.decoding_table["224,203"] = [37462] let s:lib.Codec.decoding_table["224,204"] = [37426] let s:lib.Codec.decoding_table["224,205"] = [38303] let s:lib.Codec.decoding_table["224,206"] = [38300] let s:lib.Codec.decoding_table["224,207"] = [38302] let s:lib.Codec.decoding_table["224,208"] = [38299] let s:lib.Codec.decoding_table["224,209"] = [38546] let s:lib.Codec.decoding_table["224,210"] = [38547] let s:lib.Codec.decoding_table["224,211"] = [38545] let s:lib.Codec.decoding_table["224,212"] = [38551] let s:lib.Codec.decoding_table["224,213"] = [38606] let s:lib.Codec.decoding_table["224,214"] = [38650] let s:lib.Codec.decoding_table["224,215"] = [38653] let s:lib.Codec.decoding_table["224,216"] = [38648] let s:lib.Codec.decoding_table["224,217"] = [38645] let s:lib.Codec.decoding_table["224,218"] = [38771] let s:lib.Codec.decoding_table["224,219"] = [38775] let s:lib.Codec.decoding_table["224,220"] = [38776] let s:lib.Codec.decoding_table["224,221"] = [38770] let s:lib.Codec.decoding_table["224,222"] = [38927] let s:lib.Codec.decoding_table["224,223"] = [38925] let s:lib.Codec.decoding_table["224,224"] = [38926] let s:lib.Codec.decoding_table["224,225"] = [39084] let s:lib.Codec.decoding_table["224,226"] = [39158] let s:lib.Codec.decoding_table["224,227"] = [39161] let s:lib.Codec.decoding_table["224,228"] = [39343] let s:lib.Codec.decoding_table["224,229"] = [39346] let s:lib.Codec.decoding_table["224,230"] = [39344] let s:lib.Codec.decoding_table["224,231"] = [39349] let s:lib.Codec.decoding_table["224,232"] = [39597] let s:lib.Codec.decoding_table["224,233"] = [39595] let s:lib.Codec.decoding_table["224,234"] = [39771] let s:lib.Codec.decoding_table["224,235"] = [40170] let s:lib.Codec.decoding_table["224,236"] = [40173] let s:lib.Codec.decoding_table["224,237"] = [40167] let s:lib.Codec.decoding_table["224,238"] = [40576] let s:lib.Codec.decoding_table["224,239"] = [40701] let s:lib.Codec.decoding_table["224,240"] = [20710] let s:lib.Codec.decoding_table["224,241"] = [20692] let s:lib.Codec.decoding_table["224,242"] = [20695] let s:lib.Codec.decoding_table["224,243"] = [20712] let s:lib.Codec.decoding_table["224,244"] = [20723] let s:lib.Codec.decoding_table["224,245"] = [20699] let s:lib.Codec.decoding_table["224,246"] = [20714] let s:lib.Codec.decoding_table["224,247"] = [20701] let s:lib.Codec.decoding_table["224,248"] = [20708] let s:lib.Codec.decoding_table["224,249"] = [20691] let s:lib.Codec.decoding_table["224,250"] = [20716] let s:lib.Codec.decoding_table["224,251"] = [20720] let s:lib.Codec.decoding_table["224,252"] = [20719] let s:lib.Codec.decoding_table["224,253"] = [20707] let s:lib.Codec.decoding_table["224,254"] = [20704] let s:lib.Codec.decoding_table["225,64"] = [20952] let s:lib.Codec.decoding_table["225,65"] = [21120] let s:lib.Codec.decoding_table["225,66"] = [21121] let s:lib.Codec.decoding_table["225,67"] = [21225] let s:lib.Codec.decoding_table["225,68"] = [21227] let s:lib.Codec.decoding_table["225,69"] = [21296] let s:lib.Codec.decoding_table["225,70"] = [21420] let s:lib.Codec.decoding_table["225,71"] = [22055] let s:lib.Codec.decoding_table["225,72"] = [22037] let s:lib.Codec.decoding_table["225,73"] = [22028] let s:lib.Codec.decoding_table["225,74"] = [22034] let s:lib.Codec.decoding_table["225,75"] = [22012] let s:lib.Codec.decoding_table["225,76"] = [22031] let s:lib.Codec.decoding_table["225,77"] = [22044] let s:lib.Codec.decoding_table["225,78"] = [22017] let s:lib.Codec.decoding_table["225,79"] = [22035] let s:lib.Codec.decoding_table["225,80"] = [22018] let s:lib.Codec.decoding_table["225,81"] = [22010] let s:lib.Codec.decoding_table["225,82"] = [22045] let s:lib.Codec.decoding_table["225,83"] = [22020] let s:lib.Codec.decoding_table["225,84"] = [22015] let s:lib.Codec.decoding_table["225,85"] = [22009] let s:lib.Codec.decoding_table["225,86"] = [22665] let s:lib.Codec.decoding_table["225,87"] = [22652] let s:lib.Codec.decoding_table["225,88"] = [22672] let s:lib.Codec.decoding_table["225,89"] = [22680] let s:lib.Codec.decoding_table["225,90"] = [22662] let s:lib.Codec.decoding_table["225,91"] = [22657] let s:lib.Codec.decoding_table["225,92"] = [22655] let s:lib.Codec.decoding_table["225,93"] = [22644] let s:lib.Codec.decoding_table["225,94"] = [22667] let s:lib.Codec.decoding_table["225,95"] = [22650] let s:lib.Codec.decoding_table["225,96"] = [22663] let s:lib.Codec.decoding_table["225,97"] = [22673] let s:lib.Codec.decoding_table["225,98"] = [22670] let s:lib.Codec.decoding_table["225,99"] = [22646] let s:lib.Codec.decoding_table["225,100"] = [22658] let s:lib.Codec.decoding_table["225,101"] = [22664] let s:lib.Codec.decoding_table["225,102"] = [22651] let s:lib.Codec.decoding_table["225,103"] = [22676] let s:lib.Codec.decoding_table["225,104"] = [22671] let s:lib.Codec.decoding_table["225,105"] = [22782] let s:lib.Codec.decoding_table["225,106"] = [22891] let s:lib.Codec.decoding_table["225,107"] = [23260] let s:lib.Codec.decoding_table["225,108"] = [23278] let s:lib.Codec.decoding_table["225,109"] = [23269] let s:lib.Codec.decoding_table["225,110"] = [23253] let s:lib.Codec.decoding_table["225,111"] = [23274] let s:lib.Codec.decoding_table["225,112"] = [23258] let s:lib.Codec.decoding_table["225,113"] = [23277] let s:lib.Codec.decoding_table["225,114"] = [23275] let s:lib.Codec.decoding_table["225,115"] = [23283] let s:lib.Codec.decoding_table["225,116"] = [23266] let s:lib.Codec.decoding_table["225,117"] = [23264] let s:lib.Codec.decoding_table["225,118"] = [23259] let s:lib.Codec.decoding_table["225,119"] = [23276] let s:lib.Codec.decoding_table["225,120"] = [23262] let s:lib.Codec.decoding_table["225,121"] = [23261] let s:lib.Codec.decoding_table["225,122"] = [23257] let s:lib.Codec.decoding_table["225,123"] = [23272] let s:lib.Codec.decoding_table["225,124"] = [23263] let s:lib.Codec.decoding_table["225,125"] = [23415] let s:lib.Codec.decoding_table["225,126"] = [23520] let s:lib.Codec.decoding_table["225,161"] = [23523] let s:lib.Codec.decoding_table["225,162"] = [23651] let s:lib.Codec.decoding_table["225,163"] = [23938] let s:lib.Codec.decoding_table["225,164"] = [23936] let s:lib.Codec.decoding_table["225,165"] = [23933] let s:lib.Codec.decoding_table["225,166"] = [23942] let s:lib.Codec.decoding_table["225,167"] = [23930] let s:lib.Codec.decoding_table["225,168"] = [23937] let s:lib.Codec.decoding_table["225,169"] = [23927] let s:lib.Codec.decoding_table["225,170"] = [23946] let s:lib.Codec.decoding_table["225,171"] = [23945] let s:lib.Codec.decoding_table["225,172"] = [23944] let s:lib.Codec.decoding_table["225,173"] = [23934] let s:lib.Codec.decoding_table["225,174"] = [23932] let s:lib.Codec.decoding_table["225,175"] = [23949] let s:lib.Codec.decoding_table["225,176"] = [23929] let s:lib.Codec.decoding_table["225,177"] = [23935] let s:lib.Codec.decoding_table["225,178"] = [24152] let s:lib.Codec.decoding_table["225,179"] = [24153] let s:lib.Codec.decoding_table["225,180"] = [24147] let s:lib.Codec.decoding_table["225,181"] = [24280] let s:lib.Codec.decoding_table["225,182"] = [24273] let s:lib.Codec.decoding_table["225,183"] = [24279] let s:lib.Codec.decoding_table["225,184"] = [24270] let s:lib.Codec.decoding_table["225,185"] = [24284] let s:lib.Codec.decoding_table["225,186"] = [24277] let s:lib.Codec.decoding_table["225,187"] = [24281] let s:lib.Codec.decoding_table["225,188"] = [24274] let s:lib.Codec.decoding_table["225,189"] = [24276] let s:lib.Codec.decoding_table["225,190"] = [24388] let s:lib.Codec.decoding_table["225,191"] = [24387] let s:lib.Codec.decoding_table["225,192"] = [24431] let s:lib.Codec.decoding_table["225,193"] = [24502] let s:lib.Codec.decoding_table["225,194"] = [24876] let s:lib.Codec.decoding_table["225,195"] = [24872] let s:lib.Codec.decoding_table["225,196"] = [24897] let s:lib.Codec.decoding_table["225,197"] = [24926] let s:lib.Codec.decoding_table["225,198"] = [24945] let s:lib.Codec.decoding_table["225,199"] = [24947] let s:lib.Codec.decoding_table["225,200"] = [24914] let s:lib.Codec.decoding_table["225,201"] = [24915] let s:lib.Codec.decoding_table["225,202"] = [24946] let s:lib.Codec.decoding_table["225,203"] = [24940] let s:lib.Codec.decoding_table["225,204"] = [24960] let s:lib.Codec.decoding_table["225,205"] = [24948] let s:lib.Codec.decoding_table["225,206"] = [24916] let s:lib.Codec.decoding_table["225,207"] = [24954] let s:lib.Codec.decoding_table["225,208"] = [24923] let s:lib.Codec.decoding_table["225,209"] = [24933] let s:lib.Codec.decoding_table["225,210"] = [24891] let s:lib.Codec.decoding_table["225,211"] = [24938] let s:lib.Codec.decoding_table["225,212"] = [24929] let s:lib.Codec.decoding_table["225,213"] = [24918] let s:lib.Codec.decoding_table["225,214"] = [25129] let s:lib.Codec.decoding_table["225,215"] = [25127] let s:lib.Codec.decoding_table["225,216"] = [25131] let s:lib.Codec.decoding_table["225,217"] = [25643] let s:lib.Codec.decoding_table["225,218"] = [25677] let s:lib.Codec.decoding_table["225,219"] = [25691] let s:lib.Codec.decoding_table["225,220"] = [25693] let s:lib.Codec.decoding_table["225,221"] = [25716] let s:lib.Codec.decoding_table["225,222"] = [25718] let s:lib.Codec.decoding_table["225,223"] = [25714] let s:lib.Codec.decoding_table["225,224"] = [25715] let s:lib.Codec.decoding_table["225,225"] = [25725] let s:lib.Codec.decoding_table["225,226"] = [25717] let s:lib.Codec.decoding_table["225,227"] = [25702] let s:lib.Codec.decoding_table["225,228"] = [25766] let s:lib.Codec.decoding_table["225,229"] = [25678] let s:lib.Codec.decoding_table["225,230"] = [25730] let s:lib.Codec.decoding_table["225,231"] = [25694] let s:lib.Codec.decoding_table["225,232"] = [25692] let s:lib.Codec.decoding_table["225,233"] = [25675] let s:lib.Codec.decoding_table["225,234"] = [25683] let s:lib.Codec.decoding_table["225,235"] = [25696] let s:lib.Codec.decoding_table["225,236"] = [25680] let s:lib.Codec.decoding_table["225,237"] = [25727] let s:lib.Codec.decoding_table["225,238"] = [25663] let s:lib.Codec.decoding_table["225,239"] = [25708] let s:lib.Codec.decoding_table["225,240"] = [25707] let s:lib.Codec.decoding_table["225,241"] = [25689] let s:lib.Codec.decoding_table["225,242"] = [25701] let s:lib.Codec.decoding_table["225,243"] = [25719] let s:lib.Codec.decoding_table["225,244"] = [25971] let s:lib.Codec.decoding_table["225,245"] = [26016] let s:lib.Codec.decoding_table["225,246"] = [26273] let s:lib.Codec.decoding_table["225,247"] = [26272] let s:lib.Codec.decoding_table["225,248"] = [26271] let s:lib.Codec.decoding_table["225,249"] = [26373] let s:lib.Codec.decoding_table["225,250"] = [26372] let s:lib.Codec.decoding_table["225,251"] = [26402] let s:lib.Codec.decoding_table["225,252"] = [27057] let s:lib.Codec.decoding_table["225,253"] = [27062] let s:lib.Codec.decoding_table["225,254"] = [27081] let s:lib.Codec.decoding_table["226,64"] = [27040] let s:lib.Codec.decoding_table["226,65"] = [27086] let s:lib.Codec.decoding_table["226,66"] = [27030] let s:lib.Codec.decoding_table["226,67"] = [27056] let s:lib.Codec.decoding_table["226,68"] = [27052] let s:lib.Codec.decoding_table["226,69"] = [27068] let s:lib.Codec.decoding_table["226,70"] = [27025] let s:lib.Codec.decoding_table["226,71"] = [27033] let s:lib.Codec.decoding_table["226,72"] = [27022] let s:lib.Codec.decoding_table["226,73"] = [27047] let s:lib.Codec.decoding_table["226,74"] = [27021] let s:lib.Codec.decoding_table["226,75"] = [27049] let s:lib.Codec.decoding_table["226,76"] = [27070] let s:lib.Codec.decoding_table["226,77"] = [27055] let s:lib.Codec.decoding_table["226,78"] = [27071] let s:lib.Codec.decoding_table["226,79"] = [27076] let s:lib.Codec.decoding_table["226,80"] = [27069] let s:lib.Codec.decoding_table["226,81"] = [27044] let s:lib.Codec.decoding_table["226,82"] = [27092] let s:lib.Codec.decoding_table["226,83"] = [27065] let s:lib.Codec.decoding_table["226,84"] = [27082] let s:lib.Codec.decoding_table["226,85"] = [27034] let s:lib.Codec.decoding_table["226,86"] = [27087] let s:lib.Codec.decoding_table["226,87"] = [27059] let s:lib.Codec.decoding_table["226,88"] = [27027] let s:lib.Codec.decoding_table["226,89"] = [27050] let s:lib.Codec.decoding_table["226,90"] = [27041] let s:lib.Codec.decoding_table["226,91"] = [27038] let s:lib.Codec.decoding_table["226,92"] = [27097] let s:lib.Codec.decoding_table["226,93"] = [27031] let s:lib.Codec.decoding_table["226,94"] = [27024] let s:lib.Codec.decoding_table["226,95"] = [27074] let s:lib.Codec.decoding_table["226,96"] = [27061] let s:lib.Codec.decoding_table["226,97"] = [27045] let s:lib.Codec.decoding_table["226,98"] = [27078] let s:lib.Codec.decoding_table["226,99"] = [27466] let s:lib.Codec.decoding_table["226,100"] = [27469] let s:lib.Codec.decoding_table["226,101"] = [27467] let s:lib.Codec.decoding_table["226,102"] = [27550] let s:lib.Codec.decoding_table["226,103"] = [27551] let s:lib.Codec.decoding_table["226,104"] = [27552] let s:lib.Codec.decoding_table["226,105"] = [27587] let s:lib.Codec.decoding_table["226,106"] = [27588] let s:lib.Codec.decoding_table["226,107"] = [27646] let s:lib.Codec.decoding_table["226,108"] = [28366] let s:lib.Codec.decoding_table["226,109"] = [28405] let s:lib.Codec.decoding_table["226,110"] = [28401] let s:lib.Codec.decoding_table["226,111"] = [28419] let s:lib.Codec.decoding_table["226,112"] = [28453] let s:lib.Codec.decoding_table["226,113"] = [28408] let s:lib.Codec.decoding_table["226,114"] = [28471] let s:lib.Codec.decoding_table["226,115"] = [28411] let s:lib.Codec.decoding_table["226,116"] = [28462] let s:lib.Codec.decoding_table["226,117"] = [28425] let s:lib.Codec.decoding_table["226,118"] = [28494] let s:lib.Codec.decoding_table["226,119"] = [28441] let s:lib.Codec.decoding_table["226,120"] = [28442] let s:lib.Codec.decoding_table["226,121"] = [28455] let s:lib.Codec.decoding_table["226,122"] = [28440] let s:lib.Codec.decoding_table["226,123"] = [28475] let s:lib.Codec.decoding_table["226,124"] = [28434] let s:lib.Codec.decoding_table["226,125"] = [28397] let s:lib.Codec.decoding_table["226,126"] = [28426] let s:lib.Codec.decoding_table["226,161"] = [28470] let s:lib.Codec.decoding_table["226,162"] = [28531] let s:lib.Codec.decoding_table["226,163"] = [28409] let s:lib.Codec.decoding_table["226,164"] = [28398] let s:lib.Codec.decoding_table["226,165"] = [28461] let s:lib.Codec.decoding_table["226,166"] = [28480] let s:lib.Codec.decoding_table["226,167"] = [28464] let s:lib.Codec.decoding_table["226,168"] = [28476] let s:lib.Codec.decoding_table["226,169"] = [28469] let s:lib.Codec.decoding_table["226,170"] = [28395] let s:lib.Codec.decoding_table["226,171"] = [28423] let s:lib.Codec.decoding_table["226,172"] = [28430] let s:lib.Codec.decoding_table["226,173"] = [28483] let s:lib.Codec.decoding_table["226,174"] = [28421] let s:lib.Codec.decoding_table["226,175"] = [28413] let s:lib.Codec.decoding_table["226,176"] = [28406] let s:lib.Codec.decoding_table["226,177"] = [28473] let s:lib.Codec.decoding_table["226,178"] = [28444] let s:lib.Codec.decoding_table["226,179"] = [28412] let s:lib.Codec.decoding_table["226,180"] = [28474] let s:lib.Codec.decoding_table["226,181"] = [28447] let s:lib.Codec.decoding_table["226,182"] = [28429] let s:lib.Codec.decoding_table["226,183"] = [28446] let s:lib.Codec.decoding_table["226,184"] = [28424] let s:lib.Codec.decoding_table["226,185"] = [28449] let s:lib.Codec.decoding_table["226,186"] = [29063] let s:lib.Codec.decoding_table["226,187"] = [29072] let s:lib.Codec.decoding_table["226,188"] = [29065] let s:lib.Codec.decoding_table["226,189"] = [29056] let s:lib.Codec.decoding_table["226,190"] = [29061] let s:lib.Codec.decoding_table["226,191"] = [29058] let s:lib.Codec.decoding_table["226,192"] = [29071] let s:lib.Codec.decoding_table["226,193"] = [29051] let s:lib.Codec.decoding_table["226,194"] = [29062] let s:lib.Codec.decoding_table["226,195"] = [29057] let s:lib.Codec.decoding_table["226,196"] = [29079] let s:lib.Codec.decoding_table["226,197"] = [29252] let s:lib.Codec.decoding_table["226,198"] = [29267] let s:lib.Codec.decoding_table["226,199"] = [29335] let s:lib.Codec.decoding_table["226,200"] = [29333] let s:lib.Codec.decoding_table["226,201"] = [29331] let s:lib.Codec.decoding_table["226,202"] = [29507] let s:lib.Codec.decoding_table["226,203"] = [29517] let s:lib.Codec.decoding_table["226,204"] = [29521] let s:lib.Codec.decoding_table["226,205"] = [29516] let s:lib.Codec.decoding_table["226,206"] = [29794] let s:lib.Codec.decoding_table["226,207"] = [29811] let s:lib.Codec.decoding_table["226,208"] = [29809] let s:lib.Codec.decoding_table["226,209"] = [29813] let s:lib.Codec.decoding_table["226,210"] = [29810] let s:lib.Codec.decoding_table["226,211"] = [29799] let s:lib.Codec.decoding_table["226,212"] = [29806] let s:lib.Codec.decoding_table["226,213"] = [29952] let s:lib.Codec.decoding_table["226,214"] = [29954] let s:lib.Codec.decoding_table["226,215"] = [29955] let s:lib.Codec.decoding_table["226,216"] = [30077] let s:lib.Codec.decoding_table["226,217"] = [30096] let s:lib.Codec.decoding_table["226,218"] = [30230] let s:lib.Codec.decoding_table["226,219"] = [30216] let s:lib.Codec.decoding_table["226,220"] = [30220] let s:lib.Codec.decoding_table["226,221"] = [30229] let s:lib.Codec.decoding_table["226,222"] = [30225] let s:lib.Codec.decoding_table["226,223"] = [30218] let s:lib.Codec.decoding_table["226,224"] = [30228] let s:lib.Codec.decoding_table["226,225"] = [30392] let s:lib.Codec.decoding_table["226,226"] = [30593] let s:lib.Codec.decoding_table["226,227"] = [30588] let s:lib.Codec.decoding_table["226,228"] = [30597] let s:lib.Codec.decoding_table["226,229"] = [30594] let s:lib.Codec.decoding_table["226,230"] = [30574] let s:lib.Codec.decoding_table["226,231"] = [30592] let s:lib.Codec.decoding_table["226,232"] = [30575] let s:lib.Codec.decoding_table["226,233"] = [30590] let s:lib.Codec.decoding_table["226,234"] = [30595] let s:lib.Codec.decoding_table["226,235"] = [30898] let s:lib.Codec.decoding_table["226,236"] = [30890] let s:lib.Codec.decoding_table["226,237"] = [30900] let s:lib.Codec.decoding_table["226,238"] = [30893] let s:lib.Codec.decoding_table["226,239"] = [30888] let s:lib.Codec.decoding_table["226,240"] = [30846] let s:lib.Codec.decoding_table["226,241"] = [30891] let s:lib.Codec.decoding_table["226,242"] = [30878] let s:lib.Codec.decoding_table["226,243"] = [30885] let s:lib.Codec.decoding_table["226,244"] = [30880] let s:lib.Codec.decoding_table["226,245"] = [30892] let s:lib.Codec.decoding_table["226,246"] = [30882] let s:lib.Codec.decoding_table["226,247"] = [30884] let s:lib.Codec.decoding_table["226,248"] = [31128] let s:lib.Codec.decoding_table["226,249"] = [31114] let s:lib.Codec.decoding_table["226,250"] = [31115] let s:lib.Codec.decoding_table["226,251"] = [31126] let s:lib.Codec.decoding_table["226,252"] = [31125] let s:lib.Codec.decoding_table["226,253"] = [31124] let s:lib.Codec.decoding_table["226,254"] = [31123] let s:lib.Codec.decoding_table["227,64"] = [31127] let s:lib.Codec.decoding_table["227,65"] = [31112] let s:lib.Codec.decoding_table["227,66"] = [31122] let s:lib.Codec.decoding_table["227,67"] = [31120] let s:lib.Codec.decoding_table["227,68"] = [31275] let s:lib.Codec.decoding_table["227,69"] = [31306] let s:lib.Codec.decoding_table["227,70"] = [31280] let s:lib.Codec.decoding_table["227,71"] = [31279] let s:lib.Codec.decoding_table["227,72"] = [31272] let s:lib.Codec.decoding_table["227,73"] = [31270] let s:lib.Codec.decoding_table["227,74"] = [31400] let s:lib.Codec.decoding_table["227,75"] = [31403] let s:lib.Codec.decoding_table["227,76"] = [31404] let s:lib.Codec.decoding_table["227,77"] = [31470] let s:lib.Codec.decoding_table["227,78"] = [31624] let s:lib.Codec.decoding_table["227,79"] = [31644] let s:lib.Codec.decoding_table["227,80"] = [31626] let s:lib.Codec.decoding_table["227,81"] = [31633] let s:lib.Codec.decoding_table["227,82"] = [31632] let s:lib.Codec.decoding_table["227,83"] = [31638] let s:lib.Codec.decoding_table["227,84"] = [31629] let s:lib.Codec.decoding_table["227,85"] = [31628] let s:lib.Codec.decoding_table["227,86"] = [31643] let s:lib.Codec.decoding_table["227,87"] = [31630] let s:lib.Codec.decoding_table["227,88"] = [31621] let s:lib.Codec.decoding_table["227,89"] = [31640] let s:lib.Codec.decoding_table["227,90"] = [21124] let s:lib.Codec.decoding_table["227,91"] = [31641] let s:lib.Codec.decoding_table["227,92"] = [31652] let s:lib.Codec.decoding_table["227,93"] = [31618] let s:lib.Codec.decoding_table["227,94"] = [31931] let s:lib.Codec.decoding_table["227,95"] = [31935] let s:lib.Codec.decoding_table["227,96"] = [31932] let s:lib.Codec.decoding_table["227,97"] = [31930] let s:lib.Codec.decoding_table["227,98"] = [32167] let s:lib.Codec.decoding_table["227,99"] = [32183] let s:lib.Codec.decoding_table["227,100"] = [32194] let s:lib.Codec.decoding_table["227,101"] = [32163] let s:lib.Codec.decoding_table["227,102"] = [32170] let s:lib.Codec.decoding_table["227,103"] = [32193] let s:lib.Codec.decoding_table["227,104"] = [32192] let s:lib.Codec.decoding_table["227,105"] = [32197] let s:lib.Codec.decoding_table["227,106"] = [32157] let s:lib.Codec.decoding_table["227,107"] = [32206] let s:lib.Codec.decoding_table["227,108"] = [32196] let s:lib.Codec.decoding_table["227,109"] = [32198] let s:lib.Codec.decoding_table["227,110"] = [32203] let s:lib.Codec.decoding_table["227,111"] = [32204] let s:lib.Codec.decoding_table["227,112"] = [32175] let s:lib.Codec.decoding_table["227,113"] = [32185] let s:lib.Codec.decoding_table["227,114"] = [32150] let s:lib.Codec.decoding_table["227,115"] = [32188] let s:lib.Codec.decoding_table["227,116"] = [32159] let s:lib.Codec.decoding_table["227,117"] = [32166] let s:lib.Codec.decoding_table["227,118"] = [32174] let s:lib.Codec.decoding_table["227,119"] = [32169] let s:lib.Codec.decoding_table["227,120"] = [32161] let s:lib.Codec.decoding_table["227,121"] = [32201] let s:lib.Codec.decoding_table["227,122"] = [32627] let s:lib.Codec.decoding_table["227,123"] = [32738] let s:lib.Codec.decoding_table["227,124"] = [32739] let s:lib.Codec.decoding_table["227,125"] = [32741] let s:lib.Codec.decoding_table["227,126"] = [32734] let s:lib.Codec.decoding_table["227,161"] = [32804] let s:lib.Codec.decoding_table["227,162"] = [32861] let s:lib.Codec.decoding_table["227,163"] = [32860] let s:lib.Codec.decoding_table["227,164"] = [33161] let s:lib.Codec.decoding_table["227,165"] = [33158] let s:lib.Codec.decoding_table["227,166"] = [33155] let s:lib.Codec.decoding_table["227,167"] = [33159] let s:lib.Codec.decoding_table["227,168"] = [33165] let s:lib.Codec.decoding_table["227,169"] = [33164] let s:lib.Codec.decoding_table["227,170"] = [33163] let s:lib.Codec.decoding_table["227,171"] = [33301] let s:lib.Codec.decoding_table["227,172"] = [33943] let s:lib.Codec.decoding_table["227,173"] = [33956] let s:lib.Codec.decoding_table["227,174"] = [33953] let s:lib.Codec.decoding_table["227,175"] = [33951] let s:lib.Codec.decoding_table["227,176"] = [33978] let s:lib.Codec.decoding_table["227,177"] = [33998] let s:lib.Codec.decoding_table["227,178"] = [33986] let s:lib.Codec.decoding_table["227,179"] = [33964] let s:lib.Codec.decoding_table["227,180"] = [33966] let s:lib.Codec.decoding_table["227,181"] = [33963] let s:lib.Codec.decoding_table["227,182"] = [33977] let s:lib.Codec.decoding_table["227,183"] = [33972] let s:lib.Codec.decoding_table["227,184"] = [33985] let s:lib.Codec.decoding_table["227,185"] = [33997] let s:lib.Codec.decoding_table["227,186"] = [33962] let s:lib.Codec.decoding_table["227,187"] = [33946] let s:lib.Codec.decoding_table["227,188"] = [33969] let s:lib.Codec.decoding_table["227,189"] = [34000] let s:lib.Codec.decoding_table["227,190"] = [33949] let s:lib.Codec.decoding_table["227,191"] = [33959] let s:lib.Codec.decoding_table["227,192"] = [33979] let s:lib.Codec.decoding_table["227,193"] = [33954] let s:lib.Codec.decoding_table["227,194"] = [33940] let s:lib.Codec.decoding_table["227,195"] = [33991] let s:lib.Codec.decoding_table["227,196"] = [33996] let s:lib.Codec.decoding_table["227,197"] = [33947] let s:lib.Codec.decoding_table["227,198"] = [33961] let s:lib.Codec.decoding_table["227,199"] = [33967] let s:lib.Codec.decoding_table["227,200"] = [33960] let s:lib.Codec.decoding_table["227,201"] = [34006] let s:lib.Codec.decoding_table["227,202"] = [33944] let s:lib.Codec.decoding_table["227,203"] = [33974] let s:lib.Codec.decoding_table["227,204"] = [33999] let s:lib.Codec.decoding_table["227,205"] = [33952] let s:lib.Codec.decoding_table["227,206"] = [34007] let s:lib.Codec.decoding_table["227,207"] = [34004] let s:lib.Codec.decoding_table["227,208"] = [34002] let s:lib.Codec.decoding_table["227,209"] = [34011] let s:lib.Codec.decoding_table["227,210"] = [33968] let s:lib.Codec.decoding_table["227,211"] = [33937] let s:lib.Codec.decoding_table["227,212"] = [34401] let s:lib.Codec.decoding_table["227,213"] = [34611] let s:lib.Codec.decoding_table["227,214"] = [34595] let s:lib.Codec.decoding_table["227,215"] = [34600] let s:lib.Codec.decoding_table["227,216"] = [34667] let s:lib.Codec.decoding_table["227,217"] = [34624] let s:lib.Codec.decoding_table["227,218"] = [34606] let s:lib.Codec.decoding_table["227,219"] = [34590] let s:lib.Codec.decoding_table["227,220"] = [34593] let s:lib.Codec.decoding_table["227,221"] = [34585] let s:lib.Codec.decoding_table["227,222"] = [34587] let s:lib.Codec.decoding_table["227,223"] = [34627] let s:lib.Codec.decoding_table["227,224"] = [34604] let s:lib.Codec.decoding_table["227,225"] = [34625] let s:lib.Codec.decoding_table["227,226"] = [34622] let s:lib.Codec.decoding_table["227,227"] = [34630] let s:lib.Codec.decoding_table["227,228"] = [34592] let s:lib.Codec.decoding_table["227,229"] = [34610] let s:lib.Codec.decoding_table["227,230"] = [34602] let s:lib.Codec.decoding_table["227,231"] = [34605] let s:lib.Codec.decoding_table["227,232"] = [34620] let s:lib.Codec.decoding_table["227,233"] = [34578] let s:lib.Codec.decoding_table["227,234"] = [34618] let s:lib.Codec.decoding_table["227,235"] = [34609] let s:lib.Codec.decoding_table["227,236"] = [34613] let s:lib.Codec.decoding_table["227,237"] = [34626] let s:lib.Codec.decoding_table["227,238"] = [34598] let s:lib.Codec.decoding_table["227,239"] = [34599] let s:lib.Codec.decoding_table["227,240"] = [34616] let s:lib.Codec.decoding_table["227,241"] = [34596] let s:lib.Codec.decoding_table["227,242"] = [34586] let s:lib.Codec.decoding_table["227,243"] = [34608] let s:lib.Codec.decoding_table["227,244"] = [34577] let s:lib.Codec.decoding_table["227,245"] = [35063] let s:lib.Codec.decoding_table["227,246"] = [35047] let s:lib.Codec.decoding_table["227,247"] = [35057] let s:lib.Codec.decoding_table["227,248"] = [35058] let s:lib.Codec.decoding_table["227,249"] = [35066] let s:lib.Codec.decoding_table["227,250"] = [35070] let s:lib.Codec.decoding_table["227,251"] = [35054] let s:lib.Codec.decoding_table["227,252"] = [35068] let s:lib.Codec.decoding_table["227,253"] = [35062] let s:lib.Codec.decoding_table["227,254"] = [35067] let s:lib.Codec.decoding_table["228,64"] = [35056] let s:lib.Codec.decoding_table["228,65"] = [35052] let s:lib.Codec.decoding_table["228,66"] = [35051] let s:lib.Codec.decoding_table["228,67"] = [35229] let s:lib.Codec.decoding_table["228,68"] = [35233] let s:lib.Codec.decoding_table["228,69"] = [35231] let s:lib.Codec.decoding_table["228,70"] = [35230] let s:lib.Codec.decoding_table["228,71"] = [35305] let s:lib.Codec.decoding_table["228,72"] = [35307] let s:lib.Codec.decoding_table["228,73"] = [35304] let s:lib.Codec.decoding_table["228,74"] = [35499] let s:lib.Codec.decoding_table["228,75"] = [35481] let s:lib.Codec.decoding_table["228,76"] = [35467] let s:lib.Codec.decoding_table["228,77"] = [35474] let s:lib.Codec.decoding_table["228,78"] = [35471] let s:lib.Codec.decoding_table["228,79"] = [35478] let s:lib.Codec.decoding_table["228,80"] = [35901] let s:lib.Codec.decoding_table["228,81"] = [35944] let s:lib.Codec.decoding_table["228,82"] = [35945] let s:lib.Codec.decoding_table["228,83"] = [36053] let s:lib.Codec.decoding_table["228,84"] = [36047] let s:lib.Codec.decoding_table["228,85"] = [36055] let s:lib.Codec.decoding_table["228,86"] = [36246] let s:lib.Codec.decoding_table["228,87"] = [36361] let s:lib.Codec.decoding_table["228,88"] = [36354] let s:lib.Codec.decoding_table["228,89"] = [36351] let s:lib.Codec.decoding_table["228,90"] = [36365] let s:lib.Codec.decoding_table["228,91"] = [36349] let s:lib.Codec.decoding_table["228,92"] = [36362] let s:lib.Codec.decoding_table["228,93"] = [36355] let s:lib.Codec.decoding_table["228,94"] = [36359] let s:lib.Codec.decoding_table["228,95"] = [36358] let s:lib.Codec.decoding_table["228,96"] = [36357] let s:lib.Codec.decoding_table["228,97"] = [36350] let s:lib.Codec.decoding_table["228,98"] = [36352] let s:lib.Codec.decoding_table["228,99"] = [36356] let s:lib.Codec.decoding_table["228,100"] = [36624] let s:lib.Codec.decoding_table["228,101"] = [36625] let s:lib.Codec.decoding_table["228,102"] = [36622] let s:lib.Codec.decoding_table["228,103"] = [36621] let s:lib.Codec.decoding_table["228,104"] = [37155] let s:lib.Codec.decoding_table["228,105"] = [37148] let s:lib.Codec.decoding_table["228,106"] = [37152] let s:lib.Codec.decoding_table["228,107"] = [37154] let s:lib.Codec.decoding_table["228,108"] = [37151] let s:lib.Codec.decoding_table["228,109"] = [37149] let s:lib.Codec.decoding_table["228,110"] = [37146] let s:lib.Codec.decoding_table["228,111"] = [37156] let s:lib.Codec.decoding_table["228,112"] = [37153] let s:lib.Codec.decoding_table["228,113"] = [37147] let s:lib.Codec.decoding_table["228,114"] = [37242] let s:lib.Codec.decoding_table["228,115"] = [37234] let s:lib.Codec.decoding_table["228,116"] = [37241] let s:lib.Codec.decoding_table["228,117"] = [37235] let s:lib.Codec.decoding_table["228,118"] = [37541] let s:lib.Codec.decoding_table["228,119"] = [37540] let s:lib.Codec.decoding_table["228,120"] = [37494] let s:lib.Codec.decoding_table["228,121"] = [37531] let s:lib.Codec.decoding_table["228,122"] = [37498] let s:lib.Codec.decoding_table["228,123"] = [37536] let s:lib.Codec.decoding_table["228,124"] = [37524] let s:lib.Codec.decoding_table["228,125"] = [37546] let s:lib.Codec.decoding_table["228,126"] = [37517] let s:lib.Codec.decoding_table["228,161"] = [37542] let s:lib.Codec.decoding_table["228,162"] = [37530] let s:lib.Codec.decoding_table["228,163"] = [37547] let s:lib.Codec.decoding_table["228,164"] = [37497] let s:lib.Codec.decoding_table["228,165"] = [37527] let s:lib.Codec.decoding_table["228,166"] = [37503] let s:lib.Codec.decoding_table["228,167"] = [37539] let s:lib.Codec.decoding_table["228,168"] = [37614] let s:lib.Codec.decoding_table["228,169"] = [37518] let s:lib.Codec.decoding_table["228,170"] = [37506] let s:lib.Codec.decoding_table["228,171"] = [37525] let s:lib.Codec.decoding_table["228,172"] = [37538] let s:lib.Codec.decoding_table["228,173"] = [37501] let s:lib.Codec.decoding_table["228,174"] = [37512] let s:lib.Codec.decoding_table["228,175"] = [37537] let s:lib.Codec.decoding_table["228,176"] = [37514] let s:lib.Codec.decoding_table["228,177"] = [37510] let s:lib.Codec.decoding_table["228,178"] = [37516] let s:lib.Codec.decoding_table["228,179"] = [37529] let s:lib.Codec.decoding_table["228,180"] = [37543] let s:lib.Codec.decoding_table["228,181"] = [37502] let s:lib.Codec.decoding_table["228,182"] = [37511] let s:lib.Codec.decoding_table["228,183"] = [37545] let s:lib.Codec.decoding_table["228,184"] = [37533] let s:lib.Codec.decoding_table["228,185"] = [37515] let s:lib.Codec.decoding_table["228,186"] = [37421] let s:lib.Codec.decoding_table["228,187"] = [38558] let s:lib.Codec.decoding_table["228,188"] = [38561] let s:lib.Codec.decoding_table["228,189"] = [38655] let s:lib.Codec.decoding_table["228,190"] = [38744] let s:lib.Codec.decoding_table["228,191"] = [38781] let s:lib.Codec.decoding_table["228,192"] = [38778] let s:lib.Codec.decoding_table["228,193"] = [38782] let s:lib.Codec.decoding_table["228,194"] = [38787] let s:lib.Codec.decoding_table["228,195"] = [38784] let s:lib.Codec.decoding_table["228,196"] = [38786] let s:lib.Codec.decoding_table["228,197"] = [38779] let s:lib.Codec.decoding_table["228,198"] = [38788] let s:lib.Codec.decoding_table["228,199"] = [38785] let s:lib.Codec.decoding_table["228,200"] = [38783] let s:lib.Codec.decoding_table["228,201"] = [38862] let s:lib.Codec.decoding_table["228,202"] = [38861] let s:lib.Codec.decoding_table["228,203"] = [38934] let s:lib.Codec.decoding_table["228,204"] = [39085] let s:lib.Codec.decoding_table["228,205"] = [39086] let s:lib.Codec.decoding_table["228,206"] = [39170] let s:lib.Codec.decoding_table["228,207"] = [39168] let s:lib.Codec.decoding_table["228,208"] = [39175] let s:lib.Codec.decoding_table["228,209"] = [39325] let s:lib.Codec.decoding_table["228,210"] = [39324] let s:lib.Codec.decoding_table["228,211"] = [39363] let s:lib.Codec.decoding_table["228,212"] = [39353] let s:lib.Codec.decoding_table["228,213"] = [39355] let s:lib.Codec.decoding_table["228,214"] = [39354] let s:lib.Codec.decoding_table["228,215"] = [39362] let s:lib.Codec.decoding_table["228,216"] = [39357] let s:lib.Codec.decoding_table["228,217"] = [39367] let s:lib.Codec.decoding_table["228,218"] = [39601] let s:lib.Codec.decoding_table["228,219"] = [39651] let s:lib.Codec.decoding_table["228,220"] = [39655] let s:lib.Codec.decoding_table["228,221"] = [39742] let s:lib.Codec.decoding_table["228,222"] = [39743] let s:lib.Codec.decoding_table["228,223"] = [39776] let s:lib.Codec.decoding_table["228,224"] = [39777] let s:lib.Codec.decoding_table["228,225"] = [39775] let s:lib.Codec.decoding_table["228,226"] = [40177] let s:lib.Codec.decoding_table["228,227"] = [40178] let s:lib.Codec.decoding_table["228,228"] = [40181] let s:lib.Codec.decoding_table["228,229"] = [40615] let s:lib.Codec.decoding_table["228,230"] = [20735] let s:lib.Codec.decoding_table["228,231"] = [20739] let s:lib.Codec.decoding_table["228,232"] = [20784] let s:lib.Codec.decoding_table["228,233"] = [20728] let s:lib.Codec.decoding_table["228,234"] = [20742] let s:lib.Codec.decoding_table["228,235"] = [20743] let s:lib.Codec.decoding_table["228,236"] = [20726] let s:lib.Codec.decoding_table["228,237"] = [20734] let s:lib.Codec.decoding_table["228,238"] = [20747] let s:lib.Codec.decoding_table["228,239"] = [20748] let s:lib.Codec.decoding_table["228,240"] = [20733] let s:lib.Codec.decoding_table["228,241"] = [20746] let s:lib.Codec.decoding_table["228,242"] = [21131] let s:lib.Codec.decoding_table["228,243"] = [21132] let s:lib.Codec.decoding_table["228,244"] = [21233] let s:lib.Codec.decoding_table["228,245"] = [21231] let s:lib.Codec.decoding_table["228,246"] = [22088] let s:lib.Codec.decoding_table["228,247"] = [22082] let s:lib.Codec.decoding_table["228,248"] = [22092] let s:lib.Codec.decoding_table["228,249"] = [22069] let s:lib.Codec.decoding_table["228,250"] = [22081] let s:lib.Codec.decoding_table["228,251"] = [22090] let s:lib.Codec.decoding_table["228,252"] = [22089] let s:lib.Codec.decoding_table["228,253"] = [22086] let s:lib.Codec.decoding_table["228,254"] = [22104] let s:lib.Codec.decoding_table["229,64"] = [22106] let s:lib.Codec.decoding_table["229,65"] = [22080] let s:lib.Codec.decoding_table["229,66"] = [22067] let s:lib.Codec.decoding_table["229,67"] = [22077] let s:lib.Codec.decoding_table["229,68"] = [22060] let s:lib.Codec.decoding_table["229,69"] = [22078] let s:lib.Codec.decoding_table["229,70"] = [22072] let s:lib.Codec.decoding_table["229,71"] = [22058] let s:lib.Codec.decoding_table["229,72"] = [22074] let s:lib.Codec.decoding_table["229,73"] = [22298] let s:lib.Codec.decoding_table["229,74"] = [22699] let s:lib.Codec.decoding_table["229,75"] = [22685] let s:lib.Codec.decoding_table["229,76"] = [22705] let s:lib.Codec.decoding_table["229,77"] = [22688] let s:lib.Codec.decoding_table["229,78"] = [22691] let s:lib.Codec.decoding_table["229,79"] = [22703] let s:lib.Codec.decoding_table["229,80"] = [22700] let s:lib.Codec.decoding_table["229,81"] = [22693] let s:lib.Codec.decoding_table["229,82"] = [22689] let s:lib.Codec.decoding_table["229,83"] = [22783] let s:lib.Codec.decoding_table["229,84"] = [23295] let s:lib.Codec.decoding_table["229,85"] = [23284] let s:lib.Codec.decoding_table["229,86"] = [23293] let s:lib.Codec.decoding_table["229,87"] = [23287] let s:lib.Codec.decoding_table["229,88"] = [23286] let s:lib.Codec.decoding_table["229,89"] = [23299] let s:lib.Codec.decoding_table["229,90"] = [23288] let s:lib.Codec.decoding_table["229,91"] = [23298] let s:lib.Codec.decoding_table["229,92"] = [23289] let s:lib.Codec.decoding_table["229,93"] = [23297] let s:lib.Codec.decoding_table["229,94"] = [23303] let s:lib.Codec.decoding_table["229,95"] = [23301] let s:lib.Codec.decoding_table["229,96"] = [23311] let s:lib.Codec.decoding_table["229,97"] = [23655] let s:lib.Codec.decoding_table["229,98"] = [23961] let s:lib.Codec.decoding_table["229,99"] = [23959] let s:lib.Codec.decoding_table["229,100"] = [23967] let s:lib.Codec.decoding_table["229,101"] = [23954] let s:lib.Codec.decoding_table["229,102"] = [23970] let s:lib.Codec.decoding_table["229,103"] = [23955] let s:lib.Codec.decoding_table["229,104"] = [23957] let s:lib.Codec.decoding_table["229,105"] = [23968] let s:lib.Codec.decoding_table["229,106"] = [23964] let s:lib.Codec.decoding_table["229,107"] = [23969] let s:lib.Codec.decoding_table["229,108"] = [23962] let s:lib.Codec.decoding_table["229,109"] = [23966] let s:lib.Codec.decoding_table["229,110"] = [24169] let s:lib.Codec.decoding_table["229,111"] = [24157] let s:lib.Codec.decoding_table["229,112"] = [24160] let s:lib.Codec.decoding_table["229,113"] = [24156] let s:lib.Codec.decoding_table["229,114"] = [32243] let s:lib.Codec.decoding_table["229,115"] = [24283] let s:lib.Codec.decoding_table["229,116"] = [24286] let s:lib.Codec.decoding_table["229,117"] = [24289] let s:lib.Codec.decoding_table["229,118"] = [24393] let s:lib.Codec.decoding_table["229,119"] = [24498] let s:lib.Codec.decoding_table["229,120"] = [24971] let s:lib.Codec.decoding_table["229,121"] = [24963] let s:lib.Codec.decoding_table["229,122"] = [24953] let s:lib.Codec.decoding_table["229,123"] = [25009] let s:lib.Codec.decoding_table["229,124"] = [25008] let s:lib.Codec.decoding_table["229,125"] = [24994] let s:lib.Codec.decoding_table["229,126"] = [24969] let s:lib.Codec.decoding_table["229,161"] = [24987] let s:lib.Codec.decoding_table["229,162"] = [24979] let s:lib.Codec.decoding_table["229,163"] = [25007] let s:lib.Codec.decoding_table["229,164"] = [25005] let s:lib.Codec.decoding_table["229,165"] = [24991] let s:lib.Codec.decoding_table["229,166"] = [24978] let s:lib.Codec.decoding_table["229,167"] = [25002] let s:lib.Codec.decoding_table["229,168"] = [24993] let s:lib.Codec.decoding_table["229,169"] = [24973] let s:lib.Codec.decoding_table["229,170"] = [24934] let s:lib.Codec.decoding_table["229,171"] = [25011] let s:lib.Codec.decoding_table["229,172"] = [25133] let s:lib.Codec.decoding_table["229,173"] = [25710] let s:lib.Codec.decoding_table["229,174"] = [25712] let s:lib.Codec.decoding_table["229,175"] = [25750] let s:lib.Codec.decoding_table["229,176"] = [25760] let s:lib.Codec.decoding_table["229,177"] = [25733] let s:lib.Codec.decoding_table["229,178"] = [25751] let s:lib.Codec.decoding_table["229,179"] = [25756] let s:lib.Codec.decoding_table["229,180"] = [25743] let s:lib.Codec.decoding_table["229,181"] = [25739] let s:lib.Codec.decoding_table["229,182"] = [25738] let s:lib.Codec.decoding_table["229,183"] = [25740] let s:lib.Codec.decoding_table["229,184"] = [25763] let s:lib.Codec.decoding_table["229,185"] = [25759] let s:lib.Codec.decoding_table["229,186"] = [25704] let s:lib.Codec.decoding_table["229,187"] = [25777] let s:lib.Codec.decoding_table["229,188"] = [25752] let s:lib.Codec.decoding_table["229,189"] = [25974] let s:lib.Codec.decoding_table["229,190"] = [25978] let s:lib.Codec.decoding_table["229,191"] = [25977] let s:lib.Codec.decoding_table["229,192"] = [25979] let s:lib.Codec.decoding_table["229,193"] = [26034] let s:lib.Codec.decoding_table["229,194"] = [26035] let s:lib.Codec.decoding_table["229,195"] = [26293] let s:lib.Codec.decoding_table["229,196"] = [26288] let s:lib.Codec.decoding_table["229,197"] = [26281] let s:lib.Codec.decoding_table["229,198"] = [26290] let s:lib.Codec.decoding_table["229,199"] = [26295] let s:lib.Codec.decoding_table["229,200"] = [26282] let s:lib.Codec.decoding_table["229,201"] = [26287] let s:lib.Codec.decoding_table["229,202"] = [27136] let s:lib.Codec.decoding_table["229,203"] = [27142] let s:lib.Codec.decoding_table["229,204"] = [27159] let s:lib.Codec.decoding_table["229,205"] = [27109] let s:lib.Codec.decoding_table["229,206"] = [27128] let s:lib.Codec.decoding_table["229,207"] = [27157] let s:lib.Codec.decoding_table["229,208"] = [27121] let s:lib.Codec.decoding_table["229,209"] = [27108] let s:lib.Codec.decoding_table["229,210"] = [27168] let s:lib.Codec.decoding_table["229,211"] = [27135] let s:lib.Codec.decoding_table["229,212"] = [27116] let s:lib.Codec.decoding_table["229,213"] = [27106] let s:lib.Codec.decoding_table["229,214"] = [27163] let s:lib.Codec.decoding_table["229,215"] = [27165] let s:lib.Codec.decoding_table["229,216"] = [27134] let s:lib.Codec.decoding_table["229,217"] = [27175] let s:lib.Codec.decoding_table["229,218"] = [27122] let s:lib.Codec.decoding_table["229,219"] = [27118] let s:lib.Codec.decoding_table["229,220"] = [27156] let s:lib.Codec.decoding_table["229,221"] = [27127] let s:lib.Codec.decoding_table["229,222"] = [27111] let s:lib.Codec.decoding_table["229,223"] = [27200] let s:lib.Codec.decoding_table["229,224"] = [27144] let s:lib.Codec.decoding_table["229,225"] = [27110] let s:lib.Codec.decoding_table["229,226"] = [27131] let s:lib.Codec.decoding_table["229,227"] = [27149] let s:lib.Codec.decoding_table["229,228"] = [27132] let s:lib.Codec.decoding_table["229,229"] = [27115] let s:lib.Codec.decoding_table["229,230"] = [27145] let s:lib.Codec.decoding_table["229,231"] = [27140] let s:lib.Codec.decoding_table["229,232"] = [27160] let s:lib.Codec.decoding_table["229,233"] = [27173] let s:lib.Codec.decoding_table["229,234"] = [27151] let s:lib.Codec.decoding_table["229,235"] = [27126] let s:lib.Codec.decoding_table["229,236"] = [27174] let s:lib.Codec.decoding_table["229,237"] = [27143] let s:lib.Codec.decoding_table["229,238"] = [27124] let s:lib.Codec.decoding_table["229,239"] = [27158] let s:lib.Codec.decoding_table["229,240"] = [27473] let s:lib.Codec.decoding_table["229,241"] = [27557] let s:lib.Codec.decoding_table["229,242"] = [27555] let s:lib.Codec.decoding_table["229,243"] = [27554] let s:lib.Codec.decoding_table["229,244"] = [27558] let s:lib.Codec.decoding_table["229,245"] = [27649] let s:lib.Codec.decoding_table["229,246"] = [27648] let s:lib.Codec.decoding_table["229,247"] = [27647] let s:lib.Codec.decoding_table["229,248"] = [27650] let s:lib.Codec.decoding_table["229,249"] = [28481] let s:lib.Codec.decoding_table["229,250"] = [28454] let s:lib.Codec.decoding_table["229,251"] = [28542] let s:lib.Codec.decoding_table["229,252"] = [28551] let s:lib.Codec.decoding_table["229,253"] = [28614] let s:lib.Codec.decoding_table["229,254"] = [28562] let s:lib.Codec.decoding_table["230,64"] = [28557] let s:lib.Codec.decoding_table["230,65"] = [28553] let s:lib.Codec.decoding_table["230,66"] = [28556] let s:lib.Codec.decoding_table["230,67"] = [28514] let s:lib.Codec.decoding_table["230,68"] = [28495] let s:lib.Codec.decoding_table["230,69"] = [28549] let s:lib.Codec.decoding_table["230,70"] = [28506] let s:lib.Codec.decoding_table["230,71"] = [28566] let s:lib.Codec.decoding_table["230,72"] = [28534] let s:lib.Codec.decoding_table["230,73"] = [28524] let s:lib.Codec.decoding_table["230,74"] = [28546] let s:lib.Codec.decoding_table["230,75"] = [28501] let s:lib.Codec.decoding_table["230,76"] = [28530] let s:lib.Codec.decoding_table["230,77"] = [28498] let s:lib.Codec.decoding_table["230,78"] = [28496] let s:lib.Codec.decoding_table["230,79"] = [28503] let s:lib.Codec.decoding_table["230,80"] = [28564] let s:lib.Codec.decoding_table["230,81"] = [28563] let s:lib.Codec.decoding_table["230,82"] = [28509] let s:lib.Codec.decoding_table["230,83"] = [28416] let s:lib.Codec.decoding_table["230,84"] = [28513] let s:lib.Codec.decoding_table["230,85"] = [28523] let s:lib.Codec.decoding_table["230,86"] = [28541] let s:lib.Codec.decoding_table["230,87"] = [28519] let s:lib.Codec.decoding_table["230,88"] = [28560] let s:lib.Codec.decoding_table["230,89"] = [28499] let s:lib.Codec.decoding_table["230,90"] = [28555] let s:lib.Codec.decoding_table["230,91"] = [28521] let s:lib.Codec.decoding_table["230,92"] = [28543] let s:lib.Codec.decoding_table["230,93"] = [28565] let s:lib.Codec.decoding_table["230,94"] = [28515] let s:lib.Codec.decoding_table["230,95"] = [28535] let s:lib.Codec.decoding_table["230,96"] = [28522] let s:lib.Codec.decoding_table["230,97"] = [28539] let s:lib.Codec.decoding_table["230,98"] = [29106] let s:lib.Codec.decoding_table["230,99"] = [29103] let s:lib.Codec.decoding_table["230,100"] = [29083] let s:lib.Codec.decoding_table["230,101"] = [29104] let s:lib.Codec.decoding_table["230,102"] = [29088] let s:lib.Codec.decoding_table["230,103"] = [29082] let s:lib.Codec.decoding_table["230,104"] = [29097] let s:lib.Codec.decoding_table["230,105"] = [29109] let s:lib.Codec.decoding_table["230,106"] = [29085] let s:lib.Codec.decoding_table["230,107"] = [29093] let s:lib.Codec.decoding_table["230,108"] = [29086] let s:lib.Codec.decoding_table["230,109"] = [29092] let s:lib.Codec.decoding_table["230,110"] = [29089] let s:lib.Codec.decoding_table["230,111"] = [29098] let s:lib.Codec.decoding_table["230,112"] = [29084] let s:lib.Codec.decoding_table["230,113"] = [29095] let s:lib.Codec.decoding_table["230,114"] = [29107] let s:lib.Codec.decoding_table["230,115"] = [29336] let s:lib.Codec.decoding_table["230,116"] = [29338] let s:lib.Codec.decoding_table["230,117"] = [29528] let s:lib.Codec.decoding_table["230,118"] = [29522] let s:lib.Codec.decoding_table["230,119"] = [29534] let s:lib.Codec.decoding_table["230,120"] = [29535] let s:lib.Codec.decoding_table["230,121"] = [29536] let s:lib.Codec.decoding_table["230,122"] = [29533] let s:lib.Codec.decoding_table["230,123"] = [29531] let s:lib.Codec.decoding_table["230,124"] = [29537] let s:lib.Codec.decoding_table["230,125"] = [29530] let s:lib.Codec.decoding_table["230,126"] = [29529] let s:lib.Codec.decoding_table["230,161"] = [29538] let s:lib.Codec.decoding_table["230,162"] = [29831] let s:lib.Codec.decoding_table["230,163"] = [29833] let s:lib.Codec.decoding_table["230,164"] = [29834] let s:lib.Codec.decoding_table["230,165"] = [29830] let s:lib.Codec.decoding_table["230,166"] = [29825] let s:lib.Codec.decoding_table["230,167"] = [29821] let s:lib.Codec.decoding_table["230,168"] = [29829] let s:lib.Codec.decoding_table["230,169"] = [29832] let s:lib.Codec.decoding_table["230,170"] = [29820] let s:lib.Codec.decoding_table["230,171"] = [29817] let s:lib.Codec.decoding_table["230,172"] = [29960] let s:lib.Codec.decoding_table["230,173"] = [29959] let s:lib.Codec.decoding_table["230,174"] = [30078] let s:lib.Codec.decoding_table["230,175"] = [30245] let s:lib.Codec.decoding_table["230,176"] = [30238] let s:lib.Codec.decoding_table["230,177"] = [30233] let s:lib.Codec.decoding_table["230,178"] = [30237] let s:lib.Codec.decoding_table["230,179"] = [30236] let s:lib.Codec.decoding_table["230,180"] = [30243] let s:lib.Codec.decoding_table["230,181"] = [30234] let s:lib.Codec.decoding_table["230,182"] = [30248] let s:lib.Codec.decoding_table["230,183"] = [30235] let s:lib.Codec.decoding_table["230,184"] = [30364] let s:lib.Codec.decoding_table["230,185"] = [30365] let s:lib.Codec.decoding_table["230,186"] = [30366] let s:lib.Codec.decoding_table["230,187"] = [30363] let s:lib.Codec.decoding_table["230,188"] = [30605] let s:lib.Codec.decoding_table["230,189"] = [30607] let s:lib.Codec.decoding_table["230,190"] = [30601] let s:lib.Codec.decoding_table["230,191"] = [30600] let s:lib.Codec.decoding_table["230,192"] = [30925] let s:lib.Codec.decoding_table["230,193"] = [30907] let s:lib.Codec.decoding_table["230,194"] = [30927] let s:lib.Codec.decoding_table["230,195"] = [30924] let s:lib.Codec.decoding_table["230,196"] = [30929] let s:lib.Codec.decoding_table["230,197"] = [30926] let s:lib.Codec.decoding_table["230,198"] = [30932] let s:lib.Codec.decoding_table["230,199"] = [30920] let s:lib.Codec.decoding_table["230,200"] = [30915] let s:lib.Codec.decoding_table["230,201"] = [30916] let s:lib.Codec.decoding_table["230,202"] = [30921] let s:lib.Codec.decoding_table["230,203"] = [31130] let s:lib.Codec.decoding_table["230,204"] = [31137] let s:lib.Codec.decoding_table["230,205"] = [31136] let s:lib.Codec.decoding_table["230,206"] = [31132] let s:lib.Codec.decoding_table["230,207"] = [31138] let s:lib.Codec.decoding_table["230,208"] = [31131] let s:lib.Codec.decoding_table["230,209"] = [27510] let s:lib.Codec.decoding_table["230,210"] = [31289] let s:lib.Codec.decoding_table["230,211"] = [31410] let s:lib.Codec.decoding_table["230,212"] = [31412] let s:lib.Codec.decoding_table["230,213"] = [31411] let s:lib.Codec.decoding_table["230,214"] = [31671] let s:lib.Codec.decoding_table["230,215"] = [31691] let s:lib.Codec.decoding_table["230,216"] = [31678] let s:lib.Codec.decoding_table["230,217"] = [31660] let s:lib.Codec.decoding_table["230,218"] = [31694] let s:lib.Codec.decoding_table["230,219"] = [31663] let s:lib.Codec.decoding_table["230,220"] = [31673] let s:lib.Codec.decoding_table["230,221"] = [31690] let s:lib.Codec.decoding_table["230,222"] = [31669] let s:lib.Codec.decoding_table["230,223"] = [31941] let s:lib.Codec.decoding_table["230,224"] = [31944] let s:lib.Codec.decoding_table["230,225"] = [31948] let s:lib.Codec.decoding_table["230,226"] = [31947] let s:lib.Codec.decoding_table["230,227"] = [32247] let s:lib.Codec.decoding_table["230,228"] = [32219] let s:lib.Codec.decoding_table["230,229"] = [32234] let s:lib.Codec.decoding_table["230,230"] = [32231] let s:lib.Codec.decoding_table["230,231"] = [32215] let s:lib.Codec.decoding_table["230,232"] = [32225] let s:lib.Codec.decoding_table["230,233"] = [32259] let s:lib.Codec.decoding_table["230,234"] = [32250] let s:lib.Codec.decoding_table["230,235"] = [32230] let s:lib.Codec.decoding_table["230,236"] = [32246] let s:lib.Codec.decoding_table["230,237"] = [32241] let s:lib.Codec.decoding_table["230,238"] = [32240] let s:lib.Codec.decoding_table["230,239"] = [32238] let s:lib.Codec.decoding_table["230,240"] = [32223] let s:lib.Codec.decoding_table["230,241"] = [32630] let s:lib.Codec.decoding_table["230,242"] = [32684] let s:lib.Codec.decoding_table["230,243"] = [32688] let s:lib.Codec.decoding_table["230,244"] = [32685] let s:lib.Codec.decoding_table["230,245"] = [32749] let s:lib.Codec.decoding_table["230,246"] = [32747] let s:lib.Codec.decoding_table["230,247"] = [32746] let s:lib.Codec.decoding_table["230,248"] = [32748] let s:lib.Codec.decoding_table["230,249"] = [32742] let s:lib.Codec.decoding_table["230,250"] = [32744] let s:lib.Codec.decoding_table["230,251"] = [32868] let s:lib.Codec.decoding_table["230,252"] = [32871] let s:lib.Codec.decoding_table["230,253"] = [33187] let s:lib.Codec.decoding_table["230,254"] = [33183] let s:lib.Codec.decoding_table["231,64"] = [33182] let s:lib.Codec.decoding_table["231,65"] = [33173] let s:lib.Codec.decoding_table["231,66"] = [33186] let s:lib.Codec.decoding_table["231,67"] = [33177] let s:lib.Codec.decoding_table["231,68"] = [33175] let s:lib.Codec.decoding_table["231,69"] = [33302] let s:lib.Codec.decoding_table["231,70"] = [33359] let s:lib.Codec.decoding_table["231,71"] = [33363] let s:lib.Codec.decoding_table["231,72"] = [33362] let s:lib.Codec.decoding_table["231,73"] = [33360] let s:lib.Codec.decoding_table["231,74"] = [33358] let s:lib.Codec.decoding_table["231,75"] = [33361] let s:lib.Codec.decoding_table["231,76"] = [34084] let s:lib.Codec.decoding_table["231,77"] = [34107] let s:lib.Codec.decoding_table["231,78"] = [34063] let s:lib.Codec.decoding_table["231,79"] = [34048] let s:lib.Codec.decoding_table["231,80"] = [34089] let s:lib.Codec.decoding_table["231,81"] = [34062] let s:lib.Codec.decoding_table["231,82"] = [34057] let s:lib.Codec.decoding_table["231,83"] = [34061] let s:lib.Codec.decoding_table["231,84"] = [34079] let s:lib.Codec.decoding_table["231,85"] = [34058] let s:lib.Codec.decoding_table["231,86"] = [34087] let s:lib.Codec.decoding_table["231,87"] = [34076] let s:lib.Codec.decoding_table["231,88"] = [34043] let s:lib.Codec.decoding_table["231,89"] = [34091] let s:lib.Codec.decoding_table["231,90"] = [34042] let s:lib.Codec.decoding_table["231,91"] = [34056] let s:lib.Codec.decoding_table["231,92"] = [34060] let s:lib.Codec.decoding_table["231,93"] = [34036] let s:lib.Codec.decoding_table["231,94"] = [34090] let s:lib.Codec.decoding_table["231,95"] = [34034] let s:lib.Codec.decoding_table["231,96"] = [34069] let s:lib.Codec.decoding_table["231,97"] = [34039] let s:lib.Codec.decoding_table["231,98"] = [34027] let s:lib.Codec.decoding_table["231,99"] = [34035] let s:lib.Codec.decoding_table["231,100"] = [34044] let s:lib.Codec.decoding_table["231,101"] = [34066] let s:lib.Codec.decoding_table["231,102"] = [34026] let s:lib.Codec.decoding_table["231,103"] = [34025] let s:lib.Codec.decoding_table["231,104"] = [34070] let s:lib.Codec.decoding_table["231,105"] = [34046] let s:lib.Codec.decoding_table["231,106"] = [34088] let s:lib.Codec.decoding_table["231,107"] = [34077] let s:lib.Codec.decoding_table["231,108"] = [34094] let s:lib.Codec.decoding_table["231,109"] = [34050] let s:lib.Codec.decoding_table["231,110"] = [34045] let s:lib.Codec.decoding_table["231,111"] = [34078] let s:lib.Codec.decoding_table["231,112"] = [34038] let s:lib.Codec.decoding_table["231,113"] = [34097] let s:lib.Codec.decoding_table["231,114"] = [34086] let s:lib.Codec.decoding_table["231,115"] = [34023] let s:lib.Codec.decoding_table["231,116"] = [34024] let s:lib.Codec.decoding_table["231,117"] = [34032] let s:lib.Codec.decoding_table["231,118"] = [34031] let s:lib.Codec.decoding_table["231,119"] = [34041] let s:lib.Codec.decoding_table["231,120"] = [34072] let s:lib.Codec.decoding_table["231,121"] = [34080] let s:lib.Codec.decoding_table["231,122"] = [34096] let s:lib.Codec.decoding_table["231,123"] = [34059] let s:lib.Codec.decoding_table["231,124"] = [34073] let s:lib.Codec.decoding_table["231,125"] = [34095] let s:lib.Codec.decoding_table["231,126"] = [34402] let s:lib.Codec.decoding_table["231,161"] = [34646] let s:lib.Codec.decoding_table["231,162"] = [34659] let s:lib.Codec.decoding_table["231,163"] = [34660] let s:lib.Codec.decoding_table["231,164"] = [34679] let s:lib.Codec.decoding_table["231,165"] = [34785] let s:lib.Codec.decoding_table["231,166"] = [34675] let s:lib.Codec.decoding_table["231,167"] = [34648] let s:lib.Codec.decoding_table["231,168"] = [34644] let s:lib.Codec.decoding_table["231,169"] = [34651] let s:lib.Codec.decoding_table["231,170"] = [34642] let s:lib.Codec.decoding_table["231,171"] = [34657] let s:lib.Codec.decoding_table["231,172"] = [34650] let s:lib.Codec.decoding_table["231,173"] = [34641] let s:lib.Codec.decoding_table["231,174"] = [34654] let s:lib.Codec.decoding_table["231,175"] = [34669] let s:lib.Codec.decoding_table["231,176"] = [34666] let s:lib.Codec.decoding_table["231,177"] = [34640] let s:lib.Codec.decoding_table["231,178"] = [34638] let s:lib.Codec.decoding_table["231,179"] = [34655] let s:lib.Codec.decoding_table["231,180"] = [34653] let s:lib.Codec.decoding_table["231,181"] = [34671] let s:lib.Codec.decoding_table["231,182"] = [34668] let s:lib.Codec.decoding_table["231,183"] = [34682] let s:lib.Codec.decoding_table["231,184"] = [34670] let s:lib.Codec.decoding_table["231,185"] = [34652] let s:lib.Codec.decoding_table["231,186"] = [34661] let s:lib.Codec.decoding_table["231,187"] = [34639] let s:lib.Codec.decoding_table["231,188"] = [34683] let s:lib.Codec.decoding_table["231,189"] = [34677] let s:lib.Codec.decoding_table["231,190"] = [34658] let s:lib.Codec.decoding_table["231,191"] = [34663] let s:lib.Codec.decoding_table["231,192"] = [34665] let s:lib.Codec.decoding_table["231,193"] = [34906] let s:lib.Codec.decoding_table["231,194"] = [35077] let s:lib.Codec.decoding_table["231,195"] = [35084] let s:lib.Codec.decoding_table["231,196"] = [35092] let s:lib.Codec.decoding_table["231,197"] = [35083] let s:lib.Codec.decoding_table["231,198"] = [35095] let s:lib.Codec.decoding_table["231,199"] = [35096] let s:lib.Codec.decoding_table["231,200"] = [35097] let s:lib.Codec.decoding_table["231,201"] = [35078] let s:lib.Codec.decoding_table["231,202"] = [35094] let s:lib.Codec.decoding_table["231,203"] = [35089] let s:lib.Codec.decoding_table["231,204"] = [35086] let s:lib.Codec.decoding_table["231,205"] = [35081] let s:lib.Codec.decoding_table["231,206"] = [35234] let s:lib.Codec.decoding_table["231,207"] = [35236] let s:lib.Codec.decoding_table["231,208"] = [35235] let s:lib.Codec.decoding_table["231,209"] = [35309] let s:lib.Codec.decoding_table["231,210"] = [35312] let s:lib.Codec.decoding_table["231,211"] = [35308] let s:lib.Codec.decoding_table["231,212"] = [35535] let s:lib.Codec.decoding_table["231,213"] = [35526] let s:lib.Codec.decoding_table["231,214"] = [35512] let s:lib.Codec.decoding_table["231,215"] = [35539] let s:lib.Codec.decoding_table["231,216"] = [35537] let s:lib.Codec.decoding_table["231,217"] = [35540] let s:lib.Codec.decoding_table["231,218"] = [35541] let s:lib.Codec.decoding_table["231,219"] = [35515] let s:lib.Codec.decoding_table["231,220"] = [35543] let s:lib.Codec.decoding_table["231,221"] = [35518] let s:lib.Codec.decoding_table["231,222"] = [35520] let s:lib.Codec.decoding_table["231,223"] = [35525] let s:lib.Codec.decoding_table["231,224"] = [35544] let s:lib.Codec.decoding_table["231,225"] = [35523] let s:lib.Codec.decoding_table["231,226"] = [35514] let s:lib.Codec.decoding_table["231,227"] = [35517] let s:lib.Codec.decoding_table["231,228"] = [35545] let s:lib.Codec.decoding_table["231,229"] = [35902] let s:lib.Codec.decoding_table["231,230"] = [35917] let s:lib.Codec.decoding_table["231,231"] = [35983] let s:lib.Codec.decoding_table["231,232"] = [36069] let s:lib.Codec.decoding_table["231,233"] = [36063] let s:lib.Codec.decoding_table["231,234"] = [36057] let s:lib.Codec.decoding_table["231,235"] = [36072] let s:lib.Codec.decoding_table["231,236"] = [36058] let s:lib.Codec.decoding_table["231,237"] = [36061] let s:lib.Codec.decoding_table["231,238"] = [36071] let s:lib.Codec.decoding_table["231,239"] = [36256] let s:lib.Codec.decoding_table["231,240"] = [36252] let s:lib.Codec.decoding_table["231,241"] = [36257] let s:lib.Codec.decoding_table["231,242"] = [36251] let s:lib.Codec.decoding_table["231,243"] = [36384] let s:lib.Codec.decoding_table["231,244"] = [36387] let s:lib.Codec.decoding_table["231,245"] = [36389] let s:lib.Codec.decoding_table["231,246"] = [36388] let s:lib.Codec.decoding_table["231,247"] = [36398] let s:lib.Codec.decoding_table["231,248"] = [36373] let s:lib.Codec.decoding_table["231,249"] = [36379] let s:lib.Codec.decoding_table["231,250"] = [36374] let s:lib.Codec.decoding_table["231,251"] = [36369] let s:lib.Codec.decoding_table["231,252"] = [36377] let s:lib.Codec.decoding_table["231,253"] = [36390] let s:lib.Codec.decoding_table["231,254"] = [36391] let s:lib.Codec.decoding_table["232,64"] = [36372] let s:lib.Codec.decoding_table["232,65"] = [36370] let s:lib.Codec.decoding_table["232,66"] = [36376] let s:lib.Codec.decoding_table["232,67"] = [36371] let s:lib.Codec.decoding_table["232,68"] = [36380] let s:lib.Codec.decoding_table["232,69"] = [36375] let s:lib.Codec.decoding_table["232,70"] = [36378] let s:lib.Codec.decoding_table["232,71"] = [36652] let s:lib.Codec.decoding_table["232,72"] = [36644] let s:lib.Codec.decoding_table["232,73"] = [36632] let s:lib.Codec.decoding_table["232,74"] = [36634] let s:lib.Codec.decoding_table["232,75"] = [36640] let s:lib.Codec.decoding_table["232,76"] = [36643] let s:lib.Codec.decoding_table["232,77"] = [36630] let s:lib.Codec.decoding_table["232,78"] = [36631] let s:lib.Codec.decoding_table["232,79"] = [36979] let s:lib.Codec.decoding_table["232,80"] = [36976] let s:lib.Codec.decoding_table["232,81"] = [36975] let s:lib.Codec.decoding_table["232,82"] = [36967] let s:lib.Codec.decoding_table["232,83"] = [36971] let s:lib.Codec.decoding_table["232,84"] = [37167] let s:lib.Codec.decoding_table["232,85"] = [37163] let s:lib.Codec.decoding_table["232,86"] = [37161] let s:lib.Codec.decoding_table["232,87"] = [37162] let s:lib.Codec.decoding_table["232,88"] = [37170] let s:lib.Codec.decoding_table["232,89"] = [37158] let s:lib.Codec.decoding_table["232,90"] = [37166] let s:lib.Codec.decoding_table["232,91"] = [37253] let s:lib.Codec.decoding_table["232,92"] = [37254] let s:lib.Codec.decoding_table["232,93"] = [37258] let s:lib.Codec.decoding_table["232,94"] = [37249] let s:lib.Codec.decoding_table["232,95"] = [37250] let s:lib.Codec.decoding_table["232,96"] = [37252] let s:lib.Codec.decoding_table["232,97"] = [37248] let s:lib.Codec.decoding_table["232,98"] = [37584] let s:lib.Codec.decoding_table["232,99"] = [37571] let s:lib.Codec.decoding_table["232,100"] = [37572] let s:lib.Codec.decoding_table["232,101"] = [37568] let s:lib.Codec.decoding_table["232,102"] = [37593] let s:lib.Codec.decoding_table["232,103"] = [37558] let s:lib.Codec.decoding_table["232,104"] = [37583] let s:lib.Codec.decoding_table["232,105"] = [37617] let s:lib.Codec.decoding_table["232,106"] = [37599] let s:lib.Codec.decoding_table["232,107"] = [37592] let s:lib.Codec.decoding_table["232,108"] = [37609] let s:lib.Codec.decoding_table["232,109"] = [37591] let s:lib.Codec.decoding_table["232,110"] = [37597] let s:lib.Codec.decoding_table["232,111"] = [37580] let s:lib.Codec.decoding_table["232,112"] = [37615] let s:lib.Codec.decoding_table["232,113"] = [37570] let s:lib.Codec.decoding_table["232,114"] = [37608] let s:lib.Codec.decoding_table["232,115"] = [37578] let s:lib.Codec.decoding_table["232,116"] = [37576] let s:lib.Codec.decoding_table["232,117"] = [37582] let s:lib.Codec.decoding_table["232,118"] = [37606] let s:lib.Codec.decoding_table["232,119"] = [37581] let s:lib.Codec.decoding_table["232,120"] = [37589] let s:lib.Codec.decoding_table["232,121"] = [37577] let s:lib.Codec.decoding_table["232,122"] = [37600] let s:lib.Codec.decoding_table["232,123"] = [37598] let s:lib.Codec.decoding_table["232,124"] = [37607] let s:lib.Codec.decoding_table["232,125"] = [37585] let s:lib.Codec.decoding_table["232,126"] = [37587] let s:lib.Codec.decoding_table["232,161"] = [37557] let s:lib.Codec.decoding_table["232,162"] = [37601] let s:lib.Codec.decoding_table["232,163"] = [37574] let s:lib.Codec.decoding_table["232,164"] = [37556] let s:lib.Codec.decoding_table["232,165"] = [38268] let s:lib.Codec.decoding_table["232,166"] = [38316] let s:lib.Codec.decoding_table["232,167"] = [38315] let s:lib.Codec.decoding_table["232,168"] = [38318] let s:lib.Codec.decoding_table["232,169"] = [38320] let s:lib.Codec.decoding_table["232,170"] = [38564] let s:lib.Codec.decoding_table["232,171"] = [38562] let s:lib.Codec.decoding_table["232,172"] = [38611] let s:lib.Codec.decoding_table["232,173"] = [38661] let s:lib.Codec.decoding_table["232,174"] = [38664] let s:lib.Codec.decoding_table["232,175"] = [38658] let s:lib.Codec.decoding_table["232,176"] = [38746] let s:lib.Codec.decoding_table["232,177"] = [38794] let s:lib.Codec.decoding_table["232,178"] = [38798] let s:lib.Codec.decoding_table["232,179"] = [38792] let s:lib.Codec.decoding_table["232,180"] = [38864] let s:lib.Codec.decoding_table["232,181"] = [38863] let s:lib.Codec.decoding_table["232,182"] = [38942] let s:lib.Codec.decoding_table["232,183"] = [38941] let s:lib.Codec.decoding_table["232,184"] = [38950] let s:lib.Codec.decoding_table["232,185"] = [38953] let s:lib.Codec.decoding_table["232,186"] = [38952] let s:lib.Codec.decoding_table["232,187"] = [38944] let s:lib.Codec.decoding_table["232,188"] = [38939] let s:lib.Codec.decoding_table["232,189"] = [38951] let s:lib.Codec.decoding_table["232,190"] = [39090] let s:lib.Codec.decoding_table["232,191"] = [39176] let s:lib.Codec.decoding_table["232,192"] = [39162] let s:lib.Codec.decoding_table["232,193"] = [39185] let s:lib.Codec.decoding_table["232,194"] = [39188] let s:lib.Codec.decoding_table["232,195"] = [39190] let s:lib.Codec.decoding_table["232,196"] = [39191] let s:lib.Codec.decoding_table["232,197"] = [39189] let s:lib.Codec.decoding_table["232,198"] = [39388] let s:lib.Codec.decoding_table["232,199"] = [39373] let s:lib.Codec.decoding_table["232,200"] = [39375] let s:lib.Codec.decoding_table["232,201"] = [39379] let s:lib.Codec.decoding_table["232,202"] = [39380] let s:lib.Codec.decoding_table["232,203"] = [39374] let s:lib.Codec.decoding_table["232,204"] = [39369] let s:lib.Codec.decoding_table["232,205"] = [39382] let s:lib.Codec.decoding_table["232,206"] = [39384] let s:lib.Codec.decoding_table["232,207"] = [39371] let s:lib.Codec.decoding_table["232,208"] = [39383] let s:lib.Codec.decoding_table["232,209"] = [39372] let s:lib.Codec.decoding_table["232,210"] = [39603] let s:lib.Codec.decoding_table["232,211"] = [39660] let s:lib.Codec.decoding_table["232,212"] = [39659] let s:lib.Codec.decoding_table["232,213"] = [39667] let s:lib.Codec.decoding_table["232,214"] = [39666] let s:lib.Codec.decoding_table["232,215"] = [39665] let s:lib.Codec.decoding_table["232,216"] = [39750] let s:lib.Codec.decoding_table["232,217"] = [39747] let s:lib.Codec.decoding_table["232,218"] = [39783] let s:lib.Codec.decoding_table["232,219"] = [39796] let s:lib.Codec.decoding_table["232,220"] = [39793] let s:lib.Codec.decoding_table["232,221"] = [39782] let s:lib.Codec.decoding_table["232,222"] = [39798] let s:lib.Codec.decoding_table["232,223"] = [39797] let s:lib.Codec.decoding_table["232,224"] = [39792] let s:lib.Codec.decoding_table["232,225"] = [39784] let s:lib.Codec.decoding_table["232,226"] = [39780] let s:lib.Codec.decoding_table["232,227"] = [39788] let s:lib.Codec.decoding_table["232,228"] = [40188] let s:lib.Codec.decoding_table["232,229"] = [40186] let s:lib.Codec.decoding_table["232,230"] = [40189] let s:lib.Codec.decoding_table["232,231"] = [40191] let s:lib.Codec.decoding_table["232,232"] = [40183] let s:lib.Codec.decoding_table["232,233"] = [40199] let s:lib.Codec.decoding_table["232,234"] = [40192] let s:lib.Codec.decoding_table["232,235"] = [40185] let s:lib.Codec.decoding_table["232,236"] = [40187] let s:lib.Codec.decoding_table["232,237"] = [40200] let s:lib.Codec.decoding_table["232,238"] = [40197] let s:lib.Codec.decoding_table["232,239"] = [40196] let s:lib.Codec.decoding_table["232,240"] = [40579] let s:lib.Codec.decoding_table["232,241"] = [40659] let s:lib.Codec.decoding_table["232,242"] = [40719] let s:lib.Codec.decoding_table["232,243"] = [40720] let s:lib.Codec.decoding_table["232,244"] = [20764] let s:lib.Codec.decoding_table["232,245"] = [20755] let s:lib.Codec.decoding_table["232,246"] = [20759] let s:lib.Codec.decoding_table["232,247"] = [20762] let s:lib.Codec.decoding_table["232,248"] = [20753] let s:lib.Codec.decoding_table["232,249"] = [20958] let s:lib.Codec.decoding_table["232,250"] = [21300] let s:lib.Codec.decoding_table["232,251"] = [21473] let s:lib.Codec.decoding_table["232,252"] = [22128] let s:lib.Codec.decoding_table["232,253"] = [22112] let s:lib.Codec.decoding_table["232,254"] = [22126] let s:lib.Codec.decoding_table["233,64"] = [22131] let s:lib.Codec.decoding_table["233,65"] = [22118] let s:lib.Codec.decoding_table["233,66"] = [22115] let s:lib.Codec.decoding_table["233,67"] = [22125] let s:lib.Codec.decoding_table["233,68"] = [22130] let s:lib.Codec.decoding_table["233,69"] = [22110] let s:lib.Codec.decoding_table["233,70"] = [22135] let s:lib.Codec.decoding_table["233,71"] = [22300] let s:lib.Codec.decoding_table["233,72"] = [22299] let s:lib.Codec.decoding_table["233,73"] = [22728] let s:lib.Codec.decoding_table["233,74"] = [22717] let s:lib.Codec.decoding_table["233,75"] = [22729] let s:lib.Codec.decoding_table["233,76"] = [22719] let s:lib.Codec.decoding_table["233,77"] = [22714] let s:lib.Codec.decoding_table["233,78"] = [22722] let s:lib.Codec.decoding_table["233,79"] = [22716] let s:lib.Codec.decoding_table["233,80"] = [22726] let s:lib.Codec.decoding_table["233,81"] = [23319] let s:lib.Codec.decoding_table["233,82"] = [23321] let s:lib.Codec.decoding_table["233,83"] = [23323] let s:lib.Codec.decoding_table["233,84"] = [23329] let s:lib.Codec.decoding_table["233,85"] = [23316] let s:lib.Codec.decoding_table["233,86"] = [23315] let s:lib.Codec.decoding_table["233,87"] = [23312] let s:lib.Codec.decoding_table["233,88"] = [23318] let s:lib.Codec.decoding_table["233,89"] = [23336] let s:lib.Codec.decoding_table["233,90"] = [23322] let s:lib.Codec.decoding_table["233,91"] = [23328] let s:lib.Codec.decoding_table["233,92"] = [23326] let s:lib.Codec.decoding_table["233,93"] = [23535] let s:lib.Codec.decoding_table["233,94"] = [23980] let s:lib.Codec.decoding_table["233,95"] = [23985] let s:lib.Codec.decoding_table["233,96"] = [23977] let s:lib.Codec.decoding_table["233,97"] = [23975] let s:lib.Codec.decoding_table["233,98"] = [23989] let s:lib.Codec.decoding_table["233,99"] = [23984] let s:lib.Codec.decoding_table["233,100"] = [23982] let s:lib.Codec.decoding_table["233,101"] = [23978] let s:lib.Codec.decoding_table["233,102"] = [23976] let s:lib.Codec.decoding_table["233,103"] = [23986] let s:lib.Codec.decoding_table["233,104"] = [23981] let s:lib.Codec.decoding_table["233,105"] = [23983] let s:lib.Codec.decoding_table["233,106"] = [23988] let s:lib.Codec.decoding_table["233,107"] = [24167] let s:lib.Codec.decoding_table["233,108"] = [24168] let s:lib.Codec.decoding_table["233,109"] = [24166] let s:lib.Codec.decoding_table["233,110"] = [24175] let s:lib.Codec.decoding_table["233,111"] = [24297] let s:lib.Codec.decoding_table["233,112"] = [24295] let s:lib.Codec.decoding_table["233,113"] = [24294] let s:lib.Codec.decoding_table["233,114"] = [24296] let s:lib.Codec.decoding_table["233,115"] = [24293] let s:lib.Codec.decoding_table["233,116"] = [24395] let s:lib.Codec.decoding_table["233,117"] = [24508] let s:lib.Codec.decoding_table["233,118"] = [24989] let s:lib.Codec.decoding_table["233,119"] = [25000] let s:lib.Codec.decoding_table["233,120"] = [24982] let s:lib.Codec.decoding_table["233,121"] = [25029] let s:lib.Codec.decoding_table["233,122"] = [25012] let s:lib.Codec.decoding_table["233,123"] = [25030] let s:lib.Codec.decoding_table["233,124"] = [25025] let s:lib.Codec.decoding_table["233,125"] = [25036] let s:lib.Codec.decoding_table["233,126"] = [25018] let s:lib.Codec.decoding_table["233,161"] = [25023] let s:lib.Codec.decoding_table["233,162"] = [25016] let s:lib.Codec.decoding_table["233,163"] = [24972] let s:lib.Codec.decoding_table["233,164"] = [25815] let s:lib.Codec.decoding_table["233,165"] = [25814] let s:lib.Codec.decoding_table["233,166"] = [25808] let s:lib.Codec.decoding_table["233,167"] = [25807] let s:lib.Codec.decoding_table["233,168"] = [25801] let s:lib.Codec.decoding_table["233,169"] = [25789] let s:lib.Codec.decoding_table["233,170"] = [25737] let s:lib.Codec.decoding_table["233,171"] = [25795] let s:lib.Codec.decoding_table["233,172"] = [25819] let s:lib.Codec.decoding_table["233,173"] = [25843] let s:lib.Codec.decoding_table["233,174"] = [25817] let s:lib.Codec.decoding_table["233,175"] = [25907] let s:lib.Codec.decoding_table["233,176"] = [25983] let s:lib.Codec.decoding_table["233,177"] = [25980] let s:lib.Codec.decoding_table["233,178"] = [26018] let s:lib.Codec.decoding_table["233,179"] = [26312] let s:lib.Codec.decoding_table["233,180"] = [26302] let s:lib.Codec.decoding_table["233,181"] = [26304] let s:lib.Codec.decoding_table["233,182"] = [26314] let s:lib.Codec.decoding_table["233,183"] = [26315] let s:lib.Codec.decoding_table["233,184"] = [26319] let s:lib.Codec.decoding_table["233,185"] = [26301] let s:lib.Codec.decoding_table["233,186"] = [26299] let s:lib.Codec.decoding_table["233,187"] = [26298] let s:lib.Codec.decoding_table["233,188"] = [26316] let s:lib.Codec.decoding_table["233,189"] = [26403] let s:lib.Codec.decoding_table["233,190"] = [27188] let s:lib.Codec.decoding_table["233,191"] = [27238] let s:lib.Codec.decoding_table["233,192"] = [27209] let s:lib.Codec.decoding_table["233,193"] = [27239] let s:lib.Codec.decoding_table["233,194"] = [27186] let s:lib.Codec.decoding_table["233,195"] = [27240] let s:lib.Codec.decoding_table["233,196"] = [27198] let s:lib.Codec.decoding_table["233,197"] = [27229] let s:lib.Codec.decoding_table["233,198"] = [27245] let s:lib.Codec.decoding_table["233,199"] = [27254] let s:lib.Codec.decoding_table["233,200"] = [27227] let s:lib.Codec.decoding_table["233,201"] = [27217] let s:lib.Codec.decoding_table["233,202"] = [27176] let s:lib.Codec.decoding_table["233,203"] = [27226] let s:lib.Codec.decoding_table["233,204"] = [27195] let s:lib.Codec.decoding_table["233,205"] = [27199] let s:lib.Codec.decoding_table["233,206"] = [27201] let s:lib.Codec.decoding_table["233,207"] = [27242] let s:lib.Codec.decoding_table["233,208"] = [27236] let s:lib.Codec.decoding_table["233,209"] = [27216] let s:lib.Codec.decoding_table["233,210"] = [27215] let s:lib.Codec.decoding_table["233,211"] = [27220] let s:lib.Codec.decoding_table["233,212"] = [27247] let s:lib.Codec.decoding_table["233,213"] = [27241] let s:lib.Codec.decoding_table["233,214"] = [27232] let s:lib.Codec.decoding_table["233,215"] = [27196] let s:lib.Codec.decoding_table["233,216"] = [27230] let s:lib.Codec.decoding_table["233,217"] = [27222] let s:lib.Codec.decoding_table["233,218"] = [27221] let s:lib.Codec.decoding_table["233,219"] = [27213] let s:lib.Codec.decoding_table["233,220"] = [27214] let s:lib.Codec.decoding_table["233,221"] = [27206] let s:lib.Codec.decoding_table["233,222"] = [27477] let s:lib.Codec.decoding_table["233,223"] = [27476] let s:lib.Codec.decoding_table["233,224"] = [27478] let s:lib.Codec.decoding_table["233,225"] = [27559] let s:lib.Codec.decoding_table["233,226"] = [27562] let s:lib.Codec.decoding_table["233,227"] = [27563] let s:lib.Codec.decoding_table["233,228"] = [27592] let s:lib.Codec.decoding_table["233,229"] = [27591] let s:lib.Codec.decoding_table["233,230"] = [27652] let s:lib.Codec.decoding_table["233,231"] = [27651] let s:lib.Codec.decoding_table["233,232"] = [27654] let s:lib.Codec.decoding_table["233,233"] = [28589] let s:lib.Codec.decoding_table["233,234"] = [28619] let s:lib.Codec.decoding_table["233,235"] = [28579] let s:lib.Codec.decoding_table["233,236"] = [28615] let s:lib.Codec.decoding_table["233,237"] = [28604] let s:lib.Codec.decoding_table["233,238"] = [28622] let s:lib.Codec.decoding_table["233,239"] = [28616] let s:lib.Codec.decoding_table["233,240"] = [28510] let s:lib.Codec.decoding_table["233,241"] = [28612] let s:lib.Codec.decoding_table["233,242"] = [28605] let s:lib.Codec.decoding_table["233,243"] = [28574] let s:lib.Codec.decoding_table["233,244"] = [28618] let s:lib.Codec.decoding_table["233,245"] = [28584] let s:lib.Codec.decoding_table["233,246"] = [28676] let s:lib.Codec.decoding_table["233,247"] = [28581] let s:lib.Codec.decoding_table["233,248"] = [28590] let s:lib.Codec.decoding_table["233,249"] = [28602] let s:lib.Codec.decoding_table["233,250"] = [28588] let s:lib.Codec.decoding_table["233,251"] = [28586] let s:lib.Codec.decoding_table["233,252"] = [28623] let s:lib.Codec.decoding_table["233,253"] = [28607] let s:lib.Codec.decoding_table["233,254"] = [28600] let s:lib.Codec.decoding_table["234,64"] = [28578] let s:lib.Codec.decoding_table["234,65"] = [28617] let s:lib.Codec.decoding_table["234,66"] = [28587] let s:lib.Codec.decoding_table["234,67"] = [28621] let s:lib.Codec.decoding_table["234,68"] = [28591] let s:lib.Codec.decoding_table["234,69"] = [28594] let s:lib.Codec.decoding_table["234,70"] = [28592] let s:lib.Codec.decoding_table["234,71"] = [29125] let s:lib.Codec.decoding_table["234,72"] = [29122] let s:lib.Codec.decoding_table["234,73"] = [29119] let s:lib.Codec.decoding_table["234,74"] = [29112] let s:lib.Codec.decoding_table["234,75"] = [29142] let s:lib.Codec.decoding_table["234,76"] = [29120] let s:lib.Codec.decoding_table["234,77"] = [29121] let s:lib.Codec.decoding_table["234,78"] = [29131] let s:lib.Codec.decoding_table["234,79"] = [29140] let s:lib.Codec.decoding_table["234,80"] = [29130] let s:lib.Codec.decoding_table["234,81"] = [29127] let s:lib.Codec.decoding_table["234,82"] = [29135] let s:lib.Codec.decoding_table["234,83"] = [29117] let s:lib.Codec.decoding_table["234,84"] = [29144] let s:lib.Codec.decoding_table["234,85"] = [29116] let s:lib.Codec.decoding_table["234,86"] = [29126] let s:lib.Codec.decoding_table["234,87"] = [29146] let s:lib.Codec.decoding_table["234,88"] = [29147] let s:lib.Codec.decoding_table["234,89"] = [29341] let s:lib.Codec.decoding_table["234,90"] = [29342] let s:lib.Codec.decoding_table["234,91"] = [29545] let s:lib.Codec.decoding_table["234,92"] = [29542] let s:lib.Codec.decoding_table["234,93"] = [29543] let s:lib.Codec.decoding_table["234,94"] = [29548] let s:lib.Codec.decoding_table["234,95"] = [29541] let s:lib.Codec.decoding_table["234,96"] = [29547] let s:lib.Codec.decoding_table["234,97"] = [29546] let s:lib.Codec.decoding_table["234,98"] = [29823] let s:lib.Codec.decoding_table["234,99"] = [29850] let s:lib.Codec.decoding_table["234,100"] = [29856] let s:lib.Codec.decoding_table["234,101"] = [29844] let s:lib.Codec.decoding_table["234,102"] = [29842] let s:lib.Codec.decoding_table["234,103"] = [29845] let s:lib.Codec.decoding_table["234,104"] = [29857] let s:lib.Codec.decoding_table["234,105"] = [29963] let s:lib.Codec.decoding_table["234,106"] = [30080] let s:lib.Codec.decoding_table["234,107"] = [30255] let s:lib.Codec.decoding_table["234,108"] = [30253] let s:lib.Codec.decoding_table["234,109"] = [30257] let s:lib.Codec.decoding_table["234,110"] = [30269] let s:lib.Codec.decoding_table["234,111"] = [30259] let s:lib.Codec.decoding_table["234,112"] = [30268] let s:lib.Codec.decoding_table["234,113"] = [30261] let s:lib.Codec.decoding_table["234,114"] = [30258] let s:lib.Codec.decoding_table["234,115"] = [30256] let s:lib.Codec.decoding_table["234,116"] = [30395] let s:lib.Codec.decoding_table["234,117"] = [30438] let s:lib.Codec.decoding_table["234,118"] = [30618] let s:lib.Codec.decoding_table["234,119"] = [30621] let s:lib.Codec.decoding_table["234,120"] = [30625] let s:lib.Codec.decoding_table["234,121"] = [30620] let s:lib.Codec.decoding_table["234,122"] = [30619] let s:lib.Codec.decoding_table["234,123"] = [30626] let s:lib.Codec.decoding_table["234,124"] = [30627] let s:lib.Codec.decoding_table["234,125"] = [30613] let s:lib.Codec.decoding_table["234,126"] = [30617] let s:lib.Codec.decoding_table["234,161"] = [30615] let s:lib.Codec.decoding_table["234,162"] = [30941] let s:lib.Codec.decoding_table["234,163"] = [30953] let s:lib.Codec.decoding_table["234,164"] = [30949] let s:lib.Codec.decoding_table["234,165"] = [30954] let s:lib.Codec.decoding_table["234,166"] = [30942] let s:lib.Codec.decoding_table["234,167"] = [30947] let s:lib.Codec.decoding_table["234,168"] = [30939] let s:lib.Codec.decoding_table["234,169"] = [30945] let s:lib.Codec.decoding_table["234,170"] = [30946] let s:lib.Codec.decoding_table["234,171"] = [30957] let s:lib.Codec.decoding_table["234,172"] = [30943] let s:lib.Codec.decoding_table["234,173"] = [30944] let s:lib.Codec.decoding_table["234,174"] = [31140] let s:lib.Codec.decoding_table["234,175"] = [31300] let s:lib.Codec.decoding_table["234,176"] = [31304] let s:lib.Codec.decoding_table["234,177"] = [31303] let s:lib.Codec.decoding_table["234,178"] = [31414] let s:lib.Codec.decoding_table["234,179"] = [31416] let s:lib.Codec.decoding_table["234,180"] = [31413] let s:lib.Codec.decoding_table["234,181"] = [31409] let s:lib.Codec.decoding_table["234,182"] = [31415] let s:lib.Codec.decoding_table["234,183"] = [31710] let s:lib.Codec.decoding_table["234,184"] = [31715] let s:lib.Codec.decoding_table["234,185"] = [31719] let s:lib.Codec.decoding_table["234,186"] = [31709] let s:lib.Codec.decoding_table["234,187"] = [31701] let s:lib.Codec.decoding_table["234,188"] = [31717] let s:lib.Codec.decoding_table["234,189"] = [31706] let s:lib.Codec.decoding_table["234,190"] = [31720] let s:lib.Codec.decoding_table["234,191"] = [31737] let s:lib.Codec.decoding_table["234,192"] = [31700] let s:lib.Codec.decoding_table["234,193"] = [31722] let s:lib.Codec.decoding_table["234,194"] = [31714] let s:lib.Codec.decoding_table["234,195"] = [31708] let s:lib.Codec.decoding_table["234,196"] = [31723] let s:lib.Codec.decoding_table["234,197"] = [31704] let s:lib.Codec.decoding_table["234,198"] = [31711] let s:lib.Codec.decoding_table["234,199"] = [31954] let s:lib.Codec.decoding_table["234,200"] = [31956] let s:lib.Codec.decoding_table["234,201"] = [31959] let s:lib.Codec.decoding_table["234,202"] = [31952] let s:lib.Codec.decoding_table["234,203"] = [31953] let s:lib.Codec.decoding_table["234,204"] = [32274] let s:lib.Codec.decoding_table["234,205"] = [32289] let s:lib.Codec.decoding_table["234,206"] = [32279] let s:lib.Codec.decoding_table["234,207"] = [32268] let s:lib.Codec.decoding_table["234,208"] = [32287] let s:lib.Codec.decoding_table["234,209"] = [32288] let s:lib.Codec.decoding_table["234,210"] = [32275] let s:lib.Codec.decoding_table["234,211"] = [32270] let s:lib.Codec.decoding_table["234,212"] = [32284] let s:lib.Codec.decoding_table["234,213"] = [32277] let s:lib.Codec.decoding_table["234,214"] = [32282] let s:lib.Codec.decoding_table["234,215"] = [32290] let s:lib.Codec.decoding_table["234,216"] = [32267] let s:lib.Codec.decoding_table["234,217"] = [32271] let s:lib.Codec.decoding_table["234,218"] = [32278] let s:lib.Codec.decoding_table["234,219"] = [32269] let s:lib.Codec.decoding_table["234,220"] = [32276] let s:lib.Codec.decoding_table["234,221"] = [32293] let s:lib.Codec.decoding_table["234,222"] = [32292] let s:lib.Codec.decoding_table["234,223"] = [32579] let s:lib.Codec.decoding_table["234,224"] = [32635] let s:lib.Codec.decoding_table["234,225"] = [32636] let s:lib.Codec.decoding_table["234,226"] = [32634] let s:lib.Codec.decoding_table["234,227"] = [32689] let s:lib.Codec.decoding_table["234,228"] = [32751] let s:lib.Codec.decoding_table["234,229"] = [32810] let s:lib.Codec.decoding_table["234,230"] = [32809] let s:lib.Codec.decoding_table["234,231"] = [32876] let s:lib.Codec.decoding_table["234,232"] = [33201] let s:lib.Codec.decoding_table["234,233"] = [33190] let s:lib.Codec.decoding_table["234,234"] = [33198] let s:lib.Codec.decoding_table["234,235"] = [33209] let s:lib.Codec.decoding_table["234,236"] = [33205] let s:lib.Codec.decoding_table["234,237"] = [33195] let s:lib.Codec.decoding_table["234,238"] = [33200] let s:lib.Codec.decoding_table["234,239"] = [33196] let s:lib.Codec.decoding_table["234,240"] = [33204] let s:lib.Codec.decoding_table["234,241"] = [33202] let s:lib.Codec.decoding_table["234,242"] = [33207] let s:lib.Codec.decoding_table["234,243"] = [33191] let s:lib.Codec.decoding_table["234,244"] = [33266] let s:lib.Codec.decoding_table["234,245"] = [33365] let s:lib.Codec.decoding_table["234,246"] = [33366] let s:lib.Codec.decoding_table["234,247"] = [33367] let s:lib.Codec.decoding_table["234,248"] = [34134] let s:lib.Codec.decoding_table["234,249"] = [34117] let s:lib.Codec.decoding_table["234,250"] = [34155] let s:lib.Codec.decoding_table["234,251"] = [34125] let s:lib.Codec.decoding_table["234,252"] = [34131] let s:lib.Codec.decoding_table["234,253"] = [34145] let s:lib.Codec.decoding_table["234,254"] = [34136] let s:lib.Codec.decoding_table["235,64"] = [34112] let s:lib.Codec.decoding_table["235,65"] = [34118] let s:lib.Codec.decoding_table["235,66"] = [34148] let s:lib.Codec.decoding_table["235,67"] = [34113] let s:lib.Codec.decoding_table["235,68"] = [34146] let s:lib.Codec.decoding_table["235,69"] = [34116] let s:lib.Codec.decoding_table["235,70"] = [34129] let s:lib.Codec.decoding_table["235,71"] = [34119] let s:lib.Codec.decoding_table["235,72"] = [34147] let s:lib.Codec.decoding_table["235,73"] = [34110] let s:lib.Codec.decoding_table["235,74"] = [34139] let s:lib.Codec.decoding_table["235,75"] = [34161] let s:lib.Codec.decoding_table["235,76"] = [34126] let s:lib.Codec.decoding_table["235,77"] = [34158] let s:lib.Codec.decoding_table["235,78"] = [34165] let s:lib.Codec.decoding_table["235,79"] = [34133] let s:lib.Codec.decoding_table["235,80"] = [34151] let s:lib.Codec.decoding_table["235,81"] = [34144] let s:lib.Codec.decoding_table["235,82"] = [34188] let s:lib.Codec.decoding_table["235,83"] = [34150] let s:lib.Codec.decoding_table["235,84"] = [34141] let s:lib.Codec.decoding_table["235,85"] = [34132] let s:lib.Codec.decoding_table["235,86"] = [34149] let s:lib.Codec.decoding_table["235,87"] = [34156] let s:lib.Codec.decoding_table["235,88"] = [34403] let s:lib.Codec.decoding_table["235,89"] = [34405] let s:lib.Codec.decoding_table["235,90"] = [34404] let s:lib.Codec.decoding_table["235,91"] = [34715] let s:lib.Codec.decoding_table["235,92"] = [34703] let s:lib.Codec.decoding_table["235,93"] = [34711] let s:lib.Codec.decoding_table["235,94"] = [34707] let s:lib.Codec.decoding_table["235,95"] = [34706] let s:lib.Codec.decoding_table["235,96"] = [34696] let s:lib.Codec.decoding_table["235,97"] = [34689] let s:lib.Codec.decoding_table["235,98"] = [34710] let s:lib.Codec.decoding_table["235,99"] = [34712] let s:lib.Codec.decoding_table["235,100"] = [34681] let s:lib.Codec.decoding_table["235,101"] = [34695] let s:lib.Codec.decoding_table["235,102"] = [34723] let s:lib.Codec.decoding_table["235,103"] = [34693] let s:lib.Codec.decoding_table["235,104"] = [34704] let s:lib.Codec.decoding_table["235,105"] = [34705] let s:lib.Codec.decoding_table["235,106"] = [34717] let s:lib.Codec.decoding_table["235,107"] = [34692] let s:lib.Codec.decoding_table["235,108"] = [34708] let s:lib.Codec.decoding_table["235,109"] = [34716] let s:lib.Codec.decoding_table["235,110"] = [34714] let s:lib.Codec.decoding_table["235,111"] = [34697] let s:lib.Codec.decoding_table["235,112"] = [35102] let s:lib.Codec.decoding_table["235,113"] = [35110] let s:lib.Codec.decoding_table["235,114"] = [35120] let s:lib.Codec.decoding_table["235,115"] = [35117] let s:lib.Codec.decoding_table["235,116"] = [35118] let s:lib.Codec.decoding_table["235,117"] = [35111] let s:lib.Codec.decoding_table["235,118"] = [35121] let s:lib.Codec.decoding_table["235,119"] = [35106] let s:lib.Codec.decoding_table["235,120"] = [35113] let s:lib.Codec.decoding_table["235,121"] = [35107] let s:lib.Codec.decoding_table["235,122"] = [35119] let s:lib.Codec.decoding_table["235,123"] = [35116] let s:lib.Codec.decoding_table["235,124"] = [35103] let s:lib.Codec.decoding_table["235,125"] = [35313] let s:lib.Codec.decoding_table["235,126"] = [35552] let s:lib.Codec.decoding_table["235,161"] = [35554] let s:lib.Codec.decoding_table["235,162"] = [35570] let s:lib.Codec.decoding_table["235,163"] = [35572] let s:lib.Codec.decoding_table["235,164"] = [35573] let s:lib.Codec.decoding_table["235,165"] = [35549] let s:lib.Codec.decoding_table["235,166"] = [35604] let s:lib.Codec.decoding_table["235,167"] = [35556] let s:lib.Codec.decoding_table["235,168"] = [35551] let s:lib.Codec.decoding_table["235,169"] = [35568] let s:lib.Codec.decoding_table["235,170"] = [35528] let s:lib.Codec.decoding_table["235,171"] = [35550] let s:lib.Codec.decoding_table["235,172"] = [35553] let s:lib.Codec.decoding_table["235,173"] = [35560] let s:lib.Codec.decoding_table["235,174"] = [35583] let s:lib.Codec.decoding_table["235,175"] = [35567] let s:lib.Codec.decoding_table["235,176"] = [35579] let s:lib.Codec.decoding_table["235,177"] = [35985] let s:lib.Codec.decoding_table["235,178"] = [35986] let s:lib.Codec.decoding_table["235,179"] = [35984] let s:lib.Codec.decoding_table["235,180"] = [36085] let s:lib.Codec.decoding_table["235,181"] = [36078] let s:lib.Codec.decoding_table["235,182"] = [36081] let s:lib.Codec.decoding_table["235,183"] = [36080] let s:lib.Codec.decoding_table["235,184"] = [36083] let s:lib.Codec.decoding_table["235,185"] = [36204] let s:lib.Codec.decoding_table["235,186"] = [36206] let s:lib.Codec.decoding_table["235,187"] = [36261] let s:lib.Codec.decoding_table["235,188"] = [36263] let s:lib.Codec.decoding_table["235,189"] = [36403] let s:lib.Codec.decoding_table["235,190"] = [36414] let s:lib.Codec.decoding_table["235,191"] = [36408] let s:lib.Codec.decoding_table["235,192"] = [36416] let s:lib.Codec.decoding_table["235,193"] = [36421] let s:lib.Codec.decoding_table["235,194"] = [36406] let s:lib.Codec.decoding_table["235,195"] = [36412] let s:lib.Codec.decoding_table["235,196"] = [36413] let s:lib.Codec.decoding_table["235,197"] = [36417] let s:lib.Codec.decoding_table["235,198"] = [36400] let s:lib.Codec.decoding_table["235,199"] = [36415] let s:lib.Codec.decoding_table["235,200"] = [36541] let s:lib.Codec.decoding_table["235,201"] = [36662] let s:lib.Codec.decoding_table["235,202"] = [36654] let s:lib.Codec.decoding_table["235,203"] = [36661] let s:lib.Codec.decoding_table["235,204"] = [36658] let s:lib.Codec.decoding_table["235,205"] = [36665] let s:lib.Codec.decoding_table["235,206"] = [36663] let s:lib.Codec.decoding_table["235,207"] = [36660] let s:lib.Codec.decoding_table["235,208"] = [36982] let s:lib.Codec.decoding_table["235,209"] = [36985] let s:lib.Codec.decoding_table["235,210"] = [36987] let s:lib.Codec.decoding_table["235,211"] = [36998] let s:lib.Codec.decoding_table["235,212"] = [37114] let s:lib.Codec.decoding_table["235,213"] = [37171] let s:lib.Codec.decoding_table["235,214"] = [37173] let s:lib.Codec.decoding_table["235,215"] = [37174] let s:lib.Codec.decoding_table["235,216"] = [37267] let s:lib.Codec.decoding_table["235,217"] = [37264] let s:lib.Codec.decoding_table["235,218"] = [37265] let s:lib.Codec.decoding_table["235,219"] = [37261] let s:lib.Codec.decoding_table["235,220"] = [37263] let s:lib.Codec.decoding_table["235,221"] = [37671] let s:lib.Codec.decoding_table["235,222"] = [37662] let s:lib.Codec.decoding_table["235,223"] = [37640] let s:lib.Codec.decoding_table["235,224"] = [37663] let s:lib.Codec.decoding_table["235,225"] = [37638] let s:lib.Codec.decoding_table["235,226"] = [37647] let s:lib.Codec.decoding_table["235,227"] = [37754] let s:lib.Codec.decoding_table["235,228"] = [37688] let s:lib.Codec.decoding_table["235,229"] = [37692] let s:lib.Codec.decoding_table["235,230"] = [37659] let s:lib.Codec.decoding_table["235,231"] = [37667] let s:lib.Codec.decoding_table["235,232"] = [37650] let s:lib.Codec.decoding_table["235,233"] = [37633] let s:lib.Codec.decoding_table["235,234"] = [37702] let s:lib.Codec.decoding_table["235,235"] = [37677] let s:lib.Codec.decoding_table["235,236"] = [37646] let s:lib.Codec.decoding_table["235,237"] = [37645] let s:lib.Codec.decoding_table["235,238"] = [37579] let s:lib.Codec.decoding_table["235,239"] = [37661] let s:lib.Codec.decoding_table["235,240"] = [37626] let s:lib.Codec.decoding_table["235,241"] = [37669] let s:lib.Codec.decoding_table["235,242"] = [37651] let s:lib.Codec.decoding_table["235,243"] = [37625] let s:lib.Codec.decoding_table["235,244"] = [37623] let s:lib.Codec.decoding_table["235,245"] = [37684] let s:lib.Codec.decoding_table["235,246"] = [37634] let s:lib.Codec.decoding_table["235,247"] = [37668] let s:lib.Codec.decoding_table["235,248"] = [37631] let s:lib.Codec.decoding_table["235,249"] = [37673] let s:lib.Codec.decoding_table["235,250"] = [37689] let s:lib.Codec.decoding_table["235,251"] = [37685] let s:lib.Codec.decoding_table["235,252"] = [37674] let s:lib.Codec.decoding_table["235,253"] = [37652] let s:lib.Codec.decoding_table["235,254"] = [37644] let s:lib.Codec.decoding_table["236,64"] = [37643] let s:lib.Codec.decoding_table["236,65"] = [37630] let s:lib.Codec.decoding_table["236,66"] = [37641] let s:lib.Codec.decoding_table["236,67"] = [37632] let s:lib.Codec.decoding_table["236,68"] = [37627] let s:lib.Codec.decoding_table["236,69"] = [37654] let s:lib.Codec.decoding_table["236,70"] = [38332] let s:lib.Codec.decoding_table["236,71"] = [38349] let s:lib.Codec.decoding_table["236,72"] = [38334] let s:lib.Codec.decoding_table["236,73"] = [38329] let s:lib.Codec.decoding_table["236,74"] = [38330] let s:lib.Codec.decoding_table["236,75"] = [38326] let s:lib.Codec.decoding_table["236,76"] = [38335] let s:lib.Codec.decoding_table["236,77"] = [38325] let s:lib.Codec.decoding_table["236,78"] = [38333] let s:lib.Codec.decoding_table["236,79"] = [38569] let s:lib.Codec.decoding_table["236,80"] = [38612] let s:lib.Codec.decoding_table["236,81"] = [38667] let s:lib.Codec.decoding_table["236,82"] = [38674] let s:lib.Codec.decoding_table["236,83"] = [38672] let s:lib.Codec.decoding_table["236,84"] = [38809] let s:lib.Codec.decoding_table["236,85"] = [38807] let s:lib.Codec.decoding_table["236,86"] = [38804] let s:lib.Codec.decoding_table["236,87"] = [38896] let s:lib.Codec.decoding_table["236,88"] = [38904] let s:lib.Codec.decoding_table["236,89"] = [38965] let s:lib.Codec.decoding_table["236,90"] = [38959] let s:lib.Codec.decoding_table["236,91"] = [38962] let s:lib.Codec.decoding_table["236,92"] = [39204] let s:lib.Codec.decoding_table["236,93"] = [39199] let s:lib.Codec.decoding_table["236,94"] = [39207] let s:lib.Codec.decoding_table["236,95"] = [39209] let s:lib.Codec.decoding_table["236,96"] = [39326] let s:lib.Codec.decoding_table["236,97"] = [39406] let s:lib.Codec.decoding_table["236,98"] = [39404] let s:lib.Codec.decoding_table["236,99"] = [39397] let s:lib.Codec.decoding_table["236,100"] = [39396] let s:lib.Codec.decoding_table["236,101"] = [39408] let s:lib.Codec.decoding_table["236,102"] = [39395] let s:lib.Codec.decoding_table["236,103"] = [39402] let s:lib.Codec.decoding_table["236,104"] = [39401] let s:lib.Codec.decoding_table["236,105"] = [39399] let s:lib.Codec.decoding_table["236,106"] = [39609] let s:lib.Codec.decoding_table["236,107"] = [39615] let s:lib.Codec.decoding_table["236,108"] = [39604] let s:lib.Codec.decoding_table["236,109"] = [39611] let s:lib.Codec.decoding_table["236,110"] = [39670] let s:lib.Codec.decoding_table["236,111"] = [39674] let s:lib.Codec.decoding_table["236,112"] = [39673] let s:lib.Codec.decoding_table["236,113"] = [39671] let s:lib.Codec.decoding_table["236,114"] = [39731] let s:lib.Codec.decoding_table["236,115"] = [39808] let s:lib.Codec.decoding_table["236,116"] = [39813] let s:lib.Codec.decoding_table["236,117"] = [39815] let s:lib.Codec.decoding_table["236,118"] = [39804] let s:lib.Codec.decoding_table["236,119"] = [39806] let s:lib.Codec.decoding_table["236,120"] = [39803] let s:lib.Codec.decoding_table["236,121"] = [39810] let s:lib.Codec.decoding_table["236,122"] = [39827] let s:lib.Codec.decoding_table["236,123"] = [39826] let s:lib.Codec.decoding_table["236,124"] = [39824] let s:lib.Codec.decoding_table["236,125"] = [39802] let s:lib.Codec.decoding_table["236,126"] = [39829] let s:lib.Codec.decoding_table["236,161"] = [39805] let s:lib.Codec.decoding_table["236,162"] = [39816] let s:lib.Codec.decoding_table["236,163"] = [40229] let s:lib.Codec.decoding_table["236,164"] = [40215] let s:lib.Codec.decoding_table["236,165"] = [40224] let s:lib.Codec.decoding_table["236,166"] = [40222] let s:lib.Codec.decoding_table["236,167"] = [40212] let s:lib.Codec.decoding_table["236,168"] = [40233] let s:lib.Codec.decoding_table["236,169"] = [40221] let s:lib.Codec.decoding_table["236,170"] = [40216] let s:lib.Codec.decoding_table["236,171"] = [40226] let s:lib.Codec.decoding_table["236,172"] = [40208] let s:lib.Codec.decoding_table["236,173"] = [40217] let s:lib.Codec.decoding_table["236,174"] = [40223] let s:lib.Codec.decoding_table["236,175"] = [40584] let s:lib.Codec.decoding_table["236,176"] = [40582] let s:lib.Codec.decoding_table["236,177"] = [40583] let s:lib.Codec.decoding_table["236,178"] = [40622] let s:lib.Codec.decoding_table["236,179"] = [40621] let s:lib.Codec.decoding_table["236,180"] = [40661] let s:lib.Codec.decoding_table["236,181"] = [40662] let s:lib.Codec.decoding_table["236,182"] = [40698] let s:lib.Codec.decoding_table["236,183"] = [40722] let s:lib.Codec.decoding_table["236,184"] = [40765] let s:lib.Codec.decoding_table["236,185"] = [20774] let s:lib.Codec.decoding_table["236,186"] = [20773] let s:lib.Codec.decoding_table["236,187"] = [20770] let s:lib.Codec.decoding_table["236,188"] = [20772] let s:lib.Codec.decoding_table["236,189"] = [20768] let s:lib.Codec.decoding_table["236,190"] = [20777] let s:lib.Codec.decoding_table["236,191"] = [21236] let s:lib.Codec.decoding_table["236,192"] = [22163] let s:lib.Codec.decoding_table["236,193"] = [22156] let s:lib.Codec.decoding_table["236,194"] = [22157] let s:lib.Codec.decoding_table["236,195"] = [22150] let s:lib.Codec.decoding_table["236,196"] = [22148] let s:lib.Codec.decoding_table["236,197"] = [22147] let s:lib.Codec.decoding_table["236,198"] = [22142] let s:lib.Codec.decoding_table["236,199"] = [22146] let s:lib.Codec.decoding_table["236,200"] = [22143] let s:lib.Codec.decoding_table["236,201"] = [22145] let s:lib.Codec.decoding_table["236,202"] = [22742] let s:lib.Codec.decoding_table["236,203"] = [22740] let s:lib.Codec.decoding_table["236,204"] = [22735] let s:lib.Codec.decoding_table["236,205"] = [22738] let s:lib.Codec.decoding_table["236,206"] = [23341] let s:lib.Codec.decoding_table["236,207"] = [23333] let s:lib.Codec.decoding_table["236,208"] = [23346] let s:lib.Codec.decoding_table["236,209"] = [23331] let s:lib.Codec.decoding_table["236,210"] = [23340] let s:lib.Codec.decoding_table["236,211"] = [23335] let s:lib.Codec.decoding_table["236,212"] = [23334] let s:lib.Codec.decoding_table["236,213"] = [23343] let s:lib.Codec.decoding_table["236,214"] = [23342] let s:lib.Codec.decoding_table["236,215"] = [23419] let s:lib.Codec.decoding_table["236,216"] = [23537] let s:lib.Codec.decoding_table["236,217"] = [23538] let s:lib.Codec.decoding_table["236,218"] = [23991] let s:lib.Codec.decoding_table["236,219"] = [24172] let s:lib.Codec.decoding_table["236,220"] = [24170] let s:lib.Codec.decoding_table["236,221"] = [24510] let s:lib.Codec.decoding_table["236,222"] = [24507] let s:lib.Codec.decoding_table["236,223"] = [25027] let s:lib.Codec.decoding_table["236,224"] = [25013] let s:lib.Codec.decoding_table["236,225"] = [25020] let s:lib.Codec.decoding_table["236,226"] = [25063] let s:lib.Codec.decoding_table["236,227"] = [25056] let s:lib.Codec.decoding_table["236,228"] = [25061] let s:lib.Codec.decoding_table["236,229"] = [25060] let s:lib.Codec.decoding_table["236,230"] = [25064] let s:lib.Codec.decoding_table["236,231"] = [25054] let s:lib.Codec.decoding_table["236,232"] = [25839] let s:lib.Codec.decoding_table["236,233"] = [25833] let s:lib.Codec.decoding_table["236,234"] = [25827] let s:lib.Codec.decoding_table["236,235"] = [25835] let s:lib.Codec.decoding_table["236,236"] = [25828] let s:lib.Codec.decoding_table["236,237"] = [25832] let s:lib.Codec.decoding_table["236,238"] = [25985] let s:lib.Codec.decoding_table["236,239"] = [25984] let s:lib.Codec.decoding_table["236,240"] = [26038] let s:lib.Codec.decoding_table["236,241"] = [26074] let s:lib.Codec.decoding_table["236,242"] = [26322] let s:lib.Codec.decoding_table["236,243"] = [27277] let s:lib.Codec.decoding_table["236,244"] = [27286] let s:lib.Codec.decoding_table["236,245"] = [27265] let s:lib.Codec.decoding_table["236,246"] = [27301] let s:lib.Codec.decoding_table["236,247"] = [27273] let s:lib.Codec.decoding_table["236,248"] = [27295] let s:lib.Codec.decoding_table["236,249"] = [27291] let s:lib.Codec.decoding_table["236,250"] = [27297] let s:lib.Codec.decoding_table["236,251"] = [27294] let s:lib.Codec.decoding_table["236,252"] = [27271] let s:lib.Codec.decoding_table["236,253"] = [27283] let s:lib.Codec.decoding_table["236,254"] = [27278] let s:lib.Codec.decoding_table["237,64"] = [27285] let s:lib.Codec.decoding_table["237,65"] = [27267] let s:lib.Codec.decoding_table["237,66"] = [27304] let s:lib.Codec.decoding_table["237,67"] = [27300] let s:lib.Codec.decoding_table["237,68"] = [27281] let s:lib.Codec.decoding_table["237,69"] = [27263] let s:lib.Codec.decoding_table["237,70"] = [27302] let s:lib.Codec.decoding_table["237,71"] = [27290] let s:lib.Codec.decoding_table["237,72"] = [27269] let s:lib.Codec.decoding_table["237,73"] = [27276] let s:lib.Codec.decoding_table["237,74"] = [27282] let s:lib.Codec.decoding_table["237,75"] = [27483] let s:lib.Codec.decoding_table["237,76"] = [27565] let s:lib.Codec.decoding_table["237,77"] = [27657] let s:lib.Codec.decoding_table["237,78"] = [28620] let s:lib.Codec.decoding_table["237,79"] = [28585] let s:lib.Codec.decoding_table["237,80"] = [28660] let s:lib.Codec.decoding_table["237,81"] = [28628] let s:lib.Codec.decoding_table["237,82"] = [28643] let s:lib.Codec.decoding_table["237,83"] = [28636] let s:lib.Codec.decoding_table["237,84"] = [28653] let s:lib.Codec.decoding_table["237,85"] = [28647] let s:lib.Codec.decoding_table["237,86"] = [28646] let s:lib.Codec.decoding_table["237,87"] = [28638] let s:lib.Codec.decoding_table["237,88"] = [28658] let s:lib.Codec.decoding_table["237,89"] = [28637] let s:lib.Codec.decoding_table["237,90"] = [28642] let s:lib.Codec.decoding_table["237,91"] = [28648] let s:lib.Codec.decoding_table["237,92"] = [29153] let s:lib.Codec.decoding_table["237,93"] = [29169] let s:lib.Codec.decoding_table["237,94"] = [29160] let s:lib.Codec.decoding_table["237,95"] = [29170] let s:lib.Codec.decoding_table["237,96"] = [29156] let s:lib.Codec.decoding_table["237,97"] = [29168] let s:lib.Codec.decoding_table["237,98"] = [29154] let s:lib.Codec.decoding_table["237,99"] = [29555] let s:lib.Codec.decoding_table["237,100"] = [29550] let s:lib.Codec.decoding_table["237,101"] = [29551] let s:lib.Codec.decoding_table["237,102"] = [29847] let s:lib.Codec.decoding_table["237,103"] = [29874] let s:lib.Codec.decoding_table["237,104"] = [29867] let s:lib.Codec.decoding_table["237,105"] = [29840] let s:lib.Codec.decoding_table["237,106"] = [29866] let s:lib.Codec.decoding_table["237,107"] = [29869] let s:lib.Codec.decoding_table["237,108"] = [29873] let s:lib.Codec.decoding_table["237,109"] = [29861] let s:lib.Codec.decoding_table["237,110"] = [29871] let s:lib.Codec.decoding_table["237,111"] = [29968] let s:lib.Codec.decoding_table["237,112"] = [29969] let s:lib.Codec.decoding_table["237,113"] = [29970] let s:lib.Codec.decoding_table["237,114"] = [29967] let s:lib.Codec.decoding_table["237,115"] = [30084] let s:lib.Codec.decoding_table["237,116"] = [30275] let s:lib.Codec.decoding_table["237,117"] = [30280] let s:lib.Codec.decoding_table["237,118"] = [30281] let s:lib.Codec.decoding_table["237,119"] = [30279] let s:lib.Codec.decoding_table["237,120"] = [30372] let s:lib.Codec.decoding_table["237,121"] = [30441] let s:lib.Codec.decoding_table["237,122"] = [30645] let s:lib.Codec.decoding_table["237,123"] = [30635] let s:lib.Codec.decoding_table["237,124"] = [30642] let s:lib.Codec.decoding_table["237,125"] = [30647] let s:lib.Codec.decoding_table["237,126"] = [30646] let s:lib.Codec.decoding_table["237,161"] = [30644] let s:lib.Codec.decoding_table["237,162"] = [30641] let s:lib.Codec.decoding_table["237,163"] = [30632] let s:lib.Codec.decoding_table["237,164"] = [30704] let s:lib.Codec.decoding_table["237,165"] = [30963] let s:lib.Codec.decoding_table["237,166"] = [30973] let s:lib.Codec.decoding_table["237,167"] = [30978] let s:lib.Codec.decoding_table["237,168"] = [30971] let s:lib.Codec.decoding_table["237,169"] = [30972] let s:lib.Codec.decoding_table["237,170"] = [30962] let s:lib.Codec.decoding_table["237,171"] = [30981] let s:lib.Codec.decoding_table["237,172"] = [30969] let s:lib.Codec.decoding_table["237,173"] = [30974] let s:lib.Codec.decoding_table["237,174"] = [30980] let s:lib.Codec.decoding_table["237,175"] = [31147] let s:lib.Codec.decoding_table["237,176"] = [31144] let s:lib.Codec.decoding_table["237,177"] = [31324] let s:lib.Codec.decoding_table["237,178"] = [31323] let s:lib.Codec.decoding_table["237,179"] = [31318] let s:lib.Codec.decoding_table["237,180"] = [31320] let s:lib.Codec.decoding_table["237,181"] = [31316] let s:lib.Codec.decoding_table["237,182"] = [31322] let s:lib.Codec.decoding_table["237,183"] = [31422] let s:lib.Codec.decoding_table["237,184"] = [31424] let s:lib.Codec.decoding_table["237,185"] = [31425] let s:lib.Codec.decoding_table["237,186"] = [31749] let s:lib.Codec.decoding_table["237,187"] = [31759] let s:lib.Codec.decoding_table["237,188"] = [31730] let s:lib.Codec.decoding_table["237,189"] = [31744] let s:lib.Codec.decoding_table["237,190"] = [31743] let s:lib.Codec.decoding_table["237,191"] = [31739] let s:lib.Codec.decoding_table["237,192"] = [31758] let s:lib.Codec.decoding_table["237,193"] = [31732] let s:lib.Codec.decoding_table["237,194"] = [31755] let s:lib.Codec.decoding_table["237,195"] = [31731] let s:lib.Codec.decoding_table["237,196"] = [31746] let s:lib.Codec.decoding_table["237,197"] = [31753] let s:lib.Codec.decoding_table["237,198"] = [31747] let s:lib.Codec.decoding_table["237,199"] = [31745] let s:lib.Codec.decoding_table["237,200"] = [31736] let s:lib.Codec.decoding_table["237,201"] = [31741] let s:lib.Codec.decoding_table["237,202"] = [31750] let s:lib.Codec.decoding_table["237,203"] = [31728] let s:lib.Codec.decoding_table["237,204"] = [31729] let s:lib.Codec.decoding_table["237,205"] = [31760] let s:lib.Codec.decoding_table["237,206"] = [31754] let s:lib.Codec.decoding_table["237,207"] = [31976] let s:lib.Codec.decoding_table["237,208"] = [32301] let s:lib.Codec.decoding_table["237,209"] = [32316] let s:lib.Codec.decoding_table["237,210"] = [32322] let s:lib.Codec.decoding_table["237,211"] = [32307] let s:lib.Codec.decoding_table["237,212"] = [38984] let s:lib.Codec.decoding_table["237,213"] = [32312] let s:lib.Codec.decoding_table["237,214"] = [32298] let s:lib.Codec.decoding_table["237,215"] = [32329] let s:lib.Codec.decoding_table["237,216"] = [32320] let s:lib.Codec.decoding_table["237,217"] = [32327] let s:lib.Codec.decoding_table["237,218"] = [32297] let s:lib.Codec.decoding_table["237,219"] = [32332] let s:lib.Codec.decoding_table["237,220"] = [32304] let s:lib.Codec.decoding_table["237,221"] = [32315] let s:lib.Codec.decoding_table["237,222"] = [32310] let s:lib.Codec.decoding_table["237,223"] = [32324] let s:lib.Codec.decoding_table["237,224"] = [32314] let s:lib.Codec.decoding_table["237,225"] = [32581] let s:lib.Codec.decoding_table["237,226"] = [32639] let s:lib.Codec.decoding_table["237,227"] = [32638] let s:lib.Codec.decoding_table["237,228"] = [32637] let s:lib.Codec.decoding_table["237,229"] = [32756] let s:lib.Codec.decoding_table["237,230"] = [32754] let s:lib.Codec.decoding_table["237,231"] = [32812] let s:lib.Codec.decoding_table["237,232"] = [33211] let s:lib.Codec.decoding_table["237,233"] = [33220] let s:lib.Codec.decoding_table["237,234"] = [33228] let s:lib.Codec.decoding_table["237,235"] = [33226] let s:lib.Codec.decoding_table["237,236"] = [33221] let s:lib.Codec.decoding_table["237,237"] = [33223] let s:lib.Codec.decoding_table["237,238"] = [33212] let s:lib.Codec.decoding_table["237,239"] = [33257] let s:lib.Codec.decoding_table["237,240"] = [33371] let s:lib.Codec.decoding_table["237,241"] = [33370] let s:lib.Codec.decoding_table["237,242"] = [33372] let s:lib.Codec.decoding_table["237,243"] = [34179] let s:lib.Codec.decoding_table["237,244"] = [34176] let s:lib.Codec.decoding_table["237,245"] = [34191] let s:lib.Codec.decoding_table["237,246"] = [34215] let s:lib.Codec.decoding_table["237,247"] = [34197] let s:lib.Codec.decoding_table["237,248"] = [34208] let s:lib.Codec.decoding_table["237,249"] = [34187] let s:lib.Codec.decoding_table["237,250"] = [34211] let s:lib.Codec.decoding_table["237,251"] = [34171] let s:lib.Codec.decoding_table["237,252"] = [34212] let s:lib.Codec.decoding_table["237,253"] = [34202] let s:lib.Codec.decoding_table["237,254"] = [34206] let s:lib.Codec.decoding_table["238,64"] = [34167] let s:lib.Codec.decoding_table["238,65"] = [34172] let s:lib.Codec.decoding_table["238,66"] = [34185] let s:lib.Codec.decoding_table["238,67"] = [34209] let s:lib.Codec.decoding_table["238,68"] = [34170] let s:lib.Codec.decoding_table["238,69"] = [34168] let s:lib.Codec.decoding_table["238,70"] = [34135] let s:lib.Codec.decoding_table["238,71"] = [34190] let s:lib.Codec.decoding_table["238,72"] = [34198] let s:lib.Codec.decoding_table["238,73"] = [34182] let s:lib.Codec.decoding_table["238,74"] = [34189] let s:lib.Codec.decoding_table["238,75"] = [34201] let s:lib.Codec.decoding_table["238,76"] = [34205] let s:lib.Codec.decoding_table["238,77"] = [34177] let s:lib.Codec.decoding_table["238,78"] = [34210] let s:lib.Codec.decoding_table["238,79"] = [34178] let s:lib.Codec.decoding_table["238,80"] = [34184] let s:lib.Codec.decoding_table["238,81"] = [34181] let s:lib.Codec.decoding_table["238,82"] = [34169] let s:lib.Codec.decoding_table["238,83"] = [34166] let s:lib.Codec.decoding_table["238,84"] = [34200] let s:lib.Codec.decoding_table["238,85"] = [34192] let s:lib.Codec.decoding_table["238,86"] = [34207] let s:lib.Codec.decoding_table["238,87"] = [34408] let s:lib.Codec.decoding_table["238,88"] = [34750] let s:lib.Codec.decoding_table["238,89"] = [34730] let s:lib.Codec.decoding_table["238,90"] = [34733] let s:lib.Codec.decoding_table["238,91"] = [34757] let s:lib.Codec.decoding_table["238,92"] = [34736] let s:lib.Codec.decoding_table["238,93"] = [34732] let s:lib.Codec.decoding_table["238,94"] = [34745] let s:lib.Codec.decoding_table["238,95"] = [34741] let s:lib.Codec.decoding_table["238,96"] = [34748] let s:lib.Codec.decoding_table["238,97"] = [34734] let s:lib.Codec.decoding_table["238,98"] = [34761] let s:lib.Codec.decoding_table["238,99"] = [34755] let s:lib.Codec.decoding_table["238,100"] = [34754] let s:lib.Codec.decoding_table["238,101"] = [34764] let s:lib.Codec.decoding_table["238,102"] = [34743] let s:lib.Codec.decoding_table["238,103"] = [34735] let s:lib.Codec.decoding_table["238,104"] = [34756] let s:lib.Codec.decoding_table["238,105"] = [34762] let s:lib.Codec.decoding_table["238,106"] = [34740] let s:lib.Codec.decoding_table["238,107"] = [34742] let s:lib.Codec.decoding_table["238,108"] = [34751] let s:lib.Codec.decoding_table["238,109"] = [34744] let s:lib.Codec.decoding_table["238,110"] = [34749] let s:lib.Codec.decoding_table["238,111"] = [34782] let s:lib.Codec.decoding_table["238,112"] = [34738] let s:lib.Codec.decoding_table["238,113"] = [35125] let s:lib.Codec.decoding_table["238,114"] = [35123] let s:lib.Codec.decoding_table["238,115"] = [35132] let s:lib.Codec.decoding_table["238,116"] = [35134] let s:lib.Codec.decoding_table["238,117"] = [35137] let s:lib.Codec.decoding_table["238,118"] = [35154] let s:lib.Codec.decoding_table["238,119"] = [35127] let s:lib.Codec.decoding_table["238,120"] = [35138] let s:lib.Codec.decoding_table["238,121"] = [35245] let s:lib.Codec.decoding_table["238,122"] = [35247] let s:lib.Codec.decoding_table["238,123"] = [35246] let s:lib.Codec.decoding_table["238,124"] = [35314] let s:lib.Codec.decoding_table["238,125"] = [35315] let s:lib.Codec.decoding_table["238,126"] = [35614] let s:lib.Codec.decoding_table["238,161"] = [35608] let s:lib.Codec.decoding_table["238,162"] = [35606] let s:lib.Codec.decoding_table["238,163"] = [35601] let s:lib.Codec.decoding_table["238,164"] = [35589] let s:lib.Codec.decoding_table["238,165"] = [35595] let s:lib.Codec.decoding_table["238,166"] = [35618] let s:lib.Codec.decoding_table["238,167"] = [35599] let s:lib.Codec.decoding_table["238,168"] = [35602] let s:lib.Codec.decoding_table["238,169"] = [35605] let s:lib.Codec.decoding_table["238,170"] = [35591] let s:lib.Codec.decoding_table["238,171"] = [35597] let s:lib.Codec.decoding_table["238,172"] = [35592] let s:lib.Codec.decoding_table["238,173"] = [35590] let s:lib.Codec.decoding_table["238,174"] = [35612] let s:lib.Codec.decoding_table["238,175"] = [35603] let s:lib.Codec.decoding_table["238,176"] = [35610] let s:lib.Codec.decoding_table["238,177"] = [35919] let s:lib.Codec.decoding_table["238,178"] = [35952] let s:lib.Codec.decoding_table["238,179"] = [35954] let s:lib.Codec.decoding_table["238,180"] = [35953] let s:lib.Codec.decoding_table["238,181"] = [35951] let s:lib.Codec.decoding_table["238,182"] = [35989] let s:lib.Codec.decoding_table["238,183"] = [35988] let s:lib.Codec.decoding_table["238,184"] = [36089] let s:lib.Codec.decoding_table["238,185"] = [36207] let s:lib.Codec.decoding_table["238,186"] = [36430] let s:lib.Codec.decoding_table["238,187"] = [36429] let s:lib.Codec.decoding_table["238,188"] = [36435] let s:lib.Codec.decoding_table["238,189"] = [36432] let s:lib.Codec.decoding_table["238,190"] = [36428] let s:lib.Codec.decoding_table["238,191"] = [36423] let s:lib.Codec.decoding_table["238,192"] = [36675] let s:lib.Codec.decoding_table["238,193"] = [36672] let s:lib.Codec.decoding_table["238,194"] = [36997] let s:lib.Codec.decoding_table["238,195"] = [36990] let s:lib.Codec.decoding_table["238,196"] = [37176] let s:lib.Codec.decoding_table["238,197"] = [37274] let s:lib.Codec.decoding_table["238,198"] = [37282] let s:lib.Codec.decoding_table["238,199"] = [37275] let s:lib.Codec.decoding_table["238,200"] = [37273] let s:lib.Codec.decoding_table["238,201"] = [37279] let s:lib.Codec.decoding_table["238,202"] = [37281] let s:lib.Codec.decoding_table["238,203"] = [37277] let s:lib.Codec.decoding_table["238,204"] = [37280] let s:lib.Codec.decoding_table["238,205"] = [37793] let s:lib.Codec.decoding_table["238,206"] = [37763] let s:lib.Codec.decoding_table["238,207"] = [37807] let s:lib.Codec.decoding_table["238,208"] = [37732] let s:lib.Codec.decoding_table["238,209"] = [37718] let s:lib.Codec.decoding_table["238,210"] = [37703] let s:lib.Codec.decoding_table["238,211"] = [37756] let s:lib.Codec.decoding_table["238,212"] = [37720] let s:lib.Codec.decoding_table["238,213"] = [37724] let s:lib.Codec.decoding_table["238,214"] = [37750] let s:lib.Codec.decoding_table["238,215"] = [37705] let s:lib.Codec.decoding_table["238,216"] = [37712] let s:lib.Codec.decoding_table["238,217"] = [37713] let s:lib.Codec.decoding_table["238,218"] = [37728] let s:lib.Codec.decoding_table["238,219"] = [37741] let s:lib.Codec.decoding_table["238,220"] = [37775] let s:lib.Codec.decoding_table["238,221"] = [37708] let s:lib.Codec.decoding_table["238,222"] = [37738] let s:lib.Codec.decoding_table["238,223"] = [37753] let s:lib.Codec.decoding_table["238,224"] = [37719] let s:lib.Codec.decoding_table["238,225"] = [37717] let s:lib.Codec.decoding_table["238,226"] = [37714] let s:lib.Codec.decoding_table["238,227"] = [37711] let s:lib.Codec.decoding_table["238,228"] = [37745] let s:lib.Codec.decoding_table["238,229"] = [37751] let s:lib.Codec.decoding_table["238,230"] = [37755] let s:lib.Codec.decoding_table["238,231"] = [37729] let s:lib.Codec.decoding_table["238,232"] = [37726] let s:lib.Codec.decoding_table["238,233"] = [37731] let s:lib.Codec.decoding_table["238,234"] = [37735] let s:lib.Codec.decoding_table["238,235"] = [37760] let s:lib.Codec.decoding_table["238,236"] = [37710] let s:lib.Codec.decoding_table["238,237"] = [37721] let s:lib.Codec.decoding_table["238,238"] = [38343] let s:lib.Codec.decoding_table["238,239"] = [38336] let s:lib.Codec.decoding_table["238,240"] = [38345] let s:lib.Codec.decoding_table["238,241"] = [38339] let s:lib.Codec.decoding_table["238,242"] = [38341] let s:lib.Codec.decoding_table["238,243"] = [38327] let s:lib.Codec.decoding_table["238,244"] = [38574] let s:lib.Codec.decoding_table["238,245"] = [38576] let s:lib.Codec.decoding_table["238,246"] = [38572] let s:lib.Codec.decoding_table["238,247"] = [38688] let s:lib.Codec.decoding_table["238,248"] = [38687] let s:lib.Codec.decoding_table["238,249"] = [38680] let s:lib.Codec.decoding_table["238,250"] = [38685] let s:lib.Codec.decoding_table["238,251"] = [38681] let s:lib.Codec.decoding_table["238,252"] = [38810] let s:lib.Codec.decoding_table["238,253"] = [38817] let s:lib.Codec.decoding_table["238,254"] = [38812] let s:lib.Codec.decoding_table["239,64"] = [38814] let s:lib.Codec.decoding_table["239,65"] = [38813] let s:lib.Codec.decoding_table["239,66"] = [38869] let s:lib.Codec.decoding_table["239,67"] = [38868] let s:lib.Codec.decoding_table["239,68"] = [38897] let s:lib.Codec.decoding_table["239,69"] = [38977] let s:lib.Codec.decoding_table["239,70"] = [38980] let s:lib.Codec.decoding_table["239,71"] = [38986] let s:lib.Codec.decoding_table["239,72"] = [38985] let s:lib.Codec.decoding_table["239,73"] = [38981] let s:lib.Codec.decoding_table["239,74"] = [38979] let s:lib.Codec.decoding_table["239,75"] = [39205] let s:lib.Codec.decoding_table["239,76"] = [39211] let s:lib.Codec.decoding_table["239,77"] = [39212] let s:lib.Codec.decoding_table["239,78"] = [39210] let s:lib.Codec.decoding_table["239,79"] = [39219] let s:lib.Codec.decoding_table["239,80"] = [39218] let s:lib.Codec.decoding_table["239,81"] = [39215] let s:lib.Codec.decoding_table["239,82"] = [39213] let s:lib.Codec.decoding_table["239,83"] = [39217] let s:lib.Codec.decoding_table["239,84"] = [39216] let s:lib.Codec.decoding_table["239,85"] = [39320] let s:lib.Codec.decoding_table["239,86"] = [39331] let s:lib.Codec.decoding_table["239,87"] = [39329] let s:lib.Codec.decoding_table["239,88"] = [39426] let s:lib.Codec.decoding_table["239,89"] = [39418] let s:lib.Codec.decoding_table["239,90"] = [39412] let s:lib.Codec.decoding_table["239,91"] = [39415] let s:lib.Codec.decoding_table["239,92"] = [39417] let s:lib.Codec.decoding_table["239,93"] = [39416] let s:lib.Codec.decoding_table["239,94"] = [39414] let s:lib.Codec.decoding_table["239,95"] = [39419] let s:lib.Codec.decoding_table["239,96"] = [39421] let s:lib.Codec.decoding_table["239,97"] = [39422] let s:lib.Codec.decoding_table["239,98"] = [39420] let s:lib.Codec.decoding_table["239,99"] = [39427] let s:lib.Codec.decoding_table["239,100"] = [39614] let s:lib.Codec.decoding_table["239,101"] = [39678] let s:lib.Codec.decoding_table["239,102"] = [39677] let s:lib.Codec.decoding_table["239,103"] = [39681] let s:lib.Codec.decoding_table["239,104"] = [39676] let s:lib.Codec.decoding_table["239,105"] = [39752] let s:lib.Codec.decoding_table["239,106"] = [39834] let s:lib.Codec.decoding_table["239,107"] = [39848] let s:lib.Codec.decoding_table["239,108"] = [39838] let s:lib.Codec.decoding_table["239,109"] = [39835] let s:lib.Codec.decoding_table["239,110"] = [39846] let s:lib.Codec.decoding_table["239,111"] = [39841] let s:lib.Codec.decoding_table["239,112"] = [39845] let s:lib.Codec.decoding_table["239,113"] = [39844] let s:lib.Codec.decoding_table["239,114"] = [39814] let s:lib.Codec.decoding_table["239,115"] = [39842] let s:lib.Codec.decoding_table["239,116"] = [39840] let s:lib.Codec.decoding_table["239,117"] = [39855] let s:lib.Codec.decoding_table["239,118"] = [40243] let s:lib.Codec.decoding_table["239,119"] = [40257] let s:lib.Codec.decoding_table["239,120"] = [40295] let s:lib.Codec.decoding_table["239,121"] = [40246] let s:lib.Codec.decoding_table["239,122"] = [40238] let s:lib.Codec.decoding_table["239,123"] = [40239] let s:lib.Codec.decoding_table["239,124"] = [40241] let s:lib.Codec.decoding_table["239,125"] = [40248] let s:lib.Codec.decoding_table["239,126"] = [40240] let s:lib.Codec.decoding_table["239,161"] = [40261] let s:lib.Codec.decoding_table["239,162"] = [40258] let s:lib.Codec.decoding_table["239,163"] = [40259] let s:lib.Codec.decoding_table["239,164"] = [40254] let s:lib.Codec.decoding_table["239,165"] = [40247] let s:lib.Codec.decoding_table["239,166"] = [40256] let s:lib.Codec.decoding_table["239,167"] = [40253] let s:lib.Codec.decoding_table["239,168"] = [32757] let s:lib.Codec.decoding_table["239,169"] = [40237] let s:lib.Codec.decoding_table["239,170"] = [40586] let s:lib.Codec.decoding_table["239,171"] = [40585] let s:lib.Codec.decoding_table["239,172"] = [40589] let s:lib.Codec.decoding_table["239,173"] = [40624] let s:lib.Codec.decoding_table["239,174"] = [40648] let s:lib.Codec.decoding_table["239,175"] = [40666] let s:lib.Codec.decoding_table["239,176"] = [40699] let s:lib.Codec.decoding_table["239,177"] = [40703] let s:lib.Codec.decoding_table["239,178"] = [40740] let s:lib.Codec.decoding_table["239,179"] = [40739] let s:lib.Codec.decoding_table["239,180"] = [40738] let s:lib.Codec.decoding_table["239,181"] = [40788] let s:lib.Codec.decoding_table["239,182"] = [40864] let s:lib.Codec.decoding_table["239,183"] = [20785] let s:lib.Codec.decoding_table["239,184"] = [20781] let s:lib.Codec.decoding_table["239,185"] = [20782] let s:lib.Codec.decoding_table["239,186"] = [22168] let s:lib.Codec.decoding_table["239,187"] = [22172] let s:lib.Codec.decoding_table["239,188"] = [22167] let s:lib.Codec.decoding_table["239,189"] = [22170] let s:lib.Codec.decoding_table["239,190"] = [22173] let s:lib.Codec.decoding_table["239,191"] = [22169] let s:lib.Codec.decoding_table["239,192"] = [22896] let s:lib.Codec.decoding_table["239,193"] = [23356] let s:lib.Codec.decoding_table["239,194"] = [23657] let s:lib.Codec.decoding_table["239,195"] = [23658] let s:lib.Codec.decoding_table["239,196"] = [24000] let s:lib.Codec.decoding_table["239,197"] = [24173] let s:lib.Codec.decoding_table["239,198"] = [24174] let s:lib.Codec.decoding_table["239,199"] = [25048] let s:lib.Codec.decoding_table["239,200"] = [25055] let s:lib.Codec.decoding_table["239,201"] = [25069] let s:lib.Codec.decoding_table["239,202"] = [25070] let s:lib.Codec.decoding_table["239,203"] = [25073] let s:lib.Codec.decoding_table["239,204"] = [25066] let s:lib.Codec.decoding_table["239,205"] = [25072] let s:lib.Codec.decoding_table["239,206"] = [25067] let s:lib.Codec.decoding_table["239,207"] = [25046] let s:lib.Codec.decoding_table["239,208"] = [25065] let s:lib.Codec.decoding_table["239,209"] = [25855] let s:lib.Codec.decoding_table["239,210"] = [25860] let s:lib.Codec.decoding_table["239,211"] = [25853] let s:lib.Codec.decoding_table["239,212"] = [25848] let s:lib.Codec.decoding_table["239,213"] = [25857] let s:lib.Codec.decoding_table["239,214"] = [25859] let s:lib.Codec.decoding_table["239,215"] = [25852] let s:lib.Codec.decoding_table["239,216"] = [26004] let s:lib.Codec.decoding_table["239,217"] = [26075] let s:lib.Codec.decoding_table["239,218"] = [26330] let s:lib.Codec.decoding_table["239,219"] = [26331] let s:lib.Codec.decoding_table["239,220"] = [26328] let s:lib.Codec.decoding_table["239,221"] = [27333] let s:lib.Codec.decoding_table["239,222"] = [27321] let s:lib.Codec.decoding_table["239,223"] = [27325] let s:lib.Codec.decoding_table["239,224"] = [27361] let s:lib.Codec.decoding_table["239,225"] = [27334] let s:lib.Codec.decoding_table["239,226"] = [27322] let s:lib.Codec.decoding_table["239,227"] = [27318] let s:lib.Codec.decoding_table["239,228"] = [27319] let s:lib.Codec.decoding_table["239,229"] = [27335] let s:lib.Codec.decoding_table["239,230"] = [27316] let s:lib.Codec.decoding_table["239,231"] = [27309] let s:lib.Codec.decoding_table["239,232"] = [27486] let s:lib.Codec.decoding_table["239,233"] = [27593] let s:lib.Codec.decoding_table["239,234"] = [27659] let s:lib.Codec.decoding_table["239,235"] = [28679] let s:lib.Codec.decoding_table["239,236"] = [28684] let s:lib.Codec.decoding_table["239,237"] = [28685] let s:lib.Codec.decoding_table["239,238"] = [28673] let s:lib.Codec.decoding_table["239,239"] = [28677] let s:lib.Codec.decoding_table["239,240"] = [28692] let s:lib.Codec.decoding_table["239,241"] = [28686] let s:lib.Codec.decoding_table["239,242"] = [28671] let s:lib.Codec.decoding_table["239,243"] = [28672] let s:lib.Codec.decoding_table["239,244"] = [28667] let s:lib.Codec.decoding_table["239,245"] = [28710] let s:lib.Codec.decoding_table["239,246"] = [28668] let s:lib.Codec.decoding_table["239,247"] = [28663] let s:lib.Codec.decoding_table["239,248"] = [28682] let s:lib.Codec.decoding_table["239,249"] = [29185] let s:lib.Codec.decoding_table["239,250"] = [29183] let s:lib.Codec.decoding_table["239,251"] = [29177] let s:lib.Codec.decoding_table["239,252"] = [29187] let s:lib.Codec.decoding_table["239,253"] = [29181] let s:lib.Codec.decoding_table["239,254"] = [29558] let s:lib.Codec.decoding_table["240,64"] = [29880] let s:lib.Codec.decoding_table["240,65"] = [29888] let s:lib.Codec.decoding_table["240,66"] = [29877] let s:lib.Codec.decoding_table["240,67"] = [29889] let s:lib.Codec.decoding_table["240,68"] = [29886] let s:lib.Codec.decoding_table["240,69"] = [29878] let s:lib.Codec.decoding_table["240,70"] = [29883] let s:lib.Codec.decoding_table["240,71"] = [29890] let s:lib.Codec.decoding_table["240,72"] = [29972] let s:lib.Codec.decoding_table["240,73"] = [29971] let s:lib.Codec.decoding_table["240,74"] = [30300] let s:lib.Codec.decoding_table["240,75"] = [30308] let s:lib.Codec.decoding_table["240,76"] = [30297] let s:lib.Codec.decoding_table["240,77"] = [30288] let s:lib.Codec.decoding_table["240,78"] = [30291] let s:lib.Codec.decoding_table["240,79"] = [30295] let s:lib.Codec.decoding_table["240,80"] = [30298] let s:lib.Codec.decoding_table["240,81"] = [30374] let s:lib.Codec.decoding_table["240,82"] = [30397] let s:lib.Codec.decoding_table["240,83"] = [30444] let s:lib.Codec.decoding_table["240,84"] = [30658] let s:lib.Codec.decoding_table["240,85"] = [30650] let s:lib.Codec.decoding_table["240,86"] = [30975] let s:lib.Codec.decoding_table["240,87"] = [30988] let s:lib.Codec.decoding_table["240,88"] = [30995] let s:lib.Codec.decoding_table["240,89"] = [30996] let s:lib.Codec.decoding_table["240,90"] = [30985] let s:lib.Codec.decoding_table["240,91"] = [30992] let s:lib.Codec.decoding_table["240,92"] = [30994] let s:lib.Codec.decoding_table["240,93"] = [30993] let s:lib.Codec.decoding_table["240,94"] = [31149] let s:lib.Codec.decoding_table["240,95"] = [31148] let s:lib.Codec.decoding_table["240,96"] = [31327] let s:lib.Codec.decoding_table["240,97"] = [31772] let s:lib.Codec.decoding_table["240,98"] = [31785] let s:lib.Codec.decoding_table["240,99"] = [31769] let s:lib.Codec.decoding_table["240,100"] = [31776] let s:lib.Codec.decoding_table["240,101"] = [31775] let s:lib.Codec.decoding_table["240,102"] = [31789] let s:lib.Codec.decoding_table["240,103"] = [31773] let s:lib.Codec.decoding_table["240,104"] = [31782] let s:lib.Codec.decoding_table["240,105"] = [31784] let s:lib.Codec.decoding_table["240,106"] = [31778] let s:lib.Codec.decoding_table["240,107"] = [31781] let s:lib.Codec.decoding_table["240,108"] = [31792] let s:lib.Codec.decoding_table["240,109"] = [32348] let s:lib.Codec.decoding_table["240,110"] = [32336] let s:lib.Codec.decoding_table["240,111"] = [32342] let s:lib.Codec.decoding_table["240,112"] = [32355] let s:lib.Codec.decoding_table["240,113"] = [32344] let s:lib.Codec.decoding_table["240,114"] = [32354] let s:lib.Codec.decoding_table["240,115"] = [32351] let s:lib.Codec.decoding_table["240,116"] = [32337] let s:lib.Codec.decoding_table["240,117"] = [32352] let s:lib.Codec.decoding_table["240,118"] = [32343] let s:lib.Codec.decoding_table["240,119"] = [32339] let s:lib.Codec.decoding_table["240,120"] = [32693] let s:lib.Codec.decoding_table["240,121"] = [32691] let s:lib.Codec.decoding_table["240,122"] = [32759] let s:lib.Codec.decoding_table["240,123"] = [32760] let s:lib.Codec.decoding_table["240,124"] = [32885] let s:lib.Codec.decoding_table["240,125"] = [33233] let s:lib.Codec.decoding_table["240,126"] = [33234] let s:lib.Codec.decoding_table["240,161"] = [33232] let s:lib.Codec.decoding_table["240,162"] = [33375] let s:lib.Codec.decoding_table["240,163"] = [33374] let s:lib.Codec.decoding_table["240,164"] = [34228] let s:lib.Codec.decoding_table["240,165"] = [34246] let s:lib.Codec.decoding_table["240,166"] = [34240] let s:lib.Codec.decoding_table["240,167"] = [34243] let s:lib.Codec.decoding_table["240,168"] = [34242] let s:lib.Codec.decoding_table["240,169"] = [34227] let s:lib.Codec.decoding_table["240,170"] = [34229] let s:lib.Codec.decoding_table["240,171"] = [34237] let s:lib.Codec.decoding_table["240,172"] = [34247] let s:lib.Codec.decoding_table["240,173"] = [34244] let s:lib.Codec.decoding_table["240,174"] = [34239] let s:lib.Codec.decoding_table["240,175"] = [34251] let s:lib.Codec.decoding_table["240,176"] = [34254] let s:lib.Codec.decoding_table["240,177"] = [34248] let s:lib.Codec.decoding_table["240,178"] = [34245] let s:lib.Codec.decoding_table["240,179"] = [34225] let s:lib.Codec.decoding_table["240,180"] = [34230] let s:lib.Codec.decoding_table["240,181"] = [34258] let s:lib.Codec.decoding_table["240,182"] = [34340] let s:lib.Codec.decoding_table["240,183"] = [34232] let s:lib.Codec.decoding_table["240,184"] = [34231] let s:lib.Codec.decoding_table["240,185"] = [34238] let s:lib.Codec.decoding_table["240,186"] = [34409] let s:lib.Codec.decoding_table["240,187"] = [34791] let s:lib.Codec.decoding_table["240,188"] = [34790] let s:lib.Codec.decoding_table["240,189"] = [34786] let s:lib.Codec.decoding_table["240,190"] = [34779] let s:lib.Codec.decoding_table["240,191"] = [34795] let s:lib.Codec.decoding_table["240,192"] = [34794] let s:lib.Codec.decoding_table["240,193"] = [34789] let s:lib.Codec.decoding_table["240,194"] = [34783] let s:lib.Codec.decoding_table["240,195"] = [34803] let s:lib.Codec.decoding_table["240,196"] = [34788] let s:lib.Codec.decoding_table["240,197"] = [34772] let s:lib.Codec.decoding_table["240,198"] = [34780] let s:lib.Codec.decoding_table["240,199"] = [34771] let s:lib.Codec.decoding_table["240,200"] = [34797] let s:lib.Codec.decoding_table["240,201"] = [34776] let s:lib.Codec.decoding_table["240,202"] = [34787] let s:lib.Codec.decoding_table["240,203"] = [34724] let s:lib.Codec.decoding_table["240,204"] = [34775] let s:lib.Codec.decoding_table["240,205"] = [34777] let s:lib.Codec.decoding_table["240,206"] = [34817] let s:lib.Codec.decoding_table["240,207"] = [34804] let s:lib.Codec.decoding_table["240,208"] = [34792] let s:lib.Codec.decoding_table["240,209"] = [34781] let s:lib.Codec.decoding_table["240,210"] = [35155] let s:lib.Codec.decoding_table["240,211"] = [35147] let s:lib.Codec.decoding_table["240,212"] = [35151] let s:lib.Codec.decoding_table["240,213"] = [35148] let s:lib.Codec.decoding_table["240,214"] = [35142] let s:lib.Codec.decoding_table["240,215"] = [35152] let s:lib.Codec.decoding_table["240,216"] = [35153] let s:lib.Codec.decoding_table["240,217"] = [35145] let s:lib.Codec.decoding_table["240,218"] = [35626] let s:lib.Codec.decoding_table["240,219"] = [35623] let s:lib.Codec.decoding_table["240,220"] = [35619] let s:lib.Codec.decoding_table["240,221"] = [35635] let s:lib.Codec.decoding_table["240,222"] = [35632] let s:lib.Codec.decoding_table["240,223"] = [35637] let s:lib.Codec.decoding_table["240,224"] = [35655] let s:lib.Codec.decoding_table["240,225"] = [35631] let s:lib.Codec.decoding_table["240,226"] = [35644] let s:lib.Codec.decoding_table["240,227"] = [35646] let s:lib.Codec.decoding_table["240,228"] = [35633] let s:lib.Codec.decoding_table["240,229"] = [35621] let s:lib.Codec.decoding_table["240,230"] = [35639] let s:lib.Codec.decoding_table["240,231"] = [35622] let s:lib.Codec.decoding_table["240,232"] = [35638] let s:lib.Codec.decoding_table["240,233"] = [35630] let s:lib.Codec.decoding_table["240,234"] = [35620] let s:lib.Codec.decoding_table["240,235"] = [35643] let s:lib.Codec.decoding_table["240,236"] = [35645] let s:lib.Codec.decoding_table["240,237"] = [35642] let s:lib.Codec.decoding_table["240,238"] = [35906] let s:lib.Codec.decoding_table["240,239"] = [35957] let s:lib.Codec.decoding_table["240,240"] = [35993] let s:lib.Codec.decoding_table["240,241"] = [35992] let s:lib.Codec.decoding_table["240,242"] = [35991] let s:lib.Codec.decoding_table["240,243"] = [36094] let s:lib.Codec.decoding_table["240,244"] = [36100] let s:lib.Codec.decoding_table["240,245"] = [36098] let s:lib.Codec.decoding_table["240,246"] = [36096] let s:lib.Codec.decoding_table["240,247"] = [36444] let s:lib.Codec.decoding_table["240,248"] = [36450] let s:lib.Codec.decoding_table["240,249"] = [36448] let s:lib.Codec.decoding_table["240,250"] = [36439] let s:lib.Codec.decoding_table["240,251"] = [36438] let s:lib.Codec.decoding_table["240,252"] = [36446] let s:lib.Codec.decoding_table["240,253"] = [36453] let s:lib.Codec.decoding_table["240,254"] = [36455] let s:lib.Codec.decoding_table["241,64"] = [36443] let s:lib.Codec.decoding_table["241,65"] = [36442] let s:lib.Codec.decoding_table["241,66"] = [36449] let s:lib.Codec.decoding_table["241,67"] = [36445] let s:lib.Codec.decoding_table["241,68"] = [36457] let s:lib.Codec.decoding_table["241,69"] = [36436] let s:lib.Codec.decoding_table["241,70"] = [36678] let s:lib.Codec.decoding_table["241,71"] = [36679] let s:lib.Codec.decoding_table["241,72"] = [36680] let s:lib.Codec.decoding_table["241,73"] = [36683] let s:lib.Codec.decoding_table["241,74"] = [37160] let s:lib.Codec.decoding_table["241,75"] = [37178] let s:lib.Codec.decoding_table["241,76"] = [37179] let s:lib.Codec.decoding_table["241,77"] = [37182] let s:lib.Codec.decoding_table["241,78"] = [37288] let s:lib.Codec.decoding_table["241,79"] = [37285] let s:lib.Codec.decoding_table["241,80"] = [37287] let s:lib.Codec.decoding_table["241,81"] = [37295] let s:lib.Codec.decoding_table["241,82"] = [37290] let s:lib.Codec.decoding_table["241,83"] = [37813] let s:lib.Codec.decoding_table["241,84"] = [37772] let s:lib.Codec.decoding_table["241,85"] = [37778] let s:lib.Codec.decoding_table["241,86"] = [37815] let s:lib.Codec.decoding_table["241,87"] = [37787] let s:lib.Codec.decoding_table["241,88"] = [37789] let s:lib.Codec.decoding_table["241,89"] = [37769] let s:lib.Codec.decoding_table["241,90"] = [37799] let s:lib.Codec.decoding_table["241,91"] = [37774] let s:lib.Codec.decoding_table["241,92"] = [37802] let s:lib.Codec.decoding_table["241,93"] = [37790] let s:lib.Codec.decoding_table["241,94"] = [37798] let s:lib.Codec.decoding_table["241,95"] = [37781] let s:lib.Codec.decoding_table["241,96"] = [37768] let s:lib.Codec.decoding_table["241,97"] = [37785] let s:lib.Codec.decoding_table["241,98"] = [37791] let s:lib.Codec.decoding_table["241,99"] = [37773] let s:lib.Codec.decoding_table["241,100"] = [37809] let s:lib.Codec.decoding_table["241,101"] = [37777] let s:lib.Codec.decoding_table["241,102"] = [37810] let s:lib.Codec.decoding_table["241,103"] = [37796] let s:lib.Codec.decoding_table["241,104"] = [37800] let s:lib.Codec.decoding_table["241,105"] = [37812] let s:lib.Codec.decoding_table["241,106"] = [37795] let s:lib.Codec.decoding_table["241,107"] = [37797] let s:lib.Codec.decoding_table["241,108"] = [38354] let s:lib.Codec.decoding_table["241,109"] = [38355] let s:lib.Codec.decoding_table["241,110"] = [38353] let s:lib.Codec.decoding_table["241,111"] = [38579] let s:lib.Codec.decoding_table["241,112"] = [38615] let s:lib.Codec.decoding_table["241,113"] = [38618] let s:lib.Codec.decoding_table["241,114"] = [24002] let s:lib.Codec.decoding_table["241,115"] = [38623] let s:lib.Codec.decoding_table["241,116"] = [38616] let s:lib.Codec.decoding_table["241,117"] = [38621] let s:lib.Codec.decoding_table["241,118"] = [38691] let s:lib.Codec.decoding_table["241,119"] = [38690] let s:lib.Codec.decoding_table["241,120"] = [38693] let s:lib.Codec.decoding_table["241,121"] = [38828] let s:lib.Codec.decoding_table["241,122"] = [38830] let s:lib.Codec.decoding_table["241,123"] = [38824] let s:lib.Codec.decoding_table["241,124"] = [38827] let s:lib.Codec.decoding_table["241,125"] = [38820] let s:lib.Codec.decoding_table["241,126"] = [38826] let s:lib.Codec.decoding_table["241,161"] = [38818] let s:lib.Codec.decoding_table["241,162"] = [38821] let s:lib.Codec.decoding_table["241,163"] = [38871] let s:lib.Codec.decoding_table["241,164"] = [38873] let s:lib.Codec.decoding_table["241,165"] = [38870] let s:lib.Codec.decoding_table["241,166"] = [38872] let s:lib.Codec.decoding_table["241,167"] = [38906] let s:lib.Codec.decoding_table["241,168"] = [38992] let s:lib.Codec.decoding_table["241,169"] = [38993] let s:lib.Codec.decoding_table["241,170"] = [38994] let s:lib.Codec.decoding_table["241,171"] = [39096] let s:lib.Codec.decoding_table["241,172"] = [39233] let s:lib.Codec.decoding_table["241,173"] = [39228] let s:lib.Codec.decoding_table["241,174"] = [39226] let s:lib.Codec.decoding_table["241,175"] = [39439] let s:lib.Codec.decoding_table["241,176"] = [39435] let s:lib.Codec.decoding_table["241,177"] = [39433] let s:lib.Codec.decoding_table["241,178"] = [39437] let s:lib.Codec.decoding_table["241,179"] = [39428] let s:lib.Codec.decoding_table["241,180"] = [39441] let s:lib.Codec.decoding_table["241,181"] = [39434] let s:lib.Codec.decoding_table["241,182"] = [39429] let s:lib.Codec.decoding_table["241,183"] = [39431] let s:lib.Codec.decoding_table["241,184"] = [39430] let s:lib.Codec.decoding_table["241,185"] = [39616] let s:lib.Codec.decoding_table["241,186"] = [39644] let s:lib.Codec.decoding_table["241,187"] = [39688] let s:lib.Codec.decoding_table["241,188"] = [39684] let s:lib.Codec.decoding_table["241,189"] = [39685] let s:lib.Codec.decoding_table["241,190"] = [39721] let s:lib.Codec.decoding_table["241,191"] = [39733] let s:lib.Codec.decoding_table["241,192"] = [39754] let s:lib.Codec.decoding_table["241,193"] = [39756] let s:lib.Codec.decoding_table["241,194"] = [39755] let s:lib.Codec.decoding_table["241,195"] = [39879] let s:lib.Codec.decoding_table["241,196"] = [39878] let s:lib.Codec.decoding_table["241,197"] = [39875] let s:lib.Codec.decoding_table["241,198"] = [39871] let s:lib.Codec.decoding_table["241,199"] = [39873] let s:lib.Codec.decoding_table["241,200"] = [39861] let s:lib.Codec.decoding_table["241,201"] = [39864] let s:lib.Codec.decoding_table["241,202"] = [39891] let s:lib.Codec.decoding_table["241,203"] = [39862] let s:lib.Codec.decoding_table["241,204"] = [39876] let s:lib.Codec.decoding_table["241,205"] = [39865] let s:lib.Codec.decoding_table["241,206"] = [39869] let s:lib.Codec.decoding_table["241,207"] = [40284] let s:lib.Codec.decoding_table["241,208"] = [40275] let s:lib.Codec.decoding_table["241,209"] = [40271] let s:lib.Codec.decoding_table["241,210"] = [40266] let s:lib.Codec.decoding_table["241,211"] = [40283] let s:lib.Codec.decoding_table["241,212"] = [40267] let s:lib.Codec.decoding_table["241,213"] = [40281] let s:lib.Codec.decoding_table["241,214"] = [40278] let s:lib.Codec.decoding_table["241,215"] = [40268] let s:lib.Codec.decoding_table["241,216"] = [40279] let s:lib.Codec.decoding_table["241,217"] = [40274] let s:lib.Codec.decoding_table["241,218"] = [40276] let s:lib.Codec.decoding_table["241,219"] = [40287] let s:lib.Codec.decoding_table["241,220"] = [40280] let s:lib.Codec.decoding_table["241,221"] = [40282] let s:lib.Codec.decoding_table["241,222"] = [40590] let s:lib.Codec.decoding_table["241,223"] = [40588] let s:lib.Codec.decoding_table["241,224"] = [40671] let s:lib.Codec.decoding_table["241,225"] = [40705] let s:lib.Codec.decoding_table["241,226"] = [40704] let s:lib.Codec.decoding_table["241,227"] = [40726] let s:lib.Codec.decoding_table["241,228"] = [40741] let s:lib.Codec.decoding_table["241,229"] = [40747] let s:lib.Codec.decoding_table["241,230"] = [40746] let s:lib.Codec.decoding_table["241,231"] = [40745] let s:lib.Codec.decoding_table["241,232"] = [40744] let s:lib.Codec.decoding_table["241,233"] = [40780] let s:lib.Codec.decoding_table["241,234"] = [40789] let s:lib.Codec.decoding_table["241,235"] = [20788] let s:lib.Codec.decoding_table["241,236"] = [20789] let s:lib.Codec.decoding_table["241,237"] = [21142] let s:lib.Codec.decoding_table["241,238"] = [21239] let s:lib.Codec.decoding_table["241,239"] = [21428] let s:lib.Codec.decoding_table["241,240"] = [22187] let s:lib.Codec.decoding_table["241,241"] = [22189] let s:lib.Codec.decoding_table["241,242"] = [22182] let s:lib.Codec.decoding_table["241,243"] = [22183] let s:lib.Codec.decoding_table["241,244"] = [22186] let s:lib.Codec.decoding_table["241,245"] = [22188] let s:lib.Codec.decoding_table["241,246"] = [22746] let s:lib.Codec.decoding_table["241,247"] = [22749] let s:lib.Codec.decoding_table["241,248"] = [22747] let s:lib.Codec.decoding_table["241,249"] = [22802] let s:lib.Codec.decoding_table["241,250"] = [23357] let s:lib.Codec.decoding_table["241,251"] = [23358] let s:lib.Codec.decoding_table["241,252"] = [23359] let s:lib.Codec.decoding_table["241,253"] = [24003] let s:lib.Codec.decoding_table["241,254"] = [24176] let s:lib.Codec.decoding_table["242,64"] = [24511] let s:lib.Codec.decoding_table["242,65"] = [25083] let s:lib.Codec.decoding_table["242,66"] = [25863] let s:lib.Codec.decoding_table["242,67"] = [25872] let s:lib.Codec.decoding_table["242,68"] = [25869] let s:lib.Codec.decoding_table["242,69"] = [25865] let s:lib.Codec.decoding_table["242,70"] = [25868] let s:lib.Codec.decoding_table["242,71"] = [25870] let s:lib.Codec.decoding_table["242,72"] = [25988] let s:lib.Codec.decoding_table["242,73"] = [26078] let s:lib.Codec.decoding_table["242,74"] = [26077] let s:lib.Codec.decoding_table["242,75"] = [26334] let s:lib.Codec.decoding_table["242,76"] = [27367] let s:lib.Codec.decoding_table["242,77"] = [27360] let s:lib.Codec.decoding_table["242,78"] = [27340] let s:lib.Codec.decoding_table["242,79"] = [27345] let s:lib.Codec.decoding_table["242,80"] = [27353] let s:lib.Codec.decoding_table["242,81"] = [27339] let s:lib.Codec.decoding_table["242,82"] = [27359] let s:lib.Codec.decoding_table["242,83"] = [27356] let s:lib.Codec.decoding_table["242,84"] = [27344] let s:lib.Codec.decoding_table["242,85"] = [27371] let s:lib.Codec.decoding_table["242,86"] = [27343] let s:lib.Codec.decoding_table["242,87"] = [27341] let s:lib.Codec.decoding_table["242,88"] = [27358] let s:lib.Codec.decoding_table["242,89"] = [27488] let s:lib.Codec.decoding_table["242,90"] = [27568] let s:lib.Codec.decoding_table["242,91"] = [27660] let s:lib.Codec.decoding_table["242,92"] = [28697] let s:lib.Codec.decoding_table["242,93"] = [28711] let s:lib.Codec.decoding_table["242,94"] = [28704] let s:lib.Codec.decoding_table["242,95"] = [28694] let s:lib.Codec.decoding_table["242,96"] = [28715] let s:lib.Codec.decoding_table["242,97"] = [28705] let s:lib.Codec.decoding_table["242,98"] = [28706] let s:lib.Codec.decoding_table["242,99"] = [28707] let s:lib.Codec.decoding_table["242,100"] = [28713] let s:lib.Codec.decoding_table["242,101"] = [28695] let s:lib.Codec.decoding_table["242,102"] = [28708] let s:lib.Codec.decoding_table["242,103"] = [28700] let s:lib.Codec.decoding_table["242,104"] = [28714] let s:lib.Codec.decoding_table["242,105"] = [29196] let s:lib.Codec.decoding_table["242,106"] = [29194] let s:lib.Codec.decoding_table["242,107"] = [29191] let s:lib.Codec.decoding_table["242,108"] = [29186] let s:lib.Codec.decoding_table["242,109"] = [29189] let s:lib.Codec.decoding_table["242,110"] = [29349] let s:lib.Codec.decoding_table["242,111"] = [29350] let s:lib.Codec.decoding_table["242,112"] = [29348] let s:lib.Codec.decoding_table["242,113"] = [29347] let s:lib.Codec.decoding_table["242,114"] = [29345] let s:lib.Codec.decoding_table["242,115"] = [29899] let s:lib.Codec.decoding_table["242,116"] = [29893] let s:lib.Codec.decoding_table["242,117"] = [29879] let s:lib.Codec.decoding_table["242,118"] = [29891] let s:lib.Codec.decoding_table["242,119"] = [29974] let s:lib.Codec.decoding_table["242,120"] = [30304] let s:lib.Codec.decoding_table["242,121"] = [30665] let s:lib.Codec.decoding_table["242,122"] = [30666] let s:lib.Codec.decoding_table["242,123"] = [30660] let s:lib.Codec.decoding_table["242,124"] = [30705] let s:lib.Codec.decoding_table["242,125"] = [31005] let s:lib.Codec.decoding_table["242,126"] = [31003] let s:lib.Codec.decoding_table["242,161"] = [31009] let s:lib.Codec.decoding_table["242,162"] = [31004] let s:lib.Codec.decoding_table["242,163"] = [30999] let s:lib.Codec.decoding_table["242,164"] = [31006] let s:lib.Codec.decoding_table["242,165"] = [31152] let s:lib.Codec.decoding_table["242,166"] = [31335] let s:lib.Codec.decoding_table["242,167"] = [31336] let s:lib.Codec.decoding_table["242,168"] = [31795] let s:lib.Codec.decoding_table["242,169"] = [31804] let s:lib.Codec.decoding_table["242,170"] = [31801] let s:lib.Codec.decoding_table["242,171"] = [31788] let s:lib.Codec.decoding_table["242,172"] = [31803] let s:lib.Codec.decoding_table["242,173"] = [31980] let s:lib.Codec.decoding_table["242,174"] = [31978] let s:lib.Codec.decoding_table["242,175"] = [32374] let s:lib.Codec.decoding_table["242,176"] = [32373] let s:lib.Codec.decoding_table["242,177"] = [32376] let s:lib.Codec.decoding_table["242,178"] = [32368] let s:lib.Codec.decoding_table["242,179"] = [32375] let s:lib.Codec.decoding_table["242,180"] = [32367] let s:lib.Codec.decoding_table["242,181"] = [32378] let s:lib.Codec.decoding_table["242,182"] = [32370] let s:lib.Codec.decoding_table["242,183"] = [32372] let s:lib.Codec.decoding_table["242,184"] = [32360] let s:lib.Codec.decoding_table["242,185"] = [32587] let s:lib.Codec.decoding_table["242,186"] = [32586] let s:lib.Codec.decoding_table["242,187"] = [32643] let s:lib.Codec.decoding_table["242,188"] = [32646] let s:lib.Codec.decoding_table["242,189"] = [32695] let s:lib.Codec.decoding_table["242,190"] = [32765] let s:lib.Codec.decoding_table["242,191"] = [32766] let s:lib.Codec.decoding_table["242,192"] = [32888] let s:lib.Codec.decoding_table["242,193"] = [33239] let s:lib.Codec.decoding_table["242,194"] = [33237] let s:lib.Codec.decoding_table["242,195"] = [33380] let s:lib.Codec.decoding_table["242,196"] = [33377] let s:lib.Codec.decoding_table["242,197"] = [33379] let s:lib.Codec.decoding_table["242,198"] = [34283] let s:lib.Codec.decoding_table["242,199"] = [34289] let s:lib.Codec.decoding_table["242,200"] = [34285] let s:lib.Codec.decoding_table["242,201"] = [34265] let s:lib.Codec.decoding_table["242,202"] = [34273] let s:lib.Codec.decoding_table["242,203"] = [34280] let s:lib.Codec.decoding_table["242,204"] = [34266] let s:lib.Codec.decoding_table["242,205"] = [34263] let s:lib.Codec.decoding_table["242,206"] = [34284] let s:lib.Codec.decoding_table["242,207"] = [34290] let s:lib.Codec.decoding_table["242,208"] = [34296] let s:lib.Codec.decoding_table["242,209"] = [34264] let s:lib.Codec.decoding_table["242,210"] = [34271] let s:lib.Codec.decoding_table["242,211"] = [34275] let s:lib.Codec.decoding_table["242,212"] = [34268] let s:lib.Codec.decoding_table["242,213"] = [34257] let s:lib.Codec.decoding_table["242,214"] = [34288] let s:lib.Codec.decoding_table["242,215"] = [34278] let s:lib.Codec.decoding_table["242,216"] = [34287] let s:lib.Codec.decoding_table["242,217"] = [34270] let s:lib.Codec.decoding_table["242,218"] = [34274] let s:lib.Codec.decoding_table["242,219"] = [34816] let s:lib.Codec.decoding_table["242,220"] = [34810] let s:lib.Codec.decoding_table["242,221"] = [34819] let s:lib.Codec.decoding_table["242,222"] = [34806] let s:lib.Codec.decoding_table["242,223"] = [34807] let s:lib.Codec.decoding_table["242,224"] = [34825] let s:lib.Codec.decoding_table["242,225"] = [34828] let s:lib.Codec.decoding_table["242,226"] = [34827] let s:lib.Codec.decoding_table["242,227"] = [34822] let s:lib.Codec.decoding_table["242,228"] = [34812] let s:lib.Codec.decoding_table["242,229"] = [34824] let s:lib.Codec.decoding_table["242,230"] = [34815] let s:lib.Codec.decoding_table["242,231"] = [34826] let s:lib.Codec.decoding_table["242,232"] = [34818] let s:lib.Codec.decoding_table["242,233"] = [35170] let s:lib.Codec.decoding_table["242,234"] = [35162] let s:lib.Codec.decoding_table["242,235"] = [35163] let s:lib.Codec.decoding_table["242,236"] = [35159] let s:lib.Codec.decoding_table["242,237"] = [35169] let s:lib.Codec.decoding_table["242,238"] = [35164] let s:lib.Codec.decoding_table["242,239"] = [35160] let s:lib.Codec.decoding_table["242,240"] = [35165] let s:lib.Codec.decoding_table["242,241"] = [35161] let s:lib.Codec.decoding_table["242,242"] = [35208] let s:lib.Codec.decoding_table["242,243"] = [35255] let s:lib.Codec.decoding_table["242,244"] = [35254] let s:lib.Codec.decoding_table["242,245"] = [35318] let s:lib.Codec.decoding_table["242,246"] = [35664] let s:lib.Codec.decoding_table["242,247"] = [35656] let s:lib.Codec.decoding_table["242,248"] = [35658] let s:lib.Codec.decoding_table["242,249"] = [35648] let s:lib.Codec.decoding_table["242,250"] = [35667] let s:lib.Codec.decoding_table["242,251"] = [35670] let s:lib.Codec.decoding_table["242,252"] = [35668] let s:lib.Codec.decoding_table["242,253"] = [35659] let s:lib.Codec.decoding_table["242,254"] = [35669] let s:lib.Codec.decoding_table["243,64"] = [35665] let s:lib.Codec.decoding_table["243,65"] = [35650] let s:lib.Codec.decoding_table["243,66"] = [35666] let s:lib.Codec.decoding_table["243,67"] = [35671] let s:lib.Codec.decoding_table["243,68"] = [35907] let s:lib.Codec.decoding_table["243,69"] = [35959] let s:lib.Codec.decoding_table["243,70"] = [35958] let s:lib.Codec.decoding_table["243,71"] = [35994] let s:lib.Codec.decoding_table["243,72"] = [36102] let s:lib.Codec.decoding_table["243,73"] = [36103] let s:lib.Codec.decoding_table["243,74"] = [36105] let s:lib.Codec.decoding_table["243,75"] = [36268] let s:lib.Codec.decoding_table["243,76"] = [36266] let s:lib.Codec.decoding_table["243,77"] = [36269] let s:lib.Codec.decoding_table["243,78"] = [36267] let s:lib.Codec.decoding_table["243,79"] = [36461] let s:lib.Codec.decoding_table["243,80"] = [36472] let s:lib.Codec.decoding_table["243,81"] = [36467] let s:lib.Codec.decoding_table["243,82"] = [36458] let s:lib.Codec.decoding_table["243,83"] = [36463] let s:lib.Codec.decoding_table["243,84"] = [36475] let s:lib.Codec.decoding_table["243,85"] = [36546] let s:lib.Codec.decoding_table["243,86"] = [36690] let s:lib.Codec.decoding_table["243,87"] = [36689] let s:lib.Codec.decoding_table["243,88"] = [36687] let s:lib.Codec.decoding_table["243,89"] = [36688] let s:lib.Codec.decoding_table["243,90"] = [36691] let s:lib.Codec.decoding_table["243,91"] = [36788] let s:lib.Codec.decoding_table["243,92"] = [37184] let s:lib.Codec.decoding_table["243,93"] = [37183] let s:lib.Codec.decoding_table["243,94"] = [37296] let s:lib.Codec.decoding_table["243,95"] = [37293] let s:lib.Codec.decoding_table["243,96"] = [37854] let s:lib.Codec.decoding_table["243,97"] = [37831] let s:lib.Codec.decoding_table["243,98"] = [37839] let s:lib.Codec.decoding_table["243,99"] = [37826] let s:lib.Codec.decoding_table["243,100"] = [37850] let s:lib.Codec.decoding_table["243,101"] = [37840] let s:lib.Codec.decoding_table["243,102"] = [37881] let s:lib.Codec.decoding_table["243,103"] = [37868] let s:lib.Codec.decoding_table["243,104"] = [37836] let s:lib.Codec.decoding_table["243,105"] = [37849] let s:lib.Codec.decoding_table["243,106"] = [37801] let s:lib.Codec.decoding_table["243,107"] = [37862] let s:lib.Codec.decoding_table["243,108"] = [37834] let s:lib.Codec.decoding_table["243,109"] = [37844] let s:lib.Codec.decoding_table["243,110"] = [37870] let s:lib.Codec.decoding_table["243,111"] = [37859] let s:lib.Codec.decoding_table["243,112"] = [37845] let s:lib.Codec.decoding_table["243,113"] = [37828] let s:lib.Codec.decoding_table["243,114"] = [37838] let s:lib.Codec.decoding_table["243,115"] = [37824] let s:lib.Codec.decoding_table["243,116"] = [37842] let s:lib.Codec.decoding_table["243,117"] = [37863] let s:lib.Codec.decoding_table["243,118"] = [38269] let s:lib.Codec.decoding_table["243,119"] = [38362] let s:lib.Codec.decoding_table["243,120"] = [38363] let s:lib.Codec.decoding_table["243,121"] = [38625] let s:lib.Codec.decoding_table["243,122"] = [38697] let s:lib.Codec.decoding_table["243,123"] = [38699] let s:lib.Codec.decoding_table["243,124"] = [38700] let s:lib.Codec.decoding_table["243,125"] = [38696] let s:lib.Codec.decoding_table["243,126"] = [38694] let s:lib.Codec.decoding_table["243,161"] = [38835] let s:lib.Codec.decoding_table["243,162"] = [38839] let s:lib.Codec.decoding_table["243,163"] = [38838] let s:lib.Codec.decoding_table["243,164"] = [38877] let s:lib.Codec.decoding_table["243,165"] = [38878] let s:lib.Codec.decoding_table["243,166"] = [38879] let s:lib.Codec.decoding_table["243,167"] = [39004] let s:lib.Codec.decoding_table["243,168"] = [39001] let s:lib.Codec.decoding_table["243,169"] = [39005] let s:lib.Codec.decoding_table["243,170"] = [38999] let s:lib.Codec.decoding_table["243,171"] = [39103] let s:lib.Codec.decoding_table["243,172"] = [39101] let s:lib.Codec.decoding_table["243,173"] = [39099] let s:lib.Codec.decoding_table["243,174"] = [39102] let s:lib.Codec.decoding_table["243,175"] = [39240] let s:lib.Codec.decoding_table["243,176"] = [39239] let s:lib.Codec.decoding_table["243,177"] = [39235] let s:lib.Codec.decoding_table["243,178"] = [39334] let s:lib.Codec.decoding_table["243,179"] = [39335] let s:lib.Codec.decoding_table["243,180"] = [39450] let s:lib.Codec.decoding_table["243,181"] = [39445] let s:lib.Codec.decoding_table["243,182"] = [39461] let s:lib.Codec.decoding_table["243,183"] = [39453] let s:lib.Codec.decoding_table["243,184"] = [39460] let s:lib.Codec.decoding_table["243,185"] = [39451] let s:lib.Codec.decoding_table["243,186"] = [39458] let s:lib.Codec.decoding_table["243,187"] = [39456] let s:lib.Codec.decoding_table["243,188"] = [39463] let s:lib.Codec.decoding_table["243,189"] = [39459] let s:lib.Codec.decoding_table["243,190"] = [39454] let s:lib.Codec.decoding_table["243,191"] = [39452] let s:lib.Codec.decoding_table["243,192"] = [39444] let s:lib.Codec.decoding_table["243,193"] = [39618] let s:lib.Codec.decoding_table["243,194"] = [39691] let s:lib.Codec.decoding_table["243,195"] = [39690] let s:lib.Codec.decoding_table["243,196"] = [39694] let s:lib.Codec.decoding_table["243,197"] = [39692] let s:lib.Codec.decoding_table["243,198"] = [39735] let s:lib.Codec.decoding_table["243,199"] = [39914] let s:lib.Codec.decoding_table["243,200"] = [39915] let s:lib.Codec.decoding_table["243,201"] = [39904] let s:lib.Codec.decoding_table["243,202"] = [39902] let s:lib.Codec.decoding_table["243,203"] = [39908] let s:lib.Codec.decoding_table["243,204"] = [39910] let s:lib.Codec.decoding_table["243,205"] = [39906] let s:lib.Codec.decoding_table["243,206"] = [39920] let s:lib.Codec.decoding_table["243,207"] = [39892] let s:lib.Codec.decoding_table["243,208"] = [39895] let s:lib.Codec.decoding_table["243,209"] = [39916] let s:lib.Codec.decoding_table["243,210"] = [39900] let s:lib.Codec.decoding_table["243,211"] = [39897] let s:lib.Codec.decoding_table["243,212"] = [39909] let s:lib.Codec.decoding_table["243,213"] = [39893] let s:lib.Codec.decoding_table["243,214"] = [39905] let s:lib.Codec.decoding_table["243,215"] = [39898] let s:lib.Codec.decoding_table["243,216"] = [40311] let s:lib.Codec.decoding_table["243,217"] = [40321] let s:lib.Codec.decoding_table["243,218"] = [40330] let s:lib.Codec.decoding_table["243,219"] = [40324] let s:lib.Codec.decoding_table["243,220"] = [40328] let s:lib.Codec.decoding_table["243,221"] = [40305] let s:lib.Codec.decoding_table["243,222"] = [40320] let s:lib.Codec.decoding_table["243,223"] = [40312] let s:lib.Codec.decoding_table["243,224"] = [40326] let s:lib.Codec.decoding_table["243,225"] = [40331] let s:lib.Codec.decoding_table["243,226"] = [40332] let s:lib.Codec.decoding_table["243,227"] = [40317] let s:lib.Codec.decoding_table["243,228"] = [40299] let s:lib.Codec.decoding_table["243,229"] = [40308] let s:lib.Codec.decoding_table["243,230"] = [40309] let s:lib.Codec.decoding_table["243,231"] = [40304] let s:lib.Codec.decoding_table["243,232"] = [40297] let s:lib.Codec.decoding_table["243,233"] = [40325] let s:lib.Codec.decoding_table["243,234"] = [40307] let s:lib.Codec.decoding_table["243,235"] = [40315] let s:lib.Codec.decoding_table["243,236"] = [40322] let s:lib.Codec.decoding_table["243,237"] = [40303] let s:lib.Codec.decoding_table["243,238"] = [40313] let s:lib.Codec.decoding_table["243,239"] = [40319] let s:lib.Codec.decoding_table["243,240"] = [40327] let s:lib.Codec.decoding_table["243,241"] = [40296] let s:lib.Codec.decoding_table["243,242"] = [40596] let s:lib.Codec.decoding_table["243,243"] = [40593] let s:lib.Codec.decoding_table["243,244"] = [40640] let s:lib.Codec.decoding_table["243,245"] = [40700] let s:lib.Codec.decoding_table["243,246"] = [40749] let s:lib.Codec.decoding_table["243,247"] = [40768] let s:lib.Codec.decoding_table["243,248"] = [40769] let s:lib.Codec.decoding_table["243,249"] = [40781] let s:lib.Codec.decoding_table["243,250"] = [40790] let s:lib.Codec.decoding_table["243,251"] = [40791] let s:lib.Codec.decoding_table["243,252"] = [40792] let s:lib.Codec.decoding_table["243,253"] = [21303] let s:lib.Codec.decoding_table["243,254"] = [22194] let s:lib.Codec.decoding_table["244,64"] = [22197] let s:lib.Codec.decoding_table["244,65"] = [22195] let s:lib.Codec.decoding_table["244,66"] = [22755] let s:lib.Codec.decoding_table["244,67"] = [23365] let s:lib.Codec.decoding_table["244,68"] = [24006] let s:lib.Codec.decoding_table["244,69"] = [24007] let s:lib.Codec.decoding_table["244,70"] = [24302] let s:lib.Codec.decoding_table["244,71"] = [24303] let s:lib.Codec.decoding_table["244,72"] = [24512] let s:lib.Codec.decoding_table["244,73"] = [24513] let s:lib.Codec.decoding_table["244,74"] = [25081] let s:lib.Codec.decoding_table["244,75"] = [25879] let s:lib.Codec.decoding_table["244,76"] = [25878] let s:lib.Codec.decoding_table["244,77"] = [25877] let s:lib.Codec.decoding_table["244,78"] = [25875] let s:lib.Codec.decoding_table["244,79"] = [26079] let s:lib.Codec.decoding_table["244,80"] = [26344] let s:lib.Codec.decoding_table["244,81"] = [26339] let s:lib.Codec.decoding_table["244,82"] = [26340] let s:lib.Codec.decoding_table["244,83"] = [27379] let s:lib.Codec.decoding_table["244,84"] = [27376] let s:lib.Codec.decoding_table["244,85"] = [27370] let s:lib.Codec.decoding_table["244,86"] = [27368] let s:lib.Codec.decoding_table["244,87"] = [27385] let s:lib.Codec.decoding_table["244,88"] = [27377] let s:lib.Codec.decoding_table["244,89"] = [27374] let s:lib.Codec.decoding_table["244,90"] = [27375] let s:lib.Codec.decoding_table["244,91"] = [28732] let s:lib.Codec.decoding_table["244,92"] = [28725] let s:lib.Codec.decoding_table["244,93"] = [28719] let s:lib.Codec.decoding_table["244,94"] = [28727] let s:lib.Codec.decoding_table["244,95"] = [28724] let s:lib.Codec.decoding_table["244,96"] = [28721] let s:lib.Codec.decoding_table["244,97"] = [28738] let s:lib.Codec.decoding_table["244,98"] = [28728] let s:lib.Codec.decoding_table["244,99"] = [28735] let s:lib.Codec.decoding_table["244,100"] = [28730] let s:lib.Codec.decoding_table["244,101"] = [28729] let s:lib.Codec.decoding_table["244,102"] = [28736] let s:lib.Codec.decoding_table["244,103"] = [28731] let s:lib.Codec.decoding_table["244,104"] = [28723] let s:lib.Codec.decoding_table["244,105"] = [28737] let s:lib.Codec.decoding_table["244,106"] = [29203] let s:lib.Codec.decoding_table["244,107"] = [29204] let s:lib.Codec.decoding_table["244,108"] = [29352] let s:lib.Codec.decoding_table["244,109"] = [29565] let s:lib.Codec.decoding_table["244,110"] = [29564] let s:lib.Codec.decoding_table["244,111"] = [29882] let s:lib.Codec.decoding_table["244,112"] = [30379] let s:lib.Codec.decoding_table["244,113"] = [30378] let s:lib.Codec.decoding_table["244,114"] = [30398] let s:lib.Codec.decoding_table["244,115"] = [30445] let s:lib.Codec.decoding_table["244,116"] = [30668] let s:lib.Codec.decoding_table["244,117"] = [30670] let s:lib.Codec.decoding_table["244,118"] = [30671] let s:lib.Codec.decoding_table["244,119"] = [30669] let s:lib.Codec.decoding_table["244,120"] = [30706] let s:lib.Codec.decoding_table["244,121"] = [31013] let s:lib.Codec.decoding_table["244,122"] = [31011] let s:lib.Codec.decoding_table["244,123"] = [31015] let s:lib.Codec.decoding_table["244,124"] = [31016] let s:lib.Codec.decoding_table["244,125"] = [31012] let s:lib.Codec.decoding_table["244,126"] = [31017] let s:lib.Codec.decoding_table["244,161"] = [31154] let s:lib.Codec.decoding_table["244,162"] = [31342] let s:lib.Codec.decoding_table["244,163"] = [31340] let s:lib.Codec.decoding_table["244,164"] = [31341] let s:lib.Codec.decoding_table["244,165"] = [31479] let s:lib.Codec.decoding_table["244,166"] = [31817] let s:lib.Codec.decoding_table["244,167"] = [31816] let s:lib.Codec.decoding_table["244,168"] = [31818] let s:lib.Codec.decoding_table["244,169"] = [31815] let s:lib.Codec.decoding_table["244,170"] = [31813] let s:lib.Codec.decoding_table["244,171"] = [31982] let s:lib.Codec.decoding_table["244,172"] = [32379] let s:lib.Codec.decoding_table["244,173"] = [32382] let s:lib.Codec.decoding_table["244,174"] = [32385] let s:lib.Codec.decoding_table["244,175"] = [32384] let s:lib.Codec.decoding_table["244,176"] = [32698] let s:lib.Codec.decoding_table["244,177"] = [32767] let s:lib.Codec.decoding_table["244,178"] = [32889] let s:lib.Codec.decoding_table["244,179"] = [33243] let s:lib.Codec.decoding_table["244,180"] = [33241] let s:lib.Codec.decoding_table["244,181"] = [33291] let s:lib.Codec.decoding_table["244,182"] = [33384] let s:lib.Codec.decoding_table["244,183"] = [33385] let s:lib.Codec.decoding_table["244,184"] = [34338] let s:lib.Codec.decoding_table["244,185"] = [34303] let s:lib.Codec.decoding_table["244,186"] = [34305] let s:lib.Codec.decoding_table["244,187"] = [34302] let s:lib.Codec.decoding_table["244,188"] = [34331] let s:lib.Codec.decoding_table["244,189"] = [34304] let s:lib.Codec.decoding_table["244,190"] = [34294] let s:lib.Codec.decoding_table["244,191"] = [34308] let s:lib.Codec.decoding_table["244,192"] = [34313] let s:lib.Codec.decoding_table["244,193"] = [34309] let s:lib.Codec.decoding_table["244,194"] = [34316] let s:lib.Codec.decoding_table["244,195"] = [34301] let s:lib.Codec.decoding_table["244,196"] = [34841] let s:lib.Codec.decoding_table["244,197"] = [34832] let s:lib.Codec.decoding_table["244,198"] = [34833] let s:lib.Codec.decoding_table["244,199"] = [34839] let s:lib.Codec.decoding_table["244,200"] = [34835] let s:lib.Codec.decoding_table["244,201"] = [34838] let s:lib.Codec.decoding_table["244,202"] = [35171] let s:lib.Codec.decoding_table["244,203"] = [35174] let s:lib.Codec.decoding_table["244,204"] = [35257] let s:lib.Codec.decoding_table["244,205"] = [35319] let s:lib.Codec.decoding_table["244,206"] = [35680] let s:lib.Codec.decoding_table["244,207"] = [35690] let s:lib.Codec.decoding_table["244,208"] = [35677] let s:lib.Codec.decoding_table["244,209"] = [35688] let s:lib.Codec.decoding_table["244,210"] = [35683] let s:lib.Codec.decoding_table["244,211"] = [35685] let s:lib.Codec.decoding_table["244,212"] = [35687] let s:lib.Codec.decoding_table["244,213"] = [35693] let s:lib.Codec.decoding_table["244,214"] = [36270] let s:lib.Codec.decoding_table["244,215"] = [36486] let s:lib.Codec.decoding_table["244,216"] = [36488] let s:lib.Codec.decoding_table["244,217"] = [36484] let s:lib.Codec.decoding_table["244,218"] = [36697] let s:lib.Codec.decoding_table["244,219"] = [36694] let s:lib.Codec.decoding_table["244,220"] = [36695] let s:lib.Codec.decoding_table["244,221"] = [36693] let s:lib.Codec.decoding_table["244,222"] = [36696] let s:lib.Codec.decoding_table["244,223"] = [36698] let s:lib.Codec.decoding_table["244,224"] = [37005] let s:lib.Codec.decoding_table["244,225"] = [37187] let s:lib.Codec.decoding_table["244,226"] = [37185] let s:lib.Codec.decoding_table["244,227"] = [37303] let s:lib.Codec.decoding_table["244,228"] = [37301] let s:lib.Codec.decoding_table["244,229"] = [37298] let s:lib.Codec.decoding_table["244,230"] = [37299] let s:lib.Codec.decoding_table["244,231"] = [37899] let s:lib.Codec.decoding_table["244,232"] = [37907] let s:lib.Codec.decoding_table["244,233"] = [37883] let s:lib.Codec.decoding_table["244,234"] = [37920] let s:lib.Codec.decoding_table["244,235"] = [37903] let s:lib.Codec.decoding_table["244,236"] = [37908] let s:lib.Codec.decoding_table["244,237"] = [37886] let s:lib.Codec.decoding_table["244,238"] = [37909] let s:lib.Codec.decoding_table["244,239"] = [37904] let s:lib.Codec.decoding_table["244,240"] = [37928] let s:lib.Codec.decoding_table["244,241"] = [37913] let s:lib.Codec.decoding_table["244,242"] = [37901] let s:lib.Codec.decoding_table["244,243"] = [37877] let s:lib.Codec.decoding_table["244,244"] = [37888] let s:lib.Codec.decoding_table["244,245"] = [37879] let s:lib.Codec.decoding_table["244,246"] = [37895] let s:lib.Codec.decoding_table["244,247"] = [37902] let s:lib.Codec.decoding_table["244,248"] = [37910] let s:lib.Codec.decoding_table["244,249"] = [37906] let s:lib.Codec.decoding_table["244,250"] = [37882] let s:lib.Codec.decoding_table["244,251"] = [37897] let s:lib.Codec.decoding_table["244,252"] = [37880] let s:lib.Codec.decoding_table["244,253"] = [37898] let s:lib.Codec.decoding_table["244,254"] = [37887] let s:lib.Codec.decoding_table["245,64"] = [37884] let s:lib.Codec.decoding_table["245,65"] = [37900] let s:lib.Codec.decoding_table["245,66"] = [37878] let s:lib.Codec.decoding_table["245,67"] = [37905] let s:lib.Codec.decoding_table["245,68"] = [37894] let s:lib.Codec.decoding_table["245,69"] = [38366] let s:lib.Codec.decoding_table["245,70"] = [38368] let s:lib.Codec.decoding_table["245,71"] = [38367] let s:lib.Codec.decoding_table["245,72"] = [38702] let s:lib.Codec.decoding_table["245,73"] = [38703] let s:lib.Codec.decoding_table["245,74"] = [38841] let s:lib.Codec.decoding_table["245,75"] = [38843] let s:lib.Codec.decoding_table["245,76"] = [38909] let s:lib.Codec.decoding_table["245,77"] = [38910] let s:lib.Codec.decoding_table["245,78"] = [39008] let s:lib.Codec.decoding_table["245,79"] = [39010] let s:lib.Codec.decoding_table["245,80"] = [39011] let s:lib.Codec.decoding_table["245,81"] = [39007] let s:lib.Codec.decoding_table["245,82"] = [39105] let s:lib.Codec.decoding_table["245,83"] = [39106] let s:lib.Codec.decoding_table["245,84"] = [39248] let s:lib.Codec.decoding_table["245,85"] = [39246] let s:lib.Codec.decoding_table["245,86"] = [39257] let s:lib.Codec.decoding_table["245,87"] = [39244] let s:lib.Codec.decoding_table["245,88"] = [39243] let s:lib.Codec.decoding_table["245,89"] = [39251] let s:lib.Codec.decoding_table["245,90"] = [39474] let s:lib.Codec.decoding_table["245,91"] = [39476] let s:lib.Codec.decoding_table["245,92"] = [39473] let s:lib.Codec.decoding_table["245,93"] = [39468] let s:lib.Codec.decoding_table["245,94"] = [39466] let s:lib.Codec.decoding_table["245,95"] = [39478] let s:lib.Codec.decoding_table["245,96"] = [39465] let s:lib.Codec.decoding_table["245,97"] = [39470] let s:lib.Codec.decoding_table["245,98"] = [39480] let s:lib.Codec.decoding_table["245,99"] = [39469] let s:lib.Codec.decoding_table["245,100"] = [39623] let s:lib.Codec.decoding_table["245,101"] = [39626] let s:lib.Codec.decoding_table["245,102"] = [39622] let s:lib.Codec.decoding_table["245,103"] = [39696] let s:lib.Codec.decoding_table["245,104"] = [39698] let s:lib.Codec.decoding_table["245,105"] = [39697] let s:lib.Codec.decoding_table["245,106"] = [39947] let s:lib.Codec.decoding_table["245,107"] = [39944] let s:lib.Codec.decoding_table["245,108"] = [39927] let s:lib.Codec.decoding_table["245,109"] = [39941] let s:lib.Codec.decoding_table["245,110"] = [39954] let s:lib.Codec.decoding_table["245,111"] = [39928] let s:lib.Codec.decoding_table["245,112"] = [40000] let s:lib.Codec.decoding_table["245,113"] = [39943] let s:lib.Codec.decoding_table["245,114"] = [39950] let s:lib.Codec.decoding_table["245,115"] = [39942] let s:lib.Codec.decoding_table["245,116"] = [39959] let s:lib.Codec.decoding_table["245,117"] = [39956] let s:lib.Codec.decoding_table["245,118"] = [39945] let s:lib.Codec.decoding_table["245,119"] = [40351] let s:lib.Codec.decoding_table["245,120"] = [40345] let s:lib.Codec.decoding_table["245,121"] = [40356] let s:lib.Codec.decoding_table["245,122"] = [40349] let s:lib.Codec.decoding_table["245,123"] = [40338] let s:lib.Codec.decoding_table["245,124"] = [40344] let s:lib.Codec.decoding_table["245,125"] = [40336] let s:lib.Codec.decoding_table["245,126"] = [40347] let s:lib.Codec.decoding_table["245,161"] = [40352] let s:lib.Codec.decoding_table["245,162"] = [40340] let s:lib.Codec.decoding_table["245,163"] = [40348] let s:lib.Codec.decoding_table["245,164"] = [40362] let s:lib.Codec.decoding_table["245,165"] = [40343] let s:lib.Codec.decoding_table["245,166"] = [40353] let s:lib.Codec.decoding_table["245,167"] = [40346] let s:lib.Codec.decoding_table["245,168"] = [40354] let s:lib.Codec.decoding_table["245,169"] = [40360] let s:lib.Codec.decoding_table["245,170"] = [40350] let s:lib.Codec.decoding_table["245,171"] = [40355] let s:lib.Codec.decoding_table["245,172"] = [40383] let s:lib.Codec.decoding_table["245,173"] = [40361] let s:lib.Codec.decoding_table["245,174"] = [40342] let s:lib.Codec.decoding_table["245,175"] = [40358] let s:lib.Codec.decoding_table["245,176"] = [40359] let s:lib.Codec.decoding_table["245,177"] = [40601] let s:lib.Codec.decoding_table["245,178"] = [40603] let s:lib.Codec.decoding_table["245,179"] = [40602] let s:lib.Codec.decoding_table["245,180"] = [40677] let s:lib.Codec.decoding_table["245,181"] = [40676] let s:lib.Codec.decoding_table["245,182"] = [40679] let s:lib.Codec.decoding_table["245,183"] = [40678] let s:lib.Codec.decoding_table["245,184"] = [40752] let s:lib.Codec.decoding_table["245,185"] = [40750] let s:lib.Codec.decoding_table["245,186"] = [40795] let s:lib.Codec.decoding_table["245,187"] = [40800] let s:lib.Codec.decoding_table["245,188"] = [40798] let s:lib.Codec.decoding_table["245,189"] = [40797] let s:lib.Codec.decoding_table["245,190"] = [40793] let s:lib.Codec.decoding_table["245,191"] = [40849] let s:lib.Codec.decoding_table["245,192"] = [20794] let s:lib.Codec.decoding_table["245,193"] = [20793] let s:lib.Codec.decoding_table["245,194"] = [21144] let s:lib.Codec.decoding_table["245,195"] = [21143] let s:lib.Codec.decoding_table["245,196"] = [22211] let s:lib.Codec.decoding_table["245,197"] = [22205] let s:lib.Codec.decoding_table["245,198"] = [22206] let s:lib.Codec.decoding_table["245,199"] = [23368] let s:lib.Codec.decoding_table["245,200"] = [23367] let s:lib.Codec.decoding_table["245,201"] = [24011] let s:lib.Codec.decoding_table["245,202"] = [24015] let s:lib.Codec.decoding_table["245,203"] = [24305] let s:lib.Codec.decoding_table["245,204"] = [25085] let s:lib.Codec.decoding_table["245,205"] = [25883] let s:lib.Codec.decoding_table["245,206"] = [27394] let s:lib.Codec.decoding_table["245,207"] = [27388] let s:lib.Codec.decoding_table["245,208"] = [27395] let s:lib.Codec.decoding_table["245,209"] = [27384] let s:lib.Codec.decoding_table["245,210"] = [27392] let s:lib.Codec.decoding_table["245,211"] = [28739] let s:lib.Codec.decoding_table["245,212"] = [28740] let s:lib.Codec.decoding_table["245,213"] = [28746] let s:lib.Codec.decoding_table["245,214"] = [28744] let s:lib.Codec.decoding_table["245,215"] = [28745] let s:lib.Codec.decoding_table["245,216"] = [28741] let s:lib.Codec.decoding_table["245,217"] = [28742] let s:lib.Codec.decoding_table["245,218"] = [29213] let s:lib.Codec.decoding_table["245,219"] = [29210] let s:lib.Codec.decoding_table["245,220"] = [29209] let s:lib.Codec.decoding_table["245,221"] = [29566] let s:lib.Codec.decoding_table["245,222"] = [29975] let s:lib.Codec.decoding_table["245,223"] = [30314] let s:lib.Codec.decoding_table["245,224"] = [30672] let s:lib.Codec.decoding_table["245,225"] = [31021] let s:lib.Codec.decoding_table["245,226"] = [31025] let s:lib.Codec.decoding_table["245,227"] = [31023] let s:lib.Codec.decoding_table["245,228"] = [31828] let s:lib.Codec.decoding_table["245,229"] = [31827] let s:lib.Codec.decoding_table["245,230"] = [31986] let s:lib.Codec.decoding_table["245,231"] = [32394] let s:lib.Codec.decoding_table["245,232"] = [32391] let s:lib.Codec.decoding_table["245,233"] = [32392] let s:lib.Codec.decoding_table["245,234"] = [32395] let s:lib.Codec.decoding_table["245,235"] = [32390] let s:lib.Codec.decoding_table["245,236"] = [32397] let s:lib.Codec.decoding_table["245,237"] = [32589] let s:lib.Codec.decoding_table["245,238"] = [32699] let s:lib.Codec.decoding_table["245,239"] = [32816] let s:lib.Codec.decoding_table["245,240"] = [33245] let s:lib.Codec.decoding_table["245,241"] = [34328] let s:lib.Codec.decoding_table["245,242"] = [34346] let s:lib.Codec.decoding_table["245,243"] = [34342] let s:lib.Codec.decoding_table["245,244"] = [34335] let s:lib.Codec.decoding_table["245,245"] = [34339] let s:lib.Codec.decoding_table["245,246"] = [34332] let s:lib.Codec.decoding_table["245,247"] = [34329] let s:lib.Codec.decoding_table["245,248"] = [34343] let s:lib.Codec.decoding_table["245,249"] = [34350] let s:lib.Codec.decoding_table["245,250"] = [34337] let s:lib.Codec.decoding_table["245,251"] = [34336] let s:lib.Codec.decoding_table["245,252"] = [34345] let s:lib.Codec.decoding_table["245,253"] = [34334] let s:lib.Codec.decoding_table["245,254"] = [34341] let s:lib.Codec.decoding_table["246,64"] = [34857] let s:lib.Codec.decoding_table["246,65"] = [34845] let s:lib.Codec.decoding_table["246,66"] = [34843] let s:lib.Codec.decoding_table["246,67"] = [34848] let s:lib.Codec.decoding_table["246,68"] = [34852] let s:lib.Codec.decoding_table["246,69"] = [34844] let s:lib.Codec.decoding_table["246,70"] = [34859] let s:lib.Codec.decoding_table["246,71"] = [34890] let s:lib.Codec.decoding_table["246,72"] = [35181] let s:lib.Codec.decoding_table["246,73"] = [35177] let s:lib.Codec.decoding_table["246,74"] = [35182] let s:lib.Codec.decoding_table["246,75"] = [35179] let s:lib.Codec.decoding_table["246,76"] = [35322] let s:lib.Codec.decoding_table["246,77"] = [35705] let s:lib.Codec.decoding_table["246,78"] = [35704] let s:lib.Codec.decoding_table["246,79"] = [35653] let s:lib.Codec.decoding_table["246,80"] = [35706] let s:lib.Codec.decoding_table["246,81"] = [35707] let s:lib.Codec.decoding_table["246,82"] = [36112] let s:lib.Codec.decoding_table["246,83"] = [36116] let s:lib.Codec.decoding_table["246,84"] = [36271] let s:lib.Codec.decoding_table["246,85"] = [36494] let s:lib.Codec.decoding_table["246,86"] = [36492] let s:lib.Codec.decoding_table["246,87"] = [36702] let s:lib.Codec.decoding_table["246,88"] = [36699] let s:lib.Codec.decoding_table["246,89"] = [36701] let s:lib.Codec.decoding_table["246,90"] = [37190] let s:lib.Codec.decoding_table["246,91"] = [37188] let s:lib.Codec.decoding_table["246,92"] = [37189] let s:lib.Codec.decoding_table["246,93"] = [37305] let s:lib.Codec.decoding_table["246,94"] = [37951] let s:lib.Codec.decoding_table["246,95"] = [37947] let s:lib.Codec.decoding_table["246,96"] = [37942] let s:lib.Codec.decoding_table["246,97"] = [37929] let s:lib.Codec.decoding_table["246,98"] = [37949] let s:lib.Codec.decoding_table["246,99"] = [37948] let s:lib.Codec.decoding_table["246,100"] = [37936] let s:lib.Codec.decoding_table["246,101"] = [37945] let s:lib.Codec.decoding_table["246,102"] = [37930] let s:lib.Codec.decoding_table["246,103"] = [37943] let s:lib.Codec.decoding_table["246,104"] = [37932] let s:lib.Codec.decoding_table["246,105"] = [37952] let s:lib.Codec.decoding_table["246,106"] = [37937] let s:lib.Codec.decoding_table["246,107"] = [38373] let s:lib.Codec.decoding_table["246,108"] = [38372] let s:lib.Codec.decoding_table["246,109"] = [38371] let s:lib.Codec.decoding_table["246,110"] = [38709] let s:lib.Codec.decoding_table["246,111"] = [38714] let s:lib.Codec.decoding_table["246,112"] = [38847] let s:lib.Codec.decoding_table["246,113"] = [38881] let s:lib.Codec.decoding_table["246,114"] = [39012] let s:lib.Codec.decoding_table["246,115"] = [39113] let s:lib.Codec.decoding_table["246,116"] = [39110] let s:lib.Codec.decoding_table["246,117"] = [39104] let s:lib.Codec.decoding_table["246,118"] = [39256] let s:lib.Codec.decoding_table["246,119"] = [39254] let s:lib.Codec.decoding_table["246,120"] = [39481] let s:lib.Codec.decoding_table["246,121"] = [39485] let s:lib.Codec.decoding_table["246,122"] = [39494] let s:lib.Codec.decoding_table["246,123"] = [39492] let s:lib.Codec.decoding_table["246,124"] = [39490] let s:lib.Codec.decoding_table["246,125"] = [39489] let s:lib.Codec.decoding_table["246,126"] = [39482] let s:lib.Codec.decoding_table["246,161"] = [39487] let s:lib.Codec.decoding_table["246,162"] = [39629] let s:lib.Codec.decoding_table["246,163"] = [39701] let s:lib.Codec.decoding_table["246,164"] = [39703] let s:lib.Codec.decoding_table["246,165"] = [39704] let s:lib.Codec.decoding_table["246,166"] = [39702] let s:lib.Codec.decoding_table["246,167"] = [39738] let s:lib.Codec.decoding_table["246,168"] = [39762] let s:lib.Codec.decoding_table["246,169"] = [39979] let s:lib.Codec.decoding_table["246,170"] = [39965] let s:lib.Codec.decoding_table["246,171"] = [39964] let s:lib.Codec.decoding_table["246,172"] = [39980] let s:lib.Codec.decoding_table["246,173"] = [39971] let s:lib.Codec.decoding_table["246,174"] = [39976] let s:lib.Codec.decoding_table["246,175"] = [39977] let s:lib.Codec.decoding_table["246,176"] = [39972] let s:lib.Codec.decoding_table["246,177"] = [39969] let s:lib.Codec.decoding_table["246,178"] = [40375] let s:lib.Codec.decoding_table["246,179"] = [40374] let s:lib.Codec.decoding_table["246,180"] = [40380] let s:lib.Codec.decoding_table["246,181"] = [40385] let s:lib.Codec.decoding_table["246,182"] = [40391] let s:lib.Codec.decoding_table["246,183"] = [40394] let s:lib.Codec.decoding_table["246,184"] = [40399] let s:lib.Codec.decoding_table["246,185"] = [40382] let s:lib.Codec.decoding_table["246,186"] = [40389] let s:lib.Codec.decoding_table["246,187"] = [40387] let s:lib.Codec.decoding_table["246,188"] = [40379] let s:lib.Codec.decoding_table["246,189"] = [40373] let s:lib.Codec.decoding_table["246,190"] = [40398] let s:lib.Codec.decoding_table["246,191"] = [40377] let s:lib.Codec.decoding_table["246,192"] = [40378] let s:lib.Codec.decoding_table["246,193"] = [40364] let s:lib.Codec.decoding_table["246,194"] = [40392] let s:lib.Codec.decoding_table["246,195"] = [40369] let s:lib.Codec.decoding_table["246,196"] = [40365] let s:lib.Codec.decoding_table["246,197"] = [40396] let s:lib.Codec.decoding_table["246,198"] = [40371] let s:lib.Codec.decoding_table["246,199"] = [40397] let s:lib.Codec.decoding_table["246,200"] = [40370] let s:lib.Codec.decoding_table["246,201"] = [40570] let s:lib.Codec.decoding_table["246,202"] = [40604] let s:lib.Codec.decoding_table["246,203"] = [40683] let s:lib.Codec.decoding_table["246,204"] = [40686] let s:lib.Codec.decoding_table["246,205"] = [40685] let s:lib.Codec.decoding_table["246,206"] = [40731] let s:lib.Codec.decoding_table["246,207"] = [40728] let s:lib.Codec.decoding_table["246,208"] = [40730] let s:lib.Codec.decoding_table["246,209"] = [40753] let s:lib.Codec.decoding_table["246,210"] = [40782] let s:lib.Codec.decoding_table["246,211"] = [40805] let s:lib.Codec.decoding_table["246,212"] = [40804] let s:lib.Codec.decoding_table["246,213"] = [40850] let s:lib.Codec.decoding_table["246,214"] = [20153] let s:lib.Codec.decoding_table["246,215"] = [22214] let s:lib.Codec.decoding_table["246,216"] = [22213] let s:lib.Codec.decoding_table["246,217"] = [22219] let s:lib.Codec.decoding_table["246,218"] = [22897] let s:lib.Codec.decoding_table["246,219"] = [23371] let s:lib.Codec.decoding_table["246,220"] = [23372] let s:lib.Codec.decoding_table["246,221"] = [24021] let s:lib.Codec.decoding_table["246,222"] = [24017] let s:lib.Codec.decoding_table["246,223"] = [24306] let s:lib.Codec.decoding_table["246,224"] = [25889] let s:lib.Codec.decoding_table["246,225"] = [25888] let s:lib.Codec.decoding_table["246,226"] = [25894] let s:lib.Codec.decoding_table["246,227"] = [25890] let s:lib.Codec.decoding_table["246,228"] = [27403] let s:lib.Codec.decoding_table["246,229"] = [27400] let s:lib.Codec.decoding_table["246,230"] = [27401] let s:lib.Codec.decoding_table["246,231"] = [27661] let s:lib.Codec.decoding_table["246,232"] = [28757] let s:lib.Codec.decoding_table["246,233"] = [28758] let s:lib.Codec.decoding_table["246,234"] = [28759] let s:lib.Codec.decoding_table["246,235"] = [28754] let s:lib.Codec.decoding_table["246,236"] = [29214] let s:lib.Codec.decoding_table["246,237"] = [29215] let s:lib.Codec.decoding_table["246,238"] = [29353] let s:lib.Codec.decoding_table["246,239"] = [29567] let s:lib.Codec.decoding_table["246,240"] = [29912] let s:lib.Codec.decoding_table["246,241"] = [29909] let s:lib.Codec.decoding_table["246,242"] = [29913] let s:lib.Codec.decoding_table["246,243"] = [29911] let s:lib.Codec.decoding_table["246,244"] = [30317] let s:lib.Codec.decoding_table["246,245"] = [30381] let s:lib.Codec.decoding_table["246,246"] = [31029] let s:lib.Codec.decoding_table["246,247"] = [31156] let s:lib.Codec.decoding_table["246,248"] = [31344] let s:lib.Codec.decoding_table["246,249"] = [31345] let s:lib.Codec.decoding_table["246,250"] = [31831] let s:lib.Codec.decoding_table["246,251"] = [31836] let s:lib.Codec.decoding_table["246,252"] = [31833] let s:lib.Codec.decoding_table["246,253"] = [31835] let s:lib.Codec.decoding_table["246,254"] = [31834] let s:lib.Codec.decoding_table["247,64"] = [31988] let s:lib.Codec.decoding_table["247,65"] = [31985] let s:lib.Codec.decoding_table["247,66"] = [32401] let s:lib.Codec.decoding_table["247,67"] = [32591] let s:lib.Codec.decoding_table["247,68"] = [32647] let s:lib.Codec.decoding_table["247,69"] = [33246] let s:lib.Codec.decoding_table["247,70"] = [33387] let s:lib.Codec.decoding_table["247,71"] = [34356] let s:lib.Codec.decoding_table["247,72"] = [34357] let s:lib.Codec.decoding_table["247,73"] = [34355] let s:lib.Codec.decoding_table["247,74"] = [34348] let s:lib.Codec.decoding_table["247,75"] = [34354] let s:lib.Codec.decoding_table["247,76"] = [34358] let s:lib.Codec.decoding_table["247,77"] = [34860] let s:lib.Codec.decoding_table["247,78"] = [34856] let s:lib.Codec.decoding_table["247,79"] = [34854] let s:lib.Codec.decoding_table["247,80"] = [34858] let s:lib.Codec.decoding_table["247,81"] = [34853] let s:lib.Codec.decoding_table["247,82"] = [35185] let s:lib.Codec.decoding_table["247,83"] = [35263] let s:lib.Codec.decoding_table["247,84"] = [35262] let s:lib.Codec.decoding_table["247,85"] = [35323] let s:lib.Codec.decoding_table["247,86"] = [35710] let s:lib.Codec.decoding_table["247,87"] = [35716] let s:lib.Codec.decoding_table["247,88"] = [35714] let s:lib.Codec.decoding_table["247,89"] = [35718] let s:lib.Codec.decoding_table["247,90"] = [35717] let s:lib.Codec.decoding_table["247,91"] = [35711] let s:lib.Codec.decoding_table["247,92"] = [36117] let s:lib.Codec.decoding_table["247,93"] = [36501] let s:lib.Codec.decoding_table["247,94"] = [36500] let s:lib.Codec.decoding_table["247,95"] = [36506] let s:lib.Codec.decoding_table["247,96"] = [36498] let s:lib.Codec.decoding_table["247,97"] = [36496] let s:lib.Codec.decoding_table["247,98"] = [36502] let s:lib.Codec.decoding_table["247,99"] = [36503] let s:lib.Codec.decoding_table["247,100"] = [36704] let s:lib.Codec.decoding_table["247,101"] = [36706] let s:lib.Codec.decoding_table["247,102"] = [37191] let s:lib.Codec.decoding_table["247,103"] = [37964] let s:lib.Codec.decoding_table["247,104"] = [37968] let s:lib.Codec.decoding_table["247,105"] = [37962] let s:lib.Codec.decoding_table["247,106"] = [37963] let s:lib.Codec.decoding_table["247,107"] = [37967] let s:lib.Codec.decoding_table["247,108"] = [37959] let s:lib.Codec.decoding_table["247,109"] = [37957] let s:lib.Codec.decoding_table["247,110"] = [37960] let s:lib.Codec.decoding_table["247,111"] = [37961] let s:lib.Codec.decoding_table["247,112"] = [37958] let s:lib.Codec.decoding_table["247,113"] = [38719] let s:lib.Codec.decoding_table["247,114"] = [38883] let s:lib.Codec.decoding_table["247,115"] = [39018] let s:lib.Codec.decoding_table["247,116"] = [39017] let s:lib.Codec.decoding_table["247,117"] = [39115] let s:lib.Codec.decoding_table["247,118"] = [39252] let s:lib.Codec.decoding_table["247,119"] = [39259] let s:lib.Codec.decoding_table["247,120"] = [39502] let s:lib.Codec.decoding_table["247,121"] = [39507] let s:lib.Codec.decoding_table["247,122"] = [39508] let s:lib.Codec.decoding_table["247,123"] = [39500] let s:lib.Codec.decoding_table["247,124"] = [39503] let s:lib.Codec.decoding_table["247,125"] = [39496] let s:lib.Codec.decoding_table["247,126"] = [39498] let s:lib.Codec.decoding_table["247,161"] = [39497] let s:lib.Codec.decoding_table["247,162"] = [39506] let s:lib.Codec.decoding_table["247,163"] = [39504] let s:lib.Codec.decoding_table["247,164"] = [39632] let s:lib.Codec.decoding_table["247,165"] = [39705] let s:lib.Codec.decoding_table["247,166"] = [39723] let s:lib.Codec.decoding_table["247,167"] = [39739] let s:lib.Codec.decoding_table["247,168"] = [39766] let s:lib.Codec.decoding_table["247,169"] = [39765] let s:lib.Codec.decoding_table["247,170"] = [40006] let s:lib.Codec.decoding_table["247,171"] = [40008] let s:lib.Codec.decoding_table["247,172"] = [39999] let s:lib.Codec.decoding_table["247,173"] = [40004] let s:lib.Codec.decoding_table["247,174"] = [39993] let s:lib.Codec.decoding_table["247,175"] = [39987] let s:lib.Codec.decoding_table["247,176"] = [40001] let s:lib.Codec.decoding_table["247,177"] = [39996] let s:lib.Codec.decoding_table["247,178"] = [39991] let s:lib.Codec.decoding_table["247,179"] = [39988] let s:lib.Codec.decoding_table["247,180"] = [39986] let s:lib.Codec.decoding_table["247,181"] = [39997] let s:lib.Codec.decoding_table["247,182"] = [39990] let s:lib.Codec.decoding_table["247,183"] = [40411] let s:lib.Codec.decoding_table["247,184"] = [40402] let s:lib.Codec.decoding_table["247,185"] = [40414] let s:lib.Codec.decoding_table["247,186"] = [40410] let s:lib.Codec.decoding_table["247,187"] = [40395] let s:lib.Codec.decoding_table["247,188"] = [40400] let s:lib.Codec.decoding_table["247,189"] = [40412] let s:lib.Codec.decoding_table["247,190"] = [40401] let s:lib.Codec.decoding_table["247,191"] = [40415] let s:lib.Codec.decoding_table["247,192"] = [40425] let s:lib.Codec.decoding_table["247,193"] = [40409] let s:lib.Codec.decoding_table["247,194"] = [40408] let s:lib.Codec.decoding_table["247,195"] = [40406] let s:lib.Codec.decoding_table["247,196"] = [40437] let s:lib.Codec.decoding_table["247,197"] = [40405] let s:lib.Codec.decoding_table["247,198"] = [40413] let s:lib.Codec.decoding_table["247,199"] = [40630] let s:lib.Codec.decoding_table["247,200"] = [40688] let s:lib.Codec.decoding_table["247,201"] = [40757] let s:lib.Codec.decoding_table["247,202"] = [40755] let s:lib.Codec.decoding_table["247,203"] = [40754] let s:lib.Codec.decoding_table["247,204"] = [40770] let s:lib.Codec.decoding_table["247,205"] = [40811] let s:lib.Codec.decoding_table["247,206"] = [40853] let s:lib.Codec.decoding_table["247,207"] = [40866] let s:lib.Codec.decoding_table["247,208"] = [20797] let s:lib.Codec.decoding_table["247,209"] = [21145] let s:lib.Codec.decoding_table["247,210"] = [22760] let s:lib.Codec.decoding_table["247,211"] = [22759] let s:lib.Codec.decoding_table["247,212"] = [22898] let s:lib.Codec.decoding_table["247,213"] = [23373] let s:lib.Codec.decoding_table["247,214"] = [24024] let s:lib.Codec.decoding_table["247,215"] = [34863] let s:lib.Codec.decoding_table["247,216"] = [24399] let s:lib.Codec.decoding_table["247,217"] = [25089] let s:lib.Codec.decoding_table["247,218"] = [25091] let s:lib.Codec.decoding_table["247,219"] = [25092] let s:lib.Codec.decoding_table["247,220"] = [25897] let s:lib.Codec.decoding_table["247,221"] = [25893] let s:lib.Codec.decoding_table["247,222"] = [26006] let s:lib.Codec.decoding_table["247,223"] = [26347] let s:lib.Codec.decoding_table["247,224"] = [27409] let s:lib.Codec.decoding_table["247,225"] = [27410] let s:lib.Codec.decoding_table["247,226"] = [27407] let s:lib.Codec.decoding_table["247,227"] = [27594] let s:lib.Codec.decoding_table["247,228"] = [28763] let s:lib.Codec.decoding_table["247,229"] = [28762] let s:lib.Codec.decoding_table["247,230"] = [29218] let s:lib.Codec.decoding_table["247,231"] = [29570] let s:lib.Codec.decoding_table["247,232"] = [29569] let s:lib.Codec.decoding_table["247,233"] = [29571] let s:lib.Codec.decoding_table["247,234"] = [30320] let s:lib.Codec.decoding_table["247,235"] = [30676] let s:lib.Codec.decoding_table["247,236"] = [31847] let s:lib.Codec.decoding_table["247,237"] = [31846] let s:lib.Codec.decoding_table["247,238"] = [32405] let s:lib.Codec.decoding_table["247,239"] = [33388] let s:lib.Codec.decoding_table["247,240"] = [34362] let s:lib.Codec.decoding_table["247,241"] = [34368] let s:lib.Codec.decoding_table["247,242"] = [34361] let s:lib.Codec.decoding_table["247,243"] = [34364] let s:lib.Codec.decoding_table["247,244"] = [34353] let s:lib.Codec.decoding_table["247,245"] = [34363] let s:lib.Codec.decoding_table["247,246"] = [34366] let s:lib.Codec.decoding_table["247,247"] = [34864] let s:lib.Codec.decoding_table["247,248"] = [34866] let s:lib.Codec.decoding_table["247,249"] = [34862] let s:lib.Codec.decoding_table["247,250"] = [34867] let s:lib.Codec.decoding_table["247,251"] = [35190] let s:lib.Codec.decoding_table["247,252"] = [35188] let s:lib.Codec.decoding_table["247,253"] = [35187] let s:lib.Codec.decoding_table["247,254"] = [35326] let s:lib.Codec.decoding_table["248,64"] = [35724] let s:lib.Codec.decoding_table["248,65"] = [35726] let s:lib.Codec.decoding_table["248,66"] = [35723] let s:lib.Codec.decoding_table["248,67"] = [35720] let s:lib.Codec.decoding_table["248,68"] = [35909] let s:lib.Codec.decoding_table["248,69"] = [36121] let s:lib.Codec.decoding_table["248,70"] = [36504] let s:lib.Codec.decoding_table["248,71"] = [36708] let s:lib.Codec.decoding_table["248,72"] = [36707] let s:lib.Codec.decoding_table["248,73"] = [37308] let s:lib.Codec.decoding_table["248,74"] = [37986] let s:lib.Codec.decoding_table["248,75"] = [37973] let s:lib.Codec.decoding_table["248,76"] = [37981] let s:lib.Codec.decoding_table["248,77"] = [37975] let s:lib.Codec.decoding_table["248,78"] = [37982] let s:lib.Codec.decoding_table["248,79"] = [38852] let s:lib.Codec.decoding_table["248,80"] = [38853] let s:lib.Codec.decoding_table["248,81"] = [38912] let s:lib.Codec.decoding_table["248,82"] = [39510] let s:lib.Codec.decoding_table["248,83"] = [39513] let s:lib.Codec.decoding_table["248,84"] = [39710] let s:lib.Codec.decoding_table["248,85"] = [39711] let s:lib.Codec.decoding_table["248,86"] = [39712] let s:lib.Codec.decoding_table["248,87"] = [40018] let s:lib.Codec.decoding_table["248,88"] = [40024] let s:lib.Codec.decoding_table["248,89"] = [40016] let s:lib.Codec.decoding_table["248,90"] = [40010] let s:lib.Codec.decoding_table["248,91"] = [40013] let s:lib.Codec.decoding_table["248,92"] = [40011] let s:lib.Codec.decoding_table["248,93"] = [40021] let s:lib.Codec.decoding_table["248,94"] = [40025] let s:lib.Codec.decoding_table["248,95"] = [40012] let s:lib.Codec.decoding_table["248,96"] = [40014] let s:lib.Codec.decoding_table["248,97"] = [40443] let s:lib.Codec.decoding_table["248,98"] = [40439] let s:lib.Codec.decoding_table["248,99"] = [40431] let s:lib.Codec.decoding_table["248,100"] = [40419] let s:lib.Codec.decoding_table["248,101"] = [40427] let s:lib.Codec.decoding_table["248,102"] = [40440] let s:lib.Codec.decoding_table["248,103"] = [40420] let s:lib.Codec.decoding_table["248,104"] = [40438] let s:lib.Codec.decoding_table["248,105"] = [40417] let s:lib.Codec.decoding_table["248,106"] = [40430] let s:lib.Codec.decoding_table["248,107"] = [40422] let s:lib.Codec.decoding_table["248,108"] = [40434] let s:lib.Codec.decoding_table["248,109"] = [40432] let s:lib.Codec.decoding_table["248,110"] = [40418] let s:lib.Codec.decoding_table["248,111"] = [40428] let s:lib.Codec.decoding_table["248,112"] = [40436] let s:lib.Codec.decoding_table["248,113"] = [40435] let s:lib.Codec.decoding_table["248,114"] = [40424] let s:lib.Codec.decoding_table["248,115"] = [40429] let s:lib.Codec.decoding_table["248,116"] = [40642] let s:lib.Codec.decoding_table["248,117"] = [40656] let s:lib.Codec.decoding_table["248,118"] = [40690] let s:lib.Codec.decoding_table["248,119"] = [40691] let s:lib.Codec.decoding_table["248,120"] = [40710] let s:lib.Codec.decoding_table["248,121"] = [40732] let s:lib.Codec.decoding_table["248,122"] = [40760] let s:lib.Codec.decoding_table["248,123"] = [40759] let s:lib.Codec.decoding_table["248,124"] = [40758] let s:lib.Codec.decoding_table["248,125"] = [40771] let s:lib.Codec.decoding_table["248,126"] = [40783] let s:lib.Codec.decoding_table["248,161"] = [40817] let s:lib.Codec.decoding_table["248,162"] = [40816] let s:lib.Codec.decoding_table["248,163"] = [40814] let s:lib.Codec.decoding_table["248,164"] = [40815] let s:lib.Codec.decoding_table["248,165"] = [22227] let s:lib.Codec.decoding_table["248,166"] = [22221] let s:lib.Codec.decoding_table["248,167"] = [23374] let s:lib.Codec.decoding_table["248,168"] = [23661] let s:lib.Codec.decoding_table["248,169"] = [25901] let s:lib.Codec.decoding_table["248,170"] = [26349] let s:lib.Codec.decoding_table["248,171"] = [26350] let s:lib.Codec.decoding_table["248,172"] = [27411] let s:lib.Codec.decoding_table["248,173"] = [28767] let s:lib.Codec.decoding_table["248,174"] = [28769] let s:lib.Codec.decoding_table["248,175"] = [28765] let s:lib.Codec.decoding_table["248,176"] = [28768] let s:lib.Codec.decoding_table["248,177"] = [29219] let s:lib.Codec.decoding_table["248,178"] = [29915] let s:lib.Codec.decoding_table["248,179"] = [29925] let s:lib.Codec.decoding_table["248,180"] = [30677] let s:lib.Codec.decoding_table["248,181"] = [31032] let s:lib.Codec.decoding_table["248,182"] = [31159] let s:lib.Codec.decoding_table["248,183"] = [31158] let s:lib.Codec.decoding_table["248,184"] = [31850] let s:lib.Codec.decoding_table["248,185"] = [32407] let s:lib.Codec.decoding_table["248,186"] = [32649] let s:lib.Codec.decoding_table["248,187"] = [33389] let s:lib.Codec.decoding_table["248,188"] = [34371] let s:lib.Codec.decoding_table["248,189"] = [34872] let s:lib.Codec.decoding_table["248,190"] = [34871] let s:lib.Codec.decoding_table["248,191"] = [34869] let s:lib.Codec.decoding_table["248,192"] = [34891] let s:lib.Codec.decoding_table["248,193"] = [35732] let s:lib.Codec.decoding_table["248,194"] = [35733] let s:lib.Codec.decoding_table["248,195"] = [36510] let s:lib.Codec.decoding_table["248,196"] = [36511] let s:lib.Codec.decoding_table["248,197"] = [36512] let s:lib.Codec.decoding_table["248,198"] = [36509] let s:lib.Codec.decoding_table["248,199"] = [37310] let s:lib.Codec.decoding_table["248,200"] = [37309] let s:lib.Codec.decoding_table["248,201"] = [37314] let s:lib.Codec.decoding_table["248,202"] = [37995] let s:lib.Codec.decoding_table["248,203"] = [37992] let s:lib.Codec.decoding_table["248,204"] = [37993] let s:lib.Codec.decoding_table["248,205"] = [38629] let s:lib.Codec.decoding_table["248,206"] = [38726] let s:lib.Codec.decoding_table["248,207"] = [38723] let s:lib.Codec.decoding_table["248,208"] = [38727] let s:lib.Codec.decoding_table["248,209"] = [38855] let s:lib.Codec.decoding_table["248,210"] = [38885] let s:lib.Codec.decoding_table["248,211"] = [39518] let s:lib.Codec.decoding_table["248,212"] = [39637] let s:lib.Codec.decoding_table["248,213"] = [39769] let s:lib.Codec.decoding_table["248,214"] = [40035] let s:lib.Codec.decoding_table["248,215"] = [40039] let s:lib.Codec.decoding_table["248,216"] = [40038] let s:lib.Codec.decoding_table["248,217"] = [40034] let s:lib.Codec.decoding_table["248,218"] = [40030] let s:lib.Codec.decoding_table["248,219"] = [40032] let s:lib.Codec.decoding_table["248,220"] = [40450] let s:lib.Codec.decoding_table["248,221"] = [40446] let s:lib.Codec.decoding_table["248,222"] = [40455] let s:lib.Codec.decoding_table["248,223"] = [40451] let s:lib.Codec.decoding_table["248,224"] = [40454] let s:lib.Codec.decoding_table["248,225"] = [40453] let s:lib.Codec.decoding_table["248,226"] = [40448] let s:lib.Codec.decoding_table["248,227"] = [40449] let s:lib.Codec.decoding_table["248,228"] = [40457] let s:lib.Codec.decoding_table["248,229"] = [40447] let s:lib.Codec.decoding_table["248,230"] = [40445] let s:lib.Codec.decoding_table["248,231"] = [40452] let s:lib.Codec.decoding_table["248,232"] = [40608] let s:lib.Codec.decoding_table["248,233"] = [40734] let s:lib.Codec.decoding_table["248,234"] = [40774] let s:lib.Codec.decoding_table["248,235"] = [40820] let s:lib.Codec.decoding_table["248,236"] = [40821] let s:lib.Codec.decoding_table["248,237"] = [40822] let s:lib.Codec.decoding_table["248,238"] = [22228] let s:lib.Codec.decoding_table["248,239"] = [25902] let s:lib.Codec.decoding_table["248,240"] = [26040] let s:lib.Codec.decoding_table["248,241"] = [27416] let s:lib.Codec.decoding_table["248,242"] = [27417] let s:lib.Codec.decoding_table["248,243"] = [27415] let s:lib.Codec.decoding_table["248,244"] = [27418] let s:lib.Codec.decoding_table["248,245"] = [28770] let s:lib.Codec.decoding_table["248,246"] = [29222] let s:lib.Codec.decoding_table["248,247"] = [29354] let s:lib.Codec.decoding_table["248,248"] = [30680] let s:lib.Codec.decoding_table["248,249"] = [30681] let s:lib.Codec.decoding_table["248,250"] = [31033] let s:lib.Codec.decoding_table["248,251"] = [31849] let s:lib.Codec.decoding_table["248,252"] = [31851] let s:lib.Codec.decoding_table["248,253"] = [31990] let s:lib.Codec.decoding_table["248,254"] = [32410] let s:lib.Codec.decoding_table["249,64"] = [32408] let s:lib.Codec.decoding_table["249,65"] = [32411] let s:lib.Codec.decoding_table["249,66"] = [32409] let s:lib.Codec.decoding_table["249,67"] = [33248] let s:lib.Codec.decoding_table["249,68"] = [33249] let s:lib.Codec.decoding_table["249,69"] = [34374] let s:lib.Codec.decoding_table["249,70"] = [34375] let s:lib.Codec.decoding_table["249,71"] = [34376] let s:lib.Codec.decoding_table["249,72"] = [35193] let s:lib.Codec.decoding_table["249,73"] = [35194] let s:lib.Codec.decoding_table["249,74"] = [35196] let s:lib.Codec.decoding_table["249,75"] = [35195] let s:lib.Codec.decoding_table["249,76"] = [35327] let s:lib.Codec.decoding_table["249,77"] = [35736] let s:lib.Codec.decoding_table["249,78"] = [35737] let s:lib.Codec.decoding_table["249,79"] = [36517] let s:lib.Codec.decoding_table["249,80"] = [36516] let s:lib.Codec.decoding_table["249,81"] = [36515] let s:lib.Codec.decoding_table["249,82"] = [37998] let s:lib.Codec.decoding_table["249,83"] = [37997] let s:lib.Codec.decoding_table["249,84"] = [37999] let s:lib.Codec.decoding_table["249,85"] = [38001] let s:lib.Codec.decoding_table["249,86"] = [38003] let s:lib.Codec.decoding_table["249,87"] = [38729] let s:lib.Codec.decoding_table["249,88"] = [39026] let s:lib.Codec.decoding_table["249,89"] = [39263] let s:lib.Codec.decoding_table["249,90"] = [40040] let s:lib.Codec.decoding_table["249,91"] = [40046] let s:lib.Codec.decoding_table["249,92"] = [40045] let s:lib.Codec.decoding_table["249,93"] = [40459] let s:lib.Codec.decoding_table["249,94"] = [40461] let s:lib.Codec.decoding_table["249,95"] = [40464] let s:lib.Codec.decoding_table["249,96"] = [40463] let s:lib.Codec.decoding_table["249,97"] = [40466] let s:lib.Codec.decoding_table["249,98"] = [40465] let s:lib.Codec.decoding_table["249,99"] = [40609] let s:lib.Codec.decoding_table["249,100"] = [40693] let s:lib.Codec.decoding_table["249,101"] = [40713] let s:lib.Codec.decoding_table["249,102"] = [40775] let s:lib.Codec.decoding_table["249,103"] = [40824] let s:lib.Codec.decoding_table["249,104"] = [40827] let s:lib.Codec.decoding_table["249,105"] = [40826] let s:lib.Codec.decoding_table["249,106"] = [40825] let s:lib.Codec.decoding_table["249,107"] = [22302] let s:lib.Codec.decoding_table["249,108"] = [28774] let s:lib.Codec.decoding_table["249,109"] = [31855] let s:lib.Codec.decoding_table["249,110"] = [34876] let s:lib.Codec.decoding_table["249,111"] = [36274] let s:lib.Codec.decoding_table["249,112"] = [36518] let s:lib.Codec.decoding_table["249,113"] = [37315] let s:lib.Codec.decoding_table["249,114"] = [38004] let s:lib.Codec.decoding_table["249,115"] = [38008] let s:lib.Codec.decoding_table["249,116"] = [38006] let s:lib.Codec.decoding_table["249,117"] = [38005] let s:lib.Codec.decoding_table["249,118"] = [39520] let s:lib.Codec.decoding_table["249,119"] = [40052] let s:lib.Codec.decoding_table["249,120"] = [40051] let s:lib.Codec.decoding_table["249,121"] = [40049] let s:lib.Codec.decoding_table["249,122"] = [40053] let s:lib.Codec.decoding_table["249,123"] = [40468] let s:lib.Codec.decoding_table["249,124"] = [40467] let s:lib.Codec.decoding_table["249,125"] = [40694] let s:lib.Codec.decoding_table["249,126"] = [40714] let s:lib.Codec.decoding_table["249,161"] = [40868] let s:lib.Codec.decoding_table["249,162"] = [28776] let s:lib.Codec.decoding_table["249,163"] = [28773] let s:lib.Codec.decoding_table["249,164"] = [31991] let s:lib.Codec.decoding_table["249,165"] = [34410] let s:lib.Codec.decoding_table["249,166"] = [34878] let s:lib.Codec.decoding_table["249,167"] = [34877] let s:lib.Codec.decoding_table["249,168"] = [34879] let s:lib.Codec.decoding_table["249,169"] = [35742] let s:lib.Codec.decoding_table["249,170"] = [35996] let s:lib.Codec.decoding_table["249,171"] = [36521] let s:lib.Codec.decoding_table["249,172"] = [36553] let s:lib.Codec.decoding_table["249,173"] = [38731] let s:lib.Codec.decoding_table["249,174"] = [39027] let s:lib.Codec.decoding_table["249,175"] = [39028] let s:lib.Codec.decoding_table["249,176"] = [39116] let s:lib.Codec.decoding_table["249,177"] = [39265] let s:lib.Codec.decoding_table["249,178"] = [39339] let s:lib.Codec.decoding_table["249,179"] = [39524] let s:lib.Codec.decoding_table["249,180"] = [39526] let s:lib.Codec.decoding_table["249,181"] = [39527] let s:lib.Codec.decoding_table["249,182"] = [39716] let s:lib.Codec.decoding_table["249,183"] = [40469] let s:lib.Codec.decoding_table["249,184"] = [40471] let s:lib.Codec.decoding_table["249,185"] = [40776] let s:lib.Codec.decoding_table["249,186"] = [25095] let s:lib.Codec.decoding_table["249,187"] = [27422] let s:lib.Codec.decoding_table["249,188"] = [29223] let s:lib.Codec.decoding_table["249,189"] = [34380] let s:lib.Codec.decoding_table["249,190"] = [36520] let s:lib.Codec.decoding_table["249,191"] = [38018] let s:lib.Codec.decoding_table["249,192"] = [38016] let s:lib.Codec.decoding_table["249,193"] = [38017] let s:lib.Codec.decoding_table["249,194"] = [39529] let s:lib.Codec.decoding_table["249,195"] = [39528] let s:lib.Codec.decoding_table["249,196"] = [39726] let s:lib.Codec.decoding_table["249,197"] = [40473] let s:lib.Codec.decoding_table["249,198"] = [29225] let s:lib.Codec.decoding_table["249,199"] = [34379] let s:lib.Codec.decoding_table["249,200"] = [35743] let s:lib.Codec.decoding_table["249,201"] = [38019] let s:lib.Codec.decoding_table["249,202"] = [40057] let s:lib.Codec.decoding_table["249,203"] = [40631] let s:lib.Codec.decoding_table["249,204"] = [30325] let s:lib.Codec.decoding_table["249,205"] = [39531] let s:lib.Codec.decoding_table["249,206"] = [40058] let s:lib.Codec.decoding_table["249,207"] = [40477] let s:lib.Codec.decoding_table["249,208"] = [28777] let s:lib.Codec.decoding_table["249,209"] = [28778] let s:lib.Codec.decoding_table["249,210"] = [40612] let s:lib.Codec.decoding_table["249,211"] = [40830] let s:lib.Codec.decoding_table["249,212"] = [40777] let s:lib.Codec.decoding_table["249,213"] = [40856] let s:lib.Codec.decoding_table["249,214"] = [30849] let s:lib.Codec.decoding_table["249,215"] = [37561] let s:lib.Codec.decoding_table["249,216"] = [35023] let s:lib.Codec.decoding_table["249,217"] = [22715] let s:lib.Codec.decoding_table["249,218"] = [24658] let s:lib.Codec.decoding_table["249,219"] = [31911] let s:lib.Codec.decoding_table["249,220"] = [23290] let s:lib.Codec.decoding_table["249,221"] = [9556] let s:lib.Codec.decoding_table["249,222"] = [9574] let s:lib.Codec.decoding_table["249,223"] = [9559] let s:lib.Codec.decoding_table["249,224"] = [9568] let s:lib.Codec.decoding_table["249,225"] = [9580] let s:lib.Codec.decoding_table["249,226"] = [9571] let s:lib.Codec.decoding_table["249,227"] = [9562] let s:lib.Codec.decoding_table["249,228"] = [9577] let s:lib.Codec.decoding_table["249,229"] = [9565] let s:lib.Codec.decoding_table["249,230"] = [9554] let s:lib.Codec.decoding_table["249,231"] = [9572] let s:lib.Codec.decoding_table["249,232"] = [9557] let s:lib.Codec.decoding_table["249,233"] = [9566] let s:lib.Codec.decoding_table["249,234"] = [9578] let s:lib.Codec.decoding_table["249,235"] = [9569] let s:lib.Codec.decoding_table["249,236"] = [9560] let s:lib.Codec.decoding_table["249,237"] = [9575] let s:lib.Codec.decoding_table["249,238"] = [9563] let s:lib.Codec.decoding_table["249,239"] = [9555] let s:lib.Codec.decoding_table["249,240"] = [9573] let s:lib.Codec.decoding_table["249,241"] = [9558] let s:lib.Codec.decoding_table["249,242"] = [9567] let s:lib.Codec.decoding_table["249,243"] = [9579] let s:lib.Codec.decoding_table["249,244"] = [9570] let s:lib.Codec.decoding_table["249,245"] = [9561] let s:lib.Codec.decoding_table["249,246"] = [9576] let s:lib.Codec.decoding_table["249,247"] = [9564] let s:lib.Codec.decoding_table["249,248"] = [9553] let s:lib.Codec.decoding_table["249,249"] = [9552] let s:lib.Codec.decoding_table["249,250"] = [9581] let s:lib.Codec.decoding_table["249,251"] = [9582] let s:lib.Codec.decoding_table["249,252"] = [9584] let s:lib.Codec.decoding_table["249,253"] = [9583] let s:lib.Codec.decoding_table["249,254"] = [9619] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table["0"] = [0] let s:lib.Codec.encoding_table["1"] = [1] let s:lib.Codec.encoding_table["2"] = [2] let s:lib.Codec.encoding_table["3"] = [3] let s:lib.Codec.encoding_table["4"] = [4] let s:lib.Codec.encoding_table["5"] = [5] let s:lib.Codec.encoding_table["6"] = [6] let s:lib.Codec.encoding_table["7"] = [7] let s:lib.Codec.encoding_table["8"] = [8] let s:lib.Codec.encoding_table["9"] = [9] let s:lib.Codec.encoding_table["10"] = [10] let s:lib.Codec.encoding_table["11"] = [11] let s:lib.Codec.encoding_table["12"] = [12] let s:lib.Codec.encoding_table["13"] = [13] let s:lib.Codec.encoding_table["14"] = [14] let s:lib.Codec.encoding_table["15"] = [15] let s:lib.Codec.encoding_table["16"] = [16] let s:lib.Codec.encoding_table["17"] = [17] let s:lib.Codec.encoding_table["18"] = [18] let s:lib.Codec.encoding_table["19"] = [19] let s:lib.Codec.encoding_table["20"] = [20] let s:lib.Codec.encoding_table["21"] = [21] let s:lib.Codec.encoding_table["22"] = [22] let s:lib.Codec.encoding_table["23"] = [23] let s:lib.Codec.encoding_table["24"] = [24] let s:lib.Codec.encoding_table["25"] = [25] let s:lib.Codec.encoding_table["26"] = [26] let s:lib.Codec.encoding_table["27"] = [27] let s:lib.Codec.encoding_table["28"] = [28] let s:lib.Codec.encoding_table["29"] = [29] let s:lib.Codec.encoding_table["30"] = [30] let s:lib.Codec.encoding_table["31"] = [31] let s:lib.Codec.encoding_table["32"] = [32] let s:lib.Codec.encoding_table["33"] = [33] let s:lib.Codec.encoding_table["34"] = [34] let s:lib.Codec.encoding_table["35"] = [35] let s:lib.Codec.encoding_table["36"] = [36] let s:lib.Codec.encoding_table["37"] = [37] let s:lib.Codec.encoding_table["38"] = [38] let s:lib.Codec.encoding_table["39"] = [39] let s:lib.Codec.encoding_table["40"] = [40] let s:lib.Codec.encoding_table["41"] = [41] let s:lib.Codec.encoding_table["42"] = [42] let s:lib.Codec.encoding_table["43"] = [43] let s:lib.Codec.encoding_table["44"] = [44] let s:lib.Codec.encoding_table["45"] = [45] let s:lib.Codec.encoding_table["46"] = [46] let s:lib.Codec.encoding_table["47"] = [47] let s:lib.Codec.encoding_table["48"] = [48] let s:lib.Codec.encoding_table["49"] = [49] let s:lib.Codec.encoding_table["50"] = [50] let s:lib.Codec.encoding_table["51"] = [51] let s:lib.Codec.encoding_table["52"] = [52] let s:lib.Codec.encoding_table["53"] = [53] let s:lib.Codec.encoding_table["54"] = [54] let s:lib.Codec.encoding_table["55"] = [55] let s:lib.Codec.encoding_table["56"] = [56] let s:lib.Codec.encoding_table["57"] = [57] let s:lib.Codec.encoding_table["58"] = [58] let s:lib.Codec.encoding_table["59"] = [59] let s:lib.Codec.encoding_table["60"] = [60] let s:lib.Codec.encoding_table["61"] = [61] let s:lib.Codec.encoding_table["62"] = [62] let s:lib.Codec.encoding_table["63"] = [63] let s:lib.Codec.encoding_table["64"] = [64] let s:lib.Codec.encoding_table["65"] = [65] let s:lib.Codec.encoding_table["66"] = [66] let s:lib.Codec.encoding_table["67"] = [67] let s:lib.Codec.encoding_table["68"] = [68] let s:lib.Codec.encoding_table["69"] = [69] let s:lib.Codec.encoding_table["70"] = [70] let s:lib.Codec.encoding_table["71"] = [71] let s:lib.Codec.encoding_table["72"] = [72] let s:lib.Codec.encoding_table["73"] = [73] let s:lib.Codec.encoding_table["74"] = [74] let s:lib.Codec.encoding_table["75"] = [75] let s:lib.Codec.encoding_table["76"] = [76] let s:lib.Codec.encoding_table["77"] = [77] let s:lib.Codec.encoding_table["78"] = [78] let s:lib.Codec.encoding_table["79"] = [79] let s:lib.Codec.encoding_table["80"] = [80] let s:lib.Codec.encoding_table["81"] = [81] let s:lib.Codec.encoding_table["82"] = [82] let s:lib.Codec.encoding_table["83"] = [83] let s:lib.Codec.encoding_table["84"] = [84] let s:lib.Codec.encoding_table["85"] = [85] let s:lib.Codec.encoding_table["86"] = [86] let s:lib.Codec.encoding_table["87"] = [87] let s:lib.Codec.encoding_table["88"] = [88] let s:lib.Codec.encoding_table["89"] = [89] let s:lib.Codec.encoding_table["90"] = [90] let s:lib.Codec.encoding_table["91"] = [91] let s:lib.Codec.encoding_table["92"] = [92] let s:lib.Codec.encoding_table["93"] = [93] let s:lib.Codec.encoding_table["94"] = [94] let s:lib.Codec.encoding_table["95"] = [95] let s:lib.Codec.encoding_table["96"] = [96] let s:lib.Codec.encoding_table["97"] = [97] let s:lib.Codec.encoding_table["98"] = [98] let s:lib.Codec.encoding_table["99"] = [99] let s:lib.Codec.encoding_table["100"] = [100] let s:lib.Codec.encoding_table["101"] = [101] let s:lib.Codec.encoding_table["102"] = [102] let s:lib.Codec.encoding_table["103"] = [103] let s:lib.Codec.encoding_table["104"] = [104] let s:lib.Codec.encoding_table["105"] = [105] let s:lib.Codec.encoding_table["106"] = [106] let s:lib.Codec.encoding_table["107"] = [107] let s:lib.Codec.encoding_table["108"] = [108] let s:lib.Codec.encoding_table["109"] = [109] let s:lib.Codec.encoding_table["110"] = [110] let s:lib.Codec.encoding_table["111"] = [111] let s:lib.Codec.encoding_table["112"] = [112] let s:lib.Codec.encoding_table["113"] = [113] let s:lib.Codec.encoding_table["114"] = [114] let s:lib.Codec.encoding_table["115"] = [115] let s:lib.Codec.encoding_table["116"] = [116] let s:lib.Codec.encoding_table["117"] = [117] let s:lib.Codec.encoding_table["118"] = [118] let s:lib.Codec.encoding_table["119"] = [119] let s:lib.Codec.encoding_table["120"] = [120] let s:lib.Codec.encoding_table["121"] = [121] let s:lib.Codec.encoding_table["122"] = [122] let s:lib.Codec.encoding_table["123"] = [123] let s:lib.Codec.encoding_table["124"] = [124] let s:lib.Codec.encoding_table["125"] = [125] let s:lib.Codec.encoding_table["126"] = [126] let s:lib.Codec.encoding_table["127"] = [127] let s:lib.Codec.encoding_table["12288"] = [161,64] let s:lib.Codec.encoding_table["65292"] = [161,65] let s:lib.Codec.encoding_table["12289"] = [161,66] let s:lib.Codec.encoding_table["12290"] = [161,67] let s:lib.Codec.encoding_table["65294"] = [161,68] let s:lib.Codec.encoding_table["8231"] = [161,69] let s:lib.Codec.encoding_table["65307"] = [161,70] let s:lib.Codec.encoding_table["65306"] = [161,71] let s:lib.Codec.encoding_table["65311"] = [161,72] let s:lib.Codec.encoding_table["65281"] = [161,73] let s:lib.Codec.encoding_table["65072"] = [161,74] let s:lib.Codec.encoding_table["8230"] = [161,75] let s:lib.Codec.encoding_table["8229"] = [161,76] let s:lib.Codec.encoding_table["65104"] = [161,77] let s:lib.Codec.encoding_table["65105"] = [161,78] let s:lib.Codec.encoding_table["65106"] = [161,79] let s:lib.Codec.encoding_table["183"] = [161,80] let s:lib.Codec.encoding_table["65108"] = [161,81] let s:lib.Codec.encoding_table["65109"] = [161,82] let s:lib.Codec.encoding_table["65110"] = [161,83] let s:lib.Codec.encoding_table["65111"] = [161,84] let s:lib.Codec.encoding_table["65372"] = [161,85] let s:lib.Codec.encoding_table["8211"] = [161,86] let s:lib.Codec.encoding_table["65073"] = [161,87] let s:lib.Codec.encoding_table["8212"] = [161,88] let s:lib.Codec.encoding_table["65075"] = [161,89] let s:lib.Codec.encoding_table["9588"] = [161,90] let s:lib.Codec.encoding_table["65076"] = [161,91] let s:lib.Codec.encoding_table["65103"] = [161,92] let s:lib.Codec.encoding_table["65288"] = [161,93] let s:lib.Codec.encoding_table["65289"] = [161,94] let s:lib.Codec.encoding_table["65077"] = [161,95] let s:lib.Codec.encoding_table["65078"] = [161,96] let s:lib.Codec.encoding_table["65371"] = [161,97] let s:lib.Codec.encoding_table["65373"] = [161,98] let s:lib.Codec.encoding_table["65079"] = [161,99] let s:lib.Codec.encoding_table["65080"] = [161,100] let s:lib.Codec.encoding_table["12308"] = [161,101] let s:lib.Codec.encoding_table["12309"] = [161,102] let s:lib.Codec.encoding_table["65081"] = [161,103] let s:lib.Codec.encoding_table["65082"] = [161,104] let s:lib.Codec.encoding_table["12304"] = [161,105] let s:lib.Codec.encoding_table["12305"] = [161,106] let s:lib.Codec.encoding_table["65083"] = [161,107] let s:lib.Codec.encoding_table["65084"] = [161,108] let s:lib.Codec.encoding_table["12298"] = [161,109] let s:lib.Codec.encoding_table["12299"] = [161,110] let s:lib.Codec.encoding_table["65085"] = [161,111] let s:lib.Codec.encoding_table["65086"] = [161,112] let s:lib.Codec.encoding_table["12296"] = [161,113] let s:lib.Codec.encoding_table["12297"] = [161,114] let s:lib.Codec.encoding_table["65087"] = [161,115] let s:lib.Codec.encoding_table["65088"] = [161,116] let s:lib.Codec.encoding_table["12300"] = [161,117] let s:lib.Codec.encoding_table["12301"] = [161,118] let s:lib.Codec.encoding_table["65089"] = [161,119] let s:lib.Codec.encoding_table["65090"] = [161,120] let s:lib.Codec.encoding_table["12302"] = [161,121] let s:lib.Codec.encoding_table["12303"] = [161,122] let s:lib.Codec.encoding_table["65091"] = [161,123] let s:lib.Codec.encoding_table["65092"] = [161,124] let s:lib.Codec.encoding_table["65113"] = [161,125] let s:lib.Codec.encoding_table["65114"] = [161,126] let s:lib.Codec.encoding_table["65115"] = [161,161] let s:lib.Codec.encoding_table["65116"] = [161,162] let s:lib.Codec.encoding_table["65117"] = [161,163] let s:lib.Codec.encoding_table["65118"] = [161,164] let s:lib.Codec.encoding_table["8216"] = [161,165] let s:lib.Codec.encoding_table["8217"] = [161,166] let s:lib.Codec.encoding_table["8220"] = [161,167] let s:lib.Codec.encoding_table["8221"] = [161,168] let s:lib.Codec.encoding_table["12317"] = [161,169] let s:lib.Codec.encoding_table["12318"] = [161,170] let s:lib.Codec.encoding_table["8245"] = [161,171] let s:lib.Codec.encoding_table["8242"] = [161,172] let s:lib.Codec.encoding_table["65283"] = [161,173] let s:lib.Codec.encoding_table["65286"] = [161,174] let s:lib.Codec.encoding_table["65290"] = [161,175] let s:lib.Codec.encoding_table["8251"] = [161,176] let s:lib.Codec.encoding_table["167"] = [161,177] let s:lib.Codec.encoding_table["12291"] = [161,178] let s:lib.Codec.encoding_table["9675"] = [161,179] let s:lib.Codec.encoding_table["9679"] = [161,180] let s:lib.Codec.encoding_table["9651"] = [161,181] let s:lib.Codec.encoding_table["9650"] = [161,182] let s:lib.Codec.encoding_table["9678"] = [161,183] let s:lib.Codec.encoding_table["9734"] = [161,184] let s:lib.Codec.encoding_table["9733"] = [161,185] let s:lib.Codec.encoding_table["9671"] = [161,186] let s:lib.Codec.encoding_table["9670"] = [161,187] let s:lib.Codec.encoding_table["9633"] = [161,188] let s:lib.Codec.encoding_table["9632"] = [161,189] let s:lib.Codec.encoding_table["9661"] = [161,190] let s:lib.Codec.encoding_table["9660"] = [161,191] let s:lib.Codec.encoding_table["12963"] = [161,192] let s:lib.Codec.encoding_table["8453"] = [161,193] let s:lib.Codec.encoding_table["175"] = [161,194] let s:lib.Codec.encoding_table["65507"] = [161,195] let s:lib.Codec.encoding_table["65343"] = [161,196] let s:lib.Codec.encoding_table["717"] = [161,197] let s:lib.Codec.encoding_table["65097"] = [161,198] let s:lib.Codec.encoding_table["65098"] = [161,199] let s:lib.Codec.encoding_table["65101"] = [161,200] let s:lib.Codec.encoding_table["65102"] = [161,201] let s:lib.Codec.encoding_table["65099"] = [161,202] let s:lib.Codec.encoding_table["65100"] = [161,203] let s:lib.Codec.encoding_table["65119"] = [161,204] let s:lib.Codec.encoding_table["65120"] = [161,205] let s:lib.Codec.encoding_table["65121"] = [161,206] let s:lib.Codec.encoding_table["65291"] = [161,207] let s:lib.Codec.encoding_table["65293"] = [161,208] let s:lib.Codec.encoding_table["215"] = [161,209] let s:lib.Codec.encoding_table["247"] = [161,210] let s:lib.Codec.encoding_table["177"] = [161,211] let s:lib.Codec.encoding_table["8730"] = [161,212] let s:lib.Codec.encoding_table["65308"] = [161,213] let s:lib.Codec.encoding_table["65310"] = [161,214] let s:lib.Codec.encoding_table["65309"] = [161,215] let s:lib.Codec.encoding_table["8806"] = [161,216] let s:lib.Codec.encoding_table["8807"] = [161,217] let s:lib.Codec.encoding_table["8800"] = [161,218] let s:lib.Codec.encoding_table["8734"] = [161,219] let s:lib.Codec.encoding_table["8786"] = [161,220] let s:lib.Codec.encoding_table["8801"] = [161,221] let s:lib.Codec.encoding_table["65122"] = [161,222] let s:lib.Codec.encoding_table["65123"] = [161,223] let s:lib.Codec.encoding_table["65124"] = [161,224] let s:lib.Codec.encoding_table["65125"] = [161,225] let s:lib.Codec.encoding_table["65126"] = [161,226] let s:lib.Codec.encoding_table["65374"] = [161,227] let s:lib.Codec.encoding_table["8745"] = [161,228] let s:lib.Codec.encoding_table["8746"] = [161,229] let s:lib.Codec.encoding_table["8869"] = [161,230] let s:lib.Codec.encoding_table["8736"] = [161,231] let s:lib.Codec.encoding_table["8735"] = [161,232] let s:lib.Codec.encoding_table["8895"] = [161,233] let s:lib.Codec.encoding_table["13266"] = [161,234] let s:lib.Codec.encoding_table["13265"] = [161,235] let s:lib.Codec.encoding_table["8747"] = [161,236] let s:lib.Codec.encoding_table["8750"] = [161,237] let s:lib.Codec.encoding_table["8757"] = [161,238] let s:lib.Codec.encoding_table["8756"] = [161,239] let s:lib.Codec.encoding_table["9792"] = [161,240] let s:lib.Codec.encoding_table["9794"] = [161,241] let s:lib.Codec.encoding_table["8853"] = [161,242] let s:lib.Codec.encoding_table["8857"] = [161,243] let s:lib.Codec.encoding_table["8593"] = [161,244] let s:lib.Codec.encoding_table["8595"] = [161,245] let s:lib.Codec.encoding_table["8592"] = [161,246] let s:lib.Codec.encoding_table["8594"] = [161,247] let s:lib.Codec.encoding_table["8598"] = [161,248] let s:lib.Codec.encoding_table["8599"] = [161,249] let s:lib.Codec.encoding_table["8601"] = [161,250] let s:lib.Codec.encoding_table["8600"] = [161,251] let s:lib.Codec.encoding_table["8741"] = [161,252] let s:lib.Codec.encoding_table["8739"] = [161,253] let s:lib.Codec.encoding_table["65295"] = [161,254] let s:lib.Codec.encoding_table["65340"] = [162,64] let s:lib.Codec.encoding_table["8725"] = [162,65] let s:lib.Codec.encoding_table["65128"] = [162,66] let s:lib.Codec.encoding_table["65284"] = [162,67] let s:lib.Codec.encoding_table["65509"] = [162,68] let s:lib.Codec.encoding_table["12306"] = [162,69] let s:lib.Codec.encoding_table["65504"] = [162,70] let s:lib.Codec.encoding_table["65505"] = [162,71] let s:lib.Codec.encoding_table["65285"] = [162,72] let s:lib.Codec.encoding_table["65312"] = [162,73] let s:lib.Codec.encoding_table["8451"] = [162,74] let s:lib.Codec.encoding_table["8457"] = [162,75] let s:lib.Codec.encoding_table["65129"] = [162,76] let s:lib.Codec.encoding_table["65130"] = [162,77] let s:lib.Codec.encoding_table["65131"] = [162,78] let s:lib.Codec.encoding_table["13269"] = [162,79] let s:lib.Codec.encoding_table["13212"] = [162,80] let s:lib.Codec.encoding_table["13213"] = [162,81] let s:lib.Codec.encoding_table["13214"] = [162,82] let s:lib.Codec.encoding_table["13262"] = [162,83] let s:lib.Codec.encoding_table["13217"] = [162,84] let s:lib.Codec.encoding_table["13198"] = [162,85] let s:lib.Codec.encoding_table["13199"] = [162,86] let s:lib.Codec.encoding_table["13252"] = [162,87] let s:lib.Codec.encoding_table["176"] = [162,88] let s:lib.Codec.encoding_table["20825"] = [162,89] let s:lib.Codec.encoding_table["20827"] = [162,90] let s:lib.Codec.encoding_table["20830"] = [162,91] let s:lib.Codec.encoding_table["20829"] = [162,92] let s:lib.Codec.encoding_table["20833"] = [162,93] let s:lib.Codec.encoding_table["20835"] = [162,94] let s:lib.Codec.encoding_table["21991"] = [162,95] let s:lib.Codec.encoding_table["29929"] = [162,96] let s:lib.Codec.encoding_table["31950"] = [162,97] let s:lib.Codec.encoding_table["9601"] = [162,98] let s:lib.Codec.encoding_table["9602"] = [162,99] let s:lib.Codec.encoding_table["9603"] = [162,100] let s:lib.Codec.encoding_table["9604"] = [162,101] let s:lib.Codec.encoding_table["9605"] = [162,102] let s:lib.Codec.encoding_table["9606"] = [162,103] let s:lib.Codec.encoding_table["9607"] = [162,104] let s:lib.Codec.encoding_table["9608"] = [162,105] let s:lib.Codec.encoding_table["9615"] = [162,106] let s:lib.Codec.encoding_table["9614"] = [162,107] let s:lib.Codec.encoding_table["9613"] = [162,108] let s:lib.Codec.encoding_table["9612"] = [162,109] let s:lib.Codec.encoding_table["9611"] = [162,110] let s:lib.Codec.encoding_table["9610"] = [162,111] let s:lib.Codec.encoding_table["9609"] = [162,112] let s:lib.Codec.encoding_table["9532"] = [162,113] let s:lib.Codec.encoding_table["9524"] = [162,114] let s:lib.Codec.encoding_table["9516"] = [162,115] let s:lib.Codec.encoding_table["9508"] = [162,116] let s:lib.Codec.encoding_table["9500"] = [162,117] let s:lib.Codec.encoding_table["9620"] = [162,118] let s:lib.Codec.encoding_table["9472"] = [162,119] let s:lib.Codec.encoding_table["9474"] = [162,120] let s:lib.Codec.encoding_table["9621"] = [162,121] let s:lib.Codec.encoding_table["9484"] = [162,122] let s:lib.Codec.encoding_table["9488"] = [162,123] let s:lib.Codec.encoding_table["9492"] = [162,124] let s:lib.Codec.encoding_table["9496"] = [162,125] let s:lib.Codec.encoding_table["9581"] = [162,126] let s:lib.Codec.encoding_table["9582"] = [162,161] let s:lib.Codec.encoding_table["9584"] = [162,162] let s:lib.Codec.encoding_table["9583"] = [162,163] let s:lib.Codec.encoding_table["9552"] = [162,164] let s:lib.Codec.encoding_table["9566"] = [162,165] let s:lib.Codec.encoding_table["9578"] = [162,166] let s:lib.Codec.encoding_table["9569"] = [162,167] let s:lib.Codec.encoding_table["9698"] = [162,168] let s:lib.Codec.encoding_table["9699"] = [162,169] let s:lib.Codec.encoding_table["9701"] = [162,170] let s:lib.Codec.encoding_table["9700"] = [162,171] let s:lib.Codec.encoding_table["9585"] = [162,172] let s:lib.Codec.encoding_table["9586"] = [162,173] let s:lib.Codec.encoding_table["9587"] = [162,174] let s:lib.Codec.encoding_table["65296"] = [162,175] let s:lib.Codec.encoding_table["65297"] = [162,176] let s:lib.Codec.encoding_table["65298"] = [162,177] let s:lib.Codec.encoding_table["65299"] = [162,178] let s:lib.Codec.encoding_table["65300"] = [162,179] let s:lib.Codec.encoding_table["65301"] = [162,180] let s:lib.Codec.encoding_table["65302"] = [162,181] let s:lib.Codec.encoding_table["65303"] = [162,182] let s:lib.Codec.encoding_table["65304"] = [162,183] let s:lib.Codec.encoding_table["65305"] = [162,184] let s:lib.Codec.encoding_table["8544"] = [162,185] let s:lib.Codec.encoding_table["8545"] = [162,186] let s:lib.Codec.encoding_table["8546"] = [162,187] let s:lib.Codec.encoding_table["8547"] = [162,188] let s:lib.Codec.encoding_table["8548"] = [162,189] let s:lib.Codec.encoding_table["8549"] = [162,190] let s:lib.Codec.encoding_table["8550"] = [162,191] let s:lib.Codec.encoding_table["8551"] = [162,192] let s:lib.Codec.encoding_table["8552"] = [162,193] let s:lib.Codec.encoding_table["8553"] = [162,194] let s:lib.Codec.encoding_table["12321"] = [162,195] let s:lib.Codec.encoding_table["12322"] = [162,196] let s:lib.Codec.encoding_table["12323"] = [162,197] let s:lib.Codec.encoding_table["12324"] = [162,198] let s:lib.Codec.encoding_table["12325"] = [162,199] let s:lib.Codec.encoding_table["12326"] = [162,200] let s:lib.Codec.encoding_table["12327"] = [162,201] let s:lib.Codec.encoding_table["12328"] = [162,202] let s:lib.Codec.encoding_table["12329"] = [162,203] let s:lib.Codec.encoding_table["21313"] = [162,204] let s:lib.Codec.encoding_table["21316"] = [162,205] let s:lib.Codec.encoding_table["21317"] = [162,206] let s:lib.Codec.encoding_table["65313"] = [162,207] let s:lib.Codec.encoding_table["65314"] = [162,208] let s:lib.Codec.encoding_table["65315"] = [162,209] let s:lib.Codec.encoding_table["65316"] = [162,210] let s:lib.Codec.encoding_table["65317"] = [162,211] let s:lib.Codec.encoding_table["65318"] = [162,212] let s:lib.Codec.encoding_table["65319"] = [162,213] let s:lib.Codec.encoding_table["65320"] = [162,214] let s:lib.Codec.encoding_table["65321"] = [162,215] let s:lib.Codec.encoding_table["65322"] = [162,216] let s:lib.Codec.encoding_table["65323"] = [162,217] let s:lib.Codec.encoding_table["65324"] = [162,218] let s:lib.Codec.encoding_table["65325"] = [162,219] let s:lib.Codec.encoding_table["65326"] = [162,220] let s:lib.Codec.encoding_table["65327"] = [162,221] let s:lib.Codec.encoding_table["65328"] = [162,222] let s:lib.Codec.encoding_table["65329"] = [162,223] let s:lib.Codec.encoding_table["65330"] = [162,224] let s:lib.Codec.encoding_table["65331"] = [162,225] let s:lib.Codec.encoding_table["65332"] = [162,226] let s:lib.Codec.encoding_table["65333"] = [162,227] let s:lib.Codec.encoding_table["65334"] = [162,228] let s:lib.Codec.encoding_table["65335"] = [162,229] let s:lib.Codec.encoding_table["65336"] = [162,230] let s:lib.Codec.encoding_table["65337"] = [162,231] let s:lib.Codec.encoding_table["65338"] = [162,232] let s:lib.Codec.encoding_table["65345"] = [162,233] let s:lib.Codec.encoding_table["65346"] = [162,234] let s:lib.Codec.encoding_table["65347"] = [162,235] let s:lib.Codec.encoding_table["65348"] = [162,236] let s:lib.Codec.encoding_table["65349"] = [162,237] let s:lib.Codec.encoding_table["65350"] = [162,238] let s:lib.Codec.encoding_table["65351"] = [162,239] let s:lib.Codec.encoding_table["65352"] = [162,240] let s:lib.Codec.encoding_table["65353"] = [162,241] let s:lib.Codec.encoding_table["65354"] = [162,242] let s:lib.Codec.encoding_table["65355"] = [162,243] let s:lib.Codec.encoding_table["65356"] = [162,244] let s:lib.Codec.encoding_table["65357"] = [162,245] let s:lib.Codec.encoding_table["65358"] = [162,246] let s:lib.Codec.encoding_table["65359"] = [162,247] let s:lib.Codec.encoding_table["65360"] = [162,248] let s:lib.Codec.encoding_table["65361"] = [162,249] let s:lib.Codec.encoding_table["65362"] = [162,250] let s:lib.Codec.encoding_table["65363"] = [162,251] let s:lib.Codec.encoding_table["65364"] = [162,252] let s:lib.Codec.encoding_table["65365"] = [162,253] let s:lib.Codec.encoding_table["65366"] = [162,254] let s:lib.Codec.encoding_table["65367"] = [163,64] let s:lib.Codec.encoding_table["65368"] = [163,65] let s:lib.Codec.encoding_table["65369"] = [163,66] let s:lib.Codec.encoding_table["65370"] = [163,67] let s:lib.Codec.encoding_table["913"] = [163,68] let s:lib.Codec.encoding_table["914"] = [163,69] let s:lib.Codec.encoding_table["915"] = [163,70] let s:lib.Codec.encoding_table["916"] = [163,71] let s:lib.Codec.encoding_table["917"] = [163,72] let s:lib.Codec.encoding_table["918"] = [163,73] let s:lib.Codec.encoding_table["919"] = [163,74] let s:lib.Codec.encoding_table["920"] = [163,75] let s:lib.Codec.encoding_table["921"] = [163,76] let s:lib.Codec.encoding_table["922"] = [163,77] let s:lib.Codec.encoding_table["923"] = [163,78] let s:lib.Codec.encoding_table["924"] = [163,79] let s:lib.Codec.encoding_table["925"] = [163,80] let s:lib.Codec.encoding_table["926"] = [163,81] let s:lib.Codec.encoding_table["927"] = [163,82] let s:lib.Codec.encoding_table["928"] = [163,83] let s:lib.Codec.encoding_table["929"] = [163,84] let s:lib.Codec.encoding_table["931"] = [163,85] let s:lib.Codec.encoding_table["932"] = [163,86] let s:lib.Codec.encoding_table["933"] = [163,87] let s:lib.Codec.encoding_table["934"] = [163,88] let s:lib.Codec.encoding_table["935"] = [163,89] let s:lib.Codec.encoding_table["936"] = [163,90] let s:lib.Codec.encoding_table["937"] = [163,91] let s:lib.Codec.encoding_table["945"] = [163,92] let s:lib.Codec.encoding_table["946"] = [163,93] let s:lib.Codec.encoding_table["947"] = [163,94] let s:lib.Codec.encoding_table["948"] = [163,95] let s:lib.Codec.encoding_table["949"] = [163,96] let s:lib.Codec.encoding_table["950"] = [163,97] let s:lib.Codec.encoding_table["951"] = [163,98] let s:lib.Codec.encoding_table["952"] = [163,99] let s:lib.Codec.encoding_table["953"] = [163,100] let s:lib.Codec.encoding_table["954"] = [163,101] let s:lib.Codec.encoding_table["955"] = [163,102] let s:lib.Codec.encoding_table["956"] = [163,103] let s:lib.Codec.encoding_table["957"] = [163,104] let s:lib.Codec.encoding_table["958"] = [163,105] let s:lib.Codec.encoding_table["959"] = [163,106] let s:lib.Codec.encoding_table["960"] = [163,107] let s:lib.Codec.encoding_table["961"] = [163,108] let s:lib.Codec.encoding_table["963"] = [163,109] let s:lib.Codec.encoding_table["964"] = [163,110] let s:lib.Codec.encoding_table["965"] = [163,111] let s:lib.Codec.encoding_table["966"] = [163,112] let s:lib.Codec.encoding_table["967"] = [163,113] let s:lib.Codec.encoding_table["968"] = [163,114] let s:lib.Codec.encoding_table["969"] = [163,115] let s:lib.Codec.encoding_table["12549"] = [163,116] let s:lib.Codec.encoding_table["12550"] = [163,117] let s:lib.Codec.encoding_table["12551"] = [163,118] let s:lib.Codec.encoding_table["12552"] = [163,119] let s:lib.Codec.encoding_table["12553"] = [163,120] let s:lib.Codec.encoding_table["12554"] = [163,121] let s:lib.Codec.encoding_table["12555"] = [163,122] let s:lib.Codec.encoding_table["12556"] = [163,123] let s:lib.Codec.encoding_table["12557"] = [163,124] let s:lib.Codec.encoding_table["12558"] = [163,125] let s:lib.Codec.encoding_table["12559"] = [163,126] let s:lib.Codec.encoding_table["12560"] = [163,161] let s:lib.Codec.encoding_table["12561"] = [163,162] let s:lib.Codec.encoding_table["12562"] = [163,163] let s:lib.Codec.encoding_table["12563"] = [163,164] let s:lib.Codec.encoding_table["12564"] = [163,165] let s:lib.Codec.encoding_table["12565"] = [163,166] let s:lib.Codec.encoding_table["12566"] = [163,167] let s:lib.Codec.encoding_table["12567"] = [163,168] let s:lib.Codec.encoding_table["12568"] = [163,169] let s:lib.Codec.encoding_table["12569"] = [163,170] let s:lib.Codec.encoding_table["12570"] = [163,171] let s:lib.Codec.encoding_table["12571"] = [163,172] let s:lib.Codec.encoding_table["12572"] = [163,173] let s:lib.Codec.encoding_table["12573"] = [163,174] let s:lib.Codec.encoding_table["12574"] = [163,175] let s:lib.Codec.encoding_table["12575"] = [163,176] let s:lib.Codec.encoding_table["12576"] = [163,177] let s:lib.Codec.encoding_table["12577"] = [163,178] let s:lib.Codec.encoding_table["12578"] = [163,179] let s:lib.Codec.encoding_table["12579"] = [163,180] let s:lib.Codec.encoding_table["12580"] = [163,181] let s:lib.Codec.encoding_table["12581"] = [163,182] let s:lib.Codec.encoding_table["12582"] = [163,183] let s:lib.Codec.encoding_table["12583"] = [163,184] let s:lib.Codec.encoding_table["12584"] = [163,185] let s:lib.Codec.encoding_table["12585"] = [163,186] let s:lib.Codec.encoding_table["729"] = [163,187] let s:lib.Codec.encoding_table["713"] = [163,188] let s:lib.Codec.encoding_table["714"] = [163,189] let s:lib.Codec.encoding_table["711"] = [163,190] let s:lib.Codec.encoding_table["715"] = [163,191] let s:lib.Codec.encoding_table["8364"] = [163,225] let s:lib.Codec.encoding_table["19968"] = [164,64] let s:lib.Codec.encoding_table["20057"] = [164,65] let s:lib.Codec.encoding_table["19969"] = [164,66] let s:lib.Codec.encoding_table["19971"] = [164,67] let s:lib.Codec.encoding_table["20035"] = [164,68] let s:lib.Codec.encoding_table["20061"] = [164,69] let s:lib.Codec.encoding_table["20102"] = [164,70] let s:lib.Codec.encoding_table["20108"] = [164,71] let s:lib.Codec.encoding_table["20154"] = [164,72] let s:lib.Codec.encoding_table["20799"] = [164,73] let s:lib.Codec.encoding_table["20837"] = [164,74] let s:lib.Codec.encoding_table["20843"] = [164,75] let s:lib.Codec.encoding_table["20960"] = [164,76] let s:lib.Codec.encoding_table["20992"] = [164,77] let s:lib.Codec.encoding_table["20993"] = [164,78] let s:lib.Codec.encoding_table["21147"] = [164,79] let s:lib.Codec.encoding_table["21269"] = [164,80] let s:lib.Codec.encoding_table["21340"] = [164,82] let s:lib.Codec.encoding_table["21448"] = [164,83] let s:lib.Codec.encoding_table["19977"] = [164,84] let s:lib.Codec.encoding_table["19979"] = [164,85] let s:lib.Codec.encoding_table["19976"] = [164,86] let s:lib.Codec.encoding_table["19978"] = [164,87] let s:lib.Codec.encoding_table["20011"] = [164,88] let s:lib.Codec.encoding_table["20024"] = [164,89] let s:lib.Codec.encoding_table["20961"] = [164,90] let s:lib.Codec.encoding_table["20037"] = [164,91] let s:lib.Codec.encoding_table["20040"] = [164,92] let s:lib.Codec.encoding_table["20063"] = [164,93] let s:lib.Codec.encoding_table["20062"] = [164,94] let s:lib.Codec.encoding_table["20110"] = [164,95] let s:lib.Codec.encoding_table["20129"] = [164,96] let s:lib.Codec.encoding_table["20800"] = [164,97] let s:lib.Codec.encoding_table["20995"] = [164,98] let s:lib.Codec.encoding_table["21242"] = [164,99] let s:lib.Codec.encoding_table["21315"] = [164,100] let s:lib.Codec.encoding_table["21449"] = [164,101] let s:lib.Codec.encoding_table["21475"] = [164,102] let s:lib.Codec.encoding_table["22303"] = [164,103] let s:lib.Codec.encoding_table["22763"] = [164,104] let s:lib.Codec.encoding_table["22805"] = [164,105] let s:lib.Codec.encoding_table["22823"] = [164,106] let s:lib.Codec.encoding_table["22899"] = [164,107] let s:lib.Codec.encoding_table["23376"] = [164,108] let s:lib.Codec.encoding_table["23377"] = [164,109] let s:lib.Codec.encoding_table["23379"] = [164,110] let s:lib.Codec.encoding_table["23544"] = [164,111] let s:lib.Codec.encoding_table["23567"] = [164,112] let s:lib.Codec.encoding_table["23586"] = [164,113] let s:lib.Codec.encoding_table["23608"] = [164,114] let s:lib.Codec.encoding_table["23665"] = [164,115] let s:lib.Codec.encoding_table["24029"] = [164,116] let s:lib.Codec.encoding_table["24037"] = [164,117] let s:lib.Codec.encoding_table["24049"] = [164,118] let s:lib.Codec.encoding_table["24050"] = [164,119] let s:lib.Codec.encoding_table["24051"] = [164,120] let s:lib.Codec.encoding_table["24062"] = [164,121] let s:lib.Codec.encoding_table["24178"] = [164,122] let s:lib.Codec.encoding_table["24318"] = [164,123] let s:lib.Codec.encoding_table["24331"] = [164,124] let s:lib.Codec.encoding_table["24339"] = [164,125] let s:lib.Codec.encoding_table["25165"] = [164,126] let s:lib.Codec.encoding_table["19985"] = [164,161] let s:lib.Codec.encoding_table["19984"] = [164,162] let s:lib.Codec.encoding_table["19981"] = [164,163] let s:lib.Codec.encoding_table["20013"] = [164,164] let s:lib.Codec.encoding_table["20016"] = [164,165] let s:lib.Codec.encoding_table["20025"] = [164,166] let s:lib.Codec.encoding_table["20043"] = [164,167] let s:lib.Codec.encoding_table["23609"] = [164,168] let s:lib.Codec.encoding_table["20104"] = [164,169] let s:lib.Codec.encoding_table["20113"] = [164,170] let s:lib.Codec.encoding_table["20117"] = [164,171] let s:lib.Codec.encoding_table["20114"] = [164,172] let s:lib.Codec.encoding_table["20116"] = [164,173] let s:lib.Codec.encoding_table["20130"] = [164,174] let s:lib.Codec.encoding_table["20161"] = [164,175] let s:lib.Codec.encoding_table["20160"] = [164,176] let s:lib.Codec.encoding_table["20163"] = [164,177] let s:lib.Codec.encoding_table["20166"] = [164,178] let s:lib.Codec.encoding_table["20167"] = [164,179] let s:lib.Codec.encoding_table["20173"] = [164,180] let s:lib.Codec.encoding_table["20170"] = [164,181] let s:lib.Codec.encoding_table["20171"] = [164,182] let s:lib.Codec.encoding_table["20164"] = [164,183] let s:lib.Codec.encoding_table["20803"] = [164,184] let s:lib.Codec.encoding_table["20801"] = [164,185] let s:lib.Codec.encoding_table["20839"] = [164,186] let s:lib.Codec.encoding_table["20845"] = [164,187] let s:lib.Codec.encoding_table["20846"] = [164,188] let s:lib.Codec.encoding_table["20844"] = [164,189] let s:lib.Codec.encoding_table["20887"] = [164,190] let s:lib.Codec.encoding_table["20982"] = [164,191] let s:lib.Codec.encoding_table["20998"] = [164,192] let s:lib.Codec.encoding_table["20999"] = [164,193] let s:lib.Codec.encoding_table["21000"] = [164,194] let s:lib.Codec.encoding_table["21243"] = [164,195] let s:lib.Codec.encoding_table["21246"] = [164,196] let s:lib.Codec.encoding_table["21247"] = [164,197] let s:lib.Codec.encoding_table["21270"] = [164,198] let s:lib.Codec.encoding_table["21305"] = [164,199] let s:lib.Codec.encoding_table["21320"] = [164,200] let s:lib.Codec.encoding_table["21319"] = [164,201] let s:lib.Codec.encoding_table["21342"] = [164,203] let s:lib.Codec.encoding_table["21380"] = [164,204] let s:lib.Codec.encoding_table["21451"] = [164,205] let s:lib.Codec.encoding_table["21450"] = [164,206] let s:lib.Codec.encoding_table["21453"] = [164,207] let s:lib.Codec.encoding_table["22764"] = [164,208] let s:lib.Codec.encoding_table["22825"] = [164,209] let s:lib.Codec.encoding_table["22827"] = [164,210] let s:lib.Codec.encoding_table["22826"] = [164,211] let s:lib.Codec.encoding_table["22829"] = [164,212] let s:lib.Codec.encoding_table["23380"] = [164,213] let s:lib.Codec.encoding_table["23569"] = [164,214] let s:lib.Codec.encoding_table["23588"] = [164,215] let s:lib.Codec.encoding_table["23610"] = [164,216] let s:lib.Codec.encoding_table["23663"] = [164,217] let s:lib.Codec.encoding_table["24052"] = [164,218] let s:lib.Codec.encoding_table["24187"] = [164,219] let s:lib.Codec.encoding_table["24319"] = [164,220] let s:lib.Codec.encoding_table["24340"] = [164,221] let s:lib.Codec.encoding_table["24341"] = [164,222] let s:lib.Codec.encoding_table["24515"] = [164,223] let s:lib.Codec.encoding_table["25096"] = [164,224] let s:lib.Codec.encoding_table["25142"] = [164,225] let s:lib.Codec.encoding_table["25163"] = [164,226] let s:lib.Codec.encoding_table["25166"] = [164,227] let s:lib.Codec.encoding_table["25903"] = [164,228] let s:lib.Codec.encoding_table["25991"] = [164,229] let s:lib.Codec.encoding_table["26007"] = [164,230] let s:lib.Codec.encoding_table["26020"] = [164,231] let s:lib.Codec.encoding_table["26041"] = [164,232] let s:lib.Codec.encoding_table["26085"] = [164,233] let s:lib.Codec.encoding_table["26352"] = [164,234] let s:lib.Codec.encoding_table["26376"] = [164,235] let s:lib.Codec.encoding_table["26408"] = [164,236] let s:lib.Codec.encoding_table["27424"] = [164,237] let s:lib.Codec.encoding_table["27490"] = [164,238] let s:lib.Codec.encoding_table["27513"] = [164,239] let s:lib.Codec.encoding_table["27595"] = [164,240] let s:lib.Codec.encoding_table["27604"] = [164,241] let s:lib.Codec.encoding_table["27611"] = [164,242] let s:lib.Codec.encoding_table["27663"] = [164,243] let s:lib.Codec.encoding_table["27700"] = [164,244] let s:lib.Codec.encoding_table["28779"] = [164,245] let s:lib.Codec.encoding_table["29226"] = [164,246] let s:lib.Codec.encoding_table["29238"] = [164,247] let s:lib.Codec.encoding_table["29243"] = [164,248] let s:lib.Codec.encoding_table["29255"] = [164,249] let s:lib.Codec.encoding_table["29273"] = [164,250] let s:lib.Codec.encoding_table["29275"] = [164,251] let s:lib.Codec.encoding_table["29356"] = [164,252] let s:lib.Codec.encoding_table["29579"] = [164,253] let s:lib.Codec.encoding_table["19993"] = [164,254] let s:lib.Codec.encoding_table["19990"] = [165,64] let s:lib.Codec.encoding_table["19989"] = [165,65] let s:lib.Codec.encoding_table["19988"] = [165,66] let s:lib.Codec.encoding_table["19992"] = [165,67] let s:lib.Codec.encoding_table["20027"] = [165,68] let s:lib.Codec.encoding_table["20045"] = [165,69] let s:lib.Codec.encoding_table["20047"] = [165,70] let s:lib.Codec.encoding_table["20046"] = [165,71] let s:lib.Codec.encoding_table["20197"] = [165,72] let s:lib.Codec.encoding_table["20184"] = [165,73] let s:lib.Codec.encoding_table["20180"] = [165,74] let s:lib.Codec.encoding_table["20181"] = [165,75] let s:lib.Codec.encoding_table["20182"] = [165,76] let s:lib.Codec.encoding_table["20183"] = [165,77] let s:lib.Codec.encoding_table["20195"] = [165,78] let s:lib.Codec.encoding_table["20196"] = [165,79] let s:lib.Codec.encoding_table["20185"] = [165,80] let s:lib.Codec.encoding_table["20190"] = [165,81] let s:lib.Codec.encoding_table["20805"] = [165,82] let s:lib.Codec.encoding_table["20804"] = [165,83] let s:lib.Codec.encoding_table["20873"] = [165,84] let s:lib.Codec.encoding_table["20874"] = [165,85] let s:lib.Codec.encoding_table["20908"] = [165,86] let s:lib.Codec.encoding_table["20985"] = [165,87] let s:lib.Codec.encoding_table["20986"] = [165,88] let s:lib.Codec.encoding_table["20984"] = [165,89] let s:lib.Codec.encoding_table["21002"] = [165,90] let s:lib.Codec.encoding_table["21152"] = [165,91] let s:lib.Codec.encoding_table["21151"] = [165,92] let s:lib.Codec.encoding_table["21253"] = [165,93] let s:lib.Codec.encoding_table["21254"] = [165,94] let s:lib.Codec.encoding_table["21271"] = [165,95] let s:lib.Codec.encoding_table["21277"] = [165,96] let s:lib.Codec.encoding_table["20191"] = [165,97] let s:lib.Codec.encoding_table["21322"] = [165,98] let s:lib.Codec.encoding_table["21321"] = [165,99] let s:lib.Codec.encoding_table["21345"] = [165,100] let s:lib.Codec.encoding_table["21344"] = [165,101] let s:lib.Codec.encoding_table["21359"] = [165,102] let s:lib.Codec.encoding_table["21358"] = [165,103] let s:lib.Codec.encoding_table["21435"] = [165,104] let s:lib.Codec.encoding_table["21487"] = [165,105] let s:lib.Codec.encoding_table["21476"] = [165,106] let s:lib.Codec.encoding_table["21491"] = [165,107] let s:lib.Codec.encoding_table["21484"] = [165,108] let s:lib.Codec.encoding_table["21486"] = [165,109] let s:lib.Codec.encoding_table["21481"] = [165,110] let s:lib.Codec.encoding_table["21480"] = [165,111] let s:lib.Codec.encoding_table["21500"] = [165,112] let s:lib.Codec.encoding_table["21496"] = [165,113] let s:lib.Codec.encoding_table["21493"] = [165,114] let s:lib.Codec.encoding_table["21483"] = [165,115] let s:lib.Codec.encoding_table["21478"] = [165,116] let s:lib.Codec.encoding_table["21482"] = [165,117] let s:lib.Codec.encoding_table["21490"] = [165,118] let s:lib.Codec.encoding_table["21489"] = [165,119] let s:lib.Codec.encoding_table["21488"] = [165,120] let s:lib.Codec.encoding_table["21477"] = [165,121] let s:lib.Codec.encoding_table["21485"] = [165,122] let s:lib.Codec.encoding_table["21499"] = [165,123] let s:lib.Codec.encoding_table["22235"] = [165,124] let s:lib.Codec.encoding_table["22234"] = [165,125] let s:lib.Codec.encoding_table["22806"] = [165,126] let s:lib.Codec.encoding_table["22830"] = [165,161] let s:lib.Codec.encoding_table["22833"] = [165,162] let s:lib.Codec.encoding_table["22900"] = [165,163] let s:lib.Codec.encoding_table["22902"] = [165,164] let s:lib.Codec.encoding_table["23381"] = [165,165] let s:lib.Codec.encoding_table["23427"] = [165,166] let s:lib.Codec.encoding_table["23612"] = [165,167] let s:lib.Codec.encoding_table["24040"] = [165,168] let s:lib.Codec.encoding_table["24039"] = [165,169] let s:lib.Codec.encoding_table["24038"] = [165,170] let s:lib.Codec.encoding_table["24066"] = [165,171] let s:lib.Codec.encoding_table["24067"] = [165,172] let s:lib.Codec.encoding_table["24179"] = [165,173] let s:lib.Codec.encoding_table["24188"] = [165,174] let s:lib.Codec.encoding_table["24321"] = [165,175] let s:lib.Codec.encoding_table["24344"] = [165,176] let s:lib.Codec.encoding_table["24343"] = [165,177] let s:lib.Codec.encoding_table["24517"] = [165,178] let s:lib.Codec.encoding_table["25098"] = [165,179] let s:lib.Codec.encoding_table["25171"] = [165,180] let s:lib.Codec.encoding_table["25172"] = [165,181] let s:lib.Codec.encoding_table["25170"] = [165,182] let s:lib.Codec.encoding_table["25169"] = [165,183] let s:lib.Codec.encoding_table["26021"] = [165,184] let s:lib.Codec.encoding_table["26086"] = [165,185] let s:lib.Codec.encoding_table["26414"] = [165,186] let s:lib.Codec.encoding_table["26412"] = [165,187] let s:lib.Codec.encoding_table["26410"] = [165,188] let s:lib.Codec.encoding_table["26411"] = [165,189] let s:lib.Codec.encoding_table["26413"] = [165,190] let s:lib.Codec.encoding_table["27491"] = [165,191] let s:lib.Codec.encoding_table["27597"] = [165,192] let s:lib.Codec.encoding_table["27665"] = [165,193] let s:lib.Codec.encoding_table["27664"] = [165,194] let s:lib.Codec.encoding_table["27704"] = [165,195] let s:lib.Codec.encoding_table["27713"] = [165,196] let s:lib.Codec.encoding_table["27712"] = [165,197] let s:lib.Codec.encoding_table["27710"] = [165,198] let s:lib.Codec.encoding_table["29359"] = [165,199] let s:lib.Codec.encoding_table["29572"] = [165,200] let s:lib.Codec.encoding_table["29577"] = [165,201] let s:lib.Codec.encoding_table["29916"] = [165,202] let s:lib.Codec.encoding_table["29926"] = [165,203] let s:lib.Codec.encoding_table["29976"] = [165,204] let s:lib.Codec.encoding_table["29983"] = [165,205] let s:lib.Codec.encoding_table["29992"] = [165,206] let s:lib.Codec.encoding_table["29993"] = [165,207] let s:lib.Codec.encoding_table["30000"] = [165,208] let s:lib.Codec.encoding_table["30001"] = [165,209] let s:lib.Codec.encoding_table["30002"] = [165,210] let s:lib.Codec.encoding_table["30003"] = [165,211] let s:lib.Codec.encoding_table["30091"] = [165,212] let s:lib.Codec.encoding_table["30333"] = [165,213] let s:lib.Codec.encoding_table["30382"] = [165,214] let s:lib.Codec.encoding_table["30399"] = [165,215] let s:lib.Codec.encoding_table["30446"] = [165,216] let s:lib.Codec.encoding_table["30683"] = [165,217] let s:lib.Codec.encoding_table["30690"] = [165,218] let s:lib.Codec.encoding_table["30707"] = [165,219] let s:lib.Codec.encoding_table["31034"] = [165,220] let s:lib.Codec.encoding_table["31166"] = [165,221] let s:lib.Codec.encoding_table["31348"] = [165,222] let s:lib.Codec.encoding_table["31435"] = [165,223] let s:lib.Codec.encoding_table["19998"] = [165,224] let s:lib.Codec.encoding_table["19999"] = [165,225] let s:lib.Codec.encoding_table["20050"] = [165,226] let s:lib.Codec.encoding_table["20051"] = [165,227] let s:lib.Codec.encoding_table["20073"] = [165,228] let s:lib.Codec.encoding_table["20121"] = [165,229] let s:lib.Codec.encoding_table["20132"] = [165,230] let s:lib.Codec.encoding_table["20134"] = [165,231] let s:lib.Codec.encoding_table["20133"] = [165,232] let s:lib.Codec.encoding_table["20223"] = [165,233] let s:lib.Codec.encoding_table["20233"] = [165,234] let s:lib.Codec.encoding_table["20249"] = [165,235] let s:lib.Codec.encoding_table["20234"] = [165,236] let s:lib.Codec.encoding_table["20245"] = [165,237] let s:lib.Codec.encoding_table["20237"] = [165,238] let s:lib.Codec.encoding_table["20240"] = [165,239] let s:lib.Codec.encoding_table["20241"] = [165,240] let s:lib.Codec.encoding_table["20239"] = [165,241] let s:lib.Codec.encoding_table["20210"] = [165,242] let s:lib.Codec.encoding_table["20214"] = [165,243] let s:lib.Codec.encoding_table["20219"] = [165,244] let s:lib.Codec.encoding_table["20208"] = [165,245] let s:lib.Codec.encoding_table["20211"] = [165,246] let s:lib.Codec.encoding_table["20221"] = [165,247] let s:lib.Codec.encoding_table["20225"] = [165,248] let s:lib.Codec.encoding_table["20235"] = [165,249] let s:lib.Codec.encoding_table["20809"] = [165,250] let s:lib.Codec.encoding_table["20807"] = [165,251] let s:lib.Codec.encoding_table["20806"] = [165,252] let s:lib.Codec.encoding_table["20808"] = [165,253] let s:lib.Codec.encoding_table["20840"] = [165,254] let s:lib.Codec.encoding_table["20849"] = [166,64] let s:lib.Codec.encoding_table["20877"] = [166,65] let s:lib.Codec.encoding_table["20912"] = [166,66] let s:lib.Codec.encoding_table["21015"] = [166,67] let s:lib.Codec.encoding_table["21009"] = [166,68] let s:lib.Codec.encoding_table["21010"] = [166,69] let s:lib.Codec.encoding_table["21006"] = [166,70] let s:lib.Codec.encoding_table["21014"] = [166,71] let s:lib.Codec.encoding_table["21155"] = [166,72] let s:lib.Codec.encoding_table["21256"] = [166,73] let s:lib.Codec.encoding_table["21281"] = [166,74] let s:lib.Codec.encoding_table["21280"] = [166,75] let s:lib.Codec.encoding_table["21360"] = [166,76] let s:lib.Codec.encoding_table["21361"] = [166,77] let s:lib.Codec.encoding_table["21513"] = [166,78] let s:lib.Codec.encoding_table["21519"] = [166,79] let s:lib.Codec.encoding_table["21516"] = [166,80] let s:lib.Codec.encoding_table["21514"] = [166,81] let s:lib.Codec.encoding_table["21520"] = [166,82] let s:lib.Codec.encoding_table["21505"] = [166,83] let s:lib.Codec.encoding_table["21515"] = [166,84] let s:lib.Codec.encoding_table["21508"] = [166,85] let s:lib.Codec.encoding_table["21521"] = [166,86] let s:lib.Codec.encoding_table["21517"] = [166,87] let s:lib.Codec.encoding_table["21512"] = [166,88] let s:lib.Codec.encoding_table["21507"] = [166,89] let s:lib.Codec.encoding_table["21518"] = [166,90] let s:lib.Codec.encoding_table["21510"] = [166,91] let s:lib.Codec.encoding_table["21522"] = [166,92] let s:lib.Codec.encoding_table["22240"] = [166,93] let s:lib.Codec.encoding_table["22238"] = [166,94] let s:lib.Codec.encoding_table["22237"] = [166,95] let s:lib.Codec.encoding_table["22323"] = [166,96] let s:lib.Codec.encoding_table["22320"] = [166,97] let s:lib.Codec.encoding_table["22312"] = [166,98] let s:lib.Codec.encoding_table["22317"] = [166,99] let s:lib.Codec.encoding_table["22316"] = [166,100] let s:lib.Codec.encoding_table["22319"] = [166,101] let s:lib.Codec.encoding_table["22313"] = [166,102] let s:lib.Codec.encoding_table["22809"] = [166,103] let s:lib.Codec.encoding_table["22810"] = [166,104] let s:lib.Codec.encoding_table["22839"] = [166,105] let s:lib.Codec.encoding_table["22840"] = [166,106] let s:lib.Codec.encoding_table["22916"] = [166,107] let s:lib.Codec.encoding_table["22904"] = [166,108] let s:lib.Codec.encoding_table["22915"] = [166,109] let s:lib.Codec.encoding_table["22909"] = [166,110] let s:lib.Codec.encoding_table["22905"] = [166,111] let s:lib.Codec.encoding_table["22914"] = [166,112] let s:lib.Codec.encoding_table["22913"] = [166,113] let s:lib.Codec.encoding_table["23383"] = [166,114] let s:lib.Codec.encoding_table["23384"] = [166,115] let s:lib.Codec.encoding_table["23431"] = [166,116] let s:lib.Codec.encoding_table["23432"] = [166,117] let s:lib.Codec.encoding_table["23429"] = [166,118] let s:lib.Codec.encoding_table["23433"] = [166,119] let s:lib.Codec.encoding_table["23546"] = [166,120] let s:lib.Codec.encoding_table["23574"] = [166,121] let s:lib.Codec.encoding_table["23673"] = [166,122] let s:lib.Codec.encoding_table["24030"] = [166,123] let s:lib.Codec.encoding_table["24070"] = [166,124] let s:lib.Codec.encoding_table["24182"] = [166,125] let s:lib.Codec.encoding_table["24180"] = [166,126] let s:lib.Codec.encoding_table["24335"] = [166,161] let s:lib.Codec.encoding_table["24347"] = [166,162] let s:lib.Codec.encoding_table["24537"] = [166,163] let s:lib.Codec.encoding_table["24534"] = [166,164] let s:lib.Codec.encoding_table["25102"] = [166,165] let s:lib.Codec.encoding_table["25100"] = [166,166] let s:lib.Codec.encoding_table["25101"] = [166,167] let s:lib.Codec.encoding_table["25104"] = [166,168] let s:lib.Codec.encoding_table["25187"] = [166,169] let s:lib.Codec.encoding_table["25179"] = [166,170] let s:lib.Codec.encoding_table["25176"] = [166,171] let s:lib.Codec.encoding_table["25910"] = [166,172] let s:lib.Codec.encoding_table["26089"] = [166,173] let s:lib.Codec.encoding_table["26088"] = [166,174] let s:lib.Codec.encoding_table["26092"] = [166,175] let s:lib.Codec.encoding_table["26093"] = [166,176] let s:lib.Codec.encoding_table["26354"] = [166,177] let s:lib.Codec.encoding_table["26355"] = [166,178] let s:lib.Codec.encoding_table["26377"] = [166,179] let s:lib.Codec.encoding_table["26429"] = [166,180] let s:lib.Codec.encoding_table["26420"] = [166,181] let s:lib.Codec.encoding_table["26417"] = [166,182] let s:lib.Codec.encoding_table["26421"] = [166,183] let s:lib.Codec.encoding_table["27425"] = [166,184] let s:lib.Codec.encoding_table["27492"] = [166,185] let s:lib.Codec.encoding_table["27515"] = [166,186] let s:lib.Codec.encoding_table["27670"] = [166,187] let s:lib.Codec.encoding_table["27741"] = [166,188] let s:lib.Codec.encoding_table["27735"] = [166,189] let s:lib.Codec.encoding_table["27737"] = [166,190] let s:lib.Codec.encoding_table["27743"] = [166,191] let s:lib.Codec.encoding_table["27744"] = [166,192] let s:lib.Codec.encoding_table["27728"] = [166,193] let s:lib.Codec.encoding_table["27733"] = [166,194] let s:lib.Codec.encoding_table["27745"] = [166,195] let s:lib.Codec.encoding_table["27739"] = [166,196] let s:lib.Codec.encoding_table["27725"] = [166,197] let s:lib.Codec.encoding_table["27726"] = [166,198] let s:lib.Codec.encoding_table["28784"] = [166,199] let s:lib.Codec.encoding_table["29279"] = [166,200] let s:lib.Codec.encoding_table["29277"] = [166,201] let s:lib.Codec.encoding_table["30334"] = [166,202] let s:lib.Codec.encoding_table["31481"] = [166,203] let s:lib.Codec.encoding_table["31859"] = [166,204] let s:lib.Codec.encoding_table["31992"] = [166,205] let s:lib.Codec.encoding_table["32566"] = [166,206] let s:lib.Codec.encoding_table["32650"] = [166,207] let s:lib.Codec.encoding_table["32701"] = [166,208] let s:lib.Codec.encoding_table["32769"] = [166,209] let s:lib.Codec.encoding_table["32771"] = [166,210] let s:lib.Codec.encoding_table["32780"] = [166,211] let s:lib.Codec.encoding_table["32786"] = [166,212] let s:lib.Codec.encoding_table["32819"] = [166,213] let s:lib.Codec.encoding_table["32895"] = [166,214] let s:lib.Codec.encoding_table["32905"] = [166,215] let s:lib.Codec.encoding_table["32907"] = [166,216] let s:lib.Codec.encoding_table["32908"] = [166,217] let s:lib.Codec.encoding_table["33251"] = [166,218] let s:lib.Codec.encoding_table["33258"] = [166,219] let s:lib.Codec.encoding_table["33267"] = [166,220] let s:lib.Codec.encoding_table["33276"] = [166,221] let s:lib.Codec.encoding_table["33292"] = [166,222] let s:lib.Codec.encoding_table["33307"] = [166,223] let s:lib.Codec.encoding_table["33311"] = [166,224] let s:lib.Codec.encoding_table["33390"] = [166,225] let s:lib.Codec.encoding_table["33394"] = [166,226] let s:lib.Codec.encoding_table["33406"] = [166,227] let s:lib.Codec.encoding_table["34411"] = [166,228] let s:lib.Codec.encoding_table["34880"] = [166,229] let s:lib.Codec.encoding_table["34892"] = [166,230] let s:lib.Codec.encoding_table["34915"] = [166,231] let s:lib.Codec.encoding_table["35199"] = [166,232] let s:lib.Codec.encoding_table["38433"] = [166,233] let s:lib.Codec.encoding_table["20018"] = [166,234] let s:lib.Codec.encoding_table["20136"] = [166,235] let s:lib.Codec.encoding_table["20301"] = [166,236] let s:lib.Codec.encoding_table["20303"] = [166,237] let s:lib.Codec.encoding_table["20295"] = [166,238] let s:lib.Codec.encoding_table["20311"] = [166,239] let s:lib.Codec.encoding_table["20318"] = [166,240] let s:lib.Codec.encoding_table["20276"] = [166,241] let s:lib.Codec.encoding_table["20315"] = [166,242] let s:lib.Codec.encoding_table["20309"] = [166,243] let s:lib.Codec.encoding_table["20272"] = [166,244] let s:lib.Codec.encoding_table["20304"] = [166,245] let s:lib.Codec.encoding_table["20305"] = [166,246] let s:lib.Codec.encoding_table["20285"] = [166,247] let s:lib.Codec.encoding_table["20282"] = [166,248] let s:lib.Codec.encoding_table["20280"] = [166,249] let s:lib.Codec.encoding_table["20291"] = [166,250] let s:lib.Codec.encoding_table["20308"] = [166,251] let s:lib.Codec.encoding_table["20284"] = [166,252] let s:lib.Codec.encoding_table["20294"] = [166,253] let s:lib.Codec.encoding_table["20323"] = [166,254] let s:lib.Codec.encoding_table["20316"] = [167,64] let s:lib.Codec.encoding_table["20320"] = [167,65] let s:lib.Codec.encoding_table["20271"] = [167,66] let s:lib.Codec.encoding_table["20302"] = [167,67] let s:lib.Codec.encoding_table["20278"] = [167,68] let s:lib.Codec.encoding_table["20313"] = [167,69] let s:lib.Codec.encoding_table["20317"] = [167,70] let s:lib.Codec.encoding_table["20296"] = [167,71] let s:lib.Codec.encoding_table["20314"] = [167,72] let s:lib.Codec.encoding_table["20812"] = [167,73] let s:lib.Codec.encoding_table["20811"] = [167,74] let s:lib.Codec.encoding_table["20813"] = [167,75] let s:lib.Codec.encoding_table["20853"] = [167,76] let s:lib.Codec.encoding_table["20918"] = [167,77] let s:lib.Codec.encoding_table["20919"] = [167,78] let s:lib.Codec.encoding_table["21029"] = [167,79] let s:lib.Codec.encoding_table["21028"] = [167,80] let s:lib.Codec.encoding_table["21033"] = [167,81] let s:lib.Codec.encoding_table["21034"] = [167,82] let s:lib.Codec.encoding_table["21032"] = [167,83] let s:lib.Codec.encoding_table["21163"] = [167,84] let s:lib.Codec.encoding_table["21161"] = [167,85] let s:lib.Codec.encoding_table["21162"] = [167,86] let s:lib.Codec.encoding_table["21164"] = [167,87] let s:lib.Codec.encoding_table["21283"] = [167,88] let s:lib.Codec.encoding_table["21363"] = [167,89] let s:lib.Codec.encoding_table["21365"] = [167,90] let s:lib.Codec.encoding_table["21533"] = [167,91] let s:lib.Codec.encoding_table["21549"] = [167,92] let s:lib.Codec.encoding_table["21534"] = [167,93] let s:lib.Codec.encoding_table["21566"] = [167,94] let s:lib.Codec.encoding_table["21542"] = [167,95] let s:lib.Codec.encoding_table["21582"] = [167,96] let s:lib.Codec.encoding_table["21543"] = [167,97] let s:lib.Codec.encoding_table["21574"] = [167,98] let s:lib.Codec.encoding_table["21571"] = [167,99] let s:lib.Codec.encoding_table["21555"] = [167,100] let s:lib.Codec.encoding_table["21576"] = [167,101] let s:lib.Codec.encoding_table["21570"] = [167,102] let s:lib.Codec.encoding_table["21531"] = [167,103] let s:lib.Codec.encoding_table["21545"] = [167,104] let s:lib.Codec.encoding_table["21578"] = [167,105] let s:lib.Codec.encoding_table["21561"] = [167,106] let s:lib.Codec.encoding_table["21563"] = [167,107] let s:lib.Codec.encoding_table["21560"] = [167,108] let s:lib.Codec.encoding_table["21550"] = [167,109] let s:lib.Codec.encoding_table["21557"] = [167,110] let s:lib.Codec.encoding_table["21558"] = [167,111] let s:lib.Codec.encoding_table["21536"] = [167,112] let s:lib.Codec.encoding_table["21564"] = [167,113] let s:lib.Codec.encoding_table["21568"] = [167,114] let s:lib.Codec.encoding_table["21553"] = [167,115] let s:lib.Codec.encoding_table["21547"] = [167,116] let s:lib.Codec.encoding_table["21535"] = [167,117] let s:lib.Codec.encoding_table["21548"] = [167,118] let s:lib.Codec.encoding_table["22250"] = [167,119] let s:lib.Codec.encoding_table["22256"] = [167,120] let s:lib.Codec.encoding_table["22244"] = [167,121] let s:lib.Codec.encoding_table["22251"] = [167,122] let s:lib.Codec.encoding_table["22346"] = [167,123] let s:lib.Codec.encoding_table["22353"] = [167,124] let s:lib.Codec.encoding_table["22336"] = [167,125] let s:lib.Codec.encoding_table["22349"] = [167,126] let s:lib.Codec.encoding_table["22343"] = [167,161] let s:lib.Codec.encoding_table["22350"] = [167,162] let s:lib.Codec.encoding_table["22334"] = [167,163] let s:lib.Codec.encoding_table["22352"] = [167,164] let s:lib.Codec.encoding_table["22351"] = [167,165] let s:lib.Codec.encoding_table["22331"] = [167,166] let s:lib.Codec.encoding_table["22767"] = [167,167] let s:lib.Codec.encoding_table["22846"] = [167,168] let s:lib.Codec.encoding_table["22941"] = [167,169] let s:lib.Codec.encoding_table["22930"] = [167,170] let s:lib.Codec.encoding_table["22952"] = [167,171] let s:lib.Codec.encoding_table["22942"] = [167,172] let s:lib.Codec.encoding_table["22947"] = [167,173] let s:lib.Codec.encoding_table["22937"] = [167,174] let s:lib.Codec.encoding_table["22934"] = [167,175] let s:lib.Codec.encoding_table["22925"] = [167,176] let s:lib.Codec.encoding_table["22948"] = [167,177] let s:lib.Codec.encoding_table["22931"] = [167,178] let s:lib.Codec.encoding_table["22922"] = [167,179] let s:lib.Codec.encoding_table["22949"] = [167,180] let s:lib.Codec.encoding_table["23389"] = [167,181] let s:lib.Codec.encoding_table["23388"] = [167,182] let s:lib.Codec.encoding_table["23386"] = [167,183] let s:lib.Codec.encoding_table["23387"] = [167,184] let s:lib.Codec.encoding_table["23436"] = [167,185] let s:lib.Codec.encoding_table["23435"] = [167,186] let s:lib.Codec.encoding_table["23439"] = [167,187] let s:lib.Codec.encoding_table["23596"] = [167,188] let s:lib.Codec.encoding_table["23616"] = [167,189] let s:lib.Codec.encoding_table["23617"] = [167,190] let s:lib.Codec.encoding_table["23615"] = [167,191] let s:lib.Codec.encoding_table["23614"] = [167,192] let s:lib.Codec.encoding_table["23696"] = [167,193] let s:lib.Codec.encoding_table["23697"] = [167,194] let s:lib.Codec.encoding_table["23700"] = [167,195] let s:lib.Codec.encoding_table["23692"] = [167,196] let s:lib.Codec.encoding_table["24043"] = [167,197] let s:lib.Codec.encoding_table["24076"] = [167,198] let s:lib.Codec.encoding_table["24207"] = [167,199] let s:lib.Codec.encoding_table["24199"] = [167,200] let s:lib.Codec.encoding_table["24202"] = [167,201] let s:lib.Codec.encoding_table["24311"] = [167,202] let s:lib.Codec.encoding_table["24324"] = [167,203] let s:lib.Codec.encoding_table["24351"] = [167,204] let s:lib.Codec.encoding_table["24420"] = [167,205] let s:lib.Codec.encoding_table["24418"] = [167,206] let s:lib.Codec.encoding_table["24439"] = [167,207] let s:lib.Codec.encoding_table["24441"] = [167,208] let s:lib.Codec.encoding_table["24536"] = [167,209] let s:lib.Codec.encoding_table["24524"] = [167,210] let s:lib.Codec.encoding_table["24535"] = [167,211] let s:lib.Codec.encoding_table["24525"] = [167,212] let s:lib.Codec.encoding_table["24561"] = [167,213] let s:lib.Codec.encoding_table["24555"] = [167,214] let s:lib.Codec.encoding_table["24568"] = [167,215] let s:lib.Codec.encoding_table["24554"] = [167,216] let s:lib.Codec.encoding_table["25106"] = [167,217] let s:lib.Codec.encoding_table["25105"] = [167,218] let s:lib.Codec.encoding_table["25220"] = [167,219] let s:lib.Codec.encoding_table["25239"] = [167,220] let s:lib.Codec.encoding_table["25238"] = [167,221] let s:lib.Codec.encoding_table["25216"] = [167,222] let s:lib.Codec.encoding_table["25206"] = [167,223] let s:lib.Codec.encoding_table["25225"] = [167,224] let s:lib.Codec.encoding_table["25197"] = [167,225] let s:lib.Codec.encoding_table["25226"] = [167,226] let s:lib.Codec.encoding_table["25212"] = [167,227] let s:lib.Codec.encoding_table["25214"] = [167,228] let s:lib.Codec.encoding_table["25209"] = [167,229] let s:lib.Codec.encoding_table["25203"] = [167,230] let s:lib.Codec.encoding_table["25234"] = [167,231] let s:lib.Codec.encoding_table["25199"] = [167,232] let s:lib.Codec.encoding_table["25240"] = [167,233] let s:lib.Codec.encoding_table["25198"] = [167,234] let s:lib.Codec.encoding_table["25237"] = [167,235] let s:lib.Codec.encoding_table["25235"] = [167,236] let s:lib.Codec.encoding_table["25233"] = [167,237] let s:lib.Codec.encoding_table["25222"] = [167,238] let s:lib.Codec.encoding_table["25913"] = [167,239] let s:lib.Codec.encoding_table["25915"] = [167,240] let s:lib.Codec.encoding_table["25912"] = [167,241] let s:lib.Codec.encoding_table["26097"] = [167,242] let s:lib.Codec.encoding_table["26356"] = [167,243] let s:lib.Codec.encoding_table["26463"] = [167,244] let s:lib.Codec.encoding_table["26446"] = [167,245] let s:lib.Codec.encoding_table["26447"] = [167,246] let s:lib.Codec.encoding_table["26448"] = [167,247] let s:lib.Codec.encoding_table["26449"] = [167,248] let s:lib.Codec.encoding_table["26460"] = [167,249] let s:lib.Codec.encoding_table["26454"] = [167,250] let s:lib.Codec.encoding_table["26462"] = [167,251] let s:lib.Codec.encoding_table["26441"] = [167,252] let s:lib.Codec.encoding_table["26438"] = [167,253] let s:lib.Codec.encoding_table["26464"] = [167,254] let s:lib.Codec.encoding_table["26451"] = [168,64] let s:lib.Codec.encoding_table["26455"] = [168,65] let s:lib.Codec.encoding_table["27493"] = [168,66] let s:lib.Codec.encoding_table["27599"] = [168,67] let s:lib.Codec.encoding_table["27714"] = [168,68] let s:lib.Codec.encoding_table["27742"] = [168,69] let s:lib.Codec.encoding_table["27801"] = [168,70] let s:lib.Codec.encoding_table["27777"] = [168,71] let s:lib.Codec.encoding_table["27784"] = [168,72] let s:lib.Codec.encoding_table["27785"] = [168,73] let s:lib.Codec.encoding_table["27781"] = [168,74] let s:lib.Codec.encoding_table["27803"] = [168,75] let s:lib.Codec.encoding_table["27754"] = [168,76] let s:lib.Codec.encoding_table["27770"] = [168,77] let s:lib.Codec.encoding_table["27792"] = [168,78] let s:lib.Codec.encoding_table["27760"] = [168,79] let s:lib.Codec.encoding_table["27788"] = [168,80] let s:lib.Codec.encoding_table["27752"] = [168,81] let s:lib.Codec.encoding_table["27798"] = [168,82] let s:lib.Codec.encoding_table["27794"] = [168,83] let s:lib.Codec.encoding_table["27773"] = [168,84] let s:lib.Codec.encoding_table["27779"] = [168,85] let s:lib.Codec.encoding_table["27762"] = [168,86] let s:lib.Codec.encoding_table["27774"] = [168,87] let s:lib.Codec.encoding_table["27764"] = [168,88] let s:lib.Codec.encoding_table["27782"] = [168,89] let s:lib.Codec.encoding_table["27766"] = [168,90] let s:lib.Codec.encoding_table["27789"] = [168,91] let s:lib.Codec.encoding_table["27796"] = [168,92] let s:lib.Codec.encoding_table["27800"] = [168,93] let s:lib.Codec.encoding_table["27778"] = [168,94] let s:lib.Codec.encoding_table["28790"] = [168,95] let s:lib.Codec.encoding_table["28796"] = [168,96] let s:lib.Codec.encoding_table["28797"] = [168,97] let s:lib.Codec.encoding_table["28792"] = [168,98] let s:lib.Codec.encoding_table["29282"] = [168,99] let s:lib.Codec.encoding_table["29281"] = [168,100] let s:lib.Codec.encoding_table["29280"] = [168,101] let s:lib.Codec.encoding_table["29380"] = [168,102] let s:lib.Codec.encoding_table["29378"] = [168,103] let s:lib.Codec.encoding_table["29590"] = [168,104] let s:lib.Codec.encoding_table["29996"] = [168,105] let s:lib.Codec.encoding_table["29995"] = [168,106] let s:lib.Codec.encoding_table["30007"] = [168,107] let s:lib.Codec.encoding_table["30008"] = [168,108] let s:lib.Codec.encoding_table["30338"] = [168,109] let s:lib.Codec.encoding_table["30447"] = [168,110] let s:lib.Codec.encoding_table["30691"] = [168,111] let s:lib.Codec.encoding_table["31169"] = [168,112] let s:lib.Codec.encoding_table["31168"] = [168,113] let s:lib.Codec.encoding_table["31167"] = [168,114] let s:lib.Codec.encoding_table["31350"] = [168,115] let s:lib.Codec.encoding_table["31995"] = [168,116] let s:lib.Codec.encoding_table["32597"] = [168,117] let s:lib.Codec.encoding_table["32918"] = [168,118] let s:lib.Codec.encoding_table["32915"] = [168,119] let s:lib.Codec.encoding_table["32925"] = [168,120] let s:lib.Codec.encoding_table["32920"] = [168,121] let s:lib.Codec.encoding_table["32923"] = [168,122] let s:lib.Codec.encoding_table["32922"] = [168,123] let s:lib.Codec.encoding_table["32946"] = [168,124] let s:lib.Codec.encoding_table["33391"] = [168,125] let s:lib.Codec.encoding_table["33426"] = [168,126] let s:lib.Codec.encoding_table["33419"] = [168,161] let s:lib.Codec.encoding_table["33421"] = [168,162] let s:lib.Codec.encoding_table["35211"] = [168,163] let s:lib.Codec.encoding_table["35282"] = [168,164] let s:lib.Codec.encoding_table["35328"] = [168,165] let s:lib.Codec.encoding_table["35895"] = [168,166] let s:lib.Codec.encoding_table["35910"] = [168,167] let s:lib.Codec.encoding_table["35925"] = [168,168] let s:lib.Codec.encoding_table["35997"] = [168,169] let s:lib.Codec.encoding_table["36196"] = [168,170] let s:lib.Codec.encoding_table["36208"] = [168,171] let s:lib.Codec.encoding_table["36275"] = [168,172] let s:lib.Codec.encoding_table["36523"] = [168,173] let s:lib.Codec.encoding_table["36554"] = [168,174] let s:lib.Codec.encoding_table["36763"] = [168,175] let s:lib.Codec.encoding_table["36784"] = [168,176] let s:lib.Codec.encoding_table["36802"] = [168,177] let s:lib.Codec.encoding_table["36806"] = [168,178] let s:lib.Codec.encoding_table["36805"] = [168,179] let s:lib.Codec.encoding_table["36804"] = [168,180] let s:lib.Codec.encoding_table["24033"] = [168,181] let s:lib.Codec.encoding_table["37009"] = [168,182] let s:lib.Codec.encoding_table["37026"] = [168,183] let s:lib.Codec.encoding_table["37034"] = [168,184] let s:lib.Codec.encoding_table["37030"] = [168,185] let s:lib.Codec.encoding_table["37027"] = [168,186] let s:lib.Codec.encoding_table["37193"] = [168,187] let s:lib.Codec.encoding_table["37318"] = [168,188] let s:lib.Codec.encoding_table["37324"] = [168,189] let s:lib.Codec.encoding_table["38450"] = [168,190] let s:lib.Codec.encoding_table["38446"] = [168,191] let s:lib.Codec.encoding_table["38449"] = [168,192] let s:lib.Codec.encoding_table["38442"] = [168,193] let s:lib.Codec.encoding_table["38444"] = [168,194] let s:lib.Codec.encoding_table["20006"] = [168,195] let s:lib.Codec.encoding_table["20054"] = [168,196] let s:lib.Codec.encoding_table["20083"] = [168,197] let s:lib.Codec.encoding_table["20107"] = [168,198] let s:lib.Codec.encoding_table["20123"] = [168,199] let s:lib.Codec.encoding_table["20126"] = [168,200] let s:lib.Codec.encoding_table["20139"] = [168,201] let s:lib.Codec.encoding_table["20140"] = [168,202] let s:lib.Codec.encoding_table["20335"] = [168,203] let s:lib.Codec.encoding_table["20381"] = [168,204] let s:lib.Codec.encoding_table["20365"] = [168,205] let s:lib.Codec.encoding_table["20339"] = [168,206] let s:lib.Codec.encoding_table["20351"] = [168,207] let s:lib.Codec.encoding_table["20332"] = [168,208] let s:lib.Codec.encoding_table["20379"] = [168,209] let s:lib.Codec.encoding_table["20363"] = [168,210] let s:lib.Codec.encoding_table["20358"] = [168,211] let s:lib.Codec.encoding_table["20355"] = [168,212] let s:lib.Codec.encoding_table["20336"] = [168,213] let s:lib.Codec.encoding_table["20341"] = [168,214] let s:lib.Codec.encoding_table["20360"] = [168,215] let s:lib.Codec.encoding_table["20329"] = [168,216] let s:lib.Codec.encoding_table["20347"] = [168,217] let s:lib.Codec.encoding_table["20374"] = [168,218] let s:lib.Codec.encoding_table["20350"] = [168,219] let s:lib.Codec.encoding_table["20367"] = [168,220] let s:lib.Codec.encoding_table["20369"] = [168,221] let s:lib.Codec.encoding_table["20346"] = [168,222] let s:lib.Codec.encoding_table["20820"] = [168,223] let s:lib.Codec.encoding_table["20818"] = [168,224] let s:lib.Codec.encoding_table["20821"] = [168,225] let s:lib.Codec.encoding_table["20841"] = [168,226] let s:lib.Codec.encoding_table["20855"] = [168,227] let s:lib.Codec.encoding_table["20854"] = [168,228] let s:lib.Codec.encoding_table["20856"] = [168,229] let s:lib.Codec.encoding_table["20925"] = [168,230] let s:lib.Codec.encoding_table["20989"] = [168,231] let s:lib.Codec.encoding_table["21051"] = [168,232] let s:lib.Codec.encoding_table["21048"] = [168,233] let s:lib.Codec.encoding_table["21047"] = [168,234] let s:lib.Codec.encoding_table["21050"] = [168,235] let s:lib.Codec.encoding_table["21040"] = [168,236] let s:lib.Codec.encoding_table["21038"] = [168,237] let s:lib.Codec.encoding_table["21046"] = [168,238] let s:lib.Codec.encoding_table["21057"] = [168,239] let s:lib.Codec.encoding_table["21182"] = [168,240] let s:lib.Codec.encoding_table["21179"] = [168,241] let s:lib.Codec.encoding_table["21330"] = [168,242] let s:lib.Codec.encoding_table["21332"] = [168,243] let s:lib.Codec.encoding_table["21331"] = [168,244] let s:lib.Codec.encoding_table["21329"] = [168,245] let s:lib.Codec.encoding_table["21350"] = [168,246] let s:lib.Codec.encoding_table["21367"] = [168,247] let s:lib.Codec.encoding_table["21368"] = [168,248] let s:lib.Codec.encoding_table["21369"] = [168,249] let s:lib.Codec.encoding_table["21462"] = [168,250] let s:lib.Codec.encoding_table["21460"] = [168,251] let s:lib.Codec.encoding_table["21463"] = [168,252] let s:lib.Codec.encoding_table["21619"] = [168,253] let s:lib.Codec.encoding_table["21621"] = [168,254] let s:lib.Codec.encoding_table["21654"] = [169,64] let s:lib.Codec.encoding_table["21624"] = [169,65] let s:lib.Codec.encoding_table["21653"] = [169,66] let s:lib.Codec.encoding_table["21632"] = [169,67] let s:lib.Codec.encoding_table["21627"] = [169,68] let s:lib.Codec.encoding_table["21623"] = [169,69] let s:lib.Codec.encoding_table["21636"] = [169,70] let s:lib.Codec.encoding_table["21650"] = [169,71] let s:lib.Codec.encoding_table["21638"] = [169,72] let s:lib.Codec.encoding_table["21628"] = [169,73] let s:lib.Codec.encoding_table["21648"] = [169,74] let s:lib.Codec.encoding_table["21617"] = [169,75] let s:lib.Codec.encoding_table["21622"] = [169,76] let s:lib.Codec.encoding_table["21644"] = [169,77] let s:lib.Codec.encoding_table["21658"] = [169,78] let s:lib.Codec.encoding_table["21602"] = [169,79] let s:lib.Codec.encoding_table["21608"] = [169,80] let s:lib.Codec.encoding_table["21643"] = [169,81] let s:lib.Codec.encoding_table["21629"] = [169,82] let s:lib.Codec.encoding_table["21646"] = [169,83] let s:lib.Codec.encoding_table["22266"] = [169,84] let s:lib.Codec.encoding_table["22403"] = [169,85] let s:lib.Codec.encoding_table["22391"] = [169,86] let s:lib.Codec.encoding_table["22378"] = [169,87] let s:lib.Codec.encoding_table["22377"] = [169,88] let s:lib.Codec.encoding_table["22369"] = [169,89] let s:lib.Codec.encoding_table["22374"] = [169,90] let s:lib.Codec.encoding_table["22372"] = [169,91] let s:lib.Codec.encoding_table["22396"] = [169,92] let s:lib.Codec.encoding_table["22812"] = [169,93] let s:lib.Codec.encoding_table["22857"] = [169,94] let s:lib.Codec.encoding_table["22855"] = [169,95] let s:lib.Codec.encoding_table["22856"] = [169,96] let s:lib.Codec.encoding_table["22852"] = [169,97] let s:lib.Codec.encoding_table["22868"] = [169,98] let s:lib.Codec.encoding_table["22974"] = [169,99] let s:lib.Codec.encoding_table["22971"] = [169,100] let s:lib.Codec.encoding_table["22996"] = [169,101] let s:lib.Codec.encoding_table["22969"] = [169,102] let s:lib.Codec.encoding_table["22958"] = [169,103] let s:lib.Codec.encoding_table["22993"] = [169,104] let s:lib.Codec.encoding_table["22982"] = [169,105] let s:lib.Codec.encoding_table["22992"] = [169,106] let s:lib.Codec.encoding_table["22989"] = [169,107] let s:lib.Codec.encoding_table["22987"] = [169,108] let s:lib.Codec.encoding_table["22995"] = [169,109] let s:lib.Codec.encoding_table["22986"] = [169,110] let s:lib.Codec.encoding_table["22959"] = [169,111] let s:lib.Codec.encoding_table["22963"] = [169,112] let s:lib.Codec.encoding_table["22994"] = [169,113] let s:lib.Codec.encoding_table["22981"] = [169,114] let s:lib.Codec.encoding_table["23391"] = [169,115] let s:lib.Codec.encoding_table["23396"] = [169,116] let s:lib.Codec.encoding_table["23395"] = [169,117] let s:lib.Codec.encoding_table["23447"] = [169,118] let s:lib.Codec.encoding_table["23450"] = [169,119] let s:lib.Codec.encoding_table["23448"] = [169,120] let s:lib.Codec.encoding_table["23452"] = [169,121] let s:lib.Codec.encoding_table["23449"] = [169,122] let s:lib.Codec.encoding_table["23451"] = [169,123] let s:lib.Codec.encoding_table["23578"] = [169,124] let s:lib.Codec.encoding_table["23624"] = [169,125] let s:lib.Codec.encoding_table["23621"] = [169,126] let s:lib.Codec.encoding_table["23622"] = [169,161] let s:lib.Codec.encoding_table["23735"] = [169,162] let s:lib.Codec.encoding_table["23713"] = [169,163] let s:lib.Codec.encoding_table["23736"] = [169,164] let s:lib.Codec.encoding_table["23721"] = [169,165] let s:lib.Codec.encoding_table["23723"] = [169,166] let s:lib.Codec.encoding_table["23729"] = [169,167] let s:lib.Codec.encoding_table["23731"] = [169,168] let s:lib.Codec.encoding_table["24088"] = [169,169] let s:lib.Codec.encoding_table["24090"] = [169,170] let s:lib.Codec.encoding_table["24086"] = [169,171] let s:lib.Codec.encoding_table["24085"] = [169,172] let s:lib.Codec.encoding_table["24091"] = [169,173] let s:lib.Codec.encoding_table["24081"] = [169,174] let s:lib.Codec.encoding_table["24184"] = [169,175] let s:lib.Codec.encoding_table["24218"] = [169,176] let s:lib.Codec.encoding_table["24215"] = [169,177] let s:lib.Codec.encoding_table["24220"] = [169,178] let s:lib.Codec.encoding_table["24213"] = [169,179] let s:lib.Codec.encoding_table["24214"] = [169,180] let s:lib.Codec.encoding_table["24310"] = [169,181] let s:lib.Codec.encoding_table["24358"] = [169,182] let s:lib.Codec.encoding_table["24359"] = [169,183] let s:lib.Codec.encoding_table["24361"] = [169,184] let s:lib.Codec.encoding_table["24448"] = [169,185] let s:lib.Codec.encoding_table["24449"] = [169,186] let s:lib.Codec.encoding_table["24447"] = [169,187] let s:lib.Codec.encoding_table["24444"] = [169,188] let s:lib.Codec.encoding_table["24541"] = [169,189] let s:lib.Codec.encoding_table["24544"] = [169,190] let s:lib.Codec.encoding_table["24573"] = [169,191] let s:lib.Codec.encoding_table["24565"] = [169,192] let s:lib.Codec.encoding_table["24575"] = [169,193] let s:lib.Codec.encoding_table["24591"] = [169,194] let s:lib.Codec.encoding_table["24596"] = [169,195] let s:lib.Codec.encoding_table["24623"] = [169,196] let s:lib.Codec.encoding_table["24629"] = [169,197] let s:lib.Codec.encoding_table["24598"] = [169,198] let s:lib.Codec.encoding_table["24618"] = [169,199] let s:lib.Codec.encoding_table["24597"] = [169,200] let s:lib.Codec.encoding_table["24609"] = [169,201] let s:lib.Codec.encoding_table["24615"] = [169,202] let s:lib.Codec.encoding_table["24617"] = [169,203] let s:lib.Codec.encoding_table["24619"] = [169,204] let s:lib.Codec.encoding_table["24603"] = [169,205] let s:lib.Codec.encoding_table["25110"] = [169,206] let s:lib.Codec.encoding_table["25109"] = [169,207] let s:lib.Codec.encoding_table["25151"] = [169,208] let s:lib.Codec.encoding_table["25150"] = [169,209] let s:lib.Codec.encoding_table["25152"] = [169,210] let s:lib.Codec.encoding_table["25215"] = [169,211] let s:lib.Codec.encoding_table["25289"] = [169,212] let s:lib.Codec.encoding_table["25292"] = [169,213] let s:lib.Codec.encoding_table["25284"] = [169,214] let s:lib.Codec.encoding_table["25279"] = [169,215] let s:lib.Codec.encoding_table["25282"] = [169,216] let s:lib.Codec.encoding_table["25273"] = [169,217] let s:lib.Codec.encoding_table["25298"] = [169,218] let s:lib.Codec.encoding_table["25307"] = [169,219] let s:lib.Codec.encoding_table["25259"] = [169,220] let s:lib.Codec.encoding_table["25299"] = [169,221] let s:lib.Codec.encoding_table["25300"] = [169,222] let s:lib.Codec.encoding_table["25291"] = [169,223] let s:lib.Codec.encoding_table["25288"] = [169,224] let s:lib.Codec.encoding_table["25256"] = [169,225] let s:lib.Codec.encoding_table["25277"] = [169,226] let s:lib.Codec.encoding_table["25276"] = [169,227] let s:lib.Codec.encoding_table["25296"] = [169,228] let s:lib.Codec.encoding_table["25305"] = [169,229] let s:lib.Codec.encoding_table["25287"] = [169,230] let s:lib.Codec.encoding_table["25293"] = [169,231] let s:lib.Codec.encoding_table["25269"] = [169,232] let s:lib.Codec.encoding_table["25306"] = [169,233] let s:lib.Codec.encoding_table["25265"] = [169,234] let s:lib.Codec.encoding_table["25304"] = [169,235] let s:lib.Codec.encoding_table["25302"] = [169,236] let s:lib.Codec.encoding_table["25303"] = [169,237] let s:lib.Codec.encoding_table["25286"] = [169,238] let s:lib.Codec.encoding_table["25260"] = [169,239] let s:lib.Codec.encoding_table["25294"] = [169,240] let s:lib.Codec.encoding_table["25918"] = [169,241] let s:lib.Codec.encoding_table["26023"] = [169,242] let s:lib.Codec.encoding_table["26044"] = [169,243] let s:lib.Codec.encoding_table["26106"] = [169,244] let s:lib.Codec.encoding_table["26132"] = [169,245] let s:lib.Codec.encoding_table["26131"] = [169,246] let s:lib.Codec.encoding_table["26124"] = [169,247] let s:lib.Codec.encoding_table["26118"] = [169,248] let s:lib.Codec.encoding_table["26114"] = [169,249] let s:lib.Codec.encoding_table["26126"] = [169,250] let s:lib.Codec.encoding_table["26112"] = [169,251] let s:lib.Codec.encoding_table["26127"] = [169,252] let s:lib.Codec.encoding_table["26133"] = [169,253] let s:lib.Codec.encoding_table["26122"] = [169,254] let s:lib.Codec.encoding_table["26119"] = [170,64] let s:lib.Codec.encoding_table["26381"] = [170,65] let s:lib.Codec.encoding_table["26379"] = [170,66] let s:lib.Codec.encoding_table["26477"] = [170,67] let s:lib.Codec.encoding_table["26507"] = [170,68] let s:lib.Codec.encoding_table["26517"] = [170,69] let s:lib.Codec.encoding_table["26481"] = [170,70] let s:lib.Codec.encoding_table["26524"] = [170,71] let s:lib.Codec.encoding_table["26483"] = [170,72] let s:lib.Codec.encoding_table["26487"] = [170,73] let s:lib.Codec.encoding_table["26503"] = [170,74] let s:lib.Codec.encoding_table["26525"] = [170,75] let s:lib.Codec.encoding_table["26519"] = [170,76] let s:lib.Codec.encoding_table["26479"] = [170,77] let s:lib.Codec.encoding_table["26480"] = [170,78] let s:lib.Codec.encoding_table["26495"] = [170,79] let s:lib.Codec.encoding_table["26505"] = [170,80] let s:lib.Codec.encoding_table["26494"] = [170,81] let s:lib.Codec.encoding_table["26512"] = [170,82] let s:lib.Codec.encoding_table["26485"] = [170,83] let s:lib.Codec.encoding_table["26522"] = [170,84] let s:lib.Codec.encoding_table["26515"] = [170,85] let s:lib.Codec.encoding_table["26492"] = [170,86] let s:lib.Codec.encoding_table["26474"] = [170,87] let s:lib.Codec.encoding_table["26482"] = [170,88] let s:lib.Codec.encoding_table["27427"] = [170,89] let s:lib.Codec.encoding_table["27494"] = [170,90] let s:lib.Codec.encoding_table["27495"] = [170,91] let s:lib.Codec.encoding_table["27519"] = [170,92] let s:lib.Codec.encoding_table["27667"] = [170,93] let s:lib.Codec.encoding_table["27675"] = [170,94] let s:lib.Codec.encoding_table["27875"] = [170,95] let s:lib.Codec.encoding_table["27880"] = [170,96] let s:lib.Codec.encoding_table["27891"] = [170,97] let s:lib.Codec.encoding_table["27825"] = [170,98] let s:lib.Codec.encoding_table["27852"] = [170,99] let s:lib.Codec.encoding_table["27877"] = [170,100] let s:lib.Codec.encoding_table["27827"] = [170,101] let s:lib.Codec.encoding_table["27837"] = [170,102] let s:lib.Codec.encoding_table["27838"] = [170,103] let s:lib.Codec.encoding_table["27836"] = [170,104] let s:lib.Codec.encoding_table["27874"] = [170,105] let s:lib.Codec.encoding_table["27819"] = [170,106] let s:lib.Codec.encoding_table["27861"] = [170,107] let s:lib.Codec.encoding_table["27859"] = [170,108] let s:lib.Codec.encoding_table["27832"] = [170,109] let s:lib.Codec.encoding_table["27844"] = [170,110] let s:lib.Codec.encoding_table["27833"] = [170,111] let s:lib.Codec.encoding_table["27841"] = [170,112] let s:lib.Codec.encoding_table["27822"] = [170,113] let s:lib.Codec.encoding_table["27863"] = [170,114] let s:lib.Codec.encoding_table["27845"] = [170,115] let s:lib.Codec.encoding_table["27889"] = [170,116] let s:lib.Codec.encoding_table["27839"] = [170,117] let s:lib.Codec.encoding_table["27835"] = [170,118] let s:lib.Codec.encoding_table["27873"] = [170,119] let s:lib.Codec.encoding_table["27867"] = [170,120] let s:lib.Codec.encoding_table["27850"] = [170,121] let s:lib.Codec.encoding_table["27820"] = [170,122] let s:lib.Codec.encoding_table["27887"] = [170,123] let s:lib.Codec.encoding_table["27868"] = [170,124] let s:lib.Codec.encoding_table["27862"] = [170,125] let s:lib.Codec.encoding_table["27872"] = [170,126] let s:lib.Codec.encoding_table["28821"] = [170,161] let s:lib.Codec.encoding_table["28814"] = [170,162] let s:lib.Codec.encoding_table["28818"] = [170,163] let s:lib.Codec.encoding_table["28810"] = [170,164] let s:lib.Codec.encoding_table["28825"] = [170,165] let s:lib.Codec.encoding_table["29228"] = [170,166] let s:lib.Codec.encoding_table["29229"] = [170,167] let s:lib.Codec.encoding_table["29240"] = [170,168] let s:lib.Codec.encoding_table["29256"] = [170,169] let s:lib.Codec.encoding_table["29287"] = [170,170] let s:lib.Codec.encoding_table["29289"] = [170,171] let s:lib.Codec.encoding_table["29376"] = [170,172] let s:lib.Codec.encoding_table["29390"] = [170,173] let s:lib.Codec.encoding_table["29401"] = [170,174] let s:lib.Codec.encoding_table["29399"] = [170,175] let s:lib.Codec.encoding_table["29392"] = [170,176] let s:lib.Codec.encoding_table["29609"] = [170,177] let s:lib.Codec.encoding_table["29608"] = [170,178] let s:lib.Codec.encoding_table["29599"] = [170,179] let s:lib.Codec.encoding_table["29611"] = [170,180] let s:lib.Codec.encoding_table["29605"] = [170,181] let s:lib.Codec.encoding_table["30013"] = [170,182] let s:lib.Codec.encoding_table["30109"] = [170,183] let s:lib.Codec.encoding_table["30105"] = [170,184] let s:lib.Codec.encoding_table["30106"] = [170,185] let s:lib.Codec.encoding_table["30340"] = [170,186] let s:lib.Codec.encoding_table["30402"] = [170,187] let s:lib.Codec.encoding_table["30450"] = [170,188] let s:lib.Codec.encoding_table["30452"] = [170,189] let s:lib.Codec.encoding_table["30693"] = [170,190] let s:lib.Codec.encoding_table["30717"] = [170,191] let s:lib.Codec.encoding_table["31038"] = [170,192] let s:lib.Codec.encoding_table["31040"] = [170,193] let s:lib.Codec.encoding_table["31041"] = [170,194] let s:lib.Codec.encoding_table["31177"] = [170,195] let s:lib.Codec.encoding_table["31176"] = [170,196] let s:lib.Codec.encoding_table["31354"] = [170,197] let s:lib.Codec.encoding_table["31353"] = [170,198] let s:lib.Codec.encoding_table["31482"] = [170,199] let s:lib.Codec.encoding_table["31998"] = [170,200] let s:lib.Codec.encoding_table["32596"] = [170,201] let s:lib.Codec.encoding_table["32652"] = [170,202] let s:lib.Codec.encoding_table["32651"] = [170,203] let s:lib.Codec.encoding_table["32773"] = [170,204] let s:lib.Codec.encoding_table["32954"] = [170,205] let s:lib.Codec.encoding_table["32933"] = [170,206] let s:lib.Codec.encoding_table["32930"] = [170,207] let s:lib.Codec.encoding_table["32945"] = [170,208] let s:lib.Codec.encoding_table["32929"] = [170,209] let s:lib.Codec.encoding_table["32939"] = [170,210] let s:lib.Codec.encoding_table["32937"] = [170,211] let s:lib.Codec.encoding_table["32948"] = [170,212] let s:lib.Codec.encoding_table["32938"] = [170,213] let s:lib.Codec.encoding_table["32943"] = [170,214] let s:lib.Codec.encoding_table["33253"] = [170,215] let s:lib.Codec.encoding_table["33278"] = [170,216] let s:lib.Codec.encoding_table["33293"] = [170,217] let s:lib.Codec.encoding_table["33459"] = [170,218] let s:lib.Codec.encoding_table["33437"] = [170,219] let s:lib.Codec.encoding_table["33433"] = [170,220] let s:lib.Codec.encoding_table["33453"] = [170,221] let s:lib.Codec.encoding_table["33469"] = [170,222] let s:lib.Codec.encoding_table["33439"] = [170,223] let s:lib.Codec.encoding_table["33465"] = [170,224] let s:lib.Codec.encoding_table["33457"] = [170,225] let s:lib.Codec.encoding_table["33452"] = [170,226] let s:lib.Codec.encoding_table["33445"] = [170,227] let s:lib.Codec.encoding_table["33455"] = [170,228] let s:lib.Codec.encoding_table["33464"] = [170,229] let s:lib.Codec.encoding_table["33443"] = [170,230] let s:lib.Codec.encoding_table["33456"] = [170,231] let s:lib.Codec.encoding_table["33470"] = [170,232] let s:lib.Codec.encoding_table["33463"] = [170,233] let s:lib.Codec.encoding_table["34382"] = [170,234] let s:lib.Codec.encoding_table["34417"] = [170,235] let s:lib.Codec.encoding_table["21021"] = [170,236] let s:lib.Codec.encoding_table["34920"] = [170,237] let s:lib.Codec.encoding_table["36555"] = [170,238] let s:lib.Codec.encoding_table["36814"] = [170,239] let s:lib.Codec.encoding_table["36820"] = [170,240] let s:lib.Codec.encoding_table["36817"] = [170,241] let s:lib.Codec.encoding_table["37045"] = [170,242] let s:lib.Codec.encoding_table["37048"] = [170,243] let s:lib.Codec.encoding_table["37041"] = [170,244] let s:lib.Codec.encoding_table["37046"] = [170,245] let s:lib.Codec.encoding_table["37319"] = [170,246] let s:lib.Codec.encoding_table["37329"] = [170,247] let s:lib.Codec.encoding_table["38263"] = [170,248] let s:lib.Codec.encoding_table["38272"] = [170,249] let s:lib.Codec.encoding_table["38428"] = [170,250] let s:lib.Codec.encoding_table["38464"] = [170,251] let s:lib.Codec.encoding_table["38463"] = [170,252] let s:lib.Codec.encoding_table["38459"] = [170,253] let s:lib.Codec.encoding_table["38468"] = [170,254] let s:lib.Codec.encoding_table["38466"] = [171,64] let s:lib.Codec.encoding_table["38585"] = [171,65] let s:lib.Codec.encoding_table["38632"] = [171,66] let s:lib.Codec.encoding_table["38738"] = [171,67] let s:lib.Codec.encoding_table["38750"] = [171,68] let s:lib.Codec.encoding_table["20127"] = [171,69] let s:lib.Codec.encoding_table["20141"] = [171,70] let s:lib.Codec.encoding_table["20142"] = [171,71] let s:lib.Codec.encoding_table["20449"] = [171,72] let s:lib.Codec.encoding_table["20405"] = [171,73] let s:lib.Codec.encoding_table["20399"] = [171,74] let s:lib.Codec.encoding_table["20415"] = [171,75] let s:lib.Codec.encoding_table["20448"] = [171,76] let s:lib.Codec.encoding_table["20433"] = [171,77] let s:lib.Codec.encoding_table["20431"] = [171,78] let s:lib.Codec.encoding_table["20445"] = [171,79] let s:lib.Codec.encoding_table["20419"] = [171,80] let s:lib.Codec.encoding_table["20406"] = [171,81] let s:lib.Codec.encoding_table["20440"] = [171,82] let s:lib.Codec.encoding_table["20447"] = [171,83] let s:lib.Codec.encoding_table["20426"] = [171,84] let s:lib.Codec.encoding_table["20439"] = [171,85] let s:lib.Codec.encoding_table["20398"] = [171,86] let s:lib.Codec.encoding_table["20432"] = [171,87] let s:lib.Codec.encoding_table["20420"] = [171,88] let s:lib.Codec.encoding_table["20418"] = [171,89] let s:lib.Codec.encoding_table["20442"] = [171,90] let s:lib.Codec.encoding_table["20430"] = [171,91] let s:lib.Codec.encoding_table["20446"] = [171,92] let s:lib.Codec.encoding_table["20407"] = [171,93] let s:lib.Codec.encoding_table["20823"] = [171,94] let s:lib.Codec.encoding_table["20882"] = [171,95] let s:lib.Codec.encoding_table["20881"] = [171,96] let s:lib.Codec.encoding_table["20896"] = [171,97] let s:lib.Codec.encoding_table["21070"] = [171,98] let s:lib.Codec.encoding_table["21059"] = [171,99] let s:lib.Codec.encoding_table["21066"] = [171,100] let s:lib.Codec.encoding_table["21069"] = [171,101] let s:lib.Codec.encoding_table["21068"] = [171,102] let s:lib.Codec.encoding_table["21067"] = [171,103] let s:lib.Codec.encoding_table["21063"] = [171,104] let s:lib.Codec.encoding_table["21191"] = [171,105] let s:lib.Codec.encoding_table["21193"] = [171,106] let s:lib.Codec.encoding_table["21187"] = [171,107] let s:lib.Codec.encoding_table["21185"] = [171,108] let s:lib.Codec.encoding_table["21261"] = [171,109] let s:lib.Codec.encoding_table["21335"] = [171,110] let s:lib.Codec.encoding_table["21371"] = [171,111] let s:lib.Codec.encoding_table["21402"] = [171,112] let s:lib.Codec.encoding_table["21467"] = [171,113] let s:lib.Codec.encoding_table["21676"] = [171,114] let s:lib.Codec.encoding_table["21696"] = [171,115] let s:lib.Codec.encoding_table["21672"] = [171,116] let s:lib.Codec.encoding_table["21710"] = [171,117] let s:lib.Codec.encoding_table["21705"] = [171,118] let s:lib.Codec.encoding_table["21688"] = [171,119] let s:lib.Codec.encoding_table["21670"] = [171,120] let s:lib.Codec.encoding_table["21683"] = [171,121] let s:lib.Codec.encoding_table["21703"] = [171,122] let s:lib.Codec.encoding_table["21698"] = [171,123] let s:lib.Codec.encoding_table["21693"] = [171,124] let s:lib.Codec.encoding_table["21674"] = [171,125] let s:lib.Codec.encoding_table["21697"] = [171,126] let s:lib.Codec.encoding_table["21700"] = [171,161] let s:lib.Codec.encoding_table["21704"] = [171,162] let s:lib.Codec.encoding_table["21679"] = [171,163] let s:lib.Codec.encoding_table["21675"] = [171,164] let s:lib.Codec.encoding_table["21681"] = [171,165] let s:lib.Codec.encoding_table["21691"] = [171,166] let s:lib.Codec.encoding_table["21673"] = [171,167] let s:lib.Codec.encoding_table["21671"] = [171,168] let s:lib.Codec.encoding_table["21695"] = [171,169] let s:lib.Codec.encoding_table["22271"] = [171,170] let s:lib.Codec.encoding_table["22402"] = [171,171] let s:lib.Codec.encoding_table["22411"] = [171,172] let s:lib.Codec.encoding_table["22432"] = [171,173] let s:lib.Codec.encoding_table["22435"] = [171,174] let s:lib.Codec.encoding_table["22434"] = [171,175] let s:lib.Codec.encoding_table["22478"] = [171,176] let s:lib.Codec.encoding_table["22446"] = [171,177] let s:lib.Codec.encoding_table["22419"] = [171,178] let s:lib.Codec.encoding_table["22869"] = [171,179] let s:lib.Codec.encoding_table["22865"] = [171,180] let s:lib.Codec.encoding_table["22863"] = [171,181] let s:lib.Codec.encoding_table["22862"] = [171,182] let s:lib.Codec.encoding_table["22864"] = [171,183] let s:lib.Codec.encoding_table["23004"] = [171,184] let s:lib.Codec.encoding_table["23000"] = [171,185] let s:lib.Codec.encoding_table["23039"] = [171,186] let s:lib.Codec.encoding_table["23011"] = [171,187] let s:lib.Codec.encoding_table["23016"] = [171,188] let s:lib.Codec.encoding_table["23043"] = [171,189] let s:lib.Codec.encoding_table["23013"] = [171,190] let s:lib.Codec.encoding_table["23018"] = [171,191] let s:lib.Codec.encoding_table["23002"] = [171,192] let s:lib.Codec.encoding_table["23014"] = [171,193] let s:lib.Codec.encoding_table["23041"] = [171,194] let s:lib.Codec.encoding_table["23035"] = [171,195] let s:lib.Codec.encoding_table["23401"] = [171,196] let s:lib.Codec.encoding_table["23459"] = [171,197] let s:lib.Codec.encoding_table["23462"] = [171,198] let s:lib.Codec.encoding_table["23460"] = [171,199] let s:lib.Codec.encoding_table["23458"] = [171,200] let s:lib.Codec.encoding_table["23461"] = [171,201] let s:lib.Codec.encoding_table["23553"] = [171,202] let s:lib.Codec.encoding_table["23630"] = [171,203] let s:lib.Codec.encoding_table["23631"] = [171,204] let s:lib.Codec.encoding_table["23629"] = [171,205] let s:lib.Codec.encoding_table["23627"] = [171,206] let s:lib.Codec.encoding_table["23769"] = [171,207] let s:lib.Codec.encoding_table["23762"] = [171,208] let s:lib.Codec.encoding_table["24055"] = [171,209] let s:lib.Codec.encoding_table["24093"] = [171,210] let s:lib.Codec.encoding_table["24101"] = [171,211] let s:lib.Codec.encoding_table["24095"] = [171,212] let s:lib.Codec.encoding_table["24189"] = [171,213] let s:lib.Codec.encoding_table["24224"] = [171,214] let s:lib.Codec.encoding_table["24230"] = [171,215] let s:lib.Codec.encoding_table["24314"] = [171,216] let s:lib.Codec.encoding_table["24328"] = [171,217] let s:lib.Codec.encoding_table["24365"] = [171,218] let s:lib.Codec.encoding_table["24421"] = [171,219] let s:lib.Codec.encoding_table["24456"] = [171,220] let s:lib.Codec.encoding_table["24453"] = [171,221] let s:lib.Codec.encoding_table["24458"] = [171,222] let s:lib.Codec.encoding_table["24459"] = [171,223] let s:lib.Codec.encoding_table["24455"] = [171,224] let s:lib.Codec.encoding_table["24460"] = [171,225] let s:lib.Codec.encoding_table["24457"] = [171,226] let s:lib.Codec.encoding_table["24594"] = [171,227] let s:lib.Codec.encoding_table["24605"] = [171,228] let s:lib.Codec.encoding_table["24608"] = [171,229] let s:lib.Codec.encoding_table["24613"] = [171,230] let s:lib.Codec.encoding_table["24590"] = [171,231] let s:lib.Codec.encoding_table["24616"] = [171,232] let s:lib.Codec.encoding_table["24653"] = [171,233] let s:lib.Codec.encoding_table["24688"] = [171,234] let s:lib.Codec.encoding_table["24680"] = [171,235] let s:lib.Codec.encoding_table["24674"] = [171,236] let s:lib.Codec.encoding_table["24646"] = [171,237] let s:lib.Codec.encoding_table["24643"] = [171,238] let s:lib.Codec.encoding_table["24684"] = [171,239] let s:lib.Codec.encoding_table["24683"] = [171,240] let s:lib.Codec.encoding_table["24682"] = [171,241] let s:lib.Codec.encoding_table["24676"] = [171,242] let s:lib.Codec.encoding_table["25153"] = [171,243] let s:lib.Codec.encoding_table["25308"] = [171,244] let s:lib.Codec.encoding_table["25366"] = [171,245] let s:lib.Codec.encoding_table["25353"] = [171,246] let s:lib.Codec.encoding_table["25340"] = [171,247] let s:lib.Codec.encoding_table["25325"] = [171,248] let s:lib.Codec.encoding_table["25345"] = [171,249] let s:lib.Codec.encoding_table["25326"] = [171,250] let s:lib.Codec.encoding_table["25341"] = [171,251] let s:lib.Codec.encoding_table["25351"] = [171,252] let s:lib.Codec.encoding_table["25329"] = [171,253] let s:lib.Codec.encoding_table["25335"] = [171,254] let s:lib.Codec.encoding_table["25327"] = [172,64] let s:lib.Codec.encoding_table["25324"] = [172,65] let s:lib.Codec.encoding_table["25342"] = [172,66] let s:lib.Codec.encoding_table["25332"] = [172,67] let s:lib.Codec.encoding_table["25361"] = [172,68] let s:lib.Codec.encoding_table["25346"] = [172,69] let s:lib.Codec.encoding_table["25919"] = [172,70] let s:lib.Codec.encoding_table["25925"] = [172,71] let s:lib.Codec.encoding_table["26027"] = [172,72] let s:lib.Codec.encoding_table["26045"] = [172,73] let s:lib.Codec.encoding_table["26082"] = [172,74] let s:lib.Codec.encoding_table["26149"] = [172,75] let s:lib.Codec.encoding_table["26157"] = [172,76] let s:lib.Codec.encoding_table["26144"] = [172,77] let s:lib.Codec.encoding_table["26151"] = [172,78] let s:lib.Codec.encoding_table["26159"] = [172,79] let s:lib.Codec.encoding_table["26143"] = [172,80] let s:lib.Codec.encoding_table["26152"] = [172,81] let s:lib.Codec.encoding_table["26161"] = [172,82] let s:lib.Codec.encoding_table["26148"] = [172,83] let s:lib.Codec.encoding_table["26359"] = [172,84] let s:lib.Codec.encoding_table["26623"] = [172,85] let s:lib.Codec.encoding_table["26579"] = [172,86] let s:lib.Codec.encoding_table["26609"] = [172,87] let s:lib.Codec.encoding_table["26580"] = [172,88] let s:lib.Codec.encoding_table["26576"] = [172,89] let s:lib.Codec.encoding_table["26604"] = [172,90] let s:lib.Codec.encoding_table["26550"] = [172,91] let s:lib.Codec.encoding_table["26543"] = [172,92] let s:lib.Codec.encoding_table["26613"] = [172,93] let s:lib.Codec.encoding_table["26601"] = [172,94] let s:lib.Codec.encoding_table["26607"] = [172,95] let s:lib.Codec.encoding_table["26564"] = [172,96] let s:lib.Codec.encoding_table["26577"] = [172,97] let s:lib.Codec.encoding_table["26548"] = [172,98] let s:lib.Codec.encoding_table["26586"] = [172,99] let s:lib.Codec.encoding_table["26597"] = [172,100] let s:lib.Codec.encoding_table["26552"] = [172,101] let s:lib.Codec.encoding_table["26575"] = [172,102] let s:lib.Codec.encoding_table["26590"] = [172,103] let s:lib.Codec.encoding_table["26611"] = [172,104] let s:lib.Codec.encoding_table["26544"] = [172,105] let s:lib.Codec.encoding_table["26585"] = [172,106] let s:lib.Codec.encoding_table["26594"] = [172,107] let s:lib.Codec.encoding_table["26589"] = [172,108] let s:lib.Codec.encoding_table["26578"] = [172,109] let s:lib.Codec.encoding_table["27498"] = [172,110] let s:lib.Codec.encoding_table["27523"] = [172,111] let s:lib.Codec.encoding_table["27526"] = [172,112] let s:lib.Codec.encoding_table["27573"] = [172,113] let s:lib.Codec.encoding_table["27602"] = [172,114] let s:lib.Codec.encoding_table["27607"] = [172,115] let s:lib.Codec.encoding_table["27679"] = [172,116] let s:lib.Codec.encoding_table["27849"] = [172,117] let s:lib.Codec.encoding_table["27915"] = [172,118] let s:lib.Codec.encoding_table["27954"] = [172,119] let s:lib.Codec.encoding_table["27946"] = [172,120] let s:lib.Codec.encoding_table["27969"] = [172,121] let s:lib.Codec.encoding_table["27941"] = [172,122] let s:lib.Codec.encoding_table["27916"] = [172,123] let s:lib.Codec.encoding_table["27953"] = [172,124] let s:lib.Codec.encoding_table["27934"] = [172,125] let s:lib.Codec.encoding_table["27927"] = [172,126] let s:lib.Codec.encoding_table["27963"] = [172,161] let s:lib.Codec.encoding_table["27965"] = [172,162] let s:lib.Codec.encoding_table["27966"] = [172,163] let s:lib.Codec.encoding_table["27958"] = [172,164] let s:lib.Codec.encoding_table["27931"] = [172,165] let s:lib.Codec.encoding_table["27893"] = [172,166] let s:lib.Codec.encoding_table["27961"] = [172,167] let s:lib.Codec.encoding_table["27943"] = [172,168] let s:lib.Codec.encoding_table["27960"] = [172,169] let s:lib.Codec.encoding_table["27945"] = [172,170] let s:lib.Codec.encoding_table["27950"] = [172,171] let s:lib.Codec.encoding_table["27957"] = [172,172] let s:lib.Codec.encoding_table["27918"] = [172,173] let s:lib.Codec.encoding_table["27947"] = [172,174] let s:lib.Codec.encoding_table["28843"] = [172,175] let s:lib.Codec.encoding_table["28858"] = [172,176] let s:lib.Codec.encoding_table["28851"] = [172,177] let s:lib.Codec.encoding_table["28844"] = [172,178] let s:lib.Codec.encoding_table["28847"] = [172,179] let s:lib.Codec.encoding_table["28845"] = [172,180] let s:lib.Codec.encoding_table["28856"] = [172,181] let s:lib.Codec.encoding_table["28846"] = [172,182] let s:lib.Codec.encoding_table["28836"] = [172,183] let s:lib.Codec.encoding_table["29232"] = [172,184] let s:lib.Codec.encoding_table["29298"] = [172,185] let s:lib.Codec.encoding_table["29295"] = [172,186] let s:lib.Codec.encoding_table["29300"] = [172,187] let s:lib.Codec.encoding_table["29417"] = [172,188] let s:lib.Codec.encoding_table["29408"] = [172,189] let s:lib.Codec.encoding_table["29409"] = [172,190] let s:lib.Codec.encoding_table["29623"] = [172,191] let s:lib.Codec.encoding_table["29642"] = [172,192] let s:lib.Codec.encoding_table["29627"] = [172,193] let s:lib.Codec.encoding_table["29618"] = [172,194] let s:lib.Codec.encoding_table["29645"] = [172,195] let s:lib.Codec.encoding_table["29632"] = [172,196] let s:lib.Codec.encoding_table["29619"] = [172,197] let s:lib.Codec.encoding_table["29978"] = [172,198] let s:lib.Codec.encoding_table["29997"] = [172,199] let s:lib.Codec.encoding_table["30031"] = [172,200] let s:lib.Codec.encoding_table["30028"] = [172,201] let s:lib.Codec.encoding_table["30030"] = [172,202] let s:lib.Codec.encoding_table["30027"] = [172,203] let s:lib.Codec.encoding_table["30123"] = [172,204] let s:lib.Codec.encoding_table["30116"] = [172,205] let s:lib.Codec.encoding_table["30117"] = [172,206] let s:lib.Codec.encoding_table["30114"] = [172,207] let s:lib.Codec.encoding_table["30115"] = [172,208] let s:lib.Codec.encoding_table["30328"] = [172,209] let s:lib.Codec.encoding_table["30342"] = [172,210] let s:lib.Codec.encoding_table["30343"] = [172,211] let s:lib.Codec.encoding_table["30344"] = [172,212] let s:lib.Codec.encoding_table["30408"] = [172,213] let s:lib.Codec.encoding_table["30406"] = [172,214] let s:lib.Codec.encoding_table["30403"] = [172,215] let s:lib.Codec.encoding_table["30405"] = [172,216] let s:lib.Codec.encoding_table["30465"] = [172,217] let s:lib.Codec.encoding_table["30457"] = [172,218] let s:lib.Codec.encoding_table["30456"] = [172,219] let s:lib.Codec.encoding_table["30473"] = [172,220] let s:lib.Codec.encoding_table["30475"] = [172,221] let s:lib.Codec.encoding_table["30462"] = [172,222] let s:lib.Codec.encoding_table["30460"] = [172,223] let s:lib.Codec.encoding_table["30471"] = [172,224] let s:lib.Codec.encoding_table["30684"] = [172,225] let s:lib.Codec.encoding_table["30722"] = [172,226] let s:lib.Codec.encoding_table["30740"] = [172,227] let s:lib.Codec.encoding_table["30732"] = [172,228] let s:lib.Codec.encoding_table["30733"] = [172,229] let s:lib.Codec.encoding_table["31046"] = [172,230] let s:lib.Codec.encoding_table["31049"] = [172,231] let s:lib.Codec.encoding_table["31048"] = [172,232] let s:lib.Codec.encoding_table["31047"] = [172,233] let s:lib.Codec.encoding_table["31161"] = [172,234] let s:lib.Codec.encoding_table["31162"] = [172,235] let s:lib.Codec.encoding_table["31185"] = [172,236] let s:lib.Codec.encoding_table["31186"] = [172,237] let s:lib.Codec.encoding_table["31179"] = [172,238] let s:lib.Codec.encoding_table["31359"] = [172,239] let s:lib.Codec.encoding_table["31361"] = [172,240] let s:lib.Codec.encoding_table["31487"] = [172,241] let s:lib.Codec.encoding_table["31485"] = [172,242] let s:lib.Codec.encoding_table["31869"] = [172,243] let s:lib.Codec.encoding_table["32002"] = [172,244] let s:lib.Codec.encoding_table["32005"] = [172,245] let s:lib.Codec.encoding_table["32000"] = [172,246] let s:lib.Codec.encoding_table["32009"] = [172,247] let s:lib.Codec.encoding_table["32007"] = [172,248] let s:lib.Codec.encoding_table["32004"] = [172,249] let s:lib.Codec.encoding_table["32006"] = [172,250] let s:lib.Codec.encoding_table["32568"] = [172,251] let s:lib.Codec.encoding_table["32654"] = [172,252] let s:lib.Codec.encoding_table["32703"] = [172,253] let s:lib.Codec.encoding_table["32772"] = [172,254] let s:lib.Codec.encoding_table["32784"] = [173,64] let s:lib.Codec.encoding_table["32781"] = [173,65] let s:lib.Codec.encoding_table["32785"] = [173,66] let s:lib.Codec.encoding_table["32822"] = [173,67] let s:lib.Codec.encoding_table["32982"] = [173,68] let s:lib.Codec.encoding_table["32997"] = [173,69] let s:lib.Codec.encoding_table["32986"] = [173,70] let s:lib.Codec.encoding_table["32963"] = [173,71] let s:lib.Codec.encoding_table["32964"] = [173,72] let s:lib.Codec.encoding_table["32972"] = [173,73] let s:lib.Codec.encoding_table["32993"] = [173,74] let s:lib.Codec.encoding_table["32987"] = [173,75] let s:lib.Codec.encoding_table["32974"] = [173,76] let s:lib.Codec.encoding_table["32990"] = [173,77] let s:lib.Codec.encoding_table["32996"] = [173,78] let s:lib.Codec.encoding_table["32989"] = [173,79] let s:lib.Codec.encoding_table["33268"] = [173,80] let s:lib.Codec.encoding_table["33314"] = [173,81] let s:lib.Codec.encoding_table["33511"] = [173,82] let s:lib.Codec.encoding_table["33539"] = [173,83] let s:lib.Codec.encoding_table["33541"] = [173,84] let s:lib.Codec.encoding_table["33507"] = [173,85] let s:lib.Codec.encoding_table["33499"] = [173,86] let s:lib.Codec.encoding_table["33510"] = [173,87] let s:lib.Codec.encoding_table["33540"] = [173,88] let s:lib.Codec.encoding_table["33509"] = [173,89] let s:lib.Codec.encoding_table["33538"] = [173,90] let s:lib.Codec.encoding_table["33545"] = [173,91] let s:lib.Codec.encoding_table["33490"] = [173,92] let s:lib.Codec.encoding_table["33495"] = [173,93] let s:lib.Codec.encoding_table["33521"] = [173,94] let s:lib.Codec.encoding_table["33537"] = [173,95] let s:lib.Codec.encoding_table["33500"] = [173,96] let s:lib.Codec.encoding_table["33492"] = [173,97] let s:lib.Codec.encoding_table["33489"] = [173,98] let s:lib.Codec.encoding_table["33502"] = [173,99] let s:lib.Codec.encoding_table["33491"] = [173,100] let s:lib.Codec.encoding_table["33503"] = [173,101] let s:lib.Codec.encoding_table["33519"] = [173,102] let s:lib.Codec.encoding_table["33542"] = [173,103] let s:lib.Codec.encoding_table["34384"] = [173,104] let s:lib.Codec.encoding_table["34425"] = [173,105] let s:lib.Codec.encoding_table["34427"] = [173,106] let s:lib.Codec.encoding_table["34426"] = [173,107] let s:lib.Codec.encoding_table["34893"] = [173,108] let s:lib.Codec.encoding_table["34923"] = [173,109] let s:lib.Codec.encoding_table["35201"] = [173,110] let s:lib.Codec.encoding_table["35284"] = [173,111] let s:lib.Codec.encoding_table["35336"] = [173,112] let s:lib.Codec.encoding_table["35330"] = [173,113] let s:lib.Codec.encoding_table["35331"] = [173,114] let s:lib.Codec.encoding_table["35998"] = [173,115] let s:lib.Codec.encoding_table["36000"] = [173,116] let s:lib.Codec.encoding_table["36212"] = [173,117] let s:lib.Codec.encoding_table["36211"] = [173,118] let s:lib.Codec.encoding_table["36276"] = [173,119] let s:lib.Codec.encoding_table["36557"] = [173,120] let s:lib.Codec.encoding_table["36556"] = [173,121] let s:lib.Codec.encoding_table["36848"] = [173,122] let s:lib.Codec.encoding_table["36838"] = [173,123] let s:lib.Codec.encoding_table["36834"] = [173,124] let s:lib.Codec.encoding_table["36842"] = [173,125] let s:lib.Codec.encoding_table["36837"] = [173,126] let s:lib.Codec.encoding_table["36845"] = [173,161] let s:lib.Codec.encoding_table["36843"] = [173,162] let s:lib.Codec.encoding_table["36836"] = [173,163] let s:lib.Codec.encoding_table["36840"] = [173,164] let s:lib.Codec.encoding_table["37066"] = [173,165] let s:lib.Codec.encoding_table["37070"] = [173,166] let s:lib.Codec.encoding_table["37057"] = [173,167] let s:lib.Codec.encoding_table["37059"] = [173,168] let s:lib.Codec.encoding_table["37195"] = [173,169] let s:lib.Codec.encoding_table["37194"] = [173,170] let s:lib.Codec.encoding_table["37325"] = [173,171] let s:lib.Codec.encoding_table["38274"] = [173,172] let s:lib.Codec.encoding_table["38480"] = [173,173] let s:lib.Codec.encoding_table["38475"] = [173,174] let s:lib.Codec.encoding_table["38476"] = [173,175] let s:lib.Codec.encoding_table["38477"] = [173,176] let s:lib.Codec.encoding_table["38754"] = [173,177] let s:lib.Codec.encoding_table["38761"] = [173,178] let s:lib.Codec.encoding_table["38859"] = [173,179] let s:lib.Codec.encoding_table["38893"] = [173,180] let s:lib.Codec.encoding_table["38899"] = [173,181] let s:lib.Codec.encoding_table["38913"] = [173,182] let s:lib.Codec.encoding_table["39080"] = [173,183] let s:lib.Codec.encoding_table["39131"] = [173,184] let s:lib.Codec.encoding_table["39135"] = [173,185] let s:lib.Codec.encoding_table["39318"] = [173,186] let s:lib.Codec.encoding_table["39321"] = [173,187] let s:lib.Codec.encoding_table["20056"] = [173,188] let s:lib.Codec.encoding_table["20147"] = [173,189] let s:lib.Codec.encoding_table["20492"] = [173,190] let s:lib.Codec.encoding_table["20493"] = [173,191] let s:lib.Codec.encoding_table["20515"] = [173,192] let s:lib.Codec.encoding_table["20463"] = [173,193] let s:lib.Codec.encoding_table["20518"] = [173,194] let s:lib.Codec.encoding_table["20517"] = [173,195] let s:lib.Codec.encoding_table["20472"] = [173,196] let s:lib.Codec.encoding_table["20521"] = [173,197] let s:lib.Codec.encoding_table["20502"] = [173,198] let s:lib.Codec.encoding_table["20486"] = [173,199] let s:lib.Codec.encoding_table["20540"] = [173,200] let s:lib.Codec.encoding_table["20511"] = [173,201] let s:lib.Codec.encoding_table["20506"] = [173,202] let s:lib.Codec.encoding_table["20498"] = [173,203] let s:lib.Codec.encoding_table["20497"] = [173,204] let s:lib.Codec.encoding_table["20474"] = [173,205] let s:lib.Codec.encoding_table["20480"] = [173,206] let s:lib.Codec.encoding_table["20500"] = [173,207] let s:lib.Codec.encoding_table["20520"] = [173,208] let s:lib.Codec.encoding_table["20465"] = [173,209] let s:lib.Codec.encoding_table["20513"] = [173,210] let s:lib.Codec.encoding_table["20491"] = [173,211] let s:lib.Codec.encoding_table["20505"] = [173,212] let s:lib.Codec.encoding_table["20504"] = [173,213] let s:lib.Codec.encoding_table["20467"] = [173,214] let s:lib.Codec.encoding_table["20462"] = [173,215] let s:lib.Codec.encoding_table["20525"] = [173,216] let s:lib.Codec.encoding_table["20522"] = [173,217] let s:lib.Codec.encoding_table["20478"] = [173,218] let s:lib.Codec.encoding_table["20523"] = [173,219] let s:lib.Codec.encoding_table["20489"] = [173,220] let s:lib.Codec.encoding_table["20860"] = [173,221] let s:lib.Codec.encoding_table["20900"] = [173,222] let s:lib.Codec.encoding_table["20901"] = [173,223] let s:lib.Codec.encoding_table["20898"] = [173,224] let s:lib.Codec.encoding_table["20941"] = [173,225] let s:lib.Codec.encoding_table["20940"] = [173,226] let s:lib.Codec.encoding_table["20934"] = [173,227] let s:lib.Codec.encoding_table["20939"] = [173,228] let s:lib.Codec.encoding_table["21078"] = [173,229] let s:lib.Codec.encoding_table["21084"] = [173,230] let s:lib.Codec.encoding_table["21076"] = [173,231] let s:lib.Codec.encoding_table["21083"] = [173,232] let s:lib.Codec.encoding_table["21085"] = [173,233] let s:lib.Codec.encoding_table["21290"] = [173,234] let s:lib.Codec.encoding_table["21375"] = [173,235] let s:lib.Codec.encoding_table["21407"] = [173,236] let s:lib.Codec.encoding_table["21405"] = [173,237] let s:lib.Codec.encoding_table["21471"] = [173,238] let s:lib.Codec.encoding_table["21736"] = [173,239] let s:lib.Codec.encoding_table["21776"] = [173,240] let s:lib.Codec.encoding_table["21761"] = [173,241] let s:lib.Codec.encoding_table["21815"] = [173,242] let s:lib.Codec.encoding_table["21756"] = [173,243] let s:lib.Codec.encoding_table["21733"] = [173,244] let s:lib.Codec.encoding_table["21746"] = [173,245] let s:lib.Codec.encoding_table["21766"] = [173,246] let s:lib.Codec.encoding_table["21754"] = [173,247] let s:lib.Codec.encoding_table["21780"] = [173,248] let s:lib.Codec.encoding_table["21737"] = [173,249] let s:lib.Codec.encoding_table["21741"] = [173,250] let s:lib.Codec.encoding_table["21729"] = [173,251] let s:lib.Codec.encoding_table["21769"] = [173,252] let s:lib.Codec.encoding_table["21742"] = [173,253] let s:lib.Codec.encoding_table["21738"] = [173,254] let s:lib.Codec.encoding_table["21734"] = [174,64] let s:lib.Codec.encoding_table["21799"] = [174,65] let s:lib.Codec.encoding_table["21767"] = [174,66] let s:lib.Codec.encoding_table["21757"] = [174,67] let s:lib.Codec.encoding_table["21775"] = [174,68] let s:lib.Codec.encoding_table["22275"] = [174,69] let s:lib.Codec.encoding_table["22276"] = [174,70] let s:lib.Codec.encoding_table["22466"] = [174,71] let s:lib.Codec.encoding_table["22484"] = [174,72] let s:lib.Codec.encoding_table["22475"] = [174,73] let s:lib.Codec.encoding_table["22467"] = [174,74] let s:lib.Codec.encoding_table["22537"] = [174,75] let s:lib.Codec.encoding_table["22799"] = [174,76] let s:lib.Codec.encoding_table["22871"] = [174,77] let s:lib.Codec.encoding_table["22872"] = [174,78] let s:lib.Codec.encoding_table["22874"] = [174,79] let s:lib.Codec.encoding_table["23057"] = [174,80] let s:lib.Codec.encoding_table["23064"] = [174,81] let s:lib.Codec.encoding_table["23068"] = [174,82] let s:lib.Codec.encoding_table["23071"] = [174,83] let s:lib.Codec.encoding_table["23067"] = [174,84] let s:lib.Codec.encoding_table["23059"] = [174,85] let s:lib.Codec.encoding_table["23020"] = [174,86] let s:lib.Codec.encoding_table["23072"] = [174,87] let s:lib.Codec.encoding_table["23075"] = [174,88] let s:lib.Codec.encoding_table["23081"] = [174,89] let s:lib.Codec.encoding_table["23077"] = [174,90] let s:lib.Codec.encoding_table["23052"] = [174,91] let s:lib.Codec.encoding_table["23049"] = [174,92] let s:lib.Codec.encoding_table["23403"] = [174,93] let s:lib.Codec.encoding_table["23640"] = [174,94] let s:lib.Codec.encoding_table["23472"] = [174,95] let s:lib.Codec.encoding_table["23475"] = [174,96] let s:lib.Codec.encoding_table["23478"] = [174,97] let s:lib.Codec.encoding_table["23476"] = [174,98] let s:lib.Codec.encoding_table["23470"] = [174,99] let s:lib.Codec.encoding_table["23477"] = [174,100] let s:lib.Codec.encoding_table["23481"] = [174,101] let s:lib.Codec.encoding_table["23480"] = [174,102] let s:lib.Codec.encoding_table["23556"] = [174,103] let s:lib.Codec.encoding_table["23633"] = [174,104] let s:lib.Codec.encoding_table["23637"] = [174,105] let s:lib.Codec.encoding_table["23632"] = [174,106] let s:lib.Codec.encoding_table["23789"] = [174,107] let s:lib.Codec.encoding_table["23805"] = [174,108] let s:lib.Codec.encoding_table["23803"] = [174,109] let s:lib.Codec.encoding_table["23786"] = [174,110] let s:lib.Codec.encoding_table["23784"] = [174,111] let s:lib.Codec.encoding_table["23792"] = [174,112] let s:lib.Codec.encoding_table["23798"] = [174,113] let s:lib.Codec.encoding_table["23809"] = [174,114] let s:lib.Codec.encoding_table["23796"] = [174,115] let s:lib.Codec.encoding_table["24046"] = [174,116] let s:lib.Codec.encoding_table["24109"] = [174,117] let s:lib.Codec.encoding_table["24107"] = [174,118] let s:lib.Codec.encoding_table["24235"] = [174,119] let s:lib.Codec.encoding_table["24237"] = [174,120] let s:lib.Codec.encoding_table["24231"] = [174,121] let s:lib.Codec.encoding_table["24369"] = [174,122] let s:lib.Codec.encoding_table["24466"] = [174,123] let s:lib.Codec.encoding_table["24465"] = [174,124] let s:lib.Codec.encoding_table["24464"] = [174,125] let s:lib.Codec.encoding_table["24665"] = [174,126] let s:lib.Codec.encoding_table["24675"] = [174,161] let s:lib.Codec.encoding_table["24677"] = [174,162] let s:lib.Codec.encoding_table["24656"] = [174,163] let s:lib.Codec.encoding_table["24661"] = [174,164] let s:lib.Codec.encoding_table["24685"] = [174,165] let s:lib.Codec.encoding_table["24681"] = [174,166] let s:lib.Codec.encoding_table["24687"] = [174,167] let s:lib.Codec.encoding_table["24708"] = [174,168] let s:lib.Codec.encoding_table["24735"] = [174,169] let s:lib.Codec.encoding_table["24730"] = [174,170] let s:lib.Codec.encoding_table["24717"] = [174,171] let s:lib.Codec.encoding_table["24724"] = [174,172] let s:lib.Codec.encoding_table["24716"] = [174,173] let s:lib.Codec.encoding_table["24709"] = [174,174] let s:lib.Codec.encoding_table["24726"] = [174,175] let s:lib.Codec.encoding_table["25159"] = [174,176] let s:lib.Codec.encoding_table["25331"] = [174,177] let s:lib.Codec.encoding_table["25352"] = [174,178] let s:lib.Codec.encoding_table["25343"] = [174,179] let s:lib.Codec.encoding_table["25422"] = [174,180] let s:lib.Codec.encoding_table["25406"] = [174,181] let s:lib.Codec.encoding_table["25391"] = [174,182] let s:lib.Codec.encoding_table["25429"] = [174,183] let s:lib.Codec.encoding_table["25410"] = [174,184] let s:lib.Codec.encoding_table["25414"] = [174,185] let s:lib.Codec.encoding_table["25423"] = [174,186] let s:lib.Codec.encoding_table["25417"] = [174,187] let s:lib.Codec.encoding_table["25402"] = [174,188] let s:lib.Codec.encoding_table["25424"] = [174,189] let s:lib.Codec.encoding_table["25405"] = [174,190] let s:lib.Codec.encoding_table["25386"] = [174,191] let s:lib.Codec.encoding_table["25387"] = [174,192] let s:lib.Codec.encoding_table["25384"] = [174,193] let s:lib.Codec.encoding_table["25421"] = [174,194] let s:lib.Codec.encoding_table["25420"] = [174,195] let s:lib.Codec.encoding_table["25928"] = [174,196] let s:lib.Codec.encoding_table["25929"] = [174,197] let s:lib.Codec.encoding_table["26009"] = [174,198] let s:lib.Codec.encoding_table["26049"] = [174,199] let s:lib.Codec.encoding_table["26053"] = [174,200] let s:lib.Codec.encoding_table["26178"] = [174,201] let s:lib.Codec.encoding_table["26185"] = [174,202] let s:lib.Codec.encoding_table["26191"] = [174,203] let s:lib.Codec.encoding_table["26179"] = [174,204] let s:lib.Codec.encoding_table["26194"] = [174,205] let s:lib.Codec.encoding_table["26188"] = [174,206] let s:lib.Codec.encoding_table["26181"] = [174,207] let s:lib.Codec.encoding_table["26177"] = [174,208] let s:lib.Codec.encoding_table["26360"] = [174,209] let s:lib.Codec.encoding_table["26388"] = [174,210] let s:lib.Codec.encoding_table["26389"] = [174,211] let s:lib.Codec.encoding_table["26391"] = [174,212] let s:lib.Codec.encoding_table["26657"] = [174,213] let s:lib.Codec.encoding_table["26680"] = [174,214] let s:lib.Codec.encoding_table["26696"] = [174,215] let s:lib.Codec.encoding_table["26694"] = [174,216] let s:lib.Codec.encoding_table["26707"] = [174,217] let s:lib.Codec.encoding_table["26681"] = [174,218] let s:lib.Codec.encoding_table["26690"] = [174,219] let s:lib.Codec.encoding_table["26708"] = [174,220] let s:lib.Codec.encoding_table["26665"] = [174,221] let s:lib.Codec.encoding_table["26803"] = [174,222] let s:lib.Codec.encoding_table["26647"] = [174,223] let s:lib.Codec.encoding_table["26700"] = [174,224] let s:lib.Codec.encoding_table["26705"] = [174,225] let s:lib.Codec.encoding_table["26685"] = [174,226] let s:lib.Codec.encoding_table["26612"] = [174,227] let s:lib.Codec.encoding_table["26704"] = [174,228] let s:lib.Codec.encoding_table["26688"] = [174,229] let s:lib.Codec.encoding_table["26684"] = [174,230] let s:lib.Codec.encoding_table["26691"] = [174,231] let s:lib.Codec.encoding_table["26666"] = [174,232] let s:lib.Codec.encoding_table["26693"] = [174,233] let s:lib.Codec.encoding_table["26643"] = [174,234] let s:lib.Codec.encoding_table["26648"] = [174,235] let s:lib.Codec.encoding_table["26689"] = [174,236] let s:lib.Codec.encoding_table["27530"] = [174,237] let s:lib.Codec.encoding_table["27529"] = [174,238] let s:lib.Codec.encoding_table["27575"] = [174,239] let s:lib.Codec.encoding_table["27683"] = [174,240] let s:lib.Codec.encoding_table["27687"] = [174,241] let s:lib.Codec.encoding_table["27688"] = [174,242] let s:lib.Codec.encoding_table["27686"] = [174,243] let s:lib.Codec.encoding_table["27684"] = [174,244] let s:lib.Codec.encoding_table["27888"] = [174,245] let s:lib.Codec.encoding_table["28010"] = [174,246] let s:lib.Codec.encoding_table["28053"] = [174,247] let s:lib.Codec.encoding_table["28040"] = [174,248] let s:lib.Codec.encoding_table["28039"] = [174,249] let s:lib.Codec.encoding_table["28006"] = [174,250] let s:lib.Codec.encoding_table["28024"] = [174,251] let s:lib.Codec.encoding_table["28023"] = [174,252] let s:lib.Codec.encoding_table["27993"] = [174,253] let s:lib.Codec.encoding_table["28051"] = [174,254] let s:lib.Codec.encoding_table["28012"] = [175,64] let s:lib.Codec.encoding_table["28041"] = [175,65] let s:lib.Codec.encoding_table["28014"] = [175,66] let s:lib.Codec.encoding_table["27994"] = [175,67] let s:lib.Codec.encoding_table["28020"] = [175,68] let s:lib.Codec.encoding_table["28009"] = [175,69] let s:lib.Codec.encoding_table["28044"] = [175,70] let s:lib.Codec.encoding_table["28042"] = [175,71] let s:lib.Codec.encoding_table["28025"] = [175,72] let s:lib.Codec.encoding_table["28037"] = [175,73] let s:lib.Codec.encoding_table["28005"] = [175,74] let s:lib.Codec.encoding_table["28052"] = [175,75] let s:lib.Codec.encoding_table["28874"] = [175,76] let s:lib.Codec.encoding_table["28888"] = [175,77] let s:lib.Codec.encoding_table["28900"] = [175,78] let s:lib.Codec.encoding_table["28889"] = [175,79] let s:lib.Codec.encoding_table["28872"] = [175,80] let s:lib.Codec.encoding_table["28879"] = [175,81] let s:lib.Codec.encoding_table["29241"] = [175,82] let s:lib.Codec.encoding_table["29305"] = [175,83] let s:lib.Codec.encoding_table["29436"] = [175,84] let s:lib.Codec.encoding_table["29433"] = [175,85] let s:lib.Codec.encoding_table["29437"] = [175,86] let s:lib.Codec.encoding_table["29432"] = [175,87] let s:lib.Codec.encoding_table["29431"] = [175,88] let s:lib.Codec.encoding_table["29574"] = [175,89] let s:lib.Codec.encoding_table["29677"] = [175,90] let s:lib.Codec.encoding_table["29705"] = [175,91] let s:lib.Codec.encoding_table["29678"] = [175,92] let s:lib.Codec.encoding_table["29664"] = [175,93] let s:lib.Codec.encoding_table["29674"] = [175,94] let s:lib.Codec.encoding_table["29662"] = [175,95] let s:lib.Codec.encoding_table["30036"] = [175,96] let s:lib.Codec.encoding_table["30045"] = [175,97] let s:lib.Codec.encoding_table["30044"] = [175,98] let s:lib.Codec.encoding_table["30042"] = [175,99] let s:lib.Codec.encoding_table["30041"] = [175,100] let s:lib.Codec.encoding_table["30142"] = [175,101] let s:lib.Codec.encoding_table["30149"] = [175,102] let s:lib.Codec.encoding_table["30151"] = [175,103] let s:lib.Codec.encoding_table["30130"] = [175,104] let s:lib.Codec.encoding_table["30131"] = [175,105] let s:lib.Codec.encoding_table["30141"] = [175,106] let s:lib.Codec.encoding_table["30140"] = [175,107] let s:lib.Codec.encoding_table["30137"] = [175,108] let s:lib.Codec.encoding_table["30146"] = [175,109] let s:lib.Codec.encoding_table["30136"] = [175,110] let s:lib.Codec.encoding_table["30347"] = [175,111] let s:lib.Codec.encoding_table["30384"] = [175,112] let s:lib.Codec.encoding_table["30410"] = [175,113] let s:lib.Codec.encoding_table["30413"] = [175,114] let s:lib.Codec.encoding_table["30414"] = [175,115] let s:lib.Codec.encoding_table["30505"] = [175,116] let s:lib.Codec.encoding_table["30495"] = [175,117] let s:lib.Codec.encoding_table["30496"] = [175,118] let s:lib.Codec.encoding_table["30504"] = [175,119] let s:lib.Codec.encoding_table["30697"] = [175,120] let s:lib.Codec.encoding_table["30768"] = [175,121] let s:lib.Codec.encoding_table["30759"] = [175,122] let s:lib.Codec.encoding_table["30776"] = [175,123] let s:lib.Codec.encoding_table["30749"] = [175,124] let s:lib.Codec.encoding_table["30772"] = [175,125] let s:lib.Codec.encoding_table["30775"] = [175,126] let s:lib.Codec.encoding_table["30757"] = [175,161] let s:lib.Codec.encoding_table["30765"] = [175,162] let s:lib.Codec.encoding_table["30752"] = [175,163] let s:lib.Codec.encoding_table["30751"] = [175,164] let s:lib.Codec.encoding_table["30770"] = [175,165] let s:lib.Codec.encoding_table["31061"] = [175,166] let s:lib.Codec.encoding_table["31056"] = [175,167] let s:lib.Codec.encoding_table["31072"] = [175,168] let s:lib.Codec.encoding_table["31071"] = [175,169] let s:lib.Codec.encoding_table["31062"] = [175,170] let s:lib.Codec.encoding_table["31070"] = [175,171] let s:lib.Codec.encoding_table["31069"] = [175,172] let s:lib.Codec.encoding_table["31063"] = [175,173] let s:lib.Codec.encoding_table["31066"] = [175,174] let s:lib.Codec.encoding_table["31204"] = [175,175] let s:lib.Codec.encoding_table["31203"] = [175,176] let s:lib.Codec.encoding_table["31207"] = [175,177] let s:lib.Codec.encoding_table["31199"] = [175,178] let s:lib.Codec.encoding_table["31206"] = [175,179] let s:lib.Codec.encoding_table["31209"] = [175,180] let s:lib.Codec.encoding_table["31192"] = [175,181] let s:lib.Codec.encoding_table["31364"] = [175,182] let s:lib.Codec.encoding_table["31368"] = [175,183] let s:lib.Codec.encoding_table["31449"] = [175,184] let s:lib.Codec.encoding_table["31494"] = [175,185] let s:lib.Codec.encoding_table["31505"] = [175,186] let s:lib.Codec.encoding_table["31881"] = [175,187] let s:lib.Codec.encoding_table["32033"] = [175,188] let s:lib.Codec.encoding_table["32023"] = [175,189] let s:lib.Codec.encoding_table["32011"] = [175,190] let s:lib.Codec.encoding_table["32010"] = [175,191] let s:lib.Codec.encoding_table["32032"] = [175,192] let s:lib.Codec.encoding_table["32034"] = [175,193] let s:lib.Codec.encoding_table["32020"] = [175,194] let s:lib.Codec.encoding_table["32016"] = [175,195] let s:lib.Codec.encoding_table["32021"] = [175,196] let s:lib.Codec.encoding_table["32026"] = [175,197] let s:lib.Codec.encoding_table["32028"] = [175,198] let s:lib.Codec.encoding_table["32013"] = [175,199] let s:lib.Codec.encoding_table["32025"] = [175,200] let s:lib.Codec.encoding_table["32027"] = [175,201] let s:lib.Codec.encoding_table["32570"] = [175,202] let s:lib.Codec.encoding_table["32607"] = [175,203] let s:lib.Codec.encoding_table["32660"] = [175,204] let s:lib.Codec.encoding_table["32709"] = [175,205] let s:lib.Codec.encoding_table["32705"] = [175,206] let s:lib.Codec.encoding_table["32774"] = [175,207] let s:lib.Codec.encoding_table["32792"] = [175,208] let s:lib.Codec.encoding_table["32789"] = [175,209] let s:lib.Codec.encoding_table["32793"] = [175,210] let s:lib.Codec.encoding_table["32791"] = [175,211] let s:lib.Codec.encoding_table["32829"] = [175,212] let s:lib.Codec.encoding_table["32831"] = [175,213] let s:lib.Codec.encoding_table["33009"] = [175,214] let s:lib.Codec.encoding_table["33026"] = [175,215] let s:lib.Codec.encoding_table["33008"] = [175,216] let s:lib.Codec.encoding_table["33029"] = [175,217] let s:lib.Codec.encoding_table["33005"] = [175,218] let s:lib.Codec.encoding_table["33012"] = [175,219] let s:lib.Codec.encoding_table["33030"] = [175,220] let s:lib.Codec.encoding_table["33016"] = [175,221] let s:lib.Codec.encoding_table["33011"] = [175,222] let s:lib.Codec.encoding_table["33032"] = [175,223] let s:lib.Codec.encoding_table["33021"] = [175,224] let s:lib.Codec.encoding_table["33034"] = [175,225] let s:lib.Codec.encoding_table["33020"] = [175,226] let s:lib.Codec.encoding_table["33007"] = [175,227] let s:lib.Codec.encoding_table["33261"] = [175,228] let s:lib.Codec.encoding_table["33260"] = [175,229] let s:lib.Codec.encoding_table["33280"] = [175,230] let s:lib.Codec.encoding_table["33296"] = [175,231] let s:lib.Codec.encoding_table["33322"] = [175,232] let s:lib.Codec.encoding_table["33323"] = [175,233] let s:lib.Codec.encoding_table["33320"] = [175,234] let s:lib.Codec.encoding_table["33324"] = [175,235] let s:lib.Codec.encoding_table["33467"] = [175,236] let s:lib.Codec.encoding_table["33579"] = [175,237] let s:lib.Codec.encoding_table["33618"] = [175,238] let s:lib.Codec.encoding_table["33620"] = [175,239] let s:lib.Codec.encoding_table["33610"] = [175,240] let s:lib.Codec.encoding_table["33592"] = [175,241] let s:lib.Codec.encoding_table["33616"] = [175,242] let s:lib.Codec.encoding_table["33609"] = [175,243] let s:lib.Codec.encoding_table["33589"] = [175,244] let s:lib.Codec.encoding_table["33588"] = [175,245] let s:lib.Codec.encoding_table["33615"] = [175,246] let s:lib.Codec.encoding_table["33586"] = [175,247] let s:lib.Codec.encoding_table["33593"] = [175,248] let s:lib.Codec.encoding_table["33590"] = [175,249] let s:lib.Codec.encoding_table["33559"] = [175,250] let s:lib.Codec.encoding_table["33600"] = [175,251] let s:lib.Codec.encoding_table["33585"] = [175,252] let s:lib.Codec.encoding_table["33576"] = [175,253] let s:lib.Codec.encoding_table["33603"] = [175,254] let s:lib.Codec.encoding_table["34388"] = [176,64] let s:lib.Codec.encoding_table["34442"] = [176,65] let s:lib.Codec.encoding_table["34474"] = [176,66] let s:lib.Codec.encoding_table["34451"] = [176,67] let s:lib.Codec.encoding_table["34468"] = [176,68] let s:lib.Codec.encoding_table["34473"] = [176,69] let s:lib.Codec.encoding_table["34444"] = [176,70] let s:lib.Codec.encoding_table["34467"] = [176,71] let s:lib.Codec.encoding_table["34460"] = [176,72] let s:lib.Codec.encoding_table["34928"] = [176,73] let s:lib.Codec.encoding_table["34935"] = [176,74] let s:lib.Codec.encoding_table["34945"] = [176,75] let s:lib.Codec.encoding_table["34946"] = [176,76] let s:lib.Codec.encoding_table["34941"] = [176,77] let s:lib.Codec.encoding_table["34937"] = [176,78] let s:lib.Codec.encoding_table["35352"] = [176,79] let s:lib.Codec.encoding_table["35344"] = [176,80] let s:lib.Codec.encoding_table["35342"] = [176,81] let s:lib.Codec.encoding_table["35340"] = [176,82] let s:lib.Codec.encoding_table["35349"] = [176,83] let s:lib.Codec.encoding_table["35338"] = [176,84] let s:lib.Codec.encoding_table["35351"] = [176,85] let s:lib.Codec.encoding_table["35347"] = [176,86] let s:lib.Codec.encoding_table["35350"] = [176,87] let s:lib.Codec.encoding_table["35343"] = [176,88] let s:lib.Codec.encoding_table["35345"] = [176,89] let s:lib.Codec.encoding_table["35912"] = [176,90] let s:lib.Codec.encoding_table["35962"] = [176,91] let s:lib.Codec.encoding_table["35961"] = [176,92] let s:lib.Codec.encoding_table["36001"] = [176,93] let s:lib.Codec.encoding_table["36002"] = [176,94] let s:lib.Codec.encoding_table["36215"] = [176,95] let s:lib.Codec.encoding_table["36524"] = [176,96] let s:lib.Codec.encoding_table["36562"] = [176,97] let s:lib.Codec.encoding_table["36564"] = [176,98] let s:lib.Codec.encoding_table["36559"] = [176,99] let s:lib.Codec.encoding_table["36785"] = [176,100] let s:lib.Codec.encoding_table["36865"] = [176,101] let s:lib.Codec.encoding_table["36870"] = [176,102] let s:lib.Codec.encoding_table["36855"] = [176,103] let s:lib.Codec.encoding_table["36864"] = [176,104] let s:lib.Codec.encoding_table["36858"] = [176,105] let s:lib.Codec.encoding_table["36852"] = [176,106] let s:lib.Codec.encoding_table["36867"] = [176,107] let s:lib.Codec.encoding_table["36861"] = [176,108] let s:lib.Codec.encoding_table["36869"] = [176,109] let s:lib.Codec.encoding_table["36856"] = [176,110] let s:lib.Codec.encoding_table["37013"] = [176,111] let s:lib.Codec.encoding_table["37089"] = [176,112] let s:lib.Codec.encoding_table["37085"] = [176,113] let s:lib.Codec.encoding_table["37090"] = [176,114] let s:lib.Codec.encoding_table["37202"] = [176,115] let s:lib.Codec.encoding_table["37197"] = [176,116] let s:lib.Codec.encoding_table["37196"] = [176,117] let s:lib.Codec.encoding_table["37336"] = [176,118] let s:lib.Codec.encoding_table["37341"] = [176,119] let s:lib.Codec.encoding_table["37335"] = [176,120] let s:lib.Codec.encoding_table["37340"] = [176,121] let s:lib.Codec.encoding_table["37337"] = [176,122] let s:lib.Codec.encoding_table["38275"] = [176,123] let s:lib.Codec.encoding_table["38498"] = [176,124] let s:lib.Codec.encoding_table["38499"] = [176,125] let s:lib.Codec.encoding_table["38497"] = [176,126] let s:lib.Codec.encoding_table["38491"] = [176,161] let s:lib.Codec.encoding_table["38493"] = [176,162] let s:lib.Codec.encoding_table["38500"] = [176,163] let s:lib.Codec.encoding_table["38488"] = [176,164] let s:lib.Codec.encoding_table["38494"] = [176,165] let s:lib.Codec.encoding_table["38587"] = [176,166] let s:lib.Codec.encoding_table["39138"] = [176,167] let s:lib.Codec.encoding_table["39340"] = [176,168] let s:lib.Codec.encoding_table["39592"] = [176,169] let s:lib.Codec.encoding_table["39640"] = [176,170] let s:lib.Codec.encoding_table["39717"] = [176,171] let s:lib.Codec.encoding_table["39730"] = [176,172] let s:lib.Codec.encoding_table["39740"] = [176,173] let s:lib.Codec.encoding_table["20094"] = [176,174] let s:lib.Codec.encoding_table["20602"] = [176,175] let s:lib.Codec.encoding_table["20605"] = [176,176] let s:lib.Codec.encoding_table["20572"] = [176,177] let s:lib.Codec.encoding_table["20551"] = [176,178] let s:lib.Codec.encoding_table["20547"] = [176,179] let s:lib.Codec.encoding_table["20556"] = [176,180] let s:lib.Codec.encoding_table["20570"] = [176,181] let s:lib.Codec.encoding_table["20553"] = [176,182] let s:lib.Codec.encoding_table["20581"] = [176,183] let s:lib.Codec.encoding_table["20598"] = [176,184] let s:lib.Codec.encoding_table["20558"] = [176,185] let s:lib.Codec.encoding_table["20565"] = [176,186] let s:lib.Codec.encoding_table["20597"] = [176,187] let s:lib.Codec.encoding_table["20596"] = [176,188] let s:lib.Codec.encoding_table["20599"] = [176,189] let s:lib.Codec.encoding_table["20559"] = [176,190] let s:lib.Codec.encoding_table["20495"] = [176,191] let s:lib.Codec.encoding_table["20591"] = [176,192] let s:lib.Codec.encoding_table["20589"] = [176,193] let s:lib.Codec.encoding_table["20828"] = [176,194] let s:lib.Codec.encoding_table["20885"] = [176,195] let s:lib.Codec.encoding_table["20976"] = [176,196] let s:lib.Codec.encoding_table["21098"] = [176,197] let s:lib.Codec.encoding_table["21103"] = [176,198] let s:lib.Codec.encoding_table["21202"] = [176,199] let s:lib.Codec.encoding_table["21209"] = [176,200] let s:lib.Codec.encoding_table["21208"] = [176,201] let s:lib.Codec.encoding_table["21205"] = [176,202] let s:lib.Codec.encoding_table["21264"] = [176,203] let s:lib.Codec.encoding_table["21263"] = [176,204] let s:lib.Codec.encoding_table["21273"] = [176,205] let s:lib.Codec.encoding_table["21311"] = [176,206] let s:lib.Codec.encoding_table["21312"] = [176,207] let s:lib.Codec.encoding_table["21310"] = [176,208] let s:lib.Codec.encoding_table["21443"] = [176,209] let s:lib.Codec.encoding_table["26364"] = [176,210] let s:lib.Codec.encoding_table["21830"] = [176,211] let s:lib.Codec.encoding_table["21866"] = [176,212] let s:lib.Codec.encoding_table["21862"] = [176,213] let s:lib.Codec.encoding_table["21828"] = [176,214] let s:lib.Codec.encoding_table["21854"] = [176,215] let s:lib.Codec.encoding_table["21857"] = [176,216] let s:lib.Codec.encoding_table["21827"] = [176,217] let s:lib.Codec.encoding_table["21834"] = [176,218] let s:lib.Codec.encoding_table["21809"] = [176,219] let s:lib.Codec.encoding_table["21846"] = [176,220] let s:lib.Codec.encoding_table["21839"] = [176,221] let s:lib.Codec.encoding_table["21845"] = [176,222] let s:lib.Codec.encoding_table["21807"] = [176,223] let s:lib.Codec.encoding_table["21860"] = [176,224] let s:lib.Codec.encoding_table["21816"] = [176,225] let s:lib.Codec.encoding_table["21806"] = [176,226] let s:lib.Codec.encoding_table["21852"] = [176,227] let s:lib.Codec.encoding_table["21804"] = [176,228] let s:lib.Codec.encoding_table["21859"] = [176,229] let s:lib.Codec.encoding_table["21811"] = [176,230] let s:lib.Codec.encoding_table["21825"] = [176,231] let s:lib.Codec.encoding_table["21847"] = [176,232] let s:lib.Codec.encoding_table["22280"] = [176,233] let s:lib.Codec.encoding_table["22283"] = [176,234] let s:lib.Codec.encoding_table["22281"] = [176,235] let s:lib.Codec.encoding_table["22495"] = [176,236] let s:lib.Codec.encoding_table["22533"] = [176,237] let s:lib.Codec.encoding_table["22538"] = [176,238] let s:lib.Codec.encoding_table["22534"] = [176,239] let s:lib.Codec.encoding_table["22496"] = [176,240] let s:lib.Codec.encoding_table["22500"] = [176,241] let s:lib.Codec.encoding_table["22522"] = [176,242] let s:lib.Codec.encoding_table["22530"] = [176,243] let s:lib.Codec.encoding_table["22581"] = [176,244] let s:lib.Codec.encoding_table["22519"] = [176,245] let s:lib.Codec.encoding_table["22521"] = [176,246] let s:lib.Codec.encoding_table["22816"] = [176,247] let s:lib.Codec.encoding_table["22882"] = [176,248] let s:lib.Codec.encoding_table["23094"] = [176,249] let s:lib.Codec.encoding_table["23105"] = [176,250] let s:lib.Codec.encoding_table["23113"] = [176,251] let s:lib.Codec.encoding_table["23142"] = [176,252] let s:lib.Codec.encoding_table["23146"] = [176,253] let s:lib.Codec.encoding_table["23104"] = [176,254] let s:lib.Codec.encoding_table["23100"] = [177,64] let s:lib.Codec.encoding_table["23138"] = [177,65] let s:lib.Codec.encoding_table["23130"] = [177,66] let s:lib.Codec.encoding_table["23110"] = [177,67] let s:lib.Codec.encoding_table["23114"] = [177,68] let s:lib.Codec.encoding_table["23408"] = [177,69] let s:lib.Codec.encoding_table["23495"] = [177,70] let s:lib.Codec.encoding_table["23493"] = [177,71] let s:lib.Codec.encoding_table["23492"] = [177,72] let s:lib.Codec.encoding_table["23490"] = [177,73] let s:lib.Codec.encoding_table["23487"] = [177,74] let s:lib.Codec.encoding_table["23494"] = [177,75] let s:lib.Codec.encoding_table["23561"] = [177,76] let s:lib.Codec.encoding_table["23560"] = [177,77] let s:lib.Codec.encoding_table["23559"] = [177,78] let s:lib.Codec.encoding_table["23648"] = [177,79] let s:lib.Codec.encoding_table["23644"] = [177,80] let s:lib.Codec.encoding_table["23645"] = [177,81] let s:lib.Codec.encoding_table["23815"] = [177,82] let s:lib.Codec.encoding_table["23814"] = [177,83] let s:lib.Codec.encoding_table["23822"] = [177,84] let s:lib.Codec.encoding_table["23835"] = [177,85] let s:lib.Codec.encoding_table["23830"] = [177,86] let s:lib.Codec.encoding_table["23842"] = [177,87] let s:lib.Codec.encoding_table["23825"] = [177,88] let s:lib.Codec.encoding_table["23849"] = [177,89] let s:lib.Codec.encoding_table["23828"] = [177,90] let s:lib.Codec.encoding_table["23833"] = [177,91] let s:lib.Codec.encoding_table["23844"] = [177,92] let s:lib.Codec.encoding_table["23847"] = [177,93] let s:lib.Codec.encoding_table["23831"] = [177,94] let s:lib.Codec.encoding_table["24034"] = [177,95] let s:lib.Codec.encoding_table["24120"] = [177,96] let s:lib.Codec.encoding_table["24118"] = [177,97] let s:lib.Codec.encoding_table["24115"] = [177,98] let s:lib.Codec.encoding_table["24119"] = [177,99] let s:lib.Codec.encoding_table["24247"] = [177,100] let s:lib.Codec.encoding_table["24248"] = [177,101] let s:lib.Codec.encoding_table["24246"] = [177,102] let s:lib.Codec.encoding_table["24245"] = [177,103] let s:lib.Codec.encoding_table["24254"] = [177,104] let s:lib.Codec.encoding_table["24373"] = [177,105] let s:lib.Codec.encoding_table["24375"] = [177,106] let s:lib.Codec.encoding_table["24407"] = [177,107] let s:lib.Codec.encoding_table["24428"] = [177,108] let s:lib.Codec.encoding_table["24425"] = [177,109] let s:lib.Codec.encoding_table["24427"] = [177,110] let s:lib.Codec.encoding_table["24471"] = [177,111] let s:lib.Codec.encoding_table["24473"] = [177,112] let s:lib.Codec.encoding_table["24478"] = [177,113] let s:lib.Codec.encoding_table["24472"] = [177,114] let s:lib.Codec.encoding_table["24481"] = [177,115] let s:lib.Codec.encoding_table["24480"] = [177,116] let s:lib.Codec.encoding_table["24476"] = [177,117] let s:lib.Codec.encoding_table["24703"] = [177,118] let s:lib.Codec.encoding_table["24739"] = [177,119] let s:lib.Codec.encoding_table["24713"] = [177,120] let s:lib.Codec.encoding_table["24736"] = [177,121] let s:lib.Codec.encoding_table["24744"] = [177,122] let s:lib.Codec.encoding_table["24779"] = [177,123] let s:lib.Codec.encoding_table["24756"] = [177,124] let s:lib.Codec.encoding_table["24806"] = [177,125] let s:lib.Codec.encoding_table["24765"] = [177,126] let s:lib.Codec.encoding_table["24773"] = [177,161] let s:lib.Codec.encoding_table["24763"] = [177,162] let s:lib.Codec.encoding_table["24757"] = [177,163] let s:lib.Codec.encoding_table["24796"] = [177,164] let s:lib.Codec.encoding_table["24764"] = [177,165] let s:lib.Codec.encoding_table["24792"] = [177,166] let s:lib.Codec.encoding_table["24789"] = [177,167] let s:lib.Codec.encoding_table["24774"] = [177,168] let s:lib.Codec.encoding_table["24799"] = [177,169] let s:lib.Codec.encoding_table["24760"] = [177,170] let s:lib.Codec.encoding_table["24794"] = [177,171] let s:lib.Codec.encoding_table["24775"] = [177,172] let s:lib.Codec.encoding_table["25114"] = [177,173] let s:lib.Codec.encoding_table["25115"] = [177,174] let s:lib.Codec.encoding_table["25160"] = [177,175] let s:lib.Codec.encoding_table["25504"] = [177,176] let s:lib.Codec.encoding_table["25511"] = [177,177] let s:lib.Codec.encoding_table["25458"] = [177,178] let s:lib.Codec.encoding_table["25494"] = [177,179] let s:lib.Codec.encoding_table["25506"] = [177,180] let s:lib.Codec.encoding_table["25509"] = [177,181] let s:lib.Codec.encoding_table["25463"] = [177,182] let s:lib.Codec.encoding_table["25447"] = [177,183] let s:lib.Codec.encoding_table["25496"] = [177,184] let s:lib.Codec.encoding_table["25514"] = [177,185] let s:lib.Codec.encoding_table["25457"] = [177,186] let s:lib.Codec.encoding_table["25513"] = [177,187] let s:lib.Codec.encoding_table["25481"] = [177,188] let s:lib.Codec.encoding_table["25475"] = [177,189] let s:lib.Codec.encoding_table["25499"] = [177,190] let s:lib.Codec.encoding_table["25451"] = [177,191] let s:lib.Codec.encoding_table["25512"] = [177,192] let s:lib.Codec.encoding_table["25476"] = [177,193] let s:lib.Codec.encoding_table["25480"] = [177,194] let s:lib.Codec.encoding_table["25497"] = [177,195] let s:lib.Codec.encoding_table["25505"] = [177,196] let s:lib.Codec.encoding_table["25516"] = [177,197] let s:lib.Codec.encoding_table["25490"] = [177,198] let s:lib.Codec.encoding_table["25487"] = [177,199] let s:lib.Codec.encoding_table["25472"] = [177,200] let s:lib.Codec.encoding_table["25467"] = [177,201] let s:lib.Codec.encoding_table["25449"] = [177,202] let s:lib.Codec.encoding_table["25448"] = [177,203] let s:lib.Codec.encoding_table["25466"] = [177,204] let s:lib.Codec.encoding_table["25949"] = [177,205] let s:lib.Codec.encoding_table["25942"] = [177,206] let s:lib.Codec.encoding_table["25937"] = [177,207] let s:lib.Codec.encoding_table["25945"] = [177,208] let s:lib.Codec.encoding_table["25943"] = [177,209] let s:lib.Codec.encoding_table["21855"] = [177,210] let s:lib.Codec.encoding_table["25935"] = [177,211] let s:lib.Codec.encoding_table["25944"] = [177,212] let s:lib.Codec.encoding_table["25941"] = [177,213] let s:lib.Codec.encoding_table["25940"] = [177,214] let s:lib.Codec.encoding_table["26012"] = [177,215] let s:lib.Codec.encoding_table["26011"] = [177,216] let s:lib.Codec.encoding_table["26028"] = [177,217] let s:lib.Codec.encoding_table["26063"] = [177,218] let s:lib.Codec.encoding_table["26059"] = [177,219] let s:lib.Codec.encoding_table["26060"] = [177,220] let s:lib.Codec.encoding_table["26062"] = [177,221] let s:lib.Codec.encoding_table["26205"] = [177,222] let s:lib.Codec.encoding_table["26202"] = [177,223] let s:lib.Codec.encoding_table["26212"] = [177,224] let s:lib.Codec.encoding_table["26216"] = [177,225] let s:lib.Codec.encoding_table["26214"] = [177,226] let s:lib.Codec.encoding_table["26206"] = [177,227] let s:lib.Codec.encoding_table["26361"] = [177,228] let s:lib.Codec.encoding_table["21207"] = [177,229] let s:lib.Codec.encoding_table["26395"] = [177,230] let s:lib.Codec.encoding_table["26753"] = [177,231] let s:lib.Codec.encoding_table["26799"] = [177,232] let s:lib.Codec.encoding_table["26786"] = [177,233] let s:lib.Codec.encoding_table["26771"] = [177,234] let s:lib.Codec.encoding_table["26805"] = [177,235] let s:lib.Codec.encoding_table["26751"] = [177,236] let s:lib.Codec.encoding_table["26742"] = [177,237] let s:lib.Codec.encoding_table["26801"] = [177,238] let s:lib.Codec.encoding_table["26791"] = [177,239] let s:lib.Codec.encoding_table["26775"] = [177,240] let s:lib.Codec.encoding_table["26800"] = [177,241] let s:lib.Codec.encoding_table["26755"] = [177,242] let s:lib.Codec.encoding_table["26820"] = [177,243] let s:lib.Codec.encoding_table["26797"] = [177,244] let s:lib.Codec.encoding_table["26758"] = [177,245] let s:lib.Codec.encoding_table["26757"] = [177,246] let s:lib.Codec.encoding_table["26772"] = [177,247] let s:lib.Codec.encoding_table["26781"] = [177,248] let s:lib.Codec.encoding_table["26792"] = [177,249] let s:lib.Codec.encoding_table["26783"] = [177,250] let s:lib.Codec.encoding_table["26785"] = [177,251] let s:lib.Codec.encoding_table["26754"] = [177,252] let s:lib.Codec.encoding_table["27442"] = [177,253] let s:lib.Codec.encoding_table["27578"] = [177,254] let s:lib.Codec.encoding_table["27627"] = [178,64] let s:lib.Codec.encoding_table["27628"] = [178,65] let s:lib.Codec.encoding_table["27691"] = [178,66] let s:lib.Codec.encoding_table["28046"] = [178,67] let s:lib.Codec.encoding_table["28092"] = [178,68] let s:lib.Codec.encoding_table["28147"] = [178,69] let s:lib.Codec.encoding_table["28121"] = [178,70] let s:lib.Codec.encoding_table["28082"] = [178,71] let s:lib.Codec.encoding_table["28129"] = [178,72] let s:lib.Codec.encoding_table["28108"] = [178,73] let s:lib.Codec.encoding_table["28132"] = [178,74] let s:lib.Codec.encoding_table["28155"] = [178,75] let s:lib.Codec.encoding_table["28154"] = [178,76] let s:lib.Codec.encoding_table["28165"] = [178,77] let s:lib.Codec.encoding_table["28103"] = [178,78] let s:lib.Codec.encoding_table["28107"] = [178,79] let s:lib.Codec.encoding_table["28079"] = [178,80] let s:lib.Codec.encoding_table["28113"] = [178,81] let s:lib.Codec.encoding_table["28078"] = [178,82] let s:lib.Codec.encoding_table["28126"] = [178,83] let s:lib.Codec.encoding_table["28153"] = [178,84] let s:lib.Codec.encoding_table["28088"] = [178,85] let s:lib.Codec.encoding_table["28151"] = [178,86] let s:lib.Codec.encoding_table["28149"] = [178,87] let s:lib.Codec.encoding_table["28101"] = [178,88] let s:lib.Codec.encoding_table["28114"] = [178,89] let s:lib.Codec.encoding_table["28186"] = [178,90] let s:lib.Codec.encoding_table["28085"] = [178,91] let s:lib.Codec.encoding_table["28122"] = [178,92] let s:lib.Codec.encoding_table["28139"] = [178,93] let s:lib.Codec.encoding_table["28120"] = [178,94] let s:lib.Codec.encoding_table["28138"] = [178,95] let s:lib.Codec.encoding_table["28145"] = [178,96] let s:lib.Codec.encoding_table["28142"] = [178,97] let s:lib.Codec.encoding_table["28136"] = [178,98] let s:lib.Codec.encoding_table["28102"] = [178,99] let s:lib.Codec.encoding_table["28100"] = [178,100] let s:lib.Codec.encoding_table["28074"] = [178,101] let s:lib.Codec.encoding_table["28140"] = [178,102] let s:lib.Codec.encoding_table["28095"] = [178,103] let s:lib.Codec.encoding_table["28134"] = [178,104] let s:lib.Codec.encoding_table["28921"] = [178,105] let s:lib.Codec.encoding_table["28937"] = [178,106] let s:lib.Codec.encoding_table["28938"] = [178,107] let s:lib.Codec.encoding_table["28925"] = [178,108] let s:lib.Codec.encoding_table["28911"] = [178,109] let s:lib.Codec.encoding_table["29245"] = [178,110] let s:lib.Codec.encoding_table["29309"] = [178,111] let s:lib.Codec.encoding_table["29313"] = [178,112] let s:lib.Codec.encoding_table["29468"] = [178,113] let s:lib.Codec.encoding_table["29467"] = [178,114] let s:lib.Codec.encoding_table["29462"] = [178,115] let s:lib.Codec.encoding_table["29459"] = [178,116] let s:lib.Codec.encoding_table["29465"] = [178,117] let s:lib.Codec.encoding_table["29575"] = [178,118] let s:lib.Codec.encoding_table["29701"] = [178,119] let s:lib.Codec.encoding_table["29706"] = [178,120] let s:lib.Codec.encoding_table["29699"] = [178,121] let s:lib.Codec.encoding_table["29702"] = [178,122] let s:lib.Codec.encoding_table["29694"] = [178,123] let s:lib.Codec.encoding_table["29709"] = [178,124] let s:lib.Codec.encoding_table["29920"] = [178,125] let s:lib.Codec.encoding_table["29942"] = [178,126] let s:lib.Codec.encoding_table["29943"] = [178,161] let s:lib.Codec.encoding_table["29980"] = [178,162] let s:lib.Codec.encoding_table["29986"] = [178,163] let s:lib.Codec.encoding_table["30053"] = [178,164] let s:lib.Codec.encoding_table["30054"] = [178,165] let s:lib.Codec.encoding_table["30050"] = [178,166] let s:lib.Codec.encoding_table["30064"] = [178,167] let s:lib.Codec.encoding_table["30095"] = [178,168] let s:lib.Codec.encoding_table["30164"] = [178,169] let s:lib.Codec.encoding_table["30165"] = [178,170] let s:lib.Codec.encoding_table["30133"] = [178,171] let s:lib.Codec.encoding_table["30154"] = [178,172] let s:lib.Codec.encoding_table["30157"] = [178,173] let s:lib.Codec.encoding_table["30350"] = [178,174] let s:lib.Codec.encoding_table["30420"] = [178,175] let s:lib.Codec.encoding_table["30418"] = [178,176] let s:lib.Codec.encoding_table["30427"] = [178,177] let s:lib.Codec.encoding_table["30519"] = [178,178] let s:lib.Codec.encoding_table["30526"] = [178,179] let s:lib.Codec.encoding_table["30524"] = [178,180] let s:lib.Codec.encoding_table["30518"] = [178,181] let s:lib.Codec.encoding_table["30520"] = [178,182] let s:lib.Codec.encoding_table["30522"] = [178,183] let s:lib.Codec.encoding_table["30827"] = [178,184] let s:lib.Codec.encoding_table["30787"] = [178,185] let s:lib.Codec.encoding_table["30798"] = [178,186] let s:lib.Codec.encoding_table["31077"] = [178,187] let s:lib.Codec.encoding_table["31080"] = [178,188] let s:lib.Codec.encoding_table["31085"] = [178,189] let s:lib.Codec.encoding_table["31227"] = [178,190] let s:lib.Codec.encoding_table["31378"] = [178,191] let s:lib.Codec.encoding_table["31381"] = [178,192] let s:lib.Codec.encoding_table["31520"] = [178,193] let s:lib.Codec.encoding_table["31528"] = [178,194] let s:lib.Codec.encoding_table["31515"] = [178,195] let s:lib.Codec.encoding_table["31532"] = [178,196] let s:lib.Codec.encoding_table["31526"] = [178,197] let s:lib.Codec.encoding_table["31513"] = [178,198] let s:lib.Codec.encoding_table["31518"] = [178,199] let s:lib.Codec.encoding_table["31534"] = [178,200] let s:lib.Codec.encoding_table["31890"] = [178,201] let s:lib.Codec.encoding_table["31895"] = [178,202] let s:lib.Codec.encoding_table["31893"] = [178,203] let s:lib.Codec.encoding_table["32070"] = [178,204] let s:lib.Codec.encoding_table["32067"] = [178,205] let s:lib.Codec.encoding_table["32113"] = [178,206] let s:lib.Codec.encoding_table["32046"] = [178,207] let s:lib.Codec.encoding_table["32057"] = [178,208] let s:lib.Codec.encoding_table["32060"] = [178,209] let s:lib.Codec.encoding_table["32064"] = [178,210] let s:lib.Codec.encoding_table["32048"] = [178,211] let s:lib.Codec.encoding_table["32051"] = [178,212] let s:lib.Codec.encoding_table["32068"] = [178,213] let s:lib.Codec.encoding_table["32047"] = [178,214] let s:lib.Codec.encoding_table["32066"] = [178,215] let s:lib.Codec.encoding_table["32050"] = [178,216] let s:lib.Codec.encoding_table["32049"] = [178,217] let s:lib.Codec.encoding_table["32573"] = [178,218] let s:lib.Codec.encoding_table["32670"] = [178,219] let s:lib.Codec.encoding_table["32666"] = [178,220] let s:lib.Codec.encoding_table["32716"] = [178,221] let s:lib.Codec.encoding_table["32718"] = [178,222] let s:lib.Codec.encoding_table["32722"] = [178,223] let s:lib.Codec.encoding_table["32796"] = [178,224] let s:lib.Codec.encoding_table["32842"] = [178,225] let s:lib.Codec.encoding_table["32838"] = [178,226] let s:lib.Codec.encoding_table["33071"] = [178,227] let s:lib.Codec.encoding_table["33046"] = [178,228] let s:lib.Codec.encoding_table["33059"] = [178,229] let s:lib.Codec.encoding_table["33067"] = [178,230] let s:lib.Codec.encoding_table["33065"] = [178,231] let s:lib.Codec.encoding_table["33072"] = [178,232] let s:lib.Codec.encoding_table["33060"] = [178,233] let s:lib.Codec.encoding_table["33282"] = [178,234] let s:lib.Codec.encoding_table["33333"] = [178,235] let s:lib.Codec.encoding_table["33335"] = [178,236] let s:lib.Codec.encoding_table["33334"] = [178,237] let s:lib.Codec.encoding_table["33337"] = [178,238] let s:lib.Codec.encoding_table["33678"] = [178,239] let s:lib.Codec.encoding_table["33694"] = [178,240] let s:lib.Codec.encoding_table["33688"] = [178,241] let s:lib.Codec.encoding_table["33656"] = [178,242] let s:lib.Codec.encoding_table["33698"] = [178,243] let s:lib.Codec.encoding_table["33686"] = [178,244] let s:lib.Codec.encoding_table["33725"] = [178,245] let s:lib.Codec.encoding_table["33707"] = [178,246] let s:lib.Codec.encoding_table["33682"] = [178,247] let s:lib.Codec.encoding_table["33674"] = [178,248] let s:lib.Codec.encoding_table["33683"] = [178,249] let s:lib.Codec.encoding_table["33673"] = [178,250] let s:lib.Codec.encoding_table["33696"] = [178,251] let s:lib.Codec.encoding_table["33655"] = [178,252] let s:lib.Codec.encoding_table["33659"] = [178,253] let s:lib.Codec.encoding_table["33660"] = [178,254] let s:lib.Codec.encoding_table["33670"] = [179,64] let s:lib.Codec.encoding_table["33703"] = [179,65] let s:lib.Codec.encoding_table["34389"] = [179,66] let s:lib.Codec.encoding_table["24426"] = [179,67] let s:lib.Codec.encoding_table["34503"] = [179,68] let s:lib.Codec.encoding_table["34496"] = [179,69] let s:lib.Codec.encoding_table["34486"] = [179,70] let s:lib.Codec.encoding_table["34500"] = [179,71] let s:lib.Codec.encoding_table["34485"] = [179,72] let s:lib.Codec.encoding_table["34502"] = [179,73] let s:lib.Codec.encoding_table["34507"] = [179,74] let s:lib.Codec.encoding_table["34481"] = [179,75] let s:lib.Codec.encoding_table["34479"] = [179,76] let s:lib.Codec.encoding_table["34505"] = [179,77] let s:lib.Codec.encoding_table["34899"] = [179,78] let s:lib.Codec.encoding_table["34974"] = [179,79] let s:lib.Codec.encoding_table["34952"] = [179,80] let s:lib.Codec.encoding_table["34987"] = [179,81] let s:lib.Codec.encoding_table["34962"] = [179,82] let s:lib.Codec.encoding_table["34966"] = [179,83] let s:lib.Codec.encoding_table["34957"] = [179,84] let s:lib.Codec.encoding_table["34955"] = [179,85] let s:lib.Codec.encoding_table["35219"] = [179,86] let s:lib.Codec.encoding_table["35215"] = [179,87] let s:lib.Codec.encoding_table["35370"] = [179,88] let s:lib.Codec.encoding_table["35357"] = [179,89] let s:lib.Codec.encoding_table["35363"] = [179,90] let s:lib.Codec.encoding_table["35365"] = [179,91] let s:lib.Codec.encoding_table["35377"] = [179,92] let s:lib.Codec.encoding_table["35373"] = [179,93] let s:lib.Codec.encoding_table["35359"] = [179,94] let s:lib.Codec.encoding_table["35355"] = [179,95] let s:lib.Codec.encoding_table["35362"] = [179,96] let s:lib.Codec.encoding_table["35913"] = [179,97] let s:lib.Codec.encoding_table["35930"] = [179,98] let s:lib.Codec.encoding_table["36009"] = [179,99] let s:lib.Codec.encoding_table["36012"] = [179,100] let s:lib.Codec.encoding_table["36011"] = [179,101] let s:lib.Codec.encoding_table["36008"] = [179,102] let s:lib.Codec.encoding_table["36010"] = [179,103] let s:lib.Codec.encoding_table["36007"] = [179,104] let s:lib.Codec.encoding_table["36199"] = [179,105] let s:lib.Codec.encoding_table["36198"] = [179,106] let s:lib.Codec.encoding_table["36286"] = [179,107] let s:lib.Codec.encoding_table["36282"] = [179,108] let s:lib.Codec.encoding_table["36571"] = [179,109] let s:lib.Codec.encoding_table["36575"] = [179,110] let s:lib.Codec.encoding_table["36889"] = [179,111] let s:lib.Codec.encoding_table["36877"] = [179,112] let s:lib.Codec.encoding_table["36890"] = [179,113] let s:lib.Codec.encoding_table["36887"] = [179,114] let s:lib.Codec.encoding_table["36899"] = [179,115] let s:lib.Codec.encoding_table["36895"] = [179,116] let s:lib.Codec.encoding_table["36893"] = [179,117] let s:lib.Codec.encoding_table["36880"] = [179,118] let s:lib.Codec.encoding_table["36885"] = [179,119] let s:lib.Codec.encoding_table["36894"] = [179,120] let s:lib.Codec.encoding_table["36896"] = [179,121] let s:lib.Codec.encoding_table["36879"] = [179,122] let s:lib.Codec.encoding_table["36898"] = [179,123] let s:lib.Codec.encoding_table["36886"] = [179,124] let s:lib.Codec.encoding_table["36891"] = [179,125] let s:lib.Codec.encoding_table["36884"] = [179,126] let s:lib.Codec.encoding_table["37096"] = [179,161] let s:lib.Codec.encoding_table["37101"] = [179,162] let s:lib.Codec.encoding_table["37117"] = [179,163] let s:lib.Codec.encoding_table["37207"] = [179,164] let s:lib.Codec.encoding_table["37326"] = [179,165] let s:lib.Codec.encoding_table["37365"] = [179,166] let s:lib.Codec.encoding_table["37350"] = [179,167] let s:lib.Codec.encoding_table["37347"] = [179,168] let s:lib.Codec.encoding_table["37351"] = [179,169] let s:lib.Codec.encoding_table["37357"] = [179,170] let s:lib.Codec.encoding_table["37353"] = [179,171] let s:lib.Codec.encoding_table["38281"] = [179,172] let s:lib.Codec.encoding_table["38506"] = [179,173] let s:lib.Codec.encoding_table["38517"] = [179,174] let s:lib.Codec.encoding_table["38515"] = [179,175] let s:lib.Codec.encoding_table["38520"] = [179,176] let s:lib.Codec.encoding_table["38512"] = [179,177] let s:lib.Codec.encoding_table["38516"] = [179,178] let s:lib.Codec.encoding_table["38518"] = [179,179] let s:lib.Codec.encoding_table["38519"] = [179,180] let s:lib.Codec.encoding_table["38508"] = [179,181] let s:lib.Codec.encoding_table["38592"] = [179,182] let s:lib.Codec.encoding_table["38634"] = [179,183] let s:lib.Codec.encoding_table["38633"] = [179,184] let s:lib.Codec.encoding_table["31456"] = [179,185] let s:lib.Codec.encoding_table["31455"] = [179,186] let s:lib.Codec.encoding_table["38914"] = [179,187] let s:lib.Codec.encoding_table["38915"] = [179,188] let s:lib.Codec.encoding_table["39770"] = [179,189] let s:lib.Codec.encoding_table["40165"] = [179,190] let s:lib.Codec.encoding_table["40565"] = [179,191] let s:lib.Codec.encoding_table["40575"] = [179,192] let s:lib.Codec.encoding_table["40613"] = [179,193] let s:lib.Codec.encoding_table["40635"] = [179,194] let s:lib.Codec.encoding_table["20642"] = [179,195] let s:lib.Codec.encoding_table["20621"] = [179,196] let s:lib.Codec.encoding_table["20613"] = [179,197] let s:lib.Codec.encoding_table["20633"] = [179,198] let s:lib.Codec.encoding_table["20625"] = [179,199] let s:lib.Codec.encoding_table["20608"] = [179,200] let s:lib.Codec.encoding_table["20630"] = [179,201] let s:lib.Codec.encoding_table["20632"] = [179,202] let s:lib.Codec.encoding_table["20634"] = [179,203] let s:lib.Codec.encoding_table["26368"] = [179,204] let s:lib.Codec.encoding_table["20977"] = [179,205] let s:lib.Codec.encoding_table["21106"] = [179,206] let s:lib.Codec.encoding_table["21108"] = [179,207] let s:lib.Codec.encoding_table["21109"] = [179,208] let s:lib.Codec.encoding_table["21097"] = [179,209] let s:lib.Codec.encoding_table["21214"] = [179,210] let s:lib.Codec.encoding_table["21213"] = [179,211] let s:lib.Codec.encoding_table["21211"] = [179,212] let s:lib.Codec.encoding_table["21338"] = [179,213] let s:lib.Codec.encoding_table["21413"] = [179,214] let s:lib.Codec.encoding_table["21883"] = [179,215] let s:lib.Codec.encoding_table["21888"] = [179,216] let s:lib.Codec.encoding_table["21927"] = [179,217] let s:lib.Codec.encoding_table["21884"] = [179,218] let s:lib.Codec.encoding_table["21898"] = [179,219] let s:lib.Codec.encoding_table["21917"] = [179,220] let s:lib.Codec.encoding_table["21912"] = [179,221] let s:lib.Codec.encoding_table["21890"] = [179,222] let s:lib.Codec.encoding_table["21916"] = [179,223] let s:lib.Codec.encoding_table["21930"] = [179,224] let s:lib.Codec.encoding_table["21908"] = [179,225] let s:lib.Codec.encoding_table["21895"] = [179,226] let s:lib.Codec.encoding_table["21899"] = [179,227] let s:lib.Codec.encoding_table["21891"] = [179,228] let s:lib.Codec.encoding_table["21939"] = [179,229] let s:lib.Codec.encoding_table["21934"] = [179,230] let s:lib.Codec.encoding_table["21919"] = [179,231] let s:lib.Codec.encoding_table["21822"] = [179,232] let s:lib.Codec.encoding_table["21938"] = [179,233] let s:lib.Codec.encoding_table["21914"] = [179,234] let s:lib.Codec.encoding_table["21947"] = [179,235] let s:lib.Codec.encoding_table["21932"] = [179,236] let s:lib.Codec.encoding_table["21937"] = [179,237] let s:lib.Codec.encoding_table["21886"] = [179,238] let s:lib.Codec.encoding_table["21897"] = [179,239] let s:lib.Codec.encoding_table["21931"] = [179,240] let s:lib.Codec.encoding_table["21913"] = [179,241] let s:lib.Codec.encoding_table["22285"] = [179,242] let s:lib.Codec.encoding_table["22575"] = [179,243] let s:lib.Codec.encoding_table["22570"] = [179,244] let s:lib.Codec.encoding_table["22580"] = [179,245] let s:lib.Codec.encoding_table["22564"] = [179,246] let s:lib.Codec.encoding_table["22576"] = [179,247] let s:lib.Codec.encoding_table["22577"] = [179,248] let s:lib.Codec.encoding_table["22561"] = [179,249] let s:lib.Codec.encoding_table["22557"] = [179,250] let s:lib.Codec.encoding_table["22560"] = [179,251] let s:lib.Codec.encoding_table["22777"] = [179,252] let s:lib.Codec.encoding_table["22778"] = [179,253] let s:lib.Codec.encoding_table["22880"] = [179,254] let s:lib.Codec.encoding_table["23159"] = [180,64] let s:lib.Codec.encoding_table["23194"] = [180,65] let s:lib.Codec.encoding_table["23167"] = [180,66] let s:lib.Codec.encoding_table["23186"] = [180,67] let s:lib.Codec.encoding_table["23195"] = [180,68] let s:lib.Codec.encoding_table["23207"] = [180,69] let s:lib.Codec.encoding_table["23411"] = [180,70] let s:lib.Codec.encoding_table["23409"] = [180,71] let s:lib.Codec.encoding_table["23506"] = [180,72] let s:lib.Codec.encoding_table["23500"] = [180,73] let s:lib.Codec.encoding_table["23507"] = [180,74] let s:lib.Codec.encoding_table["23504"] = [180,75] let s:lib.Codec.encoding_table["23562"] = [180,76] let s:lib.Codec.encoding_table["23563"] = [180,77] let s:lib.Codec.encoding_table["23601"] = [180,78] let s:lib.Codec.encoding_table["23884"] = [180,79] let s:lib.Codec.encoding_table["23888"] = [180,80] let s:lib.Codec.encoding_table["23860"] = [180,81] let s:lib.Codec.encoding_table["23879"] = [180,82] let s:lib.Codec.encoding_table["24061"] = [180,83] let s:lib.Codec.encoding_table["24133"] = [180,84] let s:lib.Codec.encoding_table["24125"] = [180,85] let s:lib.Codec.encoding_table["24128"] = [180,86] let s:lib.Codec.encoding_table["24131"] = [180,87] let s:lib.Codec.encoding_table["24190"] = [180,88] let s:lib.Codec.encoding_table["24266"] = [180,89] let s:lib.Codec.encoding_table["24257"] = [180,90] let s:lib.Codec.encoding_table["24258"] = [180,91] let s:lib.Codec.encoding_table["24260"] = [180,92] let s:lib.Codec.encoding_table["24380"] = [180,93] let s:lib.Codec.encoding_table["24429"] = [180,94] let s:lib.Codec.encoding_table["24489"] = [180,95] let s:lib.Codec.encoding_table["24490"] = [180,96] let s:lib.Codec.encoding_table["24488"] = [180,97] let s:lib.Codec.encoding_table["24785"] = [180,98] let s:lib.Codec.encoding_table["24801"] = [180,99] let s:lib.Codec.encoding_table["24754"] = [180,100] let s:lib.Codec.encoding_table["24758"] = [180,101] let s:lib.Codec.encoding_table["24800"] = [180,102] let s:lib.Codec.encoding_table["24860"] = [180,103] let s:lib.Codec.encoding_table["24867"] = [180,104] let s:lib.Codec.encoding_table["24826"] = [180,105] let s:lib.Codec.encoding_table["24853"] = [180,106] let s:lib.Codec.encoding_table["24816"] = [180,107] let s:lib.Codec.encoding_table["24827"] = [180,108] let s:lib.Codec.encoding_table["24820"] = [180,109] let s:lib.Codec.encoding_table["24936"] = [180,110] let s:lib.Codec.encoding_table["24817"] = [180,111] let s:lib.Codec.encoding_table["24846"] = [180,112] let s:lib.Codec.encoding_table["24822"] = [180,113] let s:lib.Codec.encoding_table["24841"] = [180,114] let s:lib.Codec.encoding_table["24832"] = [180,115] let s:lib.Codec.encoding_table["24850"] = [180,116] let s:lib.Codec.encoding_table["25119"] = [180,117] let s:lib.Codec.encoding_table["25161"] = [180,118] let s:lib.Codec.encoding_table["25507"] = [180,119] let s:lib.Codec.encoding_table["25484"] = [180,120] let s:lib.Codec.encoding_table["25551"] = [180,121] let s:lib.Codec.encoding_table["25536"] = [180,122] let s:lib.Codec.encoding_table["25577"] = [180,123] let s:lib.Codec.encoding_table["25545"] = [180,124] let s:lib.Codec.encoding_table["25542"] = [180,125] let s:lib.Codec.encoding_table["25549"] = [180,126] let s:lib.Codec.encoding_table["25554"] = [180,161] let s:lib.Codec.encoding_table["25571"] = [180,162] let s:lib.Codec.encoding_table["25552"] = [180,163] let s:lib.Codec.encoding_table["25569"] = [180,164] let s:lib.Codec.encoding_table["25558"] = [180,165] let s:lib.Codec.encoding_table["25581"] = [180,166] let s:lib.Codec.encoding_table["25582"] = [180,167] let s:lib.Codec.encoding_table["25462"] = [180,168] let s:lib.Codec.encoding_table["25588"] = [180,169] let s:lib.Codec.encoding_table["25578"] = [180,170] let s:lib.Codec.encoding_table["25563"] = [180,171] let s:lib.Codec.encoding_table["25682"] = [180,172] let s:lib.Codec.encoding_table["25562"] = [180,173] let s:lib.Codec.encoding_table["25593"] = [180,174] let s:lib.Codec.encoding_table["25950"] = [180,175] let s:lib.Codec.encoding_table["25958"] = [180,176] let s:lib.Codec.encoding_table["25954"] = [180,177] let s:lib.Codec.encoding_table["25955"] = [180,178] let s:lib.Codec.encoding_table["26001"] = [180,179] let s:lib.Codec.encoding_table["26000"] = [180,180] let s:lib.Codec.encoding_table["26031"] = [180,181] let s:lib.Codec.encoding_table["26222"] = [180,182] let s:lib.Codec.encoding_table["26224"] = [180,183] let s:lib.Codec.encoding_table["26228"] = [180,184] let s:lib.Codec.encoding_table["26230"] = [180,185] let s:lib.Codec.encoding_table["26223"] = [180,186] let s:lib.Codec.encoding_table["26257"] = [180,187] let s:lib.Codec.encoding_table["26234"] = [180,188] let s:lib.Codec.encoding_table["26238"] = [180,189] let s:lib.Codec.encoding_table["26231"] = [180,190] let s:lib.Codec.encoding_table["26366"] = [180,191] let s:lib.Codec.encoding_table["26367"] = [180,192] let s:lib.Codec.encoding_table["26399"] = [180,193] let s:lib.Codec.encoding_table["26397"] = [180,194] let s:lib.Codec.encoding_table["26874"] = [180,195] let s:lib.Codec.encoding_table["26837"] = [180,196] let s:lib.Codec.encoding_table["26848"] = [180,197] let s:lib.Codec.encoding_table["26840"] = [180,198] let s:lib.Codec.encoding_table["26839"] = [180,199] let s:lib.Codec.encoding_table["26885"] = [180,200] let s:lib.Codec.encoding_table["26847"] = [180,201] let s:lib.Codec.encoding_table["26869"] = [180,202] let s:lib.Codec.encoding_table["26862"] = [180,203] let s:lib.Codec.encoding_table["26855"] = [180,204] let s:lib.Codec.encoding_table["26873"] = [180,205] let s:lib.Codec.encoding_table["26834"] = [180,206] let s:lib.Codec.encoding_table["26866"] = [180,207] let s:lib.Codec.encoding_table["26851"] = [180,208] let s:lib.Codec.encoding_table["26827"] = [180,209] let s:lib.Codec.encoding_table["26829"] = [180,210] let s:lib.Codec.encoding_table["26893"] = [180,211] let s:lib.Codec.encoding_table["26898"] = [180,212] let s:lib.Codec.encoding_table["26894"] = [180,213] let s:lib.Codec.encoding_table["26825"] = [180,214] let s:lib.Codec.encoding_table["26842"] = [180,215] let s:lib.Codec.encoding_table["26990"] = [180,216] let s:lib.Codec.encoding_table["26875"] = [180,217] let s:lib.Codec.encoding_table["27454"] = [180,218] let s:lib.Codec.encoding_table["27450"] = [180,219] let s:lib.Codec.encoding_table["27453"] = [180,220] let s:lib.Codec.encoding_table["27544"] = [180,221] let s:lib.Codec.encoding_table["27542"] = [180,222] let s:lib.Codec.encoding_table["27580"] = [180,223] let s:lib.Codec.encoding_table["27631"] = [180,224] let s:lib.Codec.encoding_table["27694"] = [180,225] let s:lib.Codec.encoding_table["27695"] = [180,226] let s:lib.Codec.encoding_table["27692"] = [180,227] let s:lib.Codec.encoding_table["28207"] = [180,228] let s:lib.Codec.encoding_table["28216"] = [180,229] let s:lib.Codec.encoding_table["28244"] = [180,230] let s:lib.Codec.encoding_table["28193"] = [180,231] let s:lib.Codec.encoding_table["28210"] = [180,232] let s:lib.Codec.encoding_table["28263"] = [180,233] let s:lib.Codec.encoding_table["28234"] = [180,234] let s:lib.Codec.encoding_table["28192"] = [180,235] let s:lib.Codec.encoding_table["28197"] = [180,236] let s:lib.Codec.encoding_table["28195"] = [180,237] let s:lib.Codec.encoding_table["28187"] = [180,238] let s:lib.Codec.encoding_table["28251"] = [180,239] let s:lib.Codec.encoding_table["28248"] = [180,240] let s:lib.Codec.encoding_table["28196"] = [180,241] let s:lib.Codec.encoding_table["28246"] = [180,242] let s:lib.Codec.encoding_table["28270"] = [180,243] let s:lib.Codec.encoding_table["28205"] = [180,244] let s:lib.Codec.encoding_table["28198"] = [180,245] let s:lib.Codec.encoding_table["28271"] = [180,246] let s:lib.Codec.encoding_table["28212"] = [180,247] let s:lib.Codec.encoding_table["28237"] = [180,248] let s:lib.Codec.encoding_table["28218"] = [180,249] let s:lib.Codec.encoding_table["28204"] = [180,250] let s:lib.Codec.encoding_table["28227"] = [180,251] let s:lib.Codec.encoding_table["28189"] = [180,252] let s:lib.Codec.encoding_table["28222"] = [180,253] let s:lib.Codec.encoding_table["28363"] = [180,254] let s:lib.Codec.encoding_table["28297"] = [181,64] let s:lib.Codec.encoding_table["28185"] = [181,65] let s:lib.Codec.encoding_table["28238"] = [181,66] let s:lib.Codec.encoding_table["28259"] = [181,67] let s:lib.Codec.encoding_table["28228"] = [181,68] let s:lib.Codec.encoding_table["28274"] = [181,69] let s:lib.Codec.encoding_table["28265"] = [181,70] let s:lib.Codec.encoding_table["28255"] = [181,71] let s:lib.Codec.encoding_table["28953"] = [181,72] let s:lib.Codec.encoding_table["28954"] = [181,73] let s:lib.Codec.encoding_table["28966"] = [181,74] let s:lib.Codec.encoding_table["28976"] = [181,75] let s:lib.Codec.encoding_table["28961"] = [181,76] let s:lib.Codec.encoding_table["28982"] = [181,77] let s:lib.Codec.encoding_table["29038"] = [181,78] let s:lib.Codec.encoding_table["28956"] = [181,79] let s:lib.Codec.encoding_table["29260"] = [181,80] let s:lib.Codec.encoding_table["29316"] = [181,81] let s:lib.Codec.encoding_table["29312"] = [181,82] let s:lib.Codec.encoding_table["29494"] = [181,83] let s:lib.Codec.encoding_table["29477"] = [181,84] let s:lib.Codec.encoding_table["29492"] = [181,85] let s:lib.Codec.encoding_table["29481"] = [181,86] let s:lib.Codec.encoding_table["29754"] = [181,87] let s:lib.Codec.encoding_table["29738"] = [181,88] let s:lib.Codec.encoding_table["29747"] = [181,89] let s:lib.Codec.encoding_table["29730"] = [181,90] let s:lib.Codec.encoding_table["29733"] = [181,91] let s:lib.Codec.encoding_table["29749"] = [181,92] let s:lib.Codec.encoding_table["29750"] = [181,93] let s:lib.Codec.encoding_table["29748"] = [181,94] let s:lib.Codec.encoding_table["29743"] = [181,95] let s:lib.Codec.encoding_table["29723"] = [181,96] let s:lib.Codec.encoding_table["29734"] = [181,97] let s:lib.Codec.encoding_table["29736"] = [181,98] let s:lib.Codec.encoding_table["29989"] = [181,99] let s:lib.Codec.encoding_table["29990"] = [181,100] let s:lib.Codec.encoding_table["30059"] = [181,101] let s:lib.Codec.encoding_table["30058"] = [181,102] let s:lib.Codec.encoding_table["30178"] = [181,103] let s:lib.Codec.encoding_table["30171"] = [181,104] let s:lib.Codec.encoding_table["30179"] = [181,105] let s:lib.Codec.encoding_table["30169"] = [181,106] let s:lib.Codec.encoding_table["30168"] = [181,107] let s:lib.Codec.encoding_table["30174"] = [181,108] let s:lib.Codec.encoding_table["30176"] = [181,109] let s:lib.Codec.encoding_table["30331"] = [181,110] let s:lib.Codec.encoding_table["30332"] = [181,111] let s:lib.Codec.encoding_table["30358"] = [181,112] let s:lib.Codec.encoding_table["30355"] = [181,113] let s:lib.Codec.encoding_table["30388"] = [181,114] let s:lib.Codec.encoding_table["30428"] = [181,115] let s:lib.Codec.encoding_table["30543"] = [181,116] let s:lib.Codec.encoding_table["30701"] = [181,117] let s:lib.Codec.encoding_table["30813"] = [181,118] let s:lib.Codec.encoding_table["30828"] = [181,119] let s:lib.Codec.encoding_table["30831"] = [181,120] let s:lib.Codec.encoding_table["31245"] = [181,121] let s:lib.Codec.encoding_table["31240"] = [181,122] let s:lib.Codec.encoding_table["31243"] = [181,123] let s:lib.Codec.encoding_table["31237"] = [181,124] let s:lib.Codec.encoding_table["31232"] = [181,125] let s:lib.Codec.encoding_table["31384"] = [181,126] let s:lib.Codec.encoding_table["31383"] = [181,161] let s:lib.Codec.encoding_table["31382"] = [181,162] let s:lib.Codec.encoding_table["31461"] = [181,163] let s:lib.Codec.encoding_table["31459"] = [181,164] let s:lib.Codec.encoding_table["31561"] = [181,165] let s:lib.Codec.encoding_table["31574"] = [181,166] let s:lib.Codec.encoding_table["31558"] = [181,167] let s:lib.Codec.encoding_table["31568"] = [181,168] let s:lib.Codec.encoding_table["31570"] = [181,169] let s:lib.Codec.encoding_table["31572"] = [181,170] let s:lib.Codec.encoding_table["31565"] = [181,171] let s:lib.Codec.encoding_table["31563"] = [181,172] let s:lib.Codec.encoding_table["31567"] = [181,173] let s:lib.Codec.encoding_table["31569"] = [181,174] let s:lib.Codec.encoding_table["31903"] = [181,175] let s:lib.Codec.encoding_table["31909"] = [181,176] let s:lib.Codec.encoding_table["32094"] = [181,177] let s:lib.Codec.encoding_table["32080"] = [181,178] let s:lib.Codec.encoding_table["32104"] = [181,179] let s:lib.Codec.encoding_table["32085"] = [181,180] let s:lib.Codec.encoding_table["32043"] = [181,181] let s:lib.Codec.encoding_table["32110"] = [181,182] let s:lib.Codec.encoding_table["32114"] = [181,183] let s:lib.Codec.encoding_table["32097"] = [181,184] let s:lib.Codec.encoding_table["32102"] = [181,185] let s:lib.Codec.encoding_table["32098"] = [181,186] let s:lib.Codec.encoding_table["32112"] = [181,187] let s:lib.Codec.encoding_table["32115"] = [181,188] let s:lib.Codec.encoding_table["21892"] = [181,189] let s:lib.Codec.encoding_table["32724"] = [181,190] let s:lib.Codec.encoding_table["32725"] = [181,191] let s:lib.Codec.encoding_table["32779"] = [181,192] let s:lib.Codec.encoding_table["32850"] = [181,193] let s:lib.Codec.encoding_table["32901"] = [181,194] let s:lib.Codec.encoding_table["33109"] = [181,195] let s:lib.Codec.encoding_table["33108"] = [181,196] let s:lib.Codec.encoding_table["33099"] = [181,197] let s:lib.Codec.encoding_table["33105"] = [181,198] let s:lib.Codec.encoding_table["33102"] = [181,199] let s:lib.Codec.encoding_table["33081"] = [181,200] let s:lib.Codec.encoding_table["33094"] = [181,201] let s:lib.Codec.encoding_table["33086"] = [181,202] let s:lib.Codec.encoding_table["33100"] = [181,203] let s:lib.Codec.encoding_table["33107"] = [181,204] let s:lib.Codec.encoding_table["33140"] = [181,205] let s:lib.Codec.encoding_table["33298"] = [181,206] let s:lib.Codec.encoding_table["33308"] = [181,207] let s:lib.Codec.encoding_table["33769"] = [181,208] let s:lib.Codec.encoding_table["33795"] = [181,209] let s:lib.Codec.encoding_table["33784"] = [181,210] let s:lib.Codec.encoding_table["33805"] = [181,211] let s:lib.Codec.encoding_table["33760"] = [181,212] let s:lib.Codec.encoding_table["33733"] = [181,213] let s:lib.Codec.encoding_table["33803"] = [181,214] let s:lib.Codec.encoding_table["33729"] = [181,215] let s:lib.Codec.encoding_table["33775"] = [181,216] let s:lib.Codec.encoding_table["33777"] = [181,217] let s:lib.Codec.encoding_table["33780"] = [181,218] let s:lib.Codec.encoding_table["33879"] = [181,219] let s:lib.Codec.encoding_table["33802"] = [181,220] let s:lib.Codec.encoding_table["33776"] = [181,221] let s:lib.Codec.encoding_table["33804"] = [181,222] let s:lib.Codec.encoding_table["33740"] = [181,223] let s:lib.Codec.encoding_table["33789"] = [181,224] let s:lib.Codec.encoding_table["33778"] = [181,225] let s:lib.Codec.encoding_table["33738"] = [181,226] let s:lib.Codec.encoding_table["33848"] = [181,227] let s:lib.Codec.encoding_table["33806"] = [181,228] let s:lib.Codec.encoding_table["33796"] = [181,229] let s:lib.Codec.encoding_table["33756"] = [181,230] let s:lib.Codec.encoding_table["33799"] = [181,231] let s:lib.Codec.encoding_table["33748"] = [181,232] let s:lib.Codec.encoding_table["33759"] = [181,233] let s:lib.Codec.encoding_table["34395"] = [181,234] let s:lib.Codec.encoding_table["34527"] = [181,235] let s:lib.Codec.encoding_table["34521"] = [181,236] let s:lib.Codec.encoding_table["34541"] = [181,237] let s:lib.Codec.encoding_table["34516"] = [181,238] let s:lib.Codec.encoding_table["34523"] = [181,239] let s:lib.Codec.encoding_table["34532"] = [181,240] let s:lib.Codec.encoding_table["34512"] = [181,241] let s:lib.Codec.encoding_table["34526"] = [181,242] let s:lib.Codec.encoding_table["34903"] = [181,243] let s:lib.Codec.encoding_table["35009"] = [181,244] let s:lib.Codec.encoding_table["35010"] = [181,245] let s:lib.Codec.encoding_table["34993"] = [181,246] let s:lib.Codec.encoding_table["35203"] = [181,247] let s:lib.Codec.encoding_table["35222"] = [181,248] let s:lib.Codec.encoding_table["35387"] = [181,249] let s:lib.Codec.encoding_table["35424"] = [181,250] let s:lib.Codec.encoding_table["35413"] = [181,251] let s:lib.Codec.encoding_table["35422"] = [181,252] let s:lib.Codec.encoding_table["35388"] = [181,253] let s:lib.Codec.encoding_table["35393"] = [181,254] let s:lib.Codec.encoding_table["35412"] = [182,64] let s:lib.Codec.encoding_table["35419"] = [182,65] let s:lib.Codec.encoding_table["35408"] = [182,66] let s:lib.Codec.encoding_table["35398"] = [182,67] let s:lib.Codec.encoding_table["35380"] = [182,68] let s:lib.Codec.encoding_table["35386"] = [182,69] let s:lib.Codec.encoding_table["35382"] = [182,70] let s:lib.Codec.encoding_table["35414"] = [182,71] let s:lib.Codec.encoding_table["35937"] = [182,72] let s:lib.Codec.encoding_table["35970"] = [182,73] let s:lib.Codec.encoding_table["36015"] = [182,74] let s:lib.Codec.encoding_table["36028"] = [182,75] let s:lib.Codec.encoding_table["36019"] = [182,76] let s:lib.Codec.encoding_table["36029"] = [182,77] let s:lib.Codec.encoding_table["36033"] = [182,78] let s:lib.Codec.encoding_table["36027"] = [182,79] let s:lib.Codec.encoding_table["36032"] = [182,80] let s:lib.Codec.encoding_table["36020"] = [182,81] let s:lib.Codec.encoding_table["36023"] = [182,82] let s:lib.Codec.encoding_table["36022"] = [182,83] let s:lib.Codec.encoding_table["36031"] = [182,84] let s:lib.Codec.encoding_table["36024"] = [182,85] let s:lib.Codec.encoding_table["36234"] = [182,86] let s:lib.Codec.encoding_table["36229"] = [182,87] let s:lib.Codec.encoding_table["36225"] = [182,88] let s:lib.Codec.encoding_table["36302"] = [182,89] let s:lib.Codec.encoding_table["36317"] = [182,90] let s:lib.Codec.encoding_table["36299"] = [182,91] let s:lib.Codec.encoding_table["36314"] = [182,92] let s:lib.Codec.encoding_table["36305"] = [182,93] let s:lib.Codec.encoding_table["36300"] = [182,94] let s:lib.Codec.encoding_table["36315"] = [182,95] let s:lib.Codec.encoding_table["36294"] = [182,96] let s:lib.Codec.encoding_table["36603"] = [182,97] let s:lib.Codec.encoding_table["36600"] = [182,98] let s:lib.Codec.encoding_table["36604"] = [182,99] let s:lib.Codec.encoding_table["36764"] = [182,100] let s:lib.Codec.encoding_table["36910"] = [182,101] let s:lib.Codec.encoding_table["36917"] = [182,102] let s:lib.Codec.encoding_table["36913"] = [182,103] let s:lib.Codec.encoding_table["36920"] = [182,104] let s:lib.Codec.encoding_table["36914"] = [182,105] let s:lib.Codec.encoding_table["36918"] = [182,106] let s:lib.Codec.encoding_table["37122"] = [182,107] let s:lib.Codec.encoding_table["37109"] = [182,108] let s:lib.Codec.encoding_table["37129"] = [182,109] let s:lib.Codec.encoding_table["37118"] = [182,110] let s:lib.Codec.encoding_table["37219"] = [182,111] let s:lib.Codec.encoding_table["37221"] = [182,112] let s:lib.Codec.encoding_table["37327"] = [182,113] let s:lib.Codec.encoding_table["37396"] = [182,114] let s:lib.Codec.encoding_table["37397"] = [182,115] let s:lib.Codec.encoding_table["37411"] = [182,116] let s:lib.Codec.encoding_table["37385"] = [182,117] let s:lib.Codec.encoding_table["37406"] = [182,118] let s:lib.Codec.encoding_table["37389"] = [182,119] let s:lib.Codec.encoding_table["37392"] = [182,120] let s:lib.Codec.encoding_table["37383"] = [182,121] let s:lib.Codec.encoding_table["37393"] = [182,122] let s:lib.Codec.encoding_table["38292"] = [182,123] let s:lib.Codec.encoding_table["38287"] = [182,124] let s:lib.Codec.encoding_table["38283"] = [182,125] let s:lib.Codec.encoding_table["38289"] = [182,126] let s:lib.Codec.encoding_table["38291"] = [182,161] let s:lib.Codec.encoding_table["38290"] = [182,162] let s:lib.Codec.encoding_table["38286"] = [182,163] let s:lib.Codec.encoding_table["38538"] = [182,164] let s:lib.Codec.encoding_table["38542"] = [182,165] let s:lib.Codec.encoding_table["38539"] = [182,166] let s:lib.Codec.encoding_table["38525"] = [182,167] let s:lib.Codec.encoding_table["38533"] = [182,168] let s:lib.Codec.encoding_table["38534"] = [182,169] let s:lib.Codec.encoding_table["38541"] = [182,170] let s:lib.Codec.encoding_table["38514"] = [182,171] let s:lib.Codec.encoding_table["38532"] = [182,172] let s:lib.Codec.encoding_table["38593"] = [182,173] let s:lib.Codec.encoding_table["38597"] = [182,174] let s:lib.Codec.encoding_table["38596"] = [182,175] let s:lib.Codec.encoding_table["38598"] = [182,176] let s:lib.Codec.encoding_table["38599"] = [182,177] let s:lib.Codec.encoding_table["38639"] = [182,178] let s:lib.Codec.encoding_table["38642"] = [182,179] let s:lib.Codec.encoding_table["38860"] = [182,180] let s:lib.Codec.encoding_table["38917"] = [182,181] let s:lib.Codec.encoding_table["38918"] = [182,182] let s:lib.Codec.encoding_table["38920"] = [182,183] let s:lib.Codec.encoding_table["39143"] = [182,184] let s:lib.Codec.encoding_table["39146"] = [182,185] let s:lib.Codec.encoding_table["39151"] = [182,186] let s:lib.Codec.encoding_table["39145"] = [182,187] let s:lib.Codec.encoding_table["39154"] = [182,188] let s:lib.Codec.encoding_table["39149"] = [182,189] let s:lib.Codec.encoding_table["39342"] = [182,190] let s:lib.Codec.encoding_table["39341"] = [182,191] let s:lib.Codec.encoding_table["40643"] = [182,192] let s:lib.Codec.encoding_table["40653"] = [182,193] let s:lib.Codec.encoding_table["40657"] = [182,194] let s:lib.Codec.encoding_table["20098"] = [182,195] let s:lib.Codec.encoding_table["20653"] = [182,196] let s:lib.Codec.encoding_table["20661"] = [182,197] let s:lib.Codec.encoding_table["20658"] = [182,198] let s:lib.Codec.encoding_table["20659"] = [182,199] let s:lib.Codec.encoding_table["20677"] = [182,200] let s:lib.Codec.encoding_table["20670"] = [182,201] let s:lib.Codec.encoding_table["20652"] = [182,202] let s:lib.Codec.encoding_table["20663"] = [182,203] let s:lib.Codec.encoding_table["20667"] = [182,204] let s:lib.Codec.encoding_table["20655"] = [182,205] let s:lib.Codec.encoding_table["20679"] = [182,206] let s:lib.Codec.encoding_table["21119"] = [182,207] let s:lib.Codec.encoding_table["21111"] = [182,208] let s:lib.Codec.encoding_table["21117"] = [182,209] let s:lib.Codec.encoding_table["21215"] = [182,210] let s:lib.Codec.encoding_table["21222"] = [182,211] let s:lib.Codec.encoding_table["21220"] = [182,212] let s:lib.Codec.encoding_table["21218"] = [182,213] let s:lib.Codec.encoding_table["21219"] = [182,214] let s:lib.Codec.encoding_table["21295"] = [182,215] let s:lib.Codec.encoding_table["21983"] = [182,216] let s:lib.Codec.encoding_table["21992"] = [182,217] let s:lib.Codec.encoding_table["21971"] = [182,218] let s:lib.Codec.encoding_table["21990"] = [182,219] let s:lib.Codec.encoding_table["21966"] = [182,220] let s:lib.Codec.encoding_table["21980"] = [182,221] let s:lib.Codec.encoding_table["21959"] = [182,222] let s:lib.Codec.encoding_table["21969"] = [182,223] let s:lib.Codec.encoding_table["21987"] = [182,224] let s:lib.Codec.encoding_table["21988"] = [182,225] let s:lib.Codec.encoding_table["21999"] = [182,226] let s:lib.Codec.encoding_table["21978"] = [182,227] let s:lib.Codec.encoding_table["21985"] = [182,228] let s:lib.Codec.encoding_table["21957"] = [182,229] let s:lib.Codec.encoding_table["21958"] = [182,230] let s:lib.Codec.encoding_table["21989"] = [182,231] let s:lib.Codec.encoding_table["21961"] = [182,232] let s:lib.Codec.encoding_table["22290"] = [182,233] let s:lib.Codec.encoding_table["22291"] = [182,234] let s:lib.Codec.encoding_table["22622"] = [182,235] let s:lib.Codec.encoding_table["22609"] = [182,236] let s:lib.Codec.encoding_table["22616"] = [182,237] let s:lib.Codec.encoding_table["22615"] = [182,238] let s:lib.Codec.encoding_table["22618"] = [182,239] let s:lib.Codec.encoding_table["22612"] = [182,240] let s:lib.Codec.encoding_table["22635"] = [182,241] let s:lib.Codec.encoding_table["22604"] = [182,242] let s:lib.Codec.encoding_table["22637"] = [182,243] let s:lib.Codec.encoding_table["22602"] = [182,244] let s:lib.Codec.encoding_table["22626"] = [182,245] let s:lib.Codec.encoding_table["22610"] = [182,246] let s:lib.Codec.encoding_table["22603"] = [182,247] let s:lib.Codec.encoding_table["22887"] = [182,248] let s:lib.Codec.encoding_table["23233"] = [182,249] let s:lib.Codec.encoding_table["23241"] = [182,250] let s:lib.Codec.encoding_table["23244"] = [182,251] let s:lib.Codec.encoding_table["23230"] = [182,252] let s:lib.Codec.encoding_table["23229"] = [182,253] let s:lib.Codec.encoding_table["23228"] = [182,254] let s:lib.Codec.encoding_table["23219"] = [183,64] let s:lib.Codec.encoding_table["23234"] = [183,65] let s:lib.Codec.encoding_table["23218"] = [183,66] let s:lib.Codec.encoding_table["23913"] = [183,67] let s:lib.Codec.encoding_table["23919"] = [183,68] let s:lib.Codec.encoding_table["24140"] = [183,69] let s:lib.Codec.encoding_table["24185"] = [183,70] let s:lib.Codec.encoding_table["24265"] = [183,71] let s:lib.Codec.encoding_table["24264"] = [183,72] let s:lib.Codec.encoding_table["24338"] = [183,73] let s:lib.Codec.encoding_table["24409"] = [183,74] let s:lib.Codec.encoding_table["24492"] = [183,75] let s:lib.Codec.encoding_table["24494"] = [183,76] let s:lib.Codec.encoding_table["24858"] = [183,77] let s:lib.Codec.encoding_table["24847"] = [183,78] let s:lib.Codec.encoding_table["24904"] = [183,79] let s:lib.Codec.encoding_table["24863"] = [183,80] let s:lib.Codec.encoding_table["24819"] = [183,81] let s:lib.Codec.encoding_table["24859"] = [183,82] let s:lib.Codec.encoding_table["24825"] = [183,83] let s:lib.Codec.encoding_table["24833"] = [183,84] let s:lib.Codec.encoding_table["24840"] = [183,85] let s:lib.Codec.encoding_table["24910"] = [183,86] let s:lib.Codec.encoding_table["24908"] = [183,87] let s:lib.Codec.encoding_table["24900"] = [183,88] let s:lib.Codec.encoding_table["24909"] = [183,89] let s:lib.Codec.encoding_table["24894"] = [183,90] let s:lib.Codec.encoding_table["24884"] = [183,91] let s:lib.Codec.encoding_table["24871"] = [183,92] let s:lib.Codec.encoding_table["24845"] = [183,93] let s:lib.Codec.encoding_table["24838"] = [183,94] let s:lib.Codec.encoding_table["24887"] = [183,95] let s:lib.Codec.encoding_table["25121"] = [183,96] let s:lib.Codec.encoding_table["25122"] = [183,97] let s:lib.Codec.encoding_table["25619"] = [183,98] let s:lib.Codec.encoding_table["25662"] = [183,99] let s:lib.Codec.encoding_table["25630"] = [183,100] let s:lib.Codec.encoding_table["25642"] = [183,101] let s:lib.Codec.encoding_table["25645"] = [183,102] let s:lib.Codec.encoding_table["25661"] = [183,103] let s:lib.Codec.encoding_table["25644"] = [183,104] let s:lib.Codec.encoding_table["25615"] = [183,105] let s:lib.Codec.encoding_table["25628"] = [183,106] let s:lib.Codec.encoding_table["25620"] = [183,107] let s:lib.Codec.encoding_table["25613"] = [183,108] let s:lib.Codec.encoding_table["25654"] = [183,109] let s:lib.Codec.encoding_table["25622"] = [183,110] let s:lib.Codec.encoding_table["25623"] = [183,111] let s:lib.Codec.encoding_table["25606"] = [183,112] let s:lib.Codec.encoding_table["25964"] = [183,113] let s:lib.Codec.encoding_table["26015"] = [183,114] let s:lib.Codec.encoding_table["26032"] = [183,115] let s:lib.Codec.encoding_table["26263"] = [183,116] let s:lib.Codec.encoding_table["26249"] = [183,117] let s:lib.Codec.encoding_table["26247"] = [183,118] let s:lib.Codec.encoding_table["26248"] = [183,119] let s:lib.Codec.encoding_table["26262"] = [183,120] let s:lib.Codec.encoding_table["26244"] = [183,121] let s:lib.Codec.encoding_table["26264"] = [183,122] let s:lib.Codec.encoding_table["26253"] = [183,123] let s:lib.Codec.encoding_table["26371"] = [183,124] let s:lib.Codec.encoding_table["27028"] = [183,125] let s:lib.Codec.encoding_table["26989"] = [183,126] let s:lib.Codec.encoding_table["26970"] = [183,161] let s:lib.Codec.encoding_table["26999"] = [183,162] let s:lib.Codec.encoding_table["26976"] = [183,163] let s:lib.Codec.encoding_table["26964"] = [183,164] let s:lib.Codec.encoding_table["26997"] = [183,165] let s:lib.Codec.encoding_table["26928"] = [183,166] let s:lib.Codec.encoding_table["27010"] = [183,167] let s:lib.Codec.encoding_table["26954"] = [183,168] let s:lib.Codec.encoding_table["26984"] = [183,169] let s:lib.Codec.encoding_table["26987"] = [183,170] let s:lib.Codec.encoding_table["26974"] = [183,171] let s:lib.Codec.encoding_table["26963"] = [183,172] let s:lib.Codec.encoding_table["27001"] = [183,173] let s:lib.Codec.encoding_table["27014"] = [183,174] let s:lib.Codec.encoding_table["26973"] = [183,175] let s:lib.Codec.encoding_table["26979"] = [183,176] let s:lib.Codec.encoding_table["26971"] = [183,177] let s:lib.Codec.encoding_table["27463"] = [183,178] let s:lib.Codec.encoding_table["27506"] = [183,179] let s:lib.Codec.encoding_table["27584"] = [183,180] let s:lib.Codec.encoding_table["27583"] = [183,181] let s:lib.Codec.encoding_table["27603"] = [183,182] let s:lib.Codec.encoding_table["27645"] = [183,183] let s:lib.Codec.encoding_table["28322"] = [183,184] let s:lib.Codec.encoding_table["28335"] = [183,185] let s:lib.Codec.encoding_table["28371"] = [183,186] let s:lib.Codec.encoding_table["28342"] = [183,187] let s:lib.Codec.encoding_table["28354"] = [183,188] let s:lib.Codec.encoding_table["28304"] = [183,189] let s:lib.Codec.encoding_table["28317"] = [183,190] let s:lib.Codec.encoding_table["28359"] = [183,191] let s:lib.Codec.encoding_table["28357"] = [183,192] let s:lib.Codec.encoding_table["28325"] = [183,193] let s:lib.Codec.encoding_table["28312"] = [183,194] let s:lib.Codec.encoding_table["28348"] = [183,195] let s:lib.Codec.encoding_table["28346"] = [183,196] let s:lib.Codec.encoding_table["28331"] = [183,197] let s:lib.Codec.encoding_table["28369"] = [183,198] let s:lib.Codec.encoding_table["28310"] = [183,199] let s:lib.Codec.encoding_table["28316"] = [183,200] let s:lib.Codec.encoding_table["28356"] = [183,201] let s:lib.Codec.encoding_table["28372"] = [183,202] let s:lib.Codec.encoding_table["28330"] = [183,203] let s:lib.Codec.encoding_table["28327"] = [183,204] let s:lib.Codec.encoding_table["28340"] = [183,205] let s:lib.Codec.encoding_table["29006"] = [183,206] let s:lib.Codec.encoding_table["29017"] = [183,207] let s:lib.Codec.encoding_table["29033"] = [183,208] let s:lib.Codec.encoding_table["29028"] = [183,209] let s:lib.Codec.encoding_table["29001"] = [183,210] let s:lib.Codec.encoding_table["29031"] = [183,211] let s:lib.Codec.encoding_table["29020"] = [183,212] let s:lib.Codec.encoding_table["29036"] = [183,213] let s:lib.Codec.encoding_table["29030"] = [183,214] let s:lib.Codec.encoding_table["29004"] = [183,215] let s:lib.Codec.encoding_table["29029"] = [183,216] let s:lib.Codec.encoding_table["29022"] = [183,217] let s:lib.Codec.encoding_table["28998"] = [183,218] let s:lib.Codec.encoding_table["29032"] = [183,219] let s:lib.Codec.encoding_table["29014"] = [183,220] let s:lib.Codec.encoding_table["29242"] = [183,221] let s:lib.Codec.encoding_table["29266"] = [183,222] let s:lib.Codec.encoding_table["29495"] = [183,223] let s:lib.Codec.encoding_table["29509"] = [183,224] let s:lib.Codec.encoding_table["29503"] = [183,225] let s:lib.Codec.encoding_table["29502"] = [183,226] let s:lib.Codec.encoding_table["29807"] = [183,227] let s:lib.Codec.encoding_table["29786"] = [183,228] let s:lib.Codec.encoding_table["29781"] = [183,229] let s:lib.Codec.encoding_table["29791"] = [183,230] let s:lib.Codec.encoding_table["29790"] = [183,231] let s:lib.Codec.encoding_table["29761"] = [183,232] let s:lib.Codec.encoding_table["29759"] = [183,233] let s:lib.Codec.encoding_table["29785"] = [183,234] let s:lib.Codec.encoding_table["29787"] = [183,235] let s:lib.Codec.encoding_table["29788"] = [183,236] let s:lib.Codec.encoding_table["30070"] = [183,237] let s:lib.Codec.encoding_table["30072"] = [183,238] let s:lib.Codec.encoding_table["30208"] = [183,239] let s:lib.Codec.encoding_table["30192"] = [183,240] let s:lib.Codec.encoding_table["30209"] = [183,241] let s:lib.Codec.encoding_table["30194"] = [183,242] let s:lib.Codec.encoding_table["30193"] = [183,243] let s:lib.Codec.encoding_table["30202"] = [183,244] let s:lib.Codec.encoding_table["30207"] = [183,245] let s:lib.Codec.encoding_table["30196"] = [183,246] let s:lib.Codec.encoding_table["30195"] = [183,247] let s:lib.Codec.encoding_table["30430"] = [183,248] let s:lib.Codec.encoding_table["30431"] = [183,249] let s:lib.Codec.encoding_table["30555"] = [183,250] let s:lib.Codec.encoding_table["30571"] = [183,251] let s:lib.Codec.encoding_table["30566"] = [183,252] let s:lib.Codec.encoding_table["30558"] = [183,253] let s:lib.Codec.encoding_table["30563"] = [183,254] let s:lib.Codec.encoding_table["30585"] = [184,64] let s:lib.Codec.encoding_table["30570"] = [184,65] let s:lib.Codec.encoding_table["30572"] = [184,66] let s:lib.Codec.encoding_table["30556"] = [184,67] let s:lib.Codec.encoding_table["30565"] = [184,68] let s:lib.Codec.encoding_table["30568"] = [184,69] let s:lib.Codec.encoding_table["30562"] = [184,70] let s:lib.Codec.encoding_table["30702"] = [184,71] let s:lib.Codec.encoding_table["30862"] = [184,72] let s:lib.Codec.encoding_table["30896"] = [184,73] let s:lib.Codec.encoding_table["30871"] = [184,74] let s:lib.Codec.encoding_table["30872"] = [184,75] let s:lib.Codec.encoding_table["30860"] = [184,76] let s:lib.Codec.encoding_table["30857"] = [184,77] let s:lib.Codec.encoding_table["30844"] = [184,78] let s:lib.Codec.encoding_table["30865"] = [184,79] let s:lib.Codec.encoding_table["30867"] = [184,80] let s:lib.Codec.encoding_table["30847"] = [184,81] let s:lib.Codec.encoding_table["31098"] = [184,82] let s:lib.Codec.encoding_table["31103"] = [184,83] let s:lib.Codec.encoding_table["31105"] = [184,84] let s:lib.Codec.encoding_table["33836"] = [184,85] let s:lib.Codec.encoding_table["31165"] = [184,86] let s:lib.Codec.encoding_table["31260"] = [184,87] let s:lib.Codec.encoding_table["31258"] = [184,88] let s:lib.Codec.encoding_table["31264"] = [184,89] let s:lib.Codec.encoding_table["31252"] = [184,90] let s:lib.Codec.encoding_table["31263"] = [184,91] let s:lib.Codec.encoding_table["31262"] = [184,92] let s:lib.Codec.encoding_table["31391"] = [184,93] let s:lib.Codec.encoding_table["31392"] = [184,94] let s:lib.Codec.encoding_table["31607"] = [184,95] let s:lib.Codec.encoding_table["31680"] = [184,96] let s:lib.Codec.encoding_table["31584"] = [184,97] let s:lib.Codec.encoding_table["31598"] = [184,98] let s:lib.Codec.encoding_table["31591"] = [184,99] let s:lib.Codec.encoding_table["31921"] = [184,100] let s:lib.Codec.encoding_table["31923"] = [184,101] let s:lib.Codec.encoding_table["31925"] = [184,102] let s:lib.Codec.encoding_table["32147"] = [184,103] let s:lib.Codec.encoding_table["32121"] = [184,104] let s:lib.Codec.encoding_table["32145"] = [184,105] let s:lib.Codec.encoding_table["32129"] = [184,106] let s:lib.Codec.encoding_table["32143"] = [184,107] let s:lib.Codec.encoding_table["32091"] = [184,108] let s:lib.Codec.encoding_table["32622"] = [184,109] let s:lib.Codec.encoding_table["32617"] = [184,110] let s:lib.Codec.encoding_table["32618"] = [184,111] let s:lib.Codec.encoding_table["32626"] = [184,112] let s:lib.Codec.encoding_table["32681"] = [184,113] let s:lib.Codec.encoding_table["32680"] = [184,114] let s:lib.Codec.encoding_table["32676"] = [184,115] let s:lib.Codec.encoding_table["32854"] = [184,116] let s:lib.Codec.encoding_table["32856"] = [184,117] let s:lib.Codec.encoding_table["32902"] = [184,118] let s:lib.Codec.encoding_table["32900"] = [184,119] let s:lib.Codec.encoding_table["33137"] = [184,120] let s:lib.Codec.encoding_table["33136"] = [184,121] let s:lib.Codec.encoding_table["33144"] = [184,122] let s:lib.Codec.encoding_table["33125"] = [184,123] let s:lib.Codec.encoding_table["33134"] = [184,124] let s:lib.Codec.encoding_table["33139"] = [184,125] let s:lib.Codec.encoding_table["33131"] = [184,126] let s:lib.Codec.encoding_table["33145"] = [184,161] let s:lib.Codec.encoding_table["33146"] = [184,162] let s:lib.Codec.encoding_table["33126"] = [184,163] let s:lib.Codec.encoding_table["33285"] = [184,164] let s:lib.Codec.encoding_table["33351"] = [184,165] let s:lib.Codec.encoding_table["33922"] = [184,166] let s:lib.Codec.encoding_table["33911"] = [184,167] let s:lib.Codec.encoding_table["33853"] = [184,168] let s:lib.Codec.encoding_table["33841"] = [184,169] let s:lib.Codec.encoding_table["33909"] = [184,170] let s:lib.Codec.encoding_table["33894"] = [184,171] let s:lib.Codec.encoding_table["33899"] = [184,172] let s:lib.Codec.encoding_table["33865"] = [184,173] let s:lib.Codec.encoding_table["33900"] = [184,174] let s:lib.Codec.encoding_table["33883"] = [184,175] let s:lib.Codec.encoding_table["33852"] = [184,176] let s:lib.Codec.encoding_table["33845"] = [184,177] let s:lib.Codec.encoding_table["33889"] = [184,178] let s:lib.Codec.encoding_table["33891"] = [184,179] let s:lib.Codec.encoding_table["33897"] = [184,180] let s:lib.Codec.encoding_table["33901"] = [184,181] let s:lib.Codec.encoding_table["33862"] = [184,182] let s:lib.Codec.encoding_table["34398"] = [184,183] let s:lib.Codec.encoding_table["34396"] = [184,184] let s:lib.Codec.encoding_table["34399"] = [184,185] let s:lib.Codec.encoding_table["34553"] = [184,186] let s:lib.Codec.encoding_table["34579"] = [184,187] let s:lib.Codec.encoding_table["34568"] = [184,188] let s:lib.Codec.encoding_table["34567"] = [184,189] let s:lib.Codec.encoding_table["34560"] = [184,190] let s:lib.Codec.encoding_table["34558"] = [184,191] let s:lib.Codec.encoding_table["34555"] = [184,192] let s:lib.Codec.encoding_table["34562"] = [184,193] let s:lib.Codec.encoding_table["34563"] = [184,194] let s:lib.Codec.encoding_table["34566"] = [184,195] let s:lib.Codec.encoding_table["34570"] = [184,196] let s:lib.Codec.encoding_table["34905"] = [184,197] let s:lib.Codec.encoding_table["35039"] = [184,198] let s:lib.Codec.encoding_table["35028"] = [184,199] let s:lib.Codec.encoding_table["35033"] = [184,200] let s:lib.Codec.encoding_table["35036"] = [184,201] let s:lib.Codec.encoding_table["35032"] = [184,202] let s:lib.Codec.encoding_table["35037"] = [184,203] let s:lib.Codec.encoding_table["35041"] = [184,204] let s:lib.Codec.encoding_table["35018"] = [184,205] let s:lib.Codec.encoding_table["35029"] = [184,206] let s:lib.Codec.encoding_table["35026"] = [184,207] let s:lib.Codec.encoding_table["35228"] = [184,208] let s:lib.Codec.encoding_table["35299"] = [184,209] let s:lib.Codec.encoding_table["35435"] = [184,210] let s:lib.Codec.encoding_table["35442"] = [184,211] let s:lib.Codec.encoding_table["35443"] = [184,212] let s:lib.Codec.encoding_table["35430"] = [184,213] let s:lib.Codec.encoding_table["35433"] = [184,214] let s:lib.Codec.encoding_table["35440"] = [184,215] let s:lib.Codec.encoding_table["35463"] = [184,216] let s:lib.Codec.encoding_table["35452"] = [184,217] let s:lib.Codec.encoding_table["35427"] = [184,218] let s:lib.Codec.encoding_table["35488"] = [184,219] let s:lib.Codec.encoding_table["35441"] = [184,220] let s:lib.Codec.encoding_table["35461"] = [184,221] let s:lib.Codec.encoding_table["35437"] = [184,222] let s:lib.Codec.encoding_table["35426"] = [184,223] let s:lib.Codec.encoding_table["35438"] = [184,224] let s:lib.Codec.encoding_table["35436"] = [184,225] let s:lib.Codec.encoding_table["35449"] = [184,226] let s:lib.Codec.encoding_table["35451"] = [184,227] let s:lib.Codec.encoding_table["35390"] = [184,228] let s:lib.Codec.encoding_table["35432"] = [184,229] let s:lib.Codec.encoding_table["35938"] = [184,230] let s:lib.Codec.encoding_table["35978"] = [184,231] let s:lib.Codec.encoding_table["35977"] = [184,232] let s:lib.Codec.encoding_table["36042"] = [184,233] let s:lib.Codec.encoding_table["36039"] = [184,234] let s:lib.Codec.encoding_table["36040"] = [184,235] let s:lib.Codec.encoding_table["36036"] = [184,236] let s:lib.Codec.encoding_table["36018"] = [184,237] let s:lib.Codec.encoding_table["36035"] = [184,238] let s:lib.Codec.encoding_table["36034"] = [184,239] let s:lib.Codec.encoding_table["36037"] = [184,240] let s:lib.Codec.encoding_table["36321"] = [184,241] let s:lib.Codec.encoding_table["36319"] = [184,242] let s:lib.Codec.encoding_table["36328"] = [184,243] let s:lib.Codec.encoding_table["36335"] = [184,244] let s:lib.Codec.encoding_table["36339"] = [184,245] let s:lib.Codec.encoding_table["36346"] = [184,246] let s:lib.Codec.encoding_table["36330"] = [184,247] let s:lib.Codec.encoding_table["36324"] = [184,248] let s:lib.Codec.encoding_table["36326"] = [184,249] let s:lib.Codec.encoding_table["36530"] = [184,250] let s:lib.Codec.encoding_table["36611"] = [184,251] let s:lib.Codec.encoding_table["36617"] = [184,252] let s:lib.Codec.encoding_table["36606"] = [184,253] let s:lib.Codec.encoding_table["36618"] = [184,254] let s:lib.Codec.encoding_table["36767"] = [185,64] let s:lib.Codec.encoding_table["36786"] = [185,65] let s:lib.Codec.encoding_table["36939"] = [185,66] let s:lib.Codec.encoding_table["36938"] = [185,67] let s:lib.Codec.encoding_table["36947"] = [185,68] let s:lib.Codec.encoding_table["36930"] = [185,69] let s:lib.Codec.encoding_table["36948"] = [185,70] let s:lib.Codec.encoding_table["36924"] = [185,71] let s:lib.Codec.encoding_table["36949"] = [185,72] let s:lib.Codec.encoding_table["36944"] = [185,73] let s:lib.Codec.encoding_table["36935"] = [185,74] let s:lib.Codec.encoding_table["36943"] = [185,75] let s:lib.Codec.encoding_table["36942"] = [185,76] let s:lib.Codec.encoding_table["36941"] = [185,77] let s:lib.Codec.encoding_table["36945"] = [185,78] let s:lib.Codec.encoding_table["36926"] = [185,79] let s:lib.Codec.encoding_table["36929"] = [185,80] let s:lib.Codec.encoding_table["37138"] = [185,81] let s:lib.Codec.encoding_table["37143"] = [185,82] let s:lib.Codec.encoding_table["37228"] = [185,83] let s:lib.Codec.encoding_table["37226"] = [185,84] let s:lib.Codec.encoding_table["37225"] = [185,85] let s:lib.Codec.encoding_table["37321"] = [185,86] let s:lib.Codec.encoding_table["37431"] = [185,87] let s:lib.Codec.encoding_table["37463"] = [185,88] let s:lib.Codec.encoding_table["37432"] = [185,89] let s:lib.Codec.encoding_table["37437"] = [185,90] let s:lib.Codec.encoding_table["37440"] = [185,91] let s:lib.Codec.encoding_table["37438"] = [185,92] let s:lib.Codec.encoding_table["37467"] = [185,93] let s:lib.Codec.encoding_table["37451"] = [185,94] let s:lib.Codec.encoding_table["37476"] = [185,95] let s:lib.Codec.encoding_table["37457"] = [185,96] let s:lib.Codec.encoding_table["37428"] = [185,97] let s:lib.Codec.encoding_table["37449"] = [185,98] let s:lib.Codec.encoding_table["37453"] = [185,99] let s:lib.Codec.encoding_table["37445"] = [185,100] let s:lib.Codec.encoding_table["37433"] = [185,101] let s:lib.Codec.encoding_table["37439"] = [185,102] let s:lib.Codec.encoding_table["37466"] = [185,103] let s:lib.Codec.encoding_table["38296"] = [185,104] let s:lib.Codec.encoding_table["38552"] = [185,105] let s:lib.Codec.encoding_table["38548"] = [185,106] let s:lib.Codec.encoding_table["38549"] = [185,107] let s:lib.Codec.encoding_table["38605"] = [185,108] let s:lib.Codec.encoding_table["38603"] = [185,109] let s:lib.Codec.encoding_table["38601"] = [185,110] let s:lib.Codec.encoding_table["38602"] = [185,111] let s:lib.Codec.encoding_table["38647"] = [185,112] let s:lib.Codec.encoding_table["38651"] = [185,113] let s:lib.Codec.encoding_table["38649"] = [185,114] let s:lib.Codec.encoding_table["38646"] = [185,115] let s:lib.Codec.encoding_table["38742"] = [185,116] let s:lib.Codec.encoding_table["38772"] = [185,117] let s:lib.Codec.encoding_table["38774"] = [185,118] let s:lib.Codec.encoding_table["38928"] = [185,119] let s:lib.Codec.encoding_table["38929"] = [185,120] let s:lib.Codec.encoding_table["38931"] = [185,121] let s:lib.Codec.encoding_table["38922"] = [185,122] let s:lib.Codec.encoding_table["38930"] = [185,123] let s:lib.Codec.encoding_table["38924"] = [185,124] let s:lib.Codec.encoding_table["39164"] = [185,125] let s:lib.Codec.encoding_table["39156"] = [185,126] let s:lib.Codec.encoding_table["39165"] = [185,161] let s:lib.Codec.encoding_table["39166"] = [185,162] let s:lib.Codec.encoding_table["39347"] = [185,163] let s:lib.Codec.encoding_table["39345"] = [185,164] let s:lib.Codec.encoding_table["39348"] = [185,165] let s:lib.Codec.encoding_table["39649"] = [185,166] let s:lib.Codec.encoding_table["40169"] = [185,167] let s:lib.Codec.encoding_table["40578"] = [185,168] let s:lib.Codec.encoding_table["40718"] = [185,169] let s:lib.Codec.encoding_table["40723"] = [185,170] let s:lib.Codec.encoding_table["40736"] = [185,171] let s:lib.Codec.encoding_table["20711"] = [185,172] let s:lib.Codec.encoding_table["20718"] = [185,173] let s:lib.Codec.encoding_table["20709"] = [185,174] let s:lib.Codec.encoding_table["20694"] = [185,175] let s:lib.Codec.encoding_table["20717"] = [185,176] let s:lib.Codec.encoding_table["20698"] = [185,177] let s:lib.Codec.encoding_table["20693"] = [185,178] let s:lib.Codec.encoding_table["20687"] = [185,179] let s:lib.Codec.encoding_table["20689"] = [185,180] let s:lib.Codec.encoding_table["20721"] = [185,181] let s:lib.Codec.encoding_table["20686"] = [185,182] let s:lib.Codec.encoding_table["20713"] = [185,183] let s:lib.Codec.encoding_table["20834"] = [185,184] let s:lib.Codec.encoding_table["20979"] = [185,185] let s:lib.Codec.encoding_table["21123"] = [185,186] let s:lib.Codec.encoding_table["21122"] = [185,187] let s:lib.Codec.encoding_table["21297"] = [185,188] let s:lib.Codec.encoding_table["21421"] = [185,189] let s:lib.Codec.encoding_table["22014"] = [185,190] let s:lib.Codec.encoding_table["22016"] = [185,191] let s:lib.Codec.encoding_table["22043"] = [185,192] let s:lib.Codec.encoding_table["22039"] = [185,193] let s:lib.Codec.encoding_table["22013"] = [185,194] let s:lib.Codec.encoding_table["22036"] = [185,195] let s:lib.Codec.encoding_table["22022"] = [185,196] let s:lib.Codec.encoding_table["22025"] = [185,197] let s:lib.Codec.encoding_table["22029"] = [185,198] let s:lib.Codec.encoding_table["22030"] = [185,199] let s:lib.Codec.encoding_table["22007"] = [185,200] let s:lib.Codec.encoding_table["22038"] = [185,201] let s:lib.Codec.encoding_table["22047"] = [185,202] let s:lib.Codec.encoding_table["22024"] = [185,203] let s:lib.Codec.encoding_table["22032"] = [185,204] let s:lib.Codec.encoding_table["22006"] = [185,205] let s:lib.Codec.encoding_table["22296"] = [185,206] let s:lib.Codec.encoding_table["22294"] = [185,207] let s:lib.Codec.encoding_table["22645"] = [185,208] let s:lib.Codec.encoding_table["22654"] = [185,209] let s:lib.Codec.encoding_table["22659"] = [185,210] let s:lib.Codec.encoding_table["22675"] = [185,211] let s:lib.Codec.encoding_table["22666"] = [185,212] let s:lib.Codec.encoding_table["22649"] = [185,213] let s:lib.Codec.encoding_table["22661"] = [185,214] let s:lib.Codec.encoding_table["22653"] = [185,215] let s:lib.Codec.encoding_table["22781"] = [185,216] let s:lib.Codec.encoding_table["22821"] = [185,217] let s:lib.Codec.encoding_table["22818"] = [185,218] let s:lib.Codec.encoding_table["22820"] = [185,219] let s:lib.Codec.encoding_table["22890"] = [185,220] let s:lib.Codec.encoding_table["22889"] = [185,221] let s:lib.Codec.encoding_table["23265"] = [185,222] let s:lib.Codec.encoding_table["23270"] = [185,223] let s:lib.Codec.encoding_table["23273"] = [185,224] let s:lib.Codec.encoding_table["23255"] = [185,225] let s:lib.Codec.encoding_table["23254"] = [185,226] let s:lib.Codec.encoding_table["23256"] = [185,227] let s:lib.Codec.encoding_table["23267"] = [185,228] let s:lib.Codec.encoding_table["23413"] = [185,229] let s:lib.Codec.encoding_table["23518"] = [185,230] let s:lib.Codec.encoding_table["23527"] = [185,231] let s:lib.Codec.encoding_table["23521"] = [185,232] let s:lib.Codec.encoding_table["23525"] = [185,233] let s:lib.Codec.encoding_table["23526"] = [185,234] let s:lib.Codec.encoding_table["23528"] = [185,235] let s:lib.Codec.encoding_table["23522"] = [185,236] let s:lib.Codec.encoding_table["23524"] = [185,237] let s:lib.Codec.encoding_table["23519"] = [185,238] let s:lib.Codec.encoding_table["23565"] = [185,239] let s:lib.Codec.encoding_table["23650"] = [185,240] let s:lib.Codec.encoding_table["23940"] = [185,241] let s:lib.Codec.encoding_table["23943"] = [185,242] let s:lib.Codec.encoding_table["24155"] = [185,243] let s:lib.Codec.encoding_table["24163"] = [185,244] let s:lib.Codec.encoding_table["24149"] = [185,245] let s:lib.Codec.encoding_table["24151"] = [185,246] let s:lib.Codec.encoding_table["24148"] = [185,247] let s:lib.Codec.encoding_table["24275"] = [185,248] let s:lib.Codec.encoding_table["24278"] = [185,249] let s:lib.Codec.encoding_table["24330"] = [185,250] let s:lib.Codec.encoding_table["24390"] = [185,251] let s:lib.Codec.encoding_table["24432"] = [185,252] let s:lib.Codec.encoding_table["24505"] = [185,253] let s:lib.Codec.encoding_table["24903"] = [185,254] let s:lib.Codec.encoding_table["24895"] = [186,64] let s:lib.Codec.encoding_table["24907"] = [186,65] let s:lib.Codec.encoding_table["24951"] = [186,66] let s:lib.Codec.encoding_table["24930"] = [186,67] let s:lib.Codec.encoding_table["24931"] = [186,68] let s:lib.Codec.encoding_table["24927"] = [186,69] let s:lib.Codec.encoding_table["24922"] = [186,70] let s:lib.Codec.encoding_table["24920"] = [186,71] let s:lib.Codec.encoding_table["24949"] = [186,72] let s:lib.Codec.encoding_table["25130"] = [186,73] let s:lib.Codec.encoding_table["25735"] = [186,74] let s:lib.Codec.encoding_table["25688"] = [186,75] let s:lib.Codec.encoding_table["25684"] = [186,76] let s:lib.Codec.encoding_table["25764"] = [186,77] let s:lib.Codec.encoding_table["25720"] = [186,78] let s:lib.Codec.encoding_table["25695"] = [186,79] let s:lib.Codec.encoding_table["25722"] = [186,80] let s:lib.Codec.encoding_table["25681"] = [186,81] let s:lib.Codec.encoding_table["25703"] = [186,82] let s:lib.Codec.encoding_table["25652"] = [186,83] let s:lib.Codec.encoding_table["25709"] = [186,84] let s:lib.Codec.encoding_table["25723"] = [186,85] let s:lib.Codec.encoding_table["25970"] = [186,86] let s:lib.Codec.encoding_table["26017"] = [186,87] let s:lib.Codec.encoding_table["26071"] = [186,88] let s:lib.Codec.encoding_table["26070"] = [186,89] let s:lib.Codec.encoding_table["26274"] = [186,90] let s:lib.Codec.encoding_table["26280"] = [186,91] let s:lib.Codec.encoding_table["26269"] = [186,92] let s:lib.Codec.encoding_table["27036"] = [186,93] let s:lib.Codec.encoding_table["27048"] = [186,94] let s:lib.Codec.encoding_table["27029"] = [186,95] let s:lib.Codec.encoding_table["27073"] = [186,96] let s:lib.Codec.encoding_table["27054"] = [186,97] let s:lib.Codec.encoding_table["27091"] = [186,98] let s:lib.Codec.encoding_table["27083"] = [186,99] let s:lib.Codec.encoding_table["27035"] = [186,100] let s:lib.Codec.encoding_table["27063"] = [186,101] let s:lib.Codec.encoding_table["27067"] = [186,102] let s:lib.Codec.encoding_table["27051"] = [186,103] let s:lib.Codec.encoding_table["27060"] = [186,104] let s:lib.Codec.encoding_table["27088"] = [186,105] let s:lib.Codec.encoding_table["27085"] = [186,106] let s:lib.Codec.encoding_table["27053"] = [186,107] let s:lib.Codec.encoding_table["27084"] = [186,108] let s:lib.Codec.encoding_table["27046"] = [186,109] let s:lib.Codec.encoding_table["27075"] = [186,110] let s:lib.Codec.encoding_table["27043"] = [186,111] let s:lib.Codec.encoding_table["27465"] = [186,112] let s:lib.Codec.encoding_table["27468"] = [186,113] let s:lib.Codec.encoding_table["27699"] = [186,114] let s:lib.Codec.encoding_table["28467"] = [186,115] let s:lib.Codec.encoding_table["28436"] = [186,116] let s:lib.Codec.encoding_table["28414"] = [186,117] let s:lib.Codec.encoding_table["28435"] = [186,118] let s:lib.Codec.encoding_table["28404"] = [186,119] let s:lib.Codec.encoding_table["28457"] = [186,120] let s:lib.Codec.encoding_table["28478"] = [186,121] let s:lib.Codec.encoding_table["28448"] = [186,122] let s:lib.Codec.encoding_table["28460"] = [186,123] let s:lib.Codec.encoding_table["28431"] = [186,124] let s:lib.Codec.encoding_table["28418"] = [186,125] let s:lib.Codec.encoding_table["28450"] = [186,126] let s:lib.Codec.encoding_table["28415"] = [186,161] let s:lib.Codec.encoding_table["28399"] = [186,162] let s:lib.Codec.encoding_table["28422"] = [186,163] let s:lib.Codec.encoding_table["28465"] = [186,164] let s:lib.Codec.encoding_table["28472"] = [186,165] let s:lib.Codec.encoding_table["28466"] = [186,166] let s:lib.Codec.encoding_table["28451"] = [186,167] let s:lib.Codec.encoding_table["28437"] = [186,168] let s:lib.Codec.encoding_table["28459"] = [186,169] let s:lib.Codec.encoding_table["28463"] = [186,170] let s:lib.Codec.encoding_table["28552"] = [186,171] let s:lib.Codec.encoding_table["28458"] = [186,172] let s:lib.Codec.encoding_table["28396"] = [186,173] let s:lib.Codec.encoding_table["28417"] = [186,174] let s:lib.Codec.encoding_table["28402"] = [186,175] let s:lib.Codec.encoding_table["28364"] = [186,176] let s:lib.Codec.encoding_table["28407"] = [186,177] let s:lib.Codec.encoding_table["29076"] = [186,178] let s:lib.Codec.encoding_table["29081"] = [186,179] let s:lib.Codec.encoding_table["29053"] = [186,180] let s:lib.Codec.encoding_table["29066"] = [186,181] let s:lib.Codec.encoding_table["29060"] = [186,182] let s:lib.Codec.encoding_table["29074"] = [186,183] let s:lib.Codec.encoding_table["29246"] = [186,184] let s:lib.Codec.encoding_table["29330"] = [186,185] let s:lib.Codec.encoding_table["29334"] = [186,186] let s:lib.Codec.encoding_table["29508"] = [186,187] let s:lib.Codec.encoding_table["29520"] = [186,188] let s:lib.Codec.encoding_table["29796"] = [186,189] let s:lib.Codec.encoding_table["29795"] = [186,190] let s:lib.Codec.encoding_table["29802"] = [186,191] let s:lib.Codec.encoding_table["29808"] = [186,192] let s:lib.Codec.encoding_table["29805"] = [186,193] let s:lib.Codec.encoding_table["29956"] = [186,194] let s:lib.Codec.encoding_table["30097"] = [186,195] let s:lib.Codec.encoding_table["30247"] = [186,196] let s:lib.Codec.encoding_table["30221"] = [186,197] let s:lib.Codec.encoding_table["30219"] = [186,198] let s:lib.Codec.encoding_table["30217"] = [186,199] let s:lib.Codec.encoding_table["30227"] = [186,200] let s:lib.Codec.encoding_table["30433"] = [186,201] let s:lib.Codec.encoding_table["30435"] = [186,202] let s:lib.Codec.encoding_table["30596"] = [186,203] let s:lib.Codec.encoding_table["30589"] = [186,204] let s:lib.Codec.encoding_table["30591"] = [186,205] let s:lib.Codec.encoding_table["30561"] = [186,206] let s:lib.Codec.encoding_table["30913"] = [186,207] let s:lib.Codec.encoding_table["30879"] = [186,208] let s:lib.Codec.encoding_table["30887"] = [186,209] let s:lib.Codec.encoding_table["30899"] = [186,210] let s:lib.Codec.encoding_table["30889"] = [186,211] let s:lib.Codec.encoding_table["30883"] = [186,212] let s:lib.Codec.encoding_table["31118"] = [186,213] let s:lib.Codec.encoding_table["31119"] = [186,214] let s:lib.Codec.encoding_table["31117"] = [186,215] let s:lib.Codec.encoding_table["31278"] = [186,216] let s:lib.Codec.encoding_table["31281"] = [186,217] let s:lib.Codec.encoding_table["31402"] = [186,218] let s:lib.Codec.encoding_table["31401"] = [186,219] let s:lib.Codec.encoding_table["31469"] = [186,220] let s:lib.Codec.encoding_table["31471"] = [186,221] let s:lib.Codec.encoding_table["31649"] = [186,222] let s:lib.Codec.encoding_table["31637"] = [186,223] let s:lib.Codec.encoding_table["31627"] = [186,224] let s:lib.Codec.encoding_table["31605"] = [186,225] let s:lib.Codec.encoding_table["31639"] = [186,226] let s:lib.Codec.encoding_table["31645"] = [186,227] let s:lib.Codec.encoding_table["31636"] = [186,228] let s:lib.Codec.encoding_table["31631"] = [186,229] let s:lib.Codec.encoding_table["31672"] = [186,230] let s:lib.Codec.encoding_table["31623"] = [186,231] let s:lib.Codec.encoding_table["31620"] = [186,232] let s:lib.Codec.encoding_table["31929"] = [186,233] let s:lib.Codec.encoding_table["31933"] = [186,234] let s:lib.Codec.encoding_table["31934"] = [186,235] let s:lib.Codec.encoding_table["32187"] = [186,236] let s:lib.Codec.encoding_table["32176"] = [186,237] let s:lib.Codec.encoding_table["32156"] = [186,238] let s:lib.Codec.encoding_table["32189"] = [186,239] let s:lib.Codec.encoding_table["32190"] = [186,240] let s:lib.Codec.encoding_table["32160"] = [186,241] let s:lib.Codec.encoding_table["32202"] = [186,242] let s:lib.Codec.encoding_table["32180"] = [186,243] let s:lib.Codec.encoding_table["32178"] = [186,244] let s:lib.Codec.encoding_table["32177"] = [186,245] let s:lib.Codec.encoding_table["32186"] = [186,246] let s:lib.Codec.encoding_table["32162"] = [186,247] let s:lib.Codec.encoding_table["32191"] = [186,248] let s:lib.Codec.encoding_table["32181"] = [186,249] let s:lib.Codec.encoding_table["32184"] = [186,250] let s:lib.Codec.encoding_table["32173"] = [186,251] let s:lib.Codec.encoding_table["32210"] = [186,252] let s:lib.Codec.encoding_table["32199"] = [186,253] let s:lib.Codec.encoding_table["32172"] = [186,254] let s:lib.Codec.encoding_table["32624"] = [187,64] let s:lib.Codec.encoding_table["32736"] = [187,65] let s:lib.Codec.encoding_table["32737"] = [187,66] let s:lib.Codec.encoding_table["32735"] = [187,67] let s:lib.Codec.encoding_table["32862"] = [187,68] let s:lib.Codec.encoding_table["32858"] = [187,69] let s:lib.Codec.encoding_table["32903"] = [187,70] let s:lib.Codec.encoding_table["33104"] = [187,71] let s:lib.Codec.encoding_table["33152"] = [187,72] let s:lib.Codec.encoding_table["33167"] = [187,73] let s:lib.Codec.encoding_table["33160"] = [187,74] let s:lib.Codec.encoding_table["33162"] = [187,75] let s:lib.Codec.encoding_table["33151"] = [187,76] let s:lib.Codec.encoding_table["33154"] = [187,77] let s:lib.Codec.encoding_table["33255"] = [187,78] let s:lib.Codec.encoding_table["33274"] = [187,79] let s:lib.Codec.encoding_table["33287"] = [187,80] let s:lib.Codec.encoding_table["33300"] = [187,81] let s:lib.Codec.encoding_table["33310"] = [187,82] let s:lib.Codec.encoding_table["33355"] = [187,83] let s:lib.Codec.encoding_table["33993"] = [187,84] let s:lib.Codec.encoding_table["33983"] = [187,85] let s:lib.Codec.encoding_table["33990"] = [187,86] let s:lib.Codec.encoding_table["33988"] = [187,87] let s:lib.Codec.encoding_table["33945"] = [187,88] let s:lib.Codec.encoding_table["33950"] = [187,89] let s:lib.Codec.encoding_table["33970"] = [187,90] let s:lib.Codec.encoding_table["33948"] = [187,91] let s:lib.Codec.encoding_table["33995"] = [187,92] let s:lib.Codec.encoding_table["33976"] = [187,93] let s:lib.Codec.encoding_table["33984"] = [187,94] let s:lib.Codec.encoding_table["34003"] = [187,95] let s:lib.Codec.encoding_table["33936"] = [187,96] let s:lib.Codec.encoding_table["33980"] = [187,97] let s:lib.Codec.encoding_table["34001"] = [187,98] let s:lib.Codec.encoding_table["33994"] = [187,99] let s:lib.Codec.encoding_table["34623"] = [187,100] let s:lib.Codec.encoding_table["34588"] = [187,101] let s:lib.Codec.encoding_table["34619"] = [187,102] let s:lib.Codec.encoding_table["34594"] = [187,103] let s:lib.Codec.encoding_table["34597"] = [187,104] let s:lib.Codec.encoding_table["34612"] = [187,105] let s:lib.Codec.encoding_table["34584"] = [187,106] let s:lib.Codec.encoding_table["34645"] = [187,107] let s:lib.Codec.encoding_table["34615"] = [187,108] let s:lib.Codec.encoding_table["34601"] = [187,109] let s:lib.Codec.encoding_table["35059"] = [187,110] let s:lib.Codec.encoding_table["35074"] = [187,111] let s:lib.Codec.encoding_table["35060"] = [187,112] let s:lib.Codec.encoding_table["35065"] = [187,113] let s:lib.Codec.encoding_table["35064"] = [187,114] let s:lib.Codec.encoding_table["35069"] = [187,115] let s:lib.Codec.encoding_table["35048"] = [187,116] let s:lib.Codec.encoding_table["35098"] = [187,117] let s:lib.Codec.encoding_table["35055"] = [187,118] let s:lib.Codec.encoding_table["35494"] = [187,119] let s:lib.Codec.encoding_table["35468"] = [187,120] let s:lib.Codec.encoding_table["35486"] = [187,121] let s:lib.Codec.encoding_table["35491"] = [187,122] let s:lib.Codec.encoding_table["35469"] = [187,123] let s:lib.Codec.encoding_table["35489"] = [187,124] let s:lib.Codec.encoding_table["35475"] = [187,125] let s:lib.Codec.encoding_table["35492"] = [187,126] let s:lib.Codec.encoding_table["35498"] = [187,161] let s:lib.Codec.encoding_table["35493"] = [187,162] let s:lib.Codec.encoding_table["35496"] = [187,163] let s:lib.Codec.encoding_table["35480"] = [187,164] let s:lib.Codec.encoding_table["35473"] = [187,165] let s:lib.Codec.encoding_table["35482"] = [187,166] let s:lib.Codec.encoding_table["35495"] = [187,167] let s:lib.Codec.encoding_table["35946"] = [187,168] let s:lib.Codec.encoding_table["35981"] = [187,169] let s:lib.Codec.encoding_table["35980"] = [187,170] let s:lib.Codec.encoding_table["36051"] = [187,171] let s:lib.Codec.encoding_table["36049"] = [187,172] let s:lib.Codec.encoding_table["36050"] = [187,173] let s:lib.Codec.encoding_table["36203"] = [187,174] let s:lib.Codec.encoding_table["36249"] = [187,175] let s:lib.Codec.encoding_table["36245"] = [187,176] let s:lib.Codec.encoding_table["36348"] = [187,177] let s:lib.Codec.encoding_table["36628"] = [187,178] let s:lib.Codec.encoding_table["36626"] = [187,179] let s:lib.Codec.encoding_table["36629"] = [187,180] let s:lib.Codec.encoding_table["36627"] = [187,181] let s:lib.Codec.encoding_table["36771"] = [187,182] let s:lib.Codec.encoding_table["36960"] = [187,183] let s:lib.Codec.encoding_table["36952"] = [187,184] let s:lib.Codec.encoding_table["36956"] = [187,185] let s:lib.Codec.encoding_table["36963"] = [187,186] let s:lib.Codec.encoding_table["36953"] = [187,187] let s:lib.Codec.encoding_table["36958"] = [187,188] let s:lib.Codec.encoding_table["36962"] = [187,189] let s:lib.Codec.encoding_table["36957"] = [187,190] let s:lib.Codec.encoding_table["36955"] = [187,191] let s:lib.Codec.encoding_table["37145"] = [187,192] let s:lib.Codec.encoding_table["37144"] = [187,193] let s:lib.Codec.encoding_table["37150"] = [187,194] let s:lib.Codec.encoding_table["37237"] = [187,195] let s:lib.Codec.encoding_table["37240"] = [187,196] let s:lib.Codec.encoding_table["37239"] = [187,197] let s:lib.Codec.encoding_table["37236"] = [187,198] let s:lib.Codec.encoding_table["37496"] = [187,199] let s:lib.Codec.encoding_table["37504"] = [187,200] let s:lib.Codec.encoding_table["37509"] = [187,201] let s:lib.Codec.encoding_table["37528"] = [187,202] let s:lib.Codec.encoding_table["37526"] = [187,203] let s:lib.Codec.encoding_table["37499"] = [187,204] let s:lib.Codec.encoding_table["37523"] = [187,205] let s:lib.Codec.encoding_table["37532"] = [187,206] let s:lib.Codec.encoding_table["37544"] = [187,207] let s:lib.Codec.encoding_table["37500"] = [187,208] let s:lib.Codec.encoding_table["37521"] = [187,209] let s:lib.Codec.encoding_table["38305"] = [187,210] let s:lib.Codec.encoding_table["38312"] = [187,211] let s:lib.Codec.encoding_table["38313"] = [187,212] let s:lib.Codec.encoding_table["38307"] = [187,213] let s:lib.Codec.encoding_table["38309"] = [187,214] let s:lib.Codec.encoding_table["38308"] = [187,215] let s:lib.Codec.encoding_table["38553"] = [187,216] let s:lib.Codec.encoding_table["38556"] = [187,217] let s:lib.Codec.encoding_table["38555"] = [187,218] let s:lib.Codec.encoding_table["38604"] = [187,219] let s:lib.Codec.encoding_table["38610"] = [187,220] let s:lib.Codec.encoding_table["38656"] = [187,221] let s:lib.Codec.encoding_table["38780"] = [187,222] let s:lib.Codec.encoding_table["38789"] = [187,223] let s:lib.Codec.encoding_table["38902"] = [187,224] let s:lib.Codec.encoding_table["38935"] = [187,225] let s:lib.Codec.encoding_table["38936"] = [187,226] let s:lib.Codec.encoding_table["39087"] = [187,227] let s:lib.Codec.encoding_table["39089"] = [187,228] let s:lib.Codec.encoding_table["39171"] = [187,229] let s:lib.Codec.encoding_table["39173"] = [187,230] let s:lib.Codec.encoding_table["39180"] = [187,231] let s:lib.Codec.encoding_table["39177"] = [187,232] let s:lib.Codec.encoding_table["39361"] = [187,233] let s:lib.Codec.encoding_table["39599"] = [187,234] let s:lib.Codec.encoding_table["39600"] = [187,235] let s:lib.Codec.encoding_table["39654"] = [187,236] let s:lib.Codec.encoding_table["39745"] = [187,237] let s:lib.Codec.encoding_table["39746"] = [187,238] let s:lib.Codec.encoding_table["40180"] = [187,239] let s:lib.Codec.encoding_table["40182"] = [187,240] let s:lib.Codec.encoding_table["40179"] = [187,241] let s:lib.Codec.encoding_table["40636"] = [187,242] let s:lib.Codec.encoding_table["40763"] = [187,243] let s:lib.Codec.encoding_table["40778"] = [187,244] let s:lib.Codec.encoding_table["20740"] = [187,245] let s:lib.Codec.encoding_table["20736"] = [187,246] let s:lib.Codec.encoding_table["20731"] = [187,247] let s:lib.Codec.encoding_table["20725"] = [187,248] let s:lib.Codec.encoding_table["20729"] = [187,249] let s:lib.Codec.encoding_table["20738"] = [187,250] let s:lib.Codec.encoding_table["20744"] = [187,251] let s:lib.Codec.encoding_table["20745"] = [187,252] let s:lib.Codec.encoding_table["20741"] = [187,253] let s:lib.Codec.encoding_table["20956"] = [187,254] let s:lib.Codec.encoding_table["21127"] = [188,64] let s:lib.Codec.encoding_table["21128"] = [188,65] let s:lib.Codec.encoding_table["21129"] = [188,66] let s:lib.Codec.encoding_table["21133"] = [188,67] let s:lib.Codec.encoding_table["21130"] = [188,68] let s:lib.Codec.encoding_table["21232"] = [188,69] let s:lib.Codec.encoding_table["21426"] = [188,70] let s:lib.Codec.encoding_table["22062"] = [188,71] let s:lib.Codec.encoding_table["22075"] = [188,72] let s:lib.Codec.encoding_table["22073"] = [188,73] let s:lib.Codec.encoding_table["22066"] = [188,74] let s:lib.Codec.encoding_table["22079"] = [188,75] let s:lib.Codec.encoding_table["22068"] = [188,76] let s:lib.Codec.encoding_table["22057"] = [188,77] let s:lib.Codec.encoding_table["22099"] = [188,78] let s:lib.Codec.encoding_table["22094"] = [188,79] let s:lib.Codec.encoding_table["22103"] = [188,80] let s:lib.Codec.encoding_table["22132"] = [188,81] let s:lib.Codec.encoding_table["22070"] = [188,82] let s:lib.Codec.encoding_table["22063"] = [188,83] let s:lib.Codec.encoding_table["22064"] = [188,84] let s:lib.Codec.encoding_table["22656"] = [188,85] let s:lib.Codec.encoding_table["22687"] = [188,86] let s:lib.Codec.encoding_table["22686"] = [188,87] let s:lib.Codec.encoding_table["22707"] = [188,88] let s:lib.Codec.encoding_table["22684"] = [188,89] let s:lib.Codec.encoding_table["22702"] = [188,90] let s:lib.Codec.encoding_table["22697"] = [188,91] let s:lib.Codec.encoding_table["22694"] = [188,92] let s:lib.Codec.encoding_table["22893"] = [188,93] let s:lib.Codec.encoding_table["23305"] = [188,94] let s:lib.Codec.encoding_table["23291"] = [188,95] let s:lib.Codec.encoding_table["23307"] = [188,96] let s:lib.Codec.encoding_table["23285"] = [188,97] let s:lib.Codec.encoding_table["23308"] = [188,98] let s:lib.Codec.encoding_table["23304"] = [188,99] let s:lib.Codec.encoding_table["23534"] = [188,100] let s:lib.Codec.encoding_table["23532"] = [188,101] let s:lib.Codec.encoding_table["23529"] = [188,102] let s:lib.Codec.encoding_table["23531"] = [188,103] let s:lib.Codec.encoding_table["23652"] = [188,104] let s:lib.Codec.encoding_table["23653"] = [188,105] let s:lib.Codec.encoding_table["23965"] = [188,106] let s:lib.Codec.encoding_table["23956"] = [188,107] let s:lib.Codec.encoding_table["24162"] = [188,108] let s:lib.Codec.encoding_table["24159"] = [188,109] let s:lib.Codec.encoding_table["24161"] = [188,110] let s:lib.Codec.encoding_table["24290"] = [188,111] let s:lib.Codec.encoding_table["24282"] = [188,112] let s:lib.Codec.encoding_table["24287"] = [188,113] let s:lib.Codec.encoding_table["24285"] = [188,114] let s:lib.Codec.encoding_table["24291"] = [188,115] let s:lib.Codec.encoding_table["24288"] = [188,116] let s:lib.Codec.encoding_table["24392"] = [188,117] let s:lib.Codec.encoding_table["24433"] = [188,118] let s:lib.Codec.encoding_table["24503"] = [188,119] let s:lib.Codec.encoding_table["24501"] = [188,120] let s:lib.Codec.encoding_table["24950"] = [188,121] let s:lib.Codec.encoding_table["24935"] = [188,122] let s:lib.Codec.encoding_table["24942"] = [188,123] let s:lib.Codec.encoding_table["24925"] = [188,124] let s:lib.Codec.encoding_table["24917"] = [188,125] let s:lib.Codec.encoding_table["24962"] = [188,126] let s:lib.Codec.encoding_table["24956"] = [188,161] let s:lib.Codec.encoding_table["24944"] = [188,162] let s:lib.Codec.encoding_table["24939"] = [188,163] let s:lib.Codec.encoding_table["24958"] = [188,164] let s:lib.Codec.encoding_table["24999"] = [188,165] let s:lib.Codec.encoding_table["24976"] = [188,166] let s:lib.Codec.encoding_table["25003"] = [188,167] let s:lib.Codec.encoding_table["24974"] = [188,168] let s:lib.Codec.encoding_table["25004"] = [188,169] let s:lib.Codec.encoding_table["24986"] = [188,170] let s:lib.Codec.encoding_table["24996"] = [188,171] let s:lib.Codec.encoding_table["24980"] = [188,172] let s:lib.Codec.encoding_table["25006"] = [188,173] let s:lib.Codec.encoding_table["25134"] = [188,174] let s:lib.Codec.encoding_table["25705"] = [188,175] let s:lib.Codec.encoding_table["25711"] = [188,176] let s:lib.Codec.encoding_table["25721"] = [188,177] let s:lib.Codec.encoding_table["25758"] = [188,178] let s:lib.Codec.encoding_table["25778"] = [188,179] let s:lib.Codec.encoding_table["25736"] = [188,180] let s:lib.Codec.encoding_table["25744"] = [188,181] let s:lib.Codec.encoding_table["25776"] = [188,182] let s:lib.Codec.encoding_table["25765"] = [188,183] let s:lib.Codec.encoding_table["25747"] = [188,184] let s:lib.Codec.encoding_table["25749"] = [188,185] let s:lib.Codec.encoding_table["25769"] = [188,186] let s:lib.Codec.encoding_table["25746"] = [188,187] let s:lib.Codec.encoding_table["25774"] = [188,188] let s:lib.Codec.encoding_table["25773"] = [188,189] let s:lib.Codec.encoding_table["25771"] = [188,190] let s:lib.Codec.encoding_table["25754"] = [188,191] let s:lib.Codec.encoding_table["25772"] = [188,192] let s:lib.Codec.encoding_table["25753"] = [188,193] let s:lib.Codec.encoding_table["25762"] = [188,194] let s:lib.Codec.encoding_table["25779"] = [188,195] let s:lib.Codec.encoding_table["25973"] = [188,196] let s:lib.Codec.encoding_table["25975"] = [188,197] let s:lib.Codec.encoding_table["25976"] = [188,198] let s:lib.Codec.encoding_table["26286"] = [188,199] let s:lib.Codec.encoding_table["26283"] = [188,200] let s:lib.Codec.encoding_table["26292"] = [188,201] let s:lib.Codec.encoding_table["26289"] = [188,202] let s:lib.Codec.encoding_table["27171"] = [188,203] let s:lib.Codec.encoding_table["27167"] = [188,204] let s:lib.Codec.encoding_table["27112"] = [188,205] let s:lib.Codec.encoding_table["27137"] = [188,206] let s:lib.Codec.encoding_table["27166"] = [188,207] let s:lib.Codec.encoding_table["27161"] = [188,208] let s:lib.Codec.encoding_table["27133"] = [188,209] let s:lib.Codec.encoding_table["27169"] = [188,210] let s:lib.Codec.encoding_table["27155"] = [188,211] let s:lib.Codec.encoding_table["27146"] = [188,212] let s:lib.Codec.encoding_table["27123"] = [188,213] let s:lib.Codec.encoding_table["27138"] = [188,214] let s:lib.Codec.encoding_table["27141"] = [188,215] let s:lib.Codec.encoding_table["27117"] = [188,216] let s:lib.Codec.encoding_table["27153"] = [188,217] let s:lib.Codec.encoding_table["27472"] = [188,218] let s:lib.Codec.encoding_table["27470"] = [188,219] let s:lib.Codec.encoding_table["27556"] = [188,220] let s:lib.Codec.encoding_table["27589"] = [188,221] let s:lib.Codec.encoding_table["27590"] = [188,222] let s:lib.Codec.encoding_table["28479"] = [188,223] let s:lib.Codec.encoding_table["28540"] = [188,224] let s:lib.Codec.encoding_table["28548"] = [188,225] let s:lib.Codec.encoding_table["28497"] = [188,226] let s:lib.Codec.encoding_table["28518"] = [188,227] let s:lib.Codec.encoding_table["28500"] = [188,228] let s:lib.Codec.encoding_table["28550"] = [188,229] let s:lib.Codec.encoding_table["28525"] = [188,230] let s:lib.Codec.encoding_table["28507"] = [188,231] let s:lib.Codec.encoding_table["28536"] = [188,232] let s:lib.Codec.encoding_table["28526"] = [188,233] let s:lib.Codec.encoding_table["28558"] = [188,234] let s:lib.Codec.encoding_table["28538"] = [188,235] let s:lib.Codec.encoding_table["28528"] = [188,236] let s:lib.Codec.encoding_table["28516"] = [188,237] let s:lib.Codec.encoding_table["28567"] = [188,238] let s:lib.Codec.encoding_table["28504"] = [188,239] let s:lib.Codec.encoding_table["28373"] = [188,240] let s:lib.Codec.encoding_table["28527"] = [188,241] let s:lib.Codec.encoding_table["28512"] = [188,242] let s:lib.Codec.encoding_table["28511"] = [188,243] let s:lib.Codec.encoding_table["29087"] = [188,244] let s:lib.Codec.encoding_table["29100"] = [188,245] let s:lib.Codec.encoding_table["29105"] = [188,246] let s:lib.Codec.encoding_table["29096"] = [188,247] let s:lib.Codec.encoding_table["29270"] = [188,248] let s:lib.Codec.encoding_table["29339"] = [188,249] let s:lib.Codec.encoding_table["29518"] = [188,250] let s:lib.Codec.encoding_table["29527"] = [188,251] let s:lib.Codec.encoding_table["29801"] = [188,252] let s:lib.Codec.encoding_table["29835"] = [188,253] let s:lib.Codec.encoding_table["29827"] = [188,254] let s:lib.Codec.encoding_table["29822"] = [189,64] let s:lib.Codec.encoding_table["29824"] = [189,65] let s:lib.Codec.encoding_table["30079"] = [189,66] let s:lib.Codec.encoding_table["30240"] = [189,67] let s:lib.Codec.encoding_table["30249"] = [189,68] let s:lib.Codec.encoding_table["30239"] = [189,69] let s:lib.Codec.encoding_table["30244"] = [189,70] let s:lib.Codec.encoding_table["30246"] = [189,71] let s:lib.Codec.encoding_table["30241"] = [189,72] let s:lib.Codec.encoding_table["30242"] = [189,73] let s:lib.Codec.encoding_table["30362"] = [189,74] let s:lib.Codec.encoding_table["30394"] = [189,75] let s:lib.Codec.encoding_table["30436"] = [189,76] let s:lib.Codec.encoding_table["30606"] = [189,77] let s:lib.Codec.encoding_table["30599"] = [189,78] let s:lib.Codec.encoding_table["30604"] = [189,79] let s:lib.Codec.encoding_table["30609"] = [189,80] let s:lib.Codec.encoding_table["30603"] = [189,81] let s:lib.Codec.encoding_table["30923"] = [189,82] let s:lib.Codec.encoding_table["30917"] = [189,83] let s:lib.Codec.encoding_table["30906"] = [189,84] let s:lib.Codec.encoding_table["30922"] = [189,85] let s:lib.Codec.encoding_table["30910"] = [189,86] let s:lib.Codec.encoding_table["30933"] = [189,87] let s:lib.Codec.encoding_table["30908"] = [189,88] let s:lib.Codec.encoding_table["30928"] = [189,89] let s:lib.Codec.encoding_table["31295"] = [189,90] let s:lib.Codec.encoding_table["31292"] = [189,91] let s:lib.Codec.encoding_table["31296"] = [189,92] let s:lib.Codec.encoding_table["31293"] = [189,93] let s:lib.Codec.encoding_table["31287"] = [189,94] let s:lib.Codec.encoding_table["31291"] = [189,95] let s:lib.Codec.encoding_table["31407"] = [189,96] let s:lib.Codec.encoding_table["31406"] = [189,97] let s:lib.Codec.encoding_table["31661"] = [189,98] let s:lib.Codec.encoding_table["31665"] = [189,99] let s:lib.Codec.encoding_table["31684"] = [189,100] let s:lib.Codec.encoding_table["31668"] = [189,101] let s:lib.Codec.encoding_table["31686"] = [189,102] let s:lib.Codec.encoding_table["31687"] = [189,103] let s:lib.Codec.encoding_table["31681"] = [189,104] let s:lib.Codec.encoding_table["31648"] = [189,105] let s:lib.Codec.encoding_table["31692"] = [189,106] let s:lib.Codec.encoding_table["31946"] = [189,107] let s:lib.Codec.encoding_table["32224"] = [189,108] let s:lib.Codec.encoding_table["32244"] = [189,109] let s:lib.Codec.encoding_table["32239"] = [189,110] let s:lib.Codec.encoding_table["32251"] = [189,111] let s:lib.Codec.encoding_table["32216"] = [189,112] let s:lib.Codec.encoding_table["32236"] = [189,113] let s:lib.Codec.encoding_table["32221"] = [189,114] let s:lib.Codec.encoding_table["32232"] = [189,115] let s:lib.Codec.encoding_table["32227"] = [189,116] let s:lib.Codec.encoding_table["32218"] = [189,117] let s:lib.Codec.encoding_table["32222"] = [189,118] let s:lib.Codec.encoding_table["32233"] = [189,119] let s:lib.Codec.encoding_table["32158"] = [189,120] let s:lib.Codec.encoding_table["32217"] = [189,121] let s:lib.Codec.encoding_table["32242"] = [189,122] let s:lib.Codec.encoding_table["32249"] = [189,123] let s:lib.Codec.encoding_table["32629"] = [189,124] let s:lib.Codec.encoding_table["32631"] = [189,125] let s:lib.Codec.encoding_table["32687"] = [189,126] let s:lib.Codec.encoding_table["32745"] = [189,161] let s:lib.Codec.encoding_table["32806"] = [189,162] let s:lib.Codec.encoding_table["33179"] = [189,163] let s:lib.Codec.encoding_table["33180"] = [189,164] let s:lib.Codec.encoding_table["33181"] = [189,165] let s:lib.Codec.encoding_table["33184"] = [189,166] let s:lib.Codec.encoding_table["33178"] = [189,167] let s:lib.Codec.encoding_table["33176"] = [189,168] let s:lib.Codec.encoding_table["34071"] = [189,169] let s:lib.Codec.encoding_table["34109"] = [189,170] let s:lib.Codec.encoding_table["34074"] = [189,171] let s:lib.Codec.encoding_table["34030"] = [189,172] let s:lib.Codec.encoding_table["34092"] = [189,173] let s:lib.Codec.encoding_table["34093"] = [189,174] let s:lib.Codec.encoding_table["34067"] = [189,175] let s:lib.Codec.encoding_table["34065"] = [189,176] let s:lib.Codec.encoding_table["34083"] = [189,177] let s:lib.Codec.encoding_table["34081"] = [189,178] let s:lib.Codec.encoding_table["34068"] = [189,179] let s:lib.Codec.encoding_table["34028"] = [189,180] let s:lib.Codec.encoding_table["34085"] = [189,181] let s:lib.Codec.encoding_table["34047"] = [189,182] let s:lib.Codec.encoding_table["34054"] = [189,183] let s:lib.Codec.encoding_table["34690"] = [189,184] let s:lib.Codec.encoding_table["34676"] = [189,185] let s:lib.Codec.encoding_table["34678"] = [189,186] let s:lib.Codec.encoding_table["34656"] = [189,187] let s:lib.Codec.encoding_table["34662"] = [189,188] let s:lib.Codec.encoding_table["34680"] = [189,189] let s:lib.Codec.encoding_table["34664"] = [189,190] let s:lib.Codec.encoding_table["34649"] = [189,191] let s:lib.Codec.encoding_table["34647"] = [189,192] let s:lib.Codec.encoding_table["34636"] = [189,193] let s:lib.Codec.encoding_table["34643"] = [189,194] let s:lib.Codec.encoding_table["34907"] = [189,195] let s:lib.Codec.encoding_table["34909"] = [189,196] let s:lib.Codec.encoding_table["35088"] = [189,197] let s:lib.Codec.encoding_table["35079"] = [189,198] let s:lib.Codec.encoding_table["35090"] = [189,199] let s:lib.Codec.encoding_table["35091"] = [189,200] let s:lib.Codec.encoding_table["35093"] = [189,201] let s:lib.Codec.encoding_table["35082"] = [189,202] let s:lib.Codec.encoding_table["35516"] = [189,203] let s:lib.Codec.encoding_table["35538"] = [189,204] let s:lib.Codec.encoding_table["35527"] = [189,205] let s:lib.Codec.encoding_table["35524"] = [189,206] let s:lib.Codec.encoding_table["35477"] = [189,207] let s:lib.Codec.encoding_table["35531"] = [189,208] let s:lib.Codec.encoding_table["35576"] = [189,209] let s:lib.Codec.encoding_table["35506"] = [189,210] let s:lib.Codec.encoding_table["35529"] = [189,211] let s:lib.Codec.encoding_table["35522"] = [189,212] let s:lib.Codec.encoding_table["35519"] = [189,213] let s:lib.Codec.encoding_table["35504"] = [189,214] let s:lib.Codec.encoding_table["35542"] = [189,215] let s:lib.Codec.encoding_table["35533"] = [189,216] let s:lib.Codec.encoding_table["35510"] = [189,217] let s:lib.Codec.encoding_table["35513"] = [189,218] let s:lib.Codec.encoding_table["35547"] = [189,219] let s:lib.Codec.encoding_table["35916"] = [189,220] let s:lib.Codec.encoding_table["35918"] = [189,221] let s:lib.Codec.encoding_table["35948"] = [189,222] let s:lib.Codec.encoding_table["36064"] = [189,223] let s:lib.Codec.encoding_table["36062"] = [189,224] let s:lib.Codec.encoding_table["36070"] = [189,225] let s:lib.Codec.encoding_table["36068"] = [189,226] let s:lib.Codec.encoding_table["36076"] = [189,227] let s:lib.Codec.encoding_table["36077"] = [189,228] let s:lib.Codec.encoding_table["36066"] = [189,229] let s:lib.Codec.encoding_table["36067"] = [189,230] let s:lib.Codec.encoding_table["36060"] = [189,231] let s:lib.Codec.encoding_table["36074"] = [189,232] let s:lib.Codec.encoding_table["36065"] = [189,233] let s:lib.Codec.encoding_table["36205"] = [189,234] let s:lib.Codec.encoding_table["36255"] = [189,235] let s:lib.Codec.encoding_table["36259"] = [189,236] let s:lib.Codec.encoding_table["36395"] = [189,237] let s:lib.Codec.encoding_table["36368"] = [189,238] let s:lib.Codec.encoding_table["36381"] = [189,239] let s:lib.Codec.encoding_table["36386"] = [189,240] let s:lib.Codec.encoding_table["36367"] = [189,241] let s:lib.Codec.encoding_table["36393"] = [189,242] let s:lib.Codec.encoding_table["36383"] = [189,243] let s:lib.Codec.encoding_table["36385"] = [189,244] let s:lib.Codec.encoding_table["36382"] = [189,245] let s:lib.Codec.encoding_table["36538"] = [189,246] let s:lib.Codec.encoding_table["36637"] = [189,247] let s:lib.Codec.encoding_table["36635"] = [189,248] let s:lib.Codec.encoding_table["36639"] = [189,249] let s:lib.Codec.encoding_table["36649"] = [189,250] let s:lib.Codec.encoding_table["36646"] = [189,251] let s:lib.Codec.encoding_table["36650"] = [189,252] let s:lib.Codec.encoding_table["36636"] = [189,253] let s:lib.Codec.encoding_table["36638"] = [189,254] let s:lib.Codec.encoding_table["36645"] = [190,64] let s:lib.Codec.encoding_table["36969"] = [190,65] let s:lib.Codec.encoding_table["36974"] = [190,66] let s:lib.Codec.encoding_table["36968"] = [190,67] let s:lib.Codec.encoding_table["36973"] = [190,68] let s:lib.Codec.encoding_table["36983"] = [190,69] let s:lib.Codec.encoding_table["37168"] = [190,70] let s:lib.Codec.encoding_table["37165"] = [190,71] let s:lib.Codec.encoding_table["37159"] = [190,72] let s:lib.Codec.encoding_table["37169"] = [190,73] let s:lib.Codec.encoding_table["37255"] = [190,74] let s:lib.Codec.encoding_table["37257"] = [190,75] let s:lib.Codec.encoding_table["37259"] = [190,76] let s:lib.Codec.encoding_table["37251"] = [190,77] let s:lib.Codec.encoding_table["37573"] = [190,78] let s:lib.Codec.encoding_table["37563"] = [190,79] let s:lib.Codec.encoding_table["37559"] = [190,80] let s:lib.Codec.encoding_table["37610"] = [190,81] let s:lib.Codec.encoding_table["37548"] = [190,82] let s:lib.Codec.encoding_table["37604"] = [190,83] let s:lib.Codec.encoding_table["37569"] = [190,84] let s:lib.Codec.encoding_table["37555"] = [190,85] let s:lib.Codec.encoding_table["37564"] = [190,86] let s:lib.Codec.encoding_table["37586"] = [190,87] let s:lib.Codec.encoding_table["37575"] = [190,88] let s:lib.Codec.encoding_table["37616"] = [190,89] let s:lib.Codec.encoding_table["37554"] = [190,90] let s:lib.Codec.encoding_table["38317"] = [190,91] let s:lib.Codec.encoding_table["38321"] = [190,92] let s:lib.Codec.encoding_table["38660"] = [190,93] let s:lib.Codec.encoding_table["38662"] = [190,94] let s:lib.Codec.encoding_table["38663"] = [190,95] let s:lib.Codec.encoding_table["38665"] = [190,96] let s:lib.Codec.encoding_table["38752"] = [190,97] let s:lib.Codec.encoding_table["38797"] = [190,98] let s:lib.Codec.encoding_table["38795"] = [190,99] let s:lib.Codec.encoding_table["38799"] = [190,100] let s:lib.Codec.encoding_table["38945"] = [190,101] let s:lib.Codec.encoding_table["38955"] = [190,102] let s:lib.Codec.encoding_table["38940"] = [190,103] let s:lib.Codec.encoding_table["39091"] = [190,104] let s:lib.Codec.encoding_table["39178"] = [190,105] let s:lib.Codec.encoding_table["39187"] = [190,106] let s:lib.Codec.encoding_table["39186"] = [190,107] let s:lib.Codec.encoding_table["39192"] = [190,108] let s:lib.Codec.encoding_table["39389"] = [190,109] let s:lib.Codec.encoding_table["39376"] = [190,110] let s:lib.Codec.encoding_table["39391"] = [190,111] let s:lib.Codec.encoding_table["39387"] = [190,112] let s:lib.Codec.encoding_table["39377"] = [190,113] let s:lib.Codec.encoding_table["39381"] = [190,114] let s:lib.Codec.encoding_table["39378"] = [190,115] let s:lib.Codec.encoding_table["39385"] = [190,116] let s:lib.Codec.encoding_table["39607"] = [190,117] let s:lib.Codec.encoding_table["39662"] = [190,118] let s:lib.Codec.encoding_table["39663"] = [190,119] let s:lib.Codec.encoding_table["39719"] = [190,120] let s:lib.Codec.encoding_table["39749"] = [190,121] let s:lib.Codec.encoding_table["39748"] = [190,122] let s:lib.Codec.encoding_table["39799"] = [190,123] let s:lib.Codec.encoding_table["39791"] = [190,124] let s:lib.Codec.encoding_table["40198"] = [190,125] let s:lib.Codec.encoding_table["40201"] = [190,126] let s:lib.Codec.encoding_table["40195"] = [190,161] let s:lib.Codec.encoding_table["40617"] = [190,162] let s:lib.Codec.encoding_table["40638"] = [190,163] let s:lib.Codec.encoding_table["40654"] = [190,164] let s:lib.Codec.encoding_table["22696"] = [190,165] let s:lib.Codec.encoding_table["40786"] = [190,166] let s:lib.Codec.encoding_table["20754"] = [190,167] let s:lib.Codec.encoding_table["20760"] = [190,168] let s:lib.Codec.encoding_table["20756"] = [190,169] let s:lib.Codec.encoding_table["20752"] = [190,170] let s:lib.Codec.encoding_table["20757"] = [190,171] let s:lib.Codec.encoding_table["20864"] = [190,172] let s:lib.Codec.encoding_table["20906"] = [190,173] let s:lib.Codec.encoding_table["20957"] = [190,174] let s:lib.Codec.encoding_table["21137"] = [190,175] let s:lib.Codec.encoding_table["21139"] = [190,176] let s:lib.Codec.encoding_table["21235"] = [190,177] let s:lib.Codec.encoding_table["22105"] = [190,178] let s:lib.Codec.encoding_table["22123"] = [190,179] let s:lib.Codec.encoding_table["22137"] = [190,180] let s:lib.Codec.encoding_table["22121"] = [190,181] let s:lib.Codec.encoding_table["22116"] = [190,182] let s:lib.Codec.encoding_table["22136"] = [190,183] let s:lib.Codec.encoding_table["22122"] = [190,184] let s:lib.Codec.encoding_table["22120"] = [190,185] let s:lib.Codec.encoding_table["22117"] = [190,186] let s:lib.Codec.encoding_table["22129"] = [190,187] let s:lib.Codec.encoding_table["22127"] = [190,188] let s:lib.Codec.encoding_table["22124"] = [190,189] let s:lib.Codec.encoding_table["22114"] = [190,190] let s:lib.Codec.encoding_table["22134"] = [190,191] let s:lib.Codec.encoding_table["22721"] = [190,192] let s:lib.Codec.encoding_table["22718"] = [190,193] let s:lib.Codec.encoding_table["22727"] = [190,194] let s:lib.Codec.encoding_table["22725"] = [190,195] let s:lib.Codec.encoding_table["22894"] = [190,196] let s:lib.Codec.encoding_table["23325"] = [190,197] let s:lib.Codec.encoding_table["23348"] = [190,198] let s:lib.Codec.encoding_table["23416"] = [190,199] let s:lib.Codec.encoding_table["23536"] = [190,200] let s:lib.Codec.encoding_table["23566"] = [190,201] let s:lib.Codec.encoding_table["24394"] = [190,202] let s:lib.Codec.encoding_table["25010"] = [190,203] let s:lib.Codec.encoding_table["24977"] = [190,204] let s:lib.Codec.encoding_table["25001"] = [190,205] let s:lib.Codec.encoding_table["24970"] = [190,206] let s:lib.Codec.encoding_table["25037"] = [190,207] let s:lib.Codec.encoding_table["25014"] = [190,208] let s:lib.Codec.encoding_table["25022"] = [190,209] let s:lib.Codec.encoding_table["25034"] = [190,210] let s:lib.Codec.encoding_table["25032"] = [190,211] let s:lib.Codec.encoding_table["25136"] = [190,212] let s:lib.Codec.encoding_table["25797"] = [190,213] let s:lib.Codec.encoding_table["25793"] = [190,214] let s:lib.Codec.encoding_table["25803"] = [190,215] let s:lib.Codec.encoding_table["25787"] = [190,216] let s:lib.Codec.encoding_table["25788"] = [190,217] let s:lib.Codec.encoding_table["25818"] = [190,218] let s:lib.Codec.encoding_table["25796"] = [190,219] let s:lib.Codec.encoding_table["25799"] = [190,220] let s:lib.Codec.encoding_table["25794"] = [190,221] let s:lib.Codec.encoding_table["25805"] = [190,222] let s:lib.Codec.encoding_table["25791"] = [190,223] let s:lib.Codec.encoding_table["25810"] = [190,224] let s:lib.Codec.encoding_table["25812"] = [190,225] let s:lib.Codec.encoding_table["25790"] = [190,226] let s:lib.Codec.encoding_table["25972"] = [190,227] let s:lib.Codec.encoding_table["26310"] = [190,228] let s:lib.Codec.encoding_table["26313"] = [190,229] let s:lib.Codec.encoding_table["26297"] = [190,230] let s:lib.Codec.encoding_table["26308"] = [190,231] let s:lib.Codec.encoding_table["26311"] = [190,232] let s:lib.Codec.encoding_table["26296"] = [190,233] let s:lib.Codec.encoding_table["27197"] = [190,234] let s:lib.Codec.encoding_table["27192"] = [190,235] let s:lib.Codec.encoding_table["27194"] = [190,236] let s:lib.Codec.encoding_table["27225"] = [190,237] let s:lib.Codec.encoding_table["27243"] = [190,238] let s:lib.Codec.encoding_table["27224"] = [190,239] let s:lib.Codec.encoding_table["27193"] = [190,240] let s:lib.Codec.encoding_table["27204"] = [190,241] let s:lib.Codec.encoding_table["27234"] = [190,242] let s:lib.Codec.encoding_table["27233"] = [190,243] let s:lib.Codec.encoding_table["27211"] = [190,244] let s:lib.Codec.encoding_table["27207"] = [190,245] let s:lib.Codec.encoding_table["27189"] = [190,246] let s:lib.Codec.encoding_table["27231"] = [190,247] let s:lib.Codec.encoding_table["27208"] = [190,248] let s:lib.Codec.encoding_table["27481"] = [190,249] let s:lib.Codec.encoding_table["27511"] = [190,250] let s:lib.Codec.encoding_table["27653"] = [190,251] let s:lib.Codec.encoding_table["28610"] = [190,252] let s:lib.Codec.encoding_table["28593"] = [190,253] let s:lib.Codec.encoding_table["28577"] = [190,254] let s:lib.Codec.encoding_table["28611"] = [191,64] let s:lib.Codec.encoding_table["28580"] = [191,65] let s:lib.Codec.encoding_table["28609"] = [191,66] let s:lib.Codec.encoding_table["28583"] = [191,67] let s:lib.Codec.encoding_table["28595"] = [191,68] let s:lib.Codec.encoding_table["28608"] = [191,69] let s:lib.Codec.encoding_table["28601"] = [191,70] let s:lib.Codec.encoding_table["28598"] = [191,71] let s:lib.Codec.encoding_table["28582"] = [191,72] let s:lib.Codec.encoding_table["28576"] = [191,73] let s:lib.Codec.encoding_table["28596"] = [191,74] let s:lib.Codec.encoding_table["29118"] = [191,75] let s:lib.Codec.encoding_table["29129"] = [191,76] let s:lib.Codec.encoding_table["29136"] = [191,77] let s:lib.Codec.encoding_table["29138"] = [191,78] let s:lib.Codec.encoding_table["29128"] = [191,79] let s:lib.Codec.encoding_table["29141"] = [191,80] let s:lib.Codec.encoding_table["29113"] = [191,81] let s:lib.Codec.encoding_table["29134"] = [191,82] let s:lib.Codec.encoding_table["29145"] = [191,83] let s:lib.Codec.encoding_table["29148"] = [191,84] let s:lib.Codec.encoding_table["29123"] = [191,85] let s:lib.Codec.encoding_table["29124"] = [191,86] let s:lib.Codec.encoding_table["29544"] = [191,87] let s:lib.Codec.encoding_table["29852"] = [191,88] let s:lib.Codec.encoding_table["29859"] = [191,89] let s:lib.Codec.encoding_table["29848"] = [191,90] let s:lib.Codec.encoding_table["29855"] = [191,91] let s:lib.Codec.encoding_table["29854"] = [191,92] let s:lib.Codec.encoding_table["29922"] = [191,93] let s:lib.Codec.encoding_table["29964"] = [191,94] let s:lib.Codec.encoding_table["29965"] = [191,95] let s:lib.Codec.encoding_table["30260"] = [191,96] let s:lib.Codec.encoding_table["30264"] = [191,97] let s:lib.Codec.encoding_table["30266"] = [191,98] let s:lib.Codec.encoding_table["30439"] = [191,99] let s:lib.Codec.encoding_table["30437"] = [191,100] let s:lib.Codec.encoding_table["30624"] = [191,101] let s:lib.Codec.encoding_table["30622"] = [191,102] let s:lib.Codec.encoding_table["30623"] = [191,103] let s:lib.Codec.encoding_table["30629"] = [191,104] let s:lib.Codec.encoding_table["30952"] = [191,105] let s:lib.Codec.encoding_table["30938"] = [191,106] let s:lib.Codec.encoding_table["30956"] = [191,107] let s:lib.Codec.encoding_table["30951"] = [191,108] let s:lib.Codec.encoding_table["31142"] = [191,109] let s:lib.Codec.encoding_table["31309"] = [191,110] let s:lib.Codec.encoding_table["31310"] = [191,111] let s:lib.Codec.encoding_table["31302"] = [191,112] let s:lib.Codec.encoding_table["31308"] = [191,113] let s:lib.Codec.encoding_table["31307"] = [191,114] let s:lib.Codec.encoding_table["31418"] = [191,115] let s:lib.Codec.encoding_table["31705"] = [191,116] let s:lib.Codec.encoding_table["31761"] = [191,117] let s:lib.Codec.encoding_table["31689"] = [191,118] let s:lib.Codec.encoding_table["31716"] = [191,119] let s:lib.Codec.encoding_table["31707"] = [191,120] let s:lib.Codec.encoding_table["31713"] = [191,121] let s:lib.Codec.encoding_table["31721"] = [191,122] let s:lib.Codec.encoding_table["31718"] = [191,123] let s:lib.Codec.encoding_table["31957"] = [191,124] let s:lib.Codec.encoding_table["31958"] = [191,125] let s:lib.Codec.encoding_table["32266"] = [191,126] let s:lib.Codec.encoding_table["32273"] = [191,161] let s:lib.Codec.encoding_table["32264"] = [191,162] let s:lib.Codec.encoding_table["32283"] = [191,163] let s:lib.Codec.encoding_table["32291"] = [191,164] let s:lib.Codec.encoding_table["32286"] = [191,165] let s:lib.Codec.encoding_table["32285"] = [191,166] let s:lib.Codec.encoding_table["32265"] = [191,167] let s:lib.Codec.encoding_table["32272"] = [191,168] let s:lib.Codec.encoding_table["32633"] = [191,169] let s:lib.Codec.encoding_table["32690"] = [191,170] let s:lib.Codec.encoding_table["32752"] = [191,171] let s:lib.Codec.encoding_table["32753"] = [191,172] let s:lib.Codec.encoding_table["32750"] = [191,173] let s:lib.Codec.encoding_table["32808"] = [191,174] let s:lib.Codec.encoding_table["33203"] = [191,175] let s:lib.Codec.encoding_table["33193"] = [191,176] let s:lib.Codec.encoding_table["33192"] = [191,177] let s:lib.Codec.encoding_table["33275"] = [191,178] let s:lib.Codec.encoding_table["33288"] = [191,179] let s:lib.Codec.encoding_table["33368"] = [191,180] let s:lib.Codec.encoding_table["33369"] = [191,181] let s:lib.Codec.encoding_table["34122"] = [191,182] let s:lib.Codec.encoding_table["34137"] = [191,183] let s:lib.Codec.encoding_table["34120"] = [191,184] let s:lib.Codec.encoding_table["34152"] = [191,185] let s:lib.Codec.encoding_table["34153"] = [191,186] let s:lib.Codec.encoding_table["34115"] = [191,187] let s:lib.Codec.encoding_table["34121"] = [191,188] let s:lib.Codec.encoding_table["34157"] = [191,189] let s:lib.Codec.encoding_table["34154"] = [191,190] let s:lib.Codec.encoding_table["34142"] = [191,191] let s:lib.Codec.encoding_table["34691"] = [191,192] let s:lib.Codec.encoding_table["34719"] = [191,193] let s:lib.Codec.encoding_table["34718"] = [191,194] let s:lib.Codec.encoding_table["34722"] = [191,195] let s:lib.Codec.encoding_table["34701"] = [191,196] let s:lib.Codec.encoding_table["34913"] = [191,197] let s:lib.Codec.encoding_table["35114"] = [191,198] let s:lib.Codec.encoding_table["35122"] = [191,199] let s:lib.Codec.encoding_table["35109"] = [191,200] let s:lib.Codec.encoding_table["35115"] = [191,201] let s:lib.Codec.encoding_table["35105"] = [191,202] let s:lib.Codec.encoding_table["35242"] = [191,203] let s:lib.Codec.encoding_table["35238"] = [191,204] let s:lib.Codec.encoding_table["35558"] = [191,205] let s:lib.Codec.encoding_table["35578"] = [191,206] let s:lib.Codec.encoding_table["35563"] = [191,207] let s:lib.Codec.encoding_table["35569"] = [191,208] let s:lib.Codec.encoding_table["35584"] = [191,209] let s:lib.Codec.encoding_table["35548"] = [191,210] let s:lib.Codec.encoding_table["35559"] = [191,211] let s:lib.Codec.encoding_table["35566"] = [191,212] let s:lib.Codec.encoding_table["35582"] = [191,213] let s:lib.Codec.encoding_table["35585"] = [191,214] let s:lib.Codec.encoding_table["35586"] = [191,215] let s:lib.Codec.encoding_table["35575"] = [191,216] let s:lib.Codec.encoding_table["35565"] = [191,217] let s:lib.Codec.encoding_table["35571"] = [191,218] let s:lib.Codec.encoding_table["35574"] = [191,219] let s:lib.Codec.encoding_table["35580"] = [191,220] let s:lib.Codec.encoding_table["35947"] = [191,221] let s:lib.Codec.encoding_table["35949"] = [191,222] let s:lib.Codec.encoding_table["35987"] = [191,223] let s:lib.Codec.encoding_table["36084"] = [191,224] let s:lib.Codec.encoding_table["36420"] = [191,225] let s:lib.Codec.encoding_table["36401"] = [191,226] let s:lib.Codec.encoding_table["36404"] = [191,227] let s:lib.Codec.encoding_table["36418"] = [191,228] let s:lib.Codec.encoding_table["36409"] = [191,229] let s:lib.Codec.encoding_table["36405"] = [191,230] let s:lib.Codec.encoding_table["36667"] = [191,231] let s:lib.Codec.encoding_table["36655"] = [191,232] let s:lib.Codec.encoding_table["36664"] = [191,233] let s:lib.Codec.encoding_table["36659"] = [191,234] let s:lib.Codec.encoding_table["36776"] = [191,235] let s:lib.Codec.encoding_table["36774"] = [191,236] let s:lib.Codec.encoding_table["36981"] = [191,237] let s:lib.Codec.encoding_table["36980"] = [191,238] let s:lib.Codec.encoding_table["36984"] = [191,239] let s:lib.Codec.encoding_table["36978"] = [191,240] let s:lib.Codec.encoding_table["36988"] = [191,241] let s:lib.Codec.encoding_table["36986"] = [191,242] let s:lib.Codec.encoding_table["37172"] = [191,243] let s:lib.Codec.encoding_table["37266"] = [191,244] let s:lib.Codec.encoding_table["37664"] = [191,245] let s:lib.Codec.encoding_table["37686"] = [191,246] let s:lib.Codec.encoding_table["37624"] = [191,247] let s:lib.Codec.encoding_table["37683"] = [191,248] let s:lib.Codec.encoding_table["37679"] = [191,249] let s:lib.Codec.encoding_table["37666"] = [191,250] let s:lib.Codec.encoding_table["37628"] = [191,251] let s:lib.Codec.encoding_table["37675"] = [191,252] let s:lib.Codec.encoding_table["37636"] = [191,253] let s:lib.Codec.encoding_table["37658"] = [191,254] let s:lib.Codec.encoding_table["37648"] = [192,64] let s:lib.Codec.encoding_table["37670"] = [192,65] let s:lib.Codec.encoding_table["37665"] = [192,66] let s:lib.Codec.encoding_table["37653"] = [192,67] let s:lib.Codec.encoding_table["37678"] = [192,68] let s:lib.Codec.encoding_table["37657"] = [192,69] let s:lib.Codec.encoding_table["38331"] = [192,70] let s:lib.Codec.encoding_table["38567"] = [192,71] let s:lib.Codec.encoding_table["38568"] = [192,72] let s:lib.Codec.encoding_table["38570"] = [192,73] let s:lib.Codec.encoding_table["38613"] = [192,74] let s:lib.Codec.encoding_table["38670"] = [192,75] let s:lib.Codec.encoding_table["38673"] = [192,76] let s:lib.Codec.encoding_table["38678"] = [192,77] let s:lib.Codec.encoding_table["38669"] = [192,78] let s:lib.Codec.encoding_table["38675"] = [192,79] let s:lib.Codec.encoding_table["38671"] = [192,80] let s:lib.Codec.encoding_table["38747"] = [192,81] let s:lib.Codec.encoding_table["38748"] = [192,82] let s:lib.Codec.encoding_table["38758"] = [192,83] let s:lib.Codec.encoding_table["38808"] = [192,84] let s:lib.Codec.encoding_table["38960"] = [192,85] let s:lib.Codec.encoding_table["38968"] = [192,86] let s:lib.Codec.encoding_table["38971"] = [192,87] let s:lib.Codec.encoding_table["38967"] = [192,88] let s:lib.Codec.encoding_table["38957"] = [192,89] let s:lib.Codec.encoding_table["38969"] = [192,90] let s:lib.Codec.encoding_table["38948"] = [192,91] let s:lib.Codec.encoding_table["39184"] = [192,92] let s:lib.Codec.encoding_table["39208"] = [192,93] let s:lib.Codec.encoding_table["39198"] = [192,94] let s:lib.Codec.encoding_table["39195"] = [192,95] let s:lib.Codec.encoding_table["39201"] = [192,96] let s:lib.Codec.encoding_table["39194"] = [192,97] let s:lib.Codec.encoding_table["39405"] = [192,98] let s:lib.Codec.encoding_table["39394"] = [192,99] let s:lib.Codec.encoding_table["39409"] = [192,100] let s:lib.Codec.encoding_table["39608"] = [192,101] let s:lib.Codec.encoding_table["39612"] = [192,102] let s:lib.Codec.encoding_table["39675"] = [192,103] let s:lib.Codec.encoding_table["39661"] = [192,104] let s:lib.Codec.encoding_table["39720"] = [192,105] let s:lib.Codec.encoding_table["39825"] = [192,106] let s:lib.Codec.encoding_table["40213"] = [192,107] let s:lib.Codec.encoding_table["40227"] = [192,108] let s:lib.Codec.encoding_table["40230"] = [192,109] let s:lib.Codec.encoding_table["40232"] = [192,110] let s:lib.Codec.encoding_table["40210"] = [192,111] let s:lib.Codec.encoding_table["40219"] = [192,112] let s:lib.Codec.encoding_table["40664"] = [192,113] let s:lib.Codec.encoding_table["40660"] = [192,114] let s:lib.Codec.encoding_table["40845"] = [192,115] let s:lib.Codec.encoding_table["40860"] = [192,116] let s:lib.Codec.encoding_table["20778"] = [192,117] let s:lib.Codec.encoding_table["20767"] = [192,118] let s:lib.Codec.encoding_table["20769"] = [192,119] let s:lib.Codec.encoding_table["20786"] = [192,120] let s:lib.Codec.encoding_table["21237"] = [192,121] let s:lib.Codec.encoding_table["22158"] = [192,122] let s:lib.Codec.encoding_table["22144"] = [192,123] let s:lib.Codec.encoding_table["22160"] = [192,124] let s:lib.Codec.encoding_table["22149"] = [192,125] let s:lib.Codec.encoding_table["22151"] = [192,126] let s:lib.Codec.encoding_table["22159"] = [192,161] let s:lib.Codec.encoding_table["22741"] = [192,162] let s:lib.Codec.encoding_table["22739"] = [192,163] let s:lib.Codec.encoding_table["22737"] = [192,164] let s:lib.Codec.encoding_table["22734"] = [192,165] let s:lib.Codec.encoding_table["23344"] = [192,166] let s:lib.Codec.encoding_table["23338"] = [192,167] let s:lib.Codec.encoding_table["23332"] = [192,168] let s:lib.Codec.encoding_table["23418"] = [192,169] let s:lib.Codec.encoding_table["23607"] = [192,170] let s:lib.Codec.encoding_table["23656"] = [192,171] let s:lib.Codec.encoding_table["23996"] = [192,172] let s:lib.Codec.encoding_table["23994"] = [192,173] let s:lib.Codec.encoding_table["23997"] = [192,174] let s:lib.Codec.encoding_table["23992"] = [192,175] let s:lib.Codec.encoding_table["24171"] = [192,176] let s:lib.Codec.encoding_table["24396"] = [192,177] let s:lib.Codec.encoding_table["24509"] = [192,178] let s:lib.Codec.encoding_table["25033"] = [192,179] let s:lib.Codec.encoding_table["25026"] = [192,180] let s:lib.Codec.encoding_table["25031"] = [192,181] let s:lib.Codec.encoding_table["25062"] = [192,182] let s:lib.Codec.encoding_table["25035"] = [192,183] let s:lib.Codec.encoding_table["25138"] = [192,184] let s:lib.Codec.encoding_table["25140"] = [192,185] let s:lib.Codec.encoding_table["25806"] = [192,186] let s:lib.Codec.encoding_table["25802"] = [192,187] let s:lib.Codec.encoding_table["25816"] = [192,188] let s:lib.Codec.encoding_table["25824"] = [192,189] let s:lib.Codec.encoding_table["25840"] = [192,190] let s:lib.Codec.encoding_table["25830"] = [192,191] let s:lib.Codec.encoding_table["25836"] = [192,192] let s:lib.Codec.encoding_table["25841"] = [192,193] let s:lib.Codec.encoding_table["25826"] = [192,194] let s:lib.Codec.encoding_table["25837"] = [192,195] let s:lib.Codec.encoding_table["25986"] = [192,196] let s:lib.Codec.encoding_table["25987"] = [192,197] let s:lib.Codec.encoding_table["26329"] = [192,198] let s:lib.Codec.encoding_table["26326"] = [192,199] let s:lib.Codec.encoding_table["27264"] = [192,200] let s:lib.Codec.encoding_table["27284"] = [192,201] let s:lib.Codec.encoding_table["27268"] = [192,202] let s:lib.Codec.encoding_table["27298"] = [192,203] let s:lib.Codec.encoding_table["27292"] = [192,204] let s:lib.Codec.encoding_table["27355"] = [192,205] let s:lib.Codec.encoding_table["27299"] = [192,206] let s:lib.Codec.encoding_table["27262"] = [192,207] let s:lib.Codec.encoding_table["27287"] = [192,208] let s:lib.Codec.encoding_table["27280"] = [192,209] let s:lib.Codec.encoding_table["27296"] = [192,210] let s:lib.Codec.encoding_table["27484"] = [192,211] let s:lib.Codec.encoding_table["27566"] = [192,212] let s:lib.Codec.encoding_table["27610"] = [192,213] let s:lib.Codec.encoding_table["27656"] = [192,214] let s:lib.Codec.encoding_table["28632"] = [192,215] let s:lib.Codec.encoding_table["28657"] = [192,216] let s:lib.Codec.encoding_table["28639"] = [192,217] let s:lib.Codec.encoding_table["28640"] = [192,218] let s:lib.Codec.encoding_table["28635"] = [192,219] let s:lib.Codec.encoding_table["28644"] = [192,220] let s:lib.Codec.encoding_table["28651"] = [192,221] let s:lib.Codec.encoding_table["28655"] = [192,222] let s:lib.Codec.encoding_table["28544"] = [192,223] let s:lib.Codec.encoding_table["28652"] = [192,224] let s:lib.Codec.encoding_table["28641"] = [192,225] let s:lib.Codec.encoding_table["28649"] = [192,226] let s:lib.Codec.encoding_table["28629"] = [192,227] let s:lib.Codec.encoding_table["28654"] = [192,228] let s:lib.Codec.encoding_table["28656"] = [192,229] let s:lib.Codec.encoding_table["29159"] = [192,230] let s:lib.Codec.encoding_table["29151"] = [192,231] let s:lib.Codec.encoding_table["29166"] = [192,232] let s:lib.Codec.encoding_table["29158"] = [192,233] let s:lib.Codec.encoding_table["29157"] = [192,234] let s:lib.Codec.encoding_table["29165"] = [192,235] let s:lib.Codec.encoding_table["29164"] = [192,236] let s:lib.Codec.encoding_table["29172"] = [192,237] let s:lib.Codec.encoding_table["29152"] = [192,238] let s:lib.Codec.encoding_table["29237"] = [192,239] let s:lib.Codec.encoding_table["29254"] = [192,240] let s:lib.Codec.encoding_table["29552"] = [192,241] let s:lib.Codec.encoding_table["29554"] = [192,242] let s:lib.Codec.encoding_table["29865"] = [192,243] let s:lib.Codec.encoding_table["29872"] = [192,244] let s:lib.Codec.encoding_table["29862"] = [192,245] let s:lib.Codec.encoding_table["29864"] = [192,246] let s:lib.Codec.encoding_table["30278"] = [192,247] let s:lib.Codec.encoding_table["30274"] = [192,248] let s:lib.Codec.encoding_table["30284"] = [192,249] let s:lib.Codec.encoding_table["30442"] = [192,250] let s:lib.Codec.encoding_table["30643"] = [192,251] let s:lib.Codec.encoding_table["30634"] = [192,252] let s:lib.Codec.encoding_table["30640"] = [192,253] let s:lib.Codec.encoding_table["30636"] = [192,254] let s:lib.Codec.encoding_table["30631"] = [193,64] let s:lib.Codec.encoding_table["30637"] = [193,65] let s:lib.Codec.encoding_table["30703"] = [193,66] let s:lib.Codec.encoding_table["30967"] = [193,67] let s:lib.Codec.encoding_table["30970"] = [193,68] let s:lib.Codec.encoding_table["30964"] = [193,69] let s:lib.Codec.encoding_table["30959"] = [193,70] let s:lib.Codec.encoding_table["30977"] = [193,71] let s:lib.Codec.encoding_table["31143"] = [193,72] let s:lib.Codec.encoding_table["31146"] = [193,73] let s:lib.Codec.encoding_table["31319"] = [193,74] let s:lib.Codec.encoding_table["31423"] = [193,75] let s:lib.Codec.encoding_table["31751"] = [193,76] let s:lib.Codec.encoding_table["31757"] = [193,77] let s:lib.Codec.encoding_table["31742"] = [193,78] let s:lib.Codec.encoding_table["31735"] = [193,79] let s:lib.Codec.encoding_table["31756"] = [193,80] let s:lib.Codec.encoding_table["31712"] = [193,81] let s:lib.Codec.encoding_table["31968"] = [193,82] let s:lib.Codec.encoding_table["31964"] = [193,83] let s:lib.Codec.encoding_table["31966"] = [193,84] let s:lib.Codec.encoding_table["31970"] = [193,85] let s:lib.Codec.encoding_table["31967"] = [193,86] let s:lib.Codec.encoding_table["31961"] = [193,87] let s:lib.Codec.encoding_table["31965"] = [193,88] let s:lib.Codec.encoding_table["32302"] = [193,89] let s:lib.Codec.encoding_table["32318"] = [193,90] let s:lib.Codec.encoding_table["32326"] = [193,91] let s:lib.Codec.encoding_table["32311"] = [193,92] let s:lib.Codec.encoding_table["32306"] = [193,93] let s:lib.Codec.encoding_table["32323"] = [193,94] let s:lib.Codec.encoding_table["32299"] = [193,95] let s:lib.Codec.encoding_table["32317"] = [193,96] let s:lib.Codec.encoding_table["32305"] = [193,97] let s:lib.Codec.encoding_table["32325"] = [193,98] let s:lib.Codec.encoding_table["32321"] = [193,99] let s:lib.Codec.encoding_table["32308"] = [193,100] let s:lib.Codec.encoding_table["32313"] = [193,101] let s:lib.Codec.encoding_table["32328"] = [193,102] let s:lib.Codec.encoding_table["32309"] = [193,103] let s:lib.Codec.encoding_table["32319"] = [193,104] let s:lib.Codec.encoding_table["32303"] = [193,105] let s:lib.Codec.encoding_table["32580"] = [193,106] let s:lib.Codec.encoding_table["32755"] = [193,107] let s:lib.Codec.encoding_table["32764"] = [193,108] let s:lib.Codec.encoding_table["32881"] = [193,109] let s:lib.Codec.encoding_table["32882"] = [193,110] let s:lib.Codec.encoding_table["32880"] = [193,111] let s:lib.Codec.encoding_table["32879"] = [193,112] let s:lib.Codec.encoding_table["32883"] = [193,113] let s:lib.Codec.encoding_table["33222"] = [193,114] let s:lib.Codec.encoding_table["33219"] = [193,115] let s:lib.Codec.encoding_table["33210"] = [193,116] let s:lib.Codec.encoding_table["33218"] = [193,117] let s:lib.Codec.encoding_table["33216"] = [193,118] let s:lib.Codec.encoding_table["33215"] = [193,119] let s:lib.Codec.encoding_table["33213"] = [193,120] let s:lib.Codec.encoding_table["33225"] = [193,121] let s:lib.Codec.encoding_table["33214"] = [193,122] let s:lib.Codec.encoding_table["33256"] = [193,123] let s:lib.Codec.encoding_table["33289"] = [193,124] let s:lib.Codec.encoding_table["33393"] = [193,125] let s:lib.Codec.encoding_table["34218"] = [193,126] let s:lib.Codec.encoding_table["34180"] = [193,161] let s:lib.Codec.encoding_table["34174"] = [193,162] let s:lib.Codec.encoding_table["34204"] = [193,163] let s:lib.Codec.encoding_table["34193"] = [193,164] let s:lib.Codec.encoding_table["34196"] = [193,165] let s:lib.Codec.encoding_table["34223"] = [193,166] let s:lib.Codec.encoding_table["34203"] = [193,167] let s:lib.Codec.encoding_table["34183"] = [193,168] let s:lib.Codec.encoding_table["34216"] = [193,169] let s:lib.Codec.encoding_table["34186"] = [193,170] let s:lib.Codec.encoding_table["34407"] = [193,171] let s:lib.Codec.encoding_table["34752"] = [193,172] let s:lib.Codec.encoding_table["34769"] = [193,173] let s:lib.Codec.encoding_table["34739"] = [193,174] let s:lib.Codec.encoding_table["34770"] = [193,175] let s:lib.Codec.encoding_table["34758"] = [193,176] let s:lib.Codec.encoding_table["34731"] = [193,177] let s:lib.Codec.encoding_table["34747"] = [193,178] let s:lib.Codec.encoding_table["34746"] = [193,179] let s:lib.Codec.encoding_table["34760"] = [193,180] let s:lib.Codec.encoding_table["34763"] = [193,181] let s:lib.Codec.encoding_table["35131"] = [193,182] let s:lib.Codec.encoding_table["35126"] = [193,183] let s:lib.Codec.encoding_table["35140"] = [193,184] let s:lib.Codec.encoding_table["35128"] = [193,185] let s:lib.Codec.encoding_table["35133"] = [193,186] let s:lib.Codec.encoding_table["35244"] = [193,187] let s:lib.Codec.encoding_table["35598"] = [193,188] let s:lib.Codec.encoding_table["35607"] = [193,189] let s:lib.Codec.encoding_table["35609"] = [193,190] let s:lib.Codec.encoding_table["35611"] = [193,191] let s:lib.Codec.encoding_table["35594"] = [193,192] let s:lib.Codec.encoding_table["35616"] = [193,193] let s:lib.Codec.encoding_table["35613"] = [193,194] let s:lib.Codec.encoding_table["35588"] = [193,195] let s:lib.Codec.encoding_table["35600"] = [193,196] let s:lib.Codec.encoding_table["35905"] = [193,197] let s:lib.Codec.encoding_table["35903"] = [193,198] let s:lib.Codec.encoding_table["35955"] = [193,199] let s:lib.Codec.encoding_table["36090"] = [193,200] let s:lib.Codec.encoding_table["36093"] = [193,201] let s:lib.Codec.encoding_table["36092"] = [193,202] let s:lib.Codec.encoding_table["36088"] = [193,203] let s:lib.Codec.encoding_table["36091"] = [193,204] let s:lib.Codec.encoding_table["36264"] = [193,205] let s:lib.Codec.encoding_table["36425"] = [193,206] let s:lib.Codec.encoding_table["36427"] = [193,207] let s:lib.Codec.encoding_table["36424"] = [193,208] let s:lib.Codec.encoding_table["36426"] = [193,209] let s:lib.Codec.encoding_table["36676"] = [193,210] let s:lib.Codec.encoding_table["36670"] = [193,211] let s:lib.Codec.encoding_table["36674"] = [193,212] let s:lib.Codec.encoding_table["36677"] = [193,213] let s:lib.Codec.encoding_table["36671"] = [193,214] let s:lib.Codec.encoding_table["36991"] = [193,215] let s:lib.Codec.encoding_table["36989"] = [193,216] let s:lib.Codec.encoding_table["36996"] = [193,217] let s:lib.Codec.encoding_table["36993"] = [193,218] let s:lib.Codec.encoding_table["36994"] = [193,219] let s:lib.Codec.encoding_table["36992"] = [193,220] let s:lib.Codec.encoding_table["37177"] = [193,221] let s:lib.Codec.encoding_table["37283"] = [193,222] let s:lib.Codec.encoding_table["37278"] = [193,223] let s:lib.Codec.encoding_table["37276"] = [193,224] let s:lib.Codec.encoding_table["37709"] = [193,225] let s:lib.Codec.encoding_table["37762"] = [193,226] let s:lib.Codec.encoding_table["37672"] = [193,227] let s:lib.Codec.encoding_table["37749"] = [193,228] let s:lib.Codec.encoding_table["37706"] = [193,229] let s:lib.Codec.encoding_table["37733"] = [193,230] let s:lib.Codec.encoding_table["37707"] = [193,231] let s:lib.Codec.encoding_table["37656"] = [193,232] let s:lib.Codec.encoding_table["37758"] = [193,233] let s:lib.Codec.encoding_table["37740"] = [193,234] let s:lib.Codec.encoding_table["37723"] = [193,235] let s:lib.Codec.encoding_table["37744"] = [193,236] let s:lib.Codec.encoding_table["37722"] = [193,237] let s:lib.Codec.encoding_table["37716"] = [193,238] let s:lib.Codec.encoding_table["38346"] = [193,239] let s:lib.Codec.encoding_table["38347"] = [193,240] let s:lib.Codec.encoding_table["38348"] = [193,241] let s:lib.Codec.encoding_table["38344"] = [193,242] let s:lib.Codec.encoding_table["38342"] = [193,243] let s:lib.Codec.encoding_table["38577"] = [193,244] let s:lib.Codec.encoding_table["38584"] = [193,245] let s:lib.Codec.encoding_table["38614"] = [193,246] let s:lib.Codec.encoding_table["38684"] = [193,247] let s:lib.Codec.encoding_table["38686"] = [193,248] let s:lib.Codec.encoding_table["38816"] = [193,249] let s:lib.Codec.encoding_table["38867"] = [193,250] let s:lib.Codec.encoding_table["38982"] = [193,251] let s:lib.Codec.encoding_table["39094"] = [193,252] let s:lib.Codec.encoding_table["39221"] = [193,253] let s:lib.Codec.encoding_table["39425"] = [193,254] let s:lib.Codec.encoding_table["39423"] = [194,64] let s:lib.Codec.encoding_table["39854"] = [194,65] let s:lib.Codec.encoding_table["39851"] = [194,66] let s:lib.Codec.encoding_table["39850"] = [194,67] let s:lib.Codec.encoding_table["39853"] = [194,68] let s:lib.Codec.encoding_table["40251"] = [194,69] let s:lib.Codec.encoding_table["40255"] = [194,70] let s:lib.Codec.encoding_table["40587"] = [194,71] let s:lib.Codec.encoding_table["40655"] = [194,72] let s:lib.Codec.encoding_table["40670"] = [194,73] let s:lib.Codec.encoding_table["40668"] = [194,74] let s:lib.Codec.encoding_table["40669"] = [194,75] let s:lib.Codec.encoding_table["40667"] = [194,76] let s:lib.Codec.encoding_table["40766"] = [194,77] let s:lib.Codec.encoding_table["40779"] = [194,78] let s:lib.Codec.encoding_table["21474"] = [194,79] let s:lib.Codec.encoding_table["22165"] = [194,80] let s:lib.Codec.encoding_table["22190"] = [194,81] let s:lib.Codec.encoding_table["22745"] = [194,82] let s:lib.Codec.encoding_table["22744"] = [194,83] let s:lib.Codec.encoding_table["23352"] = [194,84] let s:lib.Codec.encoding_table["24413"] = [194,85] let s:lib.Codec.encoding_table["25059"] = [194,86] let s:lib.Codec.encoding_table["25139"] = [194,87] let s:lib.Codec.encoding_table["25844"] = [194,88] let s:lib.Codec.encoding_table["25842"] = [194,89] let s:lib.Codec.encoding_table["25854"] = [194,90] let s:lib.Codec.encoding_table["25862"] = [194,91] let s:lib.Codec.encoding_table["25850"] = [194,92] let s:lib.Codec.encoding_table["25851"] = [194,93] let s:lib.Codec.encoding_table["25847"] = [194,94] let s:lib.Codec.encoding_table["26039"] = [194,95] let s:lib.Codec.encoding_table["26332"] = [194,96] let s:lib.Codec.encoding_table["26406"] = [194,97] let s:lib.Codec.encoding_table["27315"] = [194,98] let s:lib.Codec.encoding_table["27308"] = [194,99] let s:lib.Codec.encoding_table["27331"] = [194,100] let s:lib.Codec.encoding_table["27323"] = [194,101] let s:lib.Codec.encoding_table["27320"] = [194,102] let s:lib.Codec.encoding_table["27330"] = [194,103] let s:lib.Codec.encoding_table["27310"] = [194,104] let s:lib.Codec.encoding_table["27311"] = [194,105] let s:lib.Codec.encoding_table["27487"] = [194,106] let s:lib.Codec.encoding_table["27512"] = [194,107] let s:lib.Codec.encoding_table["27567"] = [194,108] let s:lib.Codec.encoding_table["28681"] = [194,109] let s:lib.Codec.encoding_table["28683"] = [194,110] let s:lib.Codec.encoding_table["28670"] = [194,111] let s:lib.Codec.encoding_table["28678"] = [194,112] let s:lib.Codec.encoding_table["28666"] = [194,113] let s:lib.Codec.encoding_table["28689"] = [194,114] let s:lib.Codec.encoding_table["28687"] = [194,115] let s:lib.Codec.encoding_table["29179"] = [194,116] let s:lib.Codec.encoding_table["29180"] = [194,117] let s:lib.Codec.encoding_table["29182"] = [194,118] let s:lib.Codec.encoding_table["29176"] = [194,119] let s:lib.Codec.encoding_table["29559"] = [194,120] let s:lib.Codec.encoding_table["29557"] = [194,121] let s:lib.Codec.encoding_table["29863"] = [194,122] let s:lib.Codec.encoding_table["29887"] = [194,123] let s:lib.Codec.encoding_table["29973"] = [194,124] let s:lib.Codec.encoding_table["30294"] = [194,125] let s:lib.Codec.encoding_table["30296"] = [194,126] let s:lib.Codec.encoding_table["30290"] = [194,161] let s:lib.Codec.encoding_table["30653"] = [194,162] let s:lib.Codec.encoding_table["30655"] = [194,163] let s:lib.Codec.encoding_table["30651"] = [194,164] let s:lib.Codec.encoding_table["30652"] = [194,165] let s:lib.Codec.encoding_table["30990"] = [194,166] let s:lib.Codec.encoding_table["31150"] = [194,167] let s:lib.Codec.encoding_table["31329"] = [194,168] let s:lib.Codec.encoding_table["31330"] = [194,169] let s:lib.Codec.encoding_table["31328"] = [194,170] let s:lib.Codec.encoding_table["31428"] = [194,171] let s:lib.Codec.encoding_table["31429"] = [194,172] let s:lib.Codec.encoding_table["31787"] = [194,173] let s:lib.Codec.encoding_table["31783"] = [194,174] let s:lib.Codec.encoding_table["31786"] = [194,175] let s:lib.Codec.encoding_table["31774"] = [194,176] let s:lib.Codec.encoding_table["31779"] = [194,177] let s:lib.Codec.encoding_table["31777"] = [194,178] let s:lib.Codec.encoding_table["31975"] = [194,179] let s:lib.Codec.encoding_table["32340"] = [194,180] let s:lib.Codec.encoding_table["32341"] = [194,181] let s:lib.Codec.encoding_table["32350"] = [194,182] let s:lib.Codec.encoding_table["32346"] = [194,183] let s:lib.Codec.encoding_table["32353"] = [194,184] let s:lib.Codec.encoding_table["32338"] = [194,185] let s:lib.Codec.encoding_table["32345"] = [194,186] let s:lib.Codec.encoding_table["32584"] = [194,187] let s:lib.Codec.encoding_table["32761"] = [194,188] let s:lib.Codec.encoding_table["32763"] = [194,189] let s:lib.Codec.encoding_table["32887"] = [194,190] let s:lib.Codec.encoding_table["32886"] = [194,191] let s:lib.Codec.encoding_table["33229"] = [194,192] let s:lib.Codec.encoding_table["33231"] = [194,193] let s:lib.Codec.encoding_table["33290"] = [194,194] let s:lib.Codec.encoding_table["34255"] = [194,195] let s:lib.Codec.encoding_table["34217"] = [194,196] let s:lib.Codec.encoding_table["34253"] = [194,197] let s:lib.Codec.encoding_table["34256"] = [194,198] let s:lib.Codec.encoding_table["34249"] = [194,199] let s:lib.Codec.encoding_table["34224"] = [194,200] let s:lib.Codec.encoding_table["34234"] = [194,201] let s:lib.Codec.encoding_table["34233"] = [194,202] let s:lib.Codec.encoding_table["34214"] = [194,203] let s:lib.Codec.encoding_table["34799"] = [194,204] let s:lib.Codec.encoding_table["34796"] = [194,205] let s:lib.Codec.encoding_table["34802"] = [194,206] let s:lib.Codec.encoding_table["34784"] = [194,207] let s:lib.Codec.encoding_table["35206"] = [194,208] let s:lib.Codec.encoding_table["35250"] = [194,209] let s:lib.Codec.encoding_table["35316"] = [194,210] let s:lib.Codec.encoding_table["35624"] = [194,211] let s:lib.Codec.encoding_table["35641"] = [194,212] let s:lib.Codec.encoding_table["35628"] = [194,213] let s:lib.Codec.encoding_table["35627"] = [194,214] let s:lib.Codec.encoding_table["35920"] = [194,215] let s:lib.Codec.encoding_table["36101"] = [194,216] let s:lib.Codec.encoding_table["36441"] = [194,217] let s:lib.Codec.encoding_table["36451"] = [194,218] let s:lib.Codec.encoding_table["36454"] = [194,219] let s:lib.Codec.encoding_table["36452"] = [194,220] let s:lib.Codec.encoding_table["36447"] = [194,221] let s:lib.Codec.encoding_table["36437"] = [194,222] let s:lib.Codec.encoding_table["36544"] = [194,223] let s:lib.Codec.encoding_table["36681"] = [194,224] let s:lib.Codec.encoding_table["36685"] = [194,225] let s:lib.Codec.encoding_table["36999"] = [194,226] let s:lib.Codec.encoding_table["36995"] = [194,227] let s:lib.Codec.encoding_table["37000"] = [194,228] let s:lib.Codec.encoding_table["37291"] = [194,229] let s:lib.Codec.encoding_table["37292"] = [194,230] let s:lib.Codec.encoding_table["37328"] = [194,231] let s:lib.Codec.encoding_table["37780"] = [194,232] let s:lib.Codec.encoding_table["37770"] = [194,233] let s:lib.Codec.encoding_table["37782"] = [194,234] let s:lib.Codec.encoding_table["37794"] = [194,235] let s:lib.Codec.encoding_table["37811"] = [194,236] let s:lib.Codec.encoding_table["37806"] = [194,237] let s:lib.Codec.encoding_table["37804"] = [194,238] let s:lib.Codec.encoding_table["37808"] = [194,239] let s:lib.Codec.encoding_table["37784"] = [194,240] let s:lib.Codec.encoding_table["37786"] = [194,241] let s:lib.Codec.encoding_table["37783"] = [194,242] let s:lib.Codec.encoding_table["38356"] = [194,243] let s:lib.Codec.encoding_table["38358"] = [194,244] let s:lib.Codec.encoding_table["38352"] = [194,245] let s:lib.Codec.encoding_table["38357"] = [194,246] let s:lib.Codec.encoding_table["38626"] = [194,247] let s:lib.Codec.encoding_table["38620"] = [194,248] let s:lib.Codec.encoding_table["38617"] = [194,249] let s:lib.Codec.encoding_table["38619"] = [194,250] let s:lib.Codec.encoding_table["38622"] = [194,251] let s:lib.Codec.encoding_table["38692"] = [194,252] let s:lib.Codec.encoding_table["38819"] = [194,253] let s:lib.Codec.encoding_table["38822"] = [194,254] let s:lib.Codec.encoding_table["38829"] = [195,64] let s:lib.Codec.encoding_table["38905"] = [195,65] let s:lib.Codec.encoding_table["38989"] = [195,66] let s:lib.Codec.encoding_table["38991"] = [195,67] let s:lib.Codec.encoding_table["38988"] = [195,68] let s:lib.Codec.encoding_table["38990"] = [195,69] let s:lib.Codec.encoding_table["38995"] = [195,70] let s:lib.Codec.encoding_table["39098"] = [195,71] let s:lib.Codec.encoding_table["39230"] = [195,72] let s:lib.Codec.encoding_table["39231"] = [195,73] let s:lib.Codec.encoding_table["39229"] = [195,74] let s:lib.Codec.encoding_table["39214"] = [195,75] let s:lib.Codec.encoding_table["39333"] = [195,76] let s:lib.Codec.encoding_table["39438"] = [195,77] let s:lib.Codec.encoding_table["39617"] = [195,78] let s:lib.Codec.encoding_table["39683"] = [195,79] let s:lib.Codec.encoding_table["39686"] = [195,80] let s:lib.Codec.encoding_table["39759"] = [195,81] let s:lib.Codec.encoding_table["39758"] = [195,82] let s:lib.Codec.encoding_table["39757"] = [195,83] let s:lib.Codec.encoding_table["39882"] = [195,84] let s:lib.Codec.encoding_table["39881"] = [195,85] let s:lib.Codec.encoding_table["39933"] = [195,86] let s:lib.Codec.encoding_table["39880"] = [195,87] let s:lib.Codec.encoding_table["39872"] = [195,88] let s:lib.Codec.encoding_table["40273"] = [195,89] let s:lib.Codec.encoding_table["40285"] = [195,90] let s:lib.Codec.encoding_table["40288"] = [195,91] let s:lib.Codec.encoding_table["40672"] = [195,92] let s:lib.Codec.encoding_table["40725"] = [195,93] let s:lib.Codec.encoding_table["40748"] = [195,94] let s:lib.Codec.encoding_table["20787"] = [195,95] let s:lib.Codec.encoding_table["22181"] = [195,96] let s:lib.Codec.encoding_table["22750"] = [195,97] let s:lib.Codec.encoding_table["22751"] = [195,98] let s:lib.Codec.encoding_table["22754"] = [195,99] let s:lib.Codec.encoding_table["23541"] = [195,100] let s:lib.Codec.encoding_table["40848"] = [195,101] let s:lib.Codec.encoding_table["24300"] = [195,102] let s:lib.Codec.encoding_table["25074"] = [195,103] let s:lib.Codec.encoding_table["25079"] = [195,104] let s:lib.Codec.encoding_table["25078"] = [195,105] let s:lib.Codec.encoding_table["25077"] = [195,106] let s:lib.Codec.encoding_table["25856"] = [195,107] let s:lib.Codec.encoding_table["25871"] = [195,108] let s:lib.Codec.encoding_table["26336"] = [195,109] let s:lib.Codec.encoding_table["26333"] = [195,110] let s:lib.Codec.encoding_table["27365"] = [195,111] let s:lib.Codec.encoding_table["27357"] = [195,112] let s:lib.Codec.encoding_table["27354"] = [195,113] let s:lib.Codec.encoding_table["27347"] = [195,114] let s:lib.Codec.encoding_table["28699"] = [195,115] let s:lib.Codec.encoding_table["28703"] = [195,116] let s:lib.Codec.encoding_table["28712"] = [195,117] let s:lib.Codec.encoding_table["28698"] = [195,118] let s:lib.Codec.encoding_table["28701"] = [195,119] let s:lib.Codec.encoding_table["28693"] = [195,120] let s:lib.Codec.encoding_table["28696"] = [195,121] let s:lib.Codec.encoding_table["29190"] = [195,122] let s:lib.Codec.encoding_table["29197"] = [195,123] let s:lib.Codec.encoding_table["29272"] = [195,124] let s:lib.Codec.encoding_table["29346"] = [195,125] let s:lib.Codec.encoding_table["29560"] = [195,126] let s:lib.Codec.encoding_table["29562"] = [195,161] let s:lib.Codec.encoding_table["29885"] = [195,162] let s:lib.Codec.encoding_table["29898"] = [195,163] let s:lib.Codec.encoding_table["29923"] = [195,164] let s:lib.Codec.encoding_table["30087"] = [195,165] let s:lib.Codec.encoding_table["30086"] = [195,166] let s:lib.Codec.encoding_table["30303"] = [195,167] let s:lib.Codec.encoding_table["30305"] = [195,168] let s:lib.Codec.encoding_table["30663"] = [195,169] let s:lib.Codec.encoding_table["31001"] = [195,170] let s:lib.Codec.encoding_table["31153"] = [195,171] let s:lib.Codec.encoding_table["31339"] = [195,172] let s:lib.Codec.encoding_table["31337"] = [195,173] let s:lib.Codec.encoding_table["31806"] = [195,174] let s:lib.Codec.encoding_table["31807"] = [195,175] let s:lib.Codec.encoding_table["31800"] = [195,176] let s:lib.Codec.encoding_table["31805"] = [195,177] let s:lib.Codec.encoding_table["31799"] = [195,178] let s:lib.Codec.encoding_table["31808"] = [195,179] let s:lib.Codec.encoding_table["32363"] = [195,180] let s:lib.Codec.encoding_table["32365"] = [195,181] let s:lib.Codec.encoding_table["32377"] = [195,182] let s:lib.Codec.encoding_table["32361"] = [195,183] let s:lib.Codec.encoding_table["32362"] = [195,184] let s:lib.Codec.encoding_table["32645"] = [195,185] let s:lib.Codec.encoding_table["32371"] = [195,186] let s:lib.Codec.encoding_table["32694"] = [195,187] let s:lib.Codec.encoding_table["32697"] = [195,188] let s:lib.Codec.encoding_table["32696"] = [195,189] let s:lib.Codec.encoding_table["33240"] = [195,190] let s:lib.Codec.encoding_table["34281"] = [195,191] let s:lib.Codec.encoding_table["34269"] = [195,192] let s:lib.Codec.encoding_table["34282"] = [195,193] let s:lib.Codec.encoding_table["34261"] = [195,194] let s:lib.Codec.encoding_table["34276"] = [195,195] let s:lib.Codec.encoding_table["34277"] = [195,196] let s:lib.Codec.encoding_table["34295"] = [195,197] let s:lib.Codec.encoding_table["34811"] = [195,198] let s:lib.Codec.encoding_table["34821"] = [195,199] let s:lib.Codec.encoding_table["34829"] = [195,200] let s:lib.Codec.encoding_table["34809"] = [195,201] let s:lib.Codec.encoding_table["34814"] = [195,202] let s:lib.Codec.encoding_table["35168"] = [195,203] let s:lib.Codec.encoding_table["35167"] = [195,204] let s:lib.Codec.encoding_table["35158"] = [195,205] let s:lib.Codec.encoding_table["35166"] = [195,206] let s:lib.Codec.encoding_table["35649"] = [195,207] let s:lib.Codec.encoding_table["35676"] = [195,208] let s:lib.Codec.encoding_table["35672"] = [195,209] let s:lib.Codec.encoding_table["35657"] = [195,210] let s:lib.Codec.encoding_table["35674"] = [195,211] let s:lib.Codec.encoding_table["35662"] = [195,212] let s:lib.Codec.encoding_table["35663"] = [195,213] let s:lib.Codec.encoding_table["35654"] = [195,214] let s:lib.Codec.encoding_table["35673"] = [195,215] let s:lib.Codec.encoding_table["36104"] = [195,216] let s:lib.Codec.encoding_table["36106"] = [195,217] let s:lib.Codec.encoding_table["36476"] = [195,218] let s:lib.Codec.encoding_table["36466"] = [195,219] let s:lib.Codec.encoding_table["36487"] = [195,220] let s:lib.Codec.encoding_table["36470"] = [195,221] let s:lib.Codec.encoding_table["36460"] = [195,222] let s:lib.Codec.encoding_table["36474"] = [195,223] let s:lib.Codec.encoding_table["36468"] = [195,224] let s:lib.Codec.encoding_table["36692"] = [195,225] let s:lib.Codec.encoding_table["36686"] = [195,226] let s:lib.Codec.encoding_table["36781"] = [195,227] let s:lib.Codec.encoding_table["37002"] = [195,228] let s:lib.Codec.encoding_table["37003"] = [195,229] let s:lib.Codec.encoding_table["37297"] = [195,230] let s:lib.Codec.encoding_table["37294"] = [195,231] let s:lib.Codec.encoding_table["37857"] = [195,232] let s:lib.Codec.encoding_table["37841"] = [195,233] let s:lib.Codec.encoding_table["37855"] = [195,234] let s:lib.Codec.encoding_table["37827"] = [195,235] let s:lib.Codec.encoding_table["37832"] = [195,236] let s:lib.Codec.encoding_table["37852"] = [195,237] let s:lib.Codec.encoding_table["37853"] = [195,238] let s:lib.Codec.encoding_table["37846"] = [195,239] let s:lib.Codec.encoding_table["37858"] = [195,240] let s:lib.Codec.encoding_table["37837"] = [195,241] let s:lib.Codec.encoding_table["37848"] = [195,242] let s:lib.Codec.encoding_table["37860"] = [195,243] let s:lib.Codec.encoding_table["37847"] = [195,244] let s:lib.Codec.encoding_table["37864"] = [195,245] let s:lib.Codec.encoding_table["38364"] = [195,246] let s:lib.Codec.encoding_table["38580"] = [195,247] let s:lib.Codec.encoding_table["38627"] = [195,248] let s:lib.Codec.encoding_table["38698"] = [195,249] let s:lib.Codec.encoding_table["38695"] = [195,250] let s:lib.Codec.encoding_table["38753"] = [195,251] let s:lib.Codec.encoding_table["38876"] = [195,252] let s:lib.Codec.encoding_table["38907"] = [195,253] let s:lib.Codec.encoding_table["39006"] = [195,254] let s:lib.Codec.encoding_table["39000"] = [196,64] let s:lib.Codec.encoding_table["39003"] = [196,65] let s:lib.Codec.encoding_table["39100"] = [196,66] let s:lib.Codec.encoding_table["39237"] = [196,67] let s:lib.Codec.encoding_table["39241"] = [196,68] let s:lib.Codec.encoding_table["39446"] = [196,69] let s:lib.Codec.encoding_table["39449"] = [196,70] let s:lib.Codec.encoding_table["39693"] = [196,71] let s:lib.Codec.encoding_table["39912"] = [196,72] let s:lib.Codec.encoding_table["39911"] = [196,73] let s:lib.Codec.encoding_table["39894"] = [196,74] let s:lib.Codec.encoding_table["39899"] = [196,75] let s:lib.Codec.encoding_table["40329"] = [196,76] let s:lib.Codec.encoding_table["40289"] = [196,77] let s:lib.Codec.encoding_table["40306"] = [196,78] let s:lib.Codec.encoding_table["40298"] = [196,79] let s:lib.Codec.encoding_table["40300"] = [196,80] let s:lib.Codec.encoding_table["40594"] = [196,81] let s:lib.Codec.encoding_table["40599"] = [196,82] let s:lib.Codec.encoding_table["40595"] = [196,83] let s:lib.Codec.encoding_table["40628"] = [196,84] let s:lib.Codec.encoding_table["21240"] = [196,85] let s:lib.Codec.encoding_table["22184"] = [196,86] let s:lib.Codec.encoding_table["22199"] = [196,87] let s:lib.Codec.encoding_table["22198"] = [196,88] let s:lib.Codec.encoding_table["22196"] = [196,89] let s:lib.Codec.encoding_table["22204"] = [196,90] let s:lib.Codec.encoding_table["22756"] = [196,91] let s:lib.Codec.encoding_table["23360"] = [196,92] let s:lib.Codec.encoding_table["23363"] = [196,93] let s:lib.Codec.encoding_table["23421"] = [196,94] let s:lib.Codec.encoding_table["23542"] = [196,95] let s:lib.Codec.encoding_table["24009"] = [196,96] let s:lib.Codec.encoding_table["25080"] = [196,97] let s:lib.Codec.encoding_table["25082"] = [196,98] let s:lib.Codec.encoding_table["25880"] = [196,99] let s:lib.Codec.encoding_table["25876"] = [196,100] let s:lib.Codec.encoding_table["25881"] = [196,101] let s:lib.Codec.encoding_table["26342"] = [196,102] let s:lib.Codec.encoding_table["26407"] = [196,103] let s:lib.Codec.encoding_table["27372"] = [196,104] let s:lib.Codec.encoding_table["28734"] = [196,105] let s:lib.Codec.encoding_table["28720"] = [196,106] let s:lib.Codec.encoding_table["28722"] = [196,107] let s:lib.Codec.encoding_table["29200"] = [196,108] let s:lib.Codec.encoding_table["29563"] = [196,109] let s:lib.Codec.encoding_table["29903"] = [196,110] let s:lib.Codec.encoding_table["30306"] = [196,111] let s:lib.Codec.encoding_table["30309"] = [196,112] let s:lib.Codec.encoding_table["31014"] = [196,113] let s:lib.Codec.encoding_table["31018"] = [196,114] let s:lib.Codec.encoding_table["31020"] = [196,115] let s:lib.Codec.encoding_table["31019"] = [196,116] let s:lib.Codec.encoding_table["31431"] = [196,117] let s:lib.Codec.encoding_table["31478"] = [196,118] let s:lib.Codec.encoding_table["31820"] = [196,119] let s:lib.Codec.encoding_table["31811"] = [196,120] let s:lib.Codec.encoding_table["31821"] = [196,121] let s:lib.Codec.encoding_table["31983"] = [196,122] let s:lib.Codec.encoding_table["31984"] = [196,123] let s:lib.Codec.encoding_table["36782"] = [196,124] let s:lib.Codec.encoding_table["32381"] = [196,125] let s:lib.Codec.encoding_table["32380"] = [196,126] let s:lib.Codec.encoding_table["32386"] = [196,161] let s:lib.Codec.encoding_table["32588"] = [196,162] let s:lib.Codec.encoding_table["32768"] = [196,163] let s:lib.Codec.encoding_table["33242"] = [196,164] let s:lib.Codec.encoding_table["33382"] = [196,165] let s:lib.Codec.encoding_table["34299"] = [196,166] let s:lib.Codec.encoding_table["34297"] = [196,167] let s:lib.Codec.encoding_table["34321"] = [196,168] let s:lib.Codec.encoding_table["34298"] = [196,169] let s:lib.Codec.encoding_table["34310"] = [196,170] let s:lib.Codec.encoding_table["34315"] = [196,171] let s:lib.Codec.encoding_table["34311"] = [196,172] let s:lib.Codec.encoding_table["34314"] = [196,173] let s:lib.Codec.encoding_table["34836"] = [196,174] let s:lib.Codec.encoding_table["34837"] = [196,175] let s:lib.Codec.encoding_table["35172"] = [196,176] let s:lib.Codec.encoding_table["35258"] = [196,177] let s:lib.Codec.encoding_table["35320"] = [196,178] let s:lib.Codec.encoding_table["35696"] = [196,179] let s:lib.Codec.encoding_table["35692"] = [196,180] let s:lib.Codec.encoding_table["35686"] = [196,181] let s:lib.Codec.encoding_table["35695"] = [196,182] let s:lib.Codec.encoding_table["35679"] = [196,183] let s:lib.Codec.encoding_table["35691"] = [196,184] let s:lib.Codec.encoding_table["36111"] = [196,185] let s:lib.Codec.encoding_table["36109"] = [196,186] let s:lib.Codec.encoding_table["36489"] = [196,187] let s:lib.Codec.encoding_table["36481"] = [196,188] let s:lib.Codec.encoding_table["36485"] = [196,189] let s:lib.Codec.encoding_table["36482"] = [196,190] let s:lib.Codec.encoding_table["37300"] = [196,191] let s:lib.Codec.encoding_table["37323"] = [196,192] let s:lib.Codec.encoding_table["37912"] = [196,193] let s:lib.Codec.encoding_table["37891"] = [196,194] let s:lib.Codec.encoding_table["37885"] = [196,195] let s:lib.Codec.encoding_table["38369"] = [196,196] let s:lib.Codec.encoding_table["38704"] = [196,197] let s:lib.Codec.encoding_table["39108"] = [196,198] let s:lib.Codec.encoding_table["39250"] = [196,199] let s:lib.Codec.encoding_table["39249"] = [196,200] let s:lib.Codec.encoding_table["39336"] = [196,201] let s:lib.Codec.encoding_table["39467"] = [196,202] let s:lib.Codec.encoding_table["39472"] = [196,203] let s:lib.Codec.encoding_table["39479"] = [196,204] let s:lib.Codec.encoding_table["39477"] = [196,205] let s:lib.Codec.encoding_table["39955"] = [196,206] let s:lib.Codec.encoding_table["39949"] = [196,207] let s:lib.Codec.encoding_table["40569"] = [196,208] let s:lib.Codec.encoding_table["40629"] = [196,209] let s:lib.Codec.encoding_table["40680"] = [196,210] let s:lib.Codec.encoding_table["40751"] = [196,211] let s:lib.Codec.encoding_table["40799"] = [196,212] let s:lib.Codec.encoding_table["40803"] = [196,213] let s:lib.Codec.encoding_table["40801"] = [196,214] let s:lib.Codec.encoding_table["20791"] = [196,215] let s:lib.Codec.encoding_table["20792"] = [196,216] let s:lib.Codec.encoding_table["22209"] = [196,217] let s:lib.Codec.encoding_table["22208"] = [196,218] let s:lib.Codec.encoding_table["22210"] = [196,219] let s:lib.Codec.encoding_table["22804"] = [196,220] let s:lib.Codec.encoding_table["23660"] = [196,221] let s:lib.Codec.encoding_table["24013"] = [196,222] let s:lib.Codec.encoding_table["25084"] = [196,223] let s:lib.Codec.encoding_table["25086"] = [196,224] let s:lib.Codec.encoding_table["25885"] = [196,225] let s:lib.Codec.encoding_table["25884"] = [196,226] let s:lib.Codec.encoding_table["26005"] = [196,227] let s:lib.Codec.encoding_table["26345"] = [196,228] let s:lib.Codec.encoding_table["27387"] = [196,229] let s:lib.Codec.encoding_table["27396"] = [196,230] let s:lib.Codec.encoding_table["27386"] = [196,231] let s:lib.Codec.encoding_table["27570"] = [196,232] let s:lib.Codec.encoding_table["28748"] = [196,233] let s:lib.Codec.encoding_table["29211"] = [196,234] let s:lib.Codec.encoding_table["29351"] = [196,235] let s:lib.Codec.encoding_table["29910"] = [196,236] let s:lib.Codec.encoding_table["29908"] = [196,237] let s:lib.Codec.encoding_table["30313"] = [196,238] let s:lib.Codec.encoding_table["30675"] = [196,239] let s:lib.Codec.encoding_table["31824"] = [196,240] let s:lib.Codec.encoding_table["32399"] = [196,241] let s:lib.Codec.encoding_table["32396"] = [196,242] let s:lib.Codec.encoding_table["32700"] = [196,243] let s:lib.Codec.encoding_table["34327"] = [196,244] let s:lib.Codec.encoding_table["34349"] = [196,245] let s:lib.Codec.encoding_table["34330"] = [196,246] let s:lib.Codec.encoding_table["34851"] = [196,247] let s:lib.Codec.encoding_table["34850"] = [196,248] let s:lib.Codec.encoding_table["34849"] = [196,249] let s:lib.Codec.encoding_table["34847"] = [196,250] let s:lib.Codec.encoding_table["35178"] = [196,251] let s:lib.Codec.encoding_table["35180"] = [196,252] let s:lib.Codec.encoding_table["35261"] = [196,253] let s:lib.Codec.encoding_table["35700"] = [196,254] let s:lib.Codec.encoding_table["35703"] = [197,64] let s:lib.Codec.encoding_table["35709"] = [197,65] let s:lib.Codec.encoding_table["36115"] = [197,66] let s:lib.Codec.encoding_table["36490"] = [197,67] let s:lib.Codec.encoding_table["36493"] = [197,68] let s:lib.Codec.encoding_table["36491"] = [197,69] let s:lib.Codec.encoding_table["36703"] = [197,70] let s:lib.Codec.encoding_table["36783"] = [197,71] let s:lib.Codec.encoding_table["37306"] = [197,72] let s:lib.Codec.encoding_table["37934"] = [197,73] let s:lib.Codec.encoding_table["37939"] = [197,74] let s:lib.Codec.encoding_table["37941"] = [197,75] let s:lib.Codec.encoding_table["37946"] = [197,76] let s:lib.Codec.encoding_table["37944"] = [197,77] let s:lib.Codec.encoding_table["37938"] = [197,78] let s:lib.Codec.encoding_table["37931"] = [197,79] let s:lib.Codec.encoding_table["38370"] = [197,80] let s:lib.Codec.encoding_table["38712"] = [197,81] let s:lib.Codec.encoding_table["38713"] = [197,82] let s:lib.Codec.encoding_table["38706"] = [197,83] let s:lib.Codec.encoding_table["38911"] = [197,84] let s:lib.Codec.encoding_table["39015"] = [197,85] let s:lib.Codec.encoding_table["39013"] = [197,86] let s:lib.Codec.encoding_table["39255"] = [197,87] let s:lib.Codec.encoding_table["39493"] = [197,88] let s:lib.Codec.encoding_table["39491"] = [197,89] let s:lib.Codec.encoding_table["39488"] = [197,90] let s:lib.Codec.encoding_table["39486"] = [197,91] let s:lib.Codec.encoding_table["39631"] = [197,92] let s:lib.Codec.encoding_table["39764"] = [197,93] let s:lib.Codec.encoding_table["39761"] = [197,94] let s:lib.Codec.encoding_table["39981"] = [197,95] let s:lib.Codec.encoding_table["39973"] = [197,96] let s:lib.Codec.encoding_table["40367"] = [197,97] let s:lib.Codec.encoding_table["40372"] = [197,98] let s:lib.Codec.encoding_table["40386"] = [197,99] let s:lib.Codec.encoding_table["40376"] = [197,100] let s:lib.Codec.encoding_table["40605"] = [197,101] let s:lib.Codec.encoding_table["40687"] = [197,102] let s:lib.Codec.encoding_table["40729"] = [197,103] let s:lib.Codec.encoding_table["40796"] = [197,104] let s:lib.Codec.encoding_table["40806"] = [197,105] let s:lib.Codec.encoding_table["40807"] = [197,106] let s:lib.Codec.encoding_table["20796"] = [197,107] let s:lib.Codec.encoding_table["20795"] = [197,108] let s:lib.Codec.encoding_table["22216"] = [197,109] let s:lib.Codec.encoding_table["22218"] = [197,110] let s:lib.Codec.encoding_table["22217"] = [197,111] let s:lib.Codec.encoding_table["23423"] = [197,112] let s:lib.Codec.encoding_table["24020"] = [197,113] let s:lib.Codec.encoding_table["24018"] = [197,114] let s:lib.Codec.encoding_table["24398"] = [197,115] let s:lib.Codec.encoding_table["25087"] = [197,116] let s:lib.Codec.encoding_table["25892"] = [197,117] let s:lib.Codec.encoding_table["27402"] = [197,118] let s:lib.Codec.encoding_table["27489"] = [197,119] let s:lib.Codec.encoding_table["28753"] = [197,120] let s:lib.Codec.encoding_table["28760"] = [197,121] let s:lib.Codec.encoding_table["29568"] = [197,122] let s:lib.Codec.encoding_table["29924"] = [197,123] let s:lib.Codec.encoding_table["30090"] = [197,124] let s:lib.Codec.encoding_table["30318"] = [197,125] let s:lib.Codec.encoding_table["30316"] = [197,126] let s:lib.Codec.encoding_table["31155"] = [197,161] let s:lib.Codec.encoding_table["31840"] = [197,162] let s:lib.Codec.encoding_table["31839"] = [197,163] let s:lib.Codec.encoding_table["32894"] = [197,164] let s:lib.Codec.encoding_table["32893"] = [197,165] let s:lib.Codec.encoding_table["33247"] = [197,166] let s:lib.Codec.encoding_table["35186"] = [197,167] let s:lib.Codec.encoding_table["35183"] = [197,168] let s:lib.Codec.encoding_table["35324"] = [197,169] let s:lib.Codec.encoding_table["35712"] = [197,170] let s:lib.Codec.encoding_table["36118"] = [197,171] let s:lib.Codec.encoding_table["36119"] = [197,172] let s:lib.Codec.encoding_table["36497"] = [197,173] let s:lib.Codec.encoding_table["36499"] = [197,174] let s:lib.Codec.encoding_table["36705"] = [197,175] let s:lib.Codec.encoding_table["37192"] = [197,176] let s:lib.Codec.encoding_table["37956"] = [197,177] let s:lib.Codec.encoding_table["37969"] = [197,178] let s:lib.Codec.encoding_table["37970"] = [197,179] let s:lib.Codec.encoding_table["38717"] = [197,180] let s:lib.Codec.encoding_table["38718"] = [197,181] let s:lib.Codec.encoding_table["38851"] = [197,182] let s:lib.Codec.encoding_table["38849"] = [197,183] let s:lib.Codec.encoding_table["39019"] = [197,184] let s:lib.Codec.encoding_table["39253"] = [197,185] let s:lib.Codec.encoding_table["39509"] = [197,186] let s:lib.Codec.encoding_table["39501"] = [197,187] let s:lib.Codec.encoding_table["39634"] = [197,188] let s:lib.Codec.encoding_table["39706"] = [197,189] let s:lib.Codec.encoding_table["40009"] = [197,190] let s:lib.Codec.encoding_table["39985"] = [197,191] let s:lib.Codec.encoding_table["39998"] = [197,192] let s:lib.Codec.encoding_table["39995"] = [197,193] let s:lib.Codec.encoding_table["40403"] = [197,194] let s:lib.Codec.encoding_table["40407"] = [197,195] let s:lib.Codec.encoding_table["40756"] = [197,196] let s:lib.Codec.encoding_table["40812"] = [197,197] let s:lib.Codec.encoding_table["40810"] = [197,198] let s:lib.Codec.encoding_table["40852"] = [197,199] let s:lib.Codec.encoding_table["22220"] = [197,200] let s:lib.Codec.encoding_table["24022"] = [197,201] let s:lib.Codec.encoding_table["25088"] = [197,202] let s:lib.Codec.encoding_table["25891"] = [197,203] let s:lib.Codec.encoding_table["25899"] = [197,204] let s:lib.Codec.encoding_table["25898"] = [197,205] let s:lib.Codec.encoding_table["26348"] = [197,206] let s:lib.Codec.encoding_table["27408"] = [197,207] let s:lib.Codec.encoding_table["29914"] = [197,208] let s:lib.Codec.encoding_table["31434"] = [197,209] let s:lib.Codec.encoding_table["31844"] = [197,210] let s:lib.Codec.encoding_table["31843"] = [197,211] let s:lib.Codec.encoding_table["31845"] = [197,212] let s:lib.Codec.encoding_table["32403"] = [197,213] let s:lib.Codec.encoding_table["32406"] = [197,214] let s:lib.Codec.encoding_table["32404"] = [197,215] let s:lib.Codec.encoding_table["33250"] = [197,216] let s:lib.Codec.encoding_table["34360"] = [197,217] let s:lib.Codec.encoding_table["34367"] = [197,218] let s:lib.Codec.encoding_table["34865"] = [197,219] let s:lib.Codec.encoding_table["35722"] = [197,220] let s:lib.Codec.encoding_table["37008"] = [197,221] let s:lib.Codec.encoding_table["37007"] = [197,222] let s:lib.Codec.encoding_table["37987"] = [197,223] let s:lib.Codec.encoding_table["37984"] = [197,224] let s:lib.Codec.encoding_table["37988"] = [197,225] let s:lib.Codec.encoding_table["38760"] = [197,226] let s:lib.Codec.encoding_table["39023"] = [197,227] let s:lib.Codec.encoding_table["39260"] = [197,228] let s:lib.Codec.encoding_table["39514"] = [197,229] let s:lib.Codec.encoding_table["39515"] = [197,230] let s:lib.Codec.encoding_table["39511"] = [197,231] let s:lib.Codec.encoding_table["39635"] = [197,232] let s:lib.Codec.encoding_table["39636"] = [197,233] let s:lib.Codec.encoding_table["39633"] = [197,234] let s:lib.Codec.encoding_table["40020"] = [197,235] let s:lib.Codec.encoding_table["40023"] = [197,236] let s:lib.Codec.encoding_table["40022"] = [197,237] let s:lib.Codec.encoding_table["40421"] = [197,238] let s:lib.Codec.encoding_table["40607"] = [197,239] let s:lib.Codec.encoding_table["40692"] = [197,240] let s:lib.Codec.encoding_table["22225"] = [197,241] let s:lib.Codec.encoding_table["22761"] = [197,242] let s:lib.Codec.encoding_table["25900"] = [197,243] let s:lib.Codec.encoding_table["28766"] = [197,244] let s:lib.Codec.encoding_table["30321"] = [197,245] let s:lib.Codec.encoding_table["30322"] = [197,246] let s:lib.Codec.encoding_table["30679"] = [197,247] let s:lib.Codec.encoding_table["32592"] = [197,248] let s:lib.Codec.encoding_table["32648"] = [197,249] let s:lib.Codec.encoding_table["34870"] = [197,250] let s:lib.Codec.encoding_table["34873"] = [197,251] let s:lib.Codec.encoding_table["34914"] = [197,252] let s:lib.Codec.encoding_table["35731"] = [197,253] let s:lib.Codec.encoding_table["35730"] = [197,254] let s:lib.Codec.encoding_table["35734"] = [198,64] let s:lib.Codec.encoding_table["33399"] = [198,65] let s:lib.Codec.encoding_table["36123"] = [198,66] let s:lib.Codec.encoding_table["37312"] = [198,67] let s:lib.Codec.encoding_table["37994"] = [198,68] let s:lib.Codec.encoding_table["38722"] = [198,69] let s:lib.Codec.encoding_table["38728"] = [198,70] let s:lib.Codec.encoding_table["38724"] = [198,71] let s:lib.Codec.encoding_table["38854"] = [198,72] let s:lib.Codec.encoding_table["39024"] = [198,73] let s:lib.Codec.encoding_table["39519"] = [198,74] let s:lib.Codec.encoding_table["39714"] = [198,75] let s:lib.Codec.encoding_table["39768"] = [198,76] let s:lib.Codec.encoding_table["40031"] = [198,77] let s:lib.Codec.encoding_table["40441"] = [198,78] let s:lib.Codec.encoding_table["40442"] = [198,79] let s:lib.Codec.encoding_table["40572"] = [198,80] let s:lib.Codec.encoding_table["40573"] = [198,81] let s:lib.Codec.encoding_table["40711"] = [198,82] let s:lib.Codec.encoding_table["40823"] = [198,83] let s:lib.Codec.encoding_table["40818"] = [198,84] let s:lib.Codec.encoding_table["24307"] = [198,85] let s:lib.Codec.encoding_table["27414"] = [198,86] let s:lib.Codec.encoding_table["28771"] = [198,87] let s:lib.Codec.encoding_table["31852"] = [198,88] let s:lib.Codec.encoding_table["31854"] = [198,89] let s:lib.Codec.encoding_table["34875"] = [198,90] let s:lib.Codec.encoding_table["35264"] = [198,91] let s:lib.Codec.encoding_table["36513"] = [198,92] let s:lib.Codec.encoding_table["37313"] = [198,93] let s:lib.Codec.encoding_table["38002"] = [198,94] let s:lib.Codec.encoding_table["38000"] = [198,95] let s:lib.Codec.encoding_table["39025"] = [198,96] let s:lib.Codec.encoding_table["39262"] = [198,97] let s:lib.Codec.encoding_table["39638"] = [198,98] let s:lib.Codec.encoding_table["39715"] = [198,99] let s:lib.Codec.encoding_table["40652"] = [198,100] let s:lib.Codec.encoding_table["28772"] = [198,101] let s:lib.Codec.encoding_table["30682"] = [198,102] let s:lib.Codec.encoding_table["35738"] = [198,103] let s:lib.Codec.encoding_table["38007"] = [198,104] let s:lib.Codec.encoding_table["38857"] = [198,105] let s:lib.Codec.encoding_table["39522"] = [198,106] let s:lib.Codec.encoding_table["39525"] = [198,107] let s:lib.Codec.encoding_table["32412"] = [198,108] let s:lib.Codec.encoding_table["35740"] = [198,109] let s:lib.Codec.encoding_table["36522"] = [198,110] let s:lib.Codec.encoding_table["37317"] = [198,111] let s:lib.Codec.encoding_table["38013"] = [198,112] let s:lib.Codec.encoding_table["38014"] = [198,113] let s:lib.Codec.encoding_table["38012"] = [198,114] let s:lib.Codec.encoding_table["40055"] = [198,115] let s:lib.Codec.encoding_table["40056"] = [198,116] let s:lib.Codec.encoding_table["40695"] = [198,117] let s:lib.Codec.encoding_table["35924"] = [198,118] let s:lib.Codec.encoding_table["38015"] = [198,119] let s:lib.Codec.encoding_table["40474"] = [198,120] let s:lib.Codec.encoding_table["29224"] = [198,121] let s:lib.Codec.encoding_table["39530"] = [198,122] let s:lib.Codec.encoding_table["39729"] = [198,123] let s:lib.Codec.encoding_table["40475"] = [198,124] let s:lib.Codec.encoding_table["40478"] = [198,125] let s:lib.Codec.encoding_table["31858"] = [198,126] let s:lib.Codec.encoding_table["20034"] = [201,64] let s:lib.Codec.encoding_table["20060"] = [201,65] let s:lib.Codec.encoding_table["20981"] = [201,66] let s:lib.Codec.encoding_table["21274"] = [201,67] let s:lib.Codec.encoding_table["21378"] = [201,68] let s:lib.Codec.encoding_table["19975"] = [201,69] let s:lib.Codec.encoding_table["19980"] = [201,70] let s:lib.Codec.encoding_table["20039"] = [201,71] let s:lib.Codec.encoding_table["20109"] = [201,72] let s:lib.Codec.encoding_table["22231"] = [201,73] let s:lib.Codec.encoding_table["64012"] = [201,74] let s:lib.Codec.encoding_table["23662"] = [201,75] let s:lib.Codec.encoding_table["24435"] = [201,76] let s:lib.Codec.encoding_table["19983"] = [201,77] let s:lib.Codec.encoding_table["20871"] = [201,78] let s:lib.Codec.encoding_table["19982"] = [201,79] let s:lib.Codec.encoding_table["20014"] = [201,80] let s:lib.Codec.encoding_table["20115"] = [201,81] let s:lib.Codec.encoding_table["20162"] = [201,82] let s:lib.Codec.encoding_table["20169"] = [201,83] let s:lib.Codec.encoding_table["20168"] = [201,84] let s:lib.Codec.encoding_table["20888"] = [201,85] let s:lib.Codec.encoding_table["21244"] = [201,86] let s:lib.Codec.encoding_table["21356"] = [201,87] let s:lib.Codec.encoding_table["21433"] = [201,88] let s:lib.Codec.encoding_table["22304"] = [201,89] let s:lib.Codec.encoding_table["22787"] = [201,90] let s:lib.Codec.encoding_table["22828"] = [201,91] let s:lib.Codec.encoding_table["23568"] = [201,92] let s:lib.Codec.encoding_table["24063"] = [201,93] let s:lib.Codec.encoding_table["26081"] = [201,94] let s:lib.Codec.encoding_table["27571"] = [201,95] let s:lib.Codec.encoding_table["27596"] = [201,96] let s:lib.Codec.encoding_table["27668"] = [201,97] let s:lib.Codec.encoding_table["29247"] = [201,98] let s:lib.Codec.encoding_table["20017"] = [201,99] let s:lib.Codec.encoding_table["20028"] = [201,100] let s:lib.Codec.encoding_table["20200"] = [201,101] let s:lib.Codec.encoding_table["20188"] = [201,102] let s:lib.Codec.encoding_table["20201"] = [201,103] let s:lib.Codec.encoding_table["20193"] = [201,104] let s:lib.Codec.encoding_table["20189"] = [201,105] let s:lib.Codec.encoding_table["20186"] = [201,106] let s:lib.Codec.encoding_table["21004"] = [201,107] let s:lib.Codec.encoding_table["21276"] = [201,108] let s:lib.Codec.encoding_table["21324"] = [201,109] let s:lib.Codec.encoding_table["22306"] = [201,110] let s:lib.Codec.encoding_table["22307"] = [201,111] let s:lib.Codec.encoding_table["22807"] = [201,112] let s:lib.Codec.encoding_table["22831"] = [201,113] let s:lib.Codec.encoding_table["23425"] = [201,114] let s:lib.Codec.encoding_table["23428"] = [201,115] let s:lib.Codec.encoding_table["23570"] = [201,116] let s:lib.Codec.encoding_table["23611"] = [201,117] let s:lib.Codec.encoding_table["23668"] = [201,118] let s:lib.Codec.encoding_table["23667"] = [201,119] let s:lib.Codec.encoding_table["24068"] = [201,120] let s:lib.Codec.encoding_table["24192"] = [201,121] let s:lib.Codec.encoding_table["24194"] = [201,122] let s:lib.Codec.encoding_table["24521"] = [201,123] let s:lib.Codec.encoding_table["25097"] = [201,124] let s:lib.Codec.encoding_table["25168"] = [201,125] let s:lib.Codec.encoding_table["27669"] = [201,126] let s:lib.Codec.encoding_table["27702"] = [201,161] let s:lib.Codec.encoding_table["27715"] = [201,162] let s:lib.Codec.encoding_table["27711"] = [201,163] let s:lib.Codec.encoding_table["27707"] = [201,164] let s:lib.Codec.encoding_table["29358"] = [201,165] let s:lib.Codec.encoding_table["29360"] = [201,166] let s:lib.Codec.encoding_table["29578"] = [201,167] let s:lib.Codec.encoding_table["31160"] = [201,168] let s:lib.Codec.encoding_table["32906"] = [201,169] let s:lib.Codec.encoding_table["38430"] = [201,170] let s:lib.Codec.encoding_table["20238"] = [201,171] let s:lib.Codec.encoding_table["20248"] = [201,172] let s:lib.Codec.encoding_table["20268"] = [201,173] let s:lib.Codec.encoding_table["20213"] = [201,174] let s:lib.Codec.encoding_table["20244"] = [201,175] let s:lib.Codec.encoding_table["20209"] = [201,176] let s:lib.Codec.encoding_table["20224"] = [201,177] let s:lib.Codec.encoding_table["20215"] = [201,178] let s:lib.Codec.encoding_table["20232"] = [201,179] let s:lib.Codec.encoding_table["20253"] = [201,180] let s:lib.Codec.encoding_table["20226"] = [201,181] let s:lib.Codec.encoding_table["20229"] = [201,182] let s:lib.Codec.encoding_table["20258"] = [201,183] let s:lib.Codec.encoding_table["20243"] = [201,184] let s:lib.Codec.encoding_table["20228"] = [201,185] let s:lib.Codec.encoding_table["20212"] = [201,186] let s:lib.Codec.encoding_table["20242"] = [201,187] let s:lib.Codec.encoding_table["20913"] = [201,188] let s:lib.Codec.encoding_table["21011"] = [201,189] let s:lib.Codec.encoding_table["21001"] = [201,190] let s:lib.Codec.encoding_table["21008"] = [201,191] let s:lib.Codec.encoding_table["21158"] = [201,192] let s:lib.Codec.encoding_table["21282"] = [201,193] let s:lib.Codec.encoding_table["21279"] = [201,194] let s:lib.Codec.encoding_table["21325"] = [201,195] let s:lib.Codec.encoding_table["21386"] = [201,196] let s:lib.Codec.encoding_table["21511"] = [201,197] let s:lib.Codec.encoding_table["22241"] = [201,198] let s:lib.Codec.encoding_table["22239"] = [201,199] let s:lib.Codec.encoding_table["22318"] = [201,200] let s:lib.Codec.encoding_table["22314"] = [201,201] let s:lib.Codec.encoding_table["22324"] = [201,202] let s:lib.Codec.encoding_table["22844"] = [201,203] let s:lib.Codec.encoding_table["22912"] = [201,204] let s:lib.Codec.encoding_table["22908"] = [201,205] let s:lib.Codec.encoding_table["22917"] = [201,206] let s:lib.Codec.encoding_table["22907"] = [201,207] let s:lib.Codec.encoding_table["22910"] = [201,208] let s:lib.Codec.encoding_table["22903"] = [201,209] let s:lib.Codec.encoding_table["22911"] = [201,210] let s:lib.Codec.encoding_table["23382"] = [201,211] let s:lib.Codec.encoding_table["23573"] = [201,212] let s:lib.Codec.encoding_table["23589"] = [201,213] let s:lib.Codec.encoding_table["23676"] = [201,214] let s:lib.Codec.encoding_table["23674"] = [201,215] let s:lib.Codec.encoding_table["23675"] = [201,216] let s:lib.Codec.encoding_table["23678"] = [201,217] let s:lib.Codec.encoding_table["24031"] = [201,218] let s:lib.Codec.encoding_table["24181"] = [201,219] let s:lib.Codec.encoding_table["24196"] = [201,220] let s:lib.Codec.encoding_table["24322"] = [201,221] let s:lib.Codec.encoding_table["24346"] = [201,222] let s:lib.Codec.encoding_table["24436"] = [201,223] let s:lib.Codec.encoding_table["24533"] = [201,224] let s:lib.Codec.encoding_table["24532"] = [201,225] let s:lib.Codec.encoding_table["24527"] = [201,226] let s:lib.Codec.encoding_table["25180"] = [201,227] let s:lib.Codec.encoding_table["25182"] = [201,228] let s:lib.Codec.encoding_table["25188"] = [201,229] let s:lib.Codec.encoding_table["25185"] = [201,230] let s:lib.Codec.encoding_table["25190"] = [201,231] let s:lib.Codec.encoding_table["25186"] = [201,232] let s:lib.Codec.encoding_table["25177"] = [201,233] let s:lib.Codec.encoding_table["25184"] = [201,234] let s:lib.Codec.encoding_table["25178"] = [201,235] let s:lib.Codec.encoding_table["25189"] = [201,236] let s:lib.Codec.encoding_table["26095"] = [201,237] let s:lib.Codec.encoding_table["26094"] = [201,238] let s:lib.Codec.encoding_table["26430"] = [201,239] let s:lib.Codec.encoding_table["26425"] = [201,240] let s:lib.Codec.encoding_table["26424"] = [201,241] let s:lib.Codec.encoding_table["26427"] = [201,242] let s:lib.Codec.encoding_table["26426"] = [201,243] let s:lib.Codec.encoding_table["26431"] = [201,244] let s:lib.Codec.encoding_table["26428"] = [201,245] let s:lib.Codec.encoding_table["26419"] = [201,246] let s:lib.Codec.encoding_table["27672"] = [201,247] let s:lib.Codec.encoding_table["27718"] = [201,248] let s:lib.Codec.encoding_table["27730"] = [201,249] let s:lib.Codec.encoding_table["27740"] = [201,250] let s:lib.Codec.encoding_table["27727"] = [201,251] let s:lib.Codec.encoding_table["27722"] = [201,252] let s:lib.Codec.encoding_table["27732"] = [201,253] let s:lib.Codec.encoding_table["27723"] = [201,254] let s:lib.Codec.encoding_table["27724"] = [202,64] let s:lib.Codec.encoding_table["28785"] = [202,65] let s:lib.Codec.encoding_table["29278"] = [202,66] let s:lib.Codec.encoding_table["29364"] = [202,67] let s:lib.Codec.encoding_table["29365"] = [202,68] let s:lib.Codec.encoding_table["29582"] = [202,69] let s:lib.Codec.encoding_table["29994"] = [202,70] let s:lib.Codec.encoding_table["30335"] = [202,71] let s:lib.Codec.encoding_table["31349"] = [202,72] let s:lib.Codec.encoding_table["32593"] = [202,73] let s:lib.Codec.encoding_table["33400"] = [202,74] let s:lib.Codec.encoding_table["33404"] = [202,75] let s:lib.Codec.encoding_table["33408"] = [202,76] let s:lib.Codec.encoding_table["33405"] = [202,77] let s:lib.Codec.encoding_table["33407"] = [202,78] let s:lib.Codec.encoding_table["34381"] = [202,79] let s:lib.Codec.encoding_table["35198"] = [202,80] let s:lib.Codec.encoding_table["37017"] = [202,81] let s:lib.Codec.encoding_table["37015"] = [202,82] let s:lib.Codec.encoding_table["37016"] = [202,83] let s:lib.Codec.encoding_table["37019"] = [202,84] let s:lib.Codec.encoding_table["37012"] = [202,85] let s:lib.Codec.encoding_table["38434"] = [202,86] let s:lib.Codec.encoding_table["38436"] = [202,87] let s:lib.Codec.encoding_table["38432"] = [202,88] let s:lib.Codec.encoding_table["38435"] = [202,89] let s:lib.Codec.encoding_table["20310"] = [202,90] let s:lib.Codec.encoding_table["20283"] = [202,91] let s:lib.Codec.encoding_table["20322"] = [202,92] let s:lib.Codec.encoding_table["20297"] = [202,93] let s:lib.Codec.encoding_table["20307"] = [202,94] let s:lib.Codec.encoding_table["20324"] = [202,95] let s:lib.Codec.encoding_table["20286"] = [202,96] let s:lib.Codec.encoding_table["20327"] = [202,97] let s:lib.Codec.encoding_table["20306"] = [202,98] let s:lib.Codec.encoding_table["20319"] = [202,99] let s:lib.Codec.encoding_table["20289"] = [202,100] let s:lib.Codec.encoding_table["20312"] = [202,101] let s:lib.Codec.encoding_table["20269"] = [202,102] let s:lib.Codec.encoding_table["20275"] = [202,103] let s:lib.Codec.encoding_table["20287"] = [202,104] let s:lib.Codec.encoding_table["20321"] = [202,105] let s:lib.Codec.encoding_table["20879"] = [202,106] let s:lib.Codec.encoding_table["20921"] = [202,107] let s:lib.Codec.encoding_table["21020"] = [202,108] let s:lib.Codec.encoding_table["21022"] = [202,109] let s:lib.Codec.encoding_table["21025"] = [202,110] let s:lib.Codec.encoding_table["21165"] = [202,111] let s:lib.Codec.encoding_table["21166"] = [202,112] let s:lib.Codec.encoding_table["21257"] = [202,113] let s:lib.Codec.encoding_table["21347"] = [202,114] let s:lib.Codec.encoding_table["21362"] = [202,115] let s:lib.Codec.encoding_table["21390"] = [202,116] let s:lib.Codec.encoding_table["21391"] = [202,117] let s:lib.Codec.encoding_table["21552"] = [202,118] let s:lib.Codec.encoding_table["21559"] = [202,119] let s:lib.Codec.encoding_table["21546"] = [202,120] let s:lib.Codec.encoding_table["21588"] = [202,121] let s:lib.Codec.encoding_table["21573"] = [202,122] let s:lib.Codec.encoding_table["21529"] = [202,123] let s:lib.Codec.encoding_table["21532"] = [202,124] let s:lib.Codec.encoding_table["21541"] = [202,125] let s:lib.Codec.encoding_table["21528"] = [202,126] let s:lib.Codec.encoding_table["21565"] = [202,161] let s:lib.Codec.encoding_table["21583"] = [202,162] let s:lib.Codec.encoding_table["21569"] = [202,163] let s:lib.Codec.encoding_table["21544"] = [202,164] let s:lib.Codec.encoding_table["21540"] = [202,165] let s:lib.Codec.encoding_table["21575"] = [202,166] let s:lib.Codec.encoding_table["22254"] = [202,167] let s:lib.Codec.encoding_table["22247"] = [202,168] let s:lib.Codec.encoding_table["22245"] = [202,169] let s:lib.Codec.encoding_table["22337"] = [202,170] let s:lib.Codec.encoding_table["22341"] = [202,171] let s:lib.Codec.encoding_table["22348"] = [202,172] let s:lib.Codec.encoding_table["22345"] = [202,173] let s:lib.Codec.encoding_table["22347"] = [202,174] let s:lib.Codec.encoding_table["22354"] = [202,175] let s:lib.Codec.encoding_table["22790"] = [202,176] let s:lib.Codec.encoding_table["22848"] = [202,177] let s:lib.Codec.encoding_table["22950"] = [202,178] let s:lib.Codec.encoding_table["22936"] = [202,179] let s:lib.Codec.encoding_table["22944"] = [202,180] let s:lib.Codec.encoding_table["22935"] = [202,181] let s:lib.Codec.encoding_table["22926"] = [202,182] let s:lib.Codec.encoding_table["22946"] = [202,183] let s:lib.Codec.encoding_table["22928"] = [202,184] let s:lib.Codec.encoding_table["22927"] = [202,185] let s:lib.Codec.encoding_table["22951"] = [202,186] let s:lib.Codec.encoding_table["22945"] = [202,187] let s:lib.Codec.encoding_table["23438"] = [202,188] let s:lib.Codec.encoding_table["23442"] = [202,189] let s:lib.Codec.encoding_table["23592"] = [202,190] let s:lib.Codec.encoding_table["23594"] = [202,191] let s:lib.Codec.encoding_table["23693"] = [202,192] let s:lib.Codec.encoding_table["23695"] = [202,193] let s:lib.Codec.encoding_table["23688"] = [202,194] let s:lib.Codec.encoding_table["23691"] = [202,195] let s:lib.Codec.encoding_table["23689"] = [202,196] let s:lib.Codec.encoding_table["23698"] = [202,197] let s:lib.Codec.encoding_table["23690"] = [202,198] let s:lib.Codec.encoding_table["23686"] = [202,199] let s:lib.Codec.encoding_table["23699"] = [202,200] let s:lib.Codec.encoding_table["23701"] = [202,201] let s:lib.Codec.encoding_table["24032"] = [202,202] let s:lib.Codec.encoding_table["24074"] = [202,203] let s:lib.Codec.encoding_table["24078"] = [202,204] let s:lib.Codec.encoding_table["24203"] = [202,205] let s:lib.Codec.encoding_table["24201"] = [202,206] let s:lib.Codec.encoding_table["24204"] = [202,207] let s:lib.Codec.encoding_table["24200"] = [202,208] let s:lib.Codec.encoding_table["24205"] = [202,209] let s:lib.Codec.encoding_table["24325"] = [202,210] let s:lib.Codec.encoding_table["24349"] = [202,211] let s:lib.Codec.encoding_table["24440"] = [202,212] let s:lib.Codec.encoding_table["24438"] = [202,213] let s:lib.Codec.encoding_table["24530"] = [202,214] let s:lib.Codec.encoding_table["24529"] = [202,215] let s:lib.Codec.encoding_table["24528"] = [202,216] let s:lib.Codec.encoding_table["24557"] = [202,217] let s:lib.Codec.encoding_table["24552"] = [202,218] let s:lib.Codec.encoding_table["24558"] = [202,219] let s:lib.Codec.encoding_table["24563"] = [202,220] let s:lib.Codec.encoding_table["24545"] = [202,221] let s:lib.Codec.encoding_table["24548"] = [202,222] let s:lib.Codec.encoding_table["24547"] = [202,223] let s:lib.Codec.encoding_table["24570"] = [202,224] let s:lib.Codec.encoding_table["24559"] = [202,225] let s:lib.Codec.encoding_table["24567"] = [202,226] let s:lib.Codec.encoding_table["24571"] = [202,227] let s:lib.Codec.encoding_table["24576"] = [202,228] let s:lib.Codec.encoding_table["24564"] = [202,229] let s:lib.Codec.encoding_table["25146"] = [202,230] let s:lib.Codec.encoding_table["25219"] = [202,231] let s:lib.Codec.encoding_table["25228"] = [202,232] let s:lib.Codec.encoding_table["25230"] = [202,233] let s:lib.Codec.encoding_table["25231"] = [202,234] let s:lib.Codec.encoding_table["25236"] = [202,235] let s:lib.Codec.encoding_table["25223"] = [202,236] let s:lib.Codec.encoding_table["25201"] = [202,237] let s:lib.Codec.encoding_table["25211"] = [202,238] let s:lib.Codec.encoding_table["25210"] = [202,239] let s:lib.Codec.encoding_table["25200"] = [202,240] let s:lib.Codec.encoding_table["25217"] = [202,241] let s:lib.Codec.encoding_table["25224"] = [202,242] let s:lib.Codec.encoding_table["25207"] = [202,243] let s:lib.Codec.encoding_table["25213"] = [202,244] let s:lib.Codec.encoding_table["25202"] = [202,245] let s:lib.Codec.encoding_table["25204"] = [202,246] let s:lib.Codec.encoding_table["25911"] = [202,247] let s:lib.Codec.encoding_table["26096"] = [202,248] let s:lib.Codec.encoding_table["26100"] = [202,249] let s:lib.Codec.encoding_table["26099"] = [202,250] let s:lib.Codec.encoding_table["26098"] = [202,251] let s:lib.Codec.encoding_table["26101"] = [202,252] let s:lib.Codec.encoding_table["26437"] = [202,253] let s:lib.Codec.encoding_table["26439"] = [202,254] let s:lib.Codec.encoding_table["26457"] = [203,64] let s:lib.Codec.encoding_table["26453"] = [203,65] let s:lib.Codec.encoding_table["26444"] = [203,66] let s:lib.Codec.encoding_table["26440"] = [203,67] let s:lib.Codec.encoding_table["26461"] = [203,68] let s:lib.Codec.encoding_table["26445"] = [203,69] let s:lib.Codec.encoding_table["26458"] = [203,70] let s:lib.Codec.encoding_table["26443"] = [203,71] let s:lib.Codec.encoding_table["27600"] = [203,72] let s:lib.Codec.encoding_table["27673"] = [203,73] let s:lib.Codec.encoding_table["27674"] = [203,74] let s:lib.Codec.encoding_table["27768"] = [203,75] let s:lib.Codec.encoding_table["27751"] = [203,76] let s:lib.Codec.encoding_table["27755"] = [203,77] let s:lib.Codec.encoding_table["27780"] = [203,78] let s:lib.Codec.encoding_table["27787"] = [203,79] let s:lib.Codec.encoding_table["27791"] = [203,80] let s:lib.Codec.encoding_table["27761"] = [203,81] let s:lib.Codec.encoding_table["27759"] = [203,82] let s:lib.Codec.encoding_table["27753"] = [203,83] let s:lib.Codec.encoding_table["27802"] = [203,84] let s:lib.Codec.encoding_table["27757"] = [203,85] let s:lib.Codec.encoding_table["27783"] = [203,86] let s:lib.Codec.encoding_table["27797"] = [203,87] let s:lib.Codec.encoding_table["27804"] = [203,88] let s:lib.Codec.encoding_table["27750"] = [203,89] let s:lib.Codec.encoding_table["27763"] = [203,90] let s:lib.Codec.encoding_table["27749"] = [203,91] let s:lib.Codec.encoding_table["27771"] = [203,92] let s:lib.Codec.encoding_table["27790"] = [203,93] let s:lib.Codec.encoding_table["28788"] = [203,94] let s:lib.Codec.encoding_table["28794"] = [203,95] let s:lib.Codec.encoding_table["29283"] = [203,96] let s:lib.Codec.encoding_table["29375"] = [203,97] let s:lib.Codec.encoding_table["29373"] = [203,98] let s:lib.Codec.encoding_table["29379"] = [203,99] let s:lib.Codec.encoding_table["29382"] = [203,100] let s:lib.Codec.encoding_table["29377"] = [203,101] let s:lib.Codec.encoding_table["29370"] = [203,102] let s:lib.Codec.encoding_table["29381"] = [203,103] let s:lib.Codec.encoding_table["29589"] = [203,104] let s:lib.Codec.encoding_table["29591"] = [203,105] let s:lib.Codec.encoding_table["29587"] = [203,106] let s:lib.Codec.encoding_table["29588"] = [203,107] let s:lib.Codec.encoding_table["29586"] = [203,108] let s:lib.Codec.encoding_table["30010"] = [203,109] let s:lib.Codec.encoding_table["30009"] = [203,110] let s:lib.Codec.encoding_table["30100"] = [203,111] let s:lib.Codec.encoding_table["30101"] = [203,112] let s:lib.Codec.encoding_table["30337"] = [203,113] let s:lib.Codec.encoding_table["31037"] = [203,114] let s:lib.Codec.encoding_table["32820"] = [203,115] let s:lib.Codec.encoding_table["32917"] = [203,116] let s:lib.Codec.encoding_table["32921"] = [203,117] let s:lib.Codec.encoding_table["32912"] = [203,118] let s:lib.Codec.encoding_table["32914"] = [203,119] let s:lib.Codec.encoding_table["32924"] = [203,120] let s:lib.Codec.encoding_table["33424"] = [203,121] let s:lib.Codec.encoding_table["33423"] = [203,122] let s:lib.Codec.encoding_table["33413"] = [203,123] let s:lib.Codec.encoding_table["33422"] = [203,124] let s:lib.Codec.encoding_table["33425"] = [203,125] let s:lib.Codec.encoding_table["33427"] = [203,126] let s:lib.Codec.encoding_table["33418"] = [203,161] let s:lib.Codec.encoding_table["33411"] = [203,162] let s:lib.Codec.encoding_table["33412"] = [203,163] let s:lib.Codec.encoding_table["35960"] = [203,164] let s:lib.Codec.encoding_table["36809"] = [203,165] let s:lib.Codec.encoding_table["36799"] = [203,166] let s:lib.Codec.encoding_table["37023"] = [203,167] let s:lib.Codec.encoding_table["37025"] = [203,168] let s:lib.Codec.encoding_table["37029"] = [203,169] let s:lib.Codec.encoding_table["37022"] = [203,170] let s:lib.Codec.encoding_table["37031"] = [203,171] let s:lib.Codec.encoding_table["37024"] = [203,172] let s:lib.Codec.encoding_table["38448"] = [203,173] let s:lib.Codec.encoding_table["38440"] = [203,174] let s:lib.Codec.encoding_table["38447"] = [203,175] let s:lib.Codec.encoding_table["38445"] = [203,176] let s:lib.Codec.encoding_table["20019"] = [203,177] let s:lib.Codec.encoding_table["20376"] = [203,178] let s:lib.Codec.encoding_table["20348"] = [203,179] let s:lib.Codec.encoding_table["20357"] = [203,180] let s:lib.Codec.encoding_table["20349"] = [203,181] let s:lib.Codec.encoding_table["20352"] = [203,182] let s:lib.Codec.encoding_table["20359"] = [203,183] let s:lib.Codec.encoding_table["20342"] = [203,184] let s:lib.Codec.encoding_table["20340"] = [203,185] let s:lib.Codec.encoding_table["20361"] = [203,186] let s:lib.Codec.encoding_table["20356"] = [203,187] let s:lib.Codec.encoding_table["20343"] = [203,188] let s:lib.Codec.encoding_table["20300"] = [203,189] let s:lib.Codec.encoding_table["20375"] = [203,190] let s:lib.Codec.encoding_table["20330"] = [203,191] let s:lib.Codec.encoding_table["20378"] = [203,192] let s:lib.Codec.encoding_table["20345"] = [203,193] let s:lib.Codec.encoding_table["20353"] = [203,194] let s:lib.Codec.encoding_table["20344"] = [203,195] let s:lib.Codec.encoding_table["20368"] = [203,196] let s:lib.Codec.encoding_table["20380"] = [203,197] let s:lib.Codec.encoding_table["20372"] = [203,198] let s:lib.Codec.encoding_table["20382"] = [203,199] let s:lib.Codec.encoding_table["20370"] = [203,200] let s:lib.Codec.encoding_table["20354"] = [203,201] let s:lib.Codec.encoding_table["20373"] = [203,202] let s:lib.Codec.encoding_table["20331"] = [203,203] let s:lib.Codec.encoding_table["20334"] = [203,204] let s:lib.Codec.encoding_table["20894"] = [203,205] let s:lib.Codec.encoding_table["20924"] = [203,206] let s:lib.Codec.encoding_table["20926"] = [203,207] let s:lib.Codec.encoding_table["21045"] = [203,208] let s:lib.Codec.encoding_table["21042"] = [203,209] let s:lib.Codec.encoding_table["21043"] = [203,210] let s:lib.Codec.encoding_table["21062"] = [203,211] let s:lib.Codec.encoding_table["21041"] = [203,212] let s:lib.Codec.encoding_table["21180"] = [203,213] let s:lib.Codec.encoding_table["21258"] = [203,214] let s:lib.Codec.encoding_table["21259"] = [203,215] let s:lib.Codec.encoding_table["21308"] = [203,216] let s:lib.Codec.encoding_table["21394"] = [203,217] let s:lib.Codec.encoding_table["21396"] = [203,218] let s:lib.Codec.encoding_table["21639"] = [203,219] let s:lib.Codec.encoding_table["21631"] = [203,220] let s:lib.Codec.encoding_table["21633"] = [203,221] let s:lib.Codec.encoding_table["21649"] = [203,222] let s:lib.Codec.encoding_table["21634"] = [203,223] let s:lib.Codec.encoding_table["21640"] = [203,224] let s:lib.Codec.encoding_table["21611"] = [203,225] let s:lib.Codec.encoding_table["21626"] = [203,226] let s:lib.Codec.encoding_table["21630"] = [203,227] let s:lib.Codec.encoding_table["21605"] = [203,228] let s:lib.Codec.encoding_table["21612"] = [203,229] let s:lib.Codec.encoding_table["21620"] = [203,230] let s:lib.Codec.encoding_table["21606"] = [203,231] let s:lib.Codec.encoding_table["21645"] = [203,232] let s:lib.Codec.encoding_table["21615"] = [203,233] let s:lib.Codec.encoding_table["21601"] = [203,234] let s:lib.Codec.encoding_table["21600"] = [203,235] let s:lib.Codec.encoding_table["21656"] = [203,236] let s:lib.Codec.encoding_table["21603"] = [203,237] let s:lib.Codec.encoding_table["21607"] = [203,238] let s:lib.Codec.encoding_table["21604"] = [203,239] let s:lib.Codec.encoding_table["22263"] = [203,240] let s:lib.Codec.encoding_table["22265"] = [203,241] let s:lib.Codec.encoding_table["22383"] = [203,242] let s:lib.Codec.encoding_table["22386"] = [203,243] let s:lib.Codec.encoding_table["22381"] = [203,244] let s:lib.Codec.encoding_table["22379"] = [203,245] let s:lib.Codec.encoding_table["22385"] = [203,246] let s:lib.Codec.encoding_table["22384"] = [203,247] let s:lib.Codec.encoding_table["22390"] = [203,248] let s:lib.Codec.encoding_table["22400"] = [203,249] let s:lib.Codec.encoding_table["22389"] = [203,250] let s:lib.Codec.encoding_table["22395"] = [203,251] let s:lib.Codec.encoding_table["22387"] = [203,252] let s:lib.Codec.encoding_table["22388"] = [203,253] let s:lib.Codec.encoding_table["22370"] = [203,254] let s:lib.Codec.encoding_table["22376"] = [204,64] let s:lib.Codec.encoding_table["22397"] = [204,65] let s:lib.Codec.encoding_table["22796"] = [204,66] let s:lib.Codec.encoding_table["22853"] = [204,67] let s:lib.Codec.encoding_table["22965"] = [204,68] let s:lib.Codec.encoding_table["22970"] = [204,69] let s:lib.Codec.encoding_table["22991"] = [204,70] let s:lib.Codec.encoding_table["22990"] = [204,71] let s:lib.Codec.encoding_table["22962"] = [204,72] let s:lib.Codec.encoding_table["22988"] = [204,73] let s:lib.Codec.encoding_table["22977"] = [204,74] let s:lib.Codec.encoding_table["22966"] = [204,75] let s:lib.Codec.encoding_table["22972"] = [204,76] let s:lib.Codec.encoding_table["22979"] = [204,77] let s:lib.Codec.encoding_table["22998"] = [204,78] let s:lib.Codec.encoding_table["22961"] = [204,79] let s:lib.Codec.encoding_table["22973"] = [204,80] let s:lib.Codec.encoding_table["22976"] = [204,81] let s:lib.Codec.encoding_table["22984"] = [204,82] let s:lib.Codec.encoding_table["22964"] = [204,83] let s:lib.Codec.encoding_table["22983"] = [204,84] let s:lib.Codec.encoding_table["23394"] = [204,85] let s:lib.Codec.encoding_table["23397"] = [204,86] let s:lib.Codec.encoding_table["23443"] = [204,87] let s:lib.Codec.encoding_table["23445"] = [204,88] let s:lib.Codec.encoding_table["23620"] = [204,89] let s:lib.Codec.encoding_table["23623"] = [204,90] let s:lib.Codec.encoding_table["23726"] = [204,91] let s:lib.Codec.encoding_table["23716"] = [204,92] let s:lib.Codec.encoding_table["23712"] = [204,93] let s:lib.Codec.encoding_table["23733"] = [204,94] let s:lib.Codec.encoding_table["23727"] = [204,95] let s:lib.Codec.encoding_table["23720"] = [204,96] let s:lib.Codec.encoding_table["23724"] = [204,97] let s:lib.Codec.encoding_table["23711"] = [204,98] let s:lib.Codec.encoding_table["23715"] = [204,99] let s:lib.Codec.encoding_table["23725"] = [204,100] let s:lib.Codec.encoding_table["23714"] = [204,101] let s:lib.Codec.encoding_table["23722"] = [204,102] let s:lib.Codec.encoding_table["23719"] = [204,103] let s:lib.Codec.encoding_table["23709"] = [204,104] let s:lib.Codec.encoding_table["23717"] = [204,105] let s:lib.Codec.encoding_table["23734"] = [204,106] let s:lib.Codec.encoding_table["23728"] = [204,107] let s:lib.Codec.encoding_table["23718"] = [204,108] let s:lib.Codec.encoding_table["24087"] = [204,109] let s:lib.Codec.encoding_table["24084"] = [204,110] let s:lib.Codec.encoding_table["24089"] = [204,111] let s:lib.Codec.encoding_table["24360"] = [204,112] let s:lib.Codec.encoding_table["24354"] = [204,113] let s:lib.Codec.encoding_table["24355"] = [204,114] let s:lib.Codec.encoding_table["24356"] = [204,115] let s:lib.Codec.encoding_table["24404"] = [204,116] let s:lib.Codec.encoding_table["24450"] = [204,117] let s:lib.Codec.encoding_table["24446"] = [204,118] let s:lib.Codec.encoding_table["24445"] = [204,119] let s:lib.Codec.encoding_table["24542"] = [204,120] let s:lib.Codec.encoding_table["24549"] = [204,121] let s:lib.Codec.encoding_table["24621"] = [204,122] let s:lib.Codec.encoding_table["24614"] = [204,123] let s:lib.Codec.encoding_table["24601"] = [204,124] let s:lib.Codec.encoding_table["24626"] = [204,125] let s:lib.Codec.encoding_table["24587"] = [204,126] let s:lib.Codec.encoding_table["24628"] = [204,161] let s:lib.Codec.encoding_table["24586"] = [204,162] let s:lib.Codec.encoding_table["24599"] = [204,163] let s:lib.Codec.encoding_table["24627"] = [204,164] let s:lib.Codec.encoding_table["24602"] = [204,165] let s:lib.Codec.encoding_table["24606"] = [204,166] let s:lib.Codec.encoding_table["24620"] = [204,167] let s:lib.Codec.encoding_table["24610"] = [204,168] let s:lib.Codec.encoding_table["24589"] = [204,169] let s:lib.Codec.encoding_table["24592"] = [204,170] let s:lib.Codec.encoding_table["24622"] = [204,171] let s:lib.Codec.encoding_table["24595"] = [204,172] let s:lib.Codec.encoding_table["24593"] = [204,173] let s:lib.Codec.encoding_table["24588"] = [204,174] let s:lib.Codec.encoding_table["24585"] = [204,175] let s:lib.Codec.encoding_table["24604"] = [204,176] let s:lib.Codec.encoding_table["25108"] = [204,177] let s:lib.Codec.encoding_table["25149"] = [204,178] let s:lib.Codec.encoding_table["25261"] = [204,179] let s:lib.Codec.encoding_table["25268"] = [204,180] let s:lib.Codec.encoding_table["25297"] = [204,181] let s:lib.Codec.encoding_table["25278"] = [204,182] let s:lib.Codec.encoding_table["25258"] = [204,183] let s:lib.Codec.encoding_table["25270"] = [204,184] let s:lib.Codec.encoding_table["25290"] = [204,185] let s:lib.Codec.encoding_table["25262"] = [204,186] let s:lib.Codec.encoding_table["25267"] = [204,187] let s:lib.Codec.encoding_table["25263"] = [204,188] let s:lib.Codec.encoding_table["25275"] = [204,189] let s:lib.Codec.encoding_table["25257"] = [204,190] let s:lib.Codec.encoding_table["25264"] = [204,191] let s:lib.Codec.encoding_table["25272"] = [204,192] let s:lib.Codec.encoding_table["25917"] = [204,193] let s:lib.Codec.encoding_table["26024"] = [204,194] let s:lib.Codec.encoding_table["26043"] = [204,195] let s:lib.Codec.encoding_table["26121"] = [204,196] let s:lib.Codec.encoding_table["26108"] = [204,197] let s:lib.Codec.encoding_table["26116"] = [204,198] let s:lib.Codec.encoding_table["26130"] = [204,199] let s:lib.Codec.encoding_table["26120"] = [204,200] let s:lib.Codec.encoding_table["26107"] = [204,201] let s:lib.Codec.encoding_table["26115"] = [204,202] let s:lib.Codec.encoding_table["26123"] = [204,203] let s:lib.Codec.encoding_table["26125"] = [204,204] let s:lib.Codec.encoding_table["26117"] = [204,205] let s:lib.Codec.encoding_table["26109"] = [204,206] let s:lib.Codec.encoding_table["26129"] = [204,207] let s:lib.Codec.encoding_table["26128"] = [204,208] let s:lib.Codec.encoding_table["26358"] = [204,209] let s:lib.Codec.encoding_table["26378"] = [204,210] let s:lib.Codec.encoding_table["26501"] = [204,211] let s:lib.Codec.encoding_table["26476"] = [204,212] let s:lib.Codec.encoding_table["26510"] = [204,213] let s:lib.Codec.encoding_table["26514"] = [204,214] let s:lib.Codec.encoding_table["26486"] = [204,215] let s:lib.Codec.encoding_table["26491"] = [204,216] let s:lib.Codec.encoding_table["26520"] = [204,217] let s:lib.Codec.encoding_table["26502"] = [204,218] let s:lib.Codec.encoding_table["26500"] = [204,219] let s:lib.Codec.encoding_table["26484"] = [204,220] let s:lib.Codec.encoding_table["26509"] = [204,221] let s:lib.Codec.encoding_table["26508"] = [204,222] let s:lib.Codec.encoding_table["26490"] = [204,223] let s:lib.Codec.encoding_table["26527"] = [204,224] let s:lib.Codec.encoding_table["26513"] = [204,225] let s:lib.Codec.encoding_table["26521"] = [204,226] let s:lib.Codec.encoding_table["26499"] = [204,227] let s:lib.Codec.encoding_table["26493"] = [204,228] let s:lib.Codec.encoding_table["26497"] = [204,229] let s:lib.Codec.encoding_table["26488"] = [204,230] let s:lib.Codec.encoding_table["26489"] = [204,231] let s:lib.Codec.encoding_table["26516"] = [204,232] let s:lib.Codec.encoding_table["27429"] = [204,233] let s:lib.Codec.encoding_table["27520"] = [204,234] let s:lib.Codec.encoding_table["27518"] = [204,235] let s:lib.Codec.encoding_table["27614"] = [204,236] let s:lib.Codec.encoding_table["27677"] = [204,237] let s:lib.Codec.encoding_table["27795"] = [204,238] let s:lib.Codec.encoding_table["27884"] = [204,239] let s:lib.Codec.encoding_table["27883"] = [204,240] let s:lib.Codec.encoding_table["27886"] = [204,241] let s:lib.Codec.encoding_table["27865"] = [204,242] let s:lib.Codec.encoding_table["27830"] = [204,243] let s:lib.Codec.encoding_table["27860"] = [204,244] let s:lib.Codec.encoding_table["27821"] = [204,245] let s:lib.Codec.encoding_table["27879"] = [204,246] let s:lib.Codec.encoding_table["27831"] = [204,247] let s:lib.Codec.encoding_table["27856"] = [204,248] let s:lib.Codec.encoding_table["27842"] = [204,249] let s:lib.Codec.encoding_table["27834"] = [204,250] let s:lib.Codec.encoding_table["27843"] = [204,251] let s:lib.Codec.encoding_table["27846"] = [204,252] let s:lib.Codec.encoding_table["27885"] = [204,253] let s:lib.Codec.encoding_table["27890"] = [204,254] let s:lib.Codec.encoding_table["27858"] = [205,64] let s:lib.Codec.encoding_table["27869"] = [205,65] let s:lib.Codec.encoding_table["27828"] = [205,66] let s:lib.Codec.encoding_table["27786"] = [205,67] let s:lib.Codec.encoding_table["27805"] = [205,68] let s:lib.Codec.encoding_table["27776"] = [205,69] let s:lib.Codec.encoding_table["27870"] = [205,70] let s:lib.Codec.encoding_table["27840"] = [205,71] let s:lib.Codec.encoding_table["27952"] = [205,72] let s:lib.Codec.encoding_table["27853"] = [205,73] let s:lib.Codec.encoding_table["27847"] = [205,74] let s:lib.Codec.encoding_table["27824"] = [205,75] let s:lib.Codec.encoding_table["27897"] = [205,76] let s:lib.Codec.encoding_table["27855"] = [205,77] let s:lib.Codec.encoding_table["27881"] = [205,78] let s:lib.Codec.encoding_table["27857"] = [205,79] let s:lib.Codec.encoding_table["28820"] = [205,80] let s:lib.Codec.encoding_table["28824"] = [205,81] let s:lib.Codec.encoding_table["28805"] = [205,82] let s:lib.Codec.encoding_table["28819"] = [205,83] let s:lib.Codec.encoding_table["28806"] = [205,84] let s:lib.Codec.encoding_table["28804"] = [205,85] let s:lib.Codec.encoding_table["28817"] = [205,86] let s:lib.Codec.encoding_table["28822"] = [205,87] let s:lib.Codec.encoding_table["28802"] = [205,88] let s:lib.Codec.encoding_table["28826"] = [205,89] let s:lib.Codec.encoding_table["28803"] = [205,90] let s:lib.Codec.encoding_table["29290"] = [205,91] let s:lib.Codec.encoding_table["29398"] = [205,92] let s:lib.Codec.encoding_table["29387"] = [205,93] let s:lib.Codec.encoding_table["29400"] = [205,94] let s:lib.Codec.encoding_table["29385"] = [205,95] let s:lib.Codec.encoding_table["29404"] = [205,96] let s:lib.Codec.encoding_table["29394"] = [205,97] let s:lib.Codec.encoding_table["29396"] = [205,98] let s:lib.Codec.encoding_table["29402"] = [205,99] let s:lib.Codec.encoding_table["29388"] = [205,100] let s:lib.Codec.encoding_table["29393"] = [205,101] let s:lib.Codec.encoding_table["29604"] = [205,102] let s:lib.Codec.encoding_table["29601"] = [205,103] let s:lib.Codec.encoding_table["29613"] = [205,104] let s:lib.Codec.encoding_table["29606"] = [205,105] let s:lib.Codec.encoding_table["29602"] = [205,106] let s:lib.Codec.encoding_table["29600"] = [205,107] let s:lib.Codec.encoding_table["29612"] = [205,108] let s:lib.Codec.encoding_table["29597"] = [205,109] let s:lib.Codec.encoding_table["29917"] = [205,110] let s:lib.Codec.encoding_table["29928"] = [205,111] let s:lib.Codec.encoding_table["30015"] = [205,112] let s:lib.Codec.encoding_table["30016"] = [205,113] let s:lib.Codec.encoding_table["30014"] = [205,114] let s:lib.Codec.encoding_table["30092"] = [205,115] let s:lib.Codec.encoding_table["30104"] = [205,116] let s:lib.Codec.encoding_table["30383"] = [205,117] let s:lib.Codec.encoding_table["30451"] = [205,118] let s:lib.Codec.encoding_table["30449"] = [205,119] let s:lib.Codec.encoding_table["30448"] = [205,120] let s:lib.Codec.encoding_table["30453"] = [205,121] let s:lib.Codec.encoding_table["30712"] = [205,122] let s:lib.Codec.encoding_table["30716"] = [205,123] let s:lib.Codec.encoding_table["30713"] = [205,124] let s:lib.Codec.encoding_table["30715"] = [205,125] let s:lib.Codec.encoding_table["30714"] = [205,126] let s:lib.Codec.encoding_table["30711"] = [205,161] let s:lib.Codec.encoding_table["31042"] = [205,162] let s:lib.Codec.encoding_table["31039"] = [205,163] let s:lib.Codec.encoding_table["31173"] = [205,164] let s:lib.Codec.encoding_table["31352"] = [205,165] let s:lib.Codec.encoding_table["31355"] = [205,166] let s:lib.Codec.encoding_table["31483"] = [205,167] let s:lib.Codec.encoding_table["31861"] = [205,168] let s:lib.Codec.encoding_table["31997"] = [205,169] let s:lib.Codec.encoding_table["32821"] = [205,170] let s:lib.Codec.encoding_table["32911"] = [205,171] let s:lib.Codec.encoding_table["32942"] = [205,172] let s:lib.Codec.encoding_table["32931"] = [205,173] let s:lib.Codec.encoding_table["32952"] = [205,174] let s:lib.Codec.encoding_table["32949"] = [205,175] let s:lib.Codec.encoding_table["32941"] = [205,176] let s:lib.Codec.encoding_table["33312"] = [205,177] let s:lib.Codec.encoding_table["33440"] = [205,178] let s:lib.Codec.encoding_table["33472"] = [205,179] let s:lib.Codec.encoding_table["33451"] = [205,180] let s:lib.Codec.encoding_table["33434"] = [205,181] let s:lib.Codec.encoding_table["33432"] = [205,182] let s:lib.Codec.encoding_table["33435"] = [205,183] let s:lib.Codec.encoding_table["33461"] = [205,184] let s:lib.Codec.encoding_table["33447"] = [205,185] let s:lib.Codec.encoding_table["33454"] = [205,186] let s:lib.Codec.encoding_table["33468"] = [205,187] let s:lib.Codec.encoding_table["33438"] = [205,188] let s:lib.Codec.encoding_table["33466"] = [205,189] let s:lib.Codec.encoding_table["33460"] = [205,190] let s:lib.Codec.encoding_table["33448"] = [205,191] let s:lib.Codec.encoding_table["33441"] = [205,192] let s:lib.Codec.encoding_table["33449"] = [205,193] let s:lib.Codec.encoding_table["33474"] = [205,194] let s:lib.Codec.encoding_table["33444"] = [205,195] let s:lib.Codec.encoding_table["33475"] = [205,196] let s:lib.Codec.encoding_table["33462"] = [205,197] let s:lib.Codec.encoding_table["33442"] = [205,198] let s:lib.Codec.encoding_table["34416"] = [205,199] let s:lib.Codec.encoding_table["34415"] = [205,200] let s:lib.Codec.encoding_table["34413"] = [205,201] let s:lib.Codec.encoding_table["34414"] = [205,202] let s:lib.Codec.encoding_table["35926"] = [205,203] let s:lib.Codec.encoding_table["36818"] = [205,204] let s:lib.Codec.encoding_table["36811"] = [205,205] let s:lib.Codec.encoding_table["36819"] = [205,206] let s:lib.Codec.encoding_table["36813"] = [205,207] let s:lib.Codec.encoding_table["36822"] = [205,208] let s:lib.Codec.encoding_table["36821"] = [205,209] let s:lib.Codec.encoding_table["36823"] = [205,210] let s:lib.Codec.encoding_table["37042"] = [205,211] let s:lib.Codec.encoding_table["37044"] = [205,212] let s:lib.Codec.encoding_table["37039"] = [205,213] let s:lib.Codec.encoding_table["37043"] = [205,214] let s:lib.Codec.encoding_table["37040"] = [205,215] let s:lib.Codec.encoding_table["38457"] = [205,216] let s:lib.Codec.encoding_table["38461"] = [205,217] let s:lib.Codec.encoding_table["38460"] = [205,218] let s:lib.Codec.encoding_table["38458"] = [205,219] let s:lib.Codec.encoding_table["38467"] = [205,220] let s:lib.Codec.encoding_table["20429"] = [205,221] let s:lib.Codec.encoding_table["20421"] = [205,222] let s:lib.Codec.encoding_table["20435"] = [205,223] let s:lib.Codec.encoding_table["20402"] = [205,224] let s:lib.Codec.encoding_table["20425"] = [205,225] let s:lib.Codec.encoding_table["20427"] = [205,226] let s:lib.Codec.encoding_table["20417"] = [205,227] let s:lib.Codec.encoding_table["20436"] = [205,228] let s:lib.Codec.encoding_table["20444"] = [205,229] let s:lib.Codec.encoding_table["20441"] = [205,230] let s:lib.Codec.encoding_table["20411"] = [205,231] let s:lib.Codec.encoding_table["20403"] = [205,232] let s:lib.Codec.encoding_table["20443"] = [205,233] let s:lib.Codec.encoding_table["20423"] = [205,234] let s:lib.Codec.encoding_table["20438"] = [205,235] let s:lib.Codec.encoding_table["20410"] = [205,236] let s:lib.Codec.encoding_table["20416"] = [205,237] let s:lib.Codec.encoding_table["20409"] = [205,238] let s:lib.Codec.encoding_table["20460"] = [205,239] let s:lib.Codec.encoding_table["21060"] = [205,240] let s:lib.Codec.encoding_table["21065"] = [205,241] let s:lib.Codec.encoding_table["21184"] = [205,242] let s:lib.Codec.encoding_table["21186"] = [205,243] let s:lib.Codec.encoding_table["21309"] = [205,244] let s:lib.Codec.encoding_table["21372"] = [205,245] let s:lib.Codec.encoding_table["21399"] = [205,246] let s:lib.Codec.encoding_table["21398"] = [205,247] let s:lib.Codec.encoding_table["21401"] = [205,248] let s:lib.Codec.encoding_table["21400"] = [205,249] let s:lib.Codec.encoding_table["21690"] = [205,250] let s:lib.Codec.encoding_table["21665"] = [205,251] let s:lib.Codec.encoding_table["21677"] = [205,252] let s:lib.Codec.encoding_table["21669"] = [205,253] let s:lib.Codec.encoding_table["21711"] = [205,254] let s:lib.Codec.encoding_table["21699"] = [206,64] let s:lib.Codec.encoding_table["33549"] = [206,65] let s:lib.Codec.encoding_table["21687"] = [206,66] let s:lib.Codec.encoding_table["21678"] = [206,67] let s:lib.Codec.encoding_table["21718"] = [206,68] let s:lib.Codec.encoding_table["21686"] = [206,69] let s:lib.Codec.encoding_table["21701"] = [206,70] let s:lib.Codec.encoding_table["21702"] = [206,71] let s:lib.Codec.encoding_table["21664"] = [206,72] let s:lib.Codec.encoding_table["21616"] = [206,73] let s:lib.Codec.encoding_table["21692"] = [206,74] let s:lib.Codec.encoding_table["21666"] = [206,75] let s:lib.Codec.encoding_table["21694"] = [206,76] let s:lib.Codec.encoding_table["21618"] = [206,77] let s:lib.Codec.encoding_table["21726"] = [206,78] let s:lib.Codec.encoding_table["21680"] = [206,79] let s:lib.Codec.encoding_table["22453"] = [206,80] let s:lib.Codec.encoding_table["22430"] = [206,81] let s:lib.Codec.encoding_table["22431"] = [206,82] let s:lib.Codec.encoding_table["22436"] = [206,83] let s:lib.Codec.encoding_table["22412"] = [206,84] let s:lib.Codec.encoding_table["22423"] = [206,85] let s:lib.Codec.encoding_table["22429"] = [206,86] let s:lib.Codec.encoding_table["22427"] = [206,87] let s:lib.Codec.encoding_table["22420"] = [206,88] let s:lib.Codec.encoding_table["22424"] = [206,89] let s:lib.Codec.encoding_table["22415"] = [206,90] let s:lib.Codec.encoding_table["22425"] = [206,91] let s:lib.Codec.encoding_table["22437"] = [206,92] let s:lib.Codec.encoding_table["22426"] = [206,93] let s:lib.Codec.encoding_table["22421"] = [206,94] let s:lib.Codec.encoding_table["22772"] = [206,95] let s:lib.Codec.encoding_table["22797"] = [206,96] let s:lib.Codec.encoding_table["22867"] = [206,97] let s:lib.Codec.encoding_table["23009"] = [206,98] let s:lib.Codec.encoding_table["23006"] = [206,99] let s:lib.Codec.encoding_table["23022"] = [206,100] let s:lib.Codec.encoding_table["23040"] = [206,101] let s:lib.Codec.encoding_table["23025"] = [206,102] let s:lib.Codec.encoding_table["23005"] = [206,103] let s:lib.Codec.encoding_table["23034"] = [206,104] let s:lib.Codec.encoding_table["23037"] = [206,105] let s:lib.Codec.encoding_table["23036"] = [206,106] let s:lib.Codec.encoding_table["23030"] = [206,107] let s:lib.Codec.encoding_table["23012"] = [206,108] let s:lib.Codec.encoding_table["23026"] = [206,109] let s:lib.Codec.encoding_table["23031"] = [206,110] let s:lib.Codec.encoding_table["23003"] = [206,111] let s:lib.Codec.encoding_table["23017"] = [206,112] let s:lib.Codec.encoding_table["23027"] = [206,113] let s:lib.Codec.encoding_table["23029"] = [206,114] let s:lib.Codec.encoding_table["23008"] = [206,115] let s:lib.Codec.encoding_table["23038"] = [206,116] let s:lib.Codec.encoding_table["23028"] = [206,117] let s:lib.Codec.encoding_table["23021"] = [206,118] let s:lib.Codec.encoding_table["23464"] = [206,119] let s:lib.Codec.encoding_table["23628"] = [206,120] let s:lib.Codec.encoding_table["23760"] = [206,121] let s:lib.Codec.encoding_table["23768"] = [206,122] let s:lib.Codec.encoding_table["23756"] = [206,123] let s:lib.Codec.encoding_table["23767"] = [206,124] let s:lib.Codec.encoding_table["23755"] = [206,125] let s:lib.Codec.encoding_table["23771"] = [206,126] let s:lib.Codec.encoding_table["23774"] = [206,161] let s:lib.Codec.encoding_table["23770"] = [206,162] let s:lib.Codec.encoding_table["23753"] = [206,163] let s:lib.Codec.encoding_table["23751"] = [206,164] let s:lib.Codec.encoding_table["23754"] = [206,165] let s:lib.Codec.encoding_table["23766"] = [206,166] let s:lib.Codec.encoding_table["23763"] = [206,167] let s:lib.Codec.encoding_table["23764"] = [206,168] let s:lib.Codec.encoding_table["23759"] = [206,169] let s:lib.Codec.encoding_table["23752"] = [206,170] let s:lib.Codec.encoding_table["23750"] = [206,171] let s:lib.Codec.encoding_table["23758"] = [206,172] let s:lib.Codec.encoding_table["23775"] = [206,173] let s:lib.Codec.encoding_table["23800"] = [206,174] let s:lib.Codec.encoding_table["24057"] = [206,175] let s:lib.Codec.encoding_table["24097"] = [206,176] let s:lib.Codec.encoding_table["24098"] = [206,177] let s:lib.Codec.encoding_table["24099"] = [206,178] let s:lib.Codec.encoding_table["24096"] = [206,179] let s:lib.Codec.encoding_table["24100"] = [206,180] let s:lib.Codec.encoding_table["24240"] = [206,181] let s:lib.Codec.encoding_table["24228"] = [206,182] let s:lib.Codec.encoding_table["24226"] = [206,183] let s:lib.Codec.encoding_table["24219"] = [206,184] let s:lib.Codec.encoding_table["24227"] = [206,185] let s:lib.Codec.encoding_table["24229"] = [206,186] let s:lib.Codec.encoding_table["24327"] = [206,187] let s:lib.Codec.encoding_table["24366"] = [206,188] let s:lib.Codec.encoding_table["24406"] = [206,189] let s:lib.Codec.encoding_table["24454"] = [206,190] let s:lib.Codec.encoding_table["24631"] = [206,191] let s:lib.Codec.encoding_table["24633"] = [206,192] let s:lib.Codec.encoding_table["24660"] = [206,193] let s:lib.Codec.encoding_table["24690"] = [206,194] let s:lib.Codec.encoding_table["24670"] = [206,195] let s:lib.Codec.encoding_table["24645"] = [206,196] let s:lib.Codec.encoding_table["24659"] = [206,197] let s:lib.Codec.encoding_table["24647"] = [206,198] let s:lib.Codec.encoding_table["24649"] = [206,199] let s:lib.Codec.encoding_table["24667"] = [206,200] let s:lib.Codec.encoding_table["24652"] = [206,201] let s:lib.Codec.encoding_table["24640"] = [206,202] let s:lib.Codec.encoding_table["24642"] = [206,203] let s:lib.Codec.encoding_table["24671"] = [206,204] let s:lib.Codec.encoding_table["24612"] = [206,205] let s:lib.Codec.encoding_table["24644"] = [206,206] let s:lib.Codec.encoding_table["24664"] = [206,207] let s:lib.Codec.encoding_table["24678"] = [206,208] let s:lib.Codec.encoding_table["24686"] = [206,209] let s:lib.Codec.encoding_table["25154"] = [206,210] let s:lib.Codec.encoding_table["25155"] = [206,211] let s:lib.Codec.encoding_table["25295"] = [206,212] let s:lib.Codec.encoding_table["25357"] = [206,213] let s:lib.Codec.encoding_table["25355"] = [206,214] let s:lib.Codec.encoding_table["25333"] = [206,215] let s:lib.Codec.encoding_table["25358"] = [206,216] let s:lib.Codec.encoding_table["25347"] = [206,217] let s:lib.Codec.encoding_table["25323"] = [206,218] let s:lib.Codec.encoding_table["25337"] = [206,219] let s:lib.Codec.encoding_table["25359"] = [206,220] let s:lib.Codec.encoding_table["25356"] = [206,221] let s:lib.Codec.encoding_table["25336"] = [206,222] let s:lib.Codec.encoding_table["25334"] = [206,223] let s:lib.Codec.encoding_table["25344"] = [206,224] let s:lib.Codec.encoding_table["25363"] = [206,225] let s:lib.Codec.encoding_table["25364"] = [206,226] let s:lib.Codec.encoding_table["25338"] = [206,227] let s:lib.Codec.encoding_table["25365"] = [206,228] let s:lib.Codec.encoding_table["25339"] = [206,229] let s:lib.Codec.encoding_table["25328"] = [206,230] let s:lib.Codec.encoding_table["25921"] = [206,231] let s:lib.Codec.encoding_table["25923"] = [206,232] let s:lib.Codec.encoding_table["26026"] = [206,233] let s:lib.Codec.encoding_table["26047"] = [206,234] let s:lib.Codec.encoding_table["26166"] = [206,235] let s:lib.Codec.encoding_table["26145"] = [206,236] let s:lib.Codec.encoding_table["26162"] = [206,237] let s:lib.Codec.encoding_table["26165"] = [206,238] let s:lib.Codec.encoding_table["26140"] = [206,239] let s:lib.Codec.encoding_table["26150"] = [206,240] let s:lib.Codec.encoding_table["26146"] = [206,241] let s:lib.Codec.encoding_table["26163"] = [206,242] let s:lib.Codec.encoding_table["26155"] = [206,243] let s:lib.Codec.encoding_table["26170"] = [206,244] let s:lib.Codec.encoding_table["26141"] = [206,245] let s:lib.Codec.encoding_table["26164"] = [206,246] let s:lib.Codec.encoding_table["26169"] = [206,247] let s:lib.Codec.encoding_table["26158"] = [206,248] let s:lib.Codec.encoding_table["26383"] = [206,249] let s:lib.Codec.encoding_table["26384"] = [206,250] let s:lib.Codec.encoding_table["26561"] = [206,251] let s:lib.Codec.encoding_table["26610"] = [206,252] let s:lib.Codec.encoding_table["26568"] = [206,253] let s:lib.Codec.encoding_table["26554"] = [206,254] let s:lib.Codec.encoding_table["26588"] = [207,64] let s:lib.Codec.encoding_table["26555"] = [207,65] let s:lib.Codec.encoding_table["26616"] = [207,66] let s:lib.Codec.encoding_table["26584"] = [207,67] let s:lib.Codec.encoding_table["26560"] = [207,68] let s:lib.Codec.encoding_table["26551"] = [207,69] let s:lib.Codec.encoding_table["26565"] = [207,70] let s:lib.Codec.encoding_table["26603"] = [207,71] let s:lib.Codec.encoding_table["26596"] = [207,72] let s:lib.Codec.encoding_table["26591"] = [207,73] let s:lib.Codec.encoding_table["26549"] = [207,74] let s:lib.Codec.encoding_table["26573"] = [207,75] let s:lib.Codec.encoding_table["26547"] = [207,76] let s:lib.Codec.encoding_table["26615"] = [207,77] let s:lib.Codec.encoding_table["26614"] = [207,78] let s:lib.Codec.encoding_table["26606"] = [207,79] let s:lib.Codec.encoding_table["26595"] = [207,80] let s:lib.Codec.encoding_table["26562"] = [207,81] let s:lib.Codec.encoding_table["26553"] = [207,82] let s:lib.Codec.encoding_table["26574"] = [207,83] let s:lib.Codec.encoding_table["26599"] = [207,84] let s:lib.Codec.encoding_table["26608"] = [207,85] let s:lib.Codec.encoding_table["26546"] = [207,86] let s:lib.Codec.encoding_table["26620"] = [207,87] let s:lib.Codec.encoding_table["26566"] = [207,88] let s:lib.Codec.encoding_table["26605"] = [207,89] let s:lib.Codec.encoding_table["26572"] = [207,90] let s:lib.Codec.encoding_table["26542"] = [207,91] let s:lib.Codec.encoding_table["26598"] = [207,92] let s:lib.Codec.encoding_table["26587"] = [207,93] let s:lib.Codec.encoding_table["26618"] = [207,94] let s:lib.Codec.encoding_table["26569"] = [207,95] let s:lib.Codec.encoding_table["26570"] = [207,96] let s:lib.Codec.encoding_table["26563"] = [207,97] let s:lib.Codec.encoding_table["26602"] = [207,98] let s:lib.Codec.encoding_table["26571"] = [207,99] let s:lib.Codec.encoding_table["27432"] = [207,100] let s:lib.Codec.encoding_table["27522"] = [207,101] let s:lib.Codec.encoding_table["27524"] = [207,102] let s:lib.Codec.encoding_table["27574"] = [207,103] let s:lib.Codec.encoding_table["27606"] = [207,104] let s:lib.Codec.encoding_table["27608"] = [207,105] let s:lib.Codec.encoding_table["27616"] = [207,106] let s:lib.Codec.encoding_table["27680"] = [207,107] let s:lib.Codec.encoding_table["27681"] = [207,108] let s:lib.Codec.encoding_table["27944"] = [207,109] let s:lib.Codec.encoding_table["27956"] = [207,110] let s:lib.Codec.encoding_table["27949"] = [207,111] let s:lib.Codec.encoding_table["27935"] = [207,112] let s:lib.Codec.encoding_table["27964"] = [207,113] let s:lib.Codec.encoding_table["27967"] = [207,114] let s:lib.Codec.encoding_table["27922"] = [207,115] let s:lib.Codec.encoding_table["27914"] = [207,116] let s:lib.Codec.encoding_table["27866"] = [207,117] let s:lib.Codec.encoding_table["27955"] = [207,118] let s:lib.Codec.encoding_table["27908"] = [207,119] let s:lib.Codec.encoding_table["27929"] = [207,120] let s:lib.Codec.encoding_table["27962"] = [207,121] let s:lib.Codec.encoding_table["27930"] = [207,122] let s:lib.Codec.encoding_table["27921"] = [207,123] let s:lib.Codec.encoding_table["27904"] = [207,124] let s:lib.Codec.encoding_table["27933"] = [207,125] let s:lib.Codec.encoding_table["27970"] = [207,126] let s:lib.Codec.encoding_table["27905"] = [207,161] let s:lib.Codec.encoding_table["27928"] = [207,162] let s:lib.Codec.encoding_table["27959"] = [207,163] let s:lib.Codec.encoding_table["27907"] = [207,164] let s:lib.Codec.encoding_table["27919"] = [207,165] let s:lib.Codec.encoding_table["27968"] = [207,166] let s:lib.Codec.encoding_table["27911"] = [207,167] let s:lib.Codec.encoding_table["27936"] = [207,168] let s:lib.Codec.encoding_table["27948"] = [207,169] let s:lib.Codec.encoding_table["27912"] = [207,170] let s:lib.Codec.encoding_table["27938"] = [207,171] let s:lib.Codec.encoding_table["27913"] = [207,172] let s:lib.Codec.encoding_table["27920"] = [207,173] let s:lib.Codec.encoding_table["28855"] = [207,174] let s:lib.Codec.encoding_table["28831"] = [207,175] let s:lib.Codec.encoding_table["28862"] = [207,176] let s:lib.Codec.encoding_table["28849"] = [207,177] let s:lib.Codec.encoding_table["28848"] = [207,178] let s:lib.Codec.encoding_table["28833"] = [207,179] let s:lib.Codec.encoding_table["28852"] = [207,180] let s:lib.Codec.encoding_table["28853"] = [207,181] let s:lib.Codec.encoding_table["28841"] = [207,182] let s:lib.Codec.encoding_table["29249"] = [207,183] let s:lib.Codec.encoding_table["29257"] = [207,184] let s:lib.Codec.encoding_table["29258"] = [207,185] let s:lib.Codec.encoding_table["29292"] = [207,186] let s:lib.Codec.encoding_table["29296"] = [207,187] let s:lib.Codec.encoding_table["29299"] = [207,188] let s:lib.Codec.encoding_table["29294"] = [207,189] let s:lib.Codec.encoding_table["29386"] = [207,190] let s:lib.Codec.encoding_table["29412"] = [207,191] let s:lib.Codec.encoding_table["29416"] = [207,192] let s:lib.Codec.encoding_table["29419"] = [207,193] let s:lib.Codec.encoding_table["29407"] = [207,194] let s:lib.Codec.encoding_table["29418"] = [207,195] let s:lib.Codec.encoding_table["29414"] = [207,196] let s:lib.Codec.encoding_table["29411"] = [207,197] let s:lib.Codec.encoding_table["29573"] = [207,198] let s:lib.Codec.encoding_table["29644"] = [207,199] let s:lib.Codec.encoding_table["29634"] = [207,200] let s:lib.Codec.encoding_table["29640"] = [207,201] let s:lib.Codec.encoding_table["29637"] = [207,202] let s:lib.Codec.encoding_table["29625"] = [207,203] let s:lib.Codec.encoding_table["29622"] = [207,204] let s:lib.Codec.encoding_table["29621"] = [207,205] let s:lib.Codec.encoding_table["29620"] = [207,206] let s:lib.Codec.encoding_table["29675"] = [207,207] let s:lib.Codec.encoding_table["29631"] = [207,208] let s:lib.Codec.encoding_table["29639"] = [207,209] let s:lib.Codec.encoding_table["29630"] = [207,210] let s:lib.Codec.encoding_table["29635"] = [207,211] let s:lib.Codec.encoding_table["29638"] = [207,212] let s:lib.Codec.encoding_table["29624"] = [207,213] let s:lib.Codec.encoding_table["29643"] = [207,214] let s:lib.Codec.encoding_table["29932"] = [207,215] let s:lib.Codec.encoding_table["29934"] = [207,216] let s:lib.Codec.encoding_table["29998"] = [207,217] let s:lib.Codec.encoding_table["30023"] = [207,218] let s:lib.Codec.encoding_table["30024"] = [207,219] let s:lib.Codec.encoding_table["30119"] = [207,220] let s:lib.Codec.encoding_table["30122"] = [207,221] let s:lib.Codec.encoding_table["30329"] = [207,222] let s:lib.Codec.encoding_table["30404"] = [207,223] let s:lib.Codec.encoding_table["30472"] = [207,224] let s:lib.Codec.encoding_table["30467"] = [207,225] let s:lib.Codec.encoding_table["30468"] = [207,226] let s:lib.Codec.encoding_table["30469"] = [207,227] let s:lib.Codec.encoding_table["30474"] = [207,228] let s:lib.Codec.encoding_table["30455"] = [207,229] let s:lib.Codec.encoding_table["30459"] = [207,230] let s:lib.Codec.encoding_table["30458"] = [207,231] let s:lib.Codec.encoding_table["30695"] = [207,232] let s:lib.Codec.encoding_table["30696"] = [207,233] let s:lib.Codec.encoding_table["30726"] = [207,234] let s:lib.Codec.encoding_table["30737"] = [207,235] let s:lib.Codec.encoding_table["30738"] = [207,236] let s:lib.Codec.encoding_table["30725"] = [207,237] let s:lib.Codec.encoding_table["30736"] = [207,238] let s:lib.Codec.encoding_table["30735"] = [207,239] let s:lib.Codec.encoding_table["30734"] = [207,240] let s:lib.Codec.encoding_table["30729"] = [207,241] let s:lib.Codec.encoding_table["30723"] = [207,242] let s:lib.Codec.encoding_table["30739"] = [207,243] let s:lib.Codec.encoding_table["31050"] = [207,244] let s:lib.Codec.encoding_table["31052"] = [207,245] let s:lib.Codec.encoding_table["31051"] = [207,246] let s:lib.Codec.encoding_table["31045"] = [207,247] let s:lib.Codec.encoding_table["31044"] = [207,248] let s:lib.Codec.encoding_table["31189"] = [207,249] let s:lib.Codec.encoding_table["31181"] = [207,250] let s:lib.Codec.encoding_table["31183"] = [207,251] let s:lib.Codec.encoding_table["31190"] = [207,252] let s:lib.Codec.encoding_table["31182"] = [207,253] let s:lib.Codec.encoding_table["31360"] = [207,254] let s:lib.Codec.encoding_table["31358"] = [208,64] let s:lib.Codec.encoding_table["31441"] = [208,65] let s:lib.Codec.encoding_table["31488"] = [208,66] let s:lib.Codec.encoding_table["31489"] = [208,67] let s:lib.Codec.encoding_table["31866"] = [208,68] let s:lib.Codec.encoding_table["31864"] = [208,69] let s:lib.Codec.encoding_table["31865"] = [208,70] let s:lib.Codec.encoding_table["31871"] = [208,71] let s:lib.Codec.encoding_table["31872"] = [208,72] let s:lib.Codec.encoding_table["31873"] = [208,73] let s:lib.Codec.encoding_table["32003"] = [208,74] let s:lib.Codec.encoding_table["32008"] = [208,75] let s:lib.Codec.encoding_table["32001"] = [208,76] let s:lib.Codec.encoding_table["32600"] = [208,77] let s:lib.Codec.encoding_table["32657"] = [208,78] let s:lib.Codec.encoding_table["32653"] = [208,79] let s:lib.Codec.encoding_table["32702"] = [208,80] let s:lib.Codec.encoding_table["32775"] = [208,81] let s:lib.Codec.encoding_table["32782"] = [208,82] let s:lib.Codec.encoding_table["32783"] = [208,83] let s:lib.Codec.encoding_table["32788"] = [208,84] let s:lib.Codec.encoding_table["32823"] = [208,85] let s:lib.Codec.encoding_table["32984"] = [208,86] let s:lib.Codec.encoding_table["32967"] = [208,87] let s:lib.Codec.encoding_table["32992"] = [208,88] let s:lib.Codec.encoding_table["32977"] = [208,89] let s:lib.Codec.encoding_table["32968"] = [208,90] let s:lib.Codec.encoding_table["32962"] = [208,91] let s:lib.Codec.encoding_table["32976"] = [208,92] let s:lib.Codec.encoding_table["32965"] = [208,93] let s:lib.Codec.encoding_table["32995"] = [208,94] let s:lib.Codec.encoding_table["32985"] = [208,95] let s:lib.Codec.encoding_table["32988"] = [208,96] let s:lib.Codec.encoding_table["32970"] = [208,97] let s:lib.Codec.encoding_table["32981"] = [208,98] let s:lib.Codec.encoding_table["32969"] = [208,99] let s:lib.Codec.encoding_table["32975"] = [208,100] let s:lib.Codec.encoding_table["32983"] = [208,101] let s:lib.Codec.encoding_table["32998"] = [208,102] let s:lib.Codec.encoding_table["32973"] = [208,103] let s:lib.Codec.encoding_table["33279"] = [208,104] let s:lib.Codec.encoding_table["33313"] = [208,105] let s:lib.Codec.encoding_table["33428"] = [208,106] let s:lib.Codec.encoding_table["33497"] = [208,107] let s:lib.Codec.encoding_table["33534"] = [208,108] let s:lib.Codec.encoding_table["33529"] = [208,109] let s:lib.Codec.encoding_table["33543"] = [208,110] let s:lib.Codec.encoding_table["33512"] = [208,111] let s:lib.Codec.encoding_table["33536"] = [208,112] let s:lib.Codec.encoding_table["33493"] = [208,113] let s:lib.Codec.encoding_table["33594"] = [208,114] let s:lib.Codec.encoding_table["33515"] = [208,115] let s:lib.Codec.encoding_table["33494"] = [208,116] let s:lib.Codec.encoding_table["33524"] = [208,117] let s:lib.Codec.encoding_table["33516"] = [208,118] let s:lib.Codec.encoding_table["33505"] = [208,119] let s:lib.Codec.encoding_table["33522"] = [208,120] let s:lib.Codec.encoding_table["33525"] = [208,121] let s:lib.Codec.encoding_table["33548"] = [208,122] let s:lib.Codec.encoding_table["33531"] = [208,123] let s:lib.Codec.encoding_table["33526"] = [208,124] let s:lib.Codec.encoding_table["33520"] = [208,125] let s:lib.Codec.encoding_table["33514"] = [208,126] let s:lib.Codec.encoding_table["33508"] = [208,161] let s:lib.Codec.encoding_table["33504"] = [208,162] let s:lib.Codec.encoding_table["33530"] = [208,163] let s:lib.Codec.encoding_table["33523"] = [208,164] let s:lib.Codec.encoding_table["33517"] = [208,165] let s:lib.Codec.encoding_table["34423"] = [208,166] let s:lib.Codec.encoding_table["34420"] = [208,167] let s:lib.Codec.encoding_table["34428"] = [208,168] let s:lib.Codec.encoding_table["34419"] = [208,169] let s:lib.Codec.encoding_table["34881"] = [208,170] let s:lib.Codec.encoding_table["34894"] = [208,171] let s:lib.Codec.encoding_table["34919"] = [208,172] let s:lib.Codec.encoding_table["34922"] = [208,173] let s:lib.Codec.encoding_table["34921"] = [208,174] let s:lib.Codec.encoding_table["35283"] = [208,175] let s:lib.Codec.encoding_table["35332"] = [208,176] let s:lib.Codec.encoding_table["35335"] = [208,177] let s:lib.Codec.encoding_table["36210"] = [208,178] let s:lib.Codec.encoding_table["36835"] = [208,179] let s:lib.Codec.encoding_table["36833"] = [208,180] let s:lib.Codec.encoding_table["36846"] = [208,181] let s:lib.Codec.encoding_table["36832"] = [208,182] let s:lib.Codec.encoding_table["37105"] = [208,183] let s:lib.Codec.encoding_table["37053"] = [208,184] let s:lib.Codec.encoding_table["37055"] = [208,185] let s:lib.Codec.encoding_table["37077"] = [208,186] let s:lib.Codec.encoding_table["37061"] = [208,187] let s:lib.Codec.encoding_table["37054"] = [208,188] let s:lib.Codec.encoding_table["37063"] = [208,189] let s:lib.Codec.encoding_table["37067"] = [208,190] let s:lib.Codec.encoding_table["37064"] = [208,191] let s:lib.Codec.encoding_table["37332"] = [208,192] let s:lib.Codec.encoding_table["37331"] = [208,193] let s:lib.Codec.encoding_table["38484"] = [208,194] let s:lib.Codec.encoding_table["38479"] = [208,195] let s:lib.Codec.encoding_table["38481"] = [208,196] let s:lib.Codec.encoding_table["38483"] = [208,197] let s:lib.Codec.encoding_table["38474"] = [208,198] let s:lib.Codec.encoding_table["38478"] = [208,199] let s:lib.Codec.encoding_table["20510"] = [208,200] let s:lib.Codec.encoding_table["20485"] = [208,201] let s:lib.Codec.encoding_table["20487"] = [208,202] let s:lib.Codec.encoding_table["20499"] = [208,203] let s:lib.Codec.encoding_table["20514"] = [208,204] let s:lib.Codec.encoding_table["20528"] = [208,205] let s:lib.Codec.encoding_table["20507"] = [208,206] let s:lib.Codec.encoding_table["20469"] = [208,207] let s:lib.Codec.encoding_table["20468"] = [208,208] let s:lib.Codec.encoding_table["20531"] = [208,209] let s:lib.Codec.encoding_table["20535"] = [208,210] let s:lib.Codec.encoding_table["20524"] = [208,211] let s:lib.Codec.encoding_table["20470"] = [208,212] let s:lib.Codec.encoding_table["20471"] = [208,213] let s:lib.Codec.encoding_table["20503"] = [208,214] let s:lib.Codec.encoding_table["20508"] = [208,215] let s:lib.Codec.encoding_table["20512"] = [208,216] let s:lib.Codec.encoding_table["20519"] = [208,217] let s:lib.Codec.encoding_table["20533"] = [208,218] let s:lib.Codec.encoding_table["20527"] = [208,219] let s:lib.Codec.encoding_table["20529"] = [208,220] let s:lib.Codec.encoding_table["20494"] = [208,221] let s:lib.Codec.encoding_table["20826"] = [208,222] let s:lib.Codec.encoding_table["20884"] = [208,223] let s:lib.Codec.encoding_table["20883"] = [208,224] let s:lib.Codec.encoding_table["20938"] = [208,225] let s:lib.Codec.encoding_table["20932"] = [208,226] let s:lib.Codec.encoding_table["20933"] = [208,227] let s:lib.Codec.encoding_table["20936"] = [208,228] let s:lib.Codec.encoding_table["20942"] = [208,229] let s:lib.Codec.encoding_table["21089"] = [208,230] let s:lib.Codec.encoding_table["21082"] = [208,231] let s:lib.Codec.encoding_table["21074"] = [208,232] let s:lib.Codec.encoding_table["21086"] = [208,233] let s:lib.Codec.encoding_table["21087"] = [208,234] let s:lib.Codec.encoding_table["21077"] = [208,235] let s:lib.Codec.encoding_table["21090"] = [208,236] let s:lib.Codec.encoding_table["21197"] = [208,237] let s:lib.Codec.encoding_table["21262"] = [208,238] let s:lib.Codec.encoding_table["21406"] = [208,239] let s:lib.Codec.encoding_table["21798"] = [208,240] let s:lib.Codec.encoding_table["21730"] = [208,241] let s:lib.Codec.encoding_table["21783"] = [208,242] let s:lib.Codec.encoding_table["21778"] = [208,243] let s:lib.Codec.encoding_table["21735"] = [208,244] let s:lib.Codec.encoding_table["21747"] = [208,245] let s:lib.Codec.encoding_table["21732"] = [208,246] let s:lib.Codec.encoding_table["21786"] = [208,247] let s:lib.Codec.encoding_table["21759"] = [208,248] let s:lib.Codec.encoding_table["21764"] = [208,249] let s:lib.Codec.encoding_table["21768"] = [208,250] let s:lib.Codec.encoding_table["21739"] = [208,251] let s:lib.Codec.encoding_table["21777"] = [208,252] let s:lib.Codec.encoding_table["21765"] = [208,253] let s:lib.Codec.encoding_table["21745"] = [208,254] let s:lib.Codec.encoding_table["21770"] = [209,64] let s:lib.Codec.encoding_table["21755"] = [209,65] let s:lib.Codec.encoding_table["21751"] = [209,66] let s:lib.Codec.encoding_table["21752"] = [209,67] let s:lib.Codec.encoding_table["21728"] = [209,68] let s:lib.Codec.encoding_table["21774"] = [209,69] let s:lib.Codec.encoding_table["21763"] = [209,70] let s:lib.Codec.encoding_table["21771"] = [209,71] let s:lib.Codec.encoding_table["22273"] = [209,72] let s:lib.Codec.encoding_table["22274"] = [209,73] let s:lib.Codec.encoding_table["22476"] = [209,74] let s:lib.Codec.encoding_table["22578"] = [209,75] let s:lib.Codec.encoding_table["22485"] = [209,76] let s:lib.Codec.encoding_table["22482"] = [209,77] let s:lib.Codec.encoding_table["22458"] = [209,78] let s:lib.Codec.encoding_table["22470"] = [209,79] let s:lib.Codec.encoding_table["22461"] = [209,80] let s:lib.Codec.encoding_table["22460"] = [209,81] let s:lib.Codec.encoding_table["22456"] = [209,82] let s:lib.Codec.encoding_table["22454"] = [209,83] let s:lib.Codec.encoding_table["22463"] = [209,84] let s:lib.Codec.encoding_table["22471"] = [209,85] let s:lib.Codec.encoding_table["22480"] = [209,86] let s:lib.Codec.encoding_table["22457"] = [209,87] let s:lib.Codec.encoding_table["22465"] = [209,88] let s:lib.Codec.encoding_table["22798"] = [209,89] let s:lib.Codec.encoding_table["22858"] = [209,90] let s:lib.Codec.encoding_table["23065"] = [209,91] let s:lib.Codec.encoding_table["23062"] = [209,92] let s:lib.Codec.encoding_table["23085"] = [209,93] let s:lib.Codec.encoding_table["23086"] = [209,94] let s:lib.Codec.encoding_table["23061"] = [209,95] let s:lib.Codec.encoding_table["23055"] = [209,96] let s:lib.Codec.encoding_table["23063"] = [209,97] let s:lib.Codec.encoding_table["23050"] = [209,98] let s:lib.Codec.encoding_table["23070"] = [209,99] let s:lib.Codec.encoding_table["23091"] = [209,100] let s:lib.Codec.encoding_table["23404"] = [209,101] let s:lib.Codec.encoding_table["23463"] = [209,102] let s:lib.Codec.encoding_table["23469"] = [209,103] let s:lib.Codec.encoding_table["23468"] = [209,104] let s:lib.Codec.encoding_table["23555"] = [209,105] let s:lib.Codec.encoding_table["23638"] = [209,106] let s:lib.Codec.encoding_table["23636"] = [209,107] let s:lib.Codec.encoding_table["23788"] = [209,108] let s:lib.Codec.encoding_table["23807"] = [209,109] let s:lib.Codec.encoding_table["23790"] = [209,110] let s:lib.Codec.encoding_table["23793"] = [209,111] let s:lib.Codec.encoding_table["23799"] = [209,112] let s:lib.Codec.encoding_table["23808"] = [209,113] let s:lib.Codec.encoding_table["23801"] = [209,114] let s:lib.Codec.encoding_table["24105"] = [209,115] let s:lib.Codec.encoding_table["24104"] = [209,116] let s:lib.Codec.encoding_table["24232"] = [209,117] let s:lib.Codec.encoding_table["24238"] = [209,118] let s:lib.Codec.encoding_table["24234"] = [209,119] let s:lib.Codec.encoding_table["24236"] = [209,120] let s:lib.Codec.encoding_table["24371"] = [209,121] let s:lib.Codec.encoding_table["24368"] = [209,122] let s:lib.Codec.encoding_table["24423"] = [209,123] let s:lib.Codec.encoding_table["24669"] = [209,124] let s:lib.Codec.encoding_table["24666"] = [209,125] let s:lib.Codec.encoding_table["24679"] = [209,126] let s:lib.Codec.encoding_table["24641"] = [209,161] let s:lib.Codec.encoding_table["24738"] = [209,162] let s:lib.Codec.encoding_table["24712"] = [209,163] let s:lib.Codec.encoding_table["24704"] = [209,164] let s:lib.Codec.encoding_table["24722"] = [209,165] let s:lib.Codec.encoding_table["24705"] = [209,166] let s:lib.Codec.encoding_table["24733"] = [209,167] let s:lib.Codec.encoding_table["24707"] = [209,168] let s:lib.Codec.encoding_table["24725"] = [209,169] let s:lib.Codec.encoding_table["24731"] = [209,170] let s:lib.Codec.encoding_table["24727"] = [209,171] let s:lib.Codec.encoding_table["24711"] = [209,172] let s:lib.Codec.encoding_table["24732"] = [209,173] let s:lib.Codec.encoding_table["24718"] = [209,174] let s:lib.Codec.encoding_table["25113"] = [209,175] let s:lib.Codec.encoding_table["25158"] = [209,176] let s:lib.Codec.encoding_table["25330"] = [209,177] let s:lib.Codec.encoding_table["25360"] = [209,178] let s:lib.Codec.encoding_table["25430"] = [209,179] let s:lib.Codec.encoding_table["25388"] = [209,180] let s:lib.Codec.encoding_table["25412"] = [209,181] let s:lib.Codec.encoding_table["25413"] = [209,182] let s:lib.Codec.encoding_table["25398"] = [209,183] let s:lib.Codec.encoding_table["25411"] = [209,184] let s:lib.Codec.encoding_table["25572"] = [209,185] let s:lib.Codec.encoding_table["25401"] = [209,186] let s:lib.Codec.encoding_table["25419"] = [209,187] let s:lib.Codec.encoding_table["25418"] = [209,188] let s:lib.Codec.encoding_table["25404"] = [209,189] let s:lib.Codec.encoding_table["25385"] = [209,190] let s:lib.Codec.encoding_table["25409"] = [209,191] let s:lib.Codec.encoding_table["25396"] = [209,192] let s:lib.Codec.encoding_table["25432"] = [209,193] let s:lib.Codec.encoding_table["25428"] = [209,194] let s:lib.Codec.encoding_table["25433"] = [209,195] let s:lib.Codec.encoding_table["25389"] = [209,196] let s:lib.Codec.encoding_table["25415"] = [209,197] let s:lib.Codec.encoding_table["25395"] = [209,198] let s:lib.Codec.encoding_table["25434"] = [209,199] let s:lib.Codec.encoding_table["25425"] = [209,200] let s:lib.Codec.encoding_table["25400"] = [209,201] let s:lib.Codec.encoding_table["25431"] = [209,202] let s:lib.Codec.encoding_table["25408"] = [209,203] let s:lib.Codec.encoding_table["25416"] = [209,204] let s:lib.Codec.encoding_table["25930"] = [209,205] let s:lib.Codec.encoding_table["25926"] = [209,206] let s:lib.Codec.encoding_table["26054"] = [209,207] let s:lib.Codec.encoding_table["26051"] = [209,208] let s:lib.Codec.encoding_table["26052"] = [209,209] let s:lib.Codec.encoding_table["26050"] = [209,210] let s:lib.Codec.encoding_table["26186"] = [209,211] let s:lib.Codec.encoding_table["26207"] = [209,212] let s:lib.Codec.encoding_table["26183"] = [209,213] let s:lib.Codec.encoding_table["26193"] = [209,214] let s:lib.Codec.encoding_table["26386"] = [209,215] let s:lib.Codec.encoding_table["26387"] = [209,216] let s:lib.Codec.encoding_table["26655"] = [209,217] let s:lib.Codec.encoding_table["26650"] = [209,218] let s:lib.Codec.encoding_table["26697"] = [209,219] let s:lib.Codec.encoding_table["26674"] = [209,220] let s:lib.Codec.encoding_table["26675"] = [209,221] let s:lib.Codec.encoding_table["26683"] = [209,222] let s:lib.Codec.encoding_table["26699"] = [209,223] let s:lib.Codec.encoding_table["26703"] = [209,224] let s:lib.Codec.encoding_table["26646"] = [209,225] let s:lib.Codec.encoding_table["26673"] = [209,226] let s:lib.Codec.encoding_table["26652"] = [209,227] let s:lib.Codec.encoding_table["26677"] = [209,228] let s:lib.Codec.encoding_table["26667"] = [209,229] let s:lib.Codec.encoding_table["26669"] = [209,230] let s:lib.Codec.encoding_table["26671"] = [209,231] let s:lib.Codec.encoding_table["26702"] = [209,232] let s:lib.Codec.encoding_table["26692"] = [209,233] let s:lib.Codec.encoding_table["26676"] = [209,234] let s:lib.Codec.encoding_table["26653"] = [209,235] let s:lib.Codec.encoding_table["26642"] = [209,236] let s:lib.Codec.encoding_table["26644"] = [209,237] let s:lib.Codec.encoding_table["26662"] = [209,238] let s:lib.Codec.encoding_table["26664"] = [209,239] let s:lib.Codec.encoding_table["26670"] = [209,240] let s:lib.Codec.encoding_table["26701"] = [209,241] let s:lib.Codec.encoding_table["26682"] = [209,242] let s:lib.Codec.encoding_table["26661"] = [209,243] let s:lib.Codec.encoding_table["26656"] = [209,244] let s:lib.Codec.encoding_table["27436"] = [209,245] let s:lib.Codec.encoding_table["27439"] = [209,246] let s:lib.Codec.encoding_table["27437"] = [209,247] let s:lib.Codec.encoding_table["27441"] = [209,248] let s:lib.Codec.encoding_table["27444"] = [209,249] let s:lib.Codec.encoding_table["27501"] = [209,250] let s:lib.Codec.encoding_table["32898"] = [209,251] let s:lib.Codec.encoding_table["27528"] = [209,252] let s:lib.Codec.encoding_table["27622"] = [209,253] let s:lib.Codec.encoding_table["27620"] = [209,254] let s:lib.Codec.encoding_table["27624"] = [210,64] let s:lib.Codec.encoding_table["27619"] = [210,65] let s:lib.Codec.encoding_table["27618"] = [210,66] let s:lib.Codec.encoding_table["27623"] = [210,67] let s:lib.Codec.encoding_table["27685"] = [210,68] let s:lib.Codec.encoding_table["28026"] = [210,69] let s:lib.Codec.encoding_table["28003"] = [210,70] let s:lib.Codec.encoding_table["28004"] = [210,71] let s:lib.Codec.encoding_table["28022"] = [210,72] let s:lib.Codec.encoding_table["27917"] = [210,73] let s:lib.Codec.encoding_table["28001"] = [210,74] let s:lib.Codec.encoding_table["28050"] = [210,75] let s:lib.Codec.encoding_table["27992"] = [210,76] let s:lib.Codec.encoding_table["28002"] = [210,77] let s:lib.Codec.encoding_table["28013"] = [210,78] let s:lib.Codec.encoding_table["28015"] = [210,79] let s:lib.Codec.encoding_table["28049"] = [210,80] let s:lib.Codec.encoding_table["28045"] = [210,81] let s:lib.Codec.encoding_table["28143"] = [210,82] let s:lib.Codec.encoding_table["28031"] = [210,83] let s:lib.Codec.encoding_table["28038"] = [210,84] let s:lib.Codec.encoding_table["27998"] = [210,85] let s:lib.Codec.encoding_table["28007"] = [210,86] let s:lib.Codec.encoding_table["28000"] = [210,87] let s:lib.Codec.encoding_table["28055"] = [210,88] let s:lib.Codec.encoding_table["28016"] = [210,89] let s:lib.Codec.encoding_table["28028"] = [210,90] let s:lib.Codec.encoding_table["27999"] = [210,91] let s:lib.Codec.encoding_table["28034"] = [210,92] let s:lib.Codec.encoding_table["28056"] = [210,93] let s:lib.Codec.encoding_table["27951"] = [210,94] let s:lib.Codec.encoding_table["28008"] = [210,95] let s:lib.Codec.encoding_table["28043"] = [210,96] let s:lib.Codec.encoding_table["28030"] = [210,97] let s:lib.Codec.encoding_table["28032"] = [210,98] let s:lib.Codec.encoding_table["28036"] = [210,99] let s:lib.Codec.encoding_table["27926"] = [210,100] let s:lib.Codec.encoding_table["28035"] = [210,101] let s:lib.Codec.encoding_table["28027"] = [210,102] let s:lib.Codec.encoding_table["28029"] = [210,103] let s:lib.Codec.encoding_table["28021"] = [210,104] let s:lib.Codec.encoding_table["28048"] = [210,105] let s:lib.Codec.encoding_table["28892"] = [210,106] let s:lib.Codec.encoding_table["28883"] = [210,107] let s:lib.Codec.encoding_table["28881"] = [210,108] let s:lib.Codec.encoding_table["28893"] = [210,109] let s:lib.Codec.encoding_table["28875"] = [210,110] let s:lib.Codec.encoding_table["32569"] = [210,111] let s:lib.Codec.encoding_table["28898"] = [210,112] let s:lib.Codec.encoding_table["28887"] = [210,113] let s:lib.Codec.encoding_table["28882"] = [210,114] let s:lib.Codec.encoding_table["28894"] = [210,115] let s:lib.Codec.encoding_table["28896"] = [210,116] let s:lib.Codec.encoding_table["28884"] = [210,117] let s:lib.Codec.encoding_table["28877"] = [210,118] let s:lib.Codec.encoding_table["28869"] = [210,119] let s:lib.Codec.encoding_table["28870"] = [210,120] let s:lib.Codec.encoding_table["28871"] = [210,121] let s:lib.Codec.encoding_table["28890"] = [210,122] let s:lib.Codec.encoding_table["28878"] = [210,123] let s:lib.Codec.encoding_table["28897"] = [210,124] let s:lib.Codec.encoding_table["29250"] = [210,125] let s:lib.Codec.encoding_table["29304"] = [210,126] let s:lib.Codec.encoding_table["29303"] = [210,161] let s:lib.Codec.encoding_table["29302"] = [210,162] let s:lib.Codec.encoding_table["29440"] = [210,163] let s:lib.Codec.encoding_table["29434"] = [210,164] let s:lib.Codec.encoding_table["29428"] = [210,165] let s:lib.Codec.encoding_table["29438"] = [210,166] let s:lib.Codec.encoding_table["29430"] = [210,167] let s:lib.Codec.encoding_table["29427"] = [210,168] let s:lib.Codec.encoding_table["29435"] = [210,169] let s:lib.Codec.encoding_table["29441"] = [210,170] let s:lib.Codec.encoding_table["29651"] = [210,171] let s:lib.Codec.encoding_table["29657"] = [210,172] let s:lib.Codec.encoding_table["29669"] = [210,173] let s:lib.Codec.encoding_table["29654"] = [210,174] let s:lib.Codec.encoding_table["29628"] = [210,175] let s:lib.Codec.encoding_table["29671"] = [210,176] let s:lib.Codec.encoding_table["29667"] = [210,177] let s:lib.Codec.encoding_table["29673"] = [210,178] let s:lib.Codec.encoding_table["29660"] = [210,179] let s:lib.Codec.encoding_table["29650"] = [210,180] let s:lib.Codec.encoding_table["29659"] = [210,181] let s:lib.Codec.encoding_table["29652"] = [210,182] let s:lib.Codec.encoding_table["29661"] = [210,183] let s:lib.Codec.encoding_table["29658"] = [210,184] let s:lib.Codec.encoding_table["29655"] = [210,185] let s:lib.Codec.encoding_table["29656"] = [210,186] let s:lib.Codec.encoding_table["29672"] = [210,187] let s:lib.Codec.encoding_table["29918"] = [210,188] let s:lib.Codec.encoding_table["29919"] = [210,189] let s:lib.Codec.encoding_table["29940"] = [210,190] let s:lib.Codec.encoding_table["29941"] = [210,191] let s:lib.Codec.encoding_table["29985"] = [210,192] let s:lib.Codec.encoding_table["30043"] = [210,193] let s:lib.Codec.encoding_table["30047"] = [210,194] let s:lib.Codec.encoding_table["30128"] = [210,195] let s:lib.Codec.encoding_table["30145"] = [210,196] let s:lib.Codec.encoding_table["30139"] = [210,197] let s:lib.Codec.encoding_table["30148"] = [210,198] let s:lib.Codec.encoding_table["30144"] = [210,199] let s:lib.Codec.encoding_table["30143"] = [210,200] let s:lib.Codec.encoding_table["30134"] = [210,201] let s:lib.Codec.encoding_table["30138"] = [210,202] let s:lib.Codec.encoding_table["30346"] = [210,203] let s:lib.Codec.encoding_table["30409"] = [210,204] let s:lib.Codec.encoding_table["30493"] = [210,205] let s:lib.Codec.encoding_table["30491"] = [210,206] let s:lib.Codec.encoding_table["30480"] = [210,207] let s:lib.Codec.encoding_table["30483"] = [210,208] let s:lib.Codec.encoding_table["30482"] = [210,209] let s:lib.Codec.encoding_table["30499"] = [210,210] let s:lib.Codec.encoding_table["30481"] = [210,211] let s:lib.Codec.encoding_table["30485"] = [210,212] let s:lib.Codec.encoding_table["30489"] = [210,213] let s:lib.Codec.encoding_table["30490"] = [210,214] let s:lib.Codec.encoding_table["30498"] = [210,215] let s:lib.Codec.encoding_table["30503"] = [210,216] let s:lib.Codec.encoding_table["30755"] = [210,217] let s:lib.Codec.encoding_table["30764"] = [210,218] let s:lib.Codec.encoding_table["30754"] = [210,219] let s:lib.Codec.encoding_table["30773"] = [210,220] let s:lib.Codec.encoding_table["30767"] = [210,221] let s:lib.Codec.encoding_table["30760"] = [210,222] let s:lib.Codec.encoding_table["30766"] = [210,223] let s:lib.Codec.encoding_table["30763"] = [210,224] let s:lib.Codec.encoding_table["30753"] = [210,225] let s:lib.Codec.encoding_table["30761"] = [210,226] let s:lib.Codec.encoding_table["30771"] = [210,227] let s:lib.Codec.encoding_table["30762"] = [210,228] let s:lib.Codec.encoding_table["30769"] = [210,229] let s:lib.Codec.encoding_table["31060"] = [210,230] let s:lib.Codec.encoding_table["31067"] = [210,231] let s:lib.Codec.encoding_table["31055"] = [210,232] let s:lib.Codec.encoding_table["31068"] = [210,233] let s:lib.Codec.encoding_table["31059"] = [210,234] let s:lib.Codec.encoding_table["31058"] = [210,235] let s:lib.Codec.encoding_table["31057"] = [210,236] let s:lib.Codec.encoding_table["31211"] = [210,237] let s:lib.Codec.encoding_table["31212"] = [210,238] let s:lib.Codec.encoding_table["31200"] = [210,239] let s:lib.Codec.encoding_table["31214"] = [210,240] let s:lib.Codec.encoding_table["31213"] = [210,241] let s:lib.Codec.encoding_table["31210"] = [210,242] let s:lib.Codec.encoding_table["31196"] = [210,243] let s:lib.Codec.encoding_table["31198"] = [210,244] let s:lib.Codec.encoding_table["31197"] = [210,245] let s:lib.Codec.encoding_table["31366"] = [210,246] let s:lib.Codec.encoding_table["31369"] = [210,247] let s:lib.Codec.encoding_table["31365"] = [210,248] let s:lib.Codec.encoding_table["31371"] = [210,249] let s:lib.Codec.encoding_table["31372"] = [210,250] let s:lib.Codec.encoding_table["31370"] = [210,251] let s:lib.Codec.encoding_table["31367"] = [210,252] let s:lib.Codec.encoding_table["31448"] = [210,253] let s:lib.Codec.encoding_table["31504"] = [210,254] let s:lib.Codec.encoding_table["31492"] = [211,64] let s:lib.Codec.encoding_table["31507"] = [211,65] let s:lib.Codec.encoding_table["31493"] = [211,66] let s:lib.Codec.encoding_table["31503"] = [211,67] let s:lib.Codec.encoding_table["31496"] = [211,68] let s:lib.Codec.encoding_table["31498"] = [211,69] let s:lib.Codec.encoding_table["31502"] = [211,70] let s:lib.Codec.encoding_table["31497"] = [211,71] let s:lib.Codec.encoding_table["31506"] = [211,72] let s:lib.Codec.encoding_table["31876"] = [211,73] let s:lib.Codec.encoding_table["31889"] = [211,74] let s:lib.Codec.encoding_table["31882"] = [211,75] let s:lib.Codec.encoding_table["31884"] = [211,76] let s:lib.Codec.encoding_table["31880"] = [211,77] let s:lib.Codec.encoding_table["31885"] = [211,78] let s:lib.Codec.encoding_table["31877"] = [211,79] let s:lib.Codec.encoding_table["32030"] = [211,80] let s:lib.Codec.encoding_table["32029"] = [211,81] let s:lib.Codec.encoding_table["32017"] = [211,82] let s:lib.Codec.encoding_table["32014"] = [211,83] let s:lib.Codec.encoding_table["32024"] = [211,84] let s:lib.Codec.encoding_table["32022"] = [211,85] let s:lib.Codec.encoding_table["32019"] = [211,86] let s:lib.Codec.encoding_table["32031"] = [211,87] let s:lib.Codec.encoding_table["32018"] = [211,88] let s:lib.Codec.encoding_table["32015"] = [211,89] let s:lib.Codec.encoding_table["32012"] = [211,90] let s:lib.Codec.encoding_table["32604"] = [211,91] let s:lib.Codec.encoding_table["32609"] = [211,92] let s:lib.Codec.encoding_table["32606"] = [211,93] let s:lib.Codec.encoding_table["32608"] = [211,94] let s:lib.Codec.encoding_table["32605"] = [211,95] let s:lib.Codec.encoding_table["32603"] = [211,96] let s:lib.Codec.encoding_table["32662"] = [211,97] let s:lib.Codec.encoding_table["32658"] = [211,98] let s:lib.Codec.encoding_table["32707"] = [211,99] let s:lib.Codec.encoding_table["32706"] = [211,100] let s:lib.Codec.encoding_table["32704"] = [211,101] let s:lib.Codec.encoding_table["32790"] = [211,102] let s:lib.Codec.encoding_table["32830"] = [211,103] let s:lib.Codec.encoding_table["32825"] = [211,104] let s:lib.Codec.encoding_table["33018"] = [211,105] let s:lib.Codec.encoding_table["33010"] = [211,106] let s:lib.Codec.encoding_table["33017"] = [211,107] let s:lib.Codec.encoding_table["33013"] = [211,108] let s:lib.Codec.encoding_table["33025"] = [211,109] let s:lib.Codec.encoding_table["33019"] = [211,110] let s:lib.Codec.encoding_table["33024"] = [211,111] let s:lib.Codec.encoding_table["33281"] = [211,112] let s:lib.Codec.encoding_table["33327"] = [211,113] let s:lib.Codec.encoding_table["33317"] = [211,114] let s:lib.Codec.encoding_table["33587"] = [211,115] let s:lib.Codec.encoding_table["33581"] = [211,116] let s:lib.Codec.encoding_table["33604"] = [211,117] let s:lib.Codec.encoding_table["33561"] = [211,118] let s:lib.Codec.encoding_table["33617"] = [211,119] let s:lib.Codec.encoding_table["33573"] = [211,120] let s:lib.Codec.encoding_table["33622"] = [211,121] let s:lib.Codec.encoding_table["33599"] = [211,122] let s:lib.Codec.encoding_table["33601"] = [211,123] let s:lib.Codec.encoding_table["33574"] = [211,124] let s:lib.Codec.encoding_table["33564"] = [211,125] let s:lib.Codec.encoding_table["33570"] = [211,126] let s:lib.Codec.encoding_table["33602"] = [211,161] let s:lib.Codec.encoding_table["33614"] = [211,162] let s:lib.Codec.encoding_table["33563"] = [211,163] let s:lib.Codec.encoding_table["33578"] = [211,164] let s:lib.Codec.encoding_table["33544"] = [211,165] let s:lib.Codec.encoding_table["33596"] = [211,166] let s:lib.Codec.encoding_table["33613"] = [211,167] let s:lib.Codec.encoding_table["33558"] = [211,168] let s:lib.Codec.encoding_table["33572"] = [211,169] let s:lib.Codec.encoding_table["33568"] = [211,170] let s:lib.Codec.encoding_table["33591"] = [211,171] let s:lib.Codec.encoding_table["33583"] = [211,172] let s:lib.Codec.encoding_table["33577"] = [211,173] let s:lib.Codec.encoding_table["33607"] = [211,174] let s:lib.Codec.encoding_table["33605"] = [211,175] let s:lib.Codec.encoding_table["33612"] = [211,176] let s:lib.Codec.encoding_table["33619"] = [211,177] let s:lib.Codec.encoding_table["33566"] = [211,178] let s:lib.Codec.encoding_table["33580"] = [211,179] let s:lib.Codec.encoding_table["33611"] = [211,180] let s:lib.Codec.encoding_table["33575"] = [211,181] let s:lib.Codec.encoding_table["33608"] = [211,182] let s:lib.Codec.encoding_table["34387"] = [211,183] let s:lib.Codec.encoding_table["34386"] = [211,184] let s:lib.Codec.encoding_table["34466"] = [211,185] let s:lib.Codec.encoding_table["34472"] = [211,186] let s:lib.Codec.encoding_table["34454"] = [211,187] let s:lib.Codec.encoding_table["34445"] = [211,188] let s:lib.Codec.encoding_table["34449"] = [211,189] let s:lib.Codec.encoding_table["34462"] = [211,190] let s:lib.Codec.encoding_table["34439"] = [211,191] let s:lib.Codec.encoding_table["34455"] = [211,192] let s:lib.Codec.encoding_table["34438"] = [211,193] let s:lib.Codec.encoding_table["34443"] = [211,194] let s:lib.Codec.encoding_table["34458"] = [211,195] let s:lib.Codec.encoding_table["34437"] = [211,196] let s:lib.Codec.encoding_table["34469"] = [211,197] let s:lib.Codec.encoding_table["34457"] = [211,198] let s:lib.Codec.encoding_table["34465"] = [211,199] let s:lib.Codec.encoding_table["34471"] = [211,200] let s:lib.Codec.encoding_table["34453"] = [211,201] let s:lib.Codec.encoding_table["34456"] = [211,202] let s:lib.Codec.encoding_table["34446"] = [211,203] let s:lib.Codec.encoding_table["34461"] = [211,204] let s:lib.Codec.encoding_table["34448"] = [211,205] let s:lib.Codec.encoding_table["34452"] = [211,206] let s:lib.Codec.encoding_table["34883"] = [211,207] let s:lib.Codec.encoding_table["34884"] = [211,208] let s:lib.Codec.encoding_table["34925"] = [211,209] let s:lib.Codec.encoding_table["34933"] = [211,210] let s:lib.Codec.encoding_table["34934"] = [211,211] let s:lib.Codec.encoding_table["34930"] = [211,212] let s:lib.Codec.encoding_table["34944"] = [211,213] let s:lib.Codec.encoding_table["34929"] = [211,214] let s:lib.Codec.encoding_table["34943"] = [211,215] let s:lib.Codec.encoding_table["34927"] = [211,216] let s:lib.Codec.encoding_table["34947"] = [211,217] let s:lib.Codec.encoding_table["34942"] = [211,218] let s:lib.Codec.encoding_table["34932"] = [211,219] let s:lib.Codec.encoding_table["34940"] = [211,220] let s:lib.Codec.encoding_table["35346"] = [211,221] let s:lib.Codec.encoding_table["35911"] = [211,222] let s:lib.Codec.encoding_table["35927"] = [211,223] let s:lib.Codec.encoding_table["35963"] = [211,224] let s:lib.Codec.encoding_table["36004"] = [211,225] let s:lib.Codec.encoding_table["36003"] = [211,226] let s:lib.Codec.encoding_table["36214"] = [211,227] let s:lib.Codec.encoding_table["36216"] = [211,228] let s:lib.Codec.encoding_table["36277"] = [211,229] let s:lib.Codec.encoding_table["36279"] = [211,230] let s:lib.Codec.encoding_table["36278"] = [211,231] let s:lib.Codec.encoding_table["36561"] = [211,232] let s:lib.Codec.encoding_table["36563"] = [211,233] let s:lib.Codec.encoding_table["36862"] = [211,234] let s:lib.Codec.encoding_table["36853"] = [211,235] let s:lib.Codec.encoding_table["36866"] = [211,236] let s:lib.Codec.encoding_table["36863"] = [211,237] let s:lib.Codec.encoding_table["36859"] = [211,238] let s:lib.Codec.encoding_table["36868"] = [211,239] let s:lib.Codec.encoding_table["36860"] = [211,240] let s:lib.Codec.encoding_table["36854"] = [211,241] let s:lib.Codec.encoding_table["37078"] = [211,242] let s:lib.Codec.encoding_table["37088"] = [211,243] let s:lib.Codec.encoding_table["37081"] = [211,244] let s:lib.Codec.encoding_table["37082"] = [211,245] let s:lib.Codec.encoding_table["37091"] = [211,246] let s:lib.Codec.encoding_table["37087"] = [211,247] let s:lib.Codec.encoding_table["37093"] = [211,248] let s:lib.Codec.encoding_table["37080"] = [211,249] let s:lib.Codec.encoding_table["37083"] = [211,250] let s:lib.Codec.encoding_table["37079"] = [211,251] let s:lib.Codec.encoding_table["37084"] = [211,252] let s:lib.Codec.encoding_table["37092"] = [211,253] let s:lib.Codec.encoding_table["37200"] = [211,254] let s:lib.Codec.encoding_table["37198"] = [212,64] let s:lib.Codec.encoding_table["37199"] = [212,65] let s:lib.Codec.encoding_table["37333"] = [212,66] let s:lib.Codec.encoding_table["37346"] = [212,67] let s:lib.Codec.encoding_table["37338"] = [212,68] let s:lib.Codec.encoding_table["38492"] = [212,69] let s:lib.Codec.encoding_table["38495"] = [212,70] let s:lib.Codec.encoding_table["38588"] = [212,71] let s:lib.Codec.encoding_table["39139"] = [212,72] let s:lib.Codec.encoding_table["39647"] = [212,73] let s:lib.Codec.encoding_table["39727"] = [212,74] let s:lib.Codec.encoding_table["20095"] = [212,75] let s:lib.Codec.encoding_table["20592"] = [212,76] let s:lib.Codec.encoding_table["20586"] = [212,77] let s:lib.Codec.encoding_table["20577"] = [212,78] let s:lib.Codec.encoding_table["20574"] = [212,79] let s:lib.Codec.encoding_table["20576"] = [212,80] let s:lib.Codec.encoding_table["20563"] = [212,81] let s:lib.Codec.encoding_table["20555"] = [212,82] let s:lib.Codec.encoding_table["20573"] = [212,83] let s:lib.Codec.encoding_table["20594"] = [212,84] let s:lib.Codec.encoding_table["20552"] = [212,85] let s:lib.Codec.encoding_table["20557"] = [212,86] let s:lib.Codec.encoding_table["20545"] = [212,87] let s:lib.Codec.encoding_table["20571"] = [212,88] let s:lib.Codec.encoding_table["20554"] = [212,89] let s:lib.Codec.encoding_table["20578"] = [212,90] let s:lib.Codec.encoding_table["20501"] = [212,91] let s:lib.Codec.encoding_table["20549"] = [212,92] let s:lib.Codec.encoding_table["20575"] = [212,93] let s:lib.Codec.encoding_table["20585"] = [212,94] let s:lib.Codec.encoding_table["20587"] = [212,95] let s:lib.Codec.encoding_table["20579"] = [212,96] let s:lib.Codec.encoding_table["20580"] = [212,97] let s:lib.Codec.encoding_table["20550"] = [212,98] let s:lib.Codec.encoding_table["20544"] = [212,99] let s:lib.Codec.encoding_table["20590"] = [212,100] let s:lib.Codec.encoding_table["20595"] = [212,101] let s:lib.Codec.encoding_table["20567"] = [212,102] let s:lib.Codec.encoding_table["20561"] = [212,103] let s:lib.Codec.encoding_table["20944"] = [212,104] let s:lib.Codec.encoding_table["21099"] = [212,105] let s:lib.Codec.encoding_table["21101"] = [212,106] let s:lib.Codec.encoding_table["21100"] = [212,107] let s:lib.Codec.encoding_table["21102"] = [212,108] let s:lib.Codec.encoding_table["21206"] = [212,109] let s:lib.Codec.encoding_table["21203"] = [212,110] let s:lib.Codec.encoding_table["21293"] = [212,111] let s:lib.Codec.encoding_table["21404"] = [212,112] let s:lib.Codec.encoding_table["21877"] = [212,113] let s:lib.Codec.encoding_table["21878"] = [212,114] let s:lib.Codec.encoding_table["21820"] = [212,115] let s:lib.Codec.encoding_table["21837"] = [212,116] let s:lib.Codec.encoding_table["21840"] = [212,117] let s:lib.Codec.encoding_table["21812"] = [212,118] let s:lib.Codec.encoding_table["21802"] = [212,119] let s:lib.Codec.encoding_table["21841"] = [212,120] let s:lib.Codec.encoding_table["21858"] = [212,121] let s:lib.Codec.encoding_table["21814"] = [212,122] let s:lib.Codec.encoding_table["21813"] = [212,123] let s:lib.Codec.encoding_table["21808"] = [212,124] let s:lib.Codec.encoding_table["21842"] = [212,125] let s:lib.Codec.encoding_table["21829"] = [212,126] let s:lib.Codec.encoding_table["21772"] = [212,161] let s:lib.Codec.encoding_table["21810"] = [212,162] let s:lib.Codec.encoding_table["21861"] = [212,163] let s:lib.Codec.encoding_table["21838"] = [212,164] let s:lib.Codec.encoding_table["21817"] = [212,165] let s:lib.Codec.encoding_table["21832"] = [212,166] let s:lib.Codec.encoding_table["21805"] = [212,167] let s:lib.Codec.encoding_table["21819"] = [212,168] let s:lib.Codec.encoding_table["21824"] = [212,169] let s:lib.Codec.encoding_table["21835"] = [212,170] let s:lib.Codec.encoding_table["22282"] = [212,171] let s:lib.Codec.encoding_table["22279"] = [212,172] let s:lib.Codec.encoding_table["22523"] = [212,173] let s:lib.Codec.encoding_table["22548"] = [212,174] let s:lib.Codec.encoding_table["22498"] = [212,175] let s:lib.Codec.encoding_table["22518"] = [212,176] let s:lib.Codec.encoding_table["22492"] = [212,177] let s:lib.Codec.encoding_table["22516"] = [212,178] let s:lib.Codec.encoding_table["22528"] = [212,179] let s:lib.Codec.encoding_table["22509"] = [212,180] let s:lib.Codec.encoding_table["22525"] = [212,181] let s:lib.Codec.encoding_table["22536"] = [212,182] let s:lib.Codec.encoding_table["22520"] = [212,183] let s:lib.Codec.encoding_table["22539"] = [212,184] let s:lib.Codec.encoding_table["22515"] = [212,185] let s:lib.Codec.encoding_table["22479"] = [212,186] let s:lib.Codec.encoding_table["22535"] = [212,187] let s:lib.Codec.encoding_table["22510"] = [212,188] let s:lib.Codec.encoding_table["22499"] = [212,189] let s:lib.Codec.encoding_table["22514"] = [212,190] let s:lib.Codec.encoding_table["22501"] = [212,191] let s:lib.Codec.encoding_table["22508"] = [212,192] let s:lib.Codec.encoding_table["22497"] = [212,193] let s:lib.Codec.encoding_table["22542"] = [212,194] let s:lib.Codec.encoding_table["22524"] = [212,195] let s:lib.Codec.encoding_table["22544"] = [212,196] let s:lib.Codec.encoding_table["22503"] = [212,197] let s:lib.Codec.encoding_table["22529"] = [212,198] let s:lib.Codec.encoding_table["22540"] = [212,199] let s:lib.Codec.encoding_table["22513"] = [212,200] let s:lib.Codec.encoding_table["22505"] = [212,201] let s:lib.Codec.encoding_table["22512"] = [212,202] let s:lib.Codec.encoding_table["22541"] = [212,203] let s:lib.Codec.encoding_table["22532"] = [212,204] let s:lib.Codec.encoding_table["22876"] = [212,205] let s:lib.Codec.encoding_table["23136"] = [212,206] let s:lib.Codec.encoding_table["23128"] = [212,207] let s:lib.Codec.encoding_table["23125"] = [212,208] let s:lib.Codec.encoding_table["23143"] = [212,209] let s:lib.Codec.encoding_table["23134"] = [212,210] let s:lib.Codec.encoding_table["23096"] = [212,211] let s:lib.Codec.encoding_table["23093"] = [212,212] let s:lib.Codec.encoding_table["23149"] = [212,213] let s:lib.Codec.encoding_table["23120"] = [212,214] let s:lib.Codec.encoding_table["23135"] = [212,215] let s:lib.Codec.encoding_table["23141"] = [212,216] let s:lib.Codec.encoding_table["23148"] = [212,217] let s:lib.Codec.encoding_table["23123"] = [212,218] let s:lib.Codec.encoding_table["23140"] = [212,219] let s:lib.Codec.encoding_table["23127"] = [212,220] let s:lib.Codec.encoding_table["23107"] = [212,221] let s:lib.Codec.encoding_table["23133"] = [212,222] let s:lib.Codec.encoding_table["23122"] = [212,223] let s:lib.Codec.encoding_table["23108"] = [212,224] let s:lib.Codec.encoding_table["23131"] = [212,225] let s:lib.Codec.encoding_table["23112"] = [212,226] let s:lib.Codec.encoding_table["23182"] = [212,227] let s:lib.Codec.encoding_table["23102"] = [212,228] let s:lib.Codec.encoding_table["23117"] = [212,229] let s:lib.Codec.encoding_table["23097"] = [212,230] let s:lib.Codec.encoding_table["23116"] = [212,231] let s:lib.Codec.encoding_table["23152"] = [212,232] let s:lib.Codec.encoding_table["23145"] = [212,233] let s:lib.Codec.encoding_table["23111"] = [212,234] let s:lib.Codec.encoding_table["23121"] = [212,235] let s:lib.Codec.encoding_table["23126"] = [212,236] let s:lib.Codec.encoding_table["23106"] = [212,237] let s:lib.Codec.encoding_table["23132"] = [212,238] let s:lib.Codec.encoding_table["23410"] = [212,239] let s:lib.Codec.encoding_table["23406"] = [212,240] let s:lib.Codec.encoding_table["23489"] = [212,241] let s:lib.Codec.encoding_table["23488"] = [212,242] let s:lib.Codec.encoding_table["23641"] = [212,243] let s:lib.Codec.encoding_table["23838"] = [212,244] let s:lib.Codec.encoding_table["23819"] = [212,245] let s:lib.Codec.encoding_table["23837"] = [212,246] let s:lib.Codec.encoding_table["23834"] = [212,247] let s:lib.Codec.encoding_table["23840"] = [212,248] let s:lib.Codec.encoding_table["23820"] = [212,249] let s:lib.Codec.encoding_table["23848"] = [212,250] let s:lib.Codec.encoding_table["23821"] = [212,251] let s:lib.Codec.encoding_table["23846"] = [212,252] let s:lib.Codec.encoding_table["23845"] = [212,253] let s:lib.Codec.encoding_table["23823"] = [212,254] let s:lib.Codec.encoding_table["23856"] = [213,64] let s:lib.Codec.encoding_table["23826"] = [213,65] let s:lib.Codec.encoding_table["23843"] = [213,66] let s:lib.Codec.encoding_table["23839"] = [213,67] let s:lib.Codec.encoding_table["23854"] = [213,68] let s:lib.Codec.encoding_table["24126"] = [213,69] let s:lib.Codec.encoding_table["24116"] = [213,70] let s:lib.Codec.encoding_table["24241"] = [213,71] let s:lib.Codec.encoding_table["24244"] = [213,72] let s:lib.Codec.encoding_table["24249"] = [213,73] let s:lib.Codec.encoding_table["24242"] = [213,74] let s:lib.Codec.encoding_table["24243"] = [213,75] let s:lib.Codec.encoding_table["24374"] = [213,76] let s:lib.Codec.encoding_table["24376"] = [213,77] let s:lib.Codec.encoding_table["24475"] = [213,78] let s:lib.Codec.encoding_table["24470"] = [213,79] let s:lib.Codec.encoding_table["24479"] = [213,80] let s:lib.Codec.encoding_table["24714"] = [213,81] let s:lib.Codec.encoding_table["24720"] = [213,82] let s:lib.Codec.encoding_table["24710"] = [213,83] let s:lib.Codec.encoding_table["24766"] = [213,84] let s:lib.Codec.encoding_table["24752"] = [213,85] let s:lib.Codec.encoding_table["24762"] = [213,86] let s:lib.Codec.encoding_table["24787"] = [213,87] let s:lib.Codec.encoding_table["24788"] = [213,88] let s:lib.Codec.encoding_table["24783"] = [213,89] let s:lib.Codec.encoding_table["24804"] = [213,90] let s:lib.Codec.encoding_table["24793"] = [213,91] let s:lib.Codec.encoding_table["24797"] = [213,92] let s:lib.Codec.encoding_table["24776"] = [213,93] let s:lib.Codec.encoding_table["24753"] = [213,94] let s:lib.Codec.encoding_table["24795"] = [213,95] let s:lib.Codec.encoding_table["24759"] = [213,96] let s:lib.Codec.encoding_table["24778"] = [213,97] let s:lib.Codec.encoding_table["24767"] = [213,98] let s:lib.Codec.encoding_table["24771"] = [213,99] let s:lib.Codec.encoding_table["24781"] = [213,100] let s:lib.Codec.encoding_table["24768"] = [213,101] let s:lib.Codec.encoding_table["25394"] = [213,102] let s:lib.Codec.encoding_table["25445"] = [213,103] let s:lib.Codec.encoding_table["25482"] = [213,104] let s:lib.Codec.encoding_table["25474"] = [213,105] let s:lib.Codec.encoding_table["25469"] = [213,106] let s:lib.Codec.encoding_table["25533"] = [213,107] let s:lib.Codec.encoding_table["25502"] = [213,108] let s:lib.Codec.encoding_table["25517"] = [213,109] let s:lib.Codec.encoding_table["25501"] = [213,110] let s:lib.Codec.encoding_table["25495"] = [213,111] let s:lib.Codec.encoding_table["25515"] = [213,112] let s:lib.Codec.encoding_table["25486"] = [213,113] let s:lib.Codec.encoding_table["25455"] = [213,114] let s:lib.Codec.encoding_table["25479"] = [213,115] let s:lib.Codec.encoding_table["25488"] = [213,116] let s:lib.Codec.encoding_table["25454"] = [213,117] let s:lib.Codec.encoding_table["25519"] = [213,118] let s:lib.Codec.encoding_table["25461"] = [213,119] let s:lib.Codec.encoding_table["25500"] = [213,120] let s:lib.Codec.encoding_table["25453"] = [213,121] let s:lib.Codec.encoding_table["25518"] = [213,122] let s:lib.Codec.encoding_table["25468"] = [213,123] let s:lib.Codec.encoding_table["25508"] = [213,124] let s:lib.Codec.encoding_table["25403"] = [213,125] let s:lib.Codec.encoding_table["25503"] = [213,126] let s:lib.Codec.encoding_table["25464"] = [213,161] let s:lib.Codec.encoding_table["25477"] = [213,162] let s:lib.Codec.encoding_table["25473"] = [213,163] let s:lib.Codec.encoding_table["25489"] = [213,164] let s:lib.Codec.encoding_table["25485"] = [213,165] let s:lib.Codec.encoding_table["25456"] = [213,166] let s:lib.Codec.encoding_table["25939"] = [213,167] let s:lib.Codec.encoding_table["26061"] = [213,168] let s:lib.Codec.encoding_table["26213"] = [213,169] let s:lib.Codec.encoding_table["26209"] = [213,170] let s:lib.Codec.encoding_table["26203"] = [213,171] let s:lib.Codec.encoding_table["26201"] = [213,172] let s:lib.Codec.encoding_table["26204"] = [213,173] let s:lib.Codec.encoding_table["26210"] = [213,174] let s:lib.Codec.encoding_table["26392"] = [213,175] let s:lib.Codec.encoding_table["26745"] = [213,176] let s:lib.Codec.encoding_table["26759"] = [213,177] let s:lib.Codec.encoding_table["26768"] = [213,178] let s:lib.Codec.encoding_table["26780"] = [213,179] let s:lib.Codec.encoding_table["26733"] = [213,180] let s:lib.Codec.encoding_table["26734"] = [213,181] let s:lib.Codec.encoding_table["26798"] = [213,182] let s:lib.Codec.encoding_table["26795"] = [213,183] let s:lib.Codec.encoding_table["26966"] = [213,184] let s:lib.Codec.encoding_table["26735"] = [213,185] let s:lib.Codec.encoding_table["26787"] = [213,186] let s:lib.Codec.encoding_table["26796"] = [213,187] let s:lib.Codec.encoding_table["26793"] = [213,188] let s:lib.Codec.encoding_table["26741"] = [213,189] let s:lib.Codec.encoding_table["26740"] = [213,190] let s:lib.Codec.encoding_table["26802"] = [213,191] let s:lib.Codec.encoding_table["26767"] = [213,192] let s:lib.Codec.encoding_table["26743"] = [213,193] let s:lib.Codec.encoding_table["26770"] = [213,194] let s:lib.Codec.encoding_table["26748"] = [213,195] let s:lib.Codec.encoding_table["26731"] = [213,196] let s:lib.Codec.encoding_table["26738"] = [213,197] let s:lib.Codec.encoding_table["26794"] = [213,198] let s:lib.Codec.encoding_table["26752"] = [213,199] let s:lib.Codec.encoding_table["26737"] = [213,200] let s:lib.Codec.encoding_table["26750"] = [213,201] let s:lib.Codec.encoding_table["26779"] = [213,202] let s:lib.Codec.encoding_table["26774"] = [213,203] let s:lib.Codec.encoding_table["26763"] = [213,204] let s:lib.Codec.encoding_table["26784"] = [213,205] let s:lib.Codec.encoding_table["26761"] = [213,206] let s:lib.Codec.encoding_table["26788"] = [213,207] let s:lib.Codec.encoding_table["26744"] = [213,208] let s:lib.Codec.encoding_table["26747"] = [213,209] let s:lib.Codec.encoding_table["26769"] = [213,210] let s:lib.Codec.encoding_table["26764"] = [213,211] let s:lib.Codec.encoding_table["26762"] = [213,212] let s:lib.Codec.encoding_table["26749"] = [213,213] let s:lib.Codec.encoding_table["27446"] = [213,214] let s:lib.Codec.encoding_table["27443"] = [213,215] let s:lib.Codec.encoding_table["27447"] = [213,216] let s:lib.Codec.encoding_table["27448"] = [213,217] let s:lib.Codec.encoding_table["27537"] = [213,218] let s:lib.Codec.encoding_table["27535"] = [213,219] let s:lib.Codec.encoding_table["27533"] = [213,220] let s:lib.Codec.encoding_table["27534"] = [213,221] let s:lib.Codec.encoding_table["27532"] = [213,222] let s:lib.Codec.encoding_table["27690"] = [213,223] let s:lib.Codec.encoding_table["28096"] = [213,224] let s:lib.Codec.encoding_table["28075"] = [213,225] let s:lib.Codec.encoding_table["28084"] = [213,226] let s:lib.Codec.encoding_table["28083"] = [213,227] let s:lib.Codec.encoding_table["28276"] = [213,228] let s:lib.Codec.encoding_table["28076"] = [213,229] let s:lib.Codec.encoding_table["28137"] = [213,230] let s:lib.Codec.encoding_table["28130"] = [213,231] let s:lib.Codec.encoding_table["28087"] = [213,232] let s:lib.Codec.encoding_table["28150"] = [213,233] let s:lib.Codec.encoding_table["28116"] = [213,234] let s:lib.Codec.encoding_table["28160"] = [213,235] let s:lib.Codec.encoding_table["28104"] = [213,236] let s:lib.Codec.encoding_table["28128"] = [213,237] let s:lib.Codec.encoding_table["28127"] = [213,238] let s:lib.Codec.encoding_table["28118"] = [213,239] let s:lib.Codec.encoding_table["28094"] = [213,240] let s:lib.Codec.encoding_table["28133"] = [213,241] let s:lib.Codec.encoding_table["28124"] = [213,242] let s:lib.Codec.encoding_table["28125"] = [213,243] let s:lib.Codec.encoding_table["28123"] = [213,244] let s:lib.Codec.encoding_table["28148"] = [213,245] let s:lib.Codec.encoding_table["28106"] = [213,246] let s:lib.Codec.encoding_table["28093"] = [213,247] let s:lib.Codec.encoding_table["28141"] = [213,248] let s:lib.Codec.encoding_table["28144"] = [213,249] let s:lib.Codec.encoding_table["28090"] = [213,250] let s:lib.Codec.encoding_table["28117"] = [213,251] let s:lib.Codec.encoding_table["28098"] = [213,252] let s:lib.Codec.encoding_table["28111"] = [213,253] let s:lib.Codec.encoding_table["28105"] = [213,254] let s:lib.Codec.encoding_table["28112"] = [214,64] let s:lib.Codec.encoding_table["28146"] = [214,65] let s:lib.Codec.encoding_table["28115"] = [214,66] let s:lib.Codec.encoding_table["28157"] = [214,67] let s:lib.Codec.encoding_table["28119"] = [214,68] let s:lib.Codec.encoding_table["28109"] = [214,69] let s:lib.Codec.encoding_table["28131"] = [214,70] let s:lib.Codec.encoding_table["28091"] = [214,71] let s:lib.Codec.encoding_table["28922"] = [214,72] let s:lib.Codec.encoding_table["28941"] = [214,73] let s:lib.Codec.encoding_table["28919"] = [214,74] let s:lib.Codec.encoding_table["28951"] = [214,75] let s:lib.Codec.encoding_table["28916"] = [214,76] let s:lib.Codec.encoding_table["28940"] = [214,77] let s:lib.Codec.encoding_table["28912"] = [214,78] let s:lib.Codec.encoding_table["28932"] = [214,79] let s:lib.Codec.encoding_table["28915"] = [214,80] let s:lib.Codec.encoding_table["28944"] = [214,81] let s:lib.Codec.encoding_table["28924"] = [214,82] let s:lib.Codec.encoding_table["28927"] = [214,83] let s:lib.Codec.encoding_table["28934"] = [214,84] let s:lib.Codec.encoding_table["28947"] = [214,85] let s:lib.Codec.encoding_table["28928"] = [214,86] let s:lib.Codec.encoding_table["28920"] = [214,87] let s:lib.Codec.encoding_table["28918"] = [214,88] let s:lib.Codec.encoding_table["28939"] = [214,89] let s:lib.Codec.encoding_table["28930"] = [214,90] let s:lib.Codec.encoding_table["28942"] = [214,91] let s:lib.Codec.encoding_table["29310"] = [214,92] let s:lib.Codec.encoding_table["29307"] = [214,93] let s:lib.Codec.encoding_table["29308"] = [214,94] let s:lib.Codec.encoding_table["29311"] = [214,95] let s:lib.Codec.encoding_table["29469"] = [214,96] let s:lib.Codec.encoding_table["29463"] = [214,97] let s:lib.Codec.encoding_table["29447"] = [214,98] let s:lib.Codec.encoding_table["29457"] = [214,99] let s:lib.Codec.encoding_table["29464"] = [214,100] let s:lib.Codec.encoding_table["29450"] = [214,101] let s:lib.Codec.encoding_table["29448"] = [214,102] let s:lib.Codec.encoding_table["29439"] = [214,103] let s:lib.Codec.encoding_table["29455"] = [214,104] let s:lib.Codec.encoding_table["29470"] = [214,105] let s:lib.Codec.encoding_table["29576"] = [214,106] let s:lib.Codec.encoding_table["29686"] = [214,107] let s:lib.Codec.encoding_table["29688"] = [214,108] let s:lib.Codec.encoding_table["29685"] = [214,109] let s:lib.Codec.encoding_table["29700"] = [214,110] let s:lib.Codec.encoding_table["29697"] = [214,111] let s:lib.Codec.encoding_table["29693"] = [214,112] let s:lib.Codec.encoding_table["29703"] = [214,113] let s:lib.Codec.encoding_table["29696"] = [214,114] let s:lib.Codec.encoding_table["29690"] = [214,115] let s:lib.Codec.encoding_table["29692"] = [214,116] let s:lib.Codec.encoding_table["29695"] = [214,117] let s:lib.Codec.encoding_table["29708"] = [214,118] let s:lib.Codec.encoding_table["29707"] = [214,119] let s:lib.Codec.encoding_table["29684"] = [214,120] let s:lib.Codec.encoding_table["29704"] = [214,121] let s:lib.Codec.encoding_table["30052"] = [214,122] let s:lib.Codec.encoding_table["30051"] = [214,123] let s:lib.Codec.encoding_table["30158"] = [214,124] let s:lib.Codec.encoding_table["30162"] = [214,125] let s:lib.Codec.encoding_table["30159"] = [214,126] let s:lib.Codec.encoding_table["30155"] = [214,161] let s:lib.Codec.encoding_table["30156"] = [214,162] let s:lib.Codec.encoding_table["30161"] = [214,163] let s:lib.Codec.encoding_table["30160"] = [214,164] let s:lib.Codec.encoding_table["30351"] = [214,165] let s:lib.Codec.encoding_table["30345"] = [214,166] let s:lib.Codec.encoding_table["30419"] = [214,167] let s:lib.Codec.encoding_table["30521"] = [214,168] let s:lib.Codec.encoding_table["30511"] = [214,169] let s:lib.Codec.encoding_table["30509"] = [214,170] let s:lib.Codec.encoding_table["30513"] = [214,171] let s:lib.Codec.encoding_table["30514"] = [214,172] let s:lib.Codec.encoding_table["30516"] = [214,173] let s:lib.Codec.encoding_table["30515"] = [214,174] let s:lib.Codec.encoding_table["30525"] = [214,175] let s:lib.Codec.encoding_table["30501"] = [214,176] let s:lib.Codec.encoding_table["30523"] = [214,177] let s:lib.Codec.encoding_table["30517"] = [214,178] let s:lib.Codec.encoding_table["30792"] = [214,179] let s:lib.Codec.encoding_table["30802"] = [214,180] let s:lib.Codec.encoding_table["30793"] = [214,181] let s:lib.Codec.encoding_table["30797"] = [214,182] let s:lib.Codec.encoding_table["30794"] = [214,183] let s:lib.Codec.encoding_table["30796"] = [214,184] let s:lib.Codec.encoding_table["30758"] = [214,185] let s:lib.Codec.encoding_table["30789"] = [214,186] let s:lib.Codec.encoding_table["30800"] = [214,187] let s:lib.Codec.encoding_table["31076"] = [214,188] let s:lib.Codec.encoding_table["31079"] = [214,189] let s:lib.Codec.encoding_table["31081"] = [214,190] let s:lib.Codec.encoding_table["31082"] = [214,191] let s:lib.Codec.encoding_table["31075"] = [214,192] let s:lib.Codec.encoding_table["31083"] = [214,193] let s:lib.Codec.encoding_table["31073"] = [214,194] let s:lib.Codec.encoding_table["31163"] = [214,195] let s:lib.Codec.encoding_table["31226"] = [214,196] let s:lib.Codec.encoding_table["31224"] = [214,197] let s:lib.Codec.encoding_table["31222"] = [214,198] let s:lib.Codec.encoding_table["31223"] = [214,199] let s:lib.Codec.encoding_table["31375"] = [214,200] let s:lib.Codec.encoding_table["31380"] = [214,201] let s:lib.Codec.encoding_table["31376"] = [214,202] let s:lib.Codec.encoding_table["31541"] = [214,203] let s:lib.Codec.encoding_table["31559"] = [214,204] let s:lib.Codec.encoding_table["31540"] = [214,205] let s:lib.Codec.encoding_table["31525"] = [214,206] let s:lib.Codec.encoding_table["31536"] = [214,207] let s:lib.Codec.encoding_table["31522"] = [214,208] let s:lib.Codec.encoding_table["31524"] = [214,209] let s:lib.Codec.encoding_table["31539"] = [214,210] let s:lib.Codec.encoding_table["31512"] = [214,211] let s:lib.Codec.encoding_table["31530"] = [214,212] let s:lib.Codec.encoding_table["31517"] = [214,213] let s:lib.Codec.encoding_table["31537"] = [214,214] let s:lib.Codec.encoding_table["31531"] = [214,215] let s:lib.Codec.encoding_table["31533"] = [214,216] let s:lib.Codec.encoding_table["31535"] = [214,217] let s:lib.Codec.encoding_table["31538"] = [214,218] let s:lib.Codec.encoding_table["31544"] = [214,219] let s:lib.Codec.encoding_table["31514"] = [214,220] let s:lib.Codec.encoding_table["31523"] = [214,221] let s:lib.Codec.encoding_table["31892"] = [214,222] let s:lib.Codec.encoding_table["31896"] = [214,223] let s:lib.Codec.encoding_table["31894"] = [214,224] let s:lib.Codec.encoding_table["31907"] = [214,225] let s:lib.Codec.encoding_table["32053"] = [214,226] let s:lib.Codec.encoding_table["32061"] = [214,227] let s:lib.Codec.encoding_table["32056"] = [214,228] let s:lib.Codec.encoding_table["32054"] = [214,229] let s:lib.Codec.encoding_table["32058"] = [214,230] let s:lib.Codec.encoding_table["32069"] = [214,231] let s:lib.Codec.encoding_table["32044"] = [214,232] let s:lib.Codec.encoding_table["32041"] = [214,233] let s:lib.Codec.encoding_table["32065"] = [214,234] let s:lib.Codec.encoding_table["32071"] = [214,235] let s:lib.Codec.encoding_table["32062"] = [214,236] let s:lib.Codec.encoding_table["32063"] = [214,237] let s:lib.Codec.encoding_table["32074"] = [214,238] let s:lib.Codec.encoding_table["32059"] = [214,239] let s:lib.Codec.encoding_table["32040"] = [214,240] let s:lib.Codec.encoding_table["32611"] = [214,241] let s:lib.Codec.encoding_table["32661"] = [214,242] let s:lib.Codec.encoding_table["32668"] = [214,243] let s:lib.Codec.encoding_table["32669"] = [214,244] let s:lib.Codec.encoding_table["32667"] = [214,245] let s:lib.Codec.encoding_table["32714"] = [214,246] let s:lib.Codec.encoding_table["32715"] = [214,247] let s:lib.Codec.encoding_table["32717"] = [214,248] let s:lib.Codec.encoding_table["32720"] = [214,249] let s:lib.Codec.encoding_table["32721"] = [214,250] let s:lib.Codec.encoding_table["32711"] = [214,251] let s:lib.Codec.encoding_table["32719"] = [214,252] let s:lib.Codec.encoding_table["32713"] = [214,253] let s:lib.Codec.encoding_table["32799"] = [214,254] let s:lib.Codec.encoding_table["32798"] = [215,64] let s:lib.Codec.encoding_table["32795"] = [215,65] let s:lib.Codec.encoding_table["32839"] = [215,66] let s:lib.Codec.encoding_table["32835"] = [215,67] let s:lib.Codec.encoding_table["32840"] = [215,68] let s:lib.Codec.encoding_table["33048"] = [215,69] let s:lib.Codec.encoding_table["33061"] = [215,70] let s:lib.Codec.encoding_table["33049"] = [215,71] let s:lib.Codec.encoding_table["33051"] = [215,72] let s:lib.Codec.encoding_table["33069"] = [215,73] let s:lib.Codec.encoding_table["33055"] = [215,74] let s:lib.Codec.encoding_table["33068"] = [215,75] let s:lib.Codec.encoding_table["33054"] = [215,76] let s:lib.Codec.encoding_table["33057"] = [215,77] let s:lib.Codec.encoding_table["33045"] = [215,78] let s:lib.Codec.encoding_table["33063"] = [215,79] let s:lib.Codec.encoding_table["33053"] = [215,80] let s:lib.Codec.encoding_table["33058"] = [215,81] let s:lib.Codec.encoding_table["33297"] = [215,82] let s:lib.Codec.encoding_table["33336"] = [215,83] let s:lib.Codec.encoding_table["33331"] = [215,84] let s:lib.Codec.encoding_table["33338"] = [215,85] let s:lib.Codec.encoding_table["33332"] = [215,86] let s:lib.Codec.encoding_table["33330"] = [215,87] let s:lib.Codec.encoding_table["33396"] = [215,88] let s:lib.Codec.encoding_table["33680"] = [215,89] let s:lib.Codec.encoding_table["33699"] = [215,90] let s:lib.Codec.encoding_table["33704"] = [215,91] let s:lib.Codec.encoding_table["33677"] = [215,92] let s:lib.Codec.encoding_table["33658"] = [215,93] let s:lib.Codec.encoding_table["33651"] = [215,94] let s:lib.Codec.encoding_table["33700"] = [215,95] let s:lib.Codec.encoding_table["33652"] = [215,96] let s:lib.Codec.encoding_table["33679"] = [215,97] let s:lib.Codec.encoding_table["33665"] = [215,98] let s:lib.Codec.encoding_table["33685"] = [215,99] let s:lib.Codec.encoding_table["33689"] = [215,100] let s:lib.Codec.encoding_table["33653"] = [215,101] let s:lib.Codec.encoding_table["33684"] = [215,102] let s:lib.Codec.encoding_table["33705"] = [215,103] let s:lib.Codec.encoding_table["33661"] = [215,104] let s:lib.Codec.encoding_table["33667"] = [215,105] let s:lib.Codec.encoding_table["33676"] = [215,106] let s:lib.Codec.encoding_table["33693"] = [215,107] let s:lib.Codec.encoding_table["33691"] = [215,108] let s:lib.Codec.encoding_table["33706"] = [215,109] let s:lib.Codec.encoding_table["33675"] = [215,110] let s:lib.Codec.encoding_table["33662"] = [215,111] let s:lib.Codec.encoding_table["33701"] = [215,112] let s:lib.Codec.encoding_table["33711"] = [215,113] let s:lib.Codec.encoding_table["33672"] = [215,114] let s:lib.Codec.encoding_table["33687"] = [215,115] let s:lib.Codec.encoding_table["33712"] = [215,116] let s:lib.Codec.encoding_table["33663"] = [215,117] let s:lib.Codec.encoding_table["33702"] = [215,118] let s:lib.Codec.encoding_table["33671"] = [215,119] let s:lib.Codec.encoding_table["33710"] = [215,120] let s:lib.Codec.encoding_table["33654"] = [215,121] let s:lib.Codec.encoding_table["33690"] = [215,122] let s:lib.Codec.encoding_table["34393"] = [215,123] let s:lib.Codec.encoding_table["34390"] = [215,124] let s:lib.Codec.encoding_table["34495"] = [215,125] let s:lib.Codec.encoding_table["34487"] = [215,126] let s:lib.Codec.encoding_table["34498"] = [215,161] let s:lib.Codec.encoding_table["34497"] = [215,162] let s:lib.Codec.encoding_table["34501"] = [215,163] let s:lib.Codec.encoding_table["34490"] = [215,164] let s:lib.Codec.encoding_table["34480"] = [215,165] let s:lib.Codec.encoding_table["34504"] = [215,166] let s:lib.Codec.encoding_table["34489"] = [215,167] let s:lib.Codec.encoding_table["34483"] = [215,168] let s:lib.Codec.encoding_table["34488"] = [215,169] let s:lib.Codec.encoding_table["34508"] = [215,170] let s:lib.Codec.encoding_table["34484"] = [215,171] let s:lib.Codec.encoding_table["34491"] = [215,172] let s:lib.Codec.encoding_table["34492"] = [215,173] let s:lib.Codec.encoding_table["34499"] = [215,174] let s:lib.Codec.encoding_table["34493"] = [215,175] let s:lib.Codec.encoding_table["34494"] = [215,176] let s:lib.Codec.encoding_table["34898"] = [215,177] let s:lib.Codec.encoding_table["34953"] = [215,178] let s:lib.Codec.encoding_table["34965"] = [215,179] let s:lib.Codec.encoding_table["34984"] = [215,180] let s:lib.Codec.encoding_table["34978"] = [215,181] let s:lib.Codec.encoding_table["34986"] = [215,182] let s:lib.Codec.encoding_table["34970"] = [215,183] let s:lib.Codec.encoding_table["34961"] = [215,184] let s:lib.Codec.encoding_table["34977"] = [215,185] let s:lib.Codec.encoding_table["34975"] = [215,186] let s:lib.Codec.encoding_table["34968"] = [215,187] let s:lib.Codec.encoding_table["34983"] = [215,188] let s:lib.Codec.encoding_table["34969"] = [215,189] let s:lib.Codec.encoding_table["34971"] = [215,190] let s:lib.Codec.encoding_table["34967"] = [215,191] let s:lib.Codec.encoding_table["34980"] = [215,192] let s:lib.Codec.encoding_table["34988"] = [215,193] let s:lib.Codec.encoding_table["34956"] = [215,194] let s:lib.Codec.encoding_table["34963"] = [215,195] let s:lib.Codec.encoding_table["34958"] = [215,196] let s:lib.Codec.encoding_table["35202"] = [215,197] let s:lib.Codec.encoding_table["35286"] = [215,198] let s:lib.Codec.encoding_table["35289"] = [215,199] let s:lib.Codec.encoding_table["35285"] = [215,200] let s:lib.Codec.encoding_table["35376"] = [215,201] let s:lib.Codec.encoding_table["35367"] = [215,202] let s:lib.Codec.encoding_table["35372"] = [215,203] let s:lib.Codec.encoding_table["35358"] = [215,204] let s:lib.Codec.encoding_table["35897"] = [215,205] let s:lib.Codec.encoding_table["35899"] = [215,206] let s:lib.Codec.encoding_table["35932"] = [215,207] let s:lib.Codec.encoding_table["35933"] = [215,208] let s:lib.Codec.encoding_table["35965"] = [215,209] let s:lib.Codec.encoding_table["36005"] = [215,210] let s:lib.Codec.encoding_table["36221"] = [215,211] let s:lib.Codec.encoding_table["36219"] = [215,212] let s:lib.Codec.encoding_table["36217"] = [215,213] let s:lib.Codec.encoding_table["36284"] = [215,214] let s:lib.Codec.encoding_table["36290"] = [215,215] let s:lib.Codec.encoding_table["36281"] = [215,216] let s:lib.Codec.encoding_table["36287"] = [215,217] let s:lib.Codec.encoding_table["36289"] = [215,218] let s:lib.Codec.encoding_table["36568"] = [215,219] let s:lib.Codec.encoding_table["36574"] = [215,220] let s:lib.Codec.encoding_table["36573"] = [215,221] let s:lib.Codec.encoding_table["36572"] = [215,222] let s:lib.Codec.encoding_table["36567"] = [215,223] let s:lib.Codec.encoding_table["36576"] = [215,224] let s:lib.Codec.encoding_table["36577"] = [215,225] let s:lib.Codec.encoding_table["36900"] = [215,226] let s:lib.Codec.encoding_table["36875"] = [215,227] let s:lib.Codec.encoding_table["36881"] = [215,228] let s:lib.Codec.encoding_table["36892"] = [215,229] let s:lib.Codec.encoding_table["36876"] = [215,230] let s:lib.Codec.encoding_table["36897"] = [215,231] let s:lib.Codec.encoding_table["37103"] = [215,232] let s:lib.Codec.encoding_table["37098"] = [215,233] let s:lib.Codec.encoding_table["37104"] = [215,234] let s:lib.Codec.encoding_table["37108"] = [215,235] let s:lib.Codec.encoding_table["37106"] = [215,236] let s:lib.Codec.encoding_table["37107"] = [215,237] let s:lib.Codec.encoding_table["37076"] = [215,238] let s:lib.Codec.encoding_table["37099"] = [215,239] let s:lib.Codec.encoding_table["37100"] = [215,240] let s:lib.Codec.encoding_table["37097"] = [215,241] let s:lib.Codec.encoding_table["37206"] = [215,242] let s:lib.Codec.encoding_table["37208"] = [215,243] let s:lib.Codec.encoding_table["37210"] = [215,244] let s:lib.Codec.encoding_table["37203"] = [215,245] let s:lib.Codec.encoding_table["37205"] = [215,246] let s:lib.Codec.encoding_table["37356"] = [215,247] let s:lib.Codec.encoding_table["37364"] = [215,248] let s:lib.Codec.encoding_table["37361"] = [215,249] let s:lib.Codec.encoding_table["37363"] = [215,250] let s:lib.Codec.encoding_table["37368"] = [215,251] let s:lib.Codec.encoding_table["37348"] = [215,252] let s:lib.Codec.encoding_table["37369"] = [215,253] let s:lib.Codec.encoding_table["37354"] = [215,254] let s:lib.Codec.encoding_table["37355"] = [216,64] let s:lib.Codec.encoding_table["37367"] = [216,65] let s:lib.Codec.encoding_table["37352"] = [216,66] let s:lib.Codec.encoding_table["37358"] = [216,67] let s:lib.Codec.encoding_table["38266"] = [216,68] let s:lib.Codec.encoding_table["38278"] = [216,69] let s:lib.Codec.encoding_table["38280"] = [216,70] let s:lib.Codec.encoding_table["38524"] = [216,71] let s:lib.Codec.encoding_table["38509"] = [216,72] let s:lib.Codec.encoding_table["38507"] = [216,73] let s:lib.Codec.encoding_table["38513"] = [216,74] let s:lib.Codec.encoding_table["38511"] = [216,75] let s:lib.Codec.encoding_table["38591"] = [216,76] let s:lib.Codec.encoding_table["38762"] = [216,77] let s:lib.Codec.encoding_table["38916"] = [216,78] let s:lib.Codec.encoding_table["39141"] = [216,79] let s:lib.Codec.encoding_table["39319"] = [216,80] let s:lib.Codec.encoding_table["20635"] = [216,81] let s:lib.Codec.encoding_table["20629"] = [216,82] let s:lib.Codec.encoding_table["20628"] = [216,83] let s:lib.Codec.encoding_table["20638"] = [216,84] let s:lib.Codec.encoding_table["20619"] = [216,85] let s:lib.Codec.encoding_table["20643"] = [216,86] let s:lib.Codec.encoding_table["20611"] = [216,87] let s:lib.Codec.encoding_table["20620"] = [216,88] let s:lib.Codec.encoding_table["20622"] = [216,89] let s:lib.Codec.encoding_table["20637"] = [216,90] let s:lib.Codec.encoding_table["20584"] = [216,91] let s:lib.Codec.encoding_table["20636"] = [216,92] let s:lib.Codec.encoding_table["20626"] = [216,93] let s:lib.Codec.encoding_table["20610"] = [216,94] let s:lib.Codec.encoding_table["20615"] = [216,95] let s:lib.Codec.encoding_table["20831"] = [216,96] let s:lib.Codec.encoding_table["20948"] = [216,97] let s:lib.Codec.encoding_table["21266"] = [216,98] let s:lib.Codec.encoding_table["21265"] = [216,99] let s:lib.Codec.encoding_table["21412"] = [216,100] let s:lib.Codec.encoding_table["21415"] = [216,101] let s:lib.Codec.encoding_table["21905"] = [216,102] let s:lib.Codec.encoding_table["21928"] = [216,103] let s:lib.Codec.encoding_table["21925"] = [216,104] let s:lib.Codec.encoding_table["21933"] = [216,105] let s:lib.Codec.encoding_table["21879"] = [216,106] let s:lib.Codec.encoding_table["22085"] = [216,107] let s:lib.Codec.encoding_table["21922"] = [216,108] let s:lib.Codec.encoding_table["21907"] = [216,109] let s:lib.Codec.encoding_table["21896"] = [216,110] let s:lib.Codec.encoding_table["21903"] = [216,111] let s:lib.Codec.encoding_table["21941"] = [216,112] let s:lib.Codec.encoding_table["21889"] = [216,113] let s:lib.Codec.encoding_table["21923"] = [216,114] let s:lib.Codec.encoding_table["21906"] = [216,115] let s:lib.Codec.encoding_table["21924"] = [216,116] let s:lib.Codec.encoding_table["21885"] = [216,117] let s:lib.Codec.encoding_table["21900"] = [216,118] let s:lib.Codec.encoding_table["21926"] = [216,119] let s:lib.Codec.encoding_table["21887"] = [216,120] let s:lib.Codec.encoding_table["21909"] = [216,121] let s:lib.Codec.encoding_table["21921"] = [216,122] let s:lib.Codec.encoding_table["21902"] = [216,123] let s:lib.Codec.encoding_table["22284"] = [216,124] let s:lib.Codec.encoding_table["22569"] = [216,125] let s:lib.Codec.encoding_table["22583"] = [216,126] let s:lib.Codec.encoding_table["22553"] = [216,161] let s:lib.Codec.encoding_table["22558"] = [216,162] let s:lib.Codec.encoding_table["22567"] = [216,163] let s:lib.Codec.encoding_table["22563"] = [216,164] let s:lib.Codec.encoding_table["22568"] = [216,165] let s:lib.Codec.encoding_table["22517"] = [216,166] let s:lib.Codec.encoding_table["22600"] = [216,167] let s:lib.Codec.encoding_table["22565"] = [216,168] let s:lib.Codec.encoding_table["22556"] = [216,169] let s:lib.Codec.encoding_table["22555"] = [216,170] let s:lib.Codec.encoding_table["22579"] = [216,171] let s:lib.Codec.encoding_table["22591"] = [216,172] let s:lib.Codec.encoding_table["22582"] = [216,173] let s:lib.Codec.encoding_table["22574"] = [216,174] let s:lib.Codec.encoding_table["22585"] = [216,175] let s:lib.Codec.encoding_table["22584"] = [216,176] let s:lib.Codec.encoding_table["22573"] = [216,177] let s:lib.Codec.encoding_table["22572"] = [216,178] let s:lib.Codec.encoding_table["22587"] = [216,179] let s:lib.Codec.encoding_table["22881"] = [216,180] let s:lib.Codec.encoding_table["23215"] = [216,181] let s:lib.Codec.encoding_table["23188"] = [216,182] let s:lib.Codec.encoding_table["23199"] = [216,183] let s:lib.Codec.encoding_table["23162"] = [216,184] let s:lib.Codec.encoding_table["23202"] = [216,185] let s:lib.Codec.encoding_table["23198"] = [216,186] let s:lib.Codec.encoding_table["23160"] = [216,187] let s:lib.Codec.encoding_table["23206"] = [216,188] let s:lib.Codec.encoding_table["23164"] = [216,189] let s:lib.Codec.encoding_table["23205"] = [216,190] let s:lib.Codec.encoding_table["23212"] = [216,191] let s:lib.Codec.encoding_table["23189"] = [216,192] let s:lib.Codec.encoding_table["23214"] = [216,193] let s:lib.Codec.encoding_table["23095"] = [216,194] let s:lib.Codec.encoding_table["23172"] = [216,195] let s:lib.Codec.encoding_table["23178"] = [216,196] let s:lib.Codec.encoding_table["23191"] = [216,197] let s:lib.Codec.encoding_table["23171"] = [216,198] let s:lib.Codec.encoding_table["23179"] = [216,199] let s:lib.Codec.encoding_table["23209"] = [216,200] let s:lib.Codec.encoding_table["23163"] = [216,201] let s:lib.Codec.encoding_table["23165"] = [216,202] let s:lib.Codec.encoding_table["23180"] = [216,203] let s:lib.Codec.encoding_table["23196"] = [216,204] let s:lib.Codec.encoding_table["23183"] = [216,205] let s:lib.Codec.encoding_table["23187"] = [216,206] let s:lib.Codec.encoding_table["23197"] = [216,207] let s:lib.Codec.encoding_table["23530"] = [216,208] let s:lib.Codec.encoding_table["23501"] = [216,209] let s:lib.Codec.encoding_table["23499"] = [216,210] let s:lib.Codec.encoding_table["23508"] = [216,211] let s:lib.Codec.encoding_table["23505"] = [216,212] let s:lib.Codec.encoding_table["23498"] = [216,213] let s:lib.Codec.encoding_table["23502"] = [216,214] let s:lib.Codec.encoding_table["23564"] = [216,215] let s:lib.Codec.encoding_table["23600"] = [216,216] let s:lib.Codec.encoding_table["23863"] = [216,217] let s:lib.Codec.encoding_table["23875"] = [216,218] let s:lib.Codec.encoding_table["23915"] = [216,219] let s:lib.Codec.encoding_table["23873"] = [216,220] let s:lib.Codec.encoding_table["23883"] = [216,221] let s:lib.Codec.encoding_table["23871"] = [216,222] let s:lib.Codec.encoding_table["23861"] = [216,223] let s:lib.Codec.encoding_table["23889"] = [216,224] let s:lib.Codec.encoding_table["23886"] = [216,225] let s:lib.Codec.encoding_table["23893"] = [216,226] let s:lib.Codec.encoding_table["23859"] = [216,227] let s:lib.Codec.encoding_table["23866"] = [216,228] let s:lib.Codec.encoding_table["23890"] = [216,229] let s:lib.Codec.encoding_table["23869"] = [216,230] let s:lib.Codec.encoding_table["23857"] = [216,231] let s:lib.Codec.encoding_table["23897"] = [216,232] let s:lib.Codec.encoding_table["23874"] = [216,233] let s:lib.Codec.encoding_table["23865"] = [216,234] let s:lib.Codec.encoding_table["23881"] = [216,235] let s:lib.Codec.encoding_table["23864"] = [216,236] let s:lib.Codec.encoding_table["23868"] = [216,237] let s:lib.Codec.encoding_table["23858"] = [216,238] let s:lib.Codec.encoding_table["23862"] = [216,239] let s:lib.Codec.encoding_table["23872"] = [216,240] let s:lib.Codec.encoding_table["23877"] = [216,241] let s:lib.Codec.encoding_table["24132"] = [216,242] let s:lib.Codec.encoding_table["24129"] = [216,243] let s:lib.Codec.encoding_table["24408"] = [216,244] let s:lib.Codec.encoding_table["24486"] = [216,245] let s:lib.Codec.encoding_table["24485"] = [216,246] let s:lib.Codec.encoding_table["24491"] = [216,247] let s:lib.Codec.encoding_table["24777"] = [216,248] let s:lib.Codec.encoding_table["24761"] = [216,249] let s:lib.Codec.encoding_table["24780"] = [216,250] let s:lib.Codec.encoding_table["24802"] = [216,251] let s:lib.Codec.encoding_table["24782"] = [216,252] let s:lib.Codec.encoding_table["24772"] = [216,253] let s:lib.Codec.encoding_table["24852"] = [216,254] let s:lib.Codec.encoding_table["24818"] = [217,64] let s:lib.Codec.encoding_table["24842"] = [217,65] let s:lib.Codec.encoding_table["24854"] = [217,66] let s:lib.Codec.encoding_table["24837"] = [217,67] let s:lib.Codec.encoding_table["24821"] = [217,68] let s:lib.Codec.encoding_table["24851"] = [217,69] let s:lib.Codec.encoding_table["24824"] = [217,70] let s:lib.Codec.encoding_table["24828"] = [217,71] let s:lib.Codec.encoding_table["24830"] = [217,72] let s:lib.Codec.encoding_table["24769"] = [217,73] let s:lib.Codec.encoding_table["24835"] = [217,74] let s:lib.Codec.encoding_table["24856"] = [217,75] let s:lib.Codec.encoding_table["24861"] = [217,76] let s:lib.Codec.encoding_table["24848"] = [217,77] let s:lib.Codec.encoding_table["24831"] = [217,78] let s:lib.Codec.encoding_table["24836"] = [217,79] let s:lib.Codec.encoding_table["24843"] = [217,80] let s:lib.Codec.encoding_table["25162"] = [217,81] let s:lib.Codec.encoding_table["25492"] = [217,82] let s:lib.Codec.encoding_table["25521"] = [217,83] let s:lib.Codec.encoding_table["25520"] = [217,84] let s:lib.Codec.encoding_table["25550"] = [217,85] let s:lib.Codec.encoding_table["25573"] = [217,86] let s:lib.Codec.encoding_table["25576"] = [217,87] let s:lib.Codec.encoding_table["25583"] = [217,88] let s:lib.Codec.encoding_table["25539"] = [217,89] let s:lib.Codec.encoding_table["25757"] = [217,90] let s:lib.Codec.encoding_table["25587"] = [217,91] let s:lib.Codec.encoding_table["25546"] = [217,92] let s:lib.Codec.encoding_table["25568"] = [217,93] let s:lib.Codec.encoding_table["25590"] = [217,94] let s:lib.Codec.encoding_table["25557"] = [217,95] let s:lib.Codec.encoding_table["25586"] = [217,96] let s:lib.Codec.encoding_table["25589"] = [217,97] let s:lib.Codec.encoding_table["25697"] = [217,98] let s:lib.Codec.encoding_table["25567"] = [217,99] let s:lib.Codec.encoding_table["25534"] = [217,100] let s:lib.Codec.encoding_table["25565"] = [217,101] let s:lib.Codec.encoding_table["25564"] = [217,102] let s:lib.Codec.encoding_table["25540"] = [217,103] let s:lib.Codec.encoding_table["25560"] = [217,104] let s:lib.Codec.encoding_table["25555"] = [217,105] let s:lib.Codec.encoding_table["25538"] = [217,106] let s:lib.Codec.encoding_table["25543"] = [217,107] let s:lib.Codec.encoding_table["25548"] = [217,108] let s:lib.Codec.encoding_table["25547"] = [217,109] let s:lib.Codec.encoding_table["25544"] = [217,110] let s:lib.Codec.encoding_table["25584"] = [217,111] let s:lib.Codec.encoding_table["25559"] = [217,112] let s:lib.Codec.encoding_table["25561"] = [217,113] let s:lib.Codec.encoding_table["25906"] = [217,114] let s:lib.Codec.encoding_table["25959"] = [217,115] let s:lib.Codec.encoding_table["25962"] = [217,116] let s:lib.Codec.encoding_table["25956"] = [217,117] let s:lib.Codec.encoding_table["25948"] = [217,118] let s:lib.Codec.encoding_table["25960"] = [217,119] let s:lib.Codec.encoding_table["25957"] = [217,120] let s:lib.Codec.encoding_table["25996"] = [217,121] let s:lib.Codec.encoding_table["26013"] = [217,122] let s:lib.Codec.encoding_table["26014"] = [217,123] let s:lib.Codec.encoding_table["26030"] = [217,124] let s:lib.Codec.encoding_table["26064"] = [217,125] let s:lib.Codec.encoding_table["26066"] = [217,126] let s:lib.Codec.encoding_table["26236"] = [217,161] let s:lib.Codec.encoding_table["26220"] = [217,162] let s:lib.Codec.encoding_table["26235"] = [217,163] let s:lib.Codec.encoding_table["26240"] = [217,164] let s:lib.Codec.encoding_table["26225"] = [217,165] let s:lib.Codec.encoding_table["26233"] = [217,166] let s:lib.Codec.encoding_table["26218"] = [217,167] let s:lib.Codec.encoding_table["26226"] = [217,168] let s:lib.Codec.encoding_table["26369"] = [217,169] let s:lib.Codec.encoding_table["26892"] = [217,170] let s:lib.Codec.encoding_table["26835"] = [217,171] let s:lib.Codec.encoding_table["26884"] = [217,172] let s:lib.Codec.encoding_table["26844"] = [217,173] let s:lib.Codec.encoding_table["26922"] = [217,174] let s:lib.Codec.encoding_table["26860"] = [217,175] let s:lib.Codec.encoding_table["26858"] = [217,176] let s:lib.Codec.encoding_table["26865"] = [217,177] let s:lib.Codec.encoding_table["26895"] = [217,178] let s:lib.Codec.encoding_table["26838"] = [217,179] let s:lib.Codec.encoding_table["26871"] = [217,180] let s:lib.Codec.encoding_table["26859"] = [217,181] let s:lib.Codec.encoding_table["26852"] = [217,182] let s:lib.Codec.encoding_table["26870"] = [217,183] let s:lib.Codec.encoding_table["26899"] = [217,184] let s:lib.Codec.encoding_table["26896"] = [217,185] let s:lib.Codec.encoding_table["26867"] = [217,186] let s:lib.Codec.encoding_table["26849"] = [217,187] let s:lib.Codec.encoding_table["26887"] = [217,188] let s:lib.Codec.encoding_table["26828"] = [217,189] let s:lib.Codec.encoding_table["26888"] = [217,190] let s:lib.Codec.encoding_table["26992"] = [217,191] let s:lib.Codec.encoding_table["26804"] = [217,192] let s:lib.Codec.encoding_table["26897"] = [217,193] let s:lib.Codec.encoding_table["26863"] = [217,194] let s:lib.Codec.encoding_table["26822"] = [217,195] let s:lib.Codec.encoding_table["26900"] = [217,196] let s:lib.Codec.encoding_table["26872"] = [217,197] let s:lib.Codec.encoding_table["26832"] = [217,198] let s:lib.Codec.encoding_table["26877"] = [217,199] let s:lib.Codec.encoding_table["26876"] = [217,200] let s:lib.Codec.encoding_table["26856"] = [217,201] let s:lib.Codec.encoding_table["26891"] = [217,202] let s:lib.Codec.encoding_table["26890"] = [217,203] let s:lib.Codec.encoding_table["26903"] = [217,204] let s:lib.Codec.encoding_table["26830"] = [217,205] let s:lib.Codec.encoding_table["26824"] = [217,206] let s:lib.Codec.encoding_table["26845"] = [217,207] let s:lib.Codec.encoding_table["26846"] = [217,208] let s:lib.Codec.encoding_table["26854"] = [217,209] let s:lib.Codec.encoding_table["26868"] = [217,210] let s:lib.Codec.encoding_table["26833"] = [217,211] let s:lib.Codec.encoding_table["26886"] = [217,212] let s:lib.Codec.encoding_table["26836"] = [217,213] let s:lib.Codec.encoding_table["26857"] = [217,214] let s:lib.Codec.encoding_table["26901"] = [217,215] let s:lib.Codec.encoding_table["26917"] = [217,216] let s:lib.Codec.encoding_table["26823"] = [217,217] let s:lib.Codec.encoding_table["27449"] = [217,218] let s:lib.Codec.encoding_table["27451"] = [217,219] let s:lib.Codec.encoding_table["27455"] = [217,220] let s:lib.Codec.encoding_table["27452"] = [217,221] let s:lib.Codec.encoding_table["27540"] = [217,222] let s:lib.Codec.encoding_table["27543"] = [217,223] let s:lib.Codec.encoding_table["27545"] = [217,224] let s:lib.Codec.encoding_table["27541"] = [217,225] let s:lib.Codec.encoding_table["27581"] = [217,226] let s:lib.Codec.encoding_table["27632"] = [217,227] let s:lib.Codec.encoding_table["27634"] = [217,228] let s:lib.Codec.encoding_table["27635"] = [217,229] let s:lib.Codec.encoding_table["27696"] = [217,230] let s:lib.Codec.encoding_table["28156"] = [217,231] let s:lib.Codec.encoding_table["28230"] = [217,232] let s:lib.Codec.encoding_table["28231"] = [217,233] let s:lib.Codec.encoding_table["28191"] = [217,234] let s:lib.Codec.encoding_table["28233"] = [217,235] let s:lib.Codec.encoding_table["28296"] = [217,236] let s:lib.Codec.encoding_table["28220"] = [217,237] let s:lib.Codec.encoding_table["28221"] = [217,238] let s:lib.Codec.encoding_table["28229"] = [217,239] let s:lib.Codec.encoding_table["28258"] = [217,240] let s:lib.Codec.encoding_table["28203"] = [217,241] let s:lib.Codec.encoding_table["28223"] = [217,242] let s:lib.Codec.encoding_table["28225"] = [217,243] let s:lib.Codec.encoding_table["28253"] = [217,244] let s:lib.Codec.encoding_table["28275"] = [217,245] let s:lib.Codec.encoding_table["28188"] = [217,246] let s:lib.Codec.encoding_table["28211"] = [217,247] let s:lib.Codec.encoding_table["28235"] = [217,248] let s:lib.Codec.encoding_table["28224"] = [217,249] let s:lib.Codec.encoding_table["28241"] = [217,250] let s:lib.Codec.encoding_table["28219"] = [217,251] let s:lib.Codec.encoding_table["28163"] = [217,252] let s:lib.Codec.encoding_table["28206"] = [217,253] let s:lib.Codec.encoding_table["28254"] = [217,254] let s:lib.Codec.encoding_table["28264"] = [218,64] let s:lib.Codec.encoding_table["28252"] = [218,65] let s:lib.Codec.encoding_table["28257"] = [218,66] let s:lib.Codec.encoding_table["28209"] = [218,67] let s:lib.Codec.encoding_table["28200"] = [218,68] let s:lib.Codec.encoding_table["28256"] = [218,69] let s:lib.Codec.encoding_table["28273"] = [218,70] let s:lib.Codec.encoding_table["28267"] = [218,71] let s:lib.Codec.encoding_table["28217"] = [218,72] let s:lib.Codec.encoding_table["28194"] = [218,73] let s:lib.Codec.encoding_table["28208"] = [218,74] let s:lib.Codec.encoding_table["28243"] = [218,75] let s:lib.Codec.encoding_table["28261"] = [218,76] let s:lib.Codec.encoding_table["28199"] = [218,77] let s:lib.Codec.encoding_table["28280"] = [218,78] let s:lib.Codec.encoding_table["28260"] = [218,79] let s:lib.Codec.encoding_table["28279"] = [218,80] let s:lib.Codec.encoding_table["28245"] = [218,81] let s:lib.Codec.encoding_table["28281"] = [218,82] let s:lib.Codec.encoding_table["28242"] = [218,83] let s:lib.Codec.encoding_table["28262"] = [218,84] let s:lib.Codec.encoding_table["28213"] = [218,85] let s:lib.Codec.encoding_table["28214"] = [218,86] let s:lib.Codec.encoding_table["28250"] = [218,87] let s:lib.Codec.encoding_table["28960"] = [218,88] let s:lib.Codec.encoding_table["28958"] = [218,89] let s:lib.Codec.encoding_table["28975"] = [218,90] let s:lib.Codec.encoding_table["28923"] = [218,91] let s:lib.Codec.encoding_table["28974"] = [218,92] let s:lib.Codec.encoding_table["28977"] = [218,93] let s:lib.Codec.encoding_table["28963"] = [218,94] let s:lib.Codec.encoding_table["28965"] = [218,95] let s:lib.Codec.encoding_table["28962"] = [218,96] let s:lib.Codec.encoding_table["28978"] = [218,97] let s:lib.Codec.encoding_table["28959"] = [218,98] let s:lib.Codec.encoding_table["28968"] = [218,99] let s:lib.Codec.encoding_table["28986"] = [218,100] let s:lib.Codec.encoding_table["28955"] = [218,101] let s:lib.Codec.encoding_table["29259"] = [218,102] let s:lib.Codec.encoding_table["29274"] = [218,103] let s:lib.Codec.encoding_table["29320"] = [218,104] let s:lib.Codec.encoding_table["29321"] = [218,105] let s:lib.Codec.encoding_table["29318"] = [218,106] let s:lib.Codec.encoding_table["29317"] = [218,107] let s:lib.Codec.encoding_table["29323"] = [218,108] let s:lib.Codec.encoding_table["29458"] = [218,109] let s:lib.Codec.encoding_table["29451"] = [218,110] let s:lib.Codec.encoding_table["29488"] = [218,111] let s:lib.Codec.encoding_table["29474"] = [218,112] let s:lib.Codec.encoding_table["29489"] = [218,113] let s:lib.Codec.encoding_table["29491"] = [218,114] let s:lib.Codec.encoding_table["29479"] = [218,115] let s:lib.Codec.encoding_table["29490"] = [218,116] let s:lib.Codec.encoding_table["29485"] = [218,117] let s:lib.Codec.encoding_table["29478"] = [218,118] let s:lib.Codec.encoding_table["29475"] = [218,119] let s:lib.Codec.encoding_table["29493"] = [218,120] let s:lib.Codec.encoding_table["29452"] = [218,121] let s:lib.Codec.encoding_table["29742"] = [218,122] let s:lib.Codec.encoding_table["29740"] = [218,123] let s:lib.Codec.encoding_table["29744"] = [218,124] let s:lib.Codec.encoding_table["29739"] = [218,125] let s:lib.Codec.encoding_table["29718"] = [218,126] let s:lib.Codec.encoding_table["29722"] = [218,161] let s:lib.Codec.encoding_table["29729"] = [218,162] let s:lib.Codec.encoding_table["29741"] = [218,163] let s:lib.Codec.encoding_table["29745"] = [218,164] let s:lib.Codec.encoding_table["29732"] = [218,165] let s:lib.Codec.encoding_table["29731"] = [218,166] let s:lib.Codec.encoding_table["29725"] = [218,167] let s:lib.Codec.encoding_table["29737"] = [218,168] let s:lib.Codec.encoding_table["29728"] = [218,169] let s:lib.Codec.encoding_table["29746"] = [218,170] let s:lib.Codec.encoding_table["29947"] = [218,171] let s:lib.Codec.encoding_table["29999"] = [218,172] let s:lib.Codec.encoding_table["30063"] = [218,173] let s:lib.Codec.encoding_table["30060"] = [218,174] let s:lib.Codec.encoding_table["30183"] = [218,175] let s:lib.Codec.encoding_table["30170"] = [218,176] let s:lib.Codec.encoding_table["30177"] = [218,177] let s:lib.Codec.encoding_table["30182"] = [218,178] let s:lib.Codec.encoding_table["30173"] = [218,179] let s:lib.Codec.encoding_table["30175"] = [218,180] let s:lib.Codec.encoding_table["30180"] = [218,181] let s:lib.Codec.encoding_table["30167"] = [218,182] let s:lib.Codec.encoding_table["30357"] = [218,183] let s:lib.Codec.encoding_table["30354"] = [218,184] let s:lib.Codec.encoding_table["30426"] = [218,185] let s:lib.Codec.encoding_table["30534"] = [218,186] let s:lib.Codec.encoding_table["30535"] = [218,187] let s:lib.Codec.encoding_table["30532"] = [218,188] let s:lib.Codec.encoding_table["30541"] = [218,189] let s:lib.Codec.encoding_table["30533"] = [218,190] let s:lib.Codec.encoding_table["30538"] = [218,191] let s:lib.Codec.encoding_table["30542"] = [218,192] let s:lib.Codec.encoding_table["30539"] = [218,193] let s:lib.Codec.encoding_table["30540"] = [218,194] let s:lib.Codec.encoding_table["30686"] = [218,195] let s:lib.Codec.encoding_table["30700"] = [218,196] let s:lib.Codec.encoding_table["30816"] = [218,197] let s:lib.Codec.encoding_table["30820"] = [218,198] let s:lib.Codec.encoding_table["30821"] = [218,199] let s:lib.Codec.encoding_table["30812"] = [218,200] let s:lib.Codec.encoding_table["30829"] = [218,201] let s:lib.Codec.encoding_table["30833"] = [218,202] let s:lib.Codec.encoding_table["30826"] = [218,203] let s:lib.Codec.encoding_table["30830"] = [218,204] let s:lib.Codec.encoding_table["30832"] = [218,205] let s:lib.Codec.encoding_table["30825"] = [218,206] let s:lib.Codec.encoding_table["30824"] = [218,207] let s:lib.Codec.encoding_table["30814"] = [218,208] let s:lib.Codec.encoding_table["30818"] = [218,209] let s:lib.Codec.encoding_table["31092"] = [218,210] let s:lib.Codec.encoding_table["31091"] = [218,211] let s:lib.Codec.encoding_table["31090"] = [218,212] let s:lib.Codec.encoding_table["31088"] = [218,213] let s:lib.Codec.encoding_table["31234"] = [218,214] let s:lib.Codec.encoding_table["31242"] = [218,215] let s:lib.Codec.encoding_table["31235"] = [218,216] let s:lib.Codec.encoding_table["31244"] = [218,217] let s:lib.Codec.encoding_table["31236"] = [218,218] let s:lib.Codec.encoding_table["31385"] = [218,219] let s:lib.Codec.encoding_table["31462"] = [218,220] let s:lib.Codec.encoding_table["31460"] = [218,221] let s:lib.Codec.encoding_table["31562"] = [218,222] let s:lib.Codec.encoding_table["31547"] = [218,223] let s:lib.Codec.encoding_table["31556"] = [218,224] let s:lib.Codec.encoding_table["31560"] = [218,225] let s:lib.Codec.encoding_table["31564"] = [218,226] let s:lib.Codec.encoding_table["31566"] = [218,227] let s:lib.Codec.encoding_table["31552"] = [218,228] let s:lib.Codec.encoding_table["31576"] = [218,229] let s:lib.Codec.encoding_table["31557"] = [218,230] let s:lib.Codec.encoding_table["31906"] = [218,231] let s:lib.Codec.encoding_table["31902"] = [218,232] let s:lib.Codec.encoding_table["31912"] = [218,233] let s:lib.Codec.encoding_table["31905"] = [218,234] let s:lib.Codec.encoding_table["32088"] = [218,235] let s:lib.Codec.encoding_table["32111"] = [218,236] let s:lib.Codec.encoding_table["32099"] = [218,237] let s:lib.Codec.encoding_table["32083"] = [218,238] let s:lib.Codec.encoding_table["32086"] = [218,239] let s:lib.Codec.encoding_table["32103"] = [218,240] let s:lib.Codec.encoding_table["32106"] = [218,241] let s:lib.Codec.encoding_table["32079"] = [218,242] let s:lib.Codec.encoding_table["32109"] = [218,243] let s:lib.Codec.encoding_table["32092"] = [218,244] let s:lib.Codec.encoding_table["32107"] = [218,245] let s:lib.Codec.encoding_table["32082"] = [218,246] let s:lib.Codec.encoding_table["32084"] = [218,247] let s:lib.Codec.encoding_table["32105"] = [218,248] let s:lib.Codec.encoding_table["32081"] = [218,249] let s:lib.Codec.encoding_table["32095"] = [218,250] let s:lib.Codec.encoding_table["32078"] = [218,251] let s:lib.Codec.encoding_table["32574"] = [218,252] let s:lib.Codec.encoding_table["32575"] = [218,253] let s:lib.Codec.encoding_table["32613"] = [218,254] let s:lib.Codec.encoding_table["32614"] = [219,64] let s:lib.Codec.encoding_table["32674"] = [219,65] let s:lib.Codec.encoding_table["32672"] = [219,66] let s:lib.Codec.encoding_table["32673"] = [219,67] let s:lib.Codec.encoding_table["32727"] = [219,68] let s:lib.Codec.encoding_table["32849"] = [219,69] let s:lib.Codec.encoding_table["32847"] = [219,70] let s:lib.Codec.encoding_table["32848"] = [219,71] let s:lib.Codec.encoding_table["33022"] = [219,72] let s:lib.Codec.encoding_table["32980"] = [219,73] let s:lib.Codec.encoding_table["33091"] = [219,74] let s:lib.Codec.encoding_table["33098"] = [219,75] let s:lib.Codec.encoding_table["33106"] = [219,76] let s:lib.Codec.encoding_table["33103"] = [219,77] let s:lib.Codec.encoding_table["33095"] = [219,78] let s:lib.Codec.encoding_table["33085"] = [219,79] let s:lib.Codec.encoding_table["33101"] = [219,80] let s:lib.Codec.encoding_table["33082"] = [219,81] let s:lib.Codec.encoding_table["33254"] = [219,82] let s:lib.Codec.encoding_table["33262"] = [219,83] let s:lib.Codec.encoding_table["33271"] = [219,84] let s:lib.Codec.encoding_table["33272"] = [219,85] let s:lib.Codec.encoding_table["33273"] = [219,86] let s:lib.Codec.encoding_table["33284"] = [219,87] let s:lib.Codec.encoding_table["33340"] = [219,88] let s:lib.Codec.encoding_table["33341"] = [219,89] let s:lib.Codec.encoding_table["33343"] = [219,90] let s:lib.Codec.encoding_table["33397"] = [219,91] let s:lib.Codec.encoding_table["33595"] = [219,92] let s:lib.Codec.encoding_table["33743"] = [219,93] let s:lib.Codec.encoding_table["33785"] = [219,94] let s:lib.Codec.encoding_table["33827"] = [219,95] let s:lib.Codec.encoding_table["33728"] = [219,96] let s:lib.Codec.encoding_table["33768"] = [219,97] let s:lib.Codec.encoding_table["33810"] = [219,98] let s:lib.Codec.encoding_table["33767"] = [219,99] let s:lib.Codec.encoding_table["33764"] = [219,100] let s:lib.Codec.encoding_table["33788"] = [219,101] let s:lib.Codec.encoding_table["33782"] = [219,102] let s:lib.Codec.encoding_table["33808"] = [219,103] let s:lib.Codec.encoding_table["33734"] = [219,104] let s:lib.Codec.encoding_table["33736"] = [219,105] let s:lib.Codec.encoding_table["33771"] = [219,106] let s:lib.Codec.encoding_table["33763"] = [219,107] let s:lib.Codec.encoding_table["33727"] = [219,108] let s:lib.Codec.encoding_table["33793"] = [219,109] let s:lib.Codec.encoding_table["33757"] = [219,110] let s:lib.Codec.encoding_table["33765"] = [219,111] let s:lib.Codec.encoding_table["33752"] = [219,112] let s:lib.Codec.encoding_table["33791"] = [219,113] let s:lib.Codec.encoding_table["33761"] = [219,114] let s:lib.Codec.encoding_table["33739"] = [219,115] let s:lib.Codec.encoding_table["33742"] = [219,116] let s:lib.Codec.encoding_table["33750"] = [219,117] let s:lib.Codec.encoding_table["33781"] = [219,118] let s:lib.Codec.encoding_table["33737"] = [219,119] let s:lib.Codec.encoding_table["33801"] = [219,120] let s:lib.Codec.encoding_table["33807"] = [219,121] let s:lib.Codec.encoding_table["33758"] = [219,122] let s:lib.Codec.encoding_table["33809"] = [219,123] let s:lib.Codec.encoding_table["33798"] = [219,124] let s:lib.Codec.encoding_table["33730"] = [219,125] let s:lib.Codec.encoding_table["33779"] = [219,126] let s:lib.Codec.encoding_table["33749"] = [219,161] let s:lib.Codec.encoding_table["33786"] = [219,162] let s:lib.Codec.encoding_table["33735"] = [219,163] let s:lib.Codec.encoding_table["33745"] = [219,164] let s:lib.Codec.encoding_table["33770"] = [219,165] let s:lib.Codec.encoding_table["33811"] = [219,166] let s:lib.Codec.encoding_table["33731"] = [219,167] let s:lib.Codec.encoding_table["33772"] = [219,168] let s:lib.Codec.encoding_table["33774"] = [219,169] let s:lib.Codec.encoding_table["33732"] = [219,170] let s:lib.Codec.encoding_table["33787"] = [219,171] let s:lib.Codec.encoding_table["33751"] = [219,172] let s:lib.Codec.encoding_table["33762"] = [219,173] let s:lib.Codec.encoding_table["33819"] = [219,174] let s:lib.Codec.encoding_table["33755"] = [219,175] let s:lib.Codec.encoding_table["33790"] = [219,176] let s:lib.Codec.encoding_table["34520"] = [219,177] let s:lib.Codec.encoding_table["34530"] = [219,178] let s:lib.Codec.encoding_table["34534"] = [219,179] let s:lib.Codec.encoding_table["34515"] = [219,180] let s:lib.Codec.encoding_table["34531"] = [219,181] let s:lib.Codec.encoding_table["34522"] = [219,182] let s:lib.Codec.encoding_table["34538"] = [219,183] let s:lib.Codec.encoding_table["34525"] = [219,184] let s:lib.Codec.encoding_table["34539"] = [219,185] let s:lib.Codec.encoding_table["34524"] = [219,186] let s:lib.Codec.encoding_table["34540"] = [219,187] let s:lib.Codec.encoding_table["34537"] = [219,188] let s:lib.Codec.encoding_table["34519"] = [219,189] let s:lib.Codec.encoding_table["34536"] = [219,190] let s:lib.Codec.encoding_table["34513"] = [219,191] let s:lib.Codec.encoding_table["34888"] = [219,192] let s:lib.Codec.encoding_table["34902"] = [219,193] let s:lib.Codec.encoding_table["34901"] = [219,194] let s:lib.Codec.encoding_table["35002"] = [219,195] let s:lib.Codec.encoding_table["35031"] = [219,196] let s:lib.Codec.encoding_table["35001"] = [219,197] let s:lib.Codec.encoding_table["35000"] = [219,198] let s:lib.Codec.encoding_table["35008"] = [219,199] let s:lib.Codec.encoding_table["35006"] = [219,200] let s:lib.Codec.encoding_table["34998"] = [219,201] let s:lib.Codec.encoding_table["35004"] = [219,202] let s:lib.Codec.encoding_table["34999"] = [219,203] let s:lib.Codec.encoding_table["35005"] = [219,204] let s:lib.Codec.encoding_table["34994"] = [219,205] let s:lib.Codec.encoding_table["35073"] = [219,206] let s:lib.Codec.encoding_table["35017"] = [219,207] let s:lib.Codec.encoding_table["35221"] = [219,208] let s:lib.Codec.encoding_table["35224"] = [219,209] let s:lib.Codec.encoding_table["35223"] = [219,210] let s:lib.Codec.encoding_table["35293"] = [219,211] let s:lib.Codec.encoding_table["35290"] = [219,212] let s:lib.Codec.encoding_table["35291"] = [219,213] let s:lib.Codec.encoding_table["35406"] = [219,214] let s:lib.Codec.encoding_table["35405"] = [219,215] let s:lib.Codec.encoding_table["35385"] = [219,216] let s:lib.Codec.encoding_table["35417"] = [219,217] let s:lib.Codec.encoding_table["35392"] = [219,218] let s:lib.Codec.encoding_table["35415"] = [219,219] let s:lib.Codec.encoding_table["35416"] = [219,220] let s:lib.Codec.encoding_table["35396"] = [219,221] let s:lib.Codec.encoding_table["35397"] = [219,222] let s:lib.Codec.encoding_table["35410"] = [219,223] let s:lib.Codec.encoding_table["35400"] = [219,224] let s:lib.Codec.encoding_table["35409"] = [219,225] let s:lib.Codec.encoding_table["35402"] = [219,226] let s:lib.Codec.encoding_table["35404"] = [219,227] let s:lib.Codec.encoding_table["35407"] = [219,228] let s:lib.Codec.encoding_table["35935"] = [219,229] let s:lib.Codec.encoding_table["35969"] = [219,230] let s:lib.Codec.encoding_table["35968"] = [219,231] let s:lib.Codec.encoding_table["36026"] = [219,232] let s:lib.Codec.encoding_table["36030"] = [219,233] let s:lib.Codec.encoding_table["36016"] = [219,234] let s:lib.Codec.encoding_table["36025"] = [219,235] let s:lib.Codec.encoding_table["36021"] = [219,236] let s:lib.Codec.encoding_table["36228"] = [219,237] let s:lib.Codec.encoding_table["36224"] = [219,238] let s:lib.Codec.encoding_table["36233"] = [219,239] let s:lib.Codec.encoding_table["36312"] = [219,240] let s:lib.Codec.encoding_table["36307"] = [219,241] let s:lib.Codec.encoding_table["36301"] = [219,242] let s:lib.Codec.encoding_table["36295"] = [219,243] let s:lib.Codec.encoding_table["36310"] = [219,244] let s:lib.Codec.encoding_table["36316"] = [219,245] let s:lib.Codec.encoding_table["36303"] = [219,246] let s:lib.Codec.encoding_table["36309"] = [219,247] let s:lib.Codec.encoding_table["36313"] = [219,248] let s:lib.Codec.encoding_table["36296"] = [219,249] let s:lib.Codec.encoding_table["36311"] = [219,250] let s:lib.Codec.encoding_table["36293"] = [219,251] let s:lib.Codec.encoding_table["36591"] = [219,252] let s:lib.Codec.encoding_table["36599"] = [219,253] let s:lib.Codec.encoding_table["36602"] = [219,254] let s:lib.Codec.encoding_table["36601"] = [220,64] let s:lib.Codec.encoding_table["36582"] = [220,65] let s:lib.Codec.encoding_table["36590"] = [220,66] let s:lib.Codec.encoding_table["36581"] = [220,67] let s:lib.Codec.encoding_table["36597"] = [220,68] let s:lib.Codec.encoding_table["36583"] = [220,69] let s:lib.Codec.encoding_table["36584"] = [220,70] let s:lib.Codec.encoding_table["36598"] = [220,71] let s:lib.Codec.encoding_table["36587"] = [220,72] let s:lib.Codec.encoding_table["36593"] = [220,73] let s:lib.Codec.encoding_table["36588"] = [220,74] let s:lib.Codec.encoding_table["36596"] = [220,75] let s:lib.Codec.encoding_table["36585"] = [220,76] let s:lib.Codec.encoding_table["36909"] = [220,77] let s:lib.Codec.encoding_table["36916"] = [220,78] let s:lib.Codec.encoding_table["36911"] = [220,79] let s:lib.Codec.encoding_table["37126"] = [220,80] let s:lib.Codec.encoding_table["37164"] = [220,81] let s:lib.Codec.encoding_table["37124"] = [220,82] let s:lib.Codec.encoding_table["37119"] = [220,83] let s:lib.Codec.encoding_table["37116"] = [220,84] let s:lib.Codec.encoding_table["37128"] = [220,85] let s:lib.Codec.encoding_table["37113"] = [220,86] let s:lib.Codec.encoding_table["37115"] = [220,87] let s:lib.Codec.encoding_table["37121"] = [220,88] let s:lib.Codec.encoding_table["37120"] = [220,89] let s:lib.Codec.encoding_table["37127"] = [220,90] let s:lib.Codec.encoding_table["37125"] = [220,91] let s:lib.Codec.encoding_table["37123"] = [220,92] let s:lib.Codec.encoding_table["37217"] = [220,93] let s:lib.Codec.encoding_table["37220"] = [220,94] let s:lib.Codec.encoding_table["37215"] = [220,95] let s:lib.Codec.encoding_table["37218"] = [220,96] let s:lib.Codec.encoding_table["37216"] = [220,97] let s:lib.Codec.encoding_table["37377"] = [220,98] let s:lib.Codec.encoding_table["37386"] = [220,99] let s:lib.Codec.encoding_table["37413"] = [220,100] let s:lib.Codec.encoding_table["37379"] = [220,101] let s:lib.Codec.encoding_table["37402"] = [220,102] let s:lib.Codec.encoding_table["37414"] = [220,103] let s:lib.Codec.encoding_table["37391"] = [220,104] let s:lib.Codec.encoding_table["37388"] = [220,105] let s:lib.Codec.encoding_table["37376"] = [220,106] let s:lib.Codec.encoding_table["37394"] = [220,107] let s:lib.Codec.encoding_table["37375"] = [220,108] let s:lib.Codec.encoding_table["37373"] = [220,109] let s:lib.Codec.encoding_table["37382"] = [220,110] let s:lib.Codec.encoding_table["37380"] = [220,111] let s:lib.Codec.encoding_table["37415"] = [220,112] let s:lib.Codec.encoding_table["37378"] = [220,113] let s:lib.Codec.encoding_table["37404"] = [220,114] let s:lib.Codec.encoding_table["37412"] = [220,115] let s:lib.Codec.encoding_table["37401"] = [220,116] let s:lib.Codec.encoding_table["37399"] = [220,117] let s:lib.Codec.encoding_table["37381"] = [220,118] let s:lib.Codec.encoding_table["37398"] = [220,119] let s:lib.Codec.encoding_table["38267"] = [220,120] let s:lib.Codec.encoding_table["38285"] = [220,121] let s:lib.Codec.encoding_table["38284"] = [220,122] let s:lib.Codec.encoding_table["38288"] = [220,123] let s:lib.Codec.encoding_table["38535"] = [220,124] let s:lib.Codec.encoding_table["38526"] = [220,125] let s:lib.Codec.encoding_table["38536"] = [220,126] let s:lib.Codec.encoding_table["38537"] = [220,161] let s:lib.Codec.encoding_table["38531"] = [220,162] let s:lib.Codec.encoding_table["38528"] = [220,163] let s:lib.Codec.encoding_table["38594"] = [220,164] let s:lib.Codec.encoding_table["38600"] = [220,165] let s:lib.Codec.encoding_table["38595"] = [220,166] let s:lib.Codec.encoding_table["38641"] = [220,167] let s:lib.Codec.encoding_table["38640"] = [220,168] let s:lib.Codec.encoding_table["38764"] = [220,169] let s:lib.Codec.encoding_table["38768"] = [220,170] let s:lib.Codec.encoding_table["38766"] = [220,171] let s:lib.Codec.encoding_table["38919"] = [220,172] let s:lib.Codec.encoding_table["39081"] = [220,173] let s:lib.Codec.encoding_table["39147"] = [220,174] let s:lib.Codec.encoding_table["40166"] = [220,175] let s:lib.Codec.encoding_table["40697"] = [220,176] let s:lib.Codec.encoding_table["20099"] = [220,177] let s:lib.Codec.encoding_table["20100"] = [220,178] let s:lib.Codec.encoding_table["20150"] = [220,179] let s:lib.Codec.encoding_table["20669"] = [220,180] let s:lib.Codec.encoding_table["20671"] = [220,181] let s:lib.Codec.encoding_table["20678"] = [220,182] let s:lib.Codec.encoding_table["20654"] = [220,183] let s:lib.Codec.encoding_table["20676"] = [220,184] let s:lib.Codec.encoding_table["20682"] = [220,185] let s:lib.Codec.encoding_table["20660"] = [220,186] let s:lib.Codec.encoding_table["20680"] = [220,187] let s:lib.Codec.encoding_table["20674"] = [220,188] let s:lib.Codec.encoding_table["20656"] = [220,189] let s:lib.Codec.encoding_table["20673"] = [220,190] let s:lib.Codec.encoding_table["20666"] = [220,191] let s:lib.Codec.encoding_table["20657"] = [220,192] let s:lib.Codec.encoding_table["20683"] = [220,193] let s:lib.Codec.encoding_table["20681"] = [220,194] let s:lib.Codec.encoding_table["20662"] = [220,195] let s:lib.Codec.encoding_table["20664"] = [220,196] let s:lib.Codec.encoding_table["20951"] = [220,197] let s:lib.Codec.encoding_table["21114"] = [220,198] let s:lib.Codec.encoding_table["21112"] = [220,199] let s:lib.Codec.encoding_table["21115"] = [220,200] let s:lib.Codec.encoding_table["21116"] = [220,201] let s:lib.Codec.encoding_table["21955"] = [220,202] let s:lib.Codec.encoding_table["21979"] = [220,203] let s:lib.Codec.encoding_table["21964"] = [220,204] let s:lib.Codec.encoding_table["21968"] = [220,205] let s:lib.Codec.encoding_table["21963"] = [220,206] let s:lib.Codec.encoding_table["21962"] = [220,207] let s:lib.Codec.encoding_table["21981"] = [220,208] let s:lib.Codec.encoding_table["21952"] = [220,209] let s:lib.Codec.encoding_table["21972"] = [220,210] let s:lib.Codec.encoding_table["21956"] = [220,211] let s:lib.Codec.encoding_table["21993"] = [220,212] let s:lib.Codec.encoding_table["21951"] = [220,213] let s:lib.Codec.encoding_table["21970"] = [220,214] let s:lib.Codec.encoding_table["21901"] = [220,215] let s:lib.Codec.encoding_table["21967"] = [220,216] let s:lib.Codec.encoding_table["21973"] = [220,217] let s:lib.Codec.encoding_table["21986"] = [220,218] let s:lib.Codec.encoding_table["21974"] = [220,219] let s:lib.Codec.encoding_table["21960"] = [220,220] let s:lib.Codec.encoding_table["22002"] = [220,221] let s:lib.Codec.encoding_table["21965"] = [220,222] let s:lib.Codec.encoding_table["21977"] = [220,223] let s:lib.Codec.encoding_table["21954"] = [220,224] let s:lib.Codec.encoding_table["22292"] = [220,225] let s:lib.Codec.encoding_table["22611"] = [220,226] let s:lib.Codec.encoding_table["22632"] = [220,227] let s:lib.Codec.encoding_table["22628"] = [220,228] let s:lib.Codec.encoding_table["22607"] = [220,229] let s:lib.Codec.encoding_table["22605"] = [220,230] let s:lib.Codec.encoding_table["22601"] = [220,231] let s:lib.Codec.encoding_table["22639"] = [220,232] let s:lib.Codec.encoding_table["22613"] = [220,233] let s:lib.Codec.encoding_table["22606"] = [220,234] let s:lib.Codec.encoding_table["22621"] = [220,235] let s:lib.Codec.encoding_table["22617"] = [220,236] let s:lib.Codec.encoding_table["22629"] = [220,237] let s:lib.Codec.encoding_table["22619"] = [220,238] let s:lib.Codec.encoding_table["22589"] = [220,239] let s:lib.Codec.encoding_table["22627"] = [220,240] let s:lib.Codec.encoding_table["22641"] = [220,241] let s:lib.Codec.encoding_table["22780"] = [220,242] let s:lib.Codec.encoding_table["23239"] = [220,243] let s:lib.Codec.encoding_table["23236"] = [220,244] let s:lib.Codec.encoding_table["23243"] = [220,245] let s:lib.Codec.encoding_table["23226"] = [220,246] let s:lib.Codec.encoding_table["23224"] = [220,247] let s:lib.Codec.encoding_table["23217"] = [220,248] let s:lib.Codec.encoding_table["23221"] = [220,249] let s:lib.Codec.encoding_table["23216"] = [220,250] let s:lib.Codec.encoding_table["23231"] = [220,251] let s:lib.Codec.encoding_table["23240"] = [220,252] let s:lib.Codec.encoding_table["23227"] = [220,253] let s:lib.Codec.encoding_table["23238"] = [220,254] let s:lib.Codec.encoding_table["23223"] = [221,64] let s:lib.Codec.encoding_table["23232"] = [221,65] let s:lib.Codec.encoding_table["23242"] = [221,66] let s:lib.Codec.encoding_table["23220"] = [221,67] let s:lib.Codec.encoding_table["23222"] = [221,68] let s:lib.Codec.encoding_table["23245"] = [221,69] let s:lib.Codec.encoding_table["23225"] = [221,70] let s:lib.Codec.encoding_table["23184"] = [221,71] let s:lib.Codec.encoding_table["23510"] = [221,72] let s:lib.Codec.encoding_table["23512"] = [221,73] let s:lib.Codec.encoding_table["23513"] = [221,74] let s:lib.Codec.encoding_table["23583"] = [221,75] let s:lib.Codec.encoding_table["23603"] = [221,76] let s:lib.Codec.encoding_table["23921"] = [221,77] let s:lib.Codec.encoding_table["23907"] = [221,78] let s:lib.Codec.encoding_table["23882"] = [221,79] let s:lib.Codec.encoding_table["23909"] = [221,80] let s:lib.Codec.encoding_table["23922"] = [221,81] let s:lib.Codec.encoding_table["23916"] = [221,82] let s:lib.Codec.encoding_table["23902"] = [221,83] let s:lib.Codec.encoding_table["23912"] = [221,84] let s:lib.Codec.encoding_table["23911"] = [221,85] let s:lib.Codec.encoding_table["23906"] = [221,86] let s:lib.Codec.encoding_table["24048"] = [221,87] let s:lib.Codec.encoding_table["24143"] = [221,88] let s:lib.Codec.encoding_table["24142"] = [221,89] let s:lib.Codec.encoding_table["24138"] = [221,90] let s:lib.Codec.encoding_table["24141"] = [221,91] let s:lib.Codec.encoding_table["24139"] = [221,92] let s:lib.Codec.encoding_table["24261"] = [221,93] let s:lib.Codec.encoding_table["24268"] = [221,94] let s:lib.Codec.encoding_table["24262"] = [221,95] let s:lib.Codec.encoding_table["24267"] = [221,96] let s:lib.Codec.encoding_table["24263"] = [221,97] let s:lib.Codec.encoding_table["24384"] = [221,98] let s:lib.Codec.encoding_table["24495"] = [221,99] let s:lib.Codec.encoding_table["24493"] = [221,100] let s:lib.Codec.encoding_table["24823"] = [221,101] let s:lib.Codec.encoding_table["24905"] = [221,102] let s:lib.Codec.encoding_table["24906"] = [221,103] let s:lib.Codec.encoding_table["24875"] = [221,104] let s:lib.Codec.encoding_table["24901"] = [221,105] let s:lib.Codec.encoding_table["24886"] = [221,106] let s:lib.Codec.encoding_table["24882"] = [221,107] let s:lib.Codec.encoding_table["24878"] = [221,108] let s:lib.Codec.encoding_table["24902"] = [221,109] let s:lib.Codec.encoding_table["24879"] = [221,110] let s:lib.Codec.encoding_table["24911"] = [221,111] let s:lib.Codec.encoding_table["24873"] = [221,112] let s:lib.Codec.encoding_table["24896"] = [221,113] let s:lib.Codec.encoding_table["25120"] = [221,114] let s:lib.Codec.encoding_table["37224"] = [221,115] let s:lib.Codec.encoding_table["25123"] = [221,116] let s:lib.Codec.encoding_table["25125"] = [221,117] let s:lib.Codec.encoding_table["25124"] = [221,118] let s:lib.Codec.encoding_table["25541"] = [221,119] let s:lib.Codec.encoding_table["25585"] = [221,120] let s:lib.Codec.encoding_table["25579"] = [221,121] let s:lib.Codec.encoding_table["25616"] = [221,122] let s:lib.Codec.encoding_table["25618"] = [221,123] let s:lib.Codec.encoding_table["25609"] = [221,124] let s:lib.Codec.encoding_table["25632"] = [221,125] let s:lib.Codec.encoding_table["25636"] = [221,126] let s:lib.Codec.encoding_table["25651"] = [221,161] let s:lib.Codec.encoding_table["25667"] = [221,162] let s:lib.Codec.encoding_table["25631"] = [221,163] let s:lib.Codec.encoding_table["25621"] = [221,164] let s:lib.Codec.encoding_table["25624"] = [221,165] let s:lib.Codec.encoding_table["25657"] = [221,166] let s:lib.Codec.encoding_table["25655"] = [221,167] let s:lib.Codec.encoding_table["25634"] = [221,168] let s:lib.Codec.encoding_table["25635"] = [221,169] let s:lib.Codec.encoding_table["25612"] = [221,170] let s:lib.Codec.encoding_table["25638"] = [221,171] let s:lib.Codec.encoding_table["25648"] = [221,172] let s:lib.Codec.encoding_table["25640"] = [221,173] let s:lib.Codec.encoding_table["25665"] = [221,174] let s:lib.Codec.encoding_table["25653"] = [221,175] let s:lib.Codec.encoding_table["25647"] = [221,176] let s:lib.Codec.encoding_table["25610"] = [221,177] let s:lib.Codec.encoding_table["25626"] = [221,178] let s:lib.Codec.encoding_table["25664"] = [221,179] let s:lib.Codec.encoding_table["25637"] = [221,180] let s:lib.Codec.encoding_table["25639"] = [221,181] let s:lib.Codec.encoding_table["25611"] = [221,182] let s:lib.Codec.encoding_table["25575"] = [221,183] let s:lib.Codec.encoding_table["25627"] = [221,184] let s:lib.Codec.encoding_table["25646"] = [221,185] let s:lib.Codec.encoding_table["25633"] = [221,186] let s:lib.Codec.encoding_table["25614"] = [221,187] let s:lib.Codec.encoding_table["25967"] = [221,188] let s:lib.Codec.encoding_table["26002"] = [221,189] let s:lib.Codec.encoding_table["26067"] = [221,190] let s:lib.Codec.encoding_table["26246"] = [221,191] let s:lib.Codec.encoding_table["26252"] = [221,192] let s:lib.Codec.encoding_table["26261"] = [221,193] let s:lib.Codec.encoding_table["26256"] = [221,194] let s:lib.Codec.encoding_table["26251"] = [221,195] let s:lib.Codec.encoding_table["26250"] = [221,196] let s:lib.Codec.encoding_table["26265"] = [221,197] let s:lib.Codec.encoding_table["26260"] = [221,198] let s:lib.Codec.encoding_table["26232"] = [221,199] let s:lib.Codec.encoding_table["26400"] = [221,200] let s:lib.Codec.encoding_table["26982"] = [221,201] let s:lib.Codec.encoding_table["26975"] = [221,202] let s:lib.Codec.encoding_table["26936"] = [221,203] let s:lib.Codec.encoding_table["26958"] = [221,204] let s:lib.Codec.encoding_table["26978"] = [221,205] let s:lib.Codec.encoding_table["26993"] = [221,206] let s:lib.Codec.encoding_table["26943"] = [221,207] let s:lib.Codec.encoding_table["26949"] = [221,208] let s:lib.Codec.encoding_table["26986"] = [221,209] let s:lib.Codec.encoding_table["26937"] = [221,210] let s:lib.Codec.encoding_table["26946"] = [221,211] let s:lib.Codec.encoding_table["26967"] = [221,212] let s:lib.Codec.encoding_table["26969"] = [221,213] let s:lib.Codec.encoding_table["27002"] = [221,214] let s:lib.Codec.encoding_table["26952"] = [221,215] let s:lib.Codec.encoding_table["26953"] = [221,216] let s:lib.Codec.encoding_table["26933"] = [221,217] let s:lib.Codec.encoding_table["26988"] = [221,218] let s:lib.Codec.encoding_table["26931"] = [221,219] let s:lib.Codec.encoding_table["26941"] = [221,220] let s:lib.Codec.encoding_table["26981"] = [221,221] let s:lib.Codec.encoding_table["26864"] = [221,222] let s:lib.Codec.encoding_table["27000"] = [221,223] let s:lib.Codec.encoding_table["26932"] = [221,224] let s:lib.Codec.encoding_table["26985"] = [221,225] let s:lib.Codec.encoding_table["26944"] = [221,226] let s:lib.Codec.encoding_table["26991"] = [221,227] let s:lib.Codec.encoding_table["26948"] = [221,228] let s:lib.Codec.encoding_table["26998"] = [221,229] let s:lib.Codec.encoding_table["26968"] = [221,230] let s:lib.Codec.encoding_table["26945"] = [221,231] let s:lib.Codec.encoding_table["26996"] = [221,232] let s:lib.Codec.encoding_table["26956"] = [221,233] let s:lib.Codec.encoding_table["26939"] = [221,234] let s:lib.Codec.encoding_table["26955"] = [221,235] let s:lib.Codec.encoding_table["26935"] = [221,236] let s:lib.Codec.encoding_table["26972"] = [221,237] let s:lib.Codec.encoding_table["26959"] = [221,238] let s:lib.Codec.encoding_table["26961"] = [221,239] let s:lib.Codec.encoding_table["26930"] = [221,240] let s:lib.Codec.encoding_table["26962"] = [221,241] let s:lib.Codec.encoding_table["26927"] = [221,242] let s:lib.Codec.encoding_table["27003"] = [221,243] let s:lib.Codec.encoding_table["26940"] = [221,244] let s:lib.Codec.encoding_table["27462"] = [221,245] let s:lib.Codec.encoding_table["27461"] = [221,246] let s:lib.Codec.encoding_table["27459"] = [221,247] let s:lib.Codec.encoding_table["27458"] = [221,248] let s:lib.Codec.encoding_table["27464"] = [221,249] let s:lib.Codec.encoding_table["27457"] = [221,250] let s:lib.Codec.encoding_table["27547"] = [221,251] let s:lib.Codec.encoding_table["64013"] = [221,252] let s:lib.Codec.encoding_table["27643"] = [221,253] let s:lib.Codec.encoding_table["27644"] = [221,254] let s:lib.Codec.encoding_table["27641"] = [222,64] let s:lib.Codec.encoding_table["27639"] = [222,65] let s:lib.Codec.encoding_table["27640"] = [222,66] let s:lib.Codec.encoding_table["28315"] = [222,67] let s:lib.Codec.encoding_table["28374"] = [222,68] let s:lib.Codec.encoding_table["28360"] = [222,69] let s:lib.Codec.encoding_table["28303"] = [222,70] let s:lib.Codec.encoding_table["28352"] = [222,71] let s:lib.Codec.encoding_table["28319"] = [222,72] let s:lib.Codec.encoding_table["28307"] = [222,73] let s:lib.Codec.encoding_table["28308"] = [222,74] let s:lib.Codec.encoding_table["28320"] = [222,75] let s:lib.Codec.encoding_table["28337"] = [222,76] let s:lib.Codec.encoding_table["28345"] = [222,77] let s:lib.Codec.encoding_table["28358"] = [222,78] let s:lib.Codec.encoding_table["28370"] = [222,79] let s:lib.Codec.encoding_table["28349"] = [222,80] let s:lib.Codec.encoding_table["28353"] = [222,81] let s:lib.Codec.encoding_table["28318"] = [222,82] let s:lib.Codec.encoding_table["28361"] = [222,83] let s:lib.Codec.encoding_table["28343"] = [222,84] let s:lib.Codec.encoding_table["28336"] = [222,85] let s:lib.Codec.encoding_table["28365"] = [222,86] let s:lib.Codec.encoding_table["28326"] = [222,87] let s:lib.Codec.encoding_table["28367"] = [222,88] let s:lib.Codec.encoding_table["28338"] = [222,89] let s:lib.Codec.encoding_table["28350"] = [222,90] let s:lib.Codec.encoding_table["28355"] = [222,91] let s:lib.Codec.encoding_table["28380"] = [222,92] let s:lib.Codec.encoding_table["28376"] = [222,93] let s:lib.Codec.encoding_table["28313"] = [222,94] let s:lib.Codec.encoding_table["28306"] = [222,95] let s:lib.Codec.encoding_table["28302"] = [222,96] let s:lib.Codec.encoding_table["28301"] = [222,97] let s:lib.Codec.encoding_table["28324"] = [222,98] let s:lib.Codec.encoding_table["28321"] = [222,99] let s:lib.Codec.encoding_table["28351"] = [222,100] let s:lib.Codec.encoding_table["28339"] = [222,101] let s:lib.Codec.encoding_table["28368"] = [222,102] let s:lib.Codec.encoding_table["28362"] = [222,103] let s:lib.Codec.encoding_table["28311"] = [222,104] let s:lib.Codec.encoding_table["28334"] = [222,105] let s:lib.Codec.encoding_table["28323"] = [222,106] let s:lib.Codec.encoding_table["28999"] = [222,107] let s:lib.Codec.encoding_table["29012"] = [222,108] let s:lib.Codec.encoding_table["29010"] = [222,109] let s:lib.Codec.encoding_table["29027"] = [222,110] let s:lib.Codec.encoding_table["29024"] = [222,111] let s:lib.Codec.encoding_table["28993"] = [222,112] let s:lib.Codec.encoding_table["29021"] = [222,113] let s:lib.Codec.encoding_table["29026"] = [222,114] let s:lib.Codec.encoding_table["29042"] = [222,115] let s:lib.Codec.encoding_table["29048"] = [222,116] let s:lib.Codec.encoding_table["29034"] = [222,117] let s:lib.Codec.encoding_table["29025"] = [222,118] let s:lib.Codec.encoding_table["28994"] = [222,119] let s:lib.Codec.encoding_table["29016"] = [222,120] let s:lib.Codec.encoding_table["28995"] = [222,121] let s:lib.Codec.encoding_table["29003"] = [222,122] let s:lib.Codec.encoding_table["29040"] = [222,123] let s:lib.Codec.encoding_table["29023"] = [222,124] let s:lib.Codec.encoding_table["29008"] = [222,125] let s:lib.Codec.encoding_table["29011"] = [222,126] let s:lib.Codec.encoding_table["28996"] = [222,161] let s:lib.Codec.encoding_table["29005"] = [222,162] let s:lib.Codec.encoding_table["29018"] = [222,163] let s:lib.Codec.encoding_table["29263"] = [222,164] let s:lib.Codec.encoding_table["29325"] = [222,165] let s:lib.Codec.encoding_table["29324"] = [222,166] let s:lib.Codec.encoding_table["29329"] = [222,167] let s:lib.Codec.encoding_table["29328"] = [222,168] let s:lib.Codec.encoding_table["29326"] = [222,169] let s:lib.Codec.encoding_table["29500"] = [222,170] let s:lib.Codec.encoding_table["29506"] = [222,171] let s:lib.Codec.encoding_table["29499"] = [222,172] let s:lib.Codec.encoding_table["29498"] = [222,173] let s:lib.Codec.encoding_table["29504"] = [222,174] let s:lib.Codec.encoding_table["29514"] = [222,175] let s:lib.Codec.encoding_table["29513"] = [222,176] let s:lib.Codec.encoding_table["29764"] = [222,177] let s:lib.Codec.encoding_table["29770"] = [222,178] let s:lib.Codec.encoding_table["29771"] = [222,179] let s:lib.Codec.encoding_table["29778"] = [222,180] let s:lib.Codec.encoding_table["29777"] = [222,181] let s:lib.Codec.encoding_table["29783"] = [222,182] let s:lib.Codec.encoding_table["29760"] = [222,183] let s:lib.Codec.encoding_table["29775"] = [222,184] let s:lib.Codec.encoding_table["29776"] = [222,185] let s:lib.Codec.encoding_table["29774"] = [222,186] let s:lib.Codec.encoding_table["29762"] = [222,187] let s:lib.Codec.encoding_table["29766"] = [222,188] let s:lib.Codec.encoding_table["29773"] = [222,189] let s:lib.Codec.encoding_table["29780"] = [222,190] let s:lib.Codec.encoding_table["29921"] = [222,191] let s:lib.Codec.encoding_table["29951"] = [222,192] let s:lib.Codec.encoding_table["29950"] = [222,193] let s:lib.Codec.encoding_table["29949"] = [222,194] let s:lib.Codec.encoding_table["29981"] = [222,195] let s:lib.Codec.encoding_table["30073"] = [222,196] let s:lib.Codec.encoding_table["30071"] = [222,197] let s:lib.Codec.encoding_table["27011"] = [222,198] let s:lib.Codec.encoding_table["30191"] = [222,199] let s:lib.Codec.encoding_table["30223"] = [222,200] let s:lib.Codec.encoding_table["30211"] = [222,201] let s:lib.Codec.encoding_table["30199"] = [222,202] let s:lib.Codec.encoding_table["30206"] = [222,203] let s:lib.Codec.encoding_table["30204"] = [222,204] let s:lib.Codec.encoding_table["30201"] = [222,205] let s:lib.Codec.encoding_table["30200"] = [222,206] let s:lib.Codec.encoding_table["30224"] = [222,207] let s:lib.Codec.encoding_table["30203"] = [222,208] let s:lib.Codec.encoding_table["30198"] = [222,209] let s:lib.Codec.encoding_table["30189"] = [222,210] let s:lib.Codec.encoding_table["30197"] = [222,211] let s:lib.Codec.encoding_table["30205"] = [222,212] let s:lib.Codec.encoding_table["30361"] = [222,213] let s:lib.Codec.encoding_table["30389"] = [222,214] let s:lib.Codec.encoding_table["30429"] = [222,215] let s:lib.Codec.encoding_table["30549"] = [222,216] let s:lib.Codec.encoding_table["30559"] = [222,217] let s:lib.Codec.encoding_table["30560"] = [222,218] let s:lib.Codec.encoding_table["30546"] = [222,219] let s:lib.Codec.encoding_table["30550"] = [222,220] let s:lib.Codec.encoding_table["30554"] = [222,221] let s:lib.Codec.encoding_table["30569"] = [222,222] let s:lib.Codec.encoding_table["30567"] = [222,223] let s:lib.Codec.encoding_table["30548"] = [222,224] let s:lib.Codec.encoding_table["30553"] = [222,225] let s:lib.Codec.encoding_table["30573"] = [222,226] let s:lib.Codec.encoding_table["30688"] = [222,227] let s:lib.Codec.encoding_table["30855"] = [222,228] let s:lib.Codec.encoding_table["30874"] = [222,229] let s:lib.Codec.encoding_table["30868"] = [222,230] let s:lib.Codec.encoding_table["30863"] = [222,231] let s:lib.Codec.encoding_table["30852"] = [222,232] let s:lib.Codec.encoding_table["30869"] = [222,233] let s:lib.Codec.encoding_table["30853"] = [222,234] let s:lib.Codec.encoding_table["30854"] = [222,235] let s:lib.Codec.encoding_table["30881"] = [222,236] let s:lib.Codec.encoding_table["30851"] = [222,237] let s:lib.Codec.encoding_table["30841"] = [222,238] let s:lib.Codec.encoding_table["30873"] = [222,239] let s:lib.Codec.encoding_table["30848"] = [222,240] let s:lib.Codec.encoding_table["30870"] = [222,241] let s:lib.Codec.encoding_table["30843"] = [222,242] let s:lib.Codec.encoding_table["31100"] = [222,243] let s:lib.Codec.encoding_table["31106"] = [222,244] let s:lib.Codec.encoding_table["31101"] = [222,245] let s:lib.Codec.encoding_table["31097"] = [222,246] let s:lib.Codec.encoding_table["31249"] = [222,247] let s:lib.Codec.encoding_table["31256"] = [222,248] let s:lib.Codec.encoding_table["31257"] = [222,249] let s:lib.Codec.encoding_table["31250"] = [222,250] let s:lib.Codec.encoding_table["31255"] = [222,251] let s:lib.Codec.encoding_table["31253"] = [222,252] let s:lib.Codec.encoding_table["31266"] = [222,253] let s:lib.Codec.encoding_table["31251"] = [222,254] let s:lib.Codec.encoding_table["31259"] = [223,64] let s:lib.Codec.encoding_table["31248"] = [223,65] let s:lib.Codec.encoding_table["31395"] = [223,66] let s:lib.Codec.encoding_table["31394"] = [223,67] let s:lib.Codec.encoding_table["31390"] = [223,68] let s:lib.Codec.encoding_table["31467"] = [223,69] let s:lib.Codec.encoding_table["31590"] = [223,70] let s:lib.Codec.encoding_table["31588"] = [223,71] let s:lib.Codec.encoding_table["31597"] = [223,72] let s:lib.Codec.encoding_table["31604"] = [223,73] let s:lib.Codec.encoding_table["31593"] = [223,74] let s:lib.Codec.encoding_table["31602"] = [223,75] let s:lib.Codec.encoding_table["31589"] = [223,76] let s:lib.Codec.encoding_table["31603"] = [223,77] let s:lib.Codec.encoding_table["31601"] = [223,78] let s:lib.Codec.encoding_table["31600"] = [223,79] let s:lib.Codec.encoding_table["31585"] = [223,80] let s:lib.Codec.encoding_table["31608"] = [223,81] let s:lib.Codec.encoding_table["31606"] = [223,82] let s:lib.Codec.encoding_table["31587"] = [223,83] let s:lib.Codec.encoding_table["31922"] = [223,84] let s:lib.Codec.encoding_table["31924"] = [223,85] let s:lib.Codec.encoding_table["31919"] = [223,86] let s:lib.Codec.encoding_table["32136"] = [223,87] let s:lib.Codec.encoding_table["32134"] = [223,88] let s:lib.Codec.encoding_table["32128"] = [223,89] let s:lib.Codec.encoding_table["32141"] = [223,90] let s:lib.Codec.encoding_table["32127"] = [223,91] let s:lib.Codec.encoding_table["32133"] = [223,92] let s:lib.Codec.encoding_table["32122"] = [223,93] let s:lib.Codec.encoding_table["32142"] = [223,94] let s:lib.Codec.encoding_table["32123"] = [223,95] let s:lib.Codec.encoding_table["32131"] = [223,96] let s:lib.Codec.encoding_table["32124"] = [223,97] let s:lib.Codec.encoding_table["32140"] = [223,98] let s:lib.Codec.encoding_table["32148"] = [223,99] let s:lib.Codec.encoding_table["32132"] = [223,100] let s:lib.Codec.encoding_table["32125"] = [223,101] let s:lib.Codec.encoding_table["32146"] = [223,102] let s:lib.Codec.encoding_table["32621"] = [223,103] let s:lib.Codec.encoding_table["32619"] = [223,104] let s:lib.Codec.encoding_table["32615"] = [223,105] let s:lib.Codec.encoding_table["32616"] = [223,106] let s:lib.Codec.encoding_table["32620"] = [223,107] let s:lib.Codec.encoding_table["32678"] = [223,108] let s:lib.Codec.encoding_table["32677"] = [223,109] let s:lib.Codec.encoding_table["32679"] = [223,110] let s:lib.Codec.encoding_table["32731"] = [223,111] let s:lib.Codec.encoding_table["32732"] = [223,112] let s:lib.Codec.encoding_table["32801"] = [223,113] let s:lib.Codec.encoding_table["33124"] = [223,114] let s:lib.Codec.encoding_table["33120"] = [223,115] let s:lib.Codec.encoding_table["33143"] = [223,116] let s:lib.Codec.encoding_table["33116"] = [223,117] let s:lib.Codec.encoding_table["33129"] = [223,118] let s:lib.Codec.encoding_table["33115"] = [223,119] let s:lib.Codec.encoding_table["33122"] = [223,120] let s:lib.Codec.encoding_table["33138"] = [223,121] let s:lib.Codec.encoding_table["26401"] = [223,122] let s:lib.Codec.encoding_table["33118"] = [223,123] let s:lib.Codec.encoding_table["33142"] = [223,124] let s:lib.Codec.encoding_table["33127"] = [223,125] let s:lib.Codec.encoding_table["33135"] = [223,126] let s:lib.Codec.encoding_table["33092"] = [223,161] let s:lib.Codec.encoding_table["33121"] = [223,162] let s:lib.Codec.encoding_table["33309"] = [223,163] let s:lib.Codec.encoding_table["33353"] = [223,164] let s:lib.Codec.encoding_table["33348"] = [223,165] let s:lib.Codec.encoding_table["33344"] = [223,166] let s:lib.Codec.encoding_table["33346"] = [223,167] let s:lib.Codec.encoding_table["33349"] = [223,168] let s:lib.Codec.encoding_table["34033"] = [223,169] let s:lib.Codec.encoding_table["33855"] = [223,170] let s:lib.Codec.encoding_table["33878"] = [223,171] let s:lib.Codec.encoding_table["33910"] = [223,172] let s:lib.Codec.encoding_table["33913"] = [223,173] let s:lib.Codec.encoding_table["33935"] = [223,174] let s:lib.Codec.encoding_table["33933"] = [223,175] let s:lib.Codec.encoding_table["33893"] = [223,176] let s:lib.Codec.encoding_table["33873"] = [223,177] let s:lib.Codec.encoding_table["33856"] = [223,178] let s:lib.Codec.encoding_table["33926"] = [223,179] let s:lib.Codec.encoding_table["33895"] = [223,180] let s:lib.Codec.encoding_table["33840"] = [223,181] let s:lib.Codec.encoding_table["33869"] = [223,182] let s:lib.Codec.encoding_table["33917"] = [223,183] let s:lib.Codec.encoding_table["33882"] = [223,184] let s:lib.Codec.encoding_table["33881"] = [223,185] let s:lib.Codec.encoding_table["33908"] = [223,186] let s:lib.Codec.encoding_table["33907"] = [223,187] let s:lib.Codec.encoding_table["33885"] = [223,188] let s:lib.Codec.encoding_table["34055"] = [223,189] let s:lib.Codec.encoding_table["33886"] = [223,190] let s:lib.Codec.encoding_table["33847"] = [223,191] let s:lib.Codec.encoding_table["33850"] = [223,192] let s:lib.Codec.encoding_table["33844"] = [223,193] let s:lib.Codec.encoding_table["33914"] = [223,194] let s:lib.Codec.encoding_table["33859"] = [223,195] let s:lib.Codec.encoding_table["33912"] = [223,196] let s:lib.Codec.encoding_table["33842"] = [223,197] let s:lib.Codec.encoding_table["33861"] = [223,198] let s:lib.Codec.encoding_table["33833"] = [223,199] let s:lib.Codec.encoding_table["33753"] = [223,200] let s:lib.Codec.encoding_table["33867"] = [223,201] let s:lib.Codec.encoding_table["33839"] = [223,202] let s:lib.Codec.encoding_table["33858"] = [223,203] let s:lib.Codec.encoding_table["33837"] = [223,204] let s:lib.Codec.encoding_table["33887"] = [223,205] let s:lib.Codec.encoding_table["33904"] = [223,206] let s:lib.Codec.encoding_table["33849"] = [223,207] let s:lib.Codec.encoding_table["33870"] = [223,208] let s:lib.Codec.encoding_table["33868"] = [223,209] let s:lib.Codec.encoding_table["33874"] = [223,210] let s:lib.Codec.encoding_table["33903"] = [223,211] let s:lib.Codec.encoding_table["33989"] = [223,212] let s:lib.Codec.encoding_table["33934"] = [223,213] let s:lib.Codec.encoding_table["33851"] = [223,214] let s:lib.Codec.encoding_table["33863"] = [223,215] let s:lib.Codec.encoding_table["33846"] = [223,216] let s:lib.Codec.encoding_table["33843"] = [223,217] let s:lib.Codec.encoding_table["33896"] = [223,218] let s:lib.Codec.encoding_table["33918"] = [223,219] let s:lib.Codec.encoding_table["33860"] = [223,220] let s:lib.Codec.encoding_table["33835"] = [223,221] let s:lib.Codec.encoding_table["33888"] = [223,222] let s:lib.Codec.encoding_table["33876"] = [223,223] let s:lib.Codec.encoding_table["33902"] = [223,224] let s:lib.Codec.encoding_table["33872"] = [223,225] let s:lib.Codec.encoding_table["34571"] = [223,226] let s:lib.Codec.encoding_table["34564"] = [223,227] let s:lib.Codec.encoding_table["34551"] = [223,228] let s:lib.Codec.encoding_table["34572"] = [223,229] let s:lib.Codec.encoding_table["34554"] = [223,230] let s:lib.Codec.encoding_table["34518"] = [223,231] let s:lib.Codec.encoding_table["34549"] = [223,232] let s:lib.Codec.encoding_table["34637"] = [223,233] let s:lib.Codec.encoding_table["34552"] = [223,234] let s:lib.Codec.encoding_table["34574"] = [223,235] let s:lib.Codec.encoding_table["34569"] = [223,236] let s:lib.Codec.encoding_table["34561"] = [223,237] let s:lib.Codec.encoding_table["34550"] = [223,238] let s:lib.Codec.encoding_table["34573"] = [223,239] let s:lib.Codec.encoding_table["34565"] = [223,240] let s:lib.Codec.encoding_table["35030"] = [223,241] let s:lib.Codec.encoding_table["35019"] = [223,242] let s:lib.Codec.encoding_table["35021"] = [223,243] let s:lib.Codec.encoding_table["35022"] = [223,244] let s:lib.Codec.encoding_table["35038"] = [223,245] let s:lib.Codec.encoding_table["35035"] = [223,246] let s:lib.Codec.encoding_table["35034"] = [223,247] let s:lib.Codec.encoding_table["35020"] = [223,248] let s:lib.Codec.encoding_table["35024"] = [223,249] let s:lib.Codec.encoding_table["35205"] = [223,250] let s:lib.Codec.encoding_table["35227"] = [223,251] let s:lib.Codec.encoding_table["35295"] = [223,252] let s:lib.Codec.encoding_table["35301"] = [223,253] let s:lib.Codec.encoding_table["35300"] = [223,254] let s:lib.Codec.encoding_table["35297"] = [224,64] let s:lib.Codec.encoding_table["35296"] = [224,65] let s:lib.Codec.encoding_table["35298"] = [224,66] let s:lib.Codec.encoding_table["35292"] = [224,67] let s:lib.Codec.encoding_table["35302"] = [224,68] let s:lib.Codec.encoding_table["35446"] = [224,69] let s:lib.Codec.encoding_table["35462"] = [224,70] let s:lib.Codec.encoding_table["35455"] = [224,71] let s:lib.Codec.encoding_table["35425"] = [224,72] let s:lib.Codec.encoding_table["35391"] = [224,73] let s:lib.Codec.encoding_table["35447"] = [224,74] let s:lib.Codec.encoding_table["35458"] = [224,75] let s:lib.Codec.encoding_table["35460"] = [224,76] let s:lib.Codec.encoding_table["35445"] = [224,77] let s:lib.Codec.encoding_table["35459"] = [224,78] let s:lib.Codec.encoding_table["35457"] = [224,79] let s:lib.Codec.encoding_table["35444"] = [224,80] let s:lib.Codec.encoding_table["35450"] = [224,81] let s:lib.Codec.encoding_table["35900"] = [224,82] let s:lib.Codec.encoding_table["35915"] = [224,83] let s:lib.Codec.encoding_table["35914"] = [224,84] let s:lib.Codec.encoding_table["35941"] = [224,85] let s:lib.Codec.encoding_table["35940"] = [224,86] let s:lib.Codec.encoding_table["35942"] = [224,87] let s:lib.Codec.encoding_table["35974"] = [224,88] let s:lib.Codec.encoding_table["35972"] = [224,89] let s:lib.Codec.encoding_table["35973"] = [224,90] let s:lib.Codec.encoding_table["36044"] = [224,91] let s:lib.Codec.encoding_table["36200"] = [224,92] let s:lib.Codec.encoding_table["36201"] = [224,93] let s:lib.Codec.encoding_table["36241"] = [224,94] let s:lib.Codec.encoding_table["36236"] = [224,95] let s:lib.Codec.encoding_table["36238"] = [224,96] let s:lib.Codec.encoding_table["36239"] = [224,97] let s:lib.Codec.encoding_table["36237"] = [224,98] let s:lib.Codec.encoding_table["36243"] = [224,99] let s:lib.Codec.encoding_table["36244"] = [224,100] let s:lib.Codec.encoding_table["36240"] = [224,101] let s:lib.Codec.encoding_table["36242"] = [224,102] let s:lib.Codec.encoding_table["36336"] = [224,103] let s:lib.Codec.encoding_table["36320"] = [224,104] let s:lib.Codec.encoding_table["36332"] = [224,105] let s:lib.Codec.encoding_table["36337"] = [224,106] let s:lib.Codec.encoding_table["36334"] = [224,107] let s:lib.Codec.encoding_table["36304"] = [224,108] let s:lib.Codec.encoding_table["36329"] = [224,109] let s:lib.Codec.encoding_table["36323"] = [224,110] let s:lib.Codec.encoding_table["36322"] = [224,111] let s:lib.Codec.encoding_table["36327"] = [224,112] let s:lib.Codec.encoding_table["36338"] = [224,113] let s:lib.Codec.encoding_table["36331"] = [224,114] let s:lib.Codec.encoding_table["36340"] = [224,115] let s:lib.Codec.encoding_table["36614"] = [224,116] let s:lib.Codec.encoding_table["36607"] = [224,117] let s:lib.Codec.encoding_table["36609"] = [224,118] let s:lib.Codec.encoding_table["36608"] = [224,119] let s:lib.Codec.encoding_table["36613"] = [224,120] let s:lib.Codec.encoding_table["36615"] = [224,121] let s:lib.Codec.encoding_table["36616"] = [224,122] let s:lib.Codec.encoding_table["36610"] = [224,123] let s:lib.Codec.encoding_table["36619"] = [224,124] let s:lib.Codec.encoding_table["36946"] = [224,125] let s:lib.Codec.encoding_table["36927"] = [224,126] let s:lib.Codec.encoding_table["36932"] = [224,161] let s:lib.Codec.encoding_table["36937"] = [224,162] let s:lib.Codec.encoding_table["36925"] = [224,163] let s:lib.Codec.encoding_table["37136"] = [224,164] let s:lib.Codec.encoding_table["37133"] = [224,165] let s:lib.Codec.encoding_table["37135"] = [224,166] let s:lib.Codec.encoding_table["37137"] = [224,167] let s:lib.Codec.encoding_table["37142"] = [224,168] let s:lib.Codec.encoding_table["37140"] = [224,169] let s:lib.Codec.encoding_table["37131"] = [224,170] let s:lib.Codec.encoding_table["37134"] = [224,171] let s:lib.Codec.encoding_table["37230"] = [224,172] let s:lib.Codec.encoding_table["37231"] = [224,173] let s:lib.Codec.encoding_table["37448"] = [224,174] let s:lib.Codec.encoding_table["37458"] = [224,175] let s:lib.Codec.encoding_table["37424"] = [224,176] let s:lib.Codec.encoding_table["37434"] = [224,177] let s:lib.Codec.encoding_table["37478"] = [224,178] let s:lib.Codec.encoding_table["37427"] = [224,179] let s:lib.Codec.encoding_table["37477"] = [224,180] let s:lib.Codec.encoding_table["37470"] = [224,181] let s:lib.Codec.encoding_table["37507"] = [224,182] let s:lib.Codec.encoding_table["37422"] = [224,183] let s:lib.Codec.encoding_table["37450"] = [224,184] let s:lib.Codec.encoding_table["37446"] = [224,185] let s:lib.Codec.encoding_table["37485"] = [224,186] let s:lib.Codec.encoding_table["37484"] = [224,187] let s:lib.Codec.encoding_table["37455"] = [224,188] let s:lib.Codec.encoding_table["37472"] = [224,189] let s:lib.Codec.encoding_table["37479"] = [224,190] let s:lib.Codec.encoding_table["37487"] = [224,191] let s:lib.Codec.encoding_table["37430"] = [224,192] let s:lib.Codec.encoding_table["37473"] = [224,193] let s:lib.Codec.encoding_table["37488"] = [224,194] let s:lib.Codec.encoding_table["37425"] = [224,195] let s:lib.Codec.encoding_table["37460"] = [224,196] let s:lib.Codec.encoding_table["37475"] = [224,197] let s:lib.Codec.encoding_table["37456"] = [224,198] let s:lib.Codec.encoding_table["37490"] = [224,199] let s:lib.Codec.encoding_table["37454"] = [224,200] let s:lib.Codec.encoding_table["37459"] = [224,201] let s:lib.Codec.encoding_table["37452"] = [224,202] let s:lib.Codec.encoding_table["37462"] = [224,203] let s:lib.Codec.encoding_table["37426"] = [224,204] let s:lib.Codec.encoding_table["38303"] = [224,205] let s:lib.Codec.encoding_table["38300"] = [224,206] let s:lib.Codec.encoding_table["38302"] = [224,207] let s:lib.Codec.encoding_table["38299"] = [224,208] let s:lib.Codec.encoding_table["38546"] = [224,209] let s:lib.Codec.encoding_table["38547"] = [224,210] let s:lib.Codec.encoding_table["38545"] = [224,211] let s:lib.Codec.encoding_table["38551"] = [224,212] let s:lib.Codec.encoding_table["38606"] = [224,213] let s:lib.Codec.encoding_table["38650"] = [224,214] let s:lib.Codec.encoding_table["38653"] = [224,215] let s:lib.Codec.encoding_table["38648"] = [224,216] let s:lib.Codec.encoding_table["38645"] = [224,217] let s:lib.Codec.encoding_table["38771"] = [224,218] let s:lib.Codec.encoding_table["38775"] = [224,219] let s:lib.Codec.encoding_table["38776"] = [224,220] let s:lib.Codec.encoding_table["38770"] = [224,221] let s:lib.Codec.encoding_table["38927"] = [224,222] let s:lib.Codec.encoding_table["38925"] = [224,223] let s:lib.Codec.encoding_table["38926"] = [224,224] let s:lib.Codec.encoding_table["39084"] = [224,225] let s:lib.Codec.encoding_table["39158"] = [224,226] let s:lib.Codec.encoding_table["39161"] = [224,227] let s:lib.Codec.encoding_table["39343"] = [224,228] let s:lib.Codec.encoding_table["39346"] = [224,229] let s:lib.Codec.encoding_table["39344"] = [224,230] let s:lib.Codec.encoding_table["39349"] = [224,231] let s:lib.Codec.encoding_table["39597"] = [224,232] let s:lib.Codec.encoding_table["39595"] = [224,233] let s:lib.Codec.encoding_table["39771"] = [224,234] let s:lib.Codec.encoding_table["40170"] = [224,235] let s:lib.Codec.encoding_table["40173"] = [224,236] let s:lib.Codec.encoding_table["40167"] = [224,237] let s:lib.Codec.encoding_table["40576"] = [224,238] let s:lib.Codec.encoding_table["40701"] = [224,239] let s:lib.Codec.encoding_table["20710"] = [224,240] let s:lib.Codec.encoding_table["20692"] = [224,241] let s:lib.Codec.encoding_table["20695"] = [224,242] let s:lib.Codec.encoding_table["20712"] = [224,243] let s:lib.Codec.encoding_table["20723"] = [224,244] let s:lib.Codec.encoding_table["20699"] = [224,245] let s:lib.Codec.encoding_table["20714"] = [224,246] let s:lib.Codec.encoding_table["20701"] = [224,247] let s:lib.Codec.encoding_table["20708"] = [224,248] let s:lib.Codec.encoding_table["20691"] = [224,249] let s:lib.Codec.encoding_table["20716"] = [224,250] let s:lib.Codec.encoding_table["20720"] = [224,251] let s:lib.Codec.encoding_table["20719"] = [224,252] let s:lib.Codec.encoding_table["20707"] = [224,253] let s:lib.Codec.encoding_table["20704"] = [224,254] let s:lib.Codec.encoding_table["20952"] = [225,64] let s:lib.Codec.encoding_table["21120"] = [225,65] let s:lib.Codec.encoding_table["21121"] = [225,66] let s:lib.Codec.encoding_table["21225"] = [225,67] let s:lib.Codec.encoding_table["21227"] = [225,68] let s:lib.Codec.encoding_table["21296"] = [225,69] let s:lib.Codec.encoding_table["21420"] = [225,70] let s:lib.Codec.encoding_table["22055"] = [225,71] let s:lib.Codec.encoding_table["22037"] = [225,72] let s:lib.Codec.encoding_table["22028"] = [225,73] let s:lib.Codec.encoding_table["22034"] = [225,74] let s:lib.Codec.encoding_table["22012"] = [225,75] let s:lib.Codec.encoding_table["22031"] = [225,76] let s:lib.Codec.encoding_table["22044"] = [225,77] let s:lib.Codec.encoding_table["22017"] = [225,78] let s:lib.Codec.encoding_table["22035"] = [225,79] let s:lib.Codec.encoding_table["22018"] = [225,80] let s:lib.Codec.encoding_table["22010"] = [225,81] let s:lib.Codec.encoding_table["22045"] = [225,82] let s:lib.Codec.encoding_table["22020"] = [225,83] let s:lib.Codec.encoding_table["22015"] = [225,84] let s:lib.Codec.encoding_table["22009"] = [225,85] let s:lib.Codec.encoding_table["22665"] = [225,86] let s:lib.Codec.encoding_table["22652"] = [225,87] let s:lib.Codec.encoding_table["22672"] = [225,88] let s:lib.Codec.encoding_table["22680"] = [225,89] let s:lib.Codec.encoding_table["22662"] = [225,90] let s:lib.Codec.encoding_table["22657"] = [225,91] let s:lib.Codec.encoding_table["22655"] = [225,92] let s:lib.Codec.encoding_table["22644"] = [225,93] let s:lib.Codec.encoding_table["22667"] = [225,94] let s:lib.Codec.encoding_table["22650"] = [225,95] let s:lib.Codec.encoding_table["22663"] = [225,96] let s:lib.Codec.encoding_table["22673"] = [225,97] let s:lib.Codec.encoding_table["22670"] = [225,98] let s:lib.Codec.encoding_table["22646"] = [225,99] let s:lib.Codec.encoding_table["22658"] = [225,100] let s:lib.Codec.encoding_table["22664"] = [225,101] let s:lib.Codec.encoding_table["22651"] = [225,102] let s:lib.Codec.encoding_table["22676"] = [225,103] let s:lib.Codec.encoding_table["22671"] = [225,104] let s:lib.Codec.encoding_table["22782"] = [225,105] let s:lib.Codec.encoding_table["22891"] = [225,106] let s:lib.Codec.encoding_table["23260"] = [225,107] let s:lib.Codec.encoding_table["23278"] = [225,108] let s:lib.Codec.encoding_table["23269"] = [225,109] let s:lib.Codec.encoding_table["23253"] = [225,110] let s:lib.Codec.encoding_table["23274"] = [225,111] let s:lib.Codec.encoding_table["23258"] = [225,112] let s:lib.Codec.encoding_table["23277"] = [225,113] let s:lib.Codec.encoding_table["23275"] = [225,114] let s:lib.Codec.encoding_table["23283"] = [225,115] let s:lib.Codec.encoding_table["23266"] = [225,116] let s:lib.Codec.encoding_table["23264"] = [225,117] let s:lib.Codec.encoding_table["23259"] = [225,118] let s:lib.Codec.encoding_table["23276"] = [225,119] let s:lib.Codec.encoding_table["23262"] = [225,120] let s:lib.Codec.encoding_table["23261"] = [225,121] let s:lib.Codec.encoding_table["23257"] = [225,122] let s:lib.Codec.encoding_table["23272"] = [225,123] let s:lib.Codec.encoding_table["23263"] = [225,124] let s:lib.Codec.encoding_table["23415"] = [225,125] let s:lib.Codec.encoding_table["23520"] = [225,126] let s:lib.Codec.encoding_table["23523"] = [225,161] let s:lib.Codec.encoding_table["23651"] = [225,162] let s:lib.Codec.encoding_table["23938"] = [225,163] let s:lib.Codec.encoding_table["23936"] = [225,164] let s:lib.Codec.encoding_table["23933"] = [225,165] let s:lib.Codec.encoding_table["23942"] = [225,166] let s:lib.Codec.encoding_table["23930"] = [225,167] let s:lib.Codec.encoding_table["23937"] = [225,168] let s:lib.Codec.encoding_table["23927"] = [225,169] let s:lib.Codec.encoding_table["23946"] = [225,170] let s:lib.Codec.encoding_table["23945"] = [225,171] let s:lib.Codec.encoding_table["23944"] = [225,172] let s:lib.Codec.encoding_table["23934"] = [225,173] let s:lib.Codec.encoding_table["23932"] = [225,174] let s:lib.Codec.encoding_table["23949"] = [225,175] let s:lib.Codec.encoding_table["23929"] = [225,176] let s:lib.Codec.encoding_table["23935"] = [225,177] let s:lib.Codec.encoding_table["24152"] = [225,178] let s:lib.Codec.encoding_table["24153"] = [225,179] let s:lib.Codec.encoding_table["24147"] = [225,180] let s:lib.Codec.encoding_table["24280"] = [225,181] let s:lib.Codec.encoding_table["24273"] = [225,182] let s:lib.Codec.encoding_table["24279"] = [225,183] let s:lib.Codec.encoding_table["24270"] = [225,184] let s:lib.Codec.encoding_table["24284"] = [225,185] let s:lib.Codec.encoding_table["24277"] = [225,186] let s:lib.Codec.encoding_table["24281"] = [225,187] let s:lib.Codec.encoding_table["24274"] = [225,188] let s:lib.Codec.encoding_table["24276"] = [225,189] let s:lib.Codec.encoding_table["24388"] = [225,190] let s:lib.Codec.encoding_table["24387"] = [225,191] let s:lib.Codec.encoding_table["24431"] = [225,192] let s:lib.Codec.encoding_table["24502"] = [225,193] let s:lib.Codec.encoding_table["24876"] = [225,194] let s:lib.Codec.encoding_table["24872"] = [225,195] let s:lib.Codec.encoding_table["24897"] = [225,196] let s:lib.Codec.encoding_table["24926"] = [225,197] let s:lib.Codec.encoding_table["24945"] = [225,198] let s:lib.Codec.encoding_table["24947"] = [225,199] let s:lib.Codec.encoding_table["24914"] = [225,200] let s:lib.Codec.encoding_table["24915"] = [225,201] let s:lib.Codec.encoding_table["24946"] = [225,202] let s:lib.Codec.encoding_table["24940"] = [225,203] let s:lib.Codec.encoding_table["24960"] = [225,204] let s:lib.Codec.encoding_table["24948"] = [225,205] let s:lib.Codec.encoding_table["24916"] = [225,206] let s:lib.Codec.encoding_table["24954"] = [225,207] let s:lib.Codec.encoding_table["24923"] = [225,208] let s:lib.Codec.encoding_table["24933"] = [225,209] let s:lib.Codec.encoding_table["24891"] = [225,210] let s:lib.Codec.encoding_table["24938"] = [225,211] let s:lib.Codec.encoding_table["24929"] = [225,212] let s:lib.Codec.encoding_table["24918"] = [225,213] let s:lib.Codec.encoding_table["25129"] = [225,214] let s:lib.Codec.encoding_table["25127"] = [225,215] let s:lib.Codec.encoding_table["25131"] = [225,216] let s:lib.Codec.encoding_table["25643"] = [225,217] let s:lib.Codec.encoding_table["25677"] = [225,218] let s:lib.Codec.encoding_table["25691"] = [225,219] let s:lib.Codec.encoding_table["25693"] = [225,220] let s:lib.Codec.encoding_table["25716"] = [225,221] let s:lib.Codec.encoding_table["25718"] = [225,222] let s:lib.Codec.encoding_table["25714"] = [225,223] let s:lib.Codec.encoding_table["25715"] = [225,224] let s:lib.Codec.encoding_table["25725"] = [225,225] let s:lib.Codec.encoding_table["25717"] = [225,226] let s:lib.Codec.encoding_table["25702"] = [225,227] let s:lib.Codec.encoding_table["25766"] = [225,228] let s:lib.Codec.encoding_table["25678"] = [225,229] let s:lib.Codec.encoding_table["25730"] = [225,230] let s:lib.Codec.encoding_table["25694"] = [225,231] let s:lib.Codec.encoding_table["25692"] = [225,232] let s:lib.Codec.encoding_table["25675"] = [225,233] let s:lib.Codec.encoding_table["25683"] = [225,234] let s:lib.Codec.encoding_table["25696"] = [225,235] let s:lib.Codec.encoding_table["25680"] = [225,236] let s:lib.Codec.encoding_table["25727"] = [225,237] let s:lib.Codec.encoding_table["25663"] = [225,238] let s:lib.Codec.encoding_table["25708"] = [225,239] let s:lib.Codec.encoding_table["25707"] = [225,240] let s:lib.Codec.encoding_table["25689"] = [225,241] let s:lib.Codec.encoding_table["25701"] = [225,242] let s:lib.Codec.encoding_table["25719"] = [225,243] let s:lib.Codec.encoding_table["25971"] = [225,244] let s:lib.Codec.encoding_table["26016"] = [225,245] let s:lib.Codec.encoding_table["26273"] = [225,246] let s:lib.Codec.encoding_table["26272"] = [225,247] let s:lib.Codec.encoding_table["26271"] = [225,248] let s:lib.Codec.encoding_table["26373"] = [225,249] let s:lib.Codec.encoding_table["26372"] = [225,250] let s:lib.Codec.encoding_table["26402"] = [225,251] let s:lib.Codec.encoding_table["27057"] = [225,252] let s:lib.Codec.encoding_table["27062"] = [225,253] let s:lib.Codec.encoding_table["27081"] = [225,254] let s:lib.Codec.encoding_table["27040"] = [226,64] let s:lib.Codec.encoding_table["27086"] = [226,65] let s:lib.Codec.encoding_table["27030"] = [226,66] let s:lib.Codec.encoding_table["27056"] = [226,67] let s:lib.Codec.encoding_table["27052"] = [226,68] let s:lib.Codec.encoding_table["27068"] = [226,69] let s:lib.Codec.encoding_table["27025"] = [226,70] let s:lib.Codec.encoding_table["27033"] = [226,71] let s:lib.Codec.encoding_table["27022"] = [226,72] let s:lib.Codec.encoding_table["27047"] = [226,73] let s:lib.Codec.encoding_table["27021"] = [226,74] let s:lib.Codec.encoding_table["27049"] = [226,75] let s:lib.Codec.encoding_table["27070"] = [226,76] let s:lib.Codec.encoding_table["27055"] = [226,77] let s:lib.Codec.encoding_table["27071"] = [226,78] let s:lib.Codec.encoding_table["27076"] = [226,79] let s:lib.Codec.encoding_table["27069"] = [226,80] let s:lib.Codec.encoding_table["27044"] = [226,81] let s:lib.Codec.encoding_table["27092"] = [226,82] let s:lib.Codec.encoding_table["27065"] = [226,83] let s:lib.Codec.encoding_table["27082"] = [226,84] let s:lib.Codec.encoding_table["27034"] = [226,85] let s:lib.Codec.encoding_table["27087"] = [226,86] let s:lib.Codec.encoding_table["27059"] = [226,87] let s:lib.Codec.encoding_table["27027"] = [226,88] let s:lib.Codec.encoding_table["27050"] = [226,89] let s:lib.Codec.encoding_table["27041"] = [226,90] let s:lib.Codec.encoding_table["27038"] = [226,91] let s:lib.Codec.encoding_table["27097"] = [226,92] let s:lib.Codec.encoding_table["27031"] = [226,93] let s:lib.Codec.encoding_table["27024"] = [226,94] let s:lib.Codec.encoding_table["27074"] = [226,95] let s:lib.Codec.encoding_table["27061"] = [226,96] let s:lib.Codec.encoding_table["27045"] = [226,97] let s:lib.Codec.encoding_table["27078"] = [226,98] let s:lib.Codec.encoding_table["27466"] = [226,99] let s:lib.Codec.encoding_table["27469"] = [226,100] let s:lib.Codec.encoding_table["27467"] = [226,101] let s:lib.Codec.encoding_table["27550"] = [226,102] let s:lib.Codec.encoding_table["27551"] = [226,103] let s:lib.Codec.encoding_table["27552"] = [226,104] let s:lib.Codec.encoding_table["27587"] = [226,105] let s:lib.Codec.encoding_table["27588"] = [226,106] let s:lib.Codec.encoding_table["27646"] = [226,107] let s:lib.Codec.encoding_table["28366"] = [226,108] let s:lib.Codec.encoding_table["28405"] = [226,109] let s:lib.Codec.encoding_table["28401"] = [226,110] let s:lib.Codec.encoding_table["28419"] = [226,111] let s:lib.Codec.encoding_table["28453"] = [226,112] let s:lib.Codec.encoding_table["28408"] = [226,113] let s:lib.Codec.encoding_table["28471"] = [226,114] let s:lib.Codec.encoding_table["28411"] = [226,115] let s:lib.Codec.encoding_table["28462"] = [226,116] let s:lib.Codec.encoding_table["28425"] = [226,117] let s:lib.Codec.encoding_table["28494"] = [226,118] let s:lib.Codec.encoding_table["28441"] = [226,119] let s:lib.Codec.encoding_table["28442"] = [226,120] let s:lib.Codec.encoding_table["28455"] = [226,121] let s:lib.Codec.encoding_table["28440"] = [226,122] let s:lib.Codec.encoding_table["28475"] = [226,123] let s:lib.Codec.encoding_table["28434"] = [226,124] let s:lib.Codec.encoding_table["28397"] = [226,125] let s:lib.Codec.encoding_table["28426"] = [226,126] let s:lib.Codec.encoding_table["28470"] = [226,161] let s:lib.Codec.encoding_table["28531"] = [226,162] let s:lib.Codec.encoding_table["28409"] = [226,163] let s:lib.Codec.encoding_table["28398"] = [226,164] let s:lib.Codec.encoding_table["28461"] = [226,165] let s:lib.Codec.encoding_table["28480"] = [226,166] let s:lib.Codec.encoding_table["28464"] = [226,167] let s:lib.Codec.encoding_table["28476"] = [226,168] let s:lib.Codec.encoding_table["28469"] = [226,169] let s:lib.Codec.encoding_table["28395"] = [226,170] let s:lib.Codec.encoding_table["28423"] = [226,171] let s:lib.Codec.encoding_table["28430"] = [226,172] let s:lib.Codec.encoding_table["28483"] = [226,173] let s:lib.Codec.encoding_table["28421"] = [226,174] let s:lib.Codec.encoding_table["28413"] = [226,175] let s:lib.Codec.encoding_table["28406"] = [226,176] let s:lib.Codec.encoding_table["28473"] = [226,177] let s:lib.Codec.encoding_table["28444"] = [226,178] let s:lib.Codec.encoding_table["28412"] = [226,179] let s:lib.Codec.encoding_table["28474"] = [226,180] let s:lib.Codec.encoding_table["28447"] = [226,181] let s:lib.Codec.encoding_table["28429"] = [226,182] let s:lib.Codec.encoding_table["28446"] = [226,183] let s:lib.Codec.encoding_table["28424"] = [226,184] let s:lib.Codec.encoding_table["28449"] = [226,185] let s:lib.Codec.encoding_table["29063"] = [226,186] let s:lib.Codec.encoding_table["29072"] = [226,187] let s:lib.Codec.encoding_table["29065"] = [226,188] let s:lib.Codec.encoding_table["29056"] = [226,189] let s:lib.Codec.encoding_table["29061"] = [226,190] let s:lib.Codec.encoding_table["29058"] = [226,191] let s:lib.Codec.encoding_table["29071"] = [226,192] let s:lib.Codec.encoding_table["29051"] = [226,193] let s:lib.Codec.encoding_table["29062"] = [226,194] let s:lib.Codec.encoding_table["29057"] = [226,195] let s:lib.Codec.encoding_table["29079"] = [226,196] let s:lib.Codec.encoding_table["29252"] = [226,197] let s:lib.Codec.encoding_table["29267"] = [226,198] let s:lib.Codec.encoding_table["29335"] = [226,199] let s:lib.Codec.encoding_table["29333"] = [226,200] let s:lib.Codec.encoding_table["29331"] = [226,201] let s:lib.Codec.encoding_table["29507"] = [226,202] let s:lib.Codec.encoding_table["29517"] = [226,203] let s:lib.Codec.encoding_table["29521"] = [226,204] let s:lib.Codec.encoding_table["29516"] = [226,205] let s:lib.Codec.encoding_table["29794"] = [226,206] let s:lib.Codec.encoding_table["29811"] = [226,207] let s:lib.Codec.encoding_table["29809"] = [226,208] let s:lib.Codec.encoding_table["29813"] = [226,209] let s:lib.Codec.encoding_table["29810"] = [226,210] let s:lib.Codec.encoding_table["29799"] = [226,211] let s:lib.Codec.encoding_table["29806"] = [226,212] let s:lib.Codec.encoding_table["29952"] = [226,213] let s:lib.Codec.encoding_table["29954"] = [226,214] let s:lib.Codec.encoding_table["29955"] = [226,215] let s:lib.Codec.encoding_table["30077"] = [226,216] let s:lib.Codec.encoding_table["30096"] = [226,217] let s:lib.Codec.encoding_table["30230"] = [226,218] let s:lib.Codec.encoding_table["30216"] = [226,219] let s:lib.Codec.encoding_table["30220"] = [226,220] let s:lib.Codec.encoding_table["30229"] = [226,221] let s:lib.Codec.encoding_table["30225"] = [226,222] let s:lib.Codec.encoding_table["30218"] = [226,223] let s:lib.Codec.encoding_table["30228"] = [226,224] let s:lib.Codec.encoding_table["30392"] = [226,225] let s:lib.Codec.encoding_table["30593"] = [226,226] let s:lib.Codec.encoding_table["30588"] = [226,227] let s:lib.Codec.encoding_table["30597"] = [226,228] let s:lib.Codec.encoding_table["30594"] = [226,229] let s:lib.Codec.encoding_table["30574"] = [226,230] let s:lib.Codec.encoding_table["30592"] = [226,231] let s:lib.Codec.encoding_table["30575"] = [226,232] let s:lib.Codec.encoding_table["30590"] = [226,233] let s:lib.Codec.encoding_table["30595"] = [226,234] let s:lib.Codec.encoding_table["30898"] = [226,235] let s:lib.Codec.encoding_table["30890"] = [226,236] let s:lib.Codec.encoding_table["30900"] = [226,237] let s:lib.Codec.encoding_table["30893"] = [226,238] let s:lib.Codec.encoding_table["30888"] = [226,239] let s:lib.Codec.encoding_table["30846"] = [226,240] let s:lib.Codec.encoding_table["30891"] = [226,241] let s:lib.Codec.encoding_table["30878"] = [226,242] let s:lib.Codec.encoding_table["30885"] = [226,243] let s:lib.Codec.encoding_table["30880"] = [226,244] let s:lib.Codec.encoding_table["30892"] = [226,245] let s:lib.Codec.encoding_table["30882"] = [226,246] let s:lib.Codec.encoding_table["30884"] = [226,247] let s:lib.Codec.encoding_table["31128"] = [226,248] let s:lib.Codec.encoding_table["31114"] = [226,249] let s:lib.Codec.encoding_table["31115"] = [226,250] let s:lib.Codec.encoding_table["31126"] = [226,251] let s:lib.Codec.encoding_table["31125"] = [226,252] let s:lib.Codec.encoding_table["31124"] = [226,253] let s:lib.Codec.encoding_table["31123"] = [226,254] let s:lib.Codec.encoding_table["31127"] = [227,64] let s:lib.Codec.encoding_table["31112"] = [227,65] let s:lib.Codec.encoding_table["31122"] = [227,66] let s:lib.Codec.encoding_table["31120"] = [227,67] let s:lib.Codec.encoding_table["31275"] = [227,68] let s:lib.Codec.encoding_table["31306"] = [227,69] let s:lib.Codec.encoding_table["31280"] = [227,70] let s:lib.Codec.encoding_table["31279"] = [227,71] let s:lib.Codec.encoding_table["31272"] = [227,72] let s:lib.Codec.encoding_table["31270"] = [227,73] let s:lib.Codec.encoding_table["31400"] = [227,74] let s:lib.Codec.encoding_table["31403"] = [227,75] let s:lib.Codec.encoding_table["31404"] = [227,76] let s:lib.Codec.encoding_table["31470"] = [227,77] let s:lib.Codec.encoding_table["31624"] = [227,78] let s:lib.Codec.encoding_table["31644"] = [227,79] let s:lib.Codec.encoding_table["31626"] = [227,80] let s:lib.Codec.encoding_table["31633"] = [227,81] let s:lib.Codec.encoding_table["31632"] = [227,82] let s:lib.Codec.encoding_table["31638"] = [227,83] let s:lib.Codec.encoding_table["31629"] = [227,84] let s:lib.Codec.encoding_table["31628"] = [227,85] let s:lib.Codec.encoding_table["31643"] = [227,86] let s:lib.Codec.encoding_table["31630"] = [227,87] let s:lib.Codec.encoding_table["31621"] = [227,88] let s:lib.Codec.encoding_table["31640"] = [227,89] let s:lib.Codec.encoding_table["21124"] = [227,90] let s:lib.Codec.encoding_table["31641"] = [227,91] let s:lib.Codec.encoding_table["31652"] = [227,92] let s:lib.Codec.encoding_table["31618"] = [227,93] let s:lib.Codec.encoding_table["31931"] = [227,94] let s:lib.Codec.encoding_table["31935"] = [227,95] let s:lib.Codec.encoding_table["31932"] = [227,96] let s:lib.Codec.encoding_table["31930"] = [227,97] let s:lib.Codec.encoding_table["32167"] = [227,98] let s:lib.Codec.encoding_table["32183"] = [227,99] let s:lib.Codec.encoding_table["32194"] = [227,100] let s:lib.Codec.encoding_table["32163"] = [227,101] let s:lib.Codec.encoding_table["32170"] = [227,102] let s:lib.Codec.encoding_table["32193"] = [227,103] let s:lib.Codec.encoding_table["32192"] = [227,104] let s:lib.Codec.encoding_table["32197"] = [227,105] let s:lib.Codec.encoding_table["32157"] = [227,106] let s:lib.Codec.encoding_table["32206"] = [227,107] let s:lib.Codec.encoding_table["32196"] = [227,108] let s:lib.Codec.encoding_table["32198"] = [227,109] let s:lib.Codec.encoding_table["32203"] = [227,110] let s:lib.Codec.encoding_table["32204"] = [227,111] let s:lib.Codec.encoding_table["32175"] = [227,112] let s:lib.Codec.encoding_table["32185"] = [227,113] let s:lib.Codec.encoding_table["32150"] = [227,114] let s:lib.Codec.encoding_table["32188"] = [227,115] let s:lib.Codec.encoding_table["32159"] = [227,116] let s:lib.Codec.encoding_table["32166"] = [227,117] let s:lib.Codec.encoding_table["32174"] = [227,118] let s:lib.Codec.encoding_table["32169"] = [227,119] let s:lib.Codec.encoding_table["32161"] = [227,120] let s:lib.Codec.encoding_table["32201"] = [227,121] let s:lib.Codec.encoding_table["32627"] = [227,122] let s:lib.Codec.encoding_table["32738"] = [227,123] let s:lib.Codec.encoding_table["32739"] = [227,124] let s:lib.Codec.encoding_table["32741"] = [227,125] let s:lib.Codec.encoding_table["32734"] = [227,126] let s:lib.Codec.encoding_table["32804"] = [227,161] let s:lib.Codec.encoding_table["32861"] = [227,162] let s:lib.Codec.encoding_table["32860"] = [227,163] let s:lib.Codec.encoding_table["33161"] = [227,164] let s:lib.Codec.encoding_table["33158"] = [227,165] let s:lib.Codec.encoding_table["33155"] = [227,166] let s:lib.Codec.encoding_table["33159"] = [227,167] let s:lib.Codec.encoding_table["33165"] = [227,168] let s:lib.Codec.encoding_table["33164"] = [227,169] let s:lib.Codec.encoding_table["33163"] = [227,170] let s:lib.Codec.encoding_table["33301"] = [227,171] let s:lib.Codec.encoding_table["33943"] = [227,172] let s:lib.Codec.encoding_table["33956"] = [227,173] let s:lib.Codec.encoding_table["33953"] = [227,174] let s:lib.Codec.encoding_table["33951"] = [227,175] let s:lib.Codec.encoding_table["33978"] = [227,176] let s:lib.Codec.encoding_table["33998"] = [227,177] let s:lib.Codec.encoding_table["33986"] = [227,178] let s:lib.Codec.encoding_table["33964"] = [227,179] let s:lib.Codec.encoding_table["33966"] = [227,180] let s:lib.Codec.encoding_table["33963"] = [227,181] let s:lib.Codec.encoding_table["33977"] = [227,182] let s:lib.Codec.encoding_table["33972"] = [227,183] let s:lib.Codec.encoding_table["33985"] = [227,184] let s:lib.Codec.encoding_table["33997"] = [227,185] let s:lib.Codec.encoding_table["33962"] = [227,186] let s:lib.Codec.encoding_table["33946"] = [227,187] let s:lib.Codec.encoding_table["33969"] = [227,188] let s:lib.Codec.encoding_table["34000"] = [227,189] let s:lib.Codec.encoding_table["33949"] = [227,190] let s:lib.Codec.encoding_table["33959"] = [227,191] let s:lib.Codec.encoding_table["33979"] = [227,192] let s:lib.Codec.encoding_table["33954"] = [227,193] let s:lib.Codec.encoding_table["33940"] = [227,194] let s:lib.Codec.encoding_table["33991"] = [227,195] let s:lib.Codec.encoding_table["33996"] = [227,196] let s:lib.Codec.encoding_table["33947"] = [227,197] let s:lib.Codec.encoding_table["33961"] = [227,198] let s:lib.Codec.encoding_table["33967"] = [227,199] let s:lib.Codec.encoding_table["33960"] = [227,200] let s:lib.Codec.encoding_table["34006"] = [227,201] let s:lib.Codec.encoding_table["33944"] = [227,202] let s:lib.Codec.encoding_table["33974"] = [227,203] let s:lib.Codec.encoding_table["33999"] = [227,204] let s:lib.Codec.encoding_table["33952"] = [227,205] let s:lib.Codec.encoding_table["34007"] = [227,206] let s:lib.Codec.encoding_table["34004"] = [227,207] let s:lib.Codec.encoding_table["34002"] = [227,208] let s:lib.Codec.encoding_table["34011"] = [227,209] let s:lib.Codec.encoding_table["33968"] = [227,210] let s:lib.Codec.encoding_table["33937"] = [227,211] let s:lib.Codec.encoding_table["34401"] = [227,212] let s:lib.Codec.encoding_table["34611"] = [227,213] let s:lib.Codec.encoding_table["34595"] = [227,214] let s:lib.Codec.encoding_table["34600"] = [227,215] let s:lib.Codec.encoding_table["34667"] = [227,216] let s:lib.Codec.encoding_table["34624"] = [227,217] let s:lib.Codec.encoding_table["34606"] = [227,218] let s:lib.Codec.encoding_table["34590"] = [227,219] let s:lib.Codec.encoding_table["34593"] = [227,220] let s:lib.Codec.encoding_table["34585"] = [227,221] let s:lib.Codec.encoding_table["34587"] = [227,222] let s:lib.Codec.encoding_table["34627"] = [227,223] let s:lib.Codec.encoding_table["34604"] = [227,224] let s:lib.Codec.encoding_table["34625"] = [227,225] let s:lib.Codec.encoding_table["34622"] = [227,226] let s:lib.Codec.encoding_table["34630"] = [227,227] let s:lib.Codec.encoding_table["34592"] = [227,228] let s:lib.Codec.encoding_table["34610"] = [227,229] let s:lib.Codec.encoding_table["34602"] = [227,230] let s:lib.Codec.encoding_table["34605"] = [227,231] let s:lib.Codec.encoding_table["34620"] = [227,232] let s:lib.Codec.encoding_table["34578"] = [227,233] let s:lib.Codec.encoding_table["34618"] = [227,234] let s:lib.Codec.encoding_table["34609"] = [227,235] let s:lib.Codec.encoding_table["34613"] = [227,236] let s:lib.Codec.encoding_table["34626"] = [227,237] let s:lib.Codec.encoding_table["34598"] = [227,238] let s:lib.Codec.encoding_table["34599"] = [227,239] let s:lib.Codec.encoding_table["34616"] = [227,240] let s:lib.Codec.encoding_table["34596"] = [227,241] let s:lib.Codec.encoding_table["34586"] = [227,242] let s:lib.Codec.encoding_table["34608"] = [227,243] let s:lib.Codec.encoding_table["34577"] = [227,244] let s:lib.Codec.encoding_table["35063"] = [227,245] let s:lib.Codec.encoding_table["35047"] = [227,246] let s:lib.Codec.encoding_table["35057"] = [227,247] let s:lib.Codec.encoding_table["35058"] = [227,248] let s:lib.Codec.encoding_table["35066"] = [227,249] let s:lib.Codec.encoding_table["35070"] = [227,250] let s:lib.Codec.encoding_table["35054"] = [227,251] let s:lib.Codec.encoding_table["35068"] = [227,252] let s:lib.Codec.encoding_table["35062"] = [227,253] let s:lib.Codec.encoding_table["35067"] = [227,254] let s:lib.Codec.encoding_table["35056"] = [228,64] let s:lib.Codec.encoding_table["35052"] = [228,65] let s:lib.Codec.encoding_table["35051"] = [228,66] let s:lib.Codec.encoding_table["35229"] = [228,67] let s:lib.Codec.encoding_table["35233"] = [228,68] let s:lib.Codec.encoding_table["35231"] = [228,69] let s:lib.Codec.encoding_table["35230"] = [228,70] let s:lib.Codec.encoding_table["35305"] = [228,71] let s:lib.Codec.encoding_table["35307"] = [228,72] let s:lib.Codec.encoding_table["35304"] = [228,73] let s:lib.Codec.encoding_table["35499"] = [228,74] let s:lib.Codec.encoding_table["35481"] = [228,75] let s:lib.Codec.encoding_table["35467"] = [228,76] let s:lib.Codec.encoding_table["35474"] = [228,77] let s:lib.Codec.encoding_table["35471"] = [228,78] let s:lib.Codec.encoding_table["35478"] = [228,79] let s:lib.Codec.encoding_table["35901"] = [228,80] let s:lib.Codec.encoding_table["35944"] = [228,81] let s:lib.Codec.encoding_table["35945"] = [228,82] let s:lib.Codec.encoding_table["36053"] = [228,83] let s:lib.Codec.encoding_table["36047"] = [228,84] let s:lib.Codec.encoding_table["36055"] = [228,85] let s:lib.Codec.encoding_table["36246"] = [228,86] let s:lib.Codec.encoding_table["36361"] = [228,87] let s:lib.Codec.encoding_table["36354"] = [228,88] let s:lib.Codec.encoding_table["36351"] = [228,89] let s:lib.Codec.encoding_table["36365"] = [228,90] let s:lib.Codec.encoding_table["36349"] = [228,91] let s:lib.Codec.encoding_table["36362"] = [228,92] let s:lib.Codec.encoding_table["36355"] = [228,93] let s:lib.Codec.encoding_table["36359"] = [228,94] let s:lib.Codec.encoding_table["36358"] = [228,95] let s:lib.Codec.encoding_table["36357"] = [228,96] let s:lib.Codec.encoding_table["36350"] = [228,97] let s:lib.Codec.encoding_table["36352"] = [228,98] let s:lib.Codec.encoding_table["36356"] = [228,99] let s:lib.Codec.encoding_table["36624"] = [228,100] let s:lib.Codec.encoding_table["36625"] = [228,101] let s:lib.Codec.encoding_table["36622"] = [228,102] let s:lib.Codec.encoding_table["36621"] = [228,103] let s:lib.Codec.encoding_table["37155"] = [228,104] let s:lib.Codec.encoding_table["37148"] = [228,105] let s:lib.Codec.encoding_table["37152"] = [228,106] let s:lib.Codec.encoding_table["37154"] = [228,107] let s:lib.Codec.encoding_table["37151"] = [228,108] let s:lib.Codec.encoding_table["37149"] = [228,109] let s:lib.Codec.encoding_table["37146"] = [228,110] let s:lib.Codec.encoding_table["37156"] = [228,111] let s:lib.Codec.encoding_table["37153"] = [228,112] let s:lib.Codec.encoding_table["37147"] = [228,113] let s:lib.Codec.encoding_table["37242"] = [228,114] let s:lib.Codec.encoding_table["37234"] = [228,115] let s:lib.Codec.encoding_table["37241"] = [228,116] let s:lib.Codec.encoding_table["37235"] = [228,117] let s:lib.Codec.encoding_table["37541"] = [228,118] let s:lib.Codec.encoding_table["37540"] = [228,119] let s:lib.Codec.encoding_table["37494"] = [228,120] let s:lib.Codec.encoding_table["37531"] = [228,121] let s:lib.Codec.encoding_table["37498"] = [228,122] let s:lib.Codec.encoding_table["37536"] = [228,123] let s:lib.Codec.encoding_table["37524"] = [228,124] let s:lib.Codec.encoding_table["37546"] = [228,125] let s:lib.Codec.encoding_table["37517"] = [228,126] let s:lib.Codec.encoding_table["37542"] = [228,161] let s:lib.Codec.encoding_table["37530"] = [228,162] let s:lib.Codec.encoding_table["37547"] = [228,163] let s:lib.Codec.encoding_table["37497"] = [228,164] let s:lib.Codec.encoding_table["37527"] = [228,165] let s:lib.Codec.encoding_table["37503"] = [228,166] let s:lib.Codec.encoding_table["37539"] = [228,167] let s:lib.Codec.encoding_table["37614"] = [228,168] let s:lib.Codec.encoding_table["37518"] = [228,169] let s:lib.Codec.encoding_table["37506"] = [228,170] let s:lib.Codec.encoding_table["37525"] = [228,171] let s:lib.Codec.encoding_table["37538"] = [228,172] let s:lib.Codec.encoding_table["37501"] = [228,173] let s:lib.Codec.encoding_table["37512"] = [228,174] let s:lib.Codec.encoding_table["37537"] = [228,175] let s:lib.Codec.encoding_table["37514"] = [228,176] let s:lib.Codec.encoding_table["37510"] = [228,177] let s:lib.Codec.encoding_table["37516"] = [228,178] let s:lib.Codec.encoding_table["37529"] = [228,179] let s:lib.Codec.encoding_table["37543"] = [228,180] let s:lib.Codec.encoding_table["37502"] = [228,181] let s:lib.Codec.encoding_table["37511"] = [228,182] let s:lib.Codec.encoding_table["37545"] = [228,183] let s:lib.Codec.encoding_table["37533"] = [228,184] let s:lib.Codec.encoding_table["37515"] = [228,185] let s:lib.Codec.encoding_table["37421"] = [228,186] let s:lib.Codec.encoding_table["38558"] = [228,187] let s:lib.Codec.encoding_table["38561"] = [228,188] let s:lib.Codec.encoding_table["38655"] = [228,189] let s:lib.Codec.encoding_table["38744"] = [228,190] let s:lib.Codec.encoding_table["38781"] = [228,191] let s:lib.Codec.encoding_table["38778"] = [228,192] let s:lib.Codec.encoding_table["38782"] = [228,193] let s:lib.Codec.encoding_table["38787"] = [228,194] let s:lib.Codec.encoding_table["38784"] = [228,195] let s:lib.Codec.encoding_table["38786"] = [228,196] let s:lib.Codec.encoding_table["38779"] = [228,197] let s:lib.Codec.encoding_table["38788"] = [228,198] let s:lib.Codec.encoding_table["38785"] = [228,199] let s:lib.Codec.encoding_table["38783"] = [228,200] let s:lib.Codec.encoding_table["38862"] = [228,201] let s:lib.Codec.encoding_table["38861"] = [228,202] let s:lib.Codec.encoding_table["38934"] = [228,203] let s:lib.Codec.encoding_table["39085"] = [228,204] let s:lib.Codec.encoding_table["39086"] = [228,205] let s:lib.Codec.encoding_table["39170"] = [228,206] let s:lib.Codec.encoding_table["39168"] = [228,207] let s:lib.Codec.encoding_table["39175"] = [228,208] let s:lib.Codec.encoding_table["39325"] = [228,209] let s:lib.Codec.encoding_table["39324"] = [228,210] let s:lib.Codec.encoding_table["39363"] = [228,211] let s:lib.Codec.encoding_table["39353"] = [228,212] let s:lib.Codec.encoding_table["39355"] = [228,213] let s:lib.Codec.encoding_table["39354"] = [228,214] let s:lib.Codec.encoding_table["39362"] = [228,215] let s:lib.Codec.encoding_table["39357"] = [228,216] let s:lib.Codec.encoding_table["39367"] = [228,217] let s:lib.Codec.encoding_table["39601"] = [228,218] let s:lib.Codec.encoding_table["39651"] = [228,219] let s:lib.Codec.encoding_table["39655"] = [228,220] let s:lib.Codec.encoding_table["39742"] = [228,221] let s:lib.Codec.encoding_table["39743"] = [228,222] let s:lib.Codec.encoding_table["39776"] = [228,223] let s:lib.Codec.encoding_table["39777"] = [228,224] let s:lib.Codec.encoding_table["39775"] = [228,225] let s:lib.Codec.encoding_table["40177"] = [228,226] let s:lib.Codec.encoding_table["40178"] = [228,227] let s:lib.Codec.encoding_table["40181"] = [228,228] let s:lib.Codec.encoding_table["40615"] = [228,229] let s:lib.Codec.encoding_table["20735"] = [228,230] let s:lib.Codec.encoding_table["20739"] = [228,231] let s:lib.Codec.encoding_table["20784"] = [228,232] let s:lib.Codec.encoding_table["20728"] = [228,233] let s:lib.Codec.encoding_table["20742"] = [228,234] let s:lib.Codec.encoding_table["20743"] = [228,235] let s:lib.Codec.encoding_table["20726"] = [228,236] let s:lib.Codec.encoding_table["20734"] = [228,237] let s:lib.Codec.encoding_table["20747"] = [228,238] let s:lib.Codec.encoding_table["20748"] = [228,239] let s:lib.Codec.encoding_table["20733"] = [228,240] let s:lib.Codec.encoding_table["20746"] = [228,241] let s:lib.Codec.encoding_table["21131"] = [228,242] let s:lib.Codec.encoding_table["21132"] = [228,243] let s:lib.Codec.encoding_table["21233"] = [228,244] let s:lib.Codec.encoding_table["21231"] = [228,245] let s:lib.Codec.encoding_table["22088"] = [228,246] let s:lib.Codec.encoding_table["22082"] = [228,247] let s:lib.Codec.encoding_table["22092"] = [228,248] let s:lib.Codec.encoding_table["22069"] = [228,249] let s:lib.Codec.encoding_table["22081"] = [228,250] let s:lib.Codec.encoding_table["22090"] = [228,251] let s:lib.Codec.encoding_table["22089"] = [228,252] let s:lib.Codec.encoding_table["22086"] = [228,253] let s:lib.Codec.encoding_table["22104"] = [228,254] let s:lib.Codec.encoding_table["22106"] = [229,64] let s:lib.Codec.encoding_table["22080"] = [229,65] let s:lib.Codec.encoding_table["22067"] = [229,66] let s:lib.Codec.encoding_table["22077"] = [229,67] let s:lib.Codec.encoding_table["22060"] = [229,68] let s:lib.Codec.encoding_table["22078"] = [229,69] let s:lib.Codec.encoding_table["22072"] = [229,70] let s:lib.Codec.encoding_table["22058"] = [229,71] let s:lib.Codec.encoding_table["22074"] = [229,72] let s:lib.Codec.encoding_table["22298"] = [229,73] let s:lib.Codec.encoding_table["22699"] = [229,74] let s:lib.Codec.encoding_table["22685"] = [229,75] let s:lib.Codec.encoding_table["22705"] = [229,76] let s:lib.Codec.encoding_table["22688"] = [229,77] let s:lib.Codec.encoding_table["22691"] = [229,78] let s:lib.Codec.encoding_table["22703"] = [229,79] let s:lib.Codec.encoding_table["22700"] = [229,80] let s:lib.Codec.encoding_table["22693"] = [229,81] let s:lib.Codec.encoding_table["22689"] = [229,82] let s:lib.Codec.encoding_table["22783"] = [229,83] let s:lib.Codec.encoding_table["23295"] = [229,84] let s:lib.Codec.encoding_table["23284"] = [229,85] let s:lib.Codec.encoding_table["23293"] = [229,86] let s:lib.Codec.encoding_table["23287"] = [229,87] let s:lib.Codec.encoding_table["23286"] = [229,88] let s:lib.Codec.encoding_table["23299"] = [229,89] let s:lib.Codec.encoding_table["23288"] = [229,90] let s:lib.Codec.encoding_table["23298"] = [229,91] let s:lib.Codec.encoding_table["23289"] = [229,92] let s:lib.Codec.encoding_table["23297"] = [229,93] let s:lib.Codec.encoding_table["23303"] = [229,94] let s:lib.Codec.encoding_table["23301"] = [229,95] let s:lib.Codec.encoding_table["23311"] = [229,96] let s:lib.Codec.encoding_table["23655"] = [229,97] let s:lib.Codec.encoding_table["23961"] = [229,98] let s:lib.Codec.encoding_table["23959"] = [229,99] let s:lib.Codec.encoding_table["23967"] = [229,100] let s:lib.Codec.encoding_table["23954"] = [229,101] let s:lib.Codec.encoding_table["23970"] = [229,102] let s:lib.Codec.encoding_table["23955"] = [229,103] let s:lib.Codec.encoding_table["23957"] = [229,104] let s:lib.Codec.encoding_table["23968"] = [229,105] let s:lib.Codec.encoding_table["23964"] = [229,106] let s:lib.Codec.encoding_table["23969"] = [229,107] let s:lib.Codec.encoding_table["23962"] = [229,108] let s:lib.Codec.encoding_table["23966"] = [229,109] let s:lib.Codec.encoding_table["24169"] = [229,110] let s:lib.Codec.encoding_table["24157"] = [229,111] let s:lib.Codec.encoding_table["24160"] = [229,112] let s:lib.Codec.encoding_table["24156"] = [229,113] let s:lib.Codec.encoding_table["32243"] = [229,114] let s:lib.Codec.encoding_table["24283"] = [229,115] let s:lib.Codec.encoding_table["24286"] = [229,116] let s:lib.Codec.encoding_table["24289"] = [229,117] let s:lib.Codec.encoding_table["24393"] = [229,118] let s:lib.Codec.encoding_table["24498"] = [229,119] let s:lib.Codec.encoding_table["24971"] = [229,120] let s:lib.Codec.encoding_table["24963"] = [229,121] let s:lib.Codec.encoding_table["24953"] = [229,122] let s:lib.Codec.encoding_table["25009"] = [229,123] let s:lib.Codec.encoding_table["25008"] = [229,124] let s:lib.Codec.encoding_table["24994"] = [229,125] let s:lib.Codec.encoding_table["24969"] = [229,126] let s:lib.Codec.encoding_table["24987"] = [229,161] let s:lib.Codec.encoding_table["24979"] = [229,162] let s:lib.Codec.encoding_table["25007"] = [229,163] let s:lib.Codec.encoding_table["25005"] = [229,164] let s:lib.Codec.encoding_table["24991"] = [229,165] let s:lib.Codec.encoding_table["24978"] = [229,166] let s:lib.Codec.encoding_table["25002"] = [229,167] let s:lib.Codec.encoding_table["24993"] = [229,168] let s:lib.Codec.encoding_table["24973"] = [229,169] let s:lib.Codec.encoding_table["24934"] = [229,170] let s:lib.Codec.encoding_table["25011"] = [229,171] let s:lib.Codec.encoding_table["25133"] = [229,172] let s:lib.Codec.encoding_table["25710"] = [229,173] let s:lib.Codec.encoding_table["25712"] = [229,174] let s:lib.Codec.encoding_table["25750"] = [229,175] let s:lib.Codec.encoding_table["25760"] = [229,176] let s:lib.Codec.encoding_table["25733"] = [229,177] let s:lib.Codec.encoding_table["25751"] = [229,178] let s:lib.Codec.encoding_table["25756"] = [229,179] let s:lib.Codec.encoding_table["25743"] = [229,180] let s:lib.Codec.encoding_table["25739"] = [229,181] let s:lib.Codec.encoding_table["25738"] = [229,182] let s:lib.Codec.encoding_table["25740"] = [229,183] let s:lib.Codec.encoding_table["25763"] = [229,184] let s:lib.Codec.encoding_table["25759"] = [229,185] let s:lib.Codec.encoding_table["25704"] = [229,186] let s:lib.Codec.encoding_table["25777"] = [229,187] let s:lib.Codec.encoding_table["25752"] = [229,188] let s:lib.Codec.encoding_table["25974"] = [229,189] let s:lib.Codec.encoding_table["25978"] = [229,190] let s:lib.Codec.encoding_table["25977"] = [229,191] let s:lib.Codec.encoding_table["25979"] = [229,192] let s:lib.Codec.encoding_table["26034"] = [229,193] let s:lib.Codec.encoding_table["26035"] = [229,194] let s:lib.Codec.encoding_table["26293"] = [229,195] let s:lib.Codec.encoding_table["26288"] = [229,196] let s:lib.Codec.encoding_table["26281"] = [229,197] let s:lib.Codec.encoding_table["26290"] = [229,198] let s:lib.Codec.encoding_table["26295"] = [229,199] let s:lib.Codec.encoding_table["26282"] = [229,200] let s:lib.Codec.encoding_table["26287"] = [229,201] let s:lib.Codec.encoding_table["27136"] = [229,202] let s:lib.Codec.encoding_table["27142"] = [229,203] let s:lib.Codec.encoding_table["27159"] = [229,204] let s:lib.Codec.encoding_table["27109"] = [229,205] let s:lib.Codec.encoding_table["27128"] = [229,206] let s:lib.Codec.encoding_table["27157"] = [229,207] let s:lib.Codec.encoding_table["27121"] = [229,208] let s:lib.Codec.encoding_table["27108"] = [229,209] let s:lib.Codec.encoding_table["27168"] = [229,210] let s:lib.Codec.encoding_table["27135"] = [229,211] let s:lib.Codec.encoding_table["27116"] = [229,212] let s:lib.Codec.encoding_table["27106"] = [229,213] let s:lib.Codec.encoding_table["27163"] = [229,214] let s:lib.Codec.encoding_table["27165"] = [229,215] let s:lib.Codec.encoding_table["27134"] = [229,216] let s:lib.Codec.encoding_table["27175"] = [229,217] let s:lib.Codec.encoding_table["27122"] = [229,218] let s:lib.Codec.encoding_table["27118"] = [229,219] let s:lib.Codec.encoding_table["27156"] = [229,220] let s:lib.Codec.encoding_table["27127"] = [229,221] let s:lib.Codec.encoding_table["27111"] = [229,222] let s:lib.Codec.encoding_table["27200"] = [229,223] let s:lib.Codec.encoding_table["27144"] = [229,224] let s:lib.Codec.encoding_table["27110"] = [229,225] let s:lib.Codec.encoding_table["27131"] = [229,226] let s:lib.Codec.encoding_table["27149"] = [229,227] let s:lib.Codec.encoding_table["27132"] = [229,228] let s:lib.Codec.encoding_table["27115"] = [229,229] let s:lib.Codec.encoding_table["27145"] = [229,230] let s:lib.Codec.encoding_table["27140"] = [229,231] let s:lib.Codec.encoding_table["27160"] = [229,232] let s:lib.Codec.encoding_table["27173"] = [229,233] let s:lib.Codec.encoding_table["27151"] = [229,234] let s:lib.Codec.encoding_table["27126"] = [229,235] let s:lib.Codec.encoding_table["27174"] = [229,236] let s:lib.Codec.encoding_table["27143"] = [229,237] let s:lib.Codec.encoding_table["27124"] = [229,238] let s:lib.Codec.encoding_table["27158"] = [229,239] let s:lib.Codec.encoding_table["27473"] = [229,240] let s:lib.Codec.encoding_table["27557"] = [229,241] let s:lib.Codec.encoding_table["27555"] = [229,242] let s:lib.Codec.encoding_table["27554"] = [229,243] let s:lib.Codec.encoding_table["27558"] = [229,244] let s:lib.Codec.encoding_table["27649"] = [229,245] let s:lib.Codec.encoding_table["27648"] = [229,246] let s:lib.Codec.encoding_table["27647"] = [229,247] let s:lib.Codec.encoding_table["27650"] = [229,248] let s:lib.Codec.encoding_table["28481"] = [229,249] let s:lib.Codec.encoding_table["28454"] = [229,250] let s:lib.Codec.encoding_table["28542"] = [229,251] let s:lib.Codec.encoding_table["28551"] = [229,252] let s:lib.Codec.encoding_table["28614"] = [229,253] let s:lib.Codec.encoding_table["28562"] = [229,254] let s:lib.Codec.encoding_table["28557"] = [230,64] let s:lib.Codec.encoding_table["28553"] = [230,65] let s:lib.Codec.encoding_table["28556"] = [230,66] let s:lib.Codec.encoding_table["28514"] = [230,67] let s:lib.Codec.encoding_table["28495"] = [230,68] let s:lib.Codec.encoding_table["28549"] = [230,69] let s:lib.Codec.encoding_table["28506"] = [230,70] let s:lib.Codec.encoding_table["28566"] = [230,71] let s:lib.Codec.encoding_table["28534"] = [230,72] let s:lib.Codec.encoding_table["28524"] = [230,73] let s:lib.Codec.encoding_table["28546"] = [230,74] let s:lib.Codec.encoding_table["28501"] = [230,75] let s:lib.Codec.encoding_table["28530"] = [230,76] let s:lib.Codec.encoding_table["28498"] = [230,77] let s:lib.Codec.encoding_table["28496"] = [230,78] let s:lib.Codec.encoding_table["28503"] = [230,79] let s:lib.Codec.encoding_table["28564"] = [230,80] let s:lib.Codec.encoding_table["28563"] = [230,81] let s:lib.Codec.encoding_table["28509"] = [230,82] let s:lib.Codec.encoding_table["28416"] = [230,83] let s:lib.Codec.encoding_table["28513"] = [230,84] let s:lib.Codec.encoding_table["28523"] = [230,85] let s:lib.Codec.encoding_table["28541"] = [230,86] let s:lib.Codec.encoding_table["28519"] = [230,87] let s:lib.Codec.encoding_table["28560"] = [230,88] let s:lib.Codec.encoding_table["28499"] = [230,89] let s:lib.Codec.encoding_table["28555"] = [230,90] let s:lib.Codec.encoding_table["28521"] = [230,91] let s:lib.Codec.encoding_table["28543"] = [230,92] let s:lib.Codec.encoding_table["28565"] = [230,93] let s:lib.Codec.encoding_table["28515"] = [230,94] let s:lib.Codec.encoding_table["28535"] = [230,95] let s:lib.Codec.encoding_table["28522"] = [230,96] let s:lib.Codec.encoding_table["28539"] = [230,97] let s:lib.Codec.encoding_table["29106"] = [230,98] let s:lib.Codec.encoding_table["29103"] = [230,99] let s:lib.Codec.encoding_table["29083"] = [230,100] let s:lib.Codec.encoding_table["29104"] = [230,101] let s:lib.Codec.encoding_table["29088"] = [230,102] let s:lib.Codec.encoding_table["29082"] = [230,103] let s:lib.Codec.encoding_table["29097"] = [230,104] let s:lib.Codec.encoding_table["29109"] = [230,105] let s:lib.Codec.encoding_table["29085"] = [230,106] let s:lib.Codec.encoding_table["29093"] = [230,107] let s:lib.Codec.encoding_table["29086"] = [230,108] let s:lib.Codec.encoding_table["29092"] = [230,109] let s:lib.Codec.encoding_table["29089"] = [230,110] let s:lib.Codec.encoding_table["29098"] = [230,111] let s:lib.Codec.encoding_table["29084"] = [230,112] let s:lib.Codec.encoding_table["29095"] = [230,113] let s:lib.Codec.encoding_table["29107"] = [230,114] let s:lib.Codec.encoding_table["29336"] = [230,115] let s:lib.Codec.encoding_table["29338"] = [230,116] let s:lib.Codec.encoding_table["29528"] = [230,117] let s:lib.Codec.encoding_table["29522"] = [230,118] let s:lib.Codec.encoding_table["29534"] = [230,119] let s:lib.Codec.encoding_table["29535"] = [230,120] let s:lib.Codec.encoding_table["29536"] = [230,121] let s:lib.Codec.encoding_table["29533"] = [230,122] let s:lib.Codec.encoding_table["29531"] = [230,123] let s:lib.Codec.encoding_table["29537"] = [230,124] let s:lib.Codec.encoding_table["29530"] = [230,125] let s:lib.Codec.encoding_table["29529"] = [230,126] let s:lib.Codec.encoding_table["29538"] = [230,161] let s:lib.Codec.encoding_table["29831"] = [230,162] let s:lib.Codec.encoding_table["29833"] = [230,163] let s:lib.Codec.encoding_table["29834"] = [230,164] let s:lib.Codec.encoding_table["29830"] = [230,165] let s:lib.Codec.encoding_table["29825"] = [230,166] let s:lib.Codec.encoding_table["29821"] = [230,167] let s:lib.Codec.encoding_table["29829"] = [230,168] let s:lib.Codec.encoding_table["29832"] = [230,169] let s:lib.Codec.encoding_table["29820"] = [230,170] let s:lib.Codec.encoding_table["29817"] = [230,171] let s:lib.Codec.encoding_table["29960"] = [230,172] let s:lib.Codec.encoding_table["29959"] = [230,173] let s:lib.Codec.encoding_table["30078"] = [230,174] let s:lib.Codec.encoding_table["30245"] = [230,175] let s:lib.Codec.encoding_table["30238"] = [230,176] let s:lib.Codec.encoding_table["30233"] = [230,177] let s:lib.Codec.encoding_table["30237"] = [230,178] let s:lib.Codec.encoding_table["30236"] = [230,179] let s:lib.Codec.encoding_table["30243"] = [230,180] let s:lib.Codec.encoding_table["30234"] = [230,181] let s:lib.Codec.encoding_table["30248"] = [230,182] let s:lib.Codec.encoding_table["30235"] = [230,183] let s:lib.Codec.encoding_table["30364"] = [230,184] let s:lib.Codec.encoding_table["30365"] = [230,185] let s:lib.Codec.encoding_table["30366"] = [230,186] let s:lib.Codec.encoding_table["30363"] = [230,187] let s:lib.Codec.encoding_table["30605"] = [230,188] let s:lib.Codec.encoding_table["30607"] = [230,189] let s:lib.Codec.encoding_table["30601"] = [230,190] let s:lib.Codec.encoding_table["30600"] = [230,191] let s:lib.Codec.encoding_table["30925"] = [230,192] let s:lib.Codec.encoding_table["30907"] = [230,193] let s:lib.Codec.encoding_table["30927"] = [230,194] let s:lib.Codec.encoding_table["30924"] = [230,195] let s:lib.Codec.encoding_table["30929"] = [230,196] let s:lib.Codec.encoding_table["30926"] = [230,197] let s:lib.Codec.encoding_table["30932"] = [230,198] let s:lib.Codec.encoding_table["30920"] = [230,199] let s:lib.Codec.encoding_table["30915"] = [230,200] let s:lib.Codec.encoding_table["30916"] = [230,201] let s:lib.Codec.encoding_table["30921"] = [230,202] let s:lib.Codec.encoding_table["31130"] = [230,203] let s:lib.Codec.encoding_table["31137"] = [230,204] let s:lib.Codec.encoding_table["31136"] = [230,205] let s:lib.Codec.encoding_table["31132"] = [230,206] let s:lib.Codec.encoding_table["31138"] = [230,207] let s:lib.Codec.encoding_table["31131"] = [230,208] let s:lib.Codec.encoding_table["27510"] = [230,209] let s:lib.Codec.encoding_table["31289"] = [230,210] let s:lib.Codec.encoding_table["31410"] = [230,211] let s:lib.Codec.encoding_table["31412"] = [230,212] let s:lib.Codec.encoding_table["31411"] = [230,213] let s:lib.Codec.encoding_table["31671"] = [230,214] let s:lib.Codec.encoding_table["31691"] = [230,215] let s:lib.Codec.encoding_table["31678"] = [230,216] let s:lib.Codec.encoding_table["31660"] = [230,217] let s:lib.Codec.encoding_table["31694"] = [230,218] let s:lib.Codec.encoding_table["31663"] = [230,219] let s:lib.Codec.encoding_table["31673"] = [230,220] let s:lib.Codec.encoding_table["31690"] = [230,221] let s:lib.Codec.encoding_table["31669"] = [230,222] let s:lib.Codec.encoding_table["31941"] = [230,223] let s:lib.Codec.encoding_table["31944"] = [230,224] let s:lib.Codec.encoding_table["31948"] = [230,225] let s:lib.Codec.encoding_table["31947"] = [230,226] let s:lib.Codec.encoding_table["32247"] = [230,227] let s:lib.Codec.encoding_table["32219"] = [230,228] let s:lib.Codec.encoding_table["32234"] = [230,229] let s:lib.Codec.encoding_table["32231"] = [230,230] let s:lib.Codec.encoding_table["32215"] = [230,231] let s:lib.Codec.encoding_table["32225"] = [230,232] let s:lib.Codec.encoding_table["32259"] = [230,233] let s:lib.Codec.encoding_table["32250"] = [230,234] let s:lib.Codec.encoding_table["32230"] = [230,235] let s:lib.Codec.encoding_table["32246"] = [230,236] let s:lib.Codec.encoding_table["32241"] = [230,237] let s:lib.Codec.encoding_table["32240"] = [230,238] let s:lib.Codec.encoding_table["32238"] = [230,239] let s:lib.Codec.encoding_table["32223"] = [230,240] let s:lib.Codec.encoding_table["32630"] = [230,241] let s:lib.Codec.encoding_table["32684"] = [230,242] let s:lib.Codec.encoding_table["32688"] = [230,243] let s:lib.Codec.encoding_table["32685"] = [230,244] let s:lib.Codec.encoding_table["32749"] = [230,245] let s:lib.Codec.encoding_table["32747"] = [230,246] let s:lib.Codec.encoding_table["32746"] = [230,247] let s:lib.Codec.encoding_table["32748"] = [230,248] let s:lib.Codec.encoding_table["32742"] = [230,249] let s:lib.Codec.encoding_table["32744"] = [230,250] let s:lib.Codec.encoding_table["32868"] = [230,251] let s:lib.Codec.encoding_table["32871"] = [230,252] let s:lib.Codec.encoding_table["33187"] = [230,253] let s:lib.Codec.encoding_table["33183"] = [230,254] let s:lib.Codec.encoding_table["33182"] = [231,64] let s:lib.Codec.encoding_table["33173"] = [231,65] let s:lib.Codec.encoding_table["33186"] = [231,66] let s:lib.Codec.encoding_table["33177"] = [231,67] let s:lib.Codec.encoding_table["33175"] = [231,68] let s:lib.Codec.encoding_table["33302"] = [231,69] let s:lib.Codec.encoding_table["33359"] = [231,70] let s:lib.Codec.encoding_table["33363"] = [231,71] let s:lib.Codec.encoding_table["33362"] = [231,72] let s:lib.Codec.encoding_table["33360"] = [231,73] let s:lib.Codec.encoding_table["33358"] = [231,74] let s:lib.Codec.encoding_table["33361"] = [231,75] let s:lib.Codec.encoding_table["34084"] = [231,76] let s:lib.Codec.encoding_table["34107"] = [231,77] let s:lib.Codec.encoding_table["34063"] = [231,78] let s:lib.Codec.encoding_table["34048"] = [231,79] let s:lib.Codec.encoding_table["34089"] = [231,80] let s:lib.Codec.encoding_table["34062"] = [231,81] let s:lib.Codec.encoding_table["34057"] = [231,82] let s:lib.Codec.encoding_table["34061"] = [231,83] let s:lib.Codec.encoding_table["34079"] = [231,84] let s:lib.Codec.encoding_table["34058"] = [231,85] let s:lib.Codec.encoding_table["34087"] = [231,86] let s:lib.Codec.encoding_table["34076"] = [231,87] let s:lib.Codec.encoding_table["34043"] = [231,88] let s:lib.Codec.encoding_table["34091"] = [231,89] let s:lib.Codec.encoding_table["34042"] = [231,90] let s:lib.Codec.encoding_table["34056"] = [231,91] let s:lib.Codec.encoding_table["34060"] = [231,92] let s:lib.Codec.encoding_table["34036"] = [231,93] let s:lib.Codec.encoding_table["34090"] = [231,94] let s:lib.Codec.encoding_table["34034"] = [231,95] let s:lib.Codec.encoding_table["34069"] = [231,96] let s:lib.Codec.encoding_table["34039"] = [231,97] let s:lib.Codec.encoding_table["34027"] = [231,98] let s:lib.Codec.encoding_table["34035"] = [231,99] let s:lib.Codec.encoding_table["34044"] = [231,100] let s:lib.Codec.encoding_table["34066"] = [231,101] let s:lib.Codec.encoding_table["34026"] = [231,102] let s:lib.Codec.encoding_table["34025"] = [231,103] let s:lib.Codec.encoding_table["34070"] = [231,104] let s:lib.Codec.encoding_table["34046"] = [231,105] let s:lib.Codec.encoding_table["34088"] = [231,106] let s:lib.Codec.encoding_table["34077"] = [231,107] let s:lib.Codec.encoding_table["34094"] = [231,108] let s:lib.Codec.encoding_table["34050"] = [231,109] let s:lib.Codec.encoding_table["34045"] = [231,110] let s:lib.Codec.encoding_table["34078"] = [231,111] let s:lib.Codec.encoding_table["34038"] = [231,112] let s:lib.Codec.encoding_table["34097"] = [231,113] let s:lib.Codec.encoding_table["34086"] = [231,114] let s:lib.Codec.encoding_table["34023"] = [231,115] let s:lib.Codec.encoding_table["34024"] = [231,116] let s:lib.Codec.encoding_table["34032"] = [231,117] let s:lib.Codec.encoding_table["34031"] = [231,118] let s:lib.Codec.encoding_table["34041"] = [231,119] let s:lib.Codec.encoding_table["34072"] = [231,120] let s:lib.Codec.encoding_table["34080"] = [231,121] let s:lib.Codec.encoding_table["34096"] = [231,122] let s:lib.Codec.encoding_table["34059"] = [231,123] let s:lib.Codec.encoding_table["34073"] = [231,124] let s:lib.Codec.encoding_table["34095"] = [231,125] let s:lib.Codec.encoding_table["34402"] = [231,126] let s:lib.Codec.encoding_table["34646"] = [231,161] let s:lib.Codec.encoding_table["34659"] = [231,162] let s:lib.Codec.encoding_table["34660"] = [231,163] let s:lib.Codec.encoding_table["34679"] = [231,164] let s:lib.Codec.encoding_table["34785"] = [231,165] let s:lib.Codec.encoding_table["34675"] = [231,166] let s:lib.Codec.encoding_table["34648"] = [231,167] let s:lib.Codec.encoding_table["34644"] = [231,168] let s:lib.Codec.encoding_table["34651"] = [231,169] let s:lib.Codec.encoding_table["34642"] = [231,170] let s:lib.Codec.encoding_table["34657"] = [231,171] let s:lib.Codec.encoding_table["34650"] = [231,172] let s:lib.Codec.encoding_table["34641"] = [231,173] let s:lib.Codec.encoding_table["34654"] = [231,174] let s:lib.Codec.encoding_table["34669"] = [231,175] let s:lib.Codec.encoding_table["34666"] = [231,176] let s:lib.Codec.encoding_table["34640"] = [231,177] let s:lib.Codec.encoding_table["34638"] = [231,178] let s:lib.Codec.encoding_table["34655"] = [231,179] let s:lib.Codec.encoding_table["34653"] = [231,180] let s:lib.Codec.encoding_table["34671"] = [231,181] let s:lib.Codec.encoding_table["34668"] = [231,182] let s:lib.Codec.encoding_table["34682"] = [231,183] let s:lib.Codec.encoding_table["34670"] = [231,184] let s:lib.Codec.encoding_table["34652"] = [231,185] let s:lib.Codec.encoding_table["34661"] = [231,186] let s:lib.Codec.encoding_table["34639"] = [231,187] let s:lib.Codec.encoding_table["34683"] = [231,188] let s:lib.Codec.encoding_table["34677"] = [231,189] let s:lib.Codec.encoding_table["34658"] = [231,190] let s:lib.Codec.encoding_table["34663"] = [231,191] let s:lib.Codec.encoding_table["34665"] = [231,192] let s:lib.Codec.encoding_table["34906"] = [231,193] let s:lib.Codec.encoding_table["35077"] = [231,194] let s:lib.Codec.encoding_table["35084"] = [231,195] let s:lib.Codec.encoding_table["35092"] = [231,196] let s:lib.Codec.encoding_table["35083"] = [231,197] let s:lib.Codec.encoding_table["35095"] = [231,198] let s:lib.Codec.encoding_table["35096"] = [231,199] let s:lib.Codec.encoding_table["35097"] = [231,200] let s:lib.Codec.encoding_table["35078"] = [231,201] let s:lib.Codec.encoding_table["35094"] = [231,202] let s:lib.Codec.encoding_table["35089"] = [231,203] let s:lib.Codec.encoding_table["35086"] = [231,204] let s:lib.Codec.encoding_table["35081"] = [231,205] let s:lib.Codec.encoding_table["35234"] = [231,206] let s:lib.Codec.encoding_table["35236"] = [231,207] let s:lib.Codec.encoding_table["35235"] = [231,208] let s:lib.Codec.encoding_table["35309"] = [231,209] let s:lib.Codec.encoding_table["35312"] = [231,210] let s:lib.Codec.encoding_table["35308"] = [231,211] let s:lib.Codec.encoding_table["35535"] = [231,212] let s:lib.Codec.encoding_table["35526"] = [231,213] let s:lib.Codec.encoding_table["35512"] = [231,214] let s:lib.Codec.encoding_table["35539"] = [231,215] let s:lib.Codec.encoding_table["35537"] = [231,216] let s:lib.Codec.encoding_table["35540"] = [231,217] let s:lib.Codec.encoding_table["35541"] = [231,218] let s:lib.Codec.encoding_table["35515"] = [231,219] let s:lib.Codec.encoding_table["35543"] = [231,220] let s:lib.Codec.encoding_table["35518"] = [231,221] let s:lib.Codec.encoding_table["35520"] = [231,222] let s:lib.Codec.encoding_table["35525"] = [231,223] let s:lib.Codec.encoding_table["35544"] = [231,224] let s:lib.Codec.encoding_table["35523"] = [231,225] let s:lib.Codec.encoding_table["35514"] = [231,226] let s:lib.Codec.encoding_table["35517"] = [231,227] let s:lib.Codec.encoding_table["35545"] = [231,228] let s:lib.Codec.encoding_table["35902"] = [231,229] let s:lib.Codec.encoding_table["35917"] = [231,230] let s:lib.Codec.encoding_table["35983"] = [231,231] let s:lib.Codec.encoding_table["36069"] = [231,232] let s:lib.Codec.encoding_table["36063"] = [231,233] let s:lib.Codec.encoding_table["36057"] = [231,234] let s:lib.Codec.encoding_table["36072"] = [231,235] let s:lib.Codec.encoding_table["36058"] = [231,236] let s:lib.Codec.encoding_table["36061"] = [231,237] let s:lib.Codec.encoding_table["36071"] = [231,238] let s:lib.Codec.encoding_table["36256"] = [231,239] let s:lib.Codec.encoding_table["36252"] = [231,240] let s:lib.Codec.encoding_table["36257"] = [231,241] let s:lib.Codec.encoding_table["36251"] = [231,242] let s:lib.Codec.encoding_table["36384"] = [231,243] let s:lib.Codec.encoding_table["36387"] = [231,244] let s:lib.Codec.encoding_table["36389"] = [231,245] let s:lib.Codec.encoding_table["36388"] = [231,246] let s:lib.Codec.encoding_table["36398"] = [231,247] let s:lib.Codec.encoding_table["36373"] = [231,248] let s:lib.Codec.encoding_table["36379"] = [231,249] let s:lib.Codec.encoding_table["36374"] = [231,250] let s:lib.Codec.encoding_table["36369"] = [231,251] let s:lib.Codec.encoding_table["36377"] = [231,252] let s:lib.Codec.encoding_table["36390"] = [231,253] let s:lib.Codec.encoding_table["36391"] = [231,254] let s:lib.Codec.encoding_table["36372"] = [232,64] let s:lib.Codec.encoding_table["36370"] = [232,65] let s:lib.Codec.encoding_table["36376"] = [232,66] let s:lib.Codec.encoding_table["36371"] = [232,67] let s:lib.Codec.encoding_table["36380"] = [232,68] let s:lib.Codec.encoding_table["36375"] = [232,69] let s:lib.Codec.encoding_table["36378"] = [232,70] let s:lib.Codec.encoding_table["36652"] = [232,71] let s:lib.Codec.encoding_table["36644"] = [232,72] let s:lib.Codec.encoding_table["36632"] = [232,73] let s:lib.Codec.encoding_table["36634"] = [232,74] let s:lib.Codec.encoding_table["36640"] = [232,75] let s:lib.Codec.encoding_table["36643"] = [232,76] let s:lib.Codec.encoding_table["36630"] = [232,77] let s:lib.Codec.encoding_table["36631"] = [232,78] let s:lib.Codec.encoding_table["36979"] = [232,79] let s:lib.Codec.encoding_table["36976"] = [232,80] let s:lib.Codec.encoding_table["36975"] = [232,81] let s:lib.Codec.encoding_table["36967"] = [232,82] let s:lib.Codec.encoding_table["36971"] = [232,83] let s:lib.Codec.encoding_table["37167"] = [232,84] let s:lib.Codec.encoding_table["37163"] = [232,85] let s:lib.Codec.encoding_table["37161"] = [232,86] let s:lib.Codec.encoding_table["37162"] = [232,87] let s:lib.Codec.encoding_table["37170"] = [232,88] let s:lib.Codec.encoding_table["37158"] = [232,89] let s:lib.Codec.encoding_table["37166"] = [232,90] let s:lib.Codec.encoding_table["37253"] = [232,91] let s:lib.Codec.encoding_table["37254"] = [232,92] let s:lib.Codec.encoding_table["37258"] = [232,93] let s:lib.Codec.encoding_table["37249"] = [232,94] let s:lib.Codec.encoding_table["37250"] = [232,95] let s:lib.Codec.encoding_table["37252"] = [232,96] let s:lib.Codec.encoding_table["37248"] = [232,97] let s:lib.Codec.encoding_table["37584"] = [232,98] let s:lib.Codec.encoding_table["37571"] = [232,99] let s:lib.Codec.encoding_table["37572"] = [232,100] let s:lib.Codec.encoding_table["37568"] = [232,101] let s:lib.Codec.encoding_table["37593"] = [232,102] let s:lib.Codec.encoding_table["37558"] = [232,103] let s:lib.Codec.encoding_table["37583"] = [232,104] let s:lib.Codec.encoding_table["37617"] = [232,105] let s:lib.Codec.encoding_table["37599"] = [232,106] let s:lib.Codec.encoding_table["37592"] = [232,107] let s:lib.Codec.encoding_table["37609"] = [232,108] let s:lib.Codec.encoding_table["37591"] = [232,109] let s:lib.Codec.encoding_table["37597"] = [232,110] let s:lib.Codec.encoding_table["37580"] = [232,111] let s:lib.Codec.encoding_table["37615"] = [232,112] let s:lib.Codec.encoding_table["37570"] = [232,113] let s:lib.Codec.encoding_table["37608"] = [232,114] let s:lib.Codec.encoding_table["37578"] = [232,115] let s:lib.Codec.encoding_table["37576"] = [232,116] let s:lib.Codec.encoding_table["37582"] = [232,117] let s:lib.Codec.encoding_table["37606"] = [232,118] let s:lib.Codec.encoding_table["37581"] = [232,119] let s:lib.Codec.encoding_table["37589"] = [232,120] let s:lib.Codec.encoding_table["37577"] = [232,121] let s:lib.Codec.encoding_table["37600"] = [232,122] let s:lib.Codec.encoding_table["37598"] = [232,123] let s:lib.Codec.encoding_table["37607"] = [232,124] let s:lib.Codec.encoding_table["37585"] = [232,125] let s:lib.Codec.encoding_table["37587"] = [232,126] let s:lib.Codec.encoding_table["37557"] = [232,161] let s:lib.Codec.encoding_table["37601"] = [232,162] let s:lib.Codec.encoding_table["37574"] = [232,163] let s:lib.Codec.encoding_table["37556"] = [232,164] let s:lib.Codec.encoding_table["38268"] = [232,165] let s:lib.Codec.encoding_table["38316"] = [232,166] let s:lib.Codec.encoding_table["38315"] = [232,167] let s:lib.Codec.encoding_table["38318"] = [232,168] let s:lib.Codec.encoding_table["38320"] = [232,169] let s:lib.Codec.encoding_table["38564"] = [232,170] let s:lib.Codec.encoding_table["38562"] = [232,171] let s:lib.Codec.encoding_table["38611"] = [232,172] let s:lib.Codec.encoding_table["38661"] = [232,173] let s:lib.Codec.encoding_table["38664"] = [232,174] let s:lib.Codec.encoding_table["38658"] = [232,175] let s:lib.Codec.encoding_table["38746"] = [232,176] let s:lib.Codec.encoding_table["38794"] = [232,177] let s:lib.Codec.encoding_table["38798"] = [232,178] let s:lib.Codec.encoding_table["38792"] = [232,179] let s:lib.Codec.encoding_table["38864"] = [232,180] let s:lib.Codec.encoding_table["38863"] = [232,181] let s:lib.Codec.encoding_table["38942"] = [232,182] let s:lib.Codec.encoding_table["38941"] = [232,183] let s:lib.Codec.encoding_table["38950"] = [232,184] let s:lib.Codec.encoding_table["38953"] = [232,185] let s:lib.Codec.encoding_table["38952"] = [232,186] let s:lib.Codec.encoding_table["38944"] = [232,187] let s:lib.Codec.encoding_table["38939"] = [232,188] let s:lib.Codec.encoding_table["38951"] = [232,189] let s:lib.Codec.encoding_table["39090"] = [232,190] let s:lib.Codec.encoding_table["39176"] = [232,191] let s:lib.Codec.encoding_table["39162"] = [232,192] let s:lib.Codec.encoding_table["39185"] = [232,193] let s:lib.Codec.encoding_table["39188"] = [232,194] let s:lib.Codec.encoding_table["39190"] = [232,195] let s:lib.Codec.encoding_table["39191"] = [232,196] let s:lib.Codec.encoding_table["39189"] = [232,197] let s:lib.Codec.encoding_table["39388"] = [232,198] let s:lib.Codec.encoding_table["39373"] = [232,199] let s:lib.Codec.encoding_table["39375"] = [232,200] let s:lib.Codec.encoding_table["39379"] = [232,201] let s:lib.Codec.encoding_table["39380"] = [232,202] let s:lib.Codec.encoding_table["39374"] = [232,203] let s:lib.Codec.encoding_table["39369"] = [232,204] let s:lib.Codec.encoding_table["39382"] = [232,205] let s:lib.Codec.encoding_table["39384"] = [232,206] let s:lib.Codec.encoding_table["39371"] = [232,207] let s:lib.Codec.encoding_table["39383"] = [232,208] let s:lib.Codec.encoding_table["39372"] = [232,209] let s:lib.Codec.encoding_table["39603"] = [232,210] let s:lib.Codec.encoding_table["39660"] = [232,211] let s:lib.Codec.encoding_table["39659"] = [232,212] let s:lib.Codec.encoding_table["39667"] = [232,213] let s:lib.Codec.encoding_table["39666"] = [232,214] let s:lib.Codec.encoding_table["39665"] = [232,215] let s:lib.Codec.encoding_table["39750"] = [232,216] let s:lib.Codec.encoding_table["39747"] = [232,217] let s:lib.Codec.encoding_table["39783"] = [232,218] let s:lib.Codec.encoding_table["39796"] = [232,219] let s:lib.Codec.encoding_table["39793"] = [232,220] let s:lib.Codec.encoding_table["39782"] = [232,221] let s:lib.Codec.encoding_table["39798"] = [232,222] let s:lib.Codec.encoding_table["39797"] = [232,223] let s:lib.Codec.encoding_table["39792"] = [232,224] let s:lib.Codec.encoding_table["39784"] = [232,225] let s:lib.Codec.encoding_table["39780"] = [232,226] let s:lib.Codec.encoding_table["39788"] = [232,227] let s:lib.Codec.encoding_table["40188"] = [232,228] let s:lib.Codec.encoding_table["40186"] = [232,229] let s:lib.Codec.encoding_table["40189"] = [232,230] let s:lib.Codec.encoding_table["40191"] = [232,231] let s:lib.Codec.encoding_table["40183"] = [232,232] let s:lib.Codec.encoding_table["40199"] = [232,233] let s:lib.Codec.encoding_table["40192"] = [232,234] let s:lib.Codec.encoding_table["40185"] = [232,235] let s:lib.Codec.encoding_table["40187"] = [232,236] let s:lib.Codec.encoding_table["40200"] = [232,237] let s:lib.Codec.encoding_table["40197"] = [232,238] let s:lib.Codec.encoding_table["40196"] = [232,239] let s:lib.Codec.encoding_table["40579"] = [232,240] let s:lib.Codec.encoding_table["40659"] = [232,241] let s:lib.Codec.encoding_table["40719"] = [232,242] let s:lib.Codec.encoding_table["40720"] = [232,243] let s:lib.Codec.encoding_table["20764"] = [232,244] let s:lib.Codec.encoding_table["20755"] = [232,245] let s:lib.Codec.encoding_table["20759"] = [232,246] let s:lib.Codec.encoding_table["20762"] = [232,247] let s:lib.Codec.encoding_table["20753"] = [232,248] let s:lib.Codec.encoding_table["20958"] = [232,249] let s:lib.Codec.encoding_table["21300"] = [232,250] let s:lib.Codec.encoding_table["21473"] = [232,251] let s:lib.Codec.encoding_table["22128"] = [232,252] let s:lib.Codec.encoding_table["22112"] = [232,253] let s:lib.Codec.encoding_table["22126"] = [232,254] let s:lib.Codec.encoding_table["22131"] = [233,64] let s:lib.Codec.encoding_table["22118"] = [233,65] let s:lib.Codec.encoding_table["22115"] = [233,66] let s:lib.Codec.encoding_table["22125"] = [233,67] let s:lib.Codec.encoding_table["22130"] = [233,68] let s:lib.Codec.encoding_table["22110"] = [233,69] let s:lib.Codec.encoding_table["22135"] = [233,70] let s:lib.Codec.encoding_table["22300"] = [233,71] let s:lib.Codec.encoding_table["22299"] = [233,72] let s:lib.Codec.encoding_table["22728"] = [233,73] let s:lib.Codec.encoding_table["22717"] = [233,74] let s:lib.Codec.encoding_table["22729"] = [233,75] let s:lib.Codec.encoding_table["22719"] = [233,76] let s:lib.Codec.encoding_table["22714"] = [233,77] let s:lib.Codec.encoding_table["22722"] = [233,78] let s:lib.Codec.encoding_table["22716"] = [233,79] let s:lib.Codec.encoding_table["22726"] = [233,80] let s:lib.Codec.encoding_table["23319"] = [233,81] let s:lib.Codec.encoding_table["23321"] = [233,82] let s:lib.Codec.encoding_table["23323"] = [233,83] let s:lib.Codec.encoding_table["23329"] = [233,84] let s:lib.Codec.encoding_table["23316"] = [233,85] let s:lib.Codec.encoding_table["23315"] = [233,86] let s:lib.Codec.encoding_table["23312"] = [233,87] let s:lib.Codec.encoding_table["23318"] = [233,88] let s:lib.Codec.encoding_table["23336"] = [233,89] let s:lib.Codec.encoding_table["23322"] = [233,90] let s:lib.Codec.encoding_table["23328"] = [233,91] let s:lib.Codec.encoding_table["23326"] = [233,92] let s:lib.Codec.encoding_table["23535"] = [233,93] let s:lib.Codec.encoding_table["23980"] = [233,94] let s:lib.Codec.encoding_table["23985"] = [233,95] let s:lib.Codec.encoding_table["23977"] = [233,96] let s:lib.Codec.encoding_table["23975"] = [233,97] let s:lib.Codec.encoding_table["23989"] = [233,98] let s:lib.Codec.encoding_table["23984"] = [233,99] let s:lib.Codec.encoding_table["23982"] = [233,100] let s:lib.Codec.encoding_table["23978"] = [233,101] let s:lib.Codec.encoding_table["23976"] = [233,102] let s:lib.Codec.encoding_table["23986"] = [233,103] let s:lib.Codec.encoding_table["23981"] = [233,104] let s:lib.Codec.encoding_table["23983"] = [233,105] let s:lib.Codec.encoding_table["23988"] = [233,106] let s:lib.Codec.encoding_table["24167"] = [233,107] let s:lib.Codec.encoding_table["24168"] = [233,108] let s:lib.Codec.encoding_table["24166"] = [233,109] let s:lib.Codec.encoding_table["24175"] = [233,110] let s:lib.Codec.encoding_table["24297"] = [233,111] let s:lib.Codec.encoding_table["24295"] = [233,112] let s:lib.Codec.encoding_table["24294"] = [233,113] let s:lib.Codec.encoding_table["24296"] = [233,114] let s:lib.Codec.encoding_table["24293"] = [233,115] let s:lib.Codec.encoding_table["24395"] = [233,116] let s:lib.Codec.encoding_table["24508"] = [233,117] let s:lib.Codec.encoding_table["24989"] = [233,118] let s:lib.Codec.encoding_table["25000"] = [233,119] let s:lib.Codec.encoding_table["24982"] = [233,120] let s:lib.Codec.encoding_table["25029"] = [233,121] let s:lib.Codec.encoding_table["25012"] = [233,122] let s:lib.Codec.encoding_table["25030"] = [233,123] let s:lib.Codec.encoding_table["25025"] = [233,124] let s:lib.Codec.encoding_table["25036"] = [233,125] let s:lib.Codec.encoding_table["25018"] = [233,126] let s:lib.Codec.encoding_table["25023"] = [233,161] let s:lib.Codec.encoding_table["25016"] = [233,162] let s:lib.Codec.encoding_table["24972"] = [233,163] let s:lib.Codec.encoding_table["25815"] = [233,164] let s:lib.Codec.encoding_table["25814"] = [233,165] let s:lib.Codec.encoding_table["25808"] = [233,166] let s:lib.Codec.encoding_table["25807"] = [233,167] let s:lib.Codec.encoding_table["25801"] = [233,168] let s:lib.Codec.encoding_table["25789"] = [233,169] let s:lib.Codec.encoding_table["25737"] = [233,170] let s:lib.Codec.encoding_table["25795"] = [233,171] let s:lib.Codec.encoding_table["25819"] = [233,172] let s:lib.Codec.encoding_table["25843"] = [233,173] let s:lib.Codec.encoding_table["25817"] = [233,174] let s:lib.Codec.encoding_table["25907"] = [233,175] let s:lib.Codec.encoding_table["25983"] = [233,176] let s:lib.Codec.encoding_table["25980"] = [233,177] let s:lib.Codec.encoding_table["26018"] = [233,178] let s:lib.Codec.encoding_table["26312"] = [233,179] let s:lib.Codec.encoding_table["26302"] = [233,180] let s:lib.Codec.encoding_table["26304"] = [233,181] let s:lib.Codec.encoding_table["26314"] = [233,182] let s:lib.Codec.encoding_table["26315"] = [233,183] let s:lib.Codec.encoding_table["26319"] = [233,184] let s:lib.Codec.encoding_table["26301"] = [233,185] let s:lib.Codec.encoding_table["26299"] = [233,186] let s:lib.Codec.encoding_table["26298"] = [233,187] let s:lib.Codec.encoding_table["26316"] = [233,188] let s:lib.Codec.encoding_table["26403"] = [233,189] let s:lib.Codec.encoding_table["27188"] = [233,190] let s:lib.Codec.encoding_table["27238"] = [233,191] let s:lib.Codec.encoding_table["27209"] = [233,192] let s:lib.Codec.encoding_table["27239"] = [233,193] let s:lib.Codec.encoding_table["27186"] = [233,194] let s:lib.Codec.encoding_table["27240"] = [233,195] let s:lib.Codec.encoding_table["27198"] = [233,196] let s:lib.Codec.encoding_table["27229"] = [233,197] let s:lib.Codec.encoding_table["27245"] = [233,198] let s:lib.Codec.encoding_table["27254"] = [233,199] let s:lib.Codec.encoding_table["27227"] = [233,200] let s:lib.Codec.encoding_table["27217"] = [233,201] let s:lib.Codec.encoding_table["27176"] = [233,202] let s:lib.Codec.encoding_table["27226"] = [233,203] let s:lib.Codec.encoding_table["27195"] = [233,204] let s:lib.Codec.encoding_table["27199"] = [233,205] let s:lib.Codec.encoding_table["27201"] = [233,206] let s:lib.Codec.encoding_table["27242"] = [233,207] let s:lib.Codec.encoding_table["27236"] = [233,208] let s:lib.Codec.encoding_table["27216"] = [233,209] let s:lib.Codec.encoding_table["27215"] = [233,210] let s:lib.Codec.encoding_table["27220"] = [233,211] let s:lib.Codec.encoding_table["27247"] = [233,212] let s:lib.Codec.encoding_table["27241"] = [233,213] let s:lib.Codec.encoding_table["27232"] = [233,214] let s:lib.Codec.encoding_table["27196"] = [233,215] let s:lib.Codec.encoding_table["27230"] = [233,216] let s:lib.Codec.encoding_table["27222"] = [233,217] let s:lib.Codec.encoding_table["27221"] = [233,218] let s:lib.Codec.encoding_table["27213"] = [233,219] let s:lib.Codec.encoding_table["27214"] = [233,220] let s:lib.Codec.encoding_table["27206"] = [233,221] let s:lib.Codec.encoding_table["27477"] = [233,222] let s:lib.Codec.encoding_table["27476"] = [233,223] let s:lib.Codec.encoding_table["27478"] = [233,224] let s:lib.Codec.encoding_table["27559"] = [233,225] let s:lib.Codec.encoding_table["27562"] = [233,226] let s:lib.Codec.encoding_table["27563"] = [233,227] let s:lib.Codec.encoding_table["27592"] = [233,228] let s:lib.Codec.encoding_table["27591"] = [233,229] let s:lib.Codec.encoding_table["27652"] = [233,230] let s:lib.Codec.encoding_table["27651"] = [233,231] let s:lib.Codec.encoding_table["27654"] = [233,232] let s:lib.Codec.encoding_table["28589"] = [233,233] let s:lib.Codec.encoding_table["28619"] = [233,234] let s:lib.Codec.encoding_table["28579"] = [233,235] let s:lib.Codec.encoding_table["28615"] = [233,236] let s:lib.Codec.encoding_table["28604"] = [233,237] let s:lib.Codec.encoding_table["28622"] = [233,238] let s:lib.Codec.encoding_table["28616"] = [233,239] let s:lib.Codec.encoding_table["28510"] = [233,240] let s:lib.Codec.encoding_table["28612"] = [233,241] let s:lib.Codec.encoding_table["28605"] = [233,242] let s:lib.Codec.encoding_table["28574"] = [233,243] let s:lib.Codec.encoding_table["28618"] = [233,244] let s:lib.Codec.encoding_table["28584"] = [233,245] let s:lib.Codec.encoding_table["28676"] = [233,246] let s:lib.Codec.encoding_table["28581"] = [233,247] let s:lib.Codec.encoding_table["28590"] = [233,248] let s:lib.Codec.encoding_table["28602"] = [233,249] let s:lib.Codec.encoding_table["28588"] = [233,250] let s:lib.Codec.encoding_table["28586"] = [233,251] let s:lib.Codec.encoding_table["28623"] = [233,252] let s:lib.Codec.encoding_table["28607"] = [233,253] let s:lib.Codec.encoding_table["28600"] = [233,254] let s:lib.Codec.encoding_table["28578"] = [234,64] let s:lib.Codec.encoding_table["28617"] = [234,65] let s:lib.Codec.encoding_table["28587"] = [234,66] let s:lib.Codec.encoding_table["28621"] = [234,67] let s:lib.Codec.encoding_table["28591"] = [234,68] let s:lib.Codec.encoding_table["28594"] = [234,69] let s:lib.Codec.encoding_table["28592"] = [234,70] let s:lib.Codec.encoding_table["29125"] = [234,71] let s:lib.Codec.encoding_table["29122"] = [234,72] let s:lib.Codec.encoding_table["29119"] = [234,73] let s:lib.Codec.encoding_table["29112"] = [234,74] let s:lib.Codec.encoding_table["29142"] = [234,75] let s:lib.Codec.encoding_table["29120"] = [234,76] let s:lib.Codec.encoding_table["29121"] = [234,77] let s:lib.Codec.encoding_table["29131"] = [234,78] let s:lib.Codec.encoding_table["29140"] = [234,79] let s:lib.Codec.encoding_table["29130"] = [234,80] let s:lib.Codec.encoding_table["29127"] = [234,81] let s:lib.Codec.encoding_table["29135"] = [234,82] let s:lib.Codec.encoding_table["29117"] = [234,83] let s:lib.Codec.encoding_table["29144"] = [234,84] let s:lib.Codec.encoding_table["29116"] = [234,85] let s:lib.Codec.encoding_table["29126"] = [234,86] let s:lib.Codec.encoding_table["29146"] = [234,87] let s:lib.Codec.encoding_table["29147"] = [234,88] let s:lib.Codec.encoding_table["29341"] = [234,89] let s:lib.Codec.encoding_table["29342"] = [234,90] let s:lib.Codec.encoding_table["29545"] = [234,91] let s:lib.Codec.encoding_table["29542"] = [234,92] let s:lib.Codec.encoding_table["29543"] = [234,93] let s:lib.Codec.encoding_table["29548"] = [234,94] let s:lib.Codec.encoding_table["29541"] = [234,95] let s:lib.Codec.encoding_table["29547"] = [234,96] let s:lib.Codec.encoding_table["29546"] = [234,97] let s:lib.Codec.encoding_table["29823"] = [234,98] let s:lib.Codec.encoding_table["29850"] = [234,99] let s:lib.Codec.encoding_table["29856"] = [234,100] let s:lib.Codec.encoding_table["29844"] = [234,101] let s:lib.Codec.encoding_table["29842"] = [234,102] let s:lib.Codec.encoding_table["29845"] = [234,103] let s:lib.Codec.encoding_table["29857"] = [234,104] let s:lib.Codec.encoding_table["29963"] = [234,105] let s:lib.Codec.encoding_table["30080"] = [234,106] let s:lib.Codec.encoding_table["30255"] = [234,107] let s:lib.Codec.encoding_table["30253"] = [234,108] let s:lib.Codec.encoding_table["30257"] = [234,109] let s:lib.Codec.encoding_table["30269"] = [234,110] let s:lib.Codec.encoding_table["30259"] = [234,111] let s:lib.Codec.encoding_table["30268"] = [234,112] let s:lib.Codec.encoding_table["30261"] = [234,113] let s:lib.Codec.encoding_table["30258"] = [234,114] let s:lib.Codec.encoding_table["30256"] = [234,115] let s:lib.Codec.encoding_table["30395"] = [234,116] let s:lib.Codec.encoding_table["30438"] = [234,117] let s:lib.Codec.encoding_table["30618"] = [234,118] let s:lib.Codec.encoding_table["30621"] = [234,119] let s:lib.Codec.encoding_table["30625"] = [234,120] let s:lib.Codec.encoding_table["30620"] = [234,121] let s:lib.Codec.encoding_table["30619"] = [234,122] let s:lib.Codec.encoding_table["30626"] = [234,123] let s:lib.Codec.encoding_table["30627"] = [234,124] let s:lib.Codec.encoding_table["30613"] = [234,125] let s:lib.Codec.encoding_table["30617"] = [234,126] let s:lib.Codec.encoding_table["30615"] = [234,161] let s:lib.Codec.encoding_table["30941"] = [234,162] let s:lib.Codec.encoding_table["30953"] = [234,163] let s:lib.Codec.encoding_table["30949"] = [234,164] let s:lib.Codec.encoding_table["30954"] = [234,165] let s:lib.Codec.encoding_table["30942"] = [234,166] let s:lib.Codec.encoding_table["30947"] = [234,167] let s:lib.Codec.encoding_table["30939"] = [234,168] let s:lib.Codec.encoding_table["30945"] = [234,169] let s:lib.Codec.encoding_table["30946"] = [234,170] let s:lib.Codec.encoding_table["30957"] = [234,171] let s:lib.Codec.encoding_table["30943"] = [234,172] let s:lib.Codec.encoding_table["30944"] = [234,173] let s:lib.Codec.encoding_table["31140"] = [234,174] let s:lib.Codec.encoding_table["31300"] = [234,175] let s:lib.Codec.encoding_table["31304"] = [234,176] let s:lib.Codec.encoding_table["31303"] = [234,177] let s:lib.Codec.encoding_table["31414"] = [234,178] let s:lib.Codec.encoding_table["31416"] = [234,179] let s:lib.Codec.encoding_table["31413"] = [234,180] let s:lib.Codec.encoding_table["31409"] = [234,181] let s:lib.Codec.encoding_table["31415"] = [234,182] let s:lib.Codec.encoding_table["31710"] = [234,183] let s:lib.Codec.encoding_table["31715"] = [234,184] let s:lib.Codec.encoding_table["31719"] = [234,185] let s:lib.Codec.encoding_table["31709"] = [234,186] let s:lib.Codec.encoding_table["31701"] = [234,187] let s:lib.Codec.encoding_table["31717"] = [234,188] let s:lib.Codec.encoding_table["31706"] = [234,189] let s:lib.Codec.encoding_table["31720"] = [234,190] let s:lib.Codec.encoding_table["31737"] = [234,191] let s:lib.Codec.encoding_table["31700"] = [234,192] let s:lib.Codec.encoding_table["31722"] = [234,193] let s:lib.Codec.encoding_table["31714"] = [234,194] let s:lib.Codec.encoding_table["31708"] = [234,195] let s:lib.Codec.encoding_table["31723"] = [234,196] let s:lib.Codec.encoding_table["31704"] = [234,197] let s:lib.Codec.encoding_table["31711"] = [234,198] let s:lib.Codec.encoding_table["31954"] = [234,199] let s:lib.Codec.encoding_table["31956"] = [234,200] let s:lib.Codec.encoding_table["31959"] = [234,201] let s:lib.Codec.encoding_table["31952"] = [234,202] let s:lib.Codec.encoding_table["31953"] = [234,203] let s:lib.Codec.encoding_table["32274"] = [234,204] let s:lib.Codec.encoding_table["32289"] = [234,205] let s:lib.Codec.encoding_table["32279"] = [234,206] let s:lib.Codec.encoding_table["32268"] = [234,207] let s:lib.Codec.encoding_table["32287"] = [234,208] let s:lib.Codec.encoding_table["32288"] = [234,209] let s:lib.Codec.encoding_table["32275"] = [234,210] let s:lib.Codec.encoding_table["32270"] = [234,211] let s:lib.Codec.encoding_table["32284"] = [234,212] let s:lib.Codec.encoding_table["32277"] = [234,213] let s:lib.Codec.encoding_table["32282"] = [234,214] let s:lib.Codec.encoding_table["32290"] = [234,215] let s:lib.Codec.encoding_table["32267"] = [234,216] let s:lib.Codec.encoding_table["32271"] = [234,217] let s:lib.Codec.encoding_table["32278"] = [234,218] let s:lib.Codec.encoding_table["32269"] = [234,219] let s:lib.Codec.encoding_table["32276"] = [234,220] let s:lib.Codec.encoding_table["32293"] = [234,221] let s:lib.Codec.encoding_table["32292"] = [234,222] let s:lib.Codec.encoding_table["32579"] = [234,223] let s:lib.Codec.encoding_table["32635"] = [234,224] let s:lib.Codec.encoding_table["32636"] = [234,225] let s:lib.Codec.encoding_table["32634"] = [234,226] let s:lib.Codec.encoding_table["32689"] = [234,227] let s:lib.Codec.encoding_table["32751"] = [234,228] let s:lib.Codec.encoding_table["32810"] = [234,229] let s:lib.Codec.encoding_table["32809"] = [234,230] let s:lib.Codec.encoding_table["32876"] = [234,231] let s:lib.Codec.encoding_table["33201"] = [234,232] let s:lib.Codec.encoding_table["33190"] = [234,233] let s:lib.Codec.encoding_table["33198"] = [234,234] let s:lib.Codec.encoding_table["33209"] = [234,235] let s:lib.Codec.encoding_table["33205"] = [234,236] let s:lib.Codec.encoding_table["33195"] = [234,237] let s:lib.Codec.encoding_table["33200"] = [234,238] let s:lib.Codec.encoding_table["33196"] = [234,239] let s:lib.Codec.encoding_table["33204"] = [234,240] let s:lib.Codec.encoding_table["33202"] = [234,241] let s:lib.Codec.encoding_table["33207"] = [234,242] let s:lib.Codec.encoding_table["33191"] = [234,243] let s:lib.Codec.encoding_table["33266"] = [234,244] let s:lib.Codec.encoding_table["33365"] = [234,245] let s:lib.Codec.encoding_table["33366"] = [234,246] let s:lib.Codec.encoding_table["33367"] = [234,247] let s:lib.Codec.encoding_table["34134"] = [234,248] let s:lib.Codec.encoding_table["34117"] = [234,249] let s:lib.Codec.encoding_table["34155"] = [234,250] let s:lib.Codec.encoding_table["34125"] = [234,251] let s:lib.Codec.encoding_table["34131"] = [234,252] let s:lib.Codec.encoding_table["34145"] = [234,253] let s:lib.Codec.encoding_table["34136"] = [234,254] let s:lib.Codec.encoding_table["34112"] = [235,64] let s:lib.Codec.encoding_table["34118"] = [235,65] let s:lib.Codec.encoding_table["34148"] = [235,66] let s:lib.Codec.encoding_table["34113"] = [235,67] let s:lib.Codec.encoding_table["34146"] = [235,68] let s:lib.Codec.encoding_table["34116"] = [235,69] let s:lib.Codec.encoding_table["34129"] = [235,70] let s:lib.Codec.encoding_table["34119"] = [235,71] let s:lib.Codec.encoding_table["34147"] = [235,72] let s:lib.Codec.encoding_table["34110"] = [235,73] let s:lib.Codec.encoding_table["34139"] = [235,74] let s:lib.Codec.encoding_table["34161"] = [235,75] let s:lib.Codec.encoding_table["34126"] = [235,76] let s:lib.Codec.encoding_table["34158"] = [235,77] let s:lib.Codec.encoding_table["34165"] = [235,78] let s:lib.Codec.encoding_table["34133"] = [235,79] let s:lib.Codec.encoding_table["34151"] = [235,80] let s:lib.Codec.encoding_table["34144"] = [235,81] let s:lib.Codec.encoding_table["34188"] = [235,82] let s:lib.Codec.encoding_table["34150"] = [235,83] let s:lib.Codec.encoding_table["34141"] = [235,84] let s:lib.Codec.encoding_table["34132"] = [235,85] let s:lib.Codec.encoding_table["34149"] = [235,86] let s:lib.Codec.encoding_table["34156"] = [235,87] let s:lib.Codec.encoding_table["34403"] = [235,88] let s:lib.Codec.encoding_table["34405"] = [235,89] let s:lib.Codec.encoding_table["34404"] = [235,90] let s:lib.Codec.encoding_table["34715"] = [235,91] let s:lib.Codec.encoding_table["34703"] = [235,92] let s:lib.Codec.encoding_table["34711"] = [235,93] let s:lib.Codec.encoding_table["34707"] = [235,94] let s:lib.Codec.encoding_table["34706"] = [235,95] let s:lib.Codec.encoding_table["34696"] = [235,96] let s:lib.Codec.encoding_table["34689"] = [235,97] let s:lib.Codec.encoding_table["34710"] = [235,98] let s:lib.Codec.encoding_table["34712"] = [235,99] let s:lib.Codec.encoding_table["34681"] = [235,100] let s:lib.Codec.encoding_table["34695"] = [235,101] let s:lib.Codec.encoding_table["34723"] = [235,102] let s:lib.Codec.encoding_table["34693"] = [235,103] let s:lib.Codec.encoding_table["34704"] = [235,104] let s:lib.Codec.encoding_table["34705"] = [235,105] let s:lib.Codec.encoding_table["34717"] = [235,106] let s:lib.Codec.encoding_table["34692"] = [235,107] let s:lib.Codec.encoding_table["34708"] = [235,108] let s:lib.Codec.encoding_table["34716"] = [235,109] let s:lib.Codec.encoding_table["34714"] = [235,110] let s:lib.Codec.encoding_table["34697"] = [235,111] let s:lib.Codec.encoding_table["35102"] = [235,112] let s:lib.Codec.encoding_table["35110"] = [235,113] let s:lib.Codec.encoding_table["35120"] = [235,114] let s:lib.Codec.encoding_table["35117"] = [235,115] let s:lib.Codec.encoding_table["35118"] = [235,116] let s:lib.Codec.encoding_table["35111"] = [235,117] let s:lib.Codec.encoding_table["35121"] = [235,118] let s:lib.Codec.encoding_table["35106"] = [235,119] let s:lib.Codec.encoding_table["35113"] = [235,120] let s:lib.Codec.encoding_table["35107"] = [235,121] let s:lib.Codec.encoding_table["35119"] = [235,122] let s:lib.Codec.encoding_table["35116"] = [235,123] let s:lib.Codec.encoding_table["35103"] = [235,124] let s:lib.Codec.encoding_table["35313"] = [235,125] let s:lib.Codec.encoding_table["35552"] = [235,126] let s:lib.Codec.encoding_table["35554"] = [235,161] let s:lib.Codec.encoding_table["35570"] = [235,162] let s:lib.Codec.encoding_table["35572"] = [235,163] let s:lib.Codec.encoding_table["35573"] = [235,164] let s:lib.Codec.encoding_table["35549"] = [235,165] let s:lib.Codec.encoding_table["35604"] = [235,166] let s:lib.Codec.encoding_table["35556"] = [235,167] let s:lib.Codec.encoding_table["35551"] = [235,168] let s:lib.Codec.encoding_table["35568"] = [235,169] let s:lib.Codec.encoding_table["35528"] = [235,170] let s:lib.Codec.encoding_table["35550"] = [235,171] let s:lib.Codec.encoding_table["35553"] = [235,172] let s:lib.Codec.encoding_table["35560"] = [235,173] let s:lib.Codec.encoding_table["35583"] = [235,174] let s:lib.Codec.encoding_table["35567"] = [235,175] let s:lib.Codec.encoding_table["35579"] = [235,176] let s:lib.Codec.encoding_table["35985"] = [235,177] let s:lib.Codec.encoding_table["35986"] = [235,178] let s:lib.Codec.encoding_table["35984"] = [235,179] let s:lib.Codec.encoding_table["36085"] = [235,180] let s:lib.Codec.encoding_table["36078"] = [235,181] let s:lib.Codec.encoding_table["36081"] = [235,182] let s:lib.Codec.encoding_table["36080"] = [235,183] let s:lib.Codec.encoding_table["36083"] = [235,184] let s:lib.Codec.encoding_table["36204"] = [235,185] let s:lib.Codec.encoding_table["36206"] = [235,186] let s:lib.Codec.encoding_table["36261"] = [235,187] let s:lib.Codec.encoding_table["36263"] = [235,188] let s:lib.Codec.encoding_table["36403"] = [235,189] let s:lib.Codec.encoding_table["36414"] = [235,190] let s:lib.Codec.encoding_table["36408"] = [235,191] let s:lib.Codec.encoding_table["36416"] = [235,192] let s:lib.Codec.encoding_table["36421"] = [235,193] let s:lib.Codec.encoding_table["36406"] = [235,194] let s:lib.Codec.encoding_table["36412"] = [235,195] let s:lib.Codec.encoding_table["36413"] = [235,196] let s:lib.Codec.encoding_table["36417"] = [235,197] let s:lib.Codec.encoding_table["36400"] = [235,198] let s:lib.Codec.encoding_table["36415"] = [235,199] let s:lib.Codec.encoding_table["36541"] = [235,200] let s:lib.Codec.encoding_table["36662"] = [235,201] let s:lib.Codec.encoding_table["36654"] = [235,202] let s:lib.Codec.encoding_table["36661"] = [235,203] let s:lib.Codec.encoding_table["36658"] = [235,204] let s:lib.Codec.encoding_table["36665"] = [235,205] let s:lib.Codec.encoding_table["36663"] = [235,206] let s:lib.Codec.encoding_table["36660"] = [235,207] let s:lib.Codec.encoding_table["36982"] = [235,208] let s:lib.Codec.encoding_table["36985"] = [235,209] let s:lib.Codec.encoding_table["36987"] = [235,210] let s:lib.Codec.encoding_table["36998"] = [235,211] let s:lib.Codec.encoding_table["37114"] = [235,212] let s:lib.Codec.encoding_table["37171"] = [235,213] let s:lib.Codec.encoding_table["37173"] = [235,214] let s:lib.Codec.encoding_table["37174"] = [235,215] let s:lib.Codec.encoding_table["37267"] = [235,216] let s:lib.Codec.encoding_table["37264"] = [235,217] let s:lib.Codec.encoding_table["37265"] = [235,218] let s:lib.Codec.encoding_table["37261"] = [235,219] let s:lib.Codec.encoding_table["37263"] = [235,220] let s:lib.Codec.encoding_table["37671"] = [235,221] let s:lib.Codec.encoding_table["37662"] = [235,222] let s:lib.Codec.encoding_table["37640"] = [235,223] let s:lib.Codec.encoding_table["37663"] = [235,224] let s:lib.Codec.encoding_table["37638"] = [235,225] let s:lib.Codec.encoding_table["37647"] = [235,226] let s:lib.Codec.encoding_table["37754"] = [235,227] let s:lib.Codec.encoding_table["37688"] = [235,228] let s:lib.Codec.encoding_table["37692"] = [235,229] let s:lib.Codec.encoding_table["37659"] = [235,230] let s:lib.Codec.encoding_table["37667"] = [235,231] let s:lib.Codec.encoding_table["37650"] = [235,232] let s:lib.Codec.encoding_table["37633"] = [235,233] let s:lib.Codec.encoding_table["37702"] = [235,234] let s:lib.Codec.encoding_table["37677"] = [235,235] let s:lib.Codec.encoding_table["37646"] = [235,236] let s:lib.Codec.encoding_table["37645"] = [235,237] let s:lib.Codec.encoding_table["37579"] = [235,238] let s:lib.Codec.encoding_table["37661"] = [235,239] let s:lib.Codec.encoding_table["37626"] = [235,240] let s:lib.Codec.encoding_table["37669"] = [235,241] let s:lib.Codec.encoding_table["37651"] = [235,242] let s:lib.Codec.encoding_table["37625"] = [235,243] let s:lib.Codec.encoding_table["37623"] = [235,244] let s:lib.Codec.encoding_table["37684"] = [235,245] let s:lib.Codec.encoding_table["37634"] = [235,246] let s:lib.Codec.encoding_table["37668"] = [235,247] let s:lib.Codec.encoding_table["37631"] = [235,248] let s:lib.Codec.encoding_table["37673"] = [235,249] let s:lib.Codec.encoding_table["37689"] = [235,250] let s:lib.Codec.encoding_table["37685"] = [235,251] let s:lib.Codec.encoding_table["37674"] = [235,252] let s:lib.Codec.encoding_table["37652"] = [235,253] let s:lib.Codec.encoding_table["37644"] = [235,254] let s:lib.Codec.encoding_table["37643"] = [236,64] let s:lib.Codec.encoding_table["37630"] = [236,65] let s:lib.Codec.encoding_table["37641"] = [236,66] let s:lib.Codec.encoding_table["37632"] = [236,67] let s:lib.Codec.encoding_table["37627"] = [236,68] let s:lib.Codec.encoding_table["37654"] = [236,69] let s:lib.Codec.encoding_table["38332"] = [236,70] let s:lib.Codec.encoding_table["38349"] = [236,71] let s:lib.Codec.encoding_table["38334"] = [236,72] let s:lib.Codec.encoding_table["38329"] = [236,73] let s:lib.Codec.encoding_table["38330"] = [236,74] let s:lib.Codec.encoding_table["38326"] = [236,75] let s:lib.Codec.encoding_table["38335"] = [236,76] let s:lib.Codec.encoding_table["38325"] = [236,77] let s:lib.Codec.encoding_table["38333"] = [236,78] let s:lib.Codec.encoding_table["38569"] = [236,79] let s:lib.Codec.encoding_table["38612"] = [236,80] let s:lib.Codec.encoding_table["38667"] = [236,81] let s:lib.Codec.encoding_table["38674"] = [236,82] let s:lib.Codec.encoding_table["38672"] = [236,83] let s:lib.Codec.encoding_table["38809"] = [236,84] let s:lib.Codec.encoding_table["38807"] = [236,85] let s:lib.Codec.encoding_table["38804"] = [236,86] let s:lib.Codec.encoding_table["38896"] = [236,87] let s:lib.Codec.encoding_table["38904"] = [236,88] let s:lib.Codec.encoding_table["38965"] = [236,89] let s:lib.Codec.encoding_table["38959"] = [236,90] let s:lib.Codec.encoding_table["38962"] = [236,91] let s:lib.Codec.encoding_table["39204"] = [236,92] let s:lib.Codec.encoding_table["39199"] = [236,93] let s:lib.Codec.encoding_table["39207"] = [236,94] let s:lib.Codec.encoding_table["39209"] = [236,95] let s:lib.Codec.encoding_table["39326"] = [236,96] let s:lib.Codec.encoding_table["39406"] = [236,97] let s:lib.Codec.encoding_table["39404"] = [236,98] let s:lib.Codec.encoding_table["39397"] = [236,99] let s:lib.Codec.encoding_table["39396"] = [236,100] let s:lib.Codec.encoding_table["39408"] = [236,101] let s:lib.Codec.encoding_table["39395"] = [236,102] let s:lib.Codec.encoding_table["39402"] = [236,103] let s:lib.Codec.encoding_table["39401"] = [236,104] let s:lib.Codec.encoding_table["39399"] = [236,105] let s:lib.Codec.encoding_table["39609"] = [236,106] let s:lib.Codec.encoding_table["39615"] = [236,107] let s:lib.Codec.encoding_table["39604"] = [236,108] let s:lib.Codec.encoding_table["39611"] = [236,109] let s:lib.Codec.encoding_table["39670"] = [236,110] let s:lib.Codec.encoding_table["39674"] = [236,111] let s:lib.Codec.encoding_table["39673"] = [236,112] let s:lib.Codec.encoding_table["39671"] = [236,113] let s:lib.Codec.encoding_table["39731"] = [236,114] let s:lib.Codec.encoding_table["39808"] = [236,115] let s:lib.Codec.encoding_table["39813"] = [236,116] let s:lib.Codec.encoding_table["39815"] = [236,117] let s:lib.Codec.encoding_table["39804"] = [236,118] let s:lib.Codec.encoding_table["39806"] = [236,119] let s:lib.Codec.encoding_table["39803"] = [236,120] let s:lib.Codec.encoding_table["39810"] = [236,121] let s:lib.Codec.encoding_table["39827"] = [236,122] let s:lib.Codec.encoding_table["39826"] = [236,123] let s:lib.Codec.encoding_table["39824"] = [236,124] let s:lib.Codec.encoding_table["39802"] = [236,125] let s:lib.Codec.encoding_table["39829"] = [236,126] let s:lib.Codec.encoding_table["39805"] = [236,161] let s:lib.Codec.encoding_table["39816"] = [236,162] let s:lib.Codec.encoding_table["40229"] = [236,163] let s:lib.Codec.encoding_table["40215"] = [236,164] let s:lib.Codec.encoding_table["40224"] = [236,165] let s:lib.Codec.encoding_table["40222"] = [236,166] let s:lib.Codec.encoding_table["40212"] = [236,167] let s:lib.Codec.encoding_table["40233"] = [236,168] let s:lib.Codec.encoding_table["40221"] = [236,169] let s:lib.Codec.encoding_table["40216"] = [236,170] let s:lib.Codec.encoding_table["40226"] = [236,171] let s:lib.Codec.encoding_table["40208"] = [236,172] let s:lib.Codec.encoding_table["40217"] = [236,173] let s:lib.Codec.encoding_table["40223"] = [236,174] let s:lib.Codec.encoding_table["40584"] = [236,175] let s:lib.Codec.encoding_table["40582"] = [236,176] let s:lib.Codec.encoding_table["40583"] = [236,177] let s:lib.Codec.encoding_table["40622"] = [236,178] let s:lib.Codec.encoding_table["40621"] = [236,179] let s:lib.Codec.encoding_table["40661"] = [236,180] let s:lib.Codec.encoding_table["40662"] = [236,181] let s:lib.Codec.encoding_table["40698"] = [236,182] let s:lib.Codec.encoding_table["40722"] = [236,183] let s:lib.Codec.encoding_table["40765"] = [236,184] let s:lib.Codec.encoding_table["20774"] = [236,185] let s:lib.Codec.encoding_table["20773"] = [236,186] let s:lib.Codec.encoding_table["20770"] = [236,187] let s:lib.Codec.encoding_table["20772"] = [236,188] let s:lib.Codec.encoding_table["20768"] = [236,189] let s:lib.Codec.encoding_table["20777"] = [236,190] let s:lib.Codec.encoding_table["21236"] = [236,191] let s:lib.Codec.encoding_table["22163"] = [236,192] let s:lib.Codec.encoding_table["22156"] = [236,193] let s:lib.Codec.encoding_table["22157"] = [236,194] let s:lib.Codec.encoding_table["22150"] = [236,195] let s:lib.Codec.encoding_table["22148"] = [236,196] let s:lib.Codec.encoding_table["22147"] = [236,197] let s:lib.Codec.encoding_table["22142"] = [236,198] let s:lib.Codec.encoding_table["22146"] = [236,199] let s:lib.Codec.encoding_table["22143"] = [236,200] let s:lib.Codec.encoding_table["22145"] = [236,201] let s:lib.Codec.encoding_table["22742"] = [236,202] let s:lib.Codec.encoding_table["22740"] = [236,203] let s:lib.Codec.encoding_table["22735"] = [236,204] let s:lib.Codec.encoding_table["22738"] = [236,205] let s:lib.Codec.encoding_table["23341"] = [236,206] let s:lib.Codec.encoding_table["23333"] = [236,207] let s:lib.Codec.encoding_table["23346"] = [236,208] let s:lib.Codec.encoding_table["23331"] = [236,209] let s:lib.Codec.encoding_table["23340"] = [236,210] let s:lib.Codec.encoding_table["23335"] = [236,211] let s:lib.Codec.encoding_table["23334"] = [236,212] let s:lib.Codec.encoding_table["23343"] = [236,213] let s:lib.Codec.encoding_table["23342"] = [236,214] let s:lib.Codec.encoding_table["23419"] = [236,215] let s:lib.Codec.encoding_table["23537"] = [236,216] let s:lib.Codec.encoding_table["23538"] = [236,217] let s:lib.Codec.encoding_table["23991"] = [236,218] let s:lib.Codec.encoding_table["24172"] = [236,219] let s:lib.Codec.encoding_table["24170"] = [236,220] let s:lib.Codec.encoding_table["24510"] = [236,221] let s:lib.Codec.encoding_table["24507"] = [236,222] let s:lib.Codec.encoding_table["25027"] = [236,223] let s:lib.Codec.encoding_table["25013"] = [236,224] let s:lib.Codec.encoding_table["25020"] = [236,225] let s:lib.Codec.encoding_table["25063"] = [236,226] let s:lib.Codec.encoding_table["25056"] = [236,227] let s:lib.Codec.encoding_table["25061"] = [236,228] let s:lib.Codec.encoding_table["25060"] = [236,229] let s:lib.Codec.encoding_table["25064"] = [236,230] let s:lib.Codec.encoding_table["25054"] = [236,231] let s:lib.Codec.encoding_table["25839"] = [236,232] let s:lib.Codec.encoding_table["25833"] = [236,233] let s:lib.Codec.encoding_table["25827"] = [236,234] let s:lib.Codec.encoding_table["25835"] = [236,235] let s:lib.Codec.encoding_table["25828"] = [236,236] let s:lib.Codec.encoding_table["25832"] = [236,237] let s:lib.Codec.encoding_table["25985"] = [236,238] let s:lib.Codec.encoding_table["25984"] = [236,239] let s:lib.Codec.encoding_table["26038"] = [236,240] let s:lib.Codec.encoding_table["26074"] = [236,241] let s:lib.Codec.encoding_table["26322"] = [236,242] let s:lib.Codec.encoding_table["27277"] = [236,243] let s:lib.Codec.encoding_table["27286"] = [236,244] let s:lib.Codec.encoding_table["27265"] = [236,245] let s:lib.Codec.encoding_table["27301"] = [236,246] let s:lib.Codec.encoding_table["27273"] = [236,247] let s:lib.Codec.encoding_table["27295"] = [236,248] let s:lib.Codec.encoding_table["27291"] = [236,249] let s:lib.Codec.encoding_table["27297"] = [236,250] let s:lib.Codec.encoding_table["27294"] = [236,251] let s:lib.Codec.encoding_table["27271"] = [236,252] let s:lib.Codec.encoding_table["27283"] = [236,253] let s:lib.Codec.encoding_table["27278"] = [236,254] let s:lib.Codec.encoding_table["27285"] = [237,64] let s:lib.Codec.encoding_table["27267"] = [237,65] let s:lib.Codec.encoding_table["27304"] = [237,66] let s:lib.Codec.encoding_table["27300"] = [237,67] let s:lib.Codec.encoding_table["27281"] = [237,68] let s:lib.Codec.encoding_table["27263"] = [237,69] let s:lib.Codec.encoding_table["27302"] = [237,70] let s:lib.Codec.encoding_table["27290"] = [237,71] let s:lib.Codec.encoding_table["27269"] = [237,72] let s:lib.Codec.encoding_table["27276"] = [237,73] let s:lib.Codec.encoding_table["27282"] = [237,74] let s:lib.Codec.encoding_table["27483"] = [237,75] let s:lib.Codec.encoding_table["27565"] = [237,76] let s:lib.Codec.encoding_table["27657"] = [237,77] let s:lib.Codec.encoding_table["28620"] = [237,78] let s:lib.Codec.encoding_table["28585"] = [237,79] let s:lib.Codec.encoding_table["28660"] = [237,80] let s:lib.Codec.encoding_table["28628"] = [237,81] let s:lib.Codec.encoding_table["28643"] = [237,82] let s:lib.Codec.encoding_table["28636"] = [237,83] let s:lib.Codec.encoding_table["28653"] = [237,84] let s:lib.Codec.encoding_table["28647"] = [237,85] let s:lib.Codec.encoding_table["28646"] = [237,86] let s:lib.Codec.encoding_table["28638"] = [237,87] let s:lib.Codec.encoding_table["28658"] = [237,88] let s:lib.Codec.encoding_table["28637"] = [237,89] let s:lib.Codec.encoding_table["28642"] = [237,90] let s:lib.Codec.encoding_table["28648"] = [237,91] let s:lib.Codec.encoding_table["29153"] = [237,92] let s:lib.Codec.encoding_table["29169"] = [237,93] let s:lib.Codec.encoding_table["29160"] = [237,94] let s:lib.Codec.encoding_table["29170"] = [237,95] let s:lib.Codec.encoding_table["29156"] = [237,96] let s:lib.Codec.encoding_table["29168"] = [237,97] let s:lib.Codec.encoding_table["29154"] = [237,98] let s:lib.Codec.encoding_table["29555"] = [237,99] let s:lib.Codec.encoding_table["29550"] = [237,100] let s:lib.Codec.encoding_table["29551"] = [237,101] let s:lib.Codec.encoding_table["29847"] = [237,102] let s:lib.Codec.encoding_table["29874"] = [237,103] let s:lib.Codec.encoding_table["29867"] = [237,104] let s:lib.Codec.encoding_table["29840"] = [237,105] let s:lib.Codec.encoding_table["29866"] = [237,106] let s:lib.Codec.encoding_table["29869"] = [237,107] let s:lib.Codec.encoding_table["29873"] = [237,108] let s:lib.Codec.encoding_table["29861"] = [237,109] let s:lib.Codec.encoding_table["29871"] = [237,110] let s:lib.Codec.encoding_table["29968"] = [237,111] let s:lib.Codec.encoding_table["29969"] = [237,112] let s:lib.Codec.encoding_table["29970"] = [237,113] let s:lib.Codec.encoding_table["29967"] = [237,114] let s:lib.Codec.encoding_table["30084"] = [237,115] let s:lib.Codec.encoding_table["30275"] = [237,116] let s:lib.Codec.encoding_table["30280"] = [237,117] let s:lib.Codec.encoding_table["30281"] = [237,118] let s:lib.Codec.encoding_table["30279"] = [237,119] let s:lib.Codec.encoding_table["30372"] = [237,120] let s:lib.Codec.encoding_table["30441"] = [237,121] let s:lib.Codec.encoding_table["30645"] = [237,122] let s:lib.Codec.encoding_table["30635"] = [237,123] let s:lib.Codec.encoding_table["30642"] = [237,124] let s:lib.Codec.encoding_table["30647"] = [237,125] let s:lib.Codec.encoding_table["30646"] = [237,126] let s:lib.Codec.encoding_table["30644"] = [237,161] let s:lib.Codec.encoding_table["30641"] = [237,162] let s:lib.Codec.encoding_table["30632"] = [237,163] let s:lib.Codec.encoding_table["30704"] = [237,164] let s:lib.Codec.encoding_table["30963"] = [237,165] let s:lib.Codec.encoding_table["30973"] = [237,166] let s:lib.Codec.encoding_table["30978"] = [237,167] let s:lib.Codec.encoding_table["30971"] = [237,168] let s:lib.Codec.encoding_table["30972"] = [237,169] let s:lib.Codec.encoding_table["30962"] = [237,170] let s:lib.Codec.encoding_table["30981"] = [237,171] let s:lib.Codec.encoding_table["30969"] = [237,172] let s:lib.Codec.encoding_table["30974"] = [237,173] let s:lib.Codec.encoding_table["30980"] = [237,174] let s:lib.Codec.encoding_table["31147"] = [237,175] let s:lib.Codec.encoding_table["31144"] = [237,176] let s:lib.Codec.encoding_table["31324"] = [237,177] let s:lib.Codec.encoding_table["31323"] = [237,178] let s:lib.Codec.encoding_table["31318"] = [237,179] let s:lib.Codec.encoding_table["31320"] = [237,180] let s:lib.Codec.encoding_table["31316"] = [237,181] let s:lib.Codec.encoding_table["31322"] = [237,182] let s:lib.Codec.encoding_table["31422"] = [237,183] let s:lib.Codec.encoding_table["31424"] = [237,184] let s:lib.Codec.encoding_table["31425"] = [237,185] let s:lib.Codec.encoding_table["31749"] = [237,186] let s:lib.Codec.encoding_table["31759"] = [237,187] let s:lib.Codec.encoding_table["31730"] = [237,188] let s:lib.Codec.encoding_table["31744"] = [237,189] let s:lib.Codec.encoding_table["31743"] = [237,190] let s:lib.Codec.encoding_table["31739"] = [237,191] let s:lib.Codec.encoding_table["31758"] = [237,192] let s:lib.Codec.encoding_table["31732"] = [237,193] let s:lib.Codec.encoding_table["31755"] = [237,194] let s:lib.Codec.encoding_table["31731"] = [237,195] let s:lib.Codec.encoding_table["31746"] = [237,196] let s:lib.Codec.encoding_table["31753"] = [237,197] let s:lib.Codec.encoding_table["31747"] = [237,198] let s:lib.Codec.encoding_table["31745"] = [237,199] let s:lib.Codec.encoding_table["31736"] = [237,200] let s:lib.Codec.encoding_table["31741"] = [237,201] let s:lib.Codec.encoding_table["31750"] = [237,202] let s:lib.Codec.encoding_table["31728"] = [237,203] let s:lib.Codec.encoding_table["31729"] = [237,204] let s:lib.Codec.encoding_table["31760"] = [237,205] let s:lib.Codec.encoding_table["31754"] = [237,206] let s:lib.Codec.encoding_table["31976"] = [237,207] let s:lib.Codec.encoding_table["32301"] = [237,208] let s:lib.Codec.encoding_table["32316"] = [237,209] let s:lib.Codec.encoding_table["32322"] = [237,210] let s:lib.Codec.encoding_table["32307"] = [237,211] let s:lib.Codec.encoding_table["38984"] = [237,212] let s:lib.Codec.encoding_table["32312"] = [237,213] let s:lib.Codec.encoding_table["32298"] = [237,214] let s:lib.Codec.encoding_table["32329"] = [237,215] let s:lib.Codec.encoding_table["32320"] = [237,216] let s:lib.Codec.encoding_table["32327"] = [237,217] let s:lib.Codec.encoding_table["32297"] = [237,218] let s:lib.Codec.encoding_table["32332"] = [237,219] let s:lib.Codec.encoding_table["32304"] = [237,220] let s:lib.Codec.encoding_table["32315"] = [237,221] let s:lib.Codec.encoding_table["32310"] = [237,222] let s:lib.Codec.encoding_table["32324"] = [237,223] let s:lib.Codec.encoding_table["32314"] = [237,224] let s:lib.Codec.encoding_table["32581"] = [237,225] let s:lib.Codec.encoding_table["32639"] = [237,226] let s:lib.Codec.encoding_table["32638"] = [237,227] let s:lib.Codec.encoding_table["32637"] = [237,228] let s:lib.Codec.encoding_table["32756"] = [237,229] let s:lib.Codec.encoding_table["32754"] = [237,230] let s:lib.Codec.encoding_table["32812"] = [237,231] let s:lib.Codec.encoding_table["33211"] = [237,232] let s:lib.Codec.encoding_table["33220"] = [237,233] let s:lib.Codec.encoding_table["33228"] = [237,234] let s:lib.Codec.encoding_table["33226"] = [237,235] let s:lib.Codec.encoding_table["33221"] = [237,236] let s:lib.Codec.encoding_table["33223"] = [237,237] let s:lib.Codec.encoding_table["33212"] = [237,238] let s:lib.Codec.encoding_table["33257"] = [237,239] let s:lib.Codec.encoding_table["33371"] = [237,240] let s:lib.Codec.encoding_table["33370"] = [237,241] let s:lib.Codec.encoding_table["33372"] = [237,242] let s:lib.Codec.encoding_table["34179"] = [237,243] let s:lib.Codec.encoding_table["34176"] = [237,244] let s:lib.Codec.encoding_table["34191"] = [237,245] let s:lib.Codec.encoding_table["34215"] = [237,246] let s:lib.Codec.encoding_table["34197"] = [237,247] let s:lib.Codec.encoding_table["34208"] = [237,248] let s:lib.Codec.encoding_table["34187"] = [237,249] let s:lib.Codec.encoding_table["34211"] = [237,250] let s:lib.Codec.encoding_table["34171"] = [237,251] let s:lib.Codec.encoding_table["34212"] = [237,252] let s:lib.Codec.encoding_table["34202"] = [237,253] let s:lib.Codec.encoding_table["34206"] = [237,254] let s:lib.Codec.encoding_table["34167"] = [238,64] let s:lib.Codec.encoding_table["34172"] = [238,65] let s:lib.Codec.encoding_table["34185"] = [238,66] let s:lib.Codec.encoding_table["34209"] = [238,67] let s:lib.Codec.encoding_table["34170"] = [238,68] let s:lib.Codec.encoding_table["34168"] = [238,69] let s:lib.Codec.encoding_table["34135"] = [238,70] let s:lib.Codec.encoding_table["34190"] = [238,71] let s:lib.Codec.encoding_table["34198"] = [238,72] let s:lib.Codec.encoding_table["34182"] = [238,73] let s:lib.Codec.encoding_table["34189"] = [238,74] let s:lib.Codec.encoding_table["34201"] = [238,75] let s:lib.Codec.encoding_table["34205"] = [238,76] let s:lib.Codec.encoding_table["34177"] = [238,77] let s:lib.Codec.encoding_table["34210"] = [238,78] let s:lib.Codec.encoding_table["34178"] = [238,79] let s:lib.Codec.encoding_table["34184"] = [238,80] let s:lib.Codec.encoding_table["34181"] = [238,81] let s:lib.Codec.encoding_table["34169"] = [238,82] let s:lib.Codec.encoding_table["34166"] = [238,83] let s:lib.Codec.encoding_table["34200"] = [238,84] let s:lib.Codec.encoding_table["34192"] = [238,85] let s:lib.Codec.encoding_table["34207"] = [238,86] let s:lib.Codec.encoding_table["34408"] = [238,87] let s:lib.Codec.encoding_table["34750"] = [238,88] let s:lib.Codec.encoding_table["34730"] = [238,89] let s:lib.Codec.encoding_table["34733"] = [238,90] let s:lib.Codec.encoding_table["34757"] = [238,91] let s:lib.Codec.encoding_table["34736"] = [238,92] let s:lib.Codec.encoding_table["34732"] = [238,93] let s:lib.Codec.encoding_table["34745"] = [238,94] let s:lib.Codec.encoding_table["34741"] = [238,95] let s:lib.Codec.encoding_table["34748"] = [238,96] let s:lib.Codec.encoding_table["34734"] = [238,97] let s:lib.Codec.encoding_table["34761"] = [238,98] let s:lib.Codec.encoding_table["34755"] = [238,99] let s:lib.Codec.encoding_table["34754"] = [238,100] let s:lib.Codec.encoding_table["34764"] = [238,101] let s:lib.Codec.encoding_table["34743"] = [238,102] let s:lib.Codec.encoding_table["34735"] = [238,103] let s:lib.Codec.encoding_table["34756"] = [238,104] let s:lib.Codec.encoding_table["34762"] = [238,105] let s:lib.Codec.encoding_table["34740"] = [238,106] let s:lib.Codec.encoding_table["34742"] = [238,107] let s:lib.Codec.encoding_table["34751"] = [238,108] let s:lib.Codec.encoding_table["34744"] = [238,109] let s:lib.Codec.encoding_table["34749"] = [238,110] let s:lib.Codec.encoding_table["34782"] = [238,111] let s:lib.Codec.encoding_table["34738"] = [238,112] let s:lib.Codec.encoding_table["35125"] = [238,113] let s:lib.Codec.encoding_table["35123"] = [238,114] let s:lib.Codec.encoding_table["35132"] = [238,115] let s:lib.Codec.encoding_table["35134"] = [238,116] let s:lib.Codec.encoding_table["35137"] = [238,117] let s:lib.Codec.encoding_table["35154"] = [238,118] let s:lib.Codec.encoding_table["35127"] = [238,119] let s:lib.Codec.encoding_table["35138"] = [238,120] let s:lib.Codec.encoding_table["35245"] = [238,121] let s:lib.Codec.encoding_table["35247"] = [238,122] let s:lib.Codec.encoding_table["35246"] = [238,123] let s:lib.Codec.encoding_table["35314"] = [238,124] let s:lib.Codec.encoding_table["35315"] = [238,125] let s:lib.Codec.encoding_table["35614"] = [238,126] let s:lib.Codec.encoding_table["35608"] = [238,161] let s:lib.Codec.encoding_table["35606"] = [238,162] let s:lib.Codec.encoding_table["35601"] = [238,163] let s:lib.Codec.encoding_table["35589"] = [238,164] let s:lib.Codec.encoding_table["35595"] = [238,165] let s:lib.Codec.encoding_table["35618"] = [238,166] let s:lib.Codec.encoding_table["35599"] = [238,167] let s:lib.Codec.encoding_table["35602"] = [238,168] let s:lib.Codec.encoding_table["35605"] = [238,169] let s:lib.Codec.encoding_table["35591"] = [238,170] let s:lib.Codec.encoding_table["35597"] = [238,171] let s:lib.Codec.encoding_table["35592"] = [238,172] let s:lib.Codec.encoding_table["35590"] = [238,173] let s:lib.Codec.encoding_table["35612"] = [238,174] let s:lib.Codec.encoding_table["35603"] = [238,175] let s:lib.Codec.encoding_table["35610"] = [238,176] let s:lib.Codec.encoding_table["35919"] = [238,177] let s:lib.Codec.encoding_table["35952"] = [238,178] let s:lib.Codec.encoding_table["35954"] = [238,179] let s:lib.Codec.encoding_table["35953"] = [238,180] let s:lib.Codec.encoding_table["35951"] = [238,181] let s:lib.Codec.encoding_table["35989"] = [238,182] let s:lib.Codec.encoding_table["35988"] = [238,183] let s:lib.Codec.encoding_table["36089"] = [238,184] let s:lib.Codec.encoding_table["36207"] = [238,185] let s:lib.Codec.encoding_table["36430"] = [238,186] let s:lib.Codec.encoding_table["36429"] = [238,187] let s:lib.Codec.encoding_table["36435"] = [238,188] let s:lib.Codec.encoding_table["36432"] = [238,189] let s:lib.Codec.encoding_table["36428"] = [238,190] let s:lib.Codec.encoding_table["36423"] = [238,191] let s:lib.Codec.encoding_table["36675"] = [238,192] let s:lib.Codec.encoding_table["36672"] = [238,193] let s:lib.Codec.encoding_table["36997"] = [238,194] let s:lib.Codec.encoding_table["36990"] = [238,195] let s:lib.Codec.encoding_table["37176"] = [238,196] let s:lib.Codec.encoding_table["37274"] = [238,197] let s:lib.Codec.encoding_table["37282"] = [238,198] let s:lib.Codec.encoding_table["37275"] = [238,199] let s:lib.Codec.encoding_table["37273"] = [238,200] let s:lib.Codec.encoding_table["37279"] = [238,201] let s:lib.Codec.encoding_table["37281"] = [238,202] let s:lib.Codec.encoding_table["37277"] = [238,203] let s:lib.Codec.encoding_table["37280"] = [238,204] let s:lib.Codec.encoding_table["37793"] = [238,205] let s:lib.Codec.encoding_table["37763"] = [238,206] let s:lib.Codec.encoding_table["37807"] = [238,207] let s:lib.Codec.encoding_table["37732"] = [238,208] let s:lib.Codec.encoding_table["37718"] = [238,209] let s:lib.Codec.encoding_table["37703"] = [238,210] let s:lib.Codec.encoding_table["37756"] = [238,211] let s:lib.Codec.encoding_table["37720"] = [238,212] let s:lib.Codec.encoding_table["37724"] = [238,213] let s:lib.Codec.encoding_table["37750"] = [238,214] let s:lib.Codec.encoding_table["37705"] = [238,215] let s:lib.Codec.encoding_table["37712"] = [238,216] let s:lib.Codec.encoding_table["37713"] = [238,217] let s:lib.Codec.encoding_table["37728"] = [238,218] let s:lib.Codec.encoding_table["37741"] = [238,219] let s:lib.Codec.encoding_table["37775"] = [238,220] let s:lib.Codec.encoding_table["37708"] = [238,221] let s:lib.Codec.encoding_table["37738"] = [238,222] let s:lib.Codec.encoding_table["37753"] = [238,223] let s:lib.Codec.encoding_table["37719"] = [238,224] let s:lib.Codec.encoding_table["37717"] = [238,225] let s:lib.Codec.encoding_table["37714"] = [238,226] let s:lib.Codec.encoding_table["37711"] = [238,227] let s:lib.Codec.encoding_table["37745"] = [238,228] let s:lib.Codec.encoding_table["37751"] = [238,229] let s:lib.Codec.encoding_table["37755"] = [238,230] let s:lib.Codec.encoding_table["37729"] = [238,231] let s:lib.Codec.encoding_table["37726"] = [238,232] let s:lib.Codec.encoding_table["37731"] = [238,233] let s:lib.Codec.encoding_table["37735"] = [238,234] let s:lib.Codec.encoding_table["37760"] = [238,235] let s:lib.Codec.encoding_table["37710"] = [238,236] let s:lib.Codec.encoding_table["37721"] = [238,237] let s:lib.Codec.encoding_table["38343"] = [238,238] let s:lib.Codec.encoding_table["38336"] = [238,239] let s:lib.Codec.encoding_table["38345"] = [238,240] let s:lib.Codec.encoding_table["38339"] = [238,241] let s:lib.Codec.encoding_table["38341"] = [238,242] let s:lib.Codec.encoding_table["38327"] = [238,243] let s:lib.Codec.encoding_table["38574"] = [238,244] let s:lib.Codec.encoding_table["38576"] = [238,245] let s:lib.Codec.encoding_table["38572"] = [238,246] let s:lib.Codec.encoding_table["38688"] = [238,247] let s:lib.Codec.encoding_table["38687"] = [238,248] let s:lib.Codec.encoding_table["38680"] = [238,249] let s:lib.Codec.encoding_table["38685"] = [238,250] let s:lib.Codec.encoding_table["38681"] = [238,251] let s:lib.Codec.encoding_table["38810"] = [238,252] let s:lib.Codec.encoding_table["38817"] = [238,253] let s:lib.Codec.encoding_table["38812"] = [238,254] let s:lib.Codec.encoding_table["38814"] = [239,64] let s:lib.Codec.encoding_table["38813"] = [239,65] let s:lib.Codec.encoding_table["38869"] = [239,66] let s:lib.Codec.encoding_table["38868"] = [239,67] let s:lib.Codec.encoding_table["38897"] = [239,68] let s:lib.Codec.encoding_table["38977"] = [239,69] let s:lib.Codec.encoding_table["38980"] = [239,70] let s:lib.Codec.encoding_table["38986"] = [239,71] let s:lib.Codec.encoding_table["38985"] = [239,72] let s:lib.Codec.encoding_table["38981"] = [239,73] let s:lib.Codec.encoding_table["38979"] = [239,74] let s:lib.Codec.encoding_table["39205"] = [239,75] let s:lib.Codec.encoding_table["39211"] = [239,76] let s:lib.Codec.encoding_table["39212"] = [239,77] let s:lib.Codec.encoding_table["39210"] = [239,78] let s:lib.Codec.encoding_table["39219"] = [239,79] let s:lib.Codec.encoding_table["39218"] = [239,80] let s:lib.Codec.encoding_table["39215"] = [239,81] let s:lib.Codec.encoding_table["39213"] = [239,82] let s:lib.Codec.encoding_table["39217"] = [239,83] let s:lib.Codec.encoding_table["39216"] = [239,84] let s:lib.Codec.encoding_table["39320"] = [239,85] let s:lib.Codec.encoding_table["39331"] = [239,86] let s:lib.Codec.encoding_table["39329"] = [239,87] let s:lib.Codec.encoding_table["39426"] = [239,88] let s:lib.Codec.encoding_table["39418"] = [239,89] let s:lib.Codec.encoding_table["39412"] = [239,90] let s:lib.Codec.encoding_table["39415"] = [239,91] let s:lib.Codec.encoding_table["39417"] = [239,92] let s:lib.Codec.encoding_table["39416"] = [239,93] let s:lib.Codec.encoding_table["39414"] = [239,94] let s:lib.Codec.encoding_table["39419"] = [239,95] let s:lib.Codec.encoding_table["39421"] = [239,96] let s:lib.Codec.encoding_table["39422"] = [239,97] let s:lib.Codec.encoding_table["39420"] = [239,98] let s:lib.Codec.encoding_table["39427"] = [239,99] let s:lib.Codec.encoding_table["39614"] = [239,100] let s:lib.Codec.encoding_table["39678"] = [239,101] let s:lib.Codec.encoding_table["39677"] = [239,102] let s:lib.Codec.encoding_table["39681"] = [239,103] let s:lib.Codec.encoding_table["39676"] = [239,104] let s:lib.Codec.encoding_table["39752"] = [239,105] let s:lib.Codec.encoding_table["39834"] = [239,106] let s:lib.Codec.encoding_table["39848"] = [239,107] let s:lib.Codec.encoding_table["39838"] = [239,108] let s:lib.Codec.encoding_table["39835"] = [239,109] let s:lib.Codec.encoding_table["39846"] = [239,110] let s:lib.Codec.encoding_table["39841"] = [239,111] let s:lib.Codec.encoding_table["39845"] = [239,112] let s:lib.Codec.encoding_table["39844"] = [239,113] let s:lib.Codec.encoding_table["39814"] = [239,114] let s:lib.Codec.encoding_table["39842"] = [239,115] let s:lib.Codec.encoding_table["39840"] = [239,116] let s:lib.Codec.encoding_table["39855"] = [239,117] let s:lib.Codec.encoding_table["40243"] = [239,118] let s:lib.Codec.encoding_table["40257"] = [239,119] let s:lib.Codec.encoding_table["40295"] = [239,120] let s:lib.Codec.encoding_table["40246"] = [239,121] let s:lib.Codec.encoding_table["40238"] = [239,122] let s:lib.Codec.encoding_table["40239"] = [239,123] let s:lib.Codec.encoding_table["40241"] = [239,124] let s:lib.Codec.encoding_table["40248"] = [239,125] let s:lib.Codec.encoding_table["40240"] = [239,126] let s:lib.Codec.encoding_table["40261"] = [239,161] let s:lib.Codec.encoding_table["40258"] = [239,162] let s:lib.Codec.encoding_table["40259"] = [239,163] let s:lib.Codec.encoding_table["40254"] = [239,164] let s:lib.Codec.encoding_table["40247"] = [239,165] let s:lib.Codec.encoding_table["40256"] = [239,166] let s:lib.Codec.encoding_table["40253"] = [239,167] let s:lib.Codec.encoding_table["32757"] = [239,168] let s:lib.Codec.encoding_table["40237"] = [239,169] let s:lib.Codec.encoding_table["40586"] = [239,170] let s:lib.Codec.encoding_table["40585"] = [239,171] let s:lib.Codec.encoding_table["40589"] = [239,172] let s:lib.Codec.encoding_table["40624"] = [239,173] let s:lib.Codec.encoding_table["40648"] = [239,174] let s:lib.Codec.encoding_table["40666"] = [239,175] let s:lib.Codec.encoding_table["40699"] = [239,176] let s:lib.Codec.encoding_table["40703"] = [239,177] let s:lib.Codec.encoding_table["40740"] = [239,178] let s:lib.Codec.encoding_table["40739"] = [239,179] let s:lib.Codec.encoding_table["40738"] = [239,180] let s:lib.Codec.encoding_table["40788"] = [239,181] let s:lib.Codec.encoding_table["40864"] = [239,182] let s:lib.Codec.encoding_table["20785"] = [239,183] let s:lib.Codec.encoding_table["20781"] = [239,184] let s:lib.Codec.encoding_table["20782"] = [239,185] let s:lib.Codec.encoding_table["22168"] = [239,186] let s:lib.Codec.encoding_table["22172"] = [239,187] let s:lib.Codec.encoding_table["22167"] = [239,188] let s:lib.Codec.encoding_table["22170"] = [239,189] let s:lib.Codec.encoding_table["22173"] = [239,190] let s:lib.Codec.encoding_table["22169"] = [239,191] let s:lib.Codec.encoding_table["22896"] = [239,192] let s:lib.Codec.encoding_table["23356"] = [239,193] let s:lib.Codec.encoding_table["23657"] = [239,194] let s:lib.Codec.encoding_table["23658"] = [239,195] let s:lib.Codec.encoding_table["24000"] = [239,196] let s:lib.Codec.encoding_table["24173"] = [239,197] let s:lib.Codec.encoding_table["24174"] = [239,198] let s:lib.Codec.encoding_table["25048"] = [239,199] let s:lib.Codec.encoding_table["25055"] = [239,200] let s:lib.Codec.encoding_table["25069"] = [239,201] let s:lib.Codec.encoding_table["25070"] = [239,202] let s:lib.Codec.encoding_table["25073"] = [239,203] let s:lib.Codec.encoding_table["25066"] = [239,204] let s:lib.Codec.encoding_table["25072"] = [239,205] let s:lib.Codec.encoding_table["25067"] = [239,206] let s:lib.Codec.encoding_table["25046"] = [239,207] let s:lib.Codec.encoding_table["25065"] = [239,208] let s:lib.Codec.encoding_table["25855"] = [239,209] let s:lib.Codec.encoding_table["25860"] = [239,210] let s:lib.Codec.encoding_table["25853"] = [239,211] let s:lib.Codec.encoding_table["25848"] = [239,212] let s:lib.Codec.encoding_table["25857"] = [239,213] let s:lib.Codec.encoding_table["25859"] = [239,214] let s:lib.Codec.encoding_table["25852"] = [239,215] let s:lib.Codec.encoding_table["26004"] = [239,216] let s:lib.Codec.encoding_table["26075"] = [239,217] let s:lib.Codec.encoding_table["26330"] = [239,218] let s:lib.Codec.encoding_table["26331"] = [239,219] let s:lib.Codec.encoding_table["26328"] = [239,220] let s:lib.Codec.encoding_table["27333"] = [239,221] let s:lib.Codec.encoding_table["27321"] = [239,222] let s:lib.Codec.encoding_table["27325"] = [239,223] let s:lib.Codec.encoding_table["27361"] = [239,224] let s:lib.Codec.encoding_table["27334"] = [239,225] let s:lib.Codec.encoding_table["27322"] = [239,226] let s:lib.Codec.encoding_table["27318"] = [239,227] let s:lib.Codec.encoding_table["27319"] = [239,228] let s:lib.Codec.encoding_table["27335"] = [239,229] let s:lib.Codec.encoding_table["27316"] = [239,230] let s:lib.Codec.encoding_table["27309"] = [239,231] let s:lib.Codec.encoding_table["27486"] = [239,232] let s:lib.Codec.encoding_table["27593"] = [239,233] let s:lib.Codec.encoding_table["27659"] = [239,234] let s:lib.Codec.encoding_table["28679"] = [239,235] let s:lib.Codec.encoding_table["28684"] = [239,236] let s:lib.Codec.encoding_table["28685"] = [239,237] let s:lib.Codec.encoding_table["28673"] = [239,238] let s:lib.Codec.encoding_table["28677"] = [239,239] let s:lib.Codec.encoding_table["28692"] = [239,240] let s:lib.Codec.encoding_table["28686"] = [239,241] let s:lib.Codec.encoding_table["28671"] = [239,242] let s:lib.Codec.encoding_table["28672"] = [239,243] let s:lib.Codec.encoding_table["28667"] = [239,244] let s:lib.Codec.encoding_table["28710"] = [239,245] let s:lib.Codec.encoding_table["28668"] = [239,246] let s:lib.Codec.encoding_table["28663"] = [239,247] let s:lib.Codec.encoding_table["28682"] = [239,248] let s:lib.Codec.encoding_table["29185"] = [239,249] let s:lib.Codec.encoding_table["29183"] = [239,250] let s:lib.Codec.encoding_table["29177"] = [239,251] let s:lib.Codec.encoding_table["29187"] = [239,252] let s:lib.Codec.encoding_table["29181"] = [239,253] let s:lib.Codec.encoding_table["29558"] = [239,254] let s:lib.Codec.encoding_table["29880"] = [240,64] let s:lib.Codec.encoding_table["29888"] = [240,65] let s:lib.Codec.encoding_table["29877"] = [240,66] let s:lib.Codec.encoding_table["29889"] = [240,67] let s:lib.Codec.encoding_table["29886"] = [240,68] let s:lib.Codec.encoding_table["29878"] = [240,69] let s:lib.Codec.encoding_table["29883"] = [240,70] let s:lib.Codec.encoding_table["29890"] = [240,71] let s:lib.Codec.encoding_table["29972"] = [240,72] let s:lib.Codec.encoding_table["29971"] = [240,73] let s:lib.Codec.encoding_table["30300"] = [240,74] let s:lib.Codec.encoding_table["30308"] = [240,75] let s:lib.Codec.encoding_table["30297"] = [240,76] let s:lib.Codec.encoding_table["30288"] = [240,77] let s:lib.Codec.encoding_table["30291"] = [240,78] let s:lib.Codec.encoding_table["30295"] = [240,79] let s:lib.Codec.encoding_table["30298"] = [240,80] let s:lib.Codec.encoding_table["30374"] = [240,81] let s:lib.Codec.encoding_table["30397"] = [240,82] let s:lib.Codec.encoding_table["30444"] = [240,83] let s:lib.Codec.encoding_table["30658"] = [240,84] let s:lib.Codec.encoding_table["30650"] = [240,85] let s:lib.Codec.encoding_table["30975"] = [240,86] let s:lib.Codec.encoding_table["30988"] = [240,87] let s:lib.Codec.encoding_table["30995"] = [240,88] let s:lib.Codec.encoding_table["30996"] = [240,89] let s:lib.Codec.encoding_table["30985"] = [240,90] let s:lib.Codec.encoding_table["30992"] = [240,91] let s:lib.Codec.encoding_table["30994"] = [240,92] let s:lib.Codec.encoding_table["30993"] = [240,93] let s:lib.Codec.encoding_table["31149"] = [240,94] let s:lib.Codec.encoding_table["31148"] = [240,95] let s:lib.Codec.encoding_table["31327"] = [240,96] let s:lib.Codec.encoding_table["31772"] = [240,97] let s:lib.Codec.encoding_table["31785"] = [240,98] let s:lib.Codec.encoding_table["31769"] = [240,99] let s:lib.Codec.encoding_table["31776"] = [240,100] let s:lib.Codec.encoding_table["31775"] = [240,101] let s:lib.Codec.encoding_table["31789"] = [240,102] let s:lib.Codec.encoding_table["31773"] = [240,103] let s:lib.Codec.encoding_table["31782"] = [240,104] let s:lib.Codec.encoding_table["31784"] = [240,105] let s:lib.Codec.encoding_table["31778"] = [240,106] let s:lib.Codec.encoding_table["31781"] = [240,107] let s:lib.Codec.encoding_table["31792"] = [240,108] let s:lib.Codec.encoding_table["32348"] = [240,109] let s:lib.Codec.encoding_table["32336"] = [240,110] let s:lib.Codec.encoding_table["32342"] = [240,111] let s:lib.Codec.encoding_table["32355"] = [240,112] let s:lib.Codec.encoding_table["32344"] = [240,113] let s:lib.Codec.encoding_table["32354"] = [240,114] let s:lib.Codec.encoding_table["32351"] = [240,115] let s:lib.Codec.encoding_table["32337"] = [240,116] let s:lib.Codec.encoding_table["32352"] = [240,117] let s:lib.Codec.encoding_table["32343"] = [240,118] let s:lib.Codec.encoding_table["32339"] = [240,119] let s:lib.Codec.encoding_table["32693"] = [240,120] let s:lib.Codec.encoding_table["32691"] = [240,121] let s:lib.Codec.encoding_table["32759"] = [240,122] let s:lib.Codec.encoding_table["32760"] = [240,123] let s:lib.Codec.encoding_table["32885"] = [240,124] let s:lib.Codec.encoding_table["33233"] = [240,125] let s:lib.Codec.encoding_table["33234"] = [240,126] let s:lib.Codec.encoding_table["33232"] = [240,161] let s:lib.Codec.encoding_table["33375"] = [240,162] let s:lib.Codec.encoding_table["33374"] = [240,163] let s:lib.Codec.encoding_table["34228"] = [240,164] let s:lib.Codec.encoding_table["34246"] = [240,165] let s:lib.Codec.encoding_table["34240"] = [240,166] let s:lib.Codec.encoding_table["34243"] = [240,167] let s:lib.Codec.encoding_table["34242"] = [240,168] let s:lib.Codec.encoding_table["34227"] = [240,169] let s:lib.Codec.encoding_table["34229"] = [240,170] let s:lib.Codec.encoding_table["34237"] = [240,171] let s:lib.Codec.encoding_table["34247"] = [240,172] let s:lib.Codec.encoding_table["34244"] = [240,173] let s:lib.Codec.encoding_table["34239"] = [240,174] let s:lib.Codec.encoding_table["34251"] = [240,175] let s:lib.Codec.encoding_table["34254"] = [240,176] let s:lib.Codec.encoding_table["34248"] = [240,177] let s:lib.Codec.encoding_table["34245"] = [240,178] let s:lib.Codec.encoding_table["34225"] = [240,179] let s:lib.Codec.encoding_table["34230"] = [240,180] let s:lib.Codec.encoding_table["34258"] = [240,181] let s:lib.Codec.encoding_table["34340"] = [240,182] let s:lib.Codec.encoding_table["34232"] = [240,183] let s:lib.Codec.encoding_table["34231"] = [240,184] let s:lib.Codec.encoding_table["34238"] = [240,185] let s:lib.Codec.encoding_table["34409"] = [240,186] let s:lib.Codec.encoding_table["34791"] = [240,187] let s:lib.Codec.encoding_table["34790"] = [240,188] let s:lib.Codec.encoding_table["34786"] = [240,189] let s:lib.Codec.encoding_table["34779"] = [240,190] let s:lib.Codec.encoding_table["34795"] = [240,191] let s:lib.Codec.encoding_table["34794"] = [240,192] let s:lib.Codec.encoding_table["34789"] = [240,193] let s:lib.Codec.encoding_table["34783"] = [240,194] let s:lib.Codec.encoding_table["34803"] = [240,195] let s:lib.Codec.encoding_table["34788"] = [240,196] let s:lib.Codec.encoding_table["34772"] = [240,197] let s:lib.Codec.encoding_table["34780"] = [240,198] let s:lib.Codec.encoding_table["34771"] = [240,199] let s:lib.Codec.encoding_table["34797"] = [240,200] let s:lib.Codec.encoding_table["34776"] = [240,201] let s:lib.Codec.encoding_table["34787"] = [240,202] let s:lib.Codec.encoding_table["34724"] = [240,203] let s:lib.Codec.encoding_table["34775"] = [240,204] let s:lib.Codec.encoding_table["34777"] = [240,205] let s:lib.Codec.encoding_table["34817"] = [240,206] let s:lib.Codec.encoding_table["34804"] = [240,207] let s:lib.Codec.encoding_table["34792"] = [240,208] let s:lib.Codec.encoding_table["34781"] = [240,209] let s:lib.Codec.encoding_table["35155"] = [240,210] let s:lib.Codec.encoding_table["35147"] = [240,211] let s:lib.Codec.encoding_table["35151"] = [240,212] let s:lib.Codec.encoding_table["35148"] = [240,213] let s:lib.Codec.encoding_table["35142"] = [240,214] let s:lib.Codec.encoding_table["35152"] = [240,215] let s:lib.Codec.encoding_table["35153"] = [240,216] let s:lib.Codec.encoding_table["35145"] = [240,217] let s:lib.Codec.encoding_table["35626"] = [240,218] let s:lib.Codec.encoding_table["35623"] = [240,219] let s:lib.Codec.encoding_table["35619"] = [240,220] let s:lib.Codec.encoding_table["35635"] = [240,221] let s:lib.Codec.encoding_table["35632"] = [240,222] let s:lib.Codec.encoding_table["35637"] = [240,223] let s:lib.Codec.encoding_table["35655"] = [240,224] let s:lib.Codec.encoding_table["35631"] = [240,225] let s:lib.Codec.encoding_table["35644"] = [240,226] let s:lib.Codec.encoding_table["35646"] = [240,227] let s:lib.Codec.encoding_table["35633"] = [240,228] let s:lib.Codec.encoding_table["35621"] = [240,229] let s:lib.Codec.encoding_table["35639"] = [240,230] let s:lib.Codec.encoding_table["35622"] = [240,231] let s:lib.Codec.encoding_table["35638"] = [240,232] let s:lib.Codec.encoding_table["35630"] = [240,233] let s:lib.Codec.encoding_table["35620"] = [240,234] let s:lib.Codec.encoding_table["35643"] = [240,235] let s:lib.Codec.encoding_table["35645"] = [240,236] let s:lib.Codec.encoding_table["35642"] = [240,237] let s:lib.Codec.encoding_table["35906"] = [240,238] let s:lib.Codec.encoding_table["35957"] = [240,239] let s:lib.Codec.encoding_table["35993"] = [240,240] let s:lib.Codec.encoding_table["35992"] = [240,241] let s:lib.Codec.encoding_table["35991"] = [240,242] let s:lib.Codec.encoding_table["36094"] = [240,243] let s:lib.Codec.encoding_table["36100"] = [240,244] let s:lib.Codec.encoding_table["36098"] = [240,245] let s:lib.Codec.encoding_table["36096"] = [240,246] let s:lib.Codec.encoding_table["36444"] = [240,247] let s:lib.Codec.encoding_table["36450"] = [240,248] let s:lib.Codec.encoding_table["36448"] = [240,249] let s:lib.Codec.encoding_table["36439"] = [240,250] let s:lib.Codec.encoding_table["36438"] = [240,251] let s:lib.Codec.encoding_table["36446"] = [240,252] let s:lib.Codec.encoding_table["36453"] = [240,253] let s:lib.Codec.encoding_table["36455"] = [240,254] let s:lib.Codec.encoding_table["36443"] = [241,64] let s:lib.Codec.encoding_table["36442"] = [241,65] let s:lib.Codec.encoding_table["36449"] = [241,66] let s:lib.Codec.encoding_table["36445"] = [241,67] let s:lib.Codec.encoding_table["36457"] = [241,68] let s:lib.Codec.encoding_table["36436"] = [241,69] let s:lib.Codec.encoding_table["36678"] = [241,70] let s:lib.Codec.encoding_table["36679"] = [241,71] let s:lib.Codec.encoding_table["36680"] = [241,72] let s:lib.Codec.encoding_table["36683"] = [241,73] let s:lib.Codec.encoding_table["37160"] = [241,74] let s:lib.Codec.encoding_table["37178"] = [241,75] let s:lib.Codec.encoding_table["37179"] = [241,76] let s:lib.Codec.encoding_table["37182"] = [241,77] let s:lib.Codec.encoding_table["37288"] = [241,78] let s:lib.Codec.encoding_table["37285"] = [241,79] let s:lib.Codec.encoding_table["37287"] = [241,80] let s:lib.Codec.encoding_table["37295"] = [241,81] let s:lib.Codec.encoding_table["37290"] = [241,82] let s:lib.Codec.encoding_table["37813"] = [241,83] let s:lib.Codec.encoding_table["37772"] = [241,84] let s:lib.Codec.encoding_table["37778"] = [241,85] let s:lib.Codec.encoding_table["37815"] = [241,86] let s:lib.Codec.encoding_table["37787"] = [241,87] let s:lib.Codec.encoding_table["37789"] = [241,88] let s:lib.Codec.encoding_table["37769"] = [241,89] let s:lib.Codec.encoding_table["37799"] = [241,90] let s:lib.Codec.encoding_table["37774"] = [241,91] let s:lib.Codec.encoding_table["37802"] = [241,92] let s:lib.Codec.encoding_table["37790"] = [241,93] let s:lib.Codec.encoding_table["37798"] = [241,94] let s:lib.Codec.encoding_table["37781"] = [241,95] let s:lib.Codec.encoding_table["37768"] = [241,96] let s:lib.Codec.encoding_table["37785"] = [241,97] let s:lib.Codec.encoding_table["37791"] = [241,98] let s:lib.Codec.encoding_table["37773"] = [241,99] let s:lib.Codec.encoding_table["37809"] = [241,100] let s:lib.Codec.encoding_table["37777"] = [241,101] let s:lib.Codec.encoding_table["37810"] = [241,102] let s:lib.Codec.encoding_table["37796"] = [241,103] let s:lib.Codec.encoding_table["37800"] = [241,104] let s:lib.Codec.encoding_table["37812"] = [241,105] let s:lib.Codec.encoding_table["37795"] = [241,106] let s:lib.Codec.encoding_table["37797"] = [241,107] let s:lib.Codec.encoding_table["38354"] = [241,108] let s:lib.Codec.encoding_table["38355"] = [241,109] let s:lib.Codec.encoding_table["38353"] = [241,110] let s:lib.Codec.encoding_table["38579"] = [241,111] let s:lib.Codec.encoding_table["38615"] = [241,112] let s:lib.Codec.encoding_table["38618"] = [241,113] let s:lib.Codec.encoding_table["24002"] = [241,114] let s:lib.Codec.encoding_table["38623"] = [241,115] let s:lib.Codec.encoding_table["38616"] = [241,116] let s:lib.Codec.encoding_table["38621"] = [241,117] let s:lib.Codec.encoding_table["38691"] = [241,118] let s:lib.Codec.encoding_table["38690"] = [241,119] let s:lib.Codec.encoding_table["38693"] = [241,120] let s:lib.Codec.encoding_table["38828"] = [241,121] let s:lib.Codec.encoding_table["38830"] = [241,122] let s:lib.Codec.encoding_table["38824"] = [241,123] let s:lib.Codec.encoding_table["38827"] = [241,124] let s:lib.Codec.encoding_table["38820"] = [241,125] let s:lib.Codec.encoding_table["38826"] = [241,126] let s:lib.Codec.encoding_table["38818"] = [241,161] let s:lib.Codec.encoding_table["38821"] = [241,162] let s:lib.Codec.encoding_table["38871"] = [241,163] let s:lib.Codec.encoding_table["38873"] = [241,164] let s:lib.Codec.encoding_table["38870"] = [241,165] let s:lib.Codec.encoding_table["38872"] = [241,166] let s:lib.Codec.encoding_table["38906"] = [241,167] let s:lib.Codec.encoding_table["38992"] = [241,168] let s:lib.Codec.encoding_table["38993"] = [241,169] let s:lib.Codec.encoding_table["38994"] = [241,170] let s:lib.Codec.encoding_table["39096"] = [241,171] let s:lib.Codec.encoding_table["39233"] = [241,172] let s:lib.Codec.encoding_table["39228"] = [241,173] let s:lib.Codec.encoding_table["39226"] = [241,174] let s:lib.Codec.encoding_table["39439"] = [241,175] let s:lib.Codec.encoding_table["39435"] = [241,176] let s:lib.Codec.encoding_table["39433"] = [241,177] let s:lib.Codec.encoding_table["39437"] = [241,178] let s:lib.Codec.encoding_table["39428"] = [241,179] let s:lib.Codec.encoding_table["39441"] = [241,180] let s:lib.Codec.encoding_table["39434"] = [241,181] let s:lib.Codec.encoding_table["39429"] = [241,182] let s:lib.Codec.encoding_table["39431"] = [241,183] let s:lib.Codec.encoding_table["39430"] = [241,184] let s:lib.Codec.encoding_table["39616"] = [241,185] let s:lib.Codec.encoding_table["39644"] = [241,186] let s:lib.Codec.encoding_table["39688"] = [241,187] let s:lib.Codec.encoding_table["39684"] = [241,188] let s:lib.Codec.encoding_table["39685"] = [241,189] let s:lib.Codec.encoding_table["39721"] = [241,190] let s:lib.Codec.encoding_table["39733"] = [241,191] let s:lib.Codec.encoding_table["39754"] = [241,192] let s:lib.Codec.encoding_table["39756"] = [241,193] let s:lib.Codec.encoding_table["39755"] = [241,194] let s:lib.Codec.encoding_table["39879"] = [241,195] let s:lib.Codec.encoding_table["39878"] = [241,196] let s:lib.Codec.encoding_table["39875"] = [241,197] let s:lib.Codec.encoding_table["39871"] = [241,198] let s:lib.Codec.encoding_table["39873"] = [241,199] let s:lib.Codec.encoding_table["39861"] = [241,200] let s:lib.Codec.encoding_table["39864"] = [241,201] let s:lib.Codec.encoding_table["39891"] = [241,202] let s:lib.Codec.encoding_table["39862"] = [241,203] let s:lib.Codec.encoding_table["39876"] = [241,204] let s:lib.Codec.encoding_table["39865"] = [241,205] let s:lib.Codec.encoding_table["39869"] = [241,206] let s:lib.Codec.encoding_table["40284"] = [241,207] let s:lib.Codec.encoding_table["40275"] = [241,208] let s:lib.Codec.encoding_table["40271"] = [241,209] let s:lib.Codec.encoding_table["40266"] = [241,210] let s:lib.Codec.encoding_table["40283"] = [241,211] let s:lib.Codec.encoding_table["40267"] = [241,212] let s:lib.Codec.encoding_table["40281"] = [241,213] let s:lib.Codec.encoding_table["40278"] = [241,214] let s:lib.Codec.encoding_table["40268"] = [241,215] let s:lib.Codec.encoding_table["40279"] = [241,216] let s:lib.Codec.encoding_table["40274"] = [241,217] let s:lib.Codec.encoding_table["40276"] = [241,218] let s:lib.Codec.encoding_table["40287"] = [241,219] let s:lib.Codec.encoding_table["40280"] = [241,220] let s:lib.Codec.encoding_table["40282"] = [241,221] let s:lib.Codec.encoding_table["40590"] = [241,222] let s:lib.Codec.encoding_table["40588"] = [241,223] let s:lib.Codec.encoding_table["40671"] = [241,224] let s:lib.Codec.encoding_table["40705"] = [241,225] let s:lib.Codec.encoding_table["40704"] = [241,226] let s:lib.Codec.encoding_table["40726"] = [241,227] let s:lib.Codec.encoding_table["40741"] = [241,228] let s:lib.Codec.encoding_table["40747"] = [241,229] let s:lib.Codec.encoding_table["40746"] = [241,230] let s:lib.Codec.encoding_table["40745"] = [241,231] let s:lib.Codec.encoding_table["40744"] = [241,232] let s:lib.Codec.encoding_table["40780"] = [241,233] let s:lib.Codec.encoding_table["40789"] = [241,234] let s:lib.Codec.encoding_table["20788"] = [241,235] let s:lib.Codec.encoding_table["20789"] = [241,236] let s:lib.Codec.encoding_table["21142"] = [241,237] let s:lib.Codec.encoding_table["21239"] = [241,238] let s:lib.Codec.encoding_table["21428"] = [241,239] let s:lib.Codec.encoding_table["22187"] = [241,240] let s:lib.Codec.encoding_table["22189"] = [241,241] let s:lib.Codec.encoding_table["22182"] = [241,242] let s:lib.Codec.encoding_table["22183"] = [241,243] let s:lib.Codec.encoding_table["22186"] = [241,244] let s:lib.Codec.encoding_table["22188"] = [241,245] let s:lib.Codec.encoding_table["22746"] = [241,246] let s:lib.Codec.encoding_table["22749"] = [241,247] let s:lib.Codec.encoding_table["22747"] = [241,248] let s:lib.Codec.encoding_table["22802"] = [241,249] let s:lib.Codec.encoding_table["23357"] = [241,250] let s:lib.Codec.encoding_table["23358"] = [241,251] let s:lib.Codec.encoding_table["23359"] = [241,252] let s:lib.Codec.encoding_table["24003"] = [241,253] let s:lib.Codec.encoding_table["24176"] = [241,254] let s:lib.Codec.encoding_table["24511"] = [242,64] let s:lib.Codec.encoding_table["25083"] = [242,65] let s:lib.Codec.encoding_table["25863"] = [242,66] let s:lib.Codec.encoding_table["25872"] = [242,67] let s:lib.Codec.encoding_table["25869"] = [242,68] let s:lib.Codec.encoding_table["25865"] = [242,69] let s:lib.Codec.encoding_table["25868"] = [242,70] let s:lib.Codec.encoding_table["25870"] = [242,71] let s:lib.Codec.encoding_table["25988"] = [242,72] let s:lib.Codec.encoding_table["26078"] = [242,73] let s:lib.Codec.encoding_table["26077"] = [242,74] let s:lib.Codec.encoding_table["26334"] = [242,75] let s:lib.Codec.encoding_table["27367"] = [242,76] let s:lib.Codec.encoding_table["27360"] = [242,77] let s:lib.Codec.encoding_table["27340"] = [242,78] let s:lib.Codec.encoding_table["27345"] = [242,79] let s:lib.Codec.encoding_table["27353"] = [242,80] let s:lib.Codec.encoding_table["27339"] = [242,81] let s:lib.Codec.encoding_table["27359"] = [242,82] let s:lib.Codec.encoding_table["27356"] = [242,83] let s:lib.Codec.encoding_table["27344"] = [242,84] let s:lib.Codec.encoding_table["27371"] = [242,85] let s:lib.Codec.encoding_table["27343"] = [242,86] let s:lib.Codec.encoding_table["27341"] = [242,87] let s:lib.Codec.encoding_table["27358"] = [242,88] let s:lib.Codec.encoding_table["27488"] = [242,89] let s:lib.Codec.encoding_table["27568"] = [242,90] let s:lib.Codec.encoding_table["27660"] = [242,91] let s:lib.Codec.encoding_table["28697"] = [242,92] let s:lib.Codec.encoding_table["28711"] = [242,93] let s:lib.Codec.encoding_table["28704"] = [242,94] let s:lib.Codec.encoding_table["28694"] = [242,95] let s:lib.Codec.encoding_table["28715"] = [242,96] let s:lib.Codec.encoding_table["28705"] = [242,97] let s:lib.Codec.encoding_table["28706"] = [242,98] let s:lib.Codec.encoding_table["28707"] = [242,99] let s:lib.Codec.encoding_table["28713"] = [242,100] let s:lib.Codec.encoding_table["28695"] = [242,101] let s:lib.Codec.encoding_table["28708"] = [242,102] let s:lib.Codec.encoding_table["28700"] = [242,103] let s:lib.Codec.encoding_table["28714"] = [242,104] let s:lib.Codec.encoding_table["29196"] = [242,105] let s:lib.Codec.encoding_table["29194"] = [242,106] let s:lib.Codec.encoding_table["29191"] = [242,107] let s:lib.Codec.encoding_table["29186"] = [242,108] let s:lib.Codec.encoding_table["29189"] = [242,109] let s:lib.Codec.encoding_table["29349"] = [242,110] let s:lib.Codec.encoding_table["29350"] = [242,111] let s:lib.Codec.encoding_table["29348"] = [242,112] let s:lib.Codec.encoding_table["29347"] = [242,113] let s:lib.Codec.encoding_table["29345"] = [242,114] let s:lib.Codec.encoding_table["29899"] = [242,115] let s:lib.Codec.encoding_table["29893"] = [242,116] let s:lib.Codec.encoding_table["29879"] = [242,117] let s:lib.Codec.encoding_table["29891"] = [242,118] let s:lib.Codec.encoding_table["29974"] = [242,119] let s:lib.Codec.encoding_table["30304"] = [242,120] let s:lib.Codec.encoding_table["30665"] = [242,121] let s:lib.Codec.encoding_table["30666"] = [242,122] let s:lib.Codec.encoding_table["30660"] = [242,123] let s:lib.Codec.encoding_table["30705"] = [242,124] let s:lib.Codec.encoding_table["31005"] = [242,125] let s:lib.Codec.encoding_table["31003"] = [242,126] let s:lib.Codec.encoding_table["31009"] = [242,161] let s:lib.Codec.encoding_table["31004"] = [242,162] let s:lib.Codec.encoding_table["30999"] = [242,163] let s:lib.Codec.encoding_table["31006"] = [242,164] let s:lib.Codec.encoding_table["31152"] = [242,165] let s:lib.Codec.encoding_table["31335"] = [242,166] let s:lib.Codec.encoding_table["31336"] = [242,167] let s:lib.Codec.encoding_table["31795"] = [242,168] let s:lib.Codec.encoding_table["31804"] = [242,169] let s:lib.Codec.encoding_table["31801"] = [242,170] let s:lib.Codec.encoding_table["31788"] = [242,171] let s:lib.Codec.encoding_table["31803"] = [242,172] let s:lib.Codec.encoding_table["31980"] = [242,173] let s:lib.Codec.encoding_table["31978"] = [242,174] let s:lib.Codec.encoding_table["32374"] = [242,175] let s:lib.Codec.encoding_table["32373"] = [242,176] let s:lib.Codec.encoding_table["32376"] = [242,177] let s:lib.Codec.encoding_table["32368"] = [242,178] let s:lib.Codec.encoding_table["32375"] = [242,179] let s:lib.Codec.encoding_table["32367"] = [242,180] let s:lib.Codec.encoding_table["32378"] = [242,181] let s:lib.Codec.encoding_table["32370"] = [242,182] let s:lib.Codec.encoding_table["32372"] = [242,183] let s:lib.Codec.encoding_table["32360"] = [242,184] let s:lib.Codec.encoding_table["32587"] = [242,185] let s:lib.Codec.encoding_table["32586"] = [242,186] let s:lib.Codec.encoding_table["32643"] = [242,187] let s:lib.Codec.encoding_table["32646"] = [242,188] let s:lib.Codec.encoding_table["32695"] = [242,189] let s:lib.Codec.encoding_table["32765"] = [242,190] let s:lib.Codec.encoding_table["32766"] = [242,191] let s:lib.Codec.encoding_table["32888"] = [242,192] let s:lib.Codec.encoding_table["33239"] = [242,193] let s:lib.Codec.encoding_table["33237"] = [242,194] let s:lib.Codec.encoding_table["33380"] = [242,195] let s:lib.Codec.encoding_table["33377"] = [242,196] let s:lib.Codec.encoding_table["33379"] = [242,197] let s:lib.Codec.encoding_table["34283"] = [242,198] let s:lib.Codec.encoding_table["34289"] = [242,199] let s:lib.Codec.encoding_table["34285"] = [242,200] let s:lib.Codec.encoding_table["34265"] = [242,201] let s:lib.Codec.encoding_table["34273"] = [242,202] let s:lib.Codec.encoding_table["34280"] = [242,203] let s:lib.Codec.encoding_table["34266"] = [242,204] let s:lib.Codec.encoding_table["34263"] = [242,205] let s:lib.Codec.encoding_table["34284"] = [242,206] let s:lib.Codec.encoding_table["34290"] = [242,207] let s:lib.Codec.encoding_table["34296"] = [242,208] let s:lib.Codec.encoding_table["34264"] = [242,209] let s:lib.Codec.encoding_table["34271"] = [242,210] let s:lib.Codec.encoding_table["34275"] = [242,211] let s:lib.Codec.encoding_table["34268"] = [242,212] let s:lib.Codec.encoding_table["34257"] = [242,213] let s:lib.Codec.encoding_table["34288"] = [242,214] let s:lib.Codec.encoding_table["34278"] = [242,215] let s:lib.Codec.encoding_table["34287"] = [242,216] let s:lib.Codec.encoding_table["34270"] = [242,217] let s:lib.Codec.encoding_table["34274"] = [242,218] let s:lib.Codec.encoding_table["34816"] = [242,219] let s:lib.Codec.encoding_table["34810"] = [242,220] let s:lib.Codec.encoding_table["34819"] = [242,221] let s:lib.Codec.encoding_table["34806"] = [242,222] let s:lib.Codec.encoding_table["34807"] = [242,223] let s:lib.Codec.encoding_table["34825"] = [242,224] let s:lib.Codec.encoding_table["34828"] = [242,225] let s:lib.Codec.encoding_table["34827"] = [242,226] let s:lib.Codec.encoding_table["34822"] = [242,227] let s:lib.Codec.encoding_table["34812"] = [242,228] let s:lib.Codec.encoding_table["34824"] = [242,229] let s:lib.Codec.encoding_table["34815"] = [242,230] let s:lib.Codec.encoding_table["34826"] = [242,231] let s:lib.Codec.encoding_table["34818"] = [242,232] let s:lib.Codec.encoding_table["35170"] = [242,233] let s:lib.Codec.encoding_table["35162"] = [242,234] let s:lib.Codec.encoding_table["35163"] = [242,235] let s:lib.Codec.encoding_table["35159"] = [242,236] let s:lib.Codec.encoding_table["35169"] = [242,237] let s:lib.Codec.encoding_table["35164"] = [242,238] let s:lib.Codec.encoding_table["35160"] = [242,239] let s:lib.Codec.encoding_table["35165"] = [242,240] let s:lib.Codec.encoding_table["35161"] = [242,241] let s:lib.Codec.encoding_table["35208"] = [242,242] let s:lib.Codec.encoding_table["35255"] = [242,243] let s:lib.Codec.encoding_table["35254"] = [242,244] let s:lib.Codec.encoding_table["35318"] = [242,245] let s:lib.Codec.encoding_table["35664"] = [242,246] let s:lib.Codec.encoding_table["35656"] = [242,247] let s:lib.Codec.encoding_table["35658"] = [242,248] let s:lib.Codec.encoding_table["35648"] = [242,249] let s:lib.Codec.encoding_table["35667"] = [242,250] let s:lib.Codec.encoding_table["35670"] = [242,251] let s:lib.Codec.encoding_table["35668"] = [242,252] let s:lib.Codec.encoding_table["35659"] = [242,253] let s:lib.Codec.encoding_table["35669"] = [242,254] let s:lib.Codec.encoding_table["35665"] = [243,64] let s:lib.Codec.encoding_table["35650"] = [243,65] let s:lib.Codec.encoding_table["35666"] = [243,66] let s:lib.Codec.encoding_table["35671"] = [243,67] let s:lib.Codec.encoding_table["35907"] = [243,68] let s:lib.Codec.encoding_table["35959"] = [243,69] let s:lib.Codec.encoding_table["35958"] = [243,70] let s:lib.Codec.encoding_table["35994"] = [243,71] let s:lib.Codec.encoding_table["36102"] = [243,72] let s:lib.Codec.encoding_table["36103"] = [243,73] let s:lib.Codec.encoding_table["36105"] = [243,74] let s:lib.Codec.encoding_table["36268"] = [243,75] let s:lib.Codec.encoding_table["36266"] = [243,76] let s:lib.Codec.encoding_table["36269"] = [243,77] let s:lib.Codec.encoding_table["36267"] = [243,78] let s:lib.Codec.encoding_table["36461"] = [243,79] let s:lib.Codec.encoding_table["36472"] = [243,80] let s:lib.Codec.encoding_table["36467"] = [243,81] let s:lib.Codec.encoding_table["36458"] = [243,82] let s:lib.Codec.encoding_table["36463"] = [243,83] let s:lib.Codec.encoding_table["36475"] = [243,84] let s:lib.Codec.encoding_table["36546"] = [243,85] let s:lib.Codec.encoding_table["36690"] = [243,86] let s:lib.Codec.encoding_table["36689"] = [243,87] let s:lib.Codec.encoding_table["36687"] = [243,88] let s:lib.Codec.encoding_table["36688"] = [243,89] let s:lib.Codec.encoding_table["36691"] = [243,90] let s:lib.Codec.encoding_table["36788"] = [243,91] let s:lib.Codec.encoding_table["37184"] = [243,92] let s:lib.Codec.encoding_table["37183"] = [243,93] let s:lib.Codec.encoding_table["37296"] = [243,94] let s:lib.Codec.encoding_table["37293"] = [243,95] let s:lib.Codec.encoding_table["37854"] = [243,96] let s:lib.Codec.encoding_table["37831"] = [243,97] let s:lib.Codec.encoding_table["37839"] = [243,98] let s:lib.Codec.encoding_table["37826"] = [243,99] let s:lib.Codec.encoding_table["37850"] = [243,100] let s:lib.Codec.encoding_table["37840"] = [243,101] let s:lib.Codec.encoding_table["37881"] = [243,102] let s:lib.Codec.encoding_table["37868"] = [243,103] let s:lib.Codec.encoding_table["37836"] = [243,104] let s:lib.Codec.encoding_table["37849"] = [243,105] let s:lib.Codec.encoding_table["37801"] = [243,106] let s:lib.Codec.encoding_table["37862"] = [243,107] let s:lib.Codec.encoding_table["37834"] = [243,108] let s:lib.Codec.encoding_table["37844"] = [243,109] let s:lib.Codec.encoding_table["37870"] = [243,110] let s:lib.Codec.encoding_table["37859"] = [243,111] let s:lib.Codec.encoding_table["37845"] = [243,112] let s:lib.Codec.encoding_table["37828"] = [243,113] let s:lib.Codec.encoding_table["37838"] = [243,114] let s:lib.Codec.encoding_table["37824"] = [243,115] let s:lib.Codec.encoding_table["37842"] = [243,116] let s:lib.Codec.encoding_table["37863"] = [243,117] let s:lib.Codec.encoding_table["38269"] = [243,118] let s:lib.Codec.encoding_table["38362"] = [243,119] let s:lib.Codec.encoding_table["38363"] = [243,120] let s:lib.Codec.encoding_table["38625"] = [243,121] let s:lib.Codec.encoding_table["38697"] = [243,122] let s:lib.Codec.encoding_table["38699"] = [243,123] let s:lib.Codec.encoding_table["38700"] = [243,124] let s:lib.Codec.encoding_table["38696"] = [243,125] let s:lib.Codec.encoding_table["38694"] = [243,126] let s:lib.Codec.encoding_table["38835"] = [243,161] let s:lib.Codec.encoding_table["38839"] = [243,162] let s:lib.Codec.encoding_table["38838"] = [243,163] let s:lib.Codec.encoding_table["38877"] = [243,164] let s:lib.Codec.encoding_table["38878"] = [243,165] let s:lib.Codec.encoding_table["38879"] = [243,166] let s:lib.Codec.encoding_table["39004"] = [243,167] let s:lib.Codec.encoding_table["39001"] = [243,168] let s:lib.Codec.encoding_table["39005"] = [243,169] let s:lib.Codec.encoding_table["38999"] = [243,170] let s:lib.Codec.encoding_table["39103"] = [243,171] let s:lib.Codec.encoding_table["39101"] = [243,172] let s:lib.Codec.encoding_table["39099"] = [243,173] let s:lib.Codec.encoding_table["39102"] = [243,174] let s:lib.Codec.encoding_table["39240"] = [243,175] let s:lib.Codec.encoding_table["39239"] = [243,176] let s:lib.Codec.encoding_table["39235"] = [243,177] let s:lib.Codec.encoding_table["39334"] = [243,178] let s:lib.Codec.encoding_table["39335"] = [243,179] let s:lib.Codec.encoding_table["39450"] = [243,180] let s:lib.Codec.encoding_table["39445"] = [243,181] let s:lib.Codec.encoding_table["39461"] = [243,182] let s:lib.Codec.encoding_table["39453"] = [243,183] let s:lib.Codec.encoding_table["39460"] = [243,184] let s:lib.Codec.encoding_table["39451"] = [243,185] let s:lib.Codec.encoding_table["39458"] = [243,186] let s:lib.Codec.encoding_table["39456"] = [243,187] let s:lib.Codec.encoding_table["39463"] = [243,188] let s:lib.Codec.encoding_table["39459"] = [243,189] let s:lib.Codec.encoding_table["39454"] = [243,190] let s:lib.Codec.encoding_table["39452"] = [243,191] let s:lib.Codec.encoding_table["39444"] = [243,192] let s:lib.Codec.encoding_table["39618"] = [243,193] let s:lib.Codec.encoding_table["39691"] = [243,194] let s:lib.Codec.encoding_table["39690"] = [243,195] let s:lib.Codec.encoding_table["39694"] = [243,196] let s:lib.Codec.encoding_table["39692"] = [243,197] let s:lib.Codec.encoding_table["39735"] = [243,198] let s:lib.Codec.encoding_table["39914"] = [243,199] let s:lib.Codec.encoding_table["39915"] = [243,200] let s:lib.Codec.encoding_table["39904"] = [243,201] let s:lib.Codec.encoding_table["39902"] = [243,202] let s:lib.Codec.encoding_table["39908"] = [243,203] let s:lib.Codec.encoding_table["39910"] = [243,204] let s:lib.Codec.encoding_table["39906"] = [243,205] let s:lib.Codec.encoding_table["39920"] = [243,206] let s:lib.Codec.encoding_table["39892"] = [243,207] let s:lib.Codec.encoding_table["39895"] = [243,208] let s:lib.Codec.encoding_table["39916"] = [243,209] let s:lib.Codec.encoding_table["39900"] = [243,210] let s:lib.Codec.encoding_table["39897"] = [243,211] let s:lib.Codec.encoding_table["39909"] = [243,212] let s:lib.Codec.encoding_table["39893"] = [243,213] let s:lib.Codec.encoding_table["39905"] = [243,214] let s:lib.Codec.encoding_table["39898"] = [243,215] let s:lib.Codec.encoding_table["40311"] = [243,216] let s:lib.Codec.encoding_table["40321"] = [243,217] let s:lib.Codec.encoding_table["40330"] = [243,218] let s:lib.Codec.encoding_table["40324"] = [243,219] let s:lib.Codec.encoding_table["40328"] = [243,220] let s:lib.Codec.encoding_table["40305"] = [243,221] let s:lib.Codec.encoding_table["40320"] = [243,222] let s:lib.Codec.encoding_table["40312"] = [243,223] let s:lib.Codec.encoding_table["40326"] = [243,224] let s:lib.Codec.encoding_table["40331"] = [243,225] let s:lib.Codec.encoding_table["40332"] = [243,226] let s:lib.Codec.encoding_table["40317"] = [243,227] let s:lib.Codec.encoding_table["40299"] = [243,228] let s:lib.Codec.encoding_table["40308"] = [243,229] let s:lib.Codec.encoding_table["40309"] = [243,230] let s:lib.Codec.encoding_table["40304"] = [243,231] let s:lib.Codec.encoding_table["40297"] = [243,232] let s:lib.Codec.encoding_table["40325"] = [243,233] let s:lib.Codec.encoding_table["40307"] = [243,234] let s:lib.Codec.encoding_table["40315"] = [243,235] let s:lib.Codec.encoding_table["40322"] = [243,236] let s:lib.Codec.encoding_table["40303"] = [243,237] let s:lib.Codec.encoding_table["40313"] = [243,238] let s:lib.Codec.encoding_table["40319"] = [243,239] let s:lib.Codec.encoding_table["40327"] = [243,240] let s:lib.Codec.encoding_table["40296"] = [243,241] let s:lib.Codec.encoding_table["40596"] = [243,242] let s:lib.Codec.encoding_table["40593"] = [243,243] let s:lib.Codec.encoding_table["40640"] = [243,244] let s:lib.Codec.encoding_table["40700"] = [243,245] let s:lib.Codec.encoding_table["40749"] = [243,246] let s:lib.Codec.encoding_table["40768"] = [243,247] let s:lib.Codec.encoding_table["40769"] = [243,248] let s:lib.Codec.encoding_table["40781"] = [243,249] let s:lib.Codec.encoding_table["40790"] = [243,250] let s:lib.Codec.encoding_table["40791"] = [243,251] let s:lib.Codec.encoding_table["40792"] = [243,252] let s:lib.Codec.encoding_table["21303"] = [243,253] let s:lib.Codec.encoding_table["22194"] = [243,254] let s:lib.Codec.encoding_table["22197"] = [244,64] let s:lib.Codec.encoding_table["22195"] = [244,65] let s:lib.Codec.encoding_table["22755"] = [244,66] let s:lib.Codec.encoding_table["23365"] = [244,67] let s:lib.Codec.encoding_table["24006"] = [244,68] let s:lib.Codec.encoding_table["24007"] = [244,69] let s:lib.Codec.encoding_table["24302"] = [244,70] let s:lib.Codec.encoding_table["24303"] = [244,71] let s:lib.Codec.encoding_table["24512"] = [244,72] let s:lib.Codec.encoding_table["24513"] = [244,73] let s:lib.Codec.encoding_table["25081"] = [244,74] let s:lib.Codec.encoding_table["25879"] = [244,75] let s:lib.Codec.encoding_table["25878"] = [244,76] let s:lib.Codec.encoding_table["25877"] = [244,77] let s:lib.Codec.encoding_table["25875"] = [244,78] let s:lib.Codec.encoding_table["26079"] = [244,79] let s:lib.Codec.encoding_table["26344"] = [244,80] let s:lib.Codec.encoding_table["26339"] = [244,81] let s:lib.Codec.encoding_table["26340"] = [244,82] let s:lib.Codec.encoding_table["27379"] = [244,83] let s:lib.Codec.encoding_table["27376"] = [244,84] let s:lib.Codec.encoding_table["27370"] = [244,85] let s:lib.Codec.encoding_table["27368"] = [244,86] let s:lib.Codec.encoding_table["27385"] = [244,87] let s:lib.Codec.encoding_table["27377"] = [244,88] let s:lib.Codec.encoding_table["27374"] = [244,89] let s:lib.Codec.encoding_table["27375"] = [244,90] let s:lib.Codec.encoding_table["28732"] = [244,91] let s:lib.Codec.encoding_table["28725"] = [244,92] let s:lib.Codec.encoding_table["28719"] = [244,93] let s:lib.Codec.encoding_table["28727"] = [244,94] let s:lib.Codec.encoding_table["28724"] = [244,95] let s:lib.Codec.encoding_table["28721"] = [244,96] let s:lib.Codec.encoding_table["28738"] = [244,97] let s:lib.Codec.encoding_table["28728"] = [244,98] let s:lib.Codec.encoding_table["28735"] = [244,99] let s:lib.Codec.encoding_table["28730"] = [244,100] let s:lib.Codec.encoding_table["28729"] = [244,101] let s:lib.Codec.encoding_table["28736"] = [244,102] let s:lib.Codec.encoding_table["28731"] = [244,103] let s:lib.Codec.encoding_table["28723"] = [244,104] let s:lib.Codec.encoding_table["28737"] = [244,105] let s:lib.Codec.encoding_table["29203"] = [244,106] let s:lib.Codec.encoding_table["29204"] = [244,107] let s:lib.Codec.encoding_table["29352"] = [244,108] let s:lib.Codec.encoding_table["29565"] = [244,109] let s:lib.Codec.encoding_table["29564"] = [244,110] let s:lib.Codec.encoding_table["29882"] = [244,111] let s:lib.Codec.encoding_table["30379"] = [244,112] let s:lib.Codec.encoding_table["30378"] = [244,113] let s:lib.Codec.encoding_table["30398"] = [244,114] let s:lib.Codec.encoding_table["30445"] = [244,115] let s:lib.Codec.encoding_table["30668"] = [244,116] let s:lib.Codec.encoding_table["30670"] = [244,117] let s:lib.Codec.encoding_table["30671"] = [244,118] let s:lib.Codec.encoding_table["30669"] = [244,119] let s:lib.Codec.encoding_table["30706"] = [244,120] let s:lib.Codec.encoding_table["31013"] = [244,121] let s:lib.Codec.encoding_table["31011"] = [244,122] let s:lib.Codec.encoding_table["31015"] = [244,123] let s:lib.Codec.encoding_table["31016"] = [244,124] let s:lib.Codec.encoding_table["31012"] = [244,125] let s:lib.Codec.encoding_table["31017"] = [244,126] let s:lib.Codec.encoding_table["31154"] = [244,161] let s:lib.Codec.encoding_table["31342"] = [244,162] let s:lib.Codec.encoding_table["31340"] = [244,163] let s:lib.Codec.encoding_table["31341"] = [244,164] let s:lib.Codec.encoding_table["31479"] = [244,165] let s:lib.Codec.encoding_table["31817"] = [244,166] let s:lib.Codec.encoding_table["31816"] = [244,167] let s:lib.Codec.encoding_table["31818"] = [244,168] let s:lib.Codec.encoding_table["31815"] = [244,169] let s:lib.Codec.encoding_table["31813"] = [244,170] let s:lib.Codec.encoding_table["31982"] = [244,171] let s:lib.Codec.encoding_table["32379"] = [244,172] let s:lib.Codec.encoding_table["32382"] = [244,173] let s:lib.Codec.encoding_table["32385"] = [244,174] let s:lib.Codec.encoding_table["32384"] = [244,175] let s:lib.Codec.encoding_table["32698"] = [244,176] let s:lib.Codec.encoding_table["32767"] = [244,177] let s:lib.Codec.encoding_table["32889"] = [244,178] let s:lib.Codec.encoding_table["33243"] = [244,179] let s:lib.Codec.encoding_table["33241"] = [244,180] let s:lib.Codec.encoding_table["33291"] = [244,181] let s:lib.Codec.encoding_table["33384"] = [244,182] let s:lib.Codec.encoding_table["33385"] = [244,183] let s:lib.Codec.encoding_table["34338"] = [244,184] let s:lib.Codec.encoding_table["34303"] = [244,185] let s:lib.Codec.encoding_table["34305"] = [244,186] let s:lib.Codec.encoding_table["34302"] = [244,187] let s:lib.Codec.encoding_table["34331"] = [244,188] let s:lib.Codec.encoding_table["34304"] = [244,189] let s:lib.Codec.encoding_table["34294"] = [244,190] let s:lib.Codec.encoding_table["34308"] = [244,191] let s:lib.Codec.encoding_table["34313"] = [244,192] let s:lib.Codec.encoding_table["34309"] = [244,193] let s:lib.Codec.encoding_table["34316"] = [244,194] let s:lib.Codec.encoding_table["34301"] = [244,195] let s:lib.Codec.encoding_table["34841"] = [244,196] let s:lib.Codec.encoding_table["34832"] = [244,197] let s:lib.Codec.encoding_table["34833"] = [244,198] let s:lib.Codec.encoding_table["34839"] = [244,199] let s:lib.Codec.encoding_table["34835"] = [244,200] let s:lib.Codec.encoding_table["34838"] = [244,201] let s:lib.Codec.encoding_table["35171"] = [244,202] let s:lib.Codec.encoding_table["35174"] = [244,203] let s:lib.Codec.encoding_table["35257"] = [244,204] let s:lib.Codec.encoding_table["35319"] = [244,205] let s:lib.Codec.encoding_table["35680"] = [244,206] let s:lib.Codec.encoding_table["35690"] = [244,207] let s:lib.Codec.encoding_table["35677"] = [244,208] let s:lib.Codec.encoding_table["35688"] = [244,209] let s:lib.Codec.encoding_table["35683"] = [244,210] let s:lib.Codec.encoding_table["35685"] = [244,211] let s:lib.Codec.encoding_table["35687"] = [244,212] let s:lib.Codec.encoding_table["35693"] = [244,213] let s:lib.Codec.encoding_table["36270"] = [244,214] let s:lib.Codec.encoding_table["36486"] = [244,215] let s:lib.Codec.encoding_table["36488"] = [244,216] let s:lib.Codec.encoding_table["36484"] = [244,217] let s:lib.Codec.encoding_table["36697"] = [244,218] let s:lib.Codec.encoding_table["36694"] = [244,219] let s:lib.Codec.encoding_table["36695"] = [244,220] let s:lib.Codec.encoding_table["36693"] = [244,221] let s:lib.Codec.encoding_table["36696"] = [244,222] let s:lib.Codec.encoding_table["36698"] = [244,223] let s:lib.Codec.encoding_table["37005"] = [244,224] let s:lib.Codec.encoding_table["37187"] = [244,225] let s:lib.Codec.encoding_table["37185"] = [244,226] let s:lib.Codec.encoding_table["37303"] = [244,227] let s:lib.Codec.encoding_table["37301"] = [244,228] let s:lib.Codec.encoding_table["37298"] = [244,229] let s:lib.Codec.encoding_table["37299"] = [244,230] let s:lib.Codec.encoding_table["37899"] = [244,231] let s:lib.Codec.encoding_table["37907"] = [244,232] let s:lib.Codec.encoding_table["37883"] = [244,233] let s:lib.Codec.encoding_table["37920"] = [244,234] let s:lib.Codec.encoding_table["37903"] = [244,235] let s:lib.Codec.encoding_table["37908"] = [244,236] let s:lib.Codec.encoding_table["37886"] = [244,237] let s:lib.Codec.encoding_table["37909"] = [244,238] let s:lib.Codec.encoding_table["37904"] = [244,239] let s:lib.Codec.encoding_table["37928"] = [244,240] let s:lib.Codec.encoding_table["37913"] = [244,241] let s:lib.Codec.encoding_table["37901"] = [244,242] let s:lib.Codec.encoding_table["37877"] = [244,243] let s:lib.Codec.encoding_table["37888"] = [244,244] let s:lib.Codec.encoding_table["37879"] = [244,245] let s:lib.Codec.encoding_table["37895"] = [244,246] let s:lib.Codec.encoding_table["37902"] = [244,247] let s:lib.Codec.encoding_table["37910"] = [244,248] let s:lib.Codec.encoding_table["37906"] = [244,249] let s:lib.Codec.encoding_table["37882"] = [244,250] let s:lib.Codec.encoding_table["37897"] = [244,251] let s:lib.Codec.encoding_table["37880"] = [244,252] let s:lib.Codec.encoding_table["37898"] = [244,253] let s:lib.Codec.encoding_table["37887"] = [244,254] let s:lib.Codec.encoding_table["37884"] = [245,64] let s:lib.Codec.encoding_table["37900"] = [245,65] let s:lib.Codec.encoding_table["37878"] = [245,66] let s:lib.Codec.encoding_table["37905"] = [245,67] let s:lib.Codec.encoding_table["37894"] = [245,68] let s:lib.Codec.encoding_table["38366"] = [245,69] let s:lib.Codec.encoding_table["38368"] = [245,70] let s:lib.Codec.encoding_table["38367"] = [245,71] let s:lib.Codec.encoding_table["38702"] = [245,72] let s:lib.Codec.encoding_table["38703"] = [245,73] let s:lib.Codec.encoding_table["38841"] = [245,74] let s:lib.Codec.encoding_table["38843"] = [245,75] let s:lib.Codec.encoding_table["38909"] = [245,76] let s:lib.Codec.encoding_table["38910"] = [245,77] let s:lib.Codec.encoding_table["39008"] = [245,78] let s:lib.Codec.encoding_table["39010"] = [245,79] let s:lib.Codec.encoding_table["39011"] = [245,80] let s:lib.Codec.encoding_table["39007"] = [245,81] let s:lib.Codec.encoding_table["39105"] = [245,82] let s:lib.Codec.encoding_table["39106"] = [245,83] let s:lib.Codec.encoding_table["39248"] = [245,84] let s:lib.Codec.encoding_table["39246"] = [245,85] let s:lib.Codec.encoding_table["39257"] = [245,86] let s:lib.Codec.encoding_table["39244"] = [245,87] let s:lib.Codec.encoding_table["39243"] = [245,88] let s:lib.Codec.encoding_table["39251"] = [245,89] let s:lib.Codec.encoding_table["39474"] = [245,90] let s:lib.Codec.encoding_table["39476"] = [245,91] let s:lib.Codec.encoding_table["39473"] = [245,92] let s:lib.Codec.encoding_table["39468"] = [245,93] let s:lib.Codec.encoding_table["39466"] = [245,94] let s:lib.Codec.encoding_table["39478"] = [245,95] let s:lib.Codec.encoding_table["39465"] = [245,96] let s:lib.Codec.encoding_table["39470"] = [245,97] let s:lib.Codec.encoding_table["39480"] = [245,98] let s:lib.Codec.encoding_table["39469"] = [245,99] let s:lib.Codec.encoding_table["39623"] = [245,100] let s:lib.Codec.encoding_table["39626"] = [245,101] let s:lib.Codec.encoding_table["39622"] = [245,102] let s:lib.Codec.encoding_table["39696"] = [245,103] let s:lib.Codec.encoding_table["39698"] = [245,104] let s:lib.Codec.encoding_table["39697"] = [245,105] let s:lib.Codec.encoding_table["39947"] = [245,106] let s:lib.Codec.encoding_table["39944"] = [245,107] let s:lib.Codec.encoding_table["39927"] = [245,108] let s:lib.Codec.encoding_table["39941"] = [245,109] let s:lib.Codec.encoding_table["39954"] = [245,110] let s:lib.Codec.encoding_table["39928"] = [245,111] let s:lib.Codec.encoding_table["40000"] = [245,112] let s:lib.Codec.encoding_table["39943"] = [245,113] let s:lib.Codec.encoding_table["39950"] = [245,114] let s:lib.Codec.encoding_table["39942"] = [245,115] let s:lib.Codec.encoding_table["39959"] = [245,116] let s:lib.Codec.encoding_table["39956"] = [245,117] let s:lib.Codec.encoding_table["39945"] = [245,118] let s:lib.Codec.encoding_table["40351"] = [245,119] let s:lib.Codec.encoding_table["40345"] = [245,120] let s:lib.Codec.encoding_table["40356"] = [245,121] let s:lib.Codec.encoding_table["40349"] = [245,122] let s:lib.Codec.encoding_table["40338"] = [245,123] let s:lib.Codec.encoding_table["40344"] = [245,124] let s:lib.Codec.encoding_table["40336"] = [245,125] let s:lib.Codec.encoding_table["40347"] = [245,126] let s:lib.Codec.encoding_table["40352"] = [245,161] let s:lib.Codec.encoding_table["40340"] = [245,162] let s:lib.Codec.encoding_table["40348"] = [245,163] let s:lib.Codec.encoding_table["40362"] = [245,164] let s:lib.Codec.encoding_table["40343"] = [245,165] let s:lib.Codec.encoding_table["40353"] = [245,166] let s:lib.Codec.encoding_table["40346"] = [245,167] let s:lib.Codec.encoding_table["40354"] = [245,168] let s:lib.Codec.encoding_table["40360"] = [245,169] let s:lib.Codec.encoding_table["40350"] = [245,170] let s:lib.Codec.encoding_table["40355"] = [245,171] let s:lib.Codec.encoding_table["40383"] = [245,172] let s:lib.Codec.encoding_table["40361"] = [245,173] let s:lib.Codec.encoding_table["40342"] = [245,174] let s:lib.Codec.encoding_table["40358"] = [245,175] let s:lib.Codec.encoding_table["40359"] = [245,176] let s:lib.Codec.encoding_table["40601"] = [245,177] let s:lib.Codec.encoding_table["40603"] = [245,178] let s:lib.Codec.encoding_table["40602"] = [245,179] let s:lib.Codec.encoding_table["40677"] = [245,180] let s:lib.Codec.encoding_table["40676"] = [245,181] let s:lib.Codec.encoding_table["40679"] = [245,182] let s:lib.Codec.encoding_table["40678"] = [245,183] let s:lib.Codec.encoding_table["40752"] = [245,184] let s:lib.Codec.encoding_table["40750"] = [245,185] let s:lib.Codec.encoding_table["40795"] = [245,186] let s:lib.Codec.encoding_table["40800"] = [245,187] let s:lib.Codec.encoding_table["40798"] = [245,188] let s:lib.Codec.encoding_table["40797"] = [245,189] let s:lib.Codec.encoding_table["40793"] = [245,190] let s:lib.Codec.encoding_table["40849"] = [245,191] let s:lib.Codec.encoding_table["20794"] = [245,192] let s:lib.Codec.encoding_table["20793"] = [245,193] let s:lib.Codec.encoding_table["21144"] = [245,194] let s:lib.Codec.encoding_table["21143"] = [245,195] let s:lib.Codec.encoding_table["22211"] = [245,196] let s:lib.Codec.encoding_table["22205"] = [245,197] let s:lib.Codec.encoding_table["22206"] = [245,198] let s:lib.Codec.encoding_table["23368"] = [245,199] let s:lib.Codec.encoding_table["23367"] = [245,200] let s:lib.Codec.encoding_table["24011"] = [245,201] let s:lib.Codec.encoding_table["24015"] = [245,202] let s:lib.Codec.encoding_table["24305"] = [245,203] let s:lib.Codec.encoding_table["25085"] = [245,204] let s:lib.Codec.encoding_table["25883"] = [245,205] let s:lib.Codec.encoding_table["27394"] = [245,206] let s:lib.Codec.encoding_table["27388"] = [245,207] let s:lib.Codec.encoding_table["27395"] = [245,208] let s:lib.Codec.encoding_table["27384"] = [245,209] let s:lib.Codec.encoding_table["27392"] = [245,210] let s:lib.Codec.encoding_table["28739"] = [245,211] let s:lib.Codec.encoding_table["28740"] = [245,212] let s:lib.Codec.encoding_table["28746"] = [245,213] let s:lib.Codec.encoding_table["28744"] = [245,214] let s:lib.Codec.encoding_table["28745"] = [245,215] let s:lib.Codec.encoding_table["28741"] = [245,216] let s:lib.Codec.encoding_table["28742"] = [245,217] let s:lib.Codec.encoding_table["29213"] = [245,218] let s:lib.Codec.encoding_table["29210"] = [245,219] let s:lib.Codec.encoding_table["29209"] = [245,220] let s:lib.Codec.encoding_table["29566"] = [245,221] let s:lib.Codec.encoding_table["29975"] = [245,222] let s:lib.Codec.encoding_table["30314"] = [245,223] let s:lib.Codec.encoding_table["30672"] = [245,224] let s:lib.Codec.encoding_table["31021"] = [245,225] let s:lib.Codec.encoding_table["31025"] = [245,226] let s:lib.Codec.encoding_table["31023"] = [245,227] let s:lib.Codec.encoding_table["31828"] = [245,228] let s:lib.Codec.encoding_table["31827"] = [245,229] let s:lib.Codec.encoding_table["31986"] = [245,230] let s:lib.Codec.encoding_table["32394"] = [245,231] let s:lib.Codec.encoding_table["32391"] = [245,232] let s:lib.Codec.encoding_table["32392"] = [245,233] let s:lib.Codec.encoding_table["32395"] = [245,234] let s:lib.Codec.encoding_table["32390"] = [245,235] let s:lib.Codec.encoding_table["32397"] = [245,236] let s:lib.Codec.encoding_table["32589"] = [245,237] let s:lib.Codec.encoding_table["32699"] = [245,238] let s:lib.Codec.encoding_table["32816"] = [245,239] let s:lib.Codec.encoding_table["33245"] = [245,240] let s:lib.Codec.encoding_table["34328"] = [245,241] let s:lib.Codec.encoding_table["34346"] = [245,242] let s:lib.Codec.encoding_table["34342"] = [245,243] let s:lib.Codec.encoding_table["34335"] = [245,244] let s:lib.Codec.encoding_table["34339"] = [245,245] let s:lib.Codec.encoding_table["34332"] = [245,246] let s:lib.Codec.encoding_table["34329"] = [245,247] let s:lib.Codec.encoding_table["34343"] = [245,248] let s:lib.Codec.encoding_table["34350"] = [245,249] let s:lib.Codec.encoding_table["34337"] = [245,250] let s:lib.Codec.encoding_table["34336"] = [245,251] let s:lib.Codec.encoding_table["34345"] = [245,252] let s:lib.Codec.encoding_table["34334"] = [245,253] let s:lib.Codec.encoding_table["34341"] = [245,254] let s:lib.Codec.encoding_table["34857"] = [246,64] let s:lib.Codec.encoding_table["34845"] = [246,65] let s:lib.Codec.encoding_table["34843"] = [246,66] let s:lib.Codec.encoding_table["34848"] = [246,67] let s:lib.Codec.encoding_table["34852"] = [246,68] let s:lib.Codec.encoding_table["34844"] = [246,69] let s:lib.Codec.encoding_table["34859"] = [246,70] let s:lib.Codec.encoding_table["34890"] = [246,71] let s:lib.Codec.encoding_table["35181"] = [246,72] let s:lib.Codec.encoding_table["35177"] = [246,73] let s:lib.Codec.encoding_table["35182"] = [246,74] let s:lib.Codec.encoding_table["35179"] = [246,75] let s:lib.Codec.encoding_table["35322"] = [246,76] let s:lib.Codec.encoding_table["35705"] = [246,77] let s:lib.Codec.encoding_table["35704"] = [246,78] let s:lib.Codec.encoding_table["35653"] = [246,79] let s:lib.Codec.encoding_table["35706"] = [246,80] let s:lib.Codec.encoding_table["35707"] = [246,81] let s:lib.Codec.encoding_table["36112"] = [246,82] let s:lib.Codec.encoding_table["36116"] = [246,83] let s:lib.Codec.encoding_table["36271"] = [246,84] let s:lib.Codec.encoding_table["36494"] = [246,85] let s:lib.Codec.encoding_table["36492"] = [246,86] let s:lib.Codec.encoding_table["36702"] = [246,87] let s:lib.Codec.encoding_table["36699"] = [246,88] let s:lib.Codec.encoding_table["36701"] = [246,89] let s:lib.Codec.encoding_table["37190"] = [246,90] let s:lib.Codec.encoding_table["37188"] = [246,91] let s:lib.Codec.encoding_table["37189"] = [246,92] let s:lib.Codec.encoding_table["37305"] = [246,93] let s:lib.Codec.encoding_table["37951"] = [246,94] let s:lib.Codec.encoding_table["37947"] = [246,95] let s:lib.Codec.encoding_table["37942"] = [246,96] let s:lib.Codec.encoding_table["37929"] = [246,97] let s:lib.Codec.encoding_table["37949"] = [246,98] let s:lib.Codec.encoding_table["37948"] = [246,99] let s:lib.Codec.encoding_table["37936"] = [246,100] let s:lib.Codec.encoding_table["37945"] = [246,101] let s:lib.Codec.encoding_table["37930"] = [246,102] let s:lib.Codec.encoding_table["37943"] = [246,103] let s:lib.Codec.encoding_table["37932"] = [246,104] let s:lib.Codec.encoding_table["37952"] = [246,105] let s:lib.Codec.encoding_table["37937"] = [246,106] let s:lib.Codec.encoding_table["38373"] = [246,107] let s:lib.Codec.encoding_table["38372"] = [246,108] let s:lib.Codec.encoding_table["38371"] = [246,109] let s:lib.Codec.encoding_table["38709"] = [246,110] let s:lib.Codec.encoding_table["38714"] = [246,111] let s:lib.Codec.encoding_table["38847"] = [246,112] let s:lib.Codec.encoding_table["38881"] = [246,113] let s:lib.Codec.encoding_table["39012"] = [246,114] let s:lib.Codec.encoding_table["39113"] = [246,115] let s:lib.Codec.encoding_table["39110"] = [246,116] let s:lib.Codec.encoding_table["39104"] = [246,117] let s:lib.Codec.encoding_table["39256"] = [246,118] let s:lib.Codec.encoding_table["39254"] = [246,119] let s:lib.Codec.encoding_table["39481"] = [246,120] let s:lib.Codec.encoding_table["39485"] = [246,121] let s:lib.Codec.encoding_table["39494"] = [246,122] let s:lib.Codec.encoding_table["39492"] = [246,123] let s:lib.Codec.encoding_table["39490"] = [246,124] let s:lib.Codec.encoding_table["39489"] = [246,125] let s:lib.Codec.encoding_table["39482"] = [246,126] let s:lib.Codec.encoding_table["39487"] = [246,161] let s:lib.Codec.encoding_table["39629"] = [246,162] let s:lib.Codec.encoding_table["39701"] = [246,163] let s:lib.Codec.encoding_table["39703"] = [246,164] let s:lib.Codec.encoding_table["39704"] = [246,165] let s:lib.Codec.encoding_table["39702"] = [246,166] let s:lib.Codec.encoding_table["39738"] = [246,167] let s:lib.Codec.encoding_table["39762"] = [246,168] let s:lib.Codec.encoding_table["39979"] = [246,169] let s:lib.Codec.encoding_table["39965"] = [246,170] let s:lib.Codec.encoding_table["39964"] = [246,171] let s:lib.Codec.encoding_table["39980"] = [246,172] let s:lib.Codec.encoding_table["39971"] = [246,173] let s:lib.Codec.encoding_table["39976"] = [246,174] let s:lib.Codec.encoding_table["39977"] = [246,175] let s:lib.Codec.encoding_table["39972"] = [246,176] let s:lib.Codec.encoding_table["39969"] = [246,177] let s:lib.Codec.encoding_table["40375"] = [246,178] let s:lib.Codec.encoding_table["40374"] = [246,179] let s:lib.Codec.encoding_table["40380"] = [246,180] let s:lib.Codec.encoding_table["40385"] = [246,181] let s:lib.Codec.encoding_table["40391"] = [246,182] let s:lib.Codec.encoding_table["40394"] = [246,183] let s:lib.Codec.encoding_table["40399"] = [246,184] let s:lib.Codec.encoding_table["40382"] = [246,185] let s:lib.Codec.encoding_table["40389"] = [246,186] let s:lib.Codec.encoding_table["40387"] = [246,187] let s:lib.Codec.encoding_table["40379"] = [246,188] let s:lib.Codec.encoding_table["40373"] = [246,189] let s:lib.Codec.encoding_table["40398"] = [246,190] let s:lib.Codec.encoding_table["40377"] = [246,191] let s:lib.Codec.encoding_table["40378"] = [246,192] let s:lib.Codec.encoding_table["40364"] = [246,193] let s:lib.Codec.encoding_table["40392"] = [246,194] let s:lib.Codec.encoding_table["40369"] = [246,195] let s:lib.Codec.encoding_table["40365"] = [246,196] let s:lib.Codec.encoding_table["40396"] = [246,197] let s:lib.Codec.encoding_table["40371"] = [246,198] let s:lib.Codec.encoding_table["40397"] = [246,199] let s:lib.Codec.encoding_table["40370"] = [246,200] let s:lib.Codec.encoding_table["40570"] = [246,201] let s:lib.Codec.encoding_table["40604"] = [246,202] let s:lib.Codec.encoding_table["40683"] = [246,203] let s:lib.Codec.encoding_table["40686"] = [246,204] let s:lib.Codec.encoding_table["40685"] = [246,205] let s:lib.Codec.encoding_table["40731"] = [246,206] let s:lib.Codec.encoding_table["40728"] = [246,207] let s:lib.Codec.encoding_table["40730"] = [246,208] let s:lib.Codec.encoding_table["40753"] = [246,209] let s:lib.Codec.encoding_table["40782"] = [246,210] let s:lib.Codec.encoding_table["40805"] = [246,211] let s:lib.Codec.encoding_table["40804"] = [246,212] let s:lib.Codec.encoding_table["40850"] = [246,213] let s:lib.Codec.encoding_table["20153"] = [246,214] let s:lib.Codec.encoding_table["22214"] = [246,215] let s:lib.Codec.encoding_table["22213"] = [246,216] let s:lib.Codec.encoding_table["22219"] = [246,217] let s:lib.Codec.encoding_table["22897"] = [246,218] let s:lib.Codec.encoding_table["23371"] = [246,219] let s:lib.Codec.encoding_table["23372"] = [246,220] let s:lib.Codec.encoding_table["24021"] = [246,221] let s:lib.Codec.encoding_table["24017"] = [246,222] let s:lib.Codec.encoding_table["24306"] = [246,223] let s:lib.Codec.encoding_table["25889"] = [246,224] let s:lib.Codec.encoding_table["25888"] = [246,225] let s:lib.Codec.encoding_table["25894"] = [246,226] let s:lib.Codec.encoding_table["25890"] = [246,227] let s:lib.Codec.encoding_table["27403"] = [246,228] let s:lib.Codec.encoding_table["27400"] = [246,229] let s:lib.Codec.encoding_table["27401"] = [246,230] let s:lib.Codec.encoding_table["27661"] = [246,231] let s:lib.Codec.encoding_table["28757"] = [246,232] let s:lib.Codec.encoding_table["28758"] = [246,233] let s:lib.Codec.encoding_table["28759"] = [246,234] let s:lib.Codec.encoding_table["28754"] = [246,235] let s:lib.Codec.encoding_table["29214"] = [246,236] let s:lib.Codec.encoding_table["29215"] = [246,237] let s:lib.Codec.encoding_table["29353"] = [246,238] let s:lib.Codec.encoding_table["29567"] = [246,239] let s:lib.Codec.encoding_table["29912"] = [246,240] let s:lib.Codec.encoding_table["29909"] = [246,241] let s:lib.Codec.encoding_table["29913"] = [246,242] let s:lib.Codec.encoding_table["29911"] = [246,243] let s:lib.Codec.encoding_table["30317"] = [246,244] let s:lib.Codec.encoding_table["30381"] = [246,245] let s:lib.Codec.encoding_table["31029"] = [246,246] let s:lib.Codec.encoding_table["31156"] = [246,247] let s:lib.Codec.encoding_table["31344"] = [246,248] let s:lib.Codec.encoding_table["31345"] = [246,249] let s:lib.Codec.encoding_table["31831"] = [246,250] let s:lib.Codec.encoding_table["31836"] = [246,251] let s:lib.Codec.encoding_table["31833"] = [246,252] let s:lib.Codec.encoding_table["31835"] = [246,253] let s:lib.Codec.encoding_table["31834"] = [246,254] let s:lib.Codec.encoding_table["31988"] = [247,64] let s:lib.Codec.encoding_table["31985"] = [247,65] let s:lib.Codec.encoding_table["32401"] = [247,66] let s:lib.Codec.encoding_table["32591"] = [247,67] let s:lib.Codec.encoding_table["32647"] = [247,68] let s:lib.Codec.encoding_table["33246"] = [247,69] let s:lib.Codec.encoding_table["33387"] = [247,70] let s:lib.Codec.encoding_table["34356"] = [247,71] let s:lib.Codec.encoding_table["34357"] = [247,72] let s:lib.Codec.encoding_table["34355"] = [247,73] let s:lib.Codec.encoding_table["34348"] = [247,74] let s:lib.Codec.encoding_table["34354"] = [247,75] let s:lib.Codec.encoding_table["34358"] = [247,76] let s:lib.Codec.encoding_table["34860"] = [247,77] let s:lib.Codec.encoding_table["34856"] = [247,78] let s:lib.Codec.encoding_table["34854"] = [247,79] let s:lib.Codec.encoding_table["34858"] = [247,80] let s:lib.Codec.encoding_table["34853"] = [247,81] let s:lib.Codec.encoding_table["35185"] = [247,82] let s:lib.Codec.encoding_table["35263"] = [247,83] let s:lib.Codec.encoding_table["35262"] = [247,84] let s:lib.Codec.encoding_table["35323"] = [247,85] let s:lib.Codec.encoding_table["35710"] = [247,86] let s:lib.Codec.encoding_table["35716"] = [247,87] let s:lib.Codec.encoding_table["35714"] = [247,88] let s:lib.Codec.encoding_table["35718"] = [247,89] let s:lib.Codec.encoding_table["35717"] = [247,90] let s:lib.Codec.encoding_table["35711"] = [247,91] let s:lib.Codec.encoding_table["36117"] = [247,92] let s:lib.Codec.encoding_table["36501"] = [247,93] let s:lib.Codec.encoding_table["36500"] = [247,94] let s:lib.Codec.encoding_table["36506"] = [247,95] let s:lib.Codec.encoding_table["36498"] = [247,96] let s:lib.Codec.encoding_table["36496"] = [247,97] let s:lib.Codec.encoding_table["36502"] = [247,98] let s:lib.Codec.encoding_table["36503"] = [247,99] let s:lib.Codec.encoding_table["36704"] = [247,100] let s:lib.Codec.encoding_table["36706"] = [247,101] let s:lib.Codec.encoding_table["37191"] = [247,102] let s:lib.Codec.encoding_table["37964"] = [247,103] let s:lib.Codec.encoding_table["37968"] = [247,104] let s:lib.Codec.encoding_table["37962"] = [247,105] let s:lib.Codec.encoding_table["37963"] = [247,106] let s:lib.Codec.encoding_table["37967"] = [247,107] let s:lib.Codec.encoding_table["37959"] = [247,108] let s:lib.Codec.encoding_table["37957"] = [247,109] let s:lib.Codec.encoding_table["37960"] = [247,110] let s:lib.Codec.encoding_table["37961"] = [247,111] let s:lib.Codec.encoding_table["37958"] = [247,112] let s:lib.Codec.encoding_table["38719"] = [247,113] let s:lib.Codec.encoding_table["38883"] = [247,114] let s:lib.Codec.encoding_table["39018"] = [247,115] let s:lib.Codec.encoding_table["39017"] = [247,116] let s:lib.Codec.encoding_table["39115"] = [247,117] let s:lib.Codec.encoding_table["39252"] = [247,118] let s:lib.Codec.encoding_table["39259"] = [247,119] let s:lib.Codec.encoding_table["39502"] = [247,120] let s:lib.Codec.encoding_table["39507"] = [247,121] let s:lib.Codec.encoding_table["39508"] = [247,122] let s:lib.Codec.encoding_table["39500"] = [247,123] let s:lib.Codec.encoding_table["39503"] = [247,124] let s:lib.Codec.encoding_table["39496"] = [247,125] let s:lib.Codec.encoding_table["39498"] = [247,126] let s:lib.Codec.encoding_table["39497"] = [247,161] let s:lib.Codec.encoding_table["39506"] = [247,162] let s:lib.Codec.encoding_table["39504"] = [247,163] let s:lib.Codec.encoding_table["39632"] = [247,164] let s:lib.Codec.encoding_table["39705"] = [247,165] let s:lib.Codec.encoding_table["39723"] = [247,166] let s:lib.Codec.encoding_table["39739"] = [247,167] let s:lib.Codec.encoding_table["39766"] = [247,168] let s:lib.Codec.encoding_table["39765"] = [247,169] let s:lib.Codec.encoding_table["40006"] = [247,170] let s:lib.Codec.encoding_table["40008"] = [247,171] let s:lib.Codec.encoding_table["39999"] = [247,172] let s:lib.Codec.encoding_table["40004"] = [247,173] let s:lib.Codec.encoding_table["39993"] = [247,174] let s:lib.Codec.encoding_table["39987"] = [247,175] let s:lib.Codec.encoding_table["40001"] = [247,176] let s:lib.Codec.encoding_table["39996"] = [247,177] let s:lib.Codec.encoding_table["39991"] = [247,178] let s:lib.Codec.encoding_table["39988"] = [247,179] let s:lib.Codec.encoding_table["39986"] = [247,180] let s:lib.Codec.encoding_table["39997"] = [247,181] let s:lib.Codec.encoding_table["39990"] = [247,182] let s:lib.Codec.encoding_table["40411"] = [247,183] let s:lib.Codec.encoding_table["40402"] = [247,184] let s:lib.Codec.encoding_table["40414"] = [247,185] let s:lib.Codec.encoding_table["40410"] = [247,186] let s:lib.Codec.encoding_table["40395"] = [247,187] let s:lib.Codec.encoding_table["40400"] = [247,188] let s:lib.Codec.encoding_table["40412"] = [247,189] let s:lib.Codec.encoding_table["40401"] = [247,190] let s:lib.Codec.encoding_table["40415"] = [247,191] let s:lib.Codec.encoding_table["40425"] = [247,192] let s:lib.Codec.encoding_table["40409"] = [247,193] let s:lib.Codec.encoding_table["40408"] = [247,194] let s:lib.Codec.encoding_table["40406"] = [247,195] let s:lib.Codec.encoding_table["40437"] = [247,196] let s:lib.Codec.encoding_table["40405"] = [247,197] let s:lib.Codec.encoding_table["40413"] = [247,198] let s:lib.Codec.encoding_table["40630"] = [247,199] let s:lib.Codec.encoding_table["40688"] = [247,200] let s:lib.Codec.encoding_table["40757"] = [247,201] let s:lib.Codec.encoding_table["40755"] = [247,202] let s:lib.Codec.encoding_table["40754"] = [247,203] let s:lib.Codec.encoding_table["40770"] = [247,204] let s:lib.Codec.encoding_table["40811"] = [247,205] let s:lib.Codec.encoding_table["40853"] = [247,206] let s:lib.Codec.encoding_table["40866"] = [247,207] let s:lib.Codec.encoding_table["20797"] = [247,208] let s:lib.Codec.encoding_table["21145"] = [247,209] let s:lib.Codec.encoding_table["22760"] = [247,210] let s:lib.Codec.encoding_table["22759"] = [247,211] let s:lib.Codec.encoding_table["22898"] = [247,212] let s:lib.Codec.encoding_table["23373"] = [247,213] let s:lib.Codec.encoding_table["24024"] = [247,214] let s:lib.Codec.encoding_table["34863"] = [247,215] let s:lib.Codec.encoding_table["24399"] = [247,216] let s:lib.Codec.encoding_table["25089"] = [247,217] let s:lib.Codec.encoding_table["25091"] = [247,218] let s:lib.Codec.encoding_table["25092"] = [247,219] let s:lib.Codec.encoding_table["25897"] = [247,220] let s:lib.Codec.encoding_table["25893"] = [247,221] let s:lib.Codec.encoding_table["26006"] = [247,222] let s:lib.Codec.encoding_table["26347"] = [247,223] let s:lib.Codec.encoding_table["27409"] = [247,224] let s:lib.Codec.encoding_table["27410"] = [247,225] let s:lib.Codec.encoding_table["27407"] = [247,226] let s:lib.Codec.encoding_table["27594"] = [247,227] let s:lib.Codec.encoding_table["28763"] = [247,228] let s:lib.Codec.encoding_table["28762"] = [247,229] let s:lib.Codec.encoding_table["29218"] = [247,230] let s:lib.Codec.encoding_table["29570"] = [247,231] let s:lib.Codec.encoding_table["29569"] = [247,232] let s:lib.Codec.encoding_table["29571"] = [247,233] let s:lib.Codec.encoding_table["30320"] = [247,234] let s:lib.Codec.encoding_table["30676"] = [247,235] let s:lib.Codec.encoding_table["31847"] = [247,236] let s:lib.Codec.encoding_table["31846"] = [247,237] let s:lib.Codec.encoding_table["32405"] = [247,238] let s:lib.Codec.encoding_table["33388"] = [247,239] let s:lib.Codec.encoding_table["34362"] = [247,240] let s:lib.Codec.encoding_table["34368"] = [247,241] let s:lib.Codec.encoding_table["34361"] = [247,242] let s:lib.Codec.encoding_table["34364"] = [247,243] let s:lib.Codec.encoding_table["34353"] = [247,244] let s:lib.Codec.encoding_table["34363"] = [247,245] let s:lib.Codec.encoding_table["34366"] = [247,246] let s:lib.Codec.encoding_table["34864"] = [247,247] let s:lib.Codec.encoding_table["34866"] = [247,248] let s:lib.Codec.encoding_table["34862"] = [247,249] let s:lib.Codec.encoding_table["34867"] = [247,250] let s:lib.Codec.encoding_table["35190"] = [247,251] let s:lib.Codec.encoding_table["35188"] = [247,252] let s:lib.Codec.encoding_table["35187"] = [247,253] let s:lib.Codec.encoding_table["35326"] = [247,254] let s:lib.Codec.encoding_table["35724"] = [248,64] let s:lib.Codec.encoding_table["35726"] = [248,65] let s:lib.Codec.encoding_table["35723"] = [248,66] let s:lib.Codec.encoding_table["35720"] = [248,67] let s:lib.Codec.encoding_table["35909"] = [248,68] let s:lib.Codec.encoding_table["36121"] = [248,69] let s:lib.Codec.encoding_table["36504"] = [248,70] let s:lib.Codec.encoding_table["36708"] = [248,71] let s:lib.Codec.encoding_table["36707"] = [248,72] let s:lib.Codec.encoding_table["37308"] = [248,73] let s:lib.Codec.encoding_table["37986"] = [248,74] let s:lib.Codec.encoding_table["37973"] = [248,75] let s:lib.Codec.encoding_table["37981"] = [248,76] let s:lib.Codec.encoding_table["37975"] = [248,77] let s:lib.Codec.encoding_table["37982"] = [248,78] let s:lib.Codec.encoding_table["38852"] = [248,79] let s:lib.Codec.encoding_table["38853"] = [248,80] let s:lib.Codec.encoding_table["38912"] = [248,81] let s:lib.Codec.encoding_table["39510"] = [248,82] let s:lib.Codec.encoding_table["39513"] = [248,83] let s:lib.Codec.encoding_table["39710"] = [248,84] let s:lib.Codec.encoding_table["39711"] = [248,85] let s:lib.Codec.encoding_table["39712"] = [248,86] let s:lib.Codec.encoding_table["40018"] = [248,87] let s:lib.Codec.encoding_table["40024"] = [248,88] let s:lib.Codec.encoding_table["40016"] = [248,89] let s:lib.Codec.encoding_table["40010"] = [248,90] let s:lib.Codec.encoding_table["40013"] = [248,91] let s:lib.Codec.encoding_table["40011"] = [248,92] let s:lib.Codec.encoding_table["40021"] = [248,93] let s:lib.Codec.encoding_table["40025"] = [248,94] let s:lib.Codec.encoding_table["40012"] = [248,95] let s:lib.Codec.encoding_table["40014"] = [248,96] let s:lib.Codec.encoding_table["40443"] = [248,97] let s:lib.Codec.encoding_table["40439"] = [248,98] let s:lib.Codec.encoding_table["40431"] = [248,99] let s:lib.Codec.encoding_table["40419"] = [248,100] let s:lib.Codec.encoding_table["40427"] = [248,101] let s:lib.Codec.encoding_table["40440"] = [248,102] let s:lib.Codec.encoding_table["40420"] = [248,103] let s:lib.Codec.encoding_table["40438"] = [248,104] let s:lib.Codec.encoding_table["40417"] = [248,105] let s:lib.Codec.encoding_table["40430"] = [248,106] let s:lib.Codec.encoding_table["40422"] = [248,107] let s:lib.Codec.encoding_table["40434"] = [248,108] let s:lib.Codec.encoding_table["40432"] = [248,109] let s:lib.Codec.encoding_table["40418"] = [248,110] let s:lib.Codec.encoding_table["40428"] = [248,111] let s:lib.Codec.encoding_table["40436"] = [248,112] let s:lib.Codec.encoding_table["40435"] = [248,113] let s:lib.Codec.encoding_table["40424"] = [248,114] let s:lib.Codec.encoding_table["40429"] = [248,115] let s:lib.Codec.encoding_table["40642"] = [248,116] let s:lib.Codec.encoding_table["40656"] = [248,117] let s:lib.Codec.encoding_table["40690"] = [248,118] let s:lib.Codec.encoding_table["40691"] = [248,119] let s:lib.Codec.encoding_table["40710"] = [248,120] let s:lib.Codec.encoding_table["40732"] = [248,121] let s:lib.Codec.encoding_table["40760"] = [248,122] let s:lib.Codec.encoding_table["40759"] = [248,123] let s:lib.Codec.encoding_table["40758"] = [248,124] let s:lib.Codec.encoding_table["40771"] = [248,125] let s:lib.Codec.encoding_table["40783"] = [248,126] let s:lib.Codec.encoding_table["40817"] = [248,161] let s:lib.Codec.encoding_table["40816"] = [248,162] let s:lib.Codec.encoding_table["40814"] = [248,163] let s:lib.Codec.encoding_table["40815"] = [248,164] let s:lib.Codec.encoding_table["22227"] = [248,165] let s:lib.Codec.encoding_table["22221"] = [248,166] let s:lib.Codec.encoding_table["23374"] = [248,167] let s:lib.Codec.encoding_table["23661"] = [248,168] let s:lib.Codec.encoding_table["25901"] = [248,169] let s:lib.Codec.encoding_table["26349"] = [248,170] let s:lib.Codec.encoding_table["26350"] = [248,171] let s:lib.Codec.encoding_table["27411"] = [248,172] let s:lib.Codec.encoding_table["28767"] = [248,173] let s:lib.Codec.encoding_table["28769"] = [248,174] let s:lib.Codec.encoding_table["28765"] = [248,175] let s:lib.Codec.encoding_table["28768"] = [248,176] let s:lib.Codec.encoding_table["29219"] = [248,177] let s:lib.Codec.encoding_table["29915"] = [248,178] let s:lib.Codec.encoding_table["29925"] = [248,179] let s:lib.Codec.encoding_table["30677"] = [248,180] let s:lib.Codec.encoding_table["31032"] = [248,181] let s:lib.Codec.encoding_table["31159"] = [248,182] let s:lib.Codec.encoding_table["31158"] = [248,183] let s:lib.Codec.encoding_table["31850"] = [248,184] let s:lib.Codec.encoding_table["32407"] = [248,185] let s:lib.Codec.encoding_table["32649"] = [248,186] let s:lib.Codec.encoding_table["33389"] = [248,187] let s:lib.Codec.encoding_table["34371"] = [248,188] let s:lib.Codec.encoding_table["34872"] = [248,189] let s:lib.Codec.encoding_table["34871"] = [248,190] let s:lib.Codec.encoding_table["34869"] = [248,191] let s:lib.Codec.encoding_table["34891"] = [248,192] let s:lib.Codec.encoding_table["35732"] = [248,193] let s:lib.Codec.encoding_table["35733"] = [248,194] let s:lib.Codec.encoding_table["36510"] = [248,195] let s:lib.Codec.encoding_table["36511"] = [248,196] let s:lib.Codec.encoding_table["36512"] = [248,197] let s:lib.Codec.encoding_table["36509"] = [248,198] let s:lib.Codec.encoding_table["37310"] = [248,199] let s:lib.Codec.encoding_table["37309"] = [248,200] let s:lib.Codec.encoding_table["37314"] = [248,201] let s:lib.Codec.encoding_table["37995"] = [248,202] let s:lib.Codec.encoding_table["37992"] = [248,203] let s:lib.Codec.encoding_table["37993"] = [248,204] let s:lib.Codec.encoding_table["38629"] = [248,205] let s:lib.Codec.encoding_table["38726"] = [248,206] let s:lib.Codec.encoding_table["38723"] = [248,207] let s:lib.Codec.encoding_table["38727"] = [248,208] let s:lib.Codec.encoding_table["38855"] = [248,209] let s:lib.Codec.encoding_table["38885"] = [248,210] let s:lib.Codec.encoding_table["39518"] = [248,211] let s:lib.Codec.encoding_table["39637"] = [248,212] let s:lib.Codec.encoding_table["39769"] = [248,213] let s:lib.Codec.encoding_table["40035"] = [248,214] let s:lib.Codec.encoding_table["40039"] = [248,215] let s:lib.Codec.encoding_table["40038"] = [248,216] let s:lib.Codec.encoding_table["40034"] = [248,217] let s:lib.Codec.encoding_table["40030"] = [248,218] let s:lib.Codec.encoding_table["40032"] = [248,219] let s:lib.Codec.encoding_table["40450"] = [248,220] let s:lib.Codec.encoding_table["40446"] = [248,221] let s:lib.Codec.encoding_table["40455"] = [248,222] let s:lib.Codec.encoding_table["40451"] = [248,223] let s:lib.Codec.encoding_table["40454"] = [248,224] let s:lib.Codec.encoding_table["40453"] = [248,225] let s:lib.Codec.encoding_table["40448"] = [248,226] let s:lib.Codec.encoding_table["40449"] = [248,227] let s:lib.Codec.encoding_table["40457"] = [248,228] let s:lib.Codec.encoding_table["40447"] = [248,229] let s:lib.Codec.encoding_table["40445"] = [248,230] let s:lib.Codec.encoding_table["40452"] = [248,231] let s:lib.Codec.encoding_table["40608"] = [248,232] let s:lib.Codec.encoding_table["40734"] = [248,233] let s:lib.Codec.encoding_table["40774"] = [248,234] let s:lib.Codec.encoding_table["40820"] = [248,235] let s:lib.Codec.encoding_table["40821"] = [248,236] let s:lib.Codec.encoding_table["40822"] = [248,237] let s:lib.Codec.encoding_table["22228"] = [248,238] let s:lib.Codec.encoding_table["25902"] = [248,239] let s:lib.Codec.encoding_table["26040"] = [248,240] let s:lib.Codec.encoding_table["27416"] = [248,241] let s:lib.Codec.encoding_table["27417"] = [248,242] let s:lib.Codec.encoding_table["27415"] = [248,243] let s:lib.Codec.encoding_table["27418"] = [248,244] let s:lib.Codec.encoding_table["28770"] = [248,245] let s:lib.Codec.encoding_table["29222"] = [248,246] let s:lib.Codec.encoding_table["29354"] = [248,247] let s:lib.Codec.encoding_table["30680"] = [248,248] let s:lib.Codec.encoding_table["30681"] = [248,249] let s:lib.Codec.encoding_table["31033"] = [248,250] let s:lib.Codec.encoding_table["31849"] = [248,251] let s:lib.Codec.encoding_table["31851"] = [248,252] let s:lib.Codec.encoding_table["31990"] = [248,253] let s:lib.Codec.encoding_table["32410"] = [248,254] let s:lib.Codec.encoding_table["32408"] = [249,64] let s:lib.Codec.encoding_table["32411"] = [249,65] let s:lib.Codec.encoding_table["32409"] = [249,66] let s:lib.Codec.encoding_table["33248"] = [249,67] let s:lib.Codec.encoding_table["33249"] = [249,68] let s:lib.Codec.encoding_table["34374"] = [249,69] let s:lib.Codec.encoding_table["34375"] = [249,70] let s:lib.Codec.encoding_table["34376"] = [249,71] let s:lib.Codec.encoding_table["35193"] = [249,72] let s:lib.Codec.encoding_table["35194"] = [249,73] let s:lib.Codec.encoding_table["35196"] = [249,74] let s:lib.Codec.encoding_table["35195"] = [249,75] let s:lib.Codec.encoding_table["35327"] = [249,76] let s:lib.Codec.encoding_table["35736"] = [249,77] let s:lib.Codec.encoding_table["35737"] = [249,78] let s:lib.Codec.encoding_table["36517"] = [249,79] let s:lib.Codec.encoding_table["36516"] = [249,80] let s:lib.Codec.encoding_table["36515"] = [249,81] let s:lib.Codec.encoding_table["37998"] = [249,82] let s:lib.Codec.encoding_table["37997"] = [249,83] let s:lib.Codec.encoding_table["37999"] = [249,84] let s:lib.Codec.encoding_table["38001"] = [249,85] let s:lib.Codec.encoding_table["38003"] = [249,86] let s:lib.Codec.encoding_table["38729"] = [249,87] let s:lib.Codec.encoding_table["39026"] = [249,88] let s:lib.Codec.encoding_table["39263"] = [249,89] let s:lib.Codec.encoding_table["40040"] = [249,90] let s:lib.Codec.encoding_table["40046"] = [249,91] let s:lib.Codec.encoding_table["40045"] = [249,92] let s:lib.Codec.encoding_table["40459"] = [249,93] let s:lib.Codec.encoding_table["40461"] = [249,94] let s:lib.Codec.encoding_table["40464"] = [249,95] let s:lib.Codec.encoding_table["40463"] = [249,96] let s:lib.Codec.encoding_table["40466"] = [249,97] let s:lib.Codec.encoding_table["40465"] = [249,98] let s:lib.Codec.encoding_table["40609"] = [249,99] let s:lib.Codec.encoding_table["40693"] = [249,100] let s:lib.Codec.encoding_table["40713"] = [249,101] let s:lib.Codec.encoding_table["40775"] = [249,102] let s:lib.Codec.encoding_table["40824"] = [249,103] let s:lib.Codec.encoding_table["40827"] = [249,104] let s:lib.Codec.encoding_table["40826"] = [249,105] let s:lib.Codec.encoding_table["40825"] = [249,106] let s:lib.Codec.encoding_table["22302"] = [249,107] let s:lib.Codec.encoding_table["28774"] = [249,108] let s:lib.Codec.encoding_table["31855"] = [249,109] let s:lib.Codec.encoding_table["34876"] = [249,110] let s:lib.Codec.encoding_table["36274"] = [249,111] let s:lib.Codec.encoding_table["36518"] = [249,112] let s:lib.Codec.encoding_table["37315"] = [249,113] let s:lib.Codec.encoding_table["38004"] = [249,114] let s:lib.Codec.encoding_table["38008"] = [249,115] let s:lib.Codec.encoding_table["38006"] = [249,116] let s:lib.Codec.encoding_table["38005"] = [249,117] let s:lib.Codec.encoding_table["39520"] = [249,118] let s:lib.Codec.encoding_table["40052"] = [249,119] let s:lib.Codec.encoding_table["40051"] = [249,120] let s:lib.Codec.encoding_table["40049"] = [249,121] let s:lib.Codec.encoding_table["40053"] = [249,122] let s:lib.Codec.encoding_table["40468"] = [249,123] let s:lib.Codec.encoding_table["40467"] = [249,124] let s:lib.Codec.encoding_table["40694"] = [249,125] let s:lib.Codec.encoding_table["40714"] = [249,126] let s:lib.Codec.encoding_table["40868"] = [249,161] let s:lib.Codec.encoding_table["28776"] = [249,162] let s:lib.Codec.encoding_table["28773"] = [249,163] let s:lib.Codec.encoding_table["31991"] = [249,164] let s:lib.Codec.encoding_table["34410"] = [249,165] let s:lib.Codec.encoding_table["34878"] = [249,166] let s:lib.Codec.encoding_table["34877"] = [249,167] let s:lib.Codec.encoding_table["34879"] = [249,168] let s:lib.Codec.encoding_table["35742"] = [249,169] let s:lib.Codec.encoding_table["35996"] = [249,170] let s:lib.Codec.encoding_table["36521"] = [249,171] let s:lib.Codec.encoding_table["36553"] = [249,172] let s:lib.Codec.encoding_table["38731"] = [249,173] let s:lib.Codec.encoding_table["39027"] = [249,174] let s:lib.Codec.encoding_table["39028"] = [249,175] let s:lib.Codec.encoding_table["39116"] = [249,176] let s:lib.Codec.encoding_table["39265"] = [249,177] let s:lib.Codec.encoding_table["39339"] = [249,178] let s:lib.Codec.encoding_table["39524"] = [249,179] let s:lib.Codec.encoding_table["39526"] = [249,180] let s:lib.Codec.encoding_table["39527"] = [249,181] let s:lib.Codec.encoding_table["39716"] = [249,182] let s:lib.Codec.encoding_table["40469"] = [249,183] let s:lib.Codec.encoding_table["40471"] = [249,184] let s:lib.Codec.encoding_table["40776"] = [249,185] let s:lib.Codec.encoding_table["25095"] = [249,186] let s:lib.Codec.encoding_table["27422"] = [249,187] let s:lib.Codec.encoding_table["29223"] = [249,188] let s:lib.Codec.encoding_table["34380"] = [249,189] let s:lib.Codec.encoding_table["36520"] = [249,190] let s:lib.Codec.encoding_table["38018"] = [249,191] let s:lib.Codec.encoding_table["38016"] = [249,192] let s:lib.Codec.encoding_table["38017"] = [249,193] let s:lib.Codec.encoding_table["39529"] = [249,194] let s:lib.Codec.encoding_table["39528"] = [249,195] let s:lib.Codec.encoding_table["39726"] = [249,196] let s:lib.Codec.encoding_table["40473"] = [249,197] let s:lib.Codec.encoding_table["29225"] = [249,198] let s:lib.Codec.encoding_table["34379"] = [249,199] let s:lib.Codec.encoding_table["35743"] = [249,200] let s:lib.Codec.encoding_table["38019"] = [249,201] let s:lib.Codec.encoding_table["40057"] = [249,202] let s:lib.Codec.encoding_table["40631"] = [249,203] let s:lib.Codec.encoding_table["30325"] = [249,204] let s:lib.Codec.encoding_table["39531"] = [249,205] let s:lib.Codec.encoding_table["40058"] = [249,206] let s:lib.Codec.encoding_table["40477"] = [249,207] let s:lib.Codec.encoding_table["28777"] = [249,208] let s:lib.Codec.encoding_table["28778"] = [249,209] let s:lib.Codec.encoding_table["40612"] = [249,210] let s:lib.Codec.encoding_table["40830"] = [249,211] let s:lib.Codec.encoding_table["40777"] = [249,212] let s:lib.Codec.encoding_table["40856"] = [249,213] let s:lib.Codec.encoding_table["30849"] = [249,214] let s:lib.Codec.encoding_table["37561"] = [249,215] let s:lib.Codec.encoding_table["35023"] = [249,216] let s:lib.Codec.encoding_table["22715"] = [249,217] let s:lib.Codec.encoding_table["24658"] = [249,218] let s:lib.Codec.encoding_table["31911"] = [249,219] let s:lib.Codec.encoding_table["23290"] = [249,220] let s:lib.Codec.encoding_table["9556"] = [249,221] let s:lib.Codec.encoding_table["9574"] = [249,222] let s:lib.Codec.encoding_table["9559"] = [249,223] let s:lib.Codec.encoding_table["9568"] = [249,224] let s:lib.Codec.encoding_table["9580"] = [249,225] let s:lib.Codec.encoding_table["9571"] = [249,226] let s:lib.Codec.encoding_table["9562"] = [249,227] let s:lib.Codec.encoding_table["9577"] = [249,228] let s:lib.Codec.encoding_table["9565"] = [249,229] let s:lib.Codec.encoding_table["9554"] = [249,230] let s:lib.Codec.encoding_table["9572"] = [249,231] let s:lib.Codec.encoding_table["9557"] = [249,232] let s:lib.Codec.encoding_table["9560"] = [249,236] let s:lib.Codec.encoding_table["9575"] = [249,237] let s:lib.Codec.encoding_table["9563"] = [249,238] let s:lib.Codec.encoding_table["9555"] = [249,239] let s:lib.Codec.encoding_table["9573"] = [249,240] let s:lib.Codec.encoding_table["9558"] = [249,241] let s:lib.Codec.encoding_table["9567"] = [249,242] let s:lib.Codec.encoding_table["9579"] = [249,243] let s:lib.Codec.encoding_table["9570"] = [249,244] let s:lib.Codec.encoding_table["9561"] = [249,245] let s:lib.Codec.encoding_table["9576"] = [249,246] let s:lib.Codec.encoding_table["9564"] = [249,247] let s:lib.Codec.encoding_table["9553"] = [249,248] let s:lib.Codec.encoding_table["9619"] = [249,254] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/_euc_jp.vim ================================================ function! SpaceVim#api#iconv#codecs#_euc_jp#import() abort return s:lib endfunction let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:lib = {} let s:lib.Codec = {} call extend(s:lib.Codec, s:tablebase.Codec) let s:lib.Codec.encoding = 'EUC_JP' let s:lib.Codec.decoding_table_maxlen = 3 let s:lib.Codec.encoding_table_maxlen = 1 let s:lib.Codec.decoding_table = {} let s:lib.Codec.decoding_table['0'] = [0] let s:lib.Codec.decoding_table['1'] = [1] let s:lib.Codec.decoding_table['2'] = [2] let s:lib.Codec.decoding_table['3'] = [3] let s:lib.Codec.decoding_table['4'] = [4] let s:lib.Codec.decoding_table['5'] = [5] let s:lib.Codec.decoding_table['6'] = [6] let s:lib.Codec.decoding_table['7'] = [7] let s:lib.Codec.decoding_table['8'] = [8] let s:lib.Codec.decoding_table['9'] = [9] let s:lib.Codec.decoding_table['10'] = [10] let s:lib.Codec.decoding_table['11'] = [11] let s:lib.Codec.decoding_table['12'] = [12] let s:lib.Codec.decoding_table['13'] = [13] let s:lib.Codec.decoding_table['14'] = [14] let s:lib.Codec.decoding_table['15'] = [15] let s:lib.Codec.decoding_table['16'] = [16] let s:lib.Codec.decoding_table['17'] = [17] let s:lib.Codec.decoding_table['18'] = [18] let s:lib.Codec.decoding_table['19'] = [19] let s:lib.Codec.decoding_table['20'] = [20] let s:lib.Codec.decoding_table['21'] = [21] let s:lib.Codec.decoding_table['22'] = [22] let s:lib.Codec.decoding_table['23'] = [23] let s:lib.Codec.decoding_table['24'] = [24] let s:lib.Codec.decoding_table['25'] = [25] let s:lib.Codec.decoding_table['26'] = [26] let s:lib.Codec.decoding_table['27'] = [27] let s:lib.Codec.decoding_table['28'] = [28] let s:lib.Codec.decoding_table['29'] = [29] let s:lib.Codec.decoding_table['30'] = [30] let s:lib.Codec.decoding_table['31'] = [31] let s:lib.Codec.decoding_table['32'] = [32] let s:lib.Codec.decoding_table['33'] = [33] let s:lib.Codec.decoding_table['34'] = [34] let s:lib.Codec.decoding_table['35'] = [35] let s:lib.Codec.decoding_table['36'] = [36] let s:lib.Codec.decoding_table['37'] = [37] let s:lib.Codec.decoding_table['38'] = [38] let s:lib.Codec.decoding_table['39'] = [39] let s:lib.Codec.decoding_table['40'] = [40] let s:lib.Codec.decoding_table['41'] = [41] let s:lib.Codec.decoding_table['42'] = [42] let s:lib.Codec.decoding_table['43'] = [43] let s:lib.Codec.decoding_table['44'] = [44] let s:lib.Codec.decoding_table['45'] = [45] let s:lib.Codec.decoding_table['46'] = [46] let s:lib.Codec.decoding_table['47'] = [47] let s:lib.Codec.decoding_table['48'] = [48] let s:lib.Codec.decoding_table['49'] = [49] let s:lib.Codec.decoding_table['50'] = [50] let s:lib.Codec.decoding_table['51'] = [51] let s:lib.Codec.decoding_table['52'] = [52] let s:lib.Codec.decoding_table['53'] = [53] let s:lib.Codec.decoding_table['54'] = [54] let s:lib.Codec.decoding_table['55'] = [55] let s:lib.Codec.decoding_table['56'] = [56] let s:lib.Codec.decoding_table['57'] = [57] let s:lib.Codec.decoding_table['58'] = [58] let s:lib.Codec.decoding_table['59'] = [59] let s:lib.Codec.decoding_table['60'] = [60] let s:lib.Codec.decoding_table['61'] = [61] let s:lib.Codec.decoding_table['62'] = [62] let s:lib.Codec.decoding_table['63'] = [63] let s:lib.Codec.decoding_table['64'] = [64] let s:lib.Codec.decoding_table['65'] = [65] let s:lib.Codec.decoding_table['66'] = [66] let s:lib.Codec.decoding_table['67'] = [67] let s:lib.Codec.decoding_table['68'] = [68] let s:lib.Codec.decoding_table['69'] = [69] let s:lib.Codec.decoding_table['70'] = [70] let s:lib.Codec.decoding_table['71'] = [71] let s:lib.Codec.decoding_table['72'] = [72] let s:lib.Codec.decoding_table['73'] = [73] let s:lib.Codec.decoding_table['74'] = [74] let s:lib.Codec.decoding_table['75'] = [75] let s:lib.Codec.decoding_table['76'] = [76] let s:lib.Codec.decoding_table['77'] = [77] let s:lib.Codec.decoding_table['78'] = [78] let s:lib.Codec.decoding_table['79'] = [79] let s:lib.Codec.decoding_table['80'] = [80] let s:lib.Codec.decoding_table['81'] = [81] let s:lib.Codec.decoding_table['82'] = [82] let s:lib.Codec.decoding_table['83'] = [83] let s:lib.Codec.decoding_table['84'] = [84] let s:lib.Codec.decoding_table['85'] = [85] let s:lib.Codec.decoding_table['86'] = [86] let s:lib.Codec.decoding_table['87'] = [87] let s:lib.Codec.decoding_table['88'] = [88] let s:lib.Codec.decoding_table['89'] = [89] let s:lib.Codec.decoding_table['90'] = [90] let s:lib.Codec.decoding_table['91'] = [91] let s:lib.Codec.decoding_table['92'] = [92] let s:lib.Codec.decoding_table['93'] = [93] let s:lib.Codec.decoding_table['94'] = [94] let s:lib.Codec.decoding_table['95'] = [95] let s:lib.Codec.decoding_table['96'] = [96] let s:lib.Codec.decoding_table['97'] = [97] let s:lib.Codec.decoding_table['98'] = [98] let s:lib.Codec.decoding_table['99'] = [99] let s:lib.Codec.decoding_table['100'] = [100] let s:lib.Codec.decoding_table['101'] = [101] let s:lib.Codec.decoding_table['102'] = [102] let s:lib.Codec.decoding_table['103'] = [103] let s:lib.Codec.decoding_table['104'] = [104] let s:lib.Codec.decoding_table['105'] = [105] let s:lib.Codec.decoding_table['106'] = [106] let s:lib.Codec.decoding_table['107'] = [107] let s:lib.Codec.decoding_table['108'] = [108] let s:lib.Codec.decoding_table['109'] = [109] let s:lib.Codec.decoding_table['110'] = [110] let s:lib.Codec.decoding_table['111'] = [111] let s:lib.Codec.decoding_table['112'] = [112] let s:lib.Codec.decoding_table['113'] = [113] let s:lib.Codec.decoding_table['114'] = [114] let s:lib.Codec.decoding_table['115'] = [115] let s:lib.Codec.decoding_table['116'] = [116] let s:lib.Codec.decoding_table['117'] = [117] let s:lib.Codec.decoding_table['118'] = [118] let s:lib.Codec.decoding_table['119'] = [119] let s:lib.Codec.decoding_table['120'] = [120] let s:lib.Codec.decoding_table['121'] = [121] let s:lib.Codec.decoding_table['122'] = [122] let s:lib.Codec.decoding_table['123'] = [123] let s:lib.Codec.decoding_table['124'] = [124] let s:lib.Codec.decoding_table['125'] = [125] let s:lib.Codec.decoding_table['126'] = [126] let s:lib.Codec.decoding_table['127'] = [127] let s:lib.Codec.decoding_table['142,161'] = [65377] let s:lib.Codec.decoding_table['142,162'] = [65378] let s:lib.Codec.decoding_table['142,163'] = [65379] let s:lib.Codec.decoding_table['142,164'] = [65380] let s:lib.Codec.decoding_table['142,165'] = [65381] let s:lib.Codec.decoding_table['142,166'] = [65382] let s:lib.Codec.decoding_table['142,167'] = [65383] let s:lib.Codec.decoding_table['142,168'] = [65384] let s:lib.Codec.decoding_table['142,169'] = [65385] let s:lib.Codec.decoding_table['142,170'] = [65386] let s:lib.Codec.decoding_table['142,171'] = [65387] let s:lib.Codec.decoding_table['142,172'] = [65388] let s:lib.Codec.decoding_table['142,173'] = [65389] let s:lib.Codec.decoding_table['142,174'] = [65390] let s:lib.Codec.decoding_table['142,175'] = [65391] let s:lib.Codec.decoding_table['142,176'] = [65392] let s:lib.Codec.decoding_table['142,177'] = [65393] let s:lib.Codec.decoding_table['142,178'] = [65394] let s:lib.Codec.decoding_table['142,179'] = [65395] let s:lib.Codec.decoding_table['142,180'] = [65396] let s:lib.Codec.decoding_table['142,181'] = [65397] let s:lib.Codec.decoding_table['142,182'] = [65398] let s:lib.Codec.decoding_table['142,183'] = [65399] let s:lib.Codec.decoding_table['142,184'] = [65400] let s:lib.Codec.decoding_table['142,185'] = [65401] let s:lib.Codec.decoding_table['142,186'] = [65402] let s:lib.Codec.decoding_table['142,187'] = [65403] let s:lib.Codec.decoding_table['142,188'] = [65404] let s:lib.Codec.decoding_table['142,189'] = [65405] let s:lib.Codec.decoding_table['142,190'] = [65406] let s:lib.Codec.decoding_table['142,191'] = [65407] let s:lib.Codec.decoding_table['142,192'] = [65408] let s:lib.Codec.decoding_table['142,193'] = [65409] let s:lib.Codec.decoding_table['142,194'] = [65410] let s:lib.Codec.decoding_table['142,195'] = [65411] let s:lib.Codec.decoding_table['142,196'] = [65412] let s:lib.Codec.decoding_table['142,197'] = [65413] let s:lib.Codec.decoding_table['142,198'] = [65414] let s:lib.Codec.decoding_table['142,199'] = [65415] let s:lib.Codec.decoding_table['142,200'] = [65416] let s:lib.Codec.decoding_table['142,201'] = [65417] let s:lib.Codec.decoding_table['142,202'] = [65418] let s:lib.Codec.decoding_table['142,203'] = [65419] let s:lib.Codec.decoding_table['142,204'] = [65420] let s:lib.Codec.decoding_table['142,205'] = [65421] let s:lib.Codec.decoding_table['142,206'] = [65422] let s:lib.Codec.decoding_table['142,207'] = [65423] let s:lib.Codec.decoding_table['142,208'] = [65424] let s:lib.Codec.decoding_table['142,209'] = [65425] let s:lib.Codec.decoding_table['142,210'] = [65426] let s:lib.Codec.decoding_table['142,211'] = [65427] let s:lib.Codec.decoding_table['142,212'] = [65428] let s:lib.Codec.decoding_table['142,213'] = [65429] let s:lib.Codec.decoding_table['142,214'] = [65430] let s:lib.Codec.decoding_table['142,215'] = [65431] let s:lib.Codec.decoding_table['142,216'] = [65432] let s:lib.Codec.decoding_table['142,217'] = [65433] let s:lib.Codec.decoding_table['142,218'] = [65434] let s:lib.Codec.decoding_table['142,219'] = [65435] let s:lib.Codec.decoding_table['142,220'] = [65436] let s:lib.Codec.decoding_table['142,221'] = [65437] let s:lib.Codec.decoding_table['142,222'] = [65438] let s:lib.Codec.decoding_table['142,223'] = [65439] let s:lib.Codec.decoding_table['161,161'] = [12288] let s:lib.Codec.decoding_table['161,162'] = [12289] let s:lib.Codec.decoding_table['161,163'] = [12290] let s:lib.Codec.decoding_table['161,164'] = [65292] let s:lib.Codec.decoding_table['161,165'] = [65294] let s:lib.Codec.decoding_table['161,166'] = [12539] let s:lib.Codec.decoding_table['161,167'] = [65306] let s:lib.Codec.decoding_table['161,168'] = [65307] let s:lib.Codec.decoding_table['161,169'] = [65311] let s:lib.Codec.decoding_table['161,170'] = [65281] let s:lib.Codec.decoding_table['161,171'] = [12443] let s:lib.Codec.decoding_table['161,172'] = [12444] let s:lib.Codec.decoding_table['161,173'] = [180] let s:lib.Codec.decoding_table['161,174'] = [65344] let s:lib.Codec.decoding_table['161,175'] = [168] let s:lib.Codec.decoding_table['161,176'] = [65342] let s:lib.Codec.decoding_table['161,177'] = [65507] let s:lib.Codec.decoding_table['161,178'] = [65343] let s:lib.Codec.decoding_table['161,179'] = [12541] let s:lib.Codec.decoding_table['161,180'] = [12542] let s:lib.Codec.decoding_table['161,181'] = [12445] let s:lib.Codec.decoding_table['161,182'] = [12446] let s:lib.Codec.decoding_table['161,183'] = [12291] let s:lib.Codec.decoding_table['161,184'] = [20189] let s:lib.Codec.decoding_table['161,185'] = [12293] let s:lib.Codec.decoding_table['161,186'] = [12294] let s:lib.Codec.decoding_table['161,187'] = [12295] let s:lib.Codec.decoding_table['161,188'] = [12540] let s:lib.Codec.decoding_table['161,189'] = [8213] let s:lib.Codec.decoding_table['161,190'] = [8208] let s:lib.Codec.decoding_table['161,191'] = [65295] let s:lib.Codec.decoding_table['161,192'] = [92] let s:lib.Codec.decoding_table['161,193'] = [12316] let s:lib.Codec.decoding_table['161,194'] = [8214] let s:lib.Codec.decoding_table['161,195'] = [65372] let s:lib.Codec.decoding_table['161,196'] = [8230] let s:lib.Codec.decoding_table['161,197'] = [8229] let s:lib.Codec.decoding_table['161,198'] = [8216] let s:lib.Codec.decoding_table['161,199'] = [8217] let s:lib.Codec.decoding_table['161,200'] = [8220] let s:lib.Codec.decoding_table['161,201'] = [8221] let s:lib.Codec.decoding_table['161,202'] = [65288] let s:lib.Codec.decoding_table['161,203'] = [65289] let s:lib.Codec.decoding_table['161,204'] = [12308] let s:lib.Codec.decoding_table['161,205'] = [12309] let s:lib.Codec.decoding_table['161,206'] = [65339] let s:lib.Codec.decoding_table['161,207'] = [65341] let s:lib.Codec.decoding_table['161,208'] = [65371] let s:lib.Codec.decoding_table['161,209'] = [65373] let s:lib.Codec.decoding_table['161,210'] = [12296] let s:lib.Codec.decoding_table['161,211'] = [12297] let s:lib.Codec.decoding_table['161,212'] = [12298] let s:lib.Codec.decoding_table['161,213'] = [12299] let s:lib.Codec.decoding_table['161,214'] = [12300] let s:lib.Codec.decoding_table['161,215'] = [12301] let s:lib.Codec.decoding_table['161,216'] = [12302] let s:lib.Codec.decoding_table['161,217'] = [12303] let s:lib.Codec.decoding_table['161,218'] = [12304] let s:lib.Codec.decoding_table['161,219'] = [12305] let s:lib.Codec.decoding_table['161,220'] = [65291] let s:lib.Codec.decoding_table['161,221'] = [8722] let s:lib.Codec.decoding_table['161,222'] = [177] let s:lib.Codec.decoding_table['161,223'] = [215] let s:lib.Codec.decoding_table['161,224'] = [247] let s:lib.Codec.decoding_table['161,225'] = [65309] let s:lib.Codec.decoding_table['161,226'] = [8800] let s:lib.Codec.decoding_table['161,227'] = [65308] let s:lib.Codec.decoding_table['161,228'] = [65310] let s:lib.Codec.decoding_table['161,229'] = [8806] let s:lib.Codec.decoding_table['161,230'] = [8807] let s:lib.Codec.decoding_table['161,231'] = [8734] let s:lib.Codec.decoding_table['161,232'] = [8756] let s:lib.Codec.decoding_table['161,233'] = [9794] let s:lib.Codec.decoding_table['161,234'] = [9792] let s:lib.Codec.decoding_table['161,235'] = [176] let s:lib.Codec.decoding_table['161,236'] = [8242] let s:lib.Codec.decoding_table['161,237'] = [8243] let s:lib.Codec.decoding_table['161,238'] = [8451] let s:lib.Codec.decoding_table['161,239'] = [65509] let s:lib.Codec.decoding_table['161,240'] = [65284] let s:lib.Codec.decoding_table['161,241'] = [162] let s:lib.Codec.decoding_table['161,242'] = [163] let s:lib.Codec.decoding_table['161,243'] = [65285] let s:lib.Codec.decoding_table['161,244'] = [65283] let s:lib.Codec.decoding_table['161,245'] = [65286] let s:lib.Codec.decoding_table['161,246'] = [65290] let s:lib.Codec.decoding_table['161,247'] = [65312] let s:lib.Codec.decoding_table['161,248'] = [167] let s:lib.Codec.decoding_table['161,249'] = [9734] let s:lib.Codec.decoding_table['161,250'] = [9733] let s:lib.Codec.decoding_table['161,251'] = [9675] let s:lib.Codec.decoding_table['161,252'] = [9679] let s:lib.Codec.decoding_table['161,253'] = [9678] let s:lib.Codec.decoding_table['161,254'] = [9671] let s:lib.Codec.decoding_table['162,161'] = [9670] let s:lib.Codec.decoding_table['162,162'] = [9633] let s:lib.Codec.decoding_table['162,163'] = [9632] let s:lib.Codec.decoding_table['162,164'] = [9651] let s:lib.Codec.decoding_table['162,165'] = [9650] let s:lib.Codec.decoding_table['162,166'] = [9661] let s:lib.Codec.decoding_table['162,167'] = [9660] let s:lib.Codec.decoding_table['162,168'] = [8251] let s:lib.Codec.decoding_table['162,169'] = [12306] let s:lib.Codec.decoding_table['162,170'] = [8594] let s:lib.Codec.decoding_table['162,171'] = [8592] let s:lib.Codec.decoding_table['162,172'] = [8593] let s:lib.Codec.decoding_table['162,173'] = [8595] let s:lib.Codec.decoding_table['162,174'] = [12307] let s:lib.Codec.decoding_table['162,186'] = [8712] let s:lib.Codec.decoding_table['162,187'] = [8715] let s:lib.Codec.decoding_table['162,188'] = [8838] let s:lib.Codec.decoding_table['162,189'] = [8839] let s:lib.Codec.decoding_table['162,190'] = [8834] let s:lib.Codec.decoding_table['162,191'] = [8835] let s:lib.Codec.decoding_table['162,192'] = [8746] let s:lib.Codec.decoding_table['162,193'] = [8745] let s:lib.Codec.decoding_table['162,202'] = [8743] let s:lib.Codec.decoding_table['162,203'] = [8744] let s:lib.Codec.decoding_table['162,204'] = [172] let s:lib.Codec.decoding_table['162,205'] = [8658] let s:lib.Codec.decoding_table['162,206'] = [8660] let s:lib.Codec.decoding_table['162,207'] = [8704] let s:lib.Codec.decoding_table['162,208'] = [8707] let s:lib.Codec.decoding_table['162,220'] = [8736] let s:lib.Codec.decoding_table['162,221'] = [8869] let s:lib.Codec.decoding_table['162,222'] = [8978] let s:lib.Codec.decoding_table['162,223'] = [8706] let s:lib.Codec.decoding_table['162,224'] = [8711] let s:lib.Codec.decoding_table['162,225'] = [8801] let s:lib.Codec.decoding_table['162,226'] = [8786] let s:lib.Codec.decoding_table['162,227'] = [8810] let s:lib.Codec.decoding_table['162,228'] = [8811] let s:lib.Codec.decoding_table['162,229'] = [8730] let s:lib.Codec.decoding_table['162,230'] = [8765] let s:lib.Codec.decoding_table['162,231'] = [8733] let s:lib.Codec.decoding_table['162,232'] = [8757] let s:lib.Codec.decoding_table['162,233'] = [8747] let s:lib.Codec.decoding_table['162,234'] = [8748] let s:lib.Codec.decoding_table['162,242'] = [8491] let s:lib.Codec.decoding_table['162,243'] = [8240] let s:lib.Codec.decoding_table['162,244'] = [9839] let s:lib.Codec.decoding_table['162,245'] = [9837] let s:lib.Codec.decoding_table['162,246'] = [9834] let s:lib.Codec.decoding_table['162,247'] = [8224] let s:lib.Codec.decoding_table['162,248'] = [8225] let s:lib.Codec.decoding_table['162,249'] = [182] let s:lib.Codec.decoding_table['162,254'] = [9711] let s:lib.Codec.decoding_table['163,176'] = [65296] let s:lib.Codec.decoding_table['163,177'] = [65297] let s:lib.Codec.decoding_table['163,178'] = [65298] let s:lib.Codec.decoding_table['163,179'] = [65299] let s:lib.Codec.decoding_table['163,180'] = [65300] let s:lib.Codec.decoding_table['163,181'] = [65301] let s:lib.Codec.decoding_table['163,182'] = [65302] let s:lib.Codec.decoding_table['163,183'] = [65303] let s:lib.Codec.decoding_table['163,184'] = [65304] let s:lib.Codec.decoding_table['163,185'] = [65305] let s:lib.Codec.decoding_table['163,193'] = [65313] let s:lib.Codec.decoding_table['163,194'] = [65314] let s:lib.Codec.decoding_table['163,195'] = [65315] let s:lib.Codec.decoding_table['163,196'] = [65316] let s:lib.Codec.decoding_table['163,197'] = [65317] let s:lib.Codec.decoding_table['163,198'] = [65318] let s:lib.Codec.decoding_table['163,199'] = [65319] let s:lib.Codec.decoding_table['163,200'] = [65320] let s:lib.Codec.decoding_table['163,201'] = [65321] let s:lib.Codec.decoding_table['163,202'] = [65322] let s:lib.Codec.decoding_table['163,203'] = [65323] let s:lib.Codec.decoding_table['163,204'] = [65324] let s:lib.Codec.decoding_table['163,205'] = [65325] let s:lib.Codec.decoding_table['163,206'] = [65326] let s:lib.Codec.decoding_table['163,207'] = [65327] let s:lib.Codec.decoding_table['163,208'] = [65328] let s:lib.Codec.decoding_table['163,209'] = [65329] let s:lib.Codec.decoding_table['163,210'] = [65330] let s:lib.Codec.decoding_table['163,211'] = [65331] let s:lib.Codec.decoding_table['163,212'] = [65332] let s:lib.Codec.decoding_table['163,213'] = [65333] let s:lib.Codec.decoding_table['163,214'] = [65334] let s:lib.Codec.decoding_table['163,215'] = [65335] let s:lib.Codec.decoding_table['163,216'] = [65336] let s:lib.Codec.decoding_table['163,217'] = [65337] let s:lib.Codec.decoding_table['163,218'] = [65338] let s:lib.Codec.decoding_table['163,225'] = [65345] let s:lib.Codec.decoding_table['163,226'] = [65346] let s:lib.Codec.decoding_table['163,227'] = [65347] let s:lib.Codec.decoding_table['163,228'] = [65348] let s:lib.Codec.decoding_table['163,229'] = [65349] let s:lib.Codec.decoding_table['163,230'] = [65350] let s:lib.Codec.decoding_table['163,231'] = [65351] let s:lib.Codec.decoding_table['163,232'] = [65352] let s:lib.Codec.decoding_table['163,233'] = [65353] let s:lib.Codec.decoding_table['163,234'] = [65354] let s:lib.Codec.decoding_table['163,235'] = [65355] let s:lib.Codec.decoding_table['163,236'] = [65356] let s:lib.Codec.decoding_table['163,237'] = [65357] let s:lib.Codec.decoding_table['163,238'] = [65358] let s:lib.Codec.decoding_table['163,239'] = [65359] let s:lib.Codec.decoding_table['163,240'] = [65360] let s:lib.Codec.decoding_table['163,241'] = [65361] let s:lib.Codec.decoding_table['163,242'] = [65362] let s:lib.Codec.decoding_table['163,243'] = [65363] let s:lib.Codec.decoding_table['163,244'] = [65364] let s:lib.Codec.decoding_table['163,245'] = [65365] let s:lib.Codec.decoding_table['163,246'] = [65366] let s:lib.Codec.decoding_table['163,247'] = [65367] let s:lib.Codec.decoding_table['163,248'] = [65368] let s:lib.Codec.decoding_table['163,249'] = [65369] let s:lib.Codec.decoding_table['163,250'] = [65370] let s:lib.Codec.decoding_table['164,161'] = [12353] let s:lib.Codec.decoding_table['164,162'] = [12354] let s:lib.Codec.decoding_table['164,163'] = [12355] let s:lib.Codec.decoding_table['164,164'] = [12356] let s:lib.Codec.decoding_table['164,165'] = [12357] let s:lib.Codec.decoding_table['164,166'] = [12358] let s:lib.Codec.decoding_table['164,167'] = [12359] let s:lib.Codec.decoding_table['164,168'] = [12360] let s:lib.Codec.decoding_table['164,169'] = [12361] let s:lib.Codec.decoding_table['164,170'] = [12362] let s:lib.Codec.decoding_table['164,171'] = [12363] let s:lib.Codec.decoding_table['164,172'] = [12364] let s:lib.Codec.decoding_table['164,173'] = [12365] let s:lib.Codec.decoding_table['164,174'] = [12366] let s:lib.Codec.decoding_table['164,175'] = [12367] let s:lib.Codec.decoding_table['164,176'] = [12368] let s:lib.Codec.decoding_table['164,177'] = [12369] let s:lib.Codec.decoding_table['164,178'] = [12370] let s:lib.Codec.decoding_table['164,179'] = [12371] let s:lib.Codec.decoding_table['164,180'] = [12372] let s:lib.Codec.decoding_table['164,181'] = [12373] let s:lib.Codec.decoding_table['164,182'] = [12374] let s:lib.Codec.decoding_table['164,183'] = [12375] let s:lib.Codec.decoding_table['164,184'] = [12376] let s:lib.Codec.decoding_table['164,185'] = [12377] let s:lib.Codec.decoding_table['164,186'] = [12378] let s:lib.Codec.decoding_table['164,187'] = [12379] let s:lib.Codec.decoding_table['164,188'] = [12380] let s:lib.Codec.decoding_table['164,189'] = [12381] let s:lib.Codec.decoding_table['164,190'] = [12382] let s:lib.Codec.decoding_table['164,191'] = [12383] let s:lib.Codec.decoding_table['164,192'] = [12384] let s:lib.Codec.decoding_table['164,193'] = [12385] let s:lib.Codec.decoding_table['164,194'] = [12386] let s:lib.Codec.decoding_table['164,195'] = [12387] let s:lib.Codec.decoding_table['164,196'] = [12388] let s:lib.Codec.decoding_table['164,197'] = [12389] let s:lib.Codec.decoding_table['164,198'] = [12390] let s:lib.Codec.decoding_table['164,199'] = [12391] let s:lib.Codec.decoding_table['164,200'] = [12392] let s:lib.Codec.decoding_table['164,201'] = [12393] let s:lib.Codec.decoding_table['164,202'] = [12394] let s:lib.Codec.decoding_table['164,203'] = [12395] let s:lib.Codec.decoding_table['164,204'] = [12396] let s:lib.Codec.decoding_table['164,205'] = [12397] let s:lib.Codec.decoding_table['164,206'] = [12398] let s:lib.Codec.decoding_table['164,207'] = [12399] let s:lib.Codec.decoding_table['164,208'] = [12400] let s:lib.Codec.decoding_table['164,209'] = [12401] let s:lib.Codec.decoding_table['164,210'] = [12402] let s:lib.Codec.decoding_table['164,211'] = [12403] let s:lib.Codec.decoding_table['164,212'] = [12404] let s:lib.Codec.decoding_table['164,213'] = [12405] let s:lib.Codec.decoding_table['164,214'] = [12406] let s:lib.Codec.decoding_table['164,215'] = [12407] let s:lib.Codec.decoding_table['164,216'] = [12408] let s:lib.Codec.decoding_table['164,217'] = [12409] let s:lib.Codec.decoding_table['164,218'] = [12410] let s:lib.Codec.decoding_table['164,219'] = [12411] let s:lib.Codec.decoding_table['164,220'] = [12412] let s:lib.Codec.decoding_table['164,221'] = [12413] let s:lib.Codec.decoding_table['164,222'] = [12414] let s:lib.Codec.decoding_table['164,223'] = [12415] let s:lib.Codec.decoding_table['164,224'] = [12416] let s:lib.Codec.decoding_table['164,225'] = [12417] let s:lib.Codec.decoding_table['164,226'] = [12418] let s:lib.Codec.decoding_table['164,227'] = [12419] let s:lib.Codec.decoding_table['164,228'] = [12420] let s:lib.Codec.decoding_table['164,229'] = [12421] let s:lib.Codec.decoding_table['164,230'] = [12422] let s:lib.Codec.decoding_table['164,231'] = [12423] let s:lib.Codec.decoding_table['164,232'] = [12424] let s:lib.Codec.decoding_table['164,233'] = [12425] let s:lib.Codec.decoding_table['164,234'] = [12426] let s:lib.Codec.decoding_table['164,235'] = [12427] let s:lib.Codec.decoding_table['164,236'] = [12428] let s:lib.Codec.decoding_table['164,237'] = [12429] let s:lib.Codec.decoding_table['164,238'] = [12430] let s:lib.Codec.decoding_table['164,239'] = [12431] let s:lib.Codec.decoding_table['164,240'] = [12432] let s:lib.Codec.decoding_table['164,241'] = [12433] let s:lib.Codec.decoding_table['164,242'] = [12434] let s:lib.Codec.decoding_table['164,243'] = [12435] let s:lib.Codec.decoding_table['165,161'] = [12449] let s:lib.Codec.decoding_table['165,162'] = [12450] let s:lib.Codec.decoding_table['165,163'] = [12451] let s:lib.Codec.decoding_table['165,164'] = [12452] let s:lib.Codec.decoding_table['165,165'] = [12453] let s:lib.Codec.decoding_table['165,166'] = [12454] let s:lib.Codec.decoding_table['165,167'] = [12455] let s:lib.Codec.decoding_table['165,168'] = [12456] let s:lib.Codec.decoding_table['165,169'] = [12457] let s:lib.Codec.decoding_table['165,170'] = [12458] let s:lib.Codec.decoding_table['165,171'] = [12459] let s:lib.Codec.decoding_table['165,172'] = [12460] let s:lib.Codec.decoding_table['165,173'] = [12461] let s:lib.Codec.decoding_table['165,174'] = [12462] let s:lib.Codec.decoding_table['165,175'] = [12463] let s:lib.Codec.decoding_table['165,176'] = [12464] let s:lib.Codec.decoding_table['165,177'] = [12465] let s:lib.Codec.decoding_table['165,178'] = [12466] let s:lib.Codec.decoding_table['165,179'] = [12467] let s:lib.Codec.decoding_table['165,180'] = [12468] let s:lib.Codec.decoding_table['165,181'] = [12469] let s:lib.Codec.decoding_table['165,182'] = [12470] let s:lib.Codec.decoding_table['165,183'] = [12471] let s:lib.Codec.decoding_table['165,184'] = [12472] let s:lib.Codec.decoding_table['165,185'] = [12473] let s:lib.Codec.decoding_table['165,186'] = [12474] let s:lib.Codec.decoding_table['165,187'] = [12475] let s:lib.Codec.decoding_table['165,188'] = [12476] let s:lib.Codec.decoding_table['165,189'] = [12477] let s:lib.Codec.decoding_table['165,190'] = [12478] let s:lib.Codec.decoding_table['165,191'] = [12479] let s:lib.Codec.decoding_table['165,192'] = [12480] let s:lib.Codec.decoding_table['165,193'] = [12481] let s:lib.Codec.decoding_table['165,194'] = [12482] let s:lib.Codec.decoding_table['165,195'] = [12483] let s:lib.Codec.decoding_table['165,196'] = [12484] let s:lib.Codec.decoding_table['165,197'] = [12485] let s:lib.Codec.decoding_table['165,198'] = [12486] let s:lib.Codec.decoding_table['165,199'] = [12487] let s:lib.Codec.decoding_table['165,200'] = [12488] let s:lib.Codec.decoding_table['165,201'] = [12489] let s:lib.Codec.decoding_table['165,202'] = [12490] let s:lib.Codec.decoding_table['165,203'] = [12491] let s:lib.Codec.decoding_table['165,204'] = [12492] let s:lib.Codec.decoding_table['165,205'] = [12493] let s:lib.Codec.decoding_table['165,206'] = [12494] let s:lib.Codec.decoding_table['165,207'] = [12495] let s:lib.Codec.decoding_table['165,208'] = [12496] let s:lib.Codec.decoding_table['165,209'] = [12497] let s:lib.Codec.decoding_table['165,210'] = [12498] let s:lib.Codec.decoding_table['165,211'] = [12499] let s:lib.Codec.decoding_table['165,212'] = [12500] let s:lib.Codec.decoding_table['165,213'] = [12501] let s:lib.Codec.decoding_table['165,214'] = [12502] let s:lib.Codec.decoding_table['165,215'] = [12503] let s:lib.Codec.decoding_table['165,216'] = [12504] let s:lib.Codec.decoding_table['165,217'] = [12505] let s:lib.Codec.decoding_table['165,218'] = [12506] let s:lib.Codec.decoding_table['165,219'] = [12507] let s:lib.Codec.decoding_table['165,220'] = [12508] let s:lib.Codec.decoding_table['165,221'] = [12509] let s:lib.Codec.decoding_table['165,222'] = [12510] let s:lib.Codec.decoding_table['165,223'] = [12511] let s:lib.Codec.decoding_table['165,224'] = [12512] let s:lib.Codec.decoding_table['165,225'] = [12513] let s:lib.Codec.decoding_table['165,226'] = [12514] let s:lib.Codec.decoding_table['165,227'] = [12515] let s:lib.Codec.decoding_table['165,228'] = [12516] let s:lib.Codec.decoding_table['165,229'] = [12517] let s:lib.Codec.decoding_table['165,230'] = [12518] let s:lib.Codec.decoding_table['165,231'] = [12519] let s:lib.Codec.decoding_table['165,232'] = [12520] let s:lib.Codec.decoding_table['165,233'] = [12521] let s:lib.Codec.decoding_table['165,234'] = [12522] let s:lib.Codec.decoding_table['165,235'] = [12523] let s:lib.Codec.decoding_table['165,236'] = [12524] let s:lib.Codec.decoding_table['165,237'] = [12525] let s:lib.Codec.decoding_table['165,238'] = [12526] let s:lib.Codec.decoding_table['165,239'] = [12527] let s:lib.Codec.decoding_table['165,240'] = [12528] let s:lib.Codec.decoding_table['165,241'] = [12529] let s:lib.Codec.decoding_table['165,242'] = [12530] let s:lib.Codec.decoding_table['165,243'] = [12531] let s:lib.Codec.decoding_table['165,244'] = [12532] let s:lib.Codec.decoding_table['165,245'] = [12533] let s:lib.Codec.decoding_table['165,246'] = [12534] let s:lib.Codec.decoding_table['166,161'] = [913] let s:lib.Codec.decoding_table['166,162'] = [914] let s:lib.Codec.decoding_table['166,163'] = [915] let s:lib.Codec.decoding_table['166,164'] = [916] let s:lib.Codec.decoding_table['166,165'] = [917] let s:lib.Codec.decoding_table['166,166'] = [918] let s:lib.Codec.decoding_table['166,167'] = [919] let s:lib.Codec.decoding_table['166,168'] = [920] let s:lib.Codec.decoding_table['166,169'] = [921] let s:lib.Codec.decoding_table['166,170'] = [922] let s:lib.Codec.decoding_table['166,171'] = [923] let s:lib.Codec.decoding_table['166,172'] = [924] let s:lib.Codec.decoding_table['166,173'] = [925] let s:lib.Codec.decoding_table['166,174'] = [926] let s:lib.Codec.decoding_table['166,175'] = [927] let s:lib.Codec.decoding_table['166,176'] = [928] let s:lib.Codec.decoding_table['166,177'] = [929] let s:lib.Codec.decoding_table['166,178'] = [931] let s:lib.Codec.decoding_table['166,179'] = [932] let s:lib.Codec.decoding_table['166,180'] = [933] let s:lib.Codec.decoding_table['166,181'] = [934] let s:lib.Codec.decoding_table['166,182'] = [935] let s:lib.Codec.decoding_table['166,183'] = [936] let s:lib.Codec.decoding_table['166,184'] = [937] let s:lib.Codec.decoding_table['166,193'] = [945] let s:lib.Codec.decoding_table['166,194'] = [946] let s:lib.Codec.decoding_table['166,195'] = [947] let s:lib.Codec.decoding_table['166,196'] = [948] let s:lib.Codec.decoding_table['166,197'] = [949] let s:lib.Codec.decoding_table['166,198'] = [950] let s:lib.Codec.decoding_table['166,199'] = [951] let s:lib.Codec.decoding_table['166,200'] = [952] let s:lib.Codec.decoding_table['166,201'] = [953] let s:lib.Codec.decoding_table['166,202'] = [954] let s:lib.Codec.decoding_table['166,203'] = [955] let s:lib.Codec.decoding_table['166,204'] = [956] let s:lib.Codec.decoding_table['166,205'] = [957] let s:lib.Codec.decoding_table['166,206'] = [958] let s:lib.Codec.decoding_table['166,207'] = [959] let s:lib.Codec.decoding_table['166,208'] = [960] let s:lib.Codec.decoding_table['166,209'] = [961] let s:lib.Codec.decoding_table['166,210'] = [963] let s:lib.Codec.decoding_table['166,211'] = [964] let s:lib.Codec.decoding_table['166,212'] = [965] let s:lib.Codec.decoding_table['166,213'] = [966] let s:lib.Codec.decoding_table['166,214'] = [967] let s:lib.Codec.decoding_table['166,215'] = [968] let s:lib.Codec.decoding_table['166,216'] = [969] let s:lib.Codec.decoding_table['167,161'] = [1040] let s:lib.Codec.decoding_table['167,162'] = [1041] let s:lib.Codec.decoding_table['167,163'] = [1042] let s:lib.Codec.decoding_table['167,164'] = [1043] let s:lib.Codec.decoding_table['167,165'] = [1044] let s:lib.Codec.decoding_table['167,166'] = [1045] let s:lib.Codec.decoding_table['167,167'] = [1025] let s:lib.Codec.decoding_table['167,168'] = [1046] let s:lib.Codec.decoding_table['167,169'] = [1047] let s:lib.Codec.decoding_table['167,170'] = [1048] let s:lib.Codec.decoding_table['167,171'] = [1049] let s:lib.Codec.decoding_table['167,172'] = [1050] let s:lib.Codec.decoding_table['167,173'] = [1051] let s:lib.Codec.decoding_table['167,174'] = [1052] let s:lib.Codec.decoding_table['167,175'] = [1053] let s:lib.Codec.decoding_table['167,176'] = [1054] let s:lib.Codec.decoding_table['167,177'] = [1055] let s:lib.Codec.decoding_table['167,178'] = [1056] let s:lib.Codec.decoding_table['167,179'] = [1057] let s:lib.Codec.decoding_table['167,180'] = [1058] let s:lib.Codec.decoding_table['167,181'] = [1059] let s:lib.Codec.decoding_table['167,182'] = [1060] let s:lib.Codec.decoding_table['167,183'] = [1061] let s:lib.Codec.decoding_table['167,184'] = [1062] let s:lib.Codec.decoding_table['167,185'] = [1063] let s:lib.Codec.decoding_table['167,186'] = [1064] let s:lib.Codec.decoding_table['167,187'] = [1065] let s:lib.Codec.decoding_table['167,188'] = [1066] let s:lib.Codec.decoding_table['167,189'] = [1067] let s:lib.Codec.decoding_table['167,190'] = [1068] let s:lib.Codec.decoding_table['167,191'] = [1069] let s:lib.Codec.decoding_table['167,192'] = [1070] let s:lib.Codec.decoding_table['167,193'] = [1071] let s:lib.Codec.decoding_table['167,209'] = [1072] let s:lib.Codec.decoding_table['167,210'] = [1073] let s:lib.Codec.decoding_table['167,211'] = [1074] let s:lib.Codec.decoding_table['167,212'] = [1075] let s:lib.Codec.decoding_table['167,213'] = [1076] let s:lib.Codec.decoding_table['167,214'] = [1077] let s:lib.Codec.decoding_table['167,215'] = [1105] let s:lib.Codec.decoding_table['167,216'] = [1078] let s:lib.Codec.decoding_table['167,217'] = [1079] let s:lib.Codec.decoding_table['167,218'] = [1080] let s:lib.Codec.decoding_table['167,219'] = [1081] let s:lib.Codec.decoding_table['167,220'] = [1082] let s:lib.Codec.decoding_table['167,221'] = [1083] let s:lib.Codec.decoding_table['167,222'] = [1084] let s:lib.Codec.decoding_table['167,223'] = [1085] let s:lib.Codec.decoding_table['167,224'] = [1086] let s:lib.Codec.decoding_table['167,225'] = [1087] let s:lib.Codec.decoding_table['167,226'] = [1088] let s:lib.Codec.decoding_table['167,227'] = [1089] let s:lib.Codec.decoding_table['167,228'] = [1090] let s:lib.Codec.decoding_table['167,229'] = [1091] let s:lib.Codec.decoding_table['167,230'] = [1092] let s:lib.Codec.decoding_table['167,231'] = [1093] let s:lib.Codec.decoding_table['167,232'] = [1094] let s:lib.Codec.decoding_table['167,233'] = [1095] let s:lib.Codec.decoding_table['167,234'] = [1096] let s:lib.Codec.decoding_table['167,235'] = [1097] let s:lib.Codec.decoding_table['167,236'] = [1098] let s:lib.Codec.decoding_table['167,237'] = [1099] let s:lib.Codec.decoding_table['167,238'] = [1100] let s:lib.Codec.decoding_table['167,239'] = [1101] let s:lib.Codec.decoding_table['167,240'] = [1102] let s:lib.Codec.decoding_table['167,241'] = [1103] let s:lib.Codec.decoding_table['168,161'] = [9472] let s:lib.Codec.decoding_table['168,162'] = [9474] let s:lib.Codec.decoding_table['168,163'] = [9484] let s:lib.Codec.decoding_table['168,164'] = [9488] let s:lib.Codec.decoding_table['168,165'] = [9496] let s:lib.Codec.decoding_table['168,166'] = [9492] let s:lib.Codec.decoding_table['168,167'] = [9500] let s:lib.Codec.decoding_table['168,168'] = [9516] let s:lib.Codec.decoding_table['168,169'] = [9508] let s:lib.Codec.decoding_table['168,170'] = [9524] let s:lib.Codec.decoding_table['168,171'] = [9532] let s:lib.Codec.decoding_table['168,172'] = [9473] let s:lib.Codec.decoding_table['168,173'] = [9475] let s:lib.Codec.decoding_table['168,174'] = [9487] let s:lib.Codec.decoding_table['168,175'] = [9491] let s:lib.Codec.decoding_table['168,176'] = [9499] let s:lib.Codec.decoding_table['168,177'] = [9495] let s:lib.Codec.decoding_table['168,178'] = [9507] let s:lib.Codec.decoding_table['168,179'] = [9523] let s:lib.Codec.decoding_table['168,180'] = [9515] let s:lib.Codec.decoding_table['168,181'] = [9531] let s:lib.Codec.decoding_table['168,182'] = [9547] let s:lib.Codec.decoding_table['168,183'] = [9504] let s:lib.Codec.decoding_table['168,184'] = [9519] let s:lib.Codec.decoding_table['168,185'] = [9512] let s:lib.Codec.decoding_table['168,186'] = [9527] let s:lib.Codec.decoding_table['168,187'] = [9535] let s:lib.Codec.decoding_table['168,188'] = [9501] let s:lib.Codec.decoding_table['168,189'] = [9520] let s:lib.Codec.decoding_table['168,190'] = [9509] let s:lib.Codec.decoding_table['168,191'] = [9528] let s:lib.Codec.decoding_table['168,192'] = [9538] let s:lib.Codec.decoding_table['176,161'] = [20124] let s:lib.Codec.decoding_table['176,162'] = [21782] let s:lib.Codec.decoding_table['176,163'] = [23043] let s:lib.Codec.decoding_table['176,164'] = [38463] let s:lib.Codec.decoding_table['176,165'] = [21696] let s:lib.Codec.decoding_table['176,166'] = [24859] let s:lib.Codec.decoding_table['176,167'] = [25384] let s:lib.Codec.decoding_table['176,168'] = [23030] let s:lib.Codec.decoding_table['176,169'] = [36898] let s:lib.Codec.decoding_table['176,170'] = [33909] let s:lib.Codec.decoding_table['176,171'] = [33564] let s:lib.Codec.decoding_table['176,172'] = [31312] let s:lib.Codec.decoding_table['176,173'] = [24746] let s:lib.Codec.decoding_table['176,174'] = [25569] let s:lib.Codec.decoding_table['176,175'] = [28197] let s:lib.Codec.decoding_table['176,176'] = [26093] let s:lib.Codec.decoding_table['176,177'] = [33894] let s:lib.Codec.decoding_table['176,178'] = [33446] let s:lib.Codec.decoding_table['176,179'] = [39925] let s:lib.Codec.decoding_table['176,180'] = [26771] let s:lib.Codec.decoding_table['176,181'] = [22311] let s:lib.Codec.decoding_table['176,182'] = [26017] let s:lib.Codec.decoding_table['176,183'] = [25201] let s:lib.Codec.decoding_table['176,184'] = [23451] let s:lib.Codec.decoding_table['176,185'] = [22992] let s:lib.Codec.decoding_table['176,186'] = [34427] let s:lib.Codec.decoding_table['176,187'] = [39156] let s:lib.Codec.decoding_table['176,188'] = [32098] let s:lib.Codec.decoding_table['176,189'] = [32190] let s:lib.Codec.decoding_table['176,190'] = [39822] let s:lib.Codec.decoding_table['176,191'] = [25110] let s:lib.Codec.decoding_table['176,192'] = [31903] let s:lib.Codec.decoding_table['176,193'] = [34999] let s:lib.Codec.decoding_table['176,194'] = [23433] let s:lib.Codec.decoding_table['176,195'] = [24245] let s:lib.Codec.decoding_table['176,196'] = [25353] let s:lib.Codec.decoding_table['176,197'] = [26263] let s:lib.Codec.decoding_table['176,198'] = [26696] let s:lib.Codec.decoding_table['176,199'] = [38343] let s:lib.Codec.decoding_table['176,200'] = [38797] let s:lib.Codec.decoding_table['176,201'] = [26447] let s:lib.Codec.decoding_table['176,202'] = [20197] let s:lib.Codec.decoding_table['176,203'] = [20234] let s:lib.Codec.decoding_table['176,204'] = [20301] let s:lib.Codec.decoding_table['176,205'] = [20381] let s:lib.Codec.decoding_table['176,206'] = [20553] let s:lib.Codec.decoding_table['176,207'] = [22258] let s:lib.Codec.decoding_table['176,208'] = [22839] let s:lib.Codec.decoding_table['176,209'] = [22996] let s:lib.Codec.decoding_table['176,210'] = [23041] let s:lib.Codec.decoding_table['176,211'] = [23561] let s:lib.Codec.decoding_table['176,212'] = [24799] let s:lib.Codec.decoding_table['176,213'] = [24847] let s:lib.Codec.decoding_table['176,214'] = [24944] let s:lib.Codec.decoding_table['176,215'] = [26131] let s:lib.Codec.decoding_table['176,216'] = [26885] let s:lib.Codec.decoding_table['176,217'] = [28858] let s:lib.Codec.decoding_table['176,218'] = [30031] let s:lib.Codec.decoding_table['176,219'] = [30064] let s:lib.Codec.decoding_table['176,220'] = [31227] let s:lib.Codec.decoding_table['176,221'] = [32173] let s:lib.Codec.decoding_table['176,222'] = [32239] let s:lib.Codec.decoding_table['176,223'] = [32963] let s:lib.Codec.decoding_table['176,224'] = [33806] let s:lib.Codec.decoding_table['176,225'] = [34915] let s:lib.Codec.decoding_table['176,226'] = [35586] let s:lib.Codec.decoding_table['176,227'] = [36949] let s:lib.Codec.decoding_table['176,228'] = [36986] let s:lib.Codec.decoding_table['176,229'] = [21307] let s:lib.Codec.decoding_table['176,230'] = [20117] let s:lib.Codec.decoding_table['176,231'] = [20133] let s:lib.Codec.decoding_table['176,232'] = [22495] let s:lib.Codec.decoding_table['176,233'] = [32946] let s:lib.Codec.decoding_table['176,234'] = [37057] let s:lib.Codec.decoding_table['176,235'] = [30959] let s:lib.Codec.decoding_table['176,236'] = [19968] let s:lib.Codec.decoding_table['176,237'] = [22769] let s:lib.Codec.decoding_table['176,238'] = [28322] let s:lib.Codec.decoding_table['176,239'] = [36920] let s:lib.Codec.decoding_table['176,240'] = [31282] let s:lib.Codec.decoding_table['176,241'] = [33576] let s:lib.Codec.decoding_table['176,242'] = [33419] let s:lib.Codec.decoding_table['176,243'] = [39983] let s:lib.Codec.decoding_table['176,244'] = [20801] let s:lib.Codec.decoding_table['176,245'] = [21360] let s:lib.Codec.decoding_table['176,246'] = [21693] let s:lib.Codec.decoding_table['176,247'] = [21729] let s:lib.Codec.decoding_table['176,248'] = [22240] let s:lib.Codec.decoding_table['176,249'] = [23035] let s:lib.Codec.decoding_table['176,250'] = [24341] let s:lib.Codec.decoding_table['176,251'] = [39154] let s:lib.Codec.decoding_table['176,252'] = [28139] let s:lib.Codec.decoding_table['176,253'] = [32996] let s:lib.Codec.decoding_table['176,254'] = [34093] let s:lib.Codec.decoding_table['177,161'] = [38498] let s:lib.Codec.decoding_table['177,162'] = [38512] let s:lib.Codec.decoding_table['177,163'] = [38560] let s:lib.Codec.decoding_table['177,164'] = [38907] let s:lib.Codec.decoding_table['177,165'] = [21515] let s:lib.Codec.decoding_table['177,166'] = [21491] let s:lib.Codec.decoding_table['177,167'] = [23431] let s:lib.Codec.decoding_table['177,168'] = [28879] let s:lib.Codec.decoding_table['177,169'] = [32701] let s:lib.Codec.decoding_table['177,170'] = [36802] let s:lib.Codec.decoding_table['177,171'] = [38632] let s:lib.Codec.decoding_table['177,172'] = [21359] let s:lib.Codec.decoding_table['177,173'] = [40284] let s:lib.Codec.decoding_table['177,174'] = [31418] let s:lib.Codec.decoding_table['177,175'] = [19985] let s:lib.Codec.decoding_table['177,176'] = [30867] let s:lib.Codec.decoding_table['177,177'] = [33276] let s:lib.Codec.decoding_table['177,178'] = [28198] let s:lib.Codec.decoding_table['177,179'] = [22040] let s:lib.Codec.decoding_table['177,180'] = [21764] let s:lib.Codec.decoding_table['177,181'] = [27421] let s:lib.Codec.decoding_table['177,182'] = [34074] let s:lib.Codec.decoding_table['177,183'] = [39995] let s:lib.Codec.decoding_table['177,184'] = [23013] let s:lib.Codec.decoding_table['177,185'] = [21417] let s:lib.Codec.decoding_table['177,186'] = [28006] let s:lib.Codec.decoding_table['177,187'] = [29916] let s:lib.Codec.decoding_table['177,188'] = [38287] let s:lib.Codec.decoding_table['177,189'] = [22082] let s:lib.Codec.decoding_table['177,190'] = [20113] let s:lib.Codec.decoding_table['177,191'] = [36939] let s:lib.Codec.decoding_table['177,192'] = [38642] let s:lib.Codec.decoding_table['177,193'] = [33615] let s:lib.Codec.decoding_table['177,194'] = [39180] let s:lib.Codec.decoding_table['177,195'] = [21473] let s:lib.Codec.decoding_table['177,196'] = [21942] let s:lib.Codec.decoding_table['177,197'] = [23344] let s:lib.Codec.decoding_table['177,198'] = [24433] let s:lib.Codec.decoding_table['177,199'] = [26144] let s:lib.Codec.decoding_table['177,200'] = [26355] let s:lib.Codec.decoding_table['177,201'] = [26628] let s:lib.Codec.decoding_table['177,202'] = [27704] let s:lib.Codec.decoding_table['177,203'] = [27891] let s:lib.Codec.decoding_table['177,204'] = [27945] let s:lib.Codec.decoding_table['177,205'] = [29787] let s:lib.Codec.decoding_table['177,206'] = [30408] let s:lib.Codec.decoding_table['177,207'] = [31310] let s:lib.Codec.decoding_table['177,208'] = [38964] let s:lib.Codec.decoding_table['177,209'] = [33521] let s:lib.Codec.decoding_table['177,210'] = [34907] let s:lib.Codec.decoding_table['177,211'] = [35424] let s:lib.Codec.decoding_table['177,212'] = [37613] let s:lib.Codec.decoding_table['177,213'] = [28082] let s:lib.Codec.decoding_table['177,214'] = [30123] let s:lib.Codec.decoding_table['177,215'] = [30410] let s:lib.Codec.decoding_table['177,216'] = [39365] let s:lib.Codec.decoding_table['177,217'] = [24742] let s:lib.Codec.decoding_table['177,218'] = [35585] let s:lib.Codec.decoding_table['177,219'] = [36234] let s:lib.Codec.decoding_table['177,220'] = [38322] let s:lib.Codec.decoding_table['177,221'] = [27022] let s:lib.Codec.decoding_table['177,222'] = [21421] let s:lib.Codec.decoding_table['177,223'] = [20870] let s:lib.Codec.decoding_table['177,224'] = [22290] let s:lib.Codec.decoding_table['177,225'] = [22576] let s:lib.Codec.decoding_table['177,226'] = [22852] let s:lib.Codec.decoding_table['177,227'] = [23476] let s:lib.Codec.decoding_table['177,228'] = [24310] let s:lib.Codec.decoding_table['177,229'] = [24616] let s:lib.Codec.decoding_table['177,230'] = [25513] let s:lib.Codec.decoding_table['177,231'] = [25588] let s:lib.Codec.decoding_table['177,232'] = [27839] let s:lib.Codec.decoding_table['177,233'] = [28436] let s:lib.Codec.decoding_table['177,234'] = [28814] let s:lib.Codec.decoding_table['177,235'] = [28948] let s:lib.Codec.decoding_table['177,236'] = [29017] let s:lib.Codec.decoding_table['177,237'] = [29141] let s:lib.Codec.decoding_table['177,238'] = [29503] let s:lib.Codec.decoding_table['177,239'] = [32257] let s:lib.Codec.decoding_table['177,240'] = [33398] let s:lib.Codec.decoding_table['177,241'] = [33489] let s:lib.Codec.decoding_table['177,242'] = [34199] let s:lib.Codec.decoding_table['177,243'] = [36960] let s:lib.Codec.decoding_table['177,244'] = [37467] let s:lib.Codec.decoding_table['177,245'] = [40219] let s:lib.Codec.decoding_table['177,246'] = [22633] let s:lib.Codec.decoding_table['177,247'] = [26044] let s:lib.Codec.decoding_table['177,248'] = [27738] let s:lib.Codec.decoding_table['177,249'] = [29989] let s:lib.Codec.decoding_table['177,250'] = [20985] let s:lib.Codec.decoding_table['177,251'] = [22830] let s:lib.Codec.decoding_table['177,252'] = [22885] let s:lib.Codec.decoding_table['177,253'] = [24448] let s:lib.Codec.decoding_table['177,254'] = [24540] let s:lib.Codec.decoding_table['178,161'] = [25276] let s:lib.Codec.decoding_table['178,162'] = [26106] let s:lib.Codec.decoding_table['178,163'] = [27178] let s:lib.Codec.decoding_table['178,164'] = [27431] let s:lib.Codec.decoding_table['178,165'] = [27572] let s:lib.Codec.decoding_table['178,166'] = [29579] let s:lib.Codec.decoding_table['178,167'] = [32705] let s:lib.Codec.decoding_table['178,168'] = [35158] let s:lib.Codec.decoding_table['178,169'] = [40236] let s:lib.Codec.decoding_table['178,170'] = [40206] let s:lib.Codec.decoding_table['178,171'] = [40644] let s:lib.Codec.decoding_table['178,172'] = [23713] let s:lib.Codec.decoding_table['178,173'] = [27798] let s:lib.Codec.decoding_table['178,174'] = [33659] let s:lib.Codec.decoding_table['178,175'] = [20740] let s:lib.Codec.decoding_table['178,176'] = [23627] let s:lib.Codec.decoding_table['178,177'] = [25014] let s:lib.Codec.decoding_table['178,178'] = [33222] let s:lib.Codec.decoding_table['178,179'] = [26742] let s:lib.Codec.decoding_table['178,180'] = [29281] let s:lib.Codec.decoding_table['178,181'] = [20057] let s:lib.Codec.decoding_table['178,182'] = [20474] let s:lib.Codec.decoding_table['178,183'] = [21368] let s:lib.Codec.decoding_table['178,184'] = [24681] let s:lib.Codec.decoding_table['178,185'] = [28201] let s:lib.Codec.decoding_table['178,186'] = [31311] let s:lib.Codec.decoding_table['178,187'] = [38899] let s:lib.Codec.decoding_table['178,188'] = [19979] let s:lib.Codec.decoding_table['178,189'] = [21270] let s:lib.Codec.decoding_table['178,190'] = [20206] let s:lib.Codec.decoding_table['178,191'] = [20309] let s:lib.Codec.decoding_table['178,192'] = [20285] let s:lib.Codec.decoding_table['178,193'] = [20385] let s:lib.Codec.decoding_table['178,194'] = [20339] let s:lib.Codec.decoding_table['178,195'] = [21152] let s:lib.Codec.decoding_table['178,196'] = [21487] let s:lib.Codec.decoding_table['178,197'] = [22025] let s:lib.Codec.decoding_table['178,198'] = [22799] let s:lib.Codec.decoding_table['178,199'] = [23233] let s:lib.Codec.decoding_table['178,200'] = [23478] let s:lib.Codec.decoding_table['178,201'] = [23521] let s:lib.Codec.decoding_table['178,202'] = [31185] let s:lib.Codec.decoding_table['178,203'] = [26247] let s:lib.Codec.decoding_table['178,204'] = [26524] let s:lib.Codec.decoding_table['178,205'] = [26550] let s:lib.Codec.decoding_table['178,206'] = [27468] let s:lib.Codec.decoding_table['178,207'] = [27827] let s:lib.Codec.decoding_table['178,208'] = [28779] let s:lib.Codec.decoding_table['178,209'] = [29634] let s:lib.Codec.decoding_table['178,210'] = [31117] let s:lib.Codec.decoding_table['178,211'] = [31166] let s:lib.Codec.decoding_table['178,212'] = [31292] let s:lib.Codec.decoding_table['178,213'] = [31623] let s:lib.Codec.decoding_table['178,214'] = [33457] let s:lib.Codec.decoding_table['178,215'] = [33499] let s:lib.Codec.decoding_table['178,216'] = [33540] let s:lib.Codec.decoding_table['178,217'] = [33655] let s:lib.Codec.decoding_table['178,218'] = [33775] let s:lib.Codec.decoding_table['178,219'] = [33747] let s:lib.Codec.decoding_table['178,220'] = [34662] let s:lib.Codec.decoding_table['178,221'] = [35506] let s:lib.Codec.decoding_table['178,222'] = [22057] let s:lib.Codec.decoding_table['178,223'] = [36008] let s:lib.Codec.decoding_table['178,224'] = [36838] let s:lib.Codec.decoding_table['178,225'] = [36942] let s:lib.Codec.decoding_table['178,226'] = [38686] let s:lib.Codec.decoding_table['178,227'] = [34442] let s:lib.Codec.decoding_table['178,228'] = [20420] let s:lib.Codec.decoding_table['178,229'] = [23784] let s:lib.Codec.decoding_table['178,230'] = [25105] let s:lib.Codec.decoding_table['178,231'] = [29273] let s:lib.Codec.decoding_table['178,232'] = [30011] let s:lib.Codec.decoding_table['178,233'] = [33253] let s:lib.Codec.decoding_table['178,234'] = [33469] let s:lib.Codec.decoding_table['178,235'] = [34558] let s:lib.Codec.decoding_table['178,236'] = [36032] let s:lib.Codec.decoding_table['178,237'] = [38597] let s:lib.Codec.decoding_table['178,238'] = [39187] let s:lib.Codec.decoding_table['178,239'] = [39381] let s:lib.Codec.decoding_table['178,240'] = [20171] let s:lib.Codec.decoding_table['178,241'] = [20250] let s:lib.Codec.decoding_table['178,242'] = [35299] let s:lib.Codec.decoding_table['178,243'] = [22238] let s:lib.Codec.decoding_table['178,244'] = [22602] let s:lib.Codec.decoding_table['178,245'] = [22730] let s:lib.Codec.decoding_table['178,246'] = [24315] let s:lib.Codec.decoding_table['178,247'] = [24555] let s:lib.Codec.decoding_table['178,248'] = [24618] let s:lib.Codec.decoding_table['178,249'] = [24724] let s:lib.Codec.decoding_table['178,250'] = [24674] let s:lib.Codec.decoding_table['178,251'] = [25040] let s:lib.Codec.decoding_table['178,252'] = [25106] let s:lib.Codec.decoding_table['178,253'] = [25296] let s:lib.Codec.decoding_table['178,254'] = [25913] let s:lib.Codec.decoding_table['179,161'] = [39745] let s:lib.Codec.decoding_table['179,162'] = [26214] let s:lib.Codec.decoding_table['179,163'] = [26800] let s:lib.Codec.decoding_table['179,164'] = [28023] let s:lib.Codec.decoding_table['179,165'] = [28784] let s:lib.Codec.decoding_table['179,166'] = [30028] let s:lib.Codec.decoding_table['179,167'] = [30342] let s:lib.Codec.decoding_table['179,168'] = [32117] let s:lib.Codec.decoding_table['179,169'] = [33445] let s:lib.Codec.decoding_table['179,170'] = [34809] let s:lib.Codec.decoding_table['179,171'] = [38283] let s:lib.Codec.decoding_table['179,172'] = [38542] let s:lib.Codec.decoding_table['179,173'] = [35997] let s:lib.Codec.decoding_table['179,174'] = [20977] let s:lib.Codec.decoding_table['179,175'] = [21182] let s:lib.Codec.decoding_table['179,176'] = [22806] let s:lib.Codec.decoding_table['179,177'] = [21683] let s:lib.Codec.decoding_table['179,178'] = [23475] let s:lib.Codec.decoding_table['179,179'] = [23830] let s:lib.Codec.decoding_table['179,180'] = [24936] let s:lib.Codec.decoding_table['179,181'] = [27010] let s:lib.Codec.decoding_table['179,182'] = [28079] let s:lib.Codec.decoding_table['179,183'] = [30861] let s:lib.Codec.decoding_table['179,184'] = [33995] let s:lib.Codec.decoding_table['179,185'] = [34903] let s:lib.Codec.decoding_table['179,186'] = [35442] let s:lib.Codec.decoding_table['179,187'] = [37799] let s:lib.Codec.decoding_table['179,188'] = [39608] let s:lib.Codec.decoding_table['179,189'] = [28012] let s:lib.Codec.decoding_table['179,190'] = [39336] let s:lib.Codec.decoding_table['179,191'] = [34521] let s:lib.Codec.decoding_table['179,192'] = [22435] let s:lib.Codec.decoding_table['179,193'] = [26623] let s:lib.Codec.decoding_table['179,194'] = [34510] let s:lib.Codec.decoding_table['179,195'] = [37390] let s:lib.Codec.decoding_table['179,196'] = [21123] let s:lib.Codec.decoding_table['179,197'] = [22151] let s:lib.Codec.decoding_table['179,198'] = [21508] let s:lib.Codec.decoding_table['179,199'] = [24275] let s:lib.Codec.decoding_table['179,200'] = [25313] let s:lib.Codec.decoding_table['179,201'] = [25785] let s:lib.Codec.decoding_table['179,202'] = [26684] let s:lib.Codec.decoding_table['179,203'] = [26680] let s:lib.Codec.decoding_table['179,204'] = [27579] let s:lib.Codec.decoding_table['179,205'] = [29554] let s:lib.Codec.decoding_table['179,206'] = [30906] let s:lib.Codec.decoding_table['179,207'] = [31339] let s:lib.Codec.decoding_table['179,208'] = [35226] let s:lib.Codec.decoding_table['179,209'] = [35282] let s:lib.Codec.decoding_table['179,210'] = [36203] let s:lib.Codec.decoding_table['179,211'] = [36611] let s:lib.Codec.decoding_table['179,212'] = [37101] let s:lib.Codec.decoding_table['179,213'] = [38307] let s:lib.Codec.decoding_table['179,214'] = [38548] let s:lib.Codec.decoding_table['179,215'] = [38761] let s:lib.Codec.decoding_table['179,216'] = [23398] let s:lib.Codec.decoding_table['179,217'] = [23731] let s:lib.Codec.decoding_table['179,218'] = [27005] let s:lib.Codec.decoding_table['179,219'] = [38989] let s:lib.Codec.decoding_table['179,220'] = [38990] let s:lib.Codec.decoding_table['179,221'] = [25499] let s:lib.Codec.decoding_table['179,222'] = [31520] let s:lib.Codec.decoding_table['179,223'] = [27179] let s:lib.Codec.decoding_table['179,224'] = [27263] let s:lib.Codec.decoding_table['179,225'] = [26806] let s:lib.Codec.decoding_table['179,226'] = [39949] let s:lib.Codec.decoding_table['179,227'] = [28511] let s:lib.Codec.decoding_table['179,228'] = [21106] let s:lib.Codec.decoding_table['179,229'] = [21917] let s:lib.Codec.decoding_table['179,230'] = [24688] let s:lib.Codec.decoding_table['179,231'] = [25324] let s:lib.Codec.decoding_table['179,232'] = [27963] let s:lib.Codec.decoding_table['179,233'] = [28167] let s:lib.Codec.decoding_table['179,234'] = [28369] let s:lib.Codec.decoding_table['179,235'] = [33883] let s:lib.Codec.decoding_table['179,236'] = [35088] let s:lib.Codec.decoding_table['179,237'] = [36676] let s:lib.Codec.decoding_table['179,238'] = [19988] let s:lib.Codec.decoding_table['179,239'] = [39993] let s:lib.Codec.decoding_table['179,240'] = [21494] let s:lib.Codec.decoding_table['179,241'] = [26907] let s:lib.Codec.decoding_table['179,242'] = [27194] let s:lib.Codec.decoding_table['179,243'] = [38788] let s:lib.Codec.decoding_table['179,244'] = [26666] let s:lib.Codec.decoding_table['179,245'] = [20828] let s:lib.Codec.decoding_table['179,246'] = [31427] let s:lib.Codec.decoding_table['179,247'] = [33970] let s:lib.Codec.decoding_table['179,248'] = [37340] let s:lib.Codec.decoding_table['179,249'] = [37772] let s:lib.Codec.decoding_table['179,250'] = [22107] let s:lib.Codec.decoding_table['179,251'] = [40232] let s:lib.Codec.decoding_table['179,252'] = [26658] let s:lib.Codec.decoding_table['179,253'] = [33541] let s:lib.Codec.decoding_table['179,254'] = [33841] let s:lib.Codec.decoding_table['180,161'] = [31909] let s:lib.Codec.decoding_table['180,162'] = [21000] let s:lib.Codec.decoding_table['180,163'] = [33477] let s:lib.Codec.decoding_table['180,164'] = [29926] let s:lib.Codec.decoding_table['180,165'] = [20094] let s:lib.Codec.decoding_table['180,166'] = [20355] let s:lib.Codec.decoding_table['180,167'] = [20896] let s:lib.Codec.decoding_table['180,168'] = [23506] let s:lib.Codec.decoding_table['180,169'] = [21002] let s:lib.Codec.decoding_table['180,170'] = [21208] let s:lib.Codec.decoding_table['180,171'] = [21223] let s:lib.Codec.decoding_table['180,172'] = [24059] let s:lib.Codec.decoding_table['180,173'] = [21914] let s:lib.Codec.decoding_table['180,174'] = [22570] let s:lib.Codec.decoding_table['180,175'] = [23014] let s:lib.Codec.decoding_table['180,176'] = [23436] let s:lib.Codec.decoding_table['180,177'] = [23448] let s:lib.Codec.decoding_table['180,178'] = [23515] let s:lib.Codec.decoding_table['180,179'] = [24178] let s:lib.Codec.decoding_table['180,180'] = [24185] let s:lib.Codec.decoding_table['180,181'] = [24739] let s:lib.Codec.decoding_table['180,182'] = [24863] let s:lib.Codec.decoding_table['180,183'] = [24931] let s:lib.Codec.decoding_table['180,184'] = [25022] let s:lib.Codec.decoding_table['180,185'] = [25563] let s:lib.Codec.decoding_table['180,186'] = [25954] let s:lib.Codec.decoding_table['180,187'] = [26577] let s:lib.Codec.decoding_table['180,188'] = [26707] let s:lib.Codec.decoding_table['180,189'] = [26874] let s:lib.Codec.decoding_table['180,190'] = [27454] let s:lib.Codec.decoding_table['180,191'] = [27475] let s:lib.Codec.decoding_table['180,192'] = [27735] let s:lib.Codec.decoding_table['180,193'] = [28450] let s:lib.Codec.decoding_table['180,194'] = [28567] let s:lib.Codec.decoding_table['180,195'] = [28485] let s:lib.Codec.decoding_table['180,196'] = [29872] let s:lib.Codec.decoding_table['180,197'] = [29976] let s:lib.Codec.decoding_table['180,198'] = [30435] let s:lib.Codec.decoding_table['180,199'] = [30475] let s:lib.Codec.decoding_table['180,200'] = [31487] let s:lib.Codec.decoding_table['180,201'] = [31649] let s:lib.Codec.decoding_table['180,202'] = [31777] let s:lib.Codec.decoding_table['180,203'] = [32233] let s:lib.Codec.decoding_table['180,204'] = [32566] let s:lib.Codec.decoding_table['180,205'] = [32752] let s:lib.Codec.decoding_table['180,206'] = [32925] let s:lib.Codec.decoding_table['180,207'] = [33382] let s:lib.Codec.decoding_table['180,208'] = [33694] let s:lib.Codec.decoding_table['180,209'] = [35251] let s:lib.Codec.decoding_table['180,210'] = [35532] let s:lib.Codec.decoding_table['180,211'] = [36011] let s:lib.Codec.decoding_table['180,212'] = [36996] let s:lib.Codec.decoding_table['180,213'] = [37969] let s:lib.Codec.decoding_table['180,214'] = [38291] let s:lib.Codec.decoding_table['180,215'] = [38289] let s:lib.Codec.decoding_table['180,216'] = [38306] let s:lib.Codec.decoding_table['180,217'] = [38501] let s:lib.Codec.decoding_table['180,218'] = [38867] let s:lib.Codec.decoding_table['180,219'] = [39208] let s:lib.Codec.decoding_table['180,220'] = [33304] let s:lib.Codec.decoding_table['180,221'] = [20024] let s:lib.Codec.decoding_table['180,222'] = [21547] let s:lib.Codec.decoding_table['180,223'] = [23736] let s:lib.Codec.decoding_table['180,224'] = [24012] let s:lib.Codec.decoding_table['180,225'] = [29609] let s:lib.Codec.decoding_table['180,226'] = [30284] let s:lib.Codec.decoding_table['180,227'] = [30524] let s:lib.Codec.decoding_table['180,228'] = [23721] let s:lib.Codec.decoding_table['180,229'] = [32747] let s:lib.Codec.decoding_table['180,230'] = [36107] let s:lib.Codec.decoding_table['180,231'] = [38593] let s:lib.Codec.decoding_table['180,232'] = [38929] let s:lib.Codec.decoding_table['180,233'] = [38996] let s:lib.Codec.decoding_table['180,234'] = [39000] let s:lib.Codec.decoding_table['180,235'] = [20225] let s:lib.Codec.decoding_table['180,236'] = [20238] let s:lib.Codec.decoding_table['180,237'] = [21361] let s:lib.Codec.decoding_table['180,238'] = [21916] let s:lib.Codec.decoding_table['180,239'] = [22120] let s:lib.Codec.decoding_table['180,240'] = [22522] let s:lib.Codec.decoding_table['180,241'] = [22855] let s:lib.Codec.decoding_table['180,242'] = [23305] let s:lib.Codec.decoding_table['180,243'] = [23492] let s:lib.Codec.decoding_table['180,244'] = [23696] let s:lib.Codec.decoding_table['180,245'] = [24076] let s:lib.Codec.decoding_table['180,246'] = [24190] let s:lib.Codec.decoding_table['180,247'] = [24524] let s:lib.Codec.decoding_table['180,248'] = [25582] let s:lib.Codec.decoding_table['180,249'] = [26426] let s:lib.Codec.decoding_table['180,250'] = [26071] let s:lib.Codec.decoding_table['180,251'] = [26082] let s:lib.Codec.decoding_table['180,252'] = [26399] let s:lib.Codec.decoding_table['180,253'] = [26827] let s:lib.Codec.decoding_table['180,254'] = [26820] let s:lib.Codec.decoding_table['181,161'] = [27231] let s:lib.Codec.decoding_table['181,162'] = [24112] let s:lib.Codec.decoding_table['181,163'] = [27589] let s:lib.Codec.decoding_table['181,164'] = [27671] let s:lib.Codec.decoding_table['181,165'] = [27773] let s:lib.Codec.decoding_table['181,166'] = [30079] let s:lib.Codec.decoding_table['181,167'] = [31048] let s:lib.Codec.decoding_table['181,168'] = [23395] let s:lib.Codec.decoding_table['181,169'] = [31232] let s:lib.Codec.decoding_table['181,170'] = [32000] let s:lib.Codec.decoding_table['181,171'] = [24509] let s:lib.Codec.decoding_table['181,172'] = [35215] let s:lib.Codec.decoding_table['181,173'] = [35352] let s:lib.Codec.decoding_table['181,174'] = [36020] let s:lib.Codec.decoding_table['181,175'] = [36215] let s:lib.Codec.decoding_table['181,176'] = [36556] let s:lib.Codec.decoding_table['181,177'] = [36637] let s:lib.Codec.decoding_table['181,178'] = [39138] let s:lib.Codec.decoding_table['181,179'] = [39438] let s:lib.Codec.decoding_table['181,180'] = [39740] let s:lib.Codec.decoding_table['181,181'] = [20096] let s:lib.Codec.decoding_table['181,182'] = [20605] let s:lib.Codec.decoding_table['181,183'] = [20736] let s:lib.Codec.decoding_table['181,184'] = [22931] let s:lib.Codec.decoding_table['181,185'] = [23452] let s:lib.Codec.decoding_table['181,186'] = [25135] let s:lib.Codec.decoding_table['181,187'] = [25216] let s:lib.Codec.decoding_table['181,188'] = [25836] let s:lib.Codec.decoding_table['181,189'] = [27450] let s:lib.Codec.decoding_table['181,190'] = [29344] let s:lib.Codec.decoding_table['181,191'] = [30097] let s:lib.Codec.decoding_table['181,192'] = [31047] let s:lib.Codec.decoding_table['181,193'] = [32681] let s:lib.Codec.decoding_table['181,194'] = [34811] let s:lib.Codec.decoding_table['181,195'] = [35516] let s:lib.Codec.decoding_table['181,196'] = [35696] let s:lib.Codec.decoding_table['181,197'] = [25516] let s:lib.Codec.decoding_table['181,198'] = [33738] let s:lib.Codec.decoding_table['181,199'] = [38816] let s:lib.Codec.decoding_table['181,200'] = [21513] let s:lib.Codec.decoding_table['181,201'] = [21507] let s:lib.Codec.decoding_table['181,202'] = [21931] let s:lib.Codec.decoding_table['181,203'] = [26708] let s:lib.Codec.decoding_table['181,204'] = [27224] let s:lib.Codec.decoding_table['181,205'] = [35440] let s:lib.Codec.decoding_table['181,206'] = [30759] let s:lib.Codec.decoding_table['181,207'] = [26485] let s:lib.Codec.decoding_table['181,208'] = [40653] let s:lib.Codec.decoding_table['181,209'] = [21364] let s:lib.Codec.decoding_table['181,210'] = [23458] let s:lib.Codec.decoding_table['181,211'] = [33050] let s:lib.Codec.decoding_table['181,212'] = [34384] let s:lib.Codec.decoding_table['181,213'] = [36870] let s:lib.Codec.decoding_table['181,214'] = [19992] let s:lib.Codec.decoding_table['181,215'] = [20037] let s:lib.Codec.decoding_table['181,216'] = [20167] let s:lib.Codec.decoding_table['181,217'] = [20241] let s:lib.Codec.decoding_table['181,218'] = [21450] let s:lib.Codec.decoding_table['181,219'] = [21560] let s:lib.Codec.decoding_table['181,220'] = [23470] let s:lib.Codec.decoding_table['181,221'] = [24339] let s:lib.Codec.decoding_table['181,222'] = [24613] let s:lib.Codec.decoding_table['181,223'] = [25937] let s:lib.Codec.decoding_table['181,224'] = [26429] let s:lib.Codec.decoding_table['181,225'] = [27714] let s:lib.Codec.decoding_table['181,226'] = [27762] let s:lib.Codec.decoding_table['181,227'] = [27875] let s:lib.Codec.decoding_table['181,228'] = [28792] let s:lib.Codec.decoding_table['181,229'] = [29699] let s:lib.Codec.decoding_table['181,230'] = [31350] let s:lib.Codec.decoding_table['181,231'] = [31406] let s:lib.Codec.decoding_table['181,232'] = [31496] let s:lib.Codec.decoding_table['181,233'] = [32026] let s:lib.Codec.decoding_table['181,234'] = [31998] let s:lib.Codec.decoding_table['181,235'] = [32102] let s:lib.Codec.decoding_table['181,236'] = [26087] let s:lib.Codec.decoding_table['181,237'] = [29275] let s:lib.Codec.decoding_table['181,238'] = [21435] let s:lib.Codec.decoding_table['181,239'] = [23621] let s:lib.Codec.decoding_table['181,240'] = [24040] let s:lib.Codec.decoding_table['181,241'] = [25298] let s:lib.Codec.decoding_table['181,242'] = [25312] let s:lib.Codec.decoding_table['181,243'] = [25369] let s:lib.Codec.decoding_table['181,244'] = [28192] let s:lib.Codec.decoding_table['181,245'] = [34394] let s:lib.Codec.decoding_table['181,246'] = [35377] let s:lib.Codec.decoding_table['181,247'] = [36317] let s:lib.Codec.decoding_table['181,248'] = [37624] let s:lib.Codec.decoding_table['181,249'] = [28417] let s:lib.Codec.decoding_table['181,250'] = [31142] let s:lib.Codec.decoding_table['181,251'] = [39770] let s:lib.Codec.decoding_table['181,252'] = [20136] let s:lib.Codec.decoding_table['181,253'] = [20139] let s:lib.Codec.decoding_table['181,254'] = [20140] let s:lib.Codec.decoding_table['182,161'] = [20379] let s:lib.Codec.decoding_table['182,162'] = [20384] let s:lib.Codec.decoding_table['182,163'] = [20689] let s:lib.Codec.decoding_table['182,164'] = [20807] let s:lib.Codec.decoding_table['182,165'] = [31478] let s:lib.Codec.decoding_table['182,166'] = [20849] let s:lib.Codec.decoding_table['182,167'] = [20982] let s:lib.Codec.decoding_table['182,168'] = [21332] let s:lib.Codec.decoding_table['182,169'] = [21281] let s:lib.Codec.decoding_table['182,170'] = [21375] let s:lib.Codec.decoding_table['182,171'] = [21483] let s:lib.Codec.decoding_table['182,172'] = [21932] let s:lib.Codec.decoding_table['182,173'] = [22659] let s:lib.Codec.decoding_table['182,174'] = [23777] let s:lib.Codec.decoding_table['182,175'] = [24375] let s:lib.Codec.decoding_table['182,176'] = [24394] let s:lib.Codec.decoding_table['182,177'] = [24623] let s:lib.Codec.decoding_table['182,178'] = [24656] let s:lib.Codec.decoding_table['182,179'] = [24685] let s:lib.Codec.decoding_table['182,180'] = [25375] let s:lib.Codec.decoding_table['182,181'] = [25945] let s:lib.Codec.decoding_table['182,182'] = [27211] let s:lib.Codec.decoding_table['182,183'] = [27841] let s:lib.Codec.decoding_table['182,184'] = [29378] let s:lib.Codec.decoding_table['182,185'] = [29421] let s:lib.Codec.decoding_table['182,186'] = [30703] let s:lib.Codec.decoding_table['182,187'] = [33016] let s:lib.Codec.decoding_table['182,188'] = [33029] let s:lib.Codec.decoding_table['182,189'] = [33288] let s:lib.Codec.decoding_table['182,190'] = [34126] let s:lib.Codec.decoding_table['182,191'] = [37111] let s:lib.Codec.decoding_table['182,192'] = [37857] let s:lib.Codec.decoding_table['182,193'] = [38911] let s:lib.Codec.decoding_table['182,194'] = [39255] let s:lib.Codec.decoding_table['182,195'] = [39514] let s:lib.Codec.decoding_table['182,196'] = [20208] let s:lib.Codec.decoding_table['182,197'] = [20957] let s:lib.Codec.decoding_table['182,198'] = [23597] let s:lib.Codec.decoding_table['182,199'] = [26241] let s:lib.Codec.decoding_table['182,200'] = [26989] let s:lib.Codec.decoding_table['182,201'] = [23616] let s:lib.Codec.decoding_table['182,202'] = [26354] let s:lib.Codec.decoding_table['182,203'] = [26997] let s:lib.Codec.decoding_table['182,204'] = [29577] let s:lib.Codec.decoding_table['182,205'] = [26704] let s:lib.Codec.decoding_table['182,206'] = [31873] let s:lib.Codec.decoding_table['182,207'] = [20677] let s:lib.Codec.decoding_table['182,208'] = [21220] let s:lib.Codec.decoding_table['182,209'] = [22343] let s:lib.Codec.decoding_table['182,210'] = [24062] let s:lib.Codec.decoding_table['182,211'] = [37670] let s:lib.Codec.decoding_table['182,212'] = [26020] let s:lib.Codec.decoding_table['182,213'] = [27427] let s:lib.Codec.decoding_table['182,214'] = [27453] let s:lib.Codec.decoding_table['182,215'] = [29748] let s:lib.Codec.decoding_table['182,216'] = [31105] let s:lib.Codec.decoding_table['182,217'] = [31165] let s:lib.Codec.decoding_table['182,218'] = [31563] let s:lib.Codec.decoding_table['182,219'] = [32202] let s:lib.Codec.decoding_table['182,220'] = [33465] let s:lib.Codec.decoding_table['182,221'] = [33740] let s:lib.Codec.decoding_table['182,222'] = [34943] let s:lib.Codec.decoding_table['182,223'] = [35167] let s:lib.Codec.decoding_table['182,224'] = [35641] let s:lib.Codec.decoding_table['182,225'] = [36817] let s:lib.Codec.decoding_table['182,226'] = [37329] let s:lib.Codec.decoding_table['182,227'] = [21535] let s:lib.Codec.decoding_table['182,228'] = [37504] let s:lib.Codec.decoding_table['182,229'] = [20061] let s:lib.Codec.decoding_table['182,230'] = [20534] let s:lib.Codec.decoding_table['182,231'] = [21477] let s:lib.Codec.decoding_table['182,232'] = [21306] let s:lib.Codec.decoding_table['182,233'] = [29399] let s:lib.Codec.decoding_table['182,234'] = [29590] let s:lib.Codec.decoding_table['182,235'] = [30697] let s:lib.Codec.decoding_table['182,236'] = [33510] let s:lib.Codec.decoding_table['182,237'] = [36527] let s:lib.Codec.decoding_table['182,238'] = [39366] let s:lib.Codec.decoding_table['182,239'] = [39368] let s:lib.Codec.decoding_table['182,240'] = [39378] let s:lib.Codec.decoding_table['182,241'] = [20855] let s:lib.Codec.decoding_table['182,242'] = [24858] let s:lib.Codec.decoding_table['182,243'] = [34398] let s:lib.Codec.decoding_table['182,244'] = [21936] let s:lib.Codec.decoding_table['182,245'] = [31354] let s:lib.Codec.decoding_table['182,246'] = [20598] let s:lib.Codec.decoding_table['182,247'] = [23507] let s:lib.Codec.decoding_table['182,248'] = [36935] let s:lib.Codec.decoding_table['182,249'] = [38533] let s:lib.Codec.decoding_table['182,250'] = [20018] let s:lib.Codec.decoding_table['182,251'] = [27355] let s:lib.Codec.decoding_table['182,252'] = [37351] let s:lib.Codec.decoding_table['182,253'] = [23633] let s:lib.Codec.decoding_table['182,254'] = [23624] let s:lib.Codec.decoding_table['183,161'] = [25496] let s:lib.Codec.decoding_table['183,162'] = [31391] let s:lib.Codec.decoding_table['183,163'] = [27795] let s:lib.Codec.decoding_table['183,164'] = [38772] let s:lib.Codec.decoding_table['183,165'] = [36705] let s:lib.Codec.decoding_table['183,166'] = [31402] let s:lib.Codec.decoding_table['183,167'] = [29066] let s:lib.Codec.decoding_table['183,168'] = [38536] let s:lib.Codec.decoding_table['183,169'] = [31874] let s:lib.Codec.decoding_table['183,170'] = [26647] let s:lib.Codec.decoding_table['183,171'] = [32368] let s:lib.Codec.decoding_table['183,172'] = [26705] let s:lib.Codec.decoding_table['183,173'] = [37740] let s:lib.Codec.decoding_table['183,174'] = [21234] let s:lib.Codec.decoding_table['183,175'] = [21531] let s:lib.Codec.decoding_table['183,176'] = [34219] let s:lib.Codec.decoding_table['183,177'] = [35347] let s:lib.Codec.decoding_table['183,178'] = [32676] let s:lib.Codec.decoding_table['183,179'] = [36557] let s:lib.Codec.decoding_table['183,180'] = [37089] let s:lib.Codec.decoding_table['183,181'] = [21350] let s:lib.Codec.decoding_table['183,182'] = [34952] let s:lib.Codec.decoding_table['183,183'] = [31041] let s:lib.Codec.decoding_table['183,184'] = [20418] let s:lib.Codec.decoding_table['183,185'] = [20670] let s:lib.Codec.decoding_table['183,186'] = [21009] let s:lib.Codec.decoding_table['183,187'] = [20804] let s:lib.Codec.decoding_table['183,188'] = [21843] let s:lib.Codec.decoding_table['183,189'] = [22317] let s:lib.Codec.decoding_table['183,190'] = [29674] let s:lib.Codec.decoding_table['183,191'] = [22411] let s:lib.Codec.decoding_table['183,192'] = [22865] let s:lib.Codec.decoding_table['183,193'] = [24418] let s:lib.Codec.decoding_table['183,194'] = [24452] let s:lib.Codec.decoding_table['183,195'] = [24693] let s:lib.Codec.decoding_table['183,196'] = [24950] let s:lib.Codec.decoding_table['183,197'] = [24935] let s:lib.Codec.decoding_table['183,198'] = [25001] let s:lib.Codec.decoding_table['183,199'] = [25522] let s:lib.Codec.decoding_table['183,200'] = [25658] let s:lib.Codec.decoding_table['183,201'] = [25964] let s:lib.Codec.decoding_table['183,202'] = [26223] let s:lib.Codec.decoding_table['183,203'] = [26690] let s:lib.Codec.decoding_table['183,204'] = [28179] let s:lib.Codec.decoding_table['183,205'] = [30054] let s:lib.Codec.decoding_table['183,206'] = [31293] let s:lib.Codec.decoding_table['183,207'] = [31995] let s:lib.Codec.decoding_table['183,208'] = [32076] let s:lib.Codec.decoding_table['183,209'] = [32153] let s:lib.Codec.decoding_table['183,210'] = [32331] let s:lib.Codec.decoding_table['183,211'] = [32619] let s:lib.Codec.decoding_table['183,212'] = [33550] let s:lib.Codec.decoding_table['183,213'] = [33610] let s:lib.Codec.decoding_table['183,214'] = [34509] let s:lib.Codec.decoding_table['183,215'] = [35336] let s:lib.Codec.decoding_table['183,216'] = [35427] let s:lib.Codec.decoding_table['183,217'] = [35686] let s:lib.Codec.decoding_table['183,218'] = [36605] let s:lib.Codec.decoding_table['183,219'] = [38938] let s:lib.Codec.decoding_table['183,220'] = [40335] let s:lib.Codec.decoding_table['183,221'] = [33464] let s:lib.Codec.decoding_table['183,222'] = [36814] let s:lib.Codec.decoding_table['183,223'] = [39912] let s:lib.Codec.decoding_table['183,224'] = [21127] let s:lib.Codec.decoding_table['183,225'] = [25119] let s:lib.Codec.decoding_table['183,226'] = [25731] let s:lib.Codec.decoding_table['183,227'] = [28608] let s:lib.Codec.decoding_table['183,228'] = [38553] let s:lib.Codec.decoding_table['183,229'] = [26689] let s:lib.Codec.decoding_table['183,230'] = [20625] let s:lib.Codec.decoding_table['183,231'] = [27424] let s:lib.Codec.decoding_table['183,232'] = [27770] let s:lib.Codec.decoding_table['183,233'] = [28500] let s:lib.Codec.decoding_table['183,234'] = [31348] let s:lib.Codec.decoding_table['183,235'] = [32080] let s:lib.Codec.decoding_table['183,236'] = [34880] let s:lib.Codec.decoding_table['183,237'] = [35363] let s:lib.Codec.decoding_table['183,238'] = [26376] let s:lib.Codec.decoding_table['183,239'] = [20214] let s:lib.Codec.decoding_table['183,240'] = [20537] let s:lib.Codec.decoding_table['183,241'] = [20518] let s:lib.Codec.decoding_table['183,242'] = [20581] let s:lib.Codec.decoding_table['183,243'] = [20860] let s:lib.Codec.decoding_table['183,244'] = [21048] let s:lib.Codec.decoding_table['183,245'] = [21091] let s:lib.Codec.decoding_table['183,246'] = [21927] let s:lib.Codec.decoding_table['183,247'] = [22287] let s:lib.Codec.decoding_table['183,248'] = [22533] let s:lib.Codec.decoding_table['183,249'] = [23244] let s:lib.Codec.decoding_table['183,250'] = [24314] let s:lib.Codec.decoding_table['183,251'] = [25010] let s:lib.Codec.decoding_table['183,252'] = [25080] let s:lib.Codec.decoding_table['183,253'] = [25331] let s:lib.Codec.decoding_table['183,254'] = [25458] let s:lib.Codec.decoding_table['184,161'] = [26908] let s:lib.Codec.decoding_table['184,162'] = [27177] let s:lib.Codec.decoding_table['184,163'] = [29309] let s:lib.Codec.decoding_table['184,164'] = [29356] let s:lib.Codec.decoding_table['184,165'] = [29486] let s:lib.Codec.decoding_table['184,166'] = [30740] let s:lib.Codec.decoding_table['184,167'] = [30831] let s:lib.Codec.decoding_table['184,168'] = [32121] let s:lib.Codec.decoding_table['184,169'] = [30476] let s:lib.Codec.decoding_table['184,170'] = [32937] let s:lib.Codec.decoding_table['184,171'] = [35211] let s:lib.Codec.decoding_table['184,172'] = [35609] let s:lib.Codec.decoding_table['184,173'] = [36066] let s:lib.Codec.decoding_table['184,174'] = [36562] let s:lib.Codec.decoding_table['184,175'] = [36963] let s:lib.Codec.decoding_table['184,176'] = [37749] let s:lib.Codec.decoding_table['184,177'] = [38522] let s:lib.Codec.decoding_table['184,178'] = [38997] let s:lib.Codec.decoding_table['184,179'] = [39443] let s:lib.Codec.decoding_table['184,180'] = [40568] let s:lib.Codec.decoding_table['184,181'] = [20803] let s:lib.Codec.decoding_table['184,182'] = [21407] let s:lib.Codec.decoding_table['184,183'] = [21427] let s:lib.Codec.decoding_table['184,184'] = [24187] let s:lib.Codec.decoding_table['184,185'] = [24358] let s:lib.Codec.decoding_table['184,186'] = [28187] let s:lib.Codec.decoding_table['184,187'] = [28304] let s:lib.Codec.decoding_table['184,188'] = [29572] let s:lib.Codec.decoding_table['184,189'] = [29694] let s:lib.Codec.decoding_table['184,190'] = [32067] let s:lib.Codec.decoding_table['184,191'] = [33335] let s:lib.Codec.decoding_table['184,192'] = [35328] let s:lib.Codec.decoding_table['184,193'] = [35578] let s:lib.Codec.decoding_table['184,194'] = [38480] let s:lib.Codec.decoding_table['184,195'] = [20046] let s:lib.Codec.decoding_table['184,196'] = [20491] let s:lib.Codec.decoding_table['184,197'] = [21476] let s:lib.Codec.decoding_table['184,198'] = [21628] let s:lib.Codec.decoding_table['184,199'] = [22266] let s:lib.Codec.decoding_table['184,200'] = [22993] let s:lib.Codec.decoding_table['184,201'] = [23396] let s:lib.Codec.decoding_table['184,202'] = [24049] let s:lib.Codec.decoding_table['184,203'] = [24235] let s:lib.Codec.decoding_table['184,204'] = [24359] let s:lib.Codec.decoding_table['184,205'] = [25144] let s:lib.Codec.decoding_table['184,206'] = [25925] let s:lib.Codec.decoding_table['184,207'] = [26543] let s:lib.Codec.decoding_table['184,208'] = [28246] let s:lib.Codec.decoding_table['184,209'] = [29392] let s:lib.Codec.decoding_table['184,210'] = [31946] let s:lib.Codec.decoding_table['184,211'] = [34996] let s:lib.Codec.decoding_table['184,212'] = [32929] let s:lib.Codec.decoding_table['184,213'] = [32993] let s:lib.Codec.decoding_table['184,214'] = [33776] let s:lib.Codec.decoding_table['184,215'] = [34382] let s:lib.Codec.decoding_table['184,216'] = [35463] let s:lib.Codec.decoding_table['184,217'] = [36328] let s:lib.Codec.decoding_table['184,218'] = [37431] let s:lib.Codec.decoding_table['184,219'] = [38599] let s:lib.Codec.decoding_table['184,220'] = [39015] let s:lib.Codec.decoding_table['184,221'] = [40723] let s:lib.Codec.decoding_table['184,222'] = [20116] let s:lib.Codec.decoding_table['184,223'] = [20114] let s:lib.Codec.decoding_table['184,224'] = [20237] let s:lib.Codec.decoding_table['184,225'] = [21320] let s:lib.Codec.decoding_table['184,226'] = [21577] let s:lib.Codec.decoding_table['184,227'] = [21566] let s:lib.Codec.decoding_table['184,228'] = [23087] let s:lib.Codec.decoding_table['184,229'] = [24460] let s:lib.Codec.decoding_table['184,230'] = [24481] let s:lib.Codec.decoding_table['184,231'] = [24735] let s:lib.Codec.decoding_table['184,232'] = [26791] let s:lib.Codec.decoding_table['184,233'] = [27278] let s:lib.Codec.decoding_table['184,234'] = [29786] let s:lib.Codec.decoding_table['184,235'] = [30849] let s:lib.Codec.decoding_table['184,236'] = [35486] let s:lib.Codec.decoding_table['184,237'] = [35492] let s:lib.Codec.decoding_table['184,238'] = [35703] let s:lib.Codec.decoding_table['184,239'] = [37264] let s:lib.Codec.decoding_table['184,240'] = [20062] let s:lib.Codec.decoding_table['184,241'] = [39881] let s:lib.Codec.decoding_table['184,242'] = [20132] let s:lib.Codec.decoding_table['184,243'] = [20348] let s:lib.Codec.decoding_table['184,244'] = [20399] let s:lib.Codec.decoding_table['184,245'] = [20505] let s:lib.Codec.decoding_table['184,246'] = [20502] let s:lib.Codec.decoding_table['184,247'] = [20809] let s:lib.Codec.decoding_table['184,248'] = [20844] let s:lib.Codec.decoding_table['184,249'] = [21151] let s:lib.Codec.decoding_table['184,250'] = [21177] let s:lib.Codec.decoding_table['184,251'] = [21246] let s:lib.Codec.decoding_table['184,252'] = [21402] let s:lib.Codec.decoding_table['184,253'] = [21475] let s:lib.Codec.decoding_table['184,254'] = [21521] let s:lib.Codec.decoding_table['185,161'] = [21518] let s:lib.Codec.decoding_table['185,162'] = [21897] let s:lib.Codec.decoding_table['185,163'] = [22353] let s:lib.Codec.decoding_table['185,164'] = [22434] let s:lib.Codec.decoding_table['185,165'] = [22909] let s:lib.Codec.decoding_table['185,166'] = [23380] let s:lib.Codec.decoding_table['185,167'] = [23389] let s:lib.Codec.decoding_table['185,168'] = [23439] let s:lib.Codec.decoding_table['185,169'] = [24037] let s:lib.Codec.decoding_table['185,170'] = [24039] let s:lib.Codec.decoding_table['185,171'] = [24055] let s:lib.Codec.decoding_table['185,172'] = [24184] let s:lib.Codec.decoding_table['185,173'] = [24195] let s:lib.Codec.decoding_table['185,174'] = [24218] let s:lib.Codec.decoding_table['185,175'] = [24247] let s:lib.Codec.decoding_table['185,176'] = [24344] let s:lib.Codec.decoding_table['185,177'] = [24658] let s:lib.Codec.decoding_table['185,178'] = [24908] let s:lib.Codec.decoding_table['185,179'] = [25239] let s:lib.Codec.decoding_table['185,180'] = [25304] let s:lib.Codec.decoding_table['185,181'] = [25511] let s:lib.Codec.decoding_table['185,182'] = [25915] let s:lib.Codec.decoding_table['185,183'] = [26114] let s:lib.Codec.decoding_table['185,184'] = [26179] let s:lib.Codec.decoding_table['185,185'] = [26356] let s:lib.Codec.decoding_table['185,186'] = [26477] let s:lib.Codec.decoding_table['185,187'] = [26657] let s:lib.Codec.decoding_table['185,188'] = [26775] let s:lib.Codec.decoding_table['185,189'] = [27083] let s:lib.Codec.decoding_table['185,190'] = [27743] let s:lib.Codec.decoding_table['185,191'] = [27946] let s:lib.Codec.decoding_table['185,192'] = [28009] let s:lib.Codec.decoding_table['185,193'] = [28207] let s:lib.Codec.decoding_table['185,194'] = [28317] let s:lib.Codec.decoding_table['185,195'] = [30002] let s:lib.Codec.decoding_table['185,196'] = [30343] let s:lib.Codec.decoding_table['185,197'] = [30828] let s:lib.Codec.decoding_table['185,198'] = [31295] let s:lib.Codec.decoding_table['185,199'] = [31968] let s:lib.Codec.decoding_table['185,200'] = [32005] let s:lib.Codec.decoding_table['185,201'] = [32024] let s:lib.Codec.decoding_table['185,202'] = [32094] let s:lib.Codec.decoding_table['185,203'] = [32177] let s:lib.Codec.decoding_table['185,204'] = [32789] let s:lib.Codec.decoding_table['185,205'] = [32771] let s:lib.Codec.decoding_table['185,206'] = [32943] let s:lib.Codec.decoding_table['185,207'] = [32945] let s:lib.Codec.decoding_table['185,208'] = [33108] let s:lib.Codec.decoding_table['185,209'] = [33167] let s:lib.Codec.decoding_table['185,210'] = [33322] let s:lib.Codec.decoding_table['185,211'] = [33618] let s:lib.Codec.decoding_table['185,212'] = [34892] let s:lib.Codec.decoding_table['185,213'] = [34913] let s:lib.Codec.decoding_table['185,214'] = [35611] let s:lib.Codec.decoding_table['185,215'] = [36002] let s:lib.Codec.decoding_table['185,216'] = [36092] let s:lib.Codec.decoding_table['185,217'] = [37066] let s:lib.Codec.decoding_table['185,218'] = [37237] let s:lib.Codec.decoding_table['185,219'] = [37489] let s:lib.Codec.decoding_table['185,220'] = [30783] let s:lib.Codec.decoding_table['185,221'] = [37628] let s:lib.Codec.decoding_table['185,222'] = [38308] let s:lib.Codec.decoding_table['185,223'] = [38477] let s:lib.Codec.decoding_table['185,224'] = [38917] let s:lib.Codec.decoding_table['185,225'] = [39321] let s:lib.Codec.decoding_table['185,226'] = [39640] let s:lib.Codec.decoding_table['185,227'] = [40251] let s:lib.Codec.decoding_table['185,228'] = [21083] let s:lib.Codec.decoding_table['185,229'] = [21163] let s:lib.Codec.decoding_table['185,230'] = [21495] let s:lib.Codec.decoding_table['185,231'] = [21512] let s:lib.Codec.decoding_table['185,232'] = [22741] let s:lib.Codec.decoding_table['185,233'] = [25335] let s:lib.Codec.decoding_table['185,234'] = [28640] let s:lib.Codec.decoding_table['185,235'] = [35946] let s:lib.Codec.decoding_table['185,236'] = [36703] let s:lib.Codec.decoding_table['185,237'] = [40633] let s:lib.Codec.decoding_table['185,238'] = [20811] let s:lib.Codec.decoding_table['185,239'] = [21051] let s:lib.Codec.decoding_table['185,240'] = [21578] let s:lib.Codec.decoding_table['185,241'] = [22269] let s:lib.Codec.decoding_table['185,242'] = [31296] let s:lib.Codec.decoding_table['185,243'] = [37239] let s:lib.Codec.decoding_table['185,244'] = [40288] let s:lib.Codec.decoding_table['185,245'] = [40658] let s:lib.Codec.decoding_table['185,246'] = [29508] let s:lib.Codec.decoding_table['185,247'] = [28425] let s:lib.Codec.decoding_table['185,248'] = [33136] let s:lib.Codec.decoding_table['185,249'] = [29969] let s:lib.Codec.decoding_table['185,250'] = [24573] let s:lib.Codec.decoding_table['185,251'] = [24794] let s:lib.Codec.decoding_table['185,252'] = [39592] let s:lib.Codec.decoding_table['185,253'] = [29403] let s:lib.Codec.decoding_table['185,254'] = [36796] let s:lib.Codec.decoding_table['186,161'] = [27492] let s:lib.Codec.decoding_table['186,162'] = [38915] let s:lib.Codec.decoding_table['186,163'] = [20170] let s:lib.Codec.decoding_table['186,164'] = [22256] let s:lib.Codec.decoding_table['186,165'] = [22372] let s:lib.Codec.decoding_table['186,166'] = [22718] let s:lib.Codec.decoding_table['186,167'] = [23130] let s:lib.Codec.decoding_table['186,168'] = [24680] let s:lib.Codec.decoding_table['186,169'] = [25031] let s:lib.Codec.decoding_table['186,170'] = [26127] let s:lib.Codec.decoding_table['186,171'] = [26118] let s:lib.Codec.decoding_table['186,172'] = [26681] let s:lib.Codec.decoding_table['186,173'] = [26801] let s:lib.Codec.decoding_table['186,174'] = [28151] let s:lib.Codec.decoding_table['186,175'] = [30165] let s:lib.Codec.decoding_table['186,176'] = [32058] let s:lib.Codec.decoding_table['186,177'] = [33390] let s:lib.Codec.decoding_table['186,178'] = [39746] let s:lib.Codec.decoding_table['186,179'] = [20123] let s:lib.Codec.decoding_table['186,180'] = [20304] let s:lib.Codec.decoding_table['186,181'] = [21449] let s:lib.Codec.decoding_table['186,182'] = [21766] let s:lib.Codec.decoding_table['186,183'] = [23919] let s:lib.Codec.decoding_table['186,184'] = [24038] let s:lib.Codec.decoding_table['186,185'] = [24046] let s:lib.Codec.decoding_table['186,186'] = [26619] let s:lib.Codec.decoding_table['186,187'] = [27801] let s:lib.Codec.decoding_table['186,188'] = [29811] let s:lib.Codec.decoding_table['186,189'] = [30722] let s:lib.Codec.decoding_table['186,190'] = [35408] let s:lib.Codec.decoding_table['186,191'] = [37782] let s:lib.Codec.decoding_table['186,192'] = [35039] let s:lib.Codec.decoding_table['186,193'] = [22352] let s:lib.Codec.decoding_table['186,194'] = [24231] let s:lib.Codec.decoding_table['186,195'] = [25387] let s:lib.Codec.decoding_table['186,196'] = [20661] let s:lib.Codec.decoding_table['186,197'] = [20652] let s:lib.Codec.decoding_table['186,198'] = [20877] let s:lib.Codec.decoding_table['186,199'] = [26368] let s:lib.Codec.decoding_table['186,200'] = [21705] let s:lib.Codec.decoding_table['186,201'] = [22622] let s:lib.Codec.decoding_table['186,202'] = [22971] let s:lib.Codec.decoding_table['186,203'] = [23472] let s:lib.Codec.decoding_table['186,204'] = [24425] let s:lib.Codec.decoding_table['186,205'] = [25165] let s:lib.Codec.decoding_table['186,206'] = [25505] let s:lib.Codec.decoding_table['186,207'] = [26685] let s:lib.Codec.decoding_table['186,208'] = [27507] let s:lib.Codec.decoding_table['186,209'] = [28168] let s:lib.Codec.decoding_table['186,210'] = [28797] let s:lib.Codec.decoding_table['186,211'] = [37319] let s:lib.Codec.decoding_table['186,212'] = [29312] let s:lib.Codec.decoding_table['186,213'] = [30741] let s:lib.Codec.decoding_table['186,214'] = [30758] let s:lib.Codec.decoding_table['186,215'] = [31085] let s:lib.Codec.decoding_table['186,216'] = [25998] let s:lib.Codec.decoding_table['186,217'] = [32048] let s:lib.Codec.decoding_table['186,218'] = [33756] let s:lib.Codec.decoding_table['186,219'] = [35009] let s:lib.Codec.decoding_table['186,220'] = [36617] let s:lib.Codec.decoding_table['186,221'] = [38555] let s:lib.Codec.decoding_table['186,222'] = [21092] let s:lib.Codec.decoding_table['186,223'] = [22312] let s:lib.Codec.decoding_table['186,224'] = [26448] let s:lib.Codec.decoding_table['186,225'] = [32618] let s:lib.Codec.decoding_table['186,226'] = [36001] let s:lib.Codec.decoding_table['186,227'] = [20916] let s:lib.Codec.decoding_table['186,228'] = [22338] let s:lib.Codec.decoding_table['186,229'] = [38442] let s:lib.Codec.decoding_table['186,230'] = [22586] let s:lib.Codec.decoding_table['186,231'] = [27018] let s:lib.Codec.decoding_table['186,232'] = [32948] let s:lib.Codec.decoding_table['186,233'] = [21682] let s:lib.Codec.decoding_table['186,234'] = [23822] let s:lib.Codec.decoding_table['186,235'] = [22524] let s:lib.Codec.decoding_table['186,236'] = [30869] let s:lib.Codec.decoding_table['186,237'] = [40442] let s:lib.Codec.decoding_table['186,238'] = [20316] let s:lib.Codec.decoding_table['186,239'] = [21066] let s:lib.Codec.decoding_table['186,240'] = [21643] let s:lib.Codec.decoding_table['186,241'] = [25662] let s:lib.Codec.decoding_table['186,242'] = [26152] let s:lib.Codec.decoding_table['186,243'] = [26388] let s:lib.Codec.decoding_table['186,244'] = [26613] let s:lib.Codec.decoding_table['186,245'] = [31364] let s:lib.Codec.decoding_table['186,246'] = [31574] let s:lib.Codec.decoding_table['186,247'] = [32034] let s:lib.Codec.decoding_table['186,248'] = [37679] let s:lib.Codec.decoding_table['186,249'] = [26716] let s:lib.Codec.decoding_table['186,250'] = [39853] let s:lib.Codec.decoding_table['186,251'] = [31545] let s:lib.Codec.decoding_table['186,252'] = [21273] let s:lib.Codec.decoding_table['186,253'] = [20874] let s:lib.Codec.decoding_table['186,254'] = [21047] let s:lib.Codec.decoding_table['187,161'] = [23519] let s:lib.Codec.decoding_table['187,162'] = [25334] let s:lib.Codec.decoding_table['187,163'] = [25774] let s:lib.Codec.decoding_table['187,164'] = [25830] let s:lib.Codec.decoding_table['187,165'] = [26413] let s:lib.Codec.decoding_table['187,166'] = [27578] let s:lib.Codec.decoding_table['187,167'] = [34217] let s:lib.Codec.decoding_table['187,168'] = [38609] let s:lib.Codec.decoding_table['187,169'] = [30352] let s:lib.Codec.decoding_table['187,170'] = [39894] let s:lib.Codec.decoding_table['187,171'] = [25420] let s:lib.Codec.decoding_table['187,172'] = [37638] let s:lib.Codec.decoding_table['187,173'] = [39851] let s:lib.Codec.decoding_table['187,174'] = [30399] let s:lib.Codec.decoding_table['187,175'] = [26194] let s:lib.Codec.decoding_table['187,176'] = [19977] let s:lib.Codec.decoding_table['187,177'] = [20632] let s:lib.Codec.decoding_table['187,178'] = [21442] let s:lib.Codec.decoding_table['187,179'] = [23665] let s:lib.Codec.decoding_table['187,180'] = [24808] let s:lib.Codec.decoding_table['187,181'] = [25746] let s:lib.Codec.decoding_table['187,182'] = [25955] let s:lib.Codec.decoding_table['187,183'] = [26719] let s:lib.Codec.decoding_table['187,184'] = [29158] let s:lib.Codec.decoding_table['187,185'] = [29642] let s:lib.Codec.decoding_table['187,186'] = [29987] let s:lib.Codec.decoding_table['187,187'] = [31639] let s:lib.Codec.decoding_table['187,188'] = [32386] let s:lib.Codec.decoding_table['187,189'] = [34453] let s:lib.Codec.decoding_table['187,190'] = [35715] let s:lib.Codec.decoding_table['187,191'] = [36059] let s:lib.Codec.decoding_table['187,192'] = [37240] let s:lib.Codec.decoding_table['187,193'] = [39184] let s:lib.Codec.decoding_table['187,194'] = [26028] let s:lib.Codec.decoding_table['187,195'] = [26283] let s:lib.Codec.decoding_table['187,196'] = [27531] let s:lib.Codec.decoding_table['187,197'] = [20181] let s:lib.Codec.decoding_table['187,198'] = [20180] let s:lib.Codec.decoding_table['187,199'] = [20282] let s:lib.Codec.decoding_table['187,200'] = [20351] let s:lib.Codec.decoding_table['187,201'] = [21050] let s:lib.Codec.decoding_table['187,202'] = [21496] let s:lib.Codec.decoding_table['187,203'] = [21490] let s:lib.Codec.decoding_table['187,204'] = [21987] let s:lib.Codec.decoding_table['187,205'] = [22235] let s:lib.Codec.decoding_table['187,206'] = [22763] let s:lib.Codec.decoding_table['187,207'] = [22987] let s:lib.Codec.decoding_table['187,208'] = [22985] let s:lib.Codec.decoding_table['187,209'] = [23039] let s:lib.Codec.decoding_table['187,210'] = [23376] let s:lib.Codec.decoding_table['187,211'] = [23629] let s:lib.Codec.decoding_table['187,212'] = [24066] let s:lib.Codec.decoding_table['187,213'] = [24107] let s:lib.Codec.decoding_table['187,214'] = [24535] let s:lib.Codec.decoding_table['187,215'] = [24605] let s:lib.Codec.decoding_table['187,216'] = [25351] let s:lib.Codec.decoding_table['187,217'] = [25903] let s:lib.Codec.decoding_table['187,218'] = [23388] let s:lib.Codec.decoding_table['187,219'] = [26031] let s:lib.Codec.decoding_table['187,220'] = [26045] let s:lib.Codec.decoding_table['187,221'] = [26088] let s:lib.Codec.decoding_table['187,222'] = [26525] let s:lib.Codec.decoding_table['187,223'] = [27490] let s:lib.Codec.decoding_table['187,224'] = [27515] let s:lib.Codec.decoding_table['187,225'] = [27663] let s:lib.Codec.decoding_table['187,226'] = [29509] let s:lib.Codec.decoding_table['187,227'] = [31049] let s:lib.Codec.decoding_table['187,228'] = [31169] let s:lib.Codec.decoding_table['187,229'] = [31992] let s:lib.Codec.decoding_table['187,230'] = [32025] let s:lib.Codec.decoding_table['187,231'] = [32043] let s:lib.Codec.decoding_table['187,232'] = [32930] let s:lib.Codec.decoding_table['187,233'] = [33026] let s:lib.Codec.decoding_table['187,234'] = [33267] let s:lib.Codec.decoding_table['187,235'] = [35222] let s:lib.Codec.decoding_table['187,236'] = [35422] let s:lib.Codec.decoding_table['187,237'] = [35433] let s:lib.Codec.decoding_table['187,238'] = [35430] let s:lib.Codec.decoding_table['187,239'] = [35468] let s:lib.Codec.decoding_table['187,240'] = [35566] let s:lib.Codec.decoding_table['187,241'] = [36039] let s:lib.Codec.decoding_table['187,242'] = [36060] let s:lib.Codec.decoding_table['187,243'] = [38604] let s:lib.Codec.decoding_table['187,244'] = [39164] let s:lib.Codec.decoding_table['187,245'] = [27503] let s:lib.Codec.decoding_table['187,246'] = [20107] let s:lib.Codec.decoding_table['187,247'] = [20284] let s:lib.Codec.decoding_table['187,248'] = [20365] let s:lib.Codec.decoding_table['187,249'] = [20816] let s:lib.Codec.decoding_table['187,250'] = [23383] let s:lib.Codec.decoding_table['187,251'] = [23546] let s:lib.Codec.decoding_table['187,252'] = [24904] let s:lib.Codec.decoding_table['187,253'] = [25345] let s:lib.Codec.decoding_table['187,254'] = [26178] let s:lib.Codec.decoding_table['188,161'] = [27425] let s:lib.Codec.decoding_table['188,162'] = [28363] let s:lib.Codec.decoding_table['188,163'] = [27835] let s:lib.Codec.decoding_table['188,164'] = [29246] let s:lib.Codec.decoding_table['188,165'] = [29885] let s:lib.Codec.decoding_table['188,166'] = [30164] let s:lib.Codec.decoding_table['188,167'] = [30913] let s:lib.Codec.decoding_table['188,168'] = [31034] let s:lib.Codec.decoding_table['188,169'] = [32780] let s:lib.Codec.decoding_table['188,170'] = [32819] let s:lib.Codec.decoding_table['188,171'] = [33258] let s:lib.Codec.decoding_table['188,172'] = [33940] let s:lib.Codec.decoding_table['188,173'] = [36766] let s:lib.Codec.decoding_table['188,174'] = [27728] let s:lib.Codec.decoding_table['188,175'] = [40575] let s:lib.Codec.decoding_table['188,176'] = [24335] let s:lib.Codec.decoding_table['188,177'] = [35672] let s:lib.Codec.decoding_table['188,178'] = [40235] let s:lib.Codec.decoding_table['188,179'] = [31482] let s:lib.Codec.decoding_table['188,180'] = [36600] let s:lib.Codec.decoding_table['188,181'] = [23437] let s:lib.Codec.decoding_table['188,182'] = [38635] let s:lib.Codec.decoding_table['188,183'] = [19971] let s:lib.Codec.decoding_table['188,184'] = [21489] let s:lib.Codec.decoding_table['188,185'] = [22519] let s:lib.Codec.decoding_table['188,186'] = [22833] let s:lib.Codec.decoding_table['188,187'] = [23241] let s:lib.Codec.decoding_table['188,188'] = [23460] let s:lib.Codec.decoding_table['188,189'] = [24713] let s:lib.Codec.decoding_table['188,190'] = [28287] let s:lib.Codec.decoding_table['188,191'] = [28422] let s:lib.Codec.decoding_table['188,192'] = [30142] let s:lib.Codec.decoding_table['188,193'] = [36074] let s:lib.Codec.decoding_table['188,194'] = [23455] let s:lib.Codec.decoding_table['188,195'] = [34048] let s:lib.Codec.decoding_table['188,196'] = [31712] let s:lib.Codec.decoding_table['188,197'] = [20594] let s:lib.Codec.decoding_table['188,198'] = [26612] let s:lib.Codec.decoding_table['188,199'] = [33437] let s:lib.Codec.decoding_table['188,200'] = [23649] let s:lib.Codec.decoding_table['188,201'] = [34122] let s:lib.Codec.decoding_table['188,202'] = [32286] let s:lib.Codec.decoding_table['188,203'] = [33294] let s:lib.Codec.decoding_table['188,204'] = [20889] let s:lib.Codec.decoding_table['188,205'] = [23556] let s:lib.Codec.decoding_table['188,206'] = [25448] let s:lib.Codec.decoding_table['188,207'] = [36198] let s:lib.Codec.decoding_table['188,208'] = [26012] let s:lib.Codec.decoding_table['188,209'] = [29038] let s:lib.Codec.decoding_table['188,210'] = [31038] let s:lib.Codec.decoding_table['188,211'] = [32023] let s:lib.Codec.decoding_table['188,212'] = [32773] let s:lib.Codec.decoding_table['188,213'] = [35613] let s:lib.Codec.decoding_table['188,214'] = [36554] let s:lib.Codec.decoding_table['188,215'] = [36974] let s:lib.Codec.decoding_table['188,216'] = [34503] let s:lib.Codec.decoding_table['188,217'] = [37034] let s:lib.Codec.decoding_table['188,218'] = [20511] let s:lib.Codec.decoding_table['188,219'] = [21242] let s:lib.Codec.decoding_table['188,220'] = [23610] let s:lib.Codec.decoding_table['188,221'] = [26451] let s:lib.Codec.decoding_table['188,222'] = [28796] let s:lib.Codec.decoding_table['188,223'] = [29237] let s:lib.Codec.decoding_table['188,224'] = [37196] let s:lib.Codec.decoding_table['188,225'] = [37320] let s:lib.Codec.decoding_table['188,226'] = [37675] let s:lib.Codec.decoding_table['188,227'] = [33509] let s:lib.Codec.decoding_table['188,228'] = [23490] let s:lib.Codec.decoding_table['188,229'] = [24369] let s:lib.Codec.decoding_table['188,230'] = [24825] let s:lib.Codec.decoding_table['188,231'] = [20027] let s:lib.Codec.decoding_table['188,232'] = [21462] let s:lib.Codec.decoding_table['188,233'] = [23432] let s:lib.Codec.decoding_table['188,234'] = [25163] let s:lib.Codec.decoding_table['188,235'] = [26417] let s:lib.Codec.decoding_table['188,236'] = [27530] let s:lib.Codec.decoding_table['188,237'] = [29417] let s:lib.Codec.decoding_table['188,238'] = [29664] let s:lib.Codec.decoding_table['188,239'] = [31278] let s:lib.Codec.decoding_table['188,240'] = [33131] let s:lib.Codec.decoding_table['188,241'] = [36259] let s:lib.Codec.decoding_table['188,242'] = [37202] let s:lib.Codec.decoding_table['188,243'] = [39318] let s:lib.Codec.decoding_table['188,244'] = [20754] let s:lib.Codec.decoding_table['188,245'] = [21463] let s:lib.Codec.decoding_table['188,246'] = [21610] let s:lib.Codec.decoding_table['188,247'] = [23551] let s:lib.Codec.decoding_table['188,248'] = [25480] let s:lib.Codec.decoding_table['188,249'] = [27193] let s:lib.Codec.decoding_table['188,250'] = [32172] let s:lib.Codec.decoding_table['188,251'] = [38656] let s:lib.Codec.decoding_table['188,252'] = [22234] let s:lib.Codec.decoding_table['188,253'] = [21454] let s:lib.Codec.decoding_table['188,254'] = [21608] let s:lib.Codec.decoding_table['189,161'] = [23447] let s:lib.Codec.decoding_table['189,162'] = [23601] let s:lib.Codec.decoding_table['189,163'] = [24030] let s:lib.Codec.decoding_table['189,164'] = [20462] let s:lib.Codec.decoding_table['189,165'] = [24833] let s:lib.Codec.decoding_table['189,166'] = [25342] let s:lib.Codec.decoding_table['189,167'] = [27954] let s:lib.Codec.decoding_table['189,168'] = [31168] let s:lib.Codec.decoding_table['189,169'] = [31179] let s:lib.Codec.decoding_table['189,170'] = [32066] let s:lib.Codec.decoding_table['189,171'] = [32333] let s:lib.Codec.decoding_table['189,172'] = [32722] let s:lib.Codec.decoding_table['189,173'] = [33261] let s:lib.Codec.decoding_table['189,174'] = [33311] let s:lib.Codec.decoding_table['189,175'] = [33936] let s:lib.Codec.decoding_table['189,176'] = [34886] let s:lib.Codec.decoding_table['189,177'] = [35186] let s:lib.Codec.decoding_table['189,178'] = [35728] let s:lib.Codec.decoding_table['189,179'] = [36468] let s:lib.Codec.decoding_table['189,180'] = [36655] let s:lib.Codec.decoding_table['189,181'] = [36913] let s:lib.Codec.decoding_table['189,182'] = [37195] let s:lib.Codec.decoding_table['189,183'] = [37228] let s:lib.Codec.decoding_table['189,184'] = [38598] let s:lib.Codec.decoding_table['189,185'] = [37276] let s:lib.Codec.decoding_table['189,186'] = [20160] let s:lib.Codec.decoding_table['189,187'] = [20303] let s:lib.Codec.decoding_table['189,188'] = [20805] let s:lib.Codec.decoding_table['189,189'] = [21313] let s:lib.Codec.decoding_table['189,190'] = [24467] let s:lib.Codec.decoding_table['189,191'] = [25102] let s:lib.Codec.decoding_table['189,192'] = [26580] let s:lib.Codec.decoding_table['189,193'] = [27713] let s:lib.Codec.decoding_table['189,194'] = [28171] let s:lib.Codec.decoding_table['189,195'] = [29539] let s:lib.Codec.decoding_table['189,196'] = [32294] let s:lib.Codec.decoding_table['189,197'] = [37325] let s:lib.Codec.decoding_table['189,198'] = [37507] let s:lib.Codec.decoding_table['189,199'] = [21460] let s:lib.Codec.decoding_table['189,200'] = [22809] let s:lib.Codec.decoding_table['189,201'] = [23487] let s:lib.Codec.decoding_table['189,202'] = [28113] let s:lib.Codec.decoding_table['189,203'] = [31069] let s:lib.Codec.decoding_table['189,204'] = [32302] let s:lib.Codec.decoding_table['189,205'] = [31899] let s:lib.Codec.decoding_table['189,206'] = [22654] let s:lib.Codec.decoding_table['189,207'] = [29087] let s:lib.Codec.decoding_table['189,208'] = [20986] let s:lib.Codec.decoding_table['189,209'] = [34899] let s:lib.Codec.decoding_table['189,210'] = [36848] let s:lib.Codec.decoding_table['189,211'] = [20426] let s:lib.Codec.decoding_table['189,212'] = [23803] let s:lib.Codec.decoding_table['189,213'] = [26149] let s:lib.Codec.decoding_table['189,214'] = [30636] let s:lib.Codec.decoding_table['189,215'] = [31459] let s:lib.Codec.decoding_table['189,216'] = [33308] let s:lib.Codec.decoding_table['189,217'] = [39423] let s:lib.Codec.decoding_table['189,218'] = [20934] let s:lib.Codec.decoding_table['189,219'] = [24490] let s:lib.Codec.decoding_table['189,220'] = [26092] let s:lib.Codec.decoding_table['189,221'] = [26991] let s:lib.Codec.decoding_table['189,222'] = [27529] let s:lib.Codec.decoding_table['189,223'] = [28147] let s:lib.Codec.decoding_table['189,224'] = [28310] let s:lib.Codec.decoding_table['189,225'] = [28516] let s:lib.Codec.decoding_table['189,226'] = [30462] let s:lib.Codec.decoding_table['189,227'] = [32020] let s:lib.Codec.decoding_table['189,228'] = [24033] let s:lib.Codec.decoding_table['189,229'] = [36981] let s:lib.Codec.decoding_table['189,230'] = [37255] let s:lib.Codec.decoding_table['189,231'] = [38918] let s:lib.Codec.decoding_table['189,232'] = [20966] let s:lib.Codec.decoding_table['189,233'] = [21021] let s:lib.Codec.decoding_table['189,234'] = [25152] let s:lib.Codec.decoding_table['189,235'] = [26257] let s:lib.Codec.decoding_table['189,236'] = [26329] let s:lib.Codec.decoding_table['189,237'] = [28186] let s:lib.Codec.decoding_table['189,238'] = [24246] let s:lib.Codec.decoding_table['189,239'] = [32210] let s:lib.Codec.decoding_table['189,240'] = [32626] let s:lib.Codec.decoding_table['189,241'] = [26360] let s:lib.Codec.decoding_table['189,242'] = [34223] let s:lib.Codec.decoding_table['189,243'] = [34295] let s:lib.Codec.decoding_table['189,244'] = [35576] let s:lib.Codec.decoding_table['189,245'] = [21161] let s:lib.Codec.decoding_table['189,246'] = [21465] let s:lib.Codec.decoding_table['189,247'] = [22899] let s:lib.Codec.decoding_table['189,248'] = [24207] let s:lib.Codec.decoding_table['189,249'] = [24464] let s:lib.Codec.decoding_table['189,250'] = [24661] let s:lib.Codec.decoding_table['189,251'] = [37604] let s:lib.Codec.decoding_table['189,252'] = [38500] let s:lib.Codec.decoding_table['189,253'] = [20663] let s:lib.Codec.decoding_table['189,254'] = [20767] let s:lib.Codec.decoding_table['190,161'] = [21213] let s:lib.Codec.decoding_table['190,162'] = [21280] let s:lib.Codec.decoding_table['190,163'] = [21319] let s:lib.Codec.decoding_table['190,164'] = [21484] let s:lib.Codec.decoding_table['190,165'] = [21736] let s:lib.Codec.decoding_table['190,166'] = [21830] let s:lib.Codec.decoding_table['190,167'] = [21809] let s:lib.Codec.decoding_table['190,168'] = [22039] let s:lib.Codec.decoding_table['190,169'] = [22888] let s:lib.Codec.decoding_table['190,170'] = [22974] let s:lib.Codec.decoding_table['190,171'] = [23100] let s:lib.Codec.decoding_table['190,172'] = [23477] let s:lib.Codec.decoding_table['190,173'] = [23558] let s:lib.Codec.decoding_table['190,174'] = [23567] let s:lib.Codec.decoding_table['190,175'] = [23569] let s:lib.Codec.decoding_table['190,176'] = [23578] let s:lib.Codec.decoding_table['190,177'] = [24196] let s:lib.Codec.decoding_table['190,178'] = [24202] let s:lib.Codec.decoding_table['190,179'] = [24288] let s:lib.Codec.decoding_table['190,180'] = [24432] let s:lib.Codec.decoding_table['190,181'] = [25215] let s:lib.Codec.decoding_table['190,182'] = [25220] let s:lib.Codec.decoding_table['190,183'] = [25307] let s:lib.Codec.decoding_table['190,184'] = [25484] let s:lib.Codec.decoding_table['190,185'] = [25463] let s:lib.Codec.decoding_table['190,186'] = [26119] let s:lib.Codec.decoding_table['190,187'] = [26124] let s:lib.Codec.decoding_table['190,188'] = [26157] let s:lib.Codec.decoding_table['190,189'] = [26230] let s:lib.Codec.decoding_table['190,190'] = [26494] let s:lib.Codec.decoding_table['190,191'] = [26786] let s:lib.Codec.decoding_table['190,192'] = [27167] let s:lib.Codec.decoding_table['190,193'] = [27189] let s:lib.Codec.decoding_table['190,194'] = [27836] let s:lib.Codec.decoding_table['190,195'] = [28040] let s:lib.Codec.decoding_table['190,196'] = [28169] let s:lib.Codec.decoding_table['190,197'] = [28248] let s:lib.Codec.decoding_table['190,198'] = [28988] let s:lib.Codec.decoding_table['190,199'] = [28966] let s:lib.Codec.decoding_table['190,200'] = [29031] let s:lib.Codec.decoding_table['190,201'] = [30151] let s:lib.Codec.decoding_table['190,202'] = [30465] let s:lib.Codec.decoding_table['190,203'] = [30813] let s:lib.Codec.decoding_table['190,204'] = [30977] let s:lib.Codec.decoding_table['190,205'] = [31077] let s:lib.Codec.decoding_table['190,206'] = [31216] let s:lib.Codec.decoding_table['190,207'] = [31456] let s:lib.Codec.decoding_table['190,208'] = [31505] let s:lib.Codec.decoding_table['190,209'] = [31911] let s:lib.Codec.decoding_table['190,210'] = [32057] let s:lib.Codec.decoding_table['190,211'] = [32918] let s:lib.Codec.decoding_table['190,212'] = [33750] let s:lib.Codec.decoding_table['190,213'] = [33931] let s:lib.Codec.decoding_table['190,214'] = [34121] let s:lib.Codec.decoding_table['190,215'] = [34909] let s:lib.Codec.decoding_table['190,216'] = [35059] let s:lib.Codec.decoding_table['190,217'] = [35359] let s:lib.Codec.decoding_table['190,218'] = [35388] let s:lib.Codec.decoding_table['190,219'] = [35412] let s:lib.Codec.decoding_table['190,220'] = [35443] let s:lib.Codec.decoding_table['190,221'] = [35937] let s:lib.Codec.decoding_table['190,222'] = [36062] let s:lib.Codec.decoding_table['190,223'] = [37284] let s:lib.Codec.decoding_table['190,224'] = [37478] let s:lib.Codec.decoding_table['190,225'] = [37758] let s:lib.Codec.decoding_table['190,226'] = [37912] let s:lib.Codec.decoding_table['190,227'] = [38556] let s:lib.Codec.decoding_table['190,228'] = [38808] let s:lib.Codec.decoding_table['190,229'] = [19978] let s:lib.Codec.decoding_table['190,230'] = [19976] let s:lib.Codec.decoding_table['190,231'] = [19998] let s:lib.Codec.decoding_table['190,232'] = [20055] let s:lib.Codec.decoding_table['190,233'] = [20887] let s:lib.Codec.decoding_table['190,234'] = [21104] let s:lib.Codec.decoding_table['190,235'] = [22478] let s:lib.Codec.decoding_table['190,236'] = [22580] let s:lib.Codec.decoding_table['190,237'] = [22732] let s:lib.Codec.decoding_table['190,238'] = [23330] let s:lib.Codec.decoding_table['190,239'] = [24120] let s:lib.Codec.decoding_table['190,240'] = [24773] let s:lib.Codec.decoding_table['190,241'] = [25854] let s:lib.Codec.decoding_table['190,242'] = [26465] let s:lib.Codec.decoding_table['190,243'] = [26454] let s:lib.Codec.decoding_table['190,244'] = [27972] let s:lib.Codec.decoding_table['190,245'] = [29366] let s:lib.Codec.decoding_table['190,246'] = [30067] let s:lib.Codec.decoding_table['190,247'] = [31331] let s:lib.Codec.decoding_table['190,248'] = [33976] let s:lib.Codec.decoding_table['190,249'] = [35698] let s:lib.Codec.decoding_table['190,250'] = [37304] let s:lib.Codec.decoding_table['190,251'] = [37664] let s:lib.Codec.decoding_table['190,252'] = [22065] let s:lib.Codec.decoding_table['190,253'] = [22516] let s:lib.Codec.decoding_table['190,254'] = [39166] let s:lib.Codec.decoding_table['191,161'] = [25325] let s:lib.Codec.decoding_table['191,162'] = [26893] let s:lib.Codec.decoding_table['191,163'] = [27542] let s:lib.Codec.decoding_table['191,164'] = [29165] let s:lib.Codec.decoding_table['191,165'] = [32340] let s:lib.Codec.decoding_table['191,166'] = [32887] let s:lib.Codec.decoding_table['191,167'] = [33394] let s:lib.Codec.decoding_table['191,168'] = [35302] let s:lib.Codec.decoding_table['191,169'] = [39135] let s:lib.Codec.decoding_table['191,170'] = [34645] let s:lib.Codec.decoding_table['191,171'] = [36785] let s:lib.Codec.decoding_table['191,172'] = [23611] let s:lib.Codec.decoding_table['191,173'] = [20280] let s:lib.Codec.decoding_table['191,174'] = [20449] let s:lib.Codec.decoding_table['191,175'] = [20405] let s:lib.Codec.decoding_table['191,176'] = [21767] let s:lib.Codec.decoding_table['191,177'] = [23072] let s:lib.Codec.decoding_table['191,178'] = [23517] let s:lib.Codec.decoding_table['191,179'] = [23529] let s:lib.Codec.decoding_table['191,180'] = [24515] let s:lib.Codec.decoding_table['191,181'] = [24910] let s:lib.Codec.decoding_table['191,182'] = [25391] let s:lib.Codec.decoding_table['191,183'] = [26032] let s:lib.Codec.decoding_table['191,184'] = [26187] let s:lib.Codec.decoding_table['191,185'] = [26862] let s:lib.Codec.decoding_table['191,186'] = [27035] let s:lib.Codec.decoding_table['191,187'] = [28024] let s:lib.Codec.decoding_table['191,188'] = [28145] let s:lib.Codec.decoding_table['191,189'] = [30003] let s:lib.Codec.decoding_table['191,190'] = [30137] let s:lib.Codec.decoding_table['191,191'] = [30495] let s:lib.Codec.decoding_table['191,192'] = [31070] let s:lib.Codec.decoding_table['191,193'] = [31206] let s:lib.Codec.decoding_table['191,194'] = [32051] let s:lib.Codec.decoding_table['191,195'] = [33251] let s:lib.Codec.decoding_table['191,196'] = [33455] let s:lib.Codec.decoding_table['191,197'] = [34218] let s:lib.Codec.decoding_table['191,198'] = [35242] let s:lib.Codec.decoding_table['191,199'] = [35386] let s:lib.Codec.decoding_table['191,200'] = [36523] let s:lib.Codec.decoding_table['191,201'] = [36763] let s:lib.Codec.decoding_table['191,202'] = [36914] let s:lib.Codec.decoding_table['191,203'] = [37341] let s:lib.Codec.decoding_table['191,204'] = [38663] let s:lib.Codec.decoding_table['191,205'] = [20154] let s:lib.Codec.decoding_table['191,206'] = [20161] let s:lib.Codec.decoding_table['191,207'] = [20995] let s:lib.Codec.decoding_table['191,208'] = [22645] let s:lib.Codec.decoding_table['191,209'] = [22764] let s:lib.Codec.decoding_table['191,210'] = [23563] let s:lib.Codec.decoding_table['191,211'] = [29978] let s:lib.Codec.decoding_table['191,212'] = [23613] let s:lib.Codec.decoding_table['191,213'] = [33102] let s:lib.Codec.decoding_table['191,214'] = [35338] let s:lib.Codec.decoding_table['191,215'] = [36805] let s:lib.Codec.decoding_table['191,216'] = [38499] let s:lib.Codec.decoding_table['191,217'] = [38765] let s:lib.Codec.decoding_table['191,218'] = [31525] let s:lib.Codec.decoding_table['191,219'] = [35535] let s:lib.Codec.decoding_table['191,220'] = [38920] let s:lib.Codec.decoding_table['191,221'] = [37218] let s:lib.Codec.decoding_table['191,222'] = [22259] let s:lib.Codec.decoding_table['191,223'] = [21416] let s:lib.Codec.decoding_table['191,224'] = [36887] let s:lib.Codec.decoding_table['191,225'] = [21561] let s:lib.Codec.decoding_table['191,226'] = [22402] let s:lib.Codec.decoding_table['191,227'] = [24101] let s:lib.Codec.decoding_table['191,228'] = [25512] let s:lib.Codec.decoding_table['191,229'] = [27700] let s:lib.Codec.decoding_table['191,230'] = [28810] let s:lib.Codec.decoding_table['191,231'] = [30561] let s:lib.Codec.decoding_table['191,232'] = [31883] let s:lib.Codec.decoding_table['191,233'] = [32736] let s:lib.Codec.decoding_table['191,234'] = [34928] let s:lib.Codec.decoding_table['191,235'] = [36930] let s:lib.Codec.decoding_table['191,236'] = [37204] let s:lib.Codec.decoding_table['191,237'] = [37648] let s:lib.Codec.decoding_table['191,238'] = [37656] let s:lib.Codec.decoding_table['191,239'] = [38543] let s:lib.Codec.decoding_table['191,240'] = [29790] let s:lib.Codec.decoding_table['191,241'] = [39620] let s:lib.Codec.decoding_table['191,242'] = [23815] let s:lib.Codec.decoding_table['191,243'] = [23913] let s:lib.Codec.decoding_table['191,244'] = [25968] let s:lib.Codec.decoding_table['191,245'] = [26530] let s:lib.Codec.decoding_table['191,246'] = [36264] let s:lib.Codec.decoding_table['191,247'] = [38619] let s:lib.Codec.decoding_table['191,248'] = [25454] let s:lib.Codec.decoding_table['191,249'] = [26441] let s:lib.Codec.decoding_table['191,250'] = [26905] let s:lib.Codec.decoding_table['191,251'] = [33733] let s:lib.Codec.decoding_table['191,252'] = [38935] let s:lib.Codec.decoding_table['191,253'] = [38592] let s:lib.Codec.decoding_table['191,254'] = [35070] let s:lib.Codec.decoding_table['192,161'] = [28548] let s:lib.Codec.decoding_table['192,162'] = [25722] let s:lib.Codec.decoding_table['192,163'] = [23544] let s:lib.Codec.decoding_table['192,164'] = [19990] let s:lib.Codec.decoding_table['192,165'] = [28716] let s:lib.Codec.decoding_table['192,166'] = [30045] let s:lib.Codec.decoding_table['192,167'] = [26159] let s:lib.Codec.decoding_table['192,168'] = [20932] let s:lib.Codec.decoding_table['192,169'] = [21046] let s:lib.Codec.decoding_table['192,170'] = [21218] let s:lib.Codec.decoding_table['192,171'] = [22995] let s:lib.Codec.decoding_table['192,172'] = [24449] let s:lib.Codec.decoding_table['192,173'] = [24615] let s:lib.Codec.decoding_table['192,174'] = [25104] let s:lib.Codec.decoding_table['192,175'] = [25919] let s:lib.Codec.decoding_table['192,176'] = [25972] let s:lib.Codec.decoding_table['192,177'] = [26143] let s:lib.Codec.decoding_table['192,178'] = [26228] let s:lib.Codec.decoding_table['192,179'] = [26866] let s:lib.Codec.decoding_table['192,180'] = [26646] let s:lib.Codec.decoding_table['192,181'] = [27491] let s:lib.Codec.decoding_table['192,182'] = [28165] let s:lib.Codec.decoding_table['192,183'] = [29298] let s:lib.Codec.decoding_table['192,184'] = [29983] let s:lib.Codec.decoding_table['192,185'] = [30427] let s:lib.Codec.decoding_table['192,186'] = [31934] let s:lib.Codec.decoding_table['192,187'] = [32854] let s:lib.Codec.decoding_table['192,188'] = [22768] let s:lib.Codec.decoding_table['192,189'] = [35069] let s:lib.Codec.decoding_table['192,190'] = [35199] let s:lib.Codec.decoding_table['192,191'] = [35488] let s:lib.Codec.decoding_table['192,192'] = [35475] let s:lib.Codec.decoding_table['192,193'] = [35531] let s:lib.Codec.decoding_table['192,194'] = [36893] let s:lib.Codec.decoding_table['192,195'] = [37266] let s:lib.Codec.decoding_table['192,196'] = [38738] let s:lib.Codec.decoding_table['192,197'] = [38745] let s:lib.Codec.decoding_table['192,198'] = [25993] let s:lib.Codec.decoding_table['192,199'] = [31246] let s:lib.Codec.decoding_table['192,200'] = [33030] let s:lib.Codec.decoding_table['192,201'] = [38587] let s:lib.Codec.decoding_table['192,202'] = [24109] let s:lib.Codec.decoding_table['192,203'] = [24796] let s:lib.Codec.decoding_table['192,204'] = [25114] let s:lib.Codec.decoding_table['192,205'] = [26021] let s:lib.Codec.decoding_table['192,206'] = [26132] let s:lib.Codec.decoding_table['192,207'] = [26512] let s:lib.Codec.decoding_table['192,208'] = [30707] let s:lib.Codec.decoding_table['192,209'] = [31309] let s:lib.Codec.decoding_table['192,210'] = [31821] let s:lib.Codec.decoding_table['192,211'] = [32318] let s:lib.Codec.decoding_table['192,212'] = [33034] let s:lib.Codec.decoding_table['192,213'] = [36012] let s:lib.Codec.decoding_table['192,214'] = [36196] let s:lib.Codec.decoding_table['192,215'] = [36321] let s:lib.Codec.decoding_table['192,216'] = [36447] let s:lib.Codec.decoding_table['192,217'] = [30889] let s:lib.Codec.decoding_table['192,218'] = [20999] let s:lib.Codec.decoding_table['192,219'] = [25305] let s:lib.Codec.decoding_table['192,220'] = [25509] let s:lib.Codec.decoding_table['192,221'] = [25666] let s:lib.Codec.decoding_table['192,222'] = [25240] let s:lib.Codec.decoding_table['192,223'] = [35373] let s:lib.Codec.decoding_table['192,224'] = [31363] let s:lib.Codec.decoding_table['192,225'] = [31680] let s:lib.Codec.decoding_table['192,226'] = [35500] let s:lib.Codec.decoding_table['192,227'] = [38634] let s:lib.Codec.decoding_table['192,228'] = [32118] let s:lib.Codec.decoding_table['192,229'] = [33292] let s:lib.Codec.decoding_table['192,230'] = [34633] let s:lib.Codec.decoding_table['192,231'] = [20185] let s:lib.Codec.decoding_table['192,232'] = [20808] let s:lib.Codec.decoding_table['192,233'] = [21315] let s:lib.Codec.decoding_table['192,234'] = [21344] let s:lib.Codec.decoding_table['192,235'] = [23459] let s:lib.Codec.decoding_table['192,236'] = [23554] let s:lib.Codec.decoding_table['192,237'] = [23574] let s:lib.Codec.decoding_table['192,238'] = [24029] let s:lib.Codec.decoding_table['192,239'] = [25126] let s:lib.Codec.decoding_table['192,240'] = [25159] let s:lib.Codec.decoding_table['192,241'] = [25776] let s:lib.Codec.decoding_table['192,242'] = [26643] let s:lib.Codec.decoding_table['192,243'] = [26676] let s:lib.Codec.decoding_table['192,244'] = [27849] let s:lib.Codec.decoding_table['192,245'] = [27973] let s:lib.Codec.decoding_table['192,246'] = [27927] let s:lib.Codec.decoding_table['192,247'] = [26579] let s:lib.Codec.decoding_table['192,248'] = [28508] let s:lib.Codec.decoding_table['192,249'] = [29006] let s:lib.Codec.decoding_table['192,250'] = [29053] let s:lib.Codec.decoding_table['192,251'] = [26059] let s:lib.Codec.decoding_table['192,252'] = [31359] let s:lib.Codec.decoding_table['192,253'] = [31661] let s:lib.Codec.decoding_table['192,254'] = [32218] let s:lib.Codec.decoding_table['193,161'] = [32330] let s:lib.Codec.decoding_table['193,162'] = [32680] let s:lib.Codec.decoding_table['193,163'] = [33146] let s:lib.Codec.decoding_table['193,164'] = [33307] let s:lib.Codec.decoding_table['193,165'] = [33337] let s:lib.Codec.decoding_table['193,166'] = [34214] let s:lib.Codec.decoding_table['193,167'] = [35438] let s:lib.Codec.decoding_table['193,168'] = [36046] let s:lib.Codec.decoding_table['193,169'] = [36341] let s:lib.Codec.decoding_table['193,170'] = [36984] let s:lib.Codec.decoding_table['193,171'] = [36983] let s:lib.Codec.decoding_table['193,172'] = [37549] let s:lib.Codec.decoding_table['193,173'] = [37521] let s:lib.Codec.decoding_table['193,174'] = [38275] let s:lib.Codec.decoding_table['193,175'] = [39854] let s:lib.Codec.decoding_table['193,176'] = [21069] let s:lib.Codec.decoding_table['193,177'] = [21892] let s:lib.Codec.decoding_table['193,178'] = [28472] let s:lib.Codec.decoding_table['193,179'] = [28982] let s:lib.Codec.decoding_table['193,180'] = [20840] let s:lib.Codec.decoding_table['193,181'] = [31109] let s:lib.Codec.decoding_table['193,182'] = [32341] let s:lib.Codec.decoding_table['193,183'] = [33203] let s:lib.Codec.decoding_table['193,184'] = [31950] let s:lib.Codec.decoding_table['193,185'] = [22092] let s:lib.Codec.decoding_table['193,186'] = [22609] let s:lib.Codec.decoding_table['193,187'] = [23720] let s:lib.Codec.decoding_table['193,188'] = [25514] let s:lib.Codec.decoding_table['193,189'] = [26366] let s:lib.Codec.decoding_table['193,190'] = [26365] let s:lib.Codec.decoding_table['193,191'] = [26970] let s:lib.Codec.decoding_table['193,192'] = [29401] let s:lib.Codec.decoding_table['193,193'] = [30095] let s:lib.Codec.decoding_table['193,194'] = [30094] let s:lib.Codec.decoding_table['193,195'] = [30990] let s:lib.Codec.decoding_table['193,196'] = [31062] let s:lib.Codec.decoding_table['193,197'] = [31199] let s:lib.Codec.decoding_table['193,198'] = [31895] let s:lib.Codec.decoding_table['193,199'] = [32032] let s:lib.Codec.decoding_table['193,200'] = [32068] let s:lib.Codec.decoding_table['193,201'] = [34311] let s:lib.Codec.decoding_table['193,202'] = [35380] let s:lib.Codec.decoding_table['193,203'] = [38459] let s:lib.Codec.decoding_table['193,204'] = [36961] let s:lib.Codec.decoding_table['193,205'] = [40736] let s:lib.Codec.decoding_table['193,206'] = [20711] let s:lib.Codec.decoding_table['193,207'] = [21109] let s:lib.Codec.decoding_table['193,208'] = [21452] let s:lib.Codec.decoding_table['193,209'] = [21474] let s:lib.Codec.decoding_table['193,210'] = [20489] let s:lib.Codec.decoding_table['193,211'] = [21930] let s:lib.Codec.decoding_table['193,212'] = [22766] let s:lib.Codec.decoding_table['193,213'] = [22863] let s:lib.Codec.decoding_table['193,214'] = [29245] let s:lib.Codec.decoding_table['193,215'] = [23435] let s:lib.Codec.decoding_table['193,216'] = [23652] let s:lib.Codec.decoding_table['193,217'] = [21277] let s:lib.Codec.decoding_table['193,218'] = [24803] let s:lib.Codec.decoding_table['193,219'] = [24819] let s:lib.Codec.decoding_table['193,220'] = [25436] let s:lib.Codec.decoding_table['193,221'] = [25475] let s:lib.Codec.decoding_table['193,222'] = [25407] let s:lib.Codec.decoding_table['193,223'] = [25531] let s:lib.Codec.decoding_table['193,224'] = [25805] let s:lib.Codec.decoding_table['193,225'] = [26089] let s:lib.Codec.decoding_table['193,226'] = [26361] let s:lib.Codec.decoding_table['193,227'] = [24035] let s:lib.Codec.decoding_table['193,228'] = [27085] let s:lib.Codec.decoding_table['193,229'] = [27133] let s:lib.Codec.decoding_table['193,230'] = [28437] let s:lib.Codec.decoding_table['193,231'] = [29157] let s:lib.Codec.decoding_table['193,232'] = [20105] let s:lib.Codec.decoding_table['193,233'] = [30185] let s:lib.Codec.decoding_table['193,234'] = [30456] let s:lib.Codec.decoding_table['193,235'] = [31379] let s:lib.Codec.decoding_table['193,236'] = [31967] let s:lib.Codec.decoding_table['193,237'] = [32207] let s:lib.Codec.decoding_table['193,238'] = [32156] let s:lib.Codec.decoding_table['193,239'] = [32865] let s:lib.Codec.decoding_table['193,240'] = [33609] let s:lib.Codec.decoding_table['193,241'] = [33624] let s:lib.Codec.decoding_table['193,242'] = [33900] let s:lib.Codec.decoding_table['193,243'] = [33980] let s:lib.Codec.decoding_table['193,244'] = [34299] let s:lib.Codec.decoding_table['193,245'] = [35013] let s:lib.Codec.decoding_table['193,246'] = [36208] let s:lib.Codec.decoding_table['193,247'] = [36865] let s:lib.Codec.decoding_table['193,248'] = [36973] let s:lib.Codec.decoding_table['193,249'] = [37783] let s:lib.Codec.decoding_table['193,250'] = [38684] let s:lib.Codec.decoding_table['193,251'] = [39442] let s:lib.Codec.decoding_table['193,252'] = [20687] let s:lib.Codec.decoding_table['193,253'] = [22679] let s:lib.Codec.decoding_table['193,254'] = [24974] let s:lib.Codec.decoding_table['194,161'] = [33235] let s:lib.Codec.decoding_table['194,162'] = [34101] let s:lib.Codec.decoding_table['194,163'] = [36104] let s:lib.Codec.decoding_table['194,164'] = [36896] let s:lib.Codec.decoding_table['194,165'] = [20419] let s:lib.Codec.decoding_table['194,166'] = [20596] let s:lib.Codec.decoding_table['194,167'] = [21063] let s:lib.Codec.decoding_table['194,168'] = [21363] let s:lib.Codec.decoding_table['194,169'] = [24687] let s:lib.Codec.decoding_table['194,170'] = [25417] let s:lib.Codec.decoding_table['194,171'] = [26463] let s:lib.Codec.decoding_table['194,172'] = [28204] let s:lib.Codec.decoding_table['194,173'] = [36275] let s:lib.Codec.decoding_table['194,174'] = [36895] let s:lib.Codec.decoding_table['194,175'] = [20439] let s:lib.Codec.decoding_table['194,176'] = [23646] let s:lib.Codec.decoding_table['194,177'] = [36042] let s:lib.Codec.decoding_table['194,178'] = [26063] let s:lib.Codec.decoding_table['194,179'] = [32154] let s:lib.Codec.decoding_table['194,180'] = [21330] let s:lib.Codec.decoding_table['194,181'] = [34966] let s:lib.Codec.decoding_table['194,182'] = [20854] let s:lib.Codec.decoding_table['194,183'] = [25539] let s:lib.Codec.decoding_table['194,184'] = [23384] let s:lib.Codec.decoding_table['194,185'] = [23403] let s:lib.Codec.decoding_table['194,186'] = [23562] let s:lib.Codec.decoding_table['194,187'] = [25613] let s:lib.Codec.decoding_table['194,188'] = [26449] let s:lib.Codec.decoding_table['194,189'] = [36956] let s:lib.Codec.decoding_table['194,190'] = [20182] let s:lib.Codec.decoding_table['194,191'] = [22810] let s:lib.Codec.decoding_table['194,192'] = [22826] let s:lib.Codec.decoding_table['194,193'] = [27760] let s:lib.Codec.decoding_table['194,194'] = [35409] let s:lib.Codec.decoding_table['194,195'] = [21822] let s:lib.Codec.decoding_table['194,196'] = [22549] let s:lib.Codec.decoding_table['194,197'] = [22949] let s:lib.Codec.decoding_table['194,198'] = [24816] let s:lib.Codec.decoding_table['194,199'] = [25171] let s:lib.Codec.decoding_table['194,200'] = [26561] let s:lib.Codec.decoding_table['194,201'] = [33333] let s:lib.Codec.decoding_table['194,202'] = [26965] let s:lib.Codec.decoding_table['194,203'] = [38464] let s:lib.Codec.decoding_table['194,204'] = [39364] let s:lib.Codec.decoding_table['194,205'] = [39464] let s:lib.Codec.decoding_table['194,206'] = [20307] let s:lib.Codec.decoding_table['194,207'] = [22534] let s:lib.Codec.decoding_table['194,208'] = [23550] let s:lib.Codec.decoding_table['194,209'] = [32784] let s:lib.Codec.decoding_table['194,210'] = [23729] let s:lib.Codec.decoding_table['194,211'] = [24111] let s:lib.Codec.decoding_table['194,212'] = [24453] let s:lib.Codec.decoding_table['194,213'] = [24608] let s:lib.Codec.decoding_table['194,214'] = [24907] let s:lib.Codec.decoding_table['194,215'] = [25140] let s:lib.Codec.decoding_table['194,216'] = [26367] let s:lib.Codec.decoding_table['194,217'] = [27888] let s:lib.Codec.decoding_table['194,218'] = [28382] let s:lib.Codec.decoding_table['194,219'] = [32974] let s:lib.Codec.decoding_table['194,220'] = [33151] let s:lib.Codec.decoding_table['194,221'] = [33492] let s:lib.Codec.decoding_table['194,222'] = [34955] let s:lib.Codec.decoding_table['194,223'] = [36024] let s:lib.Codec.decoding_table['194,224'] = [36864] let s:lib.Codec.decoding_table['194,225'] = [36910] let s:lib.Codec.decoding_table['194,226'] = [38538] let s:lib.Codec.decoding_table['194,227'] = [40667] let s:lib.Codec.decoding_table['194,228'] = [39899] let s:lib.Codec.decoding_table['194,229'] = [20195] let s:lib.Codec.decoding_table['194,230'] = [21488] let s:lib.Codec.decoding_table['194,231'] = [22823] let s:lib.Codec.decoding_table['194,232'] = [31532] let s:lib.Codec.decoding_table['194,233'] = [37261] let s:lib.Codec.decoding_table['194,234'] = [38988] let s:lib.Codec.decoding_table['194,235'] = [40441] let s:lib.Codec.decoding_table['194,236'] = [28381] let s:lib.Codec.decoding_table['194,237'] = [28711] let s:lib.Codec.decoding_table['194,238'] = [21331] let s:lib.Codec.decoding_table['194,239'] = [21828] let s:lib.Codec.decoding_table['194,240'] = [23429] let s:lib.Codec.decoding_table['194,241'] = [25176] let s:lib.Codec.decoding_table['194,242'] = [25246] let s:lib.Codec.decoding_table['194,243'] = [25299] let s:lib.Codec.decoding_table['194,244'] = [27810] let s:lib.Codec.decoding_table['194,245'] = [28655] let s:lib.Codec.decoding_table['194,246'] = [29730] let s:lib.Codec.decoding_table['194,247'] = [35351] let s:lib.Codec.decoding_table['194,248'] = [37944] let s:lib.Codec.decoding_table['194,249'] = [28609] let s:lib.Codec.decoding_table['194,250'] = [35582] let s:lib.Codec.decoding_table['194,251'] = [33592] let s:lib.Codec.decoding_table['194,252'] = [20967] let s:lib.Codec.decoding_table['194,253'] = [34552] let s:lib.Codec.decoding_table['194,254'] = [21482] let s:lib.Codec.decoding_table['195,161'] = [21481] let s:lib.Codec.decoding_table['195,162'] = [20294] let s:lib.Codec.decoding_table['195,163'] = [36948] let s:lib.Codec.decoding_table['195,164'] = [36784] let s:lib.Codec.decoding_table['195,165'] = [22890] let s:lib.Codec.decoding_table['195,166'] = [33073] let s:lib.Codec.decoding_table['195,167'] = [24061] let s:lib.Codec.decoding_table['195,168'] = [31466] let s:lib.Codec.decoding_table['195,169'] = [36799] let s:lib.Codec.decoding_table['195,170'] = [26842] let s:lib.Codec.decoding_table['195,171'] = [35895] let s:lib.Codec.decoding_table['195,172'] = [29432] let s:lib.Codec.decoding_table['195,173'] = [40008] let s:lib.Codec.decoding_table['195,174'] = [27197] let s:lib.Codec.decoding_table['195,175'] = [35504] let s:lib.Codec.decoding_table['195,176'] = [20025] let s:lib.Codec.decoding_table['195,177'] = [21336] let s:lib.Codec.decoding_table['195,178'] = [22022] let s:lib.Codec.decoding_table['195,179'] = [22374] let s:lib.Codec.decoding_table['195,180'] = [25285] let s:lib.Codec.decoding_table['195,181'] = [25506] let s:lib.Codec.decoding_table['195,182'] = [26086] let s:lib.Codec.decoding_table['195,183'] = [27470] let s:lib.Codec.decoding_table['195,184'] = [28129] let s:lib.Codec.decoding_table['195,185'] = [28251] let s:lib.Codec.decoding_table['195,186'] = [28845] let s:lib.Codec.decoding_table['195,187'] = [30701] let s:lib.Codec.decoding_table['195,188'] = [31471] let s:lib.Codec.decoding_table['195,189'] = [31658] let s:lib.Codec.decoding_table['195,190'] = [32187] let s:lib.Codec.decoding_table['195,191'] = [32829] let s:lib.Codec.decoding_table['195,192'] = [32966] let s:lib.Codec.decoding_table['195,193'] = [34507] let s:lib.Codec.decoding_table['195,194'] = [35477] let s:lib.Codec.decoding_table['195,195'] = [37723] let s:lib.Codec.decoding_table['195,196'] = [22243] let s:lib.Codec.decoding_table['195,197'] = [22727] let s:lib.Codec.decoding_table['195,198'] = [24382] let s:lib.Codec.decoding_table['195,199'] = [26029] let s:lib.Codec.decoding_table['195,200'] = [26262] let s:lib.Codec.decoding_table['195,201'] = [27264] let s:lib.Codec.decoding_table['195,202'] = [27573] let s:lib.Codec.decoding_table['195,203'] = [30007] let s:lib.Codec.decoding_table['195,204'] = [35527] let s:lib.Codec.decoding_table['195,205'] = [20516] let s:lib.Codec.decoding_table['195,206'] = [30693] let s:lib.Codec.decoding_table['195,207'] = [22320] let s:lib.Codec.decoding_table['195,208'] = [24347] let s:lib.Codec.decoding_table['195,209'] = [24677] let s:lib.Codec.decoding_table['195,210'] = [26234] let s:lib.Codec.decoding_table['195,211'] = [27744] let s:lib.Codec.decoding_table['195,212'] = [30196] let s:lib.Codec.decoding_table['195,213'] = [31258] let s:lib.Codec.decoding_table['195,214'] = [32622] let s:lib.Codec.decoding_table['195,215'] = [33268] let s:lib.Codec.decoding_table['195,216'] = [34584] let s:lib.Codec.decoding_table['195,217'] = [36933] let s:lib.Codec.decoding_table['195,218'] = [39347] let s:lib.Codec.decoding_table['195,219'] = [31689] let s:lib.Codec.decoding_table['195,220'] = [30044] let s:lib.Codec.decoding_table['195,221'] = [31481] let s:lib.Codec.decoding_table['195,222'] = [31569] let s:lib.Codec.decoding_table['195,223'] = [33988] let s:lib.Codec.decoding_table['195,224'] = [36880] let s:lib.Codec.decoding_table['195,225'] = [31209] let s:lib.Codec.decoding_table['195,226'] = [31378] let s:lib.Codec.decoding_table['195,227'] = [33590] let s:lib.Codec.decoding_table['195,228'] = [23265] let s:lib.Codec.decoding_table['195,229'] = [30528] let s:lib.Codec.decoding_table['195,230'] = [20013] let s:lib.Codec.decoding_table['195,231'] = [20210] let s:lib.Codec.decoding_table['195,232'] = [23449] let s:lib.Codec.decoding_table['195,233'] = [24544] let s:lib.Codec.decoding_table['195,234'] = [25277] let s:lib.Codec.decoding_table['195,235'] = [26172] let s:lib.Codec.decoding_table['195,236'] = [26609] let s:lib.Codec.decoding_table['195,237'] = [27880] let s:lib.Codec.decoding_table['195,238'] = [34411] let s:lib.Codec.decoding_table['195,239'] = [34935] let s:lib.Codec.decoding_table['195,240'] = [35387] let s:lib.Codec.decoding_table['195,241'] = [37198] let s:lib.Codec.decoding_table['195,242'] = [37619] let s:lib.Codec.decoding_table['195,243'] = [39376] let s:lib.Codec.decoding_table['195,244'] = [27159] let s:lib.Codec.decoding_table['195,245'] = [28710] let s:lib.Codec.decoding_table['195,246'] = [29482] let s:lib.Codec.decoding_table['195,247'] = [33511] let s:lib.Codec.decoding_table['195,248'] = [33879] let s:lib.Codec.decoding_table['195,249'] = [36015] let s:lib.Codec.decoding_table['195,250'] = [19969] let s:lib.Codec.decoding_table['195,251'] = [20806] let s:lib.Codec.decoding_table['195,252'] = [20939] let s:lib.Codec.decoding_table['195,253'] = [21899] let s:lib.Codec.decoding_table['195,254'] = [23541] let s:lib.Codec.decoding_table['196,161'] = [24086] let s:lib.Codec.decoding_table['196,162'] = [24115] let s:lib.Codec.decoding_table['196,163'] = [24193] let s:lib.Codec.decoding_table['196,164'] = [24340] let s:lib.Codec.decoding_table['196,165'] = [24373] let s:lib.Codec.decoding_table['196,166'] = [24427] let s:lib.Codec.decoding_table['196,167'] = [24500] let s:lib.Codec.decoding_table['196,168'] = [25074] let s:lib.Codec.decoding_table['196,169'] = [25361] let s:lib.Codec.decoding_table['196,170'] = [26274] let s:lib.Codec.decoding_table['196,171'] = [26397] let s:lib.Codec.decoding_table['196,172'] = [28526] let s:lib.Codec.decoding_table['196,173'] = [29266] let s:lib.Codec.decoding_table['196,174'] = [30010] let s:lib.Codec.decoding_table['196,175'] = [30522] let s:lib.Codec.decoding_table['196,176'] = [32884] let s:lib.Codec.decoding_table['196,177'] = [33081] let s:lib.Codec.decoding_table['196,178'] = [33144] let s:lib.Codec.decoding_table['196,179'] = [34678] let s:lib.Codec.decoding_table['196,180'] = [35519] let s:lib.Codec.decoding_table['196,181'] = [35548] let s:lib.Codec.decoding_table['196,182'] = [36229] let s:lib.Codec.decoding_table['196,183'] = [36339] let s:lib.Codec.decoding_table['196,184'] = [37530] let s:lib.Codec.decoding_table['196,185'] = [38263] let s:lib.Codec.decoding_table['196,186'] = [38914] let s:lib.Codec.decoding_table['196,187'] = [40165] let s:lib.Codec.decoding_table['196,188'] = [21189] let s:lib.Codec.decoding_table['196,189'] = [25431] let s:lib.Codec.decoding_table['196,190'] = [30452] let s:lib.Codec.decoding_table['196,191'] = [26389] let s:lib.Codec.decoding_table['196,192'] = [27784] let s:lib.Codec.decoding_table['196,193'] = [29645] let s:lib.Codec.decoding_table['196,194'] = [36035] let s:lib.Codec.decoding_table['196,195'] = [37806] let s:lib.Codec.decoding_table['196,196'] = [38515] let s:lib.Codec.decoding_table['196,197'] = [27941] let s:lib.Codec.decoding_table['196,198'] = [22684] let s:lib.Codec.decoding_table['196,199'] = [26894] let s:lib.Codec.decoding_table['196,200'] = [27084] let s:lib.Codec.decoding_table['196,201'] = [36861] let s:lib.Codec.decoding_table['196,202'] = [37786] let s:lib.Codec.decoding_table['196,203'] = [30171] let s:lib.Codec.decoding_table['196,204'] = [36890] let s:lib.Codec.decoding_table['196,205'] = [22618] let s:lib.Codec.decoding_table['196,206'] = [26626] let s:lib.Codec.decoding_table['196,207'] = [25524] let s:lib.Codec.decoding_table['196,208'] = [27131] let s:lib.Codec.decoding_table['196,209'] = [20291] let s:lib.Codec.decoding_table['196,210'] = [28460] let s:lib.Codec.decoding_table['196,211'] = [26584] let s:lib.Codec.decoding_table['196,212'] = [36795] let s:lib.Codec.decoding_table['196,213'] = [34086] let s:lib.Codec.decoding_table['196,214'] = [32180] let s:lib.Codec.decoding_table['196,215'] = [37716] let s:lib.Codec.decoding_table['196,216'] = [26943] let s:lib.Codec.decoding_table['196,217'] = [28528] let s:lib.Codec.decoding_table['196,218'] = [22378] let s:lib.Codec.decoding_table['196,219'] = [22775] let s:lib.Codec.decoding_table['196,220'] = [23340] let s:lib.Codec.decoding_table['196,221'] = [32044] let s:lib.Codec.decoding_table['196,222'] = [29226] let s:lib.Codec.decoding_table['196,223'] = [21514] let s:lib.Codec.decoding_table['196,224'] = [37347] let s:lib.Codec.decoding_table['196,225'] = [40372] let s:lib.Codec.decoding_table['196,226'] = [20141] let s:lib.Codec.decoding_table['196,227'] = [20302] let s:lib.Codec.decoding_table['196,228'] = [20572] let s:lib.Codec.decoding_table['196,229'] = [20597] let s:lib.Codec.decoding_table['196,230'] = [21059] let s:lib.Codec.decoding_table['196,231'] = [35998] let s:lib.Codec.decoding_table['196,232'] = [21576] let s:lib.Codec.decoding_table['196,233'] = [22564] let s:lib.Codec.decoding_table['196,234'] = [23450] let s:lib.Codec.decoding_table['196,235'] = [24093] let s:lib.Codec.decoding_table['196,236'] = [24213] let s:lib.Codec.decoding_table['196,237'] = [24237] let s:lib.Codec.decoding_table['196,238'] = [24311] let s:lib.Codec.decoding_table['196,239'] = [24351] let s:lib.Codec.decoding_table['196,240'] = [24716] let s:lib.Codec.decoding_table['196,241'] = [25269] let s:lib.Codec.decoding_table['196,242'] = [25402] let s:lib.Codec.decoding_table['196,243'] = [25552] let s:lib.Codec.decoding_table['196,244'] = [26799] let s:lib.Codec.decoding_table['196,245'] = [27712] let s:lib.Codec.decoding_table['196,246'] = [30855] let s:lib.Codec.decoding_table['196,247'] = [31118] let s:lib.Codec.decoding_table['196,248'] = [31243] let s:lib.Codec.decoding_table['196,249'] = [32224] let s:lib.Codec.decoding_table['196,250'] = [33351] let s:lib.Codec.decoding_table['196,251'] = [35330] let s:lib.Codec.decoding_table['196,252'] = [35558] let s:lib.Codec.decoding_table['196,253'] = [36420] let s:lib.Codec.decoding_table['196,254'] = [36883] let s:lib.Codec.decoding_table['197,161'] = [37048] let s:lib.Codec.decoding_table['197,162'] = [37165] let s:lib.Codec.decoding_table['197,163'] = [37336] let s:lib.Codec.decoding_table['197,164'] = [40718] let s:lib.Codec.decoding_table['197,165'] = [27877] let s:lib.Codec.decoding_table['197,166'] = [25688] let s:lib.Codec.decoding_table['197,167'] = [25826] let s:lib.Codec.decoding_table['197,168'] = [25973] let s:lib.Codec.decoding_table['197,169'] = [28404] let s:lib.Codec.decoding_table['197,170'] = [30340] let s:lib.Codec.decoding_table['197,171'] = [31515] let s:lib.Codec.decoding_table['197,172'] = [36969] let s:lib.Codec.decoding_table['197,173'] = [37841] let s:lib.Codec.decoding_table['197,174'] = [28346] let s:lib.Codec.decoding_table['197,175'] = [21746] let s:lib.Codec.decoding_table['197,176'] = [24505] let s:lib.Codec.decoding_table['197,177'] = [25764] let s:lib.Codec.decoding_table['197,178'] = [36685] let s:lib.Codec.decoding_table['197,179'] = [36845] let s:lib.Codec.decoding_table['197,180'] = [37444] let s:lib.Codec.decoding_table['197,181'] = [20856] let s:lib.Codec.decoding_table['197,182'] = [22635] let s:lib.Codec.decoding_table['197,183'] = [22825] let s:lib.Codec.decoding_table['197,184'] = [23637] let s:lib.Codec.decoding_table['197,185'] = [24215] let s:lib.Codec.decoding_table['197,186'] = [28155] let s:lib.Codec.decoding_table['197,187'] = [32399] let s:lib.Codec.decoding_table['197,188'] = [29980] let s:lib.Codec.decoding_table['197,189'] = [36028] let s:lib.Codec.decoding_table['197,190'] = [36578] let s:lib.Codec.decoding_table['197,191'] = [39003] let s:lib.Codec.decoding_table['197,192'] = [28857] let s:lib.Codec.decoding_table['197,193'] = [20253] let s:lib.Codec.decoding_table['197,194'] = [27583] let s:lib.Codec.decoding_table['197,195'] = [28593] let s:lib.Codec.decoding_table['197,196'] = [30000] let s:lib.Codec.decoding_table['197,197'] = [38651] let s:lib.Codec.decoding_table['197,198'] = [20814] let s:lib.Codec.decoding_table['197,199'] = [21520] let s:lib.Codec.decoding_table['197,200'] = [22581] let s:lib.Codec.decoding_table['197,201'] = [22615] let s:lib.Codec.decoding_table['197,202'] = [22956] let s:lib.Codec.decoding_table['197,203'] = [23648] let s:lib.Codec.decoding_table['197,204'] = [24466] let s:lib.Codec.decoding_table['197,205'] = [26007] let s:lib.Codec.decoding_table['197,206'] = [26460] let s:lib.Codec.decoding_table['197,207'] = [28193] let s:lib.Codec.decoding_table['197,208'] = [30331] let s:lib.Codec.decoding_table['197,209'] = [33759] let s:lib.Codec.decoding_table['197,210'] = [36077] let s:lib.Codec.decoding_table['197,211'] = [36884] let s:lib.Codec.decoding_table['197,212'] = [37117] let s:lib.Codec.decoding_table['197,213'] = [37709] let s:lib.Codec.decoding_table['197,214'] = [30757] let s:lib.Codec.decoding_table['197,215'] = [30778] let s:lib.Codec.decoding_table['197,216'] = [21162] let s:lib.Codec.decoding_table['197,217'] = [24230] let s:lib.Codec.decoding_table['197,218'] = [22303] let s:lib.Codec.decoding_table['197,219'] = [22900] let s:lib.Codec.decoding_table['197,220'] = [24594] let s:lib.Codec.decoding_table['197,221'] = [20498] let s:lib.Codec.decoding_table['197,222'] = [20826] let s:lib.Codec.decoding_table['197,223'] = [20908] let s:lib.Codec.decoding_table['197,224'] = [20941] let s:lib.Codec.decoding_table['197,225'] = [20992] let s:lib.Codec.decoding_table['197,226'] = [21776] let s:lib.Codec.decoding_table['197,227'] = [22612] let s:lib.Codec.decoding_table['197,228'] = [22616] let s:lib.Codec.decoding_table['197,229'] = [22871] let s:lib.Codec.decoding_table['197,230'] = [23445] let s:lib.Codec.decoding_table['197,231'] = [23798] let s:lib.Codec.decoding_table['197,232'] = [23947] let s:lib.Codec.decoding_table['197,233'] = [24764] let s:lib.Codec.decoding_table['197,234'] = [25237] let s:lib.Codec.decoding_table['197,235'] = [25645] let s:lib.Codec.decoding_table['197,236'] = [26481] let s:lib.Codec.decoding_table['197,237'] = [26691] let s:lib.Codec.decoding_table['197,238'] = [26812] let s:lib.Codec.decoding_table['197,239'] = [26847] let s:lib.Codec.decoding_table['197,240'] = [30423] let s:lib.Codec.decoding_table['197,241'] = [28120] let s:lib.Codec.decoding_table['197,242'] = [28271] let s:lib.Codec.decoding_table['197,243'] = [28059] let s:lib.Codec.decoding_table['197,244'] = [28783] let s:lib.Codec.decoding_table['197,245'] = [29128] let s:lib.Codec.decoding_table['197,246'] = [24403] let s:lib.Codec.decoding_table['197,247'] = [30168] let s:lib.Codec.decoding_table['197,248'] = [31095] let s:lib.Codec.decoding_table['197,249'] = [31561] let s:lib.Codec.decoding_table['197,250'] = [31572] let s:lib.Codec.decoding_table['197,251'] = [31570] let s:lib.Codec.decoding_table['197,252'] = [31958] let s:lib.Codec.decoding_table['197,253'] = [32113] let s:lib.Codec.decoding_table['197,254'] = [21040] let s:lib.Codec.decoding_table['198,161'] = [33891] let s:lib.Codec.decoding_table['198,162'] = [34153] let s:lib.Codec.decoding_table['198,163'] = [34276] let s:lib.Codec.decoding_table['198,164'] = [35342] let s:lib.Codec.decoding_table['198,165'] = [35588] let s:lib.Codec.decoding_table['198,166'] = [35910] let s:lib.Codec.decoding_table['198,167'] = [36367] let s:lib.Codec.decoding_table['198,168'] = [36867] let s:lib.Codec.decoding_table['198,169'] = [36879] let s:lib.Codec.decoding_table['198,170'] = [37913] let s:lib.Codec.decoding_table['198,171'] = [38518] let s:lib.Codec.decoding_table['198,172'] = [38957] let s:lib.Codec.decoding_table['198,173'] = [39472] let s:lib.Codec.decoding_table['198,174'] = [38360] let s:lib.Codec.decoding_table['198,175'] = [20685] let s:lib.Codec.decoding_table['198,176'] = [21205] let s:lib.Codec.decoding_table['198,177'] = [21516] let s:lib.Codec.decoding_table['198,178'] = [22530] let s:lib.Codec.decoding_table['198,179'] = [23566] let s:lib.Codec.decoding_table['198,180'] = [24999] let s:lib.Codec.decoding_table['198,181'] = [25758] let s:lib.Codec.decoding_table['198,182'] = [27934] let s:lib.Codec.decoding_table['198,183'] = [30643] let s:lib.Codec.decoding_table['198,184'] = [31461] let s:lib.Codec.decoding_table['198,185'] = [33012] let s:lib.Codec.decoding_table['198,186'] = [33796] let s:lib.Codec.decoding_table['198,187'] = [36947] let s:lib.Codec.decoding_table['198,188'] = [37509] let s:lib.Codec.decoding_table['198,189'] = [23776] let s:lib.Codec.decoding_table['198,190'] = [40199] let s:lib.Codec.decoding_table['198,191'] = [21311] let s:lib.Codec.decoding_table['198,192'] = [24471] let s:lib.Codec.decoding_table['198,193'] = [24499] let s:lib.Codec.decoding_table['198,194'] = [28060] let s:lib.Codec.decoding_table['198,195'] = [29305] let s:lib.Codec.decoding_table['198,196'] = [30563] let s:lib.Codec.decoding_table['198,197'] = [31167] let s:lib.Codec.decoding_table['198,198'] = [31716] let s:lib.Codec.decoding_table['198,199'] = [27602] let s:lib.Codec.decoding_table['198,200'] = [29420] let s:lib.Codec.decoding_table['198,201'] = [35501] let s:lib.Codec.decoding_table['198,202'] = [26627] let s:lib.Codec.decoding_table['198,203'] = [27233] let s:lib.Codec.decoding_table['198,204'] = [20984] let s:lib.Codec.decoding_table['198,205'] = [31361] let s:lib.Codec.decoding_table['198,206'] = [26932] let s:lib.Codec.decoding_table['198,207'] = [23626] let s:lib.Codec.decoding_table['198,208'] = [40182] let s:lib.Codec.decoding_table['198,209'] = [33515] let s:lib.Codec.decoding_table['198,210'] = [23493] let s:lib.Codec.decoding_table['198,211'] = [37193] let s:lib.Codec.decoding_table['198,212'] = [28702] let s:lib.Codec.decoding_table['198,213'] = [22136] let s:lib.Codec.decoding_table['198,214'] = [23663] let s:lib.Codec.decoding_table['198,215'] = [24775] let s:lib.Codec.decoding_table['198,216'] = [25958] let s:lib.Codec.decoding_table['198,217'] = [27788] let s:lib.Codec.decoding_table['198,218'] = [35930] let s:lib.Codec.decoding_table['198,219'] = [36929] let s:lib.Codec.decoding_table['198,220'] = [38931] let s:lib.Codec.decoding_table['198,221'] = [21585] let s:lib.Codec.decoding_table['198,222'] = [26311] let s:lib.Codec.decoding_table['198,223'] = [37389] let s:lib.Codec.decoding_table['198,224'] = [22856] let s:lib.Codec.decoding_table['198,225'] = [37027] let s:lib.Codec.decoding_table['198,226'] = [20869] let s:lib.Codec.decoding_table['198,227'] = [20045] let s:lib.Codec.decoding_table['198,228'] = [20970] let s:lib.Codec.decoding_table['198,229'] = [34201] let s:lib.Codec.decoding_table['198,230'] = [35598] let s:lib.Codec.decoding_table['198,231'] = [28760] let s:lib.Codec.decoding_table['198,232'] = [25466] let s:lib.Codec.decoding_table['198,233'] = [37707] let s:lib.Codec.decoding_table['198,234'] = [26978] let s:lib.Codec.decoding_table['198,235'] = [39348] let s:lib.Codec.decoding_table['198,236'] = [32260] let s:lib.Codec.decoding_table['198,237'] = [30071] let s:lib.Codec.decoding_table['198,238'] = [21335] let s:lib.Codec.decoding_table['198,239'] = [26976] let s:lib.Codec.decoding_table['198,240'] = [36575] let s:lib.Codec.decoding_table['198,241'] = [38627] let s:lib.Codec.decoding_table['198,242'] = [27741] let s:lib.Codec.decoding_table['198,243'] = [20108] let s:lib.Codec.decoding_table['198,244'] = [23612] let s:lib.Codec.decoding_table['198,245'] = [24336] let s:lib.Codec.decoding_table['198,246'] = [36841] let s:lib.Codec.decoding_table['198,247'] = [21250] let s:lib.Codec.decoding_table['198,248'] = [36049] let s:lib.Codec.decoding_table['198,249'] = [32905] let s:lib.Codec.decoding_table['198,250'] = [34425] let s:lib.Codec.decoding_table['198,251'] = [24319] let s:lib.Codec.decoding_table['198,252'] = [26085] let s:lib.Codec.decoding_table['198,253'] = [20083] let s:lib.Codec.decoding_table['198,254'] = [20837] let s:lib.Codec.decoding_table['199,161'] = [22914] let s:lib.Codec.decoding_table['199,162'] = [23615] let s:lib.Codec.decoding_table['199,163'] = [38894] let s:lib.Codec.decoding_table['199,164'] = [20219] let s:lib.Codec.decoding_table['199,165'] = [22922] let s:lib.Codec.decoding_table['199,166'] = [24525] let s:lib.Codec.decoding_table['199,167'] = [35469] let s:lib.Codec.decoding_table['199,168'] = [28641] let s:lib.Codec.decoding_table['199,169'] = [31152] let s:lib.Codec.decoding_table['199,170'] = [31074] let s:lib.Codec.decoding_table['199,171'] = [23527] let s:lib.Codec.decoding_table['199,172'] = [33905] let s:lib.Codec.decoding_table['199,173'] = [29483] let s:lib.Codec.decoding_table['199,174'] = [29105] let s:lib.Codec.decoding_table['199,175'] = [24180] let s:lib.Codec.decoding_table['199,176'] = [24565] let s:lib.Codec.decoding_table['199,177'] = [25467] let s:lib.Codec.decoding_table['199,178'] = [25754] let s:lib.Codec.decoding_table['199,179'] = [29123] let s:lib.Codec.decoding_table['199,180'] = [31896] let s:lib.Codec.decoding_table['199,181'] = [20035] let s:lib.Codec.decoding_table['199,182'] = [24316] let s:lib.Codec.decoding_table['199,183'] = [20043] let s:lib.Codec.decoding_table['199,184'] = [22492] let s:lib.Codec.decoding_table['199,185'] = [22178] let s:lib.Codec.decoding_table['199,186'] = [24745] let s:lib.Codec.decoding_table['199,187'] = [28611] let s:lib.Codec.decoding_table['199,188'] = [32013] let s:lib.Codec.decoding_table['199,189'] = [33021] let s:lib.Codec.decoding_table['199,190'] = [33075] let s:lib.Codec.decoding_table['199,191'] = [33215] let s:lib.Codec.decoding_table['199,192'] = [36786] let s:lib.Codec.decoding_table['199,193'] = [35223] let s:lib.Codec.decoding_table['199,194'] = [34468] let s:lib.Codec.decoding_table['199,195'] = [24052] let s:lib.Codec.decoding_table['199,196'] = [25226] let s:lib.Codec.decoding_table['199,197'] = [25773] let s:lib.Codec.decoding_table['199,198'] = [35207] let s:lib.Codec.decoding_table['199,199'] = [26487] let s:lib.Codec.decoding_table['199,200'] = [27874] let s:lib.Codec.decoding_table['199,201'] = [27966] let s:lib.Codec.decoding_table['199,202'] = [29750] let s:lib.Codec.decoding_table['199,203'] = [30772] let s:lib.Codec.decoding_table['199,204'] = [23110] let s:lib.Codec.decoding_table['199,205'] = [32629] let s:lib.Codec.decoding_table['199,206'] = [33453] let s:lib.Codec.decoding_table['199,207'] = [39340] let s:lib.Codec.decoding_table['199,208'] = [20467] let s:lib.Codec.decoding_table['199,209'] = [24259] let s:lib.Codec.decoding_table['199,210'] = [25309] let s:lib.Codec.decoding_table['199,211'] = [25490] let s:lib.Codec.decoding_table['199,212'] = [25943] let s:lib.Codec.decoding_table['199,213'] = [26479] let s:lib.Codec.decoding_table['199,214'] = [30403] let s:lib.Codec.decoding_table['199,215'] = [29260] let s:lib.Codec.decoding_table['199,216'] = [32972] let s:lib.Codec.decoding_table['199,217'] = [32954] let s:lib.Codec.decoding_table['199,218'] = [36649] let s:lib.Codec.decoding_table['199,219'] = [37197] let s:lib.Codec.decoding_table['199,220'] = [20493] let s:lib.Codec.decoding_table['199,221'] = [22521] let s:lib.Codec.decoding_table['199,222'] = [23186] let s:lib.Codec.decoding_table['199,223'] = [26757] let s:lib.Codec.decoding_table['199,224'] = [26995] let s:lib.Codec.decoding_table['199,225'] = [29028] let s:lib.Codec.decoding_table['199,226'] = [29437] let s:lib.Codec.decoding_table['199,227'] = [36023] let s:lib.Codec.decoding_table['199,228'] = [22770] let s:lib.Codec.decoding_table['199,229'] = [36064] let s:lib.Codec.decoding_table['199,230'] = [38506] let s:lib.Codec.decoding_table['199,231'] = [36889] let s:lib.Codec.decoding_table['199,232'] = [34687] let s:lib.Codec.decoding_table['199,233'] = [31204] let s:lib.Codec.decoding_table['199,234'] = [30695] let s:lib.Codec.decoding_table['199,235'] = [33833] let s:lib.Codec.decoding_table['199,236'] = [20271] let s:lib.Codec.decoding_table['199,237'] = [21093] let s:lib.Codec.decoding_table['199,238'] = [21338] let s:lib.Codec.decoding_table['199,239'] = [25293] let s:lib.Codec.decoding_table['199,240'] = [26575] let s:lib.Codec.decoding_table['199,241'] = [27850] let s:lib.Codec.decoding_table['199,242'] = [30333] let s:lib.Codec.decoding_table['199,243'] = [31636] let s:lib.Codec.decoding_table['199,244'] = [31893] let s:lib.Codec.decoding_table['199,245'] = [33334] let s:lib.Codec.decoding_table['199,246'] = [34180] let s:lib.Codec.decoding_table['199,247'] = [36843] let s:lib.Codec.decoding_table['199,248'] = [26333] let s:lib.Codec.decoding_table['199,249'] = [28448] let s:lib.Codec.decoding_table['199,250'] = [29190] let s:lib.Codec.decoding_table['199,251'] = [32283] let s:lib.Codec.decoding_table['199,252'] = [33707] let s:lib.Codec.decoding_table['199,253'] = [39361] let s:lib.Codec.decoding_table['199,254'] = [40614] let s:lib.Codec.decoding_table['200,161'] = [20989] let s:lib.Codec.decoding_table['200,162'] = [31665] let s:lib.Codec.decoding_table['200,163'] = [30834] let s:lib.Codec.decoding_table['200,164'] = [31672] let s:lib.Codec.decoding_table['200,165'] = [32903] let s:lib.Codec.decoding_table['200,166'] = [31560] let s:lib.Codec.decoding_table['200,167'] = [27368] let s:lib.Codec.decoding_table['200,168'] = [24161] let s:lib.Codec.decoding_table['200,169'] = [32908] let s:lib.Codec.decoding_table['200,170'] = [30033] let s:lib.Codec.decoding_table['200,171'] = [30048] let s:lib.Codec.decoding_table['200,172'] = [20843] let s:lib.Codec.decoding_table['200,173'] = [37474] let s:lib.Codec.decoding_table['200,174'] = [28300] let s:lib.Codec.decoding_table['200,175'] = [30330] let s:lib.Codec.decoding_table['200,176'] = [37271] let s:lib.Codec.decoding_table['200,177'] = [39658] let s:lib.Codec.decoding_table['200,178'] = [20240] let s:lib.Codec.decoding_table['200,179'] = [32624] let s:lib.Codec.decoding_table['200,180'] = [25244] let s:lib.Codec.decoding_table['200,181'] = [31567] let s:lib.Codec.decoding_table['200,182'] = [38309] let s:lib.Codec.decoding_table['200,183'] = [40169] let s:lib.Codec.decoding_table['200,184'] = [22138] let s:lib.Codec.decoding_table['200,185'] = [22617] let s:lib.Codec.decoding_table['200,186'] = [34532] let s:lib.Codec.decoding_table['200,187'] = [38588] let s:lib.Codec.decoding_table['200,188'] = [20276] let s:lib.Codec.decoding_table['200,189'] = [21028] let s:lib.Codec.decoding_table['200,190'] = [21322] let s:lib.Codec.decoding_table['200,191'] = [21453] let s:lib.Codec.decoding_table['200,192'] = [21467] let s:lib.Codec.decoding_table['200,193'] = [24070] let s:lib.Codec.decoding_table['200,194'] = [25644] let s:lib.Codec.decoding_table['200,195'] = [26001] let s:lib.Codec.decoding_table['200,196'] = [26495] let s:lib.Codec.decoding_table['200,197'] = [27710] let s:lib.Codec.decoding_table['200,198'] = [27726] let s:lib.Codec.decoding_table['200,199'] = [29256] let s:lib.Codec.decoding_table['200,200'] = [29359] let s:lib.Codec.decoding_table['200,201'] = [29677] let s:lib.Codec.decoding_table['200,202'] = [30036] let s:lib.Codec.decoding_table['200,203'] = [32321] let s:lib.Codec.decoding_table['200,204'] = [33324] let s:lib.Codec.decoding_table['200,205'] = [34281] let s:lib.Codec.decoding_table['200,206'] = [36009] let s:lib.Codec.decoding_table['200,207'] = [31684] let s:lib.Codec.decoding_table['200,208'] = [37318] let s:lib.Codec.decoding_table['200,209'] = [29033] let s:lib.Codec.decoding_table['200,210'] = [38930] let s:lib.Codec.decoding_table['200,211'] = [39151] let s:lib.Codec.decoding_table['200,212'] = [25405] let s:lib.Codec.decoding_table['200,213'] = [26217] let s:lib.Codec.decoding_table['200,214'] = [30058] let s:lib.Codec.decoding_table['200,215'] = [30436] let s:lib.Codec.decoding_table['200,216'] = [30928] let s:lib.Codec.decoding_table['200,217'] = [34115] let s:lib.Codec.decoding_table['200,218'] = [34542] let s:lib.Codec.decoding_table['200,219'] = [21290] let s:lib.Codec.decoding_table['200,220'] = [21329] let s:lib.Codec.decoding_table['200,221'] = [21542] let s:lib.Codec.decoding_table['200,222'] = [22915] let s:lib.Codec.decoding_table['200,223'] = [24199] let s:lib.Codec.decoding_table['200,224'] = [24444] let s:lib.Codec.decoding_table['200,225'] = [24754] let s:lib.Codec.decoding_table['200,226'] = [25161] let s:lib.Codec.decoding_table['200,227'] = [25209] let s:lib.Codec.decoding_table['200,228'] = [25259] let s:lib.Codec.decoding_table['200,229'] = [26000] let s:lib.Codec.decoding_table['200,230'] = [27604] let s:lib.Codec.decoding_table['200,231'] = [27852] let s:lib.Codec.decoding_table['200,232'] = [30130] let s:lib.Codec.decoding_table['200,233'] = [30382] let s:lib.Codec.decoding_table['200,234'] = [30865] let s:lib.Codec.decoding_table['200,235'] = [31192] let s:lib.Codec.decoding_table['200,236'] = [32203] let s:lib.Codec.decoding_table['200,237'] = [32631] let s:lib.Codec.decoding_table['200,238'] = [32933] let s:lib.Codec.decoding_table['200,239'] = [34987] let s:lib.Codec.decoding_table['200,240'] = [35513] let s:lib.Codec.decoding_table['200,241'] = [36027] let s:lib.Codec.decoding_table['200,242'] = [36991] let s:lib.Codec.decoding_table['200,243'] = [38750] let s:lib.Codec.decoding_table['200,244'] = [39131] let s:lib.Codec.decoding_table['200,245'] = [27147] let s:lib.Codec.decoding_table['200,246'] = [31800] let s:lib.Codec.decoding_table['200,247'] = [20633] let s:lib.Codec.decoding_table['200,248'] = [23614] let s:lib.Codec.decoding_table['200,249'] = [24494] let s:lib.Codec.decoding_table['200,250'] = [26503] let s:lib.Codec.decoding_table['200,251'] = [27608] let s:lib.Codec.decoding_table['200,252'] = [29749] let s:lib.Codec.decoding_table['200,253'] = [30473] let s:lib.Codec.decoding_table['200,254'] = [32654] let s:lib.Codec.decoding_table['201,161'] = [40763] let s:lib.Codec.decoding_table['201,162'] = [26570] let s:lib.Codec.decoding_table['201,163'] = [31255] let s:lib.Codec.decoding_table['201,164'] = [21305] let s:lib.Codec.decoding_table['201,165'] = [30091] let s:lib.Codec.decoding_table['201,166'] = [39661] let s:lib.Codec.decoding_table['201,167'] = [24422] let s:lib.Codec.decoding_table['201,168'] = [33181] let s:lib.Codec.decoding_table['201,169'] = [33777] let s:lib.Codec.decoding_table['201,170'] = [32920] let s:lib.Codec.decoding_table['201,171'] = [24380] let s:lib.Codec.decoding_table['201,172'] = [24517] let s:lib.Codec.decoding_table['201,173'] = [30050] let s:lib.Codec.decoding_table['201,174'] = [31558] let s:lib.Codec.decoding_table['201,175'] = [36924] let s:lib.Codec.decoding_table['201,176'] = [26727] let s:lib.Codec.decoding_table['201,177'] = [23019] let s:lib.Codec.decoding_table['201,178'] = [23195] let s:lib.Codec.decoding_table['201,179'] = [32016] let s:lib.Codec.decoding_table['201,180'] = [30334] let s:lib.Codec.decoding_table['201,181'] = [35628] let s:lib.Codec.decoding_table['201,182'] = [20469] let s:lib.Codec.decoding_table['201,183'] = [24426] let s:lib.Codec.decoding_table['201,184'] = [27161] let s:lib.Codec.decoding_table['201,185'] = [27703] let s:lib.Codec.decoding_table['201,186'] = [28418] let s:lib.Codec.decoding_table['201,187'] = [29922] let s:lib.Codec.decoding_table['201,188'] = [31080] let s:lib.Codec.decoding_table['201,189'] = [34920] let s:lib.Codec.decoding_table['201,190'] = [35413] let s:lib.Codec.decoding_table['201,191'] = [35961] let s:lib.Codec.decoding_table['201,192'] = [24287] let s:lib.Codec.decoding_table['201,193'] = [25551] let s:lib.Codec.decoding_table['201,194'] = [30149] let s:lib.Codec.decoding_table['201,195'] = [31186] let s:lib.Codec.decoding_table['201,196'] = [33495] let s:lib.Codec.decoding_table['201,197'] = [37672] let s:lib.Codec.decoding_table['201,198'] = [37618] let s:lib.Codec.decoding_table['201,199'] = [33948] let s:lib.Codec.decoding_table['201,200'] = [34541] let s:lib.Codec.decoding_table['201,201'] = [39981] let s:lib.Codec.decoding_table['201,202'] = [21697] let s:lib.Codec.decoding_table['201,203'] = [24428] let s:lib.Codec.decoding_table['201,204'] = [25996] let s:lib.Codec.decoding_table['201,205'] = [27996] let s:lib.Codec.decoding_table['201,206'] = [28693] let s:lib.Codec.decoding_table['201,207'] = [36007] let s:lib.Codec.decoding_table['201,208'] = [36051] let s:lib.Codec.decoding_table['201,209'] = [38971] let s:lib.Codec.decoding_table['201,210'] = [25935] let s:lib.Codec.decoding_table['201,211'] = [29942] let s:lib.Codec.decoding_table['201,212'] = [19981] let s:lib.Codec.decoding_table['201,213'] = [20184] let s:lib.Codec.decoding_table['201,214'] = [22496] let s:lib.Codec.decoding_table['201,215'] = [22827] let s:lib.Codec.decoding_table['201,216'] = [23142] let s:lib.Codec.decoding_table['201,217'] = [23500] let s:lib.Codec.decoding_table['201,218'] = [20904] let s:lib.Codec.decoding_table['201,219'] = [24067] let s:lib.Codec.decoding_table['201,220'] = [24220] let s:lib.Codec.decoding_table['201,221'] = [24598] let s:lib.Codec.decoding_table['201,222'] = [25206] let s:lib.Codec.decoding_table['201,223'] = [25975] let s:lib.Codec.decoding_table['201,224'] = [26023] let s:lib.Codec.decoding_table['201,225'] = [26222] let s:lib.Codec.decoding_table['201,226'] = [28014] let s:lib.Codec.decoding_table['201,227'] = [29238] let s:lib.Codec.decoding_table['201,228'] = [31526] let s:lib.Codec.decoding_table['201,229'] = [33104] let s:lib.Codec.decoding_table['201,230'] = [33178] let s:lib.Codec.decoding_table['201,231'] = [33433] let s:lib.Codec.decoding_table['201,232'] = [35676] let s:lib.Codec.decoding_table['201,233'] = [36000] let s:lib.Codec.decoding_table['201,234'] = [36070] let s:lib.Codec.decoding_table['201,235'] = [36212] let s:lib.Codec.decoding_table['201,236'] = [38428] let s:lib.Codec.decoding_table['201,237'] = [38468] let s:lib.Codec.decoding_table['201,238'] = [20398] let s:lib.Codec.decoding_table['201,239'] = [25771] let s:lib.Codec.decoding_table['201,240'] = [27494] let s:lib.Codec.decoding_table['201,241'] = [33310] let s:lib.Codec.decoding_table['201,242'] = [33889] let s:lib.Codec.decoding_table['201,243'] = [34154] let s:lib.Codec.decoding_table['201,244'] = [37096] let s:lib.Codec.decoding_table['201,245'] = [23553] let s:lib.Codec.decoding_table['201,246'] = [26963] let s:lib.Codec.decoding_table['201,247'] = [39080] let s:lib.Codec.decoding_table['201,248'] = [33914] let s:lib.Codec.decoding_table['201,249'] = [34135] let s:lib.Codec.decoding_table['201,250'] = [20239] let s:lib.Codec.decoding_table['201,251'] = [21103] let s:lib.Codec.decoding_table['201,252'] = [24489] let s:lib.Codec.decoding_table['201,253'] = [24133] let s:lib.Codec.decoding_table['201,254'] = [26381] let s:lib.Codec.decoding_table['202,161'] = [31119] let s:lib.Codec.decoding_table['202,162'] = [33145] let s:lib.Codec.decoding_table['202,163'] = [35079] let s:lib.Codec.decoding_table['202,164'] = [35206] let s:lib.Codec.decoding_table['202,165'] = [28149] let s:lib.Codec.decoding_table['202,166'] = [24343] let s:lib.Codec.decoding_table['202,167'] = [25173] let s:lib.Codec.decoding_table['202,168'] = [27832] let s:lib.Codec.decoding_table['202,169'] = [20175] let s:lib.Codec.decoding_table['202,170'] = [29289] let s:lib.Codec.decoding_table['202,171'] = [39826] let s:lib.Codec.decoding_table['202,172'] = [20998] let s:lib.Codec.decoding_table['202,173'] = [21563] let s:lib.Codec.decoding_table['202,174'] = [22132] let s:lib.Codec.decoding_table['202,175'] = [22707] let s:lib.Codec.decoding_table['202,176'] = [24996] let s:lib.Codec.decoding_table['202,177'] = [25198] let s:lib.Codec.decoding_table['202,178'] = [28954] let s:lib.Codec.decoding_table['202,179'] = [22894] let s:lib.Codec.decoding_table['202,180'] = [31881] let s:lib.Codec.decoding_table['202,181'] = [31966] let s:lib.Codec.decoding_table['202,182'] = [32027] let s:lib.Codec.decoding_table['202,183'] = [38640] let s:lib.Codec.decoding_table['202,184'] = [25991] let s:lib.Codec.decoding_table['202,185'] = [32862] let s:lib.Codec.decoding_table['202,186'] = [19993] let s:lib.Codec.decoding_table['202,187'] = [20341] let s:lib.Codec.decoding_table['202,188'] = [20853] let s:lib.Codec.decoding_table['202,189'] = [22592] let s:lib.Codec.decoding_table['202,190'] = [24163] let s:lib.Codec.decoding_table['202,191'] = [24179] let s:lib.Codec.decoding_table['202,192'] = [24330] let s:lib.Codec.decoding_table['202,193'] = [26564] let s:lib.Codec.decoding_table['202,194'] = [20006] let s:lib.Codec.decoding_table['202,195'] = [34109] let s:lib.Codec.decoding_table['202,196'] = [38281] let s:lib.Codec.decoding_table['202,197'] = [38491] let s:lib.Codec.decoding_table['202,198'] = [31859] let s:lib.Codec.decoding_table['202,199'] = [38913] let s:lib.Codec.decoding_table['202,200'] = [20731] let s:lib.Codec.decoding_table['202,201'] = [22721] let s:lib.Codec.decoding_table['202,202'] = [30294] let s:lib.Codec.decoding_table['202,203'] = [30887] let s:lib.Codec.decoding_table['202,204'] = [21029] let s:lib.Codec.decoding_table['202,205'] = [30629] let s:lib.Codec.decoding_table['202,206'] = [34065] let s:lib.Codec.decoding_table['202,207'] = [31622] let s:lib.Codec.decoding_table['202,208'] = [20559] let s:lib.Codec.decoding_table['202,209'] = [22793] let s:lib.Codec.decoding_table['202,210'] = [29255] let s:lib.Codec.decoding_table['202,211'] = [31687] let s:lib.Codec.decoding_table['202,212'] = [32232] let s:lib.Codec.decoding_table['202,213'] = [36794] let s:lib.Codec.decoding_table['202,214'] = [36820] let s:lib.Codec.decoding_table['202,215'] = [36941] let s:lib.Codec.decoding_table['202,216'] = [20415] let s:lib.Codec.decoding_table['202,217'] = [21193] let s:lib.Codec.decoding_table['202,218'] = [23081] let s:lib.Codec.decoding_table['202,219'] = [24321] let s:lib.Codec.decoding_table['202,220'] = [38829] let s:lib.Codec.decoding_table['202,221'] = [20445] let s:lib.Codec.decoding_table['202,222'] = [33303] let s:lib.Codec.decoding_table['202,223'] = [37610] let s:lib.Codec.decoding_table['202,224'] = [22275] let s:lib.Codec.decoding_table['202,225'] = [25429] let s:lib.Codec.decoding_table['202,226'] = [27497] let s:lib.Codec.decoding_table['202,227'] = [29995] let s:lib.Codec.decoding_table['202,228'] = [35036] let s:lib.Codec.decoding_table['202,229'] = [36628] let s:lib.Codec.decoding_table['202,230'] = [31298] let s:lib.Codec.decoding_table['202,231'] = [21215] let s:lib.Codec.decoding_table['202,232'] = [22675] let s:lib.Codec.decoding_table['202,233'] = [24917] let s:lib.Codec.decoding_table['202,234'] = [25098] let s:lib.Codec.decoding_table['202,235'] = [26286] let s:lib.Codec.decoding_table['202,236'] = [27597] let s:lib.Codec.decoding_table['202,237'] = [31807] let s:lib.Codec.decoding_table['202,238'] = [33769] let s:lib.Codec.decoding_table['202,239'] = [20515] let s:lib.Codec.decoding_table['202,240'] = [20472] let s:lib.Codec.decoding_table['202,241'] = [21253] let s:lib.Codec.decoding_table['202,242'] = [21574] let s:lib.Codec.decoding_table['202,243'] = [22577] let s:lib.Codec.decoding_table['202,244'] = [22857] let s:lib.Codec.decoding_table['202,245'] = [23453] let s:lib.Codec.decoding_table['202,246'] = [23792] let s:lib.Codec.decoding_table['202,247'] = [23791] let s:lib.Codec.decoding_table['202,248'] = [23849] let s:lib.Codec.decoding_table['202,249'] = [24214] let s:lib.Codec.decoding_table['202,250'] = [25265] let s:lib.Codec.decoding_table['202,251'] = [25447] let s:lib.Codec.decoding_table['202,252'] = [25918] let s:lib.Codec.decoding_table['202,253'] = [26041] let s:lib.Codec.decoding_table['202,254'] = [26379] let s:lib.Codec.decoding_table['203,161'] = [27861] let s:lib.Codec.decoding_table['203,162'] = [27873] let s:lib.Codec.decoding_table['203,163'] = [28921] let s:lib.Codec.decoding_table['203,164'] = [30770] let s:lib.Codec.decoding_table['203,165'] = [32299] let s:lib.Codec.decoding_table['203,166'] = [32990] let s:lib.Codec.decoding_table['203,167'] = [33459] let s:lib.Codec.decoding_table['203,168'] = [33804] let s:lib.Codec.decoding_table['203,169'] = [34028] let s:lib.Codec.decoding_table['203,170'] = [34562] let s:lib.Codec.decoding_table['203,171'] = [35090] let s:lib.Codec.decoding_table['203,172'] = [35370] let s:lib.Codec.decoding_table['203,173'] = [35914] let s:lib.Codec.decoding_table['203,174'] = [37030] let s:lib.Codec.decoding_table['203,175'] = [37586] let s:lib.Codec.decoding_table['203,176'] = [39165] let s:lib.Codec.decoding_table['203,177'] = [40179] let s:lib.Codec.decoding_table['203,178'] = [40300] let s:lib.Codec.decoding_table['203,179'] = [20047] let s:lib.Codec.decoding_table['203,180'] = [20129] let s:lib.Codec.decoding_table['203,181'] = [20621] let s:lib.Codec.decoding_table['203,182'] = [21078] let s:lib.Codec.decoding_table['203,183'] = [22346] let s:lib.Codec.decoding_table['203,184'] = [22952] let s:lib.Codec.decoding_table['203,185'] = [24125] let s:lib.Codec.decoding_table['203,186'] = [24536] let s:lib.Codec.decoding_table['203,187'] = [24537] let s:lib.Codec.decoding_table['203,188'] = [25151] let s:lib.Codec.decoding_table['203,189'] = [26292] let s:lib.Codec.decoding_table['203,190'] = [26395] let s:lib.Codec.decoding_table['203,191'] = [26576] let s:lib.Codec.decoding_table['203,192'] = [26834] let s:lib.Codec.decoding_table['203,193'] = [20882] let s:lib.Codec.decoding_table['203,194'] = [32033] let s:lib.Codec.decoding_table['203,195'] = [32938] let s:lib.Codec.decoding_table['203,196'] = [33192] let s:lib.Codec.decoding_table['203,197'] = [35584] let s:lib.Codec.decoding_table['203,198'] = [35980] let s:lib.Codec.decoding_table['203,199'] = [36031] let s:lib.Codec.decoding_table['203,200'] = [37502] let s:lib.Codec.decoding_table['203,201'] = [38450] let s:lib.Codec.decoding_table['203,202'] = [21536] let s:lib.Codec.decoding_table['203,203'] = [38956] let s:lib.Codec.decoding_table['203,204'] = [21271] let s:lib.Codec.decoding_table['203,205'] = [20693] let s:lib.Codec.decoding_table['203,206'] = [21340] let s:lib.Codec.decoding_table['203,207'] = [22696] let s:lib.Codec.decoding_table['203,208'] = [25778] let s:lib.Codec.decoding_table['203,209'] = [26420] let s:lib.Codec.decoding_table['203,210'] = [29287] let s:lib.Codec.decoding_table['203,211'] = [30566] let s:lib.Codec.decoding_table['203,212'] = [31302] let s:lib.Codec.decoding_table['203,213'] = [37350] let s:lib.Codec.decoding_table['203,214'] = [21187] let s:lib.Codec.decoding_table['203,215'] = [27809] let s:lib.Codec.decoding_table['203,216'] = [27526] let s:lib.Codec.decoding_table['203,217'] = [22528] let s:lib.Codec.decoding_table['203,218'] = [24140] let s:lib.Codec.decoding_table['203,219'] = [22868] let s:lib.Codec.decoding_table['203,220'] = [26412] let s:lib.Codec.decoding_table['203,221'] = [32763] let s:lib.Codec.decoding_table['203,222'] = [20961] let s:lib.Codec.decoding_table['203,223'] = [30406] let s:lib.Codec.decoding_table['203,224'] = [25705] let s:lib.Codec.decoding_table['203,225'] = [30952] let s:lib.Codec.decoding_table['203,226'] = [39764] let s:lib.Codec.decoding_table['203,227'] = [40635] let s:lib.Codec.decoding_table['203,228'] = [22475] let s:lib.Codec.decoding_table['203,229'] = [22969] let s:lib.Codec.decoding_table['203,230'] = [26151] let s:lib.Codec.decoding_table['203,231'] = [26522] let s:lib.Codec.decoding_table['203,232'] = [27598] let s:lib.Codec.decoding_table['203,233'] = [21737] let s:lib.Codec.decoding_table['203,234'] = [27097] let s:lib.Codec.decoding_table['203,235'] = [24149] let s:lib.Codec.decoding_table['203,236'] = [33180] let s:lib.Codec.decoding_table['203,237'] = [26517] let s:lib.Codec.decoding_table['203,238'] = [39850] let s:lib.Codec.decoding_table['203,239'] = [26622] let s:lib.Codec.decoding_table['203,240'] = [40018] let s:lib.Codec.decoding_table['203,241'] = [26717] let s:lib.Codec.decoding_table['203,242'] = [20134] let s:lib.Codec.decoding_table['203,243'] = [20451] let s:lib.Codec.decoding_table['203,244'] = [21448] let s:lib.Codec.decoding_table['203,245'] = [25273] let s:lib.Codec.decoding_table['203,246'] = [26411] let s:lib.Codec.decoding_table['203,247'] = [27819] let s:lib.Codec.decoding_table['203,248'] = [36804] let s:lib.Codec.decoding_table['203,249'] = [20397] let s:lib.Codec.decoding_table['203,250'] = [32365] let s:lib.Codec.decoding_table['203,251'] = [40639] let s:lib.Codec.decoding_table['203,252'] = [19975] let s:lib.Codec.decoding_table['203,253'] = [24930] let s:lib.Codec.decoding_table['203,254'] = [28288] let s:lib.Codec.decoding_table['204,161'] = [28459] let s:lib.Codec.decoding_table['204,162'] = [34067] let s:lib.Codec.decoding_table['204,163'] = [21619] let s:lib.Codec.decoding_table['204,164'] = [26410] let s:lib.Codec.decoding_table['204,165'] = [39749] let s:lib.Codec.decoding_table['204,166'] = [24051] let s:lib.Codec.decoding_table['204,167'] = [31637] let s:lib.Codec.decoding_table['204,168'] = [23724] let s:lib.Codec.decoding_table['204,169'] = [23494] let s:lib.Codec.decoding_table['204,170'] = [34588] let s:lib.Codec.decoding_table['204,171'] = [28234] let s:lib.Codec.decoding_table['204,172'] = [34001] let s:lib.Codec.decoding_table['204,173'] = [31252] let s:lib.Codec.decoding_table['204,174'] = [33032] let s:lib.Codec.decoding_table['204,175'] = [22937] let s:lib.Codec.decoding_table['204,176'] = [31885] let s:lib.Codec.decoding_table['204,177'] = [27665] let s:lib.Codec.decoding_table['204,178'] = [30496] let s:lib.Codec.decoding_table['204,179'] = [21209] let s:lib.Codec.decoding_table['204,180'] = [22818] let s:lib.Codec.decoding_table['204,181'] = [28961] let s:lib.Codec.decoding_table['204,182'] = [29279] let s:lib.Codec.decoding_table['204,183'] = [30683] let s:lib.Codec.decoding_table['204,184'] = [38695] let s:lib.Codec.decoding_table['204,185'] = [40289] let s:lib.Codec.decoding_table['204,186'] = [26891] let s:lib.Codec.decoding_table['204,187'] = [23167] let s:lib.Codec.decoding_table['204,188'] = [23064] let s:lib.Codec.decoding_table['204,189'] = [20901] let s:lib.Codec.decoding_table['204,190'] = [21517] let s:lib.Codec.decoding_table['204,191'] = [21629] let s:lib.Codec.decoding_table['204,192'] = [26126] let s:lib.Codec.decoding_table['204,193'] = [30431] let s:lib.Codec.decoding_table['204,194'] = [36855] let s:lib.Codec.decoding_table['204,195'] = [37528] let s:lib.Codec.decoding_table['204,196'] = [40180] let s:lib.Codec.decoding_table['204,197'] = [23018] let s:lib.Codec.decoding_table['204,198'] = [29277] let s:lib.Codec.decoding_table['204,199'] = [28357] let s:lib.Codec.decoding_table['204,200'] = [20813] let s:lib.Codec.decoding_table['204,201'] = [26825] let s:lib.Codec.decoding_table['204,202'] = [32191] let s:lib.Codec.decoding_table['204,203'] = [32236] let s:lib.Codec.decoding_table['204,204'] = [38754] let s:lib.Codec.decoding_table['204,205'] = [40634] let s:lib.Codec.decoding_table['204,206'] = [25720] let s:lib.Codec.decoding_table['204,207'] = [27169] let s:lib.Codec.decoding_table['204,208'] = [33538] let s:lib.Codec.decoding_table['204,209'] = [22916] let s:lib.Codec.decoding_table['204,210'] = [23391] let s:lib.Codec.decoding_table['204,211'] = [27611] let s:lib.Codec.decoding_table['204,212'] = [29467] let s:lib.Codec.decoding_table['204,213'] = [30450] let s:lib.Codec.decoding_table['204,214'] = [32178] let s:lib.Codec.decoding_table['204,215'] = [32791] let s:lib.Codec.decoding_table['204,216'] = [33945] let s:lib.Codec.decoding_table['204,217'] = [20786] let s:lib.Codec.decoding_table['204,218'] = [26408] let s:lib.Codec.decoding_table['204,219'] = [40665] let s:lib.Codec.decoding_table['204,220'] = [30446] let s:lib.Codec.decoding_table['204,221'] = [26466] let s:lib.Codec.decoding_table['204,222'] = [21247] let s:lib.Codec.decoding_table['204,223'] = [39173] let s:lib.Codec.decoding_table['204,224'] = [23588] let s:lib.Codec.decoding_table['204,225'] = [25147] let s:lib.Codec.decoding_table['204,226'] = [31870] let s:lib.Codec.decoding_table['204,227'] = [36016] let s:lib.Codec.decoding_table['204,228'] = [21839] let s:lib.Codec.decoding_table['204,229'] = [24758] let s:lib.Codec.decoding_table['204,230'] = [32011] let s:lib.Codec.decoding_table['204,231'] = [38272] let s:lib.Codec.decoding_table['204,232'] = [21249] let s:lib.Codec.decoding_table['204,233'] = [20063] let s:lib.Codec.decoding_table['204,234'] = [20918] let s:lib.Codec.decoding_table['204,235'] = [22812] let s:lib.Codec.decoding_table['204,236'] = [29242] let s:lib.Codec.decoding_table['204,237'] = [32822] let s:lib.Codec.decoding_table['204,238'] = [37326] let s:lib.Codec.decoding_table['204,239'] = [24357] let s:lib.Codec.decoding_table['204,240'] = [30690] let s:lib.Codec.decoding_table['204,241'] = [21380] let s:lib.Codec.decoding_table['204,242'] = [24441] let s:lib.Codec.decoding_table['204,243'] = [32004] let s:lib.Codec.decoding_table['204,244'] = [34220] let s:lib.Codec.decoding_table['204,245'] = [35379] let s:lib.Codec.decoding_table['204,246'] = [36493] let s:lib.Codec.decoding_table['204,247'] = [38742] let s:lib.Codec.decoding_table['204,248'] = [26611] let s:lib.Codec.decoding_table['204,249'] = [34222] let s:lib.Codec.decoding_table['204,250'] = [37971] let s:lib.Codec.decoding_table['204,251'] = [24841] let s:lib.Codec.decoding_table['204,252'] = [24840] let s:lib.Codec.decoding_table['204,253'] = [27833] let s:lib.Codec.decoding_table['204,254'] = [30290] let s:lib.Codec.decoding_table['205,161'] = [35565] let s:lib.Codec.decoding_table['205,162'] = [36664] let s:lib.Codec.decoding_table['205,163'] = [21807] let s:lib.Codec.decoding_table['205,164'] = [20305] let s:lib.Codec.decoding_table['205,165'] = [20778] let s:lib.Codec.decoding_table['205,166'] = [21191] let s:lib.Codec.decoding_table['205,167'] = [21451] let s:lib.Codec.decoding_table['205,168'] = [23461] let s:lib.Codec.decoding_table['205,169'] = [24189] let s:lib.Codec.decoding_table['205,170'] = [24736] let s:lib.Codec.decoding_table['205,171'] = [24962] let s:lib.Codec.decoding_table['205,172'] = [25558] let s:lib.Codec.decoding_table['205,173'] = [26377] let s:lib.Codec.decoding_table['205,174'] = [26586] let s:lib.Codec.decoding_table['205,175'] = [28263] let s:lib.Codec.decoding_table['205,176'] = [28044] let s:lib.Codec.decoding_table['205,177'] = [29494] let s:lib.Codec.decoding_table['205,178'] = [29495] let s:lib.Codec.decoding_table['205,179'] = [30001] let s:lib.Codec.decoding_table['205,180'] = [31056] let s:lib.Codec.decoding_table['205,181'] = [35029] let s:lib.Codec.decoding_table['205,182'] = [35480] let s:lib.Codec.decoding_table['205,183'] = [36938] let s:lib.Codec.decoding_table['205,184'] = [37009] let s:lib.Codec.decoding_table['205,185'] = [37109] let s:lib.Codec.decoding_table['205,186'] = [38596] let s:lib.Codec.decoding_table['205,187'] = [34701] let s:lib.Codec.decoding_table['205,188'] = [22805] let s:lib.Codec.decoding_table['205,189'] = [20104] let s:lib.Codec.decoding_table['205,190'] = [20313] let s:lib.Codec.decoding_table['205,191'] = [19982] let s:lib.Codec.decoding_table['205,192'] = [35465] let s:lib.Codec.decoding_table['205,193'] = [36671] let s:lib.Codec.decoding_table['205,194'] = [38928] let s:lib.Codec.decoding_table['205,195'] = [20653] let s:lib.Codec.decoding_table['205,196'] = [24188] let s:lib.Codec.decoding_table['205,197'] = [22934] let s:lib.Codec.decoding_table['205,198'] = [23481] let s:lib.Codec.decoding_table['205,199'] = [24248] let s:lib.Codec.decoding_table['205,200'] = [25562] let s:lib.Codec.decoding_table['205,201'] = [25594] let s:lib.Codec.decoding_table['205,202'] = [25793] let s:lib.Codec.decoding_table['205,203'] = [26332] let s:lib.Codec.decoding_table['205,204'] = [26954] let s:lib.Codec.decoding_table['205,205'] = [27096] let s:lib.Codec.decoding_table['205,206'] = [27915] let s:lib.Codec.decoding_table['205,207'] = [28342] let s:lib.Codec.decoding_table['205,208'] = [29076] let s:lib.Codec.decoding_table['205,209'] = [29992] let s:lib.Codec.decoding_table['205,210'] = [31407] let s:lib.Codec.decoding_table['205,211'] = [32650] let s:lib.Codec.decoding_table['205,212'] = [32768] let s:lib.Codec.decoding_table['205,213'] = [33865] let s:lib.Codec.decoding_table['205,214'] = [33993] let s:lib.Codec.decoding_table['205,215'] = [35201] let s:lib.Codec.decoding_table['205,216'] = [35617] let s:lib.Codec.decoding_table['205,217'] = [36362] let s:lib.Codec.decoding_table['205,218'] = [36965] let s:lib.Codec.decoding_table['205,219'] = [38525] let s:lib.Codec.decoding_table['205,220'] = [39178] let s:lib.Codec.decoding_table['205,221'] = [24958] let s:lib.Codec.decoding_table['205,222'] = [25233] let s:lib.Codec.decoding_table['205,223'] = [27442] let s:lib.Codec.decoding_table['205,224'] = [27779] let s:lib.Codec.decoding_table['205,225'] = [28020] let s:lib.Codec.decoding_table['205,226'] = [32716] let s:lib.Codec.decoding_table['205,227'] = [32764] let s:lib.Codec.decoding_table['205,228'] = [28096] let s:lib.Codec.decoding_table['205,229'] = [32645] let s:lib.Codec.decoding_table['205,230'] = [34746] let s:lib.Codec.decoding_table['205,231'] = [35064] let s:lib.Codec.decoding_table['205,232'] = [26469] let s:lib.Codec.decoding_table['205,233'] = [33713] let s:lib.Codec.decoding_table['205,234'] = [38972] let s:lib.Codec.decoding_table['205,235'] = [38647] let s:lib.Codec.decoding_table['205,236'] = [27931] let s:lib.Codec.decoding_table['205,237'] = [32097] let s:lib.Codec.decoding_table['205,238'] = [33853] let s:lib.Codec.decoding_table['205,239'] = [37226] let s:lib.Codec.decoding_table['205,240'] = [20081] let s:lib.Codec.decoding_table['205,241'] = [21365] let s:lib.Codec.decoding_table['205,242'] = [23888] let s:lib.Codec.decoding_table['205,243'] = [27396] let s:lib.Codec.decoding_table['205,244'] = [28651] let s:lib.Codec.decoding_table['205,245'] = [34253] let s:lib.Codec.decoding_table['205,246'] = [34349] let s:lib.Codec.decoding_table['205,247'] = [35239] let s:lib.Codec.decoding_table['205,248'] = [21033] let s:lib.Codec.decoding_table['205,249'] = [21519] let s:lib.Codec.decoding_table['205,250'] = [23653] let s:lib.Codec.decoding_table['205,251'] = [26446] let s:lib.Codec.decoding_table['205,252'] = [26792] let s:lib.Codec.decoding_table['205,253'] = [29702] let s:lib.Codec.decoding_table['205,254'] = [29827] let s:lib.Codec.decoding_table['206,161'] = [30178] let s:lib.Codec.decoding_table['206,162'] = [35023] let s:lib.Codec.decoding_table['206,163'] = [35041] let s:lib.Codec.decoding_table['206,164'] = [37324] let s:lib.Codec.decoding_table['206,165'] = [38626] let s:lib.Codec.decoding_table['206,166'] = [38520] let s:lib.Codec.decoding_table['206,167'] = [24459] let s:lib.Codec.decoding_table['206,168'] = [29575] let s:lib.Codec.decoding_table['206,169'] = [31435] let s:lib.Codec.decoding_table['206,170'] = [33870] let s:lib.Codec.decoding_table['206,171'] = [25504] let s:lib.Codec.decoding_table['206,172'] = [30053] let s:lib.Codec.decoding_table['206,173'] = [21129] let s:lib.Codec.decoding_table['206,174'] = [27969] let s:lib.Codec.decoding_table['206,175'] = [28316] let s:lib.Codec.decoding_table['206,176'] = [29705] let s:lib.Codec.decoding_table['206,177'] = [30041] let s:lib.Codec.decoding_table['206,178'] = [30827] let s:lib.Codec.decoding_table['206,179'] = [31890] let s:lib.Codec.decoding_table['206,180'] = [38534] let s:lib.Codec.decoding_table['206,181'] = [31452] let s:lib.Codec.decoding_table['206,182'] = [40845] let s:lib.Codec.decoding_table['206,183'] = [20406] let s:lib.Codec.decoding_table['206,184'] = [24942] let s:lib.Codec.decoding_table['206,185'] = [26053] let s:lib.Codec.decoding_table['206,186'] = [34396] let s:lib.Codec.decoding_table['206,187'] = [20102] let s:lib.Codec.decoding_table['206,188'] = [20142] let s:lib.Codec.decoding_table['206,189'] = [20698] let s:lib.Codec.decoding_table['206,190'] = [20001] let s:lib.Codec.decoding_table['206,191'] = [20940] let s:lib.Codec.decoding_table['206,192'] = [23534] let s:lib.Codec.decoding_table['206,193'] = [26009] let s:lib.Codec.decoding_table['206,194'] = [26753] let s:lib.Codec.decoding_table['206,195'] = [28092] let s:lib.Codec.decoding_table['206,196'] = [29471] let s:lib.Codec.decoding_table['206,197'] = [30274] let s:lib.Codec.decoding_table['206,198'] = [30637] let s:lib.Codec.decoding_table['206,199'] = [31260] let s:lib.Codec.decoding_table['206,200'] = [31975] let s:lib.Codec.decoding_table['206,201'] = [33391] let s:lib.Codec.decoding_table['206,202'] = [35538] let s:lib.Codec.decoding_table['206,203'] = [36988] let s:lib.Codec.decoding_table['206,204'] = [37327] let s:lib.Codec.decoding_table['206,205'] = [38517] let s:lib.Codec.decoding_table['206,206'] = [38936] let s:lib.Codec.decoding_table['206,207'] = [21147] let s:lib.Codec.decoding_table['206,208'] = [32209] let s:lib.Codec.decoding_table['206,209'] = [20523] let s:lib.Codec.decoding_table['206,210'] = [21400] let s:lib.Codec.decoding_table['206,211'] = [26519] let s:lib.Codec.decoding_table['206,212'] = [28107] let s:lib.Codec.decoding_table['206,213'] = [29136] let s:lib.Codec.decoding_table['206,214'] = [29747] let s:lib.Codec.decoding_table['206,215'] = [33256] let s:lib.Codec.decoding_table['206,216'] = [36650] let s:lib.Codec.decoding_table['206,217'] = [38563] let s:lib.Codec.decoding_table['206,218'] = [40023] let s:lib.Codec.decoding_table['206,219'] = [40607] let s:lib.Codec.decoding_table['206,220'] = [29792] let s:lib.Codec.decoding_table['206,221'] = [22593] let s:lib.Codec.decoding_table['206,222'] = [28057] let s:lib.Codec.decoding_table['206,223'] = [32047] let s:lib.Codec.decoding_table['206,224'] = [39006] let s:lib.Codec.decoding_table['206,225'] = [20196] let s:lib.Codec.decoding_table['206,226'] = [20278] let s:lib.Codec.decoding_table['206,227'] = [20363] let s:lib.Codec.decoding_table['206,228'] = [20919] let s:lib.Codec.decoding_table['206,229'] = [21169] let s:lib.Codec.decoding_table['206,230'] = [23994] let s:lib.Codec.decoding_table['206,231'] = [24604] let s:lib.Codec.decoding_table['206,232'] = [29618] let s:lib.Codec.decoding_table['206,233'] = [31036] let s:lib.Codec.decoding_table['206,234'] = [33491] let s:lib.Codec.decoding_table['206,235'] = [37428] let s:lib.Codec.decoding_table['206,236'] = [38583] let s:lib.Codec.decoding_table['206,237'] = [38646] let s:lib.Codec.decoding_table['206,238'] = [38666] let s:lib.Codec.decoding_table['206,239'] = [40599] let s:lib.Codec.decoding_table['206,240'] = [40802] let s:lib.Codec.decoding_table['206,241'] = [26278] let s:lib.Codec.decoding_table['206,242'] = [27508] let s:lib.Codec.decoding_table['206,243'] = [21015] let s:lib.Codec.decoding_table['206,244'] = [21155] let s:lib.Codec.decoding_table['206,245'] = [28872] let s:lib.Codec.decoding_table['206,246'] = [35010] let s:lib.Codec.decoding_table['206,247'] = [24265] let s:lib.Codec.decoding_table['206,248'] = [24651] let s:lib.Codec.decoding_table['206,249'] = [24976] let s:lib.Codec.decoding_table['206,250'] = [28451] let s:lib.Codec.decoding_table['206,251'] = [29001] let s:lib.Codec.decoding_table['206,252'] = [31806] let s:lib.Codec.decoding_table['206,253'] = [32244] let s:lib.Codec.decoding_table['206,254'] = [32879] let s:lib.Codec.decoding_table['207,161'] = [34030] let s:lib.Codec.decoding_table['207,162'] = [36899] let s:lib.Codec.decoding_table['207,163'] = [37676] let s:lib.Codec.decoding_table['207,164'] = [21570] let s:lib.Codec.decoding_table['207,165'] = [39791] let s:lib.Codec.decoding_table['207,166'] = [27347] let s:lib.Codec.decoding_table['207,167'] = [28809] let s:lib.Codec.decoding_table['207,168'] = [36034] let s:lib.Codec.decoding_table['207,169'] = [36335] let s:lib.Codec.decoding_table['207,170'] = [38706] let s:lib.Codec.decoding_table['207,171'] = [21172] let s:lib.Codec.decoding_table['207,172'] = [23105] let s:lib.Codec.decoding_table['207,173'] = [24266] let s:lib.Codec.decoding_table['207,174'] = [24324] let s:lib.Codec.decoding_table['207,175'] = [26391] let s:lib.Codec.decoding_table['207,176'] = [27004] let s:lib.Codec.decoding_table['207,177'] = [27028] let s:lib.Codec.decoding_table['207,178'] = [28010] let s:lib.Codec.decoding_table['207,179'] = [28431] let s:lib.Codec.decoding_table['207,180'] = [29282] let s:lib.Codec.decoding_table['207,181'] = [29436] let s:lib.Codec.decoding_table['207,182'] = [31725] let s:lib.Codec.decoding_table['207,183'] = [32769] let s:lib.Codec.decoding_table['207,184'] = [32894] let s:lib.Codec.decoding_table['207,185'] = [34635] let s:lib.Codec.decoding_table['207,186'] = [37070] let s:lib.Codec.decoding_table['207,187'] = [20845] let s:lib.Codec.decoding_table['207,188'] = [40595] let s:lib.Codec.decoding_table['207,189'] = [31108] let s:lib.Codec.decoding_table['207,190'] = [32907] let s:lib.Codec.decoding_table['207,191'] = [37682] let s:lib.Codec.decoding_table['207,192'] = [35542] let s:lib.Codec.decoding_table['207,193'] = [20525] let s:lib.Codec.decoding_table['207,194'] = [21644] let s:lib.Codec.decoding_table['207,195'] = [35441] let s:lib.Codec.decoding_table['207,196'] = [27498] let s:lib.Codec.decoding_table['207,197'] = [36036] let s:lib.Codec.decoding_table['207,198'] = [33031] let s:lib.Codec.decoding_table['207,199'] = [24785] let s:lib.Codec.decoding_table['207,200'] = [26528] let s:lib.Codec.decoding_table['207,201'] = [40434] let s:lib.Codec.decoding_table['207,202'] = [20121] let s:lib.Codec.decoding_table['207,203'] = [20120] let s:lib.Codec.decoding_table['207,204'] = [39952] let s:lib.Codec.decoding_table['207,205'] = [35435] let s:lib.Codec.decoding_table['207,206'] = [34241] let s:lib.Codec.decoding_table['207,207'] = [34152] let s:lib.Codec.decoding_table['207,208'] = [26880] let s:lib.Codec.decoding_table['207,209'] = [28286] let s:lib.Codec.decoding_table['207,210'] = [30871] let s:lib.Codec.decoding_table['207,211'] = [33109] let s:lib.Codec.decoding_table['208,161'] = [24332] let s:lib.Codec.decoding_table['208,162'] = [19984] let s:lib.Codec.decoding_table['208,163'] = [19989] let s:lib.Codec.decoding_table['208,164'] = [20010] let s:lib.Codec.decoding_table['208,165'] = [20017] let s:lib.Codec.decoding_table['208,166'] = [20022] let s:lib.Codec.decoding_table['208,167'] = [20028] let s:lib.Codec.decoding_table['208,168'] = [20031] let s:lib.Codec.decoding_table['208,169'] = [20034] let s:lib.Codec.decoding_table['208,170'] = [20054] let s:lib.Codec.decoding_table['208,171'] = [20056] let s:lib.Codec.decoding_table['208,172'] = [20098] let s:lib.Codec.decoding_table['208,173'] = [20101] let s:lib.Codec.decoding_table['208,174'] = [35947] let s:lib.Codec.decoding_table['208,175'] = [20106] let s:lib.Codec.decoding_table['208,176'] = [33298] let s:lib.Codec.decoding_table['208,177'] = [24333] let s:lib.Codec.decoding_table['208,178'] = [20110] let s:lib.Codec.decoding_table['208,179'] = [20126] let s:lib.Codec.decoding_table['208,180'] = [20127] let s:lib.Codec.decoding_table['208,181'] = [20128] let s:lib.Codec.decoding_table['208,182'] = [20130] let s:lib.Codec.decoding_table['208,183'] = [20144] let s:lib.Codec.decoding_table['208,184'] = [20147] let s:lib.Codec.decoding_table['208,185'] = [20150] let s:lib.Codec.decoding_table['208,186'] = [20174] let s:lib.Codec.decoding_table['208,187'] = [20173] let s:lib.Codec.decoding_table['208,188'] = [20164] let s:lib.Codec.decoding_table['208,189'] = [20166] let s:lib.Codec.decoding_table['208,190'] = [20162] let s:lib.Codec.decoding_table['208,191'] = [20183] let s:lib.Codec.decoding_table['208,192'] = [20190] let s:lib.Codec.decoding_table['208,193'] = [20205] let s:lib.Codec.decoding_table['208,194'] = [20191] let s:lib.Codec.decoding_table['208,195'] = [20215] let s:lib.Codec.decoding_table['208,196'] = [20233] let s:lib.Codec.decoding_table['208,197'] = [20314] let s:lib.Codec.decoding_table['208,198'] = [20272] let s:lib.Codec.decoding_table['208,199'] = [20315] let s:lib.Codec.decoding_table['208,200'] = [20317] let s:lib.Codec.decoding_table['208,201'] = [20311] let s:lib.Codec.decoding_table['208,202'] = [20295] let s:lib.Codec.decoding_table['208,203'] = [20342] let s:lib.Codec.decoding_table['208,204'] = [20360] let s:lib.Codec.decoding_table['208,205'] = [20367] let s:lib.Codec.decoding_table['208,206'] = [20376] let s:lib.Codec.decoding_table['208,207'] = [20347] let s:lib.Codec.decoding_table['208,208'] = [20329] let s:lib.Codec.decoding_table['208,209'] = [20336] let s:lib.Codec.decoding_table['208,210'] = [20369] let s:lib.Codec.decoding_table['208,211'] = [20335] let s:lib.Codec.decoding_table['208,212'] = [20358] let s:lib.Codec.decoding_table['208,213'] = [20374] let s:lib.Codec.decoding_table['208,214'] = [20760] let s:lib.Codec.decoding_table['208,215'] = [20436] let s:lib.Codec.decoding_table['208,216'] = [20447] let s:lib.Codec.decoding_table['208,217'] = [20430] let s:lib.Codec.decoding_table['208,218'] = [20440] let s:lib.Codec.decoding_table['208,219'] = [20443] let s:lib.Codec.decoding_table['208,220'] = [20433] let s:lib.Codec.decoding_table['208,221'] = [20442] let s:lib.Codec.decoding_table['208,222'] = [20432] let s:lib.Codec.decoding_table['208,223'] = [20452] let s:lib.Codec.decoding_table['208,224'] = [20453] let s:lib.Codec.decoding_table['208,225'] = [20506] let s:lib.Codec.decoding_table['208,226'] = [20520] let s:lib.Codec.decoding_table['208,227'] = [20500] let s:lib.Codec.decoding_table['208,228'] = [20522] let s:lib.Codec.decoding_table['208,229'] = [20517] let s:lib.Codec.decoding_table['208,230'] = [20485] let s:lib.Codec.decoding_table['208,231'] = [20252] let s:lib.Codec.decoding_table['208,232'] = [20470] let s:lib.Codec.decoding_table['208,233'] = [20513] let s:lib.Codec.decoding_table['208,234'] = [20521] let s:lib.Codec.decoding_table['208,235'] = [20524] let s:lib.Codec.decoding_table['208,236'] = [20478] let s:lib.Codec.decoding_table['208,237'] = [20463] let s:lib.Codec.decoding_table['208,238'] = [20497] let s:lib.Codec.decoding_table['208,239'] = [20486] let s:lib.Codec.decoding_table['208,240'] = [20547] let s:lib.Codec.decoding_table['208,241'] = [20551] let s:lib.Codec.decoding_table['208,242'] = [26371] let s:lib.Codec.decoding_table['208,243'] = [20565] let s:lib.Codec.decoding_table['208,244'] = [20560] let s:lib.Codec.decoding_table['208,245'] = [20552] let s:lib.Codec.decoding_table['208,246'] = [20570] let s:lib.Codec.decoding_table['208,247'] = [20566] let s:lib.Codec.decoding_table['208,248'] = [20588] let s:lib.Codec.decoding_table['208,249'] = [20600] let s:lib.Codec.decoding_table['208,250'] = [20608] let s:lib.Codec.decoding_table['208,251'] = [20634] let s:lib.Codec.decoding_table['208,252'] = [20613] let s:lib.Codec.decoding_table['208,253'] = [20660] let s:lib.Codec.decoding_table['208,254'] = [20658] let s:lib.Codec.decoding_table['209,161'] = [20681] let s:lib.Codec.decoding_table['209,162'] = [20682] let s:lib.Codec.decoding_table['209,163'] = [20659] let s:lib.Codec.decoding_table['209,164'] = [20674] let s:lib.Codec.decoding_table['209,165'] = [20694] let s:lib.Codec.decoding_table['209,166'] = [20702] let s:lib.Codec.decoding_table['209,167'] = [20709] let s:lib.Codec.decoding_table['209,168'] = [20717] let s:lib.Codec.decoding_table['209,169'] = [20707] let s:lib.Codec.decoding_table['209,170'] = [20718] let s:lib.Codec.decoding_table['209,171'] = [20729] let s:lib.Codec.decoding_table['209,172'] = [20725] let s:lib.Codec.decoding_table['209,173'] = [20745] let s:lib.Codec.decoding_table['209,174'] = [20737] let s:lib.Codec.decoding_table['209,175'] = [20738] let s:lib.Codec.decoding_table['209,176'] = [20758] let s:lib.Codec.decoding_table['209,177'] = [20757] let s:lib.Codec.decoding_table['209,178'] = [20756] let s:lib.Codec.decoding_table['209,179'] = [20762] let s:lib.Codec.decoding_table['209,180'] = [20769] let s:lib.Codec.decoding_table['209,181'] = [20794] let s:lib.Codec.decoding_table['209,182'] = [20791] let s:lib.Codec.decoding_table['209,183'] = [20796] let s:lib.Codec.decoding_table['209,184'] = [20795] let s:lib.Codec.decoding_table['209,185'] = [20799] let s:lib.Codec.decoding_table['209,186'] = [20800] let s:lib.Codec.decoding_table['209,187'] = [20818] let s:lib.Codec.decoding_table['209,188'] = [20812] let s:lib.Codec.decoding_table['209,189'] = [20820] let s:lib.Codec.decoding_table['209,190'] = [20834] let s:lib.Codec.decoding_table['209,191'] = [31480] let s:lib.Codec.decoding_table['209,192'] = [20841] let s:lib.Codec.decoding_table['209,193'] = [20842] let s:lib.Codec.decoding_table['209,194'] = [20846] let s:lib.Codec.decoding_table['209,195'] = [20864] let s:lib.Codec.decoding_table['209,196'] = [20866] let s:lib.Codec.decoding_table['209,197'] = [22232] let s:lib.Codec.decoding_table['209,198'] = [20876] let s:lib.Codec.decoding_table['209,199'] = [20873] let s:lib.Codec.decoding_table['209,200'] = [20879] let s:lib.Codec.decoding_table['209,201'] = [20881] let s:lib.Codec.decoding_table['209,202'] = [20883] let s:lib.Codec.decoding_table['209,203'] = [20885] let s:lib.Codec.decoding_table['209,204'] = [20886] let s:lib.Codec.decoding_table['209,205'] = [20900] let s:lib.Codec.decoding_table['209,206'] = [20902] let s:lib.Codec.decoding_table['209,207'] = [20898] let s:lib.Codec.decoding_table['209,208'] = [20905] let s:lib.Codec.decoding_table['209,209'] = [20906] let s:lib.Codec.decoding_table['209,210'] = [20907] let s:lib.Codec.decoding_table['209,211'] = [20915] let s:lib.Codec.decoding_table['209,212'] = [20913] let s:lib.Codec.decoding_table['209,213'] = [20914] let s:lib.Codec.decoding_table['209,214'] = [20912] let s:lib.Codec.decoding_table['209,215'] = [20917] let s:lib.Codec.decoding_table['209,216'] = [20925] let s:lib.Codec.decoding_table['209,217'] = [20933] let s:lib.Codec.decoding_table['209,218'] = [20937] let s:lib.Codec.decoding_table['209,219'] = [20955] let s:lib.Codec.decoding_table['209,220'] = [20960] let s:lib.Codec.decoding_table['209,221'] = [34389] let s:lib.Codec.decoding_table['209,222'] = [20969] let s:lib.Codec.decoding_table['209,223'] = [20973] let s:lib.Codec.decoding_table['209,224'] = [20976] let s:lib.Codec.decoding_table['209,225'] = [20981] let s:lib.Codec.decoding_table['209,226'] = [20990] let s:lib.Codec.decoding_table['209,227'] = [20996] let s:lib.Codec.decoding_table['209,228'] = [21003] let s:lib.Codec.decoding_table['209,229'] = [21012] let s:lib.Codec.decoding_table['209,230'] = [21006] let s:lib.Codec.decoding_table['209,231'] = [21031] let s:lib.Codec.decoding_table['209,232'] = [21034] let s:lib.Codec.decoding_table['209,233'] = [21038] let s:lib.Codec.decoding_table['209,234'] = [21043] let s:lib.Codec.decoding_table['209,235'] = [21049] let s:lib.Codec.decoding_table['209,236'] = [21071] let s:lib.Codec.decoding_table['209,237'] = [21060] let s:lib.Codec.decoding_table['209,238'] = [21067] let s:lib.Codec.decoding_table['209,239'] = [21068] let s:lib.Codec.decoding_table['209,240'] = [21086] let s:lib.Codec.decoding_table['209,241'] = [21076] let s:lib.Codec.decoding_table['209,242'] = [21098] let s:lib.Codec.decoding_table['209,243'] = [21108] let s:lib.Codec.decoding_table['209,244'] = [21097] let s:lib.Codec.decoding_table['209,245'] = [21107] let s:lib.Codec.decoding_table['209,246'] = [21119] let s:lib.Codec.decoding_table['209,247'] = [21117] let s:lib.Codec.decoding_table['209,248'] = [21133] let s:lib.Codec.decoding_table['209,249'] = [21140] let s:lib.Codec.decoding_table['209,250'] = [21138] let s:lib.Codec.decoding_table['209,251'] = [21105] let s:lib.Codec.decoding_table['209,252'] = [21128] let s:lib.Codec.decoding_table['209,253'] = [21137] let s:lib.Codec.decoding_table['209,254'] = [36776] let s:lib.Codec.decoding_table['210,161'] = [36775] let s:lib.Codec.decoding_table['210,162'] = [21164] let s:lib.Codec.decoding_table['210,163'] = [21165] let s:lib.Codec.decoding_table['210,164'] = [21180] let s:lib.Codec.decoding_table['210,165'] = [21173] let s:lib.Codec.decoding_table['210,166'] = [21185] let s:lib.Codec.decoding_table['210,167'] = [21197] let s:lib.Codec.decoding_table['210,168'] = [21207] let s:lib.Codec.decoding_table['210,169'] = [21214] let s:lib.Codec.decoding_table['210,170'] = [21219] let s:lib.Codec.decoding_table['210,171'] = [21222] let s:lib.Codec.decoding_table['210,172'] = [39149] let s:lib.Codec.decoding_table['210,173'] = [21216] let s:lib.Codec.decoding_table['210,174'] = [21235] let s:lib.Codec.decoding_table['210,175'] = [21237] let s:lib.Codec.decoding_table['210,176'] = [21240] let s:lib.Codec.decoding_table['210,177'] = [21241] let s:lib.Codec.decoding_table['210,178'] = [21254] let s:lib.Codec.decoding_table['210,179'] = [21256] let s:lib.Codec.decoding_table['210,180'] = [30008] let s:lib.Codec.decoding_table['210,181'] = [21261] let s:lib.Codec.decoding_table['210,182'] = [21264] let s:lib.Codec.decoding_table['210,183'] = [21263] let s:lib.Codec.decoding_table['210,184'] = [21269] let s:lib.Codec.decoding_table['210,185'] = [21274] let s:lib.Codec.decoding_table['210,186'] = [21283] let s:lib.Codec.decoding_table['210,187'] = [21295] let s:lib.Codec.decoding_table['210,188'] = [21297] let s:lib.Codec.decoding_table['210,189'] = [21299] let s:lib.Codec.decoding_table['210,190'] = [21304] let s:lib.Codec.decoding_table['210,191'] = [21312] let s:lib.Codec.decoding_table['210,192'] = [21318] let s:lib.Codec.decoding_table['210,193'] = [21317] let s:lib.Codec.decoding_table['210,194'] = [19991] let s:lib.Codec.decoding_table['210,195'] = [21321] let s:lib.Codec.decoding_table['210,196'] = [21325] let s:lib.Codec.decoding_table['210,197'] = [20950] let s:lib.Codec.decoding_table['210,198'] = [21342] let s:lib.Codec.decoding_table['210,199'] = [21353] let s:lib.Codec.decoding_table['210,200'] = [21358] let s:lib.Codec.decoding_table['210,201'] = [22808] let s:lib.Codec.decoding_table['210,202'] = [21371] let s:lib.Codec.decoding_table['210,203'] = [21367] let s:lib.Codec.decoding_table['210,204'] = [21378] let s:lib.Codec.decoding_table['210,205'] = [21398] let s:lib.Codec.decoding_table['210,206'] = [21408] let s:lib.Codec.decoding_table['210,207'] = [21414] let s:lib.Codec.decoding_table['210,208'] = [21413] let s:lib.Codec.decoding_table['210,209'] = [21422] let s:lib.Codec.decoding_table['210,210'] = [21424] let s:lib.Codec.decoding_table['210,211'] = [21430] let s:lib.Codec.decoding_table['210,212'] = [21443] let s:lib.Codec.decoding_table['210,213'] = [31762] let s:lib.Codec.decoding_table['210,214'] = [38617] let s:lib.Codec.decoding_table['210,215'] = [21471] let s:lib.Codec.decoding_table['210,216'] = [26364] let s:lib.Codec.decoding_table['210,217'] = [29166] let s:lib.Codec.decoding_table['210,218'] = [21486] let s:lib.Codec.decoding_table['210,219'] = [21480] let s:lib.Codec.decoding_table['210,220'] = [21485] let s:lib.Codec.decoding_table['210,221'] = [21498] let s:lib.Codec.decoding_table['210,222'] = [21505] let s:lib.Codec.decoding_table['210,223'] = [21565] let s:lib.Codec.decoding_table['210,224'] = [21568] let s:lib.Codec.decoding_table['210,225'] = [21548] let s:lib.Codec.decoding_table['210,226'] = [21549] let s:lib.Codec.decoding_table['210,227'] = [21564] let s:lib.Codec.decoding_table['210,228'] = [21550] let s:lib.Codec.decoding_table['210,229'] = [21558] let s:lib.Codec.decoding_table['210,230'] = [21545] let s:lib.Codec.decoding_table['210,231'] = [21533] let s:lib.Codec.decoding_table['210,232'] = [21582] let s:lib.Codec.decoding_table['210,233'] = [21647] let s:lib.Codec.decoding_table['210,234'] = [21621] let s:lib.Codec.decoding_table['210,235'] = [21646] let s:lib.Codec.decoding_table['210,236'] = [21599] let s:lib.Codec.decoding_table['210,237'] = [21617] let s:lib.Codec.decoding_table['210,238'] = [21623] let s:lib.Codec.decoding_table['210,239'] = [21616] let s:lib.Codec.decoding_table['210,240'] = [21650] let s:lib.Codec.decoding_table['210,241'] = [21627] let s:lib.Codec.decoding_table['210,242'] = [21632] let s:lib.Codec.decoding_table['210,243'] = [21622] let s:lib.Codec.decoding_table['210,244'] = [21636] let s:lib.Codec.decoding_table['210,245'] = [21648] let s:lib.Codec.decoding_table['210,246'] = [21638] let s:lib.Codec.decoding_table['210,247'] = [21703] let s:lib.Codec.decoding_table['210,248'] = [21666] let s:lib.Codec.decoding_table['210,249'] = [21688] let s:lib.Codec.decoding_table['210,250'] = [21669] let s:lib.Codec.decoding_table['210,251'] = [21676] let s:lib.Codec.decoding_table['210,252'] = [21700] let s:lib.Codec.decoding_table['210,253'] = [21704] let s:lib.Codec.decoding_table['210,254'] = [21672] let s:lib.Codec.decoding_table['211,161'] = [21675] let s:lib.Codec.decoding_table['211,162'] = [21698] let s:lib.Codec.decoding_table['211,163'] = [21668] let s:lib.Codec.decoding_table['211,164'] = [21694] let s:lib.Codec.decoding_table['211,165'] = [21692] let s:lib.Codec.decoding_table['211,166'] = [21720] let s:lib.Codec.decoding_table['211,167'] = [21733] let s:lib.Codec.decoding_table['211,168'] = [21734] let s:lib.Codec.decoding_table['211,169'] = [21775] let s:lib.Codec.decoding_table['211,170'] = [21780] let s:lib.Codec.decoding_table['211,171'] = [21757] let s:lib.Codec.decoding_table['211,172'] = [21742] let s:lib.Codec.decoding_table['211,173'] = [21741] let s:lib.Codec.decoding_table['211,174'] = [21754] let s:lib.Codec.decoding_table['211,175'] = [21730] let s:lib.Codec.decoding_table['211,176'] = [21817] let s:lib.Codec.decoding_table['211,177'] = [21824] let s:lib.Codec.decoding_table['211,178'] = [21859] let s:lib.Codec.decoding_table['211,179'] = [21836] let s:lib.Codec.decoding_table['211,180'] = [21806] let s:lib.Codec.decoding_table['211,181'] = [21852] let s:lib.Codec.decoding_table['211,182'] = [21829] let s:lib.Codec.decoding_table['211,183'] = [21846] let s:lib.Codec.decoding_table['211,184'] = [21847] let s:lib.Codec.decoding_table['211,185'] = [21816] let s:lib.Codec.decoding_table['211,186'] = [21811] let s:lib.Codec.decoding_table['211,187'] = [21853] let s:lib.Codec.decoding_table['211,188'] = [21913] let s:lib.Codec.decoding_table['211,189'] = [21888] let s:lib.Codec.decoding_table['211,190'] = [21679] let s:lib.Codec.decoding_table['211,191'] = [21898] let s:lib.Codec.decoding_table['211,192'] = [21919] let s:lib.Codec.decoding_table['211,193'] = [21883] let s:lib.Codec.decoding_table['211,194'] = [21886] let s:lib.Codec.decoding_table['211,195'] = [21912] let s:lib.Codec.decoding_table['211,196'] = [21918] let s:lib.Codec.decoding_table['211,197'] = [21934] let s:lib.Codec.decoding_table['211,198'] = [21884] let s:lib.Codec.decoding_table['211,199'] = [21891] let s:lib.Codec.decoding_table['211,200'] = [21929] let s:lib.Codec.decoding_table['211,201'] = [21895] let s:lib.Codec.decoding_table['211,202'] = [21928] let s:lib.Codec.decoding_table['211,203'] = [21978] let s:lib.Codec.decoding_table['211,204'] = [21957] let s:lib.Codec.decoding_table['211,205'] = [21983] let s:lib.Codec.decoding_table['211,206'] = [21956] let s:lib.Codec.decoding_table['211,207'] = [21980] let s:lib.Codec.decoding_table['211,208'] = [21988] let s:lib.Codec.decoding_table['211,209'] = [21972] let s:lib.Codec.decoding_table['211,210'] = [22036] let s:lib.Codec.decoding_table['211,211'] = [22007] let s:lib.Codec.decoding_table['211,212'] = [22038] let s:lib.Codec.decoding_table['211,213'] = [22014] let s:lib.Codec.decoding_table['211,214'] = [22013] let s:lib.Codec.decoding_table['211,215'] = [22043] let s:lib.Codec.decoding_table['211,216'] = [22009] let s:lib.Codec.decoding_table['211,217'] = [22094] let s:lib.Codec.decoding_table['211,218'] = [22096] let s:lib.Codec.decoding_table['211,219'] = [29151] let s:lib.Codec.decoding_table['211,220'] = [22068] let s:lib.Codec.decoding_table['211,221'] = [22070] let s:lib.Codec.decoding_table['211,222'] = [22066] let s:lib.Codec.decoding_table['211,223'] = [22072] let s:lib.Codec.decoding_table['211,224'] = [22123] let s:lib.Codec.decoding_table['211,225'] = [22116] let s:lib.Codec.decoding_table['211,226'] = [22063] let s:lib.Codec.decoding_table['211,227'] = [22124] let s:lib.Codec.decoding_table['211,228'] = [22122] let s:lib.Codec.decoding_table['211,229'] = [22150] let s:lib.Codec.decoding_table['211,230'] = [22144] let s:lib.Codec.decoding_table['211,231'] = [22154] let s:lib.Codec.decoding_table['211,232'] = [22176] let s:lib.Codec.decoding_table['211,233'] = [22164] let s:lib.Codec.decoding_table['211,234'] = [22159] let s:lib.Codec.decoding_table['211,235'] = [22181] let s:lib.Codec.decoding_table['211,236'] = [22190] let s:lib.Codec.decoding_table['211,237'] = [22198] let s:lib.Codec.decoding_table['211,238'] = [22196] let s:lib.Codec.decoding_table['211,239'] = [22210] let s:lib.Codec.decoding_table['211,240'] = [22204] let s:lib.Codec.decoding_table['211,241'] = [22209] let s:lib.Codec.decoding_table['211,242'] = [22211] let s:lib.Codec.decoding_table['211,243'] = [22208] let s:lib.Codec.decoding_table['211,244'] = [22216] let s:lib.Codec.decoding_table['211,245'] = [22222] let s:lib.Codec.decoding_table['211,246'] = [22225] let s:lib.Codec.decoding_table['211,247'] = [22227] let s:lib.Codec.decoding_table['211,248'] = [22231] let s:lib.Codec.decoding_table['211,249'] = [22254] let s:lib.Codec.decoding_table['211,250'] = [22265] let s:lib.Codec.decoding_table['211,251'] = [22272] let s:lib.Codec.decoding_table['211,252'] = [22271] let s:lib.Codec.decoding_table['211,253'] = [22276] let s:lib.Codec.decoding_table['211,254'] = [22281] let s:lib.Codec.decoding_table['212,161'] = [22280] let s:lib.Codec.decoding_table['212,162'] = [22283] let s:lib.Codec.decoding_table['212,163'] = [22285] let s:lib.Codec.decoding_table['212,164'] = [22291] let s:lib.Codec.decoding_table['212,165'] = [22296] let s:lib.Codec.decoding_table['212,166'] = [22294] let s:lib.Codec.decoding_table['212,167'] = [21959] let s:lib.Codec.decoding_table['212,168'] = [22300] let s:lib.Codec.decoding_table['212,169'] = [22310] let s:lib.Codec.decoding_table['212,170'] = [22327] let s:lib.Codec.decoding_table['212,171'] = [22328] let s:lib.Codec.decoding_table['212,172'] = [22350] let s:lib.Codec.decoding_table['212,173'] = [22331] let s:lib.Codec.decoding_table['212,174'] = [22336] let s:lib.Codec.decoding_table['212,175'] = [22351] let s:lib.Codec.decoding_table['212,176'] = [22377] let s:lib.Codec.decoding_table['212,177'] = [22464] let s:lib.Codec.decoding_table['212,178'] = [22408] let s:lib.Codec.decoding_table['212,179'] = [22369] let s:lib.Codec.decoding_table['212,180'] = [22399] let s:lib.Codec.decoding_table['212,181'] = [22409] let s:lib.Codec.decoding_table['212,182'] = [22419] let s:lib.Codec.decoding_table['212,183'] = [22432] let s:lib.Codec.decoding_table['212,184'] = [22451] let s:lib.Codec.decoding_table['212,185'] = [22436] let s:lib.Codec.decoding_table['212,186'] = [22442] let s:lib.Codec.decoding_table['212,187'] = [22448] let s:lib.Codec.decoding_table['212,188'] = [22467] let s:lib.Codec.decoding_table['212,189'] = [22470] let s:lib.Codec.decoding_table['212,190'] = [22484] let s:lib.Codec.decoding_table['212,191'] = [22482] let s:lib.Codec.decoding_table['212,192'] = [22483] let s:lib.Codec.decoding_table['212,193'] = [22538] let s:lib.Codec.decoding_table['212,194'] = [22486] let s:lib.Codec.decoding_table['212,195'] = [22499] let s:lib.Codec.decoding_table['212,196'] = [22539] let s:lib.Codec.decoding_table['212,197'] = [22553] let s:lib.Codec.decoding_table['212,198'] = [22557] let s:lib.Codec.decoding_table['212,199'] = [22642] let s:lib.Codec.decoding_table['212,200'] = [22561] let s:lib.Codec.decoding_table['212,201'] = [22626] let s:lib.Codec.decoding_table['212,202'] = [22603] let s:lib.Codec.decoding_table['212,203'] = [22640] let s:lib.Codec.decoding_table['212,204'] = [27584] let s:lib.Codec.decoding_table['212,205'] = [22610] let s:lib.Codec.decoding_table['212,206'] = [22589] let s:lib.Codec.decoding_table['212,207'] = [22649] let s:lib.Codec.decoding_table['212,208'] = [22661] let s:lib.Codec.decoding_table['212,209'] = [22713] let s:lib.Codec.decoding_table['212,210'] = [22687] let s:lib.Codec.decoding_table['212,211'] = [22699] let s:lib.Codec.decoding_table['212,212'] = [22714] let s:lib.Codec.decoding_table['212,213'] = [22750] let s:lib.Codec.decoding_table['212,214'] = [22715] let s:lib.Codec.decoding_table['212,215'] = [22712] let s:lib.Codec.decoding_table['212,216'] = [22702] let s:lib.Codec.decoding_table['212,217'] = [22725] let s:lib.Codec.decoding_table['212,218'] = [22739] let s:lib.Codec.decoding_table['212,219'] = [22737] let s:lib.Codec.decoding_table['212,220'] = [22743] let s:lib.Codec.decoding_table['212,221'] = [22745] let s:lib.Codec.decoding_table['212,222'] = [22744] let s:lib.Codec.decoding_table['212,223'] = [22757] let s:lib.Codec.decoding_table['212,224'] = [22748] let s:lib.Codec.decoding_table['212,225'] = [22756] let s:lib.Codec.decoding_table['212,226'] = [22751] let s:lib.Codec.decoding_table['212,227'] = [22767] let s:lib.Codec.decoding_table['212,228'] = [22778] let s:lib.Codec.decoding_table['212,229'] = [22777] let s:lib.Codec.decoding_table['212,230'] = [22779] let s:lib.Codec.decoding_table['212,231'] = [22780] let s:lib.Codec.decoding_table['212,232'] = [22781] let s:lib.Codec.decoding_table['212,233'] = [22786] let s:lib.Codec.decoding_table['212,234'] = [22794] let s:lib.Codec.decoding_table['212,235'] = [22800] let s:lib.Codec.decoding_table['212,236'] = [22811] let s:lib.Codec.decoding_table['212,237'] = [26790] let s:lib.Codec.decoding_table['212,238'] = [22821] let s:lib.Codec.decoding_table['212,239'] = [22828] let s:lib.Codec.decoding_table['212,240'] = [22829] let s:lib.Codec.decoding_table['212,241'] = [22834] let s:lib.Codec.decoding_table['212,242'] = [22840] let s:lib.Codec.decoding_table['212,243'] = [22846] let s:lib.Codec.decoding_table['212,244'] = [31442] let s:lib.Codec.decoding_table['212,245'] = [22869] let s:lib.Codec.decoding_table['212,246'] = [22864] let s:lib.Codec.decoding_table['212,247'] = [22862] let s:lib.Codec.decoding_table['212,248'] = [22874] let s:lib.Codec.decoding_table['212,249'] = [22872] let s:lib.Codec.decoding_table['212,250'] = [22882] let s:lib.Codec.decoding_table['212,251'] = [22880] let s:lib.Codec.decoding_table['212,252'] = [22887] let s:lib.Codec.decoding_table['212,253'] = [22892] let s:lib.Codec.decoding_table['212,254'] = [22889] let s:lib.Codec.decoding_table['213,161'] = [22904] let s:lib.Codec.decoding_table['213,162'] = [22913] let s:lib.Codec.decoding_table['213,163'] = [22941] let s:lib.Codec.decoding_table['213,164'] = [20318] let s:lib.Codec.decoding_table['213,165'] = [20395] let s:lib.Codec.decoding_table['213,166'] = [22947] let s:lib.Codec.decoding_table['213,167'] = [22962] let s:lib.Codec.decoding_table['213,168'] = [22982] let s:lib.Codec.decoding_table['213,169'] = [23016] let s:lib.Codec.decoding_table['213,170'] = [23004] let s:lib.Codec.decoding_table['213,171'] = [22925] let s:lib.Codec.decoding_table['213,172'] = [23001] let s:lib.Codec.decoding_table['213,173'] = [23002] let s:lib.Codec.decoding_table['213,174'] = [23077] let s:lib.Codec.decoding_table['213,175'] = [23071] let s:lib.Codec.decoding_table['213,176'] = [23057] let s:lib.Codec.decoding_table['213,177'] = [23068] let s:lib.Codec.decoding_table['213,178'] = [23049] let s:lib.Codec.decoding_table['213,179'] = [23066] let s:lib.Codec.decoding_table['213,180'] = [23104] let s:lib.Codec.decoding_table['213,181'] = [23148] let s:lib.Codec.decoding_table['213,182'] = [23113] let s:lib.Codec.decoding_table['213,183'] = [23093] let s:lib.Codec.decoding_table['213,184'] = [23094] let s:lib.Codec.decoding_table['213,185'] = [23138] let s:lib.Codec.decoding_table['213,186'] = [23146] let s:lib.Codec.decoding_table['213,187'] = [23194] let s:lib.Codec.decoding_table['213,188'] = [23228] let s:lib.Codec.decoding_table['213,189'] = [23230] let s:lib.Codec.decoding_table['213,190'] = [23243] let s:lib.Codec.decoding_table['213,191'] = [23234] let s:lib.Codec.decoding_table['213,192'] = [23229] let s:lib.Codec.decoding_table['213,193'] = [23267] let s:lib.Codec.decoding_table['213,194'] = [23255] let s:lib.Codec.decoding_table['213,195'] = [23270] let s:lib.Codec.decoding_table['213,196'] = [23273] let s:lib.Codec.decoding_table['213,197'] = [23254] let s:lib.Codec.decoding_table['213,198'] = [23290] let s:lib.Codec.decoding_table['213,199'] = [23291] let s:lib.Codec.decoding_table['213,200'] = [23308] let s:lib.Codec.decoding_table['213,201'] = [23307] let s:lib.Codec.decoding_table['213,202'] = [23318] let s:lib.Codec.decoding_table['213,203'] = [23346] let s:lib.Codec.decoding_table['213,204'] = [23248] let s:lib.Codec.decoding_table['213,205'] = [23338] let s:lib.Codec.decoding_table['213,206'] = [23350] let s:lib.Codec.decoding_table['213,207'] = [23358] let s:lib.Codec.decoding_table['213,208'] = [23363] let s:lib.Codec.decoding_table['213,209'] = [23365] let s:lib.Codec.decoding_table['213,210'] = [23360] let s:lib.Codec.decoding_table['213,211'] = [23377] let s:lib.Codec.decoding_table['213,212'] = [23381] let s:lib.Codec.decoding_table['213,213'] = [23386] let s:lib.Codec.decoding_table['213,214'] = [23387] let s:lib.Codec.decoding_table['213,215'] = [23397] let s:lib.Codec.decoding_table['213,216'] = [23401] let s:lib.Codec.decoding_table['213,217'] = [23408] let s:lib.Codec.decoding_table['213,218'] = [23411] let s:lib.Codec.decoding_table['213,219'] = [23413] let s:lib.Codec.decoding_table['213,220'] = [23416] let s:lib.Codec.decoding_table['213,221'] = [25992] let s:lib.Codec.decoding_table['213,222'] = [23418] let s:lib.Codec.decoding_table['213,223'] = [23424] let s:lib.Codec.decoding_table['213,224'] = [23427] let s:lib.Codec.decoding_table['213,225'] = [23462] let s:lib.Codec.decoding_table['213,226'] = [23480] let s:lib.Codec.decoding_table['213,227'] = [23491] let s:lib.Codec.decoding_table['213,228'] = [23495] let s:lib.Codec.decoding_table['213,229'] = [23497] let s:lib.Codec.decoding_table['213,230'] = [23508] let s:lib.Codec.decoding_table['213,231'] = [23504] let s:lib.Codec.decoding_table['213,232'] = [23524] let s:lib.Codec.decoding_table['213,233'] = [23526] let s:lib.Codec.decoding_table['213,234'] = [23522] let s:lib.Codec.decoding_table['213,235'] = [23518] let s:lib.Codec.decoding_table['213,236'] = [23525] let s:lib.Codec.decoding_table['213,237'] = [23531] let s:lib.Codec.decoding_table['213,238'] = [23536] let s:lib.Codec.decoding_table['213,239'] = [23542] let s:lib.Codec.decoding_table['213,240'] = [23539] let s:lib.Codec.decoding_table['213,241'] = [23557] let s:lib.Codec.decoding_table['213,242'] = [23559] let s:lib.Codec.decoding_table['213,243'] = [23560] let s:lib.Codec.decoding_table['213,244'] = [23565] let s:lib.Codec.decoding_table['213,245'] = [23571] let s:lib.Codec.decoding_table['213,246'] = [23584] let s:lib.Codec.decoding_table['213,247'] = [23586] let s:lib.Codec.decoding_table['213,248'] = [23592] let s:lib.Codec.decoding_table['213,249'] = [23608] let s:lib.Codec.decoding_table['213,250'] = [23609] let s:lib.Codec.decoding_table['213,251'] = [23617] let s:lib.Codec.decoding_table['213,252'] = [23622] let s:lib.Codec.decoding_table['213,253'] = [23630] let s:lib.Codec.decoding_table['213,254'] = [23635] let s:lib.Codec.decoding_table['214,161'] = [23632] let s:lib.Codec.decoding_table['214,162'] = [23631] let s:lib.Codec.decoding_table['214,163'] = [23409] let s:lib.Codec.decoding_table['214,164'] = [23660] let s:lib.Codec.decoding_table['214,165'] = [23662] let s:lib.Codec.decoding_table['214,166'] = [20066] let s:lib.Codec.decoding_table['214,167'] = [23670] let s:lib.Codec.decoding_table['214,168'] = [23673] let s:lib.Codec.decoding_table['214,169'] = [23692] let s:lib.Codec.decoding_table['214,170'] = [23697] let s:lib.Codec.decoding_table['214,171'] = [23700] let s:lib.Codec.decoding_table['214,172'] = [22939] let s:lib.Codec.decoding_table['214,173'] = [23723] let s:lib.Codec.decoding_table['214,174'] = [23739] let s:lib.Codec.decoding_table['214,175'] = [23734] let s:lib.Codec.decoding_table['214,176'] = [23740] let s:lib.Codec.decoding_table['214,177'] = [23735] let s:lib.Codec.decoding_table['214,178'] = [23749] let s:lib.Codec.decoding_table['214,179'] = [23742] let s:lib.Codec.decoding_table['214,180'] = [23751] let s:lib.Codec.decoding_table['214,181'] = [23769] let s:lib.Codec.decoding_table['214,182'] = [23785] let s:lib.Codec.decoding_table['214,183'] = [23805] let s:lib.Codec.decoding_table['214,184'] = [23802] let s:lib.Codec.decoding_table['214,185'] = [23789] let s:lib.Codec.decoding_table['214,186'] = [23948] let s:lib.Codec.decoding_table['214,187'] = [23786] let s:lib.Codec.decoding_table['214,188'] = [23819] let s:lib.Codec.decoding_table['214,189'] = [23829] let s:lib.Codec.decoding_table['214,190'] = [23831] let s:lib.Codec.decoding_table['214,191'] = [23900] let s:lib.Codec.decoding_table['214,192'] = [23839] let s:lib.Codec.decoding_table['214,193'] = [23835] let s:lib.Codec.decoding_table['214,194'] = [23825] let s:lib.Codec.decoding_table['214,195'] = [23828] let s:lib.Codec.decoding_table['214,196'] = [23842] let s:lib.Codec.decoding_table['214,197'] = [23834] let s:lib.Codec.decoding_table['214,198'] = [23833] let s:lib.Codec.decoding_table['214,199'] = [23832] let s:lib.Codec.decoding_table['214,200'] = [23884] let s:lib.Codec.decoding_table['214,201'] = [23890] let s:lib.Codec.decoding_table['214,202'] = [23886] let s:lib.Codec.decoding_table['214,203'] = [23883] let s:lib.Codec.decoding_table['214,204'] = [23916] let s:lib.Codec.decoding_table['214,205'] = [23923] let s:lib.Codec.decoding_table['214,206'] = [23926] let s:lib.Codec.decoding_table['214,207'] = [23943] let s:lib.Codec.decoding_table['214,208'] = [23940] let s:lib.Codec.decoding_table['214,209'] = [23938] let s:lib.Codec.decoding_table['214,210'] = [23970] let s:lib.Codec.decoding_table['214,211'] = [23965] let s:lib.Codec.decoding_table['214,212'] = [23980] let s:lib.Codec.decoding_table['214,213'] = [23982] let s:lib.Codec.decoding_table['214,214'] = [23997] let s:lib.Codec.decoding_table['214,215'] = [23952] let s:lib.Codec.decoding_table['214,216'] = [23991] let s:lib.Codec.decoding_table['214,217'] = [23996] let s:lib.Codec.decoding_table['214,218'] = [24009] let s:lib.Codec.decoding_table['214,219'] = [24013] let s:lib.Codec.decoding_table['214,220'] = [24019] let s:lib.Codec.decoding_table['214,221'] = [24018] let s:lib.Codec.decoding_table['214,222'] = [24022] let s:lib.Codec.decoding_table['214,223'] = [24027] let s:lib.Codec.decoding_table['214,224'] = [24043] let s:lib.Codec.decoding_table['214,225'] = [24050] let s:lib.Codec.decoding_table['214,226'] = [24053] let s:lib.Codec.decoding_table['214,227'] = [24075] let s:lib.Codec.decoding_table['214,228'] = [24090] let s:lib.Codec.decoding_table['214,229'] = [24089] let s:lib.Codec.decoding_table['214,230'] = [24081] let s:lib.Codec.decoding_table['214,231'] = [24091] let s:lib.Codec.decoding_table['214,232'] = [24118] let s:lib.Codec.decoding_table['214,233'] = [24119] let s:lib.Codec.decoding_table['214,234'] = [24132] let s:lib.Codec.decoding_table['214,235'] = [24131] let s:lib.Codec.decoding_table['214,236'] = [24128] let s:lib.Codec.decoding_table['214,237'] = [24142] let s:lib.Codec.decoding_table['214,238'] = [24151] let s:lib.Codec.decoding_table['214,239'] = [24148] let s:lib.Codec.decoding_table['214,240'] = [24159] let s:lib.Codec.decoding_table['214,241'] = [24162] let s:lib.Codec.decoding_table['214,242'] = [24164] let s:lib.Codec.decoding_table['214,243'] = [24135] let s:lib.Codec.decoding_table['214,244'] = [24181] let s:lib.Codec.decoding_table['214,245'] = [24182] let s:lib.Codec.decoding_table['214,246'] = [24186] let s:lib.Codec.decoding_table['214,247'] = [40636] let s:lib.Codec.decoding_table['214,248'] = [24191] let s:lib.Codec.decoding_table['214,249'] = [24224] let s:lib.Codec.decoding_table['214,250'] = [24257] let s:lib.Codec.decoding_table['214,251'] = [24258] let s:lib.Codec.decoding_table['214,252'] = [24264] let s:lib.Codec.decoding_table['214,253'] = [24272] let s:lib.Codec.decoding_table['214,254'] = [24271] let s:lib.Codec.decoding_table['215,161'] = [24278] let s:lib.Codec.decoding_table['215,162'] = [24291] let s:lib.Codec.decoding_table['215,163'] = [24285] let s:lib.Codec.decoding_table['215,164'] = [24282] let s:lib.Codec.decoding_table['215,165'] = [24283] let s:lib.Codec.decoding_table['215,166'] = [24290] let s:lib.Codec.decoding_table['215,167'] = [24289] let s:lib.Codec.decoding_table['215,168'] = [24296] let s:lib.Codec.decoding_table['215,169'] = [24297] let s:lib.Codec.decoding_table['215,170'] = [24300] let s:lib.Codec.decoding_table['215,171'] = [24305] let s:lib.Codec.decoding_table['215,172'] = [24307] let s:lib.Codec.decoding_table['215,173'] = [24304] let s:lib.Codec.decoding_table['215,174'] = [24308] let s:lib.Codec.decoding_table['215,175'] = [24312] let s:lib.Codec.decoding_table['215,176'] = [24318] let s:lib.Codec.decoding_table['215,177'] = [24323] let s:lib.Codec.decoding_table['215,178'] = [24329] let s:lib.Codec.decoding_table['215,179'] = [24413] let s:lib.Codec.decoding_table['215,180'] = [24412] let s:lib.Codec.decoding_table['215,181'] = [24331] let s:lib.Codec.decoding_table['215,182'] = [24337] let s:lib.Codec.decoding_table['215,183'] = [24342] let s:lib.Codec.decoding_table['215,184'] = [24361] let s:lib.Codec.decoding_table['215,185'] = [24365] let s:lib.Codec.decoding_table['215,186'] = [24376] let s:lib.Codec.decoding_table['215,187'] = [24385] let s:lib.Codec.decoding_table['215,188'] = [24392] let s:lib.Codec.decoding_table['215,189'] = [24396] let s:lib.Codec.decoding_table['215,190'] = [24398] let s:lib.Codec.decoding_table['215,191'] = [24367] let s:lib.Codec.decoding_table['215,192'] = [24401] let s:lib.Codec.decoding_table['215,193'] = [24406] let s:lib.Codec.decoding_table['215,194'] = [24407] let s:lib.Codec.decoding_table['215,195'] = [24409] let s:lib.Codec.decoding_table['215,196'] = [24417] let s:lib.Codec.decoding_table['215,197'] = [24429] let s:lib.Codec.decoding_table['215,198'] = [24435] let s:lib.Codec.decoding_table['215,199'] = [24439] let s:lib.Codec.decoding_table['215,200'] = [24451] let s:lib.Codec.decoding_table['215,201'] = [24450] let s:lib.Codec.decoding_table['215,202'] = [24447] let s:lib.Codec.decoding_table['215,203'] = [24458] let s:lib.Codec.decoding_table['215,204'] = [24456] let s:lib.Codec.decoding_table['215,205'] = [24465] let s:lib.Codec.decoding_table['215,206'] = [24455] let s:lib.Codec.decoding_table['215,207'] = [24478] let s:lib.Codec.decoding_table['215,208'] = [24473] let s:lib.Codec.decoding_table['215,209'] = [24472] let s:lib.Codec.decoding_table['215,210'] = [24480] let s:lib.Codec.decoding_table['215,211'] = [24488] let s:lib.Codec.decoding_table['215,212'] = [24493] let s:lib.Codec.decoding_table['215,213'] = [24508] let s:lib.Codec.decoding_table['215,214'] = [24534] let s:lib.Codec.decoding_table['215,215'] = [24571] let s:lib.Codec.decoding_table['215,216'] = [24548] let s:lib.Codec.decoding_table['215,217'] = [24568] let s:lib.Codec.decoding_table['215,218'] = [24561] let s:lib.Codec.decoding_table['215,219'] = [24541] let s:lib.Codec.decoding_table['215,220'] = [24755] let s:lib.Codec.decoding_table['215,221'] = [24575] let s:lib.Codec.decoding_table['215,222'] = [24609] let s:lib.Codec.decoding_table['215,223'] = [24672] let s:lib.Codec.decoding_table['215,224'] = [24601] let s:lib.Codec.decoding_table['215,225'] = [24592] let s:lib.Codec.decoding_table['215,226'] = [24617] let s:lib.Codec.decoding_table['215,227'] = [24590] let s:lib.Codec.decoding_table['215,228'] = [24625] let s:lib.Codec.decoding_table['215,229'] = [24603] let s:lib.Codec.decoding_table['215,230'] = [24597] let s:lib.Codec.decoding_table['215,231'] = [24619] let s:lib.Codec.decoding_table['215,232'] = [24614] let s:lib.Codec.decoding_table['215,233'] = [24591] let s:lib.Codec.decoding_table['215,234'] = [24634] let s:lib.Codec.decoding_table['215,235'] = [24666] let s:lib.Codec.decoding_table['215,236'] = [24641] let s:lib.Codec.decoding_table['215,237'] = [24682] let s:lib.Codec.decoding_table['215,238'] = [24695] let s:lib.Codec.decoding_table['215,239'] = [24671] let s:lib.Codec.decoding_table['215,240'] = [24650] let s:lib.Codec.decoding_table['215,241'] = [24646] let s:lib.Codec.decoding_table['215,242'] = [24653] let s:lib.Codec.decoding_table['215,243'] = [24675] let s:lib.Codec.decoding_table['215,244'] = [24643] let s:lib.Codec.decoding_table['215,245'] = [24676] let s:lib.Codec.decoding_table['215,246'] = [24642] let s:lib.Codec.decoding_table['215,247'] = [24684] let s:lib.Codec.decoding_table['215,248'] = [24683] let s:lib.Codec.decoding_table['215,249'] = [24665] let s:lib.Codec.decoding_table['215,250'] = [24705] let s:lib.Codec.decoding_table['215,251'] = [24717] let s:lib.Codec.decoding_table['215,252'] = [24807] let s:lib.Codec.decoding_table['215,253'] = [24707] let s:lib.Codec.decoding_table['215,254'] = [24730] let s:lib.Codec.decoding_table['216,161'] = [24708] let s:lib.Codec.decoding_table['216,162'] = [24731] let s:lib.Codec.decoding_table['216,163'] = [24726] let s:lib.Codec.decoding_table['216,164'] = [24727] let s:lib.Codec.decoding_table['216,165'] = [24722] let s:lib.Codec.decoding_table['216,166'] = [24743] let s:lib.Codec.decoding_table['216,167'] = [24715] let s:lib.Codec.decoding_table['216,168'] = [24801] let s:lib.Codec.decoding_table['216,169'] = [24760] let s:lib.Codec.decoding_table['216,170'] = [24800] let s:lib.Codec.decoding_table['216,171'] = [24787] let s:lib.Codec.decoding_table['216,172'] = [24756] let s:lib.Codec.decoding_table['216,173'] = [24560] let s:lib.Codec.decoding_table['216,174'] = [24765] let s:lib.Codec.decoding_table['216,175'] = [24774] let s:lib.Codec.decoding_table['216,176'] = [24757] let s:lib.Codec.decoding_table['216,177'] = [24792] let s:lib.Codec.decoding_table['216,178'] = [24909] let s:lib.Codec.decoding_table['216,179'] = [24853] let s:lib.Codec.decoding_table['216,180'] = [24838] let s:lib.Codec.decoding_table['216,181'] = [24822] let s:lib.Codec.decoding_table['216,182'] = [24823] let s:lib.Codec.decoding_table['216,183'] = [24832] let s:lib.Codec.decoding_table['216,184'] = [24820] let s:lib.Codec.decoding_table['216,185'] = [24826] let s:lib.Codec.decoding_table['216,186'] = [24835] let s:lib.Codec.decoding_table['216,187'] = [24865] let s:lib.Codec.decoding_table['216,188'] = [24827] let s:lib.Codec.decoding_table['216,189'] = [24817] let s:lib.Codec.decoding_table['216,190'] = [24845] let s:lib.Codec.decoding_table['216,191'] = [24846] let s:lib.Codec.decoding_table['216,192'] = [24903] let s:lib.Codec.decoding_table['216,193'] = [24894] let s:lib.Codec.decoding_table['216,194'] = [24872] let s:lib.Codec.decoding_table['216,195'] = [24871] let s:lib.Codec.decoding_table['216,196'] = [24906] let s:lib.Codec.decoding_table['216,197'] = [24895] let s:lib.Codec.decoding_table['216,198'] = [24892] let s:lib.Codec.decoding_table['216,199'] = [24876] let s:lib.Codec.decoding_table['216,200'] = [24884] let s:lib.Codec.decoding_table['216,201'] = [24893] let s:lib.Codec.decoding_table['216,202'] = [24898] let s:lib.Codec.decoding_table['216,203'] = [24900] let s:lib.Codec.decoding_table['216,204'] = [24947] let s:lib.Codec.decoding_table['216,205'] = [24951] let s:lib.Codec.decoding_table['216,206'] = [24920] let s:lib.Codec.decoding_table['216,207'] = [24921] let s:lib.Codec.decoding_table['216,208'] = [24922] let s:lib.Codec.decoding_table['216,209'] = [24939] let s:lib.Codec.decoding_table['216,210'] = [24948] let s:lib.Codec.decoding_table['216,211'] = [24943] let s:lib.Codec.decoding_table['216,212'] = [24933] let s:lib.Codec.decoding_table['216,213'] = [24945] let s:lib.Codec.decoding_table['216,214'] = [24927] let s:lib.Codec.decoding_table['216,215'] = [24925] let s:lib.Codec.decoding_table['216,216'] = [24915] let s:lib.Codec.decoding_table['216,217'] = [24949] let s:lib.Codec.decoding_table['216,218'] = [24985] let s:lib.Codec.decoding_table['216,219'] = [24982] let s:lib.Codec.decoding_table['216,220'] = [24967] let s:lib.Codec.decoding_table['216,221'] = [25004] let s:lib.Codec.decoding_table['216,222'] = [24980] let s:lib.Codec.decoding_table['216,223'] = [24986] let s:lib.Codec.decoding_table['216,224'] = [24970] let s:lib.Codec.decoding_table['216,225'] = [24977] let s:lib.Codec.decoding_table['216,226'] = [25003] let s:lib.Codec.decoding_table['216,227'] = [25006] let s:lib.Codec.decoding_table['216,228'] = [25036] let s:lib.Codec.decoding_table['216,229'] = [25034] let s:lib.Codec.decoding_table['216,230'] = [25033] let s:lib.Codec.decoding_table['216,231'] = [25079] let s:lib.Codec.decoding_table['216,232'] = [25032] let s:lib.Codec.decoding_table['216,233'] = [25027] let s:lib.Codec.decoding_table['216,234'] = [25030] let s:lib.Codec.decoding_table['216,235'] = [25018] let s:lib.Codec.decoding_table['216,236'] = [25035] let s:lib.Codec.decoding_table['216,237'] = [32633] let s:lib.Codec.decoding_table['216,238'] = [25037] let s:lib.Codec.decoding_table['216,239'] = [25062] let s:lib.Codec.decoding_table['216,240'] = [25059] let s:lib.Codec.decoding_table['216,241'] = [25078] let s:lib.Codec.decoding_table['216,242'] = [25082] let s:lib.Codec.decoding_table['216,243'] = [25076] let s:lib.Codec.decoding_table['216,244'] = [25087] let s:lib.Codec.decoding_table['216,245'] = [25085] let s:lib.Codec.decoding_table['216,246'] = [25084] let s:lib.Codec.decoding_table['216,247'] = [25086] let s:lib.Codec.decoding_table['216,248'] = [25088] let s:lib.Codec.decoding_table['216,249'] = [25096] let s:lib.Codec.decoding_table['216,250'] = [25097] let s:lib.Codec.decoding_table['216,251'] = [25101] let s:lib.Codec.decoding_table['216,252'] = [25100] let s:lib.Codec.decoding_table['216,253'] = [25108] let s:lib.Codec.decoding_table['216,254'] = [25115] let s:lib.Codec.decoding_table['217,161'] = [25118] let s:lib.Codec.decoding_table['217,162'] = [25121] let s:lib.Codec.decoding_table['217,163'] = [25130] let s:lib.Codec.decoding_table['217,164'] = [25134] let s:lib.Codec.decoding_table['217,165'] = [25136] let s:lib.Codec.decoding_table['217,166'] = [25138] let s:lib.Codec.decoding_table['217,167'] = [25139] let s:lib.Codec.decoding_table['217,168'] = [25153] let s:lib.Codec.decoding_table['217,169'] = [25166] let s:lib.Codec.decoding_table['217,170'] = [25182] let s:lib.Codec.decoding_table['217,171'] = [25187] let s:lib.Codec.decoding_table['217,172'] = [25179] let s:lib.Codec.decoding_table['217,173'] = [25184] let s:lib.Codec.decoding_table['217,174'] = [25192] let s:lib.Codec.decoding_table['217,175'] = [25212] let s:lib.Codec.decoding_table['217,176'] = [25218] let s:lib.Codec.decoding_table['217,177'] = [25225] let s:lib.Codec.decoding_table['217,178'] = [25214] let s:lib.Codec.decoding_table['217,179'] = [25234] let s:lib.Codec.decoding_table['217,180'] = [25235] let s:lib.Codec.decoding_table['217,181'] = [25238] let s:lib.Codec.decoding_table['217,182'] = [25300] let s:lib.Codec.decoding_table['217,183'] = [25219] let s:lib.Codec.decoding_table['217,184'] = [25236] let s:lib.Codec.decoding_table['217,185'] = [25303] let s:lib.Codec.decoding_table['217,186'] = [25297] let s:lib.Codec.decoding_table['217,187'] = [25275] let s:lib.Codec.decoding_table['217,188'] = [25295] let s:lib.Codec.decoding_table['217,189'] = [25343] let s:lib.Codec.decoding_table['217,190'] = [25286] let s:lib.Codec.decoding_table['217,191'] = [25812] let s:lib.Codec.decoding_table['217,192'] = [25288] let s:lib.Codec.decoding_table['217,193'] = [25308] let s:lib.Codec.decoding_table['217,194'] = [25292] let s:lib.Codec.decoding_table['217,195'] = [25290] let s:lib.Codec.decoding_table['217,196'] = [25282] let s:lib.Codec.decoding_table['217,197'] = [25287] let s:lib.Codec.decoding_table['217,198'] = [25243] let s:lib.Codec.decoding_table['217,199'] = [25289] let s:lib.Codec.decoding_table['217,200'] = [25356] let s:lib.Codec.decoding_table['217,201'] = [25326] let s:lib.Codec.decoding_table['217,202'] = [25329] let s:lib.Codec.decoding_table['217,203'] = [25383] let s:lib.Codec.decoding_table['217,204'] = [25346] let s:lib.Codec.decoding_table['217,205'] = [25352] let s:lib.Codec.decoding_table['217,206'] = [25327] let s:lib.Codec.decoding_table['217,207'] = [25333] let s:lib.Codec.decoding_table['217,208'] = [25424] let s:lib.Codec.decoding_table['217,209'] = [25406] let s:lib.Codec.decoding_table['217,210'] = [25421] let s:lib.Codec.decoding_table['217,211'] = [25628] let s:lib.Codec.decoding_table['217,212'] = [25423] let s:lib.Codec.decoding_table['217,213'] = [25494] let s:lib.Codec.decoding_table['217,214'] = [25486] let s:lib.Codec.decoding_table['217,215'] = [25472] let s:lib.Codec.decoding_table['217,216'] = [25515] let s:lib.Codec.decoding_table['217,217'] = [25462] let s:lib.Codec.decoding_table['217,218'] = [25507] let s:lib.Codec.decoding_table['217,219'] = [25487] let s:lib.Codec.decoding_table['217,220'] = [25481] let s:lib.Codec.decoding_table['217,221'] = [25503] let s:lib.Codec.decoding_table['217,222'] = [25525] let s:lib.Codec.decoding_table['217,223'] = [25451] let s:lib.Codec.decoding_table['217,224'] = [25449] let s:lib.Codec.decoding_table['217,225'] = [25534] let s:lib.Codec.decoding_table['217,226'] = [25577] let s:lib.Codec.decoding_table['217,227'] = [25536] let s:lib.Codec.decoding_table['217,228'] = [25542] let s:lib.Codec.decoding_table['217,229'] = [25571] let s:lib.Codec.decoding_table['217,230'] = [25545] let s:lib.Codec.decoding_table['217,231'] = [25554] let s:lib.Codec.decoding_table['217,232'] = [25590] let s:lib.Codec.decoding_table['217,233'] = [25540] let s:lib.Codec.decoding_table['217,234'] = [25622] let s:lib.Codec.decoding_table['217,235'] = [25652] let s:lib.Codec.decoding_table['217,236'] = [25606] let s:lib.Codec.decoding_table['217,237'] = [25619] let s:lib.Codec.decoding_table['217,238'] = [25638] let s:lib.Codec.decoding_table['217,239'] = [25654] let s:lib.Codec.decoding_table['217,240'] = [25885] let s:lib.Codec.decoding_table['217,241'] = [25623] let s:lib.Codec.decoding_table['217,242'] = [25640] let s:lib.Codec.decoding_table['217,243'] = [25615] let s:lib.Codec.decoding_table['217,244'] = [25703] let s:lib.Codec.decoding_table['217,245'] = [25711] let s:lib.Codec.decoding_table['217,246'] = [25718] let s:lib.Codec.decoding_table['217,247'] = [25678] let s:lib.Codec.decoding_table['217,248'] = [25898] let s:lib.Codec.decoding_table['217,249'] = [25749] let s:lib.Codec.decoding_table['217,250'] = [25747] let s:lib.Codec.decoding_table['217,251'] = [25765] let s:lib.Codec.decoding_table['217,252'] = [25769] let s:lib.Codec.decoding_table['217,253'] = [25736] let s:lib.Codec.decoding_table['217,254'] = [25788] let s:lib.Codec.decoding_table['218,161'] = [25818] let s:lib.Codec.decoding_table['218,162'] = [25810] let s:lib.Codec.decoding_table['218,163'] = [25797] let s:lib.Codec.decoding_table['218,164'] = [25799] let s:lib.Codec.decoding_table['218,165'] = [25787] let s:lib.Codec.decoding_table['218,166'] = [25816] let s:lib.Codec.decoding_table['218,167'] = [25794] let s:lib.Codec.decoding_table['218,168'] = [25841] let s:lib.Codec.decoding_table['218,169'] = [25831] let s:lib.Codec.decoding_table['218,170'] = [33289] let s:lib.Codec.decoding_table['218,171'] = [25824] let s:lib.Codec.decoding_table['218,172'] = [25825] let s:lib.Codec.decoding_table['218,173'] = [25260] let s:lib.Codec.decoding_table['218,174'] = [25827] let s:lib.Codec.decoding_table['218,175'] = [25839] let s:lib.Codec.decoding_table['218,176'] = [25900] let s:lib.Codec.decoding_table['218,177'] = [25846] let s:lib.Codec.decoding_table['218,178'] = [25844] let s:lib.Codec.decoding_table['218,179'] = [25842] let s:lib.Codec.decoding_table['218,180'] = [25850] let s:lib.Codec.decoding_table['218,181'] = [25856] let s:lib.Codec.decoding_table['218,182'] = [25853] let s:lib.Codec.decoding_table['218,183'] = [25880] let s:lib.Codec.decoding_table['218,184'] = [25884] let s:lib.Codec.decoding_table['218,185'] = [25861] let s:lib.Codec.decoding_table['218,186'] = [25892] let s:lib.Codec.decoding_table['218,187'] = [25891] let s:lib.Codec.decoding_table['218,188'] = [25899] let s:lib.Codec.decoding_table['218,189'] = [25908] let s:lib.Codec.decoding_table['218,190'] = [25909] let s:lib.Codec.decoding_table['218,191'] = [25911] let s:lib.Codec.decoding_table['218,192'] = [25910] let s:lib.Codec.decoding_table['218,193'] = [25912] let s:lib.Codec.decoding_table['218,194'] = [30027] let s:lib.Codec.decoding_table['218,195'] = [25928] let s:lib.Codec.decoding_table['218,196'] = [25942] let s:lib.Codec.decoding_table['218,197'] = [25941] let s:lib.Codec.decoding_table['218,198'] = [25933] let s:lib.Codec.decoding_table['218,199'] = [25944] let s:lib.Codec.decoding_table['218,200'] = [25950] let s:lib.Codec.decoding_table['218,201'] = [25949] let s:lib.Codec.decoding_table['218,202'] = [25970] let s:lib.Codec.decoding_table['218,203'] = [25976] let s:lib.Codec.decoding_table['218,204'] = [25986] let s:lib.Codec.decoding_table['218,205'] = [25987] let s:lib.Codec.decoding_table['218,206'] = [35722] let s:lib.Codec.decoding_table['218,207'] = [26011] let s:lib.Codec.decoding_table['218,208'] = [26015] let s:lib.Codec.decoding_table['218,209'] = [26027] let s:lib.Codec.decoding_table['218,210'] = [26039] let s:lib.Codec.decoding_table['218,211'] = [26051] let s:lib.Codec.decoding_table['218,212'] = [26054] let s:lib.Codec.decoding_table['218,213'] = [26049] let s:lib.Codec.decoding_table['218,214'] = [26052] let s:lib.Codec.decoding_table['218,215'] = [26060] let s:lib.Codec.decoding_table['218,216'] = [26066] let s:lib.Codec.decoding_table['218,217'] = [26075] let s:lib.Codec.decoding_table['218,218'] = [26073] let s:lib.Codec.decoding_table['218,219'] = [26080] let s:lib.Codec.decoding_table['218,220'] = [26081] let s:lib.Codec.decoding_table['218,221'] = [26097] let s:lib.Codec.decoding_table['218,222'] = [26482] let s:lib.Codec.decoding_table['218,223'] = [26122] let s:lib.Codec.decoding_table['218,224'] = [26115] let s:lib.Codec.decoding_table['218,225'] = [26107] let s:lib.Codec.decoding_table['218,226'] = [26483] let s:lib.Codec.decoding_table['218,227'] = [26165] let s:lib.Codec.decoding_table['218,228'] = [26166] let s:lib.Codec.decoding_table['218,229'] = [26164] let s:lib.Codec.decoding_table['218,230'] = [26140] let s:lib.Codec.decoding_table['218,231'] = [26191] let s:lib.Codec.decoding_table['218,232'] = [26180] let s:lib.Codec.decoding_table['218,233'] = [26185] let s:lib.Codec.decoding_table['218,234'] = [26177] let s:lib.Codec.decoding_table['218,235'] = [26206] let s:lib.Codec.decoding_table['218,236'] = [26205] let s:lib.Codec.decoding_table['218,237'] = [26212] let s:lib.Codec.decoding_table['218,238'] = [26215] let s:lib.Codec.decoding_table['218,239'] = [26216] let s:lib.Codec.decoding_table['218,240'] = [26207] let s:lib.Codec.decoding_table['218,241'] = [26210] let s:lib.Codec.decoding_table['218,242'] = [26224] let s:lib.Codec.decoding_table['218,243'] = [26243] let s:lib.Codec.decoding_table['218,244'] = [26248] let s:lib.Codec.decoding_table['218,245'] = [26254] let s:lib.Codec.decoding_table['218,246'] = [26249] let s:lib.Codec.decoding_table['218,247'] = [26244] let s:lib.Codec.decoding_table['218,248'] = [26264] let s:lib.Codec.decoding_table['218,249'] = [26269] let s:lib.Codec.decoding_table['218,250'] = [26305] let s:lib.Codec.decoding_table['218,251'] = [26297] let s:lib.Codec.decoding_table['218,252'] = [26313] let s:lib.Codec.decoding_table['218,253'] = [26302] let s:lib.Codec.decoding_table['218,254'] = [26300] let s:lib.Codec.decoding_table['219,161'] = [26308] let s:lib.Codec.decoding_table['219,162'] = [26296] let s:lib.Codec.decoding_table['219,163'] = [26326] let s:lib.Codec.decoding_table['219,164'] = [26330] let s:lib.Codec.decoding_table['219,165'] = [26336] let s:lib.Codec.decoding_table['219,166'] = [26175] let s:lib.Codec.decoding_table['219,167'] = [26342] let s:lib.Codec.decoding_table['219,168'] = [26345] let s:lib.Codec.decoding_table['219,169'] = [26352] let s:lib.Codec.decoding_table['219,170'] = [26357] let s:lib.Codec.decoding_table['219,171'] = [26359] let s:lib.Codec.decoding_table['219,172'] = [26383] let s:lib.Codec.decoding_table['219,173'] = [26390] let s:lib.Codec.decoding_table['219,174'] = [26398] let s:lib.Codec.decoding_table['219,175'] = [26406] let s:lib.Codec.decoding_table['219,176'] = [26407] let s:lib.Codec.decoding_table['219,177'] = [38712] let s:lib.Codec.decoding_table['219,178'] = [26414] let s:lib.Codec.decoding_table['219,179'] = [26431] let s:lib.Codec.decoding_table['219,180'] = [26422] let s:lib.Codec.decoding_table['219,181'] = [26433] let s:lib.Codec.decoding_table['219,182'] = [26424] let s:lib.Codec.decoding_table['219,183'] = [26423] let s:lib.Codec.decoding_table['219,184'] = [26438] let s:lib.Codec.decoding_table['219,185'] = [26462] let s:lib.Codec.decoding_table['219,186'] = [26464] let s:lib.Codec.decoding_table['219,187'] = [26457] let s:lib.Codec.decoding_table['219,188'] = [26467] let s:lib.Codec.decoding_table['219,189'] = [26468] let s:lib.Codec.decoding_table['219,190'] = [26505] let s:lib.Codec.decoding_table['219,191'] = [26480] let s:lib.Codec.decoding_table['219,192'] = [26537] let s:lib.Codec.decoding_table['219,193'] = [26492] let s:lib.Codec.decoding_table['219,194'] = [26474] let s:lib.Codec.decoding_table['219,195'] = [26508] let s:lib.Codec.decoding_table['219,196'] = [26507] let s:lib.Codec.decoding_table['219,197'] = [26534] let s:lib.Codec.decoding_table['219,198'] = [26529] let s:lib.Codec.decoding_table['219,199'] = [26501] let s:lib.Codec.decoding_table['219,200'] = [26551] let s:lib.Codec.decoding_table['219,201'] = [26607] let s:lib.Codec.decoding_table['219,202'] = [26548] let s:lib.Codec.decoding_table['219,203'] = [26604] let s:lib.Codec.decoding_table['219,204'] = [26547] let s:lib.Codec.decoding_table['219,205'] = [26601] let s:lib.Codec.decoding_table['219,206'] = [26552] let s:lib.Codec.decoding_table['219,207'] = [26596] let s:lib.Codec.decoding_table['219,208'] = [26590] let s:lib.Codec.decoding_table['219,209'] = [26589] let s:lib.Codec.decoding_table['219,210'] = [26594] let s:lib.Codec.decoding_table['219,211'] = [26606] let s:lib.Codec.decoding_table['219,212'] = [26553] let s:lib.Codec.decoding_table['219,213'] = [26574] let s:lib.Codec.decoding_table['219,214'] = [26566] let s:lib.Codec.decoding_table['219,215'] = [26599] let s:lib.Codec.decoding_table['219,216'] = [27292] let s:lib.Codec.decoding_table['219,217'] = [26654] let s:lib.Codec.decoding_table['219,218'] = [26694] let s:lib.Codec.decoding_table['219,219'] = [26665] let s:lib.Codec.decoding_table['219,220'] = [26688] let s:lib.Codec.decoding_table['219,221'] = [26701] let s:lib.Codec.decoding_table['219,222'] = [26674] let s:lib.Codec.decoding_table['219,223'] = [26702] let s:lib.Codec.decoding_table['219,224'] = [26803] let s:lib.Codec.decoding_table['219,225'] = [26667] let s:lib.Codec.decoding_table['219,226'] = [26713] let s:lib.Codec.decoding_table['219,227'] = [26723] let s:lib.Codec.decoding_table['219,228'] = [26743] let s:lib.Codec.decoding_table['219,229'] = [26751] let s:lib.Codec.decoding_table['219,230'] = [26783] let s:lib.Codec.decoding_table['219,231'] = [26767] let s:lib.Codec.decoding_table['219,232'] = [26797] let s:lib.Codec.decoding_table['219,233'] = [26772] let s:lib.Codec.decoding_table['219,234'] = [26781] let s:lib.Codec.decoding_table['219,235'] = [26779] let s:lib.Codec.decoding_table['219,236'] = [26755] let s:lib.Codec.decoding_table['219,237'] = [27310] let s:lib.Codec.decoding_table['219,238'] = [26809] let s:lib.Codec.decoding_table['219,239'] = [26740] let s:lib.Codec.decoding_table['219,240'] = [26805] let s:lib.Codec.decoding_table['219,241'] = [26784] let s:lib.Codec.decoding_table['219,242'] = [26810] let s:lib.Codec.decoding_table['219,243'] = [26895] let s:lib.Codec.decoding_table['219,244'] = [26765] let s:lib.Codec.decoding_table['219,245'] = [26750] let s:lib.Codec.decoding_table['219,246'] = [26881] let s:lib.Codec.decoding_table['219,247'] = [26826] let s:lib.Codec.decoding_table['219,248'] = [26888] let s:lib.Codec.decoding_table['219,249'] = [26840] let s:lib.Codec.decoding_table['219,250'] = [26914] let s:lib.Codec.decoding_table['219,251'] = [26918] let s:lib.Codec.decoding_table['219,252'] = [26849] let s:lib.Codec.decoding_table['219,253'] = [26892] let s:lib.Codec.decoding_table['219,254'] = [26829] let s:lib.Codec.decoding_table['220,161'] = [26836] let s:lib.Codec.decoding_table['220,162'] = [26855] let s:lib.Codec.decoding_table['220,163'] = [26837] let s:lib.Codec.decoding_table['220,164'] = [26934] let s:lib.Codec.decoding_table['220,165'] = [26898] let s:lib.Codec.decoding_table['220,166'] = [26884] let s:lib.Codec.decoding_table['220,167'] = [26839] let s:lib.Codec.decoding_table['220,168'] = [26851] let s:lib.Codec.decoding_table['220,169'] = [26917] let s:lib.Codec.decoding_table['220,170'] = [26873] let s:lib.Codec.decoding_table['220,171'] = [26848] let s:lib.Codec.decoding_table['220,172'] = [26863] let s:lib.Codec.decoding_table['220,173'] = [26920] let s:lib.Codec.decoding_table['220,174'] = [26922] let s:lib.Codec.decoding_table['220,175'] = [26906] let s:lib.Codec.decoding_table['220,176'] = [26915] let s:lib.Codec.decoding_table['220,177'] = [26913] let s:lib.Codec.decoding_table['220,178'] = [26822] let s:lib.Codec.decoding_table['220,179'] = [27001] let s:lib.Codec.decoding_table['220,180'] = [26999] let s:lib.Codec.decoding_table['220,181'] = [26972] let s:lib.Codec.decoding_table['220,182'] = [27000] let s:lib.Codec.decoding_table['220,183'] = [26987] let s:lib.Codec.decoding_table['220,184'] = [26964] let s:lib.Codec.decoding_table['220,185'] = [27006] let s:lib.Codec.decoding_table['220,186'] = [26990] let s:lib.Codec.decoding_table['220,187'] = [26937] let s:lib.Codec.decoding_table['220,188'] = [26996] let s:lib.Codec.decoding_table['220,189'] = [26941] let s:lib.Codec.decoding_table['220,190'] = [26969] let s:lib.Codec.decoding_table['220,191'] = [26928] let s:lib.Codec.decoding_table['220,192'] = [26977] let s:lib.Codec.decoding_table['220,193'] = [26974] let s:lib.Codec.decoding_table['220,194'] = [26973] let s:lib.Codec.decoding_table['220,195'] = [27009] let s:lib.Codec.decoding_table['220,196'] = [26986] let s:lib.Codec.decoding_table['220,197'] = [27058] let s:lib.Codec.decoding_table['220,198'] = [27054] let s:lib.Codec.decoding_table['220,199'] = [27088] let s:lib.Codec.decoding_table['220,200'] = [27071] let s:lib.Codec.decoding_table['220,201'] = [27073] let s:lib.Codec.decoding_table['220,202'] = [27091] let s:lib.Codec.decoding_table['220,203'] = [27070] let s:lib.Codec.decoding_table['220,204'] = [27086] let s:lib.Codec.decoding_table['220,205'] = [23528] let s:lib.Codec.decoding_table['220,206'] = [27082] let s:lib.Codec.decoding_table['220,207'] = [27101] let s:lib.Codec.decoding_table['220,208'] = [27067] let s:lib.Codec.decoding_table['220,209'] = [27075] let s:lib.Codec.decoding_table['220,210'] = [27047] let s:lib.Codec.decoding_table['220,211'] = [27182] let s:lib.Codec.decoding_table['220,212'] = [27025] let s:lib.Codec.decoding_table['220,213'] = [27040] let s:lib.Codec.decoding_table['220,214'] = [27036] let s:lib.Codec.decoding_table['220,215'] = [27029] let s:lib.Codec.decoding_table['220,216'] = [27060] let s:lib.Codec.decoding_table['220,217'] = [27102] let s:lib.Codec.decoding_table['220,218'] = [27112] let s:lib.Codec.decoding_table['220,219'] = [27138] let s:lib.Codec.decoding_table['220,220'] = [27163] let s:lib.Codec.decoding_table['220,221'] = [27135] let s:lib.Codec.decoding_table['220,222'] = [27402] let s:lib.Codec.decoding_table['220,223'] = [27129] let s:lib.Codec.decoding_table['220,224'] = [27122] let s:lib.Codec.decoding_table['220,225'] = [27111] let s:lib.Codec.decoding_table['220,226'] = [27141] let s:lib.Codec.decoding_table['220,227'] = [27057] let s:lib.Codec.decoding_table['220,228'] = [27166] let s:lib.Codec.decoding_table['220,229'] = [27117] let s:lib.Codec.decoding_table['220,230'] = [27156] let s:lib.Codec.decoding_table['220,231'] = [27115] let s:lib.Codec.decoding_table['220,232'] = [27146] let s:lib.Codec.decoding_table['220,233'] = [27154] let s:lib.Codec.decoding_table['220,234'] = [27329] let s:lib.Codec.decoding_table['220,235'] = [27171] let s:lib.Codec.decoding_table['220,236'] = [27155] let s:lib.Codec.decoding_table['220,237'] = [27204] let s:lib.Codec.decoding_table['220,238'] = [27148] let s:lib.Codec.decoding_table['220,239'] = [27250] let s:lib.Codec.decoding_table['220,240'] = [27190] let s:lib.Codec.decoding_table['220,241'] = [27256] let s:lib.Codec.decoding_table['220,242'] = [27207] let s:lib.Codec.decoding_table['220,243'] = [27234] let s:lib.Codec.decoding_table['220,244'] = [27225] let s:lib.Codec.decoding_table['220,245'] = [27238] let s:lib.Codec.decoding_table['220,246'] = [27208] let s:lib.Codec.decoding_table['220,247'] = [27192] let s:lib.Codec.decoding_table['220,248'] = [27170] let s:lib.Codec.decoding_table['220,249'] = [27280] let s:lib.Codec.decoding_table['220,250'] = [27277] let s:lib.Codec.decoding_table['220,251'] = [27296] let s:lib.Codec.decoding_table['220,252'] = [27268] let s:lib.Codec.decoding_table['220,253'] = [27298] let s:lib.Codec.decoding_table['220,254'] = [27299] let s:lib.Codec.decoding_table['221,161'] = [27287] let s:lib.Codec.decoding_table['221,162'] = [34327] let s:lib.Codec.decoding_table['221,163'] = [27323] let s:lib.Codec.decoding_table['221,164'] = [27331] let s:lib.Codec.decoding_table['221,165'] = [27330] let s:lib.Codec.decoding_table['221,166'] = [27320] let s:lib.Codec.decoding_table['221,167'] = [27315] let s:lib.Codec.decoding_table['221,168'] = [27308] let s:lib.Codec.decoding_table['221,169'] = [27358] let s:lib.Codec.decoding_table['221,170'] = [27345] let s:lib.Codec.decoding_table['221,171'] = [27359] let s:lib.Codec.decoding_table['221,172'] = [27306] let s:lib.Codec.decoding_table['221,173'] = [27354] let s:lib.Codec.decoding_table['221,174'] = [27370] let s:lib.Codec.decoding_table['221,175'] = [27387] let s:lib.Codec.decoding_table['221,176'] = [27397] let s:lib.Codec.decoding_table['221,177'] = [34326] let s:lib.Codec.decoding_table['221,178'] = [27386] let s:lib.Codec.decoding_table['221,179'] = [27410] let s:lib.Codec.decoding_table['221,180'] = [27414] let s:lib.Codec.decoding_table['221,181'] = [39729] let s:lib.Codec.decoding_table['221,182'] = [27423] let s:lib.Codec.decoding_table['221,183'] = [27448] let s:lib.Codec.decoding_table['221,184'] = [27447] let s:lib.Codec.decoding_table['221,185'] = [30428] let s:lib.Codec.decoding_table['221,186'] = [27449] let s:lib.Codec.decoding_table['221,187'] = [39150] let s:lib.Codec.decoding_table['221,188'] = [27463] let s:lib.Codec.decoding_table['221,189'] = [27459] let s:lib.Codec.decoding_table['221,190'] = [27465] let s:lib.Codec.decoding_table['221,191'] = [27472] let s:lib.Codec.decoding_table['221,192'] = [27481] let s:lib.Codec.decoding_table['221,193'] = [27476] let s:lib.Codec.decoding_table['221,194'] = [27483] let s:lib.Codec.decoding_table['221,195'] = [27487] let s:lib.Codec.decoding_table['221,196'] = [27489] let s:lib.Codec.decoding_table['221,197'] = [27512] let s:lib.Codec.decoding_table['221,198'] = [27513] let s:lib.Codec.decoding_table['221,199'] = [27519] let s:lib.Codec.decoding_table['221,200'] = [27520] let s:lib.Codec.decoding_table['221,201'] = [27524] let s:lib.Codec.decoding_table['221,202'] = [27523] let s:lib.Codec.decoding_table['221,203'] = [27533] let s:lib.Codec.decoding_table['221,204'] = [27544] let s:lib.Codec.decoding_table['221,205'] = [27541] let s:lib.Codec.decoding_table['221,206'] = [27550] let s:lib.Codec.decoding_table['221,207'] = [27556] let s:lib.Codec.decoding_table['221,208'] = [27562] let s:lib.Codec.decoding_table['221,209'] = [27563] let s:lib.Codec.decoding_table['221,210'] = [27567] let s:lib.Codec.decoding_table['221,211'] = [27570] let s:lib.Codec.decoding_table['221,212'] = [27569] let s:lib.Codec.decoding_table['221,213'] = [27571] let s:lib.Codec.decoding_table['221,214'] = [27575] let s:lib.Codec.decoding_table['221,215'] = [27580] let s:lib.Codec.decoding_table['221,216'] = [27590] let s:lib.Codec.decoding_table['221,217'] = [27595] let s:lib.Codec.decoding_table['221,218'] = [27603] let s:lib.Codec.decoding_table['221,219'] = [27615] let s:lib.Codec.decoding_table['221,220'] = [27628] let s:lib.Codec.decoding_table['221,221'] = [27627] let s:lib.Codec.decoding_table['221,222'] = [27635] let s:lib.Codec.decoding_table['221,223'] = [27631] let s:lib.Codec.decoding_table['221,224'] = [40638] let s:lib.Codec.decoding_table['221,225'] = [27656] let s:lib.Codec.decoding_table['221,226'] = [27667] let s:lib.Codec.decoding_table['221,227'] = [27668] let s:lib.Codec.decoding_table['221,228'] = [27675] let s:lib.Codec.decoding_table['221,229'] = [27684] let s:lib.Codec.decoding_table['221,230'] = [27683] let s:lib.Codec.decoding_table['221,231'] = [27742] let s:lib.Codec.decoding_table['221,232'] = [27733] let s:lib.Codec.decoding_table['221,233'] = [27746] let s:lib.Codec.decoding_table['221,234'] = [27754] let s:lib.Codec.decoding_table['221,235'] = [27778] let s:lib.Codec.decoding_table['221,236'] = [27789] let s:lib.Codec.decoding_table['221,237'] = [27802] let s:lib.Codec.decoding_table['221,238'] = [27777] let s:lib.Codec.decoding_table['221,239'] = [27803] let s:lib.Codec.decoding_table['221,240'] = [27774] let s:lib.Codec.decoding_table['221,241'] = [27752] let s:lib.Codec.decoding_table['221,242'] = [27763] let s:lib.Codec.decoding_table['221,243'] = [27794] let s:lib.Codec.decoding_table['221,244'] = [27792] let s:lib.Codec.decoding_table['221,245'] = [27844] let s:lib.Codec.decoding_table['221,246'] = [27889] let s:lib.Codec.decoding_table['221,247'] = [27859] let s:lib.Codec.decoding_table['221,248'] = [27837] let s:lib.Codec.decoding_table['221,249'] = [27863] let s:lib.Codec.decoding_table['221,250'] = [27845] let s:lib.Codec.decoding_table['221,251'] = [27869] let s:lib.Codec.decoding_table['221,252'] = [27822] let s:lib.Codec.decoding_table['221,253'] = [27825] let s:lib.Codec.decoding_table['221,254'] = [27838] let s:lib.Codec.decoding_table['222,161'] = [27834] let s:lib.Codec.decoding_table['222,162'] = [27867] let s:lib.Codec.decoding_table['222,163'] = [27887] let s:lib.Codec.decoding_table['222,164'] = [27865] let s:lib.Codec.decoding_table['222,165'] = [27882] let s:lib.Codec.decoding_table['222,166'] = [27935] let s:lib.Codec.decoding_table['222,167'] = [34893] let s:lib.Codec.decoding_table['222,168'] = [27958] let s:lib.Codec.decoding_table['222,169'] = [27947] let s:lib.Codec.decoding_table['222,170'] = [27965] let s:lib.Codec.decoding_table['222,171'] = [27960] let s:lib.Codec.decoding_table['222,172'] = [27929] let s:lib.Codec.decoding_table['222,173'] = [27957] let s:lib.Codec.decoding_table['222,174'] = [27955] let s:lib.Codec.decoding_table['222,175'] = [27922] let s:lib.Codec.decoding_table['222,176'] = [27916] let s:lib.Codec.decoding_table['222,177'] = [28003] let s:lib.Codec.decoding_table['222,178'] = [28051] let s:lib.Codec.decoding_table['222,179'] = [28004] let s:lib.Codec.decoding_table['222,180'] = [27994] let s:lib.Codec.decoding_table['222,181'] = [28025] let s:lib.Codec.decoding_table['222,182'] = [27993] let s:lib.Codec.decoding_table['222,183'] = [28046] let s:lib.Codec.decoding_table['222,184'] = [28053] let s:lib.Codec.decoding_table['222,185'] = [28644] let s:lib.Codec.decoding_table['222,186'] = [28037] let s:lib.Codec.decoding_table['222,187'] = [28153] let s:lib.Codec.decoding_table['222,188'] = [28181] let s:lib.Codec.decoding_table['222,189'] = [28170] let s:lib.Codec.decoding_table['222,190'] = [28085] let s:lib.Codec.decoding_table['222,191'] = [28103] let s:lib.Codec.decoding_table['222,192'] = [28134] let s:lib.Codec.decoding_table['222,193'] = [28088] let s:lib.Codec.decoding_table['222,194'] = [28102] let s:lib.Codec.decoding_table['222,195'] = [28140] let s:lib.Codec.decoding_table['222,196'] = [28126] let s:lib.Codec.decoding_table['222,197'] = [28108] let s:lib.Codec.decoding_table['222,198'] = [28136] let s:lib.Codec.decoding_table['222,199'] = [28114] let s:lib.Codec.decoding_table['222,200'] = [28101] let s:lib.Codec.decoding_table['222,201'] = [28154] let s:lib.Codec.decoding_table['222,202'] = [28121] let s:lib.Codec.decoding_table['222,203'] = [28132] let s:lib.Codec.decoding_table['222,204'] = [28117] let s:lib.Codec.decoding_table['222,205'] = [28138] let s:lib.Codec.decoding_table['222,206'] = [28142] let s:lib.Codec.decoding_table['222,207'] = [28205] let s:lib.Codec.decoding_table['222,208'] = [28270] let s:lib.Codec.decoding_table['222,209'] = [28206] let s:lib.Codec.decoding_table['222,210'] = [28185] let s:lib.Codec.decoding_table['222,211'] = [28274] let s:lib.Codec.decoding_table['222,212'] = [28255] let s:lib.Codec.decoding_table['222,213'] = [28222] let s:lib.Codec.decoding_table['222,214'] = [28195] let s:lib.Codec.decoding_table['222,215'] = [28267] let s:lib.Codec.decoding_table['222,216'] = [28203] let s:lib.Codec.decoding_table['222,217'] = [28278] let s:lib.Codec.decoding_table['222,218'] = [28237] let s:lib.Codec.decoding_table['222,219'] = [28191] let s:lib.Codec.decoding_table['222,220'] = [28227] let s:lib.Codec.decoding_table['222,221'] = [28218] let s:lib.Codec.decoding_table['222,222'] = [28238] let s:lib.Codec.decoding_table['222,223'] = [28196] let s:lib.Codec.decoding_table['222,224'] = [28415] let s:lib.Codec.decoding_table['222,225'] = [28189] let s:lib.Codec.decoding_table['222,226'] = [28216] let s:lib.Codec.decoding_table['222,227'] = [28290] let s:lib.Codec.decoding_table['222,228'] = [28330] let s:lib.Codec.decoding_table['222,229'] = [28312] let s:lib.Codec.decoding_table['222,230'] = [28361] let s:lib.Codec.decoding_table['222,231'] = [28343] let s:lib.Codec.decoding_table['222,232'] = [28371] let s:lib.Codec.decoding_table['222,233'] = [28349] let s:lib.Codec.decoding_table['222,234'] = [28335] let s:lib.Codec.decoding_table['222,235'] = [28356] let s:lib.Codec.decoding_table['222,236'] = [28338] let s:lib.Codec.decoding_table['222,237'] = [28372] let s:lib.Codec.decoding_table['222,238'] = [28373] let s:lib.Codec.decoding_table['222,239'] = [28303] let s:lib.Codec.decoding_table['222,240'] = [28325] let s:lib.Codec.decoding_table['222,241'] = [28354] let s:lib.Codec.decoding_table['222,242'] = [28319] let s:lib.Codec.decoding_table['222,243'] = [28481] let s:lib.Codec.decoding_table['222,244'] = [28433] let s:lib.Codec.decoding_table['222,245'] = [28748] let s:lib.Codec.decoding_table['222,246'] = [28396] let s:lib.Codec.decoding_table['222,247'] = [28408] let s:lib.Codec.decoding_table['222,248'] = [28414] let s:lib.Codec.decoding_table['222,249'] = [28479] let s:lib.Codec.decoding_table['222,250'] = [28402] let s:lib.Codec.decoding_table['222,251'] = [28465] let s:lib.Codec.decoding_table['222,252'] = [28399] let s:lib.Codec.decoding_table['222,253'] = [28466] let s:lib.Codec.decoding_table['222,254'] = [28364] let s:lib.Codec.decoding_table['223,161'] = [28478] let s:lib.Codec.decoding_table['223,162'] = [28435] let s:lib.Codec.decoding_table['223,163'] = [28407] let s:lib.Codec.decoding_table['223,164'] = [28550] let s:lib.Codec.decoding_table['223,165'] = [28538] let s:lib.Codec.decoding_table['223,166'] = [28536] let s:lib.Codec.decoding_table['223,167'] = [28545] let s:lib.Codec.decoding_table['223,168'] = [28544] let s:lib.Codec.decoding_table['223,169'] = [28527] let s:lib.Codec.decoding_table['223,170'] = [28507] let s:lib.Codec.decoding_table['223,171'] = [28659] let s:lib.Codec.decoding_table['223,172'] = [28525] let s:lib.Codec.decoding_table['223,173'] = [28546] let s:lib.Codec.decoding_table['223,174'] = [28540] let s:lib.Codec.decoding_table['223,175'] = [28504] let s:lib.Codec.decoding_table['223,176'] = [28558] let s:lib.Codec.decoding_table['223,177'] = [28561] let s:lib.Codec.decoding_table['223,178'] = [28610] let s:lib.Codec.decoding_table['223,179'] = [28518] let s:lib.Codec.decoding_table['223,180'] = [28595] let s:lib.Codec.decoding_table['223,181'] = [28579] let s:lib.Codec.decoding_table['223,182'] = [28577] let s:lib.Codec.decoding_table['223,183'] = [28580] let s:lib.Codec.decoding_table['223,184'] = [28601] let s:lib.Codec.decoding_table['223,185'] = [28614] let s:lib.Codec.decoding_table['223,186'] = [28586] let s:lib.Codec.decoding_table['223,187'] = [28639] let s:lib.Codec.decoding_table['223,188'] = [28629] let s:lib.Codec.decoding_table['223,189'] = [28652] let s:lib.Codec.decoding_table['223,190'] = [28628] let s:lib.Codec.decoding_table['223,191'] = [28632] let s:lib.Codec.decoding_table['223,192'] = [28657] let s:lib.Codec.decoding_table['223,193'] = [28654] let s:lib.Codec.decoding_table['223,194'] = [28635] let s:lib.Codec.decoding_table['223,195'] = [28681] let s:lib.Codec.decoding_table['223,196'] = [28683] let s:lib.Codec.decoding_table['223,197'] = [28666] let s:lib.Codec.decoding_table['223,198'] = [28689] let s:lib.Codec.decoding_table['223,199'] = [28673] let s:lib.Codec.decoding_table['223,200'] = [28687] let s:lib.Codec.decoding_table['223,201'] = [28670] let s:lib.Codec.decoding_table['223,202'] = [28699] let s:lib.Codec.decoding_table['223,203'] = [28698] let s:lib.Codec.decoding_table['223,204'] = [28532] let s:lib.Codec.decoding_table['223,205'] = [28701] let s:lib.Codec.decoding_table['223,206'] = [28696] let s:lib.Codec.decoding_table['223,207'] = [28703] let s:lib.Codec.decoding_table['223,208'] = [28720] let s:lib.Codec.decoding_table['223,209'] = [28734] let s:lib.Codec.decoding_table['223,210'] = [28722] let s:lib.Codec.decoding_table['223,211'] = [28753] let s:lib.Codec.decoding_table['223,212'] = [28771] let s:lib.Codec.decoding_table['223,213'] = [28825] let s:lib.Codec.decoding_table['223,214'] = [28818] let s:lib.Codec.decoding_table['223,215'] = [28847] let s:lib.Codec.decoding_table['223,216'] = [28913] let s:lib.Codec.decoding_table['223,217'] = [28844] let s:lib.Codec.decoding_table['223,218'] = [28856] let s:lib.Codec.decoding_table['223,219'] = [28851] let s:lib.Codec.decoding_table['223,220'] = [28846] let s:lib.Codec.decoding_table['223,221'] = [28895] let s:lib.Codec.decoding_table['223,222'] = [28875] let s:lib.Codec.decoding_table['223,223'] = [28893] let s:lib.Codec.decoding_table['223,224'] = [28889] let s:lib.Codec.decoding_table['223,225'] = [28937] let s:lib.Codec.decoding_table['223,226'] = [28925] let s:lib.Codec.decoding_table['223,227'] = [28956] let s:lib.Codec.decoding_table['223,228'] = [28953] let s:lib.Codec.decoding_table['223,229'] = [29029] let s:lib.Codec.decoding_table['223,230'] = [29013] let s:lib.Codec.decoding_table['223,231'] = [29064] let s:lib.Codec.decoding_table['223,232'] = [29030] let s:lib.Codec.decoding_table['223,233'] = [29026] let s:lib.Codec.decoding_table['223,234'] = [29004] let s:lib.Codec.decoding_table['223,235'] = [29014] let s:lib.Codec.decoding_table['223,236'] = [29036] let s:lib.Codec.decoding_table['223,237'] = [29071] let s:lib.Codec.decoding_table['223,238'] = [29179] let s:lib.Codec.decoding_table['223,239'] = [29060] let s:lib.Codec.decoding_table['223,240'] = [29077] let s:lib.Codec.decoding_table['223,241'] = [29096] let s:lib.Codec.decoding_table['223,242'] = [29100] let s:lib.Codec.decoding_table['223,243'] = [29143] let s:lib.Codec.decoding_table['223,244'] = [29113] let s:lib.Codec.decoding_table['223,245'] = [29118] let s:lib.Codec.decoding_table['223,246'] = [29138] let s:lib.Codec.decoding_table['223,247'] = [29129] let s:lib.Codec.decoding_table['223,248'] = [29140] let s:lib.Codec.decoding_table['223,249'] = [29134] let s:lib.Codec.decoding_table['223,250'] = [29152] let s:lib.Codec.decoding_table['223,251'] = [29164] let s:lib.Codec.decoding_table['223,252'] = [29159] let s:lib.Codec.decoding_table['223,253'] = [29173] let s:lib.Codec.decoding_table['223,254'] = [29180] let s:lib.Codec.decoding_table['224,161'] = [29177] let s:lib.Codec.decoding_table['224,162'] = [29183] let s:lib.Codec.decoding_table['224,163'] = [29197] let s:lib.Codec.decoding_table['224,164'] = [29200] let s:lib.Codec.decoding_table['224,165'] = [29211] let s:lib.Codec.decoding_table['224,166'] = [29224] let s:lib.Codec.decoding_table['224,167'] = [29229] let s:lib.Codec.decoding_table['224,168'] = [29228] let s:lib.Codec.decoding_table['224,169'] = [29232] let s:lib.Codec.decoding_table['224,170'] = [29234] let s:lib.Codec.decoding_table['224,171'] = [29243] let s:lib.Codec.decoding_table['224,172'] = [29244] let s:lib.Codec.decoding_table['224,173'] = [29247] let s:lib.Codec.decoding_table['224,174'] = [29248] let s:lib.Codec.decoding_table['224,175'] = [29254] let s:lib.Codec.decoding_table['224,176'] = [29259] let s:lib.Codec.decoding_table['224,177'] = [29272] let s:lib.Codec.decoding_table['224,178'] = [29300] let s:lib.Codec.decoding_table['224,179'] = [29310] let s:lib.Codec.decoding_table['224,180'] = [29314] let s:lib.Codec.decoding_table['224,181'] = [29313] let s:lib.Codec.decoding_table['224,182'] = [29319] let s:lib.Codec.decoding_table['224,183'] = [29330] let s:lib.Codec.decoding_table['224,184'] = [29334] let s:lib.Codec.decoding_table['224,185'] = [29346] let s:lib.Codec.decoding_table['224,186'] = [29351] let s:lib.Codec.decoding_table['224,187'] = [29369] let s:lib.Codec.decoding_table['224,188'] = [29362] let s:lib.Codec.decoding_table['224,189'] = [29379] let s:lib.Codec.decoding_table['224,190'] = [29382] let s:lib.Codec.decoding_table['224,191'] = [29380] let s:lib.Codec.decoding_table['224,192'] = [29390] let s:lib.Codec.decoding_table['224,193'] = [29394] let s:lib.Codec.decoding_table['224,194'] = [29410] let s:lib.Codec.decoding_table['224,195'] = [29408] let s:lib.Codec.decoding_table['224,196'] = [29409] let s:lib.Codec.decoding_table['224,197'] = [29433] let s:lib.Codec.decoding_table['224,198'] = [29431] let s:lib.Codec.decoding_table['224,199'] = [20495] let s:lib.Codec.decoding_table['224,200'] = [29463] let s:lib.Codec.decoding_table['224,201'] = [29450] let s:lib.Codec.decoding_table['224,202'] = [29468] let s:lib.Codec.decoding_table['224,203'] = [29462] let s:lib.Codec.decoding_table['224,204'] = [29469] let s:lib.Codec.decoding_table['224,205'] = [29492] let s:lib.Codec.decoding_table['224,206'] = [29487] let s:lib.Codec.decoding_table['224,207'] = [29481] let s:lib.Codec.decoding_table['224,208'] = [29477] let s:lib.Codec.decoding_table['224,209'] = [29502] let s:lib.Codec.decoding_table['224,210'] = [29518] let s:lib.Codec.decoding_table['224,211'] = [29519] let s:lib.Codec.decoding_table['224,212'] = [40664] let s:lib.Codec.decoding_table['224,213'] = [29527] let s:lib.Codec.decoding_table['224,214'] = [29546] let s:lib.Codec.decoding_table['224,215'] = [29544] let s:lib.Codec.decoding_table['224,216'] = [29552] let s:lib.Codec.decoding_table['224,217'] = [29560] let s:lib.Codec.decoding_table['224,218'] = [29557] let s:lib.Codec.decoding_table['224,219'] = [29563] let s:lib.Codec.decoding_table['224,220'] = [29562] let s:lib.Codec.decoding_table['224,221'] = [29640] let s:lib.Codec.decoding_table['224,222'] = [29619] let s:lib.Codec.decoding_table['224,223'] = [29646] let s:lib.Codec.decoding_table['224,224'] = [29627] let s:lib.Codec.decoding_table['224,225'] = [29632] let s:lib.Codec.decoding_table['224,226'] = [29669] let s:lib.Codec.decoding_table['224,227'] = [29678] let s:lib.Codec.decoding_table['224,228'] = [29662] let s:lib.Codec.decoding_table['224,229'] = [29858] let s:lib.Codec.decoding_table['224,230'] = [29701] let s:lib.Codec.decoding_table['224,231'] = [29807] let s:lib.Codec.decoding_table['224,232'] = [29733] let s:lib.Codec.decoding_table['224,233'] = [29688] let s:lib.Codec.decoding_table['224,234'] = [29746] let s:lib.Codec.decoding_table['224,235'] = [29754] let s:lib.Codec.decoding_table['224,236'] = [29781] let s:lib.Codec.decoding_table['224,237'] = [29759] let s:lib.Codec.decoding_table['224,238'] = [29791] let s:lib.Codec.decoding_table['224,239'] = [29785] let s:lib.Codec.decoding_table['224,240'] = [29761] let s:lib.Codec.decoding_table['224,241'] = [29788] let s:lib.Codec.decoding_table['224,242'] = [29801] let s:lib.Codec.decoding_table['224,243'] = [29808] let s:lib.Codec.decoding_table['224,244'] = [29795] let s:lib.Codec.decoding_table['224,245'] = [29802] let s:lib.Codec.decoding_table['224,246'] = [29814] let s:lib.Codec.decoding_table['224,247'] = [29822] let s:lib.Codec.decoding_table['224,248'] = [29835] let s:lib.Codec.decoding_table['224,249'] = [29854] let s:lib.Codec.decoding_table['224,250'] = [29863] let s:lib.Codec.decoding_table['224,251'] = [29898] let s:lib.Codec.decoding_table['224,252'] = [29903] let s:lib.Codec.decoding_table['224,253'] = [29908] let s:lib.Codec.decoding_table['224,254'] = [29681] let s:lib.Codec.decoding_table['225,161'] = [29920] let s:lib.Codec.decoding_table['225,162'] = [29923] let s:lib.Codec.decoding_table['225,163'] = [29927] let s:lib.Codec.decoding_table['225,164'] = [29929] let s:lib.Codec.decoding_table['225,165'] = [29934] let s:lib.Codec.decoding_table['225,166'] = [29938] let s:lib.Codec.decoding_table['225,167'] = [29936] let s:lib.Codec.decoding_table['225,168'] = [29937] let s:lib.Codec.decoding_table['225,169'] = [29944] let s:lib.Codec.decoding_table['225,170'] = [29943] let s:lib.Codec.decoding_table['225,171'] = [29956] let s:lib.Codec.decoding_table['225,172'] = [29955] let s:lib.Codec.decoding_table['225,173'] = [29957] let s:lib.Codec.decoding_table['225,174'] = [29964] let s:lib.Codec.decoding_table['225,175'] = [29966] let s:lib.Codec.decoding_table['225,176'] = [29965] let s:lib.Codec.decoding_table['225,177'] = [29973] let s:lib.Codec.decoding_table['225,178'] = [29971] let s:lib.Codec.decoding_table['225,179'] = [29982] let s:lib.Codec.decoding_table['225,180'] = [29990] let s:lib.Codec.decoding_table['225,181'] = [29996] let s:lib.Codec.decoding_table['225,182'] = [30012] let s:lib.Codec.decoding_table['225,183'] = [30020] let s:lib.Codec.decoding_table['225,184'] = [30029] let s:lib.Codec.decoding_table['225,185'] = [30026] let s:lib.Codec.decoding_table['225,186'] = [30025] let s:lib.Codec.decoding_table['225,187'] = [30043] let s:lib.Codec.decoding_table['225,188'] = [30022] let s:lib.Codec.decoding_table['225,189'] = [30042] let s:lib.Codec.decoding_table['225,190'] = [30057] let s:lib.Codec.decoding_table['225,191'] = [30052] let s:lib.Codec.decoding_table['225,192'] = [30055] let s:lib.Codec.decoding_table['225,193'] = [30059] let s:lib.Codec.decoding_table['225,194'] = [30061] let s:lib.Codec.decoding_table['225,195'] = [30072] let s:lib.Codec.decoding_table['225,196'] = [30070] let s:lib.Codec.decoding_table['225,197'] = [30086] let s:lib.Codec.decoding_table['225,198'] = [30087] let s:lib.Codec.decoding_table['225,199'] = [30068] let s:lib.Codec.decoding_table['225,200'] = [30090] let s:lib.Codec.decoding_table['225,201'] = [30089] let s:lib.Codec.decoding_table['225,202'] = [30082] let s:lib.Codec.decoding_table['225,203'] = [30100] let s:lib.Codec.decoding_table['225,204'] = [30106] let s:lib.Codec.decoding_table['225,205'] = [30109] let s:lib.Codec.decoding_table['225,206'] = [30117] let s:lib.Codec.decoding_table['225,207'] = [30115] let s:lib.Codec.decoding_table['225,208'] = [30146] let s:lib.Codec.decoding_table['225,209'] = [30131] let s:lib.Codec.decoding_table['225,210'] = [30147] let s:lib.Codec.decoding_table['225,211'] = [30133] let s:lib.Codec.decoding_table['225,212'] = [30141] let s:lib.Codec.decoding_table['225,213'] = [30136] let s:lib.Codec.decoding_table['225,214'] = [30140] let s:lib.Codec.decoding_table['225,215'] = [30129] let s:lib.Codec.decoding_table['225,216'] = [30157] let s:lib.Codec.decoding_table['225,217'] = [30154] let s:lib.Codec.decoding_table['225,218'] = [30162] let s:lib.Codec.decoding_table['225,219'] = [30169] let s:lib.Codec.decoding_table['225,220'] = [30179] let s:lib.Codec.decoding_table['225,221'] = [30174] let s:lib.Codec.decoding_table['225,222'] = [30206] let s:lib.Codec.decoding_table['225,223'] = [30207] let s:lib.Codec.decoding_table['225,224'] = [30204] let s:lib.Codec.decoding_table['225,225'] = [30209] let s:lib.Codec.decoding_table['225,226'] = [30192] let s:lib.Codec.decoding_table['225,227'] = [30202] let s:lib.Codec.decoding_table['225,228'] = [30194] let s:lib.Codec.decoding_table['225,229'] = [30195] let s:lib.Codec.decoding_table['225,230'] = [30219] let s:lib.Codec.decoding_table['225,231'] = [30221] let s:lib.Codec.decoding_table['225,232'] = [30217] let s:lib.Codec.decoding_table['225,233'] = [30239] let s:lib.Codec.decoding_table['225,234'] = [30247] let s:lib.Codec.decoding_table['225,235'] = [30240] let s:lib.Codec.decoding_table['225,236'] = [30241] let s:lib.Codec.decoding_table['225,237'] = [30242] let s:lib.Codec.decoding_table['225,238'] = [30244] let s:lib.Codec.decoding_table['225,239'] = [30260] let s:lib.Codec.decoding_table['225,240'] = [30256] let s:lib.Codec.decoding_table['225,241'] = [30267] let s:lib.Codec.decoding_table['225,242'] = [30279] let s:lib.Codec.decoding_table['225,243'] = [30280] let s:lib.Codec.decoding_table['225,244'] = [30278] let s:lib.Codec.decoding_table['225,245'] = [30300] let s:lib.Codec.decoding_table['225,246'] = [30296] let s:lib.Codec.decoding_table['225,247'] = [30305] let s:lib.Codec.decoding_table['225,248'] = [30306] let s:lib.Codec.decoding_table['225,249'] = [30312] let s:lib.Codec.decoding_table['225,250'] = [30313] let s:lib.Codec.decoding_table['225,251'] = [30314] let s:lib.Codec.decoding_table['225,252'] = [30311] let s:lib.Codec.decoding_table['225,253'] = [30316] let s:lib.Codec.decoding_table['225,254'] = [30320] let s:lib.Codec.decoding_table['226,161'] = [30322] let s:lib.Codec.decoding_table['226,162'] = [30326] let s:lib.Codec.decoding_table['226,163'] = [30328] let s:lib.Codec.decoding_table['226,164'] = [30332] let s:lib.Codec.decoding_table['226,165'] = [30336] let s:lib.Codec.decoding_table['226,166'] = [30339] let s:lib.Codec.decoding_table['226,167'] = [30344] let s:lib.Codec.decoding_table['226,168'] = [30347] let s:lib.Codec.decoding_table['226,169'] = [30350] let s:lib.Codec.decoding_table['226,170'] = [30358] let s:lib.Codec.decoding_table['226,171'] = [30355] let s:lib.Codec.decoding_table['226,172'] = [30361] let s:lib.Codec.decoding_table['226,173'] = [30362] let s:lib.Codec.decoding_table['226,174'] = [30384] let s:lib.Codec.decoding_table['226,175'] = [30388] let s:lib.Codec.decoding_table['226,176'] = [30392] let s:lib.Codec.decoding_table['226,177'] = [30393] let s:lib.Codec.decoding_table['226,178'] = [30394] let s:lib.Codec.decoding_table['226,179'] = [30402] let s:lib.Codec.decoding_table['226,180'] = [30413] let s:lib.Codec.decoding_table['226,181'] = [30422] let s:lib.Codec.decoding_table['226,182'] = [30418] let s:lib.Codec.decoding_table['226,183'] = [30430] let s:lib.Codec.decoding_table['226,184'] = [30433] let s:lib.Codec.decoding_table['226,185'] = [30437] let s:lib.Codec.decoding_table['226,186'] = [30439] let s:lib.Codec.decoding_table['226,187'] = [30442] let s:lib.Codec.decoding_table['226,188'] = [34351] let s:lib.Codec.decoding_table['226,189'] = [30459] let s:lib.Codec.decoding_table['226,190'] = [30472] let s:lib.Codec.decoding_table['226,191'] = [30471] let s:lib.Codec.decoding_table['226,192'] = [30468] let s:lib.Codec.decoding_table['226,193'] = [30505] let s:lib.Codec.decoding_table['226,194'] = [30500] let s:lib.Codec.decoding_table['226,195'] = [30494] let s:lib.Codec.decoding_table['226,196'] = [30501] let s:lib.Codec.decoding_table['226,197'] = [30502] let s:lib.Codec.decoding_table['226,198'] = [30491] let s:lib.Codec.decoding_table['226,199'] = [30519] let s:lib.Codec.decoding_table['226,200'] = [30520] let s:lib.Codec.decoding_table['226,201'] = [30535] let s:lib.Codec.decoding_table['226,202'] = [30554] let s:lib.Codec.decoding_table['226,203'] = [30568] let s:lib.Codec.decoding_table['226,204'] = [30571] let s:lib.Codec.decoding_table['226,205'] = [30555] let s:lib.Codec.decoding_table['226,206'] = [30565] let s:lib.Codec.decoding_table['226,207'] = [30591] let s:lib.Codec.decoding_table['226,208'] = [30590] let s:lib.Codec.decoding_table['226,209'] = [30585] let s:lib.Codec.decoding_table['226,210'] = [30606] let s:lib.Codec.decoding_table['226,211'] = [30603] let s:lib.Codec.decoding_table['226,212'] = [30609] let s:lib.Codec.decoding_table['226,213'] = [30624] let s:lib.Codec.decoding_table['226,214'] = [30622] let s:lib.Codec.decoding_table['226,215'] = [30640] let s:lib.Codec.decoding_table['226,216'] = [30646] let s:lib.Codec.decoding_table['226,217'] = [30649] let s:lib.Codec.decoding_table['226,218'] = [30655] let s:lib.Codec.decoding_table['226,219'] = [30652] let s:lib.Codec.decoding_table['226,220'] = [30653] let s:lib.Codec.decoding_table['226,221'] = [30651] let s:lib.Codec.decoding_table['226,222'] = [30663] let s:lib.Codec.decoding_table['226,223'] = [30669] let s:lib.Codec.decoding_table['226,224'] = [30679] let s:lib.Codec.decoding_table['226,225'] = [30682] let s:lib.Codec.decoding_table['226,226'] = [30684] let s:lib.Codec.decoding_table['226,227'] = [30691] let s:lib.Codec.decoding_table['226,228'] = [30702] let s:lib.Codec.decoding_table['226,229'] = [30716] let s:lib.Codec.decoding_table['226,230'] = [30732] let s:lib.Codec.decoding_table['226,231'] = [30738] let s:lib.Codec.decoding_table['226,232'] = [31014] let s:lib.Codec.decoding_table['226,233'] = [30752] let s:lib.Codec.decoding_table['226,234'] = [31018] let s:lib.Codec.decoding_table['226,235'] = [30789] let s:lib.Codec.decoding_table['226,236'] = [30862] let s:lib.Codec.decoding_table['226,237'] = [30836] let s:lib.Codec.decoding_table['226,238'] = [30854] let s:lib.Codec.decoding_table['226,239'] = [30844] let s:lib.Codec.decoding_table['226,240'] = [30874] let s:lib.Codec.decoding_table['226,241'] = [30860] let s:lib.Codec.decoding_table['226,242'] = [30883] let s:lib.Codec.decoding_table['226,243'] = [30901] let s:lib.Codec.decoding_table['226,244'] = [30890] let s:lib.Codec.decoding_table['226,245'] = [30895] let s:lib.Codec.decoding_table['226,246'] = [30929] let s:lib.Codec.decoding_table['226,247'] = [30918] let s:lib.Codec.decoding_table['226,248'] = [30923] let s:lib.Codec.decoding_table['226,249'] = [30932] let s:lib.Codec.decoding_table['226,250'] = [30910] let s:lib.Codec.decoding_table['226,251'] = [30908] let s:lib.Codec.decoding_table['226,252'] = [30917] let s:lib.Codec.decoding_table['226,253'] = [30922] let s:lib.Codec.decoding_table['226,254'] = [30956] let s:lib.Codec.decoding_table['227,161'] = [30951] let s:lib.Codec.decoding_table['227,162'] = [30938] let s:lib.Codec.decoding_table['227,163'] = [30973] let s:lib.Codec.decoding_table['227,164'] = [30964] let s:lib.Codec.decoding_table['227,165'] = [30983] let s:lib.Codec.decoding_table['227,166'] = [30994] let s:lib.Codec.decoding_table['227,167'] = [30993] let s:lib.Codec.decoding_table['227,168'] = [31001] let s:lib.Codec.decoding_table['227,169'] = [31020] let s:lib.Codec.decoding_table['227,170'] = [31019] let s:lib.Codec.decoding_table['227,171'] = [31040] let s:lib.Codec.decoding_table['227,172'] = [31072] let s:lib.Codec.decoding_table['227,173'] = [31063] let s:lib.Codec.decoding_table['227,174'] = [31071] let s:lib.Codec.decoding_table['227,175'] = [31066] let s:lib.Codec.decoding_table['227,176'] = [31061] let s:lib.Codec.decoding_table['227,177'] = [31059] let s:lib.Codec.decoding_table['227,178'] = [31098] let s:lib.Codec.decoding_table['227,179'] = [31103] let s:lib.Codec.decoding_table['227,180'] = [31114] let s:lib.Codec.decoding_table['227,181'] = [31133] let s:lib.Codec.decoding_table['227,182'] = [31143] let s:lib.Codec.decoding_table['227,183'] = [40779] let s:lib.Codec.decoding_table['227,184'] = [31146] let s:lib.Codec.decoding_table['227,185'] = [31150] let s:lib.Codec.decoding_table['227,186'] = [31155] let s:lib.Codec.decoding_table['227,187'] = [31161] let s:lib.Codec.decoding_table['227,188'] = [31162] let s:lib.Codec.decoding_table['227,189'] = [31177] let s:lib.Codec.decoding_table['227,190'] = [31189] let s:lib.Codec.decoding_table['227,191'] = [31207] let s:lib.Codec.decoding_table['227,192'] = [31212] let s:lib.Codec.decoding_table['227,193'] = [31201] let s:lib.Codec.decoding_table['227,194'] = [31203] let s:lib.Codec.decoding_table['227,195'] = [31240] let s:lib.Codec.decoding_table['227,196'] = [31245] let s:lib.Codec.decoding_table['227,197'] = [31256] let s:lib.Codec.decoding_table['227,198'] = [31257] let s:lib.Codec.decoding_table['227,199'] = [31264] let s:lib.Codec.decoding_table['227,200'] = [31263] let s:lib.Codec.decoding_table['227,201'] = [31104] let s:lib.Codec.decoding_table['227,202'] = [31281] let s:lib.Codec.decoding_table['227,203'] = [31291] let s:lib.Codec.decoding_table['227,204'] = [31294] let s:lib.Codec.decoding_table['227,205'] = [31287] let s:lib.Codec.decoding_table['227,206'] = [31299] let s:lib.Codec.decoding_table['227,207'] = [31319] let s:lib.Codec.decoding_table['227,208'] = [31305] let s:lib.Codec.decoding_table['227,209'] = [31329] let s:lib.Codec.decoding_table['227,210'] = [31330] let s:lib.Codec.decoding_table['227,211'] = [31337] let s:lib.Codec.decoding_table['227,212'] = [40861] let s:lib.Codec.decoding_table['227,213'] = [31344] let s:lib.Codec.decoding_table['227,214'] = [31353] let s:lib.Codec.decoding_table['227,215'] = [31357] let s:lib.Codec.decoding_table['227,216'] = [31368] let s:lib.Codec.decoding_table['227,217'] = [31383] let s:lib.Codec.decoding_table['227,218'] = [31381] let s:lib.Codec.decoding_table['227,219'] = [31384] let s:lib.Codec.decoding_table['227,220'] = [31382] let s:lib.Codec.decoding_table['227,221'] = [31401] let s:lib.Codec.decoding_table['227,222'] = [31432] let s:lib.Codec.decoding_table['227,223'] = [31408] let s:lib.Codec.decoding_table['227,224'] = [31414] let s:lib.Codec.decoding_table['227,225'] = [31429] let s:lib.Codec.decoding_table['227,226'] = [31428] let s:lib.Codec.decoding_table['227,227'] = [31423] let s:lib.Codec.decoding_table['227,228'] = [36995] let s:lib.Codec.decoding_table['227,229'] = [31431] let s:lib.Codec.decoding_table['227,230'] = [31434] let s:lib.Codec.decoding_table['227,231'] = [31437] let s:lib.Codec.decoding_table['227,232'] = [31439] let s:lib.Codec.decoding_table['227,233'] = [31445] let s:lib.Codec.decoding_table['227,234'] = [31443] let s:lib.Codec.decoding_table['227,235'] = [31449] let s:lib.Codec.decoding_table['227,236'] = [31450] let s:lib.Codec.decoding_table['227,237'] = [31453] let s:lib.Codec.decoding_table['227,238'] = [31457] let s:lib.Codec.decoding_table['227,239'] = [31458] let s:lib.Codec.decoding_table['227,240'] = [31462] let s:lib.Codec.decoding_table['227,241'] = [31469] let s:lib.Codec.decoding_table['227,242'] = [31472] let s:lib.Codec.decoding_table['227,243'] = [31490] let s:lib.Codec.decoding_table['227,244'] = [31503] let s:lib.Codec.decoding_table['227,245'] = [31498] let s:lib.Codec.decoding_table['227,246'] = [31494] let s:lib.Codec.decoding_table['227,247'] = [31539] let s:lib.Codec.decoding_table['227,248'] = [31512] let s:lib.Codec.decoding_table['227,249'] = [31513] let s:lib.Codec.decoding_table['227,250'] = [31518] let s:lib.Codec.decoding_table['227,251'] = [31541] let s:lib.Codec.decoding_table['227,252'] = [31528] let s:lib.Codec.decoding_table['227,253'] = [31542] let s:lib.Codec.decoding_table['227,254'] = [31568] let s:lib.Codec.decoding_table['228,161'] = [31610] let s:lib.Codec.decoding_table['228,162'] = [31492] let s:lib.Codec.decoding_table['228,163'] = [31565] let s:lib.Codec.decoding_table['228,164'] = [31499] let s:lib.Codec.decoding_table['228,165'] = [31564] let s:lib.Codec.decoding_table['228,166'] = [31557] let s:lib.Codec.decoding_table['228,167'] = [31605] let s:lib.Codec.decoding_table['228,168'] = [31589] let s:lib.Codec.decoding_table['228,169'] = [31604] let s:lib.Codec.decoding_table['228,170'] = [31591] let s:lib.Codec.decoding_table['228,171'] = [31600] let s:lib.Codec.decoding_table['228,172'] = [31601] let s:lib.Codec.decoding_table['228,173'] = [31596] let s:lib.Codec.decoding_table['228,174'] = [31598] let s:lib.Codec.decoding_table['228,175'] = [31645] let s:lib.Codec.decoding_table['228,176'] = [31640] let s:lib.Codec.decoding_table['228,177'] = [31647] let s:lib.Codec.decoding_table['228,178'] = [31629] let s:lib.Codec.decoding_table['228,179'] = [31644] let s:lib.Codec.decoding_table['228,180'] = [31642] let s:lib.Codec.decoding_table['228,181'] = [31627] let s:lib.Codec.decoding_table['228,182'] = [31634] let s:lib.Codec.decoding_table['228,183'] = [31631] let s:lib.Codec.decoding_table['228,184'] = [31581] let s:lib.Codec.decoding_table['228,185'] = [31641] let s:lib.Codec.decoding_table['228,186'] = [31691] let s:lib.Codec.decoding_table['228,187'] = [31681] let s:lib.Codec.decoding_table['228,188'] = [31692] let s:lib.Codec.decoding_table['228,189'] = [31695] let s:lib.Codec.decoding_table['228,190'] = [31668] let s:lib.Codec.decoding_table['228,191'] = [31686] let s:lib.Codec.decoding_table['228,192'] = [31709] let s:lib.Codec.decoding_table['228,193'] = [31721] let s:lib.Codec.decoding_table['228,194'] = [31761] let s:lib.Codec.decoding_table['228,195'] = [31764] let s:lib.Codec.decoding_table['228,196'] = [31718] let s:lib.Codec.decoding_table['228,197'] = [31717] let s:lib.Codec.decoding_table['228,198'] = [31840] let s:lib.Codec.decoding_table['228,199'] = [31744] let s:lib.Codec.decoding_table['228,200'] = [31751] let s:lib.Codec.decoding_table['228,201'] = [31763] let s:lib.Codec.decoding_table['228,202'] = [31731] let s:lib.Codec.decoding_table['228,203'] = [31735] let s:lib.Codec.decoding_table['228,204'] = [31767] let s:lib.Codec.decoding_table['228,205'] = [31757] let s:lib.Codec.decoding_table['228,206'] = [31734] let s:lib.Codec.decoding_table['228,207'] = [31779] let s:lib.Codec.decoding_table['228,208'] = [31783] let s:lib.Codec.decoding_table['228,209'] = [31786] let s:lib.Codec.decoding_table['228,210'] = [31775] let s:lib.Codec.decoding_table['228,211'] = [31799] let s:lib.Codec.decoding_table['228,212'] = [31787] let s:lib.Codec.decoding_table['228,213'] = [31805] let s:lib.Codec.decoding_table['228,214'] = [31820] let s:lib.Codec.decoding_table['228,215'] = [31811] let s:lib.Codec.decoding_table['228,216'] = [31828] let s:lib.Codec.decoding_table['228,217'] = [31823] let s:lib.Codec.decoding_table['228,218'] = [31808] let s:lib.Codec.decoding_table['228,219'] = [31824] let s:lib.Codec.decoding_table['228,220'] = [31832] let s:lib.Codec.decoding_table['228,221'] = [31839] let s:lib.Codec.decoding_table['228,222'] = [31844] let s:lib.Codec.decoding_table['228,223'] = [31830] let s:lib.Codec.decoding_table['228,224'] = [31845] let s:lib.Codec.decoding_table['228,225'] = [31852] let s:lib.Codec.decoding_table['228,226'] = [31861] let s:lib.Codec.decoding_table['228,227'] = [31875] let s:lib.Codec.decoding_table['228,228'] = [31888] let s:lib.Codec.decoding_table['228,229'] = [31908] let s:lib.Codec.decoding_table['228,230'] = [31917] let s:lib.Codec.decoding_table['228,231'] = [31906] let s:lib.Codec.decoding_table['228,232'] = [31915] let s:lib.Codec.decoding_table['228,233'] = [31905] let s:lib.Codec.decoding_table['228,234'] = [31912] let s:lib.Codec.decoding_table['228,235'] = [31923] let s:lib.Codec.decoding_table['228,236'] = [31922] let s:lib.Codec.decoding_table['228,237'] = [31921] let s:lib.Codec.decoding_table['228,238'] = [31918] let s:lib.Codec.decoding_table['228,239'] = [31929] let s:lib.Codec.decoding_table['228,240'] = [31933] let s:lib.Codec.decoding_table['228,241'] = [31936] let s:lib.Codec.decoding_table['228,242'] = [31941] let s:lib.Codec.decoding_table['228,243'] = [31938] let s:lib.Codec.decoding_table['228,244'] = [31960] let s:lib.Codec.decoding_table['228,245'] = [31954] let s:lib.Codec.decoding_table['228,246'] = [31964] let s:lib.Codec.decoding_table['228,247'] = [31970] let s:lib.Codec.decoding_table['228,248'] = [39739] let s:lib.Codec.decoding_table['228,249'] = [31983] let s:lib.Codec.decoding_table['228,250'] = [31986] let s:lib.Codec.decoding_table['228,251'] = [31988] let s:lib.Codec.decoding_table['228,252'] = [31990] let s:lib.Codec.decoding_table['228,253'] = [31994] let s:lib.Codec.decoding_table['228,254'] = [32006] let s:lib.Codec.decoding_table['229,161'] = [32002] let s:lib.Codec.decoding_table['229,162'] = [32028] let s:lib.Codec.decoding_table['229,163'] = [32021] let s:lib.Codec.decoding_table['229,164'] = [32010] let s:lib.Codec.decoding_table['229,165'] = [32069] let s:lib.Codec.decoding_table['229,166'] = [32075] let s:lib.Codec.decoding_table['229,167'] = [32046] let s:lib.Codec.decoding_table['229,168'] = [32050] let s:lib.Codec.decoding_table['229,169'] = [32063] let s:lib.Codec.decoding_table['229,170'] = [32053] let s:lib.Codec.decoding_table['229,171'] = [32070] let s:lib.Codec.decoding_table['229,172'] = [32115] let s:lib.Codec.decoding_table['229,173'] = [32086] let s:lib.Codec.decoding_table['229,174'] = [32078] let s:lib.Codec.decoding_table['229,175'] = [32114] let s:lib.Codec.decoding_table['229,176'] = [32104] let s:lib.Codec.decoding_table['229,177'] = [32110] let s:lib.Codec.decoding_table['229,178'] = [32079] let s:lib.Codec.decoding_table['229,179'] = [32099] let s:lib.Codec.decoding_table['229,180'] = [32147] let s:lib.Codec.decoding_table['229,181'] = [32137] let s:lib.Codec.decoding_table['229,182'] = [32091] let s:lib.Codec.decoding_table['229,183'] = [32143] let s:lib.Codec.decoding_table['229,184'] = [32125] let s:lib.Codec.decoding_table['229,185'] = [32155] let s:lib.Codec.decoding_table['229,186'] = [32186] let s:lib.Codec.decoding_table['229,187'] = [32174] let s:lib.Codec.decoding_table['229,188'] = [32163] let s:lib.Codec.decoding_table['229,189'] = [32181] let s:lib.Codec.decoding_table['229,190'] = [32199] let s:lib.Codec.decoding_table['229,191'] = [32189] let s:lib.Codec.decoding_table['229,192'] = [32171] let s:lib.Codec.decoding_table['229,193'] = [32317] let s:lib.Codec.decoding_table['229,194'] = [32162] let s:lib.Codec.decoding_table['229,195'] = [32175] let s:lib.Codec.decoding_table['229,196'] = [32220] let s:lib.Codec.decoding_table['229,197'] = [32184] let s:lib.Codec.decoding_table['229,198'] = [32159] let s:lib.Codec.decoding_table['229,199'] = [32176] let s:lib.Codec.decoding_table['229,200'] = [32216] let s:lib.Codec.decoding_table['229,201'] = [32221] let s:lib.Codec.decoding_table['229,202'] = [32228] let s:lib.Codec.decoding_table['229,203'] = [32222] let s:lib.Codec.decoding_table['229,204'] = [32251] let s:lib.Codec.decoding_table['229,205'] = [32242] let s:lib.Codec.decoding_table['229,206'] = [32225] let s:lib.Codec.decoding_table['229,207'] = [32261] let s:lib.Codec.decoding_table['229,208'] = [32266] let s:lib.Codec.decoding_table['229,209'] = [32291] let s:lib.Codec.decoding_table['229,210'] = [32289] let s:lib.Codec.decoding_table['229,211'] = [32274] let s:lib.Codec.decoding_table['229,212'] = [32305] let s:lib.Codec.decoding_table['229,213'] = [32287] let s:lib.Codec.decoding_table['229,214'] = [32265] let s:lib.Codec.decoding_table['229,215'] = [32267] let s:lib.Codec.decoding_table['229,216'] = [32290] let s:lib.Codec.decoding_table['229,217'] = [32326] let s:lib.Codec.decoding_table['229,218'] = [32358] let s:lib.Codec.decoding_table['229,219'] = [32315] let s:lib.Codec.decoding_table['229,220'] = [32309] let s:lib.Codec.decoding_table['229,221'] = [32313] let s:lib.Codec.decoding_table['229,222'] = [32323] let s:lib.Codec.decoding_table['229,223'] = [32311] let s:lib.Codec.decoding_table['229,224'] = [32306] let s:lib.Codec.decoding_table['229,225'] = [32314] let s:lib.Codec.decoding_table['229,226'] = [32359] let s:lib.Codec.decoding_table['229,227'] = [32349] let s:lib.Codec.decoding_table['229,228'] = [32342] let s:lib.Codec.decoding_table['229,229'] = [32350] let s:lib.Codec.decoding_table['229,230'] = [32345] let s:lib.Codec.decoding_table['229,231'] = [32346] let s:lib.Codec.decoding_table['229,232'] = [32377] let s:lib.Codec.decoding_table['229,233'] = [32362] let s:lib.Codec.decoding_table['229,234'] = [32361] let s:lib.Codec.decoding_table['229,235'] = [32380] let s:lib.Codec.decoding_table['229,236'] = [32379] let s:lib.Codec.decoding_table['229,237'] = [32387] let s:lib.Codec.decoding_table['229,238'] = [32213] let s:lib.Codec.decoding_table['229,239'] = [32381] let s:lib.Codec.decoding_table['229,240'] = [36782] let s:lib.Codec.decoding_table['229,241'] = [32383] let s:lib.Codec.decoding_table['229,242'] = [32392] let s:lib.Codec.decoding_table['229,243'] = [32393] let s:lib.Codec.decoding_table['229,244'] = [32396] let s:lib.Codec.decoding_table['229,245'] = [32402] let s:lib.Codec.decoding_table['229,246'] = [32400] let s:lib.Codec.decoding_table['229,247'] = [32403] let s:lib.Codec.decoding_table['229,248'] = [32404] let s:lib.Codec.decoding_table['229,249'] = [32406] let s:lib.Codec.decoding_table['229,250'] = [32398] let s:lib.Codec.decoding_table['229,251'] = [32411] let s:lib.Codec.decoding_table['229,252'] = [32412] let s:lib.Codec.decoding_table['229,253'] = [32568] let s:lib.Codec.decoding_table['229,254'] = [32570] let s:lib.Codec.decoding_table['230,161'] = [32581] let s:lib.Codec.decoding_table['230,162'] = [32588] let s:lib.Codec.decoding_table['230,163'] = [32589] let s:lib.Codec.decoding_table['230,164'] = [32590] let s:lib.Codec.decoding_table['230,165'] = [32592] let s:lib.Codec.decoding_table['230,166'] = [32593] let s:lib.Codec.decoding_table['230,167'] = [32597] let s:lib.Codec.decoding_table['230,168'] = [32596] let s:lib.Codec.decoding_table['230,169'] = [32600] let s:lib.Codec.decoding_table['230,170'] = [32607] let s:lib.Codec.decoding_table['230,171'] = [32608] let s:lib.Codec.decoding_table['230,172'] = [32616] let s:lib.Codec.decoding_table['230,173'] = [32617] let s:lib.Codec.decoding_table['230,174'] = [32615] let s:lib.Codec.decoding_table['230,175'] = [32632] let s:lib.Codec.decoding_table['230,176'] = [32642] let s:lib.Codec.decoding_table['230,177'] = [32646] let s:lib.Codec.decoding_table['230,178'] = [32643] let s:lib.Codec.decoding_table['230,179'] = [32648] let s:lib.Codec.decoding_table['230,180'] = [32647] let s:lib.Codec.decoding_table['230,181'] = [32652] let s:lib.Codec.decoding_table['230,182'] = [32660] let s:lib.Codec.decoding_table['230,183'] = [32670] let s:lib.Codec.decoding_table['230,184'] = [32669] let s:lib.Codec.decoding_table['230,185'] = [32666] let s:lib.Codec.decoding_table['230,186'] = [32675] let s:lib.Codec.decoding_table['230,187'] = [32687] let s:lib.Codec.decoding_table['230,188'] = [32690] let s:lib.Codec.decoding_table['230,189'] = [32697] let s:lib.Codec.decoding_table['230,190'] = [32686] let s:lib.Codec.decoding_table['230,191'] = [32694] let s:lib.Codec.decoding_table['230,192'] = [32696] let s:lib.Codec.decoding_table['230,193'] = [35697] let s:lib.Codec.decoding_table['230,194'] = [32709] let s:lib.Codec.decoding_table['230,195'] = [32710] let s:lib.Codec.decoding_table['230,196'] = [32714] let s:lib.Codec.decoding_table['230,197'] = [32725] let s:lib.Codec.decoding_table['230,198'] = [32724] let s:lib.Codec.decoding_table['230,199'] = [32737] let s:lib.Codec.decoding_table['230,200'] = [32742] let s:lib.Codec.decoding_table['230,201'] = [32745] let s:lib.Codec.decoding_table['230,202'] = [32755] let s:lib.Codec.decoding_table['230,203'] = [32761] let s:lib.Codec.decoding_table['230,204'] = [39132] let s:lib.Codec.decoding_table['230,205'] = [32774] let s:lib.Codec.decoding_table['230,206'] = [32772] let s:lib.Codec.decoding_table['230,207'] = [32779] let s:lib.Codec.decoding_table['230,208'] = [32786] let s:lib.Codec.decoding_table['230,209'] = [32792] let s:lib.Codec.decoding_table['230,210'] = [32793] let s:lib.Codec.decoding_table['230,211'] = [32796] let s:lib.Codec.decoding_table['230,212'] = [32801] let s:lib.Codec.decoding_table['230,213'] = [32808] let s:lib.Codec.decoding_table['230,214'] = [32831] let s:lib.Codec.decoding_table['230,215'] = [32827] let s:lib.Codec.decoding_table['230,216'] = [32842] let s:lib.Codec.decoding_table['230,217'] = [32838] let s:lib.Codec.decoding_table['230,218'] = [32850] let s:lib.Codec.decoding_table['230,219'] = [32856] let s:lib.Codec.decoding_table['230,220'] = [32858] let s:lib.Codec.decoding_table['230,221'] = [32863] let s:lib.Codec.decoding_table['230,222'] = [32866] let s:lib.Codec.decoding_table['230,223'] = [32872] let s:lib.Codec.decoding_table['230,224'] = [32883] let s:lib.Codec.decoding_table['230,225'] = [32882] let s:lib.Codec.decoding_table['230,226'] = [32880] let s:lib.Codec.decoding_table['230,227'] = [32886] let s:lib.Codec.decoding_table['230,228'] = [32889] let s:lib.Codec.decoding_table['230,229'] = [32893] let s:lib.Codec.decoding_table['230,230'] = [32895] let s:lib.Codec.decoding_table['230,231'] = [32900] let s:lib.Codec.decoding_table['230,232'] = [32902] let s:lib.Codec.decoding_table['230,233'] = [32901] let s:lib.Codec.decoding_table['230,234'] = [32923] let s:lib.Codec.decoding_table['230,235'] = [32915] let s:lib.Codec.decoding_table['230,236'] = [32922] let s:lib.Codec.decoding_table['230,237'] = [32941] let s:lib.Codec.decoding_table['230,238'] = [20880] let s:lib.Codec.decoding_table['230,239'] = [32940] let s:lib.Codec.decoding_table['230,240'] = [32987] let s:lib.Codec.decoding_table['230,241'] = [32997] let s:lib.Codec.decoding_table['230,242'] = [32985] let s:lib.Codec.decoding_table['230,243'] = [32989] let s:lib.Codec.decoding_table['230,244'] = [32964] let s:lib.Codec.decoding_table['230,245'] = [32986] let s:lib.Codec.decoding_table['230,246'] = [32982] let s:lib.Codec.decoding_table['230,247'] = [33033] let s:lib.Codec.decoding_table['230,248'] = [33007] let s:lib.Codec.decoding_table['230,249'] = [33009] let s:lib.Codec.decoding_table['230,250'] = [33051] let s:lib.Codec.decoding_table['230,251'] = [33065] let s:lib.Codec.decoding_table['230,252'] = [33059] let s:lib.Codec.decoding_table['230,253'] = [33071] let s:lib.Codec.decoding_table['230,254'] = [33099] let s:lib.Codec.decoding_table['231,161'] = [38539] let s:lib.Codec.decoding_table['231,162'] = [33094] let s:lib.Codec.decoding_table['231,163'] = [33086] let s:lib.Codec.decoding_table['231,164'] = [33107] let s:lib.Codec.decoding_table['231,165'] = [33105] let s:lib.Codec.decoding_table['231,166'] = [33020] let s:lib.Codec.decoding_table['231,167'] = [33137] let s:lib.Codec.decoding_table['231,168'] = [33134] let s:lib.Codec.decoding_table['231,169'] = [33125] let s:lib.Codec.decoding_table['231,170'] = [33126] let s:lib.Codec.decoding_table['231,171'] = [33140] let s:lib.Codec.decoding_table['231,172'] = [33155] let s:lib.Codec.decoding_table['231,173'] = [33160] let s:lib.Codec.decoding_table['231,174'] = [33162] let s:lib.Codec.decoding_table['231,175'] = [33152] let s:lib.Codec.decoding_table['231,176'] = [33154] let s:lib.Codec.decoding_table['231,177'] = [33184] let s:lib.Codec.decoding_table['231,178'] = [33173] let s:lib.Codec.decoding_table['231,179'] = [33188] let s:lib.Codec.decoding_table['231,180'] = [33187] let s:lib.Codec.decoding_table['231,181'] = [33119] let s:lib.Codec.decoding_table['231,182'] = [33171] let s:lib.Codec.decoding_table['231,183'] = [33193] let s:lib.Codec.decoding_table['231,184'] = [33200] let s:lib.Codec.decoding_table['231,185'] = [33205] let s:lib.Codec.decoding_table['231,186'] = [33214] let s:lib.Codec.decoding_table['231,187'] = [33208] let s:lib.Codec.decoding_table['231,188'] = [33213] let s:lib.Codec.decoding_table['231,189'] = [33216] let s:lib.Codec.decoding_table['231,190'] = [33218] let s:lib.Codec.decoding_table['231,191'] = [33210] let s:lib.Codec.decoding_table['231,192'] = [33225] let s:lib.Codec.decoding_table['231,193'] = [33229] let s:lib.Codec.decoding_table['231,194'] = [33233] let s:lib.Codec.decoding_table['231,195'] = [33241] let s:lib.Codec.decoding_table['231,196'] = [33240] let s:lib.Codec.decoding_table['231,197'] = [33224] let s:lib.Codec.decoding_table['231,198'] = [33242] let s:lib.Codec.decoding_table['231,199'] = [33247] let s:lib.Codec.decoding_table['231,200'] = [33248] let s:lib.Codec.decoding_table['231,201'] = [33255] let s:lib.Codec.decoding_table['231,202'] = [33274] let s:lib.Codec.decoding_table['231,203'] = [33275] let s:lib.Codec.decoding_table['231,204'] = [33278] let s:lib.Codec.decoding_table['231,205'] = [33281] let s:lib.Codec.decoding_table['231,206'] = [33282] let s:lib.Codec.decoding_table['231,207'] = [33285] let s:lib.Codec.decoding_table['231,208'] = [33287] let s:lib.Codec.decoding_table['231,209'] = [33290] let s:lib.Codec.decoding_table['231,210'] = [33293] let s:lib.Codec.decoding_table['231,211'] = [33296] let s:lib.Codec.decoding_table['231,212'] = [33302] let s:lib.Codec.decoding_table['231,213'] = [33321] let s:lib.Codec.decoding_table['231,214'] = [33323] let s:lib.Codec.decoding_table['231,215'] = [33336] let s:lib.Codec.decoding_table['231,216'] = [33331] let s:lib.Codec.decoding_table['231,217'] = [33344] let s:lib.Codec.decoding_table['231,218'] = [33369] let s:lib.Codec.decoding_table['231,219'] = [33368] let s:lib.Codec.decoding_table['231,220'] = [33373] let s:lib.Codec.decoding_table['231,221'] = [33370] let s:lib.Codec.decoding_table['231,222'] = [33375] let s:lib.Codec.decoding_table['231,223'] = [33380] let s:lib.Codec.decoding_table['231,224'] = [33378] let s:lib.Codec.decoding_table['231,225'] = [33384] let s:lib.Codec.decoding_table['231,226'] = [33386] let s:lib.Codec.decoding_table['231,227'] = [33387] let s:lib.Codec.decoding_table['231,228'] = [33326] let s:lib.Codec.decoding_table['231,229'] = [33393] let s:lib.Codec.decoding_table['231,230'] = [33399] let s:lib.Codec.decoding_table['231,231'] = [33400] let s:lib.Codec.decoding_table['231,232'] = [33406] let s:lib.Codec.decoding_table['231,233'] = [33421] let s:lib.Codec.decoding_table['231,234'] = [33426] let s:lib.Codec.decoding_table['231,235'] = [33451] let s:lib.Codec.decoding_table['231,236'] = [33439] let s:lib.Codec.decoding_table['231,237'] = [33467] let s:lib.Codec.decoding_table['231,238'] = [33452] let s:lib.Codec.decoding_table['231,239'] = [33505] let s:lib.Codec.decoding_table['231,240'] = [33507] let s:lib.Codec.decoding_table['231,241'] = [33503] let s:lib.Codec.decoding_table['231,242'] = [33490] let s:lib.Codec.decoding_table['231,243'] = [33524] let s:lib.Codec.decoding_table['231,244'] = [33523] let s:lib.Codec.decoding_table['231,245'] = [33530] let s:lib.Codec.decoding_table['231,246'] = [33683] let s:lib.Codec.decoding_table['231,247'] = [33539] let s:lib.Codec.decoding_table['231,248'] = [33531] let s:lib.Codec.decoding_table['231,249'] = [33529] let s:lib.Codec.decoding_table['231,250'] = [33502] let s:lib.Codec.decoding_table['231,251'] = [33542] let s:lib.Codec.decoding_table['231,252'] = [33500] let s:lib.Codec.decoding_table['231,253'] = [33545] let s:lib.Codec.decoding_table['231,254'] = [33497] let s:lib.Codec.decoding_table['232,161'] = [33589] let s:lib.Codec.decoding_table['232,162'] = [33588] let s:lib.Codec.decoding_table['232,163'] = [33558] let s:lib.Codec.decoding_table['232,164'] = [33586] let s:lib.Codec.decoding_table['232,165'] = [33585] let s:lib.Codec.decoding_table['232,166'] = [33600] let s:lib.Codec.decoding_table['232,167'] = [33593] let s:lib.Codec.decoding_table['232,168'] = [33616] let s:lib.Codec.decoding_table['232,169'] = [33605] let s:lib.Codec.decoding_table['232,170'] = [33583] let s:lib.Codec.decoding_table['232,171'] = [33579] let s:lib.Codec.decoding_table['232,172'] = [33559] let s:lib.Codec.decoding_table['232,173'] = [33560] let s:lib.Codec.decoding_table['232,174'] = [33669] let s:lib.Codec.decoding_table['232,175'] = [33690] let s:lib.Codec.decoding_table['232,176'] = [33706] let s:lib.Codec.decoding_table['232,177'] = [33695] let s:lib.Codec.decoding_table['232,178'] = [33698] let s:lib.Codec.decoding_table['232,179'] = [33686] let s:lib.Codec.decoding_table['232,180'] = [33571] let s:lib.Codec.decoding_table['232,181'] = [33678] let s:lib.Codec.decoding_table['232,182'] = [33671] let s:lib.Codec.decoding_table['232,183'] = [33674] let s:lib.Codec.decoding_table['232,184'] = [33660] let s:lib.Codec.decoding_table['232,185'] = [33717] let s:lib.Codec.decoding_table['232,186'] = [33651] let s:lib.Codec.decoding_table['232,187'] = [33653] let s:lib.Codec.decoding_table['232,188'] = [33696] let s:lib.Codec.decoding_table['232,189'] = [33673] let s:lib.Codec.decoding_table['232,190'] = [33704] let s:lib.Codec.decoding_table['232,191'] = [33780] let s:lib.Codec.decoding_table['232,192'] = [33811] let s:lib.Codec.decoding_table['232,193'] = [33771] let s:lib.Codec.decoding_table['232,194'] = [33742] let s:lib.Codec.decoding_table['232,195'] = [33789] let s:lib.Codec.decoding_table['232,196'] = [33795] let s:lib.Codec.decoding_table['232,197'] = [33752] let s:lib.Codec.decoding_table['232,198'] = [33803] let s:lib.Codec.decoding_table['232,199'] = [33729] let s:lib.Codec.decoding_table['232,200'] = [33783] let s:lib.Codec.decoding_table['232,201'] = [33799] let s:lib.Codec.decoding_table['232,202'] = [33760] let s:lib.Codec.decoding_table['232,203'] = [33778] let s:lib.Codec.decoding_table['232,204'] = [33805] let s:lib.Codec.decoding_table['232,205'] = [33826] let s:lib.Codec.decoding_table['232,206'] = [33824] let s:lib.Codec.decoding_table['232,207'] = [33725] let s:lib.Codec.decoding_table['232,208'] = [33848] let s:lib.Codec.decoding_table['232,209'] = [34054] let s:lib.Codec.decoding_table['232,210'] = [33787] let s:lib.Codec.decoding_table['232,211'] = [33901] let s:lib.Codec.decoding_table['232,212'] = [33834] let s:lib.Codec.decoding_table['232,213'] = [33852] let s:lib.Codec.decoding_table['232,214'] = [34138] let s:lib.Codec.decoding_table['232,215'] = [33924] let s:lib.Codec.decoding_table['232,216'] = [33911] let s:lib.Codec.decoding_table['232,217'] = [33899] let s:lib.Codec.decoding_table['232,218'] = [33965] let s:lib.Codec.decoding_table['232,219'] = [33902] let s:lib.Codec.decoding_table['232,220'] = [33922] let s:lib.Codec.decoding_table['232,221'] = [33897] let s:lib.Codec.decoding_table['232,222'] = [33862] let s:lib.Codec.decoding_table['232,223'] = [33836] let s:lib.Codec.decoding_table['232,224'] = [33903] let s:lib.Codec.decoding_table['232,225'] = [33913] let s:lib.Codec.decoding_table['232,226'] = [33845] let s:lib.Codec.decoding_table['232,227'] = [33994] let s:lib.Codec.decoding_table['232,228'] = [33890] let s:lib.Codec.decoding_table['232,229'] = [33977] let s:lib.Codec.decoding_table['232,230'] = [33983] let s:lib.Codec.decoding_table['232,231'] = [33951] let s:lib.Codec.decoding_table['232,232'] = [34009] let s:lib.Codec.decoding_table['232,233'] = [33997] let s:lib.Codec.decoding_table['232,234'] = [33979] let s:lib.Codec.decoding_table['232,235'] = [34010] let s:lib.Codec.decoding_table['232,236'] = [34000] let s:lib.Codec.decoding_table['232,237'] = [33985] let s:lib.Codec.decoding_table['232,238'] = [33990] let s:lib.Codec.decoding_table['232,239'] = [34006] let s:lib.Codec.decoding_table['232,240'] = [33953] let s:lib.Codec.decoding_table['232,241'] = [34081] let s:lib.Codec.decoding_table['232,242'] = [34047] let s:lib.Codec.decoding_table['232,243'] = [34036] let s:lib.Codec.decoding_table['232,244'] = [34071] let s:lib.Codec.decoding_table['232,245'] = [34072] let s:lib.Codec.decoding_table['232,246'] = [34092] let s:lib.Codec.decoding_table['232,247'] = [34079] let s:lib.Codec.decoding_table['232,248'] = [34069] let s:lib.Codec.decoding_table['232,249'] = [34068] let s:lib.Codec.decoding_table['232,250'] = [34044] let s:lib.Codec.decoding_table['232,251'] = [34112] let s:lib.Codec.decoding_table['232,252'] = [34147] let s:lib.Codec.decoding_table['232,253'] = [34136] let s:lib.Codec.decoding_table['232,254'] = [34120] let s:lib.Codec.decoding_table['233,161'] = [34113] let s:lib.Codec.decoding_table['233,162'] = [34306] let s:lib.Codec.decoding_table['233,163'] = [34123] let s:lib.Codec.decoding_table['233,164'] = [34133] let s:lib.Codec.decoding_table['233,165'] = [34176] let s:lib.Codec.decoding_table['233,166'] = [34212] let s:lib.Codec.decoding_table['233,167'] = [34184] let s:lib.Codec.decoding_table['233,168'] = [34193] let s:lib.Codec.decoding_table['233,169'] = [34186] let s:lib.Codec.decoding_table['233,170'] = [34216] let s:lib.Codec.decoding_table['233,171'] = [34157] let s:lib.Codec.decoding_table['233,172'] = [34196] let s:lib.Codec.decoding_table['233,173'] = [34203] let s:lib.Codec.decoding_table['233,174'] = [34282] let s:lib.Codec.decoding_table['233,175'] = [34183] let s:lib.Codec.decoding_table['233,176'] = [34204] let s:lib.Codec.decoding_table['233,177'] = [34167] let s:lib.Codec.decoding_table['233,178'] = [34174] let s:lib.Codec.decoding_table['233,179'] = [34192] let s:lib.Codec.decoding_table['233,180'] = [34249] let s:lib.Codec.decoding_table['233,181'] = [34234] let s:lib.Codec.decoding_table['233,182'] = [34255] let s:lib.Codec.decoding_table['233,183'] = [34233] let s:lib.Codec.decoding_table['233,184'] = [34256] let s:lib.Codec.decoding_table['233,185'] = [34261] let s:lib.Codec.decoding_table['233,186'] = [34269] let s:lib.Codec.decoding_table['233,187'] = [34277] let s:lib.Codec.decoding_table['233,188'] = [34268] let s:lib.Codec.decoding_table['233,189'] = [34297] let s:lib.Codec.decoding_table['233,190'] = [34314] let s:lib.Codec.decoding_table['233,191'] = [34323] let s:lib.Codec.decoding_table['233,192'] = [34315] let s:lib.Codec.decoding_table['233,193'] = [34302] let s:lib.Codec.decoding_table['233,194'] = [34298] let s:lib.Codec.decoding_table['233,195'] = [34310] let s:lib.Codec.decoding_table['233,196'] = [34338] let s:lib.Codec.decoding_table['233,197'] = [34330] let s:lib.Codec.decoding_table['233,198'] = [34352] let s:lib.Codec.decoding_table['233,199'] = [34367] let s:lib.Codec.decoding_table['233,200'] = [34381] let s:lib.Codec.decoding_table['233,201'] = [20053] let s:lib.Codec.decoding_table['233,202'] = [34388] let s:lib.Codec.decoding_table['233,203'] = [34399] let s:lib.Codec.decoding_table['233,204'] = [34407] let s:lib.Codec.decoding_table['233,205'] = [34417] let s:lib.Codec.decoding_table['233,206'] = [34451] let s:lib.Codec.decoding_table['233,207'] = [34467] let s:lib.Codec.decoding_table['233,208'] = [34473] let s:lib.Codec.decoding_table['233,209'] = [34474] let s:lib.Codec.decoding_table['233,210'] = [34443] let s:lib.Codec.decoding_table['233,211'] = [34444] let s:lib.Codec.decoding_table['233,212'] = [34486] let s:lib.Codec.decoding_table['233,213'] = [34479] let s:lib.Codec.decoding_table['233,214'] = [34500] let s:lib.Codec.decoding_table['233,215'] = [34502] let s:lib.Codec.decoding_table['233,216'] = [34480] let s:lib.Codec.decoding_table['233,217'] = [34505] let s:lib.Codec.decoding_table['233,218'] = [34851] let s:lib.Codec.decoding_table['233,219'] = [34475] let s:lib.Codec.decoding_table['233,220'] = [34516] let s:lib.Codec.decoding_table['233,221'] = [34526] let s:lib.Codec.decoding_table['233,222'] = [34537] let s:lib.Codec.decoding_table['233,223'] = [34540] let s:lib.Codec.decoding_table['233,224'] = [34527] let s:lib.Codec.decoding_table['233,225'] = [34523] let s:lib.Codec.decoding_table['233,226'] = [34543] let s:lib.Codec.decoding_table['233,227'] = [34578] let s:lib.Codec.decoding_table['233,228'] = [34566] let s:lib.Codec.decoding_table['233,229'] = [34568] let s:lib.Codec.decoding_table['233,230'] = [34560] let s:lib.Codec.decoding_table['233,231'] = [34563] let s:lib.Codec.decoding_table['233,232'] = [34555] let s:lib.Codec.decoding_table['233,233'] = [34577] let s:lib.Codec.decoding_table['233,234'] = [34569] let s:lib.Codec.decoding_table['233,235'] = [34573] let s:lib.Codec.decoding_table['233,236'] = [34553] let s:lib.Codec.decoding_table['233,237'] = [34570] let s:lib.Codec.decoding_table['233,238'] = [34612] let s:lib.Codec.decoding_table['233,239'] = [34623] let s:lib.Codec.decoding_table['233,240'] = [34615] let s:lib.Codec.decoding_table['233,241'] = [34619] let s:lib.Codec.decoding_table['233,242'] = [34597] let s:lib.Codec.decoding_table['233,243'] = [34601] let s:lib.Codec.decoding_table['233,244'] = [34586] let s:lib.Codec.decoding_table['233,245'] = [34656] let s:lib.Codec.decoding_table['233,246'] = [34655] let s:lib.Codec.decoding_table['233,247'] = [34680] let s:lib.Codec.decoding_table['233,248'] = [34636] let s:lib.Codec.decoding_table['233,249'] = [34638] let s:lib.Codec.decoding_table['233,250'] = [34676] let s:lib.Codec.decoding_table['233,251'] = [34647] let s:lib.Codec.decoding_table['233,252'] = [34664] let s:lib.Codec.decoding_table['233,253'] = [34670] let s:lib.Codec.decoding_table['233,254'] = [34649] let s:lib.Codec.decoding_table['234,161'] = [34643] let s:lib.Codec.decoding_table['234,162'] = [34659] let s:lib.Codec.decoding_table['234,163'] = [34666] let s:lib.Codec.decoding_table['234,164'] = [34821] let s:lib.Codec.decoding_table['234,165'] = [34722] let s:lib.Codec.decoding_table['234,166'] = [34719] let s:lib.Codec.decoding_table['234,167'] = [34690] let s:lib.Codec.decoding_table['234,168'] = [34735] let s:lib.Codec.decoding_table['234,169'] = [34763] let s:lib.Codec.decoding_table['234,170'] = [34749] let s:lib.Codec.decoding_table['234,171'] = [34752] let s:lib.Codec.decoding_table['234,172'] = [34768] let s:lib.Codec.decoding_table['234,173'] = [38614] let s:lib.Codec.decoding_table['234,174'] = [34731] let s:lib.Codec.decoding_table['234,175'] = [34756] let s:lib.Codec.decoding_table['234,176'] = [34739] let s:lib.Codec.decoding_table['234,177'] = [34759] let s:lib.Codec.decoding_table['234,178'] = [34758] let s:lib.Codec.decoding_table['234,179'] = [34747] let s:lib.Codec.decoding_table['234,180'] = [34799] let s:lib.Codec.decoding_table['234,181'] = [34802] let s:lib.Codec.decoding_table['234,182'] = [34784] let s:lib.Codec.decoding_table['234,183'] = [34831] let s:lib.Codec.decoding_table['234,184'] = [34829] let s:lib.Codec.decoding_table['234,185'] = [34814] let s:lib.Codec.decoding_table['234,186'] = [34806] let s:lib.Codec.decoding_table['234,187'] = [34807] let s:lib.Codec.decoding_table['234,188'] = [34830] let s:lib.Codec.decoding_table['234,189'] = [34770] let s:lib.Codec.decoding_table['234,190'] = [34833] let s:lib.Codec.decoding_table['234,191'] = [34838] let s:lib.Codec.decoding_table['234,192'] = [34837] let s:lib.Codec.decoding_table['234,193'] = [34850] let s:lib.Codec.decoding_table['234,194'] = [34849] let s:lib.Codec.decoding_table['234,195'] = [34865] let s:lib.Codec.decoding_table['234,196'] = [34870] let s:lib.Codec.decoding_table['234,197'] = [34873] let s:lib.Codec.decoding_table['234,198'] = [34855] let s:lib.Codec.decoding_table['234,199'] = [34875] let s:lib.Codec.decoding_table['234,200'] = [34884] let s:lib.Codec.decoding_table['234,201'] = [34882] let s:lib.Codec.decoding_table['234,202'] = [34898] let s:lib.Codec.decoding_table['234,203'] = [34905] let s:lib.Codec.decoding_table['234,204'] = [34910] let s:lib.Codec.decoding_table['234,205'] = [34914] let s:lib.Codec.decoding_table['234,206'] = [34923] let s:lib.Codec.decoding_table['234,207'] = [34945] let s:lib.Codec.decoding_table['234,208'] = [34942] let s:lib.Codec.decoding_table['234,209'] = [34974] let s:lib.Codec.decoding_table['234,210'] = [34933] let s:lib.Codec.decoding_table['234,211'] = [34941] let s:lib.Codec.decoding_table['234,212'] = [34997] let s:lib.Codec.decoding_table['234,213'] = [34930] let s:lib.Codec.decoding_table['234,214'] = [34946] let s:lib.Codec.decoding_table['234,215'] = [34967] let s:lib.Codec.decoding_table['234,216'] = [34962] let s:lib.Codec.decoding_table['234,217'] = [34990] let s:lib.Codec.decoding_table['234,218'] = [34969] let s:lib.Codec.decoding_table['234,219'] = [34978] let s:lib.Codec.decoding_table['234,220'] = [34957] let s:lib.Codec.decoding_table['234,221'] = [34980] let s:lib.Codec.decoding_table['234,222'] = [34992] let s:lib.Codec.decoding_table['234,223'] = [35007] let s:lib.Codec.decoding_table['234,224'] = [34993] let s:lib.Codec.decoding_table['234,225'] = [35011] let s:lib.Codec.decoding_table['234,226'] = [35012] let s:lib.Codec.decoding_table['234,227'] = [35028] let s:lib.Codec.decoding_table['234,228'] = [35032] let s:lib.Codec.decoding_table['234,229'] = [35033] let s:lib.Codec.decoding_table['234,230'] = [35037] let s:lib.Codec.decoding_table['234,231'] = [35065] let s:lib.Codec.decoding_table['234,232'] = [35074] let s:lib.Codec.decoding_table['234,233'] = [35068] let s:lib.Codec.decoding_table['234,234'] = [35060] let s:lib.Codec.decoding_table['234,235'] = [35048] let s:lib.Codec.decoding_table['234,236'] = [35058] let s:lib.Codec.decoding_table['234,237'] = [35076] let s:lib.Codec.decoding_table['234,238'] = [35084] let s:lib.Codec.decoding_table['234,239'] = [35082] let s:lib.Codec.decoding_table['234,240'] = [35091] let s:lib.Codec.decoding_table['234,241'] = [35139] let s:lib.Codec.decoding_table['234,242'] = [35102] let s:lib.Codec.decoding_table['234,243'] = [35109] let s:lib.Codec.decoding_table['234,244'] = [35114] let s:lib.Codec.decoding_table['234,245'] = [35115] let s:lib.Codec.decoding_table['234,246'] = [35137] let s:lib.Codec.decoding_table['234,247'] = [35140] let s:lib.Codec.decoding_table['234,248'] = [35131] let s:lib.Codec.decoding_table['234,249'] = [35126] let s:lib.Codec.decoding_table['234,250'] = [35128] let s:lib.Codec.decoding_table['234,251'] = [35148] let s:lib.Codec.decoding_table['234,252'] = [35101] let s:lib.Codec.decoding_table['234,253'] = [35168] let s:lib.Codec.decoding_table['234,254'] = [35166] let s:lib.Codec.decoding_table['235,161'] = [35174] let s:lib.Codec.decoding_table['235,162'] = [35172] let s:lib.Codec.decoding_table['235,163'] = [35181] let s:lib.Codec.decoding_table['235,164'] = [35178] let s:lib.Codec.decoding_table['235,165'] = [35183] let s:lib.Codec.decoding_table['235,166'] = [35188] let s:lib.Codec.decoding_table['235,167'] = [35191] let s:lib.Codec.decoding_table['235,168'] = [35198] let s:lib.Codec.decoding_table['235,169'] = [35203] let s:lib.Codec.decoding_table['235,170'] = [35208] let s:lib.Codec.decoding_table['235,171'] = [35210] let s:lib.Codec.decoding_table['235,172'] = [35219] let s:lib.Codec.decoding_table['235,173'] = [35224] let s:lib.Codec.decoding_table['235,174'] = [35233] let s:lib.Codec.decoding_table['235,175'] = [35241] let s:lib.Codec.decoding_table['235,176'] = [35238] let s:lib.Codec.decoding_table['235,177'] = [35244] let s:lib.Codec.decoding_table['235,178'] = [35247] let s:lib.Codec.decoding_table['235,179'] = [35250] let s:lib.Codec.decoding_table['235,180'] = [35258] let s:lib.Codec.decoding_table['235,181'] = [35261] let s:lib.Codec.decoding_table['235,182'] = [35263] let s:lib.Codec.decoding_table['235,183'] = [35264] let s:lib.Codec.decoding_table['235,184'] = [35290] let s:lib.Codec.decoding_table['235,185'] = [35292] let s:lib.Codec.decoding_table['235,186'] = [35293] let s:lib.Codec.decoding_table['235,187'] = [35303] let s:lib.Codec.decoding_table['235,188'] = [35316] let s:lib.Codec.decoding_table['235,189'] = [35320] let s:lib.Codec.decoding_table['235,190'] = [35331] let s:lib.Codec.decoding_table['235,191'] = [35350] let s:lib.Codec.decoding_table['235,192'] = [35344] let s:lib.Codec.decoding_table['235,193'] = [35340] let s:lib.Codec.decoding_table['235,194'] = [35355] let s:lib.Codec.decoding_table['235,195'] = [35357] let s:lib.Codec.decoding_table['235,196'] = [35365] let s:lib.Codec.decoding_table['235,197'] = [35382] let s:lib.Codec.decoding_table['235,198'] = [35393] let s:lib.Codec.decoding_table['235,199'] = [35419] let s:lib.Codec.decoding_table['235,200'] = [35410] let s:lib.Codec.decoding_table['235,201'] = [35398] let s:lib.Codec.decoding_table['235,202'] = [35400] let s:lib.Codec.decoding_table['235,203'] = [35452] let s:lib.Codec.decoding_table['235,204'] = [35437] let s:lib.Codec.decoding_table['235,205'] = [35436] let s:lib.Codec.decoding_table['235,206'] = [35426] let s:lib.Codec.decoding_table['235,207'] = [35461] let s:lib.Codec.decoding_table['235,208'] = [35458] let s:lib.Codec.decoding_table['235,209'] = [35460] let s:lib.Codec.decoding_table['235,210'] = [35496] let s:lib.Codec.decoding_table['235,211'] = [35489] let s:lib.Codec.decoding_table['235,212'] = [35473] let s:lib.Codec.decoding_table['235,213'] = [35493] let s:lib.Codec.decoding_table['235,214'] = [35494] let s:lib.Codec.decoding_table['235,215'] = [35482] let s:lib.Codec.decoding_table['235,216'] = [35491] let s:lib.Codec.decoding_table['235,217'] = [35524] let s:lib.Codec.decoding_table['235,218'] = [35533] let s:lib.Codec.decoding_table['235,219'] = [35522] let s:lib.Codec.decoding_table['235,220'] = [35546] let s:lib.Codec.decoding_table['235,221'] = [35563] let s:lib.Codec.decoding_table['235,222'] = [35571] let s:lib.Codec.decoding_table['235,223'] = [35559] let s:lib.Codec.decoding_table['235,224'] = [35556] let s:lib.Codec.decoding_table['235,225'] = [35569] let s:lib.Codec.decoding_table['235,226'] = [35604] let s:lib.Codec.decoding_table['235,227'] = [35552] let s:lib.Codec.decoding_table['235,228'] = [35554] let s:lib.Codec.decoding_table['235,229'] = [35575] let s:lib.Codec.decoding_table['235,230'] = [35550] let s:lib.Codec.decoding_table['235,231'] = [35547] let s:lib.Codec.decoding_table['235,232'] = [35596] let s:lib.Codec.decoding_table['235,233'] = [35591] let s:lib.Codec.decoding_table['235,234'] = [35610] let s:lib.Codec.decoding_table['235,235'] = [35553] let s:lib.Codec.decoding_table['235,236'] = [35606] let s:lib.Codec.decoding_table['235,237'] = [35600] let s:lib.Codec.decoding_table['235,238'] = [35607] let s:lib.Codec.decoding_table['235,239'] = [35616] let s:lib.Codec.decoding_table['235,240'] = [35635] let s:lib.Codec.decoding_table['235,241'] = [38827] let s:lib.Codec.decoding_table['235,242'] = [35622] let s:lib.Codec.decoding_table['235,243'] = [35627] let s:lib.Codec.decoding_table['235,244'] = [35646] let s:lib.Codec.decoding_table['235,245'] = [35624] let s:lib.Codec.decoding_table['235,246'] = [35649] let s:lib.Codec.decoding_table['235,247'] = [35660] let s:lib.Codec.decoding_table['235,248'] = [35663] let s:lib.Codec.decoding_table['235,249'] = [35662] let s:lib.Codec.decoding_table['235,250'] = [35657] let s:lib.Codec.decoding_table['235,251'] = [35670] let s:lib.Codec.decoding_table['235,252'] = [35675] let s:lib.Codec.decoding_table['235,253'] = [35674] let s:lib.Codec.decoding_table['235,254'] = [35691] let s:lib.Codec.decoding_table['236,161'] = [35679] let s:lib.Codec.decoding_table['236,162'] = [35692] let s:lib.Codec.decoding_table['236,163'] = [35695] let s:lib.Codec.decoding_table['236,164'] = [35700] let s:lib.Codec.decoding_table['236,165'] = [35709] let s:lib.Codec.decoding_table['236,166'] = [35712] let s:lib.Codec.decoding_table['236,167'] = [35724] let s:lib.Codec.decoding_table['236,168'] = [35726] let s:lib.Codec.decoding_table['236,169'] = [35730] let s:lib.Codec.decoding_table['236,170'] = [35731] let s:lib.Codec.decoding_table['236,171'] = [35734] let s:lib.Codec.decoding_table['236,172'] = [35737] let s:lib.Codec.decoding_table['236,173'] = [35738] let s:lib.Codec.decoding_table['236,174'] = [35898] let s:lib.Codec.decoding_table['236,175'] = [35905] let s:lib.Codec.decoding_table['236,176'] = [35903] let s:lib.Codec.decoding_table['236,177'] = [35912] let s:lib.Codec.decoding_table['236,178'] = [35916] let s:lib.Codec.decoding_table['236,179'] = [35918] let s:lib.Codec.decoding_table['236,180'] = [35920] let s:lib.Codec.decoding_table['236,181'] = [35925] let s:lib.Codec.decoding_table['236,182'] = [35938] let s:lib.Codec.decoding_table['236,183'] = [35948] let s:lib.Codec.decoding_table['236,184'] = [35960] let s:lib.Codec.decoding_table['236,185'] = [35962] let s:lib.Codec.decoding_table['236,186'] = [35970] let s:lib.Codec.decoding_table['236,187'] = [35977] let s:lib.Codec.decoding_table['236,188'] = [35973] let s:lib.Codec.decoding_table['236,189'] = [35978] let s:lib.Codec.decoding_table['236,190'] = [35981] let s:lib.Codec.decoding_table['236,191'] = [35982] let s:lib.Codec.decoding_table['236,192'] = [35988] let s:lib.Codec.decoding_table['236,193'] = [35964] let s:lib.Codec.decoding_table['236,194'] = [35992] let s:lib.Codec.decoding_table['236,195'] = [25117] let s:lib.Codec.decoding_table['236,196'] = [36013] let s:lib.Codec.decoding_table['236,197'] = [36010] let s:lib.Codec.decoding_table['236,198'] = [36029] let s:lib.Codec.decoding_table['236,199'] = [36018] let s:lib.Codec.decoding_table['236,200'] = [36019] let s:lib.Codec.decoding_table['236,201'] = [36014] let s:lib.Codec.decoding_table['236,202'] = [36022] let s:lib.Codec.decoding_table['236,203'] = [36040] let s:lib.Codec.decoding_table['236,204'] = [36033] let s:lib.Codec.decoding_table['236,205'] = [36068] let s:lib.Codec.decoding_table['236,206'] = [36067] let s:lib.Codec.decoding_table['236,207'] = [36058] let s:lib.Codec.decoding_table['236,208'] = [36093] let s:lib.Codec.decoding_table['236,209'] = [36090] let s:lib.Codec.decoding_table['236,210'] = [36091] let s:lib.Codec.decoding_table['236,211'] = [36100] let s:lib.Codec.decoding_table['236,212'] = [36101] let s:lib.Codec.decoding_table['236,213'] = [36106] let s:lib.Codec.decoding_table['236,214'] = [36103] let s:lib.Codec.decoding_table['236,215'] = [36111] let s:lib.Codec.decoding_table['236,216'] = [36109] let s:lib.Codec.decoding_table['236,217'] = [36112] let s:lib.Codec.decoding_table['236,218'] = [40782] let s:lib.Codec.decoding_table['236,219'] = [36115] let s:lib.Codec.decoding_table['236,220'] = [36045] let s:lib.Codec.decoding_table['236,221'] = [36116] let s:lib.Codec.decoding_table['236,222'] = [36118] let s:lib.Codec.decoding_table['236,223'] = [36199] let s:lib.Codec.decoding_table['236,224'] = [36205] let s:lib.Codec.decoding_table['236,225'] = [36209] let s:lib.Codec.decoding_table['236,226'] = [36211] let s:lib.Codec.decoding_table['236,227'] = [36225] let s:lib.Codec.decoding_table['236,228'] = [36249] let s:lib.Codec.decoding_table['236,229'] = [36290] let s:lib.Codec.decoding_table['236,230'] = [36286] let s:lib.Codec.decoding_table['236,231'] = [36282] let s:lib.Codec.decoding_table['236,232'] = [36303] let s:lib.Codec.decoding_table['236,233'] = [36314] let s:lib.Codec.decoding_table['236,234'] = [36310] let s:lib.Codec.decoding_table['236,235'] = [36300] let s:lib.Codec.decoding_table['236,236'] = [36315] let s:lib.Codec.decoding_table['236,237'] = [36299] let s:lib.Codec.decoding_table['236,238'] = [36330] let s:lib.Codec.decoding_table['236,239'] = [36331] let s:lib.Codec.decoding_table['236,240'] = [36319] let s:lib.Codec.decoding_table['236,241'] = [36323] let s:lib.Codec.decoding_table['236,242'] = [36348] let s:lib.Codec.decoding_table['236,243'] = [36360] let s:lib.Codec.decoding_table['236,244'] = [36361] let s:lib.Codec.decoding_table['236,245'] = [36351] let s:lib.Codec.decoding_table['236,246'] = [36381] let s:lib.Codec.decoding_table['236,247'] = [36382] let s:lib.Codec.decoding_table['236,248'] = [36368] let s:lib.Codec.decoding_table['236,249'] = [36383] let s:lib.Codec.decoding_table['236,250'] = [36418] let s:lib.Codec.decoding_table['236,251'] = [36405] let s:lib.Codec.decoding_table['236,252'] = [36400] let s:lib.Codec.decoding_table['236,253'] = [36404] let s:lib.Codec.decoding_table['236,254'] = [36426] let s:lib.Codec.decoding_table['237,161'] = [36423] let s:lib.Codec.decoding_table['237,162'] = [36425] let s:lib.Codec.decoding_table['237,163'] = [36428] let s:lib.Codec.decoding_table['237,164'] = [36432] let s:lib.Codec.decoding_table['237,165'] = [36424] let s:lib.Codec.decoding_table['237,166'] = [36441] let s:lib.Codec.decoding_table['237,167'] = [36452] let s:lib.Codec.decoding_table['237,168'] = [36448] let s:lib.Codec.decoding_table['237,169'] = [36394] let s:lib.Codec.decoding_table['237,170'] = [36451] let s:lib.Codec.decoding_table['237,171'] = [36437] let s:lib.Codec.decoding_table['237,172'] = [36470] let s:lib.Codec.decoding_table['237,173'] = [36466] let s:lib.Codec.decoding_table['237,174'] = [36476] let s:lib.Codec.decoding_table['237,175'] = [36481] let s:lib.Codec.decoding_table['237,176'] = [36487] let s:lib.Codec.decoding_table['237,177'] = [36485] let s:lib.Codec.decoding_table['237,178'] = [36484] let s:lib.Codec.decoding_table['237,179'] = [36491] let s:lib.Codec.decoding_table['237,180'] = [36490] let s:lib.Codec.decoding_table['237,181'] = [36499] let s:lib.Codec.decoding_table['237,182'] = [36497] let s:lib.Codec.decoding_table['237,183'] = [36500] let s:lib.Codec.decoding_table['237,184'] = [36505] let s:lib.Codec.decoding_table['237,185'] = [36522] let s:lib.Codec.decoding_table['237,186'] = [36513] let s:lib.Codec.decoding_table['237,187'] = [36524] let s:lib.Codec.decoding_table['237,188'] = [36528] let s:lib.Codec.decoding_table['237,189'] = [36550] let s:lib.Codec.decoding_table['237,190'] = [36529] let s:lib.Codec.decoding_table['237,191'] = [36542] let s:lib.Codec.decoding_table['237,192'] = [36549] let s:lib.Codec.decoding_table['237,193'] = [36552] let s:lib.Codec.decoding_table['237,194'] = [36555] let s:lib.Codec.decoding_table['237,195'] = [36571] let s:lib.Codec.decoding_table['237,196'] = [36579] let s:lib.Codec.decoding_table['237,197'] = [36604] let s:lib.Codec.decoding_table['237,198'] = [36603] let s:lib.Codec.decoding_table['237,199'] = [36587] let s:lib.Codec.decoding_table['237,200'] = [36606] let s:lib.Codec.decoding_table['237,201'] = [36618] let s:lib.Codec.decoding_table['237,202'] = [36613] let s:lib.Codec.decoding_table['237,203'] = [36629] let s:lib.Codec.decoding_table['237,204'] = [36626] let s:lib.Codec.decoding_table['237,205'] = [36633] let s:lib.Codec.decoding_table['237,206'] = [36627] let s:lib.Codec.decoding_table['237,207'] = [36636] let s:lib.Codec.decoding_table['237,208'] = [36639] let s:lib.Codec.decoding_table['237,209'] = [36635] let s:lib.Codec.decoding_table['237,210'] = [36620] let s:lib.Codec.decoding_table['237,211'] = [36646] let s:lib.Codec.decoding_table['237,212'] = [36659] let s:lib.Codec.decoding_table['237,213'] = [36667] let s:lib.Codec.decoding_table['237,214'] = [36665] let s:lib.Codec.decoding_table['237,215'] = [36677] let s:lib.Codec.decoding_table['237,216'] = [36674] let s:lib.Codec.decoding_table['237,217'] = [36670] let s:lib.Codec.decoding_table['237,218'] = [36684] let s:lib.Codec.decoding_table['237,219'] = [36681] let s:lib.Codec.decoding_table['237,220'] = [36678] let s:lib.Codec.decoding_table['237,221'] = [36686] let s:lib.Codec.decoding_table['237,222'] = [36695] let s:lib.Codec.decoding_table['237,223'] = [36700] let s:lib.Codec.decoding_table['237,224'] = [36706] let s:lib.Codec.decoding_table['237,225'] = [36707] let s:lib.Codec.decoding_table['237,226'] = [36708] let s:lib.Codec.decoding_table['237,227'] = [36764] let s:lib.Codec.decoding_table['237,228'] = [36767] let s:lib.Codec.decoding_table['237,229'] = [36771] let s:lib.Codec.decoding_table['237,230'] = [36781] let s:lib.Codec.decoding_table['237,231'] = [36783] let s:lib.Codec.decoding_table['237,232'] = [36791] let s:lib.Codec.decoding_table['237,233'] = [36826] let s:lib.Codec.decoding_table['237,234'] = [36837] let s:lib.Codec.decoding_table['237,235'] = [36834] let s:lib.Codec.decoding_table['237,236'] = [36842] let s:lib.Codec.decoding_table['237,237'] = [36847] let s:lib.Codec.decoding_table['237,238'] = [36999] let s:lib.Codec.decoding_table['237,239'] = [36852] let s:lib.Codec.decoding_table['237,240'] = [36869] let s:lib.Codec.decoding_table['237,241'] = [36857] let s:lib.Codec.decoding_table['237,242'] = [36858] let s:lib.Codec.decoding_table['237,243'] = [36881] let s:lib.Codec.decoding_table['237,244'] = [36885] let s:lib.Codec.decoding_table['237,245'] = [36897] let s:lib.Codec.decoding_table['237,246'] = [36877] let s:lib.Codec.decoding_table['237,247'] = [36894] let s:lib.Codec.decoding_table['237,248'] = [36886] let s:lib.Codec.decoding_table['237,249'] = [36875] let s:lib.Codec.decoding_table['237,250'] = [36903] let s:lib.Codec.decoding_table['237,251'] = [36918] let s:lib.Codec.decoding_table['237,252'] = [36917] let s:lib.Codec.decoding_table['237,253'] = [36921] let s:lib.Codec.decoding_table['237,254'] = [36856] let s:lib.Codec.decoding_table['238,161'] = [36943] let s:lib.Codec.decoding_table['238,162'] = [36944] let s:lib.Codec.decoding_table['238,163'] = [36945] let s:lib.Codec.decoding_table['238,164'] = [36946] let s:lib.Codec.decoding_table['238,165'] = [36878] let s:lib.Codec.decoding_table['238,166'] = [36937] let s:lib.Codec.decoding_table['238,167'] = [36926] let s:lib.Codec.decoding_table['238,168'] = [36950] let s:lib.Codec.decoding_table['238,169'] = [36952] let s:lib.Codec.decoding_table['238,170'] = [36958] let s:lib.Codec.decoding_table['238,171'] = [36968] let s:lib.Codec.decoding_table['238,172'] = [36975] let s:lib.Codec.decoding_table['238,173'] = [36982] let s:lib.Codec.decoding_table['238,174'] = [38568] let s:lib.Codec.decoding_table['238,175'] = [36978] let s:lib.Codec.decoding_table['238,176'] = [36994] let s:lib.Codec.decoding_table['238,177'] = [36989] let s:lib.Codec.decoding_table['238,178'] = [36993] let s:lib.Codec.decoding_table['238,179'] = [36992] let s:lib.Codec.decoding_table['238,180'] = [37002] let s:lib.Codec.decoding_table['238,181'] = [37001] let s:lib.Codec.decoding_table['238,182'] = [37007] let s:lib.Codec.decoding_table['238,183'] = [37032] let s:lib.Codec.decoding_table['238,184'] = [37039] let s:lib.Codec.decoding_table['238,185'] = [37041] let s:lib.Codec.decoding_table['238,186'] = [37045] let s:lib.Codec.decoding_table['238,187'] = [37090] let s:lib.Codec.decoding_table['238,188'] = [37092] let s:lib.Codec.decoding_table['238,189'] = [25160] let s:lib.Codec.decoding_table['238,190'] = [37083] let s:lib.Codec.decoding_table['238,191'] = [37122] let s:lib.Codec.decoding_table['238,192'] = [37138] let s:lib.Codec.decoding_table['238,193'] = [37145] let s:lib.Codec.decoding_table['238,194'] = [37170] let s:lib.Codec.decoding_table['238,195'] = [37168] let s:lib.Codec.decoding_table['238,196'] = [37194] let s:lib.Codec.decoding_table['238,197'] = [37206] let s:lib.Codec.decoding_table['238,198'] = [37208] let s:lib.Codec.decoding_table['238,199'] = [37219] let s:lib.Codec.decoding_table['238,200'] = [37221] let s:lib.Codec.decoding_table['238,201'] = [37225] let s:lib.Codec.decoding_table['238,202'] = [37235] let s:lib.Codec.decoding_table['238,203'] = [37234] let s:lib.Codec.decoding_table['238,204'] = [37259] let s:lib.Codec.decoding_table['238,205'] = [37257] let s:lib.Codec.decoding_table['238,206'] = [37250] let s:lib.Codec.decoding_table['238,207'] = [37282] let s:lib.Codec.decoding_table['238,208'] = [37291] let s:lib.Codec.decoding_table['238,209'] = [37295] let s:lib.Codec.decoding_table['238,210'] = [37290] let s:lib.Codec.decoding_table['238,211'] = [37301] let s:lib.Codec.decoding_table['238,212'] = [37300] let s:lib.Codec.decoding_table['238,213'] = [37306] let s:lib.Codec.decoding_table['238,214'] = [37312] let s:lib.Codec.decoding_table['238,215'] = [37313] let s:lib.Codec.decoding_table['238,216'] = [37321] let s:lib.Codec.decoding_table['238,217'] = [37323] let s:lib.Codec.decoding_table['238,218'] = [37328] let s:lib.Codec.decoding_table['238,219'] = [37334] let s:lib.Codec.decoding_table['238,220'] = [37343] let s:lib.Codec.decoding_table['238,221'] = [37345] let s:lib.Codec.decoding_table['238,222'] = [37339] let s:lib.Codec.decoding_table['238,223'] = [37372] let s:lib.Codec.decoding_table['238,224'] = [37365] let s:lib.Codec.decoding_table['238,225'] = [37366] let s:lib.Codec.decoding_table['238,226'] = [37406] let s:lib.Codec.decoding_table['238,227'] = [37375] let s:lib.Codec.decoding_table['238,228'] = [37396] let s:lib.Codec.decoding_table['238,229'] = [37420] let s:lib.Codec.decoding_table['238,230'] = [37397] let s:lib.Codec.decoding_table['238,231'] = [37393] let s:lib.Codec.decoding_table['238,232'] = [37470] let s:lib.Codec.decoding_table['238,233'] = [37463] let s:lib.Codec.decoding_table['238,234'] = [37445] let s:lib.Codec.decoding_table['238,235'] = [37449] let s:lib.Codec.decoding_table['238,236'] = [37476] let s:lib.Codec.decoding_table['238,237'] = [37448] let s:lib.Codec.decoding_table['238,238'] = [37525] let s:lib.Codec.decoding_table['238,239'] = [37439] let s:lib.Codec.decoding_table['238,240'] = [37451] let s:lib.Codec.decoding_table['238,241'] = [37456] let s:lib.Codec.decoding_table['238,242'] = [37532] let s:lib.Codec.decoding_table['238,243'] = [37526] let s:lib.Codec.decoding_table['238,244'] = [37523] let s:lib.Codec.decoding_table['238,245'] = [37531] let s:lib.Codec.decoding_table['238,246'] = [37466] let s:lib.Codec.decoding_table['238,247'] = [37583] let s:lib.Codec.decoding_table['238,248'] = [37561] let s:lib.Codec.decoding_table['238,249'] = [37559] let s:lib.Codec.decoding_table['238,250'] = [37609] let s:lib.Codec.decoding_table['238,251'] = [37647] let s:lib.Codec.decoding_table['238,252'] = [37626] let s:lib.Codec.decoding_table['238,253'] = [37700] let s:lib.Codec.decoding_table['238,254'] = [37678] let s:lib.Codec.decoding_table['239,161'] = [37657] let s:lib.Codec.decoding_table['239,162'] = [37666] let s:lib.Codec.decoding_table['239,163'] = [37658] let s:lib.Codec.decoding_table['239,164'] = [37667] let s:lib.Codec.decoding_table['239,165'] = [37690] let s:lib.Codec.decoding_table['239,166'] = [37685] let s:lib.Codec.decoding_table['239,167'] = [37691] let s:lib.Codec.decoding_table['239,168'] = [37724] let s:lib.Codec.decoding_table['239,169'] = [37728] let s:lib.Codec.decoding_table['239,170'] = [37756] let s:lib.Codec.decoding_table['239,171'] = [37742] let s:lib.Codec.decoding_table['239,172'] = [37718] let s:lib.Codec.decoding_table['239,173'] = [37808] let s:lib.Codec.decoding_table['239,174'] = [37804] let s:lib.Codec.decoding_table['239,175'] = [37805] let s:lib.Codec.decoding_table['239,176'] = [37780] let s:lib.Codec.decoding_table['239,177'] = [37817] let s:lib.Codec.decoding_table['239,178'] = [37846] let s:lib.Codec.decoding_table['239,179'] = [37847] let s:lib.Codec.decoding_table['239,180'] = [37864] let s:lib.Codec.decoding_table['239,181'] = [37861] let s:lib.Codec.decoding_table['239,182'] = [37848] let s:lib.Codec.decoding_table['239,183'] = [37827] let s:lib.Codec.decoding_table['239,184'] = [37853] let s:lib.Codec.decoding_table['239,185'] = [37840] let s:lib.Codec.decoding_table['239,186'] = [37832] let s:lib.Codec.decoding_table['239,187'] = [37860] let s:lib.Codec.decoding_table['239,188'] = [37914] let s:lib.Codec.decoding_table['239,189'] = [37908] let s:lib.Codec.decoding_table['239,190'] = [37907] let s:lib.Codec.decoding_table['239,191'] = [37891] let s:lib.Codec.decoding_table['239,192'] = [37895] let s:lib.Codec.decoding_table['239,193'] = [37904] let s:lib.Codec.decoding_table['239,194'] = [37942] let s:lib.Codec.decoding_table['239,195'] = [37931] let s:lib.Codec.decoding_table['239,196'] = [37941] let s:lib.Codec.decoding_table['239,197'] = [37921] let s:lib.Codec.decoding_table['239,198'] = [37946] let s:lib.Codec.decoding_table['239,199'] = [37953] let s:lib.Codec.decoding_table['239,200'] = [37970] let s:lib.Codec.decoding_table['239,201'] = [37956] let s:lib.Codec.decoding_table['239,202'] = [37979] let s:lib.Codec.decoding_table['239,203'] = [37984] let s:lib.Codec.decoding_table['239,204'] = [37986] let s:lib.Codec.decoding_table['239,205'] = [37982] let s:lib.Codec.decoding_table['239,206'] = [37994] let s:lib.Codec.decoding_table['239,207'] = [37417] let s:lib.Codec.decoding_table['239,208'] = [38000] let s:lib.Codec.decoding_table['239,209'] = [38005] let s:lib.Codec.decoding_table['239,210'] = [38007] let s:lib.Codec.decoding_table['239,211'] = [38013] let s:lib.Codec.decoding_table['239,212'] = [37978] let s:lib.Codec.decoding_table['239,213'] = [38012] let s:lib.Codec.decoding_table['239,214'] = [38014] let s:lib.Codec.decoding_table['239,215'] = [38017] let s:lib.Codec.decoding_table['239,216'] = [38015] let s:lib.Codec.decoding_table['239,217'] = [38274] let s:lib.Codec.decoding_table['239,218'] = [38279] let s:lib.Codec.decoding_table['239,219'] = [38282] let s:lib.Codec.decoding_table['239,220'] = [38292] let s:lib.Codec.decoding_table['239,221'] = [38294] let s:lib.Codec.decoding_table['239,222'] = [38296] let s:lib.Codec.decoding_table['239,223'] = [38297] let s:lib.Codec.decoding_table['239,224'] = [38304] let s:lib.Codec.decoding_table['239,225'] = [38312] let s:lib.Codec.decoding_table['239,226'] = [38311] let s:lib.Codec.decoding_table['239,227'] = [38317] let s:lib.Codec.decoding_table['239,228'] = [38332] let s:lib.Codec.decoding_table['239,229'] = [38331] let s:lib.Codec.decoding_table['239,230'] = [38329] let s:lib.Codec.decoding_table['239,231'] = [38334] let s:lib.Codec.decoding_table['239,232'] = [38346] let s:lib.Codec.decoding_table['239,233'] = [28662] let s:lib.Codec.decoding_table['239,234'] = [38339] let s:lib.Codec.decoding_table['239,235'] = [38349] let s:lib.Codec.decoding_table['239,236'] = [38348] let s:lib.Codec.decoding_table['239,237'] = [38357] let s:lib.Codec.decoding_table['239,238'] = [38356] let s:lib.Codec.decoding_table['239,239'] = [38358] let s:lib.Codec.decoding_table['239,240'] = [38364] let s:lib.Codec.decoding_table['239,241'] = [38369] let s:lib.Codec.decoding_table['239,242'] = [38373] let s:lib.Codec.decoding_table['239,243'] = [38370] let s:lib.Codec.decoding_table['239,244'] = [38433] let s:lib.Codec.decoding_table['239,245'] = [38440] let s:lib.Codec.decoding_table['239,246'] = [38446] let s:lib.Codec.decoding_table['239,247'] = [38447] let s:lib.Codec.decoding_table['239,248'] = [38466] let s:lib.Codec.decoding_table['239,249'] = [38476] let s:lib.Codec.decoding_table['239,250'] = [38479] let s:lib.Codec.decoding_table['239,251'] = [38475] let s:lib.Codec.decoding_table['239,252'] = [38519] let s:lib.Codec.decoding_table['239,253'] = [38492] let s:lib.Codec.decoding_table['239,254'] = [38494] let s:lib.Codec.decoding_table['240,161'] = [38493] let s:lib.Codec.decoding_table['240,162'] = [38495] let s:lib.Codec.decoding_table['240,163'] = [38502] let s:lib.Codec.decoding_table['240,164'] = [38514] let s:lib.Codec.decoding_table['240,165'] = [38508] let s:lib.Codec.decoding_table['240,166'] = [38541] let s:lib.Codec.decoding_table['240,167'] = [38552] let s:lib.Codec.decoding_table['240,168'] = [38549] let s:lib.Codec.decoding_table['240,169'] = [38551] let s:lib.Codec.decoding_table['240,170'] = [38570] let s:lib.Codec.decoding_table['240,171'] = [38567] let s:lib.Codec.decoding_table['240,172'] = [38577] let s:lib.Codec.decoding_table['240,173'] = [38578] let s:lib.Codec.decoding_table['240,174'] = [38576] let s:lib.Codec.decoding_table['240,175'] = [38580] let s:lib.Codec.decoding_table['240,176'] = [38582] let s:lib.Codec.decoding_table['240,177'] = [38584] let s:lib.Codec.decoding_table['240,178'] = [38585] let s:lib.Codec.decoding_table['240,179'] = [38606] let s:lib.Codec.decoding_table['240,180'] = [38603] let s:lib.Codec.decoding_table['240,181'] = [38601] let s:lib.Codec.decoding_table['240,182'] = [38605] let s:lib.Codec.decoding_table['240,183'] = [35149] let s:lib.Codec.decoding_table['240,184'] = [38620] let s:lib.Codec.decoding_table['240,185'] = [38669] let s:lib.Codec.decoding_table['240,186'] = [38613] let s:lib.Codec.decoding_table['240,187'] = [38649] let s:lib.Codec.decoding_table['240,188'] = [38660] let s:lib.Codec.decoding_table['240,189'] = [38662] let s:lib.Codec.decoding_table['240,190'] = [38664] let s:lib.Codec.decoding_table['240,191'] = [38675] let s:lib.Codec.decoding_table['240,192'] = [38670] let s:lib.Codec.decoding_table['240,193'] = [38673] let s:lib.Codec.decoding_table['240,194'] = [38671] let s:lib.Codec.decoding_table['240,195'] = [38678] let s:lib.Codec.decoding_table['240,196'] = [38681] let s:lib.Codec.decoding_table['240,197'] = [38692] let s:lib.Codec.decoding_table['240,198'] = [38698] let s:lib.Codec.decoding_table['240,199'] = [38704] let s:lib.Codec.decoding_table['240,200'] = [38713] let s:lib.Codec.decoding_table['240,201'] = [38717] let s:lib.Codec.decoding_table['240,202'] = [38718] let s:lib.Codec.decoding_table['240,203'] = [38724] let s:lib.Codec.decoding_table['240,204'] = [38726] let s:lib.Codec.decoding_table['240,205'] = [38728] let s:lib.Codec.decoding_table['240,206'] = [38722] let s:lib.Codec.decoding_table['240,207'] = [38729] let s:lib.Codec.decoding_table['240,208'] = [38748] let s:lib.Codec.decoding_table['240,209'] = [38752] let s:lib.Codec.decoding_table['240,210'] = [38756] let s:lib.Codec.decoding_table['240,211'] = [38758] let s:lib.Codec.decoding_table['240,212'] = [38760] let s:lib.Codec.decoding_table['240,213'] = [21202] let s:lib.Codec.decoding_table['240,214'] = [38763] let s:lib.Codec.decoding_table['240,215'] = [38769] let s:lib.Codec.decoding_table['240,216'] = [38777] let s:lib.Codec.decoding_table['240,217'] = [38789] let s:lib.Codec.decoding_table['240,218'] = [38780] let s:lib.Codec.decoding_table['240,219'] = [38785] let s:lib.Codec.decoding_table['240,220'] = [38778] let s:lib.Codec.decoding_table['240,221'] = [38790] let s:lib.Codec.decoding_table['240,222'] = [38795] let s:lib.Codec.decoding_table['240,223'] = [38799] let s:lib.Codec.decoding_table['240,224'] = [38800] let s:lib.Codec.decoding_table['240,225'] = [38812] let s:lib.Codec.decoding_table['240,226'] = [38824] let s:lib.Codec.decoding_table['240,227'] = [38822] let s:lib.Codec.decoding_table['240,228'] = [38819] let s:lib.Codec.decoding_table['240,229'] = [38835] let s:lib.Codec.decoding_table['240,230'] = [38836] let s:lib.Codec.decoding_table['240,231'] = [38851] let s:lib.Codec.decoding_table['240,232'] = [38854] let s:lib.Codec.decoding_table['240,233'] = [38856] let s:lib.Codec.decoding_table['240,234'] = [38859] let s:lib.Codec.decoding_table['240,235'] = [38876] let s:lib.Codec.decoding_table['240,236'] = [38893] let s:lib.Codec.decoding_table['240,237'] = [40783] let s:lib.Codec.decoding_table['240,238'] = [38898] let s:lib.Codec.decoding_table['240,239'] = [31455] let s:lib.Codec.decoding_table['240,240'] = [38902] let s:lib.Codec.decoding_table['240,241'] = [38901] let s:lib.Codec.decoding_table['240,242'] = [38927] let s:lib.Codec.decoding_table['240,243'] = [38924] let s:lib.Codec.decoding_table['240,244'] = [38968] let s:lib.Codec.decoding_table['240,245'] = [38948] let s:lib.Codec.decoding_table['240,246'] = [38945] let s:lib.Codec.decoding_table['240,247'] = [38967] let s:lib.Codec.decoding_table['240,248'] = [38973] let s:lib.Codec.decoding_table['240,249'] = [38982] let s:lib.Codec.decoding_table['240,250'] = [38991] let s:lib.Codec.decoding_table['240,251'] = [38987] let s:lib.Codec.decoding_table['240,252'] = [39019] let s:lib.Codec.decoding_table['240,253'] = [39023] let s:lib.Codec.decoding_table['240,254'] = [39024] let s:lib.Codec.decoding_table['241,161'] = [39025] let s:lib.Codec.decoding_table['241,162'] = [39028] let s:lib.Codec.decoding_table['241,163'] = [39027] let s:lib.Codec.decoding_table['241,164'] = [39082] let s:lib.Codec.decoding_table['241,165'] = [39087] let s:lib.Codec.decoding_table['241,166'] = [39089] let s:lib.Codec.decoding_table['241,167'] = [39094] let s:lib.Codec.decoding_table['241,168'] = [39108] let s:lib.Codec.decoding_table['241,169'] = [39107] let s:lib.Codec.decoding_table['241,170'] = [39110] let s:lib.Codec.decoding_table['241,171'] = [39145] let s:lib.Codec.decoding_table['241,172'] = [39147] let s:lib.Codec.decoding_table['241,173'] = [39171] let s:lib.Codec.decoding_table['241,174'] = [39177] let s:lib.Codec.decoding_table['241,175'] = [39186] let s:lib.Codec.decoding_table['241,176'] = [39188] let s:lib.Codec.decoding_table['241,177'] = [39192] let s:lib.Codec.decoding_table['241,178'] = [39201] let s:lib.Codec.decoding_table['241,179'] = [39197] let s:lib.Codec.decoding_table['241,180'] = [39198] let s:lib.Codec.decoding_table['241,181'] = [39204] let s:lib.Codec.decoding_table['241,182'] = [39200] let s:lib.Codec.decoding_table['241,183'] = [39212] let s:lib.Codec.decoding_table['241,184'] = [39214] let s:lib.Codec.decoding_table['241,185'] = [39229] let s:lib.Codec.decoding_table['241,186'] = [39230] let s:lib.Codec.decoding_table['241,187'] = [39234] let s:lib.Codec.decoding_table['241,188'] = [39241] let s:lib.Codec.decoding_table['241,189'] = [39237] let s:lib.Codec.decoding_table['241,190'] = [39248] let s:lib.Codec.decoding_table['241,191'] = [39243] let s:lib.Codec.decoding_table['241,192'] = [39249] let s:lib.Codec.decoding_table['241,193'] = [39250] let s:lib.Codec.decoding_table['241,194'] = [39244] let s:lib.Codec.decoding_table['241,195'] = [39253] let s:lib.Codec.decoding_table['241,196'] = [39319] let s:lib.Codec.decoding_table['241,197'] = [39320] let s:lib.Codec.decoding_table['241,198'] = [39333] let s:lib.Codec.decoding_table['241,199'] = [39341] let s:lib.Codec.decoding_table['241,200'] = [39342] let s:lib.Codec.decoding_table['241,201'] = [39356] let s:lib.Codec.decoding_table['241,202'] = [39391] let s:lib.Codec.decoding_table['241,203'] = [39387] let s:lib.Codec.decoding_table['241,204'] = [39389] let s:lib.Codec.decoding_table['241,205'] = [39384] let s:lib.Codec.decoding_table['241,206'] = [39377] let s:lib.Codec.decoding_table['241,207'] = [39405] let s:lib.Codec.decoding_table['241,208'] = [39406] let s:lib.Codec.decoding_table['241,209'] = [39409] let s:lib.Codec.decoding_table['241,210'] = [39410] let s:lib.Codec.decoding_table['241,211'] = [39419] let s:lib.Codec.decoding_table['241,212'] = [39416] let s:lib.Codec.decoding_table['241,213'] = [39425] let s:lib.Codec.decoding_table['241,214'] = [39439] let s:lib.Codec.decoding_table['241,215'] = [39429] let s:lib.Codec.decoding_table['241,216'] = [39394] let s:lib.Codec.decoding_table['241,217'] = [39449] let s:lib.Codec.decoding_table['241,218'] = [39467] let s:lib.Codec.decoding_table['241,219'] = [39479] let s:lib.Codec.decoding_table['241,220'] = [39493] let s:lib.Codec.decoding_table['241,221'] = [39490] let s:lib.Codec.decoding_table['241,222'] = [39488] let s:lib.Codec.decoding_table['241,223'] = [39491] let s:lib.Codec.decoding_table['241,224'] = [39486] let s:lib.Codec.decoding_table['241,225'] = [39509] let s:lib.Codec.decoding_table['241,226'] = [39501] let s:lib.Codec.decoding_table['241,227'] = [39515] let s:lib.Codec.decoding_table['241,228'] = [39511] let s:lib.Codec.decoding_table['241,229'] = [39519] let s:lib.Codec.decoding_table['241,230'] = [39522] let s:lib.Codec.decoding_table['241,231'] = [39525] let s:lib.Codec.decoding_table['241,232'] = [39524] let s:lib.Codec.decoding_table['241,233'] = [39529] let s:lib.Codec.decoding_table['241,234'] = [39531] let s:lib.Codec.decoding_table['241,235'] = [39530] let s:lib.Codec.decoding_table['241,236'] = [39597] let s:lib.Codec.decoding_table['241,237'] = [39600] let s:lib.Codec.decoding_table['241,238'] = [39612] let s:lib.Codec.decoding_table['241,239'] = [39616] let s:lib.Codec.decoding_table['241,240'] = [39631] let s:lib.Codec.decoding_table['241,241'] = [39633] let s:lib.Codec.decoding_table['241,242'] = [39635] let s:lib.Codec.decoding_table['241,243'] = [39636] let s:lib.Codec.decoding_table['241,244'] = [39646] let s:lib.Codec.decoding_table['241,245'] = [39647] let s:lib.Codec.decoding_table['241,246'] = [39650] let s:lib.Codec.decoding_table['241,247'] = [39651] let s:lib.Codec.decoding_table['241,248'] = [39654] let s:lib.Codec.decoding_table['241,249'] = [39663] let s:lib.Codec.decoding_table['241,250'] = [39659] let s:lib.Codec.decoding_table['241,251'] = [39662] let s:lib.Codec.decoding_table['241,252'] = [39668] let s:lib.Codec.decoding_table['241,253'] = [39665] let s:lib.Codec.decoding_table['241,254'] = [39671] let s:lib.Codec.decoding_table['242,161'] = [39675] let s:lib.Codec.decoding_table['242,162'] = [39686] let s:lib.Codec.decoding_table['242,163'] = [39704] let s:lib.Codec.decoding_table['242,164'] = [39706] let s:lib.Codec.decoding_table['242,165'] = [39711] let s:lib.Codec.decoding_table['242,166'] = [39714] let s:lib.Codec.decoding_table['242,167'] = [39715] let s:lib.Codec.decoding_table['242,168'] = [39717] let s:lib.Codec.decoding_table['242,169'] = [39719] let s:lib.Codec.decoding_table['242,170'] = [39720] let s:lib.Codec.decoding_table['242,171'] = [39721] let s:lib.Codec.decoding_table['242,172'] = [39722] let s:lib.Codec.decoding_table['242,173'] = [39726] let s:lib.Codec.decoding_table['242,174'] = [39727] let s:lib.Codec.decoding_table['242,175'] = [39730] let s:lib.Codec.decoding_table['242,176'] = [39748] let s:lib.Codec.decoding_table['242,177'] = [39747] let s:lib.Codec.decoding_table['242,178'] = [39759] let s:lib.Codec.decoding_table['242,179'] = [39757] let s:lib.Codec.decoding_table['242,180'] = [39758] let s:lib.Codec.decoding_table['242,181'] = [39761] let s:lib.Codec.decoding_table['242,182'] = [39768] let s:lib.Codec.decoding_table['242,183'] = [39796] let s:lib.Codec.decoding_table['242,184'] = [39827] let s:lib.Codec.decoding_table['242,185'] = [39811] let s:lib.Codec.decoding_table['242,186'] = [39825] let s:lib.Codec.decoding_table['242,187'] = [39830] let s:lib.Codec.decoding_table['242,188'] = [39831] let s:lib.Codec.decoding_table['242,189'] = [39839] let s:lib.Codec.decoding_table['242,190'] = [39840] let s:lib.Codec.decoding_table['242,191'] = [39848] let s:lib.Codec.decoding_table['242,192'] = [39860] let s:lib.Codec.decoding_table['242,193'] = [39872] let s:lib.Codec.decoding_table['242,194'] = [39882] let s:lib.Codec.decoding_table['242,195'] = [39865] let s:lib.Codec.decoding_table['242,196'] = [39878] let s:lib.Codec.decoding_table['242,197'] = [39887] let s:lib.Codec.decoding_table['242,198'] = [39889] let s:lib.Codec.decoding_table['242,199'] = [39890] let s:lib.Codec.decoding_table['242,200'] = [39907] let s:lib.Codec.decoding_table['242,201'] = [39906] let s:lib.Codec.decoding_table['242,202'] = [39908] let s:lib.Codec.decoding_table['242,203'] = [39892] let s:lib.Codec.decoding_table['242,204'] = [39905] let s:lib.Codec.decoding_table['242,205'] = [39994] let s:lib.Codec.decoding_table['242,206'] = [39922] let s:lib.Codec.decoding_table['242,207'] = [39921] let s:lib.Codec.decoding_table['242,208'] = [39920] let s:lib.Codec.decoding_table['242,209'] = [39957] let s:lib.Codec.decoding_table['242,210'] = [39956] let s:lib.Codec.decoding_table['242,211'] = [39945] let s:lib.Codec.decoding_table['242,212'] = [39955] let s:lib.Codec.decoding_table['242,213'] = [39948] let s:lib.Codec.decoding_table['242,214'] = [39942] let s:lib.Codec.decoding_table['242,215'] = [39944] let s:lib.Codec.decoding_table['242,216'] = [39954] let s:lib.Codec.decoding_table['242,217'] = [39946] let s:lib.Codec.decoding_table['242,218'] = [39940] let s:lib.Codec.decoding_table['242,219'] = [39982] let s:lib.Codec.decoding_table['242,220'] = [39963] let s:lib.Codec.decoding_table['242,221'] = [39973] let s:lib.Codec.decoding_table['242,222'] = [39972] let s:lib.Codec.decoding_table['242,223'] = [39969] let s:lib.Codec.decoding_table['242,224'] = [39984] let s:lib.Codec.decoding_table['242,225'] = [40007] let s:lib.Codec.decoding_table['242,226'] = [39986] let s:lib.Codec.decoding_table['242,227'] = [40006] let s:lib.Codec.decoding_table['242,228'] = [39998] let s:lib.Codec.decoding_table['242,229'] = [40026] let s:lib.Codec.decoding_table['242,230'] = [40032] let s:lib.Codec.decoding_table['242,231'] = [40039] let s:lib.Codec.decoding_table['242,232'] = [40054] let s:lib.Codec.decoding_table['242,233'] = [40056] let s:lib.Codec.decoding_table['242,234'] = [40167] let s:lib.Codec.decoding_table['242,235'] = [40172] let s:lib.Codec.decoding_table['242,236'] = [40176] let s:lib.Codec.decoding_table['242,237'] = [40201] let s:lib.Codec.decoding_table['242,238'] = [40200] let s:lib.Codec.decoding_table['242,239'] = [40171] let s:lib.Codec.decoding_table['242,240'] = [40195] let s:lib.Codec.decoding_table['242,241'] = [40198] let s:lib.Codec.decoding_table['242,242'] = [40234] let s:lib.Codec.decoding_table['242,243'] = [40230] let s:lib.Codec.decoding_table['242,244'] = [40367] let s:lib.Codec.decoding_table['242,245'] = [40227] let s:lib.Codec.decoding_table['242,246'] = [40223] let s:lib.Codec.decoding_table['242,247'] = [40260] let s:lib.Codec.decoding_table['242,248'] = [40213] let s:lib.Codec.decoding_table['242,249'] = [40210] let s:lib.Codec.decoding_table['242,250'] = [40257] let s:lib.Codec.decoding_table['242,251'] = [40255] let s:lib.Codec.decoding_table['242,252'] = [40254] let s:lib.Codec.decoding_table['242,253'] = [40262] let s:lib.Codec.decoding_table['242,254'] = [40264] let s:lib.Codec.decoding_table['243,161'] = [40285] let s:lib.Codec.decoding_table['243,162'] = [40286] let s:lib.Codec.decoding_table['243,163'] = [40292] let s:lib.Codec.decoding_table['243,164'] = [40273] let s:lib.Codec.decoding_table['243,165'] = [40272] let s:lib.Codec.decoding_table['243,166'] = [40281] let s:lib.Codec.decoding_table['243,167'] = [40306] let s:lib.Codec.decoding_table['243,168'] = [40329] let s:lib.Codec.decoding_table['243,169'] = [40327] let s:lib.Codec.decoding_table['243,170'] = [40363] let s:lib.Codec.decoding_table['243,171'] = [40303] let s:lib.Codec.decoding_table['243,172'] = [40314] let s:lib.Codec.decoding_table['243,173'] = [40346] let s:lib.Codec.decoding_table['243,174'] = [40356] let s:lib.Codec.decoding_table['243,175'] = [40361] let s:lib.Codec.decoding_table['243,176'] = [40370] let s:lib.Codec.decoding_table['243,177'] = [40388] let s:lib.Codec.decoding_table['243,178'] = [40385] let s:lib.Codec.decoding_table['243,179'] = [40379] let s:lib.Codec.decoding_table['243,180'] = [40376] let s:lib.Codec.decoding_table['243,181'] = [40378] let s:lib.Codec.decoding_table['243,182'] = [40390] let s:lib.Codec.decoding_table['243,183'] = [40399] let s:lib.Codec.decoding_table['243,184'] = [40386] let s:lib.Codec.decoding_table['243,185'] = [40409] let s:lib.Codec.decoding_table['243,186'] = [40403] let s:lib.Codec.decoding_table['243,187'] = [40440] let s:lib.Codec.decoding_table['243,188'] = [40422] let s:lib.Codec.decoding_table['243,189'] = [40429] let s:lib.Codec.decoding_table['243,190'] = [40431] let s:lib.Codec.decoding_table['243,191'] = [40445] let s:lib.Codec.decoding_table['243,192'] = [40474] let s:lib.Codec.decoding_table['243,193'] = [40475] let s:lib.Codec.decoding_table['243,194'] = [40478] let s:lib.Codec.decoding_table['243,195'] = [40565] let s:lib.Codec.decoding_table['243,196'] = [40569] let s:lib.Codec.decoding_table['243,197'] = [40573] let s:lib.Codec.decoding_table['243,198'] = [40577] let s:lib.Codec.decoding_table['243,199'] = [40584] let s:lib.Codec.decoding_table['243,200'] = [40587] let s:lib.Codec.decoding_table['243,201'] = [40588] let s:lib.Codec.decoding_table['243,202'] = [40594] let s:lib.Codec.decoding_table['243,203'] = [40597] let s:lib.Codec.decoding_table['243,204'] = [40593] let s:lib.Codec.decoding_table['243,205'] = [40605] let s:lib.Codec.decoding_table['243,206'] = [40613] let s:lib.Codec.decoding_table['243,207'] = [40617] let s:lib.Codec.decoding_table['243,208'] = [40632] let s:lib.Codec.decoding_table['243,209'] = [40618] let s:lib.Codec.decoding_table['243,210'] = [40621] let s:lib.Codec.decoding_table['243,211'] = [38753] let s:lib.Codec.decoding_table['243,212'] = [40652] let s:lib.Codec.decoding_table['243,213'] = [40654] let s:lib.Codec.decoding_table['243,214'] = [40655] let s:lib.Codec.decoding_table['243,215'] = [40656] let s:lib.Codec.decoding_table['243,216'] = [40660] let s:lib.Codec.decoding_table['243,217'] = [40668] let s:lib.Codec.decoding_table['243,218'] = [40670] let s:lib.Codec.decoding_table['243,219'] = [40669] let s:lib.Codec.decoding_table['243,220'] = [40672] let s:lib.Codec.decoding_table['243,221'] = [40677] let s:lib.Codec.decoding_table['243,222'] = [40680] let s:lib.Codec.decoding_table['243,223'] = [40687] let s:lib.Codec.decoding_table['243,224'] = [40692] let s:lib.Codec.decoding_table['243,225'] = [40694] let s:lib.Codec.decoding_table['243,226'] = [40695] let s:lib.Codec.decoding_table['243,227'] = [40697] let s:lib.Codec.decoding_table['243,228'] = [40699] let s:lib.Codec.decoding_table['243,229'] = [40700] let s:lib.Codec.decoding_table['243,230'] = [40701] let s:lib.Codec.decoding_table['243,231'] = [40711] let s:lib.Codec.decoding_table['243,232'] = [40712] let s:lib.Codec.decoding_table['243,233'] = [30391] let s:lib.Codec.decoding_table['243,234'] = [40725] let s:lib.Codec.decoding_table['243,235'] = [40737] let s:lib.Codec.decoding_table['243,236'] = [40748] let s:lib.Codec.decoding_table['243,237'] = [40766] let s:lib.Codec.decoding_table['243,238'] = [40778] let s:lib.Codec.decoding_table['243,239'] = [40786] let s:lib.Codec.decoding_table['243,240'] = [40788] let s:lib.Codec.decoding_table['243,241'] = [40803] let s:lib.Codec.decoding_table['243,242'] = [40799] let s:lib.Codec.decoding_table['243,243'] = [40800] let s:lib.Codec.decoding_table['243,244'] = [40801] let s:lib.Codec.decoding_table['243,245'] = [40806] let s:lib.Codec.decoding_table['243,246'] = [40807] let s:lib.Codec.decoding_table['243,247'] = [40812] let s:lib.Codec.decoding_table['243,248'] = [40810] let s:lib.Codec.decoding_table['243,249'] = [40823] let s:lib.Codec.decoding_table['243,250'] = [40818] let s:lib.Codec.decoding_table['243,251'] = [40822] let s:lib.Codec.decoding_table['243,252'] = [40853] let s:lib.Codec.decoding_table['243,253'] = [40860] let s:lib.Codec.decoding_table['243,254'] = [40864] let s:lib.Codec.decoding_table['244,161'] = [22575] let s:lib.Codec.decoding_table['244,162'] = [27079] let s:lib.Codec.decoding_table['244,163'] = [36953] let s:lib.Codec.decoding_table['244,164'] = [29796] let s:lib.Codec.decoding_table['244,165'] = [20956] let s:lib.Codec.decoding_table['244,166'] = [29081] let s:lib.Codec.decoding_table['143,162,175'] = [728] let s:lib.Codec.decoding_table['143,162,176'] = [711] let s:lib.Codec.decoding_table['143,162,177'] = [184] let s:lib.Codec.decoding_table['143,162,178'] = [729] let s:lib.Codec.decoding_table['143,162,179'] = [733] let s:lib.Codec.decoding_table['143,162,180'] = [175] let s:lib.Codec.decoding_table['143,162,181'] = [731] let s:lib.Codec.decoding_table['143,162,182'] = [730] let s:lib.Codec.decoding_table['143,162,183'] = [126] let s:lib.Codec.decoding_table['143,162,184'] = [900] let s:lib.Codec.decoding_table['143,162,185'] = [901] let s:lib.Codec.decoding_table['143,162,194'] = [161] let s:lib.Codec.decoding_table['143,162,195'] = [166] let s:lib.Codec.decoding_table['143,162,196'] = [191] let s:lib.Codec.decoding_table['143,162,235'] = [186] let s:lib.Codec.decoding_table['143,162,236'] = [170] let s:lib.Codec.decoding_table['143,162,237'] = [169] let s:lib.Codec.decoding_table['143,162,238'] = [174] let s:lib.Codec.decoding_table['143,162,239'] = [8482] let s:lib.Codec.decoding_table['143,162,240'] = [164] let s:lib.Codec.decoding_table['143,162,241'] = [8470] let s:lib.Codec.decoding_table['143,166,225'] = [902] let s:lib.Codec.decoding_table['143,166,226'] = [904] let s:lib.Codec.decoding_table['143,166,227'] = [905] let s:lib.Codec.decoding_table['143,166,228'] = [906] let s:lib.Codec.decoding_table['143,166,229'] = [938] let s:lib.Codec.decoding_table['143,166,231'] = [908] let s:lib.Codec.decoding_table['143,166,233'] = [910] let s:lib.Codec.decoding_table['143,166,234'] = [939] let s:lib.Codec.decoding_table['143,166,236'] = [911] let s:lib.Codec.decoding_table['143,166,241'] = [940] let s:lib.Codec.decoding_table['143,166,242'] = [941] let s:lib.Codec.decoding_table['143,166,243'] = [942] let s:lib.Codec.decoding_table['143,166,244'] = [943] let s:lib.Codec.decoding_table['143,166,245'] = [970] let s:lib.Codec.decoding_table['143,166,246'] = [912] let s:lib.Codec.decoding_table['143,166,247'] = [972] let s:lib.Codec.decoding_table['143,166,248'] = [962] let s:lib.Codec.decoding_table['143,166,249'] = [973] let s:lib.Codec.decoding_table['143,166,250'] = [971] let s:lib.Codec.decoding_table['143,166,251'] = [944] let s:lib.Codec.decoding_table['143,166,252'] = [974] let s:lib.Codec.decoding_table['143,167,194'] = [1026] let s:lib.Codec.decoding_table['143,167,195'] = [1027] let s:lib.Codec.decoding_table['143,167,196'] = [1028] let s:lib.Codec.decoding_table['143,167,197'] = [1029] let s:lib.Codec.decoding_table['143,167,198'] = [1030] let s:lib.Codec.decoding_table['143,167,199'] = [1031] let s:lib.Codec.decoding_table['143,167,200'] = [1032] let s:lib.Codec.decoding_table['143,167,201'] = [1033] let s:lib.Codec.decoding_table['143,167,202'] = [1034] let s:lib.Codec.decoding_table['143,167,203'] = [1035] let s:lib.Codec.decoding_table['143,167,204'] = [1036] let s:lib.Codec.decoding_table['143,167,205'] = [1038] let s:lib.Codec.decoding_table['143,167,206'] = [1039] let s:lib.Codec.decoding_table['143,167,242'] = [1106] let s:lib.Codec.decoding_table['143,167,243'] = [1107] let s:lib.Codec.decoding_table['143,167,244'] = [1108] let s:lib.Codec.decoding_table['143,167,245'] = [1109] let s:lib.Codec.decoding_table['143,167,246'] = [1110] let s:lib.Codec.decoding_table['143,167,247'] = [1111] let s:lib.Codec.decoding_table['143,167,248'] = [1112] let s:lib.Codec.decoding_table['143,167,249'] = [1113] let s:lib.Codec.decoding_table['143,167,250'] = [1114] let s:lib.Codec.decoding_table['143,167,251'] = [1115] let s:lib.Codec.decoding_table['143,167,252'] = [1116] let s:lib.Codec.decoding_table['143,167,253'] = [1118] let s:lib.Codec.decoding_table['143,167,254'] = [1119] let s:lib.Codec.decoding_table['143,169,161'] = [198] let s:lib.Codec.decoding_table['143,169,162'] = [272] let s:lib.Codec.decoding_table['143,169,164'] = [294] let s:lib.Codec.decoding_table['143,169,166'] = [306] let s:lib.Codec.decoding_table['143,169,168'] = [321] let s:lib.Codec.decoding_table['143,169,169'] = [319] let s:lib.Codec.decoding_table['143,169,171'] = [330] let s:lib.Codec.decoding_table['143,169,172'] = [216] let s:lib.Codec.decoding_table['143,169,173'] = [338] let s:lib.Codec.decoding_table['143,169,175'] = [358] let s:lib.Codec.decoding_table['143,169,176'] = [222] let s:lib.Codec.decoding_table['143,169,193'] = [230] let s:lib.Codec.decoding_table['143,169,194'] = [273] let s:lib.Codec.decoding_table['143,169,195'] = [240] let s:lib.Codec.decoding_table['143,169,196'] = [295] let s:lib.Codec.decoding_table['143,169,197'] = [305] let s:lib.Codec.decoding_table['143,169,198'] = [307] let s:lib.Codec.decoding_table['143,169,199'] = [312] let s:lib.Codec.decoding_table['143,169,200'] = [322] let s:lib.Codec.decoding_table['143,169,201'] = [320] let s:lib.Codec.decoding_table['143,169,202'] = [329] let s:lib.Codec.decoding_table['143,169,203'] = [331] let s:lib.Codec.decoding_table['143,169,204'] = [248] let s:lib.Codec.decoding_table['143,169,205'] = [339] let s:lib.Codec.decoding_table['143,169,206'] = [223] let s:lib.Codec.decoding_table['143,169,207'] = [359] let s:lib.Codec.decoding_table['143,169,208'] = [254] let s:lib.Codec.decoding_table['143,170,161'] = [193] let s:lib.Codec.decoding_table['143,170,162'] = [192] let s:lib.Codec.decoding_table['143,170,163'] = [196] let s:lib.Codec.decoding_table['143,170,164'] = [194] let s:lib.Codec.decoding_table['143,170,165'] = [258] let s:lib.Codec.decoding_table['143,170,166'] = [461] let s:lib.Codec.decoding_table['143,170,167'] = [256] let s:lib.Codec.decoding_table['143,170,168'] = [260] let s:lib.Codec.decoding_table['143,170,169'] = [197] let s:lib.Codec.decoding_table['143,170,170'] = [195] let s:lib.Codec.decoding_table['143,170,171'] = [262] let s:lib.Codec.decoding_table['143,170,172'] = [264] let s:lib.Codec.decoding_table['143,170,173'] = [268] let s:lib.Codec.decoding_table['143,170,174'] = [199] let s:lib.Codec.decoding_table['143,170,175'] = [266] let s:lib.Codec.decoding_table['143,170,176'] = [270] let s:lib.Codec.decoding_table['143,170,177'] = [201] let s:lib.Codec.decoding_table['143,170,178'] = [200] let s:lib.Codec.decoding_table['143,170,179'] = [203] let s:lib.Codec.decoding_table['143,170,180'] = [202] let s:lib.Codec.decoding_table['143,170,181'] = [282] let s:lib.Codec.decoding_table['143,170,182'] = [278] let s:lib.Codec.decoding_table['143,170,183'] = [274] let s:lib.Codec.decoding_table['143,170,184'] = [280] let s:lib.Codec.decoding_table['143,170,186'] = [284] let s:lib.Codec.decoding_table['143,170,187'] = [286] let s:lib.Codec.decoding_table['143,170,188'] = [290] let s:lib.Codec.decoding_table['143,170,189'] = [288] let s:lib.Codec.decoding_table['143,170,190'] = [292] let s:lib.Codec.decoding_table['143,170,191'] = [205] let s:lib.Codec.decoding_table['143,170,192'] = [204] let s:lib.Codec.decoding_table['143,170,193'] = [207] let s:lib.Codec.decoding_table['143,170,194'] = [206] let s:lib.Codec.decoding_table['143,170,195'] = [463] let s:lib.Codec.decoding_table['143,170,196'] = [304] let s:lib.Codec.decoding_table['143,170,197'] = [298] let s:lib.Codec.decoding_table['143,170,198'] = [302] let s:lib.Codec.decoding_table['143,170,199'] = [296] let s:lib.Codec.decoding_table['143,170,200'] = [308] let s:lib.Codec.decoding_table['143,170,201'] = [310] let s:lib.Codec.decoding_table['143,170,202'] = [313] let s:lib.Codec.decoding_table['143,170,203'] = [317] let s:lib.Codec.decoding_table['143,170,204'] = [315] let s:lib.Codec.decoding_table['143,170,205'] = [323] let s:lib.Codec.decoding_table['143,170,206'] = [327] let s:lib.Codec.decoding_table['143,170,207'] = [325] let s:lib.Codec.decoding_table['143,170,208'] = [209] let s:lib.Codec.decoding_table['143,170,209'] = [211] let s:lib.Codec.decoding_table['143,170,210'] = [210] let s:lib.Codec.decoding_table['143,170,211'] = [214] let s:lib.Codec.decoding_table['143,170,212'] = [212] let s:lib.Codec.decoding_table['143,170,213'] = [465] let s:lib.Codec.decoding_table['143,170,214'] = [336] let s:lib.Codec.decoding_table['143,170,215'] = [332] let s:lib.Codec.decoding_table['143,170,216'] = [213] let s:lib.Codec.decoding_table['143,170,217'] = [340] let s:lib.Codec.decoding_table['143,170,218'] = [344] let s:lib.Codec.decoding_table['143,170,219'] = [342] let s:lib.Codec.decoding_table['143,170,220'] = [346] let s:lib.Codec.decoding_table['143,170,221'] = [348] let s:lib.Codec.decoding_table['143,170,222'] = [352] let s:lib.Codec.decoding_table['143,170,223'] = [350] let s:lib.Codec.decoding_table['143,170,224'] = [356] let s:lib.Codec.decoding_table['143,170,225'] = [354] let s:lib.Codec.decoding_table['143,170,226'] = [218] let s:lib.Codec.decoding_table['143,170,227'] = [217] let s:lib.Codec.decoding_table['143,170,228'] = [220] let s:lib.Codec.decoding_table['143,170,229'] = [219] let s:lib.Codec.decoding_table['143,170,230'] = [364] let s:lib.Codec.decoding_table['143,170,231'] = [467] let s:lib.Codec.decoding_table['143,170,232'] = [368] let s:lib.Codec.decoding_table['143,170,233'] = [362] let s:lib.Codec.decoding_table['143,170,234'] = [370] let s:lib.Codec.decoding_table['143,170,235'] = [366] let s:lib.Codec.decoding_table['143,170,236'] = [360] let s:lib.Codec.decoding_table['143,170,237'] = [471] let s:lib.Codec.decoding_table['143,170,238'] = [475] let s:lib.Codec.decoding_table['143,170,239'] = [473] let s:lib.Codec.decoding_table['143,170,240'] = [469] let s:lib.Codec.decoding_table['143,170,241'] = [372] let s:lib.Codec.decoding_table['143,170,242'] = [221] let s:lib.Codec.decoding_table['143,170,243'] = [376] let s:lib.Codec.decoding_table['143,170,244'] = [374] let s:lib.Codec.decoding_table['143,170,245'] = [377] let s:lib.Codec.decoding_table['143,170,246'] = [381] let s:lib.Codec.decoding_table['143,170,247'] = [379] let s:lib.Codec.decoding_table['143,171,161'] = [225] let s:lib.Codec.decoding_table['143,171,162'] = [224] let s:lib.Codec.decoding_table['143,171,163'] = [228] let s:lib.Codec.decoding_table['143,171,164'] = [226] let s:lib.Codec.decoding_table['143,171,165'] = [259] let s:lib.Codec.decoding_table['143,171,166'] = [462] let s:lib.Codec.decoding_table['143,171,167'] = [257] let s:lib.Codec.decoding_table['143,171,168'] = [261] let s:lib.Codec.decoding_table['143,171,169'] = [229] let s:lib.Codec.decoding_table['143,171,170'] = [227] let s:lib.Codec.decoding_table['143,171,171'] = [263] let s:lib.Codec.decoding_table['143,171,172'] = [265] let s:lib.Codec.decoding_table['143,171,173'] = [269] let s:lib.Codec.decoding_table['143,171,174'] = [231] let s:lib.Codec.decoding_table['143,171,175'] = [267] let s:lib.Codec.decoding_table['143,171,176'] = [271] let s:lib.Codec.decoding_table['143,171,177'] = [233] let s:lib.Codec.decoding_table['143,171,178'] = [232] let s:lib.Codec.decoding_table['143,171,179'] = [235] let s:lib.Codec.decoding_table['143,171,180'] = [234] let s:lib.Codec.decoding_table['143,171,181'] = [283] let s:lib.Codec.decoding_table['143,171,182'] = [279] let s:lib.Codec.decoding_table['143,171,183'] = [275] let s:lib.Codec.decoding_table['143,171,184'] = [281] let s:lib.Codec.decoding_table['143,171,185'] = [501] let s:lib.Codec.decoding_table['143,171,186'] = [285] let s:lib.Codec.decoding_table['143,171,187'] = [287] let s:lib.Codec.decoding_table['143,171,189'] = [289] let s:lib.Codec.decoding_table['143,171,190'] = [293] let s:lib.Codec.decoding_table['143,171,191'] = [237] let s:lib.Codec.decoding_table['143,171,192'] = [236] let s:lib.Codec.decoding_table['143,171,193'] = [239] let s:lib.Codec.decoding_table['143,171,194'] = [238] let s:lib.Codec.decoding_table['143,171,195'] = [464] let s:lib.Codec.decoding_table['143,171,197'] = [299] let s:lib.Codec.decoding_table['143,171,198'] = [303] let s:lib.Codec.decoding_table['143,171,199'] = [297] let s:lib.Codec.decoding_table['143,171,200'] = [309] let s:lib.Codec.decoding_table['143,171,201'] = [311] let s:lib.Codec.decoding_table['143,171,202'] = [314] let s:lib.Codec.decoding_table['143,171,203'] = [318] let s:lib.Codec.decoding_table['143,171,204'] = [316] let s:lib.Codec.decoding_table['143,171,205'] = [324] let s:lib.Codec.decoding_table['143,171,206'] = [328] let s:lib.Codec.decoding_table['143,171,207'] = [326] let s:lib.Codec.decoding_table['143,171,208'] = [241] let s:lib.Codec.decoding_table['143,171,209'] = [243] let s:lib.Codec.decoding_table['143,171,210'] = [242] let s:lib.Codec.decoding_table['143,171,211'] = [246] let s:lib.Codec.decoding_table['143,171,212'] = [244] let s:lib.Codec.decoding_table['143,171,213'] = [466] let s:lib.Codec.decoding_table['143,171,214'] = [337] let s:lib.Codec.decoding_table['143,171,215'] = [333] let s:lib.Codec.decoding_table['143,171,216'] = [245] let s:lib.Codec.decoding_table['143,171,217'] = [341] let s:lib.Codec.decoding_table['143,171,218'] = [345] let s:lib.Codec.decoding_table['143,171,219'] = [343] let s:lib.Codec.decoding_table['143,171,220'] = [347] let s:lib.Codec.decoding_table['143,171,221'] = [349] let s:lib.Codec.decoding_table['143,171,222'] = [353] let s:lib.Codec.decoding_table['143,171,223'] = [351] let s:lib.Codec.decoding_table['143,171,224'] = [357] let s:lib.Codec.decoding_table['143,171,225'] = [355] let s:lib.Codec.decoding_table['143,171,226'] = [250] let s:lib.Codec.decoding_table['143,171,227'] = [249] let s:lib.Codec.decoding_table['143,171,228'] = [252] let s:lib.Codec.decoding_table['143,171,229'] = [251] let s:lib.Codec.decoding_table['143,171,230'] = [365] let s:lib.Codec.decoding_table['143,171,231'] = [468] let s:lib.Codec.decoding_table['143,171,232'] = [369] let s:lib.Codec.decoding_table['143,171,233'] = [363] let s:lib.Codec.decoding_table['143,171,234'] = [371] let s:lib.Codec.decoding_table['143,171,235'] = [367] let s:lib.Codec.decoding_table['143,171,236'] = [361] let s:lib.Codec.decoding_table['143,171,237'] = [472] let s:lib.Codec.decoding_table['143,171,238'] = [476] let s:lib.Codec.decoding_table['143,171,239'] = [474] let s:lib.Codec.decoding_table['143,171,240'] = [470] let s:lib.Codec.decoding_table['143,171,241'] = [373] let s:lib.Codec.decoding_table['143,171,242'] = [253] let s:lib.Codec.decoding_table['143,171,243'] = [255] let s:lib.Codec.decoding_table['143,171,244'] = [375] let s:lib.Codec.decoding_table['143,171,245'] = [378] let s:lib.Codec.decoding_table['143,171,246'] = [382] let s:lib.Codec.decoding_table['143,171,247'] = [380] let s:lib.Codec.decoding_table['143,176,161'] = [19970] let s:lib.Codec.decoding_table['143,176,162'] = [19972] let s:lib.Codec.decoding_table['143,176,163'] = [19973] let s:lib.Codec.decoding_table['143,176,164'] = [19980] let s:lib.Codec.decoding_table['143,176,165'] = [19986] let s:lib.Codec.decoding_table['143,176,166'] = [19999] let s:lib.Codec.decoding_table['143,176,167'] = [20003] let s:lib.Codec.decoding_table['143,176,168'] = [20004] let s:lib.Codec.decoding_table['143,176,169'] = [20008] let s:lib.Codec.decoding_table['143,176,170'] = [20011] let s:lib.Codec.decoding_table['143,176,171'] = [20014] let s:lib.Codec.decoding_table['143,176,172'] = [20015] let s:lib.Codec.decoding_table['143,176,173'] = [20016] let s:lib.Codec.decoding_table['143,176,174'] = [20021] let s:lib.Codec.decoding_table['143,176,175'] = [20032] let s:lib.Codec.decoding_table['143,176,176'] = [20033] let s:lib.Codec.decoding_table['143,176,177'] = [20036] let s:lib.Codec.decoding_table['143,176,178'] = [20039] let s:lib.Codec.decoding_table['143,176,179'] = [20049] let s:lib.Codec.decoding_table['143,176,180'] = [20058] let s:lib.Codec.decoding_table['143,176,181'] = [20060] let s:lib.Codec.decoding_table['143,176,182'] = [20067] let s:lib.Codec.decoding_table['143,176,183'] = [20072] let s:lib.Codec.decoding_table['143,176,184'] = [20073] let s:lib.Codec.decoding_table['143,176,185'] = [20084] let s:lib.Codec.decoding_table['143,176,186'] = [20085] let s:lib.Codec.decoding_table['143,176,187'] = [20089] let s:lib.Codec.decoding_table['143,176,188'] = [20095] let s:lib.Codec.decoding_table['143,176,189'] = [20109] let s:lib.Codec.decoding_table['143,176,190'] = [20118] let s:lib.Codec.decoding_table['143,176,191'] = [20119] let s:lib.Codec.decoding_table['143,176,192'] = [20125] let s:lib.Codec.decoding_table['143,176,193'] = [20143] let s:lib.Codec.decoding_table['143,176,194'] = [20153] let s:lib.Codec.decoding_table['143,176,195'] = [20163] let s:lib.Codec.decoding_table['143,176,196'] = [20176] let s:lib.Codec.decoding_table['143,176,197'] = [20186] let s:lib.Codec.decoding_table['143,176,198'] = [20187] let s:lib.Codec.decoding_table['143,176,199'] = [20192] let s:lib.Codec.decoding_table['143,176,200'] = [20193] let s:lib.Codec.decoding_table['143,176,201'] = [20194] let s:lib.Codec.decoding_table['143,176,202'] = [20200] let s:lib.Codec.decoding_table['143,176,203'] = [20207] let s:lib.Codec.decoding_table['143,176,204'] = [20209] let s:lib.Codec.decoding_table['143,176,205'] = [20211] let s:lib.Codec.decoding_table['143,176,206'] = [20213] let s:lib.Codec.decoding_table['143,176,207'] = [20221] let s:lib.Codec.decoding_table['143,176,208'] = [20222] let s:lib.Codec.decoding_table['143,176,209'] = [20223] let s:lib.Codec.decoding_table['143,176,210'] = [20224] let s:lib.Codec.decoding_table['143,176,211'] = [20226] let s:lib.Codec.decoding_table['143,176,212'] = [20227] let s:lib.Codec.decoding_table['143,176,213'] = [20232] let s:lib.Codec.decoding_table['143,176,214'] = [20235] let s:lib.Codec.decoding_table['143,176,215'] = [20236] let s:lib.Codec.decoding_table['143,176,216'] = [20242] let s:lib.Codec.decoding_table['143,176,217'] = [20245] let s:lib.Codec.decoding_table['143,176,218'] = [20246] let s:lib.Codec.decoding_table['143,176,219'] = [20247] let s:lib.Codec.decoding_table['143,176,220'] = [20249] let s:lib.Codec.decoding_table['143,176,221'] = [20270] let s:lib.Codec.decoding_table['143,176,222'] = [20273] let s:lib.Codec.decoding_table['143,176,223'] = [20320] let s:lib.Codec.decoding_table['143,176,224'] = [20275] let s:lib.Codec.decoding_table['143,176,225'] = [20277] let s:lib.Codec.decoding_table['143,176,226'] = [20279] let s:lib.Codec.decoding_table['143,176,227'] = [20281] let s:lib.Codec.decoding_table['143,176,228'] = [20283] let s:lib.Codec.decoding_table['143,176,229'] = [20286] let s:lib.Codec.decoding_table['143,176,230'] = [20288] let s:lib.Codec.decoding_table['143,176,231'] = [20290] let s:lib.Codec.decoding_table['143,176,232'] = [20296] let s:lib.Codec.decoding_table['143,176,233'] = [20297] let s:lib.Codec.decoding_table['143,176,234'] = [20299] let s:lib.Codec.decoding_table['143,176,235'] = [20300] let s:lib.Codec.decoding_table['143,176,236'] = [20306] let s:lib.Codec.decoding_table['143,176,237'] = [20308] let s:lib.Codec.decoding_table['143,176,238'] = [20310] let s:lib.Codec.decoding_table['143,176,239'] = [20312] let s:lib.Codec.decoding_table['143,176,240'] = [20319] let s:lib.Codec.decoding_table['143,176,241'] = [20323] let s:lib.Codec.decoding_table['143,176,242'] = [20330] let s:lib.Codec.decoding_table['143,176,243'] = [20332] let s:lib.Codec.decoding_table['143,176,244'] = [20334] let s:lib.Codec.decoding_table['143,176,245'] = [20337] let s:lib.Codec.decoding_table['143,176,246'] = [20343] let s:lib.Codec.decoding_table['143,176,247'] = [20344] let s:lib.Codec.decoding_table['143,176,248'] = [20345] let s:lib.Codec.decoding_table['143,176,249'] = [20346] let s:lib.Codec.decoding_table['143,176,250'] = [20349] let s:lib.Codec.decoding_table['143,176,251'] = [20350] let s:lib.Codec.decoding_table['143,176,252'] = [20353] let s:lib.Codec.decoding_table['143,176,253'] = [20354] let s:lib.Codec.decoding_table['143,176,254'] = [20356] let s:lib.Codec.decoding_table['143,177,161'] = [20357] let s:lib.Codec.decoding_table['143,177,162'] = [20361] let s:lib.Codec.decoding_table['143,177,163'] = [20362] let s:lib.Codec.decoding_table['143,177,164'] = [20364] let s:lib.Codec.decoding_table['143,177,165'] = [20366] let s:lib.Codec.decoding_table['143,177,166'] = [20368] let s:lib.Codec.decoding_table['143,177,167'] = [20370] let s:lib.Codec.decoding_table['143,177,168'] = [20371] let s:lib.Codec.decoding_table['143,177,169'] = [20372] let s:lib.Codec.decoding_table['143,177,170'] = [20375] let s:lib.Codec.decoding_table['143,177,171'] = [20377] let s:lib.Codec.decoding_table['143,177,172'] = [20378] let s:lib.Codec.decoding_table['143,177,173'] = [20382] let s:lib.Codec.decoding_table['143,177,174'] = [20383] let s:lib.Codec.decoding_table['143,177,175'] = [20402] let s:lib.Codec.decoding_table['143,177,176'] = [20407] let s:lib.Codec.decoding_table['143,177,177'] = [20409] let s:lib.Codec.decoding_table['143,177,178'] = [20411] let s:lib.Codec.decoding_table['143,177,179'] = [20412] let s:lib.Codec.decoding_table['143,177,180'] = [20413] let s:lib.Codec.decoding_table['143,177,181'] = [20414] let s:lib.Codec.decoding_table['143,177,182'] = [20416] let s:lib.Codec.decoding_table['143,177,183'] = [20417] let s:lib.Codec.decoding_table['143,177,184'] = [20421] let s:lib.Codec.decoding_table['143,177,185'] = [20422] let s:lib.Codec.decoding_table['143,177,186'] = [20424] let s:lib.Codec.decoding_table['143,177,187'] = [20425] let s:lib.Codec.decoding_table['143,177,188'] = [20427] let s:lib.Codec.decoding_table['143,177,189'] = [20428] let s:lib.Codec.decoding_table['143,177,190'] = [20429] let s:lib.Codec.decoding_table['143,177,191'] = [20431] let s:lib.Codec.decoding_table['143,177,192'] = [20434] let s:lib.Codec.decoding_table['143,177,193'] = [20444] let s:lib.Codec.decoding_table['143,177,194'] = [20448] let s:lib.Codec.decoding_table['143,177,195'] = [20450] let s:lib.Codec.decoding_table['143,177,196'] = [20464] let s:lib.Codec.decoding_table['143,177,197'] = [20466] let s:lib.Codec.decoding_table['143,177,198'] = [20476] let s:lib.Codec.decoding_table['143,177,199'] = [20477] let s:lib.Codec.decoding_table['143,177,200'] = [20479] let s:lib.Codec.decoding_table['143,177,201'] = [20480] let s:lib.Codec.decoding_table['143,177,202'] = [20481] let s:lib.Codec.decoding_table['143,177,203'] = [20484] let s:lib.Codec.decoding_table['143,177,204'] = [20487] let s:lib.Codec.decoding_table['143,177,205'] = [20490] let s:lib.Codec.decoding_table['143,177,206'] = [20492] let s:lib.Codec.decoding_table['143,177,207'] = [20494] let s:lib.Codec.decoding_table['143,177,208'] = [20496] let s:lib.Codec.decoding_table['143,177,209'] = [20499] let s:lib.Codec.decoding_table['143,177,210'] = [20503] let s:lib.Codec.decoding_table['143,177,211'] = [20504] let s:lib.Codec.decoding_table['143,177,212'] = [20507] let s:lib.Codec.decoding_table['143,177,213'] = [20508] let s:lib.Codec.decoding_table['143,177,214'] = [20509] let s:lib.Codec.decoding_table['143,177,215'] = [20510] let s:lib.Codec.decoding_table['143,177,216'] = [20514] let s:lib.Codec.decoding_table['143,177,217'] = [20519] let s:lib.Codec.decoding_table['143,177,218'] = [20526] let s:lib.Codec.decoding_table['143,177,219'] = [20528] let s:lib.Codec.decoding_table['143,177,220'] = [20530] let s:lib.Codec.decoding_table['143,177,221'] = [20531] let s:lib.Codec.decoding_table['143,177,222'] = [20533] let s:lib.Codec.decoding_table['143,177,223'] = [20544] let s:lib.Codec.decoding_table['143,177,224'] = [20545] let s:lib.Codec.decoding_table['143,177,225'] = [20546] let s:lib.Codec.decoding_table['143,177,226'] = [20549] let s:lib.Codec.decoding_table['143,177,227'] = [20550] let s:lib.Codec.decoding_table['143,177,228'] = [20554] let s:lib.Codec.decoding_table['143,177,229'] = [20556] let s:lib.Codec.decoding_table['143,177,230'] = [20558] let s:lib.Codec.decoding_table['143,177,231'] = [20561] let s:lib.Codec.decoding_table['143,177,232'] = [20562] let s:lib.Codec.decoding_table['143,177,233'] = [20563] let s:lib.Codec.decoding_table['143,177,234'] = [20567] let s:lib.Codec.decoding_table['143,177,235'] = [20569] let s:lib.Codec.decoding_table['143,177,236'] = [20575] let s:lib.Codec.decoding_table['143,177,237'] = [20576] let s:lib.Codec.decoding_table['143,177,238'] = [20578] let s:lib.Codec.decoding_table['143,177,239'] = [20579] let s:lib.Codec.decoding_table['143,177,240'] = [20582] let s:lib.Codec.decoding_table['143,177,241'] = [20583] let s:lib.Codec.decoding_table['143,177,242'] = [20586] let s:lib.Codec.decoding_table['143,177,243'] = [20589] let s:lib.Codec.decoding_table['143,177,244'] = [20592] let s:lib.Codec.decoding_table['143,177,245'] = [20593] let s:lib.Codec.decoding_table['143,177,246'] = [20539] let s:lib.Codec.decoding_table['143,177,247'] = [20609] let s:lib.Codec.decoding_table['143,177,248'] = [20611] let s:lib.Codec.decoding_table['143,177,249'] = [20612] let s:lib.Codec.decoding_table['143,177,250'] = [20614] let s:lib.Codec.decoding_table['143,177,251'] = [20618] let s:lib.Codec.decoding_table['143,177,252'] = [20622] let s:lib.Codec.decoding_table['143,177,253'] = [20623] let s:lib.Codec.decoding_table['143,177,254'] = [20624] let s:lib.Codec.decoding_table['143,178,161'] = [20626] let s:lib.Codec.decoding_table['143,178,162'] = [20627] let s:lib.Codec.decoding_table['143,178,163'] = [20628] let s:lib.Codec.decoding_table['143,178,164'] = [20630] let s:lib.Codec.decoding_table['143,178,165'] = [20635] let s:lib.Codec.decoding_table['143,178,166'] = [20636] let s:lib.Codec.decoding_table['143,178,167'] = [20638] let s:lib.Codec.decoding_table['143,178,168'] = [20639] let s:lib.Codec.decoding_table['143,178,169'] = [20640] let s:lib.Codec.decoding_table['143,178,170'] = [20641] let s:lib.Codec.decoding_table['143,178,171'] = [20642] let s:lib.Codec.decoding_table['143,178,172'] = [20650] let s:lib.Codec.decoding_table['143,178,173'] = [20655] let s:lib.Codec.decoding_table['143,178,174'] = [20656] let s:lib.Codec.decoding_table['143,178,175'] = [20665] let s:lib.Codec.decoding_table['143,178,176'] = [20666] let s:lib.Codec.decoding_table['143,178,177'] = [20669] let s:lib.Codec.decoding_table['143,178,178'] = [20672] let s:lib.Codec.decoding_table['143,178,179'] = [20675] let s:lib.Codec.decoding_table['143,178,180'] = [20676] let s:lib.Codec.decoding_table['143,178,181'] = [20679] let s:lib.Codec.decoding_table['143,178,182'] = [20684] let s:lib.Codec.decoding_table['143,178,183'] = [20686] let s:lib.Codec.decoding_table['143,178,184'] = [20688] let s:lib.Codec.decoding_table['143,178,185'] = [20691] let s:lib.Codec.decoding_table['143,178,186'] = [20692] let s:lib.Codec.decoding_table['143,178,187'] = [20696] let s:lib.Codec.decoding_table['143,178,188'] = [20700] let s:lib.Codec.decoding_table['143,178,189'] = [20701] let s:lib.Codec.decoding_table['143,178,190'] = [20703] let s:lib.Codec.decoding_table['143,178,191'] = [20706] let s:lib.Codec.decoding_table['143,178,192'] = [20708] let s:lib.Codec.decoding_table['143,178,193'] = [20710] let s:lib.Codec.decoding_table['143,178,194'] = [20712] let s:lib.Codec.decoding_table['143,178,195'] = [20713] let s:lib.Codec.decoding_table['143,178,196'] = [20719] let s:lib.Codec.decoding_table['143,178,197'] = [20721] let s:lib.Codec.decoding_table['143,178,198'] = [20726] let s:lib.Codec.decoding_table['143,178,199'] = [20730] let s:lib.Codec.decoding_table['143,178,200'] = [20734] let s:lib.Codec.decoding_table['143,178,201'] = [20739] let s:lib.Codec.decoding_table['143,178,202'] = [20742] let s:lib.Codec.decoding_table['143,178,203'] = [20743] let s:lib.Codec.decoding_table['143,178,204'] = [20744] let s:lib.Codec.decoding_table['143,178,205'] = [20747] let s:lib.Codec.decoding_table['143,178,206'] = [20748] let s:lib.Codec.decoding_table['143,178,207'] = [20749] let s:lib.Codec.decoding_table['143,178,208'] = [20750] let s:lib.Codec.decoding_table['143,178,209'] = [20722] let s:lib.Codec.decoding_table['143,178,210'] = [20752] let s:lib.Codec.decoding_table['143,178,211'] = [20759] let s:lib.Codec.decoding_table['143,178,212'] = [20761] let s:lib.Codec.decoding_table['143,178,213'] = [20763] let s:lib.Codec.decoding_table['143,178,214'] = [20764] let s:lib.Codec.decoding_table['143,178,215'] = [20765] let s:lib.Codec.decoding_table['143,178,216'] = [20766] let s:lib.Codec.decoding_table['143,178,217'] = [20771] let s:lib.Codec.decoding_table['143,178,218'] = [20775] let s:lib.Codec.decoding_table['143,178,219'] = [20776] let s:lib.Codec.decoding_table['143,178,220'] = [20780] let s:lib.Codec.decoding_table['143,178,221'] = [20781] let s:lib.Codec.decoding_table['143,178,222'] = [20783] let s:lib.Codec.decoding_table['143,178,223'] = [20785] let s:lib.Codec.decoding_table['143,178,224'] = [20787] let s:lib.Codec.decoding_table['143,178,225'] = [20788] let s:lib.Codec.decoding_table['143,178,226'] = [20789] let s:lib.Codec.decoding_table['143,178,227'] = [20792] let s:lib.Codec.decoding_table['143,178,228'] = [20793] let s:lib.Codec.decoding_table['143,178,229'] = [20802] let s:lib.Codec.decoding_table['143,178,230'] = [20810] let s:lib.Codec.decoding_table['143,178,231'] = [20815] let s:lib.Codec.decoding_table['143,178,232'] = [20819] let s:lib.Codec.decoding_table['143,178,233'] = [20821] let s:lib.Codec.decoding_table['143,178,234'] = [20823] let s:lib.Codec.decoding_table['143,178,235'] = [20824] let s:lib.Codec.decoding_table['143,178,236'] = [20831] let s:lib.Codec.decoding_table['143,178,237'] = [20836] let s:lib.Codec.decoding_table['143,178,238'] = [20838] let s:lib.Codec.decoding_table['143,178,239'] = [20862] let s:lib.Codec.decoding_table['143,178,240'] = [20867] let s:lib.Codec.decoding_table['143,178,241'] = [20868] let s:lib.Codec.decoding_table['143,178,242'] = [20875] let s:lib.Codec.decoding_table['143,178,243'] = [20878] let s:lib.Codec.decoding_table['143,178,244'] = [20888] let s:lib.Codec.decoding_table['143,178,245'] = [20893] let s:lib.Codec.decoding_table['143,178,246'] = [20897] let s:lib.Codec.decoding_table['143,178,247'] = [20899] let s:lib.Codec.decoding_table['143,178,248'] = [20909] let s:lib.Codec.decoding_table['143,178,249'] = [20920] let s:lib.Codec.decoding_table['143,178,250'] = [20922] let s:lib.Codec.decoding_table['143,178,251'] = [20924] let s:lib.Codec.decoding_table['143,178,252'] = [20926] let s:lib.Codec.decoding_table['143,178,253'] = [20927] let s:lib.Codec.decoding_table['143,178,254'] = [20930] let s:lib.Codec.decoding_table['143,179,161'] = [20936] let s:lib.Codec.decoding_table['143,179,162'] = [20943] let s:lib.Codec.decoding_table['143,179,163'] = [20945] let s:lib.Codec.decoding_table['143,179,164'] = [20946] let s:lib.Codec.decoding_table['143,179,165'] = [20947] let s:lib.Codec.decoding_table['143,179,166'] = [20949] let s:lib.Codec.decoding_table['143,179,167'] = [20952] let s:lib.Codec.decoding_table['143,179,168'] = [20958] let s:lib.Codec.decoding_table['143,179,169'] = [20962] let s:lib.Codec.decoding_table['143,179,170'] = [20965] let s:lib.Codec.decoding_table['143,179,171'] = [20974] let s:lib.Codec.decoding_table['143,179,172'] = [20978] let s:lib.Codec.decoding_table['143,179,173'] = [20979] let s:lib.Codec.decoding_table['143,179,174'] = [20980] let s:lib.Codec.decoding_table['143,179,175'] = [20983] let s:lib.Codec.decoding_table['143,179,176'] = [20993] let s:lib.Codec.decoding_table['143,179,177'] = [20994] let s:lib.Codec.decoding_table['143,179,178'] = [20997] let s:lib.Codec.decoding_table['143,179,179'] = [21010] let s:lib.Codec.decoding_table['143,179,180'] = [21011] let s:lib.Codec.decoding_table['143,179,181'] = [21013] let s:lib.Codec.decoding_table['143,179,182'] = [21014] let s:lib.Codec.decoding_table['143,179,183'] = [21016] let s:lib.Codec.decoding_table['143,179,184'] = [21026] let s:lib.Codec.decoding_table['143,179,185'] = [21032] let s:lib.Codec.decoding_table['143,179,186'] = [21041] let s:lib.Codec.decoding_table['143,179,187'] = [21042] let s:lib.Codec.decoding_table['143,179,188'] = [21045] let s:lib.Codec.decoding_table['143,179,189'] = [21052] let s:lib.Codec.decoding_table['143,179,190'] = [21061] let s:lib.Codec.decoding_table['143,179,191'] = [21065] let s:lib.Codec.decoding_table['143,179,192'] = [21077] let s:lib.Codec.decoding_table['143,179,193'] = [21079] let s:lib.Codec.decoding_table['143,179,194'] = [21080] let s:lib.Codec.decoding_table['143,179,195'] = [21082] let s:lib.Codec.decoding_table['143,179,196'] = [21084] let s:lib.Codec.decoding_table['143,179,197'] = [21087] let s:lib.Codec.decoding_table['143,179,198'] = [21088] let s:lib.Codec.decoding_table['143,179,199'] = [21089] let s:lib.Codec.decoding_table['143,179,200'] = [21094] let s:lib.Codec.decoding_table['143,179,201'] = [21102] let s:lib.Codec.decoding_table['143,179,202'] = [21111] let s:lib.Codec.decoding_table['143,179,203'] = [21112] let s:lib.Codec.decoding_table['143,179,204'] = [21113] let s:lib.Codec.decoding_table['143,179,205'] = [21120] let s:lib.Codec.decoding_table['143,179,206'] = [21122] let s:lib.Codec.decoding_table['143,179,207'] = [21125] let s:lib.Codec.decoding_table['143,179,208'] = [21130] let s:lib.Codec.decoding_table['143,179,209'] = [21132] let s:lib.Codec.decoding_table['143,179,210'] = [21139] let s:lib.Codec.decoding_table['143,179,211'] = [21141] let s:lib.Codec.decoding_table['143,179,212'] = [21142] let s:lib.Codec.decoding_table['143,179,213'] = [21143] let s:lib.Codec.decoding_table['143,179,214'] = [21144] let s:lib.Codec.decoding_table['143,179,215'] = [21146] let s:lib.Codec.decoding_table['143,179,216'] = [21148] let s:lib.Codec.decoding_table['143,179,217'] = [21156] let s:lib.Codec.decoding_table['143,179,218'] = [21157] let s:lib.Codec.decoding_table['143,179,219'] = [21158] let s:lib.Codec.decoding_table['143,179,220'] = [21159] let s:lib.Codec.decoding_table['143,179,221'] = [21167] let s:lib.Codec.decoding_table['143,179,222'] = [21168] let s:lib.Codec.decoding_table['143,179,223'] = [21174] let s:lib.Codec.decoding_table['143,179,224'] = [21175] let s:lib.Codec.decoding_table['143,179,225'] = [21176] let s:lib.Codec.decoding_table['143,179,226'] = [21178] let s:lib.Codec.decoding_table['143,179,227'] = [21179] let s:lib.Codec.decoding_table['143,179,228'] = [21181] let s:lib.Codec.decoding_table['143,179,229'] = [21184] let s:lib.Codec.decoding_table['143,179,230'] = [21188] let s:lib.Codec.decoding_table['143,179,231'] = [21190] let s:lib.Codec.decoding_table['143,179,232'] = [21192] let s:lib.Codec.decoding_table['143,179,233'] = [21196] let s:lib.Codec.decoding_table['143,179,234'] = [21199] let s:lib.Codec.decoding_table['143,179,235'] = [21201] let s:lib.Codec.decoding_table['143,179,236'] = [21204] let s:lib.Codec.decoding_table['143,179,237'] = [21206] let s:lib.Codec.decoding_table['143,179,238'] = [21211] let s:lib.Codec.decoding_table['143,179,239'] = [21212] let s:lib.Codec.decoding_table['143,179,240'] = [21217] let s:lib.Codec.decoding_table['143,179,241'] = [21221] let s:lib.Codec.decoding_table['143,179,242'] = [21224] let s:lib.Codec.decoding_table['143,179,243'] = [21225] let s:lib.Codec.decoding_table['143,179,244'] = [21226] let s:lib.Codec.decoding_table['143,179,245'] = [21228] let s:lib.Codec.decoding_table['143,179,246'] = [21232] let s:lib.Codec.decoding_table['143,179,247'] = [21233] let s:lib.Codec.decoding_table['143,179,248'] = [21236] let s:lib.Codec.decoding_table['143,179,249'] = [21238] let s:lib.Codec.decoding_table['143,179,250'] = [21239] let s:lib.Codec.decoding_table['143,179,251'] = [21248] let s:lib.Codec.decoding_table['143,179,252'] = [21251] let s:lib.Codec.decoding_table['143,179,253'] = [21258] let s:lib.Codec.decoding_table['143,179,254'] = [21259] let s:lib.Codec.decoding_table['143,180,161'] = [21260] let s:lib.Codec.decoding_table['143,180,162'] = [21265] let s:lib.Codec.decoding_table['143,180,163'] = [21267] let s:lib.Codec.decoding_table['143,180,164'] = [21272] let s:lib.Codec.decoding_table['143,180,165'] = [21275] let s:lib.Codec.decoding_table['143,180,166'] = [21276] let s:lib.Codec.decoding_table['143,180,167'] = [21278] let s:lib.Codec.decoding_table['143,180,168'] = [21279] let s:lib.Codec.decoding_table['143,180,169'] = [21285] let s:lib.Codec.decoding_table['143,180,170'] = [21287] let s:lib.Codec.decoding_table['143,180,171'] = [21288] let s:lib.Codec.decoding_table['143,180,172'] = [21289] let s:lib.Codec.decoding_table['143,180,173'] = [21291] let s:lib.Codec.decoding_table['143,180,174'] = [21292] let s:lib.Codec.decoding_table['143,180,175'] = [21293] let s:lib.Codec.decoding_table['143,180,176'] = [21296] let s:lib.Codec.decoding_table['143,180,177'] = [21298] let s:lib.Codec.decoding_table['143,180,178'] = [21301] let s:lib.Codec.decoding_table['143,180,179'] = [21308] let s:lib.Codec.decoding_table['143,180,180'] = [21309] let s:lib.Codec.decoding_table['143,180,181'] = [21310] let s:lib.Codec.decoding_table['143,180,182'] = [21314] let s:lib.Codec.decoding_table['143,180,183'] = [21324] let s:lib.Codec.decoding_table['143,180,184'] = [21323] let s:lib.Codec.decoding_table['143,180,185'] = [21337] let s:lib.Codec.decoding_table['143,180,186'] = [21339] let s:lib.Codec.decoding_table['143,180,187'] = [21345] let s:lib.Codec.decoding_table['143,180,188'] = [21347] let s:lib.Codec.decoding_table['143,180,189'] = [21349] let s:lib.Codec.decoding_table['143,180,190'] = [21356] let s:lib.Codec.decoding_table['143,180,191'] = [21357] let s:lib.Codec.decoding_table['143,180,192'] = [21362] let s:lib.Codec.decoding_table['143,180,193'] = [21369] let s:lib.Codec.decoding_table['143,180,194'] = [21374] let s:lib.Codec.decoding_table['143,180,195'] = [21379] let s:lib.Codec.decoding_table['143,180,196'] = [21383] let s:lib.Codec.decoding_table['143,180,197'] = [21384] let s:lib.Codec.decoding_table['143,180,198'] = [21390] let s:lib.Codec.decoding_table['143,180,199'] = [21395] let s:lib.Codec.decoding_table['143,180,200'] = [21396] let s:lib.Codec.decoding_table['143,180,201'] = [21401] let s:lib.Codec.decoding_table['143,180,202'] = [21405] let s:lib.Codec.decoding_table['143,180,203'] = [21409] let s:lib.Codec.decoding_table['143,180,204'] = [21412] let s:lib.Codec.decoding_table['143,180,205'] = [21418] let s:lib.Codec.decoding_table['143,180,206'] = [21419] let s:lib.Codec.decoding_table['143,180,207'] = [21423] let s:lib.Codec.decoding_table['143,180,208'] = [21426] let s:lib.Codec.decoding_table['143,180,209'] = [21428] let s:lib.Codec.decoding_table['143,180,210'] = [21429] let s:lib.Codec.decoding_table['143,180,211'] = [21431] let s:lib.Codec.decoding_table['143,180,212'] = [21432] let s:lib.Codec.decoding_table['143,180,213'] = [21434] let s:lib.Codec.decoding_table['143,180,214'] = [21437] let s:lib.Codec.decoding_table['143,180,215'] = [21440] let s:lib.Codec.decoding_table['143,180,216'] = [21445] let s:lib.Codec.decoding_table['143,180,217'] = [21455] let s:lib.Codec.decoding_table['143,180,218'] = [21458] let s:lib.Codec.decoding_table['143,180,219'] = [21459] let s:lib.Codec.decoding_table['143,180,220'] = [21461] let s:lib.Codec.decoding_table['143,180,221'] = [21466] let s:lib.Codec.decoding_table['143,180,222'] = [21469] let s:lib.Codec.decoding_table['143,180,223'] = [21470] let s:lib.Codec.decoding_table['143,180,224'] = [21472] let s:lib.Codec.decoding_table['143,180,225'] = [21478] let s:lib.Codec.decoding_table['143,180,226'] = [21479] let s:lib.Codec.decoding_table['143,180,227'] = [21493] let s:lib.Codec.decoding_table['143,180,228'] = [21506] let s:lib.Codec.decoding_table['143,180,229'] = [21523] let s:lib.Codec.decoding_table['143,180,230'] = [21530] let s:lib.Codec.decoding_table['143,180,231'] = [21537] let s:lib.Codec.decoding_table['143,180,232'] = [21543] let s:lib.Codec.decoding_table['143,180,233'] = [21544] let s:lib.Codec.decoding_table['143,180,234'] = [21546] let s:lib.Codec.decoding_table['143,180,235'] = [21551] let s:lib.Codec.decoding_table['143,180,236'] = [21553] let s:lib.Codec.decoding_table['143,180,237'] = [21556] let s:lib.Codec.decoding_table['143,180,238'] = [21557] let s:lib.Codec.decoding_table['143,180,239'] = [21571] let s:lib.Codec.decoding_table['143,180,240'] = [21572] let s:lib.Codec.decoding_table['143,180,241'] = [21575] let s:lib.Codec.decoding_table['143,180,242'] = [21581] let s:lib.Codec.decoding_table['143,180,243'] = [21583] let s:lib.Codec.decoding_table['143,180,244'] = [21598] let s:lib.Codec.decoding_table['143,180,245'] = [21602] let s:lib.Codec.decoding_table['143,180,246'] = [21604] let s:lib.Codec.decoding_table['143,180,247'] = [21606] let s:lib.Codec.decoding_table['143,180,248'] = [21607] let s:lib.Codec.decoding_table['143,180,249'] = [21609] let s:lib.Codec.decoding_table['143,180,250'] = [21611] let s:lib.Codec.decoding_table['143,180,251'] = [21613] let s:lib.Codec.decoding_table['143,180,252'] = [21614] let s:lib.Codec.decoding_table['143,180,253'] = [21620] let s:lib.Codec.decoding_table['143,180,254'] = [21631] let s:lib.Codec.decoding_table['143,181,161'] = [21633] let s:lib.Codec.decoding_table['143,181,162'] = [21635] let s:lib.Codec.decoding_table['143,181,163'] = [21637] let s:lib.Codec.decoding_table['143,181,164'] = [21640] let s:lib.Codec.decoding_table['143,181,165'] = [21641] let s:lib.Codec.decoding_table['143,181,166'] = [21645] let s:lib.Codec.decoding_table['143,181,167'] = [21649] let s:lib.Codec.decoding_table['143,181,168'] = [21653] let s:lib.Codec.decoding_table['143,181,169'] = [21654] let s:lib.Codec.decoding_table['143,181,170'] = [21660] let s:lib.Codec.decoding_table['143,181,171'] = [21663] let s:lib.Codec.decoding_table['143,181,172'] = [21665] let s:lib.Codec.decoding_table['143,181,173'] = [21670] let s:lib.Codec.decoding_table['143,181,174'] = [21671] let s:lib.Codec.decoding_table['143,181,175'] = [21673] let s:lib.Codec.decoding_table['143,181,176'] = [21674] let s:lib.Codec.decoding_table['143,181,177'] = [21677] let s:lib.Codec.decoding_table['143,181,178'] = [21678] let s:lib.Codec.decoding_table['143,181,179'] = [21681] let s:lib.Codec.decoding_table['143,181,180'] = [21687] let s:lib.Codec.decoding_table['143,181,181'] = [21689] let s:lib.Codec.decoding_table['143,181,182'] = [21690] let s:lib.Codec.decoding_table['143,181,183'] = [21691] let s:lib.Codec.decoding_table['143,181,184'] = [21695] let s:lib.Codec.decoding_table['143,181,185'] = [21702] let s:lib.Codec.decoding_table['143,181,186'] = [21706] let s:lib.Codec.decoding_table['143,181,187'] = [21709] let s:lib.Codec.decoding_table['143,181,188'] = [21710] let s:lib.Codec.decoding_table['143,181,189'] = [21728] let s:lib.Codec.decoding_table['143,181,190'] = [21738] let s:lib.Codec.decoding_table['143,181,191'] = [21740] let s:lib.Codec.decoding_table['143,181,192'] = [21743] let s:lib.Codec.decoding_table['143,181,193'] = [21750] let s:lib.Codec.decoding_table['143,181,194'] = [21756] let s:lib.Codec.decoding_table['143,181,195'] = [21758] let s:lib.Codec.decoding_table['143,181,196'] = [21759] let s:lib.Codec.decoding_table['143,181,197'] = [21760] let s:lib.Codec.decoding_table['143,181,198'] = [21761] let s:lib.Codec.decoding_table['143,181,199'] = [21765] let s:lib.Codec.decoding_table['143,181,200'] = [21768] let s:lib.Codec.decoding_table['143,181,201'] = [21769] let s:lib.Codec.decoding_table['143,181,202'] = [21772] let s:lib.Codec.decoding_table['143,181,203'] = [21773] let s:lib.Codec.decoding_table['143,181,204'] = [21774] let s:lib.Codec.decoding_table['143,181,205'] = [21781] let s:lib.Codec.decoding_table['143,181,206'] = [21802] let s:lib.Codec.decoding_table['143,181,207'] = [21803] let s:lib.Codec.decoding_table['143,181,208'] = [21810] let s:lib.Codec.decoding_table['143,181,209'] = [21813] let s:lib.Codec.decoding_table['143,181,210'] = [21814] let s:lib.Codec.decoding_table['143,181,211'] = [21819] let s:lib.Codec.decoding_table['143,181,212'] = [21820] let s:lib.Codec.decoding_table['143,181,213'] = [21821] let s:lib.Codec.decoding_table['143,181,214'] = [21825] let s:lib.Codec.decoding_table['143,181,215'] = [21831] let s:lib.Codec.decoding_table['143,181,216'] = [21833] let s:lib.Codec.decoding_table['143,181,217'] = [21834] let s:lib.Codec.decoding_table['143,181,218'] = [21837] let s:lib.Codec.decoding_table['143,181,219'] = [21840] let s:lib.Codec.decoding_table['143,181,220'] = [21841] let s:lib.Codec.decoding_table['143,181,221'] = [21848] let s:lib.Codec.decoding_table['143,181,222'] = [21850] let s:lib.Codec.decoding_table['143,181,223'] = [21851] let s:lib.Codec.decoding_table['143,181,224'] = [21854] let s:lib.Codec.decoding_table['143,181,225'] = [21856] let s:lib.Codec.decoding_table['143,181,226'] = [21857] let s:lib.Codec.decoding_table['143,181,227'] = [21860] let s:lib.Codec.decoding_table['143,181,228'] = [21862] let s:lib.Codec.decoding_table['143,181,229'] = [21887] let s:lib.Codec.decoding_table['143,181,230'] = [21889] let s:lib.Codec.decoding_table['143,181,231'] = [21890] let s:lib.Codec.decoding_table['143,181,232'] = [21894] let s:lib.Codec.decoding_table['143,181,233'] = [21896] let s:lib.Codec.decoding_table['143,181,234'] = [21902] let s:lib.Codec.decoding_table['143,181,235'] = [21903] let s:lib.Codec.decoding_table['143,181,236'] = [21905] let s:lib.Codec.decoding_table['143,181,237'] = [21906] let s:lib.Codec.decoding_table['143,181,238'] = [21907] let s:lib.Codec.decoding_table['143,181,239'] = [21908] let s:lib.Codec.decoding_table['143,181,240'] = [21911] let s:lib.Codec.decoding_table['143,181,241'] = [21923] let s:lib.Codec.decoding_table['143,181,242'] = [21924] let s:lib.Codec.decoding_table['143,181,243'] = [21933] let s:lib.Codec.decoding_table['143,181,244'] = [21938] let s:lib.Codec.decoding_table['143,181,245'] = [21951] let s:lib.Codec.decoding_table['143,181,246'] = [21953] let s:lib.Codec.decoding_table['143,181,247'] = [21955] let s:lib.Codec.decoding_table['143,181,248'] = [21958] let s:lib.Codec.decoding_table['143,181,249'] = [21961] let s:lib.Codec.decoding_table['143,181,250'] = [21963] let s:lib.Codec.decoding_table['143,181,251'] = [21964] let s:lib.Codec.decoding_table['143,181,252'] = [21966] let s:lib.Codec.decoding_table['143,181,253'] = [21969] let s:lib.Codec.decoding_table['143,181,254'] = [21970] let s:lib.Codec.decoding_table['143,182,161'] = [21971] let s:lib.Codec.decoding_table['143,182,162'] = [21975] let s:lib.Codec.decoding_table['143,182,163'] = [21976] let s:lib.Codec.decoding_table['143,182,164'] = [21979] let s:lib.Codec.decoding_table['143,182,165'] = [21982] let s:lib.Codec.decoding_table['143,182,166'] = [21986] let s:lib.Codec.decoding_table['143,182,167'] = [21993] let s:lib.Codec.decoding_table['143,182,168'] = [22006] let s:lib.Codec.decoding_table['143,182,169'] = [22015] let s:lib.Codec.decoding_table['143,182,170'] = [22021] let s:lib.Codec.decoding_table['143,182,171'] = [22024] let s:lib.Codec.decoding_table['143,182,172'] = [22026] let s:lib.Codec.decoding_table['143,182,173'] = [22029] let s:lib.Codec.decoding_table['143,182,174'] = [22030] let s:lib.Codec.decoding_table['143,182,175'] = [22031] let s:lib.Codec.decoding_table['143,182,176'] = [22032] let s:lib.Codec.decoding_table['143,182,177'] = [22033] let s:lib.Codec.decoding_table['143,182,178'] = [22034] let s:lib.Codec.decoding_table['143,182,179'] = [22041] let s:lib.Codec.decoding_table['143,182,180'] = [22060] let s:lib.Codec.decoding_table['143,182,181'] = [22064] let s:lib.Codec.decoding_table['143,182,182'] = [22067] let s:lib.Codec.decoding_table['143,182,183'] = [22069] let s:lib.Codec.decoding_table['143,182,184'] = [22071] let s:lib.Codec.decoding_table['143,182,185'] = [22073] let s:lib.Codec.decoding_table['143,182,186'] = [22075] let s:lib.Codec.decoding_table['143,182,187'] = [22076] let s:lib.Codec.decoding_table['143,182,188'] = [22077] let s:lib.Codec.decoding_table['143,182,189'] = [22079] let s:lib.Codec.decoding_table['143,182,190'] = [22080] let s:lib.Codec.decoding_table['143,182,191'] = [22081] let s:lib.Codec.decoding_table['143,182,192'] = [22083] let s:lib.Codec.decoding_table['143,182,193'] = [22084] let s:lib.Codec.decoding_table['143,182,194'] = [22086] let s:lib.Codec.decoding_table['143,182,195'] = [22089] let s:lib.Codec.decoding_table['143,182,196'] = [22091] let s:lib.Codec.decoding_table['143,182,197'] = [22093] let s:lib.Codec.decoding_table['143,182,198'] = [22095] let s:lib.Codec.decoding_table['143,182,199'] = [22100] let s:lib.Codec.decoding_table['143,182,200'] = [22110] let s:lib.Codec.decoding_table['143,182,201'] = [22112] let s:lib.Codec.decoding_table['143,182,202'] = [22113] let s:lib.Codec.decoding_table['143,182,203'] = [22114] let s:lib.Codec.decoding_table['143,182,204'] = [22115] let s:lib.Codec.decoding_table['143,182,205'] = [22118] let s:lib.Codec.decoding_table['143,182,206'] = [22121] let s:lib.Codec.decoding_table['143,182,207'] = [22125] let s:lib.Codec.decoding_table['143,182,208'] = [22127] let s:lib.Codec.decoding_table['143,182,209'] = [22129] let s:lib.Codec.decoding_table['143,182,210'] = [22130] let s:lib.Codec.decoding_table['143,182,211'] = [22133] let s:lib.Codec.decoding_table['143,182,212'] = [22148] let s:lib.Codec.decoding_table['143,182,213'] = [22149] let s:lib.Codec.decoding_table['143,182,214'] = [22152] let s:lib.Codec.decoding_table['143,182,215'] = [22155] let s:lib.Codec.decoding_table['143,182,216'] = [22156] let s:lib.Codec.decoding_table['143,182,217'] = [22165] let s:lib.Codec.decoding_table['143,182,218'] = [22169] let s:lib.Codec.decoding_table['143,182,219'] = [22170] let s:lib.Codec.decoding_table['143,182,220'] = [22173] let s:lib.Codec.decoding_table['143,182,221'] = [22174] let s:lib.Codec.decoding_table['143,182,222'] = [22175] let s:lib.Codec.decoding_table['143,182,223'] = [22182] let s:lib.Codec.decoding_table['143,182,224'] = [22183] let s:lib.Codec.decoding_table['143,182,225'] = [22184] let s:lib.Codec.decoding_table['143,182,226'] = [22185] let s:lib.Codec.decoding_table['143,182,227'] = [22187] let s:lib.Codec.decoding_table['143,182,228'] = [22188] let s:lib.Codec.decoding_table['143,182,229'] = [22189] let s:lib.Codec.decoding_table['143,182,230'] = [22193] let s:lib.Codec.decoding_table['143,182,231'] = [22195] let s:lib.Codec.decoding_table['143,182,232'] = [22199] let s:lib.Codec.decoding_table['143,182,233'] = [22206] let s:lib.Codec.decoding_table['143,182,234'] = [22213] let s:lib.Codec.decoding_table['143,182,235'] = [22217] let s:lib.Codec.decoding_table['143,182,236'] = [22218] let s:lib.Codec.decoding_table['143,182,237'] = [22219] let s:lib.Codec.decoding_table['143,182,238'] = [22223] let s:lib.Codec.decoding_table['143,182,239'] = [22224] let s:lib.Codec.decoding_table['143,182,240'] = [22220] let s:lib.Codec.decoding_table['143,182,241'] = [22221] let s:lib.Codec.decoding_table['143,182,242'] = [22233] let s:lib.Codec.decoding_table['143,182,243'] = [22236] let s:lib.Codec.decoding_table['143,182,244'] = [22237] let s:lib.Codec.decoding_table['143,182,245'] = [22239] let s:lib.Codec.decoding_table['143,182,246'] = [22241] let s:lib.Codec.decoding_table['143,182,247'] = [22244] let s:lib.Codec.decoding_table['143,182,248'] = [22245] let s:lib.Codec.decoding_table['143,182,249'] = [22246] let s:lib.Codec.decoding_table['143,182,250'] = [22247] let s:lib.Codec.decoding_table['143,182,251'] = [22248] let s:lib.Codec.decoding_table['143,182,252'] = [22257] let s:lib.Codec.decoding_table['143,182,253'] = [22251] let s:lib.Codec.decoding_table['143,182,254'] = [22253] let s:lib.Codec.decoding_table['143,183,161'] = [22262] let s:lib.Codec.decoding_table['143,183,162'] = [22263] let s:lib.Codec.decoding_table['143,183,163'] = [22273] let s:lib.Codec.decoding_table['143,183,164'] = [22274] let s:lib.Codec.decoding_table['143,183,165'] = [22279] let s:lib.Codec.decoding_table['143,183,166'] = [22282] let s:lib.Codec.decoding_table['143,183,167'] = [22284] let s:lib.Codec.decoding_table['143,183,168'] = [22289] let s:lib.Codec.decoding_table['143,183,169'] = [22293] let s:lib.Codec.decoding_table['143,183,170'] = [22298] let s:lib.Codec.decoding_table['143,183,171'] = [22299] let s:lib.Codec.decoding_table['143,183,172'] = [22301] let s:lib.Codec.decoding_table['143,183,173'] = [22304] let s:lib.Codec.decoding_table['143,183,174'] = [22306] let s:lib.Codec.decoding_table['143,183,175'] = [22307] let s:lib.Codec.decoding_table['143,183,176'] = [22308] let s:lib.Codec.decoding_table['143,183,177'] = [22309] let s:lib.Codec.decoding_table['143,183,178'] = [22313] let s:lib.Codec.decoding_table['143,183,179'] = [22314] let s:lib.Codec.decoding_table['143,183,180'] = [22316] let s:lib.Codec.decoding_table['143,183,181'] = [22318] let s:lib.Codec.decoding_table['143,183,182'] = [22319] let s:lib.Codec.decoding_table['143,183,183'] = [22323] let s:lib.Codec.decoding_table['143,183,184'] = [22324] let s:lib.Codec.decoding_table['143,183,185'] = [22333] let s:lib.Codec.decoding_table['143,183,186'] = [22334] let s:lib.Codec.decoding_table['143,183,187'] = [22335] let s:lib.Codec.decoding_table['143,183,188'] = [22341] let s:lib.Codec.decoding_table['143,183,189'] = [22342] let s:lib.Codec.decoding_table['143,183,190'] = [22348] let s:lib.Codec.decoding_table['143,183,191'] = [22349] let s:lib.Codec.decoding_table['143,183,192'] = [22354] let s:lib.Codec.decoding_table['143,183,193'] = [22370] let s:lib.Codec.decoding_table['143,183,194'] = [22373] let s:lib.Codec.decoding_table['143,183,195'] = [22375] let s:lib.Codec.decoding_table['143,183,196'] = [22376] let s:lib.Codec.decoding_table['143,183,197'] = [22379] let s:lib.Codec.decoding_table['143,183,198'] = [22381] let s:lib.Codec.decoding_table['143,183,199'] = [22382] let s:lib.Codec.decoding_table['143,183,200'] = [22383] let s:lib.Codec.decoding_table['143,183,201'] = [22384] let s:lib.Codec.decoding_table['143,183,202'] = [22385] let s:lib.Codec.decoding_table['143,183,203'] = [22387] let s:lib.Codec.decoding_table['143,183,204'] = [22388] let s:lib.Codec.decoding_table['143,183,205'] = [22389] let s:lib.Codec.decoding_table['143,183,206'] = [22391] let s:lib.Codec.decoding_table['143,183,207'] = [22393] let s:lib.Codec.decoding_table['143,183,208'] = [22394] let s:lib.Codec.decoding_table['143,183,209'] = [22395] let s:lib.Codec.decoding_table['143,183,210'] = [22396] let s:lib.Codec.decoding_table['143,183,211'] = [22398] let s:lib.Codec.decoding_table['143,183,212'] = [22401] let s:lib.Codec.decoding_table['143,183,213'] = [22403] let s:lib.Codec.decoding_table['143,183,214'] = [22412] let s:lib.Codec.decoding_table['143,183,215'] = [22420] let s:lib.Codec.decoding_table['143,183,216'] = [22423] let s:lib.Codec.decoding_table['143,183,217'] = [22425] let s:lib.Codec.decoding_table['143,183,218'] = [22426] let s:lib.Codec.decoding_table['143,183,219'] = [22428] let s:lib.Codec.decoding_table['143,183,220'] = [22429] let s:lib.Codec.decoding_table['143,183,221'] = [22430] let s:lib.Codec.decoding_table['143,183,222'] = [22431] let s:lib.Codec.decoding_table['143,183,223'] = [22433] let s:lib.Codec.decoding_table['143,183,224'] = [22421] let s:lib.Codec.decoding_table['143,183,225'] = [22439] let s:lib.Codec.decoding_table['143,183,226'] = [22440] let s:lib.Codec.decoding_table['143,183,227'] = [22441] let s:lib.Codec.decoding_table['143,183,228'] = [22444] let s:lib.Codec.decoding_table['143,183,229'] = [22456] let s:lib.Codec.decoding_table['143,183,230'] = [22461] let s:lib.Codec.decoding_table['143,183,231'] = [22471] let s:lib.Codec.decoding_table['143,183,232'] = [22472] let s:lib.Codec.decoding_table['143,183,233'] = [22476] let s:lib.Codec.decoding_table['143,183,234'] = [22479] let s:lib.Codec.decoding_table['143,183,235'] = [22485] let s:lib.Codec.decoding_table['143,183,236'] = [22493] let s:lib.Codec.decoding_table['143,183,237'] = [22494] let s:lib.Codec.decoding_table['143,183,238'] = [22500] let s:lib.Codec.decoding_table['143,183,239'] = [22502] let s:lib.Codec.decoding_table['143,183,240'] = [22503] let s:lib.Codec.decoding_table['143,183,241'] = [22505] let s:lib.Codec.decoding_table['143,183,242'] = [22509] let s:lib.Codec.decoding_table['143,183,243'] = [22512] let s:lib.Codec.decoding_table['143,183,244'] = [22517] let s:lib.Codec.decoding_table['143,183,245'] = [22518] let s:lib.Codec.decoding_table['143,183,246'] = [22520] let s:lib.Codec.decoding_table['143,183,247'] = [22525] let s:lib.Codec.decoding_table['143,183,248'] = [22526] let s:lib.Codec.decoding_table['143,183,249'] = [22527] let s:lib.Codec.decoding_table['143,183,250'] = [22531] let s:lib.Codec.decoding_table['143,183,251'] = [22532] let s:lib.Codec.decoding_table['143,183,252'] = [22536] let s:lib.Codec.decoding_table['143,183,253'] = [22537] let s:lib.Codec.decoding_table['143,183,254'] = [22497] let s:lib.Codec.decoding_table['143,184,161'] = [22540] let s:lib.Codec.decoding_table['143,184,162'] = [22541] let s:lib.Codec.decoding_table['143,184,163'] = [22555] let s:lib.Codec.decoding_table['143,184,164'] = [22558] let s:lib.Codec.decoding_table['143,184,165'] = [22559] let s:lib.Codec.decoding_table['143,184,166'] = [22560] let s:lib.Codec.decoding_table['143,184,167'] = [22566] let s:lib.Codec.decoding_table['143,184,168'] = [22567] let s:lib.Codec.decoding_table['143,184,169'] = [22573] let s:lib.Codec.decoding_table['143,184,170'] = [22578] let s:lib.Codec.decoding_table['143,184,171'] = [22585] let s:lib.Codec.decoding_table['143,184,172'] = [22591] let s:lib.Codec.decoding_table['143,184,173'] = [22601] let s:lib.Codec.decoding_table['143,184,174'] = [22604] let s:lib.Codec.decoding_table['143,184,175'] = [22605] let s:lib.Codec.decoding_table['143,184,176'] = [22607] let s:lib.Codec.decoding_table['143,184,177'] = [22608] let s:lib.Codec.decoding_table['143,184,178'] = [22613] let s:lib.Codec.decoding_table['143,184,179'] = [22623] let s:lib.Codec.decoding_table['143,184,180'] = [22625] let s:lib.Codec.decoding_table['143,184,181'] = [22628] let s:lib.Codec.decoding_table['143,184,182'] = [22631] let s:lib.Codec.decoding_table['143,184,183'] = [22632] let s:lib.Codec.decoding_table['143,184,184'] = [22648] let s:lib.Codec.decoding_table['143,184,185'] = [22652] let s:lib.Codec.decoding_table['143,184,186'] = [22655] let s:lib.Codec.decoding_table['143,184,187'] = [22656] let s:lib.Codec.decoding_table['143,184,188'] = [22657] let s:lib.Codec.decoding_table['143,184,189'] = [22663] let s:lib.Codec.decoding_table['143,184,190'] = [22664] let s:lib.Codec.decoding_table['143,184,191'] = [22665] let s:lib.Codec.decoding_table['143,184,192'] = [22666] let s:lib.Codec.decoding_table['143,184,193'] = [22668] let s:lib.Codec.decoding_table['143,184,194'] = [22669] let s:lib.Codec.decoding_table['143,184,195'] = [22671] let s:lib.Codec.decoding_table['143,184,196'] = [22672] let s:lib.Codec.decoding_table['143,184,197'] = [22676] let s:lib.Codec.decoding_table['143,184,198'] = [22678] let s:lib.Codec.decoding_table['143,184,199'] = [22685] let s:lib.Codec.decoding_table['143,184,200'] = [22688] let s:lib.Codec.decoding_table['143,184,201'] = [22689] let s:lib.Codec.decoding_table['143,184,202'] = [22690] let s:lib.Codec.decoding_table['143,184,203'] = [22694] let s:lib.Codec.decoding_table['143,184,204'] = [22697] let s:lib.Codec.decoding_table['143,184,205'] = [22705] let s:lib.Codec.decoding_table['143,184,206'] = [22706] let s:lib.Codec.decoding_table['143,184,207'] = [22724] let s:lib.Codec.decoding_table['143,184,208'] = [22716] let s:lib.Codec.decoding_table['143,184,209'] = [22722] let s:lib.Codec.decoding_table['143,184,210'] = [22728] let s:lib.Codec.decoding_table['143,184,211'] = [22733] let s:lib.Codec.decoding_table['143,184,212'] = [22734] let s:lib.Codec.decoding_table['143,184,213'] = [22736] let s:lib.Codec.decoding_table['143,184,214'] = [22738] let s:lib.Codec.decoding_table['143,184,215'] = [22740] let s:lib.Codec.decoding_table['143,184,216'] = [22742] let s:lib.Codec.decoding_table['143,184,217'] = [22746] let s:lib.Codec.decoding_table['143,184,218'] = [22749] let s:lib.Codec.decoding_table['143,184,219'] = [22753] let s:lib.Codec.decoding_table['143,184,220'] = [22754] let s:lib.Codec.decoding_table['143,184,221'] = [22761] let s:lib.Codec.decoding_table['143,184,222'] = [22771] let s:lib.Codec.decoding_table['143,184,223'] = [22789] let s:lib.Codec.decoding_table['143,184,224'] = [22790] let s:lib.Codec.decoding_table['143,184,225'] = [22795] let s:lib.Codec.decoding_table['143,184,226'] = [22796] let s:lib.Codec.decoding_table['143,184,227'] = [22802] let s:lib.Codec.decoding_table['143,184,228'] = [22803] let s:lib.Codec.decoding_table['143,184,229'] = [22804] let s:lib.Codec.decoding_table['143,184,230'] = [34369] let s:lib.Codec.decoding_table['143,184,231'] = [22813] let s:lib.Codec.decoding_table['143,184,232'] = [22817] let s:lib.Codec.decoding_table['143,184,233'] = [22819] let s:lib.Codec.decoding_table['143,184,234'] = [22820] let s:lib.Codec.decoding_table['143,184,235'] = [22824] let s:lib.Codec.decoding_table['143,184,236'] = [22831] let s:lib.Codec.decoding_table['143,184,237'] = [22832] let s:lib.Codec.decoding_table['143,184,238'] = [22835] let s:lib.Codec.decoding_table['143,184,239'] = [22837] let s:lib.Codec.decoding_table['143,184,240'] = [22838] let s:lib.Codec.decoding_table['143,184,241'] = [22847] let s:lib.Codec.decoding_table['143,184,242'] = [22851] let s:lib.Codec.decoding_table['143,184,243'] = [22854] let s:lib.Codec.decoding_table['143,184,244'] = [22866] let s:lib.Codec.decoding_table['143,184,245'] = [22867] let s:lib.Codec.decoding_table['143,184,246'] = [22873] let s:lib.Codec.decoding_table['143,184,247'] = [22875] let s:lib.Codec.decoding_table['143,184,248'] = [22877] let s:lib.Codec.decoding_table['143,184,249'] = [22878] let s:lib.Codec.decoding_table['143,184,250'] = [22879] let s:lib.Codec.decoding_table['143,184,251'] = [22881] let s:lib.Codec.decoding_table['143,184,252'] = [22883] let s:lib.Codec.decoding_table['143,184,253'] = [22891] let s:lib.Codec.decoding_table['143,184,254'] = [22893] let s:lib.Codec.decoding_table['143,185,161'] = [22895] let s:lib.Codec.decoding_table['143,185,162'] = [22898] let s:lib.Codec.decoding_table['143,185,163'] = [22901] let s:lib.Codec.decoding_table['143,185,164'] = [22902] let s:lib.Codec.decoding_table['143,185,165'] = [22905] let s:lib.Codec.decoding_table['143,185,166'] = [22907] let s:lib.Codec.decoding_table['143,185,167'] = [22908] let s:lib.Codec.decoding_table['143,185,168'] = [22923] let s:lib.Codec.decoding_table['143,185,169'] = [22924] let s:lib.Codec.decoding_table['143,185,170'] = [22926] let s:lib.Codec.decoding_table['143,185,171'] = [22930] let s:lib.Codec.decoding_table['143,185,172'] = [22933] let s:lib.Codec.decoding_table['143,185,173'] = [22935] let s:lib.Codec.decoding_table['143,185,174'] = [22943] let s:lib.Codec.decoding_table['143,185,175'] = [22948] let s:lib.Codec.decoding_table['143,185,176'] = [22951] let s:lib.Codec.decoding_table['143,185,177'] = [22957] let s:lib.Codec.decoding_table['143,185,178'] = [22958] let s:lib.Codec.decoding_table['143,185,179'] = [22959] let s:lib.Codec.decoding_table['143,185,180'] = [22960] let s:lib.Codec.decoding_table['143,185,181'] = [22963] let s:lib.Codec.decoding_table['143,185,182'] = [22967] let s:lib.Codec.decoding_table['143,185,183'] = [22970] let s:lib.Codec.decoding_table['143,185,184'] = [22972] let s:lib.Codec.decoding_table['143,185,185'] = [22977] let s:lib.Codec.decoding_table['143,185,186'] = [22979] let s:lib.Codec.decoding_table['143,185,187'] = [22980] let s:lib.Codec.decoding_table['143,185,188'] = [22984] let s:lib.Codec.decoding_table['143,185,189'] = [22986] let s:lib.Codec.decoding_table['143,185,190'] = [22989] let s:lib.Codec.decoding_table['143,185,191'] = [22994] let s:lib.Codec.decoding_table['143,185,192'] = [23005] let s:lib.Codec.decoding_table['143,185,193'] = [23006] let s:lib.Codec.decoding_table['143,185,194'] = [23007] let s:lib.Codec.decoding_table['143,185,195'] = [23011] let s:lib.Codec.decoding_table['143,185,196'] = [23012] let s:lib.Codec.decoding_table['143,185,197'] = [23015] let s:lib.Codec.decoding_table['143,185,198'] = [23022] let s:lib.Codec.decoding_table['143,185,199'] = [23023] let s:lib.Codec.decoding_table['143,185,200'] = [23025] let s:lib.Codec.decoding_table['143,185,201'] = [23026] let s:lib.Codec.decoding_table['143,185,202'] = [23028] let s:lib.Codec.decoding_table['143,185,203'] = [23031] let s:lib.Codec.decoding_table['143,185,204'] = [23040] let s:lib.Codec.decoding_table['143,185,205'] = [23044] let s:lib.Codec.decoding_table['143,185,206'] = [23052] let s:lib.Codec.decoding_table['143,185,207'] = [23053] let s:lib.Codec.decoding_table['143,185,208'] = [23054] let s:lib.Codec.decoding_table['143,185,209'] = [23058] let s:lib.Codec.decoding_table['143,185,210'] = [23059] let s:lib.Codec.decoding_table['143,185,211'] = [23070] let s:lib.Codec.decoding_table['143,185,212'] = [23075] let s:lib.Codec.decoding_table['143,185,213'] = [23076] let s:lib.Codec.decoding_table['143,185,214'] = [23079] let s:lib.Codec.decoding_table['143,185,215'] = [23080] let s:lib.Codec.decoding_table['143,185,216'] = [23082] let s:lib.Codec.decoding_table['143,185,217'] = [23085] let s:lib.Codec.decoding_table['143,185,218'] = [23088] let s:lib.Codec.decoding_table['143,185,219'] = [23108] let s:lib.Codec.decoding_table['143,185,220'] = [23109] let s:lib.Codec.decoding_table['143,185,221'] = [23111] let s:lib.Codec.decoding_table['143,185,222'] = [23112] let s:lib.Codec.decoding_table['143,185,223'] = [23116] let s:lib.Codec.decoding_table['143,185,224'] = [23120] let s:lib.Codec.decoding_table['143,185,225'] = [23125] let s:lib.Codec.decoding_table['143,185,226'] = [23134] let s:lib.Codec.decoding_table['143,185,227'] = [23139] let s:lib.Codec.decoding_table['143,185,228'] = [23141] let s:lib.Codec.decoding_table['143,185,229'] = [23143] let s:lib.Codec.decoding_table['143,185,230'] = [23149] let s:lib.Codec.decoding_table['143,185,231'] = [23159] let s:lib.Codec.decoding_table['143,185,232'] = [23162] let s:lib.Codec.decoding_table['143,185,233'] = [23163] let s:lib.Codec.decoding_table['143,185,234'] = [23166] let s:lib.Codec.decoding_table['143,185,235'] = [23179] let s:lib.Codec.decoding_table['143,185,236'] = [23184] let s:lib.Codec.decoding_table['143,185,237'] = [23187] let s:lib.Codec.decoding_table['143,185,238'] = [23190] let s:lib.Codec.decoding_table['143,185,239'] = [23193] let s:lib.Codec.decoding_table['143,185,240'] = [23196] let s:lib.Codec.decoding_table['143,185,241'] = [23198] let s:lib.Codec.decoding_table['143,185,242'] = [23199] let s:lib.Codec.decoding_table['143,185,243'] = [23200] let s:lib.Codec.decoding_table['143,185,244'] = [23202] let s:lib.Codec.decoding_table['143,185,245'] = [23207] let s:lib.Codec.decoding_table['143,185,246'] = [23212] let s:lib.Codec.decoding_table['143,185,247'] = [23217] let s:lib.Codec.decoding_table['143,185,248'] = [23218] let s:lib.Codec.decoding_table['143,185,249'] = [23219] let s:lib.Codec.decoding_table['143,185,250'] = [23221] let s:lib.Codec.decoding_table['143,185,251'] = [23224] let s:lib.Codec.decoding_table['143,185,252'] = [23226] let s:lib.Codec.decoding_table['143,185,253'] = [23227] let s:lib.Codec.decoding_table['143,185,254'] = [23231] let s:lib.Codec.decoding_table['143,186,161'] = [23236] let s:lib.Codec.decoding_table['143,186,162'] = [23238] let s:lib.Codec.decoding_table['143,186,163'] = [23240] let s:lib.Codec.decoding_table['143,186,164'] = [23247] let s:lib.Codec.decoding_table['143,186,165'] = [23258] let s:lib.Codec.decoding_table['143,186,166'] = [23260] let s:lib.Codec.decoding_table['143,186,167'] = [23264] let s:lib.Codec.decoding_table['143,186,168'] = [23269] let s:lib.Codec.decoding_table['143,186,169'] = [23274] let s:lib.Codec.decoding_table['143,186,170'] = [23278] let s:lib.Codec.decoding_table['143,186,171'] = [23285] let s:lib.Codec.decoding_table['143,186,172'] = [23286] let s:lib.Codec.decoding_table['143,186,173'] = [23293] let s:lib.Codec.decoding_table['143,186,174'] = [23296] let s:lib.Codec.decoding_table['143,186,175'] = [23297] let s:lib.Codec.decoding_table['143,186,176'] = [23304] let s:lib.Codec.decoding_table['143,186,177'] = [23319] let s:lib.Codec.decoding_table['143,186,178'] = [23348] let s:lib.Codec.decoding_table['143,186,179'] = [23321] let s:lib.Codec.decoding_table['143,186,180'] = [23323] let s:lib.Codec.decoding_table['143,186,181'] = [23325] let s:lib.Codec.decoding_table['143,186,182'] = [23329] let s:lib.Codec.decoding_table['143,186,183'] = [23333] let s:lib.Codec.decoding_table['143,186,184'] = [23341] let s:lib.Codec.decoding_table['143,186,185'] = [23352] let s:lib.Codec.decoding_table['143,186,186'] = [23361] let s:lib.Codec.decoding_table['143,186,187'] = [23371] let s:lib.Codec.decoding_table['143,186,188'] = [23372] let s:lib.Codec.decoding_table['143,186,189'] = [23378] let s:lib.Codec.decoding_table['143,186,190'] = [23382] let s:lib.Codec.decoding_table['143,186,191'] = [23390] let s:lib.Codec.decoding_table['143,186,192'] = [23400] let s:lib.Codec.decoding_table['143,186,193'] = [23406] let s:lib.Codec.decoding_table['143,186,194'] = [23407] let s:lib.Codec.decoding_table['143,186,195'] = [23420] let s:lib.Codec.decoding_table['143,186,196'] = [23421] let s:lib.Codec.decoding_table['143,186,197'] = [23422] let s:lib.Codec.decoding_table['143,186,198'] = [23423] let s:lib.Codec.decoding_table['143,186,199'] = [23425] let s:lib.Codec.decoding_table['143,186,200'] = [23428] let s:lib.Codec.decoding_table['143,186,201'] = [23430] let s:lib.Codec.decoding_table['143,186,202'] = [23434] let s:lib.Codec.decoding_table['143,186,203'] = [23438] let s:lib.Codec.decoding_table['143,186,204'] = [23440] let s:lib.Codec.decoding_table['143,186,205'] = [23441] let s:lib.Codec.decoding_table['143,186,206'] = [23443] let s:lib.Codec.decoding_table['143,186,207'] = [23444] let s:lib.Codec.decoding_table['143,186,208'] = [23446] let s:lib.Codec.decoding_table['143,186,209'] = [23464] let s:lib.Codec.decoding_table['143,186,210'] = [23465] let s:lib.Codec.decoding_table['143,186,211'] = [23468] let s:lib.Codec.decoding_table['143,186,212'] = [23469] let s:lib.Codec.decoding_table['143,186,213'] = [23471] let s:lib.Codec.decoding_table['143,186,214'] = [23473] let s:lib.Codec.decoding_table['143,186,215'] = [23474] let s:lib.Codec.decoding_table['143,186,216'] = [23479] let s:lib.Codec.decoding_table['143,186,217'] = [23482] let s:lib.Codec.decoding_table['143,186,218'] = [23484] let s:lib.Codec.decoding_table['143,186,219'] = [23488] let s:lib.Codec.decoding_table['143,186,220'] = [23489] let s:lib.Codec.decoding_table['143,186,221'] = [23501] let s:lib.Codec.decoding_table['143,186,222'] = [23503] let s:lib.Codec.decoding_table['143,186,223'] = [23510] let s:lib.Codec.decoding_table['143,186,224'] = [23511] let s:lib.Codec.decoding_table['143,186,225'] = [23512] let s:lib.Codec.decoding_table['143,186,226'] = [23513] let s:lib.Codec.decoding_table['143,186,227'] = [23514] let s:lib.Codec.decoding_table['143,186,228'] = [23520] let s:lib.Codec.decoding_table['143,186,229'] = [23535] let s:lib.Codec.decoding_table['143,186,230'] = [23537] let s:lib.Codec.decoding_table['143,186,231'] = [23540] let s:lib.Codec.decoding_table['143,186,232'] = [23549] let s:lib.Codec.decoding_table['143,186,233'] = [23564] let s:lib.Codec.decoding_table['143,186,234'] = [23575] let s:lib.Codec.decoding_table['143,186,235'] = [23582] let s:lib.Codec.decoding_table['143,186,236'] = [23583] let s:lib.Codec.decoding_table['143,186,237'] = [23587] let s:lib.Codec.decoding_table['143,186,238'] = [23590] let s:lib.Codec.decoding_table['143,186,239'] = [23593] let s:lib.Codec.decoding_table['143,186,240'] = [23595] let s:lib.Codec.decoding_table['143,186,241'] = [23596] let s:lib.Codec.decoding_table['143,186,242'] = [23598] let s:lib.Codec.decoding_table['143,186,243'] = [23600] let s:lib.Codec.decoding_table['143,186,244'] = [23602] let s:lib.Codec.decoding_table['143,186,245'] = [23605] let s:lib.Codec.decoding_table['143,186,246'] = [23606] let s:lib.Codec.decoding_table['143,186,247'] = [23641] let s:lib.Codec.decoding_table['143,186,248'] = [23642] let s:lib.Codec.decoding_table['143,186,249'] = [23644] let s:lib.Codec.decoding_table['143,186,250'] = [23650] let s:lib.Codec.decoding_table['143,186,251'] = [23651] let s:lib.Codec.decoding_table['143,186,252'] = [23655] let s:lib.Codec.decoding_table['143,186,253'] = [23656] let s:lib.Codec.decoding_table['143,186,254'] = [23657] let s:lib.Codec.decoding_table['143,187,161'] = [23661] let s:lib.Codec.decoding_table['143,187,162'] = [23664] let s:lib.Codec.decoding_table['143,187,163'] = [23668] let s:lib.Codec.decoding_table['143,187,164'] = [23669] let s:lib.Codec.decoding_table['143,187,165'] = [23674] let s:lib.Codec.decoding_table['143,187,166'] = [23675] let s:lib.Codec.decoding_table['143,187,167'] = [23676] let s:lib.Codec.decoding_table['143,187,168'] = [23677] let s:lib.Codec.decoding_table['143,187,169'] = [23687] let s:lib.Codec.decoding_table['143,187,170'] = [23688] let s:lib.Codec.decoding_table['143,187,171'] = [23690] let s:lib.Codec.decoding_table['143,187,172'] = [23695] let s:lib.Codec.decoding_table['143,187,173'] = [23698] let s:lib.Codec.decoding_table['143,187,174'] = [23709] let s:lib.Codec.decoding_table['143,187,175'] = [23711] let s:lib.Codec.decoding_table['143,187,176'] = [23712] let s:lib.Codec.decoding_table['143,187,177'] = [23714] let s:lib.Codec.decoding_table['143,187,178'] = [23715] let s:lib.Codec.decoding_table['143,187,179'] = [23718] let s:lib.Codec.decoding_table['143,187,180'] = [23722] let s:lib.Codec.decoding_table['143,187,181'] = [23730] let s:lib.Codec.decoding_table['143,187,182'] = [23732] let s:lib.Codec.decoding_table['143,187,183'] = [23733] let s:lib.Codec.decoding_table['143,187,184'] = [23738] let s:lib.Codec.decoding_table['143,187,185'] = [23753] let s:lib.Codec.decoding_table['143,187,186'] = [23755] let s:lib.Codec.decoding_table['143,187,187'] = [23762] let s:lib.Codec.decoding_table['143,187,188'] = [23773] let s:lib.Codec.decoding_table['143,187,189'] = [23767] let s:lib.Codec.decoding_table['143,187,190'] = [23790] let s:lib.Codec.decoding_table['143,187,191'] = [23793] let s:lib.Codec.decoding_table['143,187,192'] = [23794] let s:lib.Codec.decoding_table['143,187,193'] = [23796] let s:lib.Codec.decoding_table['143,187,194'] = [23809] let s:lib.Codec.decoding_table['143,187,195'] = [23814] let s:lib.Codec.decoding_table['143,187,196'] = [23821] let s:lib.Codec.decoding_table['143,187,197'] = [23826] let s:lib.Codec.decoding_table['143,187,198'] = [23851] let s:lib.Codec.decoding_table['143,187,199'] = [23843] let s:lib.Codec.decoding_table['143,187,200'] = [23844] let s:lib.Codec.decoding_table['143,187,201'] = [23846] let s:lib.Codec.decoding_table['143,187,202'] = [23847] let s:lib.Codec.decoding_table['143,187,203'] = [23857] let s:lib.Codec.decoding_table['143,187,204'] = [23860] let s:lib.Codec.decoding_table['143,187,205'] = [23865] let s:lib.Codec.decoding_table['143,187,206'] = [23869] let s:lib.Codec.decoding_table['143,187,207'] = [23871] let s:lib.Codec.decoding_table['143,187,208'] = [23874] let s:lib.Codec.decoding_table['143,187,209'] = [23875] let s:lib.Codec.decoding_table['143,187,210'] = [23878] let s:lib.Codec.decoding_table['143,187,211'] = [23880] let s:lib.Codec.decoding_table['143,187,212'] = [23893] let s:lib.Codec.decoding_table['143,187,213'] = [23889] let s:lib.Codec.decoding_table['143,187,214'] = [23897] let s:lib.Codec.decoding_table['143,187,215'] = [23882] let s:lib.Codec.decoding_table['143,187,216'] = [23903] let s:lib.Codec.decoding_table['143,187,217'] = [23904] let s:lib.Codec.decoding_table['143,187,218'] = [23905] let s:lib.Codec.decoding_table['143,187,219'] = [23906] let s:lib.Codec.decoding_table['143,187,220'] = [23908] let s:lib.Codec.decoding_table['143,187,221'] = [23914] let s:lib.Codec.decoding_table['143,187,222'] = [23917] let s:lib.Codec.decoding_table['143,187,223'] = [23920] let s:lib.Codec.decoding_table['143,187,224'] = [23929] let s:lib.Codec.decoding_table['143,187,225'] = [23930] let s:lib.Codec.decoding_table['143,187,226'] = [23934] let s:lib.Codec.decoding_table['143,187,227'] = [23935] let s:lib.Codec.decoding_table['143,187,228'] = [23937] let s:lib.Codec.decoding_table['143,187,229'] = [23939] let s:lib.Codec.decoding_table['143,187,230'] = [23944] let s:lib.Codec.decoding_table['143,187,231'] = [23946] let s:lib.Codec.decoding_table['143,187,232'] = [23954] let s:lib.Codec.decoding_table['143,187,233'] = [23955] let s:lib.Codec.decoding_table['143,187,234'] = [23956] let s:lib.Codec.decoding_table['143,187,235'] = [23957] let s:lib.Codec.decoding_table['143,187,236'] = [23961] let s:lib.Codec.decoding_table['143,187,237'] = [23963] let s:lib.Codec.decoding_table['143,187,238'] = [23967] let s:lib.Codec.decoding_table['143,187,239'] = [23968] let s:lib.Codec.decoding_table['143,187,240'] = [23975] let s:lib.Codec.decoding_table['143,187,241'] = [23979] let s:lib.Codec.decoding_table['143,187,242'] = [23984] let s:lib.Codec.decoding_table['143,187,243'] = [23988] let s:lib.Codec.decoding_table['143,187,244'] = [23992] let s:lib.Codec.decoding_table['143,187,245'] = [23993] let s:lib.Codec.decoding_table['143,187,246'] = [24003] let s:lib.Codec.decoding_table['143,187,247'] = [24007] let s:lib.Codec.decoding_table['143,187,248'] = [24011] let s:lib.Codec.decoding_table['143,187,249'] = [24016] let s:lib.Codec.decoding_table['143,187,250'] = [24014] let s:lib.Codec.decoding_table['143,187,251'] = [24024] let s:lib.Codec.decoding_table['143,187,252'] = [24025] let s:lib.Codec.decoding_table['143,187,253'] = [24032] let s:lib.Codec.decoding_table['143,187,254'] = [24036] let s:lib.Codec.decoding_table['143,188,161'] = [24041] let s:lib.Codec.decoding_table['143,188,162'] = [24056] let s:lib.Codec.decoding_table['143,188,163'] = [24057] let s:lib.Codec.decoding_table['143,188,164'] = [24064] let s:lib.Codec.decoding_table['143,188,165'] = [24071] let s:lib.Codec.decoding_table['143,188,166'] = [24077] let s:lib.Codec.decoding_table['143,188,167'] = [24082] let s:lib.Codec.decoding_table['143,188,168'] = [24084] let s:lib.Codec.decoding_table['143,188,169'] = [24085] let s:lib.Codec.decoding_table['143,188,170'] = [24088] let s:lib.Codec.decoding_table['143,188,171'] = [24095] let s:lib.Codec.decoding_table['143,188,172'] = [24096] let s:lib.Codec.decoding_table['143,188,173'] = [24110] let s:lib.Codec.decoding_table['143,188,174'] = [24104] let s:lib.Codec.decoding_table['143,188,175'] = [24114] let s:lib.Codec.decoding_table['143,188,176'] = [24117] let s:lib.Codec.decoding_table['143,188,177'] = [24126] let s:lib.Codec.decoding_table['143,188,178'] = [24139] let s:lib.Codec.decoding_table['143,188,179'] = [24144] let s:lib.Codec.decoding_table['143,188,180'] = [24137] let s:lib.Codec.decoding_table['143,188,181'] = [24145] let s:lib.Codec.decoding_table['143,188,182'] = [24150] let s:lib.Codec.decoding_table['143,188,183'] = [24152] let s:lib.Codec.decoding_table['143,188,184'] = [24155] let s:lib.Codec.decoding_table['143,188,185'] = [24156] let s:lib.Codec.decoding_table['143,188,186'] = [24158] let s:lib.Codec.decoding_table['143,188,187'] = [24168] let s:lib.Codec.decoding_table['143,188,188'] = [24170] let s:lib.Codec.decoding_table['143,188,189'] = [24171] let s:lib.Codec.decoding_table['143,188,190'] = [24172] let s:lib.Codec.decoding_table['143,188,191'] = [24173] let s:lib.Codec.decoding_table['143,188,192'] = [24174] let s:lib.Codec.decoding_table['143,188,193'] = [24176] let s:lib.Codec.decoding_table['143,188,194'] = [24192] let s:lib.Codec.decoding_table['143,188,195'] = [24203] let s:lib.Codec.decoding_table['143,188,196'] = [24206] let s:lib.Codec.decoding_table['143,188,197'] = [24226] let s:lib.Codec.decoding_table['143,188,198'] = [24228] let s:lib.Codec.decoding_table['143,188,199'] = [24229] let s:lib.Codec.decoding_table['143,188,200'] = [24232] let s:lib.Codec.decoding_table['143,188,201'] = [24234] let s:lib.Codec.decoding_table['143,188,202'] = [24236] let s:lib.Codec.decoding_table['143,188,203'] = [24241] let s:lib.Codec.decoding_table['143,188,204'] = [24243] let s:lib.Codec.decoding_table['143,188,205'] = [24253] let s:lib.Codec.decoding_table['143,188,206'] = [24254] let s:lib.Codec.decoding_table['143,188,207'] = [24255] let s:lib.Codec.decoding_table['143,188,208'] = [24262] let s:lib.Codec.decoding_table['143,188,209'] = [24268] let s:lib.Codec.decoding_table['143,188,210'] = [24267] let s:lib.Codec.decoding_table['143,188,211'] = [24270] let s:lib.Codec.decoding_table['143,188,212'] = [24273] let s:lib.Codec.decoding_table['143,188,213'] = [24274] let s:lib.Codec.decoding_table['143,188,214'] = [24276] let s:lib.Codec.decoding_table['143,188,215'] = [24277] let s:lib.Codec.decoding_table['143,188,216'] = [24284] let s:lib.Codec.decoding_table['143,188,217'] = [24286] let s:lib.Codec.decoding_table['143,188,218'] = [24293] let s:lib.Codec.decoding_table['143,188,219'] = [24299] let s:lib.Codec.decoding_table['143,188,220'] = [24322] let s:lib.Codec.decoding_table['143,188,221'] = [24326] let s:lib.Codec.decoding_table['143,188,222'] = [24327] let s:lib.Codec.decoding_table['143,188,223'] = [24328] let s:lib.Codec.decoding_table['143,188,224'] = [24334] let s:lib.Codec.decoding_table['143,188,225'] = [24345] let s:lib.Codec.decoding_table['143,188,226'] = [24348] let s:lib.Codec.decoding_table['143,188,227'] = [24349] let s:lib.Codec.decoding_table['143,188,228'] = [24353] let s:lib.Codec.decoding_table['143,188,229'] = [24354] let s:lib.Codec.decoding_table['143,188,230'] = [24355] let s:lib.Codec.decoding_table['143,188,231'] = [24356] let s:lib.Codec.decoding_table['143,188,232'] = [24360] let s:lib.Codec.decoding_table['143,188,233'] = [24363] let s:lib.Codec.decoding_table['143,188,234'] = [24364] let s:lib.Codec.decoding_table['143,188,235'] = [24366] let s:lib.Codec.decoding_table['143,188,236'] = [24368] let s:lib.Codec.decoding_table['143,188,237'] = [24372] let s:lib.Codec.decoding_table['143,188,238'] = [24374] let s:lib.Codec.decoding_table['143,188,239'] = [24379] let s:lib.Codec.decoding_table['143,188,240'] = [24381] let s:lib.Codec.decoding_table['143,188,241'] = [24383] let s:lib.Codec.decoding_table['143,188,242'] = [24384] let s:lib.Codec.decoding_table['143,188,243'] = [24388] let s:lib.Codec.decoding_table['143,188,244'] = [24389] let s:lib.Codec.decoding_table['143,188,245'] = [24391] let s:lib.Codec.decoding_table['143,188,246'] = [24397] let s:lib.Codec.decoding_table['143,188,247'] = [24400] let s:lib.Codec.decoding_table['143,188,248'] = [24404] let s:lib.Codec.decoding_table['143,188,249'] = [24408] let s:lib.Codec.decoding_table['143,188,250'] = [24411] let s:lib.Codec.decoding_table['143,188,251'] = [24416] let s:lib.Codec.decoding_table['143,188,252'] = [24419] let s:lib.Codec.decoding_table['143,188,253'] = [24420] let s:lib.Codec.decoding_table['143,188,254'] = [24423] let s:lib.Codec.decoding_table['143,189,161'] = [24431] let s:lib.Codec.decoding_table['143,189,162'] = [24434] let s:lib.Codec.decoding_table['143,189,163'] = [24436] let s:lib.Codec.decoding_table['143,189,164'] = [24437] let s:lib.Codec.decoding_table['143,189,165'] = [24440] let s:lib.Codec.decoding_table['143,189,166'] = [24442] let s:lib.Codec.decoding_table['143,189,167'] = [24445] let s:lib.Codec.decoding_table['143,189,168'] = [24446] let s:lib.Codec.decoding_table['143,189,169'] = [24457] let s:lib.Codec.decoding_table['143,189,170'] = [24461] let s:lib.Codec.decoding_table['143,189,171'] = [24463] let s:lib.Codec.decoding_table['143,189,172'] = [24470] let s:lib.Codec.decoding_table['143,189,173'] = [24476] let s:lib.Codec.decoding_table['143,189,174'] = [24477] let s:lib.Codec.decoding_table['143,189,175'] = [24482] let s:lib.Codec.decoding_table['143,189,176'] = [24487] let s:lib.Codec.decoding_table['143,189,177'] = [24491] let s:lib.Codec.decoding_table['143,189,178'] = [24484] let s:lib.Codec.decoding_table['143,189,179'] = [24492] let s:lib.Codec.decoding_table['143,189,180'] = [24495] let s:lib.Codec.decoding_table['143,189,181'] = [24496] let s:lib.Codec.decoding_table['143,189,182'] = [24497] let s:lib.Codec.decoding_table['143,189,183'] = [24504] let s:lib.Codec.decoding_table['143,189,184'] = [24516] let s:lib.Codec.decoding_table['143,189,185'] = [24519] let s:lib.Codec.decoding_table['143,189,186'] = [24520] let s:lib.Codec.decoding_table['143,189,187'] = [24521] let s:lib.Codec.decoding_table['143,189,188'] = [24523] let s:lib.Codec.decoding_table['143,189,189'] = [24528] let s:lib.Codec.decoding_table['143,189,190'] = [24529] let s:lib.Codec.decoding_table['143,189,191'] = [24530] let s:lib.Codec.decoding_table['143,189,192'] = [24531] let s:lib.Codec.decoding_table['143,189,193'] = [24532] let s:lib.Codec.decoding_table['143,189,194'] = [24542] let s:lib.Codec.decoding_table['143,189,195'] = [24545] let s:lib.Codec.decoding_table['143,189,196'] = [24546] let s:lib.Codec.decoding_table['143,189,197'] = [24552] let s:lib.Codec.decoding_table['143,189,198'] = [24553] let s:lib.Codec.decoding_table['143,189,199'] = [24554] let s:lib.Codec.decoding_table['143,189,200'] = [24556] let s:lib.Codec.decoding_table['143,189,201'] = [24557] let s:lib.Codec.decoding_table['143,189,202'] = [24558] let s:lib.Codec.decoding_table['143,189,203'] = [24559] let s:lib.Codec.decoding_table['143,189,204'] = [24562] let s:lib.Codec.decoding_table['143,189,205'] = [24563] let s:lib.Codec.decoding_table['143,189,206'] = [24566] let s:lib.Codec.decoding_table['143,189,207'] = [24570] let s:lib.Codec.decoding_table['143,189,208'] = [24572] let s:lib.Codec.decoding_table['143,189,209'] = [24583] let s:lib.Codec.decoding_table['143,189,210'] = [24586] let s:lib.Codec.decoding_table['143,189,211'] = [24589] let s:lib.Codec.decoding_table['143,189,212'] = [24595] let s:lib.Codec.decoding_table['143,189,213'] = [24596] let s:lib.Codec.decoding_table['143,189,214'] = [24599] let s:lib.Codec.decoding_table['143,189,215'] = [24600] let s:lib.Codec.decoding_table['143,189,216'] = [24602] let s:lib.Codec.decoding_table['143,189,217'] = [24607] let s:lib.Codec.decoding_table['143,189,218'] = [24612] let s:lib.Codec.decoding_table['143,189,219'] = [24621] let s:lib.Codec.decoding_table['143,189,220'] = [24627] let s:lib.Codec.decoding_table['143,189,221'] = [24629] let s:lib.Codec.decoding_table['143,189,222'] = [24640] let s:lib.Codec.decoding_table['143,189,223'] = [24647] let s:lib.Codec.decoding_table['143,189,224'] = [24648] let s:lib.Codec.decoding_table['143,189,225'] = [24649] let s:lib.Codec.decoding_table['143,189,226'] = [24652] let s:lib.Codec.decoding_table['143,189,227'] = [24657] let s:lib.Codec.decoding_table['143,189,228'] = [24660] let s:lib.Codec.decoding_table['143,189,229'] = [24662] let s:lib.Codec.decoding_table['143,189,230'] = [24663] let s:lib.Codec.decoding_table['143,189,231'] = [24669] let s:lib.Codec.decoding_table['143,189,232'] = [24673] let s:lib.Codec.decoding_table['143,189,233'] = [24679] let s:lib.Codec.decoding_table['143,189,234'] = [24689] let s:lib.Codec.decoding_table['143,189,235'] = [24702] let s:lib.Codec.decoding_table['143,189,236'] = [24703] let s:lib.Codec.decoding_table['143,189,237'] = [24706] let s:lib.Codec.decoding_table['143,189,238'] = [24710] let s:lib.Codec.decoding_table['143,189,239'] = [24712] let s:lib.Codec.decoding_table['143,189,240'] = [24714] let s:lib.Codec.decoding_table['143,189,241'] = [24718] let s:lib.Codec.decoding_table['143,189,242'] = [24721] let s:lib.Codec.decoding_table['143,189,243'] = [24723] let s:lib.Codec.decoding_table['143,189,244'] = [24725] let s:lib.Codec.decoding_table['143,189,245'] = [24728] let s:lib.Codec.decoding_table['143,189,246'] = [24733] let s:lib.Codec.decoding_table['143,189,247'] = [24734] let s:lib.Codec.decoding_table['143,189,248'] = [24738] let s:lib.Codec.decoding_table['143,189,249'] = [24740] let s:lib.Codec.decoding_table['143,189,250'] = [24741] let s:lib.Codec.decoding_table['143,189,251'] = [24744] let s:lib.Codec.decoding_table['143,189,252'] = [24752] let s:lib.Codec.decoding_table['143,189,253'] = [24753] let s:lib.Codec.decoding_table['143,189,254'] = [24759] let s:lib.Codec.decoding_table['143,190,161'] = [24763] let s:lib.Codec.decoding_table['143,190,162'] = [24766] let s:lib.Codec.decoding_table['143,190,163'] = [24770] let s:lib.Codec.decoding_table['143,190,164'] = [24772] let s:lib.Codec.decoding_table['143,190,165'] = [24776] let s:lib.Codec.decoding_table['143,190,166'] = [24777] let s:lib.Codec.decoding_table['143,190,167'] = [24778] let s:lib.Codec.decoding_table['143,190,168'] = [24779] let s:lib.Codec.decoding_table['143,190,169'] = [24782] let s:lib.Codec.decoding_table['143,190,170'] = [24783] let s:lib.Codec.decoding_table['143,190,171'] = [24788] let s:lib.Codec.decoding_table['143,190,172'] = [24789] let s:lib.Codec.decoding_table['143,190,173'] = [24793] let s:lib.Codec.decoding_table['143,190,174'] = [24795] let s:lib.Codec.decoding_table['143,190,175'] = [24797] let s:lib.Codec.decoding_table['143,190,176'] = [24798] let s:lib.Codec.decoding_table['143,190,177'] = [24802] let s:lib.Codec.decoding_table['143,190,178'] = [24805] let s:lib.Codec.decoding_table['143,190,179'] = [24818] let s:lib.Codec.decoding_table['143,190,180'] = [24821] let s:lib.Codec.decoding_table['143,190,181'] = [24824] let s:lib.Codec.decoding_table['143,190,182'] = [24828] let s:lib.Codec.decoding_table['143,190,183'] = [24829] let s:lib.Codec.decoding_table['143,190,184'] = [24834] let s:lib.Codec.decoding_table['143,190,185'] = [24839] let s:lib.Codec.decoding_table['143,190,186'] = [24842] let s:lib.Codec.decoding_table['143,190,187'] = [24844] let s:lib.Codec.decoding_table['143,190,188'] = [24848] let s:lib.Codec.decoding_table['143,190,189'] = [24849] let s:lib.Codec.decoding_table['143,190,190'] = [24850] let s:lib.Codec.decoding_table['143,190,191'] = [24851] let s:lib.Codec.decoding_table['143,190,192'] = [24852] let s:lib.Codec.decoding_table['143,190,193'] = [24854] let s:lib.Codec.decoding_table['143,190,194'] = [24855] let s:lib.Codec.decoding_table['143,190,195'] = [24857] let s:lib.Codec.decoding_table['143,190,196'] = [24860] let s:lib.Codec.decoding_table['143,190,197'] = [24862] let s:lib.Codec.decoding_table['143,190,198'] = [24866] let s:lib.Codec.decoding_table['143,190,199'] = [24874] let s:lib.Codec.decoding_table['143,190,200'] = [24875] let s:lib.Codec.decoding_table['143,190,201'] = [24880] let s:lib.Codec.decoding_table['143,190,202'] = [24881] let s:lib.Codec.decoding_table['143,190,203'] = [24885] let s:lib.Codec.decoding_table['143,190,204'] = [24886] let s:lib.Codec.decoding_table['143,190,205'] = [24887] let s:lib.Codec.decoding_table['143,190,206'] = [24889] let s:lib.Codec.decoding_table['143,190,207'] = [24897] let s:lib.Codec.decoding_table['143,190,208'] = [24901] let s:lib.Codec.decoding_table['143,190,209'] = [24902] let s:lib.Codec.decoding_table['143,190,210'] = [24905] let s:lib.Codec.decoding_table['143,190,211'] = [24926] let s:lib.Codec.decoding_table['143,190,212'] = [24928] let s:lib.Codec.decoding_table['143,190,213'] = [24940] let s:lib.Codec.decoding_table['143,190,214'] = [24946] let s:lib.Codec.decoding_table['143,190,215'] = [24952] let s:lib.Codec.decoding_table['143,190,216'] = [24955] let s:lib.Codec.decoding_table['143,190,217'] = [24956] let s:lib.Codec.decoding_table['143,190,218'] = [24959] let s:lib.Codec.decoding_table['143,190,219'] = [24960] let s:lib.Codec.decoding_table['143,190,220'] = [24961] let s:lib.Codec.decoding_table['143,190,221'] = [24963] let s:lib.Codec.decoding_table['143,190,222'] = [24964] let s:lib.Codec.decoding_table['143,190,223'] = [24971] let s:lib.Codec.decoding_table['143,190,224'] = [24973] let s:lib.Codec.decoding_table['143,190,225'] = [24978] let s:lib.Codec.decoding_table['143,190,226'] = [24979] let s:lib.Codec.decoding_table['143,190,227'] = [24983] let s:lib.Codec.decoding_table['143,190,228'] = [24984] let s:lib.Codec.decoding_table['143,190,229'] = [24988] let s:lib.Codec.decoding_table['143,190,230'] = [24989] let s:lib.Codec.decoding_table['143,190,231'] = [24991] let s:lib.Codec.decoding_table['143,190,232'] = [24992] let s:lib.Codec.decoding_table['143,190,233'] = [24997] let s:lib.Codec.decoding_table['143,190,234'] = [25000] let s:lib.Codec.decoding_table['143,190,235'] = [25002] let s:lib.Codec.decoding_table['143,190,236'] = [25005] let s:lib.Codec.decoding_table['143,190,237'] = [25016] let s:lib.Codec.decoding_table['143,190,238'] = [25017] let s:lib.Codec.decoding_table['143,190,239'] = [25020] let s:lib.Codec.decoding_table['143,190,240'] = [25024] let s:lib.Codec.decoding_table['143,190,241'] = [25025] let s:lib.Codec.decoding_table['143,190,242'] = [25026] let s:lib.Codec.decoding_table['143,190,243'] = [25038] let s:lib.Codec.decoding_table['143,190,244'] = [25039] let s:lib.Codec.decoding_table['143,190,245'] = [25045] let s:lib.Codec.decoding_table['143,190,246'] = [25052] let s:lib.Codec.decoding_table['143,190,247'] = [25053] let s:lib.Codec.decoding_table['143,190,248'] = [25054] let s:lib.Codec.decoding_table['143,190,249'] = [25055] let s:lib.Codec.decoding_table['143,190,250'] = [25057] let s:lib.Codec.decoding_table['143,190,251'] = [25058] let s:lib.Codec.decoding_table['143,190,252'] = [25063] let s:lib.Codec.decoding_table['143,190,253'] = [25065] let s:lib.Codec.decoding_table['143,190,254'] = [25061] let s:lib.Codec.decoding_table['143,191,161'] = [25068] let s:lib.Codec.decoding_table['143,191,162'] = [25069] let s:lib.Codec.decoding_table['143,191,163'] = [25071] let s:lib.Codec.decoding_table['143,191,164'] = [25089] let s:lib.Codec.decoding_table['143,191,165'] = [25091] let s:lib.Codec.decoding_table['143,191,166'] = [25092] let s:lib.Codec.decoding_table['143,191,167'] = [25095] let s:lib.Codec.decoding_table['143,191,168'] = [25107] let s:lib.Codec.decoding_table['143,191,169'] = [25109] let s:lib.Codec.decoding_table['143,191,170'] = [25116] let s:lib.Codec.decoding_table['143,191,171'] = [25120] let s:lib.Codec.decoding_table['143,191,172'] = [25122] let s:lib.Codec.decoding_table['143,191,173'] = [25123] let s:lib.Codec.decoding_table['143,191,174'] = [25127] let s:lib.Codec.decoding_table['143,191,175'] = [25129] let s:lib.Codec.decoding_table['143,191,176'] = [25131] let s:lib.Codec.decoding_table['143,191,177'] = [25145] let s:lib.Codec.decoding_table['143,191,178'] = [25149] let s:lib.Codec.decoding_table['143,191,179'] = [25154] let s:lib.Codec.decoding_table['143,191,180'] = [25155] let s:lib.Codec.decoding_table['143,191,181'] = [25156] let s:lib.Codec.decoding_table['143,191,182'] = [25158] let s:lib.Codec.decoding_table['143,191,183'] = [25164] let s:lib.Codec.decoding_table['143,191,184'] = [25168] let s:lib.Codec.decoding_table['143,191,185'] = [25169] let s:lib.Codec.decoding_table['143,191,186'] = [25170] let s:lib.Codec.decoding_table['143,191,187'] = [25172] let s:lib.Codec.decoding_table['143,191,188'] = [25174] let s:lib.Codec.decoding_table['143,191,189'] = [25178] let s:lib.Codec.decoding_table['143,191,190'] = [25180] let s:lib.Codec.decoding_table['143,191,191'] = [25188] let s:lib.Codec.decoding_table['143,191,192'] = [25197] let s:lib.Codec.decoding_table['143,191,193'] = [25199] let s:lib.Codec.decoding_table['143,191,194'] = [25203] let s:lib.Codec.decoding_table['143,191,195'] = [25210] let s:lib.Codec.decoding_table['143,191,196'] = [25213] let s:lib.Codec.decoding_table['143,191,197'] = [25229] let s:lib.Codec.decoding_table['143,191,198'] = [25230] let s:lib.Codec.decoding_table['143,191,199'] = [25231] let s:lib.Codec.decoding_table['143,191,200'] = [25232] let s:lib.Codec.decoding_table['143,191,201'] = [25254] let s:lib.Codec.decoding_table['143,191,202'] = [25256] let s:lib.Codec.decoding_table['143,191,203'] = [25267] let s:lib.Codec.decoding_table['143,191,204'] = [25270] let s:lib.Codec.decoding_table['143,191,205'] = [25271] let s:lib.Codec.decoding_table['143,191,206'] = [25274] let s:lib.Codec.decoding_table['143,191,207'] = [25278] let s:lib.Codec.decoding_table['143,191,208'] = [25279] let s:lib.Codec.decoding_table['143,191,209'] = [25284] let s:lib.Codec.decoding_table['143,191,210'] = [25294] let s:lib.Codec.decoding_table['143,191,211'] = [25301] let s:lib.Codec.decoding_table['143,191,212'] = [25302] let s:lib.Codec.decoding_table['143,191,213'] = [25306] let s:lib.Codec.decoding_table['143,191,214'] = [25322] let s:lib.Codec.decoding_table['143,191,215'] = [25330] let s:lib.Codec.decoding_table['143,191,216'] = [25332] let s:lib.Codec.decoding_table['143,191,217'] = [25340] let s:lib.Codec.decoding_table['143,191,218'] = [25341] let s:lib.Codec.decoding_table['143,191,219'] = [25347] let s:lib.Codec.decoding_table['143,191,220'] = [25348] let s:lib.Codec.decoding_table['143,191,221'] = [25354] let s:lib.Codec.decoding_table['143,191,222'] = [25355] let s:lib.Codec.decoding_table['143,191,223'] = [25357] let s:lib.Codec.decoding_table['143,191,224'] = [25360] let s:lib.Codec.decoding_table['143,191,225'] = [25363] let s:lib.Codec.decoding_table['143,191,226'] = [25366] let s:lib.Codec.decoding_table['143,191,227'] = [25368] let s:lib.Codec.decoding_table['143,191,228'] = [25385] let s:lib.Codec.decoding_table['143,191,229'] = [25386] let s:lib.Codec.decoding_table['143,191,230'] = [25389] let s:lib.Codec.decoding_table['143,191,231'] = [25397] let s:lib.Codec.decoding_table['143,191,232'] = [25398] let s:lib.Codec.decoding_table['143,191,233'] = [25401] let s:lib.Codec.decoding_table['143,191,234'] = [25404] let s:lib.Codec.decoding_table['143,191,235'] = [25409] let s:lib.Codec.decoding_table['143,191,236'] = [25410] let s:lib.Codec.decoding_table['143,191,237'] = [25411] let s:lib.Codec.decoding_table['143,191,238'] = [25412] let s:lib.Codec.decoding_table['143,191,239'] = [25414] let s:lib.Codec.decoding_table['143,191,240'] = [25418] let s:lib.Codec.decoding_table['143,191,241'] = [25419] let s:lib.Codec.decoding_table['143,191,242'] = [25422] let s:lib.Codec.decoding_table['143,191,243'] = [25426] let s:lib.Codec.decoding_table['143,191,244'] = [25427] let s:lib.Codec.decoding_table['143,191,245'] = [25428] let s:lib.Codec.decoding_table['143,191,246'] = [25432] let s:lib.Codec.decoding_table['143,191,247'] = [25435] let s:lib.Codec.decoding_table['143,191,248'] = [25445] let s:lib.Codec.decoding_table['143,191,249'] = [25446] let s:lib.Codec.decoding_table['143,191,250'] = [25452] let s:lib.Codec.decoding_table['143,191,251'] = [25453] let s:lib.Codec.decoding_table['143,191,252'] = [25457] let s:lib.Codec.decoding_table['143,191,253'] = [25460] let s:lib.Codec.decoding_table['143,191,254'] = [25461] let s:lib.Codec.decoding_table['143,192,161'] = [25464] let s:lib.Codec.decoding_table['143,192,162'] = [25468] let s:lib.Codec.decoding_table['143,192,163'] = [25469] let s:lib.Codec.decoding_table['143,192,164'] = [25471] let s:lib.Codec.decoding_table['143,192,165'] = [25474] let s:lib.Codec.decoding_table['143,192,166'] = [25476] let s:lib.Codec.decoding_table['143,192,167'] = [25479] let s:lib.Codec.decoding_table['143,192,168'] = [25482] let s:lib.Codec.decoding_table['143,192,169'] = [25488] let s:lib.Codec.decoding_table['143,192,170'] = [25492] let s:lib.Codec.decoding_table['143,192,171'] = [25493] let s:lib.Codec.decoding_table['143,192,172'] = [25497] let s:lib.Codec.decoding_table['143,192,173'] = [25498] let s:lib.Codec.decoding_table['143,192,174'] = [25502] let s:lib.Codec.decoding_table['143,192,175'] = [25508] let s:lib.Codec.decoding_table['143,192,176'] = [25510] let s:lib.Codec.decoding_table['143,192,177'] = [25517] let s:lib.Codec.decoding_table['143,192,178'] = [25518] let s:lib.Codec.decoding_table['143,192,179'] = [25519] let s:lib.Codec.decoding_table['143,192,180'] = [25533] let s:lib.Codec.decoding_table['143,192,181'] = [25537] let s:lib.Codec.decoding_table['143,192,182'] = [25541] let s:lib.Codec.decoding_table['143,192,183'] = [25544] let s:lib.Codec.decoding_table['143,192,184'] = [25550] let s:lib.Codec.decoding_table['143,192,185'] = [25553] let s:lib.Codec.decoding_table['143,192,186'] = [25555] let s:lib.Codec.decoding_table['143,192,187'] = [25556] let s:lib.Codec.decoding_table['143,192,188'] = [25557] let s:lib.Codec.decoding_table['143,192,189'] = [25564] let s:lib.Codec.decoding_table['143,192,190'] = [25568] let s:lib.Codec.decoding_table['143,192,191'] = [25573] let s:lib.Codec.decoding_table['143,192,192'] = [25578] let s:lib.Codec.decoding_table['143,192,193'] = [25580] let s:lib.Codec.decoding_table['143,192,194'] = [25586] let s:lib.Codec.decoding_table['143,192,195'] = [25587] let s:lib.Codec.decoding_table['143,192,196'] = [25589] let s:lib.Codec.decoding_table['143,192,197'] = [25592] let s:lib.Codec.decoding_table['143,192,198'] = [25593] let s:lib.Codec.decoding_table['143,192,199'] = [25609] let s:lib.Codec.decoding_table['143,192,200'] = [25610] let s:lib.Codec.decoding_table['143,192,201'] = [25616] let s:lib.Codec.decoding_table['143,192,202'] = [25618] let s:lib.Codec.decoding_table['143,192,203'] = [25620] let s:lib.Codec.decoding_table['143,192,204'] = [25624] let s:lib.Codec.decoding_table['143,192,205'] = [25630] let s:lib.Codec.decoding_table['143,192,206'] = [25632] let s:lib.Codec.decoding_table['143,192,207'] = [25634] let s:lib.Codec.decoding_table['143,192,208'] = [25636] let s:lib.Codec.decoding_table['143,192,209'] = [25637] let s:lib.Codec.decoding_table['143,192,210'] = [25641] let s:lib.Codec.decoding_table['143,192,211'] = [25642] let s:lib.Codec.decoding_table['143,192,212'] = [25647] let s:lib.Codec.decoding_table['143,192,213'] = [25648] let s:lib.Codec.decoding_table['143,192,214'] = [25653] let s:lib.Codec.decoding_table['143,192,215'] = [25661] let s:lib.Codec.decoding_table['143,192,216'] = [25663] let s:lib.Codec.decoding_table['143,192,217'] = [25675] let s:lib.Codec.decoding_table['143,192,218'] = [25679] let s:lib.Codec.decoding_table['143,192,219'] = [25681] let s:lib.Codec.decoding_table['143,192,220'] = [25682] let s:lib.Codec.decoding_table['143,192,221'] = [25683] let s:lib.Codec.decoding_table['143,192,222'] = [25684] let s:lib.Codec.decoding_table['143,192,223'] = [25690] let s:lib.Codec.decoding_table['143,192,224'] = [25691] let s:lib.Codec.decoding_table['143,192,225'] = [25692] let s:lib.Codec.decoding_table['143,192,226'] = [25693] let s:lib.Codec.decoding_table['143,192,227'] = [25695] let s:lib.Codec.decoding_table['143,192,228'] = [25696] let s:lib.Codec.decoding_table['143,192,229'] = [25697] let s:lib.Codec.decoding_table['143,192,230'] = [25699] let s:lib.Codec.decoding_table['143,192,231'] = [25709] let s:lib.Codec.decoding_table['143,192,232'] = [25715] let s:lib.Codec.decoding_table['143,192,233'] = [25716] let s:lib.Codec.decoding_table['143,192,234'] = [25723] let s:lib.Codec.decoding_table['143,192,235'] = [25725] let s:lib.Codec.decoding_table['143,192,236'] = [25733] let s:lib.Codec.decoding_table['143,192,237'] = [25735] let s:lib.Codec.decoding_table['143,192,238'] = [25743] let s:lib.Codec.decoding_table['143,192,239'] = [25744] let s:lib.Codec.decoding_table['143,192,240'] = [25745] let s:lib.Codec.decoding_table['143,192,241'] = [25752] let s:lib.Codec.decoding_table['143,192,242'] = [25753] let s:lib.Codec.decoding_table['143,192,243'] = [25755] let s:lib.Codec.decoding_table['143,192,244'] = [25757] let s:lib.Codec.decoding_table['143,192,245'] = [25759] let s:lib.Codec.decoding_table['143,192,246'] = [25761] let s:lib.Codec.decoding_table['143,192,247'] = [25763] let s:lib.Codec.decoding_table['143,192,248'] = [25766] let s:lib.Codec.decoding_table['143,192,249'] = [25768] let s:lib.Codec.decoding_table['143,192,250'] = [25772] let s:lib.Codec.decoding_table['143,192,251'] = [25779] let s:lib.Codec.decoding_table['143,192,252'] = [25789] let s:lib.Codec.decoding_table['143,192,253'] = [25790] let s:lib.Codec.decoding_table['143,192,254'] = [25791] let s:lib.Codec.decoding_table['143,193,161'] = [25796] let s:lib.Codec.decoding_table['143,193,162'] = [25801] let s:lib.Codec.decoding_table['143,193,163'] = [25802] let s:lib.Codec.decoding_table['143,193,164'] = [25803] let s:lib.Codec.decoding_table['143,193,165'] = [25804] let s:lib.Codec.decoding_table['143,193,166'] = [25806] let s:lib.Codec.decoding_table['143,193,167'] = [25808] let s:lib.Codec.decoding_table['143,193,168'] = [25809] let s:lib.Codec.decoding_table['143,193,169'] = [25813] let s:lib.Codec.decoding_table['143,193,170'] = [25815] let s:lib.Codec.decoding_table['143,193,171'] = [25828] let s:lib.Codec.decoding_table['143,193,172'] = [25829] let s:lib.Codec.decoding_table['143,193,173'] = [25833] let s:lib.Codec.decoding_table['143,193,174'] = [25834] let s:lib.Codec.decoding_table['143,193,175'] = [25837] let s:lib.Codec.decoding_table['143,193,176'] = [25840] let s:lib.Codec.decoding_table['143,193,177'] = [25845] let s:lib.Codec.decoding_table['143,193,178'] = [25847] let s:lib.Codec.decoding_table['143,193,179'] = [25851] let s:lib.Codec.decoding_table['143,193,180'] = [25855] let s:lib.Codec.decoding_table['143,193,181'] = [25857] let s:lib.Codec.decoding_table['143,193,182'] = [25860] let s:lib.Codec.decoding_table['143,193,183'] = [25864] let s:lib.Codec.decoding_table['143,193,184'] = [25865] let s:lib.Codec.decoding_table['143,193,185'] = [25866] let s:lib.Codec.decoding_table['143,193,186'] = [25871] let s:lib.Codec.decoding_table['143,193,187'] = [25875] let s:lib.Codec.decoding_table['143,193,188'] = [25876] let s:lib.Codec.decoding_table['143,193,189'] = [25878] let s:lib.Codec.decoding_table['143,193,190'] = [25881] let s:lib.Codec.decoding_table['143,193,191'] = [25883] let s:lib.Codec.decoding_table['143,193,192'] = [25886] let s:lib.Codec.decoding_table['143,193,193'] = [25887] let s:lib.Codec.decoding_table['143,193,194'] = [25890] let s:lib.Codec.decoding_table['143,193,195'] = [25894] let s:lib.Codec.decoding_table['143,193,196'] = [25897] let s:lib.Codec.decoding_table['143,193,197'] = [25902] let s:lib.Codec.decoding_table['143,193,198'] = [25905] let s:lib.Codec.decoding_table['143,193,199'] = [25914] let s:lib.Codec.decoding_table['143,193,200'] = [25916] let s:lib.Codec.decoding_table['143,193,201'] = [25917] let s:lib.Codec.decoding_table['143,193,202'] = [25923] let s:lib.Codec.decoding_table['143,193,203'] = [25927] let s:lib.Codec.decoding_table['143,193,204'] = [25929] let s:lib.Codec.decoding_table['143,193,205'] = [25936] let s:lib.Codec.decoding_table['143,193,206'] = [25938] let s:lib.Codec.decoding_table['143,193,207'] = [25940] let s:lib.Codec.decoding_table['143,193,208'] = [25951] let s:lib.Codec.decoding_table['143,193,209'] = [25952] let s:lib.Codec.decoding_table['143,193,210'] = [25959] let s:lib.Codec.decoding_table['143,193,211'] = [25963] let s:lib.Codec.decoding_table['143,193,212'] = [25978] let s:lib.Codec.decoding_table['143,193,213'] = [25981] let s:lib.Codec.decoding_table['143,193,214'] = [25985] let s:lib.Codec.decoding_table['143,193,215'] = [25989] let s:lib.Codec.decoding_table['143,193,216'] = [25994] let s:lib.Codec.decoding_table['143,193,217'] = [26002] let s:lib.Codec.decoding_table['143,193,218'] = [26005] let s:lib.Codec.decoding_table['143,193,219'] = [26008] let s:lib.Codec.decoding_table['143,193,220'] = [26013] let s:lib.Codec.decoding_table['143,193,221'] = [26016] let s:lib.Codec.decoding_table['143,193,222'] = [26019] let s:lib.Codec.decoding_table['143,193,223'] = [26022] let s:lib.Codec.decoding_table['143,193,224'] = [26030] let s:lib.Codec.decoding_table['143,193,225'] = [26034] let s:lib.Codec.decoding_table['143,193,226'] = [26035] let s:lib.Codec.decoding_table['143,193,227'] = [26036] let s:lib.Codec.decoding_table['143,193,228'] = [26047] let s:lib.Codec.decoding_table['143,193,229'] = [26050] let s:lib.Codec.decoding_table['143,193,230'] = [26056] let s:lib.Codec.decoding_table['143,193,231'] = [26057] let s:lib.Codec.decoding_table['143,193,232'] = [26062] let s:lib.Codec.decoding_table['143,193,233'] = [26064] let s:lib.Codec.decoding_table['143,193,234'] = [26068] let s:lib.Codec.decoding_table['143,193,235'] = [26070] let s:lib.Codec.decoding_table['143,193,236'] = [26072] let s:lib.Codec.decoding_table['143,193,237'] = [26079] let s:lib.Codec.decoding_table['143,193,238'] = [26096] let s:lib.Codec.decoding_table['143,193,239'] = [26098] let s:lib.Codec.decoding_table['143,193,240'] = [26100] let s:lib.Codec.decoding_table['143,193,241'] = [26101] let s:lib.Codec.decoding_table['143,193,242'] = [26105] let s:lib.Codec.decoding_table['143,193,243'] = [26110] let s:lib.Codec.decoding_table['143,193,244'] = [26111] let s:lib.Codec.decoding_table['143,193,245'] = [26112] let s:lib.Codec.decoding_table['143,193,246'] = [26116] let s:lib.Codec.decoding_table['143,193,247'] = [26120] let s:lib.Codec.decoding_table['143,193,248'] = [26121] let s:lib.Codec.decoding_table['143,193,249'] = [26125] let s:lib.Codec.decoding_table['143,193,250'] = [26129] let s:lib.Codec.decoding_table['143,193,251'] = [26130] let s:lib.Codec.decoding_table['143,193,252'] = [26133] let s:lib.Codec.decoding_table['143,193,253'] = [26134] let s:lib.Codec.decoding_table['143,193,254'] = [26141] let s:lib.Codec.decoding_table['143,194,161'] = [26142] let s:lib.Codec.decoding_table['143,194,162'] = [26145] let s:lib.Codec.decoding_table['143,194,163'] = [26146] let s:lib.Codec.decoding_table['143,194,164'] = [26147] let s:lib.Codec.decoding_table['143,194,165'] = [26148] let s:lib.Codec.decoding_table['143,194,166'] = [26150] let s:lib.Codec.decoding_table['143,194,167'] = [26153] let s:lib.Codec.decoding_table['143,194,168'] = [26154] let s:lib.Codec.decoding_table['143,194,169'] = [26155] let s:lib.Codec.decoding_table['143,194,170'] = [26156] let s:lib.Codec.decoding_table['143,194,171'] = [26158] let s:lib.Codec.decoding_table['143,194,172'] = [26160] let s:lib.Codec.decoding_table['143,194,173'] = [26161] let s:lib.Codec.decoding_table['143,194,174'] = [26163] let s:lib.Codec.decoding_table['143,194,175'] = [26169] let s:lib.Codec.decoding_table['143,194,176'] = [26167] let s:lib.Codec.decoding_table['143,194,177'] = [26176] let s:lib.Codec.decoding_table['143,194,178'] = [26181] let s:lib.Codec.decoding_table['143,194,179'] = [26182] let s:lib.Codec.decoding_table['143,194,180'] = [26186] let s:lib.Codec.decoding_table['143,194,181'] = [26188] let s:lib.Codec.decoding_table['143,194,182'] = [26193] let s:lib.Codec.decoding_table['143,194,183'] = [26190] let s:lib.Codec.decoding_table['143,194,184'] = [26199] let s:lib.Codec.decoding_table['143,194,185'] = [26200] let s:lib.Codec.decoding_table['143,194,186'] = [26201] let s:lib.Codec.decoding_table['143,194,187'] = [26203] let s:lib.Codec.decoding_table['143,194,188'] = [26204] let s:lib.Codec.decoding_table['143,194,189'] = [26208] let s:lib.Codec.decoding_table['143,194,190'] = [26209] let s:lib.Codec.decoding_table['143,194,191'] = [26363] let s:lib.Codec.decoding_table['143,194,192'] = [26218] let s:lib.Codec.decoding_table['143,194,193'] = [26219] let s:lib.Codec.decoding_table['143,194,194'] = [26220] let s:lib.Codec.decoding_table['143,194,195'] = [26238] let s:lib.Codec.decoding_table['143,194,196'] = [26227] let s:lib.Codec.decoding_table['143,194,197'] = [26229] let s:lib.Codec.decoding_table['143,194,198'] = [26239] let s:lib.Codec.decoding_table['143,194,199'] = [26231] let s:lib.Codec.decoding_table['143,194,200'] = [26232] let s:lib.Codec.decoding_table['143,194,201'] = [26233] let s:lib.Codec.decoding_table['143,194,202'] = [26235] let s:lib.Codec.decoding_table['143,194,203'] = [26240] let s:lib.Codec.decoding_table['143,194,204'] = [26236] let s:lib.Codec.decoding_table['143,194,205'] = [26251] let s:lib.Codec.decoding_table['143,194,206'] = [26252] let s:lib.Codec.decoding_table['143,194,207'] = [26253] let s:lib.Codec.decoding_table['143,194,208'] = [26256] let s:lib.Codec.decoding_table['143,194,209'] = [26258] let s:lib.Codec.decoding_table['143,194,210'] = [26265] let s:lib.Codec.decoding_table['143,194,211'] = [26266] let s:lib.Codec.decoding_table['143,194,212'] = [26267] let s:lib.Codec.decoding_table['143,194,213'] = [26268] let s:lib.Codec.decoding_table['143,194,214'] = [26271] let s:lib.Codec.decoding_table['143,194,215'] = [26272] let s:lib.Codec.decoding_table['143,194,216'] = [26276] let s:lib.Codec.decoding_table['143,194,217'] = [26285] let s:lib.Codec.decoding_table['143,194,218'] = [26289] let s:lib.Codec.decoding_table['143,194,219'] = [26290] let s:lib.Codec.decoding_table['143,194,220'] = [26293] let s:lib.Codec.decoding_table['143,194,221'] = [26299] let s:lib.Codec.decoding_table['143,194,222'] = [26303] let s:lib.Codec.decoding_table['143,194,223'] = [26304] let s:lib.Codec.decoding_table['143,194,224'] = [26306] let s:lib.Codec.decoding_table['143,194,225'] = [26307] let s:lib.Codec.decoding_table['143,194,226'] = [26312] let s:lib.Codec.decoding_table['143,194,227'] = [26316] let s:lib.Codec.decoding_table['143,194,228'] = [26318] let s:lib.Codec.decoding_table['143,194,229'] = [26319] let s:lib.Codec.decoding_table['143,194,230'] = [26324] let s:lib.Codec.decoding_table['143,194,231'] = [26331] let s:lib.Codec.decoding_table['143,194,232'] = [26335] let s:lib.Codec.decoding_table['143,194,233'] = [26344] let s:lib.Codec.decoding_table['143,194,234'] = [26347] let s:lib.Codec.decoding_table['143,194,235'] = [26348] let s:lib.Codec.decoding_table['143,194,236'] = [26350] let s:lib.Codec.decoding_table['143,194,237'] = [26362] let s:lib.Codec.decoding_table['143,194,238'] = [26373] let s:lib.Codec.decoding_table['143,194,239'] = [26375] let s:lib.Codec.decoding_table['143,194,240'] = [26382] let s:lib.Codec.decoding_table['143,194,241'] = [26387] let s:lib.Codec.decoding_table['143,194,242'] = [26393] let s:lib.Codec.decoding_table['143,194,243'] = [26396] let s:lib.Codec.decoding_table['143,194,244'] = [26400] let s:lib.Codec.decoding_table['143,194,245'] = [26402] let s:lib.Codec.decoding_table['143,194,246'] = [26419] let s:lib.Codec.decoding_table['143,194,247'] = [26430] let s:lib.Codec.decoding_table['143,194,248'] = [26437] let s:lib.Codec.decoding_table['143,194,249'] = [26439] let s:lib.Codec.decoding_table['143,194,250'] = [26440] let s:lib.Codec.decoding_table['143,194,251'] = [26444] let s:lib.Codec.decoding_table['143,194,252'] = [26452] let s:lib.Codec.decoding_table['143,194,253'] = [26453] let s:lib.Codec.decoding_table['143,194,254'] = [26461] let s:lib.Codec.decoding_table['143,195,161'] = [26470] let s:lib.Codec.decoding_table['143,195,162'] = [26476] let s:lib.Codec.decoding_table['143,195,163'] = [26478] let s:lib.Codec.decoding_table['143,195,164'] = [26484] let s:lib.Codec.decoding_table['143,195,165'] = [26486] let s:lib.Codec.decoding_table['143,195,166'] = [26491] let s:lib.Codec.decoding_table['143,195,167'] = [26497] let s:lib.Codec.decoding_table['143,195,168'] = [26500] let s:lib.Codec.decoding_table['143,195,169'] = [26510] let s:lib.Codec.decoding_table['143,195,170'] = [26511] let s:lib.Codec.decoding_table['143,195,171'] = [26513] let s:lib.Codec.decoding_table['143,195,172'] = [26515] let s:lib.Codec.decoding_table['143,195,173'] = [26518] let s:lib.Codec.decoding_table['143,195,174'] = [26520] let s:lib.Codec.decoding_table['143,195,175'] = [26521] let s:lib.Codec.decoding_table['143,195,176'] = [26523] let s:lib.Codec.decoding_table['143,195,177'] = [26544] let s:lib.Codec.decoding_table['143,195,178'] = [26545] let s:lib.Codec.decoding_table['143,195,179'] = [26546] let s:lib.Codec.decoding_table['143,195,180'] = [26549] let s:lib.Codec.decoding_table['143,195,181'] = [26555] let s:lib.Codec.decoding_table['143,195,182'] = [26556] let s:lib.Codec.decoding_table['143,195,183'] = [26557] let s:lib.Codec.decoding_table['143,195,184'] = [26617] let s:lib.Codec.decoding_table['143,195,185'] = [26560] let s:lib.Codec.decoding_table['143,195,186'] = [26562] let s:lib.Codec.decoding_table['143,195,187'] = [26563] let s:lib.Codec.decoding_table['143,195,188'] = [26565] let s:lib.Codec.decoding_table['143,195,189'] = [26568] let s:lib.Codec.decoding_table['143,195,190'] = [26569] let s:lib.Codec.decoding_table['143,195,191'] = [26578] let s:lib.Codec.decoding_table['143,195,192'] = [26583] let s:lib.Codec.decoding_table['143,195,193'] = [26585] let s:lib.Codec.decoding_table['143,195,194'] = [26588] let s:lib.Codec.decoding_table['143,195,195'] = [26593] let s:lib.Codec.decoding_table['143,195,196'] = [26598] let s:lib.Codec.decoding_table['143,195,197'] = [26608] let s:lib.Codec.decoding_table['143,195,198'] = [26610] let s:lib.Codec.decoding_table['143,195,199'] = [26614] let s:lib.Codec.decoding_table['143,195,200'] = [26615] let s:lib.Codec.decoding_table['143,195,201'] = [26706] let s:lib.Codec.decoding_table['143,195,202'] = [26644] let s:lib.Codec.decoding_table['143,195,203'] = [26649] let s:lib.Codec.decoding_table['143,195,204'] = [26653] let s:lib.Codec.decoding_table['143,195,205'] = [26655] let s:lib.Codec.decoding_table['143,195,206'] = [26664] let s:lib.Codec.decoding_table['143,195,207'] = [26663] let s:lib.Codec.decoding_table['143,195,208'] = [26668] let s:lib.Codec.decoding_table['143,195,209'] = [26669] let s:lib.Codec.decoding_table['143,195,210'] = [26671] let s:lib.Codec.decoding_table['143,195,211'] = [26672] let s:lib.Codec.decoding_table['143,195,212'] = [26673] let s:lib.Codec.decoding_table['143,195,213'] = [26675] let s:lib.Codec.decoding_table['143,195,214'] = [26683] let s:lib.Codec.decoding_table['143,195,215'] = [26687] let s:lib.Codec.decoding_table['143,195,216'] = [26692] let s:lib.Codec.decoding_table['143,195,217'] = [26693] let s:lib.Codec.decoding_table['143,195,218'] = [26698] let s:lib.Codec.decoding_table['143,195,219'] = [26700] let s:lib.Codec.decoding_table['143,195,220'] = [26709] let s:lib.Codec.decoding_table['143,195,221'] = [26711] let s:lib.Codec.decoding_table['143,195,222'] = [26712] let s:lib.Codec.decoding_table['143,195,223'] = [26715] let s:lib.Codec.decoding_table['143,195,224'] = [26731] let s:lib.Codec.decoding_table['143,195,225'] = [26734] let s:lib.Codec.decoding_table['143,195,226'] = [26735] let s:lib.Codec.decoding_table['143,195,227'] = [26736] let s:lib.Codec.decoding_table['143,195,228'] = [26737] let s:lib.Codec.decoding_table['143,195,229'] = [26738] let s:lib.Codec.decoding_table['143,195,230'] = [26741] let s:lib.Codec.decoding_table['143,195,231'] = [26745] let s:lib.Codec.decoding_table['143,195,232'] = [26746] let s:lib.Codec.decoding_table['143,195,233'] = [26747] let s:lib.Codec.decoding_table['143,195,234'] = [26748] let s:lib.Codec.decoding_table['143,195,235'] = [26754] let s:lib.Codec.decoding_table['143,195,236'] = [26756] let s:lib.Codec.decoding_table['143,195,237'] = [26758] let s:lib.Codec.decoding_table['143,195,238'] = [26760] let s:lib.Codec.decoding_table['143,195,239'] = [26774] let s:lib.Codec.decoding_table['143,195,240'] = [26776] let s:lib.Codec.decoding_table['143,195,241'] = [26778] let s:lib.Codec.decoding_table['143,195,242'] = [26780] let s:lib.Codec.decoding_table['143,195,243'] = [26785] let s:lib.Codec.decoding_table['143,195,244'] = [26787] let s:lib.Codec.decoding_table['143,195,245'] = [26789] let s:lib.Codec.decoding_table['143,195,246'] = [26793] let s:lib.Codec.decoding_table['143,195,247'] = [26794] let s:lib.Codec.decoding_table['143,195,248'] = [26798] let s:lib.Codec.decoding_table['143,195,249'] = [26802] let s:lib.Codec.decoding_table['143,195,250'] = [26811] let s:lib.Codec.decoding_table['143,195,251'] = [26821] let s:lib.Codec.decoding_table['143,195,252'] = [26824] let s:lib.Codec.decoding_table['143,195,253'] = [26828] let s:lib.Codec.decoding_table['143,195,254'] = [26831] let s:lib.Codec.decoding_table['143,196,161'] = [26832] let s:lib.Codec.decoding_table['143,196,162'] = [26833] let s:lib.Codec.decoding_table['143,196,163'] = [26835] let s:lib.Codec.decoding_table['143,196,164'] = [26838] let s:lib.Codec.decoding_table['143,196,165'] = [26841] let s:lib.Codec.decoding_table['143,196,166'] = [26844] let s:lib.Codec.decoding_table['143,196,167'] = [26845] let s:lib.Codec.decoding_table['143,196,168'] = [26853] let s:lib.Codec.decoding_table['143,196,169'] = [26856] let s:lib.Codec.decoding_table['143,196,170'] = [26858] let s:lib.Codec.decoding_table['143,196,171'] = [26859] let s:lib.Codec.decoding_table['143,196,172'] = [26860] let s:lib.Codec.decoding_table['143,196,173'] = [26861] let s:lib.Codec.decoding_table['143,196,174'] = [26864] let s:lib.Codec.decoding_table['143,196,175'] = [26865] let s:lib.Codec.decoding_table['143,196,176'] = [26869] let s:lib.Codec.decoding_table['143,196,177'] = [26870] let s:lib.Codec.decoding_table['143,196,178'] = [26875] let s:lib.Codec.decoding_table['143,196,179'] = [26876] let s:lib.Codec.decoding_table['143,196,180'] = [26877] let s:lib.Codec.decoding_table['143,196,181'] = [26886] let s:lib.Codec.decoding_table['143,196,182'] = [26889] let s:lib.Codec.decoding_table['143,196,183'] = [26890] let s:lib.Codec.decoding_table['143,196,184'] = [26896] let s:lib.Codec.decoding_table['143,196,185'] = [26897] let s:lib.Codec.decoding_table['143,196,186'] = [26899] let s:lib.Codec.decoding_table['143,196,187'] = [26902] let s:lib.Codec.decoding_table['143,196,188'] = [26903] let s:lib.Codec.decoding_table['143,196,189'] = [26929] let s:lib.Codec.decoding_table['143,196,190'] = [26931] let s:lib.Codec.decoding_table['143,196,191'] = [26933] let s:lib.Codec.decoding_table['143,196,192'] = [26936] let s:lib.Codec.decoding_table['143,196,193'] = [26939] let s:lib.Codec.decoding_table['143,196,194'] = [26946] let s:lib.Codec.decoding_table['143,196,195'] = [26949] let s:lib.Codec.decoding_table['143,196,196'] = [26953] let s:lib.Codec.decoding_table['143,196,197'] = [26958] let s:lib.Codec.decoding_table['143,196,198'] = [26967] let s:lib.Codec.decoding_table['143,196,199'] = [26971] let s:lib.Codec.decoding_table['143,196,200'] = [26979] let s:lib.Codec.decoding_table['143,196,201'] = [26980] let s:lib.Codec.decoding_table['143,196,202'] = [26981] let s:lib.Codec.decoding_table['143,196,203'] = [26982] let s:lib.Codec.decoding_table['143,196,204'] = [26984] let s:lib.Codec.decoding_table['143,196,205'] = [26985] let s:lib.Codec.decoding_table['143,196,206'] = [26988] let s:lib.Codec.decoding_table['143,196,207'] = [26992] let s:lib.Codec.decoding_table['143,196,208'] = [26993] let s:lib.Codec.decoding_table['143,196,209'] = [26994] let s:lib.Codec.decoding_table['143,196,210'] = [27002] let s:lib.Codec.decoding_table['143,196,211'] = [27003] let s:lib.Codec.decoding_table['143,196,212'] = [27007] let s:lib.Codec.decoding_table['143,196,213'] = [27008] let s:lib.Codec.decoding_table['143,196,214'] = [27021] let s:lib.Codec.decoding_table['143,196,215'] = [27026] let s:lib.Codec.decoding_table['143,196,216'] = [27030] let s:lib.Codec.decoding_table['143,196,217'] = [27032] let s:lib.Codec.decoding_table['143,196,218'] = [27041] let s:lib.Codec.decoding_table['143,196,219'] = [27045] let s:lib.Codec.decoding_table['143,196,220'] = [27046] let s:lib.Codec.decoding_table['143,196,221'] = [27048] let s:lib.Codec.decoding_table['143,196,222'] = [27051] let s:lib.Codec.decoding_table['143,196,223'] = [27053] let s:lib.Codec.decoding_table['143,196,224'] = [27055] let s:lib.Codec.decoding_table['143,196,225'] = [27063] let s:lib.Codec.decoding_table['143,196,226'] = [27064] let s:lib.Codec.decoding_table['143,196,227'] = [27066] let s:lib.Codec.decoding_table['143,196,228'] = [27068] let s:lib.Codec.decoding_table['143,196,229'] = [27077] let s:lib.Codec.decoding_table['143,196,230'] = [27080] let s:lib.Codec.decoding_table['143,196,231'] = [27089] let s:lib.Codec.decoding_table['143,196,232'] = [27094] let s:lib.Codec.decoding_table['143,196,233'] = [27095] let s:lib.Codec.decoding_table['143,196,234'] = [27106] let s:lib.Codec.decoding_table['143,196,235'] = [27109] let s:lib.Codec.decoding_table['143,196,236'] = [27118] let s:lib.Codec.decoding_table['143,196,237'] = [27119] let s:lib.Codec.decoding_table['143,196,238'] = [27121] let s:lib.Codec.decoding_table['143,196,239'] = [27123] let s:lib.Codec.decoding_table['143,196,240'] = [27125] let s:lib.Codec.decoding_table['143,196,241'] = [27134] let s:lib.Codec.decoding_table['143,196,242'] = [27136] let s:lib.Codec.decoding_table['143,196,243'] = [27137] let s:lib.Codec.decoding_table['143,196,244'] = [27139] let s:lib.Codec.decoding_table['143,196,245'] = [27151] let s:lib.Codec.decoding_table['143,196,246'] = [27153] let s:lib.Codec.decoding_table['143,196,247'] = [27157] let s:lib.Codec.decoding_table['143,196,248'] = [27162] let s:lib.Codec.decoding_table['143,196,249'] = [27165] let s:lib.Codec.decoding_table['143,196,250'] = [27168] let s:lib.Codec.decoding_table['143,196,251'] = [27172] let s:lib.Codec.decoding_table['143,196,252'] = [27176] let s:lib.Codec.decoding_table['143,196,253'] = [27184] let s:lib.Codec.decoding_table['143,196,254'] = [27186] let s:lib.Codec.decoding_table['143,197,161'] = [27188] let s:lib.Codec.decoding_table['143,197,162'] = [27191] let s:lib.Codec.decoding_table['143,197,163'] = [27195] let s:lib.Codec.decoding_table['143,197,164'] = [27198] let s:lib.Codec.decoding_table['143,197,165'] = [27199] let s:lib.Codec.decoding_table['143,197,166'] = [27205] let s:lib.Codec.decoding_table['143,197,167'] = [27206] let s:lib.Codec.decoding_table['143,197,168'] = [27209] let s:lib.Codec.decoding_table['143,197,169'] = [27210] let s:lib.Codec.decoding_table['143,197,170'] = [27214] let s:lib.Codec.decoding_table['143,197,171'] = [27216] let s:lib.Codec.decoding_table['143,197,172'] = [27217] let s:lib.Codec.decoding_table['143,197,173'] = [27218] let s:lib.Codec.decoding_table['143,197,174'] = [27221] let s:lib.Codec.decoding_table['143,197,175'] = [27222] let s:lib.Codec.decoding_table['143,197,176'] = [27227] let s:lib.Codec.decoding_table['143,197,177'] = [27236] let s:lib.Codec.decoding_table['143,197,178'] = [27239] let s:lib.Codec.decoding_table['143,197,179'] = [27242] let s:lib.Codec.decoding_table['143,197,180'] = [27249] let s:lib.Codec.decoding_table['143,197,181'] = [27251] let s:lib.Codec.decoding_table['143,197,182'] = [27262] let s:lib.Codec.decoding_table['143,197,183'] = [27265] let s:lib.Codec.decoding_table['143,197,184'] = [27267] let s:lib.Codec.decoding_table['143,197,185'] = [27270] let s:lib.Codec.decoding_table['143,197,186'] = [27271] let s:lib.Codec.decoding_table['143,197,187'] = [27273] let s:lib.Codec.decoding_table['143,197,188'] = [27275] let s:lib.Codec.decoding_table['143,197,189'] = [27281] let s:lib.Codec.decoding_table['143,197,190'] = [27291] let s:lib.Codec.decoding_table['143,197,191'] = [27293] let s:lib.Codec.decoding_table['143,197,192'] = [27294] let s:lib.Codec.decoding_table['143,197,193'] = [27295] let s:lib.Codec.decoding_table['143,197,194'] = [27301] let s:lib.Codec.decoding_table['143,197,195'] = [27307] let s:lib.Codec.decoding_table['143,197,196'] = [27311] let s:lib.Codec.decoding_table['143,197,197'] = [27312] let s:lib.Codec.decoding_table['143,197,198'] = [27313] let s:lib.Codec.decoding_table['143,197,199'] = [27316] let s:lib.Codec.decoding_table['143,197,200'] = [27325] let s:lib.Codec.decoding_table['143,197,201'] = [27326] let s:lib.Codec.decoding_table['143,197,202'] = [27327] let s:lib.Codec.decoding_table['143,197,203'] = [27334] let s:lib.Codec.decoding_table['143,197,204'] = [27337] let s:lib.Codec.decoding_table['143,197,205'] = [27336] let s:lib.Codec.decoding_table['143,197,206'] = [27340] let s:lib.Codec.decoding_table['143,197,207'] = [27344] let s:lib.Codec.decoding_table['143,197,208'] = [27348] let s:lib.Codec.decoding_table['143,197,209'] = [27349] let s:lib.Codec.decoding_table['143,197,210'] = [27350] let s:lib.Codec.decoding_table['143,197,211'] = [27356] let s:lib.Codec.decoding_table['143,197,212'] = [27357] let s:lib.Codec.decoding_table['143,197,213'] = [27364] let s:lib.Codec.decoding_table['143,197,214'] = [27367] let s:lib.Codec.decoding_table['143,197,215'] = [27372] let s:lib.Codec.decoding_table['143,197,216'] = [27376] let s:lib.Codec.decoding_table['143,197,217'] = [27377] let s:lib.Codec.decoding_table['143,197,218'] = [27378] let s:lib.Codec.decoding_table['143,197,219'] = [27388] let s:lib.Codec.decoding_table['143,197,220'] = [27389] let s:lib.Codec.decoding_table['143,197,221'] = [27394] let s:lib.Codec.decoding_table['143,197,222'] = [27395] let s:lib.Codec.decoding_table['143,197,223'] = [27398] let s:lib.Codec.decoding_table['143,197,224'] = [27399] let s:lib.Codec.decoding_table['143,197,225'] = [27401] let s:lib.Codec.decoding_table['143,197,226'] = [27407] let s:lib.Codec.decoding_table['143,197,227'] = [27408] let s:lib.Codec.decoding_table['143,197,228'] = [27409] let s:lib.Codec.decoding_table['143,197,229'] = [27415] let s:lib.Codec.decoding_table['143,197,230'] = [27419] let s:lib.Codec.decoding_table['143,197,231'] = [27422] let s:lib.Codec.decoding_table['143,197,232'] = [27428] let s:lib.Codec.decoding_table['143,197,233'] = [27432] let s:lib.Codec.decoding_table['143,197,234'] = [27435] let s:lib.Codec.decoding_table['143,197,235'] = [27436] let s:lib.Codec.decoding_table['143,197,236'] = [27439] let s:lib.Codec.decoding_table['143,197,237'] = [27445] let s:lib.Codec.decoding_table['143,197,238'] = [27446] let s:lib.Codec.decoding_table['143,197,239'] = [27451] let s:lib.Codec.decoding_table['143,197,240'] = [27455] let s:lib.Codec.decoding_table['143,197,241'] = [27462] let s:lib.Codec.decoding_table['143,197,242'] = [27466] let s:lib.Codec.decoding_table['143,197,243'] = [27469] let s:lib.Codec.decoding_table['143,197,244'] = [27474] let s:lib.Codec.decoding_table['143,197,245'] = [27478] let s:lib.Codec.decoding_table['143,197,246'] = [27480] let s:lib.Codec.decoding_table['143,197,247'] = [27485] let s:lib.Codec.decoding_table['143,197,248'] = [27488] let s:lib.Codec.decoding_table['143,197,249'] = [27495] let s:lib.Codec.decoding_table['143,197,250'] = [27499] let s:lib.Codec.decoding_table['143,197,251'] = [27502] let s:lib.Codec.decoding_table['143,197,252'] = [27504] let s:lib.Codec.decoding_table['143,197,253'] = [27509] let s:lib.Codec.decoding_table['143,197,254'] = [27517] let s:lib.Codec.decoding_table['143,198,161'] = [27518] let s:lib.Codec.decoding_table['143,198,162'] = [27522] let s:lib.Codec.decoding_table['143,198,163'] = [27525] let s:lib.Codec.decoding_table['143,198,164'] = [27543] let s:lib.Codec.decoding_table['143,198,165'] = [27547] let s:lib.Codec.decoding_table['143,198,166'] = [27551] let s:lib.Codec.decoding_table['143,198,167'] = [27552] let s:lib.Codec.decoding_table['143,198,168'] = [27554] let s:lib.Codec.decoding_table['143,198,169'] = [27555] let s:lib.Codec.decoding_table['143,198,170'] = [27560] let s:lib.Codec.decoding_table['143,198,171'] = [27561] let s:lib.Codec.decoding_table['143,198,172'] = [27564] let s:lib.Codec.decoding_table['143,198,173'] = [27565] let s:lib.Codec.decoding_table['143,198,174'] = [27566] let s:lib.Codec.decoding_table['143,198,175'] = [27568] let s:lib.Codec.decoding_table['143,198,176'] = [27576] let s:lib.Codec.decoding_table['143,198,177'] = [27577] let s:lib.Codec.decoding_table['143,198,178'] = [27581] let s:lib.Codec.decoding_table['143,198,179'] = [27582] let s:lib.Codec.decoding_table['143,198,180'] = [27587] let s:lib.Codec.decoding_table['143,198,181'] = [27588] let s:lib.Codec.decoding_table['143,198,182'] = [27593] let s:lib.Codec.decoding_table['143,198,183'] = [27596] let s:lib.Codec.decoding_table['143,198,184'] = [27606] let s:lib.Codec.decoding_table['143,198,185'] = [27610] let s:lib.Codec.decoding_table['143,198,186'] = [27617] let s:lib.Codec.decoding_table['143,198,187'] = [27619] let s:lib.Codec.decoding_table['143,198,188'] = [27622] let s:lib.Codec.decoding_table['143,198,189'] = [27623] let s:lib.Codec.decoding_table['143,198,190'] = [27630] let s:lib.Codec.decoding_table['143,198,191'] = [27633] let s:lib.Codec.decoding_table['143,198,192'] = [27639] let s:lib.Codec.decoding_table['143,198,193'] = [27641] let s:lib.Codec.decoding_table['143,198,194'] = [27647] let s:lib.Codec.decoding_table['143,198,195'] = [27650] let s:lib.Codec.decoding_table['143,198,196'] = [27652] let s:lib.Codec.decoding_table['143,198,197'] = [27653] let s:lib.Codec.decoding_table['143,198,198'] = [27657] let s:lib.Codec.decoding_table['143,198,199'] = [27661] let s:lib.Codec.decoding_table['143,198,200'] = [27662] let s:lib.Codec.decoding_table['143,198,201'] = [27664] let s:lib.Codec.decoding_table['143,198,202'] = [27666] let s:lib.Codec.decoding_table['143,198,203'] = [27673] let s:lib.Codec.decoding_table['143,198,204'] = [27679] let s:lib.Codec.decoding_table['143,198,205'] = [27686] let s:lib.Codec.decoding_table['143,198,206'] = [27687] let s:lib.Codec.decoding_table['143,198,207'] = [27688] let s:lib.Codec.decoding_table['143,198,208'] = [27692] let s:lib.Codec.decoding_table['143,198,209'] = [27694] let s:lib.Codec.decoding_table['143,198,210'] = [27699] let s:lib.Codec.decoding_table['143,198,211'] = [27701] let s:lib.Codec.decoding_table['143,198,212'] = [27702] let s:lib.Codec.decoding_table['143,198,213'] = [27706] let s:lib.Codec.decoding_table['143,198,214'] = [27707] let s:lib.Codec.decoding_table['143,198,215'] = [27711] let s:lib.Codec.decoding_table['143,198,216'] = [27722] let s:lib.Codec.decoding_table['143,198,217'] = [27723] let s:lib.Codec.decoding_table['143,198,218'] = [27725] let s:lib.Codec.decoding_table['143,198,219'] = [27727] let s:lib.Codec.decoding_table['143,198,220'] = [27730] let s:lib.Codec.decoding_table['143,198,221'] = [27732] let s:lib.Codec.decoding_table['143,198,222'] = [27737] let s:lib.Codec.decoding_table['143,198,223'] = [27739] let s:lib.Codec.decoding_table['143,198,224'] = [27740] let s:lib.Codec.decoding_table['143,198,225'] = [27755] let s:lib.Codec.decoding_table['143,198,226'] = [27757] let s:lib.Codec.decoding_table['143,198,227'] = [27759] let s:lib.Codec.decoding_table['143,198,228'] = [27764] let s:lib.Codec.decoding_table['143,198,229'] = [27766] let s:lib.Codec.decoding_table['143,198,230'] = [27768] let s:lib.Codec.decoding_table['143,198,231'] = [27769] let s:lib.Codec.decoding_table['143,198,232'] = [27771] let s:lib.Codec.decoding_table['143,198,233'] = [27781] let s:lib.Codec.decoding_table['143,198,234'] = [27782] let s:lib.Codec.decoding_table['143,198,235'] = [27783] let s:lib.Codec.decoding_table['143,198,236'] = [27785] let s:lib.Codec.decoding_table['143,198,237'] = [27796] let s:lib.Codec.decoding_table['143,198,238'] = [27797] let s:lib.Codec.decoding_table['143,198,239'] = [27799] let s:lib.Codec.decoding_table['143,198,240'] = [27800] let s:lib.Codec.decoding_table['143,198,241'] = [27804] let s:lib.Codec.decoding_table['143,198,242'] = [27807] let s:lib.Codec.decoding_table['143,198,243'] = [27824] let s:lib.Codec.decoding_table['143,198,244'] = [27826] let s:lib.Codec.decoding_table['143,198,245'] = [27828] let s:lib.Codec.decoding_table['143,198,246'] = [27842] let s:lib.Codec.decoding_table['143,198,247'] = [27846] let s:lib.Codec.decoding_table['143,198,248'] = [27853] let s:lib.Codec.decoding_table['143,198,249'] = [27855] let s:lib.Codec.decoding_table['143,198,250'] = [27856] let s:lib.Codec.decoding_table['143,198,251'] = [27857] let s:lib.Codec.decoding_table['143,198,252'] = [27858] let s:lib.Codec.decoding_table['143,198,253'] = [27860] let s:lib.Codec.decoding_table['143,198,254'] = [27862] let s:lib.Codec.decoding_table['143,199,161'] = [27866] let s:lib.Codec.decoding_table['143,199,162'] = [27868] let s:lib.Codec.decoding_table['143,199,163'] = [27872] let s:lib.Codec.decoding_table['143,199,164'] = [27879] let s:lib.Codec.decoding_table['143,199,165'] = [27881] let s:lib.Codec.decoding_table['143,199,166'] = [27883] let s:lib.Codec.decoding_table['143,199,167'] = [27884] let s:lib.Codec.decoding_table['143,199,168'] = [27886] let s:lib.Codec.decoding_table['143,199,169'] = [27890] let s:lib.Codec.decoding_table['143,199,170'] = [27892] let s:lib.Codec.decoding_table['143,199,171'] = [27908] let s:lib.Codec.decoding_table['143,199,172'] = [27911] let s:lib.Codec.decoding_table['143,199,173'] = [27914] let s:lib.Codec.decoding_table['143,199,174'] = [27918] let s:lib.Codec.decoding_table['143,199,175'] = [27919] let s:lib.Codec.decoding_table['143,199,176'] = [27921] let s:lib.Codec.decoding_table['143,199,177'] = [27923] let s:lib.Codec.decoding_table['143,199,178'] = [27930] let s:lib.Codec.decoding_table['143,199,179'] = [27942] let s:lib.Codec.decoding_table['143,199,180'] = [27943] let s:lib.Codec.decoding_table['143,199,181'] = [27944] let s:lib.Codec.decoding_table['143,199,182'] = [27751] let s:lib.Codec.decoding_table['143,199,183'] = [27950] let s:lib.Codec.decoding_table['143,199,184'] = [27951] let s:lib.Codec.decoding_table['143,199,185'] = [27953] let s:lib.Codec.decoding_table['143,199,186'] = [27961] let s:lib.Codec.decoding_table['143,199,187'] = [27964] let s:lib.Codec.decoding_table['143,199,188'] = [27967] let s:lib.Codec.decoding_table['143,199,189'] = [27991] let s:lib.Codec.decoding_table['143,199,190'] = [27998] let s:lib.Codec.decoding_table['143,199,191'] = [27999] let s:lib.Codec.decoding_table['143,199,192'] = [28001] let s:lib.Codec.decoding_table['143,199,193'] = [28005] let s:lib.Codec.decoding_table['143,199,194'] = [28007] let s:lib.Codec.decoding_table['143,199,195'] = [28015] let s:lib.Codec.decoding_table['143,199,196'] = [28016] let s:lib.Codec.decoding_table['143,199,197'] = [28028] let s:lib.Codec.decoding_table['143,199,198'] = [28034] let s:lib.Codec.decoding_table['143,199,199'] = [28039] let s:lib.Codec.decoding_table['143,199,200'] = [28049] let s:lib.Codec.decoding_table['143,199,201'] = [28050] let s:lib.Codec.decoding_table['143,199,202'] = [28052] let s:lib.Codec.decoding_table['143,199,203'] = [28054] let s:lib.Codec.decoding_table['143,199,204'] = [28055] let s:lib.Codec.decoding_table['143,199,205'] = [28056] let s:lib.Codec.decoding_table['143,199,206'] = [28074] let s:lib.Codec.decoding_table['143,199,207'] = [28076] let s:lib.Codec.decoding_table['143,199,208'] = [28084] let s:lib.Codec.decoding_table['143,199,209'] = [28087] let s:lib.Codec.decoding_table['143,199,210'] = [28089] let s:lib.Codec.decoding_table['143,199,211'] = [28093] let s:lib.Codec.decoding_table['143,199,212'] = [28095] let s:lib.Codec.decoding_table['143,199,213'] = [28100] let s:lib.Codec.decoding_table['143,199,214'] = [28104] let s:lib.Codec.decoding_table['143,199,215'] = [28106] let s:lib.Codec.decoding_table['143,199,216'] = [28110] let s:lib.Codec.decoding_table['143,199,217'] = [28111] let s:lib.Codec.decoding_table['143,199,218'] = [28118] let s:lib.Codec.decoding_table['143,199,219'] = [28123] let s:lib.Codec.decoding_table['143,199,220'] = [28125] let s:lib.Codec.decoding_table['143,199,221'] = [28127] let s:lib.Codec.decoding_table['143,199,222'] = [28128] let s:lib.Codec.decoding_table['143,199,223'] = [28130] let s:lib.Codec.decoding_table['143,199,224'] = [28133] let s:lib.Codec.decoding_table['143,199,225'] = [28137] let s:lib.Codec.decoding_table['143,199,226'] = [28143] let s:lib.Codec.decoding_table['143,199,227'] = [28144] let s:lib.Codec.decoding_table['143,199,228'] = [28148] let s:lib.Codec.decoding_table['143,199,229'] = [28150] let s:lib.Codec.decoding_table['143,199,230'] = [28156] let s:lib.Codec.decoding_table['143,199,231'] = [28160] let s:lib.Codec.decoding_table['143,199,232'] = [28164] let s:lib.Codec.decoding_table['143,199,233'] = [28190] let s:lib.Codec.decoding_table['143,199,234'] = [28194] let s:lib.Codec.decoding_table['143,199,235'] = [28199] let s:lib.Codec.decoding_table['143,199,236'] = [28210] let s:lib.Codec.decoding_table['143,199,237'] = [28214] let s:lib.Codec.decoding_table['143,199,238'] = [28217] let s:lib.Codec.decoding_table['143,199,239'] = [28219] let s:lib.Codec.decoding_table['143,199,240'] = [28220] let s:lib.Codec.decoding_table['143,199,241'] = [28228] let s:lib.Codec.decoding_table['143,199,242'] = [28229] let s:lib.Codec.decoding_table['143,199,243'] = [28232] let s:lib.Codec.decoding_table['143,199,244'] = [28233] let s:lib.Codec.decoding_table['143,199,245'] = [28235] let s:lib.Codec.decoding_table['143,199,246'] = [28239] let s:lib.Codec.decoding_table['143,199,247'] = [28241] let s:lib.Codec.decoding_table['143,199,248'] = [28242] let s:lib.Codec.decoding_table['143,199,249'] = [28243] let s:lib.Codec.decoding_table['143,199,250'] = [28244] let s:lib.Codec.decoding_table['143,199,251'] = [28247] let s:lib.Codec.decoding_table['143,199,252'] = [28252] let s:lib.Codec.decoding_table['143,199,253'] = [28253] let s:lib.Codec.decoding_table['143,199,254'] = [28254] let s:lib.Codec.decoding_table['143,200,161'] = [28258] let s:lib.Codec.decoding_table['143,200,162'] = [28259] let s:lib.Codec.decoding_table['143,200,163'] = [28264] let s:lib.Codec.decoding_table['143,200,164'] = [28275] let s:lib.Codec.decoding_table['143,200,165'] = [28283] let s:lib.Codec.decoding_table['143,200,166'] = [28285] let s:lib.Codec.decoding_table['143,200,167'] = [28301] let s:lib.Codec.decoding_table['143,200,168'] = [28307] let s:lib.Codec.decoding_table['143,200,169'] = [28313] let s:lib.Codec.decoding_table['143,200,170'] = [28320] let s:lib.Codec.decoding_table['143,200,171'] = [28327] let s:lib.Codec.decoding_table['143,200,172'] = [28333] let s:lib.Codec.decoding_table['143,200,173'] = [28334] let s:lib.Codec.decoding_table['143,200,174'] = [28337] let s:lib.Codec.decoding_table['143,200,175'] = [28339] let s:lib.Codec.decoding_table['143,200,176'] = [28347] let s:lib.Codec.decoding_table['143,200,177'] = [28351] let s:lib.Codec.decoding_table['143,200,178'] = [28352] let s:lib.Codec.decoding_table['143,200,179'] = [28353] let s:lib.Codec.decoding_table['143,200,180'] = [28355] let s:lib.Codec.decoding_table['143,200,181'] = [28359] let s:lib.Codec.decoding_table['143,200,182'] = [28360] let s:lib.Codec.decoding_table['143,200,183'] = [28362] let s:lib.Codec.decoding_table['143,200,184'] = [28365] let s:lib.Codec.decoding_table['143,200,185'] = [28366] let s:lib.Codec.decoding_table['143,200,186'] = [28367] let s:lib.Codec.decoding_table['143,200,187'] = [28395] let s:lib.Codec.decoding_table['143,200,188'] = [28397] let s:lib.Codec.decoding_table['143,200,189'] = [28398] let s:lib.Codec.decoding_table['143,200,190'] = [28409] let s:lib.Codec.decoding_table['143,200,191'] = [28411] let s:lib.Codec.decoding_table['143,200,192'] = [28413] let s:lib.Codec.decoding_table['143,200,193'] = [28420] let s:lib.Codec.decoding_table['143,200,194'] = [28424] let s:lib.Codec.decoding_table['143,200,195'] = [28426] let s:lib.Codec.decoding_table['143,200,196'] = [28428] let s:lib.Codec.decoding_table['143,200,197'] = [28429] let s:lib.Codec.decoding_table['143,200,198'] = [28438] let s:lib.Codec.decoding_table['143,200,199'] = [28440] let s:lib.Codec.decoding_table['143,200,200'] = [28442] let s:lib.Codec.decoding_table['143,200,201'] = [28443] let s:lib.Codec.decoding_table['143,200,202'] = [28454] let s:lib.Codec.decoding_table['143,200,203'] = [28457] let s:lib.Codec.decoding_table['143,200,204'] = [28458] let s:lib.Codec.decoding_table['143,200,205'] = [28463] let s:lib.Codec.decoding_table['143,200,206'] = [28464] let s:lib.Codec.decoding_table['143,200,207'] = [28467] let s:lib.Codec.decoding_table['143,200,208'] = [28470] let s:lib.Codec.decoding_table['143,200,209'] = [28475] let s:lib.Codec.decoding_table['143,200,210'] = [28476] let s:lib.Codec.decoding_table['143,200,211'] = [28461] let s:lib.Codec.decoding_table['143,200,212'] = [28495] let s:lib.Codec.decoding_table['143,200,213'] = [28497] let s:lib.Codec.decoding_table['143,200,214'] = [28498] let s:lib.Codec.decoding_table['143,200,215'] = [28499] let s:lib.Codec.decoding_table['143,200,216'] = [28503] let s:lib.Codec.decoding_table['143,200,217'] = [28505] let s:lib.Codec.decoding_table['143,200,218'] = [28506] let s:lib.Codec.decoding_table['143,200,219'] = [28509] let s:lib.Codec.decoding_table['143,200,220'] = [28510] let s:lib.Codec.decoding_table['143,200,221'] = [28513] let s:lib.Codec.decoding_table['143,200,222'] = [28514] let s:lib.Codec.decoding_table['143,200,223'] = [28520] let s:lib.Codec.decoding_table['143,200,224'] = [28524] let s:lib.Codec.decoding_table['143,200,225'] = [28541] let s:lib.Codec.decoding_table['143,200,226'] = [28542] let s:lib.Codec.decoding_table['143,200,227'] = [28547] let s:lib.Codec.decoding_table['143,200,228'] = [28551] let s:lib.Codec.decoding_table['143,200,229'] = [28552] let s:lib.Codec.decoding_table['143,200,230'] = [28555] let s:lib.Codec.decoding_table['143,200,231'] = [28556] let s:lib.Codec.decoding_table['143,200,232'] = [28557] let s:lib.Codec.decoding_table['143,200,233'] = [28560] let s:lib.Codec.decoding_table['143,200,234'] = [28562] let s:lib.Codec.decoding_table['143,200,235'] = [28563] let s:lib.Codec.decoding_table['143,200,236'] = [28564] let s:lib.Codec.decoding_table['143,200,237'] = [28566] let s:lib.Codec.decoding_table['143,200,238'] = [28570] let s:lib.Codec.decoding_table['143,200,239'] = [28575] let s:lib.Codec.decoding_table['143,200,240'] = [28576] let s:lib.Codec.decoding_table['143,200,241'] = [28581] let s:lib.Codec.decoding_table['143,200,242'] = [28582] let s:lib.Codec.decoding_table['143,200,243'] = [28583] let s:lib.Codec.decoding_table['143,200,244'] = [28584] let s:lib.Codec.decoding_table['143,200,245'] = [28590] let s:lib.Codec.decoding_table['143,200,246'] = [28591] let s:lib.Codec.decoding_table['143,200,247'] = [28592] let s:lib.Codec.decoding_table['143,200,248'] = [28597] let s:lib.Codec.decoding_table['143,200,249'] = [28598] let s:lib.Codec.decoding_table['143,200,250'] = [28604] let s:lib.Codec.decoding_table['143,200,251'] = [28613] let s:lib.Codec.decoding_table['143,200,252'] = [28615] let s:lib.Codec.decoding_table['143,200,253'] = [28616] let s:lib.Codec.decoding_table['143,200,254'] = [28618] let s:lib.Codec.decoding_table['143,201,161'] = [28634] let s:lib.Codec.decoding_table['143,201,162'] = [28638] let s:lib.Codec.decoding_table['143,201,163'] = [28648] let s:lib.Codec.decoding_table['143,201,164'] = [28649] let s:lib.Codec.decoding_table['143,201,165'] = [28656] let s:lib.Codec.decoding_table['143,201,166'] = [28661] let s:lib.Codec.decoding_table['143,201,167'] = [28665] let s:lib.Codec.decoding_table['143,201,168'] = [28668] let s:lib.Codec.decoding_table['143,201,169'] = [28669] let s:lib.Codec.decoding_table['143,201,170'] = [28672] let s:lib.Codec.decoding_table['143,201,171'] = [28677] let s:lib.Codec.decoding_table['143,201,172'] = [28678] let s:lib.Codec.decoding_table['143,201,173'] = [28679] let s:lib.Codec.decoding_table['143,201,174'] = [28685] let s:lib.Codec.decoding_table['143,201,175'] = [28695] let s:lib.Codec.decoding_table['143,201,176'] = [28704] let s:lib.Codec.decoding_table['143,201,177'] = [28707] let s:lib.Codec.decoding_table['143,201,178'] = [28719] let s:lib.Codec.decoding_table['143,201,179'] = [28724] let s:lib.Codec.decoding_table['143,201,180'] = [28727] let s:lib.Codec.decoding_table['143,201,181'] = [28729] let s:lib.Codec.decoding_table['143,201,182'] = [28732] let s:lib.Codec.decoding_table['143,201,183'] = [28739] let s:lib.Codec.decoding_table['143,201,184'] = [28740] let s:lib.Codec.decoding_table['143,201,185'] = [28744] let s:lib.Codec.decoding_table['143,201,186'] = [28745] let s:lib.Codec.decoding_table['143,201,187'] = [28746] let s:lib.Codec.decoding_table['143,201,188'] = [28747] let s:lib.Codec.decoding_table['143,201,189'] = [28756] let s:lib.Codec.decoding_table['143,201,190'] = [28757] let s:lib.Codec.decoding_table['143,201,191'] = [28765] let s:lib.Codec.decoding_table['143,201,192'] = [28766] let s:lib.Codec.decoding_table['143,201,193'] = [28750] let s:lib.Codec.decoding_table['143,201,194'] = [28772] let s:lib.Codec.decoding_table['143,201,195'] = [28773] let s:lib.Codec.decoding_table['143,201,196'] = [28780] let s:lib.Codec.decoding_table['143,201,197'] = [28782] let s:lib.Codec.decoding_table['143,201,198'] = [28789] let s:lib.Codec.decoding_table['143,201,199'] = [28790] let s:lib.Codec.decoding_table['143,201,200'] = [28798] let s:lib.Codec.decoding_table['143,201,201'] = [28801] let s:lib.Codec.decoding_table['143,201,202'] = [28805] let s:lib.Codec.decoding_table['143,201,203'] = [28806] let s:lib.Codec.decoding_table['143,201,204'] = [28820] let s:lib.Codec.decoding_table['143,201,205'] = [28821] let s:lib.Codec.decoding_table['143,201,206'] = [28822] let s:lib.Codec.decoding_table['143,201,207'] = [28823] let s:lib.Codec.decoding_table['143,201,208'] = [28824] let s:lib.Codec.decoding_table['143,201,209'] = [28827] let s:lib.Codec.decoding_table['143,201,210'] = [28836] let s:lib.Codec.decoding_table['143,201,211'] = [28843] let s:lib.Codec.decoding_table['143,201,212'] = [28848] let s:lib.Codec.decoding_table['143,201,213'] = [28849] let s:lib.Codec.decoding_table['143,201,214'] = [28852] let s:lib.Codec.decoding_table['143,201,215'] = [28855] let s:lib.Codec.decoding_table['143,201,216'] = [28874] let s:lib.Codec.decoding_table['143,201,217'] = [28881] let s:lib.Codec.decoding_table['143,201,218'] = [28883] let s:lib.Codec.decoding_table['143,201,219'] = [28884] let s:lib.Codec.decoding_table['143,201,220'] = [28885] let s:lib.Codec.decoding_table['143,201,221'] = [28886] let s:lib.Codec.decoding_table['143,201,222'] = [28888] let s:lib.Codec.decoding_table['143,201,223'] = [28892] let s:lib.Codec.decoding_table['143,201,224'] = [28900] let s:lib.Codec.decoding_table['143,201,225'] = [28922] let s:lib.Codec.decoding_table['143,201,226'] = [28931] let s:lib.Codec.decoding_table['143,201,227'] = [28932] let s:lib.Codec.decoding_table['143,201,228'] = [28933] let s:lib.Codec.decoding_table['143,201,229'] = [28934] let s:lib.Codec.decoding_table['143,201,230'] = [28935] let s:lib.Codec.decoding_table['143,201,231'] = [28939] let s:lib.Codec.decoding_table['143,201,232'] = [28940] let s:lib.Codec.decoding_table['143,201,233'] = [28943] let s:lib.Codec.decoding_table['143,201,234'] = [28958] let s:lib.Codec.decoding_table['143,201,235'] = [28960] let s:lib.Codec.decoding_table['143,201,236'] = [28971] let s:lib.Codec.decoding_table['143,201,237'] = [28973] let s:lib.Codec.decoding_table['143,201,238'] = [28975] let s:lib.Codec.decoding_table['143,201,239'] = [28976] let s:lib.Codec.decoding_table['143,201,240'] = [28977] let s:lib.Codec.decoding_table['143,201,241'] = [28984] let s:lib.Codec.decoding_table['143,201,242'] = [28993] let s:lib.Codec.decoding_table['143,201,243'] = [28997] let s:lib.Codec.decoding_table['143,201,244'] = [28998] let s:lib.Codec.decoding_table['143,201,245'] = [28999] let s:lib.Codec.decoding_table['143,201,246'] = [29002] let s:lib.Codec.decoding_table['143,201,247'] = [29003] let s:lib.Codec.decoding_table['143,201,248'] = [29008] let s:lib.Codec.decoding_table['143,201,249'] = [29010] let s:lib.Codec.decoding_table['143,201,250'] = [29015] let s:lib.Codec.decoding_table['143,201,251'] = [29018] let s:lib.Codec.decoding_table['143,201,252'] = [29020] let s:lib.Codec.decoding_table['143,201,253'] = [29022] let s:lib.Codec.decoding_table['143,201,254'] = [29024] let s:lib.Codec.decoding_table['143,202,161'] = [29032] let s:lib.Codec.decoding_table['143,202,162'] = [29049] let s:lib.Codec.decoding_table['143,202,163'] = [29056] let s:lib.Codec.decoding_table['143,202,164'] = [29061] let s:lib.Codec.decoding_table['143,202,165'] = [29063] let s:lib.Codec.decoding_table['143,202,166'] = [29068] let s:lib.Codec.decoding_table['143,202,167'] = [29074] let s:lib.Codec.decoding_table['143,202,168'] = [29082] let s:lib.Codec.decoding_table['143,202,169'] = [29083] let s:lib.Codec.decoding_table['143,202,170'] = [29088] let s:lib.Codec.decoding_table['143,202,171'] = [29090] let s:lib.Codec.decoding_table['143,202,172'] = [29103] let s:lib.Codec.decoding_table['143,202,173'] = [29104] let s:lib.Codec.decoding_table['143,202,174'] = [29106] let s:lib.Codec.decoding_table['143,202,175'] = [29107] let s:lib.Codec.decoding_table['143,202,176'] = [29114] let s:lib.Codec.decoding_table['143,202,177'] = [29119] let s:lib.Codec.decoding_table['143,202,178'] = [29120] let s:lib.Codec.decoding_table['143,202,179'] = [29121] let s:lib.Codec.decoding_table['143,202,180'] = [29124] let s:lib.Codec.decoding_table['143,202,181'] = [29131] let s:lib.Codec.decoding_table['143,202,182'] = [29132] let s:lib.Codec.decoding_table['143,202,183'] = [29139] let s:lib.Codec.decoding_table['143,202,184'] = [29142] let s:lib.Codec.decoding_table['143,202,185'] = [29145] let s:lib.Codec.decoding_table['143,202,186'] = [29146] let s:lib.Codec.decoding_table['143,202,187'] = [29148] let s:lib.Codec.decoding_table['143,202,188'] = [29176] let s:lib.Codec.decoding_table['143,202,189'] = [29182] let s:lib.Codec.decoding_table['143,202,190'] = [29184] let s:lib.Codec.decoding_table['143,202,191'] = [29191] let s:lib.Codec.decoding_table['143,202,192'] = [29192] let s:lib.Codec.decoding_table['143,202,193'] = [29193] let s:lib.Codec.decoding_table['143,202,194'] = [29203] let s:lib.Codec.decoding_table['143,202,195'] = [29207] let s:lib.Codec.decoding_table['143,202,196'] = [29210] let s:lib.Codec.decoding_table['143,202,197'] = [29213] let s:lib.Codec.decoding_table['143,202,198'] = [29215] let s:lib.Codec.decoding_table['143,202,199'] = [29220] let s:lib.Codec.decoding_table['143,202,200'] = [29227] let s:lib.Codec.decoding_table['143,202,201'] = [29231] let s:lib.Codec.decoding_table['143,202,202'] = [29236] let s:lib.Codec.decoding_table['143,202,203'] = [29240] let s:lib.Codec.decoding_table['143,202,204'] = [29241] let s:lib.Codec.decoding_table['143,202,205'] = [29249] let s:lib.Codec.decoding_table['143,202,206'] = [29250] let s:lib.Codec.decoding_table['143,202,207'] = [29251] let s:lib.Codec.decoding_table['143,202,208'] = [29253] let s:lib.Codec.decoding_table['143,202,209'] = [29262] let s:lib.Codec.decoding_table['143,202,210'] = [29263] let s:lib.Codec.decoding_table['143,202,211'] = [29264] let s:lib.Codec.decoding_table['143,202,212'] = [29267] let s:lib.Codec.decoding_table['143,202,213'] = [29269] let s:lib.Codec.decoding_table['143,202,214'] = [29270] let s:lib.Codec.decoding_table['143,202,215'] = [29274] let s:lib.Codec.decoding_table['143,202,216'] = [29276] let s:lib.Codec.decoding_table['143,202,217'] = [29278] let s:lib.Codec.decoding_table['143,202,218'] = [29280] let s:lib.Codec.decoding_table['143,202,219'] = [29283] let s:lib.Codec.decoding_table['143,202,220'] = [29288] let s:lib.Codec.decoding_table['143,202,221'] = [29291] let s:lib.Codec.decoding_table['143,202,222'] = [29294] let s:lib.Codec.decoding_table['143,202,223'] = [29295] let s:lib.Codec.decoding_table['143,202,224'] = [29297] let s:lib.Codec.decoding_table['143,202,225'] = [29303] let s:lib.Codec.decoding_table['143,202,226'] = [29304] let s:lib.Codec.decoding_table['143,202,227'] = [29307] let s:lib.Codec.decoding_table['143,202,228'] = [29308] let s:lib.Codec.decoding_table['143,202,229'] = [29311] let s:lib.Codec.decoding_table['143,202,230'] = [29316] let s:lib.Codec.decoding_table['143,202,231'] = [29321] let s:lib.Codec.decoding_table['143,202,232'] = [29325] let s:lib.Codec.decoding_table['143,202,233'] = [29326] let s:lib.Codec.decoding_table['143,202,234'] = [29331] let s:lib.Codec.decoding_table['143,202,235'] = [29339] let s:lib.Codec.decoding_table['143,202,236'] = [29352] let s:lib.Codec.decoding_table['143,202,237'] = [29357] let s:lib.Codec.decoding_table['143,202,238'] = [29358] let s:lib.Codec.decoding_table['143,202,239'] = [29361] let s:lib.Codec.decoding_table['143,202,240'] = [29364] let s:lib.Codec.decoding_table['143,202,241'] = [29374] let s:lib.Codec.decoding_table['143,202,242'] = [29377] let s:lib.Codec.decoding_table['143,202,243'] = [29383] let s:lib.Codec.decoding_table['143,202,244'] = [29385] let s:lib.Codec.decoding_table['143,202,245'] = [29388] let s:lib.Codec.decoding_table['143,202,246'] = [29397] let s:lib.Codec.decoding_table['143,202,247'] = [29398] let s:lib.Codec.decoding_table['143,202,248'] = [29400] let s:lib.Codec.decoding_table['143,202,249'] = [29407] let s:lib.Codec.decoding_table['143,202,250'] = [29413] let s:lib.Codec.decoding_table['143,202,251'] = [29427] let s:lib.Codec.decoding_table['143,202,252'] = [29428] let s:lib.Codec.decoding_table['143,202,253'] = [29434] let s:lib.Codec.decoding_table['143,202,254'] = [29435] let s:lib.Codec.decoding_table['143,203,161'] = [29438] let s:lib.Codec.decoding_table['143,203,162'] = [29442] let s:lib.Codec.decoding_table['143,203,163'] = [29444] let s:lib.Codec.decoding_table['143,203,164'] = [29445] let s:lib.Codec.decoding_table['143,203,165'] = [29447] let s:lib.Codec.decoding_table['143,203,166'] = [29451] let s:lib.Codec.decoding_table['143,203,167'] = [29453] let s:lib.Codec.decoding_table['143,203,168'] = [29458] let s:lib.Codec.decoding_table['143,203,169'] = [29459] let s:lib.Codec.decoding_table['143,203,170'] = [29464] let s:lib.Codec.decoding_table['143,203,171'] = [29465] let s:lib.Codec.decoding_table['143,203,172'] = [29470] let s:lib.Codec.decoding_table['143,203,173'] = [29474] let s:lib.Codec.decoding_table['143,203,174'] = [29476] let s:lib.Codec.decoding_table['143,203,175'] = [29479] let s:lib.Codec.decoding_table['143,203,176'] = [29480] let s:lib.Codec.decoding_table['143,203,177'] = [29484] let s:lib.Codec.decoding_table['143,203,178'] = [29489] let s:lib.Codec.decoding_table['143,203,179'] = [29490] let s:lib.Codec.decoding_table['143,203,180'] = [29493] let s:lib.Codec.decoding_table['143,203,181'] = [29498] let s:lib.Codec.decoding_table['143,203,182'] = [29499] let s:lib.Codec.decoding_table['143,203,183'] = [29501] let s:lib.Codec.decoding_table['143,203,184'] = [29507] let s:lib.Codec.decoding_table['143,203,185'] = [29517] let s:lib.Codec.decoding_table['143,203,186'] = [29520] let s:lib.Codec.decoding_table['143,203,187'] = [29522] let s:lib.Codec.decoding_table['143,203,188'] = [29526] let s:lib.Codec.decoding_table['143,203,189'] = [29528] let s:lib.Codec.decoding_table['143,203,190'] = [29533] let s:lib.Codec.decoding_table['143,203,191'] = [29534] let s:lib.Codec.decoding_table['143,203,192'] = [29535] let s:lib.Codec.decoding_table['143,203,193'] = [29536] let s:lib.Codec.decoding_table['143,203,194'] = [29542] let s:lib.Codec.decoding_table['143,203,195'] = [29543] let s:lib.Codec.decoding_table['143,203,196'] = [29545] let s:lib.Codec.decoding_table['143,203,197'] = [29547] let s:lib.Codec.decoding_table['143,203,198'] = [29548] let s:lib.Codec.decoding_table['143,203,199'] = [29550] let s:lib.Codec.decoding_table['143,203,200'] = [29551] let s:lib.Codec.decoding_table['143,203,201'] = [29553] let s:lib.Codec.decoding_table['143,203,202'] = [29559] let s:lib.Codec.decoding_table['143,203,203'] = [29561] let s:lib.Codec.decoding_table['143,203,204'] = [29564] let s:lib.Codec.decoding_table['143,203,205'] = [29568] let s:lib.Codec.decoding_table['143,203,206'] = [29569] let s:lib.Codec.decoding_table['143,203,207'] = [29571] let s:lib.Codec.decoding_table['143,203,208'] = [29573] let s:lib.Codec.decoding_table['143,203,209'] = [29574] let s:lib.Codec.decoding_table['143,203,210'] = [29582] let s:lib.Codec.decoding_table['143,203,211'] = [29584] let s:lib.Codec.decoding_table['143,203,212'] = [29587] let s:lib.Codec.decoding_table['143,203,213'] = [29589] let s:lib.Codec.decoding_table['143,203,214'] = [29591] let s:lib.Codec.decoding_table['143,203,215'] = [29592] let s:lib.Codec.decoding_table['143,203,216'] = [29596] let s:lib.Codec.decoding_table['143,203,217'] = [29598] let s:lib.Codec.decoding_table['143,203,218'] = [29599] let s:lib.Codec.decoding_table['143,203,219'] = [29600] let s:lib.Codec.decoding_table['143,203,220'] = [29602] let s:lib.Codec.decoding_table['143,203,221'] = [29605] let s:lib.Codec.decoding_table['143,203,222'] = [29606] let s:lib.Codec.decoding_table['143,203,223'] = [29610] let s:lib.Codec.decoding_table['143,203,224'] = [29611] let s:lib.Codec.decoding_table['143,203,225'] = [29613] let s:lib.Codec.decoding_table['143,203,226'] = [29621] let s:lib.Codec.decoding_table['143,203,227'] = [29623] let s:lib.Codec.decoding_table['143,203,228'] = [29625] let s:lib.Codec.decoding_table['143,203,229'] = [29628] let s:lib.Codec.decoding_table['143,203,230'] = [29629] let s:lib.Codec.decoding_table['143,203,231'] = [29631] let s:lib.Codec.decoding_table['143,203,232'] = [29637] let s:lib.Codec.decoding_table['143,203,233'] = [29638] let s:lib.Codec.decoding_table['143,203,234'] = [29641] let s:lib.Codec.decoding_table['143,203,235'] = [29643] let s:lib.Codec.decoding_table['143,203,236'] = [29644] let s:lib.Codec.decoding_table['143,203,237'] = [29647] let s:lib.Codec.decoding_table['143,203,238'] = [29650] let s:lib.Codec.decoding_table['143,203,239'] = [29651] let s:lib.Codec.decoding_table['143,203,240'] = [29654] let s:lib.Codec.decoding_table['143,203,241'] = [29657] let s:lib.Codec.decoding_table['143,203,242'] = [29661] let s:lib.Codec.decoding_table['143,203,243'] = [29665] let s:lib.Codec.decoding_table['143,203,244'] = [29667] let s:lib.Codec.decoding_table['143,203,245'] = [29670] let s:lib.Codec.decoding_table['143,203,246'] = [29671] let s:lib.Codec.decoding_table['143,203,247'] = [29673] let s:lib.Codec.decoding_table['143,203,248'] = [29684] let s:lib.Codec.decoding_table['143,203,249'] = [29685] let s:lib.Codec.decoding_table['143,203,250'] = [29687] let s:lib.Codec.decoding_table['143,203,251'] = [29689] let s:lib.Codec.decoding_table['143,203,252'] = [29690] let s:lib.Codec.decoding_table['143,203,253'] = [29691] let s:lib.Codec.decoding_table['143,203,254'] = [29693] let s:lib.Codec.decoding_table['143,204,161'] = [29695] let s:lib.Codec.decoding_table['143,204,162'] = [29696] let s:lib.Codec.decoding_table['143,204,163'] = [29697] let s:lib.Codec.decoding_table['143,204,164'] = [29700] let s:lib.Codec.decoding_table['143,204,165'] = [29703] let s:lib.Codec.decoding_table['143,204,166'] = [29706] let s:lib.Codec.decoding_table['143,204,167'] = [29713] let s:lib.Codec.decoding_table['143,204,168'] = [29722] let s:lib.Codec.decoding_table['143,204,169'] = [29723] let s:lib.Codec.decoding_table['143,204,170'] = [29732] let s:lib.Codec.decoding_table['143,204,171'] = [29734] let s:lib.Codec.decoding_table['143,204,172'] = [29736] let s:lib.Codec.decoding_table['143,204,173'] = [29737] let s:lib.Codec.decoding_table['143,204,174'] = [29738] let s:lib.Codec.decoding_table['143,204,175'] = [29739] let s:lib.Codec.decoding_table['143,204,176'] = [29740] let s:lib.Codec.decoding_table['143,204,177'] = [29741] let s:lib.Codec.decoding_table['143,204,178'] = [29742] let s:lib.Codec.decoding_table['143,204,179'] = [29743] let s:lib.Codec.decoding_table['143,204,180'] = [29744] let s:lib.Codec.decoding_table['143,204,181'] = [29745] let s:lib.Codec.decoding_table['143,204,182'] = [29753] let s:lib.Codec.decoding_table['143,204,183'] = [29760] let s:lib.Codec.decoding_table['143,204,184'] = [29763] let s:lib.Codec.decoding_table['143,204,185'] = [29764] let s:lib.Codec.decoding_table['143,204,186'] = [29766] let s:lib.Codec.decoding_table['143,204,187'] = [29767] let s:lib.Codec.decoding_table['143,204,188'] = [29771] let s:lib.Codec.decoding_table['143,204,189'] = [29773] let s:lib.Codec.decoding_table['143,204,190'] = [29777] let s:lib.Codec.decoding_table['143,204,191'] = [29778] let s:lib.Codec.decoding_table['143,204,192'] = [29783] let s:lib.Codec.decoding_table['143,204,193'] = [29789] let s:lib.Codec.decoding_table['143,204,194'] = [29794] let s:lib.Codec.decoding_table['143,204,195'] = [29798] let s:lib.Codec.decoding_table['143,204,196'] = [29799] let s:lib.Codec.decoding_table['143,204,197'] = [29800] let s:lib.Codec.decoding_table['143,204,198'] = [29803] let s:lib.Codec.decoding_table['143,204,199'] = [29805] let s:lib.Codec.decoding_table['143,204,200'] = [29806] let s:lib.Codec.decoding_table['143,204,201'] = [29809] let s:lib.Codec.decoding_table['143,204,202'] = [29810] let s:lib.Codec.decoding_table['143,204,203'] = [29824] let s:lib.Codec.decoding_table['143,204,204'] = [29825] let s:lib.Codec.decoding_table['143,204,205'] = [29829] let s:lib.Codec.decoding_table['143,204,206'] = [29830] let s:lib.Codec.decoding_table['143,204,207'] = [29831] let s:lib.Codec.decoding_table['143,204,208'] = [29833] let s:lib.Codec.decoding_table['143,204,209'] = [29839] let s:lib.Codec.decoding_table['143,204,210'] = [29840] let s:lib.Codec.decoding_table['143,204,211'] = [29841] let s:lib.Codec.decoding_table['143,204,212'] = [29842] let s:lib.Codec.decoding_table['143,204,213'] = [29848] let s:lib.Codec.decoding_table['143,204,214'] = [29849] let s:lib.Codec.decoding_table['143,204,215'] = [29850] let s:lib.Codec.decoding_table['143,204,216'] = [29852] let s:lib.Codec.decoding_table['143,204,217'] = [29855] let s:lib.Codec.decoding_table['143,204,218'] = [29856] let s:lib.Codec.decoding_table['143,204,219'] = [29857] let s:lib.Codec.decoding_table['143,204,220'] = [29859] let s:lib.Codec.decoding_table['143,204,221'] = [29862] let s:lib.Codec.decoding_table['143,204,222'] = [29864] let s:lib.Codec.decoding_table['143,204,223'] = [29865] let s:lib.Codec.decoding_table['143,204,224'] = [29866] let s:lib.Codec.decoding_table['143,204,225'] = [29867] let s:lib.Codec.decoding_table['143,204,226'] = [29870] let s:lib.Codec.decoding_table['143,204,227'] = [29871] let s:lib.Codec.decoding_table['143,204,228'] = [29873] let s:lib.Codec.decoding_table['143,204,229'] = [29874] let s:lib.Codec.decoding_table['143,204,230'] = [29877] let s:lib.Codec.decoding_table['143,204,231'] = [29881] let s:lib.Codec.decoding_table['143,204,232'] = [29883] let s:lib.Codec.decoding_table['143,204,233'] = [29887] let s:lib.Codec.decoding_table['143,204,234'] = [29896] let s:lib.Codec.decoding_table['143,204,235'] = [29897] let s:lib.Codec.decoding_table['143,204,236'] = [29900] let s:lib.Codec.decoding_table['143,204,237'] = [29904] let s:lib.Codec.decoding_table['143,204,238'] = [29907] let s:lib.Codec.decoding_table['143,204,239'] = [29912] let s:lib.Codec.decoding_table['143,204,240'] = [29914] let s:lib.Codec.decoding_table['143,204,241'] = [29915] let s:lib.Codec.decoding_table['143,204,242'] = [29918] let s:lib.Codec.decoding_table['143,204,243'] = [29919] let s:lib.Codec.decoding_table['143,204,244'] = [29924] let s:lib.Codec.decoding_table['143,204,245'] = [29928] let s:lib.Codec.decoding_table['143,204,246'] = [29930] let s:lib.Codec.decoding_table['143,204,247'] = [29931] let s:lib.Codec.decoding_table['143,204,248'] = [29935] let s:lib.Codec.decoding_table['143,204,249'] = [29940] let s:lib.Codec.decoding_table['143,204,250'] = [29946] let s:lib.Codec.decoding_table['143,204,251'] = [29947] let s:lib.Codec.decoding_table['143,204,252'] = [29948] let s:lib.Codec.decoding_table['143,204,253'] = [29951] let s:lib.Codec.decoding_table['143,204,254'] = [29958] let s:lib.Codec.decoding_table['143,205,161'] = [29970] let s:lib.Codec.decoding_table['143,205,162'] = [29974] let s:lib.Codec.decoding_table['143,205,163'] = [29975] let s:lib.Codec.decoding_table['143,205,164'] = [29984] let s:lib.Codec.decoding_table['143,205,165'] = [29985] let s:lib.Codec.decoding_table['143,205,166'] = [29988] let s:lib.Codec.decoding_table['143,205,167'] = [29991] let s:lib.Codec.decoding_table['143,205,168'] = [29993] let s:lib.Codec.decoding_table['143,205,169'] = [29994] let s:lib.Codec.decoding_table['143,205,170'] = [29999] let s:lib.Codec.decoding_table['143,205,171'] = [30006] let s:lib.Codec.decoding_table['143,205,172'] = [30009] let s:lib.Codec.decoding_table['143,205,173'] = [30013] let s:lib.Codec.decoding_table['143,205,174'] = [30014] let s:lib.Codec.decoding_table['143,205,175'] = [30015] let s:lib.Codec.decoding_table['143,205,176'] = [30016] let s:lib.Codec.decoding_table['143,205,177'] = [30019] let s:lib.Codec.decoding_table['143,205,178'] = [30023] let s:lib.Codec.decoding_table['143,205,179'] = [30024] let s:lib.Codec.decoding_table['143,205,180'] = [30030] let s:lib.Codec.decoding_table['143,205,181'] = [30032] let s:lib.Codec.decoding_table['143,205,182'] = [30034] let s:lib.Codec.decoding_table['143,205,183'] = [30039] let s:lib.Codec.decoding_table['143,205,184'] = [30046] let s:lib.Codec.decoding_table['143,205,185'] = [30047] let s:lib.Codec.decoding_table['143,205,186'] = [30049] let s:lib.Codec.decoding_table['143,205,187'] = [30063] let s:lib.Codec.decoding_table['143,205,188'] = [30065] let s:lib.Codec.decoding_table['143,205,189'] = [30073] let s:lib.Codec.decoding_table['143,205,190'] = [30074] let s:lib.Codec.decoding_table['143,205,191'] = [30075] let s:lib.Codec.decoding_table['143,205,192'] = [30076] let s:lib.Codec.decoding_table['143,205,193'] = [30077] let s:lib.Codec.decoding_table['143,205,194'] = [30078] let s:lib.Codec.decoding_table['143,205,195'] = [30081] let s:lib.Codec.decoding_table['143,205,196'] = [30085] let s:lib.Codec.decoding_table['143,205,197'] = [30096] let s:lib.Codec.decoding_table['143,205,198'] = [30098] let s:lib.Codec.decoding_table['143,205,199'] = [30099] let s:lib.Codec.decoding_table['143,205,200'] = [30101] let s:lib.Codec.decoding_table['143,205,201'] = [30105] let s:lib.Codec.decoding_table['143,205,202'] = [30108] let s:lib.Codec.decoding_table['143,205,203'] = [30114] let s:lib.Codec.decoding_table['143,205,204'] = [30116] let s:lib.Codec.decoding_table['143,205,205'] = [30132] let s:lib.Codec.decoding_table['143,205,206'] = [30138] let s:lib.Codec.decoding_table['143,205,207'] = [30143] let s:lib.Codec.decoding_table['143,205,208'] = [30144] let s:lib.Codec.decoding_table['143,205,209'] = [30145] let s:lib.Codec.decoding_table['143,205,210'] = [30148] let s:lib.Codec.decoding_table['143,205,211'] = [30150] let s:lib.Codec.decoding_table['143,205,212'] = [30156] let s:lib.Codec.decoding_table['143,205,213'] = [30158] let s:lib.Codec.decoding_table['143,205,214'] = [30159] let s:lib.Codec.decoding_table['143,205,215'] = [30167] let s:lib.Codec.decoding_table['143,205,216'] = [30172] let s:lib.Codec.decoding_table['143,205,217'] = [30175] let s:lib.Codec.decoding_table['143,205,218'] = [30176] let s:lib.Codec.decoding_table['143,205,219'] = [30177] let s:lib.Codec.decoding_table['143,205,220'] = [30180] let s:lib.Codec.decoding_table['143,205,221'] = [30183] let s:lib.Codec.decoding_table['143,205,222'] = [30188] let s:lib.Codec.decoding_table['143,205,223'] = [30190] let s:lib.Codec.decoding_table['143,205,224'] = [30191] let s:lib.Codec.decoding_table['143,205,225'] = [30193] let s:lib.Codec.decoding_table['143,205,226'] = [30201] let s:lib.Codec.decoding_table['143,205,227'] = [30208] let s:lib.Codec.decoding_table['143,205,228'] = [30210] let s:lib.Codec.decoding_table['143,205,229'] = [30211] let s:lib.Codec.decoding_table['143,205,230'] = [30212] let s:lib.Codec.decoding_table['143,205,231'] = [30215] let s:lib.Codec.decoding_table['143,205,232'] = [30216] let s:lib.Codec.decoding_table['143,205,233'] = [30218] let s:lib.Codec.decoding_table['143,205,234'] = [30220] let s:lib.Codec.decoding_table['143,205,235'] = [30223] let s:lib.Codec.decoding_table['143,205,236'] = [30226] let s:lib.Codec.decoding_table['143,205,237'] = [30227] let s:lib.Codec.decoding_table['143,205,238'] = [30229] let s:lib.Codec.decoding_table['143,205,239'] = [30230] let s:lib.Codec.decoding_table['143,205,240'] = [30233] let s:lib.Codec.decoding_table['143,205,241'] = [30235] let s:lib.Codec.decoding_table['143,205,242'] = [30236] let s:lib.Codec.decoding_table['143,205,243'] = [30237] let s:lib.Codec.decoding_table['143,205,244'] = [30238] let s:lib.Codec.decoding_table['143,205,245'] = [30243] let s:lib.Codec.decoding_table['143,205,246'] = [30245] let s:lib.Codec.decoding_table['143,205,247'] = [30246] let s:lib.Codec.decoding_table['143,205,248'] = [30249] let s:lib.Codec.decoding_table['143,205,249'] = [30253] let s:lib.Codec.decoding_table['143,205,250'] = [30258] let s:lib.Codec.decoding_table['143,205,251'] = [30259] let s:lib.Codec.decoding_table['143,205,252'] = [30261] let s:lib.Codec.decoding_table['143,205,253'] = [30264] let s:lib.Codec.decoding_table['143,205,254'] = [30265] let s:lib.Codec.decoding_table['143,206,161'] = [30266] let s:lib.Codec.decoding_table['143,206,162'] = [30268] let s:lib.Codec.decoding_table['143,206,163'] = [30282] let s:lib.Codec.decoding_table['143,206,164'] = [30272] let s:lib.Codec.decoding_table['143,206,165'] = [30273] let s:lib.Codec.decoding_table['143,206,166'] = [30275] let s:lib.Codec.decoding_table['143,206,167'] = [30276] let s:lib.Codec.decoding_table['143,206,168'] = [30277] let s:lib.Codec.decoding_table['143,206,169'] = [30281] let s:lib.Codec.decoding_table['143,206,170'] = [30283] let s:lib.Codec.decoding_table['143,206,171'] = [30293] let s:lib.Codec.decoding_table['143,206,172'] = [30297] let s:lib.Codec.decoding_table['143,206,173'] = [30303] let s:lib.Codec.decoding_table['143,206,174'] = [30308] let s:lib.Codec.decoding_table['143,206,175'] = [30309] let s:lib.Codec.decoding_table['143,206,176'] = [30317] let s:lib.Codec.decoding_table['143,206,177'] = [30318] let s:lib.Codec.decoding_table['143,206,178'] = [30319] let s:lib.Codec.decoding_table['143,206,179'] = [30321] let s:lib.Codec.decoding_table['143,206,180'] = [30324] let s:lib.Codec.decoding_table['143,206,181'] = [30337] let s:lib.Codec.decoding_table['143,206,182'] = [30341] let s:lib.Codec.decoding_table['143,206,183'] = [30348] let s:lib.Codec.decoding_table['143,206,184'] = [30349] let s:lib.Codec.decoding_table['143,206,185'] = [30357] let s:lib.Codec.decoding_table['143,206,186'] = [30363] let s:lib.Codec.decoding_table['143,206,187'] = [30364] let s:lib.Codec.decoding_table['143,206,188'] = [30365] let s:lib.Codec.decoding_table['143,206,189'] = [30367] let s:lib.Codec.decoding_table['143,206,190'] = [30368] let s:lib.Codec.decoding_table['143,206,191'] = [30370] let s:lib.Codec.decoding_table['143,206,192'] = [30371] let s:lib.Codec.decoding_table['143,206,193'] = [30372] let s:lib.Codec.decoding_table['143,206,194'] = [30373] let s:lib.Codec.decoding_table['143,206,195'] = [30374] let s:lib.Codec.decoding_table['143,206,196'] = [30375] let s:lib.Codec.decoding_table['143,206,197'] = [30376] let s:lib.Codec.decoding_table['143,206,198'] = [30378] let s:lib.Codec.decoding_table['143,206,199'] = [30381] let s:lib.Codec.decoding_table['143,206,200'] = [30397] let s:lib.Codec.decoding_table['143,206,201'] = [30401] let s:lib.Codec.decoding_table['143,206,202'] = [30405] let s:lib.Codec.decoding_table['143,206,203'] = [30409] let s:lib.Codec.decoding_table['143,206,204'] = [30411] let s:lib.Codec.decoding_table['143,206,205'] = [30412] let s:lib.Codec.decoding_table['143,206,206'] = [30414] let s:lib.Codec.decoding_table['143,206,207'] = [30420] let s:lib.Codec.decoding_table['143,206,208'] = [30425] let s:lib.Codec.decoding_table['143,206,209'] = [30432] let s:lib.Codec.decoding_table['143,206,210'] = [30438] let s:lib.Codec.decoding_table['143,206,211'] = [30440] let s:lib.Codec.decoding_table['143,206,212'] = [30444] let s:lib.Codec.decoding_table['143,206,213'] = [30448] let s:lib.Codec.decoding_table['143,206,214'] = [30449] let s:lib.Codec.decoding_table['143,206,215'] = [30454] let s:lib.Codec.decoding_table['143,206,216'] = [30457] let s:lib.Codec.decoding_table['143,206,217'] = [30460] let s:lib.Codec.decoding_table['143,206,218'] = [30464] let s:lib.Codec.decoding_table['143,206,219'] = [30470] let s:lib.Codec.decoding_table['143,206,220'] = [30474] let s:lib.Codec.decoding_table['143,206,221'] = [30478] let s:lib.Codec.decoding_table['143,206,222'] = [30482] let s:lib.Codec.decoding_table['143,206,223'] = [30484] let s:lib.Codec.decoding_table['143,206,224'] = [30485] let s:lib.Codec.decoding_table['143,206,225'] = [30487] let s:lib.Codec.decoding_table['143,206,226'] = [30489] let s:lib.Codec.decoding_table['143,206,227'] = [30490] let s:lib.Codec.decoding_table['143,206,228'] = [30492] let s:lib.Codec.decoding_table['143,206,229'] = [30498] let s:lib.Codec.decoding_table['143,206,230'] = [30504] let s:lib.Codec.decoding_table['143,206,231'] = [30509] let s:lib.Codec.decoding_table['143,206,232'] = [30510] let s:lib.Codec.decoding_table['143,206,233'] = [30511] let s:lib.Codec.decoding_table['143,206,234'] = [30516] let s:lib.Codec.decoding_table['143,206,235'] = [30517] let s:lib.Codec.decoding_table['143,206,236'] = [30518] let s:lib.Codec.decoding_table['143,206,237'] = [30521] let s:lib.Codec.decoding_table['143,206,238'] = [30525] let s:lib.Codec.decoding_table['143,206,239'] = [30526] let s:lib.Codec.decoding_table['143,206,240'] = [30530] let s:lib.Codec.decoding_table['143,206,241'] = [30533] let s:lib.Codec.decoding_table['143,206,242'] = [30534] let s:lib.Codec.decoding_table['143,206,243'] = [30538] let s:lib.Codec.decoding_table['143,206,244'] = [30541] let s:lib.Codec.decoding_table['143,206,245'] = [30542] let s:lib.Codec.decoding_table['143,206,246'] = [30543] let s:lib.Codec.decoding_table['143,206,247'] = [30546] let s:lib.Codec.decoding_table['143,206,248'] = [30550] let s:lib.Codec.decoding_table['143,206,249'] = [30551] let s:lib.Codec.decoding_table['143,206,250'] = [30556] let s:lib.Codec.decoding_table['143,206,251'] = [30558] let s:lib.Codec.decoding_table['143,206,252'] = [30559] let s:lib.Codec.decoding_table['143,206,253'] = [30560] let s:lib.Codec.decoding_table['143,206,254'] = [30562] let s:lib.Codec.decoding_table['143,207,161'] = [30564] let s:lib.Codec.decoding_table['143,207,162'] = [30567] let s:lib.Codec.decoding_table['143,207,163'] = [30570] let s:lib.Codec.decoding_table['143,207,164'] = [30572] let s:lib.Codec.decoding_table['143,207,165'] = [30576] let s:lib.Codec.decoding_table['143,207,166'] = [30578] let s:lib.Codec.decoding_table['143,207,167'] = [30579] let s:lib.Codec.decoding_table['143,207,168'] = [30580] let s:lib.Codec.decoding_table['143,207,169'] = [30586] let s:lib.Codec.decoding_table['143,207,170'] = [30589] let s:lib.Codec.decoding_table['143,207,171'] = [30592] let s:lib.Codec.decoding_table['143,207,172'] = [30596] let s:lib.Codec.decoding_table['143,207,173'] = [30604] let s:lib.Codec.decoding_table['143,207,174'] = [30605] let s:lib.Codec.decoding_table['143,207,175'] = [30612] let s:lib.Codec.decoding_table['143,207,176'] = [30613] let s:lib.Codec.decoding_table['143,207,177'] = [30614] let s:lib.Codec.decoding_table['143,207,178'] = [30618] let s:lib.Codec.decoding_table['143,207,179'] = [30623] let s:lib.Codec.decoding_table['143,207,180'] = [30626] let s:lib.Codec.decoding_table['143,207,181'] = [30631] let s:lib.Codec.decoding_table['143,207,182'] = [30634] let s:lib.Codec.decoding_table['143,207,183'] = [30638] let s:lib.Codec.decoding_table['143,207,184'] = [30639] let s:lib.Codec.decoding_table['143,207,185'] = [30641] let s:lib.Codec.decoding_table['143,207,186'] = [30645] let s:lib.Codec.decoding_table['143,207,187'] = [30654] let s:lib.Codec.decoding_table['143,207,188'] = [30659] let s:lib.Codec.decoding_table['143,207,189'] = [30665] let s:lib.Codec.decoding_table['143,207,190'] = [30673] let s:lib.Codec.decoding_table['143,207,191'] = [30674] let s:lib.Codec.decoding_table['143,207,192'] = [30677] let s:lib.Codec.decoding_table['143,207,193'] = [30681] let s:lib.Codec.decoding_table['143,207,194'] = [30686] let s:lib.Codec.decoding_table['143,207,195'] = [30687] let s:lib.Codec.decoding_table['143,207,196'] = [30688] let s:lib.Codec.decoding_table['143,207,197'] = [30692] let s:lib.Codec.decoding_table['143,207,198'] = [30694] let s:lib.Codec.decoding_table['143,207,199'] = [30698] let s:lib.Codec.decoding_table['143,207,200'] = [30700] let s:lib.Codec.decoding_table['143,207,201'] = [30704] let s:lib.Codec.decoding_table['143,207,202'] = [30705] let s:lib.Codec.decoding_table['143,207,203'] = [30708] let s:lib.Codec.decoding_table['143,207,204'] = [30712] let s:lib.Codec.decoding_table['143,207,205'] = [30715] let s:lib.Codec.decoding_table['143,207,206'] = [30725] let s:lib.Codec.decoding_table['143,207,207'] = [30726] let s:lib.Codec.decoding_table['143,207,208'] = [30729] let s:lib.Codec.decoding_table['143,207,209'] = [30733] let s:lib.Codec.decoding_table['143,207,210'] = [30734] let s:lib.Codec.decoding_table['143,207,211'] = [30737] let s:lib.Codec.decoding_table['143,207,212'] = [30749] let s:lib.Codec.decoding_table['143,207,213'] = [30753] let s:lib.Codec.decoding_table['143,207,214'] = [30754] let s:lib.Codec.decoding_table['143,207,215'] = [30755] let s:lib.Codec.decoding_table['143,207,216'] = [30765] let s:lib.Codec.decoding_table['143,207,217'] = [30766] let s:lib.Codec.decoding_table['143,207,218'] = [30768] let s:lib.Codec.decoding_table['143,207,219'] = [30773] let s:lib.Codec.decoding_table['143,207,220'] = [30775] let s:lib.Codec.decoding_table['143,207,221'] = [30787] let s:lib.Codec.decoding_table['143,207,222'] = [30788] let s:lib.Codec.decoding_table['143,207,223'] = [30791] let s:lib.Codec.decoding_table['143,207,224'] = [30792] let s:lib.Codec.decoding_table['143,207,225'] = [30796] let s:lib.Codec.decoding_table['143,207,226'] = [30798] let s:lib.Codec.decoding_table['143,207,227'] = [30802] let s:lib.Codec.decoding_table['143,207,228'] = [30812] let s:lib.Codec.decoding_table['143,207,229'] = [30814] let s:lib.Codec.decoding_table['143,207,230'] = [30816] let s:lib.Codec.decoding_table['143,207,231'] = [30817] let s:lib.Codec.decoding_table['143,207,232'] = [30819] let s:lib.Codec.decoding_table['143,207,233'] = [30820] let s:lib.Codec.decoding_table['143,207,234'] = [30824] let s:lib.Codec.decoding_table['143,207,235'] = [30826] let s:lib.Codec.decoding_table['143,207,236'] = [30830] let s:lib.Codec.decoding_table['143,207,237'] = [30842] let s:lib.Codec.decoding_table['143,207,238'] = [30846] let s:lib.Codec.decoding_table['143,207,239'] = [30858] let s:lib.Codec.decoding_table['143,207,240'] = [30863] let s:lib.Codec.decoding_table['143,207,241'] = [30868] let s:lib.Codec.decoding_table['143,207,242'] = [30872] let s:lib.Codec.decoding_table['143,207,243'] = [30881] let s:lib.Codec.decoding_table['143,207,244'] = [30877] let s:lib.Codec.decoding_table['143,207,245'] = [30878] let s:lib.Codec.decoding_table['143,207,246'] = [30879] let s:lib.Codec.decoding_table['143,207,247'] = [30884] let s:lib.Codec.decoding_table['143,207,248'] = [30888] let s:lib.Codec.decoding_table['143,207,249'] = [30892] let s:lib.Codec.decoding_table['143,207,250'] = [30893] let s:lib.Codec.decoding_table['143,207,251'] = [30896] let s:lib.Codec.decoding_table['143,207,252'] = [30897] let s:lib.Codec.decoding_table['143,207,253'] = [30898] let s:lib.Codec.decoding_table['143,207,254'] = [30899] let s:lib.Codec.decoding_table['143,208,161'] = [30907] let s:lib.Codec.decoding_table['143,208,162'] = [30909] let s:lib.Codec.decoding_table['143,208,163'] = [30911] let s:lib.Codec.decoding_table['143,208,164'] = [30919] let s:lib.Codec.decoding_table['143,208,165'] = [30920] let s:lib.Codec.decoding_table['143,208,166'] = [30921] let s:lib.Codec.decoding_table['143,208,167'] = [30924] let s:lib.Codec.decoding_table['143,208,168'] = [30926] let s:lib.Codec.decoding_table['143,208,169'] = [30930] let s:lib.Codec.decoding_table['143,208,170'] = [30931] let s:lib.Codec.decoding_table['143,208,171'] = [30933] let s:lib.Codec.decoding_table['143,208,172'] = [30934] let s:lib.Codec.decoding_table['143,208,173'] = [30948] let s:lib.Codec.decoding_table['143,208,174'] = [30939] let s:lib.Codec.decoding_table['143,208,175'] = [30943] let s:lib.Codec.decoding_table['143,208,176'] = [30944] let s:lib.Codec.decoding_table['143,208,177'] = [30945] let s:lib.Codec.decoding_table['143,208,178'] = [30950] let s:lib.Codec.decoding_table['143,208,179'] = [30954] let s:lib.Codec.decoding_table['143,208,180'] = [30962] let s:lib.Codec.decoding_table['143,208,181'] = [30963] let s:lib.Codec.decoding_table['143,208,182'] = [30976] let s:lib.Codec.decoding_table['143,208,183'] = [30966] let s:lib.Codec.decoding_table['143,208,184'] = [30967] let s:lib.Codec.decoding_table['143,208,185'] = [30970] let s:lib.Codec.decoding_table['143,208,186'] = [30971] let s:lib.Codec.decoding_table['143,208,187'] = [30975] let s:lib.Codec.decoding_table['143,208,188'] = [30982] let s:lib.Codec.decoding_table['143,208,189'] = [30988] let s:lib.Codec.decoding_table['143,208,190'] = [30992] let s:lib.Codec.decoding_table['143,208,191'] = [31002] let s:lib.Codec.decoding_table['143,208,192'] = [31004] let s:lib.Codec.decoding_table['143,208,193'] = [31006] let s:lib.Codec.decoding_table['143,208,194'] = [31007] let s:lib.Codec.decoding_table['143,208,195'] = [31008] let s:lib.Codec.decoding_table['143,208,196'] = [31013] let s:lib.Codec.decoding_table['143,208,197'] = [31015] let s:lib.Codec.decoding_table['143,208,198'] = [31017] let s:lib.Codec.decoding_table['143,208,199'] = [31021] let s:lib.Codec.decoding_table['143,208,200'] = [31025] let s:lib.Codec.decoding_table['143,208,201'] = [31028] let s:lib.Codec.decoding_table['143,208,202'] = [31029] let s:lib.Codec.decoding_table['143,208,203'] = [31035] let s:lib.Codec.decoding_table['143,208,204'] = [31037] let s:lib.Codec.decoding_table['143,208,205'] = [31039] let s:lib.Codec.decoding_table['143,208,206'] = [31044] let s:lib.Codec.decoding_table['143,208,207'] = [31045] let s:lib.Codec.decoding_table['143,208,208'] = [31046] let s:lib.Codec.decoding_table['143,208,209'] = [31050] let s:lib.Codec.decoding_table['143,208,210'] = [31051] let s:lib.Codec.decoding_table['143,208,211'] = [31055] let s:lib.Codec.decoding_table['143,208,212'] = [31057] let s:lib.Codec.decoding_table['143,208,213'] = [31060] let s:lib.Codec.decoding_table['143,208,214'] = [31064] let s:lib.Codec.decoding_table['143,208,215'] = [31067] let s:lib.Codec.decoding_table['143,208,216'] = [31068] let s:lib.Codec.decoding_table['143,208,217'] = [31079] let s:lib.Codec.decoding_table['143,208,218'] = [31081] let s:lib.Codec.decoding_table['143,208,219'] = [31083] let s:lib.Codec.decoding_table['143,208,220'] = [31090] let s:lib.Codec.decoding_table['143,208,221'] = [31097] let s:lib.Codec.decoding_table['143,208,222'] = [31099] let s:lib.Codec.decoding_table['143,208,223'] = [31100] let s:lib.Codec.decoding_table['143,208,224'] = [31102] let s:lib.Codec.decoding_table['143,208,225'] = [31115] let s:lib.Codec.decoding_table['143,208,226'] = [31116] let s:lib.Codec.decoding_table['143,208,227'] = [31121] let s:lib.Codec.decoding_table['143,208,228'] = [31123] let s:lib.Codec.decoding_table['143,208,229'] = [31124] let s:lib.Codec.decoding_table['143,208,230'] = [31125] let s:lib.Codec.decoding_table['143,208,231'] = [31126] let s:lib.Codec.decoding_table['143,208,232'] = [31128] let s:lib.Codec.decoding_table['143,208,233'] = [31131] let s:lib.Codec.decoding_table['143,208,234'] = [31132] let s:lib.Codec.decoding_table['143,208,235'] = [31137] let s:lib.Codec.decoding_table['143,208,236'] = [31144] let s:lib.Codec.decoding_table['143,208,237'] = [31145] let s:lib.Codec.decoding_table['143,208,238'] = [31147] let s:lib.Codec.decoding_table['143,208,239'] = [31151] let s:lib.Codec.decoding_table['143,208,240'] = [31153] let s:lib.Codec.decoding_table['143,208,241'] = [31156] let s:lib.Codec.decoding_table['143,208,242'] = [31160] let s:lib.Codec.decoding_table['143,208,243'] = [31163] let s:lib.Codec.decoding_table['143,208,244'] = [31170] let s:lib.Codec.decoding_table['143,208,245'] = [31172] let s:lib.Codec.decoding_table['143,208,246'] = [31175] let s:lib.Codec.decoding_table['143,208,247'] = [31176] let s:lib.Codec.decoding_table['143,208,248'] = [31178] let s:lib.Codec.decoding_table['143,208,249'] = [31183] let s:lib.Codec.decoding_table['143,208,250'] = [31188] let s:lib.Codec.decoding_table['143,208,251'] = [31190] let s:lib.Codec.decoding_table['143,208,252'] = [31194] let s:lib.Codec.decoding_table['143,208,253'] = [31197] let s:lib.Codec.decoding_table['143,208,254'] = [31198] let s:lib.Codec.decoding_table['143,209,161'] = [31200] let s:lib.Codec.decoding_table['143,209,162'] = [31202] let s:lib.Codec.decoding_table['143,209,163'] = [31205] let s:lib.Codec.decoding_table['143,209,164'] = [31210] let s:lib.Codec.decoding_table['143,209,165'] = [31211] let s:lib.Codec.decoding_table['143,209,166'] = [31213] let s:lib.Codec.decoding_table['143,209,167'] = [31217] let s:lib.Codec.decoding_table['143,209,168'] = [31224] let s:lib.Codec.decoding_table['143,209,169'] = [31228] let s:lib.Codec.decoding_table['143,209,170'] = [31234] let s:lib.Codec.decoding_table['143,209,171'] = [31235] let s:lib.Codec.decoding_table['143,209,172'] = [31239] let s:lib.Codec.decoding_table['143,209,173'] = [31241] let s:lib.Codec.decoding_table['143,209,174'] = [31242] let s:lib.Codec.decoding_table['143,209,175'] = [31244] let s:lib.Codec.decoding_table['143,209,176'] = [31249] let s:lib.Codec.decoding_table['143,209,177'] = [31253] let s:lib.Codec.decoding_table['143,209,178'] = [31259] let s:lib.Codec.decoding_table['143,209,179'] = [31262] let s:lib.Codec.decoding_table['143,209,180'] = [31265] let s:lib.Codec.decoding_table['143,209,181'] = [31271] let s:lib.Codec.decoding_table['143,209,182'] = [31275] let s:lib.Codec.decoding_table['143,209,183'] = [31277] let s:lib.Codec.decoding_table['143,209,184'] = [31279] let s:lib.Codec.decoding_table['143,209,185'] = [31280] let s:lib.Codec.decoding_table['143,209,186'] = [31284] let s:lib.Codec.decoding_table['143,209,187'] = [31285] let s:lib.Codec.decoding_table['143,209,188'] = [31288] let s:lib.Codec.decoding_table['143,209,189'] = [31289] let s:lib.Codec.decoding_table['143,209,190'] = [31290] let s:lib.Codec.decoding_table['143,209,191'] = [31300] let s:lib.Codec.decoding_table['143,209,192'] = [31301] let s:lib.Codec.decoding_table['143,209,193'] = [31303] let s:lib.Codec.decoding_table['143,209,194'] = [31304] let s:lib.Codec.decoding_table['143,209,195'] = [31308] let s:lib.Codec.decoding_table['143,209,196'] = [31317] let s:lib.Codec.decoding_table['143,209,197'] = [31318] let s:lib.Codec.decoding_table['143,209,198'] = [31321] let s:lib.Codec.decoding_table['143,209,199'] = [31324] let s:lib.Codec.decoding_table['143,209,200'] = [31325] let s:lib.Codec.decoding_table['143,209,201'] = [31327] let s:lib.Codec.decoding_table['143,209,202'] = [31328] let s:lib.Codec.decoding_table['143,209,203'] = [31333] let s:lib.Codec.decoding_table['143,209,204'] = [31335] let s:lib.Codec.decoding_table['143,209,205'] = [31338] let s:lib.Codec.decoding_table['143,209,206'] = [31341] let s:lib.Codec.decoding_table['143,209,207'] = [31349] let s:lib.Codec.decoding_table['143,209,208'] = [31352] let s:lib.Codec.decoding_table['143,209,209'] = [31358] let s:lib.Codec.decoding_table['143,209,210'] = [31360] let s:lib.Codec.decoding_table['143,209,211'] = [31362] let s:lib.Codec.decoding_table['143,209,212'] = [31365] let s:lib.Codec.decoding_table['143,209,213'] = [31366] let s:lib.Codec.decoding_table['143,209,214'] = [31370] let s:lib.Codec.decoding_table['143,209,215'] = [31371] let s:lib.Codec.decoding_table['143,209,216'] = [31376] let s:lib.Codec.decoding_table['143,209,217'] = [31377] let s:lib.Codec.decoding_table['143,209,218'] = [31380] let s:lib.Codec.decoding_table['143,209,219'] = [31390] let s:lib.Codec.decoding_table['143,209,220'] = [31392] let s:lib.Codec.decoding_table['143,209,221'] = [31395] let s:lib.Codec.decoding_table['143,209,222'] = [31404] let s:lib.Codec.decoding_table['143,209,223'] = [31411] let s:lib.Codec.decoding_table['143,209,224'] = [31413] let s:lib.Codec.decoding_table['143,209,225'] = [31417] let s:lib.Codec.decoding_table['143,209,226'] = [31419] let s:lib.Codec.decoding_table['143,209,227'] = [31420] let s:lib.Codec.decoding_table['143,209,228'] = [31430] let s:lib.Codec.decoding_table['143,209,229'] = [31433] let s:lib.Codec.decoding_table['143,209,230'] = [31436] let s:lib.Codec.decoding_table['143,209,231'] = [31438] let s:lib.Codec.decoding_table['143,209,232'] = [31441] let s:lib.Codec.decoding_table['143,209,233'] = [31451] let s:lib.Codec.decoding_table['143,209,234'] = [31464] let s:lib.Codec.decoding_table['143,209,235'] = [31465] let s:lib.Codec.decoding_table['143,209,236'] = [31467] let s:lib.Codec.decoding_table['143,209,237'] = [31468] let s:lib.Codec.decoding_table['143,209,238'] = [31473] let s:lib.Codec.decoding_table['143,209,239'] = [31476] let s:lib.Codec.decoding_table['143,209,240'] = [31483] let s:lib.Codec.decoding_table['143,209,241'] = [31485] let s:lib.Codec.decoding_table['143,209,242'] = [31486] let s:lib.Codec.decoding_table['143,209,243'] = [31495] let s:lib.Codec.decoding_table['143,209,244'] = [31508] let s:lib.Codec.decoding_table['143,209,245'] = [31519] let s:lib.Codec.decoding_table['143,209,246'] = [31523] let s:lib.Codec.decoding_table['143,209,247'] = [31527] let s:lib.Codec.decoding_table['143,209,248'] = [31529] let s:lib.Codec.decoding_table['143,209,249'] = [31530] let s:lib.Codec.decoding_table['143,209,250'] = [31531] let s:lib.Codec.decoding_table['143,209,251'] = [31533] let s:lib.Codec.decoding_table['143,209,252'] = [31534] let s:lib.Codec.decoding_table['143,209,253'] = [31535] let s:lib.Codec.decoding_table['143,209,254'] = [31536] let s:lib.Codec.decoding_table['143,210,161'] = [31537] let s:lib.Codec.decoding_table['143,210,162'] = [31540] let s:lib.Codec.decoding_table['143,210,163'] = [31549] let s:lib.Codec.decoding_table['143,210,164'] = [31551] let s:lib.Codec.decoding_table['143,210,165'] = [31552] let s:lib.Codec.decoding_table['143,210,166'] = [31553] let s:lib.Codec.decoding_table['143,210,167'] = [31559] let s:lib.Codec.decoding_table['143,210,168'] = [31566] let s:lib.Codec.decoding_table['143,210,169'] = [31573] let s:lib.Codec.decoding_table['143,210,170'] = [31584] let s:lib.Codec.decoding_table['143,210,171'] = [31588] let s:lib.Codec.decoding_table['143,210,172'] = [31590] let s:lib.Codec.decoding_table['143,210,173'] = [31593] let s:lib.Codec.decoding_table['143,210,174'] = [31594] let s:lib.Codec.decoding_table['143,210,175'] = [31597] let s:lib.Codec.decoding_table['143,210,176'] = [31599] let s:lib.Codec.decoding_table['143,210,177'] = [31602] let s:lib.Codec.decoding_table['143,210,178'] = [31603] let s:lib.Codec.decoding_table['143,210,179'] = [31607] let s:lib.Codec.decoding_table['143,210,180'] = [31620] let s:lib.Codec.decoding_table['143,210,181'] = [31625] let s:lib.Codec.decoding_table['143,210,182'] = [31630] let s:lib.Codec.decoding_table['143,210,183'] = [31632] let s:lib.Codec.decoding_table['143,210,184'] = [31633] let s:lib.Codec.decoding_table['143,210,185'] = [31638] let s:lib.Codec.decoding_table['143,210,186'] = [31643] let s:lib.Codec.decoding_table['143,210,187'] = [31646] let s:lib.Codec.decoding_table['143,210,188'] = [31648] let s:lib.Codec.decoding_table['143,210,189'] = [31653] let s:lib.Codec.decoding_table['143,210,190'] = [31660] let s:lib.Codec.decoding_table['143,210,191'] = [31663] let s:lib.Codec.decoding_table['143,210,192'] = [31664] let s:lib.Codec.decoding_table['143,210,193'] = [31666] let s:lib.Codec.decoding_table['143,210,194'] = [31669] let s:lib.Codec.decoding_table['143,210,195'] = [31670] let s:lib.Codec.decoding_table['143,210,196'] = [31674] let s:lib.Codec.decoding_table['143,210,197'] = [31675] let s:lib.Codec.decoding_table['143,210,198'] = [31676] let s:lib.Codec.decoding_table['143,210,199'] = [31677] let s:lib.Codec.decoding_table['143,210,200'] = [31682] let s:lib.Codec.decoding_table['143,210,201'] = [31685] let s:lib.Codec.decoding_table['143,210,202'] = [31688] let s:lib.Codec.decoding_table['143,210,203'] = [31690] let s:lib.Codec.decoding_table['143,210,204'] = [31700] let s:lib.Codec.decoding_table['143,210,205'] = [31702] let s:lib.Codec.decoding_table['143,210,206'] = [31703] let s:lib.Codec.decoding_table['143,210,207'] = [31705] let s:lib.Codec.decoding_table['143,210,208'] = [31706] let s:lib.Codec.decoding_table['143,210,209'] = [31707] let s:lib.Codec.decoding_table['143,210,210'] = [31720] let s:lib.Codec.decoding_table['143,210,211'] = [31722] let s:lib.Codec.decoding_table['143,210,212'] = [31730] let s:lib.Codec.decoding_table['143,210,213'] = [31732] let s:lib.Codec.decoding_table['143,210,214'] = [31733] let s:lib.Codec.decoding_table['143,210,215'] = [31736] let s:lib.Codec.decoding_table['143,210,216'] = [31737] let s:lib.Codec.decoding_table['143,210,217'] = [31738] let s:lib.Codec.decoding_table['143,210,218'] = [31740] let s:lib.Codec.decoding_table['143,210,219'] = [31742] let s:lib.Codec.decoding_table['143,210,220'] = [31745] let s:lib.Codec.decoding_table['143,210,221'] = [31746] let s:lib.Codec.decoding_table['143,210,222'] = [31747] let s:lib.Codec.decoding_table['143,210,223'] = [31748] let s:lib.Codec.decoding_table['143,210,224'] = [31750] let s:lib.Codec.decoding_table['143,210,225'] = [31753] let s:lib.Codec.decoding_table['143,210,226'] = [31755] let s:lib.Codec.decoding_table['143,210,227'] = [31756] let s:lib.Codec.decoding_table['143,210,228'] = [31758] let s:lib.Codec.decoding_table['143,210,229'] = [31759] let s:lib.Codec.decoding_table['143,210,230'] = [31769] let s:lib.Codec.decoding_table['143,210,231'] = [31771] let s:lib.Codec.decoding_table['143,210,232'] = [31776] let s:lib.Codec.decoding_table['143,210,233'] = [31781] let s:lib.Codec.decoding_table['143,210,234'] = [31782] let s:lib.Codec.decoding_table['143,210,235'] = [31784] let s:lib.Codec.decoding_table['143,210,236'] = [31788] let s:lib.Codec.decoding_table['143,210,237'] = [31793] let s:lib.Codec.decoding_table['143,210,238'] = [31795] let s:lib.Codec.decoding_table['143,210,239'] = [31796] let s:lib.Codec.decoding_table['143,210,240'] = [31798] let s:lib.Codec.decoding_table['143,210,241'] = [31801] let s:lib.Codec.decoding_table['143,210,242'] = [31802] let s:lib.Codec.decoding_table['143,210,243'] = [31814] let s:lib.Codec.decoding_table['143,210,244'] = [31818] let s:lib.Codec.decoding_table['143,210,245'] = [31829] let s:lib.Codec.decoding_table['143,210,246'] = [31825] let s:lib.Codec.decoding_table['143,210,247'] = [31826] let s:lib.Codec.decoding_table['143,210,248'] = [31827] let s:lib.Codec.decoding_table['143,210,249'] = [31833] let s:lib.Codec.decoding_table['143,210,250'] = [31834] let s:lib.Codec.decoding_table['143,210,251'] = [31835] let s:lib.Codec.decoding_table['143,210,252'] = [31836] let s:lib.Codec.decoding_table['143,210,253'] = [31837] let s:lib.Codec.decoding_table['143,210,254'] = [31838] let s:lib.Codec.decoding_table['143,211,161'] = [31841] let s:lib.Codec.decoding_table['143,211,162'] = [31843] let s:lib.Codec.decoding_table['143,211,163'] = [31847] let s:lib.Codec.decoding_table['143,211,164'] = [31849] let s:lib.Codec.decoding_table['143,211,165'] = [31853] let s:lib.Codec.decoding_table['143,211,166'] = [31854] let s:lib.Codec.decoding_table['143,211,167'] = [31856] let s:lib.Codec.decoding_table['143,211,168'] = [31858] let s:lib.Codec.decoding_table['143,211,169'] = [31865] let s:lib.Codec.decoding_table['143,211,170'] = [31868] let s:lib.Codec.decoding_table['143,211,171'] = [31869] let s:lib.Codec.decoding_table['143,211,172'] = [31878] let s:lib.Codec.decoding_table['143,211,173'] = [31879] let s:lib.Codec.decoding_table['143,211,174'] = [31887] let s:lib.Codec.decoding_table['143,211,175'] = [31892] let s:lib.Codec.decoding_table['143,211,176'] = [31902] let s:lib.Codec.decoding_table['143,211,177'] = [31904] let s:lib.Codec.decoding_table['143,211,178'] = [31910] let s:lib.Codec.decoding_table['143,211,179'] = [31920] let s:lib.Codec.decoding_table['143,211,180'] = [31926] let s:lib.Codec.decoding_table['143,211,181'] = [31927] let s:lib.Codec.decoding_table['143,211,182'] = [31930] let s:lib.Codec.decoding_table['143,211,183'] = [31931] let s:lib.Codec.decoding_table['143,211,184'] = [31932] let s:lib.Codec.decoding_table['143,211,185'] = [31935] let s:lib.Codec.decoding_table['143,211,186'] = [31940] let s:lib.Codec.decoding_table['143,211,187'] = [31943] let s:lib.Codec.decoding_table['143,211,188'] = [31944] let s:lib.Codec.decoding_table['143,211,189'] = [31945] let s:lib.Codec.decoding_table['143,211,190'] = [31949] let s:lib.Codec.decoding_table['143,211,191'] = [31951] let s:lib.Codec.decoding_table['143,211,192'] = [31955] let s:lib.Codec.decoding_table['143,211,193'] = [31956] let s:lib.Codec.decoding_table['143,211,194'] = [31957] let s:lib.Codec.decoding_table['143,211,195'] = [31959] let s:lib.Codec.decoding_table['143,211,196'] = [31961] let s:lib.Codec.decoding_table['143,211,197'] = [31962] let s:lib.Codec.decoding_table['143,211,198'] = [31965] let s:lib.Codec.decoding_table['143,211,199'] = [31974] let s:lib.Codec.decoding_table['143,211,200'] = [31977] let s:lib.Codec.decoding_table['143,211,201'] = [31979] let s:lib.Codec.decoding_table['143,211,202'] = [31989] let s:lib.Codec.decoding_table['143,211,203'] = [32003] let s:lib.Codec.decoding_table['143,211,204'] = [32007] let s:lib.Codec.decoding_table['143,211,205'] = [32008] let s:lib.Codec.decoding_table['143,211,206'] = [32009] let s:lib.Codec.decoding_table['143,211,207'] = [32015] let s:lib.Codec.decoding_table['143,211,208'] = [32017] let s:lib.Codec.decoding_table['143,211,209'] = [32018] let s:lib.Codec.decoding_table['143,211,210'] = [32019] let s:lib.Codec.decoding_table['143,211,211'] = [32022] let s:lib.Codec.decoding_table['143,211,212'] = [32029] let s:lib.Codec.decoding_table['143,211,213'] = [32030] let s:lib.Codec.decoding_table['143,211,214'] = [32035] let s:lib.Codec.decoding_table['143,211,215'] = [32038] let s:lib.Codec.decoding_table['143,211,216'] = [32042] let s:lib.Codec.decoding_table['143,211,217'] = [32045] let s:lib.Codec.decoding_table['143,211,218'] = [32049] let s:lib.Codec.decoding_table['143,211,219'] = [32060] let s:lib.Codec.decoding_table['143,211,220'] = [32061] let s:lib.Codec.decoding_table['143,211,221'] = [32062] let s:lib.Codec.decoding_table['143,211,222'] = [32064] let s:lib.Codec.decoding_table['143,211,223'] = [32065] let s:lib.Codec.decoding_table['143,211,224'] = [32071] let s:lib.Codec.decoding_table['143,211,225'] = [32072] let s:lib.Codec.decoding_table['143,211,226'] = [32077] let s:lib.Codec.decoding_table['143,211,227'] = [32081] let s:lib.Codec.decoding_table['143,211,228'] = [32083] let s:lib.Codec.decoding_table['143,211,229'] = [32087] let s:lib.Codec.decoding_table['143,211,230'] = [32089] let s:lib.Codec.decoding_table['143,211,231'] = [32090] let s:lib.Codec.decoding_table['143,211,232'] = [32092] let s:lib.Codec.decoding_table['143,211,233'] = [32093] let s:lib.Codec.decoding_table['143,211,234'] = [32101] let s:lib.Codec.decoding_table['143,211,235'] = [32103] let s:lib.Codec.decoding_table['143,211,236'] = [32106] let s:lib.Codec.decoding_table['143,211,237'] = [32112] let s:lib.Codec.decoding_table['143,211,238'] = [32120] let s:lib.Codec.decoding_table['143,211,239'] = [32122] let s:lib.Codec.decoding_table['143,211,240'] = [32123] let s:lib.Codec.decoding_table['143,211,241'] = [32127] let s:lib.Codec.decoding_table['143,211,242'] = [32129] let s:lib.Codec.decoding_table['143,211,243'] = [32130] let s:lib.Codec.decoding_table['143,211,244'] = [32131] let s:lib.Codec.decoding_table['143,211,245'] = [32133] let s:lib.Codec.decoding_table['143,211,246'] = [32134] let s:lib.Codec.decoding_table['143,211,247'] = [32136] let s:lib.Codec.decoding_table['143,211,248'] = [32139] let s:lib.Codec.decoding_table['143,211,249'] = [32140] let s:lib.Codec.decoding_table['143,211,250'] = [32141] let s:lib.Codec.decoding_table['143,211,251'] = [32145] let s:lib.Codec.decoding_table['143,211,252'] = [32150] let s:lib.Codec.decoding_table['143,211,253'] = [32151] let s:lib.Codec.decoding_table['143,211,254'] = [32157] let s:lib.Codec.decoding_table['143,212,161'] = [32158] let s:lib.Codec.decoding_table['143,212,162'] = [32166] let s:lib.Codec.decoding_table['143,212,163'] = [32167] let s:lib.Codec.decoding_table['143,212,164'] = [32170] let s:lib.Codec.decoding_table['143,212,165'] = [32179] let s:lib.Codec.decoding_table['143,212,166'] = [32182] let s:lib.Codec.decoding_table['143,212,167'] = [32183] let s:lib.Codec.decoding_table['143,212,168'] = [32185] let s:lib.Codec.decoding_table['143,212,169'] = [32194] let s:lib.Codec.decoding_table['143,212,170'] = [32195] let s:lib.Codec.decoding_table['143,212,171'] = [32196] let s:lib.Codec.decoding_table['143,212,172'] = [32197] let s:lib.Codec.decoding_table['143,212,173'] = [32198] let s:lib.Codec.decoding_table['143,212,174'] = [32204] let s:lib.Codec.decoding_table['143,212,175'] = [32205] let s:lib.Codec.decoding_table['143,212,176'] = [32206] let s:lib.Codec.decoding_table['143,212,177'] = [32215] let s:lib.Codec.decoding_table['143,212,178'] = [32217] let s:lib.Codec.decoding_table['143,212,179'] = [32256] let s:lib.Codec.decoding_table['143,212,180'] = [32226] let s:lib.Codec.decoding_table['143,212,181'] = [32229] let s:lib.Codec.decoding_table['143,212,182'] = [32230] let s:lib.Codec.decoding_table['143,212,183'] = [32234] let s:lib.Codec.decoding_table['143,212,184'] = [32235] let s:lib.Codec.decoding_table['143,212,185'] = [32237] let s:lib.Codec.decoding_table['143,212,186'] = [32241] let s:lib.Codec.decoding_table['143,212,187'] = [32245] let s:lib.Codec.decoding_table['143,212,188'] = [32246] let s:lib.Codec.decoding_table['143,212,189'] = [32249] let s:lib.Codec.decoding_table['143,212,190'] = [32250] let s:lib.Codec.decoding_table['143,212,191'] = [32264] let s:lib.Codec.decoding_table['143,212,192'] = [32272] let s:lib.Codec.decoding_table['143,212,193'] = [32273] let s:lib.Codec.decoding_table['143,212,194'] = [32277] let s:lib.Codec.decoding_table['143,212,195'] = [32279] let s:lib.Codec.decoding_table['143,212,196'] = [32284] let s:lib.Codec.decoding_table['143,212,197'] = [32285] let s:lib.Codec.decoding_table['143,212,198'] = [32288] let s:lib.Codec.decoding_table['143,212,199'] = [32295] let s:lib.Codec.decoding_table['143,212,200'] = [32296] let s:lib.Codec.decoding_table['143,212,201'] = [32300] let s:lib.Codec.decoding_table['143,212,202'] = [32301] let s:lib.Codec.decoding_table['143,212,203'] = [32303] let s:lib.Codec.decoding_table['143,212,204'] = [32307] let s:lib.Codec.decoding_table['143,212,205'] = [32310] let s:lib.Codec.decoding_table['143,212,206'] = [32319] let s:lib.Codec.decoding_table['143,212,207'] = [32324] let s:lib.Codec.decoding_table['143,212,208'] = [32325] let s:lib.Codec.decoding_table['143,212,209'] = [32327] let s:lib.Codec.decoding_table['143,212,210'] = [32334] let s:lib.Codec.decoding_table['143,212,211'] = [32336] let s:lib.Codec.decoding_table['143,212,212'] = [32338] let s:lib.Codec.decoding_table['143,212,213'] = [32344] let s:lib.Codec.decoding_table['143,212,214'] = [32351] let s:lib.Codec.decoding_table['143,212,215'] = [32353] let s:lib.Codec.decoding_table['143,212,216'] = [32354] let s:lib.Codec.decoding_table['143,212,217'] = [32357] let s:lib.Codec.decoding_table['143,212,218'] = [32363] let s:lib.Codec.decoding_table['143,212,219'] = [32366] let s:lib.Codec.decoding_table['143,212,220'] = [32367] let s:lib.Codec.decoding_table['143,212,221'] = [32371] let s:lib.Codec.decoding_table['143,212,222'] = [32376] let s:lib.Codec.decoding_table['143,212,223'] = [32382] let s:lib.Codec.decoding_table['143,212,224'] = [32385] let s:lib.Codec.decoding_table['143,212,225'] = [32390] let s:lib.Codec.decoding_table['143,212,226'] = [32391] let s:lib.Codec.decoding_table['143,212,227'] = [32394] let s:lib.Codec.decoding_table['143,212,228'] = [32397] let s:lib.Codec.decoding_table['143,212,229'] = [32401] let s:lib.Codec.decoding_table['143,212,230'] = [32405] let s:lib.Codec.decoding_table['143,212,231'] = [32408] let s:lib.Codec.decoding_table['143,212,232'] = [32410] let s:lib.Codec.decoding_table['143,212,233'] = [32413] let s:lib.Codec.decoding_table['143,212,234'] = [32414] let s:lib.Codec.decoding_table['143,212,235'] = [32572] let s:lib.Codec.decoding_table['143,212,236'] = [32571] let s:lib.Codec.decoding_table['143,212,237'] = [32573] let s:lib.Codec.decoding_table['143,212,238'] = [32574] let s:lib.Codec.decoding_table['143,212,239'] = [32575] let s:lib.Codec.decoding_table['143,212,240'] = [32579] let s:lib.Codec.decoding_table['143,212,241'] = [32580] let s:lib.Codec.decoding_table['143,212,242'] = [32583] let s:lib.Codec.decoding_table['143,212,243'] = [32591] let s:lib.Codec.decoding_table['143,212,244'] = [32594] let s:lib.Codec.decoding_table['143,212,245'] = [32595] let s:lib.Codec.decoding_table['143,212,246'] = [32603] let s:lib.Codec.decoding_table['143,212,247'] = [32604] let s:lib.Codec.decoding_table['143,212,248'] = [32605] let s:lib.Codec.decoding_table['143,212,249'] = [32609] let s:lib.Codec.decoding_table['143,212,250'] = [32611] let s:lib.Codec.decoding_table['143,212,251'] = [32612] let s:lib.Codec.decoding_table['143,212,252'] = [32613] let s:lib.Codec.decoding_table['143,212,253'] = [32614] let s:lib.Codec.decoding_table['143,212,254'] = [32621] let s:lib.Codec.decoding_table['143,213,161'] = [32625] let s:lib.Codec.decoding_table['143,213,162'] = [32637] let s:lib.Codec.decoding_table['143,213,163'] = [32638] let s:lib.Codec.decoding_table['143,213,164'] = [32639] let s:lib.Codec.decoding_table['143,213,165'] = [32640] let s:lib.Codec.decoding_table['143,213,166'] = [32651] let s:lib.Codec.decoding_table['143,213,167'] = [32653] let s:lib.Codec.decoding_table['143,213,168'] = [32655] let s:lib.Codec.decoding_table['143,213,169'] = [32656] let s:lib.Codec.decoding_table['143,213,170'] = [32657] let s:lib.Codec.decoding_table['143,213,171'] = [32662] let s:lib.Codec.decoding_table['143,213,172'] = [32663] let s:lib.Codec.decoding_table['143,213,173'] = [32668] let s:lib.Codec.decoding_table['143,213,174'] = [32673] let s:lib.Codec.decoding_table['143,213,175'] = [32674] let s:lib.Codec.decoding_table['143,213,176'] = [32678] let s:lib.Codec.decoding_table['143,213,177'] = [32682] let s:lib.Codec.decoding_table['143,213,178'] = [32685] let s:lib.Codec.decoding_table['143,213,179'] = [32692] let s:lib.Codec.decoding_table['143,213,180'] = [32700] let s:lib.Codec.decoding_table['143,213,181'] = [32703] let s:lib.Codec.decoding_table['143,213,182'] = [32704] let s:lib.Codec.decoding_table['143,213,183'] = [32707] let s:lib.Codec.decoding_table['143,213,184'] = [32712] let s:lib.Codec.decoding_table['143,213,185'] = [32718] let s:lib.Codec.decoding_table['143,213,186'] = [32719] let s:lib.Codec.decoding_table['143,213,187'] = [32731] let s:lib.Codec.decoding_table['143,213,188'] = [32735] let s:lib.Codec.decoding_table['143,213,189'] = [32739] let s:lib.Codec.decoding_table['143,213,190'] = [32741] let s:lib.Codec.decoding_table['143,213,191'] = [32744] let s:lib.Codec.decoding_table['143,213,192'] = [32748] let s:lib.Codec.decoding_table['143,213,193'] = [32750] let s:lib.Codec.decoding_table['143,213,194'] = [32751] let s:lib.Codec.decoding_table['143,213,195'] = [32754] let s:lib.Codec.decoding_table['143,213,196'] = [32762] let s:lib.Codec.decoding_table['143,213,197'] = [32765] let s:lib.Codec.decoding_table['143,213,198'] = [32766] let s:lib.Codec.decoding_table['143,213,199'] = [32767] let s:lib.Codec.decoding_table['143,213,200'] = [32775] let s:lib.Codec.decoding_table['143,213,201'] = [32776] let s:lib.Codec.decoding_table['143,213,202'] = [32778] let s:lib.Codec.decoding_table['143,213,203'] = [32781] let s:lib.Codec.decoding_table['143,213,204'] = [32782] let s:lib.Codec.decoding_table['143,213,205'] = [32783] let s:lib.Codec.decoding_table['143,213,206'] = [32785] let s:lib.Codec.decoding_table['143,213,207'] = [32787] let s:lib.Codec.decoding_table['143,213,208'] = [32788] let s:lib.Codec.decoding_table['143,213,209'] = [32790] let s:lib.Codec.decoding_table['143,213,210'] = [32797] let s:lib.Codec.decoding_table['143,213,211'] = [32798] let s:lib.Codec.decoding_table['143,213,212'] = [32799] let s:lib.Codec.decoding_table['143,213,213'] = [32800] let s:lib.Codec.decoding_table['143,213,214'] = [32804] let s:lib.Codec.decoding_table['143,213,215'] = [32806] let s:lib.Codec.decoding_table['143,213,216'] = [32812] let s:lib.Codec.decoding_table['143,213,217'] = [32814] let s:lib.Codec.decoding_table['143,213,218'] = [32816] let s:lib.Codec.decoding_table['143,213,219'] = [32820] let s:lib.Codec.decoding_table['143,213,220'] = [32821] let s:lib.Codec.decoding_table['143,213,221'] = [32823] let s:lib.Codec.decoding_table['143,213,222'] = [32825] let s:lib.Codec.decoding_table['143,213,223'] = [32826] let s:lib.Codec.decoding_table['143,213,224'] = [32828] let s:lib.Codec.decoding_table['143,213,225'] = [32830] let s:lib.Codec.decoding_table['143,213,226'] = [32832] let s:lib.Codec.decoding_table['143,213,227'] = [32836] let s:lib.Codec.decoding_table['143,213,228'] = [32864] let s:lib.Codec.decoding_table['143,213,229'] = [32868] let s:lib.Codec.decoding_table['143,213,230'] = [32870] let s:lib.Codec.decoding_table['143,213,231'] = [32877] let s:lib.Codec.decoding_table['143,213,232'] = [32881] let s:lib.Codec.decoding_table['143,213,233'] = [32885] let s:lib.Codec.decoding_table['143,213,234'] = [32897] let s:lib.Codec.decoding_table['143,213,235'] = [32904] let s:lib.Codec.decoding_table['143,213,236'] = [32910] let s:lib.Codec.decoding_table['143,213,237'] = [32924] let s:lib.Codec.decoding_table['143,213,238'] = [32926] let s:lib.Codec.decoding_table['143,213,239'] = [32934] let s:lib.Codec.decoding_table['143,213,240'] = [32935] let s:lib.Codec.decoding_table['143,213,241'] = [32939] let s:lib.Codec.decoding_table['143,213,242'] = [32952] let s:lib.Codec.decoding_table['143,213,243'] = [32953] let s:lib.Codec.decoding_table['143,213,244'] = [32968] let s:lib.Codec.decoding_table['143,213,245'] = [32973] let s:lib.Codec.decoding_table['143,213,246'] = [32975] let s:lib.Codec.decoding_table['143,213,247'] = [32978] let s:lib.Codec.decoding_table['143,213,248'] = [32980] let s:lib.Codec.decoding_table['143,213,249'] = [32981] let s:lib.Codec.decoding_table['143,213,250'] = [32983] let s:lib.Codec.decoding_table['143,213,251'] = [32984] let s:lib.Codec.decoding_table['143,213,252'] = [32992] let s:lib.Codec.decoding_table['143,213,253'] = [33005] let s:lib.Codec.decoding_table['143,213,254'] = [33006] let s:lib.Codec.decoding_table['143,214,161'] = [33008] let s:lib.Codec.decoding_table['143,214,162'] = [33010] let s:lib.Codec.decoding_table['143,214,163'] = [33011] let s:lib.Codec.decoding_table['143,214,164'] = [33014] let s:lib.Codec.decoding_table['143,214,165'] = [33017] let s:lib.Codec.decoding_table['143,214,166'] = [33018] let s:lib.Codec.decoding_table['143,214,167'] = [33022] let s:lib.Codec.decoding_table['143,214,168'] = [33027] let s:lib.Codec.decoding_table['143,214,169'] = [33035] let s:lib.Codec.decoding_table['143,214,170'] = [33046] let s:lib.Codec.decoding_table['143,214,171'] = [33047] let s:lib.Codec.decoding_table['143,214,172'] = [33048] let s:lib.Codec.decoding_table['143,214,173'] = [33052] let s:lib.Codec.decoding_table['143,214,174'] = [33054] let s:lib.Codec.decoding_table['143,214,175'] = [33056] let s:lib.Codec.decoding_table['143,214,176'] = [33060] let s:lib.Codec.decoding_table['143,214,177'] = [33063] let s:lib.Codec.decoding_table['143,214,178'] = [33068] let s:lib.Codec.decoding_table['143,214,179'] = [33072] let s:lib.Codec.decoding_table['143,214,180'] = [33077] let s:lib.Codec.decoding_table['143,214,181'] = [33082] let s:lib.Codec.decoding_table['143,214,182'] = [33084] let s:lib.Codec.decoding_table['143,214,183'] = [33093] let s:lib.Codec.decoding_table['143,214,184'] = [33095] let s:lib.Codec.decoding_table['143,214,185'] = [33098] let s:lib.Codec.decoding_table['143,214,186'] = [33100] let s:lib.Codec.decoding_table['143,214,187'] = [33106] let s:lib.Codec.decoding_table['143,214,188'] = [33111] let s:lib.Codec.decoding_table['143,214,189'] = [33120] let s:lib.Codec.decoding_table['143,214,190'] = [33121] let s:lib.Codec.decoding_table['143,214,191'] = [33127] let s:lib.Codec.decoding_table['143,214,192'] = [33128] let s:lib.Codec.decoding_table['143,214,193'] = [33129] let s:lib.Codec.decoding_table['143,214,194'] = [33133] let s:lib.Codec.decoding_table['143,214,195'] = [33135] let s:lib.Codec.decoding_table['143,214,196'] = [33143] let s:lib.Codec.decoding_table['143,214,197'] = [33153] let s:lib.Codec.decoding_table['143,214,198'] = [33168] let s:lib.Codec.decoding_table['143,214,199'] = [33156] let s:lib.Codec.decoding_table['143,214,200'] = [33157] let s:lib.Codec.decoding_table['143,214,201'] = [33158] let s:lib.Codec.decoding_table['143,214,202'] = [33163] let s:lib.Codec.decoding_table['143,214,203'] = [33166] let s:lib.Codec.decoding_table['143,214,204'] = [33174] let s:lib.Codec.decoding_table['143,214,205'] = [33176] let s:lib.Codec.decoding_table['143,214,206'] = [33179] let s:lib.Codec.decoding_table['143,214,207'] = [33182] let s:lib.Codec.decoding_table['143,214,208'] = [33186] let s:lib.Codec.decoding_table['143,214,209'] = [33198] let s:lib.Codec.decoding_table['143,214,210'] = [33202] let s:lib.Codec.decoding_table['143,214,211'] = [33204] let s:lib.Codec.decoding_table['143,214,212'] = [33211] let s:lib.Codec.decoding_table['143,214,213'] = [33227] let s:lib.Codec.decoding_table['143,214,214'] = [33219] let s:lib.Codec.decoding_table['143,214,215'] = [33221] let s:lib.Codec.decoding_table['143,214,216'] = [33226] let s:lib.Codec.decoding_table['143,214,217'] = [33230] let s:lib.Codec.decoding_table['143,214,218'] = [33231] let s:lib.Codec.decoding_table['143,214,219'] = [33237] let s:lib.Codec.decoding_table['143,214,220'] = [33239] let s:lib.Codec.decoding_table['143,214,221'] = [33243] let s:lib.Codec.decoding_table['143,214,222'] = [33245] let s:lib.Codec.decoding_table['143,214,223'] = [33246] let s:lib.Codec.decoding_table['143,214,224'] = [33249] let s:lib.Codec.decoding_table['143,214,225'] = [33252] let s:lib.Codec.decoding_table['143,214,226'] = [33259] let s:lib.Codec.decoding_table['143,214,227'] = [33260] let s:lib.Codec.decoding_table['143,214,228'] = [33264] let s:lib.Codec.decoding_table['143,214,229'] = [33265] let s:lib.Codec.decoding_table['143,214,230'] = [33266] let s:lib.Codec.decoding_table['143,214,231'] = [33269] let s:lib.Codec.decoding_table['143,214,232'] = [33270] let s:lib.Codec.decoding_table['143,214,233'] = [33272] let s:lib.Codec.decoding_table['143,214,234'] = [33273] let s:lib.Codec.decoding_table['143,214,235'] = [33277] let s:lib.Codec.decoding_table['143,214,236'] = [33279] let s:lib.Codec.decoding_table['143,214,237'] = [33280] let s:lib.Codec.decoding_table['143,214,238'] = [33283] let s:lib.Codec.decoding_table['143,214,239'] = [33295] let s:lib.Codec.decoding_table['143,214,240'] = [33299] let s:lib.Codec.decoding_table['143,214,241'] = [33300] let s:lib.Codec.decoding_table['143,214,242'] = [33305] let s:lib.Codec.decoding_table['143,214,243'] = [33306] let s:lib.Codec.decoding_table['143,214,244'] = [33309] let s:lib.Codec.decoding_table['143,214,245'] = [33313] let s:lib.Codec.decoding_table['143,214,246'] = [33314] let s:lib.Codec.decoding_table['143,214,247'] = [33320] let s:lib.Codec.decoding_table['143,214,248'] = [33330] let s:lib.Codec.decoding_table['143,214,249'] = [33332] let s:lib.Codec.decoding_table['143,214,250'] = [33338] let s:lib.Codec.decoding_table['143,214,251'] = [33347] let s:lib.Codec.decoding_table['143,214,252'] = [33348] let s:lib.Codec.decoding_table['143,214,253'] = [33349] let s:lib.Codec.decoding_table['143,214,254'] = [33350] let s:lib.Codec.decoding_table['143,215,161'] = [33355] let s:lib.Codec.decoding_table['143,215,162'] = [33358] let s:lib.Codec.decoding_table['143,215,163'] = [33359] let s:lib.Codec.decoding_table['143,215,164'] = [33361] let s:lib.Codec.decoding_table['143,215,165'] = [33366] let s:lib.Codec.decoding_table['143,215,166'] = [33372] let s:lib.Codec.decoding_table['143,215,167'] = [33376] let s:lib.Codec.decoding_table['143,215,168'] = [33379] let s:lib.Codec.decoding_table['143,215,169'] = [33383] let s:lib.Codec.decoding_table['143,215,170'] = [33389] let s:lib.Codec.decoding_table['143,215,171'] = [33396] let s:lib.Codec.decoding_table['143,215,172'] = [33403] let s:lib.Codec.decoding_table['143,215,173'] = [33405] let s:lib.Codec.decoding_table['143,215,174'] = [33407] let s:lib.Codec.decoding_table['143,215,175'] = [33408] let s:lib.Codec.decoding_table['143,215,176'] = [33409] let s:lib.Codec.decoding_table['143,215,177'] = [33411] let s:lib.Codec.decoding_table['143,215,178'] = [33412] let s:lib.Codec.decoding_table['143,215,179'] = [33415] let s:lib.Codec.decoding_table['143,215,180'] = [33417] let s:lib.Codec.decoding_table['143,215,181'] = [33418] let s:lib.Codec.decoding_table['143,215,182'] = [33422] let s:lib.Codec.decoding_table['143,215,183'] = [33425] let s:lib.Codec.decoding_table['143,215,184'] = [33428] let s:lib.Codec.decoding_table['143,215,185'] = [33430] let s:lib.Codec.decoding_table['143,215,186'] = [33432] let s:lib.Codec.decoding_table['143,215,187'] = [33434] let s:lib.Codec.decoding_table['143,215,188'] = [33435] let s:lib.Codec.decoding_table['143,215,189'] = [33440] let s:lib.Codec.decoding_table['143,215,190'] = [33441] let s:lib.Codec.decoding_table['143,215,191'] = [33443] let s:lib.Codec.decoding_table['143,215,192'] = [33444] let s:lib.Codec.decoding_table['143,215,193'] = [33447] let s:lib.Codec.decoding_table['143,215,194'] = [33448] let s:lib.Codec.decoding_table['143,215,195'] = [33449] let s:lib.Codec.decoding_table['143,215,196'] = [33450] let s:lib.Codec.decoding_table['143,215,197'] = [33454] let s:lib.Codec.decoding_table['143,215,198'] = [33456] let s:lib.Codec.decoding_table['143,215,199'] = [33458] let s:lib.Codec.decoding_table['143,215,200'] = [33460] let s:lib.Codec.decoding_table['143,215,201'] = [33463] let s:lib.Codec.decoding_table['143,215,202'] = [33466] let s:lib.Codec.decoding_table['143,215,203'] = [33468] let s:lib.Codec.decoding_table['143,215,204'] = [33470] let s:lib.Codec.decoding_table['143,215,205'] = [33471] let s:lib.Codec.decoding_table['143,215,206'] = [33478] let s:lib.Codec.decoding_table['143,215,207'] = [33488] let s:lib.Codec.decoding_table['143,215,208'] = [33493] let s:lib.Codec.decoding_table['143,215,209'] = [33498] let s:lib.Codec.decoding_table['143,215,210'] = [33504] let s:lib.Codec.decoding_table['143,215,211'] = [33506] let s:lib.Codec.decoding_table['143,215,212'] = [33508] let s:lib.Codec.decoding_table['143,215,213'] = [33512] let s:lib.Codec.decoding_table['143,215,214'] = [33514] let s:lib.Codec.decoding_table['143,215,215'] = [33517] let s:lib.Codec.decoding_table['143,215,216'] = [33519] let s:lib.Codec.decoding_table['143,215,217'] = [33526] let s:lib.Codec.decoding_table['143,215,218'] = [33527] let s:lib.Codec.decoding_table['143,215,219'] = [33533] let s:lib.Codec.decoding_table['143,215,220'] = [33534] let s:lib.Codec.decoding_table['143,215,221'] = [33536] let s:lib.Codec.decoding_table['143,215,222'] = [33537] let s:lib.Codec.decoding_table['143,215,223'] = [33543] let s:lib.Codec.decoding_table['143,215,224'] = [33544] let s:lib.Codec.decoding_table['143,215,225'] = [33546] let s:lib.Codec.decoding_table['143,215,226'] = [33547] let s:lib.Codec.decoding_table['143,215,227'] = [33620] let s:lib.Codec.decoding_table['143,215,228'] = [33563] let s:lib.Codec.decoding_table['143,215,229'] = [33565] let s:lib.Codec.decoding_table['143,215,230'] = [33566] let s:lib.Codec.decoding_table['143,215,231'] = [33567] let s:lib.Codec.decoding_table['143,215,232'] = [33569] let s:lib.Codec.decoding_table['143,215,233'] = [33570] let s:lib.Codec.decoding_table['143,215,234'] = [33580] let s:lib.Codec.decoding_table['143,215,235'] = [33581] let s:lib.Codec.decoding_table['143,215,236'] = [33582] let s:lib.Codec.decoding_table['143,215,237'] = [33584] let s:lib.Codec.decoding_table['143,215,238'] = [33587] let s:lib.Codec.decoding_table['143,215,239'] = [33591] let s:lib.Codec.decoding_table['143,215,240'] = [33594] let s:lib.Codec.decoding_table['143,215,241'] = [33596] let s:lib.Codec.decoding_table['143,215,242'] = [33597] let s:lib.Codec.decoding_table['143,215,243'] = [33602] let s:lib.Codec.decoding_table['143,215,244'] = [33603] let s:lib.Codec.decoding_table['143,215,245'] = [33604] let s:lib.Codec.decoding_table['143,215,246'] = [33607] let s:lib.Codec.decoding_table['143,215,247'] = [33613] let s:lib.Codec.decoding_table['143,215,248'] = [33614] let s:lib.Codec.decoding_table['143,215,249'] = [33617] let s:lib.Codec.decoding_table['143,215,250'] = [33621] let s:lib.Codec.decoding_table['143,215,251'] = [33622] let s:lib.Codec.decoding_table['143,215,252'] = [33623] let s:lib.Codec.decoding_table['143,215,253'] = [33648] let s:lib.Codec.decoding_table['143,215,254'] = [33656] let s:lib.Codec.decoding_table['143,216,161'] = [33661] let s:lib.Codec.decoding_table['143,216,162'] = [33663] let s:lib.Codec.decoding_table['143,216,163'] = [33664] let s:lib.Codec.decoding_table['143,216,164'] = [33666] let s:lib.Codec.decoding_table['143,216,165'] = [33668] let s:lib.Codec.decoding_table['143,216,166'] = [33670] let s:lib.Codec.decoding_table['143,216,167'] = [33677] let s:lib.Codec.decoding_table['143,216,168'] = [33682] let s:lib.Codec.decoding_table['143,216,169'] = [33684] let s:lib.Codec.decoding_table['143,216,170'] = [33685] let s:lib.Codec.decoding_table['143,216,171'] = [33688] let s:lib.Codec.decoding_table['143,216,172'] = [33689] let s:lib.Codec.decoding_table['143,216,173'] = [33691] let s:lib.Codec.decoding_table['143,216,174'] = [33692] let s:lib.Codec.decoding_table['143,216,175'] = [33693] let s:lib.Codec.decoding_table['143,216,176'] = [33702] let s:lib.Codec.decoding_table['143,216,177'] = [33703] let s:lib.Codec.decoding_table['143,216,178'] = [33705] let s:lib.Codec.decoding_table['143,216,179'] = [33708] let s:lib.Codec.decoding_table['143,216,180'] = [33726] let s:lib.Codec.decoding_table['143,216,181'] = [33727] let s:lib.Codec.decoding_table['143,216,182'] = [33728] let s:lib.Codec.decoding_table['143,216,183'] = [33735] let s:lib.Codec.decoding_table['143,216,184'] = [33737] let s:lib.Codec.decoding_table['143,216,185'] = [33743] let s:lib.Codec.decoding_table['143,216,186'] = [33744] let s:lib.Codec.decoding_table['143,216,187'] = [33745] let s:lib.Codec.decoding_table['143,216,188'] = [33748] let s:lib.Codec.decoding_table['143,216,189'] = [33757] let s:lib.Codec.decoding_table['143,216,190'] = [33619] let s:lib.Codec.decoding_table['143,216,191'] = [33768] let s:lib.Codec.decoding_table['143,216,192'] = [33770] let s:lib.Codec.decoding_table['143,216,193'] = [33782] let s:lib.Codec.decoding_table['143,216,194'] = [33784] let s:lib.Codec.decoding_table['143,216,195'] = [33785] let s:lib.Codec.decoding_table['143,216,196'] = [33788] let s:lib.Codec.decoding_table['143,216,197'] = [33793] let s:lib.Codec.decoding_table['143,216,198'] = [33798] let s:lib.Codec.decoding_table['143,216,199'] = [33802] let s:lib.Codec.decoding_table['143,216,200'] = [33807] let s:lib.Codec.decoding_table['143,216,201'] = [33809] let s:lib.Codec.decoding_table['143,216,202'] = [33813] let s:lib.Codec.decoding_table['143,216,203'] = [33817] let s:lib.Codec.decoding_table['143,216,204'] = [33709] let s:lib.Codec.decoding_table['143,216,205'] = [33839] let s:lib.Codec.decoding_table['143,216,206'] = [33849] let s:lib.Codec.decoding_table['143,216,207'] = [33861] let s:lib.Codec.decoding_table['143,216,208'] = [33863] let s:lib.Codec.decoding_table['143,216,209'] = [33864] let s:lib.Codec.decoding_table['143,216,210'] = [33866] let s:lib.Codec.decoding_table['143,216,211'] = [33869] let s:lib.Codec.decoding_table['143,216,212'] = [33871] let s:lib.Codec.decoding_table['143,216,213'] = [33873] let s:lib.Codec.decoding_table['143,216,214'] = [33874] let s:lib.Codec.decoding_table['143,216,215'] = [33878] let s:lib.Codec.decoding_table['143,216,216'] = [33880] let s:lib.Codec.decoding_table['143,216,217'] = [33881] let s:lib.Codec.decoding_table['143,216,218'] = [33882] let s:lib.Codec.decoding_table['143,216,219'] = [33884] let s:lib.Codec.decoding_table['143,216,220'] = [33888] let s:lib.Codec.decoding_table['143,216,221'] = [33892] let s:lib.Codec.decoding_table['143,216,222'] = [33893] let s:lib.Codec.decoding_table['143,216,223'] = [33895] let s:lib.Codec.decoding_table['143,216,224'] = [33898] let s:lib.Codec.decoding_table['143,216,225'] = [33904] let s:lib.Codec.decoding_table['143,216,226'] = [33907] let s:lib.Codec.decoding_table['143,216,227'] = [33908] let s:lib.Codec.decoding_table['143,216,228'] = [33910] let s:lib.Codec.decoding_table['143,216,229'] = [33912] let s:lib.Codec.decoding_table['143,216,230'] = [33916] let s:lib.Codec.decoding_table['143,216,231'] = [33917] let s:lib.Codec.decoding_table['143,216,232'] = [33921] let s:lib.Codec.decoding_table['143,216,233'] = [33925] let s:lib.Codec.decoding_table['143,216,234'] = [33938] let s:lib.Codec.decoding_table['143,216,235'] = [33939] let s:lib.Codec.decoding_table['143,216,236'] = [33941] let s:lib.Codec.decoding_table['143,216,237'] = [33950] let s:lib.Codec.decoding_table['143,216,238'] = [33958] let s:lib.Codec.decoding_table['143,216,239'] = [33960] let s:lib.Codec.decoding_table['143,216,240'] = [33961] let s:lib.Codec.decoding_table['143,216,241'] = [33962] let s:lib.Codec.decoding_table['143,216,242'] = [33967] let s:lib.Codec.decoding_table['143,216,243'] = [33969] let s:lib.Codec.decoding_table['143,216,244'] = [33972] let s:lib.Codec.decoding_table['143,216,245'] = [33978] let s:lib.Codec.decoding_table['143,216,246'] = [33981] let s:lib.Codec.decoding_table['143,216,247'] = [33982] let s:lib.Codec.decoding_table['143,216,248'] = [33984] let s:lib.Codec.decoding_table['143,216,249'] = [33986] let s:lib.Codec.decoding_table['143,216,250'] = [33991] let s:lib.Codec.decoding_table['143,216,251'] = [33992] let s:lib.Codec.decoding_table['143,216,252'] = [33996] let s:lib.Codec.decoding_table['143,216,253'] = [33999] let s:lib.Codec.decoding_table['143,216,254'] = [34003] let s:lib.Codec.decoding_table['143,217,161'] = [34012] let s:lib.Codec.decoding_table['143,217,162'] = [34023] let s:lib.Codec.decoding_table['143,217,163'] = [34026] let s:lib.Codec.decoding_table['143,217,164'] = [34031] let s:lib.Codec.decoding_table['143,217,165'] = [34032] let s:lib.Codec.decoding_table['143,217,166'] = [34033] let s:lib.Codec.decoding_table['143,217,167'] = [34034] let s:lib.Codec.decoding_table['143,217,168'] = [34039] let s:lib.Codec.decoding_table['143,217,169'] = [34098] let s:lib.Codec.decoding_table['143,217,170'] = [34042] let s:lib.Codec.decoding_table['143,217,171'] = [34043] let s:lib.Codec.decoding_table['143,217,172'] = [34045] let s:lib.Codec.decoding_table['143,217,173'] = [34050] let s:lib.Codec.decoding_table['143,217,174'] = [34051] let s:lib.Codec.decoding_table['143,217,175'] = [34055] let s:lib.Codec.decoding_table['143,217,176'] = [34060] let s:lib.Codec.decoding_table['143,217,177'] = [34062] let s:lib.Codec.decoding_table['143,217,178'] = [34064] let s:lib.Codec.decoding_table['143,217,179'] = [34076] let s:lib.Codec.decoding_table['143,217,180'] = [34078] let s:lib.Codec.decoding_table['143,217,181'] = [34082] let s:lib.Codec.decoding_table['143,217,182'] = [34083] let s:lib.Codec.decoding_table['143,217,183'] = [34084] let s:lib.Codec.decoding_table['143,217,184'] = [34085] let s:lib.Codec.decoding_table['143,217,185'] = [34087] let s:lib.Codec.decoding_table['143,217,186'] = [34090] let s:lib.Codec.decoding_table['143,217,187'] = [34091] let s:lib.Codec.decoding_table['143,217,188'] = [34095] let s:lib.Codec.decoding_table['143,217,189'] = [34099] let s:lib.Codec.decoding_table['143,217,190'] = [34100] let s:lib.Codec.decoding_table['143,217,191'] = [34102] let s:lib.Codec.decoding_table['143,217,192'] = [34111] let s:lib.Codec.decoding_table['143,217,193'] = [34118] let s:lib.Codec.decoding_table['143,217,194'] = [34127] let s:lib.Codec.decoding_table['143,217,195'] = [34128] let s:lib.Codec.decoding_table['143,217,196'] = [34129] let s:lib.Codec.decoding_table['143,217,197'] = [34130] let s:lib.Codec.decoding_table['143,217,198'] = [34131] let s:lib.Codec.decoding_table['143,217,199'] = [34134] let s:lib.Codec.decoding_table['143,217,200'] = [34137] let s:lib.Codec.decoding_table['143,217,201'] = [34140] let s:lib.Codec.decoding_table['143,217,202'] = [34141] let s:lib.Codec.decoding_table['143,217,203'] = [34142] let s:lib.Codec.decoding_table['143,217,204'] = [34143] let s:lib.Codec.decoding_table['143,217,205'] = [34144] let s:lib.Codec.decoding_table['143,217,206'] = [34145] let s:lib.Codec.decoding_table['143,217,207'] = [34146] let s:lib.Codec.decoding_table['143,217,208'] = [34148] let s:lib.Codec.decoding_table['143,217,209'] = [34155] let s:lib.Codec.decoding_table['143,217,210'] = [34159] let s:lib.Codec.decoding_table['143,217,211'] = [34169] let s:lib.Codec.decoding_table['143,217,212'] = [34170] let s:lib.Codec.decoding_table['143,217,213'] = [34171] let s:lib.Codec.decoding_table['143,217,214'] = [34173] let s:lib.Codec.decoding_table['143,217,215'] = [34175] let s:lib.Codec.decoding_table['143,217,216'] = [34177] let s:lib.Codec.decoding_table['143,217,217'] = [34181] let s:lib.Codec.decoding_table['143,217,218'] = [34182] let s:lib.Codec.decoding_table['143,217,219'] = [34185] let s:lib.Codec.decoding_table['143,217,220'] = [34187] let s:lib.Codec.decoding_table['143,217,221'] = [34188] let s:lib.Codec.decoding_table['143,217,222'] = [34191] let s:lib.Codec.decoding_table['143,217,223'] = [34195] let s:lib.Codec.decoding_table['143,217,224'] = [34200] let s:lib.Codec.decoding_table['143,217,225'] = [34205] let s:lib.Codec.decoding_table['143,217,226'] = [34207] let s:lib.Codec.decoding_table['143,217,227'] = [34208] let s:lib.Codec.decoding_table['143,217,228'] = [34210] let s:lib.Codec.decoding_table['143,217,229'] = [34213] let s:lib.Codec.decoding_table['143,217,230'] = [34215] let s:lib.Codec.decoding_table['143,217,231'] = [34228] let s:lib.Codec.decoding_table['143,217,232'] = [34230] let s:lib.Codec.decoding_table['143,217,233'] = [34231] let s:lib.Codec.decoding_table['143,217,234'] = [34232] let s:lib.Codec.decoding_table['143,217,235'] = [34236] let s:lib.Codec.decoding_table['143,217,236'] = [34237] let s:lib.Codec.decoding_table['143,217,237'] = [34238] let s:lib.Codec.decoding_table['143,217,238'] = [34239] let s:lib.Codec.decoding_table['143,217,239'] = [34242] let s:lib.Codec.decoding_table['143,217,240'] = [34247] let s:lib.Codec.decoding_table['143,217,241'] = [34250] let s:lib.Codec.decoding_table['143,217,242'] = [34251] let s:lib.Codec.decoding_table['143,217,243'] = [34254] let s:lib.Codec.decoding_table['143,217,244'] = [34221] let s:lib.Codec.decoding_table['143,217,245'] = [34264] let s:lib.Codec.decoding_table['143,217,246'] = [34266] let s:lib.Codec.decoding_table['143,217,247'] = [34271] let s:lib.Codec.decoding_table['143,217,248'] = [34272] let s:lib.Codec.decoding_table['143,217,249'] = [34278] let s:lib.Codec.decoding_table['143,217,250'] = [34280] let s:lib.Codec.decoding_table['143,217,251'] = [34285] let s:lib.Codec.decoding_table['143,217,252'] = [34291] let s:lib.Codec.decoding_table['143,217,253'] = [34294] let s:lib.Codec.decoding_table['143,217,254'] = [34300] let s:lib.Codec.decoding_table['143,218,161'] = [34303] let s:lib.Codec.decoding_table['143,218,162'] = [34304] let s:lib.Codec.decoding_table['143,218,163'] = [34308] let s:lib.Codec.decoding_table['143,218,164'] = [34309] let s:lib.Codec.decoding_table['143,218,165'] = [34317] let s:lib.Codec.decoding_table['143,218,166'] = [34318] let s:lib.Codec.decoding_table['143,218,167'] = [34320] let s:lib.Codec.decoding_table['143,218,168'] = [34321] let s:lib.Codec.decoding_table['143,218,169'] = [34322] let s:lib.Codec.decoding_table['143,218,170'] = [34328] let s:lib.Codec.decoding_table['143,218,171'] = [34329] let s:lib.Codec.decoding_table['143,218,172'] = [34331] let s:lib.Codec.decoding_table['143,218,173'] = [34334] let s:lib.Codec.decoding_table['143,218,174'] = [34337] let s:lib.Codec.decoding_table['143,218,175'] = [34343] let s:lib.Codec.decoding_table['143,218,176'] = [34345] let s:lib.Codec.decoding_table['143,218,177'] = [34358] let s:lib.Codec.decoding_table['143,218,178'] = [34360] let s:lib.Codec.decoding_table['143,218,179'] = [34362] let s:lib.Codec.decoding_table['143,218,180'] = [34364] let s:lib.Codec.decoding_table['143,218,181'] = [34365] let s:lib.Codec.decoding_table['143,218,182'] = [34368] let s:lib.Codec.decoding_table['143,218,183'] = [34370] let s:lib.Codec.decoding_table['143,218,184'] = [34374] let s:lib.Codec.decoding_table['143,218,185'] = [34386] let s:lib.Codec.decoding_table['143,218,186'] = [34387] let s:lib.Codec.decoding_table['143,218,187'] = [34390] let s:lib.Codec.decoding_table['143,218,188'] = [34391] let s:lib.Codec.decoding_table['143,218,189'] = [34392] let s:lib.Codec.decoding_table['143,218,190'] = [34393] let s:lib.Codec.decoding_table['143,218,191'] = [34397] let s:lib.Codec.decoding_table['143,218,192'] = [34400] let s:lib.Codec.decoding_table['143,218,193'] = [34401] let s:lib.Codec.decoding_table['143,218,194'] = [34402] let s:lib.Codec.decoding_table['143,218,195'] = [34403] let s:lib.Codec.decoding_table['143,218,196'] = [34404] let s:lib.Codec.decoding_table['143,218,197'] = [34409] let s:lib.Codec.decoding_table['143,218,198'] = [34412] let s:lib.Codec.decoding_table['143,218,199'] = [34415] let s:lib.Codec.decoding_table['143,218,200'] = [34421] let s:lib.Codec.decoding_table['143,218,201'] = [34422] let s:lib.Codec.decoding_table['143,218,202'] = [34423] let s:lib.Codec.decoding_table['143,218,203'] = [34426] let s:lib.Codec.decoding_table['143,218,204'] = [34445] let s:lib.Codec.decoding_table['143,218,205'] = [34449] let s:lib.Codec.decoding_table['143,218,206'] = [34454] let s:lib.Codec.decoding_table['143,218,207'] = [34456] let s:lib.Codec.decoding_table['143,218,208'] = [34458] let s:lib.Codec.decoding_table['143,218,209'] = [34460] let s:lib.Codec.decoding_table['143,218,210'] = [34465] let s:lib.Codec.decoding_table['143,218,211'] = [34470] let s:lib.Codec.decoding_table['143,218,212'] = [34471] let s:lib.Codec.decoding_table['143,218,213'] = [34472] let s:lib.Codec.decoding_table['143,218,214'] = [34477] let s:lib.Codec.decoding_table['143,218,215'] = [34481] let s:lib.Codec.decoding_table['143,218,216'] = [34483] let s:lib.Codec.decoding_table['143,218,217'] = [34484] let s:lib.Codec.decoding_table['143,218,218'] = [34485] let s:lib.Codec.decoding_table['143,218,219'] = [34487] let s:lib.Codec.decoding_table['143,218,220'] = [34488] let s:lib.Codec.decoding_table['143,218,221'] = [34489] let s:lib.Codec.decoding_table['143,218,222'] = [34495] let s:lib.Codec.decoding_table['143,218,223'] = [34496] let s:lib.Codec.decoding_table['143,218,224'] = [34497] let s:lib.Codec.decoding_table['143,218,225'] = [34499] let s:lib.Codec.decoding_table['143,218,226'] = [34501] let s:lib.Codec.decoding_table['143,218,227'] = [34513] let s:lib.Codec.decoding_table['143,218,228'] = [34514] let s:lib.Codec.decoding_table['143,218,229'] = [34517] let s:lib.Codec.decoding_table['143,218,230'] = [34519] let s:lib.Codec.decoding_table['143,218,231'] = [34522] let s:lib.Codec.decoding_table['143,218,232'] = [34524] let s:lib.Codec.decoding_table['143,218,233'] = [34528] let s:lib.Codec.decoding_table['143,218,234'] = [34531] let s:lib.Codec.decoding_table['143,218,235'] = [34533] let s:lib.Codec.decoding_table['143,218,236'] = [34535] let s:lib.Codec.decoding_table['143,218,237'] = [34440] let s:lib.Codec.decoding_table['143,218,238'] = [34554] let s:lib.Codec.decoding_table['143,218,239'] = [34556] let s:lib.Codec.decoding_table['143,218,240'] = [34557] let s:lib.Codec.decoding_table['143,218,241'] = [34564] let s:lib.Codec.decoding_table['143,218,242'] = [34565] let s:lib.Codec.decoding_table['143,218,243'] = [34567] let s:lib.Codec.decoding_table['143,218,244'] = [34571] let s:lib.Codec.decoding_table['143,218,245'] = [34574] let s:lib.Codec.decoding_table['143,218,246'] = [34575] let s:lib.Codec.decoding_table['143,218,247'] = [34576] let s:lib.Codec.decoding_table['143,218,248'] = [34579] let s:lib.Codec.decoding_table['143,218,249'] = [34580] let s:lib.Codec.decoding_table['143,218,250'] = [34585] let s:lib.Codec.decoding_table['143,218,251'] = [34590] let s:lib.Codec.decoding_table['143,218,252'] = [34591] let s:lib.Codec.decoding_table['143,218,253'] = [34593] let s:lib.Codec.decoding_table['143,218,254'] = [34595] let s:lib.Codec.decoding_table['143,219,161'] = [34600] let s:lib.Codec.decoding_table['143,219,162'] = [34606] let s:lib.Codec.decoding_table['143,219,163'] = [34607] let s:lib.Codec.decoding_table['143,219,164'] = [34609] let s:lib.Codec.decoding_table['143,219,165'] = [34610] let s:lib.Codec.decoding_table['143,219,166'] = [34617] let s:lib.Codec.decoding_table['143,219,167'] = [34618] let s:lib.Codec.decoding_table['143,219,168'] = [34620] let s:lib.Codec.decoding_table['143,219,169'] = [34621] let s:lib.Codec.decoding_table['143,219,170'] = [34622] let s:lib.Codec.decoding_table['143,219,171'] = [34624] let s:lib.Codec.decoding_table['143,219,172'] = [34627] let s:lib.Codec.decoding_table['143,219,173'] = [34629] let s:lib.Codec.decoding_table['143,219,174'] = [34637] let s:lib.Codec.decoding_table['143,219,175'] = [34648] let s:lib.Codec.decoding_table['143,219,176'] = [34653] let s:lib.Codec.decoding_table['143,219,177'] = [34657] let s:lib.Codec.decoding_table['143,219,178'] = [34660] let s:lib.Codec.decoding_table['143,219,179'] = [34661] let s:lib.Codec.decoding_table['143,219,180'] = [34671] let s:lib.Codec.decoding_table['143,219,181'] = [34673] let s:lib.Codec.decoding_table['143,219,182'] = [34674] let s:lib.Codec.decoding_table['143,219,183'] = [34683] let s:lib.Codec.decoding_table['143,219,184'] = [34691] let s:lib.Codec.decoding_table['143,219,185'] = [34692] let s:lib.Codec.decoding_table['143,219,186'] = [34693] let s:lib.Codec.decoding_table['143,219,187'] = [34694] let s:lib.Codec.decoding_table['143,219,188'] = [34695] let s:lib.Codec.decoding_table['143,219,189'] = [34696] let s:lib.Codec.decoding_table['143,219,190'] = [34697] let s:lib.Codec.decoding_table['143,219,191'] = [34699] let s:lib.Codec.decoding_table['143,219,192'] = [34700] let s:lib.Codec.decoding_table['143,219,193'] = [34704] let s:lib.Codec.decoding_table['143,219,194'] = [34707] let s:lib.Codec.decoding_table['143,219,195'] = [34709] let s:lib.Codec.decoding_table['143,219,196'] = [34711] let s:lib.Codec.decoding_table['143,219,197'] = [34712] let s:lib.Codec.decoding_table['143,219,198'] = [34713] let s:lib.Codec.decoding_table['143,219,199'] = [34718] let s:lib.Codec.decoding_table['143,219,200'] = [34720] let s:lib.Codec.decoding_table['143,219,201'] = [34723] let s:lib.Codec.decoding_table['143,219,202'] = [34727] let s:lib.Codec.decoding_table['143,219,203'] = [34732] let s:lib.Codec.decoding_table['143,219,204'] = [34733] let s:lib.Codec.decoding_table['143,219,205'] = [34734] let s:lib.Codec.decoding_table['143,219,206'] = [34737] let s:lib.Codec.decoding_table['143,219,207'] = [34741] let s:lib.Codec.decoding_table['143,219,208'] = [34750] let s:lib.Codec.decoding_table['143,219,209'] = [34751] let s:lib.Codec.decoding_table['143,219,210'] = [34753] let s:lib.Codec.decoding_table['143,219,211'] = [34760] let s:lib.Codec.decoding_table['143,219,212'] = [34761] let s:lib.Codec.decoding_table['143,219,213'] = [34762] let s:lib.Codec.decoding_table['143,219,214'] = [34766] let s:lib.Codec.decoding_table['143,219,215'] = [34773] let s:lib.Codec.decoding_table['143,219,216'] = [34774] let s:lib.Codec.decoding_table['143,219,217'] = [34777] let s:lib.Codec.decoding_table['143,219,218'] = [34778] let s:lib.Codec.decoding_table['143,219,219'] = [34780] let s:lib.Codec.decoding_table['143,219,220'] = [34783] let s:lib.Codec.decoding_table['143,219,221'] = [34786] let s:lib.Codec.decoding_table['143,219,222'] = [34787] let s:lib.Codec.decoding_table['143,219,223'] = [34788] let s:lib.Codec.decoding_table['143,219,224'] = [34794] let s:lib.Codec.decoding_table['143,219,225'] = [34795] let s:lib.Codec.decoding_table['143,219,226'] = [34797] let s:lib.Codec.decoding_table['143,219,227'] = [34801] let s:lib.Codec.decoding_table['143,219,228'] = [34803] let s:lib.Codec.decoding_table['143,219,229'] = [34808] let s:lib.Codec.decoding_table['143,219,230'] = [34810] let s:lib.Codec.decoding_table['143,219,231'] = [34815] let s:lib.Codec.decoding_table['143,219,232'] = [34817] let s:lib.Codec.decoding_table['143,219,233'] = [34819] let s:lib.Codec.decoding_table['143,219,234'] = [34822] let s:lib.Codec.decoding_table['143,219,235'] = [34825] let s:lib.Codec.decoding_table['143,219,236'] = [34826] let s:lib.Codec.decoding_table['143,219,237'] = [34827] let s:lib.Codec.decoding_table['143,219,238'] = [34832] let s:lib.Codec.decoding_table['143,219,239'] = [34841] let s:lib.Codec.decoding_table['143,219,240'] = [34834] let s:lib.Codec.decoding_table['143,219,241'] = [34835] let s:lib.Codec.decoding_table['143,219,242'] = [34836] let s:lib.Codec.decoding_table['143,219,243'] = [34840] let s:lib.Codec.decoding_table['143,219,244'] = [34842] let s:lib.Codec.decoding_table['143,219,245'] = [34843] let s:lib.Codec.decoding_table['143,219,246'] = [34844] let s:lib.Codec.decoding_table['143,219,247'] = [34846] let s:lib.Codec.decoding_table['143,219,248'] = [34847] let s:lib.Codec.decoding_table['143,219,249'] = [34856] let s:lib.Codec.decoding_table['143,219,250'] = [34861] let s:lib.Codec.decoding_table['143,219,251'] = [34862] let s:lib.Codec.decoding_table['143,219,252'] = [34864] let s:lib.Codec.decoding_table['143,219,253'] = [34866] let s:lib.Codec.decoding_table['143,219,254'] = [34869] let s:lib.Codec.decoding_table['143,220,161'] = [34874] let s:lib.Codec.decoding_table['143,220,162'] = [34876] let s:lib.Codec.decoding_table['143,220,163'] = [34881] let s:lib.Codec.decoding_table['143,220,164'] = [34883] let s:lib.Codec.decoding_table['143,220,165'] = [34885] let s:lib.Codec.decoding_table['143,220,166'] = [34888] let s:lib.Codec.decoding_table['143,220,167'] = [34889] let s:lib.Codec.decoding_table['143,220,168'] = [34890] let s:lib.Codec.decoding_table['143,220,169'] = [34891] let s:lib.Codec.decoding_table['143,220,170'] = [34894] let s:lib.Codec.decoding_table['143,220,171'] = [34897] let s:lib.Codec.decoding_table['143,220,172'] = [34901] let s:lib.Codec.decoding_table['143,220,173'] = [34902] let s:lib.Codec.decoding_table['143,220,174'] = [34904] let s:lib.Codec.decoding_table['143,220,175'] = [34906] let s:lib.Codec.decoding_table['143,220,176'] = [34908] let s:lib.Codec.decoding_table['143,220,177'] = [34911] let s:lib.Codec.decoding_table['143,220,178'] = [34912] let s:lib.Codec.decoding_table['143,220,179'] = [34916] let s:lib.Codec.decoding_table['143,220,180'] = [34921] let s:lib.Codec.decoding_table['143,220,181'] = [34929] let s:lib.Codec.decoding_table['143,220,182'] = [34937] let s:lib.Codec.decoding_table['143,220,183'] = [34939] let s:lib.Codec.decoding_table['143,220,184'] = [34944] let s:lib.Codec.decoding_table['143,220,185'] = [34968] let s:lib.Codec.decoding_table['143,220,186'] = [34970] let s:lib.Codec.decoding_table['143,220,187'] = [34971] let s:lib.Codec.decoding_table['143,220,188'] = [34972] let s:lib.Codec.decoding_table['143,220,189'] = [34975] let s:lib.Codec.decoding_table['143,220,190'] = [34976] let s:lib.Codec.decoding_table['143,220,191'] = [34984] let s:lib.Codec.decoding_table['143,220,192'] = [34986] let s:lib.Codec.decoding_table['143,220,193'] = [35002] let s:lib.Codec.decoding_table['143,220,194'] = [35005] let s:lib.Codec.decoding_table['143,220,195'] = [35006] let s:lib.Codec.decoding_table['143,220,196'] = [35008] let s:lib.Codec.decoding_table['143,220,197'] = [35018] let s:lib.Codec.decoding_table['143,220,198'] = [35019] let s:lib.Codec.decoding_table['143,220,199'] = [35020] let s:lib.Codec.decoding_table['143,220,200'] = [35021] let s:lib.Codec.decoding_table['143,220,201'] = [35022] let s:lib.Codec.decoding_table['143,220,202'] = [35025] let s:lib.Codec.decoding_table['143,220,203'] = [35026] let s:lib.Codec.decoding_table['143,220,204'] = [35027] let s:lib.Codec.decoding_table['143,220,205'] = [35035] let s:lib.Codec.decoding_table['143,220,206'] = [35038] let s:lib.Codec.decoding_table['143,220,207'] = [35047] let s:lib.Codec.decoding_table['143,220,208'] = [35055] let s:lib.Codec.decoding_table['143,220,209'] = [35056] let s:lib.Codec.decoding_table['143,220,210'] = [35057] let s:lib.Codec.decoding_table['143,220,211'] = [35061] let s:lib.Codec.decoding_table['143,220,212'] = [35063] let s:lib.Codec.decoding_table['143,220,213'] = [35073] let s:lib.Codec.decoding_table['143,220,214'] = [35078] let s:lib.Codec.decoding_table['143,220,215'] = [35085] let s:lib.Codec.decoding_table['143,220,216'] = [35086] let s:lib.Codec.decoding_table['143,220,217'] = [35087] let s:lib.Codec.decoding_table['143,220,218'] = [35093] let s:lib.Codec.decoding_table['143,220,219'] = [35094] let s:lib.Codec.decoding_table['143,220,220'] = [35096] let s:lib.Codec.decoding_table['143,220,221'] = [35097] let s:lib.Codec.decoding_table['143,220,222'] = [35098] let s:lib.Codec.decoding_table['143,220,223'] = [35100] let s:lib.Codec.decoding_table['143,220,224'] = [35104] let s:lib.Codec.decoding_table['143,220,225'] = [35110] let s:lib.Codec.decoding_table['143,220,226'] = [35111] let s:lib.Codec.decoding_table['143,220,227'] = [35112] let s:lib.Codec.decoding_table['143,220,228'] = [35120] let s:lib.Codec.decoding_table['143,220,229'] = [35121] let s:lib.Codec.decoding_table['143,220,230'] = [35122] let s:lib.Codec.decoding_table['143,220,231'] = [35125] let s:lib.Codec.decoding_table['143,220,232'] = [35129] let s:lib.Codec.decoding_table['143,220,233'] = [35130] let s:lib.Codec.decoding_table['143,220,234'] = [35134] let s:lib.Codec.decoding_table['143,220,235'] = [35136] let s:lib.Codec.decoding_table['143,220,236'] = [35138] let s:lib.Codec.decoding_table['143,220,237'] = [35141] let s:lib.Codec.decoding_table['143,220,238'] = [35142] let s:lib.Codec.decoding_table['143,220,239'] = [35145] let s:lib.Codec.decoding_table['143,220,240'] = [35151] let s:lib.Codec.decoding_table['143,220,241'] = [35154] let s:lib.Codec.decoding_table['143,220,242'] = [35159] let s:lib.Codec.decoding_table['143,220,243'] = [35162] let s:lib.Codec.decoding_table['143,220,244'] = [35163] let s:lib.Codec.decoding_table['143,220,245'] = [35164] let s:lib.Codec.decoding_table['143,220,246'] = [35169] let s:lib.Codec.decoding_table['143,220,247'] = [35170] let s:lib.Codec.decoding_table['143,220,248'] = [35171] let s:lib.Codec.decoding_table['143,220,249'] = [35179] let s:lib.Codec.decoding_table['143,220,250'] = [35182] let s:lib.Codec.decoding_table['143,220,251'] = [35184] let s:lib.Codec.decoding_table['143,220,252'] = [35187] let s:lib.Codec.decoding_table['143,220,253'] = [35189] let s:lib.Codec.decoding_table['143,220,254'] = [35194] let s:lib.Codec.decoding_table['143,221,161'] = [35195] let s:lib.Codec.decoding_table['143,221,162'] = [35196] let s:lib.Codec.decoding_table['143,221,163'] = [35197] let s:lib.Codec.decoding_table['143,221,164'] = [35209] let s:lib.Codec.decoding_table['143,221,165'] = [35213] let s:lib.Codec.decoding_table['143,221,166'] = [35216] let s:lib.Codec.decoding_table['143,221,167'] = [35220] let s:lib.Codec.decoding_table['143,221,168'] = [35221] let s:lib.Codec.decoding_table['143,221,169'] = [35227] let s:lib.Codec.decoding_table['143,221,170'] = [35228] let s:lib.Codec.decoding_table['143,221,171'] = [35231] let s:lib.Codec.decoding_table['143,221,172'] = [35232] let s:lib.Codec.decoding_table['143,221,173'] = [35237] let s:lib.Codec.decoding_table['143,221,174'] = [35248] let s:lib.Codec.decoding_table['143,221,175'] = [35252] let s:lib.Codec.decoding_table['143,221,176'] = [35253] let s:lib.Codec.decoding_table['143,221,177'] = [35254] let s:lib.Codec.decoding_table['143,221,178'] = [35255] let s:lib.Codec.decoding_table['143,221,179'] = [35260] let s:lib.Codec.decoding_table['143,221,180'] = [35284] let s:lib.Codec.decoding_table['143,221,181'] = [35285] let s:lib.Codec.decoding_table['143,221,182'] = [35286] let s:lib.Codec.decoding_table['143,221,183'] = [35287] let s:lib.Codec.decoding_table['143,221,184'] = [35288] let s:lib.Codec.decoding_table['143,221,185'] = [35301] let s:lib.Codec.decoding_table['143,221,186'] = [35305] let s:lib.Codec.decoding_table['143,221,187'] = [35307] let s:lib.Codec.decoding_table['143,221,188'] = [35309] let s:lib.Codec.decoding_table['143,221,189'] = [35313] let s:lib.Codec.decoding_table['143,221,190'] = [35315] let s:lib.Codec.decoding_table['143,221,191'] = [35318] let s:lib.Codec.decoding_table['143,221,192'] = [35321] let s:lib.Codec.decoding_table['143,221,193'] = [35325] let s:lib.Codec.decoding_table['143,221,194'] = [35327] let s:lib.Codec.decoding_table['143,221,195'] = [35332] let s:lib.Codec.decoding_table['143,221,196'] = [35333] let s:lib.Codec.decoding_table['143,221,197'] = [35335] let s:lib.Codec.decoding_table['143,221,198'] = [35343] let s:lib.Codec.decoding_table['143,221,199'] = [35345] let s:lib.Codec.decoding_table['143,221,200'] = [35346] let s:lib.Codec.decoding_table['143,221,201'] = [35348] let s:lib.Codec.decoding_table['143,221,202'] = [35349] let s:lib.Codec.decoding_table['143,221,203'] = [35358] let s:lib.Codec.decoding_table['143,221,204'] = [35360] let s:lib.Codec.decoding_table['143,221,205'] = [35362] let s:lib.Codec.decoding_table['143,221,206'] = [35364] let s:lib.Codec.decoding_table['143,221,207'] = [35366] let s:lib.Codec.decoding_table['143,221,208'] = [35371] let s:lib.Codec.decoding_table['143,221,209'] = [35372] let s:lib.Codec.decoding_table['143,221,210'] = [35375] let s:lib.Codec.decoding_table['143,221,211'] = [35381] let s:lib.Codec.decoding_table['143,221,212'] = [35383] let s:lib.Codec.decoding_table['143,221,213'] = [35389] let s:lib.Codec.decoding_table['143,221,214'] = [35390] let s:lib.Codec.decoding_table['143,221,215'] = [35392] let s:lib.Codec.decoding_table['143,221,216'] = [35395] let s:lib.Codec.decoding_table['143,221,217'] = [35397] let s:lib.Codec.decoding_table['143,221,218'] = [35399] let s:lib.Codec.decoding_table['143,221,219'] = [35401] let s:lib.Codec.decoding_table['143,221,220'] = [35405] let s:lib.Codec.decoding_table['143,221,221'] = [35406] let s:lib.Codec.decoding_table['143,221,222'] = [35411] let s:lib.Codec.decoding_table['143,221,223'] = [35414] let s:lib.Codec.decoding_table['143,221,224'] = [35415] let s:lib.Codec.decoding_table['143,221,225'] = [35416] let s:lib.Codec.decoding_table['143,221,226'] = [35420] let s:lib.Codec.decoding_table['143,221,227'] = [35421] let s:lib.Codec.decoding_table['143,221,228'] = [35425] let s:lib.Codec.decoding_table['143,221,229'] = [35429] let s:lib.Codec.decoding_table['143,221,230'] = [35431] let s:lib.Codec.decoding_table['143,221,231'] = [35445] let s:lib.Codec.decoding_table['143,221,232'] = [35446] let s:lib.Codec.decoding_table['143,221,233'] = [35447] let s:lib.Codec.decoding_table['143,221,234'] = [35449] let s:lib.Codec.decoding_table['143,221,235'] = [35450] let s:lib.Codec.decoding_table['143,221,236'] = [35451] let s:lib.Codec.decoding_table['143,221,237'] = [35454] let s:lib.Codec.decoding_table['143,221,238'] = [35455] let s:lib.Codec.decoding_table['143,221,239'] = [35456] let s:lib.Codec.decoding_table['143,221,240'] = [35459] let s:lib.Codec.decoding_table['143,221,241'] = [35462] let s:lib.Codec.decoding_table['143,221,242'] = [35467] let s:lib.Codec.decoding_table['143,221,243'] = [35471] let s:lib.Codec.decoding_table['143,221,244'] = [35472] let s:lib.Codec.decoding_table['143,221,245'] = [35474] let s:lib.Codec.decoding_table['143,221,246'] = [35478] let s:lib.Codec.decoding_table['143,221,247'] = [35479] let s:lib.Codec.decoding_table['143,221,248'] = [35481] let s:lib.Codec.decoding_table['143,221,249'] = [35487] let s:lib.Codec.decoding_table['143,221,250'] = [35495] let s:lib.Codec.decoding_table['143,221,251'] = [35497] let s:lib.Codec.decoding_table['143,221,252'] = [35502] let s:lib.Codec.decoding_table['143,221,253'] = [35503] let s:lib.Codec.decoding_table['143,221,254'] = [35507] let s:lib.Codec.decoding_table['143,222,161'] = [35510] let s:lib.Codec.decoding_table['143,222,162'] = [35511] let s:lib.Codec.decoding_table['143,222,163'] = [35515] let s:lib.Codec.decoding_table['143,222,164'] = [35518] let s:lib.Codec.decoding_table['143,222,165'] = [35523] let s:lib.Codec.decoding_table['143,222,166'] = [35526] let s:lib.Codec.decoding_table['143,222,167'] = [35528] let s:lib.Codec.decoding_table['143,222,168'] = [35529] let s:lib.Codec.decoding_table['143,222,169'] = [35530] let s:lib.Codec.decoding_table['143,222,170'] = [35537] let s:lib.Codec.decoding_table['143,222,171'] = [35539] let s:lib.Codec.decoding_table['143,222,172'] = [35540] let s:lib.Codec.decoding_table['143,222,173'] = [35541] let s:lib.Codec.decoding_table['143,222,174'] = [35543] let s:lib.Codec.decoding_table['143,222,175'] = [35549] let s:lib.Codec.decoding_table['143,222,176'] = [35551] let s:lib.Codec.decoding_table['143,222,177'] = [35564] let s:lib.Codec.decoding_table['143,222,178'] = [35568] let s:lib.Codec.decoding_table['143,222,179'] = [35572] let s:lib.Codec.decoding_table['143,222,180'] = [35573] let s:lib.Codec.decoding_table['143,222,181'] = [35574] let s:lib.Codec.decoding_table['143,222,182'] = [35580] let s:lib.Codec.decoding_table['143,222,183'] = [35583] let s:lib.Codec.decoding_table['143,222,184'] = [35589] let s:lib.Codec.decoding_table['143,222,185'] = [35590] let s:lib.Codec.decoding_table['143,222,186'] = [35595] let s:lib.Codec.decoding_table['143,222,187'] = [35601] let s:lib.Codec.decoding_table['143,222,188'] = [35612] let s:lib.Codec.decoding_table['143,222,189'] = [35614] let s:lib.Codec.decoding_table['143,222,190'] = [35615] let s:lib.Codec.decoding_table['143,222,191'] = [35594] let s:lib.Codec.decoding_table['143,222,192'] = [35629] let s:lib.Codec.decoding_table['143,222,193'] = [35632] let s:lib.Codec.decoding_table['143,222,194'] = [35639] let s:lib.Codec.decoding_table['143,222,195'] = [35644] let s:lib.Codec.decoding_table['143,222,196'] = [35650] let s:lib.Codec.decoding_table['143,222,197'] = [35651] let s:lib.Codec.decoding_table['143,222,198'] = [35652] let s:lib.Codec.decoding_table['143,222,199'] = [35653] let s:lib.Codec.decoding_table['143,222,200'] = [35654] let s:lib.Codec.decoding_table['143,222,201'] = [35656] let s:lib.Codec.decoding_table['143,222,202'] = [35666] let s:lib.Codec.decoding_table['143,222,203'] = [35667] let s:lib.Codec.decoding_table['143,222,204'] = [35668] let s:lib.Codec.decoding_table['143,222,205'] = [35673] let s:lib.Codec.decoding_table['143,222,206'] = [35661] let s:lib.Codec.decoding_table['143,222,207'] = [35678] let s:lib.Codec.decoding_table['143,222,208'] = [35683] let s:lib.Codec.decoding_table['143,222,209'] = [35693] let s:lib.Codec.decoding_table['143,222,210'] = [35702] let s:lib.Codec.decoding_table['143,222,211'] = [35704] let s:lib.Codec.decoding_table['143,222,212'] = [35705] let s:lib.Codec.decoding_table['143,222,213'] = [35708] let s:lib.Codec.decoding_table['143,222,214'] = [35710] let s:lib.Codec.decoding_table['143,222,215'] = [35713] let s:lib.Codec.decoding_table['143,222,216'] = [35716] let s:lib.Codec.decoding_table['143,222,217'] = [35717] let s:lib.Codec.decoding_table['143,222,218'] = [35723] let s:lib.Codec.decoding_table['143,222,219'] = [35725] let s:lib.Codec.decoding_table['143,222,220'] = [35727] let s:lib.Codec.decoding_table['143,222,221'] = [35732] let s:lib.Codec.decoding_table['143,222,222'] = [35733] let s:lib.Codec.decoding_table['143,222,223'] = [35740] let s:lib.Codec.decoding_table['143,222,224'] = [35742] let s:lib.Codec.decoding_table['143,222,225'] = [35743] let s:lib.Codec.decoding_table['143,222,226'] = [35896] let s:lib.Codec.decoding_table['143,222,227'] = [35897] let s:lib.Codec.decoding_table['143,222,228'] = [35901] let s:lib.Codec.decoding_table['143,222,229'] = [35902] let s:lib.Codec.decoding_table['143,222,230'] = [35909] let s:lib.Codec.decoding_table['143,222,231'] = [35911] let s:lib.Codec.decoding_table['143,222,232'] = [35913] let s:lib.Codec.decoding_table['143,222,233'] = [35915] let s:lib.Codec.decoding_table['143,222,234'] = [35919] let s:lib.Codec.decoding_table['143,222,235'] = [35921] let s:lib.Codec.decoding_table['143,222,236'] = [35923] let s:lib.Codec.decoding_table['143,222,237'] = [35924] let s:lib.Codec.decoding_table['143,222,238'] = [35927] let s:lib.Codec.decoding_table['143,222,239'] = [35928] let s:lib.Codec.decoding_table['143,222,240'] = [35931] let s:lib.Codec.decoding_table['143,222,241'] = [35933] let s:lib.Codec.decoding_table['143,222,242'] = [35929] let s:lib.Codec.decoding_table['143,222,243'] = [35939] let s:lib.Codec.decoding_table['143,222,244'] = [35940] let s:lib.Codec.decoding_table['143,222,245'] = [35942] let s:lib.Codec.decoding_table['143,222,246'] = [35944] let s:lib.Codec.decoding_table['143,222,247'] = [35945] let s:lib.Codec.decoding_table['143,222,248'] = [35949] let s:lib.Codec.decoding_table['143,222,249'] = [35955] let s:lib.Codec.decoding_table['143,222,250'] = [35957] let s:lib.Codec.decoding_table['143,222,251'] = [35958] let s:lib.Codec.decoding_table['143,222,252'] = [35963] let s:lib.Codec.decoding_table['143,222,253'] = [35966] let s:lib.Codec.decoding_table['143,222,254'] = [35974] let s:lib.Codec.decoding_table['143,223,161'] = [35975] let s:lib.Codec.decoding_table['143,223,162'] = [35979] let s:lib.Codec.decoding_table['143,223,163'] = [35984] let s:lib.Codec.decoding_table['143,223,164'] = [35986] let s:lib.Codec.decoding_table['143,223,165'] = [35987] let s:lib.Codec.decoding_table['143,223,166'] = [35993] let s:lib.Codec.decoding_table['143,223,167'] = [35995] let s:lib.Codec.decoding_table['143,223,168'] = [35996] let s:lib.Codec.decoding_table['143,223,169'] = [36004] let s:lib.Codec.decoding_table['143,223,170'] = [36025] let s:lib.Codec.decoding_table['143,223,171'] = [36026] let s:lib.Codec.decoding_table['143,223,172'] = [36037] let s:lib.Codec.decoding_table['143,223,173'] = [36038] let s:lib.Codec.decoding_table['143,223,174'] = [36041] let s:lib.Codec.decoding_table['143,223,175'] = [36043] let s:lib.Codec.decoding_table['143,223,176'] = [36047] let s:lib.Codec.decoding_table['143,223,177'] = [36054] let s:lib.Codec.decoding_table['143,223,178'] = [36053] let s:lib.Codec.decoding_table['143,223,179'] = [36057] let s:lib.Codec.decoding_table['143,223,180'] = [36061] let s:lib.Codec.decoding_table['143,223,181'] = [36065] let s:lib.Codec.decoding_table['143,223,182'] = [36072] let s:lib.Codec.decoding_table['143,223,183'] = [36076] let s:lib.Codec.decoding_table['143,223,184'] = [36079] let s:lib.Codec.decoding_table['143,223,185'] = [36080] let s:lib.Codec.decoding_table['143,223,186'] = [36082] let s:lib.Codec.decoding_table['143,223,187'] = [36085] let s:lib.Codec.decoding_table['143,223,188'] = [36087] let s:lib.Codec.decoding_table['143,223,189'] = [36088] let s:lib.Codec.decoding_table['143,223,190'] = [36094] let s:lib.Codec.decoding_table['143,223,191'] = [36095] let s:lib.Codec.decoding_table['143,223,192'] = [36097] let s:lib.Codec.decoding_table['143,223,193'] = [36099] let s:lib.Codec.decoding_table['143,223,194'] = [36105] let s:lib.Codec.decoding_table['143,223,195'] = [36114] let s:lib.Codec.decoding_table['143,223,196'] = [36119] let s:lib.Codec.decoding_table['143,223,197'] = [36123] let s:lib.Codec.decoding_table['143,223,198'] = [36197] let s:lib.Codec.decoding_table['143,223,199'] = [36201] let s:lib.Codec.decoding_table['143,223,200'] = [36204] let s:lib.Codec.decoding_table['143,223,201'] = [36206] let s:lib.Codec.decoding_table['143,223,202'] = [36223] let s:lib.Codec.decoding_table['143,223,203'] = [36226] let s:lib.Codec.decoding_table['143,223,204'] = [36228] let s:lib.Codec.decoding_table['143,223,205'] = [36232] let s:lib.Codec.decoding_table['143,223,206'] = [36237] let s:lib.Codec.decoding_table['143,223,207'] = [36240] let s:lib.Codec.decoding_table['143,223,208'] = [36241] let s:lib.Codec.decoding_table['143,223,209'] = [36245] let s:lib.Codec.decoding_table['143,223,210'] = [36254] let s:lib.Codec.decoding_table['143,223,211'] = [36255] let s:lib.Codec.decoding_table['143,223,212'] = [36256] let s:lib.Codec.decoding_table['143,223,213'] = [36262] let s:lib.Codec.decoding_table['143,223,214'] = [36267] let s:lib.Codec.decoding_table['143,223,215'] = [36268] let s:lib.Codec.decoding_table['143,223,216'] = [36271] let s:lib.Codec.decoding_table['143,223,217'] = [36274] let s:lib.Codec.decoding_table['143,223,218'] = [36277] let s:lib.Codec.decoding_table['143,223,219'] = [36279] let s:lib.Codec.decoding_table['143,223,220'] = [36281] let s:lib.Codec.decoding_table['143,223,221'] = [36283] let s:lib.Codec.decoding_table['143,223,222'] = [36288] let s:lib.Codec.decoding_table['143,223,223'] = [36293] let s:lib.Codec.decoding_table['143,223,224'] = [36294] let s:lib.Codec.decoding_table['143,223,225'] = [36295] let s:lib.Codec.decoding_table['143,223,226'] = [36296] let s:lib.Codec.decoding_table['143,223,227'] = [36298] let s:lib.Codec.decoding_table['143,223,228'] = [36302] let s:lib.Codec.decoding_table['143,223,229'] = [36305] let s:lib.Codec.decoding_table['143,223,230'] = [36308] let s:lib.Codec.decoding_table['143,223,231'] = [36309] let s:lib.Codec.decoding_table['143,223,232'] = [36311] let s:lib.Codec.decoding_table['143,223,233'] = [36313] let s:lib.Codec.decoding_table['143,223,234'] = [36324] let s:lib.Codec.decoding_table['143,223,235'] = [36325] let s:lib.Codec.decoding_table['143,223,236'] = [36327] let s:lib.Codec.decoding_table['143,223,237'] = [36332] let s:lib.Codec.decoding_table['143,223,238'] = [36336] let s:lib.Codec.decoding_table['143,223,239'] = [36284] let s:lib.Codec.decoding_table['143,223,240'] = [36337] let s:lib.Codec.decoding_table['143,223,241'] = [36338] let s:lib.Codec.decoding_table['143,223,242'] = [36340] let s:lib.Codec.decoding_table['143,223,243'] = [36349] let s:lib.Codec.decoding_table['143,223,244'] = [36353] let s:lib.Codec.decoding_table['143,223,245'] = [36356] let s:lib.Codec.decoding_table['143,223,246'] = [36357] let s:lib.Codec.decoding_table['143,223,247'] = [36358] let s:lib.Codec.decoding_table['143,223,248'] = [36363] let s:lib.Codec.decoding_table['143,223,249'] = [36369] let s:lib.Codec.decoding_table['143,223,250'] = [36372] let s:lib.Codec.decoding_table['143,223,251'] = [36374] let s:lib.Codec.decoding_table['143,223,252'] = [36384] let s:lib.Codec.decoding_table['143,223,253'] = [36385] let s:lib.Codec.decoding_table['143,223,254'] = [36386] let s:lib.Codec.decoding_table['143,224,161'] = [36387] let s:lib.Codec.decoding_table['143,224,162'] = [36390] let s:lib.Codec.decoding_table['143,224,163'] = [36391] let s:lib.Codec.decoding_table['143,224,164'] = [36401] let s:lib.Codec.decoding_table['143,224,165'] = [36403] let s:lib.Codec.decoding_table['143,224,166'] = [36406] let s:lib.Codec.decoding_table['143,224,167'] = [36407] let s:lib.Codec.decoding_table['143,224,168'] = [36408] let s:lib.Codec.decoding_table['143,224,169'] = [36409] let s:lib.Codec.decoding_table['143,224,170'] = [36413] let s:lib.Codec.decoding_table['143,224,171'] = [36416] let s:lib.Codec.decoding_table['143,224,172'] = [36417] let s:lib.Codec.decoding_table['143,224,173'] = [36427] let s:lib.Codec.decoding_table['143,224,174'] = [36429] let s:lib.Codec.decoding_table['143,224,175'] = [36430] let s:lib.Codec.decoding_table['143,224,176'] = [36431] let s:lib.Codec.decoding_table['143,224,177'] = [36436] let s:lib.Codec.decoding_table['143,224,178'] = [36443] let s:lib.Codec.decoding_table['143,224,179'] = [36444] let s:lib.Codec.decoding_table['143,224,180'] = [36445] let s:lib.Codec.decoding_table['143,224,181'] = [36446] let s:lib.Codec.decoding_table['143,224,182'] = [36449] let s:lib.Codec.decoding_table['143,224,183'] = [36450] let s:lib.Codec.decoding_table['143,224,184'] = [36457] let s:lib.Codec.decoding_table['143,224,185'] = [36460] let s:lib.Codec.decoding_table['143,224,186'] = [36461] let s:lib.Codec.decoding_table['143,224,187'] = [36463] let s:lib.Codec.decoding_table['143,224,188'] = [36464] let s:lib.Codec.decoding_table['143,224,189'] = [36465] let s:lib.Codec.decoding_table['143,224,190'] = [36473] let s:lib.Codec.decoding_table['143,224,191'] = [36474] let s:lib.Codec.decoding_table['143,224,192'] = [36475] let s:lib.Codec.decoding_table['143,224,193'] = [36482] let s:lib.Codec.decoding_table['143,224,194'] = [36483] let s:lib.Codec.decoding_table['143,224,195'] = [36489] let s:lib.Codec.decoding_table['143,224,196'] = [36496] let s:lib.Codec.decoding_table['143,224,197'] = [36498] let s:lib.Codec.decoding_table['143,224,198'] = [36501] let s:lib.Codec.decoding_table['143,224,199'] = [36506] let s:lib.Codec.decoding_table['143,224,200'] = [36507] let s:lib.Codec.decoding_table['143,224,201'] = [36509] let s:lib.Codec.decoding_table['143,224,202'] = [36510] let s:lib.Codec.decoding_table['143,224,203'] = [36514] let s:lib.Codec.decoding_table['143,224,204'] = [36519] let s:lib.Codec.decoding_table['143,224,205'] = [36521] let s:lib.Codec.decoding_table['143,224,206'] = [36525] let s:lib.Codec.decoding_table['143,224,207'] = [36526] let s:lib.Codec.decoding_table['143,224,208'] = [36531] let s:lib.Codec.decoding_table['143,224,209'] = [36533] let s:lib.Codec.decoding_table['143,224,210'] = [36538] let s:lib.Codec.decoding_table['143,224,211'] = [36539] let s:lib.Codec.decoding_table['143,224,212'] = [36544] let s:lib.Codec.decoding_table['143,224,213'] = [36545] let s:lib.Codec.decoding_table['143,224,214'] = [36547] let s:lib.Codec.decoding_table['143,224,215'] = [36548] let s:lib.Codec.decoding_table['143,224,216'] = [36551] let s:lib.Codec.decoding_table['143,224,217'] = [36559] let s:lib.Codec.decoding_table['143,224,218'] = [36561] let s:lib.Codec.decoding_table['143,224,219'] = [36564] let s:lib.Codec.decoding_table['143,224,220'] = [36572] let s:lib.Codec.decoding_table['143,224,221'] = [36584] let s:lib.Codec.decoding_table['143,224,222'] = [36590] let s:lib.Codec.decoding_table['143,224,223'] = [36592] let s:lib.Codec.decoding_table['143,224,224'] = [36593] let s:lib.Codec.decoding_table['143,224,225'] = [36599] let s:lib.Codec.decoding_table['143,224,226'] = [36601] let s:lib.Codec.decoding_table['143,224,227'] = [36602] let s:lib.Codec.decoding_table['143,224,228'] = [36589] let s:lib.Codec.decoding_table['143,224,229'] = [36608] let s:lib.Codec.decoding_table['143,224,230'] = [36610] let s:lib.Codec.decoding_table['143,224,231'] = [36615] let s:lib.Codec.decoding_table['143,224,232'] = [36616] let s:lib.Codec.decoding_table['143,224,233'] = [36623] let s:lib.Codec.decoding_table['143,224,234'] = [36624] let s:lib.Codec.decoding_table['143,224,235'] = [36630] let s:lib.Codec.decoding_table['143,224,236'] = [36631] let s:lib.Codec.decoding_table['143,224,237'] = [36632] let s:lib.Codec.decoding_table['143,224,238'] = [36638] let s:lib.Codec.decoding_table['143,224,239'] = [36640] let s:lib.Codec.decoding_table['143,224,240'] = [36641] let s:lib.Codec.decoding_table['143,224,241'] = [36643] let s:lib.Codec.decoding_table['143,224,242'] = [36645] let s:lib.Codec.decoding_table['143,224,243'] = [36647] let s:lib.Codec.decoding_table['143,224,244'] = [36648] let s:lib.Codec.decoding_table['143,224,245'] = [36652] let s:lib.Codec.decoding_table['143,224,246'] = [36653] let s:lib.Codec.decoding_table['143,224,247'] = [36654] let s:lib.Codec.decoding_table['143,224,248'] = [36660] let s:lib.Codec.decoding_table['143,224,249'] = [36661] let s:lib.Codec.decoding_table['143,224,250'] = [36662] let s:lib.Codec.decoding_table['143,224,251'] = [36663] let s:lib.Codec.decoding_table['143,224,252'] = [36666] let s:lib.Codec.decoding_table['143,224,253'] = [36672] let s:lib.Codec.decoding_table['143,224,254'] = [36673] let s:lib.Codec.decoding_table['143,225,161'] = [36675] let s:lib.Codec.decoding_table['143,225,162'] = [36679] let s:lib.Codec.decoding_table['143,225,163'] = [36687] let s:lib.Codec.decoding_table['143,225,164'] = [36689] let s:lib.Codec.decoding_table['143,225,165'] = [36690] let s:lib.Codec.decoding_table['143,225,166'] = [36691] let s:lib.Codec.decoding_table['143,225,167'] = [36692] let s:lib.Codec.decoding_table['143,225,168'] = [36693] let s:lib.Codec.decoding_table['143,225,169'] = [36696] let s:lib.Codec.decoding_table['143,225,170'] = [36701] let s:lib.Codec.decoding_table['143,225,171'] = [36702] let s:lib.Codec.decoding_table['143,225,172'] = [36709] let s:lib.Codec.decoding_table['143,225,173'] = [36765] let s:lib.Codec.decoding_table['143,225,174'] = [36768] let s:lib.Codec.decoding_table['143,225,175'] = [36769] let s:lib.Codec.decoding_table['143,225,176'] = [36772] let s:lib.Codec.decoding_table['143,225,177'] = [36773] let s:lib.Codec.decoding_table['143,225,178'] = [36774] let s:lib.Codec.decoding_table['143,225,179'] = [36789] let s:lib.Codec.decoding_table['143,225,180'] = [36790] let s:lib.Codec.decoding_table['143,225,181'] = [36792] let s:lib.Codec.decoding_table['143,225,182'] = [36798] let s:lib.Codec.decoding_table['143,225,183'] = [36800] let s:lib.Codec.decoding_table['143,225,184'] = [36801] let s:lib.Codec.decoding_table['143,225,185'] = [36806] let s:lib.Codec.decoding_table['143,225,186'] = [36810] let s:lib.Codec.decoding_table['143,225,187'] = [36811] let s:lib.Codec.decoding_table['143,225,188'] = [36813] let s:lib.Codec.decoding_table['143,225,189'] = [36816] let s:lib.Codec.decoding_table['143,225,190'] = [36818] let s:lib.Codec.decoding_table['143,225,191'] = [36819] let s:lib.Codec.decoding_table['143,225,192'] = [36821] let s:lib.Codec.decoding_table['143,225,193'] = [36832] let s:lib.Codec.decoding_table['143,225,194'] = [36835] let s:lib.Codec.decoding_table['143,225,195'] = [36836] let s:lib.Codec.decoding_table['143,225,196'] = [36840] let s:lib.Codec.decoding_table['143,225,197'] = [36846] let s:lib.Codec.decoding_table['143,225,198'] = [36849] let s:lib.Codec.decoding_table['143,225,199'] = [36853] let s:lib.Codec.decoding_table['143,225,200'] = [36854] let s:lib.Codec.decoding_table['143,225,201'] = [36859] let s:lib.Codec.decoding_table['143,225,202'] = [36862] let s:lib.Codec.decoding_table['143,225,203'] = [36866] let s:lib.Codec.decoding_table['143,225,204'] = [36868] let s:lib.Codec.decoding_table['143,225,205'] = [36872] let s:lib.Codec.decoding_table['143,225,206'] = [36876] let s:lib.Codec.decoding_table['143,225,207'] = [36888] let s:lib.Codec.decoding_table['143,225,208'] = [36891] let s:lib.Codec.decoding_table['143,225,209'] = [36904] let s:lib.Codec.decoding_table['143,225,210'] = [36905] let s:lib.Codec.decoding_table['143,225,211'] = [36911] let s:lib.Codec.decoding_table['143,225,212'] = [36906] let s:lib.Codec.decoding_table['143,225,213'] = [36908] let s:lib.Codec.decoding_table['143,225,214'] = [36909] let s:lib.Codec.decoding_table['143,225,215'] = [36915] let s:lib.Codec.decoding_table['143,225,216'] = [36916] let s:lib.Codec.decoding_table['143,225,217'] = [36919] let s:lib.Codec.decoding_table['143,225,218'] = [36927] let s:lib.Codec.decoding_table['143,225,219'] = [36931] let s:lib.Codec.decoding_table['143,225,220'] = [36932] let s:lib.Codec.decoding_table['143,225,221'] = [36940] let s:lib.Codec.decoding_table['143,225,222'] = [36955] let s:lib.Codec.decoding_table['143,225,223'] = [36957] let s:lib.Codec.decoding_table['143,225,224'] = [36962] let s:lib.Codec.decoding_table['143,225,225'] = [36966] let s:lib.Codec.decoding_table['143,225,226'] = [36967] let s:lib.Codec.decoding_table['143,225,227'] = [36972] let s:lib.Codec.decoding_table['143,225,228'] = [36976] let s:lib.Codec.decoding_table['143,225,229'] = [36980] let s:lib.Codec.decoding_table['143,225,230'] = [36985] let s:lib.Codec.decoding_table['143,225,231'] = [36997] let s:lib.Codec.decoding_table['143,225,232'] = [37000] let s:lib.Codec.decoding_table['143,225,233'] = [37003] let s:lib.Codec.decoding_table['143,225,234'] = [37004] let s:lib.Codec.decoding_table['143,225,235'] = [37006] let s:lib.Codec.decoding_table['143,225,236'] = [37008] let s:lib.Codec.decoding_table['143,225,237'] = [37013] let s:lib.Codec.decoding_table['143,225,238'] = [37015] let s:lib.Codec.decoding_table['143,225,239'] = [37016] let s:lib.Codec.decoding_table['143,225,240'] = [37017] let s:lib.Codec.decoding_table['143,225,241'] = [37019] let s:lib.Codec.decoding_table['143,225,242'] = [37024] let s:lib.Codec.decoding_table['143,225,243'] = [37025] let s:lib.Codec.decoding_table['143,225,244'] = [37026] let s:lib.Codec.decoding_table['143,225,245'] = [37029] let s:lib.Codec.decoding_table['143,225,246'] = [37040] let s:lib.Codec.decoding_table['143,225,247'] = [37042] let s:lib.Codec.decoding_table['143,225,248'] = [37043] let s:lib.Codec.decoding_table['143,225,249'] = [37044] let s:lib.Codec.decoding_table['143,225,250'] = [37046] let s:lib.Codec.decoding_table['143,225,251'] = [37053] let s:lib.Codec.decoding_table['143,225,252'] = [37068] let s:lib.Codec.decoding_table['143,225,253'] = [37054] let s:lib.Codec.decoding_table['143,225,254'] = [37059] let s:lib.Codec.decoding_table['143,226,161'] = [37060] let s:lib.Codec.decoding_table['143,226,162'] = [37061] let s:lib.Codec.decoding_table['143,226,163'] = [37063] let s:lib.Codec.decoding_table['143,226,164'] = [37064] let s:lib.Codec.decoding_table['143,226,165'] = [37077] let s:lib.Codec.decoding_table['143,226,166'] = [37079] let s:lib.Codec.decoding_table['143,226,167'] = [37080] let s:lib.Codec.decoding_table['143,226,168'] = [37081] let s:lib.Codec.decoding_table['143,226,169'] = [37084] let s:lib.Codec.decoding_table['143,226,170'] = [37085] let s:lib.Codec.decoding_table['143,226,171'] = [37087] let s:lib.Codec.decoding_table['143,226,172'] = [37093] let s:lib.Codec.decoding_table['143,226,173'] = [37074] let s:lib.Codec.decoding_table['143,226,174'] = [37110] let s:lib.Codec.decoding_table['143,226,175'] = [37099] let s:lib.Codec.decoding_table['143,226,176'] = [37103] let s:lib.Codec.decoding_table['143,226,177'] = [37104] let s:lib.Codec.decoding_table['143,226,178'] = [37108] let s:lib.Codec.decoding_table['143,226,179'] = [37118] let s:lib.Codec.decoding_table['143,226,180'] = [37119] let s:lib.Codec.decoding_table['143,226,181'] = [37120] let s:lib.Codec.decoding_table['143,226,182'] = [37124] let s:lib.Codec.decoding_table['143,226,183'] = [37125] let s:lib.Codec.decoding_table['143,226,184'] = [37126] let s:lib.Codec.decoding_table['143,226,185'] = [37128] let s:lib.Codec.decoding_table['143,226,186'] = [37133] let s:lib.Codec.decoding_table['143,226,187'] = [37136] let s:lib.Codec.decoding_table['143,226,188'] = [37140] let s:lib.Codec.decoding_table['143,226,189'] = [37142] let s:lib.Codec.decoding_table['143,226,190'] = [37143] let s:lib.Codec.decoding_table['143,226,191'] = [37144] let s:lib.Codec.decoding_table['143,226,192'] = [37146] let s:lib.Codec.decoding_table['143,226,193'] = [37148] let s:lib.Codec.decoding_table['143,226,194'] = [37150] let s:lib.Codec.decoding_table['143,226,195'] = [37152] let s:lib.Codec.decoding_table['143,226,196'] = [37157] let s:lib.Codec.decoding_table['143,226,197'] = [37154] let s:lib.Codec.decoding_table['143,226,198'] = [37155] let s:lib.Codec.decoding_table['143,226,199'] = [37159] let s:lib.Codec.decoding_table['143,226,200'] = [37161] let s:lib.Codec.decoding_table['143,226,201'] = [37166] let s:lib.Codec.decoding_table['143,226,202'] = [37167] let s:lib.Codec.decoding_table['143,226,203'] = [37169] let s:lib.Codec.decoding_table['143,226,204'] = [37172] let s:lib.Codec.decoding_table['143,226,205'] = [37174] let s:lib.Codec.decoding_table['143,226,206'] = [37175] let s:lib.Codec.decoding_table['143,226,207'] = [37177] let s:lib.Codec.decoding_table['143,226,208'] = [37178] let s:lib.Codec.decoding_table['143,226,209'] = [37180] let s:lib.Codec.decoding_table['143,226,210'] = [37181] let s:lib.Codec.decoding_table['143,226,211'] = [37187] let s:lib.Codec.decoding_table['143,226,212'] = [37191] let s:lib.Codec.decoding_table['143,226,213'] = [37192] let s:lib.Codec.decoding_table['143,226,214'] = [37199] let s:lib.Codec.decoding_table['143,226,215'] = [37203] let s:lib.Codec.decoding_table['143,226,216'] = [37207] let s:lib.Codec.decoding_table['143,226,217'] = [37209] let s:lib.Codec.decoding_table['143,226,218'] = [37210] let s:lib.Codec.decoding_table['143,226,219'] = [37211] let s:lib.Codec.decoding_table['143,226,220'] = [37217] let s:lib.Codec.decoding_table['143,226,221'] = [37220] let s:lib.Codec.decoding_table['143,226,222'] = [37223] let s:lib.Codec.decoding_table['143,226,223'] = [37229] let s:lib.Codec.decoding_table['143,226,224'] = [37236] let s:lib.Codec.decoding_table['143,226,225'] = [37241] let s:lib.Codec.decoding_table['143,226,226'] = [37242] let s:lib.Codec.decoding_table['143,226,227'] = [37243] let s:lib.Codec.decoding_table['143,226,228'] = [37249] let s:lib.Codec.decoding_table['143,226,229'] = [37251] let s:lib.Codec.decoding_table['143,226,230'] = [37253] let s:lib.Codec.decoding_table['143,226,231'] = [37254] let s:lib.Codec.decoding_table['143,226,232'] = [37258] let s:lib.Codec.decoding_table['143,226,233'] = [37262] let s:lib.Codec.decoding_table['143,226,234'] = [37265] let s:lib.Codec.decoding_table['143,226,235'] = [37267] let s:lib.Codec.decoding_table['143,226,236'] = [37268] let s:lib.Codec.decoding_table['143,226,237'] = [37269] let s:lib.Codec.decoding_table['143,226,238'] = [37272] let s:lib.Codec.decoding_table['143,226,239'] = [37278] let s:lib.Codec.decoding_table['143,226,240'] = [37281] let s:lib.Codec.decoding_table['143,226,241'] = [37286] let s:lib.Codec.decoding_table['143,226,242'] = [37288] let s:lib.Codec.decoding_table['143,226,243'] = [37292] let s:lib.Codec.decoding_table['143,226,244'] = [37293] let s:lib.Codec.decoding_table['143,226,245'] = [37294] let s:lib.Codec.decoding_table['143,226,246'] = [37296] let s:lib.Codec.decoding_table['143,226,247'] = [37297] let s:lib.Codec.decoding_table['143,226,248'] = [37298] let s:lib.Codec.decoding_table['143,226,249'] = [37299] let s:lib.Codec.decoding_table['143,226,250'] = [37302] let s:lib.Codec.decoding_table['143,226,251'] = [37307] let s:lib.Codec.decoding_table['143,226,252'] = [37308] let s:lib.Codec.decoding_table['143,226,253'] = [37309] let s:lib.Codec.decoding_table['143,226,254'] = [37311] let s:lib.Codec.decoding_table['143,227,161'] = [37314] let s:lib.Codec.decoding_table['143,227,162'] = [37315] let s:lib.Codec.decoding_table['143,227,163'] = [37317] let s:lib.Codec.decoding_table['143,227,164'] = [37331] let s:lib.Codec.decoding_table['143,227,165'] = [37332] let s:lib.Codec.decoding_table['143,227,166'] = [37335] let s:lib.Codec.decoding_table['143,227,167'] = [37337] let s:lib.Codec.decoding_table['143,227,168'] = [37338] let s:lib.Codec.decoding_table['143,227,169'] = [37342] let s:lib.Codec.decoding_table['143,227,170'] = [37348] let s:lib.Codec.decoding_table['143,227,171'] = [37349] let s:lib.Codec.decoding_table['143,227,172'] = [37353] let s:lib.Codec.decoding_table['143,227,173'] = [37354] let s:lib.Codec.decoding_table['143,227,174'] = [37356] let s:lib.Codec.decoding_table['143,227,175'] = [37357] let s:lib.Codec.decoding_table['143,227,176'] = [37358] let s:lib.Codec.decoding_table['143,227,177'] = [37359] let s:lib.Codec.decoding_table['143,227,178'] = [37360] let s:lib.Codec.decoding_table['143,227,179'] = [37361] let s:lib.Codec.decoding_table['143,227,180'] = [37367] let s:lib.Codec.decoding_table['143,227,181'] = [37369] let s:lib.Codec.decoding_table['143,227,182'] = [37371] let s:lib.Codec.decoding_table['143,227,183'] = [37373] let s:lib.Codec.decoding_table['143,227,184'] = [37376] let s:lib.Codec.decoding_table['143,227,185'] = [37377] let s:lib.Codec.decoding_table['143,227,186'] = [37380] let s:lib.Codec.decoding_table['143,227,187'] = [37381] let s:lib.Codec.decoding_table['143,227,188'] = [37382] let s:lib.Codec.decoding_table['143,227,189'] = [37383] let s:lib.Codec.decoding_table['143,227,190'] = [37385] let s:lib.Codec.decoding_table['143,227,191'] = [37386] let s:lib.Codec.decoding_table['143,227,192'] = [37388] let s:lib.Codec.decoding_table['143,227,193'] = [37392] let s:lib.Codec.decoding_table['143,227,194'] = [37394] let s:lib.Codec.decoding_table['143,227,195'] = [37395] let s:lib.Codec.decoding_table['143,227,196'] = [37398] let s:lib.Codec.decoding_table['143,227,197'] = [37400] let s:lib.Codec.decoding_table['143,227,198'] = [37404] let s:lib.Codec.decoding_table['143,227,199'] = [37405] let s:lib.Codec.decoding_table['143,227,200'] = [37411] let s:lib.Codec.decoding_table['143,227,201'] = [37412] let s:lib.Codec.decoding_table['143,227,202'] = [37413] let s:lib.Codec.decoding_table['143,227,203'] = [37414] let s:lib.Codec.decoding_table['143,227,204'] = [37416] let s:lib.Codec.decoding_table['143,227,205'] = [37422] let s:lib.Codec.decoding_table['143,227,206'] = [37423] let s:lib.Codec.decoding_table['143,227,207'] = [37424] let s:lib.Codec.decoding_table['143,227,208'] = [37427] let s:lib.Codec.decoding_table['143,227,209'] = [37429] let s:lib.Codec.decoding_table['143,227,210'] = [37430] let s:lib.Codec.decoding_table['143,227,211'] = [37432] let s:lib.Codec.decoding_table['143,227,212'] = [37433] let s:lib.Codec.decoding_table['143,227,213'] = [37434] let s:lib.Codec.decoding_table['143,227,214'] = [37436] let s:lib.Codec.decoding_table['143,227,215'] = [37438] let s:lib.Codec.decoding_table['143,227,216'] = [37440] let s:lib.Codec.decoding_table['143,227,217'] = [37442] let s:lib.Codec.decoding_table['143,227,218'] = [37443] let s:lib.Codec.decoding_table['143,227,219'] = [37446] let s:lib.Codec.decoding_table['143,227,220'] = [37447] let s:lib.Codec.decoding_table['143,227,221'] = [37450] let s:lib.Codec.decoding_table['143,227,222'] = [37453] let s:lib.Codec.decoding_table['143,227,223'] = [37454] let s:lib.Codec.decoding_table['143,227,224'] = [37455] let s:lib.Codec.decoding_table['143,227,225'] = [37457] let s:lib.Codec.decoding_table['143,227,226'] = [37464] let s:lib.Codec.decoding_table['143,227,227'] = [37465] let s:lib.Codec.decoding_table['143,227,228'] = [37468] let s:lib.Codec.decoding_table['143,227,229'] = [37469] let s:lib.Codec.decoding_table['143,227,230'] = [37472] let s:lib.Codec.decoding_table['143,227,231'] = [37473] let s:lib.Codec.decoding_table['143,227,232'] = [37477] let s:lib.Codec.decoding_table['143,227,233'] = [37479] let s:lib.Codec.decoding_table['143,227,234'] = [37480] let s:lib.Codec.decoding_table['143,227,235'] = [37481] let s:lib.Codec.decoding_table['143,227,236'] = [37486] let s:lib.Codec.decoding_table['143,227,237'] = [37487] let s:lib.Codec.decoding_table['143,227,238'] = [37488] let s:lib.Codec.decoding_table['143,227,239'] = [37493] let s:lib.Codec.decoding_table['143,227,240'] = [37494] let s:lib.Codec.decoding_table['143,227,241'] = [37495] let s:lib.Codec.decoding_table['143,227,242'] = [37496] let s:lib.Codec.decoding_table['143,227,243'] = [37497] let s:lib.Codec.decoding_table['143,227,244'] = [37499] let s:lib.Codec.decoding_table['143,227,245'] = [37500] let s:lib.Codec.decoding_table['143,227,246'] = [37501] let s:lib.Codec.decoding_table['143,227,247'] = [37503] let s:lib.Codec.decoding_table['143,227,248'] = [37512] let s:lib.Codec.decoding_table['143,227,249'] = [37513] let s:lib.Codec.decoding_table['143,227,250'] = [37514] let s:lib.Codec.decoding_table['143,227,251'] = [37517] let s:lib.Codec.decoding_table['143,227,252'] = [37518] let s:lib.Codec.decoding_table['143,227,253'] = [37522] let s:lib.Codec.decoding_table['143,227,254'] = [37527] let s:lib.Codec.decoding_table['143,228,161'] = [37529] let s:lib.Codec.decoding_table['143,228,162'] = [37535] let s:lib.Codec.decoding_table['143,228,163'] = [37536] let s:lib.Codec.decoding_table['143,228,164'] = [37540] let s:lib.Codec.decoding_table['143,228,165'] = [37541] let s:lib.Codec.decoding_table['143,228,166'] = [37543] let s:lib.Codec.decoding_table['143,228,167'] = [37544] let s:lib.Codec.decoding_table['143,228,168'] = [37547] let s:lib.Codec.decoding_table['143,228,169'] = [37551] let s:lib.Codec.decoding_table['143,228,170'] = [37554] let s:lib.Codec.decoding_table['143,228,171'] = [37558] let s:lib.Codec.decoding_table['143,228,172'] = [37560] let s:lib.Codec.decoding_table['143,228,173'] = [37562] let s:lib.Codec.decoding_table['143,228,174'] = [37563] let s:lib.Codec.decoding_table['143,228,175'] = [37564] let s:lib.Codec.decoding_table['143,228,176'] = [37565] let s:lib.Codec.decoding_table['143,228,177'] = [37567] let s:lib.Codec.decoding_table['143,228,178'] = [37568] let s:lib.Codec.decoding_table['143,228,179'] = [37569] let s:lib.Codec.decoding_table['143,228,180'] = [37570] let s:lib.Codec.decoding_table['143,228,181'] = [37571] let s:lib.Codec.decoding_table['143,228,182'] = [37573] let s:lib.Codec.decoding_table['143,228,183'] = [37574] let s:lib.Codec.decoding_table['143,228,184'] = [37575] let s:lib.Codec.decoding_table['143,228,185'] = [37576] let s:lib.Codec.decoding_table['143,228,186'] = [37579] let s:lib.Codec.decoding_table['143,228,187'] = [37580] let s:lib.Codec.decoding_table['143,228,188'] = [37581] let s:lib.Codec.decoding_table['143,228,189'] = [37582] let s:lib.Codec.decoding_table['143,228,190'] = [37584] let s:lib.Codec.decoding_table['143,228,191'] = [37587] let s:lib.Codec.decoding_table['143,228,192'] = [37589] let s:lib.Codec.decoding_table['143,228,193'] = [37591] let s:lib.Codec.decoding_table['143,228,194'] = [37592] let s:lib.Codec.decoding_table['143,228,195'] = [37593] let s:lib.Codec.decoding_table['143,228,196'] = [37596] let s:lib.Codec.decoding_table['143,228,197'] = [37597] let s:lib.Codec.decoding_table['143,228,198'] = [37599] let s:lib.Codec.decoding_table['143,228,199'] = [37600] let s:lib.Codec.decoding_table['143,228,200'] = [37601] let s:lib.Codec.decoding_table['143,228,201'] = [37603] let s:lib.Codec.decoding_table['143,228,202'] = [37605] let s:lib.Codec.decoding_table['143,228,203'] = [37607] let s:lib.Codec.decoding_table['143,228,204'] = [37608] let s:lib.Codec.decoding_table['143,228,205'] = [37612] let s:lib.Codec.decoding_table['143,228,206'] = [37614] let s:lib.Codec.decoding_table['143,228,207'] = [37616] let s:lib.Codec.decoding_table['143,228,208'] = [37625] let s:lib.Codec.decoding_table['143,228,209'] = [37627] let s:lib.Codec.decoding_table['143,228,210'] = [37631] let s:lib.Codec.decoding_table['143,228,211'] = [37632] let s:lib.Codec.decoding_table['143,228,212'] = [37634] let s:lib.Codec.decoding_table['143,228,213'] = [37640] let s:lib.Codec.decoding_table['143,228,214'] = [37645] let s:lib.Codec.decoding_table['143,228,215'] = [37649] let s:lib.Codec.decoding_table['143,228,216'] = [37652] let s:lib.Codec.decoding_table['143,228,217'] = [37653] let s:lib.Codec.decoding_table['143,228,218'] = [37660] let s:lib.Codec.decoding_table['143,228,219'] = [37661] let s:lib.Codec.decoding_table['143,228,220'] = [37662] let s:lib.Codec.decoding_table['143,228,221'] = [37663] let s:lib.Codec.decoding_table['143,228,222'] = [37665] let s:lib.Codec.decoding_table['143,228,223'] = [37668] let s:lib.Codec.decoding_table['143,228,224'] = [37669] let s:lib.Codec.decoding_table['143,228,225'] = [37671] let s:lib.Codec.decoding_table['143,228,226'] = [37673] let s:lib.Codec.decoding_table['143,228,227'] = [37674] let s:lib.Codec.decoding_table['143,228,228'] = [37683] let s:lib.Codec.decoding_table['143,228,229'] = [37684] let s:lib.Codec.decoding_table['143,228,230'] = [37686] let s:lib.Codec.decoding_table['143,228,231'] = [37687] let s:lib.Codec.decoding_table['143,228,232'] = [37703] let s:lib.Codec.decoding_table['143,228,233'] = [37704] let s:lib.Codec.decoding_table['143,228,234'] = [37705] let s:lib.Codec.decoding_table['143,228,235'] = [37712] let s:lib.Codec.decoding_table['143,228,236'] = [37713] let s:lib.Codec.decoding_table['143,228,237'] = [37714] let s:lib.Codec.decoding_table['143,228,238'] = [37717] let s:lib.Codec.decoding_table['143,228,239'] = [37719] let s:lib.Codec.decoding_table['143,228,240'] = [37720] let s:lib.Codec.decoding_table['143,228,241'] = [37722] let s:lib.Codec.decoding_table['143,228,242'] = [37726] let s:lib.Codec.decoding_table['143,228,243'] = [37732] let s:lib.Codec.decoding_table['143,228,244'] = [37733] let s:lib.Codec.decoding_table['143,228,245'] = [37735] let s:lib.Codec.decoding_table['143,228,246'] = [37737] let s:lib.Codec.decoding_table['143,228,247'] = [37738] let s:lib.Codec.decoding_table['143,228,248'] = [37741] let s:lib.Codec.decoding_table['143,228,249'] = [37743] let s:lib.Codec.decoding_table['143,228,250'] = [37744] let s:lib.Codec.decoding_table['143,228,251'] = [37745] let s:lib.Codec.decoding_table['143,228,252'] = [37747] let s:lib.Codec.decoding_table['143,228,253'] = [37748] let s:lib.Codec.decoding_table['143,228,254'] = [37750] let s:lib.Codec.decoding_table['143,229,161'] = [37754] let s:lib.Codec.decoding_table['143,229,162'] = [37757] let s:lib.Codec.decoding_table['143,229,163'] = [37759] let s:lib.Codec.decoding_table['143,229,164'] = [37760] let s:lib.Codec.decoding_table['143,229,165'] = [37761] let s:lib.Codec.decoding_table['143,229,166'] = [37762] let s:lib.Codec.decoding_table['143,229,167'] = [37768] let s:lib.Codec.decoding_table['143,229,168'] = [37770] let s:lib.Codec.decoding_table['143,229,169'] = [37771] let s:lib.Codec.decoding_table['143,229,170'] = [37773] let s:lib.Codec.decoding_table['143,229,171'] = [37775] let s:lib.Codec.decoding_table['143,229,172'] = [37778] let s:lib.Codec.decoding_table['143,229,173'] = [37781] let s:lib.Codec.decoding_table['143,229,174'] = [37784] let s:lib.Codec.decoding_table['143,229,175'] = [37787] let s:lib.Codec.decoding_table['143,229,176'] = [37790] let s:lib.Codec.decoding_table['143,229,177'] = [37793] let s:lib.Codec.decoding_table['143,229,178'] = [37795] let s:lib.Codec.decoding_table['143,229,179'] = [37796] let s:lib.Codec.decoding_table['143,229,180'] = [37798] let s:lib.Codec.decoding_table['143,229,181'] = [37800] let s:lib.Codec.decoding_table['143,229,182'] = [37803] let s:lib.Codec.decoding_table['143,229,183'] = [37812] let s:lib.Codec.decoding_table['143,229,184'] = [37813] let s:lib.Codec.decoding_table['143,229,185'] = [37814] let s:lib.Codec.decoding_table['143,229,186'] = [37818] let s:lib.Codec.decoding_table['143,229,187'] = [37801] let s:lib.Codec.decoding_table['143,229,188'] = [37825] let s:lib.Codec.decoding_table['143,229,189'] = [37828] let s:lib.Codec.decoding_table['143,229,190'] = [37829] let s:lib.Codec.decoding_table['143,229,191'] = [37830] let s:lib.Codec.decoding_table['143,229,192'] = [37831] let s:lib.Codec.decoding_table['143,229,193'] = [37833] let s:lib.Codec.decoding_table['143,229,194'] = [37834] let s:lib.Codec.decoding_table['143,229,195'] = [37835] let s:lib.Codec.decoding_table['143,229,196'] = [37836] let s:lib.Codec.decoding_table['143,229,197'] = [37837] let s:lib.Codec.decoding_table['143,229,198'] = [37843] let s:lib.Codec.decoding_table['143,229,199'] = [37849] let s:lib.Codec.decoding_table['143,229,200'] = [37852] let s:lib.Codec.decoding_table['143,229,201'] = [37854] let s:lib.Codec.decoding_table['143,229,202'] = [37855] let s:lib.Codec.decoding_table['143,229,203'] = [37858] let s:lib.Codec.decoding_table['143,229,204'] = [37862] let s:lib.Codec.decoding_table['143,229,205'] = [37863] let s:lib.Codec.decoding_table['143,229,206'] = [37881] let s:lib.Codec.decoding_table['143,229,207'] = [37879] let s:lib.Codec.decoding_table['143,229,208'] = [37880] let s:lib.Codec.decoding_table['143,229,209'] = [37882] let s:lib.Codec.decoding_table['143,229,210'] = [37883] let s:lib.Codec.decoding_table['143,229,211'] = [37885] let s:lib.Codec.decoding_table['143,229,212'] = [37889] let s:lib.Codec.decoding_table['143,229,213'] = [37890] let s:lib.Codec.decoding_table['143,229,214'] = [37892] let s:lib.Codec.decoding_table['143,229,215'] = [37896] let s:lib.Codec.decoding_table['143,229,216'] = [37897] let s:lib.Codec.decoding_table['143,229,217'] = [37901] let s:lib.Codec.decoding_table['143,229,218'] = [37902] let s:lib.Codec.decoding_table['143,229,219'] = [37903] let s:lib.Codec.decoding_table['143,229,220'] = [37909] let s:lib.Codec.decoding_table['143,229,221'] = [37910] let s:lib.Codec.decoding_table['143,229,222'] = [37911] let s:lib.Codec.decoding_table['143,229,223'] = [37919] let s:lib.Codec.decoding_table['143,229,224'] = [37934] let s:lib.Codec.decoding_table['143,229,225'] = [37935] let s:lib.Codec.decoding_table['143,229,226'] = [37937] let s:lib.Codec.decoding_table['143,229,227'] = [37938] let s:lib.Codec.decoding_table['143,229,228'] = [37939] let s:lib.Codec.decoding_table['143,229,229'] = [37940] let s:lib.Codec.decoding_table['143,229,230'] = [37947] let s:lib.Codec.decoding_table['143,229,231'] = [37951] let s:lib.Codec.decoding_table['143,229,232'] = [37949] let s:lib.Codec.decoding_table['143,229,233'] = [37955] let s:lib.Codec.decoding_table['143,229,234'] = [37957] let s:lib.Codec.decoding_table['143,229,235'] = [37960] let s:lib.Codec.decoding_table['143,229,236'] = [37962] let s:lib.Codec.decoding_table['143,229,237'] = [37964] let s:lib.Codec.decoding_table['143,229,238'] = [37973] let s:lib.Codec.decoding_table['143,229,239'] = [37977] let s:lib.Codec.decoding_table['143,229,240'] = [37980] let s:lib.Codec.decoding_table['143,229,241'] = [37983] let s:lib.Codec.decoding_table['143,229,242'] = [37985] let s:lib.Codec.decoding_table['143,229,243'] = [37987] let s:lib.Codec.decoding_table['143,229,244'] = [37992] let s:lib.Codec.decoding_table['143,229,245'] = [37995] let s:lib.Codec.decoding_table['143,229,246'] = [37997] let s:lib.Codec.decoding_table['143,229,247'] = [37998] let s:lib.Codec.decoding_table['143,229,248'] = [37999] let s:lib.Codec.decoding_table['143,229,249'] = [38001] let s:lib.Codec.decoding_table['143,229,250'] = [38002] let s:lib.Codec.decoding_table['143,229,251'] = [38020] let s:lib.Codec.decoding_table['143,229,252'] = [38019] let s:lib.Codec.decoding_table['143,229,253'] = [38264] let s:lib.Codec.decoding_table['143,229,254'] = [38265] let s:lib.Codec.decoding_table['143,230,161'] = [38270] let s:lib.Codec.decoding_table['143,230,162'] = [38276] let s:lib.Codec.decoding_table['143,230,163'] = [38280] let s:lib.Codec.decoding_table['143,230,164'] = [38284] let s:lib.Codec.decoding_table['143,230,165'] = [38285] let s:lib.Codec.decoding_table['143,230,166'] = [38286] let s:lib.Codec.decoding_table['143,230,167'] = [38301] let s:lib.Codec.decoding_table['143,230,168'] = [38302] let s:lib.Codec.decoding_table['143,230,169'] = [38303] let s:lib.Codec.decoding_table['143,230,170'] = [38305] let s:lib.Codec.decoding_table['143,230,171'] = [38310] let s:lib.Codec.decoding_table['143,230,172'] = [38313] let s:lib.Codec.decoding_table['143,230,173'] = [38315] let s:lib.Codec.decoding_table['143,230,174'] = [38316] let s:lib.Codec.decoding_table['143,230,175'] = [38324] let s:lib.Codec.decoding_table['143,230,176'] = [38326] let s:lib.Codec.decoding_table['143,230,177'] = [38330] let s:lib.Codec.decoding_table['143,230,178'] = [38333] let s:lib.Codec.decoding_table['143,230,179'] = [38335] let s:lib.Codec.decoding_table['143,230,180'] = [38342] let s:lib.Codec.decoding_table['143,230,181'] = [38344] let s:lib.Codec.decoding_table['143,230,182'] = [38345] let s:lib.Codec.decoding_table['143,230,183'] = [38347] let s:lib.Codec.decoding_table['143,230,184'] = [38352] let s:lib.Codec.decoding_table['143,230,185'] = [38353] let s:lib.Codec.decoding_table['143,230,186'] = [38354] let s:lib.Codec.decoding_table['143,230,187'] = [38355] let s:lib.Codec.decoding_table['143,230,188'] = [38361] let s:lib.Codec.decoding_table['143,230,189'] = [38362] let s:lib.Codec.decoding_table['143,230,190'] = [38365] let s:lib.Codec.decoding_table['143,230,191'] = [38366] let s:lib.Codec.decoding_table['143,230,192'] = [38367] let s:lib.Codec.decoding_table['143,230,193'] = [38368] let s:lib.Codec.decoding_table['143,230,194'] = [38372] let s:lib.Codec.decoding_table['143,230,195'] = [38374] let s:lib.Codec.decoding_table['143,230,196'] = [38429] let s:lib.Codec.decoding_table['143,230,197'] = [38430] let s:lib.Codec.decoding_table['143,230,198'] = [38434] let s:lib.Codec.decoding_table['143,230,199'] = [38436] let s:lib.Codec.decoding_table['143,230,200'] = [38437] let s:lib.Codec.decoding_table['143,230,201'] = [38438] let s:lib.Codec.decoding_table['143,230,202'] = [38444] let s:lib.Codec.decoding_table['143,230,203'] = [38449] let s:lib.Codec.decoding_table['143,230,204'] = [38451] let s:lib.Codec.decoding_table['143,230,205'] = [38455] let s:lib.Codec.decoding_table['143,230,206'] = [38456] let s:lib.Codec.decoding_table['143,230,207'] = [38457] let s:lib.Codec.decoding_table['143,230,208'] = [38458] let s:lib.Codec.decoding_table['143,230,209'] = [38460] let s:lib.Codec.decoding_table['143,230,210'] = [38461] let s:lib.Codec.decoding_table['143,230,211'] = [38465] let s:lib.Codec.decoding_table['143,230,212'] = [38482] let s:lib.Codec.decoding_table['143,230,213'] = [38484] let s:lib.Codec.decoding_table['143,230,214'] = [38486] let s:lib.Codec.decoding_table['143,230,215'] = [38487] let s:lib.Codec.decoding_table['143,230,216'] = [38488] let s:lib.Codec.decoding_table['143,230,217'] = [38497] let s:lib.Codec.decoding_table['143,230,218'] = [38510] let s:lib.Codec.decoding_table['143,230,219'] = [38516] let s:lib.Codec.decoding_table['143,230,220'] = [38523] let s:lib.Codec.decoding_table['143,230,221'] = [38524] let s:lib.Codec.decoding_table['143,230,222'] = [38526] let s:lib.Codec.decoding_table['143,230,223'] = [38527] let s:lib.Codec.decoding_table['143,230,224'] = [38529] let s:lib.Codec.decoding_table['143,230,225'] = [38530] let s:lib.Codec.decoding_table['143,230,226'] = [38531] let s:lib.Codec.decoding_table['143,230,227'] = [38532] let s:lib.Codec.decoding_table['143,230,228'] = [38537] let s:lib.Codec.decoding_table['143,230,229'] = [38545] let s:lib.Codec.decoding_table['143,230,230'] = [38550] let s:lib.Codec.decoding_table['143,230,231'] = [38554] let s:lib.Codec.decoding_table['143,230,232'] = [38557] let s:lib.Codec.decoding_table['143,230,233'] = [38559] let s:lib.Codec.decoding_table['143,230,234'] = [38564] let s:lib.Codec.decoding_table['143,230,235'] = [38565] let s:lib.Codec.decoding_table['143,230,236'] = [38566] let s:lib.Codec.decoding_table['143,230,237'] = [38569] let s:lib.Codec.decoding_table['143,230,238'] = [38574] let s:lib.Codec.decoding_table['143,230,239'] = [38575] let s:lib.Codec.decoding_table['143,230,240'] = [38579] let s:lib.Codec.decoding_table['143,230,241'] = [38586] let s:lib.Codec.decoding_table['143,230,242'] = [38602] let s:lib.Codec.decoding_table['143,230,243'] = [38610] let s:lib.Codec.decoding_table['143,230,244'] = [23986] let s:lib.Codec.decoding_table['143,230,245'] = [38616] let s:lib.Codec.decoding_table['143,230,246'] = [38618] let s:lib.Codec.decoding_table['143,230,247'] = [38621] let s:lib.Codec.decoding_table['143,230,248'] = [38622] let s:lib.Codec.decoding_table['143,230,249'] = [38623] let s:lib.Codec.decoding_table['143,230,250'] = [38633] let s:lib.Codec.decoding_table['143,230,251'] = [38639] let s:lib.Codec.decoding_table['143,230,252'] = [38641] let s:lib.Codec.decoding_table['143,230,253'] = [38650] let s:lib.Codec.decoding_table['143,230,254'] = [38658] let s:lib.Codec.decoding_table['143,231,161'] = [38659] let s:lib.Codec.decoding_table['143,231,162'] = [38661] let s:lib.Codec.decoding_table['143,231,163'] = [38665] let s:lib.Codec.decoding_table['143,231,164'] = [38682] let s:lib.Codec.decoding_table['143,231,165'] = [38683] let s:lib.Codec.decoding_table['143,231,166'] = [38685] let s:lib.Codec.decoding_table['143,231,167'] = [38689] let s:lib.Codec.decoding_table['143,231,168'] = [38690] let s:lib.Codec.decoding_table['143,231,169'] = [38691] let s:lib.Codec.decoding_table['143,231,170'] = [38696] let s:lib.Codec.decoding_table['143,231,171'] = [38705] let s:lib.Codec.decoding_table['143,231,172'] = [38707] let s:lib.Codec.decoding_table['143,231,173'] = [38721] let s:lib.Codec.decoding_table['143,231,174'] = [38723] let s:lib.Codec.decoding_table['143,231,175'] = [38730] let s:lib.Codec.decoding_table['143,231,176'] = [38734] let s:lib.Codec.decoding_table['143,231,177'] = [38735] let s:lib.Codec.decoding_table['143,231,178'] = [38741] let s:lib.Codec.decoding_table['143,231,179'] = [38743] let s:lib.Codec.decoding_table['143,231,180'] = [38744] let s:lib.Codec.decoding_table['143,231,181'] = [38746] let s:lib.Codec.decoding_table['143,231,182'] = [38747] let s:lib.Codec.decoding_table['143,231,183'] = [38755] let s:lib.Codec.decoding_table['143,231,184'] = [38759] let s:lib.Codec.decoding_table['143,231,185'] = [38762] let s:lib.Codec.decoding_table['143,231,186'] = [38766] let s:lib.Codec.decoding_table['143,231,187'] = [38771] let s:lib.Codec.decoding_table['143,231,188'] = [38774] let s:lib.Codec.decoding_table['143,231,189'] = [38775] let s:lib.Codec.decoding_table['143,231,190'] = [38776] let s:lib.Codec.decoding_table['143,231,191'] = [38779] let s:lib.Codec.decoding_table['143,231,192'] = [38781] let s:lib.Codec.decoding_table['143,231,193'] = [38783] let s:lib.Codec.decoding_table['143,231,194'] = [38784] let s:lib.Codec.decoding_table['143,231,195'] = [38793] let s:lib.Codec.decoding_table['143,231,196'] = [38805] let s:lib.Codec.decoding_table['143,231,197'] = [38806] let s:lib.Codec.decoding_table['143,231,198'] = [38807] let s:lib.Codec.decoding_table['143,231,199'] = [38809] let s:lib.Codec.decoding_table['143,231,200'] = [38810] let s:lib.Codec.decoding_table['143,231,201'] = [38814] let s:lib.Codec.decoding_table['143,231,202'] = [38815] let s:lib.Codec.decoding_table['143,231,203'] = [38818] let s:lib.Codec.decoding_table['143,231,204'] = [38828] let s:lib.Codec.decoding_table['143,231,205'] = [38830] let s:lib.Codec.decoding_table['143,231,206'] = [38833] let s:lib.Codec.decoding_table['143,231,207'] = [38834] let s:lib.Codec.decoding_table['143,231,208'] = [38837] let s:lib.Codec.decoding_table['143,231,209'] = [38838] let s:lib.Codec.decoding_table['143,231,210'] = [38840] let s:lib.Codec.decoding_table['143,231,211'] = [38841] let s:lib.Codec.decoding_table['143,231,212'] = [38842] let s:lib.Codec.decoding_table['143,231,213'] = [38844] let s:lib.Codec.decoding_table['143,231,214'] = [38846] let s:lib.Codec.decoding_table['143,231,215'] = [38847] let s:lib.Codec.decoding_table['143,231,216'] = [38849] let s:lib.Codec.decoding_table['143,231,217'] = [38852] let s:lib.Codec.decoding_table['143,231,218'] = [38853] let s:lib.Codec.decoding_table['143,231,219'] = [38855] let s:lib.Codec.decoding_table['143,231,220'] = [38857] let s:lib.Codec.decoding_table['143,231,221'] = [38858] let s:lib.Codec.decoding_table['143,231,222'] = [38860] let s:lib.Codec.decoding_table['143,231,223'] = [38861] let s:lib.Codec.decoding_table['143,231,224'] = [38862] let s:lib.Codec.decoding_table['143,231,225'] = [38864] let s:lib.Codec.decoding_table['143,231,226'] = [38865] let s:lib.Codec.decoding_table['143,231,227'] = [38868] let s:lib.Codec.decoding_table['143,231,228'] = [38871] let s:lib.Codec.decoding_table['143,231,229'] = [38872] let s:lib.Codec.decoding_table['143,231,230'] = [38873] let s:lib.Codec.decoding_table['143,231,231'] = [38877] let s:lib.Codec.decoding_table['143,231,232'] = [38878] let s:lib.Codec.decoding_table['143,231,233'] = [38880] let s:lib.Codec.decoding_table['143,231,234'] = [38875] let s:lib.Codec.decoding_table['143,231,235'] = [38881] let s:lib.Codec.decoding_table['143,231,236'] = [38884] let s:lib.Codec.decoding_table['143,231,237'] = [38895] let s:lib.Codec.decoding_table['143,231,238'] = [38897] let s:lib.Codec.decoding_table['143,231,239'] = [38900] let s:lib.Codec.decoding_table['143,231,240'] = [38903] let s:lib.Codec.decoding_table['143,231,241'] = [38904] let s:lib.Codec.decoding_table['143,231,242'] = [38906] let s:lib.Codec.decoding_table['143,231,243'] = [38919] let s:lib.Codec.decoding_table['143,231,244'] = [38922] let s:lib.Codec.decoding_table['143,231,245'] = [38937] let s:lib.Codec.decoding_table['143,231,246'] = [38925] let s:lib.Codec.decoding_table['143,231,247'] = [38926] let s:lib.Codec.decoding_table['143,231,248'] = [38932] let s:lib.Codec.decoding_table['143,231,249'] = [38934] let s:lib.Codec.decoding_table['143,231,250'] = [38940] let s:lib.Codec.decoding_table['143,231,251'] = [38942] let s:lib.Codec.decoding_table['143,231,252'] = [38944] let s:lib.Codec.decoding_table['143,231,253'] = [38947] let s:lib.Codec.decoding_table['143,231,254'] = [38950] let s:lib.Codec.decoding_table['143,232,161'] = [38955] let s:lib.Codec.decoding_table['143,232,162'] = [38958] let s:lib.Codec.decoding_table['143,232,163'] = [38959] let s:lib.Codec.decoding_table['143,232,164'] = [38960] let s:lib.Codec.decoding_table['143,232,165'] = [38962] let s:lib.Codec.decoding_table['143,232,166'] = [38963] let s:lib.Codec.decoding_table['143,232,167'] = [38965] let s:lib.Codec.decoding_table['143,232,168'] = [38949] let s:lib.Codec.decoding_table['143,232,169'] = [38974] let s:lib.Codec.decoding_table['143,232,170'] = [38980] let s:lib.Codec.decoding_table['143,232,171'] = [38983] let s:lib.Codec.decoding_table['143,232,172'] = [38986] let s:lib.Codec.decoding_table['143,232,173'] = [38993] let s:lib.Codec.decoding_table['143,232,174'] = [38994] let s:lib.Codec.decoding_table['143,232,175'] = [38995] let s:lib.Codec.decoding_table['143,232,176'] = [38998] let s:lib.Codec.decoding_table['143,232,177'] = [38999] let s:lib.Codec.decoding_table['143,232,178'] = [39001] let s:lib.Codec.decoding_table['143,232,179'] = [39002] let s:lib.Codec.decoding_table['143,232,180'] = [39010] let s:lib.Codec.decoding_table['143,232,181'] = [39011] let s:lib.Codec.decoding_table['143,232,182'] = [39013] let s:lib.Codec.decoding_table['143,232,183'] = [39014] let s:lib.Codec.decoding_table['143,232,184'] = [39018] let s:lib.Codec.decoding_table['143,232,185'] = [39020] let s:lib.Codec.decoding_table['143,232,186'] = [39083] let s:lib.Codec.decoding_table['143,232,187'] = [39085] let s:lib.Codec.decoding_table['143,232,188'] = [39086] let s:lib.Codec.decoding_table['143,232,189'] = [39088] let s:lib.Codec.decoding_table['143,232,190'] = [39092] let s:lib.Codec.decoding_table['143,232,191'] = [39095] let s:lib.Codec.decoding_table['143,232,192'] = [39096] let s:lib.Codec.decoding_table['143,232,193'] = [39098] let s:lib.Codec.decoding_table['143,232,194'] = [39099] let s:lib.Codec.decoding_table['143,232,195'] = [39103] let s:lib.Codec.decoding_table['143,232,196'] = [39106] let s:lib.Codec.decoding_table['143,232,197'] = [39109] let s:lib.Codec.decoding_table['143,232,198'] = [39112] let s:lib.Codec.decoding_table['143,232,199'] = [39116] let s:lib.Codec.decoding_table['143,232,200'] = [39137] let s:lib.Codec.decoding_table['143,232,201'] = [39139] let s:lib.Codec.decoding_table['143,232,202'] = [39141] let s:lib.Codec.decoding_table['143,232,203'] = [39142] let s:lib.Codec.decoding_table['143,232,204'] = [39143] let s:lib.Codec.decoding_table['143,232,205'] = [39146] let s:lib.Codec.decoding_table['143,232,206'] = [39155] let s:lib.Codec.decoding_table['143,232,207'] = [39158] let s:lib.Codec.decoding_table['143,232,208'] = [39170] let s:lib.Codec.decoding_table['143,232,209'] = [39175] let s:lib.Codec.decoding_table['143,232,210'] = [39176] let s:lib.Codec.decoding_table['143,232,211'] = [39185] let s:lib.Codec.decoding_table['143,232,212'] = [39189] let s:lib.Codec.decoding_table['143,232,213'] = [39190] let s:lib.Codec.decoding_table['143,232,214'] = [39191] let s:lib.Codec.decoding_table['143,232,215'] = [39194] let s:lib.Codec.decoding_table['143,232,216'] = [39195] let s:lib.Codec.decoding_table['143,232,217'] = [39196] let s:lib.Codec.decoding_table['143,232,218'] = [39199] let s:lib.Codec.decoding_table['143,232,219'] = [39202] let s:lib.Codec.decoding_table['143,232,220'] = [39206] let s:lib.Codec.decoding_table['143,232,221'] = [39207] let s:lib.Codec.decoding_table['143,232,222'] = [39211] let s:lib.Codec.decoding_table['143,232,223'] = [39217] let s:lib.Codec.decoding_table['143,232,224'] = [39218] let s:lib.Codec.decoding_table['143,232,225'] = [39219] let s:lib.Codec.decoding_table['143,232,226'] = [39220] let s:lib.Codec.decoding_table['143,232,227'] = [39221] let s:lib.Codec.decoding_table['143,232,228'] = [39225] let s:lib.Codec.decoding_table['143,232,229'] = [39226] let s:lib.Codec.decoding_table['143,232,230'] = [39227] let s:lib.Codec.decoding_table['143,232,231'] = [39228] let s:lib.Codec.decoding_table['143,232,232'] = [39232] let s:lib.Codec.decoding_table['143,232,233'] = [39233] let s:lib.Codec.decoding_table['143,232,234'] = [39238] let s:lib.Codec.decoding_table['143,232,235'] = [39239] let s:lib.Codec.decoding_table['143,232,236'] = [39240] let s:lib.Codec.decoding_table['143,232,237'] = [39245] let s:lib.Codec.decoding_table['143,232,238'] = [39246] let s:lib.Codec.decoding_table['143,232,239'] = [39252] let s:lib.Codec.decoding_table['143,232,240'] = [39256] let s:lib.Codec.decoding_table['143,232,241'] = [39257] let s:lib.Codec.decoding_table['143,232,242'] = [39259] let s:lib.Codec.decoding_table['143,232,243'] = [39260] let s:lib.Codec.decoding_table['143,232,244'] = [39262] let s:lib.Codec.decoding_table['143,232,245'] = [39263] let s:lib.Codec.decoding_table['143,232,246'] = [39264] let s:lib.Codec.decoding_table['143,232,247'] = [39323] let s:lib.Codec.decoding_table['143,232,248'] = [39325] let s:lib.Codec.decoding_table['143,232,249'] = [39327] let s:lib.Codec.decoding_table['143,232,250'] = [39334] let s:lib.Codec.decoding_table['143,232,251'] = [39344] let s:lib.Codec.decoding_table['143,232,252'] = [39345] let s:lib.Codec.decoding_table['143,232,253'] = [39346] let s:lib.Codec.decoding_table['143,232,254'] = [39349] let s:lib.Codec.decoding_table['143,233,161'] = [39353] let s:lib.Codec.decoding_table['143,233,162'] = [39354] let s:lib.Codec.decoding_table['143,233,163'] = [39357] let s:lib.Codec.decoding_table['143,233,164'] = [39359] let s:lib.Codec.decoding_table['143,233,165'] = [39363] let s:lib.Codec.decoding_table['143,233,166'] = [39369] let s:lib.Codec.decoding_table['143,233,167'] = [39379] let s:lib.Codec.decoding_table['143,233,168'] = [39380] let s:lib.Codec.decoding_table['143,233,169'] = [39385] let s:lib.Codec.decoding_table['143,233,170'] = [39386] let s:lib.Codec.decoding_table['143,233,171'] = [39388] let s:lib.Codec.decoding_table['143,233,172'] = [39390] let s:lib.Codec.decoding_table['143,233,173'] = [39399] let s:lib.Codec.decoding_table['143,233,174'] = [39402] let s:lib.Codec.decoding_table['143,233,175'] = [39403] let s:lib.Codec.decoding_table['143,233,176'] = [39404] let s:lib.Codec.decoding_table['143,233,177'] = [39408] let s:lib.Codec.decoding_table['143,233,178'] = [39412] let s:lib.Codec.decoding_table['143,233,179'] = [39413] let s:lib.Codec.decoding_table['143,233,180'] = [39417] let s:lib.Codec.decoding_table['143,233,181'] = [39421] let s:lib.Codec.decoding_table['143,233,182'] = [39422] let s:lib.Codec.decoding_table['143,233,183'] = [39426] let s:lib.Codec.decoding_table['143,233,184'] = [39427] let s:lib.Codec.decoding_table['143,233,185'] = [39428] let s:lib.Codec.decoding_table['143,233,186'] = [39435] let s:lib.Codec.decoding_table['143,233,187'] = [39436] let s:lib.Codec.decoding_table['143,233,188'] = [39440] let s:lib.Codec.decoding_table['143,233,189'] = [39441] let s:lib.Codec.decoding_table['143,233,190'] = [39446] let s:lib.Codec.decoding_table['143,233,191'] = [39454] let s:lib.Codec.decoding_table['143,233,192'] = [39456] let s:lib.Codec.decoding_table['143,233,193'] = [39458] let s:lib.Codec.decoding_table['143,233,194'] = [39459] let s:lib.Codec.decoding_table['143,233,195'] = [39460] let s:lib.Codec.decoding_table['143,233,196'] = [39463] let s:lib.Codec.decoding_table['143,233,197'] = [39469] let s:lib.Codec.decoding_table['143,233,198'] = [39470] let s:lib.Codec.decoding_table['143,233,199'] = [39475] let s:lib.Codec.decoding_table['143,233,200'] = [39477] let s:lib.Codec.decoding_table['143,233,201'] = [39478] let s:lib.Codec.decoding_table['143,233,202'] = [39480] let s:lib.Codec.decoding_table['143,233,203'] = [39495] let s:lib.Codec.decoding_table['143,233,204'] = [39489] let s:lib.Codec.decoding_table['143,233,205'] = [39492] let s:lib.Codec.decoding_table['143,233,206'] = [39498] let s:lib.Codec.decoding_table['143,233,207'] = [39499] let s:lib.Codec.decoding_table['143,233,208'] = [39500] let s:lib.Codec.decoding_table['143,233,209'] = [39502] let s:lib.Codec.decoding_table['143,233,210'] = [39505] let s:lib.Codec.decoding_table['143,233,211'] = [39508] let s:lib.Codec.decoding_table['143,233,212'] = [39510] let s:lib.Codec.decoding_table['143,233,213'] = [39517] let s:lib.Codec.decoding_table['143,233,214'] = [39594] let s:lib.Codec.decoding_table['143,233,215'] = [39596] let s:lib.Codec.decoding_table['143,233,216'] = [39598] let s:lib.Codec.decoding_table['143,233,217'] = [39599] let s:lib.Codec.decoding_table['143,233,218'] = [39602] let s:lib.Codec.decoding_table['143,233,219'] = [39604] let s:lib.Codec.decoding_table['143,233,220'] = [39605] let s:lib.Codec.decoding_table['143,233,221'] = [39606] let s:lib.Codec.decoding_table['143,233,222'] = [39609] let s:lib.Codec.decoding_table['143,233,223'] = [39611] let s:lib.Codec.decoding_table['143,233,224'] = [39614] let s:lib.Codec.decoding_table['143,233,225'] = [39615] let s:lib.Codec.decoding_table['143,233,226'] = [39617] let s:lib.Codec.decoding_table['143,233,227'] = [39619] let s:lib.Codec.decoding_table['143,233,228'] = [39622] let s:lib.Codec.decoding_table['143,233,229'] = [39624] let s:lib.Codec.decoding_table['143,233,230'] = [39630] let s:lib.Codec.decoding_table['143,233,231'] = [39632] let s:lib.Codec.decoding_table['143,233,232'] = [39634] let s:lib.Codec.decoding_table['143,233,233'] = [39637] let s:lib.Codec.decoding_table['143,233,234'] = [39638] let s:lib.Codec.decoding_table['143,233,235'] = [39639] let s:lib.Codec.decoding_table['143,233,236'] = [39643] let s:lib.Codec.decoding_table['143,233,237'] = [39644] let s:lib.Codec.decoding_table['143,233,238'] = [39648] let s:lib.Codec.decoding_table['143,233,239'] = [39652] let s:lib.Codec.decoding_table['143,233,240'] = [39653] let s:lib.Codec.decoding_table['143,233,241'] = [39655] let s:lib.Codec.decoding_table['143,233,242'] = [39657] let s:lib.Codec.decoding_table['143,233,243'] = [39660] let s:lib.Codec.decoding_table['143,233,244'] = [39666] let s:lib.Codec.decoding_table['143,233,245'] = [39667] let s:lib.Codec.decoding_table['143,233,246'] = [39669] let s:lib.Codec.decoding_table['143,233,247'] = [39673] let s:lib.Codec.decoding_table['143,233,248'] = [39674] let s:lib.Codec.decoding_table['143,233,249'] = [39677] let s:lib.Codec.decoding_table['143,233,250'] = [39679] let s:lib.Codec.decoding_table['143,233,251'] = [39680] let s:lib.Codec.decoding_table['143,233,252'] = [39681] let s:lib.Codec.decoding_table['143,233,253'] = [39682] let s:lib.Codec.decoding_table['143,233,254'] = [39683] let s:lib.Codec.decoding_table['143,234,161'] = [39684] let s:lib.Codec.decoding_table['143,234,162'] = [39685] let s:lib.Codec.decoding_table['143,234,163'] = [39688] let s:lib.Codec.decoding_table['143,234,164'] = [39689] let s:lib.Codec.decoding_table['143,234,165'] = [39691] let s:lib.Codec.decoding_table['143,234,166'] = [39692] let s:lib.Codec.decoding_table['143,234,167'] = [39693] let s:lib.Codec.decoding_table['143,234,168'] = [39694] let s:lib.Codec.decoding_table['143,234,169'] = [39696] let s:lib.Codec.decoding_table['143,234,170'] = [39698] let s:lib.Codec.decoding_table['143,234,171'] = [39702] let s:lib.Codec.decoding_table['143,234,172'] = [39705] let s:lib.Codec.decoding_table['143,234,173'] = [39707] let s:lib.Codec.decoding_table['143,234,174'] = [39708] let s:lib.Codec.decoding_table['143,234,175'] = [39712] let s:lib.Codec.decoding_table['143,234,176'] = [39718] let s:lib.Codec.decoding_table['143,234,177'] = [39723] let s:lib.Codec.decoding_table['143,234,178'] = [39725] let s:lib.Codec.decoding_table['143,234,179'] = [39731] let s:lib.Codec.decoding_table['143,234,180'] = [39732] let s:lib.Codec.decoding_table['143,234,181'] = [39733] let s:lib.Codec.decoding_table['143,234,182'] = [39735] let s:lib.Codec.decoding_table['143,234,183'] = [39737] let s:lib.Codec.decoding_table['143,234,184'] = [39738] let s:lib.Codec.decoding_table['143,234,185'] = [39741] let s:lib.Codec.decoding_table['143,234,186'] = [39752] let s:lib.Codec.decoding_table['143,234,187'] = [39755] let s:lib.Codec.decoding_table['143,234,188'] = [39756] let s:lib.Codec.decoding_table['143,234,189'] = [39765] let s:lib.Codec.decoding_table['143,234,190'] = [39766] let s:lib.Codec.decoding_table['143,234,191'] = [39767] let s:lib.Codec.decoding_table['143,234,192'] = [39771] let s:lib.Codec.decoding_table['143,234,193'] = [39774] let s:lib.Codec.decoding_table['143,234,194'] = [39777] let s:lib.Codec.decoding_table['143,234,195'] = [39779] let s:lib.Codec.decoding_table['143,234,196'] = [39781] let s:lib.Codec.decoding_table['143,234,197'] = [39782] let s:lib.Codec.decoding_table['143,234,198'] = [39784] let s:lib.Codec.decoding_table['143,234,199'] = [39786] let s:lib.Codec.decoding_table['143,234,200'] = [39787] let s:lib.Codec.decoding_table['143,234,201'] = [39788] let s:lib.Codec.decoding_table['143,234,202'] = [39789] let s:lib.Codec.decoding_table['143,234,203'] = [39790] let s:lib.Codec.decoding_table['143,234,204'] = [39795] let s:lib.Codec.decoding_table['143,234,205'] = [39797] let s:lib.Codec.decoding_table['143,234,206'] = [39799] let s:lib.Codec.decoding_table['143,234,207'] = [39800] let s:lib.Codec.decoding_table['143,234,208'] = [39801] let s:lib.Codec.decoding_table['143,234,209'] = [39807] let s:lib.Codec.decoding_table['143,234,210'] = [39808] let s:lib.Codec.decoding_table['143,234,211'] = [39812] let s:lib.Codec.decoding_table['143,234,212'] = [39813] let s:lib.Codec.decoding_table['143,234,213'] = [39814] let s:lib.Codec.decoding_table['143,234,214'] = [39815] let s:lib.Codec.decoding_table['143,234,215'] = [39817] let s:lib.Codec.decoding_table['143,234,216'] = [39818] let s:lib.Codec.decoding_table['143,234,217'] = [39819] let s:lib.Codec.decoding_table['143,234,218'] = [39821] let s:lib.Codec.decoding_table['143,234,219'] = [39823] let s:lib.Codec.decoding_table['143,234,220'] = [39824] let s:lib.Codec.decoding_table['143,234,221'] = [39828] let s:lib.Codec.decoding_table['143,234,222'] = [39834] let s:lib.Codec.decoding_table['143,234,223'] = [39837] let s:lib.Codec.decoding_table['143,234,224'] = [39838] let s:lib.Codec.decoding_table['143,234,225'] = [39846] let s:lib.Codec.decoding_table['143,234,226'] = [39847] let s:lib.Codec.decoding_table['143,234,227'] = [39849] let s:lib.Codec.decoding_table['143,234,228'] = [39852] let s:lib.Codec.decoding_table['143,234,229'] = [39856] let s:lib.Codec.decoding_table['143,234,230'] = [39857] let s:lib.Codec.decoding_table['143,234,231'] = [39858] let s:lib.Codec.decoding_table['143,234,232'] = [39863] let s:lib.Codec.decoding_table['143,234,233'] = [39864] let s:lib.Codec.decoding_table['143,234,234'] = [39867] let s:lib.Codec.decoding_table['143,234,235'] = [39868] let s:lib.Codec.decoding_table['143,234,236'] = [39870] let s:lib.Codec.decoding_table['143,234,237'] = [39871] let s:lib.Codec.decoding_table['143,234,238'] = [39873] let s:lib.Codec.decoding_table['143,234,239'] = [39879] let s:lib.Codec.decoding_table['143,234,240'] = [39880] let s:lib.Codec.decoding_table['143,234,241'] = [39886] let s:lib.Codec.decoding_table['143,234,242'] = [39888] let s:lib.Codec.decoding_table['143,234,243'] = [39895] let s:lib.Codec.decoding_table['143,234,244'] = [39896] let s:lib.Codec.decoding_table['143,234,245'] = [39901] let s:lib.Codec.decoding_table['143,234,246'] = [39903] let s:lib.Codec.decoding_table['143,234,247'] = [39909] let s:lib.Codec.decoding_table['143,234,248'] = [39911] let s:lib.Codec.decoding_table['143,234,249'] = [39914] let s:lib.Codec.decoding_table['143,234,250'] = [39915] let s:lib.Codec.decoding_table['143,234,251'] = [39919] let s:lib.Codec.decoding_table['143,234,252'] = [39923] let s:lib.Codec.decoding_table['143,234,253'] = [39927] let s:lib.Codec.decoding_table['143,234,254'] = [39928] let s:lib.Codec.decoding_table['143,235,161'] = [39929] let s:lib.Codec.decoding_table['143,235,162'] = [39930] let s:lib.Codec.decoding_table['143,235,163'] = [39933] let s:lib.Codec.decoding_table['143,235,164'] = [39935] let s:lib.Codec.decoding_table['143,235,165'] = [39936] let s:lib.Codec.decoding_table['143,235,166'] = [39938] let s:lib.Codec.decoding_table['143,235,167'] = [39947] let s:lib.Codec.decoding_table['143,235,168'] = [39951] let s:lib.Codec.decoding_table['143,235,169'] = [39953] let s:lib.Codec.decoding_table['143,235,170'] = [39958] let s:lib.Codec.decoding_table['143,235,171'] = [39960] let s:lib.Codec.decoding_table['143,235,172'] = [39961] let s:lib.Codec.decoding_table['143,235,173'] = [39962] let s:lib.Codec.decoding_table['143,235,174'] = [39964] let s:lib.Codec.decoding_table['143,235,175'] = [39966] let s:lib.Codec.decoding_table['143,235,176'] = [39970] let s:lib.Codec.decoding_table['143,235,177'] = [39971] let s:lib.Codec.decoding_table['143,235,178'] = [39974] let s:lib.Codec.decoding_table['143,235,179'] = [39975] let s:lib.Codec.decoding_table['143,235,180'] = [39976] let s:lib.Codec.decoding_table['143,235,181'] = [39977] let s:lib.Codec.decoding_table['143,235,182'] = [39978] let s:lib.Codec.decoding_table['143,235,183'] = [39985] let s:lib.Codec.decoding_table['143,235,184'] = [39989] let s:lib.Codec.decoding_table['143,235,185'] = [39990] let s:lib.Codec.decoding_table['143,235,186'] = [39991] let s:lib.Codec.decoding_table['143,235,187'] = [39997] let s:lib.Codec.decoding_table['143,235,188'] = [40001] let s:lib.Codec.decoding_table['143,235,189'] = [40003] let s:lib.Codec.decoding_table['143,235,190'] = [40004] let s:lib.Codec.decoding_table['143,235,191'] = [40005] let s:lib.Codec.decoding_table['143,235,192'] = [40009] let s:lib.Codec.decoding_table['143,235,193'] = [40010] let s:lib.Codec.decoding_table['143,235,194'] = [40014] let s:lib.Codec.decoding_table['143,235,195'] = [40015] let s:lib.Codec.decoding_table['143,235,196'] = [40016] let s:lib.Codec.decoding_table['143,235,197'] = [40019] let s:lib.Codec.decoding_table['143,235,198'] = [40020] let s:lib.Codec.decoding_table['143,235,199'] = [40022] let s:lib.Codec.decoding_table['143,235,200'] = [40024] let s:lib.Codec.decoding_table['143,235,201'] = [40027] let s:lib.Codec.decoding_table['143,235,202'] = [40029] let s:lib.Codec.decoding_table['143,235,203'] = [40030] let s:lib.Codec.decoding_table['143,235,204'] = [40031] let s:lib.Codec.decoding_table['143,235,205'] = [40035] let s:lib.Codec.decoding_table['143,235,206'] = [40041] let s:lib.Codec.decoding_table['143,235,207'] = [40042] let s:lib.Codec.decoding_table['143,235,208'] = [40028] let s:lib.Codec.decoding_table['143,235,209'] = [40043] let s:lib.Codec.decoding_table['143,235,210'] = [40040] let s:lib.Codec.decoding_table['143,235,211'] = [40046] let s:lib.Codec.decoding_table['143,235,212'] = [40048] let s:lib.Codec.decoding_table['143,235,213'] = [40050] let s:lib.Codec.decoding_table['143,235,214'] = [40053] let s:lib.Codec.decoding_table['143,235,215'] = [40055] let s:lib.Codec.decoding_table['143,235,216'] = [40059] let s:lib.Codec.decoding_table['143,235,217'] = [40166] let s:lib.Codec.decoding_table['143,235,218'] = [40178] let s:lib.Codec.decoding_table['143,235,219'] = [40183] let s:lib.Codec.decoding_table['143,235,220'] = [40185] let s:lib.Codec.decoding_table['143,235,221'] = [40203] let s:lib.Codec.decoding_table['143,235,222'] = [40194] let s:lib.Codec.decoding_table['143,235,223'] = [40209] let s:lib.Codec.decoding_table['143,235,224'] = [40215] let s:lib.Codec.decoding_table['143,235,225'] = [40216] let s:lib.Codec.decoding_table['143,235,226'] = [40220] let s:lib.Codec.decoding_table['143,235,227'] = [40221] let s:lib.Codec.decoding_table['143,235,228'] = [40222] let s:lib.Codec.decoding_table['143,235,229'] = [40239] let s:lib.Codec.decoding_table['143,235,230'] = [40240] let s:lib.Codec.decoding_table['143,235,231'] = [40242] let s:lib.Codec.decoding_table['143,235,232'] = [40243] let s:lib.Codec.decoding_table['143,235,233'] = [40244] let s:lib.Codec.decoding_table['143,235,234'] = [40250] let s:lib.Codec.decoding_table['143,235,235'] = [40252] let s:lib.Codec.decoding_table['143,235,236'] = [40261] let s:lib.Codec.decoding_table['143,235,237'] = [40253] let s:lib.Codec.decoding_table['143,235,238'] = [40258] let s:lib.Codec.decoding_table['143,235,239'] = [40259] let s:lib.Codec.decoding_table['143,235,240'] = [40263] let s:lib.Codec.decoding_table['143,235,241'] = [40266] let s:lib.Codec.decoding_table['143,235,242'] = [40275] let s:lib.Codec.decoding_table['143,235,243'] = [40276] let s:lib.Codec.decoding_table['143,235,244'] = [40287] let s:lib.Codec.decoding_table['143,235,245'] = [40291] let s:lib.Codec.decoding_table['143,235,246'] = [40290] let s:lib.Codec.decoding_table['143,235,247'] = [40293] let s:lib.Codec.decoding_table['143,235,248'] = [40297] let s:lib.Codec.decoding_table['143,235,249'] = [40298] let s:lib.Codec.decoding_table['143,235,250'] = [40299] let s:lib.Codec.decoding_table['143,235,251'] = [40304] let s:lib.Codec.decoding_table['143,235,252'] = [40310] let s:lib.Codec.decoding_table['143,235,253'] = [40311] let s:lib.Codec.decoding_table['143,235,254'] = [40315] let s:lib.Codec.decoding_table['143,236,161'] = [40316] let s:lib.Codec.decoding_table['143,236,162'] = [40318] let s:lib.Codec.decoding_table['143,236,163'] = [40323] let s:lib.Codec.decoding_table['143,236,164'] = [40324] let s:lib.Codec.decoding_table['143,236,165'] = [40326] let s:lib.Codec.decoding_table['143,236,166'] = [40330] let s:lib.Codec.decoding_table['143,236,167'] = [40333] let s:lib.Codec.decoding_table['143,236,168'] = [40334] let s:lib.Codec.decoding_table['143,236,169'] = [40338] let s:lib.Codec.decoding_table['143,236,170'] = [40339] let s:lib.Codec.decoding_table['143,236,171'] = [40341] let s:lib.Codec.decoding_table['143,236,172'] = [40342] let s:lib.Codec.decoding_table['143,236,173'] = [40343] let s:lib.Codec.decoding_table['143,236,174'] = [40344] let s:lib.Codec.decoding_table['143,236,175'] = [40353] let s:lib.Codec.decoding_table['143,236,176'] = [40362] let s:lib.Codec.decoding_table['143,236,177'] = [40364] let s:lib.Codec.decoding_table['143,236,178'] = [40366] let s:lib.Codec.decoding_table['143,236,179'] = [40369] let s:lib.Codec.decoding_table['143,236,180'] = [40373] let s:lib.Codec.decoding_table['143,236,181'] = [40377] let s:lib.Codec.decoding_table['143,236,182'] = [40380] let s:lib.Codec.decoding_table['143,236,183'] = [40383] let s:lib.Codec.decoding_table['143,236,184'] = [40387] let s:lib.Codec.decoding_table['143,236,185'] = [40391] let s:lib.Codec.decoding_table['143,236,186'] = [40393] let s:lib.Codec.decoding_table['143,236,187'] = [40394] let s:lib.Codec.decoding_table['143,236,188'] = [40404] let s:lib.Codec.decoding_table['143,236,189'] = [40405] let s:lib.Codec.decoding_table['143,236,190'] = [40406] let s:lib.Codec.decoding_table['143,236,191'] = [40407] let s:lib.Codec.decoding_table['143,236,192'] = [40410] let s:lib.Codec.decoding_table['143,236,193'] = [40414] let s:lib.Codec.decoding_table['143,236,194'] = [40415] let s:lib.Codec.decoding_table['143,236,195'] = [40416] let s:lib.Codec.decoding_table['143,236,196'] = [40421] let s:lib.Codec.decoding_table['143,236,197'] = [40423] let s:lib.Codec.decoding_table['143,236,198'] = [40425] let s:lib.Codec.decoding_table['143,236,199'] = [40427] let s:lib.Codec.decoding_table['143,236,200'] = [40430] let s:lib.Codec.decoding_table['143,236,201'] = [40432] let s:lib.Codec.decoding_table['143,236,202'] = [40435] let s:lib.Codec.decoding_table['143,236,203'] = [40436] let s:lib.Codec.decoding_table['143,236,204'] = [40446] let s:lib.Codec.decoding_table['143,236,205'] = [40458] let s:lib.Codec.decoding_table['143,236,206'] = [40450] let s:lib.Codec.decoding_table['143,236,207'] = [40455] let s:lib.Codec.decoding_table['143,236,208'] = [40462] let s:lib.Codec.decoding_table['143,236,209'] = [40464] let s:lib.Codec.decoding_table['143,236,210'] = [40465] let s:lib.Codec.decoding_table['143,236,211'] = [40466] let s:lib.Codec.decoding_table['143,236,212'] = [40469] let s:lib.Codec.decoding_table['143,236,213'] = [40470] let s:lib.Codec.decoding_table['143,236,214'] = [40473] let s:lib.Codec.decoding_table['143,236,215'] = [40476] let s:lib.Codec.decoding_table['143,236,216'] = [40477] let s:lib.Codec.decoding_table['143,236,217'] = [40570] let s:lib.Codec.decoding_table['143,236,218'] = [40571] let s:lib.Codec.decoding_table['143,236,219'] = [40572] let s:lib.Codec.decoding_table['143,236,220'] = [40576] let s:lib.Codec.decoding_table['143,236,221'] = [40578] let s:lib.Codec.decoding_table['143,236,222'] = [40579] let s:lib.Codec.decoding_table['143,236,223'] = [40580] let s:lib.Codec.decoding_table['143,236,224'] = [40581] let s:lib.Codec.decoding_table['143,236,225'] = [40583] let s:lib.Codec.decoding_table['143,236,226'] = [40590] let s:lib.Codec.decoding_table['143,236,227'] = [40591] let s:lib.Codec.decoding_table['143,236,228'] = [40598] let s:lib.Codec.decoding_table['143,236,229'] = [40600] let s:lib.Codec.decoding_table['143,236,230'] = [40603] let s:lib.Codec.decoding_table['143,236,231'] = [40606] let s:lib.Codec.decoding_table['143,236,232'] = [40612] let s:lib.Codec.decoding_table['143,236,233'] = [40616] let s:lib.Codec.decoding_table['143,236,234'] = [40620] let s:lib.Codec.decoding_table['143,236,235'] = [40622] let s:lib.Codec.decoding_table['143,236,236'] = [40623] let s:lib.Codec.decoding_table['143,236,237'] = [40624] let s:lib.Codec.decoding_table['143,236,238'] = [40627] let s:lib.Codec.decoding_table['143,236,239'] = [40628] let s:lib.Codec.decoding_table['143,236,240'] = [40629] let s:lib.Codec.decoding_table['143,236,241'] = [40646] let s:lib.Codec.decoding_table['143,236,242'] = [40648] let s:lib.Codec.decoding_table['143,236,243'] = [40651] let s:lib.Codec.decoding_table['143,236,244'] = [40661] let s:lib.Codec.decoding_table['143,236,245'] = [40671] let s:lib.Codec.decoding_table['143,236,246'] = [40676] let s:lib.Codec.decoding_table['143,236,247'] = [40679] let s:lib.Codec.decoding_table['143,236,248'] = [40684] let s:lib.Codec.decoding_table['143,236,249'] = [40685] let s:lib.Codec.decoding_table['143,236,250'] = [40686] let s:lib.Codec.decoding_table['143,236,251'] = [40688] let s:lib.Codec.decoding_table['143,236,252'] = [40689] let s:lib.Codec.decoding_table['143,236,253'] = [40690] let s:lib.Codec.decoding_table['143,236,254'] = [40693] let s:lib.Codec.decoding_table['143,237,161'] = [40696] let s:lib.Codec.decoding_table['143,237,162'] = [40703] let s:lib.Codec.decoding_table['143,237,163'] = [40706] let s:lib.Codec.decoding_table['143,237,164'] = [40707] let s:lib.Codec.decoding_table['143,237,165'] = [40713] let s:lib.Codec.decoding_table['143,237,166'] = [40719] let s:lib.Codec.decoding_table['143,237,167'] = [40720] let s:lib.Codec.decoding_table['143,237,168'] = [40721] let s:lib.Codec.decoding_table['143,237,169'] = [40722] let s:lib.Codec.decoding_table['143,237,170'] = [40724] let s:lib.Codec.decoding_table['143,237,171'] = [40726] let s:lib.Codec.decoding_table['143,237,172'] = [40727] let s:lib.Codec.decoding_table['143,237,173'] = [40729] let s:lib.Codec.decoding_table['143,237,174'] = [40730] let s:lib.Codec.decoding_table['143,237,175'] = [40731] let s:lib.Codec.decoding_table['143,237,176'] = [40735] let s:lib.Codec.decoding_table['143,237,177'] = [40738] let s:lib.Codec.decoding_table['143,237,178'] = [40742] let s:lib.Codec.decoding_table['143,237,179'] = [40746] let s:lib.Codec.decoding_table['143,237,180'] = [40747] let s:lib.Codec.decoding_table['143,237,181'] = [40751] let s:lib.Codec.decoding_table['143,237,182'] = [40753] let s:lib.Codec.decoding_table['143,237,183'] = [40754] let s:lib.Codec.decoding_table['143,237,184'] = [40756] let s:lib.Codec.decoding_table['143,237,185'] = [40759] let s:lib.Codec.decoding_table['143,237,186'] = [40761] let s:lib.Codec.decoding_table['143,237,187'] = [40762] let s:lib.Codec.decoding_table['143,237,188'] = [40764] let s:lib.Codec.decoding_table['143,237,189'] = [40765] let s:lib.Codec.decoding_table['143,237,190'] = [40767] let s:lib.Codec.decoding_table['143,237,191'] = [40769] let s:lib.Codec.decoding_table['143,237,192'] = [40771] let s:lib.Codec.decoding_table['143,237,193'] = [40772] let s:lib.Codec.decoding_table['143,237,194'] = [40773] let s:lib.Codec.decoding_table['143,237,195'] = [40774] let s:lib.Codec.decoding_table['143,237,196'] = [40775] let s:lib.Codec.decoding_table['143,237,197'] = [40787] let s:lib.Codec.decoding_table['143,237,198'] = [40789] let s:lib.Codec.decoding_table['143,237,199'] = [40790] let s:lib.Codec.decoding_table['143,237,200'] = [40791] let s:lib.Codec.decoding_table['143,237,201'] = [40792] let s:lib.Codec.decoding_table['143,237,202'] = [40794] let s:lib.Codec.decoding_table['143,237,203'] = [40797] let s:lib.Codec.decoding_table['143,237,204'] = [40798] let s:lib.Codec.decoding_table['143,237,205'] = [40808] let s:lib.Codec.decoding_table['143,237,206'] = [40809] let s:lib.Codec.decoding_table['143,237,207'] = [40813] let s:lib.Codec.decoding_table['143,237,208'] = [40814] let s:lib.Codec.decoding_table['143,237,209'] = [40815] let s:lib.Codec.decoding_table['143,237,210'] = [40816] let s:lib.Codec.decoding_table['143,237,211'] = [40817] let s:lib.Codec.decoding_table['143,237,212'] = [40819] let s:lib.Codec.decoding_table['143,237,213'] = [40821] let s:lib.Codec.decoding_table['143,237,214'] = [40826] let s:lib.Codec.decoding_table['143,237,215'] = [40829] let s:lib.Codec.decoding_table['143,237,216'] = [40847] let s:lib.Codec.decoding_table['143,237,217'] = [40848] let s:lib.Codec.decoding_table['143,237,218'] = [40849] let s:lib.Codec.decoding_table['143,237,219'] = [40850] let s:lib.Codec.decoding_table['143,237,220'] = [40852] let s:lib.Codec.decoding_table['143,237,221'] = [40854] let s:lib.Codec.decoding_table['143,237,222'] = [40855] let s:lib.Codec.decoding_table['143,237,223'] = [40862] let s:lib.Codec.decoding_table['143,237,224'] = [40865] let s:lib.Codec.decoding_table['143,237,225'] = [40866] let s:lib.Codec.decoding_table['143,237,226'] = [40867] let s:lib.Codec.decoding_table['143,237,227'] = [40869] let s:lib.Codec.encoding_table = {} let s:lib.Codec.encoding_table['0'] = [0] let s:lib.Codec.encoding_table['1'] = [1] let s:lib.Codec.encoding_table['2'] = [2] let s:lib.Codec.encoding_table['3'] = [3] let s:lib.Codec.encoding_table['4'] = [4] let s:lib.Codec.encoding_table['5'] = [5] let s:lib.Codec.encoding_table['6'] = [6] let s:lib.Codec.encoding_table['7'] = [7] let s:lib.Codec.encoding_table['8'] = [8] let s:lib.Codec.encoding_table['9'] = [9] let s:lib.Codec.encoding_table['10'] = [10] let s:lib.Codec.encoding_table['11'] = [11] let s:lib.Codec.encoding_table['12'] = [12] let s:lib.Codec.encoding_table['13'] = [13] let s:lib.Codec.encoding_table['14'] = [14] let s:lib.Codec.encoding_table['15'] = [15] let s:lib.Codec.encoding_table['16'] = [16] let s:lib.Codec.encoding_table['17'] = [17] let s:lib.Codec.encoding_table['18'] = [18] let s:lib.Codec.encoding_table['19'] = [19] let s:lib.Codec.encoding_table['20'] = [20] let s:lib.Codec.encoding_table['21'] = [21] let s:lib.Codec.encoding_table['22'] = [22] let s:lib.Codec.encoding_table['23'] = [23] let s:lib.Codec.encoding_table['24'] = [24] let s:lib.Codec.encoding_table['25'] = [25] let s:lib.Codec.encoding_table['26'] = [26] let s:lib.Codec.encoding_table['27'] = [27] let s:lib.Codec.encoding_table['28'] = [28] let s:lib.Codec.encoding_table['29'] = [29] let s:lib.Codec.encoding_table['30'] = [30] let s:lib.Codec.encoding_table['31'] = [31] let s:lib.Codec.encoding_table['32'] = [32] let s:lib.Codec.encoding_table['33'] = [33] let s:lib.Codec.encoding_table['34'] = [34] let s:lib.Codec.encoding_table['35'] = [35] let s:lib.Codec.encoding_table['36'] = [36] let s:lib.Codec.encoding_table['37'] = [37] let s:lib.Codec.encoding_table['38'] = [38] let s:lib.Codec.encoding_table['39'] = [39] let s:lib.Codec.encoding_table['40'] = [40] let s:lib.Codec.encoding_table['41'] = [41] let s:lib.Codec.encoding_table['42'] = [42] let s:lib.Codec.encoding_table['43'] = [43] let s:lib.Codec.encoding_table['44'] = [44] let s:lib.Codec.encoding_table['45'] = [45] let s:lib.Codec.encoding_table['46'] = [46] let s:lib.Codec.encoding_table['47'] = [47] let s:lib.Codec.encoding_table['48'] = [48] let s:lib.Codec.encoding_table['49'] = [49] let s:lib.Codec.encoding_table['50'] = [50] let s:lib.Codec.encoding_table['51'] = [51] let s:lib.Codec.encoding_table['52'] = [52] let s:lib.Codec.encoding_table['53'] = [53] let s:lib.Codec.encoding_table['54'] = [54] let s:lib.Codec.encoding_table['55'] = [55] let s:lib.Codec.encoding_table['56'] = [56] let s:lib.Codec.encoding_table['57'] = [57] let s:lib.Codec.encoding_table['58'] = [58] let s:lib.Codec.encoding_table['59'] = [59] let s:lib.Codec.encoding_table['60'] = [60] let s:lib.Codec.encoding_table['61'] = [61] let s:lib.Codec.encoding_table['62'] = [62] let s:lib.Codec.encoding_table['63'] = [63] let s:lib.Codec.encoding_table['64'] = [64] let s:lib.Codec.encoding_table['65'] = [65] let s:lib.Codec.encoding_table['66'] = [66] let s:lib.Codec.encoding_table['67'] = [67] let s:lib.Codec.encoding_table['68'] = [68] let s:lib.Codec.encoding_table['69'] = [69] let s:lib.Codec.encoding_table['70'] = [70] let s:lib.Codec.encoding_table['71'] = [71] let s:lib.Codec.encoding_table['72'] = [72] let s:lib.Codec.encoding_table['73'] = [73] let s:lib.Codec.encoding_table['74'] = [74] let s:lib.Codec.encoding_table['75'] = [75] let s:lib.Codec.encoding_table['76'] = [76] let s:lib.Codec.encoding_table['77'] = [77] let s:lib.Codec.encoding_table['78'] = [78] let s:lib.Codec.encoding_table['79'] = [79] let s:lib.Codec.encoding_table['80'] = [80] let s:lib.Codec.encoding_table['81'] = [81] let s:lib.Codec.encoding_table['82'] = [82] let s:lib.Codec.encoding_table['83'] = [83] let s:lib.Codec.encoding_table['84'] = [84] let s:lib.Codec.encoding_table['85'] = [85] let s:lib.Codec.encoding_table['86'] = [86] let s:lib.Codec.encoding_table['87'] = [87] let s:lib.Codec.encoding_table['88'] = [88] let s:lib.Codec.encoding_table['89'] = [89] let s:lib.Codec.encoding_table['90'] = [90] let s:lib.Codec.encoding_table['91'] = [91] let s:lib.Codec.encoding_table['92'] = [92] let s:lib.Codec.encoding_table['93'] = [93] let s:lib.Codec.encoding_table['94'] = [94] let s:lib.Codec.encoding_table['95'] = [95] let s:lib.Codec.encoding_table['96'] = [96] let s:lib.Codec.encoding_table['97'] = [97] let s:lib.Codec.encoding_table['98'] = [98] let s:lib.Codec.encoding_table['99'] = [99] let s:lib.Codec.encoding_table['100'] = [100] let s:lib.Codec.encoding_table['101'] = [101] let s:lib.Codec.encoding_table['102'] = [102] let s:lib.Codec.encoding_table['103'] = [103] let s:lib.Codec.encoding_table['104'] = [104] let s:lib.Codec.encoding_table['105'] = [105] let s:lib.Codec.encoding_table['106'] = [106] let s:lib.Codec.encoding_table['107'] = [107] let s:lib.Codec.encoding_table['108'] = [108] let s:lib.Codec.encoding_table['109'] = [109] let s:lib.Codec.encoding_table['110'] = [110] let s:lib.Codec.encoding_table['111'] = [111] let s:lib.Codec.encoding_table['112'] = [112] let s:lib.Codec.encoding_table['113'] = [113] let s:lib.Codec.encoding_table['114'] = [114] let s:lib.Codec.encoding_table['115'] = [115] let s:lib.Codec.encoding_table['116'] = [116] let s:lib.Codec.encoding_table['117'] = [117] let s:lib.Codec.encoding_table['118'] = [118] let s:lib.Codec.encoding_table['119'] = [119] let s:lib.Codec.encoding_table['120'] = [120] let s:lib.Codec.encoding_table['121'] = [121] let s:lib.Codec.encoding_table['122'] = [122] let s:lib.Codec.encoding_table['123'] = [123] let s:lib.Codec.encoding_table['124'] = [124] let s:lib.Codec.encoding_table['125'] = [125] let s:lib.Codec.encoding_table['126'] = [126] let s:lib.Codec.encoding_table['127'] = [127] let s:lib.Codec.encoding_table['65377'] = [142,161] let s:lib.Codec.encoding_table['65378'] = [142,162] let s:lib.Codec.encoding_table['65379'] = [142,163] let s:lib.Codec.encoding_table['65380'] = [142,164] let s:lib.Codec.encoding_table['65381'] = [142,165] let s:lib.Codec.encoding_table['65382'] = [142,166] let s:lib.Codec.encoding_table['65383'] = [142,167] let s:lib.Codec.encoding_table['65384'] = [142,168] let s:lib.Codec.encoding_table['65385'] = [142,169] let s:lib.Codec.encoding_table['65386'] = [142,170] let s:lib.Codec.encoding_table['65387'] = [142,171] let s:lib.Codec.encoding_table['65388'] = [142,172] let s:lib.Codec.encoding_table['65389'] = [142,173] let s:lib.Codec.encoding_table['65390'] = [142,174] let s:lib.Codec.encoding_table['65391'] = [142,175] let s:lib.Codec.encoding_table['65392'] = [142,176] let s:lib.Codec.encoding_table['65393'] = [142,177] let s:lib.Codec.encoding_table['65394'] = [142,178] let s:lib.Codec.encoding_table['65395'] = [142,179] let s:lib.Codec.encoding_table['65396'] = [142,180] let s:lib.Codec.encoding_table['65397'] = [142,181] let s:lib.Codec.encoding_table['65398'] = [142,182] let s:lib.Codec.encoding_table['65399'] = [142,183] let s:lib.Codec.encoding_table['65400'] = [142,184] let s:lib.Codec.encoding_table['65401'] = [142,185] let s:lib.Codec.encoding_table['65402'] = [142,186] let s:lib.Codec.encoding_table['65403'] = [142,187] let s:lib.Codec.encoding_table['65404'] = [142,188] let s:lib.Codec.encoding_table['65405'] = [142,189] let s:lib.Codec.encoding_table['65406'] = [142,190] let s:lib.Codec.encoding_table['65407'] = [142,191] let s:lib.Codec.encoding_table['65408'] = [142,192] let s:lib.Codec.encoding_table['65409'] = [142,193] let s:lib.Codec.encoding_table['65410'] = [142,194] let s:lib.Codec.encoding_table['65411'] = [142,195] let s:lib.Codec.encoding_table['65412'] = [142,196] let s:lib.Codec.encoding_table['65413'] = [142,197] let s:lib.Codec.encoding_table['65414'] = [142,198] let s:lib.Codec.encoding_table['65415'] = [142,199] let s:lib.Codec.encoding_table['65416'] = [142,200] let s:lib.Codec.encoding_table['65417'] = [142,201] let s:lib.Codec.encoding_table['65418'] = [142,202] let s:lib.Codec.encoding_table['65419'] = [142,203] let s:lib.Codec.encoding_table['65420'] = [142,204] let s:lib.Codec.encoding_table['65421'] = [142,205] let s:lib.Codec.encoding_table['65422'] = [142,206] let s:lib.Codec.encoding_table['65423'] = [142,207] let s:lib.Codec.encoding_table['65424'] = [142,208] let s:lib.Codec.encoding_table['65425'] = [142,209] let s:lib.Codec.encoding_table['65426'] = [142,210] let s:lib.Codec.encoding_table['65427'] = [142,211] let s:lib.Codec.encoding_table['65428'] = [142,212] let s:lib.Codec.encoding_table['65429'] = [142,213] let s:lib.Codec.encoding_table['65430'] = [142,214] let s:lib.Codec.encoding_table['65431'] = [142,215] let s:lib.Codec.encoding_table['65432'] = [142,216] let s:lib.Codec.encoding_table['65433'] = [142,217] let s:lib.Codec.encoding_table['65434'] = [142,218] let s:lib.Codec.encoding_table['65435'] = [142,219] let s:lib.Codec.encoding_table['65436'] = [142,220] let s:lib.Codec.encoding_table['65437'] = [142,221] let s:lib.Codec.encoding_table['65438'] = [142,222] let s:lib.Codec.encoding_table['65439'] = [142,223] let s:lib.Codec.encoding_table['12288'] = [161,161] let s:lib.Codec.encoding_table['12289'] = [161,162] let s:lib.Codec.encoding_table['12290'] = [161,163] let s:lib.Codec.encoding_table['65292'] = [161,164] let s:lib.Codec.encoding_table['65294'] = [161,165] let s:lib.Codec.encoding_table['12539'] = [161,166] let s:lib.Codec.encoding_table['65306'] = [161,167] let s:lib.Codec.encoding_table['65307'] = [161,168] let s:lib.Codec.encoding_table['65311'] = [161,169] let s:lib.Codec.encoding_table['65281'] = [161,170] let s:lib.Codec.encoding_table['12443'] = [161,171] let s:lib.Codec.encoding_table['12444'] = [161,172] let s:lib.Codec.encoding_table['180'] = [161,173] let s:lib.Codec.encoding_table['65344'] = [161,174] let s:lib.Codec.encoding_table['168'] = [161,175] let s:lib.Codec.encoding_table['65342'] = [161,176] let s:lib.Codec.encoding_table['65507'] = [161,177] let s:lib.Codec.encoding_table['65343'] = [161,178] let s:lib.Codec.encoding_table['12541'] = [161,179] let s:lib.Codec.encoding_table['12542'] = [161,180] let s:lib.Codec.encoding_table['12445'] = [161,181] let s:lib.Codec.encoding_table['12446'] = [161,182] let s:lib.Codec.encoding_table['12291'] = [161,183] let s:lib.Codec.encoding_table['20189'] = [161,184] let s:lib.Codec.encoding_table['12293'] = [161,185] let s:lib.Codec.encoding_table['12294'] = [161,186] let s:lib.Codec.encoding_table['12295'] = [161,187] let s:lib.Codec.encoding_table['12540'] = [161,188] let s:lib.Codec.encoding_table['8213'] = [161,189] let s:lib.Codec.encoding_table['8208'] = [161,190] let s:lib.Codec.encoding_table['65295'] = [161,191] let s:lib.Codec.encoding_table['12316'] = [161,193] let s:lib.Codec.encoding_table['8214'] = [161,194] let s:lib.Codec.encoding_table['65372'] = [161,195] let s:lib.Codec.encoding_table['8230'] = [161,196] let s:lib.Codec.encoding_table['8229'] = [161,197] let s:lib.Codec.encoding_table['8216'] = [161,198] let s:lib.Codec.encoding_table['8217'] = [161,199] let s:lib.Codec.encoding_table['8220'] = [161,200] let s:lib.Codec.encoding_table['8221'] = [161,201] let s:lib.Codec.encoding_table['65288'] = [161,202] let s:lib.Codec.encoding_table['65289'] = [161,203] let s:lib.Codec.encoding_table['12308'] = [161,204] let s:lib.Codec.encoding_table['12309'] = [161,205] let s:lib.Codec.encoding_table['65339'] = [161,206] let s:lib.Codec.encoding_table['65341'] = [161,207] let s:lib.Codec.encoding_table['65371'] = [161,208] let s:lib.Codec.encoding_table['65373'] = [161,209] let s:lib.Codec.encoding_table['12296'] = [161,210] let s:lib.Codec.encoding_table['12297'] = [161,211] let s:lib.Codec.encoding_table['12298'] = [161,212] let s:lib.Codec.encoding_table['12299'] = [161,213] let s:lib.Codec.encoding_table['12300'] = [161,214] let s:lib.Codec.encoding_table['12301'] = [161,215] let s:lib.Codec.encoding_table['12302'] = [161,216] let s:lib.Codec.encoding_table['12303'] = [161,217] let s:lib.Codec.encoding_table['12304'] = [161,218] let s:lib.Codec.encoding_table['12305'] = [161,219] let s:lib.Codec.encoding_table['65291'] = [161,220] let s:lib.Codec.encoding_table['8722'] = [161,221] let s:lib.Codec.encoding_table['177'] = [161,222] let s:lib.Codec.encoding_table['215'] = [161,223] let s:lib.Codec.encoding_table['247'] = [161,224] let s:lib.Codec.encoding_table['65309'] = [161,225] let s:lib.Codec.encoding_table['8800'] = [161,226] let s:lib.Codec.encoding_table['65308'] = [161,227] let s:lib.Codec.encoding_table['65310'] = [161,228] let s:lib.Codec.encoding_table['8806'] = [161,229] let s:lib.Codec.encoding_table['8807'] = [161,230] let s:lib.Codec.encoding_table['8734'] = [161,231] let s:lib.Codec.encoding_table['8756'] = [161,232] let s:lib.Codec.encoding_table['9794'] = [161,233] let s:lib.Codec.encoding_table['9792'] = [161,234] let s:lib.Codec.encoding_table['176'] = [161,235] let s:lib.Codec.encoding_table['8242'] = [161,236] let s:lib.Codec.encoding_table['8243'] = [161,237] let s:lib.Codec.encoding_table['8451'] = [161,238] let s:lib.Codec.encoding_table['65509'] = [161,239] let s:lib.Codec.encoding_table['65284'] = [161,240] let s:lib.Codec.encoding_table['162'] = [161,241] let s:lib.Codec.encoding_table['163'] = [161,242] let s:lib.Codec.encoding_table['65285'] = [161,243] let s:lib.Codec.encoding_table['65283'] = [161,244] let s:lib.Codec.encoding_table['65286'] = [161,245] let s:lib.Codec.encoding_table['65290'] = [161,246] let s:lib.Codec.encoding_table['65312'] = [161,247] let s:lib.Codec.encoding_table['167'] = [161,248] let s:lib.Codec.encoding_table['9734'] = [161,249] let s:lib.Codec.encoding_table['9733'] = [161,250] let s:lib.Codec.encoding_table['9675'] = [161,251] let s:lib.Codec.encoding_table['9679'] = [161,252] let s:lib.Codec.encoding_table['9678'] = [161,253] let s:lib.Codec.encoding_table['9671'] = [161,254] let s:lib.Codec.encoding_table['9670'] = [162,161] let s:lib.Codec.encoding_table['9633'] = [162,162] let s:lib.Codec.encoding_table['9632'] = [162,163] let s:lib.Codec.encoding_table['9651'] = [162,164] let s:lib.Codec.encoding_table['9650'] = [162,165] let s:lib.Codec.encoding_table['9661'] = [162,166] let s:lib.Codec.encoding_table['9660'] = [162,167] let s:lib.Codec.encoding_table['8251'] = [162,168] let s:lib.Codec.encoding_table['12306'] = [162,169] let s:lib.Codec.encoding_table['8594'] = [162,170] let s:lib.Codec.encoding_table['8592'] = [162,171] let s:lib.Codec.encoding_table['8593'] = [162,172] let s:lib.Codec.encoding_table['8595'] = [162,173] let s:lib.Codec.encoding_table['12307'] = [162,174] let s:lib.Codec.encoding_table['8712'] = [162,186] let s:lib.Codec.encoding_table['8715'] = [162,187] let s:lib.Codec.encoding_table['8838'] = [162,188] let s:lib.Codec.encoding_table['8839'] = [162,189] let s:lib.Codec.encoding_table['8834'] = [162,190] let s:lib.Codec.encoding_table['8835'] = [162,191] let s:lib.Codec.encoding_table['8746'] = [162,192] let s:lib.Codec.encoding_table['8745'] = [162,193] let s:lib.Codec.encoding_table['8743'] = [162,202] let s:lib.Codec.encoding_table['8744'] = [162,203] let s:lib.Codec.encoding_table['172'] = [162,204] let s:lib.Codec.encoding_table['8658'] = [162,205] let s:lib.Codec.encoding_table['8660'] = [162,206] let s:lib.Codec.encoding_table['8704'] = [162,207] let s:lib.Codec.encoding_table['8707'] = [162,208] let s:lib.Codec.encoding_table['8736'] = [162,220] let s:lib.Codec.encoding_table['8869'] = [162,221] let s:lib.Codec.encoding_table['8978'] = [162,222] let s:lib.Codec.encoding_table['8706'] = [162,223] let s:lib.Codec.encoding_table['8711'] = [162,224] let s:lib.Codec.encoding_table['8801'] = [162,225] let s:lib.Codec.encoding_table['8786'] = [162,226] let s:lib.Codec.encoding_table['8810'] = [162,227] let s:lib.Codec.encoding_table['8811'] = [162,228] let s:lib.Codec.encoding_table['8730'] = [162,229] let s:lib.Codec.encoding_table['8765'] = [162,230] let s:lib.Codec.encoding_table['8733'] = [162,231] let s:lib.Codec.encoding_table['8757'] = [162,232] let s:lib.Codec.encoding_table['8747'] = [162,233] let s:lib.Codec.encoding_table['8748'] = [162,234] let s:lib.Codec.encoding_table['8491'] = [162,242] let s:lib.Codec.encoding_table['8240'] = [162,243] let s:lib.Codec.encoding_table['9839'] = [162,244] let s:lib.Codec.encoding_table['9837'] = [162,245] let s:lib.Codec.encoding_table['9834'] = [162,246] let s:lib.Codec.encoding_table['8224'] = [162,247] let s:lib.Codec.encoding_table['8225'] = [162,248] let s:lib.Codec.encoding_table['182'] = [162,249] let s:lib.Codec.encoding_table['9711'] = [162,254] let s:lib.Codec.encoding_table['65296'] = [163,176] let s:lib.Codec.encoding_table['65297'] = [163,177] let s:lib.Codec.encoding_table['65298'] = [163,178] let s:lib.Codec.encoding_table['65299'] = [163,179] let s:lib.Codec.encoding_table['65300'] = [163,180] let s:lib.Codec.encoding_table['65301'] = [163,181] let s:lib.Codec.encoding_table['65302'] = [163,182] let s:lib.Codec.encoding_table['65303'] = [163,183] let s:lib.Codec.encoding_table['65304'] = [163,184] let s:lib.Codec.encoding_table['65305'] = [163,185] let s:lib.Codec.encoding_table['65313'] = [163,193] let s:lib.Codec.encoding_table['65314'] = [163,194] let s:lib.Codec.encoding_table['65315'] = [163,195] let s:lib.Codec.encoding_table['65316'] = [163,196] let s:lib.Codec.encoding_table['65317'] = [163,197] let s:lib.Codec.encoding_table['65318'] = [163,198] let s:lib.Codec.encoding_table['65319'] = [163,199] let s:lib.Codec.encoding_table['65320'] = [163,200] let s:lib.Codec.encoding_table['65321'] = [163,201] let s:lib.Codec.encoding_table['65322'] = [163,202] let s:lib.Codec.encoding_table['65323'] = [163,203] let s:lib.Codec.encoding_table['65324'] = [163,204] let s:lib.Codec.encoding_table['65325'] = [163,205] let s:lib.Codec.encoding_table['65326'] = [163,206] let s:lib.Codec.encoding_table['65327'] = [163,207] let s:lib.Codec.encoding_table['65328'] = [163,208] let s:lib.Codec.encoding_table['65329'] = [163,209] let s:lib.Codec.encoding_table['65330'] = [163,210] let s:lib.Codec.encoding_table['65331'] = [163,211] let s:lib.Codec.encoding_table['65332'] = [163,212] let s:lib.Codec.encoding_table['65333'] = [163,213] let s:lib.Codec.encoding_table['65334'] = [163,214] let s:lib.Codec.encoding_table['65335'] = [163,215] let s:lib.Codec.encoding_table['65336'] = [163,216] let s:lib.Codec.encoding_table['65337'] = [163,217] let s:lib.Codec.encoding_table['65338'] = [163,218] let s:lib.Codec.encoding_table['65345'] = [163,225] let s:lib.Codec.encoding_table['65346'] = [163,226] let s:lib.Codec.encoding_table['65347'] = [163,227] let s:lib.Codec.encoding_table['65348'] = [163,228] let s:lib.Codec.encoding_table['65349'] = [163,229] let s:lib.Codec.encoding_table['65350'] = [163,230] let s:lib.Codec.encoding_table['65351'] = [163,231] let s:lib.Codec.encoding_table['65352'] = [163,232] let s:lib.Codec.encoding_table['65353'] = [163,233] let s:lib.Codec.encoding_table['65354'] = [163,234] let s:lib.Codec.encoding_table['65355'] = [163,235] let s:lib.Codec.encoding_table['65356'] = [163,236] let s:lib.Codec.encoding_table['65357'] = [163,237] let s:lib.Codec.encoding_table['65358'] = [163,238] let s:lib.Codec.encoding_table['65359'] = [163,239] let s:lib.Codec.encoding_table['65360'] = [163,240] let s:lib.Codec.encoding_table['65361'] = [163,241] let s:lib.Codec.encoding_table['65362'] = [163,242] let s:lib.Codec.encoding_table['65363'] = [163,243] let s:lib.Codec.encoding_table['65364'] = [163,244] let s:lib.Codec.encoding_table['65365'] = [163,245] let s:lib.Codec.encoding_table['65366'] = [163,246] let s:lib.Codec.encoding_table['65367'] = [163,247] let s:lib.Codec.encoding_table['65368'] = [163,248] let s:lib.Codec.encoding_table['65369'] = [163,249] let s:lib.Codec.encoding_table['65370'] = [163,250] let s:lib.Codec.encoding_table['12353'] = [164,161] let s:lib.Codec.encoding_table['12354'] = [164,162] let s:lib.Codec.encoding_table['12355'] = [164,163] let s:lib.Codec.encoding_table['12356'] = [164,164] let s:lib.Codec.encoding_table['12357'] = [164,165] let s:lib.Codec.encoding_table['12358'] = [164,166] let s:lib.Codec.encoding_table['12359'] = [164,167] let s:lib.Codec.encoding_table['12360'] = [164,168] let s:lib.Codec.encoding_table['12361'] = [164,169] let s:lib.Codec.encoding_table['12362'] = [164,170] let s:lib.Codec.encoding_table['12363'] = [164,171] let s:lib.Codec.encoding_table['12364'] = [164,172] let s:lib.Codec.encoding_table['12365'] = [164,173] let s:lib.Codec.encoding_table['12366'] = [164,174] let s:lib.Codec.encoding_table['12367'] = [164,175] let s:lib.Codec.encoding_table['12368'] = [164,176] let s:lib.Codec.encoding_table['12369'] = [164,177] let s:lib.Codec.encoding_table['12370'] = [164,178] let s:lib.Codec.encoding_table['12371'] = [164,179] let s:lib.Codec.encoding_table['12372'] = [164,180] let s:lib.Codec.encoding_table['12373'] = [164,181] let s:lib.Codec.encoding_table['12374'] = [164,182] let s:lib.Codec.encoding_table['12375'] = [164,183] let s:lib.Codec.encoding_table['12376'] = [164,184] let s:lib.Codec.encoding_table['12377'] = [164,185] let s:lib.Codec.encoding_table['12378'] = [164,186] let s:lib.Codec.encoding_table['12379'] = [164,187] let s:lib.Codec.encoding_table['12380'] = [164,188] let s:lib.Codec.encoding_table['12381'] = [164,189] let s:lib.Codec.encoding_table['12382'] = [164,190] let s:lib.Codec.encoding_table['12383'] = [164,191] let s:lib.Codec.encoding_table['12384'] = [164,192] let s:lib.Codec.encoding_table['12385'] = [164,193] let s:lib.Codec.encoding_table['12386'] = [164,194] let s:lib.Codec.encoding_table['12387'] = [164,195] let s:lib.Codec.encoding_table['12388'] = [164,196] let s:lib.Codec.encoding_table['12389'] = [164,197] let s:lib.Codec.encoding_table['12390'] = [164,198] let s:lib.Codec.encoding_table['12391'] = [164,199] let s:lib.Codec.encoding_table['12392'] = [164,200] let s:lib.Codec.encoding_table['12393'] = [164,201] let s:lib.Codec.encoding_table['12394'] = [164,202] let s:lib.Codec.encoding_table['12395'] = [164,203] let s:lib.Codec.encoding_table['12396'] = [164,204] let s:lib.Codec.encoding_table['12397'] = [164,205] let s:lib.Codec.encoding_table['12398'] = [164,206] let s:lib.Codec.encoding_table['12399'] = [164,207] let s:lib.Codec.encoding_table['12400'] = [164,208] let s:lib.Codec.encoding_table['12401'] = [164,209] let s:lib.Codec.encoding_table['12402'] = [164,210] let s:lib.Codec.encoding_table['12403'] = [164,211] let s:lib.Codec.encoding_table['12404'] = [164,212] let s:lib.Codec.encoding_table['12405'] = [164,213] let s:lib.Codec.encoding_table['12406'] = [164,214] let s:lib.Codec.encoding_table['12407'] = [164,215] let s:lib.Codec.encoding_table['12408'] = [164,216] let s:lib.Codec.encoding_table['12409'] = [164,217] let s:lib.Codec.encoding_table['12410'] = [164,218] let s:lib.Codec.encoding_table['12411'] = [164,219] let s:lib.Codec.encoding_table['12412'] = [164,220] let s:lib.Codec.encoding_table['12413'] = [164,221] let s:lib.Codec.encoding_table['12414'] = [164,222] let s:lib.Codec.encoding_table['12415'] = [164,223] let s:lib.Codec.encoding_table['12416'] = [164,224] let s:lib.Codec.encoding_table['12417'] = [164,225] let s:lib.Codec.encoding_table['12418'] = [164,226] let s:lib.Codec.encoding_table['12419'] = [164,227] let s:lib.Codec.encoding_table['12420'] = [164,228] let s:lib.Codec.encoding_table['12421'] = [164,229] let s:lib.Codec.encoding_table['12422'] = [164,230] let s:lib.Codec.encoding_table['12423'] = [164,231] let s:lib.Codec.encoding_table['12424'] = [164,232] let s:lib.Codec.encoding_table['12425'] = [164,233] let s:lib.Codec.encoding_table['12426'] = [164,234] let s:lib.Codec.encoding_table['12427'] = [164,235] let s:lib.Codec.encoding_table['12428'] = [164,236] let s:lib.Codec.encoding_table['12429'] = [164,237] let s:lib.Codec.encoding_table['12430'] = [164,238] let s:lib.Codec.encoding_table['12431'] = [164,239] let s:lib.Codec.encoding_table['12432'] = [164,240] let s:lib.Codec.encoding_table['12433'] = [164,241] let s:lib.Codec.encoding_table['12434'] = [164,242] let s:lib.Codec.encoding_table['12435'] = [164,243] let s:lib.Codec.encoding_table['12449'] = [165,161] let s:lib.Codec.encoding_table['12450'] = [165,162] let s:lib.Codec.encoding_table['12451'] = [165,163] let s:lib.Codec.encoding_table['12452'] = [165,164] let s:lib.Codec.encoding_table['12453'] = [165,165] let s:lib.Codec.encoding_table['12454'] = [165,166] let s:lib.Codec.encoding_table['12455'] = [165,167] let s:lib.Codec.encoding_table['12456'] = [165,168] let s:lib.Codec.encoding_table['12457'] = [165,169] let s:lib.Codec.encoding_table['12458'] = [165,170] let s:lib.Codec.encoding_table['12459'] = [165,171] let s:lib.Codec.encoding_table['12460'] = [165,172] let s:lib.Codec.encoding_table['12461'] = [165,173] let s:lib.Codec.encoding_table['12462'] = [165,174] let s:lib.Codec.encoding_table['12463'] = [165,175] let s:lib.Codec.encoding_table['12464'] = [165,176] let s:lib.Codec.encoding_table['12465'] = [165,177] let s:lib.Codec.encoding_table['12466'] = [165,178] let s:lib.Codec.encoding_table['12467'] = [165,179] let s:lib.Codec.encoding_table['12468'] = [165,180] let s:lib.Codec.encoding_table['12469'] = [165,181] let s:lib.Codec.encoding_table['12470'] = [165,182] let s:lib.Codec.encoding_table['12471'] = [165,183] let s:lib.Codec.encoding_table['12472'] = [165,184] let s:lib.Codec.encoding_table['12473'] = [165,185] let s:lib.Codec.encoding_table['12474'] = [165,186] let s:lib.Codec.encoding_table['12475'] = [165,187] let s:lib.Codec.encoding_table['12476'] = [165,188] let s:lib.Codec.encoding_table['12477'] = [165,189] let s:lib.Codec.encoding_table['12478'] = [165,190] let s:lib.Codec.encoding_table['12479'] = [165,191] let s:lib.Codec.encoding_table['12480'] = [165,192] let s:lib.Codec.encoding_table['12481'] = [165,193] let s:lib.Codec.encoding_table['12482'] = [165,194] let s:lib.Codec.encoding_table['12483'] = [165,195] let s:lib.Codec.encoding_table['12484'] = [165,196] let s:lib.Codec.encoding_table['12485'] = [165,197] let s:lib.Codec.encoding_table['12486'] = [165,198] let s:lib.Codec.encoding_table['12487'] = [165,199] let s:lib.Codec.encoding_table['12488'] = [165,200] let s:lib.Codec.encoding_table['12489'] = [165,201] let s:lib.Codec.encoding_table['12490'] = [165,202] let s:lib.Codec.encoding_table['12491'] = [165,203] let s:lib.Codec.encoding_table['12492'] = [165,204] let s:lib.Codec.encoding_table['12493'] = [165,205] let s:lib.Codec.encoding_table['12494'] = [165,206] let s:lib.Codec.encoding_table['12495'] = [165,207] let s:lib.Codec.encoding_table['12496'] = [165,208] let s:lib.Codec.encoding_table['12497'] = [165,209] let s:lib.Codec.encoding_table['12498'] = [165,210] let s:lib.Codec.encoding_table['12499'] = [165,211] let s:lib.Codec.encoding_table['12500'] = [165,212] let s:lib.Codec.encoding_table['12501'] = [165,213] let s:lib.Codec.encoding_table['12502'] = [165,214] let s:lib.Codec.encoding_table['12503'] = [165,215] let s:lib.Codec.encoding_table['12504'] = [165,216] let s:lib.Codec.encoding_table['12505'] = [165,217] let s:lib.Codec.encoding_table['12506'] = [165,218] let s:lib.Codec.encoding_table['12507'] = [165,219] let s:lib.Codec.encoding_table['12508'] = [165,220] let s:lib.Codec.encoding_table['12509'] = [165,221] let s:lib.Codec.encoding_table['12510'] = [165,222] let s:lib.Codec.encoding_table['12511'] = [165,223] let s:lib.Codec.encoding_table['12512'] = [165,224] let s:lib.Codec.encoding_table['12513'] = [165,225] let s:lib.Codec.encoding_table['12514'] = [165,226] let s:lib.Codec.encoding_table['12515'] = [165,227] let s:lib.Codec.encoding_table['12516'] = [165,228] let s:lib.Codec.encoding_table['12517'] = [165,229] let s:lib.Codec.encoding_table['12518'] = [165,230] let s:lib.Codec.encoding_table['12519'] = [165,231] let s:lib.Codec.encoding_table['12520'] = [165,232] let s:lib.Codec.encoding_table['12521'] = [165,233] let s:lib.Codec.encoding_table['12522'] = [165,234] let s:lib.Codec.encoding_table['12523'] = [165,235] let s:lib.Codec.encoding_table['12524'] = [165,236] let s:lib.Codec.encoding_table['12525'] = [165,237] let s:lib.Codec.encoding_table['12526'] = [165,238] let s:lib.Codec.encoding_table['12527'] = [165,239] let s:lib.Codec.encoding_table['12528'] = [165,240] let s:lib.Codec.encoding_table['12529'] = [165,241] let s:lib.Codec.encoding_table['12530'] = [165,242] let s:lib.Codec.encoding_table['12531'] = [165,243] let s:lib.Codec.encoding_table['12532'] = [165,244] let s:lib.Codec.encoding_table['12533'] = [165,245] let s:lib.Codec.encoding_table['12534'] = [165,246] let s:lib.Codec.encoding_table['913'] = [166,161] let s:lib.Codec.encoding_table['914'] = [166,162] let s:lib.Codec.encoding_table['915'] = [166,163] let s:lib.Codec.encoding_table['916'] = [166,164] let s:lib.Codec.encoding_table['917'] = [166,165] let s:lib.Codec.encoding_table['918'] = [166,166] let s:lib.Codec.encoding_table['919'] = [166,167] let s:lib.Codec.encoding_table['920'] = [166,168] let s:lib.Codec.encoding_table['921'] = [166,169] let s:lib.Codec.encoding_table['922'] = [166,170] let s:lib.Codec.encoding_table['923'] = [166,171] let s:lib.Codec.encoding_table['924'] = [166,172] let s:lib.Codec.encoding_table['925'] = [166,173] let s:lib.Codec.encoding_table['926'] = [166,174] let s:lib.Codec.encoding_table['927'] = [166,175] let s:lib.Codec.encoding_table['928'] = [166,176] let s:lib.Codec.encoding_table['929'] = [166,177] let s:lib.Codec.encoding_table['931'] = [166,178] let s:lib.Codec.encoding_table['932'] = [166,179] let s:lib.Codec.encoding_table['933'] = [166,180] let s:lib.Codec.encoding_table['934'] = [166,181] let s:lib.Codec.encoding_table['935'] = [166,182] let s:lib.Codec.encoding_table['936'] = [166,183] let s:lib.Codec.encoding_table['937'] = [166,184] let s:lib.Codec.encoding_table['945'] = [166,193] let s:lib.Codec.encoding_table['946'] = [166,194] let s:lib.Codec.encoding_table['947'] = [166,195] let s:lib.Codec.encoding_table['948'] = [166,196] let s:lib.Codec.encoding_table['949'] = [166,197] let s:lib.Codec.encoding_table['950'] = [166,198] let s:lib.Codec.encoding_table['951'] = [166,199] let s:lib.Codec.encoding_table['952'] = [166,200] let s:lib.Codec.encoding_table['953'] = [166,201] let s:lib.Codec.encoding_table['954'] = [166,202] let s:lib.Codec.encoding_table['955'] = [166,203] let s:lib.Codec.encoding_table['956'] = [166,204] let s:lib.Codec.encoding_table['957'] = [166,205] let s:lib.Codec.encoding_table['958'] = [166,206] let s:lib.Codec.encoding_table['959'] = [166,207] let s:lib.Codec.encoding_table['960'] = [166,208] let s:lib.Codec.encoding_table['961'] = [166,209] let s:lib.Codec.encoding_table['963'] = [166,210] let s:lib.Codec.encoding_table['964'] = [166,211] let s:lib.Codec.encoding_table['965'] = [166,212] let s:lib.Codec.encoding_table['966'] = [166,213] let s:lib.Codec.encoding_table['967'] = [166,214] let s:lib.Codec.encoding_table['968'] = [166,215] let s:lib.Codec.encoding_table['969'] = [166,216] let s:lib.Codec.encoding_table['1040'] = [167,161] let s:lib.Codec.encoding_table['1041'] = [167,162] let s:lib.Codec.encoding_table['1042'] = [167,163] let s:lib.Codec.encoding_table['1043'] = [167,164] let s:lib.Codec.encoding_table['1044'] = [167,165] let s:lib.Codec.encoding_table['1045'] = [167,166] let s:lib.Codec.encoding_table['1025'] = [167,167] let s:lib.Codec.encoding_table['1046'] = [167,168] let s:lib.Codec.encoding_table['1047'] = [167,169] let s:lib.Codec.encoding_table['1048'] = [167,170] let s:lib.Codec.encoding_table['1049'] = [167,171] let s:lib.Codec.encoding_table['1050'] = [167,172] let s:lib.Codec.encoding_table['1051'] = [167,173] let s:lib.Codec.encoding_table['1052'] = [167,174] let s:lib.Codec.encoding_table['1053'] = [167,175] let s:lib.Codec.encoding_table['1054'] = [167,176] let s:lib.Codec.encoding_table['1055'] = [167,177] let s:lib.Codec.encoding_table['1056'] = [167,178] let s:lib.Codec.encoding_table['1057'] = [167,179] let s:lib.Codec.encoding_table['1058'] = [167,180] let s:lib.Codec.encoding_table['1059'] = [167,181] let s:lib.Codec.encoding_table['1060'] = [167,182] let s:lib.Codec.encoding_table['1061'] = [167,183] let s:lib.Codec.encoding_table['1062'] = [167,184] let s:lib.Codec.encoding_table['1063'] = [167,185] let s:lib.Codec.encoding_table['1064'] = [167,186] let s:lib.Codec.encoding_table['1065'] = [167,187] let s:lib.Codec.encoding_table['1066'] = [167,188] let s:lib.Codec.encoding_table['1067'] = [167,189] let s:lib.Codec.encoding_table['1068'] = [167,190] let s:lib.Codec.encoding_table['1069'] = [167,191] let s:lib.Codec.encoding_table['1070'] = [167,192] let s:lib.Codec.encoding_table['1071'] = [167,193] let s:lib.Codec.encoding_table['1072'] = [167,209] let s:lib.Codec.encoding_table['1073'] = [167,210] let s:lib.Codec.encoding_table['1074'] = [167,211] let s:lib.Codec.encoding_table['1075'] = [167,212] let s:lib.Codec.encoding_table['1076'] = [167,213] let s:lib.Codec.encoding_table['1077'] = [167,214] let s:lib.Codec.encoding_table['1105'] = [167,215] let s:lib.Codec.encoding_table['1078'] = [167,216] let s:lib.Codec.encoding_table['1079'] = [167,217] let s:lib.Codec.encoding_table['1080'] = [167,218] let s:lib.Codec.encoding_table['1081'] = [167,219] let s:lib.Codec.encoding_table['1082'] = [167,220] let s:lib.Codec.encoding_table['1083'] = [167,221] let s:lib.Codec.encoding_table['1084'] = [167,222] let s:lib.Codec.encoding_table['1085'] = [167,223] let s:lib.Codec.encoding_table['1086'] = [167,224] let s:lib.Codec.encoding_table['1087'] = [167,225] let s:lib.Codec.encoding_table['1088'] = [167,226] let s:lib.Codec.encoding_table['1089'] = [167,227] let s:lib.Codec.encoding_table['1090'] = [167,228] let s:lib.Codec.encoding_table['1091'] = [167,229] let s:lib.Codec.encoding_table['1092'] = [167,230] let s:lib.Codec.encoding_table['1093'] = [167,231] let s:lib.Codec.encoding_table['1094'] = [167,232] let s:lib.Codec.encoding_table['1095'] = [167,233] let s:lib.Codec.encoding_table['1096'] = [167,234] let s:lib.Codec.encoding_table['1097'] = [167,235] let s:lib.Codec.encoding_table['1098'] = [167,236] let s:lib.Codec.encoding_table['1099'] = [167,237] let s:lib.Codec.encoding_table['1100'] = [167,238] let s:lib.Codec.encoding_table['1101'] = [167,239] let s:lib.Codec.encoding_table['1102'] = [167,240] let s:lib.Codec.encoding_table['1103'] = [167,241] let s:lib.Codec.encoding_table['9472'] = [168,161] let s:lib.Codec.encoding_table['9474'] = [168,162] let s:lib.Codec.encoding_table['9484'] = [168,163] let s:lib.Codec.encoding_table['9488'] = [168,164] let s:lib.Codec.encoding_table['9496'] = [168,165] let s:lib.Codec.encoding_table['9492'] = [168,166] let s:lib.Codec.encoding_table['9500'] = [168,167] let s:lib.Codec.encoding_table['9516'] = [168,168] let s:lib.Codec.encoding_table['9508'] = [168,169] let s:lib.Codec.encoding_table['9524'] = [168,170] let s:lib.Codec.encoding_table['9532'] = [168,171] let s:lib.Codec.encoding_table['9473'] = [168,172] let s:lib.Codec.encoding_table['9475'] = [168,173] let s:lib.Codec.encoding_table['9487'] = [168,174] let s:lib.Codec.encoding_table['9491'] = [168,175] let s:lib.Codec.encoding_table['9499'] = [168,176] let s:lib.Codec.encoding_table['9495'] = [168,177] let s:lib.Codec.encoding_table['9507'] = [168,178] let s:lib.Codec.encoding_table['9523'] = [168,179] let s:lib.Codec.encoding_table['9515'] = [168,180] let s:lib.Codec.encoding_table['9531'] = [168,181] let s:lib.Codec.encoding_table['9547'] = [168,182] let s:lib.Codec.encoding_table['9504'] = [168,183] let s:lib.Codec.encoding_table['9519'] = [168,184] let s:lib.Codec.encoding_table['9512'] = [168,185] let s:lib.Codec.encoding_table['9527'] = [168,186] let s:lib.Codec.encoding_table['9535'] = [168,187] let s:lib.Codec.encoding_table['9501'] = [168,188] let s:lib.Codec.encoding_table['9520'] = [168,189] let s:lib.Codec.encoding_table['9509'] = [168,190] let s:lib.Codec.encoding_table['9528'] = [168,191] let s:lib.Codec.encoding_table['9538'] = [168,192] let s:lib.Codec.encoding_table['20124'] = [176,161] let s:lib.Codec.encoding_table['21782'] = [176,162] let s:lib.Codec.encoding_table['23043'] = [176,163] let s:lib.Codec.encoding_table['38463'] = [176,164] let s:lib.Codec.encoding_table['21696'] = [176,165] let s:lib.Codec.encoding_table['24859'] = [176,166] let s:lib.Codec.encoding_table['25384'] = [176,167] let s:lib.Codec.encoding_table['23030'] = [176,168] let s:lib.Codec.encoding_table['36898'] = [176,169] let s:lib.Codec.encoding_table['33909'] = [176,170] let s:lib.Codec.encoding_table['33564'] = [176,171] let s:lib.Codec.encoding_table['31312'] = [176,172] let s:lib.Codec.encoding_table['24746'] = [176,173] let s:lib.Codec.encoding_table['25569'] = [176,174] let s:lib.Codec.encoding_table['28197'] = [176,175] let s:lib.Codec.encoding_table['26093'] = [176,176] let s:lib.Codec.encoding_table['33894'] = [176,177] let s:lib.Codec.encoding_table['33446'] = [176,178] let s:lib.Codec.encoding_table['39925'] = [176,179] let s:lib.Codec.encoding_table['26771'] = [176,180] let s:lib.Codec.encoding_table['22311'] = [176,181] let s:lib.Codec.encoding_table['26017'] = [176,182] let s:lib.Codec.encoding_table['25201'] = [176,183] let s:lib.Codec.encoding_table['23451'] = [176,184] let s:lib.Codec.encoding_table['22992'] = [176,185] let s:lib.Codec.encoding_table['34427'] = [176,186] let s:lib.Codec.encoding_table['39156'] = [176,187] let s:lib.Codec.encoding_table['32098'] = [176,188] let s:lib.Codec.encoding_table['32190'] = [176,189] let s:lib.Codec.encoding_table['39822'] = [176,190] let s:lib.Codec.encoding_table['25110'] = [176,191] let s:lib.Codec.encoding_table['31903'] = [176,192] let s:lib.Codec.encoding_table['34999'] = [176,193] let s:lib.Codec.encoding_table['23433'] = [176,194] let s:lib.Codec.encoding_table['24245'] = [176,195] let s:lib.Codec.encoding_table['25353'] = [176,196] let s:lib.Codec.encoding_table['26263'] = [176,197] let s:lib.Codec.encoding_table['26696'] = [176,198] let s:lib.Codec.encoding_table['38343'] = [176,199] let s:lib.Codec.encoding_table['38797'] = [176,200] let s:lib.Codec.encoding_table['26447'] = [176,201] let s:lib.Codec.encoding_table['20197'] = [176,202] let s:lib.Codec.encoding_table['20234'] = [176,203] let s:lib.Codec.encoding_table['20301'] = [176,204] let s:lib.Codec.encoding_table['20381'] = [176,205] let s:lib.Codec.encoding_table['20553'] = [176,206] let s:lib.Codec.encoding_table['22258'] = [176,207] let s:lib.Codec.encoding_table['22839'] = [176,208] let s:lib.Codec.encoding_table['22996'] = [176,209] let s:lib.Codec.encoding_table['23041'] = [176,210] let s:lib.Codec.encoding_table['23561'] = [176,211] let s:lib.Codec.encoding_table['24799'] = [176,212] let s:lib.Codec.encoding_table['24847'] = [176,213] let s:lib.Codec.encoding_table['24944'] = [176,214] let s:lib.Codec.encoding_table['26131'] = [176,215] let s:lib.Codec.encoding_table['26885'] = [176,216] let s:lib.Codec.encoding_table['28858'] = [176,217] let s:lib.Codec.encoding_table['30031'] = [176,218] let s:lib.Codec.encoding_table['30064'] = [176,219] let s:lib.Codec.encoding_table['31227'] = [176,220] let s:lib.Codec.encoding_table['32173'] = [176,221] let s:lib.Codec.encoding_table['32239'] = [176,222] let s:lib.Codec.encoding_table['32963'] = [176,223] let s:lib.Codec.encoding_table['33806'] = [176,224] let s:lib.Codec.encoding_table['34915'] = [176,225] let s:lib.Codec.encoding_table['35586'] = [176,226] let s:lib.Codec.encoding_table['36949'] = [176,227] let s:lib.Codec.encoding_table['36986'] = [176,228] let s:lib.Codec.encoding_table['21307'] = [176,229] let s:lib.Codec.encoding_table['20117'] = [176,230] let s:lib.Codec.encoding_table['20133'] = [176,231] let s:lib.Codec.encoding_table['22495'] = [176,232] let s:lib.Codec.encoding_table['32946'] = [176,233] let s:lib.Codec.encoding_table['37057'] = [176,234] let s:lib.Codec.encoding_table['30959'] = [176,235] let s:lib.Codec.encoding_table['19968'] = [176,236] let s:lib.Codec.encoding_table['22769'] = [176,237] let s:lib.Codec.encoding_table['28322'] = [176,238] let s:lib.Codec.encoding_table['36920'] = [176,239] let s:lib.Codec.encoding_table['31282'] = [176,240] let s:lib.Codec.encoding_table['33576'] = [176,241] let s:lib.Codec.encoding_table['33419'] = [176,242] let s:lib.Codec.encoding_table['39983'] = [176,243] let s:lib.Codec.encoding_table['20801'] = [176,244] let s:lib.Codec.encoding_table['21360'] = [176,245] let s:lib.Codec.encoding_table['21693'] = [176,246] let s:lib.Codec.encoding_table['21729'] = [176,247] let s:lib.Codec.encoding_table['22240'] = [176,248] let s:lib.Codec.encoding_table['23035'] = [176,249] let s:lib.Codec.encoding_table['24341'] = [176,250] let s:lib.Codec.encoding_table['39154'] = [176,251] let s:lib.Codec.encoding_table['28139'] = [176,252] let s:lib.Codec.encoding_table['32996'] = [176,253] let s:lib.Codec.encoding_table['34093'] = [176,254] let s:lib.Codec.encoding_table['38498'] = [177,161] let s:lib.Codec.encoding_table['38512'] = [177,162] let s:lib.Codec.encoding_table['38560'] = [177,163] let s:lib.Codec.encoding_table['38907'] = [177,164] let s:lib.Codec.encoding_table['21515'] = [177,165] let s:lib.Codec.encoding_table['21491'] = [177,166] let s:lib.Codec.encoding_table['23431'] = [177,167] let s:lib.Codec.encoding_table['28879'] = [177,168] let s:lib.Codec.encoding_table['32701'] = [177,169] let s:lib.Codec.encoding_table['36802'] = [177,170] let s:lib.Codec.encoding_table['38632'] = [177,171] let s:lib.Codec.encoding_table['21359'] = [177,172] let s:lib.Codec.encoding_table['40284'] = [177,173] let s:lib.Codec.encoding_table['31418'] = [177,174] let s:lib.Codec.encoding_table['19985'] = [177,175] let s:lib.Codec.encoding_table['30867'] = [177,176] let s:lib.Codec.encoding_table['33276'] = [177,177] let s:lib.Codec.encoding_table['28198'] = [177,178] let s:lib.Codec.encoding_table['22040'] = [177,179] let s:lib.Codec.encoding_table['21764'] = [177,180] let s:lib.Codec.encoding_table['27421'] = [177,181] let s:lib.Codec.encoding_table['34074'] = [177,182] let s:lib.Codec.encoding_table['39995'] = [177,183] let s:lib.Codec.encoding_table['23013'] = [177,184] let s:lib.Codec.encoding_table['21417'] = [177,185] let s:lib.Codec.encoding_table['28006'] = [177,186] let s:lib.Codec.encoding_table['29916'] = [177,187] let s:lib.Codec.encoding_table['38287'] = [177,188] let s:lib.Codec.encoding_table['22082'] = [177,189] let s:lib.Codec.encoding_table['20113'] = [177,190] let s:lib.Codec.encoding_table['36939'] = [177,191] let s:lib.Codec.encoding_table['38642'] = [177,192] let s:lib.Codec.encoding_table['33615'] = [177,193] let s:lib.Codec.encoding_table['39180'] = [177,194] let s:lib.Codec.encoding_table['21473'] = [177,195] let s:lib.Codec.encoding_table['21942'] = [177,196] let s:lib.Codec.encoding_table['23344'] = [177,197] let s:lib.Codec.encoding_table['24433'] = [177,198] let s:lib.Codec.encoding_table['26144'] = [177,199] let s:lib.Codec.encoding_table['26355'] = [177,200] let s:lib.Codec.encoding_table['26628'] = [177,201] let s:lib.Codec.encoding_table['27704'] = [177,202] let s:lib.Codec.encoding_table['27891'] = [177,203] let s:lib.Codec.encoding_table['27945'] = [177,204] let s:lib.Codec.encoding_table['29787'] = [177,205] let s:lib.Codec.encoding_table['30408'] = [177,206] let s:lib.Codec.encoding_table['31310'] = [177,207] let s:lib.Codec.encoding_table['38964'] = [177,208] let s:lib.Codec.encoding_table['33521'] = [177,209] let s:lib.Codec.encoding_table['34907'] = [177,210] let s:lib.Codec.encoding_table['35424'] = [177,211] let s:lib.Codec.encoding_table['37613'] = [177,212] let s:lib.Codec.encoding_table['28082'] = [177,213] let s:lib.Codec.encoding_table['30123'] = [177,214] let s:lib.Codec.encoding_table['30410'] = [177,215] let s:lib.Codec.encoding_table['39365'] = [177,216] let s:lib.Codec.encoding_table['24742'] = [177,217] let s:lib.Codec.encoding_table['35585'] = [177,218] let s:lib.Codec.encoding_table['36234'] = [177,219] let s:lib.Codec.encoding_table['38322'] = [177,220] let s:lib.Codec.encoding_table['27022'] = [177,221] let s:lib.Codec.encoding_table['21421'] = [177,222] let s:lib.Codec.encoding_table['20870'] = [177,223] let s:lib.Codec.encoding_table['22290'] = [177,224] let s:lib.Codec.encoding_table['22576'] = [177,225] let s:lib.Codec.encoding_table['22852'] = [177,226] let s:lib.Codec.encoding_table['23476'] = [177,227] let s:lib.Codec.encoding_table['24310'] = [177,228] let s:lib.Codec.encoding_table['24616'] = [177,229] let s:lib.Codec.encoding_table['25513'] = [177,230] let s:lib.Codec.encoding_table['25588'] = [177,231] let s:lib.Codec.encoding_table['27839'] = [177,232] let s:lib.Codec.encoding_table['28436'] = [177,233] let s:lib.Codec.encoding_table['28814'] = [177,234] let s:lib.Codec.encoding_table['28948'] = [177,235] let s:lib.Codec.encoding_table['29017'] = [177,236] let s:lib.Codec.encoding_table['29141'] = [177,237] let s:lib.Codec.encoding_table['29503'] = [177,238] let s:lib.Codec.encoding_table['32257'] = [177,239] let s:lib.Codec.encoding_table['33398'] = [177,240] let s:lib.Codec.encoding_table['33489'] = [177,241] let s:lib.Codec.encoding_table['34199'] = [177,242] let s:lib.Codec.encoding_table['36960'] = [177,243] let s:lib.Codec.encoding_table['37467'] = [177,244] let s:lib.Codec.encoding_table['40219'] = [177,245] let s:lib.Codec.encoding_table['22633'] = [177,246] let s:lib.Codec.encoding_table['26044'] = [177,247] let s:lib.Codec.encoding_table['27738'] = [177,248] let s:lib.Codec.encoding_table['29989'] = [177,249] let s:lib.Codec.encoding_table['20985'] = [177,250] let s:lib.Codec.encoding_table['22830'] = [177,251] let s:lib.Codec.encoding_table['22885'] = [177,252] let s:lib.Codec.encoding_table['24448'] = [177,253] let s:lib.Codec.encoding_table['24540'] = [177,254] let s:lib.Codec.encoding_table['25276'] = [178,161] let s:lib.Codec.encoding_table['26106'] = [178,162] let s:lib.Codec.encoding_table['27178'] = [178,163] let s:lib.Codec.encoding_table['27431'] = [178,164] let s:lib.Codec.encoding_table['27572'] = [178,165] let s:lib.Codec.encoding_table['29579'] = [178,166] let s:lib.Codec.encoding_table['32705'] = [178,167] let s:lib.Codec.encoding_table['35158'] = [178,168] let s:lib.Codec.encoding_table['40236'] = [178,169] let s:lib.Codec.encoding_table['40206'] = [178,170] let s:lib.Codec.encoding_table['40644'] = [178,171] let s:lib.Codec.encoding_table['23713'] = [178,172] let s:lib.Codec.encoding_table['27798'] = [178,173] let s:lib.Codec.encoding_table['33659'] = [178,174] let s:lib.Codec.encoding_table['20740'] = [178,175] let s:lib.Codec.encoding_table['23627'] = [178,176] let s:lib.Codec.encoding_table['25014'] = [178,177] let s:lib.Codec.encoding_table['33222'] = [178,178] let s:lib.Codec.encoding_table['26742'] = [178,179] let s:lib.Codec.encoding_table['29281'] = [178,180] let s:lib.Codec.encoding_table['20057'] = [178,181] let s:lib.Codec.encoding_table['20474'] = [178,182] let s:lib.Codec.encoding_table['21368'] = [178,183] let s:lib.Codec.encoding_table['24681'] = [178,184] let s:lib.Codec.encoding_table['28201'] = [178,185] let s:lib.Codec.encoding_table['31311'] = [178,186] let s:lib.Codec.encoding_table['38899'] = [178,187] let s:lib.Codec.encoding_table['19979'] = [178,188] let s:lib.Codec.encoding_table['21270'] = [178,189] let s:lib.Codec.encoding_table['20206'] = [178,190] let s:lib.Codec.encoding_table['20309'] = [178,191] let s:lib.Codec.encoding_table['20285'] = [178,192] let s:lib.Codec.encoding_table['20385'] = [178,193] let s:lib.Codec.encoding_table['20339'] = [178,194] let s:lib.Codec.encoding_table['21152'] = [178,195] let s:lib.Codec.encoding_table['21487'] = [178,196] let s:lib.Codec.encoding_table['22025'] = [178,197] let s:lib.Codec.encoding_table['22799'] = [178,198] let s:lib.Codec.encoding_table['23233'] = [178,199] let s:lib.Codec.encoding_table['23478'] = [178,200] let s:lib.Codec.encoding_table['23521'] = [178,201] let s:lib.Codec.encoding_table['31185'] = [178,202] let s:lib.Codec.encoding_table['26247'] = [178,203] let s:lib.Codec.encoding_table['26524'] = [178,204] let s:lib.Codec.encoding_table['26550'] = [178,205] let s:lib.Codec.encoding_table['27468'] = [178,206] let s:lib.Codec.encoding_table['27827'] = [178,207] let s:lib.Codec.encoding_table['28779'] = [178,208] let s:lib.Codec.encoding_table['29634'] = [178,209] let s:lib.Codec.encoding_table['31117'] = [178,210] let s:lib.Codec.encoding_table['31166'] = [178,211] let s:lib.Codec.encoding_table['31292'] = [178,212] let s:lib.Codec.encoding_table['31623'] = [178,213] let s:lib.Codec.encoding_table['33457'] = [178,214] let s:lib.Codec.encoding_table['33499'] = [178,215] let s:lib.Codec.encoding_table['33540'] = [178,216] let s:lib.Codec.encoding_table['33655'] = [178,217] let s:lib.Codec.encoding_table['33775'] = [178,218] let s:lib.Codec.encoding_table['33747'] = [178,219] let s:lib.Codec.encoding_table['34662'] = [178,220] let s:lib.Codec.encoding_table['35506'] = [178,221] let s:lib.Codec.encoding_table['22057'] = [178,222] let s:lib.Codec.encoding_table['36008'] = [178,223] let s:lib.Codec.encoding_table['36838'] = [178,224] let s:lib.Codec.encoding_table['36942'] = [178,225] let s:lib.Codec.encoding_table['38686'] = [178,226] let s:lib.Codec.encoding_table['34442'] = [178,227] let s:lib.Codec.encoding_table['20420'] = [178,228] let s:lib.Codec.encoding_table['23784'] = [178,229] let s:lib.Codec.encoding_table['25105'] = [178,230] let s:lib.Codec.encoding_table['29273'] = [178,231] let s:lib.Codec.encoding_table['30011'] = [178,232] let s:lib.Codec.encoding_table['33253'] = [178,233] let s:lib.Codec.encoding_table['33469'] = [178,234] let s:lib.Codec.encoding_table['34558'] = [178,235] let s:lib.Codec.encoding_table['36032'] = [178,236] let s:lib.Codec.encoding_table['38597'] = [178,237] let s:lib.Codec.encoding_table['39187'] = [178,238] let s:lib.Codec.encoding_table['39381'] = [178,239] let s:lib.Codec.encoding_table['20171'] = [178,240] let s:lib.Codec.encoding_table['20250'] = [178,241] let s:lib.Codec.encoding_table['35299'] = [178,242] let s:lib.Codec.encoding_table['22238'] = [178,243] let s:lib.Codec.encoding_table['22602'] = [178,244] let s:lib.Codec.encoding_table['22730'] = [178,245] let s:lib.Codec.encoding_table['24315'] = [178,246] let s:lib.Codec.encoding_table['24555'] = [178,247] let s:lib.Codec.encoding_table['24618'] = [178,248] let s:lib.Codec.encoding_table['24724'] = [178,249] let s:lib.Codec.encoding_table['24674'] = [178,250] let s:lib.Codec.encoding_table['25040'] = [178,251] let s:lib.Codec.encoding_table['25106'] = [178,252] let s:lib.Codec.encoding_table['25296'] = [178,253] let s:lib.Codec.encoding_table['25913'] = [178,254] let s:lib.Codec.encoding_table['39745'] = [179,161] let s:lib.Codec.encoding_table['26214'] = [179,162] let s:lib.Codec.encoding_table['26800'] = [179,163] let s:lib.Codec.encoding_table['28023'] = [179,164] let s:lib.Codec.encoding_table['28784'] = [179,165] let s:lib.Codec.encoding_table['30028'] = [179,166] let s:lib.Codec.encoding_table['30342'] = [179,167] let s:lib.Codec.encoding_table['32117'] = [179,168] let s:lib.Codec.encoding_table['33445'] = [179,169] let s:lib.Codec.encoding_table['34809'] = [179,170] let s:lib.Codec.encoding_table['38283'] = [179,171] let s:lib.Codec.encoding_table['38542'] = [179,172] let s:lib.Codec.encoding_table['35997'] = [179,173] let s:lib.Codec.encoding_table['20977'] = [179,174] let s:lib.Codec.encoding_table['21182'] = [179,175] let s:lib.Codec.encoding_table['22806'] = [179,176] let s:lib.Codec.encoding_table['21683'] = [179,177] let s:lib.Codec.encoding_table['23475'] = [179,178] let s:lib.Codec.encoding_table['23830'] = [179,179] let s:lib.Codec.encoding_table['24936'] = [179,180] let s:lib.Codec.encoding_table['27010'] = [179,181] let s:lib.Codec.encoding_table['28079'] = [179,182] let s:lib.Codec.encoding_table['30861'] = [179,183] let s:lib.Codec.encoding_table['33995'] = [179,184] let s:lib.Codec.encoding_table['34903'] = [179,185] let s:lib.Codec.encoding_table['35442'] = [179,186] let s:lib.Codec.encoding_table['37799'] = [179,187] let s:lib.Codec.encoding_table['39608'] = [179,188] let s:lib.Codec.encoding_table['28012'] = [179,189] let s:lib.Codec.encoding_table['39336'] = [179,190] let s:lib.Codec.encoding_table['34521'] = [179,191] let s:lib.Codec.encoding_table['22435'] = [179,192] let s:lib.Codec.encoding_table['26623'] = [179,193] let s:lib.Codec.encoding_table['34510'] = [179,194] let s:lib.Codec.encoding_table['37390'] = [179,195] let s:lib.Codec.encoding_table['21123'] = [179,196] let s:lib.Codec.encoding_table['22151'] = [179,197] let s:lib.Codec.encoding_table['21508'] = [179,198] let s:lib.Codec.encoding_table['24275'] = [179,199] let s:lib.Codec.encoding_table['25313'] = [179,200] let s:lib.Codec.encoding_table['25785'] = [179,201] let s:lib.Codec.encoding_table['26684'] = [179,202] let s:lib.Codec.encoding_table['26680'] = [179,203] let s:lib.Codec.encoding_table['27579'] = [179,204] let s:lib.Codec.encoding_table['29554'] = [179,205] let s:lib.Codec.encoding_table['30906'] = [179,206] let s:lib.Codec.encoding_table['31339'] = [179,207] let s:lib.Codec.encoding_table['35226'] = [179,208] let s:lib.Codec.encoding_table['35282'] = [179,209] let s:lib.Codec.encoding_table['36203'] = [179,210] let s:lib.Codec.encoding_table['36611'] = [179,211] let s:lib.Codec.encoding_table['37101'] = [179,212] let s:lib.Codec.encoding_table['38307'] = [179,213] let s:lib.Codec.encoding_table['38548'] = [179,214] let s:lib.Codec.encoding_table['38761'] = [179,215] let s:lib.Codec.encoding_table['23398'] = [179,216] let s:lib.Codec.encoding_table['23731'] = [179,217] let s:lib.Codec.encoding_table['27005'] = [179,218] let s:lib.Codec.encoding_table['38989'] = [179,219] let s:lib.Codec.encoding_table['38990'] = [179,220] let s:lib.Codec.encoding_table['25499'] = [179,221] let s:lib.Codec.encoding_table['31520'] = [179,222] let s:lib.Codec.encoding_table['27179'] = [179,223] let s:lib.Codec.encoding_table['27263'] = [179,224] let s:lib.Codec.encoding_table['26806'] = [179,225] let s:lib.Codec.encoding_table['39949'] = [179,226] let s:lib.Codec.encoding_table['28511'] = [179,227] let s:lib.Codec.encoding_table['21106'] = [179,228] let s:lib.Codec.encoding_table['21917'] = [179,229] let s:lib.Codec.encoding_table['24688'] = [179,230] let s:lib.Codec.encoding_table['25324'] = [179,231] let s:lib.Codec.encoding_table['27963'] = [179,232] let s:lib.Codec.encoding_table['28167'] = [179,233] let s:lib.Codec.encoding_table['28369'] = [179,234] let s:lib.Codec.encoding_table['33883'] = [179,235] let s:lib.Codec.encoding_table['35088'] = [179,236] let s:lib.Codec.encoding_table['36676'] = [179,237] let s:lib.Codec.encoding_table['19988'] = [179,238] let s:lib.Codec.encoding_table['39993'] = [179,239] let s:lib.Codec.encoding_table['21494'] = [179,240] let s:lib.Codec.encoding_table['26907'] = [179,241] let s:lib.Codec.encoding_table['27194'] = [179,242] let s:lib.Codec.encoding_table['38788'] = [179,243] let s:lib.Codec.encoding_table['26666'] = [179,244] let s:lib.Codec.encoding_table['20828'] = [179,245] let s:lib.Codec.encoding_table['31427'] = [179,246] let s:lib.Codec.encoding_table['33970'] = [179,247] let s:lib.Codec.encoding_table['37340'] = [179,248] let s:lib.Codec.encoding_table['37772'] = [179,249] let s:lib.Codec.encoding_table['22107'] = [179,250] let s:lib.Codec.encoding_table['40232'] = [179,251] let s:lib.Codec.encoding_table['26658'] = [179,252] let s:lib.Codec.encoding_table['33541'] = [179,253] let s:lib.Codec.encoding_table['33841'] = [179,254] let s:lib.Codec.encoding_table['31909'] = [180,161] let s:lib.Codec.encoding_table['21000'] = [180,162] let s:lib.Codec.encoding_table['33477'] = [180,163] let s:lib.Codec.encoding_table['29926'] = [180,164] let s:lib.Codec.encoding_table['20094'] = [180,165] let s:lib.Codec.encoding_table['20355'] = [180,166] let s:lib.Codec.encoding_table['20896'] = [180,167] let s:lib.Codec.encoding_table['23506'] = [180,168] let s:lib.Codec.encoding_table['21002'] = [180,169] let s:lib.Codec.encoding_table['21208'] = [180,170] let s:lib.Codec.encoding_table['21223'] = [180,171] let s:lib.Codec.encoding_table['24059'] = [180,172] let s:lib.Codec.encoding_table['21914'] = [180,173] let s:lib.Codec.encoding_table['22570'] = [180,174] let s:lib.Codec.encoding_table['23014'] = [180,175] let s:lib.Codec.encoding_table['23436'] = [180,176] let s:lib.Codec.encoding_table['23448'] = [180,177] let s:lib.Codec.encoding_table['23515'] = [180,178] let s:lib.Codec.encoding_table['24178'] = [180,179] let s:lib.Codec.encoding_table['24185'] = [180,180] let s:lib.Codec.encoding_table['24739'] = [180,181] let s:lib.Codec.encoding_table['24863'] = [180,182] let s:lib.Codec.encoding_table['24931'] = [180,183] let s:lib.Codec.encoding_table['25022'] = [180,184] let s:lib.Codec.encoding_table['25563'] = [180,185] let s:lib.Codec.encoding_table['25954'] = [180,186] let s:lib.Codec.encoding_table['26577'] = [180,187] let s:lib.Codec.encoding_table['26707'] = [180,188] let s:lib.Codec.encoding_table['26874'] = [180,189] let s:lib.Codec.encoding_table['27454'] = [180,190] let s:lib.Codec.encoding_table['27475'] = [180,191] let s:lib.Codec.encoding_table['27735'] = [180,192] let s:lib.Codec.encoding_table['28450'] = [180,193] let s:lib.Codec.encoding_table['28567'] = [180,194] let s:lib.Codec.encoding_table['28485'] = [180,195] let s:lib.Codec.encoding_table['29872'] = [180,196] let s:lib.Codec.encoding_table['29976'] = [180,197] let s:lib.Codec.encoding_table['30435'] = [180,198] let s:lib.Codec.encoding_table['30475'] = [180,199] let s:lib.Codec.encoding_table['31487'] = [180,200] let s:lib.Codec.encoding_table['31649'] = [180,201] let s:lib.Codec.encoding_table['31777'] = [180,202] let s:lib.Codec.encoding_table['32233'] = [180,203] let s:lib.Codec.encoding_table['32566'] = [180,204] let s:lib.Codec.encoding_table['32752'] = [180,205] let s:lib.Codec.encoding_table['32925'] = [180,206] let s:lib.Codec.encoding_table['33382'] = [180,207] let s:lib.Codec.encoding_table['33694'] = [180,208] let s:lib.Codec.encoding_table['35251'] = [180,209] let s:lib.Codec.encoding_table['35532'] = [180,210] let s:lib.Codec.encoding_table['36011'] = [180,211] let s:lib.Codec.encoding_table['36996'] = [180,212] let s:lib.Codec.encoding_table['37969'] = [180,213] let s:lib.Codec.encoding_table['38291'] = [180,214] let s:lib.Codec.encoding_table['38289'] = [180,215] let s:lib.Codec.encoding_table['38306'] = [180,216] let s:lib.Codec.encoding_table['38501'] = [180,217] let s:lib.Codec.encoding_table['38867'] = [180,218] let s:lib.Codec.encoding_table['39208'] = [180,219] let s:lib.Codec.encoding_table['33304'] = [180,220] let s:lib.Codec.encoding_table['20024'] = [180,221] let s:lib.Codec.encoding_table['21547'] = [180,222] let s:lib.Codec.encoding_table['23736'] = [180,223] let s:lib.Codec.encoding_table['24012'] = [180,224] let s:lib.Codec.encoding_table['29609'] = [180,225] let s:lib.Codec.encoding_table['30284'] = [180,226] let s:lib.Codec.encoding_table['30524'] = [180,227] let s:lib.Codec.encoding_table['23721'] = [180,228] let s:lib.Codec.encoding_table['32747'] = [180,229] let s:lib.Codec.encoding_table['36107'] = [180,230] let s:lib.Codec.encoding_table['38593'] = [180,231] let s:lib.Codec.encoding_table['38929'] = [180,232] let s:lib.Codec.encoding_table['38996'] = [180,233] let s:lib.Codec.encoding_table['39000'] = [180,234] let s:lib.Codec.encoding_table['20225'] = [180,235] let s:lib.Codec.encoding_table['20238'] = [180,236] let s:lib.Codec.encoding_table['21361'] = [180,237] let s:lib.Codec.encoding_table['21916'] = [180,238] let s:lib.Codec.encoding_table['22120'] = [180,239] let s:lib.Codec.encoding_table['22522'] = [180,240] let s:lib.Codec.encoding_table['22855'] = [180,241] let s:lib.Codec.encoding_table['23305'] = [180,242] let s:lib.Codec.encoding_table['23492'] = [180,243] let s:lib.Codec.encoding_table['23696'] = [180,244] let s:lib.Codec.encoding_table['24076'] = [180,245] let s:lib.Codec.encoding_table['24190'] = [180,246] let s:lib.Codec.encoding_table['24524'] = [180,247] let s:lib.Codec.encoding_table['25582'] = [180,248] let s:lib.Codec.encoding_table['26426'] = [180,249] let s:lib.Codec.encoding_table['26071'] = [180,250] let s:lib.Codec.encoding_table['26082'] = [180,251] let s:lib.Codec.encoding_table['26399'] = [180,252] let s:lib.Codec.encoding_table['26827'] = [180,253] let s:lib.Codec.encoding_table['26820'] = [180,254] let s:lib.Codec.encoding_table['27231'] = [181,161] let s:lib.Codec.encoding_table['24112'] = [181,162] let s:lib.Codec.encoding_table['27589'] = [181,163] let s:lib.Codec.encoding_table['27671'] = [181,164] let s:lib.Codec.encoding_table['27773'] = [181,165] let s:lib.Codec.encoding_table['30079'] = [181,166] let s:lib.Codec.encoding_table['31048'] = [181,167] let s:lib.Codec.encoding_table['23395'] = [181,168] let s:lib.Codec.encoding_table['31232'] = [181,169] let s:lib.Codec.encoding_table['32000'] = [181,170] let s:lib.Codec.encoding_table['24509'] = [181,171] let s:lib.Codec.encoding_table['35215'] = [181,172] let s:lib.Codec.encoding_table['35352'] = [181,173] let s:lib.Codec.encoding_table['36020'] = [181,174] let s:lib.Codec.encoding_table['36215'] = [181,175] let s:lib.Codec.encoding_table['36556'] = [181,176] let s:lib.Codec.encoding_table['36637'] = [181,177] let s:lib.Codec.encoding_table['39138'] = [181,178] let s:lib.Codec.encoding_table['39438'] = [181,179] let s:lib.Codec.encoding_table['39740'] = [181,180] let s:lib.Codec.encoding_table['20096'] = [181,181] let s:lib.Codec.encoding_table['20605'] = [181,182] let s:lib.Codec.encoding_table['20736'] = [181,183] let s:lib.Codec.encoding_table['22931'] = [181,184] let s:lib.Codec.encoding_table['23452'] = [181,185] let s:lib.Codec.encoding_table['25135'] = [181,186] let s:lib.Codec.encoding_table['25216'] = [181,187] let s:lib.Codec.encoding_table['25836'] = [181,188] let s:lib.Codec.encoding_table['27450'] = [181,189] let s:lib.Codec.encoding_table['29344'] = [181,190] let s:lib.Codec.encoding_table['30097'] = [181,191] let s:lib.Codec.encoding_table['31047'] = [181,192] let s:lib.Codec.encoding_table['32681'] = [181,193] let s:lib.Codec.encoding_table['34811'] = [181,194] let s:lib.Codec.encoding_table['35516'] = [181,195] let s:lib.Codec.encoding_table['35696'] = [181,196] let s:lib.Codec.encoding_table['25516'] = [181,197] let s:lib.Codec.encoding_table['33738'] = [181,198] let s:lib.Codec.encoding_table['38816'] = [181,199] let s:lib.Codec.encoding_table['21513'] = [181,200] let s:lib.Codec.encoding_table['21507'] = [181,201] let s:lib.Codec.encoding_table['21931'] = [181,202] let s:lib.Codec.encoding_table['26708'] = [181,203] let s:lib.Codec.encoding_table['27224'] = [181,204] let s:lib.Codec.encoding_table['35440'] = [181,205] let s:lib.Codec.encoding_table['30759'] = [181,206] let s:lib.Codec.encoding_table['26485'] = [181,207] let s:lib.Codec.encoding_table['40653'] = [181,208] let s:lib.Codec.encoding_table['21364'] = [181,209] let s:lib.Codec.encoding_table['23458'] = [181,210] let s:lib.Codec.encoding_table['33050'] = [181,211] let s:lib.Codec.encoding_table['34384'] = [181,212] let s:lib.Codec.encoding_table['36870'] = [181,213] let s:lib.Codec.encoding_table['19992'] = [181,214] let s:lib.Codec.encoding_table['20037'] = [181,215] let s:lib.Codec.encoding_table['20167'] = [181,216] let s:lib.Codec.encoding_table['20241'] = [181,217] let s:lib.Codec.encoding_table['21450'] = [181,218] let s:lib.Codec.encoding_table['21560'] = [181,219] let s:lib.Codec.encoding_table['23470'] = [181,220] let s:lib.Codec.encoding_table['24339'] = [181,221] let s:lib.Codec.encoding_table['24613'] = [181,222] let s:lib.Codec.encoding_table['25937'] = [181,223] let s:lib.Codec.encoding_table['26429'] = [181,224] let s:lib.Codec.encoding_table['27714'] = [181,225] let s:lib.Codec.encoding_table['27762'] = [181,226] let s:lib.Codec.encoding_table['27875'] = [181,227] let s:lib.Codec.encoding_table['28792'] = [181,228] let s:lib.Codec.encoding_table['29699'] = [181,229] let s:lib.Codec.encoding_table['31350'] = [181,230] let s:lib.Codec.encoding_table['31406'] = [181,231] let s:lib.Codec.encoding_table['31496'] = [181,232] let s:lib.Codec.encoding_table['32026'] = [181,233] let s:lib.Codec.encoding_table['31998'] = [181,234] let s:lib.Codec.encoding_table['32102'] = [181,235] let s:lib.Codec.encoding_table['26087'] = [181,236] let s:lib.Codec.encoding_table['29275'] = [181,237] let s:lib.Codec.encoding_table['21435'] = [181,238] let s:lib.Codec.encoding_table['23621'] = [181,239] let s:lib.Codec.encoding_table['24040'] = [181,240] let s:lib.Codec.encoding_table['25298'] = [181,241] let s:lib.Codec.encoding_table['25312'] = [181,242] let s:lib.Codec.encoding_table['25369'] = [181,243] let s:lib.Codec.encoding_table['28192'] = [181,244] let s:lib.Codec.encoding_table['34394'] = [181,245] let s:lib.Codec.encoding_table['35377'] = [181,246] let s:lib.Codec.encoding_table['36317'] = [181,247] let s:lib.Codec.encoding_table['37624'] = [181,248] let s:lib.Codec.encoding_table['28417'] = [181,249] let s:lib.Codec.encoding_table['31142'] = [181,250] let s:lib.Codec.encoding_table['39770'] = [181,251] let s:lib.Codec.encoding_table['20136'] = [181,252] let s:lib.Codec.encoding_table['20139'] = [181,253] let s:lib.Codec.encoding_table['20140'] = [181,254] let s:lib.Codec.encoding_table['20379'] = [182,161] let s:lib.Codec.encoding_table['20384'] = [182,162] let s:lib.Codec.encoding_table['20689'] = [182,163] let s:lib.Codec.encoding_table['20807'] = [182,164] let s:lib.Codec.encoding_table['31478'] = [182,165] let s:lib.Codec.encoding_table['20849'] = [182,166] let s:lib.Codec.encoding_table['20982'] = [182,167] let s:lib.Codec.encoding_table['21332'] = [182,168] let s:lib.Codec.encoding_table['21281'] = [182,169] let s:lib.Codec.encoding_table['21375'] = [182,170] let s:lib.Codec.encoding_table['21483'] = [182,171] let s:lib.Codec.encoding_table['21932'] = [182,172] let s:lib.Codec.encoding_table['22659'] = [182,173] let s:lib.Codec.encoding_table['23777'] = [182,174] let s:lib.Codec.encoding_table['24375'] = [182,175] let s:lib.Codec.encoding_table['24394'] = [182,176] let s:lib.Codec.encoding_table['24623'] = [182,177] let s:lib.Codec.encoding_table['24656'] = [182,178] let s:lib.Codec.encoding_table['24685'] = [182,179] let s:lib.Codec.encoding_table['25375'] = [182,180] let s:lib.Codec.encoding_table['25945'] = [182,181] let s:lib.Codec.encoding_table['27211'] = [182,182] let s:lib.Codec.encoding_table['27841'] = [182,183] let s:lib.Codec.encoding_table['29378'] = [182,184] let s:lib.Codec.encoding_table['29421'] = [182,185] let s:lib.Codec.encoding_table['30703'] = [182,186] let s:lib.Codec.encoding_table['33016'] = [182,187] let s:lib.Codec.encoding_table['33029'] = [182,188] let s:lib.Codec.encoding_table['33288'] = [182,189] let s:lib.Codec.encoding_table['34126'] = [182,190] let s:lib.Codec.encoding_table['37111'] = [182,191] let s:lib.Codec.encoding_table['37857'] = [182,192] let s:lib.Codec.encoding_table['38911'] = [182,193] let s:lib.Codec.encoding_table['39255'] = [182,194] let s:lib.Codec.encoding_table['39514'] = [182,195] let s:lib.Codec.encoding_table['20208'] = [182,196] let s:lib.Codec.encoding_table['20957'] = [182,197] let s:lib.Codec.encoding_table['23597'] = [182,198] let s:lib.Codec.encoding_table['26241'] = [182,199] let s:lib.Codec.encoding_table['26989'] = [182,200] let s:lib.Codec.encoding_table['23616'] = [182,201] let s:lib.Codec.encoding_table['26354'] = [182,202] let s:lib.Codec.encoding_table['26997'] = [182,203] let s:lib.Codec.encoding_table['29577'] = [182,204] let s:lib.Codec.encoding_table['26704'] = [182,205] let s:lib.Codec.encoding_table['31873'] = [182,206] let s:lib.Codec.encoding_table['20677'] = [182,207] let s:lib.Codec.encoding_table['21220'] = [182,208] let s:lib.Codec.encoding_table['22343'] = [182,209] let s:lib.Codec.encoding_table['24062'] = [182,210] let s:lib.Codec.encoding_table['37670'] = [182,211] let s:lib.Codec.encoding_table['26020'] = [182,212] let s:lib.Codec.encoding_table['27427'] = [182,213] let s:lib.Codec.encoding_table['27453'] = [182,214] let s:lib.Codec.encoding_table['29748'] = [182,215] let s:lib.Codec.encoding_table['31105'] = [182,216] let s:lib.Codec.encoding_table['31165'] = [182,217] let s:lib.Codec.encoding_table['31563'] = [182,218] let s:lib.Codec.encoding_table['32202'] = [182,219] let s:lib.Codec.encoding_table['33465'] = [182,220] let s:lib.Codec.encoding_table['33740'] = [182,221] let s:lib.Codec.encoding_table['34943'] = [182,222] let s:lib.Codec.encoding_table['35167'] = [182,223] let s:lib.Codec.encoding_table['35641'] = [182,224] let s:lib.Codec.encoding_table['36817'] = [182,225] let s:lib.Codec.encoding_table['37329'] = [182,226] let s:lib.Codec.encoding_table['21535'] = [182,227] let s:lib.Codec.encoding_table['37504'] = [182,228] let s:lib.Codec.encoding_table['20061'] = [182,229] let s:lib.Codec.encoding_table['20534'] = [182,230] let s:lib.Codec.encoding_table['21477'] = [182,231] let s:lib.Codec.encoding_table['21306'] = [182,232] let s:lib.Codec.encoding_table['29399'] = [182,233] let s:lib.Codec.encoding_table['29590'] = [182,234] let s:lib.Codec.encoding_table['30697'] = [182,235] let s:lib.Codec.encoding_table['33510'] = [182,236] let s:lib.Codec.encoding_table['36527'] = [182,237] let s:lib.Codec.encoding_table['39366'] = [182,238] let s:lib.Codec.encoding_table['39368'] = [182,239] let s:lib.Codec.encoding_table['39378'] = [182,240] let s:lib.Codec.encoding_table['20855'] = [182,241] let s:lib.Codec.encoding_table['24858'] = [182,242] let s:lib.Codec.encoding_table['34398'] = [182,243] let s:lib.Codec.encoding_table['21936'] = [182,244] let s:lib.Codec.encoding_table['31354'] = [182,245] let s:lib.Codec.encoding_table['20598'] = [182,246] let s:lib.Codec.encoding_table['23507'] = [182,247] let s:lib.Codec.encoding_table['36935'] = [182,248] let s:lib.Codec.encoding_table['38533'] = [182,249] let s:lib.Codec.encoding_table['20018'] = [182,250] let s:lib.Codec.encoding_table['27355'] = [182,251] let s:lib.Codec.encoding_table['37351'] = [182,252] let s:lib.Codec.encoding_table['23633'] = [182,253] let s:lib.Codec.encoding_table['23624'] = [182,254] let s:lib.Codec.encoding_table['25496'] = [183,161] let s:lib.Codec.encoding_table['31391'] = [183,162] let s:lib.Codec.encoding_table['27795'] = [183,163] let s:lib.Codec.encoding_table['38772'] = [183,164] let s:lib.Codec.encoding_table['36705'] = [183,165] let s:lib.Codec.encoding_table['31402'] = [183,166] let s:lib.Codec.encoding_table['29066'] = [183,167] let s:lib.Codec.encoding_table['38536'] = [183,168] let s:lib.Codec.encoding_table['31874'] = [183,169] let s:lib.Codec.encoding_table['26647'] = [183,170] let s:lib.Codec.encoding_table['32368'] = [183,171] let s:lib.Codec.encoding_table['26705'] = [183,172] let s:lib.Codec.encoding_table['37740'] = [183,173] let s:lib.Codec.encoding_table['21234'] = [183,174] let s:lib.Codec.encoding_table['21531'] = [183,175] let s:lib.Codec.encoding_table['34219'] = [183,176] let s:lib.Codec.encoding_table['35347'] = [183,177] let s:lib.Codec.encoding_table['32676'] = [183,178] let s:lib.Codec.encoding_table['36557'] = [183,179] let s:lib.Codec.encoding_table['37089'] = [183,180] let s:lib.Codec.encoding_table['21350'] = [183,181] let s:lib.Codec.encoding_table['34952'] = [183,182] let s:lib.Codec.encoding_table['31041'] = [183,183] let s:lib.Codec.encoding_table['20418'] = [183,184] let s:lib.Codec.encoding_table['20670'] = [183,185] let s:lib.Codec.encoding_table['21009'] = [183,186] let s:lib.Codec.encoding_table['20804'] = [183,187] let s:lib.Codec.encoding_table['21843'] = [183,188] let s:lib.Codec.encoding_table['22317'] = [183,189] let s:lib.Codec.encoding_table['29674'] = [183,190] let s:lib.Codec.encoding_table['22411'] = [183,191] let s:lib.Codec.encoding_table['22865'] = [183,192] let s:lib.Codec.encoding_table['24418'] = [183,193] let s:lib.Codec.encoding_table['24452'] = [183,194] let s:lib.Codec.encoding_table['24693'] = [183,195] let s:lib.Codec.encoding_table['24950'] = [183,196] let s:lib.Codec.encoding_table['24935'] = [183,197] let s:lib.Codec.encoding_table['25001'] = [183,198] let s:lib.Codec.encoding_table['25522'] = [183,199] let s:lib.Codec.encoding_table['25658'] = [183,200] let s:lib.Codec.encoding_table['25964'] = [183,201] let s:lib.Codec.encoding_table['26223'] = [183,202] let s:lib.Codec.encoding_table['26690'] = [183,203] let s:lib.Codec.encoding_table['28179'] = [183,204] let s:lib.Codec.encoding_table['30054'] = [183,205] let s:lib.Codec.encoding_table['31293'] = [183,206] let s:lib.Codec.encoding_table['31995'] = [183,207] let s:lib.Codec.encoding_table['32076'] = [183,208] let s:lib.Codec.encoding_table['32153'] = [183,209] let s:lib.Codec.encoding_table['32331'] = [183,210] let s:lib.Codec.encoding_table['32619'] = [183,211] let s:lib.Codec.encoding_table['33550'] = [183,212] let s:lib.Codec.encoding_table['33610'] = [183,213] let s:lib.Codec.encoding_table['34509'] = [183,214] let s:lib.Codec.encoding_table['35336'] = [183,215] let s:lib.Codec.encoding_table['35427'] = [183,216] let s:lib.Codec.encoding_table['35686'] = [183,217] let s:lib.Codec.encoding_table['36605'] = [183,218] let s:lib.Codec.encoding_table['38938'] = [183,219] let s:lib.Codec.encoding_table['40335'] = [183,220] let s:lib.Codec.encoding_table['33464'] = [183,221] let s:lib.Codec.encoding_table['36814'] = [183,222] let s:lib.Codec.encoding_table['39912'] = [183,223] let s:lib.Codec.encoding_table['21127'] = [183,224] let s:lib.Codec.encoding_table['25119'] = [183,225] let s:lib.Codec.encoding_table['25731'] = [183,226] let s:lib.Codec.encoding_table['28608'] = [183,227] let s:lib.Codec.encoding_table['38553'] = [183,228] let s:lib.Codec.encoding_table['26689'] = [183,229] let s:lib.Codec.encoding_table['20625'] = [183,230] let s:lib.Codec.encoding_table['27424'] = [183,231] let s:lib.Codec.encoding_table['27770'] = [183,232] let s:lib.Codec.encoding_table['28500'] = [183,233] let s:lib.Codec.encoding_table['31348'] = [183,234] let s:lib.Codec.encoding_table['32080'] = [183,235] let s:lib.Codec.encoding_table['34880'] = [183,236] let s:lib.Codec.encoding_table['35363'] = [183,237] let s:lib.Codec.encoding_table['26376'] = [183,238] let s:lib.Codec.encoding_table['20214'] = [183,239] let s:lib.Codec.encoding_table['20537'] = [183,240] let s:lib.Codec.encoding_table['20518'] = [183,241] let s:lib.Codec.encoding_table['20581'] = [183,242] let s:lib.Codec.encoding_table['20860'] = [183,243] let s:lib.Codec.encoding_table['21048'] = [183,244] let s:lib.Codec.encoding_table['21091'] = [183,245] let s:lib.Codec.encoding_table['21927'] = [183,246] let s:lib.Codec.encoding_table['22287'] = [183,247] let s:lib.Codec.encoding_table['22533'] = [183,248] let s:lib.Codec.encoding_table['23244'] = [183,249] let s:lib.Codec.encoding_table['24314'] = [183,250] let s:lib.Codec.encoding_table['25010'] = [183,251] let s:lib.Codec.encoding_table['25080'] = [183,252] let s:lib.Codec.encoding_table['25331'] = [183,253] let s:lib.Codec.encoding_table['25458'] = [183,254] let s:lib.Codec.encoding_table['26908'] = [184,161] let s:lib.Codec.encoding_table['27177'] = [184,162] let s:lib.Codec.encoding_table['29309'] = [184,163] let s:lib.Codec.encoding_table['29356'] = [184,164] let s:lib.Codec.encoding_table['29486'] = [184,165] let s:lib.Codec.encoding_table['30740'] = [184,166] let s:lib.Codec.encoding_table['30831'] = [184,167] let s:lib.Codec.encoding_table['32121'] = [184,168] let s:lib.Codec.encoding_table['30476'] = [184,169] let s:lib.Codec.encoding_table['32937'] = [184,170] let s:lib.Codec.encoding_table['35211'] = [184,171] let s:lib.Codec.encoding_table['35609'] = [184,172] let s:lib.Codec.encoding_table['36066'] = [184,173] let s:lib.Codec.encoding_table['36562'] = [184,174] let s:lib.Codec.encoding_table['36963'] = [184,175] let s:lib.Codec.encoding_table['37749'] = [184,176] let s:lib.Codec.encoding_table['38522'] = [184,177] let s:lib.Codec.encoding_table['38997'] = [184,178] let s:lib.Codec.encoding_table['39443'] = [184,179] let s:lib.Codec.encoding_table['40568'] = [184,180] let s:lib.Codec.encoding_table['20803'] = [184,181] let s:lib.Codec.encoding_table['21407'] = [184,182] let s:lib.Codec.encoding_table['21427'] = [184,183] let s:lib.Codec.encoding_table['24187'] = [184,184] let s:lib.Codec.encoding_table['24358'] = [184,185] let s:lib.Codec.encoding_table['28187'] = [184,186] let s:lib.Codec.encoding_table['28304'] = [184,187] let s:lib.Codec.encoding_table['29572'] = [184,188] let s:lib.Codec.encoding_table['29694'] = [184,189] let s:lib.Codec.encoding_table['32067'] = [184,190] let s:lib.Codec.encoding_table['33335'] = [184,191] let s:lib.Codec.encoding_table['35328'] = [184,192] let s:lib.Codec.encoding_table['35578'] = [184,193] let s:lib.Codec.encoding_table['38480'] = [184,194] let s:lib.Codec.encoding_table['20046'] = [184,195] let s:lib.Codec.encoding_table['20491'] = [184,196] let s:lib.Codec.encoding_table['21476'] = [184,197] let s:lib.Codec.encoding_table['21628'] = [184,198] let s:lib.Codec.encoding_table['22266'] = [184,199] let s:lib.Codec.encoding_table['22993'] = [184,200] let s:lib.Codec.encoding_table['23396'] = [184,201] let s:lib.Codec.encoding_table['24049'] = [184,202] let s:lib.Codec.encoding_table['24235'] = [184,203] let s:lib.Codec.encoding_table['24359'] = [184,204] let s:lib.Codec.encoding_table['25144'] = [184,205] let s:lib.Codec.encoding_table['25925'] = [184,206] let s:lib.Codec.encoding_table['26543'] = [184,207] let s:lib.Codec.encoding_table['28246'] = [184,208] let s:lib.Codec.encoding_table['29392'] = [184,209] let s:lib.Codec.encoding_table['31946'] = [184,210] let s:lib.Codec.encoding_table['34996'] = [184,211] let s:lib.Codec.encoding_table['32929'] = [184,212] let s:lib.Codec.encoding_table['32993'] = [184,213] let s:lib.Codec.encoding_table['33776'] = [184,214] let s:lib.Codec.encoding_table['34382'] = [184,215] let s:lib.Codec.encoding_table['35463'] = [184,216] let s:lib.Codec.encoding_table['36328'] = [184,217] let s:lib.Codec.encoding_table['37431'] = [184,218] let s:lib.Codec.encoding_table['38599'] = [184,219] let s:lib.Codec.encoding_table['39015'] = [184,220] let s:lib.Codec.encoding_table['40723'] = [184,221] let s:lib.Codec.encoding_table['20116'] = [184,222] let s:lib.Codec.encoding_table['20114'] = [184,223] let s:lib.Codec.encoding_table['20237'] = [184,224] let s:lib.Codec.encoding_table['21320'] = [184,225] let s:lib.Codec.encoding_table['21577'] = [184,226] let s:lib.Codec.encoding_table['21566'] = [184,227] let s:lib.Codec.encoding_table['23087'] = [184,228] let s:lib.Codec.encoding_table['24460'] = [184,229] let s:lib.Codec.encoding_table['24481'] = [184,230] let s:lib.Codec.encoding_table['24735'] = [184,231] let s:lib.Codec.encoding_table['26791'] = [184,232] let s:lib.Codec.encoding_table['27278'] = [184,233] let s:lib.Codec.encoding_table['29786'] = [184,234] let s:lib.Codec.encoding_table['30849'] = [184,235] let s:lib.Codec.encoding_table['35486'] = [184,236] let s:lib.Codec.encoding_table['35492'] = [184,237] let s:lib.Codec.encoding_table['35703'] = [184,238] let s:lib.Codec.encoding_table['37264'] = [184,239] let s:lib.Codec.encoding_table['20062'] = [184,240] let s:lib.Codec.encoding_table['39881'] = [184,241] let s:lib.Codec.encoding_table['20132'] = [184,242] let s:lib.Codec.encoding_table['20348'] = [184,243] let s:lib.Codec.encoding_table['20399'] = [184,244] let s:lib.Codec.encoding_table['20505'] = [184,245] let s:lib.Codec.encoding_table['20502'] = [184,246] let s:lib.Codec.encoding_table['20809'] = [184,247] let s:lib.Codec.encoding_table['20844'] = [184,248] let s:lib.Codec.encoding_table['21151'] = [184,249] let s:lib.Codec.encoding_table['21177'] = [184,250] let s:lib.Codec.encoding_table['21246'] = [184,251] let s:lib.Codec.encoding_table['21402'] = [184,252] let s:lib.Codec.encoding_table['21475'] = [184,253] let s:lib.Codec.encoding_table['21521'] = [184,254] let s:lib.Codec.encoding_table['21518'] = [185,161] let s:lib.Codec.encoding_table['21897'] = [185,162] let s:lib.Codec.encoding_table['22353'] = [185,163] let s:lib.Codec.encoding_table['22434'] = [185,164] let s:lib.Codec.encoding_table['22909'] = [185,165] let s:lib.Codec.encoding_table['23380'] = [185,166] let s:lib.Codec.encoding_table['23389'] = [185,167] let s:lib.Codec.encoding_table['23439'] = [185,168] let s:lib.Codec.encoding_table['24037'] = [185,169] let s:lib.Codec.encoding_table['24039'] = [185,170] let s:lib.Codec.encoding_table['24055'] = [185,171] let s:lib.Codec.encoding_table['24184'] = [185,172] let s:lib.Codec.encoding_table['24195'] = [185,173] let s:lib.Codec.encoding_table['24218'] = [185,174] let s:lib.Codec.encoding_table['24247'] = [185,175] let s:lib.Codec.encoding_table['24344'] = [185,176] let s:lib.Codec.encoding_table['24658'] = [185,177] let s:lib.Codec.encoding_table['24908'] = [185,178] let s:lib.Codec.encoding_table['25239'] = [185,179] let s:lib.Codec.encoding_table['25304'] = [185,180] let s:lib.Codec.encoding_table['25511'] = [185,181] let s:lib.Codec.encoding_table['25915'] = [185,182] let s:lib.Codec.encoding_table['26114'] = [185,183] let s:lib.Codec.encoding_table['26179'] = [185,184] let s:lib.Codec.encoding_table['26356'] = [185,185] let s:lib.Codec.encoding_table['26477'] = [185,186] let s:lib.Codec.encoding_table['26657'] = [185,187] let s:lib.Codec.encoding_table['26775'] = [185,188] let s:lib.Codec.encoding_table['27083'] = [185,189] let s:lib.Codec.encoding_table['27743'] = [185,190] let s:lib.Codec.encoding_table['27946'] = [185,191] let s:lib.Codec.encoding_table['28009'] = [185,192] let s:lib.Codec.encoding_table['28207'] = [185,193] let s:lib.Codec.encoding_table['28317'] = [185,194] let s:lib.Codec.encoding_table['30002'] = [185,195] let s:lib.Codec.encoding_table['30343'] = [185,196] let s:lib.Codec.encoding_table['30828'] = [185,197] let s:lib.Codec.encoding_table['31295'] = [185,198] let s:lib.Codec.encoding_table['31968'] = [185,199] let s:lib.Codec.encoding_table['32005'] = [185,200] let s:lib.Codec.encoding_table['32024'] = [185,201] let s:lib.Codec.encoding_table['32094'] = [185,202] let s:lib.Codec.encoding_table['32177'] = [185,203] let s:lib.Codec.encoding_table['32789'] = [185,204] let s:lib.Codec.encoding_table['32771'] = [185,205] let s:lib.Codec.encoding_table['32943'] = [185,206] let s:lib.Codec.encoding_table['32945'] = [185,207] let s:lib.Codec.encoding_table['33108'] = [185,208] let s:lib.Codec.encoding_table['33167'] = [185,209] let s:lib.Codec.encoding_table['33322'] = [185,210] let s:lib.Codec.encoding_table['33618'] = [185,211] let s:lib.Codec.encoding_table['34892'] = [185,212] let s:lib.Codec.encoding_table['34913'] = [185,213] let s:lib.Codec.encoding_table['35611'] = [185,214] let s:lib.Codec.encoding_table['36002'] = [185,215] let s:lib.Codec.encoding_table['36092'] = [185,216] let s:lib.Codec.encoding_table['37066'] = [185,217] let s:lib.Codec.encoding_table['37237'] = [185,218] let s:lib.Codec.encoding_table['37489'] = [185,219] let s:lib.Codec.encoding_table['30783'] = [185,220] let s:lib.Codec.encoding_table['37628'] = [185,221] let s:lib.Codec.encoding_table['38308'] = [185,222] let s:lib.Codec.encoding_table['38477'] = [185,223] let s:lib.Codec.encoding_table['38917'] = [185,224] let s:lib.Codec.encoding_table['39321'] = [185,225] let s:lib.Codec.encoding_table['39640'] = [185,226] let s:lib.Codec.encoding_table['40251'] = [185,227] let s:lib.Codec.encoding_table['21083'] = [185,228] let s:lib.Codec.encoding_table['21163'] = [185,229] let s:lib.Codec.encoding_table['21495'] = [185,230] let s:lib.Codec.encoding_table['21512'] = [185,231] let s:lib.Codec.encoding_table['22741'] = [185,232] let s:lib.Codec.encoding_table['25335'] = [185,233] let s:lib.Codec.encoding_table['28640'] = [185,234] let s:lib.Codec.encoding_table['35946'] = [185,235] let s:lib.Codec.encoding_table['36703'] = [185,236] let s:lib.Codec.encoding_table['40633'] = [185,237] let s:lib.Codec.encoding_table['20811'] = [185,238] let s:lib.Codec.encoding_table['21051'] = [185,239] let s:lib.Codec.encoding_table['21578'] = [185,240] let s:lib.Codec.encoding_table['22269'] = [185,241] let s:lib.Codec.encoding_table['31296'] = [185,242] let s:lib.Codec.encoding_table['37239'] = [185,243] let s:lib.Codec.encoding_table['40288'] = [185,244] let s:lib.Codec.encoding_table['40658'] = [185,245] let s:lib.Codec.encoding_table['29508'] = [185,246] let s:lib.Codec.encoding_table['28425'] = [185,247] let s:lib.Codec.encoding_table['33136'] = [185,248] let s:lib.Codec.encoding_table['29969'] = [185,249] let s:lib.Codec.encoding_table['24573'] = [185,250] let s:lib.Codec.encoding_table['24794'] = [185,251] let s:lib.Codec.encoding_table['39592'] = [185,252] let s:lib.Codec.encoding_table['29403'] = [185,253] let s:lib.Codec.encoding_table['36796'] = [185,254] let s:lib.Codec.encoding_table['27492'] = [186,161] let s:lib.Codec.encoding_table['38915'] = [186,162] let s:lib.Codec.encoding_table['20170'] = [186,163] let s:lib.Codec.encoding_table['22256'] = [186,164] let s:lib.Codec.encoding_table['22372'] = [186,165] let s:lib.Codec.encoding_table['22718'] = [186,166] let s:lib.Codec.encoding_table['23130'] = [186,167] let s:lib.Codec.encoding_table['24680'] = [186,168] let s:lib.Codec.encoding_table['25031'] = [186,169] let s:lib.Codec.encoding_table['26127'] = [186,170] let s:lib.Codec.encoding_table['26118'] = [186,171] let s:lib.Codec.encoding_table['26681'] = [186,172] let s:lib.Codec.encoding_table['26801'] = [186,173] let s:lib.Codec.encoding_table['28151'] = [186,174] let s:lib.Codec.encoding_table['30165'] = [186,175] let s:lib.Codec.encoding_table['32058'] = [186,176] let s:lib.Codec.encoding_table['33390'] = [186,177] let s:lib.Codec.encoding_table['39746'] = [186,178] let s:lib.Codec.encoding_table['20123'] = [186,179] let s:lib.Codec.encoding_table['20304'] = [186,180] let s:lib.Codec.encoding_table['21449'] = [186,181] let s:lib.Codec.encoding_table['21766'] = [186,182] let s:lib.Codec.encoding_table['23919'] = [186,183] let s:lib.Codec.encoding_table['24038'] = [186,184] let s:lib.Codec.encoding_table['24046'] = [186,185] let s:lib.Codec.encoding_table['26619'] = [186,186] let s:lib.Codec.encoding_table['27801'] = [186,187] let s:lib.Codec.encoding_table['29811'] = [186,188] let s:lib.Codec.encoding_table['30722'] = [186,189] let s:lib.Codec.encoding_table['35408'] = [186,190] let s:lib.Codec.encoding_table['37782'] = [186,191] let s:lib.Codec.encoding_table['35039'] = [186,192] let s:lib.Codec.encoding_table['22352'] = [186,193] let s:lib.Codec.encoding_table['24231'] = [186,194] let s:lib.Codec.encoding_table['25387'] = [186,195] let s:lib.Codec.encoding_table['20661'] = [186,196] let s:lib.Codec.encoding_table['20652'] = [186,197] let s:lib.Codec.encoding_table['20877'] = [186,198] let s:lib.Codec.encoding_table['26368'] = [186,199] let s:lib.Codec.encoding_table['21705'] = [186,200] let s:lib.Codec.encoding_table['22622'] = [186,201] let s:lib.Codec.encoding_table['22971'] = [186,202] let s:lib.Codec.encoding_table['23472'] = [186,203] let s:lib.Codec.encoding_table['24425'] = [186,204] let s:lib.Codec.encoding_table['25165'] = [186,205] let s:lib.Codec.encoding_table['25505'] = [186,206] let s:lib.Codec.encoding_table['26685'] = [186,207] let s:lib.Codec.encoding_table['27507'] = [186,208] let s:lib.Codec.encoding_table['28168'] = [186,209] let s:lib.Codec.encoding_table['28797'] = [186,210] let s:lib.Codec.encoding_table['37319'] = [186,211] let s:lib.Codec.encoding_table['29312'] = [186,212] let s:lib.Codec.encoding_table['30741'] = [186,213] let s:lib.Codec.encoding_table['30758'] = [186,214] let s:lib.Codec.encoding_table['31085'] = [186,215] let s:lib.Codec.encoding_table['25998'] = [186,216] let s:lib.Codec.encoding_table['32048'] = [186,217] let s:lib.Codec.encoding_table['33756'] = [186,218] let s:lib.Codec.encoding_table['35009'] = [186,219] let s:lib.Codec.encoding_table['36617'] = [186,220] let s:lib.Codec.encoding_table['38555'] = [186,221] let s:lib.Codec.encoding_table['21092'] = [186,222] let s:lib.Codec.encoding_table['22312'] = [186,223] let s:lib.Codec.encoding_table['26448'] = [186,224] let s:lib.Codec.encoding_table['32618'] = [186,225] let s:lib.Codec.encoding_table['36001'] = [186,226] let s:lib.Codec.encoding_table['20916'] = [186,227] let s:lib.Codec.encoding_table['22338'] = [186,228] let s:lib.Codec.encoding_table['38442'] = [186,229] let s:lib.Codec.encoding_table['22586'] = [186,230] let s:lib.Codec.encoding_table['27018'] = [186,231] let s:lib.Codec.encoding_table['32948'] = [186,232] let s:lib.Codec.encoding_table['21682'] = [186,233] let s:lib.Codec.encoding_table['23822'] = [186,234] let s:lib.Codec.encoding_table['22524'] = [186,235] let s:lib.Codec.encoding_table['30869'] = [186,236] let s:lib.Codec.encoding_table['40442'] = [186,237] let s:lib.Codec.encoding_table['20316'] = [186,238] let s:lib.Codec.encoding_table['21066'] = [186,239] let s:lib.Codec.encoding_table['21643'] = [186,240] let s:lib.Codec.encoding_table['25662'] = [186,241] let s:lib.Codec.encoding_table['26152'] = [186,242] let s:lib.Codec.encoding_table['26388'] = [186,243] let s:lib.Codec.encoding_table['26613'] = [186,244] let s:lib.Codec.encoding_table['31364'] = [186,245] let s:lib.Codec.encoding_table['31574'] = [186,246] let s:lib.Codec.encoding_table['32034'] = [186,247] let s:lib.Codec.encoding_table['37679'] = [186,248] let s:lib.Codec.encoding_table['26716'] = [186,249] let s:lib.Codec.encoding_table['39853'] = [186,250] let s:lib.Codec.encoding_table['31545'] = [186,251] let s:lib.Codec.encoding_table['21273'] = [186,252] let s:lib.Codec.encoding_table['20874'] = [186,253] let s:lib.Codec.encoding_table['21047'] = [186,254] let s:lib.Codec.encoding_table['23519'] = [187,161] let s:lib.Codec.encoding_table['25334'] = [187,162] let s:lib.Codec.encoding_table['25774'] = [187,163] let s:lib.Codec.encoding_table['25830'] = [187,164] let s:lib.Codec.encoding_table['26413'] = [187,165] let s:lib.Codec.encoding_table['27578'] = [187,166] let s:lib.Codec.encoding_table['34217'] = [187,167] let s:lib.Codec.encoding_table['38609'] = [187,168] let s:lib.Codec.encoding_table['30352'] = [187,169] let s:lib.Codec.encoding_table['39894'] = [187,170] let s:lib.Codec.encoding_table['25420'] = [187,171] let s:lib.Codec.encoding_table['37638'] = [187,172] let s:lib.Codec.encoding_table['39851'] = [187,173] let s:lib.Codec.encoding_table['30399'] = [187,174] let s:lib.Codec.encoding_table['26194'] = [187,175] let s:lib.Codec.encoding_table['19977'] = [187,176] let s:lib.Codec.encoding_table['20632'] = [187,177] let s:lib.Codec.encoding_table['21442'] = [187,178] let s:lib.Codec.encoding_table['23665'] = [187,179] let s:lib.Codec.encoding_table['24808'] = [187,180] let s:lib.Codec.encoding_table['25746'] = [187,181] let s:lib.Codec.encoding_table['25955'] = [187,182] let s:lib.Codec.encoding_table['26719'] = [187,183] let s:lib.Codec.encoding_table['29158'] = [187,184] let s:lib.Codec.encoding_table['29642'] = [187,185] let s:lib.Codec.encoding_table['29987'] = [187,186] let s:lib.Codec.encoding_table['31639'] = [187,187] let s:lib.Codec.encoding_table['32386'] = [187,188] let s:lib.Codec.encoding_table['34453'] = [187,189] let s:lib.Codec.encoding_table['35715'] = [187,190] let s:lib.Codec.encoding_table['36059'] = [187,191] let s:lib.Codec.encoding_table['37240'] = [187,192] let s:lib.Codec.encoding_table['39184'] = [187,193] let s:lib.Codec.encoding_table['26028'] = [187,194] let s:lib.Codec.encoding_table['26283'] = [187,195] let s:lib.Codec.encoding_table['27531'] = [187,196] let s:lib.Codec.encoding_table['20181'] = [187,197] let s:lib.Codec.encoding_table['20180'] = [187,198] let s:lib.Codec.encoding_table['20282'] = [187,199] let s:lib.Codec.encoding_table['20351'] = [187,200] let s:lib.Codec.encoding_table['21050'] = [187,201] let s:lib.Codec.encoding_table['21496'] = [187,202] let s:lib.Codec.encoding_table['21490'] = [187,203] let s:lib.Codec.encoding_table['21987'] = [187,204] let s:lib.Codec.encoding_table['22235'] = [187,205] let s:lib.Codec.encoding_table['22763'] = [187,206] let s:lib.Codec.encoding_table['22987'] = [187,207] let s:lib.Codec.encoding_table['22985'] = [187,208] let s:lib.Codec.encoding_table['23039'] = [187,209] let s:lib.Codec.encoding_table['23376'] = [187,210] let s:lib.Codec.encoding_table['23629'] = [187,211] let s:lib.Codec.encoding_table['24066'] = [187,212] let s:lib.Codec.encoding_table['24107'] = [187,213] let s:lib.Codec.encoding_table['24535'] = [187,214] let s:lib.Codec.encoding_table['24605'] = [187,215] let s:lib.Codec.encoding_table['25351'] = [187,216] let s:lib.Codec.encoding_table['25903'] = [187,217] let s:lib.Codec.encoding_table['23388'] = [187,218] let s:lib.Codec.encoding_table['26031'] = [187,219] let s:lib.Codec.encoding_table['26045'] = [187,220] let s:lib.Codec.encoding_table['26088'] = [187,221] let s:lib.Codec.encoding_table['26525'] = [187,222] let s:lib.Codec.encoding_table['27490'] = [187,223] let s:lib.Codec.encoding_table['27515'] = [187,224] let s:lib.Codec.encoding_table['27663'] = [187,225] let s:lib.Codec.encoding_table['29509'] = [187,226] let s:lib.Codec.encoding_table['31049'] = [187,227] let s:lib.Codec.encoding_table['31169'] = [187,228] let s:lib.Codec.encoding_table['31992'] = [187,229] let s:lib.Codec.encoding_table['32025'] = [187,230] let s:lib.Codec.encoding_table['32043'] = [187,231] let s:lib.Codec.encoding_table['32930'] = [187,232] let s:lib.Codec.encoding_table['33026'] = [187,233] let s:lib.Codec.encoding_table['33267'] = [187,234] let s:lib.Codec.encoding_table['35222'] = [187,235] let s:lib.Codec.encoding_table['35422'] = [187,236] let s:lib.Codec.encoding_table['35433'] = [187,237] let s:lib.Codec.encoding_table['35430'] = [187,238] let s:lib.Codec.encoding_table['35468'] = [187,239] let s:lib.Codec.encoding_table['35566'] = [187,240] let s:lib.Codec.encoding_table['36039'] = [187,241] let s:lib.Codec.encoding_table['36060'] = [187,242] let s:lib.Codec.encoding_table['38604'] = [187,243] let s:lib.Codec.encoding_table['39164'] = [187,244] let s:lib.Codec.encoding_table['27503'] = [187,245] let s:lib.Codec.encoding_table['20107'] = [187,246] let s:lib.Codec.encoding_table['20284'] = [187,247] let s:lib.Codec.encoding_table['20365'] = [187,248] let s:lib.Codec.encoding_table['20816'] = [187,249] let s:lib.Codec.encoding_table['23383'] = [187,250] let s:lib.Codec.encoding_table['23546'] = [187,251] let s:lib.Codec.encoding_table['24904'] = [187,252] let s:lib.Codec.encoding_table['25345'] = [187,253] let s:lib.Codec.encoding_table['26178'] = [187,254] let s:lib.Codec.encoding_table['27425'] = [188,161] let s:lib.Codec.encoding_table['28363'] = [188,162] let s:lib.Codec.encoding_table['27835'] = [188,163] let s:lib.Codec.encoding_table['29246'] = [188,164] let s:lib.Codec.encoding_table['29885'] = [188,165] let s:lib.Codec.encoding_table['30164'] = [188,166] let s:lib.Codec.encoding_table['30913'] = [188,167] let s:lib.Codec.encoding_table['31034'] = [188,168] let s:lib.Codec.encoding_table['32780'] = [188,169] let s:lib.Codec.encoding_table['32819'] = [188,170] let s:lib.Codec.encoding_table['33258'] = [188,171] let s:lib.Codec.encoding_table['33940'] = [188,172] let s:lib.Codec.encoding_table['36766'] = [188,173] let s:lib.Codec.encoding_table['27728'] = [188,174] let s:lib.Codec.encoding_table['40575'] = [188,175] let s:lib.Codec.encoding_table['24335'] = [188,176] let s:lib.Codec.encoding_table['35672'] = [188,177] let s:lib.Codec.encoding_table['40235'] = [188,178] let s:lib.Codec.encoding_table['31482'] = [188,179] let s:lib.Codec.encoding_table['36600'] = [188,180] let s:lib.Codec.encoding_table['23437'] = [188,181] let s:lib.Codec.encoding_table['38635'] = [188,182] let s:lib.Codec.encoding_table['19971'] = [188,183] let s:lib.Codec.encoding_table['21489'] = [188,184] let s:lib.Codec.encoding_table['22519'] = [188,185] let s:lib.Codec.encoding_table['22833'] = [188,186] let s:lib.Codec.encoding_table['23241'] = [188,187] let s:lib.Codec.encoding_table['23460'] = [188,188] let s:lib.Codec.encoding_table['24713'] = [188,189] let s:lib.Codec.encoding_table['28287'] = [188,190] let s:lib.Codec.encoding_table['28422'] = [188,191] let s:lib.Codec.encoding_table['30142'] = [188,192] let s:lib.Codec.encoding_table['36074'] = [188,193] let s:lib.Codec.encoding_table['23455'] = [188,194] let s:lib.Codec.encoding_table['34048'] = [188,195] let s:lib.Codec.encoding_table['31712'] = [188,196] let s:lib.Codec.encoding_table['20594'] = [188,197] let s:lib.Codec.encoding_table['26612'] = [188,198] let s:lib.Codec.encoding_table['33437'] = [188,199] let s:lib.Codec.encoding_table['23649'] = [188,200] let s:lib.Codec.encoding_table['34122'] = [188,201] let s:lib.Codec.encoding_table['32286'] = [188,202] let s:lib.Codec.encoding_table['33294'] = [188,203] let s:lib.Codec.encoding_table['20889'] = [188,204] let s:lib.Codec.encoding_table['23556'] = [188,205] let s:lib.Codec.encoding_table['25448'] = [188,206] let s:lib.Codec.encoding_table['36198'] = [188,207] let s:lib.Codec.encoding_table['26012'] = [188,208] let s:lib.Codec.encoding_table['29038'] = [188,209] let s:lib.Codec.encoding_table['31038'] = [188,210] let s:lib.Codec.encoding_table['32023'] = [188,211] let s:lib.Codec.encoding_table['32773'] = [188,212] let s:lib.Codec.encoding_table['35613'] = [188,213] let s:lib.Codec.encoding_table['36554'] = [188,214] let s:lib.Codec.encoding_table['36974'] = [188,215] let s:lib.Codec.encoding_table['34503'] = [188,216] let s:lib.Codec.encoding_table['37034'] = [188,217] let s:lib.Codec.encoding_table['20511'] = [188,218] let s:lib.Codec.encoding_table['21242'] = [188,219] let s:lib.Codec.encoding_table['23610'] = [188,220] let s:lib.Codec.encoding_table['26451'] = [188,221] let s:lib.Codec.encoding_table['28796'] = [188,222] let s:lib.Codec.encoding_table['29237'] = [188,223] let s:lib.Codec.encoding_table['37196'] = [188,224] let s:lib.Codec.encoding_table['37320'] = [188,225] let s:lib.Codec.encoding_table['37675'] = [188,226] let s:lib.Codec.encoding_table['33509'] = [188,227] let s:lib.Codec.encoding_table['23490'] = [188,228] let s:lib.Codec.encoding_table['24369'] = [188,229] let s:lib.Codec.encoding_table['24825'] = [188,230] let s:lib.Codec.encoding_table['20027'] = [188,231] let s:lib.Codec.encoding_table['21462'] = [188,232] let s:lib.Codec.encoding_table['23432'] = [188,233] let s:lib.Codec.encoding_table['25163'] = [188,234] let s:lib.Codec.encoding_table['26417'] = [188,235] let s:lib.Codec.encoding_table['27530'] = [188,236] let s:lib.Codec.encoding_table['29417'] = [188,237] let s:lib.Codec.encoding_table['29664'] = [188,238] let s:lib.Codec.encoding_table['31278'] = [188,239] let s:lib.Codec.encoding_table['33131'] = [188,240] let s:lib.Codec.encoding_table['36259'] = [188,241] let s:lib.Codec.encoding_table['37202'] = [188,242] let s:lib.Codec.encoding_table['39318'] = [188,243] let s:lib.Codec.encoding_table['20754'] = [188,244] let s:lib.Codec.encoding_table['21463'] = [188,245] let s:lib.Codec.encoding_table['21610'] = [188,246] let s:lib.Codec.encoding_table['23551'] = [188,247] let s:lib.Codec.encoding_table['25480'] = [188,248] let s:lib.Codec.encoding_table['27193'] = [188,249] let s:lib.Codec.encoding_table['32172'] = [188,250] let s:lib.Codec.encoding_table['38656'] = [188,251] let s:lib.Codec.encoding_table['22234'] = [188,252] let s:lib.Codec.encoding_table['21454'] = [188,253] let s:lib.Codec.encoding_table['21608'] = [188,254] let s:lib.Codec.encoding_table['23447'] = [189,161] let s:lib.Codec.encoding_table['23601'] = [189,162] let s:lib.Codec.encoding_table['24030'] = [189,163] let s:lib.Codec.encoding_table['20462'] = [189,164] let s:lib.Codec.encoding_table['24833'] = [189,165] let s:lib.Codec.encoding_table['25342'] = [189,166] let s:lib.Codec.encoding_table['27954'] = [189,167] let s:lib.Codec.encoding_table['31168'] = [189,168] let s:lib.Codec.encoding_table['31179'] = [189,169] let s:lib.Codec.encoding_table['32066'] = [189,170] let s:lib.Codec.encoding_table['32333'] = [189,171] let s:lib.Codec.encoding_table['32722'] = [189,172] let s:lib.Codec.encoding_table['33261'] = [189,173] let s:lib.Codec.encoding_table['33311'] = [189,174] let s:lib.Codec.encoding_table['33936'] = [189,175] let s:lib.Codec.encoding_table['34886'] = [189,176] let s:lib.Codec.encoding_table['35186'] = [189,177] let s:lib.Codec.encoding_table['35728'] = [189,178] let s:lib.Codec.encoding_table['36468'] = [189,179] let s:lib.Codec.encoding_table['36655'] = [189,180] let s:lib.Codec.encoding_table['36913'] = [189,181] let s:lib.Codec.encoding_table['37195'] = [189,182] let s:lib.Codec.encoding_table['37228'] = [189,183] let s:lib.Codec.encoding_table['38598'] = [189,184] let s:lib.Codec.encoding_table['37276'] = [189,185] let s:lib.Codec.encoding_table['20160'] = [189,186] let s:lib.Codec.encoding_table['20303'] = [189,187] let s:lib.Codec.encoding_table['20805'] = [189,188] let s:lib.Codec.encoding_table['21313'] = [189,189] let s:lib.Codec.encoding_table['24467'] = [189,190] let s:lib.Codec.encoding_table['25102'] = [189,191] let s:lib.Codec.encoding_table['26580'] = [189,192] let s:lib.Codec.encoding_table['27713'] = [189,193] let s:lib.Codec.encoding_table['28171'] = [189,194] let s:lib.Codec.encoding_table['29539'] = [189,195] let s:lib.Codec.encoding_table['32294'] = [189,196] let s:lib.Codec.encoding_table['37325'] = [189,197] let s:lib.Codec.encoding_table['37507'] = [189,198] let s:lib.Codec.encoding_table['21460'] = [189,199] let s:lib.Codec.encoding_table['22809'] = [189,200] let s:lib.Codec.encoding_table['23487'] = [189,201] let s:lib.Codec.encoding_table['28113'] = [189,202] let s:lib.Codec.encoding_table['31069'] = [189,203] let s:lib.Codec.encoding_table['32302'] = [189,204] let s:lib.Codec.encoding_table['31899'] = [189,205] let s:lib.Codec.encoding_table['22654'] = [189,206] let s:lib.Codec.encoding_table['29087'] = [189,207] let s:lib.Codec.encoding_table['20986'] = [189,208] let s:lib.Codec.encoding_table['34899'] = [189,209] let s:lib.Codec.encoding_table['36848'] = [189,210] let s:lib.Codec.encoding_table['20426'] = [189,211] let s:lib.Codec.encoding_table['23803'] = [189,212] let s:lib.Codec.encoding_table['26149'] = [189,213] let s:lib.Codec.encoding_table['30636'] = [189,214] let s:lib.Codec.encoding_table['31459'] = [189,215] let s:lib.Codec.encoding_table['33308'] = [189,216] let s:lib.Codec.encoding_table['39423'] = [189,217] let s:lib.Codec.encoding_table['20934'] = [189,218] let s:lib.Codec.encoding_table['24490'] = [189,219] let s:lib.Codec.encoding_table['26092'] = [189,220] let s:lib.Codec.encoding_table['26991'] = [189,221] let s:lib.Codec.encoding_table['27529'] = [189,222] let s:lib.Codec.encoding_table['28147'] = [189,223] let s:lib.Codec.encoding_table['28310'] = [189,224] let s:lib.Codec.encoding_table['28516'] = [189,225] let s:lib.Codec.encoding_table['30462'] = [189,226] let s:lib.Codec.encoding_table['32020'] = [189,227] let s:lib.Codec.encoding_table['24033'] = [189,228] let s:lib.Codec.encoding_table['36981'] = [189,229] let s:lib.Codec.encoding_table['37255'] = [189,230] let s:lib.Codec.encoding_table['38918'] = [189,231] let s:lib.Codec.encoding_table['20966'] = [189,232] let s:lib.Codec.encoding_table['21021'] = [189,233] let s:lib.Codec.encoding_table['25152'] = [189,234] let s:lib.Codec.encoding_table['26257'] = [189,235] let s:lib.Codec.encoding_table['26329'] = [189,236] let s:lib.Codec.encoding_table['28186'] = [189,237] let s:lib.Codec.encoding_table['24246'] = [189,238] let s:lib.Codec.encoding_table['32210'] = [189,239] let s:lib.Codec.encoding_table['32626'] = [189,240] let s:lib.Codec.encoding_table['26360'] = [189,241] let s:lib.Codec.encoding_table['34223'] = [189,242] let s:lib.Codec.encoding_table['34295'] = [189,243] let s:lib.Codec.encoding_table['35576'] = [189,244] let s:lib.Codec.encoding_table['21161'] = [189,245] let s:lib.Codec.encoding_table['21465'] = [189,246] let s:lib.Codec.encoding_table['22899'] = [189,247] let s:lib.Codec.encoding_table['24207'] = [189,248] let s:lib.Codec.encoding_table['24464'] = [189,249] let s:lib.Codec.encoding_table['24661'] = [189,250] let s:lib.Codec.encoding_table['37604'] = [189,251] let s:lib.Codec.encoding_table['38500'] = [189,252] let s:lib.Codec.encoding_table['20663'] = [189,253] let s:lib.Codec.encoding_table['20767'] = [189,254] let s:lib.Codec.encoding_table['21213'] = [190,161] let s:lib.Codec.encoding_table['21280'] = [190,162] let s:lib.Codec.encoding_table['21319'] = [190,163] let s:lib.Codec.encoding_table['21484'] = [190,164] let s:lib.Codec.encoding_table['21736'] = [190,165] let s:lib.Codec.encoding_table['21830'] = [190,166] let s:lib.Codec.encoding_table['21809'] = [190,167] let s:lib.Codec.encoding_table['22039'] = [190,168] let s:lib.Codec.encoding_table['22888'] = [190,169] let s:lib.Codec.encoding_table['22974'] = [190,170] let s:lib.Codec.encoding_table['23100'] = [190,171] let s:lib.Codec.encoding_table['23477'] = [190,172] let s:lib.Codec.encoding_table['23558'] = [190,173] let s:lib.Codec.encoding_table['23567'] = [190,174] let s:lib.Codec.encoding_table['23569'] = [190,175] let s:lib.Codec.encoding_table['23578'] = [190,176] let s:lib.Codec.encoding_table['24196'] = [190,177] let s:lib.Codec.encoding_table['24202'] = [190,178] let s:lib.Codec.encoding_table['24288'] = [190,179] let s:lib.Codec.encoding_table['24432'] = [190,180] let s:lib.Codec.encoding_table['25215'] = [190,181] let s:lib.Codec.encoding_table['25220'] = [190,182] let s:lib.Codec.encoding_table['25307'] = [190,183] let s:lib.Codec.encoding_table['25484'] = [190,184] let s:lib.Codec.encoding_table['25463'] = [190,185] let s:lib.Codec.encoding_table['26119'] = [190,186] let s:lib.Codec.encoding_table['26124'] = [190,187] let s:lib.Codec.encoding_table['26157'] = [190,188] let s:lib.Codec.encoding_table['26230'] = [190,189] let s:lib.Codec.encoding_table['26494'] = [190,190] let s:lib.Codec.encoding_table['26786'] = [190,191] let s:lib.Codec.encoding_table['27167'] = [190,192] let s:lib.Codec.encoding_table['27189'] = [190,193] let s:lib.Codec.encoding_table['27836'] = [190,194] let s:lib.Codec.encoding_table['28040'] = [190,195] let s:lib.Codec.encoding_table['28169'] = [190,196] let s:lib.Codec.encoding_table['28248'] = [190,197] let s:lib.Codec.encoding_table['28988'] = [190,198] let s:lib.Codec.encoding_table['28966'] = [190,199] let s:lib.Codec.encoding_table['29031'] = [190,200] let s:lib.Codec.encoding_table['30151'] = [190,201] let s:lib.Codec.encoding_table['30465'] = [190,202] let s:lib.Codec.encoding_table['30813'] = [190,203] let s:lib.Codec.encoding_table['30977'] = [190,204] let s:lib.Codec.encoding_table['31077'] = [190,205] let s:lib.Codec.encoding_table['31216'] = [190,206] let s:lib.Codec.encoding_table['31456'] = [190,207] let s:lib.Codec.encoding_table['31505'] = [190,208] let s:lib.Codec.encoding_table['31911'] = [190,209] let s:lib.Codec.encoding_table['32057'] = [190,210] let s:lib.Codec.encoding_table['32918'] = [190,211] let s:lib.Codec.encoding_table['33750'] = [190,212] let s:lib.Codec.encoding_table['33931'] = [190,213] let s:lib.Codec.encoding_table['34121'] = [190,214] let s:lib.Codec.encoding_table['34909'] = [190,215] let s:lib.Codec.encoding_table['35059'] = [190,216] let s:lib.Codec.encoding_table['35359'] = [190,217] let s:lib.Codec.encoding_table['35388'] = [190,218] let s:lib.Codec.encoding_table['35412'] = [190,219] let s:lib.Codec.encoding_table['35443'] = [190,220] let s:lib.Codec.encoding_table['35937'] = [190,221] let s:lib.Codec.encoding_table['36062'] = [190,222] let s:lib.Codec.encoding_table['37284'] = [190,223] let s:lib.Codec.encoding_table['37478'] = [190,224] let s:lib.Codec.encoding_table['37758'] = [190,225] let s:lib.Codec.encoding_table['37912'] = [190,226] let s:lib.Codec.encoding_table['38556'] = [190,227] let s:lib.Codec.encoding_table['38808'] = [190,228] let s:lib.Codec.encoding_table['19978'] = [190,229] let s:lib.Codec.encoding_table['19976'] = [190,230] let s:lib.Codec.encoding_table['19998'] = [190,231] let s:lib.Codec.encoding_table['20055'] = [190,232] let s:lib.Codec.encoding_table['20887'] = [190,233] let s:lib.Codec.encoding_table['21104'] = [190,234] let s:lib.Codec.encoding_table['22478'] = [190,235] let s:lib.Codec.encoding_table['22580'] = [190,236] let s:lib.Codec.encoding_table['22732'] = [190,237] let s:lib.Codec.encoding_table['23330'] = [190,238] let s:lib.Codec.encoding_table['24120'] = [190,239] let s:lib.Codec.encoding_table['24773'] = [190,240] let s:lib.Codec.encoding_table['25854'] = [190,241] let s:lib.Codec.encoding_table['26465'] = [190,242] let s:lib.Codec.encoding_table['26454'] = [190,243] let s:lib.Codec.encoding_table['27972'] = [190,244] let s:lib.Codec.encoding_table['29366'] = [190,245] let s:lib.Codec.encoding_table['30067'] = [190,246] let s:lib.Codec.encoding_table['31331'] = [190,247] let s:lib.Codec.encoding_table['33976'] = [190,248] let s:lib.Codec.encoding_table['35698'] = [190,249] let s:lib.Codec.encoding_table['37304'] = [190,250] let s:lib.Codec.encoding_table['37664'] = [190,251] let s:lib.Codec.encoding_table['22065'] = [190,252] let s:lib.Codec.encoding_table['22516'] = [190,253] let s:lib.Codec.encoding_table['39166'] = [190,254] let s:lib.Codec.encoding_table['25325'] = [191,161] let s:lib.Codec.encoding_table['26893'] = [191,162] let s:lib.Codec.encoding_table['27542'] = [191,163] let s:lib.Codec.encoding_table['29165'] = [191,164] let s:lib.Codec.encoding_table['32340'] = [191,165] let s:lib.Codec.encoding_table['32887'] = [191,166] let s:lib.Codec.encoding_table['33394'] = [191,167] let s:lib.Codec.encoding_table['35302'] = [191,168] let s:lib.Codec.encoding_table['39135'] = [191,169] let s:lib.Codec.encoding_table['34645'] = [191,170] let s:lib.Codec.encoding_table['36785'] = [191,171] let s:lib.Codec.encoding_table['23611'] = [191,172] let s:lib.Codec.encoding_table['20280'] = [191,173] let s:lib.Codec.encoding_table['20449'] = [191,174] let s:lib.Codec.encoding_table['20405'] = [191,175] let s:lib.Codec.encoding_table['21767'] = [191,176] let s:lib.Codec.encoding_table['23072'] = [191,177] let s:lib.Codec.encoding_table['23517'] = [191,178] let s:lib.Codec.encoding_table['23529'] = [191,179] let s:lib.Codec.encoding_table['24515'] = [191,180] let s:lib.Codec.encoding_table['24910'] = [191,181] let s:lib.Codec.encoding_table['25391'] = [191,182] let s:lib.Codec.encoding_table['26032'] = [191,183] let s:lib.Codec.encoding_table['26187'] = [191,184] let s:lib.Codec.encoding_table['26862'] = [191,185] let s:lib.Codec.encoding_table['27035'] = [191,186] let s:lib.Codec.encoding_table['28024'] = [191,187] let s:lib.Codec.encoding_table['28145'] = [191,188] let s:lib.Codec.encoding_table['30003'] = [191,189] let s:lib.Codec.encoding_table['30137'] = [191,190] let s:lib.Codec.encoding_table['30495'] = [191,191] let s:lib.Codec.encoding_table['31070'] = [191,192] let s:lib.Codec.encoding_table['31206'] = [191,193] let s:lib.Codec.encoding_table['32051'] = [191,194] let s:lib.Codec.encoding_table['33251'] = [191,195] let s:lib.Codec.encoding_table['33455'] = [191,196] let s:lib.Codec.encoding_table['34218'] = [191,197] let s:lib.Codec.encoding_table['35242'] = [191,198] let s:lib.Codec.encoding_table['35386'] = [191,199] let s:lib.Codec.encoding_table['36523'] = [191,200] let s:lib.Codec.encoding_table['36763'] = [191,201] let s:lib.Codec.encoding_table['36914'] = [191,202] let s:lib.Codec.encoding_table['37341'] = [191,203] let s:lib.Codec.encoding_table['38663'] = [191,204] let s:lib.Codec.encoding_table['20154'] = [191,205] let s:lib.Codec.encoding_table['20161'] = [191,206] let s:lib.Codec.encoding_table['20995'] = [191,207] let s:lib.Codec.encoding_table['22645'] = [191,208] let s:lib.Codec.encoding_table['22764'] = [191,209] let s:lib.Codec.encoding_table['23563'] = [191,210] let s:lib.Codec.encoding_table['29978'] = [191,211] let s:lib.Codec.encoding_table['23613'] = [191,212] let s:lib.Codec.encoding_table['33102'] = [191,213] let s:lib.Codec.encoding_table['35338'] = [191,214] let s:lib.Codec.encoding_table['36805'] = [191,215] let s:lib.Codec.encoding_table['38499'] = [191,216] let s:lib.Codec.encoding_table['38765'] = [191,217] let s:lib.Codec.encoding_table['31525'] = [191,218] let s:lib.Codec.encoding_table['35535'] = [191,219] let s:lib.Codec.encoding_table['38920'] = [191,220] let s:lib.Codec.encoding_table['37218'] = [191,221] let s:lib.Codec.encoding_table['22259'] = [191,222] let s:lib.Codec.encoding_table['21416'] = [191,223] let s:lib.Codec.encoding_table['36887'] = [191,224] let s:lib.Codec.encoding_table['21561'] = [191,225] let s:lib.Codec.encoding_table['22402'] = [191,226] let s:lib.Codec.encoding_table['24101'] = [191,227] let s:lib.Codec.encoding_table['25512'] = [191,228] let s:lib.Codec.encoding_table['27700'] = [191,229] let s:lib.Codec.encoding_table['28810'] = [191,230] let s:lib.Codec.encoding_table['30561'] = [191,231] let s:lib.Codec.encoding_table['31883'] = [191,232] let s:lib.Codec.encoding_table['32736'] = [191,233] let s:lib.Codec.encoding_table['34928'] = [191,234] let s:lib.Codec.encoding_table['36930'] = [191,235] let s:lib.Codec.encoding_table['37204'] = [191,236] let s:lib.Codec.encoding_table['37648'] = [191,237] let s:lib.Codec.encoding_table['37656'] = [191,238] let s:lib.Codec.encoding_table['38543'] = [191,239] let s:lib.Codec.encoding_table['29790'] = [191,240] let s:lib.Codec.encoding_table['39620'] = [191,241] let s:lib.Codec.encoding_table['23815'] = [191,242] let s:lib.Codec.encoding_table['23913'] = [191,243] let s:lib.Codec.encoding_table['25968'] = [191,244] let s:lib.Codec.encoding_table['26530'] = [191,245] let s:lib.Codec.encoding_table['36264'] = [191,246] let s:lib.Codec.encoding_table['38619'] = [191,247] let s:lib.Codec.encoding_table['25454'] = [191,248] let s:lib.Codec.encoding_table['26441'] = [191,249] let s:lib.Codec.encoding_table['26905'] = [191,250] let s:lib.Codec.encoding_table['33733'] = [191,251] let s:lib.Codec.encoding_table['38935'] = [191,252] let s:lib.Codec.encoding_table['38592'] = [191,253] let s:lib.Codec.encoding_table['35070'] = [191,254] let s:lib.Codec.encoding_table['28548'] = [192,161] let s:lib.Codec.encoding_table['25722'] = [192,162] let s:lib.Codec.encoding_table['23544'] = [192,163] let s:lib.Codec.encoding_table['19990'] = [192,164] let s:lib.Codec.encoding_table['28716'] = [192,165] let s:lib.Codec.encoding_table['30045'] = [192,166] let s:lib.Codec.encoding_table['26159'] = [192,167] let s:lib.Codec.encoding_table['20932'] = [192,168] let s:lib.Codec.encoding_table['21046'] = [192,169] let s:lib.Codec.encoding_table['21218'] = [192,170] let s:lib.Codec.encoding_table['22995'] = [192,171] let s:lib.Codec.encoding_table['24449'] = [192,172] let s:lib.Codec.encoding_table['24615'] = [192,173] let s:lib.Codec.encoding_table['25104'] = [192,174] let s:lib.Codec.encoding_table['25919'] = [192,175] let s:lib.Codec.encoding_table['25972'] = [192,176] let s:lib.Codec.encoding_table['26143'] = [192,177] let s:lib.Codec.encoding_table['26228'] = [192,178] let s:lib.Codec.encoding_table['26866'] = [192,179] let s:lib.Codec.encoding_table['26646'] = [192,180] let s:lib.Codec.encoding_table['27491'] = [192,181] let s:lib.Codec.encoding_table['28165'] = [192,182] let s:lib.Codec.encoding_table['29298'] = [192,183] let s:lib.Codec.encoding_table['29983'] = [192,184] let s:lib.Codec.encoding_table['30427'] = [192,185] let s:lib.Codec.encoding_table['31934'] = [192,186] let s:lib.Codec.encoding_table['32854'] = [192,187] let s:lib.Codec.encoding_table['22768'] = [192,188] let s:lib.Codec.encoding_table['35069'] = [192,189] let s:lib.Codec.encoding_table['35199'] = [192,190] let s:lib.Codec.encoding_table['35488'] = [192,191] let s:lib.Codec.encoding_table['35475'] = [192,192] let s:lib.Codec.encoding_table['35531'] = [192,193] let s:lib.Codec.encoding_table['36893'] = [192,194] let s:lib.Codec.encoding_table['37266'] = [192,195] let s:lib.Codec.encoding_table['38738'] = [192,196] let s:lib.Codec.encoding_table['38745'] = [192,197] let s:lib.Codec.encoding_table['25993'] = [192,198] let s:lib.Codec.encoding_table['31246'] = [192,199] let s:lib.Codec.encoding_table['33030'] = [192,200] let s:lib.Codec.encoding_table['38587'] = [192,201] let s:lib.Codec.encoding_table['24109'] = [192,202] let s:lib.Codec.encoding_table['24796'] = [192,203] let s:lib.Codec.encoding_table['25114'] = [192,204] let s:lib.Codec.encoding_table['26021'] = [192,205] let s:lib.Codec.encoding_table['26132'] = [192,206] let s:lib.Codec.encoding_table['26512'] = [192,207] let s:lib.Codec.encoding_table['30707'] = [192,208] let s:lib.Codec.encoding_table['31309'] = [192,209] let s:lib.Codec.encoding_table['31821'] = [192,210] let s:lib.Codec.encoding_table['32318'] = [192,211] let s:lib.Codec.encoding_table['33034'] = [192,212] let s:lib.Codec.encoding_table['36012'] = [192,213] let s:lib.Codec.encoding_table['36196'] = [192,214] let s:lib.Codec.encoding_table['36321'] = [192,215] let s:lib.Codec.encoding_table['36447'] = [192,216] let s:lib.Codec.encoding_table['30889'] = [192,217] let s:lib.Codec.encoding_table['20999'] = [192,218] let s:lib.Codec.encoding_table['25305'] = [192,219] let s:lib.Codec.encoding_table['25509'] = [192,220] let s:lib.Codec.encoding_table['25666'] = [192,221] let s:lib.Codec.encoding_table['25240'] = [192,222] let s:lib.Codec.encoding_table['35373'] = [192,223] let s:lib.Codec.encoding_table['31363'] = [192,224] let s:lib.Codec.encoding_table['31680'] = [192,225] let s:lib.Codec.encoding_table['35500'] = [192,226] let s:lib.Codec.encoding_table['38634'] = [192,227] let s:lib.Codec.encoding_table['32118'] = [192,228] let s:lib.Codec.encoding_table['33292'] = [192,229] let s:lib.Codec.encoding_table['34633'] = [192,230] let s:lib.Codec.encoding_table['20185'] = [192,231] let s:lib.Codec.encoding_table['20808'] = [192,232] let s:lib.Codec.encoding_table['21315'] = [192,233] let s:lib.Codec.encoding_table['21344'] = [192,234] let s:lib.Codec.encoding_table['23459'] = [192,235] let s:lib.Codec.encoding_table['23554'] = [192,236] let s:lib.Codec.encoding_table['23574'] = [192,237] let s:lib.Codec.encoding_table['24029'] = [192,238] let s:lib.Codec.encoding_table['25126'] = [192,239] let s:lib.Codec.encoding_table['25159'] = [192,240] let s:lib.Codec.encoding_table['25776'] = [192,241] let s:lib.Codec.encoding_table['26643'] = [192,242] let s:lib.Codec.encoding_table['26676'] = [192,243] let s:lib.Codec.encoding_table['27849'] = [192,244] let s:lib.Codec.encoding_table['27973'] = [192,245] let s:lib.Codec.encoding_table['27927'] = [192,246] let s:lib.Codec.encoding_table['26579'] = [192,247] let s:lib.Codec.encoding_table['28508'] = [192,248] let s:lib.Codec.encoding_table['29006'] = [192,249] let s:lib.Codec.encoding_table['29053'] = [192,250] let s:lib.Codec.encoding_table['26059'] = [192,251] let s:lib.Codec.encoding_table['31359'] = [192,252] let s:lib.Codec.encoding_table['31661'] = [192,253] let s:lib.Codec.encoding_table['32218'] = [192,254] let s:lib.Codec.encoding_table['32330'] = [193,161] let s:lib.Codec.encoding_table['32680'] = [193,162] let s:lib.Codec.encoding_table['33146'] = [193,163] let s:lib.Codec.encoding_table['33307'] = [193,164] let s:lib.Codec.encoding_table['33337'] = [193,165] let s:lib.Codec.encoding_table['34214'] = [193,166] let s:lib.Codec.encoding_table['35438'] = [193,167] let s:lib.Codec.encoding_table['36046'] = [193,168] let s:lib.Codec.encoding_table['36341'] = [193,169] let s:lib.Codec.encoding_table['36984'] = [193,170] let s:lib.Codec.encoding_table['36983'] = [193,171] let s:lib.Codec.encoding_table['37549'] = [193,172] let s:lib.Codec.encoding_table['37521'] = [193,173] let s:lib.Codec.encoding_table['38275'] = [193,174] let s:lib.Codec.encoding_table['39854'] = [193,175] let s:lib.Codec.encoding_table['21069'] = [193,176] let s:lib.Codec.encoding_table['21892'] = [193,177] let s:lib.Codec.encoding_table['28472'] = [193,178] let s:lib.Codec.encoding_table['28982'] = [193,179] let s:lib.Codec.encoding_table['20840'] = [193,180] let s:lib.Codec.encoding_table['31109'] = [193,181] let s:lib.Codec.encoding_table['32341'] = [193,182] let s:lib.Codec.encoding_table['33203'] = [193,183] let s:lib.Codec.encoding_table['31950'] = [193,184] let s:lib.Codec.encoding_table['22092'] = [193,185] let s:lib.Codec.encoding_table['22609'] = [193,186] let s:lib.Codec.encoding_table['23720'] = [193,187] let s:lib.Codec.encoding_table['25514'] = [193,188] let s:lib.Codec.encoding_table['26366'] = [193,189] let s:lib.Codec.encoding_table['26365'] = [193,190] let s:lib.Codec.encoding_table['26970'] = [193,191] let s:lib.Codec.encoding_table['29401'] = [193,192] let s:lib.Codec.encoding_table['30095'] = [193,193] let s:lib.Codec.encoding_table['30094'] = [193,194] let s:lib.Codec.encoding_table['30990'] = [193,195] let s:lib.Codec.encoding_table['31062'] = [193,196] let s:lib.Codec.encoding_table['31199'] = [193,197] let s:lib.Codec.encoding_table['31895'] = [193,198] let s:lib.Codec.encoding_table['32032'] = [193,199] let s:lib.Codec.encoding_table['32068'] = [193,200] let s:lib.Codec.encoding_table['34311'] = [193,201] let s:lib.Codec.encoding_table['35380'] = [193,202] let s:lib.Codec.encoding_table['38459'] = [193,203] let s:lib.Codec.encoding_table['36961'] = [193,204] let s:lib.Codec.encoding_table['40736'] = [193,205] let s:lib.Codec.encoding_table['20711'] = [193,206] let s:lib.Codec.encoding_table['21109'] = [193,207] let s:lib.Codec.encoding_table['21452'] = [193,208] let s:lib.Codec.encoding_table['21474'] = [193,209] let s:lib.Codec.encoding_table['20489'] = [193,210] let s:lib.Codec.encoding_table['21930'] = [193,211] let s:lib.Codec.encoding_table['22766'] = [193,212] let s:lib.Codec.encoding_table['22863'] = [193,213] let s:lib.Codec.encoding_table['29245'] = [193,214] let s:lib.Codec.encoding_table['23435'] = [193,215] let s:lib.Codec.encoding_table['23652'] = [193,216] let s:lib.Codec.encoding_table['21277'] = [193,217] let s:lib.Codec.encoding_table['24803'] = [193,218] let s:lib.Codec.encoding_table['24819'] = [193,219] let s:lib.Codec.encoding_table['25436'] = [193,220] let s:lib.Codec.encoding_table['25475'] = [193,221] let s:lib.Codec.encoding_table['25407'] = [193,222] let s:lib.Codec.encoding_table['25531'] = [193,223] let s:lib.Codec.encoding_table['25805'] = [193,224] let s:lib.Codec.encoding_table['26089'] = [193,225] let s:lib.Codec.encoding_table['26361'] = [193,226] let s:lib.Codec.encoding_table['24035'] = [193,227] let s:lib.Codec.encoding_table['27085'] = [193,228] let s:lib.Codec.encoding_table['27133'] = [193,229] let s:lib.Codec.encoding_table['28437'] = [193,230] let s:lib.Codec.encoding_table['29157'] = [193,231] let s:lib.Codec.encoding_table['20105'] = [193,232] let s:lib.Codec.encoding_table['30185'] = [193,233] let s:lib.Codec.encoding_table['30456'] = [193,234] let s:lib.Codec.encoding_table['31379'] = [193,235] let s:lib.Codec.encoding_table['31967'] = [193,236] let s:lib.Codec.encoding_table['32207'] = [193,237] let s:lib.Codec.encoding_table['32156'] = [193,238] let s:lib.Codec.encoding_table['32865'] = [193,239] let s:lib.Codec.encoding_table['33609'] = [193,240] let s:lib.Codec.encoding_table['33624'] = [193,241] let s:lib.Codec.encoding_table['33900'] = [193,242] let s:lib.Codec.encoding_table['33980'] = [193,243] let s:lib.Codec.encoding_table['34299'] = [193,244] let s:lib.Codec.encoding_table['35013'] = [193,245] let s:lib.Codec.encoding_table['36208'] = [193,246] let s:lib.Codec.encoding_table['36865'] = [193,247] let s:lib.Codec.encoding_table['36973'] = [193,248] let s:lib.Codec.encoding_table['37783'] = [193,249] let s:lib.Codec.encoding_table['38684'] = [193,250] let s:lib.Codec.encoding_table['39442'] = [193,251] let s:lib.Codec.encoding_table['20687'] = [193,252] let s:lib.Codec.encoding_table['22679'] = [193,253] let s:lib.Codec.encoding_table['24974'] = [193,254] let s:lib.Codec.encoding_table['33235'] = [194,161] let s:lib.Codec.encoding_table['34101'] = [194,162] let s:lib.Codec.encoding_table['36104'] = [194,163] let s:lib.Codec.encoding_table['36896'] = [194,164] let s:lib.Codec.encoding_table['20419'] = [194,165] let s:lib.Codec.encoding_table['20596'] = [194,166] let s:lib.Codec.encoding_table['21063'] = [194,167] let s:lib.Codec.encoding_table['21363'] = [194,168] let s:lib.Codec.encoding_table['24687'] = [194,169] let s:lib.Codec.encoding_table['25417'] = [194,170] let s:lib.Codec.encoding_table['26463'] = [194,171] let s:lib.Codec.encoding_table['28204'] = [194,172] let s:lib.Codec.encoding_table['36275'] = [194,173] let s:lib.Codec.encoding_table['36895'] = [194,174] let s:lib.Codec.encoding_table['20439'] = [194,175] let s:lib.Codec.encoding_table['23646'] = [194,176] let s:lib.Codec.encoding_table['36042'] = [194,177] let s:lib.Codec.encoding_table['26063'] = [194,178] let s:lib.Codec.encoding_table['32154'] = [194,179] let s:lib.Codec.encoding_table['21330'] = [194,180] let s:lib.Codec.encoding_table['34966'] = [194,181] let s:lib.Codec.encoding_table['20854'] = [194,182] let s:lib.Codec.encoding_table['25539'] = [194,183] let s:lib.Codec.encoding_table['23384'] = [194,184] let s:lib.Codec.encoding_table['23403'] = [194,185] let s:lib.Codec.encoding_table['23562'] = [194,186] let s:lib.Codec.encoding_table['25613'] = [194,187] let s:lib.Codec.encoding_table['26449'] = [194,188] let s:lib.Codec.encoding_table['36956'] = [194,189] let s:lib.Codec.encoding_table['20182'] = [194,190] let s:lib.Codec.encoding_table['22810'] = [194,191] let s:lib.Codec.encoding_table['22826'] = [194,192] let s:lib.Codec.encoding_table['27760'] = [194,193] let s:lib.Codec.encoding_table['35409'] = [194,194] let s:lib.Codec.encoding_table['21822'] = [194,195] let s:lib.Codec.encoding_table['22549'] = [194,196] let s:lib.Codec.encoding_table['22949'] = [194,197] let s:lib.Codec.encoding_table['24816'] = [194,198] let s:lib.Codec.encoding_table['25171'] = [194,199] let s:lib.Codec.encoding_table['26561'] = [194,200] let s:lib.Codec.encoding_table['33333'] = [194,201] let s:lib.Codec.encoding_table['26965'] = [194,202] let s:lib.Codec.encoding_table['38464'] = [194,203] let s:lib.Codec.encoding_table['39364'] = [194,204] let s:lib.Codec.encoding_table['39464'] = [194,205] let s:lib.Codec.encoding_table['20307'] = [194,206] let s:lib.Codec.encoding_table['22534'] = [194,207] let s:lib.Codec.encoding_table['23550'] = [194,208] let s:lib.Codec.encoding_table['32784'] = [194,209] let s:lib.Codec.encoding_table['23729'] = [194,210] let s:lib.Codec.encoding_table['24111'] = [194,211] let s:lib.Codec.encoding_table['24453'] = [194,212] let s:lib.Codec.encoding_table['24608'] = [194,213] let s:lib.Codec.encoding_table['24907'] = [194,214] let s:lib.Codec.encoding_table['25140'] = [194,215] let s:lib.Codec.encoding_table['26367'] = [194,216] let s:lib.Codec.encoding_table['27888'] = [194,217] let s:lib.Codec.encoding_table['28382'] = [194,218] let s:lib.Codec.encoding_table['32974'] = [194,219] let s:lib.Codec.encoding_table['33151'] = [194,220] let s:lib.Codec.encoding_table['33492'] = [194,221] let s:lib.Codec.encoding_table['34955'] = [194,222] let s:lib.Codec.encoding_table['36024'] = [194,223] let s:lib.Codec.encoding_table['36864'] = [194,224] let s:lib.Codec.encoding_table['36910'] = [194,225] let s:lib.Codec.encoding_table['38538'] = [194,226] let s:lib.Codec.encoding_table['40667'] = [194,227] let s:lib.Codec.encoding_table['39899'] = [194,228] let s:lib.Codec.encoding_table['20195'] = [194,229] let s:lib.Codec.encoding_table['21488'] = [194,230] let s:lib.Codec.encoding_table['22823'] = [194,231] let s:lib.Codec.encoding_table['31532'] = [194,232] let s:lib.Codec.encoding_table['37261'] = [194,233] let s:lib.Codec.encoding_table['38988'] = [194,234] let s:lib.Codec.encoding_table['40441'] = [194,235] let s:lib.Codec.encoding_table['28381'] = [194,236] let s:lib.Codec.encoding_table['28711'] = [194,237] let s:lib.Codec.encoding_table['21331'] = [194,238] let s:lib.Codec.encoding_table['21828'] = [194,239] let s:lib.Codec.encoding_table['23429'] = [194,240] let s:lib.Codec.encoding_table['25176'] = [194,241] let s:lib.Codec.encoding_table['25246'] = [194,242] let s:lib.Codec.encoding_table['25299'] = [194,243] let s:lib.Codec.encoding_table['27810'] = [194,244] let s:lib.Codec.encoding_table['28655'] = [194,245] let s:lib.Codec.encoding_table['29730'] = [194,246] let s:lib.Codec.encoding_table['35351'] = [194,247] let s:lib.Codec.encoding_table['37944'] = [194,248] let s:lib.Codec.encoding_table['28609'] = [194,249] let s:lib.Codec.encoding_table['35582'] = [194,250] let s:lib.Codec.encoding_table['33592'] = [194,251] let s:lib.Codec.encoding_table['20967'] = [194,252] let s:lib.Codec.encoding_table['34552'] = [194,253] let s:lib.Codec.encoding_table['21482'] = [194,254] let s:lib.Codec.encoding_table['21481'] = [195,161] let s:lib.Codec.encoding_table['20294'] = [195,162] let s:lib.Codec.encoding_table['36948'] = [195,163] let s:lib.Codec.encoding_table['36784'] = [195,164] let s:lib.Codec.encoding_table['22890'] = [195,165] let s:lib.Codec.encoding_table['33073'] = [195,166] let s:lib.Codec.encoding_table['24061'] = [195,167] let s:lib.Codec.encoding_table['31466'] = [195,168] let s:lib.Codec.encoding_table['36799'] = [195,169] let s:lib.Codec.encoding_table['26842'] = [195,170] let s:lib.Codec.encoding_table['35895'] = [195,171] let s:lib.Codec.encoding_table['29432'] = [195,172] let s:lib.Codec.encoding_table['40008'] = [195,173] let s:lib.Codec.encoding_table['27197'] = [195,174] let s:lib.Codec.encoding_table['35504'] = [195,175] let s:lib.Codec.encoding_table['20025'] = [195,176] let s:lib.Codec.encoding_table['21336'] = [195,177] let s:lib.Codec.encoding_table['22022'] = [195,178] let s:lib.Codec.encoding_table['22374'] = [195,179] let s:lib.Codec.encoding_table['25285'] = [195,180] let s:lib.Codec.encoding_table['25506'] = [195,181] let s:lib.Codec.encoding_table['26086'] = [195,182] let s:lib.Codec.encoding_table['27470'] = [195,183] let s:lib.Codec.encoding_table['28129'] = [195,184] let s:lib.Codec.encoding_table['28251'] = [195,185] let s:lib.Codec.encoding_table['28845'] = [195,186] let s:lib.Codec.encoding_table['30701'] = [195,187] let s:lib.Codec.encoding_table['31471'] = [195,188] let s:lib.Codec.encoding_table['31658'] = [195,189] let s:lib.Codec.encoding_table['32187'] = [195,190] let s:lib.Codec.encoding_table['32829'] = [195,191] let s:lib.Codec.encoding_table['32966'] = [195,192] let s:lib.Codec.encoding_table['34507'] = [195,193] let s:lib.Codec.encoding_table['35477'] = [195,194] let s:lib.Codec.encoding_table['37723'] = [195,195] let s:lib.Codec.encoding_table['22243'] = [195,196] let s:lib.Codec.encoding_table['22727'] = [195,197] let s:lib.Codec.encoding_table['24382'] = [195,198] let s:lib.Codec.encoding_table['26029'] = [195,199] let s:lib.Codec.encoding_table['26262'] = [195,200] let s:lib.Codec.encoding_table['27264'] = [195,201] let s:lib.Codec.encoding_table['27573'] = [195,202] let s:lib.Codec.encoding_table['30007'] = [195,203] let s:lib.Codec.encoding_table['35527'] = [195,204] let s:lib.Codec.encoding_table['20516'] = [195,205] let s:lib.Codec.encoding_table['30693'] = [195,206] let s:lib.Codec.encoding_table['22320'] = [195,207] let s:lib.Codec.encoding_table['24347'] = [195,208] let s:lib.Codec.encoding_table['24677'] = [195,209] let s:lib.Codec.encoding_table['26234'] = [195,210] let s:lib.Codec.encoding_table['27744'] = [195,211] let s:lib.Codec.encoding_table['30196'] = [195,212] let s:lib.Codec.encoding_table['31258'] = [195,213] let s:lib.Codec.encoding_table['32622'] = [195,214] let s:lib.Codec.encoding_table['33268'] = [195,215] let s:lib.Codec.encoding_table['34584'] = [195,216] let s:lib.Codec.encoding_table['36933'] = [195,217] let s:lib.Codec.encoding_table['39347'] = [195,218] let s:lib.Codec.encoding_table['31689'] = [195,219] let s:lib.Codec.encoding_table['30044'] = [195,220] let s:lib.Codec.encoding_table['31481'] = [195,221] let s:lib.Codec.encoding_table['31569'] = [195,222] let s:lib.Codec.encoding_table['33988'] = [195,223] let s:lib.Codec.encoding_table['36880'] = [195,224] let s:lib.Codec.encoding_table['31209'] = [195,225] let s:lib.Codec.encoding_table['31378'] = [195,226] let s:lib.Codec.encoding_table['33590'] = [195,227] let s:lib.Codec.encoding_table['23265'] = [195,228] let s:lib.Codec.encoding_table['30528'] = [195,229] let s:lib.Codec.encoding_table['20013'] = [195,230] let s:lib.Codec.encoding_table['20210'] = [195,231] let s:lib.Codec.encoding_table['23449'] = [195,232] let s:lib.Codec.encoding_table['24544'] = [195,233] let s:lib.Codec.encoding_table['25277'] = [195,234] let s:lib.Codec.encoding_table['26172'] = [195,235] let s:lib.Codec.encoding_table['26609'] = [195,236] let s:lib.Codec.encoding_table['27880'] = [195,237] let s:lib.Codec.encoding_table['34411'] = [195,238] let s:lib.Codec.encoding_table['34935'] = [195,239] let s:lib.Codec.encoding_table['35387'] = [195,240] let s:lib.Codec.encoding_table['37198'] = [195,241] let s:lib.Codec.encoding_table['37619'] = [195,242] let s:lib.Codec.encoding_table['39376'] = [195,243] let s:lib.Codec.encoding_table['27159'] = [195,244] let s:lib.Codec.encoding_table['28710'] = [195,245] let s:lib.Codec.encoding_table['29482'] = [195,246] let s:lib.Codec.encoding_table['33511'] = [195,247] let s:lib.Codec.encoding_table['33879'] = [195,248] let s:lib.Codec.encoding_table['36015'] = [195,249] let s:lib.Codec.encoding_table['19969'] = [195,250] let s:lib.Codec.encoding_table['20806'] = [195,251] let s:lib.Codec.encoding_table['20939'] = [195,252] let s:lib.Codec.encoding_table['21899'] = [195,253] let s:lib.Codec.encoding_table['23541'] = [195,254] let s:lib.Codec.encoding_table['24086'] = [196,161] let s:lib.Codec.encoding_table['24115'] = [196,162] let s:lib.Codec.encoding_table['24193'] = [196,163] let s:lib.Codec.encoding_table['24340'] = [196,164] let s:lib.Codec.encoding_table['24373'] = [196,165] let s:lib.Codec.encoding_table['24427'] = [196,166] let s:lib.Codec.encoding_table['24500'] = [196,167] let s:lib.Codec.encoding_table['25074'] = [196,168] let s:lib.Codec.encoding_table['25361'] = [196,169] let s:lib.Codec.encoding_table['26274'] = [196,170] let s:lib.Codec.encoding_table['26397'] = [196,171] let s:lib.Codec.encoding_table['28526'] = [196,172] let s:lib.Codec.encoding_table['29266'] = [196,173] let s:lib.Codec.encoding_table['30010'] = [196,174] let s:lib.Codec.encoding_table['30522'] = [196,175] let s:lib.Codec.encoding_table['32884'] = [196,176] let s:lib.Codec.encoding_table['33081'] = [196,177] let s:lib.Codec.encoding_table['33144'] = [196,178] let s:lib.Codec.encoding_table['34678'] = [196,179] let s:lib.Codec.encoding_table['35519'] = [196,180] let s:lib.Codec.encoding_table['35548'] = [196,181] let s:lib.Codec.encoding_table['36229'] = [196,182] let s:lib.Codec.encoding_table['36339'] = [196,183] let s:lib.Codec.encoding_table['37530'] = [196,184] let s:lib.Codec.encoding_table['38263'] = [196,185] let s:lib.Codec.encoding_table['38914'] = [196,186] let s:lib.Codec.encoding_table['40165'] = [196,187] let s:lib.Codec.encoding_table['21189'] = [196,188] let s:lib.Codec.encoding_table['25431'] = [196,189] let s:lib.Codec.encoding_table['30452'] = [196,190] let s:lib.Codec.encoding_table['26389'] = [196,191] let s:lib.Codec.encoding_table['27784'] = [196,192] let s:lib.Codec.encoding_table['29645'] = [196,193] let s:lib.Codec.encoding_table['36035'] = [196,194] let s:lib.Codec.encoding_table['37806'] = [196,195] let s:lib.Codec.encoding_table['38515'] = [196,196] let s:lib.Codec.encoding_table['27941'] = [196,197] let s:lib.Codec.encoding_table['22684'] = [196,198] let s:lib.Codec.encoding_table['26894'] = [196,199] let s:lib.Codec.encoding_table['27084'] = [196,200] let s:lib.Codec.encoding_table['36861'] = [196,201] let s:lib.Codec.encoding_table['37786'] = [196,202] let s:lib.Codec.encoding_table['30171'] = [196,203] let s:lib.Codec.encoding_table['36890'] = [196,204] let s:lib.Codec.encoding_table['22618'] = [196,205] let s:lib.Codec.encoding_table['26626'] = [196,206] let s:lib.Codec.encoding_table['25524'] = [196,207] let s:lib.Codec.encoding_table['27131'] = [196,208] let s:lib.Codec.encoding_table['20291'] = [196,209] let s:lib.Codec.encoding_table['28460'] = [196,210] let s:lib.Codec.encoding_table['26584'] = [196,211] let s:lib.Codec.encoding_table['36795'] = [196,212] let s:lib.Codec.encoding_table['34086'] = [196,213] let s:lib.Codec.encoding_table['32180'] = [196,214] let s:lib.Codec.encoding_table['37716'] = [196,215] let s:lib.Codec.encoding_table['26943'] = [196,216] let s:lib.Codec.encoding_table['28528'] = [196,217] let s:lib.Codec.encoding_table['22378'] = [196,218] let s:lib.Codec.encoding_table['22775'] = [196,219] let s:lib.Codec.encoding_table['23340'] = [196,220] let s:lib.Codec.encoding_table['32044'] = [196,221] let s:lib.Codec.encoding_table['29226'] = [196,222] let s:lib.Codec.encoding_table['21514'] = [196,223] let s:lib.Codec.encoding_table['37347'] = [196,224] let s:lib.Codec.encoding_table['40372'] = [196,225] let s:lib.Codec.encoding_table['20141'] = [196,226] let s:lib.Codec.encoding_table['20302'] = [196,227] let s:lib.Codec.encoding_table['20572'] = [196,228] let s:lib.Codec.encoding_table['20597'] = [196,229] let s:lib.Codec.encoding_table['21059'] = [196,230] let s:lib.Codec.encoding_table['35998'] = [196,231] let s:lib.Codec.encoding_table['21576'] = [196,232] let s:lib.Codec.encoding_table['22564'] = [196,233] let s:lib.Codec.encoding_table['23450'] = [196,234] let s:lib.Codec.encoding_table['24093'] = [196,235] let s:lib.Codec.encoding_table['24213'] = [196,236] let s:lib.Codec.encoding_table['24237'] = [196,237] let s:lib.Codec.encoding_table['24311'] = [196,238] let s:lib.Codec.encoding_table['24351'] = [196,239] let s:lib.Codec.encoding_table['24716'] = [196,240] let s:lib.Codec.encoding_table['25269'] = [196,241] let s:lib.Codec.encoding_table['25402'] = [196,242] let s:lib.Codec.encoding_table['25552'] = [196,243] let s:lib.Codec.encoding_table['26799'] = [196,244] let s:lib.Codec.encoding_table['27712'] = [196,245] let s:lib.Codec.encoding_table['30855'] = [196,246] let s:lib.Codec.encoding_table['31118'] = [196,247] let s:lib.Codec.encoding_table['31243'] = [196,248] let s:lib.Codec.encoding_table['32224'] = [196,249] let s:lib.Codec.encoding_table['33351'] = [196,250] let s:lib.Codec.encoding_table['35330'] = [196,251] let s:lib.Codec.encoding_table['35558'] = [196,252] let s:lib.Codec.encoding_table['36420'] = [196,253] let s:lib.Codec.encoding_table['36883'] = [196,254] let s:lib.Codec.encoding_table['37048'] = [197,161] let s:lib.Codec.encoding_table['37165'] = [197,162] let s:lib.Codec.encoding_table['37336'] = [197,163] let s:lib.Codec.encoding_table['40718'] = [197,164] let s:lib.Codec.encoding_table['27877'] = [197,165] let s:lib.Codec.encoding_table['25688'] = [197,166] let s:lib.Codec.encoding_table['25826'] = [197,167] let s:lib.Codec.encoding_table['25973'] = [197,168] let s:lib.Codec.encoding_table['28404'] = [197,169] let s:lib.Codec.encoding_table['30340'] = [197,170] let s:lib.Codec.encoding_table['31515'] = [197,171] let s:lib.Codec.encoding_table['36969'] = [197,172] let s:lib.Codec.encoding_table['37841'] = [197,173] let s:lib.Codec.encoding_table['28346'] = [197,174] let s:lib.Codec.encoding_table['21746'] = [197,175] let s:lib.Codec.encoding_table['24505'] = [197,176] let s:lib.Codec.encoding_table['25764'] = [197,177] let s:lib.Codec.encoding_table['36685'] = [197,178] let s:lib.Codec.encoding_table['36845'] = [197,179] let s:lib.Codec.encoding_table['37444'] = [197,180] let s:lib.Codec.encoding_table['20856'] = [197,181] let s:lib.Codec.encoding_table['22635'] = [197,182] let s:lib.Codec.encoding_table['22825'] = [197,183] let s:lib.Codec.encoding_table['23637'] = [197,184] let s:lib.Codec.encoding_table['24215'] = [197,185] let s:lib.Codec.encoding_table['28155'] = [197,186] let s:lib.Codec.encoding_table['32399'] = [197,187] let s:lib.Codec.encoding_table['29980'] = [197,188] let s:lib.Codec.encoding_table['36028'] = [197,189] let s:lib.Codec.encoding_table['36578'] = [197,190] let s:lib.Codec.encoding_table['39003'] = [197,191] let s:lib.Codec.encoding_table['28857'] = [197,192] let s:lib.Codec.encoding_table['20253'] = [197,193] let s:lib.Codec.encoding_table['27583'] = [197,194] let s:lib.Codec.encoding_table['28593'] = [197,195] let s:lib.Codec.encoding_table['30000'] = [197,196] let s:lib.Codec.encoding_table['38651'] = [197,197] let s:lib.Codec.encoding_table['20814'] = [197,198] let s:lib.Codec.encoding_table['21520'] = [197,199] let s:lib.Codec.encoding_table['22581'] = [197,200] let s:lib.Codec.encoding_table['22615'] = [197,201] let s:lib.Codec.encoding_table['22956'] = [197,202] let s:lib.Codec.encoding_table['23648'] = [197,203] let s:lib.Codec.encoding_table['24466'] = [197,204] let s:lib.Codec.encoding_table['26007'] = [197,205] let s:lib.Codec.encoding_table['26460'] = [197,206] let s:lib.Codec.encoding_table['28193'] = [197,207] let s:lib.Codec.encoding_table['30331'] = [197,208] let s:lib.Codec.encoding_table['33759'] = [197,209] let s:lib.Codec.encoding_table['36077'] = [197,210] let s:lib.Codec.encoding_table['36884'] = [197,211] let s:lib.Codec.encoding_table['37117'] = [197,212] let s:lib.Codec.encoding_table['37709'] = [197,213] let s:lib.Codec.encoding_table['30757'] = [197,214] let s:lib.Codec.encoding_table['30778'] = [197,215] let s:lib.Codec.encoding_table['21162'] = [197,216] let s:lib.Codec.encoding_table['24230'] = [197,217] let s:lib.Codec.encoding_table['22303'] = [197,218] let s:lib.Codec.encoding_table['22900'] = [197,219] let s:lib.Codec.encoding_table['24594'] = [197,220] let s:lib.Codec.encoding_table['20498'] = [197,221] let s:lib.Codec.encoding_table['20826'] = [197,222] let s:lib.Codec.encoding_table['20908'] = [197,223] let s:lib.Codec.encoding_table['20941'] = [197,224] let s:lib.Codec.encoding_table['20992'] = [197,225] let s:lib.Codec.encoding_table['21776'] = [197,226] let s:lib.Codec.encoding_table['22612'] = [197,227] let s:lib.Codec.encoding_table['22616'] = [197,228] let s:lib.Codec.encoding_table['22871'] = [197,229] let s:lib.Codec.encoding_table['23445'] = [197,230] let s:lib.Codec.encoding_table['23798'] = [197,231] let s:lib.Codec.encoding_table['23947'] = [197,232] let s:lib.Codec.encoding_table['24764'] = [197,233] let s:lib.Codec.encoding_table['25237'] = [197,234] let s:lib.Codec.encoding_table['25645'] = [197,235] let s:lib.Codec.encoding_table['26481'] = [197,236] let s:lib.Codec.encoding_table['26691'] = [197,237] let s:lib.Codec.encoding_table['26812'] = [197,238] let s:lib.Codec.encoding_table['26847'] = [197,239] let s:lib.Codec.encoding_table['30423'] = [197,240] let s:lib.Codec.encoding_table['28120'] = [197,241] let s:lib.Codec.encoding_table['28271'] = [197,242] let s:lib.Codec.encoding_table['28059'] = [197,243] let s:lib.Codec.encoding_table['28783'] = [197,244] let s:lib.Codec.encoding_table['29128'] = [197,245] let s:lib.Codec.encoding_table['24403'] = [197,246] let s:lib.Codec.encoding_table['30168'] = [197,247] let s:lib.Codec.encoding_table['31095'] = [197,248] let s:lib.Codec.encoding_table['31561'] = [197,249] let s:lib.Codec.encoding_table['31572'] = [197,250] let s:lib.Codec.encoding_table['31570'] = [197,251] let s:lib.Codec.encoding_table['31958'] = [197,252] let s:lib.Codec.encoding_table['32113'] = [197,253] let s:lib.Codec.encoding_table['21040'] = [197,254] let s:lib.Codec.encoding_table['33891'] = [198,161] let s:lib.Codec.encoding_table['34153'] = [198,162] let s:lib.Codec.encoding_table['34276'] = [198,163] let s:lib.Codec.encoding_table['35342'] = [198,164] let s:lib.Codec.encoding_table['35588'] = [198,165] let s:lib.Codec.encoding_table['35910'] = [198,166] let s:lib.Codec.encoding_table['36367'] = [198,167] let s:lib.Codec.encoding_table['36867'] = [198,168] let s:lib.Codec.encoding_table['36879'] = [198,169] let s:lib.Codec.encoding_table['37913'] = [198,170] let s:lib.Codec.encoding_table['38518'] = [198,171] let s:lib.Codec.encoding_table['38957'] = [198,172] let s:lib.Codec.encoding_table['39472'] = [198,173] let s:lib.Codec.encoding_table['38360'] = [198,174] let s:lib.Codec.encoding_table['20685'] = [198,175] let s:lib.Codec.encoding_table['21205'] = [198,176] let s:lib.Codec.encoding_table['21516'] = [198,177] let s:lib.Codec.encoding_table['22530'] = [198,178] let s:lib.Codec.encoding_table['23566'] = [198,179] let s:lib.Codec.encoding_table['24999'] = [198,180] let s:lib.Codec.encoding_table['25758'] = [198,181] let s:lib.Codec.encoding_table['27934'] = [198,182] let s:lib.Codec.encoding_table['30643'] = [198,183] let s:lib.Codec.encoding_table['31461'] = [198,184] let s:lib.Codec.encoding_table['33012'] = [198,185] let s:lib.Codec.encoding_table['33796'] = [198,186] let s:lib.Codec.encoding_table['36947'] = [198,187] let s:lib.Codec.encoding_table['37509'] = [198,188] let s:lib.Codec.encoding_table['23776'] = [198,189] let s:lib.Codec.encoding_table['40199'] = [198,190] let s:lib.Codec.encoding_table['21311'] = [198,191] let s:lib.Codec.encoding_table['24471'] = [198,192] let s:lib.Codec.encoding_table['24499'] = [198,193] let s:lib.Codec.encoding_table['28060'] = [198,194] let s:lib.Codec.encoding_table['29305'] = [198,195] let s:lib.Codec.encoding_table['30563'] = [198,196] let s:lib.Codec.encoding_table['31167'] = [198,197] let s:lib.Codec.encoding_table['31716'] = [198,198] let s:lib.Codec.encoding_table['27602'] = [198,199] let s:lib.Codec.encoding_table['29420'] = [198,200] let s:lib.Codec.encoding_table['35501'] = [198,201] let s:lib.Codec.encoding_table['26627'] = [198,202] let s:lib.Codec.encoding_table['27233'] = [198,203] let s:lib.Codec.encoding_table['20984'] = [198,204] let s:lib.Codec.encoding_table['31361'] = [198,205] let s:lib.Codec.encoding_table['26932'] = [198,206] let s:lib.Codec.encoding_table['23626'] = [198,207] let s:lib.Codec.encoding_table['40182'] = [198,208] let s:lib.Codec.encoding_table['33515'] = [198,209] let s:lib.Codec.encoding_table['23493'] = [198,210] let s:lib.Codec.encoding_table['37193'] = [198,211] let s:lib.Codec.encoding_table['28702'] = [198,212] let s:lib.Codec.encoding_table['22136'] = [198,213] let s:lib.Codec.encoding_table['23663'] = [198,214] let s:lib.Codec.encoding_table['24775'] = [198,215] let s:lib.Codec.encoding_table['25958'] = [198,216] let s:lib.Codec.encoding_table['27788'] = [198,217] let s:lib.Codec.encoding_table['35930'] = [198,218] let s:lib.Codec.encoding_table['36929'] = [198,219] let s:lib.Codec.encoding_table['38931'] = [198,220] let s:lib.Codec.encoding_table['21585'] = [198,221] let s:lib.Codec.encoding_table['26311'] = [198,222] let s:lib.Codec.encoding_table['37389'] = [198,223] let s:lib.Codec.encoding_table['22856'] = [198,224] let s:lib.Codec.encoding_table['37027'] = [198,225] let s:lib.Codec.encoding_table['20869'] = [198,226] let s:lib.Codec.encoding_table['20045'] = [198,227] let s:lib.Codec.encoding_table['20970'] = [198,228] let s:lib.Codec.encoding_table['34201'] = [198,229] let s:lib.Codec.encoding_table['35598'] = [198,230] let s:lib.Codec.encoding_table['28760'] = [198,231] let s:lib.Codec.encoding_table['25466'] = [198,232] let s:lib.Codec.encoding_table['37707'] = [198,233] let s:lib.Codec.encoding_table['26978'] = [198,234] let s:lib.Codec.encoding_table['39348'] = [198,235] let s:lib.Codec.encoding_table['32260'] = [198,236] let s:lib.Codec.encoding_table['30071'] = [198,237] let s:lib.Codec.encoding_table['21335'] = [198,238] let s:lib.Codec.encoding_table['26976'] = [198,239] let s:lib.Codec.encoding_table['36575'] = [198,240] let s:lib.Codec.encoding_table['38627'] = [198,241] let s:lib.Codec.encoding_table['27741'] = [198,242] let s:lib.Codec.encoding_table['20108'] = [198,243] let s:lib.Codec.encoding_table['23612'] = [198,244] let s:lib.Codec.encoding_table['24336'] = [198,245] let s:lib.Codec.encoding_table['36841'] = [198,246] let s:lib.Codec.encoding_table['21250'] = [198,247] let s:lib.Codec.encoding_table['36049'] = [198,248] let s:lib.Codec.encoding_table['32905'] = [198,249] let s:lib.Codec.encoding_table['34425'] = [198,250] let s:lib.Codec.encoding_table['24319'] = [198,251] let s:lib.Codec.encoding_table['26085'] = [198,252] let s:lib.Codec.encoding_table['20083'] = [198,253] let s:lib.Codec.encoding_table['20837'] = [198,254] let s:lib.Codec.encoding_table['22914'] = [199,161] let s:lib.Codec.encoding_table['23615'] = [199,162] let s:lib.Codec.encoding_table['38894'] = [199,163] let s:lib.Codec.encoding_table['20219'] = [199,164] let s:lib.Codec.encoding_table['22922'] = [199,165] let s:lib.Codec.encoding_table['24525'] = [199,166] let s:lib.Codec.encoding_table['35469'] = [199,167] let s:lib.Codec.encoding_table['28641'] = [199,168] let s:lib.Codec.encoding_table['31152'] = [199,169] let s:lib.Codec.encoding_table['31074'] = [199,170] let s:lib.Codec.encoding_table['23527'] = [199,171] let s:lib.Codec.encoding_table['33905'] = [199,172] let s:lib.Codec.encoding_table['29483'] = [199,173] let s:lib.Codec.encoding_table['29105'] = [199,174] let s:lib.Codec.encoding_table['24180'] = [199,175] let s:lib.Codec.encoding_table['24565'] = [199,176] let s:lib.Codec.encoding_table['25467'] = [199,177] let s:lib.Codec.encoding_table['25754'] = [199,178] let s:lib.Codec.encoding_table['29123'] = [199,179] let s:lib.Codec.encoding_table['31896'] = [199,180] let s:lib.Codec.encoding_table['20035'] = [199,181] let s:lib.Codec.encoding_table['24316'] = [199,182] let s:lib.Codec.encoding_table['20043'] = [199,183] let s:lib.Codec.encoding_table['22492'] = [199,184] let s:lib.Codec.encoding_table['22178'] = [199,185] let s:lib.Codec.encoding_table['24745'] = [199,186] let s:lib.Codec.encoding_table['28611'] = [199,187] let s:lib.Codec.encoding_table['32013'] = [199,188] let s:lib.Codec.encoding_table['33021'] = [199,189] let s:lib.Codec.encoding_table['33075'] = [199,190] let s:lib.Codec.encoding_table['33215'] = [199,191] let s:lib.Codec.encoding_table['36786'] = [199,192] let s:lib.Codec.encoding_table['35223'] = [199,193] let s:lib.Codec.encoding_table['34468'] = [199,194] let s:lib.Codec.encoding_table['24052'] = [199,195] let s:lib.Codec.encoding_table['25226'] = [199,196] let s:lib.Codec.encoding_table['25773'] = [199,197] let s:lib.Codec.encoding_table['35207'] = [199,198] let s:lib.Codec.encoding_table['26487'] = [199,199] let s:lib.Codec.encoding_table['27874'] = [199,200] let s:lib.Codec.encoding_table['27966'] = [199,201] let s:lib.Codec.encoding_table['29750'] = [199,202] let s:lib.Codec.encoding_table['30772'] = [199,203] let s:lib.Codec.encoding_table['23110'] = [199,204] let s:lib.Codec.encoding_table['32629'] = [199,205] let s:lib.Codec.encoding_table['33453'] = [199,206] let s:lib.Codec.encoding_table['39340'] = [199,207] let s:lib.Codec.encoding_table['20467'] = [199,208] let s:lib.Codec.encoding_table['24259'] = [199,209] let s:lib.Codec.encoding_table['25309'] = [199,210] let s:lib.Codec.encoding_table['25490'] = [199,211] let s:lib.Codec.encoding_table['25943'] = [199,212] let s:lib.Codec.encoding_table['26479'] = [199,213] let s:lib.Codec.encoding_table['30403'] = [199,214] let s:lib.Codec.encoding_table['29260'] = [199,215] let s:lib.Codec.encoding_table['32972'] = [199,216] let s:lib.Codec.encoding_table['32954'] = [199,217] let s:lib.Codec.encoding_table['36649'] = [199,218] let s:lib.Codec.encoding_table['37197'] = [199,219] let s:lib.Codec.encoding_table['20493'] = [199,220] let s:lib.Codec.encoding_table['22521'] = [199,221] let s:lib.Codec.encoding_table['23186'] = [199,222] let s:lib.Codec.encoding_table['26757'] = [199,223] let s:lib.Codec.encoding_table['26995'] = [199,224] let s:lib.Codec.encoding_table['29028'] = [199,225] let s:lib.Codec.encoding_table['29437'] = [199,226] let s:lib.Codec.encoding_table['36023'] = [199,227] let s:lib.Codec.encoding_table['22770'] = [199,228] let s:lib.Codec.encoding_table['36064'] = [199,229] let s:lib.Codec.encoding_table['38506'] = [199,230] let s:lib.Codec.encoding_table['36889'] = [199,231] let s:lib.Codec.encoding_table['34687'] = [199,232] let s:lib.Codec.encoding_table['31204'] = [199,233] let s:lib.Codec.encoding_table['30695'] = [199,234] let s:lib.Codec.encoding_table['33833'] = [199,235] let s:lib.Codec.encoding_table['20271'] = [199,236] let s:lib.Codec.encoding_table['21093'] = [199,237] let s:lib.Codec.encoding_table['21338'] = [199,238] let s:lib.Codec.encoding_table['25293'] = [199,239] let s:lib.Codec.encoding_table['26575'] = [199,240] let s:lib.Codec.encoding_table['27850'] = [199,241] let s:lib.Codec.encoding_table['30333'] = [199,242] let s:lib.Codec.encoding_table['31636'] = [199,243] let s:lib.Codec.encoding_table['31893'] = [199,244] let s:lib.Codec.encoding_table['33334'] = [199,245] let s:lib.Codec.encoding_table['34180'] = [199,246] let s:lib.Codec.encoding_table['36843'] = [199,247] let s:lib.Codec.encoding_table['26333'] = [199,248] let s:lib.Codec.encoding_table['28448'] = [199,249] let s:lib.Codec.encoding_table['29190'] = [199,250] let s:lib.Codec.encoding_table['32283'] = [199,251] let s:lib.Codec.encoding_table['33707'] = [199,252] let s:lib.Codec.encoding_table['39361'] = [199,253] let s:lib.Codec.encoding_table['40614'] = [199,254] let s:lib.Codec.encoding_table['20989'] = [200,161] let s:lib.Codec.encoding_table['31665'] = [200,162] let s:lib.Codec.encoding_table['30834'] = [200,163] let s:lib.Codec.encoding_table['31672'] = [200,164] let s:lib.Codec.encoding_table['32903'] = [200,165] let s:lib.Codec.encoding_table['31560'] = [200,166] let s:lib.Codec.encoding_table['27368'] = [200,167] let s:lib.Codec.encoding_table['24161'] = [200,168] let s:lib.Codec.encoding_table['32908'] = [200,169] let s:lib.Codec.encoding_table['30033'] = [200,170] let s:lib.Codec.encoding_table['30048'] = [200,171] let s:lib.Codec.encoding_table['20843'] = [200,172] let s:lib.Codec.encoding_table['37474'] = [200,173] let s:lib.Codec.encoding_table['28300'] = [200,174] let s:lib.Codec.encoding_table['30330'] = [200,175] let s:lib.Codec.encoding_table['37271'] = [200,176] let s:lib.Codec.encoding_table['39658'] = [200,177] let s:lib.Codec.encoding_table['20240'] = [200,178] let s:lib.Codec.encoding_table['32624'] = [200,179] let s:lib.Codec.encoding_table['25244'] = [200,180] let s:lib.Codec.encoding_table['31567'] = [200,181] let s:lib.Codec.encoding_table['38309'] = [200,182] let s:lib.Codec.encoding_table['40169'] = [200,183] let s:lib.Codec.encoding_table['22138'] = [200,184] let s:lib.Codec.encoding_table['22617'] = [200,185] let s:lib.Codec.encoding_table['34532'] = [200,186] let s:lib.Codec.encoding_table['38588'] = [200,187] let s:lib.Codec.encoding_table['20276'] = [200,188] let s:lib.Codec.encoding_table['21028'] = [200,189] let s:lib.Codec.encoding_table['21322'] = [200,190] let s:lib.Codec.encoding_table['21453'] = [200,191] let s:lib.Codec.encoding_table['21467'] = [200,192] let s:lib.Codec.encoding_table['24070'] = [200,193] let s:lib.Codec.encoding_table['25644'] = [200,194] let s:lib.Codec.encoding_table['26001'] = [200,195] let s:lib.Codec.encoding_table['26495'] = [200,196] let s:lib.Codec.encoding_table['27710'] = [200,197] let s:lib.Codec.encoding_table['27726'] = [200,198] let s:lib.Codec.encoding_table['29256'] = [200,199] let s:lib.Codec.encoding_table['29359'] = [200,200] let s:lib.Codec.encoding_table['29677'] = [200,201] let s:lib.Codec.encoding_table['30036'] = [200,202] let s:lib.Codec.encoding_table['32321'] = [200,203] let s:lib.Codec.encoding_table['33324'] = [200,204] let s:lib.Codec.encoding_table['34281'] = [200,205] let s:lib.Codec.encoding_table['36009'] = [200,206] let s:lib.Codec.encoding_table['31684'] = [200,207] let s:lib.Codec.encoding_table['37318'] = [200,208] let s:lib.Codec.encoding_table['29033'] = [200,209] let s:lib.Codec.encoding_table['38930'] = [200,210] let s:lib.Codec.encoding_table['39151'] = [200,211] let s:lib.Codec.encoding_table['25405'] = [200,212] let s:lib.Codec.encoding_table['26217'] = [200,213] let s:lib.Codec.encoding_table['30058'] = [200,214] let s:lib.Codec.encoding_table['30436'] = [200,215] let s:lib.Codec.encoding_table['30928'] = [200,216] let s:lib.Codec.encoding_table['34115'] = [200,217] let s:lib.Codec.encoding_table['34542'] = [200,218] let s:lib.Codec.encoding_table['21290'] = [200,219] let s:lib.Codec.encoding_table['21329'] = [200,220] let s:lib.Codec.encoding_table['21542'] = [200,221] let s:lib.Codec.encoding_table['22915'] = [200,222] let s:lib.Codec.encoding_table['24199'] = [200,223] let s:lib.Codec.encoding_table['24444'] = [200,224] let s:lib.Codec.encoding_table['24754'] = [200,225] let s:lib.Codec.encoding_table['25161'] = [200,226] let s:lib.Codec.encoding_table['25209'] = [200,227] let s:lib.Codec.encoding_table['25259'] = [200,228] let s:lib.Codec.encoding_table['26000'] = [200,229] let s:lib.Codec.encoding_table['27604'] = [200,230] let s:lib.Codec.encoding_table['27852'] = [200,231] let s:lib.Codec.encoding_table['30130'] = [200,232] let s:lib.Codec.encoding_table['30382'] = [200,233] let s:lib.Codec.encoding_table['30865'] = [200,234] let s:lib.Codec.encoding_table['31192'] = [200,235] let s:lib.Codec.encoding_table['32203'] = [200,236] let s:lib.Codec.encoding_table['32631'] = [200,237] let s:lib.Codec.encoding_table['32933'] = [200,238] let s:lib.Codec.encoding_table['34987'] = [200,239] let s:lib.Codec.encoding_table['35513'] = [200,240] let s:lib.Codec.encoding_table['36027'] = [200,241] let s:lib.Codec.encoding_table['36991'] = [200,242] let s:lib.Codec.encoding_table['38750'] = [200,243] let s:lib.Codec.encoding_table['39131'] = [200,244] let s:lib.Codec.encoding_table['27147'] = [200,245] let s:lib.Codec.encoding_table['31800'] = [200,246] let s:lib.Codec.encoding_table['20633'] = [200,247] let s:lib.Codec.encoding_table['23614'] = [200,248] let s:lib.Codec.encoding_table['24494'] = [200,249] let s:lib.Codec.encoding_table['26503'] = [200,250] let s:lib.Codec.encoding_table['27608'] = [200,251] let s:lib.Codec.encoding_table['29749'] = [200,252] let s:lib.Codec.encoding_table['30473'] = [200,253] let s:lib.Codec.encoding_table['32654'] = [200,254] let s:lib.Codec.encoding_table['40763'] = [201,161] let s:lib.Codec.encoding_table['26570'] = [201,162] let s:lib.Codec.encoding_table['31255'] = [201,163] let s:lib.Codec.encoding_table['21305'] = [201,164] let s:lib.Codec.encoding_table['30091'] = [201,165] let s:lib.Codec.encoding_table['39661'] = [201,166] let s:lib.Codec.encoding_table['24422'] = [201,167] let s:lib.Codec.encoding_table['33181'] = [201,168] let s:lib.Codec.encoding_table['33777'] = [201,169] let s:lib.Codec.encoding_table['32920'] = [201,170] let s:lib.Codec.encoding_table['24380'] = [201,171] let s:lib.Codec.encoding_table['24517'] = [201,172] let s:lib.Codec.encoding_table['30050'] = [201,173] let s:lib.Codec.encoding_table['31558'] = [201,174] let s:lib.Codec.encoding_table['36924'] = [201,175] let s:lib.Codec.encoding_table['26727'] = [201,176] let s:lib.Codec.encoding_table['23019'] = [201,177] let s:lib.Codec.encoding_table['23195'] = [201,178] let s:lib.Codec.encoding_table['32016'] = [201,179] let s:lib.Codec.encoding_table['30334'] = [201,180] let s:lib.Codec.encoding_table['35628'] = [201,181] let s:lib.Codec.encoding_table['20469'] = [201,182] let s:lib.Codec.encoding_table['24426'] = [201,183] let s:lib.Codec.encoding_table['27161'] = [201,184] let s:lib.Codec.encoding_table['27703'] = [201,185] let s:lib.Codec.encoding_table['28418'] = [201,186] let s:lib.Codec.encoding_table['29922'] = [201,187] let s:lib.Codec.encoding_table['31080'] = [201,188] let s:lib.Codec.encoding_table['34920'] = [201,189] let s:lib.Codec.encoding_table['35413'] = [201,190] let s:lib.Codec.encoding_table['35961'] = [201,191] let s:lib.Codec.encoding_table['24287'] = [201,192] let s:lib.Codec.encoding_table['25551'] = [201,193] let s:lib.Codec.encoding_table['30149'] = [201,194] let s:lib.Codec.encoding_table['31186'] = [201,195] let s:lib.Codec.encoding_table['33495'] = [201,196] let s:lib.Codec.encoding_table['37672'] = [201,197] let s:lib.Codec.encoding_table['37618'] = [201,198] let s:lib.Codec.encoding_table['33948'] = [201,199] let s:lib.Codec.encoding_table['34541'] = [201,200] let s:lib.Codec.encoding_table['39981'] = [201,201] let s:lib.Codec.encoding_table['21697'] = [201,202] let s:lib.Codec.encoding_table['24428'] = [201,203] let s:lib.Codec.encoding_table['25996'] = [201,204] let s:lib.Codec.encoding_table['27996'] = [201,205] let s:lib.Codec.encoding_table['28693'] = [201,206] let s:lib.Codec.encoding_table['36007'] = [201,207] let s:lib.Codec.encoding_table['36051'] = [201,208] let s:lib.Codec.encoding_table['38971'] = [201,209] let s:lib.Codec.encoding_table['25935'] = [201,210] let s:lib.Codec.encoding_table['29942'] = [201,211] let s:lib.Codec.encoding_table['19981'] = [201,212] let s:lib.Codec.encoding_table['20184'] = [201,213] let s:lib.Codec.encoding_table['22496'] = [201,214] let s:lib.Codec.encoding_table['22827'] = [201,215] let s:lib.Codec.encoding_table['23142'] = [201,216] let s:lib.Codec.encoding_table['23500'] = [201,217] let s:lib.Codec.encoding_table['20904'] = [201,218] let s:lib.Codec.encoding_table['24067'] = [201,219] let s:lib.Codec.encoding_table['24220'] = [201,220] let s:lib.Codec.encoding_table['24598'] = [201,221] let s:lib.Codec.encoding_table['25206'] = [201,222] let s:lib.Codec.encoding_table['25975'] = [201,223] let s:lib.Codec.encoding_table['26023'] = [201,224] let s:lib.Codec.encoding_table['26222'] = [201,225] let s:lib.Codec.encoding_table['28014'] = [201,226] let s:lib.Codec.encoding_table['29238'] = [201,227] let s:lib.Codec.encoding_table['31526'] = [201,228] let s:lib.Codec.encoding_table['33104'] = [201,229] let s:lib.Codec.encoding_table['33178'] = [201,230] let s:lib.Codec.encoding_table['33433'] = [201,231] let s:lib.Codec.encoding_table['35676'] = [201,232] let s:lib.Codec.encoding_table['36000'] = [201,233] let s:lib.Codec.encoding_table['36070'] = [201,234] let s:lib.Codec.encoding_table['36212'] = [201,235] let s:lib.Codec.encoding_table['38428'] = [201,236] let s:lib.Codec.encoding_table['38468'] = [201,237] let s:lib.Codec.encoding_table['20398'] = [201,238] let s:lib.Codec.encoding_table['25771'] = [201,239] let s:lib.Codec.encoding_table['27494'] = [201,240] let s:lib.Codec.encoding_table['33310'] = [201,241] let s:lib.Codec.encoding_table['33889'] = [201,242] let s:lib.Codec.encoding_table['34154'] = [201,243] let s:lib.Codec.encoding_table['37096'] = [201,244] let s:lib.Codec.encoding_table['23553'] = [201,245] let s:lib.Codec.encoding_table['26963'] = [201,246] let s:lib.Codec.encoding_table['39080'] = [201,247] let s:lib.Codec.encoding_table['33914'] = [201,248] let s:lib.Codec.encoding_table['34135'] = [201,249] let s:lib.Codec.encoding_table['20239'] = [201,250] let s:lib.Codec.encoding_table['21103'] = [201,251] let s:lib.Codec.encoding_table['24489'] = [201,252] let s:lib.Codec.encoding_table['24133'] = [201,253] let s:lib.Codec.encoding_table['26381'] = [201,254] let s:lib.Codec.encoding_table['31119'] = [202,161] let s:lib.Codec.encoding_table['33145'] = [202,162] let s:lib.Codec.encoding_table['35079'] = [202,163] let s:lib.Codec.encoding_table['35206'] = [202,164] let s:lib.Codec.encoding_table['28149'] = [202,165] let s:lib.Codec.encoding_table['24343'] = [202,166] let s:lib.Codec.encoding_table['25173'] = [202,167] let s:lib.Codec.encoding_table['27832'] = [202,168] let s:lib.Codec.encoding_table['20175'] = [202,169] let s:lib.Codec.encoding_table['29289'] = [202,170] let s:lib.Codec.encoding_table['39826'] = [202,171] let s:lib.Codec.encoding_table['20998'] = [202,172] let s:lib.Codec.encoding_table['21563'] = [202,173] let s:lib.Codec.encoding_table['22132'] = [202,174] let s:lib.Codec.encoding_table['22707'] = [202,175] let s:lib.Codec.encoding_table['24996'] = [202,176] let s:lib.Codec.encoding_table['25198'] = [202,177] let s:lib.Codec.encoding_table['28954'] = [202,178] let s:lib.Codec.encoding_table['22894'] = [202,179] let s:lib.Codec.encoding_table['31881'] = [202,180] let s:lib.Codec.encoding_table['31966'] = [202,181] let s:lib.Codec.encoding_table['32027'] = [202,182] let s:lib.Codec.encoding_table['38640'] = [202,183] let s:lib.Codec.encoding_table['25991'] = [202,184] let s:lib.Codec.encoding_table['32862'] = [202,185] let s:lib.Codec.encoding_table['19993'] = [202,186] let s:lib.Codec.encoding_table['20341'] = [202,187] let s:lib.Codec.encoding_table['20853'] = [202,188] let s:lib.Codec.encoding_table['22592'] = [202,189] let s:lib.Codec.encoding_table['24163'] = [202,190] let s:lib.Codec.encoding_table['24179'] = [202,191] let s:lib.Codec.encoding_table['24330'] = [202,192] let s:lib.Codec.encoding_table['26564'] = [202,193] let s:lib.Codec.encoding_table['20006'] = [202,194] let s:lib.Codec.encoding_table['34109'] = [202,195] let s:lib.Codec.encoding_table['38281'] = [202,196] let s:lib.Codec.encoding_table['38491'] = [202,197] let s:lib.Codec.encoding_table['31859'] = [202,198] let s:lib.Codec.encoding_table['38913'] = [202,199] let s:lib.Codec.encoding_table['20731'] = [202,200] let s:lib.Codec.encoding_table['22721'] = [202,201] let s:lib.Codec.encoding_table['30294'] = [202,202] let s:lib.Codec.encoding_table['30887'] = [202,203] let s:lib.Codec.encoding_table['21029'] = [202,204] let s:lib.Codec.encoding_table['30629'] = [202,205] let s:lib.Codec.encoding_table['34065'] = [202,206] let s:lib.Codec.encoding_table['31622'] = [202,207] let s:lib.Codec.encoding_table['20559'] = [202,208] let s:lib.Codec.encoding_table['22793'] = [202,209] let s:lib.Codec.encoding_table['29255'] = [202,210] let s:lib.Codec.encoding_table['31687'] = [202,211] let s:lib.Codec.encoding_table['32232'] = [202,212] let s:lib.Codec.encoding_table['36794'] = [202,213] let s:lib.Codec.encoding_table['36820'] = [202,214] let s:lib.Codec.encoding_table['36941'] = [202,215] let s:lib.Codec.encoding_table['20415'] = [202,216] let s:lib.Codec.encoding_table['21193'] = [202,217] let s:lib.Codec.encoding_table['23081'] = [202,218] let s:lib.Codec.encoding_table['24321'] = [202,219] let s:lib.Codec.encoding_table['38829'] = [202,220] let s:lib.Codec.encoding_table['20445'] = [202,221] let s:lib.Codec.encoding_table['33303'] = [202,222] let s:lib.Codec.encoding_table['37610'] = [202,223] let s:lib.Codec.encoding_table['22275'] = [202,224] let s:lib.Codec.encoding_table['25429'] = [202,225] let s:lib.Codec.encoding_table['27497'] = [202,226] let s:lib.Codec.encoding_table['29995'] = [202,227] let s:lib.Codec.encoding_table['35036'] = [202,228] let s:lib.Codec.encoding_table['36628'] = [202,229] let s:lib.Codec.encoding_table['31298'] = [202,230] let s:lib.Codec.encoding_table['21215'] = [202,231] let s:lib.Codec.encoding_table['22675'] = [202,232] let s:lib.Codec.encoding_table['24917'] = [202,233] let s:lib.Codec.encoding_table['25098'] = [202,234] let s:lib.Codec.encoding_table['26286'] = [202,235] let s:lib.Codec.encoding_table['27597'] = [202,236] let s:lib.Codec.encoding_table['31807'] = [202,237] let s:lib.Codec.encoding_table['33769'] = [202,238] let s:lib.Codec.encoding_table['20515'] = [202,239] let s:lib.Codec.encoding_table['20472'] = [202,240] let s:lib.Codec.encoding_table['21253'] = [202,241] let s:lib.Codec.encoding_table['21574'] = [202,242] let s:lib.Codec.encoding_table['22577'] = [202,243] let s:lib.Codec.encoding_table['22857'] = [202,244] let s:lib.Codec.encoding_table['23453'] = [202,245] let s:lib.Codec.encoding_table['23792'] = [202,246] let s:lib.Codec.encoding_table['23791'] = [202,247] let s:lib.Codec.encoding_table['23849'] = [202,248] let s:lib.Codec.encoding_table['24214'] = [202,249] let s:lib.Codec.encoding_table['25265'] = [202,250] let s:lib.Codec.encoding_table['25447'] = [202,251] let s:lib.Codec.encoding_table['25918'] = [202,252] let s:lib.Codec.encoding_table['26041'] = [202,253] let s:lib.Codec.encoding_table['26379'] = [202,254] let s:lib.Codec.encoding_table['27861'] = [203,161] let s:lib.Codec.encoding_table['27873'] = [203,162] let s:lib.Codec.encoding_table['28921'] = [203,163] let s:lib.Codec.encoding_table['30770'] = [203,164] let s:lib.Codec.encoding_table['32299'] = [203,165] let s:lib.Codec.encoding_table['32990'] = [203,166] let s:lib.Codec.encoding_table['33459'] = [203,167] let s:lib.Codec.encoding_table['33804'] = [203,168] let s:lib.Codec.encoding_table['34028'] = [203,169] let s:lib.Codec.encoding_table['34562'] = [203,170] let s:lib.Codec.encoding_table['35090'] = [203,171] let s:lib.Codec.encoding_table['35370'] = [203,172] let s:lib.Codec.encoding_table['35914'] = [203,173] let s:lib.Codec.encoding_table['37030'] = [203,174] let s:lib.Codec.encoding_table['37586'] = [203,175] let s:lib.Codec.encoding_table['39165'] = [203,176] let s:lib.Codec.encoding_table['40179'] = [203,177] let s:lib.Codec.encoding_table['40300'] = [203,178] let s:lib.Codec.encoding_table['20047'] = [203,179] let s:lib.Codec.encoding_table['20129'] = [203,180] let s:lib.Codec.encoding_table['20621'] = [203,181] let s:lib.Codec.encoding_table['21078'] = [203,182] let s:lib.Codec.encoding_table['22346'] = [203,183] let s:lib.Codec.encoding_table['22952'] = [203,184] let s:lib.Codec.encoding_table['24125'] = [203,185] let s:lib.Codec.encoding_table['24536'] = [203,186] let s:lib.Codec.encoding_table['24537'] = [203,187] let s:lib.Codec.encoding_table['25151'] = [203,188] let s:lib.Codec.encoding_table['26292'] = [203,189] let s:lib.Codec.encoding_table['26395'] = [203,190] let s:lib.Codec.encoding_table['26576'] = [203,191] let s:lib.Codec.encoding_table['26834'] = [203,192] let s:lib.Codec.encoding_table['20882'] = [203,193] let s:lib.Codec.encoding_table['32033'] = [203,194] let s:lib.Codec.encoding_table['32938'] = [203,195] let s:lib.Codec.encoding_table['33192'] = [203,196] let s:lib.Codec.encoding_table['35584'] = [203,197] let s:lib.Codec.encoding_table['35980'] = [203,198] let s:lib.Codec.encoding_table['36031'] = [203,199] let s:lib.Codec.encoding_table['37502'] = [203,200] let s:lib.Codec.encoding_table['38450'] = [203,201] let s:lib.Codec.encoding_table['21536'] = [203,202] let s:lib.Codec.encoding_table['38956'] = [203,203] let s:lib.Codec.encoding_table['21271'] = [203,204] let s:lib.Codec.encoding_table['20693'] = [203,205] let s:lib.Codec.encoding_table['21340'] = [203,206] let s:lib.Codec.encoding_table['22696'] = [203,207] let s:lib.Codec.encoding_table['25778'] = [203,208] let s:lib.Codec.encoding_table['26420'] = [203,209] let s:lib.Codec.encoding_table['29287'] = [203,210] let s:lib.Codec.encoding_table['30566'] = [203,211] let s:lib.Codec.encoding_table['31302'] = [203,212] let s:lib.Codec.encoding_table['37350'] = [203,213] let s:lib.Codec.encoding_table['21187'] = [203,214] let s:lib.Codec.encoding_table['27809'] = [203,215] let s:lib.Codec.encoding_table['27526'] = [203,216] let s:lib.Codec.encoding_table['22528'] = [203,217] let s:lib.Codec.encoding_table['24140'] = [203,218] let s:lib.Codec.encoding_table['22868'] = [203,219] let s:lib.Codec.encoding_table['26412'] = [203,220] let s:lib.Codec.encoding_table['32763'] = [203,221] let s:lib.Codec.encoding_table['20961'] = [203,222] let s:lib.Codec.encoding_table['30406'] = [203,223] let s:lib.Codec.encoding_table['25705'] = [203,224] let s:lib.Codec.encoding_table['30952'] = [203,225] let s:lib.Codec.encoding_table['39764'] = [203,226] let s:lib.Codec.encoding_table['40635'] = [203,227] let s:lib.Codec.encoding_table['22475'] = [203,228] let s:lib.Codec.encoding_table['22969'] = [203,229] let s:lib.Codec.encoding_table['26151'] = [203,230] let s:lib.Codec.encoding_table['26522'] = [203,231] let s:lib.Codec.encoding_table['27598'] = [203,232] let s:lib.Codec.encoding_table['21737'] = [203,233] let s:lib.Codec.encoding_table['27097'] = [203,234] let s:lib.Codec.encoding_table['24149'] = [203,235] let s:lib.Codec.encoding_table['33180'] = [203,236] let s:lib.Codec.encoding_table['26517'] = [203,237] let s:lib.Codec.encoding_table['39850'] = [203,238] let s:lib.Codec.encoding_table['26622'] = [203,239] let s:lib.Codec.encoding_table['40018'] = [203,240] let s:lib.Codec.encoding_table['26717'] = [203,241] let s:lib.Codec.encoding_table['20134'] = [203,242] let s:lib.Codec.encoding_table['20451'] = [203,243] let s:lib.Codec.encoding_table['21448'] = [203,244] let s:lib.Codec.encoding_table['25273'] = [203,245] let s:lib.Codec.encoding_table['26411'] = [203,246] let s:lib.Codec.encoding_table['27819'] = [203,247] let s:lib.Codec.encoding_table['36804'] = [203,248] let s:lib.Codec.encoding_table['20397'] = [203,249] let s:lib.Codec.encoding_table['32365'] = [203,250] let s:lib.Codec.encoding_table['40639'] = [203,251] let s:lib.Codec.encoding_table['19975'] = [203,252] let s:lib.Codec.encoding_table['24930'] = [203,253] let s:lib.Codec.encoding_table['28288'] = [203,254] let s:lib.Codec.encoding_table['28459'] = [204,161] let s:lib.Codec.encoding_table['34067'] = [204,162] let s:lib.Codec.encoding_table['21619'] = [204,163] let s:lib.Codec.encoding_table['26410'] = [204,164] let s:lib.Codec.encoding_table['39749'] = [204,165] let s:lib.Codec.encoding_table['24051'] = [204,166] let s:lib.Codec.encoding_table['31637'] = [204,167] let s:lib.Codec.encoding_table['23724'] = [204,168] let s:lib.Codec.encoding_table['23494'] = [204,169] let s:lib.Codec.encoding_table['34588'] = [204,170] let s:lib.Codec.encoding_table['28234'] = [204,171] let s:lib.Codec.encoding_table['34001'] = [204,172] let s:lib.Codec.encoding_table['31252'] = [204,173] let s:lib.Codec.encoding_table['33032'] = [204,174] let s:lib.Codec.encoding_table['22937'] = [204,175] let s:lib.Codec.encoding_table['31885'] = [204,176] let s:lib.Codec.encoding_table['27665'] = [204,177] let s:lib.Codec.encoding_table['30496'] = [204,178] let s:lib.Codec.encoding_table['21209'] = [204,179] let s:lib.Codec.encoding_table['22818'] = [204,180] let s:lib.Codec.encoding_table['28961'] = [204,181] let s:lib.Codec.encoding_table['29279'] = [204,182] let s:lib.Codec.encoding_table['30683'] = [204,183] let s:lib.Codec.encoding_table['38695'] = [204,184] let s:lib.Codec.encoding_table['40289'] = [204,185] let s:lib.Codec.encoding_table['26891'] = [204,186] let s:lib.Codec.encoding_table['23167'] = [204,187] let s:lib.Codec.encoding_table['23064'] = [204,188] let s:lib.Codec.encoding_table['20901'] = [204,189] let s:lib.Codec.encoding_table['21517'] = [204,190] let s:lib.Codec.encoding_table['21629'] = [204,191] let s:lib.Codec.encoding_table['26126'] = [204,192] let s:lib.Codec.encoding_table['30431'] = [204,193] let s:lib.Codec.encoding_table['36855'] = [204,194] let s:lib.Codec.encoding_table['37528'] = [204,195] let s:lib.Codec.encoding_table['40180'] = [204,196] let s:lib.Codec.encoding_table['23018'] = [204,197] let s:lib.Codec.encoding_table['29277'] = [204,198] let s:lib.Codec.encoding_table['28357'] = [204,199] let s:lib.Codec.encoding_table['20813'] = [204,200] let s:lib.Codec.encoding_table['26825'] = [204,201] let s:lib.Codec.encoding_table['32191'] = [204,202] let s:lib.Codec.encoding_table['32236'] = [204,203] let s:lib.Codec.encoding_table['38754'] = [204,204] let s:lib.Codec.encoding_table['40634'] = [204,205] let s:lib.Codec.encoding_table['25720'] = [204,206] let s:lib.Codec.encoding_table['27169'] = [204,207] let s:lib.Codec.encoding_table['33538'] = [204,208] let s:lib.Codec.encoding_table['22916'] = [204,209] let s:lib.Codec.encoding_table['23391'] = [204,210] let s:lib.Codec.encoding_table['27611'] = [204,211] let s:lib.Codec.encoding_table['29467'] = [204,212] let s:lib.Codec.encoding_table['30450'] = [204,213] let s:lib.Codec.encoding_table['32178'] = [204,214] let s:lib.Codec.encoding_table['32791'] = [204,215] let s:lib.Codec.encoding_table['33945'] = [204,216] let s:lib.Codec.encoding_table['20786'] = [204,217] let s:lib.Codec.encoding_table['26408'] = [204,218] let s:lib.Codec.encoding_table['40665'] = [204,219] let s:lib.Codec.encoding_table['30446'] = [204,220] let s:lib.Codec.encoding_table['26466'] = [204,221] let s:lib.Codec.encoding_table['21247'] = [204,222] let s:lib.Codec.encoding_table['39173'] = [204,223] let s:lib.Codec.encoding_table['23588'] = [204,224] let s:lib.Codec.encoding_table['25147'] = [204,225] let s:lib.Codec.encoding_table['31870'] = [204,226] let s:lib.Codec.encoding_table['36016'] = [204,227] let s:lib.Codec.encoding_table['21839'] = [204,228] let s:lib.Codec.encoding_table['24758'] = [204,229] let s:lib.Codec.encoding_table['32011'] = [204,230] let s:lib.Codec.encoding_table['38272'] = [204,231] let s:lib.Codec.encoding_table['21249'] = [204,232] let s:lib.Codec.encoding_table['20063'] = [204,233] let s:lib.Codec.encoding_table['20918'] = [204,234] let s:lib.Codec.encoding_table['22812'] = [204,235] let s:lib.Codec.encoding_table['29242'] = [204,236] let s:lib.Codec.encoding_table['32822'] = [204,237] let s:lib.Codec.encoding_table['37326'] = [204,238] let s:lib.Codec.encoding_table['24357'] = [204,239] let s:lib.Codec.encoding_table['30690'] = [204,240] let s:lib.Codec.encoding_table['21380'] = [204,241] let s:lib.Codec.encoding_table['24441'] = [204,242] let s:lib.Codec.encoding_table['32004'] = [204,243] let s:lib.Codec.encoding_table['34220'] = [204,244] let s:lib.Codec.encoding_table['35379'] = [204,245] let s:lib.Codec.encoding_table['36493'] = [204,246] let s:lib.Codec.encoding_table['38742'] = [204,247] let s:lib.Codec.encoding_table['26611'] = [204,248] let s:lib.Codec.encoding_table['34222'] = [204,249] let s:lib.Codec.encoding_table['37971'] = [204,250] let s:lib.Codec.encoding_table['24841'] = [204,251] let s:lib.Codec.encoding_table['24840'] = [204,252] let s:lib.Codec.encoding_table['27833'] = [204,253] let s:lib.Codec.encoding_table['30290'] = [204,254] let s:lib.Codec.encoding_table['35565'] = [205,161] let s:lib.Codec.encoding_table['36664'] = [205,162] let s:lib.Codec.encoding_table['21807'] = [205,163] let s:lib.Codec.encoding_table['20305'] = [205,164] let s:lib.Codec.encoding_table['20778'] = [205,165] let s:lib.Codec.encoding_table['21191'] = [205,166] let s:lib.Codec.encoding_table['21451'] = [205,167] let s:lib.Codec.encoding_table['23461'] = [205,168] let s:lib.Codec.encoding_table['24189'] = [205,169] let s:lib.Codec.encoding_table['24736'] = [205,170] let s:lib.Codec.encoding_table['24962'] = [205,171] let s:lib.Codec.encoding_table['25558'] = [205,172] let s:lib.Codec.encoding_table['26377'] = [205,173] let s:lib.Codec.encoding_table['26586'] = [205,174] let s:lib.Codec.encoding_table['28263'] = [205,175] let s:lib.Codec.encoding_table['28044'] = [205,176] let s:lib.Codec.encoding_table['29494'] = [205,177] let s:lib.Codec.encoding_table['29495'] = [205,178] let s:lib.Codec.encoding_table['30001'] = [205,179] let s:lib.Codec.encoding_table['31056'] = [205,180] let s:lib.Codec.encoding_table['35029'] = [205,181] let s:lib.Codec.encoding_table['35480'] = [205,182] let s:lib.Codec.encoding_table['36938'] = [205,183] let s:lib.Codec.encoding_table['37009'] = [205,184] let s:lib.Codec.encoding_table['37109'] = [205,185] let s:lib.Codec.encoding_table['38596'] = [205,186] let s:lib.Codec.encoding_table['34701'] = [205,187] let s:lib.Codec.encoding_table['22805'] = [205,188] let s:lib.Codec.encoding_table['20104'] = [205,189] let s:lib.Codec.encoding_table['20313'] = [205,190] let s:lib.Codec.encoding_table['19982'] = [205,191] let s:lib.Codec.encoding_table['35465'] = [205,192] let s:lib.Codec.encoding_table['36671'] = [205,193] let s:lib.Codec.encoding_table['38928'] = [205,194] let s:lib.Codec.encoding_table['20653'] = [205,195] let s:lib.Codec.encoding_table['24188'] = [205,196] let s:lib.Codec.encoding_table['22934'] = [205,197] let s:lib.Codec.encoding_table['23481'] = [205,198] let s:lib.Codec.encoding_table['24248'] = [205,199] let s:lib.Codec.encoding_table['25562'] = [205,200] let s:lib.Codec.encoding_table['25594'] = [205,201] let s:lib.Codec.encoding_table['25793'] = [205,202] let s:lib.Codec.encoding_table['26332'] = [205,203] let s:lib.Codec.encoding_table['26954'] = [205,204] let s:lib.Codec.encoding_table['27096'] = [205,205] let s:lib.Codec.encoding_table['27915'] = [205,206] let s:lib.Codec.encoding_table['28342'] = [205,207] let s:lib.Codec.encoding_table['29076'] = [205,208] let s:lib.Codec.encoding_table['29992'] = [205,209] let s:lib.Codec.encoding_table['31407'] = [205,210] let s:lib.Codec.encoding_table['32650'] = [205,211] let s:lib.Codec.encoding_table['32768'] = [205,212] let s:lib.Codec.encoding_table['33865'] = [205,213] let s:lib.Codec.encoding_table['33993'] = [205,214] let s:lib.Codec.encoding_table['35201'] = [205,215] let s:lib.Codec.encoding_table['35617'] = [205,216] let s:lib.Codec.encoding_table['36362'] = [205,217] let s:lib.Codec.encoding_table['36965'] = [205,218] let s:lib.Codec.encoding_table['38525'] = [205,219] let s:lib.Codec.encoding_table['39178'] = [205,220] let s:lib.Codec.encoding_table['24958'] = [205,221] let s:lib.Codec.encoding_table['25233'] = [205,222] let s:lib.Codec.encoding_table['27442'] = [205,223] let s:lib.Codec.encoding_table['27779'] = [205,224] let s:lib.Codec.encoding_table['28020'] = [205,225] let s:lib.Codec.encoding_table['32716'] = [205,226] let s:lib.Codec.encoding_table['32764'] = [205,227] let s:lib.Codec.encoding_table['28096'] = [205,228] let s:lib.Codec.encoding_table['32645'] = [205,229] let s:lib.Codec.encoding_table['34746'] = [205,230] let s:lib.Codec.encoding_table['35064'] = [205,231] let s:lib.Codec.encoding_table['26469'] = [205,232] let s:lib.Codec.encoding_table['33713'] = [205,233] let s:lib.Codec.encoding_table['38972'] = [205,234] let s:lib.Codec.encoding_table['38647'] = [205,235] let s:lib.Codec.encoding_table['27931'] = [205,236] let s:lib.Codec.encoding_table['32097'] = [205,237] let s:lib.Codec.encoding_table['33853'] = [205,238] let s:lib.Codec.encoding_table['37226'] = [205,239] let s:lib.Codec.encoding_table['20081'] = [205,240] let s:lib.Codec.encoding_table['21365'] = [205,241] let s:lib.Codec.encoding_table['23888'] = [205,242] let s:lib.Codec.encoding_table['27396'] = [205,243] let s:lib.Codec.encoding_table['28651'] = [205,244] let s:lib.Codec.encoding_table['34253'] = [205,245] let s:lib.Codec.encoding_table['34349'] = [205,246] let s:lib.Codec.encoding_table['35239'] = [205,247] let s:lib.Codec.encoding_table['21033'] = [205,248] let s:lib.Codec.encoding_table['21519'] = [205,249] let s:lib.Codec.encoding_table['23653'] = [205,250] let s:lib.Codec.encoding_table['26446'] = [205,251] let s:lib.Codec.encoding_table['26792'] = [205,252] let s:lib.Codec.encoding_table['29702'] = [205,253] let s:lib.Codec.encoding_table['29827'] = [205,254] let s:lib.Codec.encoding_table['30178'] = [206,161] let s:lib.Codec.encoding_table['35023'] = [206,162] let s:lib.Codec.encoding_table['35041'] = [206,163] let s:lib.Codec.encoding_table['37324'] = [206,164] let s:lib.Codec.encoding_table['38626'] = [206,165] let s:lib.Codec.encoding_table['38520'] = [206,166] let s:lib.Codec.encoding_table['24459'] = [206,167] let s:lib.Codec.encoding_table['29575'] = [206,168] let s:lib.Codec.encoding_table['31435'] = [206,169] let s:lib.Codec.encoding_table['33870'] = [206,170] let s:lib.Codec.encoding_table['25504'] = [206,171] let s:lib.Codec.encoding_table['30053'] = [206,172] let s:lib.Codec.encoding_table['21129'] = [206,173] let s:lib.Codec.encoding_table['27969'] = [206,174] let s:lib.Codec.encoding_table['28316'] = [206,175] let s:lib.Codec.encoding_table['29705'] = [206,176] let s:lib.Codec.encoding_table['30041'] = [206,177] let s:lib.Codec.encoding_table['30827'] = [206,178] let s:lib.Codec.encoding_table['31890'] = [206,179] let s:lib.Codec.encoding_table['38534'] = [206,180] let s:lib.Codec.encoding_table['31452'] = [206,181] let s:lib.Codec.encoding_table['40845'] = [206,182] let s:lib.Codec.encoding_table['20406'] = [206,183] let s:lib.Codec.encoding_table['24942'] = [206,184] let s:lib.Codec.encoding_table['26053'] = [206,185] let s:lib.Codec.encoding_table['34396'] = [206,186] let s:lib.Codec.encoding_table['20102'] = [206,187] let s:lib.Codec.encoding_table['20142'] = [206,188] let s:lib.Codec.encoding_table['20698'] = [206,189] let s:lib.Codec.encoding_table['20001'] = [206,190] let s:lib.Codec.encoding_table['20940'] = [206,191] let s:lib.Codec.encoding_table['23534'] = [206,192] let s:lib.Codec.encoding_table['26009'] = [206,193] let s:lib.Codec.encoding_table['26753'] = [206,194] let s:lib.Codec.encoding_table['28092'] = [206,195] let s:lib.Codec.encoding_table['29471'] = [206,196] let s:lib.Codec.encoding_table['30274'] = [206,197] let s:lib.Codec.encoding_table['30637'] = [206,198] let s:lib.Codec.encoding_table['31260'] = [206,199] let s:lib.Codec.encoding_table['31975'] = [206,200] let s:lib.Codec.encoding_table['33391'] = [206,201] let s:lib.Codec.encoding_table['35538'] = [206,202] let s:lib.Codec.encoding_table['36988'] = [206,203] let s:lib.Codec.encoding_table['37327'] = [206,204] let s:lib.Codec.encoding_table['38517'] = [206,205] let s:lib.Codec.encoding_table['38936'] = [206,206] let s:lib.Codec.encoding_table['21147'] = [206,207] let s:lib.Codec.encoding_table['32209'] = [206,208] let s:lib.Codec.encoding_table['20523'] = [206,209] let s:lib.Codec.encoding_table['21400'] = [206,210] let s:lib.Codec.encoding_table['26519'] = [206,211] let s:lib.Codec.encoding_table['28107'] = [206,212] let s:lib.Codec.encoding_table['29136'] = [206,213] let s:lib.Codec.encoding_table['29747'] = [206,214] let s:lib.Codec.encoding_table['33256'] = [206,215] let s:lib.Codec.encoding_table['36650'] = [206,216] let s:lib.Codec.encoding_table['38563'] = [206,217] let s:lib.Codec.encoding_table['40023'] = [206,218] let s:lib.Codec.encoding_table['40607'] = [206,219] let s:lib.Codec.encoding_table['29792'] = [206,220] let s:lib.Codec.encoding_table['22593'] = [206,221] let s:lib.Codec.encoding_table['28057'] = [206,222] let s:lib.Codec.encoding_table['32047'] = [206,223] let s:lib.Codec.encoding_table['39006'] = [206,224] let s:lib.Codec.encoding_table['20196'] = [206,225] let s:lib.Codec.encoding_table['20278'] = [206,226] let s:lib.Codec.encoding_table['20363'] = [206,227] let s:lib.Codec.encoding_table['20919'] = [206,228] let s:lib.Codec.encoding_table['21169'] = [206,229] let s:lib.Codec.encoding_table['23994'] = [206,230] let s:lib.Codec.encoding_table['24604'] = [206,231] let s:lib.Codec.encoding_table['29618'] = [206,232] let s:lib.Codec.encoding_table['31036'] = [206,233] let s:lib.Codec.encoding_table['33491'] = [206,234] let s:lib.Codec.encoding_table['37428'] = [206,235] let s:lib.Codec.encoding_table['38583'] = [206,236] let s:lib.Codec.encoding_table['38646'] = [206,237] let s:lib.Codec.encoding_table['38666'] = [206,238] let s:lib.Codec.encoding_table['40599'] = [206,239] let s:lib.Codec.encoding_table['40802'] = [206,240] let s:lib.Codec.encoding_table['26278'] = [206,241] let s:lib.Codec.encoding_table['27508'] = [206,242] let s:lib.Codec.encoding_table['21015'] = [206,243] let s:lib.Codec.encoding_table['21155'] = [206,244] let s:lib.Codec.encoding_table['28872'] = [206,245] let s:lib.Codec.encoding_table['35010'] = [206,246] let s:lib.Codec.encoding_table['24265'] = [206,247] let s:lib.Codec.encoding_table['24651'] = [206,248] let s:lib.Codec.encoding_table['24976'] = [206,249] let s:lib.Codec.encoding_table['28451'] = [206,250] let s:lib.Codec.encoding_table['29001'] = [206,251] let s:lib.Codec.encoding_table['31806'] = [206,252] let s:lib.Codec.encoding_table['32244'] = [206,253] let s:lib.Codec.encoding_table['32879'] = [206,254] let s:lib.Codec.encoding_table['34030'] = [207,161] let s:lib.Codec.encoding_table['36899'] = [207,162] let s:lib.Codec.encoding_table['37676'] = [207,163] let s:lib.Codec.encoding_table['21570'] = [207,164] let s:lib.Codec.encoding_table['39791'] = [207,165] let s:lib.Codec.encoding_table['27347'] = [207,166] let s:lib.Codec.encoding_table['28809'] = [207,167] let s:lib.Codec.encoding_table['36034'] = [207,168] let s:lib.Codec.encoding_table['36335'] = [207,169] let s:lib.Codec.encoding_table['38706'] = [207,170] let s:lib.Codec.encoding_table['21172'] = [207,171] let s:lib.Codec.encoding_table['23105'] = [207,172] let s:lib.Codec.encoding_table['24266'] = [207,173] let s:lib.Codec.encoding_table['24324'] = [207,174] let s:lib.Codec.encoding_table['26391'] = [207,175] let s:lib.Codec.encoding_table['27004'] = [207,176] let s:lib.Codec.encoding_table['27028'] = [207,177] let s:lib.Codec.encoding_table['28010'] = [207,178] let s:lib.Codec.encoding_table['28431'] = [207,179] let s:lib.Codec.encoding_table['29282'] = [207,180] let s:lib.Codec.encoding_table['29436'] = [207,181] let s:lib.Codec.encoding_table['31725'] = [207,182] let s:lib.Codec.encoding_table['32769'] = [207,183] let s:lib.Codec.encoding_table['32894'] = [207,184] let s:lib.Codec.encoding_table['34635'] = [207,185] let s:lib.Codec.encoding_table['37070'] = [207,186] let s:lib.Codec.encoding_table['20845'] = [207,187] let s:lib.Codec.encoding_table['40595'] = [207,188] let s:lib.Codec.encoding_table['31108'] = [207,189] let s:lib.Codec.encoding_table['32907'] = [207,190] let s:lib.Codec.encoding_table['37682'] = [207,191] let s:lib.Codec.encoding_table['35542'] = [207,192] let s:lib.Codec.encoding_table['20525'] = [207,193] let s:lib.Codec.encoding_table['21644'] = [207,194] let s:lib.Codec.encoding_table['35441'] = [207,195] let s:lib.Codec.encoding_table['27498'] = [207,196] let s:lib.Codec.encoding_table['36036'] = [207,197] let s:lib.Codec.encoding_table['33031'] = [207,198] let s:lib.Codec.encoding_table['24785'] = [207,199] let s:lib.Codec.encoding_table['26528'] = [207,200] let s:lib.Codec.encoding_table['40434'] = [207,201] let s:lib.Codec.encoding_table['20121'] = [207,202] let s:lib.Codec.encoding_table['20120'] = [207,203] let s:lib.Codec.encoding_table['39952'] = [207,204] let s:lib.Codec.encoding_table['35435'] = [207,205] let s:lib.Codec.encoding_table['34241'] = [207,206] let s:lib.Codec.encoding_table['34152'] = [207,207] let s:lib.Codec.encoding_table['26880'] = [207,208] let s:lib.Codec.encoding_table['28286'] = [207,209] let s:lib.Codec.encoding_table['30871'] = [207,210] let s:lib.Codec.encoding_table['33109'] = [207,211] let s:lib.Codec.encoding_table['24332'] = [208,161] let s:lib.Codec.encoding_table['19984'] = [208,162] let s:lib.Codec.encoding_table['19989'] = [208,163] let s:lib.Codec.encoding_table['20010'] = [208,164] let s:lib.Codec.encoding_table['20017'] = [208,165] let s:lib.Codec.encoding_table['20022'] = [208,166] let s:lib.Codec.encoding_table['20028'] = [208,167] let s:lib.Codec.encoding_table['20031'] = [208,168] let s:lib.Codec.encoding_table['20034'] = [208,169] let s:lib.Codec.encoding_table['20054'] = [208,170] let s:lib.Codec.encoding_table['20056'] = [208,171] let s:lib.Codec.encoding_table['20098'] = [208,172] let s:lib.Codec.encoding_table['20101'] = [208,173] let s:lib.Codec.encoding_table['35947'] = [208,174] let s:lib.Codec.encoding_table['20106'] = [208,175] let s:lib.Codec.encoding_table['33298'] = [208,176] let s:lib.Codec.encoding_table['24333'] = [208,177] let s:lib.Codec.encoding_table['20110'] = [208,178] let s:lib.Codec.encoding_table['20126'] = [208,179] let s:lib.Codec.encoding_table['20127'] = [208,180] let s:lib.Codec.encoding_table['20128'] = [208,181] let s:lib.Codec.encoding_table['20130'] = [208,182] let s:lib.Codec.encoding_table['20144'] = [208,183] let s:lib.Codec.encoding_table['20147'] = [208,184] let s:lib.Codec.encoding_table['20150'] = [208,185] let s:lib.Codec.encoding_table['20174'] = [208,186] let s:lib.Codec.encoding_table['20173'] = [208,187] let s:lib.Codec.encoding_table['20164'] = [208,188] let s:lib.Codec.encoding_table['20166'] = [208,189] let s:lib.Codec.encoding_table['20162'] = [208,190] let s:lib.Codec.encoding_table['20183'] = [208,191] let s:lib.Codec.encoding_table['20190'] = [208,192] let s:lib.Codec.encoding_table['20205'] = [208,193] let s:lib.Codec.encoding_table['20191'] = [208,194] let s:lib.Codec.encoding_table['20215'] = [208,195] let s:lib.Codec.encoding_table['20233'] = [208,196] let s:lib.Codec.encoding_table['20314'] = [208,197] let s:lib.Codec.encoding_table['20272'] = [208,198] let s:lib.Codec.encoding_table['20315'] = [208,199] let s:lib.Codec.encoding_table['20317'] = [208,200] let s:lib.Codec.encoding_table['20311'] = [208,201] let s:lib.Codec.encoding_table['20295'] = [208,202] let s:lib.Codec.encoding_table['20342'] = [208,203] let s:lib.Codec.encoding_table['20360'] = [208,204] let s:lib.Codec.encoding_table['20367'] = [208,205] let s:lib.Codec.encoding_table['20376'] = [208,206] let s:lib.Codec.encoding_table['20347'] = [208,207] let s:lib.Codec.encoding_table['20329'] = [208,208] let s:lib.Codec.encoding_table['20336'] = [208,209] let s:lib.Codec.encoding_table['20369'] = [208,210] let s:lib.Codec.encoding_table['20335'] = [208,211] let s:lib.Codec.encoding_table['20358'] = [208,212] let s:lib.Codec.encoding_table['20374'] = [208,213] let s:lib.Codec.encoding_table['20760'] = [208,214] let s:lib.Codec.encoding_table['20436'] = [208,215] let s:lib.Codec.encoding_table['20447'] = [208,216] let s:lib.Codec.encoding_table['20430'] = [208,217] let s:lib.Codec.encoding_table['20440'] = [208,218] let s:lib.Codec.encoding_table['20443'] = [208,219] let s:lib.Codec.encoding_table['20433'] = [208,220] let s:lib.Codec.encoding_table['20442'] = [208,221] let s:lib.Codec.encoding_table['20432'] = [208,222] let s:lib.Codec.encoding_table['20452'] = [208,223] let s:lib.Codec.encoding_table['20453'] = [208,224] let s:lib.Codec.encoding_table['20506'] = [208,225] let s:lib.Codec.encoding_table['20520'] = [208,226] let s:lib.Codec.encoding_table['20500'] = [208,227] let s:lib.Codec.encoding_table['20522'] = [208,228] let s:lib.Codec.encoding_table['20517'] = [208,229] let s:lib.Codec.encoding_table['20485'] = [208,230] let s:lib.Codec.encoding_table['20252'] = [208,231] let s:lib.Codec.encoding_table['20470'] = [208,232] let s:lib.Codec.encoding_table['20513'] = [208,233] let s:lib.Codec.encoding_table['20521'] = [208,234] let s:lib.Codec.encoding_table['20524'] = [208,235] let s:lib.Codec.encoding_table['20478'] = [208,236] let s:lib.Codec.encoding_table['20463'] = [208,237] let s:lib.Codec.encoding_table['20497'] = [208,238] let s:lib.Codec.encoding_table['20486'] = [208,239] let s:lib.Codec.encoding_table['20547'] = [208,240] let s:lib.Codec.encoding_table['20551'] = [208,241] let s:lib.Codec.encoding_table['26371'] = [208,242] let s:lib.Codec.encoding_table['20565'] = [208,243] let s:lib.Codec.encoding_table['20560'] = [208,244] let s:lib.Codec.encoding_table['20552'] = [208,245] let s:lib.Codec.encoding_table['20570'] = [208,246] let s:lib.Codec.encoding_table['20566'] = [208,247] let s:lib.Codec.encoding_table['20588'] = [208,248] let s:lib.Codec.encoding_table['20600'] = [208,249] let s:lib.Codec.encoding_table['20608'] = [208,250] let s:lib.Codec.encoding_table['20634'] = [208,251] let s:lib.Codec.encoding_table['20613'] = [208,252] let s:lib.Codec.encoding_table['20660'] = [208,253] let s:lib.Codec.encoding_table['20658'] = [208,254] let s:lib.Codec.encoding_table['20681'] = [209,161] let s:lib.Codec.encoding_table['20682'] = [209,162] let s:lib.Codec.encoding_table['20659'] = [209,163] let s:lib.Codec.encoding_table['20674'] = [209,164] let s:lib.Codec.encoding_table['20694'] = [209,165] let s:lib.Codec.encoding_table['20702'] = [209,166] let s:lib.Codec.encoding_table['20709'] = [209,167] let s:lib.Codec.encoding_table['20717'] = [209,168] let s:lib.Codec.encoding_table['20707'] = [209,169] let s:lib.Codec.encoding_table['20718'] = [209,170] let s:lib.Codec.encoding_table['20729'] = [209,171] let s:lib.Codec.encoding_table['20725'] = [209,172] let s:lib.Codec.encoding_table['20745'] = [209,173] let s:lib.Codec.encoding_table['20737'] = [209,174] let s:lib.Codec.encoding_table['20738'] = [209,175] let s:lib.Codec.encoding_table['20758'] = [209,176] let s:lib.Codec.encoding_table['20757'] = [209,177] let s:lib.Codec.encoding_table['20756'] = [209,178] let s:lib.Codec.encoding_table['20762'] = [209,179] let s:lib.Codec.encoding_table['20769'] = [209,180] let s:lib.Codec.encoding_table['20794'] = [209,181] let s:lib.Codec.encoding_table['20791'] = [209,182] let s:lib.Codec.encoding_table['20796'] = [209,183] let s:lib.Codec.encoding_table['20795'] = [209,184] let s:lib.Codec.encoding_table['20799'] = [209,185] let s:lib.Codec.encoding_table['20800'] = [209,186] let s:lib.Codec.encoding_table['20818'] = [209,187] let s:lib.Codec.encoding_table['20812'] = [209,188] let s:lib.Codec.encoding_table['20820'] = [209,189] let s:lib.Codec.encoding_table['20834'] = [209,190] let s:lib.Codec.encoding_table['31480'] = [209,191] let s:lib.Codec.encoding_table['20841'] = [209,192] let s:lib.Codec.encoding_table['20842'] = [209,193] let s:lib.Codec.encoding_table['20846'] = [209,194] let s:lib.Codec.encoding_table['20864'] = [209,195] let s:lib.Codec.encoding_table['20866'] = [209,196] let s:lib.Codec.encoding_table['22232'] = [209,197] let s:lib.Codec.encoding_table['20876'] = [209,198] let s:lib.Codec.encoding_table['20873'] = [209,199] let s:lib.Codec.encoding_table['20879'] = [209,200] let s:lib.Codec.encoding_table['20881'] = [209,201] let s:lib.Codec.encoding_table['20883'] = [209,202] let s:lib.Codec.encoding_table['20885'] = [209,203] let s:lib.Codec.encoding_table['20886'] = [209,204] let s:lib.Codec.encoding_table['20900'] = [209,205] let s:lib.Codec.encoding_table['20902'] = [209,206] let s:lib.Codec.encoding_table['20898'] = [209,207] let s:lib.Codec.encoding_table['20905'] = [209,208] let s:lib.Codec.encoding_table['20906'] = [209,209] let s:lib.Codec.encoding_table['20907'] = [209,210] let s:lib.Codec.encoding_table['20915'] = [209,211] let s:lib.Codec.encoding_table['20913'] = [209,212] let s:lib.Codec.encoding_table['20914'] = [209,213] let s:lib.Codec.encoding_table['20912'] = [209,214] let s:lib.Codec.encoding_table['20917'] = [209,215] let s:lib.Codec.encoding_table['20925'] = [209,216] let s:lib.Codec.encoding_table['20933'] = [209,217] let s:lib.Codec.encoding_table['20937'] = [209,218] let s:lib.Codec.encoding_table['20955'] = [209,219] let s:lib.Codec.encoding_table['20960'] = [209,220] let s:lib.Codec.encoding_table['34389'] = [209,221] let s:lib.Codec.encoding_table['20969'] = [209,222] let s:lib.Codec.encoding_table['20973'] = [209,223] let s:lib.Codec.encoding_table['20976'] = [209,224] let s:lib.Codec.encoding_table['20981'] = [209,225] let s:lib.Codec.encoding_table['20990'] = [209,226] let s:lib.Codec.encoding_table['20996'] = [209,227] let s:lib.Codec.encoding_table['21003'] = [209,228] let s:lib.Codec.encoding_table['21012'] = [209,229] let s:lib.Codec.encoding_table['21006'] = [209,230] let s:lib.Codec.encoding_table['21031'] = [209,231] let s:lib.Codec.encoding_table['21034'] = [209,232] let s:lib.Codec.encoding_table['21038'] = [209,233] let s:lib.Codec.encoding_table['21043'] = [209,234] let s:lib.Codec.encoding_table['21049'] = [209,235] let s:lib.Codec.encoding_table['21071'] = [209,236] let s:lib.Codec.encoding_table['21060'] = [209,237] let s:lib.Codec.encoding_table['21067'] = [209,238] let s:lib.Codec.encoding_table['21068'] = [209,239] let s:lib.Codec.encoding_table['21086'] = [209,240] let s:lib.Codec.encoding_table['21076'] = [209,241] let s:lib.Codec.encoding_table['21098'] = [209,242] let s:lib.Codec.encoding_table['21108'] = [209,243] let s:lib.Codec.encoding_table['21097'] = [209,244] let s:lib.Codec.encoding_table['21107'] = [209,245] let s:lib.Codec.encoding_table['21119'] = [209,246] let s:lib.Codec.encoding_table['21117'] = [209,247] let s:lib.Codec.encoding_table['21133'] = [209,248] let s:lib.Codec.encoding_table['21140'] = [209,249] let s:lib.Codec.encoding_table['21138'] = [209,250] let s:lib.Codec.encoding_table['21105'] = [209,251] let s:lib.Codec.encoding_table['21128'] = [209,252] let s:lib.Codec.encoding_table['21137'] = [209,253] let s:lib.Codec.encoding_table['36776'] = [209,254] let s:lib.Codec.encoding_table['36775'] = [210,161] let s:lib.Codec.encoding_table['21164'] = [210,162] let s:lib.Codec.encoding_table['21165'] = [210,163] let s:lib.Codec.encoding_table['21180'] = [210,164] let s:lib.Codec.encoding_table['21173'] = [210,165] let s:lib.Codec.encoding_table['21185'] = [210,166] let s:lib.Codec.encoding_table['21197'] = [210,167] let s:lib.Codec.encoding_table['21207'] = [210,168] let s:lib.Codec.encoding_table['21214'] = [210,169] let s:lib.Codec.encoding_table['21219'] = [210,170] let s:lib.Codec.encoding_table['21222'] = [210,171] let s:lib.Codec.encoding_table['39149'] = [210,172] let s:lib.Codec.encoding_table['21216'] = [210,173] let s:lib.Codec.encoding_table['21235'] = [210,174] let s:lib.Codec.encoding_table['21237'] = [210,175] let s:lib.Codec.encoding_table['21240'] = [210,176] let s:lib.Codec.encoding_table['21241'] = [210,177] let s:lib.Codec.encoding_table['21254'] = [210,178] let s:lib.Codec.encoding_table['21256'] = [210,179] let s:lib.Codec.encoding_table['30008'] = [210,180] let s:lib.Codec.encoding_table['21261'] = [210,181] let s:lib.Codec.encoding_table['21264'] = [210,182] let s:lib.Codec.encoding_table['21263'] = [210,183] let s:lib.Codec.encoding_table['21269'] = [210,184] let s:lib.Codec.encoding_table['21274'] = [210,185] let s:lib.Codec.encoding_table['21283'] = [210,186] let s:lib.Codec.encoding_table['21295'] = [210,187] let s:lib.Codec.encoding_table['21297'] = [210,188] let s:lib.Codec.encoding_table['21299'] = [210,189] let s:lib.Codec.encoding_table['21304'] = [210,190] let s:lib.Codec.encoding_table['21312'] = [210,191] let s:lib.Codec.encoding_table['21318'] = [210,192] let s:lib.Codec.encoding_table['21317'] = [210,193] let s:lib.Codec.encoding_table['19991'] = [210,194] let s:lib.Codec.encoding_table['21321'] = [210,195] let s:lib.Codec.encoding_table['21325'] = [210,196] let s:lib.Codec.encoding_table['20950'] = [210,197] let s:lib.Codec.encoding_table['21342'] = [210,198] let s:lib.Codec.encoding_table['21353'] = [210,199] let s:lib.Codec.encoding_table['21358'] = [210,200] let s:lib.Codec.encoding_table['22808'] = [210,201] let s:lib.Codec.encoding_table['21371'] = [210,202] let s:lib.Codec.encoding_table['21367'] = [210,203] let s:lib.Codec.encoding_table['21378'] = [210,204] let s:lib.Codec.encoding_table['21398'] = [210,205] let s:lib.Codec.encoding_table['21408'] = [210,206] let s:lib.Codec.encoding_table['21414'] = [210,207] let s:lib.Codec.encoding_table['21413'] = [210,208] let s:lib.Codec.encoding_table['21422'] = [210,209] let s:lib.Codec.encoding_table['21424'] = [210,210] let s:lib.Codec.encoding_table['21430'] = [210,211] let s:lib.Codec.encoding_table['21443'] = [210,212] let s:lib.Codec.encoding_table['31762'] = [210,213] let s:lib.Codec.encoding_table['38617'] = [210,214] let s:lib.Codec.encoding_table['21471'] = [210,215] let s:lib.Codec.encoding_table['26364'] = [210,216] let s:lib.Codec.encoding_table['29166'] = [210,217] let s:lib.Codec.encoding_table['21486'] = [210,218] let s:lib.Codec.encoding_table['21480'] = [210,219] let s:lib.Codec.encoding_table['21485'] = [210,220] let s:lib.Codec.encoding_table['21498'] = [210,221] let s:lib.Codec.encoding_table['21505'] = [210,222] let s:lib.Codec.encoding_table['21565'] = [210,223] let s:lib.Codec.encoding_table['21568'] = [210,224] let s:lib.Codec.encoding_table['21548'] = [210,225] let s:lib.Codec.encoding_table['21549'] = [210,226] let s:lib.Codec.encoding_table['21564'] = [210,227] let s:lib.Codec.encoding_table['21550'] = [210,228] let s:lib.Codec.encoding_table['21558'] = [210,229] let s:lib.Codec.encoding_table['21545'] = [210,230] let s:lib.Codec.encoding_table['21533'] = [210,231] let s:lib.Codec.encoding_table['21582'] = [210,232] let s:lib.Codec.encoding_table['21647'] = [210,233] let s:lib.Codec.encoding_table['21621'] = [210,234] let s:lib.Codec.encoding_table['21646'] = [210,235] let s:lib.Codec.encoding_table['21599'] = [210,236] let s:lib.Codec.encoding_table['21617'] = [210,237] let s:lib.Codec.encoding_table['21623'] = [210,238] let s:lib.Codec.encoding_table['21616'] = [210,239] let s:lib.Codec.encoding_table['21650'] = [210,240] let s:lib.Codec.encoding_table['21627'] = [210,241] let s:lib.Codec.encoding_table['21632'] = [210,242] let s:lib.Codec.encoding_table['21622'] = [210,243] let s:lib.Codec.encoding_table['21636'] = [210,244] let s:lib.Codec.encoding_table['21648'] = [210,245] let s:lib.Codec.encoding_table['21638'] = [210,246] let s:lib.Codec.encoding_table['21703'] = [210,247] let s:lib.Codec.encoding_table['21666'] = [210,248] let s:lib.Codec.encoding_table['21688'] = [210,249] let s:lib.Codec.encoding_table['21669'] = [210,250] let s:lib.Codec.encoding_table['21676'] = [210,251] let s:lib.Codec.encoding_table['21700'] = [210,252] let s:lib.Codec.encoding_table['21704'] = [210,253] let s:lib.Codec.encoding_table['21672'] = [210,254] let s:lib.Codec.encoding_table['21675'] = [211,161] let s:lib.Codec.encoding_table['21698'] = [211,162] let s:lib.Codec.encoding_table['21668'] = [211,163] let s:lib.Codec.encoding_table['21694'] = [211,164] let s:lib.Codec.encoding_table['21692'] = [211,165] let s:lib.Codec.encoding_table['21720'] = [211,166] let s:lib.Codec.encoding_table['21733'] = [211,167] let s:lib.Codec.encoding_table['21734'] = [211,168] let s:lib.Codec.encoding_table['21775'] = [211,169] let s:lib.Codec.encoding_table['21780'] = [211,170] let s:lib.Codec.encoding_table['21757'] = [211,171] let s:lib.Codec.encoding_table['21742'] = [211,172] let s:lib.Codec.encoding_table['21741'] = [211,173] let s:lib.Codec.encoding_table['21754'] = [211,174] let s:lib.Codec.encoding_table['21730'] = [211,175] let s:lib.Codec.encoding_table['21817'] = [211,176] let s:lib.Codec.encoding_table['21824'] = [211,177] let s:lib.Codec.encoding_table['21859'] = [211,178] let s:lib.Codec.encoding_table['21836'] = [211,179] let s:lib.Codec.encoding_table['21806'] = [211,180] let s:lib.Codec.encoding_table['21852'] = [211,181] let s:lib.Codec.encoding_table['21829'] = [211,182] let s:lib.Codec.encoding_table['21846'] = [211,183] let s:lib.Codec.encoding_table['21847'] = [211,184] let s:lib.Codec.encoding_table['21816'] = [211,185] let s:lib.Codec.encoding_table['21811'] = [211,186] let s:lib.Codec.encoding_table['21853'] = [211,187] let s:lib.Codec.encoding_table['21913'] = [211,188] let s:lib.Codec.encoding_table['21888'] = [211,189] let s:lib.Codec.encoding_table['21679'] = [211,190] let s:lib.Codec.encoding_table['21898'] = [211,191] let s:lib.Codec.encoding_table['21919'] = [211,192] let s:lib.Codec.encoding_table['21883'] = [211,193] let s:lib.Codec.encoding_table['21886'] = [211,194] let s:lib.Codec.encoding_table['21912'] = [211,195] let s:lib.Codec.encoding_table['21918'] = [211,196] let s:lib.Codec.encoding_table['21934'] = [211,197] let s:lib.Codec.encoding_table['21884'] = [211,198] let s:lib.Codec.encoding_table['21891'] = [211,199] let s:lib.Codec.encoding_table['21929'] = [211,200] let s:lib.Codec.encoding_table['21895'] = [211,201] let s:lib.Codec.encoding_table['21928'] = [211,202] let s:lib.Codec.encoding_table['21978'] = [211,203] let s:lib.Codec.encoding_table['21957'] = [211,204] let s:lib.Codec.encoding_table['21983'] = [211,205] let s:lib.Codec.encoding_table['21956'] = [211,206] let s:lib.Codec.encoding_table['21980'] = [211,207] let s:lib.Codec.encoding_table['21988'] = [211,208] let s:lib.Codec.encoding_table['21972'] = [211,209] let s:lib.Codec.encoding_table['22036'] = [211,210] let s:lib.Codec.encoding_table['22007'] = [211,211] let s:lib.Codec.encoding_table['22038'] = [211,212] let s:lib.Codec.encoding_table['22014'] = [211,213] let s:lib.Codec.encoding_table['22013'] = [211,214] let s:lib.Codec.encoding_table['22043'] = [211,215] let s:lib.Codec.encoding_table['22009'] = [211,216] let s:lib.Codec.encoding_table['22094'] = [211,217] let s:lib.Codec.encoding_table['22096'] = [211,218] let s:lib.Codec.encoding_table['29151'] = [211,219] let s:lib.Codec.encoding_table['22068'] = [211,220] let s:lib.Codec.encoding_table['22070'] = [211,221] let s:lib.Codec.encoding_table['22066'] = [211,222] let s:lib.Codec.encoding_table['22072'] = [211,223] let s:lib.Codec.encoding_table['22123'] = [211,224] let s:lib.Codec.encoding_table['22116'] = [211,225] let s:lib.Codec.encoding_table['22063'] = [211,226] let s:lib.Codec.encoding_table['22124'] = [211,227] let s:lib.Codec.encoding_table['22122'] = [211,228] let s:lib.Codec.encoding_table['22150'] = [211,229] let s:lib.Codec.encoding_table['22144'] = [211,230] let s:lib.Codec.encoding_table['22154'] = [211,231] let s:lib.Codec.encoding_table['22176'] = [211,232] let s:lib.Codec.encoding_table['22164'] = [211,233] let s:lib.Codec.encoding_table['22159'] = [211,234] let s:lib.Codec.encoding_table['22181'] = [211,235] let s:lib.Codec.encoding_table['22190'] = [211,236] let s:lib.Codec.encoding_table['22198'] = [211,237] let s:lib.Codec.encoding_table['22196'] = [211,238] let s:lib.Codec.encoding_table['22210'] = [211,239] let s:lib.Codec.encoding_table['22204'] = [211,240] let s:lib.Codec.encoding_table['22209'] = [211,241] let s:lib.Codec.encoding_table['22211'] = [211,242] let s:lib.Codec.encoding_table['22208'] = [211,243] let s:lib.Codec.encoding_table['22216'] = [211,244] let s:lib.Codec.encoding_table['22222'] = [211,245] let s:lib.Codec.encoding_table['22225'] = [211,246] let s:lib.Codec.encoding_table['22227'] = [211,247] let s:lib.Codec.encoding_table['22231'] = [211,248] let s:lib.Codec.encoding_table['22254'] = [211,249] let s:lib.Codec.encoding_table['22265'] = [211,250] let s:lib.Codec.encoding_table['22272'] = [211,251] let s:lib.Codec.encoding_table['22271'] = [211,252] let s:lib.Codec.encoding_table['22276'] = [211,253] let s:lib.Codec.encoding_table['22281'] = [211,254] let s:lib.Codec.encoding_table['22280'] = [212,161] let s:lib.Codec.encoding_table['22283'] = [212,162] let s:lib.Codec.encoding_table['22285'] = [212,163] let s:lib.Codec.encoding_table['22291'] = [212,164] let s:lib.Codec.encoding_table['22296'] = [212,165] let s:lib.Codec.encoding_table['22294'] = [212,166] let s:lib.Codec.encoding_table['21959'] = [212,167] let s:lib.Codec.encoding_table['22300'] = [212,168] let s:lib.Codec.encoding_table['22310'] = [212,169] let s:lib.Codec.encoding_table['22327'] = [212,170] let s:lib.Codec.encoding_table['22328'] = [212,171] let s:lib.Codec.encoding_table['22350'] = [212,172] let s:lib.Codec.encoding_table['22331'] = [212,173] let s:lib.Codec.encoding_table['22336'] = [212,174] let s:lib.Codec.encoding_table['22351'] = [212,175] let s:lib.Codec.encoding_table['22377'] = [212,176] let s:lib.Codec.encoding_table['22464'] = [212,177] let s:lib.Codec.encoding_table['22408'] = [212,178] let s:lib.Codec.encoding_table['22369'] = [212,179] let s:lib.Codec.encoding_table['22399'] = [212,180] let s:lib.Codec.encoding_table['22409'] = [212,181] let s:lib.Codec.encoding_table['22419'] = [212,182] let s:lib.Codec.encoding_table['22432'] = [212,183] let s:lib.Codec.encoding_table['22451'] = [212,184] let s:lib.Codec.encoding_table['22436'] = [212,185] let s:lib.Codec.encoding_table['22442'] = [212,186] let s:lib.Codec.encoding_table['22448'] = [212,187] let s:lib.Codec.encoding_table['22467'] = [212,188] let s:lib.Codec.encoding_table['22470'] = [212,189] let s:lib.Codec.encoding_table['22484'] = [212,190] let s:lib.Codec.encoding_table['22482'] = [212,191] let s:lib.Codec.encoding_table['22483'] = [212,192] let s:lib.Codec.encoding_table['22538'] = [212,193] let s:lib.Codec.encoding_table['22486'] = [212,194] let s:lib.Codec.encoding_table['22499'] = [212,195] let s:lib.Codec.encoding_table['22539'] = [212,196] let s:lib.Codec.encoding_table['22553'] = [212,197] let s:lib.Codec.encoding_table['22557'] = [212,198] let s:lib.Codec.encoding_table['22642'] = [212,199] let s:lib.Codec.encoding_table['22561'] = [212,200] let s:lib.Codec.encoding_table['22626'] = [212,201] let s:lib.Codec.encoding_table['22603'] = [212,202] let s:lib.Codec.encoding_table['22640'] = [212,203] let s:lib.Codec.encoding_table['27584'] = [212,204] let s:lib.Codec.encoding_table['22610'] = [212,205] let s:lib.Codec.encoding_table['22589'] = [212,206] let s:lib.Codec.encoding_table['22649'] = [212,207] let s:lib.Codec.encoding_table['22661'] = [212,208] let s:lib.Codec.encoding_table['22713'] = [212,209] let s:lib.Codec.encoding_table['22687'] = [212,210] let s:lib.Codec.encoding_table['22699'] = [212,211] let s:lib.Codec.encoding_table['22714'] = [212,212] let s:lib.Codec.encoding_table['22750'] = [212,213] let s:lib.Codec.encoding_table['22715'] = [212,214] let s:lib.Codec.encoding_table['22712'] = [212,215] let s:lib.Codec.encoding_table['22702'] = [212,216] let s:lib.Codec.encoding_table['22725'] = [212,217] let s:lib.Codec.encoding_table['22739'] = [212,218] let s:lib.Codec.encoding_table['22737'] = [212,219] let s:lib.Codec.encoding_table['22743'] = [212,220] let s:lib.Codec.encoding_table['22745'] = [212,221] let s:lib.Codec.encoding_table['22744'] = [212,222] let s:lib.Codec.encoding_table['22757'] = [212,223] let s:lib.Codec.encoding_table['22748'] = [212,224] let s:lib.Codec.encoding_table['22756'] = [212,225] let s:lib.Codec.encoding_table['22751'] = [212,226] let s:lib.Codec.encoding_table['22767'] = [212,227] let s:lib.Codec.encoding_table['22778'] = [212,228] let s:lib.Codec.encoding_table['22777'] = [212,229] let s:lib.Codec.encoding_table['22779'] = [212,230] let s:lib.Codec.encoding_table['22780'] = [212,231] let s:lib.Codec.encoding_table['22781'] = [212,232] let s:lib.Codec.encoding_table['22786'] = [212,233] let s:lib.Codec.encoding_table['22794'] = [212,234] let s:lib.Codec.encoding_table['22800'] = [212,235] let s:lib.Codec.encoding_table['22811'] = [212,236] let s:lib.Codec.encoding_table['26790'] = [212,237] let s:lib.Codec.encoding_table['22821'] = [212,238] let s:lib.Codec.encoding_table['22828'] = [212,239] let s:lib.Codec.encoding_table['22829'] = [212,240] let s:lib.Codec.encoding_table['22834'] = [212,241] let s:lib.Codec.encoding_table['22840'] = [212,242] let s:lib.Codec.encoding_table['22846'] = [212,243] let s:lib.Codec.encoding_table['31442'] = [212,244] let s:lib.Codec.encoding_table['22869'] = [212,245] let s:lib.Codec.encoding_table['22864'] = [212,246] let s:lib.Codec.encoding_table['22862'] = [212,247] let s:lib.Codec.encoding_table['22874'] = [212,248] let s:lib.Codec.encoding_table['22872'] = [212,249] let s:lib.Codec.encoding_table['22882'] = [212,250] let s:lib.Codec.encoding_table['22880'] = [212,251] let s:lib.Codec.encoding_table['22887'] = [212,252] let s:lib.Codec.encoding_table['22892'] = [212,253] let s:lib.Codec.encoding_table['22889'] = [212,254] let s:lib.Codec.encoding_table['22904'] = [213,161] let s:lib.Codec.encoding_table['22913'] = [213,162] let s:lib.Codec.encoding_table['22941'] = [213,163] let s:lib.Codec.encoding_table['20318'] = [213,164] let s:lib.Codec.encoding_table['20395'] = [213,165] let s:lib.Codec.encoding_table['22947'] = [213,166] let s:lib.Codec.encoding_table['22962'] = [213,167] let s:lib.Codec.encoding_table['22982'] = [213,168] let s:lib.Codec.encoding_table['23016'] = [213,169] let s:lib.Codec.encoding_table['23004'] = [213,170] let s:lib.Codec.encoding_table['22925'] = [213,171] let s:lib.Codec.encoding_table['23001'] = [213,172] let s:lib.Codec.encoding_table['23002'] = [213,173] let s:lib.Codec.encoding_table['23077'] = [213,174] let s:lib.Codec.encoding_table['23071'] = [213,175] let s:lib.Codec.encoding_table['23057'] = [213,176] let s:lib.Codec.encoding_table['23068'] = [213,177] let s:lib.Codec.encoding_table['23049'] = [213,178] let s:lib.Codec.encoding_table['23066'] = [213,179] let s:lib.Codec.encoding_table['23104'] = [213,180] let s:lib.Codec.encoding_table['23148'] = [213,181] let s:lib.Codec.encoding_table['23113'] = [213,182] let s:lib.Codec.encoding_table['23093'] = [213,183] let s:lib.Codec.encoding_table['23094'] = [213,184] let s:lib.Codec.encoding_table['23138'] = [213,185] let s:lib.Codec.encoding_table['23146'] = [213,186] let s:lib.Codec.encoding_table['23194'] = [213,187] let s:lib.Codec.encoding_table['23228'] = [213,188] let s:lib.Codec.encoding_table['23230'] = [213,189] let s:lib.Codec.encoding_table['23243'] = [213,190] let s:lib.Codec.encoding_table['23234'] = [213,191] let s:lib.Codec.encoding_table['23229'] = [213,192] let s:lib.Codec.encoding_table['23267'] = [213,193] let s:lib.Codec.encoding_table['23255'] = [213,194] let s:lib.Codec.encoding_table['23270'] = [213,195] let s:lib.Codec.encoding_table['23273'] = [213,196] let s:lib.Codec.encoding_table['23254'] = [213,197] let s:lib.Codec.encoding_table['23290'] = [213,198] let s:lib.Codec.encoding_table['23291'] = [213,199] let s:lib.Codec.encoding_table['23308'] = [213,200] let s:lib.Codec.encoding_table['23307'] = [213,201] let s:lib.Codec.encoding_table['23318'] = [213,202] let s:lib.Codec.encoding_table['23346'] = [213,203] let s:lib.Codec.encoding_table['23248'] = [213,204] let s:lib.Codec.encoding_table['23338'] = [213,205] let s:lib.Codec.encoding_table['23350'] = [213,206] let s:lib.Codec.encoding_table['23358'] = [213,207] let s:lib.Codec.encoding_table['23363'] = [213,208] let s:lib.Codec.encoding_table['23365'] = [213,209] let s:lib.Codec.encoding_table['23360'] = [213,210] let s:lib.Codec.encoding_table['23377'] = [213,211] let s:lib.Codec.encoding_table['23381'] = [213,212] let s:lib.Codec.encoding_table['23386'] = [213,213] let s:lib.Codec.encoding_table['23387'] = [213,214] let s:lib.Codec.encoding_table['23397'] = [213,215] let s:lib.Codec.encoding_table['23401'] = [213,216] let s:lib.Codec.encoding_table['23408'] = [213,217] let s:lib.Codec.encoding_table['23411'] = [213,218] let s:lib.Codec.encoding_table['23413'] = [213,219] let s:lib.Codec.encoding_table['23416'] = [213,220] let s:lib.Codec.encoding_table['25992'] = [213,221] let s:lib.Codec.encoding_table['23418'] = [213,222] let s:lib.Codec.encoding_table['23424'] = [213,223] let s:lib.Codec.encoding_table['23427'] = [213,224] let s:lib.Codec.encoding_table['23462'] = [213,225] let s:lib.Codec.encoding_table['23480'] = [213,226] let s:lib.Codec.encoding_table['23491'] = [213,227] let s:lib.Codec.encoding_table['23495'] = [213,228] let s:lib.Codec.encoding_table['23497'] = [213,229] let s:lib.Codec.encoding_table['23508'] = [213,230] let s:lib.Codec.encoding_table['23504'] = [213,231] let s:lib.Codec.encoding_table['23524'] = [213,232] let s:lib.Codec.encoding_table['23526'] = [213,233] let s:lib.Codec.encoding_table['23522'] = [213,234] let s:lib.Codec.encoding_table['23518'] = [213,235] let s:lib.Codec.encoding_table['23525'] = [213,236] let s:lib.Codec.encoding_table['23531'] = [213,237] let s:lib.Codec.encoding_table['23536'] = [213,238] let s:lib.Codec.encoding_table['23542'] = [213,239] let s:lib.Codec.encoding_table['23539'] = [213,240] let s:lib.Codec.encoding_table['23557'] = [213,241] let s:lib.Codec.encoding_table['23559'] = [213,242] let s:lib.Codec.encoding_table['23560'] = [213,243] let s:lib.Codec.encoding_table['23565'] = [213,244] let s:lib.Codec.encoding_table['23571'] = [213,245] let s:lib.Codec.encoding_table['23584'] = [213,246] let s:lib.Codec.encoding_table['23586'] = [213,247] let s:lib.Codec.encoding_table['23592'] = [213,248] let s:lib.Codec.encoding_table['23608'] = [213,249] let s:lib.Codec.encoding_table['23609'] = [213,250] let s:lib.Codec.encoding_table['23617'] = [213,251] let s:lib.Codec.encoding_table['23622'] = [213,252] let s:lib.Codec.encoding_table['23630'] = [213,253] let s:lib.Codec.encoding_table['23635'] = [213,254] let s:lib.Codec.encoding_table['23632'] = [214,161] let s:lib.Codec.encoding_table['23631'] = [214,162] let s:lib.Codec.encoding_table['23409'] = [214,163] let s:lib.Codec.encoding_table['23660'] = [214,164] let s:lib.Codec.encoding_table['23662'] = [214,165] let s:lib.Codec.encoding_table['20066'] = [214,166] let s:lib.Codec.encoding_table['23670'] = [214,167] let s:lib.Codec.encoding_table['23673'] = [214,168] let s:lib.Codec.encoding_table['23692'] = [214,169] let s:lib.Codec.encoding_table['23697'] = [214,170] let s:lib.Codec.encoding_table['23700'] = [214,171] let s:lib.Codec.encoding_table['22939'] = [214,172] let s:lib.Codec.encoding_table['23723'] = [214,173] let s:lib.Codec.encoding_table['23739'] = [214,174] let s:lib.Codec.encoding_table['23734'] = [214,175] let s:lib.Codec.encoding_table['23740'] = [214,176] let s:lib.Codec.encoding_table['23735'] = [214,177] let s:lib.Codec.encoding_table['23749'] = [214,178] let s:lib.Codec.encoding_table['23742'] = [214,179] let s:lib.Codec.encoding_table['23751'] = [214,180] let s:lib.Codec.encoding_table['23769'] = [214,181] let s:lib.Codec.encoding_table['23785'] = [214,182] let s:lib.Codec.encoding_table['23805'] = [214,183] let s:lib.Codec.encoding_table['23802'] = [214,184] let s:lib.Codec.encoding_table['23789'] = [214,185] let s:lib.Codec.encoding_table['23948'] = [214,186] let s:lib.Codec.encoding_table['23786'] = [214,187] let s:lib.Codec.encoding_table['23819'] = [214,188] let s:lib.Codec.encoding_table['23829'] = [214,189] let s:lib.Codec.encoding_table['23831'] = [214,190] let s:lib.Codec.encoding_table['23900'] = [214,191] let s:lib.Codec.encoding_table['23839'] = [214,192] let s:lib.Codec.encoding_table['23835'] = [214,193] let s:lib.Codec.encoding_table['23825'] = [214,194] let s:lib.Codec.encoding_table['23828'] = [214,195] let s:lib.Codec.encoding_table['23842'] = [214,196] let s:lib.Codec.encoding_table['23834'] = [214,197] let s:lib.Codec.encoding_table['23833'] = [214,198] let s:lib.Codec.encoding_table['23832'] = [214,199] let s:lib.Codec.encoding_table['23884'] = [214,200] let s:lib.Codec.encoding_table['23890'] = [214,201] let s:lib.Codec.encoding_table['23886'] = [214,202] let s:lib.Codec.encoding_table['23883'] = [214,203] let s:lib.Codec.encoding_table['23916'] = [214,204] let s:lib.Codec.encoding_table['23923'] = [214,205] let s:lib.Codec.encoding_table['23926'] = [214,206] let s:lib.Codec.encoding_table['23943'] = [214,207] let s:lib.Codec.encoding_table['23940'] = [214,208] let s:lib.Codec.encoding_table['23938'] = [214,209] let s:lib.Codec.encoding_table['23970'] = [214,210] let s:lib.Codec.encoding_table['23965'] = [214,211] let s:lib.Codec.encoding_table['23980'] = [214,212] let s:lib.Codec.encoding_table['23982'] = [214,213] let s:lib.Codec.encoding_table['23997'] = [214,214] let s:lib.Codec.encoding_table['23952'] = [214,215] let s:lib.Codec.encoding_table['23991'] = [214,216] let s:lib.Codec.encoding_table['23996'] = [214,217] let s:lib.Codec.encoding_table['24009'] = [214,218] let s:lib.Codec.encoding_table['24013'] = [214,219] let s:lib.Codec.encoding_table['24019'] = [214,220] let s:lib.Codec.encoding_table['24018'] = [214,221] let s:lib.Codec.encoding_table['24022'] = [214,222] let s:lib.Codec.encoding_table['24027'] = [214,223] let s:lib.Codec.encoding_table['24043'] = [214,224] let s:lib.Codec.encoding_table['24050'] = [214,225] let s:lib.Codec.encoding_table['24053'] = [214,226] let s:lib.Codec.encoding_table['24075'] = [214,227] let s:lib.Codec.encoding_table['24090'] = [214,228] let s:lib.Codec.encoding_table['24089'] = [214,229] let s:lib.Codec.encoding_table['24081'] = [214,230] let s:lib.Codec.encoding_table['24091'] = [214,231] let s:lib.Codec.encoding_table['24118'] = [214,232] let s:lib.Codec.encoding_table['24119'] = [214,233] let s:lib.Codec.encoding_table['24132'] = [214,234] let s:lib.Codec.encoding_table['24131'] = [214,235] let s:lib.Codec.encoding_table['24128'] = [214,236] let s:lib.Codec.encoding_table['24142'] = [214,237] let s:lib.Codec.encoding_table['24151'] = [214,238] let s:lib.Codec.encoding_table['24148'] = [214,239] let s:lib.Codec.encoding_table['24159'] = [214,240] let s:lib.Codec.encoding_table['24162'] = [214,241] let s:lib.Codec.encoding_table['24164'] = [214,242] let s:lib.Codec.encoding_table['24135'] = [214,243] let s:lib.Codec.encoding_table['24181'] = [214,244] let s:lib.Codec.encoding_table['24182'] = [214,245] let s:lib.Codec.encoding_table['24186'] = [214,246] let s:lib.Codec.encoding_table['40636'] = [214,247] let s:lib.Codec.encoding_table['24191'] = [214,248] let s:lib.Codec.encoding_table['24224'] = [214,249] let s:lib.Codec.encoding_table['24257'] = [214,250] let s:lib.Codec.encoding_table['24258'] = [214,251] let s:lib.Codec.encoding_table['24264'] = [214,252] let s:lib.Codec.encoding_table['24272'] = [214,253] let s:lib.Codec.encoding_table['24271'] = [214,254] let s:lib.Codec.encoding_table['24278'] = [215,161] let s:lib.Codec.encoding_table['24291'] = [215,162] let s:lib.Codec.encoding_table['24285'] = [215,163] let s:lib.Codec.encoding_table['24282'] = [215,164] let s:lib.Codec.encoding_table['24283'] = [215,165] let s:lib.Codec.encoding_table['24290'] = [215,166] let s:lib.Codec.encoding_table['24289'] = [215,167] let s:lib.Codec.encoding_table['24296'] = [215,168] let s:lib.Codec.encoding_table['24297'] = [215,169] let s:lib.Codec.encoding_table['24300'] = [215,170] let s:lib.Codec.encoding_table['24305'] = [215,171] let s:lib.Codec.encoding_table['24307'] = [215,172] let s:lib.Codec.encoding_table['24304'] = [215,173] let s:lib.Codec.encoding_table['24308'] = [215,174] let s:lib.Codec.encoding_table['24312'] = [215,175] let s:lib.Codec.encoding_table['24318'] = [215,176] let s:lib.Codec.encoding_table['24323'] = [215,177] let s:lib.Codec.encoding_table['24329'] = [215,178] let s:lib.Codec.encoding_table['24413'] = [215,179] let s:lib.Codec.encoding_table['24412'] = [215,180] let s:lib.Codec.encoding_table['24331'] = [215,181] let s:lib.Codec.encoding_table['24337'] = [215,182] let s:lib.Codec.encoding_table['24342'] = [215,183] let s:lib.Codec.encoding_table['24361'] = [215,184] let s:lib.Codec.encoding_table['24365'] = [215,185] let s:lib.Codec.encoding_table['24376'] = [215,186] let s:lib.Codec.encoding_table['24385'] = [215,187] let s:lib.Codec.encoding_table['24392'] = [215,188] let s:lib.Codec.encoding_table['24396'] = [215,189] let s:lib.Codec.encoding_table['24398'] = [215,190] let s:lib.Codec.encoding_table['24367'] = [215,191] let s:lib.Codec.encoding_table['24401'] = [215,192] let s:lib.Codec.encoding_table['24406'] = [215,193] let s:lib.Codec.encoding_table['24407'] = [215,194] let s:lib.Codec.encoding_table['24409'] = [215,195] let s:lib.Codec.encoding_table['24417'] = [215,196] let s:lib.Codec.encoding_table['24429'] = [215,197] let s:lib.Codec.encoding_table['24435'] = [215,198] let s:lib.Codec.encoding_table['24439'] = [215,199] let s:lib.Codec.encoding_table['24451'] = [215,200] let s:lib.Codec.encoding_table['24450'] = [215,201] let s:lib.Codec.encoding_table['24447'] = [215,202] let s:lib.Codec.encoding_table['24458'] = [215,203] let s:lib.Codec.encoding_table['24456'] = [215,204] let s:lib.Codec.encoding_table['24465'] = [215,205] let s:lib.Codec.encoding_table['24455'] = [215,206] let s:lib.Codec.encoding_table['24478'] = [215,207] let s:lib.Codec.encoding_table['24473'] = [215,208] let s:lib.Codec.encoding_table['24472'] = [215,209] let s:lib.Codec.encoding_table['24480'] = [215,210] let s:lib.Codec.encoding_table['24488'] = [215,211] let s:lib.Codec.encoding_table['24493'] = [215,212] let s:lib.Codec.encoding_table['24508'] = [215,213] let s:lib.Codec.encoding_table['24534'] = [215,214] let s:lib.Codec.encoding_table['24571'] = [215,215] let s:lib.Codec.encoding_table['24548'] = [215,216] let s:lib.Codec.encoding_table['24568'] = [215,217] let s:lib.Codec.encoding_table['24561'] = [215,218] let s:lib.Codec.encoding_table['24541'] = [215,219] let s:lib.Codec.encoding_table['24755'] = [215,220] let s:lib.Codec.encoding_table['24575'] = [215,221] let s:lib.Codec.encoding_table['24609'] = [215,222] let s:lib.Codec.encoding_table['24672'] = [215,223] let s:lib.Codec.encoding_table['24601'] = [215,224] let s:lib.Codec.encoding_table['24592'] = [215,225] let s:lib.Codec.encoding_table['24617'] = [215,226] let s:lib.Codec.encoding_table['24590'] = [215,227] let s:lib.Codec.encoding_table['24625'] = [215,228] let s:lib.Codec.encoding_table['24603'] = [215,229] let s:lib.Codec.encoding_table['24597'] = [215,230] let s:lib.Codec.encoding_table['24619'] = [215,231] let s:lib.Codec.encoding_table['24614'] = [215,232] let s:lib.Codec.encoding_table['24591'] = [215,233] let s:lib.Codec.encoding_table['24634'] = [215,234] let s:lib.Codec.encoding_table['24666'] = [215,235] let s:lib.Codec.encoding_table['24641'] = [215,236] let s:lib.Codec.encoding_table['24682'] = [215,237] let s:lib.Codec.encoding_table['24695'] = [215,238] let s:lib.Codec.encoding_table['24671'] = [215,239] let s:lib.Codec.encoding_table['24650'] = [215,240] let s:lib.Codec.encoding_table['24646'] = [215,241] let s:lib.Codec.encoding_table['24653'] = [215,242] let s:lib.Codec.encoding_table['24675'] = [215,243] let s:lib.Codec.encoding_table['24643'] = [215,244] let s:lib.Codec.encoding_table['24676'] = [215,245] let s:lib.Codec.encoding_table['24642'] = [215,246] let s:lib.Codec.encoding_table['24684'] = [215,247] let s:lib.Codec.encoding_table['24683'] = [215,248] let s:lib.Codec.encoding_table['24665'] = [215,249] let s:lib.Codec.encoding_table['24705'] = [215,250] let s:lib.Codec.encoding_table['24717'] = [215,251] let s:lib.Codec.encoding_table['24807'] = [215,252] let s:lib.Codec.encoding_table['24707'] = [215,253] let s:lib.Codec.encoding_table['24730'] = [215,254] let s:lib.Codec.encoding_table['24708'] = [216,161] let s:lib.Codec.encoding_table['24731'] = [216,162] let s:lib.Codec.encoding_table['24726'] = [216,163] let s:lib.Codec.encoding_table['24727'] = [216,164] let s:lib.Codec.encoding_table['24722'] = [216,165] let s:lib.Codec.encoding_table['24743'] = [216,166] let s:lib.Codec.encoding_table['24715'] = [216,167] let s:lib.Codec.encoding_table['24801'] = [216,168] let s:lib.Codec.encoding_table['24760'] = [216,169] let s:lib.Codec.encoding_table['24800'] = [216,170] let s:lib.Codec.encoding_table['24787'] = [216,171] let s:lib.Codec.encoding_table['24756'] = [216,172] let s:lib.Codec.encoding_table['24560'] = [216,173] let s:lib.Codec.encoding_table['24765'] = [216,174] let s:lib.Codec.encoding_table['24774'] = [216,175] let s:lib.Codec.encoding_table['24757'] = [216,176] let s:lib.Codec.encoding_table['24792'] = [216,177] let s:lib.Codec.encoding_table['24909'] = [216,178] let s:lib.Codec.encoding_table['24853'] = [216,179] let s:lib.Codec.encoding_table['24838'] = [216,180] let s:lib.Codec.encoding_table['24822'] = [216,181] let s:lib.Codec.encoding_table['24823'] = [216,182] let s:lib.Codec.encoding_table['24832'] = [216,183] let s:lib.Codec.encoding_table['24820'] = [216,184] let s:lib.Codec.encoding_table['24826'] = [216,185] let s:lib.Codec.encoding_table['24835'] = [216,186] let s:lib.Codec.encoding_table['24865'] = [216,187] let s:lib.Codec.encoding_table['24827'] = [216,188] let s:lib.Codec.encoding_table['24817'] = [216,189] let s:lib.Codec.encoding_table['24845'] = [216,190] let s:lib.Codec.encoding_table['24846'] = [216,191] let s:lib.Codec.encoding_table['24903'] = [216,192] let s:lib.Codec.encoding_table['24894'] = [216,193] let s:lib.Codec.encoding_table['24872'] = [216,194] let s:lib.Codec.encoding_table['24871'] = [216,195] let s:lib.Codec.encoding_table['24906'] = [216,196] let s:lib.Codec.encoding_table['24895'] = [216,197] let s:lib.Codec.encoding_table['24892'] = [216,198] let s:lib.Codec.encoding_table['24876'] = [216,199] let s:lib.Codec.encoding_table['24884'] = [216,200] let s:lib.Codec.encoding_table['24893'] = [216,201] let s:lib.Codec.encoding_table['24898'] = [216,202] let s:lib.Codec.encoding_table['24900'] = [216,203] let s:lib.Codec.encoding_table['24947'] = [216,204] let s:lib.Codec.encoding_table['24951'] = [216,205] let s:lib.Codec.encoding_table['24920'] = [216,206] let s:lib.Codec.encoding_table['24921'] = [216,207] let s:lib.Codec.encoding_table['24922'] = [216,208] let s:lib.Codec.encoding_table['24939'] = [216,209] let s:lib.Codec.encoding_table['24948'] = [216,210] let s:lib.Codec.encoding_table['24943'] = [216,211] let s:lib.Codec.encoding_table['24933'] = [216,212] let s:lib.Codec.encoding_table['24945'] = [216,213] let s:lib.Codec.encoding_table['24927'] = [216,214] let s:lib.Codec.encoding_table['24925'] = [216,215] let s:lib.Codec.encoding_table['24915'] = [216,216] let s:lib.Codec.encoding_table['24949'] = [216,217] let s:lib.Codec.encoding_table['24985'] = [216,218] let s:lib.Codec.encoding_table['24982'] = [216,219] let s:lib.Codec.encoding_table['24967'] = [216,220] let s:lib.Codec.encoding_table['25004'] = [216,221] let s:lib.Codec.encoding_table['24980'] = [216,222] let s:lib.Codec.encoding_table['24986'] = [216,223] let s:lib.Codec.encoding_table['24970'] = [216,224] let s:lib.Codec.encoding_table['24977'] = [216,225] let s:lib.Codec.encoding_table['25003'] = [216,226] let s:lib.Codec.encoding_table['25006'] = [216,227] let s:lib.Codec.encoding_table['25036'] = [216,228] let s:lib.Codec.encoding_table['25034'] = [216,229] let s:lib.Codec.encoding_table['25033'] = [216,230] let s:lib.Codec.encoding_table['25079'] = [216,231] let s:lib.Codec.encoding_table['25032'] = [216,232] let s:lib.Codec.encoding_table['25027'] = [216,233] let s:lib.Codec.encoding_table['25030'] = [216,234] let s:lib.Codec.encoding_table['25018'] = [216,235] let s:lib.Codec.encoding_table['25035'] = [216,236] let s:lib.Codec.encoding_table['32633'] = [216,237] let s:lib.Codec.encoding_table['25037'] = [216,238] let s:lib.Codec.encoding_table['25062'] = [216,239] let s:lib.Codec.encoding_table['25059'] = [216,240] let s:lib.Codec.encoding_table['25078'] = [216,241] let s:lib.Codec.encoding_table['25082'] = [216,242] let s:lib.Codec.encoding_table['25076'] = [216,243] let s:lib.Codec.encoding_table['25087'] = [216,244] let s:lib.Codec.encoding_table['25085'] = [216,245] let s:lib.Codec.encoding_table['25084'] = [216,246] let s:lib.Codec.encoding_table['25086'] = [216,247] let s:lib.Codec.encoding_table['25088'] = [216,248] let s:lib.Codec.encoding_table['25096'] = [216,249] let s:lib.Codec.encoding_table['25097'] = [216,250] let s:lib.Codec.encoding_table['25101'] = [216,251] let s:lib.Codec.encoding_table['25100'] = [216,252] let s:lib.Codec.encoding_table['25108'] = [216,253] let s:lib.Codec.encoding_table['25115'] = [216,254] let s:lib.Codec.encoding_table['25118'] = [217,161] let s:lib.Codec.encoding_table['25121'] = [217,162] let s:lib.Codec.encoding_table['25130'] = [217,163] let s:lib.Codec.encoding_table['25134'] = [217,164] let s:lib.Codec.encoding_table['25136'] = [217,165] let s:lib.Codec.encoding_table['25138'] = [217,166] let s:lib.Codec.encoding_table['25139'] = [217,167] let s:lib.Codec.encoding_table['25153'] = [217,168] let s:lib.Codec.encoding_table['25166'] = [217,169] let s:lib.Codec.encoding_table['25182'] = [217,170] let s:lib.Codec.encoding_table['25187'] = [217,171] let s:lib.Codec.encoding_table['25179'] = [217,172] let s:lib.Codec.encoding_table['25184'] = [217,173] let s:lib.Codec.encoding_table['25192'] = [217,174] let s:lib.Codec.encoding_table['25212'] = [217,175] let s:lib.Codec.encoding_table['25218'] = [217,176] let s:lib.Codec.encoding_table['25225'] = [217,177] let s:lib.Codec.encoding_table['25214'] = [217,178] let s:lib.Codec.encoding_table['25234'] = [217,179] let s:lib.Codec.encoding_table['25235'] = [217,180] let s:lib.Codec.encoding_table['25238'] = [217,181] let s:lib.Codec.encoding_table['25300'] = [217,182] let s:lib.Codec.encoding_table['25219'] = [217,183] let s:lib.Codec.encoding_table['25236'] = [217,184] let s:lib.Codec.encoding_table['25303'] = [217,185] let s:lib.Codec.encoding_table['25297'] = [217,186] let s:lib.Codec.encoding_table['25275'] = [217,187] let s:lib.Codec.encoding_table['25295'] = [217,188] let s:lib.Codec.encoding_table['25343'] = [217,189] let s:lib.Codec.encoding_table['25286'] = [217,190] let s:lib.Codec.encoding_table['25812'] = [217,191] let s:lib.Codec.encoding_table['25288'] = [217,192] let s:lib.Codec.encoding_table['25308'] = [217,193] let s:lib.Codec.encoding_table['25292'] = [217,194] let s:lib.Codec.encoding_table['25290'] = [217,195] let s:lib.Codec.encoding_table['25282'] = [217,196] let s:lib.Codec.encoding_table['25287'] = [217,197] let s:lib.Codec.encoding_table['25243'] = [217,198] let s:lib.Codec.encoding_table['25289'] = [217,199] let s:lib.Codec.encoding_table['25356'] = [217,200] let s:lib.Codec.encoding_table['25326'] = [217,201] let s:lib.Codec.encoding_table['25329'] = [217,202] let s:lib.Codec.encoding_table['25383'] = [217,203] let s:lib.Codec.encoding_table['25346'] = [217,204] let s:lib.Codec.encoding_table['25352'] = [217,205] let s:lib.Codec.encoding_table['25327'] = [217,206] let s:lib.Codec.encoding_table['25333'] = [217,207] let s:lib.Codec.encoding_table['25424'] = [217,208] let s:lib.Codec.encoding_table['25406'] = [217,209] let s:lib.Codec.encoding_table['25421'] = [217,210] let s:lib.Codec.encoding_table['25628'] = [217,211] let s:lib.Codec.encoding_table['25423'] = [217,212] let s:lib.Codec.encoding_table['25494'] = [217,213] let s:lib.Codec.encoding_table['25486'] = [217,214] let s:lib.Codec.encoding_table['25472'] = [217,215] let s:lib.Codec.encoding_table['25515'] = [217,216] let s:lib.Codec.encoding_table['25462'] = [217,217] let s:lib.Codec.encoding_table['25507'] = [217,218] let s:lib.Codec.encoding_table['25487'] = [217,219] let s:lib.Codec.encoding_table['25481'] = [217,220] let s:lib.Codec.encoding_table['25503'] = [217,221] let s:lib.Codec.encoding_table['25525'] = [217,222] let s:lib.Codec.encoding_table['25451'] = [217,223] let s:lib.Codec.encoding_table['25449'] = [217,224] let s:lib.Codec.encoding_table['25534'] = [217,225] let s:lib.Codec.encoding_table['25577'] = [217,226] let s:lib.Codec.encoding_table['25536'] = [217,227] let s:lib.Codec.encoding_table['25542'] = [217,228] let s:lib.Codec.encoding_table['25571'] = [217,229] let s:lib.Codec.encoding_table['25545'] = [217,230] let s:lib.Codec.encoding_table['25554'] = [217,231] let s:lib.Codec.encoding_table['25590'] = [217,232] let s:lib.Codec.encoding_table['25540'] = [217,233] let s:lib.Codec.encoding_table['25622'] = [217,234] let s:lib.Codec.encoding_table['25652'] = [217,235] let s:lib.Codec.encoding_table['25606'] = [217,236] let s:lib.Codec.encoding_table['25619'] = [217,237] let s:lib.Codec.encoding_table['25638'] = [217,238] let s:lib.Codec.encoding_table['25654'] = [217,239] let s:lib.Codec.encoding_table['25885'] = [217,240] let s:lib.Codec.encoding_table['25623'] = [217,241] let s:lib.Codec.encoding_table['25640'] = [217,242] let s:lib.Codec.encoding_table['25615'] = [217,243] let s:lib.Codec.encoding_table['25703'] = [217,244] let s:lib.Codec.encoding_table['25711'] = [217,245] let s:lib.Codec.encoding_table['25718'] = [217,246] let s:lib.Codec.encoding_table['25678'] = [217,247] let s:lib.Codec.encoding_table['25898'] = [217,248] let s:lib.Codec.encoding_table['25749'] = [217,249] let s:lib.Codec.encoding_table['25747'] = [217,250] let s:lib.Codec.encoding_table['25765'] = [217,251] let s:lib.Codec.encoding_table['25769'] = [217,252] let s:lib.Codec.encoding_table['25736'] = [217,253] let s:lib.Codec.encoding_table['25788'] = [217,254] let s:lib.Codec.encoding_table['25818'] = [218,161] let s:lib.Codec.encoding_table['25810'] = [218,162] let s:lib.Codec.encoding_table['25797'] = [218,163] let s:lib.Codec.encoding_table['25799'] = [218,164] let s:lib.Codec.encoding_table['25787'] = [218,165] let s:lib.Codec.encoding_table['25816'] = [218,166] let s:lib.Codec.encoding_table['25794'] = [218,167] let s:lib.Codec.encoding_table['25841'] = [218,168] let s:lib.Codec.encoding_table['25831'] = [218,169] let s:lib.Codec.encoding_table['33289'] = [218,170] let s:lib.Codec.encoding_table['25824'] = [218,171] let s:lib.Codec.encoding_table['25825'] = [218,172] let s:lib.Codec.encoding_table['25260'] = [218,173] let s:lib.Codec.encoding_table['25827'] = [218,174] let s:lib.Codec.encoding_table['25839'] = [218,175] let s:lib.Codec.encoding_table['25900'] = [218,176] let s:lib.Codec.encoding_table['25846'] = [218,177] let s:lib.Codec.encoding_table['25844'] = [218,178] let s:lib.Codec.encoding_table['25842'] = [218,179] let s:lib.Codec.encoding_table['25850'] = [218,180] let s:lib.Codec.encoding_table['25856'] = [218,181] let s:lib.Codec.encoding_table['25853'] = [218,182] let s:lib.Codec.encoding_table['25880'] = [218,183] let s:lib.Codec.encoding_table['25884'] = [218,184] let s:lib.Codec.encoding_table['25861'] = [218,185] let s:lib.Codec.encoding_table['25892'] = [218,186] let s:lib.Codec.encoding_table['25891'] = [218,187] let s:lib.Codec.encoding_table['25899'] = [218,188] let s:lib.Codec.encoding_table['25908'] = [218,189] let s:lib.Codec.encoding_table['25909'] = [218,190] let s:lib.Codec.encoding_table['25911'] = [218,191] let s:lib.Codec.encoding_table['25910'] = [218,192] let s:lib.Codec.encoding_table['25912'] = [218,193] let s:lib.Codec.encoding_table['30027'] = [218,194] let s:lib.Codec.encoding_table['25928'] = [218,195] let s:lib.Codec.encoding_table['25942'] = [218,196] let s:lib.Codec.encoding_table['25941'] = [218,197] let s:lib.Codec.encoding_table['25933'] = [218,198] let s:lib.Codec.encoding_table['25944'] = [218,199] let s:lib.Codec.encoding_table['25950'] = [218,200] let s:lib.Codec.encoding_table['25949'] = [218,201] let s:lib.Codec.encoding_table['25970'] = [218,202] let s:lib.Codec.encoding_table['25976'] = [218,203] let s:lib.Codec.encoding_table['25986'] = [218,204] let s:lib.Codec.encoding_table['25987'] = [218,205] let s:lib.Codec.encoding_table['35722'] = [218,206] let s:lib.Codec.encoding_table['26011'] = [218,207] let s:lib.Codec.encoding_table['26015'] = [218,208] let s:lib.Codec.encoding_table['26027'] = [218,209] let s:lib.Codec.encoding_table['26039'] = [218,210] let s:lib.Codec.encoding_table['26051'] = [218,211] let s:lib.Codec.encoding_table['26054'] = [218,212] let s:lib.Codec.encoding_table['26049'] = [218,213] let s:lib.Codec.encoding_table['26052'] = [218,214] let s:lib.Codec.encoding_table['26060'] = [218,215] let s:lib.Codec.encoding_table['26066'] = [218,216] let s:lib.Codec.encoding_table['26075'] = [218,217] let s:lib.Codec.encoding_table['26073'] = [218,218] let s:lib.Codec.encoding_table['26080'] = [218,219] let s:lib.Codec.encoding_table['26081'] = [218,220] let s:lib.Codec.encoding_table['26097'] = [218,221] let s:lib.Codec.encoding_table['26482'] = [218,222] let s:lib.Codec.encoding_table['26122'] = [218,223] let s:lib.Codec.encoding_table['26115'] = [218,224] let s:lib.Codec.encoding_table['26107'] = [218,225] let s:lib.Codec.encoding_table['26483'] = [218,226] let s:lib.Codec.encoding_table['26165'] = [218,227] let s:lib.Codec.encoding_table['26166'] = [218,228] let s:lib.Codec.encoding_table['26164'] = [218,229] let s:lib.Codec.encoding_table['26140'] = [218,230] let s:lib.Codec.encoding_table['26191'] = [218,231] let s:lib.Codec.encoding_table['26180'] = [218,232] let s:lib.Codec.encoding_table['26185'] = [218,233] let s:lib.Codec.encoding_table['26177'] = [218,234] let s:lib.Codec.encoding_table['26206'] = [218,235] let s:lib.Codec.encoding_table['26205'] = [218,236] let s:lib.Codec.encoding_table['26212'] = [218,237] let s:lib.Codec.encoding_table['26215'] = [218,238] let s:lib.Codec.encoding_table['26216'] = [218,239] let s:lib.Codec.encoding_table['26207'] = [218,240] let s:lib.Codec.encoding_table['26210'] = [218,241] let s:lib.Codec.encoding_table['26224'] = [218,242] let s:lib.Codec.encoding_table['26243'] = [218,243] let s:lib.Codec.encoding_table['26248'] = [218,244] let s:lib.Codec.encoding_table['26254'] = [218,245] let s:lib.Codec.encoding_table['26249'] = [218,246] let s:lib.Codec.encoding_table['26244'] = [218,247] let s:lib.Codec.encoding_table['26264'] = [218,248] let s:lib.Codec.encoding_table['26269'] = [218,249] let s:lib.Codec.encoding_table['26305'] = [218,250] let s:lib.Codec.encoding_table['26297'] = [218,251] let s:lib.Codec.encoding_table['26313'] = [218,252] let s:lib.Codec.encoding_table['26302'] = [218,253] let s:lib.Codec.encoding_table['26300'] = [218,254] let s:lib.Codec.encoding_table['26308'] = [219,161] let s:lib.Codec.encoding_table['26296'] = [219,162] let s:lib.Codec.encoding_table['26326'] = [219,163] let s:lib.Codec.encoding_table['26330'] = [219,164] let s:lib.Codec.encoding_table['26336'] = [219,165] let s:lib.Codec.encoding_table['26175'] = [219,166] let s:lib.Codec.encoding_table['26342'] = [219,167] let s:lib.Codec.encoding_table['26345'] = [219,168] let s:lib.Codec.encoding_table['26352'] = [219,169] let s:lib.Codec.encoding_table['26357'] = [219,170] let s:lib.Codec.encoding_table['26359'] = [219,171] let s:lib.Codec.encoding_table['26383'] = [219,172] let s:lib.Codec.encoding_table['26390'] = [219,173] let s:lib.Codec.encoding_table['26398'] = [219,174] let s:lib.Codec.encoding_table['26406'] = [219,175] let s:lib.Codec.encoding_table['26407'] = [219,176] let s:lib.Codec.encoding_table['38712'] = [219,177] let s:lib.Codec.encoding_table['26414'] = [219,178] let s:lib.Codec.encoding_table['26431'] = [219,179] let s:lib.Codec.encoding_table['26422'] = [219,180] let s:lib.Codec.encoding_table['26433'] = [219,181] let s:lib.Codec.encoding_table['26424'] = [219,182] let s:lib.Codec.encoding_table['26423'] = [219,183] let s:lib.Codec.encoding_table['26438'] = [219,184] let s:lib.Codec.encoding_table['26462'] = [219,185] let s:lib.Codec.encoding_table['26464'] = [219,186] let s:lib.Codec.encoding_table['26457'] = [219,187] let s:lib.Codec.encoding_table['26467'] = [219,188] let s:lib.Codec.encoding_table['26468'] = [219,189] let s:lib.Codec.encoding_table['26505'] = [219,190] let s:lib.Codec.encoding_table['26480'] = [219,191] let s:lib.Codec.encoding_table['26537'] = [219,192] let s:lib.Codec.encoding_table['26492'] = [219,193] let s:lib.Codec.encoding_table['26474'] = [219,194] let s:lib.Codec.encoding_table['26508'] = [219,195] let s:lib.Codec.encoding_table['26507'] = [219,196] let s:lib.Codec.encoding_table['26534'] = [219,197] let s:lib.Codec.encoding_table['26529'] = [219,198] let s:lib.Codec.encoding_table['26501'] = [219,199] let s:lib.Codec.encoding_table['26551'] = [219,200] let s:lib.Codec.encoding_table['26607'] = [219,201] let s:lib.Codec.encoding_table['26548'] = [219,202] let s:lib.Codec.encoding_table['26604'] = [219,203] let s:lib.Codec.encoding_table['26547'] = [219,204] let s:lib.Codec.encoding_table['26601'] = [219,205] let s:lib.Codec.encoding_table['26552'] = [219,206] let s:lib.Codec.encoding_table['26596'] = [219,207] let s:lib.Codec.encoding_table['26590'] = [219,208] let s:lib.Codec.encoding_table['26589'] = [219,209] let s:lib.Codec.encoding_table['26594'] = [219,210] let s:lib.Codec.encoding_table['26606'] = [219,211] let s:lib.Codec.encoding_table['26553'] = [219,212] let s:lib.Codec.encoding_table['26574'] = [219,213] let s:lib.Codec.encoding_table['26566'] = [219,214] let s:lib.Codec.encoding_table['26599'] = [219,215] let s:lib.Codec.encoding_table['27292'] = [219,216] let s:lib.Codec.encoding_table['26654'] = [219,217] let s:lib.Codec.encoding_table['26694'] = [219,218] let s:lib.Codec.encoding_table['26665'] = [219,219] let s:lib.Codec.encoding_table['26688'] = [219,220] let s:lib.Codec.encoding_table['26701'] = [219,221] let s:lib.Codec.encoding_table['26674'] = [219,222] let s:lib.Codec.encoding_table['26702'] = [219,223] let s:lib.Codec.encoding_table['26803'] = [219,224] let s:lib.Codec.encoding_table['26667'] = [219,225] let s:lib.Codec.encoding_table['26713'] = [219,226] let s:lib.Codec.encoding_table['26723'] = [219,227] let s:lib.Codec.encoding_table['26743'] = [219,228] let s:lib.Codec.encoding_table['26751'] = [219,229] let s:lib.Codec.encoding_table['26783'] = [219,230] let s:lib.Codec.encoding_table['26767'] = [219,231] let s:lib.Codec.encoding_table['26797'] = [219,232] let s:lib.Codec.encoding_table['26772'] = [219,233] let s:lib.Codec.encoding_table['26781'] = [219,234] let s:lib.Codec.encoding_table['26779'] = [219,235] let s:lib.Codec.encoding_table['26755'] = [219,236] let s:lib.Codec.encoding_table['27310'] = [219,237] let s:lib.Codec.encoding_table['26809'] = [219,238] let s:lib.Codec.encoding_table['26740'] = [219,239] let s:lib.Codec.encoding_table['26805'] = [219,240] let s:lib.Codec.encoding_table['26784'] = [219,241] let s:lib.Codec.encoding_table['26810'] = [219,242] let s:lib.Codec.encoding_table['26895'] = [219,243] let s:lib.Codec.encoding_table['26765'] = [219,244] let s:lib.Codec.encoding_table['26750'] = [219,245] let s:lib.Codec.encoding_table['26881'] = [219,246] let s:lib.Codec.encoding_table['26826'] = [219,247] let s:lib.Codec.encoding_table['26888'] = [219,248] let s:lib.Codec.encoding_table['26840'] = [219,249] let s:lib.Codec.encoding_table['26914'] = [219,250] let s:lib.Codec.encoding_table['26918'] = [219,251] let s:lib.Codec.encoding_table['26849'] = [219,252] let s:lib.Codec.encoding_table['26892'] = [219,253] let s:lib.Codec.encoding_table['26829'] = [219,254] let s:lib.Codec.encoding_table['26836'] = [220,161] let s:lib.Codec.encoding_table['26855'] = [220,162] let s:lib.Codec.encoding_table['26837'] = [220,163] let s:lib.Codec.encoding_table['26934'] = [220,164] let s:lib.Codec.encoding_table['26898'] = [220,165] let s:lib.Codec.encoding_table['26884'] = [220,166] let s:lib.Codec.encoding_table['26839'] = [220,167] let s:lib.Codec.encoding_table['26851'] = [220,168] let s:lib.Codec.encoding_table['26917'] = [220,169] let s:lib.Codec.encoding_table['26873'] = [220,170] let s:lib.Codec.encoding_table['26848'] = [220,171] let s:lib.Codec.encoding_table['26863'] = [220,172] let s:lib.Codec.encoding_table['26920'] = [220,173] let s:lib.Codec.encoding_table['26922'] = [220,174] let s:lib.Codec.encoding_table['26906'] = [220,175] let s:lib.Codec.encoding_table['26915'] = [220,176] let s:lib.Codec.encoding_table['26913'] = [220,177] let s:lib.Codec.encoding_table['26822'] = [220,178] let s:lib.Codec.encoding_table['27001'] = [220,179] let s:lib.Codec.encoding_table['26999'] = [220,180] let s:lib.Codec.encoding_table['26972'] = [220,181] let s:lib.Codec.encoding_table['27000'] = [220,182] let s:lib.Codec.encoding_table['26987'] = [220,183] let s:lib.Codec.encoding_table['26964'] = [220,184] let s:lib.Codec.encoding_table['27006'] = [220,185] let s:lib.Codec.encoding_table['26990'] = [220,186] let s:lib.Codec.encoding_table['26937'] = [220,187] let s:lib.Codec.encoding_table['26996'] = [220,188] let s:lib.Codec.encoding_table['26941'] = [220,189] let s:lib.Codec.encoding_table['26969'] = [220,190] let s:lib.Codec.encoding_table['26928'] = [220,191] let s:lib.Codec.encoding_table['26977'] = [220,192] let s:lib.Codec.encoding_table['26974'] = [220,193] let s:lib.Codec.encoding_table['26973'] = [220,194] let s:lib.Codec.encoding_table['27009'] = [220,195] let s:lib.Codec.encoding_table['26986'] = [220,196] let s:lib.Codec.encoding_table['27058'] = [220,197] let s:lib.Codec.encoding_table['27054'] = [220,198] let s:lib.Codec.encoding_table['27088'] = [220,199] let s:lib.Codec.encoding_table['27071'] = [220,200] let s:lib.Codec.encoding_table['27073'] = [220,201] let s:lib.Codec.encoding_table['27091'] = [220,202] let s:lib.Codec.encoding_table['27070'] = [220,203] let s:lib.Codec.encoding_table['27086'] = [220,204] let s:lib.Codec.encoding_table['23528'] = [220,205] let s:lib.Codec.encoding_table['27082'] = [220,206] let s:lib.Codec.encoding_table['27101'] = [220,207] let s:lib.Codec.encoding_table['27067'] = [220,208] let s:lib.Codec.encoding_table['27075'] = [220,209] let s:lib.Codec.encoding_table['27047'] = [220,210] let s:lib.Codec.encoding_table['27182'] = [220,211] let s:lib.Codec.encoding_table['27025'] = [220,212] let s:lib.Codec.encoding_table['27040'] = [220,213] let s:lib.Codec.encoding_table['27036'] = [220,214] let s:lib.Codec.encoding_table['27029'] = [220,215] let s:lib.Codec.encoding_table['27060'] = [220,216] let s:lib.Codec.encoding_table['27102'] = [220,217] let s:lib.Codec.encoding_table['27112'] = [220,218] let s:lib.Codec.encoding_table['27138'] = [220,219] let s:lib.Codec.encoding_table['27163'] = [220,220] let s:lib.Codec.encoding_table['27135'] = [220,221] let s:lib.Codec.encoding_table['27402'] = [220,222] let s:lib.Codec.encoding_table['27129'] = [220,223] let s:lib.Codec.encoding_table['27122'] = [220,224] let s:lib.Codec.encoding_table['27111'] = [220,225] let s:lib.Codec.encoding_table['27141'] = [220,226] let s:lib.Codec.encoding_table['27057'] = [220,227] let s:lib.Codec.encoding_table['27166'] = [220,228] let s:lib.Codec.encoding_table['27117'] = [220,229] let s:lib.Codec.encoding_table['27156'] = [220,230] let s:lib.Codec.encoding_table['27115'] = [220,231] let s:lib.Codec.encoding_table['27146'] = [220,232] let s:lib.Codec.encoding_table['27154'] = [220,233] let s:lib.Codec.encoding_table['27329'] = [220,234] let s:lib.Codec.encoding_table['27171'] = [220,235] let s:lib.Codec.encoding_table['27155'] = [220,236] let s:lib.Codec.encoding_table['27204'] = [220,237] let s:lib.Codec.encoding_table['27148'] = [220,238] let s:lib.Codec.encoding_table['27250'] = [220,239] let s:lib.Codec.encoding_table['27190'] = [220,240] let s:lib.Codec.encoding_table['27256'] = [220,241] let s:lib.Codec.encoding_table['27207'] = [220,242] let s:lib.Codec.encoding_table['27234'] = [220,243] let s:lib.Codec.encoding_table['27225'] = [220,244] let s:lib.Codec.encoding_table['27238'] = [220,245] let s:lib.Codec.encoding_table['27208'] = [220,246] let s:lib.Codec.encoding_table['27192'] = [220,247] let s:lib.Codec.encoding_table['27170'] = [220,248] let s:lib.Codec.encoding_table['27280'] = [220,249] let s:lib.Codec.encoding_table['27277'] = [220,250] let s:lib.Codec.encoding_table['27296'] = [220,251] let s:lib.Codec.encoding_table['27268'] = [220,252] let s:lib.Codec.encoding_table['27298'] = [220,253] let s:lib.Codec.encoding_table['27299'] = [220,254] let s:lib.Codec.encoding_table['27287'] = [221,161] let s:lib.Codec.encoding_table['34327'] = [221,162] let s:lib.Codec.encoding_table['27323'] = [221,163] let s:lib.Codec.encoding_table['27331'] = [221,164] let s:lib.Codec.encoding_table['27330'] = [221,165] let s:lib.Codec.encoding_table['27320'] = [221,166] let s:lib.Codec.encoding_table['27315'] = [221,167] let s:lib.Codec.encoding_table['27308'] = [221,168] let s:lib.Codec.encoding_table['27358'] = [221,169] let s:lib.Codec.encoding_table['27345'] = [221,170] let s:lib.Codec.encoding_table['27359'] = [221,171] let s:lib.Codec.encoding_table['27306'] = [221,172] let s:lib.Codec.encoding_table['27354'] = [221,173] let s:lib.Codec.encoding_table['27370'] = [221,174] let s:lib.Codec.encoding_table['27387'] = [221,175] let s:lib.Codec.encoding_table['27397'] = [221,176] let s:lib.Codec.encoding_table['34326'] = [221,177] let s:lib.Codec.encoding_table['27386'] = [221,178] let s:lib.Codec.encoding_table['27410'] = [221,179] let s:lib.Codec.encoding_table['27414'] = [221,180] let s:lib.Codec.encoding_table['39729'] = [221,181] let s:lib.Codec.encoding_table['27423'] = [221,182] let s:lib.Codec.encoding_table['27448'] = [221,183] let s:lib.Codec.encoding_table['27447'] = [221,184] let s:lib.Codec.encoding_table['30428'] = [221,185] let s:lib.Codec.encoding_table['27449'] = [221,186] let s:lib.Codec.encoding_table['39150'] = [221,187] let s:lib.Codec.encoding_table['27463'] = [221,188] let s:lib.Codec.encoding_table['27459'] = [221,189] let s:lib.Codec.encoding_table['27465'] = [221,190] let s:lib.Codec.encoding_table['27472'] = [221,191] let s:lib.Codec.encoding_table['27481'] = [221,192] let s:lib.Codec.encoding_table['27476'] = [221,193] let s:lib.Codec.encoding_table['27483'] = [221,194] let s:lib.Codec.encoding_table['27487'] = [221,195] let s:lib.Codec.encoding_table['27489'] = [221,196] let s:lib.Codec.encoding_table['27512'] = [221,197] let s:lib.Codec.encoding_table['27513'] = [221,198] let s:lib.Codec.encoding_table['27519'] = [221,199] let s:lib.Codec.encoding_table['27520'] = [221,200] let s:lib.Codec.encoding_table['27524'] = [221,201] let s:lib.Codec.encoding_table['27523'] = [221,202] let s:lib.Codec.encoding_table['27533'] = [221,203] let s:lib.Codec.encoding_table['27544'] = [221,204] let s:lib.Codec.encoding_table['27541'] = [221,205] let s:lib.Codec.encoding_table['27550'] = [221,206] let s:lib.Codec.encoding_table['27556'] = [221,207] let s:lib.Codec.encoding_table['27562'] = [221,208] let s:lib.Codec.encoding_table['27563'] = [221,209] let s:lib.Codec.encoding_table['27567'] = [221,210] let s:lib.Codec.encoding_table['27570'] = [221,211] let s:lib.Codec.encoding_table['27569'] = [221,212] let s:lib.Codec.encoding_table['27571'] = [221,213] let s:lib.Codec.encoding_table['27575'] = [221,214] let s:lib.Codec.encoding_table['27580'] = [221,215] let s:lib.Codec.encoding_table['27590'] = [221,216] let s:lib.Codec.encoding_table['27595'] = [221,217] let s:lib.Codec.encoding_table['27603'] = [221,218] let s:lib.Codec.encoding_table['27615'] = [221,219] let s:lib.Codec.encoding_table['27628'] = [221,220] let s:lib.Codec.encoding_table['27627'] = [221,221] let s:lib.Codec.encoding_table['27635'] = [221,222] let s:lib.Codec.encoding_table['27631'] = [221,223] let s:lib.Codec.encoding_table['40638'] = [221,224] let s:lib.Codec.encoding_table['27656'] = [221,225] let s:lib.Codec.encoding_table['27667'] = [221,226] let s:lib.Codec.encoding_table['27668'] = [221,227] let s:lib.Codec.encoding_table['27675'] = [221,228] let s:lib.Codec.encoding_table['27684'] = [221,229] let s:lib.Codec.encoding_table['27683'] = [221,230] let s:lib.Codec.encoding_table['27742'] = [221,231] let s:lib.Codec.encoding_table['27733'] = [221,232] let s:lib.Codec.encoding_table['27746'] = [221,233] let s:lib.Codec.encoding_table['27754'] = [221,234] let s:lib.Codec.encoding_table['27778'] = [221,235] let s:lib.Codec.encoding_table['27789'] = [221,236] let s:lib.Codec.encoding_table['27802'] = [221,237] let s:lib.Codec.encoding_table['27777'] = [221,238] let s:lib.Codec.encoding_table['27803'] = [221,239] let s:lib.Codec.encoding_table['27774'] = [221,240] let s:lib.Codec.encoding_table['27752'] = [221,241] let s:lib.Codec.encoding_table['27763'] = [221,242] let s:lib.Codec.encoding_table['27794'] = [221,243] let s:lib.Codec.encoding_table['27792'] = [221,244] let s:lib.Codec.encoding_table['27844'] = [221,245] let s:lib.Codec.encoding_table['27889'] = [221,246] let s:lib.Codec.encoding_table['27859'] = [221,247] let s:lib.Codec.encoding_table['27837'] = [221,248] let s:lib.Codec.encoding_table['27863'] = [221,249] let s:lib.Codec.encoding_table['27845'] = [221,250] let s:lib.Codec.encoding_table['27869'] = [221,251] let s:lib.Codec.encoding_table['27822'] = [221,252] let s:lib.Codec.encoding_table['27825'] = [221,253] let s:lib.Codec.encoding_table['27838'] = [221,254] let s:lib.Codec.encoding_table['27834'] = [222,161] let s:lib.Codec.encoding_table['27867'] = [222,162] let s:lib.Codec.encoding_table['27887'] = [222,163] let s:lib.Codec.encoding_table['27865'] = [222,164] let s:lib.Codec.encoding_table['27882'] = [222,165] let s:lib.Codec.encoding_table['27935'] = [222,166] let s:lib.Codec.encoding_table['34893'] = [222,167] let s:lib.Codec.encoding_table['27958'] = [222,168] let s:lib.Codec.encoding_table['27947'] = [222,169] let s:lib.Codec.encoding_table['27965'] = [222,170] let s:lib.Codec.encoding_table['27960'] = [222,171] let s:lib.Codec.encoding_table['27929'] = [222,172] let s:lib.Codec.encoding_table['27957'] = [222,173] let s:lib.Codec.encoding_table['27955'] = [222,174] let s:lib.Codec.encoding_table['27922'] = [222,175] let s:lib.Codec.encoding_table['27916'] = [222,176] let s:lib.Codec.encoding_table['28003'] = [222,177] let s:lib.Codec.encoding_table['28051'] = [222,178] let s:lib.Codec.encoding_table['28004'] = [222,179] let s:lib.Codec.encoding_table['27994'] = [222,180] let s:lib.Codec.encoding_table['28025'] = [222,181] let s:lib.Codec.encoding_table['27993'] = [222,182] let s:lib.Codec.encoding_table['28046'] = [222,183] let s:lib.Codec.encoding_table['28053'] = [222,184] let s:lib.Codec.encoding_table['28644'] = [222,185] let s:lib.Codec.encoding_table['28037'] = [222,186] let s:lib.Codec.encoding_table['28153'] = [222,187] let s:lib.Codec.encoding_table['28181'] = [222,188] let s:lib.Codec.encoding_table['28170'] = [222,189] let s:lib.Codec.encoding_table['28085'] = [222,190] let s:lib.Codec.encoding_table['28103'] = [222,191] let s:lib.Codec.encoding_table['28134'] = [222,192] let s:lib.Codec.encoding_table['28088'] = [222,193] let s:lib.Codec.encoding_table['28102'] = [222,194] let s:lib.Codec.encoding_table['28140'] = [222,195] let s:lib.Codec.encoding_table['28126'] = [222,196] let s:lib.Codec.encoding_table['28108'] = [222,197] let s:lib.Codec.encoding_table['28136'] = [222,198] let s:lib.Codec.encoding_table['28114'] = [222,199] let s:lib.Codec.encoding_table['28101'] = [222,200] let s:lib.Codec.encoding_table['28154'] = [222,201] let s:lib.Codec.encoding_table['28121'] = [222,202] let s:lib.Codec.encoding_table['28132'] = [222,203] let s:lib.Codec.encoding_table['28117'] = [222,204] let s:lib.Codec.encoding_table['28138'] = [222,205] let s:lib.Codec.encoding_table['28142'] = [222,206] let s:lib.Codec.encoding_table['28205'] = [222,207] let s:lib.Codec.encoding_table['28270'] = [222,208] let s:lib.Codec.encoding_table['28206'] = [222,209] let s:lib.Codec.encoding_table['28185'] = [222,210] let s:lib.Codec.encoding_table['28274'] = [222,211] let s:lib.Codec.encoding_table['28255'] = [222,212] let s:lib.Codec.encoding_table['28222'] = [222,213] let s:lib.Codec.encoding_table['28195'] = [222,214] let s:lib.Codec.encoding_table['28267'] = [222,215] let s:lib.Codec.encoding_table['28203'] = [222,216] let s:lib.Codec.encoding_table['28278'] = [222,217] let s:lib.Codec.encoding_table['28237'] = [222,218] let s:lib.Codec.encoding_table['28191'] = [222,219] let s:lib.Codec.encoding_table['28227'] = [222,220] let s:lib.Codec.encoding_table['28218'] = [222,221] let s:lib.Codec.encoding_table['28238'] = [222,222] let s:lib.Codec.encoding_table['28196'] = [222,223] let s:lib.Codec.encoding_table['28415'] = [222,224] let s:lib.Codec.encoding_table['28189'] = [222,225] let s:lib.Codec.encoding_table['28216'] = [222,226] let s:lib.Codec.encoding_table['28290'] = [222,227] let s:lib.Codec.encoding_table['28330'] = [222,228] let s:lib.Codec.encoding_table['28312'] = [222,229] let s:lib.Codec.encoding_table['28361'] = [222,230] let s:lib.Codec.encoding_table['28343'] = [222,231] let s:lib.Codec.encoding_table['28371'] = [222,232] let s:lib.Codec.encoding_table['28349'] = [222,233] let s:lib.Codec.encoding_table['28335'] = [222,234] let s:lib.Codec.encoding_table['28356'] = [222,235] let s:lib.Codec.encoding_table['28338'] = [222,236] let s:lib.Codec.encoding_table['28372'] = [222,237] let s:lib.Codec.encoding_table['28373'] = [222,238] let s:lib.Codec.encoding_table['28303'] = [222,239] let s:lib.Codec.encoding_table['28325'] = [222,240] let s:lib.Codec.encoding_table['28354'] = [222,241] let s:lib.Codec.encoding_table['28319'] = [222,242] let s:lib.Codec.encoding_table['28481'] = [222,243] let s:lib.Codec.encoding_table['28433'] = [222,244] let s:lib.Codec.encoding_table['28748'] = [222,245] let s:lib.Codec.encoding_table['28396'] = [222,246] let s:lib.Codec.encoding_table['28408'] = [222,247] let s:lib.Codec.encoding_table['28414'] = [222,248] let s:lib.Codec.encoding_table['28479'] = [222,249] let s:lib.Codec.encoding_table['28402'] = [222,250] let s:lib.Codec.encoding_table['28465'] = [222,251] let s:lib.Codec.encoding_table['28399'] = [222,252] let s:lib.Codec.encoding_table['28466'] = [222,253] let s:lib.Codec.encoding_table['28364'] = [222,254] let s:lib.Codec.encoding_table['28478'] = [223,161] let s:lib.Codec.encoding_table['28435'] = [223,162] let s:lib.Codec.encoding_table['28407'] = [223,163] let s:lib.Codec.encoding_table['28550'] = [223,164] let s:lib.Codec.encoding_table['28538'] = [223,165] let s:lib.Codec.encoding_table['28536'] = [223,166] let s:lib.Codec.encoding_table['28545'] = [223,167] let s:lib.Codec.encoding_table['28544'] = [223,168] let s:lib.Codec.encoding_table['28527'] = [223,169] let s:lib.Codec.encoding_table['28507'] = [223,170] let s:lib.Codec.encoding_table['28659'] = [223,171] let s:lib.Codec.encoding_table['28525'] = [223,172] let s:lib.Codec.encoding_table['28546'] = [223,173] let s:lib.Codec.encoding_table['28540'] = [223,174] let s:lib.Codec.encoding_table['28504'] = [223,175] let s:lib.Codec.encoding_table['28558'] = [223,176] let s:lib.Codec.encoding_table['28561'] = [223,177] let s:lib.Codec.encoding_table['28610'] = [223,178] let s:lib.Codec.encoding_table['28518'] = [223,179] let s:lib.Codec.encoding_table['28595'] = [223,180] let s:lib.Codec.encoding_table['28579'] = [223,181] let s:lib.Codec.encoding_table['28577'] = [223,182] let s:lib.Codec.encoding_table['28580'] = [223,183] let s:lib.Codec.encoding_table['28601'] = [223,184] let s:lib.Codec.encoding_table['28614'] = [223,185] let s:lib.Codec.encoding_table['28586'] = [223,186] let s:lib.Codec.encoding_table['28639'] = [223,187] let s:lib.Codec.encoding_table['28629'] = [223,188] let s:lib.Codec.encoding_table['28652'] = [223,189] let s:lib.Codec.encoding_table['28628'] = [223,190] let s:lib.Codec.encoding_table['28632'] = [223,191] let s:lib.Codec.encoding_table['28657'] = [223,192] let s:lib.Codec.encoding_table['28654'] = [223,193] let s:lib.Codec.encoding_table['28635'] = [223,194] let s:lib.Codec.encoding_table['28681'] = [223,195] let s:lib.Codec.encoding_table['28683'] = [223,196] let s:lib.Codec.encoding_table['28666'] = [223,197] let s:lib.Codec.encoding_table['28689'] = [223,198] let s:lib.Codec.encoding_table['28673'] = [223,199] let s:lib.Codec.encoding_table['28687'] = [223,200] let s:lib.Codec.encoding_table['28670'] = [223,201] let s:lib.Codec.encoding_table['28699'] = [223,202] let s:lib.Codec.encoding_table['28698'] = [223,203] let s:lib.Codec.encoding_table['28532'] = [223,204] let s:lib.Codec.encoding_table['28701'] = [223,205] let s:lib.Codec.encoding_table['28696'] = [223,206] let s:lib.Codec.encoding_table['28703'] = [223,207] let s:lib.Codec.encoding_table['28720'] = [223,208] let s:lib.Codec.encoding_table['28734'] = [223,209] let s:lib.Codec.encoding_table['28722'] = [223,210] let s:lib.Codec.encoding_table['28753'] = [223,211] let s:lib.Codec.encoding_table['28771'] = [223,212] let s:lib.Codec.encoding_table['28825'] = [223,213] let s:lib.Codec.encoding_table['28818'] = [223,214] let s:lib.Codec.encoding_table['28847'] = [223,215] let s:lib.Codec.encoding_table['28913'] = [223,216] let s:lib.Codec.encoding_table['28844'] = [223,217] let s:lib.Codec.encoding_table['28856'] = [223,218] let s:lib.Codec.encoding_table['28851'] = [223,219] let s:lib.Codec.encoding_table['28846'] = [223,220] let s:lib.Codec.encoding_table['28895'] = [223,221] let s:lib.Codec.encoding_table['28875'] = [223,222] let s:lib.Codec.encoding_table['28893'] = [223,223] let s:lib.Codec.encoding_table['28889'] = [223,224] let s:lib.Codec.encoding_table['28937'] = [223,225] let s:lib.Codec.encoding_table['28925'] = [223,226] let s:lib.Codec.encoding_table['28956'] = [223,227] let s:lib.Codec.encoding_table['28953'] = [223,228] let s:lib.Codec.encoding_table['29029'] = [223,229] let s:lib.Codec.encoding_table['29013'] = [223,230] let s:lib.Codec.encoding_table['29064'] = [223,231] let s:lib.Codec.encoding_table['29030'] = [223,232] let s:lib.Codec.encoding_table['29026'] = [223,233] let s:lib.Codec.encoding_table['29004'] = [223,234] let s:lib.Codec.encoding_table['29014'] = [223,235] let s:lib.Codec.encoding_table['29036'] = [223,236] let s:lib.Codec.encoding_table['29071'] = [223,237] let s:lib.Codec.encoding_table['29179'] = [223,238] let s:lib.Codec.encoding_table['29060'] = [223,239] let s:lib.Codec.encoding_table['29077'] = [223,240] let s:lib.Codec.encoding_table['29096'] = [223,241] let s:lib.Codec.encoding_table['29100'] = [223,242] let s:lib.Codec.encoding_table['29143'] = [223,243] let s:lib.Codec.encoding_table['29113'] = [223,244] let s:lib.Codec.encoding_table['29118'] = [223,245] let s:lib.Codec.encoding_table['29138'] = [223,246] let s:lib.Codec.encoding_table['29129'] = [223,247] let s:lib.Codec.encoding_table['29140'] = [223,248] let s:lib.Codec.encoding_table['29134'] = [223,249] let s:lib.Codec.encoding_table['29152'] = [223,250] let s:lib.Codec.encoding_table['29164'] = [223,251] let s:lib.Codec.encoding_table['29159'] = [223,252] let s:lib.Codec.encoding_table['29173'] = [223,253] let s:lib.Codec.encoding_table['29180'] = [223,254] let s:lib.Codec.encoding_table['29177'] = [224,161] let s:lib.Codec.encoding_table['29183'] = [224,162] let s:lib.Codec.encoding_table['29197'] = [224,163] let s:lib.Codec.encoding_table['29200'] = [224,164] let s:lib.Codec.encoding_table['29211'] = [224,165] let s:lib.Codec.encoding_table['29224'] = [224,166] let s:lib.Codec.encoding_table['29229'] = [224,167] let s:lib.Codec.encoding_table['29228'] = [224,168] let s:lib.Codec.encoding_table['29232'] = [224,169] let s:lib.Codec.encoding_table['29234'] = [224,170] let s:lib.Codec.encoding_table['29243'] = [224,171] let s:lib.Codec.encoding_table['29244'] = [224,172] let s:lib.Codec.encoding_table['29247'] = [224,173] let s:lib.Codec.encoding_table['29248'] = [224,174] let s:lib.Codec.encoding_table['29254'] = [224,175] let s:lib.Codec.encoding_table['29259'] = [224,176] let s:lib.Codec.encoding_table['29272'] = [224,177] let s:lib.Codec.encoding_table['29300'] = [224,178] let s:lib.Codec.encoding_table['29310'] = [224,179] let s:lib.Codec.encoding_table['29314'] = [224,180] let s:lib.Codec.encoding_table['29313'] = [224,181] let s:lib.Codec.encoding_table['29319'] = [224,182] let s:lib.Codec.encoding_table['29330'] = [224,183] let s:lib.Codec.encoding_table['29334'] = [224,184] let s:lib.Codec.encoding_table['29346'] = [224,185] let s:lib.Codec.encoding_table['29351'] = [224,186] let s:lib.Codec.encoding_table['29369'] = [224,187] let s:lib.Codec.encoding_table['29362'] = [224,188] let s:lib.Codec.encoding_table['29379'] = [224,189] let s:lib.Codec.encoding_table['29382'] = [224,190] let s:lib.Codec.encoding_table['29380'] = [224,191] let s:lib.Codec.encoding_table['29390'] = [224,192] let s:lib.Codec.encoding_table['29394'] = [224,193] let s:lib.Codec.encoding_table['29410'] = [224,194] let s:lib.Codec.encoding_table['29408'] = [224,195] let s:lib.Codec.encoding_table['29409'] = [224,196] let s:lib.Codec.encoding_table['29433'] = [224,197] let s:lib.Codec.encoding_table['29431'] = [224,198] let s:lib.Codec.encoding_table['20495'] = [224,199] let s:lib.Codec.encoding_table['29463'] = [224,200] let s:lib.Codec.encoding_table['29450'] = [224,201] let s:lib.Codec.encoding_table['29468'] = [224,202] let s:lib.Codec.encoding_table['29462'] = [224,203] let s:lib.Codec.encoding_table['29469'] = [224,204] let s:lib.Codec.encoding_table['29492'] = [224,205] let s:lib.Codec.encoding_table['29487'] = [224,206] let s:lib.Codec.encoding_table['29481'] = [224,207] let s:lib.Codec.encoding_table['29477'] = [224,208] let s:lib.Codec.encoding_table['29502'] = [224,209] let s:lib.Codec.encoding_table['29518'] = [224,210] let s:lib.Codec.encoding_table['29519'] = [224,211] let s:lib.Codec.encoding_table['40664'] = [224,212] let s:lib.Codec.encoding_table['29527'] = [224,213] let s:lib.Codec.encoding_table['29546'] = [224,214] let s:lib.Codec.encoding_table['29544'] = [224,215] let s:lib.Codec.encoding_table['29552'] = [224,216] let s:lib.Codec.encoding_table['29560'] = [224,217] let s:lib.Codec.encoding_table['29557'] = [224,218] let s:lib.Codec.encoding_table['29563'] = [224,219] let s:lib.Codec.encoding_table['29562'] = [224,220] let s:lib.Codec.encoding_table['29640'] = [224,221] let s:lib.Codec.encoding_table['29619'] = [224,222] let s:lib.Codec.encoding_table['29646'] = [224,223] let s:lib.Codec.encoding_table['29627'] = [224,224] let s:lib.Codec.encoding_table['29632'] = [224,225] let s:lib.Codec.encoding_table['29669'] = [224,226] let s:lib.Codec.encoding_table['29678'] = [224,227] let s:lib.Codec.encoding_table['29662'] = [224,228] let s:lib.Codec.encoding_table['29858'] = [224,229] let s:lib.Codec.encoding_table['29701'] = [224,230] let s:lib.Codec.encoding_table['29807'] = [224,231] let s:lib.Codec.encoding_table['29733'] = [224,232] let s:lib.Codec.encoding_table['29688'] = [224,233] let s:lib.Codec.encoding_table['29746'] = [224,234] let s:lib.Codec.encoding_table['29754'] = [224,235] let s:lib.Codec.encoding_table['29781'] = [224,236] let s:lib.Codec.encoding_table['29759'] = [224,237] let s:lib.Codec.encoding_table['29791'] = [224,238] let s:lib.Codec.encoding_table['29785'] = [224,239] let s:lib.Codec.encoding_table['29761'] = [224,240] let s:lib.Codec.encoding_table['29788'] = [224,241] let s:lib.Codec.encoding_table['29801'] = [224,242] let s:lib.Codec.encoding_table['29808'] = [224,243] let s:lib.Codec.encoding_table['29795'] = [224,244] let s:lib.Codec.encoding_table['29802'] = [224,245] let s:lib.Codec.encoding_table['29814'] = [224,246] let s:lib.Codec.encoding_table['29822'] = [224,247] let s:lib.Codec.encoding_table['29835'] = [224,248] let s:lib.Codec.encoding_table['29854'] = [224,249] let s:lib.Codec.encoding_table['29863'] = [224,250] let s:lib.Codec.encoding_table['29898'] = [224,251] let s:lib.Codec.encoding_table['29903'] = [224,252] let s:lib.Codec.encoding_table['29908'] = [224,253] let s:lib.Codec.encoding_table['29681'] = [224,254] let s:lib.Codec.encoding_table['29920'] = [225,161] let s:lib.Codec.encoding_table['29923'] = [225,162] let s:lib.Codec.encoding_table['29927'] = [225,163] let s:lib.Codec.encoding_table['29929'] = [225,164] let s:lib.Codec.encoding_table['29934'] = [225,165] let s:lib.Codec.encoding_table['29938'] = [225,166] let s:lib.Codec.encoding_table['29936'] = [225,167] let s:lib.Codec.encoding_table['29937'] = [225,168] let s:lib.Codec.encoding_table['29944'] = [225,169] let s:lib.Codec.encoding_table['29943'] = [225,170] let s:lib.Codec.encoding_table['29956'] = [225,171] let s:lib.Codec.encoding_table['29955'] = [225,172] let s:lib.Codec.encoding_table['29957'] = [225,173] let s:lib.Codec.encoding_table['29964'] = [225,174] let s:lib.Codec.encoding_table['29966'] = [225,175] let s:lib.Codec.encoding_table['29965'] = [225,176] let s:lib.Codec.encoding_table['29973'] = [225,177] let s:lib.Codec.encoding_table['29971'] = [225,178] let s:lib.Codec.encoding_table['29982'] = [225,179] let s:lib.Codec.encoding_table['29990'] = [225,180] let s:lib.Codec.encoding_table['29996'] = [225,181] let s:lib.Codec.encoding_table['30012'] = [225,182] let s:lib.Codec.encoding_table['30020'] = [225,183] let s:lib.Codec.encoding_table['30029'] = [225,184] let s:lib.Codec.encoding_table['30026'] = [225,185] let s:lib.Codec.encoding_table['30025'] = [225,186] let s:lib.Codec.encoding_table['30043'] = [225,187] let s:lib.Codec.encoding_table['30022'] = [225,188] let s:lib.Codec.encoding_table['30042'] = [225,189] let s:lib.Codec.encoding_table['30057'] = [225,190] let s:lib.Codec.encoding_table['30052'] = [225,191] let s:lib.Codec.encoding_table['30055'] = [225,192] let s:lib.Codec.encoding_table['30059'] = [225,193] let s:lib.Codec.encoding_table['30061'] = [225,194] let s:lib.Codec.encoding_table['30072'] = [225,195] let s:lib.Codec.encoding_table['30070'] = [225,196] let s:lib.Codec.encoding_table['30086'] = [225,197] let s:lib.Codec.encoding_table['30087'] = [225,198] let s:lib.Codec.encoding_table['30068'] = [225,199] let s:lib.Codec.encoding_table['30090'] = [225,200] let s:lib.Codec.encoding_table['30089'] = [225,201] let s:lib.Codec.encoding_table['30082'] = [225,202] let s:lib.Codec.encoding_table['30100'] = [225,203] let s:lib.Codec.encoding_table['30106'] = [225,204] let s:lib.Codec.encoding_table['30109'] = [225,205] let s:lib.Codec.encoding_table['30117'] = [225,206] let s:lib.Codec.encoding_table['30115'] = [225,207] let s:lib.Codec.encoding_table['30146'] = [225,208] let s:lib.Codec.encoding_table['30131'] = [225,209] let s:lib.Codec.encoding_table['30147'] = [225,210] let s:lib.Codec.encoding_table['30133'] = [225,211] let s:lib.Codec.encoding_table['30141'] = [225,212] let s:lib.Codec.encoding_table['30136'] = [225,213] let s:lib.Codec.encoding_table['30140'] = [225,214] let s:lib.Codec.encoding_table['30129'] = [225,215] let s:lib.Codec.encoding_table['30157'] = [225,216] let s:lib.Codec.encoding_table['30154'] = [225,217] let s:lib.Codec.encoding_table['30162'] = [225,218] let s:lib.Codec.encoding_table['30169'] = [225,219] let s:lib.Codec.encoding_table['30179'] = [225,220] let s:lib.Codec.encoding_table['30174'] = [225,221] let s:lib.Codec.encoding_table['30206'] = [225,222] let s:lib.Codec.encoding_table['30207'] = [225,223] let s:lib.Codec.encoding_table['30204'] = [225,224] let s:lib.Codec.encoding_table['30209'] = [225,225] let s:lib.Codec.encoding_table['30192'] = [225,226] let s:lib.Codec.encoding_table['30202'] = [225,227] let s:lib.Codec.encoding_table['30194'] = [225,228] let s:lib.Codec.encoding_table['30195'] = [225,229] let s:lib.Codec.encoding_table['30219'] = [225,230] let s:lib.Codec.encoding_table['30221'] = [225,231] let s:lib.Codec.encoding_table['30217'] = [225,232] let s:lib.Codec.encoding_table['30239'] = [225,233] let s:lib.Codec.encoding_table['30247'] = [225,234] let s:lib.Codec.encoding_table['30240'] = [225,235] let s:lib.Codec.encoding_table['30241'] = [225,236] let s:lib.Codec.encoding_table['30242'] = [225,237] let s:lib.Codec.encoding_table['30244'] = [225,238] let s:lib.Codec.encoding_table['30260'] = [225,239] let s:lib.Codec.encoding_table['30256'] = [225,240] let s:lib.Codec.encoding_table['30267'] = [225,241] let s:lib.Codec.encoding_table['30279'] = [225,242] let s:lib.Codec.encoding_table['30280'] = [225,243] let s:lib.Codec.encoding_table['30278'] = [225,244] let s:lib.Codec.encoding_table['30300'] = [225,245] let s:lib.Codec.encoding_table['30296'] = [225,246] let s:lib.Codec.encoding_table['30305'] = [225,247] let s:lib.Codec.encoding_table['30306'] = [225,248] let s:lib.Codec.encoding_table['30312'] = [225,249] let s:lib.Codec.encoding_table['30313'] = [225,250] let s:lib.Codec.encoding_table['30314'] = [225,251] let s:lib.Codec.encoding_table['30311'] = [225,252] let s:lib.Codec.encoding_table['30316'] = [225,253] let s:lib.Codec.encoding_table['30320'] = [225,254] let s:lib.Codec.encoding_table['30322'] = [226,161] let s:lib.Codec.encoding_table['30326'] = [226,162] let s:lib.Codec.encoding_table['30328'] = [226,163] let s:lib.Codec.encoding_table['30332'] = [226,164] let s:lib.Codec.encoding_table['30336'] = [226,165] let s:lib.Codec.encoding_table['30339'] = [226,166] let s:lib.Codec.encoding_table['30344'] = [226,167] let s:lib.Codec.encoding_table['30347'] = [226,168] let s:lib.Codec.encoding_table['30350'] = [226,169] let s:lib.Codec.encoding_table['30358'] = [226,170] let s:lib.Codec.encoding_table['30355'] = [226,171] let s:lib.Codec.encoding_table['30361'] = [226,172] let s:lib.Codec.encoding_table['30362'] = [226,173] let s:lib.Codec.encoding_table['30384'] = [226,174] let s:lib.Codec.encoding_table['30388'] = [226,175] let s:lib.Codec.encoding_table['30392'] = [226,176] let s:lib.Codec.encoding_table['30393'] = [226,177] let s:lib.Codec.encoding_table['30394'] = [226,178] let s:lib.Codec.encoding_table['30402'] = [226,179] let s:lib.Codec.encoding_table['30413'] = [226,180] let s:lib.Codec.encoding_table['30422'] = [226,181] let s:lib.Codec.encoding_table['30418'] = [226,182] let s:lib.Codec.encoding_table['30430'] = [226,183] let s:lib.Codec.encoding_table['30433'] = [226,184] let s:lib.Codec.encoding_table['30437'] = [226,185] let s:lib.Codec.encoding_table['30439'] = [226,186] let s:lib.Codec.encoding_table['30442'] = [226,187] let s:lib.Codec.encoding_table['34351'] = [226,188] let s:lib.Codec.encoding_table['30459'] = [226,189] let s:lib.Codec.encoding_table['30472'] = [226,190] let s:lib.Codec.encoding_table['30471'] = [226,191] let s:lib.Codec.encoding_table['30468'] = [226,192] let s:lib.Codec.encoding_table['30505'] = [226,193] let s:lib.Codec.encoding_table['30500'] = [226,194] let s:lib.Codec.encoding_table['30494'] = [226,195] let s:lib.Codec.encoding_table['30501'] = [226,196] let s:lib.Codec.encoding_table['30502'] = [226,197] let s:lib.Codec.encoding_table['30491'] = [226,198] let s:lib.Codec.encoding_table['30519'] = [226,199] let s:lib.Codec.encoding_table['30520'] = [226,200] let s:lib.Codec.encoding_table['30535'] = [226,201] let s:lib.Codec.encoding_table['30554'] = [226,202] let s:lib.Codec.encoding_table['30568'] = [226,203] let s:lib.Codec.encoding_table['30571'] = [226,204] let s:lib.Codec.encoding_table['30555'] = [226,205] let s:lib.Codec.encoding_table['30565'] = [226,206] let s:lib.Codec.encoding_table['30591'] = [226,207] let s:lib.Codec.encoding_table['30590'] = [226,208] let s:lib.Codec.encoding_table['30585'] = [226,209] let s:lib.Codec.encoding_table['30606'] = [226,210] let s:lib.Codec.encoding_table['30603'] = [226,211] let s:lib.Codec.encoding_table['30609'] = [226,212] let s:lib.Codec.encoding_table['30624'] = [226,213] let s:lib.Codec.encoding_table['30622'] = [226,214] let s:lib.Codec.encoding_table['30640'] = [226,215] let s:lib.Codec.encoding_table['30646'] = [226,216] let s:lib.Codec.encoding_table['30649'] = [226,217] let s:lib.Codec.encoding_table['30655'] = [226,218] let s:lib.Codec.encoding_table['30652'] = [226,219] let s:lib.Codec.encoding_table['30653'] = [226,220] let s:lib.Codec.encoding_table['30651'] = [226,221] let s:lib.Codec.encoding_table['30663'] = [226,222] let s:lib.Codec.encoding_table['30669'] = [226,223] let s:lib.Codec.encoding_table['30679'] = [226,224] let s:lib.Codec.encoding_table['30682'] = [226,225] let s:lib.Codec.encoding_table['30684'] = [226,226] let s:lib.Codec.encoding_table['30691'] = [226,227] let s:lib.Codec.encoding_table['30702'] = [226,228] let s:lib.Codec.encoding_table['30716'] = [226,229] let s:lib.Codec.encoding_table['30732'] = [226,230] let s:lib.Codec.encoding_table['30738'] = [226,231] let s:lib.Codec.encoding_table['31014'] = [226,232] let s:lib.Codec.encoding_table['30752'] = [226,233] let s:lib.Codec.encoding_table['31018'] = [226,234] let s:lib.Codec.encoding_table['30789'] = [226,235] let s:lib.Codec.encoding_table['30862'] = [226,236] let s:lib.Codec.encoding_table['30836'] = [226,237] let s:lib.Codec.encoding_table['30854'] = [226,238] let s:lib.Codec.encoding_table['30844'] = [226,239] let s:lib.Codec.encoding_table['30874'] = [226,240] let s:lib.Codec.encoding_table['30860'] = [226,241] let s:lib.Codec.encoding_table['30883'] = [226,242] let s:lib.Codec.encoding_table['30901'] = [226,243] let s:lib.Codec.encoding_table['30890'] = [226,244] let s:lib.Codec.encoding_table['30895'] = [226,245] let s:lib.Codec.encoding_table['30929'] = [226,246] let s:lib.Codec.encoding_table['30918'] = [226,247] let s:lib.Codec.encoding_table['30923'] = [226,248] let s:lib.Codec.encoding_table['30932'] = [226,249] let s:lib.Codec.encoding_table['30910'] = [226,250] let s:lib.Codec.encoding_table['30908'] = [226,251] let s:lib.Codec.encoding_table['30917'] = [226,252] let s:lib.Codec.encoding_table['30922'] = [226,253] let s:lib.Codec.encoding_table['30956'] = [226,254] let s:lib.Codec.encoding_table['30951'] = [227,161] let s:lib.Codec.encoding_table['30938'] = [227,162] let s:lib.Codec.encoding_table['30973'] = [227,163] let s:lib.Codec.encoding_table['30964'] = [227,164] let s:lib.Codec.encoding_table['30983'] = [227,165] let s:lib.Codec.encoding_table['30994'] = [227,166] let s:lib.Codec.encoding_table['30993'] = [227,167] let s:lib.Codec.encoding_table['31001'] = [227,168] let s:lib.Codec.encoding_table['31020'] = [227,169] let s:lib.Codec.encoding_table['31019'] = [227,170] let s:lib.Codec.encoding_table['31040'] = [227,171] let s:lib.Codec.encoding_table['31072'] = [227,172] let s:lib.Codec.encoding_table['31063'] = [227,173] let s:lib.Codec.encoding_table['31071'] = [227,174] let s:lib.Codec.encoding_table['31066'] = [227,175] let s:lib.Codec.encoding_table['31061'] = [227,176] let s:lib.Codec.encoding_table['31059'] = [227,177] let s:lib.Codec.encoding_table['31098'] = [227,178] let s:lib.Codec.encoding_table['31103'] = [227,179] let s:lib.Codec.encoding_table['31114'] = [227,180] let s:lib.Codec.encoding_table['31133'] = [227,181] let s:lib.Codec.encoding_table['31143'] = [227,182] let s:lib.Codec.encoding_table['40779'] = [227,183] let s:lib.Codec.encoding_table['31146'] = [227,184] let s:lib.Codec.encoding_table['31150'] = [227,185] let s:lib.Codec.encoding_table['31155'] = [227,186] let s:lib.Codec.encoding_table['31161'] = [227,187] let s:lib.Codec.encoding_table['31162'] = [227,188] let s:lib.Codec.encoding_table['31177'] = [227,189] let s:lib.Codec.encoding_table['31189'] = [227,190] let s:lib.Codec.encoding_table['31207'] = [227,191] let s:lib.Codec.encoding_table['31212'] = [227,192] let s:lib.Codec.encoding_table['31201'] = [227,193] let s:lib.Codec.encoding_table['31203'] = [227,194] let s:lib.Codec.encoding_table['31240'] = [227,195] let s:lib.Codec.encoding_table['31245'] = [227,196] let s:lib.Codec.encoding_table['31256'] = [227,197] let s:lib.Codec.encoding_table['31257'] = [227,198] let s:lib.Codec.encoding_table['31264'] = [227,199] let s:lib.Codec.encoding_table['31263'] = [227,200] let s:lib.Codec.encoding_table['31104'] = [227,201] let s:lib.Codec.encoding_table['31281'] = [227,202] let s:lib.Codec.encoding_table['31291'] = [227,203] let s:lib.Codec.encoding_table['31294'] = [227,204] let s:lib.Codec.encoding_table['31287'] = [227,205] let s:lib.Codec.encoding_table['31299'] = [227,206] let s:lib.Codec.encoding_table['31319'] = [227,207] let s:lib.Codec.encoding_table['31305'] = [227,208] let s:lib.Codec.encoding_table['31329'] = [227,209] let s:lib.Codec.encoding_table['31330'] = [227,210] let s:lib.Codec.encoding_table['31337'] = [227,211] let s:lib.Codec.encoding_table['40861'] = [227,212] let s:lib.Codec.encoding_table['31344'] = [227,213] let s:lib.Codec.encoding_table['31353'] = [227,214] let s:lib.Codec.encoding_table['31357'] = [227,215] let s:lib.Codec.encoding_table['31368'] = [227,216] let s:lib.Codec.encoding_table['31383'] = [227,217] let s:lib.Codec.encoding_table['31381'] = [227,218] let s:lib.Codec.encoding_table['31384'] = [227,219] let s:lib.Codec.encoding_table['31382'] = [227,220] let s:lib.Codec.encoding_table['31401'] = [227,221] let s:lib.Codec.encoding_table['31432'] = [227,222] let s:lib.Codec.encoding_table['31408'] = [227,223] let s:lib.Codec.encoding_table['31414'] = [227,224] let s:lib.Codec.encoding_table['31429'] = [227,225] let s:lib.Codec.encoding_table['31428'] = [227,226] let s:lib.Codec.encoding_table['31423'] = [227,227] let s:lib.Codec.encoding_table['36995'] = [227,228] let s:lib.Codec.encoding_table['31431'] = [227,229] let s:lib.Codec.encoding_table['31434'] = [227,230] let s:lib.Codec.encoding_table['31437'] = [227,231] let s:lib.Codec.encoding_table['31439'] = [227,232] let s:lib.Codec.encoding_table['31445'] = [227,233] let s:lib.Codec.encoding_table['31443'] = [227,234] let s:lib.Codec.encoding_table['31449'] = [227,235] let s:lib.Codec.encoding_table['31450'] = [227,236] let s:lib.Codec.encoding_table['31453'] = [227,237] let s:lib.Codec.encoding_table['31457'] = [227,238] let s:lib.Codec.encoding_table['31458'] = [227,239] let s:lib.Codec.encoding_table['31462'] = [227,240] let s:lib.Codec.encoding_table['31469'] = [227,241] let s:lib.Codec.encoding_table['31472'] = [227,242] let s:lib.Codec.encoding_table['31490'] = [227,243] let s:lib.Codec.encoding_table['31503'] = [227,244] let s:lib.Codec.encoding_table['31498'] = [227,245] let s:lib.Codec.encoding_table['31494'] = [227,246] let s:lib.Codec.encoding_table['31539'] = [227,247] let s:lib.Codec.encoding_table['31512'] = [227,248] let s:lib.Codec.encoding_table['31513'] = [227,249] let s:lib.Codec.encoding_table['31518'] = [227,250] let s:lib.Codec.encoding_table['31541'] = [227,251] let s:lib.Codec.encoding_table['31528'] = [227,252] let s:lib.Codec.encoding_table['31542'] = [227,253] let s:lib.Codec.encoding_table['31568'] = [227,254] let s:lib.Codec.encoding_table['31610'] = [228,161] let s:lib.Codec.encoding_table['31492'] = [228,162] let s:lib.Codec.encoding_table['31565'] = [228,163] let s:lib.Codec.encoding_table['31499'] = [228,164] let s:lib.Codec.encoding_table['31564'] = [228,165] let s:lib.Codec.encoding_table['31557'] = [228,166] let s:lib.Codec.encoding_table['31605'] = [228,167] let s:lib.Codec.encoding_table['31589'] = [228,168] let s:lib.Codec.encoding_table['31604'] = [228,169] let s:lib.Codec.encoding_table['31591'] = [228,170] let s:lib.Codec.encoding_table['31600'] = [228,171] let s:lib.Codec.encoding_table['31601'] = [228,172] let s:lib.Codec.encoding_table['31596'] = [228,173] let s:lib.Codec.encoding_table['31598'] = [228,174] let s:lib.Codec.encoding_table['31645'] = [228,175] let s:lib.Codec.encoding_table['31640'] = [228,176] let s:lib.Codec.encoding_table['31647'] = [228,177] let s:lib.Codec.encoding_table['31629'] = [228,178] let s:lib.Codec.encoding_table['31644'] = [228,179] let s:lib.Codec.encoding_table['31642'] = [228,180] let s:lib.Codec.encoding_table['31627'] = [228,181] let s:lib.Codec.encoding_table['31634'] = [228,182] let s:lib.Codec.encoding_table['31631'] = [228,183] let s:lib.Codec.encoding_table['31581'] = [228,184] let s:lib.Codec.encoding_table['31641'] = [228,185] let s:lib.Codec.encoding_table['31691'] = [228,186] let s:lib.Codec.encoding_table['31681'] = [228,187] let s:lib.Codec.encoding_table['31692'] = [228,188] let s:lib.Codec.encoding_table['31695'] = [228,189] let s:lib.Codec.encoding_table['31668'] = [228,190] let s:lib.Codec.encoding_table['31686'] = [228,191] let s:lib.Codec.encoding_table['31709'] = [228,192] let s:lib.Codec.encoding_table['31721'] = [228,193] let s:lib.Codec.encoding_table['31761'] = [228,194] let s:lib.Codec.encoding_table['31764'] = [228,195] let s:lib.Codec.encoding_table['31718'] = [228,196] let s:lib.Codec.encoding_table['31717'] = [228,197] let s:lib.Codec.encoding_table['31840'] = [228,198] let s:lib.Codec.encoding_table['31744'] = [228,199] let s:lib.Codec.encoding_table['31751'] = [228,200] let s:lib.Codec.encoding_table['31763'] = [228,201] let s:lib.Codec.encoding_table['31731'] = [228,202] let s:lib.Codec.encoding_table['31735'] = [228,203] let s:lib.Codec.encoding_table['31767'] = [228,204] let s:lib.Codec.encoding_table['31757'] = [228,205] let s:lib.Codec.encoding_table['31734'] = [228,206] let s:lib.Codec.encoding_table['31779'] = [228,207] let s:lib.Codec.encoding_table['31783'] = [228,208] let s:lib.Codec.encoding_table['31786'] = [228,209] let s:lib.Codec.encoding_table['31775'] = [228,210] let s:lib.Codec.encoding_table['31799'] = [228,211] let s:lib.Codec.encoding_table['31787'] = [228,212] let s:lib.Codec.encoding_table['31805'] = [228,213] let s:lib.Codec.encoding_table['31820'] = [228,214] let s:lib.Codec.encoding_table['31811'] = [228,215] let s:lib.Codec.encoding_table['31828'] = [228,216] let s:lib.Codec.encoding_table['31823'] = [228,217] let s:lib.Codec.encoding_table['31808'] = [228,218] let s:lib.Codec.encoding_table['31824'] = [228,219] let s:lib.Codec.encoding_table['31832'] = [228,220] let s:lib.Codec.encoding_table['31839'] = [228,221] let s:lib.Codec.encoding_table['31844'] = [228,222] let s:lib.Codec.encoding_table['31830'] = [228,223] let s:lib.Codec.encoding_table['31845'] = [228,224] let s:lib.Codec.encoding_table['31852'] = [228,225] let s:lib.Codec.encoding_table['31861'] = [228,226] let s:lib.Codec.encoding_table['31875'] = [228,227] let s:lib.Codec.encoding_table['31888'] = [228,228] let s:lib.Codec.encoding_table['31908'] = [228,229] let s:lib.Codec.encoding_table['31917'] = [228,230] let s:lib.Codec.encoding_table['31906'] = [228,231] let s:lib.Codec.encoding_table['31915'] = [228,232] let s:lib.Codec.encoding_table['31905'] = [228,233] let s:lib.Codec.encoding_table['31912'] = [228,234] let s:lib.Codec.encoding_table['31923'] = [228,235] let s:lib.Codec.encoding_table['31922'] = [228,236] let s:lib.Codec.encoding_table['31921'] = [228,237] let s:lib.Codec.encoding_table['31918'] = [228,238] let s:lib.Codec.encoding_table['31929'] = [228,239] let s:lib.Codec.encoding_table['31933'] = [228,240] let s:lib.Codec.encoding_table['31936'] = [228,241] let s:lib.Codec.encoding_table['31941'] = [228,242] let s:lib.Codec.encoding_table['31938'] = [228,243] let s:lib.Codec.encoding_table['31960'] = [228,244] let s:lib.Codec.encoding_table['31954'] = [228,245] let s:lib.Codec.encoding_table['31964'] = [228,246] let s:lib.Codec.encoding_table['31970'] = [228,247] let s:lib.Codec.encoding_table['39739'] = [228,248] let s:lib.Codec.encoding_table['31983'] = [228,249] let s:lib.Codec.encoding_table['31986'] = [228,250] let s:lib.Codec.encoding_table['31988'] = [228,251] let s:lib.Codec.encoding_table['31990'] = [228,252] let s:lib.Codec.encoding_table['31994'] = [228,253] let s:lib.Codec.encoding_table['32006'] = [228,254] let s:lib.Codec.encoding_table['32002'] = [229,161] let s:lib.Codec.encoding_table['32028'] = [229,162] let s:lib.Codec.encoding_table['32021'] = [229,163] let s:lib.Codec.encoding_table['32010'] = [229,164] let s:lib.Codec.encoding_table['32069'] = [229,165] let s:lib.Codec.encoding_table['32075'] = [229,166] let s:lib.Codec.encoding_table['32046'] = [229,167] let s:lib.Codec.encoding_table['32050'] = [229,168] let s:lib.Codec.encoding_table['32063'] = [229,169] let s:lib.Codec.encoding_table['32053'] = [229,170] let s:lib.Codec.encoding_table['32070'] = [229,171] let s:lib.Codec.encoding_table['32115'] = [229,172] let s:lib.Codec.encoding_table['32086'] = [229,173] let s:lib.Codec.encoding_table['32078'] = [229,174] let s:lib.Codec.encoding_table['32114'] = [229,175] let s:lib.Codec.encoding_table['32104'] = [229,176] let s:lib.Codec.encoding_table['32110'] = [229,177] let s:lib.Codec.encoding_table['32079'] = [229,178] let s:lib.Codec.encoding_table['32099'] = [229,179] let s:lib.Codec.encoding_table['32147'] = [229,180] let s:lib.Codec.encoding_table['32137'] = [229,181] let s:lib.Codec.encoding_table['32091'] = [229,182] let s:lib.Codec.encoding_table['32143'] = [229,183] let s:lib.Codec.encoding_table['32125'] = [229,184] let s:lib.Codec.encoding_table['32155'] = [229,185] let s:lib.Codec.encoding_table['32186'] = [229,186] let s:lib.Codec.encoding_table['32174'] = [229,187] let s:lib.Codec.encoding_table['32163'] = [229,188] let s:lib.Codec.encoding_table['32181'] = [229,189] let s:lib.Codec.encoding_table['32199'] = [229,190] let s:lib.Codec.encoding_table['32189'] = [229,191] let s:lib.Codec.encoding_table['32171'] = [229,192] let s:lib.Codec.encoding_table['32317'] = [229,193] let s:lib.Codec.encoding_table['32162'] = [229,194] let s:lib.Codec.encoding_table['32175'] = [229,195] let s:lib.Codec.encoding_table['32220'] = [229,196] let s:lib.Codec.encoding_table['32184'] = [229,197] let s:lib.Codec.encoding_table['32159'] = [229,198] let s:lib.Codec.encoding_table['32176'] = [229,199] let s:lib.Codec.encoding_table['32216'] = [229,200] let s:lib.Codec.encoding_table['32221'] = [229,201] let s:lib.Codec.encoding_table['32228'] = [229,202] let s:lib.Codec.encoding_table['32222'] = [229,203] let s:lib.Codec.encoding_table['32251'] = [229,204] let s:lib.Codec.encoding_table['32242'] = [229,205] let s:lib.Codec.encoding_table['32225'] = [229,206] let s:lib.Codec.encoding_table['32261'] = [229,207] let s:lib.Codec.encoding_table['32266'] = [229,208] let s:lib.Codec.encoding_table['32291'] = [229,209] let s:lib.Codec.encoding_table['32289'] = [229,210] let s:lib.Codec.encoding_table['32274'] = [229,211] let s:lib.Codec.encoding_table['32305'] = [229,212] let s:lib.Codec.encoding_table['32287'] = [229,213] let s:lib.Codec.encoding_table['32265'] = [229,214] let s:lib.Codec.encoding_table['32267'] = [229,215] let s:lib.Codec.encoding_table['32290'] = [229,216] let s:lib.Codec.encoding_table['32326'] = [229,217] let s:lib.Codec.encoding_table['32358'] = [229,218] let s:lib.Codec.encoding_table['32315'] = [229,219] let s:lib.Codec.encoding_table['32309'] = [229,220] let s:lib.Codec.encoding_table['32313'] = [229,221] let s:lib.Codec.encoding_table['32323'] = [229,222] let s:lib.Codec.encoding_table['32311'] = [229,223] let s:lib.Codec.encoding_table['32306'] = [229,224] let s:lib.Codec.encoding_table['32314'] = [229,225] let s:lib.Codec.encoding_table['32359'] = [229,226] let s:lib.Codec.encoding_table['32349'] = [229,227] let s:lib.Codec.encoding_table['32342'] = [229,228] let s:lib.Codec.encoding_table['32350'] = [229,229] let s:lib.Codec.encoding_table['32345'] = [229,230] let s:lib.Codec.encoding_table['32346'] = [229,231] let s:lib.Codec.encoding_table['32377'] = [229,232] let s:lib.Codec.encoding_table['32362'] = [229,233] let s:lib.Codec.encoding_table['32361'] = [229,234] let s:lib.Codec.encoding_table['32380'] = [229,235] let s:lib.Codec.encoding_table['32379'] = [229,236] let s:lib.Codec.encoding_table['32387'] = [229,237] let s:lib.Codec.encoding_table['32213'] = [229,238] let s:lib.Codec.encoding_table['32381'] = [229,239] let s:lib.Codec.encoding_table['36782'] = [229,240] let s:lib.Codec.encoding_table['32383'] = [229,241] let s:lib.Codec.encoding_table['32392'] = [229,242] let s:lib.Codec.encoding_table['32393'] = [229,243] let s:lib.Codec.encoding_table['32396'] = [229,244] let s:lib.Codec.encoding_table['32402'] = [229,245] let s:lib.Codec.encoding_table['32400'] = [229,246] let s:lib.Codec.encoding_table['32403'] = [229,247] let s:lib.Codec.encoding_table['32404'] = [229,248] let s:lib.Codec.encoding_table['32406'] = [229,249] let s:lib.Codec.encoding_table['32398'] = [229,250] let s:lib.Codec.encoding_table['32411'] = [229,251] let s:lib.Codec.encoding_table['32412'] = [229,252] let s:lib.Codec.encoding_table['32568'] = [229,253] let s:lib.Codec.encoding_table['32570'] = [229,254] let s:lib.Codec.encoding_table['32581'] = [230,161] let s:lib.Codec.encoding_table['32588'] = [230,162] let s:lib.Codec.encoding_table['32589'] = [230,163] let s:lib.Codec.encoding_table['32590'] = [230,164] let s:lib.Codec.encoding_table['32592'] = [230,165] let s:lib.Codec.encoding_table['32593'] = [230,166] let s:lib.Codec.encoding_table['32597'] = [230,167] let s:lib.Codec.encoding_table['32596'] = [230,168] let s:lib.Codec.encoding_table['32600'] = [230,169] let s:lib.Codec.encoding_table['32607'] = [230,170] let s:lib.Codec.encoding_table['32608'] = [230,171] let s:lib.Codec.encoding_table['32616'] = [230,172] let s:lib.Codec.encoding_table['32617'] = [230,173] let s:lib.Codec.encoding_table['32615'] = [230,174] let s:lib.Codec.encoding_table['32632'] = [230,175] let s:lib.Codec.encoding_table['32642'] = [230,176] let s:lib.Codec.encoding_table['32646'] = [230,177] let s:lib.Codec.encoding_table['32643'] = [230,178] let s:lib.Codec.encoding_table['32648'] = [230,179] let s:lib.Codec.encoding_table['32647'] = [230,180] let s:lib.Codec.encoding_table['32652'] = [230,181] let s:lib.Codec.encoding_table['32660'] = [230,182] let s:lib.Codec.encoding_table['32670'] = [230,183] let s:lib.Codec.encoding_table['32669'] = [230,184] let s:lib.Codec.encoding_table['32666'] = [230,185] let s:lib.Codec.encoding_table['32675'] = [230,186] let s:lib.Codec.encoding_table['32687'] = [230,187] let s:lib.Codec.encoding_table['32690'] = [230,188] let s:lib.Codec.encoding_table['32697'] = [230,189] let s:lib.Codec.encoding_table['32686'] = [230,190] let s:lib.Codec.encoding_table['32694'] = [230,191] let s:lib.Codec.encoding_table['32696'] = [230,192] let s:lib.Codec.encoding_table['35697'] = [230,193] let s:lib.Codec.encoding_table['32709'] = [230,194] let s:lib.Codec.encoding_table['32710'] = [230,195] let s:lib.Codec.encoding_table['32714'] = [230,196] let s:lib.Codec.encoding_table['32725'] = [230,197] let s:lib.Codec.encoding_table['32724'] = [230,198] let s:lib.Codec.encoding_table['32737'] = [230,199] let s:lib.Codec.encoding_table['32742'] = [230,200] let s:lib.Codec.encoding_table['32745'] = [230,201] let s:lib.Codec.encoding_table['32755'] = [230,202] let s:lib.Codec.encoding_table['32761'] = [230,203] let s:lib.Codec.encoding_table['39132'] = [230,204] let s:lib.Codec.encoding_table['32774'] = [230,205] let s:lib.Codec.encoding_table['32772'] = [230,206] let s:lib.Codec.encoding_table['32779'] = [230,207] let s:lib.Codec.encoding_table['32786'] = [230,208] let s:lib.Codec.encoding_table['32792'] = [230,209] let s:lib.Codec.encoding_table['32793'] = [230,210] let s:lib.Codec.encoding_table['32796'] = [230,211] let s:lib.Codec.encoding_table['32801'] = [230,212] let s:lib.Codec.encoding_table['32808'] = [230,213] let s:lib.Codec.encoding_table['32831'] = [230,214] let s:lib.Codec.encoding_table['32827'] = [230,215] let s:lib.Codec.encoding_table['32842'] = [230,216] let s:lib.Codec.encoding_table['32838'] = [230,217] let s:lib.Codec.encoding_table['32850'] = [230,218] let s:lib.Codec.encoding_table['32856'] = [230,219] let s:lib.Codec.encoding_table['32858'] = [230,220] let s:lib.Codec.encoding_table['32863'] = [230,221] let s:lib.Codec.encoding_table['32866'] = [230,222] let s:lib.Codec.encoding_table['32872'] = [230,223] let s:lib.Codec.encoding_table['32883'] = [230,224] let s:lib.Codec.encoding_table['32882'] = [230,225] let s:lib.Codec.encoding_table['32880'] = [230,226] let s:lib.Codec.encoding_table['32886'] = [230,227] let s:lib.Codec.encoding_table['32889'] = [230,228] let s:lib.Codec.encoding_table['32893'] = [230,229] let s:lib.Codec.encoding_table['32895'] = [230,230] let s:lib.Codec.encoding_table['32900'] = [230,231] let s:lib.Codec.encoding_table['32902'] = [230,232] let s:lib.Codec.encoding_table['32901'] = [230,233] let s:lib.Codec.encoding_table['32923'] = [230,234] let s:lib.Codec.encoding_table['32915'] = [230,235] let s:lib.Codec.encoding_table['32922'] = [230,236] let s:lib.Codec.encoding_table['32941'] = [230,237] let s:lib.Codec.encoding_table['20880'] = [230,238] let s:lib.Codec.encoding_table['32940'] = [230,239] let s:lib.Codec.encoding_table['32987'] = [230,240] let s:lib.Codec.encoding_table['32997'] = [230,241] let s:lib.Codec.encoding_table['32985'] = [230,242] let s:lib.Codec.encoding_table['32989'] = [230,243] let s:lib.Codec.encoding_table['32964'] = [230,244] let s:lib.Codec.encoding_table['32986'] = [230,245] let s:lib.Codec.encoding_table['32982'] = [230,246] let s:lib.Codec.encoding_table['33033'] = [230,247] let s:lib.Codec.encoding_table['33007'] = [230,248] let s:lib.Codec.encoding_table['33009'] = [230,249] let s:lib.Codec.encoding_table['33051'] = [230,250] let s:lib.Codec.encoding_table['33065'] = [230,251] let s:lib.Codec.encoding_table['33059'] = [230,252] let s:lib.Codec.encoding_table['33071'] = [230,253] let s:lib.Codec.encoding_table['33099'] = [230,254] let s:lib.Codec.encoding_table['38539'] = [231,161] let s:lib.Codec.encoding_table['33094'] = [231,162] let s:lib.Codec.encoding_table['33086'] = [231,163] let s:lib.Codec.encoding_table['33107'] = [231,164] let s:lib.Codec.encoding_table['33105'] = [231,165] let s:lib.Codec.encoding_table['33020'] = [231,166] let s:lib.Codec.encoding_table['33137'] = [231,167] let s:lib.Codec.encoding_table['33134'] = [231,168] let s:lib.Codec.encoding_table['33125'] = [231,169] let s:lib.Codec.encoding_table['33126'] = [231,170] let s:lib.Codec.encoding_table['33140'] = [231,171] let s:lib.Codec.encoding_table['33155'] = [231,172] let s:lib.Codec.encoding_table['33160'] = [231,173] let s:lib.Codec.encoding_table['33162'] = [231,174] let s:lib.Codec.encoding_table['33152'] = [231,175] let s:lib.Codec.encoding_table['33154'] = [231,176] let s:lib.Codec.encoding_table['33184'] = [231,177] let s:lib.Codec.encoding_table['33173'] = [231,178] let s:lib.Codec.encoding_table['33188'] = [231,179] let s:lib.Codec.encoding_table['33187'] = [231,180] let s:lib.Codec.encoding_table['33119'] = [231,181] let s:lib.Codec.encoding_table['33171'] = [231,182] let s:lib.Codec.encoding_table['33193'] = [231,183] let s:lib.Codec.encoding_table['33200'] = [231,184] let s:lib.Codec.encoding_table['33205'] = [231,185] let s:lib.Codec.encoding_table['33214'] = [231,186] let s:lib.Codec.encoding_table['33208'] = [231,187] let s:lib.Codec.encoding_table['33213'] = [231,188] let s:lib.Codec.encoding_table['33216'] = [231,189] let s:lib.Codec.encoding_table['33218'] = [231,190] let s:lib.Codec.encoding_table['33210'] = [231,191] let s:lib.Codec.encoding_table['33225'] = [231,192] let s:lib.Codec.encoding_table['33229'] = [231,193] let s:lib.Codec.encoding_table['33233'] = [231,194] let s:lib.Codec.encoding_table['33241'] = [231,195] let s:lib.Codec.encoding_table['33240'] = [231,196] let s:lib.Codec.encoding_table['33224'] = [231,197] let s:lib.Codec.encoding_table['33242'] = [231,198] let s:lib.Codec.encoding_table['33247'] = [231,199] let s:lib.Codec.encoding_table['33248'] = [231,200] let s:lib.Codec.encoding_table['33255'] = [231,201] let s:lib.Codec.encoding_table['33274'] = [231,202] let s:lib.Codec.encoding_table['33275'] = [231,203] let s:lib.Codec.encoding_table['33278'] = [231,204] let s:lib.Codec.encoding_table['33281'] = [231,205] let s:lib.Codec.encoding_table['33282'] = [231,206] let s:lib.Codec.encoding_table['33285'] = [231,207] let s:lib.Codec.encoding_table['33287'] = [231,208] let s:lib.Codec.encoding_table['33290'] = [231,209] let s:lib.Codec.encoding_table['33293'] = [231,210] let s:lib.Codec.encoding_table['33296'] = [231,211] let s:lib.Codec.encoding_table['33302'] = [231,212] let s:lib.Codec.encoding_table['33321'] = [231,213] let s:lib.Codec.encoding_table['33323'] = [231,214] let s:lib.Codec.encoding_table['33336'] = [231,215] let s:lib.Codec.encoding_table['33331'] = [231,216] let s:lib.Codec.encoding_table['33344'] = [231,217] let s:lib.Codec.encoding_table['33369'] = [231,218] let s:lib.Codec.encoding_table['33368'] = [231,219] let s:lib.Codec.encoding_table['33373'] = [231,220] let s:lib.Codec.encoding_table['33370'] = [231,221] let s:lib.Codec.encoding_table['33375'] = [231,222] let s:lib.Codec.encoding_table['33380'] = [231,223] let s:lib.Codec.encoding_table['33378'] = [231,224] let s:lib.Codec.encoding_table['33384'] = [231,225] let s:lib.Codec.encoding_table['33386'] = [231,226] let s:lib.Codec.encoding_table['33387'] = [231,227] let s:lib.Codec.encoding_table['33326'] = [231,228] let s:lib.Codec.encoding_table['33393'] = [231,229] let s:lib.Codec.encoding_table['33399'] = [231,230] let s:lib.Codec.encoding_table['33400'] = [231,231] let s:lib.Codec.encoding_table['33406'] = [231,232] let s:lib.Codec.encoding_table['33421'] = [231,233] let s:lib.Codec.encoding_table['33426'] = [231,234] let s:lib.Codec.encoding_table['33451'] = [231,235] let s:lib.Codec.encoding_table['33439'] = [231,236] let s:lib.Codec.encoding_table['33467'] = [231,237] let s:lib.Codec.encoding_table['33452'] = [231,238] let s:lib.Codec.encoding_table['33505'] = [231,239] let s:lib.Codec.encoding_table['33507'] = [231,240] let s:lib.Codec.encoding_table['33503'] = [231,241] let s:lib.Codec.encoding_table['33490'] = [231,242] let s:lib.Codec.encoding_table['33524'] = [231,243] let s:lib.Codec.encoding_table['33523'] = [231,244] let s:lib.Codec.encoding_table['33530'] = [231,245] let s:lib.Codec.encoding_table['33683'] = [231,246] let s:lib.Codec.encoding_table['33539'] = [231,247] let s:lib.Codec.encoding_table['33531'] = [231,248] let s:lib.Codec.encoding_table['33529'] = [231,249] let s:lib.Codec.encoding_table['33502'] = [231,250] let s:lib.Codec.encoding_table['33542'] = [231,251] let s:lib.Codec.encoding_table['33500'] = [231,252] let s:lib.Codec.encoding_table['33545'] = [231,253] let s:lib.Codec.encoding_table['33497'] = [231,254] let s:lib.Codec.encoding_table['33589'] = [232,161] let s:lib.Codec.encoding_table['33588'] = [232,162] let s:lib.Codec.encoding_table['33558'] = [232,163] let s:lib.Codec.encoding_table['33586'] = [232,164] let s:lib.Codec.encoding_table['33585'] = [232,165] let s:lib.Codec.encoding_table['33600'] = [232,166] let s:lib.Codec.encoding_table['33593'] = [232,167] let s:lib.Codec.encoding_table['33616'] = [232,168] let s:lib.Codec.encoding_table['33605'] = [232,169] let s:lib.Codec.encoding_table['33583'] = [232,170] let s:lib.Codec.encoding_table['33579'] = [232,171] let s:lib.Codec.encoding_table['33559'] = [232,172] let s:lib.Codec.encoding_table['33560'] = [232,173] let s:lib.Codec.encoding_table['33669'] = [232,174] let s:lib.Codec.encoding_table['33690'] = [232,175] let s:lib.Codec.encoding_table['33706'] = [232,176] let s:lib.Codec.encoding_table['33695'] = [232,177] let s:lib.Codec.encoding_table['33698'] = [232,178] let s:lib.Codec.encoding_table['33686'] = [232,179] let s:lib.Codec.encoding_table['33571'] = [232,180] let s:lib.Codec.encoding_table['33678'] = [232,181] let s:lib.Codec.encoding_table['33671'] = [232,182] let s:lib.Codec.encoding_table['33674'] = [232,183] let s:lib.Codec.encoding_table['33660'] = [232,184] let s:lib.Codec.encoding_table['33717'] = [232,185] let s:lib.Codec.encoding_table['33651'] = [232,186] let s:lib.Codec.encoding_table['33653'] = [232,187] let s:lib.Codec.encoding_table['33696'] = [232,188] let s:lib.Codec.encoding_table['33673'] = [232,189] let s:lib.Codec.encoding_table['33704'] = [232,190] let s:lib.Codec.encoding_table['33780'] = [232,191] let s:lib.Codec.encoding_table['33811'] = [232,192] let s:lib.Codec.encoding_table['33771'] = [232,193] let s:lib.Codec.encoding_table['33742'] = [232,194] let s:lib.Codec.encoding_table['33789'] = [232,195] let s:lib.Codec.encoding_table['33795'] = [232,196] let s:lib.Codec.encoding_table['33752'] = [232,197] let s:lib.Codec.encoding_table['33803'] = [232,198] let s:lib.Codec.encoding_table['33729'] = [232,199] let s:lib.Codec.encoding_table['33783'] = [232,200] let s:lib.Codec.encoding_table['33799'] = [232,201] let s:lib.Codec.encoding_table['33760'] = [232,202] let s:lib.Codec.encoding_table['33778'] = [232,203] let s:lib.Codec.encoding_table['33805'] = [232,204] let s:lib.Codec.encoding_table['33826'] = [232,205] let s:lib.Codec.encoding_table['33824'] = [232,206] let s:lib.Codec.encoding_table['33725'] = [232,207] let s:lib.Codec.encoding_table['33848'] = [232,208] let s:lib.Codec.encoding_table['34054'] = [232,209] let s:lib.Codec.encoding_table['33787'] = [232,210] let s:lib.Codec.encoding_table['33901'] = [232,211] let s:lib.Codec.encoding_table['33834'] = [232,212] let s:lib.Codec.encoding_table['33852'] = [232,213] let s:lib.Codec.encoding_table['34138'] = [232,214] let s:lib.Codec.encoding_table['33924'] = [232,215] let s:lib.Codec.encoding_table['33911'] = [232,216] let s:lib.Codec.encoding_table['33899'] = [232,217] let s:lib.Codec.encoding_table['33965'] = [232,218] let s:lib.Codec.encoding_table['33902'] = [232,219] let s:lib.Codec.encoding_table['33922'] = [232,220] let s:lib.Codec.encoding_table['33897'] = [232,221] let s:lib.Codec.encoding_table['33862'] = [232,222] let s:lib.Codec.encoding_table['33836'] = [232,223] let s:lib.Codec.encoding_table['33903'] = [232,224] let s:lib.Codec.encoding_table['33913'] = [232,225] let s:lib.Codec.encoding_table['33845'] = [232,226] let s:lib.Codec.encoding_table['33994'] = [232,227] let s:lib.Codec.encoding_table['33890'] = [232,228] let s:lib.Codec.encoding_table['33977'] = [232,229] let s:lib.Codec.encoding_table['33983'] = [232,230] let s:lib.Codec.encoding_table['33951'] = [232,231] let s:lib.Codec.encoding_table['34009'] = [232,232] let s:lib.Codec.encoding_table['33997'] = [232,233] let s:lib.Codec.encoding_table['33979'] = [232,234] let s:lib.Codec.encoding_table['34010'] = [232,235] let s:lib.Codec.encoding_table['34000'] = [232,236] let s:lib.Codec.encoding_table['33985'] = [232,237] let s:lib.Codec.encoding_table['33990'] = [232,238] let s:lib.Codec.encoding_table['34006'] = [232,239] let s:lib.Codec.encoding_table['33953'] = [232,240] let s:lib.Codec.encoding_table['34081'] = [232,241] let s:lib.Codec.encoding_table['34047'] = [232,242] let s:lib.Codec.encoding_table['34036'] = [232,243] let s:lib.Codec.encoding_table['34071'] = [232,244] let s:lib.Codec.encoding_table['34072'] = [232,245] let s:lib.Codec.encoding_table['34092'] = [232,246] let s:lib.Codec.encoding_table['34079'] = [232,247] let s:lib.Codec.encoding_table['34069'] = [232,248] let s:lib.Codec.encoding_table['34068'] = [232,249] let s:lib.Codec.encoding_table['34044'] = [232,250] let s:lib.Codec.encoding_table['34112'] = [232,251] let s:lib.Codec.encoding_table['34147'] = [232,252] let s:lib.Codec.encoding_table['34136'] = [232,253] let s:lib.Codec.encoding_table['34120'] = [232,254] let s:lib.Codec.encoding_table['34113'] = [233,161] let s:lib.Codec.encoding_table['34306'] = [233,162] let s:lib.Codec.encoding_table['34123'] = [233,163] let s:lib.Codec.encoding_table['34133'] = [233,164] let s:lib.Codec.encoding_table['34176'] = [233,165] let s:lib.Codec.encoding_table['34212'] = [233,166] let s:lib.Codec.encoding_table['34184'] = [233,167] let s:lib.Codec.encoding_table['34193'] = [233,168] let s:lib.Codec.encoding_table['34186'] = [233,169] let s:lib.Codec.encoding_table['34216'] = [233,170] let s:lib.Codec.encoding_table['34157'] = [233,171] let s:lib.Codec.encoding_table['34196'] = [233,172] let s:lib.Codec.encoding_table['34203'] = [233,173] let s:lib.Codec.encoding_table['34282'] = [233,174] let s:lib.Codec.encoding_table['34183'] = [233,175] let s:lib.Codec.encoding_table['34204'] = [233,176] let s:lib.Codec.encoding_table['34167'] = [233,177] let s:lib.Codec.encoding_table['34174'] = [233,178] let s:lib.Codec.encoding_table['34192'] = [233,179] let s:lib.Codec.encoding_table['34249'] = [233,180] let s:lib.Codec.encoding_table['34234'] = [233,181] let s:lib.Codec.encoding_table['34255'] = [233,182] let s:lib.Codec.encoding_table['34233'] = [233,183] let s:lib.Codec.encoding_table['34256'] = [233,184] let s:lib.Codec.encoding_table['34261'] = [233,185] let s:lib.Codec.encoding_table['34269'] = [233,186] let s:lib.Codec.encoding_table['34277'] = [233,187] let s:lib.Codec.encoding_table['34268'] = [233,188] let s:lib.Codec.encoding_table['34297'] = [233,189] let s:lib.Codec.encoding_table['34314'] = [233,190] let s:lib.Codec.encoding_table['34323'] = [233,191] let s:lib.Codec.encoding_table['34315'] = [233,192] let s:lib.Codec.encoding_table['34302'] = [233,193] let s:lib.Codec.encoding_table['34298'] = [233,194] let s:lib.Codec.encoding_table['34310'] = [233,195] let s:lib.Codec.encoding_table['34338'] = [233,196] let s:lib.Codec.encoding_table['34330'] = [233,197] let s:lib.Codec.encoding_table['34352'] = [233,198] let s:lib.Codec.encoding_table['34367'] = [233,199] let s:lib.Codec.encoding_table['34381'] = [233,200] let s:lib.Codec.encoding_table['20053'] = [233,201] let s:lib.Codec.encoding_table['34388'] = [233,202] let s:lib.Codec.encoding_table['34399'] = [233,203] let s:lib.Codec.encoding_table['34407'] = [233,204] let s:lib.Codec.encoding_table['34417'] = [233,205] let s:lib.Codec.encoding_table['34451'] = [233,206] let s:lib.Codec.encoding_table['34467'] = [233,207] let s:lib.Codec.encoding_table['34473'] = [233,208] let s:lib.Codec.encoding_table['34474'] = [233,209] let s:lib.Codec.encoding_table['34443'] = [233,210] let s:lib.Codec.encoding_table['34444'] = [233,211] let s:lib.Codec.encoding_table['34486'] = [233,212] let s:lib.Codec.encoding_table['34479'] = [233,213] let s:lib.Codec.encoding_table['34500'] = [233,214] let s:lib.Codec.encoding_table['34502'] = [233,215] let s:lib.Codec.encoding_table['34480'] = [233,216] let s:lib.Codec.encoding_table['34505'] = [233,217] let s:lib.Codec.encoding_table['34851'] = [233,218] let s:lib.Codec.encoding_table['34475'] = [233,219] let s:lib.Codec.encoding_table['34516'] = [233,220] let s:lib.Codec.encoding_table['34526'] = [233,221] let s:lib.Codec.encoding_table['34537'] = [233,222] let s:lib.Codec.encoding_table['34540'] = [233,223] let s:lib.Codec.encoding_table['34527'] = [233,224] let s:lib.Codec.encoding_table['34523'] = [233,225] let s:lib.Codec.encoding_table['34543'] = [233,226] let s:lib.Codec.encoding_table['34578'] = [233,227] let s:lib.Codec.encoding_table['34566'] = [233,228] let s:lib.Codec.encoding_table['34568'] = [233,229] let s:lib.Codec.encoding_table['34560'] = [233,230] let s:lib.Codec.encoding_table['34563'] = [233,231] let s:lib.Codec.encoding_table['34555'] = [233,232] let s:lib.Codec.encoding_table['34577'] = [233,233] let s:lib.Codec.encoding_table['34569'] = [233,234] let s:lib.Codec.encoding_table['34573'] = [233,235] let s:lib.Codec.encoding_table['34553'] = [233,236] let s:lib.Codec.encoding_table['34570'] = [233,237] let s:lib.Codec.encoding_table['34612'] = [233,238] let s:lib.Codec.encoding_table['34623'] = [233,239] let s:lib.Codec.encoding_table['34615'] = [233,240] let s:lib.Codec.encoding_table['34619'] = [233,241] let s:lib.Codec.encoding_table['34597'] = [233,242] let s:lib.Codec.encoding_table['34601'] = [233,243] let s:lib.Codec.encoding_table['34586'] = [233,244] let s:lib.Codec.encoding_table['34656'] = [233,245] let s:lib.Codec.encoding_table['34655'] = [233,246] let s:lib.Codec.encoding_table['34680'] = [233,247] let s:lib.Codec.encoding_table['34636'] = [233,248] let s:lib.Codec.encoding_table['34638'] = [233,249] let s:lib.Codec.encoding_table['34676'] = [233,250] let s:lib.Codec.encoding_table['34647'] = [233,251] let s:lib.Codec.encoding_table['34664'] = [233,252] let s:lib.Codec.encoding_table['34670'] = [233,253] let s:lib.Codec.encoding_table['34649'] = [233,254] let s:lib.Codec.encoding_table['34643'] = [234,161] let s:lib.Codec.encoding_table['34659'] = [234,162] let s:lib.Codec.encoding_table['34666'] = [234,163] let s:lib.Codec.encoding_table['34821'] = [234,164] let s:lib.Codec.encoding_table['34722'] = [234,165] let s:lib.Codec.encoding_table['34719'] = [234,166] let s:lib.Codec.encoding_table['34690'] = [234,167] let s:lib.Codec.encoding_table['34735'] = [234,168] let s:lib.Codec.encoding_table['34763'] = [234,169] let s:lib.Codec.encoding_table['34749'] = [234,170] let s:lib.Codec.encoding_table['34752'] = [234,171] let s:lib.Codec.encoding_table['34768'] = [234,172] let s:lib.Codec.encoding_table['38614'] = [234,173] let s:lib.Codec.encoding_table['34731'] = [234,174] let s:lib.Codec.encoding_table['34756'] = [234,175] let s:lib.Codec.encoding_table['34739'] = [234,176] let s:lib.Codec.encoding_table['34759'] = [234,177] let s:lib.Codec.encoding_table['34758'] = [234,178] let s:lib.Codec.encoding_table['34747'] = [234,179] let s:lib.Codec.encoding_table['34799'] = [234,180] let s:lib.Codec.encoding_table['34802'] = [234,181] let s:lib.Codec.encoding_table['34784'] = [234,182] let s:lib.Codec.encoding_table['34831'] = [234,183] let s:lib.Codec.encoding_table['34829'] = [234,184] let s:lib.Codec.encoding_table['34814'] = [234,185] let s:lib.Codec.encoding_table['34806'] = [234,186] let s:lib.Codec.encoding_table['34807'] = [234,187] let s:lib.Codec.encoding_table['34830'] = [234,188] let s:lib.Codec.encoding_table['34770'] = [234,189] let s:lib.Codec.encoding_table['34833'] = [234,190] let s:lib.Codec.encoding_table['34838'] = [234,191] let s:lib.Codec.encoding_table['34837'] = [234,192] let s:lib.Codec.encoding_table['34850'] = [234,193] let s:lib.Codec.encoding_table['34849'] = [234,194] let s:lib.Codec.encoding_table['34865'] = [234,195] let s:lib.Codec.encoding_table['34870'] = [234,196] let s:lib.Codec.encoding_table['34873'] = [234,197] let s:lib.Codec.encoding_table['34855'] = [234,198] let s:lib.Codec.encoding_table['34875'] = [234,199] let s:lib.Codec.encoding_table['34884'] = [234,200] let s:lib.Codec.encoding_table['34882'] = [234,201] let s:lib.Codec.encoding_table['34898'] = [234,202] let s:lib.Codec.encoding_table['34905'] = [234,203] let s:lib.Codec.encoding_table['34910'] = [234,204] let s:lib.Codec.encoding_table['34914'] = [234,205] let s:lib.Codec.encoding_table['34923'] = [234,206] let s:lib.Codec.encoding_table['34945'] = [234,207] let s:lib.Codec.encoding_table['34942'] = [234,208] let s:lib.Codec.encoding_table['34974'] = [234,209] let s:lib.Codec.encoding_table['34933'] = [234,210] let s:lib.Codec.encoding_table['34941'] = [234,211] let s:lib.Codec.encoding_table['34997'] = [234,212] let s:lib.Codec.encoding_table['34930'] = [234,213] let s:lib.Codec.encoding_table['34946'] = [234,214] let s:lib.Codec.encoding_table['34967'] = [234,215] let s:lib.Codec.encoding_table['34962'] = [234,216] let s:lib.Codec.encoding_table['34990'] = [234,217] let s:lib.Codec.encoding_table['34969'] = [234,218] let s:lib.Codec.encoding_table['34978'] = [234,219] let s:lib.Codec.encoding_table['34957'] = [234,220] let s:lib.Codec.encoding_table['34980'] = [234,221] let s:lib.Codec.encoding_table['34992'] = [234,222] let s:lib.Codec.encoding_table['35007'] = [234,223] let s:lib.Codec.encoding_table['34993'] = [234,224] let s:lib.Codec.encoding_table['35011'] = [234,225] let s:lib.Codec.encoding_table['35012'] = [234,226] let s:lib.Codec.encoding_table['35028'] = [234,227] let s:lib.Codec.encoding_table['35032'] = [234,228] let s:lib.Codec.encoding_table['35033'] = [234,229] let s:lib.Codec.encoding_table['35037'] = [234,230] let s:lib.Codec.encoding_table['35065'] = [234,231] let s:lib.Codec.encoding_table['35074'] = [234,232] let s:lib.Codec.encoding_table['35068'] = [234,233] let s:lib.Codec.encoding_table['35060'] = [234,234] let s:lib.Codec.encoding_table['35048'] = [234,235] let s:lib.Codec.encoding_table['35058'] = [234,236] let s:lib.Codec.encoding_table['35076'] = [234,237] let s:lib.Codec.encoding_table['35084'] = [234,238] let s:lib.Codec.encoding_table['35082'] = [234,239] let s:lib.Codec.encoding_table['35091'] = [234,240] let s:lib.Codec.encoding_table['35139'] = [234,241] let s:lib.Codec.encoding_table['35102'] = [234,242] let s:lib.Codec.encoding_table['35109'] = [234,243] let s:lib.Codec.encoding_table['35114'] = [234,244] let s:lib.Codec.encoding_table['35115'] = [234,245] let s:lib.Codec.encoding_table['35137'] = [234,246] let s:lib.Codec.encoding_table['35140'] = [234,247] let s:lib.Codec.encoding_table['35131'] = [234,248] let s:lib.Codec.encoding_table['35126'] = [234,249] let s:lib.Codec.encoding_table['35128'] = [234,250] let s:lib.Codec.encoding_table['35148'] = [234,251] let s:lib.Codec.encoding_table['35101'] = [234,252] let s:lib.Codec.encoding_table['35168'] = [234,253] let s:lib.Codec.encoding_table['35166'] = [234,254] let s:lib.Codec.encoding_table['35174'] = [235,161] let s:lib.Codec.encoding_table['35172'] = [235,162] let s:lib.Codec.encoding_table['35181'] = [235,163] let s:lib.Codec.encoding_table['35178'] = [235,164] let s:lib.Codec.encoding_table['35183'] = [235,165] let s:lib.Codec.encoding_table['35188'] = [235,166] let s:lib.Codec.encoding_table['35191'] = [235,167] let s:lib.Codec.encoding_table['35198'] = [235,168] let s:lib.Codec.encoding_table['35203'] = [235,169] let s:lib.Codec.encoding_table['35208'] = [235,170] let s:lib.Codec.encoding_table['35210'] = [235,171] let s:lib.Codec.encoding_table['35219'] = [235,172] let s:lib.Codec.encoding_table['35224'] = [235,173] let s:lib.Codec.encoding_table['35233'] = [235,174] let s:lib.Codec.encoding_table['35241'] = [235,175] let s:lib.Codec.encoding_table['35238'] = [235,176] let s:lib.Codec.encoding_table['35244'] = [235,177] let s:lib.Codec.encoding_table['35247'] = [235,178] let s:lib.Codec.encoding_table['35250'] = [235,179] let s:lib.Codec.encoding_table['35258'] = [235,180] let s:lib.Codec.encoding_table['35261'] = [235,181] let s:lib.Codec.encoding_table['35263'] = [235,182] let s:lib.Codec.encoding_table['35264'] = [235,183] let s:lib.Codec.encoding_table['35290'] = [235,184] let s:lib.Codec.encoding_table['35292'] = [235,185] let s:lib.Codec.encoding_table['35293'] = [235,186] let s:lib.Codec.encoding_table['35303'] = [235,187] let s:lib.Codec.encoding_table['35316'] = [235,188] let s:lib.Codec.encoding_table['35320'] = [235,189] let s:lib.Codec.encoding_table['35331'] = [235,190] let s:lib.Codec.encoding_table['35350'] = [235,191] let s:lib.Codec.encoding_table['35344'] = [235,192] let s:lib.Codec.encoding_table['35340'] = [235,193] let s:lib.Codec.encoding_table['35355'] = [235,194] let s:lib.Codec.encoding_table['35357'] = [235,195] let s:lib.Codec.encoding_table['35365'] = [235,196] let s:lib.Codec.encoding_table['35382'] = [235,197] let s:lib.Codec.encoding_table['35393'] = [235,198] let s:lib.Codec.encoding_table['35419'] = [235,199] let s:lib.Codec.encoding_table['35410'] = [235,200] let s:lib.Codec.encoding_table['35398'] = [235,201] let s:lib.Codec.encoding_table['35400'] = [235,202] let s:lib.Codec.encoding_table['35452'] = [235,203] let s:lib.Codec.encoding_table['35437'] = [235,204] let s:lib.Codec.encoding_table['35436'] = [235,205] let s:lib.Codec.encoding_table['35426'] = [235,206] let s:lib.Codec.encoding_table['35461'] = [235,207] let s:lib.Codec.encoding_table['35458'] = [235,208] let s:lib.Codec.encoding_table['35460'] = [235,209] let s:lib.Codec.encoding_table['35496'] = [235,210] let s:lib.Codec.encoding_table['35489'] = [235,211] let s:lib.Codec.encoding_table['35473'] = [235,212] let s:lib.Codec.encoding_table['35493'] = [235,213] let s:lib.Codec.encoding_table['35494'] = [235,214] let s:lib.Codec.encoding_table['35482'] = [235,215] let s:lib.Codec.encoding_table['35491'] = [235,216] let s:lib.Codec.encoding_table['35524'] = [235,217] let s:lib.Codec.encoding_table['35533'] = [235,218] let s:lib.Codec.encoding_table['35522'] = [235,219] let s:lib.Codec.encoding_table['35546'] = [235,220] let s:lib.Codec.encoding_table['35563'] = [235,221] let s:lib.Codec.encoding_table['35571'] = [235,222] let s:lib.Codec.encoding_table['35559'] = [235,223] let s:lib.Codec.encoding_table['35556'] = [235,224] let s:lib.Codec.encoding_table['35569'] = [235,225] let s:lib.Codec.encoding_table['35604'] = [235,226] let s:lib.Codec.encoding_table['35552'] = [235,227] let s:lib.Codec.encoding_table['35554'] = [235,228] let s:lib.Codec.encoding_table['35575'] = [235,229] let s:lib.Codec.encoding_table['35550'] = [235,230] let s:lib.Codec.encoding_table['35547'] = [235,231] let s:lib.Codec.encoding_table['35596'] = [235,232] let s:lib.Codec.encoding_table['35591'] = [235,233] let s:lib.Codec.encoding_table['35610'] = [235,234] let s:lib.Codec.encoding_table['35553'] = [235,235] let s:lib.Codec.encoding_table['35606'] = [235,236] let s:lib.Codec.encoding_table['35600'] = [235,237] let s:lib.Codec.encoding_table['35607'] = [235,238] let s:lib.Codec.encoding_table['35616'] = [235,239] let s:lib.Codec.encoding_table['35635'] = [235,240] let s:lib.Codec.encoding_table['38827'] = [235,241] let s:lib.Codec.encoding_table['35622'] = [235,242] let s:lib.Codec.encoding_table['35627'] = [235,243] let s:lib.Codec.encoding_table['35646'] = [235,244] let s:lib.Codec.encoding_table['35624'] = [235,245] let s:lib.Codec.encoding_table['35649'] = [235,246] let s:lib.Codec.encoding_table['35660'] = [235,247] let s:lib.Codec.encoding_table['35663'] = [235,248] let s:lib.Codec.encoding_table['35662'] = [235,249] let s:lib.Codec.encoding_table['35657'] = [235,250] let s:lib.Codec.encoding_table['35670'] = [235,251] let s:lib.Codec.encoding_table['35675'] = [235,252] let s:lib.Codec.encoding_table['35674'] = [235,253] let s:lib.Codec.encoding_table['35691'] = [235,254] let s:lib.Codec.encoding_table['35679'] = [236,161] let s:lib.Codec.encoding_table['35692'] = [236,162] let s:lib.Codec.encoding_table['35695'] = [236,163] let s:lib.Codec.encoding_table['35700'] = [236,164] let s:lib.Codec.encoding_table['35709'] = [236,165] let s:lib.Codec.encoding_table['35712'] = [236,166] let s:lib.Codec.encoding_table['35724'] = [236,167] let s:lib.Codec.encoding_table['35726'] = [236,168] let s:lib.Codec.encoding_table['35730'] = [236,169] let s:lib.Codec.encoding_table['35731'] = [236,170] let s:lib.Codec.encoding_table['35734'] = [236,171] let s:lib.Codec.encoding_table['35737'] = [236,172] let s:lib.Codec.encoding_table['35738'] = [236,173] let s:lib.Codec.encoding_table['35898'] = [236,174] let s:lib.Codec.encoding_table['35905'] = [236,175] let s:lib.Codec.encoding_table['35903'] = [236,176] let s:lib.Codec.encoding_table['35912'] = [236,177] let s:lib.Codec.encoding_table['35916'] = [236,178] let s:lib.Codec.encoding_table['35918'] = [236,179] let s:lib.Codec.encoding_table['35920'] = [236,180] let s:lib.Codec.encoding_table['35925'] = [236,181] let s:lib.Codec.encoding_table['35938'] = [236,182] let s:lib.Codec.encoding_table['35948'] = [236,183] let s:lib.Codec.encoding_table['35960'] = [236,184] let s:lib.Codec.encoding_table['35962'] = [236,185] let s:lib.Codec.encoding_table['35970'] = [236,186] let s:lib.Codec.encoding_table['35977'] = [236,187] let s:lib.Codec.encoding_table['35973'] = [236,188] let s:lib.Codec.encoding_table['35978'] = [236,189] let s:lib.Codec.encoding_table['35981'] = [236,190] let s:lib.Codec.encoding_table['35982'] = [236,191] let s:lib.Codec.encoding_table['35988'] = [236,192] let s:lib.Codec.encoding_table['35964'] = [236,193] let s:lib.Codec.encoding_table['35992'] = [236,194] let s:lib.Codec.encoding_table['25117'] = [236,195] let s:lib.Codec.encoding_table['36013'] = [236,196] let s:lib.Codec.encoding_table['36010'] = [236,197] let s:lib.Codec.encoding_table['36029'] = [236,198] let s:lib.Codec.encoding_table['36018'] = [236,199] let s:lib.Codec.encoding_table['36019'] = [236,200] let s:lib.Codec.encoding_table['36014'] = [236,201] let s:lib.Codec.encoding_table['36022'] = [236,202] let s:lib.Codec.encoding_table['36040'] = [236,203] let s:lib.Codec.encoding_table['36033'] = [236,204] let s:lib.Codec.encoding_table['36068'] = [236,205] let s:lib.Codec.encoding_table['36067'] = [236,206] let s:lib.Codec.encoding_table['36058'] = [236,207] let s:lib.Codec.encoding_table['36093'] = [236,208] let s:lib.Codec.encoding_table['36090'] = [236,209] let s:lib.Codec.encoding_table['36091'] = [236,210] let s:lib.Codec.encoding_table['36100'] = [236,211] let s:lib.Codec.encoding_table['36101'] = [236,212] let s:lib.Codec.encoding_table['36106'] = [236,213] let s:lib.Codec.encoding_table['36103'] = [236,214] let s:lib.Codec.encoding_table['36111'] = [236,215] let s:lib.Codec.encoding_table['36109'] = [236,216] let s:lib.Codec.encoding_table['36112'] = [236,217] let s:lib.Codec.encoding_table['40782'] = [236,218] let s:lib.Codec.encoding_table['36115'] = [236,219] let s:lib.Codec.encoding_table['36045'] = [236,220] let s:lib.Codec.encoding_table['36116'] = [236,221] let s:lib.Codec.encoding_table['36118'] = [236,222] let s:lib.Codec.encoding_table['36199'] = [236,223] let s:lib.Codec.encoding_table['36205'] = [236,224] let s:lib.Codec.encoding_table['36209'] = [236,225] let s:lib.Codec.encoding_table['36211'] = [236,226] let s:lib.Codec.encoding_table['36225'] = [236,227] let s:lib.Codec.encoding_table['36249'] = [236,228] let s:lib.Codec.encoding_table['36290'] = [236,229] let s:lib.Codec.encoding_table['36286'] = [236,230] let s:lib.Codec.encoding_table['36282'] = [236,231] let s:lib.Codec.encoding_table['36303'] = [236,232] let s:lib.Codec.encoding_table['36314'] = [236,233] let s:lib.Codec.encoding_table['36310'] = [236,234] let s:lib.Codec.encoding_table['36300'] = [236,235] let s:lib.Codec.encoding_table['36315'] = [236,236] let s:lib.Codec.encoding_table['36299'] = [236,237] let s:lib.Codec.encoding_table['36330'] = [236,238] let s:lib.Codec.encoding_table['36331'] = [236,239] let s:lib.Codec.encoding_table['36319'] = [236,240] let s:lib.Codec.encoding_table['36323'] = [236,241] let s:lib.Codec.encoding_table['36348'] = [236,242] let s:lib.Codec.encoding_table['36360'] = [236,243] let s:lib.Codec.encoding_table['36361'] = [236,244] let s:lib.Codec.encoding_table['36351'] = [236,245] let s:lib.Codec.encoding_table['36381'] = [236,246] let s:lib.Codec.encoding_table['36382'] = [236,247] let s:lib.Codec.encoding_table['36368'] = [236,248] let s:lib.Codec.encoding_table['36383'] = [236,249] let s:lib.Codec.encoding_table['36418'] = [236,250] let s:lib.Codec.encoding_table['36405'] = [236,251] let s:lib.Codec.encoding_table['36400'] = [236,252] let s:lib.Codec.encoding_table['36404'] = [236,253] let s:lib.Codec.encoding_table['36426'] = [236,254] let s:lib.Codec.encoding_table['36423'] = [237,161] let s:lib.Codec.encoding_table['36425'] = [237,162] let s:lib.Codec.encoding_table['36428'] = [237,163] let s:lib.Codec.encoding_table['36432'] = [237,164] let s:lib.Codec.encoding_table['36424'] = [237,165] let s:lib.Codec.encoding_table['36441'] = [237,166] let s:lib.Codec.encoding_table['36452'] = [237,167] let s:lib.Codec.encoding_table['36448'] = [237,168] let s:lib.Codec.encoding_table['36394'] = [237,169] let s:lib.Codec.encoding_table['36451'] = [237,170] let s:lib.Codec.encoding_table['36437'] = [237,171] let s:lib.Codec.encoding_table['36470'] = [237,172] let s:lib.Codec.encoding_table['36466'] = [237,173] let s:lib.Codec.encoding_table['36476'] = [237,174] let s:lib.Codec.encoding_table['36481'] = [237,175] let s:lib.Codec.encoding_table['36487'] = [237,176] let s:lib.Codec.encoding_table['36485'] = [237,177] let s:lib.Codec.encoding_table['36484'] = [237,178] let s:lib.Codec.encoding_table['36491'] = [237,179] let s:lib.Codec.encoding_table['36490'] = [237,180] let s:lib.Codec.encoding_table['36499'] = [237,181] let s:lib.Codec.encoding_table['36497'] = [237,182] let s:lib.Codec.encoding_table['36500'] = [237,183] let s:lib.Codec.encoding_table['36505'] = [237,184] let s:lib.Codec.encoding_table['36522'] = [237,185] let s:lib.Codec.encoding_table['36513'] = [237,186] let s:lib.Codec.encoding_table['36524'] = [237,187] let s:lib.Codec.encoding_table['36528'] = [237,188] let s:lib.Codec.encoding_table['36550'] = [237,189] let s:lib.Codec.encoding_table['36529'] = [237,190] let s:lib.Codec.encoding_table['36542'] = [237,191] let s:lib.Codec.encoding_table['36549'] = [237,192] let s:lib.Codec.encoding_table['36552'] = [237,193] let s:lib.Codec.encoding_table['36555'] = [237,194] let s:lib.Codec.encoding_table['36571'] = [237,195] let s:lib.Codec.encoding_table['36579'] = [237,196] let s:lib.Codec.encoding_table['36604'] = [237,197] let s:lib.Codec.encoding_table['36603'] = [237,198] let s:lib.Codec.encoding_table['36587'] = [237,199] let s:lib.Codec.encoding_table['36606'] = [237,200] let s:lib.Codec.encoding_table['36618'] = [237,201] let s:lib.Codec.encoding_table['36613'] = [237,202] let s:lib.Codec.encoding_table['36629'] = [237,203] let s:lib.Codec.encoding_table['36626'] = [237,204] let s:lib.Codec.encoding_table['36633'] = [237,205] let s:lib.Codec.encoding_table['36627'] = [237,206] let s:lib.Codec.encoding_table['36636'] = [237,207] let s:lib.Codec.encoding_table['36639'] = [237,208] let s:lib.Codec.encoding_table['36635'] = [237,209] let s:lib.Codec.encoding_table['36620'] = [237,210] let s:lib.Codec.encoding_table['36646'] = [237,211] let s:lib.Codec.encoding_table['36659'] = [237,212] let s:lib.Codec.encoding_table['36667'] = [237,213] let s:lib.Codec.encoding_table['36665'] = [237,214] let s:lib.Codec.encoding_table['36677'] = [237,215] let s:lib.Codec.encoding_table['36674'] = [237,216] let s:lib.Codec.encoding_table['36670'] = [237,217] let s:lib.Codec.encoding_table['36684'] = [237,218] let s:lib.Codec.encoding_table['36681'] = [237,219] let s:lib.Codec.encoding_table['36678'] = [237,220] let s:lib.Codec.encoding_table['36686'] = [237,221] let s:lib.Codec.encoding_table['36695'] = [237,222] let s:lib.Codec.encoding_table['36700'] = [237,223] let s:lib.Codec.encoding_table['36706'] = [237,224] let s:lib.Codec.encoding_table['36707'] = [237,225] let s:lib.Codec.encoding_table['36708'] = [237,226] let s:lib.Codec.encoding_table['36764'] = [237,227] let s:lib.Codec.encoding_table['36767'] = [237,228] let s:lib.Codec.encoding_table['36771'] = [237,229] let s:lib.Codec.encoding_table['36781'] = [237,230] let s:lib.Codec.encoding_table['36783'] = [237,231] let s:lib.Codec.encoding_table['36791'] = [237,232] let s:lib.Codec.encoding_table['36826'] = [237,233] let s:lib.Codec.encoding_table['36837'] = [237,234] let s:lib.Codec.encoding_table['36834'] = [237,235] let s:lib.Codec.encoding_table['36842'] = [237,236] let s:lib.Codec.encoding_table['36847'] = [237,237] let s:lib.Codec.encoding_table['36999'] = [237,238] let s:lib.Codec.encoding_table['36852'] = [237,239] let s:lib.Codec.encoding_table['36869'] = [237,240] let s:lib.Codec.encoding_table['36857'] = [237,241] let s:lib.Codec.encoding_table['36858'] = [237,242] let s:lib.Codec.encoding_table['36881'] = [237,243] let s:lib.Codec.encoding_table['36885'] = [237,244] let s:lib.Codec.encoding_table['36897'] = [237,245] let s:lib.Codec.encoding_table['36877'] = [237,246] let s:lib.Codec.encoding_table['36894'] = [237,247] let s:lib.Codec.encoding_table['36886'] = [237,248] let s:lib.Codec.encoding_table['36875'] = [237,249] let s:lib.Codec.encoding_table['36903'] = [237,250] let s:lib.Codec.encoding_table['36918'] = [237,251] let s:lib.Codec.encoding_table['36917'] = [237,252] let s:lib.Codec.encoding_table['36921'] = [237,253] let s:lib.Codec.encoding_table['36856'] = [237,254] let s:lib.Codec.encoding_table['36943'] = [238,161] let s:lib.Codec.encoding_table['36944'] = [238,162] let s:lib.Codec.encoding_table['36945'] = [238,163] let s:lib.Codec.encoding_table['36946'] = [238,164] let s:lib.Codec.encoding_table['36878'] = [238,165] let s:lib.Codec.encoding_table['36937'] = [238,166] let s:lib.Codec.encoding_table['36926'] = [238,167] let s:lib.Codec.encoding_table['36950'] = [238,168] let s:lib.Codec.encoding_table['36952'] = [238,169] let s:lib.Codec.encoding_table['36958'] = [238,170] let s:lib.Codec.encoding_table['36968'] = [238,171] let s:lib.Codec.encoding_table['36975'] = [238,172] let s:lib.Codec.encoding_table['36982'] = [238,173] let s:lib.Codec.encoding_table['38568'] = [238,174] let s:lib.Codec.encoding_table['36978'] = [238,175] let s:lib.Codec.encoding_table['36994'] = [238,176] let s:lib.Codec.encoding_table['36989'] = [238,177] let s:lib.Codec.encoding_table['36993'] = [238,178] let s:lib.Codec.encoding_table['36992'] = [238,179] let s:lib.Codec.encoding_table['37002'] = [238,180] let s:lib.Codec.encoding_table['37001'] = [238,181] let s:lib.Codec.encoding_table['37007'] = [238,182] let s:lib.Codec.encoding_table['37032'] = [238,183] let s:lib.Codec.encoding_table['37039'] = [238,184] let s:lib.Codec.encoding_table['37041'] = [238,185] let s:lib.Codec.encoding_table['37045'] = [238,186] let s:lib.Codec.encoding_table['37090'] = [238,187] let s:lib.Codec.encoding_table['37092'] = [238,188] let s:lib.Codec.encoding_table['25160'] = [238,189] let s:lib.Codec.encoding_table['37083'] = [238,190] let s:lib.Codec.encoding_table['37122'] = [238,191] let s:lib.Codec.encoding_table['37138'] = [238,192] let s:lib.Codec.encoding_table['37145'] = [238,193] let s:lib.Codec.encoding_table['37170'] = [238,194] let s:lib.Codec.encoding_table['37168'] = [238,195] let s:lib.Codec.encoding_table['37194'] = [238,196] let s:lib.Codec.encoding_table['37206'] = [238,197] let s:lib.Codec.encoding_table['37208'] = [238,198] let s:lib.Codec.encoding_table['37219'] = [238,199] let s:lib.Codec.encoding_table['37221'] = [238,200] let s:lib.Codec.encoding_table['37225'] = [238,201] let s:lib.Codec.encoding_table['37235'] = [238,202] let s:lib.Codec.encoding_table['37234'] = [238,203] let s:lib.Codec.encoding_table['37259'] = [238,204] let s:lib.Codec.encoding_table['37257'] = [238,205] let s:lib.Codec.encoding_table['37250'] = [238,206] let s:lib.Codec.encoding_table['37282'] = [238,207] let s:lib.Codec.encoding_table['37291'] = [238,208] let s:lib.Codec.encoding_table['37295'] = [238,209] let s:lib.Codec.encoding_table['37290'] = [238,210] let s:lib.Codec.encoding_table['37301'] = [238,211] let s:lib.Codec.encoding_table['37300'] = [238,212] let s:lib.Codec.encoding_table['37306'] = [238,213] let s:lib.Codec.encoding_table['37312'] = [238,214] let s:lib.Codec.encoding_table['37313'] = [238,215] let s:lib.Codec.encoding_table['37321'] = [238,216] let s:lib.Codec.encoding_table['37323'] = [238,217] let s:lib.Codec.encoding_table['37328'] = [238,218] let s:lib.Codec.encoding_table['37334'] = [238,219] let s:lib.Codec.encoding_table['37343'] = [238,220] let s:lib.Codec.encoding_table['37345'] = [238,221] let s:lib.Codec.encoding_table['37339'] = [238,222] let s:lib.Codec.encoding_table['37372'] = [238,223] let s:lib.Codec.encoding_table['37365'] = [238,224] let s:lib.Codec.encoding_table['37366'] = [238,225] let s:lib.Codec.encoding_table['37406'] = [238,226] let s:lib.Codec.encoding_table['37375'] = [238,227] let s:lib.Codec.encoding_table['37396'] = [238,228] let s:lib.Codec.encoding_table['37420'] = [238,229] let s:lib.Codec.encoding_table['37397'] = [238,230] let s:lib.Codec.encoding_table['37393'] = [238,231] let s:lib.Codec.encoding_table['37470'] = [238,232] let s:lib.Codec.encoding_table['37463'] = [238,233] let s:lib.Codec.encoding_table['37445'] = [238,234] let s:lib.Codec.encoding_table['37449'] = [238,235] let s:lib.Codec.encoding_table['37476'] = [238,236] let s:lib.Codec.encoding_table['37448'] = [238,237] let s:lib.Codec.encoding_table['37525'] = [238,238] let s:lib.Codec.encoding_table['37439'] = [238,239] let s:lib.Codec.encoding_table['37451'] = [238,240] let s:lib.Codec.encoding_table['37456'] = [238,241] let s:lib.Codec.encoding_table['37532'] = [238,242] let s:lib.Codec.encoding_table['37526'] = [238,243] let s:lib.Codec.encoding_table['37523'] = [238,244] let s:lib.Codec.encoding_table['37531'] = [238,245] let s:lib.Codec.encoding_table['37466'] = [238,246] let s:lib.Codec.encoding_table['37583'] = [238,247] let s:lib.Codec.encoding_table['37561'] = [238,248] let s:lib.Codec.encoding_table['37559'] = [238,249] let s:lib.Codec.encoding_table['37609'] = [238,250] let s:lib.Codec.encoding_table['37647'] = [238,251] let s:lib.Codec.encoding_table['37626'] = [238,252] let s:lib.Codec.encoding_table['37700'] = [238,253] let s:lib.Codec.encoding_table['37678'] = [238,254] let s:lib.Codec.encoding_table['37657'] = [239,161] let s:lib.Codec.encoding_table['37666'] = [239,162] let s:lib.Codec.encoding_table['37658'] = [239,163] let s:lib.Codec.encoding_table['37667'] = [239,164] let s:lib.Codec.encoding_table['37690'] = [239,165] let s:lib.Codec.encoding_table['37685'] = [239,166] let s:lib.Codec.encoding_table['37691'] = [239,167] let s:lib.Codec.encoding_table['37724'] = [239,168] let s:lib.Codec.encoding_table['37728'] = [239,169] let s:lib.Codec.encoding_table['37756'] = [239,170] let s:lib.Codec.encoding_table['37742'] = [239,171] let s:lib.Codec.encoding_table['37718'] = [239,172] let s:lib.Codec.encoding_table['37808'] = [239,173] let s:lib.Codec.encoding_table['37804'] = [239,174] let s:lib.Codec.encoding_table['37805'] = [239,175] let s:lib.Codec.encoding_table['37780'] = [239,176] let s:lib.Codec.encoding_table['37817'] = [239,177] let s:lib.Codec.encoding_table['37846'] = [239,178] let s:lib.Codec.encoding_table['37847'] = [239,179] let s:lib.Codec.encoding_table['37864'] = [239,180] let s:lib.Codec.encoding_table['37861'] = [239,181] let s:lib.Codec.encoding_table['37848'] = [239,182] let s:lib.Codec.encoding_table['37827'] = [239,183] let s:lib.Codec.encoding_table['37853'] = [239,184] let s:lib.Codec.encoding_table['37840'] = [239,185] let s:lib.Codec.encoding_table['37832'] = [239,186] let s:lib.Codec.encoding_table['37860'] = [239,187] let s:lib.Codec.encoding_table['37914'] = [239,188] let s:lib.Codec.encoding_table['37908'] = [239,189] let s:lib.Codec.encoding_table['37907'] = [239,190] let s:lib.Codec.encoding_table['37891'] = [239,191] let s:lib.Codec.encoding_table['37895'] = [239,192] let s:lib.Codec.encoding_table['37904'] = [239,193] let s:lib.Codec.encoding_table['37942'] = [239,194] let s:lib.Codec.encoding_table['37931'] = [239,195] let s:lib.Codec.encoding_table['37941'] = [239,196] let s:lib.Codec.encoding_table['37921'] = [239,197] let s:lib.Codec.encoding_table['37946'] = [239,198] let s:lib.Codec.encoding_table['37953'] = [239,199] let s:lib.Codec.encoding_table['37970'] = [239,200] let s:lib.Codec.encoding_table['37956'] = [239,201] let s:lib.Codec.encoding_table['37979'] = [239,202] let s:lib.Codec.encoding_table['37984'] = [239,203] let s:lib.Codec.encoding_table['37986'] = [239,204] let s:lib.Codec.encoding_table['37982'] = [239,205] let s:lib.Codec.encoding_table['37994'] = [239,206] let s:lib.Codec.encoding_table['37417'] = [239,207] let s:lib.Codec.encoding_table['38000'] = [239,208] let s:lib.Codec.encoding_table['38005'] = [239,209] let s:lib.Codec.encoding_table['38007'] = [239,210] let s:lib.Codec.encoding_table['38013'] = [239,211] let s:lib.Codec.encoding_table['37978'] = [239,212] let s:lib.Codec.encoding_table['38012'] = [239,213] let s:lib.Codec.encoding_table['38014'] = [239,214] let s:lib.Codec.encoding_table['38017'] = [239,215] let s:lib.Codec.encoding_table['38015'] = [239,216] let s:lib.Codec.encoding_table['38274'] = [239,217] let s:lib.Codec.encoding_table['38279'] = [239,218] let s:lib.Codec.encoding_table['38282'] = [239,219] let s:lib.Codec.encoding_table['38292'] = [239,220] let s:lib.Codec.encoding_table['38294'] = [239,221] let s:lib.Codec.encoding_table['38296'] = [239,222] let s:lib.Codec.encoding_table['38297'] = [239,223] let s:lib.Codec.encoding_table['38304'] = [239,224] let s:lib.Codec.encoding_table['38312'] = [239,225] let s:lib.Codec.encoding_table['38311'] = [239,226] let s:lib.Codec.encoding_table['38317'] = [239,227] let s:lib.Codec.encoding_table['38332'] = [239,228] let s:lib.Codec.encoding_table['38331'] = [239,229] let s:lib.Codec.encoding_table['38329'] = [239,230] let s:lib.Codec.encoding_table['38334'] = [239,231] let s:lib.Codec.encoding_table['38346'] = [239,232] let s:lib.Codec.encoding_table['28662'] = [239,233] let s:lib.Codec.encoding_table['38339'] = [239,234] let s:lib.Codec.encoding_table['38349'] = [239,235] let s:lib.Codec.encoding_table['38348'] = [239,236] let s:lib.Codec.encoding_table['38357'] = [239,237] let s:lib.Codec.encoding_table['38356'] = [239,238] let s:lib.Codec.encoding_table['38358'] = [239,239] let s:lib.Codec.encoding_table['38364'] = [239,240] let s:lib.Codec.encoding_table['38369'] = [239,241] let s:lib.Codec.encoding_table['38373'] = [239,242] let s:lib.Codec.encoding_table['38370'] = [239,243] let s:lib.Codec.encoding_table['38433'] = [239,244] let s:lib.Codec.encoding_table['38440'] = [239,245] let s:lib.Codec.encoding_table['38446'] = [239,246] let s:lib.Codec.encoding_table['38447'] = [239,247] let s:lib.Codec.encoding_table['38466'] = [239,248] let s:lib.Codec.encoding_table['38476'] = [239,249] let s:lib.Codec.encoding_table['38479'] = [239,250] let s:lib.Codec.encoding_table['38475'] = [239,251] let s:lib.Codec.encoding_table['38519'] = [239,252] let s:lib.Codec.encoding_table['38492'] = [239,253] let s:lib.Codec.encoding_table['38494'] = [239,254] let s:lib.Codec.encoding_table['38493'] = [240,161] let s:lib.Codec.encoding_table['38495'] = [240,162] let s:lib.Codec.encoding_table['38502'] = [240,163] let s:lib.Codec.encoding_table['38514'] = [240,164] let s:lib.Codec.encoding_table['38508'] = [240,165] let s:lib.Codec.encoding_table['38541'] = [240,166] let s:lib.Codec.encoding_table['38552'] = [240,167] let s:lib.Codec.encoding_table['38549'] = [240,168] let s:lib.Codec.encoding_table['38551'] = [240,169] let s:lib.Codec.encoding_table['38570'] = [240,170] let s:lib.Codec.encoding_table['38567'] = [240,171] let s:lib.Codec.encoding_table['38577'] = [240,172] let s:lib.Codec.encoding_table['38578'] = [240,173] let s:lib.Codec.encoding_table['38576'] = [240,174] let s:lib.Codec.encoding_table['38580'] = [240,175] let s:lib.Codec.encoding_table['38582'] = [240,176] let s:lib.Codec.encoding_table['38584'] = [240,177] let s:lib.Codec.encoding_table['38585'] = [240,178] let s:lib.Codec.encoding_table['38606'] = [240,179] let s:lib.Codec.encoding_table['38603'] = [240,180] let s:lib.Codec.encoding_table['38601'] = [240,181] let s:lib.Codec.encoding_table['38605'] = [240,182] let s:lib.Codec.encoding_table['35149'] = [240,183] let s:lib.Codec.encoding_table['38620'] = [240,184] let s:lib.Codec.encoding_table['38669'] = [240,185] let s:lib.Codec.encoding_table['38613'] = [240,186] let s:lib.Codec.encoding_table['38649'] = [240,187] let s:lib.Codec.encoding_table['38660'] = [240,188] let s:lib.Codec.encoding_table['38662'] = [240,189] let s:lib.Codec.encoding_table['38664'] = [240,190] let s:lib.Codec.encoding_table['38675'] = [240,191] let s:lib.Codec.encoding_table['38670'] = [240,192] let s:lib.Codec.encoding_table['38673'] = [240,193] let s:lib.Codec.encoding_table['38671'] = [240,194] let s:lib.Codec.encoding_table['38678'] = [240,195] let s:lib.Codec.encoding_table['38681'] = [240,196] let s:lib.Codec.encoding_table['38692'] = [240,197] let s:lib.Codec.encoding_table['38698'] = [240,198] let s:lib.Codec.encoding_table['38704'] = [240,199] let s:lib.Codec.encoding_table['38713'] = [240,200] let s:lib.Codec.encoding_table['38717'] = [240,201] let s:lib.Codec.encoding_table['38718'] = [240,202] let s:lib.Codec.encoding_table['38724'] = [240,203] let s:lib.Codec.encoding_table['38726'] = [240,204] let s:lib.Codec.encoding_table['38728'] = [240,205] let s:lib.Codec.encoding_table['38722'] = [240,206] let s:lib.Codec.encoding_table['38729'] = [240,207] let s:lib.Codec.encoding_table['38748'] = [240,208] let s:lib.Codec.encoding_table['38752'] = [240,209] let s:lib.Codec.encoding_table['38756'] = [240,210] let s:lib.Codec.encoding_table['38758'] = [240,211] let s:lib.Codec.encoding_table['38760'] = [240,212] let s:lib.Codec.encoding_table['21202'] = [240,213] let s:lib.Codec.encoding_table['38763'] = [240,214] let s:lib.Codec.encoding_table['38769'] = [240,215] let s:lib.Codec.encoding_table['38777'] = [240,216] let s:lib.Codec.encoding_table['38789'] = [240,217] let s:lib.Codec.encoding_table['38780'] = [240,218] let s:lib.Codec.encoding_table['38785'] = [240,219] let s:lib.Codec.encoding_table['38778'] = [240,220] let s:lib.Codec.encoding_table['38790'] = [240,221] let s:lib.Codec.encoding_table['38795'] = [240,222] let s:lib.Codec.encoding_table['38799'] = [240,223] let s:lib.Codec.encoding_table['38800'] = [240,224] let s:lib.Codec.encoding_table['38812'] = [240,225] let s:lib.Codec.encoding_table['38824'] = [240,226] let s:lib.Codec.encoding_table['38822'] = [240,227] let s:lib.Codec.encoding_table['38819'] = [240,228] let s:lib.Codec.encoding_table['38835'] = [240,229] let s:lib.Codec.encoding_table['38836'] = [240,230] let s:lib.Codec.encoding_table['38851'] = [240,231] let s:lib.Codec.encoding_table['38854'] = [240,232] let s:lib.Codec.encoding_table['38856'] = [240,233] let s:lib.Codec.encoding_table['38859'] = [240,234] let s:lib.Codec.encoding_table['38876'] = [240,235] let s:lib.Codec.encoding_table['38893'] = [240,236] let s:lib.Codec.encoding_table['40783'] = [240,237] let s:lib.Codec.encoding_table['38898'] = [240,238] let s:lib.Codec.encoding_table['31455'] = [240,239] let s:lib.Codec.encoding_table['38902'] = [240,240] let s:lib.Codec.encoding_table['38901'] = [240,241] let s:lib.Codec.encoding_table['38927'] = [240,242] let s:lib.Codec.encoding_table['38924'] = [240,243] let s:lib.Codec.encoding_table['38968'] = [240,244] let s:lib.Codec.encoding_table['38948'] = [240,245] let s:lib.Codec.encoding_table['38945'] = [240,246] let s:lib.Codec.encoding_table['38967'] = [240,247] let s:lib.Codec.encoding_table['38973'] = [240,248] let s:lib.Codec.encoding_table['38982'] = [240,249] let s:lib.Codec.encoding_table['38991'] = [240,250] let s:lib.Codec.encoding_table['38987'] = [240,251] let s:lib.Codec.encoding_table['39019'] = [240,252] let s:lib.Codec.encoding_table['39023'] = [240,253] let s:lib.Codec.encoding_table['39024'] = [240,254] let s:lib.Codec.encoding_table['39025'] = [241,161] let s:lib.Codec.encoding_table['39028'] = [241,162] let s:lib.Codec.encoding_table['39027'] = [241,163] let s:lib.Codec.encoding_table['39082'] = [241,164] let s:lib.Codec.encoding_table['39087'] = [241,165] let s:lib.Codec.encoding_table['39089'] = [241,166] let s:lib.Codec.encoding_table['39094'] = [241,167] let s:lib.Codec.encoding_table['39108'] = [241,168] let s:lib.Codec.encoding_table['39107'] = [241,169] let s:lib.Codec.encoding_table['39110'] = [241,170] let s:lib.Codec.encoding_table['39145'] = [241,171] let s:lib.Codec.encoding_table['39147'] = [241,172] let s:lib.Codec.encoding_table['39171'] = [241,173] let s:lib.Codec.encoding_table['39177'] = [241,174] let s:lib.Codec.encoding_table['39186'] = [241,175] let s:lib.Codec.encoding_table['39188'] = [241,176] let s:lib.Codec.encoding_table['39192'] = [241,177] let s:lib.Codec.encoding_table['39201'] = [241,178] let s:lib.Codec.encoding_table['39197'] = [241,179] let s:lib.Codec.encoding_table['39198'] = [241,180] let s:lib.Codec.encoding_table['39204'] = [241,181] let s:lib.Codec.encoding_table['39200'] = [241,182] let s:lib.Codec.encoding_table['39212'] = [241,183] let s:lib.Codec.encoding_table['39214'] = [241,184] let s:lib.Codec.encoding_table['39229'] = [241,185] let s:lib.Codec.encoding_table['39230'] = [241,186] let s:lib.Codec.encoding_table['39234'] = [241,187] let s:lib.Codec.encoding_table['39241'] = [241,188] let s:lib.Codec.encoding_table['39237'] = [241,189] let s:lib.Codec.encoding_table['39248'] = [241,190] let s:lib.Codec.encoding_table['39243'] = [241,191] let s:lib.Codec.encoding_table['39249'] = [241,192] let s:lib.Codec.encoding_table['39250'] = [241,193] let s:lib.Codec.encoding_table['39244'] = [241,194] let s:lib.Codec.encoding_table['39253'] = [241,195] let s:lib.Codec.encoding_table['39319'] = [241,196] let s:lib.Codec.encoding_table['39320'] = [241,197] let s:lib.Codec.encoding_table['39333'] = [241,198] let s:lib.Codec.encoding_table['39341'] = [241,199] let s:lib.Codec.encoding_table['39342'] = [241,200] let s:lib.Codec.encoding_table['39356'] = [241,201] let s:lib.Codec.encoding_table['39391'] = [241,202] let s:lib.Codec.encoding_table['39387'] = [241,203] let s:lib.Codec.encoding_table['39389'] = [241,204] let s:lib.Codec.encoding_table['39384'] = [241,205] let s:lib.Codec.encoding_table['39377'] = [241,206] let s:lib.Codec.encoding_table['39405'] = [241,207] let s:lib.Codec.encoding_table['39406'] = [241,208] let s:lib.Codec.encoding_table['39409'] = [241,209] let s:lib.Codec.encoding_table['39410'] = [241,210] let s:lib.Codec.encoding_table['39419'] = [241,211] let s:lib.Codec.encoding_table['39416'] = [241,212] let s:lib.Codec.encoding_table['39425'] = [241,213] let s:lib.Codec.encoding_table['39439'] = [241,214] let s:lib.Codec.encoding_table['39429'] = [241,215] let s:lib.Codec.encoding_table['39394'] = [241,216] let s:lib.Codec.encoding_table['39449'] = [241,217] let s:lib.Codec.encoding_table['39467'] = [241,218] let s:lib.Codec.encoding_table['39479'] = [241,219] let s:lib.Codec.encoding_table['39493'] = [241,220] let s:lib.Codec.encoding_table['39490'] = [241,221] let s:lib.Codec.encoding_table['39488'] = [241,222] let s:lib.Codec.encoding_table['39491'] = [241,223] let s:lib.Codec.encoding_table['39486'] = [241,224] let s:lib.Codec.encoding_table['39509'] = [241,225] let s:lib.Codec.encoding_table['39501'] = [241,226] let s:lib.Codec.encoding_table['39515'] = [241,227] let s:lib.Codec.encoding_table['39511'] = [241,228] let s:lib.Codec.encoding_table['39519'] = [241,229] let s:lib.Codec.encoding_table['39522'] = [241,230] let s:lib.Codec.encoding_table['39525'] = [241,231] let s:lib.Codec.encoding_table['39524'] = [241,232] let s:lib.Codec.encoding_table['39529'] = [241,233] let s:lib.Codec.encoding_table['39531'] = [241,234] let s:lib.Codec.encoding_table['39530'] = [241,235] let s:lib.Codec.encoding_table['39597'] = [241,236] let s:lib.Codec.encoding_table['39600'] = [241,237] let s:lib.Codec.encoding_table['39612'] = [241,238] let s:lib.Codec.encoding_table['39616'] = [241,239] let s:lib.Codec.encoding_table['39631'] = [241,240] let s:lib.Codec.encoding_table['39633'] = [241,241] let s:lib.Codec.encoding_table['39635'] = [241,242] let s:lib.Codec.encoding_table['39636'] = [241,243] let s:lib.Codec.encoding_table['39646'] = [241,244] let s:lib.Codec.encoding_table['39647'] = [241,245] let s:lib.Codec.encoding_table['39650'] = [241,246] let s:lib.Codec.encoding_table['39651'] = [241,247] let s:lib.Codec.encoding_table['39654'] = [241,248] let s:lib.Codec.encoding_table['39663'] = [241,249] let s:lib.Codec.encoding_table['39659'] = [241,250] let s:lib.Codec.encoding_table['39662'] = [241,251] let s:lib.Codec.encoding_table['39668'] = [241,252] let s:lib.Codec.encoding_table['39665'] = [241,253] let s:lib.Codec.encoding_table['39671'] = [241,254] let s:lib.Codec.encoding_table['39675'] = [242,161] let s:lib.Codec.encoding_table['39686'] = [242,162] let s:lib.Codec.encoding_table['39704'] = [242,163] let s:lib.Codec.encoding_table['39706'] = [242,164] let s:lib.Codec.encoding_table['39711'] = [242,165] let s:lib.Codec.encoding_table['39714'] = [242,166] let s:lib.Codec.encoding_table['39715'] = [242,167] let s:lib.Codec.encoding_table['39717'] = [242,168] let s:lib.Codec.encoding_table['39719'] = [242,169] let s:lib.Codec.encoding_table['39720'] = [242,170] let s:lib.Codec.encoding_table['39721'] = [242,171] let s:lib.Codec.encoding_table['39722'] = [242,172] let s:lib.Codec.encoding_table['39726'] = [242,173] let s:lib.Codec.encoding_table['39727'] = [242,174] let s:lib.Codec.encoding_table['39730'] = [242,175] let s:lib.Codec.encoding_table['39748'] = [242,176] let s:lib.Codec.encoding_table['39747'] = [242,177] let s:lib.Codec.encoding_table['39759'] = [242,178] let s:lib.Codec.encoding_table['39757'] = [242,179] let s:lib.Codec.encoding_table['39758'] = [242,180] let s:lib.Codec.encoding_table['39761'] = [242,181] let s:lib.Codec.encoding_table['39768'] = [242,182] let s:lib.Codec.encoding_table['39796'] = [242,183] let s:lib.Codec.encoding_table['39827'] = [242,184] let s:lib.Codec.encoding_table['39811'] = [242,185] let s:lib.Codec.encoding_table['39825'] = [242,186] let s:lib.Codec.encoding_table['39830'] = [242,187] let s:lib.Codec.encoding_table['39831'] = [242,188] let s:lib.Codec.encoding_table['39839'] = [242,189] let s:lib.Codec.encoding_table['39840'] = [242,190] let s:lib.Codec.encoding_table['39848'] = [242,191] let s:lib.Codec.encoding_table['39860'] = [242,192] let s:lib.Codec.encoding_table['39872'] = [242,193] let s:lib.Codec.encoding_table['39882'] = [242,194] let s:lib.Codec.encoding_table['39865'] = [242,195] let s:lib.Codec.encoding_table['39878'] = [242,196] let s:lib.Codec.encoding_table['39887'] = [242,197] let s:lib.Codec.encoding_table['39889'] = [242,198] let s:lib.Codec.encoding_table['39890'] = [242,199] let s:lib.Codec.encoding_table['39907'] = [242,200] let s:lib.Codec.encoding_table['39906'] = [242,201] let s:lib.Codec.encoding_table['39908'] = [242,202] let s:lib.Codec.encoding_table['39892'] = [242,203] let s:lib.Codec.encoding_table['39905'] = [242,204] let s:lib.Codec.encoding_table['39994'] = [242,205] let s:lib.Codec.encoding_table['39922'] = [242,206] let s:lib.Codec.encoding_table['39921'] = [242,207] let s:lib.Codec.encoding_table['39920'] = [242,208] let s:lib.Codec.encoding_table['39957'] = [242,209] let s:lib.Codec.encoding_table['39956'] = [242,210] let s:lib.Codec.encoding_table['39945'] = [242,211] let s:lib.Codec.encoding_table['39955'] = [242,212] let s:lib.Codec.encoding_table['39948'] = [242,213] let s:lib.Codec.encoding_table['39942'] = [242,214] let s:lib.Codec.encoding_table['39944'] = [242,215] let s:lib.Codec.encoding_table['39954'] = [242,216] let s:lib.Codec.encoding_table['39946'] = [242,217] let s:lib.Codec.encoding_table['39940'] = [242,218] let s:lib.Codec.encoding_table['39982'] = [242,219] let s:lib.Codec.encoding_table['39963'] = [242,220] let s:lib.Codec.encoding_table['39973'] = [242,221] let s:lib.Codec.encoding_table['39972'] = [242,222] let s:lib.Codec.encoding_table['39969'] = [242,223] let s:lib.Codec.encoding_table['39984'] = [242,224] let s:lib.Codec.encoding_table['40007'] = [242,225] let s:lib.Codec.encoding_table['39986'] = [242,226] let s:lib.Codec.encoding_table['40006'] = [242,227] let s:lib.Codec.encoding_table['39998'] = [242,228] let s:lib.Codec.encoding_table['40026'] = [242,229] let s:lib.Codec.encoding_table['40032'] = [242,230] let s:lib.Codec.encoding_table['40039'] = [242,231] let s:lib.Codec.encoding_table['40054'] = [242,232] let s:lib.Codec.encoding_table['40056'] = [242,233] let s:lib.Codec.encoding_table['40167'] = [242,234] let s:lib.Codec.encoding_table['40172'] = [242,235] let s:lib.Codec.encoding_table['40176'] = [242,236] let s:lib.Codec.encoding_table['40201'] = [242,237] let s:lib.Codec.encoding_table['40200'] = [242,238] let s:lib.Codec.encoding_table['40171'] = [242,239] let s:lib.Codec.encoding_table['40195'] = [242,240] let s:lib.Codec.encoding_table['40198'] = [242,241] let s:lib.Codec.encoding_table['40234'] = [242,242] let s:lib.Codec.encoding_table['40230'] = [242,243] let s:lib.Codec.encoding_table['40367'] = [242,244] let s:lib.Codec.encoding_table['40227'] = [242,245] let s:lib.Codec.encoding_table['40223'] = [242,246] let s:lib.Codec.encoding_table['40260'] = [242,247] let s:lib.Codec.encoding_table['40213'] = [242,248] let s:lib.Codec.encoding_table['40210'] = [242,249] let s:lib.Codec.encoding_table['40257'] = [242,250] let s:lib.Codec.encoding_table['40255'] = [242,251] let s:lib.Codec.encoding_table['40254'] = [242,252] let s:lib.Codec.encoding_table['40262'] = [242,253] let s:lib.Codec.encoding_table['40264'] = [242,254] let s:lib.Codec.encoding_table['40285'] = [243,161] let s:lib.Codec.encoding_table['40286'] = [243,162] let s:lib.Codec.encoding_table['40292'] = [243,163] let s:lib.Codec.encoding_table['40273'] = [243,164] let s:lib.Codec.encoding_table['40272'] = [243,165] let s:lib.Codec.encoding_table['40281'] = [243,166] let s:lib.Codec.encoding_table['40306'] = [243,167] let s:lib.Codec.encoding_table['40329'] = [243,168] let s:lib.Codec.encoding_table['40327'] = [243,169] let s:lib.Codec.encoding_table['40363'] = [243,170] let s:lib.Codec.encoding_table['40303'] = [243,171] let s:lib.Codec.encoding_table['40314'] = [243,172] let s:lib.Codec.encoding_table['40346'] = [243,173] let s:lib.Codec.encoding_table['40356'] = [243,174] let s:lib.Codec.encoding_table['40361'] = [243,175] let s:lib.Codec.encoding_table['40370'] = [243,176] let s:lib.Codec.encoding_table['40388'] = [243,177] let s:lib.Codec.encoding_table['40385'] = [243,178] let s:lib.Codec.encoding_table['40379'] = [243,179] let s:lib.Codec.encoding_table['40376'] = [243,180] let s:lib.Codec.encoding_table['40378'] = [243,181] let s:lib.Codec.encoding_table['40390'] = [243,182] let s:lib.Codec.encoding_table['40399'] = [243,183] let s:lib.Codec.encoding_table['40386'] = [243,184] let s:lib.Codec.encoding_table['40409'] = [243,185] let s:lib.Codec.encoding_table['40403'] = [243,186] let s:lib.Codec.encoding_table['40440'] = [243,187] let s:lib.Codec.encoding_table['40422'] = [243,188] let s:lib.Codec.encoding_table['40429'] = [243,189] let s:lib.Codec.encoding_table['40431'] = [243,190] let s:lib.Codec.encoding_table['40445'] = [243,191] let s:lib.Codec.encoding_table['40474'] = [243,192] let s:lib.Codec.encoding_table['40475'] = [243,193] let s:lib.Codec.encoding_table['40478'] = [243,194] let s:lib.Codec.encoding_table['40565'] = [243,195] let s:lib.Codec.encoding_table['40569'] = [243,196] let s:lib.Codec.encoding_table['40573'] = [243,197] let s:lib.Codec.encoding_table['40577'] = [243,198] let s:lib.Codec.encoding_table['40584'] = [243,199] let s:lib.Codec.encoding_table['40587'] = [243,200] let s:lib.Codec.encoding_table['40588'] = [243,201] let s:lib.Codec.encoding_table['40594'] = [243,202] let s:lib.Codec.encoding_table['40597'] = [243,203] let s:lib.Codec.encoding_table['40593'] = [243,204] let s:lib.Codec.encoding_table['40605'] = [243,205] let s:lib.Codec.encoding_table['40613'] = [243,206] let s:lib.Codec.encoding_table['40617'] = [243,207] let s:lib.Codec.encoding_table['40632'] = [243,208] let s:lib.Codec.encoding_table['40618'] = [243,209] let s:lib.Codec.encoding_table['40621'] = [243,210] let s:lib.Codec.encoding_table['38753'] = [243,211] let s:lib.Codec.encoding_table['40652'] = [243,212] let s:lib.Codec.encoding_table['40654'] = [243,213] let s:lib.Codec.encoding_table['40655'] = [243,214] let s:lib.Codec.encoding_table['40656'] = [243,215] let s:lib.Codec.encoding_table['40660'] = [243,216] let s:lib.Codec.encoding_table['40668'] = [243,217] let s:lib.Codec.encoding_table['40670'] = [243,218] let s:lib.Codec.encoding_table['40669'] = [243,219] let s:lib.Codec.encoding_table['40672'] = [243,220] let s:lib.Codec.encoding_table['40677'] = [243,221] let s:lib.Codec.encoding_table['40680'] = [243,222] let s:lib.Codec.encoding_table['40687'] = [243,223] let s:lib.Codec.encoding_table['40692'] = [243,224] let s:lib.Codec.encoding_table['40694'] = [243,225] let s:lib.Codec.encoding_table['40695'] = [243,226] let s:lib.Codec.encoding_table['40697'] = [243,227] let s:lib.Codec.encoding_table['40699'] = [243,228] let s:lib.Codec.encoding_table['40700'] = [243,229] let s:lib.Codec.encoding_table['40701'] = [243,230] let s:lib.Codec.encoding_table['40711'] = [243,231] let s:lib.Codec.encoding_table['40712'] = [243,232] let s:lib.Codec.encoding_table['30391'] = [243,233] let s:lib.Codec.encoding_table['40725'] = [243,234] let s:lib.Codec.encoding_table['40737'] = [243,235] let s:lib.Codec.encoding_table['40748'] = [243,236] let s:lib.Codec.encoding_table['40766'] = [243,237] let s:lib.Codec.encoding_table['40778'] = [243,238] let s:lib.Codec.encoding_table['40786'] = [243,239] let s:lib.Codec.encoding_table['40788'] = [243,240] let s:lib.Codec.encoding_table['40803'] = [243,241] let s:lib.Codec.encoding_table['40799'] = [243,242] let s:lib.Codec.encoding_table['40800'] = [243,243] let s:lib.Codec.encoding_table['40801'] = [243,244] let s:lib.Codec.encoding_table['40806'] = [243,245] let s:lib.Codec.encoding_table['40807'] = [243,246] let s:lib.Codec.encoding_table['40812'] = [243,247] let s:lib.Codec.encoding_table['40810'] = [243,248] let s:lib.Codec.encoding_table['40823'] = [243,249] let s:lib.Codec.encoding_table['40818'] = [243,250] let s:lib.Codec.encoding_table['40822'] = [243,251] let s:lib.Codec.encoding_table['40853'] = [243,252] let s:lib.Codec.encoding_table['40860'] = [243,253] let s:lib.Codec.encoding_table['40864'] = [243,254] let s:lib.Codec.encoding_table['22575'] = [244,161] let s:lib.Codec.encoding_table['27079'] = [244,162] let s:lib.Codec.encoding_table['36953'] = [244,163] let s:lib.Codec.encoding_table['29796'] = [244,164] let s:lib.Codec.encoding_table['20956'] = [244,165] let s:lib.Codec.encoding_table['29081'] = [244,166] let s:lib.Codec.encoding_table['728'] = [143,162,175] let s:lib.Codec.encoding_table['711'] = [143,162,176] let s:lib.Codec.encoding_table['184'] = [143,162,177] let s:lib.Codec.encoding_table['729'] = [143,162,178] let s:lib.Codec.encoding_table['733'] = [143,162,179] let s:lib.Codec.encoding_table['175'] = [143,162,180] let s:lib.Codec.encoding_table['731'] = [143,162,181] let s:lib.Codec.encoding_table['730'] = [143,162,182] let s:lib.Codec.encoding_table['900'] = [143,162,184] let s:lib.Codec.encoding_table['901'] = [143,162,185] let s:lib.Codec.encoding_table['161'] = [143,162,194] let s:lib.Codec.encoding_table['166'] = [143,162,195] let s:lib.Codec.encoding_table['191'] = [143,162,196] let s:lib.Codec.encoding_table['186'] = [143,162,235] let s:lib.Codec.encoding_table['170'] = [143,162,236] let s:lib.Codec.encoding_table['169'] = [143,162,237] let s:lib.Codec.encoding_table['174'] = [143,162,238] let s:lib.Codec.encoding_table['8482'] = [143,162,239] let s:lib.Codec.encoding_table['164'] = [143,162,240] let s:lib.Codec.encoding_table['8470'] = [143,162,241] let s:lib.Codec.encoding_table['902'] = [143,166,225] let s:lib.Codec.encoding_table['904'] = [143,166,226] let s:lib.Codec.encoding_table['905'] = [143,166,227] let s:lib.Codec.encoding_table['906'] = [143,166,228] let s:lib.Codec.encoding_table['938'] = [143,166,229] let s:lib.Codec.encoding_table['908'] = [143,166,231] let s:lib.Codec.encoding_table['910'] = [143,166,233] let s:lib.Codec.encoding_table['939'] = [143,166,234] let s:lib.Codec.encoding_table['911'] = [143,166,236] let s:lib.Codec.encoding_table['940'] = [143,166,241] let s:lib.Codec.encoding_table['941'] = [143,166,242] let s:lib.Codec.encoding_table['942'] = [143,166,243] let s:lib.Codec.encoding_table['943'] = [143,166,244] let s:lib.Codec.encoding_table['970'] = [143,166,245] let s:lib.Codec.encoding_table['912'] = [143,166,246] let s:lib.Codec.encoding_table['972'] = [143,166,247] let s:lib.Codec.encoding_table['962'] = [143,166,248] let s:lib.Codec.encoding_table['973'] = [143,166,249] let s:lib.Codec.encoding_table['971'] = [143,166,250] let s:lib.Codec.encoding_table['944'] = [143,166,251] let s:lib.Codec.encoding_table['974'] = [143,166,252] let s:lib.Codec.encoding_table['1026'] = [143,167,194] let s:lib.Codec.encoding_table['1027'] = [143,167,195] let s:lib.Codec.encoding_table['1028'] = [143,167,196] let s:lib.Codec.encoding_table['1029'] = [143,167,197] let s:lib.Codec.encoding_table['1030'] = [143,167,198] let s:lib.Codec.encoding_table['1031'] = [143,167,199] let s:lib.Codec.encoding_table['1032'] = [143,167,200] let s:lib.Codec.encoding_table['1033'] = [143,167,201] let s:lib.Codec.encoding_table['1034'] = [143,167,202] let s:lib.Codec.encoding_table['1035'] = [143,167,203] let s:lib.Codec.encoding_table['1036'] = [143,167,204] let s:lib.Codec.encoding_table['1038'] = [143,167,205] let s:lib.Codec.encoding_table['1039'] = [143,167,206] let s:lib.Codec.encoding_table['1106'] = [143,167,242] let s:lib.Codec.encoding_table['1107'] = [143,167,243] let s:lib.Codec.encoding_table['1108'] = [143,167,244] let s:lib.Codec.encoding_table['1109'] = [143,167,245] let s:lib.Codec.encoding_table['1110'] = [143,167,246] let s:lib.Codec.encoding_table['1111'] = [143,167,247] let s:lib.Codec.encoding_table['1112'] = [143,167,248] let s:lib.Codec.encoding_table['1113'] = [143,167,249] let s:lib.Codec.encoding_table['1114'] = [143,167,250] let s:lib.Codec.encoding_table['1115'] = [143,167,251] let s:lib.Codec.encoding_table['1116'] = [143,167,252] let s:lib.Codec.encoding_table['1118'] = [143,167,253] let s:lib.Codec.encoding_table['1119'] = [143,167,254] let s:lib.Codec.encoding_table['198'] = [143,169,161] let s:lib.Codec.encoding_table['272'] = [143,169,162] let s:lib.Codec.encoding_table['294'] = [143,169,164] let s:lib.Codec.encoding_table['306'] = [143,169,166] let s:lib.Codec.encoding_table['321'] = [143,169,168] let s:lib.Codec.encoding_table['319'] = [143,169,169] let s:lib.Codec.encoding_table['330'] = [143,169,171] let s:lib.Codec.encoding_table['216'] = [143,169,172] let s:lib.Codec.encoding_table['338'] = [143,169,173] let s:lib.Codec.encoding_table['358'] = [143,169,175] let s:lib.Codec.encoding_table['222'] = [143,169,176] let s:lib.Codec.encoding_table['230'] = [143,169,193] let s:lib.Codec.encoding_table['273'] = [143,169,194] let s:lib.Codec.encoding_table['240'] = [143,169,195] let s:lib.Codec.encoding_table['295'] = [143,169,196] let s:lib.Codec.encoding_table['305'] = [143,169,197] let s:lib.Codec.encoding_table['307'] = [143,169,198] let s:lib.Codec.encoding_table['312'] = [143,169,199] let s:lib.Codec.encoding_table['322'] = [143,169,200] let s:lib.Codec.encoding_table['320'] = [143,169,201] let s:lib.Codec.encoding_table['329'] = [143,169,202] let s:lib.Codec.encoding_table['331'] = [143,169,203] let s:lib.Codec.encoding_table['248'] = [143,169,204] let s:lib.Codec.encoding_table['339'] = [143,169,205] let s:lib.Codec.encoding_table['223'] = [143,169,206] let s:lib.Codec.encoding_table['359'] = [143,169,207] let s:lib.Codec.encoding_table['254'] = [143,169,208] let s:lib.Codec.encoding_table['193'] = [143,170,161] let s:lib.Codec.encoding_table['192'] = [143,170,162] let s:lib.Codec.encoding_table['196'] = [143,170,163] let s:lib.Codec.encoding_table['194'] = [143,170,164] let s:lib.Codec.encoding_table['258'] = [143,170,165] let s:lib.Codec.encoding_table['461'] = [143,170,166] let s:lib.Codec.encoding_table['256'] = [143,170,167] let s:lib.Codec.encoding_table['260'] = [143,170,168] let s:lib.Codec.encoding_table['197'] = [143,170,169] let s:lib.Codec.encoding_table['195'] = [143,170,170] let s:lib.Codec.encoding_table['262'] = [143,170,171] let s:lib.Codec.encoding_table['264'] = [143,170,172] let s:lib.Codec.encoding_table['268'] = [143,170,173] let s:lib.Codec.encoding_table['199'] = [143,170,174] let s:lib.Codec.encoding_table['266'] = [143,170,175] let s:lib.Codec.encoding_table['270'] = [143,170,176] let s:lib.Codec.encoding_table['201'] = [143,170,177] let s:lib.Codec.encoding_table['200'] = [143,170,178] let s:lib.Codec.encoding_table['203'] = [143,170,179] let s:lib.Codec.encoding_table['202'] = [143,170,180] let s:lib.Codec.encoding_table['282'] = [143,170,181] let s:lib.Codec.encoding_table['278'] = [143,170,182] let s:lib.Codec.encoding_table['274'] = [143,170,183] let s:lib.Codec.encoding_table['280'] = [143,170,184] let s:lib.Codec.encoding_table['284'] = [143,170,186] let s:lib.Codec.encoding_table['286'] = [143,170,187] let s:lib.Codec.encoding_table['290'] = [143,170,188] let s:lib.Codec.encoding_table['288'] = [143,170,189] let s:lib.Codec.encoding_table['292'] = [143,170,190] let s:lib.Codec.encoding_table['205'] = [143,170,191] let s:lib.Codec.encoding_table['204'] = [143,170,192] let s:lib.Codec.encoding_table['207'] = [143,170,193] let s:lib.Codec.encoding_table['206'] = [143,170,194] let s:lib.Codec.encoding_table['463'] = [143,170,195] let s:lib.Codec.encoding_table['304'] = [143,170,196] let s:lib.Codec.encoding_table['298'] = [143,170,197] let s:lib.Codec.encoding_table['302'] = [143,170,198] let s:lib.Codec.encoding_table['296'] = [143,170,199] let s:lib.Codec.encoding_table['308'] = [143,170,200] let s:lib.Codec.encoding_table['310'] = [143,170,201] let s:lib.Codec.encoding_table['313'] = [143,170,202] let s:lib.Codec.encoding_table['317'] = [143,170,203] let s:lib.Codec.encoding_table['315'] = [143,170,204] let s:lib.Codec.encoding_table['323'] = [143,170,205] let s:lib.Codec.encoding_table['327'] = [143,170,206] let s:lib.Codec.encoding_table['325'] = [143,170,207] let s:lib.Codec.encoding_table['209'] = [143,170,208] let s:lib.Codec.encoding_table['211'] = [143,170,209] let s:lib.Codec.encoding_table['210'] = [143,170,210] let s:lib.Codec.encoding_table['214'] = [143,170,211] let s:lib.Codec.encoding_table['212'] = [143,170,212] let s:lib.Codec.encoding_table['465'] = [143,170,213] let s:lib.Codec.encoding_table['336'] = [143,170,214] let s:lib.Codec.encoding_table['332'] = [143,170,215] let s:lib.Codec.encoding_table['213'] = [143,170,216] let s:lib.Codec.encoding_table['340'] = [143,170,217] let s:lib.Codec.encoding_table['344'] = [143,170,218] let s:lib.Codec.encoding_table['342'] = [143,170,219] let s:lib.Codec.encoding_table['346'] = [143,170,220] let s:lib.Codec.encoding_table['348'] = [143,170,221] let s:lib.Codec.encoding_table['352'] = [143,170,222] let s:lib.Codec.encoding_table['350'] = [143,170,223] let s:lib.Codec.encoding_table['356'] = [143,170,224] let s:lib.Codec.encoding_table['354'] = [143,170,225] let s:lib.Codec.encoding_table['218'] = [143,170,226] let s:lib.Codec.encoding_table['217'] = [143,170,227] let s:lib.Codec.encoding_table['220'] = [143,170,228] let s:lib.Codec.encoding_table['219'] = [143,170,229] let s:lib.Codec.encoding_table['364'] = [143,170,230] let s:lib.Codec.encoding_table['467'] = [143,170,231] let s:lib.Codec.encoding_table['368'] = [143,170,232] let s:lib.Codec.encoding_table['362'] = [143,170,233] let s:lib.Codec.encoding_table['370'] = [143,170,234] let s:lib.Codec.encoding_table['366'] = [143,170,235] let s:lib.Codec.encoding_table['360'] = [143,170,236] let s:lib.Codec.encoding_table['471'] = [143,170,237] let s:lib.Codec.encoding_table['475'] = [143,170,238] let s:lib.Codec.encoding_table['473'] = [143,170,239] let s:lib.Codec.encoding_table['469'] = [143,170,240] let s:lib.Codec.encoding_table['372'] = [143,170,241] let s:lib.Codec.encoding_table['221'] = [143,170,242] let s:lib.Codec.encoding_table['376'] = [143,170,243] let s:lib.Codec.encoding_table['374'] = [143,170,244] let s:lib.Codec.encoding_table['377'] = [143,170,245] let s:lib.Codec.encoding_table['381'] = [143,170,246] let s:lib.Codec.encoding_table['379'] = [143,170,247] let s:lib.Codec.encoding_table['225'] = [143,171,161] let s:lib.Codec.encoding_table['224'] = [143,171,162] let s:lib.Codec.encoding_table['228'] = [143,171,163] let s:lib.Codec.encoding_table['226'] = [143,171,164] let s:lib.Codec.encoding_table['259'] = [143,171,165] let s:lib.Codec.encoding_table['462'] = [143,171,166] let s:lib.Codec.encoding_table['257'] = [143,171,167] let s:lib.Codec.encoding_table['261'] = [143,171,168] let s:lib.Codec.encoding_table['229'] = [143,171,169] let s:lib.Codec.encoding_table['227'] = [143,171,170] let s:lib.Codec.encoding_table['263'] = [143,171,171] let s:lib.Codec.encoding_table['265'] = [143,171,172] let s:lib.Codec.encoding_table['269'] = [143,171,173] let s:lib.Codec.encoding_table['231'] = [143,171,174] let s:lib.Codec.encoding_table['267'] = [143,171,175] let s:lib.Codec.encoding_table['271'] = [143,171,176] let s:lib.Codec.encoding_table['233'] = [143,171,177] let s:lib.Codec.encoding_table['232'] = [143,171,178] let s:lib.Codec.encoding_table['235'] = [143,171,179] let s:lib.Codec.encoding_table['234'] = [143,171,180] let s:lib.Codec.encoding_table['283'] = [143,171,181] let s:lib.Codec.encoding_table['279'] = [143,171,182] let s:lib.Codec.encoding_table['275'] = [143,171,183] let s:lib.Codec.encoding_table['281'] = [143,171,184] let s:lib.Codec.encoding_table['501'] = [143,171,185] let s:lib.Codec.encoding_table['285'] = [143,171,186] let s:lib.Codec.encoding_table['287'] = [143,171,187] let s:lib.Codec.encoding_table['289'] = [143,171,189] let s:lib.Codec.encoding_table['293'] = [143,171,190] let s:lib.Codec.encoding_table['237'] = [143,171,191] let s:lib.Codec.encoding_table['236'] = [143,171,192] let s:lib.Codec.encoding_table['239'] = [143,171,193] let s:lib.Codec.encoding_table['238'] = [143,171,194] let s:lib.Codec.encoding_table['464'] = [143,171,195] let s:lib.Codec.encoding_table['299'] = [143,171,197] let s:lib.Codec.encoding_table['303'] = [143,171,198] let s:lib.Codec.encoding_table['297'] = [143,171,199] let s:lib.Codec.encoding_table['309'] = [143,171,200] let s:lib.Codec.encoding_table['311'] = [143,171,201] let s:lib.Codec.encoding_table['314'] = [143,171,202] let s:lib.Codec.encoding_table['318'] = [143,171,203] let s:lib.Codec.encoding_table['316'] = [143,171,204] let s:lib.Codec.encoding_table['324'] = [143,171,205] let s:lib.Codec.encoding_table['328'] = [143,171,206] let s:lib.Codec.encoding_table['326'] = [143,171,207] let s:lib.Codec.encoding_table['241'] = [143,171,208] let s:lib.Codec.encoding_table['243'] = [143,171,209] let s:lib.Codec.encoding_table['242'] = [143,171,210] let s:lib.Codec.encoding_table['246'] = [143,171,211] let s:lib.Codec.encoding_table['244'] = [143,171,212] let s:lib.Codec.encoding_table['466'] = [143,171,213] let s:lib.Codec.encoding_table['337'] = [143,171,214] let s:lib.Codec.encoding_table['333'] = [143,171,215] let s:lib.Codec.encoding_table['245'] = [143,171,216] let s:lib.Codec.encoding_table['341'] = [143,171,217] let s:lib.Codec.encoding_table['345'] = [143,171,218] let s:lib.Codec.encoding_table['343'] = [143,171,219] let s:lib.Codec.encoding_table['347'] = [143,171,220] let s:lib.Codec.encoding_table['349'] = [143,171,221] let s:lib.Codec.encoding_table['353'] = [143,171,222] let s:lib.Codec.encoding_table['351'] = [143,171,223] let s:lib.Codec.encoding_table['357'] = [143,171,224] let s:lib.Codec.encoding_table['355'] = [143,171,225] let s:lib.Codec.encoding_table['250'] = [143,171,226] let s:lib.Codec.encoding_table['249'] = [143,171,227] let s:lib.Codec.encoding_table['252'] = [143,171,228] let s:lib.Codec.encoding_table['251'] = [143,171,229] let s:lib.Codec.encoding_table['365'] = [143,171,230] let s:lib.Codec.encoding_table['468'] = [143,171,231] let s:lib.Codec.encoding_table['369'] = [143,171,232] let s:lib.Codec.encoding_table['363'] = [143,171,233] let s:lib.Codec.encoding_table['371'] = [143,171,234] let s:lib.Codec.encoding_table['367'] = [143,171,235] let s:lib.Codec.encoding_table['361'] = [143,171,236] let s:lib.Codec.encoding_table['472'] = [143,171,237] let s:lib.Codec.encoding_table['476'] = [143,171,238] let s:lib.Codec.encoding_table['474'] = [143,171,239] let s:lib.Codec.encoding_table['470'] = [143,171,240] let s:lib.Codec.encoding_table['373'] = [143,171,241] let s:lib.Codec.encoding_table['253'] = [143,171,242] let s:lib.Codec.encoding_table['255'] = [143,171,243] let s:lib.Codec.encoding_table['375'] = [143,171,244] let s:lib.Codec.encoding_table['378'] = [143,171,245] let s:lib.Codec.encoding_table['382'] = [143,171,246] let s:lib.Codec.encoding_table['380'] = [143,171,247] let s:lib.Codec.encoding_table['19970'] = [143,176,161] let s:lib.Codec.encoding_table['19972'] = [143,176,162] let s:lib.Codec.encoding_table['19973'] = [143,176,163] let s:lib.Codec.encoding_table['19980'] = [143,176,164] let s:lib.Codec.encoding_table['19986'] = [143,176,165] let s:lib.Codec.encoding_table['19999'] = [143,176,166] let s:lib.Codec.encoding_table['20003'] = [143,176,167] let s:lib.Codec.encoding_table['20004'] = [143,176,168] let s:lib.Codec.encoding_table['20008'] = [143,176,169] let s:lib.Codec.encoding_table['20011'] = [143,176,170] let s:lib.Codec.encoding_table['20014'] = [143,176,171] let s:lib.Codec.encoding_table['20015'] = [143,176,172] let s:lib.Codec.encoding_table['20016'] = [143,176,173] let s:lib.Codec.encoding_table['20021'] = [143,176,174] let s:lib.Codec.encoding_table['20032'] = [143,176,175] let s:lib.Codec.encoding_table['20033'] = [143,176,176] let s:lib.Codec.encoding_table['20036'] = [143,176,177] let s:lib.Codec.encoding_table['20039'] = [143,176,178] let s:lib.Codec.encoding_table['20049'] = [143,176,179] let s:lib.Codec.encoding_table['20058'] = [143,176,180] let s:lib.Codec.encoding_table['20060'] = [143,176,181] let s:lib.Codec.encoding_table['20067'] = [143,176,182] let s:lib.Codec.encoding_table['20072'] = [143,176,183] let s:lib.Codec.encoding_table['20073'] = [143,176,184] let s:lib.Codec.encoding_table['20084'] = [143,176,185] let s:lib.Codec.encoding_table['20085'] = [143,176,186] let s:lib.Codec.encoding_table['20089'] = [143,176,187] let s:lib.Codec.encoding_table['20095'] = [143,176,188] let s:lib.Codec.encoding_table['20109'] = [143,176,189] let s:lib.Codec.encoding_table['20118'] = [143,176,190] let s:lib.Codec.encoding_table['20119'] = [143,176,191] let s:lib.Codec.encoding_table['20125'] = [143,176,192] let s:lib.Codec.encoding_table['20143'] = [143,176,193] let s:lib.Codec.encoding_table['20153'] = [143,176,194] let s:lib.Codec.encoding_table['20163'] = [143,176,195] let s:lib.Codec.encoding_table['20176'] = [143,176,196] let s:lib.Codec.encoding_table['20186'] = [143,176,197] let s:lib.Codec.encoding_table['20187'] = [143,176,198] let s:lib.Codec.encoding_table['20192'] = [143,176,199] let s:lib.Codec.encoding_table['20193'] = [143,176,200] let s:lib.Codec.encoding_table['20194'] = [143,176,201] let s:lib.Codec.encoding_table['20200'] = [143,176,202] let s:lib.Codec.encoding_table['20207'] = [143,176,203] let s:lib.Codec.encoding_table['20209'] = [143,176,204] let s:lib.Codec.encoding_table['20211'] = [143,176,205] let s:lib.Codec.encoding_table['20213'] = [143,176,206] let s:lib.Codec.encoding_table['20221'] = [143,176,207] let s:lib.Codec.encoding_table['20222'] = [143,176,208] let s:lib.Codec.encoding_table['20223'] = [143,176,209] let s:lib.Codec.encoding_table['20224'] = [143,176,210] let s:lib.Codec.encoding_table['20226'] = [143,176,211] let s:lib.Codec.encoding_table['20227'] = [143,176,212] let s:lib.Codec.encoding_table['20232'] = [143,176,213] let s:lib.Codec.encoding_table['20235'] = [143,176,214] let s:lib.Codec.encoding_table['20236'] = [143,176,215] let s:lib.Codec.encoding_table['20242'] = [143,176,216] let s:lib.Codec.encoding_table['20245'] = [143,176,217] let s:lib.Codec.encoding_table['20246'] = [143,176,218] let s:lib.Codec.encoding_table['20247'] = [143,176,219] let s:lib.Codec.encoding_table['20249'] = [143,176,220] let s:lib.Codec.encoding_table['20270'] = [143,176,221] let s:lib.Codec.encoding_table['20273'] = [143,176,222] let s:lib.Codec.encoding_table['20320'] = [143,176,223] let s:lib.Codec.encoding_table['20275'] = [143,176,224] let s:lib.Codec.encoding_table['20277'] = [143,176,225] let s:lib.Codec.encoding_table['20279'] = [143,176,226] let s:lib.Codec.encoding_table['20281'] = [143,176,227] let s:lib.Codec.encoding_table['20283'] = [143,176,228] let s:lib.Codec.encoding_table['20286'] = [143,176,229] let s:lib.Codec.encoding_table['20288'] = [143,176,230] let s:lib.Codec.encoding_table['20290'] = [143,176,231] let s:lib.Codec.encoding_table['20296'] = [143,176,232] let s:lib.Codec.encoding_table['20297'] = [143,176,233] let s:lib.Codec.encoding_table['20299'] = [143,176,234] let s:lib.Codec.encoding_table['20300'] = [143,176,235] let s:lib.Codec.encoding_table['20306'] = [143,176,236] let s:lib.Codec.encoding_table['20308'] = [143,176,237] let s:lib.Codec.encoding_table['20310'] = [143,176,238] let s:lib.Codec.encoding_table['20312'] = [143,176,239] let s:lib.Codec.encoding_table['20319'] = [143,176,240] let s:lib.Codec.encoding_table['20323'] = [143,176,241] let s:lib.Codec.encoding_table['20330'] = [143,176,242] let s:lib.Codec.encoding_table['20332'] = [143,176,243] let s:lib.Codec.encoding_table['20334'] = [143,176,244] let s:lib.Codec.encoding_table['20337'] = [143,176,245] let s:lib.Codec.encoding_table['20343'] = [143,176,246] let s:lib.Codec.encoding_table['20344'] = [143,176,247] let s:lib.Codec.encoding_table['20345'] = [143,176,248] let s:lib.Codec.encoding_table['20346'] = [143,176,249] let s:lib.Codec.encoding_table['20349'] = [143,176,250] let s:lib.Codec.encoding_table['20350'] = [143,176,251] let s:lib.Codec.encoding_table['20353'] = [143,176,252] let s:lib.Codec.encoding_table['20354'] = [143,176,253] let s:lib.Codec.encoding_table['20356'] = [143,176,254] let s:lib.Codec.encoding_table['20357'] = [143,177,161] let s:lib.Codec.encoding_table['20361'] = [143,177,162] let s:lib.Codec.encoding_table['20362'] = [143,177,163] let s:lib.Codec.encoding_table['20364'] = [143,177,164] let s:lib.Codec.encoding_table['20366'] = [143,177,165] let s:lib.Codec.encoding_table['20368'] = [143,177,166] let s:lib.Codec.encoding_table['20370'] = [143,177,167] let s:lib.Codec.encoding_table['20371'] = [143,177,168] let s:lib.Codec.encoding_table['20372'] = [143,177,169] let s:lib.Codec.encoding_table['20375'] = [143,177,170] let s:lib.Codec.encoding_table['20377'] = [143,177,171] let s:lib.Codec.encoding_table['20378'] = [143,177,172] let s:lib.Codec.encoding_table['20382'] = [143,177,173] let s:lib.Codec.encoding_table['20383'] = [143,177,174] let s:lib.Codec.encoding_table['20402'] = [143,177,175] let s:lib.Codec.encoding_table['20407'] = [143,177,176] let s:lib.Codec.encoding_table['20409'] = [143,177,177] let s:lib.Codec.encoding_table['20411'] = [143,177,178] let s:lib.Codec.encoding_table['20412'] = [143,177,179] let s:lib.Codec.encoding_table['20413'] = [143,177,180] let s:lib.Codec.encoding_table['20414'] = [143,177,181] let s:lib.Codec.encoding_table['20416'] = [143,177,182] let s:lib.Codec.encoding_table['20417'] = [143,177,183] let s:lib.Codec.encoding_table['20421'] = [143,177,184] let s:lib.Codec.encoding_table['20422'] = [143,177,185] let s:lib.Codec.encoding_table['20424'] = [143,177,186] let s:lib.Codec.encoding_table['20425'] = [143,177,187] let s:lib.Codec.encoding_table['20427'] = [143,177,188] let s:lib.Codec.encoding_table['20428'] = [143,177,189] let s:lib.Codec.encoding_table['20429'] = [143,177,190] let s:lib.Codec.encoding_table['20431'] = [143,177,191] let s:lib.Codec.encoding_table['20434'] = [143,177,192] let s:lib.Codec.encoding_table['20444'] = [143,177,193] let s:lib.Codec.encoding_table['20448'] = [143,177,194] let s:lib.Codec.encoding_table['20450'] = [143,177,195] let s:lib.Codec.encoding_table['20464'] = [143,177,196] let s:lib.Codec.encoding_table['20466'] = [143,177,197] let s:lib.Codec.encoding_table['20476'] = [143,177,198] let s:lib.Codec.encoding_table['20477'] = [143,177,199] let s:lib.Codec.encoding_table['20479'] = [143,177,200] let s:lib.Codec.encoding_table['20480'] = [143,177,201] let s:lib.Codec.encoding_table['20481'] = [143,177,202] let s:lib.Codec.encoding_table['20484'] = [143,177,203] let s:lib.Codec.encoding_table['20487'] = [143,177,204] let s:lib.Codec.encoding_table['20490'] = [143,177,205] let s:lib.Codec.encoding_table['20492'] = [143,177,206] let s:lib.Codec.encoding_table['20494'] = [143,177,207] let s:lib.Codec.encoding_table['20496'] = [143,177,208] let s:lib.Codec.encoding_table['20499'] = [143,177,209] let s:lib.Codec.encoding_table['20503'] = [143,177,210] let s:lib.Codec.encoding_table['20504'] = [143,177,211] let s:lib.Codec.encoding_table['20507'] = [143,177,212] let s:lib.Codec.encoding_table['20508'] = [143,177,213] let s:lib.Codec.encoding_table['20509'] = [143,177,214] let s:lib.Codec.encoding_table['20510'] = [143,177,215] let s:lib.Codec.encoding_table['20514'] = [143,177,216] let s:lib.Codec.encoding_table['20519'] = [143,177,217] let s:lib.Codec.encoding_table['20526'] = [143,177,218] let s:lib.Codec.encoding_table['20528'] = [143,177,219] let s:lib.Codec.encoding_table['20530'] = [143,177,220] let s:lib.Codec.encoding_table['20531'] = [143,177,221] let s:lib.Codec.encoding_table['20533'] = [143,177,222] let s:lib.Codec.encoding_table['20544'] = [143,177,223] let s:lib.Codec.encoding_table['20545'] = [143,177,224] let s:lib.Codec.encoding_table['20546'] = [143,177,225] let s:lib.Codec.encoding_table['20549'] = [143,177,226] let s:lib.Codec.encoding_table['20550'] = [143,177,227] let s:lib.Codec.encoding_table['20554'] = [143,177,228] let s:lib.Codec.encoding_table['20556'] = [143,177,229] let s:lib.Codec.encoding_table['20558'] = [143,177,230] let s:lib.Codec.encoding_table['20561'] = [143,177,231] let s:lib.Codec.encoding_table['20562'] = [143,177,232] let s:lib.Codec.encoding_table['20563'] = [143,177,233] let s:lib.Codec.encoding_table['20567'] = [143,177,234] let s:lib.Codec.encoding_table['20569'] = [143,177,235] let s:lib.Codec.encoding_table['20575'] = [143,177,236] let s:lib.Codec.encoding_table['20576'] = [143,177,237] let s:lib.Codec.encoding_table['20578'] = [143,177,238] let s:lib.Codec.encoding_table['20579'] = [143,177,239] let s:lib.Codec.encoding_table['20582'] = [143,177,240] let s:lib.Codec.encoding_table['20583'] = [143,177,241] let s:lib.Codec.encoding_table['20586'] = [143,177,242] let s:lib.Codec.encoding_table['20589'] = [143,177,243] let s:lib.Codec.encoding_table['20592'] = [143,177,244] let s:lib.Codec.encoding_table['20593'] = [143,177,245] let s:lib.Codec.encoding_table['20539'] = [143,177,246] let s:lib.Codec.encoding_table['20609'] = [143,177,247] let s:lib.Codec.encoding_table['20611'] = [143,177,248] let s:lib.Codec.encoding_table['20612'] = [143,177,249] let s:lib.Codec.encoding_table['20614'] = [143,177,250] let s:lib.Codec.encoding_table['20618'] = [143,177,251] let s:lib.Codec.encoding_table['20622'] = [143,177,252] let s:lib.Codec.encoding_table['20623'] = [143,177,253] let s:lib.Codec.encoding_table['20624'] = [143,177,254] let s:lib.Codec.encoding_table['20626'] = [143,178,161] let s:lib.Codec.encoding_table['20627'] = [143,178,162] let s:lib.Codec.encoding_table['20628'] = [143,178,163] let s:lib.Codec.encoding_table['20630'] = [143,178,164] let s:lib.Codec.encoding_table['20635'] = [143,178,165] let s:lib.Codec.encoding_table['20636'] = [143,178,166] let s:lib.Codec.encoding_table['20638'] = [143,178,167] let s:lib.Codec.encoding_table['20639'] = [143,178,168] let s:lib.Codec.encoding_table['20640'] = [143,178,169] let s:lib.Codec.encoding_table['20641'] = [143,178,170] let s:lib.Codec.encoding_table['20642'] = [143,178,171] let s:lib.Codec.encoding_table['20650'] = [143,178,172] let s:lib.Codec.encoding_table['20655'] = [143,178,173] let s:lib.Codec.encoding_table['20656'] = [143,178,174] let s:lib.Codec.encoding_table['20665'] = [143,178,175] let s:lib.Codec.encoding_table['20666'] = [143,178,176] let s:lib.Codec.encoding_table['20669'] = [143,178,177] let s:lib.Codec.encoding_table['20672'] = [143,178,178] let s:lib.Codec.encoding_table['20675'] = [143,178,179] let s:lib.Codec.encoding_table['20676'] = [143,178,180] let s:lib.Codec.encoding_table['20679'] = [143,178,181] let s:lib.Codec.encoding_table['20684'] = [143,178,182] let s:lib.Codec.encoding_table['20686'] = [143,178,183] let s:lib.Codec.encoding_table['20688'] = [143,178,184] let s:lib.Codec.encoding_table['20691'] = [143,178,185] let s:lib.Codec.encoding_table['20692'] = [143,178,186] let s:lib.Codec.encoding_table['20696'] = [143,178,187] let s:lib.Codec.encoding_table['20700'] = [143,178,188] let s:lib.Codec.encoding_table['20701'] = [143,178,189] let s:lib.Codec.encoding_table['20703'] = [143,178,190] let s:lib.Codec.encoding_table['20706'] = [143,178,191] let s:lib.Codec.encoding_table['20708'] = [143,178,192] let s:lib.Codec.encoding_table['20710'] = [143,178,193] let s:lib.Codec.encoding_table['20712'] = [143,178,194] let s:lib.Codec.encoding_table['20713'] = [143,178,195] let s:lib.Codec.encoding_table['20719'] = [143,178,196] let s:lib.Codec.encoding_table['20721'] = [143,178,197] let s:lib.Codec.encoding_table['20726'] = [143,178,198] let s:lib.Codec.encoding_table['20730'] = [143,178,199] let s:lib.Codec.encoding_table['20734'] = [143,178,200] let s:lib.Codec.encoding_table['20739'] = [143,178,201] let s:lib.Codec.encoding_table['20742'] = [143,178,202] let s:lib.Codec.encoding_table['20743'] = [143,178,203] let s:lib.Codec.encoding_table['20744'] = [143,178,204] let s:lib.Codec.encoding_table['20747'] = [143,178,205] let s:lib.Codec.encoding_table['20748'] = [143,178,206] let s:lib.Codec.encoding_table['20749'] = [143,178,207] let s:lib.Codec.encoding_table['20750'] = [143,178,208] let s:lib.Codec.encoding_table['20722'] = [143,178,209] let s:lib.Codec.encoding_table['20752'] = [143,178,210] let s:lib.Codec.encoding_table['20759'] = [143,178,211] let s:lib.Codec.encoding_table['20761'] = [143,178,212] let s:lib.Codec.encoding_table['20763'] = [143,178,213] let s:lib.Codec.encoding_table['20764'] = [143,178,214] let s:lib.Codec.encoding_table['20765'] = [143,178,215] let s:lib.Codec.encoding_table['20766'] = [143,178,216] let s:lib.Codec.encoding_table['20771'] = [143,178,217] let s:lib.Codec.encoding_table['20775'] = [143,178,218] let s:lib.Codec.encoding_table['20776'] = [143,178,219] let s:lib.Codec.encoding_table['20780'] = [143,178,220] let s:lib.Codec.encoding_table['20781'] = [143,178,221] let s:lib.Codec.encoding_table['20783'] = [143,178,222] let s:lib.Codec.encoding_table['20785'] = [143,178,223] let s:lib.Codec.encoding_table['20787'] = [143,178,224] let s:lib.Codec.encoding_table['20788'] = [143,178,225] let s:lib.Codec.encoding_table['20789'] = [143,178,226] let s:lib.Codec.encoding_table['20792'] = [143,178,227] let s:lib.Codec.encoding_table['20793'] = [143,178,228] let s:lib.Codec.encoding_table['20802'] = [143,178,229] let s:lib.Codec.encoding_table['20810'] = [143,178,230] let s:lib.Codec.encoding_table['20815'] = [143,178,231] let s:lib.Codec.encoding_table['20819'] = [143,178,232] let s:lib.Codec.encoding_table['20821'] = [143,178,233] let s:lib.Codec.encoding_table['20823'] = [143,178,234] let s:lib.Codec.encoding_table['20824'] = [143,178,235] let s:lib.Codec.encoding_table['20831'] = [143,178,236] let s:lib.Codec.encoding_table['20836'] = [143,178,237] let s:lib.Codec.encoding_table['20838'] = [143,178,238] let s:lib.Codec.encoding_table['20862'] = [143,178,239] let s:lib.Codec.encoding_table['20867'] = [143,178,240] let s:lib.Codec.encoding_table['20868'] = [143,178,241] let s:lib.Codec.encoding_table['20875'] = [143,178,242] let s:lib.Codec.encoding_table['20878'] = [143,178,243] let s:lib.Codec.encoding_table['20888'] = [143,178,244] let s:lib.Codec.encoding_table['20893'] = [143,178,245] let s:lib.Codec.encoding_table['20897'] = [143,178,246] let s:lib.Codec.encoding_table['20899'] = [143,178,247] let s:lib.Codec.encoding_table['20909'] = [143,178,248] let s:lib.Codec.encoding_table['20920'] = [143,178,249] let s:lib.Codec.encoding_table['20922'] = [143,178,250] let s:lib.Codec.encoding_table['20924'] = [143,178,251] let s:lib.Codec.encoding_table['20926'] = [143,178,252] let s:lib.Codec.encoding_table['20927'] = [143,178,253] let s:lib.Codec.encoding_table['20930'] = [143,178,254] let s:lib.Codec.encoding_table['20936'] = [143,179,161] let s:lib.Codec.encoding_table['20943'] = [143,179,162] let s:lib.Codec.encoding_table['20945'] = [143,179,163] let s:lib.Codec.encoding_table['20946'] = [143,179,164] let s:lib.Codec.encoding_table['20947'] = [143,179,165] let s:lib.Codec.encoding_table['20949'] = [143,179,166] let s:lib.Codec.encoding_table['20952'] = [143,179,167] let s:lib.Codec.encoding_table['20958'] = [143,179,168] let s:lib.Codec.encoding_table['20962'] = [143,179,169] let s:lib.Codec.encoding_table['20965'] = [143,179,170] let s:lib.Codec.encoding_table['20974'] = [143,179,171] let s:lib.Codec.encoding_table['20978'] = [143,179,172] let s:lib.Codec.encoding_table['20979'] = [143,179,173] let s:lib.Codec.encoding_table['20980'] = [143,179,174] let s:lib.Codec.encoding_table['20983'] = [143,179,175] let s:lib.Codec.encoding_table['20993'] = [143,179,176] let s:lib.Codec.encoding_table['20994'] = [143,179,177] let s:lib.Codec.encoding_table['20997'] = [143,179,178] let s:lib.Codec.encoding_table['21010'] = [143,179,179] let s:lib.Codec.encoding_table['21011'] = [143,179,180] let s:lib.Codec.encoding_table['21013'] = [143,179,181] let s:lib.Codec.encoding_table['21014'] = [143,179,182] let s:lib.Codec.encoding_table['21016'] = [143,179,183] let s:lib.Codec.encoding_table['21026'] = [143,179,184] let s:lib.Codec.encoding_table['21032'] = [143,179,185] let s:lib.Codec.encoding_table['21041'] = [143,179,186] let s:lib.Codec.encoding_table['21042'] = [143,179,187] let s:lib.Codec.encoding_table['21045'] = [143,179,188] let s:lib.Codec.encoding_table['21052'] = [143,179,189] let s:lib.Codec.encoding_table['21061'] = [143,179,190] let s:lib.Codec.encoding_table['21065'] = [143,179,191] let s:lib.Codec.encoding_table['21077'] = [143,179,192] let s:lib.Codec.encoding_table['21079'] = [143,179,193] let s:lib.Codec.encoding_table['21080'] = [143,179,194] let s:lib.Codec.encoding_table['21082'] = [143,179,195] let s:lib.Codec.encoding_table['21084'] = [143,179,196] let s:lib.Codec.encoding_table['21087'] = [143,179,197] let s:lib.Codec.encoding_table['21088'] = [143,179,198] let s:lib.Codec.encoding_table['21089'] = [143,179,199] let s:lib.Codec.encoding_table['21094'] = [143,179,200] let s:lib.Codec.encoding_table['21102'] = [143,179,201] let s:lib.Codec.encoding_table['21111'] = [143,179,202] let s:lib.Codec.encoding_table['21112'] = [143,179,203] let s:lib.Codec.encoding_table['21113'] = [143,179,204] let s:lib.Codec.encoding_table['21120'] = [143,179,205] let s:lib.Codec.encoding_table['21122'] = [143,179,206] let s:lib.Codec.encoding_table['21125'] = [143,179,207] let s:lib.Codec.encoding_table['21130'] = [143,179,208] let s:lib.Codec.encoding_table['21132'] = [143,179,209] let s:lib.Codec.encoding_table['21139'] = [143,179,210] let s:lib.Codec.encoding_table['21141'] = [143,179,211] let s:lib.Codec.encoding_table['21142'] = [143,179,212] let s:lib.Codec.encoding_table['21143'] = [143,179,213] let s:lib.Codec.encoding_table['21144'] = [143,179,214] let s:lib.Codec.encoding_table['21146'] = [143,179,215] let s:lib.Codec.encoding_table['21148'] = [143,179,216] let s:lib.Codec.encoding_table['21156'] = [143,179,217] let s:lib.Codec.encoding_table['21157'] = [143,179,218] let s:lib.Codec.encoding_table['21158'] = [143,179,219] let s:lib.Codec.encoding_table['21159'] = [143,179,220] let s:lib.Codec.encoding_table['21167'] = [143,179,221] let s:lib.Codec.encoding_table['21168'] = [143,179,222] let s:lib.Codec.encoding_table['21174'] = [143,179,223] let s:lib.Codec.encoding_table['21175'] = [143,179,224] let s:lib.Codec.encoding_table['21176'] = [143,179,225] let s:lib.Codec.encoding_table['21178'] = [143,179,226] let s:lib.Codec.encoding_table['21179'] = [143,179,227] let s:lib.Codec.encoding_table['21181'] = [143,179,228] let s:lib.Codec.encoding_table['21184'] = [143,179,229] let s:lib.Codec.encoding_table['21188'] = [143,179,230] let s:lib.Codec.encoding_table['21190'] = [143,179,231] let s:lib.Codec.encoding_table['21192'] = [143,179,232] let s:lib.Codec.encoding_table['21196'] = [143,179,233] let s:lib.Codec.encoding_table['21199'] = [143,179,234] let s:lib.Codec.encoding_table['21201'] = [143,179,235] let s:lib.Codec.encoding_table['21204'] = [143,179,236] let s:lib.Codec.encoding_table['21206'] = [143,179,237] let s:lib.Codec.encoding_table['21211'] = [143,179,238] let s:lib.Codec.encoding_table['21212'] = [143,179,239] let s:lib.Codec.encoding_table['21217'] = [143,179,240] let s:lib.Codec.encoding_table['21221'] = [143,179,241] let s:lib.Codec.encoding_table['21224'] = [143,179,242] let s:lib.Codec.encoding_table['21225'] = [143,179,243] let s:lib.Codec.encoding_table['21226'] = [143,179,244] let s:lib.Codec.encoding_table['21228'] = [143,179,245] let s:lib.Codec.encoding_table['21232'] = [143,179,246] let s:lib.Codec.encoding_table['21233'] = [143,179,247] let s:lib.Codec.encoding_table['21236'] = [143,179,248] let s:lib.Codec.encoding_table['21238'] = [143,179,249] let s:lib.Codec.encoding_table['21239'] = [143,179,250] let s:lib.Codec.encoding_table['21248'] = [143,179,251] let s:lib.Codec.encoding_table['21251'] = [143,179,252] let s:lib.Codec.encoding_table['21258'] = [143,179,253] let s:lib.Codec.encoding_table['21259'] = [143,179,254] let s:lib.Codec.encoding_table['21260'] = [143,180,161] let s:lib.Codec.encoding_table['21265'] = [143,180,162] let s:lib.Codec.encoding_table['21267'] = [143,180,163] let s:lib.Codec.encoding_table['21272'] = [143,180,164] let s:lib.Codec.encoding_table['21275'] = [143,180,165] let s:lib.Codec.encoding_table['21276'] = [143,180,166] let s:lib.Codec.encoding_table['21278'] = [143,180,167] let s:lib.Codec.encoding_table['21279'] = [143,180,168] let s:lib.Codec.encoding_table['21285'] = [143,180,169] let s:lib.Codec.encoding_table['21287'] = [143,180,170] let s:lib.Codec.encoding_table['21288'] = [143,180,171] let s:lib.Codec.encoding_table['21289'] = [143,180,172] let s:lib.Codec.encoding_table['21291'] = [143,180,173] let s:lib.Codec.encoding_table['21292'] = [143,180,174] let s:lib.Codec.encoding_table['21293'] = [143,180,175] let s:lib.Codec.encoding_table['21296'] = [143,180,176] let s:lib.Codec.encoding_table['21298'] = [143,180,177] let s:lib.Codec.encoding_table['21301'] = [143,180,178] let s:lib.Codec.encoding_table['21308'] = [143,180,179] let s:lib.Codec.encoding_table['21309'] = [143,180,180] let s:lib.Codec.encoding_table['21310'] = [143,180,181] let s:lib.Codec.encoding_table['21314'] = [143,180,182] let s:lib.Codec.encoding_table['21324'] = [143,180,183] let s:lib.Codec.encoding_table['21323'] = [143,180,184] let s:lib.Codec.encoding_table['21337'] = [143,180,185] let s:lib.Codec.encoding_table['21339'] = [143,180,186] let s:lib.Codec.encoding_table['21345'] = [143,180,187] let s:lib.Codec.encoding_table['21347'] = [143,180,188] let s:lib.Codec.encoding_table['21349'] = [143,180,189] let s:lib.Codec.encoding_table['21356'] = [143,180,190] let s:lib.Codec.encoding_table['21357'] = [143,180,191] let s:lib.Codec.encoding_table['21362'] = [143,180,192] let s:lib.Codec.encoding_table['21369'] = [143,180,193] let s:lib.Codec.encoding_table['21374'] = [143,180,194] let s:lib.Codec.encoding_table['21379'] = [143,180,195] let s:lib.Codec.encoding_table['21383'] = [143,180,196] let s:lib.Codec.encoding_table['21384'] = [143,180,197] let s:lib.Codec.encoding_table['21390'] = [143,180,198] let s:lib.Codec.encoding_table['21395'] = [143,180,199] let s:lib.Codec.encoding_table['21396'] = [143,180,200] let s:lib.Codec.encoding_table['21401'] = [143,180,201] let s:lib.Codec.encoding_table['21405'] = [143,180,202] let s:lib.Codec.encoding_table['21409'] = [143,180,203] let s:lib.Codec.encoding_table['21412'] = [143,180,204] let s:lib.Codec.encoding_table['21418'] = [143,180,205] let s:lib.Codec.encoding_table['21419'] = [143,180,206] let s:lib.Codec.encoding_table['21423'] = [143,180,207] let s:lib.Codec.encoding_table['21426'] = [143,180,208] let s:lib.Codec.encoding_table['21428'] = [143,180,209] let s:lib.Codec.encoding_table['21429'] = [143,180,210] let s:lib.Codec.encoding_table['21431'] = [143,180,211] let s:lib.Codec.encoding_table['21432'] = [143,180,212] let s:lib.Codec.encoding_table['21434'] = [143,180,213] let s:lib.Codec.encoding_table['21437'] = [143,180,214] let s:lib.Codec.encoding_table['21440'] = [143,180,215] let s:lib.Codec.encoding_table['21445'] = [143,180,216] let s:lib.Codec.encoding_table['21455'] = [143,180,217] let s:lib.Codec.encoding_table['21458'] = [143,180,218] let s:lib.Codec.encoding_table['21459'] = [143,180,219] let s:lib.Codec.encoding_table['21461'] = [143,180,220] let s:lib.Codec.encoding_table['21466'] = [143,180,221] let s:lib.Codec.encoding_table['21469'] = [143,180,222] let s:lib.Codec.encoding_table['21470'] = [143,180,223] let s:lib.Codec.encoding_table['21472'] = [143,180,224] let s:lib.Codec.encoding_table['21478'] = [143,180,225] let s:lib.Codec.encoding_table['21479'] = [143,180,226] let s:lib.Codec.encoding_table['21493'] = [143,180,227] let s:lib.Codec.encoding_table['21506'] = [143,180,228] let s:lib.Codec.encoding_table['21523'] = [143,180,229] let s:lib.Codec.encoding_table['21530'] = [143,180,230] let s:lib.Codec.encoding_table['21537'] = [143,180,231] let s:lib.Codec.encoding_table['21543'] = [143,180,232] let s:lib.Codec.encoding_table['21544'] = [143,180,233] let s:lib.Codec.encoding_table['21546'] = [143,180,234] let s:lib.Codec.encoding_table['21551'] = [143,180,235] let s:lib.Codec.encoding_table['21553'] = [143,180,236] let s:lib.Codec.encoding_table['21556'] = [143,180,237] let s:lib.Codec.encoding_table['21557'] = [143,180,238] let s:lib.Codec.encoding_table['21571'] = [143,180,239] let s:lib.Codec.encoding_table['21572'] = [143,180,240] let s:lib.Codec.encoding_table['21575'] = [143,180,241] let s:lib.Codec.encoding_table['21581'] = [143,180,242] let s:lib.Codec.encoding_table['21583'] = [143,180,243] let s:lib.Codec.encoding_table['21598'] = [143,180,244] let s:lib.Codec.encoding_table['21602'] = [143,180,245] let s:lib.Codec.encoding_table['21604'] = [143,180,246] let s:lib.Codec.encoding_table['21606'] = [143,180,247] let s:lib.Codec.encoding_table['21607'] = [143,180,248] let s:lib.Codec.encoding_table['21609'] = [143,180,249] let s:lib.Codec.encoding_table['21611'] = [143,180,250] let s:lib.Codec.encoding_table['21613'] = [143,180,251] let s:lib.Codec.encoding_table['21614'] = [143,180,252] let s:lib.Codec.encoding_table['21620'] = [143,180,253] let s:lib.Codec.encoding_table['21631'] = [143,180,254] let s:lib.Codec.encoding_table['21633'] = [143,181,161] let s:lib.Codec.encoding_table['21635'] = [143,181,162] let s:lib.Codec.encoding_table['21637'] = [143,181,163] let s:lib.Codec.encoding_table['21640'] = [143,181,164] let s:lib.Codec.encoding_table['21641'] = [143,181,165] let s:lib.Codec.encoding_table['21645'] = [143,181,166] let s:lib.Codec.encoding_table['21649'] = [143,181,167] let s:lib.Codec.encoding_table['21653'] = [143,181,168] let s:lib.Codec.encoding_table['21654'] = [143,181,169] let s:lib.Codec.encoding_table['21660'] = [143,181,170] let s:lib.Codec.encoding_table['21663'] = [143,181,171] let s:lib.Codec.encoding_table['21665'] = [143,181,172] let s:lib.Codec.encoding_table['21670'] = [143,181,173] let s:lib.Codec.encoding_table['21671'] = [143,181,174] let s:lib.Codec.encoding_table['21673'] = [143,181,175] let s:lib.Codec.encoding_table['21674'] = [143,181,176] let s:lib.Codec.encoding_table['21677'] = [143,181,177] let s:lib.Codec.encoding_table['21678'] = [143,181,178] let s:lib.Codec.encoding_table['21681'] = [143,181,179] let s:lib.Codec.encoding_table['21687'] = [143,181,180] let s:lib.Codec.encoding_table['21689'] = [143,181,181] let s:lib.Codec.encoding_table['21690'] = [143,181,182] let s:lib.Codec.encoding_table['21691'] = [143,181,183] let s:lib.Codec.encoding_table['21695'] = [143,181,184] let s:lib.Codec.encoding_table['21702'] = [143,181,185] let s:lib.Codec.encoding_table['21706'] = [143,181,186] let s:lib.Codec.encoding_table['21709'] = [143,181,187] let s:lib.Codec.encoding_table['21710'] = [143,181,188] let s:lib.Codec.encoding_table['21728'] = [143,181,189] let s:lib.Codec.encoding_table['21738'] = [143,181,190] let s:lib.Codec.encoding_table['21740'] = [143,181,191] let s:lib.Codec.encoding_table['21743'] = [143,181,192] let s:lib.Codec.encoding_table['21750'] = [143,181,193] let s:lib.Codec.encoding_table['21756'] = [143,181,194] let s:lib.Codec.encoding_table['21758'] = [143,181,195] let s:lib.Codec.encoding_table['21759'] = [143,181,196] let s:lib.Codec.encoding_table['21760'] = [143,181,197] let s:lib.Codec.encoding_table['21761'] = [143,181,198] let s:lib.Codec.encoding_table['21765'] = [143,181,199] let s:lib.Codec.encoding_table['21768'] = [143,181,200] let s:lib.Codec.encoding_table['21769'] = [143,181,201] let s:lib.Codec.encoding_table['21772'] = [143,181,202] let s:lib.Codec.encoding_table['21773'] = [143,181,203] let s:lib.Codec.encoding_table['21774'] = [143,181,204] let s:lib.Codec.encoding_table['21781'] = [143,181,205] let s:lib.Codec.encoding_table['21802'] = [143,181,206] let s:lib.Codec.encoding_table['21803'] = [143,181,207] let s:lib.Codec.encoding_table['21810'] = [143,181,208] let s:lib.Codec.encoding_table['21813'] = [143,181,209] let s:lib.Codec.encoding_table['21814'] = [143,181,210] let s:lib.Codec.encoding_table['21819'] = [143,181,211] let s:lib.Codec.encoding_table['21820'] = [143,181,212] let s:lib.Codec.encoding_table['21821'] = [143,181,213] let s:lib.Codec.encoding_table['21825'] = [143,181,214] let s:lib.Codec.encoding_table['21831'] = [143,181,215] let s:lib.Codec.encoding_table['21833'] = [143,181,216] let s:lib.Codec.encoding_table['21834'] = [143,181,217] let s:lib.Codec.encoding_table['21837'] = [143,181,218] let s:lib.Codec.encoding_table['21840'] = [143,181,219] let s:lib.Codec.encoding_table['21841'] = [143,181,220] let s:lib.Codec.encoding_table['21848'] = [143,181,221] let s:lib.Codec.encoding_table['21850'] = [143,181,222] let s:lib.Codec.encoding_table['21851'] = [143,181,223] let s:lib.Codec.encoding_table['21854'] = [143,181,224] let s:lib.Codec.encoding_table['21856'] = [143,181,225] let s:lib.Codec.encoding_table['21857'] = [143,181,226] let s:lib.Codec.encoding_table['21860'] = [143,181,227] let s:lib.Codec.encoding_table['21862'] = [143,181,228] let s:lib.Codec.encoding_table['21887'] = [143,181,229] let s:lib.Codec.encoding_table['21889'] = [143,181,230] let s:lib.Codec.encoding_table['21890'] = [143,181,231] let s:lib.Codec.encoding_table['21894'] = [143,181,232] let s:lib.Codec.encoding_table['21896'] = [143,181,233] let s:lib.Codec.encoding_table['21902'] = [143,181,234] let s:lib.Codec.encoding_table['21903'] = [143,181,235] let s:lib.Codec.encoding_table['21905'] = [143,181,236] let s:lib.Codec.encoding_table['21906'] = [143,181,237] let s:lib.Codec.encoding_table['21907'] = [143,181,238] let s:lib.Codec.encoding_table['21908'] = [143,181,239] let s:lib.Codec.encoding_table['21911'] = [143,181,240] let s:lib.Codec.encoding_table['21923'] = [143,181,241] let s:lib.Codec.encoding_table['21924'] = [143,181,242] let s:lib.Codec.encoding_table['21933'] = [143,181,243] let s:lib.Codec.encoding_table['21938'] = [143,181,244] let s:lib.Codec.encoding_table['21951'] = [143,181,245] let s:lib.Codec.encoding_table['21953'] = [143,181,246] let s:lib.Codec.encoding_table['21955'] = [143,181,247] let s:lib.Codec.encoding_table['21958'] = [143,181,248] let s:lib.Codec.encoding_table['21961'] = [143,181,249] let s:lib.Codec.encoding_table['21963'] = [143,181,250] let s:lib.Codec.encoding_table['21964'] = [143,181,251] let s:lib.Codec.encoding_table['21966'] = [143,181,252] let s:lib.Codec.encoding_table['21969'] = [143,181,253] let s:lib.Codec.encoding_table['21970'] = [143,181,254] let s:lib.Codec.encoding_table['21971'] = [143,182,161] let s:lib.Codec.encoding_table['21975'] = [143,182,162] let s:lib.Codec.encoding_table['21976'] = [143,182,163] let s:lib.Codec.encoding_table['21979'] = [143,182,164] let s:lib.Codec.encoding_table['21982'] = [143,182,165] let s:lib.Codec.encoding_table['21986'] = [143,182,166] let s:lib.Codec.encoding_table['21993'] = [143,182,167] let s:lib.Codec.encoding_table['22006'] = [143,182,168] let s:lib.Codec.encoding_table['22015'] = [143,182,169] let s:lib.Codec.encoding_table['22021'] = [143,182,170] let s:lib.Codec.encoding_table['22024'] = [143,182,171] let s:lib.Codec.encoding_table['22026'] = [143,182,172] let s:lib.Codec.encoding_table['22029'] = [143,182,173] let s:lib.Codec.encoding_table['22030'] = [143,182,174] let s:lib.Codec.encoding_table['22031'] = [143,182,175] let s:lib.Codec.encoding_table['22032'] = [143,182,176] let s:lib.Codec.encoding_table['22033'] = [143,182,177] let s:lib.Codec.encoding_table['22034'] = [143,182,178] let s:lib.Codec.encoding_table['22041'] = [143,182,179] let s:lib.Codec.encoding_table['22060'] = [143,182,180] let s:lib.Codec.encoding_table['22064'] = [143,182,181] let s:lib.Codec.encoding_table['22067'] = [143,182,182] let s:lib.Codec.encoding_table['22069'] = [143,182,183] let s:lib.Codec.encoding_table['22071'] = [143,182,184] let s:lib.Codec.encoding_table['22073'] = [143,182,185] let s:lib.Codec.encoding_table['22075'] = [143,182,186] let s:lib.Codec.encoding_table['22076'] = [143,182,187] let s:lib.Codec.encoding_table['22077'] = [143,182,188] let s:lib.Codec.encoding_table['22079'] = [143,182,189] let s:lib.Codec.encoding_table['22080'] = [143,182,190] let s:lib.Codec.encoding_table['22081'] = [143,182,191] let s:lib.Codec.encoding_table['22083'] = [143,182,192] let s:lib.Codec.encoding_table['22084'] = [143,182,193] let s:lib.Codec.encoding_table['22086'] = [143,182,194] let s:lib.Codec.encoding_table['22089'] = [143,182,195] let s:lib.Codec.encoding_table['22091'] = [143,182,196] let s:lib.Codec.encoding_table['22093'] = [143,182,197] let s:lib.Codec.encoding_table['22095'] = [143,182,198] let s:lib.Codec.encoding_table['22100'] = [143,182,199] let s:lib.Codec.encoding_table['22110'] = [143,182,200] let s:lib.Codec.encoding_table['22112'] = [143,182,201] let s:lib.Codec.encoding_table['22113'] = [143,182,202] let s:lib.Codec.encoding_table['22114'] = [143,182,203] let s:lib.Codec.encoding_table['22115'] = [143,182,204] let s:lib.Codec.encoding_table['22118'] = [143,182,205] let s:lib.Codec.encoding_table['22121'] = [143,182,206] let s:lib.Codec.encoding_table['22125'] = [143,182,207] let s:lib.Codec.encoding_table['22127'] = [143,182,208] let s:lib.Codec.encoding_table['22129'] = [143,182,209] let s:lib.Codec.encoding_table['22130'] = [143,182,210] let s:lib.Codec.encoding_table['22133'] = [143,182,211] let s:lib.Codec.encoding_table['22148'] = [143,182,212] let s:lib.Codec.encoding_table['22149'] = [143,182,213] let s:lib.Codec.encoding_table['22152'] = [143,182,214] let s:lib.Codec.encoding_table['22155'] = [143,182,215] let s:lib.Codec.encoding_table['22156'] = [143,182,216] let s:lib.Codec.encoding_table['22165'] = [143,182,217] let s:lib.Codec.encoding_table['22169'] = [143,182,218] let s:lib.Codec.encoding_table['22170'] = [143,182,219] let s:lib.Codec.encoding_table['22173'] = [143,182,220] let s:lib.Codec.encoding_table['22174'] = [143,182,221] let s:lib.Codec.encoding_table['22175'] = [143,182,222] let s:lib.Codec.encoding_table['22182'] = [143,182,223] let s:lib.Codec.encoding_table['22183'] = [143,182,224] let s:lib.Codec.encoding_table['22184'] = [143,182,225] let s:lib.Codec.encoding_table['22185'] = [143,182,226] let s:lib.Codec.encoding_table['22187'] = [143,182,227] let s:lib.Codec.encoding_table['22188'] = [143,182,228] let s:lib.Codec.encoding_table['22189'] = [143,182,229] let s:lib.Codec.encoding_table['22193'] = [143,182,230] let s:lib.Codec.encoding_table['22195'] = [143,182,231] let s:lib.Codec.encoding_table['22199'] = [143,182,232] let s:lib.Codec.encoding_table['22206'] = [143,182,233] let s:lib.Codec.encoding_table['22213'] = [143,182,234] let s:lib.Codec.encoding_table['22217'] = [143,182,235] let s:lib.Codec.encoding_table['22218'] = [143,182,236] let s:lib.Codec.encoding_table['22219'] = [143,182,237] let s:lib.Codec.encoding_table['22223'] = [143,182,238] let s:lib.Codec.encoding_table['22224'] = [143,182,239] let s:lib.Codec.encoding_table['22220'] = [143,182,240] let s:lib.Codec.encoding_table['22221'] = [143,182,241] let s:lib.Codec.encoding_table['22233'] = [143,182,242] let s:lib.Codec.encoding_table['22236'] = [143,182,243] let s:lib.Codec.encoding_table['22237'] = [143,182,244] let s:lib.Codec.encoding_table['22239'] = [143,182,245] let s:lib.Codec.encoding_table['22241'] = [143,182,246] let s:lib.Codec.encoding_table['22244'] = [143,182,247] let s:lib.Codec.encoding_table['22245'] = [143,182,248] let s:lib.Codec.encoding_table['22246'] = [143,182,249] let s:lib.Codec.encoding_table['22247'] = [143,182,250] let s:lib.Codec.encoding_table['22248'] = [143,182,251] let s:lib.Codec.encoding_table['22257'] = [143,182,252] let s:lib.Codec.encoding_table['22251'] = [143,182,253] let s:lib.Codec.encoding_table['22253'] = [143,182,254] let s:lib.Codec.encoding_table['22262'] = [143,183,161] let s:lib.Codec.encoding_table['22263'] = [143,183,162] let s:lib.Codec.encoding_table['22273'] = [143,183,163] let s:lib.Codec.encoding_table['22274'] = [143,183,164] let s:lib.Codec.encoding_table['22279'] = [143,183,165] let s:lib.Codec.encoding_table['22282'] = [143,183,166] let s:lib.Codec.encoding_table['22284'] = [143,183,167] let s:lib.Codec.encoding_table['22289'] = [143,183,168] let s:lib.Codec.encoding_table['22293'] = [143,183,169] let s:lib.Codec.encoding_table['22298'] = [143,183,170] let s:lib.Codec.encoding_table['22299'] = [143,183,171] let s:lib.Codec.encoding_table['22301'] = [143,183,172] let s:lib.Codec.encoding_table['22304'] = [143,183,173] let s:lib.Codec.encoding_table['22306'] = [143,183,174] let s:lib.Codec.encoding_table['22307'] = [143,183,175] let s:lib.Codec.encoding_table['22308'] = [143,183,176] let s:lib.Codec.encoding_table['22309'] = [143,183,177] let s:lib.Codec.encoding_table['22313'] = [143,183,178] let s:lib.Codec.encoding_table['22314'] = [143,183,179] let s:lib.Codec.encoding_table['22316'] = [143,183,180] let s:lib.Codec.encoding_table['22318'] = [143,183,181] let s:lib.Codec.encoding_table['22319'] = [143,183,182] let s:lib.Codec.encoding_table['22323'] = [143,183,183] let s:lib.Codec.encoding_table['22324'] = [143,183,184] let s:lib.Codec.encoding_table['22333'] = [143,183,185] let s:lib.Codec.encoding_table['22334'] = [143,183,186] let s:lib.Codec.encoding_table['22335'] = [143,183,187] let s:lib.Codec.encoding_table['22341'] = [143,183,188] let s:lib.Codec.encoding_table['22342'] = [143,183,189] let s:lib.Codec.encoding_table['22348'] = [143,183,190] let s:lib.Codec.encoding_table['22349'] = [143,183,191] let s:lib.Codec.encoding_table['22354'] = [143,183,192] let s:lib.Codec.encoding_table['22370'] = [143,183,193] let s:lib.Codec.encoding_table['22373'] = [143,183,194] let s:lib.Codec.encoding_table['22375'] = [143,183,195] let s:lib.Codec.encoding_table['22376'] = [143,183,196] let s:lib.Codec.encoding_table['22379'] = [143,183,197] let s:lib.Codec.encoding_table['22381'] = [143,183,198] let s:lib.Codec.encoding_table['22382'] = [143,183,199] let s:lib.Codec.encoding_table['22383'] = [143,183,200] let s:lib.Codec.encoding_table['22384'] = [143,183,201] let s:lib.Codec.encoding_table['22385'] = [143,183,202] let s:lib.Codec.encoding_table['22387'] = [143,183,203] let s:lib.Codec.encoding_table['22388'] = [143,183,204] let s:lib.Codec.encoding_table['22389'] = [143,183,205] let s:lib.Codec.encoding_table['22391'] = [143,183,206] let s:lib.Codec.encoding_table['22393'] = [143,183,207] let s:lib.Codec.encoding_table['22394'] = [143,183,208] let s:lib.Codec.encoding_table['22395'] = [143,183,209] let s:lib.Codec.encoding_table['22396'] = [143,183,210] let s:lib.Codec.encoding_table['22398'] = [143,183,211] let s:lib.Codec.encoding_table['22401'] = [143,183,212] let s:lib.Codec.encoding_table['22403'] = [143,183,213] let s:lib.Codec.encoding_table['22412'] = [143,183,214] let s:lib.Codec.encoding_table['22420'] = [143,183,215] let s:lib.Codec.encoding_table['22423'] = [143,183,216] let s:lib.Codec.encoding_table['22425'] = [143,183,217] let s:lib.Codec.encoding_table['22426'] = [143,183,218] let s:lib.Codec.encoding_table['22428'] = [143,183,219] let s:lib.Codec.encoding_table['22429'] = [143,183,220] let s:lib.Codec.encoding_table['22430'] = [143,183,221] let s:lib.Codec.encoding_table['22431'] = [143,183,222] let s:lib.Codec.encoding_table['22433'] = [143,183,223] let s:lib.Codec.encoding_table['22421'] = [143,183,224] let s:lib.Codec.encoding_table['22439'] = [143,183,225] let s:lib.Codec.encoding_table['22440'] = [143,183,226] let s:lib.Codec.encoding_table['22441'] = [143,183,227] let s:lib.Codec.encoding_table['22444'] = [143,183,228] let s:lib.Codec.encoding_table['22456'] = [143,183,229] let s:lib.Codec.encoding_table['22461'] = [143,183,230] let s:lib.Codec.encoding_table['22471'] = [143,183,231] let s:lib.Codec.encoding_table['22472'] = [143,183,232] let s:lib.Codec.encoding_table['22476'] = [143,183,233] let s:lib.Codec.encoding_table['22479'] = [143,183,234] let s:lib.Codec.encoding_table['22485'] = [143,183,235] let s:lib.Codec.encoding_table['22493'] = [143,183,236] let s:lib.Codec.encoding_table['22494'] = [143,183,237] let s:lib.Codec.encoding_table['22500'] = [143,183,238] let s:lib.Codec.encoding_table['22502'] = [143,183,239] let s:lib.Codec.encoding_table['22503'] = [143,183,240] let s:lib.Codec.encoding_table['22505'] = [143,183,241] let s:lib.Codec.encoding_table['22509'] = [143,183,242] let s:lib.Codec.encoding_table['22512'] = [143,183,243] let s:lib.Codec.encoding_table['22517'] = [143,183,244] let s:lib.Codec.encoding_table['22518'] = [143,183,245] let s:lib.Codec.encoding_table['22520'] = [143,183,246] let s:lib.Codec.encoding_table['22525'] = [143,183,247] let s:lib.Codec.encoding_table['22526'] = [143,183,248] let s:lib.Codec.encoding_table['22527'] = [143,183,249] let s:lib.Codec.encoding_table['22531'] = [143,183,250] let s:lib.Codec.encoding_table['22532'] = [143,183,251] let s:lib.Codec.encoding_table['22536'] = [143,183,252] let s:lib.Codec.encoding_table['22537'] = [143,183,253] let s:lib.Codec.encoding_table['22497'] = [143,183,254] let s:lib.Codec.encoding_table['22540'] = [143,184,161] let s:lib.Codec.encoding_table['22541'] = [143,184,162] let s:lib.Codec.encoding_table['22555'] = [143,184,163] let s:lib.Codec.encoding_table['22558'] = [143,184,164] let s:lib.Codec.encoding_table['22559'] = [143,184,165] let s:lib.Codec.encoding_table['22560'] = [143,184,166] let s:lib.Codec.encoding_table['22566'] = [143,184,167] let s:lib.Codec.encoding_table['22567'] = [143,184,168] let s:lib.Codec.encoding_table['22573'] = [143,184,169] let s:lib.Codec.encoding_table['22578'] = [143,184,170] let s:lib.Codec.encoding_table['22585'] = [143,184,171] let s:lib.Codec.encoding_table['22591'] = [143,184,172] let s:lib.Codec.encoding_table['22601'] = [143,184,173] let s:lib.Codec.encoding_table['22604'] = [143,184,174] let s:lib.Codec.encoding_table['22605'] = [143,184,175] let s:lib.Codec.encoding_table['22607'] = [143,184,176] let s:lib.Codec.encoding_table['22608'] = [143,184,177] let s:lib.Codec.encoding_table['22613'] = [143,184,178] let s:lib.Codec.encoding_table['22623'] = [143,184,179] let s:lib.Codec.encoding_table['22625'] = [143,184,180] let s:lib.Codec.encoding_table['22628'] = [143,184,181] let s:lib.Codec.encoding_table['22631'] = [143,184,182] let s:lib.Codec.encoding_table['22632'] = [143,184,183] let s:lib.Codec.encoding_table['22648'] = [143,184,184] let s:lib.Codec.encoding_table['22652'] = [143,184,185] let s:lib.Codec.encoding_table['22655'] = [143,184,186] let s:lib.Codec.encoding_table['22656'] = [143,184,187] let s:lib.Codec.encoding_table['22657'] = [143,184,188] let s:lib.Codec.encoding_table['22663'] = [143,184,189] let s:lib.Codec.encoding_table['22664'] = [143,184,190] let s:lib.Codec.encoding_table['22665'] = [143,184,191] let s:lib.Codec.encoding_table['22666'] = [143,184,192] let s:lib.Codec.encoding_table['22668'] = [143,184,193] let s:lib.Codec.encoding_table['22669'] = [143,184,194] let s:lib.Codec.encoding_table['22671'] = [143,184,195] let s:lib.Codec.encoding_table['22672'] = [143,184,196] let s:lib.Codec.encoding_table['22676'] = [143,184,197] let s:lib.Codec.encoding_table['22678'] = [143,184,198] let s:lib.Codec.encoding_table['22685'] = [143,184,199] let s:lib.Codec.encoding_table['22688'] = [143,184,200] let s:lib.Codec.encoding_table['22689'] = [143,184,201] let s:lib.Codec.encoding_table['22690'] = [143,184,202] let s:lib.Codec.encoding_table['22694'] = [143,184,203] let s:lib.Codec.encoding_table['22697'] = [143,184,204] let s:lib.Codec.encoding_table['22705'] = [143,184,205] let s:lib.Codec.encoding_table['22706'] = [143,184,206] let s:lib.Codec.encoding_table['22724'] = [143,184,207] let s:lib.Codec.encoding_table['22716'] = [143,184,208] let s:lib.Codec.encoding_table['22722'] = [143,184,209] let s:lib.Codec.encoding_table['22728'] = [143,184,210] let s:lib.Codec.encoding_table['22733'] = [143,184,211] let s:lib.Codec.encoding_table['22734'] = [143,184,212] let s:lib.Codec.encoding_table['22736'] = [143,184,213] let s:lib.Codec.encoding_table['22738'] = [143,184,214] let s:lib.Codec.encoding_table['22740'] = [143,184,215] let s:lib.Codec.encoding_table['22742'] = [143,184,216] let s:lib.Codec.encoding_table['22746'] = [143,184,217] let s:lib.Codec.encoding_table['22749'] = [143,184,218] let s:lib.Codec.encoding_table['22753'] = [143,184,219] let s:lib.Codec.encoding_table['22754'] = [143,184,220] let s:lib.Codec.encoding_table['22761'] = [143,184,221] let s:lib.Codec.encoding_table['22771'] = [143,184,222] let s:lib.Codec.encoding_table['22789'] = [143,184,223] let s:lib.Codec.encoding_table['22790'] = [143,184,224] let s:lib.Codec.encoding_table['22795'] = [143,184,225] let s:lib.Codec.encoding_table['22796'] = [143,184,226] let s:lib.Codec.encoding_table['22802'] = [143,184,227] let s:lib.Codec.encoding_table['22803'] = [143,184,228] let s:lib.Codec.encoding_table['22804'] = [143,184,229] let s:lib.Codec.encoding_table['34369'] = [143,184,230] let s:lib.Codec.encoding_table['22813'] = [143,184,231] let s:lib.Codec.encoding_table['22817'] = [143,184,232] let s:lib.Codec.encoding_table['22819'] = [143,184,233] let s:lib.Codec.encoding_table['22820'] = [143,184,234] let s:lib.Codec.encoding_table['22824'] = [143,184,235] let s:lib.Codec.encoding_table['22831'] = [143,184,236] let s:lib.Codec.encoding_table['22832'] = [143,184,237] let s:lib.Codec.encoding_table['22835'] = [143,184,238] let s:lib.Codec.encoding_table['22837'] = [143,184,239] let s:lib.Codec.encoding_table['22838'] = [143,184,240] let s:lib.Codec.encoding_table['22847'] = [143,184,241] let s:lib.Codec.encoding_table['22851'] = [143,184,242] let s:lib.Codec.encoding_table['22854'] = [143,184,243] let s:lib.Codec.encoding_table['22866'] = [143,184,244] let s:lib.Codec.encoding_table['22867'] = [143,184,245] let s:lib.Codec.encoding_table['22873'] = [143,184,246] let s:lib.Codec.encoding_table['22875'] = [143,184,247] let s:lib.Codec.encoding_table['22877'] = [143,184,248] let s:lib.Codec.encoding_table['22878'] = [143,184,249] let s:lib.Codec.encoding_table['22879'] = [143,184,250] let s:lib.Codec.encoding_table['22881'] = [143,184,251] let s:lib.Codec.encoding_table['22883'] = [143,184,252] let s:lib.Codec.encoding_table['22891'] = [143,184,253] let s:lib.Codec.encoding_table['22893'] = [143,184,254] let s:lib.Codec.encoding_table['22895'] = [143,185,161] let s:lib.Codec.encoding_table['22898'] = [143,185,162] let s:lib.Codec.encoding_table['22901'] = [143,185,163] let s:lib.Codec.encoding_table['22902'] = [143,185,164] let s:lib.Codec.encoding_table['22905'] = [143,185,165] let s:lib.Codec.encoding_table['22907'] = [143,185,166] let s:lib.Codec.encoding_table['22908'] = [143,185,167] let s:lib.Codec.encoding_table['22923'] = [143,185,168] let s:lib.Codec.encoding_table['22924'] = [143,185,169] let s:lib.Codec.encoding_table['22926'] = [143,185,170] let s:lib.Codec.encoding_table['22930'] = [143,185,171] let s:lib.Codec.encoding_table['22933'] = [143,185,172] let s:lib.Codec.encoding_table['22935'] = [143,185,173] let s:lib.Codec.encoding_table['22943'] = [143,185,174] let s:lib.Codec.encoding_table['22948'] = [143,185,175] let s:lib.Codec.encoding_table['22951'] = [143,185,176] let s:lib.Codec.encoding_table['22957'] = [143,185,177] let s:lib.Codec.encoding_table['22958'] = [143,185,178] let s:lib.Codec.encoding_table['22959'] = [143,185,179] let s:lib.Codec.encoding_table['22960'] = [143,185,180] let s:lib.Codec.encoding_table['22963'] = [143,185,181] let s:lib.Codec.encoding_table['22967'] = [143,185,182] let s:lib.Codec.encoding_table['22970'] = [143,185,183] let s:lib.Codec.encoding_table['22972'] = [143,185,184] let s:lib.Codec.encoding_table['22977'] = [143,185,185] let s:lib.Codec.encoding_table['22979'] = [143,185,186] let s:lib.Codec.encoding_table['22980'] = [143,185,187] let s:lib.Codec.encoding_table['22984'] = [143,185,188] let s:lib.Codec.encoding_table['22986'] = [143,185,189] let s:lib.Codec.encoding_table['22989'] = [143,185,190] let s:lib.Codec.encoding_table['22994'] = [143,185,191] let s:lib.Codec.encoding_table['23005'] = [143,185,192] let s:lib.Codec.encoding_table['23006'] = [143,185,193] let s:lib.Codec.encoding_table['23007'] = [143,185,194] let s:lib.Codec.encoding_table['23011'] = [143,185,195] let s:lib.Codec.encoding_table['23012'] = [143,185,196] let s:lib.Codec.encoding_table['23015'] = [143,185,197] let s:lib.Codec.encoding_table['23022'] = [143,185,198] let s:lib.Codec.encoding_table['23023'] = [143,185,199] let s:lib.Codec.encoding_table['23025'] = [143,185,200] let s:lib.Codec.encoding_table['23026'] = [143,185,201] let s:lib.Codec.encoding_table['23028'] = [143,185,202] let s:lib.Codec.encoding_table['23031'] = [143,185,203] let s:lib.Codec.encoding_table['23040'] = [143,185,204] let s:lib.Codec.encoding_table['23044'] = [143,185,205] let s:lib.Codec.encoding_table['23052'] = [143,185,206] let s:lib.Codec.encoding_table['23053'] = [143,185,207] let s:lib.Codec.encoding_table['23054'] = [143,185,208] let s:lib.Codec.encoding_table['23058'] = [143,185,209] let s:lib.Codec.encoding_table['23059'] = [143,185,210] let s:lib.Codec.encoding_table['23070'] = [143,185,211] let s:lib.Codec.encoding_table['23075'] = [143,185,212] let s:lib.Codec.encoding_table['23076'] = [143,185,213] let s:lib.Codec.encoding_table['23079'] = [143,185,214] let s:lib.Codec.encoding_table['23080'] = [143,185,215] let s:lib.Codec.encoding_table['23082'] = [143,185,216] let s:lib.Codec.encoding_table['23085'] = [143,185,217] let s:lib.Codec.encoding_table['23088'] = [143,185,218] let s:lib.Codec.encoding_table['23108'] = [143,185,219] let s:lib.Codec.encoding_table['23109'] = [143,185,220] let s:lib.Codec.encoding_table['23111'] = [143,185,221] let s:lib.Codec.encoding_table['23112'] = [143,185,222] let s:lib.Codec.encoding_table['23116'] = [143,185,223] let s:lib.Codec.encoding_table['23120'] = [143,185,224] let s:lib.Codec.encoding_table['23125'] = [143,185,225] let s:lib.Codec.encoding_table['23134'] = [143,185,226] let s:lib.Codec.encoding_table['23139'] = [143,185,227] let s:lib.Codec.encoding_table['23141'] = [143,185,228] let s:lib.Codec.encoding_table['23143'] = [143,185,229] let s:lib.Codec.encoding_table['23149'] = [143,185,230] let s:lib.Codec.encoding_table['23159'] = [143,185,231] let s:lib.Codec.encoding_table['23162'] = [143,185,232] let s:lib.Codec.encoding_table['23163'] = [143,185,233] let s:lib.Codec.encoding_table['23166'] = [143,185,234] let s:lib.Codec.encoding_table['23179'] = [143,185,235] let s:lib.Codec.encoding_table['23184'] = [143,185,236] let s:lib.Codec.encoding_table['23187'] = [143,185,237] let s:lib.Codec.encoding_table['23190'] = [143,185,238] let s:lib.Codec.encoding_table['23193'] = [143,185,239] let s:lib.Codec.encoding_table['23196'] = [143,185,240] let s:lib.Codec.encoding_table['23198'] = [143,185,241] let s:lib.Codec.encoding_table['23199'] = [143,185,242] let s:lib.Codec.encoding_table['23200'] = [143,185,243] let s:lib.Codec.encoding_table['23202'] = [143,185,244] let s:lib.Codec.encoding_table['23207'] = [143,185,245] let s:lib.Codec.encoding_table['23212'] = [143,185,246] let s:lib.Codec.encoding_table['23217'] = [143,185,247] let s:lib.Codec.encoding_table['23218'] = [143,185,248] let s:lib.Codec.encoding_table['23219'] = [143,185,249] let s:lib.Codec.encoding_table['23221'] = [143,185,250] let s:lib.Codec.encoding_table['23224'] = [143,185,251] let s:lib.Codec.encoding_table['23226'] = [143,185,252] let s:lib.Codec.encoding_table['23227'] = [143,185,253] let s:lib.Codec.encoding_table['23231'] = [143,185,254] let s:lib.Codec.encoding_table['23236'] = [143,186,161] let s:lib.Codec.encoding_table['23238'] = [143,186,162] let s:lib.Codec.encoding_table['23240'] = [143,186,163] let s:lib.Codec.encoding_table['23247'] = [143,186,164] let s:lib.Codec.encoding_table['23258'] = [143,186,165] let s:lib.Codec.encoding_table['23260'] = [143,186,166] let s:lib.Codec.encoding_table['23264'] = [143,186,167] let s:lib.Codec.encoding_table['23269'] = [143,186,168] let s:lib.Codec.encoding_table['23274'] = [143,186,169] let s:lib.Codec.encoding_table['23278'] = [143,186,170] let s:lib.Codec.encoding_table['23285'] = [143,186,171] let s:lib.Codec.encoding_table['23286'] = [143,186,172] let s:lib.Codec.encoding_table['23293'] = [143,186,173] let s:lib.Codec.encoding_table['23296'] = [143,186,174] let s:lib.Codec.encoding_table['23297'] = [143,186,175] let s:lib.Codec.encoding_table['23304'] = [143,186,176] let s:lib.Codec.encoding_table['23319'] = [143,186,177] let s:lib.Codec.encoding_table['23348'] = [143,186,178] let s:lib.Codec.encoding_table['23321'] = [143,186,179] let s:lib.Codec.encoding_table['23323'] = [143,186,180] let s:lib.Codec.encoding_table['23325'] = [143,186,181] let s:lib.Codec.encoding_table['23329'] = [143,186,182] let s:lib.Codec.encoding_table['23333'] = [143,186,183] let s:lib.Codec.encoding_table['23341'] = [143,186,184] let s:lib.Codec.encoding_table['23352'] = [143,186,185] let s:lib.Codec.encoding_table['23361'] = [143,186,186] let s:lib.Codec.encoding_table['23371'] = [143,186,187] let s:lib.Codec.encoding_table['23372'] = [143,186,188] let s:lib.Codec.encoding_table['23378'] = [143,186,189] let s:lib.Codec.encoding_table['23382'] = [143,186,190] let s:lib.Codec.encoding_table['23390'] = [143,186,191] let s:lib.Codec.encoding_table['23400'] = [143,186,192] let s:lib.Codec.encoding_table['23406'] = [143,186,193] let s:lib.Codec.encoding_table['23407'] = [143,186,194] let s:lib.Codec.encoding_table['23420'] = [143,186,195] let s:lib.Codec.encoding_table['23421'] = [143,186,196] let s:lib.Codec.encoding_table['23422'] = [143,186,197] let s:lib.Codec.encoding_table['23423'] = [143,186,198] let s:lib.Codec.encoding_table['23425'] = [143,186,199] let s:lib.Codec.encoding_table['23428'] = [143,186,200] let s:lib.Codec.encoding_table['23430'] = [143,186,201] let s:lib.Codec.encoding_table['23434'] = [143,186,202] let s:lib.Codec.encoding_table['23438'] = [143,186,203] let s:lib.Codec.encoding_table['23440'] = [143,186,204] let s:lib.Codec.encoding_table['23441'] = [143,186,205] let s:lib.Codec.encoding_table['23443'] = [143,186,206] let s:lib.Codec.encoding_table['23444'] = [143,186,207] let s:lib.Codec.encoding_table['23446'] = [143,186,208] let s:lib.Codec.encoding_table['23464'] = [143,186,209] let s:lib.Codec.encoding_table['23465'] = [143,186,210] let s:lib.Codec.encoding_table['23468'] = [143,186,211] let s:lib.Codec.encoding_table['23469'] = [143,186,212] let s:lib.Codec.encoding_table['23471'] = [143,186,213] let s:lib.Codec.encoding_table['23473'] = [143,186,214] let s:lib.Codec.encoding_table['23474'] = [143,186,215] let s:lib.Codec.encoding_table['23479'] = [143,186,216] let s:lib.Codec.encoding_table['23482'] = [143,186,217] let s:lib.Codec.encoding_table['23484'] = [143,186,218] let s:lib.Codec.encoding_table['23488'] = [143,186,219] let s:lib.Codec.encoding_table['23489'] = [143,186,220] let s:lib.Codec.encoding_table['23501'] = [143,186,221] let s:lib.Codec.encoding_table['23503'] = [143,186,222] let s:lib.Codec.encoding_table['23510'] = [143,186,223] let s:lib.Codec.encoding_table['23511'] = [143,186,224] let s:lib.Codec.encoding_table['23512'] = [143,186,225] let s:lib.Codec.encoding_table['23513'] = [143,186,226] let s:lib.Codec.encoding_table['23514'] = [143,186,227] let s:lib.Codec.encoding_table['23520'] = [143,186,228] let s:lib.Codec.encoding_table['23535'] = [143,186,229] let s:lib.Codec.encoding_table['23537'] = [143,186,230] let s:lib.Codec.encoding_table['23540'] = [143,186,231] let s:lib.Codec.encoding_table['23549'] = [143,186,232] let s:lib.Codec.encoding_table['23564'] = [143,186,233] let s:lib.Codec.encoding_table['23575'] = [143,186,234] let s:lib.Codec.encoding_table['23582'] = [143,186,235] let s:lib.Codec.encoding_table['23583'] = [143,186,236] let s:lib.Codec.encoding_table['23587'] = [143,186,237] let s:lib.Codec.encoding_table['23590'] = [143,186,238] let s:lib.Codec.encoding_table['23593'] = [143,186,239] let s:lib.Codec.encoding_table['23595'] = [143,186,240] let s:lib.Codec.encoding_table['23596'] = [143,186,241] let s:lib.Codec.encoding_table['23598'] = [143,186,242] let s:lib.Codec.encoding_table['23600'] = [143,186,243] let s:lib.Codec.encoding_table['23602'] = [143,186,244] let s:lib.Codec.encoding_table['23605'] = [143,186,245] let s:lib.Codec.encoding_table['23606'] = [143,186,246] let s:lib.Codec.encoding_table['23641'] = [143,186,247] let s:lib.Codec.encoding_table['23642'] = [143,186,248] let s:lib.Codec.encoding_table['23644'] = [143,186,249] let s:lib.Codec.encoding_table['23650'] = [143,186,250] let s:lib.Codec.encoding_table['23651'] = [143,186,251] let s:lib.Codec.encoding_table['23655'] = [143,186,252] let s:lib.Codec.encoding_table['23656'] = [143,186,253] let s:lib.Codec.encoding_table['23657'] = [143,186,254] let s:lib.Codec.encoding_table['23661'] = [143,187,161] let s:lib.Codec.encoding_table['23664'] = [143,187,162] let s:lib.Codec.encoding_table['23668'] = [143,187,163] let s:lib.Codec.encoding_table['23669'] = [143,187,164] let s:lib.Codec.encoding_table['23674'] = [143,187,165] let s:lib.Codec.encoding_table['23675'] = [143,187,166] let s:lib.Codec.encoding_table['23676'] = [143,187,167] let s:lib.Codec.encoding_table['23677'] = [143,187,168] let s:lib.Codec.encoding_table['23687'] = [143,187,169] let s:lib.Codec.encoding_table['23688'] = [143,187,170] let s:lib.Codec.encoding_table['23690'] = [143,187,171] let s:lib.Codec.encoding_table['23695'] = [143,187,172] let s:lib.Codec.encoding_table['23698'] = [143,187,173] let s:lib.Codec.encoding_table['23709'] = [143,187,174] let s:lib.Codec.encoding_table['23711'] = [143,187,175] let s:lib.Codec.encoding_table['23712'] = [143,187,176] let s:lib.Codec.encoding_table['23714'] = [143,187,177] let s:lib.Codec.encoding_table['23715'] = [143,187,178] let s:lib.Codec.encoding_table['23718'] = [143,187,179] let s:lib.Codec.encoding_table['23722'] = [143,187,180] let s:lib.Codec.encoding_table['23730'] = [143,187,181] let s:lib.Codec.encoding_table['23732'] = [143,187,182] let s:lib.Codec.encoding_table['23733'] = [143,187,183] let s:lib.Codec.encoding_table['23738'] = [143,187,184] let s:lib.Codec.encoding_table['23753'] = [143,187,185] let s:lib.Codec.encoding_table['23755'] = [143,187,186] let s:lib.Codec.encoding_table['23762'] = [143,187,187] let s:lib.Codec.encoding_table['23773'] = [143,187,188] let s:lib.Codec.encoding_table['23767'] = [143,187,189] let s:lib.Codec.encoding_table['23790'] = [143,187,190] let s:lib.Codec.encoding_table['23793'] = [143,187,191] let s:lib.Codec.encoding_table['23794'] = [143,187,192] let s:lib.Codec.encoding_table['23796'] = [143,187,193] let s:lib.Codec.encoding_table['23809'] = [143,187,194] let s:lib.Codec.encoding_table['23814'] = [143,187,195] let s:lib.Codec.encoding_table['23821'] = [143,187,196] let s:lib.Codec.encoding_table['23826'] = [143,187,197] let s:lib.Codec.encoding_table['23851'] = [143,187,198] let s:lib.Codec.encoding_table['23843'] = [143,187,199] let s:lib.Codec.encoding_table['23844'] = [143,187,200] let s:lib.Codec.encoding_table['23846'] = [143,187,201] let s:lib.Codec.encoding_table['23847'] = [143,187,202] let s:lib.Codec.encoding_table['23857'] = [143,187,203] let s:lib.Codec.encoding_table['23860'] = [143,187,204] let s:lib.Codec.encoding_table['23865'] = [143,187,205] let s:lib.Codec.encoding_table['23869'] = [143,187,206] let s:lib.Codec.encoding_table['23871'] = [143,187,207] let s:lib.Codec.encoding_table['23874'] = [143,187,208] let s:lib.Codec.encoding_table['23875'] = [143,187,209] let s:lib.Codec.encoding_table['23878'] = [143,187,210] let s:lib.Codec.encoding_table['23880'] = [143,187,211] let s:lib.Codec.encoding_table['23893'] = [143,187,212] let s:lib.Codec.encoding_table['23889'] = [143,187,213] let s:lib.Codec.encoding_table['23897'] = [143,187,214] let s:lib.Codec.encoding_table['23882'] = [143,187,215] let s:lib.Codec.encoding_table['23903'] = [143,187,216] let s:lib.Codec.encoding_table['23904'] = [143,187,217] let s:lib.Codec.encoding_table['23905'] = [143,187,218] let s:lib.Codec.encoding_table['23906'] = [143,187,219] let s:lib.Codec.encoding_table['23908'] = [143,187,220] let s:lib.Codec.encoding_table['23914'] = [143,187,221] let s:lib.Codec.encoding_table['23917'] = [143,187,222] let s:lib.Codec.encoding_table['23920'] = [143,187,223] let s:lib.Codec.encoding_table['23929'] = [143,187,224] let s:lib.Codec.encoding_table['23930'] = [143,187,225] let s:lib.Codec.encoding_table['23934'] = [143,187,226] let s:lib.Codec.encoding_table['23935'] = [143,187,227] let s:lib.Codec.encoding_table['23937'] = [143,187,228] let s:lib.Codec.encoding_table['23939'] = [143,187,229] let s:lib.Codec.encoding_table['23944'] = [143,187,230] let s:lib.Codec.encoding_table['23946'] = [143,187,231] let s:lib.Codec.encoding_table['23954'] = [143,187,232] let s:lib.Codec.encoding_table['23955'] = [143,187,233] let s:lib.Codec.encoding_table['23956'] = [143,187,234] let s:lib.Codec.encoding_table['23957'] = [143,187,235] let s:lib.Codec.encoding_table['23961'] = [143,187,236] let s:lib.Codec.encoding_table['23963'] = [143,187,237] let s:lib.Codec.encoding_table['23967'] = [143,187,238] let s:lib.Codec.encoding_table['23968'] = [143,187,239] let s:lib.Codec.encoding_table['23975'] = [143,187,240] let s:lib.Codec.encoding_table['23979'] = [143,187,241] let s:lib.Codec.encoding_table['23984'] = [143,187,242] let s:lib.Codec.encoding_table['23988'] = [143,187,243] let s:lib.Codec.encoding_table['23992'] = [143,187,244] let s:lib.Codec.encoding_table['23993'] = [143,187,245] let s:lib.Codec.encoding_table['24003'] = [143,187,246] let s:lib.Codec.encoding_table['24007'] = [143,187,247] let s:lib.Codec.encoding_table['24011'] = [143,187,248] let s:lib.Codec.encoding_table['24016'] = [143,187,249] let s:lib.Codec.encoding_table['24014'] = [143,187,250] let s:lib.Codec.encoding_table['24024'] = [143,187,251] let s:lib.Codec.encoding_table['24025'] = [143,187,252] let s:lib.Codec.encoding_table['24032'] = [143,187,253] let s:lib.Codec.encoding_table['24036'] = [143,187,254] let s:lib.Codec.encoding_table['24041'] = [143,188,161] let s:lib.Codec.encoding_table['24056'] = [143,188,162] let s:lib.Codec.encoding_table['24057'] = [143,188,163] let s:lib.Codec.encoding_table['24064'] = [143,188,164] let s:lib.Codec.encoding_table['24071'] = [143,188,165] let s:lib.Codec.encoding_table['24077'] = [143,188,166] let s:lib.Codec.encoding_table['24082'] = [143,188,167] let s:lib.Codec.encoding_table['24084'] = [143,188,168] let s:lib.Codec.encoding_table['24085'] = [143,188,169] let s:lib.Codec.encoding_table['24088'] = [143,188,170] let s:lib.Codec.encoding_table['24095'] = [143,188,171] let s:lib.Codec.encoding_table['24096'] = [143,188,172] let s:lib.Codec.encoding_table['24110'] = [143,188,173] let s:lib.Codec.encoding_table['24104'] = [143,188,174] let s:lib.Codec.encoding_table['24114'] = [143,188,175] let s:lib.Codec.encoding_table['24117'] = [143,188,176] let s:lib.Codec.encoding_table['24126'] = [143,188,177] let s:lib.Codec.encoding_table['24139'] = [143,188,178] let s:lib.Codec.encoding_table['24144'] = [143,188,179] let s:lib.Codec.encoding_table['24137'] = [143,188,180] let s:lib.Codec.encoding_table['24145'] = [143,188,181] let s:lib.Codec.encoding_table['24150'] = [143,188,182] let s:lib.Codec.encoding_table['24152'] = [143,188,183] let s:lib.Codec.encoding_table['24155'] = [143,188,184] let s:lib.Codec.encoding_table['24156'] = [143,188,185] let s:lib.Codec.encoding_table['24158'] = [143,188,186] let s:lib.Codec.encoding_table['24168'] = [143,188,187] let s:lib.Codec.encoding_table['24170'] = [143,188,188] let s:lib.Codec.encoding_table['24171'] = [143,188,189] let s:lib.Codec.encoding_table['24172'] = [143,188,190] let s:lib.Codec.encoding_table['24173'] = [143,188,191] let s:lib.Codec.encoding_table['24174'] = [143,188,192] let s:lib.Codec.encoding_table['24176'] = [143,188,193] let s:lib.Codec.encoding_table['24192'] = [143,188,194] let s:lib.Codec.encoding_table['24203'] = [143,188,195] let s:lib.Codec.encoding_table['24206'] = [143,188,196] let s:lib.Codec.encoding_table['24226'] = [143,188,197] let s:lib.Codec.encoding_table['24228'] = [143,188,198] let s:lib.Codec.encoding_table['24229'] = [143,188,199] let s:lib.Codec.encoding_table['24232'] = [143,188,200] let s:lib.Codec.encoding_table['24234'] = [143,188,201] let s:lib.Codec.encoding_table['24236'] = [143,188,202] let s:lib.Codec.encoding_table['24241'] = [143,188,203] let s:lib.Codec.encoding_table['24243'] = [143,188,204] let s:lib.Codec.encoding_table['24253'] = [143,188,205] let s:lib.Codec.encoding_table['24254'] = [143,188,206] let s:lib.Codec.encoding_table['24255'] = [143,188,207] let s:lib.Codec.encoding_table['24262'] = [143,188,208] let s:lib.Codec.encoding_table['24268'] = [143,188,209] let s:lib.Codec.encoding_table['24267'] = [143,188,210] let s:lib.Codec.encoding_table['24270'] = [143,188,211] let s:lib.Codec.encoding_table['24273'] = [143,188,212] let s:lib.Codec.encoding_table['24274'] = [143,188,213] let s:lib.Codec.encoding_table['24276'] = [143,188,214] let s:lib.Codec.encoding_table['24277'] = [143,188,215] let s:lib.Codec.encoding_table['24284'] = [143,188,216] let s:lib.Codec.encoding_table['24286'] = [143,188,217] let s:lib.Codec.encoding_table['24293'] = [143,188,218] let s:lib.Codec.encoding_table['24299'] = [143,188,219] let s:lib.Codec.encoding_table['24322'] = [143,188,220] let s:lib.Codec.encoding_table['24326'] = [143,188,221] let s:lib.Codec.encoding_table['24327'] = [143,188,222] let s:lib.Codec.encoding_table['24328'] = [143,188,223] let s:lib.Codec.encoding_table['24334'] = [143,188,224] let s:lib.Codec.encoding_table['24345'] = [143,188,225] let s:lib.Codec.encoding_table['24348'] = [143,188,226] let s:lib.Codec.encoding_table['24349'] = [143,188,227] let s:lib.Codec.encoding_table['24353'] = [143,188,228] let s:lib.Codec.encoding_table['24354'] = [143,188,229] let s:lib.Codec.encoding_table['24355'] = [143,188,230] let s:lib.Codec.encoding_table['24356'] = [143,188,231] let s:lib.Codec.encoding_table['24360'] = [143,188,232] let s:lib.Codec.encoding_table['24363'] = [143,188,233] let s:lib.Codec.encoding_table['24364'] = [143,188,234] let s:lib.Codec.encoding_table['24366'] = [143,188,235] let s:lib.Codec.encoding_table['24368'] = [143,188,236] let s:lib.Codec.encoding_table['24372'] = [143,188,237] let s:lib.Codec.encoding_table['24374'] = [143,188,238] let s:lib.Codec.encoding_table['24379'] = [143,188,239] let s:lib.Codec.encoding_table['24381'] = [143,188,240] let s:lib.Codec.encoding_table['24383'] = [143,188,241] let s:lib.Codec.encoding_table['24384'] = [143,188,242] let s:lib.Codec.encoding_table['24388'] = [143,188,243] let s:lib.Codec.encoding_table['24389'] = [143,188,244] let s:lib.Codec.encoding_table['24391'] = [143,188,245] let s:lib.Codec.encoding_table['24397'] = [143,188,246] let s:lib.Codec.encoding_table['24400'] = [143,188,247] let s:lib.Codec.encoding_table['24404'] = [143,188,248] let s:lib.Codec.encoding_table['24408'] = [143,188,249] let s:lib.Codec.encoding_table['24411'] = [143,188,250] let s:lib.Codec.encoding_table['24416'] = [143,188,251] let s:lib.Codec.encoding_table['24419'] = [143,188,252] let s:lib.Codec.encoding_table['24420'] = [143,188,253] let s:lib.Codec.encoding_table['24423'] = [143,188,254] let s:lib.Codec.encoding_table['24431'] = [143,189,161] let s:lib.Codec.encoding_table['24434'] = [143,189,162] let s:lib.Codec.encoding_table['24436'] = [143,189,163] let s:lib.Codec.encoding_table['24437'] = [143,189,164] let s:lib.Codec.encoding_table['24440'] = [143,189,165] let s:lib.Codec.encoding_table['24442'] = [143,189,166] let s:lib.Codec.encoding_table['24445'] = [143,189,167] let s:lib.Codec.encoding_table['24446'] = [143,189,168] let s:lib.Codec.encoding_table['24457'] = [143,189,169] let s:lib.Codec.encoding_table['24461'] = [143,189,170] let s:lib.Codec.encoding_table['24463'] = [143,189,171] let s:lib.Codec.encoding_table['24470'] = [143,189,172] let s:lib.Codec.encoding_table['24476'] = [143,189,173] let s:lib.Codec.encoding_table['24477'] = [143,189,174] let s:lib.Codec.encoding_table['24482'] = [143,189,175] let s:lib.Codec.encoding_table['24487'] = [143,189,176] let s:lib.Codec.encoding_table['24491'] = [143,189,177] let s:lib.Codec.encoding_table['24484'] = [143,189,178] let s:lib.Codec.encoding_table['24492'] = [143,189,179] let s:lib.Codec.encoding_table['24495'] = [143,189,180] let s:lib.Codec.encoding_table['24496'] = [143,189,181] let s:lib.Codec.encoding_table['24497'] = [143,189,182] let s:lib.Codec.encoding_table['24504'] = [143,189,183] let s:lib.Codec.encoding_table['24516'] = [143,189,184] let s:lib.Codec.encoding_table['24519'] = [143,189,185] let s:lib.Codec.encoding_table['24520'] = [143,189,186] let s:lib.Codec.encoding_table['24521'] = [143,189,187] let s:lib.Codec.encoding_table['24523'] = [143,189,188] let s:lib.Codec.encoding_table['24528'] = [143,189,189] let s:lib.Codec.encoding_table['24529'] = [143,189,190] let s:lib.Codec.encoding_table['24530'] = [143,189,191] let s:lib.Codec.encoding_table['24531'] = [143,189,192] let s:lib.Codec.encoding_table['24532'] = [143,189,193] let s:lib.Codec.encoding_table['24542'] = [143,189,194] let s:lib.Codec.encoding_table['24545'] = [143,189,195] let s:lib.Codec.encoding_table['24546'] = [143,189,196] let s:lib.Codec.encoding_table['24552'] = [143,189,197] let s:lib.Codec.encoding_table['24553'] = [143,189,198] let s:lib.Codec.encoding_table['24554'] = [143,189,199] let s:lib.Codec.encoding_table['24556'] = [143,189,200] let s:lib.Codec.encoding_table['24557'] = [143,189,201] let s:lib.Codec.encoding_table['24558'] = [143,189,202] let s:lib.Codec.encoding_table['24559'] = [143,189,203] let s:lib.Codec.encoding_table['24562'] = [143,189,204] let s:lib.Codec.encoding_table['24563'] = [143,189,205] let s:lib.Codec.encoding_table['24566'] = [143,189,206] let s:lib.Codec.encoding_table['24570'] = [143,189,207] let s:lib.Codec.encoding_table['24572'] = [143,189,208] let s:lib.Codec.encoding_table['24583'] = [143,189,209] let s:lib.Codec.encoding_table['24586'] = [143,189,210] let s:lib.Codec.encoding_table['24589'] = [143,189,211] let s:lib.Codec.encoding_table['24595'] = [143,189,212] let s:lib.Codec.encoding_table['24596'] = [143,189,213] let s:lib.Codec.encoding_table['24599'] = [143,189,214] let s:lib.Codec.encoding_table['24600'] = [143,189,215] let s:lib.Codec.encoding_table['24602'] = [143,189,216] let s:lib.Codec.encoding_table['24607'] = [143,189,217] let s:lib.Codec.encoding_table['24612'] = [143,189,218] let s:lib.Codec.encoding_table['24621'] = [143,189,219] let s:lib.Codec.encoding_table['24627'] = [143,189,220] let s:lib.Codec.encoding_table['24629'] = [143,189,221] let s:lib.Codec.encoding_table['24640'] = [143,189,222] let s:lib.Codec.encoding_table['24647'] = [143,189,223] let s:lib.Codec.encoding_table['24648'] = [143,189,224] let s:lib.Codec.encoding_table['24649'] = [143,189,225] let s:lib.Codec.encoding_table['24652'] = [143,189,226] let s:lib.Codec.encoding_table['24657'] = [143,189,227] let s:lib.Codec.encoding_table['24660'] = [143,189,228] let s:lib.Codec.encoding_table['24662'] = [143,189,229] let s:lib.Codec.encoding_table['24663'] = [143,189,230] let s:lib.Codec.encoding_table['24669'] = [143,189,231] let s:lib.Codec.encoding_table['24673'] = [143,189,232] let s:lib.Codec.encoding_table['24679'] = [143,189,233] let s:lib.Codec.encoding_table['24689'] = [143,189,234] let s:lib.Codec.encoding_table['24702'] = [143,189,235] let s:lib.Codec.encoding_table['24703'] = [143,189,236] let s:lib.Codec.encoding_table['24706'] = [143,189,237] let s:lib.Codec.encoding_table['24710'] = [143,189,238] let s:lib.Codec.encoding_table['24712'] = [143,189,239] let s:lib.Codec.encoding_table['24714'] = [143,189,240] let s:lib.Codec.encoding_table['24718'] = [143,189,241] let s:lib.Codec.encoding_table['24721'] = [143,189,242] let s:lib.Codec.encoding_table['24723'] = [143,189,243] let s:lib.Codec.encoding_table['24725'] = [143,189,244] let s:lib.Codec.encoding_table['24728'] = [143,189,245] let s:lib.Codec.encoding_table['24733'] = [143,189,246] let s:lib.Codec.encoding_table['24734'] = [143,189,247] let s:lib.Codec.encoding_table['24738'] = [143,189,248] let s:lib.Codec.encoding_table['24740'] = [143,189,249] let s:lib.Codec.encoding_table['24741'] = [143,189,250] let s:lib.Codec.encoding_table['24744'] = [143,189,251] let s:lib.Codec.encoding_table['24752'] = [143,189,252] let s:lib.Codec.encoding_table['24753'] = [143,189,253] let s:lib.Codec.encoding_table['24759'] = [143,189,254] let s:lib.Codec.encoding_table['24763'] = [143,190,161] let s:lib.Codec.encoding_table['24766'] = [143,190,162] let s:lib.Codec.encoding_table['24770'] = [143,190,163] let s:lib.Codec.encoding_table['24772'] = [143,190,164] let s:lib.Codec.encoding_table['24776'] = [143,190,165] let s:lib.Codec.encoding_table['24777'] = [143,190,166] let s:lib.Codec.encoding_table['24778'] = [143,190,167] let s:lib.Codec.encoding_table['24779'] = [143,190,168] let s:lib.Codec.encoding_table['24782'] = [143,190,169] let s:lib.Codec.encoding_table['24783'] = [143,190,170] let s:lib.Codec.encoding_table['24788'] = [143,190,171] let s:lib.Codec.encoding_table['24789'] = [143,190,172] let s:lib.Codec.encoding_table['24793'] = [143,190,173] let s:lib.Codec.encoding_table['24795'] = [143,190,174] let s:lib.Codec.encoding_table['24797'] = [143,190,175] let s:lib.Codec.encoding_table['24798'] = [143,190,176] let s:lib.Codec.encoding_table['24802'] = [143,190,177] let s:lib.Codec.encoding_table['24805'] = [143,190,178] let s:lib.Codec.encoding_table['24818'] = [143,190,179] let s:lib.Codec.encoding_table['24821'] = [143,190,180] let s:lib.Codec.encoding_table['24824'] = [143,190,181] let s:lib.Codec.encoding_table['24828'] = [143,190,182] let s:lib.Codec.encoding_table['24829'] = [143,190,183] let s:lib.Codec.encoding_table['24834'] = [143,190,184] let s:lib.Codec.encoding_table['24839'] = [143,190,185] let s:lib.Codec.encoding_table['24842'] = [143,190,186] let s:lib.Codec.encoding_table['24844'] = [143,190,187] let s:lib.Codec.encoding_table['24848'] = [143,190,188] let s:lib.Codec.encoding_table['24849'] = [143,190,189] let s:lib.Codec.encoding_table['24850'] = [143,190,190] let s:lib.Codec.encoding_table['24851'] = [143,190,191] let s:lib.Codec.encoding_table['24852'] = [143,190,192] let s:lib.Codec.encoding_table['24854'] = [143,190,193] let s:lib.Codec.encoding_table['24855'] = [143,190,194] let s:lib.Codec.encoding_table['24857'] = [143,190,195] let s:lib.Codec.encoding_table['24860'] = [143,190,196] let s:lib.Codec.encoding_table['24862'] = [143,190,197] let s:lib.Codec.encoding_table['24866'] = [143,190,198] let s:lib.Codec.encoding_table['24874'] = [143,190,199] let s:lib.Codec.encoding_table['24875'] = [143,190,200] let s:lib.Codec.encoding_table['24880'] = [143,190,201] let s:lib.Codec.encoding_table['24881'] = [143,190,202] let s:lib.Codec.encoding_table['24885'] = [143,190,203] let s:lib.Codec.encoding_table['24886'] = [143,190,204] let s:lib.Codec.encoding_table['24887'] = [143,190,205] let s:lib.Codec.encoding_table['24889'] = [143,190,206] let s:lib.Codec.encoding_table['24897'] = [143,190,207] let s:lib.Codec.encoding_table['24901'] = [143,190,208] let s:lib.Codec.encoding_table['24902'] = [143,190,209] let s:lib.Codec.encoding_table['24905'] = [143,190,210] let s:lib.Codec.encoding_table['24926'] = [143,190,211] let s:lib.Codec.encoding_table['24928'] = [143,190,212] let s:lib.Codec.encoding_table['24940'] = [143,190,213] let s:lib.Codec.encoding_table['24946'] = [143,190,214] let s:lib.Codec.encoding_table['24952'] = [143,190,215] let s:lib.Codec.encoding_table['24955'] = [143,190,216] let s:lib.Codec.encoding_table['24956'] = [143,190,217] let s:lib.Codec.encoding_table['24959'] = [143,190,218] let s:lib.Codec.encoding_table['24960'] = [143,190,219] let s:lib.Codec.encoding_table['24961'] = [143,190,220] let s:lib.Codec.encoding_table['24963'] = [143,190,221] let s:lib.Codec.encoding_table['24964'] = [143,190,222] let s:lib.Codec.encoding_table['24971'] = [143,190,223] let s:lib.Codec.encoding_table['24973'] = [143,190,224] let s:lib.Codec.encoding_table['24978'] = [143,190,225] let s:lib.Codec.encoding_table['24979'] = [143,190,226] let s:lib.Codec.encoding_table['24983'] = [143,190,227] let s:lib.Codec.encoding_table['24984'] = [143,190,228] let s:lib.Codec.encoding_table['24988'] = [143,190,229] let s:lib.Codec.encoding_table['24989'] = [143,190,230] let s:lib.Codec.encoding_table['24991'] = [143,190,231] let s:lib.Codec.encoding_table['24992'] = [143,190,232] let s:lib.Codec.encoding_table['24997'] = [143,190,233] let s:lib.Codec.encoding_table['25000'] = [143,190,234] let s:lib.Codec.encoding_table['25002'] = [143,190,235] let s:lib.Codec.encoding_table['25005'] = [143,190,236] let s:lib.Codec.encoding_table['25016'] = [143,190,237] let s:lib.Codec.encoding_table['25017'] = [143,190,238] let s:lib.Codec.encoding_table['25020'] = [143,190,239] let s:lib.Codec.encoding_table['25024'] = [143,190,240] let s:lib.Codec.encoding_table['25025'] = [143,190,241] let s:lib.Codec.encoding_table['25026'] = [143,190,242] let s:lib.Codec.encoding_table['25038'] = [143,190,243] let s:lib.Codec.encoding_table['25039'] = [143,190,244] let s:lib.Codec.encoding_table['25045'] = [143,190,245] let s:lib.Codec.encoding_table['25052'] = [143,190,246] let s:lib.Codec.encoding_table['25053'] = [143,190,247] let s:lib.Codec.encoding_table['25054'] = [143,190,248] let s:lib.Codec.encoding_table['25055'] = [143,190,249] let s:lib.Codec.encoding_table['25057'] = [143,190,250] let s:lib.Codec.encoding_table['25058'] = [143,190,251] let s:lib.Codec.encoding_table['25063'] = [143,190,252] let s:lib.Codec.encoding_table['25065'] = [143,190,253] let s:lib.Codec.encoding_table['25061'] = [143,190,254] let s:lib.Codec.encoding_table['25068'] = [143,191,161] let s:lib.Codec.encoding_table['25069'] = [143,191,162] let s:lib.Codec.encoding_table['25071'] = [143,191,163] let s:lib.Codec.encoding_table['25089'] = [143,191,164] let s:lib.Codec.encoding_table['25091'] = [143,191,165] let s:lib.Codec.encoding_table['25092'] = [143,191,166] let s:lib.Codec.encoding_table['25095'] = [143,191,167] let s:lib.Codec.encoding_table['25107'] = [143,191,168] let s:lib.Codec.encoding_table['25109'] = [143,191,169] let s:lib.Codec.encoding_table['25116'] = [143,191,170] let s:lib.Codec.encoding_table['25120'] = [143,191,171] let s:lib.Codec.encoding_table['25122'] = [143,191,172] let s:lib.Codec.encoding_table['25123'] = [143,191,173] let s:lib.Codec.encoding_table['25127'] = [143,191,174] let s:lib.Codec.encoding_table['25129'] = [143,191,175] let s:lib.Codec.encoding_table['25131'] = [143,191,176] let s:lib.Codec.encoding_table['25145'] = [143,191,177] let s:lib.Codec.encoding_table['25149'] = [143,191,178] let s:lib.Codec.encoding_table['25154'] = [143,191,179] let s:lib.Codec.encoding_table['25155'] = [143,191,180] let s:lib.Codec.encoding_table['25156'] = [143,191,181] let s:lib.Codec.encoding_table['25158'] = [143,191,182] let s:lib.Codec.encoding_table['25164'] = [143,191,183] let s:lib.Codec.encoding_table['25168'] = [143,191,184] let s:lib.Codec.encoding_table['25169'] = [143,191,185] let s:lib.Codec.encoding_table['25170'] = [143,191,186] let s:lib.Codec.encoding_table['25172'] = [143,191,187] let s:lib.Codec.encoding_table['25174'] = [143,191,188] let s:lib.Codec.encoding_table['25178'] = [143,191,189] let s:lib.Codec.encoding_table['25180'] = [143,191,190] let s:lib.Codec.encoding_table['25188'] = [143,191,191] let s:lib.Codec.encoding_table['25197'] = [143,191,192] let s:lib.Codec.encoding_table['25199'] = [143,191,193] let s:lib.Codec.encoding_table['25203'] = [143,191,194] let s:lib.Codec.encoding_table['25210'] = [143,191,195] let s:lib.Codec.encoding_table['25213'] = [143,191,196] let s:lib.Codec.encoding_table['25229'] = [143,191,197] let s:lib.Codec.encoding_table['25230'] = [143,191,198] let s:lib.Codec.encoding_table['25231'] = [143,191,199] let s:lib.Codec.encoding_table['25232'] = [143,191,200] let s:lib.Codec.encoding_table['25254'] = [143,191,201] let s:lib.Codec.encoding_table['25256'] = [143,191,202] let s:lib.Codec.encoding_table['25267'] = [143,191,203] let s:lib.Codec.encoding_table['25270'] = [143,191,204] let s:lib.Codec.encoding_table['25271'] = [143,191,205] let s:lib.Codec.encoding_table['25274'] = [143,191,206] let s:lib.Codec.encoding_table['25278'] = [143,191,207] let s:lib.Codec.encoding_table['25279'] = [143,191,208] let s:lib.Codec.encoding_table['25284'] = [143,191,209] let s:lib.Codec.encoding_table['25294'] = [143,191,210] let s:lib.Codec.encoding_table['25301'] = [143,191,211] let s:lib.Codec.encoding_table['25302'] = [143,191,212] let s:lib.Codec.encoding_table['25306'] = [143,191,213] let s:lib.Codec.encoding_table['25322'] = [143,191,214] let s:lib.Codec.encoding_table['25330'] = [143,191,215] let s:lib.Codec.encoding_table['25332'] = [143,191,216] let s:lib.Codec.encoding_table['25340'] = [143,191,217] let s:lib.Codec.encoding_table['25341'] = [143,191,218] let s:lib.Codec.encoding_table['25347'] = [143,191,219] let s:lib.Codec.encoding_table['25348'] = [143,191,220] let s:lib.Codec.encoding_table['25354'] = [143,191,221] let s:lib.Codec.encoding_table['25355'] = [143,191,222] let s:lib.Codec.encoding_table['25357'] = [143,191,223] let s:lib.Codec.encoding_table['25360'] = [143,191,224] let s:lib.Codec.encoding_table['25363'] = [143,191,225] let s:lib.Codec.encoding_table['25366'] = [143,191,226] let s:lib.Codec.encoding_table['25368'] = [143,191,227] let s:lib.Codec.encoding_table['25385'] = [143,191,228] let s:lib.Codec.encoding_table['25386'] = [143,191,229] let s:lib.Codec.encoding_table['25389'] = [143,191,230] let s:lib.Codec.encoding_table['25397'] = [143,191,231] let s:lib.Codec.encoding_table['25398'] = [143,191,232] let s:lib.Codec.encoding_table['25401'] = [143,191,233] let s:lib.Codec.encoding_table['25404'] = [143,191,234] let s:lib.Codec.encoding_table['25409'] = [143,191,235] let s:lib.Codec.encoding_table['25410'] = [143,191,236] let s:lib.Codec.encoding_table['25411'] = [143,191,237] let s:lib.Codec.encoding_table['25412'] = [143,191,238] let s:lib.Codec.encoding_table['25414'] = [143,191,239] let s:lib.Codec.encoding_table['25418'] = [143,191,240] let s:lib.Codec.encoding_table['25419'] = [143,191,241] let s:lib.Codec.encoding_table['25422'] = [143,191,242] let s:lib.Codec.encoding_table['25426'] = [143,191,243] let s:lib.Codec.encoding_table['25427'] = [143,191,244] let s:lib.Codec.encoding_table['25428'] = [143,191,245] let s:lib.Codec.encoding_table['25432'] = [143,191,246] let s:lib.Codec.encoding_table['25435'] = [143,191,247] let s:lib.Codec.encoding_table['25445'] = [143,191,248] let s:lib.Codec.encoding_table['25446'] = [143,191,249] let s:lib.Codec.encoding_table['25452'] = [143,191,250] let s:lib.Codec.encoding_table['25453'] = [143,191,251] let s:lib.Codec.encoding_table['25457'] = [143,191,252] let s:lib.Codec.encoding_table['25460'] = [143,191,253] let s:lib.Codec.encoding_table['25461'] = [143,191,254] let s:lib.Codec.encoding_table['25464'] = [143,192,161] let s:lib.Codec.encoding_table['25468'] = [143,192,162] let s:lib.Codec.encoding_table['25469'] = [143,192,163] let s:lib.Codec.encoding_table['25471'] = [143,192,164] let s:lib.Codec.encoding_table['25474'] = [143,192,165] let s:lib.Codec.encoding_table['25476'] = [143,192,166] let s:lib.Codec.encoding_table['25479'] = [143,192,167] let s:lib.Codec.encoding_table['25482'] = [143,192,168] let s:lib.Codec.encoding_table['25488'] = [143,192,169] let s:lib.Codec.encoding_table['25492'] = [143,192,170] let s:lib.Codec.encoding_table['25493'] = [143,192,171] let s:lib.Codec.encoding_table['25497'] = [143,192,172] let s:lib.Codec.encoding_table['25498'] = [143,192,173] let s:lib.Codec.encoding_table['25502'] = [143,192,174] let s:lib.Codec.encoding_table['25508'] = [143,192,175] let s:lib.Codec.encoding_table['25510'] = [143,192,176] let s:lib.Codec.encoding_table['25517'] = [143,192,177] let s:lib.Codec.encoding_table['25518'] = [143,192,178] let s:lib.Codec.encoding_table['25519'] = [143,192,179] let s:lib.Codec.encoding_table['25533'] = [143,192,180] let s:lib.Codec.encoding_table['25537'] = [143,192,181] let s:lib.Codec.encoding_table['25541'] = [143,192,182] let s:lib.Codec.encoding_table['25544'] = [143,192,183] let s:lib.Codec.encoding_table['25550'] = [143,192,184] let s:lib.Codec.encoding_table['25553'] = [143,192,185] let s:lib.Codec.encoding_table['25555'] = [143,192,186] let s:lib.Codec.encoding_table['25556'] = [143,192,187] let s:lib.Codec.encoding_table['25557'] = [143,192,188] let s:lib.Codec.encoding_table['25564'] = [143,192,189] let s:lib.Codec.encoding_table['25568'] = [143,192,190] let s:lib.Codec.encoding_table['25573'] = [143,192,191] let s:lib.Codec.encoding_table['25578'] = [143,192,192] let s:lib.Codec.encoding_table['25580'] = [143,192,193] let s:lib.Codec.encoding_table['25586'] = [143,192,194] let s:lib.Codec.encoding_table['25587'] = [143,192,195] let s:lib.Codec.encoding_table['25589'] = [143,192,196] let s:lib.Codec.encoding_table['25592'] = [143,192,197] let s:lib.Codec.encoding_table['25593'] = [143,192,198] let s:lib.Codec.encoding_table['25609'] = [143,192,199] let s:lib.Codec.encoding_table['25610'] = [143,192,200] let s:lib.Codec.encoding_table['25616'] = [143,192,201] let s:lib.Codec.encoding_table['25618'] = [143,192,202] let s:lib.Codec.encoding_table['25620'] = [143,192,203] let s:lib.Codec.encoding_table['25624'] = [143,192,204] let s:lib.Codec.encoding_table['25630'] = [143,192,205] let s:lib.Codec.encoding_table['25632'] = [143,192,206] let s:lib.Codec.encoding_table['25634'] = [143,192,207] let s:lib.Codec.encoding_table['25636'] = [143,192,208] let s:lib.Codec.encoding_table['25637'] = [143,192,209] let s:lib.Codec.encoding_table['25641'] = [143,192,210] let s:lib.Codec.encoding_table['25642'] = [143,192,211] let s:lib.Codec.encoding_table['25647'] = [143,192,212] let s:lib.Codec.encoding_table['25648'] = [143,192,213] let s:lib.Codec.encoding_table['25653'] = [143,192,214] let s:lib.Codec.encoding_table['25661'] = [143,192,215] let s:lib.Codec.encoding_table['25663'] = [143,192,216] let s:lib.Codec.encoding_table['25675'] = [143,192,217] let s:lib.Codec.encoding_table['25679'] = [143,192,218] let s:lib.Codec.encoding_table['25681'] = [143,192,219] let s:lib.Codec.encoding_table['25682'] = [143,192,220] let s:lib.Codec.encoding_table['25683'] = [143,192,221] let s:lib.Codec.encoding_table['25684'] = [143,192,222] let s:lib.Codec.encoding_table['25690'] = [143,192,223] let s:lib.Codec.encoding_table['25691'] = [143,192,224] let s:lib.Codec.encoding_table['25692'] = [143,192,225] let s:lib.Codec.encoding_table['25693'] = [143,192,226] let s:lib.Codec.encoding_table['25695'] = [143,192,227] let s:lib.Codec.encoding_table['25696'] = [143,192,228] let s:lib.Codec.encoding_table['25697'] = [143,192,229] let s:lib.Codec.encoding_table['25699'] = [143,192,230] let s:lib.Codec.encoding_table['25709'] = [143,192,231] let s:lib.Codec.encoding_table['25715'] = [143,192,232] let s:lib.Codec.encoding_table['25716'] = [143,192,233] let s:lib.Codec.encoding_table['25723'] = [143,192,234] let s:lib.Codec.encoding_table['25725'] = [143,192,235] let s:lib.Codec.encoding_table['25733'] = [143,192,236] let s:lib.Codec.encoding_table['25735'] = [143,192,237] let s:lib.Codec.encoding_table['25743'] = [143,192,238] let s:lib.Codec.encoding_table['25744'] = [143,192,239] let s:lib.Codec.encoding_table['25745'] = [143,192,240] let s:lib.Codec.encoding_table['25752'] = [143,192,241] let s:lib.Codec.encoding_table['25753'] = [143,192,242] let s:lib.Codec.encoding_table['25755'] = [143,192,243] let s:lib.Codec.encoding_table['25757'] = [143,192,244] let s:lib.Codec.encoding_table['25759'] = [143,192,245] let s:lib.Codec.encoding_table['25761'] = [143,192,246] let s:lib.Codec.encoding_table['25763'] = [143,192,247] let s:lib.Codec.encoding_table['25766'] = [143,192,248] let s:lib.Codec.encoding_table['25768'] = [143,192,249] let s:lib.Codec.encoding_table['25772'] = [143,192,250] let s:lib.Codec.encoding_table['25779'] = [143,192,251] let s:lib.Codec.encoding_table['25789'] = [143,192,252] let s:lib.Codec.encoding_table['25790'] = [143,192,253] let s:lib.Codec.encoding_table['25791'] = [143,192,254] let s:lib.Codec.encoding_table['25796'] = [143,193,161] let s:lib.Codec.encoding_table['25801'] = [143,193,162] let s:lib.Codec.encoding_table['25802'] = [143,193,163] let s:lib.Codec.encoding_table['25803'] = [143,193,164] let s:lib.Codec.encoding_table['25804'] = [143,193,165] let s:lib.Codec.encoding_table['25806'] = [143,193,166] let s:lib.Codec.encoding_table['25808'] = [143,193,167] let s:lib.Codec.encoding_table['25809'] = [143,193,168] let s:lib.Codec.encoding_table['25813'] = [143,193,169] let s:lib.Codec.encoding_table['25815'] = [143,193,170] let s:lib.Codec.encoding_table['25828'] = [143,193,171] let s:lib.Codec.encoding_table['25829'] = [143,193,172] let s:lib.Codec.encoding_table['25833'] = [143,193,173] let s:lib.Codec.encoding_table['25834'] = [143,193,174] let s:lib.Codec.encoding_table['25837'] = [143,193,175] let s:lib.Codec.encoding_table['25840'] = [143,193,176] let s:lib.Codec.encoding_table['25845'] = [143,193,177] let s:lib.Codec.encoding_table['25847'] = [143,193,178] let s:lib.Codec.encoding_table['25851'] = [143,193,179] let s:lib.Codec.encoding_table['25855'] = [143,193,180] let s:lib.Codec.encoding_table['25857'] = [143,193,181] let s:lib.Codec.encoding_table['25860'] = [143,193,182] let s:lib.Codec.encoding_table['25864'] = [143,193,183] let s:lib.Codec.encoding_table['25865'] = [143,193,184] let s:lib.Codec.encoding_table['25866'] = [143,193,185] let s:lib.Codec.encoding_table['25871'] = [143,193,186] let s:lib.Codec.encoding_table['25875'] = [143,193,187] let s:lib.Codec.encoding_table['25876'] = [143,193,188] let s:lib.Codec.encoding_table['25878'] = [143,193,189] let s:lib.Codec.encoding_table['25881'] = [143,193,190] let s:lib.Codec.encoding_table['25883'] = [143,193,191] let s:lib.Codec.encoding_table['25886'] = [143,193,192] let s:lib.Codec.encoding_table['25887'] = [143,193,193] let s:lib.Codec.encoding_table['25890'] = [143,193,194] let s:lib.Codec.encoding_table['25894'] = [143,193,195] let s:lib.Codec.encoding_table['25897'] = [143,193,196] let s:lib.Codec.encoding_table['25902'] = [143,193,197] let s:lib.Codec.encoding_table['25905'] = [143,193,198] let s:lib.Codec.encoding_table['25914'] = [143,193,199] let s:lib.Codec.encoding_table['25916'] = [143,193,200] let s:lib.Codec.encoding_table['25917'] = [143,193,201] let s:lib.Codec.encoding_table['25923'] = [143,193,202] let s:lib.Codec.encoding_table['25927'] = [143,193,203] let s:lib.Codec.encoding_table['25929'] = [143,193,204] let s:lib.Codec.encoding_table['25936'] = [143,193,205] let s:lib.Codec.encoding_table['25938'] = [143,193,206] let s:lib.Codec.encoding_table['25940'] = [143,193,207] let s:lib.Codec.encoding_table['25951'] = [143,193,208] let s:lib.Codec.encoding_table['25952'] = [143,193,209] let s:lib.Codec.encoding_table['25959'] = [143,193,210] let s:lib.Codec.encoding_table['25963'] = [143,193,211] let s:lib.Codec.encoding_table['25978'] = [143,193,212] let s:lib.Codec.encoding_table['25981'] = [143,193,213] let s:lib.Codec.encoding_table['25985'] = [143,193,214] let s:lib.Codec.encoding_table['25989'] = [143,193,215] let s:lib.Codec.encoding_table['25994'] = [143,193,216] let s:lib.Codec.encoding_table['26002'] = [143,193,217] let s:lib.Codec.encoding_table['26005'] = [143,193,218] let s:lib.Codec.encoding_table['26008'] = [143,193,219] let s:lib.Codec.encoding_table['26013'] = [143,193,220] let s:lib.Codec.encoding_table['26016'] = [143,193,221] let s:lib.Codec.encoding_table['26019'] = [143,193,222] let s:lib.Codec.encoding_table['26022'] = [143,193,223] let s:lib.Codec.encoding_table['26030'] = [143,193,224] let s:lib.Codec.encoding_table['26034'] = [143,193,225] let s:lib.Codec.encoding_table['26035'] = [143,193,226] let s:lib.Codec.encoding_table['26036'] = [143,193,227] let s:lib.Codec.encoding_table['26047'] = [143,193,228] let s:lib.Codec.encoding_table['26050'] = [143,193,229] let s:lib.Codec.encoding_table['26056'] = [143,193,230] let s:lib.Codec.encoding_table['26057'] = [143,193,231] let s:lib.Codec.encoding_table['26062'] = [143,193,232] let s:lib.Codec.encoding_table['26064'] = [143,193,233] let s:lib.Codec.encoding_table['26068'] = [143,193,234] let s:lib.Codec.encoding_table['26070'] = [143,193,235] let s:lib.Codec.encoding_table['26072'] = [143,193,236] let s:lib.Codec.encoding_table['26079'] = [143,193,237] let s:lib.Codec.encoding_table['26096'] = [143,193,238] let s:lib.Codec.encoding_table['26098'] = [143,193,239] let s:lib.Codec.encoding_table['26100'] = [143,193,240] let s:lib.Codec.encoding_table['26101'] = [143,193,241] let s:lib.Codec.encoding_table['26105'] = [143,193,242] let s:lib.Codec.encoding_table['26110'] = [143,193,243] let s:lib.Codec.encoding_table['26111'] = [143,193,244] let s:lib.Codec.encoding_table['26112'] = [143,193,245] let s:lib.Codec.encoding_table['26116'] = [143,193,246] let s:lib.Codec.encoding_table['26120'] = [143,193,247] let s:lib.Codec.encoding_table['26121'] = [143,193,248] let s:lib.Codec.encoding_table['26125'] = [143,193,249] let s:lib.Codec.encoding_table['26129'] = [143,193,250] let s:lib.Codec.encoding_table['26130'] = [143,193,251] let s:lib.Codec.encoding_table['26133'] = [143,193,252] let s:lib.Codec.encoding_table['26134'] = [143,193,253] let s:lib.Codec.encoding_table['26141'] = [143,193,254] let s:lib.Codec.encoding_table['26142'] = [143,194,161] let s:lib.Codec.encoding_table['26145'] = [143,194,162] let s:lib.Codec.encoding_table['26146'] = [143,194,163] let s:lib.Codec.encoding_table['26147'] = [143,194,164] let s:lib.Codec.encoding_table['26148'] = [143,194,165] let s:lib.Codec.encoding_table['26150'] = [143,194,166] let s:lib.Codec.encoding_table['26153'] = [143,194,167] let s:lib.Codec.encoding_table['26154'] = [143,194,168] let s:lib.Codec.encoding_table['26155'] = [143,194,169] let s:lib.Codec.encoding_table['26156'] = [143,194,170] let s:lib.Codec.encoding_table['26158'] = [143,194,171] let s:lib.Codec.encoding_table['26160'] = [143,194,172] let s:lib.Codec.encoding_table['26161'] = [143,194,173] let s:lib.Codec.encoding_table['26163'] = [143,194,174] let s:lib.Codec.encoding_table['26169'] = [143,194,175] let s:lib.Codec.encoding_table['26167'] = [143,194,176] let s:lib.Codec.encoding_table['26176'] = [143,194,177] let s:lib.Codec.encoding_table['26181'] = [143,194,178] let s:lib.Codec.encoding_table['26182'] = [143,194,179] let s:lib.Codec.encoding_table['26186'] = [143,194,180] let s:lib.Codec.encoding_table['26188'] = [143,194,181] let s:lib.Codec.encoding_table['26193'] = [143,194,182] let s:lib.Codec.encoding_table['26190'] = [143,194,183] let s:lib.Codec.encoding_table['26199'] = [143,194,184] let s:lib.Codec.encoding_table['26200'] = [143,194,185] let s:lib.Codec.encoding_table['26201'] = [143,194,186] let s:lib.Codec.encoding_table['26203'] = [143,194,187] let s:lib.Codec.encoding_table['26204'] = [143,194,188] let s:lib.Codec.encoding_table['26208'] = [143,194,189] let s:lib.Codec.encoding_table['26209'] = [143,194,190] let s:lib.Codec.encoding_table['26363'] = [143,194,191] let s:lib.Codec.encoding_table['26218'] = [143,194,192] let s:lib.Codec.encoding_table['26219'] = [143,194,193] let s:lib.Codec.encoding_table['26220'] = [143,194,194] let s:lib.Codec.encoding_table['26238'] = [143,194,195] let s:lib.Codec.encoding_table['26227'] = [143,194,196] let s:lib.Codec.encoding_table['26229'] = [143,194,197] let s:lib.Codec.encoding_table['26239'] = [143,194,198] let s:lib.Codec.encoding_table['26231'] = [143,194,199] let s:lib.Codec.encoding_table['26232'] = [143,194,200] let s:lib.Codec.encoding_table['26233'] = [143,194,201] let s:lib.Codec.encoding_table['26235'] = [143,194,202] let s:lib.Codec.encoding_table['26240'] = [143,194,203] let s:lib.Codec.encoding_table['26236'] = [143,194,204] let s:lib.Codec.encoding_table['26251'] = [143,194,205] let s:lib.Codec.encoding_table['26252'] = [143,194,206] let s:lib.Codec.encoding_table['26253'] = [143,194,207] let s:lib.Codec.encoding_table['26256'] = [143,194,208] let s:lib.Codec.encoding_table['26258'] = [143,194,209] let s:lib.Codec.encoding_table['26265'] = [143,194,210] let s:lib.Codec.encoding_table['26266'] = [143,194,211] let s:lib.Codec.encoding_table['26267'] = [143,194,212] let s:lib.Codec.encoding_table['26268'] = [143,194,213] let s:lib.Codec.encoding_table['26271'] = [143,194,214] let s:lib.Codec.encoding_table['26272'] = [143,194,215] let s:lib.Codec.encoding_table['26276'] = [143,194,216] let s:lib.Codec.encoding_table['26285'] = [143,194,217] let s:lib.Codec.encoding_table['26289'] = [143,194,218] let s:lib.Codec.encoding_table['26290'] = [143,194,219] let s:lib.Codec.encoding_table['26293'] = [143,194,220] let s:lib.Codec.encoding_table['26299'] = [143,194,221] let s:lib.Codec.encoding_table['26303'] = [143,194,222] let s:lib.Codec.encoding_table['26304'] = [143,194,223] let s:lib.Codec.encoding_table['26306'] = [143,194,224] let s:lib.Codec.encoding_table['26307'] = [143,194,225] let s:lib.Codec.encoding_table['26312'] = [143,194,226] let s:lib.Codec.encoding_table['26316'] = [143,194,227] let s:lib.Codec.encoding_table['26318'] = [143,194,228] let s:lib.Codec.encoding_table['26319'] = [143,194,229] let s:lib.Codec.encoding_table['26324'] = [143,194,230] let s:lib.Codec.encoding_table['26331'] = [143,194,231] let s:lib.Codec.encoding_table['26335'] = [143,194,232] let s:lib.Codec.encoding_table['26344'] = [143,194,233] let s:lib.Codec.encoding_table['26347'] = [143,194,234] let s:lib.Codec.encoding_table['26348'] = [143,194,235] let s:lib.Codec.encoding_table['26350'] = [143,194,236] let s:lib.Codec.encoding_table['26362'] = [143,194,237] let s:lib.Codec.encoding_table['26373'] = [143,194,238] let s:lib.Codec.encoding_table['26375'] = [143,194,239] let s:lib.Codec.encoding_table['26382'] = [143,194,240] let s:lib.Codec.encoding_table['26387'] = [143,194,241] let s:lib.Codec.encoding_table['26393'] = [143,194,242] let s:lib.Codec.encoding_table['26396'] = [143,194,243] let s:lib.Codec.encoding_table['26400'] = [143,194,244] let s:lib.Codec.encoding_table['26402'] = [143,194,245] let s:lib.Codec.encoding_table['26419'] = [143,194,246] let s:lib.Codec.encoding_table['26430'] = [143,194,247] let s:lib.Codec.encoding_table['26437'] = [143,194,248] let s:lib.Codec.encoding_table['26439'] = [143,194,249] let s:lib.Codec.encoding_table['26440'] = [143,194,250] let s:lib.Codec.encoding_table['26444'] = [143,194,251] let s:lib.Codec.encoding_table['26452'] = [143,194,252] let s:lib.Codec.encoding_table['26453'] = [143,194,253] let s:lib.Codec.encoding_table['26461'] = [143,194,254] let s:lib.Codec.encoding_table['26470'] = [143,195,161] let s:lib.Codec.encoding_table['26476'] = [143,195,162] let s:lib.Codec.encoding_table['26478'] = [143,195,163] let s:lib.Codec.encoding_table['26484'] = [143,195,164] let s:lib.Codec.encoding_table['26486'] = [143,195,165] let s:lib.Codec.encoding_table['26491'] = [143,195,166] let s:lib.Codec.encoding_table['26497'] = [143,195,167] let s:lib.Codec.encoding_table['26500'] = [143,195,168] let s:lib.Codec.encoding_table['26510'] = [143,195,169] let s:lib.Codec.encoding_table['26511'] = [143,195,170] let s:lib.Codec.encoding_table['26513'] = [143,195,171] let s:lib.Codec.encoding_table['26515'] = [143,195,172] let s:lib.Codec.encoding_table['26518'] = [143,195,173] let s:lib.Codec.encoding_table['26520'] = [143,195,174] let s:lib.Codec.encoding_table['26521'] = [143,195,175] let s:lib.Codec.encoding_table['26523'] = [143,195,176] let s:lib.Codec.encoding_table['26544'] = [143,195,177] let s:lib.Codec.encoding_table['26545'] = [143,195,178] let s:lib.Codec.encoding_table['26546'] = [143,195,179] let s:lib.Codec.encoding_table['26549'] = [143,195,180] let s:lib.Codec.encoding_table['26555'] = [143,195,181] let s:lib.Codec.encoding_table['26556'] = [143,195,182] let s:lib.Codec.encoding_table['26557'] = [143,195,183] let s:lib.Codec.encoding_table['26617'] = [143,195,184] let s:lib.Codec.encoding_table['26560'] = [143,195,185] let s:lib.Codec.encoding_table['26562'] = [143,195,186] let s:lib.Codec.encoding_table['26563'] = [143,195,187] let s:lib.Codec.encoding_table['26565'] = [143,195,188] let s:lib.Codec.encoding_table['26568'] = [143,195,189] let s:lib.Codec.encoding_table['26569'] = [143,195,190] let s:lib.Codec.encoding_table['26578'] = [143,195,191] let s:lib.Codec.encoding_table['26583'] = [143,195,192] let s:lib.Codec.encoding_table['26585'] = [143,195,193] let s:lib.Codec.encoding_table['26588'] = [143,195,194] let s:lib.Codec.encoding_table['26593'] = [143,195,195] let s:lib.Codec.encoding_table['26598'] = [143,195,196] let s:lib.Codec.encoding_table['26608'] = [143,195,197] let s:lib.Codec.encoding_table['26610'] = [143,195,198] let s:lib.Codec.encoding_table['26614'] = [143,195,199] let s:lib.Codec.encoding_table['26615'] = [143,195,200] let s:lib.Codec.encoding_table['26706'] = [143,195,201] let s:lib.Codec.encoding_table['26644'] = [143,195,202] let s:lib.Codec.encoding_table['26649'] = [143,195,203] let s:lib.Codec.encoding_table['26653'] = [143,195,204] let s:lib.Codec.encoding_table['26655'] = [143,195,205] let s:lib.Codec.encoding_table['26664'] = [143,195,206] let s:lib.Codec.encoding_table['26663'] = [143,195,207] let s:lib.Codec.encoding_table['26668'] = [143,195,208] let s:lib.Codec.encoding_table['26669'] = [143,195,209] let s:lib.Codec.encoding_table['26671'] = [143,195,210] let s:lib.Codec.encoding_table['26672'] = [143,195,211] let s:lib.Codec.encoding_table['26673'] = [143,195,212] let s:lib.Codec.encoding_table['26675'] = [143,195,213] let s:lib.Codec.encoding_table['26683'] = [143,195,214] let s:lib.Codec.encoding_table['26687'] = [143,195,215] let s:lib.Codec.encoding_table['26692'] = [143,195,216] let s:lib.Codec.encoding_table['26693'] = [143,195,217] let s:lib.Codec.encoding_table['26698'] = [143,195,218] let s:lib.Codec.encoding_table['26700'] = [143,195,219] let s:lib.Codec.encoding_table['26709'] = [143,195,220] let s:lib.Codec.encoding_table['26711'] = [143,195,221] let s:lib.Codec.encoding_table['26712'] = [143,195,222] let s:lib.Codec.encoding_table['26715'] = [143,195,223] let s:lib.Codec.encoding_table['26731'] = [143,195,224] let s:lib.Codec.encoding_table['26734'] = [143,195,225] let s:lib.Codec.encoding_table['26735'] = [143,195,226] let s:lib.Codec.encoding_table['26736'] = [143,195,227] let s:lib.Codec.encoding_table['26737'] = [143,195,228] let s:lib.Codec.encoding_table['26738'] = [143,195,229] let s:lib.Codec.encoding_table['26741'] = [143,195,230] let s:lib.Codec.encoding_table['26745'] = [143,195,231] let s:lib.Codec.encoding_table['26746'] = [143,195,232] let s:lib.Codec.encoding_table['26747'] = [143,195,233] let s:lib.Codec.encoding_table['26748'] = [143,195,234] let s:lib.Codec.encoding_table['26754'] = [143,195,235] let s:lib.Codec.encoding_table['26756'] = [143,195,236] let s:lib.Codec.encoding_table['26758'] = [143,195,237] let s:lib.Codec.encoding_table['26760'] = [143,195,238] let s:lib.Codec.encoding_table['26774'] = [143,195,239] let s:lib.Codec.encoding_table['26776'] = [143,195,240] let s:lib.Codec.encoding_table['26778'] = [143,195,241] let s:lib.Codec.encoding_table['26780'] = [143,195,242] let s:lib.Codec.encoding_table['26785'] = [143,195,243] let s:lib.Codec.encoding_table['26787'] = [143,195,244] let s:lib.Codec.encoding_table['26789'] = [143,195,245] let s:lib.Codec.encoding_table['26793'] = [143,195,246] let s:lib.Codec.encoding_table['26794'] = [143,195,247] let s:lib.Codec.encoding_table['26798'] = [143,195,248] let s:lib.Codec.encoding_table['26802'] = [143,195,249] let s:lib.Codec.encoding_table['26811'] = [143,195,250] let s:lib.Codec.encoding_table['26821'] = [143,195,251] let s:lib.Codec.encoding_table['26824'] = [143,195,252] let s:lib.Codec.encoding_table['26828'] = [143,195,253] let s:lib.Codec.encoding_table['26831'] = [143,195,254] let s:lib.Codec.encoding_table['26832'] = [143,196,161] let s:lib.Codec.encoding_table['26833'] = [143,196,162] let s:lib.Codec.encoding_table['26835'] = [143,196,163] let s:lib.Codec.encoding_table['26838'] = [143,196,164] let s:lib.Codec.encoding_table['26841'] = [143,196,165] let s:lib.Codec.encoding_table['26844'] = [143,196,166] let s:lib.Codec.encoding_table['26845'] = [143,196,167] let s:lib.Codec.encoding_table['26853'] = [143,196,168] let s:lib.Codec.encoding_table['26856'] = [143,196,169] let s:lib.Codec.encoding_table['26858'] = [143,196,170] let s:lib.Codec.encoding_table['26859'] = [143,196,171] let s:lib.Codec.encoding_table['26860'] = [143,196,172] let s:lib.Codec.encoding_table['26861'] = [143,196,173] let s:lib.Codec.encoding_table['26864'] = [143,196,174] let s:lib.Codec.encoding_table['26865'] = [143,196,175] let s:lib.Codec.encoding_table['26869'] = [143,196,176] let s:lib.Codec.encoding_table['26870'] = [143,196,177] let s:lib.Codec.encoding_table['26875'] = [143,196,178] let s:lib.Codec.encoding_table['26876'] = [143,196,179] let s:lib.Codec.encoding_table['26877'] = [143,196,180] let s:lib.Codec.encoding_table['26886'] = [143,196,181] let s:lib.Codec.encoding_table['26889'] = [143,196,182] let s:lib.Codec.encoding_table['26890'] = [143,196,183] let s:lib.Codec.encoding_table['26896'] = [143,196,184] let s:lib.Codec.encoding_table['26897'] = [143,196,185] let s:lib.Codec.encoding_table['26899'] = [143,196,186] let s:lib.Codec.encoding_table['26902'] = [143,196,187] let s:lib.Codec.encoding_table['26903'] = [143,196,188] let s:lib.Codec.encoding_table['26929'] = [143,196,189] let s:lib.Codec.encoding_table['26931'] = [143,196,190] let s:lib.Codec.encoding_table['26933'] = [143,196,191] let s:lib.Codec.encoding_table['26936'] = [143,196,192] let s:lib.Codec.encoding_table['26939'] = [143,196,193] let s:lib.Codec.encoding_table['26946'] = [143,196,194] let s:lib.Codec.encoding_table['26949'] = [143,196,195] let s:lib.Codec.encoding_table['26953'] = [143,196,196] let s:lib.Codec.encoding_table['26958'] = [143,196,197] let s:lib.Codec.encoding_table['26967'] = [143,196,198] let s:lib.Codec.encoding_table['26971'] = [143,196,199] let s:lib.Codec.encoding_table['26979'] = [143,196,200] let s:lib.Codec.encoding_table['26980'] = [143,196,201] let s:lib.Codec.encoding_table['26981'] = [143,196,202] let s:lib.Codec.encoding_table['26982'] = [143,196,203] let s:lib.Codec.encoding_table['26984'] = [143,196,204] let s:lib.Codec.encoding_table['26985'] = [143,196,205] let s:lib.Codec.encoding_table['26988'] = [143,196,206] let s:lib.Codec.encoding_table['26992'] = [143,196,207] let s:lib.Codec.encoding_table['26993'] = [143,196,208] let s:lib.Codec.encoding_table['26994'] = [143,196,209] let s:lib.Codec.encoding_table['27002'] = [143,196,210] let s:lib.Codec.encoding_table['27003'] = [143,196,211] let s:lib.Codec.encoding_table['27007'] = [143,196,212] let s:lib.Codec.encoding_table['27008'] = [143,196,213] let s:lib.Codec.encoding_table['27021'] = [143,196,214] let s:lib.Codec.encoding_table['27026'] = [143,196,215] let s:lib.Codec.encoding_table['27030'] = [143,196,216] let s:lib.Codec.encoding_table['27032'] = [143,196,217] let s:lib.Codec.encoding_table['27041'] = [143,196,218] let s:lib.Codec.encoding_table['27045'] = [143,196,219] let s:lib.Codec.encoding_table['27046'] = [143,196,220] let s:lib.Codec.encoding_table['27048'] = [143,196,221] let s:lib.Codec.encoding_table['27051'] = [143,196,222] let s:lib.Codec.encoding_table['27053'] = [143,196,223] let s:lib.Codec.encoding_table['27055'] = [143,196,224] let s:lib.Codec.encoding_table['27063'] = [143,196,225] let s:lib.Codec.encoding_table['27064'] = [143,196,226] let s:lib.Codec.encoding_table['27066'] = [143,196,227] let s:lib.Codec.encoding_table['27068'] = [143,196,228] let s:lib.Codec.encoding_table['27077'] = [143,196,229] let s:lib.Codec.encoding_table['27080'] = [143,196,230] let s:lib.Codec.encoding_table['27089'] = [143,196,231] let s:lib.Codec.encoding_table['27094'] = [143,196,232] let s:lib.Codec.encoding_table['27095'] = [143,196,233] let s:lib.Codec.encoding_table['27106'] = [143,196,234] let s:lib.Codec.encoding_table['27109'] = [143,196,235] let s:lib.Codec.encoding_table['27118'] = [143,196,236] let s:lib.Codec.encoding_table['27119'] = [143,196,237] let s:lib.Codec.encoding_table['27121'] = [143,196,238] let s:lib.Codec.encoding_table['27123'] = [143,196,239] let s:lib.Codec.encoding_table['27125'] = [143,196,240] let s:lib.Codec.encoding_table['27134'] = [143,196,241] let s:lib.Codec.encoding_table['27136'] = [143,196,242] let s:lib.Codec.encoding_table['27137'] = [143,196,243] let s:lib.Codec.encoding_table['27139'] = [143,196,244] let s:lib.Codec.encoding_table['27151'] = [143,196,245] let s:lib.Codec.encoding_table['27153'] = [143,196,246] let s:lib.Codec.encoding_table['27157'] = [143,196,247] let s:lib.Codec.encoding_table['27162'] = [143,196,248] let s:lib.Codec.encoding_table['27165'] = [143,196,249] let s:lib.Codec.encoding_table['27168'] = [143,196,250] let s:lib.Codec.encoding_table['27172'] = [143,196,251] let s:lib.Codec.encoding_table['27176'] = [143,196,252] let s:lib.Codec.encoding_table['27184'] = [143,196,253] let s:lib.Codec.encoding_table['27186'] = [143,196,254] let s:lib.Codec.encoding_table['27188'] = [143,197,161] let s:lib.Codec.encoding_table['27191'] = [143,197,162] let s:lib.Codec.encoding_table['27195'] = [143,197,163] let s:lib.Codec.encoding_table['27198'] = [143,197,164] let s:lib.Codec.encoding_table['27199'] = [143,197,165] let s:lib.Codec.encoding_table['27205'] = [143,197,166] let s:lib.Codec.encoding_table['27206'] = [143,197,167] let s:lib.Codec.encoding_table['27209'] = [143,197,168] let s:lib.Codec.encoding_table['27210'] = [143,197,169] let s:lib.Codec.encoding_table['27214'] = [143,197,170] let s:lib.Codec.encoding_table['27216'] = [143,197,171] let s:lib.Codec.encoding_table['27217'] = [143,197,172] let s:lib.Codec.encoding_table['27218'] = [143,197,173] let s:lib.Codec.encoding_table['27221'] = [143,197,174] let s:lib.Codec.encoding_table['27222'] = [143,197,175] let s:lib.Codec.encoding_table['27227'] = [143,197,176] let s:lib.Codec.encoding_table['27236'] = [143,197,177] let s:lib.Codec.encoding_table['27239'] = [143,197,178] let s:lib.Codec.encoding_table['27242'] = [143,197,179] let s:lib.Codec.encoding_table['27249'] = [143,197,180] let s:lib.Codec.encoding_table['27251'] = [143,197,181] let s:lib.Codec.encoding_table['27262'] = [143,197,182] let s:lib.Codec.encoding_table['27265'] = [143,197,183] let s:lib.Codec.encoding_table['27267'] = [143,197,184] let s:lib.Codec.encoding_table['27270'] = [143,197,185] let s:lib.Codec.encoding_table['27271'] = [143,197,186] let s:lib.Codec.encoding_table['27273'] = [143,197,187] let s:lib.Codec.encoding_table['27275'] = [143,197,188] let s:lib.Codec.encoding_table['27281'] = [143,197,189] let s:lib.Codec.encoding_table['27291'] = [143,197,190] let s:lib.Codec.encoding_table['27293'] = [143,197,191] let s:lib.Codec.encoding_table['27294'] = [143,197,192] let s:lib.Codec.encoding_table['27295'] = [143,197,193] let s:lib.Codec.encoding_table['27301'] = [143,197,194] let s:lib.Codec.encoding_table['27307'] = [143,197,195] let s:lib.Codec.encoding_table['27311'] = [143,197,196] let s:lib.Codec.encoding_table['27312'] = [143,197,197] let s:lib.Codec.encoding_table['27313'] = [143,197,198] let s:lib.Codec.encoding_table['27316'] = [143,197,199] let s:lib.Codec.encoding_table['27325'] = [143,197,200] let s:lib.Codec.encoding_table['27326'] = [143,197,201] let s:lib.Codec.encoding_table['27327'] = [143,197,202] let s:lib.Codec.encoding_table['27334'] = [143,197,203] let s:lib.Codec.encoding_table['27337'] = [143,197,204] let s:lib.Codec.encoding_table['27336'] = [143,197,205] let s:lib.Codec.encoding_table['27340'] = [143,197,206] let s:lib.Codec.encoding_table['27344'] = [143,197,207] let s:lib.Codec.encoding_table['27348'] = [143,197,208] let s:lib.Codec.encoding_table['27349'] = [143,197,209] let s:lib.Codec.encoding_table['27350'] = [143,197,210] let s:lib.Codec.encoding_table['27356'] = [143,197,211] let s:lib.Codec.encoding_table['27357'] = [143,197,212] let s:lib.Codec.encoding_table['27364'] = [143,197,213] let s:lib.Codec.encoding_table['27367'] = [143,197,214] let s:lib.Codec.encoding_table['27372'] = [143,197,215] let s:lib.Codec.encoding_table['27376'] = [143,197,216] let s:lib.Codec.encoding_table['27377'] = [143,197,217] let s:lib.Codec.encoding_table['27378'] = [143,197,218] let s:lib.Codec.encoding_table['27388'] = [143,197,219] let s:lib.Codec.encoding_table['27389'] = [143,197,220] let s:lib.Codec.encoding_table['27394'] = [143,197,221] let s:lib.Codec.encoding_table['27395'] = [143,197,222] let s:lib.Codec.encoding_table['27398'] = [143,197,223] let s:lib.Codec.encoding_table['27399'] = [143,197,224] let s:lib.Codec.encoding_table['27401'] = [143,197,225] let s:lib.Codec.encoding_table['27407'] = [143,197,226] let s:lib.Codec.encoding_table['27408'] = [143,197,227] let s:lib.Codec.encoding_table['27409'] = [143,197,228] let s:lib.Codec.encoding_table['27415'] = [143,197,229] let s:lib.Codec.encoding_table['27419'] = [143,197,230] let s:lib.Codec.encoding_table['27422'] = [143,197,231] let s:lib.Codec.encoding_table['27428'] = [143,197,232] let s:lib.Codec.encoding_table['27432'] = [143,197,233] let s:lib.Codec.encoding_table['27435'] = [143,197,234] let s:lib.Codec.encoding_table['27436'] = [143,197,235] let s:lib.Codec.encoding_table['27439'] = [143,197,236] let s:lib.Codec.encoding_table['27445'] = [143,197,237] let s:lib.Codec.encoding_table['27446'] = [143,197,238] let s:lib.Codec.encoding_table['27451'] = [143,197,239] let s:lib.Codec.encoding_table['27455'] = [143,197,240] let s:lib.Codec.encoding_table['27462'] = [143,197,241] let s:lib.Codec.encoding_table['27466'] = [143,197,242] let s:lib.Codec.encoding_table['27469'] = [143,197,243] let s:lib.Codec.encoding_table['27474'] = [143,197,244] let s:lib.Codec.encoding_table['27478'] = [143,197,245] let s:lib.Codec.encoding_table['27480'] = [143,197,246] let s:lib.Codec.encoding_table['27485'] = [143,197,247] let s:lib.Codec.encoding_table['27488'] = [143,197,248] let s:lib.Codec.encoding_table['27495'] = [143,197,249] let s:lib.Codec.encoding_table['27499'] = [143,197,250] let s:lib.Codec.encoding_table['27502'] = [143,197,251] let s:lib.Codec.encoding_table['27504'] = [143,197,252] let s:lib.Codec.encoding_table['27509'] = [143,197,253] let s:lib.Codec.encoding_table['27517'] = [143,197,254] let s:lib.Codec.encoding_table['27518'] = [143,198,161] let s:lib.Codec.encoding_table['27522'] = [143,198,162] let s:lib.Codec.encoding_table['27525'] = [143,198,163] let s:lib.Codec.encoding_table['27543'] = [143,198,164] let s:lib.Codec.encoding_table['27547'] = [143,198,165] let s:lib.Codec.encoding_table['27551'] = [143,198,166] let s:lib.Codec.encoding_table['27552'] = [143,198,167] let s:lib.Codec.encoding_table['27554'] = [143,198,168] let s:lib.Codec.encoding_table['27555'] = [143,198,169] let s:lib.Codec.encoding_table['27560'] = [143,198,170] let s:lib.Codec.encoding_table['27561'] = [143,198,171] let s:lib.Codec.encoding_table['27564'] = [143,198,172] let s:lib.Codec.encoding_table['27565'] = [143,198,173] let s:lib.Codec.encoding_table['27566'] = [143,198,174] let s:lib.Codec.encoding_table['27568'] = [143,198,175] let s:lib.Codec.encoding_table['27576'] = [143,198,176] let s:lib.Codec.encoding_table['27577'] = [143,198,177] let s:lib.Codec.encoding_table['27581'] = [143,198,178] let s:lib.Codec.encoding_table['27582'] = [143,198,179] let s:lib.Codec.encoding_table['27587'] = [143,198,180] let s:lib.Codec.encoding_table['27588'] = [143,198,181] let s:lib.Codec.encoding_table['27593'] = [143,198,182] let s:lib.Codec.encoding_table['27596'] = [143,198,183] let s:lib.Codec.encoding_table['27606'] = [143,198,184] let s:lib.Codec.encoding_table['27610'] = [143,198,185] let s:lib.Codec.encoding_table['27617'] = [143,198,186] let s:lib.Codec.encoding_table['27619'] = [143,198,187] let s:lib.Codec.encoding_table['27622'] = [143,198,188] let s:lib.Codec.encoding_table['27623'] = [143,198,189] let s:lib.Codec.encoding_table['27630'] = [143,198,190] let s:lib.Codec.encoding_table['27633'] = [143,198,191] let s:lib.Codec.encoding_table['27639'] = [143,198,192] let s:lib.Codec.encoding_table['27641'] = [143,198,193] let s:lib.Codec.encoding_table['27647'] = [143,198,194] let s:lib.Codec.encoding_table['27650'] = [143,198,195] let s:lib.Codec.encoding_table['27652'] = [143,198,196] let s:lib.Codec.encoding_table['27653'] = [143,198,197] let s:lib.Codec.encoding_table['27657'] = [143,198,198] let s:lib.Codec.encoding_table['27661'] = [143,198,199] let s:lib.Codec.encoding_table['27662'] = [143,198,200] let s:lib.Codec.encoding_table['27664'] = [143,198,201] let s:lib.Codec.encoding_table['27666'] = [143,198,202] let s:lib.Codec.encoding_table['27673'] = [143,198,203] let s:lib.Codec.encoding_table['27679'] = [143,198,204] let s:lib.Codec.encoding_table['27686'] = [143,198,205] let s:lib.Codec.encoding_table['27687'] = [143,198,206] let s:lib.Codec.encoding_table['27688'] = [143,198,207] let s:lib.Codec.encoding_table['27692'] = [143,198,208] let s:lib.Codec.encoding_table['27694'] = [143,198,209] let s:lib.Codec.encoding_table['27699'] = [143,198,210] let s:lib.Codec.encoding_table['27701'] = [143,198,211] let s:lib.Codec.encoding_table['27702'] = [143,198,212] let s:lib.Codec.encoding_table['27706'] = [143,198,213] let s:lib.Codec.encoding_table['27707'] = [143,198,214] let s:lib.Codec.encoding_table['27711'] = [143,198,215] let s:lib.Codec.encoding_table['27722'] = [143,198,216] let s:lib.Codec.encoding_table['27723'] = [143,198,217] let s:lib.Codec.encoding_table['27725'] = [143,198,218] let s:lib.Codec.encoding_table['27727'] = [143,198,219] let s:lib.Codec.encoding_table['27730'] = [143,198,220] let s:lib.Codec.encoding_table['27732'] = [143,198,221] let s:lib.Codec.encoding_table['27737'] = [143,198,222] let s:lib.Codec.encoding_table['27739'] = [143,198,223] let s:lib.Codec.encoding_table['27740'] = [143,198,224] let s:lib.Codec.encoding_table['27755'] = [143,198,225] let s:lib.Codec.encoding_table['27757'] = [143,198,226] let s:lib.Codec.encoding_table['27759'] = [143,198,227] let s:lib.Codec.encoding_table['27764'] = [143,198,228] let s:lib.Codec.encoding_table['27766'] = [143,198,229] let s:lib.Codec.encoding_table['27768'] = [143,198,230] let s:lib.Codec.encoding_table['27769'] = [143,198,231] let s:lib.Codec.encoding_table['27771'] = [143,198,232] let s:lib.Codec.encoding_table['27781'] = [143,198,233] let s:lib.Codec.encoding_table['27782'] = [143,198,234] let s:lib.Codec.encoding_table['27783'] = [143,198,235] let s:lib.Codec.encoding_table['27785'] = [143,198,236] let s:lib.Codec.encoding_table['27796'] = [143,198,237] let s:lib.Codec.encoding_table['27797'] = [143,198,238] let s:lib.Codec.encoding_table['27799'] = [143,198,239] let s:lib.Codec.encoding_table['27800'] = [143,198,240] let s:lib.Codec.encoding_table['27804'] = [143,198,241] let s:lib.Codec.encoding_table['27807'] = [143,198,242] let s:lib.Codec.encoding_table['27824'] = [143,198,243] let s:lib.Codec.encoding_table['27826'] = [143,198,244] let s:lib.Codec.encoding_table['27828'] = [143,198,245] let s:lib.Codec.encoding_table['27842'] = [143,198,246] let s:lib.Codec.encoding_table['27846'] = [143,198,247] let s:lib.Codec.encoding_table['27853'] = [143,198,248] let s:lib.Codec.encoding_table['27855'] = [143,198,249] let s:lib.Codec.encoding_table['27856'] = [143,198,250] let s:lib.Codec.encoding_table['27857'] = [143,198,251] let s:lib.Codec.encoding_table['27858'] = [143,198,252] let s:lib.Codec.encoding_table['27860'] = [143,198,253] let s:lib.Codec.encoding_table['27862'] = [143,198,254] let s:lib.Codec.encoding_table['27866'] = [143,199,161] let s:lib.Codec.encoding_table['27868'] = [143,199,162] let s:lib.Codec.encoding_table['27872'] = [143,199,163] let s:lib.Codec.encoding_table['27879'] = [143,199,164] let s:lib.Codec.encoding_table['27881'] = [143,199,165] let s:lib.Codec.encoding_table['27883'] = [143,199,166] let s:lib.Codec.encoding_table['27884'] = [143,199,167] let s:lib.Codec.encoding_table['27886'] = [143,199,168] let s:lib.Codec.encoding_table['27890'] = [143,199,169] let s:lib.Codec.encoding_table['27892'] = [143,199,170] let s:lib.Codec.encoding_table['27908'] = [143,199,171] let s:lib.Codec.encoding_table['27911'] = [143,199,172] let s:lib.Codec.encoding_table['27914'] = [143,199,173] let s:lib.Codec.encoding_table['27918'] = [143,199,174] let s:lib.Codec.encoding_table['27919'] = [143,199,175] let s:lib.Codec.encoding_table['27921'] = [143,199,176] let s:lib.Codec.encoding_table['27923'] = [143,199,177] let s:lib.Codec.encoding_table['27930'] = [143,199,178] let s:lib.Codec.encoding_table['27942'] = [143,199,179] let s:lib.Codec.encoding_table['27943'] = [143,199,180] let s:lib.Codec.encoding_table['27944'] = [143,199,181] let s:lib.Codec.encoding_table['27751'] = [143,199,182] let s:lib.Codec.encoding_table['27950'] = [143,199,183] let s:lib.Codec.encoding_table['27951'] = [143,199,184] let s:lib.Codec.encoding_table['27953'] = [143,199,185] let s:lib.Codec.encoding_table['27961'] = [143,199,186] let s:lib.Codec.encoding_table['27964'] = [143,199,187] let s:lib.Codec.encoding_table['27967'] = [143,199,188] let s:lib.Codec.encoding_table['27991'] = [143,199,189] let s:lib.Codec.encoding_table['27998'] = [143,199,190] let s:lib.Codec.encoding_table['27999'] = [143,199,191] let s:lib.Codec.encoding_table['28001'] = [143,199,192] let s:lib.Codec.encoding_table['28005'] = [143,199,193] let s:lib.Codec.encoding_table['28007'] = [143,199,194] let s:lib.Codec.encoding_table['28015'] = [143,199,195] let s:lib.Codec.encoding_table['28016'] = [143,199,196] let s:lib.Codec.encoding_table['28028'] = [143,199,197] let s:lib.Codec.encoding_table['28034'] = [143,199,198] let s:lib.Codec.encoding_table['28039'] = [143,199,199] let s:lib.Codec.encoding_table['28049'] = [143,199,200] let s:lib.Codec.encoding_table['28050'] = [143,199,201] let s:lib.Codec.encoding_table['28052'] = [143,199,202] let s:lib.Codec.encoding_table['28054'] = [143,199,203] let s:lib.Codec.encoding_table['28055'] = [143,199,204] let s:lib.Codec.encoding_table['28056'] = [143,199,205] let s:lib.Codec.encoding_table['28074'] = [143,199,206] let s:lib.Codec.encoding_table['28076'] = [143,199,207] let s:lib.Codec.encoding_table['28084'] = [143,199,208] let s:lib.Codec.encoding_table['28087'] = [143,199,209] let s:lib.Codec.encoding_table['28089'] = [143,199,210] let s:lib.Codec.encoding_table['28093'] = [143,199,211] let s:lib.Codec.encoding_table['28095'] = [143,199,212] let s:lib.Codec.encoding_table['28100'] = [143,199,213] let s:lib.Codec.encoding_table['28104'] = [143,199,214] let s:lib.Codec.encoding_table['28106'] = [143,199,215] let s:lib.Codec.encoding_table['28110'] = [143,199,216] let s:lib.Codec.encoding_table['28111'] = [143,199,217] let s:lib.Codec.encoding_table['28118'] = [143,199,218] let s:lib.Codec.encoding_table['28123'] = [143,199,219] let s:lib.Codec.encoding_table['28125'] = [143,199,220] let s:lib.Codec.encoding_table['28127'] = [143,199,221] let s:lib.Codec.encoding_table['28128'] = [143,199,222] let s:lib.Codec.encoding_table['28130'] = [143,199,223] let s:lib.Codec.encoding_table['28133'] = [143,199,224] let s:lib.Codec.encoding_table['28137'] = [143,199,225] let s:lib.Codec.encoding_table['28143'] = [143,199,226] let s:lib.Codec.encoding_table['28144'] = [143,199,227] let s:lib.Codec.encoding_table['28148'] = [143,199,228] let s:lib.Codec.encoding_table['28150'] = [143,199,229] let s:lib.Codec.encoding_table['28156'] = [143,199,230] let s:lib.Codec.encoding_table['28160'] = [143,199,231] let s:lib.Codec.encoding_table['28164'] = [143,199,232] let s:lib.Codec.encoding_table['28190'] = [143,199,233] let s:lib.Codec.encoding_table['28194'] = [143,199,234] let s:lib.Codec.encoding_table['28199'] = [143,199,235] let s:lib.Codec.encoding_table['28210'] = [143,199,236] let s:lib.Codec.encoding_table['28214'] = [143,199,237] let s:lib.Codec.encoding_table['28217'] = [143,199,238] let s:lib.Codec.encoding_table['28219'] = [143,199,239] let s:lib.Codec.encoding_table['28220'] = [143,199,240] let s:lib.Codec.encoding_table['28228'] = [143,199,241] let s:lib.Codec.encoding_table['28229'] = [143,199,242] let s:lib.Codec.encoding_table['28232'] = [143,199,243] let s:lib.Codec.encoding_table['28233'] = [143,199,244] let s:lib.Codec.encoding_table['28235'] = [143,199,245] let s:lib.Codec.encoding_table['28239'] = [143,199,246] let s:lib.Codec.encoding_table['28241'] = [143,199,247] let s:lib.Codec.encoding_table['28242'] = [143,199,248] let s:lib.Codec.encoding_table['28243'] = [143,199,249] let s:lib.Codec.encoding_table['28244'] = [143,199,250] let s:lib.Codec.encoding_table['28247'] = [143,199,251] let s:lib.Codec.encoding_table['28252'] = [143,199,252] let s:lib.Codec.encoding_table['28253'] = [143,199,253] let s:lib.Codec.encoding_table['28254'] = [143,199,254] let s:lib.Codec.encoding_table['28258'] = [143,200,161] let s:lib.Codec.encoding_table['28259'] = [143,200,162] let s:lib.Codec.encoding_table['28264'] = [143,200,163] let s:lib.Codec.encoding_table['28275'] = [143,200,164] let s:lib.Codec.encoding_table['28283'] = [143,200,165] let s:lib.Codec.encoding_table['28285'] = [143,200,166] let s:lib.Codec.encoding_table['28301'] = [143,200,167] let s:lib.Codec.encoding_table['28307'] = [143,200,168] let s:lib.Codec.encoding_table['28313'] = [143,200,169] let s:lib.Codec.encoding_table['28320'] = [143,200,170] let s:lib.Codec.encoding_table['28327'] = [143,200,171] let s:lib.Codec.encoding_table['28333'] = [143,200,172] let s:lib.Codec.encoding_table['28334'] = [143,200,173] let s:lib.Codec.encoding_table['28337'] = [143,200,174] let s:lib.Codec.encoding_table['28339'] = [143,200,175] let s:lib.Codec.encoding_table['28347'] = [143,200,176] let s:lib.Codec.encoding_table['28351'] = [143,200,177] let s:lib.Codec.encoding_table['28352'] = [143,200,178] let s:lib.Codec.encoding_table['28353'] = [143,200,179] let s:lib.Codec.encoding_table['28355'] = [143,200,180] let s:lib.Codec.encoding_table['28359'] = [143,200,181] let s:lib.Codec.encoding_table['28360'] = [143,200,182] let s:lib.Codec.encoding_table['28362'] = [143,200,183] let s:lib.Codec.encoding_table['28365'] = [143,200,184] let s:lib.Codec.encoding_table['28366'] = [143,200,185] let s:lib.Codec.encoding_table['28367'] = [143,200,186] let s:lib.Codec.encoding_table['28395'] = [143,200,187] let s:lib.Codec.encoding_table['28397'] = [143,200,188] let s:lib.Codec.encoding_table['28398'] = [143,200,189] let s:lib.Codec.encoding_table['28409'] = [143,200,190] let s:lib.Codec.encoding_table['28411'] = [143,200,191] let s:lib.Codec.encoding_table['28413'] = [143,200,192] let s:lib.Codec.encoding_table['28420'] = [143,200,193] let s:lib.Codec.encoding_table['28424'] = [143,200,194] let s:lib.Codec.encoding_table['28426'] = [143,200,195] let s:lib.Codec.encoding_table['28428'] = [143,200,196] let s:lib.Codec.encoding_table['28429'] = [143,200,197] let s:lib.Codec.encoding_table['28438'] = [143,200,198] let s:lib.Codec.encoding_table['28440'] = [143,200,199] let s:lib.Codec.encoding_table['28442'] = [143,200,200] let s:lib.Codec.encoding_table['28443'] = [143,200,201] let s:lib.Codec.encoding_table['28454'] = [143,200,202] let s:lib.Codec.encoding_table['28457'] = [143,200,203] let s:lib.Codec.encoding_table['28458'] = [143,200,204] let s:lib.Codec.encoding_table['28463'] = [143,200,205] let s:lib.Codec.encoding_table['28464'] = [143,200,206] let s:lib.Codec.encoding_table['28467'] = [143,200,207] let s:lib.Codec.encoding_table['28470'] = [143,200,208] let s:lib.Codec.encoding_table['28475'] = [143,200,209] let s:lib.Codec.encoding_table['28476'] = [143,200,210] let s:lib.Codec.encoding_table['28461'] = [143,200,211] let s:lib.Codec.encoding_table['28495'] = [143,200,212] let s:lib.Codec.encoding_table['28497'] = [143,200,213] let s:lib.Codec.encoding_table['28498'] = [143,200,214] let s:lib.Codec.encoding_table['28499'] = [143,200,215] let s:lib.Codec.encoding_table['28503'] = [143,200,216] let s:lib.Codec.encoding_table['28505'] = [143,200,217] let s:lib.Codec.encoding_table['28506'] = [143,200,218] let s:lib.Codec.encoding_table['28509'] = [143,200,219] let s:lib.Codec.encoding_table['28510'] = [143,200,220] let s:lib.Codec.encoding_table['28513'] = [143,200,221] let s:lib.Codec.encoding_table['28514'] = [143,200,222] let s:lib.Codec.encoding_table['28520'] = [143,200,223] let s:lib.Codec.encoding_table['28524'] = [143,200,224] let s:lib.Codec.encoding_table['28541'] = [143,200,225] let s:lib.Codec.encoding_table['28542'] = [143,200,226] let s:lib.Codec.encoding_table['28547'] = [143,200,227] let s:lib.Codec.encoding_table['28551'] = [143,200,228] let s:lib.Codec.encoding_table['28552'] = [143,200,229] let s:lib.Codec.encoding_table['28555'] = [143,200,230] let s:lib.Codec.encoding_table['28556'] = [143,200,231] let s:lib.Codec.encoding_table['28557'] = [143,200,232] let s:lib.Codec.encoding_table['28560'] = [143,200,233] let s:lib.Codec.encoding_table['28562'] = [143,200,234] let s:lib.Codec.encoding_table['28563'] = [143,200,235] let s:lib.Codec.encoding_table['28564'] = [143,200,236] let s:lib.Codec.encoding_table['28566'] = [143,200,237] let s:lib.Codec.encoding_table['28570'] = [143,200,238] let s:lib.Codec.encoding_table['28575'] = [143,200,239] let s:lib.Codec.encoding_table['28576'] = [143,200,240] let s:lib.Codec.encoding_table['28581'] = [143,200,241] let s:lib.Codec.encoding_table['28582'] = [143,200,242] let s:lib.Codec.encoding_table['28583'] = [143,200,243] let s:lib.Codec.encoding_table['28584'] = [143,200,244] let s:lib.Codec.encoding_table['28590'] = [143,200,245] let s:lib.Codec.encoding_table['28591'] = [143,200,246] let s:lib.Codec.encoding_table['28592'] = [143,200,247] let s:lib.Codec.encoding_table['28597'] = [143,200,248] let s:lib.Codec.encoding_table['28598'] = [143,200,249] let s:lib.Codec.encoding_table['28604'] = [143,200,250] let s:lib.Codec.encoding_table['28613'] = [143,200,251] let s:lib.Codec.encoding_table['28615'] = [143,200,252] let s:lib.Codec.encoding_table['28616'] = [143,200,253] let s:lib.Codec.encoding_table['28618'] = [143,200,254] let s:lib.Codec.encoding_table['28634'] = [143,201,161] let s:lib.Codec.encoding_table['28638'] = [143,201,162] let s:lib.Codec.encoding_table['28648'] = [143,201,163] let s:lib.Codec.encoding_table['28649'] = [143,201,164] let s:lib.Codec.encoding_table['28656'] = [143,201,165] let s:lib.Codec.encoding_table['28661'] = [143,201,166] let s:lib.Codec.encoding_table['28665'] = [143,201,167] let s:lib.Codec.encoding_table['28668'] = [143,201,168] let s:lib.Codec.encoding_table['28669'] = [143,201,169] let s:lib.Codec.encoding_table['28672'] = [143,201,170] let s:lib.Codec.encoding_table['28677'] = [143,201,171] let s:lib.Codec.encoding_table['28678'] = [143,201,172] let s:lib.Codec.encoding_table['28679'] = [143,201,173] let s:lib.Codec.encoding_table['28685'] = [143,201,174] let s:lib.Codec.encoding_table['28695'] = [143,201,175] let s:lib.Codec.encoding_table['28704'] = [143,201,176] let s:lib.Codec.encoding_table['28707'] = [143,201,177] let s:lib.Codec.encoding_table['28719'] = [143,201,178] let s:lib.Codec.encoding_table['28724'] = [143,201,179] let s:lib.Codec.encoding_table['28727'] = [143,201,180] let s:lib.Codec.encoding_table['28729'] = [143,201,181] let s:lib.Codec.encoding_table['28732'] = [143,201,182] let s:lib.Codec.encoding_table['28739'] = [143,201,183] let s:lib.Codec.encoding_table['28740'] = [143,201,184] let s:lib.Codec.encoding_table['28744'] = [143,201,185] let s:lib.Codec.encoding_table['28745'] = [143,201,186] let s:lib.Codec.encoding_table['28746'] = [143,201,187] let s:lib.Codec.encoding_table['28747'] = [143,201,188] let s:lib.Codec.encoding_table['28756'] = [143,201,189] let s:lib.Codec.encoding_table['28757'] = [143,201,190] let s:lib.Codec.encoding_table['28765'] = [143,201,191] let s:lib.Codec.encoding_table['28766'] = [143,201,192] let s:lib.Codec.encoding_table['28750'] = [143,201,193] let s:lib.Codec.encoding_table['28772'] = [143,201,194] let s:lib.Codec.encoding_table['28773'] = [143,201,195] let s:lib.Codec.encoding_table['28780'] = [143,201,196] let s:lib.Codec.encoding_table['28782'] = [143,201,197] let s:lib.Codec.encoding_table['28789'] = [143,201,198] let s:lib.Codec.encoding_table['28790'] = [143,201,199] let s:lib.Codec.encoding_table['28798'] = [143,201,200] let s:lib.Codec.encoding_table['28801'] = [143,201,201] let s:lib.Codec.encoding_table['28805'] = [143,201,202] let s:lib.Codec.encoding_table['28806'] = [143,201,203] let s:lib.Codec.encoding_table['28820'] = [143,201,204] let s:lib.Codec.encoding_table['28821'] = [143,201,205] let s:lib.Codec.encoding_table['28822'] = [143,201,206] let s:lib.Codec.encoding_table['28823'] = [143,201,207] let s:lib.Codec.encoding_table['28824'] = [143,201,208] let s:lib.Codec.encoding_table['28827'] = [143,201,209] let s:lib.Codec.encoding_table['28836'] = [143,201,210] let s:lib.Codec.encoding_table['28843'] = [143,201,211] let s:lib.Codec.encoding_table['28848'] = [143,201,212] let s:lib.Codec.encoding_table['28849'] = [143,201,213] let s:lib.Codec.encoding_table['28852'] = [143,201,214] let s:lib.Codec.encoding_table['28855'] = [143,201,215] let s:lib.Codec.encoding_table['28874'] = [143,201,216] let s:lib.Codec.encoding_table['28881'] = [143,201,217] let s:lib.Codec.encoding_table['28883'] = [143,201,218] let s:lib.Codec.encoding_table['28884'] = [143,201,219] let s:lib.Codec.encoding_table['28885'] = [143,201,220] let s:lib.Codec.encoding_table['28886'] = [143,201,221] let s:lib.Codec.encoding_table['28888'] = [143,201,222] let s:lib.Codec.encoding_table['28892'] = [143,201,223] let s:lib.Codec.encoding_table['28900'] = [143,201,224] let s:lib.Codec.encoding_table['28922'] = [143,201,225] let s:lib.Codec.encoding_table['28931'] = [143,201,226] let s:lib.Codec.encoding_table['28932'] = [143,201,227] let s:lib.Codec.encoding_table['28933'] = [143,201,228] let s:lib.Codec.encoding_table['28934'] = [143,201,229] let s:lib.Codec.encoding_table['28935'] = [143,201,230] let s:lib.Codec.encoding_table['28939'] = [143,201,231] let s:lib.Codec.encoding_table['28940'] = [143,201,232] let s:lib.Codec.encoding_table['28943'] = [143,201,233] let s:lib.Codec.encoding_table['28958'] = [143,201,234] let s:lib.Codec.encoding_table['28960'] = [143,201,235] let s:lib.Codec.encoding_table['28971'] = [143,201,236] let s:lib.Codec.encoding_table['28973'] = [143,201,237] let s:lib.Codec.encoding_table['28975'] = [143,201,238] let s:lib.Codec.encoding_table['28976'] = [143,201,239] let s:lib.Codec.encoding_table['28977'] = [143,201,240] let s:lib.Codec.encoding_table['28984'] = [143,201,241] let s:lib.Codec.encoding_table['28993'] = [143,201,242] let s:lib.Codec.encoding_table['28997'] = [143,201,243] let s:lib.Codec.encoding_table['28998'] = [143,201,244] let s:lib.Codec.encoding_table['28999'] = [143,201,245] let s:lib.Codec.encoding_table['29002'] = [143,201,246] let s:lib.Codec.encoding_table['29003'] = [143,201,247] let s:lib.Codec.encoding_table['29008'] = [143,201,248] let s:lib.Codec.encoding_table['29010'] = [143,201,249] let s:lib.Codec.encoding_table['29015'] = [143,201,250] let s:lib.Codec.encoding_table['29018'] = [143,201,251] let s:lib.Codec.encoding_table['29020'] = [143,201,252] let s:lib.Codec.encoding_table['29022'] = [143,201,253] let s:lib.Codec.encoding_table['29024'] = [143,201,254] let s:lib.Codec.encoding_table['29032'] = [143,202,161] let s:lib.Codec.encoding_table['29049'] = [143,202,162] let s:lib.Codec.encoding_table['29056'] = [143,202,163] let s:lib.Codec.encoding_table['29061'] = [143,202,164] let s:lib.Codec.encoding_table['29063'] = [143,202,165] let s:lib.Codec.encoding_table['29068'] = [143,202,166] let s:lib.Codec.encoding_table['29074'] = [143,202,167] let s:lib.Codec.encoding_table['29082'] = [143,202,168] let s:lib.Codec.encoding_table['29083'] = [143,202,169] let s:lib.Codec.encoding_table['29088'] = [143,202,170] let s:lib.Codec.encoding_table['29090'] = [143,202,171] let s:lib.Codec.encoding_table['29103'] = [143,202,172] let s:lib.Codec.encoding_table['29104'] = [143,202,173] let s:lib.Codec.encoding_table['29106'] = [143,202,174] let s:lib.Codec.encoding_table['29107'] = [143,202,175] let s:lib.Codec.encoding_table['29114'] = [143,202,176] let s:lib.Codec.encoding_table['29119'] = [143,202,177] let s:lib.Codec.encoding_table['29120'] = [143,202,178] let s:lib.Codec.encoding_table['29121'] = [143,202,179] let s:lib.Codec.encoding_table['29124'] = [143,202,180] let s:lib.Codec.encoding_table['29131'] = [143,202,181] let s:lib.Codec.encoding_table['29132'] = [143,202,182] let s:lib.Codec.encoding_table['29139'] = [143,202,183] let s:lib.Codec.encoding_table['29142'] = [143,202,184] let s:lib.Codec.encoding_table['29145'] = [143,202,185] let s:lib.Codec.encoding_table['29146'] = [143,202,186] let s:lib.Codec.encoding_table['29148'] = [143,202,187] let s:lib.Codec.encoding_table['29176'] = [143,202,188] let s:lib.Codec.encoding_table['29182'] = [143,202,189] let s:lib.Codec.encoding_table['29184'] = [143,202,190] let s:lib.Codec.encoding_table['29191'] = [143,202,191] let s:lib.Codec.encoding_table['29192'] = [143,202,192] let s:lib.Codec.encoding_table['29193'] = [143,202,193] let s:lib.Codec.encoding_table['29203'] = [143,202,194] let s:lib.Codec.encoding_table['29207'] = [143,202,195] let s:lib.Codec.encoding_table['29210'] = [143,202,196] let s:lib.Codec.encoding_table['29213'] = [143,202,197] let s:lib.Codec.encoding_table['29215'] = [143,202,198] let s:lib.Codec.encoding_table['29220'] = [143,202,199] let s:lib.Codec.encoding_table['29227'] = [143,202,200] let s:lib.Codec.encoding_table['29231'] = [143,202,201] let s:lib.Codec.encoding_table['29236'] = [143,202,202] let s:lib.Codec.encoding_table['29240'] = [143,202,203] let s:lib.Codec.encoding_table['29241'] = [143,202,204] let s:lib.Codec.encoding_table['29249'] = [143,202,205] let s:lib.Codec.encoding_table['29250'] = [143,202,206] let s:lib.Codec.encoding_table['29251'] = [143,202,207] let s:lib.Codec.encoding_table['29253'] = [143,202,208] let s:lib.Codec.encoding_table['29262'] = [143,202,209] let s:lib.Codec.encoding_table['29263'] = [143,202,210] let s:lib.Codec.encoding_table['29264'] = [143,202,211] let s:lib.Codec.encoding_table['29267'] = [143,202,212] let s:lib.Codec.encoding_table['29269'] = [143,202,213] let s:lib.Codec.encoding_table['29270'] = [143,202,214] let s:lib.Codec.encoding_table['29274'] = [143,202,215] let s:lib.Codec.encoding_table['29276'] = [143,202,216] let s:lib.Codec.encoding_table['29278'] = [143,202,217] let s:lib.Codec.encoding_table['29280'] = [143,202,218] let s:lib.Codec.encoding_table['29283'] = [143,202,219] let s:lib.Codec.encoding_table['29288'] = [143,202,220] let s:lib.Codec.encoding_table['29291'] = [143,202,221] let s:lib.Codec.encoding_table['29294'] = [143,202,222] let s:lib.Codec.encoding_table['29295'] = [143,202,223] let s:lib.Codec.encoding_table['29297'] = [143,202,224] let s:lib.Codec.encoding_table['29303'] = [143,202,225] let s:lib.Codec.encoding_table['29304'] = [143,202,226] let s:lib.Codec.encoding_table['29307'] = [143,202,227] let s:lib.Codec.encoding_table['29308'] = [143,202,228] let s:lib.Codec.encoding_table['29311'] = [143,202,229] let s:lib.Codec.encoding_table['29316'] = [143,202,230] let s:lib.Codec.encoding_table['29321'] = [143,202,231] let s:lib.Codec.encoding_table['29325'] = [143,202,232] let s:lib.Codec.encoding_table['29326'] = [143,202,233] let s:lib.Codec.encoding_table['29331'] = [143,202,234] let s:lib.Codec.encoding_table['29339'] = [143,202,235] let s:lib.Codec.encoding_table['29352'] = [143,202,236] let s:lib.Codec.encoding_table['29357'] = [143,202,237] let s:lib.Codec.encoding_table['29358'] = [143,202,238] let s:lib.Codec.encoding_table['29361'] = [143,202,239] let s:lib.Codec.encoding_table['29364'] = [143,202,240] let s:lib.Codec.encoding_table['29374'] = [143,202,241] let s:lib.Codec.encoding_table['29377'] = [143,202,242] let s:lib.Codec.encoding_table['29383'] = [143,202,243] let s:lib.Codec.encoding_table['29385'] = [143,202,244] let s:lib.Codec.encoding_table['29388'] = [143,202,245] let s:lib.Codec.encoding_table['29397'] = [143,202,246] let s:lib.Codec.encoding_table['29398'] = [143,202,247] let s:lib.Codec.encoding_table['29400'] = [143,202,248] let s:lib.Codec.encoding_table['29407'] = [143,202,249] let s:lib.Codec.encoding_table['29413'] = [143,202,250] let s:lib.Codec.encoding_table['29427'] = [143,202,251] let s:lib.Codec.encoding_table['29428'] = [143,202,252] let s:lib.Codec.encoding_table['29434'] = [143,202,253] let s:lib.Codec.encoding_table['29435'] = [143,202,254] let s:lib.Codec.encoding_table['29438'] = [143,203,161] let s:lib.Codec.encoding_table['29442'] = [143,203,162] let s:lib.Codec.encoding_table['29444'] = [143,203,163] let s:lib.Codec.encoding_table['29445'] = [143,203,164] let s:lib.Codec.encoding_table['29447'] = [143,203,165] let s:lib.Codec.encoding_table['29451'] = [143,203,166] let s:lib.Codec.encoding_table['29453'] = [143,203,167] let s:lib.Codec.encoding_table['29458'] = [143,203,168] let s:lib.Codec.encoding_table['29459'] = [143,203,169] let s:lib.Codec.encoding_table['29464'] = [143,203,170] let s:lib.Codec.encoding_table['29465'] = [143,203,171] let s:lib.Codec.encoding_table['29470'] = [143,203,172] let s:lib.Codec.encoding_table['29474'] = [143,203,173] let s:lib.Codec.encoding_table['29476'] = [143,203,174] let s:lib.Codec.encoding_table['29479'] = [143,203,175] let s:lib.Codec.encoding_table['29480'] = [143,203,176] let s:lib.Codec.encoding_table['29484'] = [143,203,177] let s:lib.Codec.encoding_table['29489'] = [143,203,178] let s:lib.Codec.encoding_table['29490'] = [143,203,179] let s:lib.Codec.encoding_table['29493'] = [143,203,180] let s:lib.Codec.encoding_table['29498'] = [143,203,181] let s:lib.Codec.encoding_table['29499'] = [143,203,182] let s:lib.Codec.encoding_table['29501'] = [143,203,183] let s:lib.Codec.encoding_table['29507'] = [143,203,184] let s:lib.Codec.encoding_table['29517'] = [143,203,185] let s:lib.Codec.encoding_table['29520'] = [143,203,186] let s:lib.Codec.encoding_table['29522'] = [143,203,187] let s:lib.Codec.encoding_table['29526'] = [143,203,188] let s:lib.Codec.encoding_table['29528'] = [143,203,189] let s:lib.Codec.encoding_table['29533'] = [143,203,190] let s:lib.Codec.encoding_table['29534'] = [143,203,191] let s:lib.Codec.encoding_table['29535'] = [143,203,192] let s:lib.Codec.encoding_table['29536'] = [143,203,193] let s:lib.Codec.encoding_table['29542'] = [143,203,194] let s:lib.Codec.encoding_table['29543'] = [143,203,195] let s:lib.Codec.encoding_table['29545'] = [143,203,196] let s:lib.Codec.encoding_table['29547'] = [143,203,197] let s:lib.Codec.encoding_table['29548'] = [143,203,198] let s:lib.Codec.encoding_table['29550'] = [143,203,199] let s:lib.Codec.encoding_table['29551'] = [143,203,200] let s:lib.Codec.encoding_table['29553'] = [143,203,201] let s:lib.Codec.encoding_table['29559'] = [143,203,202] let s:lib.Codec.encoding_table['29561'] = [143,203,203] let s:lib.Codec.encoding_table['29564'] = [143,203,204] let s:lib.Codec.encoding_table['29568'] = [143,203,205] let s:lib.Codec.encoding_table['29569'] = [143,203,206] let s:lib.Codec.encoding_table['29571'] = [143,203,207] let s:lib.Codec.encoding_table['29573'] = [143,203,208] let s:lib.Codec.encoding_table['29574'] = [143,203,209] let s:lib.Codec.encoding_table['29582'] = [143,203,210] let s:lib.Codec.encoding_table['29584'] = [143,203,211] let s:lib.Codec.encoding_table['29587'] = [143,203,212] let s:lib.Codec.encoding_table['29589'] = [143,203,213] let s:lib.Codec.encoding_table['29591'] = [143,203,214] let s:lib.Codec.encoding_table['29592'] = [143,203,215] let s:lib.Codec.encoding_table['29596'] = [143,203,216] let s:lib.Codec.encoding_table['29598'] = [143,203,217] let s:lib.Codec.encoding_table['29599'] = [143,203,218] let s:lib.Codec.encoding_table['29600'] = [143,203,219] let s:lib.Codec.encoding_table['29602'] = [143,203,220] let s:lib.Codec.encoding_table['29605'] = [143,203,221] let s:lib.Codec.encoding_table['29606'] = [143,203,222] let s:lib.Codec.encoding_table['29610'] = [143,203,223] let s:lib.Codec.encoding_table['29611'] = [143,203,224] let s:lib.Codec.encoding_table['29613'] = [143,203,225] let s:lib.Codec.encoding_table['29621'] = [143,203,226] let s:lib.Codec.encoding_table['29623'] = [143,203,227] let s:lib.Codec.encoding_table['29625'] = [143,203,228] let s:lib.Codec.encoding_table['29628'] = [143,203,229] let s:lib.Codec.encoding_table['29629'] = [143,203,230] let s:lib.Codec.encoding_table['29631'] = [143,203,231] let s:lib.Codec.encoding_table['29637'] = [143,203,232] let s:lib.Codec.encoding_table['29638'] = [143,203,233] let s:lib.Codec.encoding_table['29641'] = [143,203,234] let s:lib.Codec.encoding_table['29643'] = [143,203,235] let s:lib.Codec.encoding_table['29644'] = [143,203,236] let s:lib.Codec.encoding_table['29647'] = [143,203,237] let s:lib.Codec.encoding_table['29650'] = [143,203,238] let s:lib.Codec.encoding_table['29651'] = [143,203,239] let s:lib.Codec.encoding_table['29654'] = [143,203,240] let s:lib.Codec.encoding_table['29657'] = [143,203,241] let s:lib.Codec.encoding_table['29661'] = [143,203,242] let s:lib.Codec.encoding_table['29665'] = [143,203,243] let s:lib.Codec.encoding_table['29667'] = [143,203,244] let s:lib.Codec.encoding_table['29670'] = [143,203,245] let s:lib.Codec.encoding_table['29671'] = [143,203,246] let s:lib.Codec.encoding_table['29673'] = [143,203,247] let s:lib.Codec.encoding_table['29684'] = [143,203,248] let s:lib.Codec.encoding_table['29685'] = [143,203,249] let s:lib.Codec.encoding_table['29687'] = [143,203,250] let s:lib.Codec.encoding_table['29689'] = [143,203,251] let s:lib.Codec.encoding_table['29690'] = [143,203,252] let s:lib.Codec.encoding_table['29691'] = [143,203,253] let s:lib.Codec.encoding_table['29693'] = [143,203,254] let s:lib.Codec.encoding_table['29695'] = [143,204,161] let s:lib.Codec.encoding_table['29696'] = [143,204,162] let s:lib.Codec.encoding_table['29697'] = [143,204,163] let s:lib.Codec.encoding_table['29700'] = [143,204,164] let s:lib.Codec.encoding_table['29703'] = [143,204,165] let s:lib.Codec.encoding_table['29706'] = [143,204,166] let s:lib.Codec.encoding_table['29713'] = [143,204,167] let s:lib.Codec.encoding_table['29722'] = [143,204,168] let s:lib.Codec.encoding_table['29723'] = [143,204,169] let s:lib.Codec.encoding_table['29732'] = [143,204,170] let s:lib.Codec.encoding_table['29734'] = [143,204,171] let s:lib.Codec.encoding_table['29736'] = [143,204,172] let s:lib.Codec.encoding_table['29737'] = [143,204,173] let s:lib.Codec.encoding_table['29738'] = [143,204,174] let s:lib.Codec.encoding_table['29739'] = [143,204,175] let s:lib.Codec.encoding_table['29740'] = [143,204,176] let s:lib.Codec.encoding_table['29741'] = [143,204,177] let s:lib.Codec.encoding_table['29742'] = [143,204,178] let s:lib.Codec.encoding_table['29743'] = [143,204,179] let s:lib.Codec.encoding_table['29744'] = [143,204,180] let s:lib.Codec.encoding_table['29745'] = [143,204,181] let s:lib.Codec.encoding_table['29753'] = [143,204,182] let s:lib.Codec.encoding_table['29760'] = [143,204,183] let s:lib.Codec.encoding_table['29763'] = [143,204,184] let s:lib.Codec.encoding_table['29764'] = [143,204,185] let s:lib.Codec.encoding_table['29766'] = [143,204,186] let s:lib.Codec.encoding_table['29767'] = [143,204,187] let s:lib.Codec.encoding_table['29771'] = [143,204,188] let s:lib.Codec.encoding_table['29773'] = [143,204,189] let s:lib.Codec.encoding_table['29777'] = [143,204,190] let s:lib.Codec.encoding_table['29778'] = [143,204,191] let s:lib.Codec.encoding_table['29783'] = [143,204,192] let s:lib.Codec.encoding_table['29789'] = [143,204,193] let s:lib.Codec.encoding_table['29794'] = [143,204,194] let s:lib.Codec.encoding_table['29798'] = [143,204,195] let s:lib.Codec.encoding_table['29799'] = [143,204,196] let s:lib.Codec.encoding_table['29800'] = [143,204,197] let s:lib.Codec.encoding_table['29803'] = [143,204,198] let s:lib.Codec.encoding_table['29805'] = [143,204,199] let s:lib.Codec.encoding_table['29806'] = [143,204,200] let s:lib.Codec.encoding_table['29809'] = [143,204,201] let s:lib.Codec.encoding_table['29810'] = [143,204,202] let s:lib.Codec.encoding_table['29824'] = [143,204,203] let s:lib.Codec.encoding_table['29825'] = [143,204,204] let s:lib.Codec.encoding_table['29829'] = [143,204,205] let s:lib.Codec.encoding_table['29830'] = [143,204,206] let s:lib.Codec.encoding_table['29831'] = [143,204,207] let s:lib.Codec.encoding_table['29833'] = [143,204,208] let s:lib.Codec.encoding_table['29839'] = [143,204,209] let s:lib.Codec.encoding_table['29840'] = [143,204,210] let s:lib.Codec.encoding_table['29841'] = [143,204,211] let s:lib.Codec.encoding_table['29842'] = [143,204,212] let s:lib.Codec.encoding_table['29848'] = [143,204,213] let s:lib.Codec.encoding_table['29849'] = [143,204,214] let s:lib.Codec.encoding_table['29850'] = [143,204,215] let s:lib.Codec.encoding_table['29852'] = [143,204,216] let s:lib.Codec.encoding_table['29855'] = [143,204,217] let s:lib.Codec.encoding_table['29856'] = [143,204,218] let s:lib.Codec.encoding_table['29857'] = [143,204,219] let s:lib.Codec.encoding_table['29859'] = [143,204,220] let s:lib.Codec.encoding_table['29862'] = [143,204,221] let s:lib.Codec.encoding_table['29864'] = [143,204,222] let s:lib.Codec.encoding_table['29865'] = [143,204,223] let s:lib.Codec.encoding_table['29866'] = [143,204,224] let s:lib.Codec.encoding_table['29867'] = [143,204,225] let s:lib.Codec.encoding_table['29870'] = [143,204,226] let s:lib.Codec.encoding_table['29871'] = [143,204,227] let s:lib.Codec.encoding_table['29873'] = [143,204,228] let s:lib.Codec.encoding_table['29874'] = [143,204,229] let s:lib.Codec.encoding_table['29877'] = [143,204,230] let s:lib.Codec.encoding_table['29881'] = [143,204,231] let s:lib.Codec.encoding_table['29883'] = [143,204,232] let s:lib.Codec.encoding_table['29887'] = [143,204,233] let s:lib.Codec.encoding_table['29896'] = [143,204,234] let s:lib.Codec.encoding_table['29897'] = [143,204,235] let s:lib.Codec.encoding_table['29900'] = [143,204,236] let s:lib.Codec.encoding_table['29904'] = [143,204,237] let s:lib.Codec.encoding_table['29907'] = [143,204,238] let s:lib.Codec.encoding_table['29912'] = [143,204,239] let s:lib.Codec.encoding_table['29914'] = [143,204,240] let s:lib.Codec.encoding_table['29915'] = [143,204,241] let s:lib.Codec.encoding_table['29918'] = [143,204,242] let s:lib.Codec.encoding_table['29919'] = [143,204,243] let s:lib.Codec.encoding_table['29924'] = [143,204,244] let s:lib.Codec.encoding_table['29928'] = [143,204,245] let s:lib.Codec.encoding_table['29930'] = [143,204,246] let s:lib.Codec.encoding_table['29931'] = [143,204,247] let s:lib.Codec.encoding_table['29935'] = [143,204,248] let s:lib.Codec.encoding_table['29940'] = [143,204,249] let s:lib.Codec.encoding_table['29946'] = [143,204,250] let s:lib.Codec.encoding_table['29947'] = [143,204,251] let s:lib.Codec.encoding_table['29948'] = [143,204,252] let s:lib.Codec.encoding_table['29951'] = [143,204,253] let s:lib.Codec.encoding_table['29958'] = [143,204,254] let s:lib.Codec.encoding_table['29970'] = [143,205,161] let s:lib.Codec.encoding_table['29974'] = [143,205,162] let s:lib.Codec.encoding_table['29975'] = [143,205,163] let s:lib.Codec.encoding_table['29984'] = [143,205,164] let s:lib.Codec.encoding_table['29985'] = [143,205,165] let s:lib.Codec.encoding_table['29988'] = [143,205,166] let s:lib.Codec.encoding_table['29991'] = [143,205,167] let s:lib.Codec.encoding_table['29993'] = [143,205,168] let s:lib.Codec.encoding_table['29994'] = [143,205,169] let s:lib.Codec.encoding_table['29999'] = [143,205,170] let s:lib.Codec.encoding_table['30006'] = [143,205,171] let s:lib.Codec.encoding_table['30009'] = [143,205,172] let s:lib.Codec.encoding_table['30013'] = [143,205,173] let s:lib.Codec.encoding_table['30014'] = [143,205,174] let s:lib.Codec.encoding_table['30015'] = [143,205,175] let s:lib.Codec.encoding_table['30016'] = [143,205,176] let s:lib.Codec.encoding_table['30019'] = [143,205,177] let s:lib.Codec.encoding_table['30023'] = [143,205,178] let s:lib.Codec.encoding_table['30024'] = [143,205,179] let s:lib.Codec.encoding_table['30030'] = [143,205,180] let s:lib.Codec.encoding_table['30032'] = [143,205,181] let s:lib.Codec.encoding_table['30034'] = [143,205,182] let s:lib.Codec.encoding_table['30039'] = [143,205,183] let s:lib.Codec.encoding_table['30046'] = [143,205,184] let s:lib.Codec.encoding_table['30047'] = [143,205,185] let s:lib.Codec.encoding_table['30049'] = [143,205,186] let s:lib.Codec.encoding_table['30063'] = [143,205,187] let s:lib.Codec.encoding_table['30065'] = [143,205,188] let s:lib.Codec.encoding_table['30073'] = [143,205,189] let s:lib.Codec.encoding_table['30074'] = [143,205,190] let s:lib.Codec.encoding_table['30075'] = [143,205,191] let s:lib.Codec.encoding_table['30076'] = [143,205,192] let s:lib.Codec.encoding_table['30077'] = [143,205,193] let s:lib.Codec.encoding_table['30078'] = [143,205,194] let s:lib.Codec.encoding_table['30081'] = [143,205,195] let s:lib.Codec.encoding_table['30085'] = [143,205,196] let s:lib.Codec.encoding_table['30096'] = [143,205,197] let s:lib.Codec.encoding_table['30098'] = [143,205,198] let s:lib.Codec.encoding_table['30099'] = [143,205,199] let s:lib.Codec.encoding_table['30101'] = [143,205,200] let s:lib.Codec.encoding_table['30105'] = [143,205,201] let s:lib.Codec.encoding_table['30108'] = [143,205,202] let s:lib.Codec.encoding_table['30114'] = [143,205,203] let s:lib.Codec.encoding_table['30116'] = [143,205,204] let s:lib.Codec.encoding_table['30132'] = [143,205,205] let s:lib.Codec.encoding_table['30138'] = [143,205,206] let s:lib.Codec.encoding_table['30143'] = [143,205,207] let s:lib.Codec.encoding_table['30144'] = [143,205,208] let s:lib.Codec.encoding_table['30145'] = [143,205,209] let s:lib.Codec.encoding_table['30148'] = [143,205,210] let s:lib.Codec.encoding_table['30150'] = [143,205,211] let s:lib.Codec.encoding_table['30156'] = [143,205,212] let s:lib.Codec.encoding_table['30158'] = [143,205,213] let s:lib.Codec.encoding_table['30159'] = [143,205,214] let s:lib.Codec.encoding_table['30167'] = [143,205,215] let s:lib.Codec.encoding_table['30172'] = [143,205,216] let s:lib.Codec.encoding_table['30175'] = [143,205,217] let s:lib.Codec.encoding_table['30176'] = [143,205,218] let s:lib.Codec.encoding_table['30177'] = [143,205,219] let s:lib.Codec.encoding_table['30180'] = [143,205,220] let s:lib.Codec.encoding_table['30183'] = [143,205,221] let s:lib.Codec.encoding_table['30188'] = [143,205,222] let s:lib.Codec.encoding_table['30190'] = [143,205,223] let s:lib.Codec.encoding_table['30191'] = [143,205,224] let s:lib.Codec.encoding_table['30193'] = [143,205,225] let s:lib.Codec.encoding_table['30201'] = [143,205,226] let s:lib.Codec.encoding_table['30208'] = [143,205,227] let s:lib.Codec.encoding_table['30210'] = [143,205,228] let s:lib.Codec.encoding_table['30211'] = [143,205,229] let s:lib.Codec.encoding_table['30212'] = [143,205,230] let s:lib.Codec.encoding_table['30215'] = [143,205,231] let s:lib.Codec.encoding_table['30216'] = [143,205,232] let s:lib.Codec.encoding_table['30218'] = [143,205,233] let s:lib.Codec.encoding_table['30220'] = [143,205,234] let s:lib.Codec.encoding_table['30223'] = [143,205,235] let s:lib.Codec.encoding_table['30226'] = [143,205,236] let s:lib.Codec.encoding_table['30227'] = [143,205,237] let s:lib.Codec.encoding_table['30229'] = [143,205,238] let s:lib.Codec.encoding_table['30230'] = [143,205,239] let s:lib.Codec.encoding_table['30233'] = [143,205,240] let s:lib.Codec.encoding_table['30235'] = [143,205,241] let s:lib.Codec.encoding_table['30236'] = [143,205,242] let s:lib.Codec.encoding_table['30237'] = [143,205,243] let s:lib.Codec.encoding_table['30238'] = [143,205,244] let s:lib.Codec.encoding_table['30243'] = [143,205,245] let s:lib.Codec.encoding_table['30245'] = [143,205,246] let s:lib.Codec.encoding_table['30246'] = [143,205,247] let s:lib.Codec.encoding_table['30249'] = [143,205,248] let s:lib.Codec.encoding_table['30253'] = [143,205,249] let s:lib.Codec.encoding_table['30258'] = [143,205,250] let s:lib.Codec.encoding_table['30259'] = [143,205,251] let s:lib.Codec.encoding_table['30261'] = [143,205,252] let s:lib.Codec.encoding_table['30264'] = [143,205,253] let s:lib.Codec.encoding_table['30265'] = [143,205,254] let s:lib.Codec.encoding_table['30266'] = [143,206,161] let s:lib.Codec.encoding_table['30268'] = [143,206,162] let s:lib.Codec.encoding_table['30282'] = [143,206,163] let s:lib.Codec.encoding_table['30272'] = [143,206,164] let s:lib.Codec.encoding_table['30273'] = [143,206,165] let s:lib.Codec.encoding_table['30275'] = [143,206,166] let s:lib.Codec.encoding_table['30276'] = [143,206,167] let s:lib.Codec.encoding_table['30277'] = [143,206,168] let s:lib.Codec.encoding_table['30281'] = [143,206,169] let s:lib.Codec.encoding_table['30283'] = [143,206,170] let s:lib.Codec.encoding_table['30293'] = [143,206,171] let s:lib.Codec.encoding_table['30297'] = [143,206,172] let s:lib.Codec.encoding_table['30303'] = [143,206,173] let s:lib.Codec.encoding_table['30308'] = [143,206,174] let s:lib.Codec.encoding_table['30309'] = [143,206,175] let s:lib.Codec.encoding_table['30317'] = [143,206,176] let s:lib.Codec.encoding_table['30318'] = [143,206,177] let s:lib.Codec.encoding_table['30319'] = [143,206,178] let s:lib.Codec.encoding_table['30321'] = [143,206,179] let s:lib.Codec.encoding_table['30324'] = [143,206,180] let s:lib.Codec.encoding_table['30337'] = [143,206,181] let s:lib.Codec.encoding_table['30341'] = [143,206,182] let s:lib.Codec.encoding_table['30348'] = [143,206,183] let s:lib.Codec.encoding_table['30349'] = [143,206,184] let s:lib.Codec.encoding_table['30357'] = [143,206,185] let s:lib.Codec.encoding_table['30363'] = [143,206,186] let s:lib.Codec.encoding_table['30364'] = [143,206,187] let s:lib.Codec.encoding_table['30365'] = [143,206,188] let s:lib.Codec.encoding_table['30367'] = [143,206,189] let s:lib.Codec.encoding_table['30368'] = [143,206,190] let s:lib.Codec.encoding_table['30370'] = [143,206,191] let s:lib.Codec.encoding_table['30371'] = [143,206,192] let s:lib.Codec.encoding_table['30372'] = [143,206,193] let s:lib.Codec.encoding_table['30373'] = [143,206,194] let s:lib.Codec.encoding_table['30374'] = [143,206,195] let s:lib.Codec.encoding_table['30375'] = [143,206,196] let s:lib.Codec.encoding_table['30376'] = [143,206,197] let s:lib.Codec.encoding_table['30378'] = [143,206,198] let s:lib.Codec.encoding_table['30381'] = [143,206,199] let s:lib.Codec.encoding_table['30397'] = [143,206,200] let s:lib.Codec.encoding_table['30401'] = [143,206,201] let s:lib.Codec.encoding_table['30405'] = [143,206,202] let s:lib.Codec.encoding_table['30409'] = [143,206,203] let s:lib.Codec.encoding_table['30411'] = [143,206,204] let s:lib.Codec.encoding_table['30412'] = [143,206,205] let s:lib.Codec.encoding_table['30414'] = [143,206,206] let s:lib.Codec.encoding_table['30420'] = [143,206,207] let s:lib.Codec.encoding_table['30425'] = [143,206,208] let s:lib.Codec.encoding_table['30432'] = [143,206,209] let s:lib.Codec.encoding_table['30438'] = [143,206,210] let s:lib.Codec.encoding_table['30440'] = [143,206,211] let s:lib.Codec.encoding_table['30444'] = [143,206,212] let s:lib.Codec.encoding_table['30448'] = [143,206,213] let s:lib.Codec.encoding_table['30449'] = [143,206,214] let s:lib.Codec.encoding_table['30454'] = [143,206,215] let s:lib.Codec.encoding_table['30457'] = [143,206,216] let s:lib.Codec.encoding_table['30460'] = [143,206,217] let s:lib.Codec.encoding_table['30464'] = [143,206,218] let s:lib.Codec.encoding_table['30470'] = [143,206,219] let s:lib.Codec.encoding_table['30474'] = [143,206,220] let s:lib.Codec.encoding_table['30478'] = [143,206,221] let s:lib.Codec.encoding_table['30482'] = [143,206,222] let s:lib.Codec.encoding_table['30484'] = [143,206,223] let s:lib.Codec.encoding_table['30485'] = [143,206,224] let s:lib.Codec.encoding_table['30487'] = [143,206,225] let s:lib.Codec.encoding_table['30489'] = [143,206,226] let s:lib.Codec.encoding_table['30490'] = [143,206,227] let s:lib.Codec.encoding_table['30492'] = [143,206,228] let s:lib.Codec.encoding_table['30498'] = [143,206,229] let s:lib.Codec.encoding_table['30504'] = [143,206,230] let s:lib.Codec.encoding_table['30509'] = [143,206,231] let s:lib.Codec.encoding_table['30510'] = [143,206,232] let s:lib.Codec.encoding_table['30511'] = [143,206,233] let s:lib.Codec.encoding_table['30516'] = [143,206,234] let s:lib.Codec.encoding_table['30517'] = [143,206,235] let s:lib.Codec.encoding_table['30518'] = [143,206,236] let s:lib.Codec.encoding_table['30521'] = [143,206,237] let s:lib.Codec.encoding_table['30525'] = [143,206,238] let s:lib.Codec.encoding_table['30526'] = [143,206,239] let s:lib.Codec.encoding_table['30530'] = [143,206,240] let s:lib.Codec.encoding_table['30533'] = [143,206,241] let s:lib.Codec.encoding_table['30534'] = [143,206,242] let s:lib.Codec.encoding_table['30538'] = [143,206,243] let s:lib.Codec.encoding_table['30541'] = [143,206,244] let s:lib.Codec.encoding_table['30542'] = [143,206,245] let s:lib.Codec.encoding_table['30543'] = [143,206,246] let s:lib.Codec.encoding_table['30546'] = [143,206,247] let s:lib.Codec.encoding_table['30550'] = [143,206,248] let s:lib.Codec.encoding_table['30551'] = [143,206,249] let s:lib.Codec.encoding_table['30556'] = [143,206,250] let s:lib.Codec.encoding_table['30558'] = [143,206,251] let s:lib.Codec.encoding_table['30559'] = [143,206,252] let s:lib.Codec.encoding_table['30560'] = [143,206,253] let s:lib.Codec.encoding_table['30562'] = [143,206,254] let s:lib.Codec.encoding_table['30564'] = [143,207,161] let s:lib.Codec.encoding_table['30567'] = [143,207,162] let s:lib.Codec.encoding_table['30570'] = [143,207,163] let s:lib.Codec.encoding_table['30572'] = [143,207,164] let s:lib.Codec.encoding_table['30576'] = [143,207,165] let s:lib.Codec.encoding_table['30578'] = [143,207,166] let s:lib.Codec.encoding_table['30579'] = [143,207,167] let s:lib.Codec.encoding_table['30580'] = [143,207,168] let s:lib.Codec.encoding_table['30586'] = [143,207,169] let s:lib.Codec.encoding_table['30589'] = [143,207,170] let s:lib.Codec.encoding_table['30592'] = [143,207,171] let s:lib.Codec.encoding_table['30596'] = [143,207,172] let s:lib.Codec.encoding_table['30604'] = [143,207,173] let s:lib.Codec.encoding_table['30605'] = [143,207,174] let s:lib.Codec.encoding_table['30612'] = [143,207,175] let s:lib.Codec.encoding_table['30613'] = [143,207,176] let s:lib.Codec.encoding_table['30614'] = [143,207,177] let s:lib.Codec.encoding_table['30618'] = [143,207,178] let s:lib.Codec.encoding_table['30623'] = [143,207,179] let s:lib.Codec.encoding_table['30626'] = [143,207,180] let s:lib.Codec.encoding_table['30631'] = [143,207,181] let s:lib.Codec.encoding_table['30634'] = [143,207,182] let s:lib.Codec.encoding_table['30638'] = [143,207,183] let s:lib.Codec.encoding_table['30639'] = [143,207,184] let s:lib.Codec.encoding_table['30641'] = [143,207,185] let s:lib.Codec.encoding_table['30645'] = [143,207,186] let s:lib.Codec.encoding_table['30654'] = [143,207,187] let s:lib.Codec.encoding_table['30659'] = [143,207,188] let s:lib.Codec.encoding_table['30665'] = [143,207,189] let s:lib.Codec.encoding_table['30673'] = [143,207,190] let s:lib.Codec.encoding_table['30674'] = [143,207,191] let s:lib.Codec.encoding_table['30677'] = [143,207,192] let s:lib.Codec.encoding_table['30681'] = [143,207,193] let s:lib.Codec.encoding_table['30686'] = [143,207,194] let s:lib.Codec.encoding_table['30687'] = [143,207,195] let s:lib.Codec.encoding_table['30688'] = [143,207,196] let s:lib.Codec.encoding_table['30692'] = [143,207,197] let s:lib.Codec.encoding_table['30694'] = [143,207,198] let s:lib.Codec.encoding_table['30698'] = [143,207,199] let s:lib.Codec.encoding_table['30700'] = [143,207,200] let s:lib.Codec.encoding_table['30704'] = [143,207,201] let s:lib.Codec.encoding_table['30705'] = [143,207,202] let s:lib.Codec.encoding_table['30708'] = [143,207,203] let s:lib.Codec.encoding_table['30712'] = [143,207,204] let s:lib.Codec.encoding_table['30715'] = [143,207,205] let s:lib.Codec.encoding_table['30725'] = [143,207,206] let s:lib.Codec.encoding_table['30726'] = [143,207,207] let s:lib.Codec.encoding_table['30729'] = [143,207,208] let s:lib.Codec.encoding_table['30733'] = [143,207,209] let s:lib.Codec.encoding_table['30734'] = [143,207,210] let s:lib.Codec.encoding_table['30737'] = [143,207,211] let s:lib.Codec.encoding_table['30749'] = [143,207,212] let s:lib.Codec.encoding_table['30753'] = [143,207,213] let s:lib.Codec.encoding_table['30754'] = [143,207,214] let s:lib.Codec.encoding_table['30755'] = [143,207,215] let s:lib.Codec.encoding_table['30765'] = [143,207,216] let s:lib.Codec.encoding_table['30766'] = [143,207,217] let s:lib.Codec.encoding_table['30768'] = [143,207,218] let s:lib.Codec.encoding_table['30773'] = [143,207,219] let s:lib.Codec.encoding_table['30775'] = [143,207,220] let s:lib.Codec.encoding_table['30787'] = [143,207,221] let s:lib.Codec.encoding_table['30788'] = [143,207,222] let s:lib.Codec.encoding_table['30791'] = [143,207,223] let s:lib.Codec.encoding_table['30792'] = [143,207,224] let s:lib.Codec.encoding_table['30796'] = [143,207,225] let s:lib.Codec.encoding_table['30798'] = [143,207,226] let s:lib.Codec.encoding_table['30802'] = [143,207,227] let s:lib.Codec.encoding_table['30812'] = [143,207,228] let s:lib.Codec.encoding_table['30814'] = [143,207,229] let s:lib.Codec.encoding_table['30816'] = [143,207,230] let s:lib.Codec.encoding_table['30817'] = [143,207,231] let s:lib.Codec.encoding_table['30819'] = [143,207,232] let s:lib.Codec.encoding_table['30820'] = [143,207,233] let s:lib.Codec.encoding_table['30824'] = [143,207,234] let s:lib.Codec.encoding_table['30826'] = [143,207,235] let s:lib.Codec.encoding_table['30830'] = [143,207,236] let s:lib.Codec.encoding_table['30842'] = [143,207,237] let s:lib.Codec.encoding_table['30846'] = [143,207,238] let s:lib.Codec.encoding_table['30858'] = [143,207,239] let s:lib.Codec.encoding_table['30863'] = [143,207,240] let s:lib.Codec.encoding_table['30868'] = [143,207,241] let s:lib.Codec.encoding_table['30872'] = [143,207,242] let s:lib.Codec.encoding_table['30881'] = [143,207,243] let s:lib.Codec.encoding_table['30877'] = [143,207,244] let s:lib.Codec.encoding_table['30878'] = [143,207,245] let s:lib.Codec.encoding_table['30879'] = [143,207,246] let s:lib.Codec.encoding_table['30884'] = [143,207,247] let s:lib.Codec.encoding_table['30888'] = [143,207,248] let s:lib.Codec.encoding_table['30892'] = [143,207,249] let s:lib.Codec.encoding_table['30893'] = [143,207,250] let s:lib.Codec.encoding_table['30896'] = [143,207,251] let s:lib.Codec.encoding_table['30897'] = [143,207,252] let s:lib.Codec.encoding_table['30898'] = [143,207,253] let s:lib.Codec.encoding_table['30899'] = [143,207,254] let s:lib.Codec.encoding_table['30907'] = [143,208,161] let s:lib.Codec.encoding_table['30909'] = [143,208,162] let s:lib.Codec.encoding_table['30911'] = [143,208,163] let s:lib.Codec.encoding_table['30919'] = [143,208,164] let s:lib.Codec.encoding_table['30920'] = [143,208,165] let s:lib.Codec.encoding_table['30921'] = [143,208,166] let s:lib.Codec.encoding_table['30924'] = [143,208,167] let s:lib.Codec.encoding_table['30926'] = [143,208,168] let s:lib.Codec.encoding_table['30930'] = [143,208,169] let s:lib.Codec.encoding_table['30931'] = [143,208,170] let s:lib.Codec.encoding_table['30933'] = [143,208,171] let s:lib.Codec.encoding_table['30934'] = [143,208,172] let s:lib.Codec.encoding_table['30948'] = [143,208,173] let s:lib.Codec.encoding_table['30939'] = [143,208,174] let s:lib.Codec.encoding_table['30943'] = [143,208,175] let s:lib.Codec.encoding_table['30944'] = [143,208,176] let s:lib.Codec.encoding_table['30945'] = [143,208,177] let s:lib.Codec.encoding_table['30950'] = [143,208,178] let s:lib.Codec.encoding_table['30954'] = [143,208,179] let s:lib.Codec.encoding_table['30962'] = [143,208,180] let s:lib.Codec.encoding_table['30963'] = [143,208,181] let s:lib.Codec.encoding_table['30976'] = [143,208,182] let s:lib.Codec.encoding_table['30966'] = [143,208,183] let s:lib.Codec.encoding_table['30967'] = [143,208,184] let s:lib.Codec.encoding_table['30970'] = [143,208,185] let s:lib.Codec.encoding_table['30971'] = [143,208,186] let s:lib.Codec.encoding_table['30975'] = [143,208,187] let s:lib.Codec.encoding_table['30982'] = [143,208,188] let s:lib.Codec.encoding_table['30988'] = [143,208,189] let s:lib.Codec.encoding_table['30992'] = [143,208,190] let s:lib.Codec.encoding_table['31002'] = [143,208,191] let s:lib.Codec.encoding_table['31004'] = [143,208,192] let s:lib.Codec.encoding_table['31006'] = [143,208,193] let s:lib.Codec.encoding_table['31007'] = [143,208,194] let s:lib.Codec.encoding_table['31008'] = [143,208,195] let s:lib.Codec.encoding_table['31013'] = [143,208,196] let s:lib.Codec.encoding_table['31015'] = [143,208,197] let s:lib.Codec.encoding_table['31017'] = [143,208,198] let s:lib.Codec.encoding_table['31021'] = [143,208,199] let s:lib.Codec.encoding_table['31025'] = [143,208,200] let s:lib.Codec.encoding_table['31028'] = [143,208,201] let s:lib.Codec.encoding_table['31029'] = [143,208,202] let s:lib.Codec.encoding_table['31035'] = [143,208,203] let s:lib.Codec.encoding_table['31037'] = [143,208,204] let s:lib.Codec.encoding_table['31039'] = [143,208,205] let s:lib.Codec.encoding_table['31044'] = [143,208,206] let s:lib.Codec.encoding_table['31045'] = [143,208,207] let s:lib.Codec.encoding_table['31046'] = [143,208,208] let s:lib.Codec.encoding_table['31050'] = [143,208,209] let s:lib.Codec.encoding_table['31051'] = [143,208,210] let s:lib.Codec.encoding_table['31055'] = [143,208,211] let s:lib.Codec.encoding_table['31057'] = [143,208,212] let s:lib.Codec.encoding_table['31060'] = [143,208,213] let s:lib.Codec.encoding_table['31064'] = [143,208,214] let s:lib.Codec.encoding_table['31067'] = [143,208,215] let s:lib.Codec.encoding_table['31068'] = [143,208,216] let s:lib.Codec.encoding_table['31079'] = [143,208,217] let s:lib.Codec.encoding_table['31081'] = [143,208,218] let s:lib.Codec.encoding_table['31083'] = [143,208,219] let s:lib.Codec.encoding_table['31090'] = [143,208,220] let s:lib.Codec.encoding_table['31097'] = [143,208,221] let s:lib.Codec.encoding_table['31099'] = [143,208,222] let s:lib.Codec.encoding_table['31100'] = [143,208,223] let s:lib.Codec.encoding_table['31102'] = [143,208,224] let s:lib.Codec.encoding_table['31115'] = [143,208,225] let s:lib.Codec.encoding_table['31116'] = [143,208,226] let s:lib.Codec.encoding_table['31121'] = [143,208,227] let s:lib.Codec.encoding_table['31123'] = [143,208,228] let s:lib.Codec.encoding_table['31124'] = [143,208,229] let s:lib.Codec.encoding_table['31125'] = [143,208,230] let s:lib.Codec.encoding_table['31126'] = [143,208,231] let s:lib.Codec.encoding_table['31128'] = [143,208,232] let s:lib.Codec.encoding_table['31131'] = [143,208,233] let s:lib.Codec.encoding_table['31132'] = [143,208,234] let s:lib.Codec.encoding_table['31137'] = [143,208,235] let s:lib.Codec.encoding_table['31144'] = [143,208,236] let s:lib.Codec.encoding_table['31145'] = [143,208,237] let s:lib.Codec.encoding_table['31147'] = [143,208,238] let s:lib.Codec.encoding_table['31151'] = [143,208,239] let s:lib.Codec.encoding_table['31153'] = [143,208,240] let s:lib.Codec.encoding_table['31156'] = [143,208,241] let s:lib.Codec.encoding_table['31160'] = [143,208,242] let s:lib.Codec.encoding_table['31163'] = [143,208,243] let s:lib.Codec.encoding_table['31170'] = [143,208,244] let s:lib.Codec.encoding_table['31172'] = [143,208,245] let s:lib.Codec.encoding_table['31175'] = [143,208,246] let s:lib.Codec.encoding_table['31176'] = [143,208,247] let s:lib.Codec.encoding_table['31178'] = [143,208,248] let s:lib.Codec.encoding_table['31183'] = [143,208,249] let s:lib.Codec.encoding_table['31188'] = [143,208,250] let s:lib.Codec.encoding_table['31190'] = [143,208,251] let s:lib.Codec.encoding_table['31194'] = [143,208,252] let s:lib.Codec.encoding_table['31197'] = [143,208,253] let s:lib.Codec.encoding_table['31198'] = [143,208,254] let s:lib.Codec.encoding_table['31200'] = [143,209,161] let s:lib.Codec.encoding_table['31202'] = [143,209,162] let s:lib.Codec.encoding_table['31205'] = [143,209,163] let s:lib.Codec.encoding_table['31210'] = [143,209,164] let s:lib.Codec.encoding_table['31211'] = [143,209,165] let s:lib.Codec.encoding_table['31213'] = [143,209,166] let s:lib.Codec.encoding_table['31217'] = [143,209,167] let s:lib.Codec.encoding_table['31224'] = [143,209,168] let s:lib.Codec.encoding_table['31228'] = [143,209,169] let s:lib.Codec.encoding_table['31234'] = [143,209,170] let s:lib.Codec.encoding_table['31235'] = [143,209,171] let s:lib.Codec.encoding_table['31239'] = [143,209,172] let s:lib.Codec.encoding_table['31241'] = [143,209,173] let s:lib.Codec.encoding_table['31242'] = [143,209,174] let s:lib.Codec.encoding_table['31244'] = [143,209,175] let s:lib.Codec.encoding_table['31249'] = [143,209,176] let s:lib.Codec.encoding_table['31253'] = [143,209,177] let s:lib.Codec.encoding_table['31259'] = [143,209,178] let s:lib.Codec.encoding_table['31262'] = [143,209,179] let s:lib.Codec.encoding_table['31265'] = [143,209,180] let s:lib.Codec.encoding_table['31271'] = [143,209,181] let s:lib.Codec.encoding_table['31275'] = [143,209,182] let s:lib.Codec.encoding_table['31277'] = [143,209,183] let s:lib.Codec.encoding_table['31279'] = [143,209,184] let s:lib.Codec.encoding_table['31280'] = [143,209,185] let s:lib.Codec.encoding_table['31284'] = [143,209,186] let s:lib.Codec.encoding_table['31285'] = [143,209,187] let s:lib.Codec.encoding_table['31288'] = [143,209,188] let s:lib.Codec.encoding_table['31289'] = [143,209,189] let s:lib.Codec.encoding_table['31290'] = [143,209,190] let s:lib.Codec.encoding_table['31300'] = [143,209,191] let s:lib.Codec.encoding_table['31301'] = [143,209,192] let s:lib.Codec.encoding_table['31303'] = [143,209,193] let s:lib.Codec.encoding_table['31304'] = [143,209,194] let s:lib.Codec.encoding_table['31308'] = [143,209,195] let s:lib.Codec.encoding_table['31317'] = [143,209,196] let s:lib.Codec.encoding_table['31318'] = [143,209,197] let s:lib.Codec.encoding_table['31321'] = [143,209,198] let s:lib.Codec.encoding_table['31324'] = [143,209,199] let s:lib.Codec.encoding_table['31325'] = [143,209,200] let s:lib.Codec.encoding_table['31327'] = [143,209,201] let s:lib.Codec.encoding_table['31328'] = [143,209,202] let s:lib.Codec.encoding_table['31333'] = [143,209,203] let s:lib.Codec.encoding_table['31335'] = [143,209,204] let s:lib.Codec.encoding_table['31338'] = [143,209,205] let s:lib.Codec.encoding_table['31341'] = [143,209,206] let s:lib.Codec.encoding_table['31349'] = [143,209,207] let s:lib.Codec.encoding_table['31352'] = [143,209,208] let s:lib.Codec.encoding_table['31358'] = [143,209,209] let s:lib.Codec.encoding_table['31360'] = [143,209,210] let s:lib.Codec.encoding_table['31362'] = [143,209,211] let s:lib.Codec.encoding_table['31365'] = [143,209,212] let s:lib.Codec.encoding_table['31366'] = [143,209,213] let s:lib.Codec.encoding_table['31370'] = [143,209,214] let s:lib.Codec.encoding_table['31371'] = [143,209,215] let s:lib.Codec.encoding_table['31376'] = [143,209,216] let s:lib.Codec.encoding_table['31377'] = [143,209,217] let s:lib.Codec.encoding_table['31380'] = [143,209,218] let s:lib.Codec.encoding_table['31390'] = [143,209,219] let s:lib.Codec.encoding_table['31392'] = [143,209,220] let s:lib.Codec.encoding_table['31395'] = [143,209,221] let s:lib.Codec.encoding_table['31404'] = [143,209,222] let s:lib.Codec.encoding_table['31411'] = [143,209,223] let s:lib.Codec.encoding_table['31413'] = [143,209,224] let s:lib.Codec.encoding_table['31417'] = [143,209,225] let s:lib.Codec.encoding_table['31419'] = [143,209,226] let s:lib.Codec.encoding_table['31420'] = [143,209,227] let s:lib.Codec.encoding_table['31430'] = [143,209,228] let s:lib.Codec.encoding_table['31433'] = [143,209,229] let s:lib.Codec.encoding_table['31436'] = [143,209,230] let s:lib.Codec.encoding_table['31438'] = [143,209,231] let s:lib.Codec.encoding_table['31441'] = [143,209,232] let s:lib.Codec.encoding_table['31451'] = [143,209,233] let s:lib.Codec.encoding_table['31464'] = [143,209,234] let s:lib.Codec.encoding_table['31465'] = [143,209,235] let s:lib.Codec.encoding_table['31467'] = [143,209,236] let s:lib.Codec.encoding_table['31468'] = [143,209,237] let s:lib.Codec.encoding_table['31473'] = [143,209,238] let s:lib.Codec.encoding_table['31476'] = [143,209,239] let s:lib.Codec.encoding_table['31483'] = [143,209,240] let s:lib.Codec.encoding_table['31485'] = [143,209,241] let s:lib.Codec.encoding_table['31486'] = [143,209,242] let s:lib.Codec.encoding_table['31495'] = [143,209,243] let s:lib.Codec.encoding_table['31508'] = [143,209,244] let s:lib.Codec.encoding_table['31519'] = [143,209,245] let s:lib.Codec.encoding_table['31523'] = [143,209,246] let s:lib.Codec.encoding_table['31527'] = [143,209,247] let s:lib.Codec.encoding_table['31529'] = [143,209,248] let s:lib.Codec.encoding_table['31530'] = [143,209,249] let s:lib.Codec.encoding_table['31531'] = [143,209,250] let s:lib.Codec.encoding_table['31533'] = [143,209,251] let s:lib.Codec.encoding_table['31534'] = [143,209,252] let s:lib.Codec.encoding_table['31535'] = [143,209,253] let s:lib.Codec.encoding_table['31536'] = [143,209,254] let s:lib.Codec.encoding_table['31537'] = [143,210,161] let s:lib.Codec.encoding_table['31540'] = [143,210,162] let s:lib.Codec.encoding_table['31549'] = [143,210,163] let s:lib.Codec.encoding_table['31551'] = [143,210,164] let s:lib.Codec.encoding_table['31552'] = [143,210,165] let s:lib.Codec.encoding_table['31553'] = [143,210,166] let s:lib.Codec.encoding_table['31559'] = [143,210,167] let s:lib.Codec.encoding_table['31566'] = [143,210,168] let s:lib.Codec.encoding_table['31573'] = [143,210,169] let s:lib.Codec.encoding_table['31584'] = [143,210,170] let s:lib.Codec.encoding_table['31588'] = [143,210,171] let s:lib.Codec.encoding_table['31590'] = [143,210,172] let s:lib.Codec.encoding_table['31593'] = [143,210,173] let s:lib.Codec.encoding_table['31594'] = [143,210,174] let s:lib.Codec.encoding_table['31597'] = [143,210,175] let s:lib.Codec.encoding_table['31599'] = [143,210,176] let s:lib.Codec.encoding_table['31602'] = [143,210,177] let s:lib.Codec.encoding_table['31603'] = [143,210,178] let s:lib.Codec.encoding_table['31607'] = [143,210,179] let s:lib.Codec.encoding_table['31620'] = [143,210,180] let s:lib.Codec.encoding_table['31625'] = [143,210,181] let s:lib.Codec.encoding_table['31630'] = [143,210,182] let s:lib.Codec.encoding_table['31632'] = [143,210,183] let s:lib.Codec.encoding_table['31633'] = [143,210,184] let s:lib.Codec.encoding_table['31638'] = [143,210,185] let s:lib.Codec.encoding_table['31643'] = [143,210,186] let s:lib.Codec.encoding_table['31646'] = [143,210,187] let s:lib.Codec.encoding_table['31648'] = [143,210,188] let s:lib.Codec.encoding_table['31653'] = [143,210,189] let s:lib.Codec.encoding_table['31660'] = [143,210,190] let s:lib.Codec.encoding_table['31663'] = [143,210,191] let s:lib.Codec.encoding_table['31664'] = [143,210,192] let s:lib.Codec.encoding_table['31666'] = [143,210,193] let s:lib.Codec.encoding_table['31669'] = [143,210,194] let s:lib.Codec.encoding_table['31670'] = [143,210,195] let s:lib.Codec.encoding_table['31674'] = [143,210,196] let s:lib.Codec.encoding_table['31675'] = [143,210,197] let s:lib.Codec.encoding_table['31676'] = [143,210,198] let s:lib.Codec.encoding_table['31677'] = [143,210,199] let s:lib.Codec.encoding_table['31682'] = [143,210,200] let s:lib.Codec.encoding_table['31685'] = [143,210,201] let s:lib.Codec.encoding_table['31688'] = [143,210,202] let s:lib.Codec.encoding_table['31690'] = [143,210,203] let s:lib.Codec.encoding_table['31700'] = [143,210,204] let s:lib.Codec.encoding_table['31702'] = [143,210,205] let s:lib.Codec.encoding_table['31703'] = [143,210,206] let s:lib.Codec.encoding_table['31705'] = [143,210,207] let s:lib.Codec.encoding_table['31706'] = [143,210,208] let s:lib.Codec.encoding_table['31707'] = [143,210,209] let s:lib.Codec.encoding_table['31720'] = [143,210,210] let s:lib.Codec.encoding_table['31722'] = [143,210,211] let s:lib.Codec.encoding_table['31730'] = [143,210,212] let s:lib.Codec.encoding_table['31732'] = [143,210,213] let s:lib.Codec.encoding_table['31733'] = [143,210,214] let s:lib.Codec.encoding_table['31736'] = [143,210,215] let s:lib.Codec.encoding_table['31737'] = [143,210,216] let s:lib.Codec.encoding_table['31738'] = [143,210,217] let s:lib.Codec.encoding_table['31740'] = [143,210,218] let s:lib.Codec.encoding_table['31742'] = [143,210,219] let s:lib.Codec.encoding_table['31745'] = [143,210,220] let s:lib.Codec.encoding_table['31746'] = [143,210,221] let s:lib.Codec.encoding_table['31747'] = [143,210,222] let s:lib.Codec.encoding_table['31748'] = [143,210,223] let s:lib.Codec.encoding_table['31750'] = [143,210,224] let s:lib.Codec.encoding_table['31753'] = [143,210,225] let s:lib.Codec.encoding_table['31755'] = [143,210,226] let s:lib.Codec.encoding_table['31756'] = [143,210,227] let s:lib.Codec.encoding_table['31758'] = [143,210,228] let s:lib.Codec.encoding_table['31759'] = [143,210,229] let s:lib.Codec.encoding_table['31769'] = [143,210,230] let s:lib.Codec.encoding_table['31771'] = [143,210,231] let s:lib.Codec.encoding_table['31776'] = [143,210,232] let s:lib.Codec.encoding_table['31781'] = [143,210,233] let s:lib.Codec.encoding_table['31782'] = [143,210,234] let s:lib.Codec.encoding_table['31784'] = [143,210,235] let s:lib.Codec.encoding_table['31788'] = [143,210,236] let s:lib.Codec.encoding_table['31793'] = [143,210,237] let s:lib.Codec.encoding_table['31795'] = [143,210,238] let s:lib.Codec.encoding_table['31796'] = [143,210,239] let s:lib.Codec.encoding_table['31798'] = [143,210,240] let s:lib.Codec.encoding_table['31801'] = [143,210,241] let s:lib.Codec.encoding_table['31802'] = [143,210,242] let s:lib.Codec.encoding_table['31814'] = [143,210,243] let s:lib.Codec.encoding_table['31818'] = [143,210,244] let s:lib.Codec.encoding_table['31829'] = [143,210,245] let s:lib.Codec.encoding_table['31825'] = [143,210,246] let s:lib.Codec.encoding_table['31826'] = [143,210,247] let s:lib.Codec.encoding_table['31827'] = [143,210,248] let s:lib.Codec.encoding_table['31833'] = [143,210,249] let s:lib.Codec.encoding_table['31834'] = [143,210,250] let s:lib.Codec.encoding_table['31835'] = [143,210,251] let s:lib.Codec.encoding_table['31836'] = [143,210,252] let s:lib.Codec.encoding_table['31837'] = [143,210,253] let s:lib.Codec.encoding_table['31838'] = [143,210,254] let s:lib.Codec.encoding_table['31841'] = [143,211,161] let s:lib.Codec.encoding_table['31843'] = [143,211,162] let s:lib.Codec.encoding_table['31847'] = [143,211,163] let s:lib.Codec.encoding_table['31849'] = [143,211,164] let s:lib.Codec.encoding_table['31853'] = [143,211,165] let s:lib.Codec.encoding_table['31854'] = [143,211,166] let s:lib.Codec.encoding_table['31856'] = [143,211,167] let s:lib.Codec.encoding_table['31858'] = [143,211,168] let s:lib.Codec.encoding_table['31865'] = [143,211,169] let s:lib.Codec.encoding_table['31868'] = [143,211,170] let s:lib.Codec.encoding_table['31869'] = [143,211,171] let s:lib.Codec.encoding_table['31878'] = [143,211,172] let s:lib.Codec.encoding_table['31879'] = [143,211,173] let s:lib.Codec.encoding_table['31887'] = [143,211,174] let s:lib.Codec.encoding_table['31892'] = [143,211,175] let s:lib.Codec.encoding_table['31902'] = [143,211,176] let s:lib.Codec.encoding_table['31904'] = [143,211,177] let s:lib.Codec.encoding_table['31910'] = [143,211,178] let s:lib.Codec.encoding_table['31920'] = [143,211,179] let s:lib.Codec.encoding_table['31926'] = [143,211,180] let s:lib.Codec.encoding_table['31927'] = [143,211,181] let s:lib.Codec.encoding_table['31930'] = [143,211,182] let s:lib.Codec.encoding_table['31931'] = [143,211,183] let s:lib.Codec.encoding_table['31932'] = [143,211,184] let s:lib.Codec.encoding_table['31935'] = [143,211,185] let s:lib.Codec.encoding_table['31940'] = [143,211,186] let s:lib.Codec.encoding_table['31943'] = [143,211,187] let s:lib.Codec.encoding_table['31944'] = [143,211,188] let s:lib.Codec.encoding_table['31945'] = [143,211,189] let s:lib.Codec.encoding_table['31949'] = [143,211,190] let s:lib.Codec.encoding_table['31951'] = [143,211,191] let s:lib.Codec.encoding_table['31955'] = [143,211,192] let s:lib.Codec.encoding_table['31956'] = [143,211,193] let s:lib.Codec.encoding_table['31957'] = [143,211,194] let s:lib.Codec.encoding_table['31959'] = [143,211,195] let s:lib.Codec.encoding_table['31961'] = [143,211,196] let s:lib.Codec.encoding_table['31962'] = [143,211,197] let s:lib.Codec.encoding_table['31965'] = [143,211,198] let s:lib.Codec.encoding_table['31974'] = [143,211,199] let s:lib.Codec.encoding_table['31977'] = [143,211,200] let s:lib.Codec.encoding_table['31979'] = [143,211,201] let s:lib.Codec.encoding_table['31989'] = [143,211,202] let s:lib.Codec.encoding_table['32003'] = [143,211,203] let s:lib.Codec.encoding_table['32007'] = [143,211,204] let s:lib.Codec.encoding_table['32008'] = [143,211,205] let s:lib.Codec.encoding_table['32009'] = [143,211,206] let s:lib.Codec.encoding_table['32015'] = [143,211,207] let s:lib.Codec.encoding_table['32017'] = [143,211,208] let s:lib.Codec.encoding_table['32018'] = [143,211,209] let s:lib.Codec.encoding_table['32019'] = [143,211,210] let s:lib.Codec.encoding_table['32022'] = [143,211,211] let s:lib.Codec.encoding_table['32029'] = [143,211,212] let s:lib.Codec.encoding_table['32030'] = [143,211,213] let s:lib.Codec.encoding_table['32035'] = [143,211,214] let s:lib.Codec.encoding_table['32038'] = [143,211,215] let s:lib.Codec.encoding_table['32042'] = [143,211,216] let s:lib.Codec.encoding_table['32045'] = [143,211,217] let s:lib.Codec.encoding_table['32049'] = [143,211,218] let s:lib.Codec.encoding_table['32060'] = [143,211,219] let s:lib.Codec.encoding_table['32061'] = [143,211,220] let s:lib.Codec.encoding_table['32062'] = [143,211,221] let s:lib.Codec.encoding_table['32064'] = [143,211,222] let s:lib.Codec.encoding_table['32065'] = [143,211,223] let s:lib.Codec.encoding_table['32071'] = [143,211,224] let s:lib.Codec.encoding_table['32072'] = [143,211,225] let s:lib.Codec.encoding_table['32077'] = [143,211,226] let s:lib.Codec.encoding_table['32081'] = [143,211,227] let s:lib.Codec.encoding_table['32083'] = [143,211,228] let s:lib.Codec.encoding_table['32087'] = [143,211,229] let s:lib.Codec.encoding_table['32089'] = [143,211,230] let s:lib.Codec.encoding_table['32090'] = [143,211,231] let s:lib.Codec.encoding_table['32092'] = [143,211,232] let s:lib.Codec.encoding_table['32093'] = [143,211,233] let s:lib.Codec.encoding_table['32101'] = [143,211,234] let s:lib.Codec.encoding_table['32103'] = [143,211,235] let s:lib.Codec.encoding_table['32106'] = [143,211,236] let s:lib.Codec.encoding_table['32112'] = [143,211,237] let s:lib.Codec.encoding_table['32120'] = [143,211,238] let s:lib.Codec.encoding_table['32122'] = [143,211,239] let s:lib.Codec.encoding_table['32123'] = [143,211,240] let s:lib.Codec.encoding_table['32127'] = [143,211,241] let s:lib.Codec.encoding_table['32129'] = [143,211,242] let s:lib.Codec.encoding_table['32130'] = [143,211,243] let s:lib.Codec.encoding_table['32131'] = [143,211,244] let s:lib.Codec.encoding_table['32133'] = [143,211,245] let s:lib.Codec.encoding_table['32134'] = [143,211,246] let s:lib.Codec.encoding_table['32136'] = [143,211,247] let s:lib.Codec.encoding_table['32139'] = [143,211,248] let s:lib.Codec.encoding_table['32140'] = [143,211,249] let s:lib.Codec.encoding_table['32141'] = [143,211,250] let s:lib.Codec.encoding_table['32145'] = [143,211,251] let s:lib.Codec.encoding_table['32150'] = [143,211,252] let s:lib.Codec.encoding_table['32151'] = [143,211,253] let s:lib.Codec.encoding_table['32157'] = [143,211,254] let s:lib.Codec.encoding_table['32158'] = [143,212,161] let s:lib.Codec.encoding_table['32166'] = [143,212,162] let s:lib.Codec.encoding_table['32167'] = [143,212,163] let s:lib.Codec.encoding_table['32170'] = [143,212,164] let s:lib.Codec.encoding_table['32179'] = [143,212,165] let s:lib.Codec.encoding_table['32182'] = [143,212,166] let s:lib.Codec.encoding_table['32183'] = [143,212,167] let s:lib.Codec.encoding_table['32185'] = [143,212,168] let s:lib.Codec.encoding_table['32194'] = [143,212,169] let s:lib.Codec.encoding_table['32195'] = [143,212,170] let s:lib.Codec.encoding_table['32196'] = [143,212,171] let s:lib.Codec.encoding_table['32197'] = [143,212,172] let s:lib.Codec.encoding_table['32198'] = [143,212,173] let s:lib.Codec.encoding_table['32204'] = [143,212,174] let s:lib.Codec.encoding_table['32205'] = [143,212,175] let s:lib.Codec.encoding_table['32206'] = [143,212,176] let s:lib.Codec.encoding_table['32215'] = [143,212,177] let s:lib.Codec.encoding_table['32217'] = [143,212,178] let s:lib.Codec.encoding_table['32256'] = [143,212,179] let s:lib.Codec.encoding_table['32226'] = [143,212,180] let s:lib.Codec.encoding_table['32229'] = [143,212,181] let s:lib.Codec.encoding_table['32230'] = [143,212,182] let s:lib.Codec.encoding_table['32234'] = [143,212,183] let s:lib.Codec.encoding_table['32235'] = [143,212,184] let s:lib.Codec.encoding_table['32237'] = [143,212,185] let s:lib.Codec.encoding_table['32241'] = [143,212,186] let s:lib.Codec.encoding_table['32245'] = [143,212,187] let s:lib.Codec.encoding_table['32246'] = [143,212,188] let s:lib.Codec.encoding_table['32249'] = [143,212,189] let s:lib.Codec.encoding_table['32250'] = [143,212,190] let s:lib.Codec.encoding_table['32264'] = [143,212,191] let s:lib.Codec.encoding_table['32272'] = [143,212,192] let s:lib.Codec.encoding_table['32273'] = [143,212,193] let s:lib.Codec.encoding_table['32277'] = [143,212,194] let s:lib.Codec.encoding_table['32279'] = [143,212,195] let s:lib.Codec.encoding_table['32284'] = [143,212,196] let s:lib.Codec.encoding_table['32285'] = [143,212,197] let s:lib.Codec.encoding_table['32288'] = [143,212,198] let s:lib.Codec.encoding_table['32295'] = [143,212,199] let s:lib.Codec.encoding_table['32296'] = [143,212,200] let s:lib.Codec.encoding_table['32300'] = [143,212,201] let s:lib.Codec.encoding_table['32301'] = [143,212,202] let s:lib.Codec.encoding_table['32303'] = [143,212,203] let s:lib.Codec.encoding_table['32307'] = [143,212,204] let s:lib.Codec.encoding_table['32310'] = [143,212,205] let s:lib.Codec.encoding_table['32319'] = [143,212,206] let s:lib.Codec.encoding_table['32324'] = [143,212,207] let s:lib.Codec.encoding_table['32325'] = [143,212,208] let s:lib.Codec.encoding_table['32327'] = [143,212,209] let s:lib.Codec.encoding_table['32334'] = [143,212,210] let s:lib.Codec.encoding_table['32336'] = [143,212,211] let s:lib.Codec.encoding_table['32338'] = [143,212,212] let s:lib.Codec.encoding_table['32344'] = [143,212,213] let s:lib.Codec.encoding_table['32351'] = [143,212,214] let s:lib.Codec.encoding_table['32353'] = [143,212,215] let s:lib.Codec.encoding_table['32354'] = [143,212,216] let s:lib.Codec.encoding_table['32357'] = [143,212,217] let s:lib.Codec.encoding_table['32363'] = [143,212,218] let s:lib.Codec.encoding_table['32366'] = [143,212,219] let s:lib.Codec.encoding_table['32367'] = [143,212,220] let s:lib.Codec.encoding_table['32371'] = [143,212,221] let s:lib.Codec.encoding_table['32376'] = [143,212,222] let s:lib.Codec.encoding_table['32382'] = [143,212,223] let s:lib.Codec.encoding_table['32385'] = [143,212,224] let s:lib.Codec.encoding_table['32390'] = [143,212,225] let s:lib.Codec.encoding_table['32391'] = [143,212,226] let s:lib.Codec.encoding_table['32394'] = [143,212,227] let s:lib.Codec.encoding_table['32397'] = [143,212,228] let s:lib.Codec.encoding_table['32401'] = [143,212,229] let s:lib.Codec.encoding_table['32405'] = [143,212,230] let s:lib.Codec.encoding_table['32408'] = [143,212,231] let s:lib.Codec.encoding_table['32410'] = [143,212,232] let s:lib.Codec.encoding_table['32413'] = [143,212,233] let s:lib.Codec.encoding_table['32414'] = [143,212,234] let s:lib.Codec.encoding_table['32572'] = [143,212,235] let s:lib.Codec.encoding_table['32571'] = [143,212,236] let s:lib.Codec.encoding_table['32573'] = [143,212,237] let s:lib.Codec.encoding_table['32574'] = [143,212,238] let s:lib.Codec.encoding_table['32575'] = [143,212,239] let s:lib.Codec.encoding_table['32579'] = [143,212,240] let s:lib.Codec.encoding_table['32580'] = [143,212,241] let s:lib.Codec.encoding_table['32583'] = [143,212,242] let s:lib.Codec.encoding_table['32591'] = [143,212,243] let s:lib.Codec.encoding_table['32594'] = [143,212,244] let s:lib.Codec.encoding_table['32595'] = [143,212,245] let s:lib.Codec.encoding_table['32603'] = [143,212,246] let s:lib.Codec.encoding_table['32604'] = [143,212,247] let s:lib.Codec.encoding_table['32605'] = [143,212,248] let s:lib.Codec.encoding_table['32609'] = [143,212,249] let s:lib.Codec.encoding_table['32611'] = [143,212,250] let s:lib.Codec.encoding_table['32612'] = [143,212,251] let s:lib.Codec.encoding_table['32613'] = [143,212,252] let s:lib.Codec.encoding_table['32614'] = [143,212,253] let s:lib.Codec.encoding_table['32621'] = [143,212,254] let s:lib.Codec.encoding_table['32625'] = [143,213,161] let s:lib.Codec.encoding_table['32637'] = [143,213,162] let s:lib.Codec.encoding_table['32638'] = [143,213,163] let s:lib.Codec.encoding_table['32639'] = [143,213,164] let s:lib.Codec.encoding_table['32640'] = [143,213,165] let s:lib.Codec.encoding_table['32651'] = [143,213,166] let s:lib.Codec.encoding_table['32653'] = [143,213,167] let s:lib.Codec.encoding_table['32655'] = [143,213,168] let s:lib.Codec.encoding_table['32656'] = [143,213,169] let s:lib.Codec.encoding_table['32657'] = [143,213,170] let s:lib.Codec.encoding_table['32662'] = [143,213,171] let s:lib.Codec.encoding_table['32663'] = [143,213,172] let s:lib.Codec.encoding_table['32668'] = [143,213,173] let s:lib.Codec.encoding_table['32673'] = [143,213,174] let s:lib.Codec.encoding_table['32674'] = [143,213,175] let s:lib.Codec.encoding_table['32678'] = [143,213,176] let s:lib.Codec.encoding_table['32682'] = [143,213,177] let s:lib.Codec.encoding_table['32685'] = [143,213,178] let s:lib.Codec.encoding_table['32692'] = [143,213,179] let s:lib.Codec.encoding_table['32700'] = [143,213,180] let s:lib.Codec.encoding_table['32703'] = [143,213,181] let s:lib.Codec.encoding_table['32704'] = [143,213,182] let s:lib.Codec.encoding_table['32707'] = [143,213,183] let s:lib.Codec.encoding_table['32712'] = [143,213,184] let s:lib.Codec.encoding_table['32718'] = [143,213,185] let s:lib.Codec.encoding_table['32719'] = [143,213,186] let s:lib.Codec.encoding_table['32731'] = [143,213,187] let s:lib.Codec.encoding_table['32735'] = [143,213,188] let s:lib.Codec.encoding_table['32739'] = [143,213,189] let s:lib.Codec.encoding_table['32741'] = [143,213,190] let s:lib.Codec.encoding_table['32744'] = [143,213,191] let s:lib.Codec.encoding_table['32748'] = [143,213,192] let s:lib.Codec.encoding_table['32750'] = [143,213,193] let s:lib.Codec.encoding_table['32751'] = [143,213,194] let s:lib.Codec.encoding_table['32754'] = [143,213,195] let s:lib.Codec.encoding_table['32762'] = [143,213,196] let s:lib.Codec.encoding_table['32765'] = [143,213,197] let s:lib.Codec.encoding_table['32766'] = [143,213,198] let s:lib.Codec.encoding_table['32767'] = [143,213,199] let s:lib.Codec.encoding_table['32775'] = [143,213,200] let s:lib.Codec.encoding_table['32776'] = [143,213,201] let s:lib.Codec.encoding_table['32778'] = [143,213,202] let s:lib.Codec.encoding_table['32781'] = [143,213,203] let s:lib.Codec.encoding_table['32782'] = [143,213,204] let s:lib.Codec.encoding_table['32783'] = [143,213,205] let s:lib.Codec.encoding_table['32785'] = [143,213,206] let s:lib.Codec.encoding_table['32787'] = [143,213,207] let s:lib.Codec.encoding_table['32788'] = [143,213,208] let s:lib.Codec.encoding_table['32790'] = [143,213,209] let s:lib.Codec.encoding_table['32797'] = [143,213,210] let s:lib.Codec.encoding_table['32798'] = [143,213,211] let s:lib.Codec.encoding_table['32799'] = [143,213,212] let s:lib.Codec.encoding_table['32800'] = [143,213,213] let s:lib.Codec.encoding_table['32804'] = [143,213,214] let s:lib.Codec.encoding_table['32806'] = [143,213,215] let s:lib.Codec.encoding_table['32812'] = [143,213,216] let s:lib.Codec.encoding_table['32814'] = [143,213,217] let s:lib.Codec.encoding_table['32816'] = [143,213,218] let s:lib.Codec.encoding_table['32820'] = [143,213,219] let s:lib.Codec.encoding_table['32821'] = [143,213,220] let s:lib.Codec.encoding_table['32823'] = [143,213,221] let s:lib.Codec.encoding_table['32825'] = [143,213,222] let s:lib.Codec.encoding_table['32826'] = [143,213,223] let s:lib.Codec.encoding_table['32828'] = [143,213,224] let s:lib.Codec.encoding_table['32830'] = [143,213,225] let s:lib.Codec.encoding_table['32832'] = [143,213,226] let s:lib.Codec.encoding_table['32836'] = [143,213,227] let s:lib.Codec.encoding_table['32864'] = [143,213,228] let s:lib.Codec.encoding_table['32868'] = [143,213,229] let s:lib.Codec.encoding_table['32870'] = [143,213,230] let s:lib.Codec.encoding_table['32877'] = [143,213,231] let s:lib.Codec.encoding_table['32881'] = [143,213,232] let s:lib.Codec.encoding_table['32885'] = [143,213,233] let s:lib.Codec.encoding_table['32897'] = [143,213,234] let s:lib.Codec.encoding_table['32904'] = [143,213,235] let s:lib.Codec.encoding_table['32910'] = [143,213,236] let s:lib.Codec.encoding_table['32924'] = [143,213,237] let s:lib.Codec.encoding_table['32926'] = [143,213,238] let s:lib.Codec.encoding_table['32934'] = [143,213,239] let s:lib.Codec.encoding_table['32935'] = [143,213,240] let s:lib.Codec.encoding_table['32939'] = [143,213,241] let s:lib.Codec.encoding_table['32952'] = [143,213,242] let s:lib.Codec.encoding_table['32953'] = [143,213,243] let s:lib.Codec.encoding_table['32968'] = [143,213,244] let s:lib.Codec.encoding_table['32973'] = [143,213,245] let s:lib.Codec.encoding_table['32975'] = [143,213,246] let s:lib.Codec.encoding_table['32978'] = [143,213,247] let s:lib.Codec.encoding_table['32980'] = [143,213,248] let s:lib.Codec.encoding_table['32981'] = [143,213,249] let s:lib.Codec.encoding_table['32983'] = [143,213,250] let s:lib.Codec.encoding_table['32984'] = [143,213,251] let s:lib.Codec.encoding_table['32992'] = [143,213,252] let s:lib.Codec.encoding_table['33005'] = [143,213,253] let s:lib.Codec.encoding_table['33006'] = [143,213,254] let s:lib.Codec.encoding_table['33008'] = [143,214,161] let s:lib.Codec.encoding_table['33010'] = [143,214,162] let s:lib.Codec.encoding_table['33011'] = [143,214,163] let s:lib.Codec.encoding_table['33014'] = [143,214,164] let s:lib.Codec.encoding_table['33017'] = [143,214,165] let s:lib.Codec.encoding_table['33018'] = [143,214,166] let s:lib.Codec.encoding_table['33022'] = [143,214,167] let s:lib.Codec.encoding_table['33027'] = [143,214,168] let s:lib.Codec.encoding_table['33035'] = [143,214,169] let s:lib.Codec.encoding_table['33046'] = [143,214,170] let s:lib.Codec.encoding_table['33047'] = [143,214,171] let s:lib.Codec.encoding_table['33048'] = [143,214,172] let s:lib.Codec.encoding_table['33052'] = [143,214,173] let s:lib.Codec.encoding_table['33054'] = [143,214,174] let s:lib.Codec.encoding_table['33056'] = [143,214,175] let s:lib.Codec.encoding_table['33060'] = [143,214,176] let s:lib.Codec.encoding_table['33063'] = [143,214,177] let s:lib.Codec.encoding_table['33068'] = [143,214,178] let s:lib.Codec.encoding_table['33072'] = [143,214,179] let s:lib.Codec.encoding_table['33077'] = [143,214,180] let s:lib.Codec.encoding_table['33082'] = [143,214,181] let s:lib.Codec.encoding_table['33084'] = [143,214,182] let s:lib.Codec.encoding_table['33093'] = [143,214,183] let s:lib.Codec.encoding_table['33095'] = [143,214,184] let s:lib.Codec.encoding_table['33098'] = [143,214,185] let s:lib.Codec.encoding_table['33100'] = [143,214,186] let s:lib.Codec.encoding_table['33106'] = [143,214,187] let s:lib.Codec.encoding_table['33111'] = [143,214,188] let s:lib.Codec.encoding_table['33120'] = [143,214,189] let s:lib.Codec.encoding_table['33121'] = [143,214,190] let s:lib.Codec.encoding_table['33127'] = [143,214,191] let s:lib.Codec.encoding_table['33128'] = [143,214,192] let s:lib.Codec.encoding_table['33129'] = [143,214,193] let s:lib.Codec.encoding_table['33133'] = [143,214,194] let s:lib.Codec.encoding_table['33135'] = [143,214,195] let s:lib.Codec.encoding_table['33143'] = [143,214,196] let s:lib.Codec.encoding_table['33153'] = [143,214,197] let s:lib.Codec.encoding_table['33168'] = [143,214,198] let s:lib.Codec.encoding_table['33156'] = [143,214,199] let s:lib.Codec.encoding_table['33157'] = [143,214,200] let s:lib.Codec.encoding_table['33158'] = [143,214,201] let s:lib.Codec.encoding_table['33163'] = [143,214,202] let s:lib.Codec.encoding_table['33166'] = [143,214,203] let s:lib.Codec.encoding_table['33174'] = [143,214,204] let s:lib.Codec.encoding_table['33176'] = [143,214,205] let s:lib.Codec.encoding_table['33179'] = [143,214,206] let s:lib.Codec.encoding_table['33182'] = [143,214,207] let s:lib.Codec.encoding_table['33186'] = [143,214,208] let s:lib.Codec.encoding_table['33198'] = [143,214,209] let s:lib.Codec.encoding_table['33202'] = [143,214,210] let s:lib.Codec.encoding_table['33204'] = [143,214,211] let s:lib.Codec.encoding_table['33211'] = [143,214,212] let s:lib.Codec.encoding_table['33227'] = [143,214,213] let s:lib.Codec.encoding_table['33219'] = [143,214,214] let s:lib.Codec.encoding_table['33221'] = [143,214,215] let s:lib.Codec.encoding_table['33226'] = [143,214,216] let s:lib.Codec.encoding_table['33230'] = [143,214,217] let s:lib.Codec.encoding_table['33231'] = [143,214,218] let s:lib.Codec.encoding_table['33237'] = [143,214,219] let s:lib.Codec.encoding_table['33239'] = [143,214,220] let s:lib.Codec.encoding_table['33243'] = [143,214,221] let s:lib.Codec.encoding_table['33245'] = [143,214,222] let s:lib.Codec.encoding_table['33246'] = [143,214,223] let s:lib.Codec.encoding_table['33249'] = [143,214,224] let s:lib.Codec.encoding_table['33252'] = [143,214,225] let s:lib.Codec.encoding_table['33259'] = [143,214,226] let s:lib.Codec.encoding_table['33260'] = [143,214,227] let s:lib.Codec.encoding_table['33264'] = [143,214,228] let s:lib.Codec.encoding_table['33265'] = [143,214,229] let s:lib.Codec.encoding_table['33266'] = [143,214,230] let s:lib.Codec.encoding_table['33269'] = [143,214,231] let s:lib.Codec.encoding_table['33270'] = [143,214,232] let s:lib.Codec.encoding_table['33272'] = [143,214,233] let s:lib.Codec.encoding_table['33273'] = [143,214,234] let s:lib.Codec.encoding_table['33277'] = [143,214,235] let s:lib.Codec.encoding_table['33279'] = [143,214,236] let s:lib.Codec.encoding_table['33280'] = [143,214,237] let s:lib.Codec.encoding_table['33283'] = [143,214,238] let s:lib.Codec.encoding_table['33295'] = [143,214,239] let s:lib.Codec.encoding_table['33299'] = [143,214,240] let s:lib.Codec.encoding_table['33300'] = [143,214,241] let s:lib.Codec.encoding_table['33305'] = [143,214,242] let s:lib.Codec.encoding_table['33306'] = [143,214,243] let s:lib.Codec.encoding_table['33309'] = [143,214,244] let s:lib.Codec.encoding_table['33313'] = [143,214,245] let s:lib.Codec.encoding_table['33314'] = [143,214,246] let s:lib.Codec.encoding_table['33320'] = [143,214,247] let s:lib.Codec.encoding_table['33330'] = [143,214,248] let s:lib.Codec.encoding_table['33332'] = [143,214,249] let s:lib.Codec.encoding_table['33338'] = [143,214,250] let s:lib.Codec.encoding_table['33347'] = [143,214,251] let s:lib.Codec.encoding_table['33348'] = [143,214,252] let s:lib.Codec.encoding_table['33349'] = [143,214,253] let s:lib.Codec.encoding_table['33350'] = [143,214,254] let s:lib.Codec.encoding_table['33355'] = [143,215,161] let s:lib.Codec.encoding_table['33358'] = [143,215,162] let s:lib.Codec.encoding_table['33359'] = [143,215,163] let s:lib.Codec.encoding_table['33361'] = [143,215,164] let s:lib.Codec.encoding_table['33366'] = [143,215,165] let s:lib.Codec.encoding_table['33372'] = [143,215,166] let s:lib.Codec.encoding_table['33376'] = [143,215,167] let s:lib.Codec.encoding_table['33379'] = [143,215,168] let s:lib.Codec.encoding_table['33383'] = [143,215,169] let s:lib.Codec.encoding_table['33389'] = [143,215,170] let s:lib.Codec.encoding_table['33396'] = [143,215,171] let s:lib.Codec.encoding_table['33403'] = [143,215,172] let s:lib.Codec.encoding_table['33405'] = [143,215,173] let s:lib.Codec.encoding_table['33407'] = [143,215,174] let s:lib.Codec.encoding_table['33408'] = [143,215,175] let s:lib.Codec.encoding_table['33409'] = [143,215,176] let s:lib.Codec.encoding_table['33411'] = [143,215,177] let s:lib.Codec.encoding_table['33412'] = [143,215,178] let s:lib.Codec.encoding_table['33415'] = [143,215,179] let s:lib.Codec.encoding_table['33417'] = [143,215,180] let s:lib.Codec.encoding_table['33418'] = [143,215,181] let s:lib.Codec.encoding_table['33422'] = [143,215,182] let s:lib.Codec.encoding_table['33425'] = [143,215,183] let s:lib.Codec.encoding_table['33428'] = [143,215,184] let s:lib.Codec.encoding_table['33430'] = [143,215,185] let s:lib.Codec.encoding_table['33432'] = [143,215,186] let s:lib.Codec.encoding_table['33434'] = [143,215,187] let s:lib.Codec.encoding_table['33435'] = [143,215,188] let s:lib.Codec.encoding_table['33440'] = [143,215,189] let s:lib.Codec.encoding_table['33441'] = [143,215,190] let s:lib.Codec.encoding_table['33443'] = [143,215,191] let s:lib.Codec.encoding_table['33444'] = [143,215,192] let s:lib.Codec.encoding_table['33447'] = [143,215,193] let s:lib.Codec.encoding_table['33448'] = [143,215,194] let s:lib.Codec.encoding_table['33449'] = [143,215,195] let s:lib.Codec.encoding_table['33450'] = [143,215,196] let s:lib.Codec.encoding_table['33454'] = [143,215,197] let s:lib.Codec.encoding_table['33456'] = [143,215,198] let s:lib.Codec.encoding_table['33458'] = [143,215,199] let s:lib.Codec.encoding_table['33460'] = [143,215,200] let s:lib.Codec.encoding_table['33463'] = [143,215,201] let s:lib.Codec.encoding_table['33466'] = [143,215,202] let s:lib.Codec.encoding_table['33468'] = [143,215,203] let s:lib.Codec.encoding_table['33470'] = [143,215,204] let s:lib.Codec.encoding_table['33471'] = [143,215,205] let s:lib.Codec.encoding_table['33478'] = [143,215,206] let s:lib.Codec.encoding_table['33488'] = [143,215,207] let s:lib.Codec.encoding_table['33493'] = [143,215,208] let s:lib.Codec.encoding_table['33498'] = [143,215,209] let s:lib.Codec.encoding_table['33504'] = [143,215,210] let s:lib.Codec.encoding_table['33506'] = [143,215,211] let s:lib.Codec.encoding_table['33508'] = [143,215,212] let s:lib.Codec.encoding_table['33512'] = [143,215,213] let s:lib.Codec.encoding_table['33514'] = [143,215,214] let s:lib.Codec.encoding_table['33517'] = [143,215,215] let s:lib.Codec.encoding_table['33519'] = [143,215,216] let s:lib.Codec.encoding_table['33526'] = [143,215,217] let s:lib.Codec.encoding_table['33527'] = [143,215,218] let s:lib.Codec.encoding_table['33533'] = [143,215,219] let s:lib.Codec.encoding_table['33534'] = [143,215,220] let s:lib.Codec.encoding_table['33536'] = [143,215,221] let s:lib.Codec.encoding_table['33537'] = [143,215,222] let s:lib.Codec.encoding_table['33543'] = [143,215,223] let s:lib.Codec.encoding_table['33544'] = [143,215,224] let s:lib.Codec.encoding_table['33546'] = [143,215,225] let s:lib.Codec.encoding_table['33547'] = [143,215,226] let s:lib.Codec.encoding_table['33620'] = [143,215,227] let s:lib.Codec.encoding_table['33563'] = [143,215,228] let s:lib.Codec.encoding_table['33565'] = [143,215,229] let s:lib.Codec.encoding_table['33566'] = [143,215,230] let s:lib.Codec.encoding_table['33567'] = [143,215,231] let s:lib.Codec.encoding_table['33569'] = [143,215,232] let s:lib.Codec.encoding_table['33570'] = [143,215,233] let s:lib.Codec.encoding_table['33580'] = [143,215,234] let s:lib.Codec.encoding_table['33581'] = [143,215,235] let s:lib.Codec.encoding_table['33582'] = [143,215,236] let s:lib.Codec.encoding_table['33584'] = [143,215,237] let s:lib.Codec.encoding_table['33587'] = [143,215,238] let s:lib.Codec.encoding_table['33591'] = [143,215,239] let s:lib.Codec.encoding_table['33594'] = [143,215,240] let s:lib.Codec.encoding_table['33596'] = [143,215,241] let s:lib.Codec.encoding_table['33597'] = [143,215,242] let s:lib.Codec.encoding_table['33602'] = [143,215,243] let s:lib.Codec.encoding_table['33603'] = [143,215,244] let s:lib.Codec.encoding_table['33604'] = [143,215,245] let s:lib.Codec.encoding_table['33607'] = [143,215,246] let s:lib.Codec.encoding_table['33613'] = [143,215,247] let s:lib.Codec.encoding_table['33614'] = [143,215,248] let s:lib.Codec.encoding_table['33617'] = [143,215,249] let s:lib.Codec.encoding_table['33621'] = [143,215,250] let s:lib.Codec.encoding_table['33622'] = [143,215,251] let s:lib.Codec.encoding_table['33623'] = [143,215,252] let s:lib.Codec.encoding_table['33648'] = [143,215,253] let s:lib.Codec.encoding_table['33656'] = [143,215,254] let s:lib.Codec.encoding_table['33661'] = [143,216,161] let s:lib.Codec.encoding_table['33663'] = [143,216,162] let s:lib.Codec.encoding_table['33664'] = [143,216,163] let s:lib.Codec.encoding_table['33666'] = [143,216,164] let s:lib.Codec.encoding_table['33668'] = [143,216,165] let s:lib.Codec.encoding_table['33670'] = [143,216,166] let s:lib.Codec.encoding_table['33677'] = [143,216,167] let s:lib.Codec.encoding_table['33682'] = [143,216,168] let s:lib.Codec.encoding_table['33684'] = [143,216,169] let s:lib.Codec.encoding_table['33685'] = [143,216,170] let s:lib.Codec.encoding_table['33688'] = [143,216,171] let s:lib.Codec.encoding_table['33689'] = [143,216,172] let s:lib.Codec.encoding_table['33691'] = [143,216,173] let s:lib.Codec.encoding_table['33692'] = [143,216,174] let s:lib.Codec.encoding_table['33693'] = [143,216,175] let s:lib.Codec.encoding_table['33702'] = [143,216,176] let s:lib.Codec.encoding_table['33703'] = [143,216,177] let s:lib.Codec.encoding_table['33705'] = [143,216,178] let s:lib.Codec.encoding_table['33708'] = [143,216,179] let s:lib.Codec.encoding_table['33726'] = [143,216,180] let s:lib.Codec.encoding_table['33727'] = [143,216,181] let s:lib.Codec.encoding_table['33728'] = [143,216,182] let s:lib.Codec.encoding_table['33735'] = [143,216,183] let s:lib.Codec.encoding_table['33737'] = [143,216,184] let s:lib.Codec.encoding_table['33743'] = [143,216,185] let s:lib.Codec.encoding_table['33744'] = [143,216,186] let s:lib.Codec.encoding_table['33745'] = [143,216,187] let s:lib.Codec.encoding_table['33748'] = [143,216,188] let s:lib.Codec.encoding_table['33757'] = [143,216,189] let s:lib.Codec.encoding_table['33619'] = [143,216,190] let s:lib.Codec.encoding_table['33768'] = [143,216,191] let s:lib.Codec.encoding_table['33770'] = [143,216,192] let s:lib.Codec.encoding_table['33782'] = [143,216,193] let s:lib.Codec.encoding_table['33784'] = [143,216,194] let s:lib.Codec.encoding_table['33785'] = [143,216,195] let s:lib.Codec.encoding_table['33788'] = [143,216,196] let s:lib.Codec.encoding_table['33793'] = [143,216,197] let s:lib.Codec.encoding_table['33798'] = [143,216,198] let s:lib.Codec.encoding_table['33802'] = [143,216,199] let s:lib.Codec.encoding_table['33807'] = [143,216,200] let s:lib.Codec.encoding_table['33809'] = [143,216,201] let s:lib.Codec.encoding_table['33813'] = [143,216,202] let s:lib.Codec.encoding_table['33817'] = [143,216,203] let s:lib.Codec.encoding_table['33709'] = [143,216,204] let s:lib.Codec.encoding_table['33839'] = [143,216,205] let s:lib.Codec.encoding_table['33849'] = [143,216,206] let s:lib.Codec.encoding_table['33861'] = [143,216,207] let s:lib.Codec.encoding_table['33863'] = [143,216,208] let s:lib.Codec.encoding_table['33864'] = [143,216,209] let s:lib.Codec.encoding_table['33866'] = [143,216,210] let s:lib.Codec.encoding_table['33869'] = [143,216,211] let s:lib.Codec.encoding_table['33871'] = [143,216,212] let s:lib.Codec.encoding_table['33873'] = [143,216,213] let s:lib.Codec.encoding_table['33874'] = [143,216,214] let s:lib.Codec.encoding_table['33878'] = [143,216,215] let s:lib.Codec.encoding_table['33880'] = [143,216,216] let s:lib.Codec.encoding_table['33881'] = [143,216,217] let s:lib.Codec.encoding_table['33882'] = [143,216,218] let s:lib.Codec.encoding_table['33884'] = [143,216,219] let s:lib.Codec.encoding_table['33888'] = [143,216,220] let s:lib.Codec.encoding_table['33892'] = [143,216,221] let s:lib.Codec.encoding_table['33893'] = [143,216,222] let s:lib.Codec.encoding_table['33895'] = [143,216,223] let s:lib.Codec.encoding_table['33898'] = [143,216,224] let s:lib.Codec.encoding_table['33904'] = [143,216,225] let s:lib.Codec.encoding_table['33907'] = [143,216,226] let s:lib.Codec.encoding_table['33908'] = [143,216,227] let s:lib.Codec.encoding_table['33910'] = [143,216,228] let s:lib.Codec.encoding_table['33912'] = [143,216,229] let s:lib.Codec.encoding_table['33916'] = [143,216,230] let s:lib.Codec.encoding_table['33917'] = [143,216,231] let s:lib.Codec.encoding_table['33921'] = [143,216,232] let s:lib.Codec.encoding_table['33925'] = [143,216,233] let s:lib.Codec.encoding_table['33938'] = [143,216,234] let s:lib.Codec.encoding_table['33939'] = [143,216,235] let s:lib.Codec.encoding_table['33941'] = [143,216,236] let s:lib.Codec.encoding_table['33950'] = [143,216,237] let s:lib.Codec.encoding_table['33958'] = [143,216,238] let s:lib.Codec.encoding_table['33960'] = [143,216,239] let s:lib.Codec.encoding_table['33961'] = [143,216,240] let s:lib.Codec.encoding_table['33962'] = [143,216,241] let s:lib.Codec.encoding_table['33967'] = [143,216,242] let s:lib.Codec.encoding_table['33969'] = [143,216,243] let s:lib.Codec.encoding_table['33972'] = [143,216,244] let s:lib.Codec.encoding_table['33978'] = [143,216,245] let s:lib.Codec.encoding_table['33981'] = [143,216,246] let s:lib.Codec.encoding_table['33982'] = [143,216,247] let s:lib.Codec.encoding_table['33984'] = [143,216,248] let s:lib.Codec.encoding_table['33986'] = [143,216,249] let s:lib.Codec.encoding_table['33991'] = [143,216,250] let s:lib.Codec.encoding_table['33992'] = [143,216,251] let s:lib.Codec.encoding_table['33996'] = [143,216,252] let s:lib.Codec.encoding_table['33999'] = [143,216,253] let s:lib.Codec.encoding_table['34003'] = [143,216,254] let s:lib.Codec.encoding_table['34012'] = [143,217,161] let s:lib.Codec.encoding_table['34023'] = [143,217,162] let s:lib.Codec.encoding_table['34026'] = [143,217,163] let s:lib.Codec.encoding_table['34031'] = [143,217,164] let s:lib.Codec.encoding_table['34032'] = [143,217,165] let s:lib.Codec.encoding_table['34033'] = [143,217,166] let s:lib.Codec.encoding_table['34034'] = [143,217,167] let s:lib.Codec.encoding_table['34039'] = [143,217,168] let s:lib.Codec.encoding_table['34098'] = [143,217,169] let s:lib.Codec.encoding_table['34042'] = [143,217,170] let s:lib.Codec.encoding_table['34043'] = [143,217,171] let s:lib.Codec.encoding_table['34045'] = [143,217,172] let s:lib.Codec.encoding_table['34050'] = [143,217,173] let s:lib.Codec.encoding_table['34051'] = [143,217,174] let s:lib.Codec.encoding_table['34055'] = [143,217,175] let s:lib.Codec.encoding_table['34060'] = [143,217,176] let s:lib.Codec.encoding_table['34062'] = [143,217,177] let s:lib.Codec.encoding_table['34064'] = [143,217,178] let s:lib.Codec.encoding_table['34076'] = [143,217,179] let s:lib.Codec.encoding_table['34078'] = [143,217,180] let s:lib.Codec.encoding_table['34082'] = [143,217,181] let s:lib.Codec.encoding_table['34083'] = [143,217,182] let s:lib.Codec.encoding_table['34084'] = [143,217,183] let s:lib.Codec.encoding_table['34085'] = [143,217,184] let s:lib.Codec.encoding_table['34087'] = [143,217,185] let s:lib.Codec.encoding_table['34090'] = [143,217,186] let s:lib.Codec.encoding_table['34091'] = [143,217,187] let s:lib.Codec.encoding_table['34095'] = [143,217,188] let s:lib.Codec.encoding_table['34099'] = [143,217,189] let s:lib.Codec.encoding_table['34100'] = [143,217,190] let s:lib.Codec.encoding_table['34102'] = [143,217,191] let s:lib.Codec.encoding_table['34111'] = [143,217,192] let s:lib.Codec.encoding_table['34118'] = [143,217,193] let s:lib.Codec.encoding_table['34127'] = [143,217,194] let s:lib.Codec.encoding_table['34128'] = [143,217,195] let s:lib.Codec.encoding_table['34129'] = [143,217,196] let s:lib.Codec.encoding_table['34130'] = [143,217,197] let s:lib.Codec.encoding_table['34131'] = [143,217,198] let s:lib.Codec.encoding_table['34134'] = [143,217,199] let s:lib.Codec.encoding_table['34137'] = [143,217,200] let s:lib.Codec.encoding_table['34140'] = [143,217,201] let s:lib.Codec.encoding_table['34141'] = [143,217,202] let s:lib.Codec.encoding_table['34142'] = [143,217,203] let s:lib.Codec.encoding_table['34143'] = [143,217,204] let s:lib.Codec.encoding_table['34144'] = [143,217,205] let s:lib.Codec.encoding_table['34145'] = [143,217,206] let s:lib.Codec.encoding_table['34146'] = [143,217,207] let s:lib.Codec.encoding_table['34148'] = [143,217,208] let s:lib.Codec.encoding_table['34155'] = [143,217,209] let s:lib.Codec.encoding_table['34159'] = [143,217,210] let s:lib.Codec.encoding_table['34169'] = [143,217,211] let s:lib.Codec.encoding_table['34170'] = [143,217,212] let s:lib.Codec.encoding_table['34171'] = [143,217,213] let s:lib.Codec.encoding_table['34173'] = [143,217,214] let s:lib.Codec.encoding_table['34175'] = [143,217,215] let s:lib.Codec.encoding_table['34177'] = [143,217,216] let s:lib.Codec.encoding_table['34181'] = [143,217,217] let s:lib.Codec.encoding_table['34182'] = [143,217,218] let s:lib.Codec.encoding_table['34185'] = [143,217,219] let s:lib.Codec.encoding_table['34187'] = [143,217,220] let s:lib.Codec.encoding_table['34188'] = [143,217,221] let s:lib.Codec.encoding_table['34191'] = [143,217,222] let s:lib.Codec.encoding_table['34195'] = [143,217,223] let s:lib.Codec.encoding_table['34200'] = [143,217,224] let s:lib.Codec.encoding_table['34205'] = [143,217,225] let s:lib.Codec.encoding_table['34207'] = [143,217,226] let s:lib.Codec.encoding_table['34208'] = [143,217,227] let s:lib.Codec.encoding_table['34210'] = [143,217,228] let s:lib.Codec.encoding_table['34213'] = [143,217,229] let s:lib.Codec.encoding_table['34215'] = [143,217,230] let s:lib.Codec.encoding_table['34228'] = [143,217,231] let s:lib.Codec.encoding_table['34230'] = [143,217,232] let s:lib.Codec.encoding_table['34231'] = [143,217,233] let s:lib.Codec.encoding_table['34232'] = [143,217,234] let s:lib.Codec.encoding_table['34236'] = [143,217,235] let s:lib.Codec.encoding_table['34237'] = [143,217,236] let s:lib.Codec.encoding_table['34238'] = [143,217,237] let s:lib.Codec.encoding_table['34239'] = [143,217,238] let s:lib.Codec.encoding_table['34242'] = [143,217,239] let s:lib.Codec.encoding_table['34247'] = [143,217,240] let s:lib.Codec.encoding_table['34250'] = [143,217,241] let s:lib.Codec.encoding_table['34251'] = [143,217,242] let s:lib.Codec.encoding_table['34254'] = [143,217,243] let s:lib.Codec.encoding_table['34221'] = [143,217,244] let s:lib.Codec.encoding_table['34264'] = [143,217,245] let s:lib.Codec.encoding_table['34266'] = [143,217,246] let s:lib.Codec.encoding_table['34271'] = [143,217,247] let s:lib.Codec.encoding_table['34272'] = [143,217,248] let s:lib.Codec.encoding_table['34278'] = [143,217,249] let s:lib.Codec.encoding_table['34280'] = [143,217,250] let s:lib.Codec.encoding_table['34285'] = [143,217,251] let s:lib.Codec.encoding_table['34291'] = [143,217,252] let s:lib.Codec.encoding_table['34294'] = [143,217,253] let s:lib.Codec.encoding_table['34300'] = [143,217,254] let s:lib.Codec.encoding_table['34303'] = [143,218,161] let s:lib.Codec.encoding_table['34304'] = [143,218,162] let s:lib.Codec.encoding_table['34308'] = [143,218,163] let s:lib.Codec.encoding_table['34309'] = [143,218,164] let s:lib.Codec.encoding_table['34317'] = [143,218,165] let s:lib.Codec.encoding_table['34318'] = [143,218,166] let s:lib.Codec.encoding_table['34320'] = [143,218,167] let s:lib.Codec.encoding_table['34321'] = [143,218,168] let s:lib.Codec.encoding_table['34322'] = [143,218,169] let s:lib.Codec.encoding_table['34328'] = [143,218,170] let s:lib.Codec.encoding_table['34329'] = [143,218,171] let s:lib.Codec.encoding_table['34331'] = [143,218,172] let s:lib.Codec.encoding_table['34334'] = [143,218,173] let s:lib.Codec.encoding_table['34337'] = [143,218,174] let s:lib.Codec.encoding_table['34343'] = [143,218,175] let s:lib.Codec.encoding_table['34345'] = [143,218,176] let s:lib.Codec.encoding_table['34358'] = [143,218,177] let s:lib.Codec.encoding_table['34360'] = [143,218,178] let s:lib.Codec.encoding_table['34362'] = [143,218,179] let s:lib.Codec.encoding_table['34364'] = [143,218,180] let s:lib.Codec.encoding_table['34365'] = [143,218,181] let s:lib.Codec.encoding_table['34368'] = [143,218,182] let s:lib.Codec.encoding_table['34370'] = [143,218,183] let s:lib.Codec.encoding_table['34374'] = [143,218,184] let s:lib.Codec.encoding_table['34386'] = [143,218,185] let s:lib.Codec.encoding_table['34387'] = [143,218,186] let s:lib.Codec.encoding_table['34390'] = [143,218,187] let s:lib.Codec.encoding_table['34391'] = [143,218,188] let s:lib.Codec.encoding_table['34392'] = [143,218,189] let s:lib.Codec.encoding_table['34393'] = [143,218,190] let s:lib.Codec.encoding_table['34397'] = [143,218,191] let s:lib.Codec.encoding_table['34400'] = [143,218,192] let s:lib.Codec.encoding_table['34401'] = [143,218,193] let s:lib.Codec.encoding_table['34402'] = [143,218,194] let s:lib.Codec.encoding_table['34403'] = [143,218,195] let s:lib.Codec.encoding_table['34404'] = [143,218,196] let s:lib.Codec.encoding_table['34409'] = [143,218,197] let s:lib.Codec.encoding_table['34412'] = [143,218,198] let s:lib.Codec.encoding_table['34415'] = [143,218,199] let s:lib.Codec.encoding_table['34421'] = [143,218,200] let s:lib.Codec.encoding_table['34422'] = [143,218,201] let s:lib.Codec.encoding_table['34423'] = [143,218,202] let s:lib.Codec.encoding_table['34426'] = [143,218,203] let s:lib.Codec.encoding_table['34445'] = [143,218,204] let s:lib.Codec.encoding_table['34449'] = [143,218,205] let s:lib.Codec.encoding_table['34454'] = [143,218,206] let s:lib.Codec.encoding_table['34456'] = [143,218,207] let s:lib.Codec.encoding_table['34458'] = [143,218,208] let s:lib.Codec.encoding_table['34460'] = [143,218,209] let s:lib.Codec.encoding_table['34465'] = [143,218,210] let s:lib.Codec.encoding_table['34470'] = [143,218,211] let s:lib.Codec.encoding_table['34471'] = [143,218,212] let s:lib.Codec.encoding_table['34472'] = [143,218,213] let s:lib.Codec.encoding_table['34477'] = [143,218,214] let s:lib.Codec.encoding_table['34481'] = [143,218,215] let s:lib.Codec.encoding_table['34483'] = [143,218,216] let s:lib.Codec.encoding_table['34484'] = [143,218,217] let s:lib.Codec.encoding_table['34485'] = [143,218,218] let s:lib.Codec.encoding_table['34487'] = [143,218,219] let s:lib.Codec.encoding_table['34488'] = [143,218,220] let s:lib.Codec.encoding_table['34489'] = [143,218,221] let s:lib.Codec.encoding_table['34495'] = [143,218,222] let s:lib.Codec.encoding_table['34496'] = [143,218,223] let s:lib.Codec.encoding_table['34497'] = [143,218,224] let s:lib.Codec.encoding_table['34499'] = [143,218,225] let s:lib.Codec.encoding_table['34501'] = [143,218,226] let s:lib.Codec.encoding_table['34513'] = [143,218,227] let s:lib.Codec.encoding_table['34514'] = [143,218,228] let s:lib.Codec.encoding_table['34517'] = [143,218,229] let s:lib.Codec.encoding_table['34519'] = [143,218,230] let s:lib.Codec.encoding_table['34522'] = [143,218,231] let s:lib.Codec.encoding_table['34524'] = [143,218,232] let s:lib.Codec.encoding_table['34528'] = [143,218,233] let s:lib.Codec.encoding_table['34531'] = [143,218,234] let s:lib.Codec.encoding_table['34533'] = [143,218,235] let s:lib.Codec.encoding_table['34535'] = [143,218,236] let s:lib.Codec.encoding_table['34440'] = [143,218,237] let s:lib.Codec.encoding_table['34554'] = [143,218,238] let s:lib.Codec.encoding_table['34556'] = [143,218,239] let s:lib.Codec.encoding_table['34557'] = [143,218,240] let s:lib.Codec.encoding_table['34564'] = [143,218,241] let s:lib.Codec.encoding_table['34565'] = [143,218,242] let s:lib.Codec.encoding_table['34567'] = [143,218,243] let s:lib.Codec.encoding_table['34571'] = [143,218,244] let s:lib.Codec.encoding_table['34574'] = [143,218,245] let s:lib.Codec.encoding_table['34575'] = [143,218,246] let s:lib.Codec.encoding_table['34576'] = [143,218,247] let s:lib.Codec.encoding_table['34579'] = [143,218,248] let s:lib.Codec.encoding_table['34580'] = [143,218,249] let s:lib.Codec.encoding_table['34585'] = [143,218,250] let s:lib.Codec.encoding_table['34590'] = [143,218,251] let s:lib.Codec.encoding_table['34591'] = [143,218,252] let s:lib.Codec.encoding_table['34593'] = [143,218,253] let s:lib.Codec.encoding_table['34595'] = [143,218,254] let s:lib.Codec.encoding_table['34600'] = [143,219,161] let s:lib.Codec.encoding_table['34606'] = [143,219,162] let s:lib.Codec.encoding_table['34607'] = [143,219,163] let s:lib.Codec.encoding_table['34609'] = [143,219,164] let s:lib.Codec.encoding_table['34610'] = [143,219,165] let s:lib.Codec.encoding_table['34617'] = [143,219,166] let s:lib.Codec.encoding_table['34618'] = [143,219,167] let s:lib.Codec.encoding_table['34620'] = [143,219,168] let s:lib.Codec.encoding_table['34621'] = [143,219,169] let s:lib.Codec.encoding_table['34622'] = [143,219,170] let s:lib.Codec.encoding_table['34624'] = [143,219,171] let s:lib.Codec.encoding_table['34627'] = [143,219,172] let s:lib.Codec.encoding_table['34629'] = [143,219,173] let s:lib.Codec.encoding_table['34637'] = [143,219,174] let s:lib.Codec.encoding_table['34648'] = [143,219,175] let s:lib.Codec.encoding_table['34653'] = [143,219,176] let s:lib.Codec.encoding_table['34657'] = [143,219,177] let s:lib.Codec.encoding_table['34660'] = [143,219,178] let s:lib.Codec.encoding_table['34661'] = [143,219,179] let s:lib.Codec.encoding_table['34671'] = [143,219,180] let s:lib.Codec.encoding_table['34673'] = [143,219,181] let s:lib.Codec.encoding_table['34674'] = [143,219,182] let s:lib.Codec.encoding_table['34683'] = [143,219,183] let s:lib.Codec.encoding_table['34691'] = [143,219,184] let s:lib.Codec.encoding_table['34692'] = [143,219,185] let s:lib.Codec.encoding_table['34693'] = [143,219,186] let s:lib.Codec.encoding_table['34694'] = [143,219,187] let s:lib.Codec.encoding_table['34695'] = [143,219,188] let s:lib.Codec.encoding_table['34696'] = [143,219,189] let s:lib.Codec.encoding_table['34697'] = [143,219,190] let s:lib.Codec.encoding_table['34699'] = [143,219,191] let s:lib.Codec.encoding_table['34700'] = [143,219,192] let s:lib.Codec.encoding_table['34704'] = [143,219,193] let s:lib.Codec.encoding_table['34707'] = [143,219,194] let s:lib.Codec.encoding_table['34709'] = [143,219,195] let s:lib.Codec.encoding_table['34711'] = [143,219,196] let s:lib.Codec.encoding_table['34712'] = [143,219,197] let s:lib.Codec.encoding_table['34713'] = [143,219,198] let s:lib.Codec.encoding_table['34718'] = [143,219,199] let s:lib.Codec.encoding_table['34720'] = [143,219,200] let s:lib.Codec.encoding_table['34723'] = [143,219,201] let s:lib.Codec.encoding_table['34727'] = [143,219,202] let s:lib.Codec.encoding_table['34732'] = [143,219,203] let s:lib.Codec.encoding_table['34733'] = [143,219,204] let s:lib.Codec.encoding_table['34734'] = [143,219,205] let s:lib.Codec.encoding_table['34737'] = [143,219,206] let s:lib.Codec.encoding_table['34741'] = [143,219,207] let s:lib.Codec.encoding_table['34750'] = [143,219,208] let s:lib.Codec.encoding_table['34751'] = [143,219,209] let s:lib.Codec.encoding_table['34753'] = [143,219,210] let s:lib.Codec.encoding_table['34760'] = [143,219,211] let s:lib.Codec.encoding_table['34761'] = [143,219,212] let s:lib.Codec.encoding_table['34762'] = [143,219,213] let s:lib.Codec.encoding_table['34766'] = [143,219,214] let s:lib.Codec.encoding_table['34773'] = [143,219,215] let s:lib.Codec.encoding_table['34774'] = [143,219,216] let s:lib.Codec.encoding_table['34777'] = [143,219,217] let s:lib.Codec.encoding_table['34778'] = [143,219,218] let s:lib.Codec.encoding_table['34780'] = [143,219,219] let s:lib.Codec.encoding_table['34783'] = [143,219,220] let s:lib.Codec.encoding_table['34786'] = [143,219,221] let s:lib.Codec.encoding_table['34787'] = [143,219,222] let s:lib.Codec.encoding_table['34788'] = [143,219,223] let s:lib.Codec.encoding_table['34794'] = [143,219,224] let s:lib.Codec.encoding_table['34795'] = [143,219,225] let s:lib.Codec.encoding_table['34797'] = [143,219,226] let s:lib.Codec.encoding_table['34801'] = [143,219,227] let s:lib.Codec.encoding_table['34803'] = [143,219,228] let s:lib.Codec.encoding_table['34808'] = [143,219,229] let s:lib.Codec.encoding_table['34810'] = [143,219,230] let s:lib.Codec.encoding_table['34815'] = [143,219,231] let s:lib.Codec.encoding_table['34817'] = [143,219,232] let s:lib.Codec.encoding_table['34819'] = [143,219,233] let s:lib.Codec.encoding_table['34822'] = [143,219,234] let s:lib.Codec.encoding_table['34825'] = [143,219,235] let s:lib.Codec.encoding_table['34826'] = [143,219,236] let s:lib.Codec.encoding_table['34827'] = [143,219,237] let s:lib.Codec.encoding_table['34832'] = [143,219,238] let s:lib.Codec.encoding_table['34841'] = [143,219,239] let s:lib.Codec.encoding_table['34834'] = [143,219,240] let s:lib.Codec.encoding_table['34835'] = [143,219,241] let s:lib.Codec.encoding_table['34836'] = [143,219,242] let s:lib.Codec.encoding_table['34840'] = [143,219,243] let s:lib.Codec.encoding_table['34842'] = [143,219,244] let s:lib.Codec.encoding_table['34843'] = [143,219,245] let s:lib.Codec.encoding_table['34844'] = [143,219,246] let s:lib.Codec.encoding_table['34846'] = [143,219,247] let s:lib.Codec.encoding_table['34847'] = [143,219,248] let s:lib.Codec.encoding_table['34856'] = [143,219,249] let s:lib.Codec.encoding_table['34861'] = [143,219,250] let s:lib.Codec.encoding_table['34862'] = [143,219,251] let s:lib.Codec.encoding_table['34864'] = [143,219,252] let s:lib.Codec.encoding_table['34866'] = [143,219,253] let s:lib.Codec.encoding_table['34869'] = [143,219,254] let s:lib.Codec.encoding_table['34874'] = [143,220,161] let s:lib.Codec.encoding_table['34876'] = [143,220,162] let s:lib.Codec.encoding_table['34881'] = [143,220,163] let s:lib.Codec.encoding_table['34883'] = [143,220,164] let s:lib.Codec.encoding_table['34885'] = [143,220,165] let s:lib.Codec.encoding_table['34888'] = [143,220,166] let s:lib.Codec.encoding_table['34889'] = [143,220,167] let s:lib.Codec.encoding_table['34890'] = [143,220,168] let s:lib.Codec.encoding_table['34891'] = [143,220,169] let s:lib.Codec.encoding_table['34894'] = [143,220,170] let s:lib.Codec.encoding_table['34897'] = [143,220,171] let s:lib.Codec.encoding_table['34901'] = [143,220,172] let s:lib.Codec.encoding_table['34902'] = [143,220,173] let s:lib.Codec.encoding_table['34904'] = [143,220,174] let s:lib.Codec.encoding_table['34906'] = [143,220,175] let s:lib.Codec.encoding_table['34908'] = [143,220,176] let s:lib.Codec.encoding_table['34911'] = [143,220,177] let s:lib.Codec.encoding_table['34912'] = [143,220,178] let s:lib.Codec.encoding_table['34916'] = [143,220,179] let s:lib.Codec.encoding_table['34921'] = [143,220,180] let s:lib.Codec.encoding_table['34929'] = [143,220,181] let s:lib.Codec.encoding_table['34937'] = [143,220,182] let s:lib.Codec.encoding_table['34939'] = [143,220,183] let s:lib.Codec.encoding_table['34944'] = [143,220,184] let s:lib.Codec.encoding_table['34968'] = [143,220,185] let s:lib.Codec.encoding_table['34970'] = [143,220,186] let s:lib.Codec.encoding_table['34971'] = [143,220,187] let s:lib.Codec.encoding_table['34972'] = [143,220,188] let s:lib.Codec.encoding_table['34975'] = [143,220,189] let s:lib.Codec.encoding_table['34976'] = [143,220,190] let s:lib.Codec.encoding_table['34984'] = [143,220,191] let s:lib.Codec.encoding_table['34986'] = [143,220,192] let s:lib.Codec.encoding_table['35002'] = [143,220,193] let s:lib.Codec.encoding_table['35005'] = [143,220,194] let s:lib.Codec.encoding_table['35006'] = [143,220,195] let s:lib.Codec.encoding_table['35008'] = [143,220,196] let s:lib.Codec.encoding_table['35018'] = [143,220,197] let s:lib.Codec.encoding_table['35019'] = [143,220,198] let s:lib.Codec.encoding_table['35020'] = [143,220,199] let s:lib.Codec.encoding_table['35021'] = [143,220,200] let s:lib.Codec.encoding_table['35022'] = [143,220,201] let s:lib.Codec.encoding_table['35025'] = [143,220,202] let s:lib.Codec.encoding_table['35026'] = [143,220,203] let s:lib.Codec.encoding_table['35027'] = [143,220,204] let s:lib.Codec.encoding_table['35035'] = [143,220,205] let s:lib.Codec.encoding_table['35038'] = [143,220,206] let s:lib.Codec.encoding_table['35047'] = [143,220,207] let s:lib.Codec.encoding_table['35055'] = [143,220,208] let s:lib.Codec.encoding_table['35056'] = [143,220,209] let s:lib.Codec.encoding_table['35057'] = [143,220,210] let s:lib.Codec.encoding_table['35061'] = [143,220,211] let s:lib.Codec.encoding_table['35063'] = [143,220,212] let s:lib.Codec.encoding_table['35073'] = [143,220,213] let s:lib.Codec.encoding_table['35078'] = [143,220,214] let s:lib.Codec.encoding_table['35085'] = [143,220,215] let s:lib.Codec.encoding_table['35086'] = [143,220,216] let s:lib.Codec.encoding_table['35087'] = [143,220,217] let s:lib.Codec.encoding_table['35093'] = [143,220,218] let s:lib.Codec.encoding_table['35094'] = [143,220,219] let s:lib.Codec.encoding_table['35096'] = [143,220,220] let s:lib.Codec.encoding_table['35097'] = [143,220,221] let s:lib.Codec.encoding_table['35098'] = [143,220,222] let s:lib.Codec.encoding_table['35100'] = [143,220,223] let s:lib.Codec.encoding_table['35104'] = [143,220,224] let s:lib.Codec.encoding_table['35110'] = [143,220,225] let s:lib.Codec.encoding_table['35111'] = [143,220,226] let s:lib.Codec.encoding_table['35112'] = [143,220,227] let s:lib.Codec.encoding_table['35120'] = [143,220,228] let s:lib.Codec.encoding_table['35121'] = [143,220,229] let s:lib.Codec.encoding_table['35122'] = [143,220,230] let s:lib.Codec.encoding_table['35125'] = [143,220,231] let s:lib.Codec.encoding_table['35129'] = [143,220,232] let s:lib.Codec.encoding_table['35130'] = [143,220,233] let s:lib.Codec.encoding_table['35134'] = [143,220,234] let s:lib.Codec.encoding_table['35136'] = [143,220,235] let s:lib.Codec.encoding_table['35138'] = [143,220,236] let s:lib.Codec.encoding_table['35141'] = [143,220,237] let s:lib.Codec.encoding_table['35142'] = [143,220,238] let s:lib.Codec.encoding_table['35145'] = [143,220,239] let s:lib.Codec.encoding_table['35151'] = [143,220,240] let s:lib.Codec.encoding_table['35154'] = [143,220,241] let s:lib.Codec.encoding_table['35159'] = [143,220,242] let s:lib.Codec.encoding_table['35162'] = [143,220,243] let s:lib.Codec.encoding_table['35163'] = [143,220,244] let s:lib.Codec.encoding_table['35164'] = [143,220,245] let s:lib.Codec.encoding_table['35169'] = [143,220,246] let s:lib.Codec.encoding_table['35170'] = [143,220,247] let s:lib.Codec.encoding_table['35171'] = [143,220,248] let s:lib.Codec.encoding_table['35179'] = [143,220,249] let s:lib.Codec.encoding_table['35182'] = [143,220,250] let s:lib.Codec.encoding_table['35184'] = [143,220,251] let s:lib.Codec.encoding_table['35187'] = [143,220,252] let s:lib.Codec.encoding_table['35189'] = [143,220,253] let s:lib.Codec.encoding_table['35194'] = [143,220,254] let s:lib.Codec.encoding_table['35195'] = [143,221,161] let s:lib.Codec.encoding_table['35196'] = [143,221,162] let s:lib.Codec.encoding_table['35197'] = [143,221,163] let s:lib.Codec.encoding_table['35209'] = [143,221,164] let s:lib.Codec.encoding_table['35213'] = [143,221,165] let s:lib.Codec.encoding_table['35216'] = [143,221,166] let s:lib.Codec.encoding_table['35220'] = [143,221,167] let s:lib.Codec.encoding_table['35221'] = [143,221,168] let s:lib.Codec.encoding_table['35227'] = [143,221,169] let s:lib.Codec.encoding_table['35228'] = [143,221,170] let s:lib.Codec.encoding_table['35231'] = [143,221,171] let s:lib.Codec.encoding_table['35232'] = [143,221,172] let s:lib.Codec.encoding_table['35237'] = [143,221,173] let s:lib.Codec.encoding_table['35248'] = [143,221,174] let s:lib.Codec.encoding_table['35252'] = [143,221,175] let s:lib.Codec.encoding_table['35253'] = [143,221,176] let s:lib.Codec.encoding_table['35254'] = [143,221,177] let s:lib.Codec.encoding_table['35255'] = [143,221,178] let s:lib.Codec.encoding_table['35260'] = [143,221,179] let s:lib.Codec.encoding_table['35284'] = [143,221,180] let s:lib.Codec.encoding_table['35285'] = [143,221,181] let s:lib.Codec.encoding_table['35286'] = [143,221,182] let s:lib.Codec.encoding_table['35287'] = [143,221,183] let s:lib.Codec.encoding_table['35288'] = [143,221,184] let s:lib.Codec.encoding_table['35301'] = [143,221,185] let s:lib.Codec.encoding_table['35305'] = [143,221,186] let s:lib.Codec.encoding_table['35307'] = [143,221,187] let s:lib.Codec.encoding_table['35309'] = [143,221,188] let s:lib.Codec.encoding_table['35313'] = [143,221,189] let s:lib.Codec.encoding_table['35315'] = [143,221,190] let s:lib.Codec.encoding_table['35318'] = [143,221,191] let s:lib.Codec.encoding_table['35321'] = [143,221,192] let s:lib.Codec.encoding_table['35325'] = [143,221,193] let s:lib.Codec.encoding_table['35327'] = [143,221,194] let s:lib.Codec.encoding_table['35332'] = [143,221,195] let s:lib.Codec.encoding_table['35333'] = [143,221,196] let s:lib.Codec.encoding_table['35335'] = [143,221,197] let s:lib.Codec.encoding_table['35343'] = [143,221,198] let s:lib.Codec.encoding_table['35345'] = [143,221,199] let s:lib.Codec.encoding_table['35346'] = [143,221,200] let s:lib.Codec.encoding_table['35348'] = [143,221,201] let s:lib.Codec.encoding_table['35349'] = [143,221,202] let s:lib.Codec.encoding_table['35358'] = [143,221,203] let s:lib.Codec.encoding_table['35360'] = [143,221,204] let s:lib.Codec.encoding_table['35362'] = [143,221,205] let s:lib.Codec.encoding_table['35364'] = [143,221,206] let s:lib.Codec.encoding_table['35366'] = [143,221,207] let s:lib.Codec.encoding_table['35371'] = [143,221,208] let s:lib.Codec.encoding_table['35372'] = [143,221,209] let s:lib.Codec.encoding_table['35375'] = [143,221,210] let s:lib.Codec.encoding_table['35381'] = [143,221,211] let s:lib.Codec.encoding_table['35383'] = [143,221,212] let s:lib.Codec.encoding_table['35389'] = [143,221,213] let s:lib.Codec.encoding_table['35390'] = [143,221,214] let s:lib.Codec.encoding_table['35392'] = [143,221,215] let s:lib.Codec.encoding_table['35395'] = [143,221,216] let s:lib.Codec.encoding_table['35397'] = [143,221,217] let s:lib.Codec.encoding_table['35399'] = [143,221,218] let s:lib.Codec.encoding_table['35401'] = [143,221,219] let s:lib.Codec.encoding_table['35405'] = [143,221,220] let s:lib.Codec.encoding_table['35406'] = [143,221,221] let s:lib.Codec.encoding_table['35411'] = [143,221,222] let s:lib.Codec.encoding_table['35414'] = [143,221,223] let s:lib.Codec.encoding_table['35415'] = [143,221,224] let s:lib.Codec.encoding_table['35416'] = [143,221,225] let s:lib.Codec.encoding_table['35420'] = [143,221,226] let s:lib.Codec.encoding_table['35421'] = [143,221,227] let s:lib.Codec.encoding_table['35425'] = [143,221,228] let s:lib.Codec.encoding_table['35429'] = [143,221,229] let s:lib.Codec.encoding_table['35431'] = [143,221,230] let s:lib.Codec.encoding_table['35445'] = [143,221,231] let s:lib.Codec.encoding_table['35446'] = [143,221,232] let s:lib.Codec.encoding_table['35447'] = [143,221,233] let s:lib.Codec.encoding_table['35449'] = [143,221,234] let s:lib.Codec.encoding_table['35450'] = [143,221,235] let s:lib.Codec.encoding_table['35451'] = [143,221,236] let s:lib.Codec.encoding_table['35454'] = [143,221,237] let s:lib.Codec.encoding_table['35455'] = [143,221,238] let s:lib.Codec.encoding_table['35456'] = [143,221,239] let s:lib.Codec.encoding_table['35459'] = [143,221,240] let s:lib.Codec.encoding_table['35462'] = [143,221,241] let s:lib.Codec.encoding_table['35467'] = [143,221,242] let s:lib.Codec.encoding_table['35471'] = [143,221,243] let s:lib.Codec.encoding_table['35472'] = [143,221,244] let s:lib.Codec.encoding_table['35474'] = [143,221,245] let s:lib.Codec.encoding_table['35478'] = [143,221,246] let s:lib.Codec.encoding_table['35479'] = [143,221,247] let s:lib.Codec.encoding_table['35481'] = [143,221,248] let s:lib.Codec.encoding_table['35487'] = [143,221,249] let s:lib.Codec.encoding_table['35495'] = [143,221,250] let s:lib.Codec.encoding_table['35497'] = [143,221,251] let s:lib.Codec.encoding_table['35502'] = [143,221,252] let s:lib.Codec.encoding_table['35503'] = [143,221,253] let s:lib.Codec.encoding_table['35507'] = [143,221,254] let s:lib.Codec.encoding_table['35510'] = [143,222,161] let s:lib.Codec.encoding_table['35511'] = [143,222,162] let s:lib.Codec.encoding_table['35515'] = [143,222,163] let s:lib.Codec.encoding_table['35518'] = [143,222,164] let s:lib.Codec.encoding_table['35523'] = [143,222,165] let s:lib.Codec.encoding_table['35526'] = [143,222,166] let s:lib.Codec.encoding_table['35528'] = [143,222,167] let s:lib.Codec.encoding_table['35529'] = [143,222,168] let s:lib.Codec.encoding_table['35530'] = [143,222,169] let s:lib.Codec.encoding_table['35537'] = [143,222,170] let s:lib.Codec.encoding_table['35539'] = [143,222,171] let s:lib.Codec.encoding_table['35540'] = [143,222,172] let s:lib.Codec.encoding_table['35541'] = [143,222,173] let s:lib.Codec.encoding_table['35543'] = [143,222,174] let s:lib.Codec.encoding_table['35549'] = [143,222,175] let s:lib.Codec.encoding_table['35551'] = [143,222,176] let s:lib.Codec.encoding_table['35564'] = [143,222,177] let s:lib.Codec.encoding_table['35568'] = [143,222,178] let s:lib.Codec.encoding_table['35572'] = [143,222,179] let s:lib.Codec.encoding_table['35573'] = [143,222,180] let s:lib.Codec.encoding_table['35574'] = [143,222,181] let s:lib.Codec.encoding_table['35580'] = [143,222,182] let s:lib.Codec.encoding_table['35583'] = [143,222,183] let s:lib.Codec.encoding_table['35589'] = [143,222,184] let s:lib.Codec.encoding_table['35590'] = [143,222,185] let s:lib.Codec.encoding_table['35595'] = [143,222,186] let s:lib.Codec.encoding_table['35601'] = [143,222,187] let s:lib.Codec.encoding_table['35612'] = [143,222,188] let s:lib.Codec.encoding_table['35614'] = [143,222,189] let s:lib.Codec.encoding_table['35615'] = [143,222,190] let s:lib.Codec.encoding_table['35594'] = [143,222,191] let s:lib.Codec.encoding_table['35629'] = [143,222,192] let s:lib.Codec.encoding_table['35632'] = [143,222,193] let s:lib.Codec.encoding_table['35639'] = [143,222,194] let s:lib.Codec.encoding_table['35644'] = [143,222,195] let s:lib.Codec.encoding_table['35650'] = [143,222,196] let s:lib.Codec.encoding_table['35651'] = [143,222,197] let s:lib.Codec.encoding_table['35652'] = [143,222,198] let s:lib.Codec.encoding_table['35653'] = [143,222,199] let s:lib.Codec.encoding_table['35654'] = [143,222,200] let s:lib.Codec.encoding_table['35656'] = [143,222,201] let s:lib.Codec.encoding_table['35666'] = [143,222,202] let s:lib.Codec.encoding_table['35667'] = [143,222,203] let s:lib.Codec.encoding_table['35668'] = [143,222,204] let s:lib.Codec.encoding_table['35673'] = [143,222,205] let s:lib.Codec.encoding_table['35661'] = [143,222,206] let s:lib.Codec.encoding_table['35678'] = [143,222,207] let s:lib.Codec.encoding_table['35683'] = [143,222,208] let s:lib.Codec.encoding_table['35693'] = [143,222,209] let s:lib.Codec.encoding_table['35702'] = [143,222,210] let s:lib.Codec.encoding_table['35704'] = [143,222,211] let s:lib.Codec.encoding_table['35705'] = [143,222,212] let s:lib.Codec.encoding_table['35708'] = [143,222,213] let s:lib.Codec.encoding_table['35710'] = [143,222,214] let s:lib.Codec.encoding_table['35713'] = [143,222,215] let s:lib.Codec.encoding_table['35716'] = [143,222,216] let s:lib.Codec.encoding_table['35717'] = [143,222,217] let s:lib.Codec.encoding_table['35723'] = [143,222,218] let s:lib.Codec.encoding_table['35725'] = [143,222,219] let s:lib.Codec.encoding_table['35727'] = [143,222,220] let s:lib.Codec.encoding_table['35732'] = [143,222,221] let s:lib.Codec.encoding_table['35733'] = [143,222,222] let s:lib.Codec.encoding_table['35740'] = [143,222,223] let s:lib.Codec.encoding_table['35742'] = [143,222,224] let s:lib.Codec.encoding_table['35743'] = [143,222,225] let s:lib.Codec.encoding_table['35896'] = [143,222,226] let s:lib.Codec.encoding_table['35897'] = [143,222,227] let s:lib.Codec.encoding_table['35901'] = [143,222,228] let s:lib.Codec.encoding_table['35902'] = [143,222,229] let s:lib.Codec.encoding_table['35909'] = [143,222,230] let s:lib.Codec.encoding_table['35911'] = [143,222,231] let s:lib.Codec.encoding_table['35913'] = [143,222,232] let s:lib.Codec.encoding_table['35915'] = [143,222,233] let s:lib.Codec.encoding_table['35919'] = [143,222,234] let s:lib.Codec.encoding_table['35921'] = [143,222,235] let s:lib.Codec.encoding_table['35923'] = [143,222,236] let s:lib.Codec.encoding_table['35924'] = [143,222,237] let s:lib.Codec.encoding_table['35927'] = [143,222,238] let s:lib.Codec.encoding_table['35928'] = [143,222,239] let s:lib.Codec.encoding_table['35931'] = [143,222,240] let s:lib.Codec.encoding_table['35933'] = [143,222,241] let s:lib.Codec.encoding_table['35929'] = [143,222,242] let s:lib.Codec.encoding_table['35939'] = [143,222,243] let s:lib.Codec.encoding_table['35940'] = [143,222,244] let s:lib.Codec.encoding_table['35942'] = [143,222,245] let s:lib.Codec.encoding_table['35944'] = [143,222,246] let s:lib.Codec.encoding_table['35945'] = [143,222,247] let s:lib.Codec.encoding_table['35949'] = [143,222,248] let s:lib.Codec.encoding_table['35955'] = [143,222,249] let s:lib.Codec.encoding_table['35957'] = [143,222,250] let s:lib.Codec.encoding_table['35958'] = [143,222,251] let s:lib.Codec.encoding_table['35963'] = [143,222,252] let s:lib.Codec.encoding_table['35966'] = [143,222,253] let s:lib.Codec.encoding_table['35974'] = [143,222,254] let s:lib.Codec.encoding_table['35975'] = [143,223,161] let s:lib.Codec.encoding_table['35979'] = [143,223,162] let s:lib.Codec.encoding_table['35984'] = [143,223,163] let s:lib.Codec.encoding_table['35986'] = [143,223,164] let s:lib.Codec.encoding_table['35987'] = [143,223,165] let s:lib.Codec.encoding_table['35993'] = [143,223,166] let s:lib.Codec.encoding_table['35995'] = [143,223,167] let s:lib.Codec.encoding_table['35996'] = [143,223,168] let s:lib.Codec.encoding_table['36004'] = [143,223,169] let s:lib.Codec.encoding_table['36025'] = [143,223,170] let s:lib.Codec.encoding_table['36026'] = [143,223,171] let s:lib.Codec.encoding_table['36037'] = [143,223,172] let s:lib.Codec.encoding_table['36038'] = [143,223,173] let s:lib.Codec.encoding_table['36041'] = [143,223,174] let s:lib.Codec.encoding_table['36043'] = [143,223,175] let s:lib.Codec.encoding_table['36047'] = [143,223,176] let s:lib.Codec.encoding_table['36054'] = [143,223,177] let s:lib.Codec.encoding_table['36053'] = [143,223,178] let s:lib.Codec.encoding_table['36057'] = [143,223,179] let s:lib.Codec.encoding_table['36061'] = [143,223,180] let s:lib.Codec.encoding_table['36065'] = [143,223,181] let s:lib.Codec.encoding_table['36072'] = [143,223,182] let s:lib.Codec.encoding_table['36076'] = [143,223,183] let s:lib.Codec.encoding_table['36079'] = [143,223,184] let s:lib.Codec.encoding_table['36080'] = [143,223,185] let s:lib.Codec.encoding_table['36082'] = [143,223,186] let s:lib.Codec.encoding_table['36085'] = [143,223,187] let s:lib.Codec.encoding_table['36087'] = [143,223,188] let s:lib.Codec.encoding_table['36088'] = [143,223,189] let s:lib.Codec.encoding_table['36094'] = [143,223,190] let s:lib.Codec.encoding_table['36095'] = [143,223,191] let s:lib.Codec.encoding_table['36097'] = [143,223,192] let s:lib.Codec.encoding_table['36099'] = [143,223,193] let s:lib.Codec.encoding_table['36105'] = [143,223,194] let s:lib.Codec.encoding_table['36114'] = [143,223,195] let s:lib.Codec.encoding_table['36119'] = [143,223,196] let s:lib.Codec.encoding_table['36123'] = [143,223,197] let s:lib.Codec.encoding_table['36197'] = [143,223,198] let s:lib.Codec.encoding_table['36201'] = [143,223,199] let s:lib.Codec.encoding_table['36204'] = [143,223,200] let s:lib.Codec.encoding_table['36206'] = [143,223,201] let s:lib.Codec.encoding_table['36223'] = [143,223,202] let s:lib.Codec.encoding_table['36226'] = [143,223,203] let s:lib.Codec.encoding_table['36228'] = [143,223,204] let s:lib.Codec.encoding_table['36232'] = [143,223,205] let s:lib.Codec.encoding_table['36237'] = [143,223,206] let s:lib.Codec.encoding_table['36240'] = [143,223,207] let s:lib.Codec.encoding_table['36241'] = [143,223,208] let s:lib.Codec.encoding_table['36245'] = [143,223,209] let s:lib.Codec.encoding_table['36254'] = [143,223,210] let s:lib.Codec.encoding_table['36255'] = [143,223,211] let s:lib.Codec.encoding_table['36256'] = [143,223,212] let s:lib.Codec.encoding_table['36262'] = [143,223,213] let s:lib.Codec.encoding_table['36267'] = [143,223,214] let s:lib.Codec.encoding_table['36268'] = [143,223,215] let s:lib.Codec.encoding_table['36271'] = [143,223,216] let s:lib.Codec.encoding_table['36274'] = [143,223,217] let s:lib.Codec.encoding_table['36277'] = [143,223,218] let s:lib.Codec.encoding_table['36279'] = [143,223,219] let s:lib.Codec.encoding_table['36281'] = [143,223,220] let s:lib.Codec.encoding_table['36283'] = [143,223,221] let s:lib.Codec.encoding_table['36288'] = [143,223,222] let s:lib.Codec.encoding_table['36293'] = [143,223,223] let s:lib.Codec.encoding_table['36294'] = [143,223,224] let s:lib.Codec.encoding_table['36295'] = [143,223,225] let s:lib.Codec.encoding_table['36296'] = [143,223,226] let s:lib.Codec.encoding_table['36298'] = [143,223,227] let s:lib.Codec.encoding_table['36302'] = [143,223,228] let s:lib.Codec.encoding_table['36305'] = [143,223,229] let s:lib.Codec.encoding_table['36308'] = [143,223,230] let s:lib.Codec.encoding_table['36309'] = [143,223,231] let s:lib.Codec.encoding_table['36311'] = [143,223,232] let s:lib.Codec.encoding_table['36313'] = [143,223,233] let s:lib.Codec.encoding_table['36324'] = [143,223,234] let s:lib.Codec.encoding_table['36325'] = [143,223,235] let s:lib.Codec.encoding_table['36327'] = [143,223,236] let s:lib.Codec.encoding_table['36332'] = [143,223,237] let s:lib.Codec.encoding_table['36336'] = [143,223,238] let s:lib.Codec.encoding_table['36284'] = [143,223,239] let s:lib.Codec.encoding_table['36337'] = [143,223,240] let s:lib.Codec.encoding_table['36338'] = [143,223,241] let s:lib.Codec.encoding_table['36340'] = [143,223,242] let s:lib.Codec.encoding_table['36349'] = [143,223,243] let s:lib.Codec.encoding_table['36353'] = [143,223,244] let s:lib.Codec.encoding_table['36356'] = [143,223,245] let s:lib.Codec.encoding_table['36357'] = [143,223,246] let s:lib.Codec.encoding_table['36358'] = [143,223,247] let s:lib.Codec.encoding_table['36363'] = [143,223,248] let s:lib.Codec.encoding_table['36369'] = [143,223,249] let s:lib.Codec.encoding_table['36372'] = [143,223,250] let s:lib.Codec.encoding_table['36374'] = [143,223,251] let s:lib.Codec.encoding_table['36384'] = [143,223,252] let s:lib.Codec.encoding_table['36385'] = [143,223,253] let s:lib.Codec.encoding_table['36386'] = [143,223,254] let s:lib.Codec.encoding_table['36387'] = [143,224,161] let s:lib.Codec.encoding_table['36390'] = [143,224,162] let s:lib.Codec.encoding_table['36391'] = [143,224,163] let s:lib.Codec.encoding_table['36401'] = [143,224,164] let s:lib.Codec.encoding_table['36403'] = [143,224,165] let s:lib.Codec.encoding_table['36406'] = [143,224,166] let s:lib.Codec.encoding_table['36407'] = [143,224,167] let s:lib.Codec.encoding_table['36408'] = [143,224,168] let s:lib.Codec.encoding_table['36409'] = [143,224,169] let s:lib.Codec.encoding_table['36413'] = [143,224,170] let s:lib.Codec.encoding_table['36416'] = [143,224,171] let s:lib.Codec.encoding_table['36417'] = [143,224,172] let s:lib.Codec.encoding_table['36427'] = [143,224,173] let s:lib.Codec.encoding_table['36429'] = [143,224,174] let s:lib.Codec.encoding_table['36430'] = [143,224,175] let s:lib.Codec.encoding_table['36431'] = [143,224,176] let s:lib.Codec.encoding_table['36436'] = [143,224,177] let s:lib.Codec.encoding_table['36443'] = [143,224,178] let s:lib.Codec.encoding_table['36444'] = [143,224,179] let s:lib.Codec.encoding_table['36445'] = [143,224,180] let s:lib.Codec.encoding_table['36446'] = [143,224,181] let s:lib.Codec.encoding_table['36449'] = [143,224,182] let s:lib.Codec.encoding_table['36450'] = [143,224,183] let s:lib.Codec.encoding_table['36457'] = [143,224,184] let s:lib.Codec.encoding_table['36460'] = [143,224,185] let s:lib.Codec.encoding_table['36461'] = [143,224,186] let s:lib.Codec.encoding_table['36463'] = [143,224,187] let s:lib.Codec.encoding_table['36464'] = [143,224,188] let s:lib.Codec.encoding_table['36465'] = [143,224,189] let s:lib.Codec.encoding_table['36473'] = [143,224,190] let s:lib.Codec.encoding_table['36474'] = [143,224,191] let s:lib.Codec.encoding_table['36475'] = [143,224,192] let s:lib.Codec.encoding_table['36482'] = [143,224,193] let s:lib.Codec.encoding_table['36483'] = [143,224,194] let s:lib.Codec.encoding_table['36489'] = [143,224,195] let s:lib.Codec.encoding_table['36496'] = [143,224,196] let s:lib.Codec.encoding_table['36498'] = [143,224,197] let s:lib.Codec.encoding_table['36501'] = [143,224,198] let s:lib.Codec.encoding_table['36506'] = [143,224,199] let s:lib.Codec.encoding_table['36507'] = [143,224,200] let s:lib.Codec.encoding_table['36509'] = [143,224,201] let s:lib.Codec.encoding_table['36510'] = [143,224,202] let s:lib.Codec.encoding_table['36514'] = [143,224,203] let s:lib.Codec.encoding_table['36519'] = [143,224,204] let s:lib.Codec.encoding_table['36521'] = [143,224,205] let s:lib.Codec.encoding_table['36525'] = [143,224,206] let s:lib.Codec.encoding_table['36526'] = [143,224,207] let s:lib.Codec.encoding_table['36531'] = [143,224,208] let s:lib.Codec.encoding_table['36533'] = [143,224,209] let s:lib.Codec.encoding_table['36538'] = [143,224,210] let s:lib.Codec.encoding_table['36539'] = [143,224,211] let s:lib.Codec.encoding_table['36544'] = [143,224,212] let s:lib.Codec.encoding_table['36545'] = [143,224,213] let s:lib.Codec.encoding_table['36547'] = [143,224,214] let s:lib.Codec.encoding_table['36548'] = [143,224,215] let s:lib.Codec.encoding_table['36551'] = [143,224,216] let s:lib.Codec.encoding_table['36559'] = [143,224,217] let s:lib.Codec.encoding_table['36561'] = [143,224,218] let s:lib.Codec.encoding_table['36564'] = [143,224,219] let s:lib.Codec.encoding_table['36572'] = [143,224,220] let s:lib.Codec.encoding_table['36584'] = [143,224,221] let s:lib.Codec.encoding_table['36590'] = [143,224,222] let s:lib.Codec.encoding_table['36592'] = [143,224,223] let s:lib.Codec.encoding_table['36593'] = [143,224,224] let s:lib.Codec.encoding_table['36599'] = [143,224,225] let s:lib.Codec.encoding_table['36601'] = [143,224,226] let s:lib.Codec.encoding_table['36602'] = [143,224,227] let s:lib.Codec.encoding_table['36589'] = [143,224,228] let s:lib.Codec.encoding_table['36608'] = [143,224,229] let s:lib.Codec.encoding_table['36610'] = [143,224,230] let s:lib.Codec.encoding_table['36615'] = [143,224,231] let s:lib.Codec.encoding_table['36616'] = [143,224,232] let s:lib.Codec.encoding_table['36623'] = [143,224,233] let s:lib.Codec.encoding_table['36624'] = [143,224,234] let s:lib.Codec.encoding_table['36630'] = [143,224,235] let s:lib.Codec.encoding_table['36631'] = [143,224,236] let s:lib.Codec.encoding_table['36632'] = [143,224,237] let s:lib.Codec.encoding_table['36638'] = [143,224,238] let s:lib.Codec.encoding_table['36640'] = [143,224,239] let s:lib.Codec.encoding_table['36641'] = [143,224,240] let s:lib.Codec.encoding_table['36643'] = [143,224,241] let s:lib.Codec.encoding_table['36645'] = [143,224,242] let s:lib.Codec.encoding_table['36647'] = [143,224,243] let s:lib.Codec.encoding_table['36648'] = [143,224,244] let s:lib.Codec.encoding_table['36652'] = [143,224,245] let s:lib.Codec.encoding_table['36653'] = [143,224,246] let s:lib.Codec.encoding_table['36654'] = [143,224,247] let s:lib.Codec.encoding_table['36660'] = [143,224,248] let s:lib.Codec.encoding_table['36661'] = [143,224,249] let s:lib.Codec.encoding_table['36662'] = [143,224,250] let s:lib.Codec.encoding_table['36663'] = [143,224,251] let s:lib.Codec.encoding_table['36666'] = [143,224,252] let s:lib.Codec.encoding_table['36672'] = [143,224,253] let s:lib.Codec.encoding_table['36673'] = [143,224,254] let s:lib.Codec.encoding_table['36675'] = [143,225,161] let s:lib.Codec.encoding_table['36679'] = [143,225,162] let s:lib.Codec.encoding_table['36687'] = [143,225,163] let s:lib.Codec.encoding_table['36689'] = [143,225,164] let s:lib.Codec.encoding_table['36690'] = [143,225,165] let s:lib.Codec.encoding_table['36691'] = [143,225,166] let s:lib.Codec.encoding_table['36692'] = [143,225,167] let s:lib.Codec.encoding_table['36693'] = [143,225,168] let s:lib.Codec.encoding_table['36696'] = [143,225,169] let s:lib.Codec.encoding_table['36701'] = [143,225,170] let s:lib.Codec.encoding_table['36702'] = [143,225,171] let s:lib.Codec.encoding_table['36709'] = [143,225,172] let s:lib.Codec.encoding_table['36765'] = [143,225,173] let s:lib.Codec.encoding_table['36768'] = [143,225,174] let s:lib.Codec.encoding_table['36769'] = [143,225,175] let s:lib.Codec.encoding_table['36772'] = [143,225,176] let s:lib.Codec.encoding_table['36773'] = [143,225,177] let s:lib.Codec.encoding_table['36774'] = [143,225,178] let s:lib.Codec.encoding_table['36789'] = [143,225,179] let s:lib.Codec.encoding_table['36790'] = [143,225,180] let s:lib.Codec.encoding_table['36792'] = [143,225,181] let s:lib.Codec.encoding_table['36798'] = [143,225,182] let s:lib.Codec.encoding_table['36800'] = [143,225,183] let s:lib.Codec.encoding_table['36801'] = [143,225,184] let s:lib.Codec.encoding_table['36806'] = [143,225,185] let s:lib.Codec.encoding_table['36810'] = [143,225,186] let s:lib.Codec.encoding_table['36811'] = [143,225,187] let s:lib.Codec.encoding_table['36813'] = [143,225,188] let s:lib.Codec.encoding_table['36816'] = [143,225,189] let s:lib.Codec.encoding_table['36818'] = [143,225,190] let s:lib.Codec.encoding_table['36819'] = [143,225,191] let s:lib.Codec.encoding_table['36821'] = [143,225,192] let s:lib.Codec.encoding_table['36832'] = [143,225,193] let s:lib.Codec.encoding_table['36835'] = [143,225,194] let s:lib.Codec.encoding_table['36836'] = [143,225,195] let s:lib.Codec.encoding_table['36840'] = [143,225,196] let s:lib.Codec.encoding_table['36846'] = [143,225,197] let s:lib.Codec.encoding_table['36849'] = [143,225,198] let s:lib.Codec.encoding_table['36853'] = [143,225,199] let s:lib.Codec.encoding_table['36854'] = [143,225,200] let s:lib.Codec.encoding_table['36859'] = [143,225,201] let s:lib.Codec.encoding_table['36862'] = [143,225,202] let s:lib.Codec.encoding_table['36866'] = [143,225,203] let s:lib.Codec.encoding_table['36868'] = [143,225,204] let s:lib.Codec.encoding_table['36872'] = [143,225,205] let s:lib.Codec.encoding_table['36876'] = [143,225,206] let s:lib.Codec.encoding_table['36888'] = [143,225,207] let s:lib.Codec.encoding_table['36891'] = [143,225,208] let s:lib.Codec.encoding_table['36904'] = [143,225,209] let s:lib.Codec.encoding_table['36905'] = [143,225,210] let s:lib.Codec.encoding_table['36911'] = [143,225,211] let s:lib.Codec.encoding_table['36906'] = [143,225,212] let s:lib.Codec.encoding_table['36908'] = [143,225,213] let s:lib.Codec.encoding_table['36909'] = [143,225,214] let s:lib.Codec.encoding_table['36915'] = [143,225,215] let s:lib.Codec.encoding_table['36916'] = [143,225,216] let s:lib.Codec.encoding_table['36919'] = [143,225,217] let s:lib.Codec.encoding_table['36927'] = [143,225,218] let s:lib.Codec.encoding_table['36931'] = [143,225,219] let s:lib.Codec.encoding_table['36932'] = [143,225,220] let s:lib.Codec.encoding_table['36940'] = [143,225,221] let s:lib.Codec.encoding_table['36955'] = [143,225,222] let s:lib.Codec.encoding_table['36957'] = [143,225,223] let s:lib.Codec.encoding_table['36962'] = [143,225,224] let s:lib.Codec.encoding_table['36966'] = [143,225,225] let s:lib.Codec.encoding_table['36967'] = [143,225,226] let s:lib.Codec.encoding_table['36972'] = [143,225,227] let s:lib.Codec.encoding_table['36976'] = [143,225,228] let s:lib.Codec.encoding_table['36980'] = [143,225,229] let s:lib.Codec.encoding_table['36985'] = [143,225,230] let s:lib.Codec.encoding_table['36997'] = [143,225,231] let s:lib.Codec.encoding_table['37000'] = [143,225,232] let s:lib.Codec.encoding_table['37003'] = [143,225,233] let s:lib.Codec.encoding_table['37004'] = [143,225,234] let s:lib.Codec.encoding_table['37006'] = [143,225,235] let s:lib.Codec.encoding_table['37008'] = [143,225,236] let s:lib.Codec.encoding_table['37013'] = [143,225,237] let s:lib.Codec.encoding_table['37015'] = [143,225,238] let s:lib.Codec.encoding_table['37016'] = [143,225,239] let s:lib.Codec.encoding_table['37017'] = [143,225,240] let s:lib.Codec.encoding_table['37019'] = [143,225,241] let s:lib.Codec.encoding_table['37024'] = [143,225,242] let s:lib.Codec.encoding_table['37025'] = [143,225,243] let s:lib.Codec.encoding_table['37026'] = [143,225,244] let s:lib.Codec.encoding_table['37029'] = [143,225,245] let s:lib.Codec.encoding_table['37040'] = [143,225,246] let s:lib.Codec.encoding_table['37042'] = [143,225,247] let s:lib.Codec.encoding_table['37043'] = [143,225,248] let s:lib.Codec.encoding_table['37044'] = [143,225,249] let s:lib.Codec.encoding_table['37046'] = [143,225,250] let s:lib.Codec.encoding_table['37053'] = [143,225,251] let s:lib.Codec.encoding_table['37068'] = [143,225,252] let s:lib.Codec.encoding_table['37054'] = [143,225,253] let s:lib.Codec.encoding_table['37059'] = [143,225,254] let s:lib.Codec.encoding_table['37060'] = [143,226,161] let s:lib.Codec.encoding_table['37061'] = [143,226,162] let s:lib.Codec.encoding_table['37063'] = [143,226,163] let s:lib.Codec.encoding_table['37064'] = [143,226,164] let s:lib.Codec.encoding_table['37077'] = [143,226,165] let s:lib.Codec.encoding_table['37079'] = [143,226,166] let s:lib.Codec.encoding_table['37080'] = [143,226,167] let s:lib.Codec.encoding_table['37081'] = [143,226,168] let s:lib.Codec.encoding_table['37084'] = [143,226,169] let s:lib.Codec.encoding_table['37085'] = [143,226,170] let s:lib.Codec.encoding_table['37087'] = [143,226,171] let s:lib.Codec.encoding_table['37093'] = [143,226,172] let s:lib.Codec.encoding_table['37074'] = [143,226,173] let s:lib.Codec.encoding_table['37110'] = [143,226,174] let s:lib.Codec.encoding_table['37099'] = [143,226,175] let s:lib.Codec.encoding_table['37103'] = [143,226,176] let s:lib.Codec.encoding_table['37104'] = [143,226,177] let s:lib.Codec.encoding_table['37108'] = [143,226,178] let s:lib.Codec.encoding_table['37118'] = [143,226,179] let s:lib.Codec.encoding_table['37119'] = [143,226,180] let s:lib.Codec.encoding_table['37120'] = [143,226,181] let s:lib.Codec.encoding_table['37124'] = [143,226,182] let s:lib.Codec.encoding_table['37125'] = [143,226,183] let s:lib.Codec.encoding_table['37126'] = [143,226,184] let s:lib.Codec.encoding_table['37128'] = [143,226,185] let s:lib.Codec.encoding_table['37133'] = [143,226,186] let s:lib.Codec.encoding_table['37136'] = [143,226,187] let s:lib.Codec.encoding_table['37140'] = [143,226,188] let s:lib.Codec.encoding_table['37142'] = [143,226,189] let s:lib.Codec.encoding_table['37143'] = [143,226,190] let s:lib.Codec.encoding_table['37144'] = [143,226,191] let s:lib.Codec.encoding_table['37146'] = [143,226,192] let s:lib.Codec.encoding_table['37148'] = [143,226,193] let s:lib.Codec.encoding_table['37150'] = [143,226,194] let s:lib.Codec.encoding_table['37152'] = [143,226,195] let s:lib.Codec.encoding_table['37157'] = [143,226,196] let s:lib.Codec.encoding_table['37154'] = [143,226,197] let s:lib.Codec.encoding_table['37155'] = [143,226,198] let s:lib.Codec.encoding_table['37159'] = [143,226,199] let s:lib.Codec.encoding_table['37161'] = [143,226,200] let s:lib.Codec.encoding_table['37166'] = [143,226,201] let s:lib.Codec.encoding_table['37167'] = [143,226,202] let s:lib.Codec.encoding_table['37169'] = [143,226,203] let s:lib.Codec.encoding_table['37172'] = [143,226,204] let s:lib.Codec.encoding_table['37174'] = [143,226,205] let s:lib.Codec.encoding_table['37175'] = [143,226,206] let s:lib.Codec.encoding_table['37177'] = [143,226,207] let s:lib.Codec.encoding_table['37178'] = [143,226,208] let s:lib.Codec.encoding_table['37180'] = [143,226,209] let s:lib.Codec.encoding_table['37181'] = [143,226,210] let s:lib.Codec.encoding_table['37187'] = [143,226,211] let s:lib.Codec.encoding_table['37191'] = [143,226,212] let s:lib.Codec.encoding_table['37192'] = [143,226,213] let s:lib.Codec.encoding_table['37199'] = [143,226,214] let s:lib.Codec.encoding_table['37203'] = [143,226,215] let s:lib.Codec.encoding_table['37207'] = [143,226,216] let s:lib.Codec.encoding_table['37209'] = [143,226,217] let s:lib.Codec.encoding_table['37210'] = [143,226,218] let s:lib.Codec.encoding_table['37211'] = [143,226,219] let s:lib.Codec.encoding_table['37217'] = [143,226,220] let s:lib.Codec.encoding_table['37220'] = [143,226,221] let s:lib.Codec.encoding_table['37223'] = [143,226,222] let s:lib.Codec.encoding_table['37229'] = [143,226,223] let s:lib.Codec.encoding_table['37236'] = [143,226,224] let s:lib.Codec.encoding_table['37241'] = [143,226,225] let s:lib.Codec.encoding_table['37242'] = [143,226,226] let s:lib.Codec.encoding_table['37243'] = [143,226,227] let s:lib.Codec.encoding_table['37249'] = [143,226,228] let s:lib.Codec.encoding_table['37251'] = [143,226,229] let s:lib.Codec.encoding_table['37253'] = [143,226,230] let s:lib.Codec.encoding_table['37254'] = [143,226,231] let s:lib.Codec.encoding_table['37258'] = [143,226,232] let s:lib.Codec.encoding_table['37262'] = [143,226,233] let s:lib.Codec.encoding_table['37265'] = [143,226,234] let s:lib.Codec.encoding_table['37267'] = [143,226,235] let s:lib.Codec.encoding_table['37268'] = [143,226,236] let s:lib.Codec.encoding_table['37269'] = [143,226,237] let s:lib.Codec.encoding_table['37272'] = [143,226,238] let s:lib.Codec.encoding_table['37278'] = [143,226,239] let s:lib.Codec.encoding_table['37281'] = [143,226,240] let s:lib.Codec.encoding_table['37286'] = [143,226,241] let s:lib.Codec.encoding_table['37288'] = [143,226,242] let s:lib.Codec.encoding_table['37292'] = [143,226,243] let s:lib.Codec.encoding_table['37293'] = [143,226,244] let s:lib.Codec.encoding_table['37294'] = [143,226,245] let s:lib.Codec.encoding_table['37296'] = [143,226,246] let s:lib.Codec.encoding_table['37297'] = [143,226,247] let s:lib.Codec.encoding_table['37298'] = [143,226,248] let s:lib.Codec.encoding_table['37299'] = [143,226,249] let s:lib.Codec.encoding_table['37302'] = [143,226,250] let s:lib.Codec.encoding_table['37307'] = [143,226,251] let s:lib.Codec.encoding_table['37308'] = [143,226,252] let s:lib.Codec.encoding_table['37309'] = [143,226,253] let s:lib.Codec.encoding_table['37311'] = [143,226,254] let s:lib.Codec.encoding_table['37314'] = [143,227,161] let s:lib.Codec.encoding_table['37315'] = [143,227,162] let s:lib.Codec.encoding_table['37317'] = [143,227,163] let s:lib.Codec.encoding_table['37331'] = [143,227,164] let s:lib.Codec.encoding_table['37332'] = [143,227,165] let s:lib.Codec.encoding_table['37335'] = [143,227,166] let s:lib.Codec.encoding_table['37337'] = [143,227,167] let s:lib.Codec.encoding_table['37338'] = [143,227,168] let s:lib.Codec.encoding_table['37342'] = [143,227,169] let s:lib.Codec.encoding_table['37348'] = [143,227,170] let s:lib.Codec.encoding_table['37349'] = [143,227,171] let s:lib.Codec.encoding_table['37353'] = [143,227,172] let s:lib.Codec.encoding_table['37354'] = [143,227,173] let s:lib.Codec.encoding_table['37356'] = [143,227,174] let s:lib.Codec.encoding_table['37357'] = [143,227,175] let s:lib.Codec.encoding_table['37358'] = [143,227,176] let s:lib.Codec.encoding_table['37359'] = [143,227,177] let s:lib.Codec.encoding_table['37360'] = [143,227,178] let s:lib.Codec.encoding_table['37361'] = [143,227,179] let s:lib.Codec.encoding_table['37367'] = [143,227,180] let s:lib.Codec.encoding_table['37369'] = [143,227,181] let s:lib.Codec.encoding_table['37371'] = [143,227,182] let s:lib.Codec.encoding_table['37373'] = [143,227,183] let s:lib.Codec.encoding_table['37376'] = [143,227,184] let s:lib.Codec.encoding_table['37377'] = [143,227,185] let s:lib.Codec.encoding_table['37380'] = [143,227,186] let s:lib.Codec.encoding_table['37381'] = [143,227,187] let s:lib.Codec.encoding_table['37382'] = [143,227,188] let s:lib.Codec.encoding_table['37383'] = [143,227,189] let s:lib.Codec.encoding_table['37385'] = [143,227,190] let s:lib.Codec.encoding_table['37386'] = [143,227,191] let s:lib.Codec.encoding_table['37388'] = [143,227,192] let s:lib.Codec.encoding_table['37392'] = [143,227,193] let s:lib.Codec.encoding_table['37394'] = [143,227,194] let s:lib.Codec.encoding_table['37395'] = [143,227,195] let s:lib.Codec.encoding_table['37398'] = [143,227,196] let s:lib.Codec.encoding_table['37400'] = [143,227,197] let s:lib.Codec.encoding_table['37404'] = [143,227,198] let s:lib.Codec.encoding_table['37405'] = [143,227,199] let s:lib.Codec.encoding_table['37411'] = [143,227,200] let s:lib.Codec.encoding_table['37412'] = [143,227,201] let s:lib.Codec.encoding_table['37413'] = [143,227,202] let s:lib.Codec.encoding_table['37414'] = [143,227,203] let s:lib.Codec.encoding_table['37416'] = [143,227,204] let s:lib.Codec.encoding_table['37422'] = [143,227,205] let s:lib.Codec.encoding_table['37423'] = [143,227,206] let s:lib.Codec.encoding_table['37424'] = [143,227,207] let s:lib.Codec.encoding_table['37427'] = [143,227,208] let s:lib.Codec.encoding_table['37429'] = [143,227,209] let s:lib.Codec.encoding_table['37430'] = [143,227,210] let s:lib.Codec.encoding_table['37432'] = [143,227,211] let s:lib.Codec.encoding_table['37433'] = [143,227,212] let s:lib.Codec.encoding_table['37434'] = [143,227,213] let s:lib.Codec.encoding_table['37436'] = [143,227,214] let s:lib.Codec.encoding_table['37438'] = [143,227,215] let s:lib.Codec.encoding_table['37440'] = [143,227,216] let s:lib.Codec.encoding_table['37442'] = [143,227,217] let s:lib.Codec.encoding_table['37443'] = [143,227,218] let s:lib.Codec.encoding_table['37446'] = [143,227,219] let s:lib.Codec.encoding_table['37447'] = [143,227,220] let s:lib.Codec.encoding_table['37450'] = [143,227,221] let s:lib.Codec.encoding_table['37453'] = [143,227,222] let s:lib.Codec.encoding_table['37454'] = [143,227,223] let s:lib.Codec.encoding_table['37455'] = [143,227,224] let s:lib.Codec.encoding_table['37457'] = [143,227,225] let s:lib.Codec.encoding_table['37464'] = [143,227,226] let s:lib.Codec.encoding_table['37465'] = [143,227,227] let s:lib.Codec.encoding_table['37468'] = [143,227,228] let s:lib.Codec.encoding_table['37469'] = [143,227,229] let s:lib.Codec.encoding_table['37472'] = [143,227,230] let s:lib.Codec.encoding_table['37473'] = [143,227,231] let s:lib.Codec.encoding_table['37477'] = [143,227,232] let s:lib.Codec.encoding_table['37479'] = [143,227,233] let s:lib.Codec.encoding_table['37480'] = [143,227,234] let s:lib.Codec.encoding_table['37481'] = [143,227,235] let s:lib.Codec.encoding_table['37486'] = [143,227,236] let s:lib.Codec.encoding_table['37487'] = [143,227,237] let s:lib.Codec.encoding_table['37488'] = [143,227,238] let s:lib.Codec.encoding_table['37493'] = [143,227,239] let s:lib.Codec.encoding_table['37494'] = [143,227,240] let s:lib.Codec.encoding_table['37495'] = [143,227,241] let s:lib.Codec.encoding_table['37496'] = [143,227,242] let s:lib.Codec.encoding_table['37497'] = [143,227,243] let s:lib.Codec.encoding_table['37499'] = [143,227,244] let s:lib.Codec.encoding_table['37500'] = [143,227,245] let s:lib.Codec.encoding_table['37501'] = [143,227,246] let s:lib.Codec.encoding_table['37503'] = [143,227,247] let s:lib.Codec.encoding_table['37512'] = [143,227,248] let s:lib.Codec.encoding_table['37513'] = [143,227,249] let s:lib.Codec.encoding_table['37514'] = [143,227,250] let s:lib.Codec.encoding_table['37517'] = [143,227,251] let s:lib.Codec.encoding_table['37518'] = [143,227,252] let s:lib.Codec.encoding_table['37522'] = [143,227,253] let s:lib.Codec.encoding_table['37527'] = [143,227,254] let s:lib.Codec.encoding_table['37529'] = [143,228,161] let s:lib.Codec.encoding_table['37535'] = [143,228,162] let s:lib.Codec.encoding_table['37536'] = [143,228,163] let s:lib.Codec.encoding_table['37540'] = [143,228,164] let s:lib.Codec.encoding_table['37541'] = [143,228,165] let s:lib.Codec.encoding_table['37543'] = [143,228,166] let s:lib.Codec.encoding_table['37544'] = [143,228,167] let s:lib.Codec.encoding_table['37547'] = [143,228,168] let s:lib.Codec.encoding_table['37551'] = [143,228,169] let s:lib.Codec.encoding_table['37554'] = [143,228,170] let s:lib.Codec.encoding_table['37558'] = [143,228,171] let s:lib.Codec.encoding_table['37560'] = [143,228,172] let s:lib.Codec.encoding_table['37562'] = [143,228,173] let s:lib.Codec.encoding_table['37563'] = [143,228,174] let s:lib.Codec.encoding_table['37564'] = [143,228,175] let s:lib.Codec.encoding_table['37565'] = [143,228,176] let s:lib.Codec.encoding_table['37567'] = [143,228,177] let s:lib.Codec.encoding_table['37568'] = [143,228,178] let s:lib.Codec.encoding_table['37569'] = [143,228,179] let s:lib.Codec.encoding_table['37570'] = [143,228,180] let s:lib.Codec.encoding_table['37571'] = [143,228,181] let s:lib.Codec.encoding_table['37573'] = [143,228,182] let s:lib.Codec.encoding_table['37574'] = [143,228,183] let s:lib.Codec.encoding_table['37575'] = [143,228,184] let s:lib.Codec.encoding_table['37576'] = [143,228,185] let s:lib.Codec.encoding_table['37579'] = [143,228,186] let s:lib.Codec.encoding_table['37580'] = [143,228,187] let s:lib.Codec.encoding_table['37581'] = [143,228,188] let s:lib.Codec.encoding_table['37582'] = [143,228,189] let s:lib.Codec.encoding_table['37584'] = [143,228,190] let s:lib.Codec.encoding_table['37587'] = [143,228,191] let s:lib.Codec.encoding_table['37589'] = [143,228,192] let s:lib.Codec.encoding_table['37591'] = [143,228,193] let s:lib.Codec.encoding_table['37592'] = [143,228,194] let s:lib.Codec.encoding_table['37593'] = [143,228,195] let s:lib.Codec.encoding_table['37596'] = [143,228,196] let s:lib.Codec.encoding_table['37597'] = [143,228,197] let s:lib.Codec.encoding_table['37599'] = [143,228,198] let s:lib.Codec.encoding_table['37600'] = [143,228,199] let s:lib.Codec.encoding_table['37601'] = [143,228,200] let s:lib.Codec.encoding_table['37603'] = [143,228,201] let s:lib.Codec.encoding_table['37605'] = [143,228,202] let s:lib.Codec.encoding_table['37607'] = [143,228,203] let s:lib.Codec.encoding_table['37608'] = [143,228,204] let s:lib.Codec.encoding_table['37612'] = [143,228,205] let s:lib.Codec.encoding_table['37614'] = [143,228,206] let s:lib.Codec.encoding_table['37616'] = [143,228,207] let s:lib.Codec.encoding_table['37625'] = [143,228,208] let s:lib.Codec.encoding_table['37627'] = [143,228,209] let s:lib.Codec.encoding_table['37631'] = [143,228,210] let s:lib.Codec.encoding_table['37632'] = [143,228,211] let s:lib.Codec.encoding_table['37634'] = [143,228,212] let s:lib.Codec.encoding_table['37640'] = [143,228,213] let s:lib.Codec.encoding_table['37645'] = [143,228,214] let s:lib.Codec.encoding_table['37649'] = [143,228,215] let s:lib.Codec.encoding_table['37652'] = [143,228,216] let s:lib.Codec.encoding_table['37653'] = [143,228,217] let s:lib.Codec.encoding_table['37660'] = [143,228,218] let s:lib.Codec.encoding_table['37661'] = [143,228,219] let s:lib.Codec.encoding_table['37662'] = [143,228,220] let s:lib.Codec.encoding_table['37663'] = [143,228,221] let s:lib.Codec.encoding_table['37665'] = [143,228,222] let s:lib.Codec.encoding_table['37668'] = [143,228,223] let s:lib.Codec.encoding_table['37669'] = [143,228,224] let s:lib.Codec.encoding_table['37671'] = [143,228,225] let s:lib.Codec.encoding_table['37673'] = [143,228,226] let s:lib.Codec.encoding_table['37674'] = [143,228,227] let s:lib.Codec.encoding_table['37683'] = [143,228,228] let s:lib.Codec.encoding_table['37684'] = [143,228,229] let s:lib.Codec.encoding_table['37686'] = [143,228,230] let s:lib.Codec.encoding_table['37687'] = [143,228,231] let s:lib.Codec.encoding_table['37703'] = [143,228,232] let s:lib.Codec.encoding_table['37704'] = [143,228,233] let s:lib.Codec.encoding_table['37705'] = [143,228,234] let s:lib.Codec.encoding_table['37712'] = [143,228,235] let s:lib.Codec.encoding_table['37713'] = [143,228,236] let s:lib.Codec.encoding_table['37714'] = [143,228,237] let s:lib.Codec.encoding_table['37717'] = [143,228,238] let s:lib.Codec.encoding_table['37719'] = [143,228,239] let s:lib.Codec.encoding_table['37720'] = [143,228,240] let s:lib.Codec.encoding_table['37722'] = [143,228,241] let s:lib.Codec.encoding_table['37726'] = [143,228,242] let s:lib.Codec.encoding_table['37732'] = [143,228,243] let s:lib.Codec.encoding_table['37733'] = [143,228,244] let s:lib.Codec.encoding_table['37735'] = [143,228,245] let s:lib.Codec.encoding_table['37737'] = [143,228,246] let s:lib.Codec.encoding_table['37738'] = [143,228,247] let s:lib.Codec.encoding_table['37741'] = [143,228,248] let s:lib.Codec.encoding_table['37743'] = [143,228,249] let s:lib.Codec.encoding_table['37744'] = [143,228,250] let s:lib.Codec.encoding_table['37745'] = [143,228,251] let s:lib.Codec.encoding_table['37747'] = [143,228,252] let s:lib.Codec.encoding_table['37748'] = [143,228,253] let s:lib.Codec.encoding_table['37750'] = [143,228,254] let s:lib.Codec.encoding_table['37754'] = [143,229,161] let s:lib.Codec.encoding_table['37757'] = [143,229,162] let s:lib.Codec.encoding_table['37759'] = [143,229,163] let s:lib.Codec.encoding_table['37760'] = [143,229,164] let s:lib.Codec.encoding_table['37761'] = [143,229,165] let s:lib.Codec.encoding_table['37762'] = [143,229,166] let s:lib.Codec.encoding_table['37768'] = [143,229,167] let s:lib.Codec.encoding_table['37770'] = [143,229,168] let s:lib.Codec.encoding_table['37771'] = [143,229,169] let s:lib.Codec.encoding_table['37773'] = [143,229,170] let s:lib.Codec.encoding_table['37775'] = [143,229,171] let s:lib.Codec.encoding_table['37778'] = [143,229,172] let s:lib.Codec.encoding_table['37781'] = [143,229,173] let s:lib.Codec.encoding_table['37784'] = [143,229,174] let s:lib.Codec.encoding_table['37787'] = [143,229,175] let s:lib.Codec.encoding_table['37790'] = [143,229,176] let s:lib.Codec.encoding_table['37793'] = [143,229,177] let s:lib.Codec.encoding_table['37795'] = [143,229,178] let s:lib.Codec.encoding_table['37796'] = [143,229,179] let s:lib.Codec.encoding_table['37798'] = [143,229,180] let s:lib.Codec.encoding_table['37800'] = [143,229,181] let s:lib.Codec.encoding_table['37803'] = [143,229,182] let s:lib.Codec.encoding_table['37812'] = [143,229,183] let s:lib.Codec.encoding_table['37813'] = [143,229,184] let s:lib.Codec.encoding_table['37814'] = [143,229,185] let s:lib.Codec.encoding_table['37818'] = [143,229,186] let s:lib.Codec.encoding_table['37801'] = [143,229,187] let s:lib.Codec.encoding_table['37825'] = [143,229,188] let s:lib.Codec.encoding_table['37828'] = [143,229,189] let s:lib.Codec.encoding_table['37829'] = [143,229,190] let s:lib.Codec.encoding_table['37830'] = [143,229,191] let s:lib.Codec.encoding_table['37831'] = [143,229,192] let s:lib.Codec.encoding_table['37833'] = [143,229,193] let s:lib.Codec.encoding_table['37834'] = [143,229,194] let s:lib.Codec.encoding_table['37835'] = [143,229,195] let s:lib.Codec.encoding_table['37836'] = [143,229,196] let s:lib.Codec.encoding_table['37837'] = [143,229,197] let s:lib.Codec.encoding_table['37843'] = [143,229,198] let s:lib.Codec.encoding_table['37849'] = [143,229,199] let s:lib.Codec.encoding_table['37852'] = [143,229,200] let s:lib.Codec.encoding_table['37854'] = [143,229,201] let s:lib.Codec.encoding_table['37855'] = [143,229,202] let s:lib.Codec.encoding_table['37858'] = [143,229,203] let s:lib.Codec.encoding_table['37862'] = [143,229,204] let s:lib.Codec.encoding_table['37863'] = [143,229,205] let s:lib.Codec.encoding_table['37881'] = [143,229,206] let s:lib.Codec.encoding_table['37879'] = [143,229,207] let s:lib.Codec.encoding_table['37880'] = [143,229,208] let s:lib.Codec.encoding_table['37882'] = [143,229,209] let s:lib.Codec.encoding_table['37883'] = [143,229,210] let s:lib.Codec.encoding_table['37885'] = [143,229,211] let s:lib.Codec.encoding_table['37889'] = [143,229,212] let s:lib.Codec.encoding_table['37890'] = [143,229,213] let s:lib.Codec.encoding_table['37892'] = [143,229,214] let s:lib.Codec.encoding_table['37896'] = [143,229,215] let s:lib.Codec.encoding_table['37897'] = [143,229,216] let s:lib.Codec.encoding_table['37901'] = [143,229,217] let s:lib.Codec.encoding_table['37902'] = [143,229,218] let s:lib.Codec.encoding_table['37903'] = [143,229,219] let s:lib.Codec.encoding_table['37909'] = [143,229,220] let s:lib.Codec.encoding_table['37910'] = [143,229,221] let s:lib.Codec.encoding_table['37911'] = [143,229,222] let s:lib.Codec.encoding_table['37919'] = [143,229,223] let s:lib.Codec.encoding_table['37934'] = [143,229,224] let s:lib.Codec.encoding_table['37935'] = [143,229,225] let s:lib.Codec.encoding_table['37937'] = [143,229,226] let s:lib.Codec.encoding_table['37938'] = [143,229,227] let s:lib.Codec.encoding_table['37939'] = [143,229,228] let s:lib.Codec.encoding_table['37940'] = [143,229,229] let s:lib.Codec.encoding_table['37947'] = [143,229,230] let s:lib.Codec.encoding_table['37951'] = [143,229,231] let s:lib.Codec.encoding_table['37949'] = [143,229,232] let s:lib.Codec.encoding_table['37955'] = [143,229,233] let s:lib.Codec.encoding_table['37957'] = [143,229,234] let s:lib.Codec.encoding_table['37960'] = [143,229,235] let s:lib.Codec.encoding_table['37962'] = [143,229,236] let s:lib.Codec.encoding_table['37964'] = [143,229,237] let s:lib.Codec.encoding_table['37973'] = [143,229,238] let s:lib.Codec.encoding_table['37977'] = [143,229,239] let s:lib.Codec.encoding_table['37980'] = [143,229,240] let s:lib.Codec.encoding_table['37983'] = [143,229,241] let s:lib.Codec.encoding_table['37985'] = [143,229,242] let s:lib.Codec.encoding_table['37987'] = [143,229,243] let s:lib.Codec.encoding_table['37992'] = [143,229,244] let s:lib.Codec.encoding_table['37995'] = [143,229,245] let s:lib.Codec.encoding_table['37997'] = [143,229,246] let s:lib.Codec.encoding_table['37998'] = [143,229,247] let s:lib.Codec.encoding_table['37999'] = [143,229,248] let s:lib.Codec.encoding_table['38001'] = [143,229,249] let s:lib.Codec.encoding_table['38002'] = [143,229,250] let s:lib.Codec.encoding_table['38020'] = [143,229,251] let s:lib.Codec.encoding_table['38019'] = [143,229,252] let s:lib.Codec.encoding_table['38264'] = [143,229,253] let s:lib.Codec.encoding_table['38265'] = [143,229,254] let s:lib.Codec.encoding_table['38270'] = [143,230,161] let s:lib.Codec.encoding_table['38276'] = [143,230,162] let s:lib.Codec.encoding_table['38280'] = [143,230,163] let s:lib.Codec.encoding_table['38284'] = [143,230,164] let s:lib.Codec.encoding_table['38285'] = [143,230,165] let s:lib.Codec.encoding_table['38286'] = [143,230,166] let s:lib.Codec.encoding_table['38301'] = [143,230,167] let s:lib.Codec.encoding_table['38302'] = [143,230,168] let s:lib.Codec.encoding_table['38303'] = [143,230,169] let s:lib.Codec.encoding_table['38305'] = [143,230,170] let s:lib.Codec.encoding_table['38310'] = [143,230,171] let s:lib.Codec.encoding_table['38313'] = [143,230,172] let s:lib.Codec.encoding_table['38315'] = [143,230,173] let s:lib.Codec.encoding_table['38316'] = [143,230,174] let s:lib.Codec.encoding_table['38324'] = [143,230,175] let s:lib.Codec.encoding_table['38326'] = [143,230,176] let s:lib.Codec.encoding_table['38330'] = [143,230,177] let s:lib.Codec.encoding_table['38333'] = [143,230,178] let s:lib.Codec.encoding_table['38335'] = [143,230,179] let s:lib.Codec.encoding_table['38342'] = [143,230,180] let s:lib.Codec.encoding_table['38344'] = [143,230,181] let s:lib.Codec.encoding_table['38345'] = [143,230,182] let s:lib.Codec.encoding_table['38347'] = [143,230,183] let s:lib.Codec.encoding_table['38352'] = [143,230,184] let s:lib.Codec.encoding_table['38353'] = [143,230,185] let s:lib.Codec.encoding_table['38354'] = [143,230,186] let s:lib.Codec.encoding_table['38355'] = [143,230,187] let s:lib.Codec.encoding_table['38361'] = [143,230,188] let s:lib.Codec.encoding_table['38362'] = [143,230,189] let s:lib.Codec.encoding_table['38365'] = [143,230,190] let s:lib.Codec.encoding_table['38366'] = [143,230,191] let s:lib.Codec.encoding_table['38367'] = [143,230,192] let s:lib.Codec.encoding_table['38368'] = [143,230,193] let s:lib.Codec.encoding_table['38372'] = [143,230,194] let s:lib.Codec.encoding_table['38374'] = [143,230,195] let s:lib.Codec.encoding_table['38429'] = [143,230,196] let s:lib.Codec.encoding_table['38430'] = [143,230,197] let s:lib.Codec.encoding_table['38434'] = [143,230,198] let s:lib.Codec.encoding_table['38436'] = [143,230,199] let s:lib.Codec.encoding_table['38437'] = [143,230,200] let s:lib.Codec.encoding_table['38438'] = [143,230,201] let s:lib.Codec.encoding_table['38444'] = [143,230,202] let s:lib.Codec.encoding_table['38449'] = [143,230,203] let s:lib.Codec.encoding_table['38451'] = [143,230,204] let s:lib.Codec.encoding_table['38455'] = [143,230,205] let s:lib.Codec.encoding_table['38456'] = [143,230,206] let s:lib.Codec.encoding_table['38457'] = [143,230,207] let s:lib.Codec.encoding_table['38458'] = [143,230,208] let s:lib.Codec.encoding_table['38460'] = [143,230,209] let s:lib.Codec.encoding_table['38461'] = [143,230,210] let s:lib.Codec.encoding_table['38465'] = [143,230,211] let s:lib.Codec.encoding_table['38482'] = [143,230,212] let s:lib.Codec.encoding_table['38484'] = [143,230,213] let s:lib.Codec.encoding_table['38486'] = [143,230,214] let s:lib.Codec.encoding_table['38487'] = [143,230,215] let s:lib.Codec.encoding_table['38488'] = [143,230,216] let s:lib.Codec.encoding_table['38497'] = [143,230,217] let s:lib.Codec.encoding_table['38510'] = [143,230,218] let s:lib.Codec.encoding_table['38516'] = [143,230,219] let s:lib.Codec.encoding_table['38523'] = [143,230,220] let s:lib.Codec.encoding_table['38524'] = [143,230,221] let s:lib.Codec.encoding_table['38526'] = [143,230,222] let s:lib.Codec.encoding_table['38527'] = [143,230,223] let s:lib.Codec.encoding_table['38529'] = [143,230,224] let s:lib.Codec.encoding_table['38530'] = [143,230,225] let s:lib.Codec.encoding_table['38531'] = [143,230,226] let s:lib.Codec.encoding_table['38532'] = [143,230,227] let s:lib.Codec.encoding_table['38537'] = [143,230,228] let s:lib.Codec.encoding_table['38545'] = [143,230,229] let s:lib.Codec.encoding_table['38550'] = [143,230,230] let s:lib.Codec.encoding_table['38554'] = [143,230,231] let s:lib.Codec.encoding_table['38557'] = [143,230,232] let s:lib.Codec.encoding_table['38559'] = [143,230,233] let s:lib.Codec.encoding_table['38564'] = [143,230,234] let s:lib.Codec.encoding_table['38565'] = [143,230,235] let s:lib.Codec.encoding_table['38566'] = [143,230,236] let s:lib.Codec.encoding_table['38569'] = [143,230,237] let s:lib.Codec.encoding_table['38574'] = [143,230,238] let s:lib.Codec.encoding_table['38575'] = [143,230,239] let s:lib.Codec.encoding_table['38579'] = [143,230,240] let s:lib.Codec.encoding_table['38586'] = [143,230,241] let s:lib.Codec.encoding_table['38602'] = [143,230,242] let s:lib.Codec.encoding_table['38610'] = [143,230,243] let s:lib.Codec.encoding_table['23986'] = [143,230,244] let s:lib.Codec.encoding_table['38616'] = [143,230,245] let s:lib.Codec.encoding_table['38618'] = [143,230,246] let s:lib.Codec.encoding_table['38621'] = [143,230,247] let s:lib.Codec.encoding_table['38622'] = [143,230,248] let s:lib.Codec.encoding_table['38623'] = [143,230,249] let s:lib.Codec.encoding_table['38633'] = [143,230,250] let s:lib.Codec.encoding_table['38639'] = [143,230,251] let s:lib.Codec.encoding_table['38641'] = [143,230,252] let s:lib.Codec.encoding_table['38650'] = [143,230,253] let s:lib.Codec.encoding_table['38658'] = [143,230,254] let s:lib.Codec.encoding_table['38659'] = [143,231,161] let s:lib.Codec.encoding_table['38661'] = [143,231,162] let s:lib.Codec.encoding_table['38665'] = [143,231,163] let s:lib.Codec.encoding_table['38682'] = [143,231,164] let s:lib.Codec.encoding_table['38683'] = [143,231,165] let s:lib.Codec.encoding_table['38685'] = [143,231,166] let s:lib.Codec.encoding_table['38689'] = [143,231,167] let s:lib.Codec.encoding_table['38690'] = [143,231,168] let s:lib.Codec.encoding_table['38691'] = [143,231,169] let s:lib.Codec.encoding_table['38696'] = [143,231,170] let s:lib.Codec.encoding_table['38705'] = [143,231,171] let s:lib.Codec.encoding_table['38707'] = [143,231,172] let s:lib.Codec.encoding_table['38721'] = [143,231,173] let s:lib.Codec.encoding_table['38723'] = [143,231,174] let s:lib.Codec.encoding_table['38730'] = [143,231,175] let s:lib.Codec.encoding_table['38734'] = [143,231,176] let s:lib.Codec.encoding_table['38735'] = [143,231,177] let s:lib.Codec.encoding_table['38741'] = [143,231,178] let s:lib.Codec.encoding_table['38743'] = [143,231,179] let s:lib.Codec.encoding_table['38744'] = [143,231,180] let s:lib.Codec.encoding_table['38746'] = [143,231,181] let s:lib.Codec.encoding_table['38747'] = [143,231,182] let s:lib.Codec.encoding_table['38755'] = [143,231,183] let s:lib.Codec.encoding_table['38759'] = [143,231,184] let s:lib.Codec.encoding_table['38762'] = [143,231,185] let s:lib.Codec.encoding_table['38766'] = [143,231,186] let s:lib.Codec.encoding_table['38771'] = [143,231,187] let s:lib.Codec.encoding_table['38774'] = [143,231,188] let s:lib.Codec.encoding_table['38775'] = [143,231,189] let s:lib.Codec.encoding_table['38776'] = [143,231,190] let s:lib.Codec.encoding_table['38779'] = [143,231,191] let s:lib.Codec.encoding_table['38781'] = [143,231,192] let s:lib.Codec.encoding_table['38783'] = [143,231,193] let s:lib.Codec.encoding_table['38784'] = [143,231,194] let s:lib.Codec.encoding_table['38793'] = [143,231,195] let s:lib.Codec.encoding_table['38805'] = [143,231,196] let s:lib.Codec.encoding_table['38806'] = [143,231,197] let s:lib.Codec.encoding_table['38807'] = [143,231,198] let s:lib.Codec.encoding_table['38809'] = [143,231,199] let s:lib.Codec.encoding_table['38810'] = [143,231,200] let s:lib.Codec.encoding_table['38814'] = [143,231,201] let s:lib.Codec.encoding_table['38815'] = [143,231,202] let s:lib.Codec.encoding_table['38818'] = [143,231,203] let s:lib.Codec.encoding_table['38828'] = [143,231,204] let s:lib.Codec.encoding_table['38830'] = [143,231,205] let s:lib.Codec.encoding_table['38833'] = [143,231,206] let s:lib.Codec.encoding_table['38834'] = [143,231,207] let s:lib.Codec.encoding_table['38837'] = [143,231,208] let s:lib.Codec.encoding_table['38838'] = [143,231,209] let s:lib.Codec.encoding_table['38840'] = [143,231,210] let s:lib.Codec.encoding_table['38841'] = [143,231,211] let s:lib.Codec.encoding_table['38842'] = [143,231,212] let s:lib.Codec.encoding_table['38844'] = [143,231,213] let s:lib.Codec.encoding_table['38846'] = [143,231,214] let s:lib.Codec.encoding_table['38847'] = [143,231,215] let s:lib.Codec.encoding_table['38849'] = [143,231,216] let s:lib.Codec.encoding_table['38852'] = [143,231,217] let s:lib.Codec.encoding_table['38853'] = [143,231,218] let s:lib.Codec.encoding_table['38855'] = [143,231,219] let s:lib.Codec.encoding_table['38857'] = [143,231,220] let s:lib.Codec.encoding_table['38858'] = [143,231,221] let s:lib.Codec.encoding_table['38860'] = [143,231,222] let s:lib.Codec.encoding_table['38861'] = [143,231,223] let s:lib.Codec.encoding_table['38862'] = [143,231,224] let s:lib.Codec.encoding_table['38864'] = [143,231,225] let s:lib.Codec.encoding_table['38865'] = [143,231,226] let s:lib.Codec.encoding_table['38868'] = [143,231,227] let s:lib.Codec.encoding_table['38871'] = [143,231,228] let s:lib.Codec.encoding_table['38872'] = [143,231,229] let s:lib.Codec.encoding_table['38873'] = [143,231,230] let s:lib.Codec.encoding_table['38877'] = [143,231,231] let s:lib.Codec.encoding_table['38878'] = [143,231,232] let s:lib.Codec.encoding_table['38880'] = [143,231,233] let s:lib.Codec.encoding_table['38875'] = [143,231,234] let s:lib.Codec.encoding_table['38881'] = [143,231,235] let s:lib.Codec.encoding_table['38884'] = [143,231,236] let s:lib.Codec.encoding_table['38895'] = [143,231,237] let s:lib.Codec.encoding_table['38897'] = [143,231,238] let s:lib.Codec.encoding_table['38900'] = [143,231,239] let s:lib.Codec.encoding_table['38903'] = [143,231,240] let s:lib.Codec.encoding_table['38904'] = [143,231,241] let s:lib.Codec.encoding_table['38906'] = [143,231,242] let s:lib.Codec.encoding_table['38919'] = [143,231,243] let s:lib.Codec.encoding_table['38922'] = [143,231,244] let s:lib.Codec.encoding_table['38937'] = [143,231,245] let s:lib.Codec.encoding_table['38925'] = [143,231,246] let s:lib.Codec.encoding_table['38926'] = [143,231,247] let s:lib.Codec.encoding_table['38932'] = [143,231,248] let s:lib.Codec.encoding_table['38934'] = [143,231,249] let s:lib.Codec.encoding_table['38940'] = [143,231,250] let s:lib.Codec.encoding_table['38942'] = [143,231,251] let s:lib.Codec.encoding_table['38944'] = [143,231,252] let s:lib.Codec.encoding_table['38947'] = [143,231,253] let s:lib.Codec.encoding_table['38950'] = [143,231,254] let s:lib.Codec.encoding_table['38955'] = [143,232,161] let s:lib.Codec.encoding_table['38958'] = [143,232,162] let s:lib.Codec.encoding_table['38959'] = [143,232,163] let s:lib.Codec.encoding_table['38960'] = [143,232,164] let s:lib.Codec.encoding_table['38962'] = [143,232,165] let s:lib.Codec.encoding_table['38963'] = [143,232,166] let s:lib.Codec.encoding_table['38965'] = [143,232,167] let s:lib.Codec.encoding_table['38949'] = [143,232,168] let s:lib.Codec.encoding_table['38974'] = [143,232,169] let s:lib.Codec.encoding_table['38980'] = [143,232,170] let s:lib.Codec.encoding_table['38983'] = [143,232,171] let s:lib.Codec.encoding_table['38986'] = [143,232,172] let s:lib.Codec.encoding_table['38993'] = [143,232,173] let s:lib.Codec.encoding_table['38994'] = [143,232,174] let s:lib.Codec.encoding_table['38995'] = [143,232,175] let s:lib.Codec.encoding_table['38998'] = [143,232,176] let s:lib.Codec.encoding_table['38999'] = [143,232,177] let s:lib.Codec.encoding_table['39001'] = [143,232,178] let s:lib.Codec.encoding_table['39002'] = [143,232,179] let s:lib.Codec.encoding_table['39010'] = [143,232,180] let s:lib.Codec.encoding_table['39011'] = [143,232,181] let s:lib.Codec.encoding_table['39013'] = [143,232,182] let s:lib.Codec.encoding_table['39014'] = [143,232,183] let s:lib.Codec.encoding_table['39018'] = [143,232,184] let s:lib.Codec.encoding_table['39020'] = [143,232,185] let s:lib.Codec.encoding_table['39083'] = [143,232,186] let s:lib.Codec.encoding_table['39085'] = [143,232,187] let s:lib.Codec.encoding_table['39086'] = [143,232,188] let s:lib.Codec.encoding_table['39088'] = [143,232,189] let s:lib.Codec.encoding_table['39092'] = [143,232,190] let s:lib.Codec.encoding_table['39095'] = [143,232,191] let s:lib.Codec.encoding_table['39096'] = [143,232,192] let s:lib.Codec.encoding_table['39098'] = [143,232,193] let s:lib.Codec.encoding_table['39099'] = [143,232,194] let s:lib.Codec.encoding_table['39103'] = [143,232,195] let s:lib.Codec.encoding_table['39106'] = [143,232,196] let s:lib.Codec.encoding_table['39109'] = [143,232,197] let s:lib.Codec.encoding_table['39112'] = [143,232,198] let s:lib.Codec.encoding_table['39116'] = [143,232,199] let s:lib.Codec.encoding_table['39137'] = [143,232,200] let s:lib.Codec.encoding_table['39139'] = [143,232,201] let s:lib.Codec.encoding_table['39141'] = [143,232,202] let s:lib.Codec.encoding_table['39142'] = [143,232,203] let s:lib.Codec.encoding_table['39143'] = [143,232,204] let s:lib.Codec.encoding_table['39146'] = [143,232,205] let s:lib.Codec.encoding_table['39155'] = [143,232,206] let s:lib.Codec.encoding_table['39158'] = [143,232,207] let s:lib.Codec.encoding_table['39170'] = [143,232,208] let s:lib.Codec.encoding_table['39175'] = [143,232,209] let s:lib.Codec.encoding_table['39176'] = [143,232,210] let s:lib.Codec.encoding_table['39185'] = [143,232,211] let s:lib.Codec.encoding_table['39189'] = [143,232,212] let s:lib.Codec.encoding_table['39190'] = [143,232,213] let s:lib.Codec.encoding_table['39191'] = [143,232,214] let s:lib.Codec.encoding_table['39194'] = [143,232,215] let s:lib.Codec.encoding_table['39195'] = [143,232,216] let s:lib.Codec.encoding_table['39196'] = [143,232,217] let s:lib.Codec.encoding_table['39199'] = [143,232,218] let s:lib.Codec.encoding_table['39202'] = [143,232,219] let s:lib.Codec.encoding_table['39206'] = [143,232,220] let s:lib.Codec.encoding_table['39207'] = [143,232,221] let s:lib.Codec.encoding_table['39211'] = [143,232,222] let s:lib.Codec.encoding_table['39217'] = [143,232,223] let s:lib.Codec.encoding_table['39218'] = [143,232,224] let s:lib.Codec.encoding_table['39219'] = [143,232,225] let s:lib.Codec.encoding_table['39220'] = [143,232,226] let s:lib.Codec.encoding_table['39221'] = [143,232,227] let s:lib.Codec.encoding_table['39225'] = [143,232,228] let s:lib.Codec.encoding_table['39226'] = [143,232,229] let s:lib.Codec.encoding_table['39227'] = [143,232,230] let s:lib.Codec.encoding_table['39228'] = [143,232,231] let s:lib.Codec.encoding_table['39232'] = [143,232,232] let s:lib.Codec.encoding_table['39233'] = [143,232,233] let s:lib.Codec.encoding_table['39238'] = [143,232,234] let s:lib.Codec.encoding_table['39239'] = [143,232,235] let s:lib.Codec.encoding_table['39240'] = [143,232,236] let s:lib.Codec.encoding_table['39245'] = [143,232,237] let s:lib.Codec.encoding_table['39246'] = [143,232,238] let s:lib.Codec.encoding_table['39252'] = [143,232,239] let s:lib.Codec.encoding_table['39256'] = [143,232,240] let s:lib.Codec.encoding_table['39257'] = [143,232,241] let s:lib.Codec.encoding_table['39259'] = [143,232,242] let s:lib.Codec.encoding_table['39260'] = [143,232,243] let s:lib.Codec.encoding_table['39262'] = [143,232,244] let s:lib.Codec.encoding_table['39263'] = [143,232,245] let s:lib.Codec.encoding_table['39264'] = [143,232,246] let s:lib.Codec.encoding_table['39323'] = [143,232,247] let s:lib.Codec.encoding_table['39325'] = [143,232,248] let s:lib.Codec.encoding_table['39327'] = [143,232,249] let s:lib.Codec.encoding_table['39334'] = [143,232,250] let s:lib.Codec.encoding_table['39344'] = [143,232,251] let s:lib.Codec.encoding_table['39345'] = [143,232,252] let s:lib.Codec.encoding_table['39346'] = [143,232,253] let s:lib.Codec.encoding_table['39349'] = [143,232,254] let s:lib.Codec.encoding_table['39353'] = [143,233,161] let s:lib.Codec.encoding_table['39354'] = [143,233,162] let s:lib.Codec.encoding_table['39357'] = [143,233,163] let s:lib.Codec.encoding_table['39359'] = [143,233,164] let s:lib.Codec.encoding_table['39363'] = [143,233,165] let s:lib.Codec.encoding_table['39369'] = [143,233,166] let s:lib.Codec.encoding_table['39379'] = [143,233,167] let s:lib.Codec.encoding_table['39380'] = [143,233,168] let s:lib.Codec.encoding_table['39385'] = [143,233,169] let s:lib.Codec.encoding_table['39386'] = [143,233,170] let s:lib.Codec.encoding_table['39388'] = [143,233,171] let s:lib.Codec.encoding_table['39390'] = [143,233,172] let s:lib.Codec.encoding_table['39399'] = [143,233,173] let s:lib.Codec.encoding_table['39402'] = [143,233,174] let s:lib.Codec.encoding_table['39403'] = [143,233,175] let s:lib.Codec.encoding_table['39404'] = [143,233,176] let s:lib.Codec.encoding_table['39408'] = [143,233,177] let s:lib.Codec.encoding_table['39412'] = [143,233,178] let s:lib.Codec.encoding_table['39413'] = [143,233,179] let s:lib.Codec.encoding_table['39417'] = [143,233,180] let s:lib.Codec.encoding_table['39421'] = [143,233,181] let s:lib.Codec.encoding_table['39422'] = [143,233,182] let s:lib.Codec.encoding_table['39426'] = [143,233,183] let s:lib.Codec.encoding_table['39427'] = [143,233,184] let s:lib.Codec.encoding_table['39428'] = [143,233,185] let s:lib.Codec.encoding_table['39435'] = [143,233,186] let s:lib.Codec.encoding_table['39436'] = [143,233,187] let s:lib.Codec.encoding_table['39440'] = [143,233,188] let s:lib.Codec.encoding_table['39441'] = [143,233,189] let s:lib.Codec.encoding_table['39446'] = [143,233,190] let s:lib.Codec.encoding_table['39454'] = [143,233,191] let s:lib.Codec.encoding_table['39456'] = [143,233,192] let s:lib.Codec.encoding_table['39458'] = [143,233,193] let s:lib.Codec.encoding_table['39459'] = [143,233,194] let s:lib.Codec.encoding_table['39460'] = [143,233,195] let s:lib.Codec.encoding_table['39463'] = [143,233,196] let s:lib.Codec.encoding_table['39469'] = [143,233,197] let s:lib.Codec.encoding_table['39470'] = [143,233,198] let s:lib.Codec.encoding_table['39475'] = [143,233,199] let s:lib.Codec.encoding_table['39477'] = [143,233,200] let s:lib.Codec.encoding_table['39478'] = [143,233,201] let s:lib.Codec.encoding_table['39480'] = [143,233,202] let s:lib.Codec.encoding_table['39495'] = [143,233,203] let s:lib.Codec.encoding_table['39489'] = [143,233,204] let s:lib.Codec.encoding_table['39492'] = [143,233,205] let s:lib.Codec.encoding_table['39498'] = [143,233,206] let s:lib.Codec.encoding_table['39499'] = [143,233,207] let s:lib.Codec.encoding_table['39500'] = [143,233,208] let s:lib.Codec.encoding_table['39502'] = [143,233,209] let s:lib.Codec.encoding_table['39505'] = [143,233,210] let s:lib.Codec.encoding_table['39508'] = [143,233,211] let s:lib.Codec.encoding_table['39510'] = [143,233,212] let s:lib.Codec.encoding_table['39517'] = [143,233,213] let s:lib.Codec.encoding_table['39594'] = [143,233,214] let s:lib.Codec.encoding_table['39596'] = [143,233,215] let s:lib.Codec.encoding_table['39598'] = [143,233,216] let s:lib.Codec.encoding_table['39599'] = [143,233,217] let s:lib.Codec.encoding_table['39602'] = [143,233,218] let s:lib.Codec.encoding_table['39604'] = [143,233,219] let s:lib.Codec.encoding_table['39605'] = [143,233,220] let s:lib.Codec.encoding_table['39606'] = [143,233,221] let s:lib.Codec.encoding_table['39609'] = [143,233,222] let s:lib.Codec.encoding_table['39611'] = [143,233,223] let s:lib.Codec.encoding_table['39614'] = [143,233,224] let s:lib.Codec.encoding_table['39615'] = [143,233,225] let s:lib.Codec.encoding_table['39617'] = [143,233,226] let s:lib.Codec.encoding_table['39619'] = [143,233,227] let s:lib.Codec.encoding_table['39622'] = [143,233,228] let s:lib.Codec.encoding_table['39624'] = [143,233,229] let s:lib.Codec.encoding_table['39630'] = [143,233,230] let s:lib.Codec.encoding_table['39632'] = [143,233,231] let s:lib.Codec.encoding_table['39634'] = [143,233,232] let s:lib.Codec.encoding_table['39637'] = [143,233,233] let s:lib.Codec.encoding_table['39638'] = [143,233,234] let s:lib.Codec.encoding_table['39639'] = [143,233,235] let s:lib.Codec.encoding_table['39643'] = [143,233,236] let s:lib.Codec.encoding_table['39644'] = [143,233,237] let s:lib.Codec.encoding_table['39648'] = [143,233,238] let s:lib.Codec.encoding_table['39652'] = [143,233,239] let s:lib.Codec.encoding_table['39653'] = [143,233,240] let s:lib.Codec.encoding_table['39655'] = [143,233,241] let s:lib.Codec.encoding_table['39657'] = [143,233,242] let s:lib.Codec.encoding_table['39660'] = [143,233,243] let s:lib.Codec.encoding_table['39666'] = [143,233,244] let s:lib.Codec.encoding_table['39667'] = [143,233,245] let s:lib.Codec.encoding_table['39669'] = [143,233,246] let s:lib.Codec.encoding_table['39673'] = [143,233,247] let s:lib.Codec.encoding_table['39674'] = [143,233,248] let s:lib.Codec.encoding_table['39677'] = [143,233,249] let s:lib.Codec.encoding_table['39679'] = [143,233,250] let s:lib.Codec.encoding_table['39680'] = [143,233,251] let s:lib.Codec.encoding_table['39681'] = [143,233,252] let s:lib.Codec.encoding_table['39682'] = [143,233,253] let s:lib.Codec.encoding_table['39683'] = [143,233,254] let s:lib.Codec.encoding_table['39684'] = [143,234,161] let s:lib.Codec.encoding_table['39685'] = [143,234,162] let s:lib.Codec.encoding_table['39688'] = [143,234,163] let s:lib.Codec.encoding_table['39689'] = [143,234,164] let s:lib.Codec.encoding_table['39691'] = [143,234,165] let s:lib.Codec.encoding_table['39692'] = [143,234,166] let s:lib.Codec.encoding_table['39693'] = [143,234,167] let s:lib.Codec.encoding_table['39694'] = [143,234,168] let s:lib.Codec.encoding_table['39696'] = [143,234,169] let s:lib.Codec.encoding_table['39698'] = [143,234,170] let s:lib.Codec.encoding_table['39702'] = [143,234,171] let s:lib.Codec.encoding_table['39705'] = [143,234,172] let s:lib.Codec.encoding_table['39707'] = [143,234,173] let s:lib.Codec.encoding_table['39708'] = [143,234,174] let s:lib.Codec.encoding_table['39712'] = [143,234,175] let s:lib.Codec.encoding_table['39718'] = [143,234,176] let s:lib.Codec.encoding_table['39723'] = [143,234,177] let s:lib.Codec.encoding_table['39725'] = [143,234,178] let s:lib.Codec.encoding_table['39731'] = [143,234,179] let s:lib.Codec.encoding_table['39732'] = [143,234,180] let s:lib.Codec.encoding_table['39733'] = [143,234,181] let s:lib.Codec.encoding_table['39735'] = [143,234,182] let s:lib.Codec.encoding_table['39737'] = [143,234,183] let s:lib.Codec.encoding_table['39738'] = [143,234,184] let s:lib.Codec.encoding_table['39741'] = [143,234,185] let s:lib.Codec.encoding_table['39752'] = [143,234,186] let s:lib.Codec.encoding_table['39755'] = [143,234,187] let s:lib.Codec.encoding_table['39756'] = [143,234,188] let s:lib.Codec.encoding_table['39765'] = [143,234,189] let s:lib.Codec.encoding_table['39766'] = [143,234,190] let s:lib.Codec.encoding_table['39767'] = [143,234,191] let s:lib.Codec.encoding_table['39771'] = [143,234,192] let s:lib.Codec.encoding_table['39774'] = [143,234,193] let s:lib.Codec.encoding_table['39777'] = [143,234,194] let s:lib.Codec.encoding_table['39779'] = [143,234,195] let s:lib.Codec.encoding_table['39781'] = [143,234,196] let s:lib.Codec.encoding_table['39782'] = [143,234,197] let s:lib.Codec.encoding_table['39784'] = [143,234,198] let s:lib.Codec.encoding_table['39786'] = [143,234,199] let s:lib.Codec.encoding_table['39787'] = [143,234,200] let s:lib.Codec.encoding_table['39788'] = [143,234,201] let s:lib.Codec.encoding_table['39789'] = [143,234,202] let s:lib.Codec.encoding_table['39790'] = [143,234,203] let s:lib.Codec.encoding_table['39795'] = [143,234,204] let s:lib.Codec.encoding_table['39797'] = [143,234,205] let s:lib.Codec.encoding_table['39799'] = [143,234,206] let s:lib.Codec.encoding_table['39800'] = [143,234,207] let s:lib.Codec.encoding_table['39801'] = [143,234,208] let s:lib.Codec.encoding_table['39807'] = [143,234,209] let s:lib.Codec.encoding_table['39808'] = [143,234,210] let s:lib.Codec.encoding_table['39812'] = [143,234,211] let s:lib.Codec.encoding_table['39813'] = [143,234,212] let s:lib.Codec.encoding_table['39814'] = [143,234,213] let s:lib.Codec.encoding_table['39815'] = [143,234,214] let s:lib.Codec.encoding_table['39817'] = [143,234,215] let s:lib.Codec.encoding_table['39818'] = [143,234,216] let s:lib.Codec.encoding_table['39819'] = [143,234,217] let s:lib.Codec.encoding_table['39821'] = [143,234,218] let s:lib.Codec.encoding_table['39823'] = [143,234,219] let s:lib.Codec.encoding_table['39824'] = [143,234,220] let s:lib.Codec.encoding_table['39828'] = [143,234,221] let s:lib.Codec.encoding_table['39834'] = [143,234,222] let s:lib.Codec.encoding_table['39837'] = [143,234,223] let s:lib.Codec.encoding_table['39838'] = [143,234,224] let s:lib.Codec.encoding_table['39846'] = [143,234,225] let s:lib.Codec.encoding_table['39847'] = [143,234,226] let s:lib.Codec.encoding_table['39849'] = [143,234,227] let s:lib.Codec.encoding_table['39852'] = [143,234,228] let s:lib.Codec.encoding_table['39856'] = [143,234,229] let s:lib.Codec.encoding_table['39857'] = [143,234,230] let s:lib.Codec.encoding_table['39858'] = [143,234,231] let s:lib.Codec.encoding_table['39863'] = [143,234,232] let s:lib.Codec.encoding_table['39864'] = [143,234,233] let s:lib.Codec.encoding_table['39867'] = [143,234,234] let s:lib.Codec.encoding_table['39868'] = [143,234,235] let s:lib.Codec.encoding_table['39870'] = [143,234,236] let s:lib.Codec.encoding_table['39871'] = [143,234,237] let s:lib.Codec.encoding_table['39873'] = [143,234,238] let s:lib.Codec.encoding_table['39879'] = [143,234,239] let s:lib.Codec.encoding_table['39880'] = [143,234,240] let s:lib.Codec.encoding_table['39886'] = [143,234,241] let s:lib.Codec.encoding_table['39888'] = [143,234,242] let s:lib.Codec.encoding_table['39895'] = [143,234,243] let s:lib.Codec.encoding_table['39896'] = [143,234,244] let s:lib.Codec.encoding_table['39901'] = [143,234,245] let s:lib.Codec.encoding_table['39903'] = [143,234,246] let s:lib.Codec.encoding_table['39909'] = [143,234,247] let s:lib.Codec.encoding_table['39911'] = [143,234,248] let s:lib.Codec.encoding_table['39914'] = [143,234,249] let s:lib.Codec.encoding_table['39915'] = [143,234,250] let s:lib.Codec.encoding_table['39919'] = [143,234,251] let s:lib.Codec.encoding_table['39923'] = [143,234,252] let s:lib.Codec.encoding_table['39927'] = [143,234,253] let s:lib.Codec.encoding_table['39928'] = [143,234,254] let s:lib.Codec.encoding_table['39929'] = [143,235,161] let s:lib.Codec.encoding_table['39930'] = [143,235,162] let s:lib.Codec.encoding_table['39933'] = [143,235,163] let s:lib.Codec.encoding_table['39935'] = [143,235,164] let s:lib.Codec.encoding_table['39936'] = [143,235,165] let s:lib.Codec.encoding_table['39938'] = [143,235,166] let s:lib.Codec.encoding_table['39947'] = [143,235,167] let s:lib.Codec.encoding_table['39951'] = [143,235,168] let s:lib.Codec.encoding_table['39953'] = [143,235,169] let s:lib.Codec.encoding_table['39958'] = [143,235,170] let s:lib.Codec.encoding_table['39960'] = [143,235,171] let s:lib.Codec.encoding_table['39961'] = [143,235,172] let s:lib.Codec.encoding_table['39962'] = [143,235,173] let s:lib.Codec.encoding_table['39964'] = [143,235,174] let s:lib.Codec.encoding_table['39966'] = [143,235,175] let s:lib.Codec.encoding_table['39970'] = [143,235,176] let s:lib.Codec.encoding_table['39971'] = [143,235,177] let s:lib.Codec.encoding_table['39974'] = [143,235,178] let s:lib.Codec.encoding_table['39975'] = [143,235,179] let s:lib.Codec.encoding_table['39976'] = [143,235,180] let s:lib.Codec.encoding_table['39977'] = [143,235,181] let s:lib.Codec.encoding_table['39978'] = [143,235,182] let s:lib.Codec.encoding_table['39985'] = [143,235,183] let s:lib.Codec.encoding_table['39989'] = [143,235,184] let s:lib.Codec.encoding_table['39990'] = [143,235,185] let s:lib.Codec.encoding_table['39991'] = [143,235,186] let s:lib.Codec.encoding_table['39997'] = [143,235,187] let s:lib.Codec.encoding_table['40001'] = [143,235,188] let s:lib.Codec.encoding_table['40003'] = [143,235,189] let s:lib.Codec.encoding_table['40004'] = [143,235,190] let s:lib.Codec.encoding_table['40005'] = [143,235,191] let s:lib.Codec.encoding_table['40009'] = [143,235,192] let s:lib.Codec.encoding_table['40010'] = [143,235,193] let s:lib.Codec.encoding_table['40014'] = [143,235,194] let s:lib.Codec.encoding_table['40015'] = [143,235,195] let s:lib.Codec.encoding_table['40016'] = [143,235,196] let s:lib.Codec.encoding_table['40019'] = [143,235,197] let s:lib.Codec.encoding_table['40020'] = [143,235,198] let s:lib.Codec.encoding_table['40022'] = [143,235,199] let s:lib.Codec.encoding_table['40024'] = [143,235,200] let s:lib.Codec.encoding_table['40027'] = [143,235,201] let s:lib.Codec.encoding_table['40029'] = [143,235,202] let s:lib.Codec.encoding_table['40030'] = [143,235,203] let s:lib.Codec.encoding_table['40031'] = [143,235,204] let s:lib.Codec.encoding_table['40035'] = [143,235,205] let s:lib.Codec.encoding_table['40041'] = [143,235,206] let s:lib.Codec.encoding_table['40042'] = [143,235,207] let s:lib.Codec.encoding_table['40028'] = [143,235,208] let s:lib.Codec.encoding_table['40043'] = [143,235,209] let s:lib.Codec.encoding_table['40040'] = [143,235,210] let s:lib.Codec.encoding_table['40046'] = [143,235,211] let s:lib.Codec.encoding_table['40048'] = [143,235,212] let s:lib.Codec.encoding_table['40050'] = [143,235,213] let s:lib.Codec.encoding_table['40053'] = [143,235,214] let s:lib.Codec.encoding_table['40055'] = [143,235,215] let s:lib.Codec.encoding_table['40059'] = [143,235,216] let s:lib.Codec.encoding_table['40166'] = [143,235,217] let s:lib.Codec.encoding_table['40178'] = [143,235,218] let s:lib.Codec.encoding_table['40183'] = [143,235,219] let s:lib.Codec.encoding_table['40185'] = [143,235,220] let s:lib.Codec.encoding_table['40203'] = [143,235,221] let s:lib.Codec.encoding_table['40194'] = [143,235,222] let s:lib.Codec.encoding_table['40209'] = [143,235,223] let s:lib.Codec.encoding_table['40215'] = [143,235,224] let s:lib.Codec.encoding_table['40216'] = [143,235,225] let s:lib.Codec.encoding_table['40220'] = [143,235,226] let s:lib.Codec.encoding_table['40221'] = [143,235,227] let s:lib.Codec.encoding_table['40222'] = [143,235,228] let s:lib.Codec.encoding_table['40239'] = [143,235,229] let s:lib.Codec.encoding_table['40240'] = [143,235,230] let s:lib.Codec.encoding_table['40242'] = [143,235,231] let s:lib.Codec.encoding_table['40243'] = [143,235,232] let s:lib.Codec.encoding_table['40244'] = [143,235,233] let s:lib.Codec.encoding_table['40250'] = [143,235,234] let s:lib.Codec.encoding_table['40252'] = [143,235,235] let s:lib.Codec.encoding_table['40261'] = [143,235,236] let s:lib.Codec.encoding_table['40253'] = [143,235,237] let s:lib.Codec.encoding_table['40258'] = [143,235,238] let s:lib.Codec.encoding_table['40259'] = [143,235,239] let s:lib.Codec.encoding_table['40263'] = [143,235,240] let s:lib.Codec.encoding_table['40266'] = [143,235,241] let s:lib.Codec.encoding_table['40275'] = [143,235,242] let s:lib.Codec.encoding_table['40276'] = [143,235,243] let s:lib.Codec.encoding_table['40287'] = [143,235,244] let s:lib.Codec.encoding_table['40291'] = [143,235,245] let s:lib.Codec.encoding_table['40290'] = [143,235,246] let s:lib.Codec.encoding_table['40293'] = [143,235,247] let s:lib.Codec.encoding_table['40297'] = [143,235,248] let s:lib.Codec.encoding_table['40298'] = [143,235,249] let s:lib.Codec.encoding_table['40299'] = [143,235,250] let s:lib.Codec.encoding_table['40304'] = [143,235,251] let s:lib.Codec.encoding_table['40310'] = [143,235,252] let s:lib.Codec.encoding_table['40311'] = [143,235,253] let s:lib.Codec.encoding_table['40315'] = [143,235,254] let s:lib.Codec.encoding_table['40316'] = [143,236,161] let s:lib.Codec.encoding_table['40318'] = [143,236,162] let s:lib.Codec.encoding_table['40323'] = [143,236,163] let s:lib.Codec.encoding_table['40324'] = [143,236,164] let s:lib.Codec.encoding_table['40326'] = [143,236,165] let s:lib.Codec.encoding_table['40330'] = [143,236,166] let s:lib.Codec.encoding_table['40333'] = [143,236,167] let s:lib.Codec.encoding_table['40334'] = [143,236,168] let s:lib.Codec.encoding_table['40338'] = [143,236,169] let s:lib.Codec.encoding_table['40339'] = [143,236,170] let s:lib.Codec.encoding_table['40341'] = [143,236,171] let s:lib.Codec.encoding_table['40342'] = [143,236,172] let s:lib.Codec.encoding_table['40343'] = [143,236,173] let s:lib.Codec.encoding_table['40344'] = [143,236,174] let s:lib.Codec.encoding_table['40353'] = [143,236,175] let s:lib.Codec.encoding_table['40362'] = [143,236,176] let s:lib.Codec.encoding_table['40364'] = [143,236,177] let s:lib.Codec.encoding_table['40366'] = [143,236,178] let s:lib.Codec.encoding_table['40369'] = [143,236,179] let s:lib.Codec.encoding_table['40373'] = [143,236,180] let s:lib.Codec.encoding_table['40377'] = [143,236,181] let s:lib.Codec.encoding_table['40380'] = [143,236,182] let s:lib.Codec.encoding_table['40383'] = [143,236,183] let s:lib.Codec.encoding_table['40387'] = [143,236,184] let s:lib.Codec.encoding_table['40391'] = [143,236,185] let s:lib.Codec.encoding_table['40393'] = [143,236,186] let s:lib.Codec.encoding_table['40394'] = [143,236,187] let s:lib.Codec.encoding_table['40404'] = [143,236,188] let s:lib.Codec.encoding_table['40405'] = [143,236,189] let s:lib.Codec.encoding_table['40406'] = [143,236,190] let s:lib.Codec.encoding_table['40407'] = [143,236,191] let s:lib.Codec.encoding_table['40410'] = [143,236,192] let s:lib.Codec.encoding_table['40414'] = [143,236,193] let s:lib.Codec.encoding_table['40415'] = [143,236,194] let s:lib.Codec.encoding_table['40416'] = [143,236,195] let s:lib.Codec.encoding_table['40421'] = [143,236,196] let s:lib.Codec.encoding_table['40423'] = [143,236,197] let s:lib.Codec.encoding_table['40425'] = [143,236,198] let s:lib.Codec.encoding_table['40427'] = [143,236,199] let s:lib.Codec.encoding_table['40430'] = [143,236,200] let s:lib.Codec.encoding_table['40432'] = [143,236,201] let s:lib.Codec.encoding_table['40435'] = [143,236,202] let s:lib.Codec.encoding_table['40436'] = [143,236,203] let s:lib.Codec.encoding_table['40446'] = [143,236,204] let s:lib.Codec.encoding_table['40458'] = [143,236,205] let s:lib.Codec.encoding_table['40450'] = [143,236,206] let s:lib.Codec.encoding_table['40455'] = [143,236,207] let s:lib.Codec.encoding_table['40462'] = [143,236,208] let s:lib.Codec.encoding_table['40464'] = [143,236,209] let s:lib.Codec.encoding_table['40465'] = [143,236,210] let s:lib.Codec.encoding_table['40466'] = [143,236,211] let s:lib.Codec.encoding_table['40469'] = [143,236,212] let s:lib.Codec.encoding_table['40470'] = [143,236,213] let s:lib.Codec.encoding_table['40473'] = [143,236,214] let s:lib.Codec.encoding_table['40476'] = [143,236,215] let s:lib.Codec.encoding_table['40477'] = [143,236,216] let s:lib.Codec.encoding_table['40570'] = [143,236,217] let s:lib.Codec.encoding_table['40571'] = [143,236,218] let s:lib.Codec.encoding_table['40572'] = [143,236,219] let s:lib.Codec.encoding_table['40576'] = [143,236,220] let s:lib.Codec.encoding_table['40578'] = [143,236,221] let s:lib.Codec.encoding_table['40579'] = [143,236,222] let s:lib.Codec.encoding_table['40580'] = [143,236,223] let s:lib.Codec.encoding_table['40581'] = [143,236,224] let s:lib.Codec.encoding_table['40583'] = [143,236,225] let s:lib.Codec.encoding_table['40590'] = [143,236,226] let s:lib.Codec.encoding_table['40591'] = [143,236,227] let s:lib.Codec.encoding_table['40598'] = [143,236,228] let s:lib.Codec.encoding_table['40600'] = [143,236,229] let s:lib.Codec.encoding_table['40603'] = [143,236,230] let s:lib.Codec.encoding_table['40606'] = [143,236,231] let s:lib.Codec.encoding_table['40612'] = [143,236,232] let s:lib.Codec.encoding_table['40616'] = [143,236,233] let s:lib.Codec.encoding_table['40620'] = [143,236,234] let s:lib.Codec.encoding_table['40622'] = [143,236,235] let s:lib.Codec.encoding_table['40623'] = [143,236,236] let s:lib.Codec.encoding_table['40624'] = [143,236,237] let s:lib.Codec.encoding_table['40627'] = [143,236,238] let s:lib.Codec.encoding_table['40628'] = [143,236,239] let s:lib.Codec.encoding_table['40629'] = [143,236,240] let s:lib.Codec.encoding_table['40646'] = [143,236,241] let s:lib.Codec.encoding_table['40648'] = [143,236,242] let s:lib.Codec.encoding_table['40651'] = [143,236,243] let s:lib.Codec.encoding_table['40661'] = [143,236,244] let s:lib.Codec.encoding_table['40671'] = [143,236,245] let s:lib.Codec.encoding_table['40676'] = [143,236,246] let s:lib.Codec.encoding_table['40679'] = [143,236,247] let s:lib.Codec.encoding_table['40684'] = [143,236,248] let s:lib.Codec.encoding_table['40685'] = [143,236,249] let s:lib.Codec.encoding_table['40686'] = [143,236,250] let s:lib.Codec.encoding_table['40688'] = [143,236,251] let s:lib.Codec.encoding_table['40689'] = [143,236,252] let s:lib.Codec.encoding_table['40690'] = [143,236,253] let s:lib.Codec.encoding_table['40693'] = [143,236,254] let s:lib.Codec.encoding_table['40696'] = [143,237,161] let s:lib.Codec.encoding_table['40703'] = [143,237,162] let s:lib.Codec.encoding_table['40706'] = [143,237,163] let s:lib.Codec.encoding_table['40707'] = [143,237,164] let s:lib.Codec.encoding_table['40713'] = [143,237,165] let s:lib.Codec.encoding_table['40719'] = [143,237,166] let s:lib.Codec.encoding_table['40720'] = [143,237,167] let s:lib.Codec.encoding_table['40721'] = [143,237,168] let s:lib.Codec.encoding_table['40722'] = [143,237,169] let s:lib.Codec.encoding_table['40724'] = [143,237,170] let s:lib.Codec.encoding_table['40726'] = [143,237,171] let s:lib.Codec.encoding_table['40727'] = [143,237,172] let s:lib.Codec.encoding_table['40729'] = [143,237,173] let s:lib.Codec.encoding_table['40730'] = [143,237,174] let s:lib.Codec.encoding_table['40731'] = [143,237,175] let s:lib.Codec.encoding_table['40735'] = [143,237,176] let s:lib.Codec.encoding_table['40738'] = [143,237,177] let s:lib.Codec.encoding_table['40742'] = [143,237,178] let s:lib.Codec.encoding_table['40746'] = [143,237,179] let s:lib.Codec.encoding_table['40747'] = [143,237,180] let s:lib.Codec.encoding_table['40751'] = [143,237,181] let s:lib.Codec.encoding_table['40753'] = [143,237,182] let s:lib.Codec.encoding_table['40754'] = [143,237,183] let s:lib.Codec.encoding_table['40756'] = [143,237,184] let s:lib.Codec.encoding_table['40759'] = [143,237,185] let s:lib.Codec.encoding_table['40761'] = [143,237,186] let s:lib.Codec.encoding_table['40762'] = [143,237,187] let s:lib.Codec.encoding_table['40764'] = [143,237,188] let s:lib.Codec.encoding_table['40765'] = [143,237,189] let s:lib.Codec.encoding_table['40767'] = [143,237,190] let s:lib.Codec.encoding_table['40769'] = [143,237,191] let s:lib.Codec.encoding_table['40771'] = [143,237,192] let s:lib.Codec.encoding_table['40772'] = [143,237,193] let s:lib.Codec.encoding_table['40773'] = [143,237,194] let s:lib.Codec.encoding_table['40774'] = [143,237,195] let s:lib.Codec.encoding_table['40775'] = [143,237,196] let s:lib.Codec.encoding_table['40787'] = [143,237,197] let s:lib.Codec.encoding_table['40789'] = [143,237,198] let s:lib.Codec.encoding_table['40790'] = [143,237,199] let s:lib.Codec.encoding_table['40791'] = [143,237,200] let s:lib.Codec.encoding_table['40792'] = [143,237,201] let s:lib.Codec.encoding_table['40794'] = [143,237,202] let s:lib.Codec.encoding_table['40797'] = [143,237,203] let s:lib.Codec.encoding_table['40798'] = [143,237,204] let s:lib.Codec.encoding_table['40808'] = [143,237,205] let s:lib.Codec.encoding_table['40809'] = [143,237,206] let s:lib.Codec.encoding_table['40813'] = [143,237,207] let s:lib.Codec.encoding_table['40814'] = [143,237,208] let s:lib.Codec.encoding_table['40815'] = [143,237,209] let s:lib.Codec.encoding_table['40816'] = [143,237,210] let s:lib.Codec.encoding_table['40817'] = [143,237,211] let s:lib.Codec.encoding_table['40819'] = [143,237,212] let s:lib.Codec.encoding_table['40821'] = [143,237,213] let s:lib.Codec.encoding_table['40826'] = [143,237,214] let s:lib.Codec.encoding_table['40829'] = [143,237,215] let s:lib.Codec.encoding_table['40847'] = [143,237,216] let s:lib.Codec.encoding_table['40848'] = [143,237,217] let s:lib.Codec.encoding_table['40849'] = [143,237,218] let s:lib.Codec.encoding_table['40850'] = [143,237,219] let s:lib.Codec.encoding_table['40852'] = [143,237,220] let s:lib.Codec.encoding_table['40854'] = [143,237,221] let s:lib.Codec.encoding_table['40855'] = [143,237,222] let s:lib.Codec.encoding_table['40862'] = [143,237,223] let s:lib.Codec.encoding_table['40865'] = [143,237,224] let s:lib.Codec.encoding_table['40866'] = [143,237,225] let s:lib.Codec.encoding_table['40867'] = [143,237,226] let s:lib.Codec.encoding_table['40869'] = [143,237,227] ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/ascii.vim ================================================ function! SpaceVim#api#iconv#codecs#ascii#import() abort return s:ascii endfunction " SpaceVim#api#iconv# let s:tablebase = SpaceVim#api#iconv#codecs#tablebase#import() let s:ascii = {} let s:ascii.Codec = {} call extend(s:ascii.Codec, s:tablebase.Codec) let s:ascii.Codec.encoding = 'ASCII' let s:ascii.Codec.decoding_table_maxlen = 1 let s:ascii.Codec.decoding_table = {} for s:i in range(0x80) let s:ascii.Codec.decoding_table[s:i] = [s:i] endfor unlet s:i let s:ascii.Codec.encoding_table_maxlen = 1 let s:ascii.Codec.encoding_table = {} for s:i in range(0x80) let s:ascii.Codec.encoding_table[s:i] = [s:i] endfor unlet s:i ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/base.vim ================================================ function! SpaceVim#api#iconv#codecs#base#import() abort return s:base endfunction let s:error = SpaceVim#api#iconv#codecs#error#import() let s:base = {} let s:base.Codec = {} let s:base.Codec.encoding = '' let s:base.Codec.errors = '' function! s:base.Codec.new() abort let obj = copy(self) call obj.__init__() return obj endfunction function! s:base.Codec.__init__() abort " pass endfunction function! s:base.Codec.decode(input, errors) abort let self.errors = a:errors let out = [] let i = 0 while i < len(a:input) let [buf, i] = self.mbtowc(a:input, i) call extend(out, buf) endwhile return out endfunction function! s:base.Codec.mbtowc(input, start) abort throw 'NotImplemented' endfunction function! s:base.Codec.encode(input, errors) abort let self.errors = a:errors let out = [] let i = 0 while i < len(a:input) let [buf, i] = self.wctomb(a:input, i) call extend(out, buf) endwhile return out endfunction function! s:base.Codec.wctomb(input, start) abort throw 'NotImplemented' endfunction function! s:base.Codec.error(class, reason, object, start, end) abort if a:class ==# 'UnicodeDecodeError' let exception = printf("%s: '%s' codec can't decode bytes in position %d-%d: %s", a:class, self.encoding, a:start, a:end, a:reason) elseif a:class ==# 'UnicodeEncodeError' let exception = printf("%s: '%s' codec can't encode character in position %d-%d: %s", a:class, self.encoding, a:start, a:end, a:reason) else throw printf('unknown class: %s', a:class) endif return s:error.handle(self.errors, exception, a:object, a:start, a:end) endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/error.vim ================================================ function! SpaceVim#api#iconv#codecs#error#import() abort return s:error endfunction let s:error = {} function s:error.handle(errors, exception, object, start, end) if !has_key(self, a:errors) throw printf("unknown errors: %s", a:errors) endif return call(self[a:errors], [a:exception, a:object, a:start, a:end], self) endfunction function s:error.strict(exception, object, start, end) throw a:exception endfunction function s:error.ignore(exception, object, start, end) if a:exception =~ '^UnicodeDecodeError:' return [[], a:end + 1] elseif a:exception =~ '^UnicodeEncodeError:' return [[], a:end + 1] else throw printf("error.ignore: can't handle error: %s", exception) endif endfunction function s:error.replace(exception, object, start, end) if a:exception =~ '^UnicodeDecodeError:' let out = map(a:object[a:start : a:end], 'char2nr("?")') return [out, a:end + 1] elseif a:exception =~ '^UnicodeEncodeError:' let out = map(a:object[a:start : a:end], 'char2nr("?")') return [out, a:end + 1] else throw printf("error.replace: can't handle error: %s", exception) endif endfunction function s:error.backslashreplace(exception, object, start, end) if a:exception =~ '^UnicodeDecodeError:' let out = [] for x in a:object[a:start : a:end] let s = printf('\x%02x', x) call extend(out, map(range(len(s)), 'char2nr(s[v:val])')) endfor return [out, a:end + 1] elseif a:exception =~ '^UnicodeEncodeError:' let out = [] for x in a:object[a:start : a:end] if x < 0x10000 let s = printf('\u%04x', x) else let s = printf('\U%08x', x) endif call extend(out, map(range(len(s)), 'char2nr(s[v:val])')) endfor return [out, a:end + 1] else throw printf("error.backslashreplace: can't handle error: %s", exception) endif endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/tablebase.vim ================================================ function! SpaceVim#api#iconv#codecs#tablebase#import() abort return s:tablebase endfunction let s:base = SpaceVim#api#iconv#codecs#base#import() let s:tablebase = {} let s:tablebase.Codec = {} call extend(s:tablebase.Codec, s:base.Codec) let s:tablebase.Codec.decoding_table_maxlen = 0 let s:tablebase.Codec.decoding_table = {} let s:tablebase.Codec.encoding_table_maxlen = 0 let s:tablebase.Codec.encoding_table = {} function! s:tablebase.Codec.mbtowc(input, start) for i in range(self.decoding_table_maxlen) if a:start + i >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let key = join(a:input[a:start : a:start + i], ',') if has_key(self.decoding_table, key) return [self.decoding_table[key], a:start + i + 1] endif endfor return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start) endfunction function! s:tablebase.Codec.wctomb(input, start) for i in range(self.encoding_table_maxlen) if a:start + i >= len(a:input) return self.error('UnicodeEncodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let key = join(a:input[a:start : a:start + i], ',') if has_key(self.encoding_table, key) return [self.encoding_table[key], a:start + i + 1] endif endfor return self.error('UnicodeEncodeError', 'invalid', a:input, a:start, a:start) endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/utf16.vim ================================================ function! SpaceVim#api#iconv#codecs#utf16#import() abort return s:utf16 endfunction let s:base = SpaceVim#api#iconv#codecs#base#import() let s:utf16 = {} let s:utf16.Codec = {} call extend(s:utf16.Codec, s:base.Codec) let s:utf16.Codec.encoding = "UTF-16" let s:utf16.Codec.istate = 0 let s:utf16.Codec.ostate = 0 function! s:utf16.Codec.mbtowc(input, start) if a:start + 1 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc = (self.istate \ ? a:input[a:start + 0] + (a:input[a:start + 1] * 0x100) \ : (a:input[a:start + 0] * 0x100) + a:input[a:start + 1]) if wc == 0xfeff return [[], a:start + 2] elseif wc == 0xfffe let self.istate = !self.istate return [[], a:start + 2] elseif wc >= 0xd800 && wc < 0xdc00 if a:start + 3 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc2 = (self.istate \ ? a:input[a:start + 2] + (a:input[a:start + 3] * 0x100) \ : (a:input[a:start + 2] * 0x100) + a:input[a:start + 3]) if !(wc2 >= 0xdc00 && wc2 < 0xe000) return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 3) endif let pwc = 0x10000 + ((wc - 0xd800) * 0x400) + (wc2 - 0xdc00) return [[pwc], a:start + 4] elseif wc >= 0xdc00 && wc < 0xe000 return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 1) else return [[wc], a:start + 2] endif endfunction function! s:utf16.Codec.wctomb(input, start) let res = [] let wc = a:input[a:start] if wc != 0xfffe && !(wc >= 0xd800 && wc < 0xe000) if !self.ostate call add(res, 0xFE) call add(res, 0xFF) endif if wc < 0x10000 call add(res, wc / 0x100) call add(res, wc % 0x100) let self.ostate = 1 return [res, a:start + 1] elseif wc < 0x110000 let wc1 = 0xd800 + ((wc - 0x10000) / 0x400) let wc2 = 0xdc00 + ((wc - 0x10000) % 0x400) call add(res, wc1 / 0x100) call add(res, wc1 % 0x100) call add(res, wc2 / 0x100) call add(res, wc2 % 0x100) let self.ostate = 1 return [res, a:start + 1] endif endif return self.error('UnicodeEncodeError', 'invalid', a:input, a:start, a:start) endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/utf16be.vim ================================================ function! SpaceVim#api#iconv#codecs#utf16be#import() abort return s:utf16be endfunction let s:base = SpaceVim#api#iconv#codecs#base#import() let s:utf16be = {} let s:utf16be.Codec = {} call extend(s:utf16be.Codec, s:base.Codec) let s:utf16be.Codec.encoding = "UTF-16BE" function! s:utf16be.Codec.mbtowc(input, start) if a:start + 1 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc = (a:input[a:start + 0] * 0x100) + a:input[a:start + 1] if wc >= 0xd800 && wc < 0xdc00 if a:start + 3 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc2 = (a:input[a:start + 2] * 0x100) + a:input[a:start + 3] if !(wc2 >= 0xdc00 && wc2 < 0xe000) return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 3) endif let pwc = 0x10000 + ((wc - 0xd800) * 0x400) + (wc2 - 0xdc00) return [[pwc], a:start + 4] elseif wc >= 0xdc00 && wc < 0xe000 return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 1) else return [[wc], a:start + 2] endif endfunction function! s:utf16be.Codec.wctomb(input, start) let wc = a:input[a:start] if !(wc >= 0xd800 && wc < 0xe000) if wc < 0x10000 return [[wc / 0x100, wc % 0x100], a:start + 1] elseif wc < 0x110000 let wc1 = 0xd800 + ((wc - 0x10000) / 0x400) let wc2 = 0xdc00 + ((wc - 0x10000) % 0x400) return [[wc1 / 0x100, wc1 % 0x100, wc2 / 0x100, wc2 % 0x100], a:start + 1] endif endif return self.error('UnicodeEncodeError', 'invalid', a:input, a:start, a:start) endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/utf16le.vim ================================================ function! SpaceVim#api#iconv#codecs#utf16le#import() abort return s:utf16le endfunction let s:base = SpaceVim#api#iconv#codecs#base#import() let s:utf16le = {} let s:utf16le.Codec = {} call extend(s:utf16le.Codec, s:base.Codec) let s:utf16le.Codec.encoding = "UTF-16LE" function! s:utf16le.Codec.mbtowc(input, start) if a:start + 1 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc = a:input[a:start + 0] + (a:input[a:start + 1] * 0x100) if wc >= 0xd800 && wc < 0xdc00 if a:start + 3 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc2 = a:input[a:start + 2] + (a:input[a:start + 3] * 0x100) if !(wc2 >= 0xdc00 && wc2 < 0xe000) return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 3) endif let pwc = 0x10000 + ((wc - 0xd800) * 0x400) + (wc2 - 0xdc00) return [[pwc], a:start + 4] elseif wc >= 0xdc00 && wc < 0xe000 return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 1) else return [[wc], a:start + 2] endif endfunction function! s:utf16le.Codec.wctomb(input, start) let wc = a:input[a:start] if !(wc >= 0xd800 && wc < 0xe000) if wc < 0x10000 return [[wc % 0x100, wc / 0x100], a:start + 1] elseif wc < 0x110000 let wc1 = 0xd800 + ((wc - 0x10000) / 0x400) let wc2 = 0xdc00 + ((wc - 0x10000) % 0x400) return [[wc1 % 0x100, wc1 / 0x100, wc2 % 0x100, wc2 / 0x100], a:start + 1] endif endif return self.error('UnicodeEncodeError', 'invalid', a:input, a:start, a:start) endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/utf32.vim ================================================ function! SpaceVim#api#iconv#codecs#utf32#import() abort return s:utf32 endfunction let s:base = SpaceVim#api#iconv#codecs#base#import() let s:utf32 = {} let s:utf32.Codec = {} call extend(s:utf32.Codec, s:base.Codec) let s:utf32.Codec.encoding = "UTF-32" let s:utf32.Codec.istate = 0 let s:utf32.Codec.ostate = 0 function! s:utf32.Codec.mbtowc(input, start) if a:start + 3 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc = self.istate \ ? a:input[a:start + 0] + (a:input[a:start + 1] * 0x100) + (a:input[a:start + 2] * 0x10000) + (a:input[a:start + 3] * 0x1000000) \ : (a:input[a:start + 0] * 0x1000000) + (a:input[a:start + 1] * 0x10000) + (a:input[a:start + 2] * 0x100) + a:input[a:start + 3] if wc == 0x0000feff return [[], a:start + 4] elseif wc == 0xfffe0000 let self.istate = !self.istate return [[], a:start + 4] else if wc >= 0 && wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000) return [[wc], a:start + 4] else return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 3) endif endif endfunction function! s:utf32.Codec.wctomb(input, start) let res = [] let wc = a:input[a:start] if wc >= 0 && wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000) if !self.ostate call add(res, 0x00) call add(res, 0x00) call add(res, 0xFE) call add(res, 0xFF) endif if wc >= 0 && wc < 0x110000 call add(res, 0x00) call add(res, wc / 0x10000 % 0x100) call add(res, wc / 0x100 % 0x100) call add(res, wc % 0x100) let self.ostate = 1 return [res, a:start + 1] endif endif return self.error('UnicodeEncodeError', 'invalid', a:input, a:start, a:start) endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/utf32be.vim ================================================ function! SpaceVim#api#iconv#codecs#utf32be#import() abort return s:utf32be endfunction let s:base = SpaceVim#api#iconv#codecs#base#import() let s:utf32be = {} let s:utf32be.Codec = {} call extend(s:utf32be.Codec, s:base.Codec) let s:utf32be.Codec.encoding = "UTF-32BE" function! s:utf32be.Codec.mbtowc(input, start) if a:start + 3 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc = (a:input[a:start + 0] * 0x1000000) + (a:input[a:start + 1] * 0x10000) + (a:input[a:start + 2] * 0x100) + a:input[a:start + 3] if wc >= 0 && wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000) return [[wc], a:start + 4] else return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 3) endif endfunction function! s:utf32be.Codec.wctomb(input, start) let wc = a:input[a:start] if wc >= 0 && wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000) return [[0, wc / 0x10000 % 0x100, wc / 0x100 % 0x100, wc % 0x100], a:start + 1] endif return self.error('UnicodeEncodeError', 'invalid', a:input, a:start, a:start) endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/utf32le.vim ================================================ function! SpaceVim#api#iconv#codecs#utf32le#import() abort return s:utf32le endfunction let s:base = SpaceVim#api#iconv#codecs#base#import() let s:utf32le = {} let s:utf32le.Codec = {} call extend(s:utf32le.Codec, s:base.Codec) let s:utf32le.Codec.encoding = "UTF-32LE" function! s:utf32le.Codec.mbtowc(input, start) if a:start + 3 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif let wc = a:input[a:start + 0] + (a:input[a:start + 1] * 0x100) + (a:input[a:start + 2] * 0x10000) + (a:input[a:start + 3] * 0x1000000) if wc >= 0 && wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000) return [[wc], a:start + 4] else return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 3) endif endfunction function! s:utf32le.Codec.wctomb(input, start) let wc = a:input[a:start] if wc >= 0 && wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000) return [[wc % 0x100, wc / 0x100 % 0x100, wc / 0x10000 % 0x100, 0], a:start + 1] endif return self.error('UnicodeEncodeError', 'invalid', a:input, a:start, a:start) endfunction function s:utf32le.flush() return [] endfunction ================================================ FILE: autoload/SpaceVim/api/iconv/codecs/utf8.vim ================================================ function! SpaceVim#api#iconv#codecs#utf8#import() abort return s:utf8 endfunction let s:base = SpaceVim#api#iconv#codecs#base#import() let s:utf8 = {} let s:utf8.Codec = {} call extend(s:utf8.Codec, s:base.Codec) let s:utf8.Codec.encoding = "UTF-8" function s:utf8.Codec.CheckByte(c) return (a:c >= 0x80) && ((a:c - 0x80) < 0x40) endfunction function! s:utf8.Codec.mbtowc(input, start) let c = a:input[a:start] if c < 0x80 return [[c], a:start + 1] elseif c < 0xc2 return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start) elseif c < 0xe0 if a:start + 1 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif if !(self.CheckByte(a:input[a:start + 1])) return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 1) endif let wc = ((c % 0x20) * 0x40) + (a:input[a:start + 1] - 0x80) return [[wc], a:start + 2] elseif c < 0xf0 if a:start + 2 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif if !(self.CheckByte(a:input[a:start + 1]) \ && self.CheckByte(a:input[a:start + 2]) \ && (c >= 0xe1 || a:input[a:start + 1] >= 0xa0)) return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 2) endif let wc = ((c % 0x10) * 0x1000) \ + ((a:input[a:start + 1] - 0x80) * 0x40) \ + (a:input[a:start + 2] - 0x80) return [[wc], a:start + 3] elseif c < 0xf8 if a:start + 3 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif if !(self.CheckByte(a:input[a:start + 1]) \ && self.CheckByte(a:input[a:start + 2]) \ && self.CheckByte(a:input[a:start + 3]) \ && (c >= 0xf1 || a:input[a:start + 1] >= 0x90)) return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 3) endif let wc = ((c % 0x08) * 0x40000) \ + ((a:input[a:start + 1] - 0x80) * 0x1000) \ + ((a:input[a:start + 2] - 0x80) * 0x40) \ + (a:input[a:start + 3] - 0x80) return [[wc], a:start + 4] elseif c < 0xfc if a:start + 4 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif if !(self.CheckByte(a:input[a:start + 1]) \ && self.CheckByte(a:input[a:start + 2]) \ && self.CheckByte(a:input[a:start + 3]) \ && self.CheckByte(a:input[a:start + 4]) \ && (c >= 0xf9 || a:input[a:start + 1] >= 0x88)) return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 4) endif let wc = ((c % 0x04) * 0x1000000) \ + ((a:input[a:start + 1] - 0x80) * 0x40000) \ + ((a:input[a:start + 2] - 0x80) * 0x1000) \ + ((a:input[a:start + 3] - 0x80) * 0x40) \ + (a:input[a:start + 4] - 0x80) return [[wc], a:start + 5] elseif c < 0xfe if a:start + 5 >= len(a:input) return self.error('UnicodeDecodeError', 'incomplete', a:input, a:start, len(a:input) - 1) endif if !(self.CheckByte(a:input[a:start + 1]) \ && self.CheckByte(a:input[a:start + 2]) \ && self.CheckByte(a:input[a:start + 3]) \ && self.CheckByte(a:input[a:start + 4]) \ && self.CheckByte(a:input[a:start + 5]) \ && (c >= 0xfd || a:input[a:start + 1] >= 0x84)) return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start + 5) endif let wc = ((c % 0x02) * 0x40000000) \ + ((a:input[a:start + 1] - 0x80) * 0x1000000) \ + ((a:input[a:start + 2] - 0x80) * 0x40000) \ + ((a:input[a:start + 3] - 0x80) * 0x1000) \ + ((a:input[a:start + 4] - 0x80) * 0x40) \ + (a:input[a:start + 5] - 0x80) return [[wc], a:start + 6] else return self.error('UnicodeDecodeError', 'invalid', a:input, a:start, a:start) endif endfunction function! s:utf8.Codec.wctomb(input, start) let wc = a:input[a:start] let cnt = 0 if wc < 0x80 let cnt = 1 elseif wc < 0x800 let cnt = 2 elseif wc < 0x10000 let cnt = 3 elseif wc < 0x200000 let cnt = 4 elseif wc < 0x4000000 let cnt = 5 elseif wc <= 0x7fffffff let cnt = 6 else return self.error('UnicodeEncodeError', 'invalid', a:input, a:start, a:start) endif let r = [] if cnt >= 6 call insert(r, 0x80 + (wc % 0x40)) let wc = (wc / 0x40) + 0x4000000 endif if cnt >= 5 call insert(r, 0x80 + (wc % 0x40)) let wc = (wc / 0x40) + 0x200000 endif if cnt >= 4 call insert(r, 0x80 + (wc % 0x40)) let wc = (wc / 0x40) + 0x10000 endif if cnt >= 3 call insert(r, 0x80 + (wc % 0x40)) let wc = (wc / 0x40) + 0x800 endif if cnt >= 2 call insert(r, 0x80 + (wc % 0x40)) let wc = (wc / 0x40) + 0xc0 endif if cnt >= 1 call insert(r, wc) endif return [r, a:start + 1] endfunction ================================================ FILE: autoload/SpaceVim/api/iconv.vim ================================================ let s:self = {} if has('iconv') && !has('nvim') function! s:self.iconv(str, from, to) abort return iconv(a:str, a:from, a:to) endfunction else function! s:self.iconv(str, from, to) abort " let errors = get(a:000, 0, 'strict') return s:iconv.iconv(a:str, a:from, a:to, 'strict') endfunction endif function! SpaceVim#api#iconv#import() abort return s:iconv endfunction function! SpaceVim#api#iconv#iconv(expr, from, to, ...) abort let errors = get(a:000, 0, 'strict') try return s:iconv.iconv(a:expr, a:from, a:to, errors) endtry endfunction function! SpaceVim#api#iconv#iconvb(expr, from, to, ...) abort let errors = get(a:000, 0, 'strict') try return s:iconv.iconvb(a:expr, a:from, a:to, errors) endtry endfunction let s:bytes = SpaceVim#api#iconv#bytes#import() let s:iconv = {} function! s:iconv.iconv(expr, from, to, errors) abort return s:bytes.bytes2str(self.iconvb(a:expr, a:from, a:to, a:errors)) endfunction function! s:iconv.iconvb(expr, from, to, errors) abort let expr = s:bytes.tobytes(a:expr) return self._iconv(expr, a:from, a:to, a:errors) endfunction function! s:iconv._iconv(expr, from, to, errors) abort let from = tolower(a:from) let to = tolower(a:to) if !has_key(self.codecs, from) throw printf('unknown encoding: %s', from) endif if !has_key(self.codecs, to) throw printf('unknown encoding: %s', to) endif let decoder_module = call(self.codecs[from], []) let encoder_module = call(self.codecs[to], []) let decoder = decoder_module.Codec.new() let encoder = encoder_module.Codec.new() let u = decoder.decode(a:expr, a:errors) let s = encoder.encode(u, a:errors) return s endfunction let s:iconv.codecs = { \ 'ascii': function('SpaceVim#api#iconv#codecs#ascii#import'), \ 'utf-8': function('SpaceVim#api#iconv#codecs#utf8#import'), \ 'utf-16': function('SpaceVim#api#iconv#codecs#utf16#import'), \ 'utf-16be': function('SpaceVim#api#iconv#codecs#utf16be#import'), \ 'utf-16le': function('SpaceVim#api#iconv#codecs#utf16le#import'), \ 'utf-32': function('SpaceVim#api#iconv#codecs#utf32#import'), \ 'utf-32be': function('SpaceVim#api#iconv#codecs#utf32be#import'), \ 'utf-32le': function('SpaceVim#api#iconv#codecs#utf32le#import'), \ 'latin1': function('SpaceVim#api#iconv#codecs#_8859_1#import'), \ 'iso-8859-1': function('SpaceVim#api#iconv#codecs#_8859_1#import'), \ 'iso-8859-2': function('SpaceVim#api#iconv#codecs#_8859_2#import'), \ 'iso-8859-3': function('SpaceVim#api#iconv#codecs#_8859_3#import'), \ 'iso-8859-4': function('SpaceVim#api#iconv#codecs#_8859_4#import'), \ 'iso-8859-5': function('SpaceVim#api#iconv#codecs#_8859_5#import'), \ 'iso-8859-6': function('SpaceVim#api#iconv#codecs#_8859_6#import'), \ 'iso-8859-7': function('SpaceVim#api#iconv#codecs#_8859_7#import'), \ 'iso-8859-8': function('SpaceVim#api#iconv#codecs#_8859_8#import'), \ 'iso-8859-9': function('SpaceVim#api#iconv#codecs#_8859_9#import'), \ 'iso-8859-10': function('SpaceVim#api#iconv#codecs#_8859_10#import'), \ 'iso-8859-11': function('SpaceVim#api#iconv#codecs#_8859_11#import'), \ 'iso-8859-13': function('SpaceVim#api#iconv#codecs#_8859_13#import'), \ 'iso-8859-14': function('SpaceVim#api#iconv#codecs#_8859_14#import'), \ 'iso-8859-15': function('SpaceVim#api#iconv#codecs#_8859_15#import'), \ 'cp037': function('SpaceVim#api#iconv#codecs#_cp037#import'), \ 'cp1026': function('SpaceVim#api#iconv#codecs#_cp1026#import'), \ 'cp1250': function('SpaceVim#api#iconv#codecs#_cp1250#import'), \ 'cp1251': function('SpaceVim#api#iconv#codecs#_cp1251#import'), \ 'cp1252': function('SpaceVim#api#iconv#codecs#_cp1252#import'), \ 'cp1253': function('SpaceVim#api#iconv#codecs#_cp1253#import'), \ 'cp1254': function('SpaceVim#api#iconv#codecs#_cp1254#import'), \ 'cp1255': function('SpaceVim#api#iconv#codecs#_cp1255#import'), \ 'cp1256': function('SpaceVim#api#iconv#codecs#_cp1256#import'), \ 'cp1257': function('SpaceVim#api#iconv#codecs#_cp1257#import'), \ 'cp1258': function('SpaceVim#api#iconv#codecs#_cp1258#import'), \ 'cp437': function('SpaceVim#api#iconv#codecs#_cp437#import'), \ 'cp500': function('SpaceVim#api#iconv#codecs#_cp500#import'), \ 'cp737': function('SpaceVim#api#iconv#codecs#_cp737#import'), \ 'cp775': function('SpaceVim#api#iconv#codecs#_cp775#import'), \ 'cp850': function('SpaceVim#api#iconv#codecs#_cp850#import'), \ 'cp852': function('SpaceVim#api#iconv#codecs#_cp852#import'), \ 'cp855': function('SpaceVim#api#iconv#codecs#_cp855#import'), \ 'cp857': function('SpaceVim#api#iconv#codecs#_cp857#import'), \ 'cp860': function('SpaceVim#api#iconv#codecs#_cp860#import'), \ 'cp861': function('SpaceVim#api#iconv#codecs#_cp861#import'), \ 'cp862': function('SpaceVim#api#iconv#codecs#_cp862#import'), \ 'cp863': function('SpaceVim#api#iconv#codecs#_cp863#import'), \ 'cp864': function('SpaceVim#api#iconv#codecs#_cp864#import'), \ 'cp865': function('SpaceVim#api#iconv#codecs#_cp865#import'), \ 'cp866': function('SpaceVim#api#iconv#codecs#_cp866#import'), \ 'cp869': function('SpaceVim#api#iconv#codecs#_cp869#import'), \ 'cp874': function('SpaceVim#api#iconv#codecs#_cp874#import'), \ 'cp875': function('SpaceVim#api#iconv#codecs#_cp875#import'), \ 'cp932': function('SpaceVim#api#iconv#codecs#_cp932#import'), \ 'cp936': function('SpaceVim#api#iconv#codecs#_cp936#import'), \ 'cp949': function('SpaceVim#api#iconv#codecs#_cp949#import'), \ 'cp950': function('SpaceVim#api#iconv#codecs#_cp950#import'), \ 'euc-jp': function('SpaceVim#api#iconv#codecs#_euc_jp#import'), \ } function! SpaceVim#api#iconv#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/job.vim ================================================ "============================================================================= " job.vim --- job api " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section job, api-job " @parentsection api " provides some functions to manager job " " start({cmd}[, {opt}]) " " spawns {cmd} as a job. {opts} is a dictionary with these keys: " " on_stdout: stdout event handler (function name or Funcref) " " on_stderr: stderr event handler (function name or Funcref) " " on_exit: exit event handler (function name or Funcref) " " cwd: working directory of the job; defaults to current directory " " stop(id) " " stop job via job id. " " send(id, data) " " send {data} to specific job. " " status(id) " " return the job status of a specific job. " " " This api also can be use in lua: " " Example: > " local job = require('spacevim.api.job') " " local function on_stdout(id, data) " " end " " local function on_stderr(id, data) " " end " " local function on_exit(id, code, single) " " end " " job.start({'vim', '--version'}, " on_stdout = on_stdout, " on_stderr = on_stderr, " on_exit = on_exit " ) " < function! SpaceVim#api#job#get() abort return deepcopy(s:self) endfunction " make vim and neovim use same job func. let s:self = {} let s:self.jobs = {} let s:self.nvim_job = has('nvim') let s:self.vim_job = !has('nvim') && has('job') && has('patch-7.4.1689') let s:self.vim_co = SpaceVim#api#import('vim#compatible') let s:self._message = [] if !s:self.nvim_job && !s:self.vim_job augroup SpaceVim_job au! au! User SpaceVim_job_stdout nested call call(s:self.opts.on_stdout, s:self.job_argv) au! User SpaceVim_job_stderr nested call call(s:self.opts.on_stderr, s:self.job_argv) au! User SpaceVim_job_exit nested call call(s:self.opts.on_exit, s:self.job_argv) augroup END endif function! s:self.warn(...) abort dict if len(a:000) == 0 echohl WarningMsg | echom 'Current version do not support job feature, fallback to sync system()' | echohl None elseif len(a:000) == 1 && type(a:1) == type('') echohl WarningMsg | echom a:1| echohl None else endif endfunction function! s:self.warp(argv, opts) abort dict let obj = {} let obj._argv = a:argv let obj._opts = a:opts let obj.in_io = get(a:opts, 'in_io', 'pipe') " @vimlint(EVL103, 1, a:job_id) function! obj._out_cb(job_id, data) abort dict if has_key(self._opts, 'on_stdout') call self._opts.on_stdout(self._opts.jobpid, [a:data], 'stdout') endif endfunction function! obj._err_cb(job_id, data) abort dict if has_key(self._opts, 'on_stderr') call self._opts.on_stderr(self._opts.jobpid, [a:data], 'stderr') endif endfunction function! obj._exit_cb(job_id, data) abort dict if has_key(self._opts, 'on_exit') call self._opts.on_exit(self._opts.jobpid, a:data, 'exit') endif endfunction " @vimlint(EVL103, 0, a:job_id) let obj = { \ 'argv': a:argv, \ 'opts': { \ 'mode': 'nl', \ 'in_io' : obj.in_io, \ 'out_cb': obj._out_cb, \ 'err_cb': obj._err_cb, \ 'exit_cb': obj._exit_cb, \ } \ } if has_key(a:opts, 'cwd') call extend(obj.opts, {'cwd' : a:opts.cwd}) endif return obj endfunction function! s:self.warp_nvim(argv, opts) abort dict let obj = {} let obj._argv = a:argv let obj._opts = a:opts let obj._jobs = self.jobs " @vimlint(EVL103, 1, a:job_id) " @vimlint(EVL103, 1, a:event) function! obj.__on_stdout(id, data, event) abort dict if has_key(self._opts, 'on_stdout') if a:data[-1] ==# '' && len(a:data) > 1 call self._opts.on_stdout(a:id, [self._eof . a:data[0]] + a:data[1:-2], 'stdout') let self._eof = '' elseif len(a:data) > 1 call self._opts.on_stdout(a:id, [self._eof . a:data[0]] + a:data[1:-2], 'stdout') let self._eof = a:data[-1] elseif len(a:data) ==# 1 && a:data[-1] ==# '' && !empty(self._eof) call self._opts.on_stdout(a:id, [self._eof], 'stdout') let self._eof = '' elseif len(a:data) ==# 1 && a:data[-1] !=# '' let self._eof .= a:data[-1] endif endif endfunction function! obj.__on_stderr(id, data, event) abort dict if has_key(self._opts, 'on_stderr') if a:data[-1] ==# '' && len(a:data) > 1 call self._opts.on_stderr(a:id, [self._eof . a:data[0]] + a:data[1:-2], 'stderr') let self._eof = '' elseif len(a:data) > 1 call self._opts.on_stderr(a:id, [self._eof . a:data[0]] + a:data[1:-2], 'stderr') let self._eof = a:data[-1] elseif len(a:data) ==# 1 && a:data[-1] ==# '' && !empty(self._eof) call self._opts.on_stderr(a:id, [self._eof], 'stderr') let self._eof = '' elseif len(a:data) ==# 1 && a:data[-1] !=# '' let self._eof .= a:data[-1] endif endif endfunction function! obj.__on_exit(id, data, event) abort dict if has_key(self._opts, 'on_exit') if has_key(self._jobs, a:id) " when run JOB.stop(id), it will be removed from _jobs before " __on_exit function called. let self._jobs[a:id][1] = a:data ? 'failed' : 'dead' endif call self._opts.on_exit(a:id, a:data, 'exit') endif endfunction " @vimlint(EVL103, 0, a:job_id) " @vimlint(EVL103, 0, a:event) let obj = { \ 'argv': a:argv, \ 'opts': { \ '_opts': obj._opts, \ '_jobs' : obj._jobs, \ '_eof': '', \ 'on_stdout': obj.__on_stdout, \ 'on_stderr': obj.__on_stderr, \ 'on_exit': obj.__on_exit, \ } \ } if has_key(a:opts, 'cwd') call extend(obj.opts, {'cwd' : a:opts.cwd}) endif if has_key(a:opts, 'env') call extend(obj.opts, {'env' : a:opts.env}) endif return obj endfunction " start a job, and return the job_id. function! s:self.start(argv, ...) abort dict if self.nvim_job try if len(a:000) > 0 let opts = a:1 else let opts = {} endif let wrapped = self.warp_nvim(a:argv, opts) let job = jobstart(wrapped.argv, wrapped.opts) catch /^Vim\%((\a\+)\)\=:E903/ return -1 endtry if job > 0 let msg = ['process '. jobpid(job), 'run'] call extend(self.jobs, {job : msg}) else if job == -1 call add(self._message, 'Failed to start job:' . (type(a:argv) == 3 ? a:argv[0] : a:argv) . ' is not executeable') elseif job == 0 call add(self._message, 'Failed to start job: invalid arguments') endif endif return job elseif self.vim_job if len(a:000) > 0 let opts = a:1 else let opts = {} endif let id = len(self.jobs) + 1 let opts.jobpid = id let wrapped = self.warp(a:argv, opts) if has_key(wrapped.opts, 'cwd') && !has('patch-8.0.0902') let old_wd = getcwd() let cwd = expand(wrapped.opts.cwd, 1) " Avoid error E475: Invalid argument: cwd call remove(wrapped.opts, 'cwd') exe 'cd' fnameescape(cwd) endif let job = job_start(wrapped.argv, wrapped.opts) if exists('old_wd') exe 'cd' fnameescape(old_wd) endif call extend(self.jobs, {id : job}) return id else if len(a:000) > 0 let opts = a:1 else let opts = {} endif if has_key(opts, 'cwd') let old_wd = getcwd() let cwd = expand(opts.cwd, 1) exe 'cd' fnameescape(cwd) endif let output = self.vim_co.systemlist(a:argv) if exists('old_wd') exe 'cd' fnameescape(old_wd) endif let id = -1 let s:self.opts = opts if v:shell_error if has_key(opts,'on_stderr') let s:self.job_argv = [id, output, 'stderr'] try doautocmd User SpaceVim_job_stderr catch doautocmd User SpaceVim_job_stderr endtry endif else if has_key(opts,'on_stdout') let s:self.job_argv = [id, output, 'stdout'] try doautocmd User SpaceVim_job_stdout catch doautocmd User SpaceVim_job_stdout endtry endif endif if has_key(opts,'on_exit') let s:self.job_argv = [id, v:shell_error, 'exit'] try doautocmd User SpaceVim_job_exit catch doautocmd User SpaceVim_job_exit endtry endif return id endif endfunction function! s:self.stop(id) abort dict if self.nvim_job let done = 0 if has_key(self.jobs, a:id) try let done = jobstop(a:id) catch endtry call remove(self.jobs, a:id) endif return done elseif self.vim_job if has_key(self.jobs, a:id) call job_stop(get(self.jobs, a:id)) call remove(self.jobs, a:id) endif else call self.warn() endif endfunction function! s:self.send(id, data) abort dict if self.nvim_job if has_key(self.jobs, a:id) if type(a:data) == type('') call jobsend(a:id, a:data . "\n") else call jobsend(a:id, a:data) endif else call self.warn('[job API] Failed to send data to job: ' . a:id) endif elseif self.vim_job if has_key(self.jobs, a:id) let job = get(self.jobs, a:id) let chanel = job_getchannel(job) if type(a:data) == type('') call ch_sendraw(chanel, a:data . "\n") else call ch_sendraw(chanel, join(a:data, "\n")) endif else call self.warn('[job API] Failed to send data to job: ' . a:id) endif else call self.warn() endif endfunction function! s:self.status(id) abort dict if self.nvim_job if has_key(self.jobs, a:id) return get(self.jobs, a:id)[1] endif elseif self.vim_job if has_key(self.jobs, a:id) return job_status(get(self.jobs, a:id)) endif else call self.warn('[job API] Failed to get job status: ' . a:id) endif endfunction function! s:self.list() abort dict return copy(self.jobs) endfunction function! s:self.info(id) abort dict let info = {} if self.nvim_job let info.status = self.status(a:id) let info.job_id = a:id return info elseif self.vim_job if has_key(self.jobs, a:id) return job_info(get(self.jobs, a:id)) else call self.warn('[job API] Failed to get job info: ' . a:id) endif else call self.warn() endif endfunction function! s:self.chanclose(id, type) abort dict if self.nvim_job call chanclose(a:id, a:type) elseif self.vim_job if has_key(self.jobs, a:id) && a:type ==# 'stdin' call ch_close_in(get(self.jobs, a:id)) endif endif endfunction function! s:self.debug() abort dict echo join(self._message, "\n") endfunction ================================================ FILE: autoload/SpaceVim/api/language.vim ================================================ "============================================================================= " language.vim --- programming language information layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:self.__aliases = { \ 'typescript' : 'TypeScript', \ 'typescriptreact' : 'TypeScript React', \ 'python' : 'Python', \ 'java' : 'Java', \ 'smalltalk' : 'SmallTalk', \ 'objc' : 'Objective-C', \ 'postscript' : 'PostScript', \ } function! s:self.get_alias(filetype) abort if !empty(a:filetype) && has_key(self.__aliases, a:filetype) return self.__aliases[a:filetype] else return a:filetype endif endfunction function! SpaceVim#api#language#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/logger.vim ================================================ "============================================================================= " logger.vim --- SpaceVim logger API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section logger, api-logger " @parentsection api " provides some functions to manager logger " " set_silent({silent}) " " {silent} is a Boolean. by default it is false, and log will be print to " screen. let s:TIME = SpaceVim#api#import('time') let s:self = { \ 'name' : '', \ 'silent' : 1, \ 'level' : 1, \ 'verbose' : 1, \ 'file' : '', \ 'temp' : [], \ 'clock' : reltime(), \ } "0 : debug, info, warn, error "1 : info, warn, error "2 : warn, error "3 : error let s:self.levels = ['Debug', 'Info', 'Warn', 'Error'] function! SpaceVim#api#logger#get() abort return deepcopy(s:self) endfunction function! s:self.set_silent(sl) abort let self.silent = a:sl endfunction function! s:self.set_verbose(vb) abort let self.verbose = a:vb endfunction function! s:self.set_level(l) abort let self.level = a:l endfunction function! s:self._build_msg(msg, l) abort let msg = a:msg let time = strftime('%H:%M:%S') let log = printf('[ %s ] [%s] [%8S] [ %5s ] %s', \ self.name, \ time, \ printf('%00.3f' ,s:TIME.reltimefloat(reltime(self.clock))), \ self.levels[a:l], \ msg) return log endfunction function! s:self.error(msg) abort let log = self._build_msg(a:msg, 3) if !self.silent && self.verbose >= 1 echohl Error echom log echohl None endif call self.write(log) endfunction function! s:self.write(msg) abort call add(self.temp, a:msg) if empty(self.file) return endif if !isdirectory(fnamemodify(self.file, ':p:h')) call mkdir(expand(fnamemodify(self.file, ':p:h')), 'p') endif let flags = filewritable(self.file) ? 'a' : '' call writefile([a:msg], self.file, flags) endfunction function! s:self.warn(msg, ...) abort if self.level > 2 return endif let log = self._build_msg(a:msg, 2) if (!self.silent && self.verbose >= 2) || get(a:000, 0, 1) == 0 echohl WarningMsg echom log echohl None endif call self.write(log) endfunction function! s:self.debug(msg) abort if self.level > 0 return endif let log = self._build_msg(a:msg, 0) if !self.silent && self.verbose >= 4 echom log endif call self.write(log) endfunction function! s:self.info(msg) abort if self.level > 1 return endif let log = self._build_msg(a:msg, 1) if !self.silent && self.verbose >= 3 echom log endif call self.write(log) endfunction function! s:self.set_name(name) abort let self.name = a:name endfunction function! s:self.get_name() abort return self.name endfunction function! s:self.set_file(file) abort let self.file = a:file endfunction function! s:self.view(l) abort let info = '' if filereadable(self.file) let logs = readfile(self.file, '') let info .= join(filter(logs, 'self._comp(v:val, a:l)'), "\n") else let info .= '[ ' . self.name . ' ] : logger file ' . self.file \ . ' does not exists, only log for current process will be shown!' let info .= "\n" let info .= join(filter(deepcopy(self.temp), 'self._comp(v:val, a:l)'), "\n") endif return info endfunction function! s:self._comp(msg, l) abort if !empty(matchstr(a:msg, self.levels[3])) return 1 elseif !empty(matchstr(a:msg, self.levels[2])) return a:l <= 2 elseif !empty(matchstr(a:msg, self.levels[1])) return a:l <= 1 else return a:l <= 0 end endfunction function! s:self.clear() abort let self.temp = [] endfunction ================================================ FILE: autoload/SpaceVim/api/messletters.vim ================================================ "============================================================================= " messletters.vim --- SpaceVim messletters API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:chars = {} " type : " 0: 1 ➛ ➊ " 1: 1 ➛ ➀ " 2: 1 ➛ ⓵ function! s:bubble_num(num, type) abort let list = [] call add(list,['➊', '➋', '➌', '➍', '➎', '➏', '➐', '➑', '➒', '➓']) call add(list,['➀', '➁', '➂', '➃', '➄', '➅', '➆', '➇', '➈', '➉']) call add(list,['⓵', '⓶', '⓷', '⓸', '⓹', '⓺', '⓻', '⓼', '⓽', '⓾']) let n = '' try let n = list[a:type][a:num-1] catch endtry return n endfunction let s:chars['bubble_num'] = function('s:bubble_num') " type : " 0: 1 ➛ ➊ " 1: 1 ➛ ➀ " 2: 1 ➛ ⓵ function! s:circled_num(num, type) abort " https://www.unicode.org/charts/beta/nameslist/n_2460.html if a:type == 0 if a:num == 0 return nr2char(9471) elseif index(range(1,10), a:num) != -1 return nr2char(10102 + a:num - 1) elseif index(range(11, 20), a:num) return nr2char(9451 + a:num - 11) else return '' endif elseif a:type == 1 if index(range(20), a:num) != -1 if a:num == 0 return nr2char(9450) else return nr2char(9311 + a:num) endif else return '' endif elseif a:type == 2 if index(range(1, 10), a:num) != -1 return nr2char(9461 + a:num - 1) else return '' endif elseif a:type == 3 return a:num endif endfunction let s:chars['circled_num'] = function('s:circled_num') function! s:index_num(num) abort let nums = [8304, 185, 178, 179, 8308, 8309, 8310, 8311, 8312, 8313] if index(range(10) , a:num) != -1 return nr2char(nums[a:num]) endif return '' endfunction let s:chars['index_num'] = function('s:index_num') function! s:parenthesized_num(num) abort " https://www.unicode.org/charts/beta/nameslist/n_2460.html if index(range(1, 20), a:num) != -1 return nr2char(9331 + a:num) else return '' endif endfunction let s:chars['parenthesized_num'] = function('s:parenthesized_num') function! s:num_period(num) abort " https://www.unicode.org/charts/beta/nameslist/n_2460.html if index(range(1, 20), a:num) != -1 return nr2char(9351 + a:num) else return '' endif endfunction let s:chars['num_period'] = function('s:num_period') function! s:parenthesized_letter(letter) abort " https://www.unicode.org/charts/beta/nameslist/n_2460.html if index(range(1, 26), char2nr(a:letter) - 96) != -1 return nr2char(9371 + char2nr(a:letter) - 96) else return '' endif endfunction let s:chars['parenthesized_letter'] = function('s:parenthesized_letter') function! s:circled_letter(letter) abort " https://www.unicode.org/charts/beta/nameslist/n_2460.html if index(range(1, 26), char2nr(a:letter) - 64) != -1 return nr2char(9397 + char2nr(a:letter) - 64) elseif index(range(1, 26), char2nr(a:letter) - 96) != -1 return nr2char(9423 + char2nr(a:letter) - 96) else return '' endif endfunction let s:chars['circled_letter'] = function('s:circled_letter') function! SpaceVim#api#messletters#get() abort return deepcopy(s:chars) endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/api/neovim/floating.vim ================================================ "============================================================================= " floating.vim --- neovim#floating api " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:self = {} let s:self.__dict = SpaceVim#api#import('data#dict') function! s:self.exists() abort return exists('*nvim_open_win') endfunction " in old version nvim_open_win api is: " call nvim_open_win(s:bufnr, v:true, &columns, 12, " \ { " \ 'relative': 'editor', " \ 'row': &lines - 14, " \ 'col': 0 " \ }) " if exists('*nvim_open_win') " call nvim_win_set_config(win_getid(s:gwin), " \ { " \ 'relative': 'editor', " \ 'width' : &columns, " \ 'height' : layout.win_dim + 2, " \ 'row' : &lines - layout.win_dim - 4, " \ 'col' : 0 " \ }) function! s:self.open_win(buf, focuce, opt) abort if has_key(a:opt, 'highlight') let hg = a:opt.highlight let opt = self.__dict.omit(a:opt, ['highlight']) else let opt = a:opt endif try let id = nvim_open_win(a:buf, a:focuce, opt) catch /^Vim\%((\a\+)\)\=:E119/ let id = nvim_open_win(a:buf, a:focuce, get(a:opt, 'width', 5), get(a:opt, 'height', 5), \ { \ 'relative' : get(a:opt, 'relative', 'editor'), \ 'row' : get(a:opt, 'row', 5), \ 'col' : get(a:opt, 'col', 5), \ }) endtry if exists('&winhighlight') && id !=# 0 && has_key(a:opt, 'highlight') call setwinvar(id, '&winhighlight', 'Normal:' . a:opt.highlight) endif return id endfunction function! s:self.win_config(winid, opt) abort " Neovim 这一函数有三种状态: " 1:最初名称为 nvim_win_config,并且接受 4 个参数 " 2:名称被重命名为 nvim_win_set_config,并且任然接受四个参数 " 3:最新版本名称为 nvim_win_set_config,只接受 2 个参数 " 这里实现的逻辑就是优先使用最新的api调用方式,当报错时顺历史变更顺序去尝试。 if has_key(a:opt, 'highlight') let hg = a:opt.highlight let opt = self.__dict.omit(a:opt, ['highlight']) else let opt = a:opt endif try let id = nvim_win_set_config(a:winid, opt) catch /^Vim\%((\a\+)\)\=:E119/ let id = nvim_win_set_config(a:winid, get(a:opt, 'width', 5), get(a:opt, 'height', 5), \ { \ 'relative' : get(a:opt, 'relative', 'editor'), \ 'row' : get(a:opt, 'row', 5), \ 'col' : get(a:opt, 'col', 5), \ }) catch /^Vim\%((\a\+)\)\=:E117/ let id = nvim_win_config(a:winid, get(a:opt, 'width', 5), get(a:opt, 'height', 5), \ { \ 'relative' : get(a:opt, 'relative', 'editor'), \ 'row' : get(a:opt, 'row', 5), \ 'col' : get(a:opt, 'col', 5), \ }) endtry if exists('&winhighlight') && id !=# 0 && has_key(a:opt, 'highlight') call setwinvar(id, '&winhighlight', 'Normal:' . a:opt.highlight) endif return id endfunction function! s:self.get_width(winid) abort return nvim_win_get_width(a:winid) endfunction function! s:self.win_close(id, focuce) abort return nvim_win_close(a:id, a:focuce) " @fixme nvim_win_close only support one argv in old version try return nvim_win_close(a:id, a:focuce) catch /^Vim\%((\a\+)\)\=:E118/ return nvim_win_close(a:id) endtry endfunction function! SpaceVim#api#neovim#floating#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/neovim/gui.vim ================================================ "============================================================================= " gui.vim --- gui api for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} function! s:self.gui_name() abort if !has('nvim-0.3') return '' endif let uis = nvim_list_uis() if len(uis) == 0 echoerr 'No UIs are attached' return endif " Use the last UI in the list let ui_chan = uis[-1].chan let info = nvim_get_chan_info(ui_chan) return get(info.client, 'name', '') endfunction function! s:self.toggle_tabline(enable) abort call rpcnotify(0, 'Gui', 'Option', 'Tabline', a:enable) endfunction function! s:self.toggle_popupmenu(enable) abort call rpcnotify(0, 'Gui', 'Option', 'Popupmenu', a:enable) endfunction function! SpaceVim#api#neovim#gui#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/neovim/version.vim ================================================ "============================================================================= " version.vim --- Version checking API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:self.__cmp = SpaceVim#api#import('vim#compatible') function! s:self.is_release_version() abort let nvim_version = split(self.__cmp.execute('version'), '\n')[0] return nvim_version =~# 'NVIM v\d\.\d\.\d$' endfunction function! SpaceVim#api#neovim#version#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/notify.vim ================================================ "============================================================================= " notify.vim --- notify api " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section notify, api-notify " @parentsection api " The notification api for SpaceVim " " notify({msg} [, {Color}[, {option}]]) " " Use floating windows to display notification {msg}. The {msg} can be a " string or a list of string. {Color} is the name of highlight ground defined " in Vim. The {option} is a dictionary which support following key: " " - `winblend`: enable transparency for the notify windows. Valid values " are in the range of 0 to 100. Default is 0. " " NOTE: Floating windows support pseudo-transparency (:help 'winblend') " in #neovim HEAD (v0.4.x). " " Global values, this can be used between different notify let s:notifications = {} function! SpaceVim#api#notify#shared_notifys() abort return s:notifications endfunction " dictionary values and functions let s:self = {} let s:self.message = [] let s:self.notification_width = 1 " this should be changed based on the windows " if user do not set the notify_max_width, it should use default, " it should based on the really windows width let s:self.notify_max_width = 0 let s:self.winid = -1 let s:self.bufnr = -1 let s:self.border = {} let s:self.border.winid = -1 let s:self.border.bufnr = -1 let s:self.borderchars = ['─', '│', '─', '│', '┌', '┐', '┘', '└'] let s:self.title = '' let s:self.winblend = 0 let s:self.timeout = 3000 let s:self.hashkey = '' let s:self.config = {} let s:self.config.icons = { \ 'ERROR' : '', \ 'WARN' : '', \ 'INFO' : '', \ 'DEBUG' : '', \ 'TRACE' : '✎', \ } let s:self.config.title = 'SpaceVim' if has('nvim') let s:self.__floating = SpaceVim#api#import('neovim#floating') else let s:self.__floating = SpaceVim#api#import('vim#floating') endif let s:self.__buffer = SpaceVim#api#import('vim#buffer') let s:self.__password = SpaceVim#api#import('password') function! s:self.draw_border(title, width, height) abort let top = self.borderchars[4] . \ repeat(self.borderchars[0], a:width) . \ self.borderchars[5] let mid = self.borderchars[3] . \ repeat(' ', a:width) . \ self.borderchars[1] let bot = self.borderchars[7] . \ repeat(self.borderchars[2], a:width) . \ self.borderchars[6] let top = self.string_compose(top, 1, a:title) let lines = [top] + repeat([mid], a:height) + [bot] return lines endfunction function! s:self.win_is_open() abort try if exists('*nvim_win_get_config') return self.winid >= 0 && self.border.winid >= 0 \ && has_key(nvim_win_get_config(self.winid), 'col') \ && has_key(nvim_win_get_config(self.border.winid), 'col') elseif exists('*popup_getoptions') return self.winid >= 0 && self.border.winid >= 0 \ && has_key(popup_getoptions(self.winid), 'col') \ && has_key(popup_getoptions(self.border.winid), 'col') endif catch return 0 endtry endfunction function! s:self.increase_window(...) abort " let self.notification_width = self.__floating.get_width(self.winid) if self.notification_width <= self.notify_max_width && self.win_is_open() let self.notification_width += min([float2nr((self.notify_max_width - self.notification_width) * 1 / 20), float2nr(self.notify_max_width)]) call self.__buffer.buf_set_lines(self.border.bufnr, 0 , -1, 0, \ self.draw_border(self.title, self.notification_width, s:msg_real_len(self.message))) call self.redraw_windows() call timer_start(10, self.increase_window, {'repeat' : 1}) endif endfunction function! s:self.string_compose(target, pos, source) abort if a:source == '' return a:target endif let pos = a:pos let source = a:source if pos < 0 let source = strcharpart(a:source, -pos) let pos = 0 endif let target = strcharpart(a:target, 0, pos) if strchars(target) < pos let target .= repeat(' ', pos - strchars(target)) endif let target .= source " vim popup will pad the end of title but not begin part " so we build the title as ' floaterm idx/cnt' " therefore, we need to add a space here let target .= ' ' . strcharpart(a:target, pos + strchars(source) + 1) return target endfunction function! s:self.close(...) abort if !empty(self.message) call remove(self.message, 0) endif if len(self.message) == 0 if self.win_is_open() noautocmd call self.__floating.win_close(self.border.winid, v:true) noautocmd call self.__floating.win_close(self.winid, v:true) endif if has_key(s:notifications, self.hashkey) call remove(s:notifications, self.hashkey) endif let self.notification_width = 1 endif for hashkey in keys(s:notifications) call s:notifications[hashkey].redraw_windows() endfor endfunction function! s:self.close_all() abort let self.message = [] if self.win_is_open() noautocmd call self.__floating.win_close(self.border.winid, v:true) noautocmd call self.__floating.win_close(self.winid, v:true) endif if has_key(s:notifications, self.hashkey) call remove(s:notifications, self.hashkey) endif let self.notification_width = 1 endfunction function! s:is_list_of_string(t) abort if type(a:t) == type([]) for t in a:t if type(t) !=# type('') return 0 endif endfor return 1 endif endfunction function! s:self.notify(msg, ...) abort " check if neovim/vim support following windows if !self.__floating.exists() echo a:msg return endif " multiple line message should be signal msg " if the a:msg is a list, it will be append to self.message if s:is_list_of_string(a:msg) call extend(self.message, a:msg) elseif type(a:msg) == type('') call add(self.message, a:msg) endif if self.notify_max_width ==# 0 let self.notify_max_width = &columns * 0.35 endif let self.notification_color = get(a:000, 0, 'Normal') let options = get(a:000, 1, {}) let self.winblend = get(options, 'winblend', self.winblend) if empty(self.hashkey) let self.hashkey = self.__password.generate_simple(10) endif call self.redraw_windows() call setbufvar(self.bufnr, '&number', 0) call setbufvar(self.bufnr, '&relativenumber', 0) call setbufvar(self.bufnr, '&cursorline', 0) call setbufvar(self.bufnr, '&bufhidden', 'wipe') call setbufvar(self.border.bufnr, '&number', 0) call setbufvar(self.border.bufnr, '&relativenumber', 0) call setbufvar(self.border.bufnr, '&cursorline', 0) call setbufvar(self.border.bufnr, '&bufhidden', 'wipe') call extend(s:notifications, {self.hashkey : self}) call self.increase_window() call timer_start(self.timeout, self.close, {'repeat' : type(a:msg) == type([]) ? len(a:msg) : 1}) endfunction function! s:msg_real_len(msg) abort let l = 0 for m in a:msg let l += len(split(m, "\n")) endfor return l endfunction function! s:message_body(msg) abort let b = [] for m in a:msg call extend(b, split(m, "\n")) endfor return b endfunction function! s:self.redraw_windows() abort if empty(self.message) return endif let self.begin_row = 2 for hashkey in keys(s:notifications) if hashkey !=# self.hashkey let self.begin_row += s:msg_real_len(s:notifications[hashkey].message) + 2 else break endif endfor if self.win_is_open() call self.__floating.win_config(self.winid, \ { \ 'relative': 'editor', \ 'width' : self.notification_width, \ 'height' : s:msg_real_len(self.message), \ 'row': self.begin_row + 1, \ 'highlight' : self.notification_color, \ 'focusable' : v:false, \ 'col': &columns - self.notification_width - 1, \ }) call self.__floating.win_config(self.border.winid, \ { \ 'relative': 'editor', \ 'width' : self.notification_width + 2, \ 'height' : s:msg_real_len(self.message) + 2, \ 'row': self.begin_row, \ 'col': &columns - self.notification_width - 2, \ 'highlight' : 'VertSplit', \ 'focusable' : v:false, \ }) else if !bufexists(self.border.bufnr) let self.border.bufnr = self.__buffer.create_buf(0, 1) endif if !bufexists(self.bufnr) let self.bufnr = self.__buffer.create_buf(0, 1) endif noautocmd let self.winid = self.__floating.open_win(self.bufnr, v:false, \ { \ 'relative': 'editor', \ 'width' : self.notification_width, \ 'height' : s:msg_real_len(self.message), \ 'row': self.begin_row + 1, \ 'highlight' : self.notification_color, \ 'col': &columns - self.notification_width - 1, \ 'focusable' : v:false, \ }) noautocmd let self.border.winid = self.__floating.open_win(self.border.bufnr, v:false, \ { \ 'relative': 'editor', \ 'width' : self.notification_width + 2, \ 'height' : s:msg_real_len(self.message) + 2, \ 'row': self.begin_row, \ 'col': &columns - self.notification_width - 2, \ 'highlight' : 'VertSplit', \ 'focusable' : v:false, \ }) if self.winblend > 0 && exists('&winblend') \ && exists('*nvim_win_set_option') call nvim_win_set_option(self.winid, 'winblend', self.winblend) call nvim_win_set_option(self.border.winid, 'winblend', self.winblend) endif endif call self.__buffer.buf_set_lines(self.border.bufnr, 0 , -1, 0, \ self.draw_border(self.title, self.notification_width, s:msg_real_len(self.message))) call self.__buffer.buf_set_lines(self.bufnr, 0 , -1, 0, s:message_body(self.message)) if exists('*nvim_win_set_option') call nvim_win_set_cursor(self.winid, [1, 0]) call nvim_win_set_cursor(self.border.winid, [1, 0]) endif endfunction function! SpaceVim#api#notify#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/password.vim ================================================ "============================================================================= " password.vim --- SpaceVim password API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section password, api-password " @parentsection api " provides some functions to generate password " " generate_simple({len}) " " generate simple password " " generate_strong({len}) " " generate strong password " " generate_paranoid({len}) " " generate paranoid password " " generate_numeric({len}) " " generate numeric password " " generate_phonetic({len}) " " generate phonetic password let s:self = {} let s:NUMBER = SpaceVim#api#import('data#number') let s:STRING = SpaceVim#api#import('data#string') function! s:self.generate_simple(len) abort let temp = s:STRING.string2chars('abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ') let ps = [] " random(0,len_temp) let i = 0 while i < str2nr(a:len) call add(ps, temp[s:NUMBER.random(0, len(temp))]) let i += 1 endwhile return join(ps, '') endfunction function! s:self.generate_strong(len) abort let temp = s:STRING.string2chars('abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ_@!.^%,&-') let ps = [] " random(0,len_temp) let i = 0 while i < str2nr(a:len) call add(ps, temp[s:NUMBER.random(0, len(temp))]) let i += 1 endwhile return join(ps, '') endfunction function! s:self.generate_paranoid(len) abort let temp = s:STRING.string2chars('abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_-+=/?,.><[]{}~') let ps = [] " random(0,len_temp) let i = 0 while i < str2nr(a:len) call add(ps, temp[s:NUMBER.random(0, len(temp))]) let i += 1 endwhile return join(ps, '') endfunction function! s:self.generate_numeric(len) abort let temp = s:STRING.string2chars('0123456789') let ps = [] " random(0,len_temp) let i = 0 while i < str2nr(a:len) call add(ps, temp[s:NUMBER.random(0, len(temp))]) let i += 1 endwhile return join(ps, '') endfunction function! s:self.generate_phonetic(len) abort let temp_A = s:STRING.string2chars('eyuioa') let temp_B = s:STRING.string2chars('wrtpsdfghjkzxcvbnm') let temp_N = s:STRING.string2chars('123456789') let type = 1 let ps = [] " random(0,len_temp) let i = 0 while i < str2nr(a:len) if type == 1 call add(ps, temp_A[s:NUMBER.random(0, len(temp_A))]) let type = 2 elseif type == 2 call add(ps, temp_B[s:NUMBER.random(0, len(temp_B))]) let type = 3 elseif type == 3 call add(ps, temp_N[s:NUMBER.random(0, len(temp_N))]) let type = 1 endif let i += 1 endwhile return join(ps, '') endfunction function! SpaceVim#api#password#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/prompt.vim ================================================ "============================================================================= " prompt.vim --- SpaceVim prompt API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section prompt, api-prompt " @parentsection api " open() " " Create a cmdline prompt, use while loop to get the input from user. The " default mapping for prompt is: " > " remove last character " remove the Word before the cursor " remove the Line before the cursor " remove the Line after the cursor " / Go to the beginning of the line " / Go to the end of the line " < let s:self = {} let s:self.__cmp = SpaceVim#api#import('vim#compatible') let s:self.__vim = SpaceVim#api#import('vim') let s:self._keys = { \ 'close' : "\", \ } let s:self._prompt = { \ 'mpt' : '==>', \ 'begin' : '', \ 'cursor' : '', \ 'end' : '', \ } let s:self._function_key = {} let s:self._quit = 1 let s:self._handle_fly = '' let s:self._onclose = '' let s:self._oninputpro = '' func! s:self.open() abort let self._quit = 0 let save_redraw = &lazyredraw set nolazyredraw call self._build_prompt() if !empty(self._prompt.begin) call self._handle_input(self._prompt.begin) else call self._handle_input() endif let &lazyredraw = save_redraw endf func! s:self._c_r_mode_off(timer) abort let self._c_r_mode = 0 endf func! s:self._handle_input(...) abort let begin = get(a:000, 0, '') if !empty(begin) if type(self._oninputpro) ==# 2 call call(self._oninputpro, []) endif if type(self._handle_fly) ==# 2 call call(self._handle_fly, [self._prompt.begin . self._prompt.cursor . self._prompt.end]) endif call self._build_prompt() endif let self._c_r_mode = 0 while self._quit == 0 let char = self.__vim.getchar() if has_key(self._function_key, char) call call(self._function_key[char], []) continue endif if self._c_r_mode ==# 1 if char =~# '^[a-zA-Z0-9"+:/]$' let reg = '@' . char let paste = get(split(eval(reg), "\n"), 0, '') let self._prompt.begin = self._prompt.begin . paste let self._prompt.cursor = matchstr(self._prompt.end, '.$') let self._c_r_mode = 0 call self._build_prompt() else let self._c_r_mode = 0 continue endif elseif char ==# "\" let self._c_r_mode = 1 call timer_start(2000, self._c_r_mode_off) call self._build_prompt() continue elseif char ==# "\" let self._prompt.begin = self._prompt.begin . self._prompt.cursor let self._prompt.cursor = matchstr(self._prompt.end, '^.') let self._prompt.end = substitute(self._prompt.end, '^.', '', 'g') call self._build_prompt() continue elseif char ==# "\" if self._prompt.begin !=# '' let self._prompt.end = self._prompt.cursor . self._prompt.end let self._prompt.cursor = matchstr(self._prompt.begin, '.$') let self._prompt.begin = substitute(self._prompt.begin, '.$', '', 'g') call self._build_prompt() endif continue elseif char ==# "\" let self._prompt.begin = substitute(self._prompt.begin,'[^\ .*]\+\s*$','','g') call self._build_prompt() elseif char ==# "\" || char ==# "\" let self._prompt.end = substitute(self._prompt.begin . self._prompt.cursor . self._prompt.end, '^.', '', 'g') let self._prompt.cursor = matchstr(self._prompt.begin, '^.') let self._prompt.begin = '' call self._build_prompt() continue elseif char ==# "\" || char ==# "\" let self._prompt.begin = self._prompt.begin . self._prompt.cursor . self._prompt.end let self._prompt.cursor = '' let self._prompt.end = '' call self._build_prompt() continue elseif char ==# "\" let self._prompt.begin = '' call self._build_prompt() elseif char ==# "\" let self._prompt.cursor = '' let self._prompt.end = '' call self._build_prompt() elseif char ==# "\" let self._prompt.begin = substitute(self._prompt.begin,'.$','','g') call self._build_prompt() elseif (type(self._keys.close) == 1 && char == self._keys.close) \ || (type(self._keys.close) == 3 && index(self._keys.close, char) > -1 ) call self.close() break elseif char ==# "\" || char ==# "\" || char2nr(char) == 128 continue else let self._prompt.begin .= char call self._build_prompt() endif if type(self._oninputpro) ==# 2 call call(self._oninputpro, []) endif if type(self._handle_fly) ==# 2 call call(self._handle_fly, [self._prompt.begin . self._prompt.cursor . self._prompt.end]) endif endwhile endf func! s:self._build_prompt() abort let ident = repeat(' ', self.__cmp.win_screenpos(0)[1] - 1) redraw echohl Comment | echon ident . self._prompt.mpt echohl None | echon self._prompt.begin echohl Wildmenu | echon self._prompt.cursor echohl None | echon self._prompt.end if empty(self._prompt.cursor) && (has('nvim-0.5.0') || !has('nvim')) echohl Comment | echon '_' | echohl None endif " FIXME: Macvim need extra redraw, endf function! s:self._clear_prompt() abort let self._prompt = { \ 'mpt' : self._prompt.mpt, \ 'begin' : '', \ 'cursor' : '', \ 'end' : '', \ } endfunction function! s:self.close() abort if type(self._onclose) ==# 2 call call(self._onclose, []) endif call self._clear_prompt() normal! : let self._quit = 1 endfunction function! SpaceVim#api#prompt#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/system.vim ================================================ "============================================================================= " system.vim --- SpaceVim system API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section system, api-system " @parentsection api " name() " " Return the name of current os, availibel value is: linux, cygwin, windows " and mac. scriptencoding utf-8 let s:system = {} let s:system['isWindows'] = has('win16') || has('win32') || has('win64') let s:system['isLinux'] = has('unix') && !has('macunix') && !has('win32unix') let s:system['isOSX'] = has('macunix') " windows, unix, cygwin, mac, linux function! s:name() abort if s:system.isLinux return 'linux' elseif s:system.isWindows if has('win32unix') return 'cygwin' else return 'windows' endif else return 'mac' endif endfunction let s:system['name'] = function('s:name') function! s:isDarwin() abort if exists('s:is_darwin') return s:is_darwin endif if has('macunix') let s:is_darwin = 1 return s:is_darwin endif if ! has('unix') let s:is_darwin = 0 return s:is_darwin endif if system('uname -s') ==# "Darwin\n" let s:is_darwin = 1 else let s:is_darwin = 0 endif return s:is_darwin endfunction let s:system['isDarwin'] = function('s:isDarwin') function! s:fileformat() abort let fileformat = '' if &fileformat ==? 'dos' let fileformat = '' elseif &fileformat ==? 'unix' if s:isDarwin() let fileformat = '' else let fileformat = '' endif elseif &fileformat ==? 'mac' let fileformat = '' endif return fileformat endfunction let s:system['fileformat'] = function('s:fileformat') function! SpaceVim#api#system#get() abort return deepcopy(s:system) endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/api/time.vim ================================================ "============================================================================= " time.vim --- SpaceVim time API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} "" " @section time, api-time " @parentsection api " `time` api provides basic functions to get time information. " " current_time() " " get current time, the format is `%I:%M %p` " " current_date() " " get current date, the format is `%a %b %d` " see: man 3 strftime function! s:self.current_time() abort return strftime('%I:%M %p') endfunction function! s:self.current_date() abort return strftime('%a %b %d') endfunction " reltimefloat() is added in 7.4.1724 if exists('*reltimefloat') function! s:self.reltimefloat(reltime) abort return reltimefloat(a:reltime) endfunction else function! s:self.reltimefloat(reltime) abort return str2float(reltimestr(a:reltime)) endfunction endif function! SpaceVim#api#time#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/transient_state.vim ================================================ "============================================================================= " transient_state.vim --- SpaceVim transient_state API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:self._keys = {} let s:self._on_syntax = '' let s:self._title = 'Transient State' let s:self._handle_inputs = {} let s:self._is_quit = [] let s:self._handle_quit = {} let s:self._clear_cmdline = 1 let s:self._cmp = SpaceVim#api#import('vim#compatible') let s:self.__buffer = SpaceVim#api#import('vim#buffer') let s:self.__vim = SpaceVim#api#import('vim') function! s:self.open() abort noautocmd botright split __transient_state__ let self._bufid = self.__buffer.bufnr() call self.__vim.setbufvar(self._bufid, \ { \ '&buftype' : 'nofile', \ '&bufhidden' : 'wipe', \ '&buflisted' : 0, \ '&list' : 0, \ '&swapfile' : 0, \ '&spell' : 0, \ '&number' : 0, \ '&relativenumber' : 0, \ '&filetype' : 'TransientState', \ } \ ) if !empty(self._on_syntax) && type(self._on_syntax) ==# 2 call call(self._on_syntax, []) else hi def link SpaceVim_Transient_State_Exit Keyword hi def link SpaceVim_Transient_State_Notexit Number hi def link SpaceVim_Transient_State_Title Title endif call setline(1, self._title) let b:transient_state_title = self._title call append(line('$'), '') call self.highlight_title() call self._update_content() call append(line('$'), '') call append(line('$'), '[KEY] exits state [KEY] will not exit') call self.highlight_keys(1, line('$') - 1, 1, 4) call self.highlight_keys(0, line('$') - 1, 21, 24) if winheight(0) > line('$') exe 'resize ' . line('$') endif " move to prvious window wincmd p if has_key(self._keys, 'init') call call(self._keys.init, []) endif while 1 if has_key(self._keys, 'logo') noautocmd wincmd p call call(self._keys.logo, []) noautocmd wincmd p endif if self._clear_cmdline exe "normal! :\" else let self._clear_cmdline = 1 endif redraw let char = self.__vim.getchar() if char ==# "\" || char ==# "\" || char2nr(char) == 128 continue endif if !has_key(self._handle_inputs, char) break else if type(self._handle_inputs[char]) == 2 call call(self._handle_inputs[char], []) elseif type(self._handle_inputs[char]) == 1 exe self._handle_inputs[char] endif endif if index(self._is_quit, char) != -1 break endif endwhile exe 'bd ' . self._bufid doautocmd WinEnter if has_key(self._handle_quit, char) if type(self._handle_quit[char]) == 2 call call(self._handle_quit[char], []) elseif type(self._handle_quit[char]) == 1 exe self._handle_quit[char] endif endif if self._clear_cmdline exe "normal! :\" else let self._clear_cmdline = 1 endif redraw endfunction function! s:self.defind_keys(dict) abort let self._keys = a:dict endfunction function! s:self.set_syntax(func) abort let self._on_syntax = a:func endfunction function! s:self.set_title(title) abort let self._title = a:title endfunction if has('nvim') function! s:self.highlight_keys(exit, line, begin, end) abort " @bug nvim_buf_add_highlight do not warning for index out of range if a:exit call nvim_buf_add_highlight(self._bufid, 0, 'SpaceVim_Transient_State_Exit', a:line, a:begin, a:end) else call nvim_buf_add_highlight(self._bufid, 0, 'SpaceVim_Transient_State_Notexit', a:line, a:begin, a:end) endif endfunction else function! s:self.highlight_keys(exit, line, begin, end) abort if a:exit call self._cmp.matchaddpos('SpaceVim_Transient_State_Exit', [[a:line + 1, a:begin + 1, a:end - a:begin]]) else call self._cmp.matchaddpos('SpaceVim_Transient_State_Notexit', [[a:line + 1, a:begin + 1, a:end - a:begin]]) endif endfunction endif if has('nvim') function! s:self.highlight_title() abort call nvim_buf_add_highlight(self._bufid, 0, 'SpaceVim_Transient_State_Title', 0, 0, len(self._title)) endfunction else function! s:self.highlight_title() abort call self._cmp.matchaddpos('SpaceVim_Transient_State_Title', [1]) endfunction endif function! s:self._check_max_key_len() abort let self._linenum = max([len(self._keys.right), len(self._keys.left)]) let self._left_max_key_len = 0 for key in self._keys.left if type(key.key) == 1 " is a string let self._left_max_key_len = max([len(key.key), self._left_max_key_len]) elseif type(key.key) == 3 " is a list let self._left_max_key_len = max([len(join(key.key, '/')), self._left_max_key_len]) elseif type(key.key) == 4 " is a dict let self._left_max_key_len = max([len(key.key.name), self._left_max_key_len]) endif endfor let self._right_max_key_len = 0 for key in self._keys.right if type(key.key) == 1 " is a string let self._right_max_key_len = max([len(key.key), self._right_max_key_len]) elseif type(key.key) == 3 " is a list let self._right_max_key_len = max([len(join(key.key, '/')), self._right_max_key_len]) elseif type(key.key) == 4 " is a dict let self._right_max_key_len = max([len(key.key.name), self._right_max_key_len]) endif endfor endfunction function! s:self._key_obj_to_hl_line(left, right, line) abort let line = '' let hls = [] let i = a:line if !empty(a:left) && type(a:left.key) == 1 if a:left.key ==# "\" let line .= '[Tab] ' . repeat(' ', self._left_max_key_len - len(a:left.key)) . a:left.desc call add(hls, [a:left.exit, i + 2, 1 + self._log_width, 1 + self._log_width + 3]) else let line .= '[' . a:left.key . '] ' . repeat(' ', self._left_max_key_len - len(a:left.key)) . a:left.desc call add(hls, [a:left.exit, i + 2, 1 + self._log_width, 1 + self._log_width + len(a:left.key)]) endif if !empty(a:left.cmd) call extend(self._handle_inputs, {a:left.key : a:left.cmd}) elseif !empty(a:left.func) call extend(self._handle_inputs, {a:left.key : a:left.func}) endif if a:left.exit call add(self._is_quit, a:left.key) if has_key(a:left, 'exit_cmd') && !empty(a:left.exit_cmd) call extend(self._handle_quit, {a:left.key : a:left.exit_cmd}) endif endif elseif !empty(a:left) && type(a:left.key) == 3 let line .= '[' . join(a:left.key, '/') . '] ' let line .= repeat(' ', self._left_max_key_len - len(join(a:left.key, '/'))) let line .= a:left.desc let begin = 1 + self._log_width for key in a:left.key call add(hls, [a:left.exit, i + 2, begin, begin + len(key)]) let begin = begin + len(key) + 1 endfor if !empty(a:left.cmd) for key in a:left.key call extend(self._handle_inputs, {key : a:left.cmd}) endfor elseif !empty(a:left.func) for key in a:left.key call extend(self._handle_inputs, {key : a:left.func}) endfor endif if a:left.exit call extend(self._is_quit, a:left.key) " TODO: need fix " if has_key(left, 'exit_cmd') && !empty(left.exit_cmd) " call extend(self._handle_quit, {left.key : left.exit_cmd}) " endif endif elseif !empty(a:left) && type(a:left.key) == 4 let line .= '[' . a:left.key.name . '] ' let line .= repeat(' ', self._left_max_key_len - len(a:left.key.name)) let line .= a:left.desc for pos in a:left.key.pos call add(hls, [a:left.exit, i + 2, pos[0], pos[1]]) endfor for handles in a:left.key.handles call extend(self._handle_inputs, {handles[0] : handles[1]}) endfor if a:left.exit for handles in a:left.key.handles call add(self._is_quit, handles[0]) endfor " TODO: need to fixed " if has_key(left, 'exit_cmd') && !empty(left.exit_cmd) " call extend(self._handle_quit, {left.key : left.exit_cmd}) " endif endif endif let line .= repeat(' ', 40 + self._log_width - len(line)) if !empty(a:right) && type(a:right.key) == 1 let line .= '[' . a:right.key . '] ' . repeat(' ', self._right_max_key_len - len(a:right.key)) . a:right.desc call add(hls, [a:right.exit, i + 2, 41 + self._log_width, 41 + self._log_width + len(a:right.key)]) if !empty(a:right.cmd) call extend(self._handle_inputs, {a:right.key : a:right.cmd}) elseif !empty(a:right.func) call extend(self._handle_inputs, {a:right.key : a:right.func}) endif if a:right.exit call add(self._is_quit, a:right.key) if has_key(a:right, 'exit_cmd') && !empty(a:right.exit_cmd) call extend(self._handle_quit, {a:right.key : a:right.exit_cmd}) endif endif elseif !empty(a:right) && type(a:right.key) == 3 let line .= '[' . join(a:right.key, '/') . '] ' let line .= repeat(' ', self._right_max_key_len - len(join(a:right.key, '/'))) let line .= a:right.desc let begin = 41 + self._log_width for key in a:right.key call add(hls, [a:right.exit, i + 2, begin, begin + len(key)]) let begin = begin + len(key) + 1 endfor if !empty(a:right.cmd) for key in a:right.key call extend(self._handle_inputs, {key : a:right.cmd}) endfor elseif !empty(a:right.func) for key in a:right.key call extend(self._handle_inputs, {key : a:right.func}) endfor endif if a:right.exit call extend(self._is_quit, a:right.key) " TODO: need fix " if has_key(right, 'exit_cmd') && !empty(right.exit_cmd) " call extend(self._handle_quit, {right.key : right.exit_cmd}) " endif endif elseif !empty(a:right) && type(a:right.key) == 4 let line .= '[' . a:right.key.name . '] ' let line .= repeat(' ', self._right_max_key_len - len(a:right.key.name)) let line .= a:right.desc let begin = 41 + self._log_width for pos in a:right.key.pos call add(hls, [a:right.exit, i + 2, begin + pos[0], begin + pos[1]]) endfor for handles in a:right.key.handles call extend(self._handle_inputs, {handles[0] : handles[1]}) endfor if a:right.exit for handles in a:right.key.handles call add(self._is_quit, handles[0]) endfor " TODO: need fix " if has_key(right, 'exit_cmd') && !empty(right.exit_cmd) " call extend(self._handle_quit, {right.key : right.exit_cmd}) " endif endif endif return [line, hls] endfunction function! s:self._update_content() abort if get(self._keys, 'layout', '') ==# 'vertical split' call self._check_max_key_len() if has_key(self._keys, 'logo') && has_key(self._keys, 'self._log_width') let self._log_width = self._keys.self._log_width else let self._log_width = 0 endif for i in range(self._linenum) let left = get(self._keys.left, i, {}) let right = get(self._keys.right, i, {}) let line = repeat(' ', self._log_width) let [line, hls] = self._key_obj_to_hl_line(left, right, i) call append(line('$'), line) for hl in hls call self.highlight_keys(hl[0], hl[1], hl[2], hl[3]) endfor endfor endif endfunction function! SpaceVim#api#transient_state#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/unicode/box.vim ================================================ "============================================================================= " box.vim --- SpaceVim box API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section unicode#box, api-unicode-box " @parentsection api " provides some functions to draw box and table. " " drawing_table({json}[, {keys}]) " " drawing table with json data. " let s:self = {} let s:self._json = SpaceVim#api#import('data#json') let s:self._string = SpaceVim#api#import('data#string') let s:self.box_width = 40 " http://jrgraphix.net/r/Unicode/2500-257F " http://www.alanflavell.org.uk/unicode/unidata.html " json should be a list of items which have same keys function! s:self.drawing_table(json, ...) abort if empty(a:json) return [] endif if &encoding ==# 'utf-8' let top_left_corner = '╭' let top_right_corner = '╮' let bottom_left_corner = '╰' let bottom_right_corner = '╯' let side = '│' let top_bottom_side = '─' let middle = '┼' let top_middle = '┬' let left_middle = '├' let right_middle = '┤' let bottom_middle = '┴' else let top_left_corner = '*' let top_right_corner = '*' let bottom_left_corner = '*' let bottom_right_corner = '*' let side = '|' let top_bottom_side = '-' let middle = '*' let top_middle = '*' let left_middle = '*' let right_middle = '*' let bottom_middle = '*' endif let table = [] let items = self._json.json_decode(a:json) let col = len(keys(items[0])) let top_line = top_left_corner \ . repeat(repeat(top_bottom_side, self.box_width) . top_middle, col - 1) \ . repeat(top_bottom_side, self.box_width) \ . top_right_corner let middle_line = left_middle \ . repeat(repeat(top_bottom_side, self.box_width) . middle, col - 1) \ . repeat(top_bottom_side, self.box_width) \ . right_middle let bottom_line = bottom_left_corner \ . repeat(repeat(top_bottom_side, self.box_width) . bottom_middle, col - 1) \ . repeat(top_bottom_side, self.box_width) \ . bottom_right_corner call add(table, top_line) let tytle = side if a:0 == 0 let keys = keys(items[0]) else let keys = a:1 endif for key in keys let tytle .= self._string.fill_middle(key , self.box_width) . side endfor call add(table, tytle) call add(table, middle_line) for item in items let value_line = side for key in keys let value_line .= self._string.fill(item[key], self.box_width) . side endfor call add(table, value_line) call add(table, middle_line) endfor let table[-1] = bottom_line return table endfunction " @vimlint(EVL102, 1, l:j) " @param data: a list of string " @param h: max height of box " @param w: max width of box " @param bw: cell width " @param [opt]: a dict of options " align: right/left/center function! s:self.drawing_box(data, h, w, bw, ...) abort let opt = get(a:000, 0, { \ 'align': 'center' \ }) if &encoding ==# 'utf-8' let top_left_corner = '╭' let top_right_corner = '╮' let bottom_left_corner = '╰' let bottom_right_corner = '╯' let side = '│' let top_bottom_side = '─' let middle = '┼' let top_middle = '┬' let left_middle = '├' let right_middle = '┤' let bottom_middle = '┴' else let top_left_corner = '*' let top_right_corner = '*' let bottom_left_corner = '*' let bottom_right_corner = '*' let side = '|' let top_bottom_side = '-' let middle = '*' let top_middle = '*' let left_middle = '*' let right_middle = '*' let bottom_middle = '*' endif let box = [] let top_line = top_left_corner \ . repeat(repeat(top_bottom_side, a:bw) . top_middle, a:w - 1) \ . repeat(top_bottom_side, a:bw) \ . top_right_corner let middle_line = left_middle \ . repeat(repeat(top_bottom_side, a:bw) . middle, a:w - 1) \ . repeat(top_bottom_side, a:bw) \ . right_middle let bottom_line = bottom_left_corner \ . repeat(repeat(top_bottom_side, a:bw) . bottom_middle, a:w - 1) \ . repeat(top_bottom_side, a:bw) \ . bottom_right_corner let empty_line = side \ . repeat(repeat(' ', a:bw) . side, a:w) call add(box, top_line) let i = 0 let ls = 1 let line = side for sel in a:data if opt.align == 'center' let line .=self._string.fill_middle(sel, a:bw) . side elseif opt.align == 'right' let line .=self._string.fill_left(sel, a:bw) . side else let line .=self._string.fill(sel, a:bw) . side endif let i += 1 if i == a:w call add(box, line) call add(box, middle_line) let ls += 1 let line = side let i = 0 endif endfor if ls < a:h for j in range(a:h - ls) call add(box, empty_line) call add(box, middle) endfor else let box[-1] = bottom_line endif return box endfunction " @vimlint(EVL102, 0, l:j) function! SpaceVim#api#unicode#box#get() abort return deepcopy(s:self) endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/api/unicode/icon.vim ================================================ "============================================================================= " icon.vim --- SpaceVim icon API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:self = {} function! s:self.battery_status(v) abort if a:v >= 90 return '' elseif a:v >= 75 return '' elseif a:v >= 50 return '' elseif a:v >= 25 return '' else return '' endif endfunction function! SpaceVim#api#unicode#icon#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/unicode/spinners.vim ================================================ "============================================================================= " spinners.vim --- spinners API for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:self = {} let s:self._data = { \ 'dot1' : { \ 'frames' : ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'], \ 'strwidth' : 1, \ 'timeout' : 80 \ } \ } let s:self._id = 0 function! s:self.Onframe(...) abort dict if self.index < len(self.spinners) - 1 let self.index += 1 else let self.index = 0 endif let self.str = self.spinners[self.index] exe 'let ' . self.var . '= self.str' endfunction " return timer id and strwidth function! s:self.apply(name, var) abort dict let time = self._data[a:name].timeout let self.index = 0 let self.var = a:var let self.spinners = self._data[a:name].frames exe 'let ' . self.var . '= self.spinners[self.index]' let self.timer_id = timer_start(time, self.Onframe, {'repeat' : -1}) return [self.timer_id, self._data[a:name].strwidth] endfunction function! s:self.get_str() abort return self.str endfunction function! s:self.get_info(name) abort return get(self._data, a:name, {}) endfunction function! SpaceVim#api#unicode#spinners#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/unicode/tree.vim ================================================ scriptencoding utf-8 let s:self = {} let s:self._json = SpaceVim#api#import('data#json') let s:self._string = SpaceVim#api#import('data#string') let s:self._vim = SpaceVim#api#import('vim') let s:self.bottom_left_corner = '╰' let s:self.side = '│' let s:self.top_bottom_side = '─' let s:self.left_middle = '├' " ╰test " ├hello " │ ├one " │ ╰two " ╰world " " echo line should be prefix . extra . value function! s:self.drawing_tree(tree, ...) abort let tree = [] let prefix = get(a:000, 0, '') let extra = get(a:000, 1, '') if self._vim.is_string(a:tree) call add(tree, prefix . extra . a:tree) elseif self._vim.is_list(a:tree) let i = 1 for item in a:tree if i < len(a:tree) let sidebar = self.side let extra = self.left_middle else let extra = self.bottom_left_corner if i ==# 1 let sidebar = self.side else let sidebar = ' ' endif endif call extend(tree, self.drawing_tree(item, prefix . extra, ' ')) let i += 1 endfor elseif self._vim.is_dict(a:tree) let i = 1 for key in keys(a:tree) if i < len(a:tree) let sidebar = self.side let extra = self.left_middle else let extra = self.bottom_left_corner if i ==# 1 let sidebar = self.side else let sidebar = ' ' endif endif call add(tree, prefix . extra . key) call extend(tree, self.drawing_tree(get(a:tree, key, []), prefix . sidebar , ' ')) let i += 1 endfor endif return tree endfunction function! SpaceVim#api#unicode#tree#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim/buffer.vim ================================================ "============================================================================= " buffer.vim --- SpaceVim buffer API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section vim#buffer, api-vim-buffer " @parentsection api " @subsection Intro " " vim#buffer API provides some basic functions for setting and getting config " of vim buffer. " " @subsection Functions " " is_cmdwin() " " Check if current windows is command line windows. " " open(opt) " " Open a new buffer with specifice options, return the buffer number, the {opt} " is a dict with following keys: " " bufname : the buffer name of the new buffer " " mode: how to open the new buffer, default is vertical topleft split " " initfunc: the function which will be call after creating buffer " " cmd: the ex command which will be run after the new buffer is created " " get_option(bufnr, name) " " Gets a buffer option value. " " set_option(buf, opt, value) " " Set a buffer option value. let s:self = {} if exists('*getcmdwintype') function! s:self.is_cmdwin() abort return getcmdwintype() !=# '' endfunction else function! s:self.is_cmdwin() abort return bufname('%') ==# '[Command Line]' endfunction endif function! s:self.set_var(buf, var, val) abort return setbufvar(a:buf, a:var, a:val) endfunction function! s:self.get_var(buf, var) abort return getbufvar(a:buf, a:var) endfunction " bufnr needs atleast one argv before patch-8.1.1924 has('patch-8.1.1924') function! s:self.bufnr(...) abort if has('patch-8.1.1924') return call('bufnr', a:000) else if a:0 ==# 0 return bufnr('%') else return call('bufnr', a:000) endif endif endfunction " bufname needs atleast one argv before patch-8.1.1924 has('patch-8.1.1924') function! s:self.bufname(...) abort if has('patch-8.1.1924') return call('bufname', a:000) else if a:0 ==# 0 return bufname('%') else return call('bufname', a:000) endif endif endfunction function! s:self.bufadd(name) abort if exists('*bufadd') return bufadd(a:name) elseif get(g:, '_spacevim_if_lua', 0) && empty(a:name) let nr = float2nr(luaeval('vim.open().number')) call setbufvar(nr, '&buflisted', 0) return nr elseif empty(a:name) " create an no-named buffer noautocmd 1new " bufnr needs atleast one argv before patch-8.1.1924 has('patch-8.1.1924') let nr = self.bufnr() setl nobuflisted noautocmd q return nr elseif bufexists(a:name) return bufnr(a:name) else exe 'noautocmd 1split ' . a:name let nr = self.bufnr() setl nobuflisted noautocmd q return nr endif endfunction if exists('*nvim_create_buf') function! s:self.create_buf(listed, scratch) abort return nvim_create_buf(a:listed, a:scratch) endfunction else function! s:self.create_buf(listed, scratch) abort let bufnr = self.bufadd('') if exists('*bufloaded') \ && exists('*bufload') \ && !bufloaded(bufnr) call bufload(bufnr) endif call setbufvar(bufnr, '&buflisted', a:listed ? 1 : 0) if a:scratch call setbufvar(bufnr, '&swapfile', 0) call setbufvar(bufnr, '&bufhidden', 'hide') call setbufvar(bufnr, '&buftype', 'nofile') endif return bufnr endfunction endif function! s:self.open(opts) abort let buf = get(a:opts, 'bufname', '') let mode = get(a:opts, 'mode', 'vertical topleft split') let Initfunc = get(a:opts, 'initfunc', '') let cmd = get(a:opts, 'cmd', '') if empty(buf) exe mode | enew else exe mode buf endif if !empty(Initfunc) call call(Initfunc, []) endif if !empty(cmd) exe cmd endif return bufnr('%') endfunction func! s:self.resize(size, ...) abort let cmd = get(a:000, 0, 'vertical') exe cmd 'resize' a:size endf function! s:self.listed_buffers() abort return filter(range(1, bufnr('$')), 'buflisted(v:val)') endfunction function! s:self.filter_do(expr) abort let buffers = range(1, bufnr('$')) for f_expr in a:expr.expr let buffers = filter(buffers, f_expr) endfor for b in buffers exe printf(a:expr.do, b) endfor endfunction " define self.line_count(buf) " use nvim_buf_line_count if possible if exists('*nvim_buf_line_count') " {{{ function! s:self.line_count(buf) abort return nvim_buf_line_count(a:buf) endfunction " }}} " if +lua is enabled. elseif get(g:, '_spacevim_if_lua', 0) " {{{ " @vimlint(EVL103, 1, a:buf) function! s:self.line_count(buf) abort " lua numbers are floats, so use float2nr return float2nr(luaeval('#vim.buffer(vim.eval("a:buf"))')) endfunction " @vimlint(EVL103, 0, a:buf) }}} else function! s:self.line_count(buf) abort return len(getbufline(a:buf, 1, '$')) endfunction endif " buffer.buf_set_lines(buffer, start, end, strict_indexing, replacement) " " this function is just same as nvim_buf_set_lines. function! s:self.buf_set_lines(buffer, start, end, strict_indexing, replacement) abort if !bufexists(a:buffer) return endif let ma = getbufvar(a:buffer, '&ma') call setbufvar(a:buffer,'&ma', 1) " if the function `nvim_buf_set_lines` exists if exists('*nvim_buf_set_lines') " {{{ call nvim_buf_set_lines(a:buffer, a:start, a:end, a:strict_indexing, a:replacement) " }}} elseif exists('*deletebufline') && exists('*bufload') " patch-8.1.0039 deletebufline() " patch-8.1.0037 appendbufline() " patch-8.0.1039 setbufline() " patch-8.1.1610 bufadd() bufload() " in vim, setbufline will not load buffer automatically " but in neovim, nvim_buf_set_lines will do it. " @fixme vim issue #5044 " https://github.com/vim/vim/issues/5044 if !bufloaded(a:buffer) call bufload(a:buffer) endif let lct = self.line_count(a:buffer) let start = a:start + (a:start < 0 ? lct + 1 : 0) let end = a:end + (a:end < 0 ? lct + 1 : 0) if start < 0 || end < 0 || start > lct || end > lct if a:strict_indexing " @fixme raise an error return else let start = start < 0 ? 0 : start > lct ? lct : start let end = end < 0 ? 0 : end > lct ? lct : end endif endif if start > end " @fixme raise an error return endif " in neovim, indexing is zero-based, end-exclusive " but in vim, indexing is one-based, end-inclusive let tochange = min([len(a:replacement), end - start]) if tochange > 0 call setbufline(a:buffer, start + 1, a:replacement[:tochange-1]) endif if end > start + tochange call deletebufline(a:buffer, start + 1 + tochange, end) else call appendbufline(a:buffer, start + tochange, a:replacement[tochange:]) endif elseif has('python') py << EOF import vim import string bufnr = int(vim.eval("a:buffer")) start_line = int(vim.eval("a:start")) if start_line < 0: start_line = len(vim.buffers[bufnr]) + 1 + start_line end_line = int(vim.eval("a:end")) if end_line < 0: end_line = len(vim.buffers[bufnr]) + 1 + end_line lines = vim.eval("a:replacement") vim.buffers[bufnr][start_line:end_line] = lines EOF elseif has('python3') " https://github.com/vim/vim/issues/3117 " https://github.com/Azure/WALinuxAgent/issues/2326 " https://github.com/powerline/powerline/issues/1925#issuecomment-402635097 silent! python3 1 py3 << EOF import vim import string bufnr = int(vim.eval("a:buffer")) start_line = int(vim.eval("a:start")) if start_line < 0: start_line = len(vim.buffers[bufnr]) + 1 + start_line end_line = int(vim.eval("a:end")) if end_line < 0: end_line = len(vim.buffers[bufnr]) + 1 + end_line lines = vim.eval("a:replacement") vim.buffers[bufnr][start_line:end_line] = lines EOF elseif get(g:, '_spacevim_if_lua', 0) == 1 " @todo add lua support silent! noautocmd lua require("spacevim.api.vim.buffer").set_lines( \ vim.eval("a:buffer"), \ vim.eval("a:start"), \ vim.eval("a:end"), \ vim.eval("a:replacement") \ ) else exe 'b' . a:buffer let lct = line('$') if a:start > lct return elseif a:start >= 0 && a:end > a:start let endtext = a:end > lct ? [] : getline(a:end + 1, '$') " 0 start end $ if len(a:replacement) == a:end - a:start for i in range(a:start, len(a:replacement) + a:start - 1) call setline(i + 1, a:replacement[i - a:start]) endfor else let replacement = a:replacement + endtext for i in range(a:start, len(replacement) + a:start - 1) call setline(i + 1, replacement[i - a:start]) endfor endif elseif a:start >= 0 && a:end < 0 && lct + a:end > a:start call self.buf_set_lines(a:buffer, a:start, lct + a:end + 1, a:strict_indexing, a:replacement) elseif a:start <= 0 && a:end > a:start && a:end < 0 && lct + a:start >= 0 call self.buf_set_lines(a:buffer, lct + a:start + 1, lct + a:end + 1, a:strict_indexing, a:replacement) endif endif call setbufvar(a:buffer,'&ma', ma) endfunction function! s:self.displayArea() abort return [ \ line('w0'), line('w$') \ ] endfunction function! s:self.open_pos(cmd, file, line, col) abort exe 'silent ' . a:cmd . ' ' . a:file call cursor(a:line, a:col) endfunction function! s:self.add_highlight(bufnr, hl, line, col, long) abort if exists('*nvim_buf_add_highlight') call nvim_buf_add_highlight(a:bufnr, 0, a:hl, a:line, a:col, a:col + a:long) endif endfunction function! s:self.buf_get_lines(bufnr, start, end, strict_indexing) abort if exists('*nvim_buf_get_lines') return nvim_buf_get_lines(a:bufnr, a:start, a:end, a:strict_indexing) elseif exists('*getbufline') && exists('*bufload') && exists('*bufloaded') let lct = self.line_count(a:bufnr) if a:start > lct return elseif a:start >= 0 && a:end > a:start " in vim, getbufline will not load buffer automatically " but in neovim, nvim_buf_set_lines will do it. " @fixme vim issue #5044 " https://github.com/vim/vim/issues/5044 if !bufloaded(a:bufnr) call bufload(a:bufnr) endif return getbufline(a:bufnr, a:start + 1, a:end) elseif a:start >= 0 && a:end < 0 && lct + a:end >= a:start return self.buf_get_lines(a:bufnr, a:start, lct + a:end + 1, a:strict_indexing) elseif a:start <= 0 && a:end > a:start && a:end < 0 && lct + a:start >= 0 return self.buf_get_lines(a:bufnr, lct + a:start + 1, lct + a:end + 2, a:strict_indexing) endif endif endfunction fu! SpaceVim#api#vim#buffer#get() abort return deepcopy(s:self) endf ================================================ FILE: autoload/SpaceVim/api/vim/command.vim ================================================ "============================================================================= " command.vim --- SpaceVim command API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section vim#command, api-vim-command " @parentsection api " This api is for creating complete function for custom vim command. This is " example for create complete function for command TEST " > " let s:CMD = SpaceVim#api#import('vim#command') " let s:CMD.options = { " \ '-f' : { " \ 'description' : '', " \ 'complete' : ['text'], " \ }, " \ '-d' : { " \ 'description' : 'Root directory for sources', " \ 'complete' : 'file', " \ }, " \ } " function! CompleteTest(a, b, c) " return s:CMD.complete(a:a, a:b, a:c) " endfunction " function! Test(...) " endfunction " command! -nargs=* -complete=custom,CompleteTest TEST :call Test() " < let s:self = {} let s:self.options = {} let s:self._message = [] function! s:self._complete_opt(part, opt) abort let complete = self.options[a:opt].complete if type(complete) == type([]) return join(complete, "\n") else return join(getcompletion(a:part, complete), "\n") endif endfunction function! s:self._complete_opt_list(part, opt) abort let complete = self.options[a:opt].complete if type(complete) == type([]) return complete else return getcompletion(a:part, complete) endif endfunction function! s:self.complete(ArgLead, CmdLine, CursorPos) abort let argvs = split(a:CmdLine) let last_argv = split(a:CmdLine)[-1] let msg = 'ArgLead: ' . a:ArgLead . ' CmdLine: ' . a:CmdLine . ' CursorPos: ' \ . a:CursorPos . ' LastArgv: ' . last_argv call add(self._message, msg) if a:ArgLead ==# '' && index(keys(self.options), last_argv) == -1 return join(keys(self.options), "\n") elseif a:ArgLead ==# '' && index(keys(self.options), last_argv) != -1 return self._complete_opt(a:ArgLead, last_argv) elseif !empty(a:ArgLead) && len(argvs) >= 3 \ && index(keys(self.options), argvs[-2]) != -1 return self._complete_opt(a:ArgLead, argvs[-2]) elseif !empty(a:ArgLead) && ( \ (len(argvs) >= 3 && index(keys(self.options), argvs[-2]) == -1) \ || \ (len(argvs) ==2 ) \ ) return join(keys(self.options), "\n") endif endfunction function! s:self.completelist(ArgLead, CmdLine, CursorPos) abort let argvs = split(a:CmdLine) let last_argv = split(a:CmdLine)[-1] let msg = 'ArgLead: ' . a:ArgLead . ' CmdLine: ' . a:CmdLine . ' CursorPos: ' \ . a:CursorPos . ' LastArgv: ' . last_argv call add(self._message, msg) if a:ArgLead ==# '' && index(keys(self.options), last_argv) == -1 return keys(self.options) elseif a:ArgLead ==# '' && index(keys(self.options), last_argv) != -1 return self._complete_opt_list(a:ArgLead, last_argv) elseif !empty(a:ArgLead) && len(argvs) >= 3 \ && index(keys(self.options), argvs[-2]) != -1 return self._complete_opt_list(a:ArgLead, argvs[-2]) elseif !empty(a:ArgLead) && ( \ (len(argvs) >= 3 && index(keys(self.options), argvs[-2]) == -1) \ || \ (len(argvs) ==2 ) \ ) return keys(self.options) endif endfunction function! s:self.debug() abort echo join(self._message, "\n") endfunction function! SpaceVim#api#vim#command#get() abort return deepcopy(s:self) endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/api/vim/compatible.vim ================================================ "============================================================================= " compatible.vim --- SpaceVim compatible API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:has_cache = {} let s:SYS = SpaceVim#api#import('system') "" " @section vim#compatible, api-vim-compatible " @parentsection api " " @subsection Functions " " execute(cmd) " " run vim command, and return the output of such command. " " system(cmd) " " like |system()| but can accept list as argv. " " systemlist(cmd) " " like |systemlist()| but can accept list as argv. " " has(feature) " " check if {feature} is supported in current version. " " getjumplist() " " return a list of jump position, like result of |:jump| " Load SpaceVim API: let s:STRING = SpaceVim#api#import('data#string') let s:self = {} function! s:self.has(feature) abort if has_key(s:has_cache, a:feature) return s:has_cache[a:feature] endif if a:feature ==# 'python' try py import vim let s:has_cache['python'] = 1 return 1 catch let s:has_cache['python'] = 0 return 0 endtry elseif a:feature ==# 'python3' try py3 import vim let s:has_cache['python3'] = 1 return 1 catch let s:has_cache['python3'] = 0 return 0 endtry elseif a:feature ==# 'pythonx' try pyx import vim let s:has_cache['pythonx'] = 1 return 1 catch let s:has_cache['pythonx'] = 0 return 0 endtry else return has(a:feature) endif endfunction if has('patch-8.0.1364') function! s:self.win_screenpos(nr) abort return win_screenpos(a:nr) endfunction elseif s:self.has('python') function! s:self.win_screenpos(nr) abort if winnr('$') < a:nr || a:nr < 0 return [0, 0] elseif a:nr == 0 return [pyeval('vim.current.window.row'), \ pyeval('vim.current.window.col')] endif return [pyeval('vim.windows[' . a:nr . '].row'), \ pyeval('vim.windows[' . a:nr . '].col')] endfunction elseif s:self.has('python3') function! s:self.win_screenpos(nr) abort if winnr('$') < a:nr || a:nr < 0 return [0, 0] elseif a:nr == 0 return [py3eval('vim.current.window.row'), \ py3eval('vim.current.window.col')] endif return [py3eval('vim.windows[' . a:nr . '].row'), \ py3eval('vim.windows[' . a:nr . '].col')] endfunction else " @vimlint(EVL103, 1, a:nr) function! s:self.win_screenpos(nr) abort return [0, 0] endfunction " @vimlint(EVL103, 0, a:nr) endif if exists('*execute') function! s:self.execute(cmd, ...) abort return call('execute', [a:cmd] + a:000) endfunction else function! s:self.execute(cmd, ...) abort if a:0 == 0 let s = 'silent' else let s = a:1 endif let output = '' redir => output if s ==# 'silent' silent execute a:cmd elseif s ==# 'silent!' silent! execute a:cmd else execute a:cmd endif redir END return output endfunction endif if has('nvim') function! s:self.system(cmd, ...) abort return a:0 == 0 ? system(a:cmd) : system(a:cmd, a:1) endfunction function! s:self.systemlist(cmd, ...) abort return a:0 == 0 ? systemlist(a:cmd) : systemlist(a:cmd, a:1) endfunction else function! s:self.system(cmd, ...) abort if type(a:cmd) == 3 let cmd = map(a:cmd, 'shellescape(v:val)') let cmd = join(cmd, ' ') return a:0 == 0 ? system(cmd) : system(cmd, a:1) else return a:0 == 0 ? system(a:cmd) : system(a:cmd, a:1) endif endfunction if exists('*systemlist') function! s:self.systemlist(cmd, ...) abort if type(a:cmd) == 3 let cmd = map(a:cmd, 'shellescape(v:val)') let excmd = join(cmd, ' ') return a:0 == 0 ? systemlist(excmd) : systemlist(excmd, a:1) else return a:0 == 0 ? systemlist(a:cmd) : systemlist(a:cmd, a:1) endif endfunction else function! s:self.systemlist(cmd, ...) abort if type(a:cmd) == 3 let cmd = map(a:cmd, 'shellescape(v:val)') let excmd = join(cmd, ' ') return a:0 == 0 ? split(system(excmd), "\n") \ : split(system(excmd, a:1), "\n") else return a:0 == 0 ? split(system(a:cmd), "\n") \ : split(system(a:cmd, a:1), "\n") endif endfunction endif endif if has('patch-7.4.279') function! s:self.globpath(dir, expr) abort return globpath(a:dir, a:expr, 1, 1) endfunction else function! s:self.globpath(dir, expr) abort return split(globpath(a:dir, a:expr), "\n") endfunction endif if has('nvim') function! s:self.version() abort let v = api_info().version return v.major . '.' . v.minor . '.' . v.patch . (v.prerelease ? '(Prerelease)' : '(Release)') endfunction else function! s:self.version() abort redir => l:msg silent! execute ':version' redir END return s:parser(matchstr(l:msg,'\(Included\ patches:\ \)\@<=[^\n]*')) endfunction function! s:parser(version) abort let v_list = split(a:version, ',') if len(v_list) == 1 let patch = split(v_list[0], '-')[1] let v = v:version[0:0] . '.' . v:version[2:2] . '.' . patch else let v = v:version[0:0] . '.' . v:version[2:2] . '(' . a:version . ')' endif return v endfunction endif " patch 7.4.330 add function matchaddpos() " patch 7.4.792 add dict argv to matchaddpos() (only conceal) " patch 7.4.1740 syn-cchar defined with matchadd() does not appear " patch 8.1.0218 update dict argv (add window) " - A number. This whole line will be highlighted. The first " line has number 1. " - A list with one number, e.g., [23]. The whole line with this " number will be highlighted. " - A list with two numbers, e.g., [23, 11]. The first number is " the line number, the second one is the column number (first " column is 1, the value must correspond to the byte index as " |col()| would return). The character at this position will " be highlighted. " - A list with three numbers, e.g., [23, 11, 3]. As above, but " the third number gives the length of the highlight in bytes. if exists('*matchaddpos') function! s:self.matchaddpos(group, pos, ...) abort let priority = get(a:000, 0, 10) let id = get(a:000, 1, -1) let argv = [priority, id] if has('patch-7.4.792') let dict = get(a:000, 2, {}) call add(argv, dict) endif return call('matchaddpos', [a:group, a:pos] + argv) endfunction else function! s:self.matchaddpos(group, pos, ...) abort let priority = get(a:000, 0, 10) let id = get(a:000, 1, -1) let argv = [priority, id] if has('patch-7.4.792') let dict = get(a:000, 2, {}) call add(argv, dict) endif let pos1 = a:pos[0] if type(pos1) == 0 let id = call('matchadd', [a:group, '\%' . pos1 . 'l'] + argv) elseif type(pos1) == 3 if len(pos1) == 1 let id = call('matchadd', [a:group, '\%' . pos1[0] . 'l'] + argv) elseif len(pos1) == 2 let id = call('matchadd', [a:group, '\%' . pos1[0] . 'l\%' . pos1[1] . 'c'] + argv) elseif len(pos1) == 3 let id = call('matchadd', [a:group, '\%' . pos1[0] . 'l\%>' . pos1[1] . 'c\%<' . pos1[2] . 'c'] + argv) endif endif if len(a:pos) > 1 for pos1 in a:pos[1:] if type(pos1) == 0 let id = call('matchadd', [a:group, '\%' . pos1 . 'l'] + argv) elseif type(pos1) == 3 if len(pos1) == 1 let id = call('matchadd', [a:group, '\%' . pos1[0] . 'l'] + argv) elseif len(pos1) == 2 let id = call('matchadd', [a:group, '\%' . pos1[0] . 'l\%' . pos1[1] . 'c'] + argv) elseif len(pos1) == 3 let id = call('matchadd', [a:group, '\%' . pos1[0] . 'l\%>' . pos1[1] . 'c\%<' . pos1[2] . 'c'] + argv) endif endif endfor endif return id endfunction endif function! s:self.set_buf_line() abort endfunction if exists('*getjumplist') function! s:self.getjumplist() abort return getjumplist() endfunction else " " the following entries: " bufnr buffer number " col column number " coladd column offset for 'virtualedit' " filename filename if available " lnum line number function! s:self.getjumplist() abort let jumpinfo = split(self.execute(':jumps'), "\n")[1:-2] let result = [] " 20 281 23 -invalid- for info in jumpinfo let [jump, line, col] = s:STRING.split(info, '', 0, 4)[0:2] call add(result, { \ 'bufnr' : jump, \ 'lnum' : line, \ 'col' : col, \ 'coladd' : 0, \ }) endfor return result endfunction endif if s:SYS.isWindows function! s:self.resolve(path) abort let cmd = 'dir /a ' . shellescape(a:path) . ' | findstr SYMLINK' " 2018/12/07 周五 下午 10:23 vimfiles [C:\Users\Administrator\.SpaceVim] " ref: https://superuser.com/questions/524669/checking-where-a-symbolic-link-points-at-in-windows-7 silent let rst = system(cmd) if !v:shell_error let dir = split(rst)[-1][1:-2] return dir endif return a:path endfunction else function! s:self.resolve(path) abort return resolve(a:path) endfunction endif " this function is only for test function! s:self.luaeval(expr) abort let rst = luaeval(a:expr) if type(rst) ==# 5 return float2nr(rst) else return rst endif endfunction function! SpaceVim#api#vim#compatible#get() abort return deepcopy(s:self) endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/api/vim/floating.vim ================================================ "============================================================================= " floating.vim --- vim floating api " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:self = {} " this api is based on neovim#floating api " options: " 1. col " 2. row " 3. width " 3. height " 4. relative " {config} Map defining the window configuration. Keys: " • `relative`: Sets the window layout to "floating", placed " at (row,col) coordinates relative to: " • "editor" The global editor grid " • "win" Window given by the `win` field, or " current window. " • "cursor" Cursor position in current window. " " • `win` : |window-ID| for relative="win". " • `anchor`: Decides which corner of the float to place " at (row,col): " • "NW" northwest (default) " • "NE" northeast " • "SW" southwest " • "SE" southeast " " • `width` : Window width (in character cells). " Minimum of 1. " • `height` : Window height (in character cells). " Minimum of 1. " • `bufpos` : Places float relative to buffer " text (only when relative="win"). Takes a tuple " of zero-indexed [line, column]. `row` and " `col` if given are applied relative to this " position, else they default to `row=1` and " `col=0` (thus like a tooltip near the buffer " text). " • `row` : Row position in units of "screen cell " height", may be fractional. " • `col` : Column position in units of "screen " cell width", may be fractional. " • `focusable` : Enable focus by user actions " (wincmds, mouse events). Defaults to true. " Non-focusable windows can be entered by " |nvim_set_current_win()|. " • `external` : GUI should display the window as " an external top-level window. Currently " accepts no other positioning configuration " together with this. " • `style`: Configure the appearance of the window. " Currently only takes one non-empty value: " • "minimal" Nvim will display the window with " many UI options disabled. This is useful " when displaying a temporary float where the " text should not be edited. Disables " 'number', 'relativenumber', 'cursorline', " 'cursorcolumn', 'foldcolumn', 'spell' and " 'list' options. 'signcolumn' is changed to " `auto` and 'colorcolumn' is cleared. The " end-of-buffer region is hidden by setting " `eob` flag of 'fillchars' to a space char, " and clearing the |EndOfBuffer| region in " 'winhighlight'. " " Return: ~ " Window handle, or 0 on error function! s:self.open_win(buffer, focuce, options) abort let col = get(a:options, 'col', 1) let row = get(a:options, 'row', 1) let width = get(a:options, 'width', 1) let height = get(a:options, 'height', 1) let highlight = get(a:options, 'highlight', 'Normal') let relative = get(a:options, 'relative', 'editor') if relative ==# 'win' let winid = get(a:options, 'win', 0) let pos = win_screenpos(win_id2win(winid)) let opt = { \ 'line' : row + 1 + pos[0], \ 'col' : col + pos[1], \ 'maxheight' : height, \ 'minheight' : height, \ 'maxwidth' : width, \ 'minwidth' : width, \ 'highlight' : highlight, \ 'scrollbar' : 0, \ } elseif relative ==# 'cursor' elseif relative ==# 'editor' let opt = { \ 'line' : row + 1, \ 'col' : col, \ 'maxheight' : height, \ 'minheight' : height, \ 'maxwidth' : width, \ 'minwidth' : width, \ 'highlight' : highlight, \ 'scrollbar' : 0, \ } endif return popup_create(a:buffer, opt) endfunction function! s:self.win_config(winid, options) abort let col = get(a:options, 'col', 1) let row = get(a:options, 'row', 1) let width = get(a:options, 'width', 1) let height = get(a:options, 'height', 1) let highlight = get(a:options, 'highlight', '') let relative = get(a:options, 'relative', 'editor') if relative ==# 'win' let winid = get(a:options, 'win', 0) let pos = win_screenpos(win_id2win(winid)) let opt = { \ 'line' : row + 1 + pos[0], \ 'col' : col + pos[1], \ 'maxheight' : height, \ 'minheight' : height, \ 'maxwidth' : width, \ 'minwidth' : width, \ 'highlight' : highlight, \ 'scrollbar' : 0, \ } elseif relative ==# 'cursor' elseif relative ==# 'editor' let opt = { \ 'line' : row + 1, \ 'col' : col, \ 'maxheight' : height, \ 'minheight' : height, \ 'maxwidth' : width, \ 'minwidth' : width, \ 'highlight' : highlight, \ 'scrollbar' : 0, \ } endif return popup_setoptions(a:winid, opt) endfunction function! s:self.exists() abort return exists('*popup_create') endfunction function! s:self.get_width(winid) abort return winwidth(a:winid) endfunction function! s:self.win_close(id, focuce) abort return popup_close(a:id) endfunction function! SpaceVim#api#vim#floating#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim/highlight.vim ================================================ "============================================================================= " highlight.vim --- SpaceVim highlight API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} " the key of a highlight should be: " name: the name of the highlight group " ctermbg: background color in cterm " ctermfg: fround color in cterm " bold: if bold? " italic: if italic? " underline: if underline " guibg: gui background color " guifg: found color in gui " reverse: if reverse function! s:self.group2dict(name) abort let id = hlID(a:name) if id == 0 return { \ 'name' : '', \ 'ctermbg' : '', \ 'ctermfg' : '', \ 'bold' : '', \ 'italic' : '', \ 'reverse' : '', \ 'underline' : '', \ 'guibg' : '', \ 'guifg' : '', \ } endif let rst = { \ 'name' : synIDattr(id, 'name'), \ 'ctermbg' : synIDattr(id, 'bg', 'cterm'), \ 'ctermfg' : synIDattr(id, 'fg', 'cterm'), \ 'bold' : synIDattr(id, 'bold'), \ 'italic' : synIDattr(id, 'italic'), \ 'reverse' : synIDattr(id, 'reverse'), \ 'underline' : synIDattr(id, 'underline'), \ 'guibg' : tolower(synIDattr(id, 'bg#', 'gui')), \ 'guifg' : tolower(synIDattr(id, 'fg#', 'gui')), \ } return rst endfunction function! s:self.unite(base, target, part) abort let base = self.group2dict(a:base) let target = self.group2dict(a:target) if empty(base) || empty(target) return elseif get(base,a:part, '') ==# get(target, a:part, '') return else let target[a:part] = base[a:part] call self.hi(target) endif endfunction function! s:self.hi(info) abort if empty(a:info) || get(a:info, 'name', '') ==# '' return endif exe 'hi clear ' . a:info.name let cmd = 'hi! ' . a:info.name if !empty(a:info.ctermbg) let cmd .= ' ctermbg=' . a:info.ctermbg endif if !empty(a:info.ctermfg) let cmd .= ' ctermfg=' . a:info.ctermfg endif if !empty(a:info.guibg) let cmd .= ' guibg=' . a:info.guibg endif if !empty(a:info.guifg) let cmd .= ' guifg=' . a:info.guifg endif let style = [] for sty in ['bold', 'italic', 'underline', 'reverse'] if get(a:info, sty, '') ==# '1' call add(style, sty) endif endfor if !empty(style) let cmd .= ' gui=' . join(style, ',') . ' cterm=' . join(style, ',') endif try silent! exe cmd catch endtry endfunction function! s:self.hide_in_normal(name) abort let group = self.group2dict(a:name) if empty(group) return endif let normal = self.group2dict('Normal') let guibg = get(normal, 'guibg', '') let ctermbg = get(normal, 'ctermbg', '') let group.guifg = guibg let group.guibg = guibg let group.ctermfg = ctermbg let group.ctermbg = ctermbg call self.hi(group) endfunction function! s:self.hi_separator(a, b) abort let hi_a = self.group2dict(a:a) let hi_b = self.group2dict(a:b) let hi_a_b = { \ 'name' : a:a . '_' . a:b, \ 'guibg' : hi_b.guibg, \ 'guifg' : hi_a.guibg, \ 'ctermbg' : hi_b.ctermbg, \ 'ctermfg' : hi_a.ctermbg, \ } let hi_b_a = { \ 'name' : a:b . '_' . a:a, \ 'guibg' : hi_a.guibg, \ 'guifg' : hi_b.guibg, \ 'ctermbg' : hi_a.ctermbg, \ 'ctermfg' : hi_b.ctermbg, \ } call self.hi(hi_a_b) call self.hi(hi_b_a) endfunction function! s:self.syntax_at(...) abort syntax sync fromstart if a:0 < 2 let l:pos = getpos('.') let l:cur_lnum = pos[1] let l:cur_col = pos[2] if a:0 == 0 let l:lnum = l:cur_lnum let l:col = l:cur_col else let l:lnum = l:cur_lnum let l:col = a:1 endif else let l:lnum = a:1 let l:col = a:2 endif call map(synstack(l:lnum, l:col), 'synIDattr(v:val, "name")') return synIDattr(synID(l:lnum, l:col, 1), 'name') endfunction let s:string_hi = { \ 'c' : 'cCppString', \ 'cpp' : 'cCppString', \ 'python' : 'pythonString', \ } function! s:self.is_string(l, c) abort return synIDattr(synID(a:l, a:c, 1), 'name') == get(s:string_hi, &filetype, &filetype . 'String') endfunction function! s:self.syntax_of(pattern, ...) abort if a:0 < 1 let l:nth = 1 else let l:nth = a:1 endif let l:pos_init = getpos('.') call cursor(1, 1) let found = search(a:pattern, 'cW') while found != 0 && nth > 1 let found = search(a:pattern, 'W') let nth -= 1 endwhile if found let l:pos = getpos('.') let l:output = self.syntax_at(l:pos[1], l:pos[2]) else let l:output = '' endif call setpos('.', l:pos_init) return l:output endfunction function! SpaceVim#api#vim#highlight#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim/key.vim ================================================ "============================================================================= " key.vim --- SpaceVim key API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:specified_keys = { \ "\" : 'F1', \ "\" : 'F2', \ "\" : 'SPC', \ "\x80\xfc\\" : '', \ } function! s:self.nr2name(nr) abort if type(a:nr) == 0 if a:nr == 32 return 'SPC' elseif a:nr == 4 return '' elseif a:nr == 3 return '' elseif a:nr == 9 return '' elseif a:nr == 92 return '' elseif a:nr == 27 return '' else return nr2char(a:nr) endif else return get(s:specified_keys, a:nr, '') endif endfunction function! s:self.char2name(char) abort if len(a:char) == 1 return self.nr2name(char2nr(a:char)) endif return get(s:specified_keys, a:char, a:char) endfunction function! SpaceVim#api#vim#key#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim/mapping.vim ================================================ "============================================================================= " mapping.vim --- SpaceVim mapping API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:VIM = SpaceVim#api#import('vim#compatible') function! SpaceVim#api#vim#mapping#get() abort return map({ \ 'map' : '', \ }, \ "function('s:' . v:key)" \ ) endfunction function! s:map(...) abort if a:0 == 1 return s:parser(s:VIM.execute(':map ' . a:1)) endif return [] endfunction function! s:parser(rst) abort let mappings = split(a:rst, "\n") let mappings = map(mappings, 'split(v:val)') let rst = [] for mapping in mappings if len(mapping) >= 3 let mode = mapping[0] let key = mapping[1] let m = maparg(key, mode, 0, 1) if !empty(m) call add(rst, m) endif endif endfor return rst endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/api/vim/message.vim ================================================ "============================================================================= " message.vim --- SpaceVim message API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section vim#message, api-vim-message " @parentsection api " `vim#message` API provide functions for generating colored message in vim's " command line. " > " let s:MSG = SpaceVim#api#import('vim#message') " call s:MSG.echo('WarningMsg', 'hello world!') " < " @subsection functions " " echo({hi}, {msg}) " " print message with {hi} highlight group. The {msg} starts on a new line. " " echon({hi}, {msg}) " " print message with {hi} highlight group. The {msg} will be displayed " without anything added. " " echomsg({hi}, {msg}) " " print message with {hi} highlight group. The {msg} starts on a new line. " The {msg} also will be added to `:messages` history. " " error({msg}) " " same as `echomsg('Error', {msg})` " " warn({msg}) " " same as `echomsg('WarningMsg', {msg})` " " confirm({msg}) " " promote a confirm message, accept user input `y/n`. let s:self = {} function! s:self.echo(hl, msg) abort execute 'echohl' a:hl try echo a:msg finally echohl None endtry endfunction function! s:self.echon(hl, msg) abort execute 'echohl' a:hl try echon a:msg finally echohl None endtry endfunction if exists('*nvim_echo') function! s:self.nvim_echo(chunk, history, opt) abort return nvim_echo(a:chunk, a:history, a:opt) endfunction else function! s:self.nvim_echo(chunk, history, opt) abort let msg = '' for item in a:chunk try execute 'echohl' item[1] echon item[0] let msg .= item[0] catch finally echohl None endtry endfor if a:history for line in split(msg, "\n") echom line endfor endif endfunction endif function! s:self.echomsg(hl, msg) abort execute 'echohl' a:hl try for m in split(a:msg, "\n") echomsg m endfor finally echohl None endtry endfunction function! s:self.error(msg) abort call self.echomsg('ErrorMsg', a:msg) endfunction function! s:self.warn(msg) abort call self.echomsg('WarningMsg', a:msg) endfunction function! s:self.confirm(msg) abort echohl WarningMsg echon a:msg . '? (y or n) ' echohl NONE let rst = nr2char(getchar()) " clear the cmdline redraw! if rst =~? 'y' || rst == nr2char(13) return 1 else return 0 endif endfunction function! SpaceVim#api#vim#message#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim/regex.vim ================================================ "============================================================================= " regex.vim --- regex parser for vim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} function! s:self.parser(regex, is_perl) abort let vim_regex = a:regex " matchadd function needs \ before [%@&] let vim_regex = substitute(vim_regex, '\([%@&]\)', '\\\1', 'g') " non-greedy pattern " replace from what to what? " let vim_regex = substitute(vim_regex, '(? *, +, ?, {m,n} let vim_regex = substitute(vim_regex, '(? atom\@= let vim_regex = substitute(vim_regex, '\(\?=(.+?)\)', '(\1)@=', 'g') " (?!atom) => atom\@! let vim_regex = substitute(vim_regex, '\(\?!(.+?)\)', '(\1)@!', 'g') " (?<=atom) => atom\@<= let vim_regex = substitute(vim_regex, '\(\?<=(.+?)\)', '(\1)@<=', 'g') " (? atom\@atom) => atom\@> let vim_regex = substitute(vim_regex, '\(\?>(.+?)\)', '(\1)@>', 'g') endif " this won't hurt although they are not the same let vim_regex = substitute(vim_regex, '\\A', '^', 'g') let vim_regex = substitute(vim_regex, '\\z', '$', 'g') let vim_regex = substitute(vim_regex, '\\B', '', 'g') " word boundary " \bword\b => let vim_regex = substitute(vim_regex, '\\b\(\w\+\)\\b', '<\1>', 'g') " right word boundary " \bword => \ word\> let vim_regex = substitute(vim_regex, '\(\w\+\)\\b', '\1>', 'g') " case-insensitive " (?i)abc => \cabc " (?-i)abc => \Cabc let vim_regex = substitute(vim_regex, '(?i)', '\\c', 'g') let vim_regex = substitute(vim_regex, '(?-i)', '\\C', 'g') " (?Pexp) => (exp) let vim_regex = substitute(vim_regex, '(?P<\w\+>\([^)]\+\))', '(\1)', 'g') " (?:exp) => %(exp) let vim_regex = substitute(vim_regex, '(?:\([^)]\+\))', '%(\1)', 'g') " \a bell (\x07) " \f form feed (\x0C) " \v vertical tab (\x0B) let vim_regex = substitute(vim_regex, '\\a', '%x07', 'g') let vim_regex = substitute(vim_regex, '\\f', '%x0C', 'g') let vim_regex = substitute(vim_regex, '\\v', '%x0B', 'g') " \123 octal character code (up to three digits) (when enabled) " \x7F hex character code (exactly two digits) " let vim_regex = substitute(vim_regex, '\\(x[0-9A-Fa-f][0-9A-Fa-f])', '%\1', 'g') " \x{10FFFF} any hex character code corresponding to a Unicode code point " \u007F hex character code (exactly four digits) " \u{7F} any hex character code corresponding to a Unicode code point " \U0000007F hex character code (exactly eight digits) " \U{7F} any hex character code corresponding to a Unicode code point " let vim_regex = substitute(vim_regex, '\\([uU])', '%\1', 'g') let vim_regex = substitute(vim_regex, '\[:ascii:\]', '[\\x00-\\x7F]', 'g') let vim_regex = substitute(vim_regex, '\[:word:\]', '[0-9A-Za-z_]', 'g') let vim_regex = substitute(vim_regex, '\[:alnum:\]', '[^0-9A-Za-z]', 'g') let vim_regex = substitute(vim_regex, '\[:alpha:\]', '[^A-Za-z]', 'g') let vim_regex = substitute(vim_regex, '\[:ascii:\]', '[^\x00-\x7F]', 'g') let vim_regex = substitute(vim_regex, '\[:blank:\]', '[^\t ]', 'g') let vim_regex = substitute(vim_regex, '\[:cntrl:\]', '[^\x00-\x1F\x7F]', 'g') let vim_regex = substitute(vim_regex, '\[:digit:\]', '[^0-9]', 'g') let vim_regex = substitute(vim_regex, '\[:graph:\]', '[^!-~]', 'g') let vim_regex = substitute(vim_regex, '\[:lower:\]', '[^a-z]', 'g') let vim_regex = substitute(vim_regex, '\[:print:\]', '[^ -~]', 'g') let vim_regex = substitute(vim_regex, '\[:punct:\]', '[^!-/:-@\[-`{-~]', 'g') let vim_regex = substitute(vim_regex, '\[:space:\]', '[^\t\n\r ]', 'g') let vim_regex = substitute(vim_regex, '\[:upper:\]', '[^A-Z]', 'g') let vim_regex = substitute(vim_regex, '\[:word:\]', '[^0-9A-Za-z_]', 'g') let vim_regex = substitute(vim_regex, '\[:xdigit:\]', '[^0-9A-Fa-f]', 'g') return '\v' . vim_regex endfunction function! SpaceVim#api#vim#regex#get() abort return deepcopy(s:self) endfunction " NOTE: " This idea of self.parser is from: " https://github.com/Yggdroot/LeaderF/blob/bc1ed5291191663fa3136f29bb07b8874d1226c3/autoload/leaderf/python/leaderf/rgExpl.py#L300-L380 ================================================ FILE: autoload/SpaceVim/api/vim/sid.vim ================================================ "============================================================================= " sid.vim --- SpaceVim SID API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section sid, api-vim-sid " @parentsection api "" Capture command let s:self = {} let s:self._file = SpaceVim#api#import('file') let s:self._data_dict = SpaceVim#api#import('data#dict') let s:self._cache = {} function! s:self._capture(command) abort try let save_verbose = &verbose let &verbose = 0 redir => out silent execute a:command finally redir END let &verbose = save_verbose endtry return out endfunction "" Capture command and return lines function! s:self._capture_lines(command) abort return split(self._capture(a:command), "\n") endfunction function! s:self.scriptnames() abort let sdict = {} " { sid: path } for line in self._capture_lines(':scriptnames') let [sid, path] = split(line, '\m^\s*\d\+\zs:\s\ze') let sdict[str2nr(sid)] = self._file.unify_path(path) " str2nr(): ' 1' -> 1 endfor return sdict endfunction function! s:self.get_sid_from_path(path) abort let path = self._file.unify_path(a:path) let scriptnames = self._data_dict.swap(self.scriptnames()) if has_key(scriptnames, path) return scriptnames[path] else return -1 endif endfunction function! SpaceVim#api#vim#sid#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim/signatures.vim ================================================ "============================================================================= " signatures.vim --- SpaceVim signatures API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:self.id = [] let s:self._STRING = SpaceVim#api#import('data#string') let s:self._cmp = SpaceVim#api#import('vim#compatible') let s:self.hi_info_group = 'Comment' let s:self.hi_warn_group = 'WarningMsg' let s:self.hi_error_group = 'ErrorMsg' if exists('*nvim_create_namespace') let s:self._hi_namespace = nvim_create_namespace('spacevim-signatures') endif if exists('*nvim_create_namespace') " @vimlint(EVL103, 1, a:col) function! s:self.info(line, col, message) abort call nvim_buf_set_virtual_text(0, self._hi_namespace, a:line - 2, [[a:message, self.hi_info_group],], {}) endfunction function! s:self.warn(line, col, message) abort call nvim_buf_set_virtual_text(0, self._hi_namespace, a:line - 2, [[a:message, self.hi_warn_group],], {}) endfunction function! s:self.error(line, col, message) abort call nvim_buf_set_virtual_text(0, self._hi_namespace, a:line - 2, [[a:message, self.hi_error_group],], {}) endfunction " @vimlint(EVL103, 0, a:col) else function! s:self.info(line, col, message) abort let chars = self._STRING.string2chars(self._STRING.strQ2B(a:message)) let chars = [' '] + chars for index in range(len(chars)) call add(self.id, self._cmp.matchaddpos('Conceal', [[a:line, a:col - 1 + index, 1]], 10, -1, {'conceal' : chars[index]})) endfor endfunction endif function! s:self.set_group(group) abort let self.group = a:group exe 'highlight ' . self.group . ' ctermbg=green guibg=green' endfunction call s:self.set_group('SpaceVim_signatures') if exists('*nvim_create_namespace') function! s:self.clear() abort call nvim_buf_clear_namespace(0, self._hi_namespace, 0, -1) endfunction else function! s:self.clear() abort for id in self.id call matchdelete(id) endfor let self.id = [] endfunction endif function! SpaceVim#api#vim#signatures#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim/statusline.vim ================================================ "============================================================================= " statusline.vim --- SpaceVim statusline API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} if has('nvim') let s:self.__floating = SpaceVim#api#import('neovim#floating') else let s:self.__floating = SpaceVim#api#import('vim#floating') endif let s:self.__buffer = SpaceVim#api#import('vim#buffer') let s:self.__cmp = SpaceVim#api#import('vim#compatible') function! s:self.check_width(len, sec, winwidth) abort return a:len + self.len(a:sec) < a:winwidth endfunction let s:self.__winid = -1 let s:self.__bufnr = -1 function! s:self.len(sec) abort let str = matchstr(a:sec, '%{.*}') if !empty(str) let pos = match(str, '}') return len(a:sec) - len(str) + len(eval(str[2:pos-1])) + 4 else return len(a:sec) + 4 endif endfunction function! s:self.eval(sec) abort return substitute(a:sec, '%{.*}', '', 'g') endfunction function! s:self.build(left_sections, right_sections, lsep, rsep, fname, tag, hi_a, hi_b, hi_c, hi_z, winwidth) abort let l = '%#' . a:hi_a . '#' . a:left_sections[0] let l .= '%#' . a:hi_a . '_' . a:hi_b . '#' . a:lsep let flag = 1 let len = 0 for sec in filter(a:left_sections[1:], '!empty(v:val)') if self.check_width(len, sec, a:winwidth) let len += self.len(sec) if flag == 1 let l .= '%#' . a:hi_b . '#' . sec let l .= '%#' . a:hi_b . '_' . a:hi_c . '#' . a:lsep else let l .= '%#' . a:hi_c . '#' . sec let l .= '%#' . a:hi_c . '_' . a:hi_b . '#' . a:lsep endif let flag = flag * -1 endif endfor let l = l[:len(a:lsep) * -1 - 1] if empty(a:right_sections) if flag == 1 return l . '%#' . a:hi_c . '#' else return l . '%#' . a:hi_b . '#' endif endif if self.check_width(len, a:fname, a:winwidth) let len += self.len(a:fname) if flag == 1 let l .= '%#' . a:hi_c . '_' . a:hi_z . '#' . a:lsep . '%#' . a:hi_z . '#' . a:fname . '%=' else let l .= '%#' . a:hi_b . '_' . a:hi_z . '#' . a:lsep . '%#' . a:hi_z . '#' . a:fname . '%=' endif else if flag == 1 let l .= '%#' . a:hi_c . '_' . a:hi_z . '#' . a:lsep . '%=' else let l .= '%#' . a:hi_b . '_' . a:hi_z . '#' . a:lsep . '%=' endif endif if self.check_width(len, a:tag, a:winwidth) && g:spacevim_enable_statusline_tag let l .= '%#' . a:hi_z . '#' . a:tag endif let l .= '%#' . a:hi_b . '_' . a:hi_z . '#' . a:rsep let flag = 1 for sec in filter(a:right_sections, '!empty(v:val)') if self.check_width(len, sec, a:winwidth) let len += self.len(sec) if flag == 1 let l .= '%#' . a:hi_b . '#' . sec let l .= '%#' . a:hi_c . '_' . a:hi_b . '#' . a:rsep else let l .= '%#' . a:hi_c . '#' . sec let l .= '%#' . a:hi_b . '_' . a:hi_c . '#' . a:rsep endif let flag = flag * -1 endif endfor return l[:-4] endfunction function! s:self.support_float() abort return self.__floating.exists() endfunction if has('nvim') function! s:self.opened() abort return win_id2tabwin(self.__winid)[0] == tabpagenr() endfunction else function! s:self.opened() abort "tabpage" will be -1 for a global popup, zero for a popup on "the current tabpage and a positive number for a popup on "another tabpage. if exists('*popup_list') return index(popup_list(), self.__winid) != -1 else return index([-1, 0], get(popup_getoptions(self.__winid), 'tabpage', -2)) != -1 endif endfunction endif function! s:self.open_float(st) abort if !has_key(self, '__bufnr') || !bufexists(self.__bufnr) let self.__bufnr = self.__buffer.bufadd('') endif if has_key(self, '__winid') && self.opened() else let self.__winid = self.__floating.open_win(self.__bufnr, \ v:false, \ { \ 'relative': 'editor', \ 'width' : &columns, \ 'height' : 1, \ 'highlight' : 'SpaceVim_statusline_a_bold', \ 'row': &lines - 2 , \ 'col': 0 \ }) endif call setbufvar(self.__bufnr, '&relativenumber', 0) call setbufvar(self.__bufnr, '&number', 0) call setbufvar(self.__bufnr, '&bufhidden', 'wipe') call setbufvar(self.__bufnr, '&cursorline', 0) call setbufvar(self.__bufnr, '&modifiable', 1) if exists('*nvim_buf_set_virtual_text') call setwinvar(win_id2win(self.__winid), '&cursorline', 0) call nvim_buf_set_virtual_text( \ self.__bufnr, \ -1, \ 0, \ a:st, \ {}) else let l = '' for [str, hg] in a:st let l .= str endfor call self.__buffer.buf_set_lines(self.__bufnr, 0, -1, 0, [l]) let begin = 1 let end = 0 for [str, hg] in a:st let end = strlen(str) call win_execute(self.__winid, 'call self.__cmp.matchaddpos(hg, [[1, begin, end]])') let begin += end endfor endif call setbufvar(self.__bufnr, '&modifiable', 0) return self.__winid endfunction if s:self.__floating.exists() function! s:self.close_float() abort if get(self, '__winid', -1) != -1 call self.__floating.win_close(self.__winid, 1) endif endfunction else function! s:self.close_float() abort if get(self, '__winid', -1) != -1 && win_id2tabwin(self.__winid)[0] == tabpagenr() noautocmd execute win_id2win(self.__winid).'wincmd w' noautocmd close endif endfunction endif function! SpaceVim#api#vim#statusline#get() abort return deepcopy(s:self) endfunction " vim:set et sw=2 cc=80 nowrap: ================================================ FILE: autoload/SpaceVim/api/vim/tab.vim ================================================ "============================================================================= " tab.vim --- SpaceVim tab API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:self.__cmp = SpaceVim#api#import('vim#compatible') let s:self._tree = {} function! s:self._update() abort let tabnr = tabpagenr('$') let self._tree = {} for i in range(1, tabnr) let buffers = tabpagebuflist(i) let self._tree[i] = buffers endfor endfunction function! s:self._jump(tabnr, winid) abort exe 'tabnext' . a:tabnr exe a:winid . 'wincmd w' endfunction function! s:self.get_tree() abort call self._update() return self._tree endfunction function! s:self.realTabBuffers(id) abort return filter(copy(tabpagebuflist(a:id)), 'buflisted(v:val) && getbufvar(v:val, "&buftype") ==# ""') endfunction function! s:tab_closed_handle() abort if expand('') <= get(s:, 'previous_tabpagenr', 0) let s:previous_tabpagenr -= 1 endif endfunction " as vim do not support tabpagenr('#') augroup spacevim_api_vim_tab autocmd! autocmd TabLeave * let s:previous_tabpagenr = tabpagenr() if exists('##TabClosed') autocmd TabClosed * call tab_closed_handle() endif augroup END function! s:self.previous_tabpagenr() abort return get(s:, 'previous_tabpagenr', 0) endfunction function! SpaceVim#api#vim#tab#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim/window.vim ================================================ "============================================================================= " window.vim --- window api for vim and neovim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section vim#window, api-vim-window " @parentsection api " @subsection Intro " " `vim#window` API provides some basic functions for setting and getting config " of vim window. " " @subsection Functions " " get_cursor({winid}) " " Gets the cursor position in the window {winid}, to get the ID of a window, " checkout |window-ID|. " " set_cursor({winid}, {pos}) " " Sets the cursor position to {pos} in the window {winid}. " " is_float({winid}) " " Check if the window is a floating windows, return `v:true` if the window " is a floating window. " " winexists({winid}) " " Check if the window with {winid} exists in current tabpage. let s:self = {} if exists('*nvim_win_get_cursor') function! s:self.get_cursor(winid) abort return nvim_win_get_cursor(a:winid) endfunction elseif get(g:, '_spacevim_if_lua', 0) function! s:self.get_cursor(winid) abort lua require("spacevim.api.vim.window").get_cursor(vim.eval("a:winid")) endfunction else function! s:self.get_cursor(winid) abort endfunction endif if exists('*nvim_win_set_cursor') function! s:self.set_cursor(winid, pos) abort return nvim_win_set_cursor(a:winid, a:pos) endfunction elseif exists('*win_execute') function! s:self.set_cursor(win, pos) abort " @fixme use g` to move to cursor line " this seem to be a bug of vim " https://github.com/vim/vim/issues/5022 call win_execute(a:win, ':call cursor(' . a:pos[0] . ', ' . a:pos[1] . ')') " call win_execute(a:win, ':' . a:pos[0]) call win_execute(a:win, ':normal! g"') endfunction elseif get(g:, '_spacevim_if_lua', 0) function! s:self.set_cursor(winid, pos) abort lua require("spacevim.api.vim.window").set_cursor(vim.eval("a:winid"), vim.eval("a:pos")) endfunction else function! s:self.set_cursor(winid, pos) abort endfunction endif if has('nvim') function! s:self.is_float(winid) abort if a:winid > 0 && exists('*nvim_win_get_config') try return has_key(nvim_win_get_config(a:winid), 'col') catch return 0 endtry else return 0 endif endfunction else function! s:self.is_float(winid) abort if a:winid > 0 && exists('*popup_getoptions') try return has_key(popup_getoptions(a:winid), 'col') catch /^Vim\%((\a\+)\)\=:E993/ return 0 endtry else return 0 endif endfunction endif function! s:self.win_count() abort if has('nvim') && exists('*nvim_win_get_config') return len(filter(range(1, winnr('$')), '!has_key(nvim_win_get_config(win_getid(v:val)), "col")')) else return winnr('$') endif endfunction function! s:self.winexists(winid) abort if !exists('win_id2tabwin') return 0 endif return win_id2tabwin(a:winid)[0] == tabpagenr() endfunction function! SpaceVim#api#vim#window#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/vim.vim ================================================ "============================================================================= " vim.vim --- vim api for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:self = {} let s:self.__cmp = SpaceVim#api#import('vim#compatible') let s:self.__string = SpaceVim#api#import('data#string') function! s:self.jumps() abort let result = [] for jump in split(self.__cmp.execute('jumps'), '\n')[1:] let list = split(jump) if len(list) < 4 continue endif let [linenr, col, file_text] = [list[1], list[2]+1, join(list[3:])] let lines = getbufline(file_text, linenr) let path = file_text let bufnr = bufnr(file_text) if empty(lines) if stridx(join(split(getline(linenr))), file_text) == 0 let lines = [file_text] let path = bufname('%') let bufnr = bufnr('%') elseif filereadable(path) let bufnr = 0 let lines = ['buffer unloaded'] else " Skip. continue endif endif if getbufvar(bufnr, '&filetype') ==# 'unite' " Skip unite buffer. continue endif call add(result, [linenr, col, file_text, path, bufnr, lines]) endfor return result endfunction function! s:self.parse_string(line) abort let expr = '`[^`]*`' let i = 0 let line = [] while i < strlen(a:line) || i != -1 let [rst, m, n] = self.__string.matchstrpos(a:line, expr, i) if m == -1 call add(line, a:line[ i : -1 ]) break else call add(line, a:line[ i : m-1]) try let rst = eval(rst[1:-2]) catch let rst = '' endtry call add(line, rst) endif let i = n endwhile return join(line, '') endfunction function! s:self.setbufvar(buf, dict) abort for key in keys(a:dict) call setbufvar(a:buf, key, a:dict[key]) endfor endfunction if exists('*nvim_win_set_cursor') function! s:self.win_set_cursor(win, pos) abort call nvim_win_set_cursor(a:win, a:pos) endfunction elseif exists('*win_execute') function! s:self.win_set_cursor(win, pos) abort " @fixme use g` to move to cursor line " this seem to be a bug of vim " https://github.com/vim/vim/issues/5022 call win_execute(a:win, ':call cursor(' . a:pos[0] . ', ' . a:pos[1] . ')') " call win_execute(a:win, ':' . a:pos[0]) call win_execute(a:win, ':normal! g"') endfunction elseif has('lua') " @vimlint(EVL103, 1, a:win) " @vimlint(EVL103, 1, a:pos) function! s:self.win_set_cursor(win, pos) abort lua local winindex = vim.eval("win_id2win(a:win) - 1") lua local w = vim.window(winindex) lua w.line = vim.eval("a:pos[0]") lua w.col = vim.eval("a:pos[1]") endfunction else function! s:self.win_set_cursor(win, pos) abort endfunction " @vimlint(EVL103, 0, a:win) " @vimlint(EVL103, 0, a:pos) endif if exists('*nvim_buf_line_count') function! s:self.buf_line_count(buf) abort return nvim_buf_line_count(a:buf) endfunction elseif has('lua') " @vimlint(EVL103, 1, a:buf) function! s:self.buf_line_count(buf) abort " lua numbers are floats, so use float2nr return float2nr(luaeval('#vim.buffer(vim.eval("a:buf"))')) endfunction " @vimlint(EVL103, 0, a:buf) else function! s:self.buf_line_count(buf) abort return len(getbufline(a:buf, 1, '$')) endfunction endif function! s:self.setbufvar(buf, dict) abort for key in keys(a:dict) call setbufvar(a:buf, key, a:dict[key]) endfor endfunction " https://vi.stackexchange.com/questions/16585/how-to-differentiate-quickfix-window-buffers-and-location-list-buffers if has('patch-7.4-2215') " && exists('*getwininfo') function! s:self.get_qf_winnr() abort let wins = filter(getwininfo(), 'v:val.quickfix && !v:val.loclist') " assert(len(wins) <= 1) return empty(wins) ? 0 : wins[0].winnr endfunction else function! s:self.get_qf_winnr() abort let buffers = split(self.__cmp.execute('ls!'), "\n") call filter(buffers, 'v:val =~# "\\V[Quickfix List]"') " :cclose removes the buffer from the list (in my config only??) " assert(len(buffers) <= 1) return empty(buffers) ? 0 : eval(matchstr(buffers[0], '\v^\s*\zs\d+')) endfunction endif function! s:self.is_qf_win(winnr) abort return a:winnr ==# self.get_qf_winnr() endfunction function! s:self.is_number(var) abort return type(a:var) ==# 0 endfunction function! s:self.is_string(var) abort return type(a:var) ==# 1 endfunction function! s:self.is_func(var) abort return type(a:var) ==# 2 endfunction function! s:self.is_list(var) abort return type(a:var) ==# 3 endfunction function! s:self.is_dict(var) abort return type(a:var) ==# 4 endfunction function! s:self.is_float(var) abort return type(a:var) ==# 5 endfunction function! s:self.is_bool(var) abort return type(a:var) ==# 6 endfunction function! s:self.is_none(var) abort return type(a:var) ==# 7 endfunction function! s:self.is_job(var) abort return type(a:var) ==# 8 endfunction function! s:self.is_channel(var) abort return type(a:var) ==# 9 endfunction function! s:self.is_blob(var) abort return type(a:var) ==# 10 endfunction if has('nvim') function! s:self.getchar(...) abort if !empty(get(g:, '_spacevim_input_list', [])) let input_timeout = get(g:, '_spacevim_input_timeout', 0) if input_timeout > 0 exe printf('sleep %dm', input_timeout) endif return remove(g:_spacevim_input_list, 0) endif try let ret = call('getchar', a:000) catch /^Vim:Interrupt$/ let ret = 3 endtry return (type(ret) == type(0) ? nr2char(ret) : ret) endfunction else function! s:self.getchar(...) abort if !empty(get(g:, '_spacevim_input_list', [])) let input_timeout = get(g:, '_spacevim_input_timeout', 0) if input_timeout > 0 exe printf('sleep %dm', input_timeout) endif return remove(g:_spacevim_input_list, 0) endif try let ret = call('getchar', a:000) catch /^Vim:Interrupt$/ let ret = 3 endtry while ret ==# "\x80\xfd\d" let ret = call('getchar', a:000) endwhile return (type(ret) == type(0) ? nr2char(ret) : ret) endfunction endif function! SpaceVim#api#vim#get() abort return deepcopy(s:self) endfunction ================================================ FILE: autoload/SpaceVim/api/web/html.vim ================================================ "============================================================================= " html.vim --- SpaceVim html API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim let s:self = {} let s:XML = SpaceVim#api#import('web#xml') let s:HTTP = SpaceVim#api#import('web#http') function! s:self.decodeEntityReference(str) abort let str = a:str let str = substitute(str, '>', '>', 'g') let str = substitute(str, '<', '<', 'g') let str = substitute(str, '"', '"', 'g') let str = substitute(str, ''', "'", 'g') let str = substitute(str, ' ', ' ', 'g') let str = substitute(str, '¥', '\¥', 'g') let str = substitute(str, '&#\(\d\+\);', '\=s:nr2enc_char(submatch(1))', 'g') let str = substitute(str, '&', '\&', 'g') let str = substitute(str, '»', '>', 'g') let str = substitute(str, '«', '<', 'g') return str endfunction function! s:self.encodeEntityReference(str) abort let str = a:str let str = substitute(str, '&', '\&', 'g') let str = substitute(str, '>', '\>', 'g') let str = substitute(str, '<', '\<', 'g') let str = substitute(str, "\n", '\ ', 'g') let str = substitute(str, '"', '\"', 'g') let str = substitute(str, "'", '\'', 'g') let str = substitute(str, ' ', '\ ', 'g') return str endfunction function! s:self.parse(html) abort let html = substitute(a:html, '<\(area\|base\|basefont\|br\|nobr\|col\|frame\|hr\|img\|input\|isindex\|link\|meta\|param\|embed\|keygen\|command\)\([^>]*[^/]\|\)>', '<\1\2/>', 'g') return s:XML.parse(html) endfunction function! s:self.parseFile(file) abort return self.parse(join(readfile(a:file), "\n")) endfunction function! s:self.parseURL(url) abort return self.parse(s:HTTP.get(a:url).content) endfunction function! SpaceVim#api#web#html#get() abort return deepcopy(s:self) endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: autoload/SpaceVim/api/web/http.vim ================================================ "============================================================================= " http.vim --- SpaceVim http API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim let s:self = {} let s:system = function(get(g:, 'webapi#system_function', 'system')) function! s:nr2byte(nr) abort if a:nr < 0x80 return nr2char(a:nr) elseif a:nr < 0x800 return nr2char(a:nr/64+192).nr2char(a:nr%64+128) elseif a:nr < 0x10000 return nr2char(a:nr/4096%16+224).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) elseif a:nr < 0x200000 return nr2char(a:nr/262144%16+240).nr2char(a:nr/4096/16+128).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) elseif a:nr < 0x4000000 return nr2char(a:nr/16777216%16+248).nr2char(a:nr/262144%16+128).nr2char(a:nr/4096/16+128).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) else return nr2char(a:nr/1073741824%16+252).nr2char(a:nr/16777216%16+128).nr2char(a:nr/262144%16+128).nr2char(a:nr/4096/16+128).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) endif endfunction function! s:nr2enc_char(charcode) abort if &encoding ==# 'utf-8' return nr2char(a:charcode) endif let char = s:nr2byte(a:charcode) if strlen(char) > 1 let char = strtrans(iconv(char, 'utf-8', &encoding)) endif return char endfunction function! s:nr2hex(nr) abort let n = a:nr let r = '' while n let r = '0123456789ABCDEF'[n % 16] . r let n = n / 16 endwhile return r endfunction function! s:urlencode_char(c, ...) abort let is_binary = get(a:000, 1) let c = a:c if !is_binary let c = iconv(a:c, &encoding, 'utf-8') if c ==# '' let c = a:c endif endif let s = '' for i in range(strlen(c)) let s .= printf('%%%02X', char2nr(c[i])) endfor return s endfunction function! s:self.decodeURI(str) abort let ret = a:str let ret = substitute(ret, '+', ' ', 'g') let ret = substitute(ret, '%\(\x\x\)', '\=printf("%c", str2nr(submatch(1), 16))', 'g') return ret endfunction function! s:self.escape(str) abort return substitute(a:str, '[^a-zA-Z0-9_.~/-]', '\=s:urlencode_char(submatch(0))', 'g') endfunction function! s:self.encodeURI(items, ...) abort let is_binary = get(a:000, 1) let ret = '' if type(a:items) == 4 for key in sort(keys(a:items)) if strlen(ret) | let ret .= '&' | endif let ret .= key . '=' . s:self.encodeURI(a:items[key]) endfor elseif type(a:items) == 3 for item in sort(a:items) if strlen(ret) | let ret .= '&' | endif let ret .= item endfor else let ret = substitute(a:items, '[^a-zA-Z0-9_.~-]', '\=s:urlencode_char(submatch(0), is_binary)', 'g') endif return ret endfunction function! s:self.encodeURIComponent(items) abort let ret = '' if type(a:items) == 4 for key in sort(keys(a:items)) if strlen(ret) | let ret .= '&' | endif let ret .= key . '=' . s:self.encodeURIComponent(a:items[key]) endfor elseif type(a:items) == 3 for item in sort(a:items) if strlen(ret) | let ret .= '&' | endif let ret .= item endfor else let items = iconv(a:items, &enc, 'utf-8') let len = strlen(items) let i = 0 while i < len let ch = items[i] if ch =~# '[0-9A-Za-z-._~!''()*]' let ret .= ch elseif ch ==# ' ' let ret .= '+' else let ret .= '%' . substitute('0' . s:nr2hex(char2nr(ch)), '^.*\(..\)$', '\1', '') endif let i = i + 1 endwhile endif return ret endfunction function! s:self.get(url, ...) abort let getdata = a:0 > 0 ? a:000[0] : {} let headdata = a:0 > 1 ? a:000[1] : {} let follow = a:0 > 2 ? a:000[2] : 1 let url = a:url let getdatastr = self.encodeURI(getdata) if strlen(getdatastr) let url .= '?' . getdatastr endif if executable('curl') let command = printf('curl -q %s -s -k -i', follow ? '-L' : '') " let quote = &shellxquote ==# '"' ? "'" : '"' " @fixme this line failed on windows let quote = '"' for key in keys(headdata) if has('win32') let command .= ' -H ' . quote . key . ': ' . substitute(headdata[key], '"', '"""', 'g') . quote else let command .= ' -H ' . quote . key . ': ' . headdata[key] . quote endif endfor let command .= ' ' . quote . url . quote let res = s:system(command) elseif executable('wget') let command = printf('wget -O- --save-headers --server-response -q %s', follow ? '-L' : '') " let quote = &shellxquote ==# '"' ? "'" : '"' let quote = '"' for key in keys(headdata) if has('win32') let command .= ' --header=' . quote . key . ': ' . substitute(headdata[key], '"', '"""', 'g') . quote else let command .= ' --header=' . quote . key . ': ' . headdata[key] . quote endif endfor let command .= ' ' . quote . url . quote let res = s:system(command) else throw 'require `curl` or `wget` command' endif if follow != 0 let mx = 'HTTP/\%(1\.[01]\|2\%(\.0\)\?\)' while res =~# '^' . mx . ' 3' || res =~# '^' . mx . ' [0-9]\{3} .\+\n\r\?\n' . mx . ' .\+' let pos = stridx(res, "\r\n\r\n") if pos != -1 let res = strpart(res, pos+4) else let pos = stridx(res, "\n\n") let res = strpart(res, pos+2) endif endwhile endif let pos = stridx(res, "\r\n\r\n") if pos != -1 let content = strpart(res, pos+4) else let pos = stridx(res, "\n\n") let content = strpart(res, pos+2) endif let header = split(res[:pos-1], '\r\?\n') let matched = matchlist(get(header, 0), '^HTTP/\%(1\.[01]\|2\%(\.0\)\?\)\s\+\(\d\+\)\s*\(.*\)') if !empty(matched) let [status, message] = matched[1 : 2] call remove(header, 0) else if v:shell_error || len(matched) let [status, message] = ['500', "Couldn't connect to host"] else let [status, message] = ['200', 'OK'] endif endif return { \ 'status' : status, \ 'message' : message, \ 'header' : header, \ 'content' : content \} endfunction function! s:self.post(url, ...) abort let postdata = a:0 > 0 ? a:000[0] : {} let headdata = a:0 > 1 ? a:000[1] : {} let method = a:0 > 2 ? a:000[2] : 'POST' let follow = a:0 > 3 ? a:000[3] : 1 let url = a:url if type(postdata) == 4 let postdatastr = self.encodeURI(postdata) else let postdatastr = postdata endif let file = tempname() if executable('curl') let command = printf('curl -q %s -s -k -i -X %s', (follow ? '-L' : ''), len(method) ? method : 'POST') let quote = &shellxquote ==# '"' ? "'" : '"' for key in keys(headdata) if has('win32') let command .= ' -H ' . quote . key . ': ' . substitute(headdata[key], '"', '"""', 'g') . quote else let command .= ' -H ' . quote . key . ': ' . headdata[key] . quote endif endfor let command .= ' ' . quote . url . quote call writefile(split(postdatastr, "\n"), file, 'b') let res = s:system(command . ' --data-binary @' . quote.file.quote) elseif executable('wget') let command = printf('wget -O- --save-headers --server-response -q %s', follow ? '-L' : '') let headdata['X-HTTP-Method-Override'] = method let quote = &shellxquote ==# '"' ? "'" : '"' for key in keys(headdata) if has('win32') let command .= ' --header=' . quote . key . ': ' . substitute(headdata[key], '"', '"""', 'g') . quote else let command .= ' --header=' . quote . key . ': ' . headdata[key] . quote endif endfor let command .= ' '.quote.url.quote call writefile(split(postdatastr, "\n"), file, 'b') let res = s:system(command . ' --post-data @' . quote.file.quote) else throw 'require `curl` or `wget` command' endif call delete(file) if follow != 0 let mx = 'HTTP/\%(1\.[01]\|2\%(\.0\)\?\)' while res =~# '^' . mx . ' 3' || res =~# '^' . mx . ' [0-9]\{3} .\+\n\r\?\n' . mx . ' .\+' let pos = stridx(res, "\r\n\r\n") if pos != -1 let res = strpart(res, pos+4) else let pos = stridx(res, "\n\n") let res = strpart(res, pos+2) endif endwhile endif let pos = stridx(res, "\r\n\r\n") if pos != -1 let content = strpart(res, pos+4) else let pos = stridx(res, "\n\n") let content = strpart(res, pos+2) endif let header = split(res[:pos-1], '\r\?\n') let matched = matchlist(get(header, 0), '^HTTP/\%(1\.[01]\|2\%(\.0\)\?\)\s\+\(\d\+\)\s*\(.*\)') if !empty(matched) let [status, message] = matched[1 : 2] call remove(header, 0) else if v:shell_error || len(matched) let [status, message] = ['500', "Couldn't connect to host"] else let [status, message] = ['200', 'OK'] endif endif return { \ 'status' : status, \ 'message' : message, \ 'header' : header, \ 'content' : content \} endfunction function! s:self.send(req) abort let postdata = get(a:req, 'data', '') let method = get(a:req, 'method', postdata ==# '' ? 'GET': 'POST') let headdata = get(a:req, 'header', {}) let follow = get(a:req, 'follow', 1) let url = get(a:req, 'url', '') if type(postdata) == 4 let postdatastr = self.encodeURI(postdata) else let postdatastr = postdata endif if empty(postdatastr) let file = '' else let file = tempname() endif if executable('curl') let command = printf('curl -q %s -s -k -i -X %s', (follow ? '-L' : ''), len(method) ? method : 'POST') let quote = &shellxquote ==# '"' ? "'" : '"' for key in keys(headdata) if has('win32') let command .= ' -H ' . quote . key . ': ' . substitute(headdata[key], '"', '"""', 'g') . quote else let command .= ' -H ' . quote . key . ': ' . headdata[key] . quote endif endfor let command .= ' ' . quote . url . quote if file ==# '' let res = s:system(command) else call writefile(split(postdatastr, "\n"), file, 'b') let res = s:system(command . ' --data-binary @' . quote.file.quote) call delete(file) endif elseif executable('wget') let command = printf('wget -O- --save-headers --server-response -q %s', follow ? '-L' : '') let headdata['X-HTTP-Method-Override'] = method let quote = &shellxquote ==# '"' ? "'" : '"' for key in keys(headdata) if has('win32') let command .= ' --header=' . quote . key . ': ' . substitute(headdata[key], '"', '"""', 'g') . quote else let command .= ' --header=' . quote . key . ': ' . headdata[key] . quote endif endfor let command .= ' '.quote.url.quote if file ==# '' let res = s:system(command) else call writefile(split(postdatastr, "\n"), file, 'b') let res = s:system(command . ' --post-data @' . quote.file.quote) call delete(file) endif else throw 'require `curl` or `wget` command' endif if follow != 0 let mx = 'HTTP/\%(1\.[01]\|2\%(\.0\)\?\)' while res =~# '^' . mx . ' 3' || res =~# '^' . mx . ' [0-9]\{3} .\+\n\r\?\n' . mx . ' .\+' let pos = stridx(res, "\r\n\r\n") if pos != -1 let res = strpart(res, pos+4) else let pos = stridx(res, "\n\n") let res = strpart(res, pos+2) endif endwhile endif let pos = stridx(res, "\r\n\r\n") if pos != -1 let content = strpart(res, pos+4) else let pos = stridx(res, "\n\n") let content = strpart(res, pos+2) endif let header = split(res[:pos-1], '\r\?\n') let matched = matchlist(get(header, 0), '^HTTP/\%(1\.[01]\|2\%(\.0\)\?\)\s\+\(\d\+\)\s*\(.*\)') if !empty(matched) let [status, message] = matched[1 : 2] call remove(header, 0) else if v:shell_error || len(matched) let [status, message] = ['500', "Couldn't connect to host"] else let [status, message] = ['200', 'OK'] endif endif return { \ 'status' : status, \ 'message' : message, \ 'header' : header, \ 'content' : content \} endfunction function! s:self.stream(req) abort let postdata = get(a:req, 'data', '') let method = get(a:req, 'method', postdata ==# '' ? 'GET': 'POST') let headdata = get(a:req, 'header', {}) let follow = get(a:req, 'follow', 1) let url = get(a:req, 'url', '') let mode = get(a:req, 'mode', 'nl') if type(postdata) == 4 let postdatastr = self.encodeURI(postdata) else let postdatastr = postdata endif if empty(postdatastr) let file = '' else let file = tempname() endif if executable('curl') let command = printf('curl -q %s -s -k -X %s', (follow ? '-L' : ''), len(method) ? method : 'POST') let quote = &shellxquote ==# '"' ? "'" : '"' for key in keys(headdata) if has('win32') let command .= ' -H ' . quote . key . ': ' . substitute(headdata[key], '"', '"""', 'g') . quote else let command .= ' -H ' . quote . key . ': ' . headdata[key] . quote endif endfor let command .= ' '.quote . url . quote if file ==# '' let job = job_start(command) else call writefile(split(postdatastr, "\n"), file, 'b') let job = job_start(command . ' --data-binary @' . quote.file.quote) call delete(file) endif elseif executable('wget') let command = printf('wget -O- -q %s', follow ? '-L' : '') let headdata['X-HTTP-Method-Override'] = method let quote = &shellxquote ==# '"' ? "'" : '"' for key in keys(headdata) if has('win32') let command .= ' --header=' . quote . key . ': ' . substitute(headdata[key], '"', '"""', 'g') . quote else let command .= ' --header=' . quote . key . ': ' . headdata[key] . quote endif endfor let command .= ' '.quote.url.quote if file ==# '' let job = job_start(command) else call writefile(split(postdatastr, "\n"), file, 'b') let job = job_start(command . ' --post-data @' . quote.file.quote) call delete(file) endif else throw 'require `curl` or `wget` command' endif call job_setoptions(job, \{ \ 'exit_cb': function('webapi#http#exit_cb', [a:req]), \ 'stoponexit': 'kill', \}) let a:req['job'] = job let channel = job_getchannel(job) call ch_setoptions(channel, \{ \ 'out_cb': function('webapi#http#out_cb', [a:req]), \ 'mode': mode, \}) let a:req['channel'] = channel let a:req['file'] = file endfunction " @vimlint(EVL103, 1, a:job) function! s:self.exit_cb(req, job, code) abort let file = get(a:req, 'file') if file !=# '' call delete(file) endif let fexit_cb = get(a:req, 'exit_cb', v:none) if fexit_cb != v:none call call(fexit_cb, [a:code]) endif endfunction " @vimlint(EVL103, 0, a:job) " @vimlint(EVL103, 1, a:ch) function! s:self.out_cb(req, ch, data) abort let fout_cb = get(a:req, 'out_cb', v:none) if fout_cb != v:none call Fout_cb(a:data) call call(fout_cb, [a:data]) endif endfunction " @vimlint(EVL103, 0, a:ch) function! SpaceVim#api#web#http#get() abort return deepcopy(s:self) endfunction let &cpo = s:save_cpo unlet s:save_cpo " vim:set et: ================================================ FILE: autoload/SpaceVim/api/web/xml.vim ================================================ "============================================================================= " xml.vim --- SpaceVim xml API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim let s:self = {} let s:HTTP = SpaceVim#api#import('web#http') let s:template = { 'name': '', 'attr': {}, 'child': [] } function! s:nr2byte(nr) abort if a:nr < 0x80 return nr2char(a:nr) elseif a:nr < 0x800 return nr2char(a:nr/64+192).nr2char(a:nr%64+128) else return nr2char(a:nr/4096%16+224).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) endif endfunction function! s:nr2enc_char(charcode) abort if &encoding ==# 'utf-8' return nr2char(a:charcode) endif let char = s:nr2byte(a:charcode) if strlen(char) > 1 let char = strtrans(iconv(char, 'utf-8', &encoding)) endif return char endfunction function! s:nr2hex(nr) abort let n = a:nr let r = '' while n let r = '0123456789ABCDEF'[n % 16] . r let n = n / 16 endwhile return r endfunction function! s:decodeEntityReference(str, ...) abort let str = a:str let str = substitute(str, '>', '>', 'g') let str = substitute(str, '<', '<', 'g') if get(g:, 'webapi#xml#decodeAsHTML', 0) let str = substitute(str, '"', '"', 'g') let str = substitute(str, ''', "'", 'g') let str = substitute(str, ' ', ' ', 'g') let str = substitute(str, '¥', '\¥', 'g') endif let str = substitute(str, '&#x\([0-9a-fA-F]\+\);', '\=s:nr2enc_char("0x".submatch(1))', 'g') let str = substitute(str, '&#\(\d\+\);', '\=s:nr2enc_char(submatch(1))', 'g') let str = substitute(str, '&', '\&', 'g') return str endfunction function! s:encodeEntityReference(str) abort let str = a:str let str = substitute(str, '&', '\&', 'g') let str = substitute(str, '>', '\>', 'g') let str = substitute(str, '<', '\<', 'g') let str = substitute(str, '"', '\"', 'g') "let str = substitute(str, "\n", '\ ', 'g') "let str = substitute(str, '"', '"', 'g') "let str = substitute(str, "'", ''', 'g') "let str = substitute(str, ' ', ' ', 'g') return str endfunction function! s:matchNode(node, cond) abort if type(a:cond) == 1 && a:node.name == a:cond return 1 endif if type(a:cond) == 2 return a:cond(a:node) endif if type(a:cond) == 3 let ret = 1 for l:R in a:cond if !s:matchNode(a:node, l:R) | let ret = 0 | endif unlet l:R endfor return ret endif if type(a:cond) == 4 for k in keys(a:cond) if has_key(a:node.attr, k) && a:node.attr[k] == a:cond[k] | return 1 | endif endfor endif return 0 endfunction function! s:template.childNode(...) dict abort for c in self.child if type(c) == 4 && s:matchNode(c, a:000) return c endif unlet c endfor return {} endfunction function! s:template.childNodes(...) dict abort let ret = [] for c in self.child if type(c) == 4 && s:matchNode(c, a:000) let ret += [c] endif unlet c endfor return ret endfunction function! s:template.value(...) dict abort if a:0 let self.child = a:000 return endif let ret = '' for c in self.child if type(c) <= 1 || type(c) == 5 let ret .= c elseif type(c) == 4 let ret .= c.value() endif unlet c endfor return ret endfunction function! s:template.find(...) dict abort for c in self.child if type(c) == 4 if s:matchNode(c, a:000) return c endif unlet! ret let ret = c.find(a:000) if !empty(ret) return ret endif endif unlet c endfor return {} endfunction function! s:template.findAll(...) dict abort let ret = [] for c in self.child if type(c) == 4 if s:matchNode(c, a:000) call add(ret, c) endif let ret += c.findAll(a:000) endif unlet c endfor return ret endfunction function! s:template.toString() dict abort let xml = '<' . self.name for attr in keys(self.attr) let xml .= ' ' . attr . '="' . s:encodeEntityReference(self.attr[attr]) . '"' endfor if len(self.child) let xml .= '>' for c in self.child if type(c) == 4 let xml .= c.toString() elseif type(c) > 1 let xml .= s:encodeEntityReference(string(c)) else let xml .= s:encodeEntityReference(c) endif unlet c endfor let xml .= '' else let xml .= ' />' endif return xml endfunction function! s:self.createElement(name) abort let node = deepcopy(s:template) let node.name = a:name return node endfunction " @vimlint(EVL102, 1, l:content) function! s:parse_tree(ctx, top) abort let node = a:top let stack = [a:top] " content accumulates the text only tags let content = '' let append_content_to_parent = 'if len(stack) && content != "" | call add(stack[-1].child, content) | let content ="" | endif' let mx = '^\s*\(]\+>\)' if a:ctx['xml'] =~ mx let match = matchstr(a:ctx['xml'], mx) let a:ctx['xml'] = a:ctx['xml'][stridx(a:ctx['xml'], match) + len(match):] let mx = 'encoding\s*=\s*["'']\{0,1}\([^"'' \t]\+\|[^"'']\+\)["'']\{0,1}' let matches = matchlist(match, mx) if len(matches) let encoding = matches[1] if len(encoding) && len(a:ctx['encoding']) == 0 let a:ctx['encoding'] = encoding let a:ctx['xml'] = iconv(a:ctx['xml'], encoding, &encoding) endif endif endif " this regex matches " 1) the remaining until the next tag begins " 2) maybe closing "/" of tag name " 3) tagname " 4) the attributes of the text (optional) " 5) maybe closing "/" (end of tag name) " or " 6) CDATA or '' " 7) text content of CDATA " 8) the remaining text after the tag (rest) " (These numbers correspond to the indexes in matched list m) let tag_mx = '^\(\_.\{-}\)\%(\%(<\(/\?\)\([^!/>[:space:]]\+\)\(\%([[:space:]]*[^/>=[:space:]]\+[[:space:]]*=[[:space:]]*\%([^"'' >\t]\+\|"[^"]*"\|''[^'']*''\)\|[[:space:]]\+[^/>=[:space:]]\+[[:space:]]*\)*\)[[:space:]]*\(/\?\)>\)\|\%(\)\|\(\)\)' while len(a:ctx['xml']) > 0 let m = matchlist(a:ctx.xml, tag_mx) if empty(m) | break | endif let a:ctx.xml = a:ctx.xml[len(m[0]) :] let is_end_tag = m[2] ==# '/' && m[5] ==# '' let is_start_and_end_tag = m[2] ==# '' && m[5] ==# '/' let tag_name = m[3] let attrs = m[4] if len(m[1]) let content .= s:decodeEntityReference(m[1]) endif if is_end_tag " closing tag: pop from stack and continue at upper level exec append_content_to_parent if len(stack) " TODO: checking whether opened tag is exist. call remove(stack, -1) endif continue endif " comment tag if m[8] !=# '' continue endif " if element is a CDATA if m[6] !=# '' let content .= m[7] continue endif let node = deepcopy(s:template) let node.name = tag_name let attr_mx = '\([^=[:space:]]\+\)\s*\%(=\s*''\([^'']*\)''\|=\s*"\([^"]*\)"\|=\s*\(\w\+\)\|\)' while len(attrs) > 0 let attr_match = matchlist(attrs, attr_mx) if len(attr_match) == 0 break endif let name = attr_match[1] let value = len(attr_match[2]) ? attr_match[2] : len(attr_match[3]) ? attr_match[3] : len(attr_match[4]) ? attr_match[4] : '' if value ==# '' let value = name endif let node.attr[name] = s:decodeEntityReference(value) let attrs = attrs[stridx(attrs, attr_match[0]) + len(attr_match[0]):] endwhile exec append_content_to_parent if len(stack) call add(stack[-1].child, node) endif if !is_start_and_end_tag " opening tag, continue parsing its contents call add(stack, node) endif endwhile endfunction " @vimlint(EVL102, 0, l:content) function! s:self.parse(xml) abort let top = deepcopy(s:template) let oldmaxmempattern=&maxmempattern let oldmaxfuncdepth=&maxfuncdepth let &maxmempattern=2000000 let &maxfuncdepth=2000 "try call s:parse_tree({'xml': a:xml, 'encoding': ''}, top) for node in top.child if type(node) == 4 return node endif unlet node endfor "catch /.*/ "endtry let &maxmempattern=oldmaxmempattern let &maxfuncdepth=oldmaxfuncdepth throw 'Parse Error' endfunction function! s:self.parseFile(file) abort return self.parse(join(readfile(a:file), "\n")) endfunction function! s:self.parseURL(url) abort return self.parse(s:HTTP.get(a:url).content) endfunction function! SpaceVim#api#web#xml#get() abort return deepcopy(s:self) endfunction let &cpo = s:save_cpo unlet s:save_cpo " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/api.vim ================================================ "============================================================================= " api.vim --- SpaceVim api " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section API, api " SpaceVim contains a variety of public apis. To using the api, you need to " make sure SpaceVim has been added to your &rtp. after that, you can use " |SpaceVim#api#import| to import the API you need. " " @subsection usage " " This is just an example, and it works well in old version vim. " > " let s:json = SpaceVim#api#import('data#json') " let rst = s:json.json_encode(onject) " let rst = s:json.json_decode(string) " < " " here is list of resources where SpaceVim comes from: " " - vital: https://github.com/vim-jp/vital.vim let s:apis = {} " the api itself is a dict, and it will be changed when user use the api. so " every time when request a api, we should provide an clean api. "" " Import API base the given {name}, and return the API object. for all " available APIs please check |spacevim-api| function! SpaceVim#api#import(name) abort if has_key(s:apis, a:name) return deepcopy(s:apis[a:name]) endif let p = {} try let p = SpaceVim#api#{a:name}#get() let s:apis[a:name] = deepcopy(p) catch /^Vim\%((\a\+)\)\=:E117/ endtry return p endfunction "" " Register new {api} named {name}, 1 will be returned if succeed. for all " available APIs please check |spacevim-api| " " Example: " > " let s:hello = {} " function! s:hello.say(who) " echo 'hello! ' . a:who " endfunction " call SpaceVim#api#register('hello', s:hello) " " " after registering api, you can use this api " " in other vim scripts like this: " let s:H = SpaceVim#api#import('hello') " call s:H.say('wsdjeg') " < function! SpaceVim#api#register(name, api) abort " the name must be string if type(a:name) ==# type('') && strlen(a:name) >= 1 if !empty(SpaceVim#api#import(a:name)) call SpaceVim#logger#warn('API:' . a:name . ' already existed!') else let s:apis[a:name] = deepcopy(a:api) endif else call SpaceVim#logger#warn('failed to register api, the name must be a no empty string!') endif endfunction " vim:set fdm=marker sw=2 nowrap: ================================================ FILE: autoload/SpaceVim/autocmds.vim ================================================ "============================================================================= " autocmd.vim --- main autocmd group for spacevim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:VIM = SpaceVim#api#import('vim') if has('nvim-0.10.0') "autocmds function! SpaceVim#autocmds#VimEnter() abort call SpaceVim#api#import('vim#highlight').hide_in_normal('EndOfBuffer') call s:apply_custom_space_keybindings() call s:apply_custom_leader_keybindings() if SpaceVim#layers#isLoaded('core#statusline') set laststatus=2 call SpaceVim#layers#core#statusline#def_colors() setlocal statusline=%!SpaceVim#layers#core#statusline#get(1) endif if SpaceVim#layers#isLoaded('core#tabline') call SpaceVim#layers#core#tabline#def_colors() set showtabline=2 endif call SpaceVim#logger#info('run root changed callback on VimEnter!') call SpaceVim#plugins#projectmanager#RootchandgeCallback() if !empty(get(g:, '_spacevim_bootstrap_after', '')) function! s:bootstrap_after(...) abort try call SpaceVim#logger#info('run bootstrap_after function:' . g:_spacevim_bootstrap_after) call call(g:_spacevim_bootstrap_after, []) call SpaceVim#logger#info('bootstrap_after function was called successfully.') let g:_spacevim_bootstrap_after_success = 1 catch call SpaceVim#logger#error('failed to call bootstrap_after function: ' . g:_spacevim_bootstrap_after) call SpaceVim#logger#error(' exception: ' . v:exception) call SpaceVim#logger#error(' throwpoint: ' . v:throwpoint) let g:_spacevim_bootstrap_after_success = 0 endtry endfunction if has('timers') call timer_start(g:spacevim_lazy_conf_timeout, function('s:bootstrap_after')) else call s:bootstrap_after() endif endif if !filereadable('.SpaceVim.d/init.toml') && filereadable('.SpaceVim.d/init.vim') call SpaceVim#logger#info('loading local conf: .SpaceVim.d/init.vim') try exe 'source .SpaceVim.d/init.vim' catch call SpaceVim#logger#error('Error occurred while loading the local configuration') call SpaceVim#logger#error(' exception: ' . v:exception) call SpaceVim#logger#error(' throwpoint: ' . v:throwpoint) endtry call SpaceVim#logger#info('finished loading local conf') endif let g:_spacevim_after_vimenter = 1 endfunction function! SpaceVim#autocmds#init() abort lua require('spacevim.autocmds').init() augroup SpaceVim_core au! autocmd BufWinEnter quickfix nnoremap \ q :call close_quickfix() if !has('nvim-0.5.0') autocmd InsertEnter * call s:fixindentline() endif autocmd ColorScheme gruvbox,jellybeans,nord,srcery,NeoSolarized,one,SpaceVim call s:fix_colorschem_in_SpaceVim() augroup END endfunction else "autocmds function! SpaceVim#autocmds#VimEnter() abort call SpaceVim#api#import('vim#highlight').hide_in_normal('EndOfBuffer') call s:apply_custom_space_keybindings() call s:apply_custom_leader_keybindings() if SpaceVim#layers#isLoaded('core#statusline') set laststatus=2 call SpaceVim#layers#core#statusline#def_colors() setlocal statusline=%!SpaceVim#layers#core#statusline#get(1) endif if SpaceVim#layers#isLoaded('core#tabline') call SpaceVim#layers#core#tabline#def_colors() set showtabline=2 endif call SpaceVim#logger#info('run root changed callback on VimEnter!') call SpaceVim#plugins#projectmanager#RootchandgeCallback() if !empty(get(g:, '_spacevim_bootstrap_after', '')) try call SpaceVim#logger#info('run bootstrap_after function:' . g:_spacevim_bootstrap_after) call call(g:_spacevim_bootstrap_after, []) call SpaceVim#logger#info('bootstrap_after function was called successfully.') let g:_spacevim_bootstrap_after_success = 1 catch call SpaceVim#logger#error('failed to call bootstrap_after function: ' . g:_spacevim_bootstrap_after) call SpaceVim#logger#error(' exception: ' . v:exception) call SpaceVim#logger#error(' throwpoint: ' . v:throwpoint) let g:_spacevim_bootstrap_after_success = 0 endtry endif if !get(g:, '_spacevim_bootstrap_before_success', 1) echohl Error echom 'bootstrap_before function failed to execute. Check `SPC h L` for errors.' echohl None endif if !get(g:, '_spacevim_bootstrap_after_success', 1) echohl Error echom 'bootstrap_after function failed to execute. Check `SPC h L` for errors.' echohl None endif if !filereadable('.SpaceVim.d/init.toml') && filereadable('.SpaceVim.d/init.vim') call SpaceVim#logger#info('loading local conf: .SpaceVim.d/init.vim') try exe 'source .SpaceVim.d/init.vim' catch call SpaceVim#logger#error('Error occurred while loading the local configuration') call SpaceVim#logger#error(' exception: ' . v:exception) call SpaceVim#logger#error(' throwpoint: ' . v:throwpoint) endtry call SpaceVim#logger#info('finished loading local conf') endif endfunction function! SpaceVim#autocmds#init() abort call SpaceVim#logger#debug('init SpaceVim_core autocmd group') augroup SpaceVim_core au! autocmd BufWinEnter quickfix nnoremap \ q :call close_quickfix() autocmd BufEnter * if (winnr('$') == 1 && &buftype ==# 'quickfix' ) | \ bd| \ q | endif autocmd QuitPre * call SpaceVim#plugins#windowsmanager#UpdateRestoreWinInfo() autocmd WinEnter * call SpaceVim#plugins#windowsmanager#MarkBaseWin() if g:spacevim_relativenumber autocmd BufEnter,WinEnter * if &nu | set rnu | endif autocmd BufLeave,WinLeave * if &nu | set nornu | endif endif if g:spacevim_enable_cursorline == 1 autocmd BufEnter,WinEnter,InsertLeave * call s:enable_cursorline() autocmd BufLeave,WinLeave,InsertEnter * call s:disable_cursorline() endif if g:spacevim_enable_cursorcolumn == 1 autocmd BufEnter,WinEnter,InsertLeave * setl cursorcolumn autocmd BufLeave,WinLeave,InsertEnter * setl nocursorcolumn endif autocmd BufLeave * call SpaceVim#plugins#history#savepos() autocmd BufNewFile,BufEnter * set cpoptions+=d " NOTE: ctags find the tags file from the current path instead of the path of currect file autocmd BufWinLeave * let b:_winview = winsaveview() autocmd BufWinEnter * if(exists('b:_winview')) | call winrestview(b:_winview) | endif autocmd BufEnter * :syntax sync fromstart " ensure every file does syntax highlighting (full) autocmd BufNewFile,BufRead *.avs set syntax=avs " for avs syntax file. autocmd FileType cs set comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,:// autocmd Filetype qf setlocal nobuflisted au StdinReadPost * call s:disable_welcome() if !has('nvim-0.5.0') autocmd InsertEnter * call s:fixindentline() endif autocmd BufEnter,FileType * call SpaceVim#mapping#space#refrashLSPC() if executable('synclient') && g:spacevim_auto_disable_touchpad let s:touchpadoff = 0 autocmd InsertEnter * call s:disable_touchpad() autocmd InsertLeave * call s:enable_touchpad() autocmd FocusLost * call system('synclient touchpadoff=0') autocmd FocusGained * call s:reload_touchpad_status() endif autocmd BufWritePre * call SpaceVim#plugins#mkdir#CreateCurrent() autocmd ColorScheme * call SpaceVim#api#import('vim#highlight').hide_in_normal('EndOfBuffer') autocmd ColorScheme * call SpaceVim#api#import('vim#highlight').hide_in_normal('StartifyEndOfBuffer') autocmd ColorScheme gruvbox,jellybeans,nord,srcery,NeoSolarized,one,SpaceVim call s:fix_colorschem_in_SpaceVim() autocmd VimEnter * call SpaceVim#autocmds#VimEnter() autocmd BufEnter * let b:_spacevim_project_name = get(g:, '_spacevim_project_name', '') autocmd SessionLoadPost * let g:_spacevim_session_loaded = 1 autocmd VimLeavePre * call SpaceVim#plugins#manager#terminal() if has('nvim') autocmd VimEnter,FocusGained * call SpaceVim#plugins#history#readcache() autocmd FocusLost,VimLeave * call SpaceVim#plugins#history#writecache() autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ call SpaceVim#plugins#history#jumppos() | \ endif endif augroup END endfunction endif let g:_spacevim_cursorline_flag = -1 function! s:enable_cursorline() abort if g:_spacevim_cursorline_flag == -1 setl cursorline endif endfunction function! s:disable_cursorline() abort if &filetype ==# 'denite' else setl nocursorline endif endfunction function! s:reload_touchpad_status() abort if s:touchpadoff call s:disable_touchpad() endif endfunction function! s:disable_touchpad() abort let s:touchpadoff = 1 call system('synclient touchpadoff=1') endfunction function! s:enable_touchpad() abort let s:touchpadoff = 0 call system('synclient touchpadoff=0') endfunction function! s:fixindentline() abort if !exists('s:done') && has('conceal') " The indentLine plugin need conceal feature if exists(':IndentLinesToggle') == 2 IndentLinesToggle IndentLinesToggle else echohl WarningMsg echom 'plugin : indentLines has not been installed, \ please use `:call dein#install(["indentLine"])` to install this plugin,' echohl None endif let s:done = 1 endif endfunction function! s:fix_colorschem_in_SpaceVim() abort if &background ==# 'dark' if g:colors_name ==# 'gruvbox' hi VertSplit guibg=#282828 guifg=#181A1F hi clear NormalFloat hi link NormalFloat PMenu elseif g:colors_name ==# 'one' hi VertSplit guibg=#282c34 guifg=#181A1F hi SPCFloatBorder guibg=#282c34 guifg=#181A1F hi SPCNormalFloat guifg=#abb2bf guibg=#282c34 hi clear StatusLineNC hi link StatusLineNC Normal elseif g:colors_name ==# 'jellybeans' hi VertSplit guibg=#151515 guifg=#080808 elseif g:colors_name ==# 'nord' hi VertSplit guibg=#2E3440 guifg=#262626 elseif g:colors_name ==# 'SpaceVim' hi VertSplit guibg=#262626 guifg=#181A1F elseif g:colors_name ==# 'srcery' hi VertSplit guibg=#1C1B19 guifg=#262626 hi clear Visual hi Visual guibg=#303030 elseif g:colors_name ==# 'NeoSolarized' hi VertSplit guibg=#002b36 guifg=#181a1f hi clear Pmenu hi Pmenu guifg=#839496 guibg=#073642 endif else if g:colors_name ==# 'gruvbox' hi VertSplit guibg=#fbf1c7 guifg=#e7e9e1 endif endif hi SpaceVimLeaderGuiderGroupName cterm=bold ctermfg=175 gui=bold guifg=#d3869b hi link WinSeparator VertSplit endfunction function! s:apply_custom_space_keybindings() abort for argv in g:_spacevim_mappings_space_custom_group_name if len(argv[0]) == 1 if !has_key(g:_spacevim_mappings_space, argv[0][0]) let g:_spacevim_mappings_space[argv[0][0]] = {'name' : argv[1]} endif elseif len(argv[0]) == 2 if !has_key(g:_spacevim_mappings_space, argv[0][0]) let g:_spacevim_mappings_space[argv[0][0]] = {'name' : '+Unnamed', \ argv[0][1] : { 'name' : argv[1]}, \ } else if !has_key(g:_spacevim_mappings_space[argv[0][0]], argv[0][1]) let g:_spacevim_mappings_space[argv[0][0]][argv[0][1]] = {'name' : argv[1]} endif endif endif endfor for argv in g:_spacevim_mappings_space_custom call call('SpaceVim#mapping#space#def', argv) endfor endfunction function! s:apply_custom_leader_keybindings() abort for argv in g:_spacevim_mappings_leader_custom_group_name if len(argv[0]) == 1 if !has_key(g:_spacevim_mappings, argv[0][0]) let g:_spacevim_mappings[argv[0][0]] = {'name' : argv[1]} endif elseif len(argv[0]) == 2 if !has_key(g:_spacevim_mappings, argv[0][0]) let g:_spacevim_mappings[argv[0][0]] = {'name' : '+Unnamed', \ argv[0][1] : { 'name' : argv[1]}, \ } else if !has_key(g:_spacevim_mappings[argv[0][0]], argv[0][1]) let g:_spacevim_mappings[argv[0][0]][argv[0][1]] = {'name' : argv[1]} endif endif endif endfor for argv in g:_spacevim_mappings_leader_custom call call('SpaceVim#mapping#def', argv) endfor endfunction function! s:disable_welcome() abort augroup SPwelcome au! augroup END endfunction function! s:close_quickfix() abort if winnr() == s:VIM.get_qf_winnr() cclose else lclose endif endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/bin/complete ================================================ #!/usr/bin/env expect log_user 0 set prompt {/@} set cmd [lindex $argv 0] # start bash with no startup files for clean env spawn env INPUTRC=/dev/null PS1=$prompt bash --norc expect $prompt # set some readline variables for consistent completion output send "bind 'set show-all-if-ambiguous on'\r" expect $prompt send "bind 'set bell-style none'\r" expect $prompt send "bind 'set completion-query-items -1'\r" expect $prompt send "bind 'set page-completions off'\r" expect $prompt send "bind 'set completion-display-width 0'\r" expect $prompt # run the completion send "$cmd\t $prompt" expect { # multiple matches, printed on separate lines, followed by prompt -re "^$cmd\r\n(.*)\r\n$prompt$cmd" { puts $expect_out(1,string) } # single match, completed in-place -re "^($cmd\[^ \]*) $prompt" { puts $expect_out(1,string) } # single match, completed in-place, nospace -re "^($cmd\[^ \]+) $prompt" { puts $expect_out(1,string) } # no match -re "^$cmd $prompt" { exit } } ================================================ FILE: autoload/SpaceVim/bin/get_complete ================================================ #!/usr/bin/env bash # Author: Brian Beffa # Original source: https://brbsix.github.io/2015/11/29/accessing-tab-completion-programmatically-in-bash/ # License: LGPLv3 (https://www.gnu.org/licenses/lgpl-3.0.txt) # get_completions(){ local completion COMP_CWORD COMP_LINE COMP_POINT COMP_WORDS COMPREPLY=() # load bash-completion if necessary declare -F _completion_loader &>/dev/null || { source /usr/share/bash-completion/bash_completion } COMP_LINE=$* COMP_POINT=${#COMP_LINE} eval set -- "$@" COMP_WORDS=("$@") # add '' to COMP_WORDS if the last character of the command line is a space [[ ${COMP_LINE[@]: -1} = ' ' ]] && COMP_WORDS+=('') # index of the last word COMP_CWORD=$(( ${#COMP_WORDS[@]} - 1 )) # determine completion function completion=$(complete -p "$1" 2>/dev/null | awk '{print $(NF-1)}') # run _completion_loader only if necessary [[ -n $completion ]] || { # load completion _completion_loader "$1" # detect completion completion=$(complete -p "$1" 2>/dev/null | awk '{print $(NF-1)}') } # ensure completion was detected [[ -n $completion ]] || return 1 # execute completion function "$completion" # print completions to stdout printf '%s\n' "${COMPREPLY[@]}" | LC_ALL=C sort } get_completions $@ ================================================ FILE: autoload/SpaceVim/commands/debug.vim ================================================ "============================================================================= " debug.vim --- debug tool for SpaceVim command " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:debug_message = [] function! SpaceVim#commands#debug#completion_debug(ArgLead, CmdLine, CursorPos) abort call add(s:debug_message, 'arglead:['.a:ArgLead .'] cmdline:[' .a:CmdLine .'] cursorpos:[' .a:CursorPos .']') endfunction function! SpaceVim#commands#debug#get_message() abort return join(s:debug_message, "\n") endfunction function! SpaceVim#commands#debug#clean_message() abort let s:debug_message = [] return s:debug_message endfunction ================================================ FILE: autoload/SpaceVim/commands.vim ================================================ "============================================================================= " commands.vim --- commands in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#commands#load() abort "" " Load exist layer, {layers} can be a string of a layer name, or a list " of layer names. command! -nargs=+ SPLayer call SpaceVim#layers#load() "" " Print the version of SpaceVim. The following lines contain information " about which features were enabled. When there is a preceding '+', the " feature is included, when there is a '-' it is excluded. command! -nargs=0 SPVersion call SpaceVim#commands#version() "" " Set or check SpaceVim option. {opt} should be the option name of " spacevim, This command will use [value] as the value of option name. command! -nargs=+ -complete=custom,SpaceVim#commands#complete_options \ SPSet call SpaceVim#options#set() "" " print the debug information of spacevim, [!] forces the output into a " new buffer. command! -nargs=0 -bang SPDebugInfo call SpaceVim#logger#viewLog('' == '!') "" " view runtime log command! -nargs=* SPRuntimeLog call SpaceVim#logger#viewRuntimeLog() "" " edit custom config file of SpaceVim, by default this command will open " global custom configuration file, '-l' option will load local custom " configuration file. " > " :SPConfig -g " < command! -nargs=* \ -complete=customlist,SpaceVim#commands#complete_SPConfig \ SPConfig call SpaceVim#commands#config() "" " Command for update plugin, support completion of plugin name. If run " without argv, All the plugin will be updated. " > " :SPUpdate vim-airline " < command! -nargs=* \ -complete=custom,SpaceVim#commands#complete_plugin \ SPUpdate call SpaceVim#commands#update_plugin() "" " Command for reinstall plugin, support completion of plugin name. command! -nargs=+ \ -complete=custom,SpaceVim#commands#complete_plugin \ SPReinstall call SpaceVim#commands#reinstall_plugin() "" " Command for install plugins. command! -nargs=* SPInstall call SpaceVim#commands#install_plugin() command! -nargs=* SPClean call SpaceVim#commands#clean_plugin() command! -nargs=0 Report call SpaceVim#issue#new() " Convenient command to see the difference between the current buffer and the " file it was loaded from, thus the changes you made. Only define it when not " defined already. command! DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis \ | wincmd p | diffthis "" " Open specific project in @section(options-src_root) command! -nargs=+ -complete=custom,SpaceVim#plugins#projectmanager#complete_project OpenProject :call SpaceVim#plugins#projectmanager#OpenProject() command! -nargs=* -complete=custom,SpaceVim#plugins#pmd#complete PMD :call SpaceVim#plugins#pmd#run() "" " Switch to alternate file based on {type}. for more info about alternate " file configuration, checkout @section(plugins-alternate) command! -nargs=? -complete=custom,SpaceVim#plugins#a#complete -bang A :call SpaceVim#plugins#a#alt(0,) endfunction " @vimlint(EVL103, 1, a:ArgLead) " @vimlint(EVL103, 1, a:CmdLine) " @vimlint(EVL103, 1, a:CursorPos) function! SpaceVim#commands#complete_plugin(ArgLead, CmdLine, CursorPos) abort if g:spacevim_plugin_manager ==# 'dein' return join(keys(dein#get()) + ['SpaceVim'], "\n") elseif g:spacevim_plugin_manager ==# 'neobundle' return join(map(neobundle#config#get_neobundles(), 'v:val.name'), "\n") endif endfunction " @vimlint(EVL103, 0, a:ArgLead) " @vimlint(EVL103, 0, a:CmdLine) " @vimlint(EVL103, 0, a:CursorPos) " @vimlint(EVL103, 1, a:ArgLead) " @vimlint(EVL103, 1, a:CmdLine) " @vimlint(EVL103, 1, a:CursorPos) function! SpaceVim#commands#complete_SPConfig(ArgLead, CmdLine, CursorPos) abort return ['-g', '-l'] endfunction " @vimlint(EVL103, 0, a:ArgLead) " @vimlint(EVL103, 0, a:CmdLine) " @vimlint(EVL103, 0, a:CursorPos) function! SpaceVim#commands#config(...) abort if a:0 > 0 if a:1 ==# '-g' exe 'tabnew' g:_spacevim_global_config_path elseif a:1 ==# '-l' exe 'tabnew' g:_spacevim_config_path endif else if g:spacevim_force_global_config || \ get(g:, '_spacevim_config_path', '0') ==# '0' exe 'tabnew' g:_spacevim_global_config_path else exe 'tabnew' g:_spacevim_config_path endif endif setlocal omnifunc=SpaceVim#custom#complete endfunction function! SpaceVim#commands#update_plugin(...) abort if g:spacevim_plugin_manager ==# 'neobundle' if a:0 == 0 call SpaceVim#plugins#manager#update() else call SpaceVim#plugins#manager#update(a:000) endif elseif g:spacevim_plugin_manager ==# 'dein' if a:0 == 0 call SpaceVim#plugins#manager#update() else call SpaceVim#plugins#manager#update(a:000) endif elseif g:spacevim_plugin_manager ==# 'vim-plug' endif endfunction function! SpaceVim#commands#reinstall_plugin(...) abort if g:spacevim_plugin_manager ==# 'dein' call SpaceVim#plugins#manager#reinstall(a:000) elseif g:spacevim_plugin_manager ==# 'neobundle' elseif g:spacevim_plugin_manager ==# 'vim-plug' endif endfunction function! SpaceVim#commands#clean_plugin() abort if g:spacevim_plugin_manager ==# 'dein' call map(dein#check_clean(), "delete(v:val, 'rf')") call dein#recache_runtimepath() elseif g:spacevim_plugin_manager ==# 'neobundle' " @todo add SPClean support for neobundle elseif g:spacevim_plugin_manager ==# 'vim-plug' " @todo add SPClean support for vim-plug endif endfunction function! SpaceVim#commands#install_plugin(...) abort if g:spacevim_plugin_manager ==# 'neobundle' if a:0 == 0 call SpaceVim#plugins#manager#install() else call SpaceVim#plugins#manager#install(a:000) endif elseif g:spacevim_plugin_manager ==# 'dein' if a:0 == 0 call SpaceVim#plugins#manager#install() else call SpaceVim#plugins#manager#install(a:000) endif elseif g:spacevim_plugin_manager ==# 'vim-plug' endif endfunction function! SpaceVim#commands#version() abort echo 'SpaceVim ' . g:spacevim_version . s:SHA() . "\n" . \ "\n" . \ 'Optional features included (+) or not (-):' . "\n" . \ s:check_features([ \ 'tui', \ 'jemalloc', \ 'acl', \ 'arabic', \ 'autocmd', \ 'browse', \ 'byte_offset', \ 'cindent', \ 'clientserver', \ 'clipboard', \ 'cmdline_compl', \ 'cmdline_hist', \ 'cmdline_info', \ 'comments', \ 'conceal', \ 'cscope', \ 'cursorbind', \ 'cursorshape', \ 'debug', \ 'dialog_gui', \ 'dialog_con', \ 'dialog_con_gui', \ 'digraphs', \ 'eval', \ 'ex_extra', \ 'extra_search', \ 'farsi', \ 'file_in_path', \ 'find_in_path', \ 'folding', \ 'gettext', \ 'iconv', \ 'iconv/dyn', \ 'insert_expand', \ 'jumplist', \ 'keymap', \ 'langmap', \ 'libcall', \ 'linebreak', \ 'lispindent', \ 'listcmds', \ 'localmap', \ 'menu', \ 'mksession', \ 'modify_fname', \ 'mouse', \ 'mouseshape', \ 'multi_byte', \ 'multi_byte_ime', \ 'multi_lang', \ 'path_extra', \ 'persistent_undo', \ 'postscript', \ 'printer', \ 'profile', \ 'python', \ 'python3', \ 'quickfix', \ 'reltime', \ 'rightleft', \ 'scrollbind', \ 'shada', \ 'signs', \ 'smartindent', \ 'startuptime', \ 'statusline', \ 'syntax', \ 'tablineat', \ 'tag_binary', \ 'tag_old_static', \ 'tag_any_white', \ 'termguicolors', \ 'terminfo', \ 'termresponse', \ 'textobjects', \ 'tgetent', \ 'timers', \ 'title', \ 'toolbar', \ 'user_commands', \ 'vertsplit', \ 'virtualedit', \ 'visual', \ 'visualextra', \ 'vreplace', \ 'wildignore', \ 'wildmenu', \ 'windows', \ 'writebackup', \ 'xim', \ 'xfontset', \ 'xpm', \ 'xpm_w32', \ ]) endfunction function! s:check_features(features) abort let flist = map(a:features, "(has(v:val) ? '+' : '-') . v:val") let rst = '' let id = 1 for f in flist let rst .= ' ' let rst .= f . repeat(' ', 20 - len(f)) if id == 3 let rst .= "\n" let id = 1 else let id += 1 endif endfor return substitute(rst, '\n*\s*$', '', 'g') endfunction function! s:SHA() abort let sha = system('git --no-pager -C ~/.SpaceVim log -n 1 --oneline')[:7] if v:shell_error return '' endif return '-' . sha endfunction function! SpaceVim#commands#complete_options(...) return join(map(getcompletion('g:spacevim_','var'), 'v:val[11:]'), "\n") endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/custom.vim ================================================ "============================================================================= " custom.vim --- custom API in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:TOML = SpaceVim#api#import('data#toml') let s:JSON = SpaceVim#api#import('data#json') let s:FILE = SpaceVim#api#import('file') let s:VIM = SpaceVim#api#import('vim') let s:CMP = SpaceVim#api#import('vim#compatible') function! SpaceVim#custom#profile(dict) abort for key in keys(a:dict) call s:set(key, a:dict[key]) endfor endfunction function! s:set(key,val) abort if !exists('g:spacevim_' . a:key) call SpaceVim#logger#warn('unsupported option: ' . a:key) else exe 'let ' . 'g:spacevim_' . a:key . '=' . a:val endif endfunction " What is your preferred editing style? " - Among the stars aboard the Evil flagship (vim) " - On the planet Emacs in the Holy control tower (emacs) " " What distribution of spacemacs would you like to start with? " The standard distribution, recommended (spacemacs) " A minimalist distribution that you can build on (spacemacs-base) function! SpaceVim#custom#autoconfig(...) abort let menu = SpaceVim#api#import('cmdlinemenu') let ques = [ \ ['basic mode', function('s:basic_mode')], \ ['dark powered mode', function('s:awesome_mode')], \ ] call menu.menu(ques) endfunction function! s:awesome_mode() abort let sep = s:FILE.separator let f = g:_spacevim_root_dir . join(['', 'mode', 'dark_powered.toml'], sep) let config = readfile(f, '') call s:write_to_config(config) endfunction function! s:basic_mode() abort let sep = s:FILE.separator let f = g:_spacevim_root_dir . join(['', 'mode', 'basic.toml'], sep) let config = readfile(f, '') call s:write_to_config(config) endfunction function! s:global_dir() abort if empty($SPACEVIMDIR) if !empty($XDG_CONFIG_HOME) return s:FILE.unify_path($XDG_CONFIG_HOME.'/SpaceVim.d/') else return s:FILE.unify_path($HOME.'/.SpaceVim.d/') endif else return s:FILE.unify_path($SPACEVIMDIR) endif endfunction function! s:write_to_config(config) abort let global_dir = s:global_dir() let g:_spacevim_global_config_path = global_dir . 'init.toml' let cf = global_dir . 'init.toml' if filereadable(cf) call SpaceVim#logger#warn('The file already exists:' . cf) return endif let dir = expand(fnamemodify(cf, ':p:h')) if !isdirectory(dir) call mkdir(dir, 'p') let success = mkdir(dir, 'p', 0700) if !success call SpaceVim#logger#info('failed to create dir:' . dir) return endif endif let result = writefile(a:config, cf, '') if result == -1 " failed to writefile call SpaceVim#logger#info('failed to write config to file:' . cf) endif endfunction "" " The first parameter sets the type of shortcut key, " which can be `nnoremap` or `nmap`, the second parameter is a list of keys, " and the third parameter is an ex command or key binding, " depending on whether the last parameter is true. " The fourth parameter is a short description of this custom key binding. function! SpaceVim#custom#SPC(m, keys, cmd, desc, is_cmd) abort call add(g:_spacevim_mappings_space_custom, \ [a:m, a:keys, a:cmd, a:desc, a:is_cmd]) endfunction "" " Set the group name of custom SPC key bindings. function! SpaceVim#custom#SPCGroupName(keys, name) abort call add(g:_spacevim_mappings_space_custom_group_name, [a:keys, a:name]) endfunction "" " function for adding custom leader key bindings function! SpaceVim#custom#leader(type, key, value, ...) abort call add(g:_spacevim_mappings_leader_custom, \ [a:type, a:key, a:value] + a:000) endfunction "" " Set the group name of custom Leader key bindings. function! SpaceVim#custom#LeaderGroupName(keys, name) abort call add(g:_spacevim_mappings_leader_custom_group_name, [a:keys, a:name]) endfunction "" " This function offers user a way to add custom language specific key " bindings. function! SpaceVim#custom#LangSPC(ft, m, keys, cmd, desc, is_cmd) abort if !has_key(g:_spacevim_mappings_language_specified_space_custom, a:ft) let g:_spacevim_mappings_language_specified_space_custom[a:ft] = [] endif call add(g:_spacevim_mappings_language_specified_space_custom[a:ft], \ [a:m, a:keys, a:cmd, a:desc, a:is_cmd]) endfunction "" " Set the group name of custom language specific key bindings. function! SpaceVim#custom#LangSPCGroupName(ft, keys, name) abort if !has_key(g:_spacevim_mappings_lang_group_name, a:ft) let g:_spacevim_mappings_lang_group_name[a:ft] = [] endif call add(g:_spacevim_mappings_lang_group_name[a:ft], [a:keys, a:name]) endfunction function! s:apply(config, type) abort " the type can be local or global " local config can override global config if type(a:config) != type({}) call SpaceVim#logger#info('config type is wrong!') else call SpaceVim#logger#info('start to apply config [' . a:type . ']') let options = get(a:config, 'options', {}) for [name, value] in items(options) if name ==# 'filemanager' if value ==# 'defx' && !has('python3') call SpaceVim#logger#warn('defx requires +python3!') continue elseif value ==# 'defx' && has('nvim') && !has('nvim-0.4.0') call SpaceVim#logger#warn('defx requires nvim 0.4.0+!') continue elseif value ==# 'neo-tree' && !has('nvim') call SpaceVim#logger#warn('neo-tree requires neovim') continue elseif value ==# 'nvim-tree' && !has('nvim') call SpaceVim#logger#warn('nvim-tree requires neovim') continue endif " keep backward compatibility elseif name ==# 'autocomplete_method' if value ==# 'deoplete' && !has('python3') if (has('python3') \ && (SpaceVim#util#haspy3lib('neovim') \ || SpaceVim#util#haspy3lib('pynvim'))) && \ (has('nvim') || (has('patch-8.0.0027'))) else call SpaceVim#logger#warn('deoplete requires +python3!') continue endif elseif value ==# 'nvim-cmp' && !has('nvim-0.7.0') " https://github.com/hrsh7th/nvim-cmp/issues/231 " nvim-cmp Breaking changes call SpaceVim#logger#warn('nvim-cmp will only work on nvim v0.7.x or higher') continue endif elseif name ==# 'statusline_right_sections' let name = 'statusline_right' elseif name ==# 'statusline_right_sections' let name = 'statusline_right' endif exe 'let g:spacevim_' . name . ' = value' if name ==# 'project_rooter_patterns' \ || name ==# 'project_rooter_outermost' " clear rooter cache call SpaceVim#plugins#projectmanager#current_root() endif unlet value endfor if g:spacevim_debug_level !=# 1 call SpaceVim#logger#debug('change SpaceVim logger level to:' . g:spacevim_debug_level) call SpaceVim#logger#setLevel(g:spacevim_debug_level) endif let layers = get(a:config, 'layers', []) for layer in layers let enable = get(layer, 'enable', 1) let name = get(layer, 'name', '') if (type(enable) == type('') && !eval(enable)) \ || (type(enable) != type('') && !enable) call SpaceVim#layers#disable(name) else call SpaceVim#layers#load(name, layer) endif endfor let custom_plugins = get(a:config, 'custom_plugins', []) for plugin in custom_plugins " name is an option for dein, we need to use repo instead " but we also need to keep backward compatible! " this the first argv should be get(plugin, 'repo', get(plugin, 'name', " '')) " BTW, we also need to check if the plugin has name or repo key if has_key(plugin, 'repo') call add(g:spacevim_custom_plugins, [plugin.repo, plugin]) elseif has_key(plugin, 'name') call add(g:spacevim_custom_plugins, [plugin.name, plugin]) else call SpaceVim#logger#warn('custom_plugins should contains repo key!') call SpaceVim#logger#info(string(plugin)) endif endfor "" " @section bootstrap_before, options-bootstrap_before " @parentsection options " set the bootstrap_before function, this function will be called when " loading custom configuration file. for example: " > " [options] " bootstrap_before = 'myspacevim#before' " < let bootstrap_before = get(options, 'bootstrap_before', '') "" " @section bootstrap_after, options-bootstrap_after " @parentsection options " set the bootstrap_after function, this function will be called on " `VimEnter` event. " > " [options] " bootstrap_after = 'myspacevim#after' " < let g:_spacevim_bootstrap_after = get(options, 'bootstrap_after', '') "" " @section bootstrap_script, options-bootstrap_script " @parentsection options " set the bootstrap_script string, this string will be called via " `nvim_exec`, that means this option only can be used in neovim. " > " [options] " bootstrap_script = ''' " let g:foo_test = 1 " let g:zff_test = 1 " ''' " < let bootstrap_script = get(options, 'bootstrap_script', '') if !empty(bootstrap_script) && exists('*nvim_exec') try call nvim_exec(bootstrap_script, 0) catch call SpaceVim#logger#error('failed to execute bootstrap_script.') call SpaceVim#logger#error(' exception: ' . v:exception) call SpaceVim#logger#error(' throwpoint: ' . v:throwpoint) endtry endif if !empty(bootstrap_before) try call SpaceVim#logger#info('run bootstrap_before function:' . bootstrap_before) call call(bootstrap_before, []) call SpaceVim#logger#info('bootstrap_before function was called successfully.') let g:_spacevim_bootstrap_before_success = 1 catch call SpaceVim#logger#error('bootstrap_before function failed: ' \ . bootstrap_before) call SpaceVim#logger#error(' exception: ' . v:exception) call SpaceVim#logger#error(' throwpoint: ' . v:throwpoint) let g:_spacevim_bootstrap_before_success = 0 endtry endif endif endfunction function! SpaceVim#custom#write(force) abort if a:force endif endfunction function! s:path_to_fname(path) abort return expand(g:spacevim_data_dir.'SpaceVim/conf/') \ . substitute(a:path, '[\\/:;.]', '_', 'g') . '.json' endfunction function! SpaceVim#custom#load() abort call s:load_glob_conf() if getcwd() !=# expand('~') call s:load_local_conf() else call SpaceVim#logger#info('current directory is $HOME, skip local config') endif if g:spacevim_enable_ycm && g:spacevim_snippet_engine !=# 'ultisnips' call SpaceVim#logger#info( \ 'YCM only support ultisnips') let g:spacevim_snippet_engine = 'ultisnips' endif endfunction function! s:load_local_conf() abort call SpaceVim#logger#info('start loading local config >>>') if filereadable('.SpaceVim.d/init.toml') let local_dir = s:FILE.unify_path( \ s:CMP.resolve(fnamemodify('.SpaceVim.d/', ':p:h'))) let g:_spacevim_config_path = local_dir . 'init.toml' let &rtp = local_dir . ',' . &rtp . ',' . local_dir . 'after' let local_conf = g:_spacevim_config_path call SpaceVim#logger#info('find local conf: ' . local_conf) let local_conf_cache = s:path_to_fname(local_conf) if getftime(local_conf) < getftime(local_conf_cache) call SpaceVim#logger#info('loading cached local conf: ' \ . local_conf_cache) let conf = s:JSON.json_decode(join(readfile(local_conf_cache, ''), '')) call s:apply(conf, 'local') else try let conf = s:TOML.parse_file(local_conf) let dir = s:FILE.unify_path(expand(g:spacevim_data_dir \ . 'SpaceVim/conf/')) if !isdirectory(dir) call mkdir(dir, 'p') endif call SpaceVim#logger#info('generate local conf: ' . local_conf_cache) call writefile([s:JSON.json_encode(conf)], local_conf_cache) call s:apply(conf, 'local') catch call SpaceVim#logger#warn('failed to load local config:' . v:errmsg) endtry endif elseif filereadable('.SpaceVim.d/init.vim') let local_dir = s:FILE.unify_path( \ s:CMP.resolve(fnamemodify('.SpaceVim.d/', ':p:h'))) let g:_spacevim_config_path = local_dir . 'init.vim' let &rtp = local_dir . ',' . &rtp . ',' . local_dir . 'after' let local_conf = g:_spacevim_config_path call SpaceVim#logger#info('find local conf: ' . local_conf) else call SpaceVim#logger#info('Could not find project local config') endif endfunction function! s:load_glob_conf() abort call SpaceVim#logger#info('start loading global config >>>') let global_dir = s:global_dir() call SpaceVim#logger#info('global_dir is: ' . global_dir) if filereadable(global_dir . 'init.toml') let g:_spacevim_global_config_path = global_dir . 'init.toml' let global_config = global_dir . 'init.toml' call SpaceVim#logger#info('find global config: ' . global_config) let global_config_cache = s:FILE.unify_path(expand(g:spacevim_data_dir \ . 'SpaceVim/conf/' . fnamemodify(resolve(global_config), ':t:r') \ . '.json')) let &rtp = global_dir . ',' . &rtp . ',' . global_dir . 'after' if getftime(resolve(global_config)) < getftime(resolve(global_config_cache)) let conf = s:JSON.json_decode(join(readfile(global_config_cache, ''), '')) call s:apply(conf, 'glob') else let dir = s:FILE.unify_path(expand(g:spacevim_data_dir \ . 'SpaceVim/conf/')) if !isdirectory(dir) call mkdir(dir, 'p') endif try let conf = s:TOML.parse_file(global_config) call writefile([s:JSON.json_encode(conf)], global_config_cache) call s:apply(conf, 'glob') catch call SpaceVim#logger#warn('failed to load global config:' . v:errmsg) endtry endif elseif filereadable(global_dir . 'init.vim') let g:_spacevim_global_config_path = global_dir . 'init.vim' let custom_glob_conf = global_dir . 'init.vim' let &rtp = global_dir . ',' . &rtp . ',' . global_dir . 'after' exe 'source ' . custom_glob_conf elseif filereadable(global_dir . 'init.lua') let g:_spacevim_global_config_path = global_dir . 'init.lua' let custom_glob_conf = global_dir . 'init.lua' let &rtp = global_dir . ',' . &rtp . ',' . global_dir . 'after' exe 'luafile ' . custom_glob_conf else if has('timers') " if there is no custom config auto generate it. let g:spacevim_checkinstall = 0 augroup SpaceVimBootstrap au! au VimEnter * call timer_start(2000, \ function('SpaceVim#custom#autoconfig')) augroup END endif endif endfunction " FIXME: the type should match the toml's type function! s:opt_type(opt) abort " autoload/SpaceVim/custom.vim:221:31:Error: EVL103: unused argument `a:opt` " @bugupstream viml-parser seem do not think this is used argument let opt = a:opt let var = get(g:, 'spacevim_' . opt, '') if s:VIM.is_string(var) return '[string]' elseif s:VIM.is_bool(var) return '[boolean]' elseif s:VIM.is_number(var) return '[number]' elseif s:VIM.is_list(var) return '[list]' endif endfunction function! s:short_desc_of_opt(opt) abort if a:opt =~# '^enable_' else endif return '' endfunction function! SpaceVim#custom#complete(findstart, base) abort if a:findstart let s:complete_type = '' let s:complete_layer_name = '' " locate the start of the word let section_line = search('^\s*\[','bn') if section_line > 0 if getline(section_line) =~# '^\s*\[options\]\s*$' if getline('.')[:col('.')-1] =~# '^\s*[a-zA-Z_]*$' let s:complete_type = 'spacevim_options' endif elseif getline(section_line) =~# '^\s*\[\[layers\]\]\s*$' let s:complete_type = 'layers_options' let layer_name_line = search('^\s*name\s*=','bn') if layer_name_line > section_line && layer_name_line < line('.') let s:complete_layer_name = \ eval(split(getline(layer_name_line), '=')[1]) endif endif endif let line = getline('.') let start = col('.') - 1 while start > 0 && line[start - 1] =~# '[a-zA-Z_]' let start -= 1 endwhile return start else call SpaceVim#logger#info('Complete SpaceVim configuration file:') call SpaceVim#logger#info('complete_type: ' . s:complete_type) call SpaceVim#logger#info('complete_layer_name: ' . s:complete_layer_name) let res = [] if s:complete_type ==# 'spacevim_options' for m in map(getcompletion('g:spacevim_','var'), 'v:val[11:]') if m =~ '^' . a:base call add(res, { \ 'word' : m, \ 'kind' : s:opt_type(m), \ 'menu' : s:short_desc_of_opt(m), \ }) endif endfor elseif s:complete_type ==# 'layers_options' let options = ['name'] if !empty(s:complete_layer_name) try let options = SpaceVim#layers#{s:complete_layer_name}#get_options() catch endtry endif for m in options if m =~ '^' . a:base call add(res, m) endif endfor endif return res endif endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/default.vim ================================================ "============================================================================= " default.vim --- default options in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:SYSTEM = SpaceVim#api#import('system') let s:TAB = SpaceVim#api#import('vim#tab') " Default options {{{ function! SpaceVim#default#options() abort " basic vim settings if has('gui_running') set guioptions-=m " Hide menu bar. set guioptions-=T " Hide toolbar set guioptions-=L " Hide left-hand scrollbar set guioptions-=r " Hide right-hand scrollbar set guioptions-=b " Hide bottom scrollbar set guioptions-=e " Hide tab try if s:SYSTEM.isWindows " please install the font in 'Dotfiles\font' set guifont=DejaVu_Sans_Mono_for_Powerline:h11:cANSI:qDRAFT elseif s:SYSTEM.isOSX set guifont=DejaVu\ Sans\ Mono\ for\ Powerline:h11 else set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 11 endif catch /^Vim\%((\a\+)\)\=:E518/ if has('gui_vimr') " VimR has disabled support for guifont else throw v:exception endif endtry endif " indent use backspace delete indent, eol use backspace delete line at " begining start delete the char you just typed in if you do not use set " nocompatible ,you need this set backspace=indent,eol,start set nrformats-=octal set listchars=tab:→\ ,eol:↵,trail:·,extends:↷,precedes:↶ set fillchars=vert:│,fold:· set laststatus=2 " hide cmd set noshowcmd " indent set autoindent set smartindent set cindent " show wildmenu set wildmenu " do not break words. set linebreak " Enable line number set number " Automatically read a file changed outside of vim set autoread " Set SpaceVim data directory {{{ " use ~/.cache/SpaceVim/ as default data directory, create the directory if " it does not exist. set backup set undofile set undolevels=1000 " Neovim 0.5 changed the undofile format if has('nvim-0.5.0') let g:data_dir = g:spacevim_data_dir.'SpaceVim/' else let g:data_dir = g:spacevim_data_dir.'SpaceVim/old/' endif let g:backup_dir = g:data_dir . 'backup//' let g:swap_dir = g:data_dir . 'swap//' let g:undo_dir = g:data_dir . 'undofile//' let g:conf_dir = g:data_dir . 'conf' if finddir(g:data_dir) ==# '' silent call mkdir(g:data_dir, 'p', 0700) endif if finddir(g:backup_dir) ==# '' silent call mkdir(g:backup_dir, 'p', 0700) endif if finddir(g:swap_dir) ==# '' silent call mkdir(g:swap_dir, 'p', 0700) endif if finddir(g:undo_dir) ==# '' silent call mkdir(g:undo_dir, 'p', 0700) endif if finddir(g:conf_dir) ==# '' silent call mkdir(g:conf_dir, 'p', 0700) endif let &undodir = g:undo_dir let &backupdir = g:backup_dir let &directory = g:swap_dir unlet g:data_dir unlet g:backup_dir unlet g:swap_dir unlet g:undo_dir unlet g:conf_dir " }}} set nowritebackup set matchtime=0 set noruler set showmatch set showmode "menuone: show the pupmenu when only one match " disable preview scratch window, set completeopt=menu,menuone,longest " h: 'complete' set complete=.,w,b,u,t " limit completion menu height set pumheight=15 set scrolloff=1 set sidescrolloff=5 set display+=lastline set incsearch set hlsearch set wildignorecase set mouse=nv set hidden set ttimeout set ttimeoutlen=50 if has('patch-7.4.314') " don't give ins-completion-menu messages. set shortmess+=c endif set shortmess+=s " Do not wrap lone lines set nowrap if exists('&belloff') " disable all bell set belloff=all endif set foldtext=SpaceVim#default#Customfoldtext() endfunction "}}} function! SpaceVim#default#layers() abort call SpaceVim#logger#info('init default layer list.') call SpaceVim#layers#load('autocomplete') call SpaceVim#layers#load('checkers') call SpaceVim#layers#load('format') call SpaceVim#layers#load('edit') call SpaceVim#layers#load('ui') call SpaceVim#layers#load('core') call SpaceVim#layers#load('core#banner') call SpaceVim#layers#load('core#statusline') call SpaceVim#layers#load('core#tabline') call SpaceVim#logger#info('layer list init done') endfunction function! SpaceVim#default#keyBindings(...) abort call SpaceVim#logger#info('init default key bindings.') xnoremap y :call clipboard#yank() nnoremap p clipboard#paste('p') nnoremap P clipboard#paste('P') xnoremap p clipboard#paste('p') xnoremap P clipboard#paste('P') let g:_spacevim_mappings.p = ['normal! "+p', 'paste after here'] let g:_spacevim_mappings.P = ['normal! "+P', 'paste before here'] xnoremap Y :call SpaceVim#plugins#pastebin#paste() " call SpaceVim#mapping#guide#register_displayname(':call SpaceVim#plugins#pastebin#paste()', 'copy to pastebin') " quickfix list movement let g:_spacevim_mappings.q = {'name' : '+Quickfix movement'} call SpaceVim#mapping#def('nnoremap', 'qn', ':cnext', \ 'Jump to next quickfix list position', \ 'cnext', \ 'Next quickfix list') call SpaceVim#mapping#def('nnoremap', 'qp', ':cprev', \ 'Jump to previous quickfix list position', \ 'cprev', \ 'Previous quickfix list') call SpaceVim#mapping#def('nnoremap', 'ql', ':copen', \ 'Open quickfix list window', \ 'copen', \ 'Open quickfix list window') call SpaceVim#mapping#def('nnoremap ', 'qr', 'q', \ 'Toggle recording', \ '', \ 'Toggle recording mode') call SpaceVim#mapping#def('nnoremap ', 'qc', ':call setqflist([])', \ 'Clear quickfix list', \ '', \ 'Clear quickfix') " Use Ctrl+* to jump between windows nnoremap :wincmd l nnoremap :wincmd h nnoremap :wincmd k nnoremap :wincmd j "] or ] move current line to the end or the begin of current buffer nnoremap ] ddGp`` nnoremap ] ddggP`` vnoremap ] dGp`` vnoremap ] dggP`` "Ctrl+Shift+Up/Down to move up and down nnoremap :m .+1== nnoremap :m .-2== inoremap :m .+1==gi inoremap :m .-2==gi vnoremap :m '>+1gv=gv vnoremap :m '<-2gv=gv " Start new line inoremap o if maparg('', 'n') == '' nnoremap :call SpaceVim#plugins#ctrlg#display() endif nnoremap :call SpaceVim#plugins#runner#close() " Improve scroll, credits: https://github.com/Shougo nnoremap zz (winline() == (winheight(0)+1) / 2) ? \ 'zt' : (winline() == &scrolloff + 1) ? 'zb' : 'zz' " Select blocks after indenting xnoremap < >gv| " Use tab for indenting in visual mode xnoremap >gv| xnoremap >>_ nnoremap < <<_ " smart up and down nnoremap gj nnoremap gk " Fast saving nnoremap :w vnoremap :w cnoremap w nnoremap gr :call switch_tabs() " Remove spaces at the end of lines nnoremap , :silent! keeppatterns %substitute/\s\+$//e " C-r: Easier search and replace xnoremap :call VSetSearch():,$s/=@///gc function! s:VSetSearch() abort let temp = @s norm! gv"sy let @/ = '\V' . substitute(escape(@s, '/\'), '\n', '\\n', 'g') let @s = temp endfunction "irssi like hot key nnoremap :call tobur(1) nnoremap :call tobur(2) nnoremap :call tobur(3) nnoremap :call tobur(4) nnoremap :call tobur(5) nnoremap :call tobur("next") nnoremap :call tobur("prev") call SpaceVim#logger#info('default key binding init done') endfunction fu! s:tobur(num) abort if has('nvim-0.9.5') lua require('spacevim.plugin.tabline').jump(vim.api.nvim_eval('a:num')) return endif if index(get(g:,'_spacevim_altmoveignoreft',[]), &filetype) == -1 if a:num ==# 'next' if tabpagenr('$') > 1 tabnext else bnext endif elseif a:num ==# 'prev' if tabpagenr('$') > 1 tabprevious else bprev endif else let ls = split(execute(':ls'), "\n") let buffers = [] for b in ls let nr = matchstr(b, '\d\+') call add(buffers, nr) endfor if len(buffers) >= a:num exec 'buffer ' . buffers[a:num - 1] endif endif endif endfunction function! SpaceVim#default#UseSimpleMode() abort endfunction function! SpaceVim#default#Customfoldtext() abort "get first non-blank line let fs = v:foldstart while getline(fs) =~# '^\s*$' | let fs = nextnonblank(fs + 1) endwhile if fs > v:foldend let line = getline(v:foldstart) else let line = substitute(getline(fs), '\t', repeat(' ', &tabstop), 'g') endif let foldsymbol='+' let repeatsymbol='-' let prefix = foldsymbol . ' ' let w = winwidth(0) - &foldcolumn - (&number ? 8 : 0) let foldSize = 1 + v:foldend - v:foldstart let foldSizeStr = ' ' . foldSize . ' lines ' let foldLevelStr = repeat('+--', v:foldlevel) let lineCount = line('$') let foldPercentage = printf('[%.1f', (foldSize*1.0)/lineCount*100) . '%] ' let expansionString = repeat(repeatsymbol, w - strwidth(prefix.foldSizeStr.line.foldLevelStr.foldPercentage)) return prefix . line . expansionString . foldSizeStr . foldPercentage . foldLevelStr endfunction function! s:switch_tabs() abort let previous_tab = s:TAB.previous_tabpagenr() if previous_tab > 0 exe 'tabnext ' . previous_tab endif endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/health/clipboard.vim ================================================ "============================================================================= " clipboard.vim --- SpaceVim clipboard checker " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#health#clipboard#check() abort let result = ['SpaceVim clipboard support check report:'] call add(result, 'Checking +clipboard:') if has('nvim') if has('clipboard') call add(result, ' SUCCEED!') else call add(result, ' Failed : to support +clipboard, you need has one of following clipboard tools in your $PATH:') call add(result, ' 1. xclip') call add(result, ' 2. xsel') call add(result, ' 3. pbcopy/pbpaste (Mac OS X)') call add(result, ' 4. lemonade (for SSH) https://github.com/pocke/lemonade') call add(result, ' 5. doitclient (for SSH) http://www.chiark.greenend.org.uk/~sgtatham/doit/') endif else if has('clipboard') call add(result, ' SUCCEED!') else call add(result, ' Failed : to support +clipboard, you need recompile your vim with +clipboard support.') endif endif return result endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/health/environment.vim ================================================ "============================================================================= " environment.vim --- SpaceVim environment checker " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:CMP = SpaceVim#api#import('vim#compatible') function! SpaceVim#health#environment#check() abort let result = ['SpaceVim environment check report:'] " FIXME: old vim does not provide v:progpath, we need a compatible function " for getting the progpath of current vim. call add(result, 'Current progpath: ' . v:progname . '(' . get(v:, 'progpath', '') . ')') if has('nvim') call add(result, 'version: ' . split(s:CMP.execute('version'), '\n')[0]) else call add(result, 'version: ' . v:version) endif call add(result, 'OS: ' . SpaceVim#api#import('system').name()) call add(result, '[shell, shellcmdflag, shellslash]: ' . string([&shell, &shellcmdflag, &shellslash])) return result endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/health/lua.vim ================================================ "============================================================================= " lua.vim --- SpaceVim lua checker " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#health#lua#check() abort let result = ['SpaceVim lua support check report:'] call add(result, 'Checking +lua:') if has('nvim') if has('lua') call add(result, ' SUCCEED!') else call add(result, ' Failed : Known issue, neovim do not support lua now.') endif else if has('lua') call add(result, ' SUCCEED!') else call add(result, ' Failed : to support +lua, you need recompile your vim with +lua support.') endif endif return result endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/health/python.vim ================================================ "============================================================================= " python.vim --- SpaceVim python checker " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:SYSTEM = SpaceVim#api#import('system') function! SpaceVim#health#python#check() abort let result = ['SpaceVim python support check report:'] if has('nvim') call add(result, 'Checking +python3:') if has('python3') call add(result, ' SUCCEED!') else call add(result, ' Failed : to support +python3, you need run `pip3 install neovim`') endif call add(result, 'Checking +python:') if has('python') call add(result, ' SUCCEED!') else call add(result, ' Failed : to support +python, you need run `pip2 install neovim`') endif else call add(result, 'Checking +python3:') if has('python3') call add(result, ' SUCCEED!') else if !s:SYSTEM.isWindows call add(result, ' Failed : to support +python3, Please install vim-gtk, or build from sources.') else call add(result, ' Failed : to support +python3, install vim from https://github.com/vim/vim-win32-installer/releases') call add(result, ' install python3, make sure you have `python` in your path.') endif endif call add(result, 'Checking +python:') if has('python') call add(result, ' SUCCEED!') else if !s:SYSTEM.isWindows call add(result, ' Failed : to support +python, Please install vim-gtk, or build from sources.') else call add(result, ' Failed : to support +python3, install vim from https://github.com/vim/vim-win32-installer/releases') call add(result, ' install python3, make sure you have `python` in your path.') endif endif endif return result endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/health.vim ================================================ "============================================================================= " health.vim --- SpaceVim health checker " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:CMP = SpaceVim#api#import('vim#compatible') function! SpaceVim#health#report() abort let items = map(s:CMP.globpath(&rtp,'autoload/SpaceVim/health/*'), "fnamemodify(v:val,':t:r')") let report = [] for item in items try let result = SpaceVim#health#{item}#check() call extend(report,result) catch /^Vim\%((\a\+)\)\=:E117/ call extend(report,[ \ '', \ 'SpaceVim Health Error:', \ ' There is no function: SpaceVim#health#' . item . '#check()', \ '', \ ]) endtry endfor return join(report + s:check_layers(), "\n") endfunction function! s:check_layers() abort let report = ['Checking SpaceVim layer health:'] for layer in SpaceVim#layers#get() try let result = SpaceVim#layers#{layer}#health() ? 'ok' : 'failed' call extend(report, [' - `' . layer . '`:' . result]) catch /^Vim\%((\a\+)\)\=:E117/ call extend(report, [' - `' . layer . '`: can not find function: SpaceVim#layers#' . layer . '#health()']) endtry endfor return report endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/issue.vim ================================================ "============================================================================= " issue.vim --- issue reporter for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:CMP = SpaceVim#api#import('vim#compatible') let s:STR = SpaceVim#api#import('data#string') function! SpaceVim#issue#report() abort call s:open() endfunction function! s:open() abort exe 'silent tabnew ' . tempname() . '/issue_report.md' let b:spacevim_issue_template = 1 let template = s:template() call setline(1, template) let @+ = join(template, "\n") silent w endfunction function! s:spacevim_status() abort let pwd = getcwd() try exe 'cd ' . fnamemodify(g:_spacevim_root_dir, ':p:h') let status = s:CMP.systemlist('git status') catch exe 'cd ~/.SpaceVim' let status = s:CMP.systemlist('git status') endtry exe 'cd ' . pwd if type(status) == 3 return status else return [status] endif endfunction function! s:template() abort let info = [ \ '', \ '## Expected behavior, english is recommend', \ '', \ '## Environment Information', \ '', \ '- OS: ' . SpaceVim#api#import('system').name(), \ '- vim version: ' . (has('nvim') ? '-' : s:CMP.version()), \ '- neovim version: ' . (has('nvim') ? s:CMP.version() : '-'), \ '- SpaceVim version: ' . g:spacevim_version, \ '- SpaceVim status: ' . s:spacevim_version(), \ '', \ '```' \ ] let info = info + s:spacevim_status() let info = info + [ \ '```', \ '', \ '## The reproduce ways from Vim starting (Required!)', \ '', \ '## Output of the `:SPDebugInfo!`', \ ''] \ + split(s:CMP.execute(':SPDebugInfo'), "\n") + \ [ \ '## Screenshots', \ '', \ 'If you have any screenshots for this issue please upload here. BTW you can use https://asciinema.org/ for recording video in terminal.' \ ] return info endfunction function! SpaceVim#issue#new() abort if get(b:, 'spacevim_issue_template', 0) == 1 let title = input('Issue title:') let username = input('github username:') let password = input('github password:') let issue = {'title' : title, \ 'body' : join(getline(1, '$'), "\n"), \ } let response = github#api#issues#Create('SpaceVim', 'SpaceVim', username, password, issue) if has_key(response, 'html_url') echo 'Issue created done: ' . response.html_url else echo 'Failed to create issue, please check the username and password' endif endif endfunction function! SpaceVim#issue#reopen(id) abort let issue = { \ 'state' : 'open' \ } let username = input('github username:') let password = input('github password:') call github#api#issues#Edit('SpaceVim', 'SpaceVim', a:id, username, password, issue) endfunction function! SpaceVim#issue#close(id) abort let issue = { \ 'state' : 'closed' \ } let username = input('github username:') let password = input('github password:') call github#api#issues#Edit('SpaceVim', 'SpaceVim', a:id, username, password, issue) endfunction function! s:spacevim_version() abort let pwd = getcwd() try exe 'cd ' . fnamemodify(g:_spacevim_root_dir, ':p:h') let status = s:CMP.systemlist('git rev-parse --short HEAD') catch exe 'cd ~/.SpaceVim' let status = s:CMP.systemlist('git rev-parse --short HEAD') endtry exe 'cd ' . pwd if type(status) == 3 return s:STR.trim(join(status)) else return '' endif endfunction ================================================ FILE: autoload/SpaceVim/layers/VersionControl.vim ================================================ "============================================================================= " VersionControl.vim --- SpaceVim version control layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section VersionControl, layers-VersionControl " @parentsection layers " This layer provides version control system (VCS) integration for SpaceVim. " " @subsection Key bindings " > " Key binding Description " SPC t m v toggle version control info " SPC t m h toggle hunks summary " SPC g . version control transient state " < if exists('s:CMP') finish endif let s:CMP = SpaceVim#api#import('vim#compatible') let s:enable_gtm_status = 0 function! SpaceVim#layers#VersionControl#plugins() abort let plugins = [] if !SpaceVim#layers#isLoaded('git') call add(plugins, ['mhinz/vim-signify', {'merged' : 0, 'loadconf' : 1}]) endif return plugins endfunction function! SpaceVim#layers#VersionControl#health() abort call SpaceVim#layers#VersionControl#plugins() call SpaceVim#layers#VersionControl#config() return 1 endfunction function! SpaceVim#layers#VersionControl#config() abort let g:_spacevim_mappings_space.g = get(g:_spacevim_mappings_space, 'g', {'name' : '+VCS/git'}) call SpaceVim#mapping#space#def('nnoremap', ['g', '.'], 'call call(' \ . string(s:_function('s:git_transient_state')) . ', [])', \ 'vcs-transient-state', 1) call SpaceVim#layers#core#statusline#register_sections('vcs', s:_function('s:git_branch')) call SpaceVim#layers#core#statusline#register_sections('hunks', s:_function('s:hunks')) call add(g:spacevim_statusline_left, 'vcs') call add(g:spacevim_statusline_left, 'hunks') call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'v'], 'call SpaceVim#layers#core#statusline#toggle_section("vcs")', \ 'toggle-vcs-info', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'h'], 'call SpaceVim#layers#core#statusline#toggle_section("hunks")', \ 'toggle-hunks-summary', 1) let g:gtm_plugin_status_enabled = s:enable_gtm_status if s:enable_gtm_status augroup gtm_plugin autocmd! autocmd BufReadPost,BufWritePost,CursorMoved,CursorMovedI * silent call s:record() augroup END endif nnoremap [n :call Context(1) nnoremap ]n :call Context(0) endfunction function! s:Context(reverse) abort call search('^\(@@ .* @@\|[<=>|]\{7}[<=>|]\@!\)', a:reverse ? 'bW' : 'W') endfunction function! SpaceVim#layers#VersionControl#set_variable(var) abort let s:enable_gtm_status = get(a:var, \ 'enable_gtm_status', \ s:enable_gtm_status) endfunction "  master function! s:git_branch() abort if exists('g:loaded_fugitive') try let head = exists("*FugitiveHead") ? FugitiveHead() : fugitive#Head() if empty(head) call FugitiveDetect(getcwd()) let head = exists("*FugitiveHead") ? FugitiveHead() : fugitive#Head() endif if g:spacevim_statusline_unicode == 1 return empty(head) ? '' : '  '.head . ' ' . s:gtm_status() else return empty(head) ? '' : ' '.head . ' ' . s:gtm_status() endif catch endtry else let prefix = g:spacevim_statusline_unicode ? '' : '' return printf('%%{git#branch#current("%s")}', prefix) endif return '' endfunction function! s:gtm_status() abort if s:enable_gtm_status let status = s:gtm_statusline() return empty(status) ? '' : ' (' . status . ') ' else return '' endif endfunction let s:last_update = 0 let s:last_file = '' let s:update_interval = 30 let s:gtm_plugin_status = '' function! s:record() abort let fpath = expand('%:p') " record if file path has changed or last update is greater than update_interval if (s:last_file != fpath || localtime() - s:last_update > s:update_interval) && filereadable(fpath) let s:cmd = (s:enable_gtm_status == 1 ? 'gtm record --status' : 'gtm record') let output=system(s:cmd . ' ' . shellescape(fpath)) if v:shell_error echoerr 'failed to run ' . s:cmd . ' ' . shellescape(fpath) else let s:gtm_plugin_status = (s:enable_gtm_status ? substitute(output, '\n\+$', '', '') : '') endif let s:last_update = localtime() let s:last_file = fpath endif endfunction function! s:gtm_statusline() abort return s:gtm_plugin_status endfunction " +0 ~0 -0 " if git layer is loaded, use vim-gitgutter instead. function! s:hunks() abort let hunks = [0,0,0] try if SpaceVim#layers#isLoaded('git') let hunks = GitGutterGetHunkSummary() else let hunks = sy#repo#get_stats() endif catch endtry let rst = '' if hunks[0] > 0 let rst .= hunks[0] . '+ ' endif if hunks[1] > 0 let rst .= hunks[1] . '~ ' endif if hunks[2] > 0 let rst .= hunks[2] . '- ' endif return empty(rst) ? '' : ' ' . rst endfunction " vcs transient state functions: " first we need to open a buffer contains: " Switches " -g Show graph (--graph) " -c Show graph in color (--color) " " Options " =n Limit number of commits (-n"256") " =f Limit to files (-- ) " =a Limit to author (--author=) " " Actions " l Log current let s:git_log_switches = { \ 'g' : {'desc' : 'Show graph', 'option' : '--graph', 'enable' : 0}, \ 'c' : {'desc' : 'Show graph in color', 'option' : '--color', 'enable' : 0}, \ 'd' : {'desc' : 'Show refnames', 'option' : '--decorate', 'enable' : 0}, \ 'S' : {'desc' : 'Show signatures', 'option' : '--show-signature', 'enable' : 0}, \ 'u' : {'desc' : 'Show diffs', 'option' : '--patch', 'enable' : 0}, \ 's' : {'desc' : 'Show diffstats', 'option' : '--stat', 'enable' : 0}, \ 'h' : {'desc' : 'Show header', 'option' : '++header', 'enable' : 0}, \ 'D' : {'desc' : 'Simplify by decoration', 'option' : '--simplify-by-decoration', 'enable' : 0}, \ 'f' : {'desc' : 'Follow renames when showing single-file log', 'option' : '--follow', 'enable' : 0}, \ } let s:git_log_options = { \ 'n' : {'desc' : 'Limit number of commits', 'option' : '-n', 'enable' : 0}, \ 'f' : {'desc' : 'Limit to files', 'option' : '--', 'enable' : 0}, \ 'a' : {'desc' : 'Limit to author', 'option' : '--author=', 'enable' : 0}, \ 'o' : {'desc' : 'Order commits by', 'option' : '++order=', 'enable' : 0}, \ 'g' : {'desc' : 'Search messages', 'option' : '--grep=', 'enable' : 0}, \ 'G' : {'desc' : 'Search changes', 'option' : '-G', 'enable' : 0}, \ 'S' : {'desc' : 'Search occurrences', 'option' : '-S', 'enable' : 0}, \ 'L' : {'desc' : 'Trace line evolution', 'option' : '-L', 'enable' : 0}, \ } let s:git_log_actions = { \ 'l' : {'desc' : 'Log current'}, \ 'o' : {'desc' : 'Log other'}, \ 'h' : {'desc' : 'Log HEAD'}, \ 'L' : {'desc' : 'Log local branches'}, \ 'b' : {'desc' : 'Log all branches'}, \ 'a' : {'desc' : 'Log all references'}, \ 'r' : {'desc' : 'Reflog current'}, \ 'O' : {'desc' : 'Reflog other'}, \ 'H' : {'desc' : 'Reflog HEAD'}, \ } " generate git log popup content && defind key bindings {{{ function! s:generate_git_log_popup_content() abort let lines = ['Switches'] for k in keys(s:git_log_switches) call add(lines, ' -' . k . ' ' . s:git_log_switches[k]['desc'] . '(' . s:git_log_switches[k]['option'] . ')') exe 'nnoremap -' . k . ' :call toggle_switches("' . k . '")' endfor call add(lines, '') call add(lines, 'Options') for k in keys(s:git_log_options) call add(lines, ' =' . k . ' ' . s:git_log_options[k]['desc'] . '(' . s:git_log_options[k]['option'] . ')') exe 'nnoremap =' . k . ' :call change_options("' . k . '")' endfor call add(lines, '') call add(lines, 'Actions') let actions_line = '' let i = 0 for k in ['l', 'L', 'r', 'o', 'b', 'O', 'h', 'a', 'H'] let i += 1 let actions_line .= ' ' . k . ' ' . s:git_log_actions[k]['desc'] exe 'nnoremap ' . k . ' :call ' . join(split(s:git_log_actions[k]['desc']), '_') . '()' let actions_line .= repeat(' ', i % 3 * 30 - len(actions_line)) if i%3 == 0 call add(lines, actions_line) let actions_line = '' endif endfor if !empty(actions_line) call add(lines, actions_line) let actions_line = '' endif return lines endfunction " }}} " git popup menu switches functions {{{ let s:switches_hi_id = 0 function! s:highlight_switches() abort let line = 1 try call matchdelete(s:switches_hi_id) catch endtry let poses = [] for k in keys(s:git_log_switches) let line += 1 if s:git_log_switches[k].enable call add(poses, [line, len(s:git_log_switches[k].desc) + 6, len(s:git_log_switches[k].option)]) endif endfor " vim has a bug, Normal higlight group does not work will matchaddpos " So we need to use new highlight group let s:switches_hi_id = s:CMP.matchaddpos('MoreMsg', poses) endfunction function! s:toggle_switches(key) abort if s:git_log_switches[a:key].enable let s:git_log_switches[a:key].enable = 0 else let s:git_log_switches[a:key].enable = 1 endif call s:highlight_switches() endfunction " }}} " git popup menu options functions {{{ let s:options_hi_id = 0 function! s:highlight_options() abort let line = 1 + len(keys(s:git_log_switches)) + 2 try call matchdelete(s:options_hi_id) catch endtry let poses = [] for k in keys(s:git_log_options) let line += 1 if s:git_log_options[k].enable call add(poses, [line, len(s:git_log_options[k].desc) + 6, len(s:git_log_options[k].option)]) endif endfor " vim has a bug, Normal higlight group does not work will matchaddpos " So we need to use new highlight group " ref: https://github.com/vim/vim/issues/3752 let s:options_hi_id = s:CMP.matchaddpos('MoreMsg', poses) endfunction function! s:change_options(key) abort if s:git_log_options[a:key].enable let s:git_log_options[a:key].enable = 0 else let s:git_log_options[a:key].enable = 1 if a:key ==# 'a' " change author let orig_author = matchstr(s:git_log_options[a:key].option, '\("\)\@<=[^"]*') let author = input('--author=', orig_author) if !empty(author) let s:git_log_options[a:key].option = '--author="' . author . '"' else let s:git_log_options[a:key].option = '--author=' endif elseif a:key ==# 'g' " change search text " change author let origin_grep = matchstr(s:git_log_options[a:key].option, '\("\)\@<=[^"]*') let grep = input('--grep=', origin_grep) if !empty(grep) let s:git_log_options[a:key].option = '--grep=' . grep else let s:git_log_options[a:key].option = '--grep=' endif elseif a:key ==# 'n' let orig_nr = matchstr(s:git_log_options[a:key].option, '\("\)\@<=[^"]*') let nr = str2nr(input('-n', orig_nr)) if nr > 0 let s:git_log_options[a:key].option = '-n"' . nr . '"' else echohl WarningMsg echo 'need to input number' echohl None let s:git_log_options[a:key].enable = 0 let s:git_log_options[a:key].option = '-n' endif endif setlocal modifiable let content = s:generate_git_log_popup_content() normal! gg"_dG call setline(1, content) setlocal nomodifiable endif call s:highlight_options() endfunction " }}} function! s:open_log_popup_buffer() abort exe 'rightbelow split __SpaceVim_git_log_popup__' setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonumber norelativenumber nocursorline setfiletype SpaceVimGitLogPopup let content = s:generate_git_log_popup_content() exe 'resize ' . len(content) call setline(1, content) setlocal nomodifiable call s:highlight_switches() call s:highlight_options() endfunction function! s:show_repo_log() abort call s:open_log_popup_buffer() endfunction function! s:get_log_argv() abort let argv = [] for k in keys(s:git_log_switches) if s:git_log_switches[k].enable call add(argv, s:git_log_switches[k].option) endif endfor for k in keys(s:git_log_options) if s:git_log_options[k].enable call add(argv, s:git_log_options[k].option) endif endfor return argv endfunction " git log popup action functions {{{ function! s:Log_current() abort close let argv = s:get_log_argv() call git#log#run(argv) endfunction " }}} function! s:show_diff_of_unstaged_hunks() abort endfunction function! s:fetch_repo() abort Git fetch endfunction function! s:pull_repo() abort Git pull endfunction function! s:push_repo() abort Git push endfunction function! s:commit_popup() abort Git commit -m update endfunction function! s:commit() abort Git commit endfunction function! s:revert_hunk() abort endfunction function! s:stage_hunk() abort endfunction function! s:show_hunk_diff() abort endfunction function! s:git_transient_state() abort let state = SpaceVim#api#import('transient_state') call state.set_title('VCS Transient State') call state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'left' : [ \ { \ 'key' : 'n', \ 'desc' : 'next hunk', \ 'func' : '', \ 'cmd' : 'normal ]c', \ 'exit' : 0, \ }, \ { \ 'key' : ['N', 'p'], \ 'desc' : 'previous hunk', \ 'func' : '', \ 'cmd' : 'normal [c', \ 'exit' : 0, \ }, \ { \ 'key' : { \ 'name' : 'r/s/h', \ 'pos' : [[1,2], [3,4], [5,6]], \ 'handles' : [ \ ['r' , 'call call(' . string(s:_function('s:revert_hunk')) . ', [])'], \ ['s' , 'call call(' . string(s:_function('s:stage_hunk')) . ', [])'], \ ['h' , 'call call(' . string(s:_function('s:show_hunk_diff')) . ', [])'], \ ], \ }, \ 'desc' : 'revert/stage/show hunk', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 0, \ }, \ { \ 'key' : 't', \ 'desc' : 'toggle diff signs', \ 'func' : '', \ 'cmd' : SpaceVim#layers#isLoaded('git') ? 'GitGutterToggle' : 'SignifyToggle', \ 'exit' : 0, \ }, \ ], \ 'right' : [ \ { \ 'key' : { \ 'name' : 'w/u', \ 'pos': [[0,1], [2,3]], \ 'handles' : [ \ ['w', 'Gina add %'], \ ['u', 'Gina reset %'], \ ], \ }, \ 'desc' : 'stage/unstage in current file', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 0, \ }, \ { \ 'key' : { \ 'name' : 'c/C', \ 'pos' : [[0,1], [2,3]], \ 'handles' : [ \ ['c' , 'call call(' . string(s:_function('s:commit_popup')) . ', [])'], \ ['C' , 'call call(' . string(s:_function('s:commit')) . ', [])'], \ ], \ }, \ 'desc' : 'commit with popup/direct commit', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 1, \ }, \ { \ 'key' : { \ 'name' : 'f/F/P', \ 'pos' : [[0,1], [2,3], [4,5]], \ 'handles' : [ \ ['f' , 'call call(' . string(s:_function('s:fetch_repo')) . ', [])'], \ ['F' , 'call call(' . string(s:_function('s:pull_repo')) . ', [])'], \ ['P' , 'call call(' . string(s:_function('s:push_repo')) . ', [])'], \ ], \ }, \ 'desc' : 'fetch/pull/push popup', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 1, \ }, \ { \ 'key' : 'l', \ 'desc' : 'log/diff popup', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 1, \ 'exit_cmd' : 'call call(' . string(s:_function('s:show_repo_log')) . ', [])', \ }, \ ], \ } \ ) call state.open() endfunction function! SpaceVim#layers#VersionControl#loadable() abort return 1 endfunction " function() wrapper {{{ if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " }}} ================================================ FILE: autoload/SpaceVim/layers/autocomplete.vim ================================================ "============================================================================= " autocomplete.vim --- SpaceVim autocomplete layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section autocomplete, layers-autocomplete " @parentsection layers " This layer provides auto-completion in SpaceVim. This layer is enabled by " default. To disable this layer, add following snippet to your configuration " file: " > " [[layers]] " name = "autocomplete" " enable = false " < " " The following completion engines are supported: " " 1. nvim-cmp - neovim >= 0.9.0 " 2. neocomplete - vim with `+lua` " 3. neocomplcache - vim without `+lua` " 4. deoplete - neovim with `+python3` " 5. coc - vim >= 8.1 or neovim >= 0.3.1 " 6. YouCompleteMe - disabled by default, to enable ycm, see " @section(options-enable_ycm) " 7. Completor - vim8 with `+python` or `+python3` " 8. asyncomplete - vim8 or neovim with `timers` " " Snippets are supported via neosnippet(https://github.com/Shougo/neosnippet.vim). " " @subsection Completion engine " " By default, SpaceVim will choose the completion engine automatically based " on your vim version. But you can choose the completion engine to be used " with the following variable: " " - `autocomplete_method`: the possible values are: " - `ycm`: for YouCompleteMe " - `neocomplcache` " - `coc`: coc.nvim which also provides language server protocol feature " - `deoplete` " - `asyncomplete` " - `completor` " - `nvim-cmp` " " here is an example: " > " [options] " autocomplete_method = "deoplete" " < " " @subsection Snippets engine " " The default snippets engine is `neosnippet`, the also can be changed to `ultisnips`: " > " [options] " snippet_engine = "ultisnips" " < " " The following snippets repos have been added by default: " " - Shougo/neosnippet-snippets: neosnippet's default snippets. " - honza/vim-snippets: extra snippets " " If the `snippet_engine` is `neosnippet`, the following directories will be used: " " - `~/.SpaceVim/snippets/`: SpaceVim runtime snippets. " - `~/.SpaceVim.d/snippets/`: custom global snippets. " - `./.SpaceVim.d/snippets/`: custom local snippets (project's snippets) " " You can provide additional directories by setting the " variable `g:neosnippet#snippets_directory` which can take a string " in case of a single path or a list of paths. " " If the `snippet_engine` is `ultisnips`, the following directories will be used: " " - `~/.SpaceVim/UltiSnips/`: SpaceVim runtime snippets. " - `~/.SpaceVim.d/UltiSnips/`: custom global snippets. " - `./.SpaceVim.d/UltiSnips/`: custom local snippets (project's snippets) " " @subsection Complete parens " " By default, the parens will be completed automatically, to disabled this feature: " > " [options] " autocomplete_parens = false " < " " @subsection Layer options " " You can customize the user experience of autocompletion with the following " layer options: " " `auto_completion_return_key_behavior`: set the action to perform when the " key is pressed. the possible values are: " 1. `complete` completes with the current selection " 2. `smart` completes with current selection and expand snippet or argvs " 3. `nil` " By default it is `complete`. " " `auto_completion_tab_key_behavior`: set the action to perform when the " key is pressed, the possible values are: " 1. `smart` cycle candidates, expand snippets, jump parameters " 2. `complete` completes with the current selection " 3. `cycle` completes the common prefix and cycle between candidates " 4. `nil` insert a carriage return " By default it is `complete`. " " `auto_completion_delay`: a number to delay the completion after input in " milliseconds, by default it is 50 ms. " " `auto_completion_complete_with_key_sequence`: a string of two characters " denoting a key sequence that will perform a `complete` action if the " sequence as been entered quickly enough. If its value is `nil` then the " feature is disabled. " " NOTE: This option should not has same value as `escape_key_binding` " " `auto_completion_complete_with_key_sequence_delay`: the number of " seconds to wait for the autocompletion key sequence to be entered. " The default value is 1 seconds. This option is used for vim's " `timeoutlen` option in insert mode. " " The default configuration of the layer is: " > " [[layers]] " name = "autocomplete" " auto_completion_return_key_behavior = "nil" " auto_completion_tab_key_behavior = "smart" " auto_completion_delay = 200 " auto_completion_complete_with_key_sequence = "nil" " auto_completion_complete_with_key_sequence_delay = 0.1 " < " " `jk` is a good candidate for `auto_completion_complete_with_key_sequence` if you don’t use it already. " " @subsection Show snippets in auto-completion popup " " By default, snippets are shown in the auto-completion popup. " To disable this feature, set the variable `auto_completion_enable_snippets_in_popup` to false. " > " [[layers]] " name = "autocomplete" " auto_completion_enable_snippets_in_popup = false " < " " @subsection Key bindings " " code completion: " > " Key bindings | Description " ------------ | ----------------------------------------------- " Ctrl-n | select next candidate " Ctrl-p | select previous candidate " | based on auto_completion_tab_key_behavior " Shift-Tab | select previous candidate " | based on auto_completion_return_key_behavior " < " snippets: " > " Key Binding | Description " -------------- | ---------------------------------------- " M-/ | Expand a snippet " SPC i s | List all current snippets for inserting " f s | Fuzzy find snippets " < " NOTE: `SPC i s` requires that at least one fuzzy search layer be loaded. " If the `snippet_engine` is `neosnippet`. The fuzzy finder layer can be " `leaderf`, `denite` or `unite`. For `ultisnips`, you can use `leaderf` " or `unite` layer. if exists('s:return_key_behavior') finish else let s:return_key_behavior = 'smart' let s:tab_key_behavior = 'smart' let g:_spacevim_key_sequence = 'nil' let s:key_sequence_delay = 1 let g:_spacevim_autocomplete_delay = 50 let s:timeoutlen = &timeoutlen endif let s:NVIM_VERSION = SpaceVim#api#import('neovim#version') function! SpaceVim#layers#autocomplete#plugins() abort let plugins = [ \ [g:_spacevim_root_dir . 'bundle/vim-snippets', { 'on_event' : 'InsertEnter', 'loadconf_before' : 1}], \ [g:_spacevim_root_dir . 'bundle/neco-syntax', { 'on_event' : 'InsertEnter'}], \ [g:_spacevim_root_dir . 'bundle/context_filetype.vim', { 'on_event' : 'InsertEnter'}], \ [g:_spacevim_root_dir . 'bundle/neoinclude.vim', { 'on_event' : 'InsertEnter'}], \ [g:_spacevim_root_dir . 'bundle/neosnippet-snippets', { 'merged' : 0}], \ [g:_spacevim_root_dir . 'bundle/neopairs.vim', { 'on_event' : 'InsertEnter'}], \ ] call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete-dictionary', { 'merged' : 0}]) if g:spacevim_autocomplete_parens call add(plugins, [g:_spacevim_root_dir . 'bundle/delimitMate', { 'merged' : 0}]) endif " snippet if g:spacevim_snippet_engine ==# 'neosnippet' call add(plugins, [g:_spacevim_root_dir . 'bundle/neosnippet.vim', { 'on_event' : 'InsertEnter', \ 'on_ft' : 'neosnippet', \ 'loadconf' : 1, \ 'on_cmd' : 'NeoSnippetEdit'}]) elseif g:spacevim_snippet_engine ==# 'ultisnips' call add(plugins, ['SirVer/ultisnips',{ 'loadconf_before' : 1, \ 'merged' : 0}]) endif if g:spacevim_autocomplete_method ==# 'ycm' call add(plugins, ['Valloric/YouCompleteMe', { 'loadconf_before' : 1, 'merged' : 0}]) elseif g:spacevim_autocomplete_method ==# 'neocomplete' call add(plugins, [g:_spacevim_root_dir . 'bundle/neocomplete.vim', { \ 'on_event' : 'InsertEnter', \ 'loadconf' : 1, \ }]) elseif g:spacevim_autocomplete_method ==# 'neocomplcache' "{{{ call add(plugins, ['Shougo/neocomplcache.vim', { \ 'on_event' : 'InsertEnter', \ 'loadconf' : 1, \ }]) elseif g:spacevim_autocomplete_method ==# 'coc' if executable('yarn') call add(plugins, ['neoclide/coc.nvim', {'loadconf': 1, 'merged': 0, 'build': 'yarn install --frozen-lockfile'}]) else " using https://github.com/neoclide/coc.nvim/tree/bbaa1d5d1ff3cbd9d26bb37cfda1a990494c4043 " the release branch push on 2022-03-30 call add(plugins, [g:_spacevim_root_dir . 'bundle/coc.nvim-release', {'loadconf': 1, 'merged': 0}]) endif elseif g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete.nvim', { \ 'on_event' : 'InsertEnter', \ 'loadconf' : 1, \ }]) elseif g:spacevim_autocomplete_method ==# 'nvim-cmp' " use bundle nvim-cmp call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-cmp', { \ 'merged' : 0, \ 'loadconf' : 1, 'on_event' : ['InsertEnter'], \ }]) call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-buffer', { \ 'merged' : 0, \ 'on_event' : ['InsertEnter'], \ }]) call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-path', { \ 'merged' : 0, \ 'on_event' : ['InsertEnter'], \ }]) call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-cmdline', { \ 'merged' : 0, \ 'on_event' : ['InsertEnter'], \ }]) call add(plugins, [g:_spacevim_root_dir . 'bundle/lspkind-nvim', { \ 'merged' : 0, \ 'loadconf' : 1, 'on_event' : ['InsertEnter'], \ }]) call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-dictionary', { \ 'merged' : 0, \ 'loadconf' : 1, 'on_event' : ['InsertEnter'], \ }]) if g:spacevim_snippet_engine ==# 'neosnippet' call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-neosnippet', { \ 'merged' : 0, \ 'on_event' : ['InsertEnter'], \ }]) endif elseif g:spacevim_autocomplete_method ==# 'asyncomplete' call add(plugins, ['prabirshrestha/asyncomplete.vim', { \ 'loadconf' : 1, \ 'merged' : 0, \ }]) call add(plugins, ['prabirshrestha/asyncomplete-buffer.vim', { \ 'loadconf' : 1, \ 'merged' : 0, \ }]) call add(plugins, ['yami-beta/asyncomplete-omni.vim', { \ 'loadconf' : 1, \ 'merged' : 0, \ }]) elseif g:spacevim_autocomplete_method ==# 'completor' call add(plugins, ['maralla/completor.vim', { \ 'loadconf' : 1, \ 'merged' : 0, \ }]) if g:spacevim_snippet_engine ==# 'neosnippet' call add(plugins, ['maralla/completor-neosnippet', { \ 'loadconf' : 1, \ 'merged' : 0, \ }]) endif endif if has('patch-7.4.774') " both echodoc and CompleteParameter requires " vim patch-7.4.744 " v:completed_item call add(plugins, [g:_spacevim_root_dir . 'bundle/echodoc.vim', { \ 'on_cmd' : ['EchoDocEnable', 'EchoDocDisable'], \ 'on_event' : 'CompleteDone', \ 'loadconf_before' : 1, \ }]) if g:spacevim_autocomplete_method !=# 'nvim-cmp' " this plugin use same namespace as nvim-cmp call add(plugins, [g:_spacevim_root_dir . 'bundle/CompleteParameter.vim', \ { 'merged' : 0}]) endif endif return plugins endfunction function! SpaceVim#layers#autocomplete#config() abort if g:spacevim_autocomplete_parens imap ( \ pumvisible() ? \ has('patch-7.4.744') ? \ complete_parameter#pre_complete("()") : '(' : \ (len(maparg('delimitMate(', 'i')) == 0) ? \ "\delimitMate(" : \ '(' endif "mapping " " 如果使用 nvim-cmp 作为补全引擎,那么 Tab 以及 Enter 快捷键的映射是在 " ./lua/config/nvim-cmp.lua 内设置。 if s:tab_key_behavior ==# 'smart' if has('patch-7.4.774') imap SpaceVim#mapping#tab() imap SpaceVim#mapping#shift_tab() if g:spacevim_snippet_engine ==# 'neosnippet' smap \ neosnippet#expandable_or_jumpable() ? \ "\(neosnippet_expand_or_jump)" : \ (complete_parameter#jumpable(1) ? \ "\(complete_parameter#goto_next_parameter)" : \ "\") elseif g:spacevim_snippet_engine ==# 'ultisnips' snoremap \ :call UltiSnips#JumpForwards() snoremap \ :call UltiSnips#JumpBackwards() endif else call SpaceVim#logger#info('smart tab in autocomplete layer need patch 7.4.774') endif elseif s:tab_key_behavior ==# 'complete' inoremap pumvisible() ? "\" : "\" elseif s:tab_key_behavior ==# 'cycle' inoremap pumvisible() ? "\" : "\" inoremap pumvisible() ? "\" : "" elseif s:tab_key_behavior ==# 'nil' endif if s:return_key_behavior ==# 'smart' imap SpaceVim#mapping#enter() elseif s:return_key_behavior ==# 'complete' imap pumvisible() ? "\" : "\" elseif s:return_key_behavior ==# 'nil' endif inoremap pumvisible() ? "\" : "\" inoremap pumvisible() ? "\" : "\" inoremap pumvisible() ? "\\\" : "\" inoremap pumvisible() ? "\\\" : "\" " in origin vim or neovim Alt + / will insert a /, this should be disabled. let g:complete_parameter_use_ultisnips_mapping = 1 if g:spacevim_snippet_engine ==# 'neosnippet' imap \ neosnippet#expandable() ? \ "\(neosnippet_expand)" : "" elseif g:spacevim_snippet_engine ==# 'ultisnips' inoremap =UltiSnips#ExpandSnippetOrJump() endif if !empty(g:_spacevim_key_sequence) && g:_spacevim_key_sequence !=# 'nil' if g:spacevim_escape_key_binding !=# g:_spacevim_key_sequence augroup spacevim_layer_autocomplete autocmd! autocmd InsertEnter * call s:apply_sequence_delay() autocmd InsertLeave * call s:restore_sequence_delay() augroup END else call SpaceVim#logger#warn('Can not use same value for escape_key_binding and auto_completion_complete_with_key_sequence') endif endif let g:_spacevim_mappings_space.x = {'name' : '+Text'} let g:_spacevim_mappings_space.x.s = {'name' : '+String/Snippet'} call SpaceVim#mapping#space#def('nnoremap', ['x', 's', 's'], 'NeoSnippetEdit', 'edit-snippet-file', 1) endfunction function! SpaceVim#layers#autocomplete#set_variable(var) abort let s:return_key_behavior = get(a:var, \ 'auto_completion_return_key_behavior', \ get(a:var, \ 'auto-completion-return-key-behavior', \ s:return_key_behavior)) let s:tab_key_behavior = get(a:var, \ 'auto_completion_tab_key_behavior', \ get(a:var, \ 'auto-completion-tab-key-behavior', \ s:tab_key_behavior)) let g:_spacevim_key_sequence = get(a:var, \ 'auto_completion_complete_with_key_sequence', \ get(a:var, \ 'auto-completion-complete-with-key-sequence', \ g:_spacevim_key_sequence)) let g:_spacevim_key_sequence_delay = get(a:var, \ 'auto_completion_complete_with_key_sequence_delay', \ get(a:var, \ 'auto-completion-complete-with-key-sequence-delay', \ s:key_sequence_delay)) let g:_spacevim_autocomplete_delay = get(a:var, \ 'auto_completion_delay', \ get(a:var, 'auto-completion-delay', \ g:_spacevim_autocomplete_delay)) endfunction function! SpaceVim#layers#autocomplete#get_variable() abort return { \ 'auto_completion_tab_key_behavior' : s:tab_key_behavior, \ 'auto_completion_return_key_behavior' : s:return_key_behavior, \ } endfunction function! SpaceVim#layers#autocomplete#get_options() abort return ['return_key_behavior', \ 'tab_key_behavior', \ 'auto_completion_complete_with_key_sequence', \ 'auto_completion_complete_with_key_sequence_delay'] endfunction function! SpaceVim#layers#autocomplete#getprfile() abort endfunction function! SpaceVim#layers#autocomplete#toggle_deoplete() abort if deoplete#custom#_get_option('auto_complete') call deoplete#custom#option('auto_complete', v:false) else call deoplete#custom#option('auto_complete', v:true) endif endfunction function! SpaceVim#layers#autocomplete#health() abort call SpaceVim#layers#autocomplete#getprfile() call SpaceVim#layers#autocomplete#plugins() call SpaceVim#layers#autocomplete#config() return 1 endfunction function! s:apply_sequence_delay() abort let &timeoutlen = s:key_sequence_delay * 1000 endfunction function! s:restore_sequence_delay() abort let &timeoutlen = s:timeoutlen endfunction function! SpaceVim#layers#autocomplete#loadable() abort return 1 endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/chat.vim ================================================ "============================================================================= " chat.vim --- SpaceVim chat layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section chat, layers-chat " @parentsection layers " The `chat` layer provides basic function to connected to chat server. " " @subsection layer options " " 1. `chat_port`: set the port of chat server " 2. `chat_address`: set the ip of chat server " 3. `chat_client_jar`: set the path of client jar " " @subsection key bindings " > " Key Bingding Description " SPC a h open chat window " < if exists('s:chat_address') finish endif let s:chat_address = '127.0.0.1' let s:chat_port = 8080 let s:chat_client_jar = fnamemodify(expand(':p:h:h:h:h') . '/bundle/Chatting-server/target/Chatting-1.0-SNAPSHOT.jar', ':gs?[\\/]?/?') let s:gitter_token = '' function! SpaceVim#layers#chat#plugins() abort return [ \ [g:_spacevim_root_dir . 'bundle/vim-chat', {'merged' : 0, 'loadconf' : 1}], \ ] endfunction function! SpaceVim#layers#chat#set_variable(opt) abort let s:chat_address = get(a:opt, 'chat_address', s:chat_address) let s:chat_port = get(a:opt, 'chat_port', s:chat_port) let s:chat_client_jar = get(a:opt, 'chat_client_jar', s:chat_client_jar) let s:gitter_token = get(a:opt, 'gitter_token', s:gitter_token) endfunction function! SpaceVim#layers#chat#get_options() abort return ['chat_address', 'chat_port', 'chat_client_jar'] endfunction function! SpaceVim#layers#chat#config() abort let g:chatting_server_ip = s:chat_address let g:chatting_server_port = s:chat_port let g:chatting_server_lib = s:chat_client_jar let g:chat_gitter_token = s:gitter_token call SpaceVim#mapping#space#def('nnoremap', ['a', 'h'], 'call chat#windows#open()', 'open-chat-window', 1) endfunction function! SpaceVim#layers#chat#health() abort call SpaceVim#layers#chat#plugins() call SpaceVim#layers#chat#config() return 1 endfunction function! SpaceVim#layers#chat#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/checkers.vim ================================================ "============================================================================= " checkers.vim --- SpaceVim checkers layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section checkers, layers-checkers " @parentsection layers " The `checkers` layer provides syntax lint feature. The default lint engine " is |neomake|, this can be changed by `lint_engine` option: " > " [options] " lint_engine = 'ale' " < " " @subsection options " " - `lint_on_the_fly`: Syntax checking on the fly feature, disabled by default. " - `lint_on_save`: Run syntax checking when saving a file. " - `show_cursor_error`: Enable/Disable displaying error below current line. " - `lint_exclude_filetype`: Set the filetypes which does not enable syntax " checking. " - `open_error_list`: Open the language checking windows. when set to 0, the " windows will not be opened automatically. Defaults to 2. if exists('s:show_cursor_error') finish endif if has('timers') let s:show_cursor_error = 1 else let s:show_cursor_error = 0 endif let s:lint_exclude_filetype = [] let s:lint_on_the_fly = 0 let s:lint_on_save = 1 let s:open_error_list = 0 let s:SIG = SpaceVim#api#import('vim#signatures') let s:STRING = SpaceVim#api#import('data#string') function! SpaceVim#layers#checkers#plugins() abort let plugins = [] if exists('g:spacevim_enable_neomake') || exists('g:spacevim_enable_ale') call SpaceVim#logger#warn('enable_neomake and enable_ale is duplecated') call SpaceVim#logger#warn('please read :h spacevim-options-lint_engine for more info!') endif if g:spacevim_lint_engine ==# 'neomake' call add(plugins, [g:_spacevim_root_dir . 'bundle/neomake', { \ 'merged' : 0, \ 'loadconf' : 1, \ 'on_cmd' : ['Neomake'], \ 'on_func' : ['neomake#GetCurrentErrorMsg', 'neomake#statusline#LoclistCounts'], \ 'loadconf_before' : 1}]) elseif g:spacevim_lint_engine ==# 'ale' call add(plugins, [g:_spacevim_root_dir . 'bundle/ale', {'merged' : 0, 'loadconf' : 1 , 'loadconf_before' : 1}]) elseif g:spacevim_lint_engine ==# 'syntastic' call add(plugins, [g:_spacevim_root_dir . 'bundle/syntastic', {'merged' : 0, 'loadconf' : 1 , 'loadconf_before' : 1}]) endif return plugins endfunction function! SpaceVim#layers#checkers#loadable() abort return 1 endfunction function! SpaceVim#layers#checkers#set_variable(var) abort let s:show_cursor_error = get(a:var, 'show_cursor_error', 1) let s:lint_on_the_fly = get(a:var, 'lint_on_the_fly', 0) let s:lint_on_save = get(a:var, 'lint_on_save', 1) let s:lint_exclude_filetype = get(a:var, 'lint_exclude_filetype', []) if s:show_cursor_error && !has('timers') call SpaceVim#logger#warn('show_cursor_error in checkers layer needs timers feature') let s:show_cursor_error = 0 endif let s:open_error_list = get(a:var, 'open_error_list', s:open_error_list) endfunction function! SpaceVim#layers#checkers#get_options() abort return ['show_cursor_error'] endfunction function! SpaceVim#layers#checkers#get_lint_option() abort return { \ 'lint_on_the_fly' : s:lint_on_the_fly, \ 'lint_on_save' : s:lint_on_save, \ } endfunction function! SpaceVim#layers#checkers#config() abort " neomake config if g:spacevim_lint_engine ==# 'neomake' let g:neomake_echo_current_error = get(g:, 'neomake_echo_current_error', !s:show_cursor_error) let g:neomake_cursormoved_delay = get(g:, 'neomake_cursormoved_delay', 300) let g:neomake_virtualtext_current_error = get(g:, 'neomake_virtualtext_current_error', !s:show_cursor_error) " exclude filetypes: for ft in s:lint_exclude_filetype let g:neomake_{ft}_enabled_makers = [] endfor let g:neomake_open_list = s:open_error_list elseif g:spacevim_lint_engine ==# 'ale' let g:ale_echo_delay = get(g:, 'ale_echo_delay', 300) endif call SpaceVim#mapping#space#def('nnoremap', ['e', 'c'], 'call call(' \ . string(s:_function('s:clear_errors')) . ', [])', \ 'clear-all-errors', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'h'], '', 'describe-a-syntax-checker', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'v'], '', 'verify-syntax-checker-setup', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'n'], 'call call(' \ . string(s:_function('s:jump_to_next_error')) . ', [])', \ 'next-error', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'l'], 'call call(' \ . string(s:_function('s:toggle_show_error')) . ', [0])', \ 'toggle-showing-the-error-list', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'L'], 'call call(' \ . string(s:_function('s:toggle_show_error')) . ', [1])', \ 'toggle-showing-the-error-list', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'p'], 'call call(' \ . string(s:_function('s:jump_to_previous_error')) . ', [])', \ 'previous-error', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'N'], 'call call(' \ . string(s:_function('s:jump_to_previous_error')) . ', [])', \ 'previous-error', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'v'], 'call call(' \ . string(s:_function('s:verify_syntax_setup')) . ', [])', \ 'verify-syntax-setup', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', '.'], 'call call(' \ . string(s:_function('s:error_transient_state')) . ', [])', \ 'error-transient-state', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 's'], 'call SpaceVim#layers#core#statusline#toggle_mode("syntax-checking")', \ 'toggle-syntax-checker', 1) call SpaceVim#layers#core#statusline#register_mode( \ { \ 'key' : 'syntax-checking', \ 'func' : s:_function('s:toggle_syntax_checker'), \ } \ ) call SpaceVim#mapping#space#def('nnoremap', ['e', 'e'], 'call call(' \ . string(s:_function('s:explain_the_error')) . ', [])', \ 'explain-the-error', 1) augroup SpaceVim_layer_checker autocmd! if g:spacevim_lint_engine ==# 'neomake' if SpaceVim#layers#isLoaded('core#statusline') autocmd User NeomakeFinished nested \ let &l:statusline = SpaceVim#layers#core#statusline#get(1) endif if s:show_cursor_error " when move cursor, the error message will be shown below current line " after a delay autocmd CursorMoved * call neomake_cursor_move_delay() " when switch to Insert mode, stop timer and clear the signature if exists('##CmdLineEnter') autocmd InsertEnter,WinLeave * \ call neomake_signatures_clear() autocmd CmdLineEnter * \ call neomake_signatures_clear() else autocmd InsertEnter,WinLeave * call neomake_signatures_clear() endif endif elseif g:spacevim_lint_engine ==# 'ale' && SpaceVim#layers#isLoaded('core#statusline') autocmd User ALELintPost \ let &l:statusline = SpaceVim#layers#core#statusline#get(1) endif augroup END endfunction function! SpaceVim#layers#checkers#health() abort call SpaceVim#layers#checkers#plugins() call SpaceVim#layers#checkers#set_variable({}) call SpaceVim#layers#checkers#get_options() call SpaceVim#layers#checkers#config() return 1 endfunction function! s:neomake_cursor_move_delay() abort call s:neomake_signatures_clear() let s:neomake_cursormoved_timer = timer_start(g:neomake_cursormoved_delay, \ function('s:neomake_signatures_current_error')) endfunction function! s:toggle_show_error(...) abort if SpaceVim#lsp#buf_server_ready() call SpaceVim#lsp#diagnostic_set_loclist() else " if buf_server_ready return false, the language server loclist " should be cleared. if get(getloclist(0, {'title': 0}), 'title', '') ==# 'Language Server' \ || get(getloclist(0, {'title': 0}), 'title', '') ==# 'Diagnostics' call setloclist(0, [], 'r') endif let llist = getloclist(0, {'size' : 1, 'winid' : 1}) let qlist = getqflist({'size' : 1, 'winid' : 1}) if llist.size == 0 && qlist.size == 0 echohl WarningMsg echon 'There is no errors!' echohl None return endif if llist.winid > 0 lclose elseif qlist.winid > 0 cclose elseif llist.size > 0 botright lopen elseif qlist.size > 0 botright copen endif if a:1 == 1 wincmd w endif endif endfunction function! s:jump_to_next_error() abort if SpaceVim#lsp#buf_server_ready() call SpaceVim#lsp#diagnostic_goto_next() else try lnext catch try ll catch try cnext catch try cc catch echohl WarningMsg echon 'There is no errors!' echohl None endtry endtry endtry endtry endif endfunction function! s:jump_to_previous_error() abort if SpaceVim#lsp#buf_server_ready() call SpaceVim#lsp#diagnostic_goto_prev() else try lprevious catch try ll catch try cprevious catch try cc catch echohl WarningMsg echon 'There is no errors!' echohl None endtry endtry endtry endtry endif endfunction let s:last_echoed_error = '' function! s:neomake_signatures_current_error(...) abort call s:neomake_signatures_clear() try let message = neomake#GetCurrentErrorMsg() catch /^Vim\%((\a\+)\)\=:E117/ let message = '' endtry if empty(message) if exists('s:last_echoed_error') unlet s:last_echoed_error endif return endif if exists('s:last_echoed_error') \ && s:last_echoed_error == message return endif let s:last_echoed_error = message if len(line('.') + 1) > len(message) let message = s:STRING.fill(message, len(line('.') + 1)) endif call s:SIG.info(line('.') + 1, 1, message) endfunction function! s:neomake_signatures_clear() abort if exists('s:neomake_cursormoved_timer') && s:neomake_cursormoved_timer != 0 call timer_stop(s:neomake_cursormoved_timer) endif let s:last_echoed_error = '' call s:SIG.clear() endfunction function! s:verify_syntax_setup() abort if g:spacevim_lint_engine ==# 'neomake' NeomakeInfo elseif g:spacevim_lint_engine ==# 'ale' else endif endfunction function! s:toggle_syntax_checker() abort call SpaceVim#layers#core#statusline#toggle_section('syntax checking') if g:spacevim_lint_engine ==# 'neomake' verbose NeomakeToggle elseif g:spacevim_lint_engine ==# 'ale' ALEToggle endif return 1 endfunction function! s:explain_the_error() abort if g:spacevim_lint_engine ==# 'neomake' try let message = neomake#GetCurrentErrorMsg() catch /^Vim\%((\a\+)\)\=:E117/ let message = '' endtry elseif g:spacevim_lint_engine ==# 'ale' try "@bug wrong func to get ale error message let message = neomake#GetCurrentErrorMsg() catch /^Vim\%((\a\+)\)\=:E117/ let message = '' endtry endif if !empty(message) echo message else echo 'no error message at this point!' endif endfunction function! s:error_transient_state() abort if g:spacevim_lint_engine ==# 'neomake' let num_errors = neomake#statusline#LoclistCounts() elseif g:spacevim_lint_engine ==# 'ale' let counts = ale#statusline#Count(buffer_name('%')) let num_errors = counts.error + counts.warning + counts.style_error \ + counts.style_warning else let num_errors = 0 endif if empty(num_errors) echo 'no buffers contain error message locations' return endif let state = SpaceVim#api#import('transient_state') call state.set_title('Error Transient State') call state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'left' : [ \ { \ 'key' : 'n', \ 'desc' : 'next error', \ 'func' : '', \ 'cmd' : 'try | lnext | catch | endtry', \ 'exit' : 0, \ }, \ ], \ 'right' : [ \ { \ 'key' : ['p', 'N'], \ 'desc' : 'previous error', \ 'func' : '', \ 'cmd' : 'try | lprevious | catch | endtry', \ 'exit' : 0, \ }, \ { \ 'key' : 'q', \ 'desc' : 'quit', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 1, \ }, \ ], \ } \ ) call state.open() endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " TODO clear errors function! s:clear_errors() abort if SpaceVim#lsp#buf_server_ready() call SpaceVim#lsp#diagnostic_clear() if get(getloclist(0, {'title': 0}), 'title', '') ==# 'Language Server' call setloclist(0, [], 'r') endif else sign unplace * endif endfunction ================================================ FILE: autoload/SpaceVim/layers/chinese.vim ================================================ "============================================================================= " chinese.vim --- SpaceVim chinese layer " Copyright (c) 2016-2024 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section Chinese, layers-chinese " @parentsection layers " `chinese` layer provides Chinese specific function for SpaceVim. " This layer is not loaded by default, to use this layer, add following " snippet into your SpaceVim configuration file. " > " [[layers]] " name = 'chinese' " < " " @subsection key bindings " > " Key binding Description " SPC l c check with ChineseLinter " SPC x g t translate current word " SPC n c d convert chinese number to digit " < " function! SpaceVim#layers#chinese#plugins() abort let plugins = [ \ ['yianwillis/vimcdoc' , {'merged' : 0}], \ ['NamelessUzer/Vim-Natural-Language-Number-Translator' , {'merged' : 0}], \ ['voldikss/vim-translator' , {'merged' : 0, 'on_cmd' : ['Translate', 'TranslateW', 'TranslateR', 'TranslateX']}], \ ] call add(plugins, [g:_spacevim_root_dir . 'bundle/ChineseLinter.vim' , {'merged' : 0, 'on_cmd' : 'CheckChinese', 'on_ft' : ['markdown', 'text']}]) if SpaceVim#layers#isLoaded('ctrlp') call add(plugins, ['vimcn/ctrlp.cnx', {'merged' : 0}]) endif return plugins endfunction function! SpaceVim#layers#chinese#config() abort if has_key(g:_spacevim_mappings_space.x, 't') let g:_spacevim_mappings_space.x.t.name = '+Transpose/Translate' else let g:_spacevim_mappings_space.x.t = {'name' : '+Translate'} endif call SpaceVim#mapping#space#def('nnoremap', ['x', 't', 't'], 'Translate' , 'translate-current-word' , 1) if !has_key(g:_spacevim_mappings_space.x, 'g') let g:_spacevim_mappings_space.x.g = {'name' : '+Grammarous'} endif call SpaceVim#mapping#space#def('nnoremap', ['x', 'g', 'c'] , 'CheckChinese', 'check-with-ChineseLinter', 1) let g:_spacevim_mappings_space.n.c = {'name' : '+Convert'} call SpaceVim#mapping#space#def('nmap', ['n', 'c', 'd'], 'ConvertChineseNumberToDigit', 'convert Chinese number to digit', 0, 1) call SpaceVim#mapping#space#def('nmap', ['n', 'c', 'z'], 'ConvertDigitToChineseNumberLower', 'convert digit to Lower Chinese number', 0, 1) call SpaceVim#mapping#space#def('nmap', ['n', 'c', 'Z'], 'ConvertDigitToChineseNumberUpper', 'convert digit to Upper Chinese number', 0, 1) " do not load vimcdoc plugin let g:loaded_vimcdoc = 1 endfunction function! SpaceVim#layers#chinese#health() abort call SpaceVim#layers#chinese#plugins() call SpaceVim#layers#chinese#config() return 1 endfunction " 定义快捷键映射 nnoremap ConvertChineseNumberToDigit :call ConvertChineseNumberToDigit('normal') vnoremap ConvertChineseNumberToDigit :call ConvertChineseNumberToDigit('visual') " 函数定义 function! s:ConvertChineseNumberToDigit(mode) range let save_cursor = getcurpos() let save_register = @k if a:mode == 'normal' " 正常模式处理 let cword = expand('') let rst = substitute(cword, Zh2Num#getZhNumPattern(), '\=Zh2Num#Translator(submatch(0))', "g") if rst != cword let @k = rst normal! viw"kp endif else " 可视模式处理 normal! gv if mode() == "\" " 块选择模式 let [line_start, column_start] = getpos("'<")[1:2] let [line_end, column_end] = getpos("'>")[1:2] if column_end < column_start let [column_start, column_end] = [column_end, column_start] endif for line_num in range(line_start, line_end) let line = getline(line_num) let line_utf8 = iconv(line, &encoding, 'UTF-8') let selectedText = line_utf8[column_start - 1: column_end - 1] let translatedText = substitute(selectedText, Zh2Num#getZhNumPattern(), '\=Zh2Num#Translator(submatch(0))', 'g') let newLine = line[:column_start - 2] . translatedText . line[column_end:] call setline(line_num, newLine) endfor else " 其他可视模式 normal! "ky let selectedText = iconv(@k, &encoding, 'UTF-8') let translatedText = substitute(selectedText, Zh2Num#getZhNumPattern(), '\=Zh2Num#Translator(submatch(0))', 'g') if translatedText != selectedText call setreg('k', translatedText) normal! gv"kp endif endif endif call setpos('.', save_cursor) let @k = save_register endfunction nnoremap ConvertDigitToChineseNumberLower :call ConvertDigitToChineseNumber('normal', "lower") vnoremap ConvertDigitToChineseNumberLower :call ConvertDigitToChineseNumber('visual', "lower") nnoremap ConvertDigitToChineseNumberUpper :call ConvertDigitToChineseNumber('normal', "upper") vnoremap ConvertDigitToChineseNumberUpper :call ConvertDigitToChineseNumber('visual', "upper") function! s:ConvertDigitToChineseNumber(mode, caseType) abort let save_cursor = getcurpos() let save_register = @k let cword = expand('') if a:mode == 'normal' if !empty(cword) let rst = substitute(cword, Num2Zh#getNumberPattern(), '\=Num2Zh#Translator(submatch(0), "'. a:caseType .'")', "g") if rst != cword let @k = rst normal! viw"kp endif endif " 如果是block模式,则特别处理 elseif a:mode == 'visual' normal! gv if mode() == "\" let [line_start, column_start] = getpos("'<")[1:2] let [line_end, column_end] = getpos("'>")[1:2] if column_end < column_start let [column_start, column_end] = [column_end, column_start] endif for line_num in range(line_start, line_end) let line = getline(line_num) " 将行文本转换为UTF-8编码 let line_utf8 = iconv(line, &encoding, 'UTF-8') let selectedText = line_utf8[column_start - 1: column_end - 1] let translatedText = substitute(selectedText, Num2Zh#getNumberPattern(), '\=Num2Zh#Translator(submatch(0), "' . a:caseType . '")', 'g') let newLine = line[:column_start - 2] . translatedText . line[column_end:] call setline(line_num, newLine) endfor else " 对其他模式的处理 if mode() == 'line' normal! '[V'] elseif mode() == 'char' normal! `[v`] elseif mode() ==? 'v' normal! gv else normal! '[v'] endif " 获取选择的文本,将其保存在寄存器t中 normal! "ky let selectedText = iconv(@k, &encoding, 'UTF-8') " 转换文本 let translatedText = substitute(selectedText, Num2Zh#getNumberPattern(), '\=Num2Zh#Translator(submatch(0), "' . a:caseType . '")', 'g') if translatedText != selectedText " 替换原文本 call setreg('k', translatedText) normal! gv"kp endif endif endif call setpos('.', save_cursor) let @k = save_register endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " vim:set et nowrap sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/colorscheme.vim ================================================ "============================================================================= " colorscheme.vim --- SpaceVim colorscheme layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section colorscheme, layers-colorscheme " @parentsection layers " The default colorscheme of SpaceVim is gruvbox. It can be changed via " `colorscheme` option by adding the following code to @section(options) file: " > " [options] " colorscheme = 'solarized' " < " " The following colorschemes are include in SpaceVim. If the colorscheme you " want is not included in the list below, a PR is welcome. " > " | Name | dark | light | term | gui | statusline | " | ------------ | ---- | ----- | ---- | --- | ---------- | " | molokai | yes | no | yes | yes | yes | " | srcery | yes | no | yes | yes | yes | " | onedark | yes | no | yes | yes | yes | " | jellybeans | yes | no | yes | yes | yes | " | palenight | yes | no | yes | yes | yes | " | one | yes | yes | yes | yes | yes | " | nord | yes | no | yes | yes | yes | " | gruvbox | yes | yes | yes | yes | yes | " | NeoSolarized | yes | yes | yes | yes | yes | " | hybrid | yes | yes | yes | yes | yes | " | material | yes | yes | yes | yes | yes | " | dracula | yes | yes | yes | yes | yes | " | SpaceVim | yes | yes | yes | yes | yes | " < " Also, there's one thing which everyone should know and pay attention to. " NOT all of above colorschemes support spell check very well. For example, " a colorscheme called atom doesn't support spell check very well. " " SpaceVim is not gonna fix them since these should be in charge of each author. if exists('s:JSON') finish endif let s:JSON = SpaceVim#api#import('data#json') function! SpaceVim#layers#colorscheme#plugins() abort let plugins = [ \ ['Gabirel/molokai', { 'merged' : 0 }], \ ['joshdick/onedark.vim', { 'merged' : 0 }], \ ['nanotech/jellybeans.vim', { 'merged' : 0 }], \ ['arcticicestudio/nord-vim', { 'merged' : 0 }], \ ['icymind/NeoSolarized', { 'merged' : 0 }], \ ['SpaceVim/vim-material', { 'merged' : 0}], \ ['srcery-colors/srcery-vim', { 'merged' : 0}], \ [ 'drewtempelmeyer/palenight.vim', {'merged': 0 }], \ ] call add(plugins, [g:_spacevim_root_dir . 'bundle/dracula', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-one', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-hybrid', {'merged' : 0}]) " " TODO: " \ ['mhartington/oceanic-next', { 'merged' : 0 }], " \ ['junegunn/seoul256.vim', { 'merged' : 0 }], " \ ['kabbamine/yowish.vim', { 'merged' : 0 }], " \ ['KeitaNakamura/neodark.vim', { 'merged' : 0 }], " \ ['NLKNguyen/papercolor-theme', { 'merged' : 0 }], " \ ['SpaceVim/FlatColor', { 'merged' : 0 }], return plugins endfunction let s:cs = [ \ 'gruvbox', \ 'molokai', \ 'onedark', \ 'jellybeans', \ 'one', \ 'nord', \ 'hybrid', \ 'NeoSolarized', \ 'material', \ 'srcery', \ ] let s:NUMBER = SpaceVim#api#import('data#number') let s:time = { \ 'everytime' : 1, \ 'daily' : 1 * 24 * 60 * 60 * 1000, \ 'hourly' : 1 * 60 * 60 * 1000, \ 'weekly' : 7 * 24 * 60 * 60 * 1000, \ } for s:n in range(1, 23) call extend(s:time, {s:n . 'h' : s:n * 60 * 60 * 1000}) endfor unlet s:n let s:random_colorscheme = 0 let s:random_candidates = s:cs let s:random_frequency = '' let s:bright_statusline = 0 function! SpaceVim#layers#colorscheme#config() abort if s:random_colorscheme let ctime = '' " Use local file's save time, the local file is " ~/.cache/SpaceVim/colorscheme_frequency.json " {"frequency" : "dalily", "last" : 000000, 'theme' : 'one'} " FIXME: when global config cache is updated, check the cache also should " be updated if filereadable(expand(g:spacevim_data_dir.'SpaceVim/colorscheme_frequency.json')) let conf = s:JSON.json_decode(join(readfile(expand(g:spacevim_data_dir.'SpaceVim/colorscheme_frequency.json'), ''), '')) if s:random_frequency !=# '' && !empty(conf) let ctime = localtime() if index(s:random_candidates, get(conf, 'theme', '')) == -1 || \ ctime - get(conf, 'last', 0) >= get(s:time, get(conf, 'frequency', ''), 0) let id = s:NUMBER.random(0, len(s:random_candidates)) let g:spacevim_colorscheme = s:random_candidates[id] call s:update_conf() else let g:spacevim_colorscheme = conf.theme endif else let id = s:NUMBER.random(0, len(s:random_candidates)) let g:spacevim_colorscheme = s:random_candidates[id] endif else if s:random_frequency !=# '' call s:update_conf() endif endif endif call SpaceVim#mapping#space#def('nnoremap', ['T', 'n'], \ 'call call(' . string(s:_function('s:cycle_spacevim_theme')) \ . ', [])', 'cycle-spacevim-theme', 1) endfunction function! s:update_conf() abort let conf = { \ 'frequency' : s:random_frequency, \ 'last' : localtime(), \ 'theme' : g:spacevim_colorscheme \ } call writefile([s:JSON.json_encode(conf)], expand(g:spacevim_data_dir.'SpaceVim/colorscheme_frequency.json')) endfunction function! SpaceVim#layers#colorscheme#set_variable(var) abort let s:random_colorscheme = get(a:var, 'random_theme', get(a:var, 'random-theme', 0)) let s:random_candidates = get(a:var, 'random_candidates', get(a:var, 'random-candidates', s:cs)) let s:random_frequency = get(a:var, 'frequency', 'hourly') let s:bright_statusline = get(a:var, 'bright_statusline', 0) endfunction function! SpaceVim#layers#colorscheme#get_variable() abort return s: endfunction function! SpaceVim#layers#colorscheme#get_options() abort return ['random_theme'] endfunction function! SpaceVim#layers#colorscheme#health() abort call SpaceVim#layers#colorscheme#plugins() call SpaceVim#layers#colorscheme#config() return 1 endfunction function! SpaceVim#layers#colorscheme#loadable() abort return 1 endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif function! s:cycle_spacevim_theme() abort let id = s:NUMBER.random(0, len(s:cs)) " if the frequency is not empty and random_theme is on, SPC T n should " update the cache file: let g:spacevim_colorscheme = s:cs[id] exe 'colorscheme ' . g:spacevim_colorscheme call s:update_conf() endfunction ================================================ FILE: autoload/SpaceVim/layers/core/banner.vim ================================================ "============================================================================= " banner.vim --- SpaceVim core#banner layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 function! SpaceVim#layers#core#banner#config() abort let vr = g:spacevim_version let g:_spacevim_welcome_banners = [ \ [ \ ' ', \ ' ', \ ' /###### /## /##/## ', \ ' /##__ ## | ## | #|__/ ', \ ' | ## \__/ /###### /###### /####### /######| ## | ##/##/######/#### ', \ ' | ###### /##__ ##|____ ##/##_____//##__ #| ## / ##| #| ##_ ##_ ## ', \ ' \____ #| ## \ ## /######| ## | ########\ ## ##/| #| ## \ ## \ ## ', \ ' /## \ #| ## | ##/##__ #| ## | ##_____/ \ ###/ | #| ## | ## | ## ', \ ' | ######| #######| ######| ######| ####### \ #/ | #| ## | ## | ## ', \ ' \______/| ##____/ \_______/\_______/\_______/ \_/ |__|__/ |__/ |__/ ', \ ' | ## ', \ ' | ## ', \ ' |__/ ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' $$$$$$\ $$\ $$\$$\ ', \ ' $$ __$$\ $$ | $$ \__| ', \ ' $$ / \__|$$$$$$\ $$$$$$\ $$$$$$$\ $$$$$$\$$ | $$ $$\$$$$$$\$$$$\ ', \ ' \$$$$$$\ $$ __$$\ \____$$\$$ _____$$ __$$\$$\ $$ $$ $$ _$$ _$$\ ', \ ' \____$$\$$ / $$ |$$$$$$$ $$ / $$$$$$$$ \$$\$$ /$$ $$ / $$ / $$ | ', \ ' $$\ $$ $$ | $$ $$ __$$ $$ | $$ ____|\$$$ / $$ $$ | $$ | $$ | ', \ ' \$$$$$$ $$$$$$$ \$$$$$$$ \$$$$$$$\\$$$$$$$\ \$ / $$ $$ | $$ | $$ | ', \ ' \______/$$ ____/ \_______|\_______|\_______| \_/ \__\__| \__| \__| ', \ ' $$ | ', \ ' $$ | ', \ ' \__| ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ┏━━━┓ ', \ ' ┃┏━┓┃ Welcome to ', \ ' ┃┗━━┓╋╋╋╋┏━━┓╋╋╋╋┏━━┓╋╋╋╋┏━━┓╋╋╋╋┏━━┓╋╋╋╋┏┓┏┓╋╋╋╋┏━┓╋╋╋╋┏┓┏┓ ', \ ' ┗━━┓┃┏━━┓┃┏┓┃┏━━┓┃┏┓┃┏━━┓┃┏━┛┏━━┓┃┃━┫┏━━┓┃┃┃┃┏━━┓┃ ┃┏━━┓┃┗┛┃ ', \ ' ┃┗━┛┃┗━━┛┃┗┛┃┗━━┛┃┏┓┃┗━━┛┃┗━┓┗━━┛┃┃━┫┗━━┛┃┗┛┃┗━━┛┃ ┃┗━━┛┃┃┃┃ ', \ ' ┗━━━┛╋╋╋╋┃┏━┛╋╋╋╋┗┛┗┛╋╋╋╋┗━━┛╋╋╋╋┗━━┛╋╋╋╋┗━━┛╋╋╋╋┗━┛╋╋╋╋┗┻┻┛ ', \ ' ╋╋╋╋╋╋╋╋╋┃┃ ', \ ' ╋╋╋╋╋╋╋╋╋┗┛ ', \ ' version : '.vr.' by : spacevim.org ', \ ], \ [ \ ' ', \ ' .d8888b. 888 888d8b ', \ ' d88P Y88b 888 888Y8P ', \ ' Y88b. 888 888 ', \ ' "Y888b. 88888b. 8888b. .d8888b .d88b.Y88b d88P88888888b.d88b. ', \ ' "Y88b.888 "88b "88bd88P" d8P Y8bY88b d88P 888888 "888 "88b ', \ ' "888888 888.d888888888 88888888 Y88o88P 888888 888 888 ', \ ' Y88b d88P888 d88P888 888Y88b. Y8b. Y888P 888888 888 888 ', \ ' "Y8888P" 88888P" "Y888888 "Y8888P "Y8888 Y8P 888888 888 888 ', \ ' 888 ', \ ' 888 ', \ ' 888 version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ ' ', \ ' ██████ ██▓███ ▄▄▄ ▄████▄ ▓█████ ██▒ █▓ ██▓ ███▄ ▄███▓ ', \ ' ▒██ ▒ ▓██░ ██▒▒████▄ ▒██▀ ▀█ ▓█ ▀▓██░ █▒▓██▒▓██▒▀█▀ ██▒ ', \ ' ░ ▓██▄ ▓██░ ██▓▒▒██ ▀█▄ ▒▓█ ▄ ▒███ ▓██ █▒░▒██▒▓██ ▓██░ ', \ ' ▒ ██▒▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒▒▓█ ▄ ▒██ █░░░██░▒██ ▒██ ', \ ' ▒██████▒▒▒██▒ ░ ░ ▓█ ▓██▒▒ ▓███▀ ░░▒████▒ ▒▀█░ ░██░▒██▒ ░██▒ ', \ ' ▒ ▒▓▒ ▒ ░▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ░▒ ▒ ░░░ ▒░ ░ ░ ▐░ ░▓ ░ ▒░ ░ ░ ', \ ' ░ ░▒ ░ ░░▒ ░ ▒ ▒▒ ░ ░ ▒ ░ ░ ░ ░ ░░ ▒ ░░ ░ ░ ', \ ' ░ ░ ░ ░░ ░ ▒ ░ ░ ░░ ▒ ░░ ░ ', \ ' ░ ░ ░░ ░ ░ ░ ░ ░ ░ ', \ ' ░ ░ ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ ' ', \ ' .▄▄ · ▄▄▄· ▄▄▄· ▄▄· ▄▄▄ . ▌ ▐·▪ • ▌ ▄ · ', \ ' ▐█ ▀. ▐█ ▄█▐█ ▀█ ▐█ ▌▪▀▄.▀·▪█·█▌██ ·██ ▐███▪ ', \ ' ▄▀▀▀█▄ ██▀·▄█▀▀█ ██ ▄▄▐▀▀▪▄▐█▐█•▐█·▐█ ▌▐▌▐█· ', \ ' ▐█▄▪▐█▐█▪·•▐█ ▪▐▌▐███▌▐█▄▄▌ ███ ▐█▌██ ██▌▐█▌ ', \ ' ▀▀▀▀ .▀ ▀ ▀ ·▀▀▀ ▀▀▀ . ▀ ▀▀▀▀▀ █▪▀▀▀ ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ ' ', \ ' ▄▄▄▄▄ █ ▄▄ ██ ▄█▄ ▄███▄ ▄ ▄█ █▀▄▀█ ', \ ' █ ▀▄ █ █ █ █ █▀ ▀▄ █▀ ▀ █ ██ █ █ █ ', \ ' ▄ ▀▀▀▀▄ █▀▀▀ █▄▄█ █ ▀ ██▄▄ █ █ ██ █ ▄ █ ', \ ' ▀▄▄▄▄▀ █ █ █ █▄ ▄▀ █▄ ▄▀ █ █ ▐█ █ █ ', \ ' █ █ ▀███▀ ▀███▀ █ █ ▐ █ ', \ ' ▀ █ █▐ ▀ ', \ ' ▀ ▐ ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ ' ', \ ' ________ ___ _______ ', \ ' __ ___/________ ______ _____________ __ | / /___(_)_______ ___ ', \ ' _____ \ ___ __ \_ __ `/_ ___/_ _ \__ | / / __ / __ __ `__ \ ', \ ' ____/ / __ /_/ // /_/ / / /__ / __/__ |/ / _ / _ / / / / / ', \ ' /____/ _ .___/ \__,_/ \___/ \___/ _____/ /_/ /_/ /_/ /_/ ', \ ' /_/ ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ ' ', \ ' ______ ', \ ' \ ___) ', \ ' \ \ ______ __ ____ __ ___ ____ _ _ _ ', \ ' > > ( __ )/ \/ /\ \ / // __)/ ___)| | | | | | ', \ ' / /__ | || |( () < \ v / > _)( (__ | | | |_| | ', \ ' /_____)|_||_| \__/\_\ > < \___)\__ \ \_)| ._,_| ', \ ' / ^ \ _) ) | | ', \ ' /_/ \_\ (__/ |_| ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ ' ', \ ' ................................................................. ', \ ' ................................................................. ', \ ' ..%%%%...%%%%%....%%%%....%%%%...%%%%%%..%%..%%..%%%%%%..%%...%%. ', \ ' .%%......%%..%%..%%..%%..%%..%%..%%......%%..%%....%%....%%%.%%%. ', \ ' ..%%%%...%%%%%...%%%%%%..%%......%%%%....%%..%%....%%....%%.%.%%. ', \ ' .....%%..%%......%%..%%..%%..%%..%%.......%%%%.....%%....%%...%%. ', \ ' ..%%%%...%%......%%..%%...%%%%...%%%%%%....%%....%%%%%%..%%...%%. ', \ ' ................................................................. ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ ' ', \ ' _____ __ ___ ', \ ' / ____| \ \ / (_) ', \ ' | (___ _ __ __ _ ___ __\ \ / / _ _ __ ___ ', \ ' \___ \| \`_ \ / _` |/ __/ _ \ \/ / | | `_ ` _ \ ', \ ' ____) | |_) | (_| | (_| __/\ / | | | | | | | ', \ ' |_____/| .__/ \__,_|\___\___| \/ |_|_| |_| |_| ', \ ' | | ', \ ' |_| ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ ' ', \ ' # # ### # # ### ##### ###### ####### ##### ####### ', \ ' # # # ## ## # # # # # # # # # ', \ ' # # # # # # # # # # # # # # ', \ ' # # # # # # # ##### ###### ##### ##### # ', \ ' # # # # # # # # # # # # ', \ ' # # # # # # # # # # # # # # ', \ ' # ### # # ### ##### ###### ####### ##### # ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ '', \ '', \ ' _ _ _____ ______ _____ _ ______ _______ _ ______ ', \ ' | | | (_____) ___ \ (_____) | | (____ \(_______) | | (_______) ', \ ' | | | | _ | | _ | | _ \ \ ____) )_____ \ \ _ ', \ ' \ \/ / | | | || || | | | \ \ | __ (| ___) \ \| | ', \ ' \ / _| |_| || || | _| |_ _____) ) | |__) ) |_____ _____) ) |_____ ', \ ' \/ (_____)_||_||_| (_____|______/ |______/|_______|______/ \______) ', \ '', \ ' version : '.vr.' by : spacevim.org', \ '', \ ], \ [ \ '', \ '', \ '.##.....##.####.........########.##.....##.########.########..########...#### ', \ '.##.....##..##.............##....##.....##.##.......##.....##.##.........#### ', \ '.##.....##..##.............##....##.....##.##.......##.....##.##.........#### ', \ '.#########..##...####......##....#########.######...########..######......##. ', \ '.##.....##..##...####......##....##.....##.##.......##...##...##............. ', \ '.##.....##..##....##.......##....##.....##.##.......##....##..##.........#### ', \ '.##.....##.####..##........##....##.....##.########.##.....##.########...#### ', \ '', \ ' version : '.vr.' by : spacevim.org', \ '', \ ], \ [ \ ' ', \ ' ', \ ' . .--.--. . .--. --.--.---..---. . ..---. ', \ ' \ / | |\ /| | ) | | | |\ /|| ', \ ' \ / | | \/ | o |--: | | |--- | \/ ||--- ', \ ' \ / | | | | ) | | | | || ', \ ' ` --`--` ` o `--` --`-- ` `---` ` ``---` ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ], \ [ \ ' ', \ '_______________________________________________________ ', \ '=========(_)===(_) (_______)==(_______|_______|_)(_)(_) ', \ '=================| |=================================== ', \ '=========| |===| | | ||_|| |==| ___)====| |==| || || | ', \ '========= \ \=/ /| | |===| |==| |========| |==| || || | ', \ '========== \___/=|_|_|===|_|==|_|========|_|===\_____/ ', \ ' ', \ ' version : '.vr.' by : spacevim.org ', \ ' ', \ ] \ ] endfunction function! SpaceVim#layers#core#banner#health() abort call SpaceVim#layers#core#banner#config() return 1 endfunction function! SpaceVim#layers#core#banner#loadable() abort return 1 endfunction function! SpaceVim#layers#core#banner#plugins() abort return [] endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/layers/core/statuscolumn.vim ================================================ "============================================================================= " statuscolumn.vim --- statuscolumn support for neovim " Copyright (c) 2016-2019 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section core#statuscolumn, layers-core-statuscolumn " @parentsection layers " This layer provides a simple statuscolumn for SpaceVim and is disabled by " default. " " To enable this layer, add following section to your configuration file. " > " [[layers]] " name = 'core#statuscolumn' " enable = true " < function! SpaceVim#layers#core#statuscolumn#config() abort let &stc='%{substitute(v:lnum,"\\d\\zs\\ze\\' \ . '%(\\d\\d\\d\\)\\+$",",","g")}' endfunction function! SpaceVim#layers#core#statuscolumn#loadable() abort return exists('+statuscolumn') endfunction function! SpaceVim#layers#core#statuscolumn#health() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/core/statusline.vim ================================================ "============================================================================= " statusline.vim --- SpaceVim statusline " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section core#statusline, layers-core-statusline " @parentsection layers " This layer provides default statusline for SpaceVim " If you want to use airline's statusline, just disable this layer " > " [[layers]] " name = 'core#statusline' " enable = false " < " @subsection Layer options " " - `major_mode_cache`: Enable/disable major mode cache, enabled by default. scriptencoding utf-8 if exists('g:_spacevim_statusline_loaded') finish endif let g:_spacevim_statusline_loaded = 1 if has('nvim-0.10.0') " 核心逻辑移至 lua,兼容 VIML 函数接口 function! SpaceVim#layers#core#statusline#winnr(id) abort return v:lua.require('spacevim.plugin.statusline').winnr(a:id) endfunction function! SpaceVim#layers#core#statusline#get(...) abort if a:0 > 0 return v:lua.require('spacevim.plugin.statusline').get(a:1) else return v:lua.require('spacevim.plugin.statusline').get() endif endfunction function! SpaceVim#layers#core#statusline#init() abort return v:lua.require('spacevim.plugin.statusline').init() endfunction function! SpaceVim#layers#core#statusline#def_colors() abort return v:lua.require('spacevim.plugin.statusline').def_colors() endfunction function! SpaceVim#layers#core#statusline#register_mode(mode) abort if has_key(a:mode, 'func') && type(a:mode.func) == 2 let mode = a:mode let mode.func = string(a:mode.func)[10:-3] return v:lua.require('spacevim.plugin.statusline').register_mode(mode) else return v:lua.require('spacevim.plugin.statusline').register_mode(a:mode) endif endfunction function! SpaceVim#layers#core#statusline#toggle_mode(name) abort return v:lua.require('spacevim.plugin.statusline').toggle_mode(a:name) endfunction function! SpaceVim#layers#core#statusline#toggle_section(name) abort return v:lua.require('spacevim.plugin.statusline').toggle_section(a:name) endfunction function! SpaceVim#layers#core#statusline#rsep() abort return v:lua.require('spacevim.plugin.statusline').rsep() endfunction function! SpaceVim#layers#core#statusline#set_variable(var) abort return v:lua.require('spacevim.plugin.statusline').set_variable(a:var) endfunction function! SpaceVim#layers#core#statusline#config() abort return v:lua.require('spacevim.plugin.statusline').config() endfunction function! SpaceVim#layers#core#statusline#ctrlp(focus, byfname, regex, prev, item, next, marked) abort return v:lua.require('spacevim.plugin.statusline').ctrlp(a:focus, a:byfname, a:regex, a:prev, a:item, a:next, a:marked) endfunction function! SpaceVim#layers#core#statusline#ctrlp_status(str) abort return v:lua.require('spacevim.plugin.statusline').ctrlp_status(a:str) endfunction function! SpaceVim#layers#core#statusline#jump(i) abort return v:lua.require('spacevim.plugin.statusline').jump(a:i) endfunction function! SpaceVim#layers#core#statusline#mode(mode) abort return v:lua.require('spacevim.plugin.statusline').mode(a:mode) endfunction function! SpaceVim#layers#core#statusline#mode_text(mode) abort return v:lua.require('spacevim.plugin.statusline').mode_text(a:mode) endfunction function! SpaceVim#layers#core#statusline#denite_status(argv) abort return v:lua.require('spacevim.plugin.statusline').denite_status(a:argv) endfunction function! SpaceVim#layers#core#statusline#denite_mode() abort return v:lua.require('spacevim.plugin.statusline').denite_mode() endfunction function! SpaceVim#layers#core#statusline#unite_mode() abort return v:lua.require('spacevim.plugin.statusline').unite_mode() endfunction function! SpaceVim#layers#core#statusline#register_sections(name, func) abort return v:lua.require('spacevim.plugin.statusline').register_sections(a:name, string(a:func)[10:-3]) endfunction function! SpaceVim#layers#core#statusline#check_section(name) abort return v:lua.require('spacevim.plugin.statusline').check_section(a:name) endfunction function! SpaceVim#layers#core#statusline#remove_section(name) abort return v:lua.require('spacevim.plugin.statusline').remove_section(a:name) endfunction function! SpaceVim#layers#core#statusline#health() abort return v:lua.require('spacevim.plugin.statusline').health() endfunction function! SpaceVim#layers#core#statusline#loadable() abort return 1 endfunction function! SpaceVim#layers#core#statusline#plugins() abort return [] endfunction finish endif " APIs let s:MESSLETTERS = SpaceVim#api#import('messletters') let s:TIME = SpaceVim#api#import('time') let s:HI = SpaceVim#api#import('vim#highlight') let s:STATUSLINE = SpaceVim#api#import('vim#statusline') let s:VIMCOMP = SpaceVim#api#import('vim#compatible') let s:SYSTEM = SpaceVim#api#import('system') let s:ICON = SpaceVim#api#import('unicode#icon') let s:LANG = SpaceVim#api#import('language') let s:JSON = SpaceVim#api#import('data#json') let s:VIM = SpaceVim#api#import('vim') let s:WIN = SpaceVim#api#import('vim#window') " init " " the separators icons: " " arrow : " active: let s:separators = { \ 'arrow' : ["\ue0b0", "\ue0b2"], \ 'curve' : ["\ue0b4", "\ue0b6"], \ 'slant' : ["\ue0b8", "\ue0ba"], \ 'brace' : ["\ue0d2", "\ue0d4"], \ 'fire' : ["\ue0c0", "\ue0c2"], \ 'nil' : ['', ''], \ } let s:i_separators = { \ 'arrow' : ["\ue0b1", "\ue0b3"], \ 'curve' : ["\ue0b5", "\ue0b7"], \ 'slant' : ["\ue0b9", "\ue0bb"], \ 'bar' : ['|', '|'], \ 'nil' : ['', ''], \ } let [s:lsep , s:rsep] = ['', ''] let [s:ilsep , s:irsep] = ['', ''] let s:loaded_modes = [] let s:modes = { \ 'center-cursor': { \ 'icon' : '⊝', \ 'icon_asc' : '-', \ 'desc' : 'centered-cursor mode', \ }, \ 'hi-characters-for-long-lines' :{ \ 'icon' : '⑧', \ 'icon_asc' : '8', \ 'desc' : 'toggle highlight of characters for long lines', \ }, \ 'fill-column-indicator' :{ \ 'icon' : s:MESSLETTERS.circled_letter('f'), \ 'icon_asc' : 'f', \ 'desc' : 'fill-column-indicator mode', \ }, \ 'syntax-checking' :{ \ 'icon' : s:MESSLETTERS.circled_letter('s'), \ 'icon_asc' : 's', \ 'desc' : 'syntax-checking mode', \ }, \ 'spell-checking' :{ \ 'icon' : s:MESSLETTERS.circled_letter('S'), \ 'icon_asc' : 'S', \ 'desc' : 'spell-checking mode', \ }, \ 'paste-mode' :{ \ 'icon' : s:MESSLETTERS.circled_letter('p'), \ 'icon_asc' : 'p', \ 'desc' : 'paste mode', \ }, \ 'whitespace' :{ \ 'icon' : s:MESSLETTERS.circled_letter('w'), \ 'icon_asc' : 'w', \ 'desc' : 'whitespace mode', \ }, \ 'wrapline' :{ \ 'icon' : s:MESSLETTERS.circled_letter('W'), \ 'icon_asc' : 'W', \ 'desc' : 'wrap line mode', \ }, \ } " the major_mode will be cached by default. let s:major_mode_cache = 1 if SpaceVim#layers#isLoaded('checkers') call add(s:loaded_modes, 'syntax-checking') endif if &spell call add(s:loaded_modes, 'spell-checking') endif if &cc ==# '80' call add(s:loaded_modes, 'fill-column-indicator') endif if index(g:spacevim_statusline_right, 'whitespace') != -1 call add(s:loaded_modes, 'whitespace') endif " build in sections for SpaceVim statusline function! s:winnr(...) abort if a:0 >= 1 if g:spacevim_windows_index_type == 3 return ' %{ get(w:, "winid", winnr()) } ' else return ' %{ SpaceVim#layers#core#statusline#winnr(get(w:, "winid", winnr())) } ' endif else if g:spacevim_enable_statusline_mode == 1 return '%{SpaceVim#layers#core#statusline#mode(mode())} %{ SpaceVim#layers#core#statusline#winnr(get(w:, "winid", winnr())) } %{SpaceVim#layers#core#statusline#mode_text(mode())} ' elseif g:spacevim_windows_index_type == 3 return '%{SpaceVim#layers#core#statusline#mode(mode())} %{ get(w:, "winid", winnr()) } ' else return '%{SpaceVim#layers#core#statusline#mode(mode())} %{ SpaceVim#layers#core#statusline#winnr(get(w:, "winid", winnr())) } ' endif endif endfunction function! SpaceVim#layers#core#statusline#winnr(id) abort return s:MESSLETTERS.circled_num(a:id, g:spacevim_windows_index_type) endfunction function! s:filename() abort let name = fnamemodify(bufname('%'), ':t') if empty(name) let name = 'No Name' endif return "%{ &modified ? ' * ' : ' - '}" . s:filesize() . name . ' ' endfunction function! s:fileformat() abort if g:spacevim_statusline_unicode == 1 let g:_spacevim_statusline_fileformat = s:SYSTEM.fileformat() else let g:_spacevim_statusline_fileformat = &ff endif return '%{" " . g:_spacevim_statusline_fileformat . " ' . s:irsep . ' " . (&fenc!=""?&fenc:&enc) . " "}' endfunction function! s:major_mode() abort let alias = s:LANG.get_alias(&filetype) return empty(alias) ? '' : ' ' . alias . ' ' endfunction function! s:modes() abort if g:spacevim_statusline_unicode let m = ' ❖ ' else let m = ' # ' endif for mode in s:loaded_modes if g:spacevim_statusline_unicode let m .= s:modes[mode].icon . ' ' else let m .= s:modes[mode].icon_asc . ' ' endif endfor return m . ' ' endfunction function! s:totallines() abort return ' %L ' endfunction function! s:percentage() abort return ' %P ' endfunction function! s:cursorpos() abort return "%{' ' . join(map(getpos('.')[1:2], \"printf('%3d', v:val)\"), ':') . ' '}" endfunction function! s:time() abort return ' ' . s:TIME.current_time() . ' ' endfunction function! s:date() abort return ' ' . s:TIME.current_date() . ' ' endfunction function! s:whitespace() abort let ln = search('\s\+$', 'nw') if ln != 0 return ' trailing[' . ln . '] ' else return '' endif endfunction function! s:battery_status() abort if executable('acpi') let battery = split(system('acpi'))[-1][:-2] if g:spacevim_statusline_unicode return ' ' . s:ICON.battery_status(battery) . ' ' else return ' ⚡' . battery . ' ' endif elseif executable('pmset') let battery = matchstr(system('pmset -g batt'), '\d\+%')[:-2] if g:spacevim_statusline_unicode return ' ' . s:ICON.battery_status(battery) . ' ' else return ' ⚡' . battery . ' ' endif else return '' endif endfunction function! s:input_method() abort " use fcitx-remote get current method if executable('fcitx-remote') if system('fcitx-remote') == 1 return ' cn ' else return ' en ' endif endif return '' endfunction function! s:syntax_checking() abort if SpaceVim#lsp#buf_server_ready() let counts = v:lua.require('spacevim.lsp').lsp_diagnostic_count() let errors = get(counts, 0, 0) let warnings = get(counts, 1, 0) let infos = get(counts, 2, 0) let hints = get(counts, 3, 0) let errors_l = errors ? '%#SpaceVim_statusline_error#● ' . errors : '' let warnings_l = warnings ? '%#SpaceVim_statusline_warn#● ' . warnings : '' let infos_l = infos ? '%#SpaceVim_statusline_info#● ' . infos : '' let hints_l = hints ? '%#SpaceVim_statusline_hint#● ' . hints : '' let l = join(filter([errors_l, warnings_l, infos_l, hints_l], 'v:val != ""'), ' ') if !empty(l) return ' ' . l . ' ' else return '' endif elseif g:spacevim_lint_engine ==# 'neomake' if !exists('g:loaded_neomake') return '' endif let counts = neomake#statusline#LoclistCounts() let warnings = get(counts, 'W', 0) let errors = get(counts, 'E', 0) let l = warnings ? '%#SpaceVim_statusline_warn# ● ' . warnings . ' ' : '' let l .= errors ? (warnings ? '' : ' ') . '%#SpaceVim_statusline_error#● ' . errors . ' ' : '' return l elseif g:spacevim_lint_engine ==# 'ale' if !exists('g:ale_enabled') return '' endif let counts = ale#statusline#Count(bufnr('')) let warnings = counts.warning + counts.style_warning let errors = counts.error + counts.style_error let l = warnings ? '%#SpaceVim_statusline_warn# ● ' . warnings . ' ' : '' let l .= errors ? (warnings ? '' : ' ') . '%#SpaceVim_statusline_error#● ' . errors . ' ' : '' return l else if !exists(':SyntasticCheck') return '' endif let l = SyntasticStatuslineFlag() if strlen(l) > 0 return l else return '' endif endif endfunction function! s:search_status() abort if exists('*searchcount') let result = searchcount(#{maxcount: 0}) if result.total ==# 0 return '' else return ' ' . result.current . '/' . result.total . ' ' endif endif let save_cursor = getpos('.') let ct = 0 let tt = 0 let ctl = split(s:VIMCOMP.execute('keeppatterns .,$s/' . @/ . '//gn', 'silent!'), "\n") if !empty(ctl) let ct = split(ctl[0])[0] endif let ttl = split(s:VIMCOMP.execute('keeppatterns %s/' . @/ . '//gn', 'silent!'), "\n") if !empty(ctl) let tt = split(ttl[0])[0] endif keepjumps call setpos('.', save_cursor) " errmsg in this function should be ignored, otherwise SPC f s will always " print errmsg. let v:errmsg = '' if tt ==# 0 return '' else return ' ' . (str2nr(tt) - str2nr(ct) + 1) . '/' . tt . ' ' endif endfunction function! s:search_count() abort return SpaceVim#plugins#searcher#count() endfunction let s:registed_sections = { \ 'winnr' : function('s:winnr'), \ 'syntax checking' : function('s:syntax_checking'), \ 'filename' : function('s:filename'), \ 'fileformat' : function('s:fileformat'), \ 'major mode' : function('s:major_mode'), \ 'minor mode lighters' : function('s:modes'), \ 'cursorpos' : function('s:cursorpos'), \ 'percentage' : function('s:percentage'), \ 'totallines' : function('s:totallines'), \ 'time' : function('s:time'), \ 'date' : function('s:date'), \ 'whitespace' : function('s:whitespace'), \ 'battery status' : function('s:battery_status'), \ 'input method' : function('s:input_method'), \ 'search status' : function('s:search_status'), \ 'search count' : function('s:search_count'), \ } function! s:check_mode() abort if mode() ==# 'n' return 'n' elseif mode() ==# 'i' return 'i' elseif mode() =~# 'v' return 'v' elseif mode() =~# 'R' return 'R' endif endfunction " only when there are more than two buffers have same name. " show buffer name all the time need " enable_statusline_bfpath true function! s:buffer_name() abort if get(b:, '_spacevim_statusline_showbfname', 0) == 1 || g:spacevim_enable_statusline_bfpath return ' ' . bufname('%') else return '' endif endfunction function! s:current_tag() abort return '%{SpaceVim#layers#core#statusline#_current_tag()}' endfunction function! SpaceVim#layers#core#statusline#_current_tag() abort let tag = '' try if execute('filetype') ==# 'detection:ON' let tag = tagbar#currenttag('%s ', '') endif catch endtry return tag endfunction function! s:filesize() abort let l:size = getfsize(bufname('%')) if l:size == 0 || l:size == -1 || l:size == -2 return '' endif if l:size < 1024 return l:size.' bytes ' elseif l:size < 1024*1024 return printf('%.1f', l:size/1024.0).'k ' elseif l:size < 1024*1024*1024 return printf('%.1f', l:size/1024.0/1024.0) . 'm ' else return printf('%.1f', l:size/1024.0/1024.0/1024.0) . 'g ' endif endfunction function! SpaceVim#layers#core#statusline#get(...) abort for nr in range(1, winnr('$')) call setwinvar(nr, 'winwidth', winwidth(nr)) call setwinvar(nr, 'winid', nr) endfor if &filetype ==# 'vimfiler' return '%#SpaceVim_statusline_ia#' \ . s:winnr(1) \ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b#' \ . ' vimfiler %#SpaceVim_statusline_b_SpaceVim_statusline_c#' \ . s:lsep elseif &filetype ==# 'qf' if s:VIM.is_qf_win(winnr()) return '%#SpaceVim_statusline_ia#' \ . s:winnr(1) \ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b#' \ . ' QuickFix %#SpaceVim_statusline_b_SpaceVim_statusline_c#' \ . s:lsep \ . ( has('patch-8.0.1384') \ ? ((getqflist({'title' : 0}).title ==# ':setqflist()') ? '' : \ '%#SpaceVim_statusline_c#' \ . ' ' . getqflist({'title' : 0}).title \ . '%#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:lsep \ ) : '') else return '%#SpaceVim_statusline_ia#' \ . s:winnr(1) \ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b#' \ . ' Location List %#SpaceVim_statusline_b_SpaceVim_statusline_c#' \ . s:lsep \ . ( has('patch-8.0.1384') \ ? ((getloclist(winnr(),{'title' : 0}).title ==# ':setloclist()') \ ? '' : \ '%#SpaceVim_statusline_c#' \ . ' ' . getloclist(winnr(),{'title' : 0}).title \ . '%#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:lsep \ ) : '') endif elseif &filetype ==# 'defx' return '%#SpaceVim_statusline_ia#' . s:winnr(1) \ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b#' \ . ' defx ' \ . '%#SpaceVim_statusline_b_SpaceVim_statusline_c#' \ . s:lsep . ' ' elseif &filetype ==# 'NvimTree' return '%#SpaceVim_statusline_ia#' . s:winnr(1) \ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b#' \ . ' NvimTree ' \ . '%#SpaceVim_statusline_b_SpaceVim_statusline_c#' \ . s:lsep . ' ' elseif &filetype ==# 'neo-tree' return '%#SpaceVim_statusline_ia#' . s:winnr(1) \ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b#' \ . ' NeoTree ' \ . '%#SpaceVim_statusline_b_SpaceVim_statusline_c#' \ . s:lsep . ' ' elseif &filetype ==# 'Fuzzy' return '%#SpaceVim_statusline_a_bold# Fuzzy %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# %{fuzzy#statusline()} %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'SpaceVimFindArgv' return '%#SpaceVim_statusline_a_bold# Find %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'rst' && bufname('%') == '__doc__' return '%#SpaceVim_statusline_a_bold# Python Doc %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif bufname('%') == '__cheat_output__' return '%#SpaceVim_statusline_a_bold# Vim Cheat %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif bufname('%') == '[Grammarous]' return '%#SpaceVim_statusline_a_bold# Grammarous Info %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'gista-list' return '%#SpaceVim_statusline_ia#' \ . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' \ . s:lsep \ . '%#SpaceVim_statusline_b# Gista %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &buftype ==# 'terminal' let st = '%#SpaceVim_statusline_ia#' \ . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' \ . s:lsep \ . '%#SpaceVim_statusline_b# Terminal %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep \ . '%#SpaceVim_statusline_c# ' \ . matchstr(bufname('%'), '\d\+:\zs.*') if !empty(get(b:, '_spacevim_shell', '')) let st .= '%#SpaceVim_statusline_c# %{b:_spacevim_shell} %#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:lsep endif return st elseif &filetype ==# 'vimchat' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Chat %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep \ . '%#SpaceVim_statusline_c# ' \ . '%{chat#windows#status().protocol}' . ' %#SpaceVim_statusline_c_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# ' \ . '%{chat#windows#status().channel}' . ' %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep \ . '%#SpaceVim_statusline_c# ' \ . '%{chat#windows#status().usercount}' elseif &filetype ==# 'git-status' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Git status %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'git-commit' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Git commit %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' \ . '%#SpaceVim_statusline_c# ' \ . getcwd() elseif &filetype ==# 'git-rebase' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Git rebase %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'git-diff' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Git diff %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'git-blame' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Git blame %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'git-config' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Git config %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'git-log' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Git log %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'calendar' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Calendar %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'vader-result' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Vader result %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'gina-status' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Gina status %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'gina-commit' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Gina commit %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'diff' && bufname('%') =~# '^gina://' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Gina diff %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'nerdtree' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Nerdtree %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'Mundo' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Mundo %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'MundoDiff' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# MundoDiff %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'SpaceVimMessageBuffer' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# Message %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'startify' try call fugitive#detect(getcwd()) catch endtry let st = '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# startify %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep if index(g:spacevim_statusline_left, 'vcs') != -1 let st .= '%#SpaceVim_statusline_c#' . call(s:registed_sections['vcs'], []) \ . '%#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:lsep endif return st elseif &buftype ==# 'nofile' && bufname('%') ==# '__LanguageClient__' return '%#SpaceVim_statusline_a# LanguageClient %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# ' . &filetype . ' %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'SpaceVimLayerManager' return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# LayerManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'SpaceVimGitLogPopup' return '%#SpaceVim_statusline_a# Git log popup %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'respones.idris' return '%#SpaceVim_statusline_a# Idris Response %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'markdown.lspdoc' return '%#SpaceVim_statusline_a# LSP hover info %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'SpaceVimWinDiskManager' return '%#SpaceVim_statusline_a# WinDisk %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'SpaceVimTodoManager' return '%#SpaceVim_statusline_ia# TODO manager %#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'SpaceVimTasksInfo' return '%#SpaceVim_statusline_a# Tasks manager %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'SpaceVimGitBranchManager' return '%#SpaceVim_statusline_ia# Branch manager %#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'SpaceVimGitRemoteManager' return '%#SpaceVim_statusline_ia# Remote manager %#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep elseif &filetype ==# 'SpaceVimPlugManager' return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# PlugManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'SpaceVimTabsManager' return '%#SpaceVim_statusline_a#' . s:winnr(1) . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# TabsManager %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'fzf' return '%#SpaceVim_statusline_a_bold# FZF %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# %{SpaceVim#layers#fzf#sources()} %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'denite' return '%#SpaceVim_statusline_a_bold# %{SpaceVim#layers#core#statusline#denite_mode()} ' \ . '%#SpaceVim_statusline_a_bold_SpaceVim_statusline_b#' . s:lsep . ' ' \ . '%#SpaceVim_statusline_b#%{SpaceVim#layers#core#statusline#denite_status("sources")} %#SpaceVim_statusline_b_SpaceVim_statusline_z#' . s:lsep . ' ' \ . '%#SpaceVim_statusline_z#%=%#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:rsep \ . '%#SpaceVim_statusline_c# %{SpaceVim#layers#core#statusline#denite_status("path") . SpaceVim#layers#core#statusline#denite_status("linenr")}' elseif &filetype ==# 'denite-filter' return '%#SpaceVim_statusline_a_bold#' \ . ' Filter ' \ . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' \ . s:lsep elseif &filetype ==# 'unite' return '%#SpaceVim_statusline_a_bold#%{SpaceVim#layers#core#statusline#unite_mode()} Unite ' \ . '%#SpaceVim_statusline_a_bold_SpaceVim_statusline_b#' . s:lsep . ' %{get(unite#get_context(), "buffer_name", "")} ' \ . '%#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' \ . '%#SpaceVim_statusline_c# %{unite#get_status_string()} ' elseif &filetype ==# 'SpaceVimFlyGrep' return '%#SpaceVim_statusline_a_bold# FlyGrep %#SpaceVim_statusline_a_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# %{SpaceVim#plugins#flygrep#mode()} %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep \ . '%#SpaceVim_statusline_c# %{getcwd()} %#SpaceVim_statusline_c_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# %{SpaceVim#plugins#flygrep#lineNr()} %#SpaceVim_statusline_b_SpaceVim_statusline_z#' . s:lsep . ' ' elseif &filetype ==# 'TransientState' return '%#SpaceVim_statusline_ia# Transient State %#SpaceVim_statusline_a_SpaceVim_statusline_b#' elseif &filetype ==# 'SpaceVimLog' return '%#SpaceVim_statusline_ia# SpaceVim Runtime log %#SpaceVim_statusline_a_SpaceVim_statusline_b#' elseif &filetype ==# 'SpaceVimTomlViewer' return '%#SpaceVim_statusline_ia# Toml Json Viewer %#SpaceVim_statusline_a_SpaceVim_statusline_b#' elseif &filetype ==# 'vimcalc' return '%#SpaceVim_statusline_a#' . s:winnr() . ' VimCalc %#SpaceVim_statusline_a_SpaceVim_statusline_b#' elseif &filetype ==# 'HelpDescribe' return '%#SpaceVim_statusline_a# HelpDescribe %#SpaceVim_statusline_a_SpaceVim_statusline_b#' elseif &filetype ==# 'SpaceVimRunner' return '%#SpaceVim_statusline_ia# Runner %#SpaceVim_statusline_ia_SpaceVim_statusline_b# %{SpaceVim#plugins#runner#status()}' elseif &filetype ==# 'SpaceVimREPL' return '%#SpaceVim_statusline_ia#' \ . ' REPL ' \ . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' \ . s:lsep \ . ' %{SpaceVim#plugins#repl#status()}' elseif &filetype ==# 'VimMailClient' return '%#SpaceVim_statusline_a#' \ . ' VimMail ' \ . '%#SpaceVim_statusline_a_SpaceVim_statusline_b#' \ . s:lsep \ . ' %{mail#client#win#status().dir}' elseif &filetype ==# 'SpaceVimQuickFix' return '%#SpaceVim_statusline_a# SpaceVimQuickFix %#SpaceVim_statusline_a_SpaceVim_statusline_b#' elseif &filetype ==# 'VebuggerShell' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# VebuggerShell %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep elseif &filetype ==# 'VebuggerTerminal' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# VebuggerTerminal %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep endif if a:0 > 0 return s:active() else return s:inactive() endif endfunction function! s:active() abort let lsec = [] for section in g:spacevim_statusline_left if has_key(s:registed_sections, section) call add(lsec, call(s:registed_sections[section], [])) endif endfor let rsec = [] for section in g:spacevim_statusline_right if has_key(s:registed_sections, section) call add(rsec, call(s:registed_sections[section], [])) endif endfor let fname = s:buffer_name() let tag = s:current_tag() return s:STATUSLINE.build(lsec, rsec, s:lsep, s:rsep, fname, tag, \ 'SpaceVim_statusline_a', 'SpaceVim_statusline_b', 'SpaceVim_statusline_c', 'SpaceVim_statusline_z', \ &laststatus ==# 3 ? &columns : winwidth(winnr())) endfunction function! s:inactive() abort let l = '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep . '%#SpaceVim_statusline_b#' let secs = [s:filename(), ' ' . &filetype, s:modes()] let base = 10 for sec in secs let len = s:STATUSLINE.len(sec) let base += len let l .= '%{ get(w:, "winwidth", 150) < ' . base . ' ? "" : (" ' . s:STATUSLINE.eval(sec) . ' ' . s:ilsep . '")}' endfor if get(w:, 'winwidth', 150) > base + 10 let l .= join(['%=', '%{" " . g:_spacevim_statusline_fileformat . " "}', '%{" " . (&fenc!=""?&fenc:&enc) . " "}', ' %P '], s:irsep) endif return l endfunction function! s:gitgutter() abort if exists('b:gitgutter_summary') let l:summary = get(b:, 'gitgutter_summary') if l:summary[0] != 0 || l:summary[1] != 0 || l:summary[2] != 0 return ' +'.l:summary[0].' ~'.l:summary[1].' -'.l:summary[2].' ' endif endif return '' endfunction function! SpaceVim#layers#core#statusline#init() abort augroup SpaceVim_statusline autocmd! autocmd BufWinEnter,WinEnter,FileType,BufWritePost \ * let &l:statusline = SpaceVim#layers#core#statusline#get(1) autocmd WinLeave * call SpaceVim#layers#core#statusline#remove_section('search status') autocmd WinLeave * let &l:statusline = SpaceVim#layers#core#statusline#get() autocmd ColorScheme * call SpaceVim#layers#core#statusline#def_colors() augroup END endfunction let s:colors_template = SpaceVim#mapping#guide#theme#gruvbox#palette() function! SpaceVim#layers#core#statusline#def_colors() abort if !empty(g:spacevim_custom_color_palette) let t = g:spacevim_custom_color_palette else let name = get(g:, 'colors_name', 'gruvbox') try let t = SpaceVim#mapping#guide#theme#{name}#palette() catch /^Vim\%((\a\+)\)\=:E117/ let t = SpaceVim#mapping#guide#theme#gruvbox#palette() endtry endif let s:colors_template = t exe 'hi! SpaceVim_statusline_a ctermbg=' . t[0][2] . ' ctermfg=' . t[0][3] . ' guibg=' . t[0][1] . ' guifg=' . t[0][0] exe 'hi! SpaceVim_statusline_a_bold cterm=bold gui=bold ctermbg=' . t[0][2] . ' ctermfg=' . t[0][3] . ' guibg=' . t[0][1] . ' guifg=' . t[0][0] exe 'hi! SpaceVim_statusline_ia gui=bold cterm=bold ctermbg=' . t[0][2] . ' ctermfg=' . t[0][3] . ' guibg=' . t[0][1] . ' guifg=' . t[0][0] exe 'hi! SpaceVim_statusline_b ctermbg=' . t[1][2] . ' ctermfg=' . t[1][3] . ' guibg=' . t[1][1] . ' guifg=' . t[1][0] exe 'hi! SpaceVim_statusline_c ctermbg=' . t[2][2] . ' ctermfg=' . t[2][3] . ' guibg=' . t[2][1] . ' guifg=' . t[2][0] exe 'hi! SpaceVim_statusline_z ctermbg=' . t[3][1] . ' ctermfg=' . t[2][2] . ' guibg=' . t[3][0] . ' guifg=' . t[2][0] exe 'hi! SpaceVim_statusline_error ctermbg=' . t[1][2] . ' ctermfg=Black guibg=' . t[1][1] . ' guifg=#ffc0b9 gui=bold' exe 'hi! SpaceVim_statusline_warn ctermbg=' . t[1][2] . ' ctermfg=Black guibg=' . t[1][1] . ' guifg=#fce094 gui=bold' exe 'hi! SpaceVim_statusline_info ctermbg=' . t[1][2] . ' ctermfg=Black guibg=' . t[1][1] . ' guifg=#8cf8f7 gui=bold' exe 'hi! SpaceVim_statusline_hint ctermbg=' . t[1][2] . ' ctermfg=Black guibg=' . t[1][1] . ' guifg=#a6dbff gui=bold' call s:HI.hi_separator('SpaceVim_statusline_a', 'SpaceVim_statusline_b') call s:HI.hi_separator('SpaceVim_statusline_a_bold', 'SpaceVim_statusline_b') call s:HI.hi_separator('SpaceVim_statusline_ia', 'SpaceVim_statusline_b') call s:HI.hi_separator('SpaceVim_statusline_b', 'SpaceVim_statusline_c') call s:HI.hi_separator('SpaceVim_statusline_b', 'SpaceVim_statusline_z') call s:HI.hi_separator('SpaceVim_statusline_c', 'SpaceVim_statusline_z') endfunction " the mode should be a dict " { " name : key " func : a function to called " } " " \ 'center-cursor': { " \ 'icon' : '⊝', " \ 'icon_asc' : '-', " \ 'desc' : 'centered-cursor mode', " \ }, function! SpaceVim#layers#core#statusline#register_mode(mode) abort if has_key(s:modes, a:mode.key) && has_key(a:mode, 'func') let s:modes[a:mode.key]['func'] = a:mode.func call SpaceVim#logger#debug('register major mode function:' . a:mode.key) else let s:modes[a:mode.key] = a:mode endif endfunction " This func is used to toggle major mode in statusline function! SpaceVim#layers#core#statusline#toggle_mode(name) abort call SpaceVim#logger#debug('toggle major mode: ' . a:name) let mode = get(s:modes, a:name, {}) if empty(mode) call SpaceVim#logger#debug('can not find major mode: ' . a:name) return endif if has_key(mode, 'func') let done = call(mode.func, []) else let done = 1 endif if index(s:loaded_modes, a:name) != -1 call remove(s:loaded_modes, index(s:loaded_modes, a:name)) else if done call add(s:loaded_modes, a:name) endif endif let &l:statusline = SpaceVim#layers#core#statusline#get(1) if s:major_mode_cache call s:update_conf() endif endfunction let s:section_old_pos = { \ } function! SpaceVim#layers#core#statusline#toggle_section(name) abort if index(g:spacevim_statusline_left, a:name) == -1 \ && index(g:spacevim_statusline_right, a:name) == -1 \ && !has_key(s:section_old_pos, a:name) if a:name ==# 'search status' call insert(g:spacevim_statusline_left, a:name, 2) else call add(g:spacevim_statusline_right, a:name) endif elseif index(g:spacevim_statusline_right, a:name) != -1 let s:section_old_pos[a:name] = ['r', index(g:spacevim_statusline_right, a:name)] call remove(g:spacevim_statusline_right, index(g:spacevim_statusline_right, a:name)) elseif index(g:spacevim_statusline_left, a:name) != -1 let s:section_old_pos[a:name] = ['l', index(g:spacevim_statusline_left, a:name)] call remove(g:spacevim_statusline_left, index(g:spacevim_statusline_left, a:name)) elseif has_key(s:section_old_pos, a:name) if s:section_old_pos[a:name][0] ==# 'r' call insert(g:spacevim_statusline_right, a:name, s:section_old_pos[a:name][1]) else call insert(g:spacevim_statusline_left, a:name, s:section_old_pos[a:name][1]) endif endif let &l:statusline = SpaceVim#layers#core#statusline#get(1) endfunction function! SpaceVim#layers#core#statusline#rsep() abort return get(s:separators, g:spacevim_statusline_separator, s:separators['arrow']) endfunction function! SpaceVim#layers#core#statusline#set_variable(var) abort let s:major_mode_cache = get(a:var, 'major_mode_cache', s:major_mode_cache) endfunction function! SpaceVim#layers#core#statusline#config() abort let [s:lsep , s:rsep] = get(s:separators, g:spacevim_statusline_separator, s:separators['arrow']) let [s:ilsep , s:irsep] = get(s:i_separators, g:spacevim_statusline_iseparator, s:i_separators['arrow']) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'm'], 'call SpaceVim#layers#core#statusline#toggle_section("minor mode lighters")', \ 'toggle the minor mode lighters', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'M'], 'call SpaceVim#layers#core#statusline#toggle_section("major mode")', \ 'toggle the major mode', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'b'], 'call SpaceVim#layers#core#statusline#toggle_section("battery status")', \ 'toggle the battery status', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'd'], 'call SpaceVim#layers#core#statusline#toggle_section("date")', \ 'toggle the date', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'i'], 'call SpaceVim#layers#core#statusline#toggle_section("input method")', \ 'toggle the input method', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 't'], 'call SpaceVim#layers#core#statusline#toggle_section("time")', \ 'toggle the time', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'p'], 'call SpaceVim#layers#core#statusline#toggle_section("cursorpos")', \ 'toggle the cursor position', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'm', 'T'], 'if &laststatus == 2 | let &laststatus = 0 | else | let &laststatus = 2 | endif', \ 'toggle the statusline itself', 1) function! TagbarStatusline(...) abort let name = (strwidth(a:3) > (g:spacevim_sidebar_width - 15)) ? a:3[:g:spacevim_sidebar_width - 20] . '..' : a:3 return s:STATUSLINE.build([s:winnr(1),' Tagbar ', ' ' . name . ' '], [], s:lsep, s:rsep, '', '', \ 'SpaceVim_statusline_ia', 'SpaceVim_statusline_b', 'SpaceVim_statusline_c', 'SpaceVim_statusline_z', g:spacevim_sidebar_width) endfunction let g:tagbar_status_func = 'TagbarStatusline' let g:unite_force_overwrite_statusline = 0 let g:ctrlp_status_func = { \ 'main': 'SpaceVim#layers#core#statusline#ctrlp', \ 'prog': 'SpaceVim#layers#core#statusline#ctrlp_status', \ } if filereadable(expand(g:spacevim_data_dir . 'SpaceVim/major_mode.json')) && s:major_mode_cache " the major mode is cashed in: ~\.cache\SpaceVim\major_mode.json call SpaceVim#logger#debug('load cache from major_mode.json') let conf = s:JSON.json_decode(join(readfile(expand(g:spacevim_data_dir . 'SpaceVim/major_mode.json'), ''), '')) for key in keys(conf) if conf[key] " this function should be called silent. call SpaceVim#logger#debug('cached major mode: ' . key) silent! call SpaceVim#layers#core#statusline#toggle_mode(key) endif endfor endif endfunction function! s:update_conf() abort call SpaceVim#logger#debug('write major mode to major_mode.json') let conf = {} for key in keys(s:modes) call extend(conf, {key : (index(s:loaded_modes, key) > -1 ? 1 : 0)}) endfor if writefile([s:JSON.json_encode(conf)], expand(g:spacevim_data_dir . 'SpaceVim/major_mode.json')) == 0 call SpaceVim#logger#debug('update major_mode.json done') else call SpaceVim#logger#debug('failed to update major_mode.json') endif endfunction " Arguments: " | " +- a:focus : The focus of the prompt: "prt" or "win". " | " +- a:byfname : In filename mode or in full path mode: "file" or "path". " | " +- a:regex : In regex mode: 1 or 0. " | " +- a:prev : The previous search mode. " | " +- a:item : The current search mode. " | " +- a:next : The next search mode. " | " +- a:marked : The number of marked files, or a comma separated list of " the marked filenames. " @vimlint(EVL103, 1, a:regex) " @vimlint(EVL103, 1, a:marked) function! SpaceVim#layers#core#statusline#ctrlp(focus, byfname, regex, prev, item, next, marked) abort return s:STATUSLINE.build([' Ctrlp ', ' ' . a:prev . ' ', ' ' . a:item . ' ', ' ' . a:next . ' '], \ [' ' . a:focus . ' ', ' ' . a:byfname . ' ', ' ' . getcwd() . ' '], s:lsep, s:rsep, '', '', \ 'SpaceVim_statusline_a_bold', 'SpaceVim_statusline_b', 'SpaceVim_statusline_c', 'SpaceVim_statusline_z', winwidth(winnr())) endfunction " @vimlint(EVL103, 0, a:regex) " @vimlint(EVL103, 0, a:marked) " a:str : Either the number of files scanned so far, or a string indicating " the current directory is being scanned with a user_command. function! SpaceVim#layers#core#statusline#ctrlp_status(str) abort return s:STATUSLINE.build([' Ctrlp ', ' ' . a:str . ' '], \ [' ' . getcwd() . ' '], s:lsep, s:rsep, '', '', \ 'SpaceVim_statusline_a', 'SpaceVim_statusline_b', 'SpaceVim_statusline_c', 'SpaceVim_statusline_z', winwidth(winnr())) endfunction function! SpaceVim#layers#core#statusline#jump(i) abort if s:WIN.win_count() >= a:i exe a:i . 'wincmd w' endif endfunction function! SpaceVim#layers#core#statusline#mode(mode) abort let t = s:colors_template let iedit_mode = get(w:, 'spacevim_iedit_mode', '') let mode = get(w:, 'spacevim_statusline_mode', '') if mode != a:mode if a:mode ==# 'n' if !empty(iedit_mode) if iedit_mode ==# 'n' exe 'hi! SpaceVim_statusline_a gui=bold cterm=bold ctermbg=' . t[8][3] . ' ctermfg=' . t[8][2] . ' guibg=' . t[8][1] . ' guifg=' . t[8][0] elseif iedit_mode ==# 'i' exe 'hi! SpaceVim_statusline_a gui=bold cterm=bold ctermbg=' . t[7][3] . ' ctermfg=' . t[7][2] . ' guibg=' . t[7][1] . ' guifg=' . t[7][0] else exe 'hi! SpaceVim_statusline_a gui=bold cterm=bold ctermbg=' . t[0][2] . ' ctermfg=' . t[0][3] . ' guibg=' . t[0][1] . ' guifg=' . t[0][0] endif else exe 'hi! SpaceVim_statusline_a gui=bold cterm=bold ctermbg=' . t[0][2] . ' ctermfg=' . t[0][3] . ' guibg=' . t[0][1] . ' guifg=' . t[0][0] endif elseif a:mode ==# 'i' exe 'hi! SpaceVim_statusline_a gui=bold cterm=bold ctermbg=' . t[4][3] . ' ctermfg=' . t[4][2] . ' guibg=' . t[4][1] . ' guifg=' . t[4][0] elseif a:mode ==# 'R' exe 'hi! SpaceVim_statusline_a gui=bold cterm=bold ctermbg=' . t[6][3] . ' ctermfg=' . t[6][2] . ' guibg=' . t[6][1] . ' guifg=' . t[6][0] elseif a:mode ==# 'v' || a:mode ==# 'V' || a:mode ==# '' || a:mode ==# 's' || a:mode ==# 'S' || a:mode ==# '' exe 'hi! SpaceVim_statusline_a gui=bold cterm=bold ctermbg=' . t[5][3] . ' ctermfg=' . t[5][2] . ' guibg=' . t[5][1] . ' guifg=' . t[5][0] endif call s:HI.hi_separator('SpaceVim_statusline_a', 'SpaceVim_statusline_b') let w:spacevim_statusline_mode = a:mode endif return '' endfunction function! SpaceVim#layers#core#statusline#mode_text(mode) abort let past_mode = &paste ? 'Paste ' . s:ilsep . ' ' : '' let mode_text = '' let iedit_mode = get(w:, 'spacevim_iedit_mode', '') if a:mode ==# 'n' if !empty(iedit_mode) if iedit_mode ==# 'n' let mode_text = 'IEDIT-NORMAL' elseif iedit_mode ==# 'i' let mode_text = 'IEDIT-INSERT' endif else let mode_text = ' NORMAL' endif elseif a:mode ==# 'i' let mode_text = ' INSERT' elseif a:mode ==# 'R' let mode_text = 'REPLACE' elseif a:mode ==# 'v' let mode_text = ' VISUAL' elseif a:mode ==# 'V' let mode_text = ' V-LINE' elseif a:mode ==# '' let mode_text = 'V-BLOCK' elseif a:mode ==# 'c' let mode_text = 'COMMAND' elseif a:mode ==# 't' let mode_text = ' TERM' elseif a:mode ==# 'v' || a:mode ==# 'V' || a:mode ==# '^V' || a:mode ==# 's' || a:mode ==# 'S' || a:mode ==# '^S' let mode_text = ' VISUAL' endif return past_mode . mode_text endfunction function! SpaceVim#layers#core#statusline#denite_status(argv) abort if exists('*denite#get_status_mode') let denite_ver = 2 else let denite_ver = 3 endif if denite_ver == 3 return denite#get_status(a:argv) else return denite#get_status_{a:argv}() endif endfunction function! SpaceVim#layers#core#statusline#denite_mode() abort let t = s:colors_template if exists('*denite#get_status_mode') let denite_ver = 2 else let denite_ver = 3 endif if denite_ver == 3 let dmode = 'Denite' else " this can not be changed, as it works in old denite let dmode = split(denite#get_status_mode())[1] if get(w:, 'spacevim_statusline_mode', '') != dmode if dmode ==# 'NORMAL' exe 'hi! SpaceVim_statusline_a_bold cterm=bold gui=bold ctermbg=' . t[0][2] . ' ctermfg=' . t[0][3] . ' guibg=' . t[0][1] . ' guifg=' . t[0][0] elseif dmode ==# 'INSERT' exe 'hi! SpaceVim_statusline_a_bold cterm=bold gui=bold ctermbg=' . t[4][3] . ' ctermfg=' . t[4][2] . ' guibg=' . t[4][1] . ' guifg=' . t[4][0] endif call s:HI.hi_separator('SpaceVim_statusline_a_bold', 'SpaceVim_statusline_b') let w:spacevim_statusline_mode = dmode endif endif return dmode endfunction function! SpaceVim#layers#core#statusline#unite_mode() abort let t = s:colors_template let dmode = mode() if get(w:, 'spacevim_statusline_mode', '') != dmode if dmode ==# 'n' exe 'hi! SpaceVim_statusline_a_bold cterm=bold gui=bold ctermbg=' . t[0][2] . ' ctermfg=' . t[0][3] . ' guibg=' . t[0][1] . ' guifg=' . t[0][0] elseif dmode ==# 'i' exe 'hi! SpaceVim_statusline_a_bold cterm=bold gui=bold ctermbg=' . t[4][3] . ' ctermfg=' . t[4][2] . ' guibg=' . t[4][1] . ' guifg=' . t[4][0] endif call s:HI.hi_separator('SpaceVim_statusline_a_bold', 'SpaceVim_statusline_b') let w:spacevim_statusline_mode = dmode endif return '' endfunction function! SpaceVim#layers#core#statusline#register_sections(name, func) abort if has_key(s:registed_sections, a:name) call SpaceVim#logger#info('statusline build-in section ' . a:name . ' has been changed!') call extend(s:registed_sections, {a:name : a:func}) else call extend(s:registed_sections, {a:name : a:func}) endif endfunction function! SpaceVim#layers#core#statusline#check_section(name) abort return (index(g:spacevim_statusline_left, a:name) != -1 \ || index(g:spacevim_statusline_right, a:name) != -1) endfunction function! SpaceVim#layers#core#statusline#remove_section(name) abort if index(g:spacevim_statusline_left, a:name) != -1 call remove(g:spacevim_statusline_left, index(g:spacevim_statusline_left, a:name)) endif if index(g:spacevim_statusline_right, a:name) != -1 call remove(g:spacevim_statusline_right, index(g:spacevim_statusline_left, a:name)) endif let &l:statusline = SpaceVim#layers#core#statusline#get(1) endfunction function! SpaceVim#layers#core#statusline#health() abort call SpaceVim#layers#core#statusline#config() return 1 endfunction " vim:set et sw=2 cc=80 nowrap: ================================================ FILE: autoload/SpaceVim/layers/core/tabline.vim ================================================ "============================================================================= " tabline.vim --- SpaceVim tabline " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section core#tabline, layers-core-tabline " @parentsection layers " This layer provides default tabline for SpaceVim " If you want to use airline's tabline, just disable this layer " > " [[layers]] " name = "core#tabline" " enable = false " < " @subsection Layer options " " 1. `enable_default_mappings`: Enable/disable default key bindings. This is " enabled by default. " " @subsection Key bindings " " The following two key bindings require neovim v0.10.0+. " > " Key binding | Description " ----------------- | ----------------------------------------------- " Ctrl-Shift-Right | Move current tabpage to the right " Ctrl-Shift-Left | Move current tabpage to the left " < " @subsection Use Tabline " " Buffers will be listed on the tabline if there is only one tab, each item contains " the index, buffer name and the filetype icon. If there is more than one tab, all " of them will be listed on the tabline. Each item can be quickly accessed by using " ` number`. Default `` is `\`. " > " Key Bindings | Descriptions " ------------ | ----------------------------------------------- " 1 | Jump to index 1 on tabline " 2 | Jump to index 2 on tabline " 3 | Jump to index 3 on tabline " 4 | Jump to index 4 on tabline " 5 | Jump to index 5 on tabline " 6 | Jump to index 6 on tabline " 7 | Jump to index 7 on tabline " 8 | Jump to index 8 on tabline " 9 | Jump to index 9 on tabline " g r | Switch to alternate tab (switch back and forth) " < " NOTE: `SPC Tab` is the key binding for switching to alternate buffer. " Read [Buffers and Files](#buffers-and-files) section for more info. " " SpaceVim tabline also supports mouse click, the left mouse button will switch to the buffer, " while the middle mouse button will delete the buffer. " " NOTE: This feature is only supported in Neovim with `has('tablineat')`. " > " Key Bindings | Descriptions " ---------------- | -------------------- " | Switch to the buffer " | Delete the buffer " < " @subsection Tab manager " " You can also use `SPC t t` to open the tab manager window. " " Key bindings within the tab manager window: " > " Key Bindings | Descriptions " ----------------- | ----------------------------------------- " o | Close or expand tab windows. " r | Rename the tab under the cursor. " n | Create new named tab below the cursor tab " N | Create new tab below the cursor tab " x | Delete the tab " Ctrl-Shift-Up | Move tab backward " Ctrl-Shift-Down | Move tab forward " | Switch to the window under the cursor. " < scriptencoding utf-8 if exists('g:_spacevim_tabline_loaded') finish endif let g:_spacevim_tabline_loaded = 1 let s:enable_default_mappings = 1 if has('nvim-0.9.0') function! SpaceVim#layers#core#tabline#get() abort return v:lua.require('spacevim.plugin.tabline').get() endfunction function! SpaceVim#layers#core#tabline#config() abort lua require('spacevim.plugin.tabline').enable() set tabline=%!v:lua.require('spacevim.plugin.tabline').get() augroup SpaceVim_tabline autocmd! autocmd ColorScheme * lua require('spacevim.plugin.tabline').def_colors() augroup END if s:enable_default_mappings nnoremap lua require('spacevim.plugin.tabline').move_to_previous() nnoremap lua require('spacevim.plugin.tabline').move_to_next() endif let shift_keys = { \ '1': '!', \ '2': '@', \ '3': '#', \ '4': '$', \ '5': '%', \ '6': '^', \ '7': '&', \ '8': '*', \ '9': '(', \ '0': ')' \} for i in range(1, 20) let key = i % 10 if i > 10 let key = shift_keys[string(key)] endif exe "call SpaceVim#mapping#def('nmap ', '" . key \ . "', ':call SpaceVim#layers#core#tabline#jump(" \ . i . ")', 'Switch to airline tab " . i \ . "', '', 'tabline index " . i . "')" endfor endfunction function! SpaceVim#layers#core#tabline#jump(id, ...) abort call SpaceVim#logger#info(a:id) call SpaceVim#logger#info(string(a:000)) lua require('spacevim.plugin.tabline').jump(vim.api.nvim_eval('a:id')) endfunction function! SpaceVim#layers#core#tabline#def_colors() abort call v:lua.require('spacevim.plugin.tabline').def_colors() endfunction function! SpaceVim#layers#core#tabline#health() abort call SpaceVim#layers#core#tabline#config() return 1 endfunction function! SpaceVim#layers#core#tabline#loadable() abort return 1 endfunction function! SpaceVim#layers#core#tabline#plugins() abort return [] endfunction function! SpaceVim#layers#core#tabline#set_variable(var) abort let s:enable_default_mappings = get(a:var, 'enable_default_mappings', s:enable_default_mappings) endfunction function! SpaceVim#layers#core#tabline#get_options() abort return ['enable_default_mappings'] endfunction finish endif " loadding APIs {{{ let s:MESSLETTERS = SpaceVim#api#import('messletters') let s:FILE = SpaceVim#api#import('file') let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:HI = SpaceVim#api#import('vim#highlight') let s:LOG = SpaceVim#logger#derive('tabline ') let s:SYS = SpaceVim#api#import('system') let s:TAB = SpaceVim#api#import('vim#tab') " }}} " init let s:buffers = s:BUFFER.listed_buffers() let s:separators = { \ 'arrow' : ["\ue0b0", "\ue0b2"], \ 'curve' : ["\ue0b4", "\ue0b6"], \ 'slant' : ["\ue0b8", "\ue0ba"], \ 'brace' : ["\ue0d2", "\ue0d4"], \ 'fire' : ["\ue0c0", "\ue0c2"], \ 'nil' : ['', ''], \ } let s:i_separators = { \ 'arrow' : ["\ue0b1", "\ue0b3"], \ 'slant' : ["\ue0b9", "\ue0bb"], \ 'bar' : ['|', '|'], \ 'nil' : ['', ''], \ } let [s:lsep , s:rsep] = ['', ''] let [s:ilsep , s:irsep] = ['', ''] function! s:get_no_empty(a, b) abort if empty(a:a) return a:b else return a:a endif endfunction function! s:move_tabpage(direction) " get number of tab pages. let ntp = tabpagenr("$") if ntp > 1 " get number of current tab page. let ctpn = tabpagenr() if a:direction > 0 let index = (ctpn + a:direction) % ntp if index == 0 let index = ntp elseif index == 1 let index = 0 endif else let index = (ctpn + a:direction) % ntp if index < 0 let index = ntp + index endif if index == 0 let index = ntp elseif index == 1 let index = 0 else let index -= 1 endif endif " move tab page. execute "tabmove ".index endif endfunction function! s:tabname(bufnr) abort let name = bufname(a:bufnr) if name ==# '\[Vader\]' let fn = '[Vader]' elseif name =~# 'term://.*' let fn = 'Terminal' else let fn = fnamemodify(name, ':t') endif if g:spacevim_enable_tabline_ft_icon || get(g:, 'spacevim_enable_tabline_filetype_icon', 0) let icon = s:FILE.fticon(fn) if !empty(icon) let fn = fn . ' ' . icon endif endif if empty(fn) return 'No Name' else return fn endif endfunction function! s:wrap_id(id) abort if g:spacevim_buffer_index_type == 3 let id = s:MESSLETTERS.index_num(a:id) elseif g:spacevim_buffer_index_type == 4 let id = a:id else let id = s:MESSLETTERS.bubble_num(a:id, g:spacevim_buffer_index_type) endif return id . ' ' endfunction " build the tab item, the first argv is bufnr, and the second argv is tabnr function! s:buffer_item(bufnr, ...) abort let name = s:tabname(a:bufnr) let tabnr = get(a:000, 0, -1) if tabnr != -1 let tabname = gettabvar(tabnr, '_spacevim_tab_name', '') let len = strlen(tabname) + 3 else let tabname = '' let len = strlen(name) + 3 endif let item = { \ 'bufnr' : a:bufnr, \ 'len' : len, \ 'bufname' : name, \ 'tabname' : tabname, \ 'tabnr' : tabnr, \ } return item endfunction " check if the items len longer than &columns " the check_len function should also check the tab name. function! s:check_len(items) abort let len = 0 for item in a:items let len += item.len endfor return len > &columns - 25 endfunction function! s:is_modified(nr) abort return getbufvar(a:nr, '&modified', 0) endfunction " cache shown_items let s:shown_items = [] function! SpaceVim#layers#core#tabline#get() abort let tabpage_counts = tabpagenr('$') let all_tabline_items = [] let shown_items = [] if tabpage_counts > 1 let current_tabnr = tabpagenr() let previous_tabnr = s:TAB.previous_tabpagenr() let matched_len = 0 for i in range(1, tabpage_counts) call add(all_tabline_items, s:buffer_item(tabpagebuflist(i)[tabpagewinnr(i) - 1], i)) endfor if previous_tabnr < current_tabnr for i in range(previous_tabnr == 0 ? 1 : previous_tabnr, current_tabnr) call add(shown_items, all_tabline_items[i - 1]) if s:check_len(shown_items) let matched_len = 1 call remove(shown_items, 0) endif endfor if !matched_len && current_tabnr < tabpage_counts for i in range(current_tabnr + 1, tabpage_counts) call add(shown_items, all_tabline_items[i - 1]) if s:check_len(shown_items) let matched_len = 1 call remove(shown_items, -1) break endif endfor endif if !matched_len && previous_tabnr > 1 for i in reverse(range(1, previous_tabnr - 1)) call insert(shown_items, all_tabline_items[i - 1]) if s:check_len(shown_items) call remove(shown_items, 0) break endif endfor endif else for i in range(current_tabnr, previous_tabnr > tabpage_counts ? tabpage_counts : previous_tabnr) call add(shown_items, all_tabline_items[i - 1]) if s:check_len(shown_items) let matched_len = 1 call remove(shown_items, -1) break endif endfor if !matched_len && current_tabnr > 1 for i in reverse(range(1, current_tabnr - 1)) call insert(shown_items, all_tabline_items[i - 1]) if s:check_len(shown_items) let matched_len = 1 call remove(shown_items, 0) break endif endfor endif if !matched_len && previous_tabnr < tabpage_counts for i in range(previous_tabnr + 1, tabpage_counts) call add(shown_items, all_tabline_items[i - 1]) if s:check_len(shown_items) call remove(shown_items, -1) break endif endfor endif endif " get the list of displayed items let s:shown_items = shown_items if empty(shown_items) return '' endif let t = '' let right_hidden_tab_number = shown_items[0].tabnr - 1 let left_hidden_tab_number = tabpage_counts - shown_items[-1].tabnr if right_hidden_tab_number > 0 let t .= '%#SpaceVim_tabline_a#' . ' << '. right_hidden_tab_number endif if current_tabnr == shown_items[0].tabnr if s:is_modified(shown_items[0].bufnr) if right_hidden_tab_number > 0 let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_m#' . s:lsep endif let t .= '%#SpaceVim_tabline_m# ' else if right_hidden_tab_number > 0 let t .= ' ' . s:ilsep endif let t .= '%#SpaceVim_tabline_a# ' endif else if right_hidden_tab_number > 0 let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep endif let t .= s:is_modified(shown_items[0].bufnr) ? '%#SpaceVim_tabline_m_i# ' : '%#SpaceVim_tabline_b# ' endif let index = 1 for item in shown_items[:-2] if has('tablineat') let t .= '%' . index . '@SpaceVim#layers#core#tabline#jump@' endif let t .= s:wrap_id(index) let t .= s:get_no_empty(gettabvar(item.tabnr, '_spacevim_tab_name'), item.bufname) let index += 1 if item.tabnr == current_tabnr if s:is_modified(item.bufnr) let t .= ' %#SpaceVim_tabline_m_SpaceVim_tabline_b#' . s:lsep else let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep endif let t .= s:is_modified(shown_items[index-1].bufnr) ? '%#SpaceVim_tabline_m_i# ' : '%#SpaceVim_tabline_b# ' elseif item.tabnr == current_tabnr - 1 " check if current_tabnr is modified if s:is_modified(s:BUFFER.bufnr()) let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_m#' . s:lsep . '%#SpaceVim_tabline_m# ' else let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a#' . s:lsep . '%#SpaceVim_tabline_a# ' endif else let t .= s:is_modified(shown_items[index-1].bufnr) ? '%#SpaceVim_tabline_m_i# ' : '%#SpaceVim_tabline_b# ' let t .= s:ilsep . ' ' endif endfor let item = shown_items[-1] if has('tablineat') let t .= '%' . index . '@SpaceVim#layers#core#tabline#jump@' endif let t .= s:wrap_id(index) . s:get_no_empty(gettabvar(item.tabnr, '_spacevim_tab_name'), item.bufname) if item.tabnr == current_tabnr if left_hidden_tab_number > 0 if s:is_modified(item.bufnr) let t .= ' %#SpaceVim_tabline_m_SpaceVim_tabline_a#' . s:lsep let t .= ' %#SpaceVim_tabline_a#' . left_hidden_tab_number . ' >>' let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' else let t .= ' ' . s:ilsep let t .= ' ' . left_hidden_tab_number . ' >>' let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' endif else if s:is_modified(item.bufnr) let t .= ' %#SpaceVim_tabline_m_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' else let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' endif endif else if left_hidden_tab_number > 0 let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a#' . s:lsep let t .= ' %#SpaceVim_tabline_a#' . left_hidden_tab_number . ' >>' let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' else let t .= ' ' . s:ilsep endif endif " how many buffers after the last item are hidden? let t .= '%=%#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:rsep let t .= '%#SpaceVim_tabline_a# Tabs ' return t else let s:buffers = s:BUFFER.listed_buffers() if empty(s:buffers) return '' endif for i in range(len(s:buffers)) call add(all_tabline_items, s:buffer_item(s:buffers[i])) endfor let current_buf_index = index(s:buffers, s:BUFFER.bufnr()) let previous_buf_index = index(s:buffers, s:BUFFER.bufnr('#')) let matched_len = 0 if current_buf_index ==# -1 let shown_items = filter(s:shown_items, 'buflisted(v:val.bufnr)') else if previous_buf_index < current_buf_index if previous_buf_index == -1 let previous_buf_index = 0 endif for i in range(previous_buf_index, current_buf_index) call add(shown_items, all_tabline_items[i]) if s:check_len(shown_items) let matched_len = 1 call remove(shown_items, 0) endif endfor if !matched_len && current_buf_index < len(s:buffers) - 1 for i in range(current_buf_index + 1, len(s:buffers) - 1) call add(shown_items, all_tabline_items[i]) if s:check_len(shown_items) let matched_len = 1 call remove(shown_items, -1) break endif endfor endif if !matched_len && previous_buf_index > 0 for i in reverse(range(0, previous_buf_index - 1)) call insert(shown_items, all_tabline_items[i]) if s:check_len(shown_items) call remove(shown_items, 0) break endif endfor endif else if previous_buf_index == -1 let previous_buf_index = len(s:buffers) - 1 endif for i in range(current_buf_index, previous_buf_index) call add(shown_items, all_tabline_items[i]) if s:check_len(shown_items) let matched_len = 1 call remove(shown_items, -1) break endif endfor if !matched_len && current_buf_index > 0 for i in reverse(range(0, current_buf_index - 1)) call insert(shown_items, all_tabline_items[i]) if s:check_len(shown_items) let matched_len = 1 call remove(shown_items, 0) break endif endfor endif if !matched_len && previous_buf_index < len(s:buffers) - 1 for i in range(previous_buf_index + 1, len(s:buffers) - 1) call add(shown_items, all_tabline_items[i]) if s:check_len(shown_items) call remove(shown_items, -1) break endif endfor endif endif let s:shown_items = shown_items let g:_spacevim_list_buffers = map(deepcopy(s:shown_items), 'v:val.bufnr') endif if empty(shown_items) return '' endif let t = '' " how many buffers before the first item are hidden. let right_hidden_buffer_number = index(s:buffers, shown_items[0].bufnr) let left_hidden_buffer_number = len(s:buffers) - 1 - index(s:buffers, shown_items[-1].bufnr) if right_hidden_buffer_number > 0 let t .= '%#SpaceVim_tabline_a#' . ' << '. right_hidden_buffer_number endif if s:BUFFER.bufnr() == shown_items[0].bufnr if s:is_modified(shown_items[0].bufnr) if right_hidden_buffer_number > 0 let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_m#' . s:lsep endif let t .= '%#SpaceVim_tabline_m# ' else if right_hidden_buffer_number > 0 let t .= ' ' . s:ilsep endif let t .= '%#SpaceVim_tabline_a# ' endif else if right_hidden_buffer_number > 0 let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep endif let t .= s:is_modified(shown_items[0].bufnr) ? '%#SpaceVim_tabline_m_i# ' : '%#SpaceVim_tabline_b# ' endif let index = 1 for item in shown_items[:-2] if has('tablineat') let t .= '%' . index . '@SpaceVim#layers#core#tabline#jump@' endif let t .= s:wrap_id(index) . item.bufname let index += 1 if item.bufnr == s:BUFFER.bufnr() if s:is_modified(item.bufnr) let t .= ' %#SpaceVim_tabline_m_SpaceVim_tabline_b#' . s:lsep else let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep endif let t .= s:is_modified(s:buffers[index(s:buffers, item.bufnr) + 1]) ? '%#SpaceVim_tabline_m_i# ' : '%#SpaceVim_tabline_b# ' elseif index(s:buffers, s:BUFFER.bufnr()) > 0 && item.bufnr == s:buffers[index(s:buffers, s:BUFFER.bufnr()) - 1] if s:is_modified(s:BUFFER.bufnr()) let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_m#' . s:lsep . '%#SpaceVim_tabline_m# ' else let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a#' . s:lsep . '%#SpaceVim_tabline_a# ' endif else let t .= s:is_modified(s:buffers[index(s:buffers, item.bufnr) + 1]) ? '%#SpaceVim_tabline_m_i# ' : '%#SpaceVim_tabline_b# ' let t .= s:ilsep . ' ' endif endfor let item = shown_items[-1] if has('tablineat') let t .= '%' . index . '@SpaceVim#layers#core#tabline#jump@' endif let t .= s:wrap_id(index) . item.bufname if item.bufnr == s:BUFFER.bufnr() if left_hidden_buffer_number > 0 if s:is_modified(item.bufnr) let t .= ' %#SpaceVim_tabline_m_SpaceVim_tabline_a#' . s:lsep let t .= ' %#SpaceVim_tabline_a#' . left_hidden_buffer_number . ' >>' let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' else let t .= ' ' . s:ilsep let t .= ' ' . left_hidden_buffer_number . ' >>' let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' endif else if s:is_modified(item.bufnr) let t .= ' %#SpaceVim_tabline_m_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' else let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' endif endif else if left_hidden_buffer_number > 0 let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a#' . s:lsep let t .= ' %#SpaceVim_tabline_a#' . left_hidden_buffer_number . ' >>' let t .= ' %#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:lsep . '%#SpaceVim_tabline_b#' else let t .= ' ' . s:ilsep endif endif " how many buffers after the last item are hidden? let t .= '%=%#SpaceVim_tabline_a_SpaceVim_tabline_b#' . s:rsep let t .= '%#SpaceVim_tabline_a# Buffers ' return t endif endfunction function! SpaceVim#layers#core#tabline#config() abort let [s:lsep , s:rsep] = get(s:separators, g:spacevim_statusline_separator, s:separators['arrow']) let [s:ilsep , s:irsep] = get(s:i_separators, g:spacevim_statusline_iseparator, s:separators['arrow']) set tabline=%!SpaceVim#layers#core#tabline#get() augroup SpaceVim_tabline autocmd! autocmd ColorScheme * call SpaceVim#layers#core#tabline#def_colors() augroup END if s:enable_default_mappings nnoremap :call move_tabpage(-1) nnoremap :call move_tabpage(1) endif let shift_keys = { \ '1': '!', \ '2': '@', \ '3': '#', \ '4': '$', \ '5': '%', \ '6': '^', \ '7': '&', \ '8': '*', \ '9': '(', \ '0': ')' \} for i in range(1, 20) let key = i % 10 if i > 10 let key = shift_keys[string(key)] endif exe "call SpaceVim#mapping#def('nmap ', '" . key \ . "', ':call SpaceVim#layers#core#tabline#jump(" \ . i . ")', 'Switch to airline tab " . i \ . "', '', 'tabline index " . i . "')" endfor endfunction function! SpaceVim#layers#core#tabline#jump(id, ...) abort call SpaceVim#logger#info(a:id) call SpaceVim#logger#info(string(a:000)) if len(s:shown_items) >= a:id let item = s:shown_items[a:id - 1] let mouse = get(a:000, 1, '') if tabpagenr('$') > 1 if mouse ==# 'm' exe 'tabclose ' . item.tabnr elseif mouse ==# 'l' exe 'tabnext' . item.tabnr else exe 'tabnext' . item.tabnr endif else if mouse ==# 'm' exe 'bd ' . item.bufnr elseif mouse ==# 'l' exe 'silent b ' . item.bufnr else exe 'silent b ' . item.bufnr endif endif endif endfunction function! SpaceVim#layers#core#tabline#def_colors() abort let name = get(g:, 'colors_name', 'gruvbox') if !empty(g:spacevim_custom_color_palette) let t = g:spacevim_custom_color_palette else try let t = SpaceVim#mapping#guide#theme#{name}#palette() catch /^Vim\%((\a\+)\)\=:E117/ let t = SpaceVim#mapping#guide#theme#gruvbox#palette() endtry endif exe 'hi! SpaceVim_tabline_a ctermbg=' . t[0][2] . ' ctermfg=' . t[0][3] . ' guibg=' . t[0][1] . ' guifg=' . t[0][0] if name ==# 'palenight' exe 'hi! SpaceVim_tabline_b ctermbg=' . '236' . ' ctermfg=' . t[1][3] . ' guibg=' .'#44475a'. ' guifg=' . t[1][0] else exe 'hi! SpaceVim_tabline_b ctermbg=' . t[1][2] . ' ctermfg=' . t[1][3] . ' guibg=' . t[1][1] . ' guifg=' . t[1][0] endif " SpaceVim_tabline_c is for modified buffers exe 'hi! SpaceVim_tabline_m ctermbg=' . t[4][3] . ' ctermfg=' . t[4][2] . ' guibg=' . t[4][1] . ' guifg=' . t[4][0] if name ==# 'palenight' exe 'hi! SpaceVim_tabline_m_i ctermbg=' . '236' . ' ctermfg=' . t[4][3] . ' guibg=' . '#44475a' . ' guifg=' . t[4][1] else exe 'hi! SpaceVim_tabline_m_i ctermbg=' . t[1][2] . ' ctermfg=' . t[4][3] . ' guibg=' . t[1][1] . ' guifg=' . t[4][1] endif call s:HI.hi_separator('SpaceVim_tabline_a', 'SpaceVim_tabline_b') call s:HI.hi_separator('SpaceVim_tabline_m', 'SpaceVim_tabline_b') call s:HI.hi_separator('SpaceVim_tabline_m', 'SpaceVim_tabline_a') endfunction function! SpaceVim#layers#core#tabline#health() abort call SpaceVim#layers#core#tabline#config() return 1 endfunction function! SpaceVim#layers#core#tabline#loadable() abort return 1 endfunction function! SpaceVim#layers#core#tabline#plugins() abort return [] endfunction function! SpaceVim#layers#core#tabline#set_variable(var) abort let s:enable_default_mappings = get(a:var, 'enable_default_mappings', s:enable_default_mappings) endfunction function! SpaceVim#layers#core#tabline#get_options() abort return ['enable_default_mappings'] endfunction ================================================ FILE: autoload/SpaceVim/layers/core.vim ================================================ "============================================================================= " core.vim --- SpaceVim core layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section core, layers-core " @parentsection layers " The `core` layer of SpaceVim. This layer is enabled by default, " and it provides filetree, comment key bindings etc. " " @subsection options " 1. `filetree_show_hidden`: option for showing hidden file in filetree, " disabled by default. " 2. `enable_smooth_scrolling`: enable/disabled smooth scrolling key bindings, " enabled by default. " 3. `enable_filetree_gitstatus`: enable/disable git status column in filetree. " 4. `enable_filetree_filetypeicon`: enable/disable filetype icons in filetree. " 5. `enable_netrw`: enable/disable netrw, disabled by default. " 6. `enable_quickfix_key_bindings`: enable/disable quickfix.nvim, mappings " for neovim quickfix window. This option is only for neovim. " 7. `enable_winbar`: enable/disable `wsdjeg/winbar.nvim` " " NOTE: the `enable_vimfiler_gitstatus` and `enable_filetree_gitstatus` option " has been deprecated. Use layer option instead. " *spacevim-options-enable_vimfiler_gitstatus* " *spacevim-options-enable_filetree_gitstatus* " *g:spacevim_enable_vimfiler_gitstatus* " *g:spacevim_enable_filetree_gitstatus* " *g:spacevim_enable_vimfiler_filetypeicon* if exists('s:string_hi') finish endif "" " @section File Tree, usage-file-tree " @parentsection usage " The default filetree is `nerdtree`, and the default key binding is ``. " SpaceVim also provides `SPC f t` and `SPC f T` to open the file tree. " " The option @section(options-filemanager) can be used to change file " manager plugin. For example: " > " [options] " # file manager plugins supported in SpaceVim: " # - nerdtree (default) " # - vimfiler: you need to build the vimproc.vim in bundle/vimproc.vim directory " # - defx: requires +py3 feature " # - neo-tree: require neovim 0.7.0 " filemanager = "nerdtree" " < " " VCS integration is also supported, there will be a column status, " this feature may make filetree slow, so it is not enabled by default. " To enable this feature, add the layer option `enable_filetree_gitstatus = true` " to core layer. " > " [[layers]] " name = 'core' " enable_filetree_gitstatus = true " < " " There is also an option to configure whether open filetree when startup. " This is enabled by defaul, To disable this feature, you can set the " @section(options-enable_vimfiler_welcome) to false: " > " [options] " enable_vimfiler_welcome = false " < " " There is also an option to configure the side of the file tree, " by default it is right. To move the file tree to the left, " you can use the option: @section(options-filetree_direction). " > " [options] " filetree_direction = "left" " < " " @subsection File tree navigation " " Navigation is centered on the `hjkl` keys with the hope of providing " a fast navigation experience like in vifm(https://github.com/vifm): " > " Key Bindings | Descriptions " --------------------- | ------------------------------------------------- " | Toggle file explorer " SPC f t | Toggle file explorer " SPC f T | Show file explorer " < " Key bindings in filetree windows: " > " / h | go to parent node and collapse expanded directory " / j | select next file or directory " / k | select previous file or directory " / l | open selected file or expand directory " | open file or switch to directory " N | Create new file under cursor " r | Rename the file under cursor " d | Delete the file under cursor " K | Create new directory under cursor " y y | Copy file full path to system clipboard " y Y | Copy file to system clipboard " P | Paste file to the position under the cursor " . | Toggle hidden files " s v | Split edit " s g | Vertical split edit " p | Preview " i | Switch to directory history " v | Quick look " g x | Execute with vimfiler associated " ' | Toggle mark current line " V | Clear all marks " > | increase filetree screenwidth " < | decrease filetree screenwidth " | Jump to first line " | Jump to last line " Ctrl-h | Switch to project root directory " Ctrl-r | Redraw " < " " @subsection Open file with file tree. " " If only one file buffer is opened, a file is opened in the active window, " otherwise we need to use vim-choosewin to select a window to open the file. " > " Key Bindings | Descriptions " --------------- | ---------------------------------------- " l / | open file in one window " s g | open file in a vertically split window " s v | open file in a horizontally split window " < " @subsection Override filetree key bindings " " If you want to override the default key bindings in filetree windows. " You can use User autocmd in bootstrap function. for examples: " > " function! myspacevim#before() abort " autocmd User NerdTreeInit " \ nnoremap :call " \ g:NERDTreeKeyMap.Invoke('o') " endfunction " < " " Here is all the autocmd for filetree: " " - nerdtree: `User NerdTreeInit` " - defx: `User DefxInit` " - vimfiler: `User VimfilerInit` let s:enable_smooth_scrolling = 1 let s:enable_netrw = 0 let s:enable_quickfix_key_bindings = 0 let s:enable_winbar = 0 let g:_spacevim_enable_filetree_gitstatus = 0 let g:_spacevim_enable_filetree_filetypeicon = 0 let s:SYS = SpaceVim#api#import('system') let s:FILE = SpaceVim#api#import('file') let s:MESSAGE = SpaceVim#api#import('vim#message') let s:CMP = SpaceVim#api#import('vim#compatible') let s:NOTI = SpaceVim#api#import('notify') let s:HI = SpaceVim#api#import('vim#highlight') function! SpaceVim#layers#core#plugins() abort let plugins = [] if !has('nvim') call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-yarp', {'merged': 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-hug-neovim-rpc', {'merged': 0}]) endif if has('timers') && has('float') " vim-smoothie needs +timers and +float call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-smoothie', {'merged': 0, 'on_event' : 'BufReadPost'}]) endif if g:spacevim_filemanager ==# 'nerdtree' call add(plugins, [g:_spacevim_root_dir . 'bundle/nerdtree', { 'merged' : 0, \ 'loadconf' : 1}]) if g:_spacevim_enable_filetree_gitstatus call add(plugins, [g:_spacevim_root_dir . 'bundle/nerdtree-git-plugin', { 'merged' : 0, \ 'loadconf' : 1}]) endif elseif g:spacevim_filemanager ==# 'vimfiler' call add(plugins, [g:_spacevim_root_dir . 'bundle/vimfiler.vim',{ \ 'merged' : 0, \ 'loadconf' : 1 , \ 'loadconf_before' : 1, \ 'on_cmd' : ['VimFiler', 'VimFilerBufferDir'] \ }]) call add(plugins, [g:_spacevim_root_dir . 'bundle/unite.vim',{ \ 'merged' : 0, \ 'loadconf' : 1 \ }]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vimproc.vim', {'build' : [(executable('gmake') ? 'gmake' : 'make')]}]) elseif g:spacevim_filemanager ==# 'defx' call add(plugins, [g:_spacevim_root_dir . 'bundle/defx.nvim',{'merged' : 0, 'loadconf' : 1, 'on_cmd' : 'Defx'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/defx-git',{'merged' : 0, 'loadconf' : 1}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/defx-icons',{'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/defx-sftp',{'merged' : 0}]) elseif g:spacevim_filemanager ==# 'nvim-tree' call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-tree.lua',{'merged' : 0, 'loadconf' : 1, 'on_cmd' : ['NvimTreeOpen', 'NvimTree', 'NvimTreeToggle', 'NvimTreeFindFile']}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-web-devicons',{'merged' : 0, 'loadconf' : 1}]) elseif g:spacevim_filemanager ==# 'neo-tree' call add(plugins, [g:_spacevim_root_dir . 'bundle/neo-tree.nvim',{'merged' : 0, 'loadconf' : 1}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/nui.nvim',{'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-web-devicons',{'merged' : 0, 'loadconf' : 1}]) endif if !g:spacevim_vimcompatible call add(plugins, [g:_spacevim_root_dir . 'bundle/clever-f.vim', {'merged' : 0, 'on_map': '(clever-f-'}]) nmap f (clever-f-f) xmap f (clever-f-f) omap f (clever-f-f) nmap F (clever-f-F) xmap F (clever-f-F) omap F (clever-f-F) nmap t (clever-f-t) xmap t (clever-f-t) omap t (clever-f-t) nmap T (clever-f-T) xmap T (clever-f-T) omap T (clever-f-T) endif call add(plugins, [g:_spacevim_root_dir . 'bundle/nerdcommenter', { 'loadconf' : 1, 'merged' : 0, 'on_map' : ['NERDCommenter', 'Commenter']}]) if exists('*matchaddpos') let g:loaded_matchit = 1 call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-matchup', {'merged' : 0, 'on_event' : 'BufReadPost'}]) endif call add(plugins, [g:_spacevim_root_dir . 'bundle/gruvbox', {'loadconf' : 1, 'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-clipboard', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-if-lua-compat', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/open-browser.vim', { \ 'merged' : 0, 'loadconf' : 1, 'on_cmd' : 'OpenBrowser', \}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-grepper' , { 'on_cmd' : 'Grepper', \ 'loadconf' : 1} ]) if s:enable_quickfix_key_bindings call add(plugins, [g:_spacevim_root_dir . 'bundle/quickfix.nvim' , { 'merged' : 0} ]) endif if s:enable_winbar call add(plugins, [g:_spacevim_root_dir . 'bundle/winbar.nvim' , { 'merged' : 0} ]) endif if g:spacevim_flygrep_next_version && has('nvim-0.10.0') call add(plugins, [g:_spacevim_root_dir . 'bundle/flygrep.nvim' , { 'merged' : 0} ]) endif return plugins endfunction let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#core#config() abort if !s:enable_netrw " disabel netrw let g:loaded_netrwPlugin = 1 endif if g:spacevim_filemanager ==# 'nerdtree' noremap :NERDTreeToggle elseif g:spacevim_filemanager ==# 'defx' nnoremap :Defx elseif g:spacevim_filemanager ==# 'nvim-tree' nnoremap NvimTreeToggle elseif g:spacevim_filemanager ==# 'neo-tree' nnoremap NeoTreeFocusToggle endif let g:matchup_matchparen_status_offscreen = 0 " Unimpaired bindings " Quickly add empty lines nnoremap [ :put! =repeat(nr2char(10), v:count1) nnoremap ] :put =repeat(nr2char(10), v:count1) "]e or [e move current line ,count can be used nnoremap [e :execute 'move -1-'. v:count1 nnoremap ]e :execute 'move +'. v:count1 " [b or ]n go to previous or next buffer nnoremap [b :bN \| stopinsert nnoremap ]b :bn \| stopinsert " [f or ]f go to next or previous file in dir nnoremap ]f :call next_file() nnoremap [f :call previous_file() " [l or ]l go to next and previous error nnoremap [l :lprevious nnoremap ]l :lnext " [c or ]c go to next or previous vcs hunk " [w or ]w go to next or previous window nnoremap [w :call previous_window() nnoremap ]w :call next_window() " [t or ]t for next and previous tab nnoremap [t :tabprevious nnoremap ]t :tabnext " [p or ]p for p and P nnoremap [p P nnoremap ]p p let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 's'], 'call call(' \ . string(s:_function('s:save_current_file')) . ', [])', \ ['save-current-file', \ ['[SPC f s] is to save current file', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'R'], 'call call(' \ . string(s:_function('s:rename_current_file')) . ', [])', \ 'rename_current_file', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'a'], 'call call(' \ . string(s:_function('s:save_as_new_file')) . ', [])', \ 'save-as-new-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'S'], 'wall', 'save-all-files', 1) " help mappings call SpaceVim#mapping#space#def('nnoremap', ['h', 'I'], 'call SpaceVim#issue#report()', 'report-issue-or-bug', 1) call SpaceVim#mapping#space#def('nnoremap', ['h', 'l'], 'SPLayer -l', 'list-all-layers', 1) call SpaceVim#mapping#space#def('nnoremap', ['h', 'L'], 'SPRuntimeLog', 'view-runtime-log', 1) call SpaceVim#mapping#space#def('nnoremap', ['h', 'k'], 'LeaderGuide "[KEYs]"', 'show-top-level-bindings', 1) call SpaceVim#mapping#space#def('nnoremap', ['j', '0'], 'm`^', 'jump-to-beginning-of-line', 0) call SpaceVim#mapping#space#def('nnoremap', ['j', '$'], 'm`g_', 'jump-to-end-of-line', 0) call SpaceVim#mapping#space#def('nnoremap', ['j', 'b'], '', 'jump-backward', 0) call SpaceVim#mapping#space#def('nnoremap', ['j', 'f'], '', 'jump-forward', 0) " file tree key bindings call SpaceVim#mapping#space#def('nnoremap', ['j', 'd'], 'call call(' \ . string(s:_function('s:explore_current_dir')) . ', [0])', \ 'explore-current-directory', 1) call SpaceVim#mapping#space#def('nnoremap', ['j', 'D'], 'call call(' \ . string(s:_function('s:explore_current_dir')) . ', [1])', \ 'split-explore-current-directory', 1) call SpaceVim#mapping#space#def('nnoremap', ['j', 'n'], "i\\", 'sp-newline', 0) call SpaceVim#mapping#space#def('nnoremap', ['j', 'c'], 'call call(' \ . string(s:_function('s:jump_last_change')) . ', [])', \ 'jump-to-last-change', 1) call SpaceVim#mapping#space#def('nnoremap', ['j', 's'], 'call call(' \ . string(s:_function('s:split_string')) . ', [0])', \ 'split-sexp', 1) call SpaceVim#mapping#space#def('nnoremap', ['j', '.'], 'call call(' \ . string(s:_function('s:jump_transient_state')) . ', [])', \ 'jump-transient-state', 1) call SpaceVim#mapping#space#def('nnoremap', ['j', 'S'], 'call call(' \ . string(s:_function('s:split_string')) . ', [1])', \ 'split-and-add-newline', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'r'], 'call call(' \ . string(s:_function('s:next_window')) . ', [])', \ 'rotate-windows-forward', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'R'], 'call call(' \ . string(s:_function('s:previous_window')) . ', [])', \ 'rotate-windows-backward', 1) call SpaceVim#mapping#def('nnoremap ', '', ':wincmd p', 'Switch to previous window or tab','wincmd p') call SpaceVim#mapping#space#def('nnoremap', [''], 'try | b# | catch | endtry', 'last-buffer', 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['b', '.'], 'call call(' \ . string(s:_function('s:buffer_transient_state')) . ', [])', \ ['buffer-transient-state', \ [ \ '[SPC b .] is to open the buffer transient state', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', 'g'], 'call SpaceVim#plugins#helpgrep#help()', \ ['asynchronous-helpgrep', \ [ \ '[SPC h g] is to run helpgrep asynchronously', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', 'G'], \ 'call SpaceVim#plugins#helpgrep#help(expand(""))', \ ['asynchronous-helpgrep-with-cword', \ [ \ '[SPC h g] is to run helpgrep asynchronously with cword', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['b', 'd'], \ 'call SpaceVim#mapping#close_current_buffer()', \ ['delete-this-buffer', \ [ \ '[SPC b d] is to delete current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'D'], \ 'call SpaceVim#mapping#kill_visible_buffer_choosewin()', \ 'delete-the-selected-buffer', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', ''], 'call SpaceVim#mapping#clear_buffers()', 'kill-other-buffers', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', ''], 'call SpaceVim#mapping#kill_buffer_expr()', 'kill-buffers-by-regexp', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'c'], 'call SpaceVim#mapping#clear_saved_buffers()', 'clear-all-saved-buffers', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'e'], 'call call(' \ . string(s:_function('s:safe_erase_buffer')) . ', [])', \ 'safe-erase-buffer', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'm'], 'call call(' \ . string(s:_function('s:open_message_buffer')) . ', [])', \ 'open-message-buffer', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'o'], 'call call(' \ . string(s:_function('s:only_buf_win')) . ', [])', \ 'kill-other-buffers-and-windows', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'P'], 'normal! ggdG"+P', 'copy-clipboard-to-whole-buffer', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'R'], 'call call(' \ . string(s:_function('s:safe_revert_buffer')) . ', [])', \ 'safe-revert-buffer', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'Y'], 'normal! ggVG"+y``', 'copy-whole-buffer-to-clipboard', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'w'], 'setl readonly!', 'read-only-mode', 1) let g:_spacevim_mappings_space.b.N = {'name' : '+New empty buffer'} call SpaceVim#mapping#space#def('nnoremap', ['b', 'N', 'h'], 'topleft vertical new', 'new-empty-buffer-left', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'N', 'j'], 'rightbelow new', 'new-empty-buffer-below', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'N', 'k'], 'new', 'new-empty-buffer-above', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'N', 'l'], 'rightbelow vertical new', 'new-empty-buffer-right', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'N', 'n'], 'enew', 'new-empty-buffer', 1) " file mappings call SpaceVim#mapping#space#def('nnoremap', ['f', 'b'], 'BookmarkShowAll', 'unite-filtered-bookmarks', 1) let g:_spacevim_mappings_space.f.C = {'name' : '+Files/convert'} call SpaceVim#mapping#space#def('nnoremap', ['f', 'C', 'd'], 'update | e ++ff=dos | w', 'unix2dos', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'C', 'u'], 'update | e ++ff=dos | setlocal ff=unix | w', 'dos2unix', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'D'], 'call call(' \ . string(s:_function('s:delete_current_buffer_file')) . ', [])', \ 'delete-current-buffer-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', '/'], 'call SpaceVim#plugins#find#open()', 'find-files', 1) if s:SYS.isWindows call SpaceVim#mapping#space#def('nnoremap', ['f', 'd'], 'call call(' \ . string(s:_function('s:ToggleWinDiskManager')) . ', [])', \ 'toggle-disk-manager', 1) endif " file tree key bindings if g:spacevim_filemanager ==# 'vimfiler' call SpaceVim#mapping#space#def('nnoremap', ['f', 't'], 'VimFiler | doautocmd WinEnter', 'toggle-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'T'], 'VimFiler -no-toggle | doautocmd WinEnter', 'open-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'o'], 'VimFiler -find', 'find-file-in-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 't'], 'VimFilerBufferDir -no-toggle', 'open-filetree-in-buffer-dir', 1) elseif g:spacevim_filemanager ==# 'nerdtree' call SpaceVim#mapping#space#def('nnoremap', ['f', 't'], 'NERDTreeToggle', 'toggle-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'T'], 'NERDTree', 'show-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'o'], 'NERDTreeFind', 'open-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 't'], 'NERDTree %', 'show-file-tree-at-buffer-dir', 1) elseif g:spacevim_filemanager ==# 'defx' " TODO: fix all these command call SpaceVim#mapping#space#def('nnoremap', ['f', 't'], 'Defx', 'toggle-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'T'], 'Defx -no-toggle', 'show-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'o'], 'call call(' \ . string(s:_function('s:defx_find_current_file')) . ', [])', \ 'open-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 't'], 'exe "Defx -no-toggle " . fnameescape(expand("%:p:h"))', 'show-file-tree-at-buffer-dir', 1) elseif g:spacevim_filemanager ==# 'nvim-tree' call SpaceVim#mapping#space#def('nnoremap', ['f', 't'], 'NvimTreeToggle', 'toggle-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'T'], 'NvimTree', 'show-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'o'], "NvimTreeFindFile", 'open-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 't'], 'exe "NvimTreeOpen " . fnameescape(expand("%:p:h"))', 'show-file-tree-at-buffer-dir', 1) elseif g:spacevim_filemanager ==# 'neo-tree' call SpaceVim#mapping#space#def('nnoremap', ['f', 't'], 'NeoTreeFocusToggle', 'toggle-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'T'], 'NeoTreeShow', 'show-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'o'], "Neotree reveal", 'open-file-tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 't'], 'Neotree dir=%:p:h', 'show-file-tree-at-buffer-dir', 1) endif call SpaceVim#mapping#space#def('nnoremap', ['f', 'y'], 'call SpaceVim#util#CopyToClipboard()', 'show-and-copy-buffer-filename', 1) nnoremap YankGitRemoteURL :call SpaceVim#util#CopyToClipboard(2) vnoremap YankGitRemoteURL :call SpaceVim#util#CopyToClipboard(3) call SpaceVim#mapping#space#def('nmap', ['f', 'Y'], 'YankGitRemoteURL', 'yank-remote-url', 0, 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'v', 'v'], 'let @+=g:spacevim_version | echo g:spacevim_version', 'display-and-copy-version', 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'v', 'd'], 'SPConfig', \ ['open-custom-configuration', \ [ \ '[SPC f v d] is to open the custom configuration file for SpaceVim', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) if has('nvim-0.10.0') let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'v', 'l'], 'lua require("spacevim.plugin.logevents").toggle()', \ ['toggle-log-events', \ [ \ '[SPC f v l] is to toggle log autocmd events. requires neovim 0.10.0+', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) endif let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['n', '-'], 'call call(' \ . string(s:_function('s:number_transient_state')) . ', ["-"])', \ ['decrease-number-under-cursor', \ [ \ '[SPC n -] is to decrease the number under the cursor, and open', \ 'the number translate state buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['n', '+'], 'call call(' \ . string(s:_function('s:number_transient_state')) . ', ["+"])', \ ['increase-number-under-cursor', \ [ \ '[SPC n +] is to increase the number under the cursor, and open', \ 'the number translate state buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let g:vimproc#download_windows_dll = 1 " call SpaceVim#mapping#space#def('nnoremap', ['p', 't'], 'call SpaceVim#plugins#projectmanager#current_root()', 'find-project-root', 1) let g:_spacevim_mappings_space.p.t = {'name' : '+Tasks'} let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['p', 't', 'e'], \ 'call SpaceVim#plugins#tasks#edit()', \ ['edit-project-task', \ ['[SPC p t e] is to edit the task configuration file of current project,', \ 'the default task file is `.SpaceVim.d/tasks.toml`', \ '', \ 'Definition: ' . s:filename . ':' . lnum] \ ] \ , 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 't', 'l'], 'call SpaceVim#plugins#tasks#list()', 'list-tasks', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 't', 'c'], 'call SpaceVim#plugins#runner#clear_tasks()', 'clear-tasks', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 't', 'r'], \ 'call SpaceVim#plugins#runner#run_task(SpaceVim#plugins#tasks#get())', 'pick-task-to-run', 1) " SPC p t f is defined in fuzzy finder layer call SpaceVim#mapping#space#def('nnoremap', ['p', 'k'], 'call SpaceVim#plugins#projectmanager#kill_project()', 'kill-all-project-buffers', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 'p'], 'call SpaceVim#plugins#projectmanager#list()', 'list-all-projects', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', '/'], 'Grepper', 'fuzzy search for text in current project', 1) call SpaceVim#mapping#space#def('nnoremap', ['q', 'q'], 'qa', 'prompt-kill-vim', 1) call SpaceVim#mapping#space#def('nnoremap', ['q', 'Q'], 'qa!', 'kill-vim', 1) if has('nvim') && s:SYS.isWindows call SpaceVim#mapping#space#def('nnoremap', ['q', 'R'], 'call call(' \ . string(s:_function('s:restart_neovim_qt')) . ', [])', \ 'restrat-neovim-qt', 1) else call SpaceVim#mapping#space#def('nnoremap', ['q', 'R'], '', 'restart-vim(TODO)', 1) endif call SpaceVim#mapping#space#def('nnoremap', ['q', 'r'], '', 'restart-vim-resume-layouts(TODO)', 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['q', 't'], 'call call(' \ . string(s:_function('s:close_current_tab')) . ', [])', \ ['close-current-tab', \ [ \ '[SPC q t] is to close the current tab, if it is the last tab, do nothing.', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) call SpaceVim#mapping#gd#add('HelpDescribe', function('s:gotodef')) let g:_spacevim_mappings_space.c = {'name' : '+Comments'} " " Comments sections " " Toggles the comment state of the selected line(s). If the topmost selected " line is commented, all selected lines are uncommented and vice versa. nnoremap CommentToLine :call comment_to_line(0) nnoremap CommenterInvertYank :call comment_invert_yank(0) vnoremap CommenterInvertYank :call comment_invert_yank(1) nnoremap CommentToLineInvert :call comment_to_line(1) nnoremap CommentParagraphs :call comment_paragraphs(0) nnoremap CommentParagraphsInvert :call comment_paragraphs(1) call SpaceVim#mapping#space#def('nmap', ['c', 'a'], 'NERDCommenterAltDelims', 'switch-to-alternative-delims', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'l'], 'NERDCommenterInvert', 'toggle-comment-lines', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'L'], 'NERDCommenterComment', 'comment-lines', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'u'], 'NERDCommenterUncomment', 'uncomment-lines', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'v'], 'NERDCommenterInvertgv', 'toggle-visual-comment-lines', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 's'], 'NERDCommenterSexy', 'comment-with-sexy-layout', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'y'], 'CommenterInvertYank', 'yank-and-toggle-comment', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'Y'], 'NERDCommenterYank', 'yank-and-comment', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', '$'], 'NERDCommenterToEOL', 'comment-from-cursor-to-end-of-line', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 't'], 'CommentToLineInvert', 'toggle-comment-until-line', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'T'], 'CommentToLine', 'comment-until-the-line', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'p'], 'CommentParagraphsInvert', 'toggle-comment-paragraphs', 0, 1) call SpaceVim#mapping#space#def('nmap', ['c', 'P'], 'CommentParagraphs', 'comment-paragraphs', 0, 1) nnoremap CommentOperator :set opfunc=commentOperatorg@ let g:_spacevim_mappings_space[';'] = ['call feedkeys("\CommentOperator")', 'comment-operator'] nmap [SPC]; CommentOperator endfunction function! s:gotodef() abort let fname = get(b:, 'defind_file_name', '') if !empty(fname) close exe 'edit ' . fname[0] exe fname[1] endif endfunction function! s:number_transient_state(n) abort if a:n ==# '+' exe "normal! \" else exe "normal! \" endif let state = SpaceVim#api#import('transient_state') call state.set_title('Number Transient State') call state.defind_keys( \ {'layout' : 'vertical split', \ 'left' : [{'key' : ['+','='], \ 'desc' : 'increase number', \ 'func' : '', \ 'cmd' : "normal! \", \ 'exit' : 0, \ }, \ ], \ 'right' : [{'key' : '-', \ 'desc' : 'decrease number', \ 'func' : '', \ 'cmd' : "normal! \", \ 'exit' : 0, \ }, \ ], \ } \ ) call state.open() endfunction function! s:next_file() abort let dir = expand('%:p:h') let f = expand('%:t') let file = s:FILE.ls(dir, 1) if index(file, f) == -1 call add(file,f) endif call sort(file) if len(file) != 1 if index(file, f) == len(file) - 1 exe 'e ' . dir . s:FILE.separator . file[0] else exe 'e ' . dir . s:FILE.separator . file[index(file, f) + 1] endif endif endfunction function! s:previous_file() abort let dir = expand('%:p:h') let f = expand('%:t') let file = s:FILE.ls(dir, 1) if index(file, f) == -1 call add(file,f) endif call sort(file) if len(file) != 1 if index(file, f) == 0 exe 'e ' . dir . s:FILE.separator . file[-1] else exe 'e ' . dir . s:FILE.separator . file[index(file, f) - 1] endif endif endfunction function! s:next_window() abort try exe (winnr() + 1 ) . 'wincmd w' catch exe 1 . 'wincmd w' endtry endfunction function! s:previous_window() abort try if winnr() == 1 exe winnr('$') . 'wincmd w' else exe (winnr() - 1 ) . 'wincmd w' endif catch exe winnr('$') . 'wincmd w' endtry endfunction let g:string_info = { \ 'vim' : { \ 'connect' : '.', \ 'line_prefix' : '\', \ }, \ 'java' : { \ 'connect' : '+', \ 'line_prefix' : '', \ }, \ 'perl' : { \ 'connect' : '.', \ 'line_prefix' : '\', \ }, \ 'python' : { \ 'connect' : '+', \ 'line_prefix' : '\', \ 'quotes_hi' : ['pythonQuotes'] \ }, \ } function! s:jump_last_change() abort let [bufnum, lnum, col, off] = getpos("'.") let [_, l, c, _] = getpos('.') if lnum !=# l && c != col && lnum !=# 0 && col !=# 0 call setpos('.', [bufnum, lnum, col, off]) else call s:NOTI.notify('no change position!', 'WarningMsg') endif endfunction function! s:split_string(newline) abort if s:HI.is_string(line('.'), col('.')) let save_cursor = getcurpos() let c = col('.') let sep = '' while c > 0 if s:HI.is_string(line('.'), c) let c -= 1 else if !empty(get(get(g:string_info, &filetype, {}), 'quotes_hi', [])) let sep = getline('.')[c - 1] else let sep = getline('.')[c] endif break endif endwhile let addedtext = a:newline ? "\n" . get(get(g:string_info, &filetype, {}), 'line_prefix', '') : '' let connect = get(get(g:string_info, &filetype, {}), 'connect', '') if !empty(connect) let connect = ' ' . connect . ' ' endif if a:newline let addedtext = addedtext . connect else let addedtext = connect endif let save_register_m = @m let @m = sep . addedtext . sep normal! "mp let @m = save_register_m if a:newline normal! j== endif call setpos('.', save_cursor) endif endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif function! s:safe_erase_buffer() abort if s:MESSAGE.confirm('Erase content of buffer ' . expand('%:t')) normal! ggdG else echo 'canceled!' endif endfunction function! s:ToggleWinDiskManager() abort if bufexists('__windisk__') execute 'bd "__windisk__"' else call SpaceVim#plugins#windisk#open() endif endfunction function! s:open_message_buffer() abort edit __Message_Buffer__ setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonumber norelativenumber setf SpaceVimMessageBuffer setlocal modifiable noautocmd normal! gg"_dG silent put=s:CMP.execute(':message') normal! G setlocal nomodifiable nnoremap q :call close_message_buffer() endfunction function! s:only_buf_win() abort only call SpaceVim#mapping#clear_saved_buffers() endfunction function! s:close_message_buffer() abort try bp catch /^Vim\%((\a\+)\)\=:E85/ bd endtry endfunction function! s:safe_revert_buffer() abort if s:MESSAGE.confirm('Revert buffer form ' . expand('%:p')) edit! else echo 'canceled!' endif redraw! endfunction function! s:delete_current_buffer_file() abort if s:MESSAGE.confirm('Are you sure you want to delete this file') let f = expand('%') if delete(f) == 0 call SpaceVim#mapping#close_current_buffer('n') echo "File '" . f . "' successfully deleted!" else call s:MESSAGE.warn('Failed to delete file:' . f) endif endif endfunction function! s:swap_buffer_with_nth_win(nr) abort if a:nr <= winnr('$') && a:nr != winnr() let cb = bufnr('%') let tb = winbufnr(a:nr) if cb != tb exe a:nr . 'wincmd w' exe 'b' . cb wincmd p exe 'b' . tb endif endif endfunction function! s:move_buffer_to_nth_win(nr) abort if a:nr <= winnr('$') && a:nr != winnr() let cb = bufnr('%') bp exe a:nr . 'wincmd w' exe 'b' . cb wincmd p endif endfunction function! s:buffer_transient_state() abort let state = SpaceVim#api#import('transient_state') call state.set_title('Buffer Selection Transient State') call state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'left' : [ \ { \ 'key' : { \ 'name' : 'C-1..C-9', \ 'pos' : [[1,4], [6,9]], \ 'handles' : [ \ ["\" , ''], \ ["\" , ''], \ ["\" , ''], \ ["\" , ''], \ ["\" , ''], \ ["\" , ''], \ ["\" , ''], \ ["\" , ''], \ ["\" , ''], \ ], \ }, \ 'desc' : 'goto nth window', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 0, \ }, \ { \ 'key' : { \ 'name' : '1..9', \ 'pos' : [[1,2], [4,5]], \ 'handles' : [ \ ['1' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [1])'], \ ['2' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [2])'], \ ['3' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [3])'], \ ['4' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [4])'], \ ['5' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [5])'], \ ['6' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [6])'], \ ['7' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [7])'], \ ['8' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [8])'], \ ['9' , 'call call(' . string(s:_function('s:move_buffer_to_nth_win')) . ', [9])'], \ ], \ }, \ 'desc' : 'move buffer to nth window', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 0, \ }, \ { \ 'key' : { \ 'name' : 'M-1..M-9', \ 'pos' : [[1,4], [6,9]], \ 'handles' : [ \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [1])'], \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [2])'], \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [3])'], \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [4])'], \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [5])'], \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [6])'], \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [7])'], \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [8])'], \ ["\" , 'call call(' . string(s:_function('s:swap_buffer_with_nth_win')) . ', [9])'], \ ], \ }, \ 'desc' : 'swap buffer with nth window', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 0, \ }, \ ], \ 'right' : [ \ { \ 'key' : 'n', \ 'desc' : 'next buffer', \ 'func' : '', \ 'cmd' : 'bnext', \ 'exit' : 0, \ }, \ { \ 'key' : ['N', 'p'], \ 'desc' : 'previous buffer', \ 'func' : '', \ 'cmd' : 'bp', \ 'exit' : 0, \ }, \ { \ 'key' : 'd', \ 'desc' : 'kill buffer', \ 'func' : '', \ 'cmd' : 'call SpaceVim#mapping#close_current_buffer()', \ 'exit' : 0, \ }, \ { \ 'key' : 'q', \ 'desc' : 'quit', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 1, \ }, \ ], \ } \ ) call state.open() endfunction function! s:commentOperator(type, ...) abort let sel_save = &selection let &selection = 'inclusive' let reg_save = @@ if a:0 " Invoked from Visual mode, use gv command. silent exe 'normal! gv' call feedkeys("\NERDCommenterComment") elseif a:type ==# 'line' call feedkeys('`[V`]') call feedkeys("\NERDCommenterComment") else call feedkeys('`[v`]') call feedkeys("\NERDCommenterComment") endif let &selection = sel_save let @@ = reg_save set opfunc= endfunction function! s:comment_to_line(invert) abort let input = input('line number: ') if empty(input) return endif let line = str2nr(input) let ex = line - line('.') if ex > 0 exe 'normal! V'. ex .'j' elseif ex == 0 else exe 'normal! V'. abs(ex) .'k' endif if a:invert call feedkeys("\NERDCommenterInvert") else call feedkeys("\NERDCommenterComment") endif endfunction function! s:comment_invert_yank(visual) range abort if a:visual normal! gvy normal! gv else normal! yy endif call feedkeys("\NERDCommenterInvert") endfunction function! s:comment_paragraphs(invert) abort if a:invert call feedkeys("vip\NERDCommenterInvert") else call feedkeys("vip\NERDCommenterComment") endif endfunction " this func only for neovim-qt in windows function! s:restart_neovim_qt() abort call system('taskkill /f /t /im nvim.exe') endfunction function! s:jump_transient_state() abort let state = SpaceVim#api#import('transient_state') call state.set_title('Jump Transient State') call state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'left' : [ \ { \ 'key' : 'j', \ 'desc' : 'next jump', \ 'func' : '', \ 'cmd' : 'try | exe "norm! \"| catch | endtry ', \ 'exit' : 0, \ }, \ { \ 'key' : 'J', \ 'desc' : 'previous jump', \ 'func' : '', \ 'cmd' : 'try | exe "norm! \" | catch | endtry', \ 'exit' : 0, \ }, \ ], \ 'right' : [ \ { \ 'key' : 'c', \ 'desc' : 'next change', \ 'func' : '', \ 'cmd' : "try | exe 'norm! g,' | catch | endtry", \ 'exit' : 0, \ }, \ { \ 'key' : 'C', \ 'desc' : 'previous change', \ 'func' : '', \ 'cmd' : "try | exe 'norm! g;' | catch | endtry", \ 'exit' : 0, \ }, \ { \ 'key' : 'q', \ 'desc' : 'quit', \ 'func' : '', \ 'cmd' : '', \ 'exit' : 1, \ }, \ ], \ } \ ) call state.open() endfunction function! s:save_current_file() abort let v:errmsg = '' silent! write if v:errmsg !=# '' echohl ErrorMsg echo v:errmsg echohl None else echohl Delimiter echo fnamemodify(bufname(), ':.:gs?[\\/]?/?') . ' written' echohl None endif endfunction " the `SPC f a` key binding cause many erros: " E212: Can't open file for writing: no such file or directory " E216: No such group or event: FileExplorer " " Fix E216: No such group or event: FileExplorer " which is called in bundle/nerdtree/plugin/NERD_tree.vim:184 augroup FileExplorer autocmd! augroup END function! s:rename_current_file() abort let current_fname = bufname() if empty(current_fname) echo 'can not rename empty filename!' return endif let input = input('Rename to: ', fnamemodify(current_fname, ':p'), 'file') noautocmd normal! : if !empty(input) exe 'silent! file ' . input exe 'silent! w ' call delete(current_fname) if v:errmsg !=# '' echohl ErrorMsg echo v:errmsg echohl None else echohl Delimiter echo fnamemodify(bufname(), ':.:gs?[\\/]?/?') . ' Renamed' echohl None endif else echo 'canceled!' endif endfunction function! s:save_as_new_file() abort let current_fname = bufname() if !empty(current_fname) let dir = fnamemodify(current_fname, ':h') . s:FILE.separator else let dir = getcwd() . s:FILE.separator endif let input = input('save as: ', dir, 'file') " clear cmdline noautocmd normal! : if !empty(input) exe 'silent! write ' . input exe 'e ' . input if v:errmsg !=# '' echohl ErrorMsg echo v:errmsg echohl None else echohl Delimiter echo fnamemodify(bufname(), ':.:gs?[\\/]?/?') . ' written' echohl None endif else echo 'canceled!' endif endfunction let g:_spacevim_autoclose_filetree = 1 function! s:explore_current_dir(cur) abort if g:spacevim_filemanager ==# 'vimfiler' if !a:cur let g:_spacevim_autoclose_filetree = 0 VimFilerCurrentDir -no-split -no-toggle let g:_spacevim_autoclose_filetree = 1 else VimFilerCurrentDir -no-toggle endif elseif g:spacevim_filemanager ==# 'nerdtree' if !a:cur exe 'e ' . getcwd() else NERDTreeCWD endif elseif g:spacevim_filemanager ==# 'defx' if !a:cur let g:_spacevim_autoclose_filetree = 0 Defx -no-toggle -no-resume -split=no `getcwd()` let g:_spacevim_autoclose_filetree = 1 else Defx -no-toggle endif endif endfunction let g:_spacevim_filetree_show_hidden_files = 0 let g:_spacevim_filetree_opened_icon = '▼' let g:_spacevim_filetree_closed_icon = '▶' function! SpaceVim#layers#core#set_variable(var) abort let g:_spacevim_filetree_show_hidden_files = get(a:var, \ 'filetree_show_hidden', \ g:_spacevim_filetree_show_hidden_files) let g:_spacevim_filetree_opened_icon = get(a:var, \ 'filetree_opened_icon', \ g:_spacevim_filetree_opened_icon) let g:_spacevim_filetree_closed_icon = get(a:var, \ 'filetree_closed_icon', \ g:_spacevim_filetree_closed_icon) let s:enable_smooth_scrolling = get(a:var, \ 'enable_smooth_scrolling', \ s:enable_smooth_scrolling) let g:smoothie_no_default_mappings = !s:enable_smooth_scrolling let g:_spacevim_enable_filetree_filetypeicon = get(a:var, \ 'enable_filetree_filetypeicon', \ g:_spacevim_enable_filetree_filetypeicon) let g:_spacevim_enable_filetree_gitstatus = get(a:var, \ 'enable_filetree_gitstatus', \ g:_spacevim_enable_filetree_gitstatus) let s:enable_netrw = get(a:var, \ 'enable_netrw', \ 0) let s:enable_quickfix_key_bindings = get(a:var, \ 'enable_quickfix_key_bindings', \ s:enable_quickfix_key_bindings) let s:enable_winbar = get(a:var, \ 'enable_winbar', \ s:enable_winbar) endfunction function! s:defx_find_current_file() abort let current_file = s:FILE.unify_path(expand('%'), ':p') let current_dir = s:FILE.unify_path(getcwd()) let command = "Defx -no-toggle -search=`expand('%:p')` " if stridx(current_file, current_dir) < 0 let command .= expand('%:p:h') else let command .= getcwd() endif call execute(command) endfunction function! SpaceVim#layers#core#get_options() abort return [ \ 'filetree_closed_icon', \ 'filetree_opened_icon', \ 'filetree_show_hidden', \ 'enable_smooth_scrolling', \ 'enable_filetree_filetypeicon' \ ] endfunction function! SpaceVim#layers#core#health() abort call SpaceVim#layers#core#plugins() call SpaceVim#layers#core#config() return 1 endfunction function! s:close_current_tab() abort if tabpagenr('$') > 1 tabclose! endif endfunction function! SpaceVim#layers#core#loadable() abort return 1 endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/cscope.vim ================================================ "============================================================================= " cscope.vim --- SpaceVim cscope layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section cscope, layers-cscope " @parentsection layers " `cscope` layer provides |cscope| integration for SpaceVim. " To load this layer: " > " [[layers]] " name = 'cscope' " < " @subsection Layer options " " The layer option can be used when loading the `cscope` layer, for example: " > " [[layers]] " name = 'cscope' " auto_update = true " open_quickfix = 0 " < " 1. `auto_update`: Enable or disable automatic updating of the cscope database. " 2. `cscope_command`: set the command or path of `cscope` executable. " 3. `open_location`: enable/disable open location list after searching. " 4. `preload_path`: set the proload paths. " 5. `list_files_command`: set the command to list all files which should " be involed to create cscope database, By default it is: " " `['rg', '--color=never', '--files']` " " To specific filetypes, use custom command, for example: " > " [[layers]] " name = 'cscope' " list_files_command = ['rg', '--color=never', '--files', '--type', 'c'] " < " " @subsection key bindings " " The following key bindings will be added when this layer is loaded. " > " Key binding Description " SPC m c c find functions called by this function " SPC m c C find functions calling this function " SPC m c d find global definition of a symbol " SPC m c r find references of a symbol " SPC m c f find files " SPC m c F find files including this file " SPC m c e find this egrep pattern " SPC m c t find this text string " SPC m c = find assignments to this symbol " SPC m c u create cscope index " SPC m c i create cscope database " SPC m c l list cscope database " SPC m c m remove current cscope database " SPC m c M remove all cscope database " < if exists('s:cscope_command') finish endif let s:cscope_command = 'cscope' let s:auto_update = 1 let s:list_files_command = ['rg', '--color=never', '--files'] function! SpaceVim#layers#cscope#loadable() abort return (!has('nvim') && has('cscope')) \ || (has('nvim') && exists(':cscope') == 2) endfunction function! SpaceVim#layers#cscope#plugins() abort let plugins = [ \ [g:_spacevim_root_dir . 'bundle/cscope.vim', {'merged' : 0}], \ ] return plugins endfunction function! SpaceVim#layers#cscope#config() abort let g:_spacevim_mappings_space.m.c = {'name' : '+cscope'} call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'c'], 'call cscope#find("d", expand(""))', 'find-functions-called-by-this-function', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'C'], 'call cscope#find("c", expand(""))', 'find-functions-calling-this-function', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'd'], 'call cscope#find("g", expand(""))', 'find-global-definition-of-a-symbol', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'r'], 'call cscope#find("s", expand(""))', 'find-references-of-a-symbol', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'f'], 'call cscope#find("f", expand(""))', 'find-files', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'F'], 'call cscope#find("i", expand(""))', 'find-files-including-this-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'e'], 'call cscope#find("e", expand(""))', 'Find-this-egrep-pattern', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 't'], 'call cscope#find("t", expand(""))', 'find-this-text-string', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', '='], 'call cscope#find("a", expand(""))', 'find-assignments-to-this-symbol', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'u'], 'call cscope#update_databeses()', 'create-cscope-index', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'i'], 'call cscope#create_databeses()', 'create-cscope-databases', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'l'], 'call cscope#list_databases()', 'list-cscope-databases', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'm'], 'call cscope#clear_databases(SpaceVim#plugins#projectmanager#current_root())', 'remove-current-cscope-databases', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'c', 'M'], 'call cscope#clear_databases()', 'remove-all-cscope-databases', 1) " setting cscope.vim based on layer options let g:cscope_cmd = s:cscope_command let g:cscope_auto_update = s:auto_update endfunction function! SpaceVim#layers#cscope#health() abort call SpaceVim#layers#cscope#plugins() call SpaceVim#layers#cscope#config() return 1 endfunction function! SpaceVim#layers#cscope#set_variable(var) abort let s:cscope_command = get(a:var, \ 'cscope_command', \ s:cscope_command) let s:auto_update = get(a:var, \ 'auto_update', \ s:auto_update) let g:cscope_open_location = get(a:var, \ 'open_location', \ 1) let g:cscope_preload_path = get(a:var, \ 'preload_path', \ '') let g:cscope_list_files_command = get(a:var, \ 'list_files_command', \ s:list_files_command) endfunction function! SpaceVim#layers#cscope#get_options() abort return ['cscope_command', \ 'auto_update', \ 'open_location', \ 'preload_path'] endfunction ================================================ FILE: autoload/SpaceVim/layers/ctrlp.vim ================================================ "============================================================================= " ctrlp.vim --- SpaceVim ctrlp layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section ctrlp, layers-ctrlp " @parentsection layers " `ctrlp` layer provides fuzzy finder feature which is based on |ctrlp|. This " layer is not loaded by default, to use this layer, you need to add following " snippent in your configuration file. " > " [[layers]] " name = 'ctrlp' " < " " @subsection Key bindings " " The following key bindings will be defined when `ctrlp` layer is loaded: " > " Key bindings | Discription " -------------------- | ----------------------------- " f | Fuzzy find menu:CustomKeyMaps " f e | Fuzzy find register " f h | Fuzzy find history/yank " f j | Fuzzy find jump, change " f l | Fuzzy find location list " f m | Fuzzy find output messages " f o | Fuzzy find outline " f q | Fuzzy find quick fix " f r | Resumes Unite window " < function! SpaceVim#layers#ctrlp#health() abort call SpaceVim#layers#ctrlp#plugins() call SpaceVim#layers#ctrlp#config() return 1 endfunction function! SpaceVim#layers#ctrlp#plugins() abort let plugins = [ \ ['ctrlpvim/ctrlp.vim', {'loadconf' : 1, 'merged' : 0}], \ ['FelikZ/ctrlp-py-matcher', {'merged' : 0}], \ ['mattn/ctrlp-register', {'on_cmd' : 'CtrlPRegister'}], \ ['DeaR/ctrlp-jumps', {'on_cmd' : 'CtrlPJump'}], \ ['SpaceVim/vim-ctrlp-help', {'on_cmd' : 'CtrlPHelp'}], \ ['hara/ctrlp-colorscheme', {'on_cmd' : 'CtrlPColorscheme'}], \ ] call add(plugins, ['wsdjeg/ctrlp-menu', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neoyank.vim', {'merged' : 0}]) call add(plugins, ['wsdjeg/ctrlp-yank', {'merged' : 0}]) call add(plugins, ['wsdjeg/vim-ctrlp-message', {'merged' : 0}]) return plugins endfunction let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#ctrlp#config() abort let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['?'], 'call call(' \ . string(s:_function('s:get_menu')) . ', ["CustomKeyMaps", "[SPC]"])', \ ['show-mappings', \ [ \ 'SPC ? is to show mappings', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', '[SPC]'], 'call call(' \ . string(s:_function('s:get_help')) . ', ["SpaceVim"])', \ ['find-SpaceVim-help', \ [ \ 'SPC h SPC is to find SpaceVim help', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) " @fixme SPC h SPC make vim flick exe printf('nmap %sh%s [SPC]h[SPC]', g:spacevim_default_custom_leader, g:spacevim_default_custom_leader) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['b', 'b'], 'CtrlPBuffer', \ ['list-buffer', \ [ \ 'SPC b b is to open buffer list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'r'], 'CtrlPMRU', \ ['open-recent-file', \ [ \ 'SPC f r is to open recent file list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['j', 'i'], 'CtrlPBufTag', \ ['jump-to-definition-in-buffer', \ [ \ 'SPC j i is to jump to a definition in buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) "@todo add resume support for ctrlp: SPC r l "@fixme ctrlp colorschemes support let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['T', 's'], 'CtrlPColorscheme', \ ['fuzzy-find-colorschemes', \ [ \ 'SPC T s is to fuzzy find colorschemes', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'f'], \ "exe 'CtrlP ' . fnamemodify(bufname('%'), ':h')", \ ['find-files-in-buffer-directory', \ [ \ '[SPC f f] is to find files in the directory of the current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['p', 'f'], \ 'CtrlP', \ ['find-files-in-project', \ [ \ '[SPC p f] is to find files in the root of the current project', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) " This is definded in plugin config " nnoremap :Ctrlp let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', 'i'], 'call call(' \ . string(s:_function('s:get_help_with_cursor_symbol')) . ', [])', \ ['get-help-for-cursor-symbol', \ [ \ '[SPC h i] is to get help with the symbol at point', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let g:_spacevim_mappings.f = {'name' : '+Fuzzy Finder'} call s:defind_fuzzy_finder() endfunction function! s:get_help_with_cursor_symbol() abort let save_ctrlp_default_input = get(g:, 'ctrlp_default_input', '') let g:ctrlp_default_input = expand('') CtrlPHelp let g:ctrlp_default_input = save_ctrlp_default_input endfunction function! s:get_help(word) abort let save_ctrlp_default_input = get(g:, 'ctrlp_default_input', '') let g:ctrlp_default_input = a:word CtrlPHelp let g:ctrlp_default_input = save_ctrlp_default_input endfunction function! s:get_menu(menu, input) abort let save_ctrlp_default_input = get(g:, 'ctrlp_default_input', '') let g:ctrlp_default_input = a:input exe 'CtrlPMenu ' . a:menu let g:ctrlp_default_input = save_ctrlp_default_input endfunction let s:file = expand(':~') let s:unite_lnum = expand('') + 3 function! s:defind_fuzzy_finder() abort "@todo add Leader f r for resume ctrlp nnoremap fe \ :CtrlPRegister let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.e = ['CtrlPRegister', \ 'fuzzy find registers', \ [ \ '[Leader f r ] is to resume ctrlp window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fh \ :CtrlPNeoyank let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.h = ['CtrlPNeoyank', \ 'fuzzy find yank history', \ [ \ '[Leader f h] is to fuzzy find history and yank content', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fj \ :CtrlPJump let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.j = ['CtrlPJump', \ 'fuzzy find jump list', \ [ \ '[Leader f j] is to fuzzy find jump list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] "@todo add Leader f l for ctrlp location list nnoremap fm \ :CtrlPMessage let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.m = ['CtrlPMessage', \ 'fuzzy find and yank message history', \ [ \ '[Leader f m] is to fuzzy find and yank message history', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fq \ :CtrlPQuickfix let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.q = ['CtrlPQuickfix', \ 'fuzzy find quickfix list', \ [ \ '[Leader f q] is to fuzzy find quickfix list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fo :CtrlPBufTag let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.o = ['CtrlPBufTag', \ 'fuzzy find outline', \ [ \ '[Leader f o] is to fuzzy find outline', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap f :CtrlPMenu CustomKeyMaps let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f['[SPC]'] = ['CtrlPMenu CustomKeyMaps', \ 'fuzzy find custom key bindings', \ [ \ '[Leader f SPC] is to fuzzy find custom key bindings', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fp :CtrlPMenu AddedPlugins let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.p = ['CtrlPMenu AddedPlugins', \ 'fuzzy find vim packages', \ [ \ '[Leader f p] is to fuzzy find vim packages installed in SpaceVim', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif ================================================ FILE: autoload/SpaceVim/layers/ctrlspace.vim ================================================ "============================================================================= " ctrlspace.vim --- SpaceVim CtrlSpace layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Jethro Cao < jethrocao at gmail dot com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " Layer Options " home-mapping-key : main keybinding for invoking CtrlSpace " autosave-workspaces : autosave current workspace on exit & switch " autoload-workspaces : autoload last workspace on start " enable-spacevim-styled-keys : defines SpaceVim styled fuzzy finding keys " Use the following default settings if has('nvim') " Neovim requires adding trailing space to the mapping key; " see plugin GitHub page for explanation let s:home_mapping_key = ' ' else let s:home_mapping_key = '' endif let s:autosave_ws = 1 let s:autoload_ws = 0 let s:enable_spacevim_styled_keys = 0 function! SpaceVim#layers#ctrlspace#health() abort call SpaceVim#layers#ctrlspace#plugins() call SpaceVim#layers#ctrlspace#config() return 1 endfunction function! SpaceVim#layers#ctrlspace#plugins() abort return [ \['vim-ctrlspace/vim-ctrlspace', { 'merged' : 0 }], \] endfunction function! SpaceVim#layers#ctrlspace#set_variable(var) abort let s:home_mapping_key = get(a:var, 'home-mapping-key', s:home_mapping_key) let s:autosave_ws = get(a:var, 'autosave-workspaces', s:autosave_ws) let s:autoload_ws = get(a:var, 'autoload-workspaces', s:autoload_ws) let s:enable_spacevim_styled_keys = get(a:var, \ 'enable-spacevim-styled-keys', \ s:enable_spacevim_styled_keys) endfunction function! SpaceVim#layers#ctrlspace#config() abort " configure CtrlSpace's main options let g:CtrlSpaceDefaultMappingKey = s:home_mapping_key let g:CtrlSpaceSaveWorkspaceOnExit = s:autosave_ws let g:CtrlSpaceSaveWorkspaceOnSwitch = s:autosave_ws let g:CtrlSpaceLoadLastWorkspaceOnStart = s:autoload_ws " configure CtrlSpace's glob command for collecting files if executable("rg") let g:CtrlSpaceGlobCommand = 'rg --color=never --files' elseif executable("ag") let g:CtrlSpaceGlobCommand = 'ag -l --nocolor -g ""' else let g:CtrlSpaceGlobCommand = '' let l:info1 = "CtrlSpace: no suitable grepping tool found" let l:info2 = "CtrlSpace: using Vim's globpath() to collect files" let l:info3 = "CtrlSpace: install rg or ag for faster file collection and .gitignore respect" call SpaceVim#logger#info(l:info1) call SpaceVim#logger#info(l:info2) call SpaceVim#logger#info(l:info3) endif " define SpaceVim styled fuzzy finding keys for user preference/compatibility if s:enable_spacevim_styled_keys call SpaceVim#mapping#space#def('nnoremap', ['b', 'L'], 'CtrlSpace h', 'CtrlSpace: list tab-local buffers', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'l'], 'CtrlSpace H', 'CtrlSpace: search tab-local buffers', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'B'], 'CtrlSpace a', 'CtrlSpace: list all buffers', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'b'], 'CtrlSpace A', 'CtrlSpace: search all buffers', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'F'], 'CtrlSpace |', 'CtrlSpace: list files in dir of curr buff', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'f'], 'CtrlSpace |/', 'CtrlSpace: search files in dir of curr buff', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 'F'], 'CtrlSpace o', 'CtrlSpace: list project files', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 'f'], 'CtrlSpace O', 'CtrlSpace search project files', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'T'], 'CtrlSpace l', 'CtrlSpace: list tabs', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 't'], 'CtrlSpace L', 'CtrlSpace: search tabs', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 'W'], 'CtrlSpace w', 'CtrlSpace: list workspaces', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 'w'], 'CtrlSpace W', 'CtrlSpace: search workspaces', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 'B'], 'CtrlSpace b', 'CtrlSpace: list bookmarks', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 'b'], 'CtrlSpace B', 'CtrlSpace: search bookmarks', 1) endif endfunction ================================================ FILE: autoload/SpaceVim/layers/debug.vim ================================================ "============================================================================= " debug.vim --- SpaceVim debug layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section debug, layers-debug " @parentsection layers " `debug` layer debug workflow for SpaceVim. All of the functionality is based " on vebugger or vimspector. " " @subsection layer options " " 1. `debugger_plugin`: set the debug engine. It can be `vimspector` or " `vebugger`. " " @subsection key bindings " > " Key binding Description " SPC d c launch-or-continue-debugger " SPC d r restart-debugger-with-the-same-config " SPC d x run-to-cursor " SPC d p pause-debugger " SPC d b toggle-line-breakpoint " SPC d B clear-all-breakpoints " SPC d o step-over " SPC d i step-into-functions " SPC d O step-out-of-current-function " SPC d u move-up-a-frame " SPC d d move-down-a-frame " SPC d k terminate-the-debugger " SPC d e evaluate-cursor-symbol-or-selection " < let s:debugger_plugin = 'vebugger' function! SpaceVim#layers#debug#set_variable(var) abort let s:debugger_plugin = get(a:var, 'debugger_plugin', '') endfunction function! SpaceVim#layers#debug#plugins() abort let plugins = [] " @todo fork verbugger if s:debugger_plugin ==# 'vimspector' call add(plugins,['puremourning/vimspector', {'merged' : 0}]) else call add(plugins,['wsdjeg/vim-debug', {'merged' : 0}]) endif if g:spacevim_filemanager !=# 'vimfiler' call add(plugins, ['Shougo/vimproc.vim', {'build' : [(executable('gmake') ? 'gmake' : 'make')]}]) endif return plugins endfunction function! SpaceVim#layers#debug#health() abort call SpaceVim#layers#debug#plugins() call SpaceVim#layers#debug#config() return 1 endfunction function! SpaceVim#layers#debug#config() abort if s:debugger_plugin ==# 'vimspector' call SpaceVim#mapping#space#def('nnoremap', ['d', 'c'], 'call vimspector#Continue()', 'launch-or-continue-debugger', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'r'], 'call vimspector#Restart()', 'restart-debugger-with-the-same-config', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'x'], 'call vimspector#RunToCursor()', 'run-to-cursor', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'p'], 'call vimspector#Pause()', 'pause-debugger', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'b'], 'call vimspector#ToggleBreakpoint()', 'toggle-line-breakpoint', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'B'], 'call vimspector#ClearBreakpoints()', 'clear-all-breakpoints', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'o'], 'call vimspector#StepOver()', 'step-over', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'i'], 'call vimspector#StepInto()', 'step-into-functions', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'O'], 'call vimspector#StepOut()', 'step-out-of-current-function', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'u'], 'call vimspector#UpFrame()', 'move-up-a-frame', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'd'], 'call vimspector#DownFrame()', 'move-down-a-frame', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'k'], 'call vimspector#Stop() | VimspectorReset', 'terminate-the-debugger', 1) call SpaceVim#mapping#space#def('nmap', ['d', 'e'], 'VimspectorBalloonEval', 'evaluate-cursor-symbol-or-selection', 0) call SpaceVim#mapping#space#def('xmap', ['d', 'e'], 'VimspectorBalloonEval', 'evaluate-cursor-symbol-or-selection', 0) else call SpaceVim#mapping#space#def('nnoremap', ['d', 'l'], 'call SpaceVim#layers#debug#launching(&ft)', 'launching-debugger', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'b'], 'VBGtoggleBreakpointThisLine', 'toggle-line-breakpoint', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'B'], 'VBGclearBreakpoints', 'clear-all-breakpoints', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'c'], 'VBGcontinue', 'continue-the-execution', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'o'], 'VBGstepOver', 'step-over', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'i'], 'VBGstepIn', 'step-into-functions', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'O'], 'VBGstepOut', 'step-out-of-current-function', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'k'], 'VBGkill', 'terminates-the-debugger', 1) let g:_spacevim_mappings_space.d.e = {'name' : '+Evaluate/Execute'} call SpaceVim#mapping#space#def('vnoremap', ['d', 'e', 's'], 'VBGevalSelectedText', 'evaluate-selected-text', 1) call SpaceVim#mapping#space#def('nnoremap', ['d', 'e', 'e'], 'VBGevalWordUnderCursor', 'evaluate-cursor-symbol', 1) call SpaceVim#mapping#space#def('vnoremap', ['d', 'e', 'S'], 'VBGexecuteSelectedText', 'execute-selected-text', 1) let g:vebugger_breakpoint_text = '->' let g:vebugger_currentline_text = '++' endif call SpaceVim#mapping#space#def('nnoremap', ['d', '.'], 'call call(' \ . string(s:_function('s:debug_transient_state')) . ', [])', \ 'debug-transient-state', 1) endfunction function! SpaceVim#layers#debug#launching(ft) abort if a:ft ==# 'python' exe 'VBGstartPDB ' . bufname('%') elseif a:ft ==# 'ruby' exe 'VBGstartRDebug ' . bufname('%') elseif a:ft ==# 'powershell' exe 'VBGstartPowerShell ' . bufname('%') else echohl WarningMsg echo 'read :h vebugger-launching' echohl None endif endfunction function! s:debug_transient_state() abort let state = SpaceVim#api#import('transient_state') call state.set_title('Debug Transient State') if s:debugger_plugin ==# 'vimspector' call state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'left' : [ \ { \ 'key' : 'c', \ 'desc' : 'Continue execution', \ 'func' : '', \ 'cmd' : 'call vimspector#Continue()', \ 'exit' : 0, \ }, \ { \ 'key' : 'u', \ 'desc' : 'Move up a frame', \ 'func' : '', \ 'cmd' : 'call vimspector#UpFrame()', \ 'exit' : 0, \ }, \ { \ 'key' : 'd', \ 'desc' : 'Move down a frame', \ 'func' : '', \ 'cmd' : 'call vimspector#DownFrame()', \ 'exit' : 0, \ }, \ ], \ 'right' : [ \ { \ 'key' : 'o', \ 'desc' : 'step over', \ 'func' : '', \ 'cmd' : 'call vimspector#StepOver()', \ 'exit' : 0, \ }, \ { \ 'key' : 'i', \ 'desc' : 'step into functions', \ 'func' : '', \ 'cmd' : 'call vimspector#StepInto()', \ 'exit' : 0, \ }, \ { \ 'key' : 'O', \ 'desc' : 'step out of current function', \ 'func' : '', \ 'cmd' : 'call vimspector#StepOut()', \ 'exit' : 0, \ }, \ { \ 'key' : 'k', \ 'desc' : 'Terminates the debugger', \ 'func' : '', \ 'cmd' : 'call vimspector#Stop() | VimspectorReset', \ 'exit' : 1, \ }, \ ], \ } \ ) else call state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'left' : [ \ { \ 'key' : 'o', \ 'desc' : 'step over', \ 'func' : '', \ 'cmd' : 'VBGstepOver', \ 'exit' : 0, \ }, \ { \ 'key' : 'i', \ 'desc' : 'step into functions', \ 'func' : '', \ 'cmd' : 'VBGstepIn', \ 'exit' : 0, \ }, \ ], \ 'right' : [ \ { \ 'key' : 'O', \ 'desc' : 'step out of current function', \ 'func' : '', \ 'cmd' : 'VBGstepOut', \ 'exit' : 0, \ }, \ { \ 'key' : 'k', \ 'desc' : 'Terminates the debugger', \ 'func' : '', \ 'cmd' : 'VBGkill', \ 'exit' : 1, \ }, \ ], \ } \ ) endif call state.open() endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif ================================================ FILE: autoload/SpaceVim/layers/denite.vim ================================================ "============================================================================= " denite.vim --- SpaceVim denite layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:CMP = SpaceVim#api#import('vim#compatible') function! SpaceVim#layers#denite#plugins() abort let plugins = [ \ ['Shougo/denite.nvim',{ 'merged' : 0, 'loadconf' : 1}], \ ['pocari/vim-denite-emoji', {'merged' : 0}], \ ] " neoyark source fh call add(plugins, ['chemzqm/unite-location', {'merged' : 0}]) call add(plugins, ['Shougo/unite-outline', {'merged' : 0}]) call add(plugins, ['ozelentok/denite-gtags', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neoyank.vim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neomru.vim', {'merged' : 0}]) call add(plugins, ['SpaceVim/Denite-sources', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#denite#health() abort call SpaceVim#layers#denite#plugins() call SpaceVim#layers#denite#config() return 1 endfunction let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#denite#config() abort call SpaceVim#mapping#space#def('nnoremap', ['i', 'u'], 'Denite unicode', 'search-and-insert-unicode', 1) if g:spacevim_snippet_engine ==# 'neosnippet' call SpaceVim#mapping#space#def('nnoremap', ['i', 's'], 'Denite neosnippet', 'insert snippets', 1) elseif g:spacevim_snippet_engine ==# 'ultisnips' " @todo ultisnips do not support denite now. " https://github.com/SirVer/ultisnips/issues/869 " call SpaceVim#mapping#space#def('nnoremap', ['i', 's'], 'Denite ultisnips', 'insert snippets', 1) endif let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['?'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite menu:CustomKeyMaps -input=[SPC]"])', \ ['show-mappings', \ [ \ 'SPC ? is to show mappings', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', '[SPC]'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite help -input=SpaceVim"])', \ ['find-SpaceVim-help', \ [ \ 'SPC h SPC is to find SpaceVim help', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) " @fixme SPC h SPC make vim flick nmap h [SPC]h[SPC] let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['b', 'b'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite buffer"])', \ ['buffer-list', \ [ \ 'SPC b b is to open buffer list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'r'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite file_mru"])', \ ['open-recent-file', \ [ \ 'SPC f r is to open recent file list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['j', 'i'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite outline"])', \ ['jump to a definition in buffer', \ [ \ 'SPC j i is to jump to a definition in buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['r', 'l'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite -resume"])', \ ['resume denite buffer', \ [ \ 'SPC r l is to resume denite buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['T', 's'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite colorscheme"])', \ ['fuzzy find colorschemes', \ [ \ 'SPC T s is to fuzzy find colorschemes', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'f'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["DeniteBufferDir file/rec"])', \ ['Find files in the directory of the current buffer', \ [ \ '[SPC f f] is to find files in the directory of the current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['p', 'f'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite file/rec"])', \ ['find files in current project', \ [ \ '[SPC p f] is to find files in the root of the current project', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) nnoremap :call warp_denite('Denite file/rec') let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', 'i'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["DeniteCursorWord help"])', \ ['get help with the symbol at point', \ [ \ '[SPC h i] is to get help with the symbol at point', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['i', 'u'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Denite unicode"])', \ ['search-and-insert-unicode', \ [ \ '[SPC i u] is to search and insert Unicode charater', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let g:_spacevim_mappings.f = {'name' : '+Fuzzy Finder'} call s:defind_fuzzy_finder() endfunction let s:file = expand(':~') let s:unite_lnum = expand('') + 3 function! s:defind_fuzzy_finder() abort nnoremap fr \ :Denite -resume let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.r = ['Denite -resume', \ 'resume unite window', \ [ \ '[Leader f r ] is to resume unite window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fe \ :Denite register let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.e = ['Denite register', \ 'fuzzy find registers', \ [ \ '[Leader f r ] is to resume unite window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fh \ :Denite neoyank let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.h = ['Denite neoyank', \ 'fuzzy find yank history', \ [ \ '[Leader f h] is to fuzzy find history and yank content', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fj \ :Denite jump let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.j = ['Denite jump', \ 'fuzzy find jump list', \ [ \ '[Leader f j] is to fuzzy find jump list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fl \ :Denite location_list let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.l = ['Denite location_list', \ 'fuzzy find location list', \ [ \ '[Leader f l] is to fuzzy find location list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fm \ :Denite output:message let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.m = ['Denite output:message', \ 'fuzzy find message', \ [ \ '[Leader f m] is to fuzzy find message', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fq \ :Denite quickfix let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.q = ['Denite quickfix', \ 'fuzzy find quickfix list', \ [ \ '[Leader f q] is to fuzzy find quickfix list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fo :Denite outline let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.o = ['Denite outline', \ 'fuzzy find outline', \ [ \ '[Leader f o] is to fuzzy find outline', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap f :Denite menu:CustomKeyMaps let g:_spacevim_mappings.f['[SPC]'] = ['Denite menu:CustomKeyMaps', \ 'fuzzy find custom key bindings', \ [ \ '[Leader f SPC] is to fuzzy find custom key bindings', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fp :Denite menu:AddedPlugins let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.p = ['Denite menu:AddedPlugins', \ 'fuzzy find vim packages', \ [ \ '[Leader f p] is to fuzzy find vim packages installed in SpaceVim', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endfunction function! s:warp_denite(cmd) abort exe a:cmd doautocmd WinEnter endfunction function! SpaceVim#layers#denite#loadable() if s:CMP.has('python3') return 1 else call SpaceVim#logger#warn('denite layer requires +python3 enabled!') if has('nvim') call SpaceVim#logger#info(' use `pip3 install pynvim` to enabled +python3 for neovim.') endif endif endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/edit.vim ================================================ "============================================================================= " edit.vim --- SpaceVim edit layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section edit, layers-edit " @parentsection layers " The `edit` layer provides basic feature for editing files. " This layer is loaded by default. To disable this layer: " > " [[layers]] " name = 'edit' " enable = false " < " @subsection Configuration " 1. `autosave_timeout`: set the timeoutlen of autosave plugin. By default it " is 0. And autosave is disabled. timeoutlen must be given in millisecods and " can't be > 100*60*1000 (100 minutes) or < 1000 (1 second). For example, " setup timer with 5 minutes: " > " [[layers]] " name = 'edit' " autosave_timeout = 300000 " < " 2. `autosave_events`: set the events on which autosave will perform a save. " This option is an empty list by default. you can trigger saving based " on vim's events, for example: " > " [[layers]] " name = 'edit' " autosave_events = ['InsertLeave', 'TextChanged'] " < " 3. `autosave_all_buffers`: By default autosave plugin only save current buffer. " If you want to save all buffers automatically. Set this option to `true`. " > " [[layers]] " name = 'edit' " autosave_all_buffers = true " < " 4. `autosave_location`: set the directory where to save changed files. By " default it is empty string, that means saving to the original file. If this " option is not an empty string. files will me saved to that directory " automatically. and the format is: " > " autosave_location/path+=to+=filename.ext.backup " < " 5. `enable_hop`: by default, spacevim use easymotion plugin. and if you are " using neovim 0.6.0 or above, hop.nvim will be enabled. You can disabled this " plugin and still using easymotion. " " @subsection key bindings " " The `edit` layer also provides many key bindings: " > " key binding description " SPC x c count in the selection region " < " " The following key binding is to jump to targets. The default plugin is " `easymotion`, and if you are using neovim 0.6.0 or above. The `hop.nvim` will " be used. " > " key binding description " SPC j j jump or select a character " SPC j J jump to suite of two characters " SPC j l jump or select to a line " SPC j w jump to a word " SPC j u jump to a url " < scriptencoding utf-8 if exists('s:autosave_timeout') finish endif let s:PASSWORD = SpaceVim#api#import('password') let s:NUMBER = SpaceVim#api#import('data#number') let s:LIST = SpaceVim#api#import('data#list') let s:VIM = SpaceVim#api#import('vim') let s:CMP = SpaceVim#api#import('vim#compatible') let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:HI = SpaceVim#api#import('vim#highlight') let s:autosave_timeout = 0 let s:autosave_events = [] let s:autosave_all_buffers = 0 let s:autosave_location = '' let s:enable_hop = 1 function! SpaceVim#layers#edit#health() abort call SpaceVim#layers#edit#plugins() call SpaceVim#layers#edit#config() return 1 endfunction function! SpaceVim#layers#edit#plugins() abort let plugins = [ \ [g:_spacevim_root_dir . 'bundle/vim-repeat'], \ [g:_spacevim_root_dir . 'bundle/vim-emoji', {'on_event' : 'BufReadPost'}], \ [g:_spacevim_root_dir . 'bundle/vim-grammarous', {'merged' : 0, 'on_cmd' : ['GrammarousCheck', 'GrammarousReset']}], \ [g:_spacevim_root_dir . 'bundle/vim-expand-region', { 'loadconf' : 1}], \ [g:_spacevim_root_dir . 'bundle/vim-textobj-user'], \ [g:_spacevim_root_dir . 'bundle/vim-textobj-indent'], \ [g:_spacevim_root_dir . 'bundle/vim-textobj-line'], \ [g:_spacevim_root_dir . 'bundle/vim-table-mode'], \ [g:_spacevim_root_dir . 'bundle/vim-textobj-entire'], \ [g:_spacevim_root_dir . 'bundle/wildfire.vim',{'on_map' : '(wildfire-'}], \ [g:_spacevim_root_dir . 'bundle/editorconfig-vim', { 'merged' : 0, 'if' : has('python') || has('python3')}], \ [g:_spacevim_root_dir . 'bundle/vim-jplus', { 'on_map' : '(jplus', 'loadconf_before' : 1 }], \ [g:_spacevim_root_dir . 'bundle/tabular', { 'merged' : 0, 'on_cmd' : ['Tabularize']}], \ [g:_spacevim_root_dir . 'bundle/splitjoin.vim',{ 'on_cmd':['SplitjoinJoin', 'SplitjoinSplit'],'merged' : 0, 'loadconf' : 1}], \ ] if has('nvim-0.8.0') call add(plugins,[g:_spacevim_root_dir . 'bundle/nvim-surround', { 'merged' : 0, 'loadconf' : 1, 'on_event' : ['BufReadPost']}]) else call add(plugins,[g:_spacevim_root_dir . 'bundle/vim-surround', { 'merged' : 0, 'loadconf' : 1}]) endif if has('nvim-0.6.0') && s:enable_hop call add(plugins,[g:_spacevim_root_dir . 'bundle/hop.nvim', { 'merged' : 0, 'loadconf' : 1, 'on_cmd' : ['HopChar1', 'HopChar2', 'HopWord', 'HopLine']}]) else call add(plugins,[g:_spacevim_root_dir . 'bundle/vim-easymotion', { 'merged' : 0}]) call add(plugins,[g:_spacevim_root_dir . 'bundle/vim-easyoperator-line', { 'merged' : 0}]) endif if executable('fcitx') call add(plugins,[g:_spacevim_root_dir . 'bundle/fcitx.vim', { 'on_event' : 'InsertEnter'}]) endif if g:spacevim_enable_bepo_layout call add(plugins,[g:_spacevim_root_dir . 'bundle/vim-bepo', { 'merged' : 0}]) endif if s:CMP.has('python3') || s:CMP.has('python') call add(plugins,[g:_spacevim_root_dir . 'bundle/vim-mundo', { 'on_cmd' : 'MundoToggle'}]) else call add(plugins,[g:_spacevim_root_dir . 'bundle/undotree', { 'on_cmd' : 'UndotreeToggle'}]) endif return plugins endfunction function! SpaceVim#layers#edit#set_variable(var) abort let s:autosave_timeout = get(a:var, 'autosave_timeout', s:autosave_timeout) let s:autosave_events = get(a:var, 'autosave_events', s:autosave_events) let s:autosave_all_buffers = get(a:var, 'autosave_all_buffers', s:autosave_all_buffers) let s:autosave_location = get(a:var, 'autosave_location', s:autosave_location) let s:enable_hop = get(a:var, 'enable_hop', s:enable_hop) endfunction function! SpaceVim#layers#edit#get_options() abort return ['autosave_all_buffers', 'autosave_timeout', 'autosave_events'] endfunction function! SpaceVim#layers#edit#config() abort " autosave plugins options let autosave_opt = { \ 'timeoutlen' : s:autosave_timeout, \ 'save_all_buffers' : s:autosave_all_buffers, \ 'backupdir' : s:autosave_location, \ 'event' : s:autosave_events, \ } if has('nvim-0.7.0') lua require('spacevim.plugin.autosave').config(vim.api.nvim_eval('autosave_opt')) else call SpaceVim#plugins#autosave#config(autosave_opt) endif let g:multi_cursor_next_key=get(g:, 'multi_cursor_next_key', '') let g:multi_cursor_prev_key=get(g:, 'multi_cursor_prev_key', '') let g:multi_cursor_skip_key=get(g:, 'multi_cursor_skip_key', '') let g:multi_cursor_quit_key=get(g:, 'multi_cursor_quit_key', '') let g:user_emmet_install_global = 0 let g:user_emmet_mode='a' let g:user_emmet_settings = { \ 'javascript': { \ 'extends': 'jsx', \ }, \ 'jsp' : { \ 'extends': 'html', \ }, \ } "noremap (wildfire-fuel) vnoremap (wildfire-water) let g:wildfire_objects = ["i'", 'i"', 'i)', 'i]', 'i}', 'ip', 'it'] if s:CMP.has('python3') || s:CMP.has('python') nnoremap :MundoToggle else nnoremap :UndotreeToggle endif let g:_spacevim_mappings_space.x = {'name' : '+Text'} let g:_spacevim_mappings_space.x.a = {'name' : '+align'} let g:_spacevim_mappings_space.x.d = {'name' : '+delete'} let g:_spacevim_mappings_space.x.i = {'name' : '+change symbol style'} nnoremap CountSelectionRegion :call count_selection_region() xnoremap CountSelectionRegion :call count_selection_region() call SpaceVim#mapping#space#def('nmap', ['x', 'c'], 'CountSelectionRegion', 'count in the selection region', 0, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '#'], 'Tabularize /#', 'align-region-at-#', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '%'], 'Tabularize /%', 'align-region-at-%', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '&'], 'Tabularize /&', 'align-region-at-&', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '('], 'Tabularize /(', 'align-region-at-(', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', ')'], 'Tabularize /)', 'align-region-at-)', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '['], 'Tabularize /[', 'align-region-at-[', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', ']'], 'Tabularize /]', 'align-region-at-]', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '{'], 'Tabularize /{', 'align-region-at-{', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '}'], 'Tabularize /}', 'align-region-at-}', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', ','], 'Tabularize /,', 'align-region-at-,', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '.'], 'Tabularize /\.', 'align-region-at-dot', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', ':'], 'Tabularize /:', 'align-region-at-:', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', ';'], 'Tabularize /;', 'align-region-at-;', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '='], 'Tabularize /===\|<=>\|\(&&\|||\|<<\|>>\|\/\/\)=\|=\~[#?]\?\|=>\|[:+/*!%^=><&|.?-]\?=[#?]\?/l1r1', 'align-region-at-=', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', 'o'], 'Tabularize /&&\|||\|\.\.\|\*\*\|<<\|>>\|\/\/\|[-+*/.%^><&|?]/l1r1', 'align-region-at-operator, such as +,-,*,/,%,^,etc', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', '¦'], 'Tabularize /¦', 'align-region-at-¦', 1, 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', ''], 'Tabularize /[||]', 'align-region-at-|', 1, 1) call SpaceVim#mapping#space#def('nmap', ['x', 'a', '[SPC]'], 'Tabularize /\s\ze\S/l0', 'align-region-at-space', 1, 1) nmap xa [SPC]xa[SPC] call SpaceVim#mapping#space#def('nnoremap', ['x', 'a', 'r'], 'call call(' \ . string(s:_function('s:align_at_regular_expression')) . ', [])', \ 'align-region-at-user-specified-regexp', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'd', 'w'], 'StripWhitespace', 'delete trailing whitespaces', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'd', '[SPC]'], 'silent call call(' \ . string(s:_function('s:delete_extra_space')) . ', [])', \ 'delete extra space arround cursor', 1) nmap xd [SPC]xd[SPC] call SpaceVim#mapping#space#def('nnoremap', ['x', 'i', 'c'], 'silent call call(' \ . string(s:_function('s:lowerCamelCase')) . ', [])', \ 'change symbol style to lowerCamelCase', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'i', 'C'], 'silent call call(' \ . string(s:_function('s:UpperCamelCase')) . ', [])', \ 'change symbol style to UpperCamelCase', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'i', '_'], 'silent call call(' \ . string(s:_function('s:under_score')) . ', [])', \ 'change symbol style to under_score', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'i', 'u'], 'silent call call(' \ . string(s:_function('s:under_score')) . ', [])', \ 'change symbol style to under_score', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'i', 'U'], 'silent call call(' \ . string(s:_function('s:up_case')) . ', [])', \ 'change symbol style to UP_CASE', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'i', 'k'], 'silent call call(' \ . string(s:_function('s:kebab_case')) . ', [])', \ 'change symbol style to kebab-case', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'i', '-'], 'silent call call(' \ . string(s:_function('s:kebab_case')) . ', [])', \ 'change symbol style to kebab-case', 1) " justification let g:_spacevim_mappings_space.x.j = {'name' : '+Justification'} call SpaceVim#mapping#space#def('nnoremap', ['x', 'j', 'l'], 'silent call call(' \ . string(s:_function('s:set_justification_to')) . ', ["left"])', \ 'set-the-justification-to-left', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'j', 'c'], 'silent call call(' \ . string(s:_function('s:set_justification_to')) . ', ["center"])', \ 'set-the-justification-to-center', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'j', 'r'], 'silent call call(' \ . string(s:_function('s:set_justification_to')) . ', ["right"])', \ 'set-the-justification-to-right', 1) nnoremap Lowercase :call toggle_case(0, -1) vnoremap Lowercase :call toggle_case(1, -1) nnoremap Uppercase :call toggle_case(0, 1) vnoremap Uppercase :call toggle_case(1, 1) nnoremap ToggleCase :call toggle_case(0, 0) vnoremap ToggleCase :call toggle_case(1, 0) call SpaceVim#mapping#space#def('nmap' , ['x' , 'u'] , 'Lowercase' , 'lowercase-text' , 0, 1) call SpaceVim#mapping#space#def('nmap' , ['x' , 'U'] , 'Uppercase' , 'uppercase-text' , 0, 1) call SpaceVim#mapping#space#def('nmap' , ['x' , '~'] , 'ToggleCase' , 'toggle-case-text' , 0, 1) " 定义 SpaceVim 键映射 call SpaceVim#mapping#space#def('nmap', ['x', 'H'], 'ConvertToFullWidth', 'convert to fullWidth', 0, 1) call SpaceVim#mapping#space#def('nmap', ['x', 'h'], 'ConvertToHalfWidth', 'convert to halfWidth', 0, 1) call SpaceVim#mapping#space#def('nmap', ['x', 'W'], 'ToggleFullHalfWidth', 'toggle fullWidth and halfWidth', 0, 1) " word let g:_spacevim_mappings_space.x.w = {'name' : '+Word'} call SpaceVim#mapping#space#def('vnoremap', ['x', 'w', 'c'], 'normal! ' . ":'<,'>s/\\\w\\+//gn" . "\", 'count the words in the select region', 1) let g:_spacevim_mappings_space.x.s = {'name' : '+String/Snippet'} call SpaceVim#mapping#space#def('nnoremap', ['x', 's', 'j'], 'call call(' \ . string(s:_function('s:join_string_with')) . ', [])', \ 'join-string-with', 1) " line let g:_spacevim_mappings_space.x.l = {'name' : '+Line'} nnoremap DuplicateLines :call duplicate_lines(0) vnoremap DuplicateLines :call duplicate_lines(1) call SpaceVim#mapping#space#def('nmap', ['x', 'l', 'd'], 'DuplicateLines', \ 'duplicate-line-or-region', 0, 1) nnoremap ReverseLines :ReverseLines vnoremap ReverseLines :ReverseLines call SpaceVim#mapping#space#def('nmap' , ['x' , 'l' , 'r'] , 'ReverseLines' , 'reverse-lines' , 0, 1) call SpaceVim#mapping#space#def('nnoremap' , ['x' , 'l' , 's'] , 'sort i' , 'sort lines (ignorecase)' , 1) call SpaceVim#mapping#space#def('nnoremap' , ['x' , 'l' , 'S'] , 'sort' , 'sort lines (case-sensitive)' , 1) nnoremap UniquifyIgnoreCaseLines :call uniquify_lines(0, 1) vnoremap UniquifyIgnoreCaseLines :call uniquify_lines(1, 1) nnoremap UniquifyCaseSenstiveLines :call uniquify_lines(0, 0) vnoremap UniquifyCaseSenstiveLines :call uniquify_lines(1, 0) call SpaceVim#mapping#space#def('nmap', ['x', 'l', 'u'], 'UniquifyIgnoreCaseLines', \ 'uniquify-lines (ignorecase)', 0, 1) call SpaceVim#mapping#space#def('nmap', ['x', 'l', 'U'], 'UniquifyCaseSenstiveLines', \ 'uniquify-lines (case-senstive)', 0, 1) let g:_spacevim_mappings_space.x.g = {'name' : '+Grammarous'} " | `(grammarous-move-to-info-window)` | Move the cursor to the info window | " | `(grammarous-open-info-window)` | Open the info window for the error under the cursor | " | `(grammarous-reset)` | Reset the current check | " | `(grammarous-fixit)` | Fix the error under the cursor automatically | " | `(grammarous-fixall)` | Fix all the errors in a current buffer automatically | " | `(grammarous-close-info-window)` | Close the information window from checked buffer | " | `(grammarous-remove-error)` | Remove the error under the cursor | " | `(grammarous-disable-rule)` | Disable the grammar rule under the cursor | " | `(grammarous-move-to-next-error)` | Move cursor to the next error | " | `(grammarous-move-to-previous-error)` | Move cursor to the previous error | call SpaceVim#mapping#space#def('nmap', ['x', 'g', 'n'], '(grammarous-move-to-next-error)', 'move-cursor-to-next-error', 0, 1) call SpaceVim#mapping#space#def('nmap', ['x', 'g', 'p'], '(grammarous-move-to-previous-error)', 'move-cursor-to-previous-error', 0, 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'p', 1], 'call call(' \ . string(s:_function('s:insert_simple_password')) . ', [])', \ 'insert-simple-password', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'p', 2], 'call call(' \ . string(s:_function('s:insert_stronger_password')) . ', [])', \ 'insert-stronger-password', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'p', 3], 'call call(' \ . string(s:_function('s:insert_paranoid_password')) . ', [])', \ 'insert-password-for-paranoids', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'p', 'p'], 'call call(' \ . string(s:_function('s:insert_phonetically_password')) . ', [])', \ 'insert-a-phonetically-easy-password', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'p', 'n'], 'call call(' \ . string(s:_function('s:insert_numerical_password')) . ', [])', \ 'insert-a-numerical-password', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'U', 'U'], 'call call(' \ . string(s:_function('s:uuidgen_U')) . ', [])', \ 'uuidgen-4', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'l', 'l'], 'call call(' \ . string(s:_function('s:insert_lorem_ipsum_list')) . ', [])', \ 'insert-lorem-ipsum-list', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'l', 'p'], 'call call(' \ . string(s:_function('s:insert_lorem_ipsum_paragraph')) . ', [])', \ 'insert-lorem-ipsum-paragraph', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'l', 's'], 'call call(' \ . string(s:_function('s:insert_lorem_ipsum_sentence')) . ', [])', \ 'insert-lorem-ipsum-sentence', 1) " move line call SpaceVim#mapping#space#def('nnoremap', ['x', 'J'], 'call call(' \ . string(s:_function('s:move_text_down_transient_state')) . ', [])', \ 'move-text-down(enter-transient-state)', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 'K'], 'call call(' \ . string(s:_function('s:move_text_up_transient_state')) . ', [])', \ 'move-text-up(enter-transient-state)', 1) " transpose if has_key(g:_spacevim_mappings_space.x, 't') let g:_spacevim_mappings_space.x.t.name = '+Transpose/Translate' else let g:_spacevim_mappings_space.x.t = {'name' : '+Transpose'} endif call SpaceVim#mapping#space#def('nnoremap', ['x', 't', 'c'], 'call call(' \ . string(s:_function('s:transpose_with_previous')) . ', ["character"])', \ 'swap-current-character-with-previous-one', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 't', 'w'], 'call call(' \ . string(s:_function('s:transpose_with_previous')) . ', ["word"])', \ 'swap-current-word-with-previous-one', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 't', 'l'], 'call call(' \ . string(s:_function('s:transpose_with_previous')) . ', ["line"])', \ 'swap-current-line-with-previous-one', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 't', 'C'], 'call call(' \ . string(s:_function('s:transpose_with_next')) . ', ["character"])', \ 'swap-current-character-with-next-one', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 't', 'W'], 'call call(' \ . string(s:_function('s:transpose_with_next')) . ', ["word"])', \ 'swap-current-word-with-next-one', 1) call SpaceVim#mapping#space#def('nnoremap', ['x', 't', 'L'], 'call call(' \ . string(s:_function('s:transpose_with_next')) . ', ["line"])', \ 'swap-current-line-with-next-one', 1) " splitjoin call SpaceVim#mapping#space#def('nnoremap', ['j', 'o'], \ 'SplitjoinJoin', 'join into a single-line statement', 1) call SpaceVim#mapping#space#def('nnoremap', ['j', 'm'], \ 'SplitjoinSplit', 'split a one-liner into multiple lines', 1) call SpaceVim#mapping#space#def('nnoremap', ['j', 'k'], 'j==', 'goto-next-line-and-indent', 0) if has('nvim-0.6.0') && s:enable_hop call SpaceVim#mapping#space#def('nmap', ['j', 'j'], 'HopChar1', 'jump-or-select-to-a-character', 1, 1) call SpaceVim#mapping#space#def('nmap', ['j', 'J'], 'HopChar2', 'jump-to-suite-of-two-characters', 1, 1) call SpaceVim#mapping#space#def('nmap', ['j', 'l'], 'HopLine', 'jump-or-select-to-a-line', 1, 1) call SpaceVim#mapping#space#def('nmap', ['j', 'w'], 'HopWord', 'jump-to-a-word', 1, 1) else " call SpaceVim#mapping#space#def('nmap', ['j', 'j'], '(easymotion-overwin-f)', 'jump to a character', 0) call SpaceVim#mapping#space#def('nmap', ['j', 'j'], '(better-easymotion-overwin-f)', 'jump-or-select-to-a-character', 0, 1) nnoremap (better-easymotion-overwin-f) :call better_easymotion_overwin_f(0) xnoremap (better-easymotion-overwin-f) :call better_easymotion_overwin_f(1) call SpaceVim#mapping#space#def('nmap', ['j', 'J'], '(easymotion-overwin-f2)', 'jump-to-suite-of-two-characters', 0) " call SpaceVim#mapping#space#def('nmap', ['j', 'l'], '(easymotion-overwin-line)', 'jump to a line', 0) call SpaceVim#mapping#space#def('nmap', ['j', 'l'], '(better-easymotion-overwin-line)', 'jump-or-select-to-a-line', 0, 1) nnoremap (better-easymotion-overwin-line) :call better_easymotion_overwin_line(0) xnoremap (better-easymotion-overwin-line) :call better_easymotion_overwin_line(1) call SpaceVim#mapping#space#def('nmap', ['j', 'v'], '(easymotion-overwin-line)', 'jump-to-a-line', 0) call SpaceVim#mapping#space#def('nmap', ['j', 'w'], '(easymotion-overwin-w)', 'jump-to-a-word', 0) call SpaceVim#mapping#space#def('nmap', ['j', 'q'], '(easymotion-overwin-line)', 'jump-to-a-line', 0) endif call SpaceVim#mapping#space#def('nnoremap', ['j', 'u'], 'call call(' \ . string(s:_function('s:jump_to_url')) . ', [])', \ 'jump-to-url', 1) endfunction if has('nvim-0.6.0') function! s:jump_to_url() abort lua require('spacevim.plugin.hop').hintLines() endfunction else function! s:jump_to_url() abort let g:EasyMotion_re_anywhere = 'http[s]*://' call feedkeys("\(easymotion-jumptoanywhere)") endfunction endif function! s:transpose_with_previous(type) abort let l:save_register = @" if a:type ==# 'line' if line('.') > 1 normal! kddp endif elseif a:type ==# 'word' normal! yiw let l:cw = @" normal! geyiw let l:tw = @" if l:cw !=# l:tw let @" = l:cw normal! viwp let @" = l:tw normal! eviwp endif elseif a:type ==# 'character' if col('.') > 1 normal! hxp endif endif let @" = l:save_register endfunction function! s:transpose_with_next(type) abort let l:save_register = @" if a:type ==# 'line' if line('.') < line('$') normal! ddp endif elseif a:type ==# 'word' normal! yiw let l:cw = @" normal! wyiw let l:nw = @" if l:cw !=# l:nw let @" = l:cw normal! viwp let @" = l:nw normal! geviwp endif elseif a:type ==# 'character' if col('.') < col('$')-1 normal! xp endif endif let @" = l:save_register endfunction function! s:better_easymotion_overwin_line(is_visual) abort let current_line = line('.') try if a:is_visual call EasyMotion#Sol(0, 2) else call EasyMotion#overwin#line() endif " clear cmd line noautocmd normal! : if a:is_visual let last_line = line('.') exe current_line if last_line > current_line exe 'normal! V' . (last_line - current_line) . 'j' else exe 'normal! V' . (current_line - last_line) . 'k' endif endif catch /^Vim\%((\a\+)\)\=:E117/ endtry endfunction function! s:better_easymotion_overwin_f(is_visual) abort let [current_line, current_col] = getpos('.')[1:2] try call EasyMotion#OverwinF(1) " clear cmd line noautocmd normal! : if a:is_visual let last_line = line('.') let [last_line, last_col] = getpos('.')[1:2] call cursor(current_line, current_col) if last_line > current_line exe 'normal! v' . (last_line - current_line) . 'j0' . last_col . '|' else exe 'normal! v' . (current_line - last_line) . 'k0' . last_col . '|' endif endif catch /^Vim\%((\a\+)\)\=:E117/ endtry endfunction function! s:move_text_down_transient_state() abort if line('.') == line('$') else let l:save_register = @" normal! ddp let @" = l:save_register endif call s:text_transient_state() endfunction function! s:move_text_up_transient_state() abort if line('.') > 1 let l:save_register = @" normal! ddkP let @" = l:save_register endif call s:text_transient_state() endfunction function! s:text_transient_state() abort let state = SpaceVim#api#import('transient_state') call state.set_title('Move Text Transient State') call state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'left' : [ \ { \ 'key' : 'J', \ 'desc' : 'move text down', \ 'func' : '', \ 'cmd' : 'noautocmd silent! m .+1', \ 'exit' : 0, \ }, \ ], \ 'right' : [ \ { \ 'key' : 'K', \ 'func' : '', \ 'desc' : 'move text up', \ 'cmd' : 'noautocmd silent! m .-2', \ 'exit' : 0, \ }, \ ], \ } \ ) call state.open() endfunction function! s:lowerCamelCase() abort " fooFzz if matchstr(getline('.'), '\%' . col('.') . 'c.') =~# '\s' return endif let cword = s:parse_symbol(expand('')) if !empty(cword) let rst = [cword[0]] if len(cword) > 1 let rst += map(cword[1:], "substitute(v:val, '^.', '\\u&', 'g')") endif let save_register = @k let save_cursor = getcurpos() let @k = join(rst, '') normal! viw"kp call setpos('.', save_cursor) let @k = save_register endif endfunction function! s:UpperCamelCase() abort " FooFzz if strcharpart(getline('.')[col('.') - 1:], 0, 1) =~# '\s' return endif let cword = s:parse_symbol(expand('')) if !empty(cword) let rst = map(cword, "substitute(v:val, '^.', '\\u&', 'g')") let save_register = @k let save_cursor = getcurpos() let @k = join(rst, '') normal! viw"kp call setpos('.', save_cursor) let @k = save_register endif endfunction function! s:kebab_case() abort " foo-fzz if matchstr(getline('.'), '\%' . col('.') . 'c.') =~# '\s' return endif let cword = s:parse_symbol(expand('')) if !empty(cword) let save_register = @k let save_cursor = getcurpos() let @k = join(cword, '-') normal! viw"kp call setpos('.', save_cursor) let @k = save_register endif endfunction function! s:under_score() abort " foo_fzz let cword = s:parse_symbol(expand('')) if !empty(cword) let save_register = @k let save_cursor = getcurpos() let @k = join(cword, '_') normal! viw"kp call setpos('.', save_cursor) let @k = save_register endif endfunction function! s:up_case() abort " FOO_FZZ if matchstr(getline('.'), '\%' . col('.') . 'c.') =~# '\s' return endif let cword =map(s:parse_symbol(expand('')), 'toupper(v:val)') if !empty(cword) let save_register = @k let save_cursor = getcurpos() let @k = join(cword, '_') normal! viw"kp call setpos('.', save_cursor) let @k = save_register endif endfunction let s:STRING = SpaceVim#api#import('data#string') function! s:parse_symbol(symbol) abort if a:symbol =~# '^[a-z]\+\(-[a-zA-Z]\+\)*$' return split(a:symbol, '-') elseif a:symbol =~# '^[a-z]\+\(_[a-zA-Z]\+\)*$' return split(a:symbol, '_') elseif a:symbol =~# '^[a-z]\+\([A-Z][a-z]\+\)*$' let chars = s:STRING.string2chars(a:symbol) let rst = [] let word = '' for char in chars if char =~# '[a-z]' let word .= char else call add(rst, tolower(word)) let word = char endif endfor call add(rst, tolower(word)) return rst elseif a:symbol =~# '^[A-Z][a-z]\+\([A-Z][a-z]\+\)*$' let chars = s:STRING.string2chars(a:symbol) let rst = [] let word = '' for char in chars if char =~# '[a-z]' let word .= char else if !empty(word) call add(rst, tolower(word)) endif let word = char endif endfor call add(rst, tolower(word)) return rst else return [a:symbol] endif endfunction function! s:count_selection_region() abort call feedkeys("gvg\\", 'ti') endfunction function! s:delete_extra_space() abort if !empty(getline('.')) if getline('.')[col('.')-1] ==# ' ' execute "normal! \"_ciw\\" endif endif endfunction function! s:set_justification_to(align) abort let l:startlinenr = line("'{") let l:endlinenr = line("'}") if getline(l:startlinenr) ==# '' let l:startlinenr += 1 endif if getline(l:endlinenr) ==# '' let l:endlinenr -= 1 endif let l:lineList = map(getline(l:startlinenr, l:endlinenr), 'trim(v:val)') let l:maxlength = 0 for l:line in l:lineList let l:length = strdisplaywidth(l:line) if l:length > l:maxlength let l:maxlength = l:length endif endfor if a:align ==# 'left' execute l:startlinenr . ',' . l:endlinenr . ":left\" elseif a:align ==# 'center' execute l:startlinenr . ',' . l:endlinenr . ':center ' . l:maxlength . "\" elseif a:align ==# 'right' execute l:startlinenr . ',' . l:endlinenr . ':right ' . l:maxlength . "\" endif unlet l:startlinenr unlet l:endlinenr unlet l:lineList unlet l:maxlength endfunction let s:local_lorem_ipsum = [ \ 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.', \ 'Donec hendrerit tempor tellus.', \ 'Donec pretium posuere tellus.', \ 'Proin quam nisl, tincidunt et, mattis eget, convallis nec, purus.', \ 'Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.', \ 'Nulla posuere.', \ 'Donec vitae dolor.', \ 'Nullam tristique diam non turpis.', \ 'Cras placerat accumsan nulla.', \ 'Nullam rutrum.', \ 'Nam vestibulum accumsan nisl.', \ 'Pellentesque dapibus suscipit ligula.', \ 'Donec posuere augue in quam.', \ 'Etiam vel tortor sodales tellus ultricies commodo.', \ 'Suspendisse potenti.', \ 'Aenean in sem ac leo mollis blandit.', \ 'Donec neque quam, dignissim in, mollis nec, sagittis eu, wisi.', \ 'Phasellus lacus.', \ 'Etiam laoreet quam sed arcu.', \ 'Phasellus at dui in ligula mollis ultricies.', \ 'Integer placerat tristique nisl.', \ 'Praesent augue.', \ 'Fusce commodo.', \ 'Vestibulum convallis, lorem a tempus semper, dui dui euismod elit, vitae placerat urna tortor vitae lacus.', \ 'Nullam libero mauris, consequat quis, varius et, dictum id, arcu.', \ 'Mauris mollis tincidunt felis.', \ 'Aliquam feugiat tellus ut neque.', \ 'Nulla facilisis, risus a rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo sit amet elit.', \ 'Aliquam erat volutpat.', \ 'Nunc eleifend leo vitae magna.', \ 'In id erat non orci commodo lobortis.', \ 'Proin neque massa, cursus ut, gravida ut, lobortis eget, lacus.', \ 'Sed diam.', \ 'Praesent fermentum tempor tellus.', \ 'Nullam tempus.', \ 'Mauris ac felis vel velit tristique imperdiet.', \ 'Donec at pede.', \ 'Etiam vel neque nec dui dignissim bibendum.', \ 'Vivamus id enim.', \ 'Phasellus neque orci, porta a, aliquet quis, semper a, massa.', \ 'Phasellus purus.', \ 'Pellentesque tristique imperdiet tortor.', \ 'Nam euismod tellus id erat.', \ 'Nullam eu ante vel est convallis dignissim.', \ 'Fusce suscipit, wisi nec facilisis facilisis, est dui fermentum leo, quis tempor ligula erat quis odio.', \ 'Nunc porta vulputate tellus.', \ 'Nunc rutrum turpis sed pede.', \ 'Sed bibendum.', \ 'Aliquam posuere.', \ 'Nunc aliquet, augue nec adipiscing interdum, lacus tellus malesuada massa, quis varius mi purus non odio.', \ 'Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue ornare nulla, non luctus diam neque sit amet urna.', \ 'Curabitur vulputate vestibulum lorem.', \ 'Fusce sagittis, libero non molestie mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia eros.', \ 'Sed id ligula quis est convallis tempor.', \ 'Curabitur lacinia pulvinar nibh.', \ 'Nam a sapien.', \ ] let s:lorem_ipsum_paragraph_separator = "\n\n" let s:lorem_ipsum_sentence_separator = ' ' let s:lorem_ipsum_list_beginning = '' let s:lorem_ipsum_list_bullet = '* ' let s:lorem_ipsum_list_item_end = "\n" let s:lorem_ipsum_list_end = '' function! s:insert_lorem_ipsum_list() abort let save_register = @k let @k = '* ' . s:local_lorem_ipsum[s:NUMBER.random(0, len(s:local_lorem_ipsum))] . "\n" normal! "kgP let @k = save_register endfunction function! s:insert_lorem_ipsum_paragraph() abort let save_register = @k let pids = len(s:local_lorem_ipsum) / 11 let pid = s:NUMBER.random(0, pids) * 11 let @k = join(s:LIST.listpart(s:local_lorem_ipsum, pid, 11), s:lorem_ipsum_sentence_separator) . s:lorem_ipsum_paragraph_separator normal! "kgP let @k = save_register endfunction function! s:insert_lorem_ipsum_sentence() abort let save_register = @k let @k = s:local_lorem_ipsum[s:NUMBER.random(0, len(s:local_lorem_ipsum))] . s:lorem_ipsum_sentence_separator normal! "kgP let @k = save_register endfunction function! s:insert_simple_password() abort let save_register = @k let @k = s:PASSWORD.generate_simple(v:count ? v:count : 8) normal! "kPl let @k = save_register endfunction function! s:duplicate_lines(visual) abort if a:visual call setline('.', getline("'<")) elseif line('.') > 1 call setline('.', getline(line('.') - 1)) endif endfunction command! -nargs=0 -range=% ReverseLines :,call reverse_lines() function! s:reverse_lines() range let rst = getline(a:firstline, a:lastline) call reverse(rst) call s:BUFFER.buf_set_lines(bufnr('.'), a:firstline-1 , a:lastline, 0, rst) endfunction function! s:uniquify_lines(visual, ignorecase) abort if a:visual let start_line = line("'<") let end_line = line("'>") let rst = [] for l in range(start_line, end_line) if index(rst, getline(l), 0, a:ignorecase) ==# -1 call add(rst, getline(l)) endif endfor call s:BUFFER.buf_set_lines(bufnr('.'), start_line-1 , end_line, 0, rst) else if line('.') > 1 if a:ignorecase if getline('.') ==? getline(line('.') - 1) normal! dd endif else if getline('.') ==# getline(line('.') - 1) normal! dd endif endif endif endif endfunction function! s:toggle_case(visual, uppercase) abort if a:visual if a:uppercase == 1 normal! gvgU elseif a:uppercase == -1 normal! gvgu elseif a:uppercase == 0 normal! gv~ endif else if a:uppercase == 1 normal! gUl elseif a:uppercase == -1 normal! gul elseif a:uppercase == 0 normal! ~ endif endif endfunction function! s:insert_stronger_password() abort let save_register = @k let @k = s:PASSWORD.generate_strong(v:count ? v:count : 12) normal! "kPl let @k = save_register endfunction function! s:insert_paranoid_password() abort let save_register = @k let @k = s:PASSWORD.generate_paranoid(v:count ? v:count : 20) normal! "kPl let @k = save_register endfunction function! s:insert_numerical_password() abort let save_register = @k let @k = s:PASSWORD.generate_numeric(v:count ? v:count : 4) normal! "kPl let @k = save_register endfunction function! s:insert_phonetically_password() abort let save_register = @k let @k = s:PASSWORD.generate_phonetic(v:count ? v:count : 8) normal! "kPl let @k = save_register endfunction function! s:uuidgen_U() abort let uuid = system('uuidgen') let save_register = @k let @k = uuid normal! "kPl let @k = save_register endfunction function! s:align_at_regular_expression() abort let re = input(':Tabularize /') if !empty(re) exe 'Tabularize /' . re else normal! : echo 'empty input, canceled!' endif endfunction function! s:join_string_with() abort if s:HI.is_string(line('.'), col('.')) let c = col('.') let a = 0 let b = 0 let _c = c while c > 0 if s:HI.is_string(line('.'), c) let c -= 1 else let a = c break endif endwhile let c = _c while c > 0 if s:HI.is_string(line('.'), c) let c += 1 else let b = c break endif endwhile let l:save_register_m = @m let line = getline('.')[:a] . join(split(getline('.')[a+1 : b]), '-') . getline('.')[b :] call setline('.', line) let @m = l:save_register_m endif endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif augroup spacevim_layer_edit au! autocmd FileType * call add_buffer_head() augroup END let s:ft_head_tp = {} function! s:add_buffer_head() abort if has_key(s:ft_head_tp, &ft) && getline(1) ==# '' && line('$') == 1 let head = s:ft_head_tp[&ft] call setline(1, map(head, 's:parse(v:val)')) call cursor(len(head), 0) endif endfunction function! s:parse(line) abort return s:VIM.parse_string(a:line) endfunction " 为插件定义普通模式和视觉模式映射 nnoremap ConvertToFullWidth :call ConvertFullHalfWidth('normal', 'fullWidth') vnoremap ConvertToFullWidth :call ConvertFullHalfWidth('visual', 'fullWidth') nnoremap ConvertToHalfWidth :call ConvertFullHalfWidth('normal', 'halfWidth') vnoremap ConvertToHalfWidth :call ConvertFullHalfWidth('visual', 'halfWidth') nnoremap ToggleFullHalfWidth :call ConvertFullHalfWidth('normal', 'toggleWidth') vnoremap ToggleFullHalfWidth :call ConvertFullHalfWidth('visual', 'toggleWidth') " 定义转换函数 function! s:ConvertFullHalfWidth(mode, widthType) abort let save_cursor = getcurpos() let save_register = getreg("k") if a:mode == 'normal' let cword = expand('') if !empty(cword) let rst = FullHalfWidthTranslator#Translate(cword, a:widthType) if rst != cword let @k = rst normal! viw"kp endif endif elseif a:mode == 'visual' normal! gv if mode() == "\" " 块选择模式 let [line_start, column_start] = getpos("'<")[1:2] let [line_end, column_end] = getpos("'>")[1:2] if column_end < column_start let [column_start, column_end] = [column_end, column_start] endif for line_num in range(line_start, line_end) let line = getline(line_num) " 将行文本转换为UTF-8编码 let line_utf8 = iconv(line, &encoding, 'UTF-8') let selectedText = line_utf8[column_start - 1: column_end - 1] let translatedText = FullHalfWidthTranslator#Translate(selectedText, a:widthType) let newLine = line[:column_start - 2] . translatedText . line[column_end:] call setline(line_num, newLine) endfor else " 对其他模式的处理 if mode() == 'line' normal! '[V'] elseif mode() == 'char' normal! `[v`] elseif mode() ==? 'v' normal! gv else normal! '[v'] endif " 行选择或字符选择模式的处理 normal! "ky let selectedText = @k let translatedText = FullHalfWidthTranslator#Translate(selectedText, a:widthType) if translatedText != selectedText call setreg('k', translatedText) normal! gv"kp endif endif endif call setpos('.', save_cursor) call setreg("k", save_register) endfunction function! SpaceVim#layers#edit#add_ft_head_tamplate(ft, tamp) abort call extend(s:ft_head_tp, {a:ft : a:tamp}) endfunction function! SpaceVim#layers#edit#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/exprfold.vim ================================================ "============================================================================= " exprfold.vim --- SpaceVim exprfold layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section exprfold, layers-exprfold " @parentsection layers " Fold code quickly according to expr. " " Mappings: " > " Key Mode Function " ---------------------------------------------------- " ZB normal Open fold block template " ZF normal Fold block " ZC normal Fold block comment " < function! SpaceVim#layers#exprfold#health() abort call SpaceVim#layers#exprfold#plugins() call SpaceVim#layers#exprfold#config() return 1 endfunction function! SpaceVim#layers#exprfold#plugins() abort return [ \ ['ZSaberLv0/ZFVimFoldBlock', {'merged' : 0}], \ ] endfunction function! SpaceVim#layers#exprfold#config() abort nnoremap ZB q::call ZF_FoldBlockTemplate() nnoremap ZF :ZFFoldBlock // function! ZF_Plugin_ZFVimFoldBlock_comment() abort let expr='\(^\s*\/\/\)' if &filetype ==# 'vim' let expr.='\|\(^\s*"\)' endif if &filetype ==# 'c' || &filetype ==# 'cpp' let expr.='\|\(^\s*\(\(\/\*\)\|\(\*\)\)\)' endif if &filetype ==# 'make' let expr.='\|\(^\s*#\)' endif let disableE2vSaved = g:ZFVimFoldBlock_disableE2v let g:ZFVimFoldBlock_disableE2v = 1 call ZF_FoldBlock('/' . expr . '//') let g:ZFVimFoldBlock_disableE2v = disableE2vSaved echo 'comments folded' endfunction nnoremap ZC :call ZF_Plugin_ZFVimFoldBlock_comment() endfunction ================================================ FILE: autoload/SpaceVim/layers/floobits.vim ================================================ "============================================================================= " floobits.vim --- SpaceVim floobits layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#floobits#plugins() abort let plugins = [ \ ['floobits/floobits-neovim', { 'on_cmd' : [ \ 'FlooJoinWorkspace', \ 'FlooShareDirPublic', \ 'FlooShareDirPrivate' \ ]}], \ ] return plugins endfunction function! SpaceVim#layers#floobits#health() abort call SpaceVim#layers#floobits#plugins() call SpaceVim#layers#floobits#config() return 1 endfunction function! SpaceVim#layers#floobits#config() abort let g:_spacevim_mappings_space.m.f = {'name' : '+floobits'} call SpaceVim#mapping#space#def('nnoremap', ['m', 'f', 'j'], 'FlooJoinWorkspace', \ 'Join workspace', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'f', 't'], 'FlooToggleFollowMode', \ 'Toggle follow mode', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'f', 's'], 'FlooSummon', \ 'Summon everyone', 1) endfunction ================================================ FILE: autoload/SpaceVim/layers/foldsearch.vim ================================================ "============================================================================= " foldsearch.vim --- Fold search support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section foldsearch, layers-foldsearch " @parentsection layers " `foldsearch` layer provides key bindings to searching text and fold " searching results. This layer is not enabled by default, to enable this " layer, add following code to your configuration file: " > " [[layers]] " name = 'foldsearch' " < " @subsection Key bindings " " The following key bindings will be definded when the `foldsearch` layer is " loaded. " > " Key Binding Description " SPC F w searching with input word " SPC F W searching with cursor word " SPC F p searching with regexp " SPC F e end foldsearch " < if exists('s:filename') " because this script will be loaded twice. This is the feature of vim, " when call an autoload func, vim will try to load the script again finish endif function! SpaceVim#layers#foldsearch#health() abort call SpaceVim#layers#foldsearch#config() return 1 endfunction function! SpaceVim#layers#foldsearch#plugins() abort return [] endfunction function! SpaceVim#layers#foldsearch#set_variable(var) abort endfunction function! SpaceVim#layers#foldsearch#get_options() abort return [] endfunction function! SpaceVim#layers#foldsearch#loadable() abort return 1 endfunction let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#foldsearch#config() let g:_spacevim_mappings_space.F.name = '+Foldsearch/Tabs' let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['F', 'w'], 'call call(' \ . string(s:_function('s:foldsearch_word')) . ', [])', \ ['foldsearch-word', \ [ \ 'SPC F w is to foldsearch input word', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['F', 'W'], 'call call(' \ . string(s:_function('s:foldsearch_cursor')) . ', [])', \ ['foldsearch-cword', \ [ \ 'SPC F W is to foldsearch cursor word', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['F', 'p'], 'call call(' \ . string(s:_function('s:foldsearch_expr')) . ', [])', \ ['foldsearch-regexp', \ [ \ 'SPC F p is to foldsearch regexp', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['F', 'e'], \ 'call SpaceVim#plugins#foldsearch#end()', \ ['end foldsearch', \ [ \ 'SPC F e is to end foldsearch', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) endfunction function! s:foldsearch_word() abort let word = input('foldsearch word >') if !empty(word) call SpaceVim#plugins#foldsearch#word(word) endif endfunction function! s:foldsearch_cursor() abort let word = expand('') if !empty(word) call SpaceVim#plugins#foldsearch#word(word) endif endfunction function! s:foldsearch_expr() abort let word = input('foldsearch expr >') if !empty(word) call SpaceVim#plugins#foldsearch#expr(word) endif endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/format.vim ================================================ "============================================================================= " format.vim --- format Layer file for SpaceVim " Copyright (c) 2012-2022 Shidong Wang & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section format, layers-format " @parentsection layers " `format` layer provides code formation for SpaceVim, the default formatting " plugin is `neoformat`, and you can also use `vim-codefmt`. " " @subsection layer options " " 1. `format_on_save`: disabled by default. " 2. `format_method`: set the format plugin, default plugin is `neoformat`. " You can also use `vim-codefmt` or `format.nvim`, `format.nvim` requires " neovim 0.9.0+. " 3. `silent_format`: Runs the formatter without any messages. " 4. `format_notify_width`: set the neoformat notify window width. " 5. `format_notify_timeout`: set the neoformat notify clear timeout. default " is 5000 milliseconds. " " @subsection key bindings " > " Key binding Description " SPC b f format current buffer or selection lines " < " if exists('s:format_on_save') finish else let s:format_method = 'neoformat' let s:format_on_save = 0 let s:silent_format = 0 let s:format_ft = [] let s:format_notify_timeout = 5000 let s:format_notify_width = &columns * 0.50 endif function! SpaceVim#layers#format#health() abort call SpaceVim#layers#format#plugins() call SpaceVim#layers#format#config() return 1 endfunction function! SpaceVim#layers#format#plugins() abort if s:format_method ==# 'neoformat' return [ \ [g:_spacevim_root_dir . 'bundle/neoformat', {'merged' : 0, 'loadconf' : 1, 'loadconf_before' : 1}], \ ] elseif s:format_method ==# 'codefmt' return [ \ ['google/vim-maktaba', {'merged' : 0}], \ ['google/vim-glaive', {'merged' : 0, 'loadconf' : 1}], \ ['google/vim-codefmt', {'merged' : 0}], \ ] elseif s:format_method ==# 'format.nvim' return [ \ [g:_spacevim_root_dir . 'bundle/format.nvim', {'merged' : 0, 'loadconf' : 1, 'loadconf_before' : 1}], \ ] endif endfunction function! SpaceVim#layers#format#config() abort if s:format_method ==# 'neoformat' call SpaceVim#mapping#space#def('nnoremap', ['b', 'f'], ":Neoformat\", 'format-code', 0, 1) elseif s:format_method ==# 'codefmt' call SpaceVim#mapping#space#def('nnoremap', ['b', 'f'], 'FormatCode', 'format-code', 1) elseif s:format_method ==# 'format.nvim' call SpaceVim#mapping#space#def('nnoremap', ['b', 'f'], ":Format\", 'format-code', 0, 1) endif augroup spacevim_layer_format autocmd! if s:silent_format autocmd BufWritePre * silent! call s:format() else autocmd BufWritePre * call s:format() endif augroup END endfunction function! SpaceVim#layers#format#set_variable(var) abort if has_key(a:var, 'format_method') && a:var.format_method ==# 'format.nvim' && !has('nvim-0.9.0') call SpaceVim#logger#info('format.nvim requires neovim 0.9.0+') else let s:format_method = get(a:var, 'format_method', s:format_method) endif let s:format_on_save = get(a:var, 'format_on_save', s:format_on_save) let s:silent_format = get(a:var, 'silent_format', s:silent_format) let s:format_notify_width = get(a:var, 'format_notify_width', s:format_notify_width) let s:format_notify_timeout = get(a:var, 'format_notify_timeout', s:format_notify_timeout) endfunction function! SpaceVim#layers#format#get_format_option() abort return { \ 'format_notify_width' : s:format_notify_width, \ 'format_notify_timeout' : s:format_notify_timeout, \ } endfunction function! SpaceVim#layers#format#get_options() abort return ['format_method', 'format_on_save', 'silent_format'] endfunction function! SpaceVim#layers#format#add_filetype(ft) abort if get(a:ft, 'enable', 0) if index(s:format_ft, a:ft.filetype) ==# -1 call add(s:format_ft, a:ft.filetype) endif else if index(s:format_ft, a:ft.filetype) !=# -1 call remove(s:format_ft, a:ft.filetype) endif endif endfunction function! s:format() abort if !empty(&ft) && \ ( index(s:format_ft, &ft) !=# -1 || s:format_on_save ==# 1) if s:format_method ==# 'neoformat' undojoin | Neoformat elseif s:format_method ==# 'codefmt' undojoin | FormatCode elseif s:format_method ==# 'format.nvim' undojoin | Format endif endif endfunction function! SpaceVim#layers#format#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/framework/django.vim ================================================ "============================================================================= " django.vim --- django project support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section framework#django, layers-framework-django " @parentsection layers " The `framework#django` layer provides code completion and syntax highlight for django. " This layer is not enabled by default, to enable it: " > " [[layers]] " name = 'framework#django' " < " function! SpaceVim#layers#framework#django#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/django-plus.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#framework#django#health() abort call SpaceVim#layers#framework#django#plugins() return 1 endfunction " @todo add code formatter and linter for htmldjango " https://code.djangoproject.com/wiki/UsingVimWithDjango " https://github.com/yaegassy/coc-htmldjango " https://github.com/rtts/djhtml " https://github.com/Riverside-Healthcare/djlint " https://stackoverflow.com/questions/42170561/vscode-html-autoformat-on-django-template " https://www.reddit.com/r/django/comments/fnzrxv/is_there_an_autoformatter_plugin_for_vs_code_that/ ================================================ FILE: autoload/SpaceVim/layers/fuzzy.vim ================================================ "============================================================================= " fuzzy.vim --- fuzzy layer of SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#fuzzy#plugins() abort let plugins = [ \ ['wsdjeg/vim-fuzzy-search', {'loadconf' : 1, 'merged' : 0}], \ ] call add(plugins, [g:_spacevim_root_dir . 'bundle/neoyank.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#fuzzy#health() abort call SpaceVim#layers#fuzzy#plugins() call SpaceVim#layers#fuzzy#config() return 1 endfunction let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#fuzzy#config() abort let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['?'], 'call call(' \ . string(s:_function('s:get_menu')) . ', ["CustomKeyMaps", "[SPC]"])', \ ['show-mappings', \ [ \ 'SPC ? is to show mappings', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', '[SPC]'], 'call call(' \ . string(s:_function('s:get_help')) . ', ["SpaceVim"])', \ ['find-SpaceVim-help', \ [ \ 'SPC h SPC is to find SpaceVim help', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) " @fixme SPC h SPC make vim flick nmap h [SPC]h[SPC] let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['b', 'b'], 'CtrlPBuffer', \ ['list-buffer', \ [ \ 'SPC b b is to open buffer list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'r'], 'CtrlPMRU', \ ['open-recent-file', \ [ \ 'SPC f r is to open recent file list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['j', 'i'], 'CtrlPBufTag', \ ['jump-to-definition-in-buffer', \ [ \ 'SPC j i is to jump to a definition in buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) "@todo add resume support for ctrlp: SPC r l "@fixme ctrlp colorschemes support let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['T', 's'], 'CtrlPColorscheme', \ ['fuzzy-find-colorschemes', \ [ \ 'SPC T s is to fuzzy find colorschemes', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'f'], \ "exe 'CtrlP ' . fnamemodify(bufname('%'), ':h')", \ ['find-files-in-buffer-directory', \ [ \ '[SPC f f] is to find files in the directory of the current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['p', 'f'], \ 'CtrlP', \ ['find-files-in-project', \ [ \ '[SPC p f] is to find files in the root of the current project', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) " This is definded in plugin config " nnoremap :Ctrlp let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', 'i'], 'call call(' \ . string(s:_function('s:get_help_with_cursor_symbol')) . ', [])', \ ['get-help-for-cursor-symbol', \ [ \ '[SPC h i] is to get help with the symbol at point', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let g:_spacevim_mappings.f = {'name' : '+Fuzzy Finder'} call s:defind_fuzzy_finder() endfunction function! s:get_help_with_cursor_symbol() abort let save_ctrlp_default_input = get(g:, 'ctrlp_default_input', '') let g:ctrlp_default_input = expand('') CtrlPHelp let g:ctrlp_default_input = save_ctrlp_default_input endfunction function! s:get_help(word) abort let save_ctrlp_default_input = get(g:, 'ctrlp_default_input', '') let g:ctrlp_default_input = a:word CtrlPHelp let g:ctrlp_default_input = save_ctrlp_default_input endfunction function! s:get_menu(menu, input) abort let save_ctrlp_default_input = get(g:, 'ctrlp_default_input', '') let g:ctrlp_default_input = a:input exe 'CtrlPMenu ' . a:menu let g:ctrlp_default_input = save_ctrlp_default_input endfunction let s:file = expand(':~') let s:unite_lnum = expand('') + 3 function! s:defind_fuzzy_finder() abort "@todo add Leader f r for resume ctrlp nnoremap fe \ :CtrlPRegister let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.e = ['CtrlPRegister', \ 'fuzzy find registers', \ [ \ '[Leader f r ] is to resume unite window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fh \ :CtrlPNeoyank let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.h = ['CtrlPNeoyank', \ 'fuzzy find yank history', \ [ \ '[Leader f h] is to fuzzy find history and yank content', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fj \ :CtrlPJump let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.j = ['CtrlPJump', \ 'fuzzy find jump list', \ [ \ '[Leader f j] is to fuzzy find jump list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] "@todo add Leader f l for ctrlp location list nnoremap fm \ :CtrlPMessage let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.m = ['CtrlPMessage', \ 'fuzzy find and yank message history', \ [ \ '[Leader f m] is to fuzzy find and yank message history', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fq \ :CtrlPQuickfix let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.q = ['CtrlPQuickfix', \ 'fuzzy find quickfix list', \ [ \ '[Leader f q] is to fuzzy find quickfix list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fo :CtrlPBufTag let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.o = ['CtrlPBufTag', \ 'fuzzy find outline', \ [ \ '[Leader f o] is to fuzzy find outline', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap f :CtrlPMenu CustomKeyMaps let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f['[SPC]'] = ['CtrlPMenu CustomKeyMaps', \ 'fuzzy find custom key bindings', \ [ \ '[Leader f SPC] is to fuzzy find custom key bindings', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fp :CtrlPMenu AddedPlugins let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.p = ['CtrlPMenu AddedPlugins', \ 'fuzzy find vim packages', \ [ \ '[Leader f p] is to fuzzy find vim packages installed in SpaceVim', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif ================================================ FILE: autoload/SpaceVim/layers/fzf.vim ================================================ "============================================================================= " fzf.vim --- fzf layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section fzf, layers-fzf " @parentsection layers " This layer provides fuzzy finder feature which is based on `fzf`. " This layer is not loaded by default. To use this layer: " > " [[layers]] " name = 'fzf' " < " @subsection Key bindings " " The following key bindings will be enabled when this layer is loaded: " > " Key bindings Description " SPC p f / Ctrl-p search files in current directory " f SPC Fuzzy find menu:CustomKeyMaps " f e Fuzzy find register " f h Fuzzy find history/yank " f j Fuzzy find jump, change " f l Fuzzy find location list " f m Fuzzy find output messages " f o Fuzzy find functions " f t Fuzzy find tags " f q Fuzzy find quick fix " f p Fuzzy find bundle plugins " < let s:CMP = SpaceVim#api#import('vim#compatible') let s:LIST = SpaceVim#api#import('data#list') let s:SYS = SpaceVim#api#import('system') function! SpaceVim#layers#fzf#health() abort call SpaceVim#layers#fzf#plugins() call SpaceVim#layers#fzf#config() return 1 endfunction function! SpaceVim#layers#fzf#plugins() abort let plugins = [] call add(plugins, ['junegunn/fzf', { 'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neoyank.vim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neomru.vim', {'merged' : 0}]) call add(plugins, ['SpaceVim/fzf-neoyank', { 'merged' : 0}]) return plugins endfunction let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#fzf#config() abort augroup fzf_layer autocmd! autocmd FileType fzf setlocal nonumber norelativenumber augroup END let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', '[SPC]'], 'FzfHelpTags SpaceVim', 'find-SpaceVim-help', 1) call SpaceVim#mapping#space#def('nnoremap', ['h', 'i'], 'exe "FzfHelpTags " . expand("")', 'get help with the symbol at point', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'b'], 'FzfBuffers', 'List all buffers', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 'f'], \ 'FzfFiles', \ ['find files in current project', \ [ \ '[SPC p f] is to find files in the root of the current project', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) call SpaceVim#mapping#space#def('nnoremap', ['j', 'i'], 'FzfOutline', 'jump to a definition in buffer', 1) nnoremap :FzfFiles call SpaceVim#mapping#space#def('nnoremap', ['T', 's'], 'FzfColors', 'fuzzy find colorschemes', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'r'], 'FzfMru', 'open-recent-file', 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'f'], \ "exe 'FZF ' . fnamemodify(bufname('%'), ':h')", \ ['Find files in the directory of the current buffer', \ [ \ '[SPC f f] is to find files in the directory of the current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let g:_spacevim_mappings.f = {'name' : '+Fuzzy Finder'} call s:defind_fuzzy_finder() endfunction let s:file = expand(':~') let s:unite_lnum = expand('') + 3 function! s:defind_fuzzy_finder() abort nnoremap fe \ :FzfRegister let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.e = ['FzfRegister', \ 'fuzzy find registers', \ [ \ '[Leader f r ] is to resume unite window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fj \ :FzfJumps let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.j = ['FzfJumps', \ 'fuzzy find jump list', \ [ \ '[Leader f j] is to fuzzy find jump list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fh \ :FZFNeoyank let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.h = ['FZFNeoyank', \ 'fuzzy find yank history', \ [ \ '[Leader f r ] is to resume unite window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fm \ :FzfMessages let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.m = ['FzfMessages', \ 'fuzzy find message', \ [ \ '[Leader f m] is to fuzzy find message', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fq \ :FzfQuickfix let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.q = ['FzfQuickfix', \ 'fuzzy find quickfix list', \ [ \ '[Leader f q] is to fuzzy find quickfix list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fl \ :FzfLocationList let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.l = ['FzfLocationList', \ 'fuzzy find location list', \ [ \ '[Leader f l] is to fuzzy find location list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fo :FzfOutline let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.o = ['FzfOutline', \ 'fuzzy find outline', \ [ \ '[Leader f o] is to fuzzy find outline', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap f :FzfMenu CustomKeyMaps let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f['[SPC]'] = ['FzfMenu CustomKeyMaps', \ 'fuzzy find custom key bindings', \ [ \ '[Leader f SPC] is to fuzzy find custom key bindings', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fp :FzfMenu AddedPlugins let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.p = ['FzfMenu AddedPlugins', \ 'fuzzy find vim packages', \ [ \ '[Leader f p] is to fuzzy find vim packages installed in SpaceVim', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap ft :FzfTags let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.t = ['FzfTags', \ 'fuzzy find global tags', \ [ \ '[Leader f t] is to fuzzy find global tags', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endfunction " Function below is largely lifted directly out of project junegunn/fzf.vim from " file autoload/fzf/vim.vim ; w/ minor mods to better integrate into SpaceVim function! s:wrap(name, opts) " fzf#wrap does not append --expect if 'sink' is found let opts = copy(a:opts) let options = '' if has_key(opts, 'options') let options = type(opts.options) == v:t_list ? join(opts.options) : opts.options endif if options !~ '--expect' && has_key(opts, 'sink') call remove(opts, 'sink') let wrapped = fzf#wrap(a:name, opts) else let wrapped = fzf#wrap(a:name, opts) endif return wrapped endfunction command! FzfColors call colors() function! s:colors() abort let s:source = 'colorscheme' call fzf#run(fzf#wrap({'source': map(split(globpath(&rtp, 'colors/*.vim')), \ "fnamemodify(v:val, ':t:r')"), \ 'sink': 'colo','options': '--reverse', 'down': '40%'})) endfunction command! FzfFiles call files() function! s:files() abort let s:source = 'files' call fzf#run(s:wrap('files', {'sink': 'e', 'options': '--reverse', 'down' : '40%'})) endfunction let s:source = '' function! SpaceVim#layers#fzf#sources() abort return s:source endfunction command! FzfJumps call jumps() function! s:bufopen(e) abort let list = split(a:e) if len(list) < 4 return endif let [linenr, col, file_text] = [list[1], list[2]+1, join(list[3:])] let lines = getbufline(file_text, linenr) let path = file_text if empty(lines) if stridx(join(split(getline(linenr))), file_text) == 0 let lines = [file_text] let path = bufname('%') elseif filereadable(path) let lines = ['buffer unloaded'] else " Skip. return endif endif exe 'e ' . path call cursor(linenr, col) endfunction function! s:jumps() abort let s:source = 'jumps' function! s:jumplist() abort return split(s:CMP.execute('jumps'), '\n')[1:] endfunction call fzf#run(fzf#wrap('jumps', { \ 'source': reverse(jumplist()), \ 'sink': function('s:bufopen'), \ 'options': '+m', \ 'down': len(jumplist()) + 2 \ })) endfunction command! FzfMessages call message() function! s:yankmessage(e) abort let @" = a:e echohl ModeMsg echo 'Yanked' echohl None endfunction function! s:message() abort let s:source = 'message' function! s:messagelist() abort return split(s:CMP.execute('message'), '\n') endfunction call fzf#run(fzf#wrap('messages', { \ 'source': reverse(messagelist()), \ 'sink': function('s:yankmessage'), \ 'options': '+m', \ 'down': len(messagelist()) + 2 \ })) endfunction command! FzfMru call file_mru() function! s:open_file(path) abort exe 'e' a:path endfunction function! s:file_mru() abort let s:source = 'mru' function! s:mru_files() abort return neomru#_gather_file_candidates() endfunction call fzf#run(s:wrap('mru', { \ 'source': mru_files(), \ 'sink': function('s:open_file'), \ 'down' : '40%', \ })) endfunction command! FzfQuickfix call s:quickfix() function! s:open_quickfix_item(e) abort let line = a:e let filename = fnameescape(split(line, ':\d\+:')[0]) let linenr = matchstr(line, ':\d\+:')[1:-2] let colum = matchstr(line, '\(:\d\+\)\@<=:\d\+:')[1:-2] exe 'e ' . filename call cursor(linenr, colum) endfunction function! s:quickfix_to_grep(v) abort return bufname(a:v.bufnr) . ':' . a:v.lnum . ':' . a:v.col . ':' . a:v.text endfunction function! s:quickfix() abort let s:source = 'quickfix' function! s:quickfix_list() abort return map(getqflist(), 's:quickfix_to_grep(v:val)') endfunction call fzf#run(fzf#wrap('quickfix', { \ 'source': reverse(quickfix_list()), \ 'sink': function('s:open_quickfix_item'), \ 'options': '--reverse', \ 'down' : '40%', \ })) endfunction command! FzfLocationList call s:location_list() function! s:location_list_to_grep(v) abort return bufname(a:v.bufnr) . ':' . a:v.lnum . ':' . a:v.col . ':' . a:v.text endfunction function! s:open_location_item(e) abort let line = a:e let filename = fnameescape(split(line, ':\d\+:')[0]) let linenr = matchstr(line, ':\d\+:')[1:-2] let colum = matchstr(line, '\(:\d\+\)\@<=:\d\+:')[1:-2] exe 'e ' . filename call cursor(linenr, colum) endfunction function! s:location_list() abort let s:source = 'location_list' function! s:get_location_list() abort return map(getloclist(0), 's:location_list_to_grep(v:val)') endfunction call fzf#run(fzf#wrap('location_list', { \ 'source': reverse(get_location_list()), \ 'sink': function('s:open_location_item'), \ 'options': '--reverse', \ 'down' : '40%', \ })) endfunction command! -bang FzfOutline call fzf#run(fzf#wrap('outline', s:outline(), 0)) function! s:outline_format(lists) abort for list in a:lists let linenr = list[2][:len(list[2])-3] let line = getline(linenr) let idx = stridx(line, list[0]) let len = len(list[0]) let list[0] = line[:idx-1] . printf("\x1b[%s%sm%s\x1b[m", 34, '', line[idx : idx+len-1]) . line[idx + len :] endfor for list in a:lists call map(list, "printf('%s', v:val)") endfor return a:lists endfunction function! s:outline_source(tag_cmds) abort if !filereadable(expand('%')) throw 'Save the file first' endif let lines = [] for cmd in a:tag_cmds let lines = split(system(cmd), "\n") if !v:shell_error break endif endfor if v:shell_error throw get(lines, 0, 'Failed to extract tags') elseif empty(lines) throw 'No tags found' endif return map(s:outline_format(map(lines, 'split(v:val, "\t")')), 'join(v:val, "\t")') endfunction function! s:outline_sink(lines) abort if !empty(a:lines) let line = a:lines[0] execute split(line, "\t")[2] endif endfunction function! s:outline(...) abort let s:source = 'outline' let tag_cmds = [ \ printf('ctags -f - --sort=no --excmd=number --language-force=%s %s 2>/dev/null', &filetype, expand('%:S')), \ printf('ctags -f - --sort=no --excmd=number %s 2>/dev/null', expand('%:S'))] return { \ 'source': s:outline_source(tag_cmds), \ 'sink*': function('s:outline_sink'), \ 'options': '--reverse +m -d "\t" --with-nth 1 -n 1 --ansi --prompt "Outline> "'} endfunction command! FzfRegister call register() function! s:yankregister(e) abort let @" = a:e echohl ModeMsg echo 'Yanked' echohl None endfunction function! s:register() abort let s:source = 'registers' function! s:registers_list() abort return split(s:CMP.execute('registers'), '\n')[1:] endfunction call fzf#run(fzf#wrap('registers', { \ 'source': reverse(registers_list()), \ 'sink': function('s:yankregister'), \ 'options': '+m', \ 'down': '40%' \ })) endfunction command! FzfBuffers call buffers() function! s:open_buffer(e) abort execute 'buffer' matchstr(a:e, '^[ 0-9]*') endfunction function! s:buffers() abort let s:source = 'buffers' function! s:buffer_list() abort return split(s:CMP.execute('buffers'), '\n') endfunction call fzf#run(fzf#wrap('buffers', { \ 'source': reverse(buffer_list()), \ 'sink': function('s:open_buffer'), \ 'options': '+m', \ 'down': '40%' \ })) endfunction let s:ansi = {'black': 30, 'red': 31, 'green': 32, 'yellow': 33, 'blue': 34, 'magenta': 35, 'cyan': 36} function! s:get_color(attr, ...) abort let gui = has('termguicolors') && &termguicolors let fam = gui ? 'gui' : 'cterm' let pat = gui ? '^#[a-f0-9]\+' : '^[0-9]\+$' for group in a:000 let code = synIDattr(synIDtrans(hlID(group)), a:attr, fam) if code =~? pat return code endif endfor return '' endfunction function! s:csi(color, fg) abort let prefix = a:fg ? '38;' : '48;' if a:color[0] ==# '#' return prefix.'2;'.join(map([a:color[1:2], a:color[3:4], a:color[5:6]], 'str2nr(v:val, 16)'), ';') endif return prefix.'5;'.a:color endfunction function! s:ansi(str, group, default, ...) abort let fg = s:get_color('fg', a:group) let bg = s:get_color('bg', a:group) let color = s:csi(empty(fg) ? s:ansi[a:default] : fg, 1) . \ (empty(bg) ? '' : s:csi(bg, 0)) return printf("\x1b[%s%sm%s\x1b[m", color, a:0 ? ';1' : '', a:str) endfunction function! s:black(str, ...) return s:ansi(a:str, get(a:, 1, ''), 'black') endfunction function! s:blue(str, ...) return s:ansi(a:str, get(a:, 1, ''), 'blue') endfunction function! s:green(str, ...) return s:ansi(a:str, get(a:, 1, ''), 'green') endfunction function! s:cyan(str, ...) return s:ansi(a:str, get(a:, 1, ''), 'cyan') endfunction function! s:yellow(str, ...) return s:ansi(a:str, get(a:, 1, ''), 'yellow') endfunction function! s:magenta(str, ...) return s:ansi(a:str, get(a:, 1, ''), 'magenta') endfunction function! s:red(str, ...) return s:ansi(a:str, get(a:, 1, ''), 'red') endfunction function! s:helptag_sink(line) abort let [tag, file, path] = split(a:line, "\t")[0:2] unlet file let rtp = fnamemodify(path, ':p:h:h') if stridx(&rtp, rtp) < 0 execute 'set rtp+='. fnameescape(rtp) endif execute 'help' tag endfunction command! -nargs=? FzfHelpTags call helptags() function! s:helptags(...) abort let query = get(a:000, 0, '') if !executable('grep') || !executable('perl') call SpaceVim#logger#warn('FzfHelpTags command requires grep and perl') endif let sorted = sort(split(globpath(&runtimepath, 'doc/tags', 1), '\n')) let tags = exists('*uniq') ? uniq(sorted) : s:LIST.uniq(sorted) if exists('s:helptags_script') silent! call delete(s:helptags_script) endif let s:helptags_script = tempname() call writefile(['/('.(s:SYS.isWindows ? '^[A-Z]:\/.*?[^:]' : '.*?').'):(.*?)\t(.*?)\t/; printf(qq('. call('s:green', ['%-40s', 'Label']) . '\t%s\t%s\n), $2, $3, $1)'], s:helptags_script) let s:source = 'help' call fzf#run(fzf#wrap('helptags', { \ 'source': 'grep -H ".*" '.join(map(tags, 'shellescape(v:val)')). \ ' | perl -n '. shellescape(s:helptags_script).' | sort', \ 'sink': function('s:helptag_sink'), \ 'options': ['--ansi', '--reverse', '+m', '--tiebreak=begin', '--with-nth', '..-2'] + (empty(query) ? [] : ['--query', query]), \ 'down': '40%' \ })) endfunction " fzf menu command function! SpaceVim#layers#fzf#complete_menu(ArgLead, CmdLine, CursorPos) abort return join(keys(g:unite_source_menu_menus), "\n") endfunction command! -nargs=* -complete=custom,SpaceVim#layers#fzf#complete_menu FzfMenu call menu() function! s:menu_action(e) abort let action = get(s:menu_action, a:e, '') exe action endfunction function! s:menu(name) abort let s:source = 'menu' let s:menu_name = a:name let s:menu_action = {} function! s:menu_content() abort let menu = get(g:unite_source_menu_menus, s:menu_name, {}) if has_key(menu, 'command_candidates') let rt = [] for item in menu.command_candidates call add(rt, item[0]) call extend(s:menu_action, {item[0] : item[1]}, 'force') endfor return rt else return [] endif endfunction call fzf#run(fzf#wrap('menu', { \ 'source': reverse(menu_content()), \ 'sink': function('s:menu_action'), \ 'options': '+m', \ 'down': '40%' \ })) endfunction function! s:tags_sink(line) abort let parts = split(a:line, '\t\zs') let excmd = matchstr(parts[2:], '^.*\ze;"\t') execute 'silent e' parts[1][:-2] let [magic, &magic] = [&magic, 0] execute excmd let &magic = magic endfunction function! s:tags() abort if empty(tagfiles()) echohl WarningMsg echom 'Preparing tags' echohl None call system('ctags -R') endif call fzf#run({ \ 'source': 'cat '.join(map(tagfiles(), 'fnamemodify(v:val, ":S")')). \ '| grep -v -a ^!', \ 'options': '+m -d "\t" --with-nth 1,4.. -n 1 --tiebreak=index --reverse', \ 'down': '40%', \ 'sink': function('s:tags_sink')}) endfunction command! FzfTags call s:tags() ================================================ FILE: autoload/SpaceVim/layers/games.vim ================================================ "============================================================================= " games.vim --- SpaceVim games layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#games#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim2048', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#games#config() abort let g:_spacevim_mappings_space.g = {'name' : '+Games'} call SpaceVim#mapping#space#def('nnoremap', ['g', '2'], 'call vim2048#start()', '2048-in-vim', 1) endfunction function! SpaceVim#layers#games#health() abort call SpaceVim#layers#games#plugins() call SpaceVim#layers#games#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/git.vim ================================================ "============================================================================= " git.vim --- SpaceVim git layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section git, layers-git " @parentsection layers " `git` layer provides git integration for SpaceVim. " " @subsection Layer options " " `git_plugin`: Set the background plugin used in `git` layer. The default " value is `git`, the following plugins are supported: `gina`, `fugitive` and " `gita`. " > " [[layers]] " name = 'git' " git_plugin = 'git' " < " `git_diff_position`: set the default command to split diff windows, by " default it is `10split`. Example: " > " [[layers]] " name = 'git' " git_diff_position = 'vsplit' " < " @subsection Key bindings " " The following key bindings will be definded when the `git` layer is loaded. " > " Key Binding Description " SPC g s view git status " SPC g S stage current file " SPC g U unstage current file " SPC g c edit git commit " SPC g p git push " SPC g m git branch manager " SPC g d view git diff " SPC g A stage all files " SPC g b open git blame windows " SPC g h a stage current hunk " SPC g h r undo cursor hunk " SPC g h v preview cursor hunk " < " @subsection commit omni function " This layer also provides an omnifunc for git commit messages. It supports: " 1. complete commit title, `fix:`, `doc:` etc. " 2. complete github issue list " 3. complete co-author info if exists('s:git_plugin') finish endif let s:git_plugin = 'git' function! SpaceVim#layers#git#plugins() abort let plugins = [ \ ] call add(plugins, ['airblade/vim-gitgutter', { 'merged' : 0, 'on_event' : ['BufReadPost']}]) if s:git_plugin ==# 'gina' call add(plugins, [g:_spacevim_root_dir . 'bundle/gina.vim', { 'merged' : 0}]) elseif s:git_plugin ==# 'fugitive' call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-fugitive', { 'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-dispatch', { 'merged' : 0}]) elseif s:git_plugin ==# 'gita' call add(plugins, ['lambdalisue/vim-gita', { 'on_cmd' : 'Gita'}]) else call add(plugins, [g:_spacevim_root_dir . 'bundle/git.vim', { 'merged' : 0, 'on_cmd' : ['Git'], 'on_func' : 'git#branch#current'}]) endif return plugins endfunction function! SpaceVim#layers#git#config() abort let g:signify_vcs_list = ['hg'] let g:_spacevim_mappings_space.g = get(g:_spacevim_mappings_space, 'g', {'name' : '+VCS/git'}) if s:git_plugin ==# 'gina' call SpaceVim#mapping#space#def('nnoremap', ['g', 's'], 'Gina status --opener=10split', 'git-status', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'S'], 'Gina add %', 'stage-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'U'], 'Gina reset -q %', 'unstage-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'c'], 'Gina commit', 'edit-git-commit', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'p'], 'Gina push', 'git-push', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'd'], 'Gina diff', 'view-git-diff', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'A'], 'Gina add .', 'stage-all-files', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'b'], 'Gina blame', 'view-git-blame', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'V'], 'Gina log %', 'git-log-of-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'v'], 'Gina log', 'git-log-of-current-repo', 1) augroup spacevim_git_layer_gina autocmd! autocmd FileType gina-log setlocal concealcursor=nvic autocmd FileType gina-log setlocal conceallevel=3 augroup END elseif s:git_plugin ==# 'fugitive' call SpaceVim#mapping#space#def('nnoremap', ['g', 's'], 'Git', 'git-status', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'S'], 'Git add %', 'stage-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'U'], 'Git reset -q %', 'unstage-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'c'], 'Git commit', 'edit-git-commit', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'p'], 'Git push', 'git-push', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'd'], 'Gdiffsplit', 'view-git-diff', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'A'], 'Git add .', 'stage-all-files', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'b'], 'Git blame', 'view-git-blame', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'V'], 'Gclog -- %', 'git-log-of-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'v'], 'Gclog --', 'git-log-of-current-repo', 1) elseif s:git_plugin ==# 'gita' let g:gita#suppress_warning = 1 call SpaceVim#mapping#space#def('nnoremap', ['g', 's'], 'Gita status', 'git-status', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'S'], 'Gita add %', 'stage-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'U'], 'Gita reset %', 'unstage-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'c'], 'Gita commit', 'edit-git-commit', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'p'], 'Gita push', 'git-push', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'd'], 'Gita diff', 'view-git-diff', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'A'], 'Gita add .', 'stage-all-files', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'b'], 'Gita blame', 'view-git-blame', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'V'], 'Gita log %', 'git-log-of-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'v'], 'Gita log', 'git-log-of-current-repo', 1) else call SpaceVim#mapping#space#def('nnoremap', ['g', 's'], 'Git status', 'git-status', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'S'], 'Git add %', 'stage-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'U'], 'Git reset %', 'unstage-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'c'], 'Git commit', 'edit-git-commit', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'p'], 'Git push', 'git-push', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'd'], 'Git diff', 'view-git-diff', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'A'], 'Git add .', 'stage-all-files', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'b'], 'Git blame', 'view-git-blame', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'V'], 'Git log %', 'git-log-of-current-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'v'], 'Git log', 'git-log-of-current-repo', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'm'], 'Git branch', 'branch-manager', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'r'], 'Git remote', 'remote-manager', 1) call SpaceVim#plugins#projectmanager#reg_callback(function('git#branch#detect')) endif augroup spacevim_layer_git autocmd! autocmd FileType diff nnoremap q :call SpaceVim#mapping#close_current_buffer() autocmd FileType gitcommit setl omnifunc=SpaceVim#plugins#gitcommit#complete if SpaceVim#layers#isLoaded('core#statusline') autocmd User GitGutter let &l:statusline = SpaceVim#layers#core#statusline#get(1) endif " Instead of reverting the cursor to the last position in the buffer, we " set it to the first line when editing a git commit message au FileType gitcommit au! BufEnter COMMIT_EDITMSG call setpos('.', [0, 1, 1, 0]) augroup END call SpaceVim#mapping#space#def('nnoremap', ['g', 'M'], 'call call(' \ . string(function('s:display_last_commit_of_current_line')) . ', [])', \ 'commit-message-of-current-line', 1) if !exists('g:_spacevim_mappings_space.g.h') let g:_spacevim_mappings_space.g.h = {'name' : ''} endif let l:h_submenu_name = SpaceVim#layers#isLoaded('github') ? '+GitHub/Hunks' : '+Hunks' let g:_spacevim_mappings_space.g.h['name'] = l:h_submenu_name let l:stage_hunk_key = SpaceVim#layers#isLoaded('github') ? 's' : 'a' call SpaceVim#mapping#space#def('nmap', ['g', 'h', l:stage_hunk_key], '(GitGutterStageHunk)', 'stage-current-hunk', 0) call SpaceVim#mapping#space#def('nmap', ['g', 'h', 'r'], '(GitGutterUndoHunk)', 'undo-cursor-hunk', 0) call SpaceVim#mapping#space#def('nmap', ['g', 'h', 'v'], '(GitGutterPreviewHunk)', 'preview-cursor-hunk', 0) endfunction function! SpaceVim#layers#git#set_variable(var) abort let s:git_plugin = get(a:var, \ 'git_plugin', \ get(a:var, \ 'git-plugin', \ s:git_plugin)) let g:git_diff_position = get(a:var, 'git_diff_position', '10split') endfunction function! s:display_last_commit_of_current_line() abort let line = line('.') let file = expand('%') let cmd = 'git log -L ' . line . ',' . line . ':' . file let cmd .= ' --pretty=format:"%s" -1' let title = systemlist(cmd)[0] if v:shell_error == 0 echo 'Last commit of current line is: ' . title endif endfunction function! SpaceVim#layers#git#health() abort call SpaceVim#layers#git#plugins() call SpaceVim#layers#git#config() return 1 endfunction function! SpaceVim#layers#git#loadable() abort return 1 endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/github.vim ================================================ "============================================================================= " github.vim --- SpaceVim github layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section github, layers-github " @parentsection layers " This layer provides GitHub integration for SpaceVim " " @subsection Mappings " > " Key Function " ------------------------------------------------------------- " SPC g h i show issues " SPC g h a show activities " SPC g h d show dashboard " SPC g h f show current file in browser " SPC g h I show issues in browser " SPC g h p show PRs in browser " < " " NOTE: If you are using python2, you may get error: " > " No module named past.builtins " < " " To fix this issue, you need to install `future` module. " > " python2 -m pip install future " < function! SpaceVim#layers#github#plugins() abort return [ \ [g:_spacevim_root_dir . 'bundle/github-issues.vim', {'merged' : 0, 'if' : has('python')}], \ [g:_spacevim_root_dir . 'bundle/vim-github-dashboard', { \ 'merged' : 0, \ 'if' : g:spacevim_if_ruby && has('ruby'), \ 'on_cmd' : ['GHActivity', 'GHDashboard'], \ }], \ ['tyru/open-browser-github.vim', { \ 'depends': 'open-browser.vim', \ 'on_cmd': ['OpenGithubFile', 'OpenGithubIssue', 'OpenGithubPullReq'], \ }], \ [g:_spacevim_root_dir . 'bundle/github.vim', {'merged' : 0}], \ ['lambdalisue/vim-gista', {'merged' : 0, 'on_cmd' : ['Gista']}], \ ] endfunction function! SpaceVim#layers#github#config() abort " TODO Remove duplicated line exists in git layer let g:_spacevim_mappings_space.g = get(g:_spacevim_mappings_space, 'g', { \ 'name' : '+VCS/git', \ }) if !exists('g:_spacevim_mappings_space.g.h') let g:_spacevim_mappings_space.g.h = {'name' : ''} endif let l:h_submenu_name = SpaceVim#layers#isLoaded('git') ? '+GitHub/Hunks' : '+GitHub' let g:_spacevim_mappings_space.g.h['name'] = l:h_submenu_name let g:_spacevim_mappings_space.g.g = { 'name': '+Gist' } " @todo remove the username " autoload to set default username call SpaceVim#mapping#space#def('nnoremap', ['g', 'g', 'l'], 'Gista list', \ 'list gist', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'g', 'p'], 'Gista post', \ 'post selection or current file', 1, 1) "" jaxbot/github-issues.vim {{{ " Disable completion by github-issues.vim. Because github-complete.vim " provides more powerful completion. let g:github_issues_no_omni = 1 if has('python') call SpaceVim#mapping#space#def('nnoremap', ['g', 'h', 'i'], 'Gissues', \ 'show issues', 1) endif "" }}} if g:spacevim_if_ruby && has('ruby') " vim-github-dashboard requires if_ruby let g:github_dashboard = { \ 'username': g:spacevim_github_username, \ } call SpaceVim#mapping#space#def('nnoremap', ['g', 'h', 'a'], 'GHActivity', \ 'show activities', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'h', 'd'], 'GHDashboard', \ 'show dashboard', 1) endif "" tyru/open-browser-github.vim {{{ call SpaceVim#mapping#space#def('nnoremap', ['g', 'h', 'f'], 'OpenGithubFile', \ 'show current file in browser', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'h', 'I'], \ 'OpenGithubIssue', 'show issues in browser', 1) call SpaceVim#mapping#space#def('nnoremap', ['g', 'h', 'p'], \ 'OpenGithubPullReq', 'show PRs in browser', 1) command! UpdateStartedRepos call s:update_stared_repo_list() endfunction function! SpaceVim#layers#github#health() abort call SpaceVim#layers#github#plugins() call SpaceVim#layers#github#config() return 1 endfunction function! s:update_stared_repo_list() abort if empty(g:spacevim_github_username) call SpaceVim#logger#warn('You need to set g:spacevim_github_username') return 0 endif let cache_file = expand('~/.data/github' . g:spacevim_github_username) if filereadable(cache_file) let repos = json_encode(readfile(cache_file, '')[0]) else let repos = github#api#users#GetStarred(g:spacevim_github_username) echom writefile([json_decode(repos)], cache_file, '') endif for repo in repos let description = repo.full_name . repeat(' ', 40 - len(repo.full_name)) . repo.description let cmd = 'OpenBrowser ' . repo.html_url call add(g:unite_source_menu_menus.MyStarredrepos.command_candidates, [description,cmd]) endfor return 1 endfunction function! SpaceVim#layers#github#set_variable(var) abort endfunction function! SpaceVim#layers#github#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/gtags.vim ================================================ "============================================================================= " tags.vim --- SpaceVim gtags layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section gtags, layers-gtags " @parentsection layers " `gtags` layer provides |gtags| integration for SpaceVim. " To load this layer: " > " [[layers]] " name = 'gtags' " < " @subsection Layer options " " The layer option can be used when loading the `gtags` layer, for example: " > " [[layers]] " name = 'gtags' " auto_update = true " open_quickfix = 0 " < " 1. `auto_update`: enable/disable database update automatically. " 2. `open_quickfix`: This setting will open the |quickfix| list when " adding entries. same as |g:gtags_open_list| " 3. `gtagslabel`: the backend of gtags command, you can use `ctags` or " `pygments`. It is empty string by default. " 4. `ctags_bin`: set the command or path of ctags, default is 'ctags' if exists('s:gtagslabel') finish endif let s:FILE = SpaceVim#api#import('file') let s:gtagslabel = '' let s:auto_update = 1 let g:tags_cache_dir = g:spacevim_data_dir . 'SpaceVim' . s:FILE.separator . 'tags' . s:FILE.separator let g:gtags_open_list = 2 function! SpaceVim#layers#gtags#plugins() abort return [ \ [g:_spacevim_root_dir . 'bundle/gtags.vim', \ { 'merged' : 0, \ 'on_cmd' : ['Gtags', 'GtagsGenerate'], \ 'on_func' : ['gtags#update', 'ctags#update'], \ }] \ ] endfunction function! SpaceVim#layers#gtags#config() abort let g:_spacevim_mappings_space.m.g = {'name' : '+gtags'} call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 'c'], 'GtagsGenerate!', 'create-a-gtags-database', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 'u'], 'GtagsGenerate', 'update-tag-database', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 'p'], 'Gtags -P', 'list-all-file-in-GTAGS', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 'd'], 'exe "Gtags -d " . expand("")', 'find-definitions', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 'r'], 'exe "Gtags -r " . expand("")', 'find-references', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 's'], 'exe "Gtags -s " . expand("")', 'find-cursor-symbol', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 'g'], 'exe "Gtags -g " . expand("")', 'find-cursor-string', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 'j'], 'exe "Gtags -d " . input("Jump to the symbol: ")', 'Input a symbol and find the definitions', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'g', 'f'], 'Gtags -f %', 'list of objects', 1) let g:gtags_gtagslabel = s:gtagslabel call SpaceVim#plugins#projectmanager#reg_callback(function('s:update_ctags_option')) call SpaceVim#plugins#projectmanager#reg_callback(function('s:update_gtags_option')) if s:auto_update augroup spacevim_layer_gtags autocmd! " gtags#update() function only exist when gtags is available if executable('gtags') au BufWritePost * call gtags#update(1) else call SpaceVim#logger#warn('gtags is not executable, the gtags database will not be updated automatically') endif if executable('ctags') au BufWritePost * call ctags#update() else call SpaceVim#logger#warn('ctags is not executable, the ctags database will not be updated automatically') endif augroup END endif endfunction function! SpaceVim#layers#gtags#set_variable(var) abort let s:gtagslabel = get(a:var, \ 'gtagslabel', \ '') let g:tags_cache_dir = get(a:var, \ 'tags_cache_dir', \ g:tags_cache_dir) let s:auto_update = get(a:var, \ 'auto_update', \ s:auto_update) let g:gtags_open_list = get(a:var, \ 'open_quickfix', \ g:gtags_open_list) let g:gtags_ctags_bin = get(a:var, \ 'ctags_bin', \ 'ctags') endfunction function! SpaceVim#layers#gtags#health() abort call SpaceVim#layers#gtags#plugins() call SpaceVim#layers#gtags#config() if !SpaceVim#layers#isLoaded('gtags') augroup spacevim_layer_gtags autocmd! augroup END endif return 1 endfunction function! SpaceVim#layers#gtags#loadable() abort return 1 endfunction function! SpaceVim#layers#gtags#get_options() abort return ['gtagslabel', 'ctags_bin'] endfunction function! s:update_ctags_option() abort let project_root = getcwd() let dir = s:FILE.unify_path(g:tags_cache_dir) \ . s:FILE.path_to_fname(project_root) let tags = filter(split(&tags, ','), 'v:val !~# ".cache/SpaceVim/tags"') call add(tags, dir . '/tags') let &tags = join(tags, ',') endfunction function! s:update_gtags_option() abort let $GTAGSROOT = getcwd() let $GTAGSDBPATH = g:tags_cache_dir. s:FILE.path_to_fname($GTAGSROOT) endfunction ================================================ FILE: autoload/SpaceVim/layers/incsearch.vim ================================================ "============================================================================= " incsearch.vim --- SpaceVim incsearch layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section incsearch, layers-incsearch " @parentsection layers " This layer improved incremental searching for neovim/vim " " @subsection key bindings " " The following key bindings will be defined when this layer is loaded. " > " key binding description " / incsearch forward " ? incsearch backward " g/ incsearch stay " n nohlsearch n " N nohlsearch N " * nohlsearch * " # nohlsearch # " g* nohlsearch g* " g# nohlsearch g# " SPC b / fuzzy find word " < let s:filename = expand(':~') function! SpaceVim#layers#incsearch#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/incsearch.vim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/incsearch-fuzzy.vim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-asterisk', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-over', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/incsearch-easymotion.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#incsearch#health() abort call SpaceVim#layers#incsearch#plugins() call SpaceVim#layers#incsearch#config() return 1 endfunction let s:lnum = expand('') + 3 function! SpaceVim#layers#incsearch#config() abort " makes * and # work on visual mode too. map / (incsearch-forward) map ? (incsearch-backward) map g/ (incsearch-stay) set hlsearch let g:incsearch#no_inc_hlsearch = 1 let g:incsearch#auto_nohlsearch = get(g:, 'incsearch#auto_nohlsearch', 1) nnoremap n :call update_search_index('d') nnoremap N :call update_search_index('r') nnoremap (incsearch-update-statusline) :call update_statusline() map * (incsearch-nohl-*) map # (incsearch-nohl-#) map g* (incsearch-nohl-g*) map g# (incsearch-nohl-g#) xnoremap * :call visual_star_search('/')/=@/ xnoremap # :call visual_star_search('?')?=@/ function! s:config_fuzzyall(...) abort return extend(copy({ \ 'converters': [ \ incsearch#config#fuzzy#converter(), \ incsearch#config#fuzzyspell#converter() \ ], \ }), get(a:, 1, {})) endfunction function! s:config_easyfuzzymotion(...) abort return extend(copy({ \ 'converters': [incsearch#config#fuzzy#converter()], \ 'modules': [incsearch#config#easymotion#module({'overwin': 1})], \ 'keymap': {"\": '(easymotion)'}, \ 'is_expr': 0, \ 'is_stay': 1 \ }), get(a:, 1, {})) endfunction noremap (incsearch-fuzzymotion) incsearch#go(config_easyfuzzymotion()) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nmap', ['b', '/'], '(incsearch-fuzzyword-/)', ['fuzzy-find-word', \ [ \ '[SPC b /] is to fuzzy find word in current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 0) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nmap', ['/'], '(incsearch-fuzzymotion)', ['fuzzy-easymotion', \ [ \ '[SPC /] is to run fuzzy easymotion', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 0) endfunction let s:si_flag = 0 function! s:update_search_index(key) abort if a:key ==# 'd' if mapcheck('(incsearch-nohl-n)') !=# '' call feedkeys("\(incsearch-nohl-n)") else normal! n endif elseif a:key ==# 'r' if mapcheck('(incsearch-nohl-N)') !=# '' call feedkeys("\(incsearch-nohl-N)") else normal! N endif endif call feedkeys("\(incsearch-update-statusline)") endfunction function! s:update_statusline() abort let save_cursor = getpos('.') if !SpaceVim#layers#core#statusline#check_section('search status') call SpaceVim#layers#core#statusline#toggle_section('search status') endif let &l:statusline = SpaceVim#layers#core#statusline#get(1) keepjumps call setpos('.', save_cursor) endfunction function! s:visual_star_search(cmdtype) let temp = @s norm! gv"sy let @/ = '\V' . substitute(escape(@s, a:cmdtype.'\'), '\n', '\\n', 'g') let @s = temp endfunction ================================================ FILE: autoload/SpaceVim/layers/indentmove.vim ================================================ "============================================================================= " indentmove.vim --- SpaceVim indentmove layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section indentmove, layers-indentmove " @parentsection layers " Move cursor quickly according to indent. " " @subsection Mappings " > " Key mode function " ----------------------------------------------------------------- " EH normal/visual move up to nearest line with smaller " indent level " EL normal/visual move down to nearest line with larger " indent level " EJ normal/visual move down to nearest line with smaller " or same indent level " EK normal/visual move down to nearest line with larger " or same indent level " EI normal/visual move down to nearest child indent " < " " function! SpaceVim#layers#indentmove#plugins() abort return [ \ ['ZSaberLv0/ZFVimIndentMove', { 'merged' : 0}], \ ] endfunction function! SpaceVim#layers#indentmove#config() abort nnoremap E nnoremap EE `` nnoremap EH :call ZF_IndentMoveParent('n') xnoremap EH :call ZF_IndentMoveParent('v') nnoremap EL :call ZF_IndentMoveParentEnd('n') xnoremap EL :call ZF_IndentMoveParentEnd('v') nnoremap EK :call ZF_IndentMovePrev('n') xnoremap EK :call ZF_IndentMovePrev('v') nnoremap EJ :call ZF_IndentMoveNext('n') xnoremap EJ :call ZF_IndentMoveNext('v') nnoremap EI :call ZF_IndentMoveChild('n') xnoremap EI :call ZF_IndentMoveChild('v') endfunction function! SpaceVim#layers#indentmove#health() abort call SpaceVim#layers#indentmove#plugins() call SpaceVim#layers#indentmove#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/japanese.vim ================================================ "============================================================================= " japanese.vim --- SpaceVim japanese layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#japanese#plugins() abort return [ \ ['vim-jp/vimdoc-ja', {'merged' : 0}], \ ] endfunction function! SpaceVim#layers#japanese#config() abort endfunction function! SpaceVim#layers#japanese#health() abort call SpaceVim#layers#japanese#plugins() call SpaceVim#layers#japanese#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/WebAssembly.vim ================================================ "============================================================================= " WebAssembly.vim --- WebAssembly support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#WebAssembly, layers-lang-WebAssembly " @parentsection layers " This layer provides syntax highlighting for WebAssembly file. and it is disabled by " default, to enable this layer, add following snippet to your SpaceVim " configuration file. " > " [[layers]] " name = 'lang#WebAssembly' " < " function! SpaceVim#layers#lang#WebAssembly#plugins() abort let plugins = [] call add(plugins, ['rhysd/vim-wasm', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#WebAssembly#health() abort call SpaceVim#layers#lang#WebAssembly#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/actionscript.vim ================================================ "============================================================================= " actionscript.vim --- actionscript support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#actionscript, layers-lang-actionscript " @parentsection layers " This layer provides syntax highlighting for actionscript. To enable this " layer: " > " [[layers]] " name = "lang#actionscript" " < function! SpaceVim#layers#lang#actionscript#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-actionscript', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#actionscript#health() abort call SpaceVim#layers#lang#actionscript#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/agda.vim ================================================ "============================================================================= " agda.vim --- lang#agda layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#agda, layers-lang-agda " @parentsection layers " This layer provides syntax highlighting for agda. To enable this " layer: " > " [[layers]] " name = "lang#agda" " < " " @subsection key bindings " " The following key bindings will be added when this layer is loaded. All key " bindings start with `SPC l`. " " > " Key binding Description " SPC l r execute current file " SPC l l reload " SPC l t infer " SPC l f refine false " SPC l F refine true " SPC l g give " SPC l c make case " SPC l a auto " SPC l e context " SPC l n Normalize IgnoreAbstract " SPC l N Normalize DefaultCompute " SPC l M Show module " SPC l y why in scope " SPC l h helper function " SPC l m metas " < function! SpaceVim#layers#lang#agda#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-agda', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#agda#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('agda', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) " let g:_spacevim_mappings_space.l.g = {'name' : '+Generate'} call SpaceVim#mapping#space#langSPC('nmap', ['l','l'], \ 'Reload', \ 'reload', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','t'], \ 'call Infer()', \ 'infer', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','f'], \ 'call Refine("False")', \ 'refine false', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','F'], \ 'call Refine("True")', \ 'refine true', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','g'], \ 'call Give()', \ 'give', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c'], \ 'call MakeCase()', \ 'MakeCase', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','a'], \ 'call Auto()', \ 'Auto', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','e'], \ 'call Context()', \ 'Context', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','n'], \ 'call Normalize("IgnoreAbstract")', \ 'Normalize IgnoreAbstract', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','N'], \ 'call Normalize("DefaultCompute")', \ 'Normalize DefaultCompute', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','M'], \ 'call ShowModule("")', \ 'Show module', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','y'], \ 'call WhyInScope("")', \ 'Why in scope', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','h'], \ 'call HelperFunction()', \ 'HelperFunction', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','m'], \ 'Metas', \ 'Metas', 1) endfunction function! SpaceVim#layers#lang#agda#health() abort call SpaceVim#layers#lang#agda#plugins() call SpaceVim#layers#lang#agda#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/asciidoc.vim ================================================ "============================================================================= " asciidoc.vim --- lang#asciidoc layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#asciidoc, layers-lang-asciidoc " @parentsection layers " This layer provides syntax highlighting for asciidoc. To enable this " layer: " > " [[layers]] " name = "lang#asciidoc" " < func! SpaceVim#layers#lang#asciidoc#plugins() abort return [ \ [g:_spacevim_root_dir . 'bundle/vim-asciidoc', {'merged' : 0}], \ [g:_spacevim_root_dir . 'bundle/VimRegStyle', {'merged' : 0}], \ ] endf function! SpaceVim#layers#lang#asciidoc#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('asciidoc', function('s:language_specified_mappings')) " tagbar configuration " let ctags_version = system('ctags --version') if !v:shell_error && ctags_version =~# 'Universal Ctags' else let g:tagbar_type_asciidoc = { \ 'ctagstype' : 'asciidoc', \ 'kinds' : [ \ 'h:table of contents', \ 'a:anchors:1', \ 't:titles:1', \ 'n:includes:1', \ 'i:images:1', \ 'I:inline images:1' \ ], \ 'deffile': g:_spacevim_root_dir . 'bundle/vim-asciidoc/ctags/asciidoc.conf' , \ 'sort' : 0 \ } endif endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','h'], \ 'call call(' \ . string(function('s:compile_to_html')) . ', [])', \ 'compile-to-html', 1) endfunction function! s:compile_to_html() abort let input = expand('%') let target = fnamemodify(input, ':r') . '.html' let cmd = printf('asciidoc -o %s %s', target, input) call system(cmd) endfunction function! SpaceVim#layers#lang#asciidoc#health() abort call SpaceVim#layers#lang#asciidoc#plugins() call SpaceVim#layers#lang#asciidoc#config() return 1 endfunction " https://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ " https://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ " VimRegStyle based on https://github.com/Raimondi/VimRegStyle/commit/771e32e659b345cf29993d517e08b6b3f741f9c6 " vim-asciidoc is based on https://github.com/wsdjeg/vim-asciidoc/ ================================================ FILE: autoload/SpaceVim/layers/lang/aspectj.vim ================================================ "============================================================================= " aspectj.vim --- aspectj language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#aspectj, layers-lang-aspectj " @parentsection layers " This layer provides syntax highlighting for aspectj. To enable this " layer: " > " [[layers]] " name = "lang#aspectj" " < function! SpaceVim#layers#lang#aspectj#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-aspectj', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#aspectj#health() abort call SpaceVim#layers#lang#aspectj#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/assembly.vim ================================================ "============================================================================= " assembly.vim --- lang#assembly layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#assembly, layers-lang-assembly " @parentsection layers " This layer provides syntax highlighting for assembly. To enable this " layer: " > " [[layers]] " name = "lang#assembly" " < function! SpaceVim#layers#lang#assembly#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-assembly', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#assembly#health() abort call SpaceVim#layers#lang#assembly#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/autohotkey.vim ================================================ "============================================================================= " autohotkey.vim --- AutoHotkey support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#autohotkey, layers-lang-autohotkey " @parentsection layers " This layer provides syntax highlighting for autohotkey. To enable this " layer: " > " [[layers]] " name = "lang#autohotkey" " < function! SpaceVim#layers#lang#autohotkey#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-autohotkey', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#autohotkey#health() abort call SpaceVim#layers#lang#autohotkey#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/autoit.vim ================================================ "============================================================================= " autoit.vim --- autoit layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#autoit, layers-lang-autoit " @parentsection layers " This layer provides syntax highlighting for autoit. To enable this " layer: " > " [[layers]] " name = "lang#autoit" " < " " @subsection key bindings " The following key binding will be added when this layer is loaded: " > " key binding Description " SPC l r run current file " < function! SpaceVim#layers#lang#autoit#config() abort call SpaceVim#plugins#runner#reg_runner('autoit', 'AutoIt3.exe %s') call SpaceVim#mapping#space#regesit_lang_mappings('autoit', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) endfunction function! SpaceVim#layers#lang#autoit#health() abort call SpaceVim#layers#lang#autoit#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/batch.vim ================================================ "============================================================================= " batch.vim --- MS-DOS batch file support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#batch, layers-lang-batch " @parentsection layers " This layer is for batch development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#batch' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for batch, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#batch#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-batch', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#batch#config() abort call SpaceVim#plugins#repl#reg('batch', 'cmd') call SpaceVim#plugins#runner#reg_runner('batch', 'cmd /c %s') call SpaceVim#mapping#space#regesit_lang_mappings('batch', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("batch")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#batch#health() abort call SpaceVim#layers#lang#batch#plugins() call SpaceVim#layers#lang#batch#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/c.vim ================================================ "============================================================================= " c.vim --- SpaceVim lang#c layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " Layer doc {{{ "" " @section lang#c, layers-lang-c " @parentsection layers " This layer is for c/cpp development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#c' " < " " @subsection Layer options " " `clang_executable`: Set the path to the clang executable, by default, it is " `clang`. " " `enable_clang_syntax_highlight`: Enable/Disable clang based syntax " highlighting. By default it is disabled. " " `libclang_path`: The libclang shared object (dynamic library) file path. " By default it is empty " " `clang_std`: This is a dictionary for setting std for c/cpp. The default " valuable is : " > " 'c' : 'c11', " 'cpp' : 'c++1z', " 'objc' : 'c11', " 'objcpp': 'c++1z', " < " " `clang_flag`: You should be able to just paste most of your compile " flags in there. " " Here is an example how to use above options: " > " [[layers]] " name = "lang#c" " clang_executable = "/usr/bin/clang" " clang_flag = ['-I/user/include'] " [layers.clang_std] " c = "c11" " cpp = "c++1z" " objc = "c11" " objcpp = "c++1z" " < " " Instead of using `clang_flag` options, You can also create a `.clang` file " in the root directory of your project. SpaceVim will load the options " defined in `.clang` file. For example: " > " -std=c11 " -I/home/test " < " Note: If `.clang` file contains std configuration, it will override " `clang_std` layer option. " " @subsection Key bindings " " > " Key Function " -------------------------------- " SPC l r run current file " g d jump to definition " < " " This layer also provides REPL support for c, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " " If the lsp layer is enabled for c/c++, the following key bindings can " be used: " > " key binding Description " -------------------------------- " g D jump to declaration " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < " " Known issue: " " You need to use `flush(stdout)` before `scanf()` when run code in code " runner. " " }}} " Init layer options {{{ if exists('s:clang_executable') finish else let s:clang_executable = 'clang' let s:clang_flag = [] let s:clang_std = { \ 'c' : 'c11', \ 'cpp': 'c++1z', \ 'objc': 'c11', \ 'objcpp': 'c++1z', \ } let s:highlight_cmd = '' let s:enable_clang_syntax = 0 let s:c_repl_command = '' endif " }}} let s:format_on_save = 0 " Load the APIs{{{ let s:SYSTEM = SpaceVim#api#import('system') let s:CPT = SpaceVim#api#import('vim#compatible') " }}} " plugins {{{ function! SpaceVim#layers#lang#c#plugins() abort let plugins = [] if !SpaceVim#layers#lsp#check_filetype('c') \ && !SpaceVim#layers#lsp#check_filetype('cpp') \ && !SpaceVim#layers#lsp#check_server('clangd') if g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, ['Shougo/deoplete-clangx', {'merged' : 0}]) elseif g:spacevim_autocomplete_method ==# 'ycm' " no need extra plugins elseif g:spacevim_autocomplete_method ==# 'completor' " no need extra plugins elseif g:spacevim_autocomplete_method ==# 'asyncomplete' call add(plugins, ['wsdjeg/asyncomplete-clang.vim', {'merged' : 0, 'loadconf' : 1}]) else call add(plugins, ['Rip-Rip/clang_complete', {'if' : s:CPT.has('python') || s:CPT.has('python3')}]) endif endif if s:enable_clang_syntax " chromatica is for neovim with py3 " clamp is for neovim rpcstart('python', " [s:script_folder_path.'/../python/engine.py'])] " clighter8 is for vim8 " clighter is for old vim if has('nvim') if s:CPT.has('python3') && SpaceVim#util#haspy3lib('clang') call add(plugins, ['arakashic/chromatica.nvim', { 'merged' : 0}]) else call add(plugins, ['bbchung/Clamp', { 'if' : has('python')}]) endif elseif has('job') call add(plugins, ['bbchung/clighter8', { 'if' : has('python')}]) else call add(plugins, ['bbchung/clighter', { 'if' : has('python')}]) endif else call add(plugins, ['octol/vim-cpp-enhanced-highlight', { 'merged' : 0}]) endif return plugins endfunction " }}} " config {{{ function! SpaceVim#layers#lang#c#config() abort call SpaceVim#mapping#g_capital_d#add('c', \ function('s:go_to_declaration')) call SpaceVim#mapping#g_capital_d#add('cpp', \ function('s:go_to_declaration')) call SpaceVim#mapping#gd#add('c', \ function('s:go_to_def')) call SpaceVim#mapping#gd#add('cpp', \ function('s:go_to_def')) " TODO: add stdin suport flex -t lexer.l | gcc -o lexer.o -xc - let c_runner = { \ 'exe' : 'gcc', \ 'targetopt' : '-o', \ 'opt' : ['-std=' . s:clang_std.c] + s:clang_flag + ['-xc', '-'], \ 'usestdin' : 1, \ } call SpaceVim#plugins#runner#reg_runner('c', [c_runner, '#TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('c', function('s:language_specified_mappings')) let cpp_runner = { \ 'exe' : 'g++', \ 'targetopt' : '-o', \ 'opt' : ['-std=' . s:clang_std.cpp] + s:clang_flag + ['-xc++', '-'], \ 'usestdin' : 1, \ } call SpaceVim#plugins#runner#reg_runner('cpp', [cpp_runner, '#TEMP#']) if !empty(s:c_repl_command) call SpaceVim#plugins#repl#reg('c', s:c_repl_command) else call SpaceVim#plugins#repl#reg('c', 'igcc') endif call SpaceVim#mapping#space#regesit_lang_mappings('cpp', function('s:language_specified_mappings')) let objc_runner = { \ 'exe' : 'gcc', \ 'targetopt' : '-o', \ 'opt' : ['-std=' . s:clang_std.objc] + s:clang_flag + ['-xobjc', '-'], \ 'usestdin' : 1, \ } call SpaceVim#plugins#runner#reg_runner('objc', [objc_runner, '#TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('objc', function('s:language_specified_mappings')) call SpaceVim#plugins#projectmanager#reg_callback(function('s:update_clang_flag')) if executable('clang') let g:neomake_c_enabled_makers = ['clang'] let g:neomake_cpp_enabled_makers = ['clang'] endif let g:neomake_c_clang_remove_invalid_entries = 1 let g:neomake_cpp_clang_remove_invalid_entries = 1 let g:neomake_c_gcc_remove_invalid_entries = 1 let g:neomake_cpp_gcc_remove_invalid_entries = 1 let g:chromatica#enable_at_startup = 0 let g:clighter_autostart = 0 augroup SpaceVim_lang_c autocmd! if s:enable_clang_syntax auto FileType c,cpp call s:highlight() endif au BufRead,BufNewFile *.m set filetype=objc autocmd FileType c,cpp set comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// augroup END call add(g:spacevim_project_rooter_patterns, '.clang') if has('nvim') if s:CPT.has('python3') && SpaceVim#util#haspy3lib('clang') let s:highlight_cmd = 'ChromaticaStart' else let s:highlight_cmd = 'ClampStart' endif elseif has('job') let s:highlight_cmd = 'ClStart' else let s:highlight_cmd = 'ClighterEnable' endif " Format on save if s:format_on_save call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'c', \ 'enable' : 1, \ }) call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'cpp', \ 'enable' : 1, \ }) call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'objc', \ 'enable' : 1, \ }) call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'objcpp', \ 'enable' : 1, \ }) endif endfunction " }}} " local function: highlight {{{ function! s:highlight() abort try exe s:highlight_cmd catch endtry endfunction " }}} " set_variable {{{ function! SpaceVim#layers#lang#c#set_variable(var) abort if has_key(a:var, 'clang_executable') let g:completor_clang_binary = a:var.clang_executable let g:deoplete#sources#clang#executable = a:var.clang_executable let g:neomake_c_enabled_makers = ['clang'] let g:neomake_cpp_enabled_makers = ['clang'] let s:clang_executable = a:var.clang_executable if !has('nvim') let g:asyncomplete_clang_executable = a:var.clang_executable endif endif let s:c_repl_command = get(a:var, 'repl_command', '') if has_key(a:var, 'libclang_path') if has('nvim') if s:CPT.has('python3') && SpaceVim#util#haspy3lib('clang') let g:chromatica#libclang_path = a:var.libclang_path else let g:clamp_libclang_path = a:var.libclang_path endif else let g:asyncomplete_clang_libclang_path = a:var.libclang_path if has('job') let g:clighter8_libclang_path = a:var.libclang_path else let g:clighter_libclang_file = a:var.libclang_path endif endif endif let s:clang_flag = get(a:var, 'clang_flag', s:clang_flag) let s:enable_clang_syntax = get(a:var, 'enable_clang_syntax_highlight', s:enable_clang_syntax) let s:format_on_save = get(a:var, \ 'format_on_save', \ s:format_on_save) call extend(s:clang_std, get(a:var, 'clang_std', {})) endfunction " }}} " local function: language_specified_mappings {{{ function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) if SpaceVim#layers#lsp#check_filetype('c') \ || SpaceVim#layers#lsp#check_server('clangd') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'i'], \ 'call SpaceVim#lsp#go_to_impl()', 'implementation', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("c")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction " }}} " local function: update_clang_flag {{{ function! s:update_clang_flag() abort if filereadable('.clang') let argvs = readfile('.clang') call s:update_checkers_argv(argvs, ['c', 'cpp']) call s:update_autocomplete_argv(argvs, ['c', 'cpp']) call s:update_neoinclude(argvs, ['c', 'cpp']) call s:update_runner(argvs, ['c', 'cpp']) endif endfunction " }}} " local function: update_checkers_argv {{{ if g:spacevim_lint_engine ==# 'neomake' function! s:update_checkers_argv(argv, fts) abort if s:has_std(a:argv) let default_std = 1 else let default_std = 0 endif for ft in a:fts let g:neomake_{ft}_clang_maker = { \ 'args': ['-fsyntax-only', '-Wall', '-Wextra', '-I./'] + a:argv + (default_std ? [] : ['-std=' . s:clang_std[ft]]) + s:clang_flag, \ 'exe' : s:clang_executable, \ 'errorformat': \ '%-G%f:%s:,' . \ '%f:%l:%c: %trror: %m,' . \ '%f:%l:%c: %tarning: %m,' . \ '%I%f:%l:%c: note: %m,' . \ '%f:%l:%c: %m,'. \ '%f:%l: %trror: %m,'. \ '%f:%l: %tarning: %m,'. \ '%I%f:%l: note: %m,'. \ '%f:%l: %m' \ } endfor endfunction elseif g:spacevim_lint_engine ==# 'ale' function! s:update_checkers_argv(argv, fts) abort " g:ale_c_clang_options for ft in a:fts let g:ale_{ft}_clang_options = ' -fsyntax-only -Wall -Wextra -I./ ' . join(a:argv, ' ') let g:ale_{ft}_clang_executable = s:clang_executable endfor endfunction else function! s:update_checkers_argv(argv, fts) abort endfunction endif " }}} " local function: update_autocomplete_argv {{{ function! s:update_autocomplete_argv(argv, fts) abort endfunction " }}} " local function: has_std {{{ function! s:has_std(argv) abort for line in a:argv if line =~# '^-std=' return 1 endif endfor endfunction " }}} " local function: update_runner {{{ function! s:update_runner(argv, fts) abort if s:has_std(a:argv) let default_std = 1 else let default_std = 0 endif if index(a:fts, 'c') !=# -1 let c_runner = { \ 'exe' : 'gcc', \ 'targetopt' : '-o', \ 'opt' : a:argv + (default_std ? [] : ['-std=' . s:clang_std.c]) + s:clang_flag + ['-xc', '-'], \ 'usestdin' : 1, \ } call SpaceVim#plugins#runner#reg_runner('c', [c_runner, '#TEMP#']) endif if index(a:fts, 'cpp') !=# -1 let cpp_runner = { \ 'exe' : 'g++', \ 'targetopt' : '-o', \ 'opt' : a:argv + (default_std ? [] : ['-std=' . s:clang_std.cpp]) + s:clang_flag + ['-xc++', '-'], \ 'usestdin' : 1, \ } call SpaceVim#plugins#runner#reg_runner('cpp', [cpp_runner, '#TEMP#']) endif " update clang_flag for objective-c if index(a:fts, 'objc') !=# -1 let cpp_runner = { \ 'exe' : 'gcc', \ 'targetopt' : '-o', \ 'opt' : a:argv + (default_std ? [] : ['-std=' . s:clang_std.objc]) + s:clang_flag + ['-xobjc', '-'], \ 'usestdin' : 1, \ } call SpaceVim#plugins#runner#reg_runner('objc', [cpp_runner, '#TEMP#']) endif endfunction " }}} " local function: update_neoinclude {{{ function! s:update_neoinclude(argv, fts) abort if s:SYSTEM.isLinux let path = '.,/usr/include,,' else let path = '.,,' endif for argv in a:argv if argv =~# '^-I' let path .= ',' . argv[2:] endif endfor let b:neoinclude_paths = path endfunction " }}} " local function: go_to_declaration {{{ function! s:go_to_declaration() abort if !SpaceVim#layers#lsp#check_filetype(&ft) \ && !SpaceVim#layers#lsp#check_server('clangd') try exe 'ts' expand('') catch /^Vim\%((\a\+)\)\=:E426/ echohl WarningMsg echo 'tag not found: ' . expand('') echohl NONE endtry else call SpaceVim#lsp#go_to_declaration() endif endfunction " }}} " local function: go_to_def {{{ function! s:go_to_def() abort if !SpaceVim#layers#lsp#check_filetype(&ft) \ && !SpaceVim#layers#lsp#check_server('clangd') try exe 'ts' expand('') catch /^Vim\%((\a\+)\)\=:E426/ echohl WarningMsg echo 'tag not found: ' . expand('') echohl NONE endtry else call SpaceVim#lsp#go_to_def() endif endfunction " }}} function! SpaceVim#layers#lang#c#health() abort call SpaceVim#layers#lang#c#plugins() call SpaceVim#layers#lang#c#config() return 1 endfunction function! SpaceVim#layers#lang#c#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/chapel.vim ================================================ "============================================================================= " chapel.vim --- chapel language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#chapel, layers-lang-chapel " @parentsection layers " This layer is for chapel development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#chapel' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r compile and run current file " < " function! SpaceVim#layers#lang#chapel#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-chapel', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#chapel#config() abort call SpaceVim#plugins#runner#reg_runner('chapel', ['chpl -o #TEMP# %s', '#TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('chapel', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) endfunction function! SpaceVim#layers#lang#chapel#health() abort call SpaceVim#layers#lang#chapel#plugins() call SpaceVim#layers#lang#chapel#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/clojure.vim ================================================ "============================================================================= " clojure.vim --- SpaceVim lang#clojure layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#clojure, layers-lang-clojure " @parentsection layers " This layer provides clojure language support in SpaceVim. Including syntax " highlighting, code indent, code runner and REPL. This layer is not enabled " by default, To enable this layer: " > " [[layers]] " name = "lang#clojure" " < " " @subsection layer options " " 1. `clojure_interpreter`: Set the clojure interpreter, by default, it is " `clojure` " > " [[layers]] " name = 'lang#clojure' " clojure_interpreter = 'path/to/clojure' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for clojure, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " " If the lsp layer is enabled for clojure, the following key bindings can " be used: " > " key binding Description " g D jump to type definition " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < " " @subsection Tasks " SpaceVim will detect lein project tasks automatically. If there is " `project.clj` file in the root directory of your project. Following tasks " will be detected: " " 1. `lein:test` " 2. `lein:run` if exists('s:clojure_interpreter') finish endif let s:clojure_interpreter = 'clojure' function! SpaceVim#layers#lang#clojure#plugins() abort let plugins = [] if !SpaceVim#layers#lsp#check_filetype('clojure') \ && !SpaceVim#layers#lsp#check_server('clojure_lsp') " if has('nvim') " call add(plugins, ['clojure-vim/acid.nvim', {'merged' : 0}]) " call add(plugins, ['clojure-vim/async-clj-highlight', {'merged' : 0}]) call add(plugins, ['clojure-vim/async-clj-omni', {'merged' : 0}]) " else " for vim, use guns's clojure plugin guide call add(plugins, ['guns/vim-clojure-static', {'merged' : 0}]) call add(plugins, ['guns/vim-clojure-highlight', {'merged' : 0}]) endif " endif if g:spacevim_lint_engine ==# 'syntastic' call add(plugins, ['venantius/vim-eastwood', {'merged' : 0}]) endif call add(plugins, ['tpope/vim-fireplace', {'merged' : 0}]) call add(plugins, ['venantius/vim-cljfmt', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#clojure#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('clojure', function('s:language_specified_mappings')) " in Window, if install clojure via scoop install clojure, the command is " cmd-clj " let clojure = get(filter(['cmd-clj'], 'executable(v:val)'), 0, 'clojure') call SpaceVim#plugins#runner#reg_runner('clojure', s:clojure_interpreter . ' -M %s') call SpaceVim#plugins#repl#reg('clojure', s:clojure_interpreter) call SpaceVim#plugins#tasks#reg_provider(function('s:lein_tasks')) call add(g:spacevim_project_rooter_patterns, 'project.clj') endfunction " Add language specific mappings function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("clojure")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) if SpaceVim#layers#lsp#check_filetype('clojure') \ || SpaceVim#layers#lsp#check_server('clojure_lsp') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif endfunction function! s:lein_tasks() abort let detect_task = {} if filereadable('project.clj') for task_name in ['run', 'test'] call extend(detect_task, { \ task_name : {'command' : 'lein', 'args' : [task_name], 'isDetected' : 1, 'detectedName' : 'lein:'} \ }) endfor endif return detect_task endfunction function! SpaceVim#layers#lang#clojure#set_variable(var) abort let s:clojure_interpreter = get(a:var, 'clojure_interpreter', s:clojure_interpreter) endfunction function! SpaceVim#layers#lang#clojure#health() abort call SpaceVim#layers#lang#clojure#plugins() call SpaceVim#layers#lang#clojure#config() return 1 endfunction function! SpaceVim#layers#lang#clojure#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/cmake.vim ================================================ "============================================================================= " cmake.vim --- SpaceVim cmake layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#cmake, layers-lang-cmake " @parentsection layers " This layer is for cmake development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#cmake' " < " function! SpaceVim#layers#lang#cmake#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-cmake-syntax', { 'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-cmake', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#cmake#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('cmake', \ function('s:on_ft')) if SpaceVim#layers#lsp#check_filetype('cmake') \ || SpaceVim#layers#lsp#check_server('cmake') call SpaceVim#mapping#gd#add('cmake', \ function('SpaceVim#lsp#go_to_def')) call SpaceVim#mapping#g_capital_d#add('cmake', \ function('SpaceVim#lsp#go_to_declaration')) endif endfunction function! s:on_ft() abort if SpaceVim#layers#lsp#check_filetype('cmake') \ || SpaceVim#layers#lsp#check_server('cmake') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif endfunction function! SpaceVim#layers#lang#cmake#health() abort call SpaceVim#layers#lang#cmake#config() call SpaceVim#layers#lang#cmake#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/coffeescript.vim ================================================ "============================================================================= " coffeescript.vim --- lang#coffeescript layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#coffeescript, layers-lang-coffeescript " @parentsection layers " This layer is for coffeescript development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#coffeescript' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for coffeescript, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < if exists('s:coffee_interpreter') finish endif let s:SYS = SpaceVim#api#import('system') let s:coffee_interpreter = 'coffee' . (s:SYS.isWindows ? '.CMD' : '') function! SpaceVim#layers#lang#coffeescript#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-coffeescript', {'on_ft' : 'coffee'}]) return plugins endfunction function! SpaceVim#layers#lang#coffeescript#config() abort call SpaceVim#plugins#runner#reg_runner('coffee', { \ 'exe' : s:coffee_interpreter, \ 'usestdin' : 1, \ 'opt': ['-s'], \ }) " call SpaceVim#plugins#runner#reg_runner('coffee', 'coffee %s') call SpaceVim#plugins#repl#reg('coffee', [s:coffee_interpreter, '-i']) call SpaceVim#mapping#space#regesit_lang_mappings('coffee', function('s:language_specified_mappings')) augroup spacevim_layer_lang_coffeescript autocmd! autocmd FileType coffee call SpaceVim#util#check_if_expand_tab() augroup END endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("coffee")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) let g:neomake_coffee_enabled_makers = ['coffee', 'coffeelint'] let g:neomake_coffee_coffeelint_maker = { \ 'args': ['--reporter=csv'], \ 'errorformat': '%f\,%l\,%\d%#\,%trror\,%m,' . \ '%f\,%l\,%trror\,%m,' . \ '%f\,%l\,%\d%#\,%tarn\,%m,' . \ '%f\,%l\,%tarn\,%m' \ } let g:neomake_coffee_coffeelint_remove_invalid_entries = 1 let g:neomake_coffee_coffee_maker = { \ 'args': [], \ 'output_stream': 'stderr', \ 'errorformat': '%f:%l:%c: %m', \ } let g:neomake_coffee_coffee_remove_invalid_entries = 1 " \ 'filter_output' : function('s:filter_coffee_lint'), let g:neoformat_enabled_coffee = ['coffeefmt'] let g:neoformat_coffee_coffeefmt = { \ 'exe': 'coffee-fmt', \ 'args': ['--indent_stype', 'space', '-i'], \ 'stdin': 0, \ } endfunction function! s:filter_coffee_lint(lines, job) abort let a:lines = [] endfunction function! SpaceVim#layers#lang#coffeescript#set_variable(var) abort let s:coffee_interpreter = get(a:var, 'coffee_interpreter', s:coffee_interpreter) endfunction function! SpaceVim#layers#lang#coffeescript#health() abort call SpaceVim#layers#lang#coffeescript#plugins() call SpaceVim#layers#lang#coffeescript#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/crystal.vim ================================================ "============================================================================= " crystal.vim --- SpaceVim lang#crystal layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#crystal, layers-lang-crystal " @parentsection layers " @subsection Intro " " The lang#crystal layer provides crystal filetype detection and syntax highlight, " crystal tool and crystal spec integration. To enable this layer: " > " [[layers]] " name = "lang#crystal" " < " " @subsection mapping " > " Key binding description " SPC l r run current code " " This layer also provides REPL support for crystal, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#crystal#plugins() abort return [ \ ['rhysd/vim-crystal', { 'on_ft' : 'crystal' }] \ ] endfunction function! SpaceVim#layers#lang#crystal#config() abort call SpaceVim#plugins#repl#reg('crystal', 'icr') call SpaceVim#plugins#runner#reg_runner('crystal', 'crystal run --no-color %s') call SpaceVim#mapping#space#regesit_lang_mappings('crystal', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("crystal")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) if SpaceVim#layers#lsp#check_filetype('crystal') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) endif endfunction function! SpaceVim#layers#lang#crystal#health() abort call SpaceVim#layers#lang#crystal#plugins() call SpaceVim#layers#lang#crystal#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/csharp.vim ================================================ "============================================================================= " csharp.vim --- SpaceVim lang#csharp layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: VyronLee < lwz_jz # hotmail.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#csharp, layers-lang-csharp " @parentsection layers " @subsection Intro " " This layer includes utilities and language-specific mappings for csharp development. " By default it is disabled, to enable this layer: " > " [[layers]] " name = "lang#csharp" " < " " @subsection Key Mappings " > " Mode Key Function " --------------------------------------------- " normal SPC l b compile the project " normal SPC l f format current file " normal SPC l d show doc " normal SPC l e rename symbol under cursor " normal SPC l g g go to definition " normal SPC l g i find implementations " normal SPC l g t find type " normal SPC l g s find symbols " normal SPC l g u find usages of symbol under cursor " normal SPC l g m find members in the current buffer " normal SPC l s r reload the solution " normal SPC l s s start the OmniSharp server " normal SPC l s S stop the OmniSharp server " < function! SpaceVim#layers#lang#csharp#plugins() abort let plugins = [] call add(plugins, ['OmniSharp/omnisharp-vim', { 'on_ft' : 'cs' } ]) return plugins endfunction function! SpaceVim#layers#lang#csharp#set_variable(var) abort if has_key(a:var, 'highlight_types') let g:OmniSharp_highlight_types = a:var.highlight_types endif endfunction function! SpaceVim#layers#lang#csharp#config() abort " Get Code Issues and syntax errors let g:syntastic_cs_checkers = ['syntax', 'semantic', 'issues'] augroup spacevim_lang_csharp autocmd! autocmd FileType cs setlocal omnifunc=OmniSharp#Complete augroup END call SpaceVim#mapping#space#regesit_lang_mappings('cs', function('s:language_specified_mappings')) endfunction " Add language specific mappings function! s:language_specified_mappings() abort " Suggested bindings call SpaceVim#mapping#space#langSPC('nmap', ['l','b'], \ 'OmniSharpBuildAsync', \ 'compile the project', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','f'], \ 'OmniSharpCodeFormat', \ 'format current file', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','d'], \ 'OmniSharpDocumentation', \ 'show doc', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','e'], \ 'OmniSharpRename', \ 'rename symbol under cursor', 1) " Navigation let g:_spacevim_mappings_space.l.g = {'name' : '+Navigation'} call SpaceVim#mapping#space#langSPC('nmap', ['l','g', 'g'], \ 'OmniSharpGotoDefinition', \ 'go to definition', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','g', 'i'], \ 'OmniSharpFindImplementations', \ 'find implementations', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','g', 't'], \ 'OmniSharpTypeLookup', \ 'find type', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','g', 's'], \ 'OmniSharpFindSymbol', \ 'find symbols', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','g', 'u'], \ 'OmniSharpFindUsages', \ 'find usages of symbol under cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','g', 'm'], \ 'OmniSharpFindMembers', \ 'find members in the current buffer', 1) " Code action let g:_spacevim_mappings_space.l.c = {'name' : '+Code action'} call SpaceVim#mapping#space#langSPC('nmap', ['l', 'c', 'f'], \ 'OmniSharpFixUsings', \ 'Fix using', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'c', 'a'], \ 'OmniSharpGetCodeActions', \ 'Contextual code actions', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'c', 'c'], \ 'OmniSharpGlobalCodeCheck', \ 'Find all code errors/warnings for the current solution', 1) " Server interaction let g:_spacevim_mappings_space.l.s = {'name' : '+Server interaction'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'r'], \ 'OmniSharpReloadSolution', \ 'Reload the solution', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'OmniSharpStartServer', \ 'Start the OmniSharp server', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'S'], \ 'OmniSharpStopServer', \ 'Stop the OmniSharp server', 1) endfunction function! SpaceVim#layers#lang#csharp#health() abort call SpaceVim#layers#lang#csharp#plugins() call SpaceVim#layers#lang#csharp#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/d.vim ================================================ "============================================================================= " d.vim --- D programming language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#d, layers-lang-d " @parentsection layers " This layer is for d development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#d' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for d, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#d#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-dlang', {'merged' : 0}]) if g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, ['landaire/deoplete-d', {'merged' : 0}]) endif return plugins endfunction function! SpaceVim#layers#lang#d#config() abort call SpaceVim#plugins#runner#reg_runner('d', 'dmd -run %s') call SpaceVim#plugins#repl#reg('d', 'dub run drepl') call SpaceVim#mapping#space#regesit_lang_mappings('d', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("d")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#d#health() abort call SpaceVim#layers#lang#d#plugins() call SpaceVim#layers#lang#d#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/dart.vim ================================================ "============================================================================= " dart.vim --- SpaceVim lang#dart layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#dart, layers-lang-dart " @parentsection layers " @subsection Intro " " The lang#dart layer provides code completion, documentation lookup, jump to " definition, dart_repl integration for dart. It uses neomake as default " syntax checker which is loaded in @section(layer-checkers). To enable this " layer: " > " [[layers]] " name = "lang#dart" " < " " @subsection Layer options " " 1. `dart_sdk_path`: Set the path of dart sdk, by default, it is ''. " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for hack, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " " This layer use deoplete-dart as default completion plugin for dart. If the " @section(layer-lsp) is enabled for dart, This plugin will not be loaded. " " if exists('s:flutter_job_id') finish endif let s:flutter_job_id = 0 let s:dart_sdk_path = '' let s:JOB = SpaceVim#api#import('job') let s:NOTI = SpaceVim#api#import('notify') function! SpaceVim#layers#lang#dart#plugins() abort let plugins = [] call add(plugins, ['dart-lang/dart-vim-plugin', {'merged' : 0}]) if !SpaceVim#layers#lsp#check_filetype('dart') call add(plugins, ['SpaceVim/deoplete-dart', {'merged' : 0}]) endif return plugins endfunction function! SpaceVim#layers#lang#dart#config() abort call SpaceVim#plugins#runner#reg_runner('dart', 'dart %s') call SpaceVim#mapping#space#regesit_lang_mappings('dart', function('s:language_specified_mappings')) call SpaceVim#plugins#repl#reg('dart', ['pub', 'global', 'run', 'dart_repl']) call add(g:spacevim_project_rooter_patterns, 'pubspec.yaml') let g:deoplete#sources#dart#dart_sdk_path = s:dart_sdk_path endfunction function! SpaceVim#layers#lang#dart#set_variable(var) abort let s:dart_sdk_path = get(a:var, 'dart_sdk_path', s:dart_sdk_path) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("dart")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) if SpaceVim#layers#lsp#check_filetype('dart') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) endif let g:_spacevim_mappings_space.l.f = {'name' : '+Flutter'} call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f', 'r'], 'call call(' \ . string(s:_function('s:flutter_run')) . ', [])', \ 'flutter-run', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f', 'D'], 'call SpaceVim#plugins#runner#open("flutter doctor")', \ 'flutter-doctor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f', 'd'], 'call SpaceVim#plugins#runner#open("flutter devices")', \ 'flutter-devices', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f', 'e'], 'call SpaceVim#plugins#runner#open("flutter emulators")', \ 'flutter-emulators', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f', 'l'], 'call call(' \ . string(s:_function('s:flutter_send')) . ', ["r"])', \ 'flutter-reload', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f', 's'], 'call call(' \ . string(s:_function('s:flutter_send')) . ', ["R"])', \ 'flutter-restart', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f', 'q'], 'call call(' \ . string(s:_function('s:flutter_send')) . ', ["q"])', \ 'flutter-quit', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f', 'E'], 'call call(' \ . string(s:_function('s:flutter_emulators_launch')) . ', [])', \ 'flutter-emulators-launch', 1) endfunction function! s:flutter_run() abort if s:flutter_job_id ==# 0 " call s:NOTI.notify(line, 'Normal') let s:flutter_job_id = s:JOB.start('flutter run', \ { \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ 'on_exit' : function('s:on_exit'), \ } \ ) endif endfunction function! s:flutter_send(msg) abort if s:flutter_job_id ==# 0 call s:NOTI.notify('Flutter is not running.', 'WarningMsg') else call s:JOB.send(s:flutter_job_id, a:msg) endif endfunction function! s:on_stdout(id, data, event) abort for line in filter(a:data, '!empty(v:val)') call s:NOTI.notify(line, 'Normal') endfor endfunction function! s:on_stderr(id, data, event) abort for line in filter(a:data, '!empty(v:val)') call s:NOTI.notify(line, 'WarningMsg') endfor endfunction function! s:on_exit(...) abort let s:flutter_job_id = 0 endfunction function! s:flutter_emulators_launch() abort call inputsave() let emulators = input('emulators id:') call inputrestore() if !empty(emulators) call s:JOB.start(['flutter', 'emulators', '--launch', emulators], \ { \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ } \ ) endif endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif function! SpaceVim#layers#lang#dart#health() abort call SpaceVim#layers#lang#dart#plugins() call SpaceVim#layers#lang#dart#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/dockerfile.vim ================================================ "============================================================================= " dockerfile.vim --- layer for editing Dockerfile " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#dockerfile, layers-lang-dockerfile " @parentsection layers " @subsection Intro " " The lang#dockerfile layer provides syntax highlighting for dockerfile. " By default it is disabled, to enable this layer: " > " [[layers]] " name = "lang#dockerfile" " < function! SpaceVim#layers#lang#dockerfile#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-dockerfile', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#dockerfile#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('dockerfile', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort if SpaceVim#layers#lsp#check_filetype('dockerfile') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) endif endfunction function! SpaceVim#layers#lang#dockerfile#health() abort call SpaceVim#layers#lang#dockerfile#plugins() call SpaceVim#layers#lang#dockerfile#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/e.vim ================================================ "============================================================================= " e.vim --- E language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#e, layers-lang-e " @parentsection layers " @subsection Intro " " This layer includes utilities and language-specific mappings for e development. " By default it is disabled, to enable this layer: " > " [[layers]] " name = "lang#e" " < if exists('s:e_interpreter') finish endif let s:e_interpreter = 'rune' let s:e_jar_path = 'e.jar' function! SpaceVim#layers#lang#e#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-elang', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#e#config() abort call SpaceVim#plugins#repl#reg('e', shellescape(s:e_interpreter)) call SpaceVim#plugins#runner#reg_runner('e', 'java -jar ' . shellescape(s:e_jar_path) . ' --rune %s') call SpaceVim#mapping#space#regesit_lang_mappings('e', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("e")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#e#set_variable(var) abort let s:e_interpreter = get(a:var, 'e_interpreter', s:e_interpreter) let s:e_jar_path = get(a:var, 'e_jar_path', s:e_jar_path) endfunction function! SpaceVim#layers#lang#e#get_options() abort return ['e_interpreter'] endfunction function! SpaceVim#layers#lang#e#health() abort call SpaceVim#layers#lang#e#plugins() call SpaceVim#layers#lang#e#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/eiffel.vim ================================================ "============================================================================= " eiffel.vim --- Eiffel language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#eiffel, layers-lang-eiffel " @parentsection layers " This layer is for lang#eiffel development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#eiffel' " < " " @subsection Key bindings " > " Key Function " ----------------------------- " SPC l c run eclean " < " function! SpaceVim#layers#lang#eiffel#plugins() abort let plugins = [] " the upstream repo eiffelhub/vim-eiffel has not been updated since 2016. call add(plugins, ['wsdjeg/vim-eiffel', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#eiffel#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('eiffel', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c'], \ 'call SpaceVim#plugins#runner#run_task({"command" : "eclean", "args" : ["."], "isBackground" : 1})', \ 'run-eclean', 1) endfunction function! SpaceVim#layers#lang#eiffel#health() abort call SpaceVim#layers#lang#eiffel#plugins() call SpaceVim#layers#lang#eiffel#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/elixir.vim ================================================ "============================================================================= " elixir.vim --- SpaceVim lang#elixir layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#elixir, layers-lang-elixir " @parentsection layers " This layer is for elixir development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#elixir' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " normal g d jump to definition " < " " This layer also provides REPL support for d, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#elixir#plugins() abort let plugins = [] call add(plugins, ['elixir-editors/vim-elixir', {'on_ft' : ['elixir', 'eelixir']}]) if !SpaceVim#layers#lsp#check_filetype('elixir') call add(plugins, ['slashmili/alchemist.vim', {'on_ft' : 'elixir'}]) endif return plugins endfunction function! SpaceVim#layers#lang#elixir#config() abort call SpaceVim#plugins#runner#reg_runner('elixir', 'elixir %s') call SpaceVim#plugins#repl#reg('elixir', 'iex') call SpaceVim#mapping#space#regesit_lang_mappings('elixir', function('s:language_specified_mappings')) call SpaceVim#mapping#gd#add('elixir', function('s:go_to_def')) let g:alchemist_mappings_disable = 1 let g:alchemist_tag_disable = 1 endfunction function! s:language_specified_mappings() abort if SpaceVim#layers#lsp#check_filetype('elixir') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) else nnoremap K :call alchemist#exdoc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call alchemist#exdoc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 't'], \ 'call alchemist#jump_tag_stack()', 'jump to tag stack', 1) endif call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("elixir")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:go_to_def() abort if SpaceVim#layers#lsp#check_filetype('elixir') call SpaceVim#lsp#go_to_def() else ExDef endif endfunction function! SpaceVim#layers#lang#elixir#health() abort call SpaceVim#layers#lang#elixir#plugins() call SpaceVim#layers#lang#elixir#config() return 1 endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/lang/elm.vim ================================================ "============================================================================= " elixir.vim --- SpaceVim lang#elm layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#elm, layers-lang-elm " @parentsection layers " This layer is for elm development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#elm' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for elm, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#elm#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-elm', {'on_ft' : 'elm'}]) return plugins endfunction function! SpaceVim#layers#lang#elm#config() abort call SpaceVim#plugins#repl#reg('elm', 'elm repl') call SpaceVim#plugins#runner#reg_runner('elm', 'elm %s') call SpaceVim#mapping#space#regesit_lang_mappings('elm', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("elm")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','m'], \ '(elm-make)', \ 'Compile the current buffer', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','t'], \ '(elm-test)', \ 'Runs the tests', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','e'], \ '(elm-error-detail)', \ 'Show error detail', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','d'], \ '(elm-show-docs)', \ 'Show symbol doc', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','w'], \ '(elm-browse-docs)', \ 'Browse symbol doc', 0) nmap K (elm-show-docs) let g:elm_setup_keybindings = 0 endfunction function! SpaceVim#layers#lang#elm#health() abort call SpaceVim#layers#lang#elm#plugins() call SpaceVim#layers#lang#elm#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/erlang.vim ================================================ "============================================================================= " erlang.vim --- erlang support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#erlang, layers-lang-erlang " @parentsection layers " This layer is for erlang development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#erlang' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for erlang, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " let s:is_erlang = SpaceVim#layers#lsp#check_filetype('erlang') \ || SpaceVim#layers#lsp#check_server('erlang_ls') function! SpaceVim#layers#lang#erlang#plugins() abort let plugins = [] call add(plugins, ['vim-erlang/vim-erlang-compiler', {'on_ft' : 'erlang'}]) call add(plugins, ['vim-erlang/vim-erlang-omnicomplete', {'on_ft' : 'erlang'}]) call add(plugins, ['vim-erlang/vim-erlang-runtime', {'on_ft' : 'erlang'}]) call add(plugins, ['vim-erlang/vim-erlang-tags', {'on_ft' : 'erlang'}]) return plugins endfunction function! SpaceVim#layers#lang#erlang#config() abort call SpaceVim#plugins#repl#reg('erlang', 'erl') call SpaceVim#plugins#runner#reg_runner('erlang', ['erlc -o #TEMP# %s', 'erl -pa #TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('erlang', function('s:language_specified_mappings')) call SpaceVim#mapping#gd#add('erlang', function('s:go_to_def')) if s:is_erlang call SpaceVim#mapping#gd#add('erlang', function('SpaceVim#lsp#go_to_def')) else call SpaceVim#mapping#gd#add('erlang', function('s:go_to_def')) endif endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nnoremap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) if s:is_erlang nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() endif " call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 's'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("erlang")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:go_to_def() abort if s:is_erlang call SpaceVim#lsp#go_to_def() else normal! gd endif endfunction function! SpaceVim#layers#lang#erlang#health() abort call SpaceVim#layers#lang#erlang#plugins() call SpaceVim#layers#lang#erlang#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/extra.vim ================================================ "============================================================================= " extra.vim --- lang#extra layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#extra, layers-lang-extra " @parentsection layers " @subsection Intro " " The lang#extra layer provides syntax highlighting, indent for extra " programming language. includes: " " 1. pug " " digitaltoad/vim-pug syntax highlighting and indent " " 2. i3config " " PotatoesMaster/i3-vim-syntax syntax highlighting for i3 config " " 3. irssi config " " isundil/vim-irssi-syntax syntax highlighting for irssi config function! SpaceVim#layers#lang#extra#plugins() abort let plugins = [ \ ['digitaltoad/vim-pug', { 'on_ft' : ['pug', 'jade']}], \ ['juvenn/mustache.vim', { 'on_ft' : ['mustache']}], \ ['PotatoesMaster/i3-vim-syntax', { 'on_ft' : 'i3'}], \ ['isundil/vim-irssi-syntax', { 'on_ft' : 'irssi'}], \ ['vimperator/vimperator.vim', { 'on_ft' : 'vimperator'}], \ ['peterhoeg/vim-qml', { 'on_ft' : 'qml'}], \ ] return plugins endfunction function! SpaceVim#layers#lang#extra#health() abort call SpaceVim#layers#lang#extra#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/factor.vim ================================================ "============================================================================= " factor.vim --- factor language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#factor#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-factor', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#factor#config() abort " call SpaceVim#plugins#repl#reg('prolog', 'swipl -q') call SpaceVim#plugins#runner#reg_runner('factor', 'factor.exe %s') call SpaceVim#mapping#space#regesit_lang_mappings('factor', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) " let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} " call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], " \ 'call SpaceVim#plugins#repl#start("factor")', " \ 'start REPL process', 1) " call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], " \ 'call SpaceVim#plugins#repl#send("line")', " \ 'send line and keep code buffer focused', 1) " call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], " \ 'call SpaceVim#plugins#repl#send("buffer")', " \ 'send buffer and keep code buffer focused', 1) " call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], " \ 'call SpaceVim#plugins#repl#send("selection")', " \ 'send selection and keep code buffer focused', 1) endfunction " ref: " - https://www.howtoforge.com/linux-factor-command/ " - https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46 function! SpaceVim#layers#lang#factor#health() abort call SpaceVim#layers#lang#factor#plugins() call SpaceVim#layers#lang#factor#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/fennel.vim ================================================ "============================================================================= " fennel.vim --- fennel language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:fennel_interpreter') finish endif "" " @section lang#fennel, layers-lang-fennel " @parentsection layers " This layer is for fennel development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#fennel' " < " " @subsection layer options " " 1. `fennel_interpreter`: Set the path of `fennel` command, " by default it is `fennel`. " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for fennel, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " let s:fennel_interpreter = 'fennel' function! SpaceVim#layers#lang#fennel#plugins() abort let plugins = [] call add(plugins, ['bakpakin/fennel.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#fennel#config() abort call SpaceVim#plugins#repl#reg('fennel', s:fennel_interpreter) call SpaceVim#plugins#runner#reg_runner('fennel', s:fennel_interpreter . ' %s') call SpaceVim#mapping#space#regesit_lang_mappings('fennel', function('s:language_specified_mappings')) endfunction function! SpaceVim#layers#lang#fennel#set_variable(var) abort let s:fennel_interpreter = get(a:var, 'fennel_interpreter', s:fennel_interpreter) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("fennel")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#fennel#health() abort call SpaceVim#layers#lang#fennel#plugins() call SpaceVim#layers#lang#fennel#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/forth.vim ================================================ "============================================================================= " forth.vim --- forth language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#forth, layers-lang-forth " @parentsection layers " This layer is for forth development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#forth' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " function! SpaceVim#layers#lang#forth#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-forth', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#forth#config() abort call SpaceVim#plugins#runner#reg_runner('forth', 'bigforth %s') call SpaceVim#mapping#space#regesit_lang_mappings('forth', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) endfunction function! SpaceVim#layers#lang#forth#health() abort call SpaceVim#layers#lang#forth#plugins() call SpaceVim#layers#lang#forth#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/fortran.vim ================================================ "============================================================================= " fortran.vim --- fortran language support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#fortran, layers-lang-fortran " @parentsection layers " This layer is for fortran development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#fortran' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for fortran, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#fortran#plugins() abort let plugins = [] call add(plugins,[g:_spacevim_root_dir . 'bundle/fortran.vim', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#fortran#config() abort call SpaceVim#plugins#runner#reg_runner('fortran', ['gfortran %s -o #TEMP#', '#TEMP#']) call SpaceVim#plugins#repl#reg('fortran', 'frepl') call SpaceVim#mapping#space#regesit_lang_mappings('fortran', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nnoremap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("fortran")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction " ref: " " fortran wiki org " " http://fortranwiki.org/fortran/show/Source+code+editors function! SpaceVim#layers#lang#fortran#health() abort call SpaceVim#layers#lang#fortran#plugins() call SpaceVim#layers#lang#fortran#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/foxpro.vim ================================================ "============================================================================= " foxpro.vim --- Visual FoxPro language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#foxpro, layers-lang-foxpro " @parentsection layers " @subsection Intro " " The lang#foxpro layer provides syntax highlighting for foxpro. function! SpaceVim#layers#lang#foxpro#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-foxpro', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#foxpro#config() abort endfunction function! SpaceVim#layers#lang#foxpro#health() abort call SpaceVim#layers#lang#foxpro#plugins() call SpaceVim#layers#lang#foxpro#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/fsharp.vim ================================================ "============================================================================= " fsharp.vim --- lang#fsharp layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#fsharp, layers-lang-fsharp " @parentsection layers " This layer is for fsharp development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#fsharp' " < " " This layer also provides REPL support for goby, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#fsharp#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-fsharp', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete-fsharp', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#fsharp#config() abort " @todo add code runner support for fsharp call SpaceVim#plugins#repl#reg('fsharp', ['fsharpi', '--readline-']) call SpaceVim#mapping#space#regesit_lang_mappings('fsharp', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("scala")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#fsharp#health() abort call SpaceVim#layers#lang#fsharp#plugins() call SpaceVim#layers#lang#fsharp#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/go.vim ================================================ "============================================================================= " go.vim --- SpaceVim lang#go layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#go, layers-lang-go " @parentsection layers " The `lang#go` layer includes code completion and syntax checking for " Go development. This layer is not enabled by default, to enable it: " > " [[layers]] " name = 'go' " < " @subsection Language server " " There are two ways to setup the golang language server protocol. " " neovim(`>=0.5.0`) " " If you are using `nvim(>=0.5.0)`. You need to use `enabled_clients` option of `lsp` layer to specific the language servers. " for example: " > " [[layers]] " name = 'lsp' " enabled_clients = ['gopls'] " < " vim or neovim(`<0.5.0`) " " To enable language server protocol support, you may need to enable lsp layer. " > " [[layers]] " name = "lsp" " filetypes = [ " "go" " ] " < " @subsection layer options " " 1. `enabled_linters`: set a list of enabled lint for golang. by default this " option is `['golangci_lint']`. The available linters includes: `go`, " `gometalinter`, etc. " 2. go_file_head: the default file head for golang source code. " > " [[layers]] " name = "lang#go" " go_file_head = [ " '#!/usr/bin/python3', " '# -*- coding : utf-8 -*-' " '' " ] " < " 3. `go_interpreter`: Set the interpreter of go. " > " [[layers]] " name = 'lang#go' " go_interpreter = '~/download/bin/go' " < " 4. format_on_save: enable/disable code formation when save go file. This " options is disabled by default, to enable it: " > " [[layers]] " name = 'lang#go' " format_on_save = true " < " " @subsection Mappings " > " Mode Key Function " --------------------------------------------- " normal SPC l a go alternate " normal SPC l b go build " normal SPC l c go coverage " normal SPC l d go doc " normal SPC l D go doc vertical " normal SPC l e go rename " normal SPC l g go definition " normal SPC l G go generate " normal SPC l h go info " normal SPC l i go implements " normal SPC l I implement stubs " normal SPC l k add tags " normal SPC l K remove tags " normal SPC l l list declarations in file " normal SPC l L list declarations in dir " normal SPC l m format improts " normal SPC l M add import " normal SPC l x go referrers " normal SPC l s fill struct " normal SPC l t go test " normal SPC l v freevars " normal SPC l r go run " < " If the lsp layer is enabled for go, the following key bindings can " be used: " > " key binding Description " g D jump to type definition " SPC l e rename symbol " SPC l x show references " SPC l s show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < if exists('s:enabled_linters') finish endif let s:enabled_linters = ['golangci_lint'] let s:format_on_save = 0 let s:go_file_head = [ \ '// @Title', \ '// @Description', \ '// @Author', \ '// @Update', \ ] let s:go_interpreter = 'python3' function! SpaceVim#layers#lang#go#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-go', {'merged' : 0, 'loadconf_before' : 1}]) if has('nvim') && g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete-go', {'on_ft' : 'go', 'build': 'make'}]) endif return plugins endfunction function! SpaceVim#layers#lang#go#config() abort let g:go_highlight_functions = 1 let g:go_highlight_function_calls = 1 let g:go_highlight_structs = 1 let g:go_highlight_operators = 1 let g:go_highlight_build_constraints = 1 let g:go_fmt_command = 'gopls' let g:syntastic_go_checkers = ['golint', 'govet'] let g:syntastic_mode_map = { 'mode': 'active', 'passive_filetypes': ['go'] } " neomake config: let g:neomake_go_gometalinter_remove_invalid_entries = 1 let g:neomake_go_go_remove_invalid_entries = 1 let g:neomake_go_gometalinter_args = ['--disable-all'] let g:neomake_go_enabled_makers = s:enabled_linters let g:go_snippet_engine = 'neosnippet' let g:go_rename_command = 'gopls' if SpaceVim#layers#lsp#check_filetype('go') call SpaceVim#mapping#gd#add('go', \ function('SpaceVim#lsp#go_to_def')) else call SpaceVim#mapping#gd#add('go', function('s:go_to_def')) endif call SpaceVim#mapping#space#regesit_lang_mappings('go', function('s:language_specified_mappings')) call SpaceVim#plugins#runner#reg_runner('go', 'go run %s') if s:format_on_save call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'go', \ 'enable' : 1, \ }) endif call SpaceVim#layers#edit#add_ft_head_tamplate('go', s:go_file_head) endfunction function! s:go_to_def() abort if SpaceVim#layers#lsp#check_filetype('go') \ || SpaceVim#layers#lsp#check_server('gopls') call SpaceVim#lsp#go_to_def() else call go#def#Jump('', 0) endif endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','a'], \ ':GoAlternate', \ 'go alternate', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','b'], \ '(go-build)', \ 'go build', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','c'], \ 'GoCoverageToggle', \ 'go coverage toggle', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','d'], \ '(go-doc)', \ 'go doc', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','D'], \ '(go-doc-vertical)', \ 'go doc (vertical)', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','e'], \ '(go-rename)', \ 'go rename', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','g'], \ '(go-def)', \ 'go def', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','G'], \ ':GoGenerate', \ 'go generate', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','h'], \ '(go-info)', \ 'go info', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','i'], \ '(go-implements)', \ 'go implements', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','I'], \ ':GoImpl', \ 'impl stubs', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','k'], \ ':GoAddTags', \ 'add tags', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','K'], \ ':GoRemoveTags', \ 'remove tags', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','l'], \ ':GoDecls', \ 'decl file', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','L'], \ ':GoDeclsDir', \ 'decl dir', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','m'], \ ':GoImports', \ 'format imports', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','M'], \ ':GoImport ', \ 'add import', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','x'], \ ':GoReferrers', \ 'go referrers', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s'], \ ':GoFillStruct', \ 'fill struct', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','t'], \ 'GoTest', \ 'go test', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','T'], \ 'GoTestFunc', \ 'go test function', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','v'], \ ':GoFreevars', \ 'freevars', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) if SpaceVim#layers#lsp#check_filetype('go') \ || SpaceVim#layers#lsp#check_server('gopls') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 's'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif endfunction function! SpaceVim#layers#lang#go#set_variable(var) abort let s:format_on_save = get(a:var, \ 'format_on_save', \ get(a:var, \ 'format-on-save', \ s:format_on_save)) let s:go_file_head = get(a:var, \ 'go_file_head', \ s:go_file_head) let s:enabled_linters = get(a:var, \ 'enabled_linters', \ s:enabled_linters \ ) let s:go_interpreter = get(a:var, \ 'go_interpreter', \ s:go_interpreter \ ) endfunction function! SpaceVim#layers#lang#go#health() abort call SpaceVim#layers#lang#go#plugins() call SpaceVim#layers#lang#go#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/goby.vim ================================================ "============================================================================= " goby.vim --- goby language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#goby, layers-lang-goby " @parentsection layers " This layer is for goby development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#goby' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for goby, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#goby#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-goby', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#goby#config() abort call SpaceVim#plugins#repl#reg('goby', 'goby -i') call SpaceVim#plugins#runner#reg_runner('goby', 'goby %s') call SpaceVim#mapping#space#regesit_lang_mappings('goby', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("goby")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#goby#health() abort call SpaceVim#layers#lang#goby#plugins() call SpaceVim#layers#lang#goby#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/gosu.vim ================================================ "============================================================================= " gosu.vim --- gosu language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#gosu, layers-lang-gosu " @parentsection layers " This layer is for gosu development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#gosu' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < function! SpaceVim#layers#lang#gosu#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-gosu', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#gosu#config() abort call SpaceVim#plugins#runner#reg_runner('gosu', 'gosu %s') call SpaceVim#mapping#space#regesit_lang_mappings('gosu', function('s:language_specified_mappings')) " @todo add repl support for gosu " gosu language do not support repl as I know, here is issue link: " https://github.com/gosu-lang/gosu-lang/issues/155 endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) endfunction function! SpaceVim#layers#lang#gosu#health() abort call SpaceVim#layers#lang#gosu#plugins() call SpaceVim#layers#lang#gosu#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/graphql.vim ================================================ "============================================================================= " graphql.vim --- graphql layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#graphql, layers-lang-graphql " @parentsection layers " @subsection Intro " " The lang#graphql layer provides syntax highlighting indent for graphql. To " enable this layer: " > " [[layers]] " name = "lang#graphql" " < " " This filetype is automatically selected for filenames ending in .graphql, " .graphqls, and .gql. If you would like to enable automatic syntax support " for more file extensions (e.g., *.prisma), add following into bootstrap " function. " > " augroup mybootstrap " au! " au BufNewFile,BufRead *.prisma setfiletype graphql " augroup END " < function! SpaceVim#layers#lang#graphql#plugins() abort let plugins = [] call add(plugins, ['jparise/vim-graphql', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#graphql#health() abort call SpaceVim#layers#lang#graphql#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/groovy.vim ================================================ "============================================================================= " groovy.vim --- groovy support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#groovy, layers-lang-groovy " @parentsection layers " This layer is for groovy development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#groovy' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for groovy, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#groovy#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/groovy.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#groovy#config() abort call SpaceVim#plugins#repl#reg('groovy', 'groovysh') call SpaceVim#plugins#runner#reg_runner('groovy', 'groovy %s') call SpaceVim#mapping#space#regesit_lang_mappings('groovy', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("groovy")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction " C:\Users\Administrator\.SpaceVim>groovy -v " WARNING: An illegal reflective access operation has occurred " WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/D:/scoop/apps/groovy/current/lib/groovy-2.5.7.jar) to constr " uctor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int) " WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1 " WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations " WARNING: All illegal access operations will be denied in a future release " Groovy Version: 2.5.7 JVM: 9.0.4 Vendor: Oracle Corporation OS: Windows 7 " in windows, use scoop to instal jdk 1.8 " scoop install ojdkbuild8 function! SpaceVim#layers#lang#groovy#health() abort call SpaceVim#layers#lang#groovy#plugins() call SpaceVim#layers#lang#groovy#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/hack.vim ================================================ "============================================================================= " hack.vim --- SpaceVim lang#hack layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#hack, layers-lang-hack " @parentsection layers " @subsection Intro " " This layer is for hack development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#hack' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for hack, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#hack#plugins() abort let plugins = [] call add(plugins, ['hhvm/vim-hack', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#hack#config() abort call SpaceVim#plugins#repl#reg('hack', 'hhvm') call SpaceVim#plugins#runner#reg_runner('hack', 'hhvm %s') call SpaceVim#mapping#space#regesit_lang_mappings('hack', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("hack")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#hack#health() abort call SpaceVim#layers#lang#hack#plugins() call SpaceVim#layers#lang#hack#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/haskell.vim ================================================ "============================================================================= " haskell.vim --- SpaceVim lang#haskell layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#haskell, layers-lang-haskell " @parentsection layers " This layer is for haskell development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#haskell' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for haskell, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#haskell#plugins() abort let plugins = [ \ ['neovimhaskell/haskell-vim', { 'on_ft': 'haskell' }], \ ['pbrisbin/vim-syntax-shakespeare', { 'on_ft': 'haskell' }], \ ] if SpaceVim#layers#lsp#check_filetype('haskell') call add(plugins, ['eagletmt/neco-ghc', { 'on_ft': 'haskell' }]) endif return plugins endfunction function! SpaceVim#layers#lang#haskell#config() abort let g:haskellmode_completion_ghc = 0 call SpaceVim#plugins#repl#reg('haskell', 'ghci') call SpaceVim#plugins#runner#reg_runner('haskell', [ \ 'ghc -v0 --make %s -o #TEMP#', \ '#TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('haskell', \ function('s:on_ft')) if SpaceVim#layers#lsp#check_filetype('haskell') call SpaceVim#mapping#gd#add('haskell', \ function('SpaceVim#lsp#go_to_def')) endif augroup SpaceVim_lang_haskell autocmd! if SpaceVim#layers#lsp#check_filetype('haskell') autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc endif augroup END endfunction function! s:on_ft() abort if SpaceVim#layers#lsp#check_filetype('haskell') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) endif call SpaceVim#mapping#space#langSPC('nmap', ['l', 'r'], \ 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("haskell")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#haskell#health() abort call SpaceVim#layers#lang#haskell#plugins() call SpaceVim#layers#lang#haskell#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/haxe.vim ================================================ "============================================================================= " haxe.vim --- haxe language support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#haxe, layers-lang-haxe " @parentsection layers " This layer is for haxe development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#haxe' " < " " @subsection layer options " " 1. `haxe_interpreter`: Set the haxe interpreter, by default, it is `haxe` " > " [[layers]] " name = 'lang#haxe' " haxe_interpreter = 'path/to/haxe' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for haxe, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " if exists('s:haxe_interpreter') finish endif let s:haxe_interpreter = 'haxe' let s:haxe_repl = 'haxe-repl' function! SpaceVim#layers#lang#haxe#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-haxe', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#haxe#config() abort call SpaceVim#plugins#repl#reg('haxe', s:haxe_repl) call SpaceVim#plugins#runner#reg_runner('haxe', s:haxe_interpreter . ' --main %s --interp') call SpaceVim#mapping#space#regesit_lang_mappings('haxe', function('s:language_specified_mappings')) endfunction function! SpaceVim#layers#lang#haxe#set_variable(var) abort let s:haxe_interpreter = get(a:var, 'haxe_interpreter', s:haxe_interpreter) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("haxe")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#haxe#health() abort call SpaceVim#layers#lang#haxe#plugins() call SpaceVim#layers#lang#haxe#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/html.vim ================================================ "============================================================================= " html.vim --- SpaceVim lang#html layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#html, layers-lang-html " @parentsection layers " This layer is for html development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = "lang#html" " < " " @subsection Options " " - `emmet_leader_key`: change the default leader key for emmet " - `emmet_filetyps`: Set the filetypes for enabling emmet " > " [[layers]] " name = "lang#html" " emmet_leader_key = "" " emmet_filetyps = ['html'] " < " " @subsection Key bindings " " > " Key Binding description " emmet leader key " < " if exists('s:emmet_leader_key') finish endif let s:emmet_leader_key = '' let s:emmet_filetyps = [''] function! SpaceVim#layers#lang#html#plugins() abort let plugins = [ \ ['groenewege/vim-less', { 'on_ft' : ['less']}], \ ['cakebaker/scss-syntax.vim', { 'on_ft' : ['scss','sass']}], \ ['hail2u/vim-css3-syntax', { 'on_ft' : ['css','scss','sass']}], \ ['ap/vim-css-color', { 'on_ft' : ['css','scss','sass','less','styl']}], \ ['othree/html5.vim', { 'on_ft' : ['html']}], \ ['wavded/vim-stylus', { 'on_ft' : ['stylus']}], \ ['mattn/emmet-vim', { 'on_cmd' : 'EmmetInstall'}], \ ] return plugins endfunction function! SpaceVim#layers#lang#html#config() abort let g:user_emmet_leader_key = s:emmet_leader_key augroup spacevim_lang_html autocmd! exe printf('autocmd FileType %s call s:install_emmet()', join(s:emmet_filetyps, ',')) autocmd Filetype html setlocal omnifunc=htmlcomplete#CompleteTags autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS augroup END endfunction function! SpaceVim#layers#lang#html#set_variable(var) abort let s:emmet_leader_key = get(a:var, 'emmet_leader_key', get(a:var, 'user_emmet_leader_key', s:emmet_leader_key)) let s:emmet_filetyps = get(a:var, 'emmet_filetyps', s:emmet_filetyps) endfunction function! s:install_emmet() abort try EmmetInstall catch endtry endfunction function! SpaceVim#layers#lang#html#health() abort call SpaceVim#layers#lang#html#plugins() call SpaceVim#layers#lang#html#config() return 1 endfunction function! SpaceVim#layers#lang#html#get_options() abort return ['emmet_filetyps', \ 'emmet_leader_key'] endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/hy.vim ================================================ "============================================================================= " hy.vim --- hy language support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#hy, layers-lang-hy " @parentsection layers " This layer is for hy development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#hy' " < " " @subsection layer options " " 1. `hy_interpreter`: Set the hy interpreter, by default, it is `hy` " > " [[layers]] " name = 'lang#hy' " hy_interpreter = 'path/to/hy' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for hy, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " if exists('s:hy_interpreter') finish endif let s:hy_interpreter = 'hy' function! SpaceVim#layers#lang#hy#plugins() abort let plugins = [] call add(plugins, ['hylang/vim-hy', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#hy#config() abort call SpaceVim#plugins#repl#reg('hy', s:hy_interpreter) call SpaceVim#plugins#runner#reg_runner('hy', s:hy_interpreter . ' %s') call SpaceVim#mapping#space#regesit_lang_mappings('hy', function('s:language_specified_mappings')) endfunction function! SpaceVim#layers#lang#hy#set_variable(var) abort let s:hy_interpreter = get(a:var, 'hy_interpreter', s:hy_interpreter) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("hy")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#hy#health() abort call SpaceVim#layers#lang#hy#plugins() call SpaceVim#layers#lang#hy#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/idris.vim ================================================ "============================================================================= " idris.vim --- idris language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#idris, layers-lang-idris " @parentsection layers " This layer is for idris development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#idris' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for idris, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#idris#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-idris', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#idris#config() abort call SpaceVim#plugins#repl#reg('idris', 'idris --nobanner') call SpaceVim#plugins#runner#reg_runner('idris', ['idris %s -o #TEMP#', '#TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('idris', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("idris")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','w'], 'call idris#makeWith()', 'add-with-clause', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','t'], 'call idris#showType()', 'show-type', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','p'], 'call idris#proofSearch(1)', 'proof-search', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','o'], 'call idris#proofSearch(1)', 'obvious-proof-search', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','a'], 'call idris#reload(0)', 'reload-file', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c'], 'call idris#caseSplit()', 'case-split', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','f'], 'call idris#refine()', 'refine-item', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','l'], 'call idris#makeLemma()', 'make lemma', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','h'], 'call idris#showDoc()', 'show doc', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','m'], 'call idris#addMissing()', 'add missing', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','e'], 'call idris#eval()', 'idris eval', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','i'], 'call idris#responseWin()', 'open-response-win', 1) let g:_spacevim_mappings_space.l.d = {'name' : '+Add clause'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d', 'f'], '0:call search(":")b:call idris#addClause(0)w', 'add-clause-for-type-declaration', 1, 0) " nnoremap b 0:call IdrisAddClause(0) " nnoremap md 0:call search(":")b:call IdrisAddClause(1)w " nnoremap mc :call IdrisMakeCase() endfunction function! SpaceVim#layers#lang#idris#health() abort call SpaceVim#layers#lang#idris#plugins() call SpaceVim#layers#lang#idris#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/io.vim ================================================ "============================================================================= " io.vim --- io language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#io, layers-lang-io " @parentsection layers " This layer is for io development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#io' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for io, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#io#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-iolang', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#io#config() abort call SpaceVim#plugins#repl#reg('io', 'io_static') call SpaceVim#plugins#runner#reg_runner('io', 'io %s') call SpaceVim#mapping#space#regesit_lang_mappings('io', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("io")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#io#health() abort call SpaceVim#layers#lang#io#plugins() call SpaceVim#layers#lang#io#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/ipynb.vim ================================================ "============================================================================= " ipynb.vim --- SpaceVim lang#ipynb layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#ipynb#plugins() abort let plugins = [] " TODO: use remote plugin https://github.com/szymonmaszke/vimpyter call add(plugins, ['wsdjeg/vimpyter', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#ipynb#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('ipynb', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','p'], \ 'VimpyterInsertPythonBlock', \ 'insert python block', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','u'], \ 'VimpyterUpdate', \ 'update note book', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','j'], \ 'VimpyterStartJupyter', \ 'start jupyter', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','n'], \ 'VimpyterStartNteract', \ 'start nteract', 1) endfunction function! SpaceVim#layers#lang#ipynb#health() abort call SpaceVim#layers#lang#ipynb#plugins() call SpaceVim#layers#lang#ipynb#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/j.vim ================================================ "============================================================================= " j.vim --- lang#j layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#j, layers-lang-j " @parentsection layers " This layer is for j development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#j' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for j, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#j#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/j', { 'merged' : 0}]) return plugins endfunction let s:jconsole_bin = 'jconsole' function! SpaceVim#layers#lang#j#config() abort call SpaceVim#plugins#repl#reg('j', shellescape(s:jconsole_bin)) call SpaceVim#plugins#runner#reg_runner('j', shellescape(s:jconsole_bin) . ' %s') call SpaceVim#mapping#space#regesit_lang_mappings('j', function('s:language_specified_mappings')) endfunction function! SpaceVim#layers#lang#j#set_variable(var) abort let s:jconsole_bin = get(a:var, 'jconsole-bin', s:jconsole_bin) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','b'], 'call SpaceVim#api#import("job").start("jhs")', 'open browser IDE', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("j")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#j#health() abort call SpaceVim#layers#lang#j#plugins() call SpaceVim#layers#lang#j#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/janet.vim ================================================ "============================================================================= " janet.vim --- janet language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#janet, layers-lang-janet " @parentsection layers " This layer is for janet development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#janet' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for janet, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#janet#plugins() abort let plugins = [] call add(plugins, ['janet-lang/janet.vim', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#janet#config() abort call SpaceVim#plugins#repl#reg('janet', 'janet -s') call SpaceVim#plugins#runner#reg_runner('janet', 'janet %s') call SpaceVim#mapping#space#regesit_lang_mappings('janet', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("janet")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#janet#health() abort call SpaceVim#layers#lang#janet#plugins() call SpaceVim#layers#lang#janet#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/java.vim ================================================ "============================================================================= " java.vim --- SpaceVim lang#java layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#java, layers-lang-java " @parentsection layers " This layer is for java development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#java' " < " @subsection Layer options " " 1. `format_on_save`: Enable/disabled code formatting when saving current file. " Disabled by default. " 2. `java_formatter_jar`: Set the full path of google's java formatter jar. " 3. `java_file_head`: The default file header for new java file. " by default it is: " > " [[layers]] " name = 'lang#java' " java_file_head = [ " '/**', " ' * @author : `fnamemodify(expand("~"), ":t")`', " ' * @created : `strftime("%Y-%m-%d")`', " '**/', " '' " ] " < " 4. `enabled_linters`: Set the enabled linters for java, default is `['javac']`. " @subsection Mappings " > " Import key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l I import missing classes " normal SPC l R remove unused imports " normal SPC l i smart import class under cursor " insert I import missing imports " insert R remove unused imports " insert i smart import class under cursor " " Generate key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l g A generate accessors " normal SPC l g s generate setter accessor " normal SPC l g g generate getter accessor " normal SPC l g a generate setter and getter accessor " normal SPC l g t generate toString function " normal SPC l g e generate equals and hashcode function " normal SPC l g c generate constructor " normal SPC l g C generate default constructor " insert s generate setter accessor " insert g generate getter accessor " insert a generate getter and setter accessor " visual SPC l g s generate setter accessor " visual SPC l g g generate getter accessor " visual SPC l g a generate setter and getter accessor " " Maven key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l m i run maven clean install " normal SPC l m I run maven install " normal SPC l m p run one already goal from list " normal SPC l m r run maven goals " normal SPC l m R run one maven goal " normal SPC l m t run maven test " " Gradle key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l g r run gradle run " normal SPC l g b run gradle build " normal SPC l g B run gradle clean build " normal SPC l g t run gradle test " " Jump key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l j a jump to alternate file " " REPL key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l s i start a jshell inferior REPL process " normal SPC l s b send buffer and keep code buffer focused " normal SPC l s l send line and keep code buffer focused " normal SPC l s s send selection text and keep code buffer focused " < " @subsection Code formatting " To make neoformat support java file, you should install uncrustify. " or download google's formater jar from: " https://github.com/google/google-java-format " " and set the layer option `java_formatter_jar` to the path of the jar. " > " [[layers]] " name = 'lang#java' " java_formatter_jar = 'path/to/google-java-format.jar' " < if exists('s:java_formatter_jar') finish endif let s:java_formatter_jar = '' let s:format_on_save = 0 let s:java_file_head = [ \ '/**', \ ' * @author : `fnamemodify(expand("~"), ":t")`', \ ' * @created : `strftime("%Y-%m-%d")`', \ '**/', \ '' \ ] let s:java_interpreter = 'java' let s:enabled_linters = ['javac'] function! SpaceVim#layers#lang#java#plugins() abort let plugins = [] if !SpaceVim#layers#lsp#check_filetype('java') \ && !SpaceVim#layers#lsp#check_server('jdtls') call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-javacomplete2', { 'on_ft' : ['java','jsp'], 'loadconf' : 1}]) endif call add(plugins, [g:_spacevim_root_dir . 'bundle/JavaUnit.vim', {'on_ft' : 'java'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/java_getset.vim', {'on_ft' : 'java'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-dict', {'on_ft' : 'java'}]) return plugins endfunction function! SpaceVim#layers#lang#java#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('java', function('s:language_specified_mappings')) call SpaceVim#plugins#repl#reg('java', 'jshell') call add(g:spacevim_project_rooter_patterns, 'pom.xml') call add(g:spacevim_project_rooter_patterns, 'build.gradle') " for neomake " neomake will be disabled when lsp is enabled for java. if SpaceVim#layers#lsp#check_filetype('java') \ || SpaceVim#layers#lsp#check_server('jdtls') let g:neomake_java_enabled_makers = [] else if g:spacevim_lint_engine ==# 'neomake' let g:neomake_java_javac_options = ['-J-Duser.language=en'] let g:neomake_java_enabled_makers = s:enabled_linters for lint in g:neomake_java_enabled_makers let g:neomake_java_{lint}_remove_invalid_entries = 1 endfor endif endif " defined JDTLS_HOME if empty($JDTLS_HOME) && !empty($Scoop) let $JDTLS_HOME = $Scoop . '/apps/jdtls/current' endif if SpaceVim#layers#lsp#check_filetype('java') \ || SpaceVim#layers#lsp#check_server('jdtls') call SpaceVim#mapping#gd#add('java', function('SpaceVim#lsp#go_to_def')) else call SpaceVim#mapping#gd#add('java', function('s:go_to_def')) endif augroup SpaceVim_lang_java au! if !SpaceVim#layers#lsp#check_filetype('java') \ && !SpaceVim#layers#lsp#check_server('jdtls') " omnifunc will be used only when no java lsp support autocmd FileType java setlocal omnifunc=javacomplete#Complete endif autocmd FileType jsp call JspFileTypeInit() autocmd FileType java set comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// augroup END let g:neoformat_enabled_java = get(g:, 'neoformat_enabled_java', ['googlefmt']) let g:neoformat_java_googlefmt = { \ 'exe': 'java', \ 'args': ['-jar', s:java_formatter_jar, '-'], \ 'stdin': 1, \ } try let g:neoformat_enabled_java += neoformat#formatters#java#enabled() catch endtry " Format on save if s:format_on_save call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'java', \ 'enable' : 1, \ }) endif call SpaceVim#layers#edit#add_ft_head_tamplate('java', s:java_file_head) call SpaceVim#plugins#projectmanager#reg_callback(function('s:handle_java_project_changed')) call SpaceVim#plugins#tasks#reg_provider(function('s:maven_tasks')) endfunction function! s:maven_tasks() abort let detect_task = {} let conf = {} if filereadable('pom.xml') call extend(detect_task, { \ 'compile' : {'command' : 'mvn', 'args' : ['compile'], 'isDetected' : 1, 'detectedName' : 'mvn:'} \ }) endif return detect_task endfunction function! s:handle_java_project_changed() abort try call javacomplete#classpath#classpath#BuildClassPath() catch endtry endfunction function! s:JspFileTypeInit() abort setlocal omnifunc=javacomplete#Complete inoremap . =OnmiConfigForJsp() endfunction function! s:language_specified_mappings() abort let g:_spacevim_mappings_space.l = {'name' : '+Language Specified'} imap I (JavaComplete-Imports-AddMissing) imap R (JavaComplete-Imports-RemoveUnused) imap i (JavaComplete-Imports-AddSmart) imap s (JavaComplete-Generate-AccessorSetter) imap g (JavaComplete-Generate-AccessorGetter) imap a (JavaComplete-Generate-AccessorSetterGetter) imap jM (JavaComplete-Generate-AbstractMethods) " Import key bindings call SpaceVim#mapping#space#langSPC('nmap', ['l','I'], \ '(JavaComplete-Imports-AddMissing)', \ 'Import missing classes', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','R'], \ '(JavaComplete-Imports-RemoveUnused)', \ 'Remove unused classes', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','i'], \ '(JavaComplete-Imports-AddSmart)', \ 'Smart import class under cursor', 0) " Generate key bindings let g:_spacevim_mappings_space.l.g = {'name' : '+Generate'} call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 'A'], \ '(JavaComplete-Generate-Accessors)', \ 'generate setter accessor', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 's'], \ '(JavaComplete-Generate-AccessorSetter)', \ 'generate setter accessor', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 'g'], \ '(JavaComplete-Generate-AccessorGetter)', \ 'generate getter accessor', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 'a'], \ '(JavaComplete-Generate-AccessorSetterGetter)', \ 'generate setter and getter accessor', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 'M'], \ '(JavaComplete-Generate-AbstractMethods)', \ 'Generate abstract methods', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 'c'], \ '(JavaComplete-Generate-Constructor)', \ 'Generate constructor', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 'C'], \ '(JavaComplete-Generate-DefaultConstructor)', \ 'Generate default constructor', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 'e'], \ '(JavaComplete-Generate-EqualsAndHashCode)', \ 'Generate equals functions', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 't'], \ '(JavaComplete-Generate-ToString)', \ 'Generate toString function', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g', 'n'], \ '(JavaComplete-Generate-NewClass)', \ 'Generate NewClass in current Package', 0) " execute let g:_spacevim_mappings_space.l.r = {'name' : '+Run'} " run main method call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'm'], 'JavaUnitTestMain', 'Run main method', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'c'], 'JavaUnitExec', 'Run current method', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'a'], 'JavaUnitTestAll', 'Run all test methods', 1) " maven let g:_spacevim_mappings_space.l.m = {'name' : '+Maven'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l','m', 'i'], 'call call(' \ . string(function('s:execCMD')) . ', ["mvn clean install"])', \ 'Run maven clean install', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','m', 'I'], 'call call(' \ . string(function('s:execCMD')) . ', ["mvn install"])', \ 'Run maven install', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','m', 't'], 'call call(' \ . string(function('s:execCMD')) . ', ["mvn test"])', \ 'Run maven test', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','m', 'c'], 'call call(' \ . string(function('s:execCMD')) . ', ["mvn compile"])', \ 'Run maven compile', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','m', 'r'], 'call call(' \ . string(function('s:execCMD')) . ', ["mvn run"])', \ 'Run maven run', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','m', 'p'], 'call call(' \ . string(function('s:execCMD')) . ', ["mvn package"])', \ 'Run maven package', 1) " Gradle let g:_spacevim_mappings_space.l.a = {'name' : '+Gradle'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l','a', 'B'], 'call call(' \ . string(function('s:execCMD')) . ', ["gradle clean build"])', \ 'Run gradle clean build', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','a', 'b'], 'call call(' \ . string(function('s:execCMD')) . ', ["gradle build"])', \ 'Run gradle build', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','a', 't'], 'call call(' \ . string(function('s:execCMD')) . ', ["gradle test"])', \ 'Run gradle test', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','a', 'r'], 'call call(' \ . string(function('s:execCMD')) . ', ["gradle run"])', \ 'Run gradle run', 1) " REPL let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("java")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) if SpaceVim#layers#lsp#check_filetype('java') \ || SpaceVim#layers#lsp#check_server('jdtls') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) endif endfunction function! s:java_mappings() abort endfunction function! s:go_to_def() abort exe 'normal! gd' endfunction function! s:execCMD(cmd) abort call javaunit#util#ExecCMD(a:cmd) endfunction function! SpaceVim#layers#lang#java#set_variable(var) abort let s:format_on_save = get(a:var, \ 'format_on_save', \ s:format_on_save) let s:java_file_head = get(a:var, \ 'java_file_head', \ s:java_file_head) let s:java_interpreter = get(a:var, \ 'java_interpreter', \ s:java_interpreter \ ) let s:java_formatter_jar = get(a:var, \ 'java_formatter_jar', \ s:java_formatter_jar) let s:enabled_linters = get(a:var, 'enabled_linters', s:enabled_linters) endfunction " vim:set et sw=2 cc=80: function! SpaceVim#layers#lang#java#health() abort call SpaceVim#layers#lang#java#plugins() call SpaceVim#layers#lang#java#config() return 1 endfunction function! SpaceVim#layers#lang#java#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/javascript.vim ================================================ "============================================================================= " javascript.vim --- SpaceVim lang#javascript layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#javascript, layers-lang-javascript " @parentsection layers " This layer is for JavaScript development, includes syntax lint, code " completion etc. To enable this layer: " > " [[layers]] " name = "lang#javascript" " < " The code linter is eslint, install eslint via: " > " npm install -g eslint-cli " < " @subsection layer option " " 1. auto_fix: If this option is true, --fix will be added to neomake eslint " maker. " > " [[layers]] " name = "lang#javascript" " auto_fix = true " < " @subsection Key bindings " > " Key Function " ----------------------------- " SPC l r run current file " SPC b f format current buffer " < " " This layer also provides REPL support for javascript, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " If the lsp layer is enabled for javascript, the following key " bindings can be used: " > " key binding Description " g D jump to type definition " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < " let s:format_on_save = 0 function! SpaceVim#layers#lang#javascript#plugins() abort let plugins = [ \ ['Galooshi/vim-import-js', { \ 'on_ft': 'javascript', 'build' : 'npm install -g import-js' }], \ ['heavenshell/vim-jsdoc', { 'on_cmd': 'JsDoc' }], \ ['maksimr/vim-jsbeautify', { 'on_ft': 'javascript' }], \ ['mmalecki/vim-node.js', { 'on_ft': 'javascript' }], \ ['moll/vim-node', { 'on_ft': 'javascript' }], \ ['neoclide/vim-jsx-improve', { 'on_ft': 'javascript' }], \ ['othree/es.next.syntax.vim', { 'on_ft': 'javascript' }], \ ['othree/javascript-libraries-syntax.vim', { \ 'on_ft': ['javascript', 'coffee', 'ls', 'typescript'] }], \ ] if s:enable_flow_syntax call add(plugins, ['flowtype/vim-flow', { 'on_ft': 'javascript' }]) let g:flow#enable = 0 else call add(plugins, ['othree/yajs.vim', { 'on_ft': 'javascript' }]) endif if !SpaceVim#layers#lsp#check_filetype('javascript') call add(plugins, ['ternjs/tern_for_vim', { \ 'on_ft': 'javascript', 'build' : 'npm install' }]) call add(plugins, ['carlitux/deoplete-ternjs', { 'on_ft': [ \ 'javascript'], 'if': has('nvim') }]) endif return plugins endfunction let s:auto_fix = 0 let s:enable_flow_syntax = 0 function! SpaceVim#layers#lang#javascript#set_variable(var) abort let s:auto_fix = get(a:var, 'auto_fix', 0) let s:enable_flow_syntax = get(a:var, 'enable_flow_syntax', 0) let s:format_on_save = get(a:var, \ 'format_on_save', \ s:format_on_save) endfunction function! SpaceVim#layers#lang#javascript#config() abort let g:javascript_plugin_jsdoc = 1 let g:javascript_plugin_flow = 1 call add(g:spacevim_project_rooter_patterns, 'package.json') call SpaceVim#plugins#runner#reg_runner('javascript', { \ 'exe' : 'node', \ 'usestdin' : 1, \ 'opt': ['-'], \ }) call SpaceVim#mapping#space#regesit_lang_mappings('javascript', \ function('s:language_mappings')) if SpaceVim#layers#lsp#check_filetype('javascript') call SpaceVim#mapping#gd#add('javascript', \ function('SpaceVim#lsp#go_to_def')) else call SpaceVim#mapping#gd#add('javascript', function('s:tern_go_to_def')) endif let g:neomake_javascript_enabled_makers = ['eslint'] let g:neomake_javascript_eslint_maker = { \ 'args': ['--format=compact'], \ 'errorformat': '%E%f: line %l\, col %c\, Error - %m,' . \ '%W%f: line %l\, col %c\, Warning - %m,%-G,%-G%*\d problems%#', \ 'cwd': '%:p:h', \ 'output_stream': 'stdout', \ } if s:auto_fix " Use the fix option of eslint let g:neomake_javascript_eslint_args = ['-f', 'compact', '--fix'] endif " Only use eslint augroup SpaceVim_lang_javascript autocmd! autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS autocmd FileType javascript set comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// if s:auto_fix autocmd User NeomakeFinished call checktime_if_javascript() autocmd FocusGained * call checktime_if_javascript() endif augroup END " just add a note here, when using `node -`, the Buffered stdout will not " be flushed by sender. " Use node -i will show the output of repl command. call SpaceVim#plugins#repl#reg('javascript', ['node', '-i']) " Format on save if s:format_on_save call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'javascript', \ 'enable' : 1, \ }) endif endfunction function! s:language_mappings() abort nnoremap :ImportJSWord nnoremap ji :ImportJSWord nnoremap jf :ImportJSFix nnoremap jg :ImportJSGoto inoremap :ImportJSWorda inoremap i :ImportJSWorda inoremap f :ImportJSFixa inoremap g :ImportJSGotoa " Allow prompt for interactive input. let g:jsdoc_allow_input_prompt = 1 " Prompt for a function description let g:jsdoc_input_description = 1 " Set value to 1 to turn on detecting underscore starting functions as private convention let g:jsdoc_underscore_private = 1 " Enable to use ECMAScript6's Shorthand function, Arrow function. let g:jsdoc_enable_es6 = 1 if SpaceVim#layers#lsp#check_filetype('javascript') \ || SpaceVim#layers#lsp#check_server('tssserver') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) else call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], 'TernDoc', \ 'show document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], 'TernRename', \ 'rename symbol', 1) endif let g:_spacevim_mappings_space.l.g = {'name' : '+Generate'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'g', 'd'], 'JsDoc', \ 'generate JSDoc', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'r'], \ 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("javascript")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:tern_go_to_def() abort if exists(':TernDef') TernDef endif endfunction function! s:checktime_if_javascript() abort if (&filetype =~# '^javascript') checktime endif endfunction " vi: et sw=2 cc=80 function! SpaceVim#layers#lang#javascript#health() abort call SpaceVim#layers#lang#javascript#plugins() call SpaceVim#layers#lang#javascript#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/jr.vim ================================================ "============================================================================= " jr.vim --- lang#jr layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#jr, layers-lang-jr " @parentsection layers " This layer adds syntax highlighting for the JR Concurrent Programming Language. " JR is the implementation of the SR language for Java. " It is disabled by default, to enable this layer, add following snippet to your " SpaceVim configuration file. " > " [[layers]] " name = 'lang#jr' " < " function! SpaceVim#layers#lang#jr#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-jr', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#jr#config() abort endfunction function! SpaceVim#layers#lang#jr#health() abort call SpaceVim#layers#lang#jr#plugins() call SpaceVim#layers#lang#jr#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/json.vim ================================================ "============================================================================= " json.vim --- lang#json layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#json, layers-lang-json " @parentsection layers " This layer provides syntax highlighting for json file. To enable this layer: " > " [[layers]] " name = "lang#json" " < " " @subsection Options " " 1. conceal: Set the valuable for |g:vim_json_syntax_conceal| " " 2. concealcursor: Set the valuable for |g:vim_json_syntax_concealcursor| " " > " [[layers]] " name = 'lang#json' " conceal = false " concealcursor = '' " < " 3. enable_json5: Enable/Disable json5 support. Enabled by default. if exists('s:conceal') " because this script will be loaded twice. This is the feature of vim, " when call an autoload func, vim will try to load the script again finish else let s:conceal = 0 let s:concealcursor = '' let s:enable_json5 = 1 endif function! SpaceVim#layers#lang#json#plugins() abort let plugins = [] call add(plugins, ['elzr/vim-json', { 'merged' : 0}]) if s:enable_json5 call add(plugins, ['gutenye/json5.vim', { 'merged' : 0}]) endif return plugins endfunction function! SpaceVim#layers#lang#json#config() abort let g:vim_json_syntax_conceal = s:conceal let g:vim_json_syntax_concealcursor = s:concealcursor endfunction function! SpaceVim#layers#lang#json#set_variable(var) abort let s:conceal = get(a:var, 'conceal', 0) let s:concealcursor = get(a:var, 'concealcursor', 0) let s:enable_json5 = get(a:var, 'enable_json5', 1) endfunction function! SpaceVim#layers#lang#json#health() abort call SpaceVim#layers#lang#json#plugins() call SpaceVim#layers#lang#json#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/jsonnet.vim ================================================ "============================================================================= " jsonnet.vim --- jsonnet support for vim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#jsonnet, layers-lang-jsonnet " @parentsection layers " This layer adds syntax highlighting for the jsonnet Language. " It is disabled by default, to enable this layer, add following snippet to your " SpaceVim configuration file. " > " [[layers]] " name = 'lang#jsonnet' " < " function! SpaceVim#layers#lang#jsonnet#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-jsonnet', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#jsonnet#health() abort call SpaceVim#layers#lang#jsonnet#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/julia.vim ================================================ "============================================================================= " julia.vim --- SpaceVim lang#julia layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#julia, layers-lang-julia " @parentsection layers " This layer is for julia development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#julia' " < " " @subsection Key bindings " " This layer brings following key bindings to julia file: " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " This layer also provides REPL support for julia, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " To format julia code, you need to install `JuliaFormatter`, and the key " binding is `SPC b f` " " If the lsp layer is enabled for julia, the following key bindings can " be used: " > " key binding Description " g D jump to type definition " g d jump to definition " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < function! SpaceVim#layers#lang#julia#plugins() abort let plugins = [] call add(plugins, ['JuliaEditorSupport/julia-vim' , {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#julia#config() abort " registe code runner commmand for julia call SpaceVim#plugins#runner#reg_runner('julia', 'julia %s') call SpaceVim#mapping#space#regesit_lang_mappings('julia', function('s:language_specified_mappings')) " registe REPL command and key bindings for julia call SpaceVim#plugins#repl#reg('julia', 'julia') let g:latex_to_unicode_auto = 1 let g:latex_to_unicode_tab = 1 " runtime macros/matchit.vim " julia let g:default_julia_version = '0.7' " format code " if you want to use mirror: " let $JULIA_PKG_SERVER = 'https://mirrors.tuna.tsinghua.edu.cn/julia' let g:neoformat_enabled_julia = ['juliafmt'] let g:neoformat_julia_juliafmt = { \ 'exe': 'julia', \ 'args': ['-e', '"using JuliaFormatter; print(format_text(read(stdin, String)))"'], \ 'stdin': 1, \ } endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("julia")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 't'], \ 'call LaTeXtoUnicode#Toggle()', 'toggle latex to unicode', 1) if SpaceVim#layers#lsp#check_filetype('julia') \ || SpaceVim#layers#lsp#check_server('julials') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() nnoremap gd :call SpaceVim#lsp#go_to_def() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif endfunction function! SpaceVim#layers#lang#julia#health() abort call SpaceVim#layers#lang#julia#plugins() call SpaceVim#layers#lang#julia#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/kotlin.vim ================================================ "============================================================================= " kotlin.vim --- SpaceVim lang#kotlin layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#kotlin, layers-lang-kotlin " @parentsection layers " This layer is for kotlin development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#kotlin' " < " If you want to use lsp layer for kotlin, you need to install the " kotlin_language_server. " " https://github.com/fwcd/kotlin-language-server " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for kotlin, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " If the lsp layer is enabled for kotlin, the following key bindings can " be used: " > " key binding Description " g D jump to type definition " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < " " Load SpaceVim APIs: let s:SYS = SpaceVim#api#import('system') " Default Options: if exists('s:enable_native_support') finish else let s:enable_native_support = 0 endif function! SpaceVim#layers#lang#kotlin#plugins() abort let plugins = [] call add(plugins, ['udalov/kotlin-vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#kotlin#config() abort if g:spacevim_lint_engine ==# 'neomake' " neomake support: let g:neomake_kotlin_kotlinc_maker = { \ 'args': ['-cp', s:classpath(), '-d', s:outputdir()], \ 'errorformat': \ '%E%f:%l:%c: error: %m,' . \ '%W%f:%l:%c: warning: %m,' . \ '%Eerror: %m,' . \ '%Wwarning: %m,' . \ '%Iinfo: %m,' \ } let g:neomake_kotlin_ktlint_maker = { \ 'errorformat': '%E%f:%l:%c: %m', \ } let g:neomake_kotlin_enabled_makers = ['ktlint'] let g:neomake_kotlin_kotlinc_remove_invalid_entries = 1 let g:neomake_kotlin_ktlint_remove_invalid_entries = 1 endif call SpaceVim#mapping#space#regesit_lang_mappings('kotlin', function('s:language_specified_mappings')) if s:enable_native_support let runner = { \ 'exe' : 'kotlinc-native'. (s:SYS.isWindows ? '.CMD' : ''), \ 'targetopt' : '-o', \ 'opt' : [], \ 'usestdin' : 0, \ } call SpaceVim#plugins#runner#reg_runner('kotlin', [runner, '#TEMP#']) else let runner = { \ 'exe' : 'kotlinc-jvm'. (s:SYS.isWindows ? '.CMD' : ''), \ 'opt' : ['-script'], \ 'usestdin' : 0, \ } call SpaceVim#plugins#runner#reg_runner('kotlin', runner) endif call SpaceVim#plugins#repl#reg('kotlin', ['kotlinc-jvm'. (s:SYS.isWindows ? '.CMD' : '')]) endfunction function! s:language_specified_mappings() abort if SpaceVim#layers#lsp#check_filetype('kotlin') \ || SpaceVim#layers#lsp#check_server('kotlin_language_server') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("kotlin")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction func! s:classpath() abort endf func! s:outputdir() abort endf function! SpaceVim#layers#lang#kotlin#set_variable(var) abort let s:enable_native_support = get(a:var, \ 'enable-native-support', \ 'nil') endfunction function! SpaceVim#layers#lang#kotlin#health() abort call SpaceVim#layers#lang#kotlin#plugins() call SpaceVim#layers#lang#kotlin#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/lasso.vim ================================================ "============================================================================= " lasso.vim --- lasso language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#lasso, layers-lang-lasso " @parentsection layers " This layer provides syntax highlighting for lasso. To enable this " layer: " > " [[layers]] " name = "lang#lasso" " < function! SpaceVim#layers#lang#lasso#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-lasso', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#lasso#health() abort call SpaceVim#layers#lang#lasso#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/latex.vim ================================================ "============================================================================= " latex.vim --- lang#latex layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#latex, layers-lang-latex " @parentsection layers " This layer is for latex development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#latex' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l i vimtex-info " normal SPC l I vimtex-info-full " normal SPC l t vimtex-toc-open " normal SPC l T vimtex-toc-toggle " normal SPC l y vimtex-labels-open " normal SPC l Y vimtex-labels-toggle " normal SPC l v vimtex-view " normal SPC l r vimtex-reverse-search " normal SPC l l vimtex-compile " normal SPC l L vimtex-compile-selected " normal SPC l k vimtex-stop " normal SPC l K vimtex-stop-all " normal SPC l e vimtex-errors " normal SPC l o vimtex-compile-output " normal SPC l g vimtex-status " normal SPC l G vimtex-status-all " normal SPC l c vimtex-clean " normal SPC l C vimtex-clean-full " normal SPC l m vimtex-imaps-list " normal SPC l x vimtex-reload " normal SPC l X vimtex-reload-state " normal SPC l s vimtex-toggle-main " < function! SpaceVim#layers#lang#latex#plugins() abort let plugins = [] call add(plugins, ['lervag/vimtex', {'merged' : 0, 'on_ft': ['bib', 'tex']}]) return plugins endfunction function! SpaceVim#layers#lang#latex#config() abort let g:tex_flavor = 'latex' call SpaceVim#mapping#space#regesit_lang_mappings('tex', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','i'], \ '(vimtex-info)', \ 'vimtex-info', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','I'], \ '(vimtex-info-full)', \ 'vimtex-info-full', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','t'], \ '(vimtex-toc-open)', \ 'vimtex-toc-open', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','T'], \ '(vimtex-toc-toggle)', \ 'vimtex-toc-toggle', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','y'], \ '(vimtex-labels-open)', \ 'vimtex-labels-open', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','Y'], \ '(vimtex-labels-toggle)', \ 'vimtex-labels-toggle', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','v'], \ '(vimtex-view)', \ 'vimtex-view', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ '(vimtex-reverse-search)', \ 'vimtex-reverse-search', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','l'], \ '(vimtex-compile)', \ 'vimtex-compile', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','L'], \ '(vimtex-compile-selected)', \ 'vimtex-compile-selected', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','k'], \ '(vimtex-stop)', \ 'vimtex-stop', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','K'], \ '(vimtex-stop-all)', \ 'vimtex-stop-all', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','e'], \ '(vimtex-errors)', \ 'vimtex-errors', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','o'], \ '(vimtex-compile-output)', \ 'vimtex-compile-output', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','g'], \ '(vimtex-status)', \ 'vimtex-status', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','G'], \ '(vimtex-status-all)', \ 'vimtex-status-all', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','c'], \ '(vimtex-clean)', \ 'vimtex-clean', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','C'], \ '(vimtex-clean-full)', \ 'vimtex-clean-full', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','m'], \ '(vimtex-imaps-list)', \ 'vimtex-imaps-list', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','x'], \ '(vimtex-reload)', \ 'vimtex-reload', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','X'], \ '(vimtex-reload-state)', \ 'vimtex-reload-state', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','s'], \ '(vimtex-toggle-main)', \ 'vimtex-toggle-main', 0) endfunction function! SpaceVim#layers#lang#latex#health() abort call SpaceVim#layers#lang#latex#plugins() call SpaceVim#layers#lang#latex#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/liquid.vim ================================================ "============================================================================= " liquid.vim --- Liquid template language support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#liquid, layers-lang-liquid " @parentsection layers " This layer provides syntax highlighting for liquid. To enable this " layer: " > " [[layers]] " name = "lang#liquid" " < function! SpaceVim#layers#lang#liquid#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-liquid', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#liquid#health() abort call SpaceVim#layers#lang#liquid#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/lisp.vim ================================================ "============================================================================= " lisp.vim --- SpaceVim lang#lisp layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#lisp, layers-lang-lisp " @parentsection layers " This layer is for Common Lisp development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#lisp' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for lisp, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#lisp#plugins() abort let plugins = [] call add(plugins,['vlime/vlime', {'merged' : 0 , 'rtp': 'vim'}]) return plugins endfunction function! SpaceVim#layers#lang#lisp#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('lisp', function('s:lisp')) augroup LocalVlimeKeys autocmd! autocmd FileType vlime_sldb call s:vlime_sldb() autocmd FileType vlime_repl call s:vlime_repl() autocmd FileType vlime_inspector call s:vlime_inspector() autocmd FileType vlime_xref call s:vlime_xref() autocmd FileType vlime_notes call s:vlime_notes() autocmd FileType vlime_threads call s:vlime_threads() autocmd FileType vlime_server call s:vlime_server() autocmd FileType vlime_preview call s:vlime_preview() autocmd FileType vlime_arglist call s:vlime_arglist() autocmd FileType vlime_input call s:vlime_input() augroup end endfunction fu! s:lisp() abort let g:_spacevim_mappings_space.l.c = {'name' : '+Connection Management'} call SpaceVim#mapping#space#langSPC('nmap', ['l','c', 'c'], 'call vlime#plugin#ConnectREPL()', 'Connect to Vlime server', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c', 's'], 'call vlime#plugin#SelectCurConnection()', 'Switch Vlime connections', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c', 'd'], 'call vlime#plugin#CloseCurConnection()', 'Disconnect', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c', 'R'], 'call vlime#plugin#RenameCurConnection()', 'Rename the current connection', 1) let g:_spacevim_mappings_space.l.r = {'name' : '+Server Management'} call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'r'], 'call vlime#server#New(v:true, get(g:, "vlime_cl_use_terminal"))', 'Run a new Vlime server and connect to it', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'R'], 'call vlime#plugin#RenameSelectedServer()', 'Rename a server', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 's'], 'call vlime#plugin#StopCurrentServer()', 'Stop the current Vlime server', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'S'], 'call vlime#plugin#StopSelectedServer()', 'Stop a server', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'R'], 'call vlime#plugin#RenameSelectedServer()', 'Rename a server', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 't'], 'call vlime#plugin#RestartCurrentServer()', 'Select and Stop a server', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'v'], 'call vlime#plugin#ShowSelectedServer()', 'View the console output of a server', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r', 'c'], 'call vlime#ui#repl#ClearREPLBuffer()', 'Clear the REPL buffer', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Sending Stuff To The REPL'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s','s'], 'call vlime#plugin#SendToREPL(vlime#ui#CurExprOrAtom())', \ 'Send s-expr or atom under the cursor to REPL', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s','e'], 'call vlime#plugin#SendToREPL(vlime#ui#CurExpr())', \ 'Send s-expr under the cursor to REPL', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s','t'], 'vlime#plugin#SendToREPL(vlime#ui#CurTopExpr())', \ 'Send to-level s-expr under the cursor to REPL', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s','a'], 'call vlime#plugin#SendToREPL(vlime#ui#CurAtom())', \ 'Send atom under the cursor to REPL', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s','i'], 'call vlime#plugin#SendToREPL()', \ 'Open vlime input buffer for REPL', 1) call SpaceVim#mapping#space#langSPC('vmap', ['l','s','v'], 'call vlime#plugin#SendToREPL(vlime#ui#CurSelection())', \ 'Send the current selection to the REPL', 1) let g:_spacevim_mappings_space.l.m = {'name' : '+Expanding Macros'} call SpaceVim#mapping#space#langSPC('nmap', ['l','m','m'], 'call vlime#plugin#ExpandMacro(vlime#ui#CurExpr(), "expand")', \ 'Expand the macro under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','m','l'], 'call vlime#plugin#ExpandMacro(vlime#ui#CurExpr(), "one")', \ 'Expand the macro under the cursor once', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','m','a'], 'call vlime#plugin#ExpandMacro(vlime#ui#CurExpr(), "all")', \ 'Expand the macro under the cursor and all nested macros', 1) let g:_spacevim_mappings_space.l.o = {'name' : '+Compiling'} call SpaceVim#mapping#space#langSPC('nmap', ['l','o','e'], 'call vlime#plugin#Compile(vlime#ui#CurExpr(v:true))', \ 'Compile the form under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','o','t'], 'call vlime#plugin#Compile(vlime#ui#CurTopExpr(v:true))', \ 'Compile the top-level form under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','o','f'], "call vlime#plugin#CompileFile(expand('%:p'))", \ 'Compile the current file', 1) call SpaceVim#mapping#space#langSPC('vmap', ['l','o','v'], 'call vlime#plugin#Compile(vlime#ui#CurSelection(v:true))', \ 'Compile the current selection', 1) let g:_spacevim_mappings_space.l.x = {'name' : '+Cross references'} call SpaceVim#mapping#space#langSPC('nmap', ['l','x','c'], "call vlime#plugin#XRefSymbol('CALLS', vlime#ui#CurAtom())", \ 'Show callers of the function under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','x','C'], "call vlime#plugin#XRefSymbol('CALLS-WHO', vlime#ui#CurAtom())", \ 'Show callees of the function under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','x','r'], 'call vlime#plugins#XRefSymbol("REFERENCES", vlime#ui#CurAtom())', \ 'Show references of the variable under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','x','b'], 'call vlime#plugins#XRefSymbol("BINDS", vlime#ui#CurAtom())', \ 'Show bindings of the variable under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','x','s'], 'call vlime#plugin#XRefSymbol("SETS", vlime#ui#CurAtom())', \ 'Show who sets the value of the variable under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','x','e'], 'call vlime#plugin#XRefSymbol("MACROEXPANDS", vlime#ui#CurAtom())', \ 'Show who expands the macro under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','x','m'], 'call vlime#plugin#XRefSymbol("SPECIALIZES", vlime#ui#CurAtom())', \ 'Show specialized methods for the class under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','x','d'], 'call vlime#plugin#FindDefinition(vlime#ui#CurAtom())', \ 'Show the definition for the name under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','x','i'], 'call vlime#plugin#XRefSymbolWrapper()', \ 'Interactively prompt for the symbol to search', 1) let g:_spacevim_mappings_space.l.d = {'name' : '+Describing things'} call SpaceVim#mapping#space#langSPC('nmap', ['l','d','o'], 'call vlime#plugin#DescribeSymbol(vlime#ui#CurOperator())', \ 'Describe the "operator"', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','d','a'], 'call vlime#plugin#DescribeSymbol(vlime#ui#CurAtom())', \ 'Describe the atom under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','d','i'], 'call vlime#plugin#DescribeSymbol()', \ 'Prompt for the symbol to describe', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','d','s'], 'call vlime#plugin#AproposList()', \ 'apropos search', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','d','r'], 'call vlime#plugin#ShowOperatorArgList(vlime#ui#CurOperator())', \ 'Show the arglist for the s-expression under the cursor', 1) let g:_spacevim_mappings_space.l.d.d = {'name' : '+Documentation'} call SpaceVim#mapping#space#langSPC('nmap', ['l','d','d', 'o'], 'call vlime#plugin#DocumentationSymbol(vlime#ui#CurOperator())', \ 'Show the documentation for the "operator"', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','d','d', 'a'], 'call vlime#plugin#DocumentationSymbol(vlime#ui#CurAtom())', \ 'Show the documentation for atom', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','d','d', 'i'], 'call vlime#plugin#DocumentationSymbol()', \ 'Show the documentation for the symbol entered in an input buffer', 1) let g:_spacevim_mappings_space.l.u = {'name' : '+Undefining'} call SpaceVim#mapping#space#langSPC('nmap', ['l','u','f'], 'call vlime#plugin#UndefineFunction(vlime#ui#CurAtom())', \ 'Undefine the function under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','u','s'], 'call vlime#plugin#UninternSymbol(vlime#ui#CurAtom())', \ 'Unintern the symbol under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','u','i'], 'call vlime#plugin#UndefineUninternWrapper()', \ 'Interactively prompt for the function/symbol to undefine/unintern', 1) let g:_spacevim_mappings_space.l.I = {'name' : '+Inspection'} call SpaceVim#mapping#space#langSPC('nmap', ['l','I','i'], 'call vlime#plugin#Inspect(vlime#ui#CurExprOrAtom())', \ 'evaluate the s-expr or atom under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','I','e'], 'call vlime#plugin#Inspect(vlime#ui#CurExpr())', \ 'evaluate and inspect the s-expr under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','I','t'], 'call vlime#plugin#Inspect(vlime#ui#CurTopExpr())', \ 'evaluate and inspect the top-level s-expr under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','I','a'], 'call vlime#plugin#Inspect(vlime#ui#CurAtom())', \ 'Evaluate and inspect the atom under the cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','I','n'], 'call vlime#plugin#Inspect()', \ 'Prompt for the expression to inspect', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','I','v'], 'call vlime#plugin#Inspect(vlime#ui#CurSelection())', \ 'Evaluate and inspect current selection', 1) endf fu! s:vlime_sldb() abort endf fu! s:vlime_repl() abort endf fu! s:vlime_inspector() abort endf fu! s:vlime_xref() abort endf fu! s:vlime_notes() abort endf fu! s:vlime_threads() abort endf fu! s:vlime_server() abort endf fu! s:vlime_preview() abort endf fu! s:vlime_arglist() abort endf fu! s:vlime_input() abort endf function! SpaceVim#layers#lang#lisp#health() abort call SpaceVim#layers#lang#lisp#plugins() call SpaceVim#layers#lang#lisp#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/livescript.vim ================================================ "============================================================================= " livescript.vim --- LiveScript support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#livescript, layers-lang-livescript " @parentsection layers " This layer is for livescript development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#livescript' " < " " @subsection Key bindings " > " Mode Key Function " ------------------------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for livescript, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#livescript#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-livescript', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#livescript#config() abort call SpaceVim#plugins#repl#reg('livescript', 'lsc') call SpaceVim#plugins#runner#reg_runner('livescript', 'lsc %s') call SpaceVim#mapping#space#regesit_lang_mappings('livescript', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("livescript")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','e'], 'call call(' \ . string(function('s:eval')) . ', [])', \ 'eval code::String', 1) " checker layer configuration if SpaceVim#layers#isLoaded('checkers') && g:spacevim_lint_engine ==# 'neomake' let g:neomake_livescript_enabled_makers = ['lsc'] " Failed at: test.ls " { Error: Parse error on line 1: Unexpected 'NEWLINE' " at test.ls let g:neomake_livescript_lsc_maker = { \ 'args': ['-c',], \ 'errorformat': '%EFailed at: %f,%C{\ Error:\ Parse\ error\ on\ line\ %l:\ %m', \ 'cwd': '%:p:h', \ } " Failed at: test.ls " SyntaxError: missing `"` on line 5 " at test.ls let g:neomake_livescript_lsc_maker.errorformat .= ',%EFailed at: %f,%CSyntaxError:\ %m\ on\ line\ %l' let g:neomake_livescript_lsc_remove_invalid_entries = 1 endif endfunction function! s:eval() abort let input = input('>>') let cmd = ['lsc', '-e', input, expand('%:p')] " @todo fix livescript eval function endfunction function! SpaceVim#layers#lang#livescript#health() abort call SpaceVim#layers#lang#livescript#plugins() call SpaceVim#layers#lang#livescript#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/lua.vim ================================================ "============================================================================= " lua.vim --- SpaceVim lang#lua layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#lua, layers-lang-lua " @parentsection layers " This layer includes utilities and language-specific mappings for lua development. " > " [[layers]] " name = 'lang#lua' " < " " @subsection Layer options " " 1. lua_file_head: the default file head for lua source code. " > " [[layers]] " name = "lang#lua" " ruby_file_head = [ " '--!/usr/bin/lua', " '' " ] " < " 2. repl_command: the REPL command for lua " > " [[layers]] " name = 'lang#lua' " repl_command = '~/download/bin/lua' " < " 3. format_on_save: enable/disable code formation when save lua file. This " options is disabled by default, to enable it: " > " [[layers]] " name = 'lang#lua' " format_on_save = true " < " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current script " normal SPC l b compile current file " < " " This layer also provides REPL support for lua, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " if exists('s:lua_repl_command') finish endif let s:lua_repl_command = '' let s:lua_foldmethod = 'manual' let s:lua_file_head = [ \ '--!/usr/bin/lua', \ '' \ ] let s:format_on_save = 0 function! SpaceVim#layers#lang#lua#plugins() abort let plugins = [] " Improved Lua 5.3 syntax and indentation support for Vim call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-lua', {'on_ft' : 'lua'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neodev.nvim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#lua#config() abort augroup spacevim_lang_lua autocmd! autocmd FileType lua set comments=f:-- autocmd FileType lua let &l:foldmethod=s:lua_foldmethod augroup END call SpaceVim#mapping#space#regesit_lang_mappings('lua', function('s:language_specified_mappings')) let luaexe = filter(['lua53', 'lua52', 'lua51'], 'executable(v:val)') let exe_lua = empty(luaexe) ? 'lua' : luaexe[0] call SpaceVim#plugins#runner#reg_runner('lua', { \ 'exe' : exe_lua, \ 'opt' : ['-'], \ 'usestdin' : 1, \ }) let g:neomake_lua_enabled_makers = ['luac'] let luacexe = filter(['luac53', 'luac52', 'luac51'], 'executable(v:val)') let exe_luac = empty(luacexe) ? 'luac' : luacexe[0] let g:neomake_lua_luac_maker = { \ 'exe': exe_luac, \ 'args': ['-p'], \ 'errorformat': '%*\f: %#%f:%l: %m', \ } if !empty(s:lua_repl_command) let lua_repl = s:lua_repl_command elseif executable('luap') let lua_repl = 'luap' elseif !empty(luaexe) let lua_repl = luaexe + ['-i'] else let lua_repl = ['lua', '-i'] endif call SpaceVim#plugins#repl#reg('lua', lua_repl) call SpaceVim#layers#edit#add_ft_head_tamplate('lua', s:lua_file_head) " Format on save if s:format_on_save call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'lua', \ 'enable' : 1, \ }) endif endfunction function! SpaceVim#layers#lang#lua#set_variable(opt) abort let s:lua_repl_command = get(a:opt, 'repl_command', '') let s:lua_foldmethod = get(a:opt, 'foldmethod', 'manual') let s:format_on_save = get(a:opt, 'format_on_save', s:format_on_save) endfunction " Add language specific mappings function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','b'], 'LuaCompile', 'lua compile', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("lua")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) if SpaceVim#layers#lsp#check_filetype('lua') \ || SpaceVim#layers#lsp#check_server('lua_ls') \ || SpaceVim#layers#lsp#check_server('sumneko_lua') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif endfunction function! SpaceVim#layers#lang#lua#health() abort call SpaceVim#layers#lang#lua#plugins() call SpaceVim#layers#lang#lua#config() return 1 endfunction function! SpaceVim#layers#lang#lua#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/markdown.vim ================================================ "============================================================================= " markdown.vim --- lang#markdown layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#markdown, layers-lang-markdown " @parentsection layers " This layer adds markdown support to SpaceVim. It is disabled by default, " to enable this layer, add following snippet to your SpaceVim configuration " file. " > " [[layers]] " name = 'lang#markdown' " < " @subsection Layer options " " The following layer options are supported in this layer: " " 1. `enabled_formatters`: Set the enabled formatters, by default it is " `['remark']`. To use `prettier`, you need to install `prettier` via: " > " npm install --global prettier " < " 2. `enableWcwidth`: Enable/disabled wcwidth option, it is disabled by " default. " 3. `listItemChar`: Set the default list item char, it is `-` by default. " 4. `listItemIndent`: Set the default indent of list item. It is `1` by " default. " Here is an example for loading `lang#markdown` layer: " > " [[layers]] " name = 'lang#markdown' " enableWcwidth = 1 " listItemIndent = 1 " enabled_formatters = ['prettier'] " < " @subsection key bindings " " This layer brings following key bindings to markdown file: " > " Key binding Description " Ctrl-b insert code block " SPC l r run code in code block " < if exists('s:md_listItemIndent') finish endif let s:SYS = SpaceVim#api#import('system') let s:md_listItemIndent = 1 let s:md_enableWcwidth = 0 let s:md_listItemChar = '-' let g:vmt_list_indent_text = ' ' let s:md_enabled_formatters = ['remark'] function! SpaceVim#layers#lang#markdown#set_variable(var) abort let s:md_listItemIndent = get(a:var, 'listItemIndent', s:md_listItemIndent) let s:md_enableWcwidth = get(a:var, 'enableWcwidth', s:md_enableWcwidth) let s:md_listItemChar = get(a:var, 'listItemChar', s:md_listItemChar) " old option name is enabled_formater, just keep backword compatibility let s:md_enabled_formatters = get(a:var, 'enabled_formatters', get(a:var, 'enabled_formater', s:md_enabled_formatters)) endfunction function! SpaceVim#layers#lang#markdown#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-markdown',{ 'on_ft' : 'markdown'}]) call add(plugins, ['joker1007/vim-markdown-quote-syntax',{ 'on_ft' : 'markdown'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-markdown-toc', { \ 'merged' : 0, \ 'on_ft' : 'markdown', \ 'on_cmd' : \ ['GenTocGFM', 'GenTocGitLab', 'GenTocMarked', 'GenTocModeline', 'GenTocRedcarpet']}]) call add(plugins, ['iamcco/mathjax-support-for-mkdp',{ 'on_ft' : 'markdown'}]) call add(plugins, ['lvht/tagbar-markdown',{'merged' : 0}]) " check node package managers to ensure building of 2 plugins below if executable('yarn') let s:node_pkgm = 'yarn' elseif executable('npm') let s:node_pkgm = 'npm' else let s:node_pkgm = '' call SpaceVim#logger#error('npm or yarn is required to build iamcco/markdown-preview and neoclide/vim-node-rpc') endif call add(plugins, ['iamcco/markdown-preview.nvim', \ { 'on_cmd' : 'MarkdownPreview', \ 'depends': 'open-browser.vim', \ 'build' : 'cd app & ' . s:node_pkgm . ' install --force' }]) if !has('nvim') call add(plugins, ['neoclide/vim-node-rpc', {'merged': 0, 'build' : s:node_pkgm . ' install'}]) endif return plugins endfunction function! SpaceVim#layers#lang#markdown#config() abort " do not highlight markdown error let g:markdown_hi_error = 0 " the fenced languages based on loaded language layer let g:markdown_fenced_languages = [] let g:markdown_nested_languages = map(filter(SpaceVim#layers#get(), \ 'v:val =~# "^lang#" && v:val !=# "lang#markdown" && v:val !=# "lang#ipynb" && v:val !=# "lang#vim"'), 'v:val[5:]') if index(g:markdown_nested_languages, 'latex') !=# -1 call remove(g:markdown_nested_languages, index(g:markdown_nested_languages, 'latex')) call add(g:markdown_nested_languages, 'tex') endif let g:vmt_list_item_char = s:md_listItemChar let g:markdown_minlines = 100 let g:markdown_syntax_conceal = 0 let g:markdown_enable_mappings = 0 let g:markdown_enable_insert_mode_leader_mappings = 0 let g:markdown_enable_spell_checking = 0 let g:markdown_quote_syntax_filetypes = { \ 'vim' : { \ 'start' : "\\%(vim\\|viml\\)", \}, \} let remarkrc = s:generate_remarkrc() let g:neoformat_enabled_markdown = s:md_enabled_formatters let g:neoformat_markdown_remark = { \ 'exe': 'remark', \ 'args': ['--no-color', '--silent'] + (empty(remarkrc) ? [] : ['-r', remarkrc]), \ 'stdin': 1, \ } " iamcco/markdown-preview.vim {{{ " let g:mkdp_browserfunc = 'openbrowser#open' " }}} call SpaceVim#mapping#space#regesit_lang_mappings('markdown', function('s:mappings')) nnoremap (markdown-insert-link) :call markdown_insert_link(0, 0) xnoremap (markdown-insert-link) : call markdown_insert_link(1, 0) nnoremap (markdown-insert-picture) :call markdown_insert_link(0, 1) xnoremap (markdown-insert-picture) : call markdown_insert_link(1, 1) augroup spacevim_layer_lang_markdown autocmd! autocmd FileType markdown setlocal omnifunc=htmlcomplete#CompleteTags augroup END endfunction function! s:mappings() abort if !exists('g:_spacevim_mappings_space') let g:_spacevim_mappings_space = {} endif let g:_spacevim_mappings_space.l = {'name' : '+Language Specified'} call SpaceVim#mapping#space#langSPC('nmap', ['l','p'], 'MarkdownPreview', 'Real-time markdown preview', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','k'], '(markdown-insert-link)', 'add link url', 0, 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','K'], '(markdown-insert-picture)', 'add link picture', 0, 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'r'], \ 'call call(' \ . string(function('s:run_code_in_block')) \ . ', [])', 'run-code-bl', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'f'], \ 'call call(' \ . string(function('s:format_code_block')) \ . ', [])', 'format-code-block', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c'], 'GenTocGFM', 'create content at cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','C'], 'RemoveToc', 'remove content', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','u'], 'UpdateToc', 'update content', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 't'], \ 'call call(' \ . string(function('s:toggle_todo')) \ . ', [])', 'toggle-checkbox', 1) endfunction function! s:generate_remarkrc() abort let conf = [ \ 'module.exports = {', \ ' settings: {', \ ] " TODO add settings call add(conf, " listItemIndent: '" . s:md_listItemIndent . "',") if s:md_enableWcwidth call add(conf, " stringLength: require('wcwidth'),") endif call add(conf, ' },') call add(conf, ' plugins: [') " TODO add plugins call add(conf, " require('remark-frontmatter'),") call add(conf, ' ]') call add(conf, '};') let f = tempname() . '.js' call writefile(conf, f) return f endfunction function! s:toggle_todo() abort let line = getline('.') if line =~# '\s*-\s\[\s\]' call setline('.', substitute(getline('.'), '- \[ \]', '- [x]', '')) elseif line =~# '\s*-\s\[x\]' call setline('.', substitute(getline('.'), '- \[x\]', '- [ ]', '')) endif endfunction function! s:markdown_insert_link(isVisual, isPicture) abort if !empty(@+) let l:save_register_unnamed = @" let l:save_edge_left = getpos("'<") let l:save_edge_right = getpos("'>") if !a:isVisual execute "normal! viw\" endif let l:paste = (col("'>") == col('$') - 1 ? 'p' : 'P') normal! gvx let @" = '[' . @" . '](' . @+ . ')' if a:isPicture let @" = '!' . @" endif execute 'normal! ' . l:paste let @" = l:save_register_unnamed if a:isVisual let l:save_edge_left[2] += 1 if l:save_edge_left[1] == l:save_edge_right[1] let l:save_edge_right[2] += 1 endif endif call setpos("'<", l:save_edge_left) call setpos("'>", l:save_edge_right) endif endfunction " this function need context_filetype.vim function! s:run_code_in_block() abort let cf = context_filetype#get() if cf.filetype !=# 'markdown' let runner = SpaceVim#plugins#runner#get(cf.filetype) if type(runner) ==# 4 let runner['usestdin'] = 1 let runner['range'] = [cf['range'][0][0], cf['range'][1][0]] call SpaceVim#plugins#runner#open(runner) elseif type(runner) ==# 3 && type(runner[0]) == 4 let runner[0]['usestdin'] = 1 let runner[0]['range'] = [cf['range'][0][0], cf['range'][1][0]] call SpaceVim#plugins#runner#open(runner) endif endif endfunction function! s:format_code_block() abort let cf = context_filetype#get() if cf.filetype !=# 'markdown' let command = printf('%s,%sFormat! %s', cf.range[0][0], cf.range[1][0], cf.filetype) exe command endif endfunction function! SpaceVim#layers#lang#markdown#health() abort call SpaceVim#layers#lang#markdown#plugins() call SpaceVim#layers#lang#markdown#config() return 1 endfunction function! SpaceVim#layers#lang#markdown#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/matlab.vim ================================================ "============================================================================= " matlab.vim --- matlab support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#matlab#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/matlab.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#matlab#health() abort call SpaceVim#layers#lang#matlab#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/moonscript.vim ================================================ "============================================================================= " moonscript.vim --- moonscript support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#moonscript, layers-lang-moonscript " @parentsection layers " This layer is for moonscript development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#moonscript' " < " " @subsection Key bindings " > " Key Function " ----------------------------- " SPC l r Run current moonscript " < " " This layer also provides REPL support for moonscript, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#moonscript#plugins() abort let plugins = [] call add(plugins, ['leafo/moonscript-vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#moonscript#config() abort call SpaceVim#plugins#repl#reg('moon', 'mooni') call SpaceVim#plugins#runner#reg_runner('moon', 'moon %s') call SpaceVim#mapping#space#regesit_lang_mappings('moon', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("moonscript")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#moonscript#health() abort call SpaceVim#layers#lang#moonscript#plugins() call SpaceVim#layers#lang#moonscript#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/nim.vim ================================================ "============================================================================= " nim.vim --- nim language support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#nim, layers-lang-nim " @parentsection layers " This layer is for nim development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#nim' " < " " @subsection Key bindings " > " Mode Key Function " ------------------------------------------------------------- " normal SPC l r run current file " normal SPC l d show symbol info " normal SPC l e rename symbol in file " normal SPC l E rename symbol in project " normal g d go to definition " < " " This layer also provides REPL support for nim, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#nim#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-nim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#nim#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('nim', function('s:language_specified_mappings')) call SpaceVim#mapping#gd#add('nim', function('s:go_to_def')) call SpaceVim#plugins#runner#reg_runner('nim', 'nim c -r --hints:off --verbosity:0 %s') call SpaceVim#plugins#repl#reg('nim', 'nim secret') call SpaceVim#plugins#tasks#reg_provider(function('s:nimble_tesks')) let g:neomake_nim_nim_remove_invalid_entries = 1 endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'NimInfo', 'show symbol info', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call nim#features#usages#run()', 'rename symbol in file', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'E'], \ 'call nim#features#usages#run(1)', 'rename symbol in project', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'compile and run current file', 1) " REPL key bindings {{{ let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("nim")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) " }}} endfunction function! s:go_to_def() abort NimDefinition endfunction function! s:nimble_tesks() abort let detect_task = {} if !empty(glob('*.nimble')) for task_name in ['run', 'build'] call extend(detect_task, { \ task_name : {'command' : 'nimble', 'args' : [task_name], 'isDetected' : 1, 'detectedName' : 'nimble:'} \ }) endfor endif return detect_task endfunction function! SpaceVim#layers#lang#nim#health() abort call SpaceVim#layers#lang#nim#plugins() call SpaceVim#layers#lang#nim#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/nix.vim ================================================ "============================================================================= " nix.vim --- nix language support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Ben Gamari " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#nix, layers-lang-nix " @parentsection layers " @subsection Intro " The lang#nix layer provides syntax highlighting and basic LSP support for " the Nix expression language. function! SpaceVim#layers#lang#nix#plugins() abort let plugins = [] call add(plugins, ['LnL7/vim-nix', {'on_ft' : ['nix']}]) return plugins endfunction function! SpaceVim#layers#lang#nix#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('nix', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort if SpaceVim#layers#lsp#check_filetype('nix') call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'r'], \ 'call SpaceVim#lsp#rename()', 'rename', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 's'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#go_to_def()', 'go-to-definition', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'n'], \ 'call SpaceVim#lsp#diagnostic_goto_next()', 'next-diagnostic', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'p'], \ 'call SpaceVim#lsp#diagnostic_goto_prev()', 'previous-diagnostic', 1) endif endfunction function! SpaceVim#layers#lang#nix#health() abort call SpaceVim#layers#lang#nix#plugins() call SpaceVim#layers#lang#nix#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/ocaml.vim ================================================ "============================================================================= " ocaml.vim --- SpaceVim lang#ocaml layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#ocaml, layers-lang-ocaml " @parentsection layers " OCaml autocompletion provided by merlin. " " Requirements: " > " opam " merlin " < function! SpaceVim#layers#lang#ocaml#plugins() abort let plugins = [] call add(plugins, ['ocaml/merlin', {'on_ft' : 'ocaml', 'rtp' : 'vim/merlin'}]) if g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, ['copy/deoplete-ocaml']) endif return plugins endfunction function! SpaceVim#layers#lang#ocaml#config() abort let g:syntastic_ocaml_checkers = ['merlin'] " https://github.com/ocaml/merlin/blob/master/vim/merlin/doc/merlin.txt#L333-L341 if g:spacevim_autocomplete_method ==# 'neocomplete' if !exists('g:neocomplete#sources#omni#input_patterns') let g:neocomplete#sources#omni#input_patterns = {} endif let g:neocomplete#sources#omni#input_patterns.ocaml = '[^. *\t]\.\w*\|\h\w*|#' endif call SpaceVim#mapping#gd#add('ocaml', function('s:go_to_def')) call SpaceVim#mapping#space#regesit_lang_mappings('ocaml', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort let g:_spacevim_mappings_space.l.m = {'name' : '+Merlin'} call SpaceVim#mapping#space#langSPC('nmap', ['l','m', 'v'], \ 'MerlinVersion', \ 'show Merlin version', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','m', 't'], \ 'MerlinTypeOf', \ 'extract type informations', 1) endfunction function! s:go_to_def() abort :MerlinLocate endfunction function! SpaceVim#layers#lang#ocaml#health() abort call SpaceVim#layers#lang#ocaml#plugins() call SpaceVim#layers#lang#ocaml#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/octave.vim ================================================ "============================================================================= " octave.vim --- lang#octave layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#octave, layers-lang-octave " @parentsection layers " This layer adds syntax highlighting for the GNU Octave. " It is disabled by default, to enable this layer, add following snippet to your " SpaceVim configuration file. " > " [[layers]] " name = 'lang#octave' " < " function! SpaceVim#layers#lang#octave#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-octave', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#octave#config() abort endfunction function! SpaceVim#layers#lang#octave#health() abort call SpaceVim#layers#lang#octave#plugins() call SpaceVim#layers#lang#octave#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/org.vim ================================================ "============================================================================= " org.vim --- lang#org for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#org#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/org-mode', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#org#health() abort call SpaceVim#layers#lang#org#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/pact.vim ================================================ "============================================================================= " pact.vim --- pact language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#pact, layers-lang-pact " @parentsection layers " This layer is for pact development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#pact' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for pact, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#pact#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-pact', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#pact#config() abort call SpaceVim#plugins#repl#reg('pact', 'pact') call SpaceVim#plugins#runner#reg_runner('pact', 'pact %s') call SpaceVim#mapping#space#regesit_lang_mappings('pact', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("pact")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#pact#health() abort call SpaceVim#layers#lang#pact#plugins() call SpaceVim#layers#lang#pact#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/pascal.vim ================================================ "============================================================================= " pascal.vim --- pascal language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#pascal, layers-lang-pascal " @parentsection layers " This layer is for pascal development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#pascal' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < let s:SYS = SpaceVim#api#import('system') function! SpaceVim#layers#lang#pascal#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-pascal', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#pascal#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('pascal', function('s:language_specified_mappings')) if s:SYS.isWindows let runner = ['fpc %s -FE#TEMP#.exe', '#TEMP#.exe'] else let runner = ['fpc %s -o#TEMP#', '#TEMP#'] endif call SpaceVim#plugins#runner#reg_runner('pascal', runner) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'compile and run current file', 1) endfunction function! SpaceVim#layers#lang#pascal#health() abort call SpaceVim#layers#lang#pascal#plugins() call SpaceVim#layers#lang#pascal#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/perl.vim ================================================ "============================================================================= " perl.vim --- SpaceVim lang#perl layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#perl, layers-lang-perl " @parentsection layers " This layer is for perl development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#perl' " < " " @subsection layer options " " 1. `perl_interpreter`: Set the perl interpreter, by default, it is `perl` " > " [[layers]] " name = 'lang#perl' " perl_interpreter = 'path/to/perl' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for perl, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " if exists('s:perl_interpreter') finish endif let s:perl_interpreter = 'perl' let s:SYS = SpaceVim#api#import('system') function! SpaceVim#layers#lang#perl#plugins() abort let plugins = [] call add(plugins, ['c9s/perlomni.vim', {'on_ft' : 'perl'}]) call add(plugins, ['vim-perl/vim-perl', {'on_ft' : 'perl'}]) call add(plugins, ['wsdjeg/perldoc-vim', {'on_cmd' : 'Perldoc'}]) return plugins endfunction function! SpaceVim#layers#lang#perl#config() abort let g:perldoc_no_default_key_mappings = 1 call SpaceVim#plugins#runner#reg_runner('perl', { \ 'exe' : s:perl_interpreter, \ 'opt' : ['-'], \ 'usestdin' : 1, \ }) call SpaceVim#mapping#space#regesit_lang_mappings('perl', function('s:language_specified_mappings')) if executable('perli') call SpaceVim#plugins#repl#reg('perl', ['perli'. (s:SYS.isWindows ? '.CMD' : '')]) else call SpaceVim#plugins#repl#reg('perl', [s:perl_interpreter, '-del']) endif endfunction function! s:language_specified_mappings() abort nnoremap K :Perldoc call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'Perldoc', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("perl")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#perl#set_variable(var) abort let s:perl_interpreter = get(a:var, 'perl_interpreter', s:perl_interpreter) endfunction function! SpaceVim#layers#lang#perl#health() abort call SpaceVim#layers#lang#perl#plugins() call SpaceVim#layers#lang#perl#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/php.vim ================================================ "============================================================================= " php.vim --- lang#php layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#php, layers-lang-php " @parentsection layers " This layer is for php development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#php' " < " " @subsection layer options " " 1. `php_interpreter`: Set the PHP interpreter, by default, it is `php` " > " [[layers]] " name = 'lang#php' " php_interpreter = 'path/to/php' " < " " @subsection Key bindings " > " Key Function " -------------------------------- " SPC l r run current file " g d jump to definition " < " " This layer also provides REPL support for php, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " " If the lsp layer is enabled for php, the following key bindings can " be used: " > " key binding Description " -------------------------------- " g D jump to declaration " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < " if exists('s:php_interpreter') finish endif let s:php_interpreter = 'php' function! SpaceVim#layers#lang#php#plugins() abort let plugins = [] call add(plugins, ['StanAngeloff/php.vim', { 'on_ft' : 'php'}]) call add(plugins, ['2072/PHP-Indenting-for-VIm', { 'on_ft' : 'php'}]) if SpaceVim#layers#lsp#check_filetype('php') \ || SpaceVim#layers#lsp#check_server('phpactor') call add(plugins, ['phpactor/phpactor', {'on_ft' : 'php', 'build' : 'composer install --no-dev -o'}]) else if exists('*popup_create') call add(plugins, [g:_spacevim_root_dir . 'bundle/phpcomplete.vim', {'merged' : 0}]) else call add(plugins, [g:_spacevim_root_dir . 'bundle/phpcomplete.vim-vim7', {'merged' : 0}]) endif endif return plugins endfunction let s:auto_fix = 0 function! SpaceVim#layers#lang#php#set_variable(var) abort let s:auto_fix = get(a:var, 'auto_fix', 0) let s:php_interpreter = get(a:var, 'php_interpreter', s:php_interpreter) endfunction function! SpaceVim#layers#lang#php#config() abort call SpaceVim#plugins#runner#reg_runner('php', s:php_interpreter . ' %s') call SpaceVim#plugins#repl#reg('php', [s:php_interpreter, '-a']) call SpaceVim#mapping#space#regesit_lang_mappings('php', \ function('s:on_ft')) if SpaceVim#layers#lsp#check_filetype('php') \ || SpaceVim#layers#lsp#check_server('phpactor') \ || SpaceVim#layers#lsp#check_server('intelephense') call SpaceVim#mapping#gd#add('php', \ function('SpaceVim#lsp#go_to_def')) call SpaceVim#mapping#g_capital_d#add('php', \ function('SpaceVim#lsp#go_to_declaration')) endif if s:auto_fix augroup SpaceVim_lang_php autocmd! autocmd User NeomakeJobInit call phpBeautify() autocmd FocusGained * checktime autocmd Filetype php call preferLocalPHPMD() augroup END else augroup SpaceVim_lang_php autocmd! autocmd Filetype php call preferLocalPHPMD() augroup END endif endfunction function! s:on_ft() abort if SpaceVim#layers#lsp#check_filetype('php') \ || SpaceVim#layers#lsp#check_server('phpactor') \ || SpaceVim#layers#lsp#check_server('intelephense') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("php")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:phpBeautify() abort if (&filetype ==# 'php') let l:args = [] if exists('g:neomake_php_phpcs_args_standard') call add(l:args, '--standard=' . expand(g:neomake_php_phpcs_args_standard)) endif let l:lhs = expand('%') let l:command = printf( \ 'phpcbf %s %s', \ join(l:args, ' '), \ shellescape(fnameescape(l:lhs)) \ ) try call system(l:command) checktime endtry endif endfunction function! s:preferLocalPHPMD() abort let l:dir = expand('%:p:h') while findfile('phpmd.xml', dir) ==# '' let l:next_dir = fnamemodify(dir, ':h') if l:dir == l:next_dir break endif let l:dir = l:next_dir endwhile let l:phpmd_path = dir. '/phpmd.xml' if filereadable(l:phpmd_path) && !exists('b:neomake_php_phpmd_args') let b:neomake_php_phpmd_args = ['%:p', 'text', l:phpmd_path] endif endfunction function! SpaceVim#layers#lang#php#health() abort call SpaceVim#layers#lang#php#plugins() call SpaceVim#layers#lang#php#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/plantuml.vim ================================================ "============================================================================= " plantuml.vim --- lang#plantuml layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#plantuml, layers-lang-plantuml " @parentsection layers " This layer is for plantuml development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#plantuml' " < " " @subsection layer options " " 1. `java_command`: Set the path of java command, by default, it is `java` " > " [[layers]] " name = 'lang#plantuml' " java_command = 'path/to/java' " < " 2. `plantuml_jar_path`: Set the path of `pluatuml.jar`. " > " [[layers]] " name = 'lang#plantuml' " plantuml_jar_path = 'path/to/plantuml.jar' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l p preview uml file " normal SPC l c stop preview " normal SPC l s save uml file " < " function! SpaceVim#layers#lang#plantuml#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/plantuml-syntax', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-slumlord', {'on_ft' : 'plantuml'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/plantuml-previewer.vim', {'merged':0}]) return plugins endfunction function! SpaceVim#layers#lang#plantuml#config() abort let g:plantuml_previewer#plantuml_jar_path = s:plantuml_jar_path call SpaceVim#mapping#space#regesit_lang_mappings('plantuml', \ function('s:language_specified_mappings')) endfunction let s:plantuml_jar_path = '' function! SpaceVim#layers#lang#plantuml#set_variable(var) abort let s:plantuml_jar_path = get(a:var, 'plantuml_jar_path', s:plantuml_jar_path) let g:plantuml_java_command = get(a:var, 'java_command', 'java') endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nnoremap', ['l','p'], \ 'PlantumlOpen', \ 'preview uml file in browser', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c'], \ 'PlantumlStop', \ 'close uml preview', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','s'], \ 'PlantumlSave', \ 'save uml file', 1) endfunction function! SpaceVim#layers#lang#plantuml#health() abort call SpaceVim#layers#lang#plantuml#plugins() call SpaceVim#layers#lang#plantuml#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/pony.vim ================================================ "============================================================================= " pony.vim --- SpaceVim lang#pony layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#pony, layers-lang-pony " @parentsection layers " This layer is for pony development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#pony' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < function! SpaceVim#layers#lang#pony#plugins() abort let plugins = [] " .pony file type call add(plugins, ['wsdjeg/vim-pony', { 'on_ft' : 'pony'}]) return plugins endfunction function! SpaceVim#layers#lang#pony#config() abort " @todo pony neomake support " in github, there is a plugin https://github.com/killerswan/pony-currycomb.vim which provides syntastic suppotr " checker layer configuration if SpaceVim#layers#isLoaded('checkers') && g:spacevim_lint_engine ==# 'neomake' let g:neomake_pony_enabled_makers = ['ponyc'] let g:neomake_pony_ponyc_maker = { \ 'args': ['--pass=expr', '.'], \ 'errorformat': '%f:%l:%c: %m', \ 'cwd': '%:p:h', \ } let g:neomake_livescript_lsc_remove_invalid_entries = 1 endif let runner = { \ 'exe' : 'ponyc', \ 'targetopt' : '-o', \ 'opt' : [], \ } call SpaceVim#plugins#runner#reg_runner('pony', [runner, '#TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('pony', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) endfunction function! SpaceVim#layers#lang#pony#health() abort call SpaceVim#layers#lang#pony#plugins() call SpaceVim#layers#lang#pony#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/postscript.vim ================================================ "============================================================================= " postscript.vim --- PostScript language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#postscript, layers-lang-postscript " @parentsection layers " This layer is for postscript development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#postscript' " < " function! SpaceVim#layers#lang#postscript#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-postscript', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#postscript#config() abort endfunction function! SpaceVim#layers#lang#postscript#health() abort call SpaceVim#layers#lang#postscript#plugins() call SpaceVim#layers#lang#postscript#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/povray.vim ================================================ "============================================================================= " povray.vim --- POV-Ray language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:povray_command') finish else let s:povray_command = 'povray' endif function! SpaceVim#layers#lang#povray#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-povray', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#povray#config() abort let g:povray_command = s:povray_command call SpaceVim#mapping#space#regesit_lang_mappings('povray', function('s:language_specified_mappings')) endfunction function! SpaceVim#layers#lang#povray#set_variable(opt) abort let s:povray_command = get(a:opt, 'povray_command', s:povray_command) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','v'], \ 'call povray#view()', \ 'view-image', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c'], \ 'call povray#cleanPreviousImage()', \ 'clean-previous-image', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','b'], \ 'call povray#CompileSilent()', \ 'build-silent', 1) endfunction function! SpaceVim#layers#lang#povray#health() abort call SpaceVim#layers#lang#povray#plugins() call SpaceVim#layers#lang#povray#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/powershell.vim ================================================ "============================================================================= " ps1.vim --- SpaceVim lang#ps1 layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#powershell, layers-lang-powershell " @parentsection layers " This layer is for powershell development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#powershell' " < " " @subsection Layer Options " 1. `enabled_formatters`: set the default formatters of powershell, default is " `['PowerShellBeautifier']`. you can also add `PSScriptAnalyzer` into the list. " > " [[layers]] " name = 'lang#powershell' " enabled_formatters = ['PowerShellBeautifier'] " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < if exists('s:enabled_formatters') finish else let s:enabled_formatters = [''] endif function! SpaceVim#layers#lang#powershell#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-powershell', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#powershell#config() abort call SpaceVim#plugins#repl#reg('powershell', 'powershell -NoLogo -NoProfile -NonInteractive') call SpaceVim#plugins#runner#reg_runner('powershell', 'powershell %s') call SpaceVim#mapping#space#regesit_lang_mappings('powershell', function('s:language_specified_mappings')) let g:neoformat_enabled_powershell = s:enabled_formatters endfunction function! SpaceVim#layers#lang#powershell#set_variable(opt) abort let s:enabled_formatters = get(a:opt, 'enabled_formatters', s:enabled_formatters) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("powershell")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#powershell#health() abort call SpaceVim#layers#lang#powershell#plugins() call SpaceVim#layers#lang#powershell#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/processing.vim ================================================ "============================================================================= " processing.vim --- SpaceVim lang#processing layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Russell Bentley < russell.w.bentley at icloud.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#processing, layers-lang-processing " @parentsection layers " This layer is for Processing development: " https://processing.org " " This is based on the work from https://github.com/sophacles/vim-processing " " Requirements: " " 1. You will need a copy of processing-java. The best way to do this is to get a copy of the Processing IDE from https://processing.org/download/ " " Once you have it, run it, and then select Tools -> install " "processing-java" " " @subsection Mappings " > " Mode Key Function " ----------------------------------------------- " normal SPC l r execute current sketch " < function! SpaceVim#layers#lang#processing#plugins() abort let plugins = [ \ ['sophacles/vim-processing', { 'on_ft' : 'processing' }], \ ] return plugins endfunction function! SpaceVim#layers#lang#processing#config() abort let runner = 'processing-java --force --output=/tmp/vim-processing --sketch=$(pwd)/$(dirname %s) --run' call SpaceVim#plugins#runner#reg_runner('processing', runner) call SpaceVim#mapping#space#regesit_lang_mappings('processing', \ function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'r'], \ 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) endfunction function! SpaceVim#layers#lang#processing#health() abort call SpaceVim#layers#lang#processing#plugins() call SpaceVim#layers#lang#processing#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/prolog.vim ================================================ "============================================================================= " prolog.vim --- prolog support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#prolog, layers-lang-prolog " @parentsection layers " This layer is for prolog development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#prolog' " < " " @subsection Key bindings " " > " Key Function " -------------------------------- " SPC l r run current file " < " " The default code runner command is `swipl -q -f %s -t main`, `%s` will be " replaced to the path of current file. " " This layer also provides REPL support for prolog, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#prolog#plugins() abort let plugins = [] " @todo Use new prolog plugin " call add(plugins, ['wsdjeg/prolog-vim', { 'merged' : 0}]) call add(plugins, ['wsdjeg/prolog.vim', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#prolog#config() abort call SpaceVim#plugins#repl#reg('prolog', 'swipl -q') call SpaceVim#plugins#runner#reg_runner('prolog', 'swipl -q -f %s -t main') call SpaceVim#mapping#space#regesit_lang_mappings('prolog', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("prolog")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#prolog#health() abort call SpaceVim#layers#lang#prolog#plugins() call SpaceVim#layers#lang#prolog#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/puppet.vim ================================================ "============================================================================= " puppet.vim --- SpaceVim lang#puppet layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#puppet, layers-lang-puppet " @parentsection layers " This layer is for Puppet development. It provides syntax highlighting and " syntax checking. This layer is not loaded by default. To load this layer, " add following snippet into SpaceVim configuration file: " > " [[layers]] " name = 'lang#puppet' " < function! SpaceVim#layers#lang#puppet#plugins() abort let plugins = [] call add(plugins, ['rodjek/vim-puppet', { 'on_ft' : 'puppet', 'loadconf_before' : 1}]) return plugins endfunction function! SpaceVim#layers#lang#puppet#config() abort let g:syntastic_puppet_checkers = ['puppetlint', 'puppet'] let g:syntastic_puppet_puppetlint_args='--no-autoloader_layout-check --no-class_inherits_from_params_class-check' let g:syntastic_mode_map = { 'mode': 'active', 'passive_filetypes': ['puppet'] } augroup spacevim_layer_lang_puppet autocmd! autocmd BufRead,BufNewFile *.pp setfiletype puppet augroup END endfunction function! SpaceVim#layers#lang#puppet#health() abort call SpaceVim#layers#lang#puppet#plugins() call SpaceVim#layers#lang#puppet#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/purescript.vim ================================================ "============================================================================= " purescript.vim --- lang#purescript layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#purescript, layers-lang-purescript " @parentsection layers " This layer provides purescript language support for SpaceVim. Includding syntax " highlighting, code formatting and code completion. This layer is not enabled " by default, to enable this layer, add following snippet into SpaceVim " configuration file: " > " [[layers]] " name = 'lang#purescript' " < " @subsection Key bindings " " > " Key Function " -------------------------------- " SPC l L list loaded modules " SPC l l reset loaded modules and load externs " SPC l R rebuild current buffer " SPC l f generate function template " SPC l t add type annotation " SPC l a apply current line suggestion " SPC l A apply all suggestions " SPC l C add case expression " SPC l i import module " SPC l p search pursuit for cursor ident " SPC l T find type of cursor ident " < " " This layer also provides REPL support for purescript, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#purescript#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/purescript-vim', {'on_ft' : 'purescript'}]) call add(plugins, ['frigoeu/psc-ide-vim', {'on_ft' : 'purescript'}]) return plugins endfunction function! SpaceVim#layers#lang#purescript#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('purescript', function('s:language_specified_mappings')) call SpaceVim#mapping#gd#add('purescript', function('s:go_to_def')) call SpaceVim#plugins#repl#reg('purescript', ['pulp', 'repl']) call SpaceVim#plugins#runner#reg_runner('purescript', 'pulp run') endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','L'], \ 'Plist', \ 'list loaded modules', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','l'], \ 'Pload!', \ 'reset loaded modules and load externs', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'run current project', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','R'], \ 'Prebuild!', \ 'rubuild current buffer', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','f'], \ 'PaddClause', \ 'generate function template', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','t'], \ 'PaddType', \ 'add type annotation', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','a'], \ 'Papply', \ 'apply current line suggestion', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','A'], \ 'Papply!', \ 'apply all suggestions', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','C'], \ 'Pcase!', \ 'add case expression', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','i'], \ 'Pimport', \ 'import module', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','p'], \ 'Pursuit', \ 'search pursuit for cursor ident', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','T'], \ 'Ptype', \ 'find type of cursor ident', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("purescript")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:go_to_def() abort if !SpaceVim#layers#lsp#check_filetype('purescript') Pgoto else call SpaceVim#lsp#go_to_def() endif endfunction function! SpaceVim#layers#lang#purescript#health() abort call SpaceVim#layers#lang#purescript#plugins() call SpaceVim#layers#lang#purescript#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/python.vim ================================================ "============================================================================= " python.vim --- SpaceVim lang#python layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#python, layers-lang-python " @parentsection layers " This layer provides python language support for SpaceVim. Includding syntax " highlighting, code formatting and code completion. This layer is not enabled " by default, to enable this layer, add following snippet into SpaceVim " configuration file: " > " [[layers]] " name = 'lang#python' " < " " @subsection Options " " 1. python_file_head: the default file head for python source code. " > " [[layers]] " name = "lang#python" " python_file_head = [ " '#!/usr/bin/python3', " '# -*- coding : utf-8 -*-' " '' " ] " < " 2. `python_interpreter`: Set the interpreter of python. " > " [[layers]] " name = 'lang#python' " python_interpreter = '~/download/bin/python3' " < " 3. format_on_save: enable/disable code formation when save python file. This " options is disabled by default, to enable it: " > " [[layers]] " name = 'lang#python' " format_on_save = true " < " " @subsection Key bindings " " > " Key Function " -------------------------------- " SPC l r run current file " g d jump to definition " SPC l i s format imports " SPC l i r run autoflake on current buffer " SPC l i i run :ImportName command " SPC l c r coverage report " SPC l c s coverage show " SPC l c e coverage session " SPC l c f coverage refresh " SPC l g d generate docstring " SPC l v l list all virtualenvs " SPC l v d deactivate current virtualenv " < " " This layer also provides REPL support for python, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " " If the lsp layer is enabled for python, the following key bindings can " be used: " > " key binding Description " g D jump to type definition " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < if exists('s:enabled_linters') finish endif let s:enabled_linters = ['python'] let s:format_on_save = 0 let s:python_file_head = [ \ '#!/usr/bin/env python', \ '# -*- coding: utf-8 -*-', \ '', \ '' \ ] let s:enable_typeinfo = 0 let s:python_interpreter = 'python3' function! SpaceVim#layers#lang#python#plugins() abort let plugins = [] " python if !SpaceVim#layers#lsp#check_filetype('python') \ && !SpaceVim#layers#lsp#check_server('pyright') \ && !SpaceVim#layers#lsp#check_server('pylsp') if has('nvim') call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete-jedi', { 'on_ft' : 'python'}]) " in neovim, we can use deoplete-jedi together with jedi-vim, " but we need to disable the completions of jedi-vim. let g:jedi#completions_enabled = 0 endif call add(plugins, [g:_spacevim_root_dir . 'bundle/jedi-vim', { 'on_ft' : 'python', \ 'if' : has('python') || has('python3')}]) endif call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-pydocstring', \ { 'on_cmd' : 'Pydocstring'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-python-pep8-indent', \ { 'on_ft' : 'python'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-pythonsense', \ { 'on_ft' : 'python'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/coveragepy.vim', \ { 'merged' : 0, 'on_ft' : 'python'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/python-imports.vim', \ { 'merged' : 0, 'on_ft' : 'python'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-virtualenv', \ { 'merged' : 0, 'on_ft' : 'python'}]) return plugins endfunction function! SpaceVim#layers#lang#python#config() abort " heavenshell/vim-pydocstring {{{ " If you execute :Pydocstring at no `def`, `class` line. " g:pydocstring_enable_comment enable to put comment.txt value. let g:pydocstring_enable_comment = 0 " Disable this option to prevent pydocstring from creating any " key mapping to the `:Pydocstring` command. " Note: this value is overridden if you explicitly create a " mapping in your vimrc, such as if you do: let g:pydocstring_enable_mapping = 0 augroup spacevim_layer_lang_python autocmd! autocmd FileType python call SpaceVim#util#check_if_expand_tab() if g:spacevim_autocomplete_parens au FileType python let b:delimitMate_nesting_quotes = ['"', "'"] endif augroup END " }}} let g:deoplete#sources#jedi#enable_typeinfo = s:enable_typeinfo call SpaceVim#plugins#runner#reg_runner('python', \ { \ 'exe' : function('s:getexe'), \ 'opt' : ['-'], \ 'usestdin' : 1, \ }) call SpaceVim#mapping#gd#add('python', function('s:go_to_def')) call SpaceVim#mapping#space#regesit_lang_mappings('python', function('s:language_specified_mappings')) call SpaceVim#layers#edit#add_ft_head_tamplate('python', s:python_file_head) if executable('ipython') call SpaceVim#plugins#repl#reg('python', 'ipython --no-term-title --colors=NoColor') elseif executable('ipython3') call SpaceVim#plugins#repl#reg('python', 'ipython3 --no-term-title --colors=NoColor') elseif executable('python') call SpaceVim#plugins#repl#reg('python', ['python', '-i']) elseif executable('python3') call SpaceVim#plugins#repl#reg('python', ['python3', '-i']) endif if SpaceVim#layers#lsp#check_server('pyright') \ || SpaceVim#layers#lsp#check_server('pylsp') \ || SpaceVim#layers#lsp#check_filetype('python') let g:neomake_python_enabled_makers = [] else let g:neomake_python_enabled_makers = s:enabled_linters let g:neomake_python_python_exe = s:python_interpreter endif endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) let g:_spacevim_mappings_space.l.i = {'name' : '+Imports'} call SpaceVim#mapping#space#langSPC('nmap', ['l','i', 's'], \ 'Neoformat isort', \ 'sort imports', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','i', 'r'], \ 'Neoformat autoflake', \ 'remove unused imports', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','i', 'i'], \ 'ImportName', \ 'import name under cursor', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("python")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) let g:_spacevim_mappings_space.l.c = {'name' : '+Coverage'} call SpaceVim#mapping#space#langSPC('nmap', ['l','c', 'r'], \ 'Coveragepy report', \ 'coverage report', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c', 's'], \ 'Coveragepy show', \ 'coverage show', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c', 'e'], \ 'Coveragepy session', \ 'coverage session', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','c', 'f'], \ 'Coveragepy refresh', \ 'coverage refresh', 1) " +Generate {{{ let g:_spacevim_mappings_space.l.g = {'name' : '+Generate'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'g', 'd'], \ 'Pydocstring', 'generate docstring', 1) " }}} if SpaceVim#layers#lsp#check_filetype('python') \ || SpaceVim#layers#lsp#check_server('pyright') \ || SpaceVim#layers#lsp#check_server('pylsp') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif " Format on save if s:format_on_save call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'python', \ 'enable' : 1, \ }) endif let g:_spacevim_mappings_space.l.v = {'name' : '+Virtualenv'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'v', 'l'], \ 'VirtualEnvList', 'list-all-virtualenvs', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'v', 'd'], \ 'VirtualEnvDeactivate', 'deactivate-current-virtualenv', 1) endfunction function! s:Shebang_to_cmd(line) abort let executable = matchstr(a:line, '#!\s*\zs[^ ]*') if empty(executable) return [] endif let argvs = split(matchstr(a:line, '#!\s*[^ ]\+\s*\zs.*')) return [executable] + argvs endfunction func! s:getexe() abort let line = getline(1) if line =~# '^#!' let cmd = s:Shebang_to_cmd(line) if empty(cmd) call SpaceVim#logger#debug('failed to parse shebang') elseif !executable(cmd[0]) call SpaceVim#logger#debug('shebang is not executable') else return cmd endif endif return [s:python_interpreter] endf function! s:go_to_def() abort if SpaceVim#layers#lsp#check_filetype('python') \ || SpaceVim#layers#lsp#check_server('pyright') \ || SpaceVim#layers#lsp#check_server('pylsp') call SpaceVim#lsp#go_to_def() else call jedi#goto() endif endfunction function! SpaceVim#layers#lang#python#set_variable(var) abort let s:format_on_save = get(a:var, \ 'format_on_save', \ get(a:var, \ 'format-on-save', \ s:format_on_save)) let s:python_file_head = get(a:var, \ 'python_file_head', \ get(a:var, \ 'python-file-head', \ s:python_file_head)) let s:enable_typeinfo = get(a:var, \ 'enable_typeinfo', \ s:enable_typeinfo \ ) let s:enabled_linters = get(a:var, \ 'enabled_linters', \ s:enabled_linters \ ) let s:python_interpreter = get(a:var, \ 'python_interpreter', \ s:python_interpreter \ ) endfunction function! SpaceVim#layers#lang#python#health() abort call SpaceVim#layers#lang#python#plugins() call SpaceVim#layers#lang#python#config() return 1 endfunction function! SpaceVim#layers#lang#python#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/qml.vim ================================================ "============================================================================= " qml.vim " Copyright (c) 2024 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#qml, layers-lang-qml " @parentsection layers " This layer is for qml development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#qml' " < function! SpaceVim#layers#lang#qml#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-qml', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#qml#health() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/r.vim ================================================ "============================================================================= " r.vim --- lang#r layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#r, layers-lang-r " @parentsection layers " This layer is for r development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#r' " < " " @subsection Key bindings " " The command of code runner for R is `"R <%s"` " `%s` will be replaced to the path of current R file. " > " Key Function " -------------------------------- " SPC l r run current file " < " " This layer also provides REPL support for r, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#r#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/Nvim-R', {'merged' : 0}]) return plugins endfunction let s:r_repl_command = '' function! SpaceVim#layers#lang#r#set_variable(var) abort let s:r_repl_command = get(a:var, 'repl_command', '') endfunction function! SpaceVim#layers#lang#r#config() abort call add(g:spacevim_project_rooter_patterns, '.Rprofile') call SpaceVim#plugins#runner#reg_runner('r', 'R <%s') call SpaceVim#mapping#space#regesit_lang_mappings('r', function('s:language_specified_mappings')) if !empty(s:r_repl_command) call SpaceVim#plugins#repl#reg('r',s:r_repl_command) else call SpaceVim#plugins#repl#reg('r', 'r') endif endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l', 'r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("r")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#r#health() abort call SpaceVim#layers#lang#r#plugins() call SpaceVim#layers#lang#r#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/racket.vim ================================================ "============================================================================= " racket.vim --- racket language support in spacevim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#racket, layers-lang-racket " @parentsection layers " This layer is for racket development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#racket' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for racket, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#racket#plugins() abort let plugins = [] call add(plugins, ['wlangstroth/vim-racket', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#racket#config() abort augroup spacevim_layer_lang_racket autocmd! au BufRead,BufNewFile *.rkt,*.rktl setf racket augroup END call SpaceVim#plugins#runner#reg_runner('racket', \ { \ 'exe' : 'racket', \ 'opt' : ['-t'], \ 'usestdin' : 0, \ }) call SpaceVim#mapping#gd#add('racket', function('s:go_to_def')) call SpaceVim#plugins#repl#reg('racket', ['racket', '-i']) call SpaceVim#mapping#space#regesit_lang_mappings('racket', function('s:language_specified_mappings')) endfunction function! s:go_to_def() abort endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) " nnoremap K :call SpaceVim#lsp#show_doc() let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("racket")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#racket#health() abort call SpaceVim#layers#lang#racket#plugins() call SpaceVim#layers#lang#racket#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/reason.vim ================================================ "============================================================================= " reason.vim --- Reason programming language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:JSON') finish endif "" " @section lang#reason, layers-lang-reason " @parentsection layers " This layer is for reason development, disabled by default, to enable this " layer, add following snippet to your @section(options) file. " > " [[layers]] " name = 'lang#reason' " < let s:JSON = SpaceVim#api#import('data#json') function! SpaceVim#layers#lang#reason#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-reason', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#reason#config() abort call SpaceVim#plugins#tasks#reg_provider(function('s:reasonml_tasks')) call SpaceVim#mapping#space#regesit_lang_mappings('reason', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort if SpaceVim#layers#lsp#check_filetype('reason') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) endif endfunction function! s:reasonml_tasks() abort let detect_task = {} let conf = {} if filereadable('package.json') let conf = s:JSON.json_decode(join(readfile('package.json', ''), '')) endif if has_key(conf, 'scripts') for task_name in keys(conf.scripts) call extend(detect_task, { \ task_name : {'command' : conf.scripts[task_name], 'isDetected' : 1, 'detectedName' : 'esy:'} \ }) endfor endif return detect_task endfunction function! SpaceVim#layers#lang#reason#health() abort call SpaceVim#layers#lang#reason#plugins() call SpaceVim#layers#lang#reason#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/red.vim ================================================ "============================================================================= " red.vim --- red language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#racket, layers-lang-red " @parentsection layers " This layer is for red development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#red' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for red, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#red#plugins() abort let plugins = [] call add(plugins, ['DavidFeng/vim-red', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#red#config() abort call SpaceVim#plugins#runner#reg_runner('red', 'red --cli %s') call SpaceVim#mapping#space#regesit_lang_mappings('red', function('s:language_specified_mappings')) call SpaceVim#plugins#repl#reg('red', 'red --cli') endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l', 'r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("red")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#red#health() abort call SpaceVim#layers#lang#red#plugins() call SpaceVim#layers#lang#red#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/rescript.vim ================================================ "============================================================================= " rescript.vim --- ReScript programming language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:JSON') finish endif let s:JSON = SpaceVim#api#import('data#json') function! SpaceVim#layers#lang#rescript#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-rescript', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#rescript#config() abort call SpaceVim#plugins#tasks#reg_provider(function('s:rescript_tasks')) if index(g:spacevim_project_rooter_patterns, 'package.json') ==# -1 call add(g:spacevim_project_rooter_patterns, 'package.json') endif endfunction function! s:rescript_tasks() abort let detect_task = {} let conf = {} if filereadable('package.json') let conf = s:JSON.json_decode(join(readfile('package.json', ''), '')) endif if has_key(conf, 'scripts') for task_name in keys(conf.scripts) call extend(detect_task, { \ task_name : {'command' : conf.scripts[task_name], 'isDetected' : 1, 'detectedName' : 'bsb:'} \ }) endfor endif return detect_task endfunction function! SpaceVim#layers#lang#rescript#health() abort call SpaceVim#layers#lang#rescript#plugins() call SpaceVim#layers#lang#rescript#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/ring.vim ================================================ "============================================================================= " ring.vim --- ring language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#ring, layers-lang-ring " @parentsection layers " This layer is for ring development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#ring' " < " " @subsection Options " " 1. ring_repl: Set the path of ring repl. " > " [[layers]] " name = "lang#ring" " ring_repl = "/path/to/repl.ring" " < " @subsection Key bindings " " The code runner for ring is "ring %" % will be replaced to the path of " current ring file. " > " Key Function " -------------------------------- " SPC l r run current file " < " " This layer also provides REPL support for ring, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#ring#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-ring', { 'merged' : 0}]) return plugins endfunction let s:ring_repl = '' function! SpaceVim#layers#lang#ring#config() abort call SpaceVim#plugins#repl#reg('ring', 'ring ' . shellescape(s:ring_repl)) call SpaceVim#plugins#runner#reg_runner('ring', 'ring %s') call SpaceVim#mapping#space#regesit_lang_mappings('ring', function('s:language_specified_mappings')) endfunction function! SpaceVim#layers#lang#ring#set_variable(opt) abort let s:ring_repl = get(a:opt, 'ring_repl', s:ring_repl) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("ring")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#ring#get_options() abort return ['ring_repl'] endfunction function! SpaceVim#layers#lang#ring#health() abort call SpaceVim#layers#lang#ring#plugins() call SpaceVim#layers#lang#ring#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/rst.vim ================================================ "============================================================================= " rst.vim --- rst language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#rst#plugins() abort let plugins = [] " this is forked repo, " @todo push to upstream call add(plugins, ['wsdjeg/riv.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#rst#config() abort endfunction function! SpaceVim#layers#lang#rst#health() abort call SpaceVim#layers#lang#rst#plugins() call SpaceVim#layers#lang#rst#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/ruby.vim ================================================ "============================================================================= " ruby.vim --- lang#ruby layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#ruby, layers-lang-ruby " @parentsection layers " This layer is for ruby development, disabled by default, to enable this " layer, add following snippet to your @section(options) file. " > " [[layers]] " name = 'lang#ruby' " < " " @subsection Options " " 1. ruby_file_head: the default file head for ruby source code. " > " [[layers]] " name = "lang#ruby" " ruby_file_head = [ " '#!/usr/bin/ruby -w', " '# -*- coding : utf-8 -*-' " '' " ] " < " 2. repl_command: the REPL command for ruby " > " [[layers]] " name = 'lang#ruby' " repl_command = '~/download/bin/ruby_repl' " < " 3. format_on_save: enable/disable code formation when save ruby file. This " options is disabled by default, to enable it: " > " [[layers]] " name = 'lang#ruby' " repl_command = '~/download/bin/ruby_repl' " format_on_save = true " < " @subsection Key bindings " " > " Key Function " -------------------------------- " SPC l r run current file " < " " This layer also provides REPL support for ruby, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " To enable lsp support for ruby, you need to instal solargraph. " > " gem install --user-install solargraph " < " Enable the lsp layer for ruby: " > " [[layers]] " name = 'lsp' " enabled_clients = ['solargraph'] " < " If the lsp layer is enabled for ruby, the following key bindings can " be used: " > " key binding Description " g D jump to type definition " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < if exists('s:ruby_file_head') finish else let s:ruby_repl_command = '' let s:ruby_file_head = [ \ '#!/usr/bin/ruby -w', \ '# -*- coding : utf-8 -*-', \ '' \ ] let s:format_on_save = 0 let s:lint_on_save = 0 let s:enabled_linters = ['rubylint'] endif function! SpaceVim#layers#lang#ruby#plugins() abort return [ \ [g:_spacevim_root_dir . 'bundle/vim-ruby', {'merged' : 0, 'on_ft' : ['ruby']}] \ ] endfunction function! SpaceVim#layers#lang#ruby#config() abort call SpaceVim#plugins#runner#reg_runner('ruby', { \ 'exe' : 'ruby', \ 'opt' : ['-'], \ 'usestdin' : 1, \ }) call SpaceVim#mapping#gd#add('ruby', function('s:go_to_def')) call SpaceVim#mapping#space#regesit_lang_mappings('ruby', function('s:language_specified_mappings')) if !empty(s:ruby_repl_command) call SpaceVim#plugins#repl#reg('ruby',s:ruby_repl_command) else call SpaceVim#plugins#repl#reg('ruby', 'irb') endif if g:spacevim_lint_engine ==# 'neomake' let g:neomake_ruby_enabled_makers = s:enabled_linters for lint in g:neomake_ruby_enabled_makers let g:neomake_ruby_{lint}_remove_invalid_entries = 1 endfor endif " Format on save if s:format_on_save call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'ruby', \ 'enable' : 1, \ }) endif endfunction function! SpaceVim#layers#lang#ruby#set_variable(var) abort let s:ruby_repl_command = get(a:var, 'repl_command', '') " add backward compatible for ruby-file-head let s:ruby_file_head = get(a:var, \ 'ruby_file_head', \ get(a:var, \ 'ruby-file-head', \ s:ruby_file_head)) let s:format_on_save = get(a:var, 'format_on_save', s:format_on_save) let s:lint_on_save = get(a:var, 'lint_on_save', s:lint_on_save) let s:enabled_linters = get(a:var, 'enabled_linters', s:enabled_linters) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l', 'r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) if SpaceVim#layers#lsp#check_filetype('ruby') \ || SpaceVim#layers#lsp#check_server('solargraph') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("ruby")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:go_to_def() abort if !SpaceVim#layers#lsp#check_filetype('ruby') \ && !SpaceVim#layers#lsp#check_server('solargraph') normal! gd else call SpaceVim#lsp#go_to_def() endif endfunction function! SpaceVim#layers#lang#ruby#get_options() abort return [ \ 'repl_command', \ 'ruby_file_head' \ ] endfunction function! SpaceVim#layers#lang#ruby#health() abort call SpaceVim#layers#lang#ruby#plugins() call SpaceVim#layers#lang#ruby#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/rust.vim ================================================ "============================================================================= " rust.vim --- SpaceVim lang#rust layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#rust, layers-lang-rust " @parentsection layers " `lang#rust` layers provides rust programming language support for SpaceVim. " This layers includes syntax highlighting, code runner, REPL for rust. " " Requirements: " " 1. Racer needs a copy of the rust source. The easiest way to do this is " with rustup. Once rustup is installed, download the source with: " > " rustup component add rust-src " < " 2. Install Rust nightly build " > " rustup install nightly " < " 3. Install racer: " > " cargo +nightly install racer " < " 4. Set the RUST_SRC_PATH variable in your .bashrc: " > " RUST_SRC_PATH=~/.multirust/toolchains//lib/rustlib/src/rust/src " export RUST_SRC_PATH " < " 5. Add racer to your path, or set the path with: " > " [[layers]] " name = 'lang#rust' " racer_cmd = "/path/to/racer/bin" " < " " @subsection Layer options " " The following layer options are supported when loading this layer: " " 1. `recommended_style`: `true`/`false` (Enable/Disable) recommended code " style for rust. This option is disabled by default. " 2. `format_on_save`: `true`/`false` (Enable/Disable) format current buffer " after save. This option is disabled by default. " 3. `racer_cmd`: The path of `racer` binary. This option is `racer` by " default. " 4. `rustfmt_cmd`: The path of `rustfmt` binary. This option is `rustfmt` " by default. " " @subsection Mappings " > " Key Function " ----------------------------------------------- " g d rust-definition " SPC l d rust-doc " SPC l r run current file " SPC l e rls-rename-symbol " SPC l u rls-show-references " SPC l c b cargo-build " SPC l c c cargo-clean " SPC l c f cargo-fmt " SPC l c t cargo-test " SPC l c u cargo-update " SPC l c B cargo-bench " SPC l c D cargo-docs " SPC l c r cargo-run " SPC l c l cargo-clippy " < " " This layer also provides REPL support for rust, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " " If the lsp layer is enabled for python, the following key bindings can " be used: " > " key binding Description " g D jump to type definition " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < if exists('s:racer_cmd') finish else let s:recommended_style = 0 let s:format_on_save = 0 let s:racer_cmd = 'racer' let s:rustfmt_cmd = 'rustfmt' endif function! SpaceVim#layers#lang#rust#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/rust.vim', {'merged' : 0}]) if !SpaceVim#layers#lsp#check_filetype('rust') \ && !SpaceVim#layers#lsp#check_server('rls') \ && !SpaceVim#layers#lsp#check_server('rust_analyzer') call add(plugins, ['racer-rust/vim-racer', {'merged' : 0}]) endif return plugins endfunction function! SpaceVim#layers#lang#rust#config() abort call SpaceVim#plugins#runner#reg_runner('rust', [ \ 'rustc %s -o #TEMP#', \ '#TEMP#']) call SpaceVim#plugins#repl#reg('rust', 'evcxr') let g:racer_cmd = s:racer_cmd let g:rustfmt_cmd = s:rustfmt_cmd " format layer setting let g:neoformat_rust_rustfmt = { \ 'exe': s:rustfmt_cmd, \ 'stdin': 1, \ } let g:neoformat_enabled_rust = ['rustfmt'] let g:rust_recommended_style = s:recommended_style " Disable racer format, use Neoformat instead! let g:rustfmt_autosave = 0 if s:format_on_save call SpaceVim#layers#format#add_filetype({ \ 'filetype' : 'rust', \ 'enable' : 1, \ }) endif call SpaceVim#mapping#space#regesit_lang_mappings('rust', function('s:language_specified_mappings')) call add(g:spacevim_project_rooter_patterns, 'Cargo.toml') if SpaceVim#layers#lsp#check_filetype('rust') \ || SpaceVim#layers#lsp#check_server('rls') \ || SpaceVim#layers#lsp#check_server('rust_analyzer') call SpaceVim#mapping#gd#add('rust', function('SpaceVim#lsp#go_to_def')) else call SpaceVim#mapping#gd#add('rust', function('s:gotodef')) endif endfunction function! SpaceVim#layers#lang#rust#set_variable(var) abort " support old option recommended-style and recommended_style let s:recommended_style = get(a:var, 'recommended_style', \ get(a:var, 'recommended-style', \ s:recommended_style)) " support old option format-autosave and format_on_save let s:format_on_save = get(a:var, 'format_on_save', \ get(a:var, 'format-autosave', s:format_on_save)) " support old option racer-cmd and racer_cmd let s:racer_cmd = get(a:var, 'racer_cmd', \ get(a:var, 'racer-cmd', s:racer_cmd)) " support old option rustfmt-cmd and rustfmt_cmd let s:rustfmt_cmd = get(a:var, 'rustfmt_cmd', \ get(a:var, 'rustfmt-cmd', s:rustfmt_cmd)) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l', 'r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.c = {'name' : '+Cargo'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 'r'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo run"])', \ 'cargo-run', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 'b'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo build"])', \ 'cargo-build', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 'c'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo clean"])', \ 'cargo-clean', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 't'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo test"])', \ 'cargo-test', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 'l'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo clippy"])', \ 'cargo-clippy', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 'u'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo update"])', \ 'update-external-dependencies', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 'B'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo bench"])', \ 'run the benchmarks', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 'D'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo doc"])', \ 'build-docs', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','c', 'f'], 'call call(' \ . string(function('s:execCMD')) . ', ["cargo fmt"])', \ 'format project files', 1) if SpaceVim#layers#lsp#check_filetype('rust') \ || SpaceVim#layers#lsp#check_server('rls') \ || SpaceVim#layers#lsp#check_server('rust_analyzer') nnoremap K :call SpaceVim#lsp#show_doc() nnoremap gD :call SpaceVim#lsp#go_to_typedef() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) else nmap K (rust-doc) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'd'], \ '(rust-doc)', 'show documentation', 1) " change it to SPC l g and SPC l v, just same as s g and s v call SpaceVim#mapping#space#langSPC('nmap', ['l', 'g'], \ '(rust-def-split)', 'rust-def-split', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'v'], \ '(rust-def-vertical)', 'rust-def-vertical', 0) endif let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("rust")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:gotodef() abort try call racer#GoToDefinition() catch exec 'normal! gd' endtry endfunction function! s:execCMD(cmd) abort call SpaceVim#plugins#runner#open(a:cmd) endfunction " " toolchain " " set RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static " " rustup " " set RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup " " vim:set et sw=2 cc=80 function! SpaceVim#layers#lang#rust#health() abort call SpaceVim#layers#lang#rust#plugins() call SpaceVim#layers#lang#rust#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/s.vim ================================================ "============================================================================= " splus.vim --- S language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#s#plugins() abort let plugins = [] return plugins endfunction function! SpaceVim#layers#lang#s#config() abort endfunction function! SpaceVim#layers#lang#s#health() abort call SpaceVim#layers#lang#s#plugins() call SpaceVim#layers#lang#s#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/scala.vim ================================================ "============================================================================= " scala.vim --- SpaceVim lang#scala layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section lang#scala, layers-lang-scala " @parentsection layers " This layer is for Scala development. " " @subsection Mappings " > " Import key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal show candidates for importing of cursor symbol " insert show candidates for importing of cursor symbol " normal SPC l i c show candidates for importing of cursor symbol " normal SPC l i q prompt for a qualified import " normal SPC l i o organize imports of current file " normal SPC l i s sort imports of current file " insert i prompt for a qualified import " insert o organize imports of current file " insert s sort imports of current file " " Debug key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l d t show debug stack trace of current frame " normal SPC l d c continue the execution " normal SPC l d b set a breakpoint for the current line " normal SPC l d B clear all breakpoints " normal SPC l d l launching debugger " normal SPC l d i step into next statement " normal SPC l d o step over next statement " normal SPC l d O step out of current function " " Sbt key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l b c sbt clean compile " normal SPC l b r sbt run " normal SPC l b t sbt test " normal SPC l b p sbt package " normal SPC l b d sbt show project dependencies tree " normal SPC l b l sbt reload project build definition " normal SPC l b u sbt update external dependencies " normal SPC l b e run sbt to generate .ensime config file " " Execute key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l r run main class " " REPL key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l s i start a scala inferior REPL process " normal SPC l s b send buffer and keep code buffer focused " normal SPC l s l send line and keep code buffer focused " normal SPC l s s send selection text and keep code buffer focused " " Other key bindings: " " Mode Key Function " ------------------------------------------------------------- " normal SPC l Q bootstrap server when first-time-use " normal SPC l h show Documentation of cursor symbol " normal SPC l n inline local refactoring of cursor symbol " normal SPC l e rename cursor symbol " normal SPC l g find Definition of cursor symbol " normal SPC l t show Type of expression of cursor symbol " normal SPC l p show Hierarchical view of a package " normal SPC l u find Usages of cursor symbol " " < " SpaceVim uses [`ensime-vim`](https://ensime.github.io/editors/vim/install/) " to provide code completion, format, sort imports etc, if has python support. " Also you can enable lsp layer to has a better experience. " " " @subsection language server `metals-vim` " " Right now `metals-vim` works with `coc.nvim` to offer a richer user experience " than other servers(LanguageClient-neovim or vim-lsp). Please make sure that " `metals-vim` executable is in your `system $PATH`. Installation guide is here: " [`metals-vim`](https://scalameta.org/metals/docs/editors/vim.html) " " " @subsection Ensime-vim setup steps " " The following is quick install steps, if you want to see complete details, " please see: [`ensime-vim`](https://ensime.github.io/editors/vim/install/) " " 1. Install vim`s plugin and its dependencies as following. " " `pip install websocket-client sexpdata`, " " `pip install pynvim` (neovim only). " " 2. Integration ENSIME with your build tools, here we use sbt. " add (sbt-ensime) as global plugin for sbt: " Put code `addSbtPlugin("org.ensime" % "sbt-ensime" % "2.6.1")` in file " '~/.sbt/plugins/plugins.sbt' (create if not exists). " Armed with your build tool plugin, generate the `.ensime` config file from " your project directory in command line, e.g. for sbt use `sbt ensimeConfig`, " or `./gradlew ensime` for Gradle. the first time will take several minutes. " " 3. The first time you use ensime-vim (per Scala version), it will `bootstrap` the " ENSIME server installation when opening a Scala file you will be prompted to " run |:EnInstall|. Do that and give it a minute or two to run. " After this, you should see reports in Vim's message area that ENSIME is coming " up, and the indexer and analyzer are ready. " Going forward, ensime-vim will automatically start the ENSIME server when you " edit Scala files in a project with an `.ensime` config present. " " " @subsection Code formatting " " 1. To make neoformat support scala file, you should install scalariform. " [`scalariform`](https://github.com/scala-ide/scalariform) " and set `scalariform_jar` option to the path of the jar. " " 2. If lsp [`metals-vim`](https://scalameta.org/metals/docs/editors/overview.html) " is enabled, it will automatically use " [`scalafmt`](https://scalameta.org/scalafmt/docs/configuration.html) " to format code. if exists('s:scalariform_jar') finish endif let s:scalariform_jar = '' function! SpaceVim#layers#lang#scala#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-scala', {'merged' : 0}]) if has('python3') || has('python') call add(plugins, ['wsdjeg/ensime-vim', {'on_ft': 'scala'}]) endif return plugins endfunction function! SpaceVim#layers#lang#scala#config() abort let g:scala_use_default_keymappings = 0 call SpaceVim#mapping#space#regesit_lang_mappings('scala', function('s:language_specified_mappings')) call SpaceVim#plugins#repl#reg('scala', 'scala') call SpaceVim#plugins#runner#reg_runner('scala', 'sbt run') call SpaceVim#mapping#gd#add('scala', function('s:go_to_def')) call add(g:spacevim_project_rooter_patterns, 'build.sbt') augroup SpaceVim_lang_scala au! autocmd BufRead,BufNewFile *.sbt set filetype=scala augroup END try let g:neoformat_enabled_scala = neoformat#formatters#scala#enabled() catch let g:neoformat_enabled_scala = [] endtry let g:neoformat_scala_scalariform = { \ 'exe': 'java', \ 'args': ['-jar', s:scalariform_jar, '-'], \ 'stdin': 1, \ } endfunction function! s:language_specified_mappings() abort " ensime-vim {{{ if exists(':EnTypeCheck') nnoremap :EnSuggestImport inoremap :EnSuggestImport inoremap i :EnAddImport inoremap o :EnOrganizeImports if !SpaceVim#layers#lsp#check_filetype('scala') nnoremap K :EnDocBrowse endif call SpaceVim#mapping#space#langSPC('nnoremap', ['l','Q'], \ 'EnInstall', \ 'bootstrap server when first-time-use', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','h'], \ 'EnDocBrowse', \ 'show Documentation of cursor symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','e'], \ 'EnRename', \ 'Rename cursor symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','n'], \ 'EnInline', \ 'Inline local refactoring of cursor symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','g'], \ 'EnDeclarationSplit v', \ 'find Definition of cursor symbol', 1) xnoremap lt :EnType selection call SpaceVim#mapping#space#langSPC('nnoremap', ['l','t'], \ 'EnType', \ 'show Type of expression of cursor symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','p'], \ 'EnShowPackage', \ 'show Hierarchical view of a package', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','u'], \ 'EnUsages', \ 'find Usages of cursor symbol', 1) " debug {{{ let g:_spacevim_mappings_space.l.d = {'name' : '+Debug'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d','t'], \ 'EnDebugBacktrace', \ 'show debug stack trace of current frame', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d','c'], \ 'EnDebugContinue', \ 'continue the execution', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d','b'], \ 'EnDebugSetBreak', \ 'set a breakpoint for the current line', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d','B'], \ 'EnDebugClearBreaks', \ 'clear all breakpoints', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d','l'], \ 'EnDebugStart', \ 'launching debugger', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d','i'], \ 'EnDebugStep', \ 'step into next statement', 1) nnoremap :EnDebugStep call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d','o'], \ 'EnDebugNext', \ 'step over next statement', 1) nnoremap :EnDebugNext call SpaceVim#mapping#space#langSPC('nnoremap', ['l','d','O'], \ 'EnDebugNext', \ 'step out of current function', 1) "}}} " import {{{ let g:_spacevim_mappings_space.l.i = {'name' : '+Import'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l','i','i'], \ 'EnSuggestImport', \ 'Show candidates for importing of cursor symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','i','q'], \ 'EnAddImport', \ 'Prompt for a qualified import', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','i','o'], \ 'EnOrganizeImports', \ 'Organize imports of current file', 1) " }}} " }}} endif " import `vim-scala` let g:_spacevim_mappings_space.l.i = {'name' : '+Import'} inoremap s :SortScalaImports call SpaceVim#mapping#space#langSPC('nnoremap', ['l','i','s'], \ 'SortScalaImports', 'sort imports', 1) if SpaceVim#layers#lsp#check_filetype('scala') && executable('metals-vim') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show Document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()()', 'rename Symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'g'], \ 'call SpaceVim#lsp#go_to_def()', 'goto Definition', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'u'], \ 'call SpaceVim#lsp#references()', 'find References', 1) endif " code runner call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) " Sbt let g:_spacevim_mappings_space.l.b = {'name' : '+Sbt'} if exists(':EnTypeCheck') call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 'e'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt ensimeConfig"])', \ 'generate-.ensime-file', 1) endif call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 'c'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt ~compile"])', \ 'continuous-compile', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 'C'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt clean compile"])', \ 'clean-compile', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 't'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt test"])', \ 'sbt-test', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 'p'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt package"])', \ 'sbt-package-jar', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 'd'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt inspect tree compile:sources"])', \ 'show-dependencies-tree', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 'l'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt reload"])', \ 'reload-build-definition', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 'u'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt update"])', \ 'update-external-dependencies', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l','b', 'r'], 'call call(' \ . string(function('s:execCMD')) . ', ["sbt run"])', \ 'sbt-run', 1) " REPL let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("scala")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:go_to_def() abort if SpaceVim#layers#lsp#check_filetype('scala') && executable('metals-vim') call SpaceVim#lsp#go_to_def() else EnDeclarationSplit v endif endfunction function! s:execCMD(cmd) abort call SpaceVim#plugins#runner#open(a:cmd) endfunction " vim:set et sw=2 cc=80: function! SpaceVim#layers#lang#scala#set_variable(var) abort let s:scalariform_jar = get(a:var, 'scalariform_jar', s:scalariform_jar) endfunction function! SpaceVim#layers#lang#scala#health() abort call SpaceVim#layers#lang#scala#plugins() call SpaceVim#layers#lang#scala#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/scheme.vim ================================================ "============================================================================= " scheme.vim --- lang#scheme layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:scheme_interpreter') " because this script will be loaded twice. This is the feature of vim, " when call an autoload func, vim will try to load the script again finish else let s:scheme_interpreter = '' let s:scheme_dialect = '' endif "" " @section lang#scheme, layers-lang-scheme " @parentsection layers " This layer is for scheme development, disabled by default, to enable this " layer, add following snippet to your @section(options) file. " > " [[layers]] " name = 'lang#scheme' " < " " @subsection Options " " 1. scheme_dialect: Set the dialect of scheme. " " 2. scheme_interpreter: Set the path or interpreter of scheme. " " @subsection Mappings " > " Key Function " ----------------------------------------------- " SPC l r Run current file " < " This layer also provides REPL support for scheme, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#scheme#plugins() abort return [] endfunction function! SpaceVim#layers#lang#scheme#config() abort if s:scheme_dialect ==# 'mit-scheme' if has('win32') let mit_scheme_lib = fnamemodify(s:scheme_interpreter, ':h:h') . '\lib' call SpaceVim#plugins#runner#reg_runner('scheme', 'echo | ' . shellescape(s:scheme_interpreter) . ' --heap 512 --library ' . shellescape(mit_scheme_lib) . ' --quiet --load %s && echo') call SpaceVim#plugins#repl#reg('scheme', [s:scheme_interpreter, '--heap', 512, '--library', mit_scheme_lib, '--quiet']) else call SpaceVim#plugins#runner#reg_runner('scheme', 'echo | ' . shellescape(s:scheme_interpreter) . ' --heap 512 --library "C:\Program Files (x86)\MIT-GNU Scheme\lib" --quiet --load %s && echo') call SpaceVim#plugins#repl#reg('scheme', [s:scheme_interpreter, '-q']) endif elseif s:scheme_dialect ==# 'guile' call SpaceVim#plugins#runner#reg_runner('scheme', 'echo | ' . shellescape(s:scheme_interpreter) . ' -q %s && echo') call SpaceVim#plugins#repl#reg('scheme', [s:scheme_interpreter, '-q']) elseif s:scheme_dialect ==# 'chez' " @fixme chez scheme path expr " in Windows it is: C:\Program Files\Chez Scheme 9.5\bin\ta6nt\scheme.exe " In Homebrew it is: /usr/local/bin/chez call SpaceVim#plugins#runner#reg_runner('scheme', shellescape(s:scheme_interpreter) . ' --script %s') call SpaceVim#plugins#repl#reg('scheme', [s:scheme_interpreter, '--quiet']) else call SpaceVim#plugins#runner#reg_runner('scheme', 'echo | ' . s:scheme_interpreter . ' %s && echo') call SpaceVim#plugins#repl#reg('scheme', [s:scheme_interpreter, '--silent']) endif call SpaceVim#mapping#space#regesit_lang_mappings('scheme', function('s:language_specified_mappings')) endfunction function! SpaceVim#layers#lang#scheme#set_variable(opt) abort let s:scheme_interpreter = get(a:opt, 'scheme_interpreter', s:scheme_interpreter) let s:scheme_dialect = get(a:opt, 'scheme_dialect', s:scheme_dialect) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("scheme")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#scheme#get_options() abort return ['scheme_dialect', 'scheme_interpreter'] endfunction function! SpaceVim#layers#lang#scheme#health() abort call SpaceVim#layers#lang#scheme#config() return 1 endfunction function! SpaceVim#layers#lang#scheme#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/sh.vim ================================================ "============================================================================= " sh.vim --- SpaceVim lang#sh layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#sh, layers-lang-sh " @parentsection layers " This layer is for shell script development, including bash, zsh and fish. " This layer provides basic syntax highlighting and code completion , and it " is disabled by default, to enable this " layer, add following snippet to your @section(options) file. " > " [[layers]] " name = 'lang#sh' " < " function! SpaceVim#layers#lang#sh#plugins() abort let l:plugins = [] call add(l:plugins, ['chrisbra/vim-zsh', { 'on_ft' : 'zsh' }]) call add(l:plugins, ['dag/vim-fish', { 'merged' : 0 }]) if get(g:, 'spacevim_enable_ycm') == 1 call add(l:plugins, ['Valodim/vim-zsh-completion', { 'on_ft' : 'zsh' }]) else call add(l:plugins, ['zchee/deoplete-zsh', { 'on_ft' : 'zsh' }]) endif return l:plugins endfunction function! SpaceVim#layers#lang#sh#config() abort " chrisbra/vim-zsh {{{ let g:zsh_fold_enable = 1 " }}} call SpaceVim#layers#edit#add_ft_head_tamplate('sh', s:bash_file_head) call SpaceVim#layers#edit#add_ft_head_tamplate('zsh', [ \ '#!/usr/bin/env zsh', \ '', \ '' \ ]) call SpaceVim#layers#edit#add_ft_head_tamplate('fish', [ \ '#!/usr/bin/env fish', \ '', \ '' \ ]) augroup spacevim_layer_lang_sh autocmd! autocmd FileType sh setlocal omnifunc=SpaceVim#plugins#bashcomplete#omnicomplete augroup END call SpaceVim#mapping#gd#add('sh', function('s:go_to_def')) call SpaceVim#mapping#gd#add('zsh', function('s:go_to_def')) call SpaceVim#mapping#gd#add('fish', function('s:go_to_def')) call SpaceVim#mapping#space#regesit_lang_mappings('sh', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort if SpaceVim#layers#lsp#check_filetype('sh') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) endif endfunction function! s:go_to_def() abort if SpaceVim#layers#lsp#check_filetype(&filetype) call SpaceVim#lsp#go_to_def() endif endfunction let s:bash_file_head = ['#!/usr/bin/env bash', \ '', \ '' \ ] function! SpaceVim#layers#lang#sh#set_variable(var) abort let s:bash_file_head = get(a:var, \ 'bash_file_head', \ get(a:var, \ 'bash-file-head', \ s:bash_file_head)) endfunction function! SpaceVim#layers#lang#sh#health() abort call SpaceVim#layers#lang#sh#plugins() call SpaceVim#layers#lang#sh#config() return 1 endfunction function! SpaceVim#layers#lang#sh#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/slim.vim ================================================ "============================================================================= " slim.vim --- SpaceVim lang#slimlayer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Keisuke Tsukamoto < keisuke.cs at gmail.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#slim#plugins() abort let plugins = [] call add(plugins, ['slim-template/vim-slim', {'on_ft' : ['slim']}]) return plugins endfunction function! SpaceVim#layers#lang#slim#health() abort call SpaceVim#layers#lang#slim#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/smalltalk.vim ================================================ "============================================================================= " smalltalk.vim --- SmallTalk language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#smalltalk, layers-lang-smalltalk " @parentsection layers " This layer is for smalltalk development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#smalltalk' " < " function! SpaceVim#layers#lang#smalltalk#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/smalltalk', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#smalltalk#config() abort endfunction function! SpaceVim#layers#lang#smalltalk#health() abort call SpaceVim#layers#lang#smalltalk#plugins() call SpaceVim#layers#lang#smalltalk#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/sml.vim ================================================ "============================================================================= " sml.vim --- SpaceVim lang#sml layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Tommy Tam < thawk009 # gmail.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section lang#sml, layers-lang-sml " @parentsection layers " This layer is for Standard ML development. " This layer provides basic syntax highlighting and code completion , and it " is disabled by default, to enable this " layer, add following snippet to your @section(options) file. " > " [[layers]] " name = 'lang#sml' " < " " You can run `:SMLCheckHealth` to check whether the environment if OK. " " @subsection Layer options " " `smlnj_path`: Set the path to the smlnj executable, by default, it is " `sml`. " " `mlton_path`: Set the path to the mlton executable, by default, it is " `mlton`. " " `repl_options`: Options used for REPL, by default, it is ''. " " `auto_create_def_use`: Whether to build def-use files on save automatically. " By default, it is `mlb`. Valid values is: " > " 'mlb': Auto build def-use if there's a *.mlb file " 'always': Always build def-use file " 'never': Never build def-use file " < " " `enable_conceal`: `0`/`1`. Whether to enable concealing for SML files. `0` by defaults. " `'a` becomes `α` (or `'α`). " `fn` becomes `λ.` " " `enable_conceal_show_tick`: `0`/`1`. When conceal is enabled, show `'α` for `'a` instead of `α`. " Helps for alignment. `0` by default. " " `sml_file_head`: Template for new sml file. " " Here is an example how to use above options: " > " [[layers]] " name = "lang#sml" " smlnj_path = "/usr/local/smlnj/bin/sml" " mlton_path = "/usr/local/bin/mlton" " repl_options = '' " enable_conceal = 1 " enable_conceal_show_tick = 1 " auto_create_def_use = 'always' " < if exists('s:sml_file_head') finish else let g:sml_auto_create_def_use = 'mlb' let g:sml_greek_tyvar_show_tick = '0' let g:sml_mlton_executable = 'mlton' let g:sml_repl_options = [] let g:sml_smlnj_executable = 'sml' let s:sml_enable_conceal = 0 let s:sml_file_head = [''] let s:sml_repl_options = '' endif function! SpaceVim#layers#lang#sml#plugins() abort let l:plugins = [] call add(l:plugins, ['jez/vim-better-sml', { 'on_ft' : 'sml', 'build' : 'make' }]) return l:plugins endfunction function! SpaceVim#layers#lang#sml#config() abort call SpaceVim#layers#edit#add_ft_head_tamplate('sml', s:sml_file_head) augroup spacevim_layer_lang_sml autocmd! " autocmd FileType sml setlocal omnifunc=SpaceVim#plugins#bashcomplete#omnicomplete if s:sml_enable_conceal autocmd FileType sml setlocal conceallevel=2 endif augroup END call SpaceVim#mapping#gd#add('sml', function('bettersml#jumptodef#JumpToDef')) call SpaceVim#mapping#space#regesit_lang_mappings('sml', function('s:language_specified_mappings')) let l:runner = { \ 'exe' : g:sml_smlnj_executable, \ 'opt' : [], \ 'usestdin' : 1, \ } call SpaceVim#plugins#runner#reg_runner('sml', l:runner) call SpaceVim#plugins#repl#reg('sml', g:sml_smlnj_executable . s:sml_repl_options) endfunction function! s:language_specified_mappings() abort nnoremap K :call bettersml#typequery#TypeQuery() call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ "call SpaceVim#plugins#repl#start('sml')", \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ "call SpaceVim#plugins#repl#send('raw', getline('.') . ';')", \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("raw", join(getline(1, "$"), "\n") . ";")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("raw", join(getline("''<", "''>"), "\n") . ";")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#sml#set_variable(var) abort let g:sml_smlnj_executable = get(a:var, 'smlnj_path', 'sml') let g:sml_mlton_executable = get(a:var, 'mlton_path', 'mlton') let g:sml_auto_create_def_use = get(a:var, 'auto_create_def_use', 'mlb') let g:sml_greek_tyvar_show_tick = get(a:var, 'enable_conceal_show_tick', '0') let s:sml_repl_options = get(a:var, 'repl_options', s:sml_repl_options) let g:sml_repl_options = s:sml_repl_options let s:sml_enable_conceal = get(a:var, 'enable_conceal', s:sml_enable_conceal) let s:sml_file_head = get(a:var, 'sml_file_head', s:sml_file_head) endfunction function! SpaceVim#layers#lang#sml#health() abort call SpaceVim#layers#lang#sml#plugins() call SpaceVim#layers#lang#sml#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/solidity.vim ================================================ "============================================================================= " solidity.vim --- SpaceVim solidity layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#solidity#plugins() abort let plugins = [ \ ['tomlion/vim-solidity', {'merged' : 0, 'on_ft' : 'solidity'}] \ ] return plugins endfunction function! SpaceVim#layers#lang#solidity#config() abort endfunction function! SpaceVim#layers#lang#solidity#health() abort call SpaceVim#layers#lang#solidity#plugins() call SpaceVim#layers#lang#solidity#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/splus.vim ================================================ "============================================================================= " splus.vim --- S-Plus language layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#splus#plugins() abort let plugins = [] return plugins endfunction function! SpaceVim#layers#lang#splus#config() abort endfunction function! SpaceVim#layers#lang#splus#health() abort call SpaceVim#layers#lang#splus#plugins() call SpaceVim#layers#lang#splus#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/sql.vim ================================================ "============================================================================= " sql.vim --- lang#sql layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#sql, layers-lang-sql " @parentsection layers " This layer is for sql development, disabled by default, to enable this " layer, add following snippet to your @section(options) file. " > " [[layers]] " name = 'lang#sql' " < " " @subsection Options " " 1. `enabled_formatters`: set the default formatters for sql, default is ['sqlfmtorg'] " https://github.com/sql-formatter-org/sql-formatter " you can also use `sqlformat` which is from https://github.com/andialbrecht/sqlparse " 2. `sql_formatter_command`: Set the command of sql-formatter. " 3. `sql_dialect`: set the SQL dialect, default is basic sql. " 4. `sql_formatter_config`: set the path of config path. default is empty " string. " 5. `sqlformat_cmd`: set the command for sqlformat. " 6. `sqlformat_output_encode`: set the output encoding of sqlformat, default " is `utf-8`. If you are using window, maybe need to change this option to " `cp936`. " " if exists('s:enabled_formatters') finish endif let s:enabled_formatters = ['sqlfmtorg'] let s:sql_formatter_command = 'sql-formatter' let s:sql_dialect = 'sql' let s:sql_formatter_config = '' let s:sqlformat_cmd = 'sqlformat' let s:sqlformat_output_encode = 'utf-8' function! SpaceVim#layers#lang#sql#plugins() abort let plugins = [] call add(plugins, ['tpope/vim-dadbod', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#sql#set_variable(opt) abort " keep compatibility with enabled_formater let s:enabled_formatters = get(a:opt, 'enabled_formatters', get(a:opt, 'enabled_formater', s:enabled_formatters)) let s:sql_formatter_command = get(a:opt, 'sql_formatter_command', s:sql_formatter_command) let s:sql_dialect = get(a:opt, 'sql_dialect', s:sql_dialect) let s:sql_formatter_config = get(a:opt, 'sql_formatter_config', s:sql_formatter_config) let s:sqlformat_cmd = get(a:opt, 'sqlformat_cmd', s:sqlformat_cmd) let s:sqlformat_output_encode = get(a:opt, 'sqlformat_output_encode', s:sqlformat_output_encode) endfunction function! SpaceVim#layers#lang#sql#config() abort let g:neoformat_enabled_sql = s:enabled_formatters let argv = [] if !empty(s:sql_formatter_config) let argv = ['-c', s:sql_formatter_config] endif let g:neoformat_sql_sqlfmtorg = { \ 'exe': s:sql_formatter_command, \ 'args': ['-l', s:sql_dialect,] + argv, \ 'stdin': 1, \ } let g:neoformat_sql_sqlformat = { \ 'exe': s:sqlformat_cmd, \ 'args': ['--reindent', '-'], \ 'output_encode': s:sqlformat_output_encode, \ 'stdin': 1, \ } endfunction function! SpaceVim#layers#lang#sql#health() abort call SpaceVim#layers#lang#sql#plugins() return 1 endfunction function! SpaceVim#layers#lang#sql#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/supercollider.vim ================================================ "============================================================================= " supercollider.vim --- supercollider language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#lang#supercollider#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-supercollider', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#supercollider#config() abort " call SpaceVim#plugins#repl#reg('supercollider', 'supercollider') " call SpaceVim#plugins#runner#reg_runner('supercollider', 'supercollider %s') " call SpaceVim#mapping#space#regesit_lang_mappings('supercollider', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("supercollider")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) " key bindings " " au Filetype supercollider nnoremap :call SClang_block() " au Filetype supercollider inoremap :call SClang_block()a " au Filetype supercollider vnoremap :call SClang_send() " " au Filetype supercollider vnoremap :call SClang_line() " au Filetype supercollider nnoremap :call SClang_line() " au Filetype supercollider inoremap :call SClang_line()a " " au Filetype supercollider nnoremap :call SClangHardstop() " " au Filetype supercollider nnoremap sk :SClangRecompile " au Filetype supercollider nnoremap K :call SChelp(expand('')) " au Filetype supercollider inoremap :call SCfindArgs()a " au Filetype supercollider nnoremap :call SCfindArgs() " au Filetype supercollider vnoremap :call SCfindArgsFromSelection() " " DEPRECATED " au Filetype supercollider nnoremap sd yiw :call SChelp(""") " au Filetype supercollider nnoremap sj yiw :call SCdef(""") " au Filetype supercollider nnoremap si yiw :call SCimplementation(""") " au Filetype supercollider nnoremap sr yiw :call SCreference(""") endfunction function! SpaceVim#layers#lang#supercollider#health() abort call SpaceVim#layers#lang#supercollider#plugins() call SpaceVim#layers#lang#supercollider#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/swift.vim ================================================ "============================================================================= " swift.vim --- swift layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#swift, layers-lang-swift " @parentsection layers " This layer is for swift development, including syntax highlighting and " indent. To enable it: " > " [[layers]] " name = "lang#swift" " < " @subsection Mappings " > " Key Function " ----------------------------------------------- " SPC l k jumping to placeholders " SPC l r Run current file " < " This layer also provides REPL support for swift, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " func! SpaceVim#layers#lang#swift#plugins() abort let plugins = [] call add(plugins, ['keith/swift.vim', {'merged' : 0}]) call add(plugins, ['mitsuse/autocomplete-swift', {'merged' : 0}]) return plugins endf function! SpaceVim#layers#lang#swift#config() abort call SpaceVim#plugins#repl#reg('swift', 'swift') call SpaceVim#plugins#runner#reg_runner('swift', 'swift %s') call SpaceVim#mapping#space#regesit_lang_mappings('swift', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','k'], \ '(autocomplete_swift_jump_to_placeholder)', \ 'jumping to placeholders', 0) call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("swift")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction " ref: " 1. https://jblevins.org/log/swift " 2. https://medium.com/@mahmudahsan/running-and-compiling-swift-code-in-terminal-237ee4087a9c function! SpaceVim#layers#lang#swift#health() abort call SpaceVim#layers#lang#swift#plugins() call SpaceVim#layers#lang#swift#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/swig.vim ================================================ "============================================================================= " swig.vim --- SpaceVim lang#swig layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#swig, layers-lang-swig " @parentsection layers " This layer is for swig development, including syntax highlighting and " indent. To enable it: " > " [[layers]] " name = "lang#swig" " < function! SpaceVim#layers#lang#swig#plugins() abort let plugins = [] call add(plugins, ['SpaceVim/vim-swig']) return plugins endfunction function! SpaceVim#layers#lang#swig#config() abort endfunction function! SpaceVim#layers#lang#swig#health() abort call SpaceVim#layers#lang#swig#plugins() call SpaceVim#layers#lang#swig#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/tcl.vim ================================================ "============================================================================= " tcl.vim --- tcl language support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#tcl, layers-lang-tcl " @parentsection layers " This layer is for tcl development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#tcl' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for tcl, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#tcl#plugins() abort let plugins = [] return plugins endfunction function! SpaceVim#layers#lang#tcl#config() abort call SpaceVim#plugins#repl#reg('tcl', 'tclsh') call SpaceVim#plugins#runner#reg_runner('tcl', 'tclsh %s') call SpaceVim#mapping#space#regesit_lang_mappings('tcl', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("tcl")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction " Tcl 教程 " https://www.yiibai.com/tcl/tcl_basic_syntax.html " " 1. the default tcl shell command is tclsh function! SpaceVim#layers#lang#tcl#health() abort call SpaceVim#layers#lang#tcl#plugins() call SpaceVim#layers#lang#tcl#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/teal.vim ================================================ "============================================================================= " teal.vim --- teal language support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#teal, layers-lang-teal " @parentsection layers " This layer is for teal development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#teal' " < " " @subsection layer options " " 1. `teal_interpreter`: Set the teal interpreter, by default, it is `tl` " > " [[layers]] " name = 'lang#teal' " teal_interpreter = 'path/to/tl' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for teal, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " if exists('s:teal_interpreter') finish endif let s:teal_interpreter = 'tl' function! SpaceVim#layers#lang#teal#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-teal', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#teal#config() abort call SpaceVim#plugins#repl#reg('teal', s:teal_interpreter) call SpaceVim#plugins#runner#reg_runner('teal', s:teal_interpreter . ' run %s') call SpaceVim#mapping#space#regesit_lang_mappings('teal', function('s:language_specified_mappings')) endfunction function! SpaceVim#layers#lang#teal#set_variable(var) abort let s:teal_interpreter = get(a:var, 'teal_interpreter', s:teal_interpreter) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("teal")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#teal#health() abort call SpaceVim#layers#lang#teal#plugins() call SpaceVim#layers#lang#teal#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/toml.vim ================================================ "============================================================================= " toml.vim --- toml layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#toml, layers-lang-toml " @parentsection layers " This layer provides basic syntax highlighting for toml. To enable it: " > " [[layers]] " name = "lang#toml" " < function! SpaceVim#layers#lang#toml#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-toml', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#toml#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('toml', function('s:toml_lang_mappings')) endfunction function! s:toml_lang_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','j'], 'call toml#preview()', 'toml-to-json', 1) endfunction function! SpaceVim#layers#lang#toml#health() abort call SpaceVim#layers#lang#toml#plugins() return 1 endfunction function! SpaceVim#layers#lang#toml#loadable() abort return 1 endfunction function! SpaceVim#layers#lang#toml#set_variable(var) abort endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/typescript.vim ================================================ "GetUserUserContext============================================================================= " typescript.vim --- lang#typescript layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#typescript, layers-lang-typescript " @parentsection layers " This layer provides typescript development support for SpaceVim. " To enable this layer, add following snippet into SpaceVim configuration " file. " > " [[layers]] " name = 'lang#typescript' " < " @subsection key bindings " " The following key bindings works well in both vim and neovim. " > " Key binding Description " ---------------------------------------- " g D jump to type definition " SPC l d show document " SPC l e rename symbol " SPC l i import " < " The following key bindings only work in neovim. " > " Key binding Description " ---------------------------------------- " SPC l f run code fix " SPC l p preview definition " SPC l t view type " SPC l R show reference " SPC l D show errors " SPC l o organizes imports " SPC l g d generate JSDoc " < " The following key bindings only work in vim. " > " Key binding Description " ---------------------------------------- " SPC l m interface implementations " < function! SpaceVim#layers#lang#typescript#plugins() abort let plugins = [] call add(plugins, ['leafgarland/typescript-vim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-jsx-typescript', {'merged' : 0}]) call add(plugins, ['heavenshell/vim-jsdoc', { 'on_cmd': 'JsDoc' }]) if !SpaceVim#layers#lsp#check_filetype('typescript') if has('nvim') call add(plugins, ['mhartington/nvim-typescript', {'build': './install.sh'}]) else call add(plugins, ['Quramy/tsuquyomi', {'merged' : 0}]) endif endif return plugins endfunction function! SpaceVim#layers#lang#typescript#config() abort if !has('nvim') && !SpaceVim#layers#lsp#check_filetype('typescript') augroup SpaceVim_lang_typescript autocmd! autocmd FileType typescript setlocal omnifunc=tsuquyomi#complete " Does tsuquyomi support tsx file? autocmd FileType typescriptreact setlocal omnifunc=tsuquyomi#complete augroup END endif call SpaceVim#mapping#gd#add('typescript', \ function('s:go_to_typescript_def')) call SpaceVim#mapping#gd#add('typescriptreact', \ function('s:go_to_typescriptreact_def')) call SpaceVim#mapping#space#regesit_lang_mappings('typescript', \ function('s:on_typescript_ft')) call SpaceVim#mapping#space#regesit_lang_mappings('typescriptreact', \ function('s:on_typescript_ft')) call SpaceVim#plugins#repl#reg('typescript', ['ts-node', '-i']) call SpaceVim#plugins#runner#reg_runner('typescript', { \ 'exe' : 'ts-node', \ 'usestdin' : 1, \ 'opt': [], \ }) let g:neomake_typescript_enabled_makers = ['eslint'] if index(g:spacevim_project_rooter_patterns, 'tsconfig.json') == -1 call add(g:spacevim_project_rooter_patterns, 'tsconfig.json') endif " does eslint support tsx? let g:neoformat_typescriptreact_prettier = { \ 'exe': 'prettier', \ 'args': ['--stdin', '--stdin-filepath', '"%:p"', '--parser', 'typescript'], \ 'stdin': 1 \ } let g:neoformat_enabled_typescriptreact = ['prettier'] endfunction function! SpaceVim#layers#lang#typescript#set_variable(var) abort if has('nvim') let g:nvim_typescript#server_path = \ get(a:var, 'typescript_server_path', \ './node_modules/.bin/tsserver') else let tsserver_path = get(a:var, 'typescript_server_path', '') if !empty(tsserver_path) let g:tsuquyomi_use_dev_node_module = 2 let g:tsuquyomi_tsserver_path = tsserver_path endif endif let g:jsdoc_lehre_path = get(a:var, 'lehre_path', 'lehre') endfunction function! s:on_typescript_ft() abort if SpaceVim#layers#lsp#check_filetype('typescript') \ || SpaceVim#layers#lsp#check_server('tsserver') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) else if has('nvim') nnoremap gD :TSTypeDef call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], 'TSDoc', \ 'show-document', 1) nnoremap K :TSDoc call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], 'TSRename', \ 'rename-symbol', 1) else nnoremap gD :TsuTypeDefinition call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], 'TsuquyomiSignatureHelp', \ 'show document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], 'TsuquyomiRenameSymbol', \ 'rename symbol', 1) endif endif if has('nvim') call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'f'], 'TSGetCodeFix', \ 'code fix', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'i'], 'TSImport', \ 'import', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'p'], 'TSDefPreview', \ 'preview definition', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 't'], 'TSType', \ 'view type', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'R'], 'TSRefs', \ 'show reference', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'D'], 'TSGetDiagnostics', \ 'show errors', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'o'], 'TSOrganizeImports', \ 'organizes imports', 1) else call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'i'], 'TsuImport', \ 'import', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'm'], 'TsuImplementation', \ 'interface implementations', 1) endif " code runner call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'r'], \ 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) " generate groups let g:_spacevim_mappings_space.l.g = {'name' : '+Generate'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'g', 'd'], 'JsDoc', \ 'generate-JSDoc', 1) " REPL support let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("typescript")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! s:go_to_typescript_def() abort if !SpaceVim#layers#lsp#check_filetype('typescript') " if lsp layer is not enabled for typescript, use following commands if has('nvim') " TSDef is definded in nvim-typescript TSDef else TsuDefinition endif else call SpaceVim#lsp#go_to_def() endif endfunction function! s:go_to_typescriptreact_def() abort if !SpaceVim#layers#lsp#check_filetype('typescriptreact') if has('nvim') TSDef else TsuDefinition endif else call SpaceVim#lsp#go_to_def() endif endfunction function! SpaceVim#layers#lang#typescript#health() abort call SpaceVim#layers#lang#typescript#plugins() call SpaceVim#layers#lang#typescript#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/v.vim ================================================ "============================================================================= " v.vim --- vlang language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#v, layers-lang-v " @parentsection layers " This layer is for v development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#v' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for v, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#v#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/v-vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#v#config() abort call SpaceVim#plugins#repl#reg('vlang', 'vrepl') call SpaceVim#mapping#space#regesit_lang_mappings('vlang', function('s:language_specified_mappings')) call SpaceVim#plugins#runner#reg_runner('vlang', 'v run %s') endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("vlang")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#v#health() abort call SpaceVim#layers#lang#v#plugins() call SpaceVim#layers#lang#v#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/vala.vim ================================================ "============================================================================= " vala.vim --- vala language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#vala, layers-lang-vala " @parentsection layers " This layer is for vala development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#vala' " < " @subsection Enable language server " " To enable lsp layer for vala language. you need to install " vala-language-server, for example, use AUR in Arch Linux. " > " yay -S vala-language-server " < " If you are using `nvim(>=0.5.0)`. You need to use `enabled_clients` " to specific the language servers. For example: " > " [[layers]] " name = 'lsp' " enabled_clients = ['vala_ls'] " < " If you are using `nvim(<0.5.0)` or `vim`, you need to use `override_cmd` " option. For example: " > " [[layers]] " name = "lsp" " filetypes = [ " "vala", " "genie", " ] " [layers.override_cmd] " vala = ["vala-language-server"] " genie = ["vala-language-server"] " < function! SpaceVim#layers#lang#vala#plugins() abort let plugins = [] call add(plugins, ['arrufat/vala.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#vala#config() abort call SpaceVim#mapping#space#regesit_lang_mappings('vala', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort endfunction function! SpaceVim#layers#lang#vala#health() abort call SpaceVim#layers#lang#vala#plugins() call SpaceVim#layers#lang#vala#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/vbnet.vim ================================================ "============================================================================= " vbnet.vim --- Visual Basic .NET support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#vbnet, layers-lang-vbnet " @parentsection layers " This layer is for vbnet development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#vbnet' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " function! SpaceVim#layers#lang#vbnet#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-vbnet', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#vbnet#config() abort call SpaceVim#plugins#runner#reg_runner('vbnet', ['vbc /utf8output /nologo /out:#TEMP# %s', '#TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('vbnet', function('s:language_specified_mappings')) augroup SpaceVim_lang_vbnet au! au! BufRead,BufNewFile *.vb setfiletype vbnet augroup END endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) endf " ref: " Making Vim to work in Visual Basic " http://www.vbforums.com/showthread.php?405230-Making-Vim-to-work-in-Visual-Basic " Folding like in Visual Basic .NET " https://vim.fandom.com/wiki/Folding_like_in_Visual_Basic_.NET " https://github.com/vim-scripts/VB.NET-Syntax " https://github.com/vim-scripts/vbnet.vim " http://www.viemu.com/viemu-vi-vim-visual-studio.html function! SpaceVim#layers#lang#vbnet#health() abort call SpaceVim#layers#lang#vbnet#plugins() call SpaceVim#layers#lang#vbnet#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/verilog.vim ================================================ "============================================================================= " verilog.vim --- Verilog/SystemVerilog support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#verilog, layers-lang-verilog " @parentsection layers " This layer is for verilog development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#verilog' " < function! SpaceVim#layers#lang#verilog#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/verilog', {'merged' : 0}]) return plugins endfunction " ref: " https://zhuanlan.zhihu.com/p/95081329 function! SpaceVim#layers#lang#verilog#config() abort call SpaceVim#plugins#runner#reg_runner('verilog', ['iverilog -o #TEMP# %s', '#TEMP#']) call SpaceVim#mapping#space#regesit_lang_mappings('verilog', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], \ 'call SpaceVim#plugins#runner#open()', \ 'execute current file', 1) if SpaceVim#layers#lsp#check_filetype('verilog') " \ || SpaceVim#layers#lsp#check_server('clangd') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show_document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'i'], \ 'call SpaceVim#lsp#go_to_impl()', 'implementation', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif endfunction function! SpaceVim#layers#lang#verilog#health() abort call SpaceVim#layers#lang#verilog#plugins() call SpaceVim#layers#lang#verilog#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/vim.vim ================================================ "============================================================================= " vim.vim --- SpaceVim vim layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#vim, layers-lang-vim " @parentsection layers " This layer is for vim script development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#vim' " < " " The `checkers` layer provides syntax linter for vim. you need to install the " `vint` command: " > " pip install vim-vint " < " " @subsection key bindings " " The following key bindings will be added when this layer is loaded: " > " key binding Description " SPC l e eval cursor expr " SPC l v run HelpfulVersion cword " SPC l f open exception trace " g d jump to definition " < " " If the lsp layer is enabled for vim script, the following key bindings can " be used: " > " key binding Description " SPC l e rename symbol " SPC l x show references " SPC l h show line diagnostics " SPC l d show document " K show document " SPC l w l list workspace folder " SPC l w a add workspace folder " SPC l w r remove workspace folder " < if exists('s:auto_generate_doc') finish endif let s:auto_generate_doc = 0 " Load SpaceVim API let s:SID = SpaceVim#api#import('vim#sid') let s:JOB = SpaceVim#api#import('job') let s:SYS = SpaceVim#api#import('system') let s:FILE = SpaceVim#api#import('file') let s:NOTI = SpaceVim#api#import('notify') function! SpaceVim#layers#lang#vim#plugins() abort let plugins = [ \ ['syngan/vim-vimlint', { 'on_ft' : 'vim'}], \ ['ynkdir/vim-vimlparser', { 'on_ft' : 'vim'}], \ ['todesking/vint-syntastic', { 'on_ft' : 'vim'}], \ ] call add(plugins,['tweekmonster/exception.vim', {'merged' : 0}]) call add(plugins,[g:_spacevim_root_dir . 'bundle/vim-lookup', {'merged' : 0}]) if !SpaceVim#layers#lsp#check_server('vimls') && !SpaceVim#layers#lsp#check_filetype('vim') call add(plugins,['Shougo/neco-vim', { 'on_event' : 'InsertEnter', 'loadconf_before' : 1}]) if g:spacevim_autocomplete_method ==# 'asyncomplete' call add(plugins, ['prabirshrestha/asyncomplete-necovim.vim', { \ 'loadconf' : 1, \ 'merged' : 0, \ }]) elseif g:spacevim_autocomplete_method ==# 'coc' call add(plugins, ['neoclide/coc-neco', {'merged' : 0}]) elseif g:spacevim_autocomplete_method ==# 'completor' " call add(plugins, ['kyouryuukunn/completor-necovim', {'merged' : 0}]) " This plugin has bug in neovim-qt win 7 " https://github.com/maralla/completor.vim/issues/250 endif endif call add(plugins, [g:_spacevim_root_dir . 'bundle/helpful.vim', {'merged' : 0, 'on_cmd' : 'HelpfulVersion'}]) return plugins endfunction function! SpaceVim#layers#lang#vim#config() abort let g:scriptease_iskeyword = 0 call SpaceVim#mapping#gd#add('vim','lookup#lookup') call SpaceVim#mapping#space#regesit_lang_mappings('vim', function('s:language_specified_mappings')) call SpaceVim#plugins#highlight#reg_expr('vim', '\s*\!\?\s*', '\s*\\s*') if s:auto_generate_doc augroup spacevim_layer_lang_vim autocmd! autocmd BufWritePost *.vim call s:generate_doc() autocmd FileType vim set comments=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\" autocmd QuitPre * call s:NOTI.close_all() augroup END endif " if the lsp layer is enabled, we should disable default linter if SpaceVim#layers#lsp#check_server('vimls') || SpaceVim#layers#lsp#check_filetype('vim') let g:neomake_vim_enabled_makers = [] endif endfunction function! s:on_exit(...) abort let data = get(a:000, 1) if data != 0 call s:NOTI.notify('failed to generate doc!', 'WarningMsg') else call s:NOTI.notify('vim doc generated!', 'Normal') endif endfunction function! s:generate_doc() abort " neovim in windows executable function is broken " https://github.com/neovim/neovim/issues/9391 let fd = expand('%:p') let addon_info = s:FILE.findfile('addon-info.json', fd) if !empty(addon_info) let dir = s:FILE.unify_path(addon_info, ':h') if executable('vimdoc') && !s:SYS.isWindows call s:JOB.start(['vimdoc', dir], \ { \ 'on_exit' : function('s:on_exit'), \ } \ ) elseif executable('python') call s:JOB.start(['python', '-m', 'vimdoc', dir], \ { \ 'on_exit' : function('s:on_exit'), \ } \ ) endif endif endfunction function! SpaceVim#layers#lang#vim#set_variable(var) abort let s:auto_generate_doc = get(a:var, 'auto_generate_doc', s:auto_generate_doc) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','e'], 'call call(' \ . string(function('s:eval_cursor')) . ', [])', \ 'echo eval under cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','v'], 'call call(' \ . string(function('s:helpversion_cursor')) . ', [])', \ 'echo helpversion under cursor', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','f'], 'call exception#trace()', 'tracing exceptions', 1) if SpaceVim#layers#lsp#check_server('vimls') || SpaceVim#layers#lsp#check_filetype('vim') nnoremap K :call SpaceVim#lsp#show_doc() call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'd'], \ 'call SpaceVim#lsp#show_doc()', 'show-document', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'x'], \ 'call SpaceVim#lsp#references()', 'show-references', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'e'], \ 'call SpaceVim#lsp#rename()', 'rename-symbol', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'h'], \ 'call SpaceVim#lsp#show_line_diagnostics()', 'show-line-diagnostics', 1) let g:_spacevim_mappings_space.l.w = {'name' : '+Workspace'} call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'l'], \ 'call SpaceVim#lsp#list_workspace_folder()', 'list-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'a'], \ 'call SpaceVim#lsp#add_workspace_folder()', 'add-workspace-folder', 1) call SpaceVim#mapping#space#langSPC('nnoremap', ['l', 'w', 'r'], \ 'call SpaceVim#lsp#remove_workspace_folder()', 'remove-workspace-folder', 1) endif endfunction function! s:eval_cursor() abort let is_keyword = &iskeyword set iskeyword+=: let cword = expand('') if exists(cword) echo cword . ' is ' eval(cword) " if is script function elseif cword =~# '^s:' && cword =~# '(' let sid = s:SID.get_sid_from_path(expand('%')) if sid >= 1 let func = '' . sid . '_' . split(cword, '(')[0][2:] . '()' try echon 'Calling func:' . func . ', result is:' . eval(func) catch echohl WarningMsg echo 'failed to call func: ' . func echohl None endtry else echohl WarningMsg echo 'can not find SID for current script' echohl None endif else echohl WarningMsg echon 'can not eval script val:' echohl None echon cword endif let &iskeyword = is_keyword endfunction function! s:helpversion_cursor() abort exe 'HelpfulVersion' expand('') endfunction function! SpaceVim#layers#lang#vim#health() abort call SpaceVim#layers#lang#vim#plugins() call SpaceVim#layers#lang#vim#config() return 1 endfunction function! SpaceVim#layers#lang#vim#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/vue.vim ================================================ "============================================================================= " vue.vim --- lang#vue layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#vue, layers-lang-vue " @parentsection layers " This layer is for vue development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#vue' " < " " The `checkers` layer provides syntax linter for vue. you need to install the " `eslint` and `eslint-plugin-vue`: " > " npm install -g eslint eslint-plugin-vue " < function! SpaceVim#layers#lang#vue#plugins() abort let plugins = [] call add(plugins, ['posva/vim-vue', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#vue#health() abort call SpaceVim#layers#lang#vue#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/wdl.vim ================================================ "============================================================================= " wdl.vim --- openwdl support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#wdl, layers-lang-wdl " @parentsection layers " This layer provides syntax highlighting for WDL file. and it is disabled by " default, to enable this layer, add following snippet to your SpaceVim " configuration file. " > " [[layers]] " name = 'lang#wdl' " < " function! SpaceVim#layers#lang#wdl#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-wdl', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#wdl#health() abort call SpaceVim#layers#lang#wdl#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/wolfram.vim ================================================ "============================================================================= " wolfram.vim --- wolfram language support in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#wolfram, layers-lang-wolfram " @parentsection layers " This layer is for wolfram development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'lang#wolfram' " < " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for wolfram, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " function! SpaceVim#layers#lang#wolfram#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-wolfram', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#wolfram#config() abort call SpaceVim#plugins#repl#reg('wolfram', 'wolframscript') call SpaceVim#plugins#runner#reg_runner('wolfram', 'wolframscript %s') call SpaceVim#mapping#space#regesit_lang_mappings('wolfram', function('s:language_specified_mappings')) endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'} call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'], \ 'call SpaceVim#plugins#repl#start("wolfram")', \ 'start REPL process', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'], \ 'call SpaceVim#plugins#repl#send("line")', \ 'send line and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'], \ 'call SpaceVim#plugins#repl#send("buffer")', \ 'send buffer and keep code buffer focused', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'], \ 'call SpaceVim#plugins#repl#send("selection")', \ 'send selection and keep code buffer focused', 1) endfunction function! SpaceVim#layers#lang#wolfram#health() abort call SpaceVim#layers#lang#wolfram#plugins() call SpaceVim#layers#lang#wolfram#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/xml.vim ================================================ "============================================================================= " xml.vim --- SpaceVim lang#xml layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#xml, layers-lang-xml " @parentsection layers " When editing an xml file, the omni func is xmlcomplete#CompleteTags. You can " read the documentation in autoload/xmlcomplete.vim in the vim or neovim " runtime directory. function! SpaceVim#layers#lang#xml#plugins() abort let plugins = [] call add(plugins,['Valloric/MatchTagAlways', { 'on_ft' : ['html' , 'xhtml' , 'xml' , 'jinja']}]) call add(plugins,['sukima/xmledit', { 'on_ft' : ['html' , 'xhtml' , 'xml' , 'jinja']}]) return plugins endfunction function! SpaceVim#layers#lang#xml#config() abort function! s:xml_file_init() abort set omnifunc=xmlcomplete#CompleteTags if filereadable('AndroidManifest.xml') set dict+=~/.vim/bundle/vim-dict/dict/android_xml.dic endif endfunction augroup spacevim_lang_xml autocmd! autocmd FileType xml call xml_file_init() autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags augroup END endfunction function! SpaceVim#layers#lang#xml#health() abort call SpaceVim#layers#lang#xml#plugins() call SpaceVim#layers#lang#xml#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/xquery.vim ================================================ "============================================================================= " xquery.vim --- xquery langauge support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#xquery, layers-lang-xquery " @parentsection layers " This layer provides basic syntax highlighting and indent file for xquery, " disabled by default, to enable this layer, add following snippet to " your @section(options) file. " > " [[layers]] " name = 'lang#xquery' " < function! SpaceVim#layers#lang#xquery#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-xquery', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#xquery#config() abort endfunction function! SpaceVim#layers#lang#xquery#health() abort call SpaceVim#layers#lang#xquery#plugins() call SpaceVim#layers#lang#xquery#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/yang.vim ================================================ "============================================================================= " yang.vim --- yang support for vim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section lang#yang, layers-lang-yang " @parentsection layers " This layer adds syntax highlighting for the YANG data file. " It is disabled by default, to enable this layer, add following snippet to your " SpaceVim configuration file. " > " [[layers]] " name = 'lang#yang' " < " function! SpaceVim#layers#lang#yang#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/yang.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#yang#health() abort call SpaceVim#layers#lang#yang#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/lang/zig.vim ================================================ "============================================================================= " zig.vim --- zig language support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section lang#zig, layers-lang-zig " @parentsection layers " This layer is for zig language development, disabled by default, " to enable this layer, add following snippet to your SpaceVim " configuration file. " > " [[layers]] " name = 'lang#zig' " < " " @subsection layer option " " 1. `ztagsbin`: set the path of ztags, by default this option is `ztags` " " @subsection Key bindings " > " Mode Key Function " --------------------------------------------- " normal SPC l r run current file " < " " This layer also provides REPL support for zig, the key bindings are: " > " Key Function " --------------------------------------------- " SPC l s i Start a inferior REPL process " SPC l s b send whole buffer " SPC l s l send current line " SPC l s s send selection text " < " if exists('s:ztagsbin') finish endif let s:ztagsbin = 'ztags' function! SpaceVim#layers#lang#zig#plugins() abort let plugins = [] call add(plugins, ['ziglang/zig.vim', { 'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#lang#zig#config() abort call SpaceVim#plugins#runner#reg_runner('zig', 'zig run %s') call SpaceVim#mapping#space#regesit_lang_mappings('zig', function('s:language_specified_mappings')) if executable(s:ztagsbin) && !exists('g:tagbar_type_zig') let g:tagbar_type_zig = { \ 'ctagstype' : 'zig', \ 'kinds' : [ \ 's:structs', \ 'u:unions', \ 'e:enums', \ 'v:variables', \ 'm:members', \ 'f:functions', \ 'r:errors' \ ], \ 'sro' : '.', \ 'kind2scope' : { \ 'e' : 'enum', \ 'u' : 'union', \ 's' : 'struct', \ 'r' : 'error' \ }, \ 'scope2kind' : { \ 'enum' : 'e', \ 'union' : 'u', \ 'struct' : 's', \ 'error' : 'r' \ }, \ 'ctagsbin' : s:ztagsbin, \ 'ctagsargs' : '' \ } endif endfunction function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','t'], 'call SpaceVim#plugins#runner#open("zig test %s")', 'test current file', 1) endfunction function! SpaceVim#layers#lang#zig#set_variable(opt) abort let s:ztagsbin = get(a:opt, 'ztagsbin', s:ztagsbin) endfunction function! SpaceVim#layers#lang#zig#health() abort call SpaceVim#layers#lang#zig#plugins() call SpaceVim#layers#lang#zig#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/leaderf.vim ================================================ "============================================================================= " leaderf.vim --- leaderf layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section leaderf, layers-leaderf " @parentsection layers " This layer provides fuzzy finder feature which is based on |leaderf|, and this " layer requires vim compiled with `+python` or `+python3`. " This layer is not loaded by default. To use this layer: " > " [[layers]] " name = 'leaderf' " < " @subsection Key bindings " " The following key bindings will be enabled when this layer is loaded: " > " Key bindings Description " SPC p f / Ctrl-p search files in current directory " f SPC Fuzzy find menu:CustomKeyMaps " f e Fuzzy find register " f h Fuzzy find history/yank " f j Fuzzy find jump, change " f l Fuzzy find location list " f m Fuzzy find output messages " f o Fuzzy find functions " f t Fuzzy find tags " f q Fuzzy find quick fix " f r Resumes Unite window " < let s:CMP = SpaceVim#api#import('vim#compatible') function! SpaceVim#layers#leaderf#loadable() abort return s:CMP.has('python3') || s:CMP.has('python') endfunction function! SpaceVim#layers#leaderf#health() abort call SpaceVim#layers#leaderf#plugins() call SpaceVim#layers#leaderf#config() return 1 endfunction function! SpaceVim#layers#leaderf#plugins() abort let plugins = [] call add(plugins, \ ['Yggdroot/LeaderF', \ { \ 'loadconf' : 1, \ 'merged' : 0, \ }]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neomru.vim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neoyank.vim', { 'merged' : 0}]) " use this repo unicode data call add(plugins, ['SpaceVim/Unite-sources', {'merged' : 0}]) " snippet if g:spacevim_snippet_engine ==# 'neosnippet' call add(plugins, [g:_spacevim_root_dir . 'bundle/LeaderF-neosnippet', { \ 'merged' : 0, \ 'loadconf' : 1}]) elseif g:spacevim_snippet_engine ==# 'ultisnips' call add(plugins, [g:_spacevim_root_dir . 'bundle/LeaderF-snippet', { \ 'merged' : 0, \ 'loadconf' : 1}]) endif return plugins endfunction let g:Lf_Extensions = get(g:, 'Lf_Extensions', {}) let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#leaderf#config() abort " disable default key binding Leader f and Leader b " use ctrl-p or SPC p f to search files in project " use SPC b b to list buffers let g:Lf_ShortcutF = '' let g:Lf_ShortcutB = '' let g:Lf_Extensions = get(g:, 'Lf_Extensions', {}) let g:Lf_Extensions = { \ 'neomru': { \ 'source': string(s:_function('s:neomru', 1))[10:-3], \ 'accept': string(s:_function('s:neomru_acp', 1))[10:-3], \ 'supports_name_only': 1, \ 'supports_multi': 0, \ }, \} let g:Lf_Extensions.menu = \ { \ 'source': string(s:_function('s:menu', 1))[10:-3], \ 'arguments': [ \ { 'name': ['--name'], 'nargs': 1, 'help': 'Use leaderf show unite menu'}, \ ], \ 'accept': string(s:_function('s:accept', 1))[10:-3], \ } let g:Lf_Extensions.register = \ { \ 'source': string(s:_function('s:register', 1))[10:-3], \ 'accept': string(s:_function('s:register_acp', 1))[10:-3], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } let g:Lf_Extensions.jumplist = \ { \ 'source': string(s:_function('s:jumplist', 1))[10:-3], \ 'accept': string(s:_function('s:jumplist_acp', 1))[10:-3], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } let g:Lf_Extensions.message = \ { \ 'source': string(s:_function('s:message', 1))[10:-3], \ 'accept': string(s:_function('s:message_acp', 1))[10:-3], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } let g:Lf_Extensions.manpage = \ { \ 'source': string(s:_function('s:manpage', 1))[10:-3], \ 'accept': string(s:_function('s:manpage_acp', 1))[10:-3], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } let g:Lf_Extensions.neoyank = \ { \ 'source': string(s:_function('s:neoyank', 1))[10:-3], \ 'accept': string(s:_function('s:neoyank_acp', 1))[10:-3], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } let g:Lf_Extensions.quickfix = \ { \ 'source': string(s:_function('s:quickfix', 1))[10:-3], \ 'accept': string(s:_function('s:quickfix_acp', 1))[10:-3], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } let g:Lf_Extensions.bookmarks = \ { \ 'source': string(s:_function('s:bookmarks', 1))[10:-3], \ 'accept': string(s:_function('s:bookmarks_acp', 1))[10:-3], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } let g:Lf_Extensions.locationlist = \ { \ 'source': string(s:_function('s:locationlist', 1))[10:-3], \ 'accept': string(s:_function('s:locationlist_acp', 1))[10:-3], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } let g:Lf_Extensions.unicode = \ { \ 'source': string(s:_function('s:unicode', 1))[10:-3], \ 'accept': string(s:_function('s:unicode_acp', 1))[10:-3], \ 'arguments': [ \ { 'name': ['--name'], 'nargs': '*', 'help': 'Use leaderf show unite menu'}, \ ], \ 'highlights_def': { \ 'Lf_register_name': '^".', \ 'Lf_register_content': '\s\+.*', \ }, \ 'highlights_cmd': [ \ 'hi def link Lf_register_name ModeMsg', \ 'hi def link Lf_register_content Normal', \ ], \ 'after_enter' : string(s:_function('s:init_leaderf_win', 1))[10:-3] \ } call SpaceVim#mapping#space#def('nnoremap', ['i', 'u'], 'Leaderf unicode', 'search-and-insert-unicode', 1) if g:spacevim_snippet_engine ==# 'neosnippet' call SpaceVim#mapping#space#def('nnoremap', ['i', 's'], 'Leaderf neosnippet', 'insert snippets', 1) elseif g:spacevim_snippet_engine ==# 'ultisnips' call SpaceVim#mapping#space#def('nnoremap', ['i', 's'], 'Leaderf snippet', 'insert snippets', 1) endif let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['?'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Leaderf menu --name CustomKeyMaps --input [SPC]"])', \ ['show-mappings', \ [ \ 'SPC ? is to show mappings', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', '[SPC]'], 'Leaderf help --input=SpaceVim', \ ['find-SpaceVim-help', \ [ \ 'SPC h SPC is to find SpaceVim help', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) " without this key binding, SPC h SPC always open key binding guide. nmap h [SPC]h[SPC] call SpaceVim#mapping#space#def('nnoremap', ['h', 'm'], 'Leaderf manpage', 'search-available-man-pages', 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['b', 'b'], 'Leaderf buffer', \ ['buffer-list', \ [ \ 'SPC b b is to open buffer list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'r'], 'Leaderf neomru', \ ['open-recent-file', \ [ \ 'SPC f r is to open recent file list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['j', 'i'], 'Leaderf function', \ ['jump-to-definition-in-buffer', \ [ \ 'SPC j i is to jump to a definition in buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['r', 'l'], 'call call(' \ . string(s:_function('s:warp_denite')) . ', ["Leaderf --recall"])', \ ['resume-fuzzy-finder-windows', \ [ \ 'SPC r l is to resume fuzzy finder windows', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['T', 's'], 'Leaderf colorscheme', \ ['fuzzy-find-colorschemes', \ [ \ 'SPC T s is to fuzzy find colorschemes', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'f'], 'exe "Leaderf file " . expand("%:p:h")', \ ['Find-files-in-buffer-directory', \ [ \ '[SPC f f] is to find files in the directory of the current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'F'], 'exe "Leaderf file --input=" . expand("") . " " . expand("%:p:h")', \ ['Find-cursor-file-in-buffer-directory', \ [ \ '[SPC f F] is to find cursor file in the directory of the current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['p', 'F'], \ 'LeaderfFileCword', \ ['find-cursor-file-in-project', \ [ \ '[SPC p F] is to find cursor file in the root of the current project', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['p', 'f'], \ 'Leaderf file --fullPath ' \ . SpaceVim#plugins#projectmanager#current_root(), \ ['find-files-in-project', \ [ \ '[SPC p f] is to find files in the root of the current project', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) nnoremap :exe 'Leaderf file --fullPath ' \ . SpaceVim#plugins#projectmanager#current_root() let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', 'i'], 'LeaderfHelpCword', \ ['get-help-for-cursor-symbol', \ [ \ '[SPC h i] is to get help with the symbol at point', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let g:_spacevim_mappings.f = {'name' : '+Fuzzy Finder'} call s:defind_fuzzy_finder() endfunction function! s:init_leaderf_win(...) abort setlocal nonumber setlocal nowrap endfunction function! s:register(...) abort return split(s:CMP.execute('registers'), '\n')[1:] endfunction function! s:register_acp(line, args) abort let @" = a:line echohl ModeMsg echon 'Yanked!' echohl None endfunction function! s:neomru(...) abort return neomru#_gather_file_candidates() endfunction function! s:neomru_acp(line, args) abort exe 'e' a:line endfunction function! s:jumplist(...) abort return split(s:CMP.execute('jumps'), '\n')[1:] endfunction function! s:jumplist_acp(line, args) abort let list = split(a:line) if len(list) < 4 return endif let [linenr, col, file_text] = [list[1], list[2]+1, join(list[3:])] let lines = getbufline(file_text, linenr) let path = file_text if empty(lines) if stridx(join(split(getline(linenr))), file_text) == 0 let lines = [file_text] let path = bufname('%') elseif filereadable(path) let lines = ['buffer unloaded'] else " Skip. return endif endif exe 'e ' . path call cursor(linenr, col) endfunction function! s:message(...) abort return split(s:CMP.execute('message'), '\n') endfunction function! s:message_acp(line, args) abort let @" = a:line echohl ModeMsg echo 'Yanked' echohl None endfunction function! s:manpage(...) abort if executable('man') && exists(':Man') ==# 2 return getcompletion(':Man ', 'cmdline') else return [] endif endfunction function! s:manpage_acp(line, args) abort if !empty(a:line) && exists(':Man') ==# 2 exe printf('Man %s', a:line) endif endfunction function! s:bookmarks(...) abort let bookmarks = [] let files = sort(bm#all_files()) for file in files let line_nrs = sort(bm#all_lines(file), "bm#compare_lines") for line_nr in line_nrs let bookmark = bm#get_bookmark_by_line(file, line_nr) call add(bookmarks, printf("%s:%d:1:%s", file, line_nr, \ bookmark.annotation !=# '' \ ? "Annotation: " . bookmark.annotation \ : (bookmark.content !=# "" ? bookmark.content \ : "empty line") \ )) endfor endfor return bookmarks endfunction function! s:bookmarks_acp(line, argvs) abort let line = a:line let filename = fnameescape(split(line, ':\d\+:')[0]) let linenr = matchstr(line, ':\d\+:')[1:-2] let colum = matchstr(line, '\(:\d\+\)\@<=:\d\+:')[1:-2] exe 'e ' . filename call cursor(linenr, colum) endfunction func! s:neoyank(...) abort let yank = [] for text in neoyank#_get_yank_histories()['"'] call add(yank, '": ' . join(split(text[0], "\n"), '\n')) endfor return yank endfunction function! s:neoyank_acp(line, args) abort let line = a:line[3:] call append(0, split(line, '\\n')) endfunction let s:menu_high = {} call extend(s:menu_high, {'Projects' : \ { \ 'highlights_def' : { \ 'Lf_menu_projects_time' : '<\d\+-\d\+-\d\+\s\d\+:\d\+:\d\+>' \ }, \ 'highlights_cmd' : [ \ 'hi def link Lf_menu_projects_time Comment' \ ], \ } \ }) function! s:menu(name) abort let menu_name = a:name['--name'][0] let s:menu_action = {} let menu = get(g:unite_source_menu_menus, menu_name, {}) if has_key(menu, 'command_candidates') let rt = [] for item in menu.command_candidates call add(rt, item[0]) call extend(s:menu_action, {item[0] : item[1]}, 'force') endfor return rt else return [] endif endfunction function! SpaceVim#layers#leaderf#run_menu(name) abort call s:run_menu(a:name) endfunction function! s:run_menu(name) abort let g:Lf_Extensions.menu.highlights_def = get(get(s:menu_high, a:name, {}), 'highlights_def', {}) let g:Lf_Extensions.menu.highlights_cmd = get(get(s:menu_high, a:name, {}), 'highlights_cmd', {}) exe printf('Leaderf menu --name %s', a:name) endfunction function! s:accept(line, args) abort let action = get(s:menu_action, a:line, '') exe action endfunction function! s:quickfix_to_grep(v) abort return bufname(a:v.bufnr) . ':' . a:v.lnum . ':' . a:v.col . ':' . a:v.text endfunction function! s:quickfix(...) abort return map(getqflist(), 's:quickfix_to_grep(v:val)') endfunction function! s:quickfix_acp(line, args) abort let line = a:line let filename = fnameescape(split(line, ':\d\+:')[0]) let linenr = matchstr(line, ':\d\+:')[1:-2] let colum = matchstr(line, '\(:\d\+\)\@<=:\d\+:')[1:-2] exe 'e ' . filename call cursor(linenr, colum) endfunction function! s:location_list_to_grep(v) abort return bufname(a:v.bufnr) . ':' . a:v.lnum . ':' . a:v.col . ':' . a:v.text endfunction function! s:locationlist(...) abort return map(getloclist(0), 's:location_list_to_grep(v:val)') endfunction function! s:locationlist_acp(line, args) abort let line = a:line let filename = fnameescape(split(line, ':\d\+:')[0]) let linenr = matchstr(line, ':\d\+:')[1:-2] let colum = matchstr(line, '\(:\d\+\)\@<=:\d\+:')[1:-2] exe 'e ' . filename call cursor(linenr, colum) endfunction function! s:unicode(unicode_groups) abort let unicode_group = get(a:unicode_groups, '--name', []) if empty(unicode_group) let filelist = map(split(globpath(g:unite_unicode_data_path, '*.txt'), '\n'), \ '[fnamemodify(v:val, ":t:r"), fnamemodify(v:val, ":p")]') return map(filelist, 'v:val[0]') else let unicode = [] call map(unicode_group, 'extend(unicode, readfile(g:unite_unicode_data_path . v:val . ".txt"))') return unicode endif endfunction function! s:unicode_acp(line, args) abort if stridx(a:line, ';') > -1 let glyph = matchstr(a:line, ';\x\{4,5}') let writable = nr2char(str2nr(glyph[1:], 16)) exe 'norm! a' . eval("\"" . writable . "\"") " echo printf("%s%s", writable, glyph) else exe 'Leaderf unicode --name ' . a:line endif endfunction let s:file = expand(':~') let s:unite_lnum = expand('') + 3 function! s:defind_fuzzy_finder() abort nnoremap fr \ :Leaderf --recall let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.r = ['Leaderf --recall', \ 'resume-fuzzy-finder-window', \ [ \ '[Leader f r ] is to resume fuzzy finder window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fe \ :Leaderf register let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.e = ['Leaderf register', \ 'fuzzy-find-registers', \ [ \ '[Leader f r ] is to fuzzy find registers', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fh \ :Leaderf neoyank let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.h = ['Leaderf neoyank', \ 'fuzzy-find-yank-history', \ [ \ '[Leader f h] is to fuzzy find history and yank content', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fj \ :Leaderf jumplist let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.j = ['Leaderf jumplist', \ 'fuzzy-find-jump-list', \ [ \ '[Leader f j] is to fuzzy find jump list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fl \ :Leaderf locationlist let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.l = ['Leaderf locationlist', \ 'fuzzy-find-location-list', \ [ \ '[Leader f l] is to fuzzy find location list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fm \ :Leaderf message let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.m = ['Leaderf message', \ 'fuzzy-find-message', \ [ \ '[Leader f m] is to fuzzy find message', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fq \ :Leaderf quickfix let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.q = ['Leaderf quickfix', \ 'fuzzy-find-quickfix-list', \ [ \ '[Leader f q] is to fuzzy find quickfix list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fo :Leaderf function let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.o = ['Leaderf function', \ 'fuzzy-find-outline', \ [ \ '[Leader f o] is to fuzzy find outline', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap ft :Leaderf tag let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.t = ['Leaderf tag', \ 'fuzzy-find-tags', \ [ \ '[Leader f t] is to fuzzy find tags', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap f :call run_menu('CustomKeyMaps') let g:_spacevim_mappings.f['[SPC]'] = ['Leaderf menu --name CustomKeyMaps', \ 'fuzzy-find-custom-key-bindings', \ [ \ '[Leader f SPC] is to fuzzy find custom key bindings', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fp :call run_menu('AddedPlugins') let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.p = ['Leaderf menu --name AddedPlugins', \ 'fuzzy-find-vim-packages', \ [ \ '[Leader f p] is to fuzzy find vim packages installed in SpaceVim', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endfunction function! s:accept_mru(line) abort exe 'e ' . a:line endfunction function! s:warp_denite(cmd) abort exe a:cmd doautocmd WinEnter endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr, ...) abort if a:0 > 1 return function(substitute(a:fstr, 's:', s:_s, 'g')) else return function(a:fstr) endif endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/lsp.vim ================================================ "============================================================================= " lsp.vim --- SpaceVim lsp layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:NVIM_VERSION') finish endif "" " @section language server protocol, layers-lsp " @parentsection layers " This layer provides language client support for SpaceVim. " By default, this layer is not loaded. You need to enable this layer with " specific clients, for example: " > " [[layers]] " name = 'lsp' " enabled_clients = ['vimls'] " < " " @subsection layer options " " The following options can be used with this layer: " " 1. `enabled_clients`: set the enabled servers. This options only for " neovim 0.5.0+. " 2. `override_cmd`: If you are not using neovim 0.5.0+, use this option to " set default lsp command. " " @subsection LSP servers " " The default LSP servers are: " > " name Discriptions " --------------------------------------------------- " vimls vim-language-server " < " @subsection User autocmd " " 1. SpaceVimLspSetup: This User autocmd will be triggered after lsp setup " function. let s:NVIM_VERSION = SpaceVim#api#import('neovim#version') let s:FILE = SpaceVim#api#import('file') let s:enabled_clients = [] let s:override_client_cmds = {} let s:use_nvim_lsp = (has('nvim-0.5.0') && s:NVIM_VERSION.is_release_version()) || has('nvim-0.6.0') function! SpaceVim#layers#lsp#health() abort call SpaceVim#layers#lsp#plugins() call SpaceVim#layers#lsp#config() return 1 endfunction function! SpaceVim#layers#lsp#loadable() abort return 1 endfunction function! SpaceVim#layers#lsp#setup() abort lua require("spacevim.lsp").setup( \ require("spacevim").eval("s:enabled_clients"), \ require("spacevim").eval("s:override_client_cmds") \ ) doautocmd User SpaceVimLspSetup endfunction function! SpaceVim#layers#lsp#plugins() abort let plugins = [] if has('nvim-0.9.1') call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-lspconfig-latest', {'merged' : 0, 'loadconf' : 1, 'on_event' : ['BufReadPost']}]) if g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete-lsp', {'merged' : 0}]) elseif g:spacevim_autocomplete_method ==# 'nvim-cmp' call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-nvim-lsp', { \ 'merged' : 0, \ }]) endif elseif has('nvim-0.8.0') call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-lspconfig-0.1.4', {'merged' : 0, 'loadconf' : 1}]) if g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete-lsp', {'merged' : 0}]) elseif g:spacevim_autocomplete_method ==# 'nvim-cmp' call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-nvim-lsp', { \ 'merged' : 0, \ }]) endif elseif has('nvim-0.7.0') call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-lspconfig-0.1.3', {'merged' : 0, 'loadconf' : 1}]) if g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete-lsp', {'merged' : 0}]) elseif g:spacevim_autocomplete_method ==# 'nvim-cmp' call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-nvim-lsp', { \ 'merged' : 0, \ }]) endif " this is the laste commit support nvim-0.5.0 " https://github.com/neovim/nvim-lspconfig/tree/4569e14e59bed1d18a91db76fe3261628f60e3f0 elseif has('nvim-0.5.0') call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-lspconfig', {'merged' : 0, 'loadconf' : 1}]) if g:spacevim_autocomplete_method ==# 'deoplete' call add(plugins, [g:_spacevim_root_dir . 'bundle/deoplete-lsp', {'merged' : 0}]) elseif g:spacevim_autocomplete_method ==# 'nvim-cmp' call add(plugins, [g:_spacevim_root_dir . 'bundle/cmp-nvim-lsp', { \ 'merged' : 0, \ }]) endif elseif SpaceVim#layers#isLoaded('autocomplete') && get(g:, 'spacevim_autocomplete_method') ==# 'coc' " nop elseif has('nvim-0.4.3') && $ENABLE_NVIM043LSP call add(plugins, ['bfredl/nvim-lspmirror', {'merged' : 0}]) call add(plugins, ['bfredl/nvim-lspext', {'merged' : 0}]) elseif has('nvim') call add(plugins, ['autozimu/LanguageClient-neovim', \ { 'merged': 0, 'if': has('python3'), 'build' : 'bash install.sh' }]) else call add(plugins, ['prabirshrestha/async.vim', {'merged' : 0}]) call add(plugins, ['prabirshrestha/vim-lsp', {'merged' : 0}]) endif return plugins endfunction function! SpaceVim#layers#lsp#config() abort if s:use_nvim_lsp " nvim-lspconfig is used, do not check enabled_fts else for ft in s:enabled_fts call SpaceVim#lsp#reg_server(ft, s:lsp_servers[ft]) endfor endif " SpaceVim/LanguageClient-neovim {{{ let g:LanguageClient_diagnosticsDisplay = { \ 1: { \ 'name': 'Error', \ 'texthl': 'LanguageClientError', \ 'signText': g:spacevim_error_symbol, \ 'signTexthl': 'LanguageClientError', \ 'virtualTexthl': 'Error', \ }, \ 2: { \ 'name': 'Warning', \ 'texthl': 'LanguageClientWarning', \ 'signText': g:spacevim_warning_symbol, \ 'signTexthl': 'LanguageClientWarningSign', \ 'virtualTexthl': 'Todo', \ }, \ 3: { \ 'name': 'Information', \ 'texthl': 'LanguageClientInfo', \ 'signText': g:spacevim_info_symbol, \ 'signTexthl': 'LanguageClientInfoSign', \ 'virtualTexthl': 'Todo', \ }, \ 4: { \ 'name': 'Hint', \ 'texthl': 'LanguageClientInfo', \ 'signText': g:spacevim_info_symbol, \ 'signTexthl': 'LanguageClientInfoSign', \ 'virtualTexthl': 'Todo', \ }, \ } if g:spacevim_lint_engine ==# 'neomake' let g:LanguageClient_diagnosticsDisplay[1].texthl = 'NeomakeError' let g:LanguageClient_diagnosticsDisplay[1].signTexthl = 'NeomakeErrorSign' let g:LanguageClient_diagnosticsDisplay[2].texthl = 'NeomakeWarning' let g:LanguageClient_diagnosticsDisplay[2].signTexthl = \ 'NeomakeWarningSign' let g:LanguageClient_diagnosticsDisplay[3].texthl = 'NeomakeInfo' let g:LanguageClient_diagnosticsDisplay[3].signTexthl = 'NeomakeInfoSign' let g:LanguageClient_diagnosticsDisplay[4].texthl = 'NeomakeMessage' let g:LanguageClient_diagnosticsDisplay[4].signTexthl = \ 'NeomakeMessageSign' elseif g:spacevim_lint_engine ==# 'ale' let g:LanguageClient_diagnosticsDisplay[1].texthl = 'ALEError' let g:LanguageClient_diagnosticsDisplay[1].signTexthl = 'ALEErrorSign' let g:LanguageClient_diagnosticsDisplay[2].texthl = 'ALEWarning' let g:LanguageClient_diagnosticsDisplay[2].signTexthl = 'ALEWarningSign' let g:LanguageClient_diagnosticsDisplay[3].texthl = 'ALEInfo' let g:LanguageClient_diagnosticsDisplay[3].signTexthl = 'ALEInfoSign' let g:LanguageClient_diagnosticsDisplay[4].texthl = 'ALEInfo' let g:LanguageClient_diagnosticsDisplay[4].signTexthl = 'ALEInfoSign' endif if !SpaceVim#layers#isLoaded('checkers') call SpaceVim#mapping#space#def('nnoremap', ['e', 'c'], 'call call(' \ . string(s:_function('s:clear_errors')) . ', [])', \ 'clear all errors', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'n'], 'call call(' \ . string(s:_function('s:jump_to_next_error')) . ', [])', \ 'next-error', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'p'], 'call call(' \ . string(s:_function('s:jump_to_previous_error')) . ', [])', \ 'previous-error', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'N'], 'call call(' \ . string(s:_function('s:jump_to_previous_error')) . ', [])', \ 'previous-error', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'l'], 'call call(' \ . string(s:_function('s:toggle_show_error')) . ', [0])', \ 'toggle showing the error list', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'L'], 'call call(' \ . string(s:_function('s:toggle_show_error')) . ', [1])', \ 'toggle showing the error list', 1) endif let g:LanguageClient_autoStart = 1 let g:lsp_async_completion = 1 " }}} endfunction let s:enabled_fts = [] let s:lsp_servers = { \ 'ada' : ['ada_language_server'], \ 'c' : ['clangd'], \ 'cpp' : ['clangd'], \ 'crystal' : ['scry'], \ 'css' : ['css-languageserver', '--stdio'], \ 'dart' : ['dart_language_server'], \ 'dockerfile' : ['docker-langserver', '--stdio'], \ 'erlang' : ['erlang_ls'], \ 'go' : ['gopls'], \ 'haskell' : ['hie-wrapper', '--lsp'], \ 'html' : ['html-languageserver', '--stdio'], \ 'javascript' : ['typescript-language-server', '--stdio'], \ 'javascriptreact' : ['typescript-language-server', '--stdio'], \ 'julia' : ['julia', '--startup-file=no', '--history-file=no', '-e', 'using LanguageServer; server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); server.runlinter = true; run(server);'], \ 'objc' : ['clangd'], \ 'objcpp' : ['clangd'], \ 'php' : ['php', g:spacevim_plugin_bundle_dir . 'repos/github.com/phpactor/phpactor/bin/phpactor', 'language-server'], \ 'purescript' : ['purescript-language-server', '--stdio'], \ 'python' : ['pyls'], \ 'reason' : ['ocaml-language-server'], \ 'ruby' : ['solargraph', 'stdio'], \ 'rust' : ['rustup', 'run', 'nightly', 'rls'], \ 'scala' : ['metals-vim'], \ 'sh' : ['bash-language-server', 'start'], \ 'typescript' : ['typescript-language-server', '--stdio'], \ 'typescriptreact' : ['typescript-language-server', '--stdio'], \ 'vim' : ['vim-language-server', '--stdio'], \ 'vue' : ['vls'] \ } function! SpaceVim#layers#lsp#set_variable(var) abort if s:use_nvim_lsp let s:enabled_clients = get(a:var, 'enabled_clients', s:enabled_clients) let s:override_client_cmds = get(a:var, 'override_client_cmds', {}) else let override = get(a:var, 'override_cmd', {}) if !empty(override) call extend(s:lsp_servers, override, 'force') endif let l:cwd = s:FILE.path_to_fname(getcwd()) for ft in get(a:var, 'filetypes', []) let l:cmds = get(s:lsp_servers, ft, ['']) let l:exec = l:cmds[0] if empty(l:exec) call SpaceVim#logger#warn('Failed to find the lsp server command for ' . ft) else if executable(l:exec) call add(s:enabled_fts, ft) let l:newcmds = [] for l:cmd in l:cmds let l:newcmd = substitute(l:cmd, '#{cwd}', l:cwd, 'g') call add(l:newcmds, l:newcmd) endfor let s:lsp_servers[ft] = l:newcmds else call SpaceVim#logger#warn('Failed to enable lsp for ' . ft . ', ' . l:exec . ' is not executable!') endif endif endfor endif endfunction function! SpaceVim#layers#lsp#check_filetype(ft) abort if s:use_nvim_lsp return 0 else return index(s:enabled_fts, a:ft) != -1 endif endfunction function! SpaceVim#layers#lsp#check_server(server) abort return index(s:enabled_clients, a:server) != -1 endfunction function! s:jump_to_next_error() abort try lnext catch try ll catch try cnext catch try cc catch echohl WarningMsg echon 'There is no errors!' echohl None endtry endtry endtry endtry endfunction function! s:jump_to_previous_error() abort try lprevious catch try ll catch try cprevious catch try cc catch echohl WarningMsg echon 'There is no errors!' echohl None endtry endtry endtry endtry endfunction function! s:toggle_show_error(...) abort try botright lopen catch try if len(getqflist()) == 0 echohl WarningMsg echon 'There is no errors!' echohl None else botright copen endif catch endtry endtry if a:1 == 1 wincmd w endif endfunction if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " TODO clear errors function! s:clear_errors() abort sign unplace * endfunction ================================================ FILE: autoload/SpaceVim/layers/mail.vim ================================================ "============================================================================= " mail.vim --- SpaceVim mail layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section mail, layers-mail " @parentsection layers " The `mail` layer provides basic function to connected to mail server. " NOTE: this layer is still wip now. " @subsection layer options " " 1. `imap_host`: set the imap server host " 2. `imap_port`: set the imap server port " 3. `imap_login`: set the login of imap server " 4. `imap_password`: set the password of imap server " " @subsection key bindings " > " Key Bingding Description " SPC a m open mail client " < if exists('s:imap_host') finish endif let s:imap_host = 'imap.163.com' let s:imap_port = 143 let s:imap_login = '' let s:imap_password = '' function! SpaceVim#layers#mail#plugins() abort return [ \ [g:_spacevim_root_dir . 'bundle/vim-mail', {'merged' : 0, 'loadconf' : 1}], \ ] endfunction function! SpaceVim#layers#mail#set_variable(opt) abort let s:imap_host = get(a:opt, 'imap_host', s:imap_host) let s:imap_port = get(a:opt, 'imap_port', s:imap_port) let s:imap_login = get(a:opt, 'imap_login', s:imap_login) let s:imap_password = get(a:opt, 'imap_password', s:imap_password) endfunction function! SpaceVim#layers#mail#config() abort call SpaceVim#mapping#space#def('nnoremap', ['a', 'm'], 'call mail#client#open()', 'Start mail client', 1) let g:mail_imap_host = s:imap_host let g:mail_imap_port = s:imap_port let g:mail_imap_login = s:imap_login let g:mail_imap_password = s:imap_password endfunction function! SpaceVim#layers#mail#health() abort call SpaceVim#layers#mail#plugins() call SpaceVim#layers#mail#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/operator.vim ================================================ "============================================================================= " operator.vim --- SpaceVim operator layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section operator, layers-operator " @parentsection layers " With this layer, you can confirm that text is yanked correctly and see " yanked text by highlighting. function! SpaceVim#layers#operator#plugins() abort let plugins = [] call add(plugins, ['kana/vim-operator-user', { 'merged' : 0 }]) call add(plugins, ['haya14busa/vim-operator-flashy', { 'merged' : 0 }]) return plugins endfunction function! SpaceVim#layers#operator#config() abort map y (operator-flashy) nmap Y (operator-flashy)$ endfunction function! SpaceVim#layers#operator#health() abort call SpaceVim#layers#operator#plugins() call SpaceVim#layers#operator#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/org.vim ================================================ "============================================================================= " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#org#plugins() abort return SpaceVim#layers#lang#org#plugins() endfunction function! SpaceVim#layers#org#config() abort endfunction function! SpaceVim#layers#org#health() abort call SpaceVim#layers#org#plugins() call SpaceVim#layers#org#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/shell.vim ================================================ "============================================================================= " shell.vim --- SpaceVim shell layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section shell, layers-shell " @parentsection layers " SpaceVim uses deol.nvim for shell support in neovim and uses vimshell for " vim. For more info, read |deol| and |vimshell|. " " @subsection layer options " " 1. `default_shell`: config the default shell to be used by shell layer. " " @subsection key bindings " > " Key bindings Description " SPC ' Open or switch to terminal windows " q Hide terminal windows in normal mode " ctrl-` Hide terminal window in terminal mode " < let s:SYSTEM = SpaceVim#api#import('system') let s:FLOAT = SpaceVim#api#import('neovim#floating') let s:WIN = SpaceVim#api#import('vim#window') function! SpaceVim#layers#shell#plugins() abort let plugins = [] if has('nvim') call add(plugins,['Shougo/deol.nvim']) endif call add(plugins,['Shougo/vimshell.vim', { 'on_cmd':['VimShell']}]) return plugins endfunction let s:file = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#shell#config() abort call SpaceVim#mapping#space#def('nnoremap', ["'"], 'call call(' \ . string(function('s:open_default_shell')) . ', [0])', \ ['open-shell', \ [ \ "[SPC '] is to open or jump to default shell window", \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ], 1) call SpaceVim#mapping#space#def('nnoremap', ["\""], 'call call(' \ . string(function('s:open_default_shell')) . ', [1])', \ ['open-shell-in-buffer-dir', \ [ \ "[SPC \"] is to open or jump to default shell window with the current file's pwd", \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ], 1) if has('nvim') || exists(':tnoremap') == 2 exe 'tnoremap :wincmd l' exe 'tnoremap :wincmd h' exe 'tnoremap :wincmd k' exe 'tnoremap :wincmd j' exe 'tnoremap :bprev' exe 'tnoremap :bnext' exe 'tnoremap :q' if s:SYSTEM.isWindows exe 'tnoremap SpaceVim#layers#shell#terminal()' exe 'tnoremap SpaceVim#layers#shell#ctrl_u()' exe 'tnoremap SpaceVim#layers#shell#ctrl_w()' exe 'tnoremap SpaceVim#layers#shell#ctrl_r()' endif endif if has('nvim') augroup spacevim_layer_shell au! au WinEnter,BufWinEnter term://* startinsert au TermOpen * call s:on_term_open() if has('timers') au TermClose * let g:_spacevim_termclose_abuf = expand('') | call timer_start(5, 'SpaceVim#mapping#close_term_buffer') else au TermClose * let g:_spacevim_termclose_abuf = expand('') | call SpaceVim#mapping#close_term_buffer() endif augroup END endif endfunction function! s:on_term_open() abort startinsert let &l:statusline = SpaceVim#layers#core#statusline#get(1) endfunction " FIXME: func! SpaceVim#layers#shell#terminal() abort let line = getline('.') if isdirectory(line[:-2]) return "exit\" endif return '' endf func! SpaceVim#layers#shell#ctrl_u() abort let line = getline('.') let prompt = getcwd() . '>' return repeat("\", len(line) - len(prompt) + 2) endfunction func! SpaceVim#layers#shell#ctrl_r() abort let reg = getchar() if reg == 43 return @+ endif return "\" endfunction func! SpaceVim#layers#shell#ctrl_w() abort let cursorpos = getcurpos() let line = getline(cursorpos[1])[:cursorpos[2]-1] let str = matchstr(line, '[^ ]*\s*$') return repeat("\", len(str)) endfunction let s:default_shell = 'terminal' let s:default_position = 'top' let s:default_height = 30 " the shell should be cached base on the root of a project, cache the terminal " buffer id in: s:shell_cached_br let s:enable_project_shell = 1 let s:shell_cached_br = {} function! SpaceVim#layers#shell#set_variable(var) abort let s:default_shell = get(a:var, 'default_shell', 'terminal') let s:default_position = get(a:var, 'default_position', 'top') let s:default_height = get(a:var, 'default_height', 30) let s:enable_project_shell = get(a:var, 'enable_project_shell', 1) endfunction function! SpaceVim#layers#shell#get_options() abort return ['default_shell', 'default_position', 'default_height',] endfunction let s:open_terminals_buffers = [] " shell windows shoud be toggleable, and can be hide. function! s:open_default_shell(open_with_file_cwd) abort if a:open_with_file_cwd if getwinvar(winnr(), '&buftype') ==# 'terminal' let path = getbufvar(winbufnr(winnr()), '_spacevim_shell_cwd', SpaceVim#plugins#projectmanager#current_root()) else let path = expand('%:p:h') endif else let path = SpaceVim#plugins#projectmanager#current_root() " if the current file is not in a project, the projectmanager return empty " string. Then use current directory as default cwd. if empty(path) let path = getcwd() endif endif " look for already opened terminal windows let windows = [] windo call add(windows, winnr()) for window in windows if getwinvar(window, '&buftype') ==# 'terminal' exe window . 'wincmd w' if getbufvar(winbufnr(window), '_spacevim_shell_cwd') ==# l:path " startinsert do not work in gvim if has('nvim') startinsert else normal! a endif return else " the opened terminal window is not the one we want. " close it, we're gonna open a new terminal window with the given l:path exe 'wincmd c' break endif endif endfor if s:default_position ==# 'float' && exists('*nvim_open_win') let s:term_win_id = s:FLOAT.open_win(bufnr('%'), v:true, \ { \ 'relative': 'editor', \ 'width' : &columns, \ 'height' : &lines * s:default_height / 100, \ 'row': 0, \ 'col': &lines - (&lines * s:default_height / 100) - 2 \ }) exe win_id2win(s:term_win_id) . 'wincmd w' elseif s:default_position ==# 'center-float' && exists('*nvim_open_win') let s:term_win_id = nvim_open_win(bufnr('%'), v:true, \ { \ 'relative': 'editor', \ 'width' : &columns - 10, \ 'height' : &lines - 10, \ 'row': 5, \ 'border' : 'single', \ 'col': 5 \ }) exe win_id2win(s:term_win_id) . 'wincmd w' call nvim_set_option_value('winhighlight', 'NormalFloat:Normal,FloatBorder:WinSeparator', { 'win' : s:term_win_id}) else " no terminal window found. Open a new window let cmd = s:default_position ==# 'float' ? \ 'topleft split' : \ s:default_position ==# 'top' ? \ 'topleft split' : \ s:default_position ==# 'bottom' ? \ 'botright split' : \ s:default_position ==# 'right' ? \ 'rightbelow vsplit' : 'leftabove vsplit' exe cmd let lines = &lines * s:default_height / 100 if lines < winheight(0) && (s:default_position ==# 'top' || s:default_position ==# 'bottom') exe 'resize ' . lines endif endif let w:shell_layer_win = 1 for open_terminal in s:open_terminals_buffers if bufexists(open_terminal) if getbufvar(open_terminal, '_spacevim_shell_cwd') ==# l:path exe 'silent b' . open_terminal " clear the message if has('nvim') startinsert else normal! a endif return endif else " remove closed buffer from list call remove(s:open_terminals_buffers, 0) endif endfor " no terminal window with l:path as cwd has been found, let's open one if s:default_shell ==# 'terminal' if exists(':terminal') if has('nvim') if s:SYSTEM.isWindows let shell = empty($SHELL) ? 'cmd.exe' : $SHELL else let shell = empty($SHELL) ? 'bash' : $SHELL endif enew call termopen(shell, {'cwd': l:path}) " @bug cursor is not cleared when open terminal windows. " in neovim-qt when using :terminal to open a shell windows, the orgin " cursor position will be highlighted. switch to normal mode and back " is to clear the highlight. " This seem a bug of neovim-qt in windows. " " cc @equalsraf if s:SYSTEM.isWindows && has('nvim') stopinsert startinsert endif let s:term_buf_nr = bufnr('%') call extend(s:shell_cached_br, {getcwd() : s:term_buf_nr}) else " handle vim terminal if s:SYSTEM.isWindows let shell = empty($SHELL) ? 'cmd.exe' : $SHELL else let shell = empty($SHELL) ? 'bash' : $SHELL endif let s:term_buf_nr = term_start(shell, {'cwd': l:path, 'curwin' : 1, 'term_finish' : 'close'}) endif call add(s:open_terminals_buffers, s:term_buf_nr) let b:_spacevim_shell = shell let b:_spacevim_shell_cwd = l:path " use WinEnter autocmd to update statusline doautocmd WinEnter setlocal nobuflisted nonumber norelativenumber " use q to hide terminal buffer in vim, if vimcompatible mode is not " enabled, and smart quit is on. if !empty(g:spacevim_windows_smartclose) && !g:spacevim_vimcompatible exe 'nnoremap ' . g:spacevim_windows_smartclose . ' :hide' endif startinsert else echo ':terminal is not supported in this version' endif elseif s:default_shell ==# 'VimShell' VimShell imap exit(vimshell_enter) endif endfunction function! SpaceVim#layers#shell#close_terminal() abort for terminal_bufnr in s:open_terminals_buffers if bufexists(terminal_bufnr) exe 'silent bd!' . terminal_bufnr endif endfor endfunction function! SpaceVim#layers#shell#health() abort call SpaceVim#layers#shell#plugins() call SpaceVim#layers#shell#config() return 1 endfunction function! SpaceVim#layers#shell#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/ssh.vim ================================================ "============================================================================= " ssh.vim --- ssh layer for spacevim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section ssh, layers-ssh " @parentsection layers " The `ssh` layer provides basic function to connected to ssh server. " " @subsection layer options " " 1. `ssh_port`: set the port of ssh server " 2. `ssh_address`: set the ip of ssh server " 3. `ssh_user`: set the user name of ssh server " " @subsection key bindings " > " Key Bingding Description " SPC S o connect to ssh server " < if exists('s:ssh') finish endif let s:JOB = SpaceVim#api#import('job') let s:NOT = SpaceVim#api#import('notify') let s:ssh = 'ssh' let s:user = 'root' let s:ip = '127.0.0.1' let s:port = '20' let s:pass = '' function! SpaceVim#layers#ssh#config() abort let g:_spacevim_mappings_space.S = {'name' : '+SSH'} call SpaceVim#mapping#space#langSPC('nmap', ['S','o'], \ 'call SpaceVim#layers#ssh#connect()', \ 'connect-to-ssh-server', 1) command! -nargs=* SSHCommand call s:run() endfunction function! SpaceVim#layers#ssh#set_variable(opt) abort let s:ssh = get(a:opt, 'ssh_command', s:ssh) let s:user = get(a:opt, 'ssh_user', s:user) let s:ip = get(a:opt, 'ssh_address', s:ip) let s:port = get(a:opt, 'ssh_port', s:port) let s:pass = get(a:opt, 'ssh_password', s:pass) endfunction function! SpaceVim#layers#ssh#connect() abort " the ssh client should be opened on new tab tabnew " set the tab name to SSH(user@ip:port) let t:_spacevim_tab_name = 'SSH(' . s:user . '@' . s:ip . ':' . s:port . ')' if has('nvim') call termopen([s:ssh, '-p', s:port, s:user . '@' . s:ip]) else call term_start([s:ssh, '-p', s:port, s:user . '@' . s:ip], {'curwin' : 1, 'term_finish' : 'close'}) endif endfunction function! SpaceVim#layers#ssh#get_options() abort return ['ssh_port', 'ssh_user', 'ssh_address', 'ssh_command', 'ssh_password'] endfunction function! SpaceVim#layers#ssh#health() abort call SpaceVim#layers#ssh#config() return 1 endfunction function! s:run(cmd) abort let s:NOT.notify_max_width = &columns * 0.70 let s:NOT.timeout = 5000 call s:JOB.start(['plink', s:user . '@' . s:ip, '-P', s:port, '-pw', s:pass, a:cmd . ' 2>&1'], \ { \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr') \ }) endfunction function! s:on_stdout(id, data, event) abort for line in a:data call s:NOT.notify(line) endfor endfunction function! s:on_stderr(id, data, event) abort for line in a:data call s:NOT.notify(line, 'WarningMsg') endfor endfunction ================================================ FILE: autoload/SpaceVim/layers/sudo.vim ================================================ "============================================================================= " sudo.vim --- SpaceVim sudo layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#sudo#plugins() abort let l:plugins = [] if has('nvim') call add(l:plugins, ['lambdalisue/suda.vim']) endif return l:plugins endfunction function! SpaceVim#layers#sudo#config() abort if has('nvim') call SpaceVim#mapping#space#def('nnoremap', ['f', 'W'], 'SudaWrite', 'save buffer with sudo', 1) command! W SudaWrite cnoremap w!! W else " http://forrst.com/posts/Use_w_to_sudo_write_a_file_with_Vim-uAN call SpaceVim#mapping#space#def('nnoremap', ['f', 'W'], 'write !sudo tee % >/dev/null', 'save buffer with sudo', 1) cnoremap w!! W command! W w !sudo tee % > /dev/null endif endfunction function! SpaceVim#layers#sudo#health() abort call SpaceVim#layers#sudo#plugins() call SpaceVim#layers#sudo#config() return 1 endfunction if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif ================================================ FILE: autoload/SpaceVim/layers/telescope.vim ================================================ "============================================================================= " telescope.vim --- telescope support for spacevim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:file') finish endif let s:telescope_hidden = v:false let s:telescope_no_ignore = v:false "" " @section telescope, layers-telescope " @parentsection layers " This layer provides fuzzy finder feature which is based on |telescope|, and this " This layer is not loaded by default. To use this layer: " > " [[layers]] " name = 'telescope' " < " @subsection Key bindings " " The following key bindings will be enabled when this layer is loaded: " > " Key bindings Description " SPC p f / Ctrl-p search files in current directory " f SPC Fuzzy find menu:CustomKeyMaps " f e Fuzzy find register " f h Fuzzy find history/yank " f j Fuzzy find jump, change " f l Fuzzy find location list " f m Fuzzy find output messages " f o Fuzzy find functions " f t Fuzzy find tags " f q Fuzzy find quick fix " f r Resumes Unite window " < function! SpaceVim#layers#telescope#loadable() abort return has('nvim-0.7.0') endfunction function! SpaceVim#layers#telescope#plugins() abort let plugins = [] if has('nvim-0.10.0') call add(plugins, [g:_spacevim_root_dir . 'bundle/telescope.nvim-0.1.8', {'merged' : 0, 'loadconf' : 1}]) elseif has('nvim-0.7.2') call add(plugins, [g:_spacevim_root_dir . 'bundle/telescope.nvim-0.1.5', {'merged' : 0, 'loadconf' : 1}]) elseif has('nvim-0.7.0') call add(plugins, [g:_spacevim_root_dir . 'bundle/telescope.nvim-0.1.2', {'merged' : 0, 'loadconf' : 1}]) endif call add(plugins, [g:_spacevim_root_dir . 'bundle/plenary.nvim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/telescope-menu', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/telescope-ctags-outline.nvim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neoyank.vim', { 'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/telescope-fzf-native.nvim', { 'merged' : 0}]) if g:spacevim_snippet_engine ==# 'ultisnips' call add(plugins, ['fhill2/telescope-ultisnips.nvim', { 'merged' : 0}]) endif return plugins endfunction let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#telescope#config() abort let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['?'], 'Telescope menu menu=CustomKeyMaps default_text=[SPC]', \ ['show-mappings', \ [ \ 'SPC ? is to show mappings', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', '[SPC]'], 'call call(' \ . string(s:_function('s:get_help')) . ', ["SpaceVim"])', \ ['find-SpaceVim-help', \ [ \ 'SPC h SPC is to find SpaceVim help', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) " @fixme SPC h SPC make vim flick exe printf('nmap %sh%s [SPC]h[SPC]', g:spacevim_default_custom_leader, g:spacevim_default_custom_leader) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['b', 'b'], 'Telescope buffers', \ ['list-buffer', \ [ \ 'SPC b b is to open buffer list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'r'], 'Telescope neomru', \ ['open-recent-file', \ [ \ 'SPC f r is to open recent file list', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['j', 'i'], 'Telescope ctags_outline outline', \ ['jump-to-definition-in-buffer', \ [ \ 'SPC j i is to jump to a definition in buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['T', 's'], 'Telescope colorscheme', \ ['fuzzy-find-colorschemes', \ [ \ 'SPC T s is to fuzzy find colorschemes', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'f'], \ "exe 'Telescope find_files cwd=' . fnamemodify(bufname('%'), ':p:h')", \ ['find-files-in-buffer-directory', \ [ \ '[SPC f f] is to find files in the directory of the current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['p', 'f'], \ join(['Telescope find_files ', s:telescope_hidden ? 'hidden=true' : 'hidden=false', s:telescope_no_ignore ? 'no_ignore=true' : 'no_ignore=false'], ' '), \ ['find-files-in-project', \ [ \ '[SPC p f] is to find files in the root of the current project', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) call execute('nnoremap :' .. join(['Telescope find_files ', s:telescope_hidden ? 'hidden=true' : 'hidden=false', s:telescope_no_ignore ? 'no_ignore=true' : 'no_ignore=false'], ' ') .. '') let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['h', 'i'], 'call call(' \ . string(s:_function('s:get_help_with_cursor_symbol')) . ', [])', \ ['get-help-for-cursor-symbol', \ [ \ '[SPC h i] is to get help with the symbol at point', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ], \ 1) call SpaceVim#mapping#space#def('nnoremap', ['p', 't', 'f'], \ 'Telescope task', 'fuzzy-find-tasks', 1) let g:_spacevim_mappings.f = {'name' : '+Fuzzy Finder'} call s:defind_fuzzy_finder() " this autocmd should only be called when using deoplete augroup spacevim_telescope_layer autocmd! if g:spacevim_autocomplete_method == 'deoplete' " https://github.com/nvim-telescope/telescope.nvim/issues/161 autocmd FileType TelescopePrompt call deoplete#custom#buffer_option('auto_complete', v:false) endif " @fixme 无法移除 jk 映射 " autocmd FileType TelescopePrompt iunmap jk augroup END endfunction function! s:get_help_with_cursor_symbol() abort exe 'Telescope help_tags default_text=' . expand('') endfunction function! s:get_help(word) abort exe 'Telescope help_tags default_text=' . a:word endfunction function! s:get_menu(menu, input) abort let save_ctrlp_default_input = get(g:, 'ctrlp_default_input', '') let g:ctrlp_default_input = a:input exe 'CtrlPMenu ' . a:menu let g:ctrlp_default_input = save_ctrlp_default_input endfunction let s:file = expand(':~') let s:unite_lnum = expand('') + 3 function! s:defind_fuzzy_finder() abort nnoremap fe \ :Telescope registers let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.e = ['Telescope registers', \ 'fuzzy find registers', \ [ \ '[Leader f e ] is to fuzzy find registers', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fr \ :Telescope resume let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.r = ['Telescope resume', \ 'resume telescope window', \ [ \ '[Leader f r ] is to resume telescope window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fh \ :Telescope neoyank let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.h = ['Telescope neoyank', \ 'fuzzy find yank history', \ [ \ '[Leader f h] is to fuzzy find history and yank content', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fj \ :Telescope jumplist let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.j = ['Telescope jumplist', \ 'fuzzy find jump list', \ [ \ '[Leader f j] is to fuzzy find jump list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fl \ :Telescope loclist let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.l = ['Telescope loclist', \ 'fuzzy find local list', \ [ \ '[Leader f q] is to fuzzy find local list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fm \ :Telescope messages let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.m = ['Telescope messages', \ 'fuzzy find and yank message history', \ [ \ '[Leader f m] is to fuzzy find and yank message history', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fq \ :Telescope quickfix let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.q = ['Telescope quickfix', \ 'fuzzy find quickfix list', \ [ \ '[Leader f q] is to fuzzy find quickfix list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fo :Telescope ctags_outline outline let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.o = ['Telescope ctags_outline outline', \ 'fuzzy find outline', \ [ \ '[Leader f o] is to fuzzy find outline', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap f :Telescope menu menu=CustomKeyMaps let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f['[SPC]'] = ['Telescope menu menu=CustomKeyMaps', \ 'fuzzy find custom key bindings', \ [ \ '[Leader f SPC] is to fuzzy find custom key bindings', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fp :Telescope menu menu=AddedPlugins let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.p = ['Telescope menu menu=AddedPlugins', \ 'fuzzy find vim packages', \ [ \ '[Leader f p] is to fuzzy find vim packages installed in SpaceVim', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] if g:spacevim_snippet_engine ==# 'ultisnips' nnoremap fs :Telescope ultisnips let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.s = ['Telescope ultisnips', \ 'fuzzy find ultisnips snippets', \ [ \ '[Leader f s] is to fuzzy find ultisnips snippets', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endif if SpaceVim#layers#isLoaded('tools') nnoremap fb :Telescope bookmarks let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.b = ['Telescope bookmarks', \ 'fuzzy find bookmarks', \ [ \ '[Leader f b] is to fuzzy find bookmarks', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endif let lnum = expand('') + s:unite_lnum - 4 call SpaceVim#mapping#space#def('nnoremap', ['f', 'v', 's'], 'Telescope scriptnames', \ ['open-custom-configuration', \ [ \ '[SPC f v d] is to open the custom configuration file for SpaceVim', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] \ , 1) endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif function! SpaceVim#layers#telescope#health() abort return 1 endfunction function! SpaceVim#layers#telescope#set_variable(var) abort let s:telescope_hidden = get(a:var, 'hidden', s:telescope_hidden) let s:telescope_no_ignore = get(a:var, 'no_ignore', s:telescope_no_ignore) endfunction function! SpaceVim#layers#telescope#get_options() abort return [] endfunction ================================================ FILE: autoload/SpaceVim/layers/test.vim ================================================ "============================================================================= " test.vim --- SpaceVim test layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section test, layers-test " @parentsection layers " This layer allows to run tests on SpaceVim " " @subsection layer options " " - `use_ultest`: enable/disable vim-ultest plugin, this is disabled by " default. " " @subsection Mappings " > " Mode Key Function " ------------------------------------------------------------- " normal SPC k n run nearest test " normal SPC k f run test file " normal SPC k s run test suite " normal SPC k l run the latest test " normal SPC k v visits the last run test file " < let s:use_ultest = 0 function! SpaceVim#layers#test#plugins() abort let l:plugins = [ \ ['janko/vim-test'], \ ] if s:use_ultest let l:plugins += [['rcarriga/vim-ultest']] endif return l:plugins endfunction function! SpaceVim#layers#test#config() abort let g:_spacevim_mappings_space.k = get(g:_spacevim_mappings_space, 'k', {'name' : '+Test'}) if s:use_ultest let g:ultest_use_pty = 1 call SpaceVim#mapping#space#def('nnoremap', ['k', 'n'], 'UltestNearest', 'nearest', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'f'], 'Ultest', 'file', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'l'], 'UltestLast', 'last', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'u'], 'UltestSummary!', 'jump-to-summary', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'U'], 'UltestSummary', 'open-summary', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'k'], 'UltestStopNearest', 'stop-nearest', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'K'], 'UltestStop', 'stop', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'a'], 'UltestAttach', 'attach', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'c'], 'UltestClear', 'clear', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'd'], 'UltestDebugNearest', 'debug-nearest', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'D'], 'UltestDebug', 'debug', 1) call SpaceVim#mapping#space#def('nmap', ['k', 'j'], '(ultest-next-fail)', 'jump-to-next-failed', 0) call SpaceVim#mapping#space#def('nmap', ['k', 'k'], '(ultest-prev-fail)', 'jump-to-prev-failed', 0) call SpaceVim#mapping#space#def('nmap', ['k', 'o'], '(ultest-output-show)', 'show-output', 0) call SpaceVim#mapping#space#def('nmap', ['k', 'O'], '(ultest-output-jump)', 'jump-to-output', 0) else call SpaceVim#mapping#space#def('nnoremap', ['k', 'n'], 'TestNearest', 'nearest', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'f'], 'TestFile', 'file', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'l'], 'TestLast', 'last', 1) endif call SpaceVim#mapping#space#def('nnoremap', ['k', 's'], 'TestSuite', 'suite', 1) call SpaceVim#mapping#space#def('nnoremap', ['k', 'v'], 'TestVisit', 'visit', 1) let g:test#custom_strategies = {'spacevim': function('SpaceVim#plugins#runner#open')} let g:test#strategy = 'spacevim' endfunction function! SpaceVim#layers#test#set_variable(var) abort let l:override = get(a:var, 'override_config', {}) if !empty(l:override) for l:option in keys(l:override) let l:varname = 'test#'.substitute(l:option, '_', '#', 'g') execute 'let g:'.l:varname.' = '."'".l:override[l:option]."'" endfor endif let s:use_ultest = get(a:var, 'use_ultest', s:use_ultest) endfunction function! SpaceVim#layers#test#health() abort call SpaceVim#layers#test#plugins() call SpaceVim#layers#test#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/tmux.vim ================================================ "============================================================================= " tmux.vim --- SpaceVim tmux layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section tmux, layers-tmux " @parentsection layers " `tmux` layer adds integration between tmux and vim panes. Switch between panes " seamlessly, syntax highlighting, commenting, man page navigation " and ability to execute lines as tmux commands. " This layer is not added by default. To include it, add following to spacevim " configuration file: " > " [[layers]] " name = 'tmux' " < " If you are having issues with in a neovim buffer, see " " https://github.com/neovim/neovim/issues/2048#issuecomment-78045837 " " @subsection Layer options " " `enable_tmux_clipboard`: this option is used to enable or disable tmux " clipboard, by default this option is `false`. " " @subsection mappings " > " Key Mode Function " ------------------------------ " normal Switch to vim/tmux pane in left direction " normal Switch to vim/tmux pane in down direction " normal Switch to vim/tmux pane in up direction " normal Switch to vim/tmux pane in right direction " < if exists('s:enable_tmux_clipboard') finish endif let s:enable_tmux_clipboard = 0 function! SpaceVim#layers#tmux#plugins() abort let plugins = [ \ [g:_spacevim_root_dir . 'bundle/vim-tmux-navigator', { 'on_cmd': [ \ 'TmuxNavigateLeft', 'TmuxNavigateDown', 'TmuxNavigateUp', \ 'TmuxNavigateRight'] }], \ ] call add(plugins, ['tmux-plugins/vim-tmux', {'on_ft' : 'tmux'}]) call add(plugins, ['edkolev/tmuxline.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#tmux#config() abort let g:tmux_navigator_no_mappings = 1 augroup SpaceVim_layer_tmux autocmd! autocmd FocusGained * set cursorline autocmd FocusLost * set nocursorline | redraw! augroup END if s:enable_tmux_clipboard call s:Enable() endif if s:tmux_navigator_modifier ==# 'alt' nnoremap :TmuxNavigateLeft nnoremap :TmuxNavigateDown nnoremap :TmuxNavigateUp nnoremap :TmuxNavigateRight else nnoremap :TmuxNavigateLeft nnoremap :TmuxNavigateDown nnoremap :TmuxNavigateUp nnoremap :TmuxNavigateRight endif let g:neomake_tmux_enabled_makers = ['tmux'] let g:neomake_tmux_tmux_maker = { \ 'exe': 'tmux', \ 'args': ['source-file', '-q'], \ 'errorformat': '%f:%l:%m,%+Gunknown command: %s', \ } let g:tmuxline_separators = { \ 'left' : s:separators[s:tmuxline_separators][0], \ 'left_alt': s:i_separators[s:tmuxline_separators_alt][0], \ 'right' : s:separators[s:tmuxline_separators][1], \ 'right_alt' : s:i_separators[s:tmuxline_separators_alt][1], \ 'space' : ' '} let g:tmuxline_preset = { \'a' : '#S', \'b' : '#W', \'win' : ['#I', '#W'], \'cwin' : ['#I', '#W'], \'x' : '%a', \'y' : '%R', \'z' : '#H'} if !empty(g:spacevim_custom_color_palette) let t = g:spacevim_custom_color_palette else let name = g:spacevim_colorscheme try let t = SpaceVim#mapping#guide#theme#{name}#palette() catch /^Vim\%((\a\+)\)\=:E117/ let t = SpaceVim#mapping#guide#theme#gruvbox#palette() endtry endif let g:tmuxline_theme = { \ 'a' : [ t[0][3], t[0][2], 'bold' ], \ 'b' : [ t[1][2], t[1][3] ], \ 'c' : [ t[2][2], t[2][3] ], \ 'z' : [ t[0][3], t[0][2] ], \ 'y' : [ t[1][2], t[1][3] ], \ 'x' : [ t[2][2], t[2][3] ], \ 'win' : [ t[1][2], t[1][3] ], \ 'cwin' : [ t[0][3], t[0][2] ], \ 'bg' : [ t[3][1], t[3][1] ], \ } endfunction " init let s:separators = { \ 'arrow' : ["\ue0b0", "\ue0b2"], \ 'curve' : ["\ue0b4", "\ue0b6"], \ 'slant' : ["\ue0b8", "\ue0ba"], \ 'brace' : ["\ue0d2", "\ue0d4"], \ 'fire' : ["\ue0c0", "\ue0c2"], \ 'nil' : ['', ''], \ } let s:i_separators = { \ 'arrow' : ["\ue0b1", "\ue0b3"], \ 'curve' : ["\ue0b4", "\ue0b6"], \ 'slant' : ["\ue0b8", "\ue0ba"], \ 'brace' : ["\ue0d2", "\ue0d4"], \ 'fire' : ["\ue0c0", "\ue0c2"], \ 'bar' : ['|', '|'], \ 'nil' : ['', ''], \ } let s:tmuxline_separators = g:spacevim_statusline_separator let s:tmuxline_separators_alt = g:spacevim_statusline_iseparator let s:tmux_navigator_modifier = 'ctrl' function! SpaceVim#layers#tmux#set_variable(var) abort let s:tmuxline_separators = get(a:var, \ 'tmuxline_separators', \ g:spacevim_statusline_separator) let s:tmuxline_separators_alt = get(a:var, \ 'tmuxline_separators_alt', \ g:spacevim_statusline_iseparator) let s:tmux_navigator_modifier = get(a:var, \ 'tmux_navigator_modifier', \ s:tmux_navigator_modifier) let s:enable_tmux_clipboard = get(a:var, \ 'enable_tmux_clipboard', \ s:enable_tmux_clipboard) endfunction function! SpaceVim#layers#tmux#get_options() abort return ['tmuxline_separators', \ 'tmuxline_separators_alt', \ 'tmux_navigator_modifier', \ 'enable_tmux_clipboard'] endfunction function! SpaceVim#layers#tmux#health() abort call SpaceVim#layers#tmux#plugins() call SpaceVim#layers#tmux#config() return 1 endfunction func! s:get_tmux_name() abort let list = systemlist('tmux list-buffers -F"#{buffer_name}"') if len(list)==0 return '' else return list[0] endif endfunc func! s:get_tmux_buf() abort return system('tmux show-buffer') endfunc func! s:Enable() abort if $TMUX=='' " not in tmux session return endif let s:lastbname = '' " if support TextYankPost if exists('##TextYankPost')==1 " @" augroup SpaceVim_layer_tmux autocmd FocusLost * call s:update_from_tmux() autocmd FocusGained * call s:update_from_tmux() autocmd TextYankPost * silent! call system('tmux loadb -',join(v:event["regcontents"],"\n")) augroup END let @" = s:get_tmux_buf() else " vim doesn't support TextYankPost event " This is a workaround for vim augroup SpaceVim_layer_tmux autocmd FocusLost * silent! call system('tmux loadb -',@") autocmd FocusGained * let @" = s:get_tmux_buf() augroup END let @" = s:get_tmux_buf() endif endfunc func! s:update_from_tmux() abort let buffer_name = s:get_tmux_name() if s:lastbname != buffer_name let @" = s:get_tmux_buf() endif let s:lastbname=s:get_tmux_name() endfunc call s:Enable() ================================================ FILE: autoload/SpaceVim/layers/tools/cpicker.vim ================================================ "============================================================================= " cpicker.vim " Copyright (c) 2016-2019 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section tools#cpicker, layers-tools-cpicker " @parentsection layers " The `tools#cpicker` layer provides a color picker. " this layer is disabled by default, to enable this layer, add following " snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'tools#cpicker' " < " " @subsection layer options " 1. default_spaces: set the default color spaces, the default value is `['rgb', 'hsl']` " " @subsection Key bindings " > " Key Function " --------------------------------------------- " SPC i p c open color picker " < " " Key bindings in cpicker: " > " Key Function " --------------------------------------------- " copy color " j/ move cursor down " k/ move cursor up " h/ reduce " l/ increase " < " @subsection commands " Instead of using key Binding, this layer also provides a Neovim command `:Cpicker` which can be used in cmdline. For example: " > " :Cpicker rgb cmyk " < let s:default_spaces = ['rgb', 'hsl'] function! SpaceVim#layers#tools#cpicker#plugins() abort return [ \ [g:_spacevim_root_dir . 'bundle/cpicker.nvim', {'merged' : 0, 'loadconf' : 1}], \ ] endfunction function! SpaceVim#layers#tools#cpicker#config() abort call SpaceVim#mapping#space#def('nnoremap', ['i', 'p', 'c'], 'Cpicker ' . join(s:default_spaces, ' '), \ 'insert-color-with-picker', 1) endfunction function! SpaceVim#layers#tools#cpicker#set_variable(var) abort let s:default_spaces = get(a:var, 'default_spaces', s:default_spaces) endfunction function! SpaceVim#layers#tools#cpicker#loadeable() abort return has('nvim-0.10.0') endfunction function! SpaceVim#layers#tools#cpicker#health() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/tools/dash.vim ================================================ "============================================================================= " dash.vim --- tools#dash layer file for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section tools#dash, layers-tools-dash " @parentsection layers " This layer provides Dash integration for SpaceVim function! SpaceVim#layers#tools#dash#plugins() abort return [ \ ['rizzatti/dash.vim', { \ 'on_map': { 'n': ['DashSearch', 'DashGlobalSearch'] } \ }], \ ['rhysd/devdocs.vim', { \ 'on_map': { 'n': ['(devdocs-under-cursor)'] } \ }], \ ] endfunction function! SpaceVim#layers#tools#dash#config() abort "" rizzatti/dash.vim {{{ " Allows configuration of mappings between Vim filetypes and Dash's docsets. let g:dash_map = extend({ \ 'java': ['java', 'android', 'javafx', 'spring', 'javadoc'], \ }, get(g:, 'dash_map', {})) "" }}} let g:_spacevim_mappings_space.D = { 'name' : '+Dash' } call SpaceVim#mapping#space#def('nmap', ['D', 'b'], \ '(devdocs-under-cursor)', 'search word on devdocs.io', 0) call SpaceVim#mapping#space#def('nmap', ['D', 'd'], \ 'DashSearch', 'search word under cursor', 0) call SpaceVim#mapping#space#def('nmap', ['D', 'D'], \ 'DashGlobalSearch', 'search word under cursor in all docs', 0) endfunction function! SpaceVim#layers#tools#dash#health() abort call SpaceVim#layers#tools#dash#plugins() call SpaceVim#layers#tools#dash#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/tools/mpv.vim ================================================ "============================================================================= " mpv.vim --- mpv layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section tools#mpv, layers-tools-mpv " @parentsection layers " The `tools#mpv` layer provides mpv integration for SpaceVim. " this layer is disabled by default, to enable this layer, add following " snippet to your SpaceVim configuration file. " > " [[layers]] " name = 'tools#mpv' " < " " @subsection layer options " " The following options can be used with this layer: " " 1. `mpv_interpreter`: set the path of `mpv`. " 2. `musics_directory`: set the path of directory where to store musics. The " default directory is `~/Music` " " @subsection Key bindings " > " Key Function " --------------------------------------------- " SPC m m l fuzzy find musics " SPC m m n next music " SPC m m s stop mpv " < if exists('s:musics_directory') finish else let s:musics_directory = '~/Music' let s:mpv_interpreter = 'mpv' let s:loop_mode = 'random' let s:stop_mpv = 0 endif let s:JOB = SpaceVim#api#import('job') let s:NUM = SpaceVim#api#import('data#number') let s:CMP = SpaceVim#api#import('vim#compatible') function! SpaceVim#layers#tools#mpv#config() abort let g:_spacevim_mappings_space.m.m = {'name' : '+mpv'} call SpaceVim#mapping#space#def('nnoremap', ['m', 'm', 'l'], 'call call(' \ . string(s:_function('s:list_music')) . ', [])', \ 'fuzzy-find-musics', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'm', 'n'], 'call call(' \ . string(s:_function('s:next')) . ', [])', \ 'next-music', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'm', 's'], 'call call(' \ . string(s:_function('s:stop')) . ', [])', \ 'stop-mpv', 1) endfunction function! s:list_music() abort call s:load_musics() if SpaceVim#layers#isLoaded('leaderf') Leaderf menu --name MpvPlayer elseif SpaceVim#layers#isLoaded('denite') Denite menu:MpvPlayer else endif endfunction function! SpaceVim#layers#tools#mpv#set_variable(var) abort let s:musics_directory = get(a:var, 'musics_directory', 1) let s:mpv_interpreter = get(a:var, 'mpv_interpreter', 1) endfunction function! SpaceVim#layers#tools#mpv#play(fpath) abort let s:stop_mpv = 0 if s:playId != 0 call s:JOB.stop(s:playId) let s:playId = 0 endif let s:playId = s:JOB.start([s:mpv_interpreter,'--vid=no',a:fpath],{ \ 'on_stdout': function('s:handler'), \ 'on_stderr': function('s:handler'), \ 'on_exit': function('s:handler'), \ }) command! MStop call s:stop() endfunction function! s:load_musics() abort let musics = s:CMP.globpath(s:musics_directory, '*.mp3') let g:unite_source_menu_menus.MpvPlayer.command_candidates = [] for m in musics call add(g:unite_source_menu_menus.MpvPlayer.command_candidates, \ [fnamemodify(m, ':t'), \ "call SpaceVim#layers#tools#mpv#play('" . m . "')"]) endfor endfunction function! SpaceVim#layers#tools#mpv#health() abort call SpaceVim#layers#tools#mpv#config() return 1 endfunction function! SpaceVim#layers#tools#mpv#loadable() abort return 1 endfunction function! SpaceVim#layers#tools#mpv#plugins() abort return [] endfunction function! SpaceVim#layers#tools#mpv#get_options() abort return ['musics_directory', 'mpv_interpreter'] endfunction let s:playId = 0 fu! s:handler(id, data, event) abort if a:event ==# 'exit' if s:loop_mode ==# 'random' && !s:stop_mpv let next = s:NUM.random(0, len(g:unite_source_menu_menus.MpvPlayer.command_candidates)) echohl TODO echo 'playing:' . g:unite_source_menu_menus.MpvPlayer.command_candidates[next][0] echohl NONE exe g:unite_source_menu_menus.MpvPlayer.command_candidates[next][1] endif endif endf function! s:stop() abort if s:playId != 0 call s:JOB.stop(s:playId) let s:playId = 0 endif delcommand MStop let s:stop_mpv = 1 endfunction function! s:next() abort if s:playId != 0 call s:JOB.stop(s:playId) let s:playId = 0 endif endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif ================================================ FILE: autoload/SpaceVim/layers/tools/screensaver.vim ================================================ "============================================================================= " screensaver.vim --- SpaceVim screensaver layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section tools#screensaver, layers-tools-screensaver " @parentsection layers " This layer provides a screensaver feature. " > " [[layers]] " name = 'tools#screensaver' " < " function! SpaceVim#layers#tools#screensaver#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/screensaver.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#tools#screensaver#health() abort call SpaceVim#layers#tools#screensaver#plugins() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/tools/zeal.vim ================================================ "============================================================================= " zeal.vim --- SpaceVim tools#zeal layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section tools#zeal, layers-tools-zeal " @parentsection layers " This layer provides Zeal integration for SpaceVim function! SpaceVim#layers#tools#zeal#plugins() abort return [ \ ['KabbAmine/zeavim.vim', { \ 'on_map': { 'nv': ['Zeavim', 'ZVVisSelection', 'ZVKeyDocset'] } \ }], \ ] endfunction function! SpaceVim#layers#tools#zeal#config() abort " Disable default mapping let g:zv_disable_mapping = 1 let g:_spacevim_mappings_space.D = { 'name' : '+Zeal' } call SpaceVim#mapping#space#def('nmap', ['D', 'd'], \ 'Zeavim', 'search word under cursor', 0) call SpaceVim#mapping#space#def('vmap', ['D', 'D'], \ 'ZVVisSelection', 'search selected text', 0) call SpaceVim#mapping#space#def('nmap', ['D', 's'], \ 'ZVKeyDocset', 'specify docset and query', 0) endfunction function! SpaceVim#layers#tools#zeal#health() abort call SpaceVim#layers#tools#zeal#plugins() call SpaceVim#layers#tools#zeal#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/tools.vim ================================================ "============================================================================= " tools.vim --- SpaceVim tools layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:CMP') finish endif let s:CMP = SpaceVim#api#import('vim#compatible') function! SpaceVim#layers#tools#plugins() abort let plugins = [] call add(plugins, ['tpope/vim-scriptease', { 'merged' : 0}]) call add(plugins, ['lymslive/vimloo', { 'merged' : 0}]) call add(plugins, ['lymslive/vnote', { 'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/rainbow', { 'merged' : 0}]) call add(plugins, ['mbbill/fencview', { 'on_cmd' : 'FencAutoDetect'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-cheat', { 'on_cmd' : 'Cheat'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-unstack', { 'merged' : 0}]) call add(plugins, ['wsdjeg/Mysql.vim', { 'on_cmd' : 'SQLGetConnection'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/SourceCounter.vim', { 'on_cmd' : 'SourceCounter'}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/calendar.vim',{ 'on_cmd' : 'Calendar'}]) call add(plugins, ['junegunn/limelight.vim', { 'on_cmd' : 'Limelight'}]) call add(plugins, ['junegunn/goyo.vim', { 'on_cmd' : 'Goyo', 'loadconf' : 1}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/bookmarks.vim', \ {'merged': 0, \ 'loadconf_before' : 1}]) if s:CMP.has('python3') call add(plugins, ['fedorenchik/VimCalc3', {'on_cmd' : 'Calc'}]) elseif s:CMP.has('python') call add(plugins, ['gregsexton/VimCalc', {'on_cmd' : 'Calc'}]) endif return plugins endfunction function! SpaceVim#layers#tools#config() abort call SpaceVim#mapping#space#def('nnoremap', ['a', 'l'], 'Calendar', 'vim-calendar', 1) call SpaceVim#mapping#space#def('nnoremap', ['e', 'a'], 'FencAutoDetect', \ 'auto-detect-file-encoding', 1) call SpaceVim#mapping#space#def('nnoremap', ['a', 'c'], 'Calc', 'vim-calculator', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'c'], \ 'Goyo', 'centered-buffer-mode', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'C'], \ 'ChooseWin | Goyo', 'choose-window-centered-buffer-mode', 1) " bootmark key binding nnoremap mm :BookmarkToggle nnoremap mc :BookmarkClear nnoremap mi :BookmarkAnnotate nnoremap ma :BookmarkShowAll nnoremap mn :BookmarkNext nnoremap mp :BookmarkPrev if maparg('', 'v') ==# '' vnoremap :Ydv endif if maparg('', 'n') ==# '' nnoremap :Ydc endif endfunction function! SpaceVim#layers#tools#set_variable(var) abort let g:bookmarks_sign_text = get(a:var, 'bookmarks_sign_text', '=>') let g:bookmarks_sign_highlight = get(a:var, 'bookmarks_sign_highlight', 'Normal') endfunction function! SpaceVim#layers#tools#health() abort call SpaceVim#layers#tools#plugins() call SpaceVim#layers#tools#config() return 1 endfunction function! SpaceVim#layers#tools#loadable() abort return 1 endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/layers/treesitter.vim ================================================ "============================================================================= " treesitter.vim --- treesitter layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section treesitter, layers-treesitter " @parentsection layers " This layer provides treesitter support for SpaceVim. function! SpaceVim#layers#treesitter#plugins() abort let plugins = [] if has('nvim-0.8.0') let l:version = '-0.9.1' else let l:version = '' endif call add(plugins, [g:_spacevim_root_dir . 'bundle/nvim-treesitter' . l:version, \ { \ 'merged' : 0, \ 'loadconf' : 1 , \ 'do' : 'TSUpdate', \ 'loadconf_before' : 1 \ }]) return plugins endfunction function! SpaceVim#layers#treesitter#health() abort call SpaceVim#layers#treesitter#plugins() return 1 endfunction function! SpaceVim#layers#treesitter#setup() abort lua require('spacevim.treesitter').setup() endfunction function! SpaceVim#layers#treesitter#loadable() abort return has('nvim') endfunction ================================================ FILE: autoload/SpaceVim/layers/ui.vim ================================================ "============================================================================= " ui.vim --- SpaceVim ui layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section ui, layers-ui " @parentsection layers " The `ui` layer defines the default interface for SpaceVim, " and it is loaded by default. " This layer includes scrollbar, indentline, and cursorword highlighting. " > " [[layers]] " name = 'ui' " enable_sidebar = false " enable_scrollbar = false " enable_indentline = true " enable_cursorword = false " indentline_char = '|' " conceallevel = 0 " concealcursor = '' " cursorword_delay = 50 " cursorword_exclude_filetype = [] " indentline_exclude_filetype = [] " < " " if you want to disable `ui` layer, you can use: " > " [[layers]] " name = 'ui' " enabled = fasle " < " @subsection options " " 1. `enable_sidebar`: Enable/disable sidebar. " 2. `enable_scrollbar`: Enable/disable floating scrollbar of current buffer. " Disabled by default. This feature requires neovim's floating window. " 3. `enable_indentline`: Enable/disable indentline of current buffer. " Enabled by default. " 4. `enable_cursorword`: Enable/disable cursorword highlighting. " Disabled by default. " 5. `indentline_char`: Set the character of indentline. " 6. `conceallevel`: set the conceallevel option. " 7. `concealcursor`: set the concealcursor option. " 8. `cursorword_delay`: The delay duration in milliseconds for setting the " word highlight after cursor motions, the default is 50. " 9. `cursorword_exclude_filetypes`: Ignore filetypes when enable cursorword " highlighting. " 10. `indentline_exclude_filetype`: Ignore filetypes when enable indentline. " " @subsection key bindings " > " Key binding Description " SPC t h ui current buffer or selection lines " < " if exists('s:enable_sidebar') finish else let s:enable_sidebar = 0 let s:enable_scrollbar = 0 let s:enable_indentline = 1 let s:indentline_char = '|' let s:indentline_exclude_filetype = [] let s:enable_cursorword = 0 let s:conceallevel = 0 let s:concealcursor = '' let s:cursorword_delay = 50 let s:cursorword_exclude_filetypes = [] endif let s:NVIM_VERSION = SpaceVim#api#import('neovim#version') function! SpaceVim#layers#ui#plugins() abort let plugins = [ \ [g:_spacevim_root_dir . 'bundle/vim-cursorword', {'merged' : 0, 'on_event' : ['CursorMoved', 'CursorMovedI']}], \ [g:_spacevim_root_dir . 'bundle/tagbar', \ {'loadconf' : 1, 'merged' : 0, 'on_cmd' : ['TagbarToggle', 'Tagbar']}], \ [g:_spacevim_root_dir . 'bundle/tagbar-makefile.vim', \ {'merged': 0}], \ [g:_spacevim_root_dir . 'bundle/tagbar-proto.vim', {'merged': 0}], \ [g:_spacevim_root_dir . 'bundle/vim-choosewin', \ {'on_cmd' : 'ChooseWin', 'merged' : 0}], \ [g:_spacevim_root_dir . 'bundle/vim-startify', \ {'loadconf' : 1, 'merged' : 0}], \ [g:_spacevim_root_dir . 'bundle/vim-better-whitespace', \ { 'on_cmd' : [ \ 'StripWhitespace', \ 'ToggleWhitespace', \ 'DisableWhitespace', \ 'EnableWhitespace' \ ]}], \ ] call add(plugins, [g:_spacevim_root_dir . 'bundle/neomru.vim', {'merged' : 0}]) if (has('nvim-0.5.0') && s:NVIM_VERSION.is_release_version()) \ || has('nvim-0.6.0') call add(plugins, [g:_spacevim_root_dir . 'bundle/indent-blankline.nvim', \ { 'merged' : 0, 'on_event' : ['BufReadPost']}]) else call add(plugins, [g:_spacevim_root_dir . 'bundle/indentLine', \ { 'merged' : 0}]) endif if !SpaceVim#layers#isLoaded('core#statusline') call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-airline', \ { 'merged' : 0, \ 'loadconf' : 1}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-airline-themes', \ { 'merged' : 0}]) endif if s:enable_scrollbar call add(plugins, [g:_spacevim_root_dir . 'bundle/scrollbar.vim', \ { 'merged' : 0}]) endif return plugins endfunction let s:file = expand(':~') let s:funcbeginline = expand('') + 1 function! SpaceVim#layers#ui#config() abort if g:spacevim_colorscheme_bg ==# 'dark' let g:indentLine_color_term = get(g:, 'indentLine_color_term', 239) let g:indentLine_color_gui = get(g:, 'indentLine_color_gui', '#504945') else let g:indentLine_color_gui = get(g:, 'indentLine_color_gui', '#d5c4a1') endif " indent line configuration " indent_blankline for neovim, indentLine for vim and old neovim " indent line character let g:indent_blankline_char = s:indentline_char let g:indentLine_char = s:indentline_char " indent line conceal setting, only for indentLine let g:indentLine_concealcursor = s:concealcursor let g:indentLine_conceallevel = s:conceallevel " enable/disable indentline let g:indentLine_enabled = s:enable_indentline " this var must be boolean, but v:true is added in vim 7.4.1154 let g:indent_blankline_enabled = \ s:enable_indentline ? \ get(v:, 'true', 1) \ : \ get(v:, 'false', 0) " exclude filetypes for indentline let g:indentLine_fileTypeExclude = s:indentline_exclude_filetype let g:indent_blankline_filetype_exclude = s:indentline_exclude_filetype \ + ['startify', 'gitcommit', 'defx'] " option for better-whitespace let g:better_whitespace_filetypes_blacklist = ['diff', 'gitcommit', 'unite', \ 'qf', 'help', 'markdown', 'leaderGuide', \ 'startify' \ ] let g:signify_disable_by_default = 0 let g:signify_line_highlight = 0 let g:cursorword = s:enable_cursorword let g:cursorword_delay = s:cursorword_delay if s:enable_sidebar noremap :call SpaceVim#plugins#sidebar#toggle() else noremap :TagbarToggle endif augroup spacevim_layer_ui autocmd! if !empty(s:cursorword_exclude_filetypes) exe printf('autocmd FileType %s let b:cursorword = 0', \ join(s:cursorword_exclude_filetypes, ',')) endif augroup end if !empty(g:spacevim_windows_smartclose) call SpaceVim#mapping#def('nnoremap ', \ g:spacevim_windows_smartclose, \ ':call SpaceVim#mapping#SmartClose()', \ 'smart-close-windows', \ 'call SpaceVim#mapping#SmartClose()') endif " Ui toggles call SpaceVim#mapping#space#def('nnoremap', ['t', '8'], \ 'call SpaceVim#layers#core#statusline#toggle_mode("hi-characters-for-long-lines")', \ 'highlight-long-lines', 1) if g:spacevim_autocomplete_method ==# 'deoplete' call SpaceVim#mapping#space#def('nnoremap', ['t', 'a'], 'call SpaceVim#layers#autocomplete#toggle_deoplete()', \ 'toggle autocomplete', 1) endif call SpaceVim#mapping#space#def('nnoremap', ['t', 'b'], 'call call(' \ . string(s:_function('s:toggle_background')) . ', [])', \ 'toggle background', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', '.'], 'call call(' \ . string(s:_function('s:win_resize_transient_state')) . ', [])', \ 'windows-transient-state', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'c'], 'call call(' \ . string(s:_function('s:toggle_conceallevel')) . ', [])', \ 'toggle conceallevel', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 't'], 'call SpaceVim#plugins#tabmanager#open()', \ 'open-tabs-manager', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'f'], 'call SpaceVim#layers#core#statusline#toggle_mode("fill-column-indicator")', \ 'fill-column-indicator', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'h', 'h'], 'call call(' \ . string(s:_function('s:toggle_cursorline')) . ', [])', \ ['toggle-highlight-current-line', \ [ \ 'SPC t h h is to toggle the highlighting of cursorline' \ ] \ ], 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'h', 'i'], 'call call(' \ . string(s:_function('s:toggle_indentline')) . ', [])', \ ['toggle-highlight-indentation-levels', \ [ \ 'SPC t h i is to running :IndentLinesToggle which is definded in indentLine' \ ] \ ], 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'h', 'c'], 'set cursorcolumn!', \ 'toggle-highlight-current-column', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'h', 's'], 'call call(' \ . string(s:_function('s:toggle_syntax_hi')) . ', [])', \ 'toggle-syntax-highlighting', 1) call SpaceVim#mapping#space#def('nnoremap', ['T', 'F'], 'call call(' \ . string(s:_function('s:toggle_full_screen')) . ', [])', \ 'fullscreen-frame', 1) call SpaceVim#mapping#space#def('nnoremap', ['T', 'm'], 'call call(' \ . string(s:_function('s:toggle_menu_bar')) . ', [])', \ 'toggle-menu-bar', 1) call SpaceVim#mapping#space#def('nnoremap', ['T', 'f'], 'call call(' \ . string(s:_function('s:toggle_win_fringe')) . ', [])', \ 'toggle-win-fringe', 1) call SpaceVim#mapping#space#def('nnoremap', ['T', 't'], 'call call(' \ . string(s:_function('s:toggle_tool_bar')) . ', [])', \ 'toggle-tool-bar', 1) call SpaceVim#mapping#space#def('nnoremap', ['T', '~'], 'call call(' \ . string(s:_function('s:toggle_end_of_buffer')) . ', [])', \ 'display ~ in the fringe on empty lines', 1) call SpaceVim#layers#core#statusline#register_mode( \ { \ 'key' : 'spell-checking', \ 'func' : s:_function('s:toggle_spell_check'), \ } \ ) call SpaceVim#layers#core#statusline#register_mode( \ { \ 'key' : 'hi-characters-for-long-lines', \ 'func' : s:_function('s:toggle_fill_column'), \ } \ ) call SpaceVim#layers#core#statusline#register_mode( \ { \ 'key' : 'fill-column-indicator', \ 'func' : s:_function('s:toggle_colorcolumn'), \ } \ ) call SpaceVim#layers#core#statusline#register_mode( \ { \ 'key' : 'whitespace', \ 'func' : s:_function('s:toggle_whitespace'), \ } \ ) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['t', 'w'], \ 'call SpaceVim#layers#core#statusline#toggle_mode("whitespace")', \ ['toggle-highlight-tail-spaces', \ [ \ '[SPC t w] will toggle white space highlighting', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'S'], \ 'call SpaceVim#layers#core#statusline#toggle_mode("spell-checking")', \ 'toggle-spell-checker', 1) call SpaceVim#layers#core#statusline#register_mode( \ { \ 'key' : 'paste-mode', \ 'func' : s:_function('s:toggle_paste'), \ } \ ) call SpaceVim#mapping#space#def('nnoremap', ['t', 'p'], \ 'call SpaceVim#layers#core#statusline#toggle_mode("paste-mode")', \ 'toggle-paste-mode', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'P'], \ 'DelimitMateSwitch', \ 'toggle-auto-parens-mode', 1) call SpaceVim#mapping#space#def('nnoremap', ['t', 'l'], 'setlocal list!', \ 'toggle-hidden-listchars', 1) call SpaceVim#layers#core#statusline#register_mode( \ { \ 'key' : 'wrapline', \ 'func' : s:_function('s:toggle_wrap_line'), \ } \ ) call SpaceVim#mapping#space#def('nnoremap', ['t', 'W'], \ 'call SpaceVim#layers#core#statusline#toggle_mode("wrapline")', \ 'toggle-wrap-line', 1) nnoremap :call toggle_full_screen() let g:_spacevim_mappings_space.z = get(g:_spacevim_mappings_space, 'z', {'name' : '+Fonts'}) call SpaceVim#mapping#space#def('nnoremap', ['z', '.'], 'call call(' \ . string(s:_function('s:fonts_transient_state')) . ', [])', \ 'font-transient-state', 1) endfunction let s:fullscreen_flag = 0 function! s:toggle_full_screen() abort if has('nvim') if s:fullscreen_flag == 0 call GuiWindowFullScreen(1) let s:fullscreen_flag = 1 else call GuiWindowFullScreen(0) let s:fullscreen_flag = 0 endif else " download gvimfullscreen.dll from github, copy gvimfullscreen.dll to " the directory that has gvim.exe call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0) endif endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif let s:tmflag = 0 function! s:toggle_menu_bar() abort if !s:tmflag set go+=m let s:tmflag = 1 else set go-=m let s:tmflag = 0 endif endfunction let s:ttflag = 0 function! s:toggle_tool_bar() abort if !s:ttflag set go+=T let s:ttflag = 1 else set go-=T let s:ttflag = 0 endif endfunction if &cc ==# '80' let s:ccflag = 1 else let s:ccflag = 0 endif function! s:toggle_colorcolumn() abort if !s:ccflag let &cc = g:spacevim_max_column let s:ccflag = 1 else set cc= let s:ccflag = 0 endif return 1 endfunction let s:fcflag = 0 " use &textwidth option instead of 80 function! s:toggle_fill_column() abort if !s:fcflag if !&textwidth let &colorcolumn=join(range(81,999),',') else let &colorcolumn=join(range(&textwidth + 1,999),',') endif let s:fcflag = 1 else set cc= let s:fcflag = 0 endif return 1 endfunction function! s:toggle_indentline() abort if exists(':IndentLinesToggle') IndentLinesToggle elseif exists(':IndentBlanklineToggle') IndentBlanklineToggle endif endfunction let s:shflag = 0 function! s:toggle_syntax_hi() abort if !s:shflag syntax off let s:shflag = 1 else syntax on let s:shflag = 0 endif endfunction let s:ebflag = 0 let s:HI = SpaceVim#api#import('vim#highlight') function! s:toggle_end_of_buffer() abort if !s:ebflag if &background ==# 'dark' hi EndOfBuffer guifg=white else hi EndOfBuffer guifg=gray endif let s:ebflag = 1 else if (exists('+termguicolors') && &termguicolors) || has('gui_running') let normalbg = s:HI.group2dict('Normal').guibg else let normalbg = s:HI.group2dict('Normal').ctermbg endif exe 'hi! EndOfBuffer guifg=' . normalbg . ' guibg=' . normalbg let s:ebflag = 0 endif endfunction let s:tfflag = 0 function! s:toggle_win_fringe() abort if !s:tfflag set guioptions+=L set guioptions+=r let s:tfflag = 1 else set guioptions-=L set guioptions-=r let s:tfflag = 0 endif endfunction function! s:toggle_cursorline() abort setl cursorline! let g:_spacevim_cursorline_flag = g:_spacevim_cursorline_flag * -1 endfunction function! s:toggle_spell_check() abort if &l:spell let &l:spell = 0 else let v:errmsg = '' silent! let &l:spell = 1 endif if v:errmsg !=# '' echo 'failed to enable spell check' silent! let &l:spell = 0 return 0 else if &l:spell == 1 echo 'spell-checking enabled.' else echo 'spell-checking disabled.' endif endif return 1 endfunction function! s:toggle_paste() abort if &l:paste let &l:paste = 0 else let &l:paste = 1 endif if &l:paste == 1 echo 'paste-mode enabled.' else echo 'paste-mode disabled.' endif return 1 endfunction let s:whitespace_enable = 0 function! s:toggle_whitespace() abort if s:whitespace_enable DisableWhitespace let s:whitespace_enable = 0 else EnableWhitespace let s:whitespace_enable = 1 endif call SpaceVim#layers#core#statusline#toggle_section('whitespace') return 1 endfunction function! s:toggle_wrap_line() abort set wrap! return 1 endfunction function! s:toggle_conceallevel() abort if &conceallevel == 0 setlocal conceallevel=2 else setlocal conceallevel=0 endif endfunction function! s:toggle_background() abort let s:tbg = &background " Inversion if s:tbg ==# 'dark' set background=light else set background=dark endif endfunction function! s:win_resize_transient_state() abort let state = SpaceVim#api#import('transient_state') call state.set_title('Windows Resize Transient State') call state.defind_keys({ \ 'layout' : 'vertical split', \ 'left' : [{ \ 'key' : 'H', \ 'desc' : 'left', \ 'func' : '', \ 'cmd' : 'wincmd h', \ 'exit' : 0, \ },{ \ 'key' : 'J', \ 'desc' : 'below', \ 'func' : '', \ 'cmd' : 'wincmd j', \ 'exit' : 0, \ },{ \ 'key' : 'K', \ 'desc' : 'up', \ 'func' : '', \ 'cmd' : 'wincmd k', \ 'exit' : 0, \ },{ \ 'key' : 'L', \ 'desc' : 'right', \ 'func' : '', \ 'cmd' : 'wincmd l', \ 'exit' : 0, \ }, \ ], \ 'right' : [{ \ 'key' : 'h', \ 'desc' : 'decrease width', \ 'func' : '', \ 'cmd' : 'vertical resize -1', \ 'exit' : 0, \ },{ \ 'key' : 'l', \ 'desc' : 'increase width', \ 'func' : '', \ 'cmd' : 'vertical resize +1', \ 'exit' : 0, \ },{ \ 'key' : 'j', \ 'desc' : 'decrease height', \ 'func' : '', \ 'cmd' : 'resize -1', \ 'exit' : 0, \ },{ \ 'key' : 'k', \ 'desc' : 'increase height', \ 'func' : '', \ 'cmd' : 'resize +1', \ 'exit' : 0, \ }, \ ], \ } \ ) call state.open() endfunction function! SpaceVim#layers#ui#set_variable(var) abort let s:enable_sidebar = get(a:var, \ 'enable_sidebar', \ 0) let s:enable_scrollbar = get(a:var, \ 'enable_scrollbar', \ 0) let s:enable_indentline = get(a:var, \ 'enable_indentline', \ 1) let s:indentline_char = get(a:var, \ 'indentline_char', \ s:indentline_char) let s:indentline_exclude_filetype = get(a:var, \ 'indentline_exclude_filetype', \ s:indentline_exclude_filetype) let s:enable_cursorword = get(a:var, \ 'enable_cursorword', \ s:enable_cursorword) let s:conceallevel = get(a:var, \ 'conceallevel', \ s:conceallevel) let s:concealcursor = get(a:var, \ 'concealcursor', \ s:concealcursor) let s:cursorword_delay = get(a:var, \ 'cursorword_delay', \ s:cursorword_delay) " The old layer option is cursorword_exclude_filetype let s:cursorword_exclude_filetypes = \ get(a:var, \ 'cursorword_exclude_filetypes', \ get(a:var, \ 'cursorword_exclude_filetype', \ s:cursorword_exclude_filetypes \ )) endfunction function! SpaceVim#layers#ui#health() abort call SpaceVim#layers#ui#plugins() call SpaceVim#layers#ui#config() return 1 endfunction function! SpaceVim#layers#ui#get_options() abort return ['enable_sidebar', \ 'enable_scrollbar', \ 'enable_indentline', \ 'enable_cursorword', \ 'cursorword_delay', \ 'concealcursor', \ 'conceallevel', \ 'indentline_exclude_filetype', \ 'indentline_char', \ 'cursorword_exclude_filetypes'] endfunction function! s:fonts_transient_state() abort if !exists('s:guifont') let s:guifont = &guifont endif let state = SpaceVim#api#import('transient_state') call state.set_title('Fonts Transient State') call state.defind_keys({ \ 'layout' : 'vertical split', \ 'left' : [{ \ 'key' : '+', \ 'desc' : 'increase the font', \ 'func' : '', \ 'exit' : 0, \ 'cmd' : 'call call(' . string(s:_function('s:increase_font')) . ', [])', \ },{ \ 'key' : '0', \ 'desc' : 'reset the font size', \ 'func' : '', \ 'exit' : 0, \ 'cmd' : 'call call(' . string(s:_function('s:reset_font_size')) . ', [])', \ }, \ ], \ 'right' : [{ \ 'key' : '-', \ 'desc' : 'reduce the font', \ 'func' : '', \ 'exit' : 0, \ 'cmd' : 'call call(' . string(s:_function('s:reduce_font')) . ', [])', \ }, \ ], \ } \ ) call state.open() endfunction function! s:reset_font_size() abort let &guifont = s:guifont sleep 100m endfunction function! s:increase_font() abort let font_size = str2nr(matchstr(matchstr(&guifont, ':h\d\+'), '\d\+')) let font_size += 1 let &guifont = substitute(&guifont, ':h\d\+', ':h' . font_size, '') sleep 100m endfunction function! s:reduce_font() abort let font_size = str2nr(matchstr(matchstr(&guifont, ':h\d\+'), '\d\+')) let font_size -= 1 let &guifont = substitute(&guifont, ':h\d\+', ':h' . font_size, '') sleep 100m endfunction function! SpaceVim#layers#ui#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/unite.vim ================================================ "============================================================================= " unite.vim --- SpaceVim unite layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section unite, layers-unite " @parentsection layers " This layer provides fuzzy finder feature which is based on |unite|. This " layer is not loaded by default, to use this layer, you need to load `unite` " layer in your configuration file. " > " [[layers]] " name = 'unite' " < " " @subsection Key bindings " > " | Key bindings | Discription | " | -------------------- | ----------------------------- | " | ` f ` | Fuzzy find menu:CustomKeyMaps | " | ` f e` | Fuzzy find register | " | ` f h` | Fuzzy find history/yank | " | ` f j` | Fuzzy find jump, change | " | ` f l` | Fuzzy find location list | " | ` f m` | Fuzzy find output messages | " | ` f o` | Fuzzy find outline | " | ` f q` | Fuzzy find quick fix | " | ` f r` | Resumes Unite window | " < " function! SpaceVim#layers#unite#plugins() abort " The default sources: " file: ff " register: fe " jump: fj " messages: fm let plugins = [ \ [g:_spacevim_root_dir . 'bundle/unite.vim', { 'merged' : 0, 'loadconf' : 1}], \ [g:_spacevim_root_dir . 'bundle/unite-sources', { 'merged' : 0}], \ ] if g:spacevim_filemanager !=# 'vimfiler' call add(plugins, [g:_spacevim_root_dir . 'bundle/vimproc.vim', {'build' : [(executable('gmake') ? 'gmake' : 'make')]}]) endif " \ ['mileszs/ack.vim',{'on_cmd' : 'Ack'}], " \ ['albfan/ag.vim',{'on_cmd' : 'Ag' , 'loadconf' : 1}], " \ ['dyng/ctrlsf.vim',{'on_cmd' : 'CtrlSF', 'on_map' : 'CtrlSF', 'loadconf' : 1 , 'loadconf_before' : 1}], " history/yank source fh call add(plugins, [g:_spacevim_root_dir . 'bundle/neoyank.vim', {'merged' : 0}]) " quickfix source fq call add(plugins, ['osyo-manga/unite-quickfix', {'merged' : 0}]) " outline source fo call add(plugins, ['Shougo/unite-outline', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/neomru.vim', {'merged' : 0}]) call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-van', {'merged' : 0}]) if g:spacevim_enable_googlesuggest call add(plugins, ['mopp/googlesuggest-source.vim']) call add(plugins, ['mattn/googlesuggest-complete-vim']) endif return plugins endfunction let s:filename = expand(':~') let s:lnum = expand('') + 2 function! SpaceVim#layers#unite#config() abort call SpaceVim#mapping#space#def('nnoremap', ['?'], 'Unite menu:CustomKeyMaps -input=[SPC]', 'show mappings', 1) call SpaceVim#mapping#space#def('nnoremap', ['h', '[SPC]'], 'Unite help -input=SpaceVim', 'unite-SpaceVim-help', 1) call SpaceVim#mapping#space#def('nnoremap', ['h', 'm'], 'Unite manpage', 'search available man pages', 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 'b'], 'Unite buffer', 'buffer list', 1) call SpaceVim#mapping#space#def('nnoremap', ['h', 'i'], 'UniteWithCursorWord help', 'get help with the symbol at point', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'u'], 'Unite unicode', 'search-and-insert-unicode', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'r'], 'Unite file_mru', 'open-recent-file', 1) call SpaceVim#mapping#space#def('nnoremap', ['r', 'l'], 'Unite resume', 'resume unite buffer', 1) call SpaceVim#mapping#space#def('nnoremap', ['i', 'u'], 'Unite unicode', 'search-and-insert-unicode', 1) if g:spacevim_snippet_engine ==# 'neosnippet' call SpaceVim#mapping#space#def('nnoremap', ['i', 's'], 'Unite neosnippet', 'insert snippets', 1) elseif g:spacevim_snippet_engine ==# 'ultisnips' call SpaceVim#mapping#space#def('nnoremap', ['i', 's'], 'Unite ultisnips', 'insert snippets', 1) endif if has('nvim') let cmd = 'Unite file_rec/neovim' else let cmd = 'Unite file_rec/async' endif let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['p', 'f'], \ cmd, \ ['find files in current project', \ [ \ '[SPC p f] is to find files in the root of the current project', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) call SpaceVim#mapping#space#def('nnoremap', ['!'], 'call call(' \ . string(s:_function('s:run_shell_cmd')) . ', [])', \ 'shell cmd(current dir)', 1) call SpaceVim#mapping#space#def('nnoremap', ['p', '!'], 'call call(' \ . string(s:_function('s:run_shell_cmd_project')) . ', [])', \ 'shell cmd(project root)', 1) call SpaceVim#mapping#space#def('nnoremap', ['T', 's'], 'Unite colorscheme', 'fuzzy find colorschemes', 1) if has('nvim') nnoremap :Unite file_rec/neovim else nnoremap :Unite file_rec/async endif let g:_spacevim_mappings.f = {'name' : '+Fuzzy Finder'} call s:defind_fuzzy_finder() let lnum = expand('') + s:lnum - 1 call SpaceVim#mapping#space#def('nnoremap', ['f', 'f'], \ 'UniteWithBufferDir file_rec/' . (has('nvim') ? 'neovim' : 'async'), \ ['Find files in the directory of the current buffer', \ [ \ '[SPC f f] is to find files in the directory of the current buffer', \ '', \ 'Definition: ' . s:filename . ':' . lnum, \ ] \ ] \ , 1) endfunction let s:file = expand(':~') let s:unite_lnum = expand('') + 3 function! s:defind_fuzzy_finder() abort nnoremap fr \ :Unite -buffer-name=resume resume let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.r = ['Unite -buffer-name=resume resume', \ 'resume unite window', \ [ \ '[Leader f r ] is to resume unite window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fe :Unite \ -buffer-name=register register let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.e = ['Unite register', \ 'fuzzy find register', \ [ \ '[Leader f e] is to fuzzy find content in register', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fh \ :Unite history/yank let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.h = ['Unite history/yank', \ 'fuzzy find yank history', \ [ \ '[Leader f h] is to fuzzy find history and yank content', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fj \ :Unite jump let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.j = ['Unite jump', \ 'fuzzy find jump list', \ [ \ '[Leader f j] is to fuzzy find jump list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fl \ :Unite locationlist let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.l = ['Unite locationlist', \ 'fuzzy find location list', \ [ \ '[Leader f l] is to fuzzy find location list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fm \ :Unite output:message let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.m = ['Unite output:message', \ 'fuzzy find message', \ [ \ '[Leader f m] is to fuzzy find message', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fq \ :Unite quickfix let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.q = ['Unite quickfix', \ 'fuzzy find quickfix list', \ [ \ '[Leader f q] is to fuzzy find quickfix list', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fo :Unite outline let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.o = ['Unite outline', \ 'fuzzy find outline', \ [ \ '[Leader f o] is to fuzzy find outline', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap f \ :Unite menu:CustomKeyMaps let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f['[SPC]'] = ['Unite menu:CustomKeyMaps', \ 'fuzzy find custom key bindings', \ [ \ '[Leader f SPC] is to fuzzy find custom key bindings', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap fp :Unite menu:AddedPlugins let lnum = expand('') + s:unite_lnum - 4 let g:_spacevim_mappings.f.p = ['Unite menu:AddedPlugins', \ 'fuzzy find vim packages', \ [ \ '[Leader f p] is to fuzzy find vim packages installed in SpaceVim', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endfunction function! s:run_shell_cmd() abort let cmd = input('Please input shell command:', '', 'customlist,SpaceVim#plugins#bashcomplete#complete') if !empty(cmd) call unite#start([['output/shellcmd', cmd]], {'log': 1, 'wrap': 1,'start_insert':0}) endif endfunction function! s:run_shell_cmd_project() abort let cmd = input('Please input shell command:', '', 'customlist,SpaceVim#plugins#bashcomplete#complete') if !empty(cmd) call unite#start([['output/shellcmd', cmd]], { \ 'log': 1, \ 'wrap': 1, \ 'start_insert':0, \ 'path' : SpaceVim#plugins#projectmanager#current_root(), \ }) endif endfunction function! SpaceVim#layers#unite#health() abort call SpaceVim#layers#unite#plugins() call SpaceVim#layers#unite#config() return 1 endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif ================================================ FILE: autoload/SpaceVim/layers/vim.vim ================================================ "============================================================================= " vim.vim --- SpaceVim vim layer " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#vim#plugins() abort return [ \ ['Shougo/vimshell.vim', { 'on_cmd':['VimShell']}], \ ['mattn/vim-terminal', { 'on_cmd':['Terminal']}], \ ] endfunction function! SpaceVim#layers#vim#config() abort augroup spacevim_vim_layer autocmd! " @todo clear vim comment string highlight " autocmd Syntax vim syntax clear vimCommentString augroup END endfunction function! SpaceVim#layers#vim#health() abort call SpaceVim#layers#vim#plugins() call SpaceVim#layers#vim#config() return 1 endfunction function! SpaceVim#layers#vim#loadable() abort return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/xmake.vim ================================================ "============================================================================= " xmake.vim --- xmake support for spacevim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section xmake, layers-xmake " @parentsection layers " The `xmake` layer provides basic function for xmake command. " This layer is disabled by default, to use it: " > " [[layers]] " name = 'xmake' " < function! SpaceVim#layers#xmake#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/xmake.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#xmake#config() abort call add(g:spacevim_project_rooter_patterns, 'xmake.lua') let g:_spacevim_mappings_space.m.x = {'name' : '+xmake'} call SpaceVim#mapping#space#def('nnoremap', ['m', 'x', 'b'], 'call xmake#buildrun()', 'xmake-build-without-running', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'x', 'r'], 'call xmake#buildrun(1)', 'xmake-build-amd-running', 1) endfunction function! SpaceVim#layers#xmake#health() abort call SpaceVim#layers#xmake#plugins() call SpaceVim#layers#xmake#config() return 1 endfunction ================================================ FILE: autoload/SpaceVim/layers/zettelkasten.vim ================================================ "============================================================================= " zettelkasten.vim --- zettelkasten layer for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#layers#zettelkasten#plugins() abort let plugins = [] call add(plugins, [g:_spacevim_root_dir . 'bundle/vim-zettelkasten', \ { \ 'merged' : 0, 'on_cmd' : ['ZkNew', 'ZkBrowse', 'ZkListTemplete', 'ZkListTags', 'ZkListNotes'], 'loadconf' : 1, \ }]) return plugins endfunction function! SpaceVim#layers#zettelkasten#health() abort call SpaceVim#layers#zettelkasten#plugins() return 1 endfunction function! SpaceVim#layers#zettelkasten#loadable() abort return has('nvim') endfunction function! SpaceVim#layers#zettelkasten#config() abort let g:_spacevim_mappings_space.m.z = {'name' : '+zettelkasten'} call SpaceVim#mapping#space#def('nnoremap', ['m', 'z', 'n'], 'ZkNew', 'create-new-zettel-note', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'z', 't'], 'ZkListTemplete', 'zettel-template', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'z', 'g'], 'ZkListTags', 'zettel-tags', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'z', 'b'], 'ZkBrowse', 'open-zettelkasten-browse', 1) call SpaceVim#mapping#space#def('nnoremap', ['m', 'z', 'f'], 'ZkListNotes', 'fuzzy-find-zettels', 1) endfunction function! SpaceVim#layers#zettelkasten#set_variable(var) abort let g:zettelkasten_directory = get(a:var, \ 'zettel_dir', \ '') let g:zettelkasten_template_directory = get(a:var, \ 'zettel_template_dir', \ '') endfunction function! SpaceVim#layers#zettelkasten#get_options() abort return ['zettel_dir'] endfunction ================================================ FILE: autoload/SpaceVim/layers.vim ================================================ "============================================================================= " layers.vim --- layers public API " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section Layers, layers " Layers help collecting related packages together to provides features. " This approach helps keep configuration organized and reduces overhead for " the user by keeping them from having to think about what packages to install. " " @subsection Enable layers " " By default SpaceVim enables these layers: " " 1. `autocomplete` " 2. `checkers` " 3. `format` " 4. `edit` " 5. `ui` " 5. `core` " 6. `core#banner` " 7. `core#statusline` " 8. `core#tabline` " " To enable a specific layer you need to edit SpaceVim's custom configuration files. " The key binding for opening the configuration files.s `SPC f v d`. " " The following example shows how to load `shell` layer with some specified options: " > " [[layers]] " name = 'shell' " default_position = 'top' " default_height = 30 " < " " @subsection Disable layers " " Some layers are enabled by default. The following example shows how to disable `shell` layer: " > " [[layers]] " name = 'shell' " enable = false " < let s:enabled_layers = [] let s:layers_vars = {} let s:SYS = SpaceVim#api#import('system') let s:CMP = SpaceVim#api#import('vim#compatible') "" " Load the {layer} you want. For all the layers SpaceVim supports, see @section(layers). " the second argv is the layer variable. For example: " > " call SpaceVim#layers#load('autocomplete', " \ { " \ 'auto_completion_delay' : 50, " \ } " \ ) " < function! SpaceVim#layers#load(layer, ...) abort if a:layer ==# '-l' if has('nvim') lua require('spacevim.layer').load('-l') else call s:list_layers() endif return elseif empty(a:layer) || type(a:layer) !=# type('') return endif call SpaceVim#logger#info('load layer:' . a:layer) let loadable = 1 try let loadable = SpaceVim#layers#{a:layer}#loadable() catch /^Vim\%((\a\+)\)\=:E117/ call SpaceVim#logger#info(a:layer . ' layer do not implement loadable function') endtry if index(s:enabled_layers, a:layer) == -1 if loadable call add(s:enabled_layers, a:layer) else call SpaceVim#logger#warn('Failed to load ' \ . a:layer \ . ' layer, read :h SpaceVim-layer-' . a:layer \ . ' for more info!') endif endif if a:0 == 1 && type(a:1) == 4 try call SpaceVim#layers#{a:layer}#set_variable(a:1) let s:layers_vars[a:layer] = a:1 catch /^Vim\%((\a\+)\)\=:E117/ call SpaceVim#logger#info(a:layer . ' layer do not implement set_variable function') endtry endif if a:0 > 0 && type(a:1) == 1 for l in a:000 call SpaceVim#layers#load(l) endfor endif call SpaceVim#logger#info('layer loaded.') endfunction function! SpaceVim#layers#disable(layer) abort let index = index(s:enabled_layers, a:layer) if index != -1 call remove(s:enabled_layers, index) endif endfunction function! s:list_layers() abort tabnew SpaceVimLayers nnoremap q :q setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell setf SpaceVimLayerManager nnoremap q :bd let info = [ \ 'SpaceVim layers:', \ '', \ ] call setline(1,info + s:find_layers()) setl nomodifiable endfunction function! s:find_layers() abort let layers = s:CMP.globpath(&rtp, 'autoload/SpaceVim/layers/**/*.vim') let pattern = s:SYS.isWindows ? '\\autoload\\SpaceVim\\layers\\' : '/autoload/SpaceVim/layers/' let rst = [] for layer in layers if layer =~# pattern if s:SYS.isWindows let name = substitute(layer[matchend(layer, pattern):-5], '\\', '/', 'g') else let name = layer[matchend(layer, pattern):-5] endif let status = (index(s:enabled_layers, substitute(name, '/', '#','g')) != -1) ? 'loaded' : 'not loaded' if name ==# 'lsp' let url = 'language-server-protocol' else let url = name endif if filereadable(expand('~/.SpaceVim/docs/layers/' . url . '.md')) let website = 'https://spacevim.org/layers/' . url . '/' else let website = 'no exists' endif let name = substitute(name, '/', '#','g') if status ==# 'loaded' call add(rst, '+ ' . name . ':' . repeat(' ', 25 - len(name)) . status . repeat(' ', 10) . website) else call add(rst, '- ' . name . ':' . repeat(' ', 21 - len(name)) . status . repeat(' ', 10) . website) endif endif endfor return rst endfunction function! SpaceVim#layers#get() abort return deepcopy(s:enabled_layers) endfunction function! SpaceVim#layers#isLoaded(layer) abort return index(s:enabled_layers, a:layer) != -1 endfunction function! SpaceVim#layers#report() abort let info = "```toml\n" for name in s:enabled_layers let info .= "[[layers]]\n" let info .= ' name="' . name . '"' . "\n" if has_key(s:layers_vars, name) for var in keys(s:layers_vars[name]) if var !=# 'name' let info .= ' ' . var . '=' . string(s:layers_vars[name][var]) . "\n" endif endfor endif endfor let info .= "```\n" return info endfunction function! SpaceVim#layers#list() abort let files = s:CMP.globpath('.', 'autoload/SpaceVim/layers/**/*.vim') let pattern = s:SYS.isWindows ? '\\autoload\\SpaceVim\\layers\\' : '/autoload/SpaceVim/layers/' let layers = [] for file in files if s:SYS.isWindows let layer = substitute(file[matchend(file, pattern):-5], '\\', '/', 'g') else let layer = file[matchend(file, pattern):-5] endif call add(layers, layer) endfor return map(layers, "substitute(v:val, '/', '#','g')") endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/logger.vim ================================================ "============================================================================= " logger.vim --- SpaceVim logger " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section Runtime Log, runtime-log " @parentsection dev " The runtime log of SpaceVim can be obtained via the key binding `SPC h L`. " To get the debug information about the current SpaceVim environment, " Use the command `:SPDebugInfo!`. This command will open a new buffer where default information will be shown. " You can also use `SPC h I` to open a buffer with SpaceVim's issue template. if has('nvim-0.5.0') "" " write message to SpaceVim runtime log with `info` level. function! SpaceVim#logger#info(msg) abort lua require("spacevim.logger").info( \ require("spacevim").eval("a:msg") \ ) endfunction "" " write warning {msg} to spacevim runtime log. " The `msg` must be string. the second argument is optional, It can a " boolean or `0/1`. By default, the warning message will not be printed, " if the second argument is given, and is `0` or false, the warning msg " will be printed to screen. function! SpaceVim#logger#warn(msg, ...) abort let issilent = get(a:000, 0, 1) lua require("spacevim.logger").warn( \ require("spacevim").eval("a:msg"), \ require("spacevim").eval("issilent") \ ) endfunction "" " write error message to spacevim runtime log. function! SpaceVim#logger#error(msg) abort lua require("spacevim.logger").error( \ require("spacevim").eval("a:msg") \ ) endfunction "" " write debug message to spacevim runtime log. function! SpaceVim#logger#debug(msg) abort lua require("spacevim.logger").debug( \ require("spacevim").eval("a:msg") \ ) endfunction "" " This a a function to view the spacevim runtime log. same as " |:SPRuntimeLog| and `SPC h L` " " To clear runtime log, just run: " > " :SPRuntimeLog --clear " < function! SpaceVim#logger#viewRuntimeLog(...) abort if get(a:000, 0, '') ==# '--clear' lua require("spacevim.logger").clearRuntimeLog() return endif lua require("spacevim.logger").viewRuntimeLog() endfunction "" " Print the debug information of spacevim, same as |:SPDebugInfo| function! SpaceVim#logger#viewLog(...) abort if a:0 >= 1 let bang = get(a:000, 0, 0) return luaeval('require("spacevim.logger").viewLog(require("spacevim").eval("bang"))') else return luaeval('require("spacevim.logger").viewLog()') endif endfunction "" " @public " Set debug level of SpaceVim. Default is 1. " " 1 : log all messages " " 2 : log warning and error messages " " 3 : log error messages only function! SpaceVim#logger#setLevel(level) abort lua require("spacevim.logger").setLevel(require("spacevim").eval("a:level")) endfunction "" " change the output file of spacevim runtime logger. default is empty " string. function! SpaceVim#logger#setOutput(file) abort lua require("spacevim.logger").setOutput(require("spacevim").eval("a:file")) endfunction "" " Derive a new logger based on SpaceVim's runtime logger. The new logger " provides following functions: " 1. info(msg): like |SpaceVim#logger#info|, but include the derive name. " 2. warn(msg): like |SpaceVim#logger#warn| " 3. error(msg): like |SpaceVim#logger#error| " 4. debug(msg): write debug message run SpaceVim runtime log " 5. start_debug(): enable debug mode of derived logger. " 6. stop_debug(): stop debug mode of derived logger. " 7. debug_enabled(): return true or false. " " This function can be used in vim script and lua. " " Vim script Example: > " let s:LOGGER = SpaceVim#logger#derive('myplug') " " call s:LOGGER.info('hello world') " < " " Lua Example: > " local log = require('spacevim.logger').derive('myplug') " " log.info('hello world') " < " " The this info message will be write to SpaceVim's runtime log: " > " [ myplug ] [00:02:54:051] [ Info ] hello world " < function! SpaceVim#logger#derive(name) abort return luaeval('require("spacevim.logger").derive(require("spacevim").eval("a:name"))') endfunction else let s:LOGGER = SpaceVim#api#import('logger') call s:LOGGER.set_name('SpaceVim') call s:LOGGER.set_level(get(g:, 'spacevim_debug_level', 1)) call s:LOGGER.set_silent(1) call s:LOGGER.set_verbose(1) function! SpaceVim#logger#info(msg) abort call s:LOGGER.info(a:msg) endfunction function! SpaceVim#logger#warn(msg, ...) abort let issilent = get(a:000, 0, 1) call s:LOGGER.warn(a:msg, issilent) endfunction function! SpaceVim#logger#error(msg) abort call s:LOGGER.error(a:msg) endfunction function! SpaceVim#logger#debug(msg) abort call s:LOGGER.debug(a:msg) endfunction function! SpaceVim#logger#viewRuntimeLog(...) abort if get(a:000, 0, '') ==# '--clear' call s:LOGGER.clear() return endif let info = "### SpaceVim runtime log :\n\n" let info .= s:LOGGER.view(s:LOGGER.level) tabnew +setl\ nobuflisted nnoremap q :tabclose! call setline(1, split(info, "\n")) normal! G setl nomodifiable setl buftype=nofile setl filetype=SpaceVimLog endfunction function! SpaceVim#logger#viewLog(...) abort let info = "
SpaceVim debug information \n\n" let info .= "### SpaceVim options :\n\n" let info .= "```toml\n" let info .= join(SpaceVim#options#list(), "\n") let info .= "\n```\n" let info .= "\n\n" let info .= "### SpaceVim layers :\n\n" let info .= SpaceVim#layers#report() let info .= "\n\n" let info .= "### SpaceVim Health checking :\n\n" let info .= SpaceVim#health#report() let info .= "\n\n" let info .= "### SpaceVim runtime log :\n\n" let info .= "```log\n" let info .= s:LOGGER.view(s:LOGGER.level) let info .= "\n```\n
\n\n" if a:0 > 0 if a:1 == 1 tabnew +setl\ nobuflisted nnoremap q :bd! for msg in split(info, "\n") call append(line('$'), msg) endfor normal! "_dd setl nomodifiable setl buftype=nofile setl filetype=markdown else echo info endif else return info endif endfunction function! s:syntax_extra() abort call matchadd('ErrorMsg','.*[\sError\s\].*') call matchadd('WarningMsg','.*[\sWarn\s\].*') endfunction function! SpaceVim#logger#setLevel(level) abort call s:LOGGER.set_level(a:level) endfunction function! SpaceVim#logger#setOutput(file) abort call s:LOGGER.set_file(a:file) endfunction " derive a logger for built-in plugins " [ name ] [11:31:26] [ Info ] log message here let s:derive = {} let s:derive.origin_name = s:LOGGER.get_name() let s:derive._debug_mode = 1 function! s:derive.info(msg) abort call s:LOGGER.set_name(self.derive_name) call s:LOGGER.info(a:msg) call s:LOGGER.set_name(self.origin_name) endfunction function! s:derive.warn(msg) abort call s:LOGGER.set_name(self.derive_name) call s:LOGGER.warn(a:msg) call s:LOGGER.set_name(self.origin_name) endfunction function! s:derive.error(msg) abort call s:LOGGER.set_name(self.derive_name) call s:LOGGER.error(a:msg) call s:LOGGER.set_name(self.origin_name) endfunction function! s:derive.debug(msg) abort if self._debug_mode call s:LOGGER.set_name(self.derive_name) call s:LOGGER.debug(a:msg) call s:LOGGER.set_name(self.origin_name) endif endfunction function! s:derive.start_debug() abort let self._debug_mode = 1 endfunction function! s:derive.stop_debug() abort let self._debug_mode = 0 endfunction function! s:derive.debug_enabled() abort return self._debug_mode endfunction function! SpaceVim#logger#derive(name) abort let s:derive.derive_name = printf('%' . strdisplaywidth(s:LOGGER.get_name()) . 'S', a:name) return deepcopy(s:derive) endfunction endif ================================================ FILE: autoload/SpaceVim/lsp.vim ================================================ "============================================================================= " lsp.vim --- language server protocol wallpaper " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Seong Yong-ju < @sei40kr > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 if exists('s:NVIM_VERSION') finish endif let s:NVIM_VERSION = SpaceVim#api#import('neovim#version') let s:box = SpaceVim#api#import('unicode#box') let s:NOTI = SpaceVim#api#import('notify') if (has('nvim-0.5.0') && s:NVIM_VERSION.is_release_version()) || has('nvim-0.6.0') " use neovim built-in lsp call SpaceVim#logger#info('lsp client: nvim built-in lsp') function! SpaceVim#lsp#reg_server(ft, cmds) abort lua require("spacevim.lsp").register( \ require("spacevim").eval("a:ft"), \ require("spacevim").eval("a:cmds") \ ) endfunction function! SpaceVim#lsp#show_doc() abort lua vim.lsp.buf.hover() endfunction function! SpaceVim#lsp#go_to_def() abort lua vim.lsp.buf.definition() endfunction function! SpaceVim#lsp#go_to_declaration() abort lua vim.lsp.buf.declaration() endfunction function! SpaceVim#lsp#rename() abort " @todo add float prompt api " lua vim.lsp.buf.rename(require('spacevim.api.input').float_prompt()) lua vim.lsp.buf.rename() endfunction function! SpaceVim#lsp#references() abort lua vim.lsp.buf.references() endfunction function! SpaceVim#lsp#go_to_typedef() abort endfunction function! SpaceVim#lsp#refactor() abort endfunction function! SpaceVim#lsp#go_to_impl() abort lua vim.lsp.buf.implementation() endfunction function! SpaceVim#lsp#show_line_diagnostics() abort lua require('spacevim.diagnostic').open_float() endfunction function! SpaceVim#lsp#list_workspace_folder() abort let workspace = luaeval('vim.lsp.buf.list_workspace_folders()') let bw = max(map(deepcopy(workspace), 'strwidth(v:val)')) + 5 let box = s:box.drawing_box(workspace, 1, 1, bw, {'align' : 'left'}) call s:NOTI.notify(join(box, "\n")) endfunction function! SpaceVim#lsp#add_workspace_folder() abort lua vim.lsp.buf.add_workspace_folder() endfunction function! SpaceVim#lsp#remove_workspace_folder() abort lua vim.lsp.buf.remove_workspace_folder() endfunction function! SpaceVim#lsp#buf_server_ready() abort return luaeval('require("spacevim.lsp").server_ready()') endfunction function! SpaceVim#lsp#diagnostic_set_loclist() abort lua require('spacevim.diagnostic').set_loclist() endfunction function! SpaceVim#lsp#diagnostic_goto_next() abort lua require("spacevim.diagnostic").goto_next() endfunction function! SpaceVim#lsp#diagnostic_goto_prev() abort lua require("spacevim.diagnostic").goto_prev() endfunction function! SpaceVim#lsp#diagnostic_clear() abort lua require("spacevim.diagnostic").hide() endfunction elseif SpaceVim#layers#isLoaded('autocomplete') && get(g:, 'spacevim_autocomplete_method') ==# 'coc' " use coc.nvim call SpaceVim#logger#info('lsp client: coc.nvim') let s:coc_language_servers = {} let s:coc_language_servers_key_id_map = {} function! SpaceVim#lsp#buf_server_ready() abort endfunction function! SpaceVim#lsp#reg_server(ft, cmds) abort " coc.nvim doesn't support key values containing dots " See https://github.com/neoclide/coc.nvim/issues/323 " Since a:cmds[0], i.e. the language server command can be a full path, " which can potentially contain dots, we just take it's last part, if any " dots are present. " " Clearly, with this implementation, an edge case could be the following " " [layers.override_cmd] " c = ['/home/user/.local/.bin/ccls', '--log-file=/tmp/ccls.log'] " cpp = ['/home/user/local/.bin/ccls', '--log-file=/tmp/ccls.log'] " " the last part `bin/ccls` is the same, whereas the commands are not " actually the same. " We need to keep an id to distinguish among conflicting keys. if stridx(a:cmds[0], '.') >= 0 let l:key = split(a:cmds[0], "\\.")[-1] else let l:key = a:cmds[0] endif for id in range(get(s:coc_language_servers_key_id_map, l:key, 0)) if has_key(s:coc_language_servers, l:key . id) && s:coc_language_servers[l:key . id].command ==# a:cmds[0] call add(s:coc_language_servers[l:key . id].filetypes, a:ft) return endif endfor let s:coc_language_servers_key_id_map[l:key] = get(s:coc_language_servers_key_id_map, l:key, 0) let s:coc_language_servers[l:key . s:coc_language_servers_key_id_map[l:key]] = { \'command': a:cmds[0], \'args': a:cmds[1:], \'filetypes': [a:ft] \} let s:coc_language_servers_key_id_map[l:key] = s:coc_language_servers_key_id_map[l:key] + 1 augroup spacevim_lsp_layer autocmd! autocmd! User CocNvimInit :call coc#config("languageserver", s:coc_language_servers) augroup END endfunction function! SpaceVim#lsp#show_doc() abort call CocActionAsync('doHover') endfunction function! SpaceVim#lsp#go_to_def() abort call CocAction('jumpDefinition') endfunction function! SpaceVim#lsp#go_to_declaration() abort call CocAction('jumpDeclaration') endfunction function! SpaceVim#lsp#go_to_typedef() abort call CocAction('jumpTypeDefinition') endfunction function! SpaceVim#lsp#go_to_impl() abort call CocAction('jumpImplementation') endfunction function! SpaceVim#lsp#refactor() abort call CocActionAsync('refactor') endfunction function! SpaceVim#lsp#rename() abort call CocActionAsync('rename') endfunction function! SpaceVim#lsp#references() abort call CocAction('jumpReferences') endfunction elseif has('nvim-0.4.3') && $ENABLE_NVIM043LSP call SpaceVim#logger#info('lsp client: nvim-lspext') function! SpaceVim#lsp#buf_server_ready() abort endfunction function! SpaceVim#lsp#show_doc() abort lua require('lsp.plugin') \ .client.request('textDocument/hover', \ {}, require('spacevim.lsp').hover_callback) endfunction function! SpaceVim#lsp#go_to_def() abort lua require('lsp.plugin') \ .client.request('textDocument/hover', \ {}, require('spacevim.lsp').hover_callback) endfunction function! SpaceVim#lsp#go_to_typedef() abort call LanguageClient_textDocument_typeDefinition() endfunction function! SpaceVim#lsp#go_to_impl() abort call LanguageClient_textDocument_implementation() endfunction function! SpaceVim#lsp#rename() abort call LanguageClient_textDocument_rename() endfunction function! SpaceVim#lsp#references() abort call LanguageClient_textDocument_references() endfunction function! SpaceVim#lsp#go_to_declaration() abort call LanguageClient_textDocument_declaration() endfunction function! SpaceVim#lsp#documentSymbol() abort call LanguageClient_textDocument_documentSymbol() endfunction function! SpaceVim#lsp#refactor() abort " @todo languageclient do not support refactor endfunction elseif has('nvim') " use LanguageClient-neovim call SpaceVim#logger#info('lsp client: LanguageClient-neovim') function! SpaceVim#lsp#reg_server(ft, cmds) abort let g:LanguageClient_serverCommands[a:ft] = copy(a:cmds) endfunction function! SpaceVim#lsp#show_doc() abort call LanguageClient_textDocument_hover() endfunction function! SpaceVim#lsp#go_to_def() abort call LanguageClient_textDocument_definition() endfunction function! SpaceVim#lsp#go_to_typedef() abort call LanguageClient_textDocument_typeDefinition() endfunction function! SpaceVim#lsp#go_to_impl() abort call LanguageClient_textDocument_implementation() endfunction function! SpaceVim#lsp#rename() abort call LanguageClient_textDocument_rename() endfunction function! SpaceVim#lsp#references() abort call LanguageClient_textDocument_references() endfunction function! SpaceVim#lsp#go_to_declaration() abort call LanguageClient_textDocument_declaration() endfunction function! SpaceVim#lsp#documentSymbol() call LanguageClient_textDocument_documentSymbol() endfunction function! SpaceVim#lsp#refactor() abort " @todo languageclient do not support refactor endfunction function! SpaceVim#lsp#buf_server_ready() abort endfunction else " use vim-lsp call SpaceVim#logger#info('lsp client: vim-lsp') function! SpaceVim#lsp#reg_server(ft, cmds) abort exe 'au User lsp_setup call lsp#register_server({' \ . "'name': '" . a:ft . "-lsp'," \ . "'cmd': {server_info -> " . string(a:cmds) . '},' \ . "'whitelist': ['" . a:ft . "' ]," \ . '})' exe 'autocmd FileType ' . a:ft . ' setlocal omnifunc=lsp#complete' endfunction function! SpaceVim#lsp#show_doc() abort LspHover endfunction function! SpaceVim#lsp#go_to_def() abort LspDefinition endfunction function! SpaceVim#lsp#go_to_declaration() abort LspDeclaration endfunction function! SpaceVim#lsp#rename() abort LspRename endfunction function! SpaceVim#lsp#references() abort LspReferences endfunction function! SpaceVim#lsp#go_to_typedef() abort LspPeekTypeDefinition endfunction function! SpaceVim#lsp#refactor() abort LspCodeAction refactor endfunction function! SpaceVim#lsp#go_to_impl() abort LspImplementation endfunction function! SpaceVim#lsp#show_line_diagnostics() abort endfunction function! SpaceVim#lsp#list_workspace_folder() abort endfunction function! SpaceVim#lsp#add_workspace_folder() abort endfunction function! SpaceVim#lsp#remove_workspace_folder() abort endfunction function! SpaceVim#lsp#buf_server_ready() abort endfunction function! SpaceVim#lsp#diagnostic_set_loclist() abort endfunction function! SpaceVim#lsp#diagnostic_goto_next() abort LspNextDiagnostic endfunction function! SpaceVim#lsp#diagnostic_goto_prev() abort LspPreviousDiagnostic endfunction function! SpaceVim#lsp#diagnostic_clear() abort endfunction endif " vi: et sw=2 cc=80 ================================================ FILE: autoload/SpaceVim/mapping/enter.vim ================================================ "============================================================================= " enter.vim --- Enter key bindings " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if g:spacevim_snippet_engine ==# 'neosnippet' function! SpaceVim#mapping#enter#i_enter() abort if pumvisible() if neosnippet#expandable() return "\(neosnippet_expand)" else return "\" endif elseif getline('.')[col('.') - 2]==#'{'&&getline('.')[col('.')-1]==#'}' return "\\ko" elseif getline('.')[col('.') - 2]==#'('&&getline('.')[col('.')-1]==#')' return "\\ko" else return "\" endif endfunction elseif g:spacevim_snippet_engine ==# 'ultisnips' function! SpaceVim#mapping#enter#i_enter() abort if pumvisible() return "\" elseif getline('.')[col('.') - 2]==#'{'&&getline('.')[col('.')-1]==#'}' return "\\ko" else return "\" endif endfunction endif " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/mapping/frequency.vim ================================================ "============================================================================= " frequency.vim --- key frequency plugin " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:data = {} function! SpaceVim#mapping#frequency#update(key, rhs) abort if has_key(s:data, a:key) let s:data[a:key] += 1 else let s:data[a:key] = 1 endif return a:rhs endfunction function! SpaceVim#mapping#frequency#view(keys) abort if type(a:keys) == 1 echo 'The frequency of ' . a:keys . ' is ' . s:get(a:keys) elseif type(a:keys) == 3 for key in a:keys call SpaceVim#mapping#frequency#view(key) endfor endif endfunction function! SpaceVim#mapping#frequency#viewall() abort echo string(s:data) endfunction function! s:get(key) abort if has_key(s:data, a:key) return s:data[a:key] else return 0 endif endfunction ================================================ FILE: autoload/SpaceVim/mapping/g.vim ================================================ "============================================================================= " g.vim --- g key bindings " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#mapping#g#init() abort call SpaceVim#logger#debug('init g key bindings') nnoremap [G] :LeaderGuide "g" nmap g [G] let g:_spacevim_mappings_g = {} let g:_spacevim_mappings_g[''] = ['call feedkeys("g\", "n")', 'show-cursor-info'] nnoremap g g let g:_spacevim_mappings_g['&'] = ['call feedkeys("g&", "n")', 'repeat-last-:s-on-buffer'] nnoremap g& g& let g:_spacevim_mappings_g["'"] = ['call feedkeys("g' . "'" . '", "n")', 'jump-to-mark-`'] nnoremap g' g' let g:_spacevim_mappings_g['`'] = ['call feedkeys("g' . '`' . '", "n")', "jump-to-mark-'"] nnoremap g` g` let g:_spacevim_mappings_g['+'] = ['call feedkeys("g+", "n")', 'newer-text-state'] nnoremap g+ g+ let g:_spacevim_mappings_g['-'] = ['call feedkeys("g-", "n")', 'older-text-state'] nnoremap g- g- let g:_spacevim_mappings_g[','] = ['call feedkeys("g,", "n")', 'newer-change-position'] nnoremap g, g, let g:_spacevim_mappings_g[';'] = ['call feedkeys("g;", "n")', 'older-change-position'] nnoremap g; g; let g:_spacevim_mappings_g['@'] = ['call feedkeys("g@", "n")', 'call-operatorfunc'] nnoremap g@ g@ let g:_spacevim_mappings_g['#'] = ['call feedkeys("\(incsearch-nohl-g#)")', 'backward-search-cword'] let g:_spacevim_mappings_g['*'] = ['call feedkeys("\(incsearch-nohl-g*)")', 'forward-search-cword'] let g:_spacevim_mappings_g['/'] = ['call feedkeys("\(incsearch-stay)")', 'stay-incsearch'] let g:_spacevim_mappings_g['$'] = ['call feedkeys("g$", "n")', 'rightmost-character'] nnoremap g$ g$ let g:_spacevim_mappings_g[''] = ['call feedkeys("g$", "n")', 'rightmost-character'] nnoremap g g let g:_spacevim_mappings_g['0'] = ['call feedkeys("g0", "n")', 'leftmost-character'] nnoremap g0 g0 let g:_spacevim_mappings_g[''] = ['call feedkeys("g0", "n")', 'leftmost-character'] nnoremap g g let g:_spacevim_mappings_g['e'] = ['call feedkeys("ge", "n")', 'end-of-previous-word'] nnoremap ge ge let g:_spacevim_mappings_g['<'] = ['call feedkeys("g<", "n")', 'last-page-of-previous-command-output'] nnoremap g< g< let g:_spacevim_mappings_g['f'] = ['call feedkeys("gf", "n")', 'edit-file-under-cursor'] nnoremap gf gf let g:_spacevim_mappings_g['F'] = ['call feedkeys("gF", "n")', 'edit-file-withline-under-cursor'] nnoremap gF gF let g:_spacevim_mappings_g['j'] = ['call feedkeys("gj", "n")', 'move-cursor-down-screen-line'] nnoremap gj gj let g:_spacevim_mappings_g['k'] = ['call feedkeys("gk", "n")', 'move-cursor-up-screen-line'] nnoremap gk gk let g:_spacevim_mappings_g['u'] = ['call feedkeys("gu", "n")', 'make-motion-text-lowercase'] nnoremap gu gu let g:_spacevim_mappings_g['E'] = ['call feedkeys("gE", "n")', 'end-of-previous-word'] nnoremap gE gE let g:_spacevim_mappings_g['U'] = ['call feedkeys("gU", "n")', 'make-motion-text-uppercase'] nnoremap gU gU let g:_spacevim_mappings_g['H'] = ['call feedkeys("gH", "n")', 'select-line-mode'] nnoremap gH gH let g:_spacevim_mappings_g['h'] = ['call feedkeys("gh", "n")', 'select-mode'] nnoremap gh gh let g:_spacevim_mappings_g['I'] = ['call feedkeys("gI", "n")', 'insert-text-in-column-1'] nnoremap gI gI let g:_spacevim_mappings_g['i'] = ['call feedkeys("gi", "n")', "insert-text-after-'^-mark"] nnoremap gi gi let g:_spacevim_mappings_g['J'] = ['call feedkeys("gJ", "n")', 'join-lines-without-space'] nnoremap gJ gJ let g:_spacevim_mappings_g['N'] = ['call feedkeys("gN", "n")', 'visually-select-previous-match'] nnoremap gN gN let g:_spacevim_mappings_g['n'] = ['call feedkeys("gn", "n")', 'visually-select-next-match'] nnoremap gn gn let g:_spacevim_mappings_g['Q'] = ['call feedkeys("gQ", "n")', 'switch-to-Ex-mode'] nnoremap gQ gQ let g:_spacevim_mappings_g['q'] = ['call feedkeys("gq", "n")', 'format-Nmove-text'] nnoremap gq gq let g:_spacevim_mappings_g['R'] = ['call feedkeys("gR", "n")', 'enter-VREPLACE-mode'] nnoremap gR gR let g:_spacevim_mappings_g['T'] = ['call feedkeys("gT", "n")', 'previous-tag-page'] nnoremap gT gT let g:_spacevim_mappings_g['t'] = ['call feedkeys("gt", "n")', 'next-tag-page'] nnoremap gt gt let g:_spacevim_mappings_g[']'] = ['call feedkeys("g]", "n")', 'tselect-cursor-tag'] nnoremap g] g] let g:_spacevim_mappings_g['^'] = ['call feedkeys("g^", "n")', 'go-to-leftmost-no-white-character'] nnoremap g^ g^ let g:_spacevim_mappings_g['_'] = ['call feedkeys("g_", "n")', 'go-to-last-char'] nnoremap g_ g_ let g:_spacevim_mappings_g['~'] = ['call feedkeys("g~", "n")', 'swap-case-for-Nmove-text'] nnoremap g~ g~ let g:_spacevim_mappings_g['a'] = ['call feedkeys("ga", "n")', 'print-ascii-value-of-cursor-character'] nnoremap ga ga let g:_spacevim_mappings_g['g'] = ['call feedkeys("gg", "n")', 'go-to-line-N'] nnoremap gg gg let g:_spacevim_mappings_g['m'] = ['call feedkeys("gm", "n")', 'go-to-middle-of-screenline'] nnoremap gm gm let g:_spacevim_mappings_g['o'] = ['call feedkeys("go", "n")', 'goto-byte-N-in-the buffer'] nnoremap go go let g:_spacevim_mappings_g.s = ['call feedkeys("gs", "n")', 'sleep-N-seconds'] nnoremap gs gs let g:_spacevim_mappings_g['v'] = ['call feedkeys("gv", "n")', 'reselect-the-previous-Visual-area'] nnoremap gv gv let g:_spacevim_mappings_g[''] = ['call feedkeys("g", "n")', 'jump-to-tag-under-cursor'] nnoremap g g let g:_spacevim_mappings_g['D'] = ['call SpaceVim#mapping#g_capital_d()', 'goto-declaration'] call SpaceVim#mapping#def('nnoremap ', 'gD', ':call SpaceVim#mapping#g_capital_d()', 'Goto declaration', '') let g:_spacevim_mappings_g['d'] = ['call SpaceVim#mapping#gd()', 'goto-definition'] call SpaceVim#mapping#def('nnoremap ', 'gd', ':call SpaceVim#mapping#gd()', 'Goto definition', '') let g:_spacevim_mappings_g['='] = ['call SpaceVim#mapping#format()', 'format-current-buffer'] call SpaceVim#mapping#def('nnoremap ','g=',':call SpaceVim#mapping#format()','format current buffer','call SpaceVim#mapping#format()') " Tabs nnoremap g0 :tabfirst let g:_spacevim_mappings_g['0'] = ['tabfirst', 'jump-to-first-tab'] " Select last paste nnoremap gp '`['.strpart(getregtype(), 0, 1).'`]' let g:_spacevim_mappings_g['p'] = ["exe 'normal! ' . '`['.strpart(getregtype(), 0, 1).'`]'", 'select-last-paste'] nnoremap g$ :tablast let g:_spacevim_mappings_g['$'] = ['tablast', 'jump-to-last-tab'] nnoremap gr tabpagenr('#') > 0 ? ':exe "tabnext " . tabpagenr("#")' : '' let g:_spacevim_mappings_g['r'] = ['call call(' \ . string(s:_function('s:preview_tab')) . ', [])', 'jump-to-preview-tab'] endfunction function! s:preview_tab() abort if tabpagenr('#') > 0 exe "tabnext " . tabpagenr("#") endif endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/mapping/g_capital_d.vim ================================================ "============================================================================= " g_capital_d.vim --- gD key binding " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: sisynb < bsixxxx at gmail.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:g_capital_d = {} function! SpaceVim#mapping#g_capital_d#add(ft, func) abort call extend(s:g_capital_d,{a:ft : a:func}) endfunction function! SpaceVim#mapping#g_capital_d#get() abort return get(s:g_capital_d, &filetype, '') endfunction ================================================ FILE: autoload/SpaceVim/mapping/gd.vim ================================================ "============================================================================= " gd.vim --- gd key binding " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:gd = {} function! SpaceVim#mapping#gd#add(ft, func) abort call extend(s:gd,{a:ft : a:func}) endfunction function! SpaceVim#mapping#gd#get() abort return get(s:gd, &filetype, '') endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/paser.vim ================================================ ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/NeoSolarized.vim ================================================ "============================================================================= " NeoSolarized.vim --- NeoSolarized theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#mapping#guide#theme#NeoSolarized#palette() abort return SpaceVim#mapping#guide#theme#solarized#palette() endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/SpaceVim.vim ================================================ "============================================================================= " SpaceVim.vim --- SpaceVim theme " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " the theme colors should be " [ " \ [ a_guifg, a_guibg, a_ctermfg, a_ctermbg], " \ [ b_guifg, b_guibg, b_ctermfg, b_ctermbg], " \ [ c_guifg, c_guibg, c_ctermfg, c_ctermbg], " \ [ z_guibg, z_ctermbg], " \ [ i_guifg, i_guibg, i_ctermfg, i_ctermbg], " \ [ v_guifg, v_guibg, v_ctermfg, v_ctermbg], " \ [ r_guifg, r_guibg, r_ctermfg, r_ctermbg], " \ ] function! SpaceVim#mapping#guide#theme#SpaceVim#palette() abort return [ \ ['#282828' , '#FFA500' , 250, 97], \ ['#d75fd7' , '#4e4e4e' , 170 , 239], \ ['#c6c6c6' , '#3a3a3a' , 251 , 237], \ ['#1c1c1c', 16], \ ['#282828', '#00BFFF', 114, 152], \ ['#2c323c', '#ff8787', 114, 210], \ ['#2c323c', '#d75f5f', 114, 167], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/dracula.vim ================================================ "============================================================================= " dracula.vim --- dracula theme for spacevim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#mapping#guide#theme#dracula#palette() abort return [ \ ['#6272A4', '#BD93F9', 61, 141], \ ['#a89984', '#504945', 239, 246], \ ['#a89984', '#3c3836', 237, 246], \ ['#665c54', 241], \ ['#6272A4', '#50FA7B', 61, 84], \ ['#6272A4', '#F1FA8C', 61, 228], \ ['#6272A4', '#FFB86C', 61, 215], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/gruvbox.vim ================================================ "============================================================================= " gruvbox.vim --- gruvbox theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#mapping#guide#theme#gruvbox#palette() abort return [ \ ['#282828', '#a89984', 246, 235], \ ['#a89984', '#504945', 239, 246], \ ['#a89984', '#3c3836', 237, 246], \ ['#665c54', 241], \ ['#282828', '#83a598', 235, 109], \ ['#282828', '#fe8019', 235, 208], \ ['#282828', '#8ec07c', 235, 108], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/hybrid.vim ================================================ "============================================================================= " hybrid.vim --- hybrid colorschem palette " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " [ " \ [ a_guifg, a_guibg, a_ctermfg, a_ctermbg], " \ [ b_guifg, b_guibg, b_ctermfg, b_ctermbg], " \ [ c_guifg, c_guibg, c_ctermfg, c_ctermbg], " \ [ z_guibg, z_ctermbg], " \ [ i_guifg, i_guibg, i_ctermfg, i_ctermbg], " \ [ v_guifg, v_guibg, v_ctermfg, v_ctermbg], " \ [ r_guifg, r_guibg, r_ctermfg, r_ctermbg], " \ [ ii_guifg, ii_guibg, ii_ctermfg, ii_ctermbg], " \ [ in_guifg, in_guibg, in_ctermfg, in_ctermbg], " \ ] function! SpaceVim#mapping#guide#theme#hybrid#palette() abort return [ \ ['#d7ffaf', '#5F875F', 193, 65], \ ['#ffffff', '#373b41', 231, 22], \ ['#ffffff', '#282a2e', 231, 237], \ ['#4e4e4e', 239], \ ['#c5c8c6', '#81a2be', 193, 110], \ ['#c5c8c6', '#cc6666', 231, 167], \ ['#d7d7ff', '#5f5f87', 88, 0], \ ['#ffffff', '#689d6a', 231, 72], \ ['#ffffff', '#8f3f71', 231, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/jellybeans.vim ================================================ "============================================================================= " jellybeans.vim --- jellybeans colorscheme palette " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " Color palette let s:gui00 = '#151515' let s:gui01 = '#262626' let s:gui02 = '#4f5b66' let s:gui03 = '#65737e' let s:gui04 = '#a7adba' let s:gui05 = '#c0c5ce' let s:gui06 = '#cdd3de' let s:gui07 = '#d8dee9' let s:gui08 = '#870000' let s:gui09 = '#f99157' let s:gui0A = '#fac863' let s:gui0B = '#437019' let s:gui0C = '#5fb3b3' let s:gui0D = '#0d61ac' let s:gui0E = '#c594c5' let s:gui0F = '#ab7967' let s:cterm00 = '233' let s:cterm01 = '235' let s:cterm02 = '59' let s:cterm03 = '66' let s:cterm04 = '145' let s:cterm05 = '152' let s:cterm06 = '188' let s:cterm07 = '189' let s:cterm08 = '88' let s:cterm09 = '209' let s:cterm0A = '221' let s:cterm0B = '22' let s:cterm0C = '73' let s:cterm0D = '25' let s:cterm0E = '176' let s:cterm0F = '137' let s:guiWhite = '#ffffff' let s:guiGray = '#666666' let s:ctermWhite = '231' let s:ctermGray = '243' function! SpaceVim#mapping#guide#theme#jellybeans#palette() abort return [ \ ['#d8dee9', '#0d61ac', 189, 25], \ ['#ffffff', '#262626', 231, 235], \ ['#ffffff', '#3a3a3a', 231, 237], \ ['#4e4e4e', 239], \ ['#ffffff', '#437019', 231, 22], \ ['#ffffff', '#870000', 231, 88], \ ['#870000', '#000000', 88, 0], \ ['#ffffff', '#689d6a', 231, 72], \ ['#ffffff', '#8f3f71', 231, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/material.vim ================================================ "============================================================================= " material.vim --- material theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " Red " #FF5370 " " #E53935 " " Pink " #F07178 " " #FF5370 " " Orange " #F78C6C " " #F76D47 " " Yellow " #FFCB6B " " #FFB62C " " Green " #C3E88D " " #91B859 " " Pale Blue " #B2CCD6 " " #8796B0 " " Cyan " #89DDFF " " #39ADB5 " " Blue " #82AAFF " " #6182B8 " " Purple " #C792EA " " #7C4DFF " " Violet " #BB80B3 " " #945EB8 " " Brown " #AB7967 " " #AB7967 " function! SpaceVim#mapping#guide#theme#material#palette() abort return [ \ ['#2E3440', '#39ADB5', 0, 2], \ ['#D8DEE9', '#3E4452', 7, 8], \ ['#D8DEE9', '#434C5E', 7, 8], \ ['#4C566A', 8], \ ['#2E3440', '#7C4DFF', 0, 14], \ ['#2E3440', '#FF5370', 0, 11], \ ['#2E3440', '#BF616A', 0, 1], \ ['#2E3440', '#689d6a', 0, 72], \ ['#2E3440', '#8f3f71', 0, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/molokai.vim ================================================ "============================================================================= " molokai.vim --- molokai theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#mapping#guide#theme#molokai#palette() abort return [ \ ['#080808', '#e6db74', 144, 232], \ ['#f8f8f0', '#232526', 16, 253], \ ['#f8f8f0', '#293739', 236, 253], \ ['#465457', 67], \ ['#282828', '#8787af', 235, 103], \ ['#282828', '#ffd700', 235, 220], \ ['#282828', '#ff5f5f', 235, 203], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/nord.vim ================================================ "============================================================================= " nord.vim --- nord theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " fg,bg, cbg,cfg function! SpaceVim#mapping#guide#theme#nord#palette() abort return [ \ ['#2E3440', '#A3BE8C', 0, 2], \ ['#D8DEE9', '#3E4452', 7, 8], \ ['#D8DEE9', '#434C5E', 7, 8], \ ['#4C566A', 8], \ ['#2E3440', '#8FBCBB', 0, 14], \ ['#2E3440', '#D08770', 0, 11], \ ['#2E3440', '#BF616A', 0, 1], \ ['#2E3440', '#689d6a', 0, 72], \ ['#2E3440', '#8f3f71', 0, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/one.vim ================================================ "============================================================================= " one.vim --- one theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#mapping#guide#theme#one#palette() abort if &background ==# 'dark' return [ \ ['#2c323c', '#98c379', 114, 16], \ ['#abb2bf', '#3b4048', 16, 145], \ ['#abb2bf', '#2c323c', 16, 145], \ ['#2c323c', 16], \ ['#2c323c', '#afd7d7', 114, 152], \ ['#2c323c', '#ff8787', 114, 210], \ ['#2c323c', '#d75f5f', 114, 167], \ ['#2c323c', '#689d6a', 114, 72], \ ['#2c323c', '#8f3f71', 114, 132], \ ] else return [ \ ['#fafafa', '#50a14f', 71, 255], \ ['#494b53', '#d3d3d3', 251, 23], \ ['#494b53', '#d3d3d3', 251, 23], \ ['#f0f0f0', 254], \ ['#fafafa', '#0184bc', 255, 31], \ ['#fafafa', '#a626a4', 255, 127], \ ['#fafafa', '#a626a4', 255, 127], \ ['#fafafa', '#4078f2', 255, 33], \ ['#fafafa', '#e45649', 255, 166], \ ] endif endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/onedark.vim ================================================ "============================================================================= " onedark.vim --- onedark theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " fg,bg, cbg,cfg function! SpaceVim#mapping#guide#theme#onedark#palette() abort return [ \ ['#282C34', '#98C379', 114, 235], \ ['#ABB2BF', '#3E4452', 236, 144], \ ['#ABB2BF', '#3B4048', 238, 144], \ ['#5C6370', 59], \ ['#282c34', '#00af87', 235, 36], \ ['#282c34', '#ff8700', 235, 208], \ ['#282c34', '#af5f5f', 235, 131], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/palenight.vim ================================================ "============================================================================= " palenight.vim --- palenight theme " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " Color Palette {{{ let s:gui01 = '#44475a' let s:gui02 = '#5f6a8e' let s:gui03 = '#ffb86c' let s:gui04 = '#bd93f9' let s:gui05 = '#ff5555' let s:gui06 = '#f1fa8c' let s:gui07 = '#50fa7b' let s:gui08 = '#bd93f9' let s:cterm01 = '236' let s:cterm02 = '61' let s:cterm03 = '215' let s:cterm04 = '141' let s:cterm05 = '160' let s:cterm06 = '228' let s:cterm07 = '84' let s:cterm08 = '141' let s:guiWhite = '#f8f8f2' let s:guiBlack = '#282a36' let s:ctermWhite = '15' let s:ctermBlack = '16' let s:ctermChangedColor = '59' let s:guiChangedColor = '#5f5f5f' " }}} " the theme colors should be " [ " \ [ a_guifg, a_guibg, a_ctermfg, a_ctermbg], " \ [ b_guifg, b_guibg, b_ctermfg, b_ctermbg], " \ [ c_guifg, c_guibg, c_ctermfg, c_ctermbg], " \ [ z_guibg, z_ctermbg], " \ [ i_guifg, i_guibg, i_ctermfg, i_ctermbg], " \ [ v_guifg, v_guibg, v_ctermfg, v_ctermbg], " \ [ r_guifg, r_guibg, r_ctermfg, r_ctermbg], " \ [ ii_guifg, ii_guibg, ii_ctermfg, ii_ctermbg], " \ [ in_guifg, in_guibg, in_ctermfg, in_ctermbg], " \ ] " group_a: window id " group_b/group_c: stausline sections " group_z: empty area " group_i: window id in insert mode " group_v: window id in visual mode " group_r: window id in select mode " group_ii: window id in iedit-insert mode " group_in: windows id in iedit-normal mode function! SpaceVim#mapping#guide#theme#palenight#palette() abort let is_bright = SpaceVim#layers#colorscheme#get_variable()['bright_statusline'] if is_bright return [ \ [ s:guiBlack , s:gui08 , s:ctermBlack , s:cterm08 ], \ [ s:guiWhite , s:gui02 , s:ctermWhite , s:cterm02 ], \ [ s:guiWhite , s:gui02 , s:ctermWhite , s:cterm02 ], \ [ s:gui01 , s:cterm01 ], \ [ s:guiBlack , s:gui07 , s:ctermBlack , s:cterm07 ], \ [ s:guiBlack , s:gui06 , s:ctermBlack , s:cterm06 ], \ [ s:guiBlack , s:gui05 , s:ctermWhite , s:cterm05 ], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] else return [ \ [ s:guiBlack , s:gui08 , s:ctermBlack , s:cterm08 ], \ [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ], \ [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ], \ [ s:guiChangedColor, s:ctermChangedColor], \ [ s:guiBlack , s:gui07 , s:ctermBlack , s:cterm07 ], \ [ s:guiBlack , s:gui06 , s:ctermBlack , s:cterm06 ], \ [ s:guiBlack , s:gui05 , s:ctermWhite , s:cterm05 ], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] endif endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/solarized.vim ================================================ "============================================================================= " solarized.vim --- solarized theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " the theme colors should be " [ " \ [ a_guifg, a_guibg, a_ctermbg, a_ctermfg], " \ [ b_guifg, b_guibg, b_ctermbg, b_ctermfg], " \ [ c_guifg, c_guibg, c_ctermbg, c_ctermfg], " \ [ z_guibg, z_ctermbg], " \ [ i_guibg, i_guifg, i_ctermbg, i_ctermfg], " \ [ v_guibg, v_guifg, v_ctermbg, v_ctermfg], " \ [ r_guibg, r_guifg, r_ctermbg, r_ctermfg], " \ ] " group_a: window id " group_b/group_c: stausline sections " group_z: empty area " group_i: window id in insert mode " group_v: window id in visual mode " group_r: window id in select mode let s:gui_base03 = '#002b36' let s:gui_base02 = '#073642' let s:gui_base01 = '#586e75' let s:gui_base00 = '#657b83' let s:gui_base0 = '#839496' let s:gui_base1 = '#93a1a1' let s:gui_base2 = '#eee8d5' let s:gui_base3 = '#fdf6e3' let s:gui_yellow = '#b58900' let s:gui_orange = '#cb4b16' let s:gui_red = '#dc322f' let s:gui_magenta = '#d33682' let s:gui_violet = '#6c71c4' let s:gui_blue = '#268bd2' let s:gui_cyan = '#2aa198' "let s:gui_green = "#859900" "original let s:gui_green = '#719e07' "experimental let s:cterm_base03 = 8 let s:cterm_base02 = 0 let s:cterm_base01 = 10 let s:cterm_base00 = 11 let s:cterm_base0 = 12 let s:cterm_base1 = 14 let s:cterm_base2 = 7 let s:cterm_base3 = 15 let s:cterm_yellow = 3 let s:cterm_orange = 9 let s:cterm_red = 1 let s:cterm_magenta = 5 let s:cterm_violet = 13 let s:cterm_blue = 4 let s:cterm_cyan = 6 let s:cterm_green = 2 function! SpaceVim#mapping#guide#theme#solarized#palette() abort if &background ==# 'light' return [ \ [s:gui_base03, s:gui_base01, s:cterm_base01, s:cterm_base03], \ [s:gui_base02, s:gui_base1, s:cterm_base1, s:cterm_base02], \ [s:gui_base02, s:gui_base0, s:cterm_base0, s:cterm_base02], \ [s:gui_base2, s:cterm_base2], \ [s:gui_base03, s:gui_blue, s:cterm_base03, s:cterm_blue], \ [s:gui_base03, s:gui_orange, s:cterm_base03, s:cterm_orange], \ [s:gui_base03, s:gui_cyan, s:cterm_base03, s:cterm_cyan], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] else return [ \ [s:gui_base3, s:gui_base1, s:cterm_base1, s:cterm_base3], \ [s:gui_base2, s:gui_base01, s:cterm_base01, s:cterm_base2], \ [s:gui_base2, s:gui_base00, s:cterm_base00, s:cterm_base2], \ [s:gui_base02, s:cterm_base02], \ [s:gui_base3, s:gui_blue, s:cterm_base3, s:cterm_blue], \ [s:gui_base3, s:gui_orange, s:cterm_base3, s:cterm_orange], \ [s:gui_base3, s:gui_cyan, s:cterm_base3, s:cterm_cyan], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] endif endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme/srcery.vim ================================================ "============================================================================= " srcery.vim --- srcery theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " Color Palette {{{ let s:black = [ '#1c1b19', 0 ] let s:red = [ '#ef2f27', 1 ] let s:green = [ '#519f50', 2 ] let s:yellow = [ '#fbb829', 3 ] let s:blue = [ '#2c78bf', 4 ] let s:magenta = [ '#e02c6d', 5 ] let s:cyan = [ '#0aaeb3', 6 ] let s:white = [ '#918175', 7 ] let s:bright_black = [ '#2d2c29', 8 ] let s:bright_red = [ '#f75341', 9 ] let s:bright_green = [ '#98bc37', 10 ] let s:bright_yellow = [ '#fed06e', 11 ] let s:bright_blue = [ '#68a8e4', 12 ] let s:bright_magenta = [ '#ff5c8f', 13 ] let s:bright_cyan = [ '#53fde9', 14 ] let s:bright_white = [ '#fce8c3', 15 ] " xterm Colors let s:orange = [ '#d75f00', 166 ] let s:bright_orange = [ '#ff8700', 208 ] let s:hard_black = [ '#121212', 233 ] let s:xgray1 = [ '#262626', 235 ] let s:xgray2 = [ '#303030', 236 ] let s:xgray3 = [ '#3a3a3a', 237 ] let s:xgray4 = [ '#444444', 238 ] let s:xgray5 = [ '#4e4e4e', 239 ] " }}} " the theme colors should be " [ " \ [ a_guifg, a_guibg, a_ctermfg, a_ctermbg], " \ [ b_guifg, b_guibg, b_ctermfg, b_ctermbg], " \ [ c_guifg, c_guibg, c_ctermfg, c_ctermbg], " \ [ z_guibg, z_ctermbg], " \ [ i_guifg, i_guibg, i_ctermfg, i_ctermbg], " \ [ v_guifg, v_guibg, v_ctermfg, v_ctermbg], " \ [ r_guifg, r_guibg, r_ctermfg, r_ctermbg], " \ [ ii_guifg, ii_guibg, ii_ctermfg, ii_ctermbg], " \ [ in_guifg, in_guibg, in_ctermfg, in_ctermbg], " \ ] " group_a: window id " group_b/group_c: stausline sections " group_z: empty area " group_i: window id in insert mode " group_v: window id in visual mode " group_r: window id in select mode " group_ii: window id in iedit-insert mode " group_in: windows id in iedit-normal mode function! SpaceVim#mapping#guide#theme#srcery#palette() abort return [ \ ['#282828', '#fce8c3', 246, 15], \ ['#a89984', '#2d2c29', 239, 8], \ ['#a89984', '#3c3836', 237, 246], \ ['#665c54', 241], \ ['#282828', '#83a598', 235, 109], \ ['#282828', '#0aaeb3', 235, 6], \ ['#282828', '#8ec07c', 235, 108], \ ['#282828', '#689d6a', 235, 72], \ ['#282828', '#8f3f71', 235, 132], \ ] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide/theme.vim ================================================ "============================================================================= " theme.vim --- theme API for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#mapping#guide#theme#hi() abort let name = get(g:, 'colors_name', 'gruvbox') try let t = SpaceVim#mapping#guide#theme#{name}#palette() catch /^Vim\%((\a\+)\)\=:E117/ let t = SpaceVim#mapping#guide#theme#gruvbox#palette() endtry call s:hi(t) endfunction function! s:hi(t) abort exe 'hi! LeaderGuiderPrompt ctermbg=' . a:t[0][2] . ' ctermfg=' . a:t[0][3] . ' cterm=bold gui=bold guifg=' . a:t[0][0] . ' guibg=' . a:t[0][1] exe 'hi! LeaderGuiderSep1 ctermbg=' . a:t[1][2] . ' ctermfg=' . a:t[0][2] . ' cterm=bold gui=bold guifg=' . a:t[0][1] . ' guibg=' . a:t[1][1] exe 'hi! LeaderGuiderName ctermbg=' . a:t[1][2] . ' ctermfg=' . a:t[1][3] . ' cterm=bold gui=bold guifg=' . a:t[1][0] . ' guibg=' . a:t[1][1] exe 'hi! LeaderGuiderSep2 ctermbg=' . a:t[2][2] . ' ctermfg=' . a:t[1][2] . ' cterm=bold gui=bold guifg=' . a:t[1][1] . ' guibg=' . a:t[2][1] exe 'hi! LeaderGuiderFill ctermbg=' . a:t[2][2] . ' ctermfg=' . a:t[2][3] . ' guifg=' . a:t[2][0] . ' guibg=' . a:t[2][1] endfunction ================================================ FILE: autoload/SpaceVim/mapping/guide.vim ================================================ "============================================================================= " guide.vim --- key binding guide for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 if exists('s:save_cpo') finish endif let s:save_cpo = &cpo set cpo&vim "" " @section Mapping Guide, plugins-mapping-guide " @parentsection plugins " The mapping guide windows will be opened each time the prefix key is pressed " in normal/visual mode. It will list all available key bindings and the short " descriptions. The prefix can be `[SPC]`, `[WIN]` or ``. " " The prefixes are mapped to the following key bindings by default: " > " Prefix | Custom options and default values | Descriptions " --------------------------------------------------------------------- " [SPC]` | NONE / `` | default mapping prefix " [WIN]` | `windows_leader` / `s` | window mapping prefix " ` | default vim leader | default leader prefix " < " " The default value of `` is `\`, if you want to change this key, " you need to use the bootstrap function. For example, to use `,` " as the `` key: " > " function! myspacevim#before() abort " let g:mapleader = ',' " endfunction " < " " NOTE: When modifying the variable `g:mapleader` in a function. " you can not omit the variable's scope. Because the default scope " of a variable in function is `l:`. It is different from what you " see in vim help |mapleader|. " " By default the guide buffer will be displayed 1000ms after the keys being pressed. " You can change the delay by adding vim option `'timeoutlen'` to your bootstrap function. " " For example, after pressing `` in normal mode, you will see all the " key bindings start with `SPC` in mapping guide windows. " you can type `b` for all the buffer mappings, `p` for project mappings, etc. " " After pressing `Ctrl-h` in guide buffer, you will get paging and help info in the statusline. " > " | Keys | Descriptions | " | ---- | ----------------------------- | " | `u` | undo pressing | " | `n` | next page of guide buffer | " | `p` | previous page of guide buffer | " < " Use `SpaceVim#custom#SPC()` to define custom SPC mappings. For example: " > " call SpaceVim#custom#SPC('nnoremap', " \ ['f', 't'], " \ 'echom "hello world"', 'test custom SPC', 1) " < " " The first parameter sets the type of shortcut key, " which can be `nnoremap` or `nmap`, the second parameter is a list of keys, " and the third parameter is an ex command or key binding, " depending on whether the last parameter is true. " The fourth parameter is a short description of this custom key binding. " " @subsection Fuzzy find key bindings " " It is possible to search for specific key bindings by pressing `?` " in the root of the guide buffer. " " To narrow the list down, just insert the mapping keys or descriptions of " what mappings you want, the fuzzy finder will get the mappings. " " Then use `` or `` and `` to select the mapping, " press `` to execute that command. " " @subsection Mapping guide theme " " The default mapping guide theme is `leaderguide`, " which is same as vim-leaderguide(https://github.com/hecal3/vim-leader-guide), " there is another available theme called `whichkey`. " To set the mapping guide theme, use following snippet: " > " [options] " # the value can be `leaderguide` or `whichkey` " leader_guide_theme = 'whichkey' " < if has('nvim-0.8.0') function! SpaceVim#mapping#guide#parse_mappings() abort " {{{ lua require("spacevim.plugin.guide").parse_mappings() endfunction "}}} function! SpaceVim#mapping#guide#start(vis, dict) abort " {{{ lua require("spacevim.plugin.guide").start( \ require("spacevim").eval("a:vis"), \ require("spacevim").eval("a:dict") \ ) endfunction "}}} function! SpaceVim#mapping#guide#has_configuration() abort "{{{ return luaeval('require("spacevim.plugin.guide").has_configuration()') endfunction "}}} function! SpaceVim#mapping#guide#start_by_prefix(vis, key) abort " {{{ lua require("spacevim.plugin.guide").start_by_prefix( \ require("spacevim").eval("a:vis"), \ require("spacevim").eval("a:key") \ ) endfunction "}}} function! SpaceVim#mapping#guide#register_displayname(lhs, name) abort lua require("spacevim.plugin.guide").register_displayname( \ require("spacevim").eval("a:lhs"), \ require("spacevim").eval("a:name") \ ) endfunction "}}} function! SpaceVim#mapping#guide#populate_dictionary(key, dictname) abort " {{{ lua require("spacevim.plugin.guide").populate_dictionary( \ require("spacevim").eval("a:key"), \ require("spacevim").eval("a:dictname") \ ) endfunction "}}} function! SpaceVim#mapping#guide#register_prefix_descriptions(key, dictname) abort " {{{ lua require("spacevim.plugin.guide").register_prefix_descriptions( \ require("spacevim").eval("a:key"), \ require("spacevim").eval("a:dictname") \ ) endfunction "}}} function! SpaceVim#mapping#guide#displayfunc() abort lua require("spacevim.plugin.guide").displayfunc() endfunction else " Load SpaceVim API let s:CMP = SpaceVim#api#import('vim#compatible') let s:STR = SpaceVim#api#import('data#string') let s:KEY = SpaceVim#api#import('vim#key') let s:VIM = SpaceVim#api#import('vim') let s:BUFFER = SpaceVim#api#import('vim#buffer') if has('nvim') let s:FLOATING = SpaceVim#api#import('neovim#floating') else let s:FLOATING = SpaceVim#api#import('vim#floating') endif let s:SL = SpaceVim#api#import('vim#statusline') let s:LOG =SpaceVim#logger#derive('guide') " guide specific var let s:winid = -1 let s:bufnr = -1 let s:prefix_key_inp = [] let s:lmap = {} " this should be the history of s:lmap and s:guide_group let s:undo_history = [] let s:registered_name = {} function! SpaceVim#mapping#guide#has_configuration() abort "{{{ return exists('s:desc_lookup') endfunction "}}} function! SpaceVim#mapping#guide#register_prefix_descriptions(key, dictname) abort " {{{ let key = a:key ==? '' ? ' ' : a:key if !exists('s:desc_lookup') call s:create_cache() endif if strlen(key) == 0 let s:desc_lookup['top'] = a:dictname elseif !has_key(s:desc_lookup, key) let s:desc_lookup[key] = a:dictname endif call s:LOG.debug('desc_lookup is:' . string(s:desc_lookup)) endfunction "}}} function! s:create_cache() abort " {{{ let s:desc_lookup = {} let s:cached_dicts = {} endfunction " }}} function! s:create_target_dict(key) abort " {{{ if has_key(s:desc_lookup, 'top') " use {expr} to eval viml value let toplevel = deepcopy({s:desc_lookup['top']}) let tardict = s:toplevel ? toplevel : get(toplevel, a:key, {}) let mapdict = s:cached_dicts[a:key] call s:merge(tardict, mapdict) elseif has_key(s:desc_lookup, a:key) let tardict = deepcopy({s:desc_lookup[a:key]}) let mapdict = s:cached_dicts[a:key] call s:merge(tardict, mapdict) else let tardict = s:cached_dicts[a:key] endif return tardict endfunction " }}} function! s:merge(dict_t, dict_o) abort " {{{ let target = a:dict_t let other = a:dict_o for k in keys(target) if type(target[k]) == type({}) && has_key(other, k) if type(other[k]) == type({}) if has_key(target[k], 'name') let other[k].name = target[k].name endif call s:merge(target[k], other[k]) elseif type(other[k]) == type([]) if g:leaderGuide_flatten == 0 || type(target[k]) == type({}) let target[k.'m'] = target[k] endif let target[k] = other[k] if has_key(other, k.'m') && type(other[k.'m']) == type({}) call s:merge(target[k.'m'], other[k.'m']) endif endif endif endfor call extend(target, other, 'keep') endfunction " }}} " @vimlint(EVL103, 1, a:dictname) function! SpaceVim#mapping#guide#populate_dictionary(key, dictname) abort " {{{ call s:start_parser(a:key, s:cached_dicts[a:key]) endfunction " }}} " @vimlint(EVL103, 0, a:dictname) function! SpaceVim#mapping#guide#parse_mappings() abort " {{{ for [k, v] in items(s:cached_dicts) call s:start_parser(k, v) endfor endfunction " }}} function! s:start_parser(key, dict) abort " {{{ if a:key ==# '[KEYs]' return endif let key = a:key ==? ' ' ? '' : a:key 0verbose let readmap = s:CMP.execute('map ' . key, 'silent') let lines = split(readmap, "\n") let visual = s:vis ==# 'gv' ? 1 : 0 for line in lines let mapd = maparg(split(line[3:])[0], line[0], 0, 1) if mapd.lhs ==# '\\' let mapd.feedkeyargs = '' elseif mapd.noremap == 1 let mapd.feedkeyargs = 'nt' else let mapd.feedkeyargs = 'mt' endif if mapd.lhs =~# '.*' || mapd.lhs =~# '.*' continue endif let mapd.display = s:format_displaystring(mapd.rhs) let mapd.lhs = substitute(mapd.lhs, key, '', '') let mapd.lhs = substitute(mapd.lhs, '', ' ', 'g') let mapd.lhs = substitute(mapd.lhs, '', '', 'g') let mapd.rhs = substitute(mapd.rhs, '', ''.mapd['sid'].'_', 'g') if mapd.lhs !=# '' && mapd.display !~# 'LeaderGuide.*' let mapd.lhs = s:string_to_keys(mapd.lhs) if (visual && match(mapd.mode, '[vx ]') >= 0) || \ (!visual && match(mapd.mode, '[vx]') == -1) call s:add_map_to_dict(mapd, 0, a:dict) endif endif endfor endfunction " }}} function! s:add_map_to_dict(map, level, dict) abort " {{{ if len(a:map.lhs) > a:level+1 let curkey = a:map.lhs[a:level] let nlevel = a:level+1 if !has_key(a:dict, curkey) let a:dict[curkey] = { 'name' : g:leaderGuide_default_group_name } " mapping defined already, flatten this map elseif type(a:dict[curkey]) == type([]) && g:leaderGuide_flatten let cmd = s:escape_mappings(a:map) let curkey = join(a:map.lhs[a:level+0:], '') let nlevel = a:level if !has_key(a:dict, curkey) let a:dict[curkey] = [cmd, a:map.display] endif elseif type(a:dict[curkey]) == type([]) && g:leaderGuide_flatten == 0 let cmd = s:escape_mappings(a:map) let curkey = curkey.'m' if !has_key(a:dict, curkey) let a:dict[curkey] = { 'name' : g:leaderGuide_default_group_name } endif endif " next level if type(a:dict[curkey]) == type({}) call s:add_map_to_dict(a:map, nlevel, a:dict[curkey]) endif else let cmd = s:escape_mappings(a:map) if !has_key(a:dict, a:map.lhs[a:level]) let a:dict[a:map.lhs[a:level]] = [cmd, a:map.display] " spot is taken already, flatten existing submaps elseif type(a:dict[a:map.lhs[a:level]]) == type({}) && g:leaderGuide_flatten let childmap = s:flattenmap(a:dict[a:map.lhs[a:level]], a:map.lhs[a:level]) for it in keys(childmap) let a:dict[it] = childmap[it] endfor let a:dict[a:map.lhs[a:level]] = [cmd, a:map.display] endif endif endfunction " }}} " @vimlint(EVL111, 1, Fun) function! s:format_displaystring(map) abort " {{{ let g:leaderGuide#displayname = a:map for Fun in g:leaderGuide_displayfunc call Fun() endfor let display = g:leaderGuide#displayname unlet g:leaderGuide#displayname return display endfunction " }}} " @vimlint(EVL111, 0, Fun) function! s:flattenmap(dict, str) abort " {{{ let ret = {} for kv in keys(a:dict) if type(a:dict[kv]) == type([]) let toret = {} let toret[a:str.kv] = a:dict[kv] return toret elseif type(a:dict[kv]) == type({}) call extend(ret, s:flattenmap(a:dict[kv], a:str.kv)) endif endfor return ret endfunction " }}} function! s:escape_mappings(mapping) abort " {{{ let rstring = substitute(a:mapping.rhs, '\', '\\\\', 'g') let rstring = substitute(rstring, '<\([^<>]*\)>', '\\<\1>', 'g') let rstring = substitute(rstring, '"', '\\"', 'g') let rstring = 'call feedkeys("'.rstring.'", "'.a:mapping.feedkeyargs.'")' return rstring endfunction " }}} function! s:string_to_keys(input) abort " Avoid special case: <> let retlist = [] if match(a:input, '<.\+>') != -1 let si = 0 let go = 1 while si < len(a:input) if go if a:input[si] ==# ' ' call add(retlist, '[SPC]') else call add(retlist, a:input[si]) endif else let retlist[-1] .= a:input[si] endif if a:input[si] ==? '<' let go = 0 elseif a:input[si] ==? '>' let go = 1 endif let si += 1 endwhile else for it in split(a:input, '\zs') if it ==# ' ' call add(retlist, '[SPC]') else call add(retlist, it) endif endfor endif return retlist endfunction function! s:escape_keys(inp) abort " {{{ let ret = substitute(a:inp, '<', '', '') return substitute(ret, '|', '', '') endfunction " }}} function! s:calc_layout() abort " {{{ let ret = {} let smap = filter(copy(s:lmap), 'v:key !=# "name"') let ret.n_items = len(smap) let length = values(map(smap, \ 'strdisplaywidth(repeat(" ", 8 - strlen(v:key)) . "[".v:key."]".'. \ '(type(v:val) == type({}) ? v:val["name"] : v:val[1]))')) let maxlength = max(length) + g:leaderGuide_hspace call s:LOG.debug('maxlength is:' . maxlength) if g:leaderGuide_vertical let ret.n_rows = winheight(0) - 2 let ret.n_cols = ret.n_items / ret.n_rows + (ret.n_items != ret.n_rows) let ret.col_width = maxlength let ret.win_dim = ret.n_cols * ret.col_width else let ret.n_cols = winwidth(s:winid) >= maxlength ? winwidth(s:winid) / maxlength : 1 let ret.col_width = winwidth(s:winid) / ret.n_cols let ret.n_rows = ret.n_items / ret.n_cols + (fmod(ret.n_items,ret.n_cols) > 0 ? 1 : 0) let ret.win_dim = ret.n_rows endif call s:LOG.debug('layout is:' . string(ret)) return ret endfunction " }}} " icon -> number -> A-Za-z " 65-90 97-122 function! s:get_key_number(key) abort return char2nr(a:key ==# '[SPC]' ? ' ' : a:key ==? '' ? "\t" : a:key) endfunction function! s:compare_key(i1, i2) abort let a = s:get_key_number(a:i1) let b = s:get_key_number(a:i2) if a - b == 32 && a >= 97 && a <= 122 return -1 elseif b - a == 32 && b >= 97 && b <= 122 return 1 elseif a >= 97 && a <= 122 && b >= 97 && b <= 122 return a == b ? 0 : a > b ? 1 : -1 elseif a >= 65 && a <= 90 && b >= 65 && b <= 90 return a == b ? 0 : a > b ? 1 : -1 elseif a >= 97 && a <= 122 && b >= 65 && b <= 90 return s:compare_key(nr2char(a), nr2char(b + 32)) elseif a >= 65 && a <= 90 && b >= 97 && b <= 122 return s:compare_key(nr2char(a), nr2char(b - 32)) endif return a == b ? 0 : a > b ? 1 : -1 endfunction function! s:create_string(layout) abort " {{{ let l = a:layout let l.capacity = l.n_rows * l.n_cols let overcap = l.capacity - l.n_items let overh = l.n_cols - overcap let n_rows = l.n_rows - 1 let rows = [] let row = 0 let col = 0 let smap = sort(filter(keys(s:lmap), 'v:val !=# "name"'), function('s:compare_key')) for k in smap let offset = repeat(' ', 8 - strlen(k)) let desc = type(s:lmap[k]) == type({}) ? s:lmap[k].name : s:lmap[k][1] if g:spacevim_leader_guide_theme == 'whichkey' let displaystring = offset . k .' -> '.desc else let displaystring = offset . '['. k .'] '.desc endif let crow = get(rows, row, []) if empty(crow) call add(rows, crow) endif call add(crow, displaystring) call add(crow, repeat(' ', l.col_width - strdisplaywidth(displaystring))) if !g:leaderGuide_sort_horizontal if row >= n_rows - 1 if overh > 0 && row < n_rows let overh -= 1 let row += 1 else let row = 0 let col += 1 endif else let row += 1 endif else if col == l.n_cols - 1 let row +=1 let col = 0 else let col += 1 endif endif endfor let r = [] let mlen = 0 for ro in rows let line = join(ro, '') call add(r, line) if strdisplaywidth(line) > mlen let mlen = strdisplaywidth(line) endif endfor let output = join(r, "\n") return output endfunction " }}} let s:VIMH = SpaceVim#api#import('vim#highlight') function! s:highlight_cursor() abort let info = { \ 'name' : 'SpaceVimGuideCursor', \ 'guibg' : synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'guifg'), \ 'guifg' : synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'guibg'), \ 'ctermbg' : synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'ctermfg'), \ 'ctermfg' : synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'ctermbg'), \ } hi! def link SpaceVimGuideCursor Cursor call s:VIMH.hi(info) if s:vis ==# 'gv' " [bufnum, lnum, col, off] let begin = getpos("'<") let end = getpos("'>") if begin[1] == end[1] let s:cursor_hi = s:CMP.matchaddpos('SpaceVimGuideCursor', [[begin[1], min([begin[2], end[2]]), abs(begin[2] - end[2]) + 1]]) else let pos = [[begin[1], begin[2], len(getline(begin[1])) - begin[2] + 1], \ [end[1], 1, end[2]], \ ] for lnum in range(begin[1] + 1, end[1] - 1) call add(pos, [lnum, 1, len(getline(lnum))]) endfor let s:cursor_hi = s:CMP.matchaddpos('SpaceVimGuideCursor', pos) endif else let s:cursor_hi = s:CMP.matchaddpos('SpaceVimGuideCursor', [[line('.'), col('.'), 1]]) endif endfunction function! s:remove_cursor_highlight() abort try call matchdelete(s:cursor_hi) catch endtry endfunction " @vimlint(EVL102, 1, l:string) function! s:start_buffer() abort " {{{ let s:winv = winsaveview() let s:winnr = winnr() let s:winres = winrestcmd() let [s:winid, s:bufnr] = s:winopen() let layout = s:calc_layout() let string = s:create_string(layout) if g:leaderGuide_max_size let layout.win_dim = min([g:leaderGuide_max_size, layout.win_dim]) endif call setbufvar(s:bufnr, '&modifiable', 1) if s:FLOATING.exists() let rst = s:FLOATING.win_config(s:winid, \ { \ 'relative': 'editor', \ 'width' : &columns, \ 'height' : layout.win_dim + 2, \ 'row' : &lines - layout.win_dim - 4, \ 'col' : 0 \ }) else if g:leaderGuide_vertical noautocmd execute 'vert res '.layout.win_dim else noautocmd execute 'res '.layout.win_dim endif endif if s:FLOATING.exists() " when using floating windows, and the flaating windows do not support " statusline, add extra black line at top and button of the content. call s:BUFFER.buf_set_lines(s:bufnr, 0, -1, 0, [''] + split(string, "\n") + ['']) else call s:BUFFER.buf_set_lines(s:bufnr, 0, -1, 0, split(string, "\n")) endif call setbufvar(s:bufnr, '&modifiable', 0) redraw! call s:wait_for_input() endfunction " }}} " @vimlint(EVL102, 0, l:string) function! s:handle_input(input) abort " {{{ call s:winclose() if type(a:input) ==? type({}) let s:lmap = a:input call s:start_buffer() else let s:prefix_key_inp = [] call feedkeys(s:vis.s:reg.s:count, 'ti') redraw! try unsilent execute a:input[0] catch unsilent echom v:exception endtry endif endfunction " }}} " wait for in input sub function should be not block vim function! s:wait_for_input() abort " {{{ redraw! let inp = s:VIM.getchar() if inp ==# "\" let s:prefix_key_inp = [] let s:undo_history = [] let s:guide_help_mode = 0 call s:winclose() doautocmd WinEnter elseif s:guide_help_mode ==# 1 call s:submode_mappings(inp) let s:guide_help_mode = 0 elseif inp ==# "\" let s:guide_help_mode = 1 call s:updateStatusline() redraw! call s:wait_for_input() else if inp ==# ' ' let inp = '[SPC]' else let inp = s:KEY.char2name(inp) endif let fsel = get(s:lmap, inp) if !empty(fsel) call add(s:prefix_key_inp, inp) call add(s:undo_history, s:lmap) call s:handle_input(fsel) else call s:winclose() doautocmd WinEnter let keys = get(s:, 'prefix_key_inp', []) let name = SpaceVim#mapping#leader#getName(s:prefix_key) let _keys = join(keys, '-') if empty(_keys) call s:build_mpt(['Key binding not defined: ', name . '-' . inp]) else call s:build_mpt(['Key binding not defined: ', name . '-' . _keys . '-' . inp]) endif let s:prefix_key_inp = [] let s:guide_help_mode = 0 endif endif endfunction " }}} function! s:build_mpt(mpt) abort normal! : echohl Comment if type(a:mpt) == 1 echon a:mpt elseif type(a:mpt) == 3 echon join(a:mpt) endif echohl NONE endfunction " change this func, do not focus to the new windows, and return winid. function! s:winopen() abort " {{{ call s:highlight_cursor() let pos = g:leaderGuide_position ==? 'topleft' ? 'topleft' : 'botright' if s:FLOATING.exists() if !bufexists(s:bufnr) let s:bufnr = s:BUFFER.create_buf(v:false, v:true) endif let s:winid = s:FLOATING.open_win(s:bufnr, v:true, \ { \ 'relative': 'editor', \ 'width' : &columns, \ 'height' : 12, \ 'row' : &lines - 14, \ 'col' : 0 \ }) else if bufexists(s:bufnr) let qfbuf = &buftype ==# 'quickfix' let splitcmd = g:leaderGuide_vertical ? ' 1vs' : ' 1sp' noautocmd execute pos . splitcmd let bnum = bufnr('%') noautocmd execute 'buffer '.s:bufnr cmapclear if qfbuf noautocmd execute bnum.'bwipeout!' endif else let splitcmd = g:leaderGuide_vertical ? ' 1vnew' : ' 1new' noautocmd execute pos.splitcmd let s:bufnr = bufnr('%') augroup guide_autocmd autocmd! autocmd WinLeave call s:winclose() augroup END endif let s:winid = winnr() endif let s:guide_help_mode = 0 if exists('&winhighlight') call s:VIM.setbufvar(s:bufnr, { \ '&winhighlight' : 'Normal:Pmenu,Search:', \ }) endif call s:VIM.setbufvar(s:bufnr, { \ '&filetype' : 'leaderGuide', \ '&number' : 0, \ '&relativenumber' : 0, \ '&list' : 0, \ '&modeline' : 0, \ '&wrap' : 0, \ '&buflisted' : 0, \ '&buftype' : 'nofile', \ '&bufhidden' : 'unload', \ '&swapfile' : 0, \ '&cursorline' : 0, \ '&cursorcolumn' : 0, \ '&colorcolumn' : '', \ '&winfixwidth' : 1, \ '&winfixheight' : 1, \ }) " @fixme not sure if the listchars should be changed! " setlocal listchars= call s:updateStatusline() call s:toggle_hide_cursor() return [s:winid, s:bufnr] endfunction " }}} if s:SL.support_float() function! s:updateStatusline() abort call SpaceVim#mapping#guide#theme#hi() let gname = get(s:guide_group, 'name', '') if !empty(gname) let gname = ' - ' . gname[1:] " let gname = substitute(gname,' ', '\\ ', 'g') endif let keys = get(s:, 'prefix_key_inp', []) " let keys = substitute(keys, '\', '\\\', 'g') noautocmd let winid = s:SL.open_float([ \ ['Guide: ', 'LeaderGuiderPrompt'], \ [' ', 'LeaderGuiderSep1'], \ [SpaceVim#mapping#leader#getName(s:prefix_key) \ . join(keys, '') . gname, 'LeaderGuiderName'], \ [' ', 'LeaderGuiderSep2'], \ [s:guide_help_msg(0), 'LeaderGuiderFill'], \ [repeat(' ', 999), 'LeaderGuiderFill'], \ ]) call SpaceVim#logger#debug('key binding guide float statusline winid:' . winid) endfunction function! s:close_float_statusline() abort call SpaceVim#logger#debug('close float statusline winid:' . s:SL.__winid) call s:SL.close_float() endfunction else function! s:updateStatusline() abort call SpaceVim#mapping#guide#theme#hi() let gname = get(s:guide_group, 'name', '') if !empty(gname) let gname = ' - ' . gname[1:] endif let keys = get(s:, 'prefix_key_inp', []) call setbufvar(s:bufnr, '&statusline', '%#LeaderGuiderPrompt# Guide: ' . \ '%#LeaderGuiderSep1#' . s:lsep . \ '%#LeaderGuiderName# ' . \ SpaceVim#mapping#leader#getName(s:prefix_key) \ . join(keys, '') . gname \ . ' %#LeaderGuiderSep2#' . s:lsep . '%#LeaderGuiderFill#' \ . s:guide_help_msg(0)) endfunction endif function! Test_st() abort call s:updateStatusline() endfunction function! s:guide_help_msg(escape) abort if s:guide_help_mode == 1 let msg = ' n -> next-page, p -> previous-page, u -> undo-key' else let msg = ' [C-h paging/help]' endif return a:escape ? substitute(msg,' ', '\\ ', 'g') : msg endfunction let s:t_ve = '' function! s:toggle_hide_cursor() abort let t_ve = &t_ve let &t_ve = s:t_ve let s:t_ve = t_ve endfunction function! s:winclose() abort " {{{ call s:toggle_hide_cursor() if s:FLOATING.exists() call s:FLOATING.win_close(s:winid, 1) if s:SL.support_float() call s:close_float_statusline() endif else noautocmd execute s:winid.'wincmd w' if s:winid == winnr() noautocmd close redraw! exe s:winres let s:winid = -1 noautocmd execute s:winnr.'wincmd w' call winrestview(s:winv) if exists('*nvim_open_win') doautocmd WinEnter endif endif endif call s:remove_cursor_highlight() endfunction " }}} function! s:page_down() abort " {{{ call feedkeys("\", 'n') call feedkeys("\", 'x') redraw! call s:wait_for_input() endfunction " }}} function! s:page_undo() abort " {{{ call s:winclose() if len(s:prefix_key_inp) > 0 call remove(s:prefix_key_inp, -1) endif if len(s:undo_history) > 0 let s:lmap = remove(s:undo_history, -1) endif call s:start_buffer() endfunction " }}} function! s:page_up() abort " {{{ call feedkeys("\", 'n') call feedkeys("\", 'x') redraw! call s:wait_for_input() endfunction " }}} function! s:handle_submode_mapping(cmd) abort " {{{ let s:guide_help_mode = 0 call s:updateStatusline() if a:cmd ==# 'n' call s:page_down() elseif a:cmd ==# 'p' call s:page_up() elseif a:cmd ==# 'u' call s:page_undo() else call s:winclose() endif endfunction " }}} function! s:submode_mappings(key) abort " {{{ silent call s:handle_submode_mapping(a:key) endfunction " }}} function! s:mapmaparg(maparg) abort " {{{ let noremap = a:maparg.noremap ? 'noremap' : 'map' let buffer = a:maparg.buffer ? ' ' : '' let silent = a:maparg.silent ? ' ' : '' let nowait = a:maparg.nowait ? ' ' : '' let st = a:maparg.mode . '' . noremap . ' ' . nowait . silent . buffer \ . '' .a:maparg.lhs . ' ' . a:maparg.rhs execute st endfunction " }}} function! s:get_register() abort "{{{ if match(&clipboard, 'unnamedplus') >= 0 let clip = '+' elseif match(&clipboard, 'unnamed') >= 0 let clip = '*' else let clip = '"' endif return clip endfunction "}}} function! SpaceVim#mapping#guide#start_by_prefix(vis, key) abort " {{{ if a:key ==# ' ' && exists('b:spacevim_lang_specified_mappings') let g:_spacevim_mappings_space.l = b:spacevim_lang_specified_mappings endif let s:guide_help_mode = 0 let s:vis = a:vis ? 'gv' : '' let s:count = v:count != 0 ? v:count : '' let s:toplevel = a:key ==? ' ' let s:prefix_key = a:key let s:guide_group = {} if has('nvim') && !exists('s:reg') let s:reg = '' else let s:reg = v:register != s:get_register() ? '"'.v:register : '' endif if !has_key(s:cached_dicts, a:key) || g:leaderGuide_run_map_on_popup "first run let s:cached_dicts[a:key] = {} call s:start_parser(a:key, s:cached_dicts[a:key]) endif if has_key(s:desc_lookup, a:key) || has_key(s:desc_lookup , 'top') let rundict = s:create_target_dict(a:key) else let rundict = s:cached_dicts[a:key] endif let s:lmap = rundict call s:LOG.debug('lmap is:' . string(s:lmap)) call s:start_buffer() endfunction " }}} function! SpaceVim#mapping#guide#start(vis, dict) abort " {{{ let s:vis = a:vis ? 'gv' : 0 let s:lmap = a:dict call s:start_buffer() endfunction " }}} function! SpaceVim#mapping#guide#register_displayname(lhs, name) abort call extend(s:registered_name, {a:lhs : a:name}) endfunction function! SpaceVim#mapping#guide#displayfunc() abort if has_key(s:registered_name, g:leaderGuide#displayname) return s:registered_name[g:leaderGuide#displayname] endif let g:leaderGuide#displayname = substitute(g:leaderGuide#displayname, '\c$', '', '') endfunction endif if !exists('g:leaderGuide_displayfunc') let g:leaderGuide_displayfunc = [function('SpaceVim#mapping#guide#displayfunc')] endif if get(g:, 'mapleader', '\') ==# ' ' call SpaceVim#mapping#guide#register_prefix_descriptions(' ', \ 'g:_spacevim_mappings') else call SpaceVim#mapping#guide#register_prefix_descriptions(get(g:, 'mapleader', '\'), \ 'g:_spacevim_mappings') call SpaceVim#plugins#help#regist_root({'' : g:_spacevim_mappings}) call SpaceVim#mapping#guide#register_prefix_descriptions(' ', \ 'g:_spacevim_mappings_space') call SpaceVim#plugins#help#regist_root({'SPC' : g:_spacevim_mappings_space}) endif if !g:spacevim_vimcompatible && !empty(g:spacevim_windows_leader) call SpaceVim#mapping#guide#register_prefix_descriptions( \ g:spacevim_windows_leader, \ 'g:_spacevim_mappings_windows') call SpaceVim#plugins#help#regist_root({'[WIN]' : g:_spacevim_mappings_windows}) endif call SpaceVim#mapping#guide#register_prefix_descriptions( \ '[KEYs]', \ 'g:_spacevim_mappings_prefixs') call SpaceVim#mapping#guide#register_prefix_descriptions( \ 'g', \ 'g:_spacevim_mappings_g') call SpaceVim#plugins#help#regist_root({'[g]' : g:_spacevim_mappings_g}) call SpaceVim#mapping#guide#register_prefix_descriptions( \ 'z', \ 'g:_spacevim_mappings_z') call SpaceVim#plugins#help#regist_root({'[z]' : g:_spacevim_mappings_z}) let [s:lsep, s:rsep] = SpaceVim#layers#core#statusline#rsep() let &cpo = s:save_cpo unlet s:save_cpo " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/mapping/leader.vim ================================================ "============================================================================= " leader.vim --- mapping leader definition file for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section windows-and-tabs, usage-windows-and-tabs " @parentsection usage " Window manager key bindings can only be used in normal mode. " The default leader `[WIN]` is `s`, you can change it via `windows_leader` " in the `[options]` section: " > " [options] " windows_leader = "s" " < " > " Key Bindings | Descriptions " ------------ | -------------------------------------------------- " q | Smart buffer close " WIN v | :split " WIN V | Split with previous buffer " WIN g | :vsplit " WIN G | Vertically split with previous buffer " WIN t | Open new tab (:tabnew) " WIN o | Close other windows (:only) " WIN x | Remove buffer, leave blank window " WIN q | Remove current buffer " WIN Q | Close current buffer (:close) " Shift-Tab | Switch to alternate window (switch back and forth) " < " SpaceVim has mapped normal `q` (record a macro) as smart buffer close, " and record a macro (vim's `q`) has been mapped to ` q r`, " if you want to disable this feature, you can use `vimcompatible` mode. " " @subsection General Editor windows " > " Key Bindings | Descriptions " ------------ | -------------------------------- " | Toggle tagbar " | Toggle Vimfiler " Ctrl-Down | Move to split below ( Ctrl-w j ) " Ctrl-Up | Move to upper split ( Ctrl-w k ) " Ctrl-Left | Move to left split ( Ctrl-w h ) " Ctrl-Right | Move to right split ( Ctrl-w l ) " < " @subsection Window manipulation key bindings " " Every window has a number displayed at the start of the statusline " and can be quickly accessed using `SPC number`. " > " Key Bindings | Descriptions " ------------ | --------------------- " SPC 1 | go to window number 1 " SPC 2 | go to window number 2 " SPC 3 | go to window number 3 " SPC 4 | go to window number 4 " SPC 5 | go to window number 5 " SPC 6 | go to window number 6 " SPC 7 | go to window number 7 " SPC 8 | go to window number 8 " SPC 9 | go to window number 9 " < " Windows manipulation commands (start with `w`): " > " Key Bindings | Descriptions " --------------------- | -------------------------------------------------- " SPC w . | windows transient state " SPC w | switch to alternate window in the current frame " SPC w = | balance split windows " SPC w c | Distraction-free reading current window " SPC w C | Distraction-free reading other windows " SPC w d | delete a window " SPC w D | delete another window using vim-choosewin " SPC w f | toggle follow mode " SPC w F | create new tab " SPC w h | move to window on the left " SPC w H | move window to the left " SPC w j | move to window below " SPC w J | move window to the bottom " SPC w k | move to window above " SPC w K | move window to the top " SPC w l | move to window on the right " SPC w L | move window to the right " SPC w m | maximize/minimize a window " SPC w M | swap windows using vim-choosewin " SPC w o | cycle and focus between tabs " SPC w r | rotate windows forward " SPC w R | rotate windows backward " SPC w s / SPC w - | horizontal split " SPC w S | horizontal split and focus new window " SPC w u | undo window layout " SPC w U | redo window layout " SPC w v / SPC w / | vertical split " SPC w V | vertical split and focus new window " SPC w w | cycle and focus between windows " SPC w W | select window using vim-choosewin " SPC w x | exchange current window with next one " < let s:file = expand(':~') let s:lnum = expand('') + 3 function! SpaceVim#mapping#leader#defindWindowsLeader(key) abort if !empty(a:key) exe 'nnoremap [Window] :LeaderGuide "' . \ a:key . '"' exe 'nmap ' .a:key . ' [Window]' nnoremap [Window]v \ :split let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.v = ['split', \ 'split-window', \ [ \ '[WIN v] is to split windows, switch to the new window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]V \ :split +bp let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.V = ['split +bp', \ 'split-previous-buffer', \ [ \ '[WIN V] is to split previous buffer, switch to the new window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]g \ :vsplit let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.g = ['vsplit', \ 'vsplit-window', \ [ \ '[WIN g] is to split previous buffer vertically, switch to the new window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]G \ :vsplit +bp let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.G = ['vsplit +bp', \ 'vsplit-previous-buffer', \ [ \ '[WIN G] is to split windows vertically, switch to the new window', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]t \ :tabnew let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.t = ['tabnew', \ 'create-new-tab', \ [ \ '[WIN t] is to create new tab', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]o \ :onlydoautocmd WinEnter let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.o = ['only | doautocmd WinEnter', \ 'close-other-windows', \ [ \ '[WIN o] is to close all other windows', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]x \ :call SpaceVim#mapping#BufferEmpty() let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.x = ['call SpaceVim#mapping#BufferEmpty()', \ 'empty-current-buffer', \ [ \ '[WIN x] is to empty current buffer', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]\ \ :b# let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows['\'] = ['b#', \ 'switch-to-the-last-buffer', \ [ \ '[WIN \] is to switch to the last buffer', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]Q \ :close let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.Q = ['close', \ 'close-current-windows', \ [ \ '[WIN Q] is to close current windows', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]q \ :call SpaceVim#mapping#close_current_buffer() let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.q = ['call SpaceVim#mapping#close_current_buffer()', \ 'delete-current-windows', \ [ \ '[WIN q] is to delete current windows', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] nnoremap [Window]c \ :call SpaceVim#mapping#clear_buffers() let lnum = expand('') + s:lnum - 4 let g:_spacevim_mappings_windows.c = ['call SpaceVim#mapping#clear_buffers()', \ 'clear-all-the-buffers', \ [ \ '[WIN c] is to clear all the buffers', \ '', \ 'Definition: ' . s:file . ':' . lnum, \ ] \ ] endif endfunction function! SpaceVim#mapping#leader#defindDeniteLeader(key) abort if !empty(a:key) if a:key ==# 'F' nnoremap F F endif exe 'nnoremap [denite] :LeaderGuide "' . \ a:key . '"' exe 'nmap ' .a:key . ' [denite]' let g:_spacevim_mappings_denite = {} nnoremap [denite]r \ :Denite -resume let g:_spacevim_mappings_denite.r = ['Denite -resume', \ 'resume denite window'] nnoremap [denite]f :Denite file_rec let g:_spacevim_mappings_denite.f = ['Denite file_rec', 'file_rec'] nnoremap [denite]i :Denite file_rec/git let g:_spacevim_mappings_denite.i = ['Denite file_rec/git', 'git files'] nnoremap [denite]g :Denite grep let g:_spacevim_mappings_denite.g = ['Denite grep', 'denite grep'] nnoremap [denite]t :Denite tag let g:_spacevim_mappings_denite.t = ['Denite tag', 'denite tag'] nnoremap [denite]T :Denite tag:include let g:_spacevim_mappings_denite.T = ['Denite tag/include', \ 'denite tag/include'] nnoremap [denite]j :Denite jump let g:_spacevim_mappings_denite.j = ['Denite jump', 'denite jump'] nnoremap [denite]h :Denite neoyank let g:_spacevim_mappings_denite.h = ['Denite neoyank', 'denite neoyank'] nnoremap [denite] :DeniteCursorWord help let g:_spacevim_mappings_denite[''] = ['DeniteCursorWord help', \ 'denite with cursor word help'] nnoremap [denite]o :Denite -buffer-name=outline \ -auto-preview outline let g:_spacevim_mappings_denite.o = ['Denite outline', 'denite outline'] nnoremap [denite]e :Denite \ -buffer-name=register register let g:_spacevim_mappings_denite.e = ['Denite register', 'denite register'] nnoremap [denite] :Denite menu:CustomKeyMaps let g:_spacevim_mappings_denite[''] = ['Denite menu:CustomKeyMaps', \ 'denite customkeymaps'] endif endfunction function! SpaceVim#mapping#leader#getName(key) abort if a:key ==# ' ' return '[SPC]' elseif a:key ==# 'g' return '[g]' elseif a:key ==# 'z' return '[z]' elseif a:key ==# g:spacevim_windows_leader return '[WIN]' elseif a:key ==# '\' return '' else return '' endif endfunction function! SpaceVim#mapping#leader#defindKEYs() abort call SpaceVim#logger#debug('defind SPC h k prefixs') if !g:spacevim_vimcompatible && !empty(g:spacevim_windows_leader) let g:_spacevim_mappings_prefixs[g:spacevim_windows_leader] = {'name' : '+Window prefix'} call extend(g:_spacevim_mappings_prefixs[g:spacevim_windows_leader], g:_spacevim_mappings_windows) endif let g:_spacevim_mappings_prefixs['g'] = {'name' : '+g prefix'} call extend(g:_spacevim_mappings_prefixs['g'], g:_spacevim_mappings_g) let g:_spacevim_mappings_prefixs['z'] = {'name' : '+z prefix'} call extend(g:_spacevim_mappings_prefixs['z'], g:_spacevim_mappings_z) let leader = get(g:, 'mapleader', '\') let g:_spacevim_mappings_prefixs[leader] = {'name' : '+Leader prefix'} call extend(g:_spacevim_mappings_prefixs[leader], g:_spacevim_mappings) endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/mapping/search.vim ================================================ "============================================================================= " search.vim --- search tools in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " How to add new search tools? " " first, namespace should avoid b d f j p B D F J P " then, the exist namespace should be avoid too " Use ack " http://beyondgrep.com/ " Use jvgrep " https://github.com/mattn/jvgrep " Use beagrep " https://github.com/baohaojun/beagrep let s:search_tools = {} let s:search_tools.namespace = { \ 'rg' : 'r', \ 'ag' : 'a', \ 'hw' : 'h', \ 'pt' : 't', \ 'ack' : 'k', \ 'grep' : 'g', \ 'findstr' : 'i', \ } let s:search_tools.a = {} let s:search_tools.a.command = 'ag' let s:search_tools.a.default_opts = \ [ \ '-i', '--nocolor', '--filename', '--noheading', '--column', '--hidden', '--ignore', \ '.hg', '--ignore', '.svn', '--ignore', '.git', '--ignore', '.bzr', \ ] let s:search_tools.a.recursive_opt = [] let s:search_tools.a.expr_opt = [] let s:search_tools.a.fixed_string_opt = ['-F'] let s:search_tools.a.default_fopts = ['--nonumber'] let s:search_tools.a.smart_case = ['-S'] let s:search_tools.a.ignore_case = ['-i'] let s:search_tools.t = {} let s:search_tools.t.command = 'pt' let s:search_tools.t.default_opts = ['--nogroup', '--nocolor'] let s:search_tools.t.recursive_opt = [] let s:search_tools.t.expr_opt = ['-e'] let s:search_tools.t.fixed_string_opt = [] let s:search_tools.t.default_fopts = [] let s:search_tools.t.smart_case = ['-S'] let s:search_tools.t.ignore_case = ['-i'] let s:search_tools.h = {} let s:search_tools.h.command = 'hw' let s:search_tools.h.default_opts = ['--no-group', '--no-color'] let s:search_tools.h.recursive_opt = [] let s:search_tools.h.expr_opt = [] let s:search_tools.h.fixed_string_opt = [] let s:search_tools.h.default_fopts = [] let s:search_tools.h.smart_case = [] let s:search_tools.h.ignore_case = [] let s:search_tools.r = {} let s:search_tools.r.command = 'rg' let s:search_tools.r.default_opts = [ \ '--hidden', '--no-heading', '--color=never', '--with-filename', '--line-number', '--column', \ '-g', '!.git' \ ] let s:search_tools.r.recursive_opt = [] let s:search_tools.r.expr_opt = ['-e'] let s:search_tools.r.fixed_string_opt = ['-F'] let s:search_tools.r.default_fopts = ['-N'] let s:search_tools.r.smart_case = ['-S'] let s:search_tools.r.ignore_case = ['-i'] let s:search_tools.k = {} let s:search_tools.k.command = 'ack' let s:search_tools.k.default_opts = ['-i', '--no-heading', '--no-color', '-k', '-H'] let s:search_tools.k.recursive_opt = [] let s:search_tools.k.expr_opt = [] let s:search_tools.k.fixed_string_opt = [] let s:search_tools.k.default_fopts = [] let s:search_tools.k.smart_case = ['--smart-case'] let s:search_tools.k.ignore_case = ['--ignore-case'] let s:search_tools.g = {} let s:search_tools.g.command = 'grep' let s:search_tools.g.default_opts = ['-inHr'] let s:search_tools.g.expr_opt = ['-e'] let s:search_tools.g.fixed_string_opt = ['-F'] let s:search_tools.g.recursive_opt = ['.'] let s:search_tools.g.default_fopts = [] let s:search_tools.g.smart_case = [] let s:search_tools.g.ignore_case = ['-i'] let s:search_tools.G = {} let s:search_tools.G.command = 'git' let s:search_tools.G.default_opts = ['grep', '-n', '--column'] let s:search_tools.G.expr_opt = ['-E'] let s:search_tools.G.fixed_string_opt = ['-F'] let s:search_tools.G.recursive_opt = ['.'] let s:search_tools.G.default_fopts = [] let s:search_tools.G.smart_case = [] let s:search_tools.G.ignore_case = ['-i'] let s:search_tools.i = {} let s:search_tools.i.command = 'findstr' let s:search_tools.i.default_opts = ['/RSN'] let s:search_tools.i.recursive_opt = [] let s:search_tools.i.expr_opt = [] let s:search_tools.i.fixed_string_opt = [] let s:search_tools.i.default_fopts = [] let s:search_tools.i.smart_case = [] let s:search_tools.i.ignore_case = ['/I'] function! SpaceVim#mapping#search#grep(key, scope) abort let cmd = s:search_tools[a:key]['command'] let opt = s:search_tools[a:key]['default_opts'] let ropt = s:search_tools[a:key]['recursive_opt'] let ignore = s:search_tools[a:key]['ignore_case'] let smart = s:search_tools[a:key]['smart_case'] let expr = s:search_tools[a:key]['expr_opt'] if a:scope ==# 'b' call SpaceVim#plugins#flygrep#open({ \ 'input' : input('grep pattern:'), \ 'files':'@buffers', \ 'cmd' : cmd, \ 'opt' : opt, \ 'ropt' : ropt, \ 'ignore_case' : ignore, \ 'smart_case' : smart, \ 'expr_opt' : expr, \ }) elseif a:scope ==# 'B' call SpaceVim#plugins#flygrep#open({ \ 'input' : expand(''), \ 'files':'@buffers', \ 'cmd' : cmd, \ 'opt' : opt, \ 'ropt' : ropt, \ 'ignore_case' : ignore, \ 'smart_case' : smart, \ 'expr_opt' : expr, \ }) elseif a:scope ==# 'p' call SpaceVim#plugins#flygrep#open({ \ 'input' : input('grep pattern:'), \ 'cmd' : cmd, \ 'opt' : opt, \ 'ropt' : ropt, \ 'ignore_case' : ignore, \ 'smart_case' : smart, \ 'expr_opt' : expr, \ }) elseif a:scope ==# 'P' call SpaceVim#plugins#flygrep#open({ \ 'input' : expand(''), \ 'cmd' : cmd, \ 'opt' : opt, \ 'ropt' : ropt, \ 'ignore_case' : ignore, \ 'smart_case' : smart, \ 'expr_opt' : expr, \ }) elseif a:scope ==# 'd' call SpaceVim#plugins#flygrep#open({ \ 'input' : input('grep pattern:'), \ 'dir' : fnamemodify(expand('%'), ':p:h'), \ 'cmd' : cmd, \ 'opt' : opt, \ 'ropt' : ropt, \ 'ignore_case' : ignore, \ 'smart_case' : smart, \ 'expr_opt' : expr, \ }) elseif a:scope ==# 'D' call SpaceVim#plugins#flygrep#open({ \ 'input' : expand(''), \ 'dir' : fnamemodify(expand('%'), ':p:h'), \ 'cmd' : cmd, \ 'opt' : opt, \ 'ropt' : ropt, \ 'ignore_case' : ignore, \ 'smart_case' : smart, \ 'expr_opt' : expr, \ }) elseif a:scope ==# 'f' call SpaceVim#plugins#flygrep#open({ \ 'input' : input('grep pattern:'), \ 'dir' : input('arbitrary dir:', '', 'dir'), \ 'cmd' : cmd, \ 'opt' : opt, \ 'ropt' : ropt, \ 'ignore_case' : ignore, \ 'smart_case' : smart, \ 'expr_opt' : expr, \ }) elseif a:scope ==# 'F' call SpaceVim#plugins#flygrep#open({ \ 'input' : expand(''), \ 'dir' : input('arbitrary dir:', '', 'dir'), \ 'cmd' : cmd, \ 'opt' : opt, \ 'ropt' : ropt, \ 'ignore_case' : ignore, \ 'smart_case' : smart, \ 'expr_opt' : expr, \ }) endif endfunction function! SpaceVim#mapping#search#default_tool() abort if !has_key(s:search_tools, 'default_exe') for t in get(g:, 'spacevim_search_tools', ['rg', 'ag', 'pt', 'ack', 'grep']) if executable(t) let s:search_tools.default_exe = t let key = s:search_tools.namespace[t] let s:search_tools.default_opt = s:search_tools[key]['default_opts'] let s:search_tools.default_ropt = s:search_tools[key]['recursive_opt'] let s:search_tools.expr_opt = s:search_tools[key]['expr_opt'] let s:search_tools.fixed_string_opt = s:search_tools[key]['fixed_string_opt'] let s:search_tools.ignore_case = s:search_tools[key]['ignore_case'] let s:search_tools.smart_case = s:search_tools[key]['smart_case'] break endif endfor if !has_key(s:search_tools, 'default_exe') return ['', '', '', '', '', '', ''] endif endif return [ \ s:search_tools.default_exe, \ s:search_tools.default_opt, \ s:search_tools.default_ropt, \ s:search_tools.expr_opt, \ s:search_tools.fixed_string_opt, \ s:search_tools.ignore_case, \ s:search_tools.smart_case, \ ] endfunction function! SpaceVim#mapping#search#getFopt(exe) abort let key = s:search_tools.namespace[a:exe] return s:search_tools[key]['default_fopts'] endfunction " the profile of a search tool should be: " { 'ag' : { " 'namespace' : '', " a single char a-z " 'command' : '', " executable " 'default_opts' : [], " default options " 'recursive_opt' : [], " default recursive options " 'expr_opt' : '', " option for enable expr mode " 'fixed_string_opt' : '', " option for enable fixed string mode " 'ignore_case' : '', " option for enable ignore case mode " 'smart_case' : '', " option for enable smart case mode " } " } " " so the finale command line is : " [command] " + [ignore_case_opt]? " + [smart_case_opt]? " + [string_opt]/[expr_opt]? " + {expr} " + {files or dir} " + [roptions] function! SpaceVim#mapping#search#profile(opt) abort for key in keys(a:opt) if has_key(s:search_tools.namespace, key) for opt_key in keys(s:search_tools[s:search_tools.namespace[key]]) if has_key(a:opt[key], opt_key) let s:search_tools[s:search_tools.namespace[key]][opt_key] = a:opt[key][opt_key] endif endfor else call s:add_new_search_tool(a:opt[key]) endif endfor endfunction function! SpaceVim#mapping#search#getprofile(...) abort if a:0 > 0 let tool = get(s:search_tools.namespace, a:1, '') if !empty(tool) return deepcopy(s:search_tools[tool]) endif else if !has_key(s:search_tools, 'default_exe') for t in get(g:, 'spacevim_search_tools', ['rg', 'ag', 'pt', 'ack', 'grep']) if executable(t) let s:search_tools.default_exe = t let key = s:search_tools.namespace[t] let s:search_tools.default_opt = s:search_tools[key]['default_opts'] let s:search_tools.default_ropt = s:search_tools[key]['recursive_opt'] let s:search_tools.expr_opt = s:search_tools[key]['expr_opt'] let s:search_tools.fixed_string_opt = s:search_tools[key]['fixed_string_opt'] let s:search_tools.ignore_case = s:search_tools[key]['ignore_case'] let s:search_tools.smart_case = s:search_tools[key]['smart_case'] break endif endfor endif if has_key(s:search_tools, 'default_exe') return deepcopy(s:search_tools[s:search_tools.namespace[s:search_tools.default_exe]]) endif endif endfunction function! s:add_new_search_tool(tool) abort " TODO: add new tools, " 1. we should check namespace endfunction ================================================ FILE: autoload/SpaceVim/mapping/space.vim ================================================ "============================================================================= " space.vim --- Space key bindings " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:BUF = SpaceVim#api#import('vim#buffer') let s:TIME = SpaceVim#api#import('time') let s:WIN = SpaceVim#api#import('vim#window') let s:file = expand(':~') let s:funcbeginline = expand('') + 1 function! SpaceVim#mapping#space#init() abort call SpaceVim#logger#debug('init SPC key bindings') if s:has_map_to_spc() return endif nnoremap [SPC] :LeaderGuide ' ' vnoremap [SPC] :LeaderGuideVisual ' ' exe printf('nmap %s [SPC]', g:spacevim_default_custom_leader) exe printf('vmap %s [SPC]', g:spacevim_default_custom_leader) if !g:spacevim_vimcompatible && g:spacevim_enable_language_specific_leader nmap , [SPC]l xmap , [SPC]l endif " Windows for i in range(1, 9) exe "call SpaceVim#mapping#space#def('nnoremap', [" \ . i . "], 'call SpaceVim#layers#core#statusline#jump(" \ . i . ")', 'window-" . i . "', 1)" endfor let g:_spacevim_mappings_space.w[''] = ['wincmd w', 'alternate-window'] nnoremap [SPC]w :wincmd w call SpaceVim#mapping#menu('alternate-window', '[SPC]w', 'wincmd w') call SpaceVim#mapping#space#def('nnoremap', ['w', '+'], \ 'call call(' \ . string(function('s:windows_layout_toggle')) \ . ', [])', 'windows-layout-toggle', 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', '.'], 'call call(' \ . string(s:_function('s:windows_transient_state')) . ', [])', \ ['buffer-transient-state', \ [ \ '[SPC w .] is to open the buffer transient state', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'd'], 'close', \ ['close-current-windows', \ [ \ '[SPC w d] is to close current windows', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'f'], 'setlocal scrollbind!', \ ['toggle-follow-mode', \ [ \ '[SPC w f] is to toggle follow mode', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'D'], 'ChooseWin | close | wincmd w', \ ['delete-window-(other-windows)', \ [ \ '[SPC w D] is to select a windows to close', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'F'], 'tabnew', \ ['create-new-tab', \ [ \ '[SPC w F] is to create new tab', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) " let s:lnum = expand('') + s:funcbeginline " call SpaceVim#mapping#space#def('nnoremap', ['w', 'F'], 'call call(' " \ . string(function('s:create_new_named_tab')) " \ . ', [])', " \ ['create-new-named-tab', " \ [ " \ '[SPC w F] is to create new named tab', " \ '', " \ 'Definition: ' . s:file . ':' . s:lnum, " \ ] " \ ] " \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'h'], 'wincmd h', \ ['window-left', \ [ \ '[SPC w h] is to jump to the left window', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'j'], 'wincmd j', \ ['window-down', \ [ \ '[SPC w j] is to jump to the window below current windows', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'x'], 'wincmd x', \ ['window-switch-placement', \ [ \ '[SPC w x] is to jump to exchange current window with next one.', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'k'], 'wincmd k', \ ['window-up', \ [ \ '[SPC w k] is to jump to the window above current windows', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'l'], 'wincmd l', \ ['window-right', \ [ \ '[SPC w l] is to jump to the right window', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'H'], 'wincmd H', \ ['window-far-left', \ [ \ '[SPC w H] is to jump to the far left window', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'J'], 'wincmd J', \ ['window-far-down', \ [ \ '[SPC w J] is to jump to the far down window', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'K'], 'wincmd K', \ ['window-far-up', \ [ \ '[SPC w K] is to jump to the far up window', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'L'], 'wincmd L', \ ['window-far-right', \ [ \ '[SPC w L] is to jump to the far right window', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'm'], 'call call(' \ . string(function('s:maximize_minimize_win')) \ . ', [])', \ ['maximize/minimize window', \ [ \ '[SPC w m] is to maximize/minimize window', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'M'], \ "execute eval(\"winnr('$')<=2 ? 'wincmd x' : 'ChooseWinSwap'\")", \ ['swap window', \ [ \ '[SPC w M] is to swap window', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'o'], 'tabnext', \ ['other-tabs', \ [ \ '[SPC w o] is to switch to next tabs', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', '/'], 'belowright vsplit | wincmd w', \ ['split-windows-right', \ [ \ '[SPC w /] is to split windows on the right', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'v'], 'belowright vsplit | wincmd w', \ ['split-windows-right', \ [ \ '[SPC w v] is to split windows on the right', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', '-'], 'bel split | wincmd w', \ ['split-windows-below', \ [ \ '[SPC w -] is to split windows below', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 's'], 'bel split | wincmd w', \ ['split-windows-below', \ [ \ '[SPC w s] is to split windows below', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'S'], 'bel split', \ ['split-focus-windows-below', \ [ \ '[SPC w S] is to split windows below and focus on new windows', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', '2'], 'silent only | vs | wincmd w', \ ['layout-double-columns', \ [ \ '[SPC w 2] is to change current windows layout to double columns', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', '3'], 'silent only | vs | vs | wincmd H', \ ['layout-three-columns', \ [ \ '[SPC w 3] is to change current windows layout to three columns', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', 'V'], \ 'bel vs', \ ['split-window-right-focus', \ [ \ '[SPC w V] is to split window on the right', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['w', '='], \ 'wincmd =', \ ['balance-windows', \ [ \ '[SPC w =] is to balance all the windows in current tab', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ], 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'w'], \ 'wincmd w', 'cycle and focus between windows', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'W'], \ 'ChooseWin', 'select window', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'u'], 'call SpaceVim#plugins#windowsmanager#UndoQuitWin()', 'undo quieted window', 1) call SpaceVim#mapping#space#def('nnoremap', ['w', 'U'], 'call SpaceVim#plugins#windowsmanager#RedoQuitWin()', 'redo quieted window', 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['b', 'n'], 'call call(' \ . string(function('s:next_buffer')) \ . ', [])', ['next-buffer', \ [ \ '[SPC b n] is running :bnext, jump to next buffer', \ 'which is a vim build in command', \ 'It is bound to SPC b n, ] b,', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) call SpaceVim#mapping#space#def('nnoremap', ['b', 's'], \ 'call call(' \ . string(function('s:switch_scratch_buffer')) \ . ', [])', 'switch-to-scratch-buffer', 1) let s:lnum = expand('') + 3 call SpaceVim#mapping#space#def('nnoremap', ['b', 'p'], 'call call(' \ . string(function('s:previous_buffer')) \ . ', [])', ['previous-buffer', \ [ \ 'SPC b p is running :bp, jump to previous buffer', \ 'which is a vim build in command', \ 'It is bound to SPC b p, [ b,', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) if g:spacevim_relativenumber nnoremap [SPC]tn :setlocal nonumber! norelativenumber! let g:_spacevim_mappings_space.t.n = ['setlocal nonumber! norelativenumber!', 'toggle-line-number'] call SpaceVim#mapping#menu('toggle line number', '[SPC]tn', 'set nu!') else nnoremap [SPC]tn :setlocal number! let g:_spacevim_mappings_space.t.n = ['setlocal number!', 'toggle-line-number'] call SpaceVim#mapping#menu('toggle line number', '[SPC]tn', 'setlocal number!') endif call extend(g:_spacevim_mappings_prefixs['[SPC]'], get(g:, '_spacevim_mappings_space', {})) " Searching in current buffer let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['s', 's'], \ 'call SpaceVim#plugins#flygrep#open(' \ . '{"input" : input("grep pattern:"), "files": bufname("%")}' \ . ')', \ ['grep-in-current-buffer', \ [ \ 'SPC s s will search text in current buffer, an input promot will be opened.', \ 'The default searching tool is based on search_tools option', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['s', 'S'], \ 'call SpaceVim#plugins#flygrep#open(' \ . '{"input" : expand(""), "files": bufname("%")}' \ . ')', \ ['grep-cword-in-current-buffer', \ [ \ 'SPC s S will search the word under cursor within current buffer, an input promot will be opened.', \ 'The default searching tool is based on search_tools option', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) " Searching in all loaded buffers let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['s', 'b'], \ 'call SpaceVim#plugins#flygrep#open(' \ . '{"input" : input("grep pattern:"), "files": "@buffers"}' \ . ')', \ ['grep-in-all-buffers', \ [ \ 'SPC s b will search text in all loaded buffers, an input promot will be opened.', \ 'The default searching tool is based on search_tools option', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['s', 'B'], \ 'call SpaceVim#plugins#flygrep#open(' \ . '{"input" : expand(""), "files": "@buffers"}' \ . ')', \ ['grep-cword-in-all-buffers', \ [ \ 'SPC s B will search cursor word in all loaded buffers, an input promot will be opened.', \ 'The default searching tool is based on search_tools option', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) " Searching in buffer directory let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['s', 'd'], \ 'call SpaceVim#plugins#flygrep#open(' \ . '{"input" : input("grep pattern:"), "dir": fnamemodify(expand("%"), ":p:h")}' \ . ')', \ ['grep-in-buffer-directory', \ [ \ 'SPC s d will search text in buffer directory, an input promot will be opened.', \ 'The default searching tool is based on search_tools option', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['s', 'D'], \ 'call SpaceVim#plugins#flygrep#open(' \ . '{"input" : expand(""), "dir": fnamemodify(expand("%"), ":p:h")}' \ . ')', \ ['grep-cword-in-buffer-directory', \ [ \ 'SPC s d will search cursor word in buffer directory, an input promot will be opened.', \ 'The default searching tool is based on search_tools option', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) " Searching in files in an arbitrary directory let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['s', 'f'], \ 'call SpaceVim#plugins#flygrep#open(' \ . '{"input" : input("grep pattern:"), "dir": input("arbitrary dir:", "", "dir")}' \ . ')', \ ['grep-in-arbitrary-directory', \ [ \ 'SPC s f will search text in arbitrary directory, an input promot will be opened.', \ 'The default searching tool is based on search_tools option', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['s', 'F'], \ 'call SpaceVim#plugins#flygrep#open(' \ . '{"input" : expand(""), "dir": input("arbitrary dir:", "", "dir")}' \ . ')', \ ['grep-cword-in-arbitrary-directory', \ [ \ 'SPC s F will search cursor world in arbitrary directory, an input promot will be opened.', \ 'The default searching tool is based on search_tools option', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) " Searching in project call SpaceVim#mapping#space#def('nnoremap', ['s', 'p'], \ 'call SpaceVim#plugins#flygrep#open(' . \ "{'input' : input(\"grep pattern:\"), 'dir' : get(b:, \"rootDir\", getcwd())})", \ 'grep-in-project', 1) if g:spacevim_flygrep_next_version && has('nvim-0.10.0') call SpaceVim#mapping#space#def('nnoremap', ['s', 'P'], \ "lua require('flygrep').open({input = vim.fn.expand('')})", \ 'grep-cword-in-project', 1) else call SpaceVim#mapping#space#def('nnoremap', ['s', 'P'], \ "call SpaceVim#plugins#flygrep#open({'input' : expand(\"\"), 'dir' : get(b:, \"rootDir\", getcwd())})", \ 'grep-cword-in-project', 1) endif " Searching background if has('nvim-0.7.0') call SpaceVim#mapping#space#def('nnoremap', ['s', 'j'], \ "lua require('spacevim.plugin.searcher').find('', require('spacevim.plugin.search').default_tool())", 'background-search-in-project', 1) else call SpaceVim#mapping#space#def('nnoremap', ['s', 'j'], \ 'call SpaceVim#plugins#searcher#find("", SpaceVim#mapping#search#default_tool()[0])', 'background-search-in-project', 1) endif call SpaceVim#mapping#space#def('nnoremap', ['s', 'J'], \ 'call SpaceVim#plugins#searcher#find(expand(""),SpaceVim#mapping#search#default_tool()[0])', \ 'background-search-cwords-in-project', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'l'], 'call SpaceVim#plugins#searcher#list()', 'list-all-searching-results', 1) " Searching tools " ag let g:_spacevim_mappings_space.s.a = {'name' : '+ag'} call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'b'], 'call SpaceVim#mapping#search#grep("a", "b")', 'search in all buffers with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'B'], 'call SpaceVim#mapping#search#grep("a", "B")', \ 'search cursor word in all buffers with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'd'], 'call SpaceVim#mapping#search#grep("a", "d")', 'search in buffer directory with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'D'], 'call SpaceVim#mapping#search#grep("a", "D")', \ 'search cursor word in buffer directory with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'p'], 'call SpaceVim#mapping#search#grep("a", "p")', 'search in project with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'P'], 'call SpaceVim#mapping#search#grep("a", "P")', \ 'search cursor word in project with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'f'], 'call SpaceVim#mapping#search#grep("a", "f")', \ 'search in arbitrary directory with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'F'], 'call SpaceVim#mapping#search#grep("a", "F")', \ 'search cursor word in arbitrary directory with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'j'], 'call SpaceVim#plugins#searcher#find("", "ag")', \ 'Background search in project with ag', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'a', 'J'], 'call SpaceVim#plugins#searcher#find(expand(""), "ag")', \ 'Background search cursor words in project with ag', 1) " grep let g:_spacevim_mappings_space.s.g = {'name' : '+grep'} call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'b'], 'call SpaceVim#mapping#search#grep("g", "b")', \ 'search in all buffers with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'B'], 'call SpaceVim#mapping#search#grep("g", "B")', \ 'search cursor word in all buffers with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'd'], 'call SpaceVim#mapping#search#grep("g", "d")', 'search in buffer directory with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'D'], 'call SpaceVim#mapping#search#grep("g", "D")', \ 'search cursor word in buffer directory with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'p'], 'call SpaceVim#mapping#search#grep("g", "p")', 'search in project with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'P'], 'call SpaceVim#mapping#search#grep("g", "P")', \ 'search cursor word in project with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'f'], 'call SpaceVim#mapping#search#grep("g", "f")', \ 'search in arbitrary directory with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'F'], 'call SpaceVim#mapping#search#grep("g", "F")', \ 'search cursor word in arbitrary directory with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'j'], 'call SpaceVim#plugins#searcher#find("", "grep")', \ 'Background search cursor words in project with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'g', 'J'], 'call SpaceVim#plugins#searcher#find(expand(""), "grep")', \ 'Background search cursor words in project with grep', 1) " git grep let g:_spacevim_mappings_space.s.G = {'name' : '+git grep'} call SpaceVim#mapping#space#def('nnoremap', ['s', 'G', 'b'], 'call SpaceVim#mapping#search#grep("G", "b")', \ 'search in all buffers with git-grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'G', 'B'], 'call SpaceVim#mapping#search#grep("G", "B")', \ 'search cursor word in all buffers with git-grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'G', 'd'], 'call SpaceVim#mapping#search#grep("G", "d")', 'search in buffer directory with grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'G', 'D'], 'call SpaceVim#mapping#search#grep("G", "D")', \ 'search cursor word in buffer directory with git-grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'G', 'p'], 'call SpaceVim#mapping#search#grep("G", "p")', 'search in project with git-grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'G', 'P'], 'call SpaceVim#mapping#search#grep("G", "P")', \ 'search cursor word in project with git-grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'G', 'f'], 'call SpaceVim#mapping#search#grep("G", "f")', \ 'search in arbitrary directory with git-grep', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'G', 'F'], 'call SpaceVim#mapping#search#grep("G", "F")', \ 'search cursor word in arbitrary directory with git-grep', 1) " ack let g:_spacevim_mappings_space.s.k = {'name' : '+ack'} call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'b'], 'call SpaceVim#mapping#search#grep("k", "b")', 'search in all buffers with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'B'], 'call SpaceVim#mapping#search#grep("k", "B")', \ 'search cursor word in all buffers with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'd'], 'call SpaceVim#mapping#search#grep("k", "d")', 'search in buffer directory with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'D'], 'call SpaceVim#mapping#search#grep("k", "D")', \ 'search cursor word in buffer directory with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'p'], 'call SpaceVim#mapping#search#grep("k", "p")', 'search in project with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'P'], 'call SpaceVim#mapping#search#grep("k", "P")', \ 'search cursor word in project with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'f'], 'call SpaceVim#mapping#search#grep("k", "f")', \ 'search in arbitrary directory with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'F'], 'call SpaceVim#mapping#search#grep("k", "F")', \ 'search cursor word in arbitrary directory with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'j'], 'call SpaceVim#plugins#searcher#find("", "ack")', \ 'Background search cursor words in project with ack', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'k', 'J'], 'call SpaceVim#plugins#searcher#find(expand(""), "ack")', \ 'Background search cursor words in project with ack', 1) " rg let g:_spacevim_mappings_space.s.r = {'name' : '+rg'} call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'b'], 'call SpaceVim#mapping#search#grep("r", "b")', 'search in all buffers with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'B'], 'call SpaceVim#mapping#search#grep("r", "B")', \ 'search cursor word in all buffers with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'd'], 'call SpaceVim#mapping#search#grep("r", "d")', 'search in buffer directory with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'D'], 'call SpaceVim#mapping#search#grep("r", "D")', \ 'search cursor word in buffer directory with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'p'], 'call SpaceVim#mapping#search#grep("r", "p")', 'search in project with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'P'], 'call SpaceVim#mapping#search#grep("r", "P")', \ 'search cursor word in project with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'f'], 'call SpaceVim#mapping#search#grep("r", "f")', \ 'search in arbitrary directory with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'F'], 'call SpaceVim#mapping#search#grep("r", "F")', \ 'search cursor word in arbitrary directory with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'j'], 'call SpaceVim#plugins#searcher#find("", "rg")', \ 'Background search cursor words in project with rg', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'r', 'J'], 'call SpaceVim#plugins#searcher#find(expand(""), "rg")', \ 'Background search cursor words in project with rg', 1) " findstr let g:_spacevim_mappings_space.s.i = {'name' : '+findstr'} call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'b'], 'call SpaceVim#mapping#search#grep("i", "b")', 'search in all buffers with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'B'], 'call SpaceVim#mapping#search#grep("i", "B")', \ 'search cursor word in all buffers with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'd'], 'call SpaceVim#mapping#search#grep("i", "d")', 'search in buffer directory with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'D'], 'call SpaceVim#mapping#search#grep("i", "D")', \ 'search cursor word in buffer directory with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'p'], 'call SpaceVim#mapping#search#grep("i", "p")', 'search in project with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'P'], 'call SpaceVim#mapping#search#grep("i", "P")', \ 'search cursor word in project with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'f'], 'call SpaceVim#mapping#search#grep("i", "f")', \ 'search in arbitrary directory with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'F'], 'call SpaceVim#mapping#search#grep("i", "F")', \ 'search cursor word in arbitrary directory with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'j'], 'call SpaceVim#plugins#searcher#find("", "findstr")', \ 'Background search cursor words in project with findstr', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'i', 'J'], 'call SpaceVim#plugins#searcher#find(expand(""), "findstr")', \ 'Background search cursor words in project with findstr', 1) " pt let g:_spacevim_mappings_space.s.t = {'name' : '+pt'} call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'b'], 'call SpaceVim#mapping#search#grep("t", "b")', 'search in all buffers with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'B'], 'call SpaceVim#mapping#search#grep("t", "B")', \ 'search cursor word in all buffers with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'd'], 'call SpaceVim#mapping#search#grep("t", "d")', 'search in buffer directory with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'D'], 'call SpaceVim#mapping#search#grep("t", "D")', \ 'search cursor word in buffer directory with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'p'], 'call SpaceVim#mapping#search#grep("t", "p")', 'search in project with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'P'], 'call SpaceVim#mapping#search#grep("t", "P")', \ 'search cursor word in project with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'f'], 'call SpaceVim#mapping#search#grep("t", "f")', \ 'search in arbitrary directory with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'F'], 'call SpaceVim#mapping#search#grep("t", "F")', \ 'search cursor word in arbitrary directory with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'j'], 'call SpaceVim#plugins#searcher#find("", "pt")', \ 'Background search cursor words in project with pt', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 't', 'J'], 'call SpaceVim#plugins#searcher#find(expand(""), "pt")', \ 'Background search cursor words in project with pt', 1) if g:spacevim_flygrep_next_version && has('nvim-0.10.0') call SpaceVim#mapping#space#def('nnoremap', ['s', '/'], 'FlyGrep', \ 'grep-on-the-fly', 1) else call SpaceVim#mapping#space#def('nnoremap', ['s', '/'], 'call SpaceVim#plugins#flygrep#open({})', \ 'grep-on-the-fly', 1) endif call SpaceVim#mapping#space#def('nnoremap', ['s', 'c'], 'call SpaceVim#plugins#searcher#clear()', \ 'clear-search-results', 1) " Tab key bindings: let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['F', 'D'], 'tabonly', \ ['close-other-tabs', \ [ \ 'SPC F D is to close all of other tabs', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ], \ 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['F', 'n'], 'tabnew', \ ['create-new-tab', \ [ \ 'SPC F D is to create a new tab', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ], \ 1) let s:lnum = expand('') + s:funcbeginline call SpaceVim#mapping#space#def('nnoremap', ['F', 'd'], 'tabclose', \ ['close-current-tab', \ [ \ 'SPC F D is to close current tab', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ], \ 1) "Symbol if has('nvim-0.7.0') nnoremap SpaceVim-plugin-iedit :lua require('spacevim.plugin.iedit').start() xnoremap SpaceVim-plugin-iedit :lua require('spacevim.plugin.iedit').start(1) else nnoremap SpaceVim-plugin-iedit :call SpaceVim#plugins#iedit#start() xnoremap SpaceVim-plugin-iedit :call SpaceVim#plugins#iedit#start(1) endif call SpaceVim#mapping#space#def('nmap', ['s', 'e'], 'SpaceVim-plugin-iedit', \ 'start-iedit-with-all-matches', 0, 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'E'], 'call SpaceVim#plugins#iedit#start({"selectall" : 0})', \ 'start-iedit-with-current-match', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'H'], 'call SpaceVim#plugins#highlight#start(1)', \ 'highlight-all-symbols', 1) call SpaceVim#mapping#space#def('nnoremap', ['s', 'h'], 'call SpaceVim#plugins#highlight#start(0)', \ 'highlight-current-symbols', 1) " Getting help let g:_spacevim_mappings_space.h.d = {'name' : '+help describe'} call SpaceVim#mapping#space#def('nnoremap', ['h', 'd', 'k'], \ 'call SpaceVim#plugins#help#describe_key()', \ 'describe-key-bindings', 1) let s:lnum = expand('') + 3 call SpaceVim#mapping#space#def('nnoremap', ['h', 'd', 't'], 'call call(' \ . string(function('s:describe_current_time')) \ . ', [])', ['describe-current-time', \ [ \ 'SPC h d t is to display current time.', \ '', \ 'Definition: ' . s:file . ':' . s:lnum, \ ] \ ] \ , 1) if has('nvim-0.7.0') call SpaceVim#mapping#space#def('nnoremap', ['a', 'o'], 'lua require("spacevim.plugin.todo").list()', 'open-todo-manager', 1) else call SpaceVim#mapping#space#def('nnoremap', ['a', 'o'], 'call SpaceVim#plugins#todo#list()', 'open-todo-manager', 1) endif if has('nvim-0.9.5') call SpaceVim#mapping#space#def('nnoremap', ['a', 'r'], 'lua require("spacevim.plugin.record-key").toggle()', 'toggle-record-keyboard', 1) endif endfunction function! SpaceVim#mapping#space#def(m, keys, cmd, desc, is_cmd, ...) abort if s:has_map_to_spc() return endif let is_visual = a:0 > 0 ? a:1 : 0 if a:is_cmd let cmd = ':' . a:cmd . '' let xcmd = ':' . a:cmd . '' let lcmd = a:cmd else let cmd = a:cmd let xcmd = a:cmd let feedkey_m = a:m =~# 'nore' ? 'n' : 'm' if a:cmd =~? '^' let lcmd = 'call feedkeys("\' . a:cmd . '", "' . feedkey_m . '")' else let lcmd = 'call feedkeys("' . a:cmd . '", "' . feedkey_m . '")' endif endif exe a:m . ' [SPC]' . join(a:keys, '') . ' ' . substitute(cmd, '|', '\\|', 'g') if is_visual if a:m ==# 'nnoremap' exe 'xnoremap [SPC]' . join(a:keys, '') . ' ' . substitute(xcmd, '|', '\\|', 'g') elseif a:m ==# 'nmap' exe 'xmap [SPC]' . join(a:keys, '') . ' ' . substitute(xcmd, '|', '\\|', 'g') endif endif if len(a:keys) == 2 if type(a:desc) == 1 let g:_spacevim_mappings_space[a:keys[0]][a:keys[1]] = [lcmd, a:desc] else let g:_spacevim_mappings_space[a:keys[0]][a:keys[1]] = [lcmd, a:desc[0], a:desc[1]] endif elseif len(a:keys) == 3 if type(a:desc) == 1 let g:_spacevim_mappings_space[a:keys[0]][a:keys[1]][a:keys[2]] = [lcmd, a:desc] else let g:_spacevim_mappings_space[a:keys[0]][a:keys[1]][a:keys[2]] = [lcmd, a:desc[0], a:desc[1]] endif elseif len(a:keys) == 1 if type(a:desc) == 1 let g:_spacevim_mappings_space[a:keys[0]] = [lcmd, a:desc] else let g:_spacevim_mappings_space[a:keys[0]] = [lcmd, a:desc[0], a:desc[1]] endif endif if type(a:desc) == 1 call SpaceVim#mapping#menu(a:desc, '[SPC]' . join(a:keys, ''), lcmd) else call SpaceVim#mapping#menu(a:desc[0], '[SPC]' . join(a:keys, ''), lcmd) endif call extend(g:_spacevim_mappings_prefixs['[SPC]'], get(g:, '_spacevim_mappings_space', {})) endfunction function! s:has_map_to_spc() abort return get(g:, 'mapleader', '\') ==# ' ' endfunction function! s:windows_layout_toggle() abort if winnr('$') != 2 echohl WarningMsg echom "Can't toggle window layout when the number of windows isn't two." echohl None else if winnr() == 1 let b = winbufnr(2) else let b = winbufnr(1) endif if winwidth(1) == &columns only vsplit else only split endif exe 'b'.b wincmd w endif endfunction let s:language_specified_mappings = {} function! SpaceVim#mapping#space#refrashLSPC() abort " Predefined mappings let g:_spacevim_mappings_space.l = {'name' : '+Language Specified'} if !empty(&filetype) && has_key(s:language_specified_mappings, &filetype) call call(s:language_specified_mappings[&filetype], []) let b:spacevim_lang_specified_mappings = g:_spacevim_mappings_space.l endif " Customized mappings if has_key(g:_spacevim_mappings_lang_group_name, &filetype) for argv in g:_spacevim_mappings_lang_group_name[&filetype] " Only support one layer of groups if !has_key(g:_spacevim_mappings_space.l, argv[0][0]) let g:_spacevim_mappings_space.l[argv[0][0]] = {'name' : argv[1]} endif endfor endif if has_key(g:_spacevim_mappings_language_specified_space_custom, &filetype) for argv in g:_spacevim_mappings_language_specified_space_custom[&filetype] let argv = deepcopy(argv) let argv[1] = ['l'] + argv[1] call call('SpaceVim#mapping#space#langSPC', argv) endfor endif endfunction function! SpaceVim#mapping#space#regesit_lang_mappings(ft, func) abort call extend(s:language_specified_mappings, {a:ft : a:func}) endfunction function! SpaceVim#mapping#space#get_lang_mappings(ft) abort return get(s:language_specified_mappings, a:ft, '') endfunction function! SpaceVim#mapping#space#langSPC(m, keys, cmd, desc, is_cmd, ...) abort if s:has_map_to_spc() return endif let is_visual = a:0 > 0 ? a:1 : 0 if a:is_cmd let cmd = ':' . a:cmd . '' let lcmd = a:cmd else let cmd = a:cmd let feedkey_m = a:m =~# 'nore' ? 'n' : 'm' if a:cmd =~? '^' let lcmd = 'call feedkeys("\' . a:cmd . '", "' . feedkey_m . '")' else let lcmd = 'call feedkeys("' . a:cmd . '", "' . feedkey_m . '")' endif endif exe a:m . ' [SPC]' . join(a:keys, '') . ' ' . substitute(cmd, '|', '\\|', 'g') if is_visual if a:m ==# 'nnoremap' exe 'xnoremap [SPC]' . join(a:keys, '') . ' ' . substitute(cmd, '|', '\\|', 'g') elseif a:m ==# 'nmap' exe 'xmap [SPC]' . join(a:keys, '') . ' ' . substitute(cmd, '|', '\\|', 'g') endif endif if len(a:keys) == 2 let g:_spacevim_mappings_space[a:keys[0]][a:keys[1]] = [lcmd, a:desc] elseif len(a:keys) == 3 let g:_spacevim_mappings_space[a:keys[0]][a:keys[1]][a:keys[2]] = [lcmd, a:desc] elseif len(a:keys) == 1 let g:_spacevim_mappings_space[a:keys[0]] = [lcmd, a:desc] endif call SpaceVim#mapping#menu(a:desc, '[SPC]' . join(a:keys, ''), lcmd) call extend(g:_spacevim_mappings_prefixs['[SPC]'], get(g:, '_spacevim_mappings_space', {})) endfunction function! s:create_new_named_tab() abort let tabname = input('Tab name:', '') if !empty(tabname) tabnew let t:_spacevim_tab_name = tabname set tabline=%!SpaceVim#layers#core#tabline#get() else tabnew endif endfunction let s:scratch_buffer = -1 function! s:switch_scratch_buffer() abort if !bufexists(s:scratch_buffer) || !empty(getbufvar(s:scratch_buffer, '&filetype', '')) let s:scratch_buffer = s:BUF.create_buf(1, 1) endif exe 'buffer' s:scratch_buffer endfunction function! s:windows_transient_state() abort let state = SpaceVim#api#import('transient_state') call state.set_title('Buffer Selection Transient State') call state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'left' : [ \ ], \ 'right' : [ \ { \ 'key' : 'n', \ 'desc' : 'next buffer', \ 'func' : '', \ 'cmd' : 'bnext', \ 'exit' : 0, \ }, \ ], \ } \ ) call state.open() endfunction function! s:next_buffer() abort try bnext catch echohl WarningMsg echo 'no listed buffer' echohl None endtry endfunction function! s:previous_buffer() abort try bp catch echohl WarningMsg echo 'no listed buffer' echohl None endtry endfunction function! s:maximize_minimize_win() abort if s:WIN.win_count() == 1 \ && get(t:, '_maximize_previous_win', 0) \ && tabpagenr('$') > 1 tabclose if exists('*win_getid') call win_gotoid(s:_maximize_previous_winid) else if tabpagenr('$') > 1 && tabpagenr() !=# tabpagenr('$') tabprevious endif endif else if exists('*win_getid') let s:_maximize_previous_winid = win_getid() endif tab split let t:_maximize_previous_win = tabpagenr() endif endfunction function! s:describe_current_time() abort let time = s:TIME.current_date() . ' ' . s:TIME.current_time() echo time endfunction " function() wrapper if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " vim:set et nowrap sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/mapping/tab.vim ================================================ "============================================================================= " tab.vim --- tab key binding " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if g:spacevim_snippet_engine ==# 'neosnippet' function! SpaceVim#mapping#tab#i_tab() abort if getline('.')[col('.')-2] ==# '{'&& pumvisible() return "\" endif if neosnippet#expandable() && getline('.')[col('.')-2] ==# '(' && !pumvisible() return "\(neosnippet_expand)" elseif neosnippet#jumpable() \ && getline('.')[col('.')-2] ==# '(' && !pumvisible() \ && !neosnippet#expandable() return "\(neosnippet_jump)" elseif neosnippet#expandable_or_jumpable() && getline('.')[col('.')-2] !=#'(' return "\(neosnippet_expand_or_jump)" elseif pumvisible() \ || \ ( \ g:spacevim_autocomplete_method ==# 'nvim-cmp' \ && luaeval("require('cmp').visible()") \ ) return "\" elseif g:spacevim_autocomplete_method ==# 'coc' && coc#pum#visible() return coc#pum#next(1) elseif has('patch-7.4.774') \ && g:spacevim_autocomplete_method !=# 'nvim-cmp' \ && complete_parameter#jumpable(1) \ && getline('.')[col('.')-2] !=# ')' return "\(complete_parameter#goto_next_parameter)" else return "\" endif endfunction elseif g:spacevim_snippet_engine ==# 'ultisnips' function! SpaceVim#mapping#tab#expandable() abort let snippet = UltiSnips#ExpandSnippetOrJump() if g:ulti_expand_or_jump_res > 0 return snippet elseif pumvisible() return "\" elseif g:spacevim_autocomplete_method ==# 'coc' && coc#pum#visible() return coc#pum#next(1) else return "\" endif endfunction function! SpaceVim#mapping#tab#i_tab() abort if getline('.')[col('.')-2] ==# '{'&& pumvisible() return "\" endif return "\=SpaceVim#mapping#tab#expandable()\" endfunction endif " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/mapping/z.vim ================================================ "============================================================================= " z.vim --- z key bindings " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! SpaceVim#mapping#z#init() abort "{{{ call SpaceVim#logger#debug('init z key bindings') nnoremap [Z] :LeaderGuide "z" nmap z [Z] let g:_spacevim_mappings_z = {} let g:_spacevim_mappings_z[''] = ['call feedkeys("z\", "n")', 'cursor-line-to-top'] nnoremap z z let g:_spacevim_mappings_z['+'] = ['call feedkeys("z+", "n")', 'cursor-to-screen-top-line-N'] nnoremap z+ z+ let g:_spacevim_mappings_z['-'] = ['call feedkeys("z-", "n")', 'cursor-to-screen-bottom-line-N'] nnoremap z- z- let g:_spacevim_mappings_z['^'] = ['call feedkeys("z^", "n")', 'cursor-to-screen-bottom-line-N'] nnoremap z^ z^ let g:_spacevim_mappings_z['.'] = ['call feedkeys("z.", "n")', 'cursor-line-to-center'] nnoremap z. z. let g:_spacevim_mappings_z['='] = ['call feedkeys("z=", "n")', 'spelling-suggestions'] nnoremap z= z= let g:_spacevim_mappings_z['A'] = ['call feedkeys("zA", "n")', 'toggle-folds-recursively'] nnoremap zA zA let g:_spacevim_mappings_z['C'] = ['call feedkeys("zC", "n")', 'close-folds-recursively'] nnoremap zC zC let g:_spacevim_mappings_z['D'] = ['call feedkeys("zD", "n")', 'delete-folds-recursively'] nnoremap zD zD let g:_spacevim_mappings_z['E'] = ['call feedkeys("zE", "n")', 'eliminate-all-folds'] nnoremap zE zE let g:_spacevim_mappings_z['F'] = ['call feedkeys("zF", "n")', 'create-a-fold-for-N-lines'] nnoremap zF zF let g:_spacevim_mappings_z['G'] = ['call feedkeys("zG", "n")', 'mark-good-spelled'] nnoremap zG zG let g:_spacevim_mappings_z['H'] = ['call feedkeys("zH", "n")', 'right-scroll-half-a-screen'] nnoremap zH zH let g:_spacevim_mappings_z['L'] = ['call feedkeys("zL", "n")', 'left-scroll-half-a-screen'] nnoremap zL zL let g:_spacevim_mappings_z['M'] = ['call feedkeys("zM", "n")', 'set-`foldlevel`-to zero'] nnoremap zM zM let g:_spacevim_mappings_z['N'] = ['call feedkeys("zN", "n")', 'set-`foldenable`'] nnoremap zN zN let g:_spacevim_mappings_z['O'] = ['call feedkeys("zO", "n")', 'open-folds-recursively'] nnoremap zO zO let g:_spacevim_mappings_z['R'] = ['call feedkeys("zR", "n")', 'set-`foldlevel`-to-deepest-fold'] nnoremap zR zR let g:_spacevim_mappings_z['W'] = ['call feedkeys("zW", "n")', 'mark-wrong-spelled'] nnoremap zW zW let g:_spacevim_mappings_z['X'] = ['call feedkeys("zX", "n")', 're-apply-`foldleve`'] nnoremap zX zX let g:_spacevim_mappings_z['a'] = ['call feedkeys("za", "n")', 'toggle-a-fold'] nnoremap za za let g:_spacevim_mappings_z['b'] = ['call feedkeys("zb", "n")', 'redraw-cursor-line-at-bottom'] nnoremap zb zb let g:_spacevim_mappings_z['c'] = ['call feedkeys("zc", "n")', 'close-a-fold'] nnoremap zc zc let g:_spacevim_mappings_z['d'] = ['call feedkeys("zd", "n")', 'delete-a-fold'] nnoremap zd zd let g:_spacevim_mappings_z['e'] = ['call feedkeys("ze", "n")', 'right-scroll-horizontally'] nnoremap ze ze let g:_spacevim_mappings_z['f'] = ['call feedkeys("zf", "n")', 'create-a-fold-for-motion'] nnoremap zf zf let g:_spacevim_mappings_z['g'] = ['call feedkeys("zg", "n")', 'mark-good-spelled'] nnoremap zg zg let g:_spacevim_mappings_z['h'] = ['call feedkeys("zh", "n")', 'scroll-screen-N-characters-to-right'] nnoremap zh zh let g:_spacevim_mappings_z[''] = ['call feedkeys("zh", "n")', 'right-scroll-text'] nnoremap z zh let g:_spacevim_mappings_z['i'] = ['call feedkeys("zi", "n")', 'toggle-foldenable'] nnoremap zi zi let g:_spacevim_mappings_z['j'] = ['call feedkeys("zj", "n")', 'move-to-start-of-next-fold'] nnoremap zj zj let g:_spacevim_mappings_z['J'] = ['call feedkeys("zjzx", "n")', 'move-to-and-open-next-fold'] nnoremap zJ zjzx let g:_spacevim_mappings_z['k'] = ['call feedkeys("zk", "n")', 'move-to-end-of-previous-fold'] nnoremap zk zk let g:_spacevim_mappings_z['K'] = ['call feedkeys("zkzx", "n")', 'move-to-and-open-previous-fold'] nnoremap zK zkzx let g:_spacevim_mappings_z['l'] = ['call feedkeys("zl", "n")', 'scroll-screen-N-characters-to-left'] nnoremap zl zl let g:_spacevim_mappings_z[''] = ['call feedkeys("zl", "n")', 'left-scroll-text'] nnoremap z zl let g:_spacevim_mappings_z['m'] = ['call feedkeys("zm", "n")', 'subtract-one-from-`foldlevel`'] nnoremap zm zm let g:_spacevim_mappings_z['n'] = ['call feedkeys("zn", "n")', 'reset-`foldenable`'] nnoremap zn zn let g:_spacevim_mappings_z['o'] = ['call feedkeys("zo", "n")', 'open-fold'] nnoremap zo zo let g:_spacevim_mappings_z['r'] = ['call feedkeys("zr", "n")', 'add-one-to-`foldlevel`'] nnoremap zr zr let g:_spacevim_mappings_z.s = ['call feedkeys("zs", "n")', 'left-scroll-horizontally'] nnoremap zs zs let g:_spacevim_mappings_z['t'] = ['call feedkeys("zt", "n")', 'cursor-line-at-top-of-window'] nnoremap zt zt let g:_spacevim_mappings_z['v'] = ['call feedkeys("zv", "n")', 'open-enough-folds'] nnoremap zv zv let g:_spacevim_mappings_z['w'] = ['call feedkeys("zw", "n")', 'mark-wrong-spelled'] nnoremap zw zw let g:_spacevim_mappings_z['x'] = ['call feedkeys("zx", "n")', 're-apply-foldlevel-and-do-"zV"'] nnoremap zx zx " smart scroll let g:_spacevim_mappings_z['z'] = ['call feedkeys("zz", "n")', 'smart-scroll'] nnoremap zz zz endfunction "}}} ================================================ FILE: autoload/SpaceVim/mapping.vim ================================================ "============================================================================= " mapping.vim --- mapping functions in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:WIN = SpaceVim#api#import('vim#window') let s:VIM = SpaceVim#api#import('vim') let g:unite_source_menu_menus = \ get(g:,'unite_source_menu_menus',{}) let g:unite_source_menu_menus.CustomKeyMaps = {'description': \ 'Custom mapped keyboard shortcuts [unite]'} let g:unite_source_menu_menus.CustomKeyMaps.command_candidates = \ get(g:unite_source_menu_menus.CustomKeyMaps,'command_candidates', []) function! SpaceVim#mapping#_def(type,key,value,desc,...) abort exec a:type . ' ' . a:key . ' ' . a:value let description = '➤ ' \. a:desc \. repeat(' ', 80 - len(a:desc) - len(a:key)) \. a:key let cmd = len(a:000) > 0 ? a:000[0] : a:value call add(g:unite_source_menu_menus.CustomKeyMaps.command_candidates, [description,cmd]) endfunction " a:1 unite desc " a:2 unite cmd " a:3 guide desc " example call SpaceVim#mapping#def('nnoremap ', 'gf', ':call SpaceVim#mapping#gf()', 'Jump to a file under cursor', '') function! SpaceVim#mapping#def(type, key, value, ...) abort let feedkeys_mode = 'm' let map = split(a:type)[0] if map =~# 'nore' let feedkeys_mode = 'n' endif " TODO parse lhs and rhs, return list of key "let lhs = a:key "let rhs = a:value let gexe = a:value if a:value =~? '^' let gexe = '\' . a:value elseif a:value =~? ':.\+$' let gexe = substitute(gexe, '', "\", 'g') let gexe = substitute(gexe, '', "\", 'g') let gexe = substitute(gexe, '', "\", 'g') else endif if get(g:, 'spacevim_enable_key_frequency', 0) exec a:type . ' ' . a:key . " SpaceVim#mapping#frequency#update('" . a:key . "', '" . a:value . "')" else exec a:type . ' ' . a:key . ' ' . a:value endif if a:0 > 0 let desc = a:1 let description = '➤ ' \ . desc \ . repeat(' ', 80 - len(desc) - len(a:key)) \ . a:key let cmd = a:0 == 2 ? a:2 : a:value call add(g:unite_source_menu_menus.CustomKeyMaps.command_candidates, [description,cmd]) if a:0 == 3 " enable guide if a:key =~? '^' if len(a:key) > 9 let group = a:key[8:8] if !has_key(g:_spacevim_mappings, group) let g:_spacevim_mappings[group] = {'name': 'new group'} endif call extend(g:_spacevim_mappings[group], { \ a:key[9:] : ['call feedkeys("' . gexe . '", "' \ . feedkeys_mode . '")', a:3] \ }) elseif len(a:key) == 9 call extend(g:_spacevim_mappings, { \ a:key[8:] : ['call feedkeys("' . gexe . '", "' \ . feedkeys_mode . '")', a:3] \ }) endif endif endif endif endfunction if get(g:, 'spacevim_snippet_engine', 'neosnippet') ==# 'neosnippet' function! SpaceVim#mapping#shift_tab() abort if g:spacevim_autocomplete_method ==# 'coc' && coc#pum#visible() return coc#pum#prev(1) endif return pumvisible() ? "\" : "\delimitMateS-Tab" endfunction elseif get(g:, 'spacevim_snippet_engine', 'neosnippet') ==# 'ultisnips' function! SpaceVim#mapping#shift_tab() abort if pumvisible() return "\" elseif g:spacevim_autocomplete_method ==# 'coc' && coc#pum#visible() return coc#pum#prev(1) else return "\=UltiSnips#JumpForwards()\\=cmp#ultisnips#JumpForward()\" endif endfunction endif function! SpaceVim#mapping#tab() abort return SpaceVim#mapping#tab#i_tab() endfunction function! SpaceVim#mapping#enter() abort return SpaceVim#mapping#enter#i_enter() endfunction function! SpaceVim#mapping#g_capital_d() abort if !empty(SpaceVim#mapping#g_capital_d#get()) call call(SpaceVim#mapping#g_capital_d#get(), []) else normal! gD endif endfunction function! SpaceVim#mapping#gd() abort if !empty(SpaceVim#mapping#gd#get()) call call(SpaceVim#mapping#gd#get(), []) else normal! gd endif endfunction function! SpaceVim#mapping#clear_buffers() abort if confirm('Kill all other buffers?', "&Yes\n&No\n&Cancel") == 1 let blisted = filter(range(1, bufnr('$')), 'buflisted(v:val)') for i in blisted if i != bufnr('%') try exe 'bw ' . i catch endtry endif endfor endif endfunction function! SpaceVim#mapping#kill_buffer_expr() abort let regexp = input('kill buffer by regexp:', \ '') if !empty(regexp) let blisted = filter(range(1, bufnr('$')), 'bufname(v:val) =~ regexp') for i in blisted if i != bufnr('%') try exe 'bw ' . i catch endtry endif endfor noautocmd normal! : echo printf('killed buffers done(%s)', regexp) else noautocmd normal! : echo 'canceled!' endif endfunction function! SpaceVim#mapping#split_previous_buffer() abort if bufnr('#') == -1 call SpaceVim#util#echoWarn('There is no previous buffer') else split wincmd w e# endif endfunction function! SpaceVim#mapping#vertical_split_previous_buffer(...) abort if bufnr('#') == -1 call SpaceVim#util#echoWarn('There is no previous buffer') else vsplit wincmd w e# endif endfunction function! SpaceVim#mapping#close_current_buffer(...) abort if has('nvim-0.9.5') lua require('spacevim.plugin.tabline').close_current_buffer() return endif if index( \ ['startify', 'defx'], \ &filetype) !=# -1 return endif let buffers = get(g:, '_spacevim_list_buffers', []) let bn = bufnr('%') let f = '' if getbufvar(bn, '&modified', 0) redraw echohl WarningMsg if len(a:000) > 0 let rs = get(a:000, 0) else echon 'save changes to "' . bufname(bn) . '"? Yes/No/Cancel' let rs = s:VIM.getchar() endif echohl None if rs ==? 'y' write elseif rs ==? 'n' let f = '!' redraw echohl ModeMsg echon 'discarded!' echohl None else redraw echohl ModeMsg echon 'canceled!' echohl None return endif endif if &buftype ==# 'terminal' exe 'bd!' return endif let cmd_close_buf = 'bd' . f let index = index(buffers, bn) if index == 0 if len(buffers) > 1 exe 'b' . buffers[1] exe cmd_close_buf . bn else exe cmd_close_buf . bn if exists(':Startify') ==# 2 Startify endif endif elseif index > 0 if index + 1 == len(buffers) exe 'b' . buffers[index - 1] exe cmd_close_buf . bn else exe 'b' . buffers[index + 1] exe cmd_close_buf . bn endif else if len(buffers) > 1 exe 'bp' exe cmd_close_buf . bn elseif len(buffers) ==# 1 if exists(':Startify') ==# 2 Startify endif try exe cmd_close_buf . bn catch endtry else exe cmd_close_buf . bn if exists(':Startify') ==# 2 Startify endif endif endif endfunction function! SpaceVim#mapping#close_term_buffer(...) abort let buffers = get(g:, '_spacevim_list_buffers', []) let abuf = str2nr(g:_spacevim_termclose_abuf) let index = index(buffers, abuf) if get(w:, 'shell_layer_win', 0) == 1 if bufexists(abuf) exe 'bd!' . abuf endif " can not close the terminal windows " close again if get(w:, 'shell_layer_win', 0) == 1 close endif return endif if index != -1 if index == 0 if len(buffers) > 1 exe 'b' . buffers[1] exe 'bd!' . abuf else exe 'bd! ' . abuf endif elseif index > 0 if index + 1 == len(buffers) exe 'b' . buffers[index - 1] exe 'bd!' . abuf else exe 'b' . buffers[index + 1] exe 'bd!' . abuf endif endif endif endfunction function! SpaceVim#mapping#kill_visible_buffer_choosewin() abort ChooseWin let nr = bufnr('%') for i in range(1, winnr('$')) if winbufnr(i) == nr exe i . 'wincmd w' enew endif endfor exe 'bwipeout ' . nr endfunction function! SpaceVim#mapping#menu(desc, key, cmd) abort let description = '➤ ' \. a:desc \. repeat(' ', 80 - len(a:desc) - len(a:key)) \. a:key call add(g:unite_source_menu_menus.CustomKeyMaps.command_candidates, \ [description , \ a:cmd]) endfunction function! SpaceVim#mapping#clear_saved_buffers() abort call s:BUFFER.filter_do( \ { \ 'expr' : [ \ 'buflisted(v:val)', \ 'index(tabpagebuflist(), v:val) == -1', \ 'getbufvar(v:val, "&mod") == 0', \ ], \ 'do' : 'noautocmd bd %d' \ } \ ) " after update to neovim 0.9.1 the tabline does not redraw when clear " buffers. " https://github.com/neovim/neovim/issues/23989 if exists(':redrawtabline') == 2 redrawtabline endif endfunction function! SpaceVim#mapping#format() abort let save_cursor = getpos('.') normal! gg=G call setpos('.', save_cursor) endfunction function! SpaceVim#mapping#BufferEmpty() abort let l:current = bufnr('%') if ! getbufvar(l:current, '&modified') enew silent! execute 'bdelete '.l:current endif endfunction fu! SpaceVim#mapping#SmartClose() abort let ignorewin = get(g:,'spacevim_smartcloseignorewin',[]) let ignoreft = get(g:, 'spacevim_smartcloseignoreft',[]) let num = winnr('$') for i in range(1,num) if index(ignorewin , bufname(winbufnr(i))) != -1 || index(ignoreft, getbufvar(bufname(winbufnr(i)),'&filetype')) != -1 let num = num - 1 elseif getbufvar(winbufnr(i),'&buftype') ==# 'quickfix' let num = num - 1 elseif getwinvar(i, '&previewwindow') == 1 && winnr() !=# i let num = num - 1 elseif exists('*win_getid') && s:WIN.is_float(win_getid(i)) " in vim winnr('$') do not include popup. let num = num - 1 endif endfor if num == 1 else quit endif endf function! SpaceVim#mapping#gf() abort if &filetype isnot# 'vim' return 0 endif let isk = &l:iskeyword setlocal iskeyword+=:,<,>,# try let line = getline('.') let start = s:find_start(line, col('.')) if line[start :] =~? '\%(s:\|\|\)' let line = substitute(line, '<\%(SNR\|SID\)>', 's:', '') let path = expand('%') else for base_dir in [getcwd()] + split(finddir('autoload', expand('%:p:h') . ';')) + [&runtimepath] let path = s:autoload_path(base_dir, line[start : ]) if !empty(path) break endif endfor endif if !empty(path) let line = s:search_line(path, matchstr(line[start :], '\k\+')) let col = start exe 'e ' . path call cursor(line, col) endif finally let &l:iskeyword = isk endtry endfunction if has('patch-7.4.279') function! s:globpath(path, expr) abort "{{{ return globpath(a:path, a:expr, 1, 1) endfunction "}}} else function! s:globpath(path, expr) abort "{{{ return split(globpath(a:path, a:expr), '\n') endfunction "}}} endif function! s:autoload_path(base_dir, function_name) abort "{{{ let match = matchstr(a:function_name, '\k\+\ze#') let fname = expand('autoload/' . substitute(match, '#', '/', 'g') . '.vim') let paths = s:globpath(a:base_dir, fname) return len(paths) > 0 ? paths[0] : '' endfunction "}}} function! s:find_start(line, cursor_index) abort "{{{ for i in range(a:cursor_index, 0, -1) if a:line[i] !~# '\k' return i+1 endif endfor return 0 endfunction "}}} function! s:search_line(path, term) abort "{{{ let line = match(readfile(a:path), '\s*fu\%[nction]!\?\s*' . a:term . '\>') if line >= 0 return line+1 endif return 0 endfunction "}}} " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/options.vim ================================================ "============================================================================= " options.vim --- options function in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:CMP = SpaceVim#api#import('vim#compatible') function! SpaceVim#options#list() abort let list = [] if has('patch-7.4.2010') for var in getcompletion('g:spacevim_','var') call add(list, ' ' . var[11:] . ' = ' . string(get(g:, var[2:] , ''))) endfor else redraw for var in filter(map(split(s:CMP.execute('let g:'), "\n"), "matchstr(v:val, '\\S\\+')"), "v:val =~# '^spacevim_'") call add(list, ' ' . var[11:] . ' = ' . string(get(g:, var , ''))) endfor endif return list endfunction function! SpaceVim#options#set(argv, ...) abort if a:0 > 0 if exists('g:spacevim_' . a:argv) exe 'let g:spacevim_' . a:argv . '=' . a:1 endif else if exists('g:spacevim_' . a:argv) exe 'echo string(g:spacevim_' . a:argv . ')' endif endif endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/plugins/a.vim ================================================ "============================================================================= " a.vim --- plugin for manager alternate file " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim scriptencoding utf-8 "" " @section alternate, plugins-alternate " @parentsection plugins " To manage the alternate file of the project, you need to create a `.project_alt.json` file " in the root of your project. Then you can use the command `:A` to jump to the alternate file of " current file. You can also specific the type of alternate file, for example `:A doc`. " With a bang `:A!`, SpaceVim will parse the configuration file additionally. If no type is specified, " the default type `alternate` will be used. " " here is an example of `.project_alt.json`: " " > " { " "autoload/SpaceVim/layers/lang/*.vim": { " "doc": "docs/layers/lang/{}.md", " "test": "test/layer/lang/{}.vader" " } " } " < " " instead of using `.project_alt.json`, `b:alternate_file_config` " can be used in bootstrap function, for example: " " > " augroup myspacevim " autocmd! " autocmd BufNewFile,BufEnter *.c let b:alternate_file_config = { " \ "src/*.c" : { " \ "doc" : "docs/{}.md", " \ "alternate" : "include/{}.h", " \ } " \ } " autocmd BufNewFile,BufEnter *.h let b:alternate_file_config = { " \ "include/*.h" : { " \ "alternate" : "scr/{}.c", " \ } " \ } " augroup END " < if has('nvim-0.5.0') function! SpaceVim#plugins#a#alt(request_parse, ...) abort lua require("spacevim.plugin.a").alt( \ require("spacevim").eval("a:request_parse"), \ require("spacevim").eval("a:000") \ ) endfunction function! SpaceVim#plugins#a#set_config_name(path, name) abort lua require("spacevim.plugin.a").set_config_name( \ require("spacevim").eval("a:path"), \ require("spacevim").eval("a:name") \ ) endfunction function! SpaceVim#plugins#a#getConfigPath() abort return luaeval('require("spacevim.plugin.a").getConfigPath()') endfunction function! SpaceVim#plugins#a#complete(ArgLead, CmdLine, CursorPos) abort return luaeval('require("spacevim.plugin.a").complete(' \ .'require("spacevim").eval("a:ArgLead"),' \ .'require("spacevim").eval("a:CmdLine"),' \ .'require("spacevim").eval("a:CursorPos"))') endfunction function! SpaceVim#plugins#a#get_alt(file, conf_path, request_parse,...) abort let type = get(a:000, 0, 'alternate') return luaeval('require("spacevim.plugin.a").get_alt(' \ . 'require("spacevim").eval("a:file"),' \ . 'require("spacevim").eval("a:conf_path"),' \ . 'require("spacevim").eval("a:request_parse"),' \ . 'require("spacevim").eval("type"))') endfunction else " Load SpaceVim API let s:CMP = SpaceVim#api#import('vim#compatible') let s:JSON = SpaceVim#api#import('data#json') let s:FILE = SpaceVim#api#import('file') let s:LOGGER = SpaceVim#logger#derive('a.vim') let s:TOML = SpaceVim#api#import('data#toml') " local value " " s:alternate_conf define which file should be loaded as alternate " file configuration for current project, This is a directory let s:alternate_conf = { \ '_' : '.project_alt.json' \ } let s:cache_path = s:FILE.unify_path(g:spacevim_data_dir, ':p') . 'SpaceVim/a.json' " this is for saving the project configuration information. Use the path of " the project_alt.json file as the key. let s:project_config = {} " saving cache function! s:cache() abort try let rst = writefile([s:JSON.json_encode(s:project_config)], s:FILE.unify_path(s:cache_path, ':p')) if rst !=# 0 call s:LOGGER.info('failed to write cache') endif catch endtry endfunction function! s:load_cache() abort call s:LOGGER.info('Try to load alt cache from: ' . s:cache_path) let cache_context = join(readfile(s:cache_path, ''), '') if !empty(cache_context) let s:project_config = s:JSON.json_decode(cache_context) endif endfunction " when this function is called, the project_config file name is changed, and " the project_config info is cleared. function! s:get_project_config(conf_file) abort call s:LOGGER.info('read context from: '. a:conf_file) if a:conf_file =~# 'toml$' let conf = s:TOML.parse_file(a:conf_file) else let context = join(readfile(a:conf_file), "\n") let conf = s:JSON.json_decode(context) endif if type(conf) !=# type({}) " in Old vim we get E706 " Variable type mismatch for conf, so we need to unlet conf first " ref: patch-7.4.1546 " https://github.com/vim/vim/commit/f6f32c38bf3319144a84a01a154c8c91939e7acf unlet conf let conf = {} endif let root = s:FILE.unify_path(a:conf_file, ':p:h') return { \ 'root' : root, \ 'config' : conf \ } endfunction function! SpaceVim#plugins#a#alt(request_parse,...) abort let type = get(a:000, 0, 'alternate') if !exists('b:alternate_file_config') let conf_file_path = SpaceVim#plugins#a#getConfigPath() let file = s:FILE.unify_path(bufname('%'), ':.') let alt = SpaceVim#plugins#a#get_alt(file, conf_file_path, a:request_parse, type) if !empty(alt) exe 'e ' . alt else echo 'failed to find alternate file!' endif endif endfunction function! SpaceVim#plugins#a#set_config_name(path, name) abort let s:alternate_conf[a:path] = a:name endfunction function! SpaceVim#plugins#a#getConfigPath() abort return s:FILE.unify_path(get(s:alternate_conf, getcwd(), s:alternate_conf['_']), ':p') endfunction " @vimlint(EVL103, 1, a:ArgLead) " @vimlint(EVL103, 1, a:CmdLine) " @vimlint(EVL103, 1, a:CursorPos) function! SpaceVim#plugins#a#complete(ArgLead, CmdLine, CursorPos) abort let file = s:FILE.unify_path(bufname('%'), ':.') let conf_file_path = SpaceVim#plugins#a#getConfigPath() let alt_config_json = s:get_project_config(conf_file_path) call SpaceVim#plugins#a#get_alt(file, conf_file_path, 0) try let a = s:project_config[alt_config_json.root][file] catch let a = {} endtry return join(keys(a), "\n") endfunction function! SpaceVim#plugins#a#get_alt(file, conf_path, request_parse,...) abort call s:LOGGER.info('getting alt file for:' . a:file) call s:LOGGER.info(' > type: ' . get(a:000, 0, 'alternate')) call s:LOGGER.info(' > parse: ' . a:request_parse) call s:LOGGER.info(' > config: ' . a:conf_path) " when should the cache be loaded? " if the local value s:project_config do not has the key a:conf_path " and the file a:conf_path has not been updated since last cache " and no request_parse specified let alt_config_json = s:get_project_config(a:conf_path) if !has_key(s:project_config, alt_config_json.root) \ && !s:is_config_changed(a:conf_path) \ && !a:request_parse " config file has been cached since last update. " so no need to parse the config for current config file " just load the cache call s:load_cache() if !has_key(s:project_config, alt_config_json.root) \ || !has_key(s:project_config[alt_config_json.root], a:file) call s:parse(alt_config_json) endif else call s:parse(alt_config_json) endif " try " This will throw error in vim7.4.629 and 7.4.052 " @quection why can not catch the errors? " return s:project_config[alt_config_json.root][a:file][get(a:000, 0, 'alternate')] " catch " return '' " endtry if has_key(s:project_config, alt_config_json.root) \ && has_key(s:project_config[alt_config_json.root], a:file) \ && has_key(s:project_config[alt_config_json.root][a:file], get(a:000, 0, 'alternate')) return s:project_config[alt_config_json.root][a:file][get(a:000, 0, 'alternate')] else return '' endif endfunction " the parse function should only accept one argv " the alt_config_json " " @todo Rewrite alternate file parse " parse function is written in vim script, and it is too slow, " we are going to rewrite this function in other language. " asynchronous parse should be supported. function! s:parse(alt_config_json) abort call s:LOGGER.info('Start to parse alternate files for: ' . a:alt_config_json.root) let s:project_config[a:alt_config_json.root] = {} " if we have two keys docs/*.md and docs/cn/*.md " with the first key, we can also find files in " docs/cn/ directory, for example docs/cn/index.md " and the alt file will be " docs/cn/cn/index.md. this should be overrided by " docs/cn/*.md " " so we need to use sort, and make sure `docs/cn/*.md` is parsed after " docs/*.md for key in sort(keys(a:alt_config_json.config)) call s:LOGGER.debug('start parse key:' . key) let searchpath = key if match(searchpath, '/\*') let searchpath = substitute(searchpath, '*', '**/*', 'g') endif call s:LOGGER.debug('run globpath for: '. searchpath) for file in s:CMP.globpath('.', searchpath) let file = s:FILE.unify_path(file, ':.') let s:project_config[a:alt_config_json.root][file] = {} if has_key(a:alt_config_json.config, file) for type in keys(a:alt_config_json.config[file]) let s:project_config[a:alt_config_json.root][file][type] = a:alt_config_json.config[file][type] endfor else for type in keys(a:alt_config_json.config[key]) let left_index = stridx(key, '*') if left_index != -1 && left_index == strridx(key, '*') let s:project_config[a:alt_config_json.root][file][type] = \ s:get_type_path( \ key, \ file, \ a:alt_config_json.config[key][type] \ ) endif endfor endif endfor endfor call s:LOGGER.info('Paser done, try to cache alternate info') call s:cache() endfunction function! s:get_type_path(a, f, b) abort let begin_len = stridx(a:a, '*') let end_len = strlen(a:a) - begin_len - 1 return substitute(a:b, '{}', a:f[begin_len : (end_len+1) * -1], 'g') endfunction function! s:is_config_changed(conf_path) abort if getftime(a:conf_path) > getftime(s:cache_path) call s:LOGGER.info('alt config file (' \ . a:conf_path \ . ') has been changed, parse required!') return 1 endif endfunction " @vimlint(EVL103, 1, a:file) function! s:get_alternate(file) abort endfunction " @vimlint(EVL103, 0, a:file) " @vimlint(EVL103, 0, a:ArgLead) " @vimlint(EVL103, 0, a:CmdLine) " @vimlint(EVL103, 0, a:CursorPos) endif let &cpo = s:save_cpo unlet s:save_cpo " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/plugins/autosave.vim ================================================ "============================================================================= " autosave.vim --- autosave plugin for spacevim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " this plugin is inspired from: " https://github.com/907th/vim-auto-save " https://github.com/Pocco81/AutoSave.nvim " These plugins are simply run `:w` or `:wa` based on save_all_buffers option " " " https://github.com/chrisbra/vim-autosave " This plugin uses timers to automatically save your work as temporary files. if exists('s:autosave_timer') finish endif "" " @section autosave, plugins-autosave " @parentsection plugins " The `autosave` plugin will save your work automatically, and this plugin has " been used in `edit` layer, checkout @section(layers-edit) for more info. let s:default_opt = { \ 'timeoutlen' : 60*5*1000, \ 'backupdir' : '~/.cache/SpaceVim/backup/', \ 'save_all_buffers' : 0, \ 'event' : ['InsertLeave', 'TextChanged'], \ 'filetype' : [], \ 'filetypeExclude' : [], \ 'buftypeExclude' : [], \ 'bufNameExclude' : [], \ } let s:LOGGER =SpaceVim#logger#derive('autosave') let s:FILE = SpaceVim#api#import('file') let s:autosave_timer = -1 function! SpaceVim#plugins#autosave#config(opt) abort for option in keys(s:default_opt) if has_key(a:opt, option) call s:LOGGER.debug('set option `' . option . '` to : ' . string(get(a:opt, option, s:default_opt[option]))) let s:default_opt[option] = get(a:opt, option, s:default_opt[option]) if option ==# 'timeoutlen' call s:setup_timer(s:default_opt[option]) elseif option ==# 'event' call s:setup_events() endif endif endfor endfunction function! s:location_path(bufname) abort if empty(s:default_opt.backupdir) return a:bufname else return s:default_opt.backupdir . '/' \ . s:FILE.path_to_fname(a:bufname, '+=') \ . '.backup' endif endfunction function! s:save_buffer(bufnr) abort if getbufvar(a:bufnr, '&modified') && \ empty(getbufvar(a:bufnr, '&buftype')) && \ filewritable(bufname(a:bufnr)) && \ !empty(bufname(a:bufnr)) let lines = getbufline(a:bufnr, 1, "$") call writefile(lines, s:location_path(bufname(a:bufnr))) if empty(s:default_opt.backupdir) call setbufvar(a:bufnr, "&modified", 0) exe 'silent checktime ' . a:bufnr endif endif endfunction function! s:auto_dosave(...) abort if s:default_opt.save_all_buffers for nr in range(1, bufnr('$')) call s:save_buffer(nr) endfor else call s:save_buffer(bufnr('%')) endif endfunction function! s:setup_timer(timeoutlen) abort if !has('timers') call s:LOGGER.warn('failed to setup timer, needs `+timers` feature!') return endif if a:timeoutlen ==# 0 call timer_stop(s:autosave_timer) call s:LOGGER.debug('disabled autosave timer!') return endif if a:timeoutlen < 1000 || a:timeoutlen > 60 * 100 * 1000 let msg = "timeoutlen must be given in millisecods and can't be > 100*60*1000 (100 minutes) or < 1000 (1 second)" call s:LOGGER.warn(msg) return endif call timer_stop(s:autosave_timer) let s:autosave_timer = timer_start(a:timeoutlen, function('s:auto_dosave'), {'repeat': -1}) if !empty(s:autosave_timer) call s:LOGGER.debug('setup new autosave timer, timeoutlen:' . a:timeoutlen) endif endfunction function! s:setup_events() abort augroup spacevim_autosave autocmd! for event in s:default_opt.event exe printf('autocmd %s * call s:auto_dosave()', event) call s:LOGGER.debug('setup new autosave autocmd, event:' . event) endfor augroup END endfunction call s:setup_timer(s:default_opt.timeoutlen) call s:setup_events() ================================================ FILE: autoload/SpaceVim/plugins/bashcomplete.vim ================================================ "============================================================================= " bashcomplete.vim --- bash complete for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:BASH_COMPLETE = SpaceVim#api#import('bash#complete') if !exists('g:bashcomplete_debug') let g:bashcomplete_debug = 0 endif " complete input function! SpaceVim#plugins#bashcomplete#complete(ArgLead, CmdLine, CursorPos) abort return s:BASH_COMPLETE.complete_input(a:ArgLead, a:CmdLine, a:CursorPos) endfunction " bash omni " let s:pos = 0 let s:str = '' let s:base = '' function! SpaceVim#plugins#bashcomplete#omnicomplete(findstart, base) abort if a:findstart let str = getline('.')[:col('.') - 2] let s:str = substitute(str, '[^ ]*$', '' , 'g') let s:pos = len(s:str) if g:bashcomplete_debug echom 'pos is ' . s:pos endif let s:base = str[s:pos :] return s:pos else if g:bashcomplete_debug echom 's:base is : "' . s:base . '" ' . 'cmdline is "' . s:str . s:base . '"' endif return s:BASH_COMPLETE.complete(a:base, s:str . s:base, col('.')) endif endfunction ================================================ FILE: autoload/SpaceVim/plugins/ctrlg.vim ================================================ "============================================================================= " ctrlg.vim --- display info via Ctrl-g " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if exists('s:loaded') finish endif let s:loaded = 1 let s:save_cpo = &cpo set cpo&vim let s:win = has("win32") || has("win64") || has("win16") let s:lang = exists("$LANG") ? tolower($LANG[:1]) : 'en' function! SpaceVim#plugins#ctrlg#display() abort let pwd = getcwd() if isdirectory('.git') let project_name = printf('[%s]', fnamemodify(pwd, ':t')) else let project_name = '' endif let file = fnamemodify(expand('%'), ':.') if !empty(project_name) echohl Constant | echo project_name echohl WarningMsg | echon " >> " endif echohl Special | echon pwd echohl WarningMsg | echon " >> " echohl Directory | echon file echohl NONE endfun let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: autoload/SpaceVim/plugins/find.vim ================================================ "============================================================================= " find.vim --- vim plugin for find " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong " URL: https://spacevim.org " License: GPLv3 "============================================================================= " Loading SpaceVim api {{{ scriptencoding utf-8 let s:MPT = SpaceVim#api#import('prompt') let s:JOB = SpaceVim#api#import('job') let s:FILE = SpaceVim#api#import('file') " let s:SYS = SpaceVim#api#import('system') " let s:BUFFER = SpaceVim#api#import('vim#buffer') " let s:LIST = SpaceVim#api#import('data#list') "}}} let s:file_searching_commands = { \ 'find' : 'find -not -iwholename "*.git*" ', \ 'fd' : 'fd', \ } if !empty(g:spacevim_file_searching_tools) call extend(s:file_searching_commands, {g:spacevim_file_searching_tools[0] : g:spacevim_file_searching_tools[1]}) let s:current_tool = g:spacevim_file_searching_tools[0] else let s:current_tool = 'find' endif let s:MPT._prompt.mpt = ' ' . s:file_searching_commands[s:current_tool] . ' ' let s:options = {} let s:second_option = {} let s:options.find = { \ '-amin' : 'File was last accessed n minutes ago.', \ '-anewer' : 'File was last accessed more recently than file was modified.', \ '-atime' : 'File was last accessed n*24 hours ago.', \ '-cmin' : "File's status was last changed n minutes ago.", \ '-cnewer' : "File's status was last changed more recently than file was modified.", \ '-ctime' : "File's status was last changed n*24 hours ago.", \ '-daystart' : 'Measure times from the beginning of today rather than from 24 hours ago.', \ '-depth' : "Process each directory's contents before the directory itself.", \ '-exec' : 'Execute command', \ '-false' : 'Make find command return false', \ '-fls' : 'True; like -ls but write to file like -fprint.', \ '-follow' : 'A diagnostic message is issued when find encounters a loop of symbolic links.', \ '-fprint' : 'True; print the full file name into file file.', \ '-fprintf' : 'True; like -printf but write to file like -fprint.', \ '-fstype' : 'Only list files or directorys with specific filesysten type', \ '-gid' : 'Only list files with specific group ID.', \ '-group' : 'Only list files with specific group name.', \ '-help' : 'show help info', \ '-ilname' : '此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别', \ '-iname' : '指定字符串作为寻找符号连接的范本样式', \ '-inum' : '查找符合指定的inode编号的文件或目录', \ '-ipath' : '此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别', \ '-iregex' : '此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别', \ '-links' : '查找符合指定的硬连接数目的文件或目录', \ '-ls' : 'If find command return True, then send all files names to stdout', \ '-maxdepth' : 'specific the max path depath', \ '-mindepth' : 'specific the min path depath', \ '-mmin' : '查找在指定时间曾被更改过的文件或目录,单位以分钟计算', \ '-mount' : '此参数的效果和指定“-xdev”相同', \ '-mtime' : '查找在指定时间曾被更改过的文件或目录,单位以24小时计算', \ '-name' : '指定字符串作为寻找文件或目录的范本样式', \ '-newer' : '查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录', \ '-nogroup' : '找出不属于本地主机群组识别码的文件或目录', \ '-noleaf' : '不去考虑目录至少需拥有两个硬连接存在', \ '-nouser' : '找出不属于本地主机用户识别码的文件或目录', \ '-ok' : '此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令', \ '-path' : '指定字符串作为寻找目录的范本样式', \ '-perm' : '查找符合指定的权限数值的文件或目录', \ '-print' : '假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串', \ '-print0' : '假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行', \ '-printf' : '假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式可以自行指定', \ '-prune' : '不寻找字符串作为寻找文件或目录的范本样式', \ '-regex' : '指定字符串作为寻找文件或目录的范本样式', \ '-size' : '查找符合指定的文件大小的文件', \ '-true' : '将find指令的回传值皆设为True', \ '-type' : '只寻找符合指定的文件类型的文件', \ '-uid' : '查找符合指定的用户识别码的文件或目录', \ '-used' : '查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算', \ '-user' : '查找符和指定的拥有者名称的文件或目录', \ '-version' : 'Show version', \ '-xdev' : '将范围局限在先行的文件系统中', \ '-xtype' : '此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查' \ } let s:options.fd = { \ '-H' : 'Search hidden files and directories', \ '-I' : 'Do not respect .(git|fd)ignore files', \ '-s' : 'Case-sensitive search', \ '-i' : 'Case-insensitive search', \ '-t' : 'Filter by type: file (f), directory (d), symlink (l), executable (x), empty (e)', \ '-g' : 'Glob-based search', \ '-d' : 'Set maximum search depth (default: none)', \ '-L' : 'Follow symbolic links', \ '-0' : 'Separate results by the null character', \ '-F' : 'Treat the pattern as a literal string', \ '-e' : 'Filter by file extension', \ } let s:second_option.find = { \ '-type' : \ { \ 'f' : 'regular file', \ 'l' : 'symbolic link', \ 'd' : 'directory', \ 'c' : 'character (unbuffered) special', \ 'b' : 'block (buffered) special', \ 's' : 'socket', \ 'p' : 'named pipe (FIFO)', \ }, \ } let s:second_option.fd = { \ '-t' : \ { \ 'f' : 'regular file', \ 'l' : 'symbolic link', \ 'd' : 'directory', \ 'x' : 'executable', \ 'e' : 'empty', \ }, \ } function! s:start_find() abort let cmd = s:file_searching_commands[s:current_tool] . ' ' . s:MPT._prompt.begin . s:MPT._prompt.cursor . s:MPT._prompt.end let s:MPT._quit = 1 call s:MPT._clear_prompt() call s:close_buffer() let s:finded_files = [] call s:JOB.start(cmd, \ { \ 'on_stdout' : function('s:find_on_stdout'), \ 'on_exit' : function('s:find_on_exit'), \ } \ ) endfunction function! s:find_on_stdout(id, data, event) abort let s:finded_files += a:data endfunction function! s:find_on_exit(id, data, event) abort " let files = map(filter(deepcopy(s:finded_files), '!empty(v:val)'), "{'filename' : v:val, 'module' : s:FILE.unify_path(v:val, ':.')}") let files = map(filter(deepcopy(s:finded_files), '!empty(v:val)'), "{'filename' : v:val}") if !empty(files) call setqflist([], 'r', {'title' : ' SPC f /', \ 'items' : files, \ }) copen else echo 'Can not find anything' endif endfunction function! s:close_buffer() abort exe 'noautocmd bwipeout' s:find_argvs_buffer_id noautocmd normal! : endfunction let s:MPT._onclose = function('s:close_buffer') function! s:next_item() abort if line('.') == line('$') normal! gg else normal! j endif let argv = matchstr(getline('.'), '[-a-zA-Z0-9]*') let s:MPT._prompt.begin = substitute(s:MPT._prompt.begin, '[-a-zA-Z0-9]*$', argv, 'g') redraw call s:MPT._build_prompt() endfunction function! s:previous_item() abort if line('.') == 1 normal! G else normal! k endif let argv = matchstr(getline('.'), '[-a-zA-Z0-9]*') let s:MPT._prompt.begin = substitute(s:MPT._prompt.begin, '[-a-zA-Z0-9]*$', argv, 'g') redraw call s:MPT._build_prompt() endfunction function! SpaceVim#plugins#find#open() abort let s:MPT._handle_fly = function('s:handle_command_line') let s:MPT._function_key = { \ "\" : function('s:start_find'), \ "\" : function('s:next_item'), \ "\" : function('s:next_item'), \ "\" : function('s:previous_item'), \ "\" : function('s:previous_item'), \ "\" : function('s:switch_tool'), \ } noautocmd rightbelow split __spacevim_find_argv__ let s:find_argvs_buffer_id = bufnr('%') setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonu norelativenumber setf SpaceVimFindArgv call s:MPT.open() endfunction function! s:switch_tool() abort normal! "_dG if s:current_tool ==# 'find' let s:current_tool = 'fd' else let s:current_tool = 'find' endif let s:MPT._prompt.begin = '' let s:MPT._prompt.cursor = '' let s:MPT._prompt.end = '' let s:MPT._prompt.mpt = ' ' . s:file_searching_commands[s:current_tool] . ' ' redraw call s:MPT._build_prompt() endfunction function! s:enter() abort endfunction function! s:handle_command_line(cmd) abort noautocmd silent normal! "_dG if empty(s:MPT._prompt.begin) redraw call s:MPT._build_prompt() return endif let argv = split(s:MPT._prompt.begin)[-1] if s:MPT._prompt.begin[-1:] ==# ' ' \ && has_key(s:second_option, s:current_tool) \ && has_key(s:second_option[s:current_tool], argv) let line = [] for item in items(s:second_option[s:current_tool][argv]) call add(line, ' ' . item[0] . repeat(' ', 8 - len(item[0])) . item[1]) endfor call setline(1, line) elseif argv =~# '^-[a-zA-Z0-1]*' \ && has_key(s:options, s:current_tool) let argvs = filter(deepcopy(s:options[s:current_tool]), 'v:key =~ argv') let line = [] for item in items(argvs) call add(line, item[0] . repeat(' ', 15 - len(item[0])) . item[1]) endfor call setline(1, line) endif redraw call s:MPT._build_prompt() endfunction ================================================ FILE: autoload/SpaceVim/plugins/flygrep.vim ================================================ "============================================================================= " flygrep.vim --- Grep on the fly in SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section flygrep, plugins-flygrep " @parentsection plugins " `flygrep` means `grep on the fly`, it will update the result as you type. " Of course, it is running asynchronously. Before using this feature, " you need to install a searching tool. flygrep supports those tools: " `ag`, `rg`, `ack`, `pt` and `grep`, Choose one you like. " " checkout @section(usage-search-and-replace) for more info to use flygrep in " SpaceVim. " " @subsection Key bindings In flygrep window " " After opening flygrep window, those key bindings can be used: " > " Key Bindings | Descriptions " ------------------- | ---------------------------------- " Tab / Ctrl-j | move cursor to next item " Shift-Tab / Ctrl-K | move cursor to previous item " ScrollWheelDown | move cursor to next item " ScrollWheelUp | move cursor to previous item " Enter | open file at the cursor line " Ctrl-t | open item in new tab " LeftMouse | move cursor to mouse position " 2-LeftMouse | open file at the mouse position " Ctrl-f | start filter mode " Ctrl-v | open item in vertical split window " Ctrl-s | open item in split window " Ctrl-q | apply all items into quickfix " Ctrl-e | toggle fix-string mode " Ctrl-h | toggle display hidden files " Ctrl-r | read from register, need insert register name " Left / Right | move cursor to left or right " BackSpace | remove last character " Ctrl-w | remove the Word before the cursor " Ctrl-u | remove the Line before the cursor " Ctrl-k | remove the Line after the cursor " Ctrl-a / Home | Go to the beginning of the line " End | Go to the end of the line " < " Loading SpaceVim api {{{ scriptencoding utf-8 if has('nvim-0.7.0') function! SpaceVim#plugins#flygrep#open(argv) abort lua require("spacevim.plugin.flygrep").open( \ require("spacevim").eval("a:argv") \ ) endfunction function! SpaceVim#plugins#flygrep#lineNr() abort lua require("spacevim.plugin.flygrep").lineNr() endfunction function! SpaceVim#plugins#flygrep#mode() abort lua require("spacevim.plugin.flygrep").mode() endfunction finish endif let s:MPT = SpaceVim#api#import('prompt') let s:JOB = SpaceVim#api#import('job') let s:SYS = SpaceVim#api#import('system') let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:LIST = SpaceVim#api#import('data#list') let s:REGEX = SpaceVim#api#import('vim#regex') let s:VIM = SpaceVim#api#import('vim') let s:LOGGER =SpaceVim#logger#derive('FlyGrep') let s:HI = SpaceVim#api#import('vim#highlight') if has('nvim') let s:FLOATING = SpaceVim#api#import('neovim#floating') else let s:FLOATING = SpaceVim#api#import('vim#floating') endif let s:JSON = SpaceVim#api#import('data#json') let s:SL = SpaceVim#api#import('vim#statusline') let s:Window = SpaceVim#api#import('vim#window') let s:grepid = 0 let s:filename_pattern = '[^:]*:\d\+:\d\+:' " if win_getid does not existing, use winnr instead let s:previous_winid = 0 function! s:close_flygrep_win() abort noautocmd q " this function requires vim 7.4.1557 if has('patch-7.4.1557') call win_gotoid(s:previous_winid) else exe s:previous_winid . 'wincmd w' endif endfunction " Init local options: {{{ let s:grep_expr = '' let [ \ s:grep_default_exe, \ s:grep_default_opt, \ s:grep_default_ropt, \ s:grep_default_expr_opt, \ s:grep_default_fix_string_opt, \ s:grep_default_ignore_case, \ s:grep_default_smart_case \ ] = SpaceVim#mapping#search#default_tool() let s:grep_timer_id = -1 let s:preview_timer_id = -1 let s:grepid = 0 function! s:read_histroy() abort if filereadable(expand(g:spacevim_data_dir.'SpaceVim/flygrep_history')) let _his = s:JSON.json_decode(join(readfile(expand(g:spacevim_data_dir.'SpaceVim/flygrep_history'), ''), '')) if type(_his) ==# type([]) return _his else return [] endif else return [] endif endfunction function! s:update_history() abort if index(s:grep_history, s:grep_expr) >= 0 call remove(s:grep_history, index(s:grep_history, s:grep_expr)) endif call add(s:grep_history, s:grep_expr) if !isdirectory(expand(g:spacevim_data_dir.'SpaceVim')) silent call mkdir(expand(g:spacevim_data_dir.'SpaceVim')) endif if filewritable(expand(g:spacevim_data_dir.'SpaceVim/flygrep_history')) call writefile([s:JSON.json_encode(s:grep_history)], expand(g:spacevim_data_dir.'SpaceVim/flygrep_history')) endif endfunction let s:grep_history = s:read_histroy() let s:complete_input_history_num = [0,0] " }}} " grep local funcs:{{{ " @vimlint(EVL103, 1, a:timer) let s:current_grep_pattern = '' function! s:grep_timer(...) abort if s:grep_mode ==# 'expr' let s:current_grep_pattern = join(split(s:grep_expr), '.*') else let s:current_grep_pattern = s:grep_expr endif let cmd = s:get_search_cmd(s:current_grep_pattern) call s:LOGGER.info('grep cmd: ' . string(cmd)) let s:grepid = s:JOB.start(cmd, { \ 'on_stdout' : function('s:grep_stdout'), \ 'on_stderr' : function('s:grep_stderr'), \ 'in_io' : 'null', \ 'on_exit' : function('s:grep_exit'), \ }) " sometimes the flygrep command failed to run, so we need to log the jobid " of the grep command. call s:LOGGER.info('flygrep job id is: ' . string(s:grepid)) endfunction function! s:get_search_cmd(expr) abort let cmd = [s:grep_exe] + s:grep_opt if &ignorecase let cmd += s:grep_ignore_case endif if &smartcase let cmd += s:grep_smart_case endif if s:grep_mode ==# 'string' let cmd += s:grep_default_fix_string_opt endif let cmd += s:grep_expr_opt if !empty(s:grep_files) && type(s:grep_files) == 3 " grep files is a list, which mean to use flygrep searching in " multiple files let cmd += [a:expr] + s:grep_files elseif !empty(s:grep_files) && type(s:grep_files) == 1 " grep file is a single file let cmd += [a:expr] + [s:grep_files] elseif !empty(s:grep_dir) " grep dir is not a empty string if s:grep_exe ==# 'findstr' let cmd += [s:grep_dir] + [a:expr] + ['%CD%\*'] else let cmd += [a:expr] + [s:grep_dir] endif else " if grep dir is empty, grep files is empty, which means searhing in " current directory. let cmd += [a:expr] " when using rg, ag, need to add '.' at the end. if s:grep_exe ==# 'rg' || s:grep_exe ==# 'ag' || s:grep_exe ==# 'pt' let cmd += ['.'] endif let cmd += s:grep_ropt endif " let cmd = map(cmd, 'shellescape(v:val)') " if has('win32') " let cmd += ['|', 'select', '-first', '3000'] " else " let cmd += ['|', 'head', '-3000'] " endif " let cmd = join(cmd, ' ') return cmd endfunction " s:grep_mode expr or string " argv:expr is the input content from user " return a pattern for s:matchadd function! s:expr_to_pattern(expr) abort if s:grep_mode ==# 'expr' let items = split(a:expr) let pattern = join(items, '.*') let ignorecase = &ignorecase ? '\c' : '\C' let pattern = s:filename_pattern . '.*\zs' . ignorecase . s:REGEX.parser(pattern, 0) call s:LOGGER.info('matchadd pattern: ' . pattern) return pattern else return a:expr endif endfunction function! s:matchadd(group, partten, propty) abort try return matchadd(a:group, a:partten, a:propty) catch /^Vim\%((\a\+)\)\=:E54/ let partten = substitute(a:partten, '\\(', '(', 'g') try return matchadd(a:group, partten, a:propty) catch return -1 endtry catch /^Vim\%((\a\+)\)\=:E55/ let partten = substitute(a:partten, '\\)', ')', 'g') try return matchadd(a:group, partten, a:propty) catch return -1 endtry catch return -1 endtry endfunction function! s:flygrep(expr) abort call s:MPT._build_prompt() if a:expr ==# '' redrawstatus return endif try call matchdelete(s:hi_id) catch endtry hi def link FlyGrepPattern MoreMsg let s:hi_id = s:matchadd('FlyGrepPattern', s:expr_to_pattern(a:expr), 2) let s:grep_expr = a:expr if has('timers') call timer_stop(s:grep_timer_id) let s:grep_timer_id = timer_start(200, function('s:grep_timer'), {'repeat' : 1}) else call s:grep_timer() endif endfunction " }}} " filter local funcs: {{{ " @vimlint(EVL103, 0, a:timer) let s:filter_file = '' function! s:start_filter() abort let s:mode = 'f' redrawstatus let s:MPT._handle_fly = function('s:filter') let s:MPT._prompt = { \ 'mpt' : s:MPT._prompt.mpt, \ 'begin' : '', \ 'cursor' : '', \ 'end' : '', \ } let s:filter_file = tempname() try call writefile(getbufline('%', 1, '$'), s:filter_file, 'b') catch call s:LOGGER.info('Failed to write filter content to temp file') endtry call s:MPT._build_prompt() endfunction function! s:filter(expr) abort call s:MPT._build_prompt() if a:expr ==# '' redrawstatus return endif try call matchdelete(s:hi_id) catch endtry hi def link FlyGrepPattern MoreMsg let s:hi_id = s:matchadd('FlyGrepPattern', s:expr_to_pattern(a:expr), 2) let s:grep_expr = a:expr if has('timers') let s:grep_timer_id = timer_start(200, function('s:filter_timer'), {'repeat' : 1}) else call s:filter_timer() endif endfunction " @vimlint(EVL103, 1, a:timer) function! s:filter_timer(...) abort let cmd = s:get_filter_cmd(join(split(s:grep_expr), '.*')) let s:grepid = s:JOB.start(cmd, { \ 'on_stdout' : function('s:grep_stdout'), \ 'in_io' : 'null', \ 'on_exit' : function('s:grep_exit'), \ }) endfunction " @vimlint(EVL103, 0, a:timer) function! s:get_filter_cmd(expr) abort let cmd = [s:grep_exe] + SpaceVim#mapping#search#getFopt(s:grep_exe) return cmd + [a:expr] + [s:filter_file] endfunction " }}} " replace local funcs {{{ function! s:start_replace() abort let s:mode = 'r' try call matchdelete(s:hi_id) catch endtry if s:grepid != 0 call s:JOB.stop(s:grepid) endif let replace_text = s:current_grep_pattern if !empty(replace_text) let rst = SpaceVim#plugins#iedit#start({'expr' : replace_text}, 1, line('$')) endif let s:hi_id = s:matchadd('FlyGrepPattern', s:expr_to_pattern(rst), 2) redrawstatus if rst !=# replace_text call s:update_files(s:flygrep_result_to_files()) checktime endif endfunction " }}} function! s:flygrep_result_to_files() abort let files = [] for line in getbufline(s:flygrep_buffer_id, 1, '$') let filename = fnameescape(split(line, ':\d\+:')[0]) let linenr = matchstr(line, ':\d\+:')[1:-2] " if the search command is grep, the searching result is " helloworld.vim:12: echo 'hello' " echo matchstr("helloworld.vim:12: echo 'hello'", '\(:\d\+\)\+:\zs.*') " ` echo 'hello'` " echo matchstr("helloworld.vim:1:12: echo 'hello'", '\(:\d\+\)\+:\zs.*') " ` echo 'hello'` let str = matchstr(line, '\(:\d\+\)\+:\zs.*') call add(files, [filename, linenr, str]) endfor return files endfunction function! s:update_files(files) abort let fname = '' let lines = {} for file in a:files if file[0] == fname call extend(lines, {file[1] : file[2]}) else if !empty(fname) call s:update_file(fname, lines) endif let fname = file[0] let lines = {} call extend(lines, {file[1] : file[2]}) endif endfor if !empty(fname) call s:update_file(fname, lines) endif endfunction function! s:update_file(fname, lines) abort let contents = readfile(a:fname, '') for linenr in keys(a:lines) let contents[linenr - 1] = a:lines[ linenr ] endfor call writefile(contents, a:fname, '') endfunction " API: MPT._prompt {{{ let s:MPT._prompt.mpt = g:spacevim_commandline_prompt . ' ' " }}} " API: MPT._onclose {{{ function! s:close_buffer() abort " NOTE: the jobid maybe -1, that is means the cmd is not executable. if s:grepid > 0 call s:JOB.stop(s:grepid) endif if has('timers') call timer_stop(s:grep_timer_id) call timer_stop(s:preview_timer_id) endif if s:preview_able == 1 for id in s:previewd_bufnrs try exe 'silent bd ' . id catch endtry endfor noautocmd call s:close_preview_win() let s:preview_able = 0 endif call s:close_flygrep_win() endfunction let s:MPT._onclose = function('s:close_buffer') " }}} " API: MPT._oninputpro {{{ function! s:close_grep_job() abort " NOTE: the jobid maybe -1, that is means the cmd is not executable. if s:grepid > 0 try call s:JOB.stop(s:grepid) catch endtry let s:std_line = 0 endif if has('timers') call timer_stop(s:grep_timer_id) call timer_stop(s:preview_timer_id) endif noautocmd normal! gg"_dG call s:update_statusline() let s:complete_input_history_num = [0,0] endfunction let s:MPT._oninputpro = function('s:close_grep_job') " }}} function! s:file_line(line) abort return matchstr(a:line, '[^:]*:\d\+:') endfunction " FlyGrep job handles: {{{ " @vimlint(EVL103, 1, a:data) " @vimlint(EVL103, 1, a:id) " @vimlint(EVL103, 1, a:event) " if exists('*nvim_open_win') " let s:std_line = 0 " function! s:grep_stdout(id, data, event) abort " let datas =filter(a:data, '!empty(v:val)') " call nvim_buf_set_lines(s:buffer_id,s:std_line,-1,v:true,datas) " let s:std_line += len(datas) " call s:MPT._build_prompt() " endfunction " else function! s:grep_stdout(id, data, event) abort let datas =filter(a:data, '!empty(v:val)') " let datas = s:LIST.uniq_by_func(datas, function('s:file_line')) if bufnr('%') == s:flygrep_buffer_id " You probably split lines by \n, but Windows ses \r\n, so the \r (displayed via ^M) is still left. " ag support is broken in windows + neovim-qt if getline(1) ==# '' call setline(1, datas) else call append('$', datas) endif endif endfunction " endif function! s:grep_stderr(id, data, event) abort call s:LOGGER.error(' flygerp stderr: ' . string(a:data)) endfunction function! s:grep_exit(id, data, event) abort call s:update_statusline() redraw call s:MPT._build_prompt() redrawstatus let s:std_line = 1 let s:grepid = 0 endfunction " @vimlint(EVL103, 0, a:data) " @vimlint(EVL103, 0, a:id) " @vimlint(EVL103, 0, a:event) "}}} " FlyGrep Key prompt key bindings: {{{ function! s:next_item() abort if line('.') == line('$') noautocmd normal! gg else noautocmd normal! j endif if s:preview_able == 1 call s:preview() endif call s:update_statusline() redraw call s:MPT._build_prompt() redrawstatus endfunction function! s:page_up() abort exe "noautocmd normal! \" if s:preview_able == 1 call s:preview() endif redraw call s:MPT._build_prompt() redrawstatus endfunction function! s:page_down() abort exe "noautocmd normal! \" if s:preview_able == 1 call s:preview() endif redraw call s:MPT._build_prompt() redrawstatus endfunction function! s:page_home() abort noautocmd normal! gg if s:preview_able == 1 call s:preview() endif redraw call s:MPT._build_prompt() redrawstatus endfunction function! s:page_end() abort noautocmd normal! G if s:preview_able == 1 call s:preview() endif redraw call s:MPT._build_prompt() redrawstatus endfunction function! s:previous_item() abort if line('.') == 1 noautocmd normal! G else noautocmd normal! k endif if s:preview_able == 1 call s:preview() endif call s:update_statusline() redraw call s:MPT._build_prompt() redrawstatus endfunction function! s:open_item() abort let s:MPT._handle_fly = function('s:flygrep') if getline('.') !=# '' if s:grepid != 0 call s:JOB.stop(s:grepid) endif call s:MPT._clear_prompt() let s:MPT._quit = 1 let line = getline('.') let [filename, linenr, colum] = s:get_file_pos(line) if s:preview_able == 1 call s:close_preview_win() endif let s:preview_able = 0 call s:close_flygrep_win() call s:update_history() call s:BUFFER.open_pos('edit', filename, linenr, colum) noautocmd normal! : endif endfunction function! s:open_item_in_tab() abort let s:MPT._handle_fly = function('s:flygrep') if getline('.') !=# '' if s:grepid != 0 call s:JOB.stop(s:grepid) endif call s:MPT._clear_prompt() let s:MPT._quit = 1 let line = getline('.') let [filename, linenr, colum] = s:get_file_pos(line) if s:preview_able == 1 call s:close_preview_win() endif let s:preview_able = 0 call s:close_flygrep_win() call s:update_history() call s:BUFFER.open_pos('tabedit', filename, linenr, colum) noautocmd normal! : endif endfunction function! s:open_item_vertically() abort let s:MPT._handle_fly = function('s:flygrep') if getline('.') !=# '' if s:grepid != 0 call s:JOB.stop(s:grepid) endif call s:MPT._clear_prompt() let s:MPT._quit = 1 let line = getline('.') let [filename, linenr, colum] = s:get_file_pos(line) if s:preview_able == 1 call s:close_preview_win() endif let s:preview_able = 0 call s:close_flygrep_win() call s:update_history() call s:BUFFER.open_pos('vsplit', filename, linenr, colum) noautocmd normal! : endif endfunction function! s:open_item_horizontally() abort let s:MPT._handle_fly = function('s:flygrep') if getline('.') !=# '' if s:grepid != 0 call s:JOB.stop(s:grepid) endif call s:MPT._clear_prompt() let s:MPT._quit = 1 let line = getline('.') let [filename, linenr, colum] = s:get_file_pos(line) if s:preview_able == 1 call s:close_preview_win() endif let s:preview_able = 0 call s:close_flygrep_win() call s:update_history() call s:BUFFER.open_pos('split', filename, linenr, colum) noautocmd normal! : endif endfunction function! s:get_file_pos(line) abort let filename = fnameescape(split(a:line, ':\d\+:')[0]) let linenr = str2nr(matchstr(a:line, ':\d\+:')[1:-2]) let colum = str2nr(matchstr(a:line, '\(:\d\+\)\@<=:\d\+:')[1:-2]) return [filename, linenr, colum] endfunction function! s:apply_to_quickfix() abort let s:MPT._handle_fly = function('s:flygrep') if getline('.') !=# '' if s:grepid != 0 call s:JOB.stop(s:grepid) endif let s:MPT._quit = 1 if s:preview_able == 1 call s:close_preview_win() endif let s:preview_able = 0 let searching_result = s:BUFFER.buf_get_lines(s:buffer_id, 0, -1, 0) call s:close_flygrep_win() call s:update_history() if !empty(searching_result) cgetexpr join(searching_result, "\n") call setqflist([], 'a', {'title' : 'FlyGrep partten:' . s:MPT._prompt.begin . s:MPT._prompt.cursor .s:MPT._prompt.end}) call s:MPT._clear_prompt() copen endif noautocmd normal! : endif endfunction function! s:double_click() abort if line('.') !=# '' if s:grepid != 0 call s:JOB.stop(s:grepid) endif call s:MPT._clear_prompt() let s:MPT._quit = 1 let isfname = &isfname if s:SYS.isWindows set isfname-=: endif normal! gF let nr = bufnr('%') q exe 'silent b' . nr normal! : let &isfname = isfname endif endfunction function! s:move_cursor() abort if v:mouse_win == winnr() let cl = line('.') if cl < v:mouse_lnum exe 'normal! ' . (v:mouse_lnum - cl) . 'j' elseif cl > v:mouse_lnum exe 'normal! ' . (cl - v:mouse_lnum) . 'k' endif endif call s:MPT._build_prompt() endfunction let s:preview_able = 0 function! s:toggle_preview() abort if s:preview_able == 0 let s:preview_able = 1 call s:preview() else call s:close_preview_win() let s:preview_able = 0 endif redraw call s:MPT._build_prompt() endfunction let s:previewd_bufnrs = [] " @vimlint(EVL103, 1, a:timer) " use floating windows to preview let s:preview_win_id = -1 if exists('*nvim_open_win') && exists('*nvim_win_set_buf') function! s:preview_timer(timer) abort for id in filter(s:previewd_bufnrs, 'bufexists(v:val) && buflisted(v:val)') exe 'silent bd ' . id endfor let br = bufnr('$') let line = getline('.') let filename = fnameescape(split(line, ':\d\+:')[0]) let linenr = str2nr(matchstr(line, ':\d\+:')[1:-2]) noautocmd let bufnr = s:BUFFER.bufadd(filename) call bufload(bufnr) if s:Window.is_float(s:preview_win_id) call nvim_win_set_buf(s:preview_win_id, bufnr) else let flygrep_win_height = 16 noautocmd let s:preview_win_id = s:FLOATING.open_win(bufnr, v:false, \ { \ 'relative': 'editor', \ 'width' : &columns, \ 'height' : 5, \ 'row': &lines - flygrep_win_height - 2 - 5, \ 'col': 0 \ }) endif noautocmd call s:Window.set_cursor(s:preview_win_id, [linenr, 1]) if bufnr > br call add(s:previewd_bufnrs, bufnr) endif call s:MPT._build_prompt() endfunction function! s:close_preview_win() abort if s:Window.is_float(s:preview_win_id) call s:FLOATING.win_close(s:preview_win_id, 1) endif endfunction else function! s:preview_timer(...) abort for id in filter(s:previewd_bufnrs, 'bufexists(v:val) && buflisted(v:val)') exe 'silent bd ' . id endfor let br = bufnr('$') let line = getline('.') let filename = fnameescape(split(line, ':\d\+:')[0]) let linenr = matchstr(line, ':\d\+:')[1:-2] exe 'silent pedit! +' . linenr . ' ' . filename wincmd p if bufnr('%') > br call add(s:previewd_bufnrs, bufnr('%')) endif wincmd p resize 18 call s:MPT._build_prompt() endfunction function! s:close_preview_win() abort pclose endfunction endif " @vimlint(EVL103, 0, a:timer) if has('timers') function! s:preview() abort call timer_stop(s:preview_timer_id) let s:preview_timer_id = timer_start(200, \ function('s:preview_timer'), {'repeat' : 1}) endfunction else function! s:preview() abort call s:preview_timer() endfunction endif let s:grep_mode = 'expr' function! s:toggle_expr_mode() abort if s:grep_mode ==# 'expr' let s:grep_mode = 'string' else let s:grep_mode = 'expr' endif call s:MPT._oninputpro() call s:MPT._handle_fly(s:MPT._prompt.begin . s:MPT._prompt.cursor .s:MPT._prompt.end) endfunction let s:complete_input_history_base = '' function! s:previous_match_history() abort if s:complete_input_history_num == [0,0] let s:complete_input_history_base = s:MPT._prompt.begin let s:MPT._prompt.cursor = '' let s:MPT._prompt.end = '' endif let s:complete_input_history_num[0] += 1 let s:MPT._prompt.begin = s:complete_input_history(s:complete_input_history_base, s:complete_input_history_num) noautocmd normal! gg"_dG call s:MPT._handle_fly(s:MPT._prompt.begin . s:MPT._prompt.cursor .s:MPT._prompt.end) endfunction function! s:next_match_history() abort if s:complete_input_history_num == [0,0] let s:complete_input_history_base = s:MPT._prompt.begin let s:MPT._prompt.cursor = '' let s:MPT._prompt.end = '' endif let s:complete_input_history_num[1] += 1 let s:MPT._prompt.begin = s:complete_input_history(s:complete_input_history_base, s:complete_input_history_num) noautocmd normal! gg"_dG call s:MPT._handle_fly(s:MPT._prompt.begin . s:MPT._prompt.cursor .s:MPT._prompt.end) endfunction function! s:complete_input_history(str,num) abort let results = filter(copy(s:grep_history), "v:val =~# '^' . a:str") if !empty(results) && results[-1] !=# a:str let complete_items = results + [a:str] elseif empty(results) let complete_items = [a:str] else let complete_items = results endif " 5 0 6 let patch = (a:num[0] - a:num[1]) % len(complete_items) if patch >= 0 let index = len(complete_items) - 1 - patch else let index = abs(patch) - 1 endif return complete_items[index] endfunction let s:MPT._function_key = { \ "\" : function('s:next_item'), \ "\" : function('s:next_item'), \ "\" : function('s:next_item'), \ "\" : function('s:previous_item'), \ "\" : function('s:previous_item'), \ "\" : function('s:previous_item'), \ "\" : function('s:open_item'), \ "\" : function('s:open_item_in_tab'), \ "\" : function('s:move_cursor'), \ "\<2-LeftMouse>" : function('s:double_click'), \ "\" : function('s:start_filter'), \ "\" : function('s:open_item_vertically'), \ "\" : function('s:open_item_horizontally'), \ "\" : function('s:apply_to_quickfix'), \ "\" : function('s:start_replace'), \ "\" : function('s:toggle_preview'), \ "\" : function('s:toggle_expr_mode'), \ "\" : function('s:previous_match_history'), \ "\" : function('s:next_match_history'), \ "\" : function('s:page_down'), \ "\" : function('s:page_up'), \ "\" : function('s:page_end'), \ "\" : function('s:page_home'), \ } if has('nvim') call extend(s:MPT._function_key, \ { \ "\x80\xfdK" : function('s:previous_item'), \ "\x80\xfc \x80\xfdK" : function('s:previous_item'), \ "\x80\xfc@\x80\xfdK" : function('s:previous_item'), \ "\x80\xfc`\x80\xfdK" : function('s:previous_item'), \ "\x80\xfdL" : function('s:next_item'), \ "\x80\xfc \x80\xfdL" : function('s:next_item'), \ "\x80\xfc@\x80\xfdL" : function('s:next_item'), \ "\x80\xfc`\x80\xfdL" : function('s:next_item'), \ } \ ) endif let s:MPT._keys.close = ["\", "\"] " }}} " Public API: SpaceVim#plugins#flygrep#open(argv) {{{ " keys: " files: files for grep, @buffers means listed buffer. " dir: specific a directory for grep function! SpaceVim#plugins#flygrep#open(argv) abort if has('patch-7.4.1557') let s:previous_winid = win_getid() else let s:previous_winid = winnr() endif if empty(s:grep_default_exe) call s:LOGGER.warn(' [flygrep] make sure you have one search tool in your PATH', 1) return endif let s:mode = '' " set default handle func: s:flygrep let s:MPT._handle_fly = function('s:flygrep') if exists('*nvim_open_win') let s:buffer_id = s:BUFFER.create_buf(v:false, v:true) let flygrep_win_height = 16 noautocmd let s:flygrep_win_id = s:FLOATING.open_win(s:buffer_id, v:true, \ { \ 'relative': 'editor', \ 'width' : &columns, \ 'height' : flygrep_win_height, \ 'row': &lines - flygrep_win_height - 2, \ 'col': 0 \ }) else noautocmd botright split __flygrep__ if has('patch-7.4.1557') let s:flygrep_win_id = win_getid() else let s:flygrep_win_id = winnr() endif let s:buffer_id = bufnr('__flygrep__') endif if exists('&winhighlight') set winhighlight=Normal:Pmenu,EndOfBuffer:Pmenu,CursorLine:PmenuSel endif let s:flygrep_buffer_id = bufnr('%') setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonu norelativenumber let save_tve = &t_ve setlocal t_ve= let cursor_hi = {} let cursor_hi = s:HI.group2dict('Cursor') let lcursor_hi = s:HI.group2dict('lCursor') let guicursor = &guicursor call s:HI.hide_in_normal('Cursor') call s:HI.hide_in_normal('lCursor') " hi Cursor ctermbg=16 ctermfg=16 guifg=#282c34 guibg=#282c34 " hi lCursor ctermbg=16 ctermfg=16 guifg=#282c34 guibg=#282c34 if has('nvim') set guicursor+=a:Cursor/lCursor endif " setlocal nomodifiable setf SpaceVimFlyGrep call s:update_statusline() call s:matchadd('FileName', s:filename_pattern, 3) let s:MPT._prompt.begin = get(a:argv, 'input', '') let fs = get(a:argv, 'files', '') if !s:VIM.is_list(fs) && fs ==# '@buffers' let s:grep_files = map(s:BUFFER.listed_buffers(), 'bufname(v:val)') elseif !empty(fs) let s:grep_files = fs else let s:grep_files = '' endif let dir = expand(get(a:argv, 'dir', '')) if !empty(dir) && isdirectory(dir) let s:grep_dir = dir else let s:grep_dir = '' endif let s:grep_exe = get(a:argv, 'cmd', s:grep_default_exe) if empty(s:grep_dir) && empty(s:grep_files) && s:grep_exe ==# 'findstr' let s:grep_files = '*.*' elseif s:grep_exe ==# 'findstr' && !empty(s:grep_dir) let s:grep_dir = '/D:' . s:grep_dir endif let s:grep_opt = get(a:argv, 'opt', s:grep_default_opt) let s:grep_ropt = get(a:argv, 'ropt', s:grep_default_ropt) let s:grep_ignore_case = get(a:argv, 'ignore_case', s:grep_default_ignore_case) let s:grep_smart_case = get(a:argv, 'smart_case', s:grep_default_smart_case) let s:grep_expr_opt = get(a:argv, 'expr_opt', s:grep_default_expr_opt) call s:LOGGER.info('FlyGrep startting ===========================') call s:LOGGER.info(' executable : ' . s:grep_exe) call s:LOGGER.info(' option : ' . string(s:grep_opt)) call s:LOGGER.info(' r_option : ' . string(s:grep_ropt)) call s:LOGGER.info(' files : ' . string(s:grep_files)) call s:LOGGER.info(' dir : ' . string(s:grep_dir)) call s:LOGGER.info(' ignore_case : ' . string(s:grep_ignore_case)) call s:LOGGER.info(' smart_case : ' . string(s:grep_smart_case)) call s:LOGGER.info(' expr opt : ' . string(s:grep_expr_opt)) " sometimes user can not see the flygrep windows, redraw only once. redraw call s:MPT.open() if s:SL.support_float() call s:close_statusline() endif call s:LOGGER.info('FlyGrep ending ===========================') let &t_ve = save_tve call s:HI.hi(cursor_hi) call s:HI.hi(lcursor_hi) let &guicursor = guicursor endfunction " }}} function! s:update_statusline() abort if !get(g:, 'FlyGrep_enable_statusline', 1) return endif if s:SL.support_float() && win_id2tabwin(s:flygrep_win_id)[0] ==# tabpagenr() && s:Window.is_float(s:flygrep_win_id) noautocmd call s:SL.open_float([ \ ['FlyGrep ', 'SpaceVim_statusline_a_bold'], \ [' ', 'SpaceVim_statusline_a_SpaceVim_statusline_b'], \ [SpaceVim#plugins#flygrep#mode() . ' ', 'SpaceVim_statusline_b'], \ [' ', 'SpaceVim_statusline_b_SpaceVim_statusline_c'], \ [getcwd() . ' ', 'SpaceVim_statusline_c'], \ [' ', 'SpaceVim_statusline_c_SpaceVim_statusline_b'], \ [SpaceVim#plugins#flygrep#lineNr() . ' ', 'SpaceVim_statusline_b'], \ [' ', 'SpaceVim_statusline_b_SpaceVim_statusline_z'], \ [repeat(' ', &columns - 11), 'SpaceVim_statusline_z'], \ ]) endif endfunction function! s:close_statusline() abort noautocmd call s:SL.close_float() endfunction " Plugin API: SpaceVim#plugins#flygrep#lineNr() {{{ function! SpaceVim#plugins#flygrep#lineNr() abort if getline(1) ==# '' return 'no results' else return line('.') . '/' . line('$') endif endfunction function! SpaceVim#plugins#flygrep#mode() abort return s:grep_mode . (empty(s:mode) ? '' : '(' . s:mode . ')') endfunction " }}} ================================================ FILE: autoload/SpaceVim/plugins/foldsearch.vim ================================================ "============================================================================= " foldsearch.vim --- async foldsearch plugin " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:JOB = SpaceVim#api#import('job') let s:SYS = SpaceVim#api#import('system') let s:LOGGER =SpaceVim#logger#derive('fsearch') let s:matched_lines = [] let s:foldsearch_highlight_id = -1 let [ \ s:grep_default_exe, \ s:grep_default_opt, \ s:grep_default_ropt, \ s:grep_default_expr_opt, \ s:grep_default_fix_string_opt, \ s:grep_default_ignore_case, \ s:grep_default_smart_case \ ] = SpaceVim#mapping#search#default_tool() function! SpaceVim#plugins#foldsearch#end() abort normal! zE try call matchdelete(s:foldsearch_highlight_id) catch endtry endfunction function! SpaceVim#plugins#foldsearch#word(word) abort let argv = [s:grep_default_exe] + \ s:grep_default_opt + \ s:grep_default_fix_string_opt + \ [a:word] call s:LOGGER.info('cmd: ' . string(argv)) try call matchdelete(s:foldsearch_highlight_id) catch endtry let s:foldsearch_highlight_id = matchadd('Search', '\<' . a:word . '\>', 10) call s:foldsearch(argv) endfunction function! SpaceVim#plugins#foldsearch#expr(expr) abort let argv = [s:grep_default_exe] + \ s:grep_default_opt + \ s:grep_default_expr_opt + \ [a:expr] call s:LOGGER.info('cmd: ' . string(argv)) try call matchdelete(s:foldsearch_highlight_id) catch endtry let s:foldsearch_highlight_id = matchadd('Search', a:expr, 10) call s:foldsearch(argv) endfunction function! s:foldsearch(argv) abort let s:matched_lines = [] let jobid = s:JOB.start(a:argv, { \ 'on_stdout' : function('s:std_out'), \ 'on_exit' : function('s:exit'), \ }) call s:JOB.send(jobid, call('getline', [1, '$'])) call s:JOB.chanclose(jobid, 'stdin') endfunction function! s:std_out(id, data, event) abort for line in filter(a:data, '!empty(v:val)') call add(s:matched_lines, str2nr(matchstr(line, ':\d\+:')[1:-2])) endfor endfunction function! s:exit(id, data, event) abort call s:LOGGER.info('foldsearch job exit with: '. a:data) let preview = 0 for nr in s:matched_lines if nr - preview >= 3 " first matched line is 3 exe (preview + 1) . ',' . (nr - 1) . ':fold' endif let preview = nr endfor if line('$') - preview >=2 exe (preview + 1) . ',' . line('$') . ':fold' endif endfunction ================================================ FILE: autoload/SpaceVim/plugins/gitcommit.vim ================================================ "============================================================================= " gitcommit.vim --- omni plugin for git commit " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:list = SpaceVim#api#import('data#list') let s:pr_kind = g:spacevim_gitcommit_pr_icon let s:issue_kind = g:spacevim_gitcommit_issue_icon let s:cache = {} let s:pr_cache = {} let s:github_cache = {} let s:commit_types = [ \ { \ 'word' : 'feat', \ 'menu' : 'A new feature' \ }, \ { \ 'word' : 'fix', \ 'menu' : 'A bug fix' \ }, \ { \ 'word' : 'docs', \ 'menu' : 'Documentation only changes' \ }, \ { \ 'word' : 'style', \ 'menu' : 'Changes that do not affect the meaning of the code' \ }, \ { \ 'word' : 'refactor', \ 'menu' : 'A code change that neither fixes a bug nor adds a feature' \ }, \ { \ 'word' : 'perf', \ 'menu' : 'A code change that improves performance' \ }, \ { \ 'word' : 'test', \ 'menu' : 'Adding missing tests or correcting existing tests' \ }, \ { \ 'word' : 'build', \ 'menu' : 'Changes that affect the build system or external dependencies' \ }, \ { \ 'word' : 'ci', \ 'menu' : 'Changes to our CI configuration files and scripts' \ }, \ { \ 'word' : 'chore', \ 'menu' : 'Other changes that do not modify src or test files' \ }, \ { \ 'word' : 'revert', \ 'menu' : 'Reverts a previous commit' \ }, \ ] " https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors " https://stackoverflow.com/questions/58525836/git-magic-keywords-in-commit-messages-signed-off-by-co-authored-by-fixes " https://www.reddit.com/r/git/comments/13d565i/git_trailers_what_are_they_for/ " https://alchemists.io/articles/git_trailers " https://git-scm.com/docs/git-interpret-trailers " https://gitlab.com/gitlab-org/gitlab-foss/-/issues/31640 " https://archive.kernel.org/oldwiki/git.wiki.kernel.org/index.php/CommitMessageConventions.html let s:git_trailers = [ \ { \ 'word' : 'Co-Authored-By:', \ 'menu' : 'multiple commit author' \ }, \ ] function! s:find_last_branch() abort let reflog = systemlist('git reflog') for log in reflog " e059b76ca HEAD@{15}: checkout: moving from doc-help to master if log =~# 'HEAD@{\d\+}: checkout: ' return matchstr(log, 'HEAD@{\d\+}: checkout: moving from \zs\S*') endif endfor return '' endfunction function! s:generate_co_author() abort let last_branch = s:find_last_branch() call SpaceVim#logger#info('last branch:' . last_branch) return s:list.uniq(systemlist('git log -n 5 --format="%aN <%aE>" ' . last_branch)) endfunction function! SpaceVim#plugins#gitcommit#complete(findstart, base) abort if a:findstart let s:complete_ol = 0 let s:complete_type = 0 let s:complete_trailers = 0 let s:complete_co_author = 0 let line = getline('.') let start = col('.') - 1 while start > 0 && line[start - 1] !=# ' ' && line[start - 1] !=# '#' && line[start - 1] !=# ':' let start -= 1 endwhile if line[start - 1] ==# '#' let s:complete_ol = 1 elseif line('.') ==# 1 && start ==# 0 let s:complete_type = 1 elseif line('.') !=# 1 && start ==# 0 let s:complete_trailers = 1 elseif getline('.') =~# '^Co-Authored-By:' && start >= 14 let s:complete_co_author = 1 endif return start else if s:complete_ol == 1 return s:complete_pr(a:base) elseif s:complete_type == 1 return s:complete('types') elseif s:complete_trailers == 1 return s:complete('trailers') elseif s:complete_co_author == 1 return s:complete('co-author') endif let res = [] for m in s:cache_commits() if m =~ a:base call add(res, m) endif endfor return res endif endfunction function! s:cache_commits() abort let rst = systemlist("git log --oneline -n 50 --pretty=format:'%h %s' --abbrev-commit") return rst endfunction function! s:complete(what) abort if a:what ==# 'types' return s:commit_types elseif a:what ==# 'trailers' return s:git_trailers elseif a:what ==# 'co-author' return s:generate_co_author() else return [] endif endfunction function! s:complete_pr(base) abort let [user,repo] = s:current_repo() let s:user = user let s:repo = repo if !has_key(s:pr_cache, user . '_' . repo) call s:cache_prs(user, repo) endif let prs = get(s:pr_cache, user . '_' . repo, {}) let rst = [] for pr in values(prs) let item = { \ 'word' : pr.number . '', \ 'abbr' : '#' . pr.number, \ 'menu' : pr.title, \ 'kind' : (has_key(pr, 'pull_request') ? s:pr_kind : s:issue_kind), \ } if pr.number . pr.title =~? a:base call add(rst, item) endif endfor return rst endfunction function! s:current_repo() abort if executable('git') let repo_home = s:find_repo_home(expand('%:p')) if repo_home !=# '' || !isdirectory(repo_home) let remotes = filter(systemlist('git -C '. repo_home. ' remote -v'),"match(v:val,'^origin') >= 0 && match(v:val,'fetch') > 0") if len(remotes) > 0 let remote = remotes[0] if stridx(remote, '@') > -1 let repo_url = split(split(remote,' ')[0],':')[1] let repo_url = strpart(repo_url, 0, len(repo_url) - 4) else let repo_url = split(remote,' ')[0] let repo_url = strpart(repo_url, stridx(repo_url, 'http'),len(repo_url) - 4 - stridx(repo_url, 'http')) endif let repo = split(repo_url, '/') return [repo[-2], repo[-1]] endif endif endif endfunction fu! s:find_repo_home(path) abort " {{{2 if filereadable(a:path) let where = fnamemodify(a:path, ':p:h') elseif isdirectory(a:path) let where = a:path else let where = getcwd() endif let old_suffixesadd = &suffixesadd let &suffixesadd = '' let dir = finddir('.git', escape(where, ' ') . ';') let &suffixesadd = old_suffixesadd return dir endf " }}}2 function! s:cache_prs(user, repo) abort " let prs = github#api#issues#List_All_for_Repo(user, repo) if !has_key(s:pr_cache, a:user . '_' . a:repo) call extend(s:pr_cache, {a:user . '_' . a:repo : {}}) endif call github#api#issues#async_list_opened(a:user, a:repo, function('s:callback')) endfunction function! s:callback(data) abort call s:list_callback(s:user, s:repo, a:data) endfunction " data is a list a PRs in one page function! s:list_callback(user, repo, data) abort for pr in a:data if !has_key(s:pr_cache[a:user . '_' . a:repo], pr.number) call extend(s:pr_cache[a:user . '_' . a:repo], {pr.number : pr}) endif endfor endfunction function! Test(str) abort exe a:str endfunction ================================================ FILE: autoload/SpaceVim/plugins/help.vim ================================================ "============================================================================= " help.vim --- help plugin for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " init local valuable if exists('s:key_describ') finish endif let s:key_describ = {} " load APIs let s:KEY = SpaceVim#api#import('vim#key') let s:VIM = SpaceVim#api#import('vim') let s:TABs = SpaceVim#api#import('vim#tab') function! SpaceVim#plugins#help#regist_root(dict) abort let keys = keys(a:dict) if type(a:dict) == 4 && len(keys) == 1 call extend(s:key_describ, a:dict) endif endfunction function! SpaceVim#plugins#help#describe_key() abort let defined = 1 let root = s:key_describ let prompt = 'Describe key:' let keys = [] call s:build_mpt(prompt) let key = s:VIM.getchar() let char = s:KEY.nr2name(char2nr(key)) if index(keys(g:_spacevim_mappings_prefixs), char) != -1 let name = SpaceVim#mapping#leader#getName(nr2char(key)) else let name = char endif call add(keys, name) if has_key(root, name) " in Old vim we get E706 " Variable type mismatch for conf, so we need to unlet conf first " ref: patch-7.4.1546 " https://github.com/vim/vim/commit/f6f32c38bf3319144a84a01a154c8c91939e7acf let rootswap = root unlet root let root = rootswap[name] if type(root) == 3 if len(root) == 3 normal! : call s:open_describe_buffer(root[-1]) else call s:build_mpt(['can not find describe for ', join(keys, ' - ')]) endif let defined = 0 else call s:build_mpt([prompt, join(keys + [''], ' - ')]) endif else normal! : echohl Comment echon join(keys, ' - ') . ' is undefined' echohl NONE let defined = 0 endif while defined let key = s:VIM.getchar() let name = s:KEY.nr2name(char2nr(key)) call add(keys, name) if has_key(root, name) " in Old vim we get E706 " Variable type mismatch for conf, so we need to unlet conf first " ref: patch-7.4.1546 " https://github.com/vim/vim/commit/f6f32c38bf3319144a84a01a154c8c91939e7acf let rootswap = root unlet root let root = rootswap[name] if type(root) == 3 if len(root) == 3 normal! : call s:open_describe_buffer(root[-1]) else call s:build_mpt(['can not find describe for ', join(keys, ' - ')]) endif let defined = 0 else call s:build_mpt([prompt, join(keys + [''], ' - ')]) endif else normal! : echohl Comment echon join(keys, ' - ') . ' is undefined' echohl NONE let defined = 0 endif endwhile endfunction function! s:build_mpt(mpt) abort normal! : echohl Comment if type(a:mpt) == 1 echon a:mpt elseif type(a:mpt) == 3 echon join(a:mpt) endif echohl NONE endfunction function! s:open_describe_buffer(desc) abort let tabtree = s:TABs.get_tree() if index(map(tabtree[tabpagenr()], 'bufname(v:val)'), '__help_describe__') == -1 noautocmd botright split __help_describe__ let s:helpbufnr = bufnr('%') setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonu norelativenumber nocursorline set filetype=HelpDescribe else let winnr = bufwinnr(s:helpbufnr) exe winnr . 'wincmd w' endif setlocal modifiable silent normal! gg"_dG silent call setline(1, a:desc) setlocal nomodifiable let b:defind_file_name = split(a:desc[-1][12:], ':') let lines = &lines * 30 / 100 if lines < winheight(0) exe 'resize ' . lines endif setlocal nofoldenable nomodifiable nnoremap q :bd endfunction ================================================ FILE: autoload/SpaceVim/plugins/helpgrep.vim ================================================ "============================================================================= " helpgrep.vim --- asynchronous helpgrep " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= function! s:generate() abort return filter(split(&rtp, ','), 'isdirectory(v:val)') endfunction function! s:help_files() abort return globpath(&rtp, 'doc/*.txt', 0, 1) endfunction function! SpaceVim#plugins#helpgrep#help(...) abort call SpaceVim#plugins#flygrep#open({ \ 'input' : get(a:000, 0, ''), \ 'files' : s:help_files(), \ }) endfunction ================================================ FILE: autoload/SpaceVim/plugins/highlight.vim ================================================ "============================================================================= " highlight.vim --- highlight mode for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section Symbol highlighter, plugins-symbol-highlighter " @parentsection plugins " SpaceVim supports highlighting current symbol on demand and add a transient " state to easily navigate and rename these symbols. " " It is also possible to change the range of the navigation on the fly, the " available ranges are: " " 1. buffer: the whole buffer " 2. function: in current function " 3. visible area: in current visible area of the buffer " " The default key binding to Highlight the symbol under the cursor is `SPC s h`. " " Navigation between the highlighted symbols can be done with the commands: " > " Key Bindings | Descriptions " ------------ | ------------------------------------------- " * | highlight current symbol and jump forwards " # | highlight current symbol and jump backwards " SPC s e | start iedit mode on current symbol " SPC s h | highlight current symbol within default range " SPC s H | highlight last symbol within default range " < " In highlight symbol transient state, the following key bindings can be used: " > " Key Bindings | Descriptions " ------------- | ----------------------------------- " e | start iedit mode " n | go to next occurrence " N / p | go to previous occurrence " b | search occurrence in all buffers " / | search occurrence in whole project " | toggle highlight current occurrence " r | change range " R | go to home occurrence " Any other key | leave the navigation transient state " < " TODO: {{{ " e: iedit " d/D: next previous definition " f: search files " s: swoop " }}} " Loading SpaceVim api {{{ let s:VIMH = SpaceVim#api#import('vim#highlight') let s:STRING = SpaceVim#api#import('data#string') let s:CMP = SpaceVim#api#import('vim#compatible') let s:HI = SpaceVim#api#import('vim#highlight') "}}} " init local variable {{{ let s:function_expr = {} let s:hi_range_id = 0 let s:hi_range_index = 0 " }}} " transient_state API func: logo {{{ function! s:range_logo() abort let line = getline(3) let range = s:current_range let index = '[' . (s:index + 1) . '/' . len(s:cursor_stack) . ']' let logo = s:STRING.fill_middle(range . ' ' . index, 30) let begin = stridx(logo, s:current_range) call setline(3, logo . line[30:]) try call matchdelete(s:hi_range_id) call matchdelete(s:hi_range_index) catch endtry let s:hi_range_id = s:CMP.matchaddpos('HiRrange' . s:current_range, [[3, begin, len(s:current_range) + 2]]) let s:hi_range_index = s:CMP.matchaddpos('HiRrangeIndex', [[3, begin + len(s:current_range) + 2, len(index) + 2]]) endfunction " }}} " transient_state API func: init {{{ let s:hi_info = [{ \ 'name' : 'HiPurpleBold', \ 'guibg' : '#d3869b', \ 'guifg' : '#282828', \ 'ctermbg' : '', \ 'ctermfg' : 175, \ 'bold' : 1, \ },{ \ 'name' : 'HiRrangeDisplay', \ 'guibg' : '#458588', \ 'guifg' : '#282828', \ 'ctermbg' : '', \ 'ctermfg' : 175, \ 'bold' : 1, \ },{ \ 'name' : 'HiRrangeBuffer', \ 'guibg' : '#689d6a', \ 'guifg' : '#282828', \ 'ctermbg' : '', \ 'ctermfg' : 175, \ 'bold' : 1, \ },{ \ 'name' : 'HiRrangeFunction', \ 'guibg' : '#d38696', \ 'guifg' : '#282828', \ 'ctermbg' : '', \ 'ctermfg' : 175, \ 'bold' : 1, \ },{ \ 'name' : 'HiRrangeIndex', \ 'guibg' : '#3c3836', \ 'guifg' : '#a89984', \ 'ctermbg' : 237, \ 'ctermfg' : 246, \ 'bold' : 1, \ },{ \ 'name' : 'HiBlueBold', \ 'guibg' : '#83a598', \ 'guifg' : '#282828', \ 'ctermbg' : '', \ 'ctermfg' : 109, \ 'bold' : 1, \ },{ \ 'name' : 'HiInactive', \ 'guibg' : '#3c3836', \ 'guifg' : '#abb2bf', \ 'ctermbg' : '', \ 'ctermfg' : 145, \ 'bold' : 1, \ } \ ] function! s:hi() abort for info in s:hi_info call s:VIMH.hi(info) endfor endfunction function! s:is_ex_mode() abort return exists('v:argv') && index(v:argv, '-Ex') !=# -1 endfunction function! s:init() abort call s:hi() " https://github.com/neovim/neovim/issues/18050 " vim-patch:8.0.0542 make `line('w$')` return 0 in Ex mode " so the default range should be Buffer in Ex mode if s:is_ex_mode() let s:current_range = 'Buffer' let [s:cursor_stack, s:index] = SpaceVim#plugins#iedit#paser(1, line('$'), s:current_match, 0) else let s:current_range = 'Display' let [s:cursor_stack, s:index] = SpaceVim#plugins#iedit#paser(line('w0'), line('w$'), s:current_match, 0) endif call s:highlight() endfunction " }}} " use SPC s H to highlight all symbol on default range. " use SPC s h to highlight current symbol on default range. " public API func: start Highlight mode {{{ function! SpaceVim#plugins#highlight#start(...) abort " getcurpos is added in vim 7.4.313 let curpos = getpos('.') let save_reg_k = @k normal! viw"ky let s:current_match = @k let @k = save_reg_k call setpos('.', curpos) if s:current_match =~# '^\s*$' || empty(s:current_match) || s:current_match ==# "\n" echohl WarningMsg echo 'cursor is not on symbol' echohl None return endif let s:state = SpaceVim#api#import('transient_state') call s:state.set_title('Highlight Transient State') call s:state.defind_keys( \ { \ 'layout' : 'vertical split', \ 'logo' : s:_function('s:range_logo'), \ 'logo_width' : 30, \ 'init' : s:_function('s:init'), \ 'left' : [ \ { \ 'key' : 'n', \ 'desc' : 'Toggle highlight', \ 'func' : s:_function('s:next_item'), \ 'cmd' : '', \ 'exit' : 0, \ }, \ { \ 'key' : "\", \ 'desc' : 'Toggle highlight', \ 'func' : s:_function('s:toggle_item'), \ 'cmd' : '', \ 'exit' : 0, \ }, \ { \ 'key' : 'r', \ 'desc' : 'change range', \ 'func' : '', \ 'cmd' : 'call call(' . string(s:_function('s:change_range')) . ', [])', \ 'exit' : 0, \ }, \ { \ 'key' : 'e', \ 'desc' : 'iedit', \ 'cmd' : '', \ 'func' : '', \ 'exit_cmd' : 'call call(' . string(s:_function('s:iedit')) . ', [])', \ 'exit' : 1, \ }, \ ], \ 'right' : [ \ { \ 'key' : ['N', 'p'], \ 'desc' : 'Previous match', \ 'cmd' : 'call call(' . string(s:_function('s:previous_item')) . ', [])', \ 'func' : '', \ 'exit' : 0, \ }, \ { \ 'key' : 'b', \ 'desc' : 'search buffers', \ 'cmd' : '', \ 'func' : '', \ 'exit_cmd' : 'call call(' . string(s:_function('s:search_buffers')) . ', [])', \ 'exit' : 1, \ }, \ { \ 'key' : '/', \ 'desc' : 'Search project', \ 'cmd' : '', \ 'func' : '', \ 'exit_cmd' : 'call call(' . string(s:_function('s:search_project')) . ', [])', \ 'exit' : 1, \ }, \ { \ 'key' : 'R', \ 'desc' : 'Reset', \ 'cmd' : '', \ 'func' : s:_function('s:reset_range'), \ 'exit' : 0, \ }, \ ], \ } \ ) let save_tve = &t_ve setlocal t_ve= if has('gui_running') let cursor_hi = s:HI.group2dict('Cursor') call s:HI.hide_in_normal('Cursor') endif call s:state.open() let &t_ve = save_tve if has('gui_running') call s:HI.hi(cursor_hi) endif try call s:clear_highlight() catch endtry endfunction " }}} " public API func: register function range expression {{{ function! SpaceVim#plugins#highlight#reg_expr(ft, begin, end) abort call extend(s:function_expr, {a:ft : [a:begin, a:end]}) endfunction " }}} " key binding: R reset_range {{{ function! s:reset_range() abort let s:current_range = 'Display' let [s:cursor_stack, s:index] = SpaceVim#plugins#iedit#paser(line('w0'), line('w$'), s:current_match, 0) call s:clear_highlight() call s:highlight() endfunction "}}} " key binding: n next_item {{{ function! s:next_item() abort if s:index == len(s:cursor_stack) - 1 let s:index = 0 else let s:index += 1 endif call cursor(s:cursor_stack[s:index].lnum, s:cursor_stack[s:index].col + s:cursor_stack[s:index].len - 1) call s:update_highlight() endfunction " }}} " key binding: r change_range {{{ function! s:change_range() abort if s:current_range ==# 'Display' let s:current_range = 'Buffer' let [s:cursor_stack, s:index] = SpaceVim#plugins#iedit#paser(1, line('$'), s:current_match, 0) call s:clear_highlight() call s:highlight() elseif s:current_range ==# 'Buffer' let s:current_range = 'Function' let range = s:find_func_range() let [s:cursor_stack, s:index] = SpaceVim#plugins#iedit#paser(range[0], range[1], s:current_match, 0) call s:clear_highlight() call s:highlight() elseif s:current_range ==# 'Function' && s:is_ex_mode() let s:current_range = 'Buffer' let [s:cursor_stack, s:index] = SpaceVim#plugins#iedit#paser(1, line('$'), s:current_match, 0) call s:clear_highlight() call s:highlight() else let s:current_range = 'Display' let [s:cursor_stack, s:index] = SpaceVim#plugins#iedit#paser(line('w0'), line('w$'), s:current_match, 0) call s:clear_highlight() call s:highlight() endif let s:state._clear_cmdline = 0 echon ' Change current range to:' exe 'echohl HiRrange' . s:current_range echon s:current_range echohl None endfunction " }}} " key binding: e iedit {{{ function! s:iedit() abort call SpaceVim#plugins#iedit#start() endfunction " }}} " key binding: N/p previous_item {{{ function! s:previous_item() abort if s:index == 0 let s:index = len(s:cursor_stack) - 1 else let s:index -= 1 endif call cursor(s:cursor_stack[s:index].lnum, s:cursor_stack[s:index].col + s:cursor_stack[s:index].len - 1) call s:update_highlight() endfunction " }}} " key binding: b search_buffers {{{ function! s:search_buffers() abort call SpaceVim#plugins#flygrep#open({'input' : s:current_match, 'files':'@buffers'}) endfunction " }}} " key binding: / search_project {{{ function! s:search_project() abort call SpaceVim#plugins#flygrep#open({'input' : s:current_match}) endfunction " }}} " local func: highlight symbol {{{ function! s:highlight() abort for item in s:cursor_stack if item.active call s:CMP.matchaddpos('HiBlueBold', [[ \ item.lnum, \ item.col, \ item.len \ ]]) else call s:CMP.matchaddpos('HiInactive', [[ \ item.lnum, \ item.col, \ item.len \ ]]) endif endfor if !empty(get(s:cursor_stack, s:index, [])) && s:cursor_stack[s:index].active call s:CMP.matchaddpos('HiPurpleBold', [[ \ s:cursor_stack[s:index].lnum, \ s:cursor_stack[s:index].col, \ s:cursor_stack[s:index].len, \ ]]) endif endfunction " }}} " local func: clear highlight {{{ function! s:clear_highlight() abort call clearmatches() endfunction " }}} " key binding: Tab toggle_item {{{ function! s:toggle_item() abort let s:cursor_stack[s:index].active = s:cursor_stack[s:index].active ? 0 : 1 call s:update_highlight() endfunction " }}} " local func: function() wrapper {{{ if v:version > 703 || v:version == 703 && has('patch1170') function! s:_function(fstr) abort return function(a:fstr) endfunction else function! s:_SID() abort return matchstr(expand(''), '\zs\d\+\ze__SID$') endfunction let s:_s = '' . s:_SID() . '_' function! s:_function(fstr) abort return function(substitute(a:fstr, 's:', s:_s, 'g')) endfunction endif " }}} " local func: update highlight symbol {{{ function! s:update_highlight() abort call s:clear_highlight() call s:highlight() endfunction " }}} " local func: find function range {{{ function! s:find_func_range() abort let line = line('.') if !empty(&ft) && has_key(s:function_expr, &ft) let begin = s:function_expr[&ft][0] let end = s:function_expr[&ft][1] let pos1 = search(end, 'nb',line('w0')) let pos2 = search(begin, 'nb',line('w0')) let pos3 = search(end, 'n',line('w$')) let pos0 = line('.') if pos1 < pos2 && pos2 < pos0 && pos0 < pos3 return [pos2, pos3] endif endif return [line, line] endfunction " }}} " vim:set et sw=2 cc=80 foldenable: ================================================ FILE: autoload/SpaceVim/plugins/history.vim ================================================ "============================================================================= " history.vim --- history manager " Copyright (c) 2016-2019 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:FILE = SpaceVim#api#import('file') let s:JSON = SpaceVim#api#import('data#json') let s:LOG = SpaceVim#logger#derive('history') let s:BUF = SpaceVim#api#import('vim#buffer') let s:history_cache_path = s:FILE.unify_path(g:spacevim_data_dir, ':p') . 'SpaceVim/nvim_history.json' let s:filepos = {} function! SpaceVim#plugins#history#readcache() abort call s:LOG.debug('read cache') call s:read_cache() endfunction function! SpaceVim#plugins#history#writecache() abort call s:LOG.debug('write cache') call s:write_cache() endfunction function! SpaceVim#plugins#history#jumppos() abort " nvim filename " BufReadPost event before VimEnter if empty(s:filepos) call s:read_cache() endif let [l, c] = get(s:filepos, expand('%:p'), [0, 0]) call s:LOG.debug(printf('jump to pos: [%s, %s]', l, c)) if l != 0 && c != 0 call cursor(l, c) endif endfunction function! SpaceVim#plugins#history#savepos() abort if empty(s:BUF.bufname()) || &buftype == 'nofile' return endif call s:LOG.debug('save pos for:' . s:BUF.bufname()) let [_, l, c, _] = getpos('.') call s:LOG.debug(printf('line %d, col %d', l, c)) if l != 0 && c != 0 && filereadable(s:BUF.bufname()) let s:filepos[expand('%:p')] = [l, c] endif endfunction function! s:read_cache() abort if filereadable(s:history_cache_path) let his = s:JSON.json_decode(join(readfile(s:history_cache_path, ''), '')) if type(his) ==# type({}) call map(deepcopy(his.cmd), 'histadd("cmd", v:val)') call map(deepcopy(his.search), 'histadd("search", v:val)') let s:filepos = get(his, 'filepos', {}) endif endif endfunction function! s:write_cache() abort let his = { 'cmd' : [], 'filepos' : s:filepos, 'search' : []} for i in range(1, 100) let cmd = histget('cmd', 0 - i) if empty(cmd) break endif call insert(his.cmd, cmd) endfor for i in range(1, 100) let search = histget('search', 0 - i) if empty(search) break endif call insert(his.search, search) endfor call writefile([s:JSON.json_encode(his)], s:history_cache_path) endfunction ================================================ FILE: autoload/SpaceVim/plugins/iedit.vim ================================================ "============================================================================= " iedit.vim --- iedit mode for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section iedit, plugins-iedit " @parentsection plugins " The `iedit` plugin provides multiple cursor support for SpaceVim. " " @subsection Key bindings " > " Key binding Description " SPC s e string iedit mode " < " " After starting iedit, the following key bindings can be used: " > " Mode Key binding Description " Iedit-Normal a start iedit-insert mode after cursor " Iedit-Normal e forward to the end of word " Iedit-Normal w forward to the begin of next word " Iedit-Normal b move to the begin of current word " Iedit-Normal Ctrl-n forward and active next match " Iedit-Normal Ctrl-x inactivate current match and move forward " Iedit-Normal Ctrl-p inactivate current match and move backward " < let s:index = -1 let s:cursor_col = -1 let s:mode = '' let s:hi_id = '' let s:Operator = '' let s:iedit_cursor_hi_info = {} let s:VIMH = SpaceVim#api#import('vim#highlight') let s:STRING = SpaceVim#api#import('data#string') let s:CMP = SpaceVim#api#import('vim#compatible') let s:VIM = SpaceVim#api#import('vim') let s:LOGGER =SpaceVim#logger#derive('iedit') " The object in cursor_stack should be: " { " begin : string, " cursor : char " end : string " active : boolean " lnum : number " col : number " len : number " } let s:cursor_stack = [] let s:iedit_hi_info = [{ \ 'name' : 'IeditPurpleBold', \ 'guibg' : '#3c3836', \ 'guifg' : '#d3869b', \ 'ctermbg' : '', \ 'ctermfg' : 175, \ 'bold' : 1, \ },{ \ 'name' : 'IeditBlueBold', \ 'guibg' : '#3c3836', \ 'guifg' : '#83a598', \ 'ctermbg' : '', \ 'ctermfg' : 109, \ 'bold' : 1, \ },{ \ 'name' : 'IeditInactive', \ 'guibg' : '#3c3836', \ 'guifg' : '#abb2bf', \ 'ctermbg' : '', \ 'ctermfg' : 145, \ 'bold' : 1, \ }, \ ] function! s:highlight_cursor() abort call s:VIMH.hi(s:iedit_cursor_hi_info) for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active if i == s:index call s:CMP.matchaddpos('IeditPurpleBold', \ [[ \ s:cursor_stack[i].lnum, \ s:cursor_stack[i].col, \ s:cursor_stack[i].len, \ ]]) else call s:CMP.matchaddpos('IeditBlueBold', \ [[ \ s:cursor_stack[i].lnum, \ s:cursor_stack[i].col, \ s:cursor_stack[i].len, \ ]]) endif call matchadd('SpaceVimGuideCursor', '\%' . s:cursor_stack[i].lnum . 'l\%' \ . (s:cursor_stack[i].col + len(s:cursor_stack[i].begin)) . 'c', 99999) else call s:CMP.matchaddpos('IeditInactive', \ [[ \ s:cursor_stack[i].lnum, \ s:cursor_stack[i].col, \ s:cursor_stack[i].len, \ ]]) endif endfor endfunction function! s:remove_cursor_highlight() abort call clearmatches() endfunction "" " This is public function to evoke iedit with [options]. The default " [firstline] is 1, and the default [lastline] is `line('$')`. " The following key are supported in [options]: " > " KEY: " expr match expression " word match word " stack cursor pos stack " selectall boolean " < " if only argv 1 is given, use selected word as pattern function! SpaceVim#plugins#iedit#start(...) abort " do not start iedit if symbol is empty let argv = get(a:000, 0, '') let selectall = 1 if empty(argv) && \ ( \ matchstr(getline('.'), '\%' . col('.') . 'c.') ==# '' \ || matchstr(getline('.'), '\%' . col('.') . 'c.') ==# ' ' \ ) echo 'no pattern found under cursor' return endif let save_tve = &t_ve let save_cl = &l:cursorline setlocal nocursorline setlocal t_ve= call s:VIMH.hi(s:iedit_hi_info[0]) call s:VIMH.hi(s:iedit_hi_info[1]) call s:VIMH.hi(s:iedit_hi_info[2]) let cursor_hi = s:VIMH.group2dict('Cursor') let s:iedit_cursor_hi_info = deepcopy(cursor_hi) let s:iedit_cursor_hi_info.name = 'SpaceVimGuideCursor' let lcursor_hi = s:VIMH.group2dict('lCursor') let guicursor = &guicursor call s:VIMH.hide_in_normal('Cursor') call s:VIMH.hide_in_normal('lCursor') " hi Cursor ctermbg=16 ctermfg=16 guifg=#282c34 guibg=#282c34 " hi lCursor ctermbg=16 ctermfg=16 guifg=#282c34 guibg=#282c34 if has('nvim') set guicursor+=a:Cursor/lCursor endif let s:mode = 'n' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'in' if empty(s:cursor_stack) let curpos = getpos('.') let save_reg_k = @k " the register " is cleared " save the register context before run following command let save_reg_default = @" let use_expr = 0 if !empty(argv) && type(argv) == 4 let selectall = get(argv, 'selectall', selectall) if has_key(argv, 'expr') let use_expr = 1 let symbol = argv.expr elseif has_key(argv, 'word') let symbol = argv.word elseif has_key(argv, 'stack') else normal! viw"ky let symbol = split(@k, "\n")[0] endif elseif type(argv) == 0 && argv == 1 normal! gv"ky let symbol = split(@k, "\n")[0] else normal! viw"ky let symbol = split(@k, "\n")[0] endif let @k = save_reg_k let @" = save_reg_default call setpos('.', curpos) let begin = get(a:000, 1, 1) let end = get(a:000, 2, line('$')) if use_expr call s:LOGGER.debug('iedit symbol:>' . symbol . '<') call s:LOGGER.debug('iedit use_expr:' . use_expr) call s:LOGGER.debug('iedit begin:' . begin) call s:LOGGER.debug('iedit end:' . end) call s:parse_symbol(begin, end, symbol, 1, selectall) else call s:LOGGER.debug('iedit symbol:>' . symbol . '<') call s:LOGGER.debug('iedit use_expr:' . use_expr) call s:LOGGER.debug('iedit begin:' . begin) call s:LOGGER.debug('iedit end:' . end) call s:parse_symbol(begin, end, symbol, 0, selectall) endif endif call s:highlight_cursor() redrawstatus! while s:mode !=# '' && len(s:cursor_stack) > 0 redraw! let char = s:VIM.getchar() if s:mode ==# 'n' && char ==# "\" let s:mode = '' else let symbol = s:handle(s:mode, char) endif endwhile if len(s:cursor_stack) == 0 normal! : echo 'Pattern not found:' . symbol endif let s:cursor_stack = [] let s:index = -1 let s:mode = '' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'in' let &t_ve = save_tve call s:VIMH.hi(cursor_hi) call s:VIMH.hi(lcursor_hi) let &guicursor = guicursor normal! : call s:remove_cursor_highlight() try call matchdelete(s:hi_id) catch endtry let s:hi_id = '' let &l:cursorline = save_cl return symbol endfunction function! s:handle(mode, char) abort if a:mode ==# 'n' && s:Operator ==# 'f' return s:handle_f_char(a:char) elseif a:mode ==# 'n' return s:handle_normal(a:char) elseif a:mode ==# 'i' && s:Operator ==# 'r' return s:handle_register(a:char) elseif a:mode ==# 'i' return s:handle_insert(a:char) endif endfunction function! s:handle_f_char(char) abort silent! call s:remove_cursor_highlight() " map(rang(32,126), 'nr2char(v:val)') " [' ', '!', '"', '#', '$', '%', '&', '''', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~'] if a:char >= 32 && a:char <= 126 let s:Operator = '' for i in range(len(s:cursor_stack)) let matchedstr = matchstr(s:cursor_stack[i].end, printf('[^%s]*', nr2char(a:char))) let s:cursor_stack[i].begin = s:cursor_stack[i].begin . s:cursor_stack[i].cursor . matchedstr let s:cursor_stack[i].end = matchstr(s:cursor_stack[i].end, printf('[%s]\zs.*', nr2char(a:char))) let s:cursor_stack[i].cursor = nr2char(a:char) endfor endif silent! call s:highlight_cursor() return s:cursor_stack[0].begin . s:cursor_stack[0].cursor . s:cursor_stack[0].end endfunction function! s:handle_register(char) abort let char = nr2char(a:char) if char =~# '[a-zA-Z0-9"+:/]' silent! call s:remove_cursor_highlight() let s:Operator = '' let reg = '@' . char let paste = get(split(eval(reg), "\n"), 0, '') for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = s:cursor_stack[i].begin . paste endif endfor call s:replace_symbol() silent! call s:highlight_cursor() endif return s:cursor_stack[0].begin . s:cursor_stack[0].cursor . s:cursor_stack[0].end endfunction function! s:handle_normal(char) abort silent! call s:remove_cursor_highlight() if a:char ==# 'i' " i: switch to iedit insert mode let s:mode = 'i' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'ii' redrawstatus! elseif a:char ==# 'I' " I: move surcor to the begin, and switch to iedit insert mode let s:mode = 'i' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'ii' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let old_cursor_char = s:cursor_stack[i].cursor let s:cursor_stack[i].cursor = matchstr( \ s:cursor_stack[i].begin \ . s:cursor_stack[i].cursor \ . s:cursor_stack[i].end, \ '^.') let s:cursor_stack[i].end = substitute( \ s:cursor_stack[i].begin \ . old_cursor_char \ . s:cursor_stack[i].end, \ '^.', '', 'g') let s:cursor_stack[i].begin = '' endif endfor redrawstatus! elseif a:char ==# "\" let s:cursor_stack[s:index].active = s:cursor_stack[s:index].active ? 0 : 1 elseif a:char ==# 'a' " a: goto iedit insert mode after cursor char let s:mode = 'i' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'ii' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = \ s:cursor_stack[i].begin \ . s:cursor_stack[i].cursor let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, \ '^.', '', 'g') endif endfor redrawstatus! elseif a:char ==# 'A' let s:mode = 'i' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'ii' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = s:cursor_stack[i].begin . s:cursor_stack[i].cursor . s:cursor_stack[i].end let s:cursor_stack[i].cursor = '' let s:cursor_stack[i].end = '' endif endfor redrawstatus! elseif a:char ==# 'C' let s:mode = 'i' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'ii' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].cursor = '' let s:cursor_stack[i].end = '' endif endfor call s:replace_symbol() elseif a:char ==# '~' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].cursor = s:STRING.toggle_case(s:cursor_stack[i].cursor) endif endfor call s:replace_symbol() elseif a:char ==# 'f' let s:Operator = 'f' call s:timeout() elseif a:char ==# 's' let s:mode = 'i' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'ii' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active " let s:cursor_stack[i].begin = s:cursor_stack[i].begin let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, '^.', '', 'g') endif endfor call s:replace_symbol() elseif a:char ==# 'x' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, '^.', '', 'g') endif endfor call s:replace_symbol() elseif a:char ==# 'X' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = substitute(s:cursor_stack[i].begin, '.$', '', 'g') endif endfor call s:replace_symbol() elseif a:char ==# "\" || a:char ==# 'h' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active if !empty(s:cursor_stack[i].begin) let s:cursor_stack[i].end = s:cursor_stack[i].cursor . s:cursor_stack[i].end let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].begin, '.$') let s:cursor_stack[i].begin = substitute(s:cursor_stack[i].begin, '.$', '', 'g') endif endif endfor elseif a:char ==# "\" || a:char ==# 'l' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = s:cursor_stack[i].begin . s:cursor_stack[i].cursor let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, '^.', '', 'g') endif endfor elseif a:char ==# 'e' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let word = matchstr(s:cursor_stack[i].end, '^\s*\S*') let s:cursor_stack[i].begin = \ s:cursor_stack[i].begin \ . s:cursor_stack[i].cursor \ . word let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].begin, '.$') let s:cursor_stack[i].begin = substitute(s:cursor_stack[i].begin, '.$', '', 'g') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, '^\s*\S*', '', 'g') endif endfor elseif a:char ==# 'b' " b: move to the begin of current word for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let word = matchstr(s:cursor_stack[i].begin, '\S*\s*$') let s:cursor_stack[i].end = \ word \ . s:cursor_stack[i].cursor \ . s:cursor_stack[i].end let s:cursor_stack[i].begin = substitute(s:cursor_stack[i].begin, '\S*\s*$', '', 'g') let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, '^.', '', 'g') endif endfor elseif a:char ==# 'w' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let word = matchstr(s:cursor_stack[i].end, '^\S*\s*') let s:cursor_stack[i].begin = \ s:cursor_stack[i].begin \ . s:cursor_stack[i].cursor \ . word let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, '^\S*\s*', '', 'g') let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, '^.', '', 'g') endif endfor elseif a:char ==# '0' || a:char ==# "\" " 0 or for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let old_cursor_char = s:cursor_stack[i].cursor let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].begin . s:cursor_stack[i].cursor . s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].begin . old_cursor_char . s:cursor_stack[i].end , '^.', '', 'g') let s:cursor_stack[i].begin = '' endif endfor elseif a:char ==# '$' || a:char ==# "\" " $ or for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let old_cursor_char = s:cursor_stack[i].cursor let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].begin . s:cursor_stack[i].cursor . s:cursor_stack[i].end, '.$') let s:cursor_stack[i].begin = substitute(s:cursor_stack[i].begin . old_cursor_char . s:cursor_stack[i].end , '.$', '', 'g') let s:cursor_stack[i].end = '' endif endfor elseif a:char ==# 'D' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = '' let s:cursor_stack[i].cursor = '' let s:cursor_stack[i].end = '' endif endfor call s:replace_symbol() elseif a:char ==# 'p' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = @" let s:cursor_stack[i].cursor = '' let s:cursor_stack[i].end = '' endif endfor call s:replace_symbol() elseif a:char ==# 'S' for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = '' let s:cursor_stack[i].cursor = '' let s:cursor_stack[i].end = '' endif endfor let s:mode = 'i' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'ii' redrawstatus! call s:replace_symbol() elseif a:char ==# 'G' exe s:cursor_stack[-1].lnum let s:index = len(s:cursor_stack) - 1 elseif a:char ==# 'g' if s:Operator ==# 'g' exe s:cursor_stack[0].lnum let s:Operator = '' let s:index = 0 else let s:Operator = 'g' call s:timeout() endif elseif a:char ==# "\" if s:index == len(s:cursor_stack) - 1 let s:index = 0 else let s:index += 1 endif let s:cursor_stack[s:index].active = 1 call cursor(s:cursor_stack[s:index].lnum, \ s:cursor_stack[s:index].col + len(s:cursor_stack[s:index].begin)) elseif a:char ==# "\" let s:cursor_stack[s:index].active = 0 if s:index == len(s:cursor_stack) - 1 let s:index = 0 else let s:index += 1 endif let s:cursor_stack[s:index].active = 1 call cursor(s:cursor_stack[s:index].lnum, \ s:cursor_stack[s:index].col + len(s:cursor_stack[s:index].begin)) elseif a:char ==# "\" let s:cursor_stack[s:index].active = 0 if s:index == 0 let s:index = len(s:cursor_stack) - 1 else let s:index -= 1 endif let s:cursor_stack[s:index].active = 1 silent! call s:highlight_cursor() call cursor(s:cursor_stack[s:index].lnum, \ s:cursor_stack[s:index].col + len(s:cursor_stack[s:index].begin)) elseif a:char ==# 'n' let origin_index = s:index if s:index == len(s:cursor_stack) - 1 let s:index = 0 else let s:index += 1 endif while !s:cursor_stack[s:index].active let s:index += 1 if s:index == len(s:cursor_stack) let s:index = 0 endif if s:index ==# origin_index break endif endwhile call cursor(s:cursor_stack[s:index].lnum, \ s:cursor_stack[s:index].col + len(s:cursor_stack[s:index].begin)) elseif a:char ==# 'N' if s:index == 0 let s:index = len(s:cursor_stack) - 1 else let s:index -= 1 endif call cursor(s:cursor_stack[s:index].lnum, s:cursor_stack[s:index].col + len(s:cursor_stack[s:index].begin)) endif silent! call s:highlight_cursor() return s:cursor_stack[0].begin . s:cursor_stack[0].cursor . s:cursor_stack[0].end endfunction if exists('*timer_start') function! s:timeout() abort call timer_start(1000, function('s:reset_Operator')) endfunction else function! s:timeout() abort endfunction endif function! s:reset_Operator(...) abort let s:Operator = '' endfunction function! s:handle_insert(char) abort silent! call s:remove_cursor_highlight() let is_movement = 0 if a:char ==# "\" || a:char ==# "\" " Ctrl-g / : switch to iedit normal mode let s:mode = 'n' let w:spacevim_iedit_mode = s:mode let w:spacevim_statusline_mode = 'in' silent! call s:highlight_cursor() redraw! redrawstatus! return s:cursor_stack[0].begin . s:cursor_stack[0].cursor . s:cursor_stack[0].end elseif a:char ==# "\" " ctrl-w: delete word before cursor for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = substitute(s:cursor_stack[i].begin, '\S*\s*$', '', 'g') endif endfor elseif a:char ==# "\" " ctrl-u: delete all words before cursor for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = '' endif endfor elseif a:char ==# "\" " Ctrl-k: delete all words after cursor for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].cursor = '' let s:cursor_stack[i].end = '' endif endfor elseif a:char ==# "\" || a:char ==# "\" " BackSpace or Ctrl-h: delete char before cursor for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = substitute(s:cursor_stack[i].begin, '.$', '', 'g') endif endfor elseif a:char ==# "\" || a:char ==# "\" " " Delete: delete char after cursor for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, '^.', '', 'g') endif endfor elseif a:char ==# "\" || a:char ==# "\" " ctrl-b / : moves the cursor back one character let is_movement = 1 for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active if !empty(s:cursor_stack[i].begin) let s:cursor_stack[i].end = s:cursor_stack[i].cursor . s:cursor_stack[i].end let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].begin, '.$') let s:cursor_stack[i].begin = substitute(s:cursor_stack[i].begin, '.$', '', 'g') endif endif endfor elseif a:char ==# "\" || a:char ==# "\" " ctrl-f / : moves the cursor forward one character let is_movement = 1 for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin = s:cursor_stack[i].begin \ . s:cursor_stack[i].cursor let s:cursor_stack[i].cursor = matchstr(s:cursor_stack[i].end, '^.') let s:cursor_stack[i].end = substitute(s:cursor_stack[i].end, \ '^.', '', 'g') endif endfor elseif a:char ==# "\" let s:Operator = 'r' call s:timeout() elseif a:char ==# "\" || a:char ==# "\" " Ctrl-a or let is_movement = 1 for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let old_cursor_char = s:cursor_stack[i].cursor let s:cursor_stack[i].cursor = matchstr( \ s:cursor_stack[i].begin \ . s:cursor_stack[i].cursor \ . s:cursor_stack[i].end, \ '^.') let s:cursor_stack[i].end = substitute( \ s:cursor_stack[i].begin \ . old_cursor_char \ . s:cursor_stack[i].end, \ '^.', '', 'g') let s:cursor_stack[i].begin = '' endif endfor elseif a:char ==# "\" || a:char ==# "\" " Ctrl-e or let is_movement = 1 for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let old_cursor_char = s:cursor_stack[i].cursor let s:cursor_stack[i].cursor = matchstr( \ s:cursor_stack[i].begin \ . s:cursor_stack[i].cursor \ . s:cursor_stack[i].end, \ '.$') let s:cursor_stack[i].begin = substitute( \ s:cursor_stack[i].begin \ . old_cursor_char \ . s:cursor_stack[i].end, \ '.$', '', 'g') let s:cursor_stack[i].end = '' endif endfor else for i in range(len(s:cursor_stack)) if s:cursor_stack[i].active let s:cursor_stack[i].begin .= a:char endif endfor endif if !is_movement call s:replace_symbol() endif silent! call s:highlight_cursor() return s:cursor_stack[0].begin . s:cursor_stack[0].cursor . s:cursor_stack[0].end endfunction " begin: the first line for parse " end: the last line for parse " symbol: the word " use_expr: use expr or not " selectall: select all or not function! s:parse_symbol(begin, end, symbol, use_expr, selectall) abort let len = len(a:symbol) let cursor = [line('.'), col('.')] for l in range(a:begin, a:end) let line = getline(l) let idx = s:STRING.strAllIndex(line, a:symbol, a:use_expr) for [pos_a, pos_b] in idx call add(s:cursor_stack, \ { \ 'begin' : line[pos_a : pos_b - 2], \ 'cursor' : line[pos_b - 1 : pos_b - 1], \ 'end' : '', \ 'active' : a:selectall, \ 'lnum' : l, \ 'col' : pos_a + 1, \ 'len' : pos_b - pos_a, \ } \ ) if l == cursor[0] && pos_a + 1 <= cursor[1] && pos_b >= cursor[1] let s:index = len(s:cursor_stack) - 1 endif endfor endfor if s:index == -1 && !empty(s:cursor_stack) let s:index = 0 call cursor(s:cursor_stack[0].lnum, s:cursor_stack[0].col) endif if !empty(s:cursor_stack) let s:cursor_stack[s:index].active = 1 endif endfunction " TODO current only support one line symbol function! s:replace_symbol() abort let line = 0 let pre = '' let idxs = [] for i in range(len(s:cursor_stack)) if s:cursor_stack[i].lnum != line if !empty(idxs) let end = getline(line)[s:cursor_stack[i-1].col + s:cursor_stack[i-1].len - 1: ] let pre .= end endif call s:fixstack(idxs) call setline(line, pre) let idxs = [] let line = s:cursor_stack[i].lnum let begin = s:cursor_stack[i].col == 1 ? '' : getline(line)[:s:cursor_stack[i].col - 2] let pre = begin . s:cursor_stack[i].begin . s:cursor_stack[i].cursor . s:cursor_stack[i].end else let line = s:cursor_stack[i].lnum if i == 0 let pre = (s:cursor_stack[i].col == 1 ? '' : getline(line)[:s:cursor_stack[i].col - 2]) . s:cursor_stack[i].begin . s:cursor_stack[i].cursor . s:cursor_stack[i].end else let a = s:cursor_stack[i-1].col + s:cursor_stack[i-1].len - 1 let b = s:cursor_stack[i].col - 2 if a > b let next = '' else let next = getline(line)[ a : b ] endif let pre .= next . s:cursor_stack[i].begin . s:cursor_stack[i].cursor . s:cursor_stack[i].end endif endif call add(idxs, [i, len(s:cursor_stack[i].begin . s:cursor_stack[i].cursor . s:cursor_stack[i].end)]) endfor if !empty(idxs) let end = getline(line)[s:cursor_stack[i].col + s:cursor_stack[i].len - 1: ] let pre .= end endif call s:fixstack(idxs) call setline(line, pre) endfunction function! s:fixstack(idxs) abort let change = 0 for i in range(len(a:idxs)) let s:cursor_stack[a:idxs[i][0]].col += change let change += a:idxs[i][1] - s:cursor_stack[a:idxs[i][0]].len let s:cursor_stack[a:idxs[i][0]].len = a:idxs[i][1] endfor endfunction function! SpaceVim#plugins#iedit#paser(begin, end, symbol, expr) abort let s:cursor_stack = [] call s:parse_symbol(a:begin, a:end, a:symbol, a:expr, 1) return [s:cursor_stack, s:index] endfunction " vim:set et sw=2 cc=80 nowrap: ================================================ FILE: autoload/SpaceVim/plugins/manager.vim ================================================ "============================================================================= " manager.vim --- plugin manager for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 license "============================================================================= " Load SpaceVim api let s:VIM_CO = SpaceVim#api#import('vim#compatible') let s:JOB = SpaceVim#api#import('job') let s:LIST = SpaceVim#api#import('data#list') let s:SYS = SpaceVim#api#import('system') " init values let s:plugins = [] let s:failed_plugins = [] let s:pulling_repos = {} let s:building_repos = {} let s:retry_cnt = get(g:, 'spacevim_update_retry_cnt', 3) let s:on_reinstall = 0 " key : plugin name, value : buf line number in manager buffer. let s:ui_buf = {} let s:plugin_manager_buffer = 0 let s:plugin_manager_buffer_lines = [] let s:jobpid = 0 function! s:need_cmd(cmd) abort if executable(a:cmd) return 1 else call SpaceVim#logger#warn(' [ plug manager ] need command: ' . a:cmd) return 0 endif endfunction if g:spacevim_plugin_manager ==# 'neobundle' function! s:get_uninstalled_plugins() abort return filter(neobundle#config#get_neobundles(), '!isdirectory(v:val.path)') endfunction elseif g:spacevim_plugin_manager ==# 'dein' function! s:get_uninstalled_plugins() abort return filter(values(dein#get()), '!isdirectory(v:val.path)') endfunction endif if g:spacevim_plugin_manager ==# 'neobundle' function! SpaceVim#plugins#manager#reinstall(...) abort call neobundle#commands#reinstall(a:1) endfunction elseif g:spacevim_plugin_manager ==# 'dein' function! SpaceVim#plugins#manager#reinstall(...) abort call dein#reinstall(a:1) endfunction endif " @vimlint(EVL102, 1, l:i) function! SpaceVim#plugins#manager#install(...) abort if !s:JOB.vim_job && !s:JOB.nvim_job let &maxfuncdepth = 2000 endif let plugins = a:0 == 0 ? sort(map(s:get_uninstalled_plugins(), 'v:val.name')) : sort(copy(a:1)) if empty(plugins) call SpaceVim#logger#warn(' [ plug manager ] All of the plugins are already installed.', 1) return endif let status = s:new_window() if status == 0 call SpaceVim#logger#warn(' [ plug manager ] plugin manager process is not finished.', 1) return elseif status == 1 " resume window return endif let s:plugins = plugins let s:pct = 0 let s:pct_done = 0 let s:total = len(s:plugins) call s:set_buf_line(s:plugin_manager_buffer, 1, 'Installing plugins (' . s:pct_done . '/' . s:total . ')') if has('nvim') call s:set_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) call s:set_buf_line(s:plugin_manager_buffer, 3, '') elseif s:VIM_CO.has('python') call s:append_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) call s:append_buf_line(s:plugin_manager_buffer, 3, '') else call s:set_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) call s:set_buf_line(s:plugin_manager_buffer, 3, '') endif let s:start_time = reltime() for i in range(g:spacevim_plugin_manager_processes) if !empty(s:plugins) let repo = {} if g:spacevim_plugin_manager ==# 'dein' let repo = dein#get(s:LIST.shift(s:plugins)) elseif g:spacevim_plugin_manager ==# 'neobundle' let repo = neobundle#get(s:LIST.shift(s:plugins)) endif if !empty(repo) call s:install(repo) endif endif endfor if !s:JOB.vim_job && !s:JOB.nvim_job let &maxfuncdepth = 100 endif endfunction " @vimlint(EVL102, 0, l:i) " @vimlint(EVL102, 1, l:i) function! SpaceVim#plugins#manager#update(...) abort if !s:JOB.vim_job && !s:JOB.nvim_job let &maxfuncdepth = 2000 endif let status = s:new_window() if status == 0 echohl WarningMsg echom '[SpaceVim] [plugin manager] plugin updating is not finished.' echohl None return elseif status == 1 return endif redraw! let s:pct = 0 let s:pct_done = 0 if exists('s:recache_done') unlet s:recache_done endif if g:spacevim_plugin_manager ==# 'dein' let s:plugins = a:0 == 0 ? sort(keys(dein#get())) : sort(copy(a:1)) elseif g:spacevim_plugin_manager ==# 'neobundle' let s:plugins = a:0 == 0 ? sort(map(neobundle#config#get_neobundles(), 'v:val.name')) : sort(copy(a:1)) elseif g:spacevim_plugin_manager ==# 'vim-plug' endif " make dein-ui only update SpaceVim for SpaceVim users if a:0 == 0 && exists('g:spacevim_version') call add(s:plugins, 'SpaceVim') endif let s:total = len(s:plugins) call s:set_buf_line(s:plugin_manager_buffer, 1, 'Updating plugins (' . s:pct_done . '/' . s:total . ')') if has('nvim') call s:set_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) call s:set_buf_line(s:plugin_manager_buffer, 3, '') elseif s:VIM_CO.has('python') call s:append_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) call s:append_buf_line(s:plugin_manager_buffer, 3, '') else call s:set_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) call s:set_buf_line(s:plugin_manager_buffer, 3, '') endif let s:start_time = reltime() for i in range(g:spacevim_plugin_manager_processes) if !empty(s:plugins) let repo = {} let reponame = '' if g:spacevim_plugin_manager ==# 'dein' let reponame = s:LIST.shift(s:plugins) let repo = dein#get(reponame) elseif g:spacevim_plugin_manager ==# 'neobundle' let reponame = s:LIST.shift(s:plugins) let repo = neobundle#get(reponame) endif if !empty(repo) && !get(repo, 'local', 0) && isdirectory(repo.path . '/.git') && !filereadable(repo.path . '/.git/shallow.lock') call s:pull(repo) elseif !empty(repo) && !get(repo, 'local', 0) && isdirectory(repo.path . '/.git') && filereadable(repo.path . '/.git/shallow.lock') call delete(repo.path, 'rf') call s:install(repo) elseif !empty(repo) && !isdirectory(repo.path . '/.git') && get(repo, 'local', 0) call s:pull(repo) elseif reponame ==# 'SpaceVim' let repo = { \ 'name' : 'SpaceVim', \ 'path' : g:_spacevim_root_dir \ } call s:pull(repo) endif endif endfor if !s:JOB.vim_job && !s:JOB.nvim_job let &maxfuncdepth = 100 endif endfunction " @vimlint(EVL102, 0, l:i) function! s:status_bar() abort let bar = '[' let ct = 50 * s:pct / s:total let bar .= repeat('=', ct) let bar .= repeat(' ', 50 - ct) let bar .= ']' return bar endfunction " here if a:data == 0, git pull succeed function! s:on_pull_exit(id, data, event) abort if a:id == -1 let id = s:jobpid else let id = a:id endif if !has_key(s:pulling_repos, id) return endif if a:data == 0 && a:event ==# 'exit' call s:msg_on_updated_done(s:pulling_repos[id].name) else call s:add_to_failed_list(s:pulling_repos[id].name) if a:data == 1 call s:msg_on_updated_failed(s:pulling_repos[id].name, ' The plugin dir is dirty') else call s:msg_on_updated_failed(s:pulling_repos[id].name) endif endif if a:id == -1 redraw! endif if !empty(get(s:pulling_repos[id], 'build', '')) && a:data == 0 call s:build(s:pulling_repos[id]) else let s:pct_done += 1 call s:set_buf_line(s:plugin_manager_buffer, 1, 'Updating plugins (' . s:pct_done . '/' . s:total . ')') call s:set_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) endif call remove(s:pulling_repos, string(id)) if !empty(s:plugins) let name = s:LIST.shift(s:plugins) let repo = {} if name ==# 'SpaceVim' let repo = { \ 'name' : 'SpaceVim', \ 'path' : g:_spacevim_root_dir \ } elseif g:spacevim_plugin_manager ==# 'dein' let repo = dein#get(name) elseif g:spacevim_plugin_manager ==# 'neobundle' let repo = neobundle#get(name) endif call s:pull(repo) endif call s:recache_rtp(a:id) endfunction function! s:recache_rtp(id) abort if empty(s:pulling_repos) && empty(s:building_repos) && !exists('s:recache_done') " TODO add elapsed time info. call s:set_buf_line(s:plugin_manager_buffer, 1, 'Updated. Elapsed time: ' \ . split(reltimestr(reltime(s:start_time)))[0] . ' sec.') let s:on_reinstall = 0 if len(s:failed_plugins) > 0 && s:retry_cnt > 0 call s:reinstall_update_failed() elseif len(s:failed_plugins) > 0 && s:retry_cnt <= 0 " Reset retry cnt let s:failed_plugins = [] let s:retry_cnt = get(g:, 'spacevim_update_retry_cnt') let s:plugin_manager_buffer = 0 if g:spacevim_plugin_manager ==# 'dein' call dein#recache_runtimepath() endif else let s:plugin_manager_buffer = 0 if g:spacevim_plugin_manager ==# 'dein' call dein#recache_runtimepath() endif endif if a:id == -1 let s:recache_done = 1 endif endif endfunction " @vimlint(EVL103, 1, a:event) function! s:on_install_stdout(id, data, event) abort if a:id == -1 let id = s:jobpid else let id = a:id endif for str in a:data let status = matchstr(str,'\d\+%\s(\d\+/\d\+)') if !empty(status) call s:msg_on_install_process(s:pulling_repos[id].name, status) endif endfor endfunction " @vimlint(EVL103, 0, a:event) function! s:on_build_exit(id, data, event) abort if a:id == -1 let id = s:jobpid else let id = a:id endif if a:data == 0 && a:event ==# 'exit' call s:msg_on_build_done(s:building_repos[id].name) else call s:add_to_failed_list(s:building_repos[id].name) call s:msg_on_build_failed(s:building_repos[id].name) endif let s:pct_done += 1 call s:set_buf_line(s:plugin_manager_buffer, 1, 'Updating plugins (' . s:pct_done . '/' . s:total . ')') call s:set_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) call remove(s:building_repos, string(id)) call s:recache_rtp(a:id) endfunction " here if a:data == 0, git pull succeed function! s:on_install_exit(id, data, event) abort if a:id == -1 let id = s:jobpid else let id = a:id endif if !has_key(s:pulling_repos, id) return endif if a:data == 0 && a:event ==# 'exit' call s:msg_on_install_done(s:pulling_repos[id].name) else call s:add_to_failed_list(s:pulling_repos[id].name) call s:msg_on_install_failed(s:pulling_repos[id].name) endif if !empty(get(s:pulling_repos[id], 'build', '')) && a:data == 0 call s:build(s:pulling_repos[id]) else let s:pct_done += 1 call s:set_buf_line(s:plugin_manager_buffer, 1, 'Installing plugins (' . s:pct_done . '/' . s:total . ')') call s:set_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) endif call remove(s:pulling_repos, string(id)) if !empty(s:plugins) if g:spacevim_plugin_manager ==# 'dein' call s:install(dein#get(s:LIST.shift(s:plugins))) elseif g:spacevim_plugin_manager ==# 'neobundle' call s:install(neobundle#get(s:LIST.shift(s:plugins))) endif endif call s:recache_rtp(a:id) endfunction function! s:pull(repo) abort let s:pct += 1 let s:ui_buf[a:repo.name] = s:pct if !get(a:repo, 'local', 0) let argv = ['git', 'pull', '--progress'] if s:JOB.vim_job || s:JOB.nvim_job let jobid = s:JOB.start(argv,{ \ 'on_stderr' : function('s:on_install_stdout'), \ 'cwd' : a:repo.path, \ 'on_exit' : function('s:on_pull_exit') \ }) if jobid != 0 let s:pulling_repos[jobid] = a:repo call s:msg_on_start(a:repo.name) endif else let s:jobpid += 1 let s:pulling_repos[s:jobpid] = a:repo call s:msg_on_start(a:repo.name) redraw! call s:JOB.start(argv,{ \ 'on_stderr' : function('s:on_install_stdout'), \ 'cwd' : a:repo.path, \ 'on_exit' : function('s:on_pull_exit') \ }) endif else call s:msg_on_local(a:repo.name) let s:pct_done += 1 call s:set_buf_line(s:plugin_manager_buffer, 1, 'Updating plugins (' . s:pct_done . '/' . s:total . ')') call s:set_buf_line(s:plugin_manager_buffer, 2, s:status_bar()) if !empty(s:plugins) let name = s:LIST.shift(s:plugins) let repo = {} if name ==# 'SpaceVim' let repo = { \ 'name' : 'SpaceVim', \ 'path' : g:_spacevim_root_dir \ } elseif g:spacevim_plugin_manager ==# 'dein' let repo = dein#get(name) elseif g:spacevim_plugin_manager ==# 'neobundle' let repo = neobundle#get(name) endif call s:pull(repo) endif endif endfunction function! s:get_uri(repo) abort if g:spacevim_plugin_manager ==# 'dein' if a:repo.repo =~# '^[^/]\+/[^/]\+$' let url = 'https://github.com/' . (has_key(a:repo, 'repo') ? a:repo.repo : a:repo.orig_path) return url else return a:repo.repo endif elseif g:spacevim_plugin_manager ==# 'neobundle' return a:repo.uri if has_key(a:repo, 'uri') return a:repo.uri else let url = 'https://github.com/' . (has_key(a:repo, 'orig_name') ? a:repo.orig_name : a:repo.orig_path) return url endif endif endfunction function! s:install(repo) abort let s:pct += 1 let s:ui_buf[a:repo.name] = s:pct if !get(a:repo, 'local', 0) let url = s:get_uri(a:repo) let argv = ['git', 'clone', '--depth=1', '--recursive', '--progress', url, a:repo.path] if get(a:repo, 'rev', '') !=# '' let argv = argv + ['-b', a:repo.rev] endif if s:JOB.vim_job || s:JOB.nvim_job let jobid = s:JOB.start(argv,{ \ 'on_stderr' : function('s:on_install_stdout'), \ 'on_exit' : function('s:on_install_exit') \ }) if jobid != 0 let s:pulling_repos[jobid] = a:repo call s:msg_on_install_start(a:repo.name) endif else let s:jobpid += 1 let s:pulling_repos[s:jobpid] = a:repo call s:msg_on_start(a:repo.name) redraw! call s:JOB.start(argv,{ \ 'on_stderr' : function('s:on_install_stdout'), \ 'on_exit' : function('s:on_install_exit') \ }) endif else call s:msg_on_local(a:repo.name) endif endfunction function! s:build(repo) abort let argv = type(a:repo.build) != 4 ? a:repo.build : s:get_build_argv(a:repo.build) if s:JOB.vim_job || s:JOB.nvim_job let jobid = s:JOB.start(argv,{ \ 'on_exit' : function('s:on_build_exit'), \ 'cwd' : a:repo.path, \ }) if jobid > 0 let s:building_repos[jobid . ''] = a:repo call s:msg_on_build_start(a:repo.name) elseif jobid == 0 call s:msg_on_build_failed(a:repo.name) elseif jobid == -1 if type(argv) == type([]) call s:msg_on_build_failed(a:repo.name, argv[0] . ' is not executable') else call s:msg_on_build_failed(a:repo.name) endif endif else let s:building_repos[s:jobpid] = a:repo call s:msg_on_build_start(a:repo.name) redraw! call s:JOB.start(argv,{ \ 'on_exit' : function('s:on_build_exit'), \ 'cwd' : a:repo.path, \ }) endif endfunction function! s:msg_on_build_start(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, \ '* ' . a:name . ': Building ') endfunction function! s:get_build_argv(build) abort return a:build[s:SYS.name] endfunction " + foo.vim: Updating... if has('nvim') function! s:msg_on_start(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '+ ' . a:name . ': Updating...') endfunction function! s:msg_on_local(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '- ' . a:name . ': skip local plugin') endfunction function! s:msg_on_install_start(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '+ ' . a:name . ': Installing...') endfunction elseif s:VIM_CO.has('python') function! s:msg_on_start(name) abort call s:append_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '+ ' . a:name . ': Updating...') endfunction function! s:msg_on_local(name) abort call s:append_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '- ' . a:name . ': skip local plugin') endfunction function! s:msg_on_install_start(name) abort call s:append_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '+ ' . a:name . ': Installing...') endfunction else function! s:msg_on_start(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '+ ' . a:name . ': Updating...') endfunction function! s:msg_on_local(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '- ' . a:name . ': skip local plugin') endfunction function! s:msg_on_install_start(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '+ ' . a:name . ': Installing...') endfunction endif " - foo.vim: Updating done. function! s:msg_on_updated_done(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '- ' . a:name . ': Updating done.') endfunction " - foo.vim: Updating failed. function! s:msg_on_updated_failed(name, ...) abort if a:0 == 1 call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, 'x ' . a:name . ': Updating failed, ' . a:1) else call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, 'x ' . a:name . ': Updating failed.') endif endfunction function! s:msg_on_install_process(name, status) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, \ '* ' . a:name . ': Installing ' . a:status) endfunction " - foo.vim: Updating done. function! s:msg_on_install_done(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '- ' . a:name . ': Installing done.') endfunction " - foo.vim: Updating failed. function! s:msg_on_install_failed(name, ...) abort if a:0 == 1 call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, 'x ' . a:name . ': Installing failed. ' . a:1) else call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, 'x ' . a:name . ': Installing failed.') endif endfunction " - foo.vim: Updating done. function! s:msg_on_build_done(name) abort call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, '- ' . a:name . ': Building done.') endfunction " - foo.vim: Updating failed. function! s:msg_on_build_failed(name, ...) abort if a:0 == 1 call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, 'x ' . a:name . ': Building failed, ' . a:1) else call s:set_buf_line(s:plugin_manager_buffer, s:ui_buf[a:name] + 3, 'x ' . a:name . ': Building failed.') endif endfunction " - foo.vim: Updating failed. function! s:add_to_failed_list(name) abort if index(s:failed_plugins, a:name) < 0 call add(s:failed_plugins, a:name) endif endfunction function! s:reinstall_update_failed() abort if len(s:failed_plugins) > 0 && s:retry_cnt > 0 " close plugin manager let s:on_reinstall = 1 call SpaceVim#logger#warn(' [ plug manager ] Reinstalling Failed Plugins. Remaining Retries: '.s:retry_cnt) call SpaceVim#plugins#manager#update(s:failed_plugins) let s:failed_plugins = [] let s:retry_cnt -= 1 endif endfunction function! s:new_window() abort if s:plugin_manager_buffer != 0 && bufexists(s:plugin_manager_buffer) && s:on_reinstall == 0 " buffer exist, process has not finished! return 0 elseif s:plugin_manager_buffer != 0 && !bufexists(s:plugin_manager_buffer) && s:on_reinstall == 0 " buffer is hidden, process has not finished! call s:resume_window() return 1 elseif s:plugin_manager_buffer != 0 && bufexists(s:plugin_manager_buffer) && s:on_reinstall == 1 call setbufvar(s:plugin_manager_buffer, '&ma', 1) let current_nr = winnr() let winnr = bufwinnr(s:plugin_manager_buffer) if winnr > -1 exe winnr . 'wincmd w' silent normal! gg"_dG redraw! endif exe current_nr . 'wincmd w' return 3 else execute get(g:, 'spacevim_window', 'vertical topleft new') let s:plugin_manager_buffer = bufnr('%') setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nomodifiable nospell setf SpaceVimPlugManager nnoremap q :bd nnoremap gf :call open_plugin_dir() nnoremap gr :call fix_install() " process has finished or does not start. return 2 endif endfunction function! s:open_plugin_dir() abort let plugin = get(split(getline('.')), 1, ':')[:-2] if !empty(plugin) let shell = empty($SHELL) ? SpaceVim#api#import('system').isWindows ? 'cmd.exe' : 'bash' : $SHELL let path = '' if g:spacevim_plugin_manager ==# 'dein' let path = dein#get(plugin).path elseif g:spacevim_plugin_manager ==# 'neobundle' let path = neobundle#get(plugin).path elseif g:spacevim_plugin_manager ==# 'vim-plug' endif if isdirectory(path) topleft new exe 'resize ' . &lines * 30 / 100 if has('nvim') && exists('*termopen') call termopen(shell, {'cwd' : path}) elseif exists('*term_start') call term_start(shell, {'curwin' : 1, 'term_finish' : 'close', 'cwd' : path}) elseif exists(':VimShell') exe 'VimShell ' . path else close echohl WarningMsg echo 'Do not support terminal!' echohl None endif else echohl WarningMsg echo 'Plugin(' . keys(plugin)[0] . ') has not been installed!' echohl None endif endif endfunction function! s:fix_install() abort let plugin = get(split(getline('.')), 1, ':')[:-2] if !empty(plugin) if g:spacevim_plugin_manager ==# 'dein' let repo = dein#get(plugin) elseif g:spacevim_plugin_manager ==# 'neobundle' let repo = neobundle#get(plugin) else let repo = {} endif if has_key(repo, 'path') && isdirectory(repo.path) if index(s:failed_plugins, plugin) > 0 call remove(s:failed_plugins, plugin) endif let argv = 'git checkout . && git pull --progress' let jobid = s:JOB.start(argv,{ \ 'on_stderr' : function('s:on_install_stdout'), \ 'cwd' : repo.path, \ 'on_exit' : function('s:on_pull_exit') \ }) if jobid != 0 let s:pulling_repos[jobid] = repo call s:msg_on_start(repo.name) endif else echohl WarningMsg echo 'Plugin(' . plugin . ') has not been installed!' echohl None endif endif endfunction function! s:resume_window() abort execute get(g:, 'spacevim_window', 'vertical topleft new') let s:plugin_manager_buffer = bufnr('%') setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell setf SpaceVimPlugManager nnoremap q :bd call setline(1, s:plugin_manager_buffer_lines) setlocal nomodifiable endfunction " change modifiable before setline if has('nvim') && exists('*nvim_buf_set_lines') function! s:set_buf_line(bufnr, nr, line) abort call setbufvar(s:plugin_manager_buffer,'&ma', 1) if bufexists(s:plugin_manager_buffer) call nvim_buf_set_lines(a:bufnr, a:nr - 1, a:nr, 0, [a:line]) endif if len(s:plugin_manager_buffer_lines) >= a:nr let s:plugin_manager_buffer_lines[a:nr - 1] = a:line else call add(s:plugin_manager_buffer_lines, a:line) endif call setbufvar(s:plugin_manager_buffer,'&ma', 0) endfunction elseif s:VIM_CO.has('python') py import vim py import string " @vimlint(EVL103, 1, a:bufnr) " @vimlint(EVL103, 1, a:nr) " @vimlint(EVL103, 1, a:line) function! s:set_buf_line(bufnr, nr, line) abort call setbufvar(s:plugin_manager_buffer,'&ma', 1) if bufexists(s:plugin_manager_buffer) py bufnr = string.atoi(vim.eval("a:bufnr")) py linr = string.atoi(vim.eval("a:nr")) - 1 py str = vim.eval("a:line") py vim.buffers[bufnr][linr] = str endif if len(s:plugin_manager_buffer_lines) >= a:nr let s:plugin_manager_buffer_lines[a:nr - 1] = a:line else call add(s:plugin_manager_buffer_lines, a:line) endif call setbufvar(s:plugin_manager_buffer,'&ma', 0) endfunction function! s:append_buf_line(bufnr, nr, line) abort call setbufvar(s:plugin_manager_buffer,'&ma', 1) if bufexists(s:plugin_manager_buffer) py bufnr = string.atoi(vim.eval("a:bufnr")) py linr = string.atoi(vim.eval("a:nr")) - 1 py str = vim.eval("a:line") py vim.buffers[bufnr].append(str) endif call add(s:plugin_manager_buffer_lines, a:line) call setbufvar(s:plugin_manager_buffer,'&ma', 0) endfunction " @vimlint(EVL103, 0, a:bufnr) " @vimlint(EVL103, 0, a:nr) " @vimlint(EVL103, 0, a:line) else function! s:focus_main_win() abort let winnr = bufwinnr(s:plugin_manager_buffer) if winnr > -1 exe winnr . 'wincmd w' endif return winnr endfunction function! s:set_buf_line(bufnr, nr, line) abort call setbufvar(a:bufnr,'&ma', 1) if bufexists(s:plugin_manager_buffer) if s:focus_main_win() >= 0 call setline(a:nr, a:line) endif endif if len(s:plugin_manager_buffer_lines) >= a:nr let s:plugin_manager_buffer_lines[a:nr - 1] = a:line else call add(s:plugin_manager_buffer_lines, a:line) endif call setbufvar(a:bufnr,'&ma', 0) endfunction endif " Public API: SpaceVim#plugins#manager#terminal {{{ function! SpaceVim#plugins#manager#terminal() abort for id in keys(s:pulling_repos) call s:JOB.stop(str2nr(id)) endfor for id in keys(s:building_repos) call s:JOB.stop(str2nr(id)) endfor endfunction " }}} ================================================ FILE: autoload/SpaceVim/plugins/mkdir.vim ================================================ "============================================================================= " mkdir.vim --- auto mkdir when saving file " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim function! SpaceVim#plugins#mkdir#CreateCurrent() abort let file = fnamemodify( expand(''), ':p:h') call s:CreateDirectory(file) endfunction fun! s:Mkdirp(dir) abort if exists('*mkdir') try call mkdir(a:dir, 'p') catch call SpaceVim#logger#error('failed to create dir:' . a:dir) endtry else " @todo mkdir only exist in *nix os call system('mkdir -p '.shellescape(a:dir)) end endf fun! s:CreateDirectory(dir) abort let d = a:dir " @todo do not skip files that have schemes if d =~? '^[a-z]\+:/' return endif if !isdirectory(d) call s:Mkdirp(d) end endf let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: autoload/SpaceVim/plugins/pastebin.vim ================================================ "============================================================================= " pastebin.vim --- Pastebin support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if has('nvim-0.9.0') function! SpaceVim#plugins#pastebin#paste() abort lua require('spacevim.plugin.pastebin').paste() endfunction finish endif let s:JOB = SpaceVim#api#import('job') let s:LOGGER =SpaceVim#logger#derive('pastebin') let s:job_id = -1 function! SpaceVim#plugins#pastebin#paste() abort let s:url = '' let context = s:get_visual_selection() if empty(context) call s:LOGGER.info('no selection text, skipped.') return endif " let ft = &filetype if s:job_id != -1 call s:LOGGER.info('previous job has not been finished, killed!') call s:JOB.stop(s:job_id) endif let cmd = 'curl -s -F "content=<-" http://dpaste.com/api/v2/' let s:job_id = s:JOB.start(cmd,{ \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ 'on_exit' : function('s:on_exit'), \ }) call s:LOGGER.info('job id: '. s:job_id) call s:JOB.send(s:job_id, split(context, "\n")) call s:JOB.chanclose(s:job_id, 'stdin') endfunction function! s:on_stdout(job_id, data, event) abort for url in filter(a:data, '!empty(v:val)') call s:LOGGER.info('stdout: '. url) let s:url = url endfor endfunction function! s:on_stderr(job_id, data, event) abort call s:LOGGER.warn('stderr:' . string(a:data)) endfunction function! s:on_exit(job_id, data, event) abort let s:job_id = -1 if a:data ==# 0 && !empty(s:url) let @+ = s:url . '.txt' echo 'Pastbin: ' . s:url . '.txt' else call s:LOGGER.warn('exit code: ' . string(a:data)) call s:LOGGER.warn('url: ' . s:url) endif endfunction " ref: https://stackoverflow.com/a/6271254 function! s:get_visual_selection() abort " Why is this not a built-in Vim script function?! let [line_start, column_start] = getpos("'<")[1:2] let [line_end, column_end] = getpos("'>")[1:2] let lines = getline(line_start, line_end) if len(lines) == 0 return '' endif " check v-block mode if visualmode() ==# "\" for i in range(len(lines)) let lines[i] = lines[i][: column_end - (&selection ==# 'inclusive' ? 1 : 2)] let lines[i] = lines[i][column_start - 1:] endfor else let lines[-1] = lines[-1][: column_end - (&selection ==# 'inclusive' ? 1 : 2)] let lines[0] = lines[0][column_start - 1:] endif return join(lines, "\n") endfunction ================================================ FILE: autoload/SpaceVim/plugins/pmd.vim ================================================ "============================================================================= " pmd.vim --- Integrates PMD using Vim quickfix mode " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " init plugin values let s:options = { \ '-R' : { \ 'description' : 'Comma separated list of ruleset names to use', \ 'complete' : [], \ }, \ '-f' : { \ 'description' : '', \ 'complete' : ['text'], \ }, \ '-d' : { \ 'description' : 'Root directory for sources', \ 'complete' : 'file', \ }, \ '-cache' : { \ 'description' : 'Set cache file', \ 'complete' : 'file', \ }, \ } if !exists('Pmd_Cmd') let g:Pmd_Cmd = ['pmd'] endif if !exists('Pmd_Rulesets') let g:Pmd_Rulesets = ['-R', 'java-basic,java-design', '-property', 'xsltFilename=my-own.xs'] endif if !exists('Pmd_silent_stderr') let g:Pmd_silent_stderr = 1 endif " load SpaceVim APIs let s:JOB = SpaceVim#api#import('job') let s:CMD = SpaceVim#api#import('vim#command') let s:STRING = SpaceVim#api#import('data#string') " set APIs let s:CMD.options = s:options let s:rst = [] let s:parserdir = '' " /home/wsdjeg/sources/Mysql.vim/libs/mysqlvim/src/main/java/com/wsdjeg/mysqlvim/MysqlVi.java:18:^IDocument empty method body " @vimlint(EVL103, 1, a:id) " @vimlint(EVL103, 1, a:data) " @vimlint(EVL103, 1, a:event) function! s:on_pmd_stdout(id, data, event) abort for data in a:data let info = split(data, '\:\d\+\:') if len(info) == 2 let [fname, text] = info let text = s:STRING.trim(text) let lnum = matchstr(data, '\:\d\+\:')[1:-2] call add(s:rst, { \ 'filename' : fnamemodify(fname, ':p'), \ 'abbr' : substitute(fname, s:parserdir, '', 'g'), \ 'lnum' : lnum, \ 'col' : 0, \ 'text' : text, \ }) endif endfor endfunction function! s:on_pmd_stderr(id, data, event) abort let s:JOB._message += a:data if g:Pmd_silent_stderr == 0 echom string(a:data) endif endfunction function! s:on_pmd_exit(id, data, event) abort call SpaceVim#plugins#quickfix#setqflist(s:rst) call SpaceVim#plugins#quickfix#openwin() endfunction " @vimlint(EVL103, 0, a:id) " @vimlint(EVL103, 0, a:data) " @vimlint(EVL103, 0, a:event) function! SpaceVim#plugins#pmd#run(...) abort if !executable(g:Pmd_Cmd[0]) echohl WarningMsg echo g:Pmd_Cmd[0] .. ' is not executable' echohl None return endif let argv = g:Pmd_Cmd + a:000 if index(a:000, '-R') == -1 let argv += g:Pmd_Rulesets endif if index(argv, '-d') == -1 echohl ErrorMsg | echo 'you need to run PMD with -d option!' return else let s:parserdir = fnamemodify(argv[index(argv, '-d') + 1], ':p') endif call s:JOB.start(argv, \ { \ 'on_stdout' : function('s:on_pmd_stdout'), \ 'on_stderr' : function('s:on_pmd_stderr'), \ 'on_exit' : function('s:on_pmd_exit'), \ } \ ) endfunction function! SpaceVim#plugins#pmd#debug() abort call s:CMD.debug() call s:JOB.debug() endfunction function! SpaceVim#plugins#pmd#complete(ArgLead, CmdLine, CursorPos) abort return s:CMD.complete(a:ArgLead, a:CmdLine, a:CursorPos) endfunction ================================================ FILE: autoload/SpaceVim/plugins/projectmanager.vim ================================================ "============================================================================= " projectmanager.vim --- project manager for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if has('nvim-0.5.0') function! SpaceVim#plugins#projectmanager#complete_project(ArgLead, CmdLine, CursorPos) abort return luaeval('require("spacevim.plugin.projectmanager").complete_project(' \ .'require("spacevim").eval("a:ArgLead"),' \ .'require("spacevim").eval("a:CmdLine"),' \ .'require("spacevim").eval("a:CursorPos"))') endfunction function! SpaceVim#plugins#projectmanager#OpenProject(p) abort lua require("spacevim.plugin.projectmanager").OpenProject( \ require("spacevim").eval("a:p") \ ) endfunction function! SpaceVim#plugins#projectmanager#list() abort lua require("spacevim.plugin.projectmanager").list() endfunction function! SpaceVim#plugins#projectmanager#open(project) abort lua require("spacevim.plugin.projectmanager").open( \ require("spacevim").eval("a:project") \ ) endfunction function! SpaceVim#plugins#projectmanager#current_name() abort return luaeval('require("spacevim.plugin.projectmanager").current_name()') endfunction function! SpaceVim#plugins#projectmanager#RootchandgeCallback() abort lua require("spacevim.plugin.projectmanager").RootchandgeCallback() endfunction function! SpaceVim#plugins#projectmanager#reg_callback(func, ...) abort if a:0 == 0 lua require("spacevim.plugin.projectmanager").reg_callback( \ require("spacevim").eval("string(a:func)") \ ) else lua require("spacevim.plugin.projectmanager").reg_callback( \ require("spacevim").eval("string(a:func)"), \ require("spacevim").eval("a:1") \ ) endif endfunction function! SpaceVim#plugins#projectmanager#current_root() abort return luaeval('require("spacevim.plugin.projectmanager").current_root()') endfunction function! SpaceVim#plugins#projectmanager#kill_project() abort lua require("spacevim.plugin.projectmanager").kill_project() endfunction else " project item: " { " "path" : "path/to/root", " "name" : "name of the project, by default it is name of root directory", " "type" : "git maven or svn", " } " let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:FILE = SpaceVim#api#import('file') " the name projectmanager is too long " use rooter instead let s:LOGGER =SpaceVim#logger#derive('rooter') call s:LOGGER.start_debug() let s:TIME = SpaceVim#api#import('time') let s:JSON = SpaceVim#api#import('data#json') let s:LIST = SpaceVim#api#import('data#list') let s:VIM = SpaceVim#api#import('vim') " use cd or lcd or tcd " if exists(':tcd') let s:cd = 'tcd' elseif exists(':lcd') let s:cd = 'lcd' else let s:cd = 'cd' endif function! s:update_rooter_patterns() abort let s:project_rooter_patterns = filter(copy(g:spacevim_project_rooter_patterns), 'v:val !~# "^!"') let s:project_rooter_ignores = map(filter(copy(g:spacevim_project_rooter_patterns), 'v:val =~# "^!"'), 'v:val[1:]') endfunction function! s:is_ignored_dir(dir) abort return len(filter(copy(s:project_rooter_ignores), 'a:dir =~# v:val')) > 0 endfunction call add(g:spacevim_project_rooter_patterns, '.SpaceVim.d/') let s:spacevim_project_rooter_patterns = copy(g:spacevim_project_rooter_patterns) call s:update_rooter_patterns() let s:project_paths = {} let s:project_cache_path = s:FILE.unify_path(g:spacevim_data_dir, ':p') . 'SpaceVim/projects.json' function! s:cache() abort try let rst = writefile([s:JSON.json_encode(s:project_paths)], s:FILE.unify_path(s:project_cache_path, ':p')) if rst !=# 0 call s:LOGGER.info('failed to write cache') endif catch endtry endfunction function! s:load_cache() abort if filereadable(s:project_cache_path) call s:LOGGER.info('Load projects cache from: ' . s:project_cache_path) let cache_context = join(readfile(s:project_cache_path, ''), '') if !empty(cache_context) let cache_object = s:JSON.json_decode(cache_context) if s:VIM.is_dict(cache_object) let s:project_paths = filter(cache_object, '!empty(v:key)') endif endif else call s:LOGGER.info('projects cache file does not exists!') endif endfunction if g:spacevim_enable_projects_cache call s:load_cache() endif let g:unite_source_menu_menus = \ get(g:,'unite_source_menu_menus',{}) let g:unite_source_menu_menus.Projects = {'description': \ 'Custom mapped keyboard shortcuts [SPC] p p'} let g:unite_source_menu_menus.Projects.command_candidates = \ get(g:unite_source_menu_menus.Projects,'command_candidates', []) function! s:cache_project(prj) abort let s:project_paths[a:prj.path] = a:prj let g:unite_source_menu_menus.Projects.command_candidates = [] for key in s:sort_by_opened_time() let desc = '[' . s:project_paths[key].name . '] ' . s:project_paths[key].path . ' <' . strftime('%Y-%m-%d %T', s:project_paths[key].opened_time) . '>' let cmd = "call SpaceVim#plugins#projectmanager#open('" . s:project_paths[key].path . "')" call add(g:unite_source_menu_menus.Projects.command_candidates, [desc, cmd, s:project_paths[key]]) endfor if g:spacevim_enable_projects_cache call s:cache() endif endfunction " sort projects based on opened_time, and remove extra projects based on " projects_cache_num function! s:sort_by_opened_time() abort let paths = keys(s:project_paths) let paths = sort(paths, function('s:compare_time')) if g:spacevim_projects_cache_num > 0 && s:LIST.has_index(paths, g:spacevim_projects_cache_num) for path in paths[g:spacevim_projects_cache_num :] call remove(s:project_paths, path) endfor let paths = paths[:g:spacevim_projects_cache_num - 1] endif return paths endfunction function! s:compare_time(d1, d2) abort let proj1 = get(s:project_paths, a:d1, {}) let proj1time = get(proj1, 'opened_time', 0) let proj2 = get(s:project_paths, a:d2, {}) let proj2time = get(proj2, 'opened_time', 0) return proj2time - proj1time endfunction function! s:change_dir(dir) abort let bufname = bufname('%') if empty(bufname) let bufname = 'No Name' endif call s:LOGGER.info('buffer name: ' . bufname) if a:dir ==# s:FILE.unify_path(getcwd()) call s:LOGGER.info('same as current directory, no need to change.') else call s:LOGGER.info('change to root: ' . a:dir) exe s:cd fnameescape(fnamemodify(a:dir, ':p')) try let b:git_dir = fugitive#extract_git_dir(expand('%:p')) catch endtry endif endfunction if g:spacevim_project_auto_root augroup spacevim_project_rooter autocmd! autocmd VimEnter,BufEnter * call SpaceVim#plugins#projectmanager#current_root() autocmd BufWritePost * :call setbufvar('%', 'rootDir', '') | call SpaceVim#plugins#projectmanager#current_root() augroup END endif function! s:find_root_directory() abort " confused about expand and fnamemodify " ref: https://github.com/vim/vim/issues/6793 " response from Bram Moolenaar " When there is no file name there also isn't a directory in which that " file exists. Perhaps expand('%:p') should result in an error. " Returning an empty string is basically the same as returning an error. " " fnamemodify() doesn't use the current file name. Now what should it do " with an empty string? Not sure. Anyway, the current behavoir is what " users rely on, so let's not change it. " get the current path of buffer or working dir let fd = expand('%:p') if empty(fd) let fd = getcwd() endif let dirs = [] call s:LOGGER.info('Start to find root for: ' . s:FILE.unify_path(fd)) for pattern in s:project_rooter_patterns if stridx(pattern, '/') != -1 if g:spacevim_project_rooter_outermost let find_path = s:FILE.finddir(pattern, fd, -1) else let find_path = s:FILE.finddir(pattern, fd) endif else if g:spacevim_project_rooter_outermost let find_path = s:FILE.findfile(pattern, fd, -1) else let find_path = s:FILE.findfile(pattern, fd) endif endif let path_type = getftype(find_path) if ( path_type ==# 'dir' || path_type ==# 'file' ) \ && !s:is_ignored_dir(find_path) let find_path = s:FILE.unify_path(find_path, ':p') if path_type ==# 'dir' let dir = s:FILE.unify_path(find_path, ':h:h') else let dir = s:FILE.unify_path(find_path, ':h') endif if dir !=# s:FILE.unify_path(expand('$HOME')) call s:LOGGER.info(' (' . pattern . '):' . dir) call add(dirs, dir) endif endif endfor return s:sort_dirs(deepcopy(dirs)) endfunction function! s:sort_dirs(dirs) abort let dir = get(sort(a:dirs, function('s:compare')), 0, '') let bufdir = getbufvar('%', 'rootDir', '') if bufdir ==# dir return '' else return dir endif endfunction function! s:compare(d1, d2) abort if !g:spacevim_project_rooter_outermost return len(split(a:d2, '/')) - len(split(a:d1, '/')) else return len(split(a:d1, '/')) - len(split(a:d2, '/')) endif endfunction let s:FILE = SpaceVim#api#import('file') function! SpaceVim#plugins#projectmanager#complete_project(ArgLead, CmdLine, CursorPos) abort call SpaceVim#commands#debug#completion_debug(a:ArgLead, a:CmdLine, a:CursorPos) let dir = get(g:,'spacevim_src_root', '~') "return globpath(dir, '*') let result = split(globpath(dir, '*'), "\n") let ps = [] for p in result if isdirectory(p) && isdirectory(p . s:FILE.separator . '.git') call add(ps, fnamemodify(p, ':t')) endif endfor return join(ps, "\n") endfunction function! SpaceVim#plugins#projectmanager#OpenProject(p) abort let dir = get(g:, 'spacevim_src_root', '~') let project_root = s:FILE.unify_path(dir, ':p') . a:p if isdirectory(project_root) call execute('tabnew | cd ' . project_root . ' | Startify') endif endfunction " this function will use fuzzy find layer, now only denite and unite are " supported. function! SpaceVim#plugins#projectmanager#list() abort if SpaceVim#layers#isLoaded('unite') Unite menu:Projects elseif SpaceVim#layers#isLoaded('denite') Denite menu:Projects elseif SpaceVim#layers#isLoaded('fzf') FzfMenu Projects elseif SpaceVim#layers#isLoaded('leaderf') call SpaceVim#layers#leaderf#run_menu('Projects') elseif SpaceVim#layers#isLoaded('telescope') Telescope project else call SpaceVim#logger#warn('fuzzy find layer is needed to find project!') endif endfunction function! SpaceVim#plugins#projectmanager#open(project) abort let path = s:project_paths[a:project]['path'] tabnew exe s:cd path if g:spacevim_filemanager ==# 'vimfiler' Startify | VimFiler elseif g:spacevim_filemanager ==# 'nerdtree' Startify | NERDTree elseif g:spacevim_filemanager ==# 'defx' Startify | Defx endif endfunction function! SpaceVim#plugins#projectmanager#current_name() abort return get(b:, '_spacevim_project_name', '') endfunction " This function is called when projectmanager change the directory. " " What should be cached? " only the directory and project name. function! SpaceVim#plugins#projectmanager#RootchandgeCallback() abort let project = { \ 'path' : getcwd(), \ 'name' : fnamemodify(getcwd(), ':t'), \ 'opened_time' : localtime() \ } if empty(project.path) return endif call s:cache_project(project) let g:_spacevim_project_name = project.name let b:_spacevim_project_name = g:_spacevim_project_name for Callback in s:project_callback try call call(Callback, []) catch endtry endfor endfunction let s:project_callback = [] function! SpaceVim#plugins#projectmanager#reg_callback(func, ...) abort " support second argv if type(a:func) == 2 call add(s:project_callback, a:func) else call SpaceVim#logger#warn('can not register the project callback: ' . get(a:000, 0, string(a:func))) endif endfunction function! SpaceVim#plugins#projectmanager#current_root() abort " skip specific buffer for plugins " - denite.nvim " - defx if bufname('%') =~# '\[denite\]' \ || bufname('%') ==# 'denite-filter' \ || bufname('%') ==# '\[defx\]' \ || &autochdir == 1 return endif if join(g:spacevim_project_rooter_patterns, ':') !=# join(s:spacevim_project_rooter_patterns, ':') call s:LOGGER.info('project_rooter_patterns option has been change, clear b:rootDir') call setbufvar('%', 'rootDir', '') let s:spacevim_project_rooter_patterns = copy(g:spacevim_project_rooter_patterns) call s:update_rooter_patterns() endif let rootdir = getbufvar('%', 'rootDir', '') if empty(rootdir) let rootdir = s:find_root_directory() if !empty(rootdir) call setbufvar('%', 'rootDir', rootdir) endif endif if !empty(rootdir) call s:change_dir(rootdir) call SpaceVim#plugins#projectmanager#RootchandgeCallback() else if g:spacevim_project_non_root ==# 'current' let dir = fnamemodify(expand('%'), ':p:h') if isdirectory(dir) call s:change_dir(dir) endif elseif g:spacevim_project_non_root ==# 'home' && filereadable(expand('%')) let dir = fnamemodify(expand('~'), ':p') if isdirectory(dir) call s:change_dir(dir) endif endif endif return rootdir endfunction function! SpaceVim#plugins#projectmanager#kill_project() abort let name = get(b:, '_spacevim_project_name', '') if name !=# '' call s:BUFFER.filter_do( \ { \ 'expr' : [ \ 'buflisted(v:val)', \ 'getbufvar(v:val, "_spacevim_project_name") == "' . name . '"', \ ], \ 'do' : 'bd %d' \ } \ ) endif endfunction endif " vim:set et nowrap sw=2 cc=80: ================================================ FILE: autoload/SpaceVim/plugins/quickfix.vim ================================================ "============================================================================= " quickfix.vim --- quickfix for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " this is a build-in quickfix list and location list plugin for SpaceVim, and " it should works well for both quickfix list and location list. The public " key bindings is: " 1. jump to next position in qflist " 2. jump to previous position in qflist " 3. open qflist if it is available let s:qflist = [] let s:qf_title = '' let s:filestack = [] let s:qf_index = 0 let s:qf_bufnr = -1 " like setqflist() function! SpaceVim#plugins#quickfix#setqflist(list, ...) abort let action = get(a:000, 0, ' ') if action ==# 'a' call extend(s:qflist, a:list) elseif action ==# 'r' let s:qflist = a:list elseif empty(action) || action ==# ' ' let s:qflist = a:list else echohl Error echo 'wrong args for SpaceVim setqflist: ' . action echohl NONE endif let what = get(a:000, 1, {}) if has_key(what, 'title') let s:qf_title = what.title endif endfunction function! SpaceVim#plugins#quickfix#getqflist() abort return s:qflist endfunction function! SpaceVim#plugins#quickfix#next() abort let s:qf_index += 1 let file = get(s:filestack, s:qf_index, {}) if !empty(file) wincmd p exe 'e' file.name exe file.lnum endif endfunction function! SpaceVim#plugins#quickfix#pre() abort let s:qf_index -= 1 let file = get(s:filestack, s:qf_index, {}) if !empty(file) wincmd p exe 'e' file.name exe file.lnum endif endfunction function! SpaceVim#plugins#quickfix#enter() abort let s:qf_index = line('.') - 1 let file = get(s:filestack, s:qf_index, {}) if !empty(file) wincmd p exe 'e' file.name exe file.lnum endif endfunction let s:BUFFER = SpaceVim#api#import('vim#buffer') function! SpaceVim#plugins#quickfix#openwin() abort call s:BUFFER.open({ \ 'bufname' : '__quickfix__', \ 'cmd' : 'setl buftype=nofile bufhidden=wipe filetype=SpaceVimQuickFix nomodifiable nowrap nobuflisted', \ 'mode' : 'rightbelow split ', \ }) let s:qf_bufnr = bufnr('%') call s:BUFFER.resize(10, '') call s:mappings() call s:update_stack() let lines = [] for file in s:qflist let line = '' if has_key(file, 'abbr') let line .= file.abbr elseif has_key(file, 'filename') let line .= file.name elseif has_key(file, 'bufnr') let line .= bufname(file.bufnr) endif let line .= ' ' if has_key(file, 'type') let line .= '|' . file.type . '| ' endif let line .= file.text call add(lines, line) endfor call setbufvar(bufnr('%'),'&ma', 1) call s:BUFFER.buf_set_lines(bufnr('%'), 0, len(lines) - 1, 0, lines) call setbufvar(bufnr('%'),'&ma', 0) endfunction function! s:mappings() abort nnoremap :call SpaceVim#plugins#quickfix#enter() nnoremap q :close endfunction function! s:update_stack() abort let s:filestack = [] for item in s:qflist let file = {} if has_key(item, 'bufnr') && bufexists(item.bufnr) let file.name = bufname(item.bufnr) elseif has_key(item, 'bufname') let file.name = item.bufname elseif has_key(item, 'filename') let file.name = item.filename else let file.name = '' endif let file.lnum = item.lnum let file.col = item.col call add(s:filestack, file) endfor endfunction function! SpaceVim#plugins#quickfix#swapqf() abort try cclose catch endtry call SpaceVim#plugins#quickfix#setqflist(getqflist()) call SpaceVim#plugins#quickfix#openwin() endfunction " :cclose only close quickfix windows on current tab, this func can close all " qucikfix windows in all tabs when pass an argv to this func. function! SpaceVim#plugins#quickfix#closewin(...) abort let close_all = get(a:000, 1, 0) let has_qf = bufexists('__quickfix__') if !has_qf return endif if close_all else call s:close_qfwin() endif endfunction function! s:close_qfwin() abort let wr = bufwinnr(s:qf_bufnr) if wr > -1 exe wr . 'wincmd w' close endif endfunction ================================================ FILE: autoload/SpaceVim/plugins/repl.vim ================================================ "============================================================================= " repl.vim --- REPL process support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if has('nvim-0.9.0') function! SpaceVim#plugins#repl#send(type, ...) abort if a:type == 'raw' lua require('spacevim.plugin.repl').send( \ require('spacevim').eval('a:type'), \ require('spacevim').eval("get(a:000, 0, '')") \ ) else lua require('spacevim.plugin.repl').send( \ require('spacevim').eval('a:type') \ ) endif endfunction function! SpaceVim#plugins#repl#start(ft) abort lua require("spacevim.plugin.repl").start( \ require("spacevim").eval("a:ft") \ ) endfunction function! SpaceVim#plugins#repl#status() abort return luaeval('require("spacevim.plugin.repl").status()') endfunction function! SpaceVim#plugins#repl#reg(ft, execute) abort lua require("spacevim.plugin.repl").reg( \ require("spacevim").eval("a:ft"), \ require("spacevim").eval("a:execute") \ ) endfunction finish endif "" " @section repl, usage-repl " @parentsection usage " In language layer, REPL key bindings has been added. To start a REPL " process, the default key binding is `SPC l s i` . Key bindings for sending " code to REPL process only support following types: `line`, `selection` and " `buffer` . All of the key binding is mapped to function " `SpaceVim#plugins#repl#send`. The first argument is {type}. To send raw " string, use `raw` as type, for example: " > " call SpaceVim#plugins#repl#send('raw', 'print("hello world!")') " > let s:JOB = SpaceVim#api#import('job') let s:VIM = SpaceVim#api#import('vim') let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:WINDOW = SpaceVim#api#import('vim#window') let s:STRING = SpaceVim#api#import('data#string') let s:SPI = SpaceVim#api#import('unicode#spinners') let s:LOGGER =SpaceVim#logger#derive('repl') augroup spacevim_repl autocmd! autocmd VimLeavePre * call s:close() augroup END function! SpaceVim#plugins#repl#start(ft) abort call s:LOGGER.info('start repl for filetype:' . a:ft) let exe = get(s:exes, a:ft, '') call s:LOGGER.info('get the command:' . a:ft) if !empty(exe) call s:start(exe) else echohl WarningMsg echo 'no REPL executable for current filetype' echohl None endif endfunction " supported argvs: " buffer: send current buffer to REPL process " line: send line under cursor to REPL process " selection: send selection text to REPL process " raw: send raw string to REPL process function! SpaceVim#plugins#repl#send(type, ...) abort if !exists('s:job_id') echom('Please start REPL via the key binding "SPC l s i" first.') elseif s:job_id == 0 echom('please restart the REPL') else if a:type ==# 'line' call s:JOB.send(s:job_id, [getline('.'), '']) elseif a:type ==# 'raw' let context = get(a:000, 0, '') if !empty(context) && s:VIM.is_string(context) call s:JOB.send(s:job_id, context) endif elseif a:type ==# 'buffer' call s:JOB.send(s:job_id, getline(1, '$') + ['']) elseif a:type ==# 'selection' let begin = getpos("'<") let end = getpos("'>") if begin[1] != 0 && end[1] != 0 call s:JOB.send(s:job_id, getline(begin[1], end[1]) + ['']) else echohl WarningMsg echo 'no selection text' echohl None endif endif endif endfunction function! s:start(exe) abort let s:lines = 0 let s:status = { \ 'is_running' : 1, \ 'is_exit' : 0, \ 'has_errors' : 0, \ 'exit_code' : 0 \ } let s:start_time = reltime() call s:open_windows() call s:BUFFER.buf_set_lines(s:bufnr, s:lines , s:lines + 3, 0, ['[REPL executable] ' . string(a:exe), '', repeat('-', 20)]) call s:WINDOW.set_cursor(s:winid, [s:BUFFER.line_count(s:bufnr), 0]) let s:lines += 3 let s:job_id = s:JOB.start(a:exe,{ \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ 'on_exit' : function('s:on_exit'), \ }) call s:SPI.apply('dot1', 'g:_spacevim_repl_spinners') endfunction " @vimlint(EVL103, 1, a:job_id) " @vimlint(EVL103, 1, a:data) " @vimlint(EVL103, 1, a:event) function! s:remove_lf(data) abort return map(a:data, 'substitute(v:val, nr2char(13) . "$", "", "g")') endfunction function! s:on_stdout(job_id, data, event) abort if bufexists(s:bufnr) call s:BUFFER.buf_set_lines(s:bufnr, s:lines , s:lines + 1, 0, s:remove_lf(a:data)) let s:lines += len(a:data) if s:WINDOW.get_cursor(s:winid)[0] == s:BUFFER.line_count(s:bufnr) - len(a:data) call s:WINDOW.set_cursor(s:winid, [s:BUFFER.line_count(s:bufnr), 0]) endif call s:update_statusline() endif endfunction function! s:on_stderr(job_id, data, event) abort let s:status.has_errors = 1 call s:on_stdout(a:job_id, a:data, a:event) endfunction function! s:on_exit(job_id, data, event) abort let s:end_time = reltime(s:start_time) let s:status.is_exit = 1 let s:status.exit_code = a:data let done = ['', '[Done] exited with code=' . a:data . ' in ' . s:STRING.trim(reltimestr(s:end_time)) . ' seconds'] if bufexists(s:bufnr) call s:BUFFER.buf_set_lines(s:bufnr, s:lines , s:lines + 1, 0, done) endif call s:update_statusline() let s:job_id = 0 endfunction function! s:update_statusline() abort redrawstatus! endfunction " @vimlint(EVL103, 0, a:job_id) " @vimlint(EVL103, 0, a:data) " @vimlint(EVL103, 0, a:event) function! s:close() abort " stop the job if it is running. if exists('s:job_id') && s:job_id > 0 call s:JOB.stop(s:job_id) let s:job_id = 0 endif if s:bufnr != 0 && bufexists(s:bufnr) exe 'bd ' s:bufnr endif endfunction function! s:close_repl() abort " stop the job if it is running. if exists('s:job_id') && s:job_id > 0 call s:JOB.stop(s:job_id) let s:job_id = 0 endif endfunction let s:exes = {} function! SpaceVim#plugins#repl#reg(ft, execute) abort call extend(s:exes, {a:ft : a:execute}) endfunction let g:_spacevim_repl_spinners = '' function! SpaceVim#plugins#repl#status() abort if s:status.is_running == 1 return 'running' . g:_spacevim_repl_spinners elseif s:status.is_exit == 1 return 'exit code : ' . s:status.exit_code \ . ' time: ' . s:STRING.trim(reltimestr(s:end_time)) endif endfunction let s:bufnr = 0 let s:winid = -1 function! s:open_windows() abort if s:bufnr != 0 && bufexists(s:bufnr) exe 'bd ' . s:bufnr endif botright split __REPL__ let lines = &lines * 30 / 100 exe 'resize ' . lines setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonu norelativenumber winfixheight nomodifiable set filetype=SpaceVimREPL nnoremap q :call close() nnoremap i :call insert() augroup spacevim_repl autocmd! autocmd BufWipeout call close_repl() augroup END let s:bufnr = bufnr('%') let s:winid = win_getid(winnr()) wincmd p endfunction function! s:insert() abort call inputsave() let input = input('input >') if !empty(input) && s:status.is_running == 1 call s:JOB.send(s:job_id, input) endif normal! : call inputrestore() endfunction ================================================ FILE: autoload/SpaceVim/plugins/runner.vim ================================================ "============================================================================= " runner.vim --- code runner for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section runner, plugins-runner " @parentsection plugins " The `code runner` plugin provides the ability to run code snippet or code " file for a variety of programming languages, as well as running custom commands. " " @subsection Key bindings " > " Key binding Description " SPC s r start default code runner " q close coder runner window " i insert text to background process " < " " @subsection defined a runner " " 1. The runner can be a string. which will be running directly. " " 2. The runner also can be a list with two items. each item has following " structure. " " > " { " "exe" : String, " "opt" : a List of arguments, " "targetopt" : String, the target option, " "usestdin" : Bollean, " } " < if has('nvim-0.9.0') function! SpaceVim#plugins#runner#get(ft) abort return luaeval('require("spacevim.plugin.runner").get(require("spacevim").eval("a:ft"))') endfunction function! SpaceVim#plugins#runner#open(...) abort lua require("spacevim.plugin.runner").open( \ unpack(require("spacevim").eval("a:000")) \ ) endfunction function! SpaceVim#plugins#runner#reg_runner(ft, runner) abort lua require("spacevim.plugin.runner").reg_runner( \ require("spacevim").eval("a:ft"), \ require("spacevim").eval("a:runner") \ ) endfunction function! SpaceVim#plugins#runner#status() abort return luaeval('require("spacevim.plugin.runner").status()') endfunction function! SpaceVim#plugins#runner#close() abort lua require("spacevim.plugin.runner").close() endfunction function! SpaceVim#plugins#runner#select_file() abort lua require("spacevim.plugin.runner").select_file() endfunction function! SpaceVim#plugins#runner#select_language() abort lua require("spacevim.plugin.runner").select_language() endfunction function! SpaceVim#plugins#runner#set_language(lang) abort endfunction function! SpaceVim#plugins#runner#run_task(task) abort lua require("spacevim.plugin.runner").run_task( \ require("spacevim").eval("a:task") \ ) endfunction function! SpaceVim#plugins#runner#clear_tasks() abort endfunction finish endif let s:runners = {} let s:JOB = SpaceVim#api#import('job') let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:STRING = SpaceVim#api#import('data#string') let s:FILE = SpaceVim#api#import('file') let s:VIM = SpaceVim#api#import('vim') let s:SYS = SpaceVim#api#import('system') let s:ICONV = SpaceVim#api#import('iconv') let s:NOTI = SpaceVim#api#import('notify') let s:LOGGER =SpaceVim#logger#derive('runner') call s:LOGGER.start_debug() " use code runner buffer for tab " " " the buffer number of code runner let s:code_runner_bufnr = 0 " @fixme win_getid requires vim 7.4.1557 let s:winid = -1 let s:target = '' let s:runner_lines = 0 let s:runner_jobid = 0 let s:runner_status = { \ 'is_running' : 0, \ 'has_errors' : 0, \ 'exit_code' : 0 \ } let s:task_status = {} let s:task_stdout = {} let s:task_stderr = {} let s:task_problem_matcher = {} function! s:open_win() abort if s:code_runner_bufnr !=# 0 && bufexists(s:code_runner_bufnr) \ && index(tabpagebuflist(), s:code_runner_bufnr) !=# -1 return endif botright split __runner__ let lines = &lines * 30 / 100 exe 'resize ' . lines setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonu norelativenumber winfixheight nomodifiable set filetype=SpaceVimRunner nnoremap q :call close() nnoremap i :call insert() nnoremap :call stop_runner() augroup spacevim_runner autocmd! autocmd BufWipeout call stop_runner() augroup END let s:code_runner_bufnr = bufnr('%') if exists('*win_getid') let s:winid = win_getid(winnr()) endif if !g:spacevim_code_runner_focus wincmd p endif endfunction function! s:insert() abort call inputsave() let input = input('input >') if !empty(input) && s:runner_status.is_running == 1 call s:JOB.send(s:runner_jobid, input) endif normal! : call inputrestore() endfunction function! s:async_run(runner, ...) abort if type(a:runner) == type('') " the runner is a string, the %s will be replaced as a file name. try let cmd = printf(a:runner, get(s:, 'selected_file', bufname('%'))) catch let cmd = a:runner endtry call s:LOGGER.info(' cmd:' . string(cmd)) call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , -1, 0, ['[Running] ' . cmd, '', repeat('-', 20)]) let s:runner_lines += 3 let s:start_time = reltime() let opts = get(a:000, 0, {}) let s:runner_jobid = s:JOB.start(cmd,extend({ \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ 'on_exit' : function('s:on_exit'), \ }, opts)) elseif type(a:runner) ==# type([]) && len(a:runner) ==# 2 " the runner is a list with two items " the first item is compile cmd, and the second one is running cmd. let s:target = s:FILE.unify_path(tempname(), ':p') let dir = fnamemodify(s:target, ':h') if !isdirectory(dir) call mkdir(dir, 'p') endif if type(a:runner[0]) == type({}) if type(a:runner[0].exe) == type(function('tr')) let exe = call(a:runner[0].exe, []) elseif type(a:runner[0].exe) ==# type('') let exe = [a:runner[0].exe] endif let usestdin = get(a:runner[0], 'usestdin', 0) let compile_cmd = exe + [get(a:runner[0], 'targetopt', '')] + [s:target] if usestdin let compile_cmd = compile_cmd + a:runner[0].opt else let compile_cmd = compile_cmd + a:runner[0].opt + [get(s:, 'selected_file', bufname('%'))] endif elseif type(a:runner[0]) ==# type('') let usestdin = 0 let compile_cmd = substitute(printf(a:runner[0], bufname('%')), '#TEMP#', s:target, 'g') endif if type(compile_cmd) == type([]) let compile_cmd_info = string(compile_cmd + (usestdin ? ['STDIN'] : [])) else let compile_cmd_info = compile_cmd . (usestdin ? ' STDIN' : '') endif call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , -1, 0, [ \ '[Compile] ' . compile_cmd_info, \ '[Running] ' . s:target, \ '', \ repeat('-', 20)]) let s:runner_lines += 4 let s:start_time = reltime() if type(compile_cmd) == type('') || (type(compile_cmd) == type([]) && executable(get(compile_cmd, 0, ''))) let s:runner_jobid = s:JOB.start(compile_cmd,{ \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ 'on_exit' : function('s:on_compile_exit'), \ }) if usestdin && s:runner_jobid > 0 let range = get(a:runner[0], 'range', [1, '$']) call s:JOB.send(s:runner_jobid, call('getline', range)) call s:JOB.chanclose(s:runner_jobid, 'stdin') endif else let exe = get(compile_cmd, 0, '') call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , -1, 0, [exe . ' is not executable, make sure ' . exe . ' is in your PATH']) endif elseif type(a:runner) == type({}) " the runner is a dict " keys: " exe : function, return a cmd list " string " usestdin: true, use stdin " false, use file name " range: empty, whole buffer " getline(a, b) if type(a:runner.exe) == type(function('tr')) let exe = call(a:runner.exe, []) elseif type(a:runner.exe) ==# type('') let exe = [a:runner.exe] endif let usestdin = get(a:runner, 'usestdin', 0) if usestdin let cmd = exe + a:runner.opt else let cmd = exe + a:runner.opt + [get(s:, 'selected_file', bufname('%'))] endif call s:LOGGER.info(' cmd:' . string(cmd)) call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , -1, 0, ['[Running] ' . join(cmd) . (usestdin ? ' STDIN' : ''), '', repeat('-', 20)]) let s:runner_lines += 3 let s:start_time = reltime() if !empty(exe) && executable(exe[0]) let s:runner_jobid = s:JOB.start(cmd,{ \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ 'on_exit' : function('s:on_exit'), \ }) if usestdin && s:runner_jobid > 0 let range = get(a:runner, 'range', [1, '$']) call s:JOB.send(s:runner_jobid, call('getline', range)) call s:JOB.chanclose(s:runner_jobid, 'stdin') endif else call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , -1, 0, [exe[0] . ' is not executable, make sure ' . exe[0] . ' is in your PATH']) endif endif if s:runner_jobid > 0 let s:runner_status = { \ 'is_running' : 1, \ 'has_errors' : 0, \ 'exit_code' : 0 \ } endif endfunction function! s:on_compile_exit(id, data, event) abort if a:id !=# s:runner_jobid " make sure the compile exit callback is for current compile command. return endif if a:data == 0 let s:runner_jobid = s:JOB.start(s:target,{ \ 'on_stdout' : function('s:on_stdout'), \ 'on_stderr' : function('s:on_stderr'), \ 'on_exit' : function('s:on_exit'), \ }) if s:runner_jobid > 0 let s:runner_status = { \ 'is_running' : 1, \ 'has_errors' : 0, \ 'exit_code' : 0 \ } endif else let s:end_time = reltime(s:start_time) let s:runner_status.is_running = 0 let s:runner_status.exit_code = a:data let done = ['', '[Done] exited with code=' . a:data . ' in ' . s:STRING.trim(reltimestr(s:end_time)) . ' seconds'] call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , s:runner_lines + 1, 0, done) endif call s:update_statusline() endfunction function! s:update_statusline() abort redrawstatus! endfunction function! SpaceVim#plugins#runner#reg_runner(ft, runner) abort let s:runners[a:ft] = a:runner let desc = printf('%-10S', a:ft) . string(a:runner) let cmd = "call SpaceVim#plugins#runner#set_language('" . a:ft . "')" call add(g:unite_source_menu_menus.RunnerLanguage.command_candidates, [desc,cmd]) endfunction function! SpaceVim#plugins#runner#get(ft) abort return deepcopy(get(s:runners, a:ft , '')) endfunction " this func should support specific a runner " the runner can be a string function! SpaceVim#plugins#runner#open(...) abort call s:stop_runner() let s:runner_jobid = 0 let s:runner_lines = 0 let s:runner_status = { \ 'is_running' : 0, \ 'has_errors' : 0, \ 'exit_code' : 0 \ } let selected_language = &filetype let runner = get(a:000, 0, get(s:runners, selected_language, '')) let opts = get(a:000, 1, {}) if !empty(runner) call s:open_win() call s:async_run(runner, opts) call s:update_statusline() endif endfunction " @vimlint(EVL103, 1, a:job_id) " @vimlint(EVL103, 1, a:data) " @vimlint(EVL103, 1, a:event) function! s:on_stdout(job_id, data, event) abort if a:job_id !=# s:runner_jobid " that means, a new runner has been opennd " this is previous runner exit_callback return endif if bufexists(s:code_runner_bufnr) if s:SYS.isWindows let data = map(a:data, 'substitute(v:val, "\r$", "", "g")') else let data = a:data endif call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , s:runner_lines + 1, 0, data) let s:runner_lines += len(data) if s:winid >= 0 call s:VIM.win_set_cursor(s:winid, [s:VIM.buf_line_count(s:code_runner_bufnr), 1]) endif call s:update_statusline() endif endfunction function! s:on_stderr(job_id, data, event) abort if a:job_id !=# s:runner_jobid " that means, a new runner has been opennd " this is previous runner exit_callback return endif let s:runner_status.has_errors = 1 if bufexists(s:code_runner_bufnr) call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , s:runner_lines + 1, 0, a:data) endif let s:runner_lines += len(a:data) if s:winid >= 0 call s:VIM.win_set_cursor(s:winid, [s:VIM.buf_line_count(s:code_runner_bufnr), 1]) endif call s:update_statusline() endfunction function! s:on_exit(job_id, data, event) abort if a:job_id !=# s:runner_jobid " that means, a new runner has been opennd " this is previous runner exit_callback return endif let s:end_time = reltime(s:start_time) let s:runner_status.is_running = 0 let s:runner_status.exit_code = a:data let done = ['', '[Done] exited with code=' . a:data . ' in ' . s:STRING.trim(reltimestr(s:end_time)) . ' seconds'] if bufexists(s:code_runner_bufnr) call s:BUFFER.buf_set_lines(s:code_runner_bufnr, s:runner_lines , s:runner_lines + 1, 0, done) call s:VIM.win_set_cursor(s:winid, [s:VIM.buf_line_count(s:code_runner_bufnr), 1]) call s:update_statusline() endif endfunction " @vimlint(EVL103, 0, a:job_id) " @vimlint(EVL103, 0, a:data) " @vimlint(EVL103, 0, a:event) function! SpaceVim#plugins#runner#status() abort let running_nr = len(filter(values(s:task_status), 'v:val.is_running')) + s:runner_status.is_running let running_done = len(filter(values(s:task_status), '!v:val.is_running')) return printf(' %s running, %s done', running_nr, running_done) endfunction function! s:close() abort call s:stop_runner() if s:code_runner_bufnr != 0 && bufexists(s:code_runner_bufnr) exe 'bd ' s:code_runner_bufnr endif endfunction function! s:stop_runner() abort if s:runner_status.is_running == 1 call s:JOB.stop(s:runner_jobid) endif endfunction function! SpaceVim#plugins#runner#close() abort call s:close() endfunction function! SpaceVim#plugins#runner#select_file() abort let s:runner_lines = 0 let s:runner_status = { \ 'is_running' : 0, \ 'is_exit' : 0, \ 'has_errors' : 0, \ 'exit_code' : 0 \ } let s:selected_file = browse(0,'select a file to run', getcwd(), '') let runner = get(a:000, 0, get(s:runners, &filetype, '')) let s:selected_language = &filetype if !empty(runner) call s:LOGGER.info('Code runner startting:') call s:LOGGER.info('selected file :' . s:selected_file) call s:open_win() call s:async_run(runner) call s:update_statusline() endif endfunction let g:unite_source_menu_menus = \ get(g:,'unite_source_menu_menus',{}) let g:unite_source_menu_menus.RunnerLanguage = {'description': \ 'Custom mapped keyboard shortcuts [SPC] p p'} let g:unite_source_menu_menus.RunnerLanguage.command_candidates = \ get(g:unite_source_menu_menus.RunnerLanguage,'command_candidates', []) function! SpaceVim#plugins#runner#select_language() abort " @todo use denite or unite to select language " and set the s:selected_language " the all language is keys(s:runners) if SpaceVim#layers#isLoaded('denite') Denite menu:RunnerLanguage elseif SpaceVim#layers#isLoaded('leaderf') Leaderf menu --name RunnerLanguage endif endfunction function! SpaceVim#plugins#runner#set_language(lang) abort " @todo use denite or unite to select language " and set the s:selected_language " the all language is keys(s:runners) let s:selected_language = a:lang endfunction function! SpaceVim#plugins#runner#run_task(task) abort let isBackground = get(a:task, 'isBackground', 0) if !empty(a:task) let cmd = get(a:task, 'command', '') let args = get(a:task, 'args', []) let opts = get(a:task, 'options', {}) if !empty(args) && !empty(cmd) let cmd = cmd . ' ' . join(args, ' ') endif let opt = {} if !empty(opts) && has_key(opts, 'cwd') && !empty(opts.cwd) call extend(opt, {'cwd' : opts.cwd}) endif if !empty(opts) && has_key(opts, 'env') && !empty(opts.env) call extend(opt, {'env' : opts.env}) endif let problemMatcher = get(a:task, 'problemMatcher', {}) if isBackground call s:run_backgroud(cmd, opt, problemMatcher) else call SpaceVim#plugins#runner#open(cmd, opt, problemMatcher) endif endif endfunction function! s:match_problems(output, matcher) abort if has_key(a:matcher, 'pattern') let pattern = a:matcher.pattern let items = [] for line in a:output let rst = matchlist(line, pattern.regexp) let file = get(rst, get(pattern, 'file', 1), '') let line = get(rst, get(pattern, 'line', 2), 1) let column = get(rst, get(pattern, 'column', 3), 1) let message = get(rst, get(pattern, 'message', 4), '') if !empty(file) call add(items, { \ 'filename' : file, \ 'lnum' : line, \ 'col' : column, \ 'text' : message, \ }) endif endfor call setqflist([], 'r', {'title' : ' task output', \ 'items' : items, \ }) copen copen else try let olderrformat = &errorformat if has_key(a:matcher, 'errorformat') let &errorformat = a:matcher.errorformat let cmd = 'noautocmd cexpr a:output' exe cmd call setqflist([], 'a', {'title' : ' task output'}) copen endif finally let &errorformat = olderrformat endtry endif endfunction function! s:on_backgroud_stdout(job_id, data, event) abort let data = get(s:task_stdout, 'task' . a:job_id, []) + a:data let s:task_stdout['task' . a:job_id] = data endfunction function! s:on_backgroud_stderr(job_id, data, event) abort let data = get(s:task_stderr, 'task' . a:job_id, []) + a:data let s:task_stderr['task' . a:job_id] = data endfunction function! s:on_backgroud_exit(job_id, data, event) abort let task_status = get(s:task_status, 'task' . a:job_id, { \ 'is_running' : 0, \ 'has_errors' : 0, \ 'start_time' : 0, \ 'exit_code' : 0 \ }) let end_time = reltime(task_status.start_time) let task_problem_matcher = get(s:task_problem_matcher, 'task' . a:job_id, {}) if get(task_problem_matcher, 'useStdout', 0) let output = get(s:task_stdout, 'task' . a:job_id, []) else let output = get(s:task_stderr, 'task' . a:job_id, []) endif if !empty(task_problem_matcher) && !empty(output) call s:match_problems(output, task_problem_matcher) endif call s:NOTI.notify('task finished with code=' . a:data . ' in ' . s:STRING.trim(reltimestr(end_time)) . ' seconds') endfunction function! s:run_backgroud(cmd, ...) abort " how many tasks are running? " " echo 'tasks: 1 running, 2 done' let running_nr = len(filter(values(s:task_status), 'v:val.is_running')) + 1 let running_done = len(filter(values(s:task_status), '!v:val.is_running')) call s:NOTI.notify(printf('tasks: %s running, %s done', running_nr, running_done)) let opts = get(a:000, 0, {}) " this line can not be removed. let s:start_time = reltime() let start_time = reltime() let problemMatcher = get(a:000, 1, {}) if !has_key(problemMatcher, 'errorformat') && !has_key(problemMatcher, 'regexp') call extend(problemMatcher, {'errorformat' : &errorformat}) endif let task_id = s:JOB.start(a:cmd,extend({ \ 'on_stdout' : function('s:on_backgroud_stdout'), \ 'on_exit' : function('s:on_backgroud_exit'), \ }, opts)) call extend(s:task_problem_matcher, {'task' . task_id : problemMatcher}) call extend(s:task_status, {'task' . task_id : { \ 'is_running' : 1, \ 'has_errors' : 0, \ 'start_time' : start_time, \ 'exit_code' : 0 \ }}) endfunction function! SpaceVim#plugins#runner#clear_tasks() abort for taskid in keys(s:task_status) if s:task_status[taskid].is_running ==# 1 call remove(s:task_status, taskid) endif endfor endfunction ================================================ FILE: autoload/SpaceVim/plugins/scrollbar.vim ================================================ "============================================================================= " scrollbar.vim --- scrollbar support for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section scrollbar, plugins-scrollbar " @parentsection plugins " The `scrollbar` plugin provides a scrollbar for current windows. There are " two versions in SpaceVim. " " 1. Old version is written in Vim script for vim and < nvim 0.9.0 " 2. The new version is written in Lua, and require `has('nvim-0.9.0')` " " This plugin is included in @section(layers-ui). if has('nvim-0.9.0') function! SpaceVim#plugins#scrollbar#usable() abort return luaeval('require("spacevim.plugin.scrollbar").usable()') endfunction function! SpaceVim#plugins#scrollbar#show() abort lua require('spacevim.plugin.scrollbar').show() endfunction function! SpaceVim#plugins#scrollbar#clear(...) abort lua require('spacevim.plugin.scrollbar').clear() endfunction finish endif let s:VIM = SpaceVim#api#import('vim') let s:BUF = SpaceVim#api#import('vim#buffer') let s:WIN = SpaceVim#api#import('vim#window') if has('nvim') let s:FLOAT = SpaceVim#api#import('neovim#floating') else let s:FLOAT = SpaceVim#api#import('vim#floating') endif let s:HI = SpaceVim#api#import('vim#highlight') let s:LOG = SpaceVim#logger#derive('scrollbar') scriptencoding utf-8 let s:default = { \ 'max_size' : 10, \ 'min_size' : 5, \ 'width' : 1, \ 'right_offset' : 1, \ 'excluded_filetypes' : ['startify', 'git-commit','leaderf', 'NvimTree', 'tagbar', 'defx', 'neo-tree', 'qf'], \ 'shape' : { \ 'head' : '▲', \ 'body' : '█', \ 'tail' : '▼', \ }, \ 'highlight' : { \ 'head' : 'Normal', \ 'body' : 'Normal', \ 'tail' : 'Normal', \ } \ } augroup spacevim_scrollbar autocmd! augroup END let s:scrollbar_bufnr = -1 let s:scrollbar_winid = -1 let s:scrollbar_size = -1 function! SpaceVim#plugins#scrollbar#usable() abort return s:FLOAT.exists() endfunction " vim script do not support metatable function function! s:get(key) abort let val = get(g:, 'scrollbar_' . a:key, v:null) if val ==# v:null return s:default[a:key] endif if s:VIM.is_dict(val) let val = extend(val, s:default[a:key], 'keep') endif return val endfunction " this is only supported in neovim if exists('*nvim_create_namespace') let s:ns_id = nvim_create_namespace('scrollbar') function! s:add_highlight(bufnr, size) abort let highlight = s:get('highlight') call nvim_buf_add_highlight(a:bufnr, s:ns_id, highlight.head, 0, 0, -1) for i in range(1, a:size - 2) call nvim_buf_add_highlight(a:bufnr, s:ns_id, highlight.body, i, 0, -1) endfor call nvim_buf_add_highlight(a:bufnr, s:ns_id, highlight.tail, a:size - 1, 0, -1) endfunction else function! s:add_highlight(bufnr, size) abort endfunction endif function! s:gen_bar_lines(size) abort let shape = s:get('shape') let lines = [shape.head] for _ in range(2, a:size - 1) call add(lines, shape.body) endfor call add(lines, shape.tail) return lines endfunction function! s:fix_size(size) abort return float2nr(max([s:get('min_size'), min([s:get('max_size'), a:size])])) endfunction function! s:create_scrollbar_buffer(size, lines) abort if !bufexists(s:scrollbar_bufnr) let s:scrollbar_bufnr = s:BUF.create_buf(0, 1) endif call s:BUF.buf_set_lines(s:scrollbar_bufnr, 0, -1, 0, a:lines) call s:add_highlight(s:scrollbar_bufnr, a:size) call setbufvar(s:scrollbar_bufnr, '&buftype', 'nofile') return s:scrollbar_bufnr endfunction function! SpaceVim#plugins#scrollbar#show() abort let saved_ei = &eventignore let &ei = 'all' let [winnr, bufnr, winid] = [winnr(), bufnr(), win_getid()] if s:WIN.is_float(winid) call SpaceVim#plugins#scrollbar#clear() let &ei = saved_ei return endif let excluded_filetypes = s:get('excluded_filetypes') if &filetype == '' || index(excluded_filetypes, &filetype) !=# -1 call SpaceVim#plugins#scrollbar#clear() let &ei = saved_ei return endif let total = line('$') let height = winheight(winnr) if total <= height call SpaceVim#plugins#scrollbar#clear() let &ei = saved_ei return endif " the position should be based on first line of current screen. let curr_line = line('w0') let bar_size = s:fix_size(height * height / total) let width = winwidth(winnr) let col = width - s:get('width') - s:get('right_offset') " first, you need to know the precision let precision = height - bar_size let each_line = (total - height) * 1.0 / precision let visble_line = min([curr_line, total - height + 1]) if each_line >= 1 let row = float2nr(visble_line / each_line) else let row = float2nr(visble_line / each_line - 1 / each_line) endif let opts = { \ 'style' : 'minimal', \ 'relative' : 'win', \ 'win' : winid, \ 'width' : s:get('width'), \ 'height' : bar_size, \ 'row' : row, \ 'col' : float2nr(col), \ 'focusable' : 0, \ } if has('nvim-0.5.0') let opts.zindex = 10 endif if s:WIN.is_float(s:scrollbar_winid) if bar_size !=# s:scrollbar_size let s:scrollbar_size = bar_size let bar_lines = s:gen_bar_lines(bar_size) call s:BUF.buf_set_lines(s:scrollbar_bufnr, 0, -1, 0, bar_lines) call s:add_highlight(s:scrollbar_bufnr, bar_size) endif noautocmd call s:FLOAT.win_config(s:scrollbar_winid, opts) else let s:scrollbar_size = bar_size let bar_lines = s:gen_bar_lines(bar_size) let s:scrollbar_bufnr = s:create_scrollbar_buffer(bar_size, bar_lines) let s:scrollbar_winid = s:FLOAT.open_win(s:scrollbar_bufnr, 0, opts) if exists('&winhighlight') call setwinvar(win_id2win(s:scrollbar_winid), '&winhighlight', 'Normal:ScrollbarWinHighlight') endif endif let &ei = saved_ei endfunction " the first argument is buffer number function! SpaceVim#plugins#scrollbar#clear(...) abort if s:WIN.is_float(s:scrollbar_winid) call s:FLOAT.win_close(s:scrollbar_winid, 1) endif endfunction ================================================ FILE: autoload/SpaceVim/plugins/searcher.vim ================================================ "============================================================================= " searcher.vim --- project searcher for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:JOB = SpaceVim#api#import('job') let s:rst = [] function! SpaceVim#plugins#searcher#find(expr, exe) abort if empty(a:expr) let expr = input('search expr: ') normal! : else let expr = a:expr endif let s:rst = [] let id = s:JOB.start(s:get_search_cmd(a:exe, expr), { \ 'on_stdout' : function('s:search_stdout'), \ 'on_stderr' : function('s:search_stderr'), \ 'in_io' : 'null', \ 'on_exit' : function('s:search_exit'), \ }) if id > 0 echohl Comment echo 'searching: ' . expr echohl None endif endfunction " @vimlint(EVL103, 1, a:id) " @vimlint(EVL103, 1, a:event) function! s:search_stdout(id, data, event) abort for data in a:data let info = split(data, '\:\d\+\:') if len(info) == 2 let [fname, text] = info let lnum = matchstr(data, '\:\d\+\:')[1:-2] call add(s:rst, { \ 'filename' : fnamemodify(fname, ':p'), \ 'lnum' : lnum, \ 'text' : text, \ }) endif endfor endfunction function! s:search_stderr(id, data, event) abort endfunction function! s:get_search_cmd(exe, expr) abort if a:exe ==# 'grep' return ['grep', '-inHR', '--exclude-dir', '.git', a:expr, '.'] elseif a:exe ==# 'rg' return ['rg', '-g!.git', '--hidden', '--no-heading', '--color=never', '--with-filename', '--line-number', a:expr, '.'] else return [a:exe, a:expr] endif endfunction " @vimlint(EVL103, 1, a:data) function! s:search_exit(id, data, event) abort let &l:statusline = SpaceVim#layers#core#statusline#get(1) call setqflist([], 'r', {'title': ' ' . len(s:rst) . ' items', \ 'items' : s:rst \ }) botright copen endfunction " @vimlint(EVL103, 0, a:data) " @vimlint(EVL103, 0, a:id) " @vimlint(EVL103, 0, a:event) function! SpaceVim#plugins#searcher#list() abort call setqflist([], 'r', {'title': ' ' . len(s:rst) . ' items', \ 'items' : s:rst \ }) botright copen endfunction function! SpaceVim#plugins#searcher#count() abort if empty(s:rst) return '' else return ' ' . len(s:rst) . ' items ' endif endfunction nnoremap (nohlsearch) :nohlsearch function! SpaceVim#plugins#searcher#clear() abort call feedkeys("\(nohlsearch)") let s:rst = [] call setqflist([]) let &l:statusline = SpaceVim#layers#core#statusline#get(1) cclose normal! : endfunction ================================================ FILE: autoload/SpaceVim/plugins/sidebar.vim ================================================ "============================================================================= " sidebar.vim --- sidebar manager for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " init option: " width: sidebar_width " direction: sidebar_direction function! SpaceVim#plugins#sidebar#open(...) abort TagbarOpen wincmd p nnoremap q :call SpaceVim#plugins#sidebar#close() split wincmd p wincmd p VimFiler -no-split nnoremap q :call SpaceVim#plugins#sidebar#close() endfunction function! SpaceVim#plugins#sidebar#toggle() abort call SpaceVim#plugins#sidebar#open() endfunction function! SpaceVim#plugins#sidebar#close() abort TagbarClose VimFiler endfunction ================================================ FILE: autoload/SpaceVim/plugins/tabmanager.vim ================================================ "============================================================================= " tabmanager.vim --- tab manager for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section tab manager, plugins-tabmanager " @parentsection plugins " The `tabmanager` plugin provides tab manager support for SpaceVim. " " @subsection Key bindings " > " Key binding Description " SPC t t open tab manager windows " < " " In the tab manager windows, the following key bindings can be used: " > " Key binding Description " --------------------------- " q close tab manager " o toggle tab " r rename tabpage " n create new named tabpage " N create new unamed tabpage " x delete tabpage " yy copy tabpage " p paste tabpage " Ctrl-Shift-Up move tabpage backward " Ctrl-Shift-Down move tabpage forward " < " APIs let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:TABs = SpaceVim#api#import('vim#tab') let s:bufferid = -1 let s:bufname = '__TabManager__' " init val let s:open_tabs = [] " Interface function! SpaceVim#plugins#tabmanager#open() abort if bufexists(s:bufferid) if index(tabpagebuflist(), s:bufferid) == -1 let s:bufferid = s:BUFFER.open( \ { \ 'bufname' : s:bufname, \ 'initfunc' : function('s:init_buffer'), \ } \ ) call s:BUFFER.resize(30) call s:update_context() else let winnr = bufwinnr(bufname(s:bufferid)) exe winnr . 'wincmd w' endif else let s:bufferid = s:BUFFER.open( \ { \ 'bufname' : s:bufname, \ 'initfunc' : function('s:init_buffer'), \ } \ ) stopinsert call s:BUFFER.resize(30) call s:update_context() endif endfunction " local functions function! s:init_buffer() abort setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nomodifiable nospell number norelativenumber winfixwidth setf SpaceVimTabsManager nnoremap q :bd nnoremap :cal jump() nnoremap o :call toggle() nnoremap r :call rename_tab() nnoremap n :call create_new_named_tab() nnoremap N :call create_new_unnamed_tab() nnoremap x :call delete_tab() nnoremap yy :call copy_tab() nnoremap p :call paste_tab() nnoremap :call move_tab_backward() nnoremap :call move_tab_forward() augroup spacevim_plugin_tabman_init autocmd! autocmd BufEnter call s:update_context() augroup END endfunction function! s:workspace_directory(tabnr) abort if exists(':tcd') return getcwd(-1, str2nr(a:tabnr)) elseif exists('*win_getid') return getcwd(win_getid(tabpagewinnr(a:tabnr))) elseif exists(':lcd') let bufnr = tabpagebuflist(a:tabnr)[tabpagewinnr(a:tabnr) - 1] return getbufvar('%', 'rootDir', '') endif endfunction function! s:update_context() abort setl modifiable silent! normal! gg"_dG let tree = s:TABs.get_tree() let ctx = [] for page in sort(keys(tree), s:Nsort) if gettabvar(page, 'spacevim_tabman_expandable', 1) == -1 call add(ctx, \ '▼ ' . (page == tabpagenr() ? '*' : ' ') \ . 'Tab ' . page \ . ' ' . gettabvar(page, '_spacevim_tab_name', fnamemodify(s:workspace_directory(page), ':t')) \ ) let winid = 1 for _buf in tree[page] if getbufvar(_buf, '&buflisted') call add(ctx, ' ' . winid . ' ' . fnamemodify(empty(bufname(_buf))? 'No Name' : bufname(_buf), ':t')) elseif getbufvar(_buf, '&buftype') ==# 'terminal' call add(ctx, ' ' . winid . ' Terminal') endif let winid += 1 endfor else call add(ctx, \ '▷ ' . (page == tabpagenr() ? '*' : ' ') \ . 'Tab ' . page \ . ' ' . gettabvar(page, '_spacevim_tab_name', fnamemodify(s:workspace_directory(page), ':t')) \ ) endif endfor silent! call setline(1, ctx) setl nomodifiable endfunction function! s:jump() abort if v:prevcount exe 'keepj' v:prevcount en let t = s:get_cursor_tabnr() let w = s:winid() noautocmd quit if t == tabpagenr() call s:TABs._jump(t, w - 1) else call s:TABs._jump(t, w) endif doautocmd WinEnter endfunction function! s:tabid() abort let line = line('.') if getline('.') =~# '^[▷▼] [ *]Tab ' let tabid = matchstr(getline(line), '\d\+') else let line = search('^[▷▼] [ *]Tab ','bWnc') let tabid = matchstr(getline(line), '\d\+') endif return tabid endfunction function! s:winid() abort let id = str2nr(split(getline('.'), ':')[0]) return id endfunction function! s:toggle() abort let tabid = s:get_cursor_tabnr() call settabvar(tabid, 'spacevim_tabman_expandable', \ gettabvar(tabid, 'spacevim_tabman_expandable', 1) * -1) call s:update_context() let line = search('^[▷▼] [ *]Tab ' . tabid,'wnc') exe line endfunction function! s:rename_tab() abort let tabid = s:get_cursor_tabnr() let line = search('^[▷▼] [ *]Tab ' . (tabid),'wc') let tabname = input('Tab name:', '') if !empty(tabname) call settabvar(tabid, '_spacevim_tab_name', tabname) set tabline=%!SpaceVim#layers#core#tabline#get() endif call s:update_context() exe line endfunction function! s:create_new_named_tab() abort let tabid = s:get_cursor_tabnr() let current_tab = tabpagenr() let tabname = input('Tab name:', '') if !empty(tabname) exe tabid . 'tabnew' let t:_spacevim_tab_name = tabname set tabline=%!SpaceVim#layers#core#tabline#get() else exe tabid . 'tabnew' endif if tabid >= current_tab exe 'tabnext ' . current_tab else exe 'tabnext ' . (current_tab + 1) endif call s:update_context() let line = search('^[▷▼] [ *]Tab ' . (tabid + 1),'wc') exe line endfunction function! s:create_new_unnamed_tab() abort let tabid = s:get_cursor_tabnr() let current_tab = tabpagenr() exe tabid . 'tabnew' if tabid >= current_tab exe 'tabnext ' . current_tab else exe 'tabnext ' . (current_tab + 1) endif call s:update_context() let line = search('^[▷▼] [ *]Tab ' . (tabid + 1),'wc') exe line endfunction function! s:delete_tab() abort let line = line('.') if getline('.') =~# '^[▷▼] [ *]Tab ' let tabid = matchstr(getline(line), '\d\+') if tabid ==# tabpagenr() call s:close_tab(tabid) else call s:close_tab(tabid) call s:update_context() endif set tabline=%!SpaceVim#layers#core#tabline#get() endif exe line endfunction function! s:close_tab(nr) abort if tabpagenr('$') == 1 echohl WarningMsg echon 'can not close the last tab' echohl NONE else exe 'tabclose' a:nr endif endfunction " 1. switch to the tab under cursor " 2. make session of current tab " 3. switch to previous tab let s:copy_tab_expand_status = 1 let s:copy_tab_name = '' function! s:copy_tab() abort let current_tab = tabpagenr() let line = line('.') let cursor_tab = s:get_cursor_tabnr() let s:copy_tab_expand_status = gettabvar(cursor_tab, 'spacevim_tabman_expandable', 1) let s:copy_tab_name = gettabvar(cursor_tab, '_spacevim_tab_name', '') exe 'tabnext ' . cursor_tab let save_sessionopts = &sessionoptions let tabsession = g:spacevim_data_dir.'SpaceVim/tabmanager_session.vim' let &sessionoptions = 'winsize' exe 'mksession! ' . tabsession exe 'tabnext ' . current_tab exe line endfunction function! s:get_cursor_tabnr() abort let line = line('.') if getline('.') =~# '^[▷▼] [ *]Tab ' let tabid = matchstr(getline(line), '\d\+') else let line = search('^[▷▼] [ *]Tab ','bWnc') let tabid = matchstr(getline(line), '\d\+') endif return tabid endfunction function! s:paste_tab() abort let current_tab = tabpagenr() let tabid = s:get_cursor_tabnr() silent! exe tabid . 'tabnew ' silent! exe 'so '.g:spacevim_data_dir.'SpaceVim/tabmanager_session.vim' call settabvar(tabpagenr(), \ 'spacevim_tabman_expandable', \ s:copy_tab_expand_status) call settabvar(tabpagenr(), '_spacevim_tab_name', s:copy_tab_name) if tabid >= current_tab exe 'tabnext ' . current_tab else exe 'tabnext ' . (current_tab + 1) endif call s:update_context() let line = search('^[▷▼] [ *]Tab ' . (tabid + 1),'wc') exe line endfunction function! s:move_tab_backward() abort let tabid = s:get_cursor_tabnr() if tabid == 1 return endif let ct = tabpagenr() exe tabid . 'tabdo tabmove -' if ct == tabid call s:update_context() elseif tabid == ct + 1 exe 'tabnext' (ct + 1) else exe 'tabnext' ct endif let line = search('^[▷▼] [ *]Tab ' . (tabid - 1),'wc') exe line endfunction function! s:move_tab_forward() abort let tabid = s:get_cursor_tabnr() if tabid == tabpagenr('$') return endif let ct = tabpagenr() exe tabid . 'tabdo tabmove +' if ct == tabid call s:update_context() elseif tabid == ct - 1 exe 'tabnext' (ct - 1) else exe 'tabnext' ct endif let line = search('^[▷▼] [ *]Tab ' . (tabid + 1),'wc') exe line endfunction function! s:focus_update_context() abort let tbm = filter(range(1, winnr('$')), 'bufname(winbufnr(v:val)) == s:bufname') if !empty(tbm) let winnr = winnr() exe tbm[0]. 'wincmd w' call s:update_context() exe winnr . 'wincmd w' endif endfunction function! s:Nsort_func(a, b) abort let l:a = type(a:a) == type('') ? str2nr(a:a) : a:a let l:b = type(a:b) == type('') ? str2nr(a:b) : a:b return l:a == l:b ? 0 : l:a > l:b ? 1 : -1 endfunction " in case the 'N' sort flag is not available (compatibility for 7.4.898) let s:Nsort = has('patch-7.4.951') ? 'N' : 's:Nsort_func' augroup spacevim_plugin_tabman autocmd! autocmd TabEnter * call s:focus_update_context() augroup END ================================================ FILE: autoload/SpaceVim/plugins/tasks.vim ================================================ "============================================================================= " tasks.vim --- tasks support " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= if has('nvim-0.9.0') function! SpaceVim#plugins#tasks#get() abort return luaeval('require("spacevim.plugin.tasks").get()') endfunction function! SpaceVim#plugins#tasks#list() abort lua require("spacevim.plugin.tasks").list() endfunction function! SpaceVim#plugins#tasks#edit(...) abort lua require("spacevim.plugin.tasks").edit( \ unpack(require("spacevim").eval("a:000")) \ ) endfunction function! SpaceVim#plugins#tasks#get_tasks() abort return luaeval('require("spacevim.plugin.tasks").get_tasks()') endfunction function! SpaceVim#plugins#tasks#complete(...) abort endfunction function! SpaceVim#plugins#tasks#reg_provider(provider) abort lua require("spacevim.plugin.tasks").reg_provider( \ require("spacevim").eval("a:provider") \ ) endfunction finish endif if exists('s:is_loaded') finish else let s:is_loaded = 1 endif " this plugin is based on vscode task Scheme " https://code.visualstudio.com/docs/editor/tasks-appendix "" " @section tasks, usage-tasks " @parentsection usage " To integrate with external tools, SpaceVim introduced a task manager system, " which is similar to VSCode's tasks-manager. " There are two kinds of task configurations file: " " - `~/.SpaceVim.d/tasks.toml`: global tasks configuration " - `.SpaceVim.d/tasks.toml`: project local tasks configuration " " The tasks defined in the global tasks configuration can be overrided by " project local tasks configuration. " " @subsection Key bindings " > " Key binding Description " SPC p t l list all available tasks " SPC p t e edit project tesk " SPC p t r pick tesk to run " SPC p t c clear tasks " < " " @subsection custom task " This is a basic task configuration for running `echo hello world`, " and print the results to the runner window. " > " [my-task] " command = 'echo' " args = ['hello world'] " < " " To run the task in the background, you need to set `isBackground` to `true`: " > " [my-task] " command = 'echo' " args = ['hello world'] " isBackground = true " < " " The following task properties are available: " " 1. `command`: The actual command to execute. " 2. `args`: The arguments passed to the command, it should be a list of strings and may be omitted. " 3. `options`: Override the defaults for `cwd`,`env` or `shell`. " 4. `isBackground`: Specifies whether the task should run in the background. by default, it is `false`. " 5. `description`: Short description of the task " 6. `problemMatcher`: Problems matcher of the task " " Note: When a new task is executed, it will kill the previous task. " If you want to keep the task, run it in background by setting " `isBackground` to `true`. " " SpaceVim supports variable substitution in the task properties, " The following predefined variables are supported: " " - `{workspaceFolder}`: The project's root directory " - `{workspaceFolderBasename}`: The name of current project's root directory " - `{file}`: The path of current file " - `{relativeFile}`: The current file relative to project root " - `{relativeFileDirname}`: The current file's dirname relative to workspaceFolder " - `{fileBasename}`: The current file's basename " - `{fileBasenameNoExtension}`: The current file's basename without file extension " - `{fileDirname}`: The current file's dirname " - `{fileExtname}`: The current file's extension " - `{cwd}`: The task runner's current working directory on startup " - `{lineNumber}`: The current selected line number in the active file " " For example: Supposing that you have the following requirements: " " A file located at `/home/your-username/your-project/folder/file.ext` opened in your editor; " The directory `/home/your-username/your-project` opened as your root workspace. " So you will have the following values for each variable: " " - `{workspaceFolder}`: `/home/your-username/your-project/` " - `{workspaceFolderBasename}`: `your-project` " - `{file}`: `/home/your-username/your-project/folder/file.ext` " - `{relativeFile}`: `folder/file.ext` " - `{relativeFileDirname}`: `folder/` " - `{fileBasename}`: `file.ext` " - `{fileBasenameNoExtension}`: `file` " - `{fileDirname}`: `/home/your-username/your-project/folder/` " - `{fileExtname}`: `.ext` " - `{lineNumber}`: line number of the cursor " " @subsection Task Problems Matcher " " Problem matcher is used to capture the message in the task output " and show a corresponding problem in quickfix windows. " " `problemMatcher` supports `errorformat` and `pattern` properties. " " If the `errorformat` property is not defined, the `&errorformat` option will be used. " > " [test_problemMatcher] " command = "echo" " args = ['.SpaceVim.d/tasks.toml:6:1 test error message'] " isBackground = true " [test_problemMatcher.problemMatcher] " useStdout = true " errorformat = '%f:%l:%c\ %m' " < " " If `pattern` is defined, the `errorformat` option will be ignored. " Here is an example: " > " [test_regexp] " command = "echo" " args = ['.SpaceVim.d/tasks.toml:12:1 test error message'] " isBackground = true " [test_regexp.problemMatcher] " useStdout = true " [test_regexp.problemMatcher.pattern] " regexp = '\(.*\):\(\d\+\):\(\d\+\)\s\(\S.*\)' " file = 1 " line = 2 " column = 3 " #severity = 4 " message = 4 " < " " @subsection Task auto-detection " " Currently, SpaceVim can auto-detect tasks for npm. " the tasks manager will parse the `package.json` file for npm packages. " " @subsection Task provider " " Some tasks can be automatically detected by the task provider. For example, " a Task Provider could check if there is a specific build file, such as `package.json`, " and create npm tasks. " " To build a task provider, you need to use the Bootstrap function. " The task provider should be a vim function that returns a task object. " " here is an example for building a task provider. " " > " function! s:make_tasks() abort " if filereadable('Makefile') " let subcmds = filter(readfile('Makefile', ''), "v:val=~#'^.PHONY'") " let conf = {} " for subcmd in subcmds " let commands = split(subcmd)[1:] " for cmd in commands " call extend(conf, { " \ cmd : { " \ 'command': 'make', " \ 'args' : [cmd], " \ 'isDetected' : 1, " \ 'detectedName' : 'make:' " \ } " \ }) " endfor " endfor " return conf " else " return {} " endif " endfunction " call SpaceVim#plugins#tasks#reg_provider(function('s:make_tasks')) " < " " With the above configuration, you will see the following tasks in the SpaceVim repo: let s:TOML = SpaceVim#api#import('data#toml') let s:JSON = SpaceVim#api#import('data#json') let s:FILE = SpaceVim#api#import('file') let s:CMP = SpaceVim#api#import('vim#compatible') let s:SYS = SpaceVim#api#import('system') let s:MENU = SpaceVim#api#import('cmdlinemenu') let s:VIM = SpaceVim#api#import('vim') let s:BUF = SpaceVim#api#import('vim#buffer') " task object let s:select_task = {} let s:task_config = {} let s:task_viewer_bufnr = -1 let s:variables = {} let s:providers = [] function! s:load() abort let [global_conf, local_conf] = [{}, {}] if filereadable(expand('~/.SpaceVim.d/tasks.toml')) let global_conf = s:TOML.parse_file(expand('~/.SpaceVim.d/tasks.toml')) for task_key in keys(global_conf) let global_conf[task_key]['isGlobal'] = 1 endfor endif if filereadable('.SpaceVim.d/tasks.toml') let local_conf = s:TOML.parse_file('.SpaceVim.d/tasks.toml') endif let s:task_config = extend(global_conf, local_conf) endfunction function! s:init_variables() abort let s:variables.workspaceFolder = s:FILE.unify_path(SpaceVim#plugins#projectmanager#current_root()) let s:variables.workspaceFolderBasename = fnamemodify(s:variables.workspaceFolder, ':t') let s:variables.file = s:FILE.unify_path(expand('%:p')) let s:variables.relativeFile = s:FILE.unify_path(expand('%'), ':.') let s:variables.relativeFileDirname = s:FILE.unify_path(expand('%'), ':h') let s:variables.fileBasename = expand('%:t') let s:variables.fileBasenameNoExtension = expand('%:t:r') let s:variables.fileDirname = s:FILE.unify_path(expand('%:p:h')) let s:variables.fileExtname = expand('%:e') let s:variables.lineNumber = line('.') let s:variables.selectedText = '' let s:variables.execPath = '' endfunction function! s:select_task(taskName) abort let s:select_task = s:task_config[a:taskName] endfunction function! s:pick() abort let s:select_task = {} let ques = [] for key in keys(s:task_config) if has_key(s:task_config[key], 'isGlobal') && s:task_config[key].isGlobal let task_name = key . '(global)' elseif has_key(s:task_config[key], 'isDetected') && s:task_config[key].isDetected let task_name = s:task_config[key].detectedName . key . '(detected)' else let task_name = key endif call add(ques, [task_name, function('s:select_task'), [key]]) endfor call s:MENU.menu(ques) return s:select_task endfunction function! s:replace_variables(str) abort let str = a:str for key in keys(s:variables) let str = substitute(str, '${' . key . '}', s:variables[key], 'g') endfor return str endfunction function! s:expand_task(task) abort let task = a:task if has_key(task, 'windows') && s:SYS.isWindows let task = task.windows elseif has_key(task, 'osx') && s:SYS.isOSX let task = task.osx elseif has_key(task, 'linux') && s:SYS.isLinux let task = task.linux endif if has_key(task, 'command') && type(task.command) ==# 1 let task.command = s:replace_variables(task.command) endif if has_key(task, 'args') && s:VIM.is_list(task.args) let task.args = map(task.args, 's:replace_variables(v:val)') endif if has_key(task, 'options') && type(task.options) ==# 4 if has_key(task.options, 'cwd') && type(task.options.cwd) ==# 1 let task.options.cwd = s:replace_variables(task.options.cwd) endif endif return task endfunction function! SpaceVim#plugins#tasks#get() abort call s:load() for Provider in s:providers call extend(s:task_config, call(Provider, [])) endfor call s:init_variables() let task = s:expand_task(s:pick()) return task endfunction """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " list all the tasks """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" function! SpaceVim#plugins#tasks#list() abort call s:load() for Provider in s:providers call extend(s:task_config, call(Provider, [])) endfor call s:init_variables() call s:open_tasks_list_win() call s:update_tasks_win_context() endfunction function! SpaceVim#plugins#tasks#complete(...) abort endfunction function! s:open_tasks_list_win() abort if s:task_viewer_bufnr != 0 && bufexists(s:task_viewer_bufnr) exe 'bd ' . s:task_viewer_bufnr endif botright split __tasks_info__ let lines = &lines * 30 / 100 exe 'resize ' . lines setlocal buftype=nofile bufhidden=wipe nobuflisted nolist nomodifiable \ noswapfile \ nowrap \ cursorline \ nospell \ nonu \ norelativenumber \ winfixheight \ nomodifiable set filetype=SpaceVimTasksInfo let s:task_viewer_bufnr = bufnr('%') nnoremap :call open_task() endfunction function! s:open_task() abort let line = getline('.') if line =~# '^\[.*\]' let task = matchstr(line, '^\[.*\]')[1:-2] if line =~# '^\[.*\]\s\+detected' let task = split(task, ':')[1] endif call SpaceVim#mapping#SmartClose() call SpaceVim#plugins#runner#run_task(s:expand_task(s:task_config[task])) else " not on a task endif endfunction function! s:update_tasks_win_context() abort let lines = ['Task Type Description'] for task in keys(s:task_config) if has_key(s:task_config[task], 'isGlobal') && s:task_config[task].isGlobal ==# 1 let line = '[' . task . ']' . repeat(' ', 22 - strlen(task)) let line .= 'global ' elseif has_key(s:task_config[task], 'isDetected') && s:task_config[task].isDetected ==# 1 let line = '[' . s:task_config[task].detectedName . task . ']' . repeat(' ', 22 - strlen(task . s:task_config[task].detectedName)) let line .= 'detected ' else let line = '[' . task . ']' . repeat(' ', 22 - strlen(task)) let line .= 'local ' endif let line .= get(s:task_config[task], 'description', s:task_config[task].command . ' ' . join(get(s:task_config[task], 'args', []), ' ')) call add(lines, line) endfor call s:BUF.buf_set_lines(s:task_viewer_bufnr, 0, -1, 0, sort(lines)) endfunction function! SpaceVim#plugins#tasks#get_tasks() abort call s:load() for Provider in s:providers call extend(s:task_config, call(Provider, [])) endfor call s:init_variables() return s:task_config endfunction function! SpaceVim#plugins#tasks#edit(...) abort if get(a:000, 0, 0) exe 'e ~/.SpaceVim.d/tasks.toml' else exe 'e .SpaceVim.d/tasks.toml' endif endfunction function! s:detect_npm_tasks() abort let detect_task = {} let conf = {} if filereadable('package.json') let conf = s:JSON.json_decode(join(readfile('package.json', ''), '')) endif if has_key(conf, 'scripts') for task_name in keys(conf.scripts) call extend(detect_task, { \ task_name : {'command' : conf.scripts[task_name], 'isDetected' : 1, 'detectedName' : 'npm:'} \ }) endfor endif return detect_task endfunction function! SpaceVim#plugins#tasks#reg_provider(provider) abort call add(s:providers, a:provider) endfunction call SpaceVim#plugins#tasks#reg_provider(function('s:detect_npm_tasks')) ================================================ FILE: autoload/SpaceVim/plugins/todo.vim ================================================ "============================================================================= " todo.vim --- todo manager for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= "" " @section todo manager, plugins-todomanager " @parentsection plugins " The `todomanager` plugin provides todo manager support for SpaceVim. " " @subsection Key bindings " > " Key binding Description " SPC a o open todo manager windows " < " " @subsection Configuration " " The todo manager labels can be set via @section(options-todo_labels) let s:JOB = SpaceVim#api#import('job') let s:BUFFER = SpaceVim#api#import('vim#buffer') let s:SYS = SpaceVim#api#import('system') let s:LOG = SpaceVim#logger#derive('todo') let s:REG = SpaceVim#api#import('vim#regex') let [ \ s:grep_default_exe, \ s:grep_default_opt, \ s:grep_default_ropt, \ s:grep_default_expr_opt, \ s:grep_default_fix_string_opt, \ s:grep_default_ignore_case, \ s:grep_default_smart_case \ ] = SpaceVim#mapping#search#default_tool() function! SpaceVim#plugins#todo#list() abort call s:open_win() endfunction let s:bufnr = -1 let s:todo_jobid = -1 function! s:open_win() abort if s:bufnr != 0 && bufexists(s:bufnr) exe 'bd ' . s:bufnr endif botright split __todo_manager__ " @todo add win_getid api let s:winnr = winnr('#') let lines = &lines * 30 / 100 exe 'resize ' . lines setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonu norelativenumber winfixheight nomodifiable set filetype=SpaceVimTodoManager let s:bufnr = bufnr('%') call s:update_todo_content() augroup spacevim_plugin_todo autocmd! * autocmd WinEnter call s:WinEnter() augroup END nnoremap :call open_todo() endfunction function! s:WinEnter() abort " @todo add win_getid api let s:winnr = winnr('#') endfunction " @todo Improve todo manager function! s:update_todo_content() abort if exists('g:spacevim_todo_labels') \ && type(g:spacevim_todo_labels) == type([]) \ && !empty(g:spacevim_todo_labels) let s:labels = g:spacevim_todo_labels let s:prefix = g:spacevim_todo_prefix else let s:labels = ['fixme', 'question', 'todo', 'idea'] let s:prefix = '@' endif let s:todos = [] let s:todo = {} let s:labels_regex = s:get_labels_regex() let s:labels_partten = s:get_labels_pattern() let argv = [s:grep_default_exe] + \ s:grep_default_opt + \ s:grep_default_expr_opt let argv += [s:labels_regex] if s:SYS.isWindows && (s:grep_default_exe ==# 'rg' || s:grep_default_exe ==# 'ag' || s:grep_default_exe ==# 'pt' ) let argv += ['.'] elseif s:SYS.isWindows && s:grep_default_exe ==# 'findstr' let argv += ['*.*'] elseif !s:SYS.isWindows && s:grep_default_exe ==# 'rg' let argv += ['./'] endif let argv += s:grep_default_ropt call s:LOG.info('cmd: ' . string(argv)) call s:LOG.info(' labels_partten: ' . s:labels_partten) let s:todo_jobid = s:JOB.start(argv, { \ 'on_stdout' : function('s:stdout'), \ 'on_stderr' : function('s:stderr'), \ 'on_exit' : function('s:exit'), \ }) call s:LOG.info('jobid: ' . string(s:todo_jobid)) endfunction function! s:stdout(id, data, event) abort if a:id !=# s:todo_jobid return endif for data in a:data call s:LOG.info('stdout: ' . data) if !empty(data) let file = fnameescape(split(data, ':\d\+:')[0]) let line = matchstr(data, ':\d\+:')[1:-2] let column = matchstr(data, '\(:\d\+\)\@<=:\d\+:')[1:-2] let label = matchstr(data, s:labels_partten) let title = get(split(data, label), 1, '') " @todo add time tag call add(s:todos, \ { \ 'file' : file, \ 'line' : line, \ 'column' : column, \ 'title' : title, \ 'label' : label, \ } \ ) endif endfor endfunction function! s:stderr(id, data, event) abort if a:id !=# s:todo_jobid return endif for date in a:data call s:LOG.info('stderr: ' . string(a:data)) endfor endfunction function! s:exit(id, data, event ) abort if a:id !=# s:todo_jobid return endif call s:LOG.info('todomanager exit: ' . string(a:data)) let s:todos = sort(s:todos, function('s:compare_todo')) let label_w = max(map(deepcopy(s:todos), 'strlen(v:val.label)')) let file_w = max(map(deepcopy(s:todos), 'strlen(v:val.file)')) let expr = "v:val.label . repeat(' ', label_w - strlen(v:val.label)) . ' ' ." \ . "SpaceVim#api#import('file').unify_path(v:val.file, ':.') . repeat(' ', file_w - strlen(v:val.file)) . ' ' ." \ . "v:val.title" let lines = map(deepcopy(s:todos),expr) call s:BUFFER.buf_set_lines(s:bufnr, 0 , -1, 0, lines) endfunction function! s:compare_todo(a, b) abort let a = index(s:labels, a:a.label) let b = index(s:labels, a:b.label) return a == b ? 0 : a > b ? 1 : -1 endfunction function! s:open_todo() abort let todo = s:todos[line('.') - 1] if g:spacevim_todo_close_list try close catch endtry endif exe s:winnr . 'wincmd w' exe 'e ' . todo.file call cursor(todo.line, todo.column) noautocmd normal! : endfunction " @fixme expr for different tools " when using rg, [join(s:labels, '|')] " when using grep, [join(s:labels, '\|')] function! s:get_labels_regex() if s:grep_default_exe ==# 'rg' let separator = '|' elseif s:grep_default_exe ==# 'grep' let separator = '\|' elseif s:grep_default_exe ==# 'findstr' let separator = ' ' else let separator = '|' endif return join(map(copy(s:labels), "s:prefix . v:val . '\\b'"), \ separator) endfunc function! s:get_labels_pattern() return s:REG.parser(s:get_labels_regex(), 0) endfunc " @todo fuzzy find todo list " after open todo manager buffer, we should be able to fuzzy find the item we " need. ================================================ FILE: autoload/SpaceVim/plugins/windisk.vim ================================================ "============================================================================= " windisk.vim --- disk manager for windows " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:ICONV = SpaceVim#api#import('iconv') let s:LOGGER = SpaceVim#logger#derive('windisk') func! SpaceVim#plugins#windisk#open() abort let disks = s:get_disks() if !empty(disks) " 1. open plugin buffer noautocmd vsplit __windisk__ vertical resize 20 let s:disk_buffer_nr = bufnr('%') set ft=SpaceVimWinDiskManager setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonu norelativenumber winfixwidth " 2. init buffer option and syntax let lines = disks setlocal modifiable call setline(1, lines) setlocal nomodifiable " 2. updated content " 3. init buffer key bindings nnoremap :call open_disk(getline('.')) else " TODO: print warnning, not sure if it is needed. endif endf function! s:diskinfo() abort if !executable('wmic') call s:LOGGER.warn('windisk requires wmic.exe!') return [] endif let rst = systemlist('wmic LOGICALDISK LIST BRIEF') if !empty(rst) let diskinfo = rst[1:] else let diskinfo = [] endif let rst = [] call s:LOGGER.debug('start to parse diskinfo!') for line in diskinfo call s:LOGGER.debug(line) let info = split(s:ICONV.iconv(line, g:spacevim_windisk_encoding, &enc)) call s:LOGGER.debug('iconv ' . g:spacevim_windisk_encoding . ' result:' . string(info)) if len(info) >= 4 let diskid = info[0] let freespace = info[2] let size = info[3] let name = get(info, 4, '') call add(rst, { \ 'disk' : diskid, \ 'free' : freespace, \ 'size' : size, \ 'name' : name, \ }) endif endfor return rst endfunction func! s:get_disks() abort " use wmic command is better " return map(filter(range(65, 97), "isdirectory(nr2char(v:val) . ':/')"), 'nr2char(v:val) . ":/"') let diskinfo = s:diskinfo() let line = map(diskinfo, 's:diskToLine(v:val)') return line endf function! s:diskToLine(disk) abort return a:disk.disk . '/' . ' ' . (empty(a:disk.name) ? '本地磁盘' : a:disk.name) endfunction function! s:open_disk(d) abort let disk = split(a:d)[0] call s:close_disk_buffer() if g:spacevim_filemanager ==# 'vimfiler' exe 'VimFiler -no-toggle ' . disk elseif g:spacevim_filemanager ==# 'nerdtree' silent! exe 'NERDTree ' . disk elseif g:spacevim_filemanager ==# 'defx' exe 'Defx -no-toggle -no-resume ' . disk endif doautocmd WinEnter endfunction function! s:close_disk_buffer() abort exe 'bd ' . s:disk_buffer_nr endfunction ================================================ FILE: autoload/SpaceVim/plugins/windowsmanager.vim ================================================ "============================================================================= " windowsmanager.vim --- windows manager for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:TAB = SpaceVim#api#import('vim#tab') let s:restore_windows_stack = [] let s:redo_stack = [] let s:unmarked = 0 function! s:get_window_restore_data() abort let win_data = { \ 'bufname': fnamemodify(bufname('%'), ':p'), \ 'tabpagenr': tabpagenr(), \ 'view': winsaveview(), \ 'newtab':0, \ 'oldwinid' : -1, \ 'same_w' : 0, \ } return win_data endfunction function! SpaceVim#plugins#windowsmanager#UpdateRestoreWinInfo() abort if !&buflisted if &buftype ==# 'terminal' noautocmd q endif return endif let s:unmarked = 1 let win_data = s:get_window_restore_data() if len(tabpagebuflist()) == 1 let win_data.newtab = 1 let win_data.open_command = (tabpagenr() - 1).'tabnew' else if winwidth(winnr()) == &columns let win_data.same_w = 1 endif let win_data.oldwinid = winnr() endif call add(s:restore_windows_stack, win_data) let s:redo_stack = [] endfunction function! SpaceVim#plugins#windowsmanager#UndoQuitWin() abort if empty(s:restore_windows_stack) return endif let win_data = remove(s:restore_windows_stack, -1) if win_data.newtab exe win_data.open_command . ' ' . win_data.bufname else exe win_data.open_command endif call add(s:redo_stack, [tabpagenr(), winnr()]) endfunction function! SpaceVim#plugins#windowsmanager#RedoQuitWin() abort if !empty(s:redo_stack) let [tabpage, winnr] = remove(s:redo_stack, -1) exe 'tabnext' . tabpage exe winnr . 'wincmd w' quit endif endfunction function! SpaceVim#plugins#windowsmanager#MarkBaseWin() abort if s:unmarked let win_data = s:restore_windows_stack[-1] if win_data.same_w " split if win_data.oldwinid == winnr() let win_data.open_command = 'topleft split ' . win_data.bufname else let win_data.open_command = 'rightbelow split ' . win_data.bufname endif else " vsplit if win_data.oldwinid == winnr() let win_data.open_command = 'topleft vsplit ' . win_data.bufname else let win_data.open_command = 'rightbelow vsplit ' . win_data.bufname endif endif let s:unmarked = 0 endif endfunction ================================================ FILE: autoload/SpaceVim/plugins.vim ================================================ "============================================================================= " plugins.vim --- plugin wrapper " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section Plugins, plugins " This is a list of builtin plugins. function! SpaceVim#plugins#load() abort if SpaceVim#plugins#enable_plug() call SpaceVim#plugins#begin(g:spacevim_plugin_bundle_dir) call SpaceVim#plugins#fetch() call s:load_plugins() call s:disable_plugins(g:spacevim_disabled_plugins) call SpaceVim#plugins#end() endif endfunction function! s:load_plugins() abort for layer in SpaceVim#layers#get() call SpaceVim#logger#debug('init ' . layer . ' layer plugins list.') let g:_spacevim_plugin_layer = layer for plugin in s:getLayerPlugins(layer) if len(plugin) == 2 call SpaceVim#plugins#add(plugin[0], extend(plugin[1], {'overwrite' : 1})) if SpaceVim#plugins#tap(split(plugin[0], '/')[-1]) && get(plugin[1], 'loadconf', 0 ) call SpaceVim#plugins#defind_hooks(split(plugin[0], '/')[-1]) endif if SpaceVim#plugins#tap(split(plugin[0], '/')[-1]) && get(plugin[1], 'loadconf_before', 0 ) call SpaceVim#plugins#loadPluginBefore(split(plugin[0], '/')[-1]) endif else call SpaceVim#plugins#add(plugin[0], {'overwrite' : 1}) endif endfor endfor if has('timers') call timer_start(g:spacevim_lazy_conf_timeout, function('s:layer_config_timer'), {'repeat' : 1}) else call s:layer_config_timer(0) endif unlet g:_spacevim_plugin_layer for plugin in g:spacevim_custom_plugins if len(plugin) == 2 call SpaceVim#plugins#add(plugin[0], extend(plugin[1], {'overwrite' : 1})) else call SpaceVim#plugins#add(plugin[0], {'overwrite' : 1}) endif endfor endfunction function! s:getLayerPlugins(layer) abort let p = [] try let p = SpaceVim#layers#{a:layer}#plugins() catch /^Vim\%((\a\+)\)\=:E117/ call SpaceVim#logger#info(a:layer . ' layer do not implement plugins function') endtry return p endfunction function! s:layer_config_timer(t) abort for layer in SpaceVim#layers#get() call s:loadLayerConfig(layer) endfor endfunction function! s:loadLayerConfig(layer) abort call SpaceVim#logger#debug('load ' . a:layer . ' layer config.') try call SpaceVim#layers#{a:layer}#config() catch /^Vim\%((\a\+)\)\=:E117/ call SpaceVim#logger#info(a:layer . ' layer do not implement config function') endtry endfunction let s:plugins_argv = ['-update', '-openurl'] function! SpaceVim#plugins#complete_plugs(ArgLead, CmdLine, CursorPos) abort call SpaceVim#commands#debug#completion_debug(a:ArgLead, a:CmdLine, a:CursorPos) if a:CmdLine =~# 'Plugin\s*$' || a:ArgLead =~# '^-[a-zA-Z]*' return join(s:plugins_argv, "\n") endif return join(plugins#list(), "\n") endfunction function! s:disable_plugins(plugin_list) abort if g:spacevim_plugin_manager ==# 'dein' for name in a:plugin_list call dein#disable(name) endfor elseif g:spacevim_plugin_manager ==# 'neobundle' for name in a:plugin_list call neobundle#config#disable(name) endfor endif endfunction function! SpaceVim#plugins#get(...) abort endfunction function! s:install_manager() abort " Fsep && Psep if has('win16') || has('win32') || has('win64') let s:Psep = ';' let s:Fsep = '\' else let s:Psep = ':' let s:Fsep = '/' endif " auto install plugin manager if g:spacevim_plugin_manager ==# 'neobundle' let g:_spacevim_neobundle_installed = 1 let &rtp .= ',' . g:_spacevim_root_dir . 'bundle/neobundle.vim/' elseif g:spacevim_plugin_manager ==# 'dein' let g:_spacevim_dein_installed = 1 let &rtp .= ',' . g:_spacevim_root_dir . 'bundle/dein.vim/' elseif g:spacevim_plugin_manager ==# 'vim-plug' "auto install vim-plug if filereadable(expand(g:spacevim_data_dir.'vim-plug/autoload/plug.vim')) let g:_spacevim_vim_plug_installed = 1 else if executable('curl') exec '!curl -fLo ' \ . g:spacevim_data_dir.'vim-plug/autoload/plug.vim' \ . ' --create-dirs ' \ . 'https://raw.githubusercontent.com/' \ . 'junegunn/vim-plug/master/plug.vim' let g:_spacevim_vim_plug_installed = 1 else echohl WarningMsg echom 'You need install curl!' echohl None endif endif let &rtp .= ',' . g:spacevim_data_dir.'vim-plug/' endif endf call s:install_manager() function! SpaceVim#plugins#begin(path) abort let g:unite_source_menu_menus = \ get(g:,'unite_source_menu_menus',{}) let g:unite_source_menu_menus.AddedPlugins = \ {'description': \ 'All the Added plugins' \ . ' fp'} let g:unite_source_menu_menus.AddedPlugins.command_candidates = [] if g:spacevim_plugin_manager ==# 'neobundle' call neobundle#begin(a:path) elseif g:spacevim_plugin_manager ==# 'dein' call dein#begin(a:path) elseif g:spacevim_plugin_manager ==# 'vim-plug' call plug#begin(a:path) endif endfunction function! SpaceVim#plugins#end() abort if g:spacevim_plugin_manager ==# 'neobundle' call neobundle#end() if g:spacevim_checkinstall == 1 silent! let g:_spacevim_checking_flag = neobundle#exists_not_installed_bundles() if g:_spacevim_checking_flag augroup SpaceVimCheckInstall au! au VimEnter * SPInstall augroup END endif endif elseif g:spacevim_plugin_manager ==# 'dein' call dein#end() " dein do not include the after dir of SpaceVim by default let &rtp .= ',' . g:_spacevim_root_dir . 'after' if g:spacevim_checkinstall == 1 silent! let g:_spacevim_checking_flag = dein#check_install() if g:_spacevim_checking_flag augroup SpaceVimCheckInstall au! au VimEnter * SPInstall augroup END endif endif call dein#call_hook('source') elseif g:spacevim_plugin_manager ==# 'vim-plug' call plug#end() endif endfunction function! SpaceVim#plugins#defind_hooks(bundle) abort if g:spacevim_plugin_manager ==# 'neobundle' let s:hooks = neobundle#get_hooks(a:bundle) func! s:hooks.on_source(bundle) abort call SpaceVim#util#loadConfig('plugins/' . split(a:bundle['name'],'\.')[0] . '.vim') endf elseif g:spacevim_plugin_manager ==# 'dein' " call SpaceVim#logger#debug('plugin name is ' . g:dein#name) call dein#config(g:dein#name, { \ 'hook_source' : "call SpaceVim#util#loadConfig('plugins/" . s:get_config_name(g:dein#name) . "')" \ }) endif endfunction function! s:get_config_name(name) abort if a:name =~# '\.vim$' return a:name elseif a:name =~# '\.nvim$' return substitute(a:name, '\.nvim$', '.vim', 'g') elseif a:name =~# '\.lua$' return substitute(a:name, '\.lua$', '.vim', 'g') else return a:name . '.vim' endif endfunction function! SpaceVim#plugins#fetch() abort if g:spacevim_plugin_manager ==# 'neobundle' NeoBundleFetch g:_spacevim_root_dir . 'bundle/neobundle.vim' elseif g:spacevim_plugin_manager ==# 'dein' call dein#add(g:_spacevim_root_dir . 'bundle/dein.vim', { 'merged' : 0}) endif endfunction let s:plugins = [] fu! s:parser(repo, args) abort let p = a:args if a:repo =~# g:_spacevim_root_dir . 'bundle/' let p.type = 'none' endif return p endf let g:_spacevim_plugins = [] function! SpaceVim#plugins#add(repo,...) abort let g:spacevim_plugin_name = '' if g:spacevim_plugin_manager ==# 'neobundle' exec 'NeoBundle "'.a:repo.'"'.','.join(a:000,',') let g:spacevim_plugin_name = split(a:repo, '/')[-1] elseif g:spacevim_plugin_manager ==# 'dein' if len(a:000) > 0 call dein#add(a:repo,s:parser(a:repo, a:000[0])) else call dein#add(a:repo) endif let g:spacevim_plugin_name = g:dein#name call add(g:_spacevim_plugins, g:dein#name) elseif g:spacevim_plugin_manager ==# 'vim-plug' if len(a:000) > 0 exec "Plug '".a:repo."', ".join(a:000,',') else exec "Plug '".a:repo."'" endif let g:spacevim_plugin_name = split(a:repo, '/')[-1] endif let str = get(g:,'_spacevim_plugin_layer', 'custom plugin') let str = '[' . str . ']' let str = str . repeat(' ', 25 - len(str)) exec 'call add(g:unite_source_menu_menus' \ . '.AddedPlugins.command_candidates, ["'. str . '[' \ . a:repo \ . (len(a:000) > 0 ? (']' \ . repeat(' ', 40 - len(a:repo)) \ . '[lazy loaded] [' . string(a:000[0])) : '') \ . ']","OpenBrowser https://github.com/' \ . a:repo \ . '"])' call add(s:plugins, a:repo) endfunction function! SpaceVim#plugins#tap(plugin) abort if g:spacevim_plugin_manager ==# 'neobundle' return neobundle#tap(a:plugin) elseif g:spacevim_plugin_manager ==# 'dein' return dein#tap(a:plugin) endif endfunction function! SpaceVim#plugins#enable_plug() abort return g:_spacevim_neobundle_installed \ || g:_spacevim_dein_installed \ || g:_spacevim_vim_plug_installed endfunction function! SpaceVim#plugins#loadPluginBefore(plugin) abort if matchend(a:plugin, "\\.vim") == len(a:plugin) call SpaceVim#util#loadConfig('plugins_before/' . a:plugin) elseif matchend(a:plugin, "\\.nvim") == len(a:plugin) call SpaceVim#util#loadConfig('plugins_before/' . a:plugin[:-6] . '.vim') else call SpaceVim#util#loadConfig('plugins_before/' . a:plugin . '.vim') endif endfunction " vim:set et sw=2: ================================================ FILE: autoload/SpaceVim/server.vim ================================================ "============================================================================= " server.vim --- server manager for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:SYS = SpaceVim#api#import('system') " This function should not be called twice! let s:flag = 0 function! SpaceVim#server#connect() abort if s:flag == 0 if empty($SPACEVIM_SERVER_ADDRESS) " in windows pipe server is used. " call serverstart('\\.\pipe\nvim-pipe-1234') if s:SYS.isWindows let $SPACEVIM_SERVER_ADDRESS = fnamemodify('\\.\pipe\' . (has('nvim') ? 'spacevim-nvim-' : 'spacevim-vim-') . 'server', ':p') else let $SPACEVIM_SERVER_ADDRESS = fnamemodify('/tmp/' . (has('nvim') ? 'spacevim_nvim_' : 'spacevim_vim_') . 'server', ':p') endif endif if has('nvim') try call serverstart($SPACEVIM_SERVER_ADDRESS) call SpaceVim#logger#info('SpaceVim server startup at:' . $SPACEVIM_SERVER_ADDRESS) catch endtry elseif has('clientserver') && exists('*remote_startserver') if index(split(serverlist(), "\n"), $SPACEVIM_SERVER_ADDRESS) == -1 try call remote_startserver($SPACEVIM_SERVER_ADDRESS) call SpaceVim#logger#info('SpaceVim server startup at:' . $SPACEVIM_SERVER_ADDRESS) catch endtry endif endif let s:flag = 1 endif endfunction function! SpaceVim#server#export_server() abort if executable('export') call system('export $TEST_SPACEVIM="test"') endif endfunction function! SpaceVim#server#terminate() abort endfunction function! SpaceVim#server#list() abort if has('nvim') return join(serverlist(), "\n") else endif endfunction ================================================ FILE: autoload/SpaceVim/util.vim ================================================ "============================================================================= " util.vim --- SpaceVim utils " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:SYSTEM = SpaceVim#api#import('system') let s:FILE = SpaceVim#api#import('file') " @deprecated SpaceVim#util#globpath is deprecated function! SpaceVim#util#globpath(path, expr) abort call SpaceVim#logger#warn('SpaceVim#util#globpath will be removed in next release.') if has('patch-7.4.279') return globpath(a:path, a:expr, 1, 1) else return split(globpath(a:path, a:expr), '\n') endif endfunction function! SpaceVim#util#findFileInParent(what, where) abort let old_suffixesadd = &suffixesadd let &suffixesadd = '' let file = findfile(a:what, escape(a:where, ' ') . ';') let &suffixesadd = old_suffixesadd return file endfunction fu! SpaceVim#util#loadConfig(file) abort if filereadable(g:_spacevim_root_dir. '/config/' . a:file) execute 'source ' . g:_spacevim_root_dir . '/config/' . a:file endif endf fu! SpaceVim#util#check_if_expand_tab() abort let has_noexpandtab = search('^\t','wn') let has_expandtab = search('^ ','wn') if has_noexpandtab && has_expandtab let idx = inputlist ( ["ERROR: current file exists both expand and noexpand TAB, python can only use one of these two mode in one file.\nSelect Tab Expand Type:", \ '1. expand (tab=space, recommended)', \ '2. noexpand (tab=\t, currently have risk)', \ '3. do nothing (I will handle it by myself)']) let tab_space = printf('%*s',&tabstop,'') if idx == 1 let has_noexpandtab = 0 let has_expandtab = 1 silent exec '%s/\t/' . tab_space . '/g' elseif idx == 2 let has_noexpandtab = 1 let has_expandtab = 0 silent exec '%s/' . tab_space . '/\t/g' else return endif endif if has_noexpandtab == 1 && has_expandtab == 0 echomsg 'substitute space to TAB...' set noexpandtab echomsg 'done!' elseif has_noexpandtab == 0 && has_expandtab == 1 echomsg 'substitute TAB to space...' set expandtab echomsg 'done!' endif endf function! SpaceVim#util#findDirInParent(what, where) abort let old_suffixesadd = &suffixesadd let &suffixesadd = '' let dir = finddir(a:what, escape(a:where, ' ') . ';') let &suffixesadd = old_suffixesadd return dir endfunction function! SpaceVim#util#echoWarn(msg) abort echohl WarningMsg echo a:msg echohl None endfunction let s:cache_pyx_libs = {} function! SpaceVim#util#haspyxlib(lib) abort if has_key(s:cache_pyx_libs, a:lib) return s:cache_pyx_libs[a:lib] endif try exe 'pyx import ' . a:lib catch let s:cache_pyx_libs[a:lib] = 0 return 0 endtry let s:cache_pyx_libs[a:lib] = 1 return 1 endfunction let s:cache_py_libs = {} function! SpaceVim#util#haspylib(lib) abort if has_key(s:cache_py_libs, a:lib) return s:cache_py_libs[a:lib] endif try exe 'py import ' . a:lib catch let s:cache_py_libs[a:lib] = 0 return 0 endtry let s:cache_py_libs[a:lib] = 1 return 1 endfunction let s:cache_py3_libs = {} function! SpaceVim#util#haspy3lib(lib) abort if has_key(s:cache_py3_libs, a:lib) return s:cache_py3_libs[a:lib] endif try exe 'py3 import ' . a:lib catch let s:cache_py3_libs[a:lib] = 0 return 0 endtry let s:cache_py3_libs[a:lib] = 1 return 1 endfunction fu! s:findFileInParent(what, where) abort " {{{2 let old_suffixesadd = &suffixesadd let &suffixesadd = '' let file = findfile(a:what, escape(a:where, ' ') . ';') let &suffixesadd = old_suffixesadd return file endf " }}}2 fu! s:findDirInParent(what, where) abort " {{{2 let old_suffixesadd = &suffixesadd let &suffixesadd = '' let dir = finddir(a:what, escape(a:where, ' ') . ';') let &suffixesadd = old_suffixesadd return dir endf " }}}2 fu! SpaceVim#util#CopyToClipboard(...) abort if a:0 if executable('git') let find_path = s:FILE.finddir('.git/', expand('%:p'), -1) let repo_home = s:FILE.unify_path(find_path, ':h:h') if repo_home !=# '' && isdirectory(repo_home) let [remote_name, branch] = split(split(filter(systemlist('git -C '. repo_home. ' branch -vv'), 'v:val =~# "^\*"')[0],'')[3], '/') let remotes = filter(systemlist('git -C '. repo_home. ' remote -v'),"match(v:val,'^' . remote_name[1:-2]) >= 0 && match(v:val,'fetch') > 0") if len(remotes) > 0 let remote = remotes[0] if stridx(remote, '@') > -1 let repo_url = split(split(remote, '@')[1], ':')[0] let repo_url = 'https://'. repo_url. '/'. split(split(remote,' ')[0],':')[1] let repo_url = strpart(repo_url, 0, len(repo_url) - 4) else let repo_url = split(remote,' ')[0] let repo_url = strpart(repo_url, stridx(repo_url, 'http'),len(repo_url) - 4 - stridx(repo_url, 'http')) endif let head_sha = systemlist('git rev-parse HEAD')[0] let f_url =repo_url. '/blob/'. head_sha. '/'. s:FILE.unify_path(expand('%'), ':.') if a:1 == 2 let current_line = line('.') let f_url .= '#L' . current_line elseif a:1 == 3 let f_url .= '#L' . getpos("'<")[1] . '-L' . getpos("'>")[1] endif try let @+=f_url echo 'Copied to clipboard: ' . @+ catch /^Vim\%((\a\+)\)\=:E354/ if has('nvim') echohl WarningMsg | echom 'Cannot find clipboard, for more info see :h clipboard' | echohl None else echohl WarningMsg | echom 'You need to compile your vim with +clipboard feature' | echohl None endif endtry else echohl WarningMsg | echom 'This git repo has no remote host' | echohl None endif else echohl WarningMsg | echom 'This file is not in a git repo' | echohl None endif else echohl WarningMsg | echom 'You need to install git!' | echohl None endif else try let @+=expand('%:p') if !empty(@+) || filereadable(@+) echo 'Copied to clipboard ' . @+ else echo 'buffer name is empty!' endif catch /^Vim\%((\a\+)\)\=:E354/ if has('nvim') echohl WarningMsg | echom 'Can not find clipboard, for more info see :h clipboard' | echohl None else echohl WarningMsg | echom 'You need to compile your vim with +clipboard feature' | echohl None endif endtry endif endf fu! SpaceVim#util#Generate_ignore(ignore,tool, ...) abort let ignore = [] if a:tool ==# 'ag' for ig in split(a:ignore,',') call add(ignore, '--ignore') call add(ignore, "'" . ig . "'") endfor elseif a:tool ==# 'rg' for ig in split(a:ignore,',') call add(ignore, '-g') if get(a:000, 0, 0) == 1 call add(ignore, "'!" . ig . "'") else call add(ignore, '!' . ig) endif endfor endif return ignore endf function! SpaceVim#util#UpdateHosts(...) abort if len(a:000) == 0 let url = get(g:,'spacevim_hosts_url', '') else let url = a:1 endif let hosts = systemlist('curl -s ' . url) if s:SYSTEM.isWindows let local_hosts = $SystemRoot . expand('\System32\drivers\etc\hosts') else let local_hosts = '/etc/hosts' endif if writefile(hosts, local_hosts, 'a') == -1 echo 'failed!' else echo 'successfully!' endif endfunction function! SpaceVim#util#listDirs(dir) abort let dir = fnamemodify(a:dir, ':p') if isdirectory(dir) let cmd = printf('ls -F %s | grep /$', dir) return map(systemlist(cmd), 'v:val[:-2]') endif return [] endfunction " vim:set et sw=2 cc=80: ================================================ FILE: autoload/SpaceVim.vim ================================================ "============================================================================= " SpaceVim.vim --- Initialization and core files for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= scriptencoding utf-8 "" " @section Introduction, intro " @stylized spacevim " @library " @order intro options config functions layers usage plugins api dev community faq roadmap changelog " SpaceVim is a modular configuration of Vim and Neovim. " It's inspired by spacemacs. It manages collections of plugins in layers, " which help to collect related packages together to provide features. " This approach helps keep the configuration organized and reduces " overhead for the user by keeping them from having to think about " what packages to install. "" " @section Highlighted Features, features " @parentsection intro " 1. Modularization: Plugins are organized in @section(layers). " 2. Compatible API: A series of @section(api) for Vim/Neovim. " 3. Great documentation: Everything is documented in `:h SpaceVim`. " 4. Better experience: Most of the core plugins have been rewritten using Lua. " 5. Beautiful UI: The interface has been carefully designed. " 6. Mnemonic key bindings: Key bindings are organized using mnemonic prefixes. " 7. Lower the risk of RSI: Heavily using the `` key instead of modifiers. "" " @section Update and Rollback, update-and-rollback " @parentsection intro " @subsection Update SpaceVim itself " " There are several methods of updating the core files of SpaceVim. " It is recommended to update the packages first; see the next section. " " 1. Automatic Updates " " By default, this feature is disabled. " It would slow down the startup of Vim/Neovim. " If you like this feature, " add the following to your custom configuration file. " > " [options] " automatic_update = true " < " " SpaceVim will automatically check for a new version " every startup. You have to restart Vim after updating. " " 2. Updating from the SpaceVim Buffer " " Users can use command `:SPUpdate SpaceVim` to update SpaceVim. " This command will open a new buffer to show the process of updating. " " 3. Updating Manually with git " " For users who prefer to use the command line, they can use the following command " in a terminal to update SpaceVim manually: " > " git -C ~/.SpaceVim pull " < " " @subsection Update plugins " " Use `:SPUpdate` command to update all the plugins and " SpaceVim itself. After `:SPUpdate`, you can assign " plugins need to be updated. Use `Tab` to complete " plugin names after `:SPUpdate`. " " @subsection Reinstall plugins " " When a plugin has failed to update or is broken, Use the `:SPReinstall` " command to reinstall the plugin. The plugin's name can be completed via the key binding ``. " " For example: " > " :SPReinstall echodoc.vim " < " " @subsection Get SpaceVim log " " The runtime log of SpaceVim can be obtained via the key binding `SPC h L`. " To get the debug information about the current SpaceVim environment, " Use the command `:SPDebugInfo!`. This command will open a new buffer where default information will be shown. " You can also use `SPC h I` to open a buffer with SpaceVim's issue template. "" " @section Options, options " The very first time SpaceVim starts up, it will ask you to choose a mode, " `basic mode` or `dark powered mode`. Then it will create a " `.SpaceVim.d/init.toml` file in your $HOME directory. " All the user configuration files are stored in ~/.SpaceVim.d/ directory. " " `~/.SpaceVim.d/` will also be added to |'runtimepath'|. " " It is also possible to override the location of `~/.SpaceVim.d/` by " using the environment variable `$SPACEVIMDIR`. " Of course, symlinks can be used to change the location of this directory. " " SpaceVim also supports project specific configuration files. " The project configuration file is `.SpaceVim.d/init.toml` in the root of " the project. The directory `{project root}/.SpaceVim.d/` will also be " added to the |'runtimepath'|. " " NOTE:Please be aware that if there are errors in your init.toml, " all the setting in this toml file will not be applied. " " All SpaceVim options can be found in @section(options), the option name is " same as the old vim option, but with the `g:spacevim_` prefix removed. For example: " > " g:spacevim_enable_statusline_tag -> enable_statusline_tag " < " If the fuzzy finder layer is loaded, users can use key binding `SPC h SPC` " to fuzzy find the documentation of SpaceVim options. " " @subsection Add custom plugins " " If you want to add plugins from GitHub, just add the repo name to the custom_plugins section: " > " [[custom_plugins]] " repo = 'lilydjwg/colorizer' " # `on_cmd` option means this plugin will be loaded " # only when the specific commands are called. " # for example, when `:ColorHighlight` or `:ColorToggle` " # commands are called. " on_cmd = ['ColorHighlight', 'ColorToggle'] " # `on_func` option means this plugin will be loaded " # only when the specific functions are called. " # for example, when `colorizer#ColorToggle()` function is called. " on_func = 'colorizer#ColorToggle' " # `merged` option is used for merging plugins directory. " # When `merged` is `true`, all files in this custom plugin " # will be merged into `~/.cache/vimfiles/.cache/init.vim/` " # for neovim or `~/.cache/vimfiles/.cache/vimrc/` for vim. " merged = false " # For more options see `:h dein-options`. " < " You can also use the url of the repository, for example: " > " [[custom_plugins]] " repo = "https://gitlab.com/code-stats/code-stats-vim.git" " merged = false " < " To add multiple custom plugins: " > " [[custom_plugins]] " repo = 'lilydjwg/colorizer' " merged = false " " [[custom_plugins]] " repo = 'joshdick/onedark.vim' " merged = false " < " If you want to disable plugins which are added by SpaceVim, " you can use the options: @section(options-disabled_plugins). " > " [options] " # NOTE: the value should be a list, and each item is the name of the plugin. " disabled_plugins = ["clighter", "clighter8"] " < "" " @section Configuration, config " If you still want to use `~/.SpaceVim.d/init.vim` as configuration file, " please take a look at the following options add @section(functions) "" " @section Public functions, functions " All of these functions can be used in `~/.SpaceVim.d/init.vim` and bootstrap " functions. let s:SYSTEM = SpaceVim#api#import('system') " Public SpaceVim Options {{{ "" " Version of SpaceVim , this value can not be changed. let g:spacevim_version = '2.5.0-dev' "" " @section default_indent, options-default_indent " @parentsection options " Change the default indentation of SpaceVim. Default is 2. " > " default_indent = 2 " < "" " Change the default indentation of SpaceVim. Default is 2. " > " let g:spacevim_default_indent = 2 " < let g:spacevim_default_indent = 2 "" " @section expand_tab, options-expand_tab " @parentsection options " In Insert mode: Use the appropriate number of spaces to insert a "" " In Insert mode: Use the appropriate number of spaces to insert a let g:spacevim_expand_tab = 1 "" " @section if_ruby, options-if_ruby " @parentsection options " Neovim if_ruby provider is too slow, If you are sure that your nvim does not " support ruby, set this option to false. default is true. let g:spacevim_if_ruby = 1 "" " @section enable_list_mode, options-enable_list_mode " @parentsection options " Enable/Disable list mode, by default it is disabled. "" " Enable/Disable list mode, by default it is disabled. let g:spacevim_enable_list_mode = 0 "" " @section lazy_conf_timeout, options-lazy_conf_timeout " @parentsection options " set the waiting time of lazy loading config in milliseconds. This will be " applied to load layer config, and lazy plugin, and end function of SpaceVim. " default is 300 ms. let g:spacevim_lazy_conf_timeout = 200 "" " @section relativenumber, options-relativenumber " @parentsection options " Enable/Disable relativenumber, by default it is enabled. " > " relativenumber = true " < "" " Enable/Disable relativenumber in current windows, by default it is enabled. let g:spacevim_relativenumber = 1 "" " Enable/Disable line wrap of vim let g:spacevim_wrap_line = 0 "" " @section enable_bepo_layout, options-enable_bepo_layout " @parentsection options " Enable/Disable bepo layout, by default it is disabled. " > " enable_bepo_layout = true " < "" " Enable/Disable bepo layout, by default it is disabled. let g:spacevim_enable_bepo_layout = 0 "" " @section max_column, options-max_column " @parentsection options " Change the max number of columns for SpaceVim. Default is 120. " > " max_column = 120 " < "" " Change the max number of columns for SpaceVim. Default is 120. " > " let g:spacevim_max_column = 120 " < let g:spacevim_max_column = 120 "" " @section windisk_encoding, options-windisk_encoding " @parentsection options " Setting the encoding of windisk info. by default it is `cp936`. " > " windisk_encoding = 'cp936' " < let g:spacevim_windisk_encoding = 'cp936' "" " @section default_custom_leader, options-default_custom_leader " @parentsection options " Change the default custom leader of SpaceVim. Default is . " > " default_custom_leader = "" " < "" " Change the default custom leader of SpaceVim. Default is . " > " let g:spacevim_default_custom_leader = '' " < let g:spacevim_default_custom_leader = '' "" " @section home_files_number, options-home_files_number " @parentsection options " Change the list number of files for SpaceVim home. Default is 6. " > " home_files_number = 6 " < "" " Change the list number of files for SpaceVim home. Default is 6. " > " let g:spacevim_home_files_number = 6 " < let g:spacevim_home_files_number = 6 "" " @section code_runner_focus, options-code_runner_focus " @parentsection options " enable/disable code runner window focus mode, by default this option is " `false`, to enable this mode, set this option to `true`. " > " code_runner_focus = true " < "" " enable/disable code runner window focus mode, by default this option is 0, " to enable this mode, set this option to 1. let g:spacevim_code_runner_focus = 0 "" " @section enable_guicolors, options-enable_guicolors " @parentsection options " Enable true color support in terminal. Default is false. " > " enable_guicolors = true " < "" " Enable true color support in terminal. Default is 0. " > " let g:spacevim_enable_guicolors = 1 " < let g:spacevim_enable_guicolors = 0 "" " @section escape_key_binding, options-escape_key_binding " @parentsection options " Set the key binding for switch to normal mode in insert mode. " Default is `jk`, to disable this key binding, set this option to empty " string. " > " escape_key_binding = 'jk' " < "" " Set the key binding for switch to normal mode in insert mode. " Default is `jk`, to disable this key binding, set this option to empty " string. " > " let g:spacevim_escape_key_binding = 'jk' " < let g:spacevim_escape_key_binding = 'jk' "" " @section file_searching_tools, options-file_searching_tools " @parentsection options " Set the default file searching tool used by `SPC f /`, by default it is `[]`. " The first item in this list is the name of the tool, the second one is the " default command. for example: " > " file_searching_tools = ['find', 'find -not -iwholename "*.git*" '] " < let g:spacevim_file_searching_tools = [] "" " @section enable_googlesuggest, options-enable_googlesuggest " @parentsection options " Enable/Disable Google suggestions for neocomplete. Default is false. " > " enable_googlesuggest = false " < "" " Enable/Disable Google suggestions for neocomplete. Default is 0. " > " let g:spacevim_enable_googlesuggest = 1 " < let g:spacevim_enable_googlesuggest = 0 "" " @section windows_leader, options-windows_leader " @parentsection options " Window functions leader for SpaceVim. Default is `s`. " Set to empty to disable this feature, or you can set to another char. " > " windows_leader = "" " < "" " Window functions leader for SpaceVim. Default is `s`. " Set to empty to disable this feature, or you can set to another char. " > " let g:spacevim_windows_leader = '' " < let g:spacevim_windows_leader = 's' "" " @section data_dir, options-data_dir " @parentsection options " Set the cache directory of SpaceVim. Default is `$XDG_CACHE_HOME` " or if not set `~/.cache¸. " > " data_dir = "~/.cache" " < "" " Set the cache directory of SpaceVim. Default is `$XDG_CACHE_HOME` " or if not set `~/.cache¸. " > " let g:spacevim_data_dir = '~/.cache' " < let g:spacevim_data_dir \ = $XDG_CACHE_HOME != '' \ ? $XDG_CACHE_HOME . SpaceVim#api#import('file').separator \ : expand($HOME. join(['', '.cache', ''], \ SpaceVim#api#import('file').separator)) if !isdirectory(g:spacevim_data_dir) call mkdir(g:spacevim_data_dir, 'p') endif "" " @section plugin_bundle_dir, options-plugin_bundle_dir " @parentsection options " Set the cache directory of plugins. Default is `$data_dir/vimfiles`. " > " plugin_bundle_dir = "~/.cache/vimplugs" " < "" " Set the cache directory of plugins. Default is `$data_dir/vimfiles`. " > " let g:spacevim_plugin_bundle_dir = g:spacevim_data_dir.'vimplugs' " < let g:spacevim_plugin_bundle_dir \ = g:spacevim_data_dir . join(['vimfiles', ''], \ SpaceVim#api#import('file').separator) "" " @section realtime_leader_guide, options-realtime_leader_guide " @parentsection options " Enable/Disable realtime leader guide. Default is true. to disable it: " > " realtime_leader_guide = false " < "" " Enable/Disable realtime leader guide. Default is 1. to disable it: " > " let g:spacevim_realtime_leader_guide = 0 " < let g:spacevim_realtime_leader_guide = 1 "" " @section leader_guide_theme, options-leader_guide_theme " @parentsection options " Enable/Disable realtime leader guide. Default is true. to disable it: " Set the key mapping guide theme, the default theme is `leaderguide`. " " available themes: " " - `leaderguide`: same as LeaderGuide.vim " " - `whichkey`: same as which-key.nvim " > " leader_guide_theme = 'leaderguide' " < "" " Enable/Disable realtime leader guide. Default is true. to disable it: " Set the key mapping guide theme, the default theme is `leaderguide`. " " available themes: " " - `leaderguide`: same as LeaderGuide.vim " " - `whichkey`: same as which-key.nvim " > " let g:spacevim_leader_guide_theme = 'leaderguide' " < let g:spacevim_leader_guide_theme = 'leaderguide' "" " @section enable_key_frequency, options-enable_key_frequency " @parentsection options " Enable/Disable key frequency catching of SpaceVim. default value is 0. to " enable it: " > " enable_key_frequency = true " < "" " Enable/Disable key frequency catching of SpaceVim. default value is 0. to " enable it: " > " let g:spacevim_enable_key_frequency = 1 " < let g:spacevim_enable_key_frequency = 0 if has('nvim-0.9.0') let g:spacevim_autocomplete_method = 'nvim-cmp' elseif (has('python3') \ && (SpaceVim#util#haspy3lib('neovim') \ || SpaceVim#util#haspy3lib('pynvim'))) && \ (has('nvim') || (has('patch-8.0.0027'))) "" " @section autocomplete_method, options-autocomplete_method " @parentsection options " Set the autocomplete engine of spacevim, the default logic is: " > " if has('nvim-0.9.0') " let g:spacevim_autocomplete_method = 'nvim-cmp' " elseif has('python3') " let g:spacevim_autocomplete_method = 'deoplete' " elseif has('lua') " let g:spacevim_autocomplete_method = 'neocomplete' " elseif has('python') " let g:spacevim_autocomplete_method = 'completor' " elseif has('timers') " let g:spacevim_autocomplete_method = 'asyncomplete' " else " let g:spacevim_autocomplete_method = 'neocomplcache' " endif " < " " and you can alse set this option to coc, then coc.nvim will be used. " If you are using neovim, you can also set this option to `nvim-cmp`, then " nvim-cmp will be used. "" " Set the autocomplete engine of spacevim, the default logic is: " > " if has('nvim-0.9.0') " let g:spacevim_autocomplete_method = 'nvim-cmp' " elseif has('python3') " let g:spacevim_autocomplete_method = 'deoplete' " elseif has('lua') " let g:spacevim_autocomplete_method = 'neocomplete' " elseif has('python') " let g:spacevim_autocomplete_method = 'completor' " elseif has('timers') " let g:spacevim_autocomplete_method = 'asyncomplete' " else " let g:spacevim_autocomplete_method = 'neocomplcache' " endif " < " " and you can alse set this option to coc, then coc.nvim will be used. let g:spacevim_autocomplete_method = 'deoplete' " neocomplete does not work with Vim 8.2.1066 elseif has('lua') && !has('patch-8.2.1066') let g:spacevim_autocomplete_method = 'neocomplete' elseif has('python') && ((has('job') && has('timers') && has('lambda')) || has('nvim')) let g:spacevim_autocomplete_method = 'completor' elseif has('timers') let g:spacevim_autocomplete_method = 'asyncomplete' else let g:spacevim_autocomplete_method = 'neocomplcache' endif "" " @section lint_engine, options-lint_engine " @parentsection options " Set the lint engine used in checkers layer, the default engine is neomake, " if you want to use ale, use: " > " lint_engine = 'ale' " < " NOTE: the `enable_neomake` and `enable_ale` option has been deprecated. " *spacevim-options-enable_naomake* " *spacevim-options-enable_ale* "" " Set the lint engine used in checkers layer, the default engine is neomake, " if you want to use ale, use: " > " let g:spacevim_lint_engine = 'ale' " < let g:spacevim_lint_engine = 'neomake' "" " @section guifont, options-guifont " @parentsection options " Set the guifont of SpaceVim. Default is empty. " > " guifont = "SauceCodePro Nerd Font Mono:h11" " < "" " Set the guifont of SpaceVim. Default is empty. " > " let g:spacevim_guifont = "SauceCodePro Nerd Font Mono:h11" " < let g:spacevim_guifont = 'SauceCodePro Nerd Font Mono:h11' "" " @section enable_ycm, options-enable_ycm " @parentsection options " Enable/Disable YouCompleteMe. Default is false. " > " enable_ycm = true " < "" " Enable/Disable YouCompleteMe. Default is 0. " > " let g:spacevim_enable_ycm = 1 " < let g:spacevim_enable_ycm = 0 "" " @section sidebar_width, options-sidebar_width " @parentsection options " Set the width of the SpaceVim sidebar. Default is 30. " This value will be used by tagbar and filetree. "" " Set the width of the SpaceVim sidebar. Default is 30. " This value will be used by tagbar and filetree. let g:spacevim_sidebar_width = 30 "" " @section snippet_engine, options-snippet_engine " @parentsection options " Set the snippet engine of SpaceVim, default is neosnippet. to enable " ultisnips: " > " snippet_engine = "ultisnips" " < "" " Set the snippet engine of SpaceVim, default is neosnippet. to enable " ultisnips: " > " let g:spacevim_snippet_engine = "ultisnips" " < let g:spacevim_snippet_engine = 'neosnippet' let g:spacevim_enable_neocomplcache = 0 "" " @section enable_cursorline, options-enable_cursorline " @parentsection options " Enable/Disable cursorline. Default is true, cursorline will be " highlighted in normal mode.To disable this feature: " > " enable_cursorline = false " < "" " Enable/Disable cursorline. Default is 1, cursorline will be " highlighted in normal mode.To disable this feature: " > " let g:spacevim_enable_cursorline = 0 " < let g:spacevim_enable_cursorline = 1 "" " @section statusline_separator, options-statusline_separator " @parentsection options " Set the statusline separators of statusline, default is 'nil' " > " Separators options: " 1. arrow " 2. curve " 3. slant " 4. nil " 5. fire " < " " See more details in: http://spacevim.org/documentation/#statusline " "" " Set the statusline separators of statusline, default is 'nil' " > " Separators options: " 1. arrow " 2. curve " 3. slant " 4. nil " 5. fire " < " " See more details in: http://spacevim.org/documentation/#statusline " let g:spacevim_statusline_separator = 'nil' "" " @section statusline_iseparator, options-statusline_iseparator " @parentsection options " Set the statusline separators of statusline in inactive windows, default is " 'nil' " > " Separators options: " 1. arrow " 2. curve " 3. slant " 4. nil " 5. fire " < " " See more details in: http://spacevim.org/documentation/#statusline " "" " Set the statusline separators of statusline in inactive windows, default is " 'nil' " > " Separators options: " 1. arrow " 2. curve " 3. slant " 4. nil " 5. fire " < " " See more details in: http://spacevim.org/documentation/#statusline " let g:spacevim_statusline_iseparator = 'nil' "" " @section enable_statusline_bfpath, options-enable_statusline_bfpath " @parentsection options " Enable/Disable showing full path of current buffer on statusline, disabled " by default, to enable this feature: " > " enable_statusline_bfpath = true " < "" " Enable/Disable showing full path of current buffer on statusline, disabled " by default, to enable this feature: " > " enable_statusline_bfpath = true " < let g:spacevim_enable_statusline_bfpath = 0 "" " @section enable_statusline_tag, options-enable_statusline_tag " @parentsection options " Enable/Disable showing current tag on statusline " > " enable_statusline_tag = false " < "" " Enable/Disable showing current tag on statusline let g:spacevim_enable_statusline_tag = 1 "" " @section statusline_left, options-statusline_left " @parentsection options " Define the left section of statusline in active windows. By default: " > " statusline_left = [ " 'winnr', " 'filename', " 'major mode', " 'minor mode lighters', " 'version control info' " ] " < " `statusline_left_sections` is deprecated, use `statusline_left` instead. "" " Define the left section of statusline in active windows. By default: " > " let g:spacevim_statusline_left = " \ [ " \ 'winnr', " \ 'filename', " \ 'major mode', " \ 'minor mode lighters', " \ 'version control info' " \ ] " < " `g:spacevim_statusline_left_sections` is deprecated, " use `g:spacevim_statusline_left` instead. let g:spacevim_statusline_left = ['winnr', 'filename', 'major mode', \ 'search count', \ 'syntax checking', 'minor mode lighters', \ ] "" " @section statusline_right, options-statusline_right " @parentsection options " Define the right section of statusline in active windows. By default: " > " statusline_right = [ " 'fileformat', " 'cursorpos', " 'percentage' " ] " < " " The following sections can be used in this option: " - fileformat: the format of current file " - cursorpos: the corsur position " - percentage: the percent of current page " - totallines: the total lines of current buffer " " `statusline_right_sections` is deprecated, use `statusline_right` instead. "" " Define the right section of statusline in active windows. By default: " > " g:spacevim_statusline_right = " \ [ " \ 'fileformat', " \ 'cursorpos', " \ 'percentage' " \ ] " < " " `g:spacevim_statusline_right_sections` is deprecated, " use `g:spacevim_statusline_right` instead. let g:spacevim_statusline_right = ['fileformat', 'cursorpos', 'percentage'] "" " @section statusline_unicode, options-statusline_unicode " @parentsection options " Enable/Disable unicode symbols in statusline, includes the mode icons and " fileformat icons. This option is enabled by default, to disable it: " > " statusline_unicode = false " < "" " Enable/Disable unicode symbols in statusline, includes the mode icons and " fileformat icons. This option is enabled by default, to disable it: " > " let g:spacevim_statusline_unicode = 0 " < let g:spacevim_statusline_unicode = 1 "" " Enable/Disable language specific leader, by default you can use `,` ket " instead of `SPC` `l`. let g:spacevim_enable_language_specific_leader = 1 "" " @section enable_statusline_mode, options-enable_statusline_mode " @parentsection options " Enable/Disable display mode. Default is 0, mode will be " displayed in statusline. To enable this feature: " > " enable_statusline_mode = true " < "" " Enable/Disable display mode. Default is 0, mode will be " displayed in statusline. To enable this feature: " > " let g:spacevim_enable_statusline_mode = 1 " < let g:spacevim_enable_statusline_mode = 0 "" " Set the statusline/tabline palette of color, default values depends on the theme " > " let g:spacevim_custom_color_palette = [ " \ ['#282828', '#b8bb26', 246, 235], " \ ['#a89984', '#504945', 239, 246], " \ ['#a89984', '#3c3836', 237, 246], " \ ['#665c54', 241], " \ ['#282828', '#83a598', 235, 109], " \ ['#282828', '#fe8019', 235, 208], " \ ['#282828', '#8ec07c', 235, 108], " \ ['#282828', '#689d6a', 235, 72], " \ ['#282828', '#8f3f71', 235, 132], " \ ] " < " let g:spacevim_custom_color_palette = [] "" " @section enable_cursorcolumn, options-enable_cursorcolumn " @parentsection options " Enable/Disable cursorcolumn. Default is 0, cursorcolumn will be " highlighted in normal mode. To enable this feature: " > " enable_cursorcolumn = true " < "" " Enable/Disable cursorcolumn. Default is 0, cursorcolumn will be " highlighted in normal mode. To enable this feature: " > " let g:spacevim_enable_cursorcolumn = 1 " < let g:spacevim_enable_cursorcolumn = 0 "" " @section error_symbol, options-error_symbol " @parentsection options " Set the error symbol for SpaceVim's syntax maker. Default is '✖'. " > " error_symbol = "+" " < "" " Set the error symbol for SpaceVim's syntax maker. Default is '✖'. " > " let g:spacevim_error_symbol = '+' " < let g:spacevim_error_symbol = '✖' "" " @section warning_symbol, options-warning_symbol " @parentsection options " Set the warning symbol for SpaceVim's syntax maker. Default is '⚠'. " > " warning_symbol = '!' " < "" " Set the warning symbol for SpaceVim's syntax maker. Default is '⚠'. " > " let g:spacevim_warning_symbol = '!' " < let g:spacevim_warning_symbol = '⚠' "" " @section info_symbol, options-info_symbol " @parentsection options " Set the information symbol for SpaceVim's syntax maker. Default is '🛈'. " > " info_symbol = 'i' " < "" " Set the information symbol for SpaceVim's syntax maker. Default is '🛈'. " > " let g:spacevim_info_symbol = 'i' " < let g:spacevim_info_symbol = SpaceVim#api#import('messletters').circled_letter('i') "" " @section terminal_cursor_shape, options-terminal_cursor_shape " @parentsection options " Set the SpaceVim cursor shape in the terminal. " > " 0 : to prevent Nvim from changing the cursor shape. " 1 : to enable non-blinking mode-sensitive cursor. " 2 : to enable blinking mode-sensitive cursor (default). " > " Host terminal must support the DECSCUSR CSI escape sequence. " Depending on the terminal emulator, using this option with nvim under " tmux might require adding the following to ~/.tmux.conf: " > " set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q' " < "" " Set the SpaceVim cursor shape in the terminal. " > " 0 : to prevent Nvim from changing the cursor shape. " 1 : to enable non-blinking mode-sensitive cursor. " 2 : to enable blinking mode-sensitive cursor (default). " > " Host terminal must support the DECSCUSR CSI escape sequence. " Depending on the terminal emulator, using this option with nvim under " tmux might require adding the following to ~/.tmux.conf: " > " set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q' " < let g:spacevim_terminal_cursor_shape = 2 "" " @section vim_help_language, options-vim_help_language " @parentsection options " Set the help language of vim. Default is 'en'. " You can change it to Chinese. " > " vim_help_language = "cn" " < "" " Set the help language of vim. Default is 'en'. " You can change it to Chinese. " > " let g:spacevim_vim_help_language = 'cn' " < let g:spacevim_vim_help_language = 'en' "" " @section language, options-language " @parentsection options " Set the message language of vim. Default is 'en_US.UTF-8'. " > " language = 'en_CA.utf8' " < "" " Set the message language of vim. Default is 'en_US.UTF-8'. " > " let g:spacevim_language = 'en_CA.utf8' " < let g:spacevim_language = '' "" " @section keep_server_alive, options-keep_server_alive " @parentsection options " Option for keep the spacevim server ailive "" " Option for keep the spacevim server ailive let g:spacevim_keep_server_alive = 1 "" " @section colorscheme, options-colorscheme " @parentsection options " The colorscheme of SpaceVim. Default is 'gruvbox'. "" " The colorscheme of SpaceVim. Default is 'gruvbox'. let g:spacevim_colorscheme = 'gruvbox' "" " @section colorscheme_bg, options-colorscheme_bg " @parentsection options " The background of colorscheme. Default is 'dark'. "" " The background of colorscheme. Default is 'dark'. let g:spacevim_colorscheme_bg = 'dark' "" " The default colorscheme of SpaceVim. Default is 'desert'. " This colorscheme will be used if the colorscheme set by " `g:spacevim_colorscheme` is not installed. " > " let g:spacevim_colorscheme_default = 'other_color' " < let g:spacevim_colorscheme_default = 'desert' "" " @section filemanager, options-filemanager " @parentsection options " The default file manager of SpaceVim. Default is 'nerdtree'. " you can also use: " 1. defx " 2. vimfiler " 3. neo-tree " 4: nvim-tree "" " The default file manager of SpaceVim. Default is 'nerdtree'. " you can also use defx or vimfiler let g:spacevim_filemanager = 'nerdtree' "" " @section filetree_direction, options-filetree_direction " @parentsection options " Config the direction of file tree. Default is 'right'. you can also set to " 'left'. " " NOTE: if it is 'left', the tagbar will be move to right. "" " Config the direction of file tree. Default is 'right'. you can also set to " 'left'. " " NOTE: if it is 'left', the tagbar will be move to right. let g:spacevim_filetree_direction = 'right' let g:spacevim_sidebar_direction = '' "" " The default plugin manager of SpaceVim. " if has patch 7.4.2071, the default value is dein. Otherwise it is neobundle. " Options are dein, neobundle, or vim-plug. if has('patch-7.4.2071') let g:spacevim_plugin_manager = 'dein' else let g:spacevim_plugin_manager = 'neobundle' endif "" " @section plugin_manager_processes, options-plugin_manager_processes " @parentsection options " Set the max process of SpaceVim plugin manager "" " Set the max process of SpaceVim plugin manager let g:spacevim_plugin_manager_processes = 16 "" " @section checkinstall, options-checkinstall " @parentsection options " Enable/Disable checkinstall on SpaceVim startup. Default is true. " > " checkinstall = true " < "" " Enable/Disable checkinstall on SpaceVim startup. Default is 1. " > " let g:spacevim_checkinstall = 1 " < let g:spacevim_checkinstall = 1 "" " @section vimcompatible, options-vimcompatible " @parentsection options " Enable/Disable vimcompatible mode, by default it is false. " to enable vimcompatible mode, just add: " > " vimcompatible = true " < " In vimcompatible mode all vim origin key bindings will not be changed. " " Includes: " > " q smart quit windows " s windows key bindings leader " , language specific leader " move cursor to beginning in command line mode " move cursor to left in command line mode " move cursor to right in command line mode " switch buffer " < "" " Enable/Disable vimcompatible mode, by default it is false. " to enable vimcompatible mode, just add: " > " let g:spacevim_vimcompatible = 1 " < " In vimcompatible mode all vim origin key bindings will not be changed. " " Includes: " > " q smart quit windows " s windows key bindings leader " , language specific leader " move cursor to beginning in command line mode " move cursor to left in command line mode " move cursor to right in command line mode " switch buffer " < let g:spacevim_vimcompatible = 0 "" " @section enable_debug, options-enable_debug " @parentsection options " Enable/Disable debug mode for SpaceVim. Default is false. " > " enable_debug = true " < "" " Enable/Disable debug mode for SpaceVim. Default is 0. " > " let g:spacevim_enable_debug = 1 " < let g:spacevim_enable_debug = 0 "" " Auto disable touchpad when switch to insert mode or focuslost in neovim. let g:spacevim_auto_disable_touchpad = 1 "" " Set the debug level of SpaceVim. Default is 1. see " |SpaceVim#logger#setLevel()| let g:spacevim_debug_level = 1 let g:spacevim_hiddenfileinfo = 1 let g:spacevim_gitcommit_pr_icon = '' let g:spacevim_gitcommit_issue_icon = '' "" " @section buffer_index_type, options-buffer_index_type " @parentsection options " Set SpaceVim buffer index type, default is 4. " > " # types: " # 0: 1 ➛ ➊ " # 1: 1 ➛ ➀ " # 2: 1 ➛ ⓵ " # 3: 1 ➛ ¹ " # 4: 1 ➛ 1 " buffer_index_type = 1 " < "" " Set SpaceVim buffer index type, default is 4. " > " " types: " " 0: 1 ➛ ➊ " " 1: 1 ➛ ➀ " " 2: 1 ➛ ⓵ " " 3: 1 ➛ ¹ " " 4: 1 ➛ 1 " let g:spacevim_buffer_index_type = 1 " < let g:spacevim_buffer_index_type = 4 "" " @section windows_index_type, options-windows_index_type " @parentsection options " Set SpaceVim windows index type, default is 3. " > " # types: " # 0: 1 ➛ ➊ " # 1: 1 ➛ ➀ " # 2: 1 ➛ ⓵ " # 3: 1 ➛ 1 " windows_index_type = 1 " < "" " Set SpaceVim windows index type, default is 3. " > " " types: " " 0: 1 ➛ ➊ " " 1: 1 ➛ ➀ " " 2: 1 ➛ ⓵ " " 3: 1 ➛ 1 " let g:spacevim_windows_index_type = 1 " < let g:spacevim_windows_index_type = 3 "" " @section enable_tabline_ft_icon, options-enable_tabline_ft_icon " @parentsection options " Enable/Disable tabline filetype icon. default is false. To enable this " feature: " > " enable_tabline_ft_icon = true " < "" " Enable/Disable tabline filetype icon. default is 0. let g:spacevim_enable_tabline_ft_icon = 0 "" " Enable/Disable os fileformat icon. default is 0. let g:spacevim_enable_os_fileformat_icon = 0 "" " Set the github username, It will be used for getting your starred repos, and " fuzzy find the repo you want. let g:spacevim_github_username = '' "" " @section windows_smartclose, options-windows_smartclose " @parentsection options " Set the default key for smart close windows, default is `q`. " to disable this feature, just set it to empty string: " > " windows_smartclose = "" " < "" " Set the default key for smart close windows, default is `q`. let g:spacevim_windows_smartclose = 'q' "" " @section disabled_plugins, options-disabled_plugins " @parentsection options " > " disabled_plugins = ['vim-foo', 'vim-bar'] " < "" " Disable plugins by name. " > " let g:spacevim_disabled_plugins = ['vim-foo', 'vim-bar'] " < let g:spacevim_disabled_plugins = [] "" " @section custom_plugins, usage-custom_plugins " @parentsection usage " If you want to add custom plugin, use `custom_plugins` section. For example: " if you want to add https://github.com/vimwiki/vimwiki, add following code " into your configuration file. " > " [[custom_plugins]] " repo = 'vimwiki/vimwiki' " merged = false " < " Use one custom_plugins for each plugin, example: " > " [[custom_plugins]] " repo = 'vimwiki/vimwiki' " merged = false " [[custom_plugins]] " repo = 'wsdjeg/vim-j' " merged = false " < "" " Add custom plugins. " > " let g:spacevim_custom_plugins = [ " \ ['plasticboy/vim-markdown', 'on_ft' : 'markdown'], " \ ['wsdjeg/GitHub.vim'], " \ ] " < let g:spacevim_custom_plugins = [] "" " change the default filetype icon for a specific filtype. " > " let g:spacevim_filetype_icons['md'] = '' " < let g:spacevim_filetype_icons = {} "" " SpaceVim will load the global config after local config if set to 1. Default " is 0. If you have a local config, the global config will not be loaded. " > " let g:spacevim_force_global_config = 1 " < let g:spacevim_force_global_config = 0 "" " Enable/Disable powerline symbols. Default is 1. let g:spacevim_enable_powerline_fonts = 1 "" " Enable/Disable lint on save feature of SpaceVim's maker. Default is 1. " > " let g:spacevim_lint_on_save = 0 " < " NOTE: the `lint_on_save` option has been deprecated. Please use layer option " of @section(layers-checkers) layer. let g:spacevim_lint_on_save = 1 "" " @section search_tools, options-search_tools " @parentsection options " Default search tools supported by flygrep. The default order is ['rg', 'ag', " 'pt', 'ack', 'grep', 'findstr', 'git'] " The `git` command means using `git-grep`. If you prefer to use `git-grep` by " default. You can change this option to: " > " [options] " search_tools = ['git', 'rg', 'ag'] " < "" " Default search tools supported by flygrep. The default order is ['rg', 'ag', " 'pt', 'ack', 'grep', 'findstr', 'git'] let g:spacevim_search_tools = ['rg', 'ag', 'pt', 'ack', 'grep', 'findstr', 'git'] let g:spacevim_flygrep_next_version = v:false "" " @section project_rooter_patterns, options-project_rooter_patterns " @parentsection options " Set the project root patterns, SpaceVim determines the root directory of the " project based on this option. By default it is: " > " ['.git/', '_darcs/', '.hg/', '.bzr/', '.svn/'] " < "" " Set the project root patterns, SpaceVim determines the root directory of the " project based on this option. By default it is: " > " ['.git/', '_darcs/', '.hg/', '.bzr/', '.svn/'] " < let g:spacevim_project_rooter_patterns = ['.git/', '_darcs/', '.hg/', '.bzr/', '.svn/'] "" " @section project_non_root, options-project_non_root " @parentsection options " This option set the default behavior for non-project files. " - `current`: change to file's dir, like `autochdir` " - `''`: do not change directory " - `home`: change to home directory let g:spacevim_project_non_root = '' "" " @section enable_projects_cache, options-enable_projects_cache " @parentsection options " Enable/Disable cross session projects cache. Enabled by default. "" " Enable/Disable cross session projects cache. Enabled by default. let g:spacevim_enable_projects_cache = 1 "" " @section projects_cache_num, options-projects_cache_num " @parentsection options " Setting the numbers of cached projects, by default it is 20. "" " Setting the numbers of cached projects, by default it is 20. let g:spacevim_projects_cache_num = 20 "" " @section project_auto_root, options-project_auto_root " @parentsection options " Enable/Disable project root detection. By default, SpaceVim will change the " directory to the project root directory based on `project_rooter_patterns` " option. To disable this feature: " > " [options] " project_auto_root = false " < " NOTE: *g:spacevim_project_rooter_automatically* and " *SpaceVim-options-project_rooter_automatically* are deprecated. "" " Enable/Disable changing directory automatically. Enabled by default. let g:spacevim_project_auto_root = 1 "" " @section project_rooter_outermost, options-project_rooter_outermost " @parentsection options " Enable/Disable finding outermost directory for project root detection. " By default SpaceVim will find the outermost directory based on " `project_rooter_patterns`. To find nearest directory, you need to disable " this option: " > " [options] " project_rooter_outermost = false " < "" " Enable/Disable finding outermost directory for project root detection. " By default SpaceVim will find the outermost directory based on " `project_rooter_patterns`. To find nearest directory, you need to disable " this option: " > " let g:spacevim_project_rooter_outermost = 0 " < let g:spacevim_project_rooter_outermost = 1 "" " @section commandline_prompt, options-commandline_prompt " @parentsection options " Config the command line prompt for flygrep and denite etc. " Default is `>`, for example: " > " commandline_prompt = '➭' " < "" " Config the command line prompt for flygrep and denite etc. let g:spacevim_commandline_prompt = '>' "" " @section todo_labels, options-todo_labels " @parentsection options " Option for setting todo labels in current project. "" " Option for setting todo labels in current project. let g:spacevim_todo_labels = ['fixme', 'question', 'todo', 'idea'] "" " @section todo_close_list, options-close_list " @parentsection options " Option for setting todo windows behavior when open item in todo list. " Default is `true`, set to `false` will not close todo windows. "" " Option for setting todo windows behavior when open item in todo list. " Default is 1, set to 0 will not close todo windows. let g:spacevim_todo_close_list = 0 "" " @section todo_prefix, options-todo_prefix " @parentsection options " Option for setting todo prefix in current project. " The default is `@` let g:spacevim_todo_prefix = '@' "" " @section lint_on_the_fly, options-lint_on_the_fly " @parentsection options " Enable/Disable lint on the fly feature of SpaceVim's maker. Default is true. " > " lint_on_the_fly = false " < " NOTE: the `lint_on_the_fly` option has been deprecated. Please use layer option " of @section(layers-checkers) layer. "" " Enable/Disable lint on the fly feature of SpaceVim's maker. Default is 0. " > " let g:spacevim_lint_on_the_fly = 0 " < let g:spacevim_lint_on_the_fly = 0 "" " @section retry_cnt, options-retry_cnt " @parentsection options " Set the number of retries for SpaceVim Update when failed. Default is 3. " Set to 0 to disable this feature, or you can set to another number. " > " update_retry_cnt = 3 " < "" " Set the number of retries for SpaceVim Update when failed. Default is 3. " Set to 0 to disable this feature, or you can set to another number. " > " let g:spacevim_update_retry_cnt = 3 " < let g:spacevim_update_retry_cnt = 3 "" " @section enable_vimfiler_welcome, options-enable_vimfiler_welcome " @parentsection options " Enable/Disable vimfiler in the welcome windows. Default is true. " This will cause vim to start up slowly if there are too many files in the " current directory. " > " enable_vimfiler_welcome = false " < "" " Enable/Disable vimfiler in the welcome windows. Default is 1. " This will cause vim to start up slowly if there are too many files in the " current directory. " > " let g:spacevim_enable_vimfiler_welcome = 0 " < let g:spacevim_enable_vimfiler_welcome = 1 "" " @section autocomplete_parens, options-autocomplete_parens " @parentsection options " Enable/Disable autocompletion of parentheses, default is true (enabled). " > " autocomplete_parens = false " < "" " Enable/Disable autocompletion of parentheses, default is 1 (enabled). let g:spacevim_autocomplete_parens = 1 let g:spacevim_smartcloseignorewin = ['__Tagbar__' , 'vimfiler:default'] let g:spacevim_smartcloseignoreft = [ \ 'tagbar', \ 'neo-tree', \ 'vimfiler', \ 'defx', \ 'NvimTree', \ 'SpaceVimRunner', \ 'SpaceVimREPL', \ 'SpaceVimQuickFix', \ 'HelpDescribe', \ 'VebuggerShell', \ 'VebuggerTerminal', \ 'SpaceVimTabsManager', \ 'SpaceVimGitRemoteManager' \ ] let g:_spacevim_altmoveignoreft = ['Tagbar' , 'vimfiler'] let g:_spacevim_mappings_space = {} let g:_spacevim_mappings_prefixs = {} let g:_spacevim_mappings_windows = {} let g:_spacevim_statusline_fileformat = '' let g:spacevim_enable_javacomplete2_py = 0 "" " @section src_root, options-src_root " @parentsection options " set default sources root of all your projects. default is `E:\sources\`. " > " src_root = 'E:\sources\' " < let g:spacevim_src_root = 'E:\sources\' "" " The host file url. This option is for Chinese users who can not use " Google and Twitter. let g:spacevim_hosts_url \ = 'https://raw.githubusercontent.com/racaljk/hosts/master/hosts' "" " @section wildignore, options-wildignore " @parentsection options " A list of file patterns when file match it will be ignored. " > " wildignore = '*/tmp/*,*.so,*.swp,*.zip,*.class,tags,*.jpg,*.ttf,*.TTF,*.png,*/target/*,.git,.svn,.hg,.DS_Store,*.svg' " < let g:spacevim_wildignore \ = '*/tmp/*,*.so,*.swp,*.zip,*.class,tags,*.jpg,*.ttf,*.TTF,*.png,*/target/*,.git,.svn,.hg,.DS_Store,*.svg' " }}} " Private SpaceVim options let g:_spacevim_mappings = {} let g:_spacevim_mappings_space_custom = [] let g:_spacevim_mappings_space_custom_group_name = [] let g:_spacevim_mappings_leader_custom = [] let g:_spacevim_mappings_leader_custom_group_name = [] let g:_spacevim_mappings_language_specified_space_custom = {} let g:_spacevim_mappings_lang_group_name = {} let g:_spacevim_neobundle_installed = 0 let g:_spacevim_dein_installed = 0 let g:_spacevim_vim_plug_installed = 0 if !exists('g:leaderGuide_vertical') let g:leaderGuide_vertical = 0 endif let g:spacevim_leader_guide_vertical = 0 if !exists('g:leaderGuide_sort_horizontal') let g:leaderGuide_sort_horizontal = 0 endif let g:spacevim_leader_guide_sort_horizontal = 0 if !exists('g:leaderGuide_position') let g:leaderGuide_position = 'botright' endif let g:spacevim_leader_guide_position = 'botright' if !exists('g:leaderGuide_run_map_on_popup') let g:leaderGuide_run_map_on_popup = 1 endif let g:spacevim_leader_guide_run_map_on_popup = 1 if !exists('g:leaderGuide_hspace') let g:leaderGuide_hspace = 5 endif let g:spacevim_leader_guide_hspace = 5 if !exists('g:leaderGuide_flatten') let g:leaderGuide_flatten = 1 endif let g:spacevim_leader_guide_flatten = 1 if !exists('g:leaderGuide_default_group_name') let g:leaderGuide_default_group_name = '' endif let g:spacevim_leader_guide_default_group_name = '' if !exists('g:leaderGuide_max_size') let g:leaderGuide_max_size = 0 endif let g:spacevim_leader_guide_max_size = 0 if !exists('g:leaderGuide_submode_mappings') let g:leaderGuide_submode_mappings = \ { '': 'win_close', 'n': 'page_down', 'p': 'page_up', 'u' : 'undo'} endif let g:spacevim_leader_guide_submode_mappings = {'': 'win_close'} " SpaceVim/LanguageClient-neovim {{{ if !exists('g:LanguageClient_serverCommands') let g:LanguageClient_serverCommands = {} endif " }}} command! -nargs=1 LeaderGuide call SpaceVim#mapping#guide#start_by_prefix('0', ) command! -range -nargs=1 LeaderGuideVisual call SpaceVim#mapping#guide#start_by_prefix('1', ) function! s:lazy_end(...) abort if g:spacevim_vimcompatible let g:spacevim_windows_leader = '' let g:spacevim_windows_smartclose = '' endif if !g:spacevim_vimcompatible cnoremap " Navigation in command line cnoremap cnoremap " @bug_vim with command line can not be cleared cnoremap repeat('', strchars(getcmdline()) - getcmdpos() + 1) "Use escape_key_binding switch to normal mode if !empty(g:spacevim_escape_key_binding) exe printf('inoremap %s ', g:spacevim_escape_key_binding) endif endif call SpaceVim#server#connect() if g:spacevim_enable_neocomplcache let g:spacevim_autocomplete_method = 'neocomplcache' endif if g:spacevim_enable_ycm if has('python') || has('python3') let g:spacevim_autocomplete_method = 'ycm' else call SpaceVim#logger#warn('YCM need +python or +python3 support, force to using ' . g:spacevim_autocomplete_method) endif endif if g:spacevim_keep_server_alive call SpaceVim#server#export_server() endif if !empty(g:spacevim_windows_leader) call SpaceVim#mapping#leader#defindWindowsLeader(g:spacevim_windows_leader) endif call SpaceVim#mapping#g#init() call SpaceVim#mapping#z#init() call SpaceVim#mapping#leader#defindKEYs() call SpaceVim#mapping#space#init() if !SpaceVim#mapping#guide#has_configuration() let g:leaderGuide_map = {} call SpaceVim#mapping#guide#register_prefix_descriptions('', 'g:leaderGuide_map') endif if g:spacevim_vim_help_language ==# 'cn' let &helplang = 'cn' elseif g:spacevim_vim_help_language ==# 'ja' let &helplang = 'jp' endif " generate tags for SpaceVim let help = fnamemodify(g:_spacevim_root_dir, ':p:h') . '/doc' try exe 'helptags ' . help catch call SpaceVim#logger#warn('Failed to generate helptags for SpaceVim') endtry " set language if !empty(g:spacevim_language) silent exec 'lan ' . g:spacevim_language endif " tab options: set smarttab let &expandtab = g:spacevim_expand_tab let &wrap = g:spacevim_wrap_line let &list = g:spacevim_enable_list_mode if g:spacevim_default_indent > 0 let &tabstop = g:spacevim_default_indent let &softtabstop = g:spacevim_default_indent let &shiftwidth = g:spacevim_default_indent endif let g:unite_source_menu_menus = \ get(g:,'unite_source_menu_menus',{}) let g:unite_source_menu_menus.CustomKeyMaps = {'description': \ 'Custom mapped keyboard shortcuts [unite]'} let g:unite_source_menu_menus.CustomKeyMaps.command_candidates = \ get(g:unite_source_menu_menus.CustomKeyMaps,'command_candidates', []) let g:unite_source_menu_menus.MyStarredrepos = {'description': \ 'All github repos starred by me ls'} let g:unite_source_menu_menus.MyStarredrepos.command_candidates = \ get(g:unite_source_menu_menus.MyStarredrepos,'command_candidates', []) let g:unite_source_menu_menus.MpvPlayer = {'description': \ 'Musics list lm'} let g:unite_source_menu_menus.MpvPlayer.command_candidates = \ get(g:unite_source_menu_menus.MpvPlayer,'command_candidates', []) if g:spacevim_realtime_leader_guide nnoremap :LeaderGuide get(g:, 'mapleader', '\') vnoremap :LeaderGuideVisual get(g:, 'mapleader', '\') endif let g:leaderGuide_max_size = 15 exe 'set wildignore+=' . g:spacevim_wildignore " shell if has('filterpipe') set noshelltemp endif endfunction let g:_spacevim_mappings_prefixs['[SPC]'] = {'name' : '+SPC prefix'} let g:_spacevim_mappings_space.t = {'name' : '+Toggles'} let g:_spacevim_mappings_space.t.h = {'name' : '+Toggles highlight'} let g:_spacevim_mappings_space.t.m = {'name' : '+modeline'} let g:_spacevim_mappings_space.T = {'name' : '+UI toggles/themes'} let g:_spacevim_mappings_space.a = {'name' : '+Applications'} let g:_spacevim_mappings_space.b = {'name' : '+Buffers'} let g:_spacevim_mappings_space.f = {'name' : '+Files'} let g:_spacevim_mappings_space.j = {'name' : '+Jump/Join/Split'} let g:_spacevim_mappings_space.m = {'name' : '+Major-mode'} let g:_spacevim_mappings_space.w = {'name' : '+Windows'} let g:_spacevim_mappings_space.p = {'name' : '+Projects/Packages'} let g:_spacevim_mappings_space.h = {'name' : '+Help'} let g:_spacevim_mappings_space.n = {'name' : '+Narrow/Numbers'} let g:_spacevim_mappings_space.q = {'name' : '+Quit'} let g:_spacevim_mappings_space.l = {'name' : '+Language Specified'} let g:_spacevim_mappings_space.s = {'name' : '+Searching/Symbol'} let g:_spacevim_mappings_space.r = {'name' : '+Registers/rings/resume'} let g:_spacevim_mappings_space.d = {'name' : '+Debug'} let g:_spacevim_mappings_space.F = {'name' : '+Tabs'} let g:_spacevim_mappings_space.e = {'name' : '+Errors/Encoding'} let g:_spacevim_mappings_space.B = {'name' : '+Global buffers'} let g:_spacevim_mappings_space.f.v = {'name' : '+Vim/SpaceVim'} let g:_spacevim_mappings_space.i = {'name' : '+Insertion'} let g:_spacevim_mappings_space.i = {'name' : '+Insertion'} let g:_spacevim_mappings_space.i.l = {'name' : '+Lorem-ipsum'} let g:_spacevim_mappings_space.i.p = {'name' : '+Passwords/Picker'} let g:_spacevim_mappings_space.i.U = {'name' : '+UUID'} function! SpaceVim#end() abort let &tabline = ' ' if has('timers') call timer_start(g:spacevim_lazy_conf_timeout, function('s:lazy_end')) else call s:lazy_end() endif if SpaceVim#layers#isLoaded('core#statusline') call SpaceVim#layers#core#statusline#init() endif call SpaceVim#plugins#load() if g:spacevim_enable_guicolors == 1 if !has('nvim') && has('patch-7.4.1770') let &t_8f = "\[38;2;%lu;%lu;%lum" let &t_8b = "\[48;2;%lu;%lu;%lum" endif if exists('+termguicolors') set termguicolors elseif exists('+guicolors') set guicolors endif endif call SpaceVim#autocmds#init() if g:spacevim_colorscheme !=# '' "{{{ try exec 'set background=' . g:spacevim_colorscheme_bg exec 'colorscheme ' . g:spacevim_colorscheme catch exec 'colorscheme '. g:spacevim_colorscheme_default endtry else exec 'colorscheme '. g:spacevim_colorscheme_default endif if g:spacevim_hiddenfileinfo == 1 && has('patch-7.4.1570') set shortmess+=F endif if !empty(g:spacevim_guifont) try let &guifont = g:spacevim_guifont catch call SpaceVim#logger#error('failed to set guifont to: ' \ . g:spacevim_guifont) call SpaceVim#logger#error(' exception: ' . v:exception) call SpaceVim#logger#error(' throwpoint: ' . v:throwpoint) endtry endif if !has('nvim-0.2.0') && !has('nvim') " In old version of neovim, &guicursor do not support cursor shape " setting. let $NVIM_TUI_ENABLE_CURSOR_SHAPE = g:spacevim_terminal_cursor_shape else if g:spacevim_terminal_cursor_shape == 0 " prevent nvim from changing the cursor shape set guicursor= elseif g:spacevim_terminal_cursor_shape == 1 " enable non-blinking mode-sensitive cursor set guicursor=n-v-c:block-blinkon0,i-ci-ve:ver25-blinkon0,r-cr:hor20,o:hor50 elseif g:spacevim_terminal_cursor_shape == 2 " enable blinking mode-sensitive cursor set guicursor=n-v-c:block-blinkon10,i-ci-ve:ver25-blinkon10,r-cr:hor20,o:hor50 endif set guicursor+=a:Cursor/lCursor endif filetype plugin indent on syntax on endfunction " return [status, dir] " status: 0 : no argv " 1 : dir " 2 : default arguments " " argc() return number of files " argv() return a list of files/directories function! s:parser_argv() abort if exists('v:argv') call SpaceVim#logger#info('v:argv is:' . string(v:argv)) " if use embed nvim " for exmaple: neovim-qt " or only run vim/neovim without argvs if len(v:argv) == 1 || (len(v:argv) == 2 && index(v:argv, '--embed') == 1) return [0] elseif index(v:argv, '--embed') !=# -1 if v:argv[-1] =~# '/$' let f = fnamemodify(expand(v:argv[-1]), ':p') if isdirectory(f) return [1, f] else return [1, getcwd()] endif elseif v:argv[-1] ==# '.' return [1, getcwd()] elseif isdirectory(expand(v:argv[-1])) return [1, fnamemodify(expand(v:argv[-1]), ':p')] elseif filereadable(v:argv[-1]) return [2, get(v:, 'argv', ['failed to get v:argv'])] elseif v:argv[-1] == '-p' && v:argv[-2] == '--embed' return [0] elseif v:argv[-1] != '--embed' && get(v:argv, -2, '') != '--cmd' return [2, v:argv[-1]] else return [0] endif elseif index(v:argv, '-d') !=# -1 " this is diff mode return [2, 'diff mode, use default arguments:' . string(v:argv)] elseif v:argv[-1] =~# '/$' let f = fnamemodify(expand(v:argv[-1]), ':p') if isdirectory(f) return [1, f] else return [1, getcwd()] endif elseif v:argv[-1] ==# '.' return [1, getcwd()] elseif isdirectory(expand(v:argv[-1])) return [1, fnamemodify(expand(v:argv[-1]), ':p')] elseif len(v:argv) == 3 && v:argv[-1] == 'VIM' && v:argv[-2] == '--servername' return [0] else return [2, get(v:, 'argv', ['failed to get v:argv'])] endif else call SpaceVim#logger#info(printf('argc is %s, argv is %s, line2byte is %s', string(argc()), string(argv()), string(line2byte('$')))) if !argc() && line2byte('$') == -1 return [0] elseif argv()[0] =~# '/$' let f = fnamemodify(expand(argv()[0]), ':p') if isdirectory(f) return [1, f] else return [1, getcwd()] endif elseif argv()[0] ==# '.' return [1, getcwd()] elseif isdirectory(expand(argv()[0])) return [1, fnamemodify(expand(argv()[0]), ':p')] else return [2, string(argv())] endif endif endfunction function! SpaceVim#begin() abort "Use English for anything in vim try if s:SYSTEM.isWindows silent exec 'lan mes en_US.UTF-8' elseif s:SYSTEM.isOSX silent exec 'language en_US.UTF-8' else let s:uname = system('uname -s') if s:uname ==# "Darwin\n" " in mac-terminal silent exec 'language en_US.UTF-8' elseif s:uname ==# "SunOS\n" " in Sun-OS terminal silent exec 'lan en_US.UTF-8' elseif s:uname ==# "FreeBSD\n" " in FreeBSD terminal silent exec 'lan en_US.UTF-8' else " in linux-terminal silent exec 'lan en_US.UTF-8' endif endif catch /^Vim\%((\a\+)\)\=:E197/ call SpaceVim#logger#error('Can not set language to en_US.utf8') catch /^Vim\%((\a\+)\)\=:E319/ call SpaceVim#logger#error('Can not set language to en_US.utf8, language not implemented in this Vim build') endtry " try to set encoding to utf-8 if s:SYSTEM.isWindows " Be nice and check for multi_byte even if the config requires " multi_byte support most of the time if has('multi_byte') " Windows cmd.exe still uses cp850. If Windows ever moved to " Powershell as the primary terminal, this would be utf-8 if exists('&termencoding') && !has('nvim') set termencoding=cp850 endif setglobal fileencoding=utf-8 " Windows has traditionally used cp1252, so it's probably wise to " fallback into cp1252 instead of eg. iso-8859-15. " Newer Windows files might contain utf-8 or utf-16 LE so we might " want to try them first. set fileencodings=ucs-bom,utf-8,gbk,utf-16le,cp1252,iso-8859-15,cp936 endif else if exists('&termencoding') && !has('nvim') set termencoding=utf-8 endif set fileencoding=utf-8 set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 endif " Before loading SpaceVim, We need to parser argvs. let s:status = s:parser_argv() call SpaceVim#logger#info('startup status:' . string(s:status)) " If do not start Vim with filename, Define autocmd for opening welcome page if s:status[0] == 0 let g:_spacevim_enter_dir = fnamemodify(getcwd(), ':~') call SpaceVim#logger#info('Startup with no argv, current dir is used: ' . g:_spacevim_enter_dir ) augroup SPwelcome au! autocmd VimEnter * call SpaceVim#welcome() augroup END elseif s:status[0] == 1 let g:_spacevim_enter_dir = fnamemodify(s:status[1], ':~') call SpaceVim#logger#info('Startup with directory: ' . g:_spacevim_enter_dir ) augroup SPwelcome au! autocmd VimEnter * call SpaceVim#welcome() augroup END else call SpaceVim#logger#info('Startup with argv: ' . string(s:status[0]) ) endif if has('nvim-0.7') try " @fixme unknown font error lua require('spacevim.default').options() catch endtry else call SpaceVim#default#options() endif call SpaceVim#default#layers() call SpaceVim#commands#load() endfunction function! SpaceVim#welcome() abort call SpaceVim#logger#info('try to open SpaceVim welcome page') if get(g:, '_spacevim_session_loaded', 0) == 1 call SpaceVim#logger#info('start SpaceVim with session file, skip welcome page') return endif exe 'cd' fnameescape(g:_spacevim_enter_dir) if exists('g:_spacevim_checking_flag') && g:_spacevim_checking_flag return endif if exists(':Startify') == 2 Startify if isdirectory(bufname(1)) && bufnr() !=# 1 " startify will not change the buffer name " if you run `nvim test/`, the buffer name is `test/`. bwipeout! 1 endif endif if g:spacevim_enable_vimfiler_welcome \ && get(g:, '_spacevim_checking_flag', 0) == 0 if has('timers') call timer_start(500, function('s:open_filetree')) else call s:open_filetree() endif endif endfunction function! s:open_filetree(...) abort if exists(':VimFiler') == 2 VimFiler wincmd p elseif exists(':Defx') == 2 Defx wincmd p elseif exists(':NERDTree') == 2 NERDTree wincmd p elseif exists(':NvimTreeOpen') == 2 try " @fixme there are some errors NvimTreeOpen catch endtry " the statusline of nvimtree is not udpated when open nvim tree in " welcome function doautocmd WinEnter wincmd p elseif exists(':Neotree') == 2 NeoTreeShow endif endfunction "" " @section Usage, usage " General guide for using SpaceVim. Including layer configuration, bootstrap " function. "" " @section undo-tree, usage-undotree " @parentsection usage " Undo tree visualizes the undo history and makes it easier to browse and " switch between different undo branches.The default key binding is `F7`. " If `+python` or `+python3` is enabled, `vim-mundo` will be used, " otherwise `undotree` will be used. " " Key bindings within undo tree windows: " > " key bindings description " `G` move bottom " `J` move older write " `K` move newer write " `N` previous match " `P` play to " `<2-LeftMouse>` mouse click " `/` search " `` preview " `d` diff " `` move older " `` move newer " `i` toggle inline " `j` move older " `k` move newer " `n` next match " `o` preview " `p` diff current buffer " `q` quit " `r` diff " `gg` move top " `?` toggle help " < "" " @section search-and-replace, usage-search-and-replace " @parentsection usage " This section document how to find and replace text in SpaceVim. " " @subsection Searching with an external tool " " SpaceVim can be interfaced with different searching tools like: " 1. rg - ripgrep " 2. ag - the silver searcher " 3. pt - the platinum searcher " 4. ack " 5. grep " The search commands in SpaceVim are organized under the `SPC s` prefix " with the next key being the tool to use and the last key is the scope. " For instance, `SPC s a b` will search in all opened buffers using `ag`. " " If the `` is uppercase then the current word under the cursor " is used as default input for the search. " For instance, `SPC s a B` will search for the word under the cursor. " " If the tool key is omitted then a default tool will be automatically " selected for the search. This tool corresponds to the first tool found " on the system from the list `search_tools`, the default order is " `['rg', 'ag', 'pt', 'ack', 'grep', 'findstr', 'git']`. " For instance `SPC s b` will search in the opened buffers using " `pt` if `rg` and `ag` have not been found on the system. " " The tool keys are: " > " Tool | Key " ---------|----- " ag | a " grep | g " git grep | G " ack | k " rg | r " pt | t " < " The available scopes and corresponding keys are: " > " Scope | Key " ---------------------------|----- " opened buffers | b " buffer directory | d " files in a given directory | f " current project | p " < " Instead of using flygrep to search text. SpaceVim also provides a general " async searcher. The key binding is `SPC s j`, an input promote will be " opened. After inserting text and press enter. searching results will be " displayed in quickfix window. "" " @section buffers-and-files, usage-buffers-and-files " @parentsection usage " All buffer related key bindings are start with `SPC b`, and all files " related key bindings are start with `SPC f`. " @subsection Buffers manipulation key bindings " " Buffer manipulation commands (start with `b`): " > " Key Bindings | Descriptions " -------------------| ------------------------------------------------ " SPC | switch to alternate buffer in the current window " SPC b . | buffer transient state " SPC b b | switch to a buffer (need fuzzy finder layer) " SPC b d | kill the current buffer " SPC b D | kill a visible buffer using vim-choosewin " SPC b Ctrl-d | kill other buffers " SPC b Ctrl-Shift-d | kill buffers using a regular expression " SPC b e | erase the content of the buffer (ask for confirmation) " SPC b n | switch to next buffer avoiding special buffers " SPC b m | open Messages buffer " SPC b o | kill all saved buffers and windows " SPC b p | switch to previous buffer avoiding special buffers " SPC b P | copy clipboard and replace buffer " SPC b R | revert the current buffer (reload from disk) " SPC b s | switch to the scratch buffer (create it if needed) " SPC b w | toggle read-only (writable state) " SPC b Y | copy whole buffer to clipboard " < " " @subsection Create a new empty buffer " " The following key bindings can be used to create new buffer. " > " Key Bindings | Descriptions " ------------ | ----------------------------------------------------- " SPC b N h | create new empty buffer in a new window on the left " SPC b N j | create new empty buffer in a new window at the bottom " SPC b N k | create new empty buffer in a new window above " SPC b N l | create new empty buffer in a new window below " SPC b N n | create new empty buffer in current window " < " @subsection Special Buffers " " Buffers created by plugins are not normal files, and they will not be listed " on tabline. And also will not be listed by `SPC b b` key binding in fuzzy finder " layer. " " @subsection File manipulation key bindings " " Files manipulation commands (start with `f`): " > " Key Bindings | Descriptions " ------------ | --------------------------------------------------------- " SPC f / | Find files with find or fd command " SPC f b | go to file bookmarks " SPC f C d | convert file from unix to dos encoding " SPC f C u | convert file from dos to unix encoding " SPC f D | delete a file and the associated buffer with confirmation " SPC f W | save a file with elevated privileges (sudo layer) " SPC f f | fuzzy find files in buffer directory " SPC f F | fuzzy find cursor file in buffer directory " SPC f o | Find current file in file tree " SPC f R | rename the current file " SPC f s | save a file " SPC f a | save as new file name " SPC f S | save all files " SPC f r | open a recent file " SPC f t | toggle file tree side bar " SPC f T | show file tree side bar " SPC f d | toggle disk manager in Windows OS " SPC f y | show and copy current file absolute path in the cmdline " SPC f Y | show and copy remote url of current file " < " NOTE: If you are using Windows, you need to install " findutils(https://www.gnu.org/software/findutils/) or " fd(https://github.com/sharkdp/fd). " If you are using scoop(https://github.com/lukesampson/scoop) to install " packages, commands in `C:\WINDOWS\system32` will override the User `PATH`, " so you need to put the scoop binary path before `C:\WINDOWS\system32` in `PATH`. " " After pressing `SPC f /`, the find window will be opened. " It is going to run `find` or `fd` command asynchronously. " By default, `find` is the default tool, you can use `ctrl-e` to switch tools. " " To change the default file searching tool, you can use " `file_searching_tools` in the `[options]` section. " It is `[]` by default. " > " [options] " file_searching_tools = ['find', 'find -not -iwholename "*.git*" '] " < " " The first item is the name of the tool, the second one is the default searching command. " " @subsection Vim and SpaceVim files " " Convenient key bindings are located under the prefix `SPC f v` to quickly " navigate between Vim and SpaceVim specific files. " > " Key Bindings | Descriptions " ------------ | ------------------------------------------------ " SPC f v v | display and copy SpaceVim version " SPC f v d | open SpaceVim custom configuration file " SPC f v s | list all loaded vim scripts, like :scriptnames " < "" " @section command-line-mode, usage-command-line-mode " @parentsection usage " After pressing `:`, you can switch to command line mode, here is a list " of key bindings can be used in command line mode: " > " Key bindings Descriptions " Ctrl-a move cursor to beginning " Ctrl-b Move cursor backward in command line " Ctrl-f Move cursor forward in command line " Ctrl-w delete a whole word " Ctrl-u remove all text before cursor " Ctrl-k remove all text after cursor " Ctrl-c/Esc cancel command line mode " Tab next item in popup menu " Shift-Tab previous item in popup menu " < "" " @section Development, dev " " SpaceVim is a joint effort of all contributors. " We encourage you to participate in SpaceVim's development. " We have some guidelines that we need all contributors to follow. "" " @section License, dev-license " @parentsection dev " The license is GPLv3 for all the parts of SpaceVim. This includes: " 1. The initialization and core files. " 2. All the layer files. " 3. The documentation " " For files not belonging to SpaceVim like bundle packages, " refer to the header file. Those files should not have an empty header, " we may not accept code without a proper header file. "" " @section commit-style-guide, dev-commit-style-guide " @parentsection dev " A git commit message consists a three distinct parts separated by black line. " > " Type (scope): Subject " " body " " footer " < " types: " " - `feat`: a new feature " - `fix`: a bug fix " - `change`: no backward compatible changes " - `docs`: changes to documentation " - `style`: formatting, missing semi colons, etc; no code change " - `refactor`: refactoring production code " - `test`: adding tests, refactoring test; no production code change " - `chore`: updating build tasks, package manager configs, etc; no production code change " " scopes: " " - `api`: files in `autoload/SpaceVim/api/` and `docs/api/` directory " - `layer`: files in `autoload/SpaceVim/layers/` and `docs/layers/` directory " - `plugin`: files in `autoload/SpaceVim/plugins/` directory " - `bundle`: files in `bundle/` directory " - `core`: other files in this repository " " subject: " " Subjects should be no greater than 50 characters, " should begin with a capital letter and do not end with a period. " " Use an imperative tone to describe what a commit does, " rather than what it did. For example, use change; not changed or changes. " " body: " " Not all commits are complex enough to warrant a body, " therefore it is optional and only used when a commit requires a bit of explanation and context. " " footer: " " The footer is optional and is used to reference issue tracker IDs. "" " @section merge requese, dev-merge-request " @parentsection dev " " @subsection Steps " " The following steps describe how to create a new merge request using mail. " " 1. create new empty repository on github,gitlab or any other platform. " 2. clone your repository " > " git clone ${YOUR_OWN_REPOSITORY_URL} " < " 3. add upstream remote " > " git remote add upstream https://spacevim.org/git/repos/SpaceVim/ " < " 4. create new branch based on `upstream/master` " > " git fetch upstream " git checkout -b new_branch upstream/master " < " 5. edit, commit and push to your own repository " > " git push -u origin " < " 6. send merge request to mail list. " " email address: `spacevim@googlegroups.com` " " email title: " " The title of the email should contain one of the following prefixes:: " " `Add:` Adding new features. " " `Change:` Change default behaviors or the existing features. " " `Fix:` Fix some bugs. " " `Remove:` Remove some existing features. " " `Doc:` Update the help files. " " `Website:` Update the content of website. " " Here is an example: " " `Website: Update the lang#c layer page.` " " Email context: " " The context should contain the url of repository and the branch name. " " It is better to add some description about the changes. For example: " > " repo url: https://gitlab.com/wsdjeg/hello.git " branch: fix_scrollbar " " when switch windows, the highlight of scrollbar is wrong. " here is the reproduce steps: " " 。。。。 " < " " @subsection Simple PRs " " 1. Branch from `master` " 2. One topic per PR " 3. One commit per PR " 4. If you have several commits on different topics, close the PR and create one PR per topic " 5. If you still have several commits, squash them into only one commit " " @subsection Complex PRs " " Squash only the commits with uninteresting changes like typos, syntax fixes, etc. " And keep the important and isolated steps in different commits. " " Those PRs are merged and explicitly not fast-forwarded. "" " @section alternate file, usage-alternate-file " @parentsection usage " SpaceVim provides a built-in alternate file manager, the command is `:A`. " " To use this feature, you can create a `.project_alt.json` file in the root " of your project. for example: " > " { " "autoload/SpaceVim/layers/lang/*.vim" : " { " "doc" : "docs/layers/lang/{}.md" " }, " } " < " after adding this configuration, when edit the source file " `autoload/SpaceVim/layers/lang/java.vim`, " you can use `:A doc` switch to `docs/layers/lang/java.md` "" " @section Toggle UI, usage-toggle-ui " @parentsection usage " Some UI indicators can be toggled on and off (toggles start with t and T): " > " Key Bindings | Descriptions " ----------------- | ----------------------------------------- " SPC t 8 | highlight characters past the 80th column " SPC t a | toggle autocomplete " SPC t f | display the fill column " SPC t h h | toggle highlight of the current line " SPC t h i | toggle highlight indentation levels " SPC t h c | toggle highlight current column " SPC t h s | toggle syntax highlighting " SPC t i | toggle indentation guide at point " SPC t n | toggle line numbers " SPC t b | toggle background " SPC t c | toggle conceal " SPC t p | toggle paste mode " SPC t P | toggle auto parens mode " SPC t t | open tabs manager " SPC T ~ | display ~ in the fringe on empty lines " SPC T F / F11 | toggle frame fullscreen " SPC T f | toggle display of the fringe " SPC T m | toggle menu bar " SPC T t | toggle tool bar " < "" " @section Error handling, usage-error-handling " @parentsection usage " The @section(layers-checkers) and @section(layers-lsp) provide error " handling features. The checkers layer uses " neomake(https://github.com/neomake/neomake) by default. " The syntax checking is only performed at save time by default. " " Error management mappings (start with e): " > " Mappings | Descriptions " --------- | -------------------------------------------------- " SPC t s | toggle syntax checker " SPC e c | clear all errors " SPC e h | describe a syntax checker " SPC e l | toggle the display of the list of errors/warnings " SPC e n | go to the next error " SPC e p | go to the previous error " SPC e v | verify syntax checker setup " SPC e . | error transient state " < " The next/previous error mappings and the error transient state can be used " to browse errors from syntax checkers as well as errors from location list " buffers, and indeed anything that supports Vim's location list. This " includes for example search results that have been saved to a location " list buffer. " " Custom sign symbol: " > " Symbol | Descriptions | Custom options " ------ | ------------ | ---------------- " ✖ | Error | error_symbol " ➤ | warning | warning_symbol " ⓘ | Info | info_symbol " < " @subsection quickfix list navigation " > " Mappings | Descriptions " -------------- | -------------------------------------- " q l | Open quickfix list window " q c | clear quickfix list " q n | jump to next item in quickfix list " q p | jump to previous item in quickfix list " < "" " @section Editing, usage-editing " @parentsection usage " " @subsection Moving text " > " Key | Action " ----------------- | ----------------------------- " > / Tab | Indent to right and re-select " < / Shift-Tab | Indent to left and re-select " Ctrl-Shift-Up | move lines up " Ctrl-Shift-Down | move lines down " < " @subsection Code indentation " " The default indentation of code is 2, which is controlled by the option " @section(options-default_indent). " If you prefer to use 4 as code indentation. Just add the following snippet " to the `[options]` section in the SpaceVim's configuration file: " > " [options] " default_indent = 4 " < " The `default_indent` option will be applied to vim's `&tabstop`, " `&softtabstop` and `&shiftwidth` options. By default, when the user inserts " a ``, it will be expanded to spaces. This feature can be disabled by " `expand_tab` option the `[options]` section: " > " [options] " default_indent = 4 " expand_tab = true " < " @subsection Text manipulation commands " " Text related commands (start with `x`): " > " Key Bindings | Descriptions " ---------------- | ------------------------------------------------------- " SPC x a # | align region at # " SPC x a % | align region at % " SPC x a & | align region at & " SPC x a ( | align region at ( " SPC x a ) | align region at ) " SPC x a [ | align region at [ " SPC x a ] | align region at ] " SPC x a { | align region at { " SPC x a } | align region at } " SPC x a , | align region at , " SPC x a . | align region at . (for numeric tables) " SPC x a : | align region at : " SPC x a ; | align region at ; " SPC x a = | align region at = " SPC x a ¦ | align region at ¦ " SPC x a | align region at \| " SPC x a SPC | align region at [SPC] " SPC x a r | align region at user-specified regexp " SPC x a o | align region at operators +-*/ etc " SPC x c | count the number of chars/words/lines in the region " SPC x d w | delete trailing whitespace " SPC x d SPC | Delete all spaces and tabs around point " SPC x g t | translate current word using Google Translate " SPC x i c | change symbol style to lowerCamelCase " SPC x i C | change symbol style to UpperCamelCase " SPC x i i | cycle symbol naming styles (i to keep cycling) " SPC x i - | change symbol style to kebab-case " SPC x i k | change symbol style to kebab-case " SPC x i _ | change symbol style to under_score " SPC x i u | change symbol style to under_score " SPC x i U | change symbol style to UP_CASE " SPC x j c | set the justification to center " SPC x j l | set the justification to left " SPC x j r | set the justification to right " SPC x J | move down a line of text (enter transient state) " SPC x K | move up a line of text (enter transient state) " SPC x l d | duplicate a line or region " SPC x l r | reverse lines " SPC x l s | sort lines (ignorecase) " SPC x l S | sort lines (case-senstive) " SPC x l u | uniquify lines (ignorecase) " SPC x l U | uniquify lines (case-senstive) " SPC x t c | swap (transpose) the current character with previous one " SPC x t C | swap (transpose) the current character with next one " SPC x t w | swap (transpose) the current word with previous one " SPC x t W | swap (transpose) the current word with next one " SPC x t l | swap (transpose) the current line with previous one " SPC x t L | swap (transpose) the current line with next one " SPC x u | lowercase text " SPC x U | uppercase text " SPC x ~ | toggle case text " SPC x w c | count the words in the select region " < " @subsection Text insertion commands " " Text insertion commands (start with `i`): " > " Key bindings | Descriptions " ------------ | --------------------------------------------------------------------- " SPC i l l | insert lorem-ipsum list " SPC i l p | insert lorem-ipsum paragraph " SPC i l s | insert lorem-ipsum sentence " SPC i p 1 | insert simple password " SPC i p 2 | insert stronger password " SPC i p 3 | insert password for paranoids " SPC i p p | insert a phonetically easy password " SPC i p n | insert a numerical password " SPC i u | Search for Unicode characters and insert them into the active buffer. " SPC i U 1 | insert UUIDv1 (use universal argument to insert with CID format) " SPC i U 4 | insert UUIDv4 (use universal argument to insert with CID format) " SPC i U U | insert UUIDv4 (use universal argument to insert with CID format) " > " NOTE: You can specify the number of password characters using a prefix " argument (i.e. `10 SPC i p 1` will generate a 10 character simple password). " " @subsection Expand regions of text " " Key bindings available in visual mode: " > " Key bindings | Descriptions " ------------ | ------------------------------------------------- " v | expand visual selection of text to larger region " V | shrink visual selection of text to smaller region " < " @subsection Increase/Decrease numbers " > " Key Bindings | Descriptions " ------------ | ------------------------------------------------ " SPC n + | increase the number and initiate transient state " SPC n - | decrease the number and initiate transient state " < " In transient state: " > " Key Bindings | Descriptions " ------------- | ------------------------------------------- " + | increase the number under the cursor by one " - | decrease the number under the cursor by one " Any other key | leave the transient state " < " Tip: You can set the step (1 by default) by using a prefix argument " (i.e. `10 SPC n +` will add 10 to the number under the cursor). " " @subsection Copy and paste " " If `has('unnamedplus')`, the register used by ` y` is `+`, " otherwise it is `*`. Read `:h registers` for more info about other registers. " > " Key | Descriptions " ------------ | -------------------------------------------- " y | Copy selected text to system clipboard " p | Paste text from system clipboard after here " P | Paste text from system clipboard before here " Y | Copy selected text to pastebin " < " To change the command of clipboard, you need to use bootstrap after function: " > " " for example, to use tmux clipboard: " function! myspacevim#after() abort " call clipboard#set('tmux load-buffer -', 'tmux save-buffer -') " endfunction " < " " within the runtime log (`SPC h L`), the clipboard command will be displayed: " " > " [ clipboard ] [11:00:35] [670.246] [ Info ] yank_cmd is:'tmux load-buffer -' " [ clipboard ] [11:00:35] [670.246] [ Info ] paste_cmd is:'tmux save-buffer -' " > " " The ` Y` key binding will copy selected text to a pastebin server. " It requires `curl` in your `$PATH`. The default command is: " > " curl -s -F "content=<-" http://dpaste.com/api/v2/ " < " This command will read stdin and copy it to dpaste server. It is same as: " > " echo "selected text" | curl -s -F "content=<-" http://dpaste.com/api/v2/ " < " " @subsection Commenting " " Comments are handled by nerdcommenter, it’s bound to the following keys. " > " Key Bindings | Descriptions " ------------ | ------------------------------------------------------- " SPC ; | comment operator " SPC c a | switch to the alternative set of delimiters " SPC c h | hide/show comments " SPC c l | toggle line comments " SPC c L | comment lines " SPC c u | uncomment lines " SPC c p | toggle paragraph comments " SPC c P | comment paragraphs " SPC c s | comment with pretty layout " SPC c t | toggle comment on line " SPC c T | comment the line under the cursor " SPC c y | toggle comment and yank " SPC c Y | yank and comment " SPC c $ | comment current line from cursor to the end of the line " < " Tip: `SPC ;` will start operator mode, in this mode, you can use a motion " command to comment lines. For example, `SPC ; 4 j` will comment the current " line and the following 4 lines. " " @subsection Undo tree " " Undo tree visualizes the undo history and makes it easier to browse " and switch between different undo branches. The default key binding is `F7`. " If `+python` or `+python3` is enabled, mundo will be loaded, " otherwise undotree will be loaded. " " Key bindings within undo tree windows: " > " key bindings | description " --------------- | ------------------- " G | move bottom " J | move older write " K | move newer write " N | previous match " P | play to " <2-LeftMouse> | mouse click " / | search " | preview " d | diff " | move older " | move newer " i | toggle inline " j | move older " k | move newer " n | next match " o | preview " p | diff current buffer " q | quit " r | diff " gg | move top " ? | toggle help " < " @subsection Multi-Encodings " " SpaceVim uses utf-8 as the default encoding. There are four options for this: " " 1. fileencodings (fencs): ucs-bom,utf-8,default,latin1 " 2. fileencoding (fenc): utf-8 " 3. encoding (enc): utf-8 " 4. termencoding (tenc): utf-8 (only supported in Vim) " " To fix a messy display: `SPC e a` is the mapping to auto detect the file " encoding. After detecting the file encoding, you can run the command below " to fix it: " > " set enc=utf-8 " write " < "" " @section FAQ, faq " This is a list of the frequently asked questions about SpaceVim. " " 1. How do I enable YouCompleteMe? " " Step 1: Add `enable_ycm = true` to custom_config. By default it should be " `~/.SpaceVim.d/init.toml`. " " Step 2: Get into the directory of YouCompleteMe's author. By default it " should be `~/.cache/vimfiles/repos/github.com/Valloric/`. If you find the " directory `YouCompleteMe` in it, go into it. Otherwise clone " YouCompleteMe repo by " `git clone https://github.com/Valloric/YouCompleteMe.git`. After cloning, " get into it and run `git submodule update --init --recursive`. " " Step 3: Compile YouCompleteMe with the features you want. If you just want " C family support, run `./install.py --clang-completer`. " " " 2. How to add custom snippet? " " SpaceVim uses neosnippet as the default snippet engine. This can be changed " by @section(options-snippet_engine) option. " " If you want to add a snippet for a current filetype, run |:NeoSnippetEdit| " command. A buffer will be opened and you can add your custom snippet. " By default this buffer will be save in `~/.SpaceVim.d/snippets`. " " For more info about how to write snippet, please " read |neosnippet-snippet-syntax|. " " " 3. Where is `` in cmdline-mode? " " `` is the default value of |cedit| option, but in SpaceVim we use that " binding as ``, so maybe you can change the `cedit` option or use " `+`. " " 4. How to use `` as ``? " " Add `let g:mapleader = "\"` to bootstrap function. " " 5. Why does Vim freeze after pressing Ctrl-s? " " This is a feature of terminal emulators. You can use `Ctrl-q` to unfreeze Vim. To disable " this feature you need the following in either `~/.bash_profile` or `~/.bashrc`: "> " stty -ixon "< " " 6. How to enable `+py` and `+py3` in Neovim? " " In Neovim we can use `g:python_host_prog` and `g:python3_host_prog` " to config python prog. But in SpaceVim the custom configuration file is " loaded after SpaceVim core code. So in SpaceVim itself, if we using `:py` " command, it may cause errors. " " So we introduce two new environment variables: `PYTHON_HOST_PROG` and " `PYTHON3_HOST_PROG`. " " For example: " > " export PYTHON_HOST_PROG='/home/q/envs/neovim2/bin/python' " export PYTHON3_HOST_PROG='/home/q/envs/neovim3/bin/python' " < "" " @section Community, community " " @subsection News " " The news about spacevim will be post on twitter, feel free to follow them: " " https://x.com/SpaceVim " " @subsection Asking for help " " If you have any questions about using SpaceVim, check out the following context first, which may contain the answers: " " @section(faq): Some of the most frequently asked questions are answered there. " @section(usage): It is the general documentation of SpaceVim. " " @subsection Feedback " " If you run into a bug, or want a new feature, please use the mail list: " " send email to spacevim@googlegroups.com " " To subscribe the maillist, send anything to:spacevim+subscribe@googlegroups.com "" " @section Roadmap, roadmap " The roadmap defines the project direction and priorities. If you have any " suggestions , please checkout @section(community). " " @subsection To-Do List " " - [x] rewrite statusline plugin with lua " - [x] rewrite tabline plugin with lua " - [ ] merge website context into :h SpaceVim " " @subsection Completed " " All completed functions can be found in @section(changelog) "" " @section Changelog, changelog " Following HEAD: changes in master branch since last release v2.2.0 " " https://spacevim.org/following-head/ " " 2024-03-24: v2.3.0 " " https://spacevim.org/SpaceVim-release-v2.3.0/ " " 2023-07-05: v2.2.0 " " https://spacevim.org/SpaceVim-release-v2.2.0/ " " 2023-03-30: v2.1.0 " " https://spacevim.org/SpaceVim-release-v2.1.0/ " " 2022-07-02: v2.0.0 " " https://spacevim.org/SpaceVim-release-v2.0.0/ " " 2021-06-16: v1.9.0 " " https://spacevim.org/SpaceVim-release-v1.9.0/ " " 2021-06-16: v1.8.0 " " https://spacevim.org/SpaceVim-release-v1.8.0/ " " 2021-06-16: v1.7.0 " " https://spacevim.org/SpaceVim-release-v1.7.0/ " " 2020-12-31: v1.6.0 " " https://spacevim.org/SpaceVim-release-v1.6.0/ " " 2020-08-01: v1.5.0 " " https://spacevim.org/SpaceVim-release-v1.5.0/ " " 2020-04-05: v1.4.0 " " https://spacevim.org/SpaceVim-release-v1.4.0/ " " 2019-11-04: v1.3.0 " " https://spacevim.org/SpaceVim-release-v1.3.0/ " " 2019-07-17: v1.2.0 " " https://spacevim.org/SpaceVim-release-v1.2.0/ " " 2019-04-08: v1.1.0 " " https://spacevim.org/SpaceVim-release-v1.1.0/ " " 2018-12-25: v1.0.0 " " https://spacevim.org/SpaceVim-release-v1.0.0/ " " 2018-09-26: v0.9.0 " " https://spacevim.org/SpaceVim-release-v0.9.0/ " " 2018-06-18: v0.8.0 " " https://spacevim.org/SpaceVim-release-v0.8.0/ " " 2018-03-18: v0.7.0 " " https://spacevim.org/SpaceVim-release-v0.7.0/ " " 2017-12-30: v0.6.0 " " https://spacevim.org/SpaceVim-release-v0.6.0/ " " 2017-11-06: v0.5.0 " " https://spacevim.org/SpaceVim-release-v0.5.0/ " " 2017-08-05: v0.4.0 " " https://spacevim.org/SpaceVim-release-v0.4.0/ " " 2017-06-27: v0.3.1 " " https://spacevim.org/SpaceVim-release-v0.3.1/ " " 2017-05-31: v0.3.0 " " https://spacevim.org/SpaceVim-release-v0.3.0/ " " 2017-03-30: v0.2.0 " " https://spacevim.org/SpaceVim-release-v0.2.0/ " " 2017-01-26: v0.1.0 " " https://spacevim.org/SpaceVim-release-v0.1.0/ " vim:set et sw=2 cc=80: ================================================ FILE: autoload/airline/extensions/tabline/formatters/spacevim.vim ================================================ "============================================================================= " spacevim.vim --- buffer name formatter for airline " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= " @vimlint(EVL103, 1, a:buffers) function! airline#extensions#tabline#formatters#spacevim#format(bufnr, buffers) abort let g:_spacevim_list_buffers = a:buffers " unique_tail_improved let id = SpaceVim#api#messletters#get().bubble_num(a:bufnr, g:spacevim_buffer_index_type) . ' ' let fn = airline#extensions#tabline#formatters#unique_tail_improved#format(a:bufnr, a:buffers) if g:spacevim_enable_tabline_ft_icon || get(g:, 'spacevim_enable_tabline_filetype_icon', 0) let icon = SpaceVim#api#import('file').fticon(bufname(a:bufnr)) if !empty(icon) let fn = icon . ' ' . fn endif endif if empty(fn) return 'No Name' elseif !g:airline#extensions#tabline#buffer_idx_mode return id . fn else return fn endif endfunction " @vimlint(EVL103, 0, a:buffers) " vim:set et sw=2: ================================================ FILE: autoload/leaderf/colorscheme/SpaceVim.vim ================================================ " ============================================================================ " spacevim.vim --- leaderf theme for SpaceVim " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 " ============================================================================ let s:palette = { \ 'stlName': { \ 'gui': 'bold', \ 'font': 'NONE', \ 'guifg': '#282828', \ 'guibg': '#928374', \ 'cterm': 'bold', \ 'ctermfg': '22', \ 'ctermbg': '148' \ }, \ 'stlCategory': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': '#3c3836', \ 'guibg': '#83a598', \ 'cterm': 'NONE', \ 'ctermfg': '88', \ 'ctermbg': '208' \ }, \ 'stlNameOnlyMode': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': '#665c54', \ 'guibg': '#bdae93', \ 'cterm': 'NONE', \ 'ctermfg': '23', \ 'ctermbg': '231' \ }, \ 'stlFullPathMode': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': '#FFFFFF', \ 'guibg': '#FF2929', \ 'cterm': 'NONE', \ 'ctermfg': '231', \ 'ctermbg': '196' \ }, \ 'stlFuzzyMode': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': '#004747', \ 'guibg': '#FFFFFF', \ 'cterm': 'NONE', \ 'ctermfg': '23', \ 'ctermbg': '231' \ }, \ 'stlRegexMode': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': '#000000', \ 'guibg': '#7FECAD', \ 'cterm': 'NONE', \ 'ctermfg': '16', \ 'ctermbg': '121' \ }, \ 'stlCwd': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': '#bdae93', \ 'guibg': '#665c54', \ 'cterm': 'NONE', \ 'ctermfg': '231', \ 'ctermbg': '240' \ }, \ 'stlBlank': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': 'NONE', \ 'guibg': '#303136', \ 'cterm': 'NONE', \ 'ctermfg': 'NONE', \ 'ctermbg': '236' \ }, \ 'stlLineInfo': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': '#C9C9C9', \ 'guibg': '#585858', \ 'cterm': 'NONE', \ 'ctermfg': '251', \ 'ctermbg': '240' \ }, \ 'stlTotal': { \ 'gui': 'NONE', \ 'font': 'NONE', \ 'guifg': '#545454', \ 'guibg': '#D0D0D0', \ 'cterm': 'NONE', \ 'ctermfg': '240', \ 'ctermbg': '252' \ } \ } let g:leaderf#colorscheme#SpaceVim#palette = leaderf#colorscheme#mergePalette(s:palette) ================================================ FILE: autoload/vimfiler/columns/filetypeicon.vim ================================================ "============================================================================= " filetypeicon.vim --- filetypeicon support for vimfiler " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim scriptencoding utf-8 let s:FILE = SpaceVim#api#import('file') let s:fish = &shell =~# 'fish' function! vimfiler#columns#filetypeicon#define() abort return s:column endfunction"}}} let s:column = { \ 'name' : 'filetypeicon', \ 'description' : 'plugin for vimfiler that provides filetype icon', \ 'syntax' : 'vimfilerColumn__FileType', \ } " @vimlint(EVL103, 1, a:files) " @vimlint(EVL103, 1, a:context) function! s:column.length(files, context) abort return 3 endfunction " @vimlint(EVL103, 0, a:files) " @vimlint(EVL103, 0, a:context) " @vimlint(EVL103, 1, a:context) function! s:column.define_syntax(context) abort endfunction " @vimlint(EVL103, 0, a:context) " @vimlint(EVL103, 1, a:context) function! s:column.get(file, context) abort if a:file.vimfiler__is_directory return ' ' else let icon = s:FILE.fticon(a:file.action__path) if !empty(icon) return '[' . icon . ']' else return ' ' endif endif endfunction " @vimlint(EVL103, 0, a:context) let &cpo = s:save_cpo unlet s:save_cpo " vim:set et sw=2: ================================================ FILE: autoload/vimfiler/columns/gitstatus.vim ================================================ "============================================================================= " gitstatus.vim --- git status support for vimfiler " Copyright (c) 2016-2023 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:save_cpo = &cpo set cpo&vim scriptencoding utf-8 let s:fish = &shell =~# 'fish' function! vimfiler#columns#gitstatus#define() abort return s:column endfunction"}}} let s:column = { \ 'name' : 'gitstatus', \ 'description' : 'plugin for vimfiler that provides git status support', \ 'syntax' : 'vimfilerColumn__Git', \ } " @vimlint(EVL103, 1, a:files) " @vimlint(EVL103, 1, a:context) function! s:column.length(files, context) abort return 3 endfunction " @vimlint(EVL103, 0, a:files) " @vimlint(EVL103, 0, a:context) if !exists('g:VimFilerGitIndicatorMap') let g:VimFilerGitIndicatorMap = { \ 'Modified' : '✹', \ 'Staged' : '✚', \ 'Untracked' : '✭', \ 'Renamed' : '➜', \ 'Unmerged' : '═', \ 'Deleted' : '✖', \ 'Dirty' : '✗', \ 'Clean' : '✔︎', \ 'Ignored' : '☒', \ 'Unknown' : '?' \ } endif " @vimlint(EVL103, 1, a:context) function! s:column.define_syntax(context) abort for name in keys(g:VimFilerGitIndicatorMap) exe 'syntax match vimfilerColumn__Git' . name \ . " '\[" . g:VimFilerGitIndicatorMap[name] \ . "\]' contained containedin=vimfilerColumn__Git" endfor highlight def link vimfilerColumn__GitModified Special highlight def link vimfilerColumn__GitStaged Function highlight def link vimfilerColumn__GitUnstaged Text highlight def link vimfilerColumn__GitRenamed Title highlight def link vimfilerColumn__GitUnmerged Label highlight def link vimfilerColumn__GitDeleted Text highlight def link vimfilerColumn__GitDirty Tag highlight def link vimfilerColumn__GitClean DiffAdd highlight def link vimfilerColumn__GitUnknown Text endfunction " @vimlint(EVL103, 0, a:context) function! s:directory_of_file(file) abort return fnamemodify(a:file, ':h') endfunction function! s:system(cmd, ...) abort silent let output = (a:0 == 0) ? system(a:cmd) : system(a:cmd, a:1) return output endfunction function! s:git_shellescape(arg) abort if a:arg =~# '^[A-Za-z0-9_/.-]\+$' return a:arg elseif &shell =~# 'cmd' || gitgutter#utility#using_xolox_shell() return '"' . substitute(substitute(a:arg, '"', '""', 'g'), '%', '"%"', 'g') . '"' else return shellescape(a:arg) endif endfunction function! s:cmd_in_directory_of_file(file, cmd) abort return 'cd '.s:git_shellescape(s:directory_of_file(a:file)) . (s:fish ? '; and ' : ' && ') . a:cmd endfunction function! s:git_state_to_name(symb) abort if a:symb ==# '?' return 'Untracked' elseif a:symb ==# ' ' return 'Modified' elseif a:symb =~# '[MAC]' return 'Staged' elseif a:symb ==# 'R' return 'Renamed' elseif a:symb ==# 'U' || a:symb ==# 'A' || a:symb ==# 'D' return 'Unmerged' elseif a:symb ==# '!' return 'Ignored' else return 'Unknown' endif endfunction function! s:git_state_to_symbol(s) abort let name = s:git_state_to_name(a:s) return g:VimFilerGitIndicatorMap[name] endfunction " @vimlint(EVL103, 1, a:context) function! s:column.get(file, context) abort let cmd = 'git -c color.status=false status -s ' . fnamemodify(a:file.action__path, ':.') let output = systemlist(cmd) if v:shell_error return ' ' endif if a:file.vimfiler__is_directory if !empty(output) return '[' . g:VimFilerGitIndicatorMap['Dirty'] . ']' else return ' ' endif else if !empty(output) let symb = split(output[0])[0] return '[' . g:VimFilerGitIndicatorMap[s:git_state_to_name(symb)] . ']' else return ' ' endif endif endfunction " @vimlint(EVL103, 0, a:context) let &cpo = s:save_cpo unlet s:save_cpo " vim:set et sw=2: ================================================ FILE: bin/nsvc ================================================ #!/usr/bin/env bash #============================================================================= # SpaceVim client mode # Copyright (c) 2016-2023 Wang Shidong & Contributors # Author: Shidong Wang < wsdjeg@outlook.com > # URL: https://spacevim.org # License: GPLv3 #============================================================================= nvr --servername /tmp/spacevim_nvim_server --remote $@ ================================================ FILE: bin/nsvc.bat ================================================ @echo off nvr --servername \\.\pipe\spacevim-nvim-server --remote %* ================================================ FILE: bin/svc ================================================ #!/usr/bin/env bash #============================================================================= # SpaceVim client mode # Copyright (c) 2016-2023 Wang Shidong & Contributors # Author: Shidong Wang < wsdjeg@outlook.com > # URL: https://spacevim.org # License: GPLv3 #============================================================================= /usr/bin/vim --servername /tmp/spacevim_vim_server --remote-silent $@ ================================================ FILE: bin/svc.bat ================================================ @echo off vim --servername GVIM --remote-silent %* ================================================ FILE: bundle/Chatting-server/.gitignore ================================================ target/ test.txt .settings/ .classpath .project ================================================ FILE: bundle/Chatting-server/.projections.json ================================================ { "src/main/java/*.java": {"alternate": "src/test/java/{dirname}/{basename}Test.java"}, "src/test/java/*Test.java": {"alternate": "src/main/java/{dirname}/{basename}.java"} } ================================================ FILE: bundle/Chatting-server/README.md ================================================ ### Chatting simple server and clint for chatting. ``` Chatting server V0.1.0 java [-classpath] com.wsdjeg.chat.Server [-h] [-v] [--database databaseFileName] [-d] [-D port] Options: -h help -v version -d debug level -database use database file -D port start daemon on specified port ``` ================================================ FILE: bundle/Chatting-server/pom.xml ================================================ 4.0.0 com.wsdjeg.chat Chatting jar 1.0-SNAPSHOT Chatting http://maven.apache.org junit junit 3.8.1 test org.apache.maven.plugins maven-compiler-plugin 3.1 1.7 1.7 ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/Client.java ================================================ package com.wsdjeg.chat; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class Client { private static String SERVER_IP = "127.0.0.1"; private static int SERVER_PORT = 2013; private Socket client; private PrintWriter out; private BufferedReader in; private Client() throws Exception{ client = new Socket(SERVER_IP, SERVER_PORT); out = new PrintWriter(client.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(System.in)); new ReadLineThread(); while (true) { String msg = in.readLine(); out.println(msg); if ("bye".equals(msg)) { break; } } } public static void main (String[] args) { try { if (args.length == 2){ SERVER_IP = args[0]; SERVER_PORT = Integer.valueOf(args[1]); } new Client(); } catch (Exception e) { } } class ReadLineThread extends Thread { private BufferedReader buff; public ReadLineThread() throws Exception{ buff = new BufferedReader(new InputStreamReader(client.getInputStream())); start(); } public void run(){ try { String result; while((result = buff.readLine()) != null){ if("bye, Client!".equals(result)){ break; }else{ if (result != null) { System.out.println(result); } } } in.close(); out.close(); client.close(); } catch (Exception e) { } } } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/Server.java ================================================ package com.wsdjeg.chat; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import com.wsdjeg.chat.server.Account; import com.wsdjeg.chat.server.Logger; import com.wsdjeg.chat.server.ServerThread; public class Server extends ServerSocket { private static int SERVER_PORT = 2013; public static String databaseFileName = ""; public static final String VERSION = "0.1.0"; public static void main (String[] args) throws IOException{ for (int i = 0; i < args.length; i++) { String arg = args[i]; switch (arg) { case "-h": usage(); return; case "-v": version(); return; case "-database": databaseFileName = args[++i]; break; case "-d": Logger.setLevel(Integer.valueOf(args[++i])); break; case "-D": SERVER_PORT = Integer.valueOf(args[++i]); break; case "-port": SERVER_PORT = Integer.valueOf(args[++i]); break; } } new Server(); } public Server() throws IOException { super(SERVER_PORT); System.out.println("Server started on port:" + SERVER_PORT); try { while (true) { Socket socket = accept(); new ServerThread(socket); } } catch (Exception e) { e.printStackTrace(); } } public static void usage(){ version(); System.out.println(" java [-classpath] com.wsdjeg.chat.Server [-h] [-v] [--database databaseFileName] [-d] [-D port]"); System.out.println("Options:"); System.out.println(" -h help"); System.out.println(" -v version"); System.out.println(" -d debug level"); System.out.println(" -database use database file"); System.out.println(" -D port start daemon on specified port"); } public static void version(){ System.out.println("Chatting server V" + VERSION); } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/Account.java ================================================ package com.wsdjeg.chat.server; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import com.wsdjeg.chat.Server; public class Account { private static Map accts = new HashMap(); private static List names = new ArrayList(); static { if (!Server.databaseFileName.isEmpty()) { File db = new File(Server.databaseFileName); if (db.exists() && db.isFile() && db.canRead() && db.canWrite()) { Logger.info("Loadding accounts from database file :" + Server.databaseFileName); accts = loadDatabase(db); } } if (!accts.keySet().contains("root")) { accts.put("root", "1234"); } } private Account(){ } public static Set getAllAccounts(){ return accts.keySet(); } @SuppressWarnings("unchecked") public static Map loadDatabase(File file){ ObjectInputStream is; Map loadAccts = new HashMap<>(); try { is = new ObjectInputStream(new FileInputStream(file)); loadAccts = (Map)is.readObject(); } catch (FileNotFoundException e) { Logger.error("File can not found:" + file.getPath()); } catch (IOException e){ Logger.error("Can not load accounts from database."); } catch (ClassNotFoundException e){ Logger.error("Can not readObject from database."); } return loadAccts; } public static void updateDatabase(File f) { try{ FileOutputStream out = new FileOutputStream(f); out.write(new String("").getBytes()); out.close(); ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(f)); os.writeObject(accts); os.close(); }catch (FileNotFoundException e){ Logger.error("File can not found:" + f.getPath()); }catch (IOException e){ Logger.error("Can not update database."); } } public static boolean login(String username, String password){ if (accts.keySet().contains(username) && accts.get(username).equals(password) && !names.contains(username)) { names.add(username); return true; } return false; } private static List serverThreads = new ArrayList<>(); public static void register(ServerThread s){ if (!serverThreads.contains(s)) { serverThreads.add(s); } } public static void loginOut(ServerThread s){ if (serverThreads.contains(s)){ serverThreads.remove(s); } if (names.contains(s.getName())){ names.remove(s.getName()); } User u = UserManager.getUser(s.getName()); if ( u != null) { u.left(); } } public static List getServerThreads(){ return serverThreads; } public static boolean signin(String name, String pw, String pwcf){ if (!pw.equals(pwcf)) { return false; } if (accts.containsKey(name)){ return false; } accts.put(name, pw); if (!Server.databaseFileName.isEmpty()) { updateDatabase(new File(Server.databaseFileName)); } names.add(name); return true; } public static boolean password(String user,String password){ if ( accts.keySet().contains(user)){ accts.put(user, password); if (!Server.databaseFileName.isEmpty()) { updateDatabase(new File(Server.databaseFileName)); } return true; } return false; } public static boolean loginAble(String name,String pw){ if (accts.keySet().contains(name) && accts.get(name).equals(pw)) { return true; } return false; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/Command.java ================================================ package com.wsdjeg.chat.server; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import com.wsdjeg.chat.Server; public class Command { public static final String SPLIT = "\\s+"; private static Map cmds = new HashMap<>(); static { cmds.put("/help" , " /help : show help message."); cmds.put("/login" , " /login USERNAME PASSWORD : login with your chatting account."); cmds.put("/logout" , " /logout : logout current account."); cmds.put("/signup" , " /signup USERNAME PASSWORD PASSWORD: create a new account."); cmds.put("/password" , " /password : change the password of current user."); cmds.put("/names" , " /names : list all the user in current channel."); cmds.put("/join" , " /join : join a channel."); cmds.put("/msg" , " /msg : send a message to a user."); cmds.put("/query" , " /query : chatting with a user."); cmds.put("/addfriend" , " /addfriend : add a friend."); cmds.put("/removefriend" , " /removefriend : remove a friend."); cmds.put("/list" , " /list : list all the channels in the server."); cmds.put("/connect" , " /connect : connect to a bot."); cmds.put("/disconnect" , " /disconnect : disconnect with a bot."); cmds.put("/debug" , " /dubug LEVEL: get the server log message by debug level, only for root."); } private Command(){ } public static boolean isCommand(String str){ return cmds.keySet().contains(str.split("\\s+")[0]); } public static String[] parser(String input){ List cli = new ArrayList<>(); String inputs[] = input.split("\\s+"); switch (inputs[0]) { case "/msg": if (inputs.length >= 3){ cli.add(inputs[0]); cli.add(inputs[1]); cli.add(input.replaceFirst("/msg\\s+", "").replaceFirst("\\S+\\s+", "")); String[] result = new String[cli.size()]; return cli.toArray(result); } break; case "/query": if (inputs.length == 2 && inputs[1].matches("^[^#^\\s]+$")) { cli.add(inputs[0]); cli.add(inputs[1]); String[] result = new String[cli.size()]; return cli.toArray(result); } break; case "/join": if (inputs.length == 2 && inputs[1].matches("^#[^\\s]+")) { cli.add(inputs[0]); cli.add(inputs[1]); String[] result = new String[cli.size()]; return cli.toArray(result); } } return null; } public static String[] names(String ch){ ArrayList rst = new ArrayList(); String line = ""; for (User s : GroupManager.getGroup(ch).getMembers()) { line += "[" + s.getUserName() + "] "; if (line.length() > 50) { rst.add(line); line = ""; } } if (!line.equals("")) { rst.add(line); } String[] array = new String[rst.size()]; return rst.toArray(array); } /** * Chatting Server: V0.1.0 * command : * /help : show help message. * /login USERNAME PASSWORD : login with your chatting account. * /signup USERNAME PASSWORD PASSWORD : create a new chatting account. * /password NEWPASSWORD : change the password of current user. * /join GROUP : join a chatting group * ... * */ public static String[] help(){ List help = new ArrayList(); help.add("Chatting Server: V" + Server.VERSION); help.add("commands :"); help.addAll(cmds.values()); return help.toArray(new String[help.size()]); } public static String[] list(){ List gs = new ArrayList<>(); for (Group g: GroupManager.getGroups()) { gs.add(g.getName()); } String[] result = new String[gs.size()]; return gs.toArray(result); } public static Set getCommands(){ return cmds.keySet(); } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/FriendManager.java ================================================ package com.wsdjeg.chat.server; import java.util.List; public class FriendManager { public static List getFriends(User user){ return null; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/Group.java ================================================ package com.wsdjeg.chat.server; import java.util.ArrayList; import java.util.List; public class Group { private String name; private int id; private List members = new ArrayList<>(); public Group(String name){ this.name = name; this.id = GroupManager.generateId(); } public String getName() { return name; } public int getId() { return id; } public boolean hasMember(User user){ return members.contains(user); } public Group addMember(User user){ if (!members.contains(user)) { members.add(user); } return this; } public Group removeMember(User user){ if (members.contains(user)) { members.remove(user); } return this; } public void send(User sender, String msg){ String line = Message.format(getName(), sender.getUserName(), msg); for (User m : members) { m.send(line); } } public void send(String msg){ for (User m : members) { m.send(msg); } } public List getMembers() { return members; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/GroupManager.java ================================================ package com.wsdjeg.chat.server; import java.util.ArrayList; import java.util.List; /** * GroupManager API: * 1. Create new group; * 2. delete a group * 3. search for a group * 4. edit a group */ public class GroupManager { private GroupManager(){ } private static List groups = new ArrayList<>(); public static Group newGroup(String name){ if (getGroupId(name) == 0){ Group group = new Group(name); groups.add(group); return group; } return null; } public static int getGroupId(String name){ for (Group g : groups) { if (g.getName().equals(name)) { return g.getId(); } } return 0; } public static int generateId(){ return groups.size() + 1; } public static Group getGroup(String groupName){ for (Group g : groups) { if (g.getName().equals(groupName)) { return g; } } return null; } public static Group getGroup(int id){ for (Group g : groups) { if (g.getId() == id) { return g; } } return null; } public static List getGroups() { return groups; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/Logger.java ================================================ package com.wsdjeg.chat.server; import com.wsdjeg.chat.server.Message; public class Logger { private Logger(){ } public static int LEVEL = 0; public final static int ERROR = 1; public final static int WARNNING = 2; public final static int INFO = 3; private static String[] types = {"ERROR", "WARN", "INFO"}; public static void setLevel(int level){ LEVEL = level; } public static void info(String str){ log(INFO, str); } public static void warn(String str){ log(WARNNING, str); } public static void error(String str){ log(ERROR, str); } public static void log(int type, String msg){ if (LEVEL >= type && (type == 1 || type == 2 || type == 3)) { System.out.println("[" + Message.getTime() + "]" + " [" + types[type - 1] + "] " + msg); } } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/Message.java ================================================ package com.wsdjeg.chat.server; import java.net.Socket; import java.sql.Timestamp; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.wsdjeg.chat.server.util.JsonBuilder; public class Message { public static String format(String name, String msg){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "user_message"); m.put("sendder", name); m.put("context", msg); return JsonBuilder.decode(m); } public static String format(String msg){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "info_message"); m.put("context", msg); return JsonBuilder.decode(m); } public static String format(String gName, String uName, String msg){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "group_message"); m.put("sendder", uName); m.put("context", msg); m.put("group_name", gName); return JsonBuilder.decode(m); } public static String onWindowChange(Group g){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "onWindowChange"); m.put("name", g.getName()); return JsonBuilder.decode(m); } public static String onWindowChange(User u){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "onWindowChange"); m.put("name", u.getUserName()); return JsonBuilder.decode(m); } public static String getTime(){ Timestamp ts = new Timestamp(System.currentTimeMillis()); DateFormat df = new SimpleDateFormat("HH:mm:ss"); return df.format(ts); } public static String groupMessage(User sendder, Group group, String msg){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "group_message"); m.put("sendder", sendder.getUserName()); m.put("group_name", group.getName()); m.put("context", msg); return JsonBuilder.decode(m); } public static String userMessage(User sendder, User receiver, String msg){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "user_message"); m.put("sendder", sendder.getUserName()); m.put("receiver", receiver.getUserName()); m.put("context", msg); return JsonBuilder.decode(m); } public static String onLeft(User u, Group g){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "onLeft"); m.put("user", u.getUserName()); m.put("group_name", g.getName()); return JsonBuilder.decode(m); } public static String onGetConnection(){ Map m = new HashMap<>(); m.put("time", getTime()); m.put("type", "onGetConnection"); m.put("commands", String.join(",", Command.getCommands())); return JsonBuilder.decode(m); } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/MessageSender.java ================================================ package com.wsdjeg.chat.server; public class MessageSender { public void send(User u, String msg){ u.send(msg); } public void send(Group g, String msg){ } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/Security.java ================================================ package com.wsdjeg.chat.server; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Security { public static Map blockIps = new HashMap(); public static Map blockTime = new HashMap(); public static boolean isBlock(String ip){ return ((System.currentTimeMillis() - getTimeOfIp(ip)) < 60000) && getSignTimes(ip) > 3; } private static Long getTimeOfIp(String ip){ if (blockTime.containsKey(ip)) { return blockTime.get(ip); } return System.currentTimeMillis(); } private static int getSignTimes(String ip){ if (blockIps.containsKey(ip)) { return blockIps.get(ip); } return 0; } public static void sign(String ip){ if (blockIps.containsKey(ip)) { blockIps.put(ip, blockIps.get(ip) + 1); blockTime.put(ip, System.currentTimeMillis()); }else{ blockIps.put(ip, 1); blockTime.put(ip, System.currentTimeMillis()); } } public static void remove(String ip){ if (blockIps.containsKey(ip) && blockTime.containsKey(ip)) { blockIps.remove(ip); blockTime.remove(ip); } } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/ServerThread.java ================================================ package com.wsdjeg.chat.server; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import com.wsdjeg.chat.server.Security; import com.wsdjeg.chat.server.bot.Bot; import com.wsdjeg.chat.server.bot.BotFactory; public class ServerThread extends Thread{ private boolean isChatWithBot; private Bot bot; private Socket client; private User current_user; private User query_user; private String current_channel; private String client_ip; private BufferedReader bufferedReader; private PrintWriter printWriter; private boolean logined; public ServerThread(Socket s) throws IOException { client = s; client_ip = s.getInetAddress().getHostAddress(); bufferedReader = new BufferedReader(new InputStreamReader(client.getInputStream())); printWriter = new PrintWriter(client.getOutputStream(),true); send(Message.onGetConnection()); send(Message.format("Welcome to Chatting, please login, /help for more info!")); Logger.info("Client(" + client_ip + ") come in..."); start(); } public void run(){ try { String line; while (true) { line = bufferedReader.readLine(); if (line == null || line.equals("bye")){ Account.loginOut(this); break; }else if(Command.isCommand(line)){ if (line.indexOf("/help") == 0) { if (isChatWithBot) { for (String l : bot.help()) { send(Message.format(l)); } }else{ for (String l : Command.help()) { send(Message.format(l)); } } }else if (line.indexOf("/login ") == 0) { String command[] = line.split(Command.SPLIT); if(command.length == 3 && Account.login(command[1], command[2]) && !Security.isBlock(client_ip)) { Logger.info("Client(" + client_ip + ") now logined as : " + command[1] + "!"); this.setName(command[1]); this.current_user = UserManager.getUser(command[1]); this.current_user.setClient(this); logined = true; Account.register(this); Security.remove(client_ip); send(Message.format("you are logined as " + command[1])); for (String message : current_user.getUnReadMsg()) { send(message); } current_user.clearUnReadMsg(); }else{ Security.sign(client_ip); send(Message.format("login failed!")); if (Security.isBlock(client_ip)){ send(Message.format("your ip is blocked, please login after 60s!")); Logger.warn(client_ip + " login failed more than 3 times, blocked!"); } } }else if (line.indexOf("/signup ") == 0 ){ String command[] = line.split(Command.SPLIT); if (command.length == 4 && Account.signin(command[1], command[2], command[3])) { this.setName(command[1]); logined = true; Account.register(this); this.current_user = UserManager.create(command[1]); this.current_user.setClient(this); send(Message.format("signin successfully!")); Logger.info("Client(" + getName() + ") now logined as : " + command[1] + "!"); }else{ send(Message.format("signin failed!")); } }else if (line.indexOf("/names") == 0 && logined){ if (current_channel != null){ for (String l : Command.names(current_channel)) { send(Message.format(l)); } } }else if(line.indexOf("/password ") == 0 && logined){ if (line.split(Command.SPLIT).length == 2 && Account.password(getName(), line.split(Command.SPLIT)[1])){ send(Message.format("your password has been changed!")); } }else if(line.indexOf("/join ") == 0 && logined){ String cli[] = Command.parser(line); if (cli != null){ current_channel = cli[1]; query_user = null; current_user.join(current_channel); send(Message.onWindowChange(GroupManager.getGroup(current_channel))); } }else if (line.indexOf("/msg ") == 0 && logined) { String cli[] = Command.parser(line); if (cli != null){ User u = UserManager.getUser(cli[1]); if (u != null) { if (current_user.isFriend(u) || current_user.hasSameGroup(u)) { u.send(Message.userMessage(current_user, u, cli[2])); current_user.send(Message.userMessage(current_user, u, cli[2])); }else{ send(Message.format("you and " + cli[1] + " are not friend or in same group!")); } }else{ send(Message.format("No such user: " + cli[1])); } }else{ send(Message.format("Wrong input, please use /msg userName message!")); } }else if(line.indexOf("/query ") == 0 && logined){ String cli[] = Command.parser(line); if (cli != null){ User u = UserManager.getUser(cli[1]); if (u != null) { if (current_user.isFriend(u) || current_user.hasSameGroup(u)) { query_user = u; current_channel = null; send(Message.onWindowChange(u)); }else{ send(Message.format("you and " + cli[1] + " are not friend or in same group!")); } }else{ send(Message.format("No such user: " + cli[1])); } }else{ send(Message.format("Wrong input, please use /query userName")); } }else if(line.indexOf("/addfriend ") == 0&& logined){ User u = UserManager.getUser(line.split(Command.SPLIT)[1]); if (u != null) { if (!current_user.isFriend(u)) { current_user.addFriend(u); current_user.send(Message.format("Just add " + u.getUserName() + " as your friend!")); }else{ current_user.send(Message.format("You have already added " + u.getUserName() + " as your friend!")); } } }else if(line.indexOf("/removefriend ") == 0 && logined){ User u = UserManager.getUser(line.split(Command.SPLIT)[1]); if (u != null) { current_user.removeFriend(u); } }else if (line.indexOf("/list") == 0 && logined) { for (String name : Command.list()) { send(Message.format(name)); } }else if(line.indexOf("/connect ") == 0 && logined){ if (line.split(Command.SPLIT).length >= 2) { bot = BotFactory.getBot(line.split(Command.SPLIT)[1]); if (bot != null) { isChatWithBot = true; send(Message.format("Now chatting with a bot:" + bot.getName())); } } }else if(line.indexOf("/disconnect") == 0 && logined){ if (bot != null) { send(Message.format(bot.getName() + " is left!")); } bot = null; isChatWithBot = false; } }else if(logined){ if (current_channel != null && !current_channel.isEmpty() && !isChatWithBot) { GroupManager.getGroup(current_channel) .send(Message.groupMessage(current_user, GroupManager.getGroup(current_channel), line)); }else if(isChatWithBot){ send(Message.format(bot.reply(line))); }else if (query_user != null) { query_user.send(Message.userMessage(current_user, query_user, line)); current_user.send(Message.userMessage(current_user, query_user, line)); } }else{ send(Message.format("please login!")); } } //send("bye, Client!"); Logger.info("Client(" + getName() + ") exit!"); } catch (IOException e) { }finally{ Account.loginOut(this); printWriter.close(); try { bufferedReader.close(); client.close(); } catch (IOException e) { } } } public void send(String msg){ printWriter.println(msg); } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/User.java ================================================ package com.wsdjeg.chat.server; import java.net.Socket; import java.util.ArrayList; import java.util.List; import com.wsdjeg.chat.server.bot.SmartBot; /** * User public API: * 1. `/join` : join or create a group */ public class User { private String userName; private SmartBot smartBot; private List unReadMsg = new ArrayList<>(); private ServerThread client; private List friends = new ArrayList<>(); private List groupIds = new ArrayList<>(); public User(String userName){ this.userName = userName; } public void join(String gName){ int id = GroupManager.getGroupId(gName); if (id != 0) { if (!groupIds.contains(id)) { groupIds.add(id); } GroupManager.getGroup(gName).addMember(this); }else{ // no such group, create a new one. Group ng = GroupManager.newGroup(gName); ng.addMember(this); groupIds.add(ng.getId()); } } public void left(){ for (int id : groupIds) { GroupManager.getGroup(id) .removeMember(this) .send(Message.onLeft(this, GroupManager.getGroup(id))); } } public void addFriend(User name){ if(!friends.contains(name)) { friends.add(name); } } public void removeFriend(User name){ if (friends.contains(name)) { friends.remove(name); } } public String[] getUnReadMsg(){ String[] msgs = new String[unReadMsg.size()]; return unReadMsg.toArray(msgs); } public void clearUnReadMsg(){ unReadMsg.clear(); } public List getFriends(){ return friends; } public void setUserName(String userName) { this.userName = userName; } public String getUserName() { return userName; } public void send(String msg){ client.send(msg); } /** * snnder : who send the message to current user; */ public void send(User sender, String msg){ if (client == null || !client.isAlive()) { unReadMsg.add(Message.format(sender.getUserName(), msg)); if (smartBot != null) { String reply; if ((reply = smartBot.reply(msg)) != null) { sender.send(this, reply); } } }else{ client.send(Message.format(sender.getUserName(), msg)); } } public boolean isFriend(User user){ return friends.contains(user); } public boolean hasSameGroup(User user){ for (int id : groupIds) { if(GroupManager.getGroup(id).hasMember(user)){ return true; } } return false; } public void setClient(ServerThread client) { this.client = client; } public ServerThread getClient() { return client; } @Override public int hashCode() { int result = 17; result = 31 * result + (userName != null ? userName.hashCode() : 0); return result; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User object = (User) o; return !(userName != null ? !userName.equals(object.userName) : object.userName != null); } public void setSmartBot(SmartBot smartBot) { if (this.smartBot == null) { this.smartBot = smartBot; }else{ smartBot.getMsgDict().putAll(this.smartBot.getMsgDict()); smartBot.setName(this.smartBot.getName()); this.smartBot = smartBot; } } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/UserManager.java ================================================ package com.wsdjeg.chat.server; import java.util.ArrayList; import java.util.List; /** * UserManager API: * 1. Create a new user. * 2. get a user. */ public class UserManager { private static List users = new ArrayList<>(); static { for (String acct : Account.getAllAccounts()) { add(create(acct)); } } public static void add(User user){ if (!users.contains(user)){ users.add(user); } } public static User create(String name){ if (getUser(name) == null) { User user = new User(name); add(user); return user; } return getUser(name); } public static User getUser(String name){ for (User user : users) { if (user.getUserName().equals(name)) { return user; } } return null; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/bot/Bot.java ================================================ package com.wsdjeg.chat.server.bot; public interface Bot { public String reply(String str); public String[] help(); public String getName(); } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/bot/BotFactory.java ================================================ package com.wsdjeg.chat.server.bot; public class BotFactory { public static Bot getBot(String botName){ switch (botName) { case "MathBot": return new MathBot(); case "SmartBot": return new SmartBot(); } return null; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/bot/MathBot.java ================================================ package com.wsdjeg.chat.server.bot; import java.util.ArrayList; import java.util.List; import com.wsdjeg.chat.server.Command; import com.wsdjeg.chat.server.util.MathUtils; public class MathBot implements Bot{ private String version = "0.1.0"; private String name = "MathBot"; private String GET_LIST_BY_SUM = "/get_list_by_sum"; private List integerList = new ArrayList<>(); private String type; public String reply(String msg){ if (msg.equals(GET_LIST_BY_SUM)) { type = GET_LIST_BY_SUM; return "MathBot type is " + type; } if (type != null) { return reply(type, msg); }else{ return "you need select a type."; } } private String reply(String type, String msg){ if (type.equals(GET_LIST_BY_SUM)) { if (isInteger(msg)) { integerList.add(Integer.valueOf(msg)); return msg + " is added into list!"; }else if (msg.matches("^/sum [1-9][0-9]*$")) { return "sum list is : " + MathUtils.getResult(integerList, Integer.valueOf(msg.split(Command.SPLIT)[1])); }else{ return "please insert a integer or use /sum command."; } }else{ return null; } } private boolean isInteger(String i){ return i.matches("^[1-9][0-9]*$"); } public String[] help(){ List help = new ArrayList(); help.add(name + " : V" + this.version); help.add("types :"); help.add(" /get_list_by_sum :"); help.add(" /sum Integer: get the result."); return help.toArray(new String[help.size()]); } public String getName(){ return name; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/bot/SmartBot.java ================================================ package com.wsdjeg.chat.server.bot; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.wsdjeg.chat.server.Account; import com.wsdjeg.chat.server.Command; import com.wsdjeg.chat.server.User; import com.wsdjeg.chat.server.UserManager; import com.wsdjeg.chat.server.bot.Bot; public class SmartBot implements Bot { private String name = "lazycat"; private String version = "0.1.0"; private Map msgDict = new HashMap<>(); @Override public String getName() { return name; } public void setName(String name){ this.name = name; } @Override public String[] help() { List help = new ArrayList(); help.add(name + " : V" + this.version); help.add("types :"); help.add(" /register USERNAME PASSWORD"); help.add(" /learn pattern message"); help.add(" /rename BOTNAME"); return help.toArray(new String[help.size()]); } @Override public String reply(String string) { if (string.matches("^/register\\s\\S+\\s\\S+$")) { String[] cmds = string.split(Command.SPLIT); if (Account.loginAble(cmds[1], cmds[2])) { User u = UserManager.getUser(cmds[1]); if (u != null) { u.setSmartBot(this); return "you have set " + name + "(SmartBot) as " + u.getUserName() +" smartBot!"; } } }else if (string.matches("^/learn\\s\\S+\\s(\\S+\\s*)+$")) { String[] cmds = string.split(Command.SPLIT); String lmsg = ""; for (int i = 2; i < cmds.length; i++) { if (!lmsg.isEmpty()) { lmsg += " "; } lmsg += cmds[i]; } msgDict.put(cmds[1], lmsg); return "learn " + cmds[1]; }else if (string.matches("^/rename\\s\\S+$")) { String[] cmds = string.split(Command.SPLIT); setName(cmds[1]); return "SmartBot's name change to " + name; } return msgDict.get(string) + " --- from SmartBot: " + name; } public Map getMsgDict() { return msgDict; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/util/JsonBuilder.java ================================================ package com.wsdjeg.chat.server.util; import java.util.Map; public class JsonBuilder { public static String decode(Map o){ String begin = "{"; for (String key : o.keySet()) { begin = begin + "\"" + key .replace("\\", "\\" + "\\") .replace("\"", "\\" + "\"") + "\":\"" + o.get(key) .replace("\\", "\\" + "\\") .replace("\"", "\\" + "\"") + "\"," ; } begin = begin.substring(0, begin.length() - 1) + "}"; return begin; } public static Map encode(String json){ return null; } } ================================================ FILE: bundle/Chatting-server/src/main/java/com/wsdjeg/chat/server/util/MathUtils.java ================================================ package com.wsdjeg.chat.server.util; import java.lang.reflect.Method; import java.util.Collections; import java.util.List; public class MathUtils { public static String getResult(List list,int sum){ int min = 1; int max = list.size(); int sumtemp = 0; Collections.sort(list); List prepareList = list; for (int i = 0 ; i < prepareList.size();i++ ) { sumtemp += prepareList.get(i); if (sumtemp > sum) { max = i; i = prepareList.size(); } } sumtemp = 0; for (int i = 0 ; i < prepareList.size();i++ ) { sumtemp += prepareList.get(prepareList.size()-1-i); if (sumtemp >= sum) { min = i + 1; i = prepareList.size(); } } String result = ""; for (int j = min ; j <= max ; j++) { result += getSubListWithnum(list,j,0,sum,"","",0); } return result; } private static String getSubListWithnum(List list,int n,int sumTemp,int sum,String result,String results,int index){ results = ""; if (n > 1 && n <= list.size()) { for (int i = index ; i < list.size() - (n-1); i++) { int minSumTemp = 0; int maxSumTemp = 0; for (int i1 = index + 1 ; i1 < index + n - 1; i1++) { minSumTemp += list.get(i1); } for (int i1 = list.size() - (n-1) ; i1 < list.size() ; i1++){ maxSumTemp += list.get(i1); } if(sumTemp + list.get(i) + minSumTemp <= sum && sumTemp + list.get(i) + maxSumTemp >= sum ){ results += getSubListWithnum(list,n-1,sumTemp + list.get(i),sum,result + list.get(i) + ",",results,i+1); } } return results; }else if(n == 1){ for (int k = index ; k < list.size(); k++) { if (sumTemp + list.get(k) ==sum) { results += "[" + result + list.get(k) + "];"; } } return results; }else{ return "error!"; } } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/ClientTest.java ================================================ package com.wsdjeg.chat; import java.net.Socket; public class ClientTest { public static void main (String[] args) { try { Socket s = new Socket("perfi.wang",2013); System.out.println(s.getInetAddress()); } catch (Exception e) { e.printStackTrace(); } } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/AccountTest.java ================================================ package com.wsdjeg.chat.server; import java.io.File; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.util.HashMap; import java.util.Map; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; import com.wsdjeg.chat.server.Account; public class AccountTest { /* test register */ public void testRegister() { //TODO } /* test password */ public void testPassword() { System.out.println(Account.password("root", "12341")); System.out.println(Account.login("root", "12341")); } /* test signin */ public void testSignin() { //TODO } /* test getServerThreads */ public void testGetServerThreads() { //TODO } /* test loginOut */ public void testLoginOut() { //TODO } /* test login */ public void testLogin() { //TODO } public void testLoadDatabase()throws Exception{ File f = new File("test.txt"); Map s = new HashMap<>(); s.put("root", "1234"); ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(f)); os.writeObject(s); os.close(); s = Account.loadDatabase(f); System.out.println(s.get("root")); } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/CommandTest.java ================================================ package com.wsdjeg.chat.server; import java.util.HashSet; import java.util.Set; public class CommandTest { /* test help */ public void testHelp() { //TODO } /* test names */ public void testNames() { //TODO } /* test parser */ public void testParser() { Set s = new HashSet<>(); s.add("/msg root 123"); s.add("/query root"); s.add("/join #vim"); for (String cmd : s) { for (String arg :Command.parser(cmd)){ System.out.print(arg); System.out.print(" "); } System.out.println(); } } /* test isCommand */ public void testIsCommand() { System.out.println(Command.isCommand("/login wsdjeg 1234 ")); } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/GroupManagerTest.java ================================================ package com.wsdjeg.chat.server; public class GroupManagerTest { /* test generateId */ public void testGenerateId() { //TODO } /* test getGroup */ public void testGetGroup() { //TODO } /* test newGroup */ public void testNewGroup() { User u = new User("wsd"); System.out.println(GroupManager.newGroup("vim")); GroupManager.getGroup("vim").addMember(u); } /* test getGroupId */ public void testGetGroupId() { //TODO } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/LoggerTest.java ================================================ package com.wsdjeg.chat.server; public class LoggerTest { /* test log */ public void testLog() { Logger.setLevel(3); Logger.log(1, "1234"); Logger.log(2, "hello"); Logger.log(3, "helloworld"); } /* test setLevel */ public void testSetLevel() { //TODO } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/MessageTest.java ================================================ package com.wsdjeg.chat.server; public class MessageTest { /* test format */ /* test onWindowChange */ public void testOnWindowChange() { //TODO } /* test userMessage */ public void testUserMessage() { System.out.println(Message.userMessage(new User("root"), new User("wsd"), "helloworld!")); } /* test getTime */ public void testGetTime() { //TODO } /* test format */ public void testFormat() { System.out.println(Message.format("你好我,neo\\\"")); } public void testOnGetConnection(){ System.out.println(Message.onGetConnection()); } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/SecurityTest.java ================================================ package com.wsdjeg.chat.server; public class SecurityTest { /* test sign */ public void testSign() { Security.sign("127.0.0.1"); Security.sign("127.0.0.1"); Security.sign("127.0.0.1"); Security.sign("127.0.0.1"); System.out.println(Security.isBlock("127.0.0.1")); } /* test isBlock */ public void testIsBlock() { long i = System.currentTimeMillis(); try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } long y = System.currentTimeMillis(); System.out.println(i); System.out.println(y); System.out.println(y - i); } /* test block */ public void testBlock() { //TODO } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/UserTest.java ================================================ package com.wsdjeg.chat.server; import com.wsdjeg.chat.server.bot.SmartBot; public class UserTest { /* test join */ public void testJoin() { //TODO } /* test hashCode */ public void testHashCode() { //TODO } /* test equals */ public void testEquals() { User u1 = new User("root"); User u2 = new User("root"); System.out.println(u1.equals(u2)); } /* test getClient */ public void testGetClient() { String str = "/msg nihao 122 aaa"; System.out.println(str.replaceFirst("/msg\\s+", "").replaceFirst("\\S+\\s+", "")); } /* test setClient */ public void testSetClient() { //TODO } /* test getUserName */ public void testGetUserName() { //TODO } /* test setUserName */ public void testSetUserName() { //TODO } /* test getFriends */ public void testGetFriends() { //TODO } /* test removeFriend */ public void testRemoveFriend() { //TODO } /* test send */ public void testSend() { //TODO } /* test addFriend */ public void testAddFriend() { //TODO } public void testSetSmartBot(){ User u = new User("123"); u.setSmartBot(new SmartBot()); u.setSmartBot(new SmartBot()); } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/bot/MathBotTest.java ================================================ package com.wsdjeg.chat.server.bot; public class MathBotTest { /* test isInteger */ public void testIsInteger() { String s = "123"; System.out.println(s.matches("^[1-9][0-9]*$")); } /* test reply */ public void testReply() { //TODO } } ================================================ FILE: bundle/Chatting-server/src/test/java/com/wsdjeg/chat/server/util/JsonBuilderTest.java ================================================ package com.wsdjeg.chat.server.util; import java.util.HashMap; import java.util.Map; public class JsonBuilderTest { /* test decode */ public void testDecode() { Map o = new HashMap<>(); o.put("name", "wsdjeg"); o.put("pa\"ssword", "12\\" + "\"34"); System.out.println(JsonBuilder.decode(o)); // output: {"name":"wsdjeg","pa\\\"ssword":"12\"34"} } } ================================================ FILE: bundle/ChineseLinter.vim/.ci/install.sh ================================================ #!/usr/bin/env bash # Fail on unset variables and command errors set -ue -o pipefail # Prevent commands misbehaving due to locale differences export LC_ALL=C pip install covimerage git clone --depth=1 https://github.com/Shougo/dein.vim.git ~/.cache/vimfiles/repos/github.com/Shougo/dein.vim if [[ ! -d "${DEPS}/_neovim" ]]; then mkdir -p "${DEPS}/_neovim" wget -q -O - https://github.com/neovim/neovim/releases/download/nightly/nvim-${TRAVIS_OS_NAME}64.tar.gz \ | tar xzf - --strip-components=1 -C "${DEPS}/_neovim" fi export PATH="${DEPS}/_neovim/bin:${PATH}" echo "\$PATH: \"${PATH}\"" export VIM="${DEPS}/_neovim/share/nvim/runtime" echo "\$VIM: \"${VIM}\"" nvim --version ================================================ FILE: bundle/ChineseLinter.vim/.ci/script.sh ================================================ #!/usr/bin/env bash set -ex export PATH="${DEPS}/_neovim/bin:${PATH}" echo "\$PATH: \"${PATH}\"" export VIM="${DEPS}/_neovim/share/nvim/runtime" nvim --version make test_coverage covimerage -vv xml --omit 'build/*' pip install codecov codecov -X search gcov pycov -f coverage.xml set +x ================================================ FILE: bundle/ChineseLinter.vim/.gitignore ================================================ build/ ================================================ FILE: bundle/ChineseLinter.vim/.travis.yml ================================================ language: python dist: trusty sudo: false services: - docker git: depth: 3 notifications: slack: on_success: never on_failure: never email: on_success: never # default: change on_failure: never # default: always cache: bundler: true directories: - $HOME/cache/ - $HOME/deps env: global: - DEPS=$HOME/deps - PATH=$DEPS/bin:$HOME/vim/bin:$PATH jobs: include: - env: LINT=vader install: .ci/install.sh script: .ci/script.sh ================================================ FILE: bundle/ChineseLinter.vim/Makefile ================================================ test: build/vader | build nvim -Nu test/vimrc -c 'Vader! test/**' test_show: build/vader | build nvim -Nu test/vimrc -c 'Vader test/**' COVIMERAGE=$(shell command -v covimerage 2>/dev/null || echo build/covimerage/bin/covimerage) test_coverage: $(COVIMERAGE) build/vader | build $(COVIMERAGE) run nvim -Nu test/vimrc -c 'Vader! test/**' build/covimerage: virtualenv $@ build/covimerage/bin/covimerage: | build/covimerage build/covimerage/bin/pip install covimerage build/vader: git clone --depth 1 https://github.com/junegunn/vader.vim.git $@ build: mkdir -p $@ clean: $(RM) -r build .PHONY: clean test ================================================ FILE: bundle/ChineseLinter.vim/README.md ================================================ # ChineseLinter.vim > 中文文档语言规范检查工具 [![Build Status](https://travis-ci.org/wsdjeg/ChineseLinter.vim.svg?branch=master)](https://travis-ci.org/wsdjeg/ChineseLinter.vim) [![codecov](https://codecov.io/gh/wsdjeg/ChineseLinter.vim/branch/master/graph/badge.svg)](https://codecov.io/gh/wsdjeg/ChineseLinter.vim) ## 安装 ```vim call dein#add('https://wsdjeg.net/git/ChineseLinter.vim/') ``` ## 使用说明 在编辑中文文档时,使用如下命令即可检查,错误信息将被展示在 `local list` 窗口。 ```vim :CheckChinese ``` ## 错误代码 | 代码 | 描述 | | ------ | ------------------------------- | | `E001` | 中文字符后存在英文标点 | | `E002` | 中英文之间没有空格 | | `E003` | 中文与数字之间没有空格 | | `E004` | 中文标点两侧存在空格 | | `E005` | 行尾含有空格 | | `E006` | 数字和单位之间存在空格 | | `E007` | 数字使用了全角字符 | | `E008` | 汉字之间存在空格 | | `E009` | 中文标点重复 | | `E010` | 英文标点符号两侧的空格数量不对 | | `E011` | 中英文之间空格数量多于 1 个 | | `E012` | 中文和数字之间空格数量多于 1 个 | | `E013` | 英文和数字之间没有空格 | | `E014` | 英文和数字之间空格数量多于 1 个 | | `E015` | 英文标点重复 | | `E016` | 连续的空行数量大于 2 行 | | `E017` | 数字之间存在空格 | | `E018` | 行首含有空格 | | `E019` | 行首、行尾存在不应出现的标点 | | `E020` | 省略号“…”的数量不是 2 个 | | `E021` | 破折号“—”的数量不是 2 个 | ## 配置 如果需要忽略某些错误,可以将错误代码加入选项:`g:chinese_linter_disabled_nr` ```vim let g:chinese_linter_disabled_nr = ['E002', 'E005'] ``` ## 参考指南: - [中文文案排版指北(简体中文版)](https://github.com/mzlogin/chinese-copywriting-guidelines) ================================================ FILE: bundle/ChineseLinter.vim/addon-info.json ================================================ { "name": "ChineseLinter", "description": "The Linter for Chinese", "author": "wsdjeg" } ================================================ FILE: bundle/ChineseLinter.vim/autoload/ChineseLinter.vim ================================================ scriptencoding utf-8 "" " 指定需要忽略的错误、警告的编号,默认没有禁止。 " > " let g:chinese_linter_disabled_nr = ['E001'] " < " " 目前支持的检查包括: " > " E001 | 中文字符后存在英文标点 " E002 | 中英文之间没有空格 " E003 | 中文和数字之间没有空格 " E004 | 中文标点两侧存在空格 " E005 | 行尾含有空格 " E006 | 数字和单位之间存在空格 " E007 | 数字使用了全角字符 " E008 | 汉字之间存在空格 " E009 | 中文标点重复 " E010 | 英文标点符号两侧的空格数量不对 " E011 | 中英文之间空格数量多于 1 个 " E012 | 中文和数字之间空格数量多于 1 个 " E013 | 英文和数字之间没有空格 " E014 | 英文和数字之间空格数量多于 1 个 " E015 | 英文标点重复 " E016 | 连续的空行数量大于 2 行 " E017 | 数字之间存在空格 " E018 | 行首含有空格 " E019 | 行首、行尾存在不应出现的标点 " E020 | 省略号“…”的数量不是 2 个 " E021 | 破折号“—”的数量不是 2 个 " < let g:chinese_linter_disabled_nr = get(g:,'chinese_linter_disabled_nr', []) "" " This setting will open the |location-list| or |quickfix| list (depending on " whether it is operating on a file) when adding entries. A value of 2 will " preserve the cursor position when the |location-list| or |quickfix| window is " opened. Defaults to 2. let g:chinese_linter_open_list = 2 " 中文标点符号(更全) " let s:CHINESE_PUNCTUATION = '[\u2014\u2015\u2018\u2019\u201c\u201d\u2026\u3001\u3002\u3008\u3009\u300a\u300b\u300c\u300d\u300e\u300f\u3010\u3011\u3014\u3015\ufe43\ufe44\ufe4f\uff01\uff08\uff09\uff0c\uff1a\uff1b\uff1f\uff5e\uffe5]' " [\u2010-\u201f] == [‐‑‒–—―‖‗‘’‚‛“”„‟] " [\u2026] == […] " [\uff01-\uff0f] == [!"#$%&'()*+,-./] " [\uff1a-\uff1f] == [:;<=>?] " [\uff3b-\uff40] == [[\]^_`] " [\uff5b-\uff5e] == [{|}~] let s:CHINESE_PUNCTUATION = '[\u2010-\u201f\u2026\uff01-\uff0f\uff1a-\uff1f\uff3b-\uff40\uff5b-\uff5e]' " 英文标点 let s:punctuation_en = '[、,:;?!-]' " 中文标点符号 let s:punctuation_cn = '[、,:;。?!‘’“”()《》『』"'/<>=[]{}【】]' " 中文汉字 let s:chars_cn = '[\u4e00-\u9fff]' " 数字 let s:numbers = '[0-9]' " 全角数字 let s:numbers_cn = '[\uff10-\uff19]' " 英文字母 let s:chars_en = '[a-zA-Z]' " 单位 " TODO: 需要添加更多的单位,单位见以下链接 " https://unicode-table.com/cn/blocks/cjk-compatibility/ " https://unicode-table.com/cn/#2031 " https://unicode-table.com/cn/#2100 let s:symbol = '[%‰‱\u3371-\u33df\u2100-\u2109]' " 空白符号 let s:blank = '\(\s\|[\u3000]\)' let s:ERRORS = { \ 'E001' : [ \ ['中文字符后存在英文标点' , s:chars_cn . '[、,:;?!]'], \ ], \ 'E002' : [ \ ['中文与英文之间没有空格' , s:chars_cn . s:chars_en], \ ['英文与中文之间没有空格' , s:chars_en . s:chars_cn], \ ], \ 'E003' : [ \ ['中文与数字之间没有空格' , s:chars_cn . s:numbers], \ ['数字与中文之间没有空格' , s:numbers . s:chars_cn], \ ], \ 'E004' : [ \ ['中文标点前存在空格' , s:blank . '\+\ze' . s:CHINESE_PUNCTUATION], \ ['中文标点后存在空格' , s:CHINESE_PUNCTUATION . '\zs' . s:blank . '\+'], \ ], \ 'E005' : [ \ ['行尾有空格' , s:blank . '\+$'], \ ], \ 'E006' : [ \ ['数字和单位之间有空格' , s:numbers . '\zs' . s:blank . '\+\ze' . s:symbol], \ ], \ 'E007' : [ \ ['数字使用了全角数字' , s:numbers_cn . '\+'], \ ], \ 'E008' : [ \ ['汉字之间存在空格' , s:chars_cn . '\zs' . s:blank . '\+\ze' . s:chars_cn], \ ], \ 'E009' : [ \ ['中文标点符号重复' , '\(' . s:punctuation_cn . '\)\1\+'], \ ['连续多个中文标点符号' , '[、,:;。!?]\{2,}'], \ ], \ 'E010' : [ \ ['英文标点前侧存在空格' , s:blank . '\+\ze' . '[、,:;?!]'], \ ['英文标点符号后侧的空格数量多于 1 个' , '[、,:;?!]' . s:blank . '\{2,}'], \ ['英文标点与英文之间没有空格' , '[、,:;?!]' . s:chars_en], \ ['英文标点与中文之间没有空格' , '[、,:;?!]' . s:chars_cn], \ ['英文标点与数字之间没有空格' , '[、,:;?!]' . s:numbers], \ ], \ 'E011' : [ \ ['中文与英文之间空格数量多于 1 个' , '\%#=2' . s:chars_cn . '\zs' . s:blank . '\{2,}\ze' . s:chars_en], \ ['英文与中文之间空格数量多于 1 个' , '\%#=2' . s:chars_en . '\zs' . s:blank . '\{2,}\ze' . s:chars_cn], \ ], \ 'E012' : [ \ ['中文与数字之间空格数量多于 1 个' , '\%#=2' . s:chars_cn . '\zs' . s:blank . '\{2,}\ze' . s:numbers], \ ['数字与中文之间空格数量多于 1 个' , '\%#=2' . s:numbers . '\zs' . s:blank . '\{2,}\ze' . s:chars_cn], \ ], \ 'E013' : [ \ ['英文与数字之间没有空格' , s:chars_en . s:numbers], \ ['数字与英文之间没有空格' , s:numbers . s:chars_en], \ ], \ 'E014' : [ \ ['英文与数字之间空格数量多于 1 个' , s:chars_en . '\zs' . s:blank . '\{2,}\ze' . s:numbers], \ ['数字与英文之间空格数量多于 1 个' , s:numbers . '\zs' . s:blank . '\{2,}\ze' . s:chars_en], \ ], \ 'E015' : [ \ ['英文标点符号重复' , '\(' . s:punctuation_en . s:blank . '*\)\1\+'], \ ['连续多个英文标点符号' , '\(' . '[,:;?!-]' . s:blank . '*\)\{2,}'], \ ], \ 'E016' : [ \ ['连续的空行数量大于 2 行' , '^\(' . s:blank . '*\n\)\{3,}'], \ ], \ 'E017' : [ \ ['数字之间存在空格' , s:numbers . '\zs' . s:blank . '\+\ze' . s:numbers], \ ], \ 'E018' : [ \ ['行首有空格' , '^' . s:blank . '\+'], \ ], \ 'E019' : [ \ ['存在不应出现在行首的标点' , '^' . '[、,:;。?!\/)]】}’”、,:;。?!/》』)]】}]'], \ ['存在不应出现在行尾的标点' , '[、,\/([【{‘“、,/《『([【{]' . '$'], \ ], \ 'E020' : [ \ ['省略号“…”的数量只有 1 个' , '\(^\|[^…]\)' . '\zs' . '…' . '\ze' . '\([^…]\|$\)'], \ ['省略号“…”的数量大于 2 个' , '…\{3,}'], \ ], \ 'E021' : [ \ ['破折号“—”的数量只有 1 个' , '\(^\|[^—]\)' . '\zs' . '—' . '\ze' . '\([^—]\|$\)'], \ ['破折号“—”的数量大于 2 个' , '—\{3,}'], \ ], \ } ab function! s:getNotIgnoreErrors() let s:notIgnoreErrorList = [] for l:errors_nr in keys(s:ERRORS) if index(g:chinese_linter_disabled_nr, l:errors_nr) == -1 call add(s:notIgnoreErrorList, l:errors_nr) endif endfor endfunction function! ChineseLinter#check(...) abort call s:getNotIgnoreErrors() let s:file = getline(1, '$') let s:bufnr = bufnr('%') let s:linenr = 0 let s:colnr = 0 let s:qf = [] for l:line in s:file let s:linenr += 1 call s:parser(l:line) endfor if !empty(s:qf) call s:update_qf(s:qf) if g:chinese_linter_open_list == 1 rightbelow copen elseif g:chinese_linter_open_list ==2 rightbelow copen wincmd p endif else call setqflist([]) cclose doautocmd WinEnter endif unlet s:linenr unlet s:colnr endfunction function! s:parser(line) abort for l:errors_nr in s:notIgnoreErrorList call s:find_error(l:errors_nr, a:line) endfor endfunction function! s:find_error(errors_nr, line) abort let l:errorList = s:ERRORS[a:errors_nr] for l:error in l:errorList let s:colnr = matchend(a:line, l:error[1]) if s:colnr != -1 call s:add_to_qf(a:errors_nr, l:error[0]) endif endfor endfunction function! s:add_to_qf(errors_nr, errors_text) abort let l:error_item = { \ 'bufnr': s:bufnr, \ 'lnum' : s:linenr, \ 'col' : s:colnr, \ 'vcol' : 0, \ 'text' : a:errors_nr . ' ' . a:errors_text, \ 'nr' : a:errors_nr, \ 'type' : 'E', \ } call add(s:qf, l:error_item) endfunction " TODO 加入语法分析 function! s:update_qf(listOfDicts) abort call setqflist(a:listOfDicts) endfunction ================================================ FILE: bundle/ChineseLinter.vim/codecov.yml ================================================ coverage: range: 30..60 round: down precision: 2 comment: layout: "header, diff, changes, uncovered" behavior: default # update if exists else create new codecov: branch: master ================================================ FILE: bundle/ChineseLinter.vim/doc/ChineseLinter.txt ================================================ *ChineseLinter.txt* The Linter for Chinese wsdjeg *ChineseLinter* ============================================================================== CONTENTS *ChineseLinter-contents* 1. Configuration......................................|ChineseLinter-config| 2. Commands.........................................|ChineseLinter-commands| ============================================================================== CONFIGURATION *ChineseLinter-config* *g:chinese_linter_open_list* This setting will open the |location-list| or |quickfix| list (depending on whether it is operating on a file) when adding entries. A value of 2 will preserve the cursor position when the |location-list| or |quickfix| window is opened. Defaults to 2. ============================================================================== COMMANDS *ChineseLinter-commands* :CheckChinese *:CheckChinese* Start checking the document, and the results will be shown in the local list. vim:tw=78:ts=8:ft=help:norl: ================================================ FILE: bundle/ChineseLinter.vim/plugin/ChineseLinter.vim ================================================ "" " Start checking the document, and the results will be shown in the local " list. command! -nargs=? CheckChinese call ChineseLinter#check() ================================================ FILE: bundle/ChineseLinter.vim/test/clear.vader ================================================ Given markdown: 你好,中文 Execute (test clear errors): CheckChinese AssertEqual getqflist()[0].lnum, 1 AssertEqual getqflist()[0].col, 7 AssertEqual getqflist()[0].text[:3], 'E001' wincmd p call setline(1, '你好,中文') CheckChinese AssertEqual len(getqflist()), 0 ================================================ FILE: bundle/ChineseLinter.vim/test/e001.vader ================================================ Given markdown: 你好,中文 Execute (test error E001): CheckChinese AssertEqual getqflist()[0].lnum, 1 AssertEqual getqflist()[0].col, 7 AssertEqual getqflist()[0].text[:3], 'E001' ================================================ FILE: bundle/ChineseLinter.vim/test/e002.vader ================================================ Given markdown: 你好hello Execute (test error E002): CheckChinese AssertEqual getqflist()[0].lnum, 1 AssertEqual getqflist()[0].col, 7 AssertEqual getqflist()[0].text[:3], 'E002' ================================================ FILE: bundle/ChineseLinter.vim/test/e003.vader ================================================ Given markdown: 你好123 Execute (test error E001): CheckChinese AssertEqual getqflist()[0].lnum, 1 AssertEqual getqflist()[0].col, 7 AssertEqual getqflist()[0].text[:3], 'E003' ================================================ FILE: bundle/ChineseLinter.vim/test/e004.vader ================================================ Given markdown: 你好中文 Execute (test error E005): CheckChinese AssertEqual getqflist()[0].lnum, 1 AssertEqual getqflist()[0].col, 13 AssertEqual getqflist()[0].text[:3], 'E005' ================================================ FILE: bundle/ChineseLinter.vim/test/e005.vader ================================================ Given markdown: 你好, 中文 Execute (test error E001): CheckChinese AssertEqual getqflist()[0].lnum, 1 AssertEqual getqflist()[0].col, 10 AssertEqual getqflist()[0].text[:3], 'E004' ================================================ FILE: bundle/ChineseLinter.vim/test/e006.vader ================================================ Given markdown: 100 % Execute (test error E006): CheckChinese AssertEqual getqflist()[0].lnum, 1 AssertEqual getqflist()[0].col, 5 AssertEqual getqflist()[0].text[:3], 'E006' ================================================ FILE: bundle/ChineseLinter.vim/test/vimrc ================================================ filetype off set rtp+=build/vader set rtp+=. set rtp+=after filetype plugin indent on syntax enable exe 'set nocompatible' ================================================ FILE: bundle/CompleteParameter.vim/.github/ISSUE_TEMPLATE.md ================================================ # Issue Prelude - Category - [ ] Question - [ ] Bug - [ ] Suggestion - OS - [ ] Linux - [ ] macOS - [ ] Windows - [ ] Etc. - Vim - [ ] Vim - [ ] Neovim - Language - [ ] C - [ ] C++ - [ ] go - [ ] python - [ ] rust - [ ] javascript - [ ] typescript - [ ] erlang # Completion Engine and Commit SHA # Minimal Configuration # Issue Details # Messages ================================================ FILE: bundle/CompleteParameter.vim/.github/PULL_REQUEST_TEMPLATE.md ================================================ # Why this change is necessary and useful ================================================ FILE: bundle/CompleteParameter.vim/.travis.yml ================================================ language: vim sudo: required dist: trusty os: - linux - osx env: - VIM_NAME=vim - VIM_NAME=nvim install: - bash ./ci/travis_install.sh - export PATH="$HOME/vim/bin:$PATH" - if [[ "$TRAVIS_OS_NAME" == 'osx' ]] && [[ "$VIM_NAME" == 'nvim' ]]; then export PATH="./nvim-osx64/bin:$PATH"; fi before_script: | git clone --depth 1 https://github.com/junegunn/vader.vim.git script: bash ./ci/travis_script.sh $VIM_NAME ================================================ FILE: bundle/CompleteParameter.vim/CHANGELOG ================================================ 0.8.2: 2018-11-17 Python, support echo signature 0.8.0: 2018-08-06 Add option g:complete_parameter_py_remove_default. Suppoert remove python default parameter. 0.7.2:2018-06-12 Modify c and ts parameters. 0.7.1: 2017-10-21 Format log. Disable log by default. 0.7.0: 2017-10-03 Support c/c++ macro. Fix '<' or '>' selected. Fix python parser. 0.6.4: 2017-09-29 Fix can't goto_previous_parameter when selection is exclusive. 0.6.3: 2017-09-28 Select one more char when selection is exclusive. 0.6.2: 2017-09-10 Fix helptags error. 0.6.1: 2017-09-10 Python support keep default value and select the value only. Add option g:complete_parameter_py_keep_value. Support jeci. 0.6.0: 2017-08-19 Rename file. Insert parameter if there are some content after the cursor. Fix bug. 0.5.0: 2017-08-09 show signature. 0.4.0: 2017-08-07 Hidden message. 0.3.0: 2017-07-28 Refactor normal mapping to mapping. Remove mapping options: g:complete_parameter_goto_next_mode, g:complete_parameter_mapping_goto_next, g:complete_parameter_goto_previous_mode, g:complete_parameter_mapping_goto_previous, g:complete_parameter_mapping_overload_up_mode, g:complete_parameter_mapping_overload_up, g:complete_parameter_mapping_overload_down_mode, g:complete_parameter_mapping_overload_down, g:complete_parameter_mapping_complete, g:complete_parameter_failed_insert, g:complete_parameter_mapping_complete_for_ft Add mapping. (complete_parameter#goto_next_parameter), (complete_parameter#goto_previous_parameter), (complete_parameter#overload_up), (complete_parameter#overload_down) Add options: g:complete_parameter_use_ultisnips_mappings Fix parser bug. 0.2.3: 2017-07-22 Change ``/`` to ``/`` and compatible with ultisnips. Disable normal mapping. Fix parser bug. 0.2.2: 2017-07-07 Only jump between in the scope. Check the value of the parser returned. 0.2.1: 2017-06-30 Fix bug. 0.2.0: 2017-06-30 Support neocomplete. Support clang_complete. 0.1.6: 2017-06-29 Support deoplete.nvim 0.1.5: 2017-06-25 Compate with neosnippet. 0.1.4: 2017-06-23 Toggle an event CompleteParameterFailed if complete failed. Add a variable `g:complete_parameter_last_failed_insert` to set the failed_insert. Fixed bug, delete select text when call the jump mapping. 0.1.3: 2017-06-20 Fix the info for python function has multi lines. 0.1.2: 2017-06-17 Support typescript. Support nvim. Support vim7.4.774. Parallel test. Add g:complete_parameter_goto_next_mode option. Add g:complete_parameter_goto_previous_mode option. Add g:complete_parameter_mapping_overload_down_mode option. Add g:complete_parameter_mapping_overload_up_mode option. 0.1.1: 2017-06-15 Fix travis-ci test. 0.1.0: 2017-06-15 Support `(` select the first completion item if inserted word is equal to the first popup item. 0.0.3: 2017-06-15 Support multi called for a file. Support cpp class template. Fix python parser. Add github templates. 0.0.2: 2017-06-14 Support c, cpp, rust, javascript, python. Support overload functions. Update screenshot. Add shields. 0.0.1: 2017-06-12 Init version. Support golang, erlang paramater. ================================================ FILE: bundle/CompleteParameter.vim/LICENSE ================================================ MIT License Copyright (c) 2017 tenfyzhong Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/CompleteParameter.vim/README.md ================================================ # CompleteParameter.vim [![Join the chat at https://gitter.im/tenfyzhong/CompleteParameter.vim](https://badges.gitter.im/tenfyzhong/CompleteParameter.vim.svg)](https://gitter.im/tenfyzhong/CompleteParameter.vim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/tenfyzhong/CompleteParameter.vim.svg?branch=master)](https://travis-ci.org/tenfyzhong/CompleteParameter.vim) [![GitHub tag](https://img.shields.io/github/tag/tenfyzhong/CompleteParameter.vim.svg)](https://github.com/tenfyzhong/CompleteParameter.vim/tags) ![Vim Version](https://img.shields.io/badge/support-Vim%207.4.774%E2%86%91or%20NVIM-yellowgreen.svg?style=flat) [![doc](https://img.shields.io/badge/doc-%3Ah%20CompleteParameter-yellow.svg?style=flat)](https://github.com/tenfyzhong/CompleteParameter.vim/blob/develop/doc/complete_parameter.txt) CompleteParameter is a plugin for complete function's parameters after complete a function. If you like this plugin, please star it. # Screenshots Without CompleteParameter, only insert the function name. ![ycm_only](http://wx4.sinaimg.cn/mw690/69472223gy1fhyjw7996cg20hs0a0n1b.gif) With CompleteParameter, insert the function name and parameters. You can jump to the next parameter use `` and jump to the previous parameter use ``. ![ycm_with_cp](http://wx4.sinaimg.cn/mw690/69472223gy1fhyjvrjhr3g20hs0a0qby.gif) # Features - Complete parameters after select a complete item from the completion popup menu. - After complete the parameters, jump to the first parameter and the select it. - Jump to next parameter. - Jump to previous parameter. - Select next overload function. - Select previous overload function. - Select the first item in the completion popup menu. - Echo signature when select an item. (need to `set noshowmode` or `set cmdheight=2`) # Install I suggest you to use a plugin manager, such vim-plug or other. - [vim-plug][] ```viml Plug 'tenfyzhong/CompleteParameter.vim' ``` - Manual ``` git clone https://github.com/tenfyzhong/CompleteParameter.vim.git ~/.vim/bundle/CompleteParameter.vim echo 'set rtp+=~/.vim/bundle/CompleteParameter.vim' >> ~/.vimrc vim -c 'helptag ~/.vim/bundle/CompleteParameter.vim/doc' -c qa! ``` # Usage Install a complete engine have supported. Goto the completion item of the completion popup menu you want to select, and then type `(`(minimal setting), the parameters will be inserted and select the the first parameter. ``/``(minimal setting) will jump to the next/previous parameter and select it. # Minimal setting ```viml inoremap ( complete_parameter#pre_complete("()") smap (complete_parameter#goto_next_parameter) imap (complete_parameter#goto_next_parameter) smap (complete_parameter#goto_previous_parameter) imap (complete_parameter#goto_previous_parameter) ``` **The parameter of `complete_parameter#pre_complete` will be insert if parameter completion failed.** # Mapping ### `(complete_parameter#goto_next_parameter)` Goto next parameter and select it. eg: ```viml nmap (complete_parameter#goto_next_parameter) imap (complete_parameter#goto_next_parameter) smap (complete_parameter#goto_next_parameter) ``` ### `(complete_parameter#goto_previous_parameter)` Goto previous parameter and select it. eg: ```viml nmap (complete_parameter#goto_previous_parameter) imap (complete_parameter#goto_previous_parameter) smap (complete_parameter#goto_previous_parameter) ``` ### `(complete_parameter#overload_down)` Select next overload function. eg: ```viml nmap (complete_parameter#overload_down) imap (complete_parameter#overload_down) smap (complete_parameter#overload_down) ``` ### `(complete_parameter#overload_up)` Select previous overload function. eg: ```viml nmap (complete_parameter#overload_up) imap (complete_parameter#overload_up) smap (complete_parameter#overload_up) ``` # Options ### The `g:complete_parameter_log_level` option This option set the log level. 5: disable log. 4: only print **error** log. 2: print **error** and **debug** log. 1: print **error**, **debug**, **trace** log. Default: 5 ```viml let g:complete_parameter_log_level = 5 ``` ### The `g:complete_parameter_use_ultisnips_mappings` option If this option is 1 and you use ultisnips together, it will use ultisnips mapping to goto next or previous parameter. default: 0 ```viml let g:complete_parameter_use_ultisnips_mapping = 0 ``` ### The `g:complete_parameter_echo_signature` option It will echo signature if this option is 1. (need to `set noshowmode` or `set cmdheight=2`) default: 1 ```viml let g:complete_parameter_echo_signature = 1 ``` ### The `g:complete_parameter_py_keep_value` option It will keep default value if this option is 1 for python. For example, if the definition is `def foo(a=1, b=2)`, it will complete `(a=1, b=2)` if its value is 1. Otherwise, it will complete `(a, b)`. If there are `=` in the completion, the jump to action only select the value, but not parameter name. It will select `1` and then `2` in the previous example. default: 1 ```viml let g:complete_parameter_py_keep_value = 1 ``` ### The `g:complete_parameter_py_remove_default` option It will remove default parametrs if this option is 1 for python. For example, if the definition is `def foo(a, b=1)`, it will complete `(a)` if its value is 1. Otherwise, it will complete `(a, b)`. default: 1 ```viml let g:complete_parameter_py_remove_default = 1 ``` # Supported The cell mark `√` means the completion engine has supported the language by itself. Of course, you must install the completion engine for the language follow its document. The plugin in the cell was supported with the completion engine. | | [YouCompleteMe][] | [deoplete][] | [neocomplete][] | [clang_complete][] | |----------------|-----------------------------|-----------------------------|-----------------------------|--------------------| | **c** | √ | [deoplete-clang][] | [clang_complete][] | √ | | **cpp** | √ | [deoplete-clang][] | [clang_complete][] | √ | | **go** | √ | [vim-go][] | [vim-go][] | | | **python** | √ | [deoplete-jedi][] | [jedi-vim][] | | | **rust** | √ | [deoplete-rust][] | [vim-racer][] | | | **javascript** | √ | [deoplete-ternjs][] | [tern_for_vim][] | | | **typescript** | √ | [nvim-typescript][] | [tsuquyomi][] | | | **erlang** | [vim-erlang-omnicomplete][] | [vim-erlang-omnicomplete][] | [vim-erlang-omnicomplete][] | | ## Setting for completion plugins ### `vim-racer` ```viml let g:racer_experimental_completer = 1 ``` ### `tern_for_vim` ```viml if !exists('g:neocomplete#force_omni_input_patterns') let g:neocomplete#force_omni_input_patterns = {} endif let g:neocomplete#force_omni_input_patterns.javascript = '[^. \t]\.\w*' ``` ### `tsuquyomi` ```viml let g:tsuquyomi_completion_detail = 1 if !exists('g:neocomplete#force_omni_input_patterns') let g:neocomplete#force_omni_input_patterns = {} endif let g:neocomplete#force_omni_input_patterns.typescript = '[^. *\t]\.\w*\|\h\w*::' ``` # FAQ ### Can't work with plugin auto-pairs use the default mapping `(` Because the auto-pairs use `inoremap` to mapping the keys. It can't call this plugin after the auto-pairs process. You can add the following setting to you .vimrc, and it'll work well. ```viml let g:AutoPairs = {'[':']', '{':'}',"'":"'",'"':'"', '`':'`'} inoremap ) =AutoPairsInsert(')') ``` ### Can't jump to next parameter If you use `ultinsips`, you must load `ultisnips` before this plugin. In other words, if you use `plug` to load plugins, `Plug 'SirVer/ultisnips'` must before `Plug 'tenfyzhong/CompleteParameter.vim'` in your vimrc. ### How to accept the selected function but not parameters You can type `` key to accept the selected function and stop completion. When the popup menu is disappeared, the parameters will not be insert. ### The mapping `` doesn't jump to the next parameter, but delete the selected words. If you use neosnippet, Please set `g:neosnippet#disable_select_mode_mappings` to 0. It will remove all select mappings. If you don't use neosnippet, please send me a issue, and give me the plugins you are using. # Contributions Contributions and pull requests are welcome. # Thanks - [johnzeng](https://github.com/johnzeng), support erlang # LICENSE MIT License Copyright (c) 2017 tenfyzhong [vim-plug]: https://github.com/junegunn/vim-plug [YouCompleteMe]: https://github.com/Valloric/YouCompleteMe [deoplete]: https://github.com/Shougo/deoplete.nvim [neocomplete]: https://github.com/Shougo/neocomplete.vim [clang_complete]: https://github.com/Rip-Rip/clang_complete [deoplete-clang]: https://github.com/zchee/deoplete-clang [nvim-typescript]: https://github.com/mhartington/nvim-typescript [deoplete-rust]: https://github.com/sebastianmarkow/deoplete-rust [jedi-vim]: https://github.com/davidhalter/jedi-vim [deoplete-ternjs]: https://github.com/carlitux/deoplete-ternjs [deoplete-jedi]: https://github.com/zchee/deoplete-jedi [vim-erlang-omnicomplete]: https://github.com/johnzeng/vim-erlang-omnicomplete [vim-go]: https://github.com/fatih/vim-go [vim-racer]: https://github.com/racer-rust/vim-racer [tern_for_vim]: https://github.com/ternjs/tern_for_vim [tsuquyomi]: https://github.com/Quramy/tsuquyomi ================================================ FILE: bundle/CompleteParameter.vim/after/plugin/compatible_with_ultisnips.vim ================================================ "============================================================== " file: compatible_with_ultisnips.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-07-14 22:08:37 "============================================================== if !exists(':UltiSnipsEdit') || get(g:, 'complete_parameter_use_ultisnips_mappings', 0) == 0 finish endif if g:UltiSnipsExpandTrigger == g:UltiSnipsJumpForwardTrigger exec printf('inoremap %s =UltiSnips#ExpandSnippetOrJump()=cmp#ultisnips#ExpandTrigger()', g:UltiSnipsExpandTrigger) exec printf('snoremap %s :call UltiSnips#ExpandSnippetOrJump():call cmp#ultisnips#ExpandTrigger()', g:UltiSnipsExpandTrigger) else exec printf('inoremap %s =UltiSnips#JumpForwards()=cmp#ultisnips#JumpForward()', g:UltiSnipsJumpForwardTrigger) exec printf('snoremap %s :call UltiSnips#JumpForwards():call cmp#ultisnips#JumpForward()', g:UltiSnipsJumpForwardTrigger) endif exec printf("inoremap %s =UltiSnips#JumpBackwards()=cmp#ultisnips#JumpBackward()", g:UltiSnipsJumpBackwardTrigger) exec printf("snoremap %s :call UltiSnips#JumpBackwards():call cmp#ultisnips#JumpBackward()", g:UltiSnipsJumpBackwardTrigger) ================================================ FILE: bundle/CompleteParameter.vim/autoload/cmp/ultisnips.vim ================================================ "============================================================== " file: ultisnips.vim " brief: " VIM Version: 8.0 " author: zhongtenghui " email: zhongtenghui@gf.com.cn " created: 2017-07-28 14:37:19 "============================================================== function! s:wrap_next(check_val, forward) abort if get(g:, a:check_val, 0) == 0 return cmp#goto_next_param(a:forward) else exec printf('let g:%s=0', a:check_val) if getchar(1) == 0 call feedkeys('a', 'n') endif return '' endif endfunction function! cmp#ultisnips#ExpandTrigger() abort return wrap_next('ulti_expand_or_jump_res', 1) endfunction function! cmp#ultisnips#JumpForward() abort return wrap_next('ulti_jump_forwards_res', 1) endfunction function! cmp#ultisnips#JumpBackward() abort return wrap_next('ulti_jump_backwards_res', 0) endfunction ================================================ FILE: bundle/CompleteParameter.vim/autoload/cmp.vim ================================================ "============================================================== " file: complete_parameter.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-07 20:29:10 "============================================================== let s:complete_parameter = {'index': 0, 'items': [], 'complete_pos': [], 'success': 0, 'echos': []} let g:complete_parameter_last_failed_insert = '' let s:log_index = 0 function! cmp#init() abort "{{{ runtime! cm_parser/*.vim " ultisnips will remove all smaps, this will without this plugin let g:UltiSnipsMappingsToIgnore = get(g:, 'UltiSnipsMappingsToIgnore', []) + ["complete_parameter"] " neosnippet will remove all smaps let g:neosnippet#disable_select_mode_mappings = 0 " 4 error " 2 error + debug " 1 erro + debug + trace let g:complete_parameter_log_level = get(g:, 'complete_parameter_log_level', 5) let g:complete_parameter_use_ultisnips_mappings = get(g:, 'complete_parameter_use_ultisnips_mappings', 0) endfunction "}}} function! cmp#default_echos(completed_item) return [] endfunction let s:ftfunc_prefix = 'cm_parser#' let s:ftfunc = {'ft': ''} function! cmp#new_ftfunc(filetype) abort "{{{ if empty(a:filetype) throw 'filetype is empty' endif let ftfunc = deepcopy(s:ftfunc) let ftfunc['ft'] = a:filetype try let ftfunc['parameters'] = function(s:ftfunc_prefix . a:filetype .'#parameters') let ftfunc['parameter_delim'] = function(s:ftfunc_prefix . a:filetype . '#parameter_delim') let ftfunc['parameter_begin'] = function(s:ftfunc_prefix. a:filetype . '#parameter_begin') let ftfunc['parameter_end'] = function(s:ftfunc_prefix . a:filetype . '#parameter_end') if exists('*'.s:ftfunc_prefix.a:filetype.'#echos') let ftfunc['echos'] = function(s:ftfunc_prefix.a:filetype.'#echos') else let ftfunc['echos'] = function('cmp#default_echos') endif catch /^E700/ throw 'the function should be defined: ' . v:exception endtry return ftfunc endfunction "}}} function! s:filetype_func_exist(filetype) abort "{{{ let filetype_func_prefix = s:ftfunc_prefix.a:filetype.'#' let parameters_func_name = filetype_func_prefix.'parameters' let parameter_delim_func_name = filetype_func_prefix.'parameter_delim' let parameter_begin_func_name = filetype_func_prefix.'parameter_begin' let parameter_end_func_name = filetype_func_prefix.'parameter_end' if !exists('*'.parameters_func_name) || \!exists('*'.parameter_delim_func_name) || \!exists('*'.parameter_begin_func_name) || \!exists('*'.parameter_end_func_name) return 0 endif return 1 endfunction "}}} function! cmp#filetype_func_check(ftfunc) abort "{{{ if !filetype_func_exist(a:ftfunc['ft']) return 0 endif " let parameters = a:ftfunc.parameters(v:completed_item) " if type(parameters) != 3 " return 0 " endif if !exists('*'.string(a:ftfunc.parameter_delim)) return 0 endif let delim = a:ftfunc.parameter_delim() if type(delim) != 1 || empty(delim) return 0 endif if !exists('*'.string(a:ftfunc.parameter_begin)) return 0 endif let begin = a:ftfunc.parameter_begin() if type(begin) != 1 || empty(begin) return 0 endif if !exists('*'.string(a:ftfunc.parameter_end)) return 0 endif let end = a:ftfunc.parameter_end() if type(end) != 1 || empty(end) return 0 endif return 1 endfunction "}}} " check v:completed_item is empty or not function! s:empty_completed_item() abort "{{{ let completed_item = v:completed_item if empty(completed_item) return 1 endif let menu = get(completed_item, 'menu', '') let info = get(completed_item, 'info', '') let kind = get(completed_item, 'kind', '') let abbr = get(completed_item, 'abbr', '') return empty(menu) && empty(info) && empty(kind) && empty(abbr) endfunction "}}} " select an item if need, and the check need to revert or not " else call the complete function function! cmp#pre_complete(failed_insert) abort "{{{ let s:log_index = timenow_ms() if !pumvisible() return failed_event(a:failed_insert) endif let completed_word = get(v:completed_item, 'word', '') if empty_completed_item() && pumvisible() let feed = printf("\=cmp#check_revert_select('%s', '%s')\", a:failed_insert, completed_word) call feedkeys(feed, 'n') return "\" else return cmp#complete(a:failed_insert) endif endfunction "}}} function! cmp#default_failed_insert(failed_insert) "{{{ if a:failed_insert =~# '()$' return "\" else return '' endif endfunction "}}} function! s:failed_event(failed_insert) abort "{{{ return the text to insert and toggle event let keys = '' if exists('*CompleteParameterFailed') let keys = CompleteParameterFailed(a:failed_insert) else let keys = cmp#default_failed_insert(a:failed_insert) endif let content = getline(line('.')) let parameter = a:failed_insert let pos = col('.') - 2 if pos > 0 let posEnd = pos + len(parameter) - 1 if content[pos : posEnd] !=# parameter && \content[pos] ==# parameter[0] let parameter = substitute(parameter, '\m.\(.*\)', '\1', '') endif endif let keys = parameter . keys call trace_log(keys) return keys endfunction "}}} " if the select item is not match with completed_word, the revert " else call the complete function function! cmp#check_revert_select(failed_insert, completed_word) abort "{{{ let select_complete_word = get(v:completed_item, 'word', '') call trace_log('s:completed_word: ' . a:completed_word) call trace_log('select_complete_word: ' . select_complete_word) redraw! if select_complete_word !=# a:completed_word return failed_event("\".a:failed_insert) else let keys = cmp#complete(a:failed_insert) return keys endif endfunction "}}} function! cmp#check_parameter_return(parameter, parameter_begin, parameter_end) abort "{{{ if len(a:parameter) < 2 return 0 endif " echom printf('mb, begin: %s, p[0]: %s, result: %d', a:parameter_begin, a:parameter[0], match(a:parameter_begin, a:parameter[0]) != -1) " echom printf('me, end: %s, p[-1]: %s, result: %d', a:parameter_end, a:parameter[-1], match(a:parameter_end, a:parameter[len(a:parameter)-1]) != -1) return match(a:parameter_begin, a:parameter[0]) != -1 && \match(a:parameter_end, a:parameter[len(a:parameter)-1]) != -1 endfunction "}}} function! cmp#complete(failed_insert) abort "{{{ call trace_log(string(v:completed_item)) if empty_completed_item() call debug_log('v:completed_item is empty') return failed_event(a:failed_insert) endif let filetype = &ft if empty(filetype) call debug_log('filetype is empty') return failed_event(a:failed_insert) endif try let ftfunc = cmp#new_ftfunc(filetype) catch call debug_log('new_ftfunc failed. '.string(v:exception)) return failed_event(a:failed_insert) endtry if !cmp#filetype_func_check(ftfunc) call error_log('ftfunc check failed') return failed_event(a:failed_insert) endif " example: the complete func like this`func Hello(param1 int, param2 string) int` " the parsed must be a list and the element of the list is a dictional, " the dictional must have the below keys " text: the text to be complete -> `(param1, param2)` " delim: the delim of parameters -> `,` " prefix: the begin of text -> `(` " suffix: the end of the text -> `)` let parseds = ftfunc.parameters(v:completed_item) call debug_log(string(parseds)) if type(parseds) != 3 call error_log('return type error') return failed_event(a:failed_insert) endif let parameter_begin = ftfunc.parameter_begin() let parameter_end = ftfunc.parameter_end() if empty(parseds) || len(parseds[0]) < 2 || !cmp#check_parameter_return(parseds[0], parameter_begin, parameter_end) call debug_log("parseds is empty") return failed_event(a:failed_insert) endif let s:complete_parameter['index'] = 0 let s:complete_parameter['items'] = parseds let s:complete_parameter['complete_pos'] = [line('.'), col('.')] let col = s:complete_parameter['complete_pos'][1] let s:complete_parameter['success'] = 1 if get(g:, 'complete_parameter_echo_signature', 1) let s:complete_parameter['echos'] = ftfunc.echos(v:completed_item) endif " if the first char of parameter was inserted, remove it from the parameter let content = getline(line('.')) let parameter = s:complete_parameter['items'][0] if col > 1 if content[col-2] ==# parameter[0] let parameter = substitute(parameter, '\m.\(.*\)', '\1', '') let s:complete_parameter['complete_pos'][1] = col - 1 endif endif " must be insert mode " the cursor is in the last char+1,col('$') " we need the pass the last char col, so col('.')-1 return cmp#goto_first_param(parameter, content, col('.')-1) endfunction "}}} function! cmp#goto_first_param(parameter, content, current_col) abort "{{{ let old_ei = &ei set ei=InsertLeave,InsertEnter,TextChanged if s:complete_parameter['success'] call trace_log(printf('content:[%s] current_col:%d, left:[%s], right:[%s]', a:content, a:current_col, a:content[:a:current_col-1], a:content[a:current_col:])) let content = a:content[:a:current_col-1] . a:parameter . a:content[a:current_col:] call trace_log("content: " . content) call trace_log("current_col: " . a:current_col) " the current_col is no in the `()` " show we need to add 1 let keys = cmp#goto_next_param_keys(1, content, a:current_col+1) let keys = printf("%s\%s", a:parameter, keys) call trace_log("keys: ". keys) let index = s:complete_parameter['index'] if len(s:complete_parameter['echos']) > index && s:complete_parameter['echos'][index] !=# '' echon s:complete_parameter['echos'][index] endif let &ei=old_ei return keys else let &ei=old_ei return a:parameter endif endfunction "}}} function! cmp#goto_next_param_keys(forward, content, current_col) abort "{{{ let filetype = &ft if empty(filetype) call debug_log('filetype is empty') return '' endif try let ftfunc = cmp#new_ftfunc(filetype) catch call debug_log('new ftfunc failed') return '' endtry if !cmp#filetype_func_check(ftfunc) return '' endif let step = a:forward ? 1 : -1 let delim = ftfunc.parameter_delim() let border_begin = a:forward ? ftfunc.parameter_begin() : ftfunc.parameter_end() let border_end = a:forward ? ftfunc.parameter_end() : ftfunc.parameter_begin() " if in the insert mode " go back to the first none space " this can select the parameter after cursor let pos = a:current_col-1 let scope_end = step > 0 ? -1 : len(a:content) if mode() ==# 'i' while pos != scope_end && \(a:content[pos-1] =~# '['.delim.border_begin.']' || \ a:content[pos-1] ==# ' ') let pos -= 1 if a:content[pos] =~# '['.delim.border_begin.']' break endif endwhile endif let [word_begin, word_end] = cmp#parameter_position(a:content, pos+1, delim, border_begin, border_end, step) call trace_log(printf('content:[%s],current_col:%d,word_begin:%d,word_end:%d', a:content, a:current_col, word_begin, word_end)) if word_begin == 0 && word_end == 0 call debug_log('word_begin and word_end is 0') return '' endif let word_len = word_end - word_begin call trace_log('word_len:'.word_len) let keys = printf("\0%dl", word_begin-2) if word_len == 0 if a:forward return keys . "a\" endif else let keys .= "lv" if &selection ==# 'exclusive' let right_len = word_len else let right_len = word_len - 1 endif if right_len > 0 let keys .= right_len let keys .= "l" endif let keys .= "\" return keys endif return '' endfunction "}}} function! cmp#goto_next_param(forward) abort "{{{ let s:log_index = timenow_ms() let filetype = &ft if empty(filetype) call debug_log('filetype is empty') return '' endif try let ftfunc = cmp#new_ftfunc(filetype) catch call debug_log('new ftfunc failed') return '' endtry if !cmp#filetype_func_check(ftfunc) return '' endif let step = a:forward ? 1 : -1 let border_end = a:forward ? ftfunc.parameter_end() : ftfunc.parameter_begin() let lnum = line('.') let content = getline(lnum) let current_col = col('.') let pos = current_col - 1 let parameter_delim = ftfunc.parameter_delim() if !a:forward && &selection==#'exclusive' && \(match(parameter_delim, content[pos])!=-1 || \ match(ftfunc.parameter_end(), content[pos])!=-1) let current_col -= 1 let pos -= 1 endif " if the selected is an object and the cursor char is an border_end " go back to border_begin and it can select the item in the object. if mode() == 'n' && match(border_end, content[pos]) != -1 normal % let current_col = col('.') endif let keys = cmp#goto_next_param_keys(a:forward, content, current_col) call feedkeys(keys, 'n') return '' endfunction "}}} " items: all overload complete function parameters " current_line: current line content " complete_pos: the pos where called complete " forward: down or up " [success, item, next_index, old_item_len] function! cmp#next_overload_content(items, current_index, current_line, complete_pos, forward) abort "{{{ if len(a:items) <= 1 || \a:current_index >= len(a:items) || \empty(a:current_line) || \len(a:current_line) < a:complete_pos[1] return [0] endif let current_overload_len = len(a:items[a:current_index]) let pos = a:complete_pos[1] - 1 let pos_end = pos+current_overload_len-1 let content = a:current_line[ pos : pos_end ] if content !=# a:items[a:current_index] return [0] endif let overload_len = len(a:items) if a:forward let next_index = (a:current_index + 1) % overload_len else let next_index = (a:current_index+overload_len-1)%overload_len endif return [1, a:items[next_index], next_index, len(a:items[a:current_index])] endfunction "}}} function! s:timenow_us() let t = reltime() return t[0] * 1000000 + t[1] endfunction function! s:timenow_ms() return timenow_us() endfunction function! cmp#overload_next(forward) abort "{{{ let s:log_index = timenow_ms() let overload_len = len(s:complete_parameter['items']) if overload_len <= 1 return endif let complete_pos = s:complete_parameter['complete_pos'] let current_line = line('.') let current_col = col('.') " if no in the complete content " then return if current_line != complete_pos[0] || current_col < complete_pos[1] call trace_log('no more overload') return endif let current_index = s:complete_parameter['index'] let current_line = getline(current_line) let result = cmp#next_overload_content( \s:complete_parameter['items'], \current_index, \current_line, \s:complete_parameter['complete_pos'], \a:forward) if result[0] == 0 call debug_log('get overload content failed') return endif let current_overload_len = result[3] call cursor(complete_pos[0], complete_pos[1]) call trace_log(printf('pos: %d %d', complete_pos[0], complete_pos[1])) exec 'normal! d'.current_overload_len.'l' let next_content = result[1] let s:complete_parameter['index'] = result[2] let s:complete_parameter['success'] = 1 let content = getline(line('.')) let current_col = col('.') let insert_method = 'a' if current_col != col('$')-1 " if no the last char " the cursor in the last complete char+1 " we need to -1 let current_col -= 1 let insert_method = 'i' endif let ret = insert_method.cmp#goto_first_param(next_content, content, current_col) call trace_log(ret) call feedkeys(ret, 'n') endfunction "}}} let s:stack = {'data':[]} function! s:new_stack() abort "{{{ return deepcopy(s:stack) endfunction "}}} function! s:stack.push(e) abort dict "{{{ call add(self.data, a:e) endfunction "}}} function! s:stack.len() abort dict "{{{ return len(self.data) endfunction "}}} function! s:stack.empty() abort dict "{{{ return self.len() == 0 endfunction "}}} function! s:stack.top() abort dict "{{{ if self.empty() throw "stack is empty" endif return self.data[-1] endfunction "}}} function! s:stack.pop() abort dict "{{{ if self.empty() throw "stack is empty" endif call remove(self.data, -1) endfunction "}}} function! s:stack.str() abort dict "{{{ let str = 'stack size:'.self.len() for d in self.data let str .= "\n" let str .= 'stack elem:'.d endfor return str endfunction "}}} function! s:in_scope(content, pos, border, step, end) abort "{{{ " echom printf('content: %s, pos: %d, border: %s, step: %d, end: %d', a:content, a:pos, a:border, a:step, a:end) let i = a:pos while i != a:end if a:content[i] =~# '\m['.a:border.']' return 1 endif let i += a:step endwhile return 0 endfunction "}}} function! cmp#jumpable(forward) abort "{{{ can jump to next parameter or not let filetype = &ft try let ftfunc = cmp#new_ftfunc(filetype) catch call debug_log('new ftfunc failed') return 0 endtry if !cmp#filetype_func_check(ftfunc) call debug_log('func check failed') return 0 endif let delim = ftfunc.parameter_delim() let border = a:forward > 0 ? ftfunc.parameter_begin() : ftfunc.parameter_end() let step = a:forward > 0 ? -1 : 1 let lnum = line('.') let content = getline(lnum) let current_pos = col('.') - 1 let end = a:forward > 0 ? -1 : len(content) return in_scope(content, current_pos, border, step, end) endfunction "}}} " content: string, the content to parse " current_col: int, current col " delim: string, split the paramter letter " return: [int, int] begin_col, end_col " " col: base 1 " pos: base 0 function! cmp#parameter_position(content, current_col, delim, border_begin, border_end, step) abort "{{{ "{{{2 if empty(a:content) || \a:current_col==0 || \empty(a:delim) || \empty(a:border_begin) || \empty(a:border_end) || \len(a:border_begin) != len(a:border_end) || \a:step==0 call debug_log('parameter_position param error') return [0, 0] endif "}}}2 let step = a:step > 0 ? 1 : -1 let current_pos = a:current_col - 1 let content_len = len(a:content) let end = a:step > 0 ? content_len : -1 if current_pos >= content_len let current_pos = content_len-1 endif " check current pos is in the scope or not let scope_end = step > 0 ? -1 : content_len if !in_scope(a:content, current_pos, a:border_begin, -step, scope_end) call trace_log(printf("no in scope, content: %s, current_pos: %d, a:border_begin: %s, step: %d, scope_end: %d", a:content, current_pos, a:border_begin, -step, scope_end)) retur [0, 0] endif let stack = new_stack() let pos = current_pos let border_matcher = {} let border_begin_chars = split(a:border_begin, '\zs') let border_end_chars = split(a:border_end, '\zs') let i = 0 while i < len(border_end_chars) let border_matcher[border_begin_chars[i]] = '\m['.a:delim.border_end_chars[i].']' let i += 1 endwhile " let border_matcher[a:border_begin] = '\m['.a:delim.a:border_end.']' let border_matcher[a:delim] = '\m['.a:delim.a:border_end.']' let border_matcher['"'] = '"' let border_matcher["'"] = "'" let border_matcher["`"] = "`" let begin_pos = 0 let end_pos = 0 " check has previous quote let quote_test_content_pos = pos if a:content[quote_test_content_pos] =~# '\m["''`]' let quote_test_content_pos -= step endif let quote_test_content = a:content[:quote_test_content_pos] let quote_test_content = substitute(quote_test_content, '\m\\.', '', 'g') let quote_test_content = substitute(quote_test_content, '\m[^"''`]', '', 'g') let quotes = split(quote_test_content, '\zs') for quote in quotes if stack.empty() call stack.push(quote) elseif border_matcher[stack.top()] ==# quote call stack.pop() endif endfor while pos != end "{{{2 if step < 0 if pos + step != end && a:content[pos+step] == '\' let pos += 2*step continue endif endif " if top of stack is quote and current letter is not a quote " the letter should be ignore if !stack.empty() && stack.top() =~# '\m["`'']' && a:content[pos] !~# '\m["`''\\]' let pos += step continue endif if a:content[pos] ==# '"' || a:content[pos] ==# "'" || a:content[pos] ==# '`' if stack.empty() || border_matcher[stack.top()] !=# a:content[pos] call stack.push(a:content[pos]) else call stack.pop() endif elseif a:content[pos] ==# '\' let pos += step elseif a:content[pos] ==# '=' if step > 0 if stack.len() > 1 " if stack more than 1, current maybe in the nest scope, ignore it let pos += step continue endif let pos += step let pos = find_first_not_space(a:content, pos, end, step) if pos == end break endif let begin_pos = pos if stack.len() == 0 " let = as a delim, it's the next begining call stack.push(a:delim[0]) endif continue else " backword " if stack is empty, we need to find the first begin or delim " if stack more than 1, current maybe in the nest scope, ignore it if stack.len() != 1 let pos += step continue else " if stack len is 1, and current pos must be want to select break endif endif elseif stridx(a:border_begin, a:content[pos]) != -1 if a:content[pos] ==# '>' && step < 0 " check if there are is a '<' or not let tmppos = pos + step while tmppos >= 0 && a:content[tmppos] !=# '<' let tmppos += step endwhile if tmppos < 0 let pos += step continue endif endif call stack.push(a:content[pos]) if stack.len() == 1 " begin let pos += step let pos = find_first_not_space(a:content, pos, end, step) if pos == end break endif let begin_pos = pos " no need to step forward " goto the beginning of the loop continue endif elseif a:content[pos] ==# a:delim if stack.empty() call stack.push(a:content[pos]) let pos += step let pos = find_first_not_space(a:content, pos, end, step) if pos == end break endif let begin_pos = pos " no need to step forward " goto the beginning of the loop continue elseif stack.len() == 1 && a:content[pos] =~# border_matcher[stack.top()] call stack.pop() if stack.empty() " match delim break endif endif elseif stridx(a:border_end, a:content[pos]) != -1 if a:content[pos] ==# '<' && step > 0 " check if there are is a '>' or not let tmppos = pos + step while tmppos < content_len && a:content[tmppos] !=# '>' let tmppos += step endwhile if tmppos >= content_len let pos += step continue endif endif if stack.empty() let begin_pos = pos let end_pos = pos else if a:content[pos] =~# border_matcher[stack.top()] " border match, then pop call stack.pop() if stack.empty() " match delim break endif endif endif endif let pos += step endwhile "}}}2 if pos == end if begin_pos != 0 && end_pos != 0 return [begin_pos+1,end_pos+1] else return [0, 0] endif endif if begin_pos != pos let pos -= step " find previous no space while pos != begin_pos && a:content[pos] =~# '\s' let pos -= step endwhile endif let end_pos = pos if begin_pos == end_pos && stridx(a:border_end, a:content[end_pos]) != -1 return [begin_pos+1, end_pos+1] endif if end_pos < begin_pos let [begin_pos, end_pos] = [end_pos, begin_pos] endif return [begin_pos+1, end_pos+2] endfunction "}}} function! s:find_first_not_space(content, pos, end, step) abort "{{{ let pos = a:pos if pos == -1 || \pos==len(a:content) return pos == a:end endif if a:step == 0 throw 'step is 0' endif while pos != a:end && a:content[pos] =~# '\s' let pos += a:step endwhile return pos endfunction "}}} function! s:log(level, msg) abort "{{{ echom printf("[CompleteParameter][%s][%s][%d] %s", strftime("%T"), a:level, s:log_index, a:msg) endfunction "}}} function! s:error_log(msg) abort "{{{ if g:complete_parameter_log_level <= 4 echohl ErrorMsg call log('ERROR', a:msg) echohl None endif endfunction "}}} function! s:debug_log(msg) abort "{{{ if g:complete_parameter_log_level <= 2 call log('DEBUG', a:msg) endif endfunction "}}} function! s:trace_log(msg) abort "{{{ if g:complete_parameter_log_level <= 1 call log('TRACE', a:msg) endif endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/autoload/complete_parameter.vim ================================================ "============================================================== " file: complete_parameter.vim " brief: " VIM Version: 8.0 " author: zhongtenghui " email: zhongtenghui@gf.com.cn " created: 2017-08-10 09:37:46 "============================================================== " deprecated function! complete_parameter#pre_complete(failed_inserted) "{{{ return cmp#pre_complete(a:failed_inserted) endfunction "}}} " deprecated function! complete_parameter#jumpable(forward) "{{{ return cmp#jumpable(a:forward) endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/ci/travis_install.sh ================================================ #!/bin/bash - set -e if [[ "$VIM_NAME" == 'nvim' ]]; then if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim-macos.tar.gz tar xzf nvim-macos.tar.gz else sudo add-apt-repository ppa:neovim-ppa/unstable -y sudo apt-get update -y sudo apt-get install neovim -y fi else wget https://codeload.github.com/vim/vim/tar.gz/v7.4.774 tar xzf v7.4.774 cd vim-7.4.774 ./configure --prefix="$HOME/vim" \ --enable-fail-if-missing \ --with-features=huge make -j 2 make install fi ================================================ FILE: bundle/CompleteParameter.vim/ci/travis_script.sh ================================================ #!/bin/bash - set -e if [ $# -ne 1 ]; then exit 1 fi $1 -Nu <(cat << VIMRC filetype off set rtp+=vader.vim set rtp+=. runtime! cm_parser/*.vim filetype plugin indent on syntax enable VIMRC) -c 'Vader! vader/*' > /dev/null ================================================ FILE: bundle/CompleteParameter.vim/cm_parser/c.vim ================================================ "============================================================== " file: c.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-13 19:52:45 "============================================================== " ycm macro " {'word': 'CMP', 'menu': '', 'info': ' CMP( a, b )^@', 'kind': 'm', 'abbr': 'CMP( a, b )'} function! s:parse_macro(word, info) let param = substitute(a:info, '\m\s*'.a:word.'\(([^()]*)\).*', '\1', 'g') let param = substitute(param, '\m( *', '(', 'g') let param = substitute(param, '\m *)', ')', 'g') return [param] endfunction function! s:parse(abbr) "{{{ let param = substitute(a:abbr, '\m\%(\w\+\s*\)\?\w\+\((.*)\).*', '\1', '') " get parameters let param = substitute(param, '\m\([(,]\)\s*\%(\w\+\s\+\)*\s*\(\w\+\s*\)\s*\(\**\)\(\s*[,)]\)', '\1\2 \3\2\4', 'g') let param = substitute(param, '\m\s*\%(\w\+\s\+\)*\s*\**\s*\(\%(\w\+\)\s*[,)]\)', '\1', 'g') let param = substitute(param, '\s\+', '', 'g') let param = substitute(param, '\m,', ', ', 'g') return [param] endfunction "}}} " deoplete " {'word': 'time', 'menu': '[clang] ', 'info': 'time(time_t *)', 'kind': 'f time_t', 'abbr': 'time(time_t *)'} " clang_complete " {'word': 'timevalsub', 'menu': 'void timevalsub(struct timeval *t1, struct timeval *t2)', 'info': 'timevalsub(struct timeval *t1, struct timeval *t2)', 'kind': 'f', 'abbr': 'timevalsub'} function! cm_parser#c#parameters(completed_item) "{{{ let kind = get(a:completed_item, 'kind', '') let l:abbr = get(a:completed_item, 'abbr', '') let word = get(a:completed_item, 'word', '') let l:menu = get(a:completed_item, 'menu', '') let info = get(a:completed_item, 'info', '') if empty(l:abbr) return [] endif if kind ==# 'f' && l:abbr == word " clang_complete return parse(l:menu) elseif kind ==# 'f' " ycm return parse(l:abbr) elseif kind =~# '\m^f .*' && l:menu ==# '[clang] ' && !empty(word) && l:abbr =~# '\m^'.word.'(.*)' " deoplete return parse(l:abbr) elseif kind ==# 'm' return parse_macro(word, info) endif return [] endfunction "}}} function! cm_parser#c#parameter_delim() "{{{ return ',' endfunction "}}} function! cm_parser#c#parameter_begin() "{{{ return '(' endfunction "}}} function! cm_parser#c#parameter_end() "{{{ return ')' endfunction "}}} function! cm_parser#c#echos(completed_item) "{{{ let kind = get(a:completed_item, 'kind', '') let l:abbr = get(a:completed_item, 'abbr', '') let word = get(a:completed_item, 'word', '') let l:menu = get(a:completed_item, 'menu', '') if kind ==# 'f' && l:abbr == word " clang_complete return [l:menu] elseif kind ==# 'f' " ycm return [l:abbr] elseif kind =~# '\m^f .*' && l:menu ==# '[clang] ' && !empty(word) && l:abbr =~# '\m^'.word.'(.*)' " deoplete return [l:abbr] endif return [] endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/cm_parser/cpp.vim ================================================ "============================================================== " file: cpp.vim " brief: " VIM Version: 8.0 " author: zhongtenghui " email: zhongtenghui@gf.com.cn " created: 2017-06-13 08:58:09 "============================================================== " ycm macro " {'word': 'CMP', 'menu': '', 'info': ' CMP( a, b )^@', 'kind': 'm', 'abbr': 'CMP( a, b )'} function! s:parse_macro(word, info) let param = substitute(a:info, '\m\s*'.a:word.'\(([^()]*)\).*', '\1', 'g') let param = substitute(param, '\m( *', '(', 'g') let param = substitute(param, '\m *)', ')', 'g') return [param] endfunction " ycm " " deoplete " {'word': 'erase', 'menu': '[clang] ', 'info': 'erase(const_iterator __position)', 'kind': 'f iterator', 'abbr': 'erase(const_iterator __position)'} function! s:parse_function(word, info) "{{{ let result = [] let decls = split(a:info, "\n") for decl in decls if empty(decl) || decl =~# '^\s*'.a:word.'\s*$' continue endif let param = substitute(decl, '\m^.*\<'.a:word.'\((.*)\).*', '\1', '') " remove <.*> while param =~# '<.*>' let param = substitute(param, '\m<[^<>]*>', '', 'g') endwhile let param = substitute(param, '\m=\s*\w*\%(([^)]*)\)\?\s*', '', 'g') let param = substitute(param, '\m\%(\s*[^(,)]*\s\)*\s*[&*]\?\s*\(\%(\w\+\)\|\%([*&]\)\)\s*\([,)]\)', '\1\2', 'g') let param = substitute(param, ',', ', ', 'g') call add(result, param) endfor return result endfunction "}}} " ycm " " deoplete " {'word': 'vector', 'menu': '[clang] ', 'info': 'vector', 'kind': 'p ', 'abbr' : 'vector'} function! s:parse_class(word, info) "{{{ let result = [] let decls = split(a:info, "\n") for decl in decls if empty(decl) || decl =~# '^\s*'.a:word.'\s*$' continue endif let param = substitute(decl, '\m^.*\<'.a:word.'\(<.*>\).*', '\1', '') let param = substitute(param, '\m\%(\w\+\)\?\s*\(\w\+\s*[,>]\)', '\1', 'g') call add(result, param) endfor return result endfunction "}}} function! cm_parser#cpp#parameters(completed_item) "{{{ let kind = get(a:completed_item, 'kind', '') let word = get(a:completed_item, 'word', '') let info = get(a:completed_item, 'info', '') let l:menu = get(a:completed_item, 'menu', '') if kind ==# 'f' return parse_function(word, info) elseif kind ==# 'c' return parse_class(word, info) elseif kind =~# '\m^f\s.\+' && l:menu ==# '[clang] ' return parse_function(word, info) elseif kind ==# 'p ' && !empty(word) && info =~# '\m^'.word.'<.*>' return parse_class(word, info) elseif kind ==# 'm' return parse_macro(word, info) else return [] endif endfunction "}}} function! cm_parser#cpp#parameter_delim() "{{{ return ',' endfunction "}}} function! cm_parser#cpp#parameter_begin() "{{{ return '(<' endfunction "}}} function! cm_parser#cpp#parameter_end() "{{{ return ')>' endfunction "}}} function! cm_parser#cpp#echos(completed_item) "{{{ let info = get(a:completed_item, 'info', '') let decls = split(info, "\n") return decls endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/cm_parser/erlang.vim ================================================ "============================================================== " file: go.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-10 09:59:22 "============================================================== function! cm_parser#erlang#parameters(completed_item) "{{{ let info = a:completed_item['info'] let list = matchlist(info, '\m\w\+\((.*)\).*->.*') return len(list) < 2 ? [] : [list[1]] endfunction "}}} function! cm_parser#erlang#parameter_delim() "{{{ return ',' endfunction "}}} function! cm_parser#erlang#parameter_begin() "{{{ return '(' endfunction "}}} function! cm_parser#erlang#parameter_end() "{{{ return ')' endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/cm_parser/go.vim ================================================ "============================================================== " file: go.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-10 09:59:22 "============================================================== " youcompleteme " {'word': 'Scan', 'menu': 'func(a ...interface{}) (n int, err error)', 'info': 'Scan func(a ...interface{}) (n int, err error) func', 'kind': 'f', 'abbr': 'Scan'} " completor " {'word': 'Scanf', 'menu': 'func(format string, a ...interface{}) (n int, err error)', 'info': '', 'kind': '', 'abbr': ''} " neocomplete " {'word': 'Scan(', 'menu': '[O] ', 'info': 'func Scan(a ...interface{}) (n int, err error)', 'kind': '', 'abbr': 'func Scan(a ...interface{}) (n int, err error)'} " deoplete " {'word': 'Errorf', 'menu': '', 'info': 'func(format string, a ...interface{}) error', 'kind': 'func', 'abbr': 'Errorf(format string, a ...interface{}) error'} function! s:parser1(info) "{{{ if empty(a:info) return [] endif let param = substitute(a:info, '\m^func\%( \w*\)\?\(.*\)', '\1', '') while param =~# '\m\' let param = substitute(param, '\\s*([^()]*)\s*\%(\w*|([^()]*)\)\?', '', 'g') endwhile let param = substitute(param, '\m^\(([^()]*)\).*', '\1', '') " remove type let param = substitute(param, '\m\(\w\+\)\s*[^,)]*', '\1', 'g') return [param] endfunction "}}} function! cm_parser#go#parameters(completed_item) "{{{ let menu = get(a:completed_item, 'menu', '') let info = get(a:completed_item, 'info', '') if menu =~# '^func' return parser1(menu) elseif info =~# '^func' return parser1(info) else return [] endif endfunction "}}} function! cm_parser#go#parameter_delim() "{{{ return ',' endfunction "}}} function! cm_parser#go#parameter_begin() "{{{ return '(' endfunction "}}} function! cm_parser#go#parameter_end() "{{{ return ')' endfunction "}}} function! cm_parser#go#echos(completed_item) "{{{ let menu = get(a:completed_item, 'menu', '') let info = get(a:completed_item, 'info', '') if menu =~# '^func' return [menu] elseif info =~# '^func' return [info] endif return [] endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/cm_parser/javascript.vim ================================================ "============================================================== " file: javascript.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-11 21:14:37 "============================================================== function! s:process_param(param) let param = a:param " remove fn while param =~# '\.*\)\?', '\1', '') let param = process_param(param) return [param] endfunction "}}} " deoplete function! s:check_parentheses_pairs(line) "{{{ let left = 0 let right = 0 let i = 0 while i < len(a:line) if a:line[i] ==# '(' let left += 1 elseif a:line[i] ==# ')' let right += 1 endif let i += 1 endwhile return left == right endfunction "}}} function! s:parser1(info) "{{{ let info_lines = split(a:info, '\n') let func = info_lines[0] for line in info_lines[1:] if check_parentheses_pairs(func) break endif let func .= line endfor let param = substitute(func, '\m^fn\((.*)\)\%(\s*->.*\)\?', '\1', '') let param = process_param(param) return [param] endfunction "}}} function! s:parser2(menu) "{{{ let param = '(' . a:menu . ')' let param = process_param(param) return [param] endfunction "}}} function! cm_parser#javascript#parameters(completed_item) "{{{ let menu = get(a:completed_item, 'menu', '') let info = get(a:completed_item, 'info', '') let kind = get(a:completed_item, 'kind', '') let word = get(a:completed_item, 'word', '') if menu =~# '\m^fn(' return parser0(menu) elseif info =~# '\m^fn(' return parser1(info) elseif word =~# '\m\w\+(' && empty(info) && kind ==# 'f' && !empty(menu) " ycm omni " {'word': 'add(', 'menu': 'a, b', 'info': '', 'kind': 'f', 'abbr': ''} return parser2(menu) endif return [] endfunction "}}} function! cm_parser#javascript#parameter_delim() "{{{ return ',' endfunction "}}} function! cm_parser#javascript#parameter_begin() "{{{ return '({' endfunction "}}} function! cm_parser#javascript#parameter_end() "{{{ return ')}' endfunction "}}} function! cm_parser#javascript#echos(completed_item) "{{{ let menu = get(a:completed_item, 'menu', '') let info = get(a:completed_item, 'info', '') let kind = get(a:completed_item, 'kind', '') let word = get(a:completed_item, 'word', '') if menu =~# '\m^fn(' return [menu] elseif info =~# '\m^fn(' return [info] elseif word =~# '\m\w\+(' && empty(info) && kind ==# 'f' && !empty(menu) return [word.menu.')'] endif return [] endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/cm_parser/python.vim ================================================ "============================================================== " file: python.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-11 18:11:12 "============================================================== " pexpect " interact(self, escape_character=chr(29), input_filter=None, " output_filter=None) function! s:signature(info) "{{{ let info_lines = split(a:info, '\n') let func = '' let match = 0 let l:finish = 0 if info_lines[0] !~# '(' if info_lines[0] !~# '```' || len(info_lines) == 1 || info_lines[1] !~# '(' return func endif endif " there are maybe some () in the parameters " if the count of `(` equal to `)` " then the parameters has finished for line in info_lines for i in range(len(line)) if line[i] ==# '(' let match += 1 elseif line[i] ==# ')' let match -= 1 if match == 0 let l:finish = 1 break endif endif endfor if l:finish == 0 let func .= line else let func .= line[:i] break endif endfor return func endfunction "}}} function! s:parser0(info) "{{{ let func = signature(a:info) " remove function name, begin `(` and end `)` let param = substitute(func, '\m[^(]*(\(.*\))[^)]*', '\1', '') let keep_default_value = get(g:, 'complete_parameter_py_keep_value', 1) let remove_default_parameter = get(g:, 'complete_parameter_py_remove_default', 1) if !keep_default_value " remove `()` while param =~# '(.*)' let param = substitute(param, '(.*)', '', 'g') endwhile endif " add begin`(` and end`)` let param = '(' . param . ')' if remove_default_parameter let param = substitute(param, '\m\s*,\?\s*\w*\s*=.*', ')', '') let param = substitute(param, '\m\s*,\?\s*\.\.\..*', ')', '') let param = substitute(param, '\m\s*,\?\s*\*args.*', ')', '') elseif !keep_default_value let param = substitute(param, '\m\s*=\s*[^,()]*', '', 'g') endif " remove `[` and `]` let param = substitute(param, '\m\[\|\]', '', 'g') " remove self,cls let param = substitute(param, '\m(\s*\\s*,\?', '(', '') let param = substitute(param, '\m(\s*\\s*,\?', '(', '') " remove space let param = substitute(param, '\m\s\+', ' ', 'g') let param = substitute(param, '\m\s,', ',', 'g') let param = substitute(param, '\m(\s', '(', '') let param = substitute(param, '\m,\s*)', ')', '') let param = substitute(param, '\m,\(\S\)', ', \1', 'g') return [param] endfunction "}}} " deoplete " {'word': 'call_tracing(', 'menu': '', 'info': 'call_tracing(func, args) -> object^@^@Call func(*args), while tracing is enabled. The tracing state is^@saved, and restored afterwards. This is intended to be called from^@a debugger from a checkpoint, to recursively debug some other code.', 'kind': '', 'abbr': 'call_tracing(func, args)'} function! cm_parser#python#parameters(completed_item) "{{{ let menu = get(a:completed_item, 'menu', '') let info = get(a:completed_item, 'info', '') let word = get(a:completed_item, 'word', '') let abbr = get(a:completed_item, 'abbr', '') let kind = get(a:completed_item, 'kind', '') if (menu =~# '\m^\%(function:\|def \)' || word =~# '\m^\w\+($' || menu =~? '\[jedi\]\s*') && !empty(info) return s:parser0(info) " From language server. elseif menu =~? '\[LS\]' && !empty(info) return s:parser0(info) elseif word ==# '(' && empty(menu) && info ==# ' ' && empty(kind) && !empty(abbr) " ycm omni called " {'word': '(', 'menu': '', 'info': ' ', 'kind': '', 'abbr': 'add(a,b)'} return s:parser0(abbr) endif return [] endfunction "}}} function! cm_parser#python#parameter_delim() "{{{ return ',' endfunction "}}} function! cm_parser#python#parameter_begin() "{{{ return '(' endfunction "}}} function! cm_parser#python#parameter_end() "{{{ return ')' endfunction "}}} function! cm_parser#python#echos(completed_item) "{{{ let menu = get(a:completed_item, 'menu', '') let info = get(a:completed_item, 'info', '') let word = get(a:completed_item, 'word', '') let abbr = get(a:completed_item, 'abbr', '') let kind = get(a:completed_item, 'kind', '') if (menu =~# '\m^\%(function:\|def \)' || word =~# '\m^\w\+($' || menu =~? '\[jedi\]\s*') && !empty(info) return [s:signature(info)] elseif word ==# '(' && empty(menu) && info ==# ' ' && empty(kind) && !empty(abbr) " ycm omni called " {'word': '(', 'menu': '', 'info': ' ', 'kind': '', 'abbr': 'add(a,b)'} return [s:signature(abbr)] endif return [] endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/cm_parser/rust.vim ================================================ "============================================================== " file: rust.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-11 19:32:37 "============================================================== " ycm " {'word': 'gen_range', 'menu': 'fn gen_range(&mut self, low: T, high: T) -> T where Self: Sized', 'info': '', 'kind': 'f', 'abbr': ''} " {'word': 'trim', 'menu': 'pub fn trim(&self) -> &str', 'info': '', 'kind': 'f', 'abbr': ''} " " deoplete " {'word': 'from_raw_parts', 'menu': '[Rust] pub unsafe fn from_raw_parts(ptr: *mut T', 'info': 'pub unsafe fn from_raw_parts(ptr: *mut T, length: usize, capacity: usize) -> Vec', 'kind': 'Function', 'abbr': 'from_raw_parts'})' " " neocomplete+vim-racer " {'word': 'from_raw_parts(', 'menu': '[O] unsafe from_raw_parts(ptr: *mut T, length: usize, capacity: usize) -> Vec', 'info': 'pub unsafe fn from_raw_parts(ptr: *mut T, length: usize, capacity: usize) -> Vec', 'kind': 'f', 'abbr': 'from_raw_parts'} ' function! s:parse(word, param) "{{{ " check is fn or not let param = substitute(a:param, '\m.*'.a:word.'\%(<.*>\)\?\(([^)]*)\).*', '\1', '') while param =~# '\m<.*>' let param = substitute(param, '\m<[^>]*>', '', 'g') endwhile let param = substitute(param, '\m:\s*[^,)]*', '', 'g') let param = substitute(param, '\m(&\?\%(\s*\&''\w\+\s*\)\?\%(\s*mut\s\+\)\?self\s*\([,)]\)', '(\1', '') let param = substitute(param, '\m(\s*,\s*', '(', '') return [param] endfunction "}}} " TODO support template function! cm_parser#rust#parameters(completed_item) "{{{ let menu = get(a:completed_item, 'menu', '') let word = get(a:completed_item, 'word', '') let kind = get(a:completed_item, 'kind', '') let info = get(a:completed_item, 'info', '') let l:abbr = get(a:completed_item, 'abbr', '') if kind ==# 'f' && !empty(word) && menu =~# '(.*)' && empty(info) " ycm return parse(word, menu) elseif kind ==# 'f' && !empty(l:abbr) && word =~# l:abbr.'(' && !empty(info) return parse(l:abbr, info) elseif kind ==# 'Function' && !empty(word) && info =~# '(.*)' " deoplete return parse(word, info) endif return [] endfunction "}}} function! cm_parser#rust#parameter_delim() "{{{ return ',' endfunction "}}} function! cm_parser#rust#parameter_begin() "{{{ return '(' endfunction "}}} function! cm_parser#rust#parameter_end() "{{{ return ')' endfunction "}}} function! cm_parser#rust#echos(completed_item) "{{{ let menu = get(a:completed_item, 'menu', '') let word = get(a:completed_item, 'word', '') let kind = get(a:completed_item, 'kind', '') let info = get(a:completed_item, 'info', '') let l:abbr = get(a:completed_item, 'abbr', '') if kind ==# 'f' && !empty(word) && menu =~# '(.*)' && empty(info) " ycm return [menu] elseif kind ==# 'f' && !empty(l:abbr) && word =~# l:abbr.'(' && !empty(info) return [info] elseif kind ==# 'Function' && !empty(word) && info =~# '(.*)' " deoplete return [info] endif return [] endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/cm_parser/typescript.vim ================================================ "============================================================== " file: typescript.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-17 08:56:21 "============================================================== function! s:parser0(word, abbr) "{{{ let param = a:abbr " remove () while param =~# '\m: ([^()]*)' let param = substitute(param, '\m: \zs([^()]*)', '', 'g') endwhile " remove [] while param =~# '\m\[[^[]*\]' let param = substitute(param, '\m\[[^[]*\]', '', 'g') endwhile " fun (method) A.fun() let pattern = printf('\m^%s\s*(method)\s*.*%s\%%(<[^()<>]*>\)\?(\([^()]*\)).*', a:word, a:word) let param = substitute(param, pattern, '\1', '') let param = substitute(param, ':[^,)]*', '', 'g') let param = substitute(param, '?\?', '', 'g') let param = '('.param.')' return [param] endfunction "}}} " neocomplete " {'word': 'concat', 'menu': '(method) Array.concat(...items: number[][]): number[] (+1 overload)', 'info': '', 'kind': '', 'abbr': ''} " deoplete " {'word': 'concat', 'menu': 'TS Array.concat(...i..(+1 overload)', 'info': 'Array.concat(...items: number[][]): number[] (+1 overload)^@Combines two or more arrays.', 'kind': 'M', 'abbr': 'concat'} function! s:parser1(word, info) "{{{ let param = split(a:info, '\n')[0] let pattern = printf('\m^.*%s[^(]*(\(.*\)', a:word) let param = substitute(param, pattern, '\1', '') let param = substitute(param, '\m([^()]*)', '', 'g') let param = substitute(param, '\m\[[^\[\]]*\]', '', 'g') let param = substitute(param, '\m).*', '', '') let param = substitute(param, ':[^,)]*', '', 'g') let param = substitute(param, '?\?', '', 'g') let param = '('.param.')' return [param] endfunction "}}} function! cm_parser#typescript#parameters(completed_item) "{{{ let kind = get(a:completed_item, 'kind', '') let l:abbr = get(a:completed_item, 'abbr', '') let word = get(a:completed_item, 'word', '') let info = get(a:completed_item, 'info', '') let l:menu = get(a:completed_item, 'menu', '') if kind ==# 'm' && l:abbr =~# '\m^'.word.'\s*(method)' return parser0(word, l:abbr) elseif (kind ==# 'm' || kind ==# 'M') && info =~# '\m\<'.word.'\>\%(<[^<>()]*>\)\?(' return parser1(word, info) elseif empty(kind) && l:menu =~# '\m^(method).*'.word return parser1(word, l:menu) endif return [] endfunction "}}} function! cm_parser#typescript#parameter_delim() "{{{ return ',' endfunction "}}} function! cm_parser#typescript#parameter_begin() "{{{ return '(' endfunction "}}} function! cm_parser#typescript#parameter_end() "{{{ return ')' endfunction "}}} function! cm_parser#typescript#echos(completed_item) "{{{ let kind = get(a:completed_item, 'kind', '') let word = get(a:completed_item, 'word', '') let l:abbr = get(a:completed_item, 'abbr', '') let info = get(a:completed_item, 'info', '') let l:menu = get(a:completed_item, 'menu', '') if kind ==# 'm' && l:abbr =~# '\m^'.word.'\s*(method)' return [l:abbr] elseif (kind ==# 'm' || kind ==# 'M') && info =~# '\m\<'.word.'\>\%(<[^<>()]*>\)\?(' return [info] elseif empty(kind) && l:menu =~# '\m^(method).*'.word return [l:menu] endif return [] endfunction "}}} ================================================ FILE: bundle/CompleteParameter.vim/doc/.gitignore ================================================ tags ================================================ FILE: bundle/CompleteParameter.vim/doc/complete_parameter.txt ================================================ *complete_parameter* *CompleteParameter* *completeparameter* author: tenfyzhong This help file explains the CompleteParameter Vim Plugin. ================================================================================ Contents: 0. Introduction -------------------------------- |complete-parameter-introduction| 1. Install ------------------------------------- |complete-parameter-install| 2. Usage --------------------------------------- |complete-parameter-usage| 3. Mapping ------------------------------------- |complete-parameter-mapping| 4. Options ------------------------------------- |complete-parameter-options| 5. Functions ----------------------------------- |complete-parameter-functions| 6. Writing Extensions -------------------------- |complete-parameter-extensions| 7. FAQ ----------------------------------------- |complete-parameter-faq| 8. Contributions ------------------------------- |complete-parameter-contributes| 9. Thanks -------------------------------------- |complete-parameter-thanks| 10. LICENSE ------------------------------------ |complete-parameter-license| ================================================================================ 0. Introduction *complete-parameter-introduction* CompletEparameter is a plugin for complete function's parameters after complete a function. - Complete parameters after select a complete item from the completion popup menu. - After complete the parameters, jump to the first parameter and the select it. - Jump to next parameter. - Jump to previous parameter. - Select next overload function. - Select previous overload function. - Select the first item in the completion popup menu. - Echo signature when select an item. (need to `set noshowmode` or `set cmdheight=2`) ================================================================================ 1. Install *complete-parameter-install* I suggest you to use a plugin manager, such vim-plug or other. - [vim-plug](https://github.com/junegunn/vim-plug) > Plug 'tenfyzhong/CompleteParameter.vim' < - Manual > git clone https://github.com/tenfyzhong/CompleteParameter.vim.git ~/.vim/bundle/CompleteParameter.vim echo 'set rtp+=~/.vim/bundle/CompleteParameter.vim' >> ~/.vimrc vim -c 'helptag ~/.vim/bundle/CompleteParameter.vim/doc' -c qa! < ================================================================================ 2. Usage *complete-parameter-usage* Install a complete engine have supported. Goto the completion item of the completion popup menu you want to select, and then type `(`(minimal setting), the parameters will be inserted and select the the first parameter. ``/``(minimal setting) will jump to the next/previous parameter and select it. ## Minimal setting > inoremap ( complete_parameter#pre_complete("()") smap (complete_parameter#goto_next_parameter) imap (complete_parameter#goto_next_parameter) smap (complete_parameter#goto_previous_parameter) imap (complete_parameter#goto_previous_parameter) < ================================================================================ 3. Mapping *complete-parameter-mapping* *(complete_parameter#goto_next_parameter)* `(complete_parameter#goto_next_parameter)` Goto next parameter and select it. eg: > nmap (complete_parameter#goto_next_parameter) imap (complete_parameter#goto_next_parameter) smap (complete_parameter#goto_next_parameter) < *(complete_parameter#goto_previous_parameter)* `(complete_parameter#goto_previous_parameter)` Goto previous parameter and select it. eg: > nmap (complete_parameter#goto_previous_parameter) imap (complete_parameter#goto_previous_parameter) smap (complete_parameter#goto_previous_parameter) < *(complete_parameter#overload_down)* `(complete_parameter#overload_down)` Select next overload function. eg: > nmap (complete_parameter#overload_down) imap (complete_parameter#overload_down) smap (complete_parameter#overload_down) < *(complete_parameter#overload_up)* `(complete_parameter#overload_up)` Select previous overload function. eg: > nmap (complete_parameter#overload_up) imap (complete_parameter#overload_up) smap (complete_parameter#overload_up) < ================================================================================ 4. Options *complete-parameter-options* *g:complete_parameter_log_level* * g:complete_parameter_log_level This option set the log level. 5: disable log. 4: only print **error** log. 2: print **error** and **debug** log. 1: print **error**, **debug**, **trace** Default: 5 > let g:complete_parameter_log_level = 5 < *g:complete_parameter_use_ultisnips_mappings* * g:complete_parameter_use_ultisnips_mappings If this option is 1 and you use ultisnips together, it will use ultisnips mapping to goto next or previous parameter. default: 0 > let g:complete_parameter_use_ultisnips_mapping = 0 < *g:complete_parameter_echo_signature* * g:complete_parameter_echo_signature It will echo signature if this option is 1. (need to `set noshowmode` or `set cmdheight=2`) default: 1 > let g:complete_parameter_echo_signature = 1 < *g:complete_parameter_py_keep_value* * g:complete_parameter_py_keep_value It will keep default value if it this option is 1 for python. For example, if the definition is `def foo(a=1, b=2)`, it will complete `(a=1, b=2)` if its value is 1. Otherwise, it will complete `(a, b)`. If there are `=` in the completion, the jump to action only select the value, but not parameter name. It will select `1` and then `2` in the previous example. default: 1 > let g:complete_parameter_py_keep_value = 1 < *g:complete_parameter_py_remove_default* * g:complete_parameter_py_remove_default It will remove default parametrs if this option is 1 for python. For example, if the definition is `def foo(a, b=1)`, it will complete `(a)` if its value is 1. Otherwise, it will complete `(a, b)`. default: 1 > let g:complete_parameter_py_remove_default = 1 < ================================================================================ 5. Functions *complete-parameter-functions* *cmp#pre_complete* *complete_parameter#pre_complete* `cmp#pre_complete(failed_insert)` `complete_parameter#pre_complete(failed_insert)` deprecated call parameter completion. If failed, the parameter `failed_insert` will be inserted. *cmp#jumpable* *complete_parameter#jumpable* `cmp#jumpable(forward)` `complete_parameter#jumpable(forward)` deprecated can jump to next parameter or not. *CompleteParameterFailed* `CompleteParameterFailed(failed_insert)` You can define this function and process the failed event. The return will be inserted. ================================================================================ 6. Writing Extensions *complete-parameter-extensions* It's easy to writing extensions for languages. Follow the next steps. All commands below was work in this plugin directory. 1) Create a file named `filetype.vim` in path `cm_parser`. For example, write extension for golang. > touch cm_parser/go.vim < 2) Create function: `cm_parser#filetype#parameters(completed_item)` This is the most important function. The parameter `completed_item` is a copy of |v:completed_item|. This function will parse the complete info from the `completed_item` and return the parameters you need to completed. The return must be a list of strings. So the overwrite functions can be returned. For example, a go function like `func Dial(network string, address string) (net.Conn, error)` The function message was stored in the `menu` field of `completed_item` The go no support overwrite. So the result is `['(network, address)']` For another example, the std::vector::erase functor of c++, there are two overwrite functions. The message was stored in the `info` field of `completed_item` `iterator erase( const_iterator __position )` `iterator erase( const_iterator __first, const_iterator __last )` This function will return: `['(__position)', '(__first, __last)']` 3) Create function `cm_parser#filetype#parameter_delim()` This function return the delim of parameters. For example, the go and c++ will return ',' 4) Create function `cm_parser#filetype#parameter_begin()` This function return the border begin of the parameters. For example, the go will return '('. C++ will return '(<', the '<' is the beginning of template parameters. 5) Create function `cm_parser#filetype#parameter_end()` This function return the border end of the parameters. For example, the go will return ')'. C++ will return ')>', the '>' is ending of template parameters. The length of `cm_parser#filetype#parameter_begin()` and `cm_parser#filetype#parameter_end()` must be equal. Each char of them must be match. For example, the the first char of begin is '(', the first of end must be ')'. 6) Create function `cm_parser#filetype#echos(completed_item)` This function return the signatures. When the parameter completed, the signature will echo to cmd window. It's optional. 7) Please write unittest for your function `cm_parser#filetype#parameters` use [vader](https://github.com/junegunn/vader.vim) test framework. And put the unittest in the `vader` directory. This is optional. But if you would send a pull request, this is required. Finally, please send a pull request for me if you would like to share you extension. ================================================================================ 7. FAQ *complete-parameter-faq* 1) Can't work with plugin auto-pairs use the default mapping `(` Because the auto-pairs use `inoremap` to mapping the keys. It can't call this plugin after the auto-pairs process. You can add the following setting to you .vimrc, and it'll work well. > let g:AutoPairs = {'[':']', '{':'}',"'":"'",'"':'"', '`':'`'} inoremap ) =AutoPairsInsert(')') < 2) How to accept the selected function but not parameters You can type `` key to accept the selected function and stop completion. When the popup menu is disappeared, the parameters will not be insert. 3) The mapping `` doesn't jump to the next parameter, but delete the selected words. If you use neosnippet, Please set `g:neosnippet#disable_select_mode_mappings` to 0. It will remove all select mappings. If you don't use neosnippet, please send me a issue, and give me the plugins you are using. ================================================================================ 8. Contributions *complete-parameter-contributes* Contributions and pull requests are welcome. ================================================================================ 9. Thanks *complete-parameter-thanks* - [johnzeng](https://github.com/johnzeng), support erlang ================================================================================ 10. LICENSE *complete-parameter-license* MIT License Copyright (c) 2017 tenfyzhong " vim:ft=help:iskeyword+=-:iskeyword+=58:iskeyword+=# ================================================ FILE: bundle/CompleteParameter.vim/plugin/complete_parameter.vim ================================================ "============================================================== " file: complete_parameter.vim " brief: " VIM Version: 8.0 " author: tenfyzhong " email: tenfy@tenfy.cn " created: 2017-06-07 20:27:49 "============================================================== if (!has('nvim')&&version < 704) || \(!has('nvim')&&version==704&&!has('patch774')) || \&compatible || \exists('g:complete_parameter_version') finish endif let g:complete_parameter_version = "0.8.2" lockvar g:complete_parameter_version let save_cpo = &cpo set cpo&vim call cmp#init() nnoremap (complete_parameter#goto_next_parameter) :call cmp#goto_next_param(1) snoremap (complete_parameter#goto_next_parameter) :call cmp#goto_next_param(1) inoremap (complete_parameter#goto_next_parameter) :call cmp#goto_next_param(1) nnoremap (complete_parameter#goto_previous_parameter) :call cmp#goto_next_param(0) snoremap (complete_parameter#goto_previous_parameter) :call cmp#goto_next_param(0) inoremap (complete_parameter#goto_previous_parameter) :call cmp#goto_next_param(0) nnoremap (complete_parameter#overload_down) :call cmp#overload_next(1) snoremap (complete_parameter#overload_down) :call cmp#overload_next(1) inoremap (complete_parameter#overload_down) :call cmp#overload_next(1) nnoremap (complete_parameter#overload_up) :call cmp#overload_next(0) snoremap (complete_parameter#overload_up) :call cmp#overload_next(0) inoremap (complete_parameter#overload_up) :call cmp#overload_next(0) let &cpo = save_cpo ================================================ FILE: bundle/CompleteParameter.vim/vader/c.vader ================================================ "{{{ycm Execute (error param): let completed_item = {} let result = cm_parser#c#parameters(completed_item) AssertEqual [], result Execute (error param, kind != f): let completed_item = {'kind': 't'} let result = cm_parser#c#parameters(completed_item) AssertEqual [], result Execute (error param, abbr == ''): let completed_item = {'kind': 'f', 'abbr': ''} let result = cm_parser#c#parameters(completed_item) AssertEqual [], result Execute (fun()): let completed_item = {'kind': 'f', 'abbr': 'fun()'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['()'], result Execute (fun(int)): let completed_item = {'kind': 'f', 'abbr': 'fun(int)'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(int)'], result Execute (fun(struct tm *const)): let completed_item = {'kind': 'f', 'abbr': 'fun(struct tm *const)'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(const)'], result Execute (fun(const char *)): let completed_item = {'kind': 'f', 'abbr': 'fun(const char *)'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(char)'], result Execute (fun(const char **)): let completed_item = {'kind': 'f', 'abbr': 'fun(const char **)'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(char)'], result Execute (fun(const char *a, int b)): let completed_item = {'kind': 'f', 'abbr': 'fun(const char *a, int b)'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (fun( const struct tm *restrict, char *restrict )): let completed_item = {'kind': 'f', 'abbr': 'fun( const struct tm *restrict, char *restrict )'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(restrict, restrict)'], result Execute (CMP, kind: m): let completed_item = {'word': 'CMP', 'menu': '', 'info': ' CMP( a, b )^@', 'kind': 'm', 'abbr': 'CMP( a, b )'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(a, b)'], result "}}} "{{{ deoplete Execute (fun()): let completed_item = {'kind': 'f void', 'abbr': 'fun()', 'word': 'fun', 'menu': '[clang] '} let result = cm_parser#c#parameters(completed_item) AssertEqual ['()'], result Execute (fun(int)): let completed_item = {'kind': 'f void', 'abbr': 'fun(int)', 'word': 'fun', 'menu': '[clang] '} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(int)'], result Execute (fun(struct tm *const)): let completed_item = {'kind': 'f', 'abbr': 'fun(struct tm *const)', 'word': 'fun', 'menu': '[clang] '} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(const)'], result Execute (fun(const char *)): let completed_item = {'kind': 'f void', 'abbr': 'fun(const char *)', 'word': 'fun', 'menu': '[clang] '} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(char)'], result Execute (fun(const char **)): let completed_item = {'kind': 'f void', 'abbr': 'fun(const char **)', 'word': 'fun', 'menu': '[clang] '} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(char)'], result Execute (fun(const char *a, int b)): let completed_item = {'kind': 'f void', 'abbr': 'fun(const char *a, int b)', 'word': 'fun', 'menu': '[clang] '} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (fun( const struct tm *restrict, char *restrict )): let completed_item = {'kind': 'f void', 'abbr': 'fun( const struct tm *restrict, char *restrict )', 'word': 'fun', 'menu': '[clang] '} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(restrict, restrict)'], result "}}} "{{{ clang_complete Execute (fun()): let completed_item = {'kind': 'f', 'menu': 'void fun()', 'word': 'fun', 'abbr': 'fun'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['()'], result Execute (fun(int)): let completed_item = {'kind': 'f', 'menu': 'void fun(int)', 'word': 'fun', 'abbr': 'fun'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(int)'], result Execute (fun(struct tm *const)): let completed_item = {'kind': 'f', 'menu': 'void fun(struct tm *const)', 'word': 'fun', 'abbr': 'fun'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(const)'], result Execute (fun(const char *)): let completed_item = {'kind': 'f', 'menu': 'void fun(const char *)', 'word': 'fun', 'abbr': 'fun'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(char)'], result Execute (fun(const char *a, int b)): let completed_item = {'kind': 'f', 'menu': 'void fun(const char *a, int b)', 'word': 'fun', 'abbr': 'fun'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (fun(const char **)): let completed_item = {'kind': 'f', 'menu': 'void fun(const char **)', 'word': 'fun', 'abbr': 'fun'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(char)'], result Execute (fun( const struct tm *restrict, char *restrict )): let completed_item = {'kind': 'f', 'menu': 'void fun( const struct tm *restrict, char *restrict )', 'word': 'fun', 'abbr': 'fun'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(restrict, restrict)'], result Execute (coc.nvim + ccls): let completed_item = {'word': 'fun', 'menu': '[LS]', 'user_data': '{"cid":1578967270,"source":"languageserver.ccls","index":0}', 'info': '', 'kind': 'f', 'abbr': 'fun(int x, int y) -> int~'} let result = cm_parser#c#parameters(completed_item) AssertEqual ['(x, y)'], result "}}} ================================================ FILE: bundle/CompleteParameter.vim/vader/complete.vader ================================================ Before: inoremap ( cmp#pre_complete("()") Given go (func haha): func haha Do: 9|a( Expect go (): func haha() Then: AssertEqual 10, col('.') ================================================ FILE: bundle/CompleteParameter.vim/vader/cpp.vader ================================================ "{{{ycm Execute (error completed_item): let completed_item = {} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (error completed_item, kind: t): let completed_item = {'kind': 't'} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (error completed_item, word empty): let completed_item = {'kind': 'f', 'word': ''} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (error completed_item, word info): let completed_item = {'kind': 'f', 'word': 'empty'} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (vector::empty()): let completed_item = {'kind': 'f', 'word': 'empty', 'info': "bool empty() const\n"} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['()'], result Execute (vector::operator=): let completed_item = {'kind': 'f', 'word': 'operator=', 'info': "std::vector > & operator=( const std::vector > &__x )"} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(__x)'], result Execute (vector::vector): let completed_item = {'kind': 'f', 'word': 'vector', 'info': "void vector( _InputIterator __first, typename enable_if<__is_input_iterator<_InputIterator>::value && !__is_forward_iterator<_InputIterator>::value && is_constructible::reference>::value, _InputIterator>::type __last )\nvoid vector( _InputIterator __first, _InputIterator __last, const allocator_type &__a, typename enable_if<__is_input_iterator<_InputIterator>::value && !__is_forward_iterator<_InputIterator>::value && is_constructible::reference>::value>::type * )"} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(__first, __last)', '(__first, __last, __a, *)'], result Execute (ctime::time): let completed_item = {'kind':'f', 'word': 'time', 'info': 'time_t time( time_t * )'} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(*)'], result Execute (vector, kind: c): let completed_item = {'kind': 'c', 'word': 'vector', 'info': "vector\n"} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['<_Tp, _Alloc>'], result Execute (std::error_code, kind: c): let completed_item = {'kind': 'c', 'word': 'error_code', 'info': "error_code"} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (std:: error_code, kind: c): let completed_item = {'kind': 'c', 'word': 'error_code', 'info': " error_code"} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (CMP, kind: m): let completed_item = {'word': 'CMP', 'menu': '', 'info': ' CMP( a, b )^@', 'kind': 'm', 'abbr': 'CMP( a, b )'} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (include default func value): let completed_item = {'word': 'test', 'menu': 'void', 'info': 'void test(int a, int b = func() )', 'kind': 'f', 'abbr': 'test( int a, int b = func() )'} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (include default value): let completed_item = {'word': 'test1', 'menu': 'void', 'info': 'void test1( int a, int b = 1 )', 'kind': 'f', 'abbr': 'test1( int a, int b = 1 )'} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(a, b)'], result "}}} "{{{deoplete Execute (error completed_item, word empty): let completed_item = {'kind': 'f void', 'word': ''} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (error completed_item, word info): let completed_item = {'kind': 'f void', 'word': 'empty'} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (vector::empty()): let completed_item = {'kind': 'f bool', 'word': 'empty', 'info': "bool empty() const", 'menu': '[clang] '} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['()'], result Execute (vector::operator=): let completed_item = {'kind': 'f std::vector > &', 'word': 'operator=', 'info': "std::vector > & operator=( const std::vector > &__x )", 'menu': '[clang] '} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(__x)'], result Execute (vector::vector): let completed_item = {'kind': 'f', 'word': 'vector', 'info': "void vector( _InputIterator __first, typename enable_if<__is_input_iterator<_InputIterator>::value && !__is_forward_iterator<_InputIterator>::value && is_constructible::reference>::value, _InputIterator>::type __last )\nvoid vector( _InputIterator __first, _InputIterator __last, const allocator_type &__a, typename enable_if<__is_input_iterator<_InputIterator>::value && !__is_forward_iterator<_InputIterator>::value && is_constructible::reference>::value>::type * )", 'menu': '[clang] '} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(__first, __last)', '(__first, __last, __a, *)'], result Execute (ctime::time): let completed_item = {'kind':'f time_t', 'word': 'time', 'info': 'time_t time( time_t * )', 'menu': '[clang] '} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['(*)'], result Execute (vector, kind: p): let completed_item = {'kind': 'p ', 'word': 'vector', 'info': "vector\n", 'menu': '[clang] '} let result = cm_parser#cpp#parameters(completed_item) AssertEqual ['<_Tp, _Alloc>'], result Execute (std::error_code, kind: p): let completed_item = {'kind': 'p ', 'word': 'error_code', 'info': "error_code", 'menu': '[clang] '} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result Execute (std:: error_code, kind: p): let completed_item = {'kind': 'p ', 'word': 'error_code', 'info': " error_code", 'menu': '[clang] '} let result = cm_parser#cpp#parameters(completed_item) AssertEqual [], result "}}} ================================================ FILE: bundle/CompleteParameter.vim/vader/erlang.vader ================================================ Execute (func() -> undefined): let completed_item = {'info': 'func() -> undefined'} let result = cm_parser#erlang#parameters(completed_item) AssertEqual ['()'], result Execute (func(foo) -> ran()): let completed_item = {'info': 'func(foo) -> ran()'} let result = cm_parser#erlang#parameters(completed_item) AssertEqual ['(foo)'], result Execute (func(foo, bar) -> undefined | ran()): let completed_item = {'info': 'func(foo, bar) -> undefined | ran()'} let result = cm_parser#erlang#parameters(completed_item) AssertEqual ['(foo, bar)'], result ================================================ FILE: bundle/CompleteParameter.vim/vader/go.vader ================================================ "{{{ youcomplete Execute (func()): let completed_item = {'menu': 'func()', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['()'], result Execute (func(a)): let completed_item = {'menu': 'func(a)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a int)): let completed_item = {'menu': 'func(a int)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a net.Conn)): let completed_item = {'menu': 'func(a net.Conn)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a net.Conn, b, c int)): let completed_item = {'menu': 'func(a net.Conn, b, c int)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) error): let completed_item = {'menu': 'func(a net.Conn, b, c int) error', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) (int, error)): let completed_item = {'menu': 'func(a net.Conn, b, c int) (int, error)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b, c int) (a int, err error)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func()int, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func()int, c int) (a int, err error)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func() int, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func() int, c int) (a int, err error)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a int) int, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func(a int) int, c int) (a int, err error)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a int), c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func(a int), c int) (a int, err error)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a func(a int) float) string, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func(a func(a int) float) string, c int) (a int, err error)', 'kind': 'f'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result "}}} "{{{ completor Execute (func()): let completed_item = {'menu': 'func()'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['()'], result Execute (func(a)): let completed_item = {'menu': 'func(a)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a int)): let completed_item = {'menu': 'func(a int)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a net.Conn)): let completed_item = {'menu': 'func(a net.Conn)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a net.Conn, b, c int)): let completed_item = {'menu': 'func(a net.Conn, b, c int)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) error): let completed_item = {'menu': 'func(a net.Conn, b, c int) error'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) (int, error)): let completed_item = {'menu': 'func(a net.Conn, b, c int) (int, error)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b, c int) (a int, err error)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func()int, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func()int, c int) (a int, err error)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func() int, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func() int, c int) (a int, err error)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a int) int, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func(a int) int, c int) (a int, err error)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a int), c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func(a int), c int) (a int, err error)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a func(a int) float) string, c int) (a int, err error)): let completed_item = {'menu': 'func(a net.Conn, b func(a func(a int) float) string, c int) (a int, err error)'} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result "}}} "{{{ neocomplete Execute (func Scan()): let completed_item = {'info': 'func Scan()', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['()'], result Execute (func Scan(a)): let completed_item = {'info': 'func Scan(a)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func Scan(a int)): let completed_item = {'info': 'func Scan(a int)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func Scan(a net.Conn)): let completed_item = {'info': 'func Scan(a net.Conn)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func Scan(a net.Conn, b, c int)): let completed_item = {'info': 'func Scan(a net.Conn, b, c int)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func Scan(a net.Conn, b, c int) error): let completed_item = {'info': 'func Scan(a net.Conn, b, c int) error', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func Scan(a net.Conn, b, c int) (int, error)): let completed_item = {'info': 'func Scan(a net.Conn, b, c int) (int, error)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func Scan(a net.Conn, b, c int) (a int, err error)): let completed_item = {'info': 'func Scan(a net.Conn, b, c int) (a int, err error)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func()int, c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func()int, c int) (a int, err error)', 'word': 'fun('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func() int, c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func() int, c int) (a int, err error)', 'word': 'func('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a int) int, c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func(a int) int, c int) (a int, err error)', 'word': 'func('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a int), c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func(a int), c int) (a int, err error)', 'word': 'func('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a func(a int) float) string, c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func(a func(a int) float) string, c int) (a int, err error)', 'word': 'func('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result "}}} "{{{ deoplete Execute (func()): let completed_item = {'info': 'func()', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['()'], result Execute (func(a)): let completed_item = {'info': 'func(a)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a int)): let completed_item = {'info': 'func(a int)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a net.Conn)): let completed_item = {'info': 'func(a net.Conn)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a)'], result Execute (func(a net.Conn, b, c int)): let completed_item = {'info': 'func(a net.Conn, b, c int)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) error): let completed_item = {'info': 'func(a net.Conn, b, c int) error', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) (int, error)): let completed_item = {'info': 'func(a net.Conn, b, c int) (int, error)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b, c int) (a int, err error)): let completed_item = {'info': 'func(a net.Conn, b, c int) (a int, err error)', 'word': 'Scan('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func()int, c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func()int, c int) (a int, err error)', 'word': 'fun('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func() int, c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func() int, c int) (a int, err error)', 'word': 'func('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a int) int, c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func(a int) int, c int) (a int, err error)', 'word': 'func('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a int), c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func(a int), c int) (a int, err error)', 'word': 'func('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result Execute (func(a net.Conn, b func(a func(a int) float) string, c int) (a int, err error)): let completed_item = {'info': 'func fun(a net.Conn, b func(a func(a int) float) string, c int) (a int, err error)', 'word': 'func('} let result = cm_parser#go#parameters(completed_item) AssertEqual ['(a, b, c)'], result "}}} ================================================ FILE: bundle/CompleteParameter.vim/vader/goto_parameter.vader ================================================ Before: smap (complete_parameter#goto_next_parameter) imap (complete_parameter#goto_next_parameter) nmap (complete_parameter#goto_next_parameter) smap (complete_parameter#goto_previous_parameter) imap (complete_parameter#goto_previous_parameter) nmap (complete_parameter#goto_previous_parameter) "{{{ forward Given go(no jump): fmt.Printf Do: 1gg5|\ Then: AssertEqual 'n', mode() let col = col('.') AssertEqual 5, col Given go(goto end): fmt.Printf() Do: 1gg5|\ Then: AssertEqual 'n', mode() let col = col('.') AssertEqual 5, col Given go(fmt.Printf(format, a), 10, goto format): fmt.Printf(format, a) Do: 1gg10|\ Then: AssertEqual 'n', mode() let start = col('.') AssertEqual 10, start Given go(fmt.Printf(format, a), 11, goto format): fmt.Printf(format, a) Do: 1gg11|\ Then: AssertEqual 's', mode() let start = col('v') AssertEqual 12, start let end = col('.') AssertEqual 17, end Given go(fmt.Printf(format, a), 12, goto a): fmt.Printf(format, a) Do: 1gg12|\ Then: AssertEqual 's', mode() let start = col('v') AssertEqual 20, start let end = col('.') AssertEqual 20, end Given go(fmt.Printf(format, a), 20, goto end): fmt.Printf(format, a) Do: 1gg20|\ Then: AssertEqual 'n', mode() let end = col('.') AssertEqual 21, end "}}} "{{{ backward Given go(no jump): fmt.Printf Do: 1gg5|\ Then: AssertEqual 'n', mode() let col = col('.') AssertEqual 5, col Given go(goto end): fmt.Printf() Do: 1gg12|\ Then: AssertEqual 'n', mode() let col = col('.') AssertEqual 12, col Given go(fmt.Printf(format, a), 21, goto a): fmt.Printf(format, a) Do: 1gg21|\ Then: AssertEqual 's', mode() let start = col('v') AssertEqual 20, start let end = col('.') AssertEqual 20, end Given go(fmt.Printf(format, a), 20, goto format): fmt.Printf(format, a) Do: 1gg20|\ Then: AssertEqual 's', mode() let start = col('v') AssertEqual 12, start let end = col('.') AssertEqual 17, end Given go(fmt.Printf(format, a), 12, no jump): fmt.Printf(format, a) Do: 1gg12|\ Then: AssertEqual 'n', mode() let end = col('.') AssertEqual 12, end Given javascript(a.fun({format, a}), select {}, jump to format): a.fun({format, a}) Do: 1gg7|v10l\\ Then: AssertEqual 's', mode() let start = col('v') AssertEqual 8, start let end = col('.') AssertEqual 13, end "}}} ================================================ FILE: bundle/CompleteParameter.vim/vader/javascript.vader ================================================ "{{{ycm Execute (error menu): let completed_item = {'menu': 'number'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual [], result Execute (fn()): let completed_item = {'menu': 'fn()'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['()'], result Execute (fn(other: [?])): let completed_item = {'menu': 'fn(other: [?])'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['(other)'], result Execute (fn(other?: string) -> string): let completed_item = {'menu': 'fn(other?: string) -> string'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['(other)'], result Execute (fn(other: ?) -> string): let completed_item = {'menu': 'fn(other: ?) -> string'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['(other)'], result Execute (fn(test: fn(elt: ?, i: number, array: Array) -> bool, context?: ?) -> bool): let completed_item = {'menu': 'fn(test: fn(elt: ?, i: number, array: Array) -> bool, context?: ?) -> bool'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['(test, context)'], result Execute (fn(test: {elt: string, i: number, array: Array}, context?: ?) -> bool): let completed_item = {'menu': 'fn(test: fn(elt: ?, i: number, array: Array) -> bool, context?: ?) -> bool'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['(test, context)'], result Execute (fn(options: {compressible: bool, extensions: [?], register: ?, source: string, type: string})): let completed_item = {'menu': 'fn(options: {compressible: bool, extensions: [?], register: ?, source: string, type: string})'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['({compressible, extensions, register, source, type})'], result Execute (fn({compressible, extensions, register, source, type}: {compressible: bool, extensions: [?], register: ?, source: string, type: string})): let completed_item = {'menu': 'fn(options: {compressible: bool, extensions: [?], register: ?, source: string, type: string})'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['({compressible, extensions, register, source, type})'], result Execute (add(, omni): let completed_item = {'word': 'add(', 'menu': 'a, b', 'info': '', 'kind': 'f', 'abbr': ''} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['(a, b)'], result "}}} "{{{ deoplete Execute (error menu): let completed_item = {"info": "number"} let result = cm_parser#javascript#parameters(completed_item) AssertEqual [], result Execute (fn()): let completed_item = {"info": "fn()\nfsaf"} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ["()"], result Execute (fn(other: [?])): let completed_item = {"info": "fn(other: [?]\n)->faf"} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ["(other)"], result Execute (fn(other?: string) -> string): let completed_item = {"info": "fn(other?: string\n) -> string"} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ["(other)"], result Execute (fn(other: ?) -> string): let completed_item = {"info": "fn(other: ?) -> string"} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ["(other)"], result Execute (fn(test: fn(elt: ?, i: number, array: Array) -> bool, context?: ?) -> bool): let completed_item = {"info": "fn(test: fn(elt: ?, i: number, array: Array) -> bool, \ncontext?: ?) -> bool"} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ["(test, context)"], result Execute (fn(test: {elt: number, i: number, array: Array}, context?: ?) -> bool): let completed_item = {"info": "fn(test: fn(elt: ?, i: number, array: Array) -> bool, \ncontext?: ?) -> bool"} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ["(test, context)"], result Execute (fn(options: {compressible: bool, extensions: [?], register: ?, source: string, type: string})): let completed_item = {'info': 'fn(options: {compressible: bool, extensions: [?], register: ?, source: string, type: string})'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['({compressible, extensions, register, source, type})'], result Execute (fn({compressible, extensions, register, source, type}: {compressible: bool, extensions: [?], register: ?, source: string, type: string})): let completed_item = {'info': 'fn(options: {compressible: bool, extensions: [?], register: ?, source: string, type: string})'} let result = cm_parser#javascript#parameters(completed_item) AssertEqual ['({compressible, extensions, register, source, type})'], result "}}} ================================================ FILE: bundle/CompleteParameter.vim/vader/jumpable.vader ================================================ Given go(1): a Execute: call cursor(1, 1) AssertEqual 0, cmp#jumpable(1) AssertEqual 0, cmp#jumpable(0) Given go(2): func a() Execute: call cursor(1, 6) AssertEqual 0, cmp#jumpable(1) AssertEqual 1, cmp#jumpable(0) call cursor(1, 7) AssertEqual 1, cmp#jumpable(1) AssertEqual 1, cmp#jumpable(0) Given go(3): func a(a) Execute: call cursor(1, 8) AssertEqual 1, cmp#jumpable(1) AssertEqual 1, cmp#jumpable(0) Given go(3): func a(a, b) Execute: call cursor(1, 8) AssertEqual 1, cmp#jumpable(1) AssertEqual 1, cmp#jumpable(0) ================================================ FILE: bundle/CompleteParameter.vim/vader/next_overload_content.vader ================================================ Execute (items empty): let result = cmp#next_overload_content([], 0, '', [0, 1, 2, 0], 1) AssertEqual [0], result Execute (1 item): let items = ['()'] let current_index = 0 let current_line = 'hello()' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 1) AssertEqual [0], result Execute (0->1): let items = ['()', '(a)', '(b)'] let current_index = 0 let current_line = 'hello()' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 1) AssertEqual [1, '(a)', 1, 2], result Execute (1->2): let items = ['()', '(a)', '(b)'] let current_index = 1 let current_line = 'hello(a)' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 1) AssertEqual [1, '(b)', 2, 3], result Execute (2->0): let items = ['()', '(a)', '(b)'] let current_index = 2 let current_line = 'hello(b)' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 1) AssertEqual [1, '()', 0, 3], result Execute (0->2): let items = ['()', '(a)', '(b)'] let current_index = 0 let current_line = 'hello()' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 0) AssertEqual [1, '(b)', 2, 2], result Execute (2->1): let items = ['()', '(a)', '(b)'] let current_index = 2 let current_line = 'hello(b)' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 0) AssertEqual [1, '(a)', 1, 3], result Execute (1->0): let items = ['()', '(a)', '(b)'] let current_index = 1 let current_line = 'hello(a)' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 0) AssertEqual [1, '()', 0, 3], result ================================================ FILE: bundle/CompleteParameter.vim/vader/parameter_position.vader ================================================ Before: let g:complete_parameter_log_level = 5 call cmp#init() " {{{ parameter checker Execute (empty content): let result = cmp#parameter_position('', 0, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (zero current_col): let result = cmp#parameter_position('hello', 0, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (empty delim): let result = cmp#parameter_position('hello', 1, '', '(', ')', 1) AssertEqual [0, 0], result Execute (empty border_begin): let result = cmp#parameter_position('hello', 1, ',', '', ')', 1) AssertEqual [0, 0], result Execute (empty border_end): let result = cmp#parameter_position('hello', 1, ',', '(', '', 1) AssertEqual [0, 0], result Execute (empty border_end): let result = cmp#parameter_position('hello', 1, ',', '(', ')', 0) AssertEqual [0, 0], result Execute (error cul): let result = cmp#parameter_position('hello', 6, ',', '(', ')', 1) AssertEqual [0, 0], result "}}} " no parameter {{{ Execute (has no paramameter): let result = cmp#parameter_position('hello', 1, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (has no paramameter backword): let result = cmp#parameter_position('hello', 2, ',', ')', '(', -1) AssertEqual [0, 0], result " }}} " zero parameter {{{ Execute (hello(), 1): let result = cmp#parameter_position('hello()', 1, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (hello(), 1, -1): let result = cmp#parameter_position('hello()', 5, ',', ')', '(', -1) AssertEqual [0, 0], result Execute (hello(), 6): let result = cmp#parameter_position('hello()', 6, ',', '(', ')', 1) AssertEqual [7, 7], result Execute (hello(), 6, -1): let result = cmp#parameter_position('hello()', 6, ',', ')', '(', -1) AssertEqual [6, 6], result Execute (hello(), 7): let result = cmp#parameter_position('hello()', 7, ',', '(', ')', 1) AssertEqual [7, 7], result Execute (hello(), 7, -1): let result = cmp#parameter_position('hello()', 7, ',', ')', '(', -1) AssertEqual [6, 6], result Execute (hello( ), 5): let result = cmp#parameter_position('hello( )', 5, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (hello() , 8, -1): let result = cmp#parameter_position('hello() ', 8, ',', ')', '(', -1) AssertEqual [0, 0], result Execute (hello( ), 6): let result = cmp#parameter_position('hello( )', 6, ',', '(', ')', 1) AssertEqual [8, 8], result Execute (hello( ), 7): let result = cmp#parameter_position('hello( )', 7, ',', '(', ')', 1) AssertEqual [8, 8], result Execute (hello( ), 8): let result = cmp#parameter_position('hello( )', 8, ',', '(', ')', 1) AssertEqual [8, 8], result " }}} " one parameter {{{ Execute (hello(a), 5): let result = cmp#parameter_position('hello(a)', 5, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (hello(a), 8, -1): let result = cmp#parameter_position('hello(a)', 8, ',', ')', '(', -1) AssertEqual [7, 8], result Execute (hello(a), 6): let result = cmp#parameter_position('hello(a)', 6, ',', '(', ')', 1) AssertEqual [7, 8], result Execute (hello(a) , 9, -1): let result = cmp#parameter_position('hello(a) ', 9, ',', ')', '(', -1) AssertEqual [0, 0], result Execute (hello(a), 7): let result = cmp#parameter_position('hello(a)', 7, ',', '(', ')', 1) AssertEqual [8, 8], result Execute (hello( a), 5): let result = cmp#parameter_position('hello( a)', 5, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (hello( a) , 9, -1): let result = cmp#parameter_position('hello( a) ', 9, ',', ')', '(', -1) AssertEqual [8, 9], result Execute (hello( a), 6): let result = cmp#parameter_position('hello( a)', 6, ',', '(', ')', 1) AssertEqual [8, 9], result Execute (hello( a), 7): let result = cmp#parameter_position('hello( a)', 7, ',', '(', ')', 1) AssertEqual [9, 9], result Execute (hello( a), 8): let result = cmp#parameter_position('hello( a)', 8, ',', '(', ')', 1) AssertEqual [9, 9], result Execute (hello( a), 9): let result = cmp#parameter_position('hello( a)', 9, ',', '(', ')', 1) AssertEqual [9, 9], result Execute (hello( a ), 5): let result = cmp#parameter_position('hello( a )', 5, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (hello( a ) , 10, -1): let result = cmp#parameter_position('hello( a ) ', 10, ',', ')', '(', -1) AssertEqual [8, 9], result Execute (hello( a ), 6): let result = cmp#parameter_position('hello( a )', 6, ',', '(', ')', 1) AssertEqual [8, 9], result Execute (hello( a ) , 9, -1): let result = cmp#parameter_position('hello( a ) ', 9, ',', ')', '(', -1) AssertEqual [6, 6], result Execute (hello( a ), 7): let result = cmp#parameter_position('hello( a )', 7, ',', '(', ')', 1) AssertEqual [10, 10], result Execute (hello(aa), 5): let result = cmp#parameter_position('hello(aa)', 5, ',', '(', ')', 1) let g:complete_parameter_jump_in_scope = 0 AssertEqual [0, 0], result Execute (hello(aa) , 9, -1): let result = cmp#parameter_position('hello(aa) ', 9, ',', ')', '(', -1) AssertEqual [7, 9], result Execute (hello(aa), 6): let result = cmp#parameter_position('hello(aa)', 6, ',', '(', ')', 1) AssertEqual [7, 9], result Execute (hello(aa), 7): let result = cmp#parameter_position('hello(aa)', 7, ',', '(', ')', 1) AssertEqual [9, 9], result " }}} " 2 parameter {{{ Execute (hello(aa, bb), 5): let result = cmp#parameter_position('hello(aa, bb)', 5, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (hello(aa, bb), 13, -1): let result = cmp#parameter_position('hello(aa, bb)', 13, ',', ')', '(', -1) AssertEqual [11, 13], result Execute (hello(aa, bb), 6): let result = cmp#parameter_position('hello(aa, bb)', 6, ',', '(', ')', 1) AssertEqual [7, 9], result Execute (hello(aa, bb), 11, -1): let result = cmp#parameter_position('hello(aa, bb)', 11, ',', ')', '(', -1) AssertEqual [7, 9], result Execute (hello(aa, bb), 7): let result = cmp#parameter_position('hello(aa, bb)', 7, ',', '(', ')', 1) AssertEqual [11, 13], result Execute (hello(aa, bb), 9): let result = cmp#parameter_position('hello(aa, bb)', 9, ',', '(', ')', 1) AssertEqual [11, 13], result Execute (hello(aa, bb), 10): let result = cmp#parameter_position('hello(aa, bb)', 10, ',', '(', ')', 1) AssertEqual [13, 13], result " }}} " 3 parameter {{{ Execute (hello(aa, bb, cccc), 7): let result = cmp#parameter_position('hello(aa, bb, cccc)', 7, ',', '(', ')', 1) AssertEqual [11, 13], result Execute (hello(aa, bb, cccc), 19, -1): let result = cmp#parameter_position('hello(aa, bb, cccc)', 19, ',', ')', '(', -1) AssertEqual [15, 19], result Execute (hello(aa, bb, cccc), 11): let result = cmp#parameter_position('hello(aa, bb, cccc)', 11, ',', '(', ')', 1) AssertEqual [15, 19], result Execute (hello(aa, bb, cccc), 15, -1): let result = cmp#parameter_position('hello(aa, bb, cccc)', 15, ',', ')', '(', -1) AssertEqual [11, 13], result Execute (hello(aa, bb, cccc), 15): let result = cmp#parameter_position('hello(aa, bb, cccc)', 15, ',', '(', ')', 1) AssertEqual [19, 19], result " }}} " param with () {{{ Execute (hello(foo()), 1): let result = cmp#parameter_position('hello(foo())', 1, ',', '(', ')', 1) AssertEqual [0, 0], result Execute (hello(foo()), 12, -1): let result = cmp#parameter_position('hello(foo())', 12, ',', ')', '(', -1) AssertEqual [7, 12], result Execute (hello(foo()), 6): let result = cmp#parameter_position('hello(foo())', 6, ',', '(', ')', 1) AssertEqual [7, 12], result Execute (hello(foo()), 11, -1): let result = cmp#parameter_position('hello(foo())', 11, ',', ')', '(', -1) AssertEqual [10, 10], result Execute (hello(foo()), 7): let result = cmp#parameter_position('hello(foo())', 7, ',', '(', ')', 1) AssertEqual [11, 11], result Execute (hello(foo()), 10, -1): let result = cmp#parameter_position('hello(foo())', 10, ',', ')', '(', -1) AssertEqual [6, 6], result Execute (hello(foo()), 11): let result = cmp#parameter_position('hello(foo())', 11, ',', '(', ')', 1) AssertEqual [12, 12], result Execute (hello(foo(bar)), 6): let result = cmp#parameter_position('hello(foo(bar))', 6, ',', '(', ')', 1) AssertEqual [7, 15], result Execute (hello(foo(bar)), 15, -1): let result = cmp#parameter_position('hello(foo(bar))', 15, ',', ')', '(', -1) AssertEqual [7, 15], result Execute (hello(foo(bar)), 7): let result = cmp#parameter_position('hello(foo(bar))', 7, ',', '(', ')', 1) AssertEqual [11, 14], result Execute (hello(foo(bar)), 13, -1): let result = cmp#parameter_position('hello(foo(bar))', 13, ',', ')', '(', -1) AssertEqual [6, 6], result Execute (hello(foo(bar)), 11): let result = cmp#parameter_position('hello(foo(bar))', 11, ',', '(', ')', 1) AssertEqual [15, 15], result Execute (hello(a, foo(bar)), 7): let result = cmp#parameter_position('hello(a, foo(bar))', 7, ',', '(', ')', 1) AssertEqual [10, 18], result Execute (hello(a, foo(bar)), 13, -1): let result = cmp#parameter_position('hello(a, foo(bar))', 13, ',', ')', '(', -1) AssertEqual [7, 8], result Execute (hello(a, foo(bar)), 8): let result = cmp#parameter_position('hello(a, foo(bar))', 8, ',', '(', ')', 1) AssertEqual [10, 18], result Execute (hello(a, foo(bar)), 9): let result = cmp#parameter_position('hello(a, foo(bar))', 9, ',', '(', ')', 1) AssertEqual [14, 17], result Execute (hello(a, foo(bar), b), 14): let result = cmp#parameter_position('hello(a, foo(bar), b)', 14, ',', '(', ')', 1) AssertEqual [20, 21], result Execute (hello(a, foo(bar), b), 7): let result = cmp#parameter_position('hello(a, foo(bar), b)', 7, ',', '(', ')', 1) AssertEqual [10, 18], result Execute (hello(a, foo(bar, world), b), 7): let result = cmp#parameter_position('hello(a, foo(bar, world), b)', 7, ',', '(', ')', 1) AssertEqual [10, 25], result Execute (hello(a, foo(bar, world)(g, h), b), 7): let result = cmp#parameter_position('hello(a, foo(bar, world)(g, h), b)', 7, ',', '(', ')', 1) AssertEqual [10, 31], result Execute (hello(a, foo(bar, world)(g, h)(i, j), b), 7): let result = cmp#parameter_position('hello(a, foo(bar, world)(g, h)(i, j), b)', 7, ',', '(', ')', 1) AssertEqual [10, 37], result " }}} " param has quote {{{ Execute (hello(aa, "(", ccc), 7): let result = cmp#parameter_position('hello(aa, "(", ccc)', 7, ',', '(', ')', 1) AssertEqual [11, 14], result Execute (hello(aa, "(", ccc), 16, -1): let result = cmp#parameter_position('hello(aa, "(", ccc)', 16, ',', ')', '(', -1) AssertEqual [11, 14], result Execute (hello(aa, "(", ccc), 10): let result = cmp#parameter_position('hello(aa, "(", ccc)', 10, ',', '(', ')', 1) AssertEqual [16, 19], result Execute (hello(aa, "(", ccc), 10, -1): let result = cmp#parameter_position('hello(aa, "(", ccc)', 10, ',', ')', '(', -1) AssertEqual [7, 9], result Execute (hello(aa, "(", ccc), 11): let result = cmp#parameter_position('hello(aa, "(", ccc)', 11, ',', '(', ')', 1) AssertEqual [16, 19], result Execute (hello(aa, "(", ccc), 12): let result = cmp#parameter_position('hello(aa, "(", ccc)', 12, ',', '(', ')', 1) AssertEqual [16, 19], result Execute (hello(aa, "(", ccc), 13): let result = cmp#parameter_position('hello(aa, "(", ccc)', 13, ',', '(', ')', 1) AssertEqual [16, 19], result Execute (hello(aa, "(\"", ccc)): let result = cmp#parameter_position('hello(aa, "(\"", ccc)', 7, ',', '(', ')', 1) AssertEqual [11, 16], result Execute (hello(aa, "(\"", ccc), 18, -1): let result = cmp#parameter_position('hello(aa, "(\"", ccc)', 18, ',', ')', '(', -1) AssertEqual [11, 16], result Execute (hello(`a""a`, "(\"", "ccc", d), 24): let result = cmp#parameter_position('hello(`a""a`, "(\"", "ccc", d)', 24, ',', '(', ')', 1) AssertEqual [29, 30], result Execute (hello(`a"'a`, "(\"", "ccc", d), 24): let result = cmp#parameter_position('hello(`a"''a`, "(\"", "ccc", d)', 24, ',', '(', ')', 1) AssertEqual [29, 30], result Execute (fmt.Fscanf("%s %s", "hello", "world"), jump to hello): let i = 12 while i <= 19 let result = cmp#parameter_position('fmt.Fscanf("%s %s", "hello", "world")', i, ',', '(', ')', 1) AssertEqual [21, 28], result let i += 1 endwhile Execute (fmt.Fscanf("%s %s", "hello", "world"), jump to world): let i = 21 while i <= 28 let result = cmp#parameter_position('fmt.Fscanf("%s %s", "hello", "world")', i, ',', '(', ')', 1) AssertEqual [30, 37], result let i += 1 endwhile Execute (fmt.Fscanf("%s %s", "hello", "world"), jump to end): let i = 30 while i <= 36 let result = cmp#parameter_position('fmt.Fscanf("%s %s", "hello", "world")', i, ',', '(', ')', 1) AssertEqual [37, 37], result let i += 1 endwhile Execute (fmt.Fscanf("%s %s", "hello", "world"), jump to world, -1): let result = cmp#parameter_position('fmt.Fscanf("%s %s", "hello", "world")', 37, ',', ')', '(', -1) AssertEqual [30, 37], result Execute (fmt.Fscanf("%s %s", "hello", "world"), jump to hello, -1): let i = 30 while i < 37 let result = cmp#parameter_position('fmt.Fscanf("%s %s", "hello", "world")', i, ',', ')', '(', -1) AssertEqual [21, 28], result let i += 1 endwhile Execute (fmt.Fscanf("%s %s", "hello", "world"), jump to "%s %s", -1): let i = 21 while i < 28 let result = cmp#parameter_position('fmt.Fscanf("%s %s", "hello", "world")', i, ',', ')', '(', -1) AssertEqual [12, 19], result let i += 1 endwhile "}}} " {{{param has <> Execute (hello, 1): let result = cmp#parameter_position('hello', 1, ',', "(<", ")>", 1) AssertEqual [0, 0], result Execute (hello, 7): let result = cmp#parameter_position('hello', 7, ',', "(<", ")>", 1) AssertEqual [10, 11], result Execute (hello, 7): let result = cmp#parameter_position('hello', 7, ',', "(<", ")>", 1) AssertEqual [10, 11], result Execute (hello(c, d), 10): let result = cmp#parameter_position('hello(c, d)', 10, ',', "(<", ")>", 1) AssertEqual [13, 14], result Execute (hello(c, d, func(g, h, i))), 16): let result = cmp#parameter_position('hello(c, d, func(g, h, i)))', 16, ',', "(<", ")>", 1) AssertEqual [19, 38], result "}}} "{{{ border check Execute(border left): let result = cmp#parameter_position('hello(a, b)', 5, ',', '(<', ')>', 1) AssertEqual [0, 0], result Execute(border (): let result = cmp#parameter_position('hello(a, b)', 6, ',', '(<', ')>', 1) AssertEqual [7, 8], result Execute(border )): let result = cmp#parameter_position('hello(a, b)', 11, ',', '(<', ')>', 1) AssertEqual [11, 11], result Execute(border ), -1): let result = cmp#parameter_position('hello(a, b)', 11, ',', ')>', '(<', -1) AssertEqual [10, 11], result Execute(border ) , -1): let result = cmp#parameter_position('hello(a, b) ', 12, ',', ')>', '(<', -1) AssertEqual [0, 0], result " }}} "{{{ has = Execute(=, 1, test0): let result = cmp#parameter_position('hello(a=1, b=2)', 7, ',', '(', ')', 1) AssertEqual [9, 10], result Execute(=, 1, test1): let result = cmp#parameter_position('hello(a=1, b=2)', 8, ',', '(', ')', 1) AssertEqual [9, 10], result Execute(=, 1, test2): let result = cmp#parameter_position('hello(a=1, b=2)', 9, ',', '(', ')', 1) AssertEqual [14, 15], result Execute(=, 1, test3): let result = cmp#parameter_position('hello(a=1, b=(c=1, d=2))', 9, ',', '(', ')', 1) AssertEqual [14, 24], result Execute(=, -1, test0): let result = cmp#parameter_position('hello(a=1, b=2)', 14, ',', ')', '(', -1) AssertEqual [9, 10], result Execute(=, -1, test1): let result = cmp#parameter_position('hello(a=1, b=2)', 11, ',', ')', '(', -1) AssertEqual [9, 10], result Execute(=, -1, test2): let result = cmp#parameter_position('hello(a=1, b=2)', 10, ',', ')', '(', -1) AssertEqual [9, 10], result Execute(=, -1, test3): let result = cmp#parameter_position('hello(a=1, b=(c=1, d=2))', 24, ',', ')', '(', -1) AssertEqual [14, 24], result "}}} " < > match Execute(>): let result = cmp#parameter_position('a->hello(a)', 10, ',', ')>', '(<', -1) AssertEqual [9, 9], result Execute(<): let result = cmp#parameter_position('hello(a) < hello(b)', 9, ',', '(<', ')>', 1) AssertEqual [0, 0], result ================================================ FILE: bundle/CompleteParameter.vim/vader/parser.vader ================================================ Execute: let parser_str = globpath(&rtp, 'cm_parser/*.vim') let parsers = split(parser_str, '\n') for parser in parsers let ft = fnamemodify(parser, ':t:r') try let ftfunc = cmp#new_ftfunc(ft) Assert cmp#filetype_func_check(ftfunc) catch Assert 0 endtry endfor Execute (check parameter return,(),(,)): let parameter = '()' let begin = '(' let end = ')' Assert cmp#check_parameter_return(parameter, begin, end) Execute (check parameter return,(a),(,)): let parameter = '(a)' let begin = '(' let end = ')' Execute (check parameter return,(a),(<,)>): Assert cmp#check_parameter_return(parameter, begin, end) let parameter = '(a)' let begin = '(<' let end = ')>' Assert cmp#check_parameter_return(parameter, begin, end) Execute (check parameter return,,(,)): let parameter = '' let begin = '(' let end = ')' Assert !cmp#check_parameter_return(parameter, begin, end) Execute (check parameter return,(,(,)): let parameter = '(' let begin = '(' let end = ')' Assert !cmp#check_parameter_return(parameter, begin, end) Execute (check parameter return,(a,(,)): let parameter = '(a' let begin = '(' let end = ')' Assert !cmp#check_parameter_return(parameter, begin, end) Execute (check parameter return,a),(,)): let parameter = '(a' let begin = '(' let end = ')' Assert !cmp#check_parameter_return(parameter, begin, end) ================================================ FILE: bundle/CompleteParameter.vim/vader/python.vader ================================================ Before: let g:complete_parameter_py_keep_value = 0 let g:complete_parameter_py_remove_default = 0 " {{{ ycm Execute (error menu): let completed_item = {'menu': 'module:func', 'info': 'func()'} let result = cm_parser#python#parameters(completed_item) AssertEqual [], result Execute (error info): let completed_item = {'menu': 'function:func', 'info': ''} let result = cm_parser#python#parameters(completed_item) AssertEqual [], result Execute (foo()): let completed_item = {'menu': 'function:foo', 'info': "foo()\nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['()'], result Execute (foo() -> int): let completed_item = {'menu': 'function:foo', 'info': "foo() -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['()'], result Execute (foo(a) -> int): let completed_item = {'menu': 'function:foo', 'info': "foo(a) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a)'], result Execute (foo(a, b) -> int): let completed_item = {'menu': 'function:foo', 'info': "foo(a, b) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = 1) -> int): let completed_item = {'menu': 'function:foo', 'info': "foo(a, b = 1) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = []) -> int): let completed_item = {'menu': 'function:foo', 'info': "foo(a, b = []) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = []) -> (int, True): let completed_item = {'menu': 'function:foo', 'info': "foo(a, b = []) -> (int, True) \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (add(a, b), omni): let completed_item = {'word': '(', 'menu': '', 'info': ' ', 'kind': '', 'abbr': 'add(a,b)'} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (remove `[]`): let g:complete_parameter_py_keep_value = 1 let completed_item = {'word': 'mkdir', 'menu': 'def mkdir', 'info': 'mkdir(path [, mode=0777])^@^@Create a directory.', 'kind': '', 'abbr': ''} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(path, mode=0777)'], result Execute (remove default 1): let g:complete_parameter_py_keep_value = 0 let g:complete_parameter_py_remove_default = 1 let completed_item = {'word': 'mkdir', 'menu': 'def mkdir', 'info': 'mkdir(path , mode=0777)^@^@Create a directory.', 'kind': '', 'abbr': ''} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(path)'], result let g:complete_parameter_py_remove_default = 0 " interact(self, escape_character=chr(29), input_filter=None, " output_filter=None) Execute (interact(self, excape_character=ch(29)): let completed_item = {'menu': 'function:interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result Execute (interact(self, excape_character=ch(29) -> int): let completed_item = {'menu': 'function:interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None) -> int"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result Execute (interact(self, excape_character=ch(29) -> (int, int)): let completed_item = {'menu': 'function:interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None) -> (int, int)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result Execute (interact(self, excape_character=ch(29) -> (int, int)): let g:complete_parameter_py_keep_value = 1 let completed_item = {'menu': 'function:interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None) -> (int, int)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character=chr(29), input_filter=None, output_filter=None)'], result Execute (no parameter): let completed_item = {'word': 'mkdir', 'menu': 'def mkdir', 'info': 'Create a directory.\n\nif dir_fd is not None, it should be a file descriptor open to a directory,\n and path should be relative; path will then be relative to that directory.\ndir_fd may not be implemented on your platform.\n If it is unavailable, using it will raise a NotImplementedError.\n\nthe mode argument is ignored on Windows.', 'kind': '', 'abbr': ''} let result = cm_parser#python#parameters(completed_item) AssertEqual ['()'], result "}}} " {{{ def Execute (error menu): let completed_item = {'menu': 'module:func', 'info': 'func()'} let result = cm_parser#python#parameters(completed_item) AssertEqual [], result Execute (error info): let completed_item = {'menu': 'def func', 'info': ''} let result = cm_parser#python#parameters(completed_item) AssertEqual [], result Execute (foo()): let completed_item = {'menu': 'def foo', 'info': "foo()\nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['()'], result Execute (foo() -> int): let completed_item = {'menu': 'def foo', 'info': "foo() -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['()'], result Execute (foo(a) -> int): let completed_item = {'menu': 'def foo', 'info': "foo(a) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a)'], result Execute (foo(a, b) -> int): let completed_item = {'menu': 'def foo', 'info': "foo(a, b) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = 1) -> int): let completed_item = {'menu': 'def foo', 'info': "foo(a, b = 1) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = []) -> int): let completed_item = {'menu': 'def foo', 'info': "foo(a, b = []) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = []) -> (int, True): let completed_item = {'menu': 'def foo', 'info': "foo(a, b = []) -> (int, True) \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (multi line, with self, ', )'): let completed_item = {'menu': 'def exec_command', 'info': "exec_command( self, command, bufsize=-1,\ntimeout=None, get_pty=False, environment=None, )"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(command, bufsize, timeout, get_pty, environment)'], result Execute (multi line, with cls, ', )'): let completed_item = {'menu': 'def exec_command', 'info': "exec_command( cls, command, bufsize=-1,\ntimeout=None, get_pty=False, environment=None, )"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(command, bufsize, timeout, get_pty, environment)'], result Execute (multi line, ', )'): let completed_item = {'menu': 'def exec_command', 'info': "exec_command( command, bufsize=-1,\ntimeout=None, get_pty=False, environment=None, )"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(command, bufsize, timeout, get_pty, environment)'], result Execute (multi line): let completed_item = {'menu': 'def exec_command', 'info': "exec_command( command, bufsize=-1,\ntimeout=None, get_pty=False, environment=None)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(command, bufsize, timeout, get_pty, environment)'], result " interact(self, escape_character=chr(29), input_filter=None, " output_filter=None) Execute (interact(self, excape_character=ch(29)): let completed_item = {'menu': 'def interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result Execute (interact(self, excape_character=ch(29) -> int): let completed_item = {'menu': 'def interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None) -> int"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result Execute (interact(self, excape_character=ch(29) -> (int, int)): let completed_item = {'menu': 'def interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None) -> (int, int)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result "}}} " {{{ deoplete Execute (foo()): let completed_item = {'word': 'foo(', 'info': "foo()\nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['()'], result Execute (foo() -> int): let completed_item = {'word': 'foo(', 'info': "foo() -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['()'], result Execute (foo(a) -> int): let completed_item = {'word': 'foo(', 'info': "foo(a) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a)'], result Execute (foo(a, b) -> int): let completed_item = {'word': 'foo(', 'info': "foo(a, b) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = 1) -> int): let completed_item = {'word': 'foo(', 'info': "foo(a, b = 1) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = []) -> int): let completed_item = {'word': 'foo(', 'info': "foo(a, b = []) -> int \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (foo(a, b = []) -> (int, True): let completed_item = {'word': 'foo(', 'info': "foo(a, b = []) -> (int, True) \nfoo function"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(a, b)'], result Execute (multi line, with self, ', )'): let completed_item = {'word': 'exec_command(', 'info': "exec_command( self, command, bufsize=-1,\ntimeout=None, get_pty=False, environment=None, )"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(command, bufsize, timeout, get_pty, environment)'], result Execute (multi line, with cls, ', )'): let completed_item = {'word': 'exec_command(', 'info': "exec_command( cls, command, bufsize=-1,\ntimeout=None, get_pty=False, environment=None, )"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(command, bufsize, timeout, get_pty, environment)'], result Execute (multi line, ', )'): let completed_item = {'word': 'exec_command(', 'info': "exec_command( command, bufsize=-1,\ntimeout=None, get_pty=False, environment=None, )"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(command, bufsize, timeout, get_pty, environment)'], result Execute (multi line): let completed_item = {'word': 'exec_command(', 'info': "exec_command( command, bufsize=-1,\ntimeout=None, get_pty=False, environment=None)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(command, bufsize, timeout, get_pty, environment)'], result " interact(self, escape_character=chr(29), input_filter=None, " output_filter=None) Execute (interact(self, excape_character=ch(29)): let completed_item = {'word': 'interact(', 'menu': 'def interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result Execute (interact(self, excape_character=ch(29) -> int): let completed_item = {'word': 'interact(', 'menu': 'def interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None) -> int"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result Execute (interact(self, excape_character=ch(29) -> (int, int)): let completed_item = {'word': 'interact(', 'menu': 'def interact', 'info': "interact(self, escape_character=chr(29), input_filter=None,\noutput_filter=None) -> (int, int)"} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(escape_character, input_filter, output_filter)'], result "}}} Execute (jedi): let completed_item = {'word': 'test_func', 'menu': '[jedi] ', 'info': 'test_func(arg1, arg2)', 'kind': 'function', 'abbr': 'test_func(arg1, arg2)'} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(arg1, arg2)'], result Execute (coc.nvim + coc-pyhon[MPLS]): let completed_item = {'word': 'fun', 'menu': '[LS]', 'user_data': '{"cid":1578967439,"source":"python","index":8}', 'info': '```\nfun(x, y)\n```', 'kind': 'v', 'abbr': 'fun'} let result = cm_parser#python#parameters(completed_item) AssertEqual ['(x, y)'], result " echos Execute (echos, foo): let completed_item = {'menu': 'function:foo', 'info': "foo()\nfoo function"} let result = cm_parser#python#echos(completed_item) AssertEqual ['foo()'], result Execute (echos, foo(a) -> int): let completed_item = {'menu': 'function:foo', 'info': "foo(a) -> int \nfoo function"} let result = cm_parser#python#echos(completed_item) AssertEqual ['foo(a)'], result Execute (echos, foo(a, b = []) -> int): let completed_item = {'menu': 'function:foo', 'info': "foo(a, b = []) -> int \nfoo function"} let result = cm_parser#python#echos(completed_item) AssertEqual ['foo(a, b = [])'], result ================================================ FILE: bundle/CompleteParameter.vim/vader/rust.vader ================================================ " {{{ycm Execute (error param): let completed_item = {} let result = cm_parser#rust#parameters(completed_item) AssertEqual [], result Execute (fn hello()): let completed_item = {'word': 'hello', 'menu': 'fn hello()', 'kind': 'f'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['()'], result Execute (fn hello() -> Self): let completed_item = {'word': 'hello', 'menu': 'fn hello()', 'kind': 'f'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['()'], result Execute (fn hello(capacity: usize) -> Vec): let completed_item = {'word': 'hello', 'menu': 'fn hello(capacity: usize) -> Vec', 'kind': 'f'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(capacity)'], result Execute (fn hello(s: Cow<'a, [T]>) -> Vec): let completed_item = {'word': 'hello', 'menu': 'fn hello(s: Cow<''a, [T]>) -> Vec', 'kind': 'f'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(s)'], result "}}} " {{{ deoplete Execute (error param): let completed_item = {} let result = cm_parser#rust#parameters(completed_item) AssertEqual [], result Execute (fn hello()): let completed_item = {'word': 'hello', 'info': 'fn hello()', 'kind': 'Function'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['()'], result Execute (fn hello() -> Self): let completed_item = {'word': 'hello', 'info': 'fn hello()', 'kind': 'Function'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['()'], result Execute (fn hello(capacity: usize) -> Vec): let completed_item = {'word': 'hello', 'info': 'fn hello(capacity: usize) -> Vec', 'kind': 'Function'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(capacity)'], result Execute (fn hello(s: Cow<'a, [T]>) -> Vec): let completed_item = {'word': 'hello', 'info': 'fn hello(s: Cow<''a, [T]>) -> Vec', 'kind': 'Function'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(s)'], result "}}} " {{{ycm Execute (error param): let completed_item = {} let result = cm_parser#rust#parameters(completed_item) AssertEqual [], result Execute (fn hello()): let completed_item = {'word': 'hello(', 'info': 'fn hello()', 'kind': 'f', 'abbr': 'hello'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['()'], result Execute (fn hello() -> Self): let completed_item = {'word': 'hello(', 'info': 'fn hello()', 'kind': 'f', 'abbr': 'hello'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['()'], result Execute (fn hello(capacity: usize) -> Vec): let completed_item = {'word': 'hello(', 'info': 'fn hello(capacity: usize) -> Vec', 'kind': 'f', 'abbr': 'hello'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(capacity)'], result Execute (fn hello(s: Cow<'a, [T]>) -> Vec): let completed_item = {'word': 'hello(', 'info': 'fn hello(s: Cow<''a, [T]>) -> Vec', 'kind': 'f', 'abbr': 'hello'} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(s)'], result Execute (gen_range): let completed_item = {'word': 'gen_range', 'menu': 'fn gen_range(&mut self, low: T, high: T) -> T where Self: Sized', 'info': '', 'kind': 'f', 'abbr': ''} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(low, high)'], result Execute (has self): let completed_item = {'word': 'gen_range', 'menu': 'fn gen_range(mut self, low: T, high: T) -> T where Self: Sized', 'info': '', 'kind': 'f', 'abbr': ''} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(low, high)'], result Execute (trim): let completed_item = {'word': 'trim', 'menu': 'pub fn trim(&self) -> &str', 'info': '', 'kind': 'f', 'abbr': ''} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['()'], result Execute (ends_with): let completed_item = {'word': 'ends_with', 'menu': 'pub fn ends_with(&''a self, pat) -> &str', 'info': '', 'kind': 'f', 'abbr': ''} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(pat)'], result Execute (mut ends_with): let completed_item = {'word': 'ends_with', 'menu': 'pub fn ends_with(&''a mut self, pat) -> &str', 'info': '', 'kind': 'f', 'abbr': ''} let result = cm_parser#rust#parameters(completed_item) AssertEqual ['(pat)'], result "}}} ================================================ FILE: bundle/CompleteParameter.vim/vader/test.sh ================================================ #!/bin/bash - set -e vim -Nu <(cat << VIMRC filetype off set rtp+=~/.vim/bundle/vader.vim set rtp+=~/.vim/bundle/CompleteParameter.vim runtime! ~/.vim/bundle/CompleteParameter.vim/cm_parser/*.vim filetype plugin indent on syntax enable VIMRC) -c 'Vader! ~/.vim/bundle/CompleteParameter.vim/vader/*' > /dev/null ================================================ FILE: bundle/CompleteParameter.vim/vader/typescript.vader ================================================ " {{{ycm Execute (error kind): let completed_item = {} let result = cm_parser#typescript#parameters(completed_item) AssertEqual [], result Execute (error abbr): let completed_item = {'kind': 'm'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual [], result Execute (empty parameter): let completed_item = {'kind': 'm', 'word': 'fun', 'abbr': 'fun (method) A.fun()'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['()'], result Execute (empty parameter 2): let completed_item = {'kind': 'm', 'word': 'fun', 'abbr': 'fun (method) fun()'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['()'], result Execute (array.concat): let completed_item = {'word': 'concat', 'menu': '', 'info': '', 'kind': 'm', 'abbr': 'concat (method) Array.concat(...items: number[][]): number[] (+1 overload)'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(...items)'], result Execute (array.every): let completed_item = {'word': 'every', 'menu': '', 'info': '', 'kind': 'm', 'abbr': 'every (method) Array.every(callbackfn: (this: void, value: number, index: number, array: number[]) => boolean): boolean (+2 overloads)'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(callbackfn)'], result Execute (array.indexOf): let completed_item = {'word': 'indexOf', 'menu': '', 'info': '', 'kind': 'm', 'abbr': 'indexOf (method) Array.indexOf(searchElement: number, fromIndex?: number): number'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(searchElement, fromIndex)'], result Execute (array.map): let completed_item = {'word': 'map', 'menu': '', 'info': '', 'kind': 'm', 'abbr': 'map (method) Array.map(this: [number, number, number, number, number], callbackfn: (this: void, value: number, index: number, array: number[]) => U): [U, U, U, U, U] (+14 overloads)'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(this, callbackfn)'], result "}}} " {{{ deoplete Execute (error kind): let completed_item = {} let result = cm_parser#typescript#parameters(completed_item) AssertEqual [], result Execute (error info): let completed_item = {'kind': 'M'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual [], result Execute (empty parameter): let completed_item = {'kind': 'M', 'word': 'fun', 'info': 'A.fun()'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['()'], result Execute (empty parameter 2): let completed_item = {'kind': 'M', 'word': 'fun', 'info': 'fun()'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['()'], result Execute (array.concat): let completed_item = {'word': 'concat', 'menu': 'TS Array.concat(...i..(+1 overload)', 'info': 'Array.concat(...items: number[][]): number[] (+1 overload)\nCombines two or more arrays.', 'kind': 'M', 'abbr': 'concat'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(...items)'], result Execute (array.every): let completed_item = {'word': 'every', 'menu': 'TS Array.every(callb..+2 overloads)', 'info': 'Array.every(callbackfn: (this: void , value: number, index: number, array: number[]) => boolean): boolean (+2 overloads)\nDetermines whether all the members of an array satisfy the specified test.', 'kind': 'M', 'abbr': 'every'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(callbackfn)'], result Execute (array.indexOf): let completed_item = {'word': 'indexOf', 'menu': 'TS Array.indexOf(sea..mber): number', 'info': 'Array.indexOf(searchElement: number, fromIndex?: number): number\nReturns the index of the first occurrence of a value in an array.', 'kind': 'M', 'abbr': 'indexOf'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(searchElement, fromIndex)'], result Execute (array.map): let completed_item = {'word': 'map', 'menu': 'TS Array.map(this..14 overloads)', 'info': 'Array.map(this: [number, number, number, number, number], callbackfn: (this: void, value: number, index: number, array: number[]) => U): [U, U, U, U, U] (+14 overloads) \nCalls a defined callback function on each element of an array, and returns an array that contains the results.', 'kind': 'M', 'abbr' : 'map'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(this, callbackfn)'], result "}}} " {{{ neocomplete Execute (empty parameter): let completed_item = {'kind': '', 'word': 'fun', 'menu': '(method) A.fun()'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['()'], result Execute (empty parameter 2): let completed_item = {'kind': '', 'word': 'fun', 'menu': '(method) fun()'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['()'], result Execute (array.concat): let completed_item = {'word': 'concat', 'menu': '(method) Array.concat(...items: number[][]): number[] (+1 overload)\nCombines two or more arrays.', 'kind': '', 'abbr': 'concat'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(...items)'], result Execute (array.every): let completed_item = {'word': 'every', 'menu': '(method) Array.every(callbackfn: (this: void , value: number, index: number, array: number[]) => boolean): boolean (+2 overloads)\nDetermines whether all the members of an array satisfy the specified test.', 'kind': '', 'abbr': 'every'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(callbackfn)'], result Execute (array.indexOf): let completed_item = {'word': 'indexOf', 'menu': '(method) Array.indexOf(searchElement: number, fromIndex?: number): number\nReturns the index of the first occurrence of a value in an array.', 'kind': '', 'abbr': 'indexOf'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(searchElement, fromIndex)'], result Execute (array.map): let completed_item = {'word': 'map', 'menu': '(method) Array.map(this: [number, number, number, number, number], callbackfn: (this: void, value: number, index: number, array: number[]) => U): [U, U, U, U, U] (+14 overloads) \nCalls a defined callback function on each element of an array, and returns an array that contains the results.', 'kind': '', 'abbr' : 'map'} let result = cm_parser#typescript#parameters(completed_item) AssertEqual ['(this, callbackfn)'], result "}}} ================================================ FILE: bundle/FlyGrep/README.md ================================================ # FlyGrep.vim [![](https://spacevim.org/img/build-with-SpaceVim.svg)](https://spacevim.org) [![GPLv3 License](https://img.spacevim.org/license-GPLv3-blue.svg)](LICENSE) ![searching project](https://img.spacevim.org/35278709-7856ed62-0010-11e8-8b1e-e6cc6374b0dc.gif) - [Intro](#intro) - [Install](#install) - [Usage](#usage) - [Command](#command) - [Key bindings in FlyGrep window](#key-bindings-in-flygrep-window) - [FeedBack](#feedback) ## Intro _FlyGrep.vim_ is a vim/neovim plugin to run the searching tool asynchronously, and display the result on the fly. ## Install Using [dein.vim](https://github.com/Shougo/dein.vim) ```vim call dein#add('wsdjeg/FlyGrep.vim') ``` Using [vim-plug](https://github.com/junegunn/vim-plug) ```vim Plug 'wsdjeg/FlyGrep.vim' ``` ## Usage ### Command This plugin provides a `:FlyGrep` command. ``` :FlyGrep ``` ### Key bindings in FlyGrep window | Key Bindings | Descriptions | | ------------------ | --------------------------------------------- | | Tab / Ctrl-j | move cursor to next item | | Shift-Tab / Ctrl-K | move cursor to previous item | | ScrollWheelDown | move cursor to next item | | ScrollWheelUp | move cursor to previous item | | Enter | open file at the cursor line | | Ctrl-t | open item in new tab | | LeftMouse | move cursor to mouse position | | 2-LeftMouse | open file at the mouse position | | Ctrl-f | start filter mode | | Ctrl-v | open item in vertical split window | | Ctrl-s | open item in split window | | Ctrl-q | apply all items into quickfix | | Ctrl-e | toggle fix-string mode | | Ctrl-h | toggle display hidden files | | Ctrl-r | read from register, need insert register name | | Left / Right | move cursor to left or right | | BackSpace | remove last character | | Ctrl-w | remove the Word before the cursor | | Ctrl-u | remove the Line before the cursor | | Ctrl-k | remove the Line after the cursor | | Ctrl-a / Home | Go to the beginning of the line | | End | Go to the end of the line | ## FeedBack The development of this plugin is in [`SpaceVim/bundle/FlyGrep`](https://github.com/SpaceVim/SpaceVim/tree/master/bundle/FlyGrep) directory. If you encounter any bugs or have suggestions, please file an issue in the [issue tracker](https://github.com/SpaceVim/SpaceVim/issues) ================================================ FILE: bundle/FlyGrep/addon-info.json ================================================ { "name": "FlyGrep", "description": "Fly grep in vim", "author": "Wang Shidong" } ================================================ FILE: bundle/FlyGrep/autoload/flygrep.vim ================================================ function! flygrep#open(argv) abort call SpaceVim#plugins#flygrep#open(a:argv) endfunction function! flygrep#statusline() abort let st = ' FlyGrep %{getcwd()} ' return st . "%{getline(1) ==# '' ? '' : (line('.') . '/' . line('$'))}" endfunction ================================================ FILE: bundle/FlyGrep/doc/FlyGrep.txt ================================================ *FlyGrep.txt* Fly grep in vim Wang Shidong *flygrep* *FlyGrep* ============================================================================== CONTENTS *FlyGrep-contents* 1. Introduction............................................... |FlyGrep-intro| 2. CONFIGURATION............................................. |FlyGrep-config| ============================================================================== INTRODUCTION *FlyGrep-intro* Fly grep in vim, written in pure vim script for MacVim, gvim and vim version 8.0+. ============================================================================== CONFIGURATION *FlyGrep-config* FlyGrep has strong default options, but you can also change the option yourself. *g:FlyGrep_input_delay* FlyGrep will start to searching code after a delay, the default value is 500ms. *g:FlyGrep_search_tools* A list of searching tools will be userd. *g:FlyGrep_enable_statusline* Enable FlyGrep statusline *g:spacevim_commandline_prompt* Set FlyGrep default command prompt vim:tw=78:ts=8:ft=help:norl: ================================================ FILE: bundle/FlyGrep/plugin/FlyGrep.vim ================================================ "============================================================================= " FlyGrep.vim --- Fly grep in vim " Copyright (c) 2016-2022 Shidong Wang & Contributors " Author: Shidong Wang < wsdjeg@outlook.com > " URL: https://github.com/wsdjeg/FlyGrep.vim " License: MIT license "============================================================================= "" " @section Introduction, intro " @stylized flygrep " @library " @order intro version dicts functions exceptions layers api faq " Fly grep in vim, written in pure vim script for MacVim, gvim and vim version " 8.0+. " "" " @section CONFIGURATION, config " FlyGrep has strong default options, but you can also change the option " yourself. "" " FlyGrep will start to searching code after a delay, the default value is " 500ms. let g:FlyGrep_input_delay = get(g:, 'FlyGrep_input_delay', 500) "" " A list of searching tools will be userd. let g:FlyGrep_search_tools = get(g:, 'FlyGrep_search_tools', ['ag', 'rg', 'grep', 'pt', 'ack']) let g:spacevim_data_dir = get(g:, 'spacevim_data_dir', '~/.cache') "" " Enable FlyGrep statusline let g:FlyGrep_enable_statusline = get(g:, 'FlyGrep_enable_statusline', 1) "" " Set FlyGrep default command prompt let g:spacevim_commandline_prompt = get(g:, 'spacevim_commandline_prompt', '➭') command! -nargs=0 FlyGrep call flygrep#open({}) ================================================ FILE: bundle/FlyGrep/test/vimrc ================================================ set nocompatible let s:path = expand(':p:h:h') call execute('set rtp+=' . s:path) filetype off filetype plugin indent on syntax enable ================================================ FILE: bundle/JavaUnit.vim/.gitignore ================================================ *.class *.html test/*.java ================================================ FILE: bundle/JavaUnit.vim/.travis.yml ================================================ language: python cache: pip: true env: matrix: - LINT=vimlint-errors - LINT=vimlint - LINT=vint-errors - LINT=vint matrix: allow_failures: - env: LINT=vimlint - env: LINT=vint install: - | if [ "${LINT#vimlint}" != "$LINT" ]; then git clone --depth=1 https://github.com/syngan/vim-vimlint /tmp/vimlint git clone --depth=1 https://github.com/ynkdir/vim-vimlparser /tmp/vimlparser elif [ "${LINT#vint}" != "$LINT" ]; then virtualenv /tmp/vint && source /tmp/vint/bin/activate && pip install vim-vint fi script: - | if [ "$LINT" = "vimlint" ]; then sh /tmp/vimlint/bin/vimlint.sh -l /tmp/vimlint -p /tmp/vimlparser . elif [ "$LINT" = "vimlint-errors" ]; then sh /tmp/vimlint/bin/vimlint.sh -E -l /tmp/vimlint -p /tmp/vimlparser . elif [ "$LINT" = "vint" ]; then vint . elif [ "$LINT" = "vint-errors" ]; then vint --error . fi ================================================ FILE: bundle/JavaUnit.vim/.vintrc.yaml ================================================ cmdargs: # Checking more strictly severity: style_problem # Enable coloring color: true policies: ProhibitImplicitScopeVariable: enabled: false ================================================ FILE: bundle/JavaUnit.vim/LICENSE ================================================ The MIT License (MIT) Copyright (c) 2015 Wang Shidong Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/JavaUnit.vim/README.md ================================================ ### JavaUnit.vim #### requirement 1. jdk 2. [artur-shaik/javacomplete2](https://github.com/artur-shaik/vim-javacomplete2) 3. [scrooloose/syntastic](https://github.com/scrooloose/syntastic) > also you can use my fork which provide gradle support, [wsdjeg/syntastic](https://github.com/wsdjeg/syntastic) 4. [Shougo/unite.vim](https://github.com/Shougo/unite.vim) > if you do not intstall this plugin,JavaUnit will show result in its own buffer instead of unite. 5. [tagbar](https://github.com/majutsushi/tagbar) #### install - [neobundle.vim](https://github.com/Shougo/neobundle.vim) ```vim NeoBundle 'wsdjeg/JavaUnit.vim' ``` - [Vundle.vim](https://github.com/VundleVim/Vundle.vim) ```vim Plugin 'wsdjeg/JavaUnit.vim' ``` #### Command JavaUnitExec test the current methond(no need put the cursor on the methodName) ![2015-11-16 23-40-05](https://cloud.githubusercontent.com/assets/13142418/11186276/e153459c-8cbb-11e5-9724-9589066176d0.png) JavaUnitExec [args ...] test specification method example JavaUnitExec testMethod1 testMethod2 testMethod3 ... ![2015-11-16 23-40-25](https://cloud.githubusercontent.com/assets/13142418/11186274/e1520d9e-8cbb-11e5-90e1-17e6cfbc5a09.png) JavaUnitTestMain run the main methon of current class also you can use `JavaUnitTestAll`,then will run all the testMethod in the current file ![2015-11-16 23-40-43](https://cloud.githubusercontent.com/assets/13142418/11186273/e132f580-8cbb-11e5-94d3-81dfda614abf.png) support for maven project JavaUnitTestMaven test current file ![JavaUnitMavenTest](https://cloud.githubusercontent.com/assets/13142418/11186066/ef8f70aa-8cba-11e5-9869-13f39a782ad7.png) JavaUnitTestMavenAll test this project ![JavaUnitMavenTestAll](https://cloud.githubusercontent.com/assets/13142418/11186033/baf6f64c-8cba-11e5-989c-cd3dacb038b3.png) #### Mappings `q` close the JavaUnit buffer. ================================================ FILE: bundle/JavaUnit.vim/addon-info.json ================================================ { "name": "JavaUnite.vim", "description": "Java Unit Test in VIM", "author": "wsdjeg" } ================================================ FILE: bundle/JavaUnit.vim/autoload/javaunit/util.vim ================================================ let s:save_cpo = &cpo set cpo&vim if exists('g:javaunit_util_loaded') finish endif let g:javaunit_util_loaded = 1 function! s:OSX() return has('macunix') endfunction function! s:LINUX() return has('unix') && !has('macunix') && !has('win32unix') endfunction function! s:WINDOWS() return (has('win16') || has('win32') || has('win64')) endfunction function! javaunit#util#Fsep() abort if s:WINDOWS() return '\' else return '/' endif endfunction function! javaunit#util#Psep() abort if s:WINDOWS() return ';' else return ':' endif endfunction function! javaunit#util#ExecCMD(cmd) if exists('g:spacevim_version') call SpaceVim#plugins#runner#open(a:cmd) elseif exists(':Unite') call unite#start([['output/shellcmd', s:EscapeCMD(a:cmd)]], {'log': 1, 'wrap': 1,'start_insert':0}) else call javaunit#win#OpenWin(a:cmd) endif endfunction function! s:EscapeCMD(cmd) if s:WINDOWS() return a:cmd else return a:cmd endif endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/JavaUnit.vim/autoload/javaunit/win.vim ================================================ let s:save_cpo = &cpo set cpo&vim let s:name = '__JavaUnit__' fu! javaunit#win#OpenWin(cmd) if bufwinnr('s:name') < 0 if bufnr('s:name') != -1 exe 'silent! split ' . '+b' . bufnr('s:name') else silent! split s:name endif else exec bufwinnr('s:name') . 'wincmd w' endif setl modifiable let result = systemlist(a:cmd) call s:windowsinit() call append(0, result) setl nomodifiable endf fu! s:windowsinit() " option setl fileformat=unix setl fileencoding=utf-8 setl iskeyword=@,48-57,_ setl noreadonly setl buftype=nofile setl bufhidden=wipe setl noswapfile setl nobuflisted setl nolist setl nonumber setl nowrap setl winfixwidth setl winfixheight setl textwidth=0 setl nospell setl nofoldenable " map nnoremap q :bwipeout! " cmd let b:ctrlsf_initialized = 1 endf let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/JavaUnit.vim/autoload/javaunit.vim ================================================ let s:save_cpo = &cpo set cpo&vim if exists('g:JavaUnit_autoload') finish endif let g:JavaUnit_autoload = 1 let s:Fsep = javaunit#util#Fsep() let s:Psep = javaunit#util#Psep() let g:JavaUnit_Home = fnamemodify(expand(''), ':p:h:h:gs?\\?'. s:Fsep. '?') if exists("g:JavaUnit_custom_tempdir") let s:JavaUnit_tempdir = g:JavaUnit_custom_tempdir else let s:JavaUnit_tempdir = g:JavaUnit_Home .s:Fsep .'bin' endif let s:JavaUnit_TestMethod_Source = \g:JavaUnit_Home \.s:Fsep \.join(['src' , 'com' , 'wsdjeg' , 'util' , '*.java'],s:Fsep) function! javaunit#Compile() abort silent exec '!javac -encoding utf8 -d '.s:JavaUnit_tempdir.' '.s:JavaUnit_TestMethod_Source endfunction if findfile(s:JavaUnit_tempdir.join(['','com','wsdjeg','util','TestMethod.class'],s:Fsep))=="" call javaunit#Compile() endif function javaunit#TestMethod(args,...) let line = getline(search("package","nb",getline("0$"))) if line != '' let currentClassName = split(split(line," ")[1],";")[0].".".expand("%:t:r") else let currentClassName = expand("%:t:r") endif if a:args == "" let cwords = split(tagbar#currenttag('%s', '', ''),'(')[0] if filereadable('pom.xml') let cmd="java -cp '" \.s:JavaUnit_tempdir \.s:Psep \.getcwd() \.join(['','target','test-classes'],s:Fsep) \.s:Psep \.get(g:,'JavaComplete_LibsPath','.') \."' com.wsdjeg.util.TestMethod " \.currentClassName \.' ' \.cwords else let cmd="java -cp '" \.s:JavaUnit_tempdir \.s:Psep \.get(g:,'JavaComplete_LibsPath','.') \."' com.wsdjeg.util.TestMethod " \.currentClassName \.' ' \.cwords endif call javaunit#util#ExecCMD(cmd) else if filereadable('pom.xml') let cmd="java -cp '" \.s:JavaUnit_tempdir \.s:Psep \.getcwd() \.join(['','target','test-classes'],s:Fsep) \.s:Psep \.get(g:,'JavaComplete_LibsPath','.') \."' com.wsdjeg.util.TestMethod " \.currentClassName \.' ' \.a:args else let cmd="java -cp '" \.s:JavaUnit_tempdir \.s:Psep \.get(g:,'JavaComplete_LibsPath','.') \."' com.wsdjeg.util.TestMethod " \.currentClassName \.' ' \.a:args endif call javaunit#util#ExecCMD(cmd) endif endfunction function javaunit#TestAllMethods() let line = getline(search("package","nb",getline("0$"))) let currentClassName = split(split(line," ")[1],";")[0].".".expand("%:t:r") let cmd="java -cp '" . s:JavaUnit_tempdir.s:Psep.g:JavaComplete_LibsPath . "' com.wsdjeg.util.TestMethod " . currentClassName call javaunit#util#ExecCMD(cmd) endfunction function javaunit#MavenTest() let line = getline(search("package","nb",getline("0$"))) let currentClassName = split(split(line," ")[1],";")[0].".".expand("%:t:r") let cmd = 'mvn test -Dtest='.currentClassName call javaunit#util#ExecCMD(cmd) endfunction function javaunit#MavenTestAll() let cmd = 'mvn test' call javaunit#util#ExecCMD(cmd) endfunction function javaunit#NewTestClass(classNAME) let filePath = expand("%:h") let flag = 0 let packageName = '' for a in split(filePath,s:Fsep) if flag if a == expand("%:h:t") let packageName .= a.';' else let packageName .= a.'.' endif endif if a == "java" let flag = 1 endif endfor call append(0,"package ".packageName) call append(1,"import org.junit.Test;") call append(2,"import org.junit.Assert;") call append(3,"public class ".a:classNAME." {") call append(4,"@Test") call append(5,"public void testM() {") call append(6,"//TODO") call append(7,"}") call append(8,"}") call feedkeys("gg=G","n") call feedkeys("/testM\","n") call feedkeys("viw","n") "call feedkeys("/TODO\","n") endfunction function! javaunit#Get_method_name() abort let name = 'sss' return name endfunction function! javaunit#TestMain(...) abort let line = getline(search("package","nb",getline("0$"))) if line != '' let currentClassName = split(split(line," ")[1],";")[0].".".expand("%:t:r") else let currentClassName = expand("%:t:r") endif if filereadable('pom.xml') let cmd="java -cp '" \.s:JavaUnit_tempdir \.s:Psep \.getcwd() \.join(['','target','test-classes'],s:Fsep) \.s:Psep \.get(g:,'JavaComplete_LibsPath','.') \."' " \.currentClassName \.' ' \.(len(a:000) > 0 ? join(a:000,' ') : '') else let cmd='java -cp "' . get(g:,'JavaComplete_LibsPath','.') . s:Psep \.s:JavaUnit_tempdir \.s:Psep \.'" ' \.currentClassName \.' ' \.(len(a:000) > 0 ? join(a:000,' ') : '') endif call javaunit#util#ExecCMD(cmd) endfunction fu! javaunit#GenerateTestMethods() let testClassName = expand('%:t:r') if stridx(testClassName, 'test') != -1 || stridx(testClassName, 'Test') != -1 let line = getline(search("package","nb",getline("0$"))) let testClassName = split(split(line," ")[1],";")[0]."." . testClassName if stridx(testClassName, 'Test') == len(testClassName) - 4 let className = strpart(testClassName, 0,len(testClassName) - 4) let cmd="java -cp '" \.s:JavaUnit_tempdir \.s:Psep \.getcwd() \.join(['','target','test-classes'],s:Fsep) \.s:Psep \.get(g:,'JavaComplete_LibsPath','.') \."' com.wsdjeg.util.GenerateMethod " \.className let methods = split(join(systemlist(cmd)),'|') let curPos = getpos('.') let classdefineline = search("class " . expand('%:t:r'),"nb",getline("0$")) for m in methods call append(classdefineline, "/* test " . m . " */") call append(classdefineline + 1,"public void test" . toupper(strpart(m,0,1)) . strpart(m,1,len(m)) . "() {") call append(classdefineline + 2,"//TODO") call append(classdefineline + 3,"}") endfor call feedkeys("gg=G","n") call cursor(curPos[1] + 1, curPos[2]) else echohl WarningMsg | echomsg "This is not a testClassName,now only support className end with 'Test'" | echohl None endif else echohl WarningMsg | echomsg "This is not a testClassName" | echohl None endif endf let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/JavaUnit.vim/bin/test.txt ================================================ ================================================ FILE: bundle/JavaUnit.vim/doc/JavaUnite.vim.txt ================================================ *JavaUnite.vim.txt* Java Unit Test in VIM wsdjeg *JavaUnite.vim* ============================================================================== CONTENTS *JavaUnite.vim-contents* vim:tw=78:ts=8:ft=help:norl: ================================================ FILE: bundle/JavaUnit.vim/plugin/javaunit.vim ================================================ let s:save_cpo = &cpo set cpo&vim if exists('g:JavaUnit_loaded') finish endif let g:JavaUnit_loaded = 1 command! -nargs=* \ JavaUnitExec \ call javaunit#TestMethod() command! -nargs=* \ JavaUnitTestMain \ call javaunit#TestMain() command! -nargs=0 \ JavaUnitTestAll \ call javaunit#TestAllMethods() command! -nargs=0 \ JavaUnitTestMaven \ call javaunit#MavenTest() command! -nargs=0 \ JavaUnitTestMavenAll \ call javaunit#MavenTestAll() command! -nargs=? -complete=file \ JavaUnitNewTestClass \ call javaunit#NewTestClass(expand("%:t:r")) command! -nargs=0 \ JavaUnitServerCompile \ call javaunit#Compile() command! -nargs=0 \ JUGenerateM \ call javaunit#GenerateTestMethods() let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/JavaUnit.vim/src/com/wsdjeg/util/GenerateMethod.java ================================================ package com.wsdjeg.util; import java.lang.reflect.Method; public class GenerateMethod { public static void main(String[] args) { System.out.println(listMethos(args[0])); } private static String listMethos(String name){ Class clazz = null; try { clazz = Class.forName(name); } catch(Exception e){ e.printStackTrace(); } Method[] mds = clazz.getDeclaredMethods(); String result = ""; for (int i = 0; i < mds.length; i++) { if (result.length()>0) { result = result + "|" +mds[i].getName(); }else{ result = mds[0].getName(); } } return result; } } ================================================ FILE: bundle/JavaUnit.vim/src/com/wsdjeg/util/TestMethod.java ================================================ package com.wsdjeg.util; import java.lang.reflect.Constructor; import java.lang.reflect.Method; public class TestMethod{ public static void main(String[] args) { if(args.length == 2){ testSpecifiedMethod(args[0],args[1]); }else if (args.length == 1) { testAllMethods(args[0]); }else if (args.length > 2){ testMethods(args); } } public static void testAllMethods(String className){ Class clazz = null; try { clazz = Class.forName(className); } catch(Exception e){ e.printStackTrace(); } Method[] mds = clazz.getMethods(); for (int i = 0; i < mds.length; i++) { if (mds[i].getName().startsWith("test")) { testSpecifiedMethod(className,mds[i].getName()); } } } public static void testMethods(String[] args) { for (int i = 1; i < args.length; i++) { testSpecifiedMethod(args[0],args[i]); } } @SuppressWarnings("unchecked") public static void testSpecifiedMethod(String className,String methodName){ try{ System.out.println("========================= JavaUnite Test ============================="); System.out.println("CLASS:" + className); System.out.println("METHOD:" + methodName + "()"); System.out.println("============================= OUTPUT ================================="); Class clazz = Class.forName(className); Constructor c = clazz.getDeclaredConstructor(); c.setAccessible(true); long startTime = System.currentTimeMillis(); clazz.getMethod(methodName).invoke(c.newInstance()); long endTime = System.currentTimeMillis(); System.out.println("================ SUCCESS: " + (endTime - startTime) + "ms ======================"); }catch(Exception e){ System.out.println("============================= FAILED ================================"); e.printStackTrace(); } } } ================================================ FILE: bundle/LeaderF-neosnippet/.gitignore ================================================ # For current directory only # ---------------------------------------------------------------------------- # General # ---------------------------------------------------------------------------- *.o *.out # log *.log # cache *.cache cache/ # Windows # ---------------------------------------------------------------------------- Thumbs.db Desktop.ini # Tags # ----------------------------------------------------------------------------- TAGS !TAGS/ tags tags-cn !tags/ .tags .tags1 tags.lock tags.temp gtags.files GTAGS GRTAGS GPATH cscope.files cscope.out cscope.in.out cscope.po.out # Vim # ------------------------------------------------------------------------------ [._]*.s[a-w][a-z] [._]s[a-w][a-z] *.un~ Session.vim .netrwhist *~ /.vim # Test % Tmp # ------------------------------------------------------------------------------- test.* tmp.* temp.* # Java # ------------------------------------------------------------------------------- *.class # JavaScript # ------------------------------------------------------------------------------- node_modules # Python # ------------------------------------------------------------------------------- *.pyc .idea/ /.idea build/ __pycache__ # Rust # ------------------------------------------------------------------------------- target/ **/*.rs.bk # C/Cpp # ------------------------------------------------------------------------------- /cmake-build-debug/ ================================================ FILE: bundle/LeaderF-neosnippet/LICENSE ================================================ The MIT License (MIT) Copyright (c) 2020 tamago324 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/LeaderF-neosnippet/README.md ================================================ # Leaderf-neosnippet [LeaderF](https://github.com/Yggdroot/LeaderF) support for [neosnippet](https://github.com/Shougo/neosnippet.vim) ## Installation ```vim Plug 'Yggdroot/LeaderF' Plug 'tamago324/LeaderF-neosnippet' Plug 'Shougo/neosnippet.vim' Plug 'Shougo/neosnippet-snippets' ``` ## Usage ``` :Leaderf neosnippet ``` or ``` :LeaderfNeosnippet ``` ## License Apache-2.0 ================================================ FILE: bundle/LeaderF-neosnippet/after/plugin/lf_neosnippet.vim ================================================ command! -bar -nargs=0 LeaderfNeosnippet call execute("Leaderf neosnippet") " In order to be listed by :LeaderfSelf call g:LfRegisterSelf('LeaderfNeosnippet', 'neosnippet') ================================================ FILE: bundle/LeaderF-neosnippet/autoload/lf_neosnippet.vim ================================================ scriptencoding utf-8 let s:info = { \ 'source': {}, \ 'col': 0, \ 'ft': '', \ 'preview_bufnr': -1, \} function! lf_neosnippet#source(...) let l:snippets = neosnippet#helpers#get_completion_snippets() let s:info.source = l:snippets return keys(l:snippets) endfunction function! lf_neosnippet#accept(line, arg) abort " from neosnippet.vim let l:cur_text = neosnippet#util#get_cur_text() let l:cur_keyword_str = matchstr(l:cur_text, '\S\+$') call neosnippet#view#_expand( \ l:cur_text . a:line[len(l:cur_keyword_str)], s:info.col, a:line) endfunction function! lf_neosnippet#preview(orig_buf_nr, orig_cursor, line, args) abort let l:info = get(s:info.source, a:line, {}) let l:lines = split(get(l:info, 'snip', ''), "\n") silent call deletebufline(s:info.preview_bufnr, 1, '$') silent call setbufline(s:info.preview_bufnr, 1, l:lines) " [buf_number, line_num, jump_cmd] return [s:info.preview_bufnr, 1, ''] endfunction function! lf_neosnippet#before_enter(args) abort " If you do it in the preview, it slows down the cursor movement. let l:bufnr = bufadd('lf_neosnippet_preview') silent! call bufload(l:bufnr) try " from instance.py call setbufvar(l:bufnr, '&buflisted', 0) call setbufvar(l:bufnr, '&buftype', 'nofile') call setbufvar(l:bufnr, '&bufhidden', 'hide') call setbufvar(l:bufnr, '&undolevels', -1) call setbufvar(l:bufnr, '&swapfile', 0) call setbufvar(l:bufnr, '&filetype', &filetype) catch /*/ " pass endtry let s:info.col = col('.') let s:info.preview_bufnr = l:bufnr endfunction ================================================ FILE: bundle/LeaderF-neosnippet/plugin/lf_neosnippet.vim ================================================ scriptencoding utf-8 let g:Lf_Extensions = get(g:, 'Lf_Extensions', {}) let g:Lf_Extensions.neosnippet = { \ 'source': string(function('lf_neosnippet#source'))[10:-3], \ 'accept': string(function('lf_neosnippet#accept'))[10:-3], \ 'preview': string(function('lf_neosnippet#preview'))[10:-3], \ 'before_enter': string(function('lf_neosnippet#before_enter'))[10:-3], \} ================================================ FILE: bundle/LeaderF-snippet/.gitignore ================================================ # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ pip-wheel-metadata/ share/python-wheels/ *.egg-info/ .installed.cfg *.egg MANIFEST # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .nox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover *.py,cover .hypothesis/ .pytest_cache/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py db.sqlite3 db.sqlite3-journal # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # IPython profile_default/ ipython_config.py # pyenv .python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. # However, in case of collaboration, if having platform-specific dependencies or dependencies # having no cross-platform support, pipenv may install dependencies that don't work, or not # install all needed dependencies. #Pipfile.lock # PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ # Celery stuff celerybeat-schedule celerybeat.pid # SageMath parsed files *.sage.py # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ .dmypy.json dmypy.json # Pyre type checker .pyre/ ================================================ FILE: bundle/LeaderF-snippet/LICENSE ================================================ MIT License Copyright (c) 2021 Linwei Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/LeaderF-snippet/README.md ================================================ # Leaderf-snippet This plugin takes the advantage of the well-known fuzzy finder [Leaderf](https://github.com/Yggdroot/LeaderF) to provide an intuitive way to input snippets: ![](https://github.com/skywind3000/images/raw/master/p/snippet/snippet1.gif) Snippet names are hard to remember, therefore, I made a Leaderf extension to help input snippets. ## Feature - Read snippets from SnipMate or UltiSnips - Display snippet descriptions in the fuzzy finder. - Work in both INSERT mode and NORMAL mode. ## Installation ```VimL " Leaderf-snippet Plug 'Yggdroot/LeaderF' Plug 'skywind3000/Leaderf-snippet' ``` A supported snippet engine, [UltiSnips](https://github.com/SirVer/ultisnips) (recommended) or [SnipMate](https://github.com/garbas/vim-snipmate), is required. ## Configuration ```VimL " maps inoremap :Leaderf snippet " optional: preview let g:Lf_PreviewResult = get(g:, 'Lf_PreviewResult', {}) let g:Lf_PreviewResult.snippet = 1 ``` ## Why Leaderf ? vim-fzf has a `Snippets` command, but it doesn't provide enough information for each snippet and it can't work correctly in INSERT mode: ![](https://github.com/skywind3000/images/raw/master/p/snippet/fzf-snippets.png) Compare to fzf, Leaderf has a NORMAL mode which allows me to browse my snippets more easily like in a normal vim window: ![](https://github.com/skywind3000/images/raw/master/p/snippet/snippet2.gif) Browse my snippets with full of details. No worry about forgetting snippets. ## TODO - [x] snipmate - [x] ultisnips - [x] snipmate preview - [x] ultisnips preview - [ ] minisnip ## Credit - [Leaderf](https://github.com/Yggdroot/LeaderF): An efficient fuzzy finder that helps to locate files, buffers, mrus, gtags, etc. on the fly. ================================================ FILE: bundle/LeaderF-snippet/plugin/leaderf_snippet.py ================================================ #! /usr/bin/env python3 # -*- coding: utf-8 -*- #====================================================================== # # leaderf_snippet.py - # # Created by skywind on 2021/02/01 # Last Modified: 2021/02/01 17:48:09 # #====================================================================== from __future__ import unicode_literals, print_function import sys import time import re import vim def init(): # print('init2') return 0 def usnip_query(): source = [] vim.eval('UltiSnips#SnippetsInCurrentScope()') items = vim.eval('items(g:current_ulti_dict_info)') from UltiSnips import UltiSnips_Manager import UltiSnips manager = UltiSnips.UltiSnips_Manager snippets = UltiSnips.UltiSnips_Manager._snips('', True) snippets_values = {} for snippet in snippets: key = snippet.trigger desc = snippet._description snippets_values[key] = snippet._value size = 4 for item in items: key = item[0] info = item[1] desc = info.get('description', '') value = snippets_values.get(key, '') desc = desc.strip() size = max(size, len(key)) if not desc: desc = usnip_simplify(value) # desc = '' source.append([key, desc, '', usnip_clear(value)]) source.sort() for item in source: item[2] = item[0] + (' ' * (size - len(item[0]))) return source def usnip_clear(text): t = re.sub('`[^`]*`', '', text) if t.strip() == '': t = text return t def usnip_simplify(text): t = re.sub('`[^`]*`', '', text) if t.strip() == '': t = text text = '\n'.join(t.split("\n")[:5]) text = re.sub('\${[^{}]*}', '...', text) text = re.sub('\${[^{}]*}', '...', text) text = text.replace("\n", ' ; ') text = re.sub('\s+', ' ', text) return text[:100] def usnip_digest(text): return 0 def test(): source = usnip_query() for item in source: key = item[0] if key == 'def' or 0: value = item[3] print(key, value) print('---') print(usnip_clear(value)) print('---') print(usnip_simplify(value)) return 0 ================================================ FILE: bundle/LeaderF-snippet/plugin/leaderf_snippet.vim ================================================ "====================================================================== " " leaderf_snippet.vim - " " Created by skywind on 2021/02/01 " Last Modified: 2021/02/13 21:07:12 " "====================================================================== "---------------------------------------------------------------------- " Query SnipMate Database "---------------------------------------------------------------------- function! SnipMateQuery(word, exact) abort let matches = snipMate#GetSnippetsForWordBelowCursor(a:word, a:exact) let result = [] let size = 4 for [trigger, dict] in matches let body = '' for key in keys(dict) let value = dict[key] if type(value) == v:t_list if len(value) > 0 let body = value[0] break endif endif endfor if body != '' let size = max([size, len(trigger)]) let result += [[trigger, body]] endif endfor for item in result let t = item[0] . repeat(' ', size - len(item[0])) call extend(item, [t]) endfor call sort(result) return result endfunc "---------------------------------------------------------------------- " Simplify Snippet Body "---------------------------------------------------------------------- function! SnipMateDescription(body, width) abort let text = join(split(a:body, '\n')[:4], ' ; ') let text = substitute(text, '^\s*\(.\{-}\)\s*$', '\1', '') let text = substitute(text, '\${[^{}]*}', '...', 'g') let text = substitute(text, '\${[^{}]*}', '...', 'g') let text = substitute(text, '\s\+', ' ', 'g') let text = strcharpart(text, 0, a:width) return text endfunc "---------------------------------------------------------------------- " Query Snippets "---------------------------------------------------------------------- function! UltiSnipsQuery() call UltiSnips#SnippetsInCurrentScope(1) let list = [] let size = 4 for [key, info] in items(g:current_ulti_dict_info) let desc = info.description if desc == '' let desc = '...' endif let size = max([size, len(key)]) let list += [[key, desc]] endfor call sort(list) for item in list let t = item[0] . repeat(' ', size - len(item[0])) call extend(item, [t]) endfor return list endfunc function! UltiSnipsQuery2() call s:init_python() if g:Lf_PythonVersion == 2 let matches = pyeval('leaderf_snippet.usnip_query()') else let matches = py3eval('leaderf_snippet.usnip_query()') endif let width = 100 for item in matches let desc = item[1] if desc == '' " let desc = SnipMateDescription(item[3], width) " let item[1] = desc endif endfor return matches endfunc "---------------------------------------------------------------------- " checks "---------------------------------------------------------------------- function! s:check_snipmate() return (exists(':SnipMateOpenSnippetFiles') == 2) endfunc function! s:check_ultisnips() return (exists(':UltiSnipsEdit') == 2) endfunc "---------------------------------------------------------------------- " internal "---------------------------------------------------------------------- let s:bufid = -1 let s:filetype = '' let s:accept = '' let s:snips = {} let s:snip_engine = -1 let s:inited = 0 let g:Lf_Extensions = get(g:, 'Lf_Extensions', {}) let s:home = fnamemodify(resolve(expand(':p')), ':h') function! s:init_python() if s:inited != 0 return 0 endif if s:check_snipmate() let s:snip_engine = 0 let s:inited = 1 return 0 elseif s:check_ultisnips() let s:snip_engine = 1 call UltiSnips#SnippetsInCurrentScope(1) else let s:snip_engine = -1 let s:inited = 1 return 0 endif exec g:Lf_py 'import sys, vim' exec g:Lf_py '_pp = vim.eval("s:home")' exec g:Lf_py 'if _pp not in sys.path: sys.path.append(_pp)' exec g:Lf_py 'import leaderf_snippet' if g:Lf_PythonVersion == 2 exec 'py2' 'import imp' exec 'py2' 'imp.reload(leaderf_snippet)' else exec 'py3' 'import importlib' exec 'py3' 'importlib.reload(leaderf_snippet)' endif exec g:Lf_py 'leaderf_snippet.init()' let s:inited = 1 return 1 endfunc function! s:lf_snippet_source(...) let source = [] if s:inited == 0 call s:init_python() let s:inited = 1 endif if s:snip_engine == 0 let matches = SnipMateQuery('', 0) elseif s:snip_engine == 1 " let matches = UltiSnipsQuery() let matches = UltiSnipsQuery2() else let error = "ERROR: Require UltiSnip (recommended) or SnipMate !!" redraw echohl ErrorMsg echom error echohl None let source += [error] let source += [error] let source += [error] return source endif let snips = {} let width = 100 for item in matches let trigger = item[0] if trigger =~ '^\u' continue endif if s:snip_engine == 0 let desc = SnipMateDescription(item[1], width) let snips[trigger] = item[1] else let desc = item[1] let snips[trigger] = item[3] endif let text = item[2] . ' ' . ' : ' . desc let source += [text] endfor let s:snips = snips return source endfunc " echo s:lf_snippet_source() function! s:lf_snippet_accept(line, arg) let pos = stridx(a:line, ':') if pos < 0 return endif let name = strpart(a:line, 0, pos) let name = substitute(name, '^\s*\(.\{-}\)\s*$', '\1', '') redraw if name != '' let s:accept = name . "\snipMateTrigger" if s:snip_engine == 0 if mode(1) =~ 'i' call feedkeys(name . "\snipMateTrigger", '!') " call feedkeys(name . "\=snipMate#TriggerSnippet(1)\", '!') else call feedkeys('a' . name . "\snipMateTrigger", '!') endif elseif s:snip_engine == 1 if mode(1) =~ 'i' call feedkeys("\", '!') " call feedkeys("" . name . "\", '!') call feedkeys(name . "\=UltiSnips#ExpandSnippet()\", '!') " unsilent echom "col: ". col('.') else call feedkeys('a' . name . "\=UltiSnips#ExpandSnippet()\", '!') endif endif endif endfunc function! s:lf_snippet_preview(orig_buf_nr, orig_cursor, line, args) let text = a:line let pos = stridx(text, ':') if pos < 0 return [] endif let name = strpart(text, 0, pos) let name = substitute(name, '^\s*\(.\{-}\)\s*$', '\1', '') let body = get(s:snips, name, '') if body == '' unsilent echom "SUCK" return [] endif if s:bufid < 0 let s:bufid = bufadd('') let bid = s:bufid call bufload(bid) call setbufvar(bid, '&buflisted', 0) call setbufvar(bid, '&bufhidden', 'hide') call setbufvar(bid, '&modifiable', 1) call deletebufline(bid, 1, '$') call setbufvar(bid, '&modified', 0) call setbufvar(bid, 'current_syntax', '') call setbufvar(bid, '&filetype', '') endif let bid = s:bufid let textlist = split(body, '\n') call setbufvar(bid, '&modifiable', 1) call setbufline(bid, 1, textlist) call setbufvar(bid, '&modified', 0) call setbufvar(bid, '&modifiable', 0) return [bid, 1, ''] endfunc function! s:lf_win_init(...) setlocal nonumber nowrap endfunc let g:Lf_Extensions.snippet = { \ 'source': string(function('s:lf_snippet_source'))[10:-3], \ 'accept': string(function('s:lf_snippet_accept'))[10:-3], \ 'preview': string(function('s:lf_snippet_preview'))[10:-3], \ 'highlights_def': { \ 'Lf_hl_funcScope': '^\S\+', \ }, \ 'after_enter': string(function('s:lf_win_init'))[10:-3], \ } ================================================ FILE: bundle/SourceCounter.vim/.gitignore ================================================ doc/tags ================================================ FILE: bundle/SourceCounter.vim/.vintrc.yaml ================================================ cmdargs: # Checking more strictly severity: style_problem policies: ProhibitImplicitScopeVariable: enabled: false ProhibitAbbreviationOption: enabled: false ================================================ FILE: bundle/SourceCounter.vim/README.md ================================================ # SourceCounter.vim > source counter in vim ### Useage - `:SourceCounter` : Display result in cmdline - `:SourceCounter!` : Display result in new tab ### Options - `-d`: specific directories ### Options - `g:source_counter_sort` : sort method of result, by default, it is `files`, and if you want to sort by lines, use `let g:source_counter_sort = 'lines'` ### Screenshot ![SourceCounter](pic/screen.png) ================================================ FILE: bundle/SourceCounter.vim/addon-info.json ================================================ { "name": "SourceCounter.vim", "description": "Source counter in vim", "author": "wsdjeg" } ================================================ FILE: bundle/SourceCounter.vim/autoload/SourceCounter.vim ================================================ let s:NOTI = SpaceVim#api#import('notify') scriptencoding utf-8 let s:support_ft = ['vim', 'java', 'c', 'py', 'md', 'txt'] function! SourceCounter#View(bang, ...) abort call s:NOTI.notify(string(a:000)) let fts = [] let dirs = [] let result = {} let argv_type = '' for argv in a:000 if argv == '-d' let argv_type = 'dir' continue elseif argv == '-ft' let argv_type = 'filetype' continue endif if argv_type == 'dir' call add(dirs, argv) elseif argv_type == 'filetype' call add(fts, argv) endif endfor call s:NOTI.notify('counting for: ' . join(fts, ', ')) " return for dir in dirs for ft in fts let _rs = s:counter(ft, dir) if !empty(_rs) if has_key(result, ft) let result[ft].files = result[ft].files + _rs.files let result[ft].lines = result[ft].lines + _rs.lines else let result[ft] = { \ 'files' : _rs.files, \ 'lines' : _rs.lines, \ } endif endif endfor endfor let result = sort(s:build(result), function('s:compare')) let table = s:draw_table(result) if a:bang tabnew setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonumber norelativenumber setlocal modifiable noautocmd normal! gg"_dG for line in table call append(line('$'), line) endfor normal! G setlocal nomodifiable nnoremap q :bd else call s:NOTI.notify(join(table, "\n")) endif endfunction function! s:build(rst) abort let rst = [] for k in keys(a:rst) call add(rst, [k, a:rst[k].files, a:rst[k].lines]) endfor return rst endfunction function! s:compare(a, b) abort let m = get(g:, 'source_counter_sort', 'files') if m ==# 'lines' return a:a[2] == a:b[2] ? 0 : a:a[2] > a:b[2] ? -1 : 1 else return a:a[1] == a:b[1] ? 0 : a:a[1] > a:b[1] ? -1 : 1 endif endfunction " https://en.wikipedia.org/wiki/Box-drawing_character function! s:draw_table(rst) abort if &encoding ==# 'utf-8' let top_left_corner = '╭' let top_right_corner = '╮' let bottom_left_corner = '╰' let bottom_right_corner = '╯' let side = '│' let top_bottom_side = '─' let middle = '┼' let top_middle = '┬' let left_middle = '├' let right_middle = '┤' let bottom_middle = '┴' else let top_left_corner = '*' let top_right_corner = '*' let bottom_left_corner = '*' let bottom_right_corner = '*' let side = '|' let top_bottom_side = '-' let middle = '*' let top_middle = '*' let left_middle = '*' let right_middle = '*' let bottom_middle = '*' endif let table = [] let top_line = top_left_corner \ . repeat(top_bottom_side, 15) \ . top_middle \ . repeat(top_bottom_side, 15) \ . top_middle \ . repeat(top_bottom_side, 15) \ . top_right_corner let middle_line = left_middle \ . repeat(top_bottom_side, 15) \ . middle \ . repeat(top_bottom_side, 15) \ . middle \ . repeat(top_bottom_side, 15) \ . right_middle let bottom_line = bottom_left_corner \ . repeat(top_bottom_side, 15) \ . bottom_middle \ . repeat(top_bottom_side, 15) \ . bottom_middle \ . repeat(top_bottom_side, 15) \ . bottom_right_corner call add(table, top_line) let result = [['filetype', 'files', 'lines']] + a:rst for rsl in result let ft_line = side \ . rsl[0] . repeat(' ', 15 - strwidth(rsl[0])) \ . side \ . rsl[1] . repeat(' ', 15 - strwidth(rsl[1])) \ . side \ . rsl[2] . repeat(' ', 15 - strwidth(rsl[2])) \ . side call add(table, ft_line) call add(table, middle_line) endfor let table[-1] = bottom_line return table endfunction function! s:list_files_stdout(id, data, event) abort endfunction function! s:list_files_exit(id, data, event) abort endfunction function! s:counter(ft, dir) abort if executable('ag') if has('nvim') let files = systemlist(['ag','-g', '.' . a:ft . '$']) else let files = split(system('ag -g .'.a:ft.'$'),nr2char(10)) endif else let partten = '**/*.' . a:ft let files = globpath(a:dir, l:partten, 0, 1) endif if len(files) == 0 return [] endif let lines = 0 let _file_count = len(files) if has('nvim') if len(files) > 380 while !empty(files) let _fs = remove(files, 0, min([380, len(files) - 1])) let _rst = systemlist(['wc', '-l'] + _fs)[-1] let lines += matchstr(_rst, '\d\+') endwhile else let lines = matchstr(systemlist(['wc', '-l'] + files)[-1], '\d\+') endif else for fl in files let lines += str2nr(matchstr(system('wc -l '. fl), '\d\+')) endfor endif return {'files' : _file_count, 'lines' : lines} endfunction ================================================ FILE: bundle/SourceCounter.vim/doc/SourceCounter.vim.txt ================================================ *SourceCounter.vim.txt* Source counter in vim wsdjeg *SourceCounter.vim* ============================================================================== CONTENTS *SourceCounter.vim-contents* 1. Introduction..................................... |SourceCounter.vim-intro| 2. Configuration................................... |SourceCounter.vim-config| 3. Commands...................................... |SourceCounter.vim-commands| ============================================================================== INTRODUCTION *SourceCounter.vim-intro* Sources counter for vim and neovim. USAGE: > :SourceCounter! vim md java html < ============================================================================== CONFIGURATION *SourceCounter.vim-config* *g:source_counter_sort* specific the sort type of result, 'lines' or 'files', default is 'files'. ============================================================================== COMMANDS *SourceCounter.vim-commands* :SourceCounter[!] [filetypes] *:SourceCounter* List lines count for specific [filetypes], or all supported filetypes. [!] forces desplay result in new tab. vim:tw=78:ts=8:ft=help:norl: ================================================ FILE: bundle/SourceCounter.vim/plugin/SourceCounter.vim ================================================ "" " @section Introduction, intro " Sources counter for vim and neovim. " " USAGE: " > " :SourceCounter! vim md java html " < let s:save_cpo = &cpoptions set cpoptions&vim "" " List lines count for specific [filetypes], or all supported filetypes. " " [!] forces desplay result in new tab. command! -bang -nargs=* SourceCounter call SourceCounter#View('!' ==# '', ) if !exists('g:source_counter_sort') "" " specific the sort type of result, 'lines' or 'files', default is " 'files'. let g:source_counter_sort = 'files' endif let &cpoptions = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/VimRegStyle/.gitignore ================================================ test/*.msgout test/*.tap ================================================ FILE: bundle/VimRegStyle/README.asciidoc ================================================ VimRegStyle ----------- __Ohhh, Sexy Regex!__ VimRegStyle is a Regular Expression Pattern Library and suite of utilities for operating on matches within text. ================================================ FILE: bundle/VimRegStyle/TODO ================================================ * Allow user patterns in ~/.vim/patterns/ ================================================ FILE: bundle/VimRegStyle/autoload/extended_regex.vim ================================================ " Vim library for short description " Maintainer: Barry Arthur " Israel Chauca F. " Version: 0.1 " Description: Long description. " Last Change: 2013-02-03 " License: Vim License (see :help license) " Location: autoload/extended_regex.vim " Website: https://github.com/Raimondi/extended_regex " " See extended_regex.txt for help. This can be accessed by doing: " " :helptags ~/.vim/doc " :help extended_regex " Vimscript Setup: {{{1 " Allow use of line continuation. let s:save_cpo = &cpo set cpo&vim " load guard " uncomment after plugin development " Remove the conditions you do not need, they are there just as an example. "if exists("g:loaded_lib_extended_regex") " \ || v:version < 700 " \ || v:version == 703 && !has('patch338') " \ || &compatible " let &cpo = s:save_cpo " finish "endif "let g:loaded_lib_extended_regex = 1 " Private Functions: {{{1 " Library Interface: {{{1 function! extended_regex#ExtendedRegex(...) let erex = {} let erex.lookup_function = '' let erex.lookup_dict = {} func erex.default_lookup(name) dict return eval(a:name) endfunc "TODO: revisit this with eval() solution func erex.lookup(name) dict if empty(self.lookup_function) return call(self.default_lookup, [a:name], self) else "TODO: this 'self' dict arg needs to be the object's self... return call(self.lookup_function, [a:name], self.lookup_dict) endif endfunc func erex.expand_composition_atom(ext_reg) dict let ext_reg = a:ext_reg let composition_atom = '\\%{\s*\([^,} \t]\+\)\%(\s*,\s*\(\d\+\)\%(\s*,\s*\(.\{-}\)\)\?\)\?\s*}' let remaining = match(ext_reg, composition_atom) while remaining != -1 let [_, name, cnt, sep ;__] = matchlist(ext_reg, composition_atom) let cnt = cnt ? cnt : 1 let sep = escape(escape(sep, '.*[]$^'), '\\') let pattern = escape(self.lookup(name), '\\' ) let ext_reg = substitute(ext_reg, composition_atom, join(repeat([pattern], cnt), sep), '') let remaining = match(ext_reg, composition_atom) endwhile return ext_reg endfunc func erex.expand(ext_reg) dict return self.expand_composition_atom(a:ext_reg) endfunc func erex.parse_multiline_regex(ext_reg) dict return substitute(substitute(substitute(a:ext_reg, '#\s\+\S\+', '', 'g'), '\\\@ 1 call erex.register_lookup_dict(a:2) endif endif return erex endfunction " Teardown:{{{1 "reset &cpo back to users setting let &cpo = s:save_cpo " vim: set sw=2 sts=2 et fdm=marker: ================================================ FILE: bundle/VimRegStyle/autoload/vrs.vim ================================================ " Vim library for short description " Maintainer: Barry Arthur " Israel Chauca F. " Version: 0.1 " Description: Long description. " Last Change: 2013-02-03 " License: Vim License (see :help license) " Location: autoload/vrs.vim " Website: https://github.com/Raimondi/vrs " " See vrs.txt for help. This can be accessed by doing: " " :helptags ~/.vim/doc " :help vrs " Vimscript Setup: {{{1 " Allow use of line continuation. let s:save_cpo = &cpo set cpo&vim " load guard " uncomment after plugin development " Remove the conditions you do not need, they are there just as an example. "if exists("g:loaded_lib_vrs") " \ || v:version < 700 " \ || v:version == 703 && !has('patch338') " \ || &compatible " let &cpo = s:save_cpo " finish "endif "let g:loaded_lib_vrs = 1 " Private Functions: {{{1 " Library Interface: {{{1 let s:vrs_patterns = {} let s:erex = ExtendedRegexObject('vrs#get') let g:vrs_collection = [] let g:vrs_collection_stack = [] function! vrs#set(name, flavour, pattern) if !has_key(s:vrs_patterns, a:name) let s:vrs_patterns[a:name] = {} endif if has_key(s:vrs_patterns[a:name], a:flavour) echohl ErrorMsg echom 'VRS: A pattern of that flavour ('.a:flavour.') already exists under "'.a:name.'".' echohl None return 0 endif " let s:vrs_patterns[a:name][a:flavour] = (a:flavour == 'vim' ? s:erex.parse(a:pattern) : s:erex.parse_multiline_regex(a:pattern)) let s:vrs_patterns[a:name][a:flavour] = (a:flavour == 'vim' ? s:erex.parse(a:pattern) : a:pattern) return 1 endfunction function! vrs#get(name, ...) let flavor = a:0 ? a:1 : 'vim' " Allow using a list of names as well. return type(a:name) == type("") \ ? get(get(s:vrs_patterns, a:name, {}), flavor, '') \ : map(a:name, 's:vrs_patterns[v:val].' . flavor) endfunction function! vrs#match(string, pattern, ...) let args = extend([a:string, vrs#get(a:pattern)], a:000) return call('match', args) endfunction function! vrs#matchend(string, pattern, ...) let args = extend([a:string, vrs#get(a:pattern)], a:000) return call('matchend', args) endfunction function! vrs#matches(string, pattern, ...) return call('vrs#match', extend([a:string, a:pattern], a:000)) != -1 endfunction function! vrs#exactly(string, pattern, ...) return (call('vrs#match', extend([a:string, a:pattern], a:000)) == 0) && (call('vrs#matchend', extend([a:string, a:pattern], a:000)) == (len(a:string))) endfunction " XXX Should these two return the filtered dict or just a list of keys? function! vrs#from_partial(partial) return keys(filter(copy(s:vrs_patterns), 'stridx(v:key, a:partial) > -1')) endfunction function! vrs#from_sample(sample) return keys(filter(copy(s:vrs_patterns), 'a:sample =~# v:val.vim')) endfunction " operate on each match within a string " TODO: allow this to work over a range " perhaps make the default callback be a new collection " example: :call vrs#each(getline(1, '$'), 'ip4', 'vrs#collect') function! vrs#each(source, pattern, callback) let pattern = vrs#get(a:pattern) let remaining = match(a:source, pattern) while remaining != -1 call call(a:callback, [matchlist(a:source, vrs#get(a:pattern), remaining)]) let remaining = match(a:source, pattern, 1 + remaining) endwhile endfunction " callback for adding to the current collection function! vrs#collect(item) call add(g:vrs_collection, a:item) endfunction " reset the current collection function! vrs#delete_collection() let g:vrs_collection = [] endfunction " extract a common submatch from the collection (defaults to 0 - the whole match) function! vrs#slice_collection(...) let submatch = a:0 ? a:1 : 0 return map(copy(g:vrs_collection), 'v:val[' . submatch . ']') endfunction " dump the collection submatch (default 0) at cursor point function! vrs#append_collection(...) call append('.', call('vrs#slice_collection', a:000)) endfunction " save this collection on the stack function! vrs#push_collection() call add(g:vrs_collection_stack, g:vrs_collection) endfunction " save this collection and clear it ready for new collection function! vrs#new_collection() call vrs#push_collection() call vrs#delete_collection() endfunction " restore a saved collection function! vrs#pop_collection() if len(g:vrs_collection_stack) > 0 let g:vrs_collection = remove(g:vrs_collection_stack, 0) else let g:vrs_collection = [] endif endfunction " TODO: Add commands for the collection functions to make them simpler to use " load VRS patterns let erex = ExtendedRegexObject('vrs#get') for pfile in split(glob(expand(':p:h:h') . '/patterns/*.vrs'), "\n") " skip syntax test file if fnamemodify(pfile, ':t') == 'test.vrs' continue endif " echo fnamemodify(pfile, ':t') let [name, flavour, pattern] = ['', '', ''] for line in readfile(pfile) " skip blank and comment only lines if line =~ '^\s*\(#\|$\)' continue endif " name lines must be flush to first column (no leading spaces) if line =~ '^\S' " strip trailing comments let line = substitute(line, '\s*#.*', '', '') if !empty(name) " finalise & add prior multiline pattern " echo 'call vrs#set(' . name . ' ' . flavour . ' ' . erex.parse(pattern) . ')' call vrs#set(name, flavour, pattern) let [name, flavour, pattern] = ['', '', ''] endif if line =~ '\s\+\S\+\s\+\S' let [all, name, flavour, pattern ;rest] = matchlist(line, '^\(\S\+\)\s\+\(\S\+\)\s\+\(.*\)') " echo 'call vrs#set(' . name . ' ' . flavour . ' ' . erex.parse(pattern) . ')' call vrs#set(name, flavour, pattern) let [name, flavour, pattern] = ['', '', ''] else let [all, name, flavour ;rest] = matchlist(line, '^\s*\(\S\+\)\s\+\(\S\+\)') let pattern = '' endif else " collect multiline pattern - each line must be preceded by spaces let pattern .= line endif endfor if !empty(name) " echo 'call vrs#set(' . name . ' ' . flavour . ' ' . erex.parse(pattern) . ')' call vrs#set(name, flavour, pattern) endif endfor " Teardown:{{{1 "reset &cpo back to users setting let &cpo = s:save_cpo " vim: set sw=2 sts=2 et fdm=marker: ================================================ FILE: bundle/VimRegStyle/doc/vimregstyle.txt ================================================ *vimregstyle.txt* Extended regular expressions & pattern library VIM REFERENCE MANUAL by Barry Arthur Help on using vimregstyle *vimregstyle* 1. Introduction |vimregstyle-intro| 2. Functions |vimregstyle-functions| 3. Patterns |vimregstyle-patterns| 4. External Resources |vimregstyle-resources| ============================================================================== 1. INTRODUCTION *vimregstyle-intro* VimRegStyle is a Regular Expression Pattern Library and suite of utilities for operating on matches within text. ============================================================================== 2. FUNCTIONS *vimregstyle-functions* VimRegStyle maintains an internal library of named patterns. This section details the public interface for that library. *vimregstyle-set* vrs#set({name}, {flavour}, {pattern}) Used to add new patterns to the library. {flavour} should be either 'vim' or 'pcre'. There is a single namespace per {flavour} for all VimRegStyle patterns and attempting to add a pattern with a name that already exists in the library will generate an error message like: *Error* VRS: A pattern of that flavour (vim) already exists under "ip4". NOTE: Casual users will almost never use the |vrs#set()| function. The better way to add patterns is through additions to the |vrs-files|. See |vimregstyle-contribute| for contributing patterns back to the library. *vimregstyle-get* vrs#get({name}[, {flavour}='vim') Get the pattern for the given {name} and {flavour} (defaulting to 'vim'). *vimregstyle-match* vrs#match({string}, {named-pattern} [, {start}[, {count}]]) Replica of builtin |match()| function. *vimregstyle-matchend* vrs#matchend({string}, {named-pattern} [, {start}[, {count}]]) Replica of builtin |matchend()| function. *vimregstyle-matches* vrs#matches({string}, {named-pattern} [, {start}[, {count}]]) Predicate returning true if {string} contains {named-pattern} anywhere within it. Anchoring to the start and end of the {string} will only occur if the {named-pattern} specifically includes the associated anchors. Use |vrs#exactly()| to force an anchored match. *vimregstyle-exactly* vrs#exactly({string}, {named-pattern} [, {start}[, {count}]]) Predicate returning true if {string} exactly matches {named-pattern}. Use |vrs#matches()| to check if the {string} contains the {named-pattern} anywhere within the {string}. ============================================================================== *vrs-files* 3. PATTERNS *vimregstyle-patterns* The patterns are stored in {*.vrs} files within the plugin's {/patterns/} directory. The {.vrs} files have the following format: name flavour pattern ~ Where:~ * {name} contains no whitespace and must not be preceded by whitespace * {flavour} can be {vim} or {pcre} * {pattern} is not delimited — use a bare regex The patterns are further enhanced in that they: * Accept PCRE style multiline, whitespace insensitive syntax. All multiline patterns must commence on the line below the named entry and must be indented with whitespace. * Accept a new regex atom: \%{name,count,separator} providing pattern composition by inline-expanding the {name}d pattern at the current point in the regex optionally {count} times, each one separated by {separator} (which is a multicharacter string literal, not using regular syntax). Example:~ Assuming the VRS library had a pattern called <_ip4_segment> that represented a single 0-255 chunk, an regex could then be written using this composition atom as: > ip4 vim \<\%{_ip4_segment,4,.}> < Which would concatenate four copies of the <_ip4_segment> partial pattern, each separated by the literal string '.'. ------------------------------------------------------------------------------ *vimregstyle-contribute* Pattern contributors can submit additional patterns to VimRegStyle through pull requests on the main Github repository: https://github.com/Raimondi/VimRegStyle Please ensure that all patterns are accompanied with tests. VimRegStyle uses the runVimTests (https://github.com/vim-scripts/runVimTests) unit testing framework. *TODO* Allow user-crafted patterns in a nominal directory (defaulting to ~/.vim/patterns/ ?) ============================================================================== 4. EXTERNAL RESOURCES *vimregstyle-resources* * http://www.regexlib.com/ * http://www.programmersheaven.com/2/Regex * http://www.asiteaboutnothing.net/regex/ vim:tw=78:ts=8:ft=help:norl: ================================================ FILE: bundle/VimRegStyle/ftdetect/vrs.vim ================================================ " Vim filetype detect plugin for filetype name. " Maintainer: Barry Arthur " Israel Chauca F. " Version: 0.1 " Description: Long description. " Last Change: 2013-02-03 " License: Vim License (see :help license) " Location: ftdetect/vrs.vim " Website: https://github.com/Raimondi/vrs " " See vrs.txt for help. This can be accessed by doing: " " :helptags ~/.vim/doc " :help vrs au BufRead,BufNewFile */patterns/*.vrs set filetype=vrs ================================================ FILE: bundle/VimRegStyle/patterns/datetime.vrs ================================================ seconds vim \<[0-5]\?[0-9]\> minutes vim \%{seconds} ================================================ FILE: bundle/VimRegStyle/patterns/numbers.vrs ================================================ natural vim +\?\d\+ integer vim [-+]\?\d\+ hundredths vim \<\%(\d\|[1-9]\d\)\> z_hundredths vim \<\d\{2}\> thousandths vim \<\%(\%{hundredths}\|[1-9]\d\d\)\> z_thousandths vim \<\d\{3}\> z_thousandths pcre \b[0-9]{3}\b _ip4_segment vim \%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\) _ip4_segment pcre (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) ip4 vim \<\%{_ip4_segment,4,.}\> ip4 pcre \b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b floating pcre /[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/ floating vim [-+]\?[0-9]*\.\?[0-9]\+\([eE][-+]\?[0-9]\+\)\? phone_number vim # multiline ^ \%( \(\d\) # prefix_digit [\ \-\.]\? # optional_separator \)\? \%( (\?\(\d\{3}\))\? # area_code [\ \-\.] # separator \)\? \(\d\{3}\) # trunk [\ \-\.] # separator \(\d\{4}\) # line \%(:\ \?x\? # optional_space_or_x \(\d\+\) # extension \)\? $ phone_number pcre # multiline /^ (?: (?\d) # prefix digit [ \-\.]? # optional separator )? (?: \(?(?\d{3})\)? # area code [ \-\.] # separator )? (?\d{3}) # trunk [ \-\.] # separator (?\d{4}) # line (?:\ ?x? # optional space or 'x' (?\d+) # extension )? $/x ================================================ FILE: bundle/VimRegStyle/patterns/test.vrs ================================================ abc vim \w\+\%{abc,3,.} # a comment here [a-z]\%\# # more comments # a whole line of comments abc¡ vi&m \w\+\%{abc,3,.} # some errors " Israel Chauca F. " Version: 0.1 " Description: Long description. " Last Change: 2013-02-03 " License: Vim License (see :help license) " Location: plugin/vrs.vim " Website: https://github.com/Raimondi/vrs " " See vrs.txt for help. This can be accessed by doing: " " :helptags ~/.vim/doc " :help vrs " Vimscript Setup: {{{1 " Allow use of line continuation. let s:save_cpo = &cpo set cpo&vim " load guard " uncomment after plugin development. " XXX The conditions are only as examples of how to use them. Change them as " needed. XXX "if exists("g:loaded_vrs") " \ || v:version < 700 " \ || v:version == 703 && !has('patch338') " \ || &compatible " let &cpo = s:save_cpo " finish "endif "let g:loaded_vrs = 1 " Options: {{{1 " Private Functions: {{{1 function! s:ex(key, ...) "{{{1 let pattern = vrs#get(a:key) if empty(pattern) return '' endif let dest = a:0 ? a:1 : '@/' return 'let ' . dest . ' = ' . string(pattern) endfunction function! s:get_re(...) let re = vrs#get(input('Pattern name: ', '', \ 'customlist,'.s:SID().'get_names')) if empty(re) return '' endif if !a:0 || a:1 == 0 return re elseif a:1 == 1 return string(re) else return '"' . escape(re, '"\') . '"' endif endfunction function! s:get_names(a, c, p) return vrs#from_partial(a:a) endfunction function! s:SID() return matchstr(expand(''), '\d\+_\zeSID$') endfun " Public Interface: {{{1 function! ExtendedRegexObject(...) return call('extended_regex#ExtendedRegex', a:000) endfunction " Commands: {{{1 " first arg is the name of the pattern, second is the destination of the " pattern found (defaults to @/. " TODO add completion support. command! -nargs=+ VRS exec s:ex() " Maps: {{{1 inoremap VRSPlain =get_re(0) inoremap VRSSingle =get_re(1) inoremap VRSDouble =get_re(2) cnoremap VRSPlain =get_re(0) cnoremap VRSSingle =get_re(1) cnoremap VRSDouble =get_re(2) nnoremap VRSPlain "=get_re(0)p nnoremap VRSSingle "=get_re(1)p nnoremap VRSDouble "=get_re(2)p nnoremap VRS/ /=get_re() nnoremap VRS? ?=get_re() if !hasmapto('VRSPlain', 'i') imap rep VRSPlain endif if !hasmapto('VRSSingle', 'i') imap re' VRSSingle endif if !hasmapto('VRSDouble', 'i') imap re" VRSDouble endif if !hasmapto('VRSPlain', 'c') cmap rep VRSPlain endif if !hasmapto('VRSSingle', 'c') cmap re' VRSSingle endif if !hasmapto('VRSDouble', 'c') cmap re" VRSDouble endif if !hasmapto('VRSPlain', 'n') nmap rep VRSPlain endif if !hasmapto('VRSSingle', 'n') nmap re' VRSSingle endif if !hasmapto('VRSDouble', 'n') nmap re" VRSDouble endif if !hasmapto('VRS/', 'n') nmap re/ VRS/ endif if !hasmapto('VRS?', 'n') nmap re? VRS? endif " Teardown:{{{1 "reset &cpo back to users setting let &cpo = s:save_cpo " vim: set sw=2 sts=2 et fdm=marker: ================================================ FILE: bundle/VimRegStyle/syntax/vrs.vim ================================================ " Vim syntax plugin for filetype name. " Maintainer: Barry Arthur " Israel Chauca F. " Version: 0.1 " Description: Long description. " Last Change: 2013-02-01 " License: Vim License (see :help license) " Location: syntax/vrs.vim " Website: https://github.com/Raimondi/vrs " " See vrs.txt for help. This can be accessed by doing: " " :helptags ~/.vim/doc " :help vrs " Quit when a (custom) syntax file was already loaded if exists('b:current_syntax') finish endif " Allow use of line continuation. let s:save_cpo = &cpo set cpo&vim syn match vrsNameErr /^\S\+\s\+/ contained syn match vrsName /^\w\+\s\+/ contained syn match vrsFlavorErr /\%(^\S\+\s\+\)\@<=\S\+\s\+/ contained syn match vrsFlavor /\%(^\S\+\s\+\)\@<=\w\+\s\+/ contained syn match vrsCompItem /\w\+\|\d\+\|,\@<=\%(\\}\|[^}]\)\+/ contained syn match vrsCompose /\\%{\S\+,\d\+,\%(\\}\|[^}]\)*}/ contained contains=vrsCompItem syn match vrsRegExp /\%(^\S\+\s\+\S\+\s\+\)\@<=.*/ contains=vrsCompose contained syn match vrsCommand /^\S\+\s\+\S\+\s\+\S.*/ contains=vrsName,vrsFlavor,vrsNameErr,vrsFlavorErr,vrsRegExp,vrsComment syn match vrsContinued /^\s\+\S.*/ contains=vrsComment syn match vrsComment /\%(\%(\\\\\)*\\\)\@ " z_hundredths vim \<\d\{2}\> " thousandths vim \<\%(\%{hundredths}\|[1-9]\d\d\)\> " z_thousandths vim \<\d\{3}\> call vimtap#Is(vrs#exactly('0', 'natural'), 1, 'natural - int') call vimtap#Is(vrs#exactly('1', 'natural'), 1, 'natural - int') call vimtap#Is(vrs#exactly('99', 'natural'), 1, 'natural - int') call vimtap#Is(vrs#exactly('123', 'natural'), 1, 'natural - int') call vimtap#Is(vrs#exactly('+1', 'natural'), 1, 'natural + posint') call vimtap#Is(vrs#exactly('-1', 'natural'), 0, 'natural - negint') call vimtap#Is(vrs#exactly('', 'natural'), 0, 'natural - empty') call vimtap#Is(vrs#exactly('a', 'natural'), 0, 'natural - char') call vimtap#Is(vrs#exactly('0', 'integer'), 1, 'integer + int') call vimtap#Is(vrs#exactly('1', 'integer'), 1, 'integer + int') call vimtap#Is(vrs#exactly('99', 'integer'), 1, 'integer + int') call vimtap#Is(vrs#exactly('123', 'integer'), 1, 'integer + int') call vimtap#Is(vrs#exactly('-1', 'integer'), 1, 'integer + negint') call vimtap#Is(vrs#exactly('-99', 'integer'), 1, 'integer + negint') call vimtap#Is(vrs#exactly('-123', 'integer'), 1, 'integer + negint') call vimtap#Is(vrs#exactly('+1', 'integer'), 1, 'integer + posint') call vimtap#Is(vrs#exactly('+99', 'integer'), 1, 'integer + posint') call vimtap#Is(vrs#exactly('+123', 'integer'), 1, 'integer + posint') call vimtap#Is(vrs#exactly('', 'integer'), 0, 'integer - empty') call vimtap#Is(vrs#exactly('a', 'integer'), 0, 'integer - char') call vimtap#Is(vrs#exactly('1.0', 'integer'), 0, 'integer - float') call vimtap#Is(vrs#exactly('0', 'hundredths'), 1, 'hundredths - int 0') call vimtap#Is(vrs#exactly('1', 'hundredths'), 1, 'hundredths - int 1') call vimtap#Is(vrs#exactly('22', 'hundredths'), 1, 'hundredths - int 22') call vimtap#Is(vrs#exactly('99', 'hundredths'), 1, 'hundredths - upperbound int 99') call vimtap#Is(vrs#exactly('100', 'hundredths'), 0, 'hundredths - overbounds') call vimtap#Is(vrs#exactly('', 'hundredths'), 0, 'hundredths - empty') call vimtap#Is(vrs#exactly('a', 'hundredths'), 0, 'hundredths - char') call vimtap#Is(vrs#exactly('00', 'z_hundredths'), 1, 'z_hundredths - int 00') call vimtap#Is(vrs#exactly('01', 'z_hundredths'), 1, 'z_hundredths - int 01') call vimtap#Is(vrs#exactly('22', 'z_hundredths'), 1, 'z_hundredths - int 22') call vimtap#Is(vrs#exactly('99', 'z_hundredths'), 1, 'z_hundredths - upperbound int 99') call vimtap#Is(vrs#exactly('100', 'z_hundredths'), 0, 'z_hundredths - overbounds') call vimtap#Is(vrs#exactly('', 'z_hundredths'), 0, 'z_hundredths - empty') call vimtap#Is(vrs#exactly('a', 'z_hundredths'), 0, 'z_hundredths - char') call vimtap#Is(vrs#exactly('0', 'thousandths'), 1, 'thousandths - int 0') call vimtap#Is(vrs#exactly('333', 'thousandths'), 1, 'thousandths - int 333') call vimtap#Is(vrs#exactly('999', 'thousandths'), 1, 'thousandths - upperbound int 999') call vimtap#Is(vrs#exactly('1', 'thousandths'), 1, 'thousandths - int 1') call vimtap#Is(vrs#exactly('1000', 'thousandths'), 0, 'thousandths - overbounds') call vimtap#Is(vrs#exactly('', 'thousandths'), 0, 'thousandths - empty') call vimtap#Is(vrs#exactly('a', 'thousandths'), 0, 'thousandths - char') call vimtap#Is(vrs#exactly('000', 'z_thousandths'), 1, 'z_thousandths - int 000') call vimtap#Is(vrs#exactly('333', 'z_thousandths'), 1, 'z_thousandths - int 333') call vimtap#Is(vrs#exactly('999', 'z_thousandths'), 1, 'z_thousandths - upperbound int 999') call vimtap#Is(vrs#exactly('001', 'z_thousandths'), 1, 'z_thousandths - int 001') call vimtap#Is(vrs#exactly('1000', 'z_thousandths'), 0, 'z_thousandths - overbounds') call vimtap#Is(vrs#exactly('', 'z_thousandths'), 0, 'z_thousandths - empty') call vimtap#Is(vrs#exactly('a', 'z_thousandths'), 0, 'z_thousandths - char') call vimtest#Quit() ================================================ FILE: bundle/VimRegStyle/test/001_numbers_ip-addresses.vim ================================================ call vimtest#StartTap() call vimtap#Plan(2) " <== XXX Keep plan number updated. XXX let an_ip4 = '192.168.1.1' let not_an_ip4 = '999.168.1.1' call vimtap#Is(vrs#matches(an_ip4 , 'ip4' ), 1, 'ip4') call vimtap#Is(vrs#matches(not_an_ip4 , 'ip4' ), 0, 'not an ip4') call vimtest#Quit() ================================================ FILE: bundle/VimRegStyle/test/001_numbers_phone-numbers-pcre.vim ================================================ call vimtest#StartTap() call vimtap#Plan(1) " <== XXX Keep plan number updated. XXX let pcre_regex = ' \ /^ \ (?: \ (?\d) # prefix digit \ [ \-\.]? # optional separator \ )? \ (?: \ \(?(?\d{3})\)? # area code \ [ \-\.] # separator \ )? \ (?\d{3}) # trunk \ [ \-\.] # separator \ (?\d{4}) # line \ (?:\ ?x? # optional space or ''x'' \ (?\d+) # extension \ )? \ $/x' call vimtap#Is(vrs#get('phone_number', 'pcre'), pcre_regex, 'retrieve pcre regex') call vimtest#Quit() ================================================ FILE: bundle/VimRegStyle/test/001_numbers_phone-numbers.vim ================================================ call vimtest#StartTap() call vimtap#Plan(4) " <== XXX Keep plan number updated. XXX let a_phone_number = '1-234-567-0987:1234' let not_a_phone_number_1 = '' let not_a_phone_number_2 = 'x' let not_a_phone_number_3 = '1234' call vimtap#Is(vrs#matches(a_phone_number, 'phone_number'), 1, 'valid telephone matches') call vimtap#Is(vrs#matches(not_a_phone_number_1, 'phone_number'), 0, 'invalid telephone 1 does not match') call vimtap#Is(vrs#matches(not_a_phone_number_2, 'phone_number'), 0, 'invalid telephone 2 does not match') call vimtap#Is(vrs#matches(not_a_phone_number_3, 'phone_number'), 0, 'invalid telephone 3 does not match') call vimtest#Quit() ================================================ FILE: bundle/VimRegStyle/test/002_extended-regex_vrs.vim ================================================ call vimtest#StartTap() call vimtap#Plan(8 + 8 + 7) " <== XXX Keep plan number updated. XXX let erex = ExtendedRegexObject('vrs#get') let t = '\<\%{_ip4_segment,4,.}\>' let t_expanded = '\<\%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\)\.\%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\)\.\%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\)\.\%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\)\>' let vim_func_pat = '^[\ :]*fu\%[nction]!\?\s*\(.\{-}\)(' call vimtap#Is(erex.expand_composition_atom(t), t_expanded, 'expand _ip4_segment') call vimtap#Is(erex.expand_composition_atom('\%{_ip4_segment,2,.}'), '\%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\)\.\%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\)', 'explicit count of 2 and explicit sep of dot') call vimtap#Is(erex.expand_composition_atom('\%{vim_function,1,}'), vim_func_pat, 'explicit count of 1 and explicitly empty sep') call vimtap#Is(erex.expand_composition_atom('\%{vim_function,1}'), vim_func_pat, 'explicit count of 1 and implicit sep') call vimtap#Is(erex.expand_composition_atom('\%{vim_function}'), vim_func_pat, 'implicitly expand name only') call vimtap#Is(erex.expand_composition_atom('\%{vim_function,2,}'), vim_func_pat . vim_func_pat, 'explicit count and explicitly empty sep') call vimtap#Is(erex.expand_composition_atom('\%{vim_function,2}'), vim_func_pat . vim_func_pat, 'explicit count, implicit sep') call vimtap#Is(erex.expand_composition_atom('\%{vim_function,3,\n}'), join(repeat(vim_func_pat, 3), "\n"), 'explicit literal sep') call vimtap#Is(erex.parse(t), t_expanded, 'expand _ip4_segment') call vimtap#Is(erex.parse('\%{_ip4_segment,2,.}'), '\%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\)\.\%(25[0-5]\|2[0-4]\d\|[01]\?\d\d\?\)', 'explicit count of 2 and explicit sep of dot') call vimtap#Is(erex.parse('\%{vim_function,1,}'), vim_func_pat, 'explicit count of 1 and explicitly empty sep') call vimtap#Is(erex.parse('\%{vim_function,1}'), vim_func_pat, 'explicit count of 1 and implicit sep') call vimtap#Is(erex.parse('\%{vim_function}'), vim_func_pat, 'expand name only') call vimtap#Is(erex.parse('\%{vim_function,2,}'), vim_func_pat . vim_func_pat, 'explicit count and explicitly empty sep') call vimtap#Is(erex.parse('\%{vim_function,2}'), vim_func_pat . vim_func_pat, 'explicit count, implicit sep') call vimtap#Is(erex.parse('\%{vim_function,3,\n}'), join(repeat(vim_func_pat, 3), "\n"), 'explicit literal sep') " with spaces let t = '\<\%{_ip4_segment, 4, .}\>' call vimtap#Is( erex.parse(t), t_expanded, 'expand _ip4_segment with spaces') call vimtap#Is( erex.parse('\%{vim_function , 1 , }'), vim_func_pat, 'expand explicitly empty sep with spaces') call vimtap#Is( erex.parse('\%{vim_function ,1}'), vim_func_pat, 'expand implicit sep with spaces') call vimtap#Is( erex.parse('\%{vim_function }'), vim_func_pat, 'expand name only with space') call vimtap#Is( erex.parse('\%{vim_function, 2, }'), vim_func_pat . vim_func_pat, 'expand count of 2 and explicitly empty sep with spaces') call vimtap#Is( erex.parse('\%{vim_function , 2}'), vim_func_pat . vim_func_pat, 'expand count of 2 and implicit sep with spaces') call vimtap#Is( erex.parse('\%{ vim_function , 3 , \n }'), join(repeat(vim_func_pat, 3), "\n"), 'expand count of 3 and explicit of \\n sep with spaces') call vimtest#Quit() ================================================ FILE: bundle/VimRegStyle/test/003_extended-regex_vim.vim ================================================ call vimtest#StartTap() call vimtap#Plan(2) " <== XXX Keep plan number updated. XXX " use default lookup function (which simply accesses vim variables) let erex = ExtendedRegexObject() let x = 'a' let t = '\<\%{g:x,4,.}\>' let t_expanded = '\' call vimtap#Is(erex.expand_composition_atom(t), t_expanded, 'expand vim global variable (expand_composition_atom)') call vimtap#Is(erex.parse(t), t_expanded, 'expand vim global variable (parse)') call vimtest#Quit() ================================================ FILE: bundle/VimRegStyle/test/004_do_not_accept_duplicates.vim ================================================ call vimtest#StartTap() call vimtap#Plan(1) " <== XXX Keep plan number updated. XXX call vrs#set('vrs#test', 'test', 'abc') call vimtap#Ok(!vrs#set('vrs#test', 'test', 'cde'), 'Prevent duplicated entries.') call vimtest#Quit() ================================================ FILE: bundle/VimRegStyle/test/README ================================================ The plugins runVimTests (http://www.vim.org/scripts/script.php?script_id=2565) and VimTAP (http://www.vim.org/scripts/script.php?script_id=2213) are needed to run these tests. Besides the _setup.vim configuration file present in this repo you need to create a global one and place it in the same dir where the runVimTests executable is located. Assuming the executable is at '~/bin/runVimTests' this global configuration file should be '~/bin/runVimTestsSetup.vim' and should have something like the following lines inside of it: " Prepend tests repos to &rtp let &runtimepath = '/path/to/runVimTests_dir,' . &rtp let &runtimepath = '/path/to/vimTAP_dir,' . &rtp ================================================ FILE: bundle/VimRegStyle/test/_setup.vim ================================================ let &rtp = expand(':p:h:h') . ',' . &rtp . ',' . expand(':p:h:h') . '/after' exe "so " . expand(':p:h:h') . '/plugin/vrs.vim' ================================================ FILE: bundle/ale/LICENSE ================================================ Copyright (c) 2016-2020, w0rp All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: bundle/ale/ale_linters/ada/adals.vim ================================================ " Author: Bartek Jasicki http://github.com/thindil " Description: Support for Ada Language Server call ale#Set('ada_adals_executable', 'ada_language_server') call ale#Set('ada_adals_project', 'default.gpr') call ale#Set('ada_adals_encoding', 'utf-8') function! ale_linters#ada#adals#GetAdaLSConfig(buffer) abort return { \ 'ada.projectFile': ale#Var(a:buffer, 'ada_adals_project'), \ 'ada.defaultCharset': ale#Var(a:buffer, 'ada_adals_encoding') \} endfunction function! ale_linters#ada#adals#GetRootDirectory(buffer) abort return fnamemodify(bufname(a:buffer), ':p:h') endfunction call ale#linter#Define('ada', { \ 'name': 'adals', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'ada_adals_executable')}, \ 'command': '%e', \ 'project_root': function('ale_linters#ada#adals#GetRootDirectory'), \ 'lsp_config': function('ale_linters#ada#adals#GetAdaLSConfig') \}) ================================================ FILE: bundle/ale/ale_linters/ada/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Ada files. call ale#handlers#cspell#DefineLinter('ada') ================================================ FILE: bundle/ale/ale_linters/ada/gcc.vim ================================================ " Author: Martino Pilia " Description: Lint Ada files with GCC call ale#Set('ada_gcc_executable', 'gcc') " -gnatwa: activate most optional warnings " -gnatq: try semantic analysis even if syntax errors have been found call ale#Set('ada_gcc_options', '-gnatwa -gnatq') function! ale_linters#ada#gcc#GetCommand(buffer) abort " Build a suitable output file name. The output file is specified because " the .ali file may be created even if no code generation is attempted. " The output file name must match the source file name (except for the " extension), so here we cannot use the null file as output. let l:tmp_dir = fnamemodify(ale#command#CreateDirectory(a:buffer), ':p') let l:out_file = l:tmp_dir . fnamemodify(bufname(a:buffer), ':t:r') . '.o' " -gnatc: Check syntax and semantics only (no code generation attempted) return '%e -x ada -c -gnatc' \ . ' -o ' . ale#Escape(l:out_file) \ . ' -I %s:h' \ . ale#Pad(ale#Var(a:buffer, 'ada_gcc_options')) \ . ' %t' endfunction " For the message format please refer to: " https://gcc.gnu.org/onlinedocs/gnat_ugn/Output-and-Error-Message-Control.html " https://gcc.gnu.org/onlinedocs/gnat_ugn/Warning-Message-Control.html function! ale_linters#ada#gcc#Handle(buffer, lines) abort " Error format: ::: " Warning format: ::: warning: let l:re = '\v(.+):([0-9]+):([0-9]+):\s+(warning:)?\s*(.+)\s*' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:re) call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': str2nr(l:match[2]), \ 'col': str2nr(l:match[3]), \ 'type': l:match[4] is# 'warning:' ? 'W' : 'E', \ 'text': l:match[5], \}) endfor return l:output endfunction call ale#linter#Define('ada', { \ 'name': 'gcc', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'ada_gcc_executable')}, \ 'command': function('ale_linters#ada#gcc#GetCommand'), \ 'callback': 'ale_linters#ada#gcc#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/ansible/ansible_language_server.vim ================================================ " Author: Horacio Sanson " Description: Support ansible language server https://github.com/ansible/ansible-language-server/ call ale#Set('ansible_language_server_executable', 'ansible-language-server') call ale#Set('ansible_language_server_config', {}) function! ale_linters#ansible#ansible_language_server#Executable(buffer) abort return ale#Var(a:buffer, 'ansible_language_server_executable') endfunction function! ale_linters#ansible#ansible_language_server#GetCommand(buffer) abort let l:executable = ale_linters#ansible#ansible_language_server#Executable(a:buffer) return ale#Escape(l:executable) . ' --stdio' endfunction function! ale_linters#ansible#ansible_language_server#FindProjectRoot(buffer) abort let l:dir = fnamemodify( \ ale#path#FindNearestFile(a:buffer, 'ansible.cfg'), \ ':h' \) if l:dir isnot# '.' && isdirectory(l:dir) return l:dir endif let l:dir = fnamemodify( \ ale#path#FindNearestDirectory(a:buffer, '.git'), \ ':h:h' \) if l:dir isnot# '.' && isdirectory(l:dir) return l:dir endif return '' endfunction call ale#linter#Define('ansible', { \ 'name': 'ansible-language-server', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#ansible#ansible_language_server#Executable'), \ 'command': function('ale_linters#ansible#ansible_language_server#GetCommand'), \ 'project_root': function('ale_linters#ansible#ansible_language_server#FindProjectRoot'), \ 'lsp_config': {b -> ale#Var(b, 'ansible_language_server_config')} \}) ================================================ FILE: bundle/ale/ale_linters/ansible/ansible_lint.vim ================================================ " Authors: Bjorn Neergaard , Vytautas Macionis " Description: ansible-lint for ansible-yaml files call ale#Set('ansible_ansible_lint_executable', 'ansible-lint') function! ale_linters#ansible#ansible_lint#GetExecutable(buffer) abort return ale#Var(a:buffer, 'ansible_ansible_lint_executable') endfunction function! ale_linters#ansible#ansible_lint#Handle(buffer, version, lines) abort for l:line in a:lines[:10] if match(l:line, '^Traceback') >= 0 return [{ \ 'lnum': 1, \ 'text': 'An exception was thrown. See :ALEDetail', \ 'detail': join(a:lines, "\n"), \}] endif endfor let l:version_group = ale#semver#GTE(a:version, [6, 0, 0]) ? '>=6.0.0' : \ ale#semver#GTE(a:version, [5, 0, 0]) ? '>=5.0.0' : \ '<5.0.0' let l:output = [] if '>=6.0.0' is# l:version_group let l:error_codes = { 'blocker': 'E', 'critical': 'E', 'major': 'W', 'minor': 'W', 'info': 'I' } let l:linter_issues = ale#util#FuzzyJSONDecode(a:lines, []) for l:issue in l:linter_issues if ale#path#IsBufferPath(a:buffer, l:issue.location.path) call add(l:output, { \ 'lnum': exists('l:issue.location.lines.begin.column') ? l:issue.location.lines.begin.line : \ l:issue.location.lines.begin, \ 'col': exists('l:issue.location.lines.begin.column') ? l:issue.location.lines.begin.column : 0, \ 'text': l:issue.check_name, \ 'detail': l:issue.description, \ 'code': l:issue.severity, \ 'type': l:error_codes[l:issue.severity], \}) endif endfor endif if '>=5.0.0' is# l:version_group " Matches patterns line the following: " test.yml:3:148: syntax-check 'var' is not a valid attribute for a Play " roles/test/tasks/test.yml:8: [package-latest] [VERY_LOW] Package installs should not use latest " D:\test\tasks\test.yml:8: [package-latest] [VERY_LOW] package installs should not use latest let l:pattern = '\v^(%([a-zA-Z]:)?[^:]+):(\d+):%((\d+):)? %(\[([-[:alnum:]]+)\]) %(\[([_[:alnum:]]+)\]) (.*)$' let l:error_codes = { 'VERY_HIGH': 'E', 'HIGH': 'E', 'MEDIUM': 'W', 'LOW': 'W', 'VERY_LOW': 'W', 'INFO': 'I' } for l:match in ale#util#GetMatches(a:lines, l:pattern) if ale#path#IsBufferPath(a:buffer, l:match[1]) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[6], \ 'code': l:match[4], \ 'type': l:error_codes[l:match[5]], \}) endif endfor endif if '<5.0.0' is# l:version_group " Matches patterns line the following: " test.yml:35: [EANSIBLE0002] Trailing whitespace let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?: \[?([[:alnum:]]+)\]? (.*)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:code = l:match[4] if l:code is# 'EANSIBLE0002' \&& !ale#Var(a:buffer, 'warn_about_trailing_whitespace') " Skip warnings for trailing whitespace if the option is off. continue endif if ale#path#IsBufferPath(a:buffer, l:match[1]) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[5], \ 'code': l:code, \ 'type': l:code[:0] is# 'E' ? 'E' : 'W', \}) endif endfor endif return l:output endfunction function! ale_linters#ansible#ansible_lint#GetCommand(buffer, version) abort let l:commands = { \ '>=6.0.0': '%e --nocolor -f json -x yaml %s', \ '>=5.0.0': '%e --nocolor --parseable-severity -x yaml %s', \ '<5.0.0': '%e --nocolor -p %t' \} let l:command = ale#semver#GTE(a:version, [6, 0]) ? l:commands['>=6.0.0'] : \ ale#semver#GTE(a:version, [5, 0]) ? l:commands['>=5.0.0'] : \ l:commands['<5.0.0'] return l:command endfunction call ale#linter#Define('ansible', { \ 'name': 'ansible_lint', \ 'aliases': ['ansible', 'ansible-lint'], \ 'executable': function('ale_linters#ansible#ansible_lint#GetExecutable'), \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale_linters#ansible#ansible_lint#GetExecutable(buffer), \ '%e --version', \ function('ale_linters#ansible#ansible_lint#GetCommand'), \ )}, \ 'lint_file': 1, \ 'callback': {buffer, lines -> ale#semver#RunWithVersionCheck( \ buffer, \ ale_linters#ansible#ansible_lint#GetExecutable(buffer), \ '%e --version', \ {buffer, version -> ale_linters#ansible#ansible_lint#Handle( \ buffer, \ l:version, \ lines)}, \ )}, \}) ================================================ FILE: bundle/ale/ale_linters/apiblueprint/drafter.vim ================================================ " Author: nametake https://nametake.github.io " Description: apiblueprint parser function! ale_linters#apiblueprint#drafter#HandleErrors(buffer, lines) abort " Matches patterns line the following: " " warning: (3) unable to parse response signature, expected 'response [] [()]'; line 4, column 3k - line 4, column 22 " warning: (10) message-body asset is expected to be a pre-formatted code block, separate it by a newline and indent every of its line by 12 spaces or 3 tabs; line 30, column 5 - line 30, column 9; line 31, column 9 - line 31, column 14; line 32, column 9 - line 32, column 14 let l:pattern = '\(^.*\): (\d\+) \(.\{-\}\); line \(\d\+\), column \(\d\+\) - line \d\+, column \d\+\(.*; line \d\+, column \d\+ - line \(\d\+\), column \(\d\+\)\)\{-\}$' let l:output = [] for l:match in ale#util#GetMatches(a:lines[2:], l:pattern) let l:item = { \ 'type': l:match[1] is# 'warning' ? 'W' : 'E', \ 'text': l:match[2], \ 'lnum': l:match[3] + 0, \ 'col': l:match[4] + 0, \} if l:match[5] isnot# '' let l:item.end_lnum = l:match[6] + 0 let l:item.end_col = l:match[7] + 0 endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('apiblueprint', { \ 'name': 'drafter', \ 'output_stream': 'stderr', \ 'executable': 'drafter', \ 'command': 'drafter --use-line-num --validate', \ 'callback': 'ale_linters#apiblueprint#drafter#HandleErrors', \}) ================================================ FILE: bundle/ale/ale_linters/apkbuild/apkbuild_lint.vim ================================================ " Author: Leo " Description: apkbuild-lint from atools linter for APKBUILDs call ale#Set('apkbuild_apkbuild_lint_executable', 'apkbuild-lint') call ale#linter#Define('apkbuild', { \ 'name': 'apkbuild_lint', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'apkbuild_apkbuild_lint_executable')}, \ 'command': '%e %t', \ 'callback': 'ale#handlers#atools#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/apkbuild/secfixes_check.vim ================================================ " Author: Leo " Description: secfixes-check from atools linter for APKBUILDs call ale#Set('apkbuild_secfixes_check_executable', 'secfixes-check') call ale#linter#Define('apkbuild', { \ 'name': 'secfixes_check', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'apkbuild_secfixes_check_executable')}, \ 'command': '%e %t', \ 'callback': 'ale#handlers#atools#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/asciidoc/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for asciidoc files call ale#handlers#alex#DefineLinter('asciidoc', '--text') ================================================ FILE: bundle/ale/ale_linters/asciidoc/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for ASCIIDoc files. call ale#handlers#cspell#DefineLinter('asciidoc') ================================================ FILE: bundle/ale/ale_linters/asciidoc/languagetool.vim ================================================ " Author: Horacio Sanson (hsanson [ät] gmail.com) " Description: languagetool for asciidoc files, copied from markdown. call ale#handlers#languagetool#DefineLinter('asciidoc') ================================================ FILE: bundle/ale/ale_linters/asciidoc/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for AsciiDoc files call ale#linter#Define('asciidoc', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/asciidoc/redpen.vim ================================================ " Author: rhysd https://rhysd.github.io " Description: Redpen, a proofreading tool (http://redpen.cc) call ale#linter#Define('asciidoc', { \ 'name': 'redpen', \ 'executable': 'redpen', \ 'command': 'redpen -f asciidoc -r json %t', \ 'callback': 'ale#handlers#redpen#HandleRedpenOutput', \}) ================================================ FILE: bundle/ale/ale_linters/asciidoc/textlint.vim ================================================ " Author: TANIGUCHI Masaya " Description: textlint for AsciiDoc files call ale#linter#Define('asciidoc', { \ 'name': 'textlint', \ 'executable': function('ale#handlers#textlint#GetExecutable'), \ 'command': function('ale#handlers#textlint#GetCommand'), \ 'callback': 'ale#handlers#textlint#HandleTextlintOutput', \}) ================================================ FILE: bundle/ale/ale_linters/asciidoc/vale.vim ================================================ " Author: Jeff Kreeftmeijer https://github.com/jeffkreeftmeijer " Description: vale for AsciiDoc files call ale#linter#Define('asciidoc', { \ 'name': 'vale', \ 'executable': 'vale', \ 'command': 'vale --output=line %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/asciidoc/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for AsciiDoc files call ale#handlers#writegood#DefineLinter('asciidoc') ================================================ FILE: bundle/ale/ale_linters/asm/gcc.vim ================================================ " Author: Lucas Kolstad " Description: gcc linter for asm files call ale#Set('asm_gcc_executable', 'gcc') call ale#Set('asm_gcc_options', '-Wall') function! ale_linters#asm#gcc#GetCommand(buffer) abort " `-o /dev/null` or `-o null` is needed to catch all errors, " -fsyntax-only doesn't catch everything. return '%e -x assembler' \ . ' -o ' . g:ale#util#nul_file \ . '-iquote %s:h' \ . ' ' . ale#Var(a:buffer, 'asm_gcc_options') . ' -' endfunction function! ale_linters#asm#gcc#Handle(buffer, lines) abort let l:pattern = '^.\+:\(\d\+\): \([^:]\+\): \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'type': l:match[2] =~? 'error' ? 'E' : 'W', \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('asm', { \ 'name': 'gcc', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'asm_gcc_executable')}, \ 'command': function('ale_linters#asm#gcc#GetCommand'), \ 'callback': 'ale_linters#asm#gcc#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/avra/avra.vim ================================================ " Author: Utkarsh Verma " Description: AVRA linter for avra syntax. call ale#Set('avra_avra_executable', 'avra') call ale#Set('avra_avra_options', '') function! ale_linters#avra#avra#GetCommand(buffer) abort return '%e' \ . ' %t' \ . ale#Pad(ale#Var(a:buffer, 'avra_avra_options')) \ . ' -o ' . g:ale#util#nul_file endfunction function! ale_linters#avra#avra#Handle(buffer, lines) abort " Note that we treat 'fatal' as errors. let l:pattern = '^\S\+(\(\d\+\))\s\+:\s\+\(\S\+\)\s\+:\s\+\(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'type': l:match[2] =~? 'Error' ? 'E' : 'W', \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('avra', { \ 'name': 'avra', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'avra_avra_executable')}, \ 'command': function('ale_linters#avra#avra#GetCommand'), \ 'callback': 'ale_linters#avra#avra#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/awk/gawk.vim ================================================ " Author: kmarc " Description: This file adds support for using GNU awk with scripts. call ale#Set('awk_gawk_executable', 'gawk') call ale#Set('awk_gawk_options', '') function! ale_linters#awk#gawk#GetCommand(buffer) abort " note the --source 'BEGIN ...' is to prevent " gawk from attempting to execute the body of the script " it is linting. return '%e --source ' . ale#Escape('BEGIN { exit } END { exit 1 }') \ . ' --lint' \ . ale#Pad(ale#Var(a:buffer, 'awk_gawk_options')) \ . ' -f %t /dev/null' endfunction call ale#linter#Define('awk', { \ 'name': 'gawk', \ 'executable': {b -> ale#Var(b, 'awk_gawk_executable')}, \ 'command': function('ale_linters#awk#gawk#GetCommand'), \ 'callback': 'ale#handlers#gawk#HandleGawkFormat', \ 'output_stream': 'both' \}) ================================================ FILE: bundle/ale/ale_linters/bats/shellcheck.vim ================================================ " Author: Ian2020 " Description: shellcheck linter for bats scripts. call ale#handlers#shellcheck#DefineLinter('bats') ================================================ FILE: bundle/ale/ale_linters/bib/bibclean.vim ================================================ " Author: Horacio Sanson - https://github.com/hsanson " Description: Support for bibclean linter for BibTeX files. call ale#Set('bib_bibclean_executable', 'bibclean') function! ale_linters#bib#bibclean#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'bib_bibclean_executable') return ale#Escape(l:executable) . ' -file-position ' endfunction function! ale_linters#bib#bibclean#get_type(str) abort if a:str is# '??' return 'E' else return 'W' endif endfunction function! ale_linters#bib#bibclean#match_msg(line) abort " Legacy message pattern works for bibclean <= v2.11.4. If empty, try " the new message pattern for bibtex > v2.11.4 let l:matches_legacy = matchlist(a:line, '^\(.*\) "stdin", line \(\d\+\): \(.*\)$') return ! empty(l:matches_legacy) ? l:matches_legacy \ : matchlist(a:line, '^\(.*\) stdin:\(\d\+\):\(.*\)$') endfunction function! ale_linters#bib#bibclean#match_entry(line) abort return matchlist(a:line, 'Entry input byte=.* line=\(.*\) column=\(.*\) output .*$') endfunction function! ale_linters#bib#bibclean#match_value(line) abort return matchlist(a:line, 'Value input byte=.* line=\(.*\) column=\(.*\) output .*$') endfunction function! ale_linters#bib#bibclean#Handle(buffer, lines) abort let l:output = [] let l:type = 'E' let l:msg = '' for l:line in a:lines if empty(l:msg) let l:mlist = ale_linters#bib#bibclean#match_msg(l:line) if !empty(l:mlist) let l:msg = l:mlist[3] let l:type = ale_linters#bib#bibclean#get_type(l:mlist[1]) endif else if l:type is# 'E' let l:mlist = ale_linters#bib#bibclean#match_entry(l:line) else let l:mlist = ale_linters#bib#bibclean#match_value(l:line) endif if !empty(l:mlist) call add(l:output, { \ 'lnum': l:mlist[1], \ 'col': l:mlist[2], \ 'text': l:msg, \ 'type': l:type \}) let l:msg = '' endif endif endfor return l:output endfunction call ale#linter#Define('bib', { \ 'name': 'bibclean', \ 'executable': {b -> ale#Var(b, 'bib_bibclean_executable')}, \ 'command': function('ale_linters#bib#bibclean#GetCommand'), \ 'output_stream': 'stderr', \ 'callback': 'ale_linters#bib#bibclean#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/bicep/bicep.vim ================================================ " Author: Carl Smedstad " Description: bicep for bicep files let g:ale_bicep_bicep_executable = \ get(g:, 'ale_bicep_bicep_executable', 'bicep') let g:ale_bicep_bicep_options = \ get(g:, 'ale_bicep_bicep_options', '') function! ale_linters#bicep#bicep#Executable(buffer) abort return ale#Var(a:buffer, 'bicep_bicep_executable') endfunction function! ale_linters#bicep#bicep#Command(buffer) abort let l:executable = ale_linters#bicep#bicep#Executable(a:buffer) let l:options = ale#Var(a:buffer, 'bicep_bicep_options') if has('win32') let l:nullfile = 'NUL' else let l:nullfile = '/dev/null' endif return ale#Escape(l:executable) \ . ' build --outfile ' \ . l:nullfile \ . ' ' \ . l:options \ . ' %s' endfunction function! ale_linters#bicep#bicep#Handle(buffer, lines) abort let l:pattern = '\v^.*\((\d+),(\d+)\)\s:\s([a-zA-Z]*)\s([-a-zA-Z0-9]*):\s(.*)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) if l:match[3] is# 'Error' let l:type = 'E' elseif l:match[3] is# 'Warning' let l:type = 'W' else let l:type = 'I' endif call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:type, \ 'code': l:match[4], \ 'text': l:match[5], \}) endfor return l:output endfunction call ale#linter#Define('bicep', { \ 'name': 'bicep', \ 'executable': function('ale_linters#bicep#bicep#Executable'), \ 'command': function('ale_linters#bicep#bicep#Command'), \ 'callback': 'ale_linters#bicep#bicep#Handle', \ 'output_stream': 'both', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/bitbake/oelint_adv.vim ================================================ " Author: offa " Description: oelint-adv for BitBake files call ale#Set('bitbake_oelint_adv_executable', 'oelint-adv') call ale#Set('bitbake_oelint_adv_options', '') call ale#Set('bitbake_oelint_adv_config', '.oelint.cfg') function! ale_linters#bitbake#oelint_adv#Command(buffer) abort let l:config_file = ale#path#FindNearestFile(a:buffer, \ ale#Var(a:buffer, 'bitbake_oelint_adv_config')) return ((!empty(l:config_file)) \ ? 'OELINT_CONFIG=' . ale#Escape(l:config_file) . ' ' \ : '') \ . '%e --quiet ' \ . ale#Pad(ale#Var(a:buffer, 'bitbake_oelint_adv_options')) . '%s' endfunction function! ale_linters#bitbake#oelint_adv#Handle(buffer, lines) abort let l:pattern = '\v^(.+):(.+):(.+):(.+):(.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': str2nr(l:match[2]), \ 'type': l:match[3] is# 'error' \ ? 'E' : (l:match[3] is# 'warning' ? 'W' : 'I'), \ 'text': StripAnsiCodes(l:match[5]), \ 'code': l:match[4] \ }) endfor return l:output endfunction function! StripAnsiCodes(line) abort return substitute(a:line, '\e\[[0-9;]\+[mK]', '', 'g') endfunction call ale#linter#Define('bitbake', { \ 'name': 'oelint_adv', \ 'output_stream': 'both', \ 'executable': {b -> ale#Var(b, 'bitbake_oelint_adv_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#bitbake#oelint_adv#Command'), \ 'callback': 'ale_linters#bitbake#oelint_adv#Handle', \ }) ================================================ FILE: bundle/ale/ale_linters/c/cc.vim ================================================ " Author: w0rp " Description: A C compiler linter for C files with gcc/clang, etc. call ale#Set('c_cc_executable', '') call ale#Set('c_cc_options', '-std=c11 -Wall') call ale#Set('c_cc_use_header_lang_flag', -1) call ale#Set('c_cc_header_exts', ['h']) function! ale_linters#c#cc#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'c_cc_executable') " Default to either clang or gcc. if l:executable is# '' if ale#engine#IsExecutable(a:buffer, 'clang') let l:executable = 'clang' else let l:executable = 'gcc' endif endif return l:executable endfunction function! ale_linters#c#cc#GetCommand(buffer, output) abort let l:cflags = ale#c#GetCFlags(a:buffer, a:output) let l:ale_flags = ale#Var(a:buffer, 'c_cc_options') if l:cflags =~# '-std=' let l:ale_flags = substitute( \ l:ale_flags, \ '-std=\(c\|gnu\)[0-9]\{2\}', \ '', \ 'g') endif " Select the correct language flag depending on the executable, options " and file extension let l:executable = ale_linters#c#cc#GetExecutable(a:buffer) let l:use_header_lang_flag = ale#Var(a:buffer, 'c_cc_use_header_lang_flag') let l:header_exts = ale#Var(a:buffer, 'c_cc_header_exts') let l:lang_flag = ale#c#GetLanguageFlag( \ a:buffer, \ l:executable, \ l:use_header_lang_flag, \ l:header_exts, \ 'c') " -iquote with the directory the file is in makes #include work for " headers in the same directory. " " `-o /dev/null` or `-o null` is needed to catch all errors, " -fsyntax-only doesn't catch everything. return '%e -S -x ' . l:lang_flag \ . ' -o ' . g:ale#util#nul_file \ . ' -iquote %s:h' \ . ale#Pad(l:cflags) \ . ale#Pad(l:ale_flags) . ' -' endfunction call ale#linter#Define('c', { \ 'name': 'cc', \ 'aliases': ['gcc', 'clang'], \ 'output_stream': 'stderr', \ 'executable': function('ale_linters#c#cc#GetExecutable'), \ 'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#c#cc#GetCommand'))}, \ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes', \}) ================================================ FILE: bundle/ale/ale_linters/c/ccls.vim ================================================ " Author: Ye Jingchen , Ben Falconer , jtalowell " Description: A language server for C call ale#Set('c_ccls_executable', 'ccls') call ale#Set('c_ccls_init_options', {}) call ale#Set('c_build_dir', '') call ale#linter#Define('c', { \ 'name': 'ccls', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'c_ccls_executable')}, \ 'command': '%e', \ 'project_root': function('ale#handlers#ccls#GetProjectRoot'), \ 'initialization_options': {b -> ale#handlers#ccls#GetInitOpts(b, 'c_ccls_init_options')}, \}) ================================================ FILE: bundle/ale/ale_linters/c/clangd.vim ================================================ " Author: Andrey Melentyev " Description: Clangd language server call ale#Set('c_clangd_executable', 'clangd') call ale#Set('c_clangd_options', '') call ale#Set('c_build_dir', '') function! ale_linters#c#clangd#GetCommand(buffer) abort let l:build_dir = ale#c#GetBuildDirectory(a:buffer) return '%e' \ . ale#Pad(ale#Var(a:buffer, 'c_clangd_options')) \ . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '') endfunction call ale#linter#Define('c', { \ 'name': 'clangd', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'c_clangd_executable')}, \ 'command': function('ale_linters#c#clangd#GetCommand'), \ 'project_root': function('ale#c#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/c/clangtidy.vim ================================================ " Author: vdeurzen , w0rp , " gagbo , Andrej Radovic " Description: clang-tidy linter for c files call ale#Set('c_clangtidy_executable', 'clang-tidy') " Set this option to check the checks clang-tidy will apply. " The number of checks that can be applied to C files is limited in contrast to " C++ " " Consult the check list in clang-tidy's documentation: " http://clang.llvm.org/extra/clang-tidy/checks/list.html call ale#Set('c_clangtidy_checks', []) " Set this option to manually set some options for clang-tidy to use as compile " flags. " This will disable compile_commands.json detection. call ale#Set('c_clangtidy_options', '') " Set this option to manually set options for clang-tidy directly. call ale#Set('c_clangtidy_extra_options', '') call ale#Set('c_build_dir', '') function! ale_linters#c#clangtidy#GetCommand(buffer, output) abort let l:checks = join(ale#Var(a:buffer, 'c_clangtidy_checks'), ',') let l:build_dir = ale#c#GetBuildDirectory(a:buffer) let l:options = '' " Get the extra options if we couldn't find a build directory. if empty(l:build_dir) let l:options = ale#Var(a:buffer, 'c_clangtidy_options') let l:cflags = ale#c#GetCFlags(a:buffer, a:output) let l:options .= !empty(l:options) ? ale#Pad(l:cflags) : l:cflags endif " Get the options to pass directly to clang-tidy let l:extra_options = ale#Var(a:buffer, 'c_clangtidy_extra_options') return '%e' \ . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '') \ . (!empty(l:extra_options) ? ' ' . ale#Escape(l:extra_options) : '') \ . ' %s' \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '') \ . (!empty(l:options) ? ' -- ' . l:options : '') endfunction call ale#linter#Define('c', { \ 'name': 'clangtidy', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'c_clangtidy_executable')}, \ 'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#c#clangtidy#GetCommand'))}, \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/c/cppcheck.vim ================================================ " Author: Bart Libert " Description: cppcheck linter for c files call ale#Set('c_cppcheck_executable', 'cppcheck') call ale#Set('c_cppcheck_options', '--enable=style') function! ale_linters#c#cppcheck#GetCommand(buffer) abort let l:compile_commands_option = ale#handlers#cppcheck#GetCompileCommandsOptions(a:buffer) let l:buffer_path_include = empty(l:compile_commands_option) \ ? ale#handlers#cppcheck#GetBufferPathIncludeOptions(a:buffer) \ : '' let l:template = ' --template=' . ale#Escape('{file}:{line}:{column}: {severity}:{inconclusive:inconclusive:} {message} [{id}]\\n{code}') return '%e -q --language=c' \ . l:template \ . ale#Pad(l:compile_commands_option) \ . ale#Pad(ale#Var(a:buffer, 'c_cppcheck_options')) \ . l:buffer_path_include \ . ' %t' endfunction call ale#linter#Define('c', { \ 'name': 'cppcheck', \ 'output_stream': 'both', \ 'executable': {b -> ale#Var(b, 'c_cppcheck_executable')}, \ 'cwd': function('ale#handlers#cppcheck#GetCwd'), \ 'command': function('ale_linters#c#cppcheck#GetCommand'), \ 'callback': 'ale#handlers#cppcheck#HandleCppCheckFormat', \}) ================================================ FILE: bundle/ale/ale_linters/c/cpplint.vim ================================================ " Author: Justin Huang " Description: cpplint for c files call ale#Set('c_cpplint_executable', 'cpplint') call ale#Set('c_cpplint_options', '') function! ale_linters#c#cpplint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'c_cpplint_options') return '%e' . ale#Pad(l:options) . ' %s' endfunction call ale#linter#Define('c', { \ 'name': 'cpplint', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'c_cpplint_executable')}, \ 'command': function('ale_linters#c#cpplint#GetCommand'), \ 'callback': 'ale#handlers#cpplint#HandleCppLintFormat', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/c/cquery.vim ================================================ " Author: Ben Falconer , jtalowell " Description: A language server for C call ale#Set('c_cquery_executable', 'cquery') call ale#Set('c_cquery_cache_directory', expand('~/.cache/cquery')) function! ale_linters#c#cquery#GetProjectRoot(buffer) abort " Try to find cquery configuration files first. let l:config = ale#path#FindNearestFile(a:buffer, '.cquery') if !empty(l:config) return fnamemodify(l:config, ':h') endif " Fall back on default project root detection. return ale#c#FindProjectRoot(a:buffer) endfunction function! ale_linters#c#cquery#GetInitializationOptions(buffer) abort return {'cacheDirectory': ale#Var(a:buffer, 'c_cquery_cache_directory')} endfunction call ale#linter#Define('c', { \ 'name': 'cquery', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'c_cquery_executable')}, \ 'command': '%e', \ 'project_root': function('ale_linters#c#cquery#GetProjectRoot'), \ 'initialization_options': function('ale_linters#c#cquery#GetInitializationOptions'), \}) ================================================ FILE: bundle/ale/ale_linters/c/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for C files. call ale#handlers#cspell#DefineLinter('c') ================================================ FILE: bundle/ale/ale_linters/c/flawfinder.vim ================================================ " Author: Christian Gibbons " Description: flawfinder linter for c files call ale#Set('c_flawfinder_executable', 'flawfinder') call ale#Set('c_flawfinder_options', '') call ale#Set('c_flawfinder_minlevel', 1) call ale#Set('c_flawfinder_error_severity', 6) function! ale_linters#c#flawfinder#GetCommand(buffer) abort " Set the minimum vulnerability level for flawfinder to bother with let l:minlevel = ' --minlevel=' . ale#Var(a:buffer, 'c_flawfinder_minlevel') return '%e -CDQS' \ . ale#Pad(ale#Var(a:buffer, 'c_flawfinder_options')) \ . l:minlevel \ . ' %t' endfunction call ale#linter#Define('c', { \ 'name': 'flawfinder', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'c_flawfinder_executable')}, \ 'command': function('ale_linters#c#flawfinder#GetCommand'), \ 'callback': 'ale#handlers#flawfinder#HandleFlawfinderFormat', \}) ================================================ FILE: bundle/ale/ale_linters/cairo/starknet.vim ================================================ " Author: 0xHyoga <0xHyoga@gmx.com> " Description: Report starknet-compile errors in cairo code call ale#Set('cairo_starknet_executable', 'starknet-compile') call ale#Set('cairo_starknet_options', '') function! ale_linters#cairo#starknet#Handle(buffer, lines) abort " Error always on the first line " e.g ex01.cairo:20:6: Could not find module 'contracts.utils.ex00_base'. Searched in the following paths: let l:pattern = '\v\.cairo:(\d+):(\d+):+ (.*)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': str2nr(l:match[1]), \ 'col': str2nr(l:match[2]), \ 'type': 'E', \ 'text': l:match[3], \}) endfor return l:output endfunction function! ale_linters#cairo#starknet#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'cairo_starknet_executable') return l:executable . ale#Pad(ale#Var(a:buffer, 'cairo_starknet_options')) . ' %s' endfunction call ale#linter#Define('cairo', { \ 'name': 'starknet', \ 'executable': {b -> ale#Var(b, 'cairo_starknet_executable')}, \ 'command': function('ale_linters#cairo#starknet#GetCommand'), \ 'callback': 'ale_linters#cairo#starknet#Handle', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/chef/cookstyle.vim ================================================ " Author: Raphael Hoegger - https://github.com/pfuender " Description: Cookstyle (RuboCop based), a code style analyzer for Ruby files call ale#Set('chef_cookstyle_executable', 'cookstyle') call ale#Set('chef_cookstyle_options', '') function! ale_linters#chef#cookstyle#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'chef_cookstyle_options') return '%e' . ale#Pad(escape(l:options, '~')) . ' --force-exclusion --format json --stdin ' . ' %s' endfunction function! ale_linters#chef#cookstyle#Handle(buffer, lines) abort if len(a:lines) == 0 return [] endif let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], {}) if !has_key(l:errors, 'summary') \|| l:errors['summary']['offense_count'] == 0 \|| empty(l:errors['files']) return [] endif let l:output = [] for l:error in l:errors['files'][0]['offenses'] let l:start_col = str2nr(l:error['location']['start_column']) let l:end_col = str2nr(l:error['location']['last_column']) if !l:end_col let l:end_col = l:start_col + 1 endif call add(l:output, { \ 'lnum': str2nr(l:error['location']['line']), \ 'col': l:start_col, \ 'end_col': l:end_col, \ 'code': l:error['cop_name'], \ 'text': l:error['message'], \ 'type': l:error['severity'] is? 'convention' ? 'W' : 'E', \}) endfor return l:output endfunction call ale#linter#Define('chef', { \ 'name': 'cookstyle', \ 'executable': {b -> ale#Var(b, 'chef_cookstyle_executable')}, \ 'command': function('ale_linters#chef#cookstyle#GetCommand'), \ 'callback': 'ale_linters#chef#cookstyle#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/chef/foodcritic.vim ================================================ " Author: Edward Larkey " Author: Jose Junior " Author: w0rp " Description: This file adds the foodcritic linter for Chef files. call ale#Set('chef_foodcritic_executable', 'foodcritic') call ale#Set('chef_foodcritic_options', '') function! ale_linters#chef#foodcritic#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'chef_foodcritic_options') return '%e' . ale#Pad(escape(l:options, '~')) . ' %s' endfunction function! ale_linters#chef#foodcritic#Handle(buffer, lines) abort " Matches patterns line the following: " " FC002: Avoid string interpolation where not required: httpd.rb:13 let l:pattern = '\v([^:]+): (.+): ([a-zA-Z]?:?[^:]+):(\d+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'code': l:match[1], \ 'text': l:match[2], \ 'filename': l:match[3], \ 'lnum': l:match[4] + 0, \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('chef', { \ 'name': 'foodcritic', \ 'executable': {b -> ale#Var(b, 'chef_foodcritic_executable')}, \ 'command': function('ale_linters#chef#foodcritic#GetCommand'), \ 'callback': 'ale_linters#chef#foodcritic#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/clojure/clj_kondo.vim ================================================ " Author: Masashi Iizuka " Description: linter for clojure using clj-kondo https://github.com/borkdude/clj-kondo call ale#Set('clojure_clj_kondo_options', '--cache') function! ale_linters#clojure#clj_kondo#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'clojure_clj_kondo_options') let l:command = 'clj-kondo' \ . ale#Pad(l:options) \ . ' --lint -' \ . ' --filename %s' return l:command endfunction function! ale_linters#clojure#clj_kondo#HandleCljKondoFormat(buffer, lines) abort " output format " ::: : let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+)?:(\d+)?:? ((Exception|error|warning): ?(.+))$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:type = 'E' if l:match[4] is? 'warning' let l:type = 'W' endif call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3], \ 'type': l:type, \}) endfor return l:output endfunction call ale#linter#Define('clojure', { \ 'name': 'clj-kondo', \ 'output_stream': 'stdout', \ 'executable': 'clj-kondo', \ 'command': function('ale_linters#clojure#clj_kondo#GetCommand'), \ 'callback': 'ale_linters#clojure#clj_kondo#HandleCljKondoFormat', \}) ================================================ FILE: bundle/ale/ale_linters/clojure/joker.vim ================================================ " Author: Nic West " Description: linter for clojure using joker https://github.com/candid82/joker function! ale_linters#clojure#joker#HandleJokerFormat(buffer, lines) abort " output format " ::: : let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+):? ((Read error|Parse error|Parse warning|Exception): ?(.+))$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:type = 'E' if l:match[4] is? 'Parse warning' let l:type = 'W' endif call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3], \ 'type': l:type, \}) endfor return l:output endfunction call ale#linter#Define('clojure', { \ 'name': 'joker', \ 'output_stream': 'stderr', \ 'executable': 'joker', \ 'command': 'joker --working-dir %s --lint %t', \ 'callback': 'ale_linters#clojure#joker#HandleJokerFormat', \}) ================================================ FILE: bundle/ale/ale_linters/cloudformation/cfn_python_lint.vim ================================================ " Author: Yasuhiro Kiyota " Description: Support cfn-python-lint for AWS Cloudformation template file function! ale_linters#cloudformation#cfn_python_lint#Handle(buffer, lines) abort " Matches patterns line the following: " " sample.template.yaml:96:7:96:15:E3012:Property Resources/Sample/Properties/FromPort should be of type Integer let l:pattern = '\v^(.*):(\d+):(\d+):(\d+):(\d+):([[:alnum:]]+):(.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:code = l:match[6] if ale#path#IsBufferPath(a:buffer, l:match[1]) call add(l:output, { \ 'lnum': l:match[2], \ 'col': l:match[3], \ 'end_lnum': l:match[4], \ 'end_col': l:match[5], \ 'code': l:code, \ 'type': l:code[:0] is# 'E' ? 'E' : 'W', \ 'text': l:match[7] \}) endif endfor return l:output endfunction call ale#linter#Define('cloudformation', { \ 'name': 'cloudformation', \ 'aliases': ['cfn-lint'], \ 'executable': 'cfn-lint', \ 'command': 'cfn-lint --template %t --format parseable', \ 'callback': 'ale_linters#cloudformation#cfn_python_lint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/cmake/cmake_lint.vim ================================================ " Author: Carl Smedstad " Description: cmake-lint for cmake files let g:ale_cmake_cmake_lint_executable = \ get(g:, 'ale_cmake_cmake_lint_executable', 'cmake-lint') let g:ale_cmake_cmake_lint_options = \ get(g:, 'ale_cmake_cmake_lint_options', '') function! ale_linters#cmake#cmake_lint#Executable(buffer) abort return ale#Var(a:buffer, 'cmake_cmake_lint_executable') endfunction function! ale_linters#cmake#cmake_lint#Command(buffer) abort let l:executable = ale_linters#cmake#cmake_lint#Executable(a:buffer) let l:options = ale#Var(a:buffer, 'cmake_cmake_lint_options') return ale#Escape(l:executable) . ' ' . l:options . ' %t' endfunction function! ale_linters#cmake#cmake_lint#Handle(buffer, lines) abort let l:pattern = '\v^[^:]+:(\d+),?(\d+)?:\s\[([A-Z]\d+)\]\s(.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': 'W', \ 'code': l:match[3], \ 'text': l:match[4], \}) endfor return l:output endfunction call ale#linter#Define('cmake', { \ 'name': 'cmake_lint', \ 'executable': function('ale_linters#cmake#cmake_lint#Executable'), \ 'command': function('ale_linters#cmake#cmake_lint#Command'), \ 'callback': 'ale_linters#cmake#cmake_lint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/cmake/cmakelint.vim ================================================ " Author: Kenneth Benzie " Description: cmakelint for cmake files let g:ale_cmake_cmakelint_executable = \ get(g:, 'ale_cmake_cmakelint_executable', 'cmakelint') let g:ale_cmake_cmakelint_options = \ get(g:, 'ale_cmake_cmakelint_options', '') function! ale_linters#cmake#cmakelint#Executable(buffer) abort return ale#Var(a:buffer, 'cmake_cmakelint_executable') endfunction function! ale_linters#cmake#cmakelint#Command(buffer) abort return ale_linters#cmake#cmakelint#Executable(a:buffer) \ . ' ' . ale#Var(a:buffer, 'cmake_cmakelint_options') . ' %t' endfunction call ale#linter#Define('cmake', { \ 'name': 'cmakelint', \ 'executable': function('ale_linters#cmake#cmakelint#Executable'), \ 'command': function('ale_linters#cmake#cmakelint#Command'), \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/coffee/coffee.vim ================================================ " Author: KabbAmine - https://github.com/KabbAmine " Description: Coffee for checking coffee files function! ale_linters#coffee#coffee#GetExecutable(buffer) abort return ale#path#ResolveLocalPath( \ a:buffer, \ 'node_modules/.bin/coffee', \ 'coffee' \) endfunction function! ale_linters#coffee#coffee#GetCommand(buffer) abort return ale_linters#coffee#coffee#GetExecutable(a:buffer) \ . ' -cp -s' endfunction call ale#linter#Define('coffee', { \ 'name': 'coffee', \ 'executable': function('ale_linters#coffee#coffee#GetExecutable'), \ 'command': function('ale_linters#coffee#coffee#GetCommand'), \ 'output_stream': 'stderr', \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/coffee/coffeelint.vim ================================================ " Author: Prashanth Chandra https://github.com/prashcr " Description: coffeelint linter for coffeescript files function! ale_linters#coffee#coffeelint#GetExecutable(buffer) abort return ale#path#ResolveLocalPath( \ a:buffer, \ 'node_modules/.bin/coffeelint', \ 'coffeelint' \) endfunction function! ale_linters#coffee#coffeelint#GetCommand(buffer) abort return ale_linters#coffee#coffeelint#GetExecutable(a:buffer) \ . ' --stdin --reporter csv' endfunction function! ale_linters#coffee#coffeelint#Handle(buffer, lines) abort " Matches patterns like the following: " " path,lineNumber,lineNumberEnd,level,message " stdin,14,,error,Throwing strings is forbidden " " Note that we currently ignore lineNumberEnd for multiline errors let l:pattern = 'stdin,\(\d\+\),\(\d*\),\(.\{-1,}\),\(.\+\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': str2nr(l:match[1]), \ 'type': l:match[3] is# 'error' ? 'E' : 'W', \ 'text': l:match[4], \}) endfor return l:output endfunction call ale#linter#Define('coffee', { \ 'name': 'coffeelint', \ 'executable': function('ale_linters#coffee#coffeelint#GetExecutable'), \ 'command': function('ale_linters#coffee#coffeelint#GetCommand'), \ 'callback': 'ale_linters#coffee#coffeelint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/cpp/cc.vim ================================================ " Author: w0rp " Description: A C++ compiler linter for C++ files with gcc/clang, etc. call ale#Set('cpp_cc_executable', '') call ale#Set('cpp_cc_options', '-std=c++14 -Wall') call ale#Set('cpp_cc_use_header_lang_flag', -1) call ale#Set('cpp_cc_header_exts', ['h', 'hpp']) function! ale_linters#cpp#cc#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'cpp_cc_executable') " Default to either clang++ or gcc. if l:executable is# '' if ale#engine#IsExecutable(a:buffer, 'clang++') let l:executable = 'clang++' else let l:executable = 'gcc' endif endif return l:executable endfunction function! ale_linters#cpp#cc#GetCommand(buffer, output) abort let l:cflags = ale#c#GetCFlags(a:buffer, a:output) let l:ale_flags = ale#Var(a:buffer, 'cpp_cc_options') if l:cflags =~# '-std=' let l:ale_flags = substitute( \ l:ale_flags, \ '-std=\(c\|gnu\)++[0-9]\{2\}', \ '', \ 'g') endif " Select the correct language flag depending on the executable, options " and file extension let l:executable = ale_linters#cpp#cc#GetExecutable(a:buffer) let l:use_header_lang_flag = ale#Var(a:buffer, 'cpp_cc_use_header_lang_flag') let l:header_exts = ale#Var(a:buffer, 'cpp_cc_header_exts') let l:lang_flag = ale#c#GetLanguageFlag( \ a:buffer, \ l:executable, \ l:use_header_lang_flag, \ l:header_exts, \ 'c++') " -iquote with the directory the file is in makes #include work for " headers in the same directory. " " `-o /dev/null` or `-o null` is needed to catch all errors, " -fsyntax-only doesn't catch everything. return '%e -S -x ' . l:lang_flag \ . ' -o ' . g:ale#util#nul_file \ . ' -iquote %s:h' \ . ale#Pad(l:cflags) \ . ale#Pad(l:ale_flags) . ' -' endfunction call ale#linter#Define('cpp', { \ 'name': 'cc', \ 'aliases': ['gcc', 'clang', 'g++', 'clang++'], \ 'output_stream': 'stderr', \ 'executable': function('ale_linters#cpp#cc#GetExecutable'), \ 'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#cpp#cc#GetCommand'))}, \ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes', \}) ================================================ FILE: bundle/ale/ale_linters/cpp/ccls.vim ================================================ " Author: Ye Jingchen , Ben Falconer , jtalowell " Description: A language server for C++ call ale#Set('cpp_ccls_executable', 'ccls') call ale#Set('cpp_ccls_init_options', {}) call ale#Set('c_build_dir', '') call ale#linter#Define('cpp', { \ 'name': 'ccls', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'cpp_ccls_executable')}, \ 'command': '%e', \ 'project_root': function('ale#handlers#ccls#GetProjectRoot'), \ 'initialization_options': {b -> ale#handlers#ccls#GetInitOpts(b, 'cpp_ccls_init_options')}, \}) ================================================ FILE: bundle/ale/ale_linters/cpp/clangcheck.vim ================================================ " Author: gagbo " Description: clang-check linter for cpp files call ale#Set('cpp_clangcheck_executable', 'clang-check') call ale#Set('cpp_clangcheck_options', '') call ale#Set('c_build_dir', '') function! ale_linters#cpp#clangcheck#GetCommand(buffer) abort let l:user_options = ale#Var(a:buffer, 'cpp_clangcheck_options') " Try to find compilation database to link automatically let l:build_dir = ale#Var(a:buffer, 'c_build_dir') if empty(l:build_dir) let [l:root, l:json_file] = ale#c#FindCompileCommands(a:buffer) let l:build_dir = ale#path#Dirname(l:json_file) endif " The extra arguments in the command are used to prevent .plist files from " being generated. These are only added if no build directory can be " detected. return '%e -analyze %s' \ . (empty(l:build_dir) ? ' --extra-arg=-Xclang --extra-arg=-analyzer-output=text --extra-arg=-fno-color-diagnostics': '') \ . ale#Pad(l:user_options) \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '') endfunction call ale#linter#Define('cpp', { \ 'name': 'clangcheck', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'cpp_clangcheck_executable')}, \ 'command': function('ale_linters#cpp#clangcheck#GetCommand'), \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/cpp/clangd.vim ================================================ " Author: Andrey Melentyev " Description: Clangd language server call ale#Set('cpp_clangd_executable', 'clangd') call ale#Set('cpp_clangd_options', '') call ale#Set('c_build_dir', '') function! ale_linters#cpp#clangd#GetCommand(buffer) abort let l:build_dir = ale#c#GetBuildDirectory(a:buffer) return '%e' \ . ale#Pad(ale#Var(a:buffer, 'cpp_clangd_options')) \ . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '') endfunction call ale#linter#Define('cpp', { \ 'name': 'clangd', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'cpp_clangd_executable')}, \ 'command': function('ale_linters#cpp#clangd#GetCommand'), \ 'project_root': function('ale#c#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/cpp/clangtidy.vim ================================================ " Author: vdeurzen , w0rp , " gagbo " Description: clang-tidy linter for cpp files call ale#Set('cpp_clangtidy_executable', 'clang-tidy') " Set this option to check the checks clang-tidy will apply. call ale#Set('cpp_clangtidy_checks', []) " Set this option to manually set some options for clang-tidy to use as compile " flags. " This will disable compile_commands.json detection. call ale#Set('cpp_clangtidy_options', '') " Set this option to manually set options for clang-tidy directly. call ale#Set('cpp_clangtidy_extra_options', '') call ale#Set('c_build_dir', '') function! ale_linters#cpp#clangtidy#GetCommand(buffer, output) abort let l:checks = join(ale#Var(a:buffer, 'cpp_clangtidy_checks'), ',') let l:build_dir = ale#c#GetBuildDirectory(a:buffer) let l:options = '' " Get the extra options if we couldn't find a build directory. if empty(l:build_dir) let l:options = ale#Var(a:buffer, 'cpp_clangtidy_options') let l:cflags = ale#c#GetCFlags(a:buffer, a:output) let l:options .= !empty(l:options) ? ale#Pad(l:cflags) : l:cflags " Tell clang-tidy a .h header with a C++ filetype in Vim is a C++ file " only when compile-commands.json file is not there. Adding these " flags makes clang-tidy completely ignore compile commands. if expand('#' . a:buffer) =~# '\.h$' let l:options .= !empty(l:options) ? ' -x c++' : '-x c++' endif endif " Get the options to pass directly to clang-tidy let l:extra_options = ale#Var(a:buffer, 'cpp_clangtidy_extra_options') return '%e' \ . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '') \ . (!empty(l:extra_options) ? ' ' . ale#Escape(l:extra_options) : '') \ . ' %s' \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '') \ . (!empty(l:options) ? ' -- ' . l:options : '') endfunction call ale#linter#Define('cpp', { \ 'name': 'clangtidy', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'cpp_clangtidy_executable')}, \ 'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#cpp#clangtidy#GetCommand'))}, \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/cpp/clazy.vim ================================================ " Description: clazy linter for cpp files (clang-based and Qt-oriented) call ale#Set('cpp_clazy_executable', 'clazy-standalone') " Set this option to check the checks clazy will apply. call ale#Set('cpp_clazy_checks', ['level1']) " Set this option to manually set some options for clazy. " This will disable compile_commands.json detection. call ale#Set('cpp_clazy_options', '') call ale#Set('c_build_dir', '') function! ale_linters#cpp#clazy#GetCommand(buffer) abort let l:checks = join(ale#Var(a:buffer, 'cpp_clazy_checks'), ',') let l:build_dir = ale#c#GetBuildDirectory(a:buffer) " Get the extra options if we couldn't find a build directory. let l:options = ale#Var(a:buffer, 'cpp_clazy_options') return '%e' \ . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '') \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '') \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %s' endfunction call ale#linter#Define('cpp', { \ 'name': 'clazy', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'cpp_clazy_executable')}, \ 'command': function('ale_linters#cpp#clazy#GetCommand'), \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/cpp/cppcheck.vim ================================================ " Author: Bart Libert " Description: cppcheck linter for cpp files call ale#Set('cpp_cppcheck_executable', 'cppcheck') call ale#Set('cpp_cppcheck_options', '--enable=style') function! ale_linters#cpp#cppcheck#GetCommand(buffer) abort let l:compile_commands_option = ale#handlers#cppcheck#GetCompileCommandsOptions(a:buffer) let l:buffer_path_include = empty(l:compile_commands_option) \ ? ale#handlers#cppcheck#GetBufferPathIncludeOptions(a:buffer) \ : '' let l:template = ' --template=' . ale#Escape('{file}:{line}:{column}: {severity}:{inconclusive:inconclusive:} {message} [{id}]\\n{code}') return '%e -q --language=c++' \ . l:template \ . ale#Pad(l:compile_commands_option) \ . ale#Pad(ale#Var(a:buffer, 'cpp_cppcheck_options')) \ . l:buffer_path_include \ . ' %t' endfunction call ale#linter#Define('cpp', { \ 'name': 'cppcheck', \ 'output_stream': 'both', \ 'executable': {b -> ale#Var(b, 'cpp_cppcheck_executable')}, \ 'cwd': function('ale#handlers#cppcheck#GetCwd'), \ 'command': function('ale_linters#cpp#cppcheck#GetCommand'), \ 'callback': 'ale#handlers#cppcheck#HandleCppCheckFormat', \}) ================================================ FILE: bundle/ale/ale_linters/cpp/cpplint.vim ================================================ " Author: Dawid Kurek https://github.com/dawikur " Description: cpplint for cpp files call ale#Set('cpp_cpplint_executable', 'cpplint') call ale#Set('cpp_cpplint_options', '') function! ale_linters#cpp#cpplint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'cpp_cpplint_options') return '%e' . ale#Pad(l:options) . ' %s' endfunction call ale#linter#Define('cpp', { \ 'name': 'cpplint', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'cpp_cpplint_executable')}, \ 'command': function('ale_linters#cpp#cpplint#GetCommand'), \ 'callback': 'ale#handlers#cpplint#HandleCppLintFormat', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/cpp/cquery.vim ================================================ " Author: Ben Falconer " Description: A language server for C++ call ale#Set('cpp_cquery_executable', 'cquery') call ale#Set('cpp_cquery_cache_directory', expand('~/.cache/cquery')) function! ale_linters#cpp#cquery#GetProjectRoot(buffer) abort " Try to find cquery configuration files first. let l:config = ale#path#FindNearestFile(a:buffer, '.cquery') if !empty(l:config) return fnamemodify(l:config, ':h') endif " Fall back on default project root detection. return ale#c#FindProjectRoot(a:buffer) endfunction function! ale_linters#cpp#cquery#GetInitializationOptions(buffer) abort return {'cacheDirectory': ale#Var(a:buffer, 'cpp_cquery_cache_directory')} endfunction call ale#linter#Define('cpp', { \ 'name': 'cquery', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'cpp_cquery_executable')}, \ 'command': '%e', \ 'project_root': function('ale_linters#cpp#cquery#GetProjectRoot'), \ 'initialization_options': function('ale_linters#cpp#cquery#GetInitializationOptions'), \}) ================================================ FILE: bundle/ale/ale_linters/cpp/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for C++ files. call ale#handlers#cspell#DefineLinter('cpp') ================================================ FILE: bundle/ale/ale_linters/cpp/flawfinder.vim ================================================ " Author: Christian Gibbons " Description: flawfinder linter for c++ files call ale#Set('cpp_flawfinder_executable', 'flawfinder') call ale#Set('cpp_flawfinder_options', '') call ale#Set('cpp_flawfinder_minlevel', 1) call ale#Set('c_flawfinder_error_severity', 6) function! ale_linters#cpp#flawfinder#GetCommand(buffer) abort " Set the minimum vulnerability level for flawfinder to bother with let l:minlevel = ' --minlevel=' . ale#Var(a:buffer, 'cpp_flawfinder_minlevel') return '%e -CDQS' \ . ale#Var(a:buffer, 'cpp_flawfinder_options') \ . l:minlevel \ . ' %t' endfunction call ale#linter#Define('cpp', { \ 'name': 'flawfinder', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'cpp_flawfinder_executable')}, \ 'command': function('ale_linters#cpp#flawfinder#GetCommand'), \ 'callback': 'ale#handlers#flawfinder#HandleFlawfinderFormat', \}) ================================================ FILE: bundle/ale/ale_linters/crystal/ameba.vim ================================================ " Author: Harrison Bachrach - https://github.com/HarrisonB " Description: Ameba, a linter for crystal files call ale#Set('crystal_ameba_executable', 'bin/ameba') function! ale_linters#crystal#ameba#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'crystal_ameba_executable') return ale#Escape(l:executable) \ . ' --format json ' \ . ale#Escape(expand('#' . a:buffer . ':p')) endfunction " Handle output from ameba function! ale_linters#crystal#ameba#HandleAmebaOutput(buffer, lines) abort if len(a:lines) == 0 return [] endif let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], {}) if !has_key(l:errors, 'summary') \|| l:errors['summary']['issues_count'] == 0 \|| empty(l:errors['sources']) return [] endif let l:output = [] for l:error in l:errors['sources'][0]['issues'] let l:start_col = str2nr(l:error['location']['column']) let l:end_col = str2nr(l:error['end_location']['column']) if !l:end_col let l:end_col = l:start_col + 1 endif call add(l:output, { \ 'lnum': str2nr(l:error['location']['line']), \ 'col': l:start_col, \ 'end_col': l:end_col, \ 'code': l:error['rule_name'], \ 'text': l:error['message'], \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('crystal', { \ 'name': 'ameba', \ 'executable': {b -> ale#Var(b, 'crystal_ameba_executable')}, \ 'command': function('ale_linters#crystal#ameba#GetCommand'), \ 'callback': 'ale_linters#crystal#ameba#HandleAmebaOutput', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/crystal/crystal.vim ================================================ " Author: Jordan Andree , David Alexander " Description: This file adds support for checking Crystal with crystal build function! ale_linters#crystal#crystal#Handle(buffer, lines) abort let l:output = [] for l:error in ale#util#FuzzyJSONDecode(a:lines, []) if !has_key(l:error, 'file') continue endif call add(l:output, { \ 'lnum': l:error.line + 0, \ 'col': l:error.column + 0, \ 'text': l:error.message, \}) endfor return l:output endfunction function! ale_linters#crystal#crystal#GetCommand(buffer) abort return 'crystal build -f json --no-codegen --no-color -o ' \ . ale#Escape(g:ale#util#nul_file) \ . ' %s' endfunction call ale#linter#Define('crystal', { \ 'name': 'crystal', \ 'executable': 'crystal', \ 'output_stream': 'both', \ 'lint_file': 1, \ 'command': function('ale_linters#crystal#crystal#GetCommand'), \ 'callback': 'ale_linters#crystal#crystal#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/cs/csc.vim ================================================ call ale#Set('cs_csc_options', '') call ale#Set('cs_csc_source', '') call ale#Set('cs_csc_assembly_path', []) call ale#Set('cs_csc_assemblies', []) function! ale_linters#cs#csc#GetCwd(buffer) abort let l:cwd = ale#Var(a:buffer, 'cs_csc_source') return !empty(l:cwd) ? l:cwd : expand('#' . a:buffer . ':p:h') endfunction function! ale_linters#cs#csc#GetCommand(buffer) abort " Pass assembly paths via the -lib: parameter. let l:path_list = ale#Var(a:buffer, 'cs_csc_assembly_path') let l:lib_option = !empty(l:path_list) \ ? '/lib:' . join(map(copy(l:path_list), 'ale#Escape(v:val)'), ',') \ : '' " Pass paths to DLL files via the -r: parameter. let l:assembly_list = ale#Var(a:buffer, 'cs_csc_assemblies') let l:r_option = !empty(l:assembly_list) \ ? '/r:' . join(map(copy(l:assembly_list), 'ale#Escape(v:val)'), ',') \ : '' " register temporary module target file with ale " register temporary module target file with ALE. let l:out = ale#command#CreateFile(a:buffer) " The code is compiled as a module and the output is redirected to a " temporary file. return 'csc /unsafe' \ . ale#Pad(ale#Var(a:buffer, 'cs_csc_options')) \ . ale#Pad(l:lib_option) \ . ale#Pad(l:r_option) \ . ' /out:' . l:out \ . ' /t:module' \ . ' /recurse:' . ale#Escape('*.cs') endfunction function! ale_linters#cs#csc#Handle(buffer, lines) abort " Look for lines like the following. " " Tests.cs(12,29): error CSXXXX: ; expected " " NOTE: pattern also captures file name as linter compiles all " files within the source tree rooted at the specified source " path and not just the file loaded in the buffer let l:patterns = [ \ '^\v(.+\.cs)\((\d+),(\d+)\)\:\s+([^ ]+)\s+([cC][sS][^ ]+):\s(.+)$', \ '^\v([^ ]+)\s+([Cc][sS][^ ]+):\s+(.+)$', \] let l:output = [] let l:dir = ale_linters#cs#csc#GetCwd(a:buffer) for l:match in ale#util#GetMatches(a:lines, l:patterns) if len(l:match) > 6 && strlen(l:match[5]) > 2 && l:match[5][:1] is? 'CS' call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'type': l:match[4] is# 'error' ? 'E' : 'W', \ 'code': l:match[5], \ 'text': l:match[6] , \}) elseif strlen(l:match[2]) > 2 && l:match[2][:1] is? 'CS' call add(l:output, { \ 'filename':'', \ 'lnum': -1, \ 'col': -1, \ 'type': l:match[1] is# 'error' ? 'E' : 'W', \ 'code': l:match[2], \ 'text': l:match[3], \}) endif endfor return l:output endfunction call ale#linter#Define('cs',{ \ 'name': 'csc', \ 'output_stream': 'stdout', \ 'executable': 'csc', \ 'cwd': function('ale_linters#cs#csc#GetCwd'), \ 'command': function('ale_linters#cs#csc#GetCommand'), \ 'callback': 'ale_linters#cs#csc#Handle', \ 'lint_file': 1 \}) ================================================ FILE: bundle/ale/ale_linters/cs/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for C# files. call ale#handlers#cspell#DefineLinter('cs') ================================================ FILE: bundle/ale/ale_linters/cs/mcs.vim ================================================ let g:ale_cs_mcs_options = get(g:, 'ale_cs_mcs_options', '') function! ale_linters#cs#mcs#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'cs_mcs_options') return 'mcs -unsafe --parse' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %t' endfunction function! ale_linters#cs#mcs#Handle(buffer, lines) abort " Look for lines like the following. " " Tests.cs(12,29): error CSXXXX: ; expected let l:pattern = '^\v(.+\.cs)\((\d+),(\d+)\)\: ([^ ]+) ([^ ]+): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'type': l:match[4] is# 'error' ? 'E' : 'W', \ 'code': l:match[5], \ 'text': l:match[6], \}) endfor return l:output endfunction call ale#linter#Define('cs',{ \ 'name': 'mcs', \ 'output_stream': 'stderr', \ 'executable': 'mcs', \ 'command': function('ale_linters#cs#mcs#GetCommand'), \ 'callback': 'ale_linters#cs#mcs#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/cs/mcsc.vim ================================================ call ale#Set('cs_mcsc_options', '') call ale#Set('cs_mcsc_source', '') call ale#Set('cs_mcsc_assembly_path', []) call ale#Set('cs_mcsc_assemblies', []) function! ale_linters#cs#mcsc#GetCwd(buffer) abort let l:cwd = ale#Var(a:buffer, 'cs_mcsc_source') return !empty(l:cwd) ? l:cwd : expand('#' . a:buffer . ':p:h') endfunction function! ale_linters#cs#mcsc#GetCommand(buffer) abort " Pass assembly paths via the -lib: parameter. let l:path_list = ale#Var(a:buffer, 'cs_mcsc_assembly_path') let l:lib_option = !empty(l:path_list) \ ? '-lib:' . join(map(copy(l:path_list), 'ale#Escape(v:val)'), ',') \ : '' " Pass paths to DLL files via the -r: parameter. let l:assembly_list = ale#Var(a:buffer, 'cs_mcsc_assemblies') let l:r_option = !empty(l:assembly_list) \ ? '-r:' . join(map(copy(l:assembly_list), 'ale#Escape(v:val)'), ',') \ : '' " register temporary module target file with ale " register temporary module target file with ALE. let l:out = ale#command#CreateFile(a:buffer) " The code is compiled as a module and the output is redirected to a " temporary file. return 'mcs -unsafe' \ . ale#Pad(ale#Var(a:buffer, 'cs_mcsc_options')) \ . ale#Pad(l:lib_option) \ . ale#Pad(l:r_option) \ . ' -out:' . l:out \ . ' -t:module' \ . ' -recurse:' . ale#Escape('*.cs') endfunction function! ale_linters#cs#mcsc#Handle(buffer, lines) abort " Look for lines like the following. " " Tests.cs(12,29): error CSXXXX: ; expected " " NOTE: pattern also captures file name as linter compiles all " files within the source tree rooted at the specified source " path and not just the file loaded in the buffer let l:patterns = [ \ '^\v(.+\.cs)\((\d+),(\d+)\)\:\s+([^ ]+)\s+([cC][sS][^ ]+):\s(.+)$', \ '^\v([^ ]+)\s+([Cc][sS][^ ]+):\s+(.+)$', \] let l:output = [] let l:dir = ale_linters#cs#mcsc#GetCwd(a:buffer) for l:match in ale#util#GetMatches(a:lines, l:patterns) if len(l:match) > 6 && strlen(l:match[5]) > 2 && l:match[5][:1] is? 'CS' call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'type': l:match[4] is# 'error' ? 'E' : 'W', \ 'code': l:match[5], \ 'text': l:match[6] , \}) elseif strlen(l:match[2]) > 2 && l:match[2][:1] is? 'CS' call add(l:output, { \ 'filename':'', \ 'lnum': -1, \ 'col': -1, \ 'type': l:match[1] is# 'error' ? 'E' : 'W', \ 'code': l:match[2], \ 'text': l:match[3], \}) endif endfor return l:output endfunction call ale#linter#Define('cs',{ \ 'name': 'mcsc', \ 'output_stream': 'stderr', \ 'executable': 'mcs', \ 'cwd': function('ale_linters#cs#mcsc#GetCwd'), \ 'command': function('ale_linters#cs#mcsc#GetCommand'), \ 'callback': 'ale_linters#cs#mcsc#Handle', \ 'lint_file': 1 \}) ================================================ FILE: bundle/ale/ale_linters/css/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for CSS files. call ale#handlers#cspell#DefineLinter('css') ================================================ FILE: bundle/ale/ale_linters/css/csslint.vim ================================================ " Author: w0rp " Description: This file adds support for checking CSS code with csslint. function! ale_linters#css#csslint#GetCommand(buffer) abort let l:csslintrc = ale#path#FindNearestFile(a:buffer, '.csslintrc') let l:config_option = !empty(l:csslintrc) \ ? '--config=' . ale#Escape(l:csslintrc) \ : '' return 'csslint --format=compact ' . l:config_option . ' %t' endfunction call ale#linter#Define('css', { \ 'name': 'csslint', \ 'executable': 'csslint', \ 'command': function('ale_linters#css#csslint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleCSSLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/css/fecs.vim ================================================ " Author: harttle " Description: fecs for CSS files call ale#linter#Define('css', { \ 'name': 'fecs', \ 'executable': function('ale#handlers#fecs#GetExecutable'), \ 'command': function('ale#handlers#fecs#GetCommand'), \ 'callback': 'ale#handlers#fecs#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/css/stylelint.vim ================================================ " Author: diartyz call ale#Set('css_stylelint_executable', 'stylelint') call ale#Set('css_stylelint_options', '') call ale#Set('css_stylelint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#css#stylelint#GetCommand(buffer) abort return '%e ' . ale#Pad(ale#Var(a:buffer, 'css_stylelint_options')) \ . ' --stdin-filename %s' endfunction call ale#linter#Define('css', { \ 'name': 'stylelint', \ 'executable': {b -> ale#path#FindExecutable(b, 'css_stylelint', [ \ 'node_modules/.bin/stylelint', \ ])}, \ 'command': function('ale_linters#css#stylelint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleStyleLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/css/vscodecss.vim ================================================ " Author: Dalius Dobravolskas " Description: VSCode css language server function! ale_linters#css#vscodecss#GetProjectRoot(buffer) abort let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction call ale#linter#Define('css', { \ 'name': 'vscodecss', \ 'lsp': 'stdio', \ 'executable': 'vscode-css-language-server', \ 'command': '%e --stdio', \ 'project_root': function('ale_linters#css#vscodecss#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/cucumber/cucumber.vim ================================================ " Author: Eddie Lebow https://github.com/elebow " Description: Cucumber, a BDD test tool function! ale_linters#cucumber#cucumber#GetCommand(buffer) abort let l:features_dir = ale#path#FindNearestDirectory(a:buffer, 'features') if !empty(l:features_dir) let l:features_arg = '-r ' . ale#Escape(l:features_dir) else let l:features_arg = '' endif return 'cucumber --dry-run --quiet --strict --format=json ' \ . l:features_arg . ' %t' endfunction function! ale_linters#cucumber#cucumber#Handle(buffer, lines) abort try let l:json = ale#util#FuzzyJSONDecode(a:lines, {})[0] catch return [] endtry let l:output = [] for l:element in get(l:json, 'elements', []) for l:step in l:element['steps'] if l:step['result']['status'] is# 'undefined' call add(l:output, { \ 'lnum': l:step['line'], \ 'code': 'E', \ 'text': 'Undefined step' \}) endif endfor endfor return l:output endfunction call ale#linter#Define('cucumber', { \ 'name': 'cucumber', \ 'executable': 'cucumber', \ 'command': function('ale_linters#cucumber#cucumber#GetCommand'), \ 'callback': 'ale_linters#cucumber#cucumber#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/cuda/clangd.vim ================================================ " Author: Tommy Chiang " Description: Clangd language server for CUDA (modified from Andrey " Melentyev's implementation for C++) call ale#Set('cuda_clangd_executable', 'clangd') call ale#Set('cuda_clangd_options', '') call ale#Set('c_build_dir', '') function! ale_linters#cuda#clangd#GetCommand(buffer) abort let l:build_dir = ale#c#GetBuildDirectory(a:buffer) return '%e' \ . ale#Pad(ale#Var(a:buffer, 'cuda_clangd_options')) \ . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '') endfunction call ale#linter#Define('cuda', { \ 'name': 'clangd', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'cuda_clangd_executable')}, \ 'command': function('ale_linters#cuda#clangd#GetCommand'), \ 'project_root': function('ale#c#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/cuda/nvcc.vim ================================================ " Author: blahgeek " Description: NVCC linter for cuda files call ale#Set('cuda_nvcc_executable', 'nvcc') call ale#Set('cuda_nvcc_options', '-std=c++11') function! ale_linters#cuda#nvcc#GetCommand(buffer) abort return '%e -cuda' \ . ale#Pad(ale#c#IncludeOptions(ale#c#FindLocalHeaderPaths(a:buffer))) \ . ale#Pad(ale#Var(a:buffer, 'cuda_nvcc_options')) \ . ' %s -o ' . g:ale#util#nul_file endfunction function! ale_linters#cuda#nvcc#HandleNVCCFormat(buffer, lines) abort " Look for lines like the following. " " test.cu(8): error: argument of type "void *" is incompatible with parameter of type "int *" let l:pattern = '\v^([^:\(\)]+):?\(?(\d+)\)?:(\d+)?:?\s*\w*\s*(error|warning): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': str2nr(l:match[2]), \ 'type': l:match[4] =~# 'error' ? 'E' : 'W', \ 'text': l:match[5], \ 'filename': fnamemodify(l:match[1], ':p'), \} if !empty(l:match[3]) let l:item.col = str2nr(l:match[3]) endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('cuda', { \ 'name': 'nvcc', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'cuda_nvcc_executable')}, \ 'command': function('ale_linters#cuda#nvcc#GetCommand'), \ 'callback': 'ale_linters#cuda#nvcc#HandleNVCCFormat', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/cypher/cypher_lint.vim ================================================ " Author: Francisco Lopes " Description: Linting for Neo4j's Cypher function! ale_linters#cypher#cypher_lint#Handle(buffer, lines) abort let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+): (.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[4], \ 'type': 'E', \}) endfor return l:output endfunction call ale#linter#Define('cypher', { \ 'name': 'cypher_lint', \ 'executable': 'cypher-lint', \ 'command': 'cypher-lint', \ 'output_stream': 'stderr', \ 'callback': 'ale_linters#cypher#cypher_lint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/d/dls.vim ================================================ " Author: aurieh " Description: A Language Server implementation for D call ale#Set('d_dls_executable', 'dls') function! ale_linters#d#dls#GetExecutable(buffer) abort return ale#Var(a:buffer, 'd_dls_executable') endfunction function! ale_linters#d#dls#FindProjectRoot(buffer) abort " Note: this will return . if dub config is empty " dls can run outside DUB projects just fine return fnamemodify(ale#d#FindDUBConfig(a:buffer), ':h') endfunction call ale#linter#Define('d', { \ 'name': 'dls', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#d#dls#GetExecutable'), \ 'command': function('ale_linters#d#dls#GetExecutable'), \ 'project_root': function('ale_linters#d#dls#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/d/dmd.vim ================================================ " Author: w0rp " Description: "dmd for D files" function! s:GetDUBCommand(buffer) abort " If we can't run dub, then skip this command. if executable('dub') " Returning an empty string skips to the DMD command. let l:config = ale#d#FindDUBConfig(a:buffer) " To support older dub versions, we just change the directory to the " directory where we found the dub config, and then run `dub describe` " from that directory. if !empty(l:config) return [fnamemodify(l:config, ':h'), 'dub describe --data-list \ --data=import-paths \ --data=string-import-paths \ --data=versions \ --data=debug-versions \'] endif endif return ['', ''] endfunction function! ale_linters#d#dmd#RunDUBCommand(buffer) abort let [l:cwd, l:command] = s:GetDUBCommand(a:buffer) if empty(l:command) " If we can't run DUB, just run DMD. return ale_linters#d#dmd#DMDCommand(a:buffer, [], {}) endif return ale#command#Run( \ a:buffer, \ l:command, \ function('ale_linters#d#dmd#DMDCommand'), \ {'cwd': l:cwd}, \) endfunction function! ale_linters#d#dmd#DMDCommand(buffer, dub_output, meta) abort let l:import_list = [] let l:str_import_list = [] let l:versions_list = [] let l:deb_versions_list = [] let l:list_ind = 1 let l:seen_line = 0 " Build a list of options generated from DUB, if available. " DUB output each path or version on a single line. " Each list is separated by a blank line. " Empty list are represented by a blank line (followed and/or " preceded by a separation blank line) for l:line in a:dub_output " line still has end of line char on windows let l:line = substitute(l:line, '[\r\n]*$', '', '') if !empty(l:line) if l:list_ind == 1 call add(l:import_list, '-I' . ale#Escape(l:line)) elseif l:list_ind == 2 call add(l:str_import_list, '-J' . ale#Escape(l:line)) elseif l:list_ind == 3 call add(l:versions_list, '-version=' . ale#Escape(l:line)) elseif l:list_ind == 4 call add(l:deb_versions_list, '-debug=' . ale#Escape(l:line)) endif let l:seen_line = 1 elseif !l:seen_line " if list is empty must skip one empty line let l:seen_line = 1 else let l:seen_line = 0 let l:list_ind += 1 endif endfor return 'dmd ' . join(l:import_list) . ' ' . \ join(l:str_import_list) . ' ' . \ join(l:versions_list) . ' ' . \ join(l:deb_versions_list) . ' -o- -wi -vcolumns -c %t' endfunction function! ale_linters#d#dmd#Handle(buffer, lines) abort " Matches patterns lines like the following: " /tmp/tmp.qclsa7qLP7/file.d(1): Error: function declaration without return type. (Note that constructors are always named 'this') " /tmp/tmp.G1L5xIizvB.d(8,8): Error: module weak_reference is in file 'dstruct/weak_reference.d' which cannot be read let l:pattern = '\v^(\f+)\((\d+)(,(\d+))?\): (\w+): (.+)$' let l:output = [] let l:dir = expand('#' . a:buffer . ':p:h') for l:match in ale#util#GetMatches(a:lines, l:pattern) " If dmd was invoked with relative path, match[1] is relative, otherwise it is absolute. " As we invoke dmd with the buffer path (in /tmp), this will generally be absolute already let l:fname = ale#path#GetAbsPath(l:dir, l:match[1]) call add(l:output, { \ 'filename': l:fname, \ 'lnum': l:match[2], \ 'col': l:match[4], \ 'type': l:match[5] is# 'Warning' || l:match[5] is# 'Deprecation' ? 'W' : 'E', \ 'text': l:match[6], \}) endfor return l:output endfunction call ale#linter#Define('d', { \ 'name': 'dmd', \ 'executable': 'dmd', \ 'command': function('ale_linters#d#dmd#RunDUBCommand'), \ 'callback': 'ale_linters#d#dmd#Handle', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/dafny/dafny.vim ================================================ " Author: Taylor Blau function! ale_linters#dafny#dafny#Handle(buffer, lines) abort let l:pattern = '\v(.*)\((\d+),(\d+)\): (.*): (.*)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'filename': l:match[1], \ 'col': l:match[3] + 0, \ 'lnum': l:match[2] + 0, \ 'text': l:match[5], \ 'type': l:match[4] =~# '^Error' ? 'E' : 'W' \ }) endfor for l:match in ale#util#GetMatches(a:lines, '\v(.*)\((\d+),(\d+)\): (Verification of .{-} timed out after \d+ seconds)') call add(l:output, { \ 'filename': l:match[1], \ 'col': l:match[3] + 0, \ 'lnum': l:match[2] + 0, \ 'text': l:match[4], \ 'type': 'E', \ }) endfor return l:output endfunction function! ale_linters#dafny#dafny#GetCommand(buffer) abort return printf('dafny %%s /compile:0 /timeLimit:%d', ale#Var(a:buffer, 'dafny_dafny_timelimit')) endfunction call ale#Set('dafny_dafny_timelimit', 10) call ale#linter#Define('dafny', { \ 'name': 'dafny', \ 'executable': 'dafny', \ 'command': function('ale_linters#dafny#dafny#GetCommand'), \ 'callback': 'ale_linters#dafny#dafny#Handle', \ 'lint_file': 1, \ }) ================================================ FILE: bundle/ale/ale_linters/dart/analysis_server.vim ================================================ " Author: Nelson Yeung " Description: Check Dart files with dart analysis server LSP call ale#Set('dart_analysis_server_executable', 'dart') function! ale_linters#dart#analysis_server#GetProjectRoot(buffer) abort " Note: pub only looks for pubspec.yaml, there's no point in adding " support for pubspec.yml let l:pubspec = ale#path#FindNearestFile(a:buffer, 'pubspec.yaml') return !empty(l:pubspec) ? fnamemodify(l:pubspec, ':h:h') : '.' endfunction function! ale_linters#dart#analysis_server#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'dart_analysis_server_executable') let l:dart = resolve(exepath(l:executable)) return '%e ' \ . fnamemodify(l:dart, ':h') . '/snapshots/analysis_server.dart.snapshot' \ . ' --lsp' endfunction call ale#linter#Define('dart', { \ 'name': 'analysis_server', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'dart_analysis_server_executable')}, \ 'command': function('ale_linters#dart#analysis_server#GetCommand'), \ 'project_root': function('ale_linters#dart#analysis_server#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/dart/dart_analyze.vim ================================================ " Author: ghsang " Description: Check Dart files with dart analyze call ale#Set('dart_analyze_executable', 'dart') function! ale_linters#dart#dart_analyze#Handle(buffer, lines) abort let l:pattern = '\v([a-z]+) - (.+):(\d+):(\d+) - (.+) - (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let [l:type, l:filename, l:lnum, l:col, l:message, l:code] = l:match[1:6] call add(l:output, { \ 'type': l:type is# 'error' ? 'E' : l:type is# 'info' ? 'I' : 'W', \ 'text': l:code . ': ' . l:message, \ 'lnum': str2nr(l:lnum), \ 'col': str2nr(l:col), \}) endfor return l:output endfunction call ale#linter#Define('dart', { \ 'name': 'dart_analyze', \ 'executable': {b -> ale#Var(b, 'dart_analyze_executable')}, \ 'command': '%e analyze --fatal-infos %s', \ 'callback': 'ale_linters#dart#dart_analyze#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/dart/language_server.vim ================================================ " Author: aurieh " Description: A language server for dart call ale#Set('dart_language_server_executable', 'dart_language_server') function! ale_linters#dart#language_server#GetProjectRoot(buffer) abort " Note: pub only looks for pubspec.yaml, there's no point in adding " support for pubspec.yml let l:pubspec = ale#path#FindNearestFile(a:buffer, 'pubspec.yaml') return !empty(l:pubspec) ? fnamemodify(l:pubspec, ':h:h') : '' endfunction call ale#linter#Define('dart', { \ 'name': 'language_server', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'dart_language_server_executable')}, \ 'command': '%e', \ 'project_root': function('ale_linters#dart#language_server#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/desktop/desktop_file_validate.vim ================================================ call ale#Set('desktop_desktop_file_validate_options', '') " Example matches for pattern: " " foo.desktop: warning: key "TerminalOptions" in group ... " foo.desktop: error: action "new-private-window" is defined, ... let s:pattern = '\v^(.+): ([a-z]+): (.+)$' function! ale_linters#desktop#desktop_file_validate#Handle(buffer, lines) abort " The error format doesn't specify lines, so we can just put all of the " errors on line 1. return ale#util#MapMatches(a:lines, s:pattern, {match -> { \ 'lnum': 1, \ 'col': 1, \ 'type': match[2] is? 'error' ? 'E' : 'W', \ 'text': match[3], \}}) endfunction call ale#linter#Define('desktop', { \ 'name': 'desktop_file_validate', \ 'aliases': ['desktop-file-validate'], \ 'executable': 'desktop-file-validate', \ 'command': {b -> \ '%e' \ . ale#Pad(ale#Var(b, 'desktop_desktop_file_validate_options')) \ . ' %t' \ }, \ 'callback': 'ale_linters#desktop#desktop_file_validate#Handle', \ 'output_stream': 'both', \}) ================================================ FILE: bundle/ale/ale_linters/dockerfile/dockerfile_lint.vim ================================================ " Author: Alexander Olofsson call ale#Set('dockerfile_dockerfile_lint_executable', 'dockerfile_lint') call ale#Set('dockerfile_dockerfile_lint_options', '') function! ale_linters#dockerfile#dockerfile_lint#GetType(type) abort if a:type is? 'error' return 'E' elseif a:type is? 'warn' return 'W' endif return 'I' endfunction function! ale_linters#dockerfile#dockerfile_lint#Handle(buffer, lines) abort try let l:data = json_decode(join(a:lines, '')) catch return [] endtry if empty(l:data) " Should never happen, but it's better to be on the safe side return [] endif let l:messages = [] for l:type in ['error', 'warn', 'info'] for l:object in l:data[l:type]['data'] let l:line = get(l:object, 'line', -1) let l:message = l:object['message'] let l:link = get(l:object, 'reference_url', '') if type(l:link) == v:t_list " Somehow, reference_url is returned as two-part list. " Anchor markers in that list are sometimes duplicated. " See https://github.com/projectatomic/dockerfile_lint/issues/134 let l:link = join(l:link, '') let l:link = substitute(l:link, '##', '#', '') endif let l:detail = l:message if get(l:object, 'description', 'None') isnot# 'None' let l:detail .= "\n\n" . l:object['description'] endif let l:detail .= "\n\n" . l:link call add(l:messages, { \ 'lnum': l:line, \ 'text': l:message, \ 'type': ale_linters#dockerfile#dockerfile_lint#GetType(l:type), \ 'detail': l:detail, \}) endfor endfor return l:messages endfunction function! ale_linters#dockerfile#dockerfile_lint#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'dockerfile_dockerfile_lint_options')) \ . ' -p -j -f' \ . ' %t' endfunction call ale#linter#Define('dockerfile', { \ 'name': 'dockerfile_lint', \ 'executable': {b -> ale#Var(b, 'dockerfile_dockerfile_lint_executable')}, \ 'command': function('ale_linters#dockerfile#dockerfile_lint#GetCommand'), \ 'callback': 'ale_linters#dockerfile#dockerfile_lint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/dockerfile/hadolint.vim ================================================ " Author: hauleth - https://github.com/hauleth " always, yes, never call ale#Set('dockerfile_hadolint_use_docker', 'never') call ale#Set('dockerfile_hadolint_docker_image', 'hadolint/hadolint') call ale#Set('dockerfile_hadolint_options', '') function! ale_linters#dockerfile#hadolint#Handle(buffer, lines) abort " Matches patterns line the following: " " -:19 DL3001 warning: Pipe chain should start with a raw value. " /dev/stdin:19:3 unexpected thing let l:pattern = '\v^%(/dev/stdin|-):(\d+):?(\d+)? ((DL|SC)(\d+) )?((.+)?: )?(.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:lnum = 0 let l:colnum = 0 if l:match[1] isnot# '' let l:lnum = l:match[1] + 0 endif if l:match[2] isnot# '' let l:colnum = l:match[2] + 0 endif " Shellcheck knows a 'style' severity - pin it to info level as well. if l:match[7] is# 'style' let l:type = 'I' elseif l:match[7] is# 'info' let l:type = 'I' elseif l:match[7] is# 'warning' let l:type = 'W' else let l:type = 'E' endif let l:text = l:match[8] let l:detail = l:match[8] let l:domain = 'https://github.com/hadolint/hadolint/wiki/' let l:code = '' let l:link = '' if l:match[4] is# 'SC' let l:domain = 'https://github.com/koalaman/shellcheck/wiki/' endif if l:match[5] isnot# '' let l:code = l:match[4] . l:match[5] let l:link = ' ( ' . l:domain . l:code . ' )' let l:text = l:code . ': ' . l:detail let l:detail = l:code . l:link . "\n\n" . l:detail else let l:type = 'E' let l:detail = 'hadolint could not parse the file because of a syntax error.' endif let l:line_output = { \ 'lnum': l:lnum, \ 'col': l:colnum, \ 'type': l:type, \ 'text': l:text, \ 'detail': l:detail \} if l:code isnot# '' let l:line_output['code'] = l:code endif call add(l:output, l:line_output) endfor return l:output endfunction " This is a little different than the typical 'executable' callback. We want " to afford the user the chance to say always use docker, never use docker, " and use docker if the hadolint executable is not present on the system. " " In the case of neither docker nor hadolint executables being present, it " really doesn't matter which we return -- either will have the effect of " 'nope, can't use this linter!'. function! ale_linters#dockerfile#hadolint#GetExecutable(buffer) abort let l:use_docker = ale#Var(a:buffer, 'dockerfile_hadolint_use_docker') " check for mandatory directives if l:use_docker is# 'never' return 'hadolint' elseif l:use_docker is# 'always' return 'docker' endif " if we reach here, we want to use 'hadolint' if present... if executable('hadolint') return 'hadolint' endif "... and 'docker' as a fallback. return 'docker' endfunction function! ale_linters#dockerfile#hadolint#GetCommand(buffer) abort let l:command = ale_linters#dockerfile#hadolint#GetExecutable(a:buffer) let l:opts = ale#Var(a:buffer, 'dockerfile_hadolint_options') . ' --no-color -' if l:command is# 'docker' return printf('docker run --rm -i %s hadolint %s', \ ale#Var(a:buffer, 'dockerfile_hadolint_docker_image'), \ l:opts) endif return 'hadolint ' . l:opts endfunction call ale#linter#Define('dockerfile', { \ 'name': 'hadolint', \ 'executable': function('ale_linters#dockerfile#hadolint#GetExecutable'), \ 'command': function('ale_linters#dockerfile#hadolint#GetCommand'), \ 'callback': 'ale_linters#dockerfile#hadolint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/elixir/credo.vim ================================================ " Author: hauleth - https://github.com/hauleth function! ale_linters#elixir#credo#Handle(buffer, lines) abort " Matches patterns line the following: " " lib/filename.ex:19:7: F: Pipe chain should start with a raw value. let l:pattern = '\v:(\d+):?(\d+)?: (.): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:type = l:match[3] let l:text = l:match[4] " Refactoring opportunities if l:type is# 'F' let l:type = 'W' " Consistency elseif l:type is# 'C' let l:type = 'W' " Software Design elseif l:type is# 'D' let l:type = 'I' " Code Readability elseif l:type is# 'R' let l:type = 'I' endif call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:type, \ 'text': l:text, \}) endfor return l:output endfunction function! ale_linters#elixir#credo#GetMode() abort if get(g:, 'ale_elixir_credo_strict', 0) return '--strict' else return 'suggest' endif endfunction function! ale_linters#elixir#credo#GetConfigFile() abort let l:config_file = get(g:, 'ale_elixir_credo_config_file', '') if empty(l:config_file) return '' endif return ' --config-file ' . l:config_file endfunction function! ale_linters#elixir#credo#GetCommand(buffer) abort return 'mix help credo && ' \ . 'mix credo ' . ale_linters#elixir#credo#GetMode() \ . ale_linters#elixir#credo#GetConfigFile() \ . ' --format=flycheck --read-from-stdin %s' endfunction call ale#linter#Define('elixir', { \ 'name': 'credo', \ 'executable': 'mix', \ 'cwd': function('ale#handlers#elixir#FindMixUmbrellaRoot'), \ 'command': function('ale_linters#elixir#credo#GetCommand'), \ 'callback': 'ale_linters#elixir#credo#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/elixir/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Elixir files. call ale#handlers#cspell#DefineLinter('elixir') ================================================ FILE: bundle/ale/ale_linters/elixir/dialyxir.vim ================================================ " Author: Fran C. - https://github.com/franciscoj " Description: Add dialyzer support for elixir through dialyxir " https://github.com/jeremyjh/dialyxir function! ale_linters#elixir#dialyxir#Handle(buffer, lines) abort " Matches patterns line the following: " " lib/filename.ex:19: Function fname/1 has no local return let l:pattern = '\v(.+):(\d+): (.+)$' let l:output = [] let l:type = 'W' for l:match in ale#util#GetMatches(a:lines, l:pattern) if bufname(a:buffer) == l:match[1] call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:match[2] + 0, \ 'col': 0, \ 'type': l:type, \ 'text': l:match[3], \}) endif endfor return l:output endfunction call ale#linter#Define('elixir', { \ 'name': 'dialyxir', \ 'executable': 'mix', \ 'cwd': function('ale#handlers#elixir#FindMixProjectRoot'), \ 'command': 'mix help dialyzer && mix dialyzer', \ 'callback': 'ale_linters#elixir#dialyxir#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/elixir/dogma.vim ================================================ " Author: archseer - https://github.com/archSeer function! ale_linters#elixir#dogma#Handle(buffer, lines) abort " Matches patterns line the following: " " lib/filename.ex:19:7: F: Pipe chain should start with a raw value. let l:pattern = '\v:(\d+):?(\d+)?: (.): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:type = l:match[3] let l:text = l:match[4] if l:type is# 'C' let l:type = 'E' elseif l:type is# 'R' let l:type = 'W' endif call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:type, \ 'text': l:text, \}) endfor return l:output endfunction call ale#linter#Define('elixir', { \ 'name': 'dogma', \ 'executable': 'mix', \ 'cwd': function('ale#handlers#elixir#FindMixProjectRoot'), \ 'command': 'mix help dogma && mix dogma %s --format=flycheck', \ 'lint_file': 1, \ 'callback': 'ale_linters#elixir#dogma#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/elixir/elixir_ls.vim ================================================ " Author: Jon Parise " Description: ElixirLS integration (https://github.com/JakeBecker/elixir-ls) call ale#Set('elixir_elixir_ls_release', 'elixir-ls') call ale#Set('elixir_elixir_ls_config', {}) function! ale_linters#elixir#elixir_ls#GetExecutable(buffer) abort let l:dir = ale#path#Simplify(ale#Var(a:buffer, 'elixir_elixir_ls_release')) let l:cmd = has('win32') ? '\language_server.bat' : '/language_server.sh' return l:dir . l:cmd endfunction call ale#linter#Define('elixir', { \ 'name': 'elixir-ls', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#elixir#elixir_ls#GetExecutable'), \ 'command': function('ale_linters#elixir#elixir_ls#GetExecutable'), \ 'project_root': function('ale#handlers#elixir#FindMixUmbrellaRoot'), \ 'lsp_config': {b -> ale#Var(b, 'elixir_elixir_ls_config')}, \}) ================================================ FILE: bundle/ale/ale_linters/elixir/mix.vim ================================================ " Author: evnu - https://github.com/evnu " Author: colbydehart - https://github.com/colbydehart " Description: Mix compile checking for Elixir files function! ale_linters#elixir#mix#Handle(buffer, lines) abort " Matches patterns like the following: " " Error format " ** (CompileError) apps/sim/lib/sim/server.ex:87: undefined function update_in/4 " " TODO: Warning format " warning: variable "foobar" does not exist and is being expanded to "foobar()", please use parentheses to remove the ambiguity or change the variable name let l:pattern = '\v\(([^\)]+Error)\) ([^:]+):([^:]+): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:type = 'E' let l:text = l:match[4] call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:match[3] + 0, \ 'col': 0, \ 'type': l:type, \ 'text': l:text, \}) endfor return l:output endfunction function! ale_linters#elixir#mix#GetCommand(buffer) abort let l:temp_dir = ale#command#CreateDirectory(a:buffer) return ale#Env('MIX_BUILD_PATH', l:temp_dir) . 'mix compile %s' endfunction call ale#linter#Define('elixir', { \ 'name': 'mix', \ 'executable': 'mix', \ 'cwd': function('ale#handlers#elixir#FindMixProjectRoot'), \ 'command': function('ale_linters#elixir#mix#GetCommand'), \ 'callback': 'ale_linters#elixir#mix#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/elm/elm_ls.vim ================================================ " Author: antew - https://github.com/antew " Description: elm-language-server integration for elm (diagnostics, formatting, and more) call ale#Set('elm_ls_executable', 'elm-language-server') call ale#Set('elm_ls_use_global', get(g:, 'ale_use_global_executables', 1)) " elm-language-server will search for local and global binaries, if empty call ale#Set('elm_ls_elm_path', '') call ale#Set('elm_ls_elm_format_path', '') call ale#Set('elm_ls_elm_test_path', '') call ale#Set('elm_ls_elm_analyse_trigger', 'change') function! elm_ls#GetRootDir(buffer) abort let l:elm_json = ale#path#FindNearestFile(a:buffer, 'elm.json') return !empty(l:elm_json) ? fnamemodify(l:elm_json, ':p:h') : '' endfunction function! elm_ls#GetOptions(buffer) abort return { \ 'elmPath': ale#Var(a:buffer, 'elm_ls_elm_path'), \ 'elmFormatPath': ale#Var(a:buffer, 'elm_ls_elm_format_path'), \ 'elmTestPath': ale#Var(a:buffer, 'elm_ls_elm_test_path'), \ 'elmAnalyseTrigger': ale#Var(a:buffer, 'elm_ls_elm_analyse_trigger'), \} endfunction call ale#linter#Define('elm', { \ 'name': 'elm_ls', \ 'lsp': 'stdio', \ 'executable': {b -> ale#path#FindExecutable(b, 'elm_ls', [ \ 'node_modules/.bin/elm-language-server', \ 'node_modules/.bin/elm-lsp', \ 'elm-lsp' \ ])}, \ 'command': '%e --stdio', \ 'project_root': function('elm_ls#GetRootDir'), \ 'language': 'elm', \ 'initialization_options': function('elm_ls#GetOptions') \}) ================================================ FILE: bundle/ale/ale_linters/elm/make.vim ================================================ " Author: buffalocoder - https://github.com/buffalocoder, soywod - https://github.com/soywod, hecrj - https://github.com/hecrj " Description: Elm linting in Ale. Closely follows the Syntastic checker in https://github.com/ElmCast/elm-vim. call ale#Set('elm_make_executable', 'elm') call ale#Set('elm_make_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#elm#make#Handle(buffer, lines) abort let l:output = [] let l:unparsed_lines = [] for l:line in a:lines if l:line[0] is# '{' " Elm 0.19 call ale_linters#elm#make#HandleElm019Line(l:line, l:output) elseif l:line[0] is# '[' " Elm 0.18 call ale_linters#elm#make#HandleElm018Line(l:line, l:output) elseif l:line isnot# 'Successfully generated /dev/null' call add(l:unparsed_lines, l:line) endif endfor if len(l:unparsed_lines) > 0 call add(l:output, { \ 'lnum': 1, \ 'type': 'E', \ 'text': l:unparsed_lines[0], \ 'detail': join(l:unparsed_lines, "\n") \}) endif return l:output endfunction function! ale_linters#elm#make#HandleElm019Line(line, output) abort let l:report = json_decode(a:line) if l:report.type is? 'error' " General problem let l:details = ale_linters#elm#make#ParseMessage(l:report.message) if empty(l:report.path) let l:report.path = 'Elm' endif if ale_linters#elm#make#FileIsBuffer(l:report.path) call add(a:output, { \ 'lnum': 1, \ 'type': 'E', \ 'text': l:details, \}) else call add(a:output, { \ 'lnum': 1, \ 'type': 'E', \ 'text': l:report.path .' - '. l:details, \ 'detail': l:report.path ." ----------\n\n". l:details, \}) endif else " Compilation errors for l:error in l:report.errors let l:file_is_buffer = ale_linters#elm#make#FileIsBuffer(l:error.path) for l:problem in l:error.problems let l:details = ale_linters#elm#make#ParseMessage(l:problem.message) if l:file_is_buffer " Buffer module has problems call add(a:output, { \ 'lnum': l:problem.region.start.line, \ 'col': l:problem.region.start.column, \ 'end_lnum': l:problem.region.end.line, \ 'end_col': l:problem.region.end.column, \ 'type': 'E', \ 'text': l:details, \}) else " Imported module has problems let l:location = l:error.path .':'. l:problem.region.start.line call add(a:output, { \ 'lnum': 1, \ 'type': 'E', \ 'text': l:location .' - '. l:details, \ 'detail': l:location ." ----------\n\n". l:details, \}) endif endfor endfor endif endfunction function! ale_linters#elm#make#HandleElm018Line(line, output) abort let l:errors = json_decode(a:line) for l:error in l:errors let l:file_is_buffer = ale_linters#elm#make#FileIsBuffer(l:error.file) if l:file_is_buffer " Current buffer has problems call add(a:output, { \ 'lnum': l:error.region.start.line, \ 'col': l:error.region.start.column, \ 'end_lnum': l:error.region.end.line, \ 'end_col': l:error.region.end.column, \ 'type': (l:error.type is? 'error') ? 'E' : 'W', \ 'text': l:error.overview, \ 'detail': l:error.overview . "\n\n" . l:error.details \}) elseif l:error.type is? 'error' " Imported module has errors let l:location = l:error.file .':'. l:error.region.start.line call add(a:output, { \ 'lnum': 1, \ 'type': 'E', \ 'text': l:location .' - '. l:error.overview, \ 'detail': l:location ." ----------\n\n". l:error.overview . "\n\n" . l:error.details \}) endif endfor endfunction function! ale_linters#elm#make#FileIsBuffer(path) abort return ale#path#IsTempName(a:path) endfunction function! ale_linters#elm#make#ParseMessage(message) abort return join(map(copy(a:message), 'ale_linters#elm#make#ParseMessageItem(v:val)'), '') endfunction function! ale_linters#elm#make#ParseMessageItem(item) abort if type(a:item) is v:t_string return a:item else return a:item.string endif endfunction function! ale_linters#elm#make#GetPackageFile(buffer) abort let l:elm_json = ale#path#FindNearestFile(a:buffer, 'elm.json') if empty(l:elm_json) " Fallback to Elm 0.18 let l:elm_json = ale#path#FindNearestFile(a:buffer, 'elm-package.json') endif return l:elm_json endfunction function! ale_linters#elm#make#IsVersionGte19(buffer) abort let l:elm_json = ale_linters#elm#make#GetPackageFile(a:buffer) if l:elm_json =~# '-package' return 0 else return 1 endif endfunction function! ale_linters#elm#make#GetRootDir(buffer) abort let l:elm_json = ale_linters#elm#make#GetPackageFile(a:buffer) if empty(l:elm_json) return '' else return fnamemodify(l:elm_json, ':p:h') endif endfunction function! ale_linters#elm#make#IsTest(buffer) abort let l:root_dir = ale_linters#elm#make#GetRootDir(a:buffer) if empty(l:root_dir) return 0 endif let l:tests_dir = join([l:root_dir, 'tests', ''], has('win32') ? '\' : '/') let l:buffer_path = fnamemodify(bufname(a:buffer), ':p') if stridx(l:buffer_path, l:tests_dir) == 0 return 1 else return 0 endif endfunction function! ale_linters#elm#make#GetCwd(buffer) abort let l:root_dir = ale_linters#elm#make#GetRootDir(a:buffer) return !empty(l:root_dir) ? l:root_dir : '' endfunction " Return the command to execute the linter in the projects directory. " If it doesn't, then this will fail when imports are needed. function! ale_linters#elm#make#GetCommand(buffer) abort let l:executable = ale_linters#elm#make#GetExecutable(a:buffer) let l:is_v19 = ale_linters#elm#make#IsVersionGte19(a:buffer) let l:is_using_elm_test = l:executable =~# 'elm-test$' " elm-test needs to know the path of elm-make if elm isn't installed globally. " https://github.com/rtfeldman/node-test-runner/blob/57728f10668f2d2ab3179e7e3208bcfa9a1f19aa/README.md#--compiler if l:is_v19 && l:is_using_elm_test let l:elm_make_executable = ale#path#FindExecutable(a:buffer, 'elm_make', ['node_modules/.bin/elm']) let l:elm_test_compiler_flag = ' --compiler ' . l:elm_make_executable . ' ' else let l:elm_test_compiler_flag = ' ' endif " The elm compiler, at the time of this writing, uses '/dev/null' as " a sort of flag to tell the compiler not to generate an output file, " which is why this is hard coded here. " Source: https://github.com/elm-lang/elm-compiler/blob/19d5a769b30ec0b2fc4475985abb4cd94cd1d6c3/builder/src/Generate/Output.hs#L253 return '%e make --report=json --output=/dev/null' \ . l:elm_test_compiler_flag \ . '%t' endfunction function! ale_linters#elm#make#GetExecutable(buffer) abort let l:is_test = ale_linters#elm#make#IsTest(a:buffer) let l:is_v19 = ale_linters#elm#make#IsVersionGte19(a:buffer) if l:is_test && l:is_v19 return ale#path#FindExecutable( \ a:buffer, \ 'elm_make', \ ['node_modules/.bin/elm-test', 'node_modules/.bin/elm'] \) else return ale#path#FindExecutable(a:buffer, 'elm_make', ['node_modules/.bin/elm']) endif endfunction call ale#linter#Define('elm', { \ 'name': 'make', \ 'executable': function('ale_linters#elm#make#GetExecutable'), \ 'output_stream': 'both', \ 'cwd': function('ale_linters#elm#make#GetCwd'), \ 'command': function('ale_linters#elm#make#GetCommand'), \ 'callback': 'ale_linters#elm#make#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/erlang/dialyzer.vim ================================================ " Author: Autoine Gagne - https://github.com/AntoineGagne " Description: Define a checker that runs dialyzer on Erlang files. let g:ale_erlang_dialyzer_executable = \ get(g:, 'ale_erlang_dialyzer_executable', 'dialyzer') let g:ale_erlang_dialyzer_options = \ get(g:, 'ale_erlang_dialyzer_options', '-Wunmatched_returns' \ . ' -Werror_handling' \ . ' -Wrace_conditions' \ . ' -Wunderspecs') let g:ale_erlang_dialyzer_plt_file = \ get(g:, 'ale_erlang_dialyzer_plt_file', '') let g:ale_erlang_dialyzer_rebar3_profile = \ get(g:, 'ale_erlang_dialyzer_rebar3_profile', 'default') function! ale_linters#erlang#dialyzer#GetRebar3Profile(buffer) abort return ale#Var(a:buffer, 'erlang_dialyzer_rebar3_profile') endfunction function! ale_linters#erlang#dialyzer#FindPlt(buffer) abort let l:plt_file = '' let l:rebar3_profile = ale_linters#erlang#dialyzer#GetRebar3Profile(a:buffer) let l:plt_file_directory = ale#path#FindNearestDirectory(a:buffer, '_build/' . l:rebar3_profile) if !empty(l:plt_file_directory) let l:plt_file = globpath(l:plt_file_directory, '*_plt', 0, 1) endif if !empty(l:plt_file) return l:plt_file[0] endif if !empty($REBAR_PLT_DIR) return expand('$REBAR_PLT_DIR/dialyzer/plt') endif return expand('$HOME/.dialyzer_plt') endfunction function! ale_linters#erlang#dialyzer#GetPlt(buffer) abort let l:plt_file = ale#Var(a:buffer, 'erlang_dialyzer_plt_file') if !empty(l:plt_file) return l:plt_file endif return ale_linters#erlang#dialyzer#FindPlt(a:buffer) endfunction function! ale_linters#erlang#dialyzer#GetExecutable(buffer) abort return ale#Var(a:buffer, 'erlang_dialyzer_executable') endfunction function! ale_linters#erlang#dialyzer#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'erlang_dialyzer_options') let l:command = ale#Escape(ale_linters#erlang#dialyzer#GetExecutable(a:buffer)) \ . ' -n' \ . ' --plt ' . ale#Escape(ale_linters#erlang#dialyzer#GetPlt(a:buffer)) \ . ' ' . l:options \ . ' %s' return l:command endfunction function! ale_linters#erlang#dialyzer#Handle(buffer, lines) abort " Match patterns like the following: " " erl_tidy_prv_fmt.erl:3: Callback info about the provider behaviour is not available let l:pattern = '^\S\+:\(\d\+\): \(.\+\)$' let l:output = [] for l:line in a:lines let l:match = matchlist(l:line, l:pattern) if len(l:match) != 0 let l:code = l:match[2] call add(l:output, { \ 'lnum': str2nr(l:match[1]), \ 'lcol': 0, \ 'text': l:code, \ 'type': 'W' \}) endif endfor return l:output endfunction call ale#linter#Define('erlang', { \ 'name': 'dialyzer', \ 'executable': function('ale_linters#erlang#dialyzer#GetExecutable'), \ 'command': function('ale_linters#erlang#dialyzer#GetCommand'), \ 'callback': function('ale_linters#erlang#dialyzer#Handle'), \ 'lint_file': 1 \}) ================================================ FILE: bundle/ale/ale_linters/erlang/elvis.vim ================================================ " Author: Dmitri Vereshchagin " Description: Elvis linter for Erlang files call ale#Set('erlang_elvis_executable', 'elvis') function! ale_linters#erlang#elvis#Handle(buffer, lines) abort let l:pattern = '\v:(\d+):[^:]+:(.+)' let l:loclist = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:loclist, { \ 'lnum': str2nr(l:match[1]), \ 'text': s:AbbreviateMessage(l:match[2]), \ 'type': 'W', \ 'sub_type': 'style', \}) endfor return l:loclist endfunction function! s:AbbreviateMessage(text) abort let l:pattern = '\v\c^(line \d+ is too long):.*$' return substitute(a:text, l:pattern, '\1.', '') endfunction function! s:GetCommand(buffer) abort let l:file = ale#Escape(expand('#' . a:buffer . ':.')) return '%e rock --output-format=parsable ' . l:file endfunction call ale#linter#Define('erlang', { \ 'name': 'elvis', \ 'callback': 'ale_linters#erlang#elvis#Handle', \ 'executable': {b -> ale#Var(b, 'erlang_elvis_executable')}, \ 'command': function('s:GetCommand'), \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/erlang/erlang_ls.vim ================================================ " Author: Dmitri Vereshchagin " Description: LSP linter for Erlang files call ale#Set('erlang_erlang_ls_executable', 'erlang_ls') call ale#Set('erlang_erlang_ls_log_dir', '') call ale#Set('erlang_erlang_ls_log_level', 'info') function! s:GetCommand(buffer) abort let l:log_dir = ale#Var(a:buffer, 'erlang_erlang_ls_log_dir') let l:log_level = ale#Var(a:buffer, 'erlang_erlang_ls_log_level') let l:command = '%e' if !empty(l:log_dir) let l:command .= ' --log-dir=' . ale#Escape(l:log_dir) endif let l:command .= ' --log-level=' . ale#Escape(l:log_level) return l:command endfunction function! s:FindProjectRoot(buffer) abort let l:markers = ['_build/', 'erlang_ls.config', 'rebar.lock'] " This is a way to find Erlang/OTP root (the one that is managed " by kerl or asdf). Useful if :ALEGoToDefinition takes us there. let l:markers += ['.kerl_config'] for l:marker in l:markers let l:path = l:marker[-1:] is# '/' \ ? ale#path#FindNearestDirectory(a:buffer, l:marker) \ : ale#path#FindNearestFile(a:buffer, l:marker) if !empty(l:path) return ale#path#Dirname(l:path) endif endfor return '' endfunction call ale#linter#Define('erlang', { \ 'name': 'erlang_ls', \ 'executable': {b -> ale#Var(b, 'erlang_erlang_ls_executable')}, \ 'command': function('s:GetCommand'), \ 'lsp': 'stdio', \ 'project_root': function('s:FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/erlang/erlc.vim ================================================ " Author: Magnus Ottenklinger - https://github.com/evnu let g:ale_erlang_erlc_executable = get(g:, 'ale_erlang_erlc_executable', 'erlc') let g:ale_erlang_erlc_options = get(g:, 'ale_erlang_erlc_options', '') function! ale_linters#erlang#erlc#GetExecutable(buffer) abort return ale#Var(a:buffer, 'erlang_erlc_executable') endfunction function! ale_linters#erlang#erlc#GetCommand(buffer) abort let l:output_file = ale#util#Tempname() call ale#command#ManageFile(a:buffer, l:output_file) let l:command = ale#Escape(ale_linters#erlang#erlc#GetExecutable(a:buffer)) \ . ' -o ' . ale#Escape(l:output_file) \ . ' ' . ale#Var(a:buffer, 'erlang_erlc_options') \ . ' %t' return l:command endfunction function! ale_linters#erlang#erlc#Handle(buffer, lines) abort " Matches patterns like the following: " " error.erl:4: variable 'B' is unbound " error.erl:3: Warning: function main/0 is unused " error.erl:4: Warning: variable 'A' is unused let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+:)? (Warning: )?(.+)$' " parse_transforms are a special case. The error message does not indicate a location: " error.erl: undefined parse transform 'some_parse_transform' let l:pattern_parse_transform = '\v(undefined parse transform .*)$' let l:output = [] let l:pattern_no_module_definition = '\v(no module definition)$' let l:pattern_unused = '\v(.* is unused)$' let l:is_hrl = fnamemodify(bufname(a:buffer), ':e') is# 'hrl' for l:line in a:lines let l:match = matchlist(l:line, l:pattern) " Determine if the output indicates an error. We distinguish between two cases: " " 1) normal errors match l:pattern " 2) parse_transform errors match l:pattern_parse_transform " " If none of the patterns above match, the line can be ignored if len(l:match) == 0 " not a 'normal' warning or error let l:match_parse_transform = matchlist(l:line, l:pattern_parse_transform) if len(l:match_parse_transform) == 0 " also not a parse_transform error continue endif call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': 0, \ 'col': 0, \ 'type': 'E', \ 'text': l:match_parse_transform[0], \}) continue endif let l:line = l:match[2] let l:warning_or_text = l:match[4] let l:text = l:match[5] " If this file is a header .hrl, ignore the following expected messages: " - 'no module definition' " - 'X is unused' if l:is_hrl && ( \ match(l:text, l:pattern_no_module_definition) != -1 \ || match(l:text, l:pattern_unused) != -1 \) continue endif if !empty(l:warning_or_text) let l:type = 'W' else let l:type = 'E' endif call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:line, \ 'col': 0, \ 'type': l:type, \ 'text': l:text, \}) endfor return l:output endfunction call ale#linter#Define('erlang', { \ 'name': 'erlc', \ 'executable': function('ale_linters#erlang#erlc#GetExecutable'), \ 'command': function('ale_linters#erlang#erlc#GetCommand'), \ 'callback': 'ale_linters#erlang#erlc#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/erlang/syntaxerl.vim ================================================ " Author: Dmitri Vereshchagin " Description: SyntaxErl linter for Erlang files call ale#Set('erlang_syntaxerl_executable', 'syntaxerl') function! ale_linters#erlang#syntaxerl#RunHelpCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'erlang_syntaxerl_executable') return ale#command#Run( \ a:buffer, \ ale#Escape(l:executable) . ' -h', \ function('ale_linters#erlang#syntaxerl#GetCommand'), \) endfunction function! ale_linters#erlang#syntaxerl#GetCommand(buffer, output, meta) abort let l:use_b_option = match(a:output, '\C\V-b, --base\>') > -1 return '%e' . (l:use_b_option ? ' -b %s %t' : ' %t') endfunction function! ale_linters#erlang#syntaxerl#Handle(buffer, lines) abort let l:pattern = '\v\C:(\d+):( warning:)? (.+)' let l:loclist = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:loclist, { \ 'lnum': l:match[1] + 0, \ 'text': l:match[3], \ 'type': empty(l:match[2]) ? 'E' : 'W', \}) endfor return l:loclist endfunction call ale#linter#Define('erlang', { \ 'name': 'syntaxerl', \ 'executable': {b -> ale#Var(b, 'erlang_syntaxerl_executable')}, \ 'command': {b -> ale_linters#erlang#syntaxerl#RunHelpCommand(b)}, \ 'callback': 'ale_linters#erlang#syntaxerl#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/eruby/erb.vim ================================================ " Author: Matthias Guenther - https://wikimatze.de, Eddie Lebow https://github.com/elebow " Description: ERB from the Ruby standard library, for eruby/erb files function! ale_linters#eruby#erb#GetCommand(buffer) abort let l:rails_root = ale#ruby#FindRailsRoot(a:buffer) if empty(l:rails_root) return 'erb -P -T - -x %t | ruby -c' endif " Rails-flavored eRuby does not comply with the standard as understood by " ERB, so we'll have to do some substitution. This does not reduce the " effectiveness of the linter—the translated code is still evaluated. return 'ruby -r erb -e ' . ale#Escape('puts ERB.new($stdin.read.gsub(%{<%=},%{<%}), nil, %{-}).src') . '< %t | ruby -c' endfunction call ale#linter#Define('eruby', { \ 'name': 'erb', \ 'aliases': ['erubylint'], \ 'executable': 'erb', \ 'output_stream': 'stderr', \ 'command': function('ale_linters#eruby#erb#GetCommand'), \ 'callback': 'ale#handlers#ruby#HandleSyntaxErrors', \}) ================================================ FILE: bundle/ale/ale_linters/eruby/erblint.vim ================================================ " Author: Roeland Moors - https://github.com/roelandmoors " based on the ale ruumba and robocop linters " Description: ERB Lint, support for https://github.com/Shopify/erb-lint call ale#Set('eruby_erblint_executable', 'erblint') call ale#Set('eruby_erblint_options', '') function! ale_linters#eruby#erblint#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'eruby_erblint_executable') return ale#ruby#EscapeExecutable(l:executable, 'erblint') \ . ' --format json ' \ . ale#Var(a:buffer, 'eruby_erblint_options') \ . ' --stdin %s' endfunction function! ale_linters#eruby#erblint#Handle(buffer, lines) abort if empty(a:lines) return [] endif let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], []) if !has_key(l:errors, 'summary') \|| l:errors['summary']['offenses'] == 0 \|| empty(l:errors['files']) return [] endif let l:output = [] for l:error in l:errors['files'][0]['offenses'] call add(l:output, { \ 'lnum': l:error['location']['start_line'] + 0, \ 'col': l:error['location']['start_column'] + 0, \ 'end_col': l:error['location']['last_column'] + 0, \ 'code': l:error['linter'], \ 'text': l:error['message'], \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('eruby', { \ 'name': 'erblint', \ 'executable': {b -> ale#Var(b, 'eruby_erblint_executable')}, \ 'command': function('ale_linters#eruby#erblint#GetCommand'), \ 'callback': 'ale_linters#eruby#erblint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/eruby/erubi.vim ================================================ " Author: Eddie Lebow https://github.com/elebow " Description: eruby checker using `erubi` function! ale_linters#eruby#erubi#GetCommand(buffer, output, meta) abort let l:rails_root = ale#ruby#FindRailsRoot(a:buffer) if !empty(a:output) " The empty command in CheckErubi returns nothing if erubi runs and " emits an error if erubi is not present return '' endif if empty(l:rails_root) return 'ruby -r erubi/capture_end -e ' . ale#Escape('puts Erubi::CaptureEndEngine.new($stdin.read).src') . '< %t | ruby -c' endif " Rails-flavored eRuby does not comply with the standard as understood by " Erubi, so we'll have to do some substitution. This does not reduce the " effectiveness of the linter---the translated code is still evaluated. return 'ruby -r erubi/capture_end -e ' . ale#Escape('puts Erubi::CaptureEndEngine.new($stdin.read.gsub(%{<%=},%{<%}), nil, %{-}).src') . '< %t | ruby -c' endfunction call ale#linter#Define('eruby', { \ 'name': 'erubi', \ 'executable': 'ruby', \ 'command': {buffer -> ale#command#Run( \ buffer, \ 'ruby -r erubi/capture_end -e ' . ale#Escape('""'), \ function('ale_linters#eruby#erubi#GetCommand'), \ )}, \ 'callback': 'ale#handlers#ruby#HandleSyntaxErrors', \}) ================================================ FILE: bundle/ale/ale_linters/eruby/erubis.vim ================================================ " Author: Jake Zimmerman , Eddie Lebow https://github.com/elebow " Description: eruby checker using `erubis`, instead of `erb` function! ale_linters#eruby#erubis#GetCommand(buffer) abort let l:rails_root = ale#ruby#FindRailsRoot(a:buffer) if empty(l:rails_root) return 'erubis -x %t | ruby -c' endif " Rails-flavored eRuby does not comply with the standard as understood by " Erubis, so we'll have to do some substitution. This does not reduce the " effectiveness of the linter - the translated code is still evaluated. return 'ruby -r erubis -e ' . ale#Escape('puts Erubis::Eruby.new($stdin.read.gsub(%{<%=},%{<%})).src') . '< %t | ruby -c' endfunction call ale#linter#Define('eruby', { \ 'name': 'erubis', \ 'executable': 'erubis', \ 'output_stream': 'stderr', \ 'command': function('ale_linters#eruby#erubis#GetCommand'), \ 'callback': 'ale#handlers#ruby#HandleSyntaxErrors', \}) ================================================ FILE: bundle/ale/ale_linters/eruby/ruumba.vim ================================================ " Author: aclemons - https://github.com/aclemons " based on the ale rubocop linter " Description: Ruumba, RuboCop linting for ERB templates. call ale#Set('eruby_ruumba_executable', 'ruumba') call ale#Set('eruby_ruumba_options', '') function! ale_linters#eruby#ruumba#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'eruby_ruumba_executable') return ale#ruby#EscapeExecutable(l:executable, 'ruumba') \ . ' --format json --force-exclusion ' \ . ale#Var(a:buffer, 'eruby_ruumba_options') \ . ' --stdin %s' endfunction function! ale_linters#eruby#ruumba#Handle(buffer, lines) abort try let l:errors = json_decode(a:lines[0]) catch return [] endtry if !has_key(l:errors, 'summary') \|| l:errors['summary']['offense_count'] == 0 \|| empty(l:errors['files']) return [] endif let l:output = [] for l:error in l:errors['files'][0]['offenses'] let l:start_col = l:error['location']['column'] + 0 call add(l:output, { \ 'lnum': l:error['location']['line'] + 0, \ 'col': l:start_col, \ 'end_col': l:start_col + l:error['location']['length'] - 1, \ 'code': l:error['cop_name'], \ 'text': l:error['message'], \ 'type': ale_linters#eruby#ruumba#GetType(l:error['severity']), \}) endfor return l:output endfunction function! ale_linters#eruby#ruumba#GetType(severity) abort if a:severity is? 'convention' \|| a:severity is? 'warning' \|| a:severity is? 'refactor' return 'W' endif return 'E' endfunction call ale#linter#Define('eruby', { \ 'name': 'ruumba', \ 'executable': {b -> ale#Var(b, 'eruby_ruumba_executable')}, \ 'command': function('ale_linters#eruby#ruumba#GetCommand'), \ 'callback': 'ale_linters#eruby#ruumba#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/fish/fish.vim ================================================ " Author: Niraj Thapaliya - https://github.com/nthapaliya " Description: Lints fish files using fish -n function! ale_linters#fish#fish#Handle(buffer, lines) abort " Matches patterns such as: " " home/.config/fish/functions/foo.fish (line 1): Missing end to balance this function definition " function foo " ^ " " OR, patterns such as: " " Unsupported use of '||'. In fish, please use 'COMMAND; or COMMAND'. " /tmp/vLz620o/258/test.fish (line 2): if set -q SSH_CLIENT || set -q SSH_TTY " ^ " " fish -n can return errors in either format. let l:pattern = '^\(.* (line \(\d\+\)): \)\(.*\)$' let l:column_pattern = '^ *\^' let l:output = [] let l:column_offset = 0 let l:last_line_with_message = '' for l:line in a:lines " Look for error lines first. let l:match = matchlist(l:line, l:pattern) if !empty(l:match) if !empty(l:last_line_with_message) let l:text = l:last_line_with_message else let l:text = l:match[3] endif let l:column_offset = len(l:match[1]) let l:last_line_with_message = '' call add(l:output, { \ 'col': 0, \ 'lnum': str2nr(l:match[2]), \ 'text': l:text, \}) else " Look for column markers like ' ^' second. " The column index will be set according to how long the line is. let l:column_match = matchstr(l:line, l:column_pattern) if !empty(l:column_match) && !empty(l:output) let l:output[-1].col = len(l:column_match) - l:column_offset let l:last_line_with_message = '' else let l:last_line_with_message = l:line let l:column_offset = 0 endif endif endfor return l:output endfunction call ale#linter#Define('fish', { \ 'name': 'fish', \ 'output_stream': 'stderr', \ 'executable': 'fish', \ 'command': 'fish -n %t', \ 'callback': 'ale_linters#fish#fish#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/fortran/gcc.vim ================================================ " Author: w0rp " Description: gcc for Fortran files " This option can be set to 0 to use -ffixed-form call ale#Set('fortran_gcc_use_free_form', 1) call ale#Set('fortran_gcc_executable', 'gcc') " Set this option to change the GCC options for warnings for Fortran. call ale#Set('fortran_gcc_options', '-Wall') function! ale_linters#fortran#gcc#Handle(buffer, lines) abort " We have to match a starting line and a later ending line together, " like so. " " :21.34: " Error: Expected comma in I/O list at (1) let l:line_marker_pattern = ':\(\d\+\)[.:]\=\(\d\+\)\=:\=$' let l:message_pattern = '^\(Error\|Warning\): \(.\+\)$' let l:looking_for_message = 0 let l:last_loclist_obj = {} let l:output = [] for l:line in a:lines if l:looking_for_message let l:match = matchlist(l:line, l:message_pattern) else let l:match = matchlist(l:line, l:line_marker_pattern) endif if len(l:match) == 0 continue endif if l:looking_for_message let l:looking_for_message = 0 " Now we have the text, we can set it and add the error. let l:last_loclist_obj.text = l:match[2] let l:last_loclist_obj.type = l:match[1] is# 'Warning' ? 'W' : 'E' call add(l:output, l:last_loclist_obj) else let l:last_loclist_obj = { \ 'bufnr': a:buffer, \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \} " Start looking for the message and error type. let l:looking_for_message = 1 endif endfor return l:output endfunction function! ale_linters#fortran#gcc#GetCommand(buffer) abort let l:layout_option = ale#Var(a:buffer, 'fortran_gcc_use_free_form') \ ? '-ffree-form' \ : '-ffixed-form' return '%e -S -x f95 -fsyntax-only ' . l:layout_option \ . ale#Pad(ale#Var(a:buffer, 'fortran_gcc_options')) \ . ' -' endfunction call ale#linter#Define('fortran', { \ 'name': 'gcc', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'fortran_gcc_executable')}, \ 'command': function('ale_linters#fortran#gcc#GetCommand'), \ 'callback': 'ale_linters#fortran#gcc#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/fortran/language_server.vim ================================================ " Author: unpairedbracket ben.spiers22@gmail.com " Description: A language server for fortran call ale#Set('fortran_language_server_executable', 'fortls') call ale#Set('fortran_language_server_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#fortran#language_server#GetProjectRoot(buffer) abort let l:fortls_file = ale#path#FindNearestFile(a:buffer, '.fortls') return !empty(l:fortls_file) ? fnamemodify(l:fortls_file, ':h') : '' endfunction call ale#linter#Define('fortran', { \ 'name': 'language_server', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'fortran_language_server_executable')}, \ 'command': '%e', \ 'project_root': function('ale_linters#fortran#language_server#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/fountain/proselint.vim ================================================ " Author: Jansen Mitchell https://github.com/JansenMitchell " Description: proselint for Fountain files call ale#linter#Define('fountain', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/fuse/fusionlint.vim ================================================ " Author: RyanSquared " Description: `fusion-lint` linter for FusionScript files call ale#Set('fuse_fusionlint_executable', 'fusion-lint') call ale#Set('fuse_fusionlint_options', '') function! ale_linters#fuse#fusionlint#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'fuse_fusionlint_options')) \ . ' --filename %s -i' endfunction function! ale_linters#fuse#fusionlint#Handle(buffer, lines) abort let l:pattern = '^.*:\(\d\+\):\(\d\+\): (\([WE]\)\d\+) \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[4], \ 'type': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('fuse', { \ 'name': 'fusionlint', \ 'executable': {b -> ale#Var(b, 'fuse_fusionlint_executable')}, \ 'command': function('ale_linters#fuse#fusionlint#GetCommand'), \ 'callback': 'ale_linters#fuse#fusionlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/gitcommit/gitlint.vim ================================================ " Author: Nick Yamane " Description: gitlint for git commit message files call ale#Set('gitcommit_gitlint_executable', 'gitlint') call ale#Set('gitcommit_gitlint_options', '') call ale#Set('gitcommit_gitlint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#gitcommit#gitlint#GetExecutable(buffer) abort return ale#python#FindExecutable(a:buffer, 'gitcommit_gitlint', ['gitlint']) endfunction function! ale_linters#gitcommit#gitlint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'gitcommit_gitlint_options') return '%e' . ale#Pad(l:options) . ' lint' endfunction function! ale_linters#gitcommit#gitlint#Handle(buffer, lines) abort " Matches patterns line the following: let l:pattern = '\v^(\d+): (\w+) (.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:code = l:match[2] if !ale#Var(a:buffer, 'warn_about_trailing_whitespace') if l:code is# 'T2' || l:code is# 'B2' continue endif endif let l:item = { \ 'lnum': l:match[1] + 0, \ 'text': l:match[3], \ 'code': l:code, \ 'type': 'E', \} call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('gitcommit', { \ 'name': 'gitlint', \ 'output_stream': 'stderr', \ 'executable': function('ale_linters#gitcommit#gitlint#GetExecutable'), \ 'command': function('ale_linters#gitcommit#gitlint#GetCommand'), \ 'callback': 'ale_linters#gitcommit#gitlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/glsl/glslang.vim ================================================ " Author: Sven-Hendrik Haase " Description: glslang-based linter for glsl files " " TODO: Once https://github.com/KhronosGroup/glslang/pull/1047 is accepted, " we can use stdin. call ale#Set('glsl_glslang_executable', 'glslangValidator') call ale#Set('glsl_glslang_options', '') function! ale_linters#glsl#glslang#GetCommand(buffer) abort return '%e' \ . ale#Pad(ale#Var(a:buffer, 'glsl_glslang_options')) \ . ' -C %t' endfunction function! ale_linters#glsl#glslang#Handle(buffer, lines) abort " Matches patterns like the following: " " ERROR: 0:5: 'foo' : undeclared identifier let l:pattern = '^\(.\+\): \(\d\+\):\(\d\+\): \(.\+\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': str2nr(l:match[3]), \ 'col': str2nr(l:match[2]), \ 'text': l:match[4], \ 'type': l:match[1] is# 'ERROR' ? 'E' : 'W', \}) endfor return l:output endfunction call ale#linter#Define('glsl', { \ 'name': 'glslang', \ 'executable': {b -> ale#Var(b, 'glsl_glslang_executable')}, \ 'command': function('ale_linters#glsl#glslang#GetCommand'), \ 'callback': 'ale_linters#glsl#glslang#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/glsl/glslls.vim ================================================ " Author: Sven-Hendrik Haase " Description: A language server for glsl call ale#Set('glsl_glslls_executable', 'glslls') call ale#Set('glsl_glslls_logfile', '') function! ale_linters#glsl#glslls#GetCommand(buffer) abort let l:logfile = ale#Var(a:buffer, 'glsl_glslls_logfile') let l:logfile_args = '' if l:logfile isnot# '' let l:logfile_args = ' --verbose -l ' . l:logfile endif return '%e' . l:logfile_args . ' --stdin' endfunction function! ale_linters#glsl#glslls#GetProjectRoot(buffer) abort let l:project_root = ale#c#FindProjectRoot(a:buffer) return !empty(l:project_root) ? fnamemodify(l:project_root, ':h:h') : '' endfunction call ale#linter#Define('glsl', { \ 'name': 'glslls', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'glsl_glslls_executable')}, \ 'command': function('ale_linters#glsl#glslls#GetCommand'), \ 'project_root': function('ale_linters#glsl#glslls#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/go/bingo.vim ================================================ " Author: Jerko Steiner " Description: https://github.com/saibing/bingo call ale#Set('go_bingo_executable', 'bingo') call ale#Set('go_bingo_options', '--mode stdio') function! ale_linters#go#bingo#GetCommand(buffer) abort return ale#go#EnvString(a:buffer) . '%e' . ale#Pad(ale#Var(a:buffer, 'go_bingo_options')) endfunction function! ale_linters#go#bingo#FindProjectRoot(buffer) abort let l:go_modules_off = ale#Var(a:buffer, 'go_go111module') is# 'off' let l:project_root = l:go_modules_off ? \ '' : ale#path#FindNearestFile(a:buffer, 'go.mod') let l:mods = ':h' if empty(l:project_root) let l:project_root = ale#path#FindNearestDirectory(a:buffer, '.git') let l:mods = ':h:h' endif return !empty(l:project_root) ? fnamemodify(l:project_root, l:mods) : '' endfunction call ale#linter#Define('go', { \ 'name': 'bingo', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'go_bingo_executable')}, \ 'command': function('ale_linters#go#bingo#GetCommand'), \ 'project_root': function('ale_linters#go#bingo#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/go/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Go files. call ale#handlers#cspell#DefineLinter('go') ================================================ FILE: bundle/ale/ale_linters/go/gobuild.vim ================================================ " Author: Joshua Rubin , Ben Reedy , " Jeff Willette " Description: go build for Go files " inspired by work from dzhou121 call ale#Set('go_go_executable', 'go') call ale#Set('go_gobuild_options', '') function! ale_linters#go#gobuild#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'go_gobuild_options') " Run go test in local directory with relative path return ale#go#EnvString(a:buffer) \ . ale#Var(a:buffer, 'go_go_executable') . ' test' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' -c -o /dev/null ./' endfunction function! ale_linters#go#gobuild#GetMatches(lines) abort " Matches patterns like the following: " " file.go:27: missing argument for Printf("%s"): format reads arg 2, have only 1 args " file.go:53:10: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) " file.go:5:2: expected declaration, found 'STRING' "log" " go test returns relative paths so use tail of filename as part of pattern matcher let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?:? (.+)$' return ale#util#GetMatches(a:lines, l:pattern) endfunction function! ale_linters#go#gobuild#Handler(buffer, lines) abort let l:dir = expand('#' . a:buffer . ':p:h') let l:output = [] for l:match in ale_linters#go#gobuild#GetMatches(a:lines) call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[4], \ 'type': 'E', \}) endfor return l:output endfunction call ale#linter#Define('go', { \ 'name': 'gobuild', \ 'aliases': ['go build'], \ 'executable': {b -> ale#Var(b, 'go_go_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#go#gobuild#GetCommand'), \ 'output_stream': 'stderr', \ 'callback': 'ale_linters#go#gobuild#Handler', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/go/gofmt.vim ================================================ " Author: neersighted " Description: gofmt for Go files function! ale_linters#go#gofmt#GetCommand(buffer) abort return ale#go#EnvString(a:buffer) \ . '%e -e %t' endfunction call ale#linter#Define('go', { \ 'name': 'gofmt', \ 'output_stream': 'stderr', \ 'executable': 'gofmt', \ 'command': function('ale_linters#go#gofmt#GetCommand'), \ 'callback': 'ale#handlers#unix#HandleAsError', \}) ================================================ FILE: bundle/ale/ale_linters/go/golangci_lint.vim ================================================ " Author: Sascha Grunert " Description: Adds support of golangci-lint call ale#Set('go_golangci_lint_options', '--enable-all') call ale#Set('go_golangci_lint_executable', 'golangci-lint') call ale#Set('go_golangci_lint_package', 0) function! ale_linters#go#golangci_lint#GetCommand(buffer) abort let l:filename = expand('#' . a:buffer . ':t') let l:options = ale#Var(a:buffer, 'go_golangci_lint_options') let l:lint_package = ale#Var(a:buffer, 'go_golangci_lint_package') if l:lint_package return ale#go#EnvString(a:buffer) \ . '%e run ' \ . l:options endif return ale#go#EnvString(a:buffer) \ . '%e run ' \ . ale#Escape(l:filename) \ . ' ' . l:options endfunction function! ale_linters#go#golangci_lint#GetMatches(lines) abort let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?:?:?:?\s\*?(.+)\s+\((.+)\)$' return ale#util#GetMatches(a:lines, l:pattern) endfunction function! ale_linters#go#golangci_lint#Handler(buffer, lines) abort let l:dir = expand('#' . a:buffer . ':p:h') let l:output = [] for l:match in ale_linters#go#golangci_lint#GetMatches(a:lines) if l:match[5] is# 'typecheck' let l:msg_type = 'E' else let l:msg_type = 'W' endif " l:match[1] will already be an absolute path, output from " golangci_lint call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'type': l:msg_type, \ 'text': l:match[4] . ' (' . l:match[5] . ')', \}) endfor return l:output endfunction call ale#linter#Define('go', { \ 'name': 'golangci-lint', \ 'executable': {b -> ale#Var(b, 'go_golangci_lint_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#go#golangci_lint#GetCommand'), \ 'callback': 'ale_linters#go#golangci_lint#Handler', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/go/golint.vim ================================================ " Author: neersighted " Description: golint for Go files call ale#Set('go_golint_executable', 'golint') call ale#Set('go_golint_options', '') function! ale_linters#go#golint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'go_golint_options') return ale#go#EnvString(a:buffer) . '%e' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %t' endfunction call ale#linter#Define('go', { \ 'name': 'golint', \ 'output_stream': 'both', \ 'executable': {b -> ale#Var(b, 'go_golint_executable')}, \ 'command': function('ale_linters#go#golint#GetCommand'), \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/go/gometalinter.vim ================================================ " Author: Ben Reedy , Jeff Willette " Description: Adds support for the gometalinter suite for Go files call ale#Set('go_gometalinter_options', '') call ale#Set('go_gometalinter_executable', 'gometalinter') call ale#Set('go_gometalinter_lint_package', 0) function! ale_linters#go#gometalinter#GetCommand(buffer) abort let l:filename = expand('#' . a:buffer . ':t') let l:options = ale#Var(a:buffer, 'go_gometalinter_options') let l:lint_package = ale#Var(a:buffer, 'go_gometalinter_lint_package') " BufferCdString is used so that we can be sure the paths output from gometalinter can " be calculated to absolute paths in the Handler if l:lint_package return ale#go#EnvString(a:buffer) \ . '%e' \ . (!empty(l:options) ? ' ' . l:options : '') . ' .' endif return ale#go#EnvString(a:buffer) \ . '%e' \ . ' --include=' . ale#Escape(ale#util#EscapePCRE(l:filename)) \ . (!empty(l:options) ? ' ' . l:options : '') . ' .' endfunction function! ale_linters#go#gometalinter#GetMatches(lines) abort let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?:?:?(warning|error):?\s\*?(.+)$' return ale#util#GetMatches(a:lines, l:pattern) endfunction function! ale_linters#go#gometalinter#Handler(buffer, lines) abort let l:dir = expand('#' . a:buffer . ':p:h') let l:output = [] for l:match in ale_linters#go#gometalinter#GetMatches(a:lines) " l:match[1] will already be an absolute path, output from gometalinter call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'type': tolower(l:match[4]) is# 'warning' ? 'W' : 'E', \ 'text': l:match[5], \}) endfor return l:output endfunction call ale#linter#Define('go', { \ 'name': 'gometalinter', \ 'executable': {b -> ale#Var(b, 'go_gometalinter_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#go#gometalinter#GetCommand'), \ 'callback': 'ale_linters#go#gometalinter#Handler', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/go/gopls.vim ================================================ " Author: w0rp " Author: Jerko Steiner " Description: https://github.com/saibing/gopls call ale#Set('go_gopls_executable', 'gopls') call ale#Set('go_gopls_options', '--mode stdio') call ale#Set('go_gopls_init_options', {}) call ale#Set('go_gopls_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#go#gopls#GetCommand(buffer) abort return ale#go#EnvString(a:buffer) \ . '%e' \ . ale#Pad(ale#Var(a:buffer, 'go_gopls_options')) endfunction function! ale_linters#go#gopls#FindProjectRoot(buffer) abort let l:go_modules_off = ale#Var(a:buffer, 'go_go111module') is# 'off' let l:project_root = l:go_modules_off ? \ '' : ale#path#FindNearestFile(a:buffer, 'go.mod') let l:mods = ':h' if empty(l:project_root) let l:project_root = ale#path#FindNearestDirectory(a:buffer, '.git') let l:mods = ':h:h' endif return !empty(l:project_root) ? fnamemodify(l:project_root, l:mods) : '' endfunction call ale#linter#Define('go', { \ 'name': 'gopls', \ 'lsp': 'stdio', \ 'executable': {b -> ale#path#FindExecutable(b, 'go_gopls', [ \ ale#go#GetGoPathExecutable('bin/gopls'), \ ])}, \ 'command': function('ale_linters#go#gopls#GetCommand'), \ 'project_root': function('ale_linters#go#gopls#FindProjectRoot'), \ 'initialization_options': {b -> ale#Var(b, 'go_gopls_init_options')}, \}) ================================================ FILE: bundle/ale/ale_linters/go/gosimple.vim ================================================ " Author: Ben Reedy " Description: gosimple for Go files call ale#linter#Define('go', { \ 'name': 'gosimple', \ 'executable': 'gosimple', \ 'cwd': '%s:h', \ 'command': {b -> ale#go#EnvString(b) . 'gosimple .'}, \ 'callback': 'ale#handlers#go#Handler', \ 'output_stream': 'both', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/go/gotype.vim ================================================ " Author: Jelte Fennema " Description: gotype for Go files function! ale_linters#go#gotype#GetExecutable(buffer) abort if expand('#' . a:buffer . ':p') =~# '_test\.go$' return '' endif return 'gotype' endfunction function! ale_linters#go#gotype#GetCommand(buffer) abort return ale#go#EnvString(a:buffer) . 'gotype -e .' endfunction call ale#linter#Define('go', { \ 'name': 'gotype', \ 'output_stream': 'stderr', \ 'executable': function('ale_linters#go#gotype#GetExecutable'), \ 'cwd': '%s:h', \ 'command': function('ale_linters#go#gotype#GetCommand'), \ 'callback': 'ale#handlers#go#Handler', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/go/govet.vim ================================================ " Author: neersighted " Description: go vet for Go files " " Author: John Eikenberry " Description: updated to work with go1.10 call ale#Set('go_go_executable', 'go') call ale#Set('go_govet_options', '') function! ale_linters#go#govet#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'go_govet_options') return ale#go#EnvString(a:buffer) \ . ale#Var(a:buffer, 'go_go_executable') . ' vet ' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' .' endfunction call ale#linter#Define('go', { \ 'name': 'govet', \ 'aliases': ['go vet'], \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'go_go_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#go#govet#GetCommand'), \ 'callback': 'ale#handlers#go#Handler', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/go/langserver.vim ================================================ " Author: Horacio Sanson " Description: Support for go-langserver https://github.com/sourcegraph/go-langserver call ale#Set('go_langserver_executable', 'go-langserver') call ale#Set('go_langserver_options', '') function! ale_linters#go#langserver#GetCommand(buffer) abort let l:executable = [ale#Escape(ale#Var(a:buffer, 'go_langserver_executable'))] let l:options = ale#Var(a:buffer, 'go_langserver_options') let l:options = substitute(l:options, '-gocodecompletion', '', 'g') let l:options = filter(split(l:options, ' '), 'empty(v:val) != 1') if ale#Var(a:buffer, 'completion_enabled') call add(l:options, '-gocodecompletion') endif let l:options = uniq(sort(l:options)) let l:env = ale#go#EnvString(a:buffer) return l:env . join(extend(l:executable, l:options), ' ') endfunction call ale#linter#Define('go', { \ 'name': 'golangserver', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'go_langserver_executable')}, \ 'command': function('ale_linters#go#langserver#GetCommand'), \ 'project_root': function('ale#go#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/go/revive.vim ================================================ " Author: Penghui Liao " Description: Adds support for revive call ale#Set('go_revive_executable', 'revive') call ale#Set('go_revive_options', '') function! ale_linters#go#revive#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'go_revive_options') return ale#go#EnvString(a:buffer) . '%e' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %t' endfunction call ale#linter#Define('go', { \ 'name': 'revive', \ 'output_stream': 'both', \ 'executable': {b -> ale#Var(b, 'go_revive_executable')}, \ 'command': function('ale_linters#go#revive#GetCommand'), \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/go/staticcheck.vim ================================================ " Author: Ben Reedy " Description: staticcheck for Go files call ale#Set('go_staticcheck_executable', 'staticcheck') call ale#Set('go_staticcheck_options', '') call ale#Set('go_staticcheck_lint_package', 1) call ale#Set('go_staticcheck_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#go#staticcheck#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'go_staticcheck_options') let l:lint_package = ale#Var(a:buffer, 'go_staticcheck_lint_package') let l:env = ale#go#EnvString(a:buffer) if l:lint_package return l:env . '%e' \ . (!empty(l:options) ? ' ' . l:options : '') . ' .' endif return l:env . '%e' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %s:t' endfunction call ale#linter#Define('go', { \ 'name': 'staticcheck', \ 'executable': {b -> ale#path#FindExecutable(b, 'go_staticcheck', [ \ ale#go#GetGoPathExecutable('bin/staticcheck'), \ ])}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#go#staticcheck#GetCommand'), \ 'callback': 'ale#handlers#go#Handler', \ 'output_stream': 'both', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/graphql/eslint.vim ================================================ " Author: Benjie Gillam " Description: eslint for GraphQL files call ale#linter#Define('graphql', { \ 'name': 'eslint', \ 'executable': function('ale#handlers#eslint#GetExecutable'), \ 'cwd': function('ale#handlers#eslint#GetCwd'), \ 'command': function('ale#handlers#eslint#GetCommand'), \ 'callback': 'ale#handlers#eslint#HandleJSON', \}) ================================================ FILE: bundle/ale/ale_linters/graphql/gqlint.vim ================================================ " Author: Michiel Westerbeek " Description: Linter for GraphQL Schemas call ale#linter#Define('graphql', { \ 'name': 'gqlint', \ 'executable': 'gqlint', \ 'cwd': '%s:h', \ 'command': 'gqlint --reporter=simple %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/hack/hack.vim ================================================ " Author: Fred Emmott " Description: Hack support via `hack lsp` call ale#Set('hack_hack_executable', 'hh_client') function! ale_linters#hack#hack#GetProjectRoot(buffer) abort let l:hhconfig = ale#path#FindNearestFile(a:buffer, '.hhconfig') return !empty(l:hhconfig) ? fnamemodify(l:hhconfig, ':h') : '' endfunction function! ale_linters#hack#hack#GetExecutable(buffer) abort return ale#Var(a:buffer, 'hack_hack_executable') endfunction call ale#linter#Define('hack', { \ 'name': 'hack', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#hack#hack#GetExecutable'), \ 'command': '%e lsp --from vim-ale', \ 'project_root': function('ale_linters#hack#hack#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/hack/hhast.vim ================================================ " Author: Fred Emmott " Description: Hack support via `hhast lsp` call ale#Set('hack_hhast_executable', 'vendor/bin/hhast-lint') function! ale_linters#hack#hhast#GetProjectRoot(buffer) abort " Find the hack root, then figure out if it's also an HHAST root. " Don't try to use lint configurations from vendor/foo/bar/hhast-lint.json let l:hhconfig = ale#path#FindNearestFile(a:buffer, '.hhconfig') if empty(l:hhconfig) return '' endif let l:root = fnamemodify(l:hhconfig, ':h') let l:hhast_config = findfile('hhast-lint.json', l:root) return !empty(l:hhast_config) ? l:root : '' endfunction function! ale_linters#hack#hhast#GetExecutable(buffer) abort let l:root = ale_linters#hack#hhast#GetProjectRoot(a:buffer) let l:relative = ale#Var(a:buffer, 'hack_hhast_executable') let l:absolute = findfile(l:relative, l:root) return !empty(l:absolute) ? l:absolute : '' endfunction function! ale_linters#hack#hhast#GetInitializationOptions(buffer) abort return {'lintMode': 'open-files'} endfunction call ale#linter#Define('hack', { \ 'name': 'hhast', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#hack#hhast#GetExecutable'), \ 'command': '%e --mode lsp --from vim-ale', \ 'project_root': function('ale_linters#hack#hhast#GetProjectRoot'), \ 'initialization_options': function('ale_linters#hack#hhast#GetInitializationOptions'), \}) ================================================ FILE: bundle/ale/ale_linters/haml/hamllint.vim ================================================ " Author: Patrick Lewis - https://github.com/patricklewis, thenoseman - https://github.com/thenoseman " Description: haml-lint for Haml files call ale#Set('haml_hamllint_executable', 'haml-lint') function! ale_linters#haml#hamllint#GetExecutable(buffer) abort return ale#Var(a:buffer, 'haml_hamllint_executable') endfunction function! ale_linters#haml#hamllint#GetCommand(buffer) abort let l:prefix = '' let l:rubocop_config_file_path = ale#path#FindNearestFile(a:buffer, '.rubocop.yml') let l:hamllint_config_file_path = ale#path#FindNearestFile(a:buffer, '.haml-lint.yml') " Set HAML_LINT_RUBOCOP_CONF variable as it is needed for haml-lint to " pick up the rubocop config. " " See https://github.com/brigade/haml-lint/blob/master/lib/haml_lint/linter/rubocop.rb#L89 " HamlLint::Linter::RuboCop#rubocop_flags if !empty(l:rubocop_config_file_path) if has('win32') let l:prefix = 'set HAML_LINT_RUBOCOP_CONF=' . ale#Escape(l:rubocop_config_file_path) . ' &&' else let l:prefix = 'HAML_LINT_RUBOCOP_CONF=' . ale#Escape(l:rubocop_config_file_path) endif endif return (!empty(l:prefix) ? l:prefix . ' ' : '') \ . ale_linters#haml#hamllint#GetExecutable(a:buffer) \ . (!empty(l:hamllint_config_file_path) ? ' --config ' . ale#Escape(l:hamllint_config_file_path) : '') \ . ' %t' endfunction function! ale_linters#haml#hamllint#Handle(buffer, lines) abort " Matches patterns like the following: " :51 [W] RuboCop: Use the new Ruby 1.9 hash syntax. let l:pattern = '\v^.*:(\d+) \[([EW])\] (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'type': l:match[2], \ 'text': l:match[3] \}) endfor return l:output endfunction call ale#linter#Define('haml', { \ 'name': 'hamllint', \ 'executable': function('ale_linters#haml#hamllint#GetExecutable'), \ 'command': function('ale_linters#haml#hamllint#GetCommand'), \ 'callback': 'ale_linters#haml#hamllint#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/handlebars/embertemplatelint.vim ================================================ " Author: Adrian Zalewski " Description: Ember-template-lint for checking Handlebars files call ale#Set('handlebars_embertemplatelint_executable', 'ember-template-lint') call ale#Set('handlebars_embertemplatelint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#handlebars#embertemplatelint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'handlebars_embertemplatelint', [ \ 'node_modules/.bin/ember-template-lint', \]) endfunction function! ale_linters#handlebars#embertemplatelint#GetCommand(buffer, version) abort if ale#semver#GTE(a:version, [4, 0, 0]) " --json was removed in favor of --format=json in ember-template-lint@4.0.0 return '%e --format=json --filename %s' endif if ale#semver#GTE(a:version, [1, 6, 0]) " Reading from stdin was introduced in ember-template-lint@1.6.0 return '%e --json --filename %s' endif return '%e --json %t' endfunction function! ale_linters#handlebars#embertemplatelint#GetCommandWithVersionCheck(buffer) abort return ale#semver#RunWithVersionCheck( \ a:buffer, \ ale_linters#handlebars#embertemplatelint#GetExecutable(a:buffer), \ '%e --version', \ function('ale_linters#handlebars#embertemplatelint#GetCommand'), \) endfunction function! ale_linters#handlebars#embertemplatelint#Handle(buffer, lines) abort let l:output = [] let l:json = ale#util#FuzzyJSONDecode(a:lines, {}) for l:error in get(values(l:json), 0, []) if has_key(l:error, 'fatal') call add(l:output, { \ 'lnum': get(l:error, 'line', 1), \ 'col': get(l:error, 'column', 1), \ 'text': l:error.message, \ 'type': l:error.severity == 1 ? 'W' : 'E', \}) else call add(l:output, { \ 'lnum': l:error.line, \ 'col': l:error.column, \ 'text': l:error.rule . ': ' . l:error.message, \ 'type': l:error.severity == 1 ? 'W' : 'E', \}) endif endfor return l:output endfunction call ale#linter#Define('handlebars', { \ 'name': 'embertemplatelint', \ 'aliases': ['ember-template-lint'], \ 'executable': function('ale_linters#handlebars#embertemplatelint#GetExecutable'), \ 'command': function('ale_linters#handlebars#embertemplatelint#GetCommandWithVersionCheck'), \ 'callback': 'ale_linters#handlebars#embertemplatelint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/haskell/cabal_ghc.vim ================================================ " Author: Eric Wolf " Description: ghc for Haskell files called with cabal exec call ale#Set('haskell_cabal_ghc_options', '-fno-code -v0') function! ale_linters#haskell#cabal_ghc#GetCommand(buffer) abort return 'cabal exec -- ghc ' \ . ale#Var(a:buffer, 'haskell_cabal_ghc_options') \ . ' %t' endfunction call ale#linter#Define('haskell', { \ 'name': 'cabal_ghc', \ 'aliases': ['cabal-ghc'], \ 'output_stream': 'stderr', \ 'executable': 'cabal', \ 'cwd': '%s:h', \ 'command': function('ale_linters#haskell#cabal_ghc#GetCommand'), \ 'callback': 'ale#handlers#haskell#HandleGHCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/haskell/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Haskell files. call ale#handlers#cspell#DefineLinter('haskell') ================================================ FILE: bundle/ale/ale_linters/haskell/ghc.vim ================================================ " Author: w0rp " Description: ghc for Haskell files call ale#Set('haskell_ghc_options', '-fno-code -v0') function! ale_linters#haskell#ghc#GetCommand(buffer) abort return 'ghc ' \ . ale#Var(a:buffer, 'haskell_ghc_options') \ . ' %t' endfunction call ale#linter#Define('haskell', { \ 'name': 'ghc', \ 'output_stream': 'stderr', \ 'executable': 'ghc', \ 'command': function('ale_linters#haskell#ghc#GetCommand'), \ 'callback': 'ale#handlers#haskell#HandleGHCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/haskell/ghc_mod.vim ================================================ " Author: wizzup " Description: ghc-mod for Haskell files call ale#Set('haskell_ghc_mod_executable', 'ghc-mod') function! ale_linters#haskell#ghc_mod#GetCommand (buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_ghc_mod_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'ghc-mod') \ . ' --map-file %s=%t check %s' endfunction call ale#linter#Define('haskell', { \ 'name': 'ghc_mod', \ 'aliases': ['ghc-mod'], \ 'executable': {b -> ale#Var(b, 'haskell_ghc_mod_executable')}, \ 'command': function('ale_linters#haskell#ghc_mod#GetCommand'), \ 'callback': 'ale#handlers#haskell#HandleGHCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/haskell/hdevtools.vim ================================================ " Author: rob-b, Takano Akio " Description: hdevtools for Haskell files call ale#Set('haskell_hdevtools_executable', 'hdevtools') call ale#Set('haskell_hdevtools_options', get(g:, 'hdevtools_options', '-g -Wall')) function! ale_linters#haskell#hdevtools#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_hdevtools_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hdevtools') \ . ' check' . ale#Pad(ale#Var(a:buffer, 'haskell_hdevtools_options')) \ . ' -p %s %t' endfunction call ale#linter#Define('haskell', { \ 'name': 'hdevtools', \ 'executable': {b -> ale#Var(b, 'haskell_hdevtools_executable')}, \ 'command': function('ale_linters#haskell#hdevtools#GetCommand'), \ 'callback': 'ale#handlers#haskell#HandleGHCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/haskell/hie.vim ================================================ " Author: Luxed " Description: A language server for Haskell call ale#Set('haskell_hie_executable', 'hie') function! ale_linters#haskell#hie#GetProjectRoot(buffer) abort " Search for the stack file first let l:project_file = ale#path#FindNearestFile(a:buffer, 'stack.yaml') " If it's empty, search for the cabal file if empty(l:project_file) " Search all of the paths except for the root filesystem path. let l:paths = join( \ ale#path#Upwards(expand('#' . a:buffer . ':p:h'))[:-2], \ ',' \) let l:project_file = globpath(l:paths, '*.cabal') endif " If we still can't find one, use the current file. if empty(l:project_file) let l:project_file = expand('#' . a:buffer . ':p') endif return fnamemodify(l:project_file, ':h') endfunction function! ale_linters#haskell#hie#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_hie_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hie') \ . ' --lsp' endfunction call ale#linter#Define('haskell', { \ 'name': 'hie', \ 'lsp': 'stdio', \ 'command': function('ale_linters#haskell#hie#GetCommand'), \ 'executable': {b -> ale#Var(b, 'haskell_hie_executable')}, \ 'project_root': function('ale_linters#haskell#hie#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/haskell/hlint.vim ================================================ " Author: jparoz " Description: hlint for Haskell files call ale#Set('haskell_hlint_executable', 'hlint') call ale#Set('haskell_hlint_options', get(g:, 'hlint_options', '')) function! ale_linters#haskell#hlint#Handle(buffer, lines) abort let l:output = [] for l:error in ale#util#FuzzyJSONDecode(a:lines, []) if l:error.severity is# 'Error' let l:type = 'E' elseif l:error.severity is# 'Suggestion' let l:type = 'I' else let l:type = 'W' endif call add(l:output, { \ 'lnum': str2nr(l:error.startLine), \ 'col': str2nr(l:error.startColumn), \ 'end_lnum': str2nr(l:error.endLine), \ 'end_col': str2nr(l:error.endColumn), \ 'text': l:error.severity . ': ' . l:error.hint . '. Found: ' . l:error.from . ' Why not: ' . l:error.to, \ 'type': l:type, \}) endfor return l:output endfunction function! ale_linters#haskell#hlint#GetCommand(buffer) abort let l:hlintopts = '--color=never --json' return ale#handlers#hlint#GetExecutable(a:buffer) \ . ' ' . ale#Var(a:buffer, 'haskell_hlint_options') \ . ' ' . l:hlintopts \ . ' -' endfunction call ale#linter#Define('haskell', { \ 'name': 'hlint', \ 'executable': {b -> ale#Var(b, 'haskell_hlint_executable')}, \ 'command': function('ale_linters#haskell#hlint#GetCommand') , \ 'callback': 'ale_linters#haskell#hlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/haskell/hls.vim ================================================ " Author: Yen3 " Description: A language server for haskell " The file is based on hie.vim (author: Luxed " ). It search more project root files. " call ale#Set('haskell_hls_executable', 'haskell-language-server-wrapper') call ale#Set('haskell_hls_config', {}) function! ale_linters#haskell#hls#FindRootFile(buffer) abort let l:serach_root_files = [ \ 'stack.yaml', \ 'cabal.project', \ 'package.yaml', \ 'hie.yaml' \ ] for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) for l:root_file in l:serach_root_files if filereadable(l:path . l:root_file) return l:path endif endfor endfor return '' endfunction function! ale_linters#haskell#hls#GetProjectRoot(buffer) abort " Search for the project file first let l:project_file = ale_linters#haskell#hls#FindRootFile(a:buffer) " If it's empty, search for the cabal file if empty(l:project_file) " Search all of the paths except for the root filesystem path. let l:paths = join( \ ale#path#Upwards(expand('#' . a:buffer . ':p:h'))[:-2], \ ',' \) let l:project_file = globpath(l:paths, '*.cabal') endif " If we still can't find one, use the current file. if empty(l:project_file) let l:project_file = expand('#' . a:buffer . ':p') endif return fnamemodify(l:project_file, ':h') endfunction function! ale_linters#haskell#hls#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_hls_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, \ 'haskell-language-server-wrapper') \ . ' --lsp' endfunction call ale#linter#Define('haskell', { \ 'name': 'hls', \ 'lsp': 'stdio', \ 'command': function('ale_linters#haskell#hls#GetCommand'), \ 'executable': {b -> ale#Var(b, 'haskell_hls_executable')}, \ 'project_root': function('ale_linters#haskell#hls#GetProjectRoot'), \ 'lsp_config': {b -> ale#Var(b, 'haskell_hls_config')}, \}) ================================================ FILE: bundle/ale/ale_linters/haskell/stack_build.vim ================================================ " Author: Jake Zimmerman " Description: Like stack-ghc, but for entire projects " " Note: Ideally, this would *only* typecheck. Right now, it also does codegen. " See . call ale#Set('haskell_stack_build_options', '--fast') function! ale_linters#haskell#stack_build#GetCommand(buffer) abort let l:flags = ale#Var(a:buffer, 'haskell_stack_build_options') return 'stack build ' . l:flags endfunction call ale#linter#Define('haskell', { \ 'name': 'stack_build', \ 'aliases': ['stack-build'], \ 'output_stream': 'stderr', \ 'executable': function('ale#handlers#haskell#GetStackExecutable'), \ 'command': function('ale_linters#haskell#stack_build#GetCommand'), \ 'lint_file': 1, \ 'callback': 'ale#handlers#haskell#HandleGHCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/haskell/stack_ghc.vim ================================================ " Author: w0rp " Description: ghc for Haskell files, using Stack call ale#Set('haskell_stack_ghc_options', '-fno-code -v0') function! ale_linters#haskell#stack_ghc#GetCommand(buffer) abort return ale#handlers#haskell#GetStackExecutable(a:buffer) \ . ' ghc -- ' \ . ale#Var(a:buffer, 'haskell_stack_ghc_options') \ . ' %t' endfunction call ale#linter#Define('haskell', { \ 'name': 'stack_ghc', \ 'aliases': ['stack-ghc'], \ 'output_stream': 'stderr', \ 'executable': function('ale#handlers#haskell#GetStackExecutable'), \ 'cwd': '%s:h', \ 'command': function('ale_linters#haskell#stack_ghc#GetCommand'), \ 'callback': 'ale#handlers#haskell#HandleGHCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/help/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for help files call ale#handlers#alex#DefineLinter('help', '--text') ================================================ FILE: bundle/ale/ale_linters/help/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for help files. call ale#handlers#cspell#DefineLinter('help') ================================================ FILE: bundle/ale/ale_linters/help/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for Vim help files call ale#linter#Define('help', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/help/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for vim Help files call ale#handlers#writegood#DefineLinter('help') ================================================ FILE: bundle/ale/ale_linters/html/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for HTML files call ale#handlers#alex#DefineLinter('html', '--html') ================================================ FILE: bundle/ale/ale_linters/html/angular.vim ================================================ " Author: w0rp " Description: tsserver integration for ALE call ale#Set('html_angular_executable', 'ngserver') call ale#Set('html_angular_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#html#angular#GetProjectRoot(buffer) abort return ale#path#Dirname( \ ale#path#FindNearestDirectory(a:buffer, 'node_modules') \) endfunction function! ale_linters#html#angular#GetExecutable(buffer) abort return 'node' endfunction function! ale_linters#html#angular#GetCommand(buffer) abort let l:language_service_dir = ale#path#Simplify( \ ale#path#FindNearestDirectory( \ a:buffer, \ 'node_modules/@angular/language-service' \ ) \) if empty(l:language_service_dir) return '' endif let l:language_service_dir = fnamemodify(l:language_service_dir, ':h') let l:typescript_dir = ale#path#Simplify( \ fnamemodify(l:language_service_dir, ':h:h') \ . '/typescript' \) let l:script = ale#path#FindExecutable(a:buffer, 'html_angular', [ \ 'node_modules/@angular/language-server/bin/ngserver', \ 'node_modules/@angular/language-server/index.js', \]) if !filereadable(l:script) return '' endif return ale#Escape('node') . ' ' . ale#Escape(l:script) \ . ' --ngProbeLocations ' . ale#Escape(l:language_service_dir) \ . ' --tsProbeLocations ' . ale#Escape(l:typescript_dir) \ . ' --stdio' endfunction call ale#linter#Define('html', { \ 'name': 'angular', \ 'aliases': ['angular-language-server'], \ 'lsp': 'stdio', \ 'executable': function('ale_linters#html#angular#GetExecutable'), \ 'command': function('ale_linters#html#angular#GetCommand'), \ 'project_root': function('ale_linters#html#angular#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/html/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for HTML files. call ale#handlers#cspell#DefineLinter('html') ================================================ FILE: bundle/ale/ale_linters/html/fecs.vim ================================================ " Author: harttle " Description: fecs for HTMl files call ale#linter#Define('html', { \ 'name': 'fecs', \ 'executable': function('ale#handlers#fecs#GetExecutable'), \ 'command': function('ale#handlers#fecs#GetCommand'), \ 'callback': 'ale#handlers#fecs#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/html/htmlhint.vim ================================================ " Author: KabbAmine , deathmaz <00maz1987@gmail.com>, diartyz " Description: HTMLHint for checking html files call ale#Set('html_htmlhint_options', '') call ale#Set('html_htmlhint_executable', 'htmlhint') call ale#Set('html_htmlhint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#html#htmlhint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'html_htmlhint_options') let l:config = l:options !~# '--config' \ ? ale#path#FindNearestFile(a:buffer, '.htmlhintrc') \ : '' if !empty(l:config) let l:options .= ' --config ' . ale#Escape(l:config) endif if !empty(l:options) let l:options = substitute(l:options, '--format=unix', '', '') endif return '%e' . ale#Pad(l:options) . ' --format=unix %t' endfunction call ale#linter#Define('html', { \ 'name': 'htmlhint', \ 'executable': {b -> ale#path#FindExecutable(b, 'html_htmlhint', [ \ 'node_modules/.bin/htmlhint', \ ])}, \ 'command': function('ale_linters#html#htmlhint#GetCommand'), \ 'callback': 'ale#handlers#unix#HandleAsError', \}) ================================================ FILE: bundle/ale/ale_linters/html/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for HTML files call ale#linter#Define('html', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/html/stylelint.vim ================================================ " Author: Filipe Kiss http://github.com/filipekiss call ale#Set('html_stylelint_executable', 'stylelint') call ale#Set('html_stylelint_options', '') call ale#Set('html_stylelint_use_global', 0) function! ale_linters#html#stylelint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'html_stylelint', [ \ 'node_modules/.bin/stylelint', \]) endfunction function! ale_linters#html#stylelint#GetCommand(buffer) abort let l:executable = ale_linters#html#stylelint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'html_stylelint_options') return ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --stdin-filename %s' endfunction call ale#linter#Define('html', { \ 'name': 'stylelint', \ 'executable': function('ale_linters#html#stylelint#GetExecutable'), \ 'command': function('ale_linters#html#stylelint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleStyleLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/html/tidy.vim ================================================ " Author: KabbAmine " Description: This file adds support for checking HTML code with tidy. let g:ale_html_tidy_executable = get(g:, 'ale_html_tidy_executable', 'tidy') let g:ale_html_tidy_options = get(g:, 'ale_html_tidy_options', '-q -e -language en') function! ale_linters#html#tidy#GetCommand(buffer) abort " Specify file encoding in options " (Idea taken from https://github.com/scrooloose/syntastic/blob/master/syntax_checkers/html/tidy.vim) let l:file_encoding = get({ \ 'ascii': '-ascii', \ 'big5': '-big5', \ 'cp1252': '-win1252', \ 'cp850': '-ibm858', \ 'cp932': '-shiftjis', \ 'iso-2022-jp': '-iso-2022', \ 'latin1': '-latin1', \ 'macroman': '-mac', \ 'sjis': '-shiftjis', \ 'utf-16le': '-utf16le', \ 'utf-16': '-utf16', \ 'utf-8': '-utf8', \ }, &fileencoding, '-utf8') " On macOS, old tidy (released on 31 Oct 2006) is installed. It does not " consider HTML5 so we should avoid it. let l:executable = ale#Var(a:buffer, 'html_tidy_executable') if has('mac') && l:executable is# 'tidy' && exists('*exepath') \ && exepath(l:executable) is# '/usr/bin/tidy' return '' endif return printf('%s %s %s -', \ l:executable, \ ale#Var(a:buffer, 'html_tidy_options'), \ l:file_encoding \) endfunction function! ale_linters#html#tidy#Handle(buffer, lines) abort " Matches patterns lines like the following: " line 7 column 5 - Warning: missing before let l:pattern = '^line \(\d\+\) column \(\d\+\) - \(Warning\|Error\): \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:line = l:match[1] + 0 let l:col = l:match[2] + 0 let l:type = l:match[3] is# 'Error' ? 'E' : 'W' let l:text = l:match[4] call add(l:output, { \ 'lnum': l:line, \ 'col': l:col, \ 'text': l:text, \ 'type': l:type, \}) endfor return l:output endfunction call ale#linter#Define('html', { \ 'name': 'tidy', \ 'executable': {b -> ale#Var(b, 'html_tidy_executable')}, \ 'output_stream': 'stderr', \ 'command': function('ale_linters#html#tidy#GetCommand'), \ 'callback': 'ale_linters#html#tidy#Handle', \ }) ================================================ FILE: bundle/ale/ale_linters/html/vscodehtml.vim ================================================ " Author: Dalius Dobravolskas " Description: VSCode html language server function! ale_linters#html#vscodehtml#GetProjectRoot(buffer) abort let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction call ale#linter#Define('html', { \ 'name': 'vscodehtml', \ 'lsp': 'stdio', \ 'executable': 'vscode-html-language-server', \ 'command': '%e --stdio', \ 'project_root': function('ale_linters#html#vscodehtml#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/html/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for html files call ale#handlers#writegood#DefineLinter('html') ================================================ FILE: bundle/ale/ale_linters/idris/idris.vim ================================================ " Author: Scott Bonds " Description: default Idris compiler call ale#Set('idris_idris_executable', 'idris') call ale#Set('idris_idris_options', '--total --warnpartial --warnreach --warnipkg') function! ale_linters#idris#idris#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'idris_idris_options') return '%e' . ale#Pad(l:options) . ' --check %s' endfunction function! ale_linters#idris#idris#Handle(buffer, lines) abort " This was copied almost verbatim from ale#handlers#haskell#HandleGHCFormat " " Look for lines like the following: " foo.idr:2:6:When checking right hand side of main with expected type " bar.idr:11:11-13: let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+)(-\d+)?:(.*)?$' let l:output = [] let l:corrected_lines = [] for l:line in a:lines if len(matchlist(l:line, l:pattern)) > 0 call add(l:corrected_lines, l:line) elseif len(l:corrected_lines) > 0 if l:line is# '' let l:corrected_lines[-1] .= ' ' " turn a blank line into a space else let l:corrected_lines[-1] .= l:line endif let l:corrected_lines[-1] = substitute(l:corrected_lines[-1], '\s\+', ' ', 'g') endif endfor for l:line in l:corrected_lines let l:match = matchlist(l:line, l:pattern) if len(l:match) == 0 continue endif if !ale#path#IsBufferPath(a:buffer, l:match[1]) continue endif let l:errors = matchlist(l:match[5], '\v([wW]arning|[eE]rror) - ?(.*)') if len(l:errors) > 0 let l:ghc_type = l:errors[1] let l:text = l:errors[2] else let l:ghc_type = '' let l:text = l:match[5][:0] is# ' ' ? l:match[5][1:] : l:match[5] endif if l:ghc_type is? 'Warning' let l:type = 'W' else let l:type = 'E' endif call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:text, \ 'type': l:type, \}) endfor return l:output endfunction call ale#linter#Define('idris', { \ 'name': 'idris', \ 'executable': {b -> ale#Var(b, 'idris_idris_executable')}, \ 'command': function('ale_linters#idris#idris#GetCommand'), \ 'callback': 'ale_linters#idris#idris#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/ink/ls.vim ================================================ " Author: Andreww Hayworth " Description: Integrate ALE with ink-language-server call ale#Set('ink_ls_executable', 'ink-language-server') call ale#Set('ink_ls_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('ink_ls_initialization_options', {}) function! ale_linters#ink#ls#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'ink_ls', [ \ 'ink-language-server', \ 'node_modules/.bin/ink-language-server', \]) endfunction function! ale_linters#ink#ls#GetCommand(buffer) abort let l:executable = ale_linters#ink#ls#GetExecutable(a:buffer) return ale#Escape(l:executable) . ' --stdio' endfunction function! ale_linters#ink#ls#FindProjectRoot(buffer) abort let l:main_file = get(ale#Var(a:buffer, 'ink_ls_initialization_options'), 'mainStoryPath', 'main.ink') let l:config = ale#path#ResolveLocalPath(a:buffer, l:main_file, expand('#' . a:buffer . ':p')) return ale#path#Dirname(l:config) endfunction call ale#linter#Define('ink', { \ 'name': 'ink-language-server', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#ink#ls#GetExecutable'), \ 'command': function('ale_linters#ink#ls#GetCommand'), \ 'project_root': function('ale_linters#ink#ls#FindProjectRoot'), \ 'initialization_options': {b -> ale#Var(b, 'ink_ls_initialization_options')}, \}) ================================================ FILE: bundle/ale/ale_linters/inko/inko.vim ================================================ " Author: Yorick Peterse " Description: linting of Inko source code using the Inko compiler call ale#Set('inko_inko_executable', 'inko') function! ale_linters#inko#inko#GetCommand(buffer) abort let l:include = '' " Include the tests source directory, but only for test files. if expand('#' . a:buffer . ':p') =~? '\vtests[/\\]test[/\\]' let l:test_dir = ale#path#FindNearestDirectory(a:buffer, 'tests') if isdirectory(l:test_dir) let l:include = '--include ' . ale#Escape(l:test_dir) endif endif " We use %s instead of %t so the compiler determines the correct module " names for the file being edited. Not doing so may lead to errors in " certain cases. return '%e build --check --format=json' \ . ale#Pad(l:include) \ . ' %s' endfunction call ale#linter#Define('inko', { \ 'name': 'inko', \ 'executable': {b -> ale#Var(b, 'inko_inko_executable')}, \ 'command': function('ale_linters#inko#inko#GetCommand'), \ 'callback': 'ale#handlers#inko#Handle', \ 'output_stream': 'stderr', \ 'lint_file': 1 \}) ================================================ FILE: bundle/ale/ale_linters/ispc/ispc.vim ================================================ " Author: Martino Pilia " Description: Lint ispc files with the Intel(R) SPMD Program Compiler call ale#Set('ispc_ispc_executable', 'ispc') call ale#Set('ispc_ispc_options', '') function! ale_linters#ispc#ispc#GetCommand(buffer) abort " --nowrap: do not wrap message lines return '%e --nowrap' \ . ale#Pad(ale#c#IncludeOptions(ale#c#FindLocalHeaderPaths(a:buffer))) \ . ale#Pad(ale#Var(a:buffer, 'ispc_ispc_options')) \ . ' %s' endfunction " Note that we ignore the two warnings in the beginning of the compiler output " ('no output file specified' and 'no --target specified'), since they have " nothing to do with linting. function! ale_linters#ispc#ispc#Handle(buffer, lines) abort " Message format: :: : " As far as I know, can be any of: " 'error', 'Error', 'fatal error', 'Warning', 'Performance Warning' let l:re = '\v.+:([0-9]+):([0-9]+):\s+([^:]+):\s+(.+)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:re) call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': str2nr(l:match[1]), \ 'col': str2nr(l:match[2]), \ 'type': l:match[3] =~? 'error' ? 'E' : 'W', \ 'text': l:match[4], \}) endfor return l:output endfunction call ale#linter#Define('ispc', { \ 'name': 'ispc', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'ispc_ispc_executable')}, \ 'command': function('ale_linters#ispc#ispc#GetCommand'), \ 'callback': 'ale_linters#ispc#ispc#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/java/checkstyle.vim ================================================ " Author: Devon Meunier " Description: checkstyle for Java files call ale#Set('java_checkstyle_executable', 'checkstyle') call ale#Set('java_checkstyle_config', '/google_checks.xml') call ale#Set('java_checkstyle_options', '') function! ale_linters#java#checkstyle#Handle(buffer, lines) abort let l:output = [] " modern checkstyle versions let l:pattern = '\v\[(WARN|ERROR)\] [a-zA-Z]?:?[^:]+:(\d+):(\d+)?:? (.*) \[(.+)\]' for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'type': l:match[1] is? 'WARN' ? 'W' : 'E', \ 'sub_type': 'style', \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[4], \ 'code': l:match[5], \}) endfor if !empty(l:output) return l:output endif " old checkstyle versions let l:pattern = '\v(.+):(\d+): ([^:]+): (.+)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'type': l:match[3] is? 'warning' ? 'W' : 'E', \ 'sub_type': 'style', \ 'lnum': l:match[2] + 0, \ 'text': l:match[4], \}) endfor return l:output endfunction function! s:GetConfig(buffer, config) abort if ale#path#IsAbsolute(a:config) return a:config endif let s:file = ale#path#FindNearestFile(a:buffer, a:config) return !empty(s:file) ? s:file : a:config endfunction function! ale_linters#java#checkstyle#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'java_checkstyle_options') let l:config_option = ale#Var(a:buffer, 'java_checkstyle_config') let l:config = l:options !~# '\v(^| )-c ' && !empty(l:config_option) \ ? s:GetConfig(a:buffer, l:config_option) \ : '' return '%e' \ . ale#Pad(l:options) \ . (!empty(l:config) ? ' -c ' . ale#Escape(l:config) : '') \ . ' %s' endfunction call ale#linter#Define('java', { \ 'name': 'checkstyle', \ 'executable': {b -> ale#Var(b, 'java_checkstyle_executable')}, \ 'command': function('ale_linters#java#checkstyle#GetCommand'), \ 'callback': 'ale_linters#java#checkstyle#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/java/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Java files. call ale#handlers#cspell#DefineLinter('java') ================================================ FILE: bundle/ale/ale_linters/java/eclipselsp.vim ================================================ " Author: Horacio Sanson " Description: Support for the Eclipse language server https://github.com/eclipse/eclipse.jdt.ls let s:version_cache = {} call ale#Set('java_eclipselsp_path', ale#path#Simplify($HOME . '/eclipse.jdt.ls')) call ale#Set('java_eclipselsp_config_path', '') call ale#Set('java_eclipselsp_workspace_path', '') call ale#Set('java_eclipselsp_executable', 'java') call ale#Set('java_eclipselsp_javaagent', '') function! ale_linters#java#eclipselsp#Executable(buffer) abort return ale#Var(a:buffer, 'java_eclipselsp_executable') endfunction function! ale_linters#java#eclipselsp#TargetPath(buffer) abort return ale#Var(a:buffer, 'java_eclipselsp_path') endfunction function! ale_linters#java#eclipselsp#JarPath(buffer) abort let l:path = ale_linters#java#eclipselsp#TargetPath(a:buffer) if has('win32') let l:platform = 'win32' elseif has('macunix') let l:platform = 'macosx' else let l:platform = 'linux' endif " Search jar file within repository path when manually built using mvn let l:files = globpath(l:path, '**/'.l:platform.'/**/plugins/org.eclipse.equinox.launcher_*\.jar', 1, 1) if len(l:files) >= 1 return l:files[0] endif " Search jar file within VSCode extensions folder. let l:files = globpath(l:path, '**/'.l:platform.'/plugins/org.eclipse.equinox.launcher_*\.jar', 1, 1) if len(l:files) >= 1 return l:files[0] endif " Search jar file within unzipped tar.gz file let l:files = globpath(l:path, 'plugins/org.eclipse.equinox.launcher_*\.jar', 1, 1) if len(l:files) >= 1 return l:files[0] endif " Search jar file within system package path let l:files = globpath('/usr/share/java/jdtls/plugins', 'org.eclipse.equinox.launcher_*\.jar', 1, 1) if len(l:files) >= 1 return l:files[0] endif return '' endfunction function! ale_linters#java#eclipselsp#ConfigurationPath(buffer) abort let l:path = fnamemodify(ale_linters#java#eclipselsp#JarPath(a:buffer), ':p:h:h') let l:config_path = ale#Var(a:buffer, 'java_eclipselsp_config_path') if !empty(l:config_path) return ale#path#Simplify(l:config_path) endif if has('win32') let l:path = l:path . '/config_win' elseif has('macunix') let l:path = l:path . '/config_mac' else let l:path = l:path . '/config_linux' endif return ale#path#Simplify(l:path) endfunction function! ale_linters#java#eclipselsp#VersionCheck(version_lines) abort return s:GetVersion('', a:version_lines) endfunction function! s:GetVersion(executable, version_lines) abort let l:version = [] for l:line in a:version_lines let l:match = matchlist(l:line, '\(\d\+\)\.\(\d\+\)\.\(\d\+\)') if !empty(l:match) let l:version = [l:match[1] + 0, l:match[2] + 0, l:match[3] + 0] let s:version_cache[a:executable] = l:version break endif endfor return l:version endfunction function! ale_linters#java#eclipselsp#CommandWithVersion(buffer, version_lines, meta) abort let l:executable = ale_linters#java#eclipselsp#Executable(a:buffer) let l:version = s:GetVersion(l:executable, a:version_lines) return ale_linters#java#eclipselsp#Command(a:buffer, l:version) endfunction function! ale_linters#java#eclipselsp#WorkspacePath(buffer) abort let l:wspath = ale#Var(a:buffer, 'java_eclipselsp_workspace_path') if !empty(l:wspath) return l:wspath endif return ale#path#Dirname(ale#java#FindProjectRoot(a:buffer)) endfunction function! ale_linters#java#eclipselsp#Javaagent(buffer) abort let l:rets = [] let l:raw = ale#Var(a:buffer, 'java_eclipselsp_javaagent') if empty(l:raw) return '' endif let l:jars = split(l:raw) for l:jar in l:jars call add(l:rets, ale#Escape('-javaagent:' . l:jar)) endfor return join(l:rets, ' ') endfunction function! ale_linters#java#eclipselsp#Command(buffer, version) abort let l:path = ale#Var(a:buffer, 'java_eclipselsp_path') let l:executable = ale_linters#java#eclipselsp#Executable(a:buffer) let l:cmd = [ ale#Escape(l:executable), \ ale_linters#java#eclipselsp#Javaagent(a:buffer), \ '-Declipse.application=org.eclipse.jdt.ls.core.id1', \ '-Dosgi.bundles.defaultStartLevel=4', \ '-Declipse.product=org.eclipse.jdt.ls.core.product', \ '-Dlog.level=ALL', \ '-noverify', \ '-Xmx1G', \ '-jar', \ ale#Escape(ale_linters#java#eclipselsp#JarPath(a:buffer)), \ '-configuration', \ ale#Escape(ale_linters#java#eclipselsp#ConfigurationPath(a:buffer)), \ '-data', \ ale#Escape(ale_linters#java#eclipselsp#WorkspacePath(a:buffer)) \ ] if ale#semver#GTE(a:version, [1, 9]) call add(l:cmd, '--add-modules=ALL-SYSTEM') call add(l:cmd, '--add-opens java.base/java.util=ALL-UNNAMED') call add(l:cmd, '--add-opens java.base/java.lang=ALL-UNNAMED') endif return join(l:cmd, ' ') endfunction function! ale_linters#java#eclipselsp#RunWithVersionCheck(buffer) abort let l:executable = ale_linters#java#eclipselsp#Executable(a:buffer) if empty(l:executable) return '' endif let l:cache = s:version_cache if has_key(s:version_cache, l:executable) return ale_linters#java#eclipselsp#Command(a:buffer, s:version_cache[l:executable]) endif let l:command = ale#Escape(l:executable) . ' -version' return ale#command#Run( \ a:buffer, \ l:command, \ function('ale_linters#java#eclipselsp#CommandWithVersion'), \ { 'output_stream': 'both' } \) endfunction call ale#linter#Define('java', { \ 'name': 'eclipselsp', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#java#eclipselsp#Executable'), \ 'command': function('ale_linters#java#eclipselsp#RunWithVersionCheck'), \ 'language': 'java', \ 'project_root': function('ale#java#FindProjectRoot'), \ 'initialization_options': { \ 'extendedClientCapabilities': { \ 'classFileContentsSupport': v:true \ } \ } \}) ================================================ FILE: bundle/ale/ale_linters/java/javac.vim ================================================ " Author: farenjihn , w0rp " Description: Lints java files using javac let s:classpath_sep = has('unix') ? ':' : ';' call ale#Set('java_javac_executable', 'javac') call ale#Set('java_javac_options', '') call ale#Set('java_javac_classpath', '') call ale#Set('java_javac_sourcepath', '') function! ale_linters#java#javac#RunWithImportPaths(buffer) abort let [l:cwd, l:command] = ale#maven#BuildClasspathCommand(a:buffer) " Try to use Gradle if Maven isn't available. if empty(l:command) let [l:cwd, l:command] = ale#gradle#BuildClasspathCommand(a:buffer) endif " Try to use Ant if Gradle and Maven aren't available if empty(l:command) let [l:cwd, l:command] = ale#ant#BuildClasspathCommand(a:buffer) endif if empty(l:command) return ale_linters#java#javac#GetCommand(a:buffer, [], {}) endif return ale#command#Run( \ a:buffer, \ l:command, \ function('ale_linters#java#javac#GetCommand'), \ {'cwd': l:cwd}, \) endfunction function! s:BuildClassPathOption(buffer, import_paths) abort " Filter out lines like [INFO], etc. let l:class_paths = filter(a:import_paths[:], 'v:val !~# ''[''') let l:cls_path = ale#Var(a:buffer, 'java_javac_classpath') if !empty(l:cls_path) && type(l:cls_path) is v:t_string call extend(l:class_paths, split(l:cls_path, s:classpath_sep)) endif if !empty(l:cls_path) && type(l:cls_path) is v:t_list call extend(l:class_paths, l:cls_path) endif return !empty(l:class_paths) \ ? '-cp ' . ale#Escape(join(l:class_paths, s:classpath_sep)) \ : '' endfunction function! ale_linters#java#javac#GetCommand(buffer, import_paths, meta) abort let l:cp_option = s:BuildClassPathOption(a:buffer, a:import_paths) let l:sp_option = '' " Find the src directory, for files in this project. let l:src_dir = ale#path#FindNearestDirectory(a:buffer, 'src/main/java') let l:sp_dirs = [] if !empty(l:src_dir) call add(l:sp_dirs, l:src_dir) " Automatically include the jaxb directory too, if it's there. let l:jaxb_dir = fnamemodify(l:src_dir, ':h:h') \ . (has('win32') ? '\jaxb\' : '/jaxb/') if isdirectory(l:jaxb_dir) call add(l:sp_dirs, l:jaxb_dir) endif endif " Automatically include the test directory, but only for test code. if expand('#' . a:buffer . ':p') =~? '\vsrc[/\\]test[/\\]java' let l:test_dir = ale#path#FindNearestDirectory(a:buffer, 'src/test/java') if isdirectory(l:test_dir) call add(l:sp_dirs, l:test_dir) endif endif let l:source_paths = [] let l:source_path = ale#Var(a:buffer, 'java_javac_sourcepath') if !empty(l:source_path) && type(l:source_path) is v:t_string let l:source_paths = split(l:source_path, s:classpath_sep) endif if !empty(l:source_path) && type(l:source_path) is v:t_list let l:source_paths = l:source_path endif if !empty(l:source_paths) for l:path in l:source_paths let l:sp_path = ale#path#FindNearestDirectory(a:buffer, l:path) if !empty(l:sp_path) call add(l:sp_dirs, l:sp_path) endif endfor endif if !empty(l:sp_dirs) let l:sp_option = '-sourcepath ' \ . ale#Escape(join(l:sp_dirs, s:classpath_sep)) endif " Create .class files in a temporary directory, which we will delete later. let l:class_file_directory = ale#command#CreateDirectory(a:buffer) " Always run javac from the directory the file is in, so we can resolve " relative paths correctly. return '%e -Xlint' \ . ale#Pad(l:cp_option) \ . ale#Pad(l:sp_option) \ . ' -d ' . ale#Escape(l:class_file_directory) \ . ale#Pad(ale#Var(a:buffer, 'java_javac_options')) \ . ' %t' endfunction function! ale_linters#java#javac#Handle(buffer, lines) abort " Look for lines like the following. " " Main.java:13: warning: [deprecation] donaught() in Testclass has been deprecated " Main.java:16: error: ';' expected let l:directory = expand('#' . a:buffer . ':p:h') let l:pattern = '\v^(.*):(\d+): (.{-1,}):(.+)$' let l:col_pattern = '\v^(\s*\^)$' let l:symbol_pattern = '\v^ +symbol: *(class|method) +([^ ]+)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, [l:pattern, l:col_pattern, l:symbol_pattern]) if empty(l:match[2]) && empty(l:match[3]) if !empty(l:match[1]) && !empty(l:output) let l:output[-1].col = len(l:match[1]) endif elseif empty(l:match[3]) " Add symbols to 'cannot find symbol' errors. if l:output[-1].text is# 'error: cannot find symbol' let l:output[-1].text .= ': ' . l:match[2] endif else call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:directory, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'text': l:match[3] . ':' . l:match[4], \ 'type': l:match[3] is# 'error' ? 'E' : 'W', \}) endif endfor return l:output endfunction call ale#linter#Define('java', { \ 'name': 'javac', \ 'executable': {b -> ale#Var(b, 'java_javac_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#java#javac#RunWithImportPaths'), \ 'output_stream': 'stderr', \ 'callback': 'ale_linters#java#javac#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/java/javalsp.vim ================================================ " Author: Horacio Sanson " Description: Support for the Java language server https://github.com/georgewfraser/vscode-javac call ale#Set('java_javalsp_executable', '') call ale#Set('java_javalsp_config', {}) function! ale_linters#java#javalsp#Executable(buffer) abort return ale#Var(a:buffer, 'java_javalsp_executable') endfunction function! ale_linters#java#javalsp#Config(buffer) abort let l:defaults = { 'java': { 'classPath': [], 'externalDependencies': [] } } let l:config = ale#Var(a:buffer, 'java_javalsp_config') " Ensure the config dictionary contains both classPath and " externalDependencies keys to avoid a NPE crash on Java Language Server. call extend(l:config, l:defaults, 'keep') call extend(l:config['java'], l:defaults['java'], 'keep') return l:config endfunction function! ale_linters#java#javalsp#Command(buffer) abort let l:executable = ale_linters#java#javalsp#Executable(a:buffer) if fnamemodify(l:executable, ':t') is# 'java' " For backward compatibility. let l:cmd = [ \ ale#Escape(l:executable), \ '--add-exports jdk.compiler/com.sun.tools.javac.api=javacs', \ '--add-exports jdk.compiler/com.sun.tools.javac.code=javacs', \ '--add-exports jdk.compiler/com.sun.tools.javac.comp=javacs', \ '--add-exports jdk.compiler/com.sun.tools.javac.main=javacs', \ '--add-exports jdk.compiler/com.sun.tools.javac.tree=javacs', \ '--add-exports jdk.compiler/com.sun.tools.javac.model=javacs', \ '--add-exports jdk.compiler/com.sun.tools.javac.util=javacs', \ '--add-opens jdk.compiler/com.sun.tools.javac.api=javacs', \ '-m javacs/org.javacs.Main', \] return join(l:cmd, ' ') else return ale#Escape(l:executable) endif endfunction call ale#linter#Define('java', { \ 'name': 'javalsp', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#java#javalsp#Executable'), \ 'command': function('ale_linters#java#javalsp#Command'), \ 'language': 'java', \ 'project_root': function('ale#java#FindProjectRoot'), \ 'lsp_config': function('ale_linters#java#javalsp#Config') \}) ================================================ FILE: bundle/ale/ale_linters/java/pmd.vim ================================================ " Author: Johannes Wienke " Description: PMD for Java files function! ale_linters#java#pmd#Handle(buffer, lines) abort let l:pattern = '"\(\d\+\)",".*","\(.\+\)","\(\d\+\)","\(\d\+\)","\(.\+\)","\(.\+\)","\(.\+\)"$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'type': 'W', \ 'lnum': l:match[4] + 0, \ 'text': l:match[5], \ 'code': l:match[6] . ' - ' . l:match[7], \}) endfor return l:output endfunction function! ale_linters#java#pmd#GetCommand(buffer) abort return 'pmd ' \ . ale#Var(a:buffer, 'java_pmd_options') \ . ' -f csv' \ . ' -d %t' endfunction if !exists('g:ale_java_pmd_options') let g:ale_java_pmd_options = '-R category/java/bestpractices.xml' endif call ale#linter#Define('java', { \ 'name': 'pmd', \ 'executable': 'pmd', \ 'command': function('ale_linters#java#pmd#GetCommand'), \ 'callback': 'ale_linters#java#pmd#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/javascript/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for JavaScript files. call ale#handlers#cspell#DefineLinter('javascript') ================================================ FILE: bundle/ale/ale_linters/javascript/deno.vim ================================================ " Author: Arnold Chand " Description: Deno lsp linter for JavaScript files. call ale#linter#Define('javascript', { \ 'name': 'deno', \ 'lsp': 'stdio', \ 'executable': function('ale#handlers#deno#GetExecutable'), \ 'command': '%e lsp', \ 'project_root': function('ale#handlers#deno#GetProjectRoot'), \ 'initialization_options': function('ale#handlers#deno#GetInitializationOptions'), \}) ================================================ FILE: bundle/ale/ale_linters/javascript/eslint.vim ================================================ " Author: w0rp " Description: eslint for JavaScript files call ale#linter#Define('javascript', { \ 'name': 'eslint', \ 'output_stream': 'both', \ 'executable': function('ale#handlers#eslint#GetExecutable'), \ 'cwd': function('ale#handlers#eslint#GetCwd'), \ 'command': function('ale#handlers#eslint#GetCommand'), \ 'callback': 'ale#handlers#eslint#HandleJSON', \}) ================================================ FILE: bundle/ale/ale_linters/javascript/fecs.vim ================================================ " Author: harttle " Description: fecs for JavaScript files call ale#linter#Define('javascript', { \ 'name': 'fecs', \ 'executable': function('ale#handlers#fecs#GetExecutable'), \ 'command': function('ale#handlers#fecs#GetCommand'), \ 'read_buffer': 0, \ 'callback': 'ale#handlers#fecs#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/javascript/flow.vim ================================================ " Author: Zach Perrault -- @zperrault " Author: Florian Beeres " Description: FlowType checking for JavaScript files call ale#Set('javascript_flow_executable', 'flow') call ale#Set('javascript_flow_use_home_config', 0) call ale#Set('javascript_flow_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_flow_use_respect_pragma', 1) function! ale_linters#javascript#flow#GetExecutable(buffer) abort let l:flow_config = ale#path#FindNearestFile(a:buffer, '.flowconfig') if empty(l:flow_config) " Don't run Flow if we can't find a .flowconfig file. return '' endif " Don't run Flow with a configuration file from the home directory by " default, which can eat all of your RAM. if fnamemodify(l:flow_config, ':h') is? $HOME \&& !ale#Var(a:buffer, 'javascript_flow_use_home_config') return '' endif return ale#path#FindExecutable(a:buffer, 'javascript_flow', [ \ 'node_modules/.bin/flow', \]) endfunction function! ale_linters#javascript#flow#GetCommand(buffer, version) abort " If we can parse the version number, then only use --respect-pragma " if the version is >= 0.36.0, which added the argument. let l:use_respect_pragma = ale#Var(a:buffer, 'javascript_flow_use_respect_pragma') \ && (empty(a:version) || ale#semver#GTE(a:version, [0, 36])) return '%e check-contents' \ . (l:use_respect_pragma ? ' --respect-pragma': '') \ . ' --json --from ale %s < %t' \ . (!has('win32') ? '; echo' : '') endfunction " Filter lines of flow output until we find the first line where the JSON " output starts. function! s:GetJSONLines(lines) abort let l:start_index = 0 for l:line in a:lines if l:line[:0] is# '{' break endif let l:start_index += 1 endfor return a:lines[l:start_index :] endfunction function! s:ExtraErrorMsg(current, new) abort let l:newMsg = '' if a:current is# '' " extra messages appear to already have a : let l:newMsg = a:new else let l:newMsg = a:current . ' ' . a:new endif return l:newMsg endfunction function! s:GetDetails(error) abort let l:detail = '' for l:extra_error in a:error.extra if has_key(l:extra_error, 'message') for l:extra_message in l:extra_error.message let l:detail = s:ExtraErrorMsg(l:detail, l:extra_message.descr) endfor endif if has_key(l:extra_error, 'children') for l:child in l:extra_error.children for l:child_message in l:child.message let l:detail = l:detail . ' ' . l:child_message.descr endfor endfor endif endfor return l:detail endfunction function! ale_linters#javascript#flow#Handle(buffer, lines) abort let l:str = join(s:GetJSONLines(a:lines), '') if empty(l:str) return [] endif let l:flow_output = json_decode(l:str) let l:output = [] for l:error in get(l:flow_output, 'errors', []) " Each error is broken up into parts let l:text = '' let l:line = 0 let l:col = 0 for l:message in l:error.message " Comments have no line of column information, so we skip them. " In certain cases, `l:message.loc.source` points to a different path " than the buffer one, thus we skip this loc information too. if has_key(l:message, 'loc') \&& l:line is# 0 \&& ale#path#IsBufferPath(a:buffer, l:message.loc.source) let l:line = l:message.loc.start.line + 0 let l:col = l:message.loc.start.column + 0 endif if l:text is# '' let l:text = l:message.descr . ':' else let l:text = l:text . ' ' . l:message.descr endif endfor if has_key(l:error, 'operation') let l:text = l:text . ' See also: ' . l:error.operation.descr endif let l:errorToAdd = { \ 'lnum': l:line, \ 'col': l:col, \ 'text': l:text, \ 'type': has_key(l:error, 'level') && l:error.level is# 'error' ? 'E' : 'W', \} if has_key(l:error, 'extra') let l:errorToAdd.detail = l:errorToAdd.text \ . "\n" . s:GetDetails(l:error) endif call add(l:output, l:errorToAdd) endfor return l:output endfunction call ale#linter#Define('javascript', { \ 'name': 'flow', \ 'executable': function('ale_linters#javascript#flow#GetExecutable'), \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale_linters#javascript#flow#GetExecutable(buffer), \ '%e --version', \ function('ale_linters#javascript#flow#GetCommand'), \ )}, \ 'callback': 'ale_linters#javascript#flow#Handle', \ 'read_buffer': 0, \}) ================================================ FILE: bundle/ale/ale_linters/javascript/flow_ls.vim ================================================ " Author: t_t " Description: Integrate ALE with flow-language-server. call ale#Set('javascript_flow_ls_executable', 'flow') call ale#Set('javascript_flow_ls_use_global', \ get(g:, 'ale_use_global_executables', 0) \) function! ale_linters#javascript#flow_ls#FindProjectRoot(buffer) abort let l:flow_config = ale#path#FindNearestFile(a:buffer, '.flowconfig') if !empty(l:flow_config) return fnamemodify(l:flow_config, ':h') endif return '' endfunction call ale#linter#Define('javascript', { \ 'name': 'flow-language-server', \ 'lsp': 'stdio', \ 'executable': {b -> ale#path#FindExecutable(b, 'javascript_flow_ls', [ \ 'node_modules/.bin/flow', \ ])}, \ 'command': '%e lsp --from ale-lsp', \ 'project_root': function('ale_linters#javascript#flow_ls#FindProjectRoot'), \ 'language': 'javascript', \}) ================================================ FILE: bundle/ale/ale_linters/javascript/jscs.vim ================================================ " Author: Chris Kyrouac - https://github.com/fijshion " Description: jscs for JavaScript files call ale#Set('javascript_jscs_executable', 'jscs') call ale#Set('javascript_jscs_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#javascript#jscs#GetCommand(buffer) abort " Search for a local JShint config locaation, and default to a global one. let l:jscs_config = ale#path#ResolveLocalPath( \ a:buffer, \ '.jscsrc', \ get(g:, 'ale_jscs_config_loc', '') \) let l:command = '%e --reporter inline --no-colors' if !empty(l:jscs_config) let l:command .= ' --config ' . ale#Escape(l:jscs_config) endif let l:command .= ' -' return l:command endfunction function! ale_linters#javascript#jscs#Handle(buffer, lines) abort " Matches patterns looking like the following " " foobar.js: line 2, col 1, Expected indentation of 1 characters " let l:pattern = '\v^.*:\s+line (\d+),\s+col\s+(\d+),\s+(.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:obj = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3] \} let l:code_match = matchlist(l:match[3], '\v([^ :]+): (.+)$') if !empty(l:code_match) let l:obj.code = l:code_match[1] let l:obj.text = l:code_match[2] endif call add(l:output, l:obj) endfor return l:output endfunction call ale#linter#Define('javascript', { \ 'name': 'jscs', \ 'executable': {b -> ale#path#FindExecutable(b, 'javascript_jscs', [ \ 'node_modules/.bin/jscs', \ ])}, \ 'command': function('ale_linters#javascript#jscs#GetCommand'), \ 'callback': 'ale_linters#javascript#jscs#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/javascript/jshint.vim ================================================ " Author: Chris Kyrouac - https://github.com/fijshion " Description: JSHint for Javascript files call ale#Set('javascript_jshint_executable', 'jshint') call ale#Set('javascript_jshint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#javascript#jshint#GetCommand(buffer) abort " Search for a local JShint config locaation, and default to a global one. let l:jshint_config = ale#path#ResolveLocalPath( \ a:buffer, \ '.jshintrc', \ get(g:, 'ale_jshint_config_loc', '') \) let l:command = '%e --reporter unix --extract auto' if !empty(l:jshint_config) let l:command .= ' --config ' . ale#Escape(l:jshint_config) endif let l:command .= ' --filename %s -' return l:command endfunction call ale#linter#Define('javascript', { \ 'name': 'jshint', \ 'executable': {b -> ale#path#FindExecutable(b, 'javascript_jshint', [ \ 'node_modules/.bin/jshint', \ ])}, \ 'command': function('ale_linters#javascript#jshint#GetCommand'), \ 'callback': 'ale#handlers#unix#HandleAsError', \}) ================================================ FILE: bundle/ale/ale_linters/javascript/standard.vim ================================================ " Author: Ahmed El Gabri <@ahmedelgabri> " Description: standardjs for JavaScript files call ale#Set('javascript_standard_executable', 'standard') call ale#Set('javascript_standard_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_standard_options', '') function! ale_linters#javascript#standard#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'javascript_standard', [ \ 'node_modules/standardx/bin/cmd.js', \ 'node_modules/standard/bin/cmd.js', \ 'node_modules/semistandard/bin/cmd.js', \ 'node_modules/.bin/standard', \]) endfunction function! ale_linters#javascript#standard#GetCommand(buffer) abort let l:executable = ale_linters#javascript#standard#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'javascript_standard_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --stdin %s' endfunction " standard uses eslint and the output format is the same call ale#linter#Define('javascript', { \ 'name': 'standard', \ 'executable': function('ale_linters#javascript#standard#GetExecutable'), \ 'command': function('ale_linters#javascript#standard#GetCommand'), \ 'callback': 'ale#handlers#eslint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/javascript/tsserver.vim ================================================ " Author: Chaucerbao, w0rp " Description: tsserver integration for ALE call ale#Set('javascript_tsserver_executable', 'tsserver') call ale#Set('javascript_tsserver_config_path', '') call ale#Set('javascript_tsserver_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define('javascript', { \ 'name': 'tsserver', \ 'lsp': 'tsserver', \ 'executable': {b -> ale#path#FindExecutable(b, 'javascript_tsserver', [ \ 'node_modules/.bin/tsserver', \ ])}, \ 'command': '%e', \ 'project_root': function('ale#handlers#tsserver#GetProjectRoot'), \ 'language': '', \}) ================================================ FILE: bundle/ale/ale_linters/javascript/xo.vim ================================================ " Author: Daniel Lupu " Description: xo for JavaScript files call ale#linter#Define('javascript', { \ 'name': 'xo', \ 'executable': function('ale#handlers#xo#GetExecutable'), \ 'command': function('ale#handlers#xo#GetLintCommand'), \ 'callback': 'ale#handlers#xo#HandleJSON', \}) ================================================ FILE: bundle/ale/ale_linters/json/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for JSON files. call ale#handlers#cspell#DefineLinter('json') ================================================ FILE: bundle/ale/ale_linters/json/eslint.vim ================================================ " Author: João Pesce " Description: eslint for JSON files. " " Requires eslint-plugin-jsonc or a similar plugin to work " " Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp " call ale#linter#Define('json', { \ 'name': 'eslint', \ 'output_stream': 'both', \ 'executable': function('ale#handlers#eslint#GetExecutable'), \ 'cwd': function('ale#handlers#eslint#GetCwd'), \ 'command': function('ale#handlers#eslint#GetCommand'), \ 'callback': 'ale#handlers#eslint#HandleJSON', \}) ================================================ FILE: bundle/ale/ale_linters/json/jq.vim ================================================ " Author: jD91mZM2 call ale#Set('json_jq_executable', 'jq') call ale#Set('json_jq_options', '') call ale#Set('json_jq_filters', '.') " Matches patterns like the following: " parse error: Expected another key-value pair at line 4, column 3 let s:pattern = '^parse error: \(.\+\) at line \(\d\+\), column \(\d\+\)$' function! ale_linters#json#jq#Handle(buffer, lines) abort return ale#util#MapMatches(a:lines, s:pattern, {match -> { \ 'text': match[1], \ 'lnum': match[2] + 0, \ 'col': match[3] + 0, \}}) endfunction call ale#linter#Define('json', { \ 'name': 'jq', \ 'executable': {b -> ale#Var(b, 'json_jq_executable')}, \ 'output_stream': 'stderr', \ 'command': '%e', \ 'callback': 'ale_linters#json#jq#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/json/jsonlint.vim ================================================ " Author: KabbAmine , David Sierra call ale#Set('json_jsonlint_executable', 'jsonlint') call ale#Set('json_jsonlint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#json#jsonlint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'json_jsonlint', [ \ 'node_modules/.bin/jsonlint', \ 'node_modules/jsonlint/lib/cli.js', \]) endfunction function! ale_linters#json#jsonlint#GetCommand(buffer) abort let l:executable = ale_linters#json#jsonlint#GetExecutable(a:buffer) return ale#node#Executable(a:buffer, l:executable) \ . ' --compact -' endfunction function! ale_linters#json#jsonlint#Handle(buffer, lines) abort " Matches patterns like the following: " line 2, col 15, found: 'STRING' - expected: 'EOF', '}', ',', ']'. let l:pattern = '^line \(\d\+\), col \(\d*\), \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('json', { \ 'name': 'jsonlint', \ 'executable': function('ale_linters#json#jsonlint#GetExecutable'), \ 'output_stream': 'stderr', \ 'command': function('ale_linters#json#jsonlint#GetCommand'), \ 'callback': 'ale_linters#json#jsonlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/json/spectral.vim ================================================ " Author: t2h5 " Description: Integration of Stoplight Spectral CLI with ALE. call ale#Set('json_spectral_executable', 'spectral') call ale#Set('json_spectral_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define('json', { \ 'name': 'spectral', \ 'executable': {b -> ale#path#FindExecutable(b, 'json_spectral', [ \ 'node_modules/.bin/spectral', \ ])}, \ 'command': '%e lint --ignore-unknown-format -q -f text %t', \ 'callback': 'ale#handlers#spectral#HandleSpectralOutput' \}) ================================================ FILE: bundle/ale/ale_linters/json/vscodejson.vim ================================================ " Author: Dalius Dobravolskas " Description: VSCode json language server function! ale_linters#json#vscodejson#GetProjectRoot(buffer) abort let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction call ale#linter#Define('json', { \ 'name': 'vscodejson', \ 'lsp': 'stdio', \ 'executable': 'vscode-json-language-server', \ 'command': '%e --stdio', \ 'project_root': function('ale_linters#json#vscodejson#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/json5/eslint.vim ================================================ " Author: João Pesce " Description: eslint for JSON5 files. " " Requires eslint-plugin-jsonc or a similar plugin to work " " Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp " call ale#linter#Define('json5', { \ 'name': 'eslint', \ 'output_stream': 'both', \ 'executable': function('ale#handlers#eslint#GetExecutable'), \ 'cwd': function('ale#handlers#eslint#GetCwd'), \ 'command': function('ale#handlers#eslint#GetCommand'), \ 'callback': 'ale#handlers#eslint#HandleJSON', \}) ================================================ FILE: bundle/ale/ale_linters/jsonc/eslint.vim ================================================ " Author: João Pesce " Description: eslint for JSONC files. " " Requires eslint-plugin-jsonc or a similar plugin to work " " Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp " call ale#linter#Define('jsonc', { \ 'name': 'eslint', \ 'output_stream': 'both', \ 'executable': function('ale#handlers#eslint#GetExecutable'), \ 'cwd': function('ale#handlers#eslint#GetCwd'), \ 'command': function('ale#handlers#eslint#GetCommand'), \ 'callback': 'ale#handlers#eslint#HandleJSON', \}) ================================================ FILE: bundle/ale/ale_linters/jsonnet/jsonnet_lint.vim ================================================ " Author: Trevor Whitney " Description: jsonnet-lint for jsonnet files call ale#Set('jsonnet_jsonnet_lint_executable', 'jsonnet-lint') call ale#Set('jsonnet_jsonnet_lint_options', '') function! ale_linters#jsonnet#jsonnet_lint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'jsonnet_jsonnet_lint_options') return '%e' \ . ale#Pad(l:options) \ . ' %t' endfunction function! ale_linters#jsonnet#jsonnet_lint#Handle(buffer, lines) abort " Matches patterns line the following: " " ERROR: foo.jsonnet:22:3-12 expected token OPERATOR but got (IDENTIFIER, "bar") " ERROR: hoge.jsonnet:20:3 unexpected: "}" while parsing terminal " ERROR: main.jsonnet:212:1-14 Expected , or ; but got (IDENTIFIER, "older_cluster") let l:pattern = '^ERROR: [^:]*:\(\d\+\):\(\d\+\)\(-\d\+\)* \(.*\)' let l:output = [] for l:line in a:lines let l:match = matchlist(l:line, l:pattern) if len(l:match) == 0 continue endif let line_number = l:match[1] + 0 let column = l:match[2] + 0 " l:match[3] has optional -14, when linter is showing a range let text = l:match[4] " vcol is Needed to indicate that the column is a character. call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': line_number, \ 'vcol': 0, \ 'col': column, \ 'text': text, \ 'type': 'E', \ 'nr': -1, \}) endfor return l:output endfunction call ale#linter#Define('jsonnet', { \ 'name': 'jsonnet_lint', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'jsonnet_jsonnet_lint_executable')}, \ 'command': function('ale_linters#jsonnet#jsonnet_lint#GetCommand'), \ 'callback': 'ale_linters#jsonnet#jsonnet_lint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/jsonnet/jsonnetfmt.vim ================================================ " Authors: Trevor Whitney and Takuya Kosugiyama " Description: jsonnetfmt for jsonnet files call ale#Set('jsonnet_jsonnetfmt_executable', 'jsonnetfmt') call ale#Set('jsonnet_jsonnetfmt_options', '') function! ale_linters#jsonnet#jsonnetfmt#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'jsonnet_jsonnetfmt_options') return '%e' \ . ale#Pad(l:options) \ . ' %t' endfunction function! ale_linters#jsonnet#jsonnetfmt#Handle(buffer, lines) abort " Matches patterns line the following: " " STATIC ERROR: foo.jsonnet:22:3-12: expected token OPERATOR but got (IDENTIFIER, "bar") " STATIC ERROR: hoge.jsonnet:20:3: unexpected: "}" while parsing terminal let l:pattern = '^STATIC ERROR:[^:]*:\(\d\+\):\(\d\+\):*\(-\d\+\)* \(.*\)' let l:output = [] for l:line in a:lines let l:match = matchlist(l:line, l:pattern) if len(l:match) == 0 continue endif " vcol is Needed to indicate that the column is a character. call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:match[1] + 0, \ 'vcol': 0, \ 'col': l:match[2] + 0, \ 'text': l:match[4], \ 'type': 'E', \ 'nr': -1, \}) endfor return l:output endfunction call ale#linter#Define('jsonnet', { \ 'name': 'jsonnetfmt', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'jsonnet_jsonnetfmt_executable')}, \ 'command': function('ale_linters#jsonnet#jsonnetfmt#GetCommand'), \ 'callback': 'ale_linters#jsonnet#jsonnetfmt#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/julia/languageserver.vim ================================================ " Author: Bartolomeo Stellato " Description: A language server for Julia " Set julia executable variable call ale#Set('julia_executable', 'julia') function! ale_linters#julia#languageserver#GetCommand(buffer) abort let l:julia_executable = ale#Var(a:buffer, 'julia_executable') let l:cmd_string = 'using LanguageServer; using Pkg; import StaticLint; import SymbolServer; server = LanguageServer.LanguageServerInstance(isdefined(Base, :stdin) ? stdin : STDIN, isdefined(Base, :stdout) ? stdout : STDOUT, dirname(Pkg.Types.Context().env.project_file)); server.runlinter = true; run(server);' return ale#Escape(l:julia_executable) . ' --project=@. --startup-file=no --history-file=no -e ' . ale#Escape(l:cmd_string) endfunction call ale#linter#Define('julia', { \ 'name': 'languageserver', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'julia_executable')}, \ 'command': function('ale_linters#julia#languageserver#GetCommand'), \ 'language': 'julia', \ 'project_root': function('ale#julia#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/kotlin/kotlinc.vim ================================================ " Author: Francis Agyapong " Description: A linter for the Kotlin programming language that uses kotlinc let g:ale_kotlin_kotlinc_options = get(g:, 'ale_kotlin_kotlinc_options', '') let g:ale_kotlin_kotlinc_enable_config = get(g:, 'ale_kotlin_kotlinc_enable_config', 0) let g:ale_kotlin_kotlinc_config_file = get(g:, 'ale_kotlin_kotlinc_config_file', '.ale_kotlinc_config') let g:ale_kotlin_kotlinc_classpath = get(g:, 'ale_kotlin_kotlinc_classpath', '') let g:ale_kotlin_kotlinc_sourcepath = get(g:, 'ale_kotlin_kotlinc_sourcepath', '') let g:ale_kotlin_kotlinc_use_module_file = get(g:, 'ale_kotlin_kotlinc_use_module_file', 0) let g:ale_kotlin_kotlinc_module_filename = get(g:, 'ale_kotlin_kotlinc_module_filename', 'module.xml') let s:classpath_sep = has('unix') ? ':' : ';' function! ale_linters#kotlin#kotlinc#RunWithImportPaths(buffer) abort let l:command = '' " exec maven/gradle only if classpath is not set if !empty(ale#Var(a:buffer, 'kotlin_kotlinc_classpath')) return ale_linters#kotlin#kotlinc#GetCommand(a:buffer, [], {}) endif let [l:cwd, l:command] = ale#maven#BuildClasspathCommand(a:buffer) " Try to use Gradle if Maven isn't available. if empty(l:command) let [l:cwd, l:command] = ale#gradle#BuildClasspathCommand(a:buffer) endif if empty(l:command) return ale_linters#kotlin#kotlinc#GetCommand(a:buffer, [], {}) endif return ale#command#Run( \ a:buffer, \ l:command, \ function('ale_linters#kotlin#kotlinc#GetCommand'), \ {'cwd': l:cwd}, \) endfunction function! s:BuildClassPathOption(buffer, import_paths) abort " Filter out lines like [INFO], etc. let l:class_paths = filter(a:import_paths[:], 'v:val !~# ''[''') call extend( \ l:class_paths, \ split(ale#Var(a:buffer, 'kotlin_kotlinc_classpath'), s:classpath_sep), \) return !empty(l:class_paths) \ ? ' -cp ' . ale#Escape(join(l:class_paths, s:classpath_sep)) \ : '' endfunction function! ale_linters#kotlin#kotlinc#GetCommand(buffer, import_paths, meta) abort let l:kotlinc_opts = ale#Var(a:buffer, 'kotlin_kotlinc_options') let l:command = 'kotlinc ' " If the config file is enabled and readable, source it if ale#Var(a:buffer, 'kotlin_kotlinc_enable_config') let l:conf = expand(ale#Var(a:buffer, 'kotlin_kotlinc_config_file'), 1) if filereadable(l:conf) execute 'source ' . fnameescape(l:conf) endif endif " If use module and module file is readable use that and return if ale#Var(a:buffer, 'kotlin_kotlinc_use_module_file') let l:module_filename = ale#Escape(expand(ale#Var(a:buffer, 'kotlin_kotlinc_module_filename'), 1)) if filereadable(l:module_filename) let l:kotlinc_opts .= ' -module ' . l:module_filename let l:command .= 'kotlinc ' . l:kotlinc_opts return l:command endif endif " We only get here if not using module or the module file not readable if ale#Var(a:buffer, 'kotlin_kotlinc_classpath') isnot# '' let l:kotlinc_opts .= ' -cp ' . ale#Var(a:buffer, 'kotlin_kotlinc_classpath') else " get classpath from maven/gradle let l:kotlinc_opts .= s:BuildClassPathOption(a:buffer, a:import_paths) endif let l:fname = '' if ale#Var(a:buffer, 'kotlin_kotlinc_sourcepath') isnot# '' let l:fname .= expand(ale#Var(a:buffer, 'kotlin_kotlinc_sourcepath'), 1) . ' ' else " Find the src directory for files in this project. let l:project_root = ale#gradle#FindProjectRoot(a:buffer) if !empty(l:project_root) let l:src_dir = l:project_root else let l:src_dir = ale#path#FindNearestDirectory(a:buffer, 'src/main/java') \ . ' ' . ale#path#FindNearestDirectory(a:buffer, 'src/main/kotlin') endif let l:fname .= expand(l:src_dir, 1) . ' ' endif let l:fname .= ale#Escape(expand('#' . a:buffer . ':p')) let l:command .= l:kotlinc_opts . ' ' . l:fname return l:command endfunction function! ale_linters#kotlin#kotlinc#Handle(buffer, lines) abort let l:code_pattern = '^\(.*\):\([0-9]\+\):\([0-9]\+\):\s\+\(error\|warning\):\s\+\(.*\)' let l:general_pattern = '^\(warning\|error\|info\):\s*\(.*\)' let l:output = [] for l:line in a:lines let l:match = matchlist(l:line, l:code_pattern) if len(l:match) == 0 continue endif let l:file = l:match[1] let l:line = l:match[2] + 0 let l:column = l:match[3] + 0 let l:type = l:match[4] let l:text = l:match[5] let l:buf_abspath = fnamemodify(l:file, ':p') let l:curbuf_abspath = expand('#' . a:buffer . ':p') " Skip if file is not loaded if l:buf_abspath isnot# l:curbuf_abspath continue endif let l:type_marker_str = l:type is# 'warning' ? 'W' : 'E' call add(l:output, { \ 'lnum': l:line, \ 'col': l:column, \ 'text': l:text, \ 'type': l:type_marker_str, \}) endfor " Non-code related messages for l:line in a:lines let l:match = matchlist(l:line, l:general_pattern) if len(l:match) == 0 continue endif let l:type = l:match[1] let l:text = l:match[2] let l:type_marker_str = l:type is# 'warning' || l:type is# 'info' ? 'W' : 'E' call add(l:output, { \ 'lnum': 1, \ 'text': l:text, \ 'type': l:type_marker_str, \}) endfor return l:output endfunction call ale#linter#Define('kotlin', { \ 'name': 'kotlinc', \ 'executable': 'kotlinc', \ 'output_stream': 'stderr', \ 'command': function('ale_linters#kotlin#kotlinc#RunWithImportPaths'), \ 'callback': 'ale_linters#kotlin#kotlinc#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/kotlin/ktlint.vim ================================================ " Author: Francis Agyapong " Description: Lint kotlin files using ktlint call ale#linter#Define('kotlin', { \ 'name': 'ktlint', \ 'executable': 'ktlint', \ 'command': function('ale#handlers#ktlint#GetCommand'), \ 'callback': 'ale#handlers#ktlint#Handle', \ 'output_stream': 'stderr' \}) ================================================ FILE: bundle/ale/ale_linters/kotlin/languageserver.vim ================================================ " Author: MTDL9 " Description: Support for the Kotlin language server https://github.com/fwcd/KotlinLanguageServer call ale#Set('kotlin_languageserver_executable', 'kotlin-language-server') function! ale_linters#kotlin#languageserver#GetProjectRoot(buffer) abort let l:gradle_root = ale#gradle#FindProjectRoot(a:buffer) if !empty(l:gradle_root) return l:gradle_root endif let l:maven_pom_file = ale#path#FindNearestFile(a:buffer, 'pom.xml') if !empty(l:maven_pom_file) return fnamemodify(l:maven_pom_file, ':h') endif return '' endfunction call ale#linter#Define('kotlin', { \ 'name': 'languageserver', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'kotlin_languageserver_executable')}, \ 'command': '%e', \ 'language': 'kotlin', \ 'project_root': function('ale_linters#kotlin#languageserver#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/less/lessc.vim ================================================ " Author: zanona , w0rp " Description: This file adds support for checking Less code with lessc. call ale#Set('less_lessc_executable', 'lessc') call ale#Set('less_lessc_options', '') call ale#Set('less_lessc_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#less#lessc#GetCommand(buffer) abort return '%e --no-color --lint' \ . ' --include-path=' . ale#Escape(expand('#' . a:buffer . ':p:h')) \ . ale#Pad(ale#Var(a:buffer, 'less_lessc_options')) \ . ' -' endfunction function! ale_linters#less#lessc#Handle(buffer, lines) abort let l:dir = expand('#' . a:buffer . ':p:h') " Matches patterns like the following: let l:pattern = '^\(\w\+\): \(.\{-}\) in \(.\{-}\) on line \(\d\+\), column \(\d\+\):$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': l:match[4] + 0, \ 'col': l:match[5] + 0, \ 'text': l:match[2], \ 'type': 'E', \} if l:match[3] isnot# '-' let l:item.filename = ale#path#GetAbsPath(l:dir, l:match[3]) endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('less', { \ 'name': 'lessc', \ 'executable': {b -> ale#path#FindExecutable(b, 'less_lessc', [ \ 'node_modules/.bin/lessc', \ ])}, \ 'command': function('ale_linters#less#lessc#GetCommand'), \ 'callback': 'ale_linters#less#lessc#Handle', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/less/stylelint.vim ================================================ " Author: diartyz , w0rp call ale#Set('less_stylelint_executable', 'stylelint') call ale#Set('less_stylelint_options', '') call ale#Set('less_stylelint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#less#stylelint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'less_stylelint_options') return '%e' . ale#Pad(l:options) . ' --stdin-filename %s' endfunction call ale#linter#Define('less', { \ 'name': 'stylelint', \ 'executable': {b -> ale#path#FindExecutable(b, 'less_stylelint', [ \ 'node_modules/.bin/stylelint', \ ])}, \ 'command': function('ale_linters#less#stylelint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleStyleLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/llvm/llc.vim ================================================ " Author: rhysd " Description: Support for checking LLVM IR with llc call ale#Set('llvm_llc_executable', 'llc') function! ale_linters#llvm#llc#HandleErrors(buffer, lines) abort " Handle '{path}: {file}:{line}:{col}: error: {message}' format let l:pattern = '\v^[a-zA-Z]?:?[^:]+: [^:]+:(\d+):(\d+): (.+)$' return map(ale#util#GetMatches(a:lines, l:pattern), "{ \ 'lnum': str2nr(v:val[1]), \ 'col': str2nr(v:val[2]), \ 'text': v:val[3], \ 'type': 'E', \}") endfunction call ale#linter#Define('llvm', { \ 'name': 'llc', \ 'executable': {b -> ale#Var(b, 'llvm_llc_executable')}, \ 'output_stream': 'stderr', \ 'command': {-> '%e -filetype=null -o=' . g:ale#util#nul_file}, \ 'callback': 'ale_linters#llvm#llc#HandleErrors', \}) ================================================ FILE: bundle/ale/ale_linters/lua/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Lua files. call ale#handlers#cspell#DefineLinter('lua') ================================================ FILE: bundle/ale/ale_linters/lua/luac.vim ================================================ " Author: Jon Xie https://github.com/xiejiangzhi " Description: luac linter for lua files call ale#Set('lua_luac_executable', 'luac') function! ale_linters#lua#luac#Handle(buffer, lines) abort " Matches patterns line the following: " " luac: stdin:5: '=' expected near ')' " luac: stdin:8: ')' expected (to close '(' at line 6) near '123' let l:pattern = '\v^.*:(\d+): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'type': 'E', \ 'text': l:match[2], \}) endfor return l:output endfunction call ale#linter#Define('lua', { \ 'name': 'luac', \ 'executable': {b -> ale#Var(b, 'lua_luac_executable')}, \ 'command': '%e -p -', \ 'output_stream': 'stderr', \ 'callback': 'ale_linters#lua#luac#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/lua/luacheck.vim ================================================ " Author: Sol Bekic https://github.com/s-ol " Description: luacheck linter for lua files call ale#Set('lua_luacheck_executable', 'luacheck') call ale#Set('lua_luacheck_options', '') function! ale_linters#lua#luacheck#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'lua_luacheck_options')) \ . ' --formatter plain --codes --filename %s -' endfunction function! ale_linters#lua#luacheck#Handle(buffer, lines) abort " Matches patterns line the following: " " artal.lua:159:17: (W111) shadowing definition of loop variable 'i' on line 106 " artal.lua:182:7: (W213) unused loop variable 'i' let l:pattern = '^.*:\(\d\+\):\(\d\+\): (\([WE]\)\(\d\+\)) \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) if !ale#Var(a:buffer, 'warn_about_trailing_whitespace') \ && l:match[3] is# 'W' \ && index(range(611, 614), str2nr(l:match[4])) >= 0 continue endif call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[3], \ 'code': l:match[3] . l:match[4], \ 'text': l:match[5], \}) endfor return l:output endfunction call ale#linter#Define('lua', { \ 'name': 'luacheck', \ 'executable': {b -> ale#Var(b, 'lua_luacheck_executable')}, \ 'command': function('ale_linters#lua#luacheck#GetCommand'), \ 'callback': 'ale_linters#lua#luacheck#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/lua/selene.vim ================================================ call ale#Set('lua_selene_executable', 'selene') call ale#Set('lua_selene_options', '') function! ale_linters#lua#selene#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'lua_selene_options')) \ . ' --display-style=json -' endfunction function! ale_linters#lua#selene#Handle(buffer, lines) abort let l:output = [] for l:line in a:lines " as of version 0.17.0, selene has no way to suppress summary " information when outputting json, so stop processing when we hit it " (PR for this here: https://github.com/Kampfkarren/selene/pull/356) if l:line is# 'Results:' break endif let l:json = json_decode(l:line) let l:lint = { \ 'lnum': l:json.primary_label.span.start_line + 1, \ 'end_lnum': l:json.primary_label.span.end_line + 1, \ 'col': l:json.primary_label.span.start_column + 1, \ 'end_col': l:json.primary_label.span.end_column, \ 'text': l:json.message, \ 'code': l:json.code, \ 'type': l:json.severity is# 'Warning' ? 'W' : 'E', \} if has_key(l:json, 'notes') && len(l:json.notes) > 0 let l:lint.detail = l:lint.text . "\n\n" . join(l:json.notes, "\n") endif call add(l:output, l:lint) endfor return l:output endfunction call ale#linter#Define('lua', { \ 'name': 'selene', \ 'executable': {b -> ale#Var(b, 'lua_selene_executable')}, \ 'command': function('ale_linters#lua#selene#GetCommand'), \ 'callback': 'ale_linters#lua#selene#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/mail/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for mail files call ale#handlers#alex#DefineLinter('mail', '--text') ================================================ FILE: bundle/ale/ale_linters/mail/languagetool.vim ================================================ " Author: Vincent (wahrwolf [at] wolfpit.net) " Description: languagetool for mails call ale#handlers#languagetool#DefineLinter('mail') ================================================ FILE: bundle/ale/ale_linters/mail/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for mail files call ale#linter#Define('mail', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/mail/vale.vim ================================================ " Author: chew-z https://github.com/chew-z " Description: vale for Markdown files call ale#linter#Define('mail', { \ 'name': 'vale', \ 'executable': 'vale', \ 'command': 'vale --output=JSON %t', \ 'callback': 'ale#handlers#vale#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/make/checkmake.vim ================================================ " Author: aurieh - https://github.com/aurieh call ale#Set('make_checkmake_config', '') function! ale_linters#make#checkmake#Handle(buffer, lines) abort let l:pattern = '\v^(\d+):(.+):(.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:match[1] + 0, \ 'type': 'E', \ 'code': l:match[2], \ 'text': l:match[3], \}) endfor return l:output endfunction function! ale_linters#make#checkmake#GetCommand(buffer) abort let l:config = ale#Var(a:buffer, 'make_checkmake_config') let l:cmd = 'checkmake' \ . ' --format="{{.LineNumber}}:{{.Rule}}:{{.Violation}}{{\"\r\n\"}}"' \ . (!empty(l:config) ? ' --config="' . l:config . '"' : '') \ . ' %s' return l:cmd endfunction call ale#linter#Define('make', { \ 'name': 'checkmake', \ 'executable': 'checkmake', \ 'command': function('ale_linters#make#checkmake#GetCommand'), \ 'callback': 'ale_linters#make#checkmake#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/markdown/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for markdown files call ale#handlers#alex#DefineLinter('markdown', '') ================================================ FILE: bundle/ale/ale_linters/markdown/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Markdown files. call ale#handlers#cspell#DefineLinter('markdown') ================================================ FILE: bundle/ale/ale_linters/markdown/languagetool.vim ================================================ " Author: Vincent (wahrwolf [at] wolfpit.net) " Description: languagetool for markdown files call ale#handlers#languagetool#DefineLinter('markdown') ================================================ FILE: bundle/ale/ale_linters/markdown/markdownlint.vim ================================================ " Author: Ty-Lucas Kelley " Description: Adds support for markdownlint call ale#Set('markdown_markdownlint_executable', 'markdownlint') call ale#Set('markdown_markdownlint_options', '') function! ale_linters#markdown#markdownlint#GetExecutable(buffer) abort return ale#Var(a:buffer, 'markdown_markdownlint_executable') endfunction function! ale_linters#markdown#markdownlint#GetCommand(buffer) abort let l:executable = ale_linters#markdown#markdownlint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'markdown_markdownlint_options') return ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') . ' %s' endfunction call ale#linter#Define('markdown', { \ 'name': 'markdownlint', \ 'executable': function('ale_linters#markdown#markdownlint#GetExecutable'), \ 'lint_file': 1, \ 'output_stream': 'both', \ 'command': function('ale_linters#markdown#markdownlint#GetCommand'), \ 'callback': 'ale#handlers#markdownlint#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/markdown/mdl.vim ================================================ " Author: Steve Dignam , Josh Leeb-du Toit " Description: Support for mdl, a markdown linter. call ale#Set('markdown_mdl_executable', 'mdl') call ale#Set('markdown_mdl_options', '') function! ale_linters#markdown#mdl#GetExecutable(buffer) abort return ale#Var(a:buffer, 'markdown_mdl_executable') endfunction function! ale_linters#markdown#mdl#GetCommand(buffer) abort let l:executable = ale_linters#markdown#mdl#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'bundle$' \ ? ' exec mdl' \ : '' let l:options = ale#Var(a:buffer, 'markdown_mdl_options') return ale#Escape(l:executable) . l:exec_args \ . ' -j' . (!empty(l:options) ? ' ' . l:options : '') endfunction function! ale_linters#markdown#mdl#Handle(buffer, lines) abort let l:output = [] for l:error in ale#util#FuzzyJSONDecode(a:lines, []) call add(l:output, { \ 'lnum': l:error['line'], \ 'code': l:error['rule'] . '/' . join(l:error['aliases'], '/'), \ 'text': l:error['description'], \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('markdown', { \ 'name': 'mdl', \ 'executable': function('ale_linters#markdown#mdl#GetExecutable'), \ 'command': function('ale_linters#markdown#mdl#GetCommand'), \ 'callback': 'ale_linters#markdown#mdl#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/markdown/proselint.vim ================================================ " Author: poohzrn https://github.com/poohzrn " Description: proselint for Markdown files call ale#linter#Define('markdown', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/markdown/redpen.vim ================================================ " Author: rhysd https://rhysd.github.io " Description: Redpen, a proofreading tool (http://redpen.cc) call ale#linter#Define('markdown', { \ 'name': 'redpen', \ 'executable': 'redpen', \ 'command': 'redpen -f markdown -r json %t', \ 'callback': 'ale#handlers#redpen#HandleRedpenOutput', \}) ================================================ FILE: bundle/ale/ale_linters/markdown/remark_lint.vim ================================================ scriptencoding utf-8 " Author rhysd https://rhysd.github.io/, Dirk Roorda (dirkroorda), Adrián González Rus (@adrigzr) " Description: remark-lint for Markdown files call ale#Set('markdown_remark_lint_executable', 'remark') call ale#Set('markdown_remark_lint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('markdown_remark_lint_options', '') function! ale_linters#markdown#remark_lint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'markdown_remark_lint_options') return '%e' . ale#Pad(l:options) . ' --no-stdout --no-color' endfunction function! ale_linters#markdown#remark_lint#Handle(buffer, lines) abort " matches: ' 1:4 warning Incorrect list-item indent: add 1 space list-item-indent remark-lint' " matches: ' 18:71-19:1 error Missing new line after list item list-item-spacing remark-lint', let l:pattern = '^ \+\(\d\+\):\(\d\+\)\(-\(\d\+\):\(\d\+\)\)\? \(warning\|error\) \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[6] is# 'error' ? 'E' : 'W', \ 'text': l:match[7], \} if l:match[3] isnot# '' let l:item.end_lnum = l:match[4] + 0 let l:item.end_col = l:match[5] + 0 endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('markdown', { \ 'name': 'remark_lint', \ 'aliases': ['remark-lint'], \ 'executable': {b -> ale#path#FindExecutable(b, 'markdown_remark_lint', [ \ 'node_modules/.bin/remark', \ ])}, \ 'command': function('ale_linters#markdown#remark_lint#GetCommand'), \ 'callback': 'ale_linters#markdown#remark_lint#Handle', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/markdown/textlint.vim ================================================ " Author: tokida https://rouger.info, Yasuhiro Kiyota " Description: textlint, a proofreading tool (https://textlint.github.io/) call ale#linter#Define('markdown', { \ 'name': 'textlint', \ 'executable': function('ale#handlers#textlint#GetExecutable'), \ 'command': function('ale#handlers#textlint#GetCommand'), \ 'callback': 'ale#handlers#textlint#HandleTextlintOutput', \}) ================================================ FILE: bundle/ale/ale_linters/markdown/vale.vim ================================================ " Author: chew-z https://github.com/chew-z " Description: vale for Markdown files call ale#Set('markdown_vale_executable', 'vale') call ale#Set('markdown_vale_input_file', '%t') call ale#Set('markdown_vale_options', '') function! ale_linters#markdown#vale#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'markdown_vale_executable') let l:input_file = ale#Var(a:buffer, 'markdown_vale_input_file') " Defaults to `vale --output=JSON %t` return ale#Escape(l:executable) \ . ' --output=JSON ' \ . ale#Var(a:buffer, 'markdown_vale_options') \ . ' ' . l:input_file endfunction call ale#linter#Define('markdown', { \ 'name': 'vale', \ 'executable': {b -> ale#Var(b, 'markdown_vale_executable')}, \ 'command': function('ale_linters#markdown#vale#GetCommand'), \ 'callback': 'ale#handlers#vale#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/markdown/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for Markdown files call ale#handlers#writegood#DefineLinter('markdown') ================================================ FILE: bundle/ale/ale_linters/matlab/mlint.vim ================================================ " Author: awlayton " Description: mlint for MATLAB files call ale#Set('matlab_mlint_executable', 'mlint') function! ale_linters#matlab#mlint#Handle(buffer, lines) abort " Matches patterns like the following: " " L 27 (C 1): FNDEF: Terminate statement with semicolon to suppress output. " L 30 (C 13-15): FNDEF: A quoted string is unterminated. let l:pattern = '^L \(\d\+\) (C \([0-9-]\+\)): \([A-Z]\+\): \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:lnum = l:match[1] + 0 let l:col = l:match[2] + 0 let l:code = l:match[3] let l:text = l:match[4] " Suppress erroneous warning about filename " TODO: Enable this error when copying filename is supported if l:code is# 'FNDEF' continue endif call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:lnum, \ 'col': l:col, \ 'text': l:text, \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('matlab', { \ 'name': 'mlint', \ 'executable': {b -> ale#Var(b, 'matlab_mlint_executable')}, \ 'command': '%e -id %t', \ 'output_stream': 'stderr', \ 'callback': 'ale_linters#matlab#mlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/mercury/mmc.vim ================================================ " Author: stewy33 " Description: Lints mercury files using mmc call ale#Set('mercury_mmc_executable', 'mmc') call ale#Set('mercury_mmc_options', '--make --output-compile-error-lines 100') function! ale_linters#mercury#mmc#GetCommand(buffer) abort return '%e --errorcheck-only ' \ . ale#Var(a:buffer, 'mercury_mmc_options') \ . ' %s:t:r' endfunction function! ale_linters#mercury#mmc#Handle(buffer, lines) abort " output format " :: : let l:pattern = '\v^\w+\.m:(\d+):\s+([W|w]arning|.*[E|e]rror.*): (.*)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': substitute(l:match[1], '\v^0*', '', '') + 0, \ 'type': l:match[2][0] =~? 'W' ? 'W' : 'E', \ 'text': l:match[2] . ': ' . l:match[3] \}) endfor return l:output endfunction call ale#linter#Define('mercury', { \ 'name': 'mmc', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'mercury_mmc_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#mercury#mmc#GetCommand'), \ 'callback': 'ale_linters#mercury#mmc#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/nasm/nasm.vim ================================================ " Author: Oyvind Ingvaldsen " Description: NASM linter for asmsyntax nasm. call ale#Set('nasm_nasm_executable', 'nasm') call ale#Set('nasm_nasm_options', '') function! ale_linters#nasm#nasm#GetCommand(buffer) abort " Note that NASM requires a trailing slash for the -I option. let l:separator = has('win32') ? '\' : '/' let l:output_null = has('win32') ? 'NUL' : '/dev/null' return '%e -X gnu -I %s:h' . l:separator \ . ale#Pad(ale#Var(a:buffer, 'nasm_nasm_options')) \ . ' %s' \ . ' -o ' . l:output_null endfunction function! ale_linters#nasm#nasm#Handle(buffer, lines) abort " Note that we treat 'fatal' as errors. let l:pattern = '^.\+:\(\d\+\): \([^:]\+\): \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'type': l:match[2] =~? 'error\|fatal' ? 'E' : 'W', \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('nasm', { \ 'name': 'nasm', \ 'output_stream': 'stderr', \ 'lint_file': 1, \ 'executable': {b -> ale#Var(b, 'nasm_nasm_executable')}, \ 'command': function('ale_linters#nasm#nasm#GetCommand'), \ 'callback': 'ale_linters#nasm#nasm#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/nim/nimcheck.vim ================================================ " Author: Baabelfish " Description: Typechecking for nim files let s:end_col_patterns = [ \ '\v''([^'']+)'' is declared but not used.*', \ '\videntifier expected, but found ''([^'']+)''', \ '\vimported and not used: ''([^'']+)''.*', \ '\vundeclared identifier: ''([^'']+)''', \ '\v''([^'']+)'' cannot be assigned to', \ '\vredefinition of ''([^'']+)'';', \] function! ale_linters#nim#nimcheck#Handle(buffer, lines) abort let l:buffer_filename = fnamemodify(bufname(a:buffer), ':p:t') let l:pattern = '^\(.\+\.nim\)(\(\d\+\), \(\d\+\)) \(.\+\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) " Only show errors of the current buffer " NOTE: Checking filename only is OK because nim enforces unique " module names. let l:temp_buffer_filename = fnamemodify(l:match[1], ':p:t') if l:buffer_filename isnot# '' && l:temp_buffer_filename isnot# l:buffer_filename continue endif let l:item = { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[4], \ 'type': 'W', \} " Extract error type from message of type 'Error: Some error message' let l:error_match = matchlist(l:item.text, '^\(.\{-}\): \(.\+\)$') if !empty(l:error_match) if l:error_match[1] is# 'Error' let l:item.type = 'E' let l:item.text = l:error_match[2] elseif l:error_match[1] is# 'Warning' \|| l:error_match[1] is# 'Hint' let l:item.text = l:error_match[2] endif endif let l:code_match = matchlist(l:item.text, '\v^(.+) \[([^ \[]+)\]$') if !empty(l:code_match) let l:item.text = l:code_match[1] let l:item.code = l:code_match[2] endif " Find position end_col. for l:col_match in ale#util#GetMatches(l:item.text, s:end_col_patterns) let l:item.end_col = l:item.col + len(l:col_match[1]) - 1 endfor call add(l:output, l:item) endfor return l:output endfunction function! ale_linters#nim#nimcheck#GetCommand(buffer) abort return 'nim check --verbosity:0 --colors:off --listFullPaths %s' endfunction call ale#linter#Define('nim', { \ 'name': 'nimcheck', \ 'executable': 'nim', \ 'output_stream': 'both', \ 'command': function('ale_linters#nim#nimcheck#GetCommand'), \ 'callback': 'ale_linters#nim#nimcheck#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/nim/nimlsp.vim ================================================ " Author: jeremija " Description: Support for nimlsp (language server for nim) call ale#Set('nim_nimlsp_nim_sources', '') function! ale_linters#nim#nimlsp#GetProjectRoot(buffer) abort let l:project_root = ale#path#FindNearestDirectory(a:buffer, '.git') if !empty(l:project_root) return fnamemodify(l:project_root, ':h:h') endif return '' endfunction function! ale_linters#nim#nimlsp#GetCommand(buffer) abort let l:nim_sources = ale#Var(a:buffer, 'nim_nimlsp_nim_sources') if !empty(l:nim_sources) let l:nim_sources = ale#Escape(l:nim_sources) endif return '%e' . ale#Pad(l:nim_sources) endfunction call ale#linter#Define('nim', { \ 'name': 'nimlsp', \ 'lsp': 'stdio', \ 'executable': 'nimlsp', \ 'command': function('ale_linters#nim#nimlsp#GetCommand'), \ 'language': 'nim', \ 'project_root': function('ale_linters#nim#nimlsp#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/nix/nix.vim ================================================ " Author: Alistair Bill <@alibabzo> " Author: Maximilian Bosch " Description: nix-instantiate linter for nix files function! ale_linters#nix#nix#Command(buffer, output, meta) abort let l:version = a:output[0][22:] if l:version =~# '^\(2.[4-9]\|2.[1-9][0-9]\+\|3\).*' return 'nix-instantiate --log-format internal-json --parse -' else return 'nix-instantiate --parse -' endif endfunction function! ale_linters#nix#nix#Handle(buffer, lines) abort let l:output = [] if empty(a:lines) return l:output endif if a:lines[0] =~# '^@nix .*' for l:line in a:lines if l:line =~# '^@nix .*' let l:result = json_decode(strpart(l:line, 4)) if has_key(l:result, 'column') call add(l:output, { \ 'type': 'E', \ 'lnum': l:result.line, \ 'col': l:result.column, \ 'text': l:result.raw_msg \}) endif endif endfor else let l:pattern = '^\(.\+\): \(.\+\) at .*:\(\d\+\):\(\d\+\)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[3] + 0, \ 'col': l:match[4] + 0, \ 'text': l:match[1] . ': ' . substitute(l:match[2], ',$', '', ''), \ 'type': l:match[1] =~# '^error' ? 'E' : 'W', \}) endfor endif return l:output endfunction call ale#linter#Define('nix', { \ 'name': 'nix', \ 'output_stream': 'stderr', \ 'executable': 'nix-instantiate', \ 'command': {buffer -> ale#command#Run( \ buffer, \ 'nix-instantiate --version', \ function('ale_linters#nix#nix#Command') \ )}, \ 'callback': 'ale_linters#nix#nix#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/nix/rnix_lsp.vim ================================================ " Author: jD91mZM2 " Description: rnix-lsp language client function! ale_linters#nix#rnix_lsp#GetProjectRoot(buffer) abort " rnix-lsp does not yet use the project root, so getting it right is not " important return fnamemodify(a:buffer, ':h') endfunction call ale#linter#Define('nix', { \ 'name': 'rnix_lsp', \ 'lsp': 'stdio', \ 'executable': 'rnix-lsp', \ 'command': '%e', \ 'project_root': function('ale_linters#nix#rnix_lsp#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/nix/statix.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: statix analysis and suggestions for Nix files call ale#Set('nix_statix_check_executable', 'statix') call ale#Set('nix_statix_check_options', '') function! ale_linters#nix#statix#GetCommand(buffer) abort return '%e check -o errfmt --stdin' \ . ale#Pad(ale#Var(a:buffer, 'nix_statix_check_options')) endfunction call ale#linter#Define('nix', { \ 'name': 'statix', \ 'executable': {b -> ale#Var(b, 'nix_statix_check_executable')}, \ 'command': function('ale_linters#nix#statix#GetCommand'), \ 'callback': 'ale#handlers#statix#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/nroff/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for nroff files call ale#handlers#alex#DefineLinter('nroff', '--text') ================================================ FILE: bundle/ale/ale_linters/nroff/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for nroff files call ale#linter#Define('nroff', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/nroff/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for nroff files call ale#handlers#writegood#DefineLinter('nroff') ================================================ FILE: bundle/ale/ale_linters/objc/ccls.vim ================================================ " Author: Ye Jingchen , Ben Falconer , jtalowell " Description: A language server for Objective-C call ale#Set('objc_ccls_executable', 'ccls') call ale#Set('objc_ccls_init_options', {}) call ale#Set('c_build_dir', '') call ale#linter#Define('objc', { \ 'name': 'ccls', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'objc_ccls_executable')}, \ 'command': '%e', \ 'project_root': function('ale#handlers#ccls#GetProjectRoot'), \ 'initialization_options': {b -> ale#handlers#ccls#GetInitOpts(b, 'objc_ccls_init_options')}, \}) ================================================ FILE: bundle/ale/ale_linters/objc/clang.vim ================================================ " Author: Bang Lee " Description: clang linter for objc files " Set this option to change the Clang options for warnings for ObjC. if !exists('g:ale_objc_clang_options') let g:ale_objc_clang_options = '-std=c11 -Wall' endif function! ale_linters#objc#clang#GetCommand(buffer) abort " -iquote with the directory the file is in makes #include work for " headers in the same directory. return 'clang -S -x objective-c -fsyntax-only ' \ . '-iquote %s:h' \ . ' ' . ale#Var(a:buffer, 'objc_clang_options') . ' -' endfunction call ale#linter#Define('objc', { \ 'name': 'clang', \ 'output_stream': 'stderr', \ 'executable': 'clang', \ 'command': function('ale_linters#objc#clang#GetCommand'), \ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes', \}) ================================================ FILE: bundle/ale/ale_linters/objc/clangd.vim ================================================ " Author: Andrey Melentyev " Description: Clangd language server call ale#Set('objc_clangd_executable', 'clangd') call ale#Set('objc_clangd_options', '') function! ale_linters#objc#clangd#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'objc_clangd_options')) endfunction call ale#linter#Define('objc', { \ 'name': 'clangd', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'objc_clangd_executable')}, \ 'command': function('ale_linters#objc#clangd#GetCommand'), \ 'project_root': function('ale#c#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/objcpp/clang.vim ================================================ " Author: Bang Lee " Description: clang linter for objcpp files " Set this option to change the Clang options for warnings for ObjCPP. if !exists('g:ale_objcpp_clang_options') let g:ale_objcpp_clang_options = '-std=c++14 -Wall' endif function! ale_linters#objcpp#clang#GetCommand(buffer) abort " -iquote with the directory the file is in makes #include work for " headers in the same directory. return 'clang++ -S -x objective-c++ -fsyntax-only ' \ . '-iquote %s:h' \ . ' ' . ale#Var(a:buffer, 'objcpp_clang_options') . ' -' endfunction call ale#linter#Define('objcpp', { \ 'name': 'clang', \ 'output_stream': 'stderr', \ 'executable': 'clang++', \ 'command': function('ale_linters#objcpp#clang#GetCommand'), \ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes', \}) ================================================ FILE: bundle/ale/ale_linters/objcpp/clangd.vim ================================================ " Author: Andrey Melentyev " Description: Clangd language server call ale#Set('objcpp_clangd_executable', 'clangd') call ale#Set('objcpp_clangd_options', '') function! ale_linters#objcpp#clangd#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'objcpp_clangd_options')) endfunction call ale#linter#Define('objcpp', { \ 'name': 'clangd', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'objcpp_clangd_executable')}, \ 'command': function('ale_linters#objcpp#clangd#GetCommand'), \ 'project_root': function('ale#c#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/ocaml/merlin.vim ================================================ " Author: Andrey Popp -- @andreypopp " Description: Report errors in OCaml code with Merlin if !exists('g:merlin') finish endif function! ale_linters#ocaml#merlin#Handle(buffer, lines) abort return merlin#ErrorLocList() endfunction call ale#linter#Define('ocaml', { \ 'name': 'merlin', \ 'executable': 'ocamlmerlin', \ 'command': 'true', \ 'callback': 'ale_linters#ocaml#merlin#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/ocaml/ocamllsp.vim ================================================ " Author: Risto Stevcev " Description: The official language server for OCaml call ale#Set('ocaml_ocamllsp_use_opam', 1) call ale#linter#Define('ocaml', { \ 'name': 'ocamllsp', \ 'lsp': 'stdio', \ 'executable': function('ale#handlers#ocamllsp#GetExecutable'), \ 'command': function('ale#handlers#ocamllsp#GetCommand'), \ 'language': function('ale#handlers#ocamllsp#GetLanguage'), \ 'project_root': function('ale#handlers#ocamllsp#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/ocaml/ols.vim ================================================ " Author: Michael Jungo " Description: A language server for OCaml call ale#Set('ocaml_ols_executable', 'ocaml-language-server') call ale#Set('ocaml_ols_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define('ocaml', { \ 'name': 'ols', \ 'lsp': 'stdio', \ 'executable': function('ale#handlers#ols#GetExecutable'), \ 'command': function('ale#handlers#ols#GetCommand'), \ 'language': function('ale#handlers#ols#GetLanguage'), \ 'project_root': function('ale#handlers#ols#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/ocamlinterface/merlin.vim ================================================ " Author: Andrey Popp -- @andreypopp " Description: Report errors in OCaml code with Merlin if !exists('g:merlin') finish endif function! ale_linters#ocamlinterface#merlin#Handle(buffer, lines) abort return merlin#ErrorLocList() endfunction call ale#linter#Define('ocamlinterface', { \ 'name': 'merlin', \ 'executable': 'ocamlmerlin', \ 'command': 'true', \ 'callback': 'ale_linters#ocamlinterface#merlin#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/ocamlinterface/ocamllsp.vim ================================================ " Author: Risto Stevcev " Description: The official language server for OCaml call ale#Set('ocaml_ocamllsp_use_opam', 1) call ale#linter#Define('ocamlinterface', { \ 'name': 'ocamllsp', \ 'lsp': 'stdio', \ 'executable': function('ale#handlers#ocamllsp#GetExecutable'), \ 'command': function('ale#handlers#ocamllsp#GetCommand'), \ 'language': function('ale#handlers#ocamllsp#GetLanguage'), \ 'project_root': function('ale#handlers#ocamllsp#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/openapi/ibm_validator.vim ================================================ " Author: Horacio Sanson call ale#Set('openapi_ibm_validator_executable', 'lint-openapi') call ale#Set('openapi_ibm_validator_options', '') function! ale_linters#openapi#ibm_validator#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'openapi_ibm_validator_options')) \ . ' %t' endfunction function! ale_linters#openapi#ibm_validator#Handle(buffer, lines) abort let l:output = [] let l:type = 'E' let l:message = '' let l:nr = -1 for l:line in a:lines let l:match = matchlist(l:line, '^errors$') if !empty(l:match) let l:type = 'E' endif let l:match = matchlist(l:line, '^warnings$') if !empty(l:match) let l:type = 'W' endif let l:match = matchlist(l:line, '^ *Message : *\(.\+\)$') if !empty(l:match) let l:message = l:match[1] endif let l:match = matchlist(l:line, '^ *Line *: *\(\d\+\)$') if !empty(l:match) let l:nr = l:match[1] call add(l:output, { \ 'lnum': l:nr + 0, \ 'col': 0, \ 'text': l:message, \ 'type': l:type, \}) endif endfor return l:output endfunction call ale#linter#Define('openapi', { \ 'name': 'ibm_validator', \ 'executable': {b -> ale#Var(b, 'openapi_ibm_validator_executable')}, \ 'command': function('ale_linters#openapi#ibm_validator#GetCommand'), \ 'callback': 'ale_linters#openapi#ibm_validator#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/openapi/yamllint.vim ================================================ call ale#Set('yaml_yamllint_executable', 'yamllint') call ale#Set('yaml_yamllint_options', '') call ale#linter#Define('openapi', { \ 'name': 'yamllint', \ 'executable': {b -> ale#Var(b, 'yaml_yamllint_executable')}, \ 'command': function('ale#handlers#yamllint#GetCommand'), \ 'callback': 'ale#handlers#yamllint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/openscad/sca2d.vim ================================================ " Description: SCA2D linter for OpenSCAD files call ale#Set('openscad_sca2d_executable', 'sca2d') call ale#Set('openscad_sca2d_options', '') function! ale_linters#openscad#sca2d#GetExecutable(buffer) abort return ale#Var(a:buffer, 'openscad_sca2d_executable') endfunction function! ale_linters#openscad#sca2d#GetCommand(buffer) abort let l:executable = ale_linters#openscad#sca2d#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'openscad_sca2d_options') return ale#Escape(l:executable) . ale#Pad(l:options) . ' %s' endfunction call ale#linter#Define('openscad', { \ 'name': 'SCA2D', \ 'aliases': ['sca2d'], \ 'executable': function('ale_linters#openscad#sca2d#GetExecutable'), \ 'command': function('ale_linters#openscad#sca2d#GetCommand'), \ 'callback': 'ale#handlers#openscad#SCA2D_callback', \ 'lint_file': 1, \ }) ================================================ FILE: bundle/ale/ale_linters/perl/perl.vim ================================================ " Author: Vincent Lequertier " Description: This file adds support for checking perl syntax call ale#Set('perl_perl_executable', 'perl') call ale#Set('perl_perl_options', '-c -Mwarnings -Ilib') function! ale_linters#perl#perl#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'perl_perl_options')) . ' %t' endfunction let s:begin_failed_skip_pattern = '\v' . join([ \ '^Compilation failed in require', \ '^Can''t locate', \], '|') function! ale_linters#perl#perl#Handle(buffer, lines) abort if empty(a:lines) return [] endif let l:pattern = '\(..\{-}\) at \(..\{-}\) line \(\d\+\)' let l:output = [] let l:basename = expand('#' . a:buffer . ':t') let l:type = 'E' if a:lines[-1] =~# 'syntax OK' let l:type = 'W' endif let l:seen = {} for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:line = l:match[3] let l:file = l:match[2] let l:text = l:match[1] if ale#path#IsBufferPath(a:buffer, l:file) \ && !has_key(l:seen,l:line) \ && ( \ l:text isnot# 'BEGIN failed--compilation aborted' \ || empty(l:output) \ || match(l:output[-1].text, s:begin_failed_skip_pattern) < 0 \ ) call add(l:output, { \ 'lnum': l:line, \ 'text': l:text, \ 'type': l:type, \}) let l:seen[l:line] = 1 endif endfor return l:output endfunction call ale#linter#Define('perl', { \ 'name': 'perl', \ 'executable': {b -> ale#Var(b, 'perl_perl_executable')}, \ 'output_stream': 'both', \ 'command': function('ale_linters#perl#perl#GetCommand'), \ 'callback': 'ale_linters#perl#perl#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/perl/perlcritic.vim ================================================ " Author: Vincent Lequertier , Chris Weyl " Description: This file adds support for checking perl with perl critic call ale#Set('perl_perlcritic_executable', 'perlcritic') call ale#Set('perl_perlcritic_profile', '.perlcriticrc') call ale#Set('perl_perlcritic_options', '') call ale#Set('perl_perlcritic_showrules', 0) function! ale_linters#perl#perlcritic#GetProfile(buffer) abort " first see if we've been overridden let l:profile = ale#Var(a:buffer, 'perl_perlcritic_profile') if l:profile is? '' return '' endif " otherwise, iterate upwards to find it return ale#path#FindNearestFile(a:buffer, l:profile) endfunction function! ale_linters#perl#perlcritic#GetCommand(buffer) abort let l:critic_verbosity = '%l:%c %m\n' if ale#Var(a:buffer, 'perl_perlcritic_showrules') let l:critic_verbosity = '%l:%c %m [%p]\n' endif let l:profile = ale_linters#perl#perlcritic#GetProfile(a:buffer) let l:options = ale#Var(a:buffer, 'perl_perlcritic_options') return '%e' \ . ' --verbose ' . ale#Escape(l:critic_verbosity) \ . ' --nocolor' \ . (!empty(l:profile) ? ' --profile ' . ale#Escape(l:profile) : '') \ . ale#Pad(l:options) endfunction function! ale_linters#perl#perlcritic#Handle(buffer, lines) abort let l:pattern = '\(\d\+\):\(\d\+\) \(.\+\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1], \ 'col': l:match[2], \ 'text': l:match[3], \ 'type': 'W' \}) endfor return l:output endfunction call ale#linter#Define('perl', { \ 'name': 'perlcritic', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'perl_perlcritic_executable')}, \ 'command': function('ale_linters#perl#perlcritic#GetCommand'), \ 'callback': 'ale_linters#perl#perlcritic#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/perl6/perl6.vim ================================================ " Author:Travis Gibson " Description: This file adds support for checking perl6 syntax let g:ale_perl6_perl6_executable = \ get(g:, 'ale_perl6_perl6_executable', 'perl6') let g:ale_perl6_perl6_options = \ get(g:, 'ale_perl6_perl6_options', '-c -Ilib') let $PERL6_EXCEPTIONS_HANDLER = 'JSON' let $RAKUDO_ERROR_COLOR = 0 function! ale_linters#perl6#perl6#GetExecutable(buffer) abort return ale#Var(a:buffer, 'perl6_perl6_executable') endfunction function! ale_linters#perl6#perl6#GetCommand(buffer) abort return ale_linters#perl6#perl6#GetExecutable(a:buffer) \ . ' ' . ale#Var(a:buffer, 'perl6_perl6_options') \ . ' %t' endfunction function! ale_linters#perl6#perl6#ExtractError(dict, item, type, buffer) abort let l:file = '' let l:line = 1 let l:column = '' let l:text = '' let l:pre = '' let l:counter = 2 let l:end_line = '' let l:linepatternmessage = 'at\s\+line\s\+\(\d\+\)' if has_key(a:dict[a:item], 'filename') && !empty(a:dict[a:item]['filename']) let l:file = a:dict[a:item]['filename'] endif if has_key(a:dict[a:item], 'line') && !empty(a:dict[a:item]['line']) let l:line = a:dict[a:item]['line'] let l:counter -= 1 endif if has_key(a:dict[a:item], 'column') && !empty(a:dict[a:item]['column']) let l:column = a:dict[a:item]['column'] endif if has_key(a:dict[a:item], 'message') && !empty(a:dict[a:item]['message']) let l:text = substitute(a:dict[a:item]['message'], '\s*\n\s*', ' ', 'g') let l:counter -= 1 endif if has_key(a:dict[a:item], 'line-real') && !empty(a:dict[a:item]['line-real']) let l:end_line = l:line let l:line = a:dict[a:item]['line-real'] endif for l:match in ale#util#GetMatches(l:text, l:linepatternmessage) let l:line = l:match[1] let l:counter -= 1 endfor " Currently, filenames and line numbers are not always given in the error output if l:counter < 2 \&& ( ale#path#IsBufferPath(a:buffer, l:file) || l:file is# '' ) return { \ 'lnum': '' . l:line, \ 'text': l:text, \ 'type': a:type, \ 'col': l:column, \ 'end_lnum': l:end_line, \ 'code': a:item, \} endif return '' endfunction function! ale_linters#perl6#perl6#Handle(buffer, lines) abort let l:output = [] if empty(a:lines) return l:output endif if a:lines[0] is# 'Syntax OK' return l:output endif try let l:json = json_decode(join(a:lines, '')) catch /E474\|E491/ call add(l:output, { \ 'lnum': '1', \ 'text': 'Received output in the default Perl6 error format. See :ALEDetail for details', \ 'detail': join(a:lines, "\n"), \ 'type': 'W', \ }) return l:output endtry if type(l:json) is v:t_dict for l:key in keys(l:json) if has_key(l:json[l:key], 'sorrows') \&& has_key(l:json[l:key], 'worries') if !empty(l:json[l:key]['sorrows']) for l:dictionary in get(l:json[l:key], 'sorrows') for l:item in keys(l:dictionary) let l:result = \ ale_linters#perl6#perl6#ExtractError( \ l:dictionary, \ l:item, \ 'E', \ a:buffer, \ ) if l:result isnot# '' call add(l:output, l:result) endif endfor endfor endif if !empty(l:json[l:key]['worries']) for l:dictionary in get(l:json[l:key], 'worries') for l:item in keys(l:dictionary) let l:result = \ ale_linters#perl6#perl6#ExtractError( \ l:dictionary, \ l:item, \ 'W', \ a:buffer, \ ) if l:result isnot# '' call add(l:output, l:result) endif endfor endfor endif else let l:result = ale_linters#perl6#perl6#ExtractError( \ l:json, \ l:key, \ 'E', \ a:buffer, \ ) if l:result isnot# '' call add(l:output, l:result) endif endif endfor endif return l:output endfunction call ale#linter#Define('perl6', { \ 'name': 'perl6', \ 'executable': function('ale_linters#perl6#perl6#GetExecutable'), \ 'output_stream': 'both', \ 'command': function('ale_linters#perl6#perl6#GetCommand'), \ 'callback': 'ale_linters#perl6#perl6#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/php/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for PHP files. call ale#handlers#cspell#DefineLinter('php') ================================================ FILE: bundle/ale/ale_linters/php/intelephense.vim ================================================ " Author: Eric Stern , " Arnold Chand " Description: Intelephense language server integration for ALE call ale#Set('php_intelephense_executable', 'intelephense') call ale#Set('php_intelephense_use_global', 1) call ale#Set('php_intelephense_config', {}) function! ale_linters#php#intelephense#GetProjectRoot(buffer) abort let l:composer_path = ale#path#FindNearestFile(a:buffer, 'composer.json') if (!empty(l:composer_path)) return fnamemodify(l:composer_path, ':h') endif let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction function! ale_linters#php#intelephense#GetInitializationOptions(buffer) abort return ale#Var(a:buffer, 'php_intelephense_config') endfunction call ale#linter#Define('php', { \ 'name': 'intelephense', \ 'lsp': 'stdio', \ 'initialization_options': function('ale_linters#php#intelephense#GetInitializationOptions'), \ 'executable': {b -> ale#path#FindExecutable(b, 'php_intelephense', [])}, \ 'command': '%e --stdio', \ 'project_root': function('ale_linters#php#intelephense#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/php/langserver.vim ================================================ " Author: Eric Stern " Description: PHP Language server integration for ALE call ale#Set('php_langserver_executable', 'php-language-server.php') call ale#Set('php_langserver_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#php#langserver#GetProjectRoot(buffer) abort let l:composer_path = ale#path#FindNearestFile(a:buffer, 'composer.json') if (!empty(l:composer_path)) return fnamemodify(l:composer_path, ':h') endif let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction call ale#linter#Define('php', { \ 'name': 'langserver', \ 'lsp': 'stdio', \ 'executable': {b -> ale#path#FindExecutable(b, 'php_langserver', [ \ 'vendor/bin/php-language-server.php', \ ])}, \ 'command': 'php %e', \ 'project_root': function('ale_linters#php#langserver#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/php/phan.vim ================================================ " Author: diegoholiveira , haginaga " Description: static analyzer for PHP " Define the minimum severity let g:ale_php_phan_minimum_severity = get(g:, 'ale_php_phan_minimum_severity', 0) let g:ale_php_phan_executable = get(g:, 'ale_php_phan_executable', 'phan') let g:ale_php_phan_use_client = get(g:, 'ale_php_phan_use_client', 0) function! ale_linters#php#phan#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'php_phan_executable') if ale#Var(a:buffer, 'php_phan_use_client') == 1 && l:executable is# 'phan' let l:executable = 'phan_client' endif return l:executable endfunction function! ale_linters#php#phan#GetCommand(buffer) abort if ale#Var(a:buffer, 'php_phan_use_client') == 1 let l:args = '-l ' \ . ' %s' else let l:args = '-y ' \ . ale#Var(a:buffer, 'php_phan_minimum_severity') \ . ' %s' endif let l:executable = ale_linters#php#phan#GetExecutable(a:buffer) return ale#Escape(l:executable) . ' ' . l:args endfunction function! ale_linters#php#phan#Handle(buffer, lines) abort " Matches against lines like the following: if ale#Var(a:buffer, 'php_phan_use_client') == 1 " Phan error: ERRORTYPE: message in /path/to/some-filename.php on line nnn let l:pattern = '^Phan error: \(\w\+\): \(.\+\) in \(.\+\) on line \(\d\+\)$' else " /path/to/some-filename.php:18 ERRORTYPE message let l:pattern = '^\(.*\):\(\d\+\)\s\(\w\+\)\s\(.\+\)$' endif let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) if ale#Var(a:buffer, 'php_phan_use_client') == 1 let l:dict = { \ 'lnum': l:match[4] + 0, \ 'text': l:match[2], \ 'filename': l:match[3], \ 'type': 'W', \} else let l:dict = { \ 'lnum': l:match[2] + 0, \ 'text': l:match[4], \ 'type': 'W', \ 'filename': l:match[1], \} endif call add(l:output, l:dict) endfor return l:output endfunction call ale#linter#Define('php', { \ 'name': 'phan', \ 'executable': function('ale_linters#php#phan#GetExecutable'), \ 'command': function('ale_linters#php#phan#GetCommand'), \ 'callback': 'ale_linters#php#phan#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/php/php.vim ================================================ " Author: Spencer Wood , Adriaan Zonnenberg " Description: This file adds support for checking PHP with php-cli call ale#Set('php_php_executable', 'php') function! ale_linters#php#php#Handle(buffer, lines) abort " Matches patterns like the following: " " PHP 7.1<= - Parse error: syntax error, unexpected ';', expecting ']' in - on line 15 " PHP 7.2>= - Parse error: syntax error, unexpected ';', expecting ']' in Standard input code on line 15 let l:pattern = '\v^%(Fatal|Parse) error:\s+(.+unexpected ''(.+)%(expecting.+)@ ale#Var(b, 'php_php_executable')}, \ 'output_stream': 'stdout', \ 'command': '%e -l -d error_reporting=E_ALL -d display_errors=1 -d log_errors=0 --', \ 'callback': 'ale_linters#php#php#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/php/phpactor.vim ================================================ " Author: Arizard " Description: PHPactor integration for ALE " Copied from langserver.vim function! ale_linters#php#phpactor#GetProjectRoot(buffer) abort let l:composer_path = ale#path#FindNearestFile(a:buffer, 'composer.json') if (!empty(l:composer_path)) return fnamemodify(l:composer_path, ':h') endif let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction call ale#linter#Define('php', { \ 'name': 'phpactor', \ 'lsp': 'stdio', \ 'executable': 'phpactor', \ 'command': '%e language-server', \ 'project_root': function('ale_linters#php#phpactor#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/php/phpcs.vim ================================================ " Author: jwilliams108 , Eric Stern " Description: phpcs for PHP files let g:ale_php_phpcs_standard = get(g:, 'ale_php_phpcs_standard', '') call ale#Set('php_phpcs_options', '') call ale#Set('php_phpcs_executable', 'phpcs') call ale#Set('php_phpcs_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#php#phpcs#GetCommand(buffer) abort let l:standard = ale#Var(a:buffer, 'php_phpcs_standard') let l:standard_option = !empty(l:standard) \ ? '--standard=' . ale#Escape(l:standard) \ : '' return '%e -s --report=emacs --stdin-path=%s' \ . ale#Pad(l:standard_option) \ . ale#Pad(ale#Var(a:buffer, 'php_phpcs_options')) endfunction function! ale_linters#php#phpcs#Handle(buffer, lines) abort " Matches against lines like the following: " " /path/to/some-filename.php:18:3: error - Line indented incorrectly; expected 4 spaces, found 2 (Generic.WhiteSpace.ScopeIndent.IncorrectExact) let l:pattern = '^.*:\(\d\+\):\(\d\+\): \(.\+\) - \(.\+\) (\(.\+\)).*$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:code = l:match[5] let l:text = l:match[4] . ' (' . l:code . ')' let l:type = l:match[3] call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:text, \ 'type': l:type is# 'error' ? 'E' : 'W', \ 'sub_type': 'style', \}) endfor return l:output endfunction call ale#linter#Define('php', { \ 'name': 'phpcs', \ 'executable': {b -> ale#path#FindExecutable(b, 'php_phpcs', [ \ 'vendor/bin/phpcs', \ 'phpcs' \ ])}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#php#phpcs#GetCommand'), \ 'callback': 'ale_linters#php#phpcs#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/php/phpmd.vim ================================================ " Author: medains , David Sierra " Description: phpmd for PHP files let g:ale_php_phpmd_executable = get(g:, 'ale_php_phpmd_executable', 'phpmd') " Set to change the ruleset let g:ale_php_phpmd_ruleset = get(g:, 'ale_php_phpmd_ruleset', 'cleancode,codesize,controversial,design,naming,unusedcode') function! ale_linters#php#phpmd#GetCommand(buffer) abort return '%e %s text' \ . ale#Pad(ale#Var(a:buffer, 'php_phpmd_ruleset')) \ . ' --ignore-violations-on-exit %t' endfunction function! ale_linters#php#phpmd#Handle(buffer, lines) abort " Matches against lines like the following: " " /path/to/some-filename.php:18 message let l:pattern = '^.*:\(\d\+\)\s\+\(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'text': l:match[2], \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('php', { \ 'name': 'phpmd', \ 'executable': {b -> ale#Var(b, 'php_phpmd_executable')}, \ 'command': function('ale_linters#php#phpmd#GetCommand'), \ 'callback': 'ale_linters#php#phpmd#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/php/phpstan.vim ================================================ " Author: medains , ardis , Arizard " Description: phpstan for PHP files " Set to change the ruleset let g:ale_php_phpstan_executable = get(g:, 'ale_php_phpstan_executable', 'phpstan') let g:ale_php_phpstan_level = get(g:, 'ale_php_phpstan_level', '') let g:ale_php_phpstan_configuration = get(g:, 'ale_php_phpstan_configuration', '') let g:ale_php_phpstan_autoload = get(g:, 'ale_php_phpstan_autoload', '') let g:ale_php_phpstan_memory_limit = get(g:, 'ale_php_phpstan_memory_limit', '') call ale#Set('php_phpstan_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#php#phpstan#GetCommand(buffer, version) abort let l:configuration = ale#Var(a:buffer, 'php_phpstan_configuration') let l:configuration_option = !empty(l:configuration) \ ? ' -c ' . ale#Escape(l:configuration) \ : '' let l:autoload = ale#Var(a:buffer, 'php_phpstan_autoload') let l:autoload_option = !empty(l:autoload) \ ? ' -a ' . ale#Escape(l:autoload) \ : '' let l:memory_limit = ale#Var(a:buffer, 'php_phpstan_memory_limit') let l:memory_limit_option = !empty(l:memory_limit) \ ? ' --memory-limit ' . ale#Escape(l:memory_limit) \ : '' let l:level = ale#Var(a:buffer, 'php_phpstan_level') let l:config_file_exists = ale#path#FindNearestFile(a:buffer, 'phpstan.neon') let l:dist_config_file_exists = ale#path#FindNearestFile(a:buffer, 'phpstan.neon.dist') if empty(l:level) && empty(l:config_file_exists) && empty(l:dist_config_file_exists) " if no configuration file is found, then use 4 as a default level let l:level = '4' endif let l:level_option = !empty(l:level) \ ? ' -l ' . ale#Escape(l:level) \ : '' let l:error_format = ale#semver#GTE(a:version, [0, 10, 3]) \ ? ' --error-format json' \ : ' --errorFormat json' return '%e analyze --no-progress' \ . l:error_format \ . l:configuration_option \ . l:autoload_option \ . l:level_option \ . l:memory_limit_option \ . ' %s' endfunction function! ale_linters#php#phpstan#Handle(buffer, lines) abort let l:res = ale#util#FuzzyJSONDecode(a:lines, {'files': []}) let l:output = [] if type(l:res.files) is v:t_list return l:output endif for l:err in l:res.files[expand('#' . a:buffer .':p')].messages call add(l:output, { \ 'lnum': l:err.line, \ 'text': l:err.message, \ 'type': 'E', \}) endfor return l:output endfunction call ale#linter#Define('php', { \ 'name': 'phpstan', \ 'executable': {buffer -> ale#path#FindExecutable(buffer, 'php_phpstan', [ \ 'vendor/bin/phpstan', \ 'phpstan' \ ])}, \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale#path#FindExecutable(buffer, 'php_phpstan', [ \ 'vendor/bin/phpstan', \ 'phpstan' \ ]), \ '%e --version', \ function('ale_linters#php#phpstan#GetCommand'), \ )}, \ 'callback': 'ale_linters#php#phpstan#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/php/psalm.vim ================================================ " Author: Matt Brown " Description: plugin for Psalm, static analyzer for PHP call ale#Set('php_psalm_executable', 'psalm') call ale#Set('php_psalm_options', '') call ale#Set('php_psalm_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#php#psalm#GetProjectRoot(buffer) abort let l:composer_path = ale#path#FindNearestFile(a:buffer, 'composer.json') if (!empty(l:composer_path)) return fnamemodify(l:composer_path, ':h') endif let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction function! ale_linters#php#psalm#GetCommand(buffer) abort return '%e --language-server' . ale#Pad(ale#Var(a:buffer, 'php_psalm_options')) endfunction call ale#linter#Define('php', { \ 'name': 'psalm', \ 'lsp': 'stdio', \ 'executable': {b -> ale#path#FindExecutable(b, 'php_psalm', [ \ 'vendor/bin/psalm', \ ])}, \ 'command': function('ale_linters#php#psalm#GetCommand'), \ 'project_root': function('ale_linters#php#psalm#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/php/tlint.vim ================================================ " Author: Jose Soto " " Description: Tighten Opinionated PHP Linting " Website: https://github.com/tightenco/tlint call ale#Set('php_tlint_executable', 'tlint') call ale#Set('php_tlint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('php_tlint_options', '') function! ale_linters#php#tlint#GetProjectRoot(buffer) abort let l:composer_path = ale#path#FindNearestFile(a:buffer, 'composer.json') if !empty(l:composer_path) return fnamemodify(l:composer_path, ':h') endif let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction function! ale_linters#php#tlint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'php_tlint', [ \ 'vendor/bin/tlint', \ 'tlint', \]) endfunction function! ale_linters#php#tlint#GetCommand(buffer) abort let l:executable = ale_linters#php#tlint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'php_tlint_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' lint %s' endfunction function! ale_linters#php#tlint#Handle(buffer, lines) abort " Matches against lines like the following: " " ! There should be 1 space around `.` concatenations, and additional lines should always start with a `.` " 22 : ` $something = 'a'.'name';` " let l:loop_count = 0 let l:messages_pattern = '^\! \(.*\)' let l:output = [] let l:pattern = '^\(\d\+\) \:' let l:temp_messages = [] for l:message in ale#util#GetMatches(a:lines, l:messages_pattern) call add(l:temp_messages, l:message) endfor let l:loop_count = 0 for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:num = l:match[1] let l:text = l:temp_messages[l:loop_count] call add(l:output, { \ 'lnum': l:num, \ 'col': 0, \ 'text': l:text, \ 'type': 'W', \ 'sub_type': 'style', \}) let l:loop_count += 1 endfor return l:output endfunction call ale#linter#Define('php', { \ 'name': 'tlint', \ 'executable': function('ale_linters#php#tlint#GetExecutable'), \ 'command': function('ale_linters#php#tlint#GetCommand'), \ 'callback': 'ale_linters#php#tlint#Handle', \ 'project_root': function('ale_linters#php#tlint#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/po/alex.vim ================================================ " Author: Cian Butler https://github.com/butlerx " Description: alex for PO files call ale#handlers#alex#DefineLinter('po', '--text') ================================================ FILE: bundle/ale/ale_linters/po/msgfmt.vim ================================================ " Author: Cian Butler https://github.com/butlerx " Description: msgfmt for PO files function! ale_linters#po#msgfmt#Handle(buffer, lines) abort let l:results = ale#handlers#unix#HandleAsWarning(a:buffer, a:lines) let l:index = 0 for l:item in l:results if l:index > 0 && l:item.text =~? 'this is the location of the first definition' let l:last_item = l:results[l:index - 1] if l:last_item.text =~? 'duplicate message definition' let l:last_item.text = 'duplicate of message at line ' . l:item.lnum let l:item.text = 'first location of duplicate of message at line ' . l:last_item.lnum endif endif let l:index += 1 endfor return l:results endfunction call ale#linter#Define('po', { \ 'name': 'msgfmt', \ 'executable': 'msgfmt', \ 'output_stream': 'stderr', \ 'command': 'msgfmt --statistics --output-file=- %t', \ 'callback': 'ale_linters#po#msgfmt#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/po/proselint.vim ================================================ " Author: Cian Butler https://github.com/butlerx " Description: proselint for PO files call ale#linter#Define('po', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/po/writegood.vim ================================================ " Author: Cian Butler https://github.com/butlerx " Description: write-good for PO files call ale#handlers#writegood#DefineLinter('po') ================================================ FILE: bundle/ale/ale_linters/pod/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for pod files call ale#handlers#alex#DefineLinter('pod', '--text') ================================================ FILE: bundle/ale/ale_linters/pod/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for Pod files call ale#linter#Define('pod', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/pod/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for Pod files call ale#handlers#writegood#DefineLinter('pod') ================================================ FILE: bundle/ale/ale_linters/pony/ponyc.vim ================================================ " Description: ponyc linter for pony files call ale#Set('pony_ponyc_executable', 'ponyc') call ale#Set('pony_ponyc_options', '--pass paint') function! ale_linters#pony#ponyc#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'pony_ponyc_options')) endfunction call ale#linter#Define('pony', { \ 'name': 'ponyc', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'pony_ponyc_executable')}, \ 'command': function('ale_linters#pony#ponyc#GetCommand'), \ 'callback': 'ale#handlers#pony#HandlePonycFormat', \}) ================================================ FILE: bundle/ale/ale_linters/powershell/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for PowerShell files. call ale#handlers#cspell#DefineLinter('powershell') ================================================ FILE: bundle/ale/ale_linters/powershell/powershell.vim ================================================ " Author: Jesse Harris - https://github.com/zigford " Description: This file adds support for powershell scripts synatax errors call ale#Set('powershell_powershell_executable', 'pwsh') function! ale_linters#powershell#powershell#GetExecutable(buffer) abort return ale#Var(a:buffer, 'powershell_powershell_executable') endfunction " Some powershell magic to show syntax errors without executing the script " thanks to keith hill: " https://rkeithhill.wordpress.com/2007/10/30/powershell-quicktip-preparsing-scripts-to-check-for-syntax-errors/ function! ale_linters#powershell#powershell#GetCommand(buffer) abort let l:script = ['Param($Script); \ $ErrorView = "Normal"; \ trap {$_;continue} & { \ $Contents = Get-Content -Path $Script; \ $Contents = [string]::Join([Environment]::NewLine, $Contents); \ [void]$ExecutionContext.InvokeCommand.NewScriptBlock($Contents); \ };'] return ale#powershell#RunPowerShell( \ a:buffer, 'powershell_powershell', l:script) endfunction " Parse powershell error output using regex into a list of dicts function! ale_linters#powershell#powershell#Handle(buffer, lines) abort let l:output = [] " Our 3 patterns we need to scrape the data for the dicts let l:patterns = [ \ '\v^At line:(\d+) char:(\d+)', \ '\v^(At|\+| )@!.*', \ '\vFullyQualifiedErrorId : (\w+)', \] let l:matchcount = 0 for l:match in ale#util#GetMatches(a:lines, l:patterns) " We want to work with 3 matches per syntax error let l:matchcount = l:matchcount + 1 if l:matchcount == 1 || str2nr(l:match[1]) " First match consists of 2 capture groups, and " can capture the line and col if exists('l:item') " We may be here because the last syntax " didn't emit a code, and so only had 2 " matches call add(l:output, l:item) let l:matchcount = 1 endif " If the match is 0, it was a failed match " probably due to an unexpected token which " contained a newline. Reset matchcount. to " continue to the next match if !empty(l:match[1]) let l:item = { \ 'lnum': str2nr(l:match[1]), \ 'col': str2nr(l:match[2]), \ 'type': 'E', \} else let l:matchcount = 0 endif elseif l:matchcount == 2 " Second match[0] grabs the full line in order " to handles the text let l:item['text'] = l:match[0] else " Final match handles the code, however " powershell only emits 1 code for all errors " so, we get the final code on the last error " and loop over the previously added items to " append the code we now know call add(l:output, l:item) unlet l:item if len(l:match[1]) > 0 for l:i in l:output let l:i['code'] = l:match[1] endfor endif " Reset the matchcount so we can begin gathering " matches for the next syntax error let l:matchcount = 0 endif endfor return l:output endfunction call ale#linter#Define('powershell', { \ 'name': 'powershell', \ 'executable': function('ale_linters#powershell#powershell#GetExecutable'), \ 'command': function('ale_linters#powershell#powershell#GetCommand'), \ 'output_stream': 'stdout', \ 'callback': 'ale_linters#powershell#powershell#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/powershell/psscriptanalyzer.vim ================================================ " Author: Jesse Harris - https://github.com/zigford " Description: This file adds support for lintng powershell scripts " using the PSScriptAnalyzer module. " let g:ale_powershell_psscriptanalyzer_exclusions = " \ 'PSAvoidUsingWriteHost,PSAvoidGlobalVars' call ale#Set('powershell_psscriptanalyzer_exclusions', '') call ale#Set('powershell_psscriptanalyzer_executable', 'pwsh') call ale#Set('powershell_psscriptanalyzer_module', \ 'psscriptanalyzer') function! ale_linters#powershell#psscriptanalyzer#GetExecutable(buffer) abort return ale#Var(a:buffer, 'powershell_psscriptanalyzer_executable') endfunction " Run Invoke-ScriptAnalyzer and output each linting message as 4 separate lines " for each parsing function! ale_linters#powershell#psscriptanalyzer#GetCommand(buffer) abort let l:exclude_option = ale#Var( \ a:buffer, 'powershell_psscriptanalyzer_exclusions') let l:module = ale#Var( \ a:buffer, 'powershell_psscriptanalyzer_module') let l:script = ['Param($Script); \ Invoke-ScriptAnalyzer "$Script" ' \ . (!empty(l:exclude_option) ? '-Exclude ' . l:exclude_option : '') \ . '| ForEach-Object { \ $_.Line; \ $_.Severity; \ $_.Message; \ $_.RuleName}'] return ale#powershell#RunPowerShell( \ a:buffer, \ 'powershell_psscriptanalyzer', \ l:script) endfunction " add every 4 lines to an item(Dict) and every item to a list " return the list function! ale_linters#powershell#psscriptanalyzer#Handle(buffer, lines) abort let l:output = [] let l:lcount = 0 for l:line in a:lines if l:lcount is# 0 " the very first line let l:item = {'lnum': str2nr(l:line)} elseif l:lcount is# 1 if l:line is# 'Error' let l:item['type'] = 'E' elseif l:line is# 'Information' let l:item['type'] = 'I' else let l:item['type'] = 'W' endif elseif l:lcount is# 2 let l:item['text'] = l:line elseif l:lcount is# 3 let l:item['code'] = l:line call add(l:output, l:item) let l:lcount = -1 endif let l:lcount = l:lcount + 1 endfor return l:output endfunction call ale#linter#Define('powershell', { \ 'name': 'psscriptanalyzer', \ 'executable': function('ale_linters#powershell#psscriptanalyzer#GetExecutable'), \ 'command': function('ale_linters#powershell#psscriptanalyzer#GetCommand'), \ 'output_stream': 'stdout', \ 'callback': 'ale_linters#powershell#psscriptanalyzer#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/prolog/swipl.vim ================================================ " Author: Takuya Fujiwara " Description: swipl syntax / semantic check for Prolog files call ale#Set('prolog_swipl_executable', 'swipl') call ale#Set('prolog_swipl_load', 'current_prolog_flag(argv, [File]), load_files(File, [sandboxed(true)]), halt.') call ale#Set('prolog_swipl_timeout', 3) call ale#Set('prolog_swipl_alarm', 'alarm(%t, (%h), _, [])') call ale#Set('prolog_swipl_alarm_handler', 'writeln(user_error, "ERROR: Exceeded %t seconds, Please change g:prolog_swipl_timeout to modify the limit."), halt(1)') function! ale_linters#prolog#swipl#GetCommand(buffer) abort let l:goals = ale#Var(a:buffer, 'prolog_swipl_load') let l:goals = l:goals =~# '^\s*$' ? 'halt' : l:goals let l:timeout = ale#Var(a:buffer, 'prolog_swipl_timeout') + 0 if l:timeout > 0 let l:goals = s:GetAlarm(a:buffer, l:timeout) . ', ' . l:goals endif return '%e -g ' . ale#Escape(l:goals) . ' -- %s' endfunction function! s:GetAlarm(buffer, timeout) abort let l:handler = ale#Var(a:buffer, 'prolog_swipl_alarm_handler') let l:handler = s:Subst(l:handler, {'t': a:timeout}) let l:alarm = ale#Var(a:buffer, 'prolog_swipl_alarm') let l:alarm = s:Subst(l:alarm, {'t': a:timeout, 'h': l:handler}) return l:alarm endfunction function! s:Subst(format, vars) abort let l:vars = extend(copy(a:vars), {'%': '%'}) return substitute(a:format, '%\(.\)', '\=get(l:vars, submatch(1), "")', 'g') endfunction function! ale_linters#prolog#swipl#Handle(buffer, lines) abort let l:output = [] let l:i = 0 let l:pattern = '\v^(ERROR|Warning)+%(:\s*[^:]+:(\d+)%(:(\d+))?)?:\s*(.*)$' while l:i < len(a:lines) let l:match = matchlist(a:lines[l:i], l:pattern) if empty(l:match) let l:i += 1 continue endif let [l:i, l:text] = s:GetErrMsg(l:i, a:lines, l:match[4]) let l:item = { \ 'lnum': (l:match[2] + 0 ? l:match[2] + 0 : 1), \ 'col': l:match[3] + 0, \ 'text': l:text, \ 'type': (l:match[1] is# 'ERROR' ? 'E' : 'W'), \} if !s:Ignore(l:item) call add(l:output, l:item) endif endwhile return l:output endfunction " This returns [, ] function! s:GetErrMsg(i, lines, text) abort if a:text !~# '^\s*$' return [a:i + 1, a:text] endif let l:i = a:i + 1 let l:text = [] let l:pattern = '\v^(ERROR|Warning)?:?(.*)$' while l:i < len(a:lines) let l:match = matchlist(a:lines[l:i], l:pattern) if empty(l:match) || empty(l:match[2]) let l:i += 1 break endif call add(l:text, s:Trim(l:match[2])) let l:i += 1 endwhile return [l:i, join(l:text, '. ')] endfunction function! s:Trim(str) abort return substitute(a:str, '\v^\s+|\s+$', '', 'g') endfunction " Skip sandbox error which is caused by directives " because what we want is syntactic or semantic check. function! s:Ignore(item) abort return a:item.type is# 'E' \ && a:item.text =~# '\vNo permission to (call|directive|assert) sandboxed' endfunction call ale#linter#Define('prolog', { \ 'name': 'swipl', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'prolog_swipl_executable')}, \ 'command': function('ale_linters#prolog#swipl#GetCommand'), \ 'callback': 'ale_linters#prolog#swipl#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/proto/buf_lint.vim ================================================ " Author: Alex McKinney " Description: Run buf lint. call ale#Set('proto_buf_lint_executable', 'buf') call ale#Set('proto_buf_lint_config', '') call ale#Set('proto_buf_lint_options', '') function! ale_linters#proto#buf_lint#GetCommand(buffer) abort let l:config = ale#Var(a:buffer, 'proto_buf_lint_config') let l:options = ale#Var(a:buffer, 'proto_buf_lint_options') return '%e lint' \ . (!empty(l:config) ? ' --config=' . ale#Escape(l:config) : '') \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %s#include_package_files=true' endfunction call ale#linter#Define('proto', { \ 'name': 'buf_lint', \ 'aliases': ['buf-lint'], \ 'lint_file': 1, \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'proto_buf_lint_executable')}, \ 'command': function('ale_linters#proto#buf_lint#GetCommand'), \ 'callback': 'ale#handlers#go#Handler', \}) ================================================ FILE: bundle/ale/ale_linters/proto/protoc_gen_lint.vim ================================================ " Author: Jeff Willette " Description: run the protoc-gen-lint plugin for the protoc binary call ale#Set('proto_protoc_gen_lint_options', '') function! ale_linters#proto#protoc_gen_lint#GetCommand(buffer) abort let l:dirname = expand('#' . a:buffer . ':p:h') let l:options = ['-I ' . ale#Escape(l:dirname)] if !empty(ale#Var(a:buffer, 'proto_protoc_gen_lint_options')) let l:options += [ale#Var(a:buffer, 'proto_protoc_gen_lint_options')] endif let l:options += ['--lint_out=. ' . '%s'] return 'protoc' . ' ' . join(l:options) endfunction call ale#linter#Define('proto', { \ 'name': 'protoc-gen-lint', \ 'lint_file': 1, \ 'output_stream': 'stderr', \ 'executable': 'protoc', \ 'command': function('ale_linters#proto#protoc_gen_lint#GetCommand'), \ 'callback': 'ale#handlers#unix#HandleAsError', \}) ================================================ FILE: bundle/ale/ale_linters/proto/protolint.vim ================================================ " Author: Yohei Yoshimuta " Description: run the protolint for Protocol Buffer files call ale#Set('proto_protolint_executable', 'protolint') call ale#Set('proto_protolint_config', '') function! ale_linters#proto#protolint#GetCommand(buffer) abort let l:config = ale#Var(a:buffer, 'proto_protolint_config') return '%e lint' \ . (!empty(l:config) ? ' -config_path=' . ale#Escape(l:config) : '') \ . ' -reporter=unix' \ . ' %s' endfunction call ale#linter#Define('proto', { \ 'name': 'protolint', \ 'lint_file': 1, \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'proto_protolint_executable')}, \ 'command': function('ale_linters#proto#protolint#GetCommand'), \ 'callback': 'ale#handlers#unix#HandleAsError', \}) ================================================ FILE: bundle/ale/ale_linters/pug/puglint.vim ================================================ " Author: w0rp - " Description: pug-lint for checking Pug/Jade files. call ale#Set('pug_puglint_options', '') call ale#Set('pug_puglint_executable', 'pug-lint') call ale#Set('pug_puglint_use_global', get(g:, 'ale_use_global_executables', 0)) function! s:FindConfig(buffer) abort for l:filename in [ \ '.pug-lintrc', \ '.pug-lintrc.js', \ '.pug-lintrc.json', \ 'package.json', \] let l:config = ale#path#FindNearestFile(a:buffer, l:filename) if !empty(l:config) return l:config endif endfor return '' endfunction function! ale_linters#pug#puglint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'pug_puglint_options') let l:config = s:FindConfig(a:buffer) return '%e' . ale#Pad(l:options) \ . (!empty(l:config) ? ' -c ' . ale#Escape(l:config) : '') \ . ' -r inline %t' endfunction function! ale_linters#pug#puglint#Handle(buffer, lines) abort for l:line in a:lines[:10] if l:line =~# '^SyntaxError: ' return [{ \ 'lnum': 1, \ 'text': 'puglint configuration error (type :ALEDetail for more information)', \ 'detail': join(a:lines, "\n"), \}] endif endfor return ale#handlers#unix#HandleAsError(a:buffer, a:lines) endfunction call ale#linter#Define('pug', { \ 'name': 'puglint', \ 'executable': {b -> ale#path#FindExecutable(b, 'pug_puglint', [ \ 'node_modules/.bin/pug-lint', \ ])}, \ 'output_stream': 'stderr', \ 'command': function('ale_linters#pug#puglint#GetCommand'), \ 'callback': 'ale_linters#pug#puglint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/puppet/languageserver.vim ================================================ " Author: Alexander Olofsson " Description: Puppet Language Server integration for ALE call ale#Set('puppet_languageserver_executable', 'puppet-languageserver') function! ale_linters#puppet#languageserver#GetProjectRoot(buffer) abort " Note: The metadata.json file is recommended for Puppet 4+ modules, but " there's no requirement to have it, so fall back to the other possible " Puppet module directories let l:root_path = ale#path#FindNearestFile(a:buffer, 'metadata.json') if !empty(l:root_path) return fnamemodify(l:root_path, ':h') endif for l:test_path in [ \ 'manifests', \ 'templates', \] let l:root_path = ale#path#FindNearestDirectory(a:buffer, l:test_path) if !empty(l:root_path) return fnamemodify(l:root_path, ':h:h') endif endfor return '' endfunction call ale#linter#Define('puppet', { \ 'name': 'languageserver', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'puppet_languageserver_executable')}, \ 'command': '%e --stdio', \ 'language': 'puppet', \ 'project_root': function('ale_linters#puppet#languageserver#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/puppet/puppet.vim ================================================ " Author: Alexander Olofsson call ale#Set('puppet_puppet_executable', 'puppet') call ale#Set('puppet_puppet_options', '') function! ale_linters#puppet#puppet#Handle(buffer, lines) abort " Matches patterns like the following: " Error: Could not parse for environment production: Syntax error at ':' at /root/puppetcode/modules/nginx/manifests/init.pp:43:12 " Error: Could not parse for environment production: Syntax error at '='; expected '}' at /root/puppetcode/modules/pancakes/manifests/init.pp:5" " Error: Could not parse for environment production: Syntax error at 'parameter1' (file: /tmp/modules/mariadb/manifests/slave.pp, line: 4, column: 5) " Error: Illegal attempt to assign to 'a Name'. Not an assignable reference (file: /tmp/modules/waffles/manifests/syrup.pp, line: 5, column: 11) " Error: Could not parse for environment production: Syntax error at end of input (file: /tmp/modules/bob/manifests/init.pp) let l:pattern = '^Error:\%(.*:\)\? \(.\+\) \((file:\|at\) .\+\.pp\(\(, line: \|:\)\(\d\+\)\(, column: \|:\)\=\(\d*\)\|)$\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[5] + 0, \ 'col': l:match[7] + 0, \ 'text': l:match[1], \}) endfor return l:output endfunction function! ale_linters#puppet#puppet#GetCommand(buffer) abort return '%e parser validate --color=false ' \ . ale#Pad(ale#Var(a:buffer, 'puppet_puppet_options')) \ . ' %t' endfunction call ale#linter#Define('puppet', { \ 'name': 'puppet', \ 'executable': {b -> ale#Var(b, 'puppet_puppet_executable')}, \ 'output_stream': 'stderr', \ 'command': function('ale_linters#puppet#puppet#GetCommand'), \ 'callback': 'ale_linters#puppet#puppet#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/puppet/puppetlint.vim ================================================ " Author: Alexander Olofsson , Robert Flechtner " Description: puppet-lint for puppet files call ale#Set('puppet_puppetlint_executable', 'puppet-lint') call ale#Set('puppet_puppetlint_options', '--no-autoloader_layout-check') function! ale_linters#puppet#puppetlint#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'puppet_puppetlint_options')) \ . ' --log-format "-:%{line}:%{column}: %{kind}: [%{check}] %{message}"' \ . ' %t' endfunction call ale#linter#Define('puppet', { \ 'name': 'puppetlint', \ 'executable': {b -> ale#Var(b, 'puppet_puppetlint_executable')}, \ 'command': function('ale_linters#puppet#puppetlint#GetCommand'), \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/purescript/ls.vim ================================================ " Author: Drew Olson " Description: Integrate ALE with purescript-language-server. call ale#Set('purescript_ls_executable', 'purescript-language-server') call ale#Set('purescript_ls_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('purescript_ls_config', {}) function! ale_linters#purescript#ls#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'purescript_ls', [ \ 'node_modules/.bin/purescript-language-server', \]) endfunction function! ale_linters#purescript#ls#GetCommand(buffer) abort let l:executable = ale_linters#purescript#ls#GetExecutable(a:buffer) return ale#Escape(l:executable) . ' --stdio' endfunction function! ale_linters#purescript#ls#FindProjectRoot(buffer) abort let l:config = ale#path#FindNearestFile(a:buffer, 'bower.json') if !empty(l:config) return fnamemodify(l:config, ':h') endif let l:config = ale#path#FindNearestFile(a:buffer, 'psc-package.json') if !empty(l:config) return fnamemodify(l:config, ':h') endif let l:config = ale#path#FindNearestFile(a:buffer, 'spago.dhall') if !empty(l:config) return fnamemodify(l:config, ':h') endif return '' endfunction call ale#linter#Define('purescript', { \ 'name': 'purescript-language-server', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#purescript#ls#GetExecutable'), \ 'command': function('ale_linters#purescript#ls#GetCommand'), \ 'project_root': function('ale_linters#purescript#ls#FindProjectRoot'), \ 'lsp_config': {b -> ale#Var(b, 'purescript_ls_config')}, \}) ================================================ FILE: bundle/ale/ale_linters/pyrex/cython.vim ================================================ " Author: w0rp , " Nicolas Pauss " Description: cython syntax checking for cython files. call ale#Set('pyrex_cython_executable', 'cython') call ale#Set('pyrex_cython_options', '--warning-extra') function! ale_linters#pyrex#cython#GetCommand(buffer) abort return '%e --working %s:h --include-dir %s:h' \ . ale#Pad(ale#Var(a:buffer, 'pyrex_cython_options')) \ . ' --output-file ' . g:ale#util#nul_file . ' %t' endfunction function! ale_linters#pyrex#cython#Handle(buffer, lines) abort let l:pattern = '\v^(\w+: )?[^:]+:(\d+):?(\d+)?:? ?(.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[4], \ 'type': l:match[1][0] is# 'w' ? 'W' : 'E', \}) endfor return l:output endfunction call ale#linter#Define('pyrex', { \ 'name': 'cython', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'pyrex_cython_executable')}, \ 'command': function('ale_linters#pyrex#cython#GetCommand'), \ 'callback': 'ale_linters#pyrex#cython#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/python/bandit.vim ================================================ " Author: Martino Pilia " Description: bandit linting for python files call ale#Set('python_bandit_executable', 'bandit') call ale#Set('python_bandit_options', '') call ale#Set('python_bandit_use_config', 1) call ale#Set('python_bandit_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_bandit_auto_pipenv', 0) call ale#Set('python_bandit_auto_poetry', 0) function! ale_linters#python#bandit#GetExecutable(buffer) abort if ( \ ale#Var(a:buffer, 'python_auto_pipenv') \ || ale#Var(a:buffer, 'python_bandit_auto_pipenv') \) && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if ( \ ale#Var(a:buffer, 'python_auto_poetry') \ || ale#Var(a:buffer, 'python_bandit_auto_poetry') \) && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_bandit', ['bandit']) endfunction function! ale_linters#python#bandit#GetCommand(buffer) abort let l:executable = ale_linters#python#bandit#GetExecutable(a:buffer) let l:flags = ' --format custom' \ . ' --msg-template "{line}:{test_id}:{severity}:{msg}" ' if ale#Var(a:buffer, 'python_bandit_use_config') let l:config_path = ale#path#FindNearestFile(a:buffer, '.bandit') if !empty(l:config_path) let l:flags = ' --ini ' . ale#Escape(l:config_path) . l:flags endif endif let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run bandit' \ : '' return ale#Escape(l:executable) . l:exec_args \ . l:flags \ . ale#Pad(ale#Var(a:buffer, 'python_bandit_options')) \ . ' -' endfunction function! ale_linters#python#bandit#Handle(buffer, lines) abort " Custom format defined in GetCommand via --msg-template let l:pattern = '\v^([0-9]+):(B[0-9]+):([A-Z]+):(.*)$' let l:severity = {'LOW': 'I', 'MEDIUM': 'W', 'HIGH': 'E'} let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': str2nr(l:match[1]), \ 'code': l:match[2], \ 'type': l:severity[l:match[3]], \ 'text': l:match[4], \}) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'bandit', \ 'executable': function('ale_linters#python#bandit#GetExecutable'), \ 'command': function('ale_linters#python#bandit#GetCommand'), \ 'callback': 'ale_linters#python#bandit#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/python/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Python files. call ale#handlers#cspell#DefineLinter('python') ================================================ FILE: bundle/ale/ale_linters/python/flake8.vim ================================================ " Author: w0rp " Description: flake8 for python files call ale#Set('python_flake8_executable', 'flake8') call ale#Set('python_flake8_options', '') call ale#Set('python_flake8_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_flake8_change_directory', 'project') call ale#Set('python_flake8_auto_pipenv', 0) call ale#Set('python_flake8_auto_poetry', 0) function! s:UsingModule(buffer) abort return ale#Var(a:buffer, 'python_flake8_options') =~# ' *-m flake8' endfunction function! ale_linters#python#flake8#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_flake8_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_flake8_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif if !s:UsingModule(a:buffer) return ale#python#FindExecutable(a:buffer, 'python_flake8', ['flake8']) endif return ale#Var(a:buffer, 'python_flake8_executable') endfunction function! ale_linters#python#flake8#RunWithVersionCheck(buffer) abort let l:executable = ale_linters#python#flake8#GetExecutable(a:buffer) let l:module_string = s:UsingModule(a:buffer) ? ' -m flake8' : '' let l:command = ale#Escape(l:executable) . l:module_string . ' --version' return ale#semver#RunWithVersionCheck( \ a:buffer, \ l:executable, \ l:command, \ function('ale_linters#python#flake8#GetCommand'), \) endfunction function! ale_linters#python#flake8#GetCwd(buffer) abort let l:change_directory = ale#Var(a:buffer, 'python_flake8_change_directory') let l:cwd = '' if l:change_directory is# 'project' let l:project_root = ale#python#FindProjectRootIni(a:buffer) if !empty(l:project_root) let l:cwd = l:project_root endif endif if (l:change_directory is# 'project' && empty(l:cwd)) \|| l:change_directory is# 1 \|| l:change_directory is# 'file' let l:cwd = '%s:h' endif return l:cwd endfunction function! ale_linters#python#flake8#GetCommand(buffer, version) abort let l:executable = ale_linters#python#flake8#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run flake8' \ : '' " Only include the --stdin-display-name argument if we can parse the " flake8 version, and it is recent enough to support it. let l:display_name_args = ale#semver#GTE(a:version, [3, 0, 0]) \ ? ' --stdin-display-name %s' \ : '' let l:options = ale#Var(a:buffer, 'python_flake8_options') return ale#Escape(l:executable) . l:exec_args \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --format=default' \ . l:display_name_args . ' -' endfunction let s:end_col_pattern_map = { \ 'F405': '\(.\+\) may be undefined', \ 'F821': 'undefined name ''\([^'']\+\)''', \ 'F999': '^''\([^'']\+\)''', \ 'F841': 'local variable ''\([^'']\+\)''', \} function! ale_linters#python#flake8#Handle(buffer, lines) abort let l:output = ale#python#HandleTraceback(a:lines, 10) if !empty(l:output) return l:output endif " Matches patterns line the following: " " Matches patterns line the following: " " stdin:6:6: E111 indentation is not a multiple of four let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):?(\d+)?: ([[:alnum:]]+):? (.*)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:code = l:match[3] if (l:code is# 'W291' || l:code is# 'W293') \ && !ale#Var(a:buffer, 'warn_about_trailing_whitespace') " Skip warnings for trailing whitespace if the option is off. continue endif if l:code is# 'W391' \&& !ale#Var(a:buffer, 'warn_about_trailing_blank_lines') " Skip warnings for trailing blank lines if the option is off continue endif let l:item = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'vcol': 1, \ 'text': l:match[4], \ 'code': l:code, \ 'type': 'W', \} if l:code[:0] is# 'F' if l:code isnot# 'F401' let l:item.type = 'E' endif elseif l:code[:0] is# 'E' let l:item.type = 'E' if l:code isnot# 'E999' && l:code isnot# 'E112' let l:item.sub_type = 'style' endif elseif l:code[:0] is# 'W' let l:item.sub_type = 'style' endif let l:end_col_pattern = get(s:end_col_pattern_map, l:code, '') if !empty(l:end_col_pattern) let l:end_col_match = matchlist(l:match[4], l:end_col_pattern) if !empty(l:end_col_match) let l:item.end_col = l:item.col + len(l:end_col_match[1]) - 1 endif endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'flake8', \ 'executable': function('ale_linters#python#flake8#GetExecutable'), \ 'cwd': function('ale_linters#python#flake8#GetCwd'), \ 'command': function('ale_linters#python#flake8#RunWithVersionCheck'), \ 'callback': 'ale_linters#python#flake8#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/python/flakehell.vim ================================================ " Author: w0rp " Description: flakehell for python files call ale#Set('python_flakehell_executable', 'flakehell') call ale#Set('python_flakehell_options', '') call ale#Set('python_flakehell_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_flakehell_change_directory', 'project') call ale#Set('python_flakehell_auto_pipenv', 0) call ale#Set('python_flakehell_auto_poetry', 0) function! s:UsingModule(buffer) abort return ale#Var(a:buffer, 'python_flakehell_executable') is? 'python' endfunction function! ale_linters#python#flakehell#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_flakehell_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_flakehell_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif if !s:UsingModule(a:buffer) return ale#python#FindExecutable(a:buffer, 'python_flakehell', ['flakehell']) endif return ale#Var(a:buffer, 'python_flakehell_executable') endfunction function! ale_linters#python#flakehell#RunWithVersionCheck(buffer) abort let l:executable = ale_linters#python#flakehell#GetExecutable(a:buffer) let l:module_string = s:UsingModule(a:buffer) ? ' -m flakehell' : '' let l:command = ale#Escape(l:executable) . l:module_string . ' --version' return ale#semver#RunWithVersionCheck( \ a:buffer, \ l:executable, \ l:command, \ function('ale_linters#python#flakehell#GetCommand'), \) endfunction function! ale_linters#python#flakehell#GetCwd(buffer) abort let l:change_directory = ale#Var(a:buffer, 'python_flakehell_change_directory') let l:cwd = '' if l:change_directory is# 'project' let l:project_root = ale#python#FindProjectRootIni(a:buffer) if !empty(l:project_root) let l:cwd = l:project_root endif endif if (l:change_directory is# 'project' && empty(l:cwd)) \|| l:change_directory is# 1 \|| l:change_directory is# 'file' let l:cwd = '%s:h' endif return l:cwd endfunction function! ale_linters#python#flakehell#GetCommand(buffer, version) abort let l:executable = ale_linters#python#flakehell#GetExecutable(a:buffer) if (l:executable =~? 'pipenv\|poetry$') let l:exec_args = ' run flakehell' elseif (l:executable is? 'python') let l:exec_args = ' -m flakehell' else let l:exec_args = '' endif " Only include the --stdin-display-name argument if we can parse the " flakehell version, and it is recent enough to support it. let l:display_name_args = ale#semver#GTE(a:version, [0, 8, 0]) \ ? ' --stdin-display-name %s' \ : '' let l:options = ale#Var(a:buffer, 'python_flakehell_options') return ale#Escape(l:executable) \ . l:exec_args \ . (!empty(l:options) ? ' lint ' . l:options : ' lint') \ . ' --format=default' \ . l:display_name_args . ' -' endfunction let s:end_col_pattern_map = { \ 'F405': '\(.\+\) may be undefined', \ 'F821': 'undefined name ''\([^'']\+\)''', \ 'F999': '^''\([^'']\+\)''', \ 'F841': 'local variable ''\([^'']\+\)''', \} function! ale_linters#python#flakehell#Handle(buffer, lines) abort let l:output = ale#python#HandleTraceback(a:lines, 10) if !empty(l:output) return l:output endif " Matches patterns line the following: " " Matches patterns line the following: " " stdin:6:6: E111 indentation is not a multiple of four let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):?(\d+)?: ([[:alnum:]]+):? (.*)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:code = l:match[3] if (l:code is# 'W291' || l:code is# 'W293') \ && !ale#Var(a:buffer, 'warn_about_trailing_whitespace') " Skip warnings for trailing whitespace if the option is off. continue endif if l:code is# 'W391' \&& !ale#Var(a:buffer, 'warn_about_trailing_blank_lines') " Skip warnings for trailing blank lines if the option is off continue endif let l:item = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'vcol': 1, \ 'text': l:match[4], \ 'code': l:code, \ 'type': 'W', \} if l:code[:0] is# 'F' if l:code isnot# 'F401' let l:item.type = 'E' endif elseif l:code[:0] is# 'E' let l:item.type = 'E' if l:code isnot# 'E999' && l:code isnot# 'E112' let l:item.sub_type = 'style' endif elseif l:code[:0] is# 'W' let l:item.sub_type = 'style' endif let l:end_col_pattern = get(s:end_col_pattern_map, l:code, '') if !empty(l:end_col_pattern) let l:end_col_match = matchlist(l:match[4], l:end_col_pattern) if !empty(l:end_col_match) let l:item.end_col = l:item.col + len(l:end_col_match[1]) - 1 endif endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'flakehell', \ 'executable': function('ale_linters#python#flakehell#GetExecutable'), \ 'cwd': function('ale_linters#python#flakehell#GetCwd'), \ 'command': function('ale_linters#python#flakehell#RunWithVersionCheck'), \ 'callback': 'ale_linters#python#flakehell#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/python/jedils.vim ================================================ " Author: Dalius Dobravolskas " Description: https://github.com/pappasam/jedi-language-server call ale#Set('python_jedils_executable', 'jedi-language-server') call ale#Set('python_jedils_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_jedils_auto_pipenv', 0) function! ale_linters#python#jedils#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_jedils_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif return ale#python#FindExecutable(a:buffer, 'python_jedils', ['jedi-language-server']) endfunction function! ale_linters#python#jedils#GetCommand(buffer) abort let l:executable = ale_linters#python#jedils#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv$' \ ? ' run jedi-language-server' \ : '' return ale#Escape(l:executable) . l:exec_args endfunction call ale#linter#Define('python', { \ 'name': 'jedils', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#python#jedils#GetExecutable'), \ 'command': function('ale_linters#python#jedils#GetCommand'), \ 'project_root': function('ale#python#FindProjectRoot'), \ 'completion_filter': 'ale#completion#python#CompletionItemFilter', \}) ================================================ FILE: bundle/ale/ale_linters/python/mypy.vim ================================================ " Author: Keith Smiley , w0rp " Description: mypy support for optional python typechecking call ale#Set('python_mypy_executable', 'mypy') call ale#Set('python_mypy_ignore_invalid_syntax', 0) call ale#Set('python_mypy_show_notes', 1) call ale#Set('python_mypy_options', '') call ale#Set('python_mypy_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_mypy_auto_pipenv', 0) call ale#Set('python_mypy_auto_poetry', 0) function! ale_linters#python#mypy#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_mypy_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_mypy_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_mypy', ['mypy']) endfunction " The directory to change to before running mypy function! ale_linters#python#mypy#GetCwd(buffer) abort " If we find a directory with "mypy.ini" in it use that, " else try and find the "python project" root, or failing " that, run from the same folder as the current file for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) if filereadable(l:path . '/mypy.ini') return l:path endif endfor let l:project_root = ale#python#FindProjectRoot(a:buffer) return !empty(l:project_root) \ ? l:project_root \ : expand('#' . a:buffer . ':p:h') endfunction function! ale_linters#python#mypy#GetCommand(buffer) abort let l:executable = ale_linters#python#mypy#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run mypy' \ : '' return '%e' . l:exec_args \ . ale#Pad(ale#Var(a:buffer, 'python_mypy_options')) \ . ' --show-column-numbers' \ . ' --shadow-file %s %t %s' endfunction function! ale_linters#python#mypy#Handle(buffer, lines) abort let l:dir = ale_linters#python#mypy#GetCwd(a:buffer) " Look for lines like the following: " " file.py:4: error: No library stub file for module 'django.db' " " Lines like these should be ignored below: " " file.py:4: note: (Stub files are from https://github.com/python/typeshed) let l:types = 'error|warning' if ale#Var(a:buffer, 'python_mypy_show_notes') let l:types = 'error|warning|note' endif let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?: (' \ . l:types \ . '): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) " Skip invalid syntax errors if the option is on. if l:match[5] is# 'invalid syntax' \&& ale#Var(a:buffer, 'python_mypy_ignore_invalid_syntax') continue endif call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'type': l:match[4] is# 'error' ? 'E' : (l:match[4] is# 'note' ? 'I': 'W'), \ 'text': l:match[5], \}) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'mypy', \ 'executable': function('ale_linters#python#mypy#GetExecutable'), \ 'cwd': function('ale_linters#python#mypy#GetCwd'), \ 'command': function('ale_linters#python#mypy#GetCommand'), \ 'callback': 'ale_linters#python#mypy#Handle', \ 'output_stream': 'both' \}) ================================================ FILE: bundle/ale/ale_linters/python/prospector.vim ================================================ " Author: chocoelho " Description: prospector linter python files call ale#Set('python_prospector_auto_pipenv', 0) call ale#Set('python_prospector_auto_poetry', 0) let g:ale_python_prospector_executable = \ get(g:, 'ale_python_prospector_executable', 'prospector') let g:ale_python_prospector_options = \ get(g:, 'ale_python_prospector_options', '') let g:ale_python_prospector_use_global = get(g:, 'ale_python_prospector_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#python#prospector#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_prospector_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_prospector_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_prospector', ['prospector']) endfunction function! ale_linters#python#prospector#GetCommand(buffer) abort let l:executable = ale_linters#python#prospector#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run prospector' \ : '' return ale#Escape(l:executable) \ . l:exec_args \ . ' ' . ale#Var(a:buffer, 'python_prospector_options') \ . ' --messages-only --absolute-paths --zero-exit --output-format json' \ . ' %s' endfunction function! ale_linters#python#prospector#Handle(buffer, lines) abort let l:output = [] if empty(a:lines) return [] endif let l:prospector_error = json_decode(join(a:lines, '')) for l:error in l:prospector_error.messages if (l:error.code is# 'W291' || l:error.code is# 'W293' || l:error.code is# 'trailing-whitespace') \ && !ale#Var(a:buffer, 'warn_about_trailing_whitespace') " Skip warnings for trailing whitespace if the option is off. continue endif if l:error.code is# 'W391' \&& !ale#Var(a:buffer, 'warn_about_trailing_blank_lines') " Skip warnings for trailing blank lines if the option is off continue endif if l:error.source =~# '\v\[%(dodgy|mccabe|pep8|pep257|pyroma)\]$' let l:sub_type = 'style' else let l:sub_type = '' endif if l:error.source =~# '\v\[pylint\]$' let l:type = l:error.code =~? '\m^[CRW]' ? 'W' : 'E' elseif l:error.source =~# '\v\[%(frosted|pep8)\]$' let l:type = l:error.code =~? '\m^W' ? 'W' : 'E' elseif l:error.source =~# '\v\[%(dodgy|pyroma|vulture)\]$' let l:type = 'W' else let l:type = 'E' endif let l:item = { \ 'lnum': l:error.location.line, \ 'col': l:error.location.character + 1, \ 'text': l:error.message, \ 'code': printf('(%s) %s', l:error.source, l:error.code), \ 'type': l:type, \ 'sub_type': l:sub_type, \} if l:sub_type is# '' unlet l:item.sub_type endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'prospector', \ 'executable': function('ale_linters#python#prospector#GetExecutable'), \ 'command': function('ale_linters#python#prospector#GetCommand'), \ 'callback': 'ale_linters#python#prospector#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/python/pycodestyle.vim ================================================ " Author: Michael Thiesen " Description: pycodestyle linting for python files call ale#Set('python_pycodestyle_executable', 'pycodestyle') call ale#Set('python_pycodestyle_options', '') call ale#Set('python_pycodestyle_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_pycodestyle_auto_pipenv', 0) call ale#Set('python_pycodestyle_auto_poetry', 0) function! ale_linters#python#pycodestyle#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pycodestyle_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_pycodestyle_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_pycodestyle', ['pycodestyle']) endfunction function! ale_linters#python#pycodestyle#GetCommand(buffer) abort let l:executable = ale_linters#python#pycodestyle#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run pycodestyle' \ : '' return ale#Escape(l:executable) . l:exec_args \ . ' ' \ . ale#Var(a:buffer, 'python_pycodestyle_options') \ . ' -' endfunction function! ale_linters#python#pycodestyle#Handle(buffer, lines) abort let l:pattern = '\v^(\S*):(\d*):(\d*): ([EW]\d+) (.*)$' let l:output = [] " lines are formatted as follows: " file.py:21:26: W291 trailing whitespace for l:match in ale#util#GetMatches(a:lines, l:pattern) if(l:match[4] is# 'W291' || l:match[4] is# 'W293') \&& !ale#Var(a:buffer, 'warn_about_trailing_whitespace') " Skip warnings for trailing whitespace if the option is off. continue endif if l:match[4] is# 'W391' \&& !ale#Var(a:buffer, 'warn_about_trailing_blank_lines') " Skip warnings for trailing blank lines if the option is off continue endif let l:item = { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'type': l:match[4][0], \ 'sub_type': 'style', \ 'text': l:match[5], \ 'code': l:match[4], \} " E999 and E112 are syntax errors. if l:match[4] is# 'E999' || l:match[4] is# 'E112' unlet l:item.sub_type endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'pycodestyle', \ 'executable': function('ale_linters#python#pycodestyle#GetExecutable'), \ 'command': function('ale_linters#python#pycodestyle#GetCommand'), \ 'callback': 'ale_linters#python#pycodestyle#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/python/pydocstyle.vim ================================================ " Author: Pablo Acosta " Description: pydocstyle for python files call ale#Set('python_pydocstyle_executable', 'pydocstyle') call ale#Set('python_pydocstyle_options', '') call ale#Set('python_pydocstyle_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_pydocstyle_auto_pipenv', 0) call ale#Set('python_pydocstyle_auto_poetry', 0) function! ale_linters#python#pydocstyle#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pydocstyle_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_pydocstyle_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_pydocstyle', ['pydocstyle']) endfunction function! ale_linters#python#pydocstyle#GetCommand(buffer) abort let l:executable = ale_linters#python#pydocstyle#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run pydocstyle' \ : '' return ale#Escape(l:executable) . l:exec_args \ . ale#Pad(ale#Var(a:buffer, 'python_pydocstyle_options')) \ . ' %s' endfunction function! ale_linters#python#pydocstyle#Handle(buffer, lines) abort " Matches patterns like the following: " mydir/myfile.py:33 in public function `myfunction`: " DXXX: Error description let l:line1_pattern = '\v^.*:\s*(\d+)\s+.*$' let l:line2_pattern = '\v^.*([a-zA-Z]\d+):\s*(.*)$' let l:output = [] let l:num_lines = len(a:lines) let l:index = 0 while l:index < l:num_lines let l:lnum = matchlist(a:lines[l:index], l:line1_pattern) if !empty(l:lnum) && (l:index + 1 < l:num_lines) let l:desc = matchlist(a:lines[l:index + 1], l:line2_pattern) if !empty(l:desc) call add(l:output, { \ 'lnum': l:lnum[1] + 0, \ 'col': 1, \ 'type': 'W', \ 'text': l:desc[2], \ 'code': l:desc[1], \}) endif let l:index = l:index + 2 else let l:index = l:index + 1 endif endwhile return l:output endfunction call ale#linter#Define('python', { \ 'name': 'pydocstyle', \ 'executable': function('ale_linters#python#pydocstyle#GetExecutable'), \ 'cwd': '%s:h', \ 'command': function('ale_linters#python#pydocstyle#GetCommand'), \ 'callback': 'ale_linters#python#pydocstyle#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/python/pyflakes.vim ================================================ " Author: w0rp " Description: pyflakes for python files call ale#Set('python_pyflakes_executable', 'pyflakes') call ale#Set('python_pyflakes_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_pyflakes_auto_pipenv', 0) call ale#Set('python_pyflakes_auto_poetry', 0) function! ale_linters#python#pyflakes#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pyflakes_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_pyflakes_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_pyflakes', ['pyflakes']) endfunction function! ale_linters#python#pyflakes#GetCommand(buffer) abort let l:executable = ale_linters#python#pyflakes#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run pyflakes' \ : '' return ale#Escape(l:executable) \ . l:exec_args \ . ' %t' endfunction function! ale_linters#python#pyflakes#Handle(buffer, lines) abort let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+)?:? (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'pyflakes', \ 'executable': function('ale_linters#python#pyflakes#GetExecutable'), \ 'command': function('ale_linters#python#pyflakes#GetCommand'), \ 'callback': 'ale_linters#python#pyflakes#Handle', \ 'output_stream': 'both', \}) ================================================ FILE: bundle/ale/ale_linters/python/pylama.vim ================================================ " Author: Kevin Locke " Description: pylama for python files call ale#Set('python_pylama_executable', 'pylama') call ale#Set('python_pylama_options', '') call ale#Set('python_pylama_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_pylama_auto_pipenv', 0) call ale#Set('python_pylama_auto_poetry', 0) call ale#Set('python_pylama_change_directory', 1) function! ale_linters#python#pylama#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pylama_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_pylama_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_pylama', ['pylama']) endfunction function! ale_linters#python#pylama#RunWithVersionCheck(buffer) abort let l:executable = ale_linters#python#pylama#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run pylama' \ : '' let l:command = ale#Escape(l:executable) . l:exec_args . ' --version' return ale#semver#RunWithVersionCheck( \ a:buffer, \ l:executable, \ l:command, \ function('ale_linters#python#pylama#GetCommand'), \) endfunction function! ale_linters#python#pylama#GetCwd(buffer) abort if ale#Var(a:buffer, 'python_pylama_change_directory') " Pylama loads its configuration from the current directory only, and " applies file masks using paths relative to the current directory. " Run from project root, if found, otherwise buffer dir. let l:project_root = ale#python#FindProjectRoot(a:buffer) return !empty(l:project_root) ? l:project_root : '%s:h' endif return '' endfunction function! ale_linters#python#pylama#GetCommand(buffer, version) abort let l:executable = ale_linters#python#pylama#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run pylama' \ : '' " json format is added in version 8.1.4 " https://github.com/klen/pylama/blob/develop/Changelog let l:format_json_args = ale#semver#GTE(a:version, [8, 1, 4]) \ ? ' --format json' \ : '' " Note: Using %t to lint changes would be preferable, but many pylama " checks use surrounding paths (e.g. C0103 module name, E0402 relative " import beyond top, etc.). Neither is ideal. return ale#Escape(l:executable) . l:exec_args \ . ale#Pad(ale#Var(a:buffer, 'python_pylama_options')) \ . l:format_json_args \ . ' %s' endfunction function! ale_linters#python#pylama#Handle(buffer, version, lines) abort if empty(a:lines) return [] endif let l:output = ale#python#HandleTraceback(a:lines, 1) " First letter of error code is a pylint-compatible message type " http://pylint.pycqa.org/en/latest/user_guide/output.html#source-code-analysis-section " D is for Documentation (pydocstyle) let l:pylint_type_to_ale_type = { \ 'I': 'I', \ 'R': 'W', \ 'C': 'W', \ 'W': 'W', \ 'E': 'E', \ 'F': 'E', \ 'D': 'W', \} let l:pylint_type_to_ale_sub_type = { \ 'R': 'style', \ 'C': 'style', \ 'D': 'style', \} if ale#semver#GTE(a:version, [8, 1, 4]) try let l:errors = json_decode(join(a:lines, '')) catch return l:output endtry if empty(l:errors) return l:output endif for l:error in l:errors call add(l:output, { \ 'lnum': l:error['lnum'], \ 'col': l:error['col'], \ 'code': l:error['number'], \ 'type': get(l:pylint_type_to_ale_type, l:error['etype'], 'W'), \ 'sub_type': get(l:pylint_type_to_ale_sub_type, l:error['etype'], ''), \ 'text': printf('%s [%s]', l:error['message'], l:error['source']), \}) endfor else let l:pattern = '\v^.{-}:([0-9]+):([0-9]+): +%(([A-Z][0-9]+):? +)?(.*)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': str2nr(l:match[1]), \ 'col': str2nr(l:match[2]), \ 'code': l:match[3], \ 'type': get(l:pylint_type_to_ale_type, l:match[3][0], 'W'), \ 'sub_type': get(l:pylint_type_to_ale_sub_type, l:match[3][0], ''), \ 'text': l:match[4], \}) endfor endif return l:output endfunction call ale#linter#Define('python', { \ 'name': 'pylama', \ 'executable': function('ale_linters#python#pylama#GetExecutable'), \ 'cwd': function('ale_linters#python#pylama#GetCwd'), \ 'command': function('ale_linters#python#pylama#RunWithVersionCheck'), \ 'callback': {buffer, lines -> ale#semver#RunWithVersionCheck( \ buffer, \ ale_linters#python#pylama#GetExecutable(buffer), \ '%e --version', \ {buffer, version -> ale_linters#python#pylama#Handle( \ buffer, \ l:version, \ lines)}, \ )}, \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/python/pylint.vim ================================================ " Author: keith " Description: pylint for python files call ale#Set('python_pylint_executable', 'pylint') call ale#Set('python_pylint_options', '') call ale#Set('python_pylint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_pylint_change_directory', 1) call ale#Set('python_pylint_auto_pipenv', 0) call ale#Set('python_pylint_auto_poetry', 0) call ale#Set('python_pylint_use_msg_id', 0) function! ale_linters#python#pylint#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pylint_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_pylint_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_pylint', ['pylint']) endfunction function! ale_linters#python#pylint#GetCwd(buffer) abort if ale#Var(a:buffer, 'python_pylint_change_directory') " pylint only checks for pylintrc in the packages above its current " directory before falling back to user and global pylintrc. " Run from project root, if found, otherwise buffer dir. let l:project_root = ale#python#FindProjectRoot(a:buffer) return !empty(l:project_root) ? l:project_root : '%s:h' endif return '' endfunction function! ale_linters#python#pylint#GetCommand(buffer, version) abort let l:executable = ale_linters#python#pylint#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run pylint' \ : '' return ale#Escape(l:executable) . l:exec_args \ . ale#Pad(ale#Var(a:buffer, 'python_pylint_options')) \ . ' --output-format text --msg-template="{path}:{line}:{column}: {msg_id} ({symbol}) {msg}" --reports n' \ . (ale#semver#GTE(a:version, [2, 4, 0]) ? ' --from-stdin' : '') \ . ' %s' endfunction function! ale_linters#python#pylint#Handle(buffer, lines) abort let l:output = ale#python#HandleTraceback(a:lines, 10) if !empty(l:output) return l:output endif " Matches patterns like the following: " " test.py:4:4: W0101 (unreachable) Unreachable code let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+): ([[:alnum:]]+) \(([^(]*)\) (.*)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) "let l:failed = append(0, l:match) let l:code = l:match[3] if (l:code is# 'C0303') \ && !ale#Var(a:buffer, 'warn_about_trailing_whitespace') " Skip warnings for trailing whitespace if the option is off. continue endif if l:code is# 'I0011' " Skip 'Locally disabling' message continue endif if ale#Var(a:buffer, 'python_pylint_use_msg_id') is# 1 let l:code_out = l:code else let l:code_out = l:match[4] endif let l:item = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 1, \ 'text': l:match[5], \ 'code': l:code_out, \ 'type': 'W', \} if l:code[:0] is# 'E' let l:item.type = 'E' endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'pylint', \ 'executable': function('ale_linters#python#pylint#GetExecutable'), \ 'lint_file': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale#Var(buffer, 'python_pylint_executable'), \ '%e --version', \ {buffer, version -> !ale#semver#GTE(version, [2, 4, 0])}, \ )}, \ 'cwd': function('ale_linters#python#pylint#GetCwd'), \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale#Var(buffer, 'python_pylint_executable'), \ '%e --version', \ function('ale_linters#python#pylint#GetCommand'), \ )}, \ 'callback': 'ale_linters#python#pylint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/python/pylsp.vim ================================================ " Author: aurieh " Description: A language server for Python call ale#Set('python_pylsp_executable', 'pylsp') call ale#Set('python_pylsp_options', '') call ale#Set('python_pylsp_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_pylsp_auto_pipenv', 0) call ale#Set('python_pylsp_auto_poetry', 0) call ale#Set('python_pylsp_config', {}) function! ale_linters#python#pylsp#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pylsp_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_pylsp_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_pylsp', ['pylsp']) endfunction " Force the cwd of the server to be the same as the project root to " fix issues with treating local files matching first or third party library " names being imported incorrectly. function! ale_linters#python#pylsp#GetCwd(buffer) abort let l:fake_linter = { \ 'name': 'pylsp', \ 'project_root': function('ale#python#FindProjectRoot'), \} let l:root = ale#lsp_linter#FindProjectRoot(a:buffer, l:fake_linter) return !empty(l:root) ? l:root : v:null endfunction function! ale_linters#python#pylsp#GetCommand(buffer) abort let l:executable = ale_linters#python#pylsp#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run pylsp' \ : '' return ale#Escape(l:executable) . l:exec_args . ale#Pad(ale#Var(a:buffer, 'python_pylsp_options')) endfunction call ale#linter#Define('python', { \ 'name': 'pylsp', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#python#pylsp#GetExecutable'), \ 'cwd': function('ale_linters#python#pylsp#GetCwd'), \ 'command': function('ale_linters#python#pylsp#GetCommand'), \ 'project_root': function('ale#python#FindProjectRoot'), \ 'completion_filter': 'ale#completion#python#CompletionItemFilter', \ 'lsp_config': {b -> ale#Var(b, 'python_pylsp_config')}, \}) ================================================ FILE: bundle/ale/ale_linters/python/pyre.vim ================================================ " Author: dsifford " Description: A performant type-checker supporting LSP for Python 3 created by Facebook call ale#Set('python_pyre_executable', 'pyre') call ale#Set('python_pyre_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_pyre_auto_pipenv', 0) call ale#Set('python_pyre_auto_poetry', 0) function! ale_linters#python#pyre#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pyre_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_pyre_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_pyre', ['pyre']) endfunction function! ale_linters#python#pyre#GetCommand(buffer) abort let l:executable = ale_linters#python#pyre#GetExecutable(a:buffer) let l:exec_args = (l:executable =~? 'pipenv\|poetry$' ? ' run pyre' : '') . ' persistent' return ale#Escape(l:executable) . l:exec_args endfunction function! ale_linters#python#pyre#GetCwd(buffer) abort let l:local_config = ale#path#FindNearestFile(a:buffer, '.pyre_configuration.local') return fnamemodify(l:local_config, ':h') endfunction call ale#linter#Define('python', { \ 'name': 'pyre', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#python#pyre#GetExecutable'), \ 'command': function('ale_linters#python#pyre#GetCommand'), \ 'project_root': function('ale#python#FindProjectRoot'), \ 'completion_filter': 'ale#completion#python#CompletionItemFilter', \ 'cwd': function('ale_linters#python#pyre#GetCwd'), \}) ================================================ FILE: bundle/ale/ale_linters/python/pyright.vim ================================================ call ale#Set('python_pyright_executable', 'pyright-langserver') call ale#Set('python_pyright_config', {}) function! ale_linters#python#pyright#GetConfig(buffer) abort let l:config = deepcopy(ale#Var(a:buffer, 'python_pyright_config')) if !has_key(l:config, 'python') let l:config.python = {} endif if type(l:config.python) is v:t_dict " Automatically detect the virtualenv path and use it. if !has_key(l:config.python, 'venvPath') let l:venv = ale#python#FindVirtualenv(a:buffer) if !empty(l:venv) let l:config.python.venvPath = l:venv endif endif " Automatically use the version of Python in virtualenv. if type(get(l:config.python, 'venvPath')) is v:t_string \&& !empty(l:config.python.venvPath) \&& !has_key(l:config.python, 'pythonPath') let l:config.python.pythonPath = ale#path#Simplify( \ l:config.python.venvPath \ . (has('win32') ? '/Scripts/python' : '/bin/python') \) endif endif return l:config endfunction " Force the cwd of the server to be the same as the project root to " fix issues with treating local files matching first or third party library " names being imported incorrectly. function! ale_linters#python#pyright#GetCwd(buffer) abort let l:fake_linter = { \ 'name': 'pyright', \ 'project_root': function('ale#python#FindProjectRoot'), \} let l:root = ale#lsp_linter#FindProjectRoot(a:buffer, l:fake_linter) return !empty(l:root) ? l:root : v:null endfunction call ale#linter#Define('python', { \ 'name': 'pyright', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'python_pyright_executable')}, \ 'cwd': function('ale_linters#python#pyright#GetCwd'), \ 'command': '%e --stdio', \ 'project_root': function('ale#python#FindProjectRoot'), \ 'completion_filter': 'ale#completion#python#CompletionItemFilter', \ 'lsp_config': function('ale_linters#python#pyright#GetConfig'), \}) ================================================ FILE: bundle/ale/ale_linters/python/refurb.vim ================================================ " Author: Yining " Description: refurb as linter for python files call ale#Set('python_refurb_executable', 'refurb') call ale#Set('python_refurb_options', '') call ale#Set('python_refurb_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_refurb_change_directory', 1) call ale#Set('python_refurb_auto_pipenv', 0) call ale#Set('python_refurb_auto_poetry', 0) function! ale_linters#python#refurb#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_refurb_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_refurb_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_refurb', ['refurb']) endfunction function! ale_linters#python#refurb#GetCwd(buffer) abort if ale#Var(a:buffer, 'python_refurb_change_directory') " Run from project root if found, else from buffer dir. let l:project_root = ale#python#FindProjectRoot(a:buffer) return !empty(l:project_root) ? l:project_root : '%s:h' endif return '' endfunction function! ale_linters#python#refurb#GetCommand(buffer) abort let l:executable = ale_linters#python#refurb#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run refurb' \ : '' return ale#Escape(l:executable) . l:exec_args \ . ale#Pad(ale#Var(a:buffer, 'python_refurb_options')) \ . ' %s' endfunction function! ale_linters#python#refurb#Handle(buffer, lines) abort "Example: path/to/file.py:3:17 [FURB109]: Replace `in [x, y, z]` with `in (x, y, z)` let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+)?:?\s*\[FURB(\d+)\]:\s*(.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'code': l:match[3] + 0, \ 'text': l:match[4], \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'refurb', \ 'executable': function('ale_linters#python#refurb#GetExecutable'), \ 'cwd': function('ale_linters#python#refurb#GetCwd'), \ 'command': function('ale_linters#python#refurb#GetCommand'), \ 'callback': 'ale_linters#python#refurb#Handle', \ 'output_stream': 'both', \ 'read_buffer': 0, \}) ================================================ FILE: bundle/ale/ale_linters/python/ruff.vim ================================================ " Author: Yining " Description: ruff as linter for python files call ale#Set('python_ruff_executable', 'ruff') call ale#Set('python_ruff_options', '') call ale#Set('python_ruff_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_ruff_change_directory', 1) call ale#Set('python_ruff_auto_pipenv', 0) call ale#Set('python_ruff_auto_poetry', 0) call ale#fix#registry#Add('ruff', \ 'ale#fixers#ruff#Fix', \ ['python'], \ 'A python linter/fixer for Python written in Rust' \) function! ale_linters#python#ruff#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_ruff_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_ruff_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_ruff', ['ruff']) endfunction function! ale_linters#python#ruff#GetCwd(buffer) abort if ale#Var(a:buffer, 'python_ruff_change_directory') " Run from project root if found, else from buffer dir. let l:project_root = ale#python#FindProjectRoot(a:buffer) return !empty(l:project_root) ? l:project_root : '%s:h' endif return '' endfunction function! ale_linters#python#ruff#GetCommand(buffer, version) abort let l:executable = ale_linters#python#ruff#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run ruff' \ : '' " NOTE: ruff version `0.0.69` supports liniting input from stdin return ale#Escape(l:executable) . l:exec_args \ . ale#Pad(ale#Var(a:buffer, 'python_ruff_options')) \ . ' --format text' \ . (ale#semver#GTE(a:version, [0, 0, 69]) ? ' -' : ' %s') endfunction function! ale_linters#python#ruff#Handle(buffer, lines) abort "Example: path/to/file.py:10:5: E999 SyntaxError: unexpected indent let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+)?:? (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'ruff', \ 'executable': function('ale_linters#python#ruff#GetExecutable'), \ 'cwd': function('ale_linters#python#ruff#GetCwd'), \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale_linters#python#ruff#GetExecutable(buffer), \ '%e --version', \ function('ale_linters#python#ruff#GetCommand'), \ )}, \ 'callback': 'ale_linters#python#ruff#Handle', \ 'output_stream': 'both', \ 'read_buffer': 1, \}) ================================================ FILE: bundle/ale/ale_linters/python/unimport.vim ================================================ " Author: Author: Jon Parise call ale#Set('python_unimport_executable', 'unimport') call ale#Set('python_unimport_options', '') call ale#Set('python_unimport_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_unimport_auto_pipenv', 0) call ale#Set('python_unimport_auto_poetry', 0) function! ale_linters#python#unimport#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_unimport_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_unimport_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_unimport', ['unimport']) endfunction function! ale_linters#python#unimport#GetCommand(buffer) abort let l:executable = ale_linters#python#unimport#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run unimport' \ : '' return '%e' . l:exec_args \ . ale#Pad(ale#Var(a:buffer, 'python_unimport_options')) \ . ' --check' \ . ' %t' endfunction function! ale_linters#python#unimport#GetCwd(buffer) abort let l:project_root = ale#python#FindProjectRoot(a:buffer) return !empty(l:project_root) \ ? l:project_root \ : expand('#' . a:buffer . ':p:h') endfunction function! ale_linters#python#unimport#Handle(buffer, lines) abort let l:output = ale#python#HandleTraceback(a:lines, 10) if !empty(l:output) return l:output endif " Matches lines like: " " urllib.parse at path/to/file.py:9 let l:pattern = '\v(.+) at [^:]+:(\d+)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'type': 'W', \ 'text': 'unused: ' . l:match[1], \}) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'unimport', \ 'executable': function('ale_linters#python#unimport#GetExecutable'), \ 'cwd': function('ale_linters#python#unimport#GetCwd'), \ 'command': function('ale_linters#python#unimport#GetCommand'), \ 'callback': 'ale_linters#python#unimport#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/python/vulture.vim ================================================ " Author: Yauheni Kirylau " Description: vulture linting for python files call ale#Set('python_vulture_executable', 'vulture') call ale#Set('python_vulture_options', '') call ale#Set('python_vulture_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_vulture_change_directory', 1) " The directory to change to before running vulture function! s:GetDir(buffer) abort let l:project_root = ale#python#FindProjectRoot(a:buffer) return !empty(l:project_root) \ ? l:project_root \ : expand('#' . a:buffer . ':p:h') endfunction function! ale_linters#python#vulture#GetExecutable(buffer) abort return ale#python#FindExecutable(a:buffer, 'python_vulture', ['vulture']) endfunction function! ale_linters#python#vulture#GetCwd(buffer) abort if !ale#Var(a:buffer, 'python_vulture_change_directory') return '' endif return s:GetDir(a:buffer) endfunction function! ale_linters#python#vulture#GetCommand(buffer) abort let l:executable = ale_linters#python#vulture#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run vulture' \ : '' let l:lint_dest = ale#Var(a:buffer, 'python_vulture_change_directory') \ ? ' .' \ : ' %s' return ale#Escape(l:executable) . l:exec_args \ . ' ' \ . ale#Var(a:buffer, 'python_vulture_options') \ . l:lint_dest endfunction function! ale_linters#python#vulture#Handle(buffer, lines) abort let l:output = ale#python#HandleTraceback(a:lines, 10) if !empty(l:output) return l:output endif " Matches patterns line the following: let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+): (.*)$' let l:dir = s:GetDir(a:buffer) for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:abspath = ale#path#GetAbsPath(l:dir, l:match[1]) let l:item = { \ 'filename': l:abspath, \ 'lnum': l:match[2] + 0, \ 'text': l:match[3], \ 'type': 'W', \} call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('python', { \ 'name': 'vulture', \ 'executable': function('ale_linters#python#vulture#GetExecutable'), \ 'cwd': function('ale_linters#python#vulture#GetCwd'), \ 'command': function('ale_linters#python#vulture#GetCommand'), \ 'callback': 'ale_linters#python#vulture#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/qml/qmlfmt.vim ================================================ " Author: pylipp (www.github.com/pylipp) " Description: qmlfmt for QML files call ale#Set('qml_qmlfmt_executable', 'qmlfmt') " Find lines like " Error:11:1: Expected token `}' function! ale_linters#qml#qmlfmt#Handle(buffer, lines) abort let l:pattern = '\v^(Error|Warning):(\d+):(\d+): (.+)$' return map(ale#util#GetMatches(a:lines, l:pattern), "{ \ 'lnum': v:val[2] + 0, \ 'col': v:val[3] + 0, \ 'text': v:val[4], \ 'type': v:val[1] is# 'Warning' ? 'W' : 'E', \}") endfunction call ale#linter#Define('qml', { \ 'name': 'qmlfmt', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'qml_qmlfmt_executable')}, \ 'command': '%e -e', \ 'callback': 'ale_linters#qml#qmlfmt#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/qml/qmllint.vim ================================================ " Author: pylipp (www.github.com/pylipp) " Description: qmllint for QML files " Find lines like " /home/foo_user42/code-base/qml/Screen.qml:11 : Expected token `}' function! ale_linters#qml#qmllint#Handle(buffer, lines) abort let l:pattern = '\v^[/_-a-zA-z0-9\. ]+:(\d+) : (.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': l:match[1] + 0, \ 'col': 0, \ 'text': l:match[2], \ 'type': 'E', \} call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('qml', { \ 'name': 'qmllint', \ 'output_stream': 'stderr', \ 'executable': 'qmllint', \ 'command': 'qmllint %t', \ 'callback': 'ale_linters#qml#qmllint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/r/languageserver.vim ================================================ " Author: Eric Zhao <21zhaoe@protonmail.com> " Author: ourigen " Description: Implementation of the Language Server Protocol for R. call ale#Set('r_languageserver_cmd', 'languageserver::run()') call ale#Set('r_languageserver_config', {}) function! ale_linters#r#languageserver#GetCommand(buffer) abort let l:cmd_string = ale#Var(a:buffer, 'r_languageserver_cmd') return 'Rscript --no-save --no-restore --no-site-file --no-init-file -e ' . ale#Escape(l:cmd_string) endfunction function! ale_linters#r#languageserver#GetProjectRoot(buffer) abort let l:project_root = ale#path#FindNearestFile(a:buffer, '.Rprofile') return !empty(l:project_root) ? fnamemodify(l:project_root, ':h') : fnamemodify(a:buffer, ':h') endfunction call ale#linter#Define('r', { \ 'name': 'languageserver', \ 'lsp': 'stdio', \ 'lsp_config': {b -> ale#Var(b, 'r_languageserver_config')}, \ 'executable': 'Rscript', \ 'command': function('ale_linters#r#languageserver#GetCommand'), \ 'project_root': function('ale_linters#r#languageserver#GetProjectRoot') \}) ================================================ FILE: bundle/ale/ale_linters/r/lintr.vim ================================================ " Author: Michel Lang , w0rp , " Fenner Macrae , " ourigen " Description: This file adds support for checking R code with lintr. let g:ale_r_lintr_options = get(g:, 'ale_r_lintr_options', 'with_defaults()') " A reasonable alternative default: " get(g:, 'ale_r_lintr_options', 'with_defaults(object_usage_linter = NULL)') let g:ale_r_lintr_lint_package = get(g:, 'ale_r_lintr_lint_package', 0) function! ale_linters#r#lintr#GetCommand(buffer) abort if ale#Var(a:buffer, 'r_lintr_lint_package') let l:lint_cmd = 'lint_package(cache = FALSE, linters = ' \ . ale#Var(a:buffer, 'r_lintr_options') . ')' else let l:lint_cmd = 'lint(cache = FALSE, commandArgs(TRUE), ' \ . ale#Var(a:buffer, 'r_lintr_options') . ')' endif let l:cmd_string = 'suppressPackageStartupMessages(library(lintr));' \ . l:lint_cmd return 'Rscript --no-save --no-restore --no-site-file --no-init-file -e ' . ale#Escape(l:cmd_string) . ' %t' endfunction call ale#linter#Define('r', { \ 'name': 'lintr', \ 'executable': 'Rscript', \ 'cwd': '%s:h', \ 'command': function('ale_linters#r#lintr#GetCommand'), \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \ 'output_stream': 'both', \}) ================================================ FILE: bundle/ale/ale_linters/racket/langserver.vim ================================================ call ale#linter#Define('racket', { \ 'name': 'racket_langserver', \ 'lsp': 'stdio', \ 'executable': 'racket', \ 'command': '%e -l racket-langserver', \ 'project_root': function('ale#racket#FindProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/racket/raco.vim ================================================ " Author: aqui18 " Description: This file adds support for checking Racket code with raco. " This is the same form of syntax-checking used by DrRacket as well. The " downside is that it will only catch the first error, but none of the " subsequent ones. This is due to how evaluation in Racket works. function! ale_linters#racket#raco#Handle(buffer, lines) abort " Matches patterns " :: " eg: " info.rkt:4:0: infotab-module: not a well-formed definition let l:pattern = '^\(\s\)\@!\(.\+\):\(\d\+\):\(\d\+\): \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'filename': l:match[2], \ 'lnum': l:match[3] + 0, \ 'col': l:match[4] + 0, \ 'type': 'E', \ 'text': l:match[5], \}) endfor return l:output endfunction call ale#linter#Define('racket', { \ 'name': 'raco', \ 'executable': 'raco', \ 'output_stream': 'stderr', \ 'command': 'raco expand %s', \ 'callback': 'ale_linters#racket#raco#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/reason/ls.vim ================================================ " Author: David Buchan-Swanson " Description: Integrate ALE with reason-language-server. call ale#Set('reason_ls_executable', '') function! ale_linters#reason#ls#FindProjectRoot(buffer) abort let l:reason_config = ale#path#FindNearestFile(a:buffer, 'bsconfig.json') if !empty(l:reason_config) return fnamemodify(l:reason_config, ':h') endif return '' endfunction call ale#linter#Define('reason', { \ 'name': 'reason-language-server', \ 'lsp': 'stdio', \ 'executable': {buffer -> ale#Var(buffer, 'reason_ls_executable')}, \ 'command': '%e', \ 'project_root': function('ale_linters#reason#ls#FindProjectRoot'), \ 'language': 'reason', \}) ================================================ FILE: bundle/ale/ale_linters/reason/merlin.vim ================================================ " Author: Andrey Popp -- @andreypopp " Description: Report errors in ReasonML code with Merlin if !exists('g:merlin') finish endif function! ale_linters#reason#merlin#Handle(buffer, lines) abort return merlin#ErrorLocList() endfunction call ale#linter#Define('reason', { \ 'name': 'merlin', \ 'executable': 'ocamlmerlin', \ 'command': 'true', \ 'callback': 'ale_linters#reason#merlin#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/reason/ols.vim ================================================ " Author: Michael Jungo " Description: A language server for Reason call ale#Set('reason_ols_executable', 'ocaml-language-server') call ale#Set('reason_ols_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define('reason', { \ 'name': 'ols', \ 'lsp': 'stdio', \ 'executable': function('ale#handlers#ols#GetExecutable'), \ 'command': function('ale#handlers#ols#GetCommand'), \ 'language': function('ale#handlers#ols#GetLanguage'), \ 'project_root': function('ale#handlers#ols#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/rego/cspell.vim ================================================ scriptencoding utf-8 " Description: cspell support for rego files. call ale#handlers#cspell#DefineLinter('rego') ================================================ FILE: bundle/ale/ale_linters/rego/opacheck.vim ================================================ " Description: opa check for rego files call ale#Set('rego_opacheck_executable', 'opa') call ale#Set('rego_opacheck_options', '') function! ale_linters#rego#opacheck#GetExecutable(buffer) abort return ale#Var(a:buffer, 'rego_opacheck_executable') endfunction function! ale_linters#rego#opacheck#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'rego_opacheck_options') return ale#Escape(ale_linters#rego#opacheck#GetExecutable(a:buffer)) \ . ' check %s --format json ' \ . (!empty(l:options) ? ' ' . l:options : '') endfunction function! ale_linters#rego#opacheck#Handle(buffer, lines) abort let l:output = [] let l:errors = ale#util#FuzzyJSONDecode(a:lines, {'errors': []}) let l:dir = expand('#' . a:buffer . ':p:h') let l:file = expand('#' . a:buffer . ':p') for l:error in l:errors['errors'] if has_key(l:error, 'location') call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:error['location']['file']), \ 'lnum': l:error['location']['row'], \ 'col': l:error['location']['col'], \ 'text': l:error['message'], \ 'code': l:error['code'], \ 'type': 'E', \}) else call add(l:output, { \ 'filename': l:file, \ 'lnum': 0, \ 'col': 0, \ 'text': l:error['message'], \ 'code': l:error['code'], \ 'type': 'E', \}) endif endfor return l:output endfunction call ale#linter#Define('rego', { \ 'name': 'opacheck', \ 'output_stream': 'both', \ 'executable': function('ale_linters#rego#opacheck#GetExecutable'), \ 'command': function('ale_linters#rego#opacheck#GetCommand'), \ 'callback': 'ale_linters#rego#opacheck#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/review/redpen.vim ================================================ " Author: rhysd https://rhysd.github.io " Description: Redpen, a proofreading tool (http://redpen.cc) call ale#linter#Define('review', { \ 'name': 'redpen', \ 'executable': 'redpen', \ 'command': 'redpen -f review -r json %t', \ 'callback': 'ale#handlers#redpen#HandleRedpenOutput', \}) ================================================ FILE: bundle/ale/ale_linters/robot/rflint.vim ================================================ " Author: Samuel Branisa " Description: rflint linting for robot framework files call ale#Set('robot_rflint_executable', 'rflint') function! ale_linters#robot#rflint#GetExecutable(buffer) abort return ale#Var(a:buffer, 'robot_rflint_executable') endfunction function! ale_linters#robot#rflint#GetCommand(buffer) abort let l:executable = ale_linters#robot#rflint#GetExecutable(a:buffer) let l:flags = '--format' \ . ' "{filename}:{severity}:{linenumber}:{char}:{rulename}:{message}"' return l:executable \ . ' ' \ . l:flags \ . ' %s' endfunction function! ale_linters#robot#rflint#Handle(buffer, lines) abort let l:pattern = '\v^([[:alnum:][:punct:]]+):(W|E):([[:digit:]]+):([[:digit:]]+):([[:alnum:]]+):(.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'bufnr': a:buffer, \ 'filename': l:match[1], \ 'type': l:match[2], \ 'lnum': str2nr(l:match[3]), \ 'col': str2nr(l:match[4]), \ 'text': l:match[5], \ 'detail': l:match[6], \}) endfor return l:output endfunction call ale#linter#Define('robot', { \ 'name': 'rflint', \ 'executable': function('ale_linters#robot#rflint#GetExecutable'), \ 'command': function('ale_linters#robot#rflint#GetCommand'), \ 'callback': 'ale_linters#robot#rflint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/rst/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for rst files call ale#handlers#alex#DefineLinter('rst', '--text') ================================================ FILE: bundle/ale/ale_linters/rst/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for ReStructuredText files. call ale#handlers#cspell#DefineLinter('rst') ================================================ FILE: bundle/ale/ale_linters/rst/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for reStructuredText files call ale#linter#Define('rst', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/rst/redpen.vim ================================================ " Author: rhysd https://rhysd.github.io " Description: Redpen, a proofreading tool (http://redpen.cc) call ale#linter#Define('rst', { \ 'name': 'redpen', \ 'executable': 'redpen', \ 'command': 'redpen -f rest -r json %t', \ 'callback': 'ale#handlers#redpen#HandleRedpenOutput', \}) ================================================ FILE: bundle/ale/ale_linters/rst/rstcheck.vim ================================================ " Author: John Nduli https://github.com/jnduli " Description: Rstcheck for reStructuredText files function! ale_linters#rst#rstcheck#Handle(buffer, lines) abort " matches: 'bad_rst.rst:1: (SEVERE/4) Title overline & underline " mismatch.' let l:pattern = '\v^(.+):(\d*): \(([a-zA-Z]*)/\d*\) (.+)$' let l:dir = expand('#' . a:buffer . ':p:h') let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': 0, \ 'type': l:match[3] is# 'SEVERE' ? 'E' : 'W', \ 'text': l:match[4], \}) endfor return l:output endfunction call ale#linter#Define('rst', { \ 'name': 'rstcheck', \ 'executable': 'rstcheck', \ 'cwd': '%s:h', \ 'command': 'rstcheck %t', \ 'callback': 'ale_linters#rst#rstcheck#Handle', \ 'output_stream': 'both', \}) ================================================ FILE: bundle/ale/ale_linters/rst/textlint.vim ================================================ " Author: hokorobi " Description: textlint, a proofreading tool (https://textlint.github.io/) call ale#linter#Define('rst', { \ 'name': 'textlint', \ 'executable': function('ale#handlers#textlint#GetExecutable'), \ 'command': function('ale#handlers#textlint#GetCommand'), \ 'callback': 'ale#handlers#textlint#HandleTextlintOutput', \}) ================================================ FILE: bundle/ale/ale_linters/rst/vale.vim ================================================ " Author: chew-z https://github.com/chew-z " Description: vale for RST files call ale#linter#Define('rst', { \ 'name': 'vale', \ 'executable': 'vale', \ 'command': 'vale --output=JSON %t', \ 'callback': 'ale#handlers#vale#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/rst/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for reStructuredText files call ale#handlers#writegood#DefineLinter('rst') ================================================ FILE: bundle/ale/ale_linters/ruby/brakeman.vim ================================================ " Author: Eddie Lebow https://github.com/elebow " Description: Brakeman, a static analyzer for Rails security call ale#Set('ruby_brakeman_options', '') call ale#Set('ruby_brakeman_executable', 'brakeman') call ale#Set('ruby_brakeman_options', '') function! ale_linters#ruby#brakeman#Handle(buffer, lines) abort let l:output = [] let l:json = ale#util#FuzzyJSONDecode(a:lines, {}) let l:sep = has('win32') ? '\' : '/' " Brakeman always outputs paths relative to the Rails app root let l:rails_root = ale#ruby#FindRailsRoot(a:buffer) for l:warning in get(l:json, 'warnings', []) let l:text = l:warning.warning_type . ' ' . l:warning.message . ' (' . l:warning.confidence . ')' let l:line = l:warning.line != v:null ? l:warning.line : 1 call add(l:output, { \ 'filename': l:rails_root . l:sep . l:warning.file, \ 'lnum': l:line, \ 'type': 'W', \ 'text': l:text, \}) endfor return l:output endfunction function! ale_linters#ruby#brakeman#GetCommand(buffer) abort let l:rails_root = ale#ruby#FindRailsRoot(a:buffer) if l:rails_root is? '' return '' endif let l:executable = ale#Var(a:buffer, 'ruby_brakeman_executable') return ale#ruby#EscapeExecutable(l:executable, 'brakeman') \ . ' -f json -q ' \ . ale#Var(a:buffer, 'ruby_brakeman_options') \ . ' -p ' . ale#Escape(l:rails_root) endfunction call ale#linter#Define('ruby', { \ 'name': 'brakeman', \ 'executable': {b -> ale#Var(b, 'ruby_brakeman_executable')}, \ 'command': function('ale_linters#ruby#brakeman#GetCommand'), \ 'callback': 'ale_linters#ruby#brakeman#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/ruby/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Ruby files. call ale#handlers#cspell#DefineLinter('ruby') ================================================ FILE: bundle/ale/ale_linters/ruby/debride.vim ================================================ " Author: Eddie Lebow https://github.com/elebow " Description: debride, a dead method detector for Ruby files call ale#Set('ruby_debride_executable', 'debride') call ale#Set('ruby_debride_options', '') function! ale_linters#ruby#debride#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_debride_executable') return ale#ruby#EscapeExecutable(l:executable, 'debride') \ . ale#Var(a:buffer, 'ruby_debride_options') \ . ' %s' endfunction function! ale_linters#ruby#debride#HandleOutput(buffer, lines) abort let l:output = [] for l:line in a:lines if l:line !~# '^ ' continue endif let l:elements = split(l:line) let l:method_name = l:elements[0] let l:lnum = split(l:elements[1], ':')[1] call add(l:output, { \ 'lnum': 0 + l:lnum, \ 'text': 'Possible unused method: ' . l:method_name, \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('ruby', { \ 'name': 'debride', \ 'executable': {b -> ale#Var(b, 'ruby_debride_executable')}, \ 'command': function('ale_linters#ruby#debride#GetCommand'), \ 'callback': 'ale_linters#ruby#debride#HandleOutput', \}) ================================================ FILE: bundle/ale/ale_linters/ruby/rails_best_practices.vim ================================================ " Author: Eddie Lebow https://github.com/elebow " Description: rails_best_practices, a code metric tool for rails projects call ale#Set('ruby_rails_best_practices_options', '') call ale#Set('ruby_rails_best_practices_executable', 'rails_best_practices') function! ale_linters#ruby#rails_best_practices#Handle(buffer, lines) abort let l:output = [] for l:warning in ale#util#FuzzyJSONDecode(a:lines, []) if !ale#path#IsBufferPath(a:buffer, l:warning.filename) continue endif call add(l:output, { \ 'lnum': l:warning.line_number + 0, \ 'type': 'W', \ 'text': l:warning.message, \}) endfor return l:output endfunction function! ale_linters#ruby#rails_best_practices#GetCommand(buffer) abort let l:rails_root = ale#ruby#FindRailsRoot(a:buffer) if l:rails_root is? '' return '' endif let l:executable = ale#Var(a:buffer, 'ruby_rails_best_practices_executable') let l:output_file = has('win32') ? '%t ' : '/dev/stdout ' let l:cat_file = has('win32') ? '; type %t' : '' return ale#ruby#EscapeExecutable(l:executable, 'rails_best_practices') \ . ' --silent -f json --output-file ' . l:output_file \ . ale#Var(a:buffer, 'ruby_rails_best_practices_options') \ . ale#Escape(l:rails_root) \ . l:cat_file endfunction call ale#linter#Define('ruby', { \ 'name': 'rails_best_practices', \ 'executable': {b -> ale#Var(b, 'ruby_rails_best_practices_executable')}, \ 'command': function('ale_linters#ruby#rails_best_practices#GetCommand'), \ 'callback': 'ale_linters#ruby#rails_best_practices#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/ruby/reek.vim ================================================ " Author: Eddie Lebow https://github.com/elebow " Description: Reek, a code smell detector for Ruby files call ale#Set('ruby_reek_show_context', 0) call ale#Set('ruby_reek_show_wiki_link', 0) call ale#Set('ruby_reek_options', '') call ale#Set('ruby_reek_executable', 'reek') function! ale_linters#ruby#reek#GetCommand(buffer, version) abort let l:executable = ale#Var(a:buffer, 'ruby_reek_executable') " Tell reek what the filename is if the version of reek is new enough. let l:display_name_args = ale#semver#GTE(a:version, [5, 0, 0]) \ ? ' --stdin-filename %s' \ : '' return ale#ruby#EscapeExecutable(l:executable, 'reek') \ . ' -f json --no-progress --no-color --force-exclusion' \ . l:display_name_args endfunction function! s:GetDocumentationLink(error) abort return get(a:error, 'documentation_link', get(a:error, 'wiki_link', '')) endfunction function! s:BuildText(buffer, error) abort let l:parts = [] if ale#Var(a:buffer, 'ruby_reek_show_context') call add(l:parts, a:error.context) endif call add(l:parts, a:error.message) if ale#Var(a:buffer, 'ruby_reek_show_wiki_link') call add(l:parts, '[' . s:GetDocumentationLink(a:error) . ']') endif return join(l:parts, ' ') endfunction function! ale_linters#ruby#reek#Handle(buffer, lines) abort let l:output = [] for l:error in ale#util#FuzzyJSONDecode(a:lines, []) for l:location in l:error.lines call add(l:output, { \ 'lnum': l:location, \ 'type': 'W', \ 'text': s:BuildText(a:buffer, l:error), \ 'code': l:error.smell_type, \}) endfor endfor return l:output endfunction call ale#linter#Define('ruby', { \ 'name': 'reek', \ 'executable': {b -> ale#Var(b, 'ruby_reek_executable')}, \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale#Var(buffer, 'ruby_reek_executable'), \ '%e --version', \ function('ale_linters#ruby#reek#GetCommand'), \ )}, \ 'callback': 'ale_linters#ruby#reek#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/ruby/rubocop.vim ================================================ " Author: ynonp - https://github.com/ynonp, Eddie Lebow https://github.com/elebow " Description: RuboCop, a code style analyzer for Ruby files call ale#Set('ruby_rubocop_executable', 'rubocop') call ale#Set('ruby_rubocop_options', '') function! ale_linters#ruby#rubocop#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_rubocop_executable') return ale#ruby#EscapeExecutable(l:executable, 'rubocop') \ . ' --format json --force-exclusion ' \ . ale#Var(a:buffer, 'ruby_rubocop_options') \ . ' --stdin %s' endfunction function! ale_linters#ruby#rubocop#GetType(severity) abort if a:severity is? 'convention' \|| a:severity is? 'warning' \|| a:severity is? 'refactor' return 'W' endif return 'E' endfunction call ale#linter#Define('ruby', { \ 'name': 'rubocop', \ 'executable': {b -> ale#Var(b, 'ruby_rubocop_executable')}, \ 'command': function('ale_linters#ruby#rubocop#GetCommand'), \ 'callback': 'ale#ruby#HandleRubocopOutput', \}) ================================================ FILE: bundle/ale/ale_linters/ruby/ruby.vim ================================================ " Author: Brandon Roehl - https://github.com/BrandonRoehl " Description: Ruby MRI for Ruby files call ale#Set('ruby_ruby_executable', 'ruby') call ale#linter#Define('ruby', { \ 'name': 'ruby', \ 'executable': {b -> ale#Var(b, 'ruby_ruby_executable')}, \ 'command': '%e -w -c %t', \ 'output_stream': 'stderr', \ 'callback': 'ale#handlers#ruby#HandleSyntaxErrors', \}) ================================================ FILE: bundle/ale/ale_linters/ruby/solargraph.vim ================================================ " Author: Horacio Sanson - https://github.com/hsanson " Description: Solargraph Language Server https://solargraph.org/ " " Author: Devon Meunier " Description: updated to use stdio call ale#Set('ruby_solargraph_executable', 'solargraph') call ale#Set('ruby_solargraph_options', {}) function! ale_linters#ruby#solargraph#GetCommand(buffer) abort return '%e' . ale#Pad('stdio') endfunction call ale#linter#Define('ruby', { \ 'name': 'solargraph', \ 'lsp': 'stdio', \ 'language': 'ruby', \ 'executable': {b -> ale#Var(b, 'ruby_solargraph_executable')}, \ 'command': function('ale_linters#ruby#solargraph#GetCommand'), \ 'project_root': function('ale#ruby#FindProjectRoot'), \ 'initialization_options': {b -> ale#Var(b, 'ruby_solargraph_options')}, \}) ================================================ FILE: bundle/ale/ale_linters/ruby/sorbet.vim ================================================ call ale#Set('ruby_sorbet_executable', 'srb') call ale#Set('ruby_sorbet_options', '') call ale#Set('ruby_sorbet_enable_watchman', 0) function! ale_linters#ruby#sorbet#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_sorbet_executable') let l:options = ale#Var(a:buffer, 'ruby_sorbet_options') let l:enable_watchman = ale#Var(a:buffer, 'ruby_sorbet_enable_watchman') return ale#ruby#EscapeExecutable(l:executable, 'srb') \ . ' tc' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --lsp' \ . (l:enable_watchman ? '' : ' --disable-watchman') endfunction call ale#linter#Define('ruby', { \ 'name': 'sorbet', \ 'aliases': ['srb'], \ 'lsp': 'stdio', \ 'language': 'ruby', \ 'executable': {b -> ale#Var(b, 'ruby_sorbet_executable')}, \ 'command': function('ale_linters#ruby#sorbet#GetCommand'), \ 'project_root': function('ale#ruby#FindProjectRoot') \}) ================================================ FILE: bundle/ale/ale_linters/ruby/standardrb.vim ================================================ " Author: Justin Searls https://github.com/searls, ynonp - https://github.com/ynonp, Eddie Lebow https://github.com/elebow " based on the ale rubocop linter " Description: StandardRB - Ruby Style Guide, with linter & automatic code fixer call ale#Set('ruby_standardrb_executable', 'standardrb') call ale#Set('ruby_standardrb_options', '') function! ale_linters#ruby#standardrb#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_standardrb_executable') return ale#ruby#EscapeExecutable(l:executable, 'standardrb') \ . ' --format json --force-exclusion ' \ . ale#Var(a:buffer, 'ruby_standardrb_options') \ . ' --stdin %s' endfunction " standardrb is based on RuboCop so the callback is the same call ale#linter#Define('ruby', { \ 'name': 'standardrb', \ 'executable': {b -> ale#Var(b, 'ruby_standardrb_executable')}, \ 'command': function('ale_linters#ruby#standardrb#GetCommand'), \ 'callback': 'ale#ruby#HandleRubocopOutput', \}) ================================================ FILE: bundle/ale/ale_linters/rust/analyzer.vim ================================================ " Author: Jon Gjengset " Description: The next generation language server for Rust call ale#Set('rust_analyzer_executable', 'rust-analyzer') call ale#Set('rust_analyzer_config', {}) function! ale_linters#rust#analyzer#GetCommand(buffer) abort return '%e' endfunction function! ale_linters#rust#analyzer#GetProjectRoot(buffer) abort " Try to find nearest Cargo.toml for cargo projects let l:cargo_file = ale#path#FindNearestFile(a:buffer, 'Cargo.toml') if !empty(l:cargo_file) return fnamemodify(l:cargo_file, ':h') endif " Try to find nearest rust-project.json for non-cargo projects let l:rust_project = ale#path#FindNearestFile(a:buffer, 'rust-project.json') if !empty(l:rust_project) return fnamemodify(l:rust_project, ':h') endif return '' endfunction call ale#linter#Define('rust', { \ 'name': 'analyzer', \ 'lsp': 'stdio', \ 'initialization_options': {b -> ale#Var(b, 'rust_analyzer_config')}, \ 'executable': {b -> ale#Var(b, 'rust_analyzer_executable')}, \ 'command': function('ale_linters#rust#analyzer#GetCommand'), \ 'project_root': function('ale_linters#rust#analyzer#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/rust/cargo.vim ================================================ " Author: Daniel Schemala , " Ivan Petkov " Description: rustc invoked by cargo for rust files call ale#Set('rust_cargo_use_check', 1) call ale#Set('rust_cargo_check_all_targets', 0) call ale#Set('rust_cargo_check_examples', 0) call ale#Set('rust_cargo_check_tests', 0) call ale#Set('rust_cargo_avoid_whole_workspace', 1) call ale#Set('rust_cargo_default_feature_behavior', 'default') call ale#Set('rust_cargo_include_features', '') call ale#Set('rust_cargo_use_clippy', 0) call ale#Set('rust_cargo_clippy_options', '') call ale#Set('rust_cargo_target_dir', '') function! ale_linters#rust#cargo#GetCargoExecutable(bufnr) abort if ale#path#FindNearestFile(a:bufnr, 'Cargo.toml') isnot# '' return 'cargo' else " if there is no Cargo.toml file, we don't use cargo even if it exists, " so we return '', because executable('') apparently always fails return '' endif endfunction function! ale_linters#rust#cargo#GetCwd(buffer) abort if ale#Var(a:buffer, 'rust_cargo_avoid_whole_workspace') let l:nearest_cargo = ale#path#FindNearestFile(a:buffer, 'Cargo.toml') let l:nearest_cargo_dir = fnamemodify(l:nearest_cargo, ':h') if l:nearest_cargo_dir isnot# '.' return l:nearest_cargo_dir endif endif return '' endfunction function! ale_linters#rust#cargo#GetCommand(buffer, version) abort let l:use_check = ale#Var(a:buffer, 'rust_cargo_use_check') \ && ale#semver#GTE(a:version, [0, 17, 0]) let l:use_all_targets = ale#Var(a:buffer, 'rust_cargo_check_all_targets') \ && ale#semver#GTE(a:version, [0, 22, 0]) let l:use_examples = ale#Var(a:buffer, 'rust_cargo_check_examples') \ && ale#semver#GTE(a:version, [0, 22, 0]) let l:use_tests = ale#Var(a:buffer, 'rust_cargo_check_tests') \ && ale#semver#GTE(a:version, [0, 22, 0]) let l:target_dir = ale#Var(a:buffer, 'rust_cargo_target_dir') let l:use_target_dir = !empty(l:target_dir) \ && ale#semver#GTE(a:version, [0, 17, 0]) let l:include_features = ale#Var(a:buffer, 'rust_cargo_include_features') if !empty(l:include_features) let l:include_features = ' --features ' . ale#Escape(l:include_features) endif let l:default_feature_behavior = ale#Var(a:buffer, 'rust_cargo_default_feature_behavior') if l:default_feature_behavior is# 'all' let l:include_features = '' let l:default_feature = ' --all-features' elseif l:default_feature_behavior is# 'none' let l:default_feature = ' --no-default-features' else let l:default_feature = '' endif let l:subcommand = l:use_check ? 'check' : 'build' let l:clippy_options = '' if ale#Var(a:buffer, 'rust_cargo_use_clippy') let l:subcommand = 'clippy' let l:clippy_options = ale#Var(a:buffer, 'rust_cargo_clippy_options') if l:clippy_options =~# '^-- ' let l:clippy_options = join(split(l:clippy_options, '-- ')) endif if l:clippy_options isnot# '' let l:clippy_options = ' -- ' . l:clippy_options endif endif return 'cargo ' \ . l:subcommand \ . (l:use_all_targets ? ' --all-targets' : '') \ . (l:use_examples ? ' --examples' : '') \ . (l:use_tests ? ' --tests' : '') \ . (l:use_target_dir ? (' --target-dir ' . ale#Escape(l:target_dir)) : '') \ . ' --frozen --message-format=json -q' \ . l:default_feature \ . l:include_features \ . l:clippy_options endfunction call ale#linter#Define('rust', { \ 'name': 'cargo', \ 'executable': function('ale_linters#rust#cargo#GetCargoExecutable'), \ 'cwd': function('ale_linters#rust#cargo#GetCwd'), \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale_linters#rust#cargo#GetCargoExecutable(buffer), \ '%e --version', \ function('ale_linters#rust#cargo#GetCommand'), \ )}, \ 'callback': 'ale#handlers#rust#HandleRustErrors', \ 'output_stream': 'both', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/rust/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Rust files. call ale#handlers#cspell#DefineLinter('rust') ================================================ FILE: bundle/ale/ale_linters/rust/rls.vim ================================================ " Author: w0rp " Description: A language server for Rust call ale#Set('rust_rls_executable', 'rls') call ale#Set('rust_rls_toolchain', '') call ale#Set('rust_rls_config', {}) function! ale_linters#rust#rls#GetCommand(buffer) abort let l:toolchain = ale#Var(a:buffer, 'rust_rls_toolchain') return '%e' . (!empty(l:toolchain) ? ' +' . ale#Escape(l:toolchain) : '') endfunction function! ale_linters#rust#rls#GetProjectRoot(buffer) abort let l:cargo_file = ale#path#FindNearestFile(a:buffer, 'Cargo.toml') return !empty(l:cargo_file) ? fnamemodify(l:cargo_file, ':h') : '' endfunction call ale#linter#Define('rust', { \ 'name': 'rls', \ 'lsp': 'stdio', \ 'lsp_config': {b -> ale#Var(b, 'rust_rls_config')}, \ 'executable': {b -> ale#Var(b, 'rust_rls_executable')}, \ 'command': function('ale_linters#rust#rls#GetCommand'), \ 'project_root': function('ale_linters#rust#rls#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/rust/rustc.vim ================================================ " Author: Daniel Schemala " Description: rustc for rust files call ale#Set('rust_rustc_options', '--emit=mir -o /dev/null') function! ale_linters#rust#rustc#RustcCommand(buffer) abort " Try to guess the library search path. If the project is managed by cargo, " it's usually /target/debug/deps/ or " /target/release/deps/ let l:cargo_file = ale#path#FindNearestFile(a:buffer, 'Cargo.toml') if l:cargo_file isnot# '' let l:root = fnamemodify(l:cargo_file, ':h') let l:dependencies = ' -L ' . ale#Escape(ale#path#GetAbsPath(l:root, 'target/debug/deps')) \ . ' -L ' . ale#Escape(ale#path#GetAbsPath(l:root, 'target/release/deps')) else let l:dependencies = '' endif let l:options = ale#Var(a:buffer, 'rust_rustc_options') return 'rustc --error-format=json' \ . (!empty(l:options) ? ' ' . l:options : '') \ . l:dependencies . ' -' endfunction call ale#linter#Define('rust', { \ 'name': 'rustc', \ 'executable': 'rustc', \ 'command': function('ale_linters#rust#rustc#RustcCommand'), \ 'callback': 'ale#handlers#rust#HandleRustErrors', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/salt/salt_lint.vim ================================================ " Author: Benjamin BINIER " Description: salt-lint, saltstack linter call ale#Set('salt_salt_lint_executable', 'salt-lint') call ale#Set('salt_salt_lint_options', '') function! ale_linters#salt#salt_lint#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'salt_salt_lint_options')) \ . ' --json' endfunction function! ale_linters#salt#salt_lint#Handle(buffer, lines) abort let l:output = [] for l:error in ale#util#FuzzyJSONDecode(a:lines, []) call add(l:output, { \ 'lnum': l:error.linenumber + 0, \ 'code': l:error.id + 0, \ 'text': l:error.message, \ 'type': l:error.severity is# 'HIGH' ? 'E' : 'W', \}) endfor return l:output endfunction call ale#linter#Define('salt', { \ 'name': 'salt_lint', \ 'aliases': ['salt-lint'], \ 'executable': {b -> ale#Var(b, 'salt_salt_lint_executable')}, \ 'command': function('ale_linters#salt#salt_lint#GetCommand'), \ 'callback': 'ale_linters#salt#salt_lint#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/sass/sasslint.vim ================================================ " Author: sQVe - https://github.com/sQVe call ale#Set('sass_sasslint_executable', 'sass-lint') call ale#Set('sass_sasslint_options', '') call ale#Set('sass_sasslint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#sass#sasslint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'sass_sasslint', [ \ 'node_modules/sass-lint/bin/sass-lint.js', \ 'node_modules/.bin/sass-lint', \]) endfunction function! ale_linters#sass#sasslint#GetCommand(buffer) abort let l:executable = ale_linters#sass#sasslint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'sass_sasslint_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' -v -q -f compact %t' endfunction call ale#linter#Define('sass', { \ 'name': 'sasslint', \ 'executable': function('ale_linters#sass#sasslint#GetExecutable'), \ 'command': function('ale_linters#sass#sasslint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleCSSLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/sass/stylelint.vim ================================================ " Author: diartyz call ale#Set('sass_stylelint_executable', 'stylelint') call ale#Set('sass_stylelint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define('sass', { \ 'name': 'stylelint', \ 'executable': {b -> ale#path#FindExecutable(b, 'sass_stylelint', [ \ 'node_modules/.bin/stylelint', \ ])}, \ 'command': '%e --stdin-filename %s', \ 'callback': 'ale#handlers#css#HandleStyleLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/scala/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Scala files. call ale#handlers#cspell#DefineLinter('scala') ================================================ FILE: bundle/ale/ale_linters/scala/fsc.vim ================================================ " Author: Nils Leuzinger - https://github.com/PawkyPenguin " Description: Basic scala support using fsc function! s:IsSbt(buffer) abort return index(split(getbufvar(a:buffer, '&filetype'), '\.'), 'sbt') >= 0 endfunction call ale#linter#Define('scala', { \ 'name': 'fsc', \ 'executable': {buf -> s:IsSbt(buf) ? '' : 'fsc'}, \ 'command': '%e -Ystop-after:parser %t', \ 'callback': 'ale#handlers#scala#HandleScalacLintFormat', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/scala/metals.vim ================================================ " Author: Jeffrey Lau - https://github.com/zoonfafer " Description: Metals Language Server for Scala https://scalameta.org/metals/ call ale#Set('scala_metals_executable', 'metals-vim') call ale#Set('scala_metals_project_root', '') function! ale_linters#scala#metals#GetProjectRoot(buffer) abort let l:project_root = ale#Var(a:buffer, 'scala_metals_project_root') if !empty(l:project_root) return l:project_root endif let l:potential_roots = [ \ 'build.sc', \ 'build.sbt', \ '.bloop', \ '.metals', \] for l:root in l:potential_roots let l:project_root = ale#path#ResolveLocalPath( \ a:buffer, \ l:root, \ '' \) if !empty(l:project_root) return fnamemodify( \ l:project_root, \ ':h', \) endif endfor return '' endfunction function! ale_linters#scala#metals#GetCommand(buffer) abort return '%e' . ale#Pad('stdio') endfunction call ale#linter#Define('scala', { \ 'name': 'metals', \ 'lsp': 'stdio', \ 'language': 'scala', \ 'executable': {b -> ale#Var(b, 'scala_metals_executable')}, \ 'command': function('ale_linters#scala#metals#GetCommand'), \ 'project_root': function('ale_linters#scala#metals#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/scala/sbtserver.vim ================================================ " Author: ophirr33 " Description: TCP lsp client for sbt Server call ale#Set('scala_sbtserver_address', '127.0.0.1:4273') call ale#Set('scala_sbtserver_project_root', '') function! ale_linters#scala#sbtserver#GetProjectRoot(buffer) abort let l:project_root = ale#Var(a:buffer, 'scala_sbtserver_project_root') if l:project_root is? '' let l:project_root = ale#path#FindNearestFile(a:buffer, 'build.sbt') return !empty(l:project_root) ? fnamemodify(l:project_root, ':h') : '' endif return l:project_root endfunction function! ale_linters#scala#sbtserver#GetAddress(buffer) abort let l:address = ale#Var(a:buffer, 'scala_sbtserver_address') return l:address endfunction call ale#linter#Define('scala', { \ 'name': 'sbtserver', \ 'lsp': 'socket', \ 'address': function('ale_linters#scala#sbtserver#GetAddress'), \ 'language': 'scala', \ 'project_root': function('ale_linters#scala#sbtserver#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/scala/scalac.vim ================================================ " Author: Zoltan Kalmar - https://github.com/kalmiz, " w0rp " Description: Basic scala support using scalac function! s:IsSbt(buffer) abort return index(split(getbufvar(a:buffer, '&filetype'), '\.'), 'sbt') >= 0 endfunction call ale#linter#Define('scala', { \ 'name': 'scalac', \ 'executable': {buf -> s:IsSbt(buf) ? '' : 'scalac'}, \ 'command': '%e -Ystop-after:parser %t', \ 'callback': 'ale#handlers#scala#HandleScalacLintFormat', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/scala/scalastyle.vim ================================================ " Author: Kevin Kays - https://github.com/okkays " Description: Support for the scalastyle checker. call ale#Set('scala_scalastyle_options', '') " TODO: Remove support for the old option name in ALE 3.0. call ale#Set('scala_scalastyle_config', \ get(g:, 'ale_scalastyle_config_loc', '') \) function! ale_linters#scala#scalastyle#Handle(buffer, lines) abort " Look for help output from scalastyle first, which indicates that no " configuration file was found. for l:line in a:lines[:10] if l:line =~# '-c, --config' return [{ \ 'lnum': 1, \ 'text': '(See :help ale-scala-scalastyle)' \ . ' No scalastyle configuration file was found.', \}] endif endfor " Matches patterns like the following: " " warning file=/home/blurble/Doop.scala message=Missing or badly formed ScalaDoc: Extra @param foobles line=190 let l:patterns = [ \ '^\(.\+\) .\+ message=\(.\+\) line=\(\d\+\)$', \ '^\(.\+\) .\+ message=\(.\+\) line=\(\d\+\) column=\(\d\+\)$', \] let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:patterns) let l:args = { \ 'lnum': l:match[3] + 0, \ 'type': l:match[1] =~? 'error' ? 'E' : 'W', \ 'text': l:match[2] \} if !empty(l:match[4]) let l:args['col'] = l:match[4] + 1 endif call add(l:output, l:args) endfor return l:output endfunction function! ale_linters#scala#scalastyle#GetCommand(buffer) abort " Search for scalastyle config in parent directories. let l:scalastyle_config = '' let l:potential_configs = [ \ 'scalastyle_config.xml', \ 'scalastyle-config.xml' \] for l:config in l:potential_configs let l:scalastyle_config = ale#path#ResolveLocalPath( \ a:buffer, \ l:config, \ '' \) if !empty(l:scalastyle_config) break endif endfor " If all else fails, try the global config. if empty(l:scalastyle_config) let l:scalastyle_config = ale#Var(a:buffer, 'scala_scalastyle_config') endif return 'scalastyle' \ . (!empty(l:scalastyle_config) ? ' --config ' . ale#Escape(l:scalastyle_config) : '') \ . ale#Pad(ale#Var(a:buffer, 'scala_scalastyle_options')) \ . ' %t' endfunction call ale#linter#Define('scala', { \ 'name': 'scalastyle', \ 'executable': 'scalastyle', \ 'output_stream': 'stdout', \ 'command': function('ale_linters#scala#scalastyle#GetCommand'), \ 'callback': 'ale_linters#scala#scalastyle#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/scss/sasslint.vim ================================================ " Author: sQVe - https://github.com/sQVe call ale#Set('scss_sasslint_executable', 'sass-lint') call ale#Set('scss_sasslint_options', '') call ale#Set('scss_sasslint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#scss#sasslint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'scss_sasslint', [ \ 'node_modules/sass-lint/bin/sass-lint.js', \ 'node_modules/.bin/sass-lint', \]) endfunction function! ale_linters#scss#sasslint#GetCommand(buffer) abort let l:executable = ale_linters#scss#sasslint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'scss_sasslint_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' -v -q -f compact %t' endfunction call ale#linter#Define('scss', { \ 'name': 'sasslint', \ 'executable': function('ale_linters#scss#sasslint#GetExecutable'), \ 'command': function('ale_linters#scss#sasslint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleCSSLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/scss/scsslint.vim ================================================ " Author: w0rp " Description: This file add scsslint support for SCSS support function! ale_linters#scss#scsslint#Handle(buffer, lines) abort " Matches patterns like the following: " " test.scss:2:1 [W] Indentation: Line should be indented 2 spaces, but was indented 4 spaces let l:pattern = '^.*:\(\d\+\):\(\d*\) \[\([^\]]\+\)\] \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) if !ale#Var(a:buffer, 'warn_about_trailing_whitespace') \&& l:match[4] =~# '^TrailingWhitespace' " Skip trailing whitespace warnings if that option is off. continue endif call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[4], \ 'type': l:match[3] is# 'E' ? 'E' : 'W', \}) endfor return l:output endfunction call ale#linter#Define('scss', { \ 'name': 'scsslint', \ 'executable': 'scss-lint', \ 'command': 'scss-lint --stdin-file-path=%s', \ 'callback': 'ale_linters#scss#scsslint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/scss/stylelint.vim ================================================ " Author: diartyz call ale#Set('scss_stylelint_executable', 'stylelint') call ale#Set('scss_stylelint_options', '') call ale#Set('scss_stylelint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#scss#stylelint#GetCommand(buffer) abort return '%e ' . ale#Pad(ale#Var(a:buffer, 'scss_stylelint_options')) \ . ' --stdin-filename %s' endfunction call ale#linter#Define('scss', { \ 'name': 'stylelint', \ 'executable': {b -> ale#path#FindExecutable(b, 'scss_stylelint', [ \ 'node_modules/.bin/stylelint', \ ])}, \ 'command': function('ale_linters#scss#stylelint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleStyleLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/sh/bashate.vim ================================================ " Author: hsanson " Description: Lints sh files using bashate " URL: https://github.com/openstack/bashate call ale#Set('sh_bashate_executable', 'bashate') call ale#Set('sh_bashate_options', '') function! ale_linters#sh#bashate#GetExecutable(buffer) abort return ale#Var(a:buffer, 'sh_bashate_executable') endfunction function! ale_linters#sh#bashate#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'sh_bashate_options') let l:executable = ale_linters#sh#bashate#GetExecutable(a:buffer) return ale#Escape(l:executable) . ' ' . l:options . ' ' . '%t' endfunction function! ale_linters#sh#bashate#Handle(buffer, lines) abort " Matches patterns line the following: " " /path/to/script/file:694:1: E003 Indent not multiple of 4 let l:pattern = ':\(\d\+\):\(\d\+\): \(.*\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': str2nr(l:match[1]), \ 'col': str2nr(l:match[2]), \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('sh', { \ 'name': 'bashate', \ 'output_stream': 'stdout', \ 'executable': function('ale_linters#sh#bashate#GetExecutable'), \ 'command': function('ale_linters#sh#bashate#GetCommand'), \ 'callback': 'ale_linters#sh#bashate#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/sh/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for shell scripts. call ale#handlers#cspell#DefineLinter('sh') ================================================ FILE: bundle/ale/ale_linters/sh/language_server.vim ================================================ " Author: Christian Höltje (https://docwhat.org/) " Description: BASH Language server integration for ALE scriptencoding utf-8 call ale#Set('sh_language_server_executable', 'bash-language-server') call ale#Set('sh_language_server_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#sh#language_server#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'sh_language_server', [ \ 'node_modules/.bin/bash-language-server', \]) endfunction function! ale_linters#sh#language_server#GetCommand(buffer) abort let l:exe = ale#Escape(ale_linters#sh#language_server#GetExecutable(a:buffer)) return l:exe . ' start' endfunction function! ale_linters#sh#language_server#GetProjectRoot(buffer) abort let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction call ale#linter#Define('sh', { \ 'name': 'language_server', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#sh#language_server#GetExecutable'), \ 'command': function('ale_linters#sh#language_server#GetCommand'), \ 'project_root': function('ale_linters#sh#language_server#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/sh/shell.vim ================================================ " Author: w0rp " Description: Lints shell files by invoking the shell with -n " Backwards compatibility if exists('g:ale_linters_sh_shell_default_shell') let g:ale_sh_shell_default_shell = g:ale_linters_sh_shell_default_shell endif " This option can be changed to change the default shell when the shell " cannot be taken from the hashbang line. if !exists('g:ale_sh_shell_default_shell') let g:ale_sh_shell_default_shell = fnamemodify($SHELL, ':t') if g:ale_sh_shell_default_shell is# '' || g:ale_sh_shell_default_shell is# 'fish' let g:ale_sh_shell_default_shell = 'bash' endif endif function! ale_linters#sh#shell#GetExecutable(buffer) abort let l:shell_type = ale#handlers#sh#GetShellType(a:buffer) if !empty(l:shell_type) return l:shell_type endif return ale#Var(a:buffer, 'sh_shell_default_shell') endfunction function! ale_linters#sh#shell#GetCommand(buffer) abort return ale_linters#sh#shell#GetExecutable(a:buffer) . ' -n %t' endfunction function! ale_linters#sh#shell#Handle(buffer, lines) abort " Matches patterns line the following: " " bash: line 13: syntax error near unexpected token `d' " bash:行0: 未预期的符号“done”附近有语法错误 " bash: 列 90: 尋找匹配的「"」時遇到了未預期的檔案結束符 " sh: 11: Syntax error: "(" unexpected let l:pattern = '\v([^:]+:\D*)(\d+): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': str2nr(l:match[2]), \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('sh', { \ 'name': 'shell', \ 'output_stream': 'stderr', \ 'executable': function('ale_linters#sh#shell#GetExecutable'), \ 'command': function('ale_linters#sh#shell#GetCommand'), \ 'callback': 'ale_linters#sh#shell#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/sh/shellcheck.vim ================================================ " Author: w0rp " Description: shellcheck linter for shell scripts. call ale#handlers#shellcheck#DefineLinter('sh') ================================================ FILE: bundle/ale/ale_linters/slim/slimlint.vim ================================================ " Author: Markus Doits - https://github.com/doits " Description: slim-lint for Slim files function! ale_linters#slim#slimlint#GetCommand(buffer) abort let l:command = 'slim-lint %t' let l:rubocop_config = ale#path#FindNearestFile(a:buffer, '.rubocop.yml') " Set SLIM_LINT_RUBOCOP_CONF variable as it is needed for slim-lint to " pick up the rubocop config. " " See https://github.com/sds/slim-lint/blob/master/lib/slim_lint/linter/README.md#rubocop if !empty(l:rubocop_config) if has('win32') let l:command = 'set SLIM_LINT_RUBOCOP_CONF=' . ale#Escape(l:rubocop_config) . ' && ' . l:command else let l:command = 'SLIM_LINT_RUBOCOP_CONF=' . ale#Escape(l:rubocop_config) . ' ' . l:command endif endif return l:command endfunction function! ale_linters#slim#slimlint#Handle(buffer, lines) abort " Matches patterns like the following: " :5 [W] LineLength: Line is too long. [150/120] let l:pattern = '\v^.*:(\d+) \[([EW])\] (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': l:match[1] + 0, \ 'type': l:match[2], \ 'text': l:match[3] \} let l:code_match = matchlist(l:item.text, '\v^([^:]+): (.+)$') if !empty(l:code_match) let l:item.code = l:code_match[1] let l:item.text = l:code_match[2] endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('slim', { \ 'name': 'slimlint', \ 'executable': 'slim-lint', \ 'command': function('ale_linters#slim#slimlint#GetCommand'), \ 'callback': 'ale_linters#slim#slimlint#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/sml/smlnj.vim ================================================ " Author: Paulo Alem , Jake Zimmerman " Description: Single-file SML checking with SML/NJ compiler call ale#linter#Define('sml', { \ 'name': 'smlnj', \ 'executable': function('ale#handlers#sml#GetExecutableSmlnjFile'), \ 'command': 'sml', \ 'callback': 'ale#handlers#sml#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/sml/smlnj_cm.vim ================================================ " Author: Jake Zimmerman " Description: SML checking with SML/NJ Compilation Manager function! ale_linters#sml#smlnj_cm#GetCommand(buffer) abort let l:cmfile = ale#handlers#sml#GetCmFile(a:buffer) return 'sml -m ' . l:cmfile . ' < /dev/null' endfunction " Using CM requires that we set "lint_file: 1", since it reads the files " from the disk itself. call ale#linter#Define('sml', { \ 'name': 'smlnj_cm', \ 'aliases': ['smlnj-cm'], \ 'executable': function('ale#handlers#sml#GetExecutableSmlnjCm'), \ 'lint_file': 1, \ 'command': function('ale_linters#sml#smlnj_cm#GetCommand'), \ 'callback': 'ale#handlers#sml#Handle', \}) " vim:ts=4:sts=4:sw=4 ================================================ FILE: bundle/ale/ale_linters/solidity/solc.vim ================================================ " Author: Karl Bartel - http://karl.berlin/ " Description: Report solc compiler errors in Solidity code call ale#Set('solidity_solc_executable', 'solc') call ale#Set('solidity_solc_options', '') function! ale_linters#solidity#solc#Handle(buffer, lines) abort " Matches patterns like the following: " Error: Expected ';' but got '(' " --> /path/to/file/file.sol:1:10:) let l:pattern = '\v(Error|Warning): (.*)$' let l:line_and_column_pattern = '\v\.sol:(\d+):(\d+):' let l:output = [] for l:line in a:lines let l:match = matchlist(l:line, l:pattern) if len(l:match) == 0 let l:match = matchlist(l:line, l:line_and_column_pattern) if len(l:match) > 0 let l:index = len(l:output) - 1 let l:output[l:index]['lnum'] = l:match[1] + 0 let l:output[l:index]['col'] = l:match[2] + 0 endif else let l:isError = l:match[1] is? 'Error' call add(l:output, { \ 'lnum': 0, \ 'col': 0, \ 'text': l:match[2], \ 'type': l:isError ? 'E' : 'W', \}) endif endfor return l:output endfunction function! ale_linters#solidity#solc#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'solidity_solc_executable') return l:executable . ale#Pad(ale#Var(a:buffer, 'solidity_solc_options')) . ' %s' endfunction call ale#linter#Define('solidity', { \ 'name': 'solc', \ 'executable': {b -> ale#Var(b, 'solidity_solc_executable')}, \ 'command': function('ale_linters#solidity#solc#GetCommand'), \ 'callback': 'ale_linters#solidity#solc#Handle', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/solidity/solhint.vim ================================================ " Authors: Franco Victorio - https://github.com/fvictorio, Henrique Barcelos " https://github.com/hbarcelos " Description: Report errors in Solidity code with solhint call ale#linter#Define('solidity', { \ 'name': 'solhint', \ 'output_stream': 'both', \ 'executable': function('ale#handlers#solhint#GetExecutable'), \ 'cwd': function('ale#handlers#solhint#GetCwd'), \ 'command': function('ale#handlers#solhint#GetCommand'), \ 'callback': 'ale#handlers#solhint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/solidity/solium.vim ================================================ " Author: Jeff Sutherland - https://github.com/jdsutherland " Description: Report errors in Solidity code with solium call ale#linter#Define('solidity', { \ 'name': 'solium', \ 'executable': 'solium', \ 'command': 'solium --reporter gcc --file %t', \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \}) ================================================ FILE: bundle/ale/ale_linters/spec/rpmlint.vim ================================================ " Author: Jason Tibbitts " Description: Adds support for checking RPM spec files with rpmlint " rpmlint will produce varions types of output: " " Lines like the following are output when the file is simply not able to be " parsed by rpmspec -P: " apcupsd.spec: E: specfile-error warning: bogus date in %changelog: Mon Oct 1 2005 - Foo " apcupsd.spec: E: specfile-error error: %changelog not in descending chronological order " They do not contain a line number, and there's not a whole lot that can be " done to locate them besides grep for them. rpmlint is just passing the " output from rpm along with the filename, an error indicator, and an error " type. " " Lines like the following: " cyrus-imapd.spec:23: W: macro-in-comment %version " cyrus-imapd.spec:18: E: hardcoded-library-path in %_prefix/lib/%name " indicate warnings and errors, respectively. No column numbers are provided " " Lines like: " apcupsd.spec: I: checking " apcupsd.spec: I: checking-url https://downloads.sourceforge.net/apcupsd/apcupsd-3.14.14.tar.gz (timeout 10 seconds) " are merely informational and are only output when -v is passed. But they " may be useful in a log to know why things are taking so long. " " And this is always output at the end and should just be ignored: " 0 packages and 1 specfiles checked; 4 errors, 0 warnings. call ale#Set('spec_rpmlint_executable', 'rpmlint') call ale#Set('spec_rpmlint_options', '') function! ale_linters#spec#rpmlint#GetCommand(buffer, version) abort if ale#semver#GTE(a:version, [2, 0, 0]) " The -o/--option flag was removed in version 2.0.0 let l:version_dependent_args = '' else let l:version_dependent_args = ' -o "NetworkEnabled False"' endif return '%e' \ . ale#Pad(ale#Var(a:buffer, 'spec_rpmlint_options')) \ . ' -v' \ . l:version_dependent_args \ . ' %t' endfunction function! ale_linters#spec#rpmlint#Handle(buffer, lines) abort " let l:pat_inform = '^.\+: I: \(.+\)' let l:pat_errwarn = '^.\+:\(\d\+\): \([EW]\): \(.\+\)' let l:pat_baderr = '^.\+: E: \(.\+\)' let l:output = [] for l:line in a:lines let l:match_errwarn = matchlist(l:line, l:pat_errwarn) let l:match_baderr = matchlist(l:line, l:pat_baderr) if len(l:match_errwarn) > 0 let l:text = l:match_errwarn[3] let l:type = l:match_errwarn[2] let l:lnum = l:match_errwarn[1] + 0 elseif len(l:match_baderr) > 0 let l:text = l:match_baderr[1] let l:type = 'E' let l:lnum = 1 else continue endif call add(l:output, { \ 'bufnr': a:buffer, \ 'lnum': l:lnum, \ 'text': l:text, \ 'type': l:type, \}) endfor return l:output endfunction call ale#linter#Define('spec', { \ 'name': 'rpmlint', \ 'executable': {b -> ale#Var(b, 'spec_rpmlint_executable')}, \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale#Var(buffer, 'spec_rpmlint_executable'), \ '%e --version', \ function('ale_linters#spec#rpmlint#GetCommand'), \ )}, \ 'callback': 'ale_linters#spec#rpmlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/sql/sqlfluff.vim ================================================ " Author: Carl Smedstad " Description: sqlfluff for SQL files let g:ale_sql_sqlfluff_executable = \ get(g:, 'ale_sql_sqlfluff_executable', 'sqlfluff') let g:ale_sql_sqlfluff_options = \ get(g:, 'ale_sql_sqlfluff_options', '') function! ale_linters#sql#sqlfluff#Executable(buffer) abort return ale#Var(a:buffer, 'sql_sqlfluff_executable') endfunction function! ale_linters#sql#sqlfluff#Command(buffer) abort let l:executable = ale_linters#sql#sqlfluff#Executable(a:buffer) let l:options = ale#Var(a:buffer, 'sql_sqlfluff_options') let l:cmd = \ ale#Escape(l:executable) \ . ' lint' let l:config_file = ale#path#FindNearestFile(a:buffer, '.sqlfluff') if !empty(l:config_file) let l:cmd .= ' --config ' . ale#Escape(l:config_file) else let l:cmd .= ' --dialect ansi' endif let l:cmd .= \ ' --format json ' \ . l:options \ . ' %t' return l:cmd endfunction function! ale_linters#sql#sqlfluff#Handle(buffer, lines) abort let l:output = [] let l:json_lines = ale#util#FuzzyJSONDecode(a:lines, []) if empty(l:json_lines) return l:output endif let l:json = l:json_lines[0] " if there's no warning, 'result' is `null`. if empty(get(l:json, 'violations')) return l:output endif for l:violation in get(l:json, 'violations', []) call add(l:output, { \ 'filename': l:json.filepath, \ 'lnum': l:violation.line_no, \ 'col': l:violation.line_pos, \ 'text': l:violation.description, \ 'code': l:violation.code, \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('sql', { \ 'name': 'sqlfluff', \ 'executable': function('ale_linters#sql#sqlfluff#Executable'), \ 'command': function('ale_linters#sql#sqlfluff#Command'), \ 'callback': 'ale_linters#sql#sqlfluff#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/sql/sqlint.vim ================================================ " Author: Adriaan Zonnenberg " Description: sqlint for SQL files function! ale_linters#sql#sqlint#Handle(buffer, lines) abort " Matches patterns like the following: " " stdin:3:1:ERROR syntax error at or near "WIBBLE" let l:pattern = '\v^[^:]+:(\d+):(\d+):(\u+) (.*)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[3][0], \ 'text': l:match[4], \}) endfor return l:output endfunction call ale#linter#Define('sql', { \ 'name': 'sqlint', \ 'executable': 'sqlint', \ 'command': 'sqlint', \ 'callback': 'ale_linters#sql#sqlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/sql/sqllint.vim ================================================ " ale_linters/sql/sqllint.vim " Author: Joe Reynolds " Description: sql-lint for SQL files. " sql-lint can be found at " https://www.npmjs.com/package/sql-lint " https://github.com/joereynolds/sql-lint function! ale_linters#sql#sqllint#Handle(buffer, lines) abort " Matches patterns like the following: " " stdin:1 [ER_NO_DB_ERROR] No database selected let l:pattern = '\v^[^:]+:(\d+) (.*)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[3][0], \ 'text': l:match[0], \}) endfor return l:output endfunction call ale#linter#Define('sql', { \ 'name': 'sqllint', \ 'aliases': ['sql-lint'], \ 'executable': 'sql-lint', \ 'command': 'sql-lint', \ 'callback': 'ale_linters#sql#sqllint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/stylus/stylelint.vim ================================================ " Author: diartyz , w0rp call ale#Set('stylus_stylelint_executable', 'stylelint') call ale#Set('stylus_stylelint_options', '') call ale#Set('stylus_stylelint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#stylus#stylelint#GetCommand(buffer) abort return '%e' \ . ale#Pad(ale#Var(a:buffer, 'stylus_stylelint_options')) \ . ' --stdin-filename %s' endfunction call ale#linter#Define('stylus', { \ 'name': 'stylelint', \ 'executable': {b -> ale#path#FindExecutable(b, 'stylus_stylelint', [ \ 'node_modules/.bin/stylelint', \ ])}, \ 'command': function('ale_linters#stylus#stylelint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleStyleLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/sugarss/stylelint.vim ================================================ " Author: toastal " Description: `stylelint` linter for SugarSS files call ale#Set('sugarss_stylelint_executable', 'stylelint') call ale#Set('sugarss_stylelint_options', '') call ale#Set('sugarss_stylelint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#sugarss#stylelint#GetCommand(buffer) abort return '%e ' . ale#Pad(ale#Var(a:buffer, 'sugarss_stylelint_options')) \ . ' --syntax=sugarss' \ . ' --stdin-filename %s' endfunction call ale#linter#Define('sugarss', { \ 'name': 'stylelint', \ 'executable': {b -> ale#path#FindExecutable(b, 'sugarss_stylelint', [ \ 'node_modules/.bin/stylelint', \ ])}, \ 'command': function('ale_linters#sugarss#stylelint#GetCommand'), \ 'callback': 'ale#handlers#css#HandleStyleLintFormat', \}) ================================================ FILE: bundle/ale/ale_linters/svelte/svelteserver.vim ================================================ " Author: Joakim Repomaa " Description: Svelte Language Server integration for ALE call ale#Set('svelte_svelteserver_executable', 'svelteserver') call ale#Set('svelte_svelteserver_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#svelte#svelteserver#GetProjectRoot(buffer) abort let l:package_path = ale#path#FindNearestFile(a:buffer, 'package.json') return !empty(l:package_path) ? fnamemodify(l:package_path, ':h') : '' endfunction call ale#linter#Define('svelte', { \ 'name': 'svelteserver', \ 'lsp': 'stdio', \ 'executable': {b -> ale#path#FindExecutable(b, 'svelte_svelteserver', [ \ 'node_modules/.bin/svelteserver', \ ])}, \ 'command': '%e --stdio', \ 'project_root': function('ale_linters#svelte#svelteserver#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/swift/appleswiftformat.vim ================================================ " Authors: Klaas Pieter Annema , bosr " Description: Support for swift-format https://github.com/apple/swift-format function! ale_linters#swift#appleswiftformat#GetLinterCommand(buffer) abort let l:command_args = ale#swift#GetAppleSwiftFormatCommand(a:buffer) . ' lint %t' let l:config_args = ale#swift#GetAppleSwiftFormatConfigArgs(a:buffer) if l:config_args isnot# '' let l:command_args = l:command_args . ' ' . l:config_args endif return l:command_args endfunction function! ale_linters#swift#appleswiftformat#Handle(buffer, lines) abort " Matches the typical output of swift-format, that is lines of the following pattern: " " Sources/main.swift:4:21: warning: [DoNotUseSemicolons] remove ';' and move the next statement to the new line " Sources/main.swift:3:12: warning: [Spacing] remove 1 space let l:pattern = '\v^.*:(\d+):(\d+): (\S+): \[(\S+)\] (.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[3] is# 'error' ? 'E' : 'W', \ 'code': l:match[4], \ 'text': l:match[5], \}) endfor return l:output endfunction call ale#linter#Define('swift', { \ 'name': 'apple-swift-format', \ 'executable': function('ale#swift#GetAppleSwiftFormatExecutable'), \ 'command': function('ale_linters#swift#appleswiftformat#GetLinterCommand'), \ 'output_stream': 'stderr', \ 'language': 'swift', \ 'callback': 'ale_linters#swift#appleswiftformat#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/swift/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Swift files. call ale#handlers#cspell#DefineLinter('swift') ================================================ FILE: bundle/ale/ale_linters/swift/sourcekitlsp.vim ================================================ " Author: Dan Loman " Description: Support for sourcekit-lsp https://github.com/apple/sourcekit-lsp call ale#Set('sourcekit_lsp_executable', 'sourcekit-lsp') call ale#linter#Define('swift', { \ 'name': 'sourcekitlsp', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'sourcekit_lsp_executable')}, \ 'command': '%e', \ 'project_root': function('ale#swift#FindProjectRoot'), \ 'language': 'swift', \}) ================================================ FILE: bundle/ale/ale_linters/swift/swiftlint.vim ================================================ " Author: David Mohundro , Gordon Fontenot " Description: swiftlint for swift files call ale#Set('swift_swiftlint_executable', 'swiftlint') call ale#Set('swift_swiftlint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#swift#swiftlint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'swift_swiftlint', [ \ 'Pods/SwiftLint/swiftlint', \ 'ios/Pods/SwiftLint/swiftlint', \ 'swiftlint', \]) endfunction function! ale_linters#swift#swiftlint#GetCommand(buffer) abort let l:executable = ale_linters#swift#swiftlint#GetExecutable(a:buffer) let l:args = 'lint --use-stdin' return ale#Escape(l:executable) \ . ' ' .l:args endfunction function! ale_linters#swift#swiftlint#Handle(buffer, lines) abort let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+)?:? ([^:]+): (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': str2nr(l:match[2]), \ 'type': l:match[4] is# 'error' ? 'E' : 'W', \ 'text': l:match[5], \} if l:match[4] is# 'error' let l:item.type = 'E' elseif l:match[4] is# 'note' let l:item.type = 'I' endif if !empty(l:match[3]) let l:item.col = str2nr(l:match[3]) endif " If the filename is something like , or -, then " this is an error for the file we checked. if l:match[1] isnot# '-' && l:match[1][0] isnot# '<' let l:item['filename'] = l:match[1] endif " Parse the code if it's there. let l:code_match = matchlist(l:item.text, '\v^(.+) \(([^ (]+)\)$') if !empty(l:code_match) let l:item.text = l:code_match[1] let l:item.code = l:code_match[2] endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('swift', { \ 'name': 'swiftlint', \ 'executable': function('ale_linters#swift#swiftlint#GetExecutable'), \ 'command': function('ale_linters#swift#swiftlint#GetCommand'), \ 'callback': 'ale_linters#swift#swiftlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/systemd/systemd_analyze.vim ================================================ function! ale_linters#systemd#systemd_analyze#Handle(buffer, lines) abort return ale#util#MapMatches(a:lines, '\v(.+):([0-9]+): (.+)', {match -> { \ 'lnum': str2nr(match[2]), \ 'col': 1, \ 'type': 'W', \ 'text': match[3], \}}) endfunction call ale#linter#Define('systemd', { \ 'name': 'systemd_analyze', \ 'aliases': ['systemd-analyze'], \ 'executable': 'systemd-analyze', \ 'command': 'SYSTEMD_LOG_COLOR=0 %e --user verify %s', \ 'callback': 'ale_linters#systemd#systemd_analyze#Handle', \ 'output_stream': 'both', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/tcl/nagelfar.vim ================================================ " Author: Nick James " Description: nagelfar linter for tcl files call ale#Set('tcl_nagelfar_executable', 'nagelfar.tcl') call ale#Set('tcl_nagelfar_options', '') function! ale_linters#tcl#nagelfar#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'tcl_nagelfar_options') return '%e' . ale#Pad(l:options) . ' %s' endfunction function! ale_linters#tcl#nagelfar#Handle(buffer, lines) abort " Matches patterns like the following: " Line 5: W Found constant "bepa" which is also a variable. " Line 13: E Wrong number of arguments (3) to "set" " Line 93: N Close brace not aligned with line 90 (4 0) let l:pattern = '^Line\s\+\([0-9]\+\): \([NEW]\) \(.*\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'type': l:match[2] is# 'N' ? 'W' : l:match[2], \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('tcl', { \ 'name': 'nagelfar', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'tcl_nagelfar_executable')}, \ 'command': function('ale_linters#tcl#nagelfar#GetCommand'), \ 'callback': 'ale_linters#tcl#nagelfar#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/terraform/checkov.vim ================================================ " Author: Thyme-87 " Description: use checkov for providing warnings via ale call ale#Set('terraform_checkov_executable', 'checkov') call ale#Set('terraform_checkov_options', '') function! ale_linters#terraform#checkov#GetExecutable(buffer) abort return ale#Var(a:buffer, 'terraform_checkov_executable') endfunction function! ale_linters#terraform#checkov#GetCommand(buffer) abort return '%e ' . '-f %t -o json --quiet ' . ale#Var(a:buffer, 'terraform_checkov_options') endfunction function! ale_linters#terraform#checkov#Handle(buffer, lines) abort let l:output = [] let l:results = get(get(ale#util#FuzzyJSONDecode(a:lines, {}), 'results', []), 'failed_checks', []) for l:violation in l:results call add(l:output, { \ 'filename': l:violation['file_path'], \ 'lnum': l:violation['file_line_range'][0], \ 'end_lnum': l:violation['file_line_range'][1], \ 'text': l:violation['check_name'] . ' [' . l:violation['check_id'] . ']', \ 'detail': l:violation['check_id'] . ': ' . l:violation['check_name'] . "\n" . \ 'For more information, see: '. l:violation['guideline'], \ 'type': 'W', \ }) endfor return l:output endfunction call ale#linter#Define('terraform', { \ 'name': 'checkov', \ 'output_stream': 'stdout', \ 'executable': function('ale_linters#terraform#checkov#GetExecutable'), \ 'command': function('ale_linters#terraform#checkov#GetCommand'), \ 'callback': 'ale_linters#terraform#checkov#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/terraform/terraform.vim ================================================ " Author: Keith Maxwell " Description: terraform fmt to check for errors call ale#Set('terraform_terraform_executable', 'terraform') function! ale_linters#terraform#terraform#GetExecutable(buffer) abort return ale#Var(a:buffer, 'terraform_terraform_executable') endfunction function! ale_linters#terraform#terraform#GetCommand(buffer) abort return ale#Escape(ale_linters#terraform#terraform#GetExecutable(a:buffer)) \ . ' validate -no-color -json ' endfunction function! ale_linters#terraform#terraform#GetType(severity) abort if a:severity is? 'warning' return 'W' endif return 'E' endfunction function! ale_linters#terraform#terraform#GetDetail(error) abort let l:detail = get(a:error, 'detail', '') if strlen(l:detail) > 0 return l:detail else return get(a:error, 'summary', '') endif endfunction function! ale_linters#terraform#terraform#Handle(buffer, lines) abort let l:output = [] let l:errors = ale#util#FuzzyJSONDecode(a:lines, {'diagnostics': []}) let l:dir = expand('#' . a:buffer . ':p:h') let l:file = expand('#' . a:buffer . ':p') for l:error in l:errors['diagnostics'] if has_key(l:error, 'range') call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:error['range']['filename']), \ 'lnum': l:error['range']['start']['line'], \ 'col': l:error['range']['start']['column'], \ 'text': ale_linters#terraform#terraform#GetDetail(l:error), \ 'type': ale_linters#terraform#terraform#GetType(l:error['severity']), \}) else call add(l:output, { \ 'filename': l:file, \ 'lnum': 0, \ 'col': 0, \ 'text': ale_linters#terraform#terraform#GetDetail(l:error), \ 'type': ale_linters#terraform#terraform#GetType(l:error['severity']), \}) endif endfor return l:output endfunction call ale#linter#Define('terraform', { \ 'name': 'terraform', \ 'output_stream': 'stdout', \ 'executable': function('ale_linters#terraform#terraform#GetExecutable'), \ 'command': function('ale_linters#terraform#terraform#GetCommand'), \ 'callback': 'ale_linters#terraform#terraform#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/terraform/terraform_ls.vim ================================================ " Author: Horacio Sanson " Description: terraform-ls integration for ALE (cf. https://github.com/hashicorp/terraform-ls) call ale#Set('terraform_terraform_executable', 'terraform') call ale#Set('terraform_ls_executable', 'terraform-ls') call ale#Set('terraform_ls_options', '') function! ale_linters#terraform#terraform_ls#GetTerraformExecutable(buffer) abort let l:terraform_executable = ale#Var(a:buffer, 'terraform_terraform_executable') if(ale#path#IsAbsolute(l:terraform_executable)) return '-tf-exec ' . l:terraform_executable endif return '' endfunction function! ale_linters#terraform#terraform_ls#GetCommand(buffer) abort return '%e' \ . ale#Pad('serve') \ . ale#Pad(ale_linters#terraform#terraform_ls#GetTerraformExecutable(a:buffer)) \ . ale#Pad(ale#Var(a:buffer, 'terraform_ls_options')) endfunction function! ale_linters#terraform#terraform_ls#GetProjectRoot(buffer) abort let l:tf_dir = ale#path#FindNearestDirectory(a:buffer, '.terraform') return !empty(l:tf_dir) ? fnamemodify(l:tf_dir, ':h:h') : '' endfunction call ale#linter#Define('terraform', { \ 'name': 'terraform_ls', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'terraform_ls_executable')}, \ 'command': function('ale_linters#terraform#terraform_ls#GetCommand'), \ 'project_root': function('ale_linters#terraform#terraform_ls#GetProjectRoot'), \ 'language': 'terraform', \}) ================================================ FILE: bundle/ale/ale_linters/terraform/terraform_lsp.vim ================================================ " Author: OJFord " Description: terraform-lsp integration for ALE (cf. https://github.com/juliosueiras/terraform-lsp) call ale#Set('terraform_langserver_executable', 'terraform-lsp') call ale#Set('terraform_langserver_options', '') function! ale_linters#terraform#terraform_lsp#GetCommand(buffer) abort return '%e' \ . ale#Pad(ale#Var(a:buffer, 'terraform_langserver_options')) endfunction function! ale_linters#terraform#terraform_lsp#GetProjectRoot(buffer) abort let l:tf_dir = ale#path#FindNearestDirectory(a:buffer, '.terraform') return !empty(l:tf_dir) ? fnamemodify(l:tf_dir, ':h:h') : '' endfunction call ale#linter#Define('terraform', { \ 'name': 'terraform_lsp', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'terraform_langserver_executable')}, \ 'command': function('ale_linters#terraform#terraform_lsp#GetCommand'), \ 'project_root': function('ale_linters#terraform#terraform_lsp#GetProjectRoot'), \ 'language': 'terraform', \}) ================================================ FILE: bundle/ale/ale_linters/terraform/tflint.vim ================================================ " Author: Nat Williams " Description: tflint for Terraform files " " See: https://www.terraform.io/ " https://github.com/wata727/tflint call ale#Set('terraform_tflint_options', '') call ale#Set('terraform_tflint_executable', 'tflint') function! ale_linters#terraform#tflint#Handle(buffer, lines) abort let l:output = [] let l:pattern = '\v^(.*):(\d+),(\d+)-(\d+)?,?(\d+): (.{-1,}); (.+)$' let l:json = ale#util#FuzzyJSONDecode(a:lines, {}) " This is a rough test for tflint's output format " On versions prior to 0.11 it outputs all errors as a single level list if type(l:json) is v:t_list for l:error in l:json if l:error.type is# 'ERROR' let l:type = 'E' elseif l:error.type is# 'NOTICE' let l:type = 'I' else let l:type = 'W' endif call add(l:output, { \ 'lnum': l:error.line, \ 'text': l:error.message, \ 'type': l:type, \ 'code': l:error.detector, \}) endfor else for l:error in get(l:json, 'errors', []) for l:match in ale#util#GetMatches(l:error.message, [l:pattern]) if l:match[4] is# '' let l:match[4] = l:match[2] endif call add(l:output, { \ 'filename': l:match[1], \ 'lnum': str2nr(l:match[2]), \ 'col': str2nr(l:match[3]), \ 'end_lnum': str2nr(l:match[4]), \ 'end_col': str2nr(l:match[5]), \ 'text': l:match[7], \ 'code': l:match[6], \ 'type': 'E', \}) endfor endfor for l:error in get(l:json, 'issues', []) if l:error.rule.severity is# 'ERROR' let l:type = 'E' elseif l:error.rule.severity is# 'NOTICE' let l:type = 'I' else let l:type = 'W' endif call add(l:output, { \ 'filename': l:error.range.filename, \ 'lnum': l:error.range.start.line, \ 'col': l:error.range.start.column, \ 'end_lnum': l:error.range.end.line, \ 'end_col': l:error.range.end.column, \ 'text': l:error.message, \ 'code': l:error.rule.name, \ 'type': l:type, \}) endfor endif return l:output endfunction function! ale_linters#terraform#tflint#GetCommand(buffer) abort let l:cmd = '%e' let l:config_file = ale#path#FindNearestFile(a:buffer, '.tflint.hcl') if !empty(l:config_file) let l:cmd .= ' --config ' . ale#Escape(l:config_file) endif let l:opts = ale#Var(a:buffer, 'terraform_tflint_options') if !empty(l:opts) let l:cmd .= ' ' . l:opts endif let l:cmd .= ' -f json' return l:cmd endfunction call ale#linter#Define('terraform', { \ 'name': 'tflint', \ 'executable': {b -> ale#Var(b, 'terraform_tflint_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#terraform#tflint#GetCommand'), \ 'callback': 'ale_linters#terraform#tflint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/terraform/tfsec.vim ================================================ " Description: tfsec for Terraform files " " See: https://www.terraform.io/ " https://github.com/aquasecurity/tfsec call ale#Set('terraform_tfsec_options', '') call ale#Set('terraform_tfsec_executable', 'tfsec') let s:separator = has('win32') ? '\' : '/' function! ale_linters#terraform#tfsec#Handle(buffer, lines) abort let l:output = [] let l:json = ale#util#FuzzyJSONDecode(a:lines, {}) " if there's no warning, 'result' is `null`. if empty(get(l:json, 'results')) return l:output endif for l:result in get(l:json, 'results', []) if l:result.severity is# 'LOW' let l:type = 'I' elseif l:result.severity is# 'CRITICAL' let l:type = 'E' else let l:type = 'W' endif call add(l:output, { \ 'filename': l:result.location.filename, \ 'lnum': l:result.location.start_line, \ 'end_lnum': l:result.location.end_line, \ 'text': l:result.description, \ 'code': l:result.long_id, \ 'type': l:type, \}) endfor return l:output endfunction " Construct command arguments to tfsec with `terraform_tfsec_options`. function! ale_linters#terraform#tfsec#GetCommand(buffer) abort let l:cmd = '%e' let l:config = ale_linters#terraform#tfsec#FindConfig(a:buffer) if !empty(l:config) let l:cmd .= ' --config-file ' . l:config endif let l:opts = ale#Var(a:buffer, 'terraform_tfsec_options') if !empty(l:opts) let l:cmd .= ' ' . l:opts endif let l:cmd .= ' --format json' return l:cmd endfunction " Find the nearest configuration file of tfsec. function! ale_linters#terraform#tfsec#FindConfig(buffer) abort let l:config_dir = ale#path#FindNearestDirectory(a:buffer, '.tfsec') if !empty(l:config_dir) " https://aquasecurity.github.io/tfsec/v1.28.0/guides/configuration/config/ for l:basename in ['config.yml', 'config.json'] let l:config = ale#path#Simplify(join([l:config_dir, l:basename], s:separator)) if filereadable(l:config) return ale#Escape(l:config) endif endfor endif return '' endfunction call ale#linter#Define('terraform', { \ 'name': 'tfsec', \ 'executable': {b -> ale#Var(b, 'terraform_tfsec_executable')}, \ 'cwd': '%s:h', \ 'command': function('ale_linters#terraform#tfsec#GetCommand'), \ 'callback': 'ale_linters#terraform#tfsec#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/testft/testlinter.vim ================================================ " Author: neersighted " Description: dummy linter to use in tests call ale#linter#Define('testft', { \ 'name': 'testlinter', \ 'output_stream': 'stdout', \ 'executable': 'testlinter', \ 'command': 'testlinter', \ 'callback': 'testCB', \}) ================================================ FILE: bundle/ale/ale_linters/tex/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for TeX files call ale#handlers#alex#DefineLinter('tex', '--text') ================================================ FILE: bundle/ale/ale_linters/tex/chktex.vim ================================================ " Author: Andrew Balmos - " Description: chktex for LaTeX files let g:ale_tex_chktex_executable = \ get(g:, 'ale_tex_chktex_executable', 'chktex') let g:ale_tex_chktex_options = \ get(g:, 'ale_tex_chktex_options', '-I') function! ale_linters#tex#chktex#GetCommand(buffer) abort " Check for optional .chktexrc let l:chktex_config = ale#path#FindNearestFile( \ a:buffer, \ '.chktexrc') let l:command = ale#Var(a:buffer, 'tex_chktex_executable') " Avoid bug when used without -p (last warning has gibberish for a filename) let l:command .= ' -v0 -p stdin -q' if !empty(l:chktex_config) let l:command .= ' -l ' . ale#Escape(l:chktex_config) endif let l:command .= ' ' . ale#Var(a:buffer, 'tex_chktex_options') return l:command endfunction function! ale_linters#tex#chktex#Handle(buffer, lines) abort " Mattes lines like: " " stdin:499:2:24:Delete this space to maintain correct pagereferences. " stdin:507:81:3:You should enclose the previous parenthesis with `{}'. let l:pattern = '^stdin:\(\d\+\):\(\d\+\):\(\d\+\):\(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[4] . ' (' . (l:match[3]+0) . ')', \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('tex', { \ 'name': 'chktex', \ 'executable': 'chktex', \ 'command': function('ale_linters#tex#chktex#GetCommand'), \ 'callback': 'ale_linters#tex#chktex#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/tex/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for TeX files. call ale#handlers#cspell#DefineLinter('tex') ================================================ FILE: bundle/ale/ale_linters/tex/lacheck.vim ================================================ " Author: Andrew Balmos - " Description: lacheck for LaTeX files call ale#Set('tex_lacheck_executable', 'lacheck') function! ale_linters#tex#lacheck#Handle(buffer, lines) abort " Mattes lines like: " " "book.tex", line 37: possible unwanted space at "{" " "book.tex", line 38: missing `\ ' after "etc." let l:pattern = '^"\(.\+\)", line \(\d\+\): \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) " lacheck follows `\input{}` commands. If the cwd is not the same as the " file in the buffer then it will fail to find the inputted items. We do not " want warnings from those items anyway if !empty(matchstr(l:match[3], '^Could not open ".\+"$')) continue endif " lacheck follows `\input{}` commands. We are only interested in " reporting errors for the current buffer only. if empty(matchstr(fnamemodify(l:match[1], ':t'), fnamemodify(bufname(a:buffer), ':t'))) continue endif call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'text': l:match[3], \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('tex', { \ 'name': 'lacheck', \ 'executable': {b -> ale#Var(b, 'tex_lacheck_executable')}, \ 'command': '%e %t', \ 'callback': 'ale_linters#tex#lacheck#Handle' \}) ================================================ FILE: bundle/ale/ale_linters/tex/proselint.vim ================================================ " Author: poohzrn https://github.com/poohzrn " Description: proselint for TeX files call ale#linter#Define('tex', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/tex/redpen.vim ================================================ " Author: rhysd https://rhysd.github.io " Description: Redpen, a proofreading tool (http://redpen.cc) call ale#linter#Define('tex', { \ 'name': 'redpen', \ 'executable': 'redpen', \ 'command': 'redpen -f latex -r json %t', \ 'callback': 'ale#handlers#redpen#HandleRedpenOutput', \}) ================================================ FILE: bundle/ale/ale_linters/tex/texlab.vim ================================================ " Author: Ricardo Liang " Author: ourigen " Description: Texlab language server (Rust rewrite) call ale#Set('tex_texlab_executable', 'texlab') call ale#Set('tex_texlab_options', '') call ale#Set('tex_texlab_config', {}) function! ale_linters#tex#texlab#GetProjectRoot(buffer) abort let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : '' endfunction function! ale_linters#tex#texlab#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'tex_texlab_options')) endfunction call ale#linter#Define('tex', { \ 'name': 'texlab', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'tex_texlab_executable')}, \ 'command': function('ale_linters#tex#texlab#GetCommand'), \ 'project_root': function('ale_linters#tex#texlab#GetProjectRoot'), \ 'lsp_config': {b -> ale#Var(b, 'tex_texlab_config')}, \}) ================================================ FILE: bundle/ale/ale_linters/tex/textlint.vim ================================================ " Author: TANIGUCHI Masaya " Description: textlint for LaTeX files call ale#linter#Define('tex', { \ 'name': 'textlint', \ 'executable': function('ale#handlers#textlint#GetExecutable'), \ 'command': function('ale#handlers#textlint#GetCommand'), \ 'callback': 'ale#handlers#textlint#HandleTextlintOutput', \}) ================================================ FILE: bundle/ale/ale_linters/tex/vale.vim ================================================ " Author: chew-z https://github.com/chew-z " Description: vale for LaTeX files call ale#linter#Define('tex', { \ 'name': 'vale', \ 'executable': 'vale', \ 'command': 'vale --output=JSON %t', \ 'callback': 'ale#handlers#vale#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/tex/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for TeX files call ale#handlers#writegood#DefineLinter('tex') ================================================ FILE: bundle/ale/ale_linters/texinfo/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for texinfo files call ale#handlers#alex#DefineLinter('texinfo', '--text') ================================================ FILE: bundle/ale/ale_linters/texinfo/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for TeXInfo files. call ale#handlers#cspell#DefineLinter('texinfo') ================================================ FILE: bundle/ale/ale_linters/texinfo/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for Texinfo files call ale#linter#Define('texinfo', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/texinfo/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for Texinfo files call ale#handlers#writegood#DefineLinter('texinfo') ================================================ FILE: bundle/ale/ale_linters/text/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for text files call ale#handlers#alex#DefineLinter('text', '--text') ================================================ FILE: bundle/ale/ale_linters/text/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for general text files. call ale#handlers#cspell#DefineLinter('text') ================================================ FILE: bundle/ale/ale_linters/text/languagetool.vim ================================================ " Author: Vincent (wahrwolf [ät] wolfpit.net) " Description: languagetool for text files call ale#handlers#languagetool#DefineLinter('text') ================================================ FILE: bundle/ale/ale_linters/text/proselint.vim ================================================ " Author: poohzrn https://github.com/poohzrn " Description: proselint for text files call ale#linter#Define('text', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/text/redpen.vim ================================================ " Author: rhysd https://rhysd.github.io " Description: Redpen, a proofreading tool (http://redpen.cc) call ale#linter#Define('text', { \ 'name': 'redpen', \ 'executable': 'redpen', \ 'command': 'redpen -f plain -r json %t', \ 'callback': 'ale#handlers#redpen#HandleRedpenOutput', \}) ================================================ FILE: bundle/ale/ale_linters/text/textlint.vim ================================================ " Author: Yasuhiro Kiyota " Description: textlint, a proofreading tool (https://textlint.github.io/) call ale#linter#Define('text', { \ 'name': 'textlint', \ 'executable': function('ale#handlers#textlint#GetExecutable'), \ 'command': function('ale#handlers#textlint#GetCommand'), \ 'callback': 'ale#handlers#textlint#HandleTextlintOutput', \}) ================================================ FILE: bundle/ale/ale_linters/text/vale.vim ================================================ " Author: chew-z https://github.com/chew-z " Description: vale for text files call ale#linter#Define('text', { \ 'name': 'vale', \ 'executable': 'vale', \ 'command': 'vale --output=JSON %t', \ 'callback': 'ale#handlers#vale#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/text/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for text files call ale#handlers#writegood#DefineLinter('text') ================================================ FILE: bundle/ale/ale_linters/thrift/thrift.vim ================================================ " Author: Jon Parise call ale#Set('thrift_thrift_executable', 'thrift') call ale#Set('thrift_thrift_generators', ['cpp']) call ale#Set('thrift_thrift_includes', ['.']) call ale#Set('thrift_thrift_options', '-strict') function! ale_linters#thrift#thrift#GetCommand(buffer) abort let l:generators = ale#Var(a:buffer, 'thrift_thrift_generators') let l:includes = ale#Var(a:buffer, 'thrift_thrift_includes') " The thrift compiler requires at least one generator. If none are set, " fall back to our default value to avoid silently failing. We could also " `throw` here, but that seems even less helpful. if empty(l:generators) let l:generators = ['cpp'] endif let l:output_dir = ale#command#CreateDirectory(a:buffer) return '%e' \ . ale#Pad(join(map(copy(l:generators), "'--gen ' . v:val"))) \ . ale#Pad(join(map(copy(l:includes), "'-I ' . v:val"))) \ . ale#Pad(ale#Var(a:buffer, 'thrift_thrift_options')) \ . ' -out ' . ale#Escape(l:output_dir) \ . ' %t' endfunction function! ale_linters#thrift#thrift#Handle(buffer, lines) abort " Matches lines like the following: " " [SEVERITY:/path/filename.thrift:31] Message text " [ERROR:/path/filename.thrift:31] (last token was ';') let l:pattern = '\v^\[(\u+):(.*):(\d+)\] (.*)$' let l:index = 0 let l:output = [] " Roll our own output-matching loop instead of using ale#util#GetMatches " because we need to support error messages that span multiple lines. while l:index < len(a:lines) let l:line = a:lines[l:index] let l:match = matchlist(l:line, l:pattern) if empty(l:match) let l:index += 1 continue endif let l:severity = l:match[1] if l:severity is# 'WARNING' let l:type = 'W' else let l:type = 'E' endif " If our text looks like "(last token was ';')", the *next* line " should contain a more descriptive error message. let l:text = l:match[4] if l:text =~# '\(last token was .*\)' let l:index += 1 let l:text = get(a:lines, l:index, 'Unknown error ' . l:text) endif call add(l:output, { \ 'lnum': l:match[3] + 0, \ 'col': 0, \ 'type': l:type, \ 'text': l:text, \}) let l:index += 1 endwhile return l:output endfunction call ale#linter#Define('thrift', { \ 'name': 'thrift', \ 'output_stream': 'both', \ 'executable': {b -> ale#Var(b, 'thrift_thrift_executable')}, \ 'command': function('ale_linters#thrift#thrift#GetCommand'), \ 'callback': 'ale_linters#thrift#thrift#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/thrift/thriftcheck.vim ================================================ " Author: Jon Parise call ale#Set('thrift_thriftcheck_executable', 'thriftcheck') call ale#Set('thrift_thriftcheck_options', '') function! ale_linters#thrift#thriftcheck#GetCommand(buffer) abort return '%e' \ . ale#Pad(ale#Var(a:buffer, 'thrift_thriftcheck_options')) \ . ' --stdin-filename %s' \ . ' %t' endfunction function! ale_linters#thrift#thriftcheck#Handle(buffer, lines) abort " Matches lines like the following: " " file.thrift:1:1: error: "py" namespace must match "^idl\\." (namespace.pattern) " file.thrift:3:5: warning: 64-bit integer constant -2147483649 may not work in all languages (int.64bit) let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+): ?([^:]+): (.+) \(([^\)]+)\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) if l:match[3] is# 'warning' let l:type = 'W' else let l:type = 'E' endif call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:type, \ 'text': l:match[4], \ 'code': l:match[5], \}) endfor return l:output endfunction call ale#linter#Define('thrift', { \ 'name': 'thriftcheck', \ 'executable': {b -> ale#Var(b, 'thrift_thriftcheck_executable')}, \ 'command': function('ale_linters#thrift#thriftcheck#GetCommand'), \ 'callback': 'ale_linters#thrift#thriftcheck#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/typescript/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for TypeScript files. call ale#handlers#cspell#DefineLinter('typescript') ================================================ FILE: bundle/ale/ale_linters/typescript/deno.vim ================================================ " Author: Mohammed Chelouti - https://github.com/motato1 " Arnold Chand " Description: Deno lsp linter for TypeScript files. call ale#linter#Define('typescript', { \ 'name': 'deno', \ 'lsp': 'stdio', \ 'executable': function('ale#handlers#deno#GetExecutable'), \ 'command': '%e lsp', \ 'project_root': function('ale#handlers#deno#GetProjectRoot'), \ 'initialization_options': function('ale#handlers#deno#GetInitializationOptions'), \}) ================================================ FILE: bundle/ale/ale_linters/typescript/eslint.vim ================================================ " Author: w0rp " Description: eslint for JavaScript files call ale#linter#Define('typescript', { \ 'name': 'eslint', \ 'executable': function('ale#handlers#eslint#GetExecutable'), \ 'cwd': function('ale#handlers#eslint#GetCwd'), \ 'command': function('ale#handlers#eslint#GetCommand'), \ 'callback': 'ale#handlers#eslint#HandleJSON', \}) ================================================ FILE: bundle/ale/ale_linters/typescript/standard.vim ================================================ " Author: Ahmed El Gabri <@ahmedelgabri> " Description: standardjs for typescript files call ale#Set('typescript_standard_executable', 'standard') call ale#Set('typescript_standard_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('typescript_standard_options', '') function! ale_linters#typescript#standard#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'typescript_standard', [ \ 'node_modules/standardx/bin/cmd.js', \ 'node_modules/standard/bin/cmd.js', \ 'node_modules/.bin/standard', \]) endfunction function! ale_linters#typescript#standard#GetCommand(buffer) abort let l:executable = ale_linters#typescript#standard#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'typescript_standard_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --stdin %s' endfunction " standard uses eslint and the output format is the same call ale#linter#Define('typescript', { \ 'name': 'standard', \ 'executable': function('ale_linters#typescript#standard#GetExecutable'), \ 'command': function('ale_linters#typescript#standard#GetCommand'), \ 'callback': 'ale#handlers#eslint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/typescript/tslint.vim ================================================ " Author: Prashanth Chandra , Jonathan Clem " Description: tslint for TypeScript files call ale#handlers#tslint#InitVariables() function! ale_linters#typescript#tslint#Handle(buffer, lines) abort " Do not output any errors for empty files if the option is on. if ale#Var(a:buffer, 'typescript_tslint_ignore_empty_files') \&& getbufline(a:buffer, 1, '$') == [''] return [] endif let l:dir = expand('#' . a:buffer . ':p:h') let l:output = [] for l:error in ale#util#FuzzyJSONDecode(a:lines, []) if get(l:error, 'ruleName', '') is# 'no-implicit-dependencies' continue endif let l:item = { \ 'type': (get(l:error, 'ruleSeverity', '') is# 'WARNING' ? 'W' : 'E'), \ 'text': l:error.failure, \ 'lnum': l:error.startPosition.line + 1, \ 'col': l:error.startPosition.character + 1, \ 'end_lnum': l:error.endPosition.line + 1, \ 'end_col': l:error.endPosition.character + 1, \} let l:filename = ale#path#GetAbsPath(l:dir, l:error.name) " Assume temporary files are this file. if !ale#path#IsTempName(l:filename) let l:item.filename = l:filename endif if has_key(l:error, 'ruleName') let l:item.code = l:error.ruleName endif call add(l:output, l:item) endfor return l:output endfunction function! ale_linters#typescript#tslint#GetCommand(buffer) abort let l:tslint_config_path = ale#path#ResolveLocalPath( \ a:buffer, \ 'tslint.json', \ ale#Var(a:buffer, 'typescript_tslint_config_path') \) let l:tslint_config_option = !empty(l:tslint_config_path) \ ? ' -c ' . ale#Escape(l:tslint_config_path) \ : '' let l:tslint_rules_dir = ale#Var(a:buffer, 'typescript_tslint_rules_dir') let l:tslint_rules_option = !empty(l:tslint_rules_dir) \ ? ' -r ' . ale#Escape(l:tslint_rules_dir) \ : '' return ale#Escape(ale#handlers#tslint#GetExecutable(a:buffer)) \ . ' --format json' \ . l:tslint_config_option \ . l:tslint_rules_option \ . ' %t' endfunction call ale#linter#Define('typescript', { \ 'name': 'tslint', \ 'executable': function('ale#handlers#tslint#GetExecutable'), \ 'cwd': '%s:h', \ 'command': function('ale_linters#typescript#tslint#GetCommand'), \ 'callback': 'ale_linters#typescript#tslint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/typescript/tsserver.vim ================================================ " Author: w0rp " Description: tsserver integration for ALE call ale#Set('typescript_tsserver_executable', 'tsserver') call ale#Set('typescript_tsserver_config_path', '') call ale#Set('typescript_tsserver_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define('typescript', { \ 'name': 'tsserver', \ 'lsp': 'tsserver', \ 'executable': {b -> ale#path#FindExecutable(b, 'typescript_tsserver', [ \ '.yarn/sdks/typescript/bin/tsserver', \ 'node_modules/.bin/tsserver', \ ])}, \ 'command': '%e', \ 'project_root': function('ale#handlers#tsserver#GetProjectRoot'), \ 'language': '', \}) ================================================ FILE: bundle/ale/ale_linters/typescript/typecheck.vim ================================================ " Author: Prashanth Chandra https://github.com/prashcr, Aleh Kashnikau https://github.com/mkusher " Description: type checker for TypeScript files function! ale_linters#typescript#typecheck#Handle(buffer, lines) abort " Matches patterns like the following: " " hello.ts[7, 41]: Property 'a' does not exist on type 'A' " hello.ts[16, 7]: Type 'A' is not assignable to type 'B' " let l:pattern = '.\+\.ts\[\(\d\+\), \(\d\+\)\]: \(.\+\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:line = l:match[1] + 0 let l:column = l:match[2] + 0 let l:text = l:match[3] call add(l:output, { \ 'lnum': l:line, \ 'col': l:column, \ 'text': l:text, \}) endfor return l:output endfunction call ale#linter#Define('typescript', { \ 'name': 'typecheck', \ 'executable': 'typecheck', \ 'command': 'typecheck %s', \ 'callback': 'ale_linters#typescript#typecheck#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/typescript/xo.vim ================================================ call ale#linter#Define('typescript', { \ 'name': 'xo', \ 'executable': function('ale#handlers#xo#GetExecutable'), \ 'command': function('ale#handlers#xo#GetLintCommand'), \ 'callback': 'ale#handlers#xo#HandleJSON', \}) ================================================ FILE: bundle/ale/ale_linters/v/v.vim ================================================ " Author: fiatjaf " Description: v build for V files call ale#Set('v_v_executable', 'v') call ale#Set('v_v_options', '') function! ale_linters#v#v#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'v_v_options') " Run v in local directory with relative path let l:command = ale#Var(a:buffer, 'v_v_executable') \ . ale#Pad(l:options) \ . ' .' . ' -o /tmp/vim-ale-v' return l:command endfunction function! ale_linters#v#v#Handler(buffer, lines) abort let l:dir = expand('#' . a:buffer . ':p:h') let l:output = [] " Matches patterns like the following: " " ./const.v:4:3: warning: const names cannot contain uppercase letters, use snake_case instead " 2 | " 3 | const ( " 4 | BUTTON_TEXT = 'OK' " | ~~~~~~~~~~~ " 5 | ) " ./main.v:4:8: warning: module 'os' is imported but never used " 2 | " 3 | import ui " 4 | import os " | ~~ " 5 | " 6 | const ( " ./main.v:20:10: error: undefined ident: `win_widt` " 18 | mut app := &App{} " 19 | app.window = ui.window({ " 20 | width: win_widt " | ~~~~~~~~ " 21 | height: win_height " 22 | title: 'Counter' let l:current = {} for l:line in a:lines " matches basic error description let l:match = matchlist(l:line, \ '\([^:]\+\):\([^:]\+\):\([^:]\+\): \([^:]\+\): \(.*\)') if !empty(l:match) let l:current = { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[5], \ 'type': l:match[4] is# 'error' ? 'E' : 'W', \} call add(l:output, l:current) continue endif " try to get information about the ending column let l:tildematch = matchstr(l:line, '\~\+') if !empty(l:tildematch) let l:current['end_col'] = l:current['col'] + len(l:tildematch) endif endfor return l:output endfunction call ale#linter#Define('v', { \ 'name': 'v', \ 'aliases': [], \ 'executable': {b -> ale#Var(b, 'v_v_executable')}, \ 'command': function('ale_linters#v#v#GetCommand'), \ 'output_stream': 'stderr', \ 'callback': 'ale_linters#v#v#Handler', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/vala/vala_lint.vim ================================================ " Author: Atsuya Takagi " Description: A linter for Vala using Vala-Lint. call ale#Set('vala_vala_lint_config_filename', 'vala-lint.conf') call ale#Set('vala_vala_lint_executable', 'io.elementary.vala-lint') function! ale_linters#vala#vala_lint#GetExecutable(buffer) abort return ale#Var(a:buffer, 'vala_vala_lint_executable') endfunction function! ale_linters#vala#vala_lint#GetCommand(buffer) abort let l:command = ale_linters#vala#vala_lint#GetExecutable(a:buffer) let l:config_filename = ale#Var(a:buffer, 'vala_vala_lint_config_filename') let l:config_path = ale#path#FindNearestFile(a:buffer, l:config_filename) if !empty(l:config_path) let l:command .= ' -c ' . l:config_path endif return l:command . ' %s' endfunction function! ale_linters#vala#vala_lint#Handle(buffer, lines) abort let l:pattern = '^\s*\(\d\+\)\.\(\d\+\)\s\+\(error\|warn\)\s\+\(.\+\)\s\([A-Za-z0-9_\-]\+\)' let l:output = [] for l:line in a:lines " remove color escape sequences since vala-lint doesn't support " output without colors let l:cleaned_line = substitute(l:line, '\e\[[0-9;]\+[mK]', '', 'g') let l:match = matchlist(l:cleaned_line, l:pattern) if len(l:match) == 0 continue endif let l:refined_type = l:match[3] is# 'warn' ? 'W' : 'E' let l:cleaned_text = substitute(l:match[4], '^\s*\(.\{-}\)\s*$', '\1', '') let l:lnum = l:match[1] + 0 let l:column = l:match[2] + 0 let l:type = l:refined_type let l:text = l:cleaned_text let l:code = l:match[5] call add(l:output, { \ 'lnum': l:lnum, \ 'col': l:column, \ 'text': l:text, \ 'type': l:type, \ 'code': l:code, \}) endfor return l:output endfunction call ale#linter#Define('vala', { \ 'name': 'vala_lint', \ 'output_stream': 'stdout', \ 'executable': function('ale_linters#vala#vala_lint#GetExecutable'), \ 'command': function('ale_linters#vala#vala_lint#GetCommand'), \ 'callback': 'ale_linters#vala#vala_lint#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/verilog/hdl_checker.vim ================================================ " Author: suoto " Description: Adds support for HDL Code Checker, which wraps vcom/vlog, ghdl " or xvhdl. More info on https://github.com/suoto/hdl_checker call ale#handlers#hdl_checker#DefineLinter('verilog') ================================================ FILE: bundle/ale/ale_linters/verilog/iverilog.vim ================================================ " Author: Masahiro H https://github.com/mshr-h " Description: iverilog for verilog files call ale#Set('verilog_iverilog_options', '') function! ale_linters#verilog#iverilog#GetCommand(buffer) abort return 'iverilog -t null -Wall ' \ . ale#Var(a:buffer, 'verilog_iverilog_options') \ . ' %t' endfunction function! ale_linters#verilog#iverilog#Handle(buffer, lines) abort " Look for lines like the following. " " tb_me_top.v:37: warning: Instantiating module me_top with dangling input port 1 (rst_n) floating. " tb_me_top.v:17: syntax error " memory_single_port.v:2: syntax error " tb_me_top.v:17: error: Invalid module instantiation let l:pattern = '^[^:]\+:\(\d\+\): \(warning\|error\|syntax error\)\(: \(.\+\)\)\?' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:line = l:match[1] + 0 let l:type = l:match[2] =~# 'error' ? 'E' : 'W' let l:text = l:match[2] is# 'syntax error' ? 'syntax error' : l:match[4] call add(l:output, { \ 'lnum': l:line, \ 'text': l:text, \ 'type': l:type, \}) endfor return l:output endfunction call ale#linter#Define('verilog', { \ 'name': 'iverilog', \ 'output_stream': 'stderr', \ 'executable': 'iverilog', \ 'command': function('ale_linters#verilog#iverilog#GetCommand'), \ 'callback': 'ale_linters#verilog#iverilog#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/verilog/verilator.vim ================================================ " Author: Masahiro H https://github.com/mshr-h " Description: verilator for verilog files " Set this option to change Verilator lint options if !exists('g:ale_verilog_verilator_options') let g:ale_verilog_verilator_options = '' endif function! ale_linters#verilog#verilator#GetCommand(buffer) abort " the path to the current file is systematically added to the search path return 'verilator --lint-only -Wall -Wno-DECLFILENAME ' \ . '-I%s:h ' \ . ale#Var(a:buffer, 'verilog_verilator_options') .' ' \ . '%t' endfunction function! ale_linters#verilog#verilator#Handle(buffer, lines) abort " Look for lines like the following. " " %Error: addr_gen.v:3: syntax error, unexpected IDENTIFIER " %Warning-WIDTH: addr_gen.v:26: Operator ASSIGNDLY expects 12 bits on the Assign RHS, but Assign RHS's CONST '20'h0' generates 20 bits. " %Warning-UNUSED: test.v:3: Signal is not used: a " %Warning-UNDRIVEN: test.v:3: Signal is not driven: clk " %Warning-UNUSED: test.v:4: Signal is not used: dout " %Warning-BLKSEQ: test.v:10: Blocking assignments (=) in sequential (flop or latch) block; suggest delayed assignments (<=). " Since version 4.032 (04/2020) verilator linter messages also contain the column number, " and look like: " %Error: /tmp/test.sv:3:1: syntax error, unexpected endmodule, expecting ';' " " to stay compatible with old versions of the tool, the column number is " optional in the researched pattern let l:pattern = '^%\(Warning\|Error\)[^:]*:\s*\([^:]\+\):\(\d\+\):\(\d\+\)\?:\? \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': str2nr(l:match[3]), \ 'text': l:match[5], \ 'type': l:match[1] is# 'Error' ? 'E' : 'W', \ 'filename': l:match[2], \} if !empty(l:match[4]) let l:item.col = str2nr(l:match[4]) endif call add(l:output, l:item) endfor return l:output endfunction call ale#linter#Define('verilog', { \ 'name': 'verilator', \ 'output_stream': 'stderr', \ 'executable': 'verilator', \ 'command': function('ale_linters#verilog#verilator#GetCommand'), \ 'callback': 'ale_linters#verilog#verilator#Handle', \ 'read_buffer': 0, \}) ================================================ FILE: bundle/ale/ale_linters/verilog/vlog.vim ================================================ " Author: John Gentile " Description: Adds support for Mentor Graphics Questa/ModelSim `vlog` Verilog compiler/checker call ale#Set('verilog_vlog_executable', 'vlog') " See `$ vlog -h` for more options call ale#Set('verilog_vlog_options', '-quiet -lint') function! ale_linters#verilog#vlog#GetCommand(buffer) abort return '%e ' . ale#Pad(ale#Var(a:buffer, 'verilog_vlog_options')) . ' %t' endfunction function! ale_linters#verilog#vlog#Handle(buffer, lines) abort "Matches patterns like the following: "** Warning: add.v(7): (vlog-2623) Undefined variable: C. "** Error: file.v(1): (vlog-13294) Identifier must be declared with a port mode: C. let l:pattern = '^**\s\(\w*\): \([a-zA-Z0-9\-\.\_\/ ]\+\)(\(\d\+\)):\s\+\(.*\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[3] + 0, \ 'type': l:match[1] is? 'Error' ? 'E' : 'W', \ 'text': l:match[4], \ 'filename': l:match[2], \}) endfor "Matches patterns like the following: "** Warning: (vlog-2623) add.v(7): Undefined variable: C. "** Error: (vlog-13294) file.v(1): Identifier must be declared with a port mode: C. " let l:pattern = '^**\s\(\w*\):[a-zA-Z0-9\-\.\_\/ ]\+(\(\d\+\)):\s\+\(.*\)' let l:pattern = '^**\s\(\w*\):\s\([^)]*)\) \([a-zA-Z0-9\-\.\_\/ ]\+\)(\(\d\+\)):\s\+\(.*\)' for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[4] + 0, \ 'type': l:match[1] is? 'Error' ? 'E' : 'W', \ 'text': l:match[2] . ' ' . l:match[5], \ 'filename': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('verilog', { \ 'name': 'vlog', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'verilog_vlog_executable')}, \ 'command': function('ale_linters#verilog#vlog#GetCommand'), \ 'callback': 'ale_linters#verilog#vlog#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/verilog/xvlog.vim ================================================ " Author: John Gentile " Description: Adds support for Xilinx Vivado `xvlog` Verilog compiler/checker call ale#Set('verilog_xvlog_executable', 'xvlog') call ale#Set('verilog_xvlog_options', '') function! ale_linters#verilog#xvlog#GetCommand(buffer) abort return '%e ' . ale#Pad(ale#Var(a:buffer, 'verilog_xvlog_options')) . ' %t' endfunction function! ale_linters#verilog#xvlog#Handle(buffer, lines) abort "Matches patterns like the following: " ERROR: [VRFC 10-1412] syntax error near output [/path/to/file.v:5] let l:pattern = '^ERROR:\s\+\(\[.*\)\[.*:\([0-9]\+\)\]' let l:output = [] " NOTE: `xvlog` only prints 'INFO' and 'ERROR' messages for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'type': 'E', \ 'text': l:match[1], \}) endfor return l:output endfunction call ale#linter#Define('verilog', { \ 'name': 'xvlog', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'verilog_xvlog_executable')}, \ 'command': function('ale_linters#verilog#xvlog#GetCommand'), \ 'callback': 'ale_linters#verilog#xvlog#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/verilog/yosys.vim ================================================ " Author: Nathan Sharp " Description: Yosys for Verilog files call ale#Set('verilog_yosys_executable', 'yosys') call ale#Set('verilog_yosys_options', '-Q -T -p ''read_verilog %s''') function! ale_linters#verilog#yosys#GetCommand(buffer) abort return '%e ' . ale#Var(a:buffer, 'verilog_yosys_options') . ' 2>&1' endfunction function! ale_linters#verilog#yosys#Handle(buffer, lines) abort let l:output = [] let l:path = fnamemodify(bufname(a:buffer), ':p') for l:match in ale#util#GetMatches(a:lines, '^\([^:]\+\):\(\d\+\): \(WARNING\|ERROR\): \(.\+\)$') call add(l:output, { \ 'lnum': str2nr(l:match[2]), \ 'text': l:match[4], \ 'type': l:match[3][0], \ 'filename': l:match[1], \}) endfor for l:match in ale#util#GetMatches(a:lines, '^\(Warning\|ERROR\): \(.\+\)$') call add(l:output, { \ 'lnum': 1, \ 'text': l:match[2], \ 'type': l:match[1][0], \}) endfor return l:output endfunction call ale#linter#Define('verilog', { \ 'name': 'yosys', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'verilog_yosys_executable')}, \ 'command': function('ale_linters#verilog#yosys#GetCommand'), \ 'callback': 'ale_linters#verilog#yosys#Handle', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/vhdl/ghdl.vim ================================================ " Author: John Gentile " Description: Adds support for `ghdl` VHDL compiler/checker call ale#Set('vhdl_ghdl_executable', 'ghdl') " Compile w/VHDL-2008 support call ale#Set('vhdl_ghdl_options', '--std=08') function! ale_linters#vhdl#ghdl#GetCommand(buffer) abort return '%e -s ' . ale#Pad(ale#Var(a:buffer, 'vhdl_ghdl_options')) . ' %t' endfunction function! ale_linters#vhdl#ghdl#Handle(buffer, lines) abort " Look for 'error' lines like the following: " dff_en.vhd:41:5:error: 'begin' is expected instead of 'if' " /path/to/file.vhdl:12:8: no declaration for "i0" let l:pattern = '^[a-zA-Z0-9\-\.\_\/ ]\+:\(\d\+\):\(\d\+\):\(.*\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col' : l:match[2] + 0, \ 'text': l:match[3], \ 'type': 'E', \}) endfor return l:output endfunction call ale#linter#Define('vhdl', { \ 'name': 'ghdl', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'vhdl_ghdl_executable')}, \ 'command': function('ale_linters#vhdl#ghdl#GetCommand'), \ 'callback': 'ale_linters#vhdl#ghdl#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/vhdl/hdl_checker.vim ================================================ " Author: suoto " Description: Adds support for HDL Code Checker, which wraps vcom/vlog, ghdl " or xvhdl. More info on https://github.com/suoto/hdl_checker call ale#handlers#hdl_checker#DefineLinter('vhdl') ================================================ FILE: bundle/ale/ale_linters/vhdl/vcom.vim ================================================ " Author: John Gentile " Description: Adds support for Mentor Graphics Questa/ModelSim `vcom` VHDL compiler/checker call ale#Set('vhdl_vcom_executable', 'vcom') " Use VHDL-2008. See `$ vcom -h` for more options call ale#Set('vhdl_vcom_options', '-2008 -quiet -lint') function! ale_linters#vhdl#vcom#GetCommand(buffer) abort return '%e ' . ale#Pad(ale#Var(a:buffer, 'vhdl_vcom_options')) . ' %t' endfunction function! ale_linters#vhdl#vcom#Handle(buffer, lines) abort "Matches patterns like the following: "** Warning: ../path/to/file.vhd(218): (vcom-1236) Shared variables must be of a protected type. "** Error: tb_file.vhd(73): (vcom-1136) Unknown identifier "aresetn". "** Error: tb_file.vhd(73): Bad resolution function (STD_LOGIC) for type (error). "** Error: tb_file.vhd(73): near ":": (vcom-1576) expecting ';' or ')'. let l:pattern = '^**\s\(\w*\):[a-zA-Z0-9\-\.\_\/ ]\+(\(\d\+\)):\s\+\(.*\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'type': l:match[1] is? 'Error' ? 'E' : 'W', \ 'text': l:match[3], \}) endfor return l:output endfunction call ale#linter#Define('vhdl', { \ 'name': 'vcom', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'vhdl_vcom_executable')}, \ 'command': function('ale_linters#vhdl#vcom#GetCommand'), \ 'callback': 'ale_linters#vhdl#vcom#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/vhdl/xvhdl.vim ================================================ " Author: John Gentile " Description: Adds support for Xilinx Vivado `xvhdl` VHDL compiler/checker call ale#Set('vhdl_xvhdl_executable', 'xvhdl') " Use VHDL-2008. See `$ xvhdl -h` for more options call ale#Set('vhdl_xvhdl_options', '--2008') function! ale_linters#vhdl#xvhdl#GetCommand(buffer) abort return '%e ' . ale#Pad(ale#Var(a:buffer, 'vhdl_xvhdl_options')) . ' %t' endfunction function! ale_linters#vhdl#xvhdl#Handle(buffer, lines) abort "Matches patterns like the following: " ERROR: [VRFC 10-91] aresetn is not declared [/path/to/file.vhd:17] " ERROR: [VRFC 10-91] m_axis_tx_tdata is not declared [/home/user/tx_data.vhd:128] let l:pattern = '^ERROR:\s\+\(\[.*\)\[.*:\([0-9]\+\)\]' let l:output = [] " NOTE: `xvhdl` only prints 'INFO' and 'ERROR' messages for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[2] + 0, \ 'type': 'E', \ 'text': l:match[1], \}) endfor return l:output endfunction call ale#linter#Define('vhdl', { \ 'name': 'xvhdl', \ 'output_stream': 'stdout', \ 'executable': {b -> ale#Var(b, 'vhdl_xvhdl_executable')}, \ 'command': function('ale_linters#vhdl#xvhdl#GetCommand'), \ 'callback': 'ale_linters#vhdl#xvhdl#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/vim/ale_custom_linting_rules.vim ================================================ " Author: w0rp " Description: A linter for checking ALE project code itself. function! ale_linters#vim#ale_custom_linting_rules#GetExecutable(buffer) abort let l:filename = expand('#' . a:buffer . ':p') let l:dir_list = [] for l:dir in split(&runtimepath, ',') if l:filename[:len(l:dir) - 1] is# l:dir call add(l:dir_list, l:dir) endif endfor return !empty(l:dir_list) \ ? findfile('test/script/custom-linting-rules', join(l:dir_list, ',')) \ : '' endfunction function! s:GetALEProjectDir(buffer) abort let l:executable = ale_linters#vim#ale_custom_linting_rules#GetExecutable(a:buffer) return ale#path#Dirname(ale#path#Dirname(ale#path#Dirname(l:executable))) endfunction function! ale_linters#vim#ale_custom_linting_rules#GetCwd(buffer) abort let l:executable = ale_linters#vim#ale_custom_linting_rules#GetExecutable(a:buffer) return ale#path#Dirname(ale#path#Dirname(ale#path#Dirname(l:executable))) endfunction function! ale_linters#vim#ale_custom_linting_rules#GetCommand(buffer) abort let l:temp_dir = ale#command#CreateDirectory(a:buffer) let l:temp_file = l:temp_dir . '/example.vim' let l:lines = getbufline(a:buffer, 1, '$') call ale#util#Writefile(a:buffer, l:lines, l:temp_file) return '%e ' . ale#Escape(l:temp_dir) endfunction function! ale_linters#vim#ale_custom_linting_rules#Handle(buffer, lines) abort let l:dir = s:GetALEProjectDir(a:buffer) let l:output = [] let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+) (.+)$' for l:match in ale#util#GetMatches(a:lines, l:pattern) " Ignore trailing whitespace errors if we've turned them off. if !ale#Var(a:buffer, 'warn_about_trailing_whitespace') \&& l:match[3] is# 'Trailing whitespace' continue endif call add(l:output, { \ 'lnum': l:match[2], \ 'text': l:match[3], \ 'type': 'W', \}) endfor return l:output endfunction call ale#linter#Define('vim', { \ 'name': 'ale_custom_linting_rules', \ 'executable': function('ale_linters#vim#ale_custom_linting_rules#GetExecutable'), \ 'cwd': function('ale_linters#vim#ale_custom_linting_rules#GetCwd'), \ 'command': function('ale_linters#vim#ale_custom_linting_rules#GetCommand'), \ 'callback': 'ale_linters#vim#ale_custom_linting_rules#Handle', \ 'read_buffer': 0, \}) ================================================ FILE: bundle/ale/ale_linters/vim/vimls.vim ================================================ " Author: Jeffrey Lau - https://github.com/zoonfafer " Description: Vim Language Server integration for ALE call ale#Set('vim_vimls_executable', 'vim-language-server') call ale#Set('vim_vimls_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('vim_vimls_config', {}) function! ale_linters#vim#vimls#GetProjectRoot(buffer) abort let l:trigger_file_candidates = [ \ '.vimrc', \ 'init.vim', \] for l:candidate in l:trigger_file_candidates let l:trigger_file = fnamemodify(bufname(a:buffer), ':t') if l:trigger_file is# l:candidate return fnamemodify( \ bufname(a:buffer), \ ':h', \) endif endfor let l:trigger_dir_candidates = [ \ 'autoload', \ 'plugin', \ '.git', \] let l:path_upwards = ale#path#Upwards(fnamemodify(bufname(a:buffer), ':p:h')) for l:path in l:path_upwards for l:candidate in l:trigger_dir_candidates let l:trigger_dir = ale#path#Simplify( \ l:path . '/' . l:candidate, \) if isdirectory(l:trigger_dir) return fnamemodify( \ l:trigger_dir, \ ':p:h:h', \) endif endfor endfor return '' endfunction call ale#linter#Define('vim', { \ 'name': 'vimls', \ 'lsp': 'stdio', \ 'lsp_config': {b -> ale#Var(b, 'vim_vimls_config')}, \ 'executable': {b -> ale#path#FindExecutable(b, 'vim_vimls', [ \ 'node_modules/.bin/vim-language-server', \ ])}, \ 'command': '%e --stdio', \ 'language': 'vim', \ 'project_root': function('ale_linters#vim#vimls#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/vim/vint.vim ================================================ " Author: w0rp , KabbAmine " Description: This file adds support for checking Vim code with Vint. " This flag can be used to change enable/disable style issues. call ale#Set('vim_vint_show_style_issues', 1) call ale#Set('vim_vint_executable', 'vint') let s:enable_neovim = has('nvim') ? ' --enable-neovim' : '' let s:format = '-f "{file_path}:{line_number}:{column_number}: {severity}: {policy_name} - {description} (see {reference})"' function! ale_linters#vim#vint#GetCommand(buffer, version) abort let l:can_use_no_color_flag = empty(a:version) \ || ale#semver#GTE(a:version, [0, 3, 7]) let l:warning_flag = ale#Var(a:buffer, 'vim_vint_show_style_issues') ? '-s' : '-w' " Use the --stdin-display-name argument if supported, temp file otherwise. let l:stdin_or_temp = ale#semver#GTE(a:version, [0, 4, 0]) \ ? ' --stdin-display-name %s -' \ : ' %t' return '%e' \ . ' ' . l:warning_flag \ . (l:can_use_no_color_flag ? ' --no-color' : '') \ . s:enable_neovim \ . ' ' . s:format \ . l:stdin_or_temp endfunction let s:word_regex_list = [ \ '\v^Undefined variable: ([^ ]+)', \ '\v^Make the scope explicit like ...([^ ]+). ', \ '\v^.*start with a capital or contain a colon: ([^ ]+)', \ '\v.*instead of .(\=[=~]).', \] function! ale_linters#vim#vint#Handle(buffer, lines) abort let l:loclist = ale#handlers#gcc#HandleGCCFormat(a:buffer, a:lines) for l:item in l:loclist let l:match = [] for l:regex in s:word_regex_list let l:match = matchlist(l:item.text, l:regex) if !empty(l:match) let l:item.end_col = l:item.col + len(l:match[1]) - 1 break endif endfor endfor return l:loclist endfunction call ale#linter#Define('vim', { \ 'name': 'vint', \ 'executable': {buffer -> ale#Var(buffer, 'vim_vint_executable')}, \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale#Var(buffer, 'vim_vint_executable'), \ '%e --version', \ function('ale_linters#vim#vint#GetCommand'), \ )}, \ 'callback': 'ale_linters#vim#vint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/vue/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for Vue files. call ale#handlers#cspell#DefineLinter('vue') ================================================ FILE: bundle/ale/ale_linters/vue/vls.vim ================================================ " Author: Alexander Olofsson " Description: Vue vls Language Server integration for ALE call ale#Set('vue_vls_executable', 'vls') call ale#Set('vue_vls_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#vue#vls#GetProjectRoot(buffer) abort let l:package_path = ale#path#FindNearestFile(a:buffer, 'package.json') return !empty(l:package_path) ? fnamemodify(l:package_path, ':h') : '' endfunction call ale#linter#Define('vue', { \ 'name': 'vls', \ 'lsp': 'stdio', \ 'executable': {b -> ale#path#FindExecutable(b, 'vue_vls', [ \ 'node_modules/.bin/vls', \ ])}, \ 'command': '%e --stdio', \ 'language': 'vue', \ 'project_root': function('ale_linters#vue#vls#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/ale_linters/vue/volar.vim ================================================ " Author: Arnold Chand " Description: Volar Language Server integration for ALE adopted from " nvim-lspconfig and volar/packages/shared/src/types.ts call ale#Set('vue_volar_executable', 'vue-language-server') call ale#Set('vue_volar_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('vue_volar_init_options', { \ 'documentFeatures': { \ 'documentColor': v:false, \ 'documentFormatting': { \ 'defaultPrintWidth': 100, \ }, \ 'documentSymbol': v:true, \ 'foldingRange': v:true, \ 'linkedEditingRange': v:true, \ 'selectionRange': v:true, \ }, \ 'languageFeatures': { \ 'callHierarchy': v:true, \ 'codeAction': v:true, \ 'codeLens': v:true, \ 'completion': { \ 'defaultAttrNameCase': 'kebabCase', \ 'defaultTagNameCase': 'both', \ 'getDocumentNameCaseRequest': v:false, \ 'getDocumentSelectionRequest': v:false, \ }, \ 'definition': v:true, \ 'diagnostics': v:true, \ 'documentHighlight': v:true, \ 'documentLink': v:true, \ 'hover': v:true, \ 'references': v:true, \ 'rename': v:true, \ 'renameFileRefactoring': v:true, \ 'schemaRequestService': v:true, \ 'semanticTokens': v:false, \ 'signatureHelp': v:true, \ 'typeDefinition': v:true, \ 'workspaceSymbol': v:false, \ }, \ 'typescript': { \ 'serverPath': '', \ 'localizedPath': v:null, \ }, \}) function! ale_linters#vue#volar#GetProjectRoot(buffer) abort let l:project_roots = ['package.json', 'vite.config.js', '.git', bufname(a:buffer)] for l:project_root in l:project_roots let l:nearest_filepath = ale#path#FindNearestFile(a:buffer, l:project_root) if !empty(l:nearest_filepath) return fnamemodify(l:nearest_filepath, ':h') endif endfor return '' endfunction function! ale_linters#vue#volar#GetInitializationOptions(buffer) abort let l:tsserver_path = ale#path#FindNearestExecutable(a:buffer, [ \ 'node_modules/typescript/lib/tsserverlibrary.js' \ ]) let l:init_options = ale#Var(a:buffer, 'vue_volar_init_options') let l:init_options.typescript.serverPath = l:tsserver_path return l:init_options endfunction call ale#linter#Define('vue', { \ 'name': 'volar', \ 'language': 'vue', \ 'lsp': 'stdio', \ 'executable': {b -> ale#path#FindExecutable(b, 'vue_volar', ['node_modules/.bin/vue-language-server'])}, \ 'command': '%e --stdio', \ 'project_root': function('ale_linters#vue#volar#GetProjectRoot'), \ 'initialization_options': function('ale_linters#vue#volar#GetInitializationOptions'), \}) ================================================ FILE: bundle/ale/ale_linters/wgsl/naga.vim ================================================ " Author: rhysd " Description: naga-cli linter for WGSL syntax. call ale#Set('wgsl_naga_executable', 'naga') call ale#linter#Define('wgsl', { \ 'name': 'naga', \ 'executable': {b -> ale#Var(b, 'wgsl_naga_executable')}, \ 'output_stream': 'stderr', \ 'command': {b -> '%e --stdin-file-path %s'}, \ 'callback': 'ale#handlers#naga#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/xhtml/alex.vim ================================================ " Author: Johannes Wienke " Description: alex for XHTML files call ale#handlers#alex#DefineLinter('xhtml', '--text') ================================================ FILE: bundle/ale/ale_linters/xhtml/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: cspell support for XHTML files. call ale#handlers#cspell#DefineLinter('xhtml') ================================================ FILE: bundle/ale/ale_linters/xhtml/proselint.vim ================================================ " Author: Daniel M. Capella https://github.com/polyzen " Description: proselint for XHTML files call ale#linter#Define('xhtml', { \ 'name': 'proselint', \ 'executable': 'proselint', \ 'command': 'proselint %t', \ 'callback': 'ale#handlers#unix#HandleAsWarning', \}) ================================================ FILE: bundle/ale/ale_linters/xhtml/writegood.vim ================================================ " Author: Sumner Evans " Description: write-good for XHTML files call ale#handlers#writegood#DefineLinter('xhtml') ================================================ FILE: bundle/ale/ale_linters/xml/xmllint.vim ================================================ " Author: q12321q " Description: This file adds support for checking XML code with xmllint. " CLI options let g:ale_xml_xmllint_executable = get(g:, 'ale_xml_xmllint_executable', 'xmllint') let g:ale_xml_xmllint_options = get(g:, 'ale_xml_xmllint_options', '') function! ale_linters#xml#xmllint#GetCommand(buffer) abort return '%e' \ . ale#Pad(ale#Var(a:buffer, 'xml_xmllint_options')) \ . ' --noout -' endfunction function! ale_linters#xml#xmllint#Handle(buffer, lines) abort " Matches patterns lines like the following: " file/path:123: error level : error message let l:pattern_message = '\v^([^:]+):(\d+):\s*(([^:]+)\s*:\s+.*)$' " parse column token line like that: " file/path:123: parser error : Opening and ending tag mismatch: foo line 1 and bar " " ^ let l:pattern_column_token = '\v^\s*\^$' let l:output = [] for l:line in a:lines " Parse error/warning lines let l:match_message = matchlist(l:line, l:pattern_message) if !empty(l:match_message) let l:line = l:match_message[2] + 0 let l:type = l:match_message[4] =~? 'warning' ? 'W' : 'E' let l:text = l:match_message[3] call add(l:output, { \ 'lnum': l:line, \ 'text': l:text, \ 'type': l:type, \}) continue endif " Parse column position let l:match_column_token = matchlist(l:line, l:pattern_column_token) if !empty(l:output) && !empty(l:match_column_token) let l:previous = l:output[len(l:output) - 1] let l:previous['col'] = len(l:match_column_token[0]) continue endif endfor return l:output endfunction call ale#linter#Define('xml', { \ 'name': 'xmllint', \ 'output_stream': 'stderr', \ 'executable': {b -> ale#Var(b, 'xml_xmllint_executable')}, \ 'command': function('ale_linters#xml#xmllint#GetCommand'), \ 'callback': 'ale_linters#xml#xmllint#Handle', \ }) ================================================ FILE: bundle/ale/ale_linters/yaml/actionlint.vim ================================================ " Author: bretello call ale#Set('yaml_actionlint_executable', 'actionlint') call ale#Set('yaml_actionlint_options', '') call ale#linter#Define('yaml', { \ 'name': 'actionlint', \ 'executable': {b -> ale#Var(b, 'yaml_actionlint_executable')}, \ 'command': function('ale#handlers#actionlint#GetCommand'), \ 'callback': 'ale#handlers#actionlint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/yaml/circleci.vim ================================================ function! ale_linters#yaml#circleci#Handle(buffer, lines) abort let l:match_index = -1 let l:output = [] for l:index in range(len(a:lines)) let l:line = a:lines[l:index] if l:line =~? 'Error: ERROR IN CONFIG FILE:' let l:match_index = l:index + 1 break endif endfor if l:match_index > 0 return [{ \ 'type': 'E', \ 'lnum': 1, \ 'text': a:lines[l:match_index], \ 'detail': join(a:lines[l:match_index :], "\n"), \}] endif return [] endfunction " The circleci validate requires network requests, so we'll only run it when " files are saved to prevent the server from being hammered. call ale#linter#Define('yaml', { \ 'name': 'circleci', \ 'executable': {b -> expand('#' . b . ':p') =~? '\.circleci' ? 'circleci' : ''}, \ 'command': 'circleci --skip-update-check config validate - < %s', \ 'callback': 'ale_linters#yaml#circleci#Handle', \ 'output_stream': 'stderr', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/yaml/gitlablint.vim ================================================ call ale#Set('yaml_gitlablint_executable', 'gll') call ale#Set('yaml_gitlablint_options', '') function! ale_linters#yaml#gitlablint#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'yaml_gitlablint_options')) \ . ' -p %t' endfunction function! ale_linters#yaml#gitlablint#Handle(buffer, lines) abort " Matches patterns line the following: " (): mapping values are not allowed in this context at line 68 column 8 " jobs:build:dev config contains unknown keys: ony let l:pattern = '^\(.*\) at line \(\d\+\) column \(\d\+\)$' let l:output = [] for l:line in a:lines let l:match = matchlist(l:line, l:pattern) if !empty(l:match) let l:item = { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[1], \ 'type': 'E', \} call add(l:output, l:item) else if l:line isnot# 'GitLab CI configuration is invalid' let l:item = { \ 'lnum': 0, \ 'col': 0, \ 'text': l:line, \ 'type': 'E', \} call add(l:output, l:item) endif endif endfor return l:output endfunction call ale#linter#Define('yaml', { \ 'name': 'gitlablint', \ 'executable': {b -> ale#Var(b, 'yaml_gitlablint_executable')}, \ 'command': function('ale_linters#yaml#gitlablint#GetCommand'), \ 'callback': 'ale_linters#yaml#gitlablint#Handle', \ 'output_stream': 'stderr', \}) ================================================ FILE: bundle/ale/ale_linters/yaml/ls.vim ================================================ " Author: Jeffrey Lau - https://github.com/zoonfafer " Description: YAML Language Server https://github.com/redhat-developer/yaml-language-server call ale#Set('yaml_ls_executable', 'yaml-language-server') call ale#Set('yaml_ls_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('yaml_ls_config', {}) function! ale_linters#yaml#ls#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'yaml_ls', [ \ 'node_modules/.bin/yaml-language-server', \]) endfunction function! ale_linters#yaml#ls#GetCommand(buffer) abort let l:executable = ale_linters#yaml#ls#GetExecutable(a:buffer) return ale#Escape(l:executable) . ' --stdio' endfunction " Just use the current file function! ale_linters#yaml#ls#FindProjectRoot(buffer) abort let l:project_file = expand('#' . a:buffer . ':p') return fnamemodify(l:project_file, ':h') endfunction call ale#linter#Define('yaml', { \ 'name': 'yaml-language-server', \ 'lsp': 'stdio', \ 'executable': function('ale_linters#yaml#ls#GetExecutable'), \ 'command': function('ale_linters#yaml#ls#GetCommand'), \ 'project_root': function('ale_linters#yaml#ls#FindProjectRoot'), \ 'lsp_config': {b -> ale#Var(b, 'yaml_ls_config')}, \}) ================================================ FILE: bundle/ale/ale_linters/yaml/spectral.vim ================================================ " Author: t2h5 " Description: Integration of Stoplight Spectral CLI with ALE. call ale#Set('yaml_spectral_executable', 'spectral') call ale#Set('yaml_spectral_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define('yaml', { \ 'name': 'spectral', \ 'executable': {b -> ale#path#FindExecutable(b, 'yaml_spectral', [ \ 'node_modules/.bin/spectral', \ ])}, \ 'command': '%e lint --ignore-unknown-format -q -f text %t', \ 'callback': 'ale#handlers#spectral#HandleSpectralOutput' \}) ================================================ FILE: bundle/ale/ale_linters/yaml/swaglint.vim ================================================ " Author: Matthew Turland " Description: This file adds support for linting Swagger / OpenAPI documents using swaglint call ale#Set('yaml_swaglint_executable', 'swaglint') call ale#Set('yaml_swaglint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale_linters#yaml#swaglint#Handle(buffer, lines) abort let l:pattern = ': \([^\s]\+\) @ \(\d\+\):\(\d\+\) - \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:obj = { \ 'type': l:match[1] is# 'error' ? 'E' : 'W', \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[4], \} " Parse the code if it's there. let l:code_match = matchlist(l:obj.text, '\v^(.+) \(([^ (]+)\)$') if !empty(l:code_match) let l:obj.text = l:code_match[1] let l:obj.code = l:code_match[2] endif call add(l:output, l:obj) endfor return l:output endfunction call ale#linter#Define('yaml', { \ 'name': 'swaglint', \ 'executable': {b -> ale#path#FindExecutable(b, 'yaml_swaglint', [ \ 'node_modules/.bin/swaglint', \ ])}, \ 'command': '%e -r compact --stdin', \ 'callback': 'ale_linters#yaml#swaglint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/yaml/yamllint.vim ================================================ " Author: KabbAmine call ale#Set('yaml_yamllint_executable', 'yamllint') call ale#Set('yaml_yamllint_options', '') call ale#linter#Define('yaml', { \ 'name': 'yamllint', \ 'executable': {b -> ale#Var(b, 'yaml_yamllint_executable')}, \ 'command': function('ale#handlers#yamllint#GetCommand'), \ 'callback': 'ale#handlers#yamllint#Handle', \}) ================================================ FILE: bundle/ale/ale_linters/yang/yang_lsp.vim ================================================ call ale#Set('yang_lsp_executable', 'yang-language-server') function! ale_linters#yang#yang_lsp#GetProjectRoot(buffer) abort let l:project_root = ale#path#FindNearestFile(a:buffer, 'yang.settings') return !empty(l:project_root) ? fnamemodify(l:project_root, ':h') : '' endfunction call ale#linter#Define('yang', { \ 'name': 'yang_lsp', \ 'lsp': 'stdio', \ 'executable': {b -> ale#Var(b, 'yang_lsp_executable')}, \ 'project_root': function('ale_linters#yang#yang_lsp#GetProjectRoot'), \ 'command': '%e', \}) ================================================ FILE: bundle/ale/ale_linters/zeek/zeek.vim ================================================ " Author: Benjamin Bannier " Description: Support for checking Zeek files. " call ale#Set('zeek_zeek_executable', 'zeek') function! ale_linters#zeek#zeek#HandleErrors(buffer, lines) abort let l:pattern = 'error in \v.*, line (\d+): (.*)$' return map(ale#util#GetMatches(a:lines, l:pattern), "{ \ 'lnum': str2nr(v:val[1]), \ 'text': v:val[2], \}") endfunction call ale#linter#Define('zeek', { \ 'name': 'zeek', \ 'executable': {b -> ale#Var(b, 'zeek_zeek_executable')}, \ 'output_stream': 'stderr', \ 'command': {-> '%e --parse-only %s'}, \ 'callback': 'ale_linters#zeek#zeek#HandleErrors', \ 'lint_file': 1, \}) ================================================ FILE: bundle/ale/ale_linters/zig/zls.vim ================================================ " Author: CherryMan " Description: A language server for Zig call ale#Set('zig_zls_executable', 'zls') call ale#Set('zig_zls_config', {}) function! ale_linters#zig#zls#GetProjectRoot(buffer) abort let l:build_rs = ale#path#FindNearestFile(a:buffer, 'build.zig') return !empty(l:build_rs) ? fnamemodify(l:build_rs, ':h') : '' endfunction call ale#linter#Define('zig', { \ 'name': 'zls', \ 'lsp': 'stdio', \ 'lsp_config': {b -> ale#Var(b, 'zig_zls_config')}, \ 'executable': {b -> ale#Var(b, 'zig_zls_executable')}, \ 'command': '%e', \ 'project_root': function('ale_linters#zig#zls#GetProjectRoot'), \}) ================================================ FILE: bundle/ale/autoload/ale/ant.vim ================================================ " Author: Andrew Lee . " Inspired by ale/gradle.vim by Michael Pardo " Description: Functions for working with Ant projects. " Given a buffer number, find an Ant project root function! ale#ant#FindProjectRoot(buffer) abort let l:build_xml_path = ale#path#FindNearestFile(a:buffer, 'build.xml') if !empty(l:build_xml_path) return fnamemodify(l:build_xml_path, ':h') endif return '' endfunction " Given a buffer number, find the path to the `ant` executable. Returns an empty " string if cannot find the executable. function! ale#ant#FindExecutable(buffer) abort if executable('ant') return 'ant' endif return '' endfunction " Given a buffer number, get a working directory and command to print the " classpath of the root project. " " Returns an empty string for the command if Ant is not detected. function! ale#ant#BuildClasspathCommand(buffer) abort let l:executable = ale#ant#FindExecutable(a:buffer) if !empty(l:executable) let l:project_root = ale#ant#FindProjectRoot(a:buffer) if !empty(l:project_root) return [ \ l:project_root, \ ale#Escape(l:executable) .' classpath -S -q' \] endif endif return ['', ''] endfunction ================================================ FILE: bundle/ale/autoload/ale/args.vim ================================================ " Author: w0rp " Description: This module implements a function for parsing arguments for " commands. " Given a list of valid arguments like ['foo', 'bar'] and a string to parse, " parse the arguments from the string and return [parsed_args, remainder]. " " Arguments must be prefixed in the string with a single minus (-), and a " double minus (--) denotes the end of arguments. function! ale#args#Parse(arg_list, string) abort let l:parsed = {} let l:end_of_args = 0 let l:word_list = split(a:string, ' ') let l:index = 0 while l:index < len(l:word_list) let l:word = l:word_list[l:index] if l:word[:0] is# '-' let l:index += 1 if l:word is# '--' break endif let l:arg = l:word[1:] if index(a:arg_list, l:arg) >= 0 let l:parsed[l:arg] = '' else throw 'Invalid argument: ' . l:word endif elseif l:word is# '' let l:index += 1 else break endif endwhile let l:new_string = join(l:word_list[l:index :], ' ') return [l:parsed, l:new_string] endfunction ================================================ FILE: bundle/ale/autoload/ale/assert.vim ================================================ let s:command_output = [] function! ale#assert#GivenCommandOutput(...) abort let s:command_output = a:000 endfunction function! s:GetLinter() abort let l:linters = ale#linter#GetLintersLoaded() let l:filetype_linters = get(values(l:linters), 0, []) if len(l:linters) is 0 || len(l:filetype_linters) is 0 throw 'No linters were loaded' endif if len(l:linters) > 1 || len(l:filetype_linters) > 1 throw 'More than one linter was loaded' endif return l:filetype_linters[0] endfunction function! s:FormatExe(command, executable) abort return substitute(a:command, '%e', '\=ale#Escape(a:executable)', 'g') endfunction function! s:ProcessDeferredCommands(initial_result) abort let l:result = a:initial_result let l:command_index = 0 let l:command = [] while ale#command#IsDeferred(l:result) call add(l:command, s:FormatExe(l:result.command, l:result.executable)) if get(g:, 'ale_run_synchronously_emulate_commands') " Don't run commands, but simulate the results. let l:Callback = g:ale_run_synchronously_callbacks[0] let l:output = get(s:command_output, l:command_index, []) call l:Callback(0, l:output) unlet g:ale_run_synchronously_callbacks let l:command_index += 1 else " Run the commands in the shell, synchronously. call ale#test#FlushJobs() endif let l:result = l:result.value endwhile call add(l:command, l:result) return l:command endfunction function! s:ProcessDeferredCwds(initial_command, initial_cwd) abort let l:result = a:initial_command let l:last_cwd = v:null let l:command_index = 0 let l:cwd_list = [] while ale#command#IsDeferred(l:result) call add(l:cwd_list, l:result.cwd) if get(g:, 'ale_run_synchronously_emulate_commands') " Don't run commands, but simulate the results. let l:Callback = g:ale_run_synchronously_callbacks[0] let l:output = get(s:command_output, l:command_index, []) call l:Callback(0, l:output) unlet g:ale_run_synchronously_callbacks let l:command_index += 1 else " Run the commands in the shell, synchronously. call ale#test#FlushJobs() endif let l:result = l:result.value endwhile call add(l:cwd_list, a:initial_cwd is v:null ? l:last_cwd : a:initial_cwd) return l:cwd_list endfunction " Load the currently loaded linter for a test case, and check that the command " matches the given string. function! ale#assert#Linter(expected_executable, expected_command) abort let l:buffer = bufnr('') let l:linter = s:GetLinter() let l:executable = ale#linter#GetExecutable(l:buffer, l:linter) while ale#command#IsDeferred(l:executable) call ale#test#FlushJobs() let l:executable = l:executable.value endwhile let l:command = s:ProcessDeferredCommands( \ ale#linter#GetCommand(l:buffer, l:linter), \) if type(a:expected_command) isnot v:t_list let l:command = l:command[-1] endif if type(l:command) is v:t_string " Replace %e with the escaped executable, so tests keep passing after " linters are changed to use %e. let l:command = s:FormatExe(l:command, l:executable) elseif type(l:command) is v:t_list call map(l:command, 's:FormatExe(v:val, l:executable)') endif AssertEqual \ [a:expected_executable, a:expected_command], \ [l:executable, l:command] endfunction function! ale#assert#LinterCwd(expected_cwd) abort let l:buffer = bufnr('') let l:linter = s:GetLinter() let l:initial_cwd = ale#linter#GetCwd(l:buffer, l:linter) call ale#command#SetCwd(l:buffer, l:initial_cwd) let l:cwd = s:ProcessDeferredCwds( \ ale#linter#GetCommand(l:buffer, l:linter), \ l:initial_cwd, \) call ale#command#ResetCwd(l:buffer) if type(a:expected_cwd) isnot v:t_list let l:cwd = l:cwd[-1] endif AssertEqual a:expected_cwd, l:cwd endfunction function! ale#assert#FixerCwd(expected_cwd) abort let l:buffer = bufnr('') let l:cwd = s:ProcessDeferredCwds(s:FixerFunction(l:buffer), v:null) if type(a:expected_cwd) isnot v:t_list let l:cwd = l:cwd[-1] endif AssertEqual a:expected_cwd, l:cwd endfunction function! ale#assert#Fixer(expected_result) abort let l:buffer = bufnr('') let l:result = s:ProcessDeferredCommands(s:FixerFunction(l:buffer)) if type(a:expected_result) isnot v:t_list let l:result = l:result[-1] endif AssertEqual a:expected_result, l:result endfunction function! ale#assert#FixerNotExecuted() abort let l:buffer = bufnr('') let l:result = s:ProcessDeferredCommands(s:FixerFunction(l:buffer))[-1] Assert empty(l:result), "The fixer will be executed when it shouldn't be" endfunction function! ale#assert#LinterNotExecuted() abort let l:buffer = bufnr('') let l:linter = s:GetLinter() let l:executable = ale#linter#GetExecutable(l:buffer, l:linter) let l:executed = 1 if !empty(l:executable) let l:command = ale#linter#GetCommand(l:buffer, l:linter) if type(l:command) is v:t_list let l:command = l:command[-1] endif let l:executed = !empty(l:command) else let l:executed = 0 endif Assert !l:executed, "The linter will be executed when it shouldn't be" endfunction function! ale#assert#LSPOptions(expected_options) abort let l:buffer = bufnr('') let l:linter = s:GetLinter() let l:initialization_options = ale#lsp_linter#GetOptions(l:buffer, l:linter) AssertEqual a:expected_options, l:initialization_options endfunction function! ale#assert#LSPConfig(expected_config) abort let l:buffer = bufnr('') let l:linter = s:GetLinter() let l:config = ale#lsp_linter#GetConfig(l:buffer, l:linter) AssertEqual a:expected_config, l:config endfunction function! ale#assert#LSPLanguage(expected_language) abort let l:buffer = bufnr('') let l:linter = s:GetLinter() let l:language = ale#linter#GetLanguage(l:buffer, l:linter) AssertEqual a:expected_language, l:language endfunction function! ale#assert#LSPProject(expected_root) abort let l:buffer = bufnr('') let l:linter = s:GetLinter() let l:root = ale#lsp_linter#FindProjectRoot(l:buffer, l:linter) AssertEqual a:expected_root, l:root endfunction function! ale#assert#LSPAddress(expected_address) abort let l:buffer = bufnr('') let l:linter = s:GetLinter() let l:address = ale#linter#GetAddress(l:buffer, l:linter) AssertEqual a:expected_address, l:address endfunction function! ale#assert#SetUpLinterTestCommands() abort command! -nargs=+ GivenCommandOutput :call ale#assert#GivenCommandOutput() command! -nargs=+ AssertLinterCwd :call ale#assert#LinterCwd() command! -nargs=+ AssertLinter :call ale#assert#Linter() command! -nargs=0 AssertLinterNotExecuted :call ale#assert#LinterNotExecuted() command! -nargs=+ AssertLSPOptions :call ale#assert#LSPOptions() command! -nargs=+ AssertLSPConfig :call ale#assert#LSPConfig() command! -nargs=+ AssertLSPLanguage :call ale#assert#LSPLanguage() command! -nargs=+ AssertLSPProject :call ale#assert#LSPProject() command! -nargs=+ AssertLSPAddress :call ale#assert#LSPAddress() endfunction function! ale#assert#SetUpFixerTestCommands() abort command! -nargs=+ GivenCommandOutput :call ale#assert#GivenCommandOutput() command! -nargs=+ AssertFixerCwd :call ale#assert#FixerCwd() command! -nargs=+ AssertFixer :call ale#assert#Fixer() command! -nargs=0 AssertFixerNotExecuted :call ale#assert#FixerNotExecuted() endfunction function! ale#assert#ResetVariables(filetype, name, ...) abort " If the suffix of the option names format is different, an additional " argument can be used for that instead. if a:0 > 1 throw 'Too many arguments' endif let l:option_suffix = get(a:000, 0, a:name) let l:prefix = 'ale_' . a:filetype . '_' \ . substitute(l:option_suffix, '-', '_', 'g') let l:filter_expr = 'v:val[: len(l:prefix) - 1] is# l:prefix' " Save and clear linter variables. " We'll load the runtime file to reset them to defaults. for l:key in filter(keys(g:), l:filter_expr) execute 'Save g:' . l:key unlet g:[l:key] endfor for l:key in filter(keys(b:), l:filter_expr) unlet b:[l:key] endfor endfunction " A dummy function for making sure this module is loaded. function! ale#assert#SetUpLinterTest(filetype, name) abort " Set up a marker so ALE doesn't create real random temporary filenames. let g:ale_create_dummy_temporary_file = 1 " Remove current linters. call ale#linter#Reset() call ale#linter#PreventLoading(a:filetype) Save g:ale_root let g:ale_root = {} Save b:ale_root unlet! b:ale_root call ale#assert#ResetVariables(a:filetype, a:name) Save g:ale_c_build_dir unlet! g:ale_c_build_dir unlet! b:ale_c_build_dir execute 'runtime ale_linters/' . a:filetype . '/' . a:name . '.vim' if !exists('g:dir') call ale#test#SetDirectory('/testplugin/test/linter') endif call ale#assert#SetUpLinterTestCommands() let g:ale_run_synchronously = 1 let g:ale_run_synchronously_emulate_commands = 1 endfunction function! ale#assert#TearDownLinterTest() abort unlet! g:ale_create_dummy_temporary_file unlet! g:ale_run_synchronously unlet! g:ale_run_synchronously_callbacks unlet! g:ale_run_synchronously_emulate_commands unlet! g:ale_run_synchronously_command_results let s:command_output = [] if exists(':GivenCommandOutput') delcommand GivenCommandOutput endif if exists(':AssertLinterCwd') delcommand AssertLinterCwd endif if exists(':AssertLinter') delcommand AssertLinter endif if exists(':AssertLinterNotExecuted') delcommand AssertLinterNotExecuted endif if exists(':AssertLSPOptions') delcommand AssertLSPOptions endif if exists(':AssertLSPConfig') delcommand AssertLSPConfig endif if exists(':AssertLSPLanguage') delcommand AssertLSPLanguage endif if exists(':AssertLSPProject') delcommand AssertLSPProject endif if exists(':AssertLSPAddress') delcommand AssertLSPAddress endif if exists('g:dir') call ale#test#RestoreDirectory() endif Restore call ale#linter#Reset() if exists('*ale#semver#ResetVersionCache') call ale#semver#ResetVersionCache() endif endfunction function! ale#assert#SetUpFixerTest(filetype, name, ...) abort " If the suffix of the option names format is different, an additional " argument can be used for that instead. if a:0 > 1 throw 'Too many arguments' endif " Set up a marker so ALE doesn't create real random temporary filenames. let g:ale_create_dummy_temporary_file = 1 let l:function_name = ale#fix#registry#GetFunc(a:name) let s:FixerFunction = function(l:function_name) let l:option_suffix = get(a:000, 0, a:name) call ale#assert#ResetVariables(a:filetype, a:name, l:option_suffix) execute 'runtime autoload/ale/fixers/' . substitute(a:name, '-', '_', 'g') . '.vim' if !exists('g:dir') call ale#test#SetDirectory('/testplugin/test/fixers') endif call ale#assert#SetUpFixerTestCommands() let g:ale_run_synchronously = 1 let g:ale_run_synchronously_emulate_commands = 1 endfunction function! ale#assert#TearDownFixerTest() abort unlet! g:ale_create_dummy_temporary_file unlet! g:ale_run_synchronously unlet! g:ale_run_synchronously_callbacks unlet! g:ale_run_synchronously_emulate_commands unlet! g:ale_run_synchronously_command_results let s:command_output = [] unlet! s:FixerFunction if exists('g:dir') call ale#test#RestoreDirectory() endif Restore if exists('*ale#semver#ResetVersionCache') call ale#semver#ResetVersionCache() endif if exists(':GivenCommandOutput') delcommand GivenCommandOutput endif if exists(':AssertFixerCwd') delcommand AssertFixerCwd endif if exists(':AssertFixer') delcommand AssertFixer endif if exists(':AssertFixerNotExecuted') delcommand AssertFixerNotExecuted endif endfunction ================================================ FILE: bundle/ale/autoload/ale/balloon.vim ================================================ " Author: w0rp " Description: balloonexpr support for ALE. function! ale#balloon#MessageForPos(bufnr, lnum, col) abort let l:set_balloons = ale#Var(a:bufnr, 'set_balloons') let l:show_problems = 0 let l:show_hover = 0 if l:set_balloons is 1 let l:show_problems = 1 let l:show_hover = 1 elseif l:set_balloons is# 'hover' let l:show_hover = 1 endif " Don't show balloons if they are disabled, or linting is disabled. if !(l:show_problems || l:show_hover) \|| !g:ale_enabled \|| !getbufvar(a:bufnr, 'ale_enabled', 1) return '' endif if l:show_problems let l:loclist = get(g:ale_buffer_info, a:bufnr, {'loclist': []}).loclist let l:index = ale#util#BinarySearch(l:loclist, a:bufnr, a:lnum, a:col) endif " Show the diagnostics message if found, 'Hover' output otherwise if l:show_problems && l:index >= 0 return l:loclist[l:index].text elseif l:show_hover && ( \ exists('*balloon_show') \ || getbufvar( \ a:bufnr, \ 'ale_set_balloons_legacy_echo', \ get(g:, 'ale_set_balloons_legacy_echo', 0) \ ) \) " Request LSP/tsserver hover information, but only if this version of " Vim supports the balloon_show function, or if we turned a legacy " setting on. call ale#hover#Show(a:bufnr, a:lnum, a:col, {'called_from_balloonexpr': 1}) endif return '' endfunction function! ale#balloon#Expr() abort return ale#balloon#MessageForPos(v:beval_bufnr, v:beval_lnum, v:beval_col) endfunction function! ale#balloon#Disable() abort if has('balloon_eval') set noballooneval set balloonexpr= endif if has('balloon_eval_term') set noballoonevalterm set balloonexpr= endif endfunction function! ale#balloon#Enable() abort if has('balloon_eval') set ballooneval set balloonexpr=ale#balloon#Expr() endif if has('balloon_eval_term') set balloonevalterm set balloonexpr=ale#balloon#Expr() endif endfunction ================================================ FILE: bundle/ale/autoload/ale/c.vim ================================================ " Author: gagbo , w0rp , roel0 " Description: Functions for integrating with C-family linters. call ale#Set('c_parse_makefile', 0) call ale#Set('c_always_make', has('unix') && !has('macunix')) call ale#Set('c_parse_compile_commands', 1) let s:sep = has('win32') ? '\' : '/' " Set just so tests can override it. let g:__ale_c_project_filenames = ['.git/HEAD', 'configure', 'Makefile', 'CMakeLists.txt'] let g:ale_c_build_dir_names = get(g:, 'ale_c_build_dir_names', [ \ 'build', \ 'bin', \]) function! s:CanParseMakefile(buffer) abort " Something somewhere seems to delete this setting in tests, so ensure we " always have a default value. call ale#Set('c_parse_makefile', 0) return ale#Var(a:buffer, 'c_parse_makefile') endfunction function! ale#c#GetBuildDirectory(buffer) abort let l:build_dir = ale#Var(a:buffer, 'c_build_dir') " c_build_dir has the priority if defined if !empty(l:build_dir) return l:build_dir endif let [l:root, l:json_file] = ale#c#FindCompileCommands(a:buffer) return ale#path#Dirname(l:json_file) endfunction function! ale#c#ShellSplit(line) abort let l:stack = [] let l:args = [''] let l:prev = '' for l:char in split(a:line, '\zs') if l:char is# '''' if len(l:stack) > 0 && get(l:stack, -1) is# '''' call remove(l:stack, -1) elseif (len(l:stack) == 0 || get(l:stack, -1) isnot# '"') && l:prev isnot# '\' call add(l:stack, l:char) endif elseif (l:char is# '"' || l:char is# '`') && l:prev isnot# '\' if len(l:stack) > 0 && get(l:stack, -1) is# l:char call remove(l:stack, -1) elseif len(l:stack) == 0 || get(l:stack, -1) isnot# '''' call add(l:stack, l:char) endif elseif (l:char is# '(' || l:char is# '[' || l:char is# '{') && l:prev isnot# '\' if len(l:stack) == 0 || get(l:stack, -1) isnot# '''' call add(l:stack, l:char) endif elseif (l:char is# ')' || l:char is# ']' || l:char is# '}') && l:prev isnot# '\' if len(l:stack) > 0 && get(l:stack, -1) is# {')': '(', ']': '[', '}': '{'}[l:char] call remove(l:stack, -1) endif elseif l:char is# ' ' && len(l:stack) == 0 if len(get(l:args, -1)) > 0 call add(l:args, '') endif continue endif let l:args[-1] = get(l:args, -1) . l:char endfor return l:args endfunction " Takes the path prefix and a list of cflags and expands @file arguments to " the contents of the file. " " @file arguments are command line arguments recognised by gcc and clang. For " instance, if @./path/to/file was given to gcc, it would load .path/to/file " and use the contents of that file as arguments. function! ale#c#ExpandAtArgs(path_prefix, raw_split_lines) abort let l:out_lines = [] for l:option in a:raw_split_lines if stridx(l:option, '@') == 0 " This is an argument specifying a location of a file containing other arguments let l:path = join(split(l:option, '\zs')[1:], '') " Make path absolute if !ale#path#IsAbsolute(l:path) let l:rel_path = substitute(l:path, '"', '', 'g') let l:rel_path = substitute(l:rel_path, '''', '', 'g') let l:path = ale#path#GetAbsPath(a:path_prefix, l:rel_path) endif " Read the file and add all the arguments try let l:additional_args = readfile(l:path) catch continue " All we can really do is skip this argument endtry let l:file_lines = [] for l:line in l:additional_args let l:file_lines += ale#c#ShellSplit(l:line) endfor " @file arguments can include other @file arguments, so we must " recurse. let l:out_lines += ale#c#ExpandAtArgs(a:path_prefix, l:file_lines) else " This is not an @file argument, so don't touch it. let l:out_lines += [l:option] endif endfor return l:out_lines endfunction " Quote C/C++ a compiler argument, if needed. " " Quoting arguments might cause issues with some systems/compilers, so we only " quote them if we need to. function! ale#c#QuoteArg(arg) abort if a:arg !~# '\v[#$&*()\\|[\]{};''"<>/?! ^%]' return a:arg endif return ale#Escape(a:arg) endfunction function! ale#c#ParseCFlags(path_prefix, should_quote, raw_arguments) abort " Expand @file arguments now before parsing let l:arguments = ale#c#ExpandAtArgs(a:path_prefix, a:raw_arguments) " A list of [already_quoted, argument] let l:items = [] let l:option_index = 0 while l:option_index < len(l:arguments) let l:option = l:arguments[l:option_index] let l:option_index = l:option_index + 1 " Include options, that may need relative path fix if stridx(l:option, '-I') == 0 \ || stridx(l:option, '-iquote') == 0 \ || stridx(l:option, '-isystem') == 0 \ || stridx(l:option, '-idirafter') == 0 \ || stridx(l:option, '-iframework') == 0 if stridx(l:option, '-I') == 0 && l:option isnot# '-I' let l:arg = join(split(l:option, '\zs')[2:], '') let l:option = '-I' else let l:arg = l:arguments[l:option_index] let l:option_index = l:option_index + 1 endif " Fix relative paths if needed if !ale#path#IsAbsolute(l:arg) let l:rel_path = substitute(l:arg, '"', '', 'g') let l:rel_path = substitute(l:rel_path, '''', '', 'g') let l:arg = ale#path#GetAbsPath(a:path_prefix, l:rel_path) endif call add(l:items, [1, l:option]) call add(l:items, [1, ale#Escape(l:arg)]) " Options with arg that can be grouped with the option or separate elseif stridx(l:option, '-D') == 0 || stridx(l:option, '-B') == 0 if l:option is# '-D' || l:option is# '-B' call add(l:items, [1, l:option]) call add(l:items, [0, l:arguments[l:option_index]]) let l:option_index = l:option_index + 1 else call add(l:items, [0, l:option]) endif " Options that have an argument (always separate) elseif l:option is# '-iprefix' || stridx(l:option, '-iwithprefix') == 0 \ || l:option is# '-isysroot' || l:option is# '-imultilib' \ || l:option is# '-include' || l:option is# '-imacros' call add(l:items, [0, l:option]) call add(l:items, [0, l:arguments[l:option_index]]) let l:option_index = l:option_index + 1 " Options without argument elseif (stridx(l:option, '-W') == 0 && stridx(l:option, '-Wa,') != 0 && stridx(l:option, '-Wl,') != 0 && stridx(l:option, '-Wp,') != 0) \ || l:option is# '-w' || stridx(l:option, '-pedantic') == 0 \ || l:option is# '-ansi' || stridx(l:option, '-std=') == 0 \ || stridx(l:option, '-f') == 0 && l:option !~# '\v^-f(dump|diagnostics|no-show-column|stack-usage)' \ || stridx(l:option, '-O') == 0 \ || l:option is# '-C' || l:option is# '-CC' || l:option is# '-trigraphs' \ || stridx(l:option, '-nostdinc') == 0 || stridx(l:option, '-iplugindir=') == 0 \ || stridx(l:option, '--sysroot=') == 0 || l:option is# '--no-sysroot-suffix' \ || stridx(l:option, '-m') == 0 call add(l:items, [0, l:option]) endif endwhile if a:should_quote " Quote C arguments that haven't already been quoted above. " If and only if we've been asked to quote them. call map(l:items, 'v:val[0] ? v:val[1] : ale#c#QuoteArg(v:val[1])') else call map(l:items, 'v:val[1]') endif return join(l:items, ' ') endfunction function! ale#c#ParseCFlagsFromMakeOutput(buffer, make_output) abort if !s:CanParseMakefile(a:buffer) return v:null endif let l:buffer_filename = expand('#' . a:buffer . ':t') let l:cflag_line = '' " Find a line matching this buffer's filename in the make output. for l:line in a:make_output if stridx(l:line, l:buffer_filename) >= 0 let l:cflag_line = l:line break endif endfor let l:makefile_path = ale#path#FindNearestFile(a:buffer, 'Makefile') let l:makefile_dir = fnamemodify(l:makefile_path, ':p:h') return ale#c#ParseCFlags(l:makefile_dir, 0, ale#c#ShellSplit(l:cflag_line)) endfunction " Given a buffer number, find the project directory containing " compile_commands.json, and the path to the compile_commands.json file. " " If compile_commands.json cannot be found, two empty strings will be " returned. function! ale#c#FindCompileCommands(buffer) abort " Look above the current source file to find compile_commands.json let l:json_file = ale#path#FindNearestFile(a:buffer, 'compile_commands.json') if !empty(l:json_file) return [fnamemodify(l:json_file, ':h'), l:json_file] endif " Search in build directories if we can't find it in the project. for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) for l:dirname in ale#Var(a:buffer, 'c_build_dir_names') let l:c_build_dir = l:path . s:sep . l:dirname let l:json_file = l:c_build_dir . s:sep . 'compile_commands.json' if filereadable(l:json_file) return [l:path, l:json_file] endif endfor endfor return ['', ''] endfunction " Find the project root for C/C++ projects. " " The location of compile_commands.json will be used to find project roots. " " If compile_commands.json cannot be found, other common configuration files " will be used to detect the project root. function! ale#c#FindProjectRoot(buffer) abort let [l:root, l:json_file] = ale#c#FindCompileCommands(a:buffer) " Fall back on detecting the project root based on other filenames. if empty(l:root) for l:project_filename in g:__ale_c_project_filenames let l:full_path = ale#path#FindNearestFile(a:buffer, l:project_filename) if !empty(l:full_path) let l:path = fnamemodify(l:full_path, ':h') " Correct .git path detection. if fnamemodify(l:path, ':t') is# '.git' let l:path = fnamemodify(l:path, ':h') endif return l:path endif endfor endif return l:root endfunction " Cache compile_commands.json data in a Dictionary, so we don't need to read " the same files over and over again. The key in the dictionary will include " the last modified time of the file. if !exists('s:compile_commands_cache') let s:compile_commands_cache = {} endif function! ale#c#ResetCompileCommandsCache() abort let s:compile_commands_cache = {} endfunction function! s:GetLookupFromCompileCommandsFile(compile_commands_file) abort let l:empty = [{}, {}] if empty(a:compile_commands_file) return l:empty endif let l:time = getftime(a:compile_commands_file) if l:time < 0 return l:empty endif let l:key = a:compile_commands_file . ':' . l:time if has_key(s:compile_commands_cache, l:key) return s:compile_commands_cache[l:key] endif let l:raw_data = [] silent! let l:raw_data = json_decode(join(readfile(a:compile_commands_file), '')) if type(l:raw_data) isnot v:t_list let l:raw_data = [] endif let l:file_lookup = {} let l:dir_lookup = {} for l:entry in (type(l:raw_data) is v:t_list ? l:raw_data : []) let l:filename = ale#path#GetAbsPath(l:entry.directory, l:entry.file) " Store a key for lookups by the absolute path to the filename. let l:file_lookup[l:filename] = get(l:file_lookup, l:filename, []) + [l:entry] " Store a key for fuzzy lookups by the absolute path to the directory. let l:dirname = fnamemodify(l:filename, ':h') let l:dir_lookup[l:dirname] = get(l:dir_lookup, l:dirname, []) + [l:entry] " Store a key for fuzzy lookups by just the basename of the file. let l:basename = tolower(fnamemodify(l:entry.file, ':t')) let l:file_lookup[l:basename] = get(l:file_lookup, l:basename, []) + [l:entry] " Store a key for fuzzy lookups by just the basename of the directory. let l:dirbasename = tolower(fnamemodify(l:entry.directory, ':p:h:t')) let l:dir_lookup[l:dirbasename] = get(l:dir_lookup, l:dirbasename, []) + [l:entry] endfor if !empty(l:file_lookup) && !empty(l:dir_lookup) let l:result = [l:file_lookup, l:dir_lookup] let s:compile_commands_cache[l:key] = l:result return l:result endif return l:empty endfunction " Get [should_quote, arguments] from either 'command' or 'arguments' " 'arguments' should be quoted later, the split 'command' strings should not. function! s:GetArguments(json_item) abort if has_key(a:json_item, 'arguments') return [1, a:json_item.arguments] elseif has_key(a:json_item, 'command') return [0, ale#c#ShellSplit(a:json_item.command)] endif return [0, []] endfunction function! ale#c#ParseCompileCommandsFlags(buffer, file_lookup, dir_lookup) abort let l:buffer_filename = ale#path#Simplify(expand('#' . a:buffer . ':p')) let l:basename = tolower(fnamemodify(l:buffer_filename, ':t')) " Look for any file in the same directory if we can't find an exact match. let l:dir = fnamemodify(l:buffer_filename, ':h') " Search for an exact file match first. let l:file_list = get(a:file_lookup, l:buffer_filename, []) " We may have to look for /foo/bar instead of C:\foo\bar if empty(l:file_list) && has('win32') let l:file_list = get( \ a:file_lookup, \ ale#path#RemoveDriveLetter(l:buffer_filename), \ [] \) endif " Try the absolute path to the directory second. let l:dir_list = get(a:dir_lookup, l:dir, []) if empty(l:dir_list) && has('win32') let l:dir_list = get( \ a:dir_lookup, \ ale#path#RemoveDriveLetter(l:dir), \ [] \) endif if empty(l:file_list) && empty(l:dir_list) " If we can't find matches with the path to the file, try a " case-insensitive match for any similarly-named file. let l:file_list = get(a:file_lookup, l:basename, []) " If we can't find matches with the path to the directory, try a " case-insensitive match for anything in similarly-named directory. let l:dir_list = get(a:dir_lookup, tolower(fnamemodify(l:dir, ':t')), []) endif " A source file matching the header filename. let l:source_file = '' if empty(l:file_list) && l:basename =~? '\.h$\|\.hpp$' for l:suffix in ['.c', '.cpp'] " Try to find a source file by an absolute path first. let l:key = fnamemodify(l:buffer_filename, ':r') . l:suffix let l:file_list = get(a:file_lookup, l:key, []) if empty(l:file_list) && has('win32') let l:file_list = get( \ a:file_lookup, \ ale#path#RemoveDriveLetter(l:key), \ [] \) endif if empty(l:file_list) " Look fuzzy matches on the basename second. let l:key = fnamemodify(l:basename, ':r') . l:suffix let l:file_list = get(a:file_lookup, l:key, []) endif if !empty(l:file_list) let l:source_file = l:key break endif endfor endif for l:item in l:file_list let l:filename = ale#path#GetAbsPath(l:item.directory, l:item.file) " Load the flags for this file, or for a source file matching the " header file. if ( \ bufnr(l:filename) is a:buffer \ || ( \ !empty(l:source_file) \ && l:filename[-len(l:source_file):] is? l:source_file \ ) \) let [l:should_quote, l:args] = s:GetArguments(l:item) return ale#c#ParseCFlags(l:item.directory, l:should_quote, l:args) endif endfor for l:item in l:dir_list let l:filename = ale#path#GetAbsPath(l:item.directory, l:item.file) if ale#path#RemoveDriveLetter(fnamemodify(l:filename, ':h')) \ is? ale#path#RemoveDriveLetter(l:dir) let [l:should_quote, l:args] = s:GetArguments(l:item) return ale#c#ParseCFlags(l:item.directory, l:should_quote, l:args) endif endfor return '' endfunction function! ale#c#FlagsFromCompileCommands(buffer, compile_commands_file) abort let l:lookups = s:GetLookupFromCompileCommandsFile(a:compile_commands_file) let l:file_lookup = l:lookups[0] let l:dir_lookup = l:lookups[1] return ale#c#ParseCompileCommandsFlags(a:buffer, l:file_lookup, l:dir_lookup) endfunction function! ale#c#GetCFlags(buffer, output) abort let l:cflags = v:null if ale#Var(a:buffer, 'c_parse_compile_commands') let [l:root, l:json_file] = ale#c#FindCompileCommands(a:buffer) if !empty(l:json_file) let l:cflags = ale#c#FlagsFromCompileCommands(a:buffer, l:json_file) endif endif if empty(l:cflags) && s:CanParseMakefile(a:buffer) && !empty(a:output) let l:cflags = ale#c#ParseCFlagsFromMakeOutput(a:buffer, a:output) endif if l:cflags is v:null let l:cflags = ale#c#IncludeOptions(ale#c#FindLocalHeaderPaths(a:buffer)) endif return l:cflags isnot v:null ? l:cflags : '' endfunction function! ale#c#GetMakeCommand(buffer) abort if s:CanParseMakefile(a:buffer) let l:path = ale#path#FindNearestFile(a:buffer, 'Makefile') if empty(l:path) let l:path = ale#path#FindNearestFile(a:buffer, 'GNUmakefile') endif if !empty(l:path) let l:always_make = ale#Var(a:buffer, 'c_always_make') return [ \ fnamemodify(l:path, ':h'), \ 'make -n' . (l:always_make ? ' --always-make' : ''), \] endif endif return ['', ''] endfunction function! ale#c#RunMakeCommand(buffer, Callback) abort let [l:cwd, l:command] = ale#c#GetMakeCommand(a:buffer) if empty(l:command) return a:Callback(a:buffer, []) endif return ale#command#Run( \ a:buffer, \ l:command, \ {b, output -> a:Callback(a:buffer, output)}, \ {'cwd': l:cwd}, \) endfunction " Given a buffer number, search for a project root, and output a List " of directories to include based on some heuristics. " " For projects with headers in the project root, the project root will " be returned. " " For projects with an 'include' directory, that directory will be returned. function! ale#c#FindLocalHeaderPaths(buffer) abort let l:project_root = ale#c#FindProjectRoot(a:buffer) if empty(l:project_root) return [] endif " See if we can find .h files directory in the project root. " If we can, that's our include directory. if !empty(globpath(l:project_root, '*.h', 0)) return [l:project_root] endif " Look for .hpp files too. if !empty(globpath(l:project_root, '*.hpp', 0)) return [l:project_root] endif " If we find an 'include' directory in the project root, then use that. if isdirectory(l:project_root . '/include') return [ale#path#Simplify(l:project_root . s:sep . 'include')] endif return [] endfunction " Given a List of include paths, create a string containing the -I include " options for those paths, with the paths escaped for use in the shell. function! ale#c#IncludeOptions(include_paths) abort let l:option_list = [] for l:path in a:include_paths call add(l:option_list, '-I' . ale#Escape(l:path)) endfor if empty(l:option_list) return '' endif return join(l:option_list) endfunction " Get the language flag depending on on the executable, options and " file extension function! ale#c#GetLanguageFlag( \ buffer, \ executable, \ use_header_lang_flag, \ header_exts, \ linter_lang_flag \) abort " Use only '-header' if the executable is 'clang' by default if a:use_header_lang_flag == -1 let l:use_header_lang_flag = a:executable =~# 'clang' else let l:use_header_lang_flag = a:use_header_lang_flag endif " If we don't use the header language flag, return the default linter " language flag if !l:use_header_lang_flag return a:linter_lang_flag endif " Get the buffer file extension let l:buf_ext = expand('#' . a:buffer . ':e') " If the buffer file is an header according to its extension, use " the linter language flag + '-header', ex: 'c-header' if index(a:header_exts, l:buf_ext) >= 0 return a:linter_lang_flag . '-header' endif " Else, use the default linter language flag return a:linter_lang_flag endfunction ================================================ FILE: bundle/ale/autoload/ale/code_action.vim ================================================ " Author: Jerko Steiner " Description: Code action support for LSP / tsserver function! ale#code_action#ReloadBuffer() abort let l:buffer = bufnr('') execute 'augroup ALECodeActionReloadGroup' . l:buffer autocmd! augroup END silent! execute 'augroup! ALECodeActionReloadGroup' . l:buffer call ale#util#Execute(':e!') endfunction function! ale#code_action#HandleCodeAction(code_action, options) abort let l:current_buffer = bufnr('') let l:changes = a:code_action.changes for l:file_code_edit in l:changes call ale#code_action#ApplyChanges( \ l:file_code_edit.fileName, \ l:file_code_edit.textChanges, \ a:options, \) endfor endfunction function! s:ChangeCmp(left, right) abort if a:left.start.line < a:right.start.line return -1 endif if a:left.start.line > a:right.start.line return 1 endif if a:left.start.offset < a:right.start.offset return -1 endif if a:left.start.offset > a:right.start.offset return 1 endif if a:left.end.line < a:right.end.line return -1 endif if a:left.end.line > a:right.end.line return 1 endif if a:left.end.offset < a:right.end.offset return -1 endif if a:left.end.offset > a:right.end.offset return 1 endif return 0 endfunction function! ale#code_action#ApplyChanges(filename, changes, options) abort let l:should_save = get(a:options, 'should_save') let l:conn_id = get(a:options, 'conn_id') let l:orig_buffer = bufnr('') " The buffer is used to determine the fileformat, if available. let l:buffer = bufnr(a:filename) if l:buffer != l:orig_buffer call ale#util#Execute('silent edit ' . a:filename) let l:buffer = bufnr('') endif let l:lines = getbufline(l:buffer, 1, '$') " Add empty line if there's trailing newline, like readfile() does. if getbufvar(l:buffer, '&eol') let l:lines += [''] endif let l:pos = getpos('.')[1:2] " Changes have to be sorted so we apply them from bottom-to-top for l:code_edit in reverse(sort(copy(a:changes), function('s:ChangeCmp'))) let l:line = l:code_edit.start.line let l:column = l:code_edit.start.offset let l:end_line = l:code_edit.end.line let l:end_column = l:code_edit.end.offset let l:text = l:code_edit.newText let l:insertions = split(l:text, '\n', 1) " Fix invalid columns let l:column = l:column > 0 ? l:column : 1 let l:end_column = l:end_column > 0 ? l:end_column : 1 " Clamp start to BOF if l:line < 1 let [l:line, l:column] = [1, 1] endif " Clamp start to EOF if l:line > len(l:lines) || l:line == len(l:lines) && l:column > len(l:lines[-1]) + 1 let [l:line, l:column] = [len(l:lines), len(l:lines[-1]) + 1] " Special case when start is after EOL elseif l:line < len(l:lines) && l:column > len(l:lines[l:line - 1]) + 1 let [l:line, l:column] = [l:line + 1, 1] endif " Adjust end: clamp if invalid and/or adjust if we moved start if l:end_line < l:line || l:end_line == l:line && l:end_column < l:column let [l:end_line, l:end_column] = [l:line, l:column] endif " Clamp end to EOF if l:end_line > len(l:lines) || l:end_line == len(l:lines) && l:end_column > len(l:lines[-1]) + 1 let [l:end_line, l:end_column] = [len(l:lines), len(l:lines[-1]) + 1] " Special case when end is after EOL elseif l:end_line < len(l:lines) && l:end_column > len(l:lines[l:end_line - 1]) + 1 let [l:end_line, l:end_column] = [l:end_line + 1, 1] endif " Careful, [:-1] is not an empty list let l:start = l:line is 1 ? [] : l:lines[: l:line - 2] let l:middle = l:column is 1 ? [''] : [l:lines[l:line - 1][: l:column - 2]] let l:middle[-1] .= l:insertions[0] let l:middle += l:insertions[1:] let l:middle[-1] .= l:lines[l:end_line - 1][l:end_column - 1 :] let l:end_line_len = len(l:lines[l:end_line - 1]) let l:lines_before_change = len(l:lines) let l:lines = l:start + l:middle + l:lines[l:end_line :] let l:current_line_offset = len(l:lines) - l:lines_before_change let l:column_offset = len(l:middle[-1]) - l:end_line_len " Keep cursor where it was (if outside of changes) or move it after " the changed text (if inside), but don't touch it when the change " spans the entire buffer, in which case we have no clue and it's " better to not do anything. if l:line isnot 1 || l:column isnot 1 \|| l:end_line < l:lines_before_change \|| l:end_line == l:lines_before_change && l:end_column <= l:end_line_len let l:pos = s:UpdateCursor(l:pos, \ [l:line, l:column], \ [l:end_line, l:end_column], \ [l:current_line_offset, l:column_offset]) endif endfor " Make sure to add a trailing newline if and only if it should be added. if l:lines[-1] is# '' && getbufvar(l:buffer, '&eol') call remove(l:lines, -1) else call setbufvar(l:buffer, '&eol', 0) endif call ale#util#SetBufferContents(l:buffer, l:lines) call ale#lsp#NotifyForChanges(l:conn_id, l:buffer) if l:should_save call ale#util#Execute('silent w!') endif call setpos('.', [0, l:pos[0], l:pos[1], 0]) if l:orig_buffer != l:buffer && bufexists(l:orig_buffer) call ale#util#Execute('silent buf ' . string(l:orig_buffer)) endif endfunction function! s:UpdateCursor(cursor, start, end, offset) abort let l:cur_line = a:cursor[0] let l:cur_column = a:cursor[1] let l:line = a:start[0] let l:column = a:start[1] let l:end_line = a:end[0] let l:end_column = a:end[1] let l:line_offset = a:offset[0] let l:column_offset = a:offset[1] if l:end_line < l:cur_line " both start and end lines are before the cursor. only line offset " needs to be updated let l:cur_line += l:line_offset elseif l:end_line == l:cur_line " end line is at the same location as cursor, which means " l:line <= l:cur_line if l:line < l:cur_line || l:column <= l:cur_column " updates are happening either before or around the cursor if l:end_column < l:cur_column " updates are happening before the cursor, update the " column offset for cursor let l:cur_line += l:line_offset let l:cur_column += l:column_offset else " updates are happening around the cursor, move the cursor " to the end of the changes let l:cur_line += l:line_offset let l:cur_column = l:end_column + l:column_offset endif " else is not necessary, it means modifications are happening " after the cursor so no cursor updates need to be done endif else " end line is after the cursor if l:line < l:cur_line || l:line == l:cur_line && l:column <= l:cur_column " changes are happening around the cursor, move the cursor " to the end of the changes let l:cur_line = l:end_line + l:line_offset let l:cur_column = l:end_column + l:column_offset " else is not necessary, it means modifications are happening " after the cursor so no cursor updates need to be done endif endif return [l:cur_line, l:cur_column] endfunction function! ale#code_action#GetChanges(workspace_edit) abort if a:workspace_edit is v:null return {} endif let l:changes = {} if has_key(a:workspace_edit, 'changes') && !empty(a:workspace_edit.changes) return a:workspace_edit.changes elseif has_key(a:workspace_edit, 'documentChanges') let l:document_changes = [] if type(a:workspace_edit.documentChanges) is v:t_dict \ && has_key(a:workspace_edit.documentChanges, 'edits') call add(l:document_changes, a:workspace_edit.documentChanges) elseif type(a:workspace_edit.documentChanges) is v:t_list let l:document_changes = a:workspace_edit.documentChanges endif for l:text_document_edit in l:document_changes let l:filename = l:text_document_edit.textDocument.uri let l:edits = l:text_document_edit.edits let l:changes[l:filename] = l:edits endfor endif return l:changes endfunction function! ale#code_action#BuildChangesList(changes_map) abort let l:changes = [] for l:file_name in keys(a:changes_map) let l:text_edits = a:changes_map[l:file_name] let l:text_changes = [] for l:edit in l:text_edits let l:range = l:edit.range let l:new_text = l:edit.newText call add(l:text_changes, { \ 'start': { \ 'line': l:range.start.line + 1, \ 'offset': l:range.start.character + 1, \ }, \ 'end': { \ 'line': l:range.end.line + 1, \ 'offset': l:range.end.character + 1, \ }, \ 'newText': l:new_text, \}) endfor call add(l:changes, { \ 'fileName': ale#util#ToResource(l:file_name), \ 'textChanges': l:text_changes, \}) endfor return l:changes endfunction function! s:EscapeMenuName(text) abort return substitute(a:text, '\\\| \|\.\|&', '\\\0', 'g') endfunction function! s:UpdateMenu(data, menu_items) abort silent! aunmenu PopUp.Refactor\.\.\. if empty(a:data) return endif for [l:type, l:item] in a:menu_items let l:name = l:type is# 'tsserver' ? l:item.name : l:item.title let l:func_name = l:type is# 'tsserver' \ ? 'ale#codefix#ApplyTSServerCodeAction' \ : 'ale#codefix#ApplyLSPCodeAction' execute printf( \ 'anoremenu PopUp.&Refactor\.\.\..%s' \ . ' :call %s(%s, %s)', \ s:EscapeMenuName(l:name), \ l:func_name, \ string(a:data), \ string(l:item), \) endfor if empty(a:menu_items) silent! anoremenu PopUp.Refactor\.\.\..(None) :silent endif endfunction function! s:GetCodeActions(linter, options) abort let l:buffer = bufnr('') let [l:line, l:column] = getpos('.')[1:2] let l:column = min([l:column, len(getline(l:line))]) let l:location = { \ 'buffer': l:buffer, \ 'line': l:line, \ 'column': l:column, \ 'end_line': l:line, \ 'end_column': l:column, \} let l:Callback = function('s:OnReady', [l:location, a:options]) call ale#lsp_linter#StartLSP(l:buffer, a:linter, l:Callback) endfunction function! ale#code_action#GetCodeActions(options) abort silent! aunmenu PopUp.Rename silent! aunmenu PopUp.Refactor\.\.\. " Only display the menu items if there's an LSP server. let l:has_lsp = 0 for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) let l:has_lsp = 1 break endif endfor if l:has_lsp if !empty(expand('')) silent! anoremenu PopUp.Rename :ALERename endif silent! anoremenu PopUp.Refactor\.\.\..(None) :silent call ale#codefix#Execute( \ mode() is# 'v' || mode() is# "\", \ function('s:UpdateMenu') \) endif endfunction function! s:Setup(enabled) abort augroup ALECodeActionsGroup autocmd! if a:enabled autocmd MenuPopup * :call ale#code_action#GetCodeActions({}) endif augroup END if !a:enabled silent! augroup! ALECodeActionsGroup silent! aunmenu PopUp.Rename silent! aunmenu PopUp.Refactor\.\.\. endif endfunction function! ale#code_action#EnablePopUpMenu() abort call s:Setup(1) endfunction function! ale#code_action#DisablePopUpMenu() abort call s:Setup(0) endfunction ================================================ FILE: bundle/ale/autoload/ale/codefix.vim ================================================ " Author: Dalius Dobravolskas " Description: Code Fix support for tsserver and LSP servers let s:codefix_map = {} " Used to get the codefix map in tests. function! ale#codefix#GetMap() abort return deepcopy(s:codefix_map) endfunction " Used to set the codefix map in tests. function! ale#codefix#SetMap(map) abort let s:codefix_map = a:map endfunction function! ale#codefix#ClearLSPData() abort let s:codefix_map = {} endfunction function! s:message(message) abort call ale#util#Execute('echom ' . string(a:message)) endfunction function! ale#codefix#ApplyTSServerCodeAction(data, item) abort if has_key(a:item, 'changes') let l:changes = a:item.changes call ale#code_action#HandleCodeAction( \ { \ 'description': 'codefix', \ 'changes': l:changes, \ }, \ {}, \) else let l:message = ale#lsp#tsserver_message#GetEditsForRefactor( \ a:data.buffer, \ a:data.line, \ a:data.column, \ a:data.end_line, \ a:data.end_column, \ a:item.id[0], \ a:item.id[1], \) let l:request_id = ale#lsp#Send(a:data.connection_id, l:message) let s:codefix_map[l:request_id] = a:data endif endfunction function! ale#codefix#HandleTSServerResponse(conn_id, response) abort if !has_key(a:response, 'request_seq') \ || !has_key(s:codefix_map, a:response.request_seq) return endif let l:data = remove(s:codefix_map, a:response.request_seq) let l:MenuCallback = get(l:data, 'menu_callback', v:null) if get(a:response, 'command', '') is# 'getCodeFixes' if get(a:response, 'success', v:false) is v:false \&& l:MenuCallback is v:null let l:message = get(a:response, 'message', 'unknown') call s:message('Error while getting code fixes. Reason: ' . l:message) return endif let l:result = get(a:response, 'body', []) call filter(l:result, 'has_key(v:val, ''changes'')') if l:MenuCallback isnot v:null call l:MenuCallback( \ l:data, \ map(copy(l:result), '[''tsserver'', v:val]') \) return endif if len(l:result) == 0 call s:message('No code fixes available.') return endif let l:code_fix_to_apply = 0 if len(l:result) == 1 let l:code_fix_to_apply = 1 else let l:codefix_no = 1 let l:codefixstring = "Code Fixes:\n" for l:codefix in l:result let l:codefixstring .= l:codefix_no . ') ' \ . l:codefix.description . "\n" let l:codefix_no += 1 endfor let l:codefixstring .= 'Type number and (empty cancels): ' let l:code_fix_to_apply = ale#util#Input(l:codefixstring, '') let l:code_fix_to_apply = str2nr(l:code_fix_to_apply) if l:code_fix_to_apply == 0 return endif endif call ale#codefix#ApplyTSServerCodeAction( \ l:data, \ l:result[l:code_fix_to_apply - 1], \) elseif get(a:response, 'command', '') is# 'getApplicableRefactors' if get(a:response, 'success', v:false) is v:false \&& l:MenuCallback is v:null let l:message = get(a:response, 'message', 'unknown') call s:message('Error while getting applicable refactors. Reason: ' . l:message) return endif let l:result = get(a:response, 'body', []) if len(l:result) == 0 call s:message('No applicable refactors available.') return endif let l:refactors = [] for l:item in l:result for l:action in l:item.actions call add(l:refactors, { \ 'name': l:action.description, \ 'id': [l:item.name, l:action.name], \}) endfor endfor if l:MenuCallback isnot v:null call l:MenuCallback( \ l:data, \ map(copy(l:refactors), '[''tsserver'', v:val]') \) return endif let l:refactor_no = 1 let l:refactorstring = "Applicable refactors:\n" for l:refactor in l:refactors let l:refactorstring .= l:refactor_no . ') ' \ . l:refactor.name . "\n" let l:refactor_no += 1 endfor let l:refactorstring .= 'Type number and (empty cancels): ' let l:refactor_to_apply = ale#util#Input(l:refactorstring, '') let l:refactor_to_apply = str2nr(l:refactor_to_apply) if l:refactor_to_apply == 0 return endif let l:id = l:refactors[l:refactor_to_apply - 1].id call ale#codefix#ApplyTSServerCodeAction( \ l:data, \ l:refactors[l:refactor_to_apply - 1], \) elseif get(a:response, 'command', '') is# 'getEditsForRefactor' if get(a:response, 'success', v:false) is v:false let l:message = get(a:response, 'message', 'unknown') call s:message('Error while getting edits for refactor. Reason: ' . l:message) return endif call ale#code_action#HandleCodeAction( \ { \ 'description': 'editsForRefactor', \ 'changes': a:response.body.edits, \ }, \ {}, \) endif endfunction function! ale#codefix#ApplyLSPCodeAction(data, item) abort if has_key(a:item, 'command') \&& type(a:item.command) == v:t_dict let l:command = a:item.command let l:message = ale#lsp#message#ExecuteCommand( \ l:command.command, \ l:command.arguments, \) let l:request_id = ale#lsp#Send(a:data.connection_id, l:message) elseif has_key(a:item, 'command') && has_key(a:item, 'arguments') \&& type(a:item.command) == v:t_string let l:message = ale#lsp#message#ExecuteCommand( \ a:item.command, \ a:item.arguments, \) let l:request_id = ale#lsp#Send(a:data.connection_id, l:message) elseif has_key(a:item, 'edit') || has_key(a:item, 'arguments') if has_key(a:item, 'edit') let l:topass = a:item.edit else let l:topass = a:item.arguments[0] endif let l:changes_map = ale#code_action#GetChanges(l:topass) if empty(l:changes_map) return endif let l:changes = ale#code_action#BuildChangesList(l:changes_map) call ale#code_action#HandleCodeAction( \ { \ 'description': 'codeaction', \ 'changes': l:changes, \ }, \ {}, \) endif endfunction function! ale#codefix#HandleLSPResponse(conn_id, response) abort if has_key(a:response, 'method') \ && a:response.method is# 'workspace/applyEdit' \ && has_key(a:response, 'params') let l:params = a:response.params let l:changes_map = ale#code_action#GetChanges(l:params.edit) if empty(l:changes_map) return endif let l:changes = ale#code_action#BuildChangesList(l:changes_map) call ale#code_action#HandleCodeAction( \ { \ 'description': 'applyEdit', \ 'changes': l:changes, \ }, \ {} \) elseif has_key(a:response, 'id') \&& has_key(s:codefix_map, a:response.id) let l:data = remove(s:codefix_map, a:response.id) let l:MenuCallback = get(l:data, 'menu_callback', v:null) let l:result = get(a:response, 'result') if type(l:result) != v:t_list let l:result = [] endif " Send the results to the menu callback, if set. if l:MenuCallback isnot v:null call l:MenuCallback( \ l:data, \ map(copy(l:result), '[''lsp'', v:val]') \) return endif if len(l:result) == 0 call s:message('No code actions received from server') return endif let l:codeaction_no = 1 let l:codeactionstring = "Code Fixes:\n" for l:codeaction in l:result let l:codeactionstring .= l:codeaction_no . ') ' \ . l:codeaction.title . "\n" let l:codeaction_no += 1 endfor let l:codeactionstring .= 'Type number and (empty cancels): ' let l:codeaction_to_apply = ale#util#Input(l:codeactionstring, '') let l:codeaction_to_apply = str2nr(l:codeaction_to_apply) if l:codeaction_to_apply == 0 return endif let l:item = l:result[l:codeaction_to_apply - 1] call ale#codefix#ApplyLSPCodeAction(l:data, l:item) endif endfunction function! s:FindError(buffer, line, column, end_line, end_column, linter_name) abort let l:nearest_error = v:null if a:line == a:end_line \&& a:column == a:end_column \&& has_key(g:ale_buffer_info, a:buffer) let l:nearest_error_diff = -1 for l:error in get(g:ale_buffer_info[a:buffer], 'loclist', []) if has_key(l:error, 'code') \ && (a:linter_name is v:null || l:error.linter_name is# a:linter_name) \ && l:error.lnum == a:line let l:diff = abs(l:error.col - a:column) if l:nearest_error_diff == -1 || l:diff < l:nearest_error_diff let l:nearest_error_diff = l:diff let l:nearest_error = l:error endif endif endfor endif return l:nearest_error endfunction function! s:OnReady( \ line, \ column, \ end_line, \ end_column, \ MenuCallback, \ linter, \ lsp_details, \) abort let l:id = a:lsp_details.connection_id if !ale#lsp#HasCapability(l:id, 'code_actions') return endif let l:buffer = a:lsp_details.buffer if a:linter.lsp is# 'tsserver' let l:nearest_error = \ s:FindError(l:buffer, a:line, a:column, a:end_line, a:end_column, a:linter.lsp) if l:nearest_error isnot v:null let l:message = ale#lsp#tsserver_message#GetCodeFixes( \ l:buffer, \ a:line, \ a:column, \ a:line, \ a:column, \ [l:nearest_error.code], \) else let l:message = ale#lsp#tsserver_message#GetApplicableRefactors( \ l:buffer, \ a:line, \ a:column, \ a:end_line, \ a:end_column, \) endif else " Send a message saying the buffer has changed first, otherwise " completions won't know what text is nearby. call ale#lsp#NotifyForChanges(l:id, l:buffer) let l:diagnostics = [] let l:nearest_error = \ s:FindError(l:buffer, a:line, a:column, a:end_line, a:end_column, v:null) if l:nearest_error isnot v:null let l:diagnostics = [ \ { \ 'code': l:nearest_error.code, \ 'message': l:nearest_error.text, \ 'range': { \ 'start': { \ 'line': l:nearest_error.lnum - 1, \ 'character': l:nearest_error.col - 1, \ }, \ 'end': { \ 'line': get(l:nearest_error, 'end_lnum', 1) - 1, \ 'character': get(l:nearest_error, 'end_col', 0) \ }, \ }, \ }, \] endif let l:message = ale#lsp#message#CodeAction( \ l:buffer, \ a:line, \ a:column, \ a:end_line, \ a:end_column, \ l:diagnostics, \) endif let l:Callback = a:linter.lsp is# 'tsserver' \ ? function('ale#codefix#HandleTSServerResponse') \ : function('ale#codefix#HandleLSPResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) let l:request_id = ale#lsp#Send(l:id, l:message) let s:codefix_map[l:request_id] = { \ 'connection_id': l:id, \ 'buffer': l:buffer, \ 'line': a:line, \ 'column': a:column, \ 'end_line': a:end_line, \ 'end_column': a:end_column, \ 'menu_callback': a:MenuCallback, \} endfunction function! s:ExecuteGetCodeFix(linter, range, MenuCallback) abort let l:buffer = bufnr('') if a:range == 0 let [l:line, l:column] = getpos('.')[1:2] let l:end_line = l:line let l:end_column = l:column " Expand the range to cover the current word, if there is one. let l:cword = expand('') if !empty(l:cword) let l:search_pos = searchpos('\V' . l:cword, 'bn', l:line) if l:search_pos != [0, 0] let l:column = l:search_pos[1] let l:end_column = l:column + len(l:cword) - 1 endif endif elseif mode() is# 'v' || mode() is# "\" " You need to get the start and end in a different way when you're in " visual mode. let [l:line, l:column] = getpos('v')[1:2] let [l:end_line, l:end_column] = getpos('.')[1:2] else let [l:line, l:column] = getpos("'<")[1:2] let [l:end_line, l:end_column] = getpos("'>")[1:2] endif let l:column = max([min([l:column, len(getline(l:line))]), 1]) let l:end_column = min([l:end_column, len(getline(l:end_line))]) let l:Callback = function( \ 's:OnReady', [l:line, l:column, l:end_line, l:end_column, a:MenuCallback] \) call ale#lsp_linter#StartLSP(l:buffer, a:linter, l:Callback) endfunction function! ale#codefix#Execute(range, ...) abort if a:0 > 1 throw 'Too many arguments' endif let l:MenuCallback = get(a:000, 0, v:null) let l:lsp_linters = [] for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) call add(l:lsp_linters, l:linter) endif endfor if empty(l:lsp_linters) if l:MenuCallback is v:null call s:message('No active LSPs') else call l:MenuCallback({}, []) endif return endif for l:lsp_linter in l:lsp_linters call s:ExecuteGetCodeFix(l:lsp_linter, a:range, l:MenuCallback) endfor endfunction ================================================ FILE: bundle/ale/autoload/ale/command.vim ================================================ " Author: w0rp " Description: Functions for formatting command strings, running commands, and " managing files during linting and fixing cycles. " This dictionary holds lists of files and directories to remove later. if !exists('s:buffer_data') let s:buffer_data = {} endif " The regular expression used for formatting filenames with modifiers. let s:path_format_regex = '\v\%s(%(:h|:t|:r|:e)*)' " Used to get the data in tests. function! ale#command#GetData() abort return deepcopy(s:buffer_data) endfunction function! ale#command#ClearData() abort let s:buffer_data = {} endfunction function! ale#command#InitData(buffer) abort if !has_key(s:buffer_data, a:buffer) let s:buffer_data[a:buffer] = { \ 'jobs': {}, \ 'file_list': [], \ 'directory_list': [], \} endif endfunction " Set the cwd for commands that are about to run. " Used internally. function! ale#command#SetCwd(buffer, cwd) abort call ale#command#InitData(a:buffer) let s:buffer_data[a:buffer].cwd = a:cwd endfunction function! ale#command#ResetCwd(buffer) abort if has_key(s:buffer_data, a:buffer) let s:buffer_data[a:buffer].cwd = v:null endif endfunction function! ale#command#ManageFile(buffer, file) abort call ale#command#InitData(a:buffer) call add(s:buffer_data[a:buffer].file_list, a:file) endfunction function! ale#command#ManageDirectory(buffer, directory) abort call ale#command#InitData(a:buffer) call add(s:buffer_data[a:buffer].directory_list, a:directory) endfunction function! ale#command#CreateFile(buffer) abort " This variable can be set to 1 in tests to stub this out. if get(g:, 'ale_create_dummy_temporary_file') return 'TEMP' endif let l:temporary_file = ale#util#Tempname() call ale#command#ManageFile(a:buffer, l:temporary_file) return l:temporary_file endfunction " Create a new temporary directory and manage it in one go. function! ale#command#CreateDirectory(buffer) abort " This variable can be set to 1 in tests to stub this out. if get(g:, 'ale_create_dummy_temporary_file') return 'TEMP_DIR' endif let l:temporary_directory = ale#util#Tempname() " Create the temporary directory for the file, unreadable by 'other' " users. call mkdir(l:temporary_directory, '', 0750) call ale#command#ManageDirectory(a:buffer, l:temporary_directory) return l:temporary_directory endfunction function! ale#command#RemoveManagedFiles(buffer) abort let l:info = get(s:buffer_data, a:buffer, {}) if !empty(l:info) && empty(l:info.jobs) " We can't delete anything in a sandbox, so wait until we escape from " it to delete temporary files and directories. if ale#util#InSandbox() return endif " Delete files with a call akin to a plan `rm` command. for l:filename in l:info.file_list call delete(l:filename) endfor " Delete directories like `rm -rf`. " Directories are handled differently from files, so paths that are " intended to be single files can be set up for automatic deletion " without accidentally deleting entire directories. for l:directory in l:info.directory_list call delete(l:directory, 'rf') endfor call remove(s:buffer_data, a:buffer) endif endfunction function! ale#command#CreateTempFile(buffer, temporary_file, input) abort if empty(a:temporary_file) " There is no file, so we didn't create anything. return 0 endif " Use an existing list of lines of input if we have it, or get the lines " from the file. let l:lines = a:input isnot v:null ? a:input : getbufline(a:buffer, 1, '$') let l:temporary_directory = fnamemodify(a:temporary_file, ':h') " Create the temporary directory for the file, unreadable by 'other' " users. call mkdir(l:temporary_directory, '', 0750) " Automatically delete the directory later. call ale#command#ManageDirectory(a:buffer, l:temporary_directory) " Write the buffer out to a file. call ale#util#Writefile(a:buffer, l:lines, a:temporary_file) return 1 endfunction function! s:TemporaryFilename(buffer) abort let l:filename = fnamemodify(bufname(a:buffer), ':t') if empty(l:filename) " If the buffer's filename is empty, create a dummy filename. let l:ft = getbufvar(a:buffer, '&filetype') let l:filename = 'file' . ale#filetypes#GuessExtension(l:ft) endif " Create a temporary filename, / " The file itself will not be created by this function. return ale#util#Tempname() . (has('win32') ? '\' : '/') . l:filename endfunction " Given part of a command, replace any % with %%, so that no characters in " the string will be replaced with filenames, etc. function! ale#command#EscapeCommandPart(command_part) abort return substitute(a:command_part, '%', '%%', 'g') endfunction " Format a filename, converting it with filename mappings, if non-empty, " and escaping it for putting into a command string. " " The filename can be modified. function! s:FormatFilename(filename, mappings, modifiers) abort let l:filename = a:filename if !empty(a:mappings) let l:filename = ale#filename_mapping#Map(l:filename, a:mappings) endif if !empty(a:modifiers) let l:filename = fnamemodify(l:filename, a:modifiers) endif return ale#Escape(l:filename) endfunction " Produce a command prefix to check to a particular directory for a command. " %s format markers with filename-modifiers can be used as the directory, and " will be returned verbatim for formatting in paths relative to files. function! ale#command#CdString(directory) abort let l:match = matchstrpos(a:directory, s:path_format_regex) " Do not escape the directory here if it's a valid format string. " This allows us to use sequences like %s:h, %s:h:h, etc. let l:directory = l:match[1:] == [0, len(a:directory)] \ ? a:directory \ : ale#Escape(a:directory) if has('win32') return 'cd /d ' . l:directory . ' && ' endif return 'cd ' . l:directory . ' && ' endfunction " Given a command string, replace every... " %s -> with the current filename " %t -> with the name of an unused file in a temporary directory " %% -> with a literal % function! ale#command#FormatCommand( \ buffer, \ executable, \ command, \ pipe_file_if_needed, \ input, \ cwd, \ mappings, \) abort let l:temporary_file = '' let l:command = a:command if !empty(a:cwd) let l:command = ale#command#CdString(a:cwd) . l:command endif " First replace all uses of %%, used for literal percent characters, " with an ugly string. let l:command = substitute(l:command, '%%', '<>', 'g') " Replace %e with the escaped executable, if available. if !empty(a:executable) && l:command =~# '%e' let l:command = substitute(l:command, '%e', '\=ale#Escape(a:executable)', 'g') endif " Replace all %s occurrences in the string with the name of the current " file. if l:command =~# '%s' let l:filename = fnamemodify(bufname(a:buffer), ':p') let l:command = substitute( \ l:command, \ s:path_format_regex, \ '\=s:FormatFilename(l:filename, a:mappings, submatch(1))', \ 'g' \) endif if a:input isnot v:false && l:command =~# '%t' " Create a temporary filename, / " The file itself will not be created by this function. let l:temporary_file = s:TemporaryFilename(a:buffer) let l:command = substitute( \ l:command, \ '\v\%t(%(:h|:t|:r|:e)*)', \ '\=s:FormatFilename(l:temporary_file, a:mappings, submatch(1))', \ 'g' \) endif " Finish formatting so %% becomes %. let l:command = substitute(l:command, '<>', '%', 'g') if a:pipe_file_if_needed && empty(l:temporary_file) " If we are to send the Vim buffer to a command, we'll do it " in the shell. We'll write out the file to a temporary file, " and then read it back in, in the shell. let l:temporary_file = s:TemporaryFilename(a:buffer) let l:command = l:command . ' < ' . ale#Escape(l:temporary_file) endif let l:file_created = ale#command#CreateTempFile( \ a:buffer, \ l:temporary_file, \ a:input, \) return [l:temporary_file, l:command, l:file_created] endfunction function! ale#command#StopJobs(buffer, job_type) abort let l:info = get(s:buffer_data, a:buffer, {}) if !empty(l:info) let l:new_map = {} for [l:job_id, l:job_type] in items(l:info.jobs) let l:job_id = str2nr(l:job_id) if a:job_type is# 'all' || a:job_type is# l:job_type call ale#job#Stop(l:job_id) else let l:new_map[l:job_id] = l:job_type endif endfor let l:info.jobs = l:new_map endif endfunction function! s:GatherOutput(line_list, job_id, line) abort call add(a:line_list, a:line) endfunction function! s:ExitCallback(buffer, line_list, Callback, data) abort if !has_key(s:buffer_data, a:buffer) return endif let l:jobs = s:buffer_data[a:buffer].jobs if !has_key(l:jobs, a:data.job_id) return endif let l:job_type = remove(l:jobs, a:data.job_id) if g:ale_history_enabled call ale#history#SetExitCode(a:buffer, a:data.job_id, a:data.exit_code) " Log the output of the command for ALEInfo if we should. if g:ale_history_log_output && a:data.log_output is 1 call ale#history#RememberOutput( \ a:buffer, \ a:data.job_id, \ a:line_list[:] \) endif endif " If the callback starts any new jobs, use the same job type for them. call setbufvar(a:buffer, 'ale_job_type', l:job_type) let l:value = a:Callback(a:buffer, a:line_list, { \ 'exit_code': a:data.exit_code, \ 'temporary_file': a:data.temporary_file, \}) let l:result = a:data.result let l:result.value = l:value " Set the default cwd for this buffer in this call stack. call ale#command#SetCwd(a:buffer, l:result.cwd) try if get(l:result, 'result_callback', v:null) isnot v:null call call(l:result.result_callback, [l:value]) endif finally call ale#command#ResetCwd(a:buffer) endtry endfunction function! ale#command#Run(buffer, command, Callback, ...) abort let l:options = get(a:000, 0, {}) if len(a:000) > 1 throw 'Too many arguments!' endif let l:output_stream = get(l:options, 'output_stream', 'stdout') let l:line_list = [] let l:cwd = get(l:options, 'cwd', v:null) if l:cwd is v:null " Default the working directory to whatever it was for the last " command run in the chain. let l:cwd = get(get(s:buffer_data, a:buffer, {}), 'cwd', v:null) endif let [l:temporary_file, l:command, l:file_created] = ale#command#FormatCommand( \ a:buffer, \ get(l:options, 'executable', ''), \ a:command, \ get(l:options, 'read_buffer', 0), \ get(l:options, 'input', v:null), \ l:cwd, \ get(l:options, 'filename_mappings', []), \) let l:command = ale#job#PrepareCommand(a:buffer, l:command) let l:job_options = { \ 'exit_cb': {job_id, exit_code -> s:ExitCallback( \ a:buffer, \ l:line_list, \ a:Callback, \ { \ 'job_id': job_id, \ 'exit_code': exit_code, \ 'temporary_file': l:temporary_file, \ 'log_output': get(l:options, 'log_output', 1), \ 'result': l:result, \ } \ )}, \ 'mode': 'nl', \} if l:output_stream is# 'stdout' let l:job_options.out_cb = function('s:GatherOutput', [l:line_list]) elseif l:output_stream is# 'stderr' let l:job_options.err_cb = function('s:GatherOutput', [l:line_list]) elseif l:output_stream is# 'both' let l:job_options.out_cb = function('s:GatherOutput', [l:line_list]) let l:job_options.err_cb = function('s:GatherOutput', [l:line_list]) endif let l:status = 'failed' if get(g:, 'ale_run_synchronously') == 1 if get(g:, 'ale_emulate_job_failure') == 1 let l:job_id = 0 else " Generate a fake job ID for tests. let s:fake_job_id = get(s:, 'fake_job_id', 0) + 1 let l:job_id = s:fake_job_id endif elseif has('win32') let l:job_id = ale#job#StartWithCmd(l:command, l:job_options) else let l:job_id = ale#job#Start(l:command, l:job_options) endif if l:job_id let l:status = 'started' let l:job_type = getbufvar(a:buffer, 'ale_job_type', 'all') call ale#command#InitData(a:buffer) let s:buffer_data[a:buffer].jobs[l:job_id] = l:job_type endif if g:ale_history_enabled call ale#history#Add(a:buffer, l:status, l:job_id, l:command) endif if !l:job_id return 0 endif " We'll return this Dictionary. A `result_callback` can be assigned to it " later for capturing the result of a:Callback. " " The `_deferred_job_id` is used for both checking the type of object, and " for checking the job ID and status. " " The cwd is kept and used as the default value for the next command in " the chain. " " The original command here is used in tests. let l:result = { \ '_deferred_job_id': l:job_id, \ 'executable': get(l:options, 'executable', ''), \ 'cwd': l:cwd, \ 'command': a:command, \} if get(g:, 'ale_run_synchronously') == 1 && l:job_id if !exists('g:ale_run_synchronously_callbacks') let g:ale_run_synchronously_callbacks = [] endif if get(g:, 'ale_run_synchronously_emulate_commands', 0) call add( \ g:ale_run_synchronously_callbacks, \ {exit_code, output -> [ \ extend(l:line_list, output), \ l:job_options.exit_cb(l:job_id, exit_code), \ ]} \) else " Run a command synchronously if this test option is set. call extend(l:line_list, systemlist( \ type(l:command) is v:t_list \ ? join(l:command[0:1]) . ' ' . ale#Escape(l:command[2]) \ : l:command \)) " Don't capture output when the callbacks aren't set. if !has_key(l:job_options, 'out_cb') \&& !has_key(l:job_options, 'err_cb') let l:line_list = [] endif call add( \ g:ale_run_synchronously_callbacks, \ {-> l:job_options.exit_cb(l:job_id, v:shell_error)} \) endif endif return l:result endfunction function! ale#command#IsDeferred(value) abort return type(a:value) is v:t_dict && has_key(a:value, '_deferred_job_id') endfunction ================================================ FILE: bundle/ale/autoload/ale/completion/python.vim ================================================ function! ale#completion#python#CompletionItemFilter(buffer, item) abort return a:item.label !~# '\v^__[a-z_]+__' endfunction ================================================ FILE: bundle/ale/autoload/ale/completion.vim ================================================ " Author: w0rp " Description: Completion support for LSP linters scriptencoding utf-8 " The omnicompletion menu is shown through a special Plug mapping which is " only valid in Insert mode. This way, feedkeys() won't send these keys if you " quit Insert mode quickly enough. inoremap (ale_show_completion_menu) " If we hit the key sequence in normal mode, then we won't show the menu, so " we should restore the old settings right away. nnoremap (ale_show_completion_menu) :call ale#completion#RestoreCompletionOptions() cnoremap (ale_show_completion_menu) vnoremap (ale_show_completion_menu) onoremap (ale_show_completion_menu) let g:ale_completion_delay = get(g:, 'ale_completion_delay', 100) let g:ale_completion_excluded_words = get(g:, 'ale_completion_excluded_words', []) let g:ale_completion_max_suggestions = get(g:, 'ale_completion_max_suggestions', 50) let g:ale_completion_autoimport = get(g:, 'ale_completion_autoimport', 1) let g:ale_completion_tsserver_remove_warnings = get(g:, 'ale_completion_tsserver_remove_warnings', 0) let s:timer_id = -1 let s:last_done_pos = [] " CompletionItemKind values from the LSP protocol. let g:ale_lsp_types = { \ 1: 'text', \ 2: 'method', \ 3: 'function', \ 4: 'constructor', \ 5: 'field', \ 6: 'variable', \ 7: 'class', \ 8: 'interface', \ 9: 'module', \ 10: 'property', \ 11: 'unit', \ 12: 'value', \ 13: 'enum', \ 14: 'keyword', \ 15: 'snippet', \ 16: 'color', \ 17: 'file', \ 18: 'reference', \ 19: 'folder', \ 20: 'enum_member', \ 21: 'constant', \ 22: 'struct', \ 23: 'event', \ 24: 'operator', \ 25: 'type_parameter', \ } " from https://github.com/microsoft/TypeScript/blob/29becf05012bfa7ba20d50b0d16813971e46b8a6/lib/protocol.d.ts#L2472 let g:ale_tsserver_types = { \ 'warning': 'text', \ 'keyword': 'keyword', \ 'script': 'file', \ 'module': 'module', \ 'class': 'class', \ 'local class': 'class', \ 'interface': 'interface', \ 'type': 'class', \ 'enum': 'enum', \ 'enum member': 'enum_member', \ 'var': 'variable', \ 'local var': 'variable', \ 'function': 'function', \ 'local function': 'function', \ 'method': 'method', \ 'getter': 'property', \ 'setter': 'method', \ 'property': 'property', \ 'constructor': 'constructor', \ 'call': 'method', \ 'index': 'index', \ 'construct': 'constructor', \ 'parameter': 'parameter', \ 'type parameter': 'type_parameter', \ 'primitive type': 'unit', \ 'label': 'text', \ 'alias': 'class', \ 'const': 'constant', \ 'let': 'variable', \ 'directory': 'folder', \ 'external module name': 'text', \ 'JSX attribute': 'parameter', \ 'string': 'text' \ } " For compatibility reasons, we only use built in VIM completion kinds " See :help complete-items for Vim completion kinds let g:ale_completion_symbols = get(g:, 'ale_completion_symbols', { \ 'text': 'v', \ 'method': 'f', \ 'function': 'f', \ 'constructor': 'f', \ 'field': 'm', \ 'variable': 'v', \ 'class': 't', \ 'interface': 't', \ 'module': 'd', \ 'property': 'm', \ 'unit': 'v', \ 'value': 'v', \ 'enum': 't', \ 'keyword': 'v', \ 'snippet': 'v', \ 'color': 'v', \ 'file': 'v', \ 'reference': 'v', \ 'folder': 'v', \ 'enum_member': 'm', \ 'constant': 'm', \ 'struct': 't', \ 'event': 'v', \ 'operator': 'f', \ 'type_parameter': 'p', \ '': 'v' \ }) let s:LSP_INSERT_TEXT_FORMAT_PLAIN = 1 let s:LSP_INSERT_TEXT_FORMAT_SNIPPET = 2 let s:lisp_regex = '\v[a-zA-Z_\-][a-zA-Z_\-0-9]*$' " Regular expressions for checking the characters in the line before where " the insert cursor is. If one of these matches, we'll check for completions. let s:should_complete_map = { \ '': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$', \ 'clojure': s:lisp_regex, \ 'lisp': s:lisp_regex, \ 'racket': '\k\+$', \ 'typescript': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|''$|"$', \ 'rust': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|::$', \ 'cpp': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|::$|-\>$', \ 'c': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|-\>$', \} " Regular expressions for finding the start column to replace with completion. let s:omni_start_map = { \ '': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$', \ 'racket': '\k\+$', \} " A map of exact characters for triggering LSP completions. Do not forget to " update self.input_patterns in ale.py in updating entries in this map. let s:trigger_character_map = { \ '': ['.'], \ 'typescript': ['.', '''', '"'], \ 'rust': ['.', '::'], \ 'cpp': ['.', '::', '->'], \ 'c': ['.', '->'], \} function! s:GetFiletypeValue(map, filetype) abort for l:part in reverse(split(a:filetype, '\.')) let l:regex = get(a:map, l:part, []) if !empty(l:regex) return l:regex endif endfor " Use the default regex for other files. return a:map[''] endfunction " Check if we should look for completions for a language. function! ale#completion#GetPrefix(filetype, line, column) abort let l:regex = s:GetFiletypeValue(s:should_complete_map, a:filetype) " The column we're using completions for is where we are inserting text, " like so: " abc " ^ " So we need check the text in the column before that position. return matchstr(getline(a:line)[: a:column - 2], l:regex) endfunction function! ale#completion#GetTriggerCharacter(filetype, prefix) abort if empty(a:prefix) return '' endif let l:char_list = s:GetFiletypeValue(s:trigger_character_map, a:filetype) if index(l:char_list, a:prefix) >= 0 return a:prefix endif return '' endfunction function! ale#completion#Filter( \ buffer, \ filetype, \ suggestions, \ prefix, \ exact_prefix_match, \) abort let l:excluded_words = ale#Var(a:buffer, 'completion_excluded_words') if empty(a:prefix) let l:filtered_suggestions = a:suggestions else let l:triggers = s:GetFiletypeValue(s:trigger_character_map, a:filetype) " For completing... " foo. " ^ " We need to include all of the given suggestions. if index(l:triggers, a:prefix) >= 0 || empty(a:prefix) let l:filtered_suggestions = a:suggestions else let l:filtered_suggestions = [] " Filter suggestions down to those starting with the prefix we " used for finding suggestions in the first place. " " Some completion tools will include suggestions which don't even " start with the characters we have already typed. for l:item in a:suggestions " A List of String values or a List of completion item " Dictionaries is accepted here. let l:word = type(l:item) is v:t_string ? l:item : l:item.word if a:exact_prefix_match " Add suggestions if the word is an exact match. if l:word is# a:prefix call add(l:filtered_suggestions, l:item) endif else " Add suggestions if the suggestion starts with a " case-insensitive match for the prefix. if l:word[: len(a:prefix) - 1] is? a:prefix call add(l:filtered_suggestions, l:item) endif endif endfor endif endif if !empty(l:excluded_words) " Copy the List if needed. We don't want to modify the argument. " We shouldn't make a copy if we don't need to. if l:filtered_suggestions is a:suggestions let l:filtered_suggestions = copy(a:suggestions) endif " Remove suggestions with words in the exclusion List. call filter( \ l:filtered_suggestions, \ 'index(l:excluded_words, type(v:val) is v:t_string ? v:val : v:val.word) < 0', \) endif return l:filtered_suggestions endfunction function! s:ReplaceCompletionOptions(source) abort " Remember the old omnifunc value, if there is one. " If we don't store an old one, we'll just never reset the option. " This will stop some random exceptions from appearing. if !exists('b:ale_old_omnifunc') && !empty(&l:omnifunc) let b:ale_old_omnifunc = &l:omnifunc endif let &l:omnifunc = 'ale#completion#AutomaticOmniFunc' if a:source is# 'ale-automatic' if !exists('b:ale_old_completeopt') let b:ale_old_completeopt = &l:completeopt endif let l:opt_list = split(&l:completeopt, ',') " The menu and noinsert options must be set, or automatic completion " will be annoying. let l:new_opt_list = ['menu', 'menuone', 'noinsert'] " Permit some other completion options, provided users have set them. for l:opt in ['preview', 'popup', 'noselect'] if index(l:opt_list, l:opt) >= 0 call add(l:new_opt_list, l:opt) endif endfor let &l:completeopt = join(l:new_opt_list, ',') endif endfunction function! ale#completion#RestoreCompletionOptions() abort " Reset settings when completion is done. if exists('b:ale_old_omnifunc') if b:ale_old_omnifunc isnot# 'pythoncomplete#Complete' let &l:omnifunc = b:ale_old_omnifunc endif unlet b:ale_old_omnifunc endif if exists('b:ale_old_completeopt') let &l:completeopt = b:ale_old_completeopt unlet b:ale_old_completeopt endif endfunction function! ale#completion#GetCompletionPosition() abort if !exists('b:ale_completion_info') return 0 endif let l:line = b:ale_completion_info.line let l:column = b:ale_completion_info.column let l:regex = s:GetFiletypeValue(s:omni_start_map, &filetype) let l:up_to_column = getline(l:line)[: l:column - 2] let l:match = matchstr(l:up_to_column, l:regex) return l:column - len(l:match) - 1 endfunction function! ale#completion#GetCompletionPositionForDeoplete(input) abort return match(a:input, '\k*$') endfunction function! ale#completion#GetCompletionResult() abort if exists('b:ale_completion_result') return b:ale_completion_result endif return v:null endfunction function! ale#completion#AutomaticOmniFunc(findstart, base) abort if a:findstart return ale#completion#GetCompletionPosition() else let l:result = ale#completion#GetCompletionResult() let l:source = get(get(b:, 'ale_completion_info', {}), 'source', '') if l:source is# 'ale-automatic' || l:source is# 'ale-manual' call s:ReplaceCompletionOptions(l:source) endif return l:result isnot v:null ? l:result : [] endif endfunction function! s:OpenCompletionMenu(...) abort if !&l:paste call ale#util#FeedKeys("\(ale_show_completion_menu)") endif endfunction function! ale#completion#Show(result) abort let l:source = get(get(b:, 'ale_completion_info', {}), 'source', '') if ale#util#Mode() isnot# 'i' && l:source isnot# 'ale-import' return endif " Set the list in the buffer. let b:ale_completion_result = a:result " Don't try to open the completion menu if there's nothing to show. if empty(b:ale_completion_result) if l:source is# 'ale-import' " If we ran completion from :ALEImport, " tell the user that nothing is going to happen. call s:message('No possible imports found.') endif return endif " Replace completion options shortly before opening the menu. if l:source is# 'ale-automatic' || l:source is# 'ale-manual' call s:ReplaceCompletionOptions(l:source) call timer_start(0, function('s:OpenCompletionMenu')) endif if l:source is# 'ale-callback' call b:CompleteCallback(b:ale_completion_result) endif if l:source is# 'ale-import' call ale#completion#HandleUserData(b:ale_completion_result[0]) let l:text_changed = '' . g:ale_lint_on_text_changed " Check the buffer again right away, if linting is enabled. if g:ale_enabled \&& ( \ l:text_changed is# '1' \ || l:text_changed is# 'always' \ || l:text_changed is# 'normal' \ || l:text_changed is# 'insert' \) call ale#Queue(0, '') endif endif endfunction function! ale#completion#GetAllTriggers() abort return deepcopy(s:trigger_character_map) endfunction function! ale#completion#GetCompletionKind(kind) abort let l:lsp_symbol = get(g:ale_lsp_types, a:kind, '') if !empty(l:lsp_symbol) return l:lsp_symbol endif return get(g:ale_tsserver_types, a:kind, '') endfunction function! ale#completion#GetCompletionSymbols(kind) abort let l:kind = ale#completion#GetCompletionKind(a:kind) let l:symbol = get(g:ale_completion_symbols, l:kind, '') if !empty(l:symbol) return l:symbol endif return get(g:ale_completion_symbols, '', 'v') endfunction function! s:CompletionStillValid(request_id) abort let [l:line, l:column] = getpos('.')[1:2] return has_key(b:, 'ale_completion_info') \&& ( \ ale#util#Mode() is# 'i' \ || b:ale_completion_info.source is# 'ale-import' \) \&& b:ale_completion_info.request_id == a:request_id \&& b:ale_completion_info.line == l:line \&& ( \ b:ale_completion_info.column == l:column \ || b:ale_completion_info.source is# 'ale-omnifunc' \ || b:ale_completion_info.source is# 'ale-callback' \ || b:ale_completion_info.source is# 'ale-import' \) endfunction function! ale#completion#ParseTSServerCompletions(response) abort let l:names = [] for l:suggestion in a:response.body let l:kind = get(l:suggestion, 'kind', '') if g:ale_completion_tsserver_remove_warnings == 0 || l:kind isnot# 'warning' call add(l:names, { \ 'word': l:suggestion.name, \ 'source': get(l:suggestion, 'source', ''), \}) endif endfor return l:names endfunction function! ale#completion#ParseTSServerCompletionEntryDetails(response) abort let l:buffer = bufnr('') let l:results = [] let l:names_with_details = [] let l:info = get(b:, 'ale_completion_info', {}) for l:suggestion in a:response.body let l:displayParts = [] let l:local_name = v:null for l:action in get(l:suggestion, 'codeActions', []) call add(l:displayParts, l:action.description . ' ') endfor for l:part in l:suggestion.displayParts " Stop on stop on line breaks for the menu. if get(l:part, 'kind') is# 'lineBreak' break endif if get(l:part, 'kind') is# 'localName' let l:local_name = l:part.text endif call add(l:displayParts, l:part.text) endfor " Each one of these parts has 'kind' properties let l:documentationParts = [] for l:part in get(l:suggestion, 'documentation', []) call add(l:documentationParts, l:part.text) endfor " See :help complete-items let l:result = { \ 'word': ( \ l:suggestion.name is# 'default' \ && l:suggestion.kind is# 'alias' \ && !empty(l:local_name) \ ? l:local_name \ : l:suggestion.name \ ), \ 'kind': ale#completion#GetCompletionSymbols(l:suggestion.kind), \ 'icase': 1, \ 'menu': join(l:displayParts, ''), \ 'dup': get(l:info, 'additional_edits_only', 0) \ || g:ale_completion_autoimport, \ 'info': join(l:documentationParts, ''), \} " This flag is used to tell if this completion came from ALE or not. let l:user_data = {'_ale_completion_item': 1} if has_key(l:suggestion, 'codeActions') let l:user_data.code_actions = l:suggestion.codeActions endif let l:result.user_data = json_encode(l:user_data) " Include this item if we'll accept any items, " or if we only want items with additional edits, and this has them. if !get(l:info, 'additional_edits_only', 0) \|| has_key(l:user_data, 'code_actions') call add(l:results, l:result) endif endfor let l:names = getbufvar(l:buffer, 'ale_tsserver_completion_names', []) if !empty(l:names) && len(l:names) != len(l:results) let l:names_with_details = map(copy(l:results), 'v:val.word') let l:missing_names = filter( \ copy(l:names), \ 'index(l:names_with_details, v:val.word) < 0', \) for l:name in l:missing_names call add(l:results, { \ 'word': l:name.word, \ 'kind': 'v', \ 'icase': 1, \ 'menu': '', \ 'info': '', \ 'user_data': json_encode({'_ale_completion_item': 1}), \}) endfor endif return l:results endfunction function! ale#completion#NullFilter(buffer, item) abort return 1 endfunction function! ale#completion#ParseLSPCompletions(response) abort let l:buffer = bufnr('') let l:info = get(b:, 'ale_completion_info', {}) let l:Filter = get(l:info, 'completion_filter', v:null) if l:Filter is v:null let l:Filter = function('ale#completion#NullFilter') else let l:Filter = ale#util#GetFunction(l:Filter) endif let l:item_list = [] if type(get(a:response, 'result')) is v:t_list let l:item_list = a:response.result elseif type(get(a:response, 'result')) is v:t_dict \&& type(get(a:response.result, 'items')) is v:t_list let l:item_list = a:response.result.items endif let l:results = [] for l:item in l:item_list if !call(l:Filter, [l:buffer, l:item]) continue endif if get(l:item, 'insertTextFormat', s:LSP_INSERT_TEXT_FORMAT_PLAIN) is s:LSP_INSERT_TEXT_FORMAT_PLAIN \&& type(get(l:item, 'textEdit')) is v:t_dict let l:text = l:item.textEdit.newText elseif type(get(l:item, 'insertText')) is v:t_string let l:text = l:item.insertText else let l:text = l:item.label endif let l:word = matchstr(l:text, '\v^[^(]+') if empty(l:word) continue endif " Don't use LSP items with additional text edits when autoimport for " completions is turned off. if !empty(get(l:item, 'additionalTextEdits')) \&& !( \ get(l:info, 'additional_edits_only', 0) \ || g:ale_completion_autoimport \) continue endif let l:doc = get(l:item, 'documentation', '') if type(l:doc) is v:t_dict && has_key(l:doc, 'value') let l:doc = l:doc.value endif " Collapse whitespaces and line breaks into a single space. let l:detail = substitute(get(l:item, 'detail', ''), '\_s\+', ' ', 'g') let l:result = { \ 'word': l:word, \ 'kind': ale#completion#GetCompletionSymbols(get(l:item, 'kind', '')), \ 'icase': 1, \ 'menu': l:detail, \ 'dup': get(l:info, 'additional_edits_only', 0) \ || g:ale_completion_autoimport, \ 'info': (type(l:doc) is v:t_string ? l:doc : ''), \} " This flag is used to tell if this completion came from ALE or not. let l:user_data = {'_ale_completion_item': 1} if has_key(l:item, 'additionalTextEdits') \ && l:item.additionalTextEdits isnot v:null let l:text_changes = [] for l:edit in l:item.additionalTextEdits call add(l:text_changes, { \ 'start': { \ 'line': l:edit.range.start.line + 1, \ 'offset': l:edit.range.start.character + 1, \ }, \ 'end': { \ 'line': l:edit.range.end.line + 1, \ 'offset': l:edit.range.end.character + 1, \ }, \ 'newText': l:edit.newText, \}) endfor if !empty(l:text_changes) let l:user_data.code_actions = [{ \ 'description': 'completion', \ 'changes': [ \ { \ 'fileName': expand('#' . l:buffer . ':p'), \ 'textChanges': l:text_changes, \ }, \ ], \}] endif endif let l:result.user_data = json_encode(l:user_data) " Include this item if we'll accept any items, " or if we only want items with additional edits, and this has them. if !get(l:info, 'additional_edits_only', 0) \|| has_key(l:user_data, 'code_actions') call add(l:results, l:result) endif endfor if has_key(l:info, 'prefix') let l:results = ale#completion#Filter( \ l:buffer, \ &filetype, \ l:results, \ l:info.prefix, \ get(l:info, 'additional_edits_only', 0), \) endif return l:results[: g:ale_completion_max_suggestions - 1] endfunction function! ale#completion#HandleTSServerResponse(conn_id, response) abort if !s:CompletionStillValid(get(a:response, 'request_seq')) return endif if !has_key(a:response, 'body') return endif let l:buffer = bufnr('') let l:command = get(a:response, 'command', '') if l:command is# 'completions' let l:names = ale#completion#Filter( \ l:buffer, \ &filetype, \ ale#completion#ParseTSServerCompletions(a:response), \ b:ale_completion_info.prefix, \ get(b:ale_completion_info, 'additional_edits_only', 0), \)[: g:ale_completion_max_suggestions - 1] " We need to remember some names for tsserver, as it doesn't send " details back for everything we send. call setbufvar(l:buffer, 'ale_tsserver_completion_names', l:names) if empty(l:names) " Response with no results now and skip making a redundant request " for nothing. call ale#completion#Show([]) else let l:identifiers = [] for l:name in l:names let l:identifier = { \ 'name': l:name.word, \} let l:source = get(l:name, 'source', '') " Empty source results in no details for the completed item if !empty(l:source) call extend(l:identifier, { 'source': l:source }) endif call add(l:identifiers, l:identifier) endfor let b:ale_completion_info.request_id = ale#lsp#Send( \ b:ale_completion_info.conn_id, \ ale#lsp#tsserver_message#CompletionEntryDetails( \ l:buffer, \ b:ale_completion_info.line, \ b:ale_completion_info.column, \ l:identifiers, \ ), \) endif elseif l:command is# 'completionEntryDetails' call ale#completion#Show( \ ale#completion#ParseTSServerCompletionEntryDetails(a:response), \) endif endfunction function! ale#completion#HandleLSPResponse(conn_id, response) abort if !s:CompletionStillValid(get(a:response, 'id')) return endif call ale#completion#Show( \ ale#completion#ParseLSPCompletions(a:response), \) endfunction function! s:OnReady(linter, lsp_details) abort let l:id = a:lsp_details.connection_id if !ale#lsp#HasCapability(l:id, 'completion') return endif let l:buffer = a:lsp_details.buffer " If we have sent a completion request already, don't send another. if b:ale_completion_info.request_id return endif let l:Callback = a:linter.lsp is# 'tsserver' \ ? function('ale#completion#HandleTSServerResponse') \ : function('ale#completion#HandleLSPResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) if a:linter.lsp is# 'tsserver' if get(g:, 'ale_completion_tsserver_autoimport') is 1 " no-custom-checks echom '`g:ale_completion_tsserver_autoimport` is deprecated. Use `g:ale_completion_autoimport` instead.' endif let l:message = ale#lsp#tsserver_message#Completions( \ l:buffer, \ b:ale_completion_info.line, \ b:ale_completion_info.column, \ b:ale_completion_info.prefix, \ get(b:ale_completion_info, 'additional_edits_only', 0) \ || g:ale_completion_autoimport, \) else " Send a message saying the buffer has changed first, otherwise " completions won't know what text is nearby. call ale#lsp#NotifyForChanges(l:id, l:buffer) " For LSP completions, we need to clamp the column to the length of " the line. python-language-server and perhaps others do not implement " this correctly. let l:message = ale#lsp#message#Completion( \ l:buffer, \ b:ale_completion_info.line, \ b:ale_completion_info.column, \ ale#completion#GetTriggerCharacter(&filetype, b:ale_completion_info.prefix), \) endif let l:request_id = ale#lsp#Send(l:id, l:message) if l:request_id let b:ale_completion_info.conn_id = l:id let b:ale_completion_info.request_id = l:request_id if has_key(a:linter, 'completion_filter') let b:ale_completion_info.completion_filter = a:linter.completion_filter endif endif endfunction " This function can be called to check if ALE can provide completion data for " the current buffer. 1 will be returned if there's a potential source of " completion data ALE can use, and 0 will be returned otherwise. function! ale#completion#CanProvideCompletions() abort for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) return 1 endif endfor return 0 endfunction " This function can be used to manually trigger autocomplete, even when " g:ale_completion_enabled is set to false function! ale#completion#GetCompletions(...) abort let l:source = get(a:000, 0, '') let l:options = get(a:000, 1, {}) if len(a:000) > 2 throw 'Too many arguments!' endif let l:CompleteCallback = get(l:options, 'callback', v:null) if l:CompleteCallback isnot v:null let b:CompleteCallback = l:CompleteCallback endif if has_key(l:options, 'line') && has_key(l:options, 'column') " Use a provided line and column, if given. let l:line = l:options.line let l:column = l:options.column else let [l:line, l:column] = getpos('.')[1:2] endif if has_key(l:options, 'prefix') let l:prefix = l:options.prefix else let l:prefix = ale#completion#GetPrefix(&filetype, l:line, l:column) endif if l:source is# 'ale-automatic' && empty(l:prefix) return 0 endif let l:line_length = len(getline('.')) let b:ale_completion_info = { \ 'line': l:line, \ 'line_length': l:line_length, \ 'column': l:column, \ 'prefix': l:prefix, \ 'conn_id': 0, \ 'request_id': 0, \ 'source': l:source, \} unlet! b:ale_completion_result if has_key(l:options, 'additional_edits_only') let b:ale_completion_info.additional_edits_only = \ l:options.additional_edits_only endif let l:buffer = bufnr('') let l:Callback = function('s:OnReady') let l:started = 0 for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) if ale#lsp_linter#StartLSP(l:buffer, l:linter, l:Callback) let l:started = 1 endif endif endfor return l:started endfunction function! s:message(message) abort call ale#util#Execute('echom ' . string(a:message)) endfunction " This function implements the :ALEImport command. function! ale#completion#Import() abort let l:word = expand('') if empty(l:word) call s:message('Nothing to complete at cursor!') return endif let [l:line, l:column] = getpos('.')[1:2] let l:column = searchpos('\V' . escape(l:word, '/\'), 'bnc', l:line)[1] let l:column = l:column + len(l:word) - 1 if l:column isnot 0 let l:started = ale#completion#GetCompletions('ale-import', { \ 'line': l:line, \ 'column': l:column, \ 'prefix': l:word, \ 'additional_edits_only': 1, \}) if !l:started call s:message('No completion providers are available.') endif endif endfunction function! ale#completion#OmniFunc(findstart, base) abort if a:findstart let l:started = ale#completion#GetCompletions('ale-omnifunc') if !l:started " This is the special value for cancelling completions silently. " See :help complete-functions return -3 endif return ale#completion#GetCompletionPosition() else let l:result = ale#completion#GetCompletionResult() while l:result is v:null && !complete_check() sleep 2ms let l:result = ale#completion#GetCompletionResult() endwhile return l:result isnot v:null ? l:result : [] endif endfunction function! s:TimerHandler(...) abort if !get(b:, 'ale_completion_enabled', g:ale_completion_enabled) return endif let s:timer_id = -1 let [l:line, l:column] = getpos('.')[1:2] " When running the timer callback, we have to be sure that the cursor " hasn't moved from where it was when we requested completions by typing. if s:timer_pos == [l:line, l:column] && ale#util#Mode() is# 'i' call ale#completion#GetCompletions('ale-automatic') endif endfunction " Stop any completion timer that is queued. This is useful for tests. function! ale#completion#StopTimer() abort if s:timer_id != -1 call timer_stop(s:timer_id) endif let s:timer_id = -1 endfunction function! ale#completion#Queue() abort if !get(b:, 'ale_completion_enabled', g:ale_completion_enabled) return endif let s:timer_pos = getpos('.')[1:2] if s:timer_pos == s:last_done_pos " Do not ask for completions if the cursor rests on the position we " last completed on. return endif " If we changed the text again while we're still waiting for a response, " then invalidate the requests before the timer ticks again. if exists('b:ale_completion_info') let b:ale_completion_info.request_id = 0 endif call ale#completion#StopTimer() let s:timer_id = timer_start(g:ale_completion_delay, function('s:TimerHandler')) endfunction function! ale#completion#HandleUserData(completed_item) abort let l:user_data_json = get(a:completed_item, 'user_data', '') let l:user_data = type(l:user_data_json) is v:t_dict \ ? l:user_data_json \ : ale#util#FuzzyJSONDecode(l:user_data_json, {}) if !has_key(l:user_data, '_ale_completion_item') return endif let l:source = get(get(b:, 'ale_completion_info', {}), 'source', '') if l:source is# 'ale-automatic' \|| l:source is# 'ale-manual' \|| l:source is# 'ale-callback' \|| l:source is# 'ale-import' \|| l:source is# 'ale-omnifunc' for l:code_action in get(l:user_data, 'code_actions', []) call ale#code_action#HandleCodeAction(l:code_action, {}) endfor endif silent doautocmd User ALECompletePost endfunction function! ale#completion#Done() abort silent! pclose call ale#completion#RestoreCompletionOptions() let s:last_done_pos = getpos('.')[1:2] endfunction augroup ALECompletionActions autocmd! autocmd CompleteDone * call ale#completion#HandleUserData(v:completed_item) augroup END function! s:Setup(enabled) abort augroup ALECompletionGroup autocmd! if a:enabled autocmd TextChangedI * call ale#completion#Queue() autocmd CompleteDone * call ale#completion#Done() endif augroup END if !a:enabled augroup! ALECompletionGroup endif endfunction function! ale#completion#Enable() abort let g:ale_completion_enabled = 1 call s:Setup(1) endfunction function! ale#completion#Disable() abort let g:ale_completion_enabled = 0 call s:Setup(0) endfunction ================================================ FILE: bundle/ale/autoload/ale/cursor.vim ================================================ scriptencoding utf-8 " Author: w0rp " Author: João Paulo S. de Souza " Description: Echoes lint message for the current line, if any " Controls the milliseconds delay before echoing a message. let g:ale_echo_delay = get(g:, 'ale_echo_delay', 10) " A string format for the echoed message. let g:ale_echo_msg_format = get(g:, 'ale_echo_msg_format', '%code: %%s') let s:cursor_timer = -1 " A wrapper for echon so we can test messages we echo in Vader tests. function! ale#cursor#Echom(message) abort " no-custom-checks exec "norm! :echom a:message\n" endfunction function! ale#cursor#TruncatedEcho(original_message) abort let l:message = a:original_message " Change tabs to spaces. let l:message = substitute(l:message, "\t", ' ', 'g') " Remove any newlines in the message. let l:message = substitute(l:message, "\n", '', 'g') " Convert indentation groups into single spaces for better legibility when " put on a single line let l:message = substitute(l:message, ' \+', ' ', 'g') " We need to remember the setting for shortmess and reset it again. let l:shortmess_options = &l:shortmess try let l:cursor_position = getpos('.') " The message is truncated and saved to the history. silent! setlocal shortmess+=T try call ale#cursor#Echom(l:message) catch /^Vim\%((\a\+)\)\=:E523/ " Fallback into manual truncate (#1987) let l:winwidth = winwidth(0) if l:winwidth < strdisplaywidth(l:message) " Truncate message longer than window width with trailing '...' let l:message = l:message[:l:winwidth - 4] . '...' endif exec 'echomsg l:message' catch /E481/ " Do nothing if running from a visual selection. endtry " Reset the cursor position if we moved off the end of the line. " Using :norm and :echomsg can move the cursor off the end of the " line. if l:cursor_position != getpos('.') call setpos('.', l:cursor_position) endif finally let &l:shortmess = l:shortmess_options endtry endfunction function! s:StopCursorTimer() abort if s:cursor_timer != -1 call timer_stop(s:cursor_timer) let s:cursor_timer = -1 endif endfunction function! ale#cursor#EchoCursorWarning(...) abort let l:buffer = bufnr('') if !g:ale_echo_cursor && !g:ale_cursor_detail return endif " Only echo the warnings in normal mode, otherwise we will get problems. if mode(1) isnot# 'n' return endif if ale#ShouldDoNothing(l:buffer) return endif let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer) if g:ale_echo_cursor if !empty(l:loc) let l:format = ale#Var(l:buffer, 'echo_msg_format') let l:msg = ale#GetLocItemMessage(l:loc, l:format) call ale#cursor#TruncatedEcho(l:msg) let l:info.echoed = 1 elseif get(l:info, 'echoed') " We'll only clear the echoed message when moving off errors once, " so we don't continually clear the echo line. " " no-custom-checks echo let l:info.echoed = 0 endif endif if g:ale_cursor_detail if !empty(l:loc) call s:ShowCursorDetailForItem(l:loc, {'stay_here': 1}) else call ale#preview#CloseIfTypeMatches('ale-preview') endif endif endfunction function! ale#cursor#EchoCursorWarningWithDelay() abort let l:buffer = bufnr('') if !g:ale_echo_cursor && !g:ale_cursor_detail return endif " Only echo the warnings in normal mode, otherwise we will get problems. if mode(1) isnot# 'n' return endif call s:StopCursorTimer() let l:pos = getpos('.')[0:2] if !exists('w:last_pos') let w:last_pos = [0, 0, 0] endif " Check the current buffer, line, and column number against the last " recorded position. If the position has actually changed, *then* " we should echo something. Otherwise we can end up doing processing " the echo message far too frequently. if l:pos != w:last_pos let l:delay = ale#Var(l:buffer, 'echo_delay') let w:last_pos = l:pos let s:cursor_timer = timer_start( \ l:delay, \ function('ale#cursor#EchoCursorWarning') \) endif endfunction function! s:ShowCursorDetailForItem(loc, options) abort let l:stay_here = get(a:options, 'stay_here', 0) let s:last_detailed_line = line('.') let l:message = get(a:loc, 'detail', a:loc.text) let l:lines = split(l:message, "\n") if g:ale_floating_preview || g:ale_detail_to_floating_preview call ale#floating_preview#Show(l:lines) else call ale#preview#Show(l:lines, {'stay_here': l:stay_here}) " Clear the echo message if we manually displayed details. if !l:stay_here " no-custom-checks echo endif endif endfunction function! ale#cursor#ShowCursorDetail() abort let l:buffer = bufnr('') " Only echo the warnings in normal mode, otherwise we will get problems. if mode() isnot# 'n' return endif if ale#ShouldDoNothing(l:buffer) return endif call s:StopCursorTimer() let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer) if !empty(l:loc) call s:ShowCursorDetailForItem(l:loc, {'stay_here': 0}) endif endfunction ================================================ FILE: bundle/ale/autoload/ale/d.vim ================================================ " Author: Auri " Description: Functions for integrating with D linters. function! ale#d#FindDUBConfig(buffer) abort " Find a DUB configuration file in ancestor paths. " The most DUB-specific names will be tried first. for l:possible_filename in ['dub.sdl', 'dub.json', 'package.json'] let l:dub_file = ale#path#FindNearestFile(a:buffer, l:possible_filename) if !empty(l:dub_file) return l:dub_file endif endfor return '' endfunction ================================================ FILE: bundle/ale/autoload/ale/debugging.vim ================================================ " Author: w0rp " Description: This file implements debugging information for ALE let s:global_variable_list = [ \ 'ale_cache_executable_check_failures', \ 'ale_change_sign_column_color', \ 'ale_command_wrapper', \ 'ale_completion_delay', \ 'ale_completion_enabled', \ 'ale_completion_max_suggestions', \ 'ale_disable_lsp', \ 'ale_echo_cursor', \ 'ale_echo_msg_error_str', \ 'ale_echo_msg_format', \ 'ale_echo_msg_info_str', \ 'ale_echo_msg_warning_str', \ 'ale_enabled', \ 'ale_fix_on_save', \ 'ale_fixers', \ 'ale_history_enabled', \ 'ale_history_log_output', \ 'ale_keep_list_window_open', \ 'ale_lint_delay', \ 'ale_lint_on_enter', \ 'ale_lint_on_filetype_changed', \ 'ale_lint_on_insert_leave', \ 'ale_lint_on_save', \ 'ale_lint_on_text_changed', \ 'ale_linter_aliases', \ 'ale_linters', \ 'ale_linters_explicit', \ 'ale_linters_ignore', \ 'ale_list_vertical', \ 'ale_list_window_size', \ 'ale_loclist_msg_format', \ 'ale_max_buffer_history_size', \ 'ale_max_signs', \ 'ale_maximum_file_size', \ 'ale_open_list', \ 'ale_pattern_options', \ 'ale_pattern_options_enabled', \ 'ale_root', \ 'ale_set_balloons', \ 'ale_set_highlights', \ 'ale_set_loclist', \ 'ale_set_quickfix', \ 'ale_set_signs', \ 'ale_sign_column_always', \ 'ale_sign_error', \ 'ale_sign_info', \ 'ale_sign_offset', \ 'ale_sign_style_error', \ 'ale_sign_style_warning', \ 'ale_sign_warning', \ 'ale_sign_highlight_linenrs', \ 'ale_statusline_format', \ 'ale_type_map', \ 'ale_use_global_executables', \ 'ale_virtualtext_cursor', \ 'ale_warn_about_trailing_blank_lines', \ 'ale_warn_about_trailing_whitespace', \] function! s:Echo(message) abort " no-custom-checks echo a:message endfunction function! s:GetLinterVariables(filetype, exclude_linter_names) abort let l:variable_list = [] let l:filetype_parts = split(a:filetype, '\.') for l:key in keys(g:) " Extract variable names like: 'ale_python_flake8_executable' let l:match = matchlist(l:key, '\v^ale_([^_]+)_([^_]+)_.+$') " Include matching variables. if !empty(l:match) \&& index(l:filetype_parts, l:match[1]) >= 0 \&& index(a:exclude_linter_names, l:match[2]) == -1 call add(l:variable_list, l:key) endif endfor call sort(l:variable_list) return l:variable_list endfunction function! s:EchoLinterVariables(variable_list) abort for l:key in a:variable_list call s:Echo('let g:' . l:key . ' = ' . string(g:[l:key])) if has_key(b:, l:key) call s:Echo('let b:' . l:key . ' = ' . string(b:[l:key])) endif endfor endfunction function! s:EchoGlobalVariables() abort for l:key in s:global_variable_list call s:Echo('let g:' . l:key . ' = ' . string(get(g:, l:key, v:null))) if has_key(b:, l:key) call s:Echo('let b:' . l:key . ' = ' . string(b:[l:key])) endif endfor endfunction " Echo a command that was run. function! s:EchoCommand(item) abort let l:status_message = a:item.status " Include the exit code in output if we have it. if a:item.status is# 'finished' let l:status_message .= ' - exit code ' . a:item.exit_code endif call s:Echo('(' . l:status_message . ') ' . string(a:item.command)) if g:ale_history_log_output && has_key(a:item, 'output') if empty(a:item.output) call s:Echo('') call s:Echo('<<>>') call s:Echo('') else call s:Echo('') call s:Echo('<<>>') for l:line in a:item.output call s:Echo(l:line) endfor call s:Echo('<<>>') call s:Echo('') endif endif endfunction " Echo the results of an executable check. function! s:EchoExecutable(item) abort call s:Echo(printf( \ '(executable check - %s) %s', \ a:item.status ? 'success' : 'failure', \ a:item.command, \)) endfunction function! s:EchoCommandHistory() abort let l:buffer = bufnr('%') for l:item in ale#history#Get(l:buffer) if l:item.job_id is# 'executable' call s:EchoExecutable(l:item) else call s:EchoCommand(l:item) endif endfor endfunction function! s:EchoLinterAliases(all_linters) abort let l:first = 1 for l:linter in a:all_linters if !empty(l:linter.aliases) if l:first call s:Echo(' Linter Aliases:') endif let l:first = 0 call s:Echo(string(l:linter.name) . ' -> ' . string(l:linter.aliases)) endif endfor endfunction function! s:EchoLSPErrorMessages(all_linter_names) abort let l:lsp_error_messages = get(g:, 'ale_lsp_error_messages', {}) let l:header_echoed = 0 for l:linter_name in a:all_linter_names let l:error_list = get(l:lsp_error_messages, l:linter_name, []) if !empty(l:error_list) if !l:header_echoed call s:Echo(' LSP Error Messages:') call s:Echo('') endif call s:Echo('(Errors for ' . l:linter_name . ')') for l:message in l:error_list for l:line in split(l:message, "\n") call s:Echo(l:line) endfor endfor endif endfor endfunction function! ale#debugging#Info() abort let l:buffer = bufnr('') let l:filetype = &filetype " We get the list of enabled linters for free by the above function. let l:enabled_linters = deepcopy(ale#linter#Get(l:filetype)) " But have to build the list of available linters ourselves. let l:all_linters = [] let l:linter_variable_list = [] for l:part in split(l:filetype, '\.') let l:aliased_filetype = ale#linter#ResolveFiletype(l:part) call extend(l:all_linters, ale#linter#GetAll(l:aliased_filetype)) endfor let l:all_names = map(copy(l:all_linters), 'v:val[''name'']') let l:enabled_names = map(copy(l:enabled_linters), 'v:val[''name'']') let l:exclude_names = filter(copy(l:all_names), 'index(l:enabled_names, v:val) == -1') " Load linter variables to display " This must be done after linters are loaded. let l:variable_list = s:GetLinterVariables(l:filetype, l:exclude_names) let l:fixers = ale#fix#registry#SuggestedFixers(l:filetype) let l:fixers = uniq(sort(l:fixers[0] + l:fixers[1])) let l:fixers_string = join(map(copy(l:fixers), '"\n " . v:val'), '') let l:non_ignored_names = map( \ copy(ale#linter#RemoveIgnored(l:buffer, l:filetype, l:enabled_linters)), \ 'v:val[''name'']', \) let l:ignored_names = filter( \ copy(l:enabled_names), \ 'index(l:non_ignored_names, v:val) < 0' \) call s:Echo(' Current Filetype: ' . l:filetype) call s:Echo('Available Linters: ' . string(l:all_names)) call s:EchoLinterAliases(l:all_linters) call s:Echo(' Enabled Linters: ' . string(l:enabled_names)) call s:Echo(' Ignored Linters: ' . string(l:ignored_names)) call s:Echo(' Suggested Fixers: ' . l:fixers_string) call s:Echo(' Linter Variables:') call s:Echo('') call s:EchoLinterVariables(l:variable_list) call s:Echo(' Global Variables:') call s:Echo('') call s:EchoGlobalVariables() call s:EchoLSPErrorMessages(l:all_names) call s:Echo(' Command History:') call s:Echo('') call s:EchoCommandHistory() endfunction function! ale#debugging#InfoToClipboard() abort if !has('clipboard') call s:Echo('clipboard not available. Try :ALEInfoToFile instead.') return endif let l:output = execute('call ale#debugging#Info()') let @+ = l:output call s:Echo('ALEInfo copied to your clipboard') endfunction function! ale#debugging#InfoToFile(filename) abort let l:expanded_filename = expand(a:filename) let l:output = execute('call ale#debugging#Info()') call writefile(split(l:output, "\n"), l:expanded_filename) call s:Echo('ALEInfo written to ' . l:expanded_filename) endfunction ================================================ FILE: bundle/ale/autoload/ale/definition.vim ================================================ " Author: w0rp " Description: Go to definition support for LSP linters. let s:go_to_definition_map = {} " Enable automatic updates of the tagstack let g:ale_update_tagstack = get(g:, 'ale_update_tagstack', 1) let g:ale_default_navigation = get(g:, 'ale_default_navigation', 'buffer') " Used to get the definition map in tests. function! ale#definition#GetMap() abort return deepcopy(s:go_to_definition_map) endfunction " Used to set the definition map in tests. function! ale#definition#SetMap(map) abort let s:go_to_definition_map = a:map endfunction function! ale#definition#ClearLSPData() abort let s:go_to_definition_map = {} endfunction function! ale#definition#UpdateTagStack() abort let l:should_update_tagstack = exists('*gettagstack') && exists('*settagstack') && g:ale_update_tagstack if l:should_update_tagstack " Grab the old location (to jump back to) and the word under the " cursor (as a label for the tagstack) let l:old_location = [bufnr('%'), line('.'), col('.'), 0] let l:tagname = expand('') let l:winid = win_getid() call settagstack(l:winid, {'items': [{'from': l:old_location, 'tagname': l:tagname}]}, 'a') call settagstack(l:winid, {'curidx': len(gettagstack(l:winid)['items']) + 1}) endif endfunction function! ale#definition#HandleTSServerResponse(conn_id, response) abort if has_key(a:response, 'request_seq') \&& has_key(s:go_to_definition_map, a:response.request_seq) let l:options = remove(s:go_to_definition_map, a:response.request_seq) if get(a:response, 'success', v:false) is v:true && !empty(a:response.body) let l:filename = a:response.body[0].file let l:line = a:response.body[0].start.line let l:column = a:response.body[0].start.offset call ale#definition#UpdateTagStack() call ale#util#Open(l:filename, l:line, l:column, l:options) endif endif endfunction function! ale#definition#HandleLSPResponse(conn_id, response) abort if has_key(a:response, 'id') \&& has_key(s:go_to_definition_map, a:response.id) let l:options = remove(s:go_to_definition_map, a:response.id) " The result can be a Dictionary item, a List of the same, or null. let l:result = get(a:response, 'result', v:null) if type(l:result) is v:t_dict let l:result = [l:result] elseif type(l:result) isnot v:t_list let l:result = [] endif for l:item in l:result if has_key(l:item, 'targetUri') " LocationLink items use targetUri let l:uri = l:item.targetUri let l:line = l:item.targetRange.start.line + 1 let l:column = l:item.targetRange.start.character + 1 else " LocationLink items use uri let l:uri = l:item.uri let l:line = l:item.range.start.line + 1 let l:column = l:item.range.start.character + 1 endif call ale#definition#UpdateTagStack() let l:uri_handler = ale#uri#GetURIHandler(l:uri) if l:uri_handler is# v:null let l:filename = ale#path#FromFileURI(l:uri) call ale#util#Open(l:filename, l:line, l:column, l:options) else call l:uri_handler.OpenURILink(l:uri, l:line, l:column, l:options, a:conn_id) endif break endfor endif endfunction function! s:OnReady(line, column, options, capability, linter, lsp_details) abort let l:id = a:lsp_details.connection_id if !ale#lsp#HasCapability(l:id, a:capability) return endif let l:buffer = a:lsp_details.buffer let l:Callback = a:linter.lsp is# 'tsserver' \ ? function('ale#definition#HandleTSServerResponse') \ : function('ale#definition#HandleLSPResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) if a:linter.lsp is# 'tsserver' if a:capability is# 'definition' let l:message = ale#lsp#tsserver_message#Definition( \ l:buffer, \ a:line, \ a:column \) elseif a:capability is# 'typeDefinition' let l:message = ale#lsp#tsserver_message#TypeDefinition( \ l:buffer, \ a:line, \ a:column \) elseif a:capability is# 'implementation' let l:message = ale#lsp#tsserver_message#Implementation( \ l:buffer, \ a:line, \ a:column \) endif else " Send a message saying the buffer has changed first, or the " definition position probably won't make sense. call ale#lsp#NotifyForChanges(l:id, l:buffer) " For LSP completions, we need to clamp the column to the length of " the line. python-language-server and perhaps others do not implement " this correctly. if a:capability is# 'definition' let l:message = ale#lsp#message#Definition(l:buffer, a:line, a:column) elseif a:capability is# 'typeDefinition' let l:message = ale#lsp#message#TypeDefinition(l:buffer, a:line, a:column) elseif a:capability is# 'implementation' let l:message = ale#lsp#message#Implementation(l:buffer, a:line, a:column) else " XXX: log here? return endif endif let l:request_id = ale#lsp#Send(l:id, l:message) let s:go_to_definition_map[l:request_id] = { \ 'open_in': get(a:options, 'open_in', 'current-buffer'), \} endfunction function! s:GoToLSPDefinition(linter, options, capability) abort let l:buffer = bufnr('') let [l:line, l:column] = getpos('.')[1:2] let l:column = min([l:column, len(getline(l:line))]) let l:Callback = function( \ 's:OnReady', \ [l:line, l:column, a:options, a:capability] \) call ale#lsp_linter#StartLSP(l:buffer, a:linter, l:Callback) endfunction function! ale#definition#GoTo(options) abort for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) call s:GoToLSPDefinition(l:linter, a:options, 'definition') endif endfor endfunction function! ale#definition#GoToType(options) abort for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) call s:GoToLSPDefinition(l:linter, a:options, 'typeDefinition') endif endfor endfunction function! ale#definition#GoToImpl(options) abort for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) call s:GoToLSPDefinition(l:linter, a:options, 'implementation') endif endfor endfunction function! ale#definition#GoToCommandHandler(command, ...) abort let l:options = {} if len(a:000) > 0 for l:option in a:000 if l:option is? '-tab' let l:options.open_in = 'tab' elseif l:option is? '-split' let l:options.open_in = 'split' elseif l:option is? '-vsplit' let l:options.open_in = 'vsplit' endif endfor endif if !has_key(l:options, 'open_in') let l:default_navigation = ale#Var(bufnr(''), 'default_navigation') if index(['tab', 'split', 'vsplit'], l:default_navigation) >= 0 let l:options.open_in = l:default_navigation endif endif if a:command is# 'type' call ale#definition#GoToType(l:options) elseif a:command is# 'implementation' call ale#definition#GoToImpl(l:options) else call ale#definition#GoTo(l:options) endif endfunction ================================================ FILE: bundle/ale/autoload/ale/dhall.vim ================================================ " Author: Pat Brisbin , toastal " Description: Functions for working with Dhall’s executable call ale#Set('dhall_executable', 'dhall') call ale#Set('dhall_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('dhall_options', '') function! ale#dhall#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'dhall_executable') " Dhall is written in Haskell and commonly installed with Stack return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'dhall') endfunction function! ale#dhall#GetExecutableWithOptions(buffer) abort let l:executable = ale#dhall#GetExecutable(a:buffer) return l:executable \ . ale#Pad(ale#Var(a:buffer, 'dhall_options')) endfunction function! ale#dhall#GetCommand(buffer) abort return '%e ' . ale#Pad(ale#Var(a:buffer, 'dhall_options')) endfunction ================================================ FILE: bundle/ale/autoload/ale/engine/ignore.vim ================================================ " Author: w0rp " Description: Code for ignoring linters. Only loaded and if configured. " Given a filetype and a configuration for ignoring linters, return a List of " Strings for linter names to ignore. function! ale#engine#ignore#GetList(filetype, config) abort if type(a:config) is v:t_list return a:config endif if type(a:config) is v:t_dict let l:names_to_remove = [] for l:part in split(a:filetype , '\.') call extend(l:names_to_remove, get(a:config, l:part, [])) endfor return l:names_to_remove endif return [] endfunction " Given a List of linter descriptions, exclude the linters to be ignored. function! ale#engine#ignore#Exclude(filetype, all_linters, config, disable_lsp) abort let l:names_to_remove = ale#engine#ignore#GetList(a:filetype, a:config) let l:filtered_linters = [] for l:linter in a:all_linters let l:name_list = [l:linter.name] + l:linter.aliases let l:should_include = 1 for l:name in l:name_list if index(l:names_to_remove, l:name) >= 0 let l:should_include = 0 break endif endfor if a:disable_lsp && has_key(l:linter, 'lsp') && l:linter.lsp isnot# '' let l:should_include = 0 endif if l:should_include call add(l:filtered_linters, l:linter) endif endfor return l:filtered_linters endfunction ================================================ FILE: bundle/ale/autoload/ale/engine.vim ================================================ " Author: w0rp " Description: Backend execution and job management " Executes linters in the background, using NeoVim or Vim 8 jobs " Remapping of linter problems. let g:ale_type_map = get(g:, 'ale_type_map', {}) let g:ale_filename_mappings = get(g:, 'ale_filename_mappings', {}) if !has_key(s:, 'executable_cache_map') let s:executable_cache_map = {} endif function! ale#engine#CleanupEveryBuffer() abort for l:key in keys(g:ale_buffer_info) " The key could be a filename or a buffer number, so try and " convert it to a number. We need a number for the other " functions. let l:buffer = str2nr(l:key) if l:buffer > 0 " Stop all jobs and clear the results for everything, and delete " all of the data we stored for the buffer. call ale#engine#Cleanup(l:buffer) endif endfor endfunction function! ale#engine#MarkLinterActive(info, linter) abort let l:found = 0 for l:other_linter in a:info.active_linter_list if l:other_linter.name is# a:linter.name let l:found = 1 break endif endfor if !l:found call add(a:info.active_linter_list, a:linter) endif endfunction function! ale#engine#MarkLinterInactive(info, linter_name) abort call filter(a:info.active_linter_list, 'v:val.name isnot# a:linter_name') endfunction function! ale#engine#ResetExecutableCache() abort let s:executable_cache_map = {} endfunction " Check if files are executable, and if they are, remember that they are " for subsequent calls. We'll keep checking until programs can be executed. function! ale#engine#IsExecutable(buffer, executable) abort if empty(a:executable) " Don't log the executable check if the executable string is empty. return 0 endif " Check for a cached executable() check. let l:result = get(s:executable_cache_map, a:executable, v:null) if l:result isnot v:null return l:result endif " Check if the file is executable, and convert -1 to 1. let l:result = executable(a:executable) isnot 0 " Cache the executable check if we found it, or if the option to cache " failing checks is on. if l:result || get(g:, 'ale_cache_executable_check_failures', 0) let s:executable_cache_map[a:executable] = l:result endif if g:ale_history_enabled call ale#history#Add(a:buffer, l:result, 'executable', a:executable) endif return l:result endfunction function! ale#engine#InitBufferInfo(buffer) abort if !has_key(g:ale_buffer_info, a:buffer) " active_linter_list will hold the list of active linter names " loclist holds the loclist items after all jobs have completed. let g:ale_buffer_info[a:buffer] = { \ 'active_linter_list': [], \ 'active_other_sources_list': [], \ 'loclist': [], \} return 1 endif return 0 endfunction " This function is documented and part of the public API. " " Return 1 if ALE is busy checking a given buffer function! ale#engine#IsCheckingBuffer(buffer) abort let l:info = get(g:ale_buffer_info, a:buffer, {}) return !empty(get(l:info, 'active_linter_list', [])) \ || !empty(get(l:info, 'active_other_sources_list', [])) endfunction function! ale#engine#HandleLoclist(linter_name, buffer, loclist, from_other_source) abort let l:info = get(g:ale_buffer_info, a:buffer, {}) if empty(l:info) return endif if !a:from_other_source " Remove this linter from the list of active linters. " This may have already been done when the job exits. call filter(l:info.active_linter_list, 'v:val.name isnot# a:linter_name') endif " Make some adjustments to the loclists to fix common problems, and also " to set default values for loclist items. let l:linter_loclist = ale#engine#FixLocList( \ a:buffer, \ a:linter_name, \ a:from_other_source, \ a:loclist, \) " Remove previous items for this linter. call filter(l:info.loclist, 'v:val.linter_name isnot# a:linter_name') " We don't need to add items or sort the list when this list is empty. if !empty(l:linter_loclist) " Add the new items. call extend(l:info.loclist, l:linter_loclist) " Sort the loclist again. " We need a sorted list so we can run a binary search against it " for efficient lookup of the messages in the cursor handler. call sort(l:info.loclist, 'ale#util#LocItemCompare') endif if ale#ShouldDoNothing(a:buffer) return endif call ale#engine#SetResults(a:buffer, l:info.loclist) endfunction function! s:HandleExit(job_info, buffer, output, data) abort let l:buffer_info = get(g:ale_buffer_info, a:buffer) if empty(l:buffer_info) return endif let l:linter = a:job_info.linter let l:executable = a:job_info.executable " Remove this job from the list. call ale#engine#MarkLinterInactive(l:buffer_info, l:linter.name) " Stop here if we land in the handle for a job completing if we're in " a sandbox. if ale#util#InSandbox() return endif if has('nvim') && !empty(a:output) && empty(a:output[-1]) call remove(a:output, -1) endif try let l:loclist = ale#util#GetFunction(l:linter.callback)(a:buffer, a:output) " Handle the function being unknown, or being deleted. catch /E700/ let l:loclist = [] endtry call ale#engine#HandleLoclist(l:linter.name, a:buffer, l:loclist, 0) endfunction function! ale#engine#SetResults(buffer, loclist) abort let l:linting_is_done = !ale#engine#IsCheckingBuffer(a:buffer) " Set signs first. This could potentially fix some line numbers. " The List could be sorted again here by SetSigns. if g:ale_set_signs call ale#sign#SetSigns(a:buffer, a:loclist) endif if g:ale_set_quickfix || g:ale_set_loclist call ale#list#SetLists(a:buffer, a:loclist) endif if exists('*ale#statusline#Update') " Don't load/run if not already loaded. call ale#statusline#Update(a:buffer, a:loclist) endif if g:ale_set_highlights call ale#highlight#SetHighlights(a:buffer, a:loclist) endif if g:ale_virtualtext_cursor is# 'all' || g:ale_virtualtext_cursor == 2 call ale#virtualtext#SetTexts(a:buffer, a:loclist) endif if l:linting_is_done if g:ale_echo_cursor " Try and echo the warning now. " This will only do something meaningful if we're in normal mode. call ale#cursor#EchoCursorWarning() endif if g:ale_virtualtext_cursor is# 'current' || g:ale_virtualtext_cursor == 1 " Try and show the warning now. " This will only do something meaningful if we're in normal mode. call ale#virtualtext#ShowCursorWarning() endif " Reset the save event marker, used for opening windows, etc. call setbufvar(a:buffer, 'ale_save_event_fired', 0) " Set a marker showing how many times a buffer has been checked. call setbufvar( \ a:buffer, \ 'ale_linted', \ getbufvar(a:buffer, 'ale_linted', 0) + 1 \) " Automatically remove all managed temporary files and directories " now that all jobs have completed. call ale#command#RemoveManagedFiles(a:buffer) " Call user autocommands. This allows users to hook into ALE's lint cycle. silent doautocmd User ALELintPost endif endfunction function! s:RemapItemTypes(type_map, loclist) abort for l:item in a:loclist let l:key = l:item.type \ . (get(l:item, 'sub_type', '') is# 'style' ? 'S' : '') let l:new_key = get(a:type_map, l:key, '') if l:new_key is# 'E' \|| l:new_key is# 'ES' \|| l:new_key is# 'W' \|| l:new_key is# 'WS' \|| l:new_key is# 'I' let l:item.type = l:new_key[0] if l:new_key is# 'ES' || l:new_key is# 'WS' let l:item.sub_type = 'style' elseif has_key(l:item, 'sub_type') call remove(l:item, 'sub_type') endif endif endfor endfunction function! ale#engine#FixLocList(buffer, linter_name, from_other_source, loclist) abort let l:mappings = ale#GetFilenameMappings(a:buffer, a:linter_name) if !empty(l:mappings) " We need to apply reverse filename mapping here. let l:mappings = ale#filename_mapping#Invert(l:mappings) endif let l:bufnr_map = {} let l:new_loclist = [] " Some errors have line numbers beyond the end of the file, " so we need to adjust them so they set the error at the last line " of the file instead. let l:last_line_number = ale#util#GetLineCount(a:buffer) for l:old_item in a:loclist " Copy the loclist item with some default values and corrections. " " line and column numbers will be converted to numbers. " The buffer will default to the buffer being checked. " The vcol setting will default to 0, a byte index. " The error type will default to 'E' for errors. " The error number will default to -1. " " The line number and text are the only required keys. " " The linter_name will be set on the errors so it can be used in " output, filtering, etc.. let l:item = { \ 'bufnr': a:buffer, \ 'text': l:old_item.text, \ 'lnum': str2nr(l:old_item.lnum), \ 'col': str2nr(get(l:old_item, 'col', 0)), \ 'vcol': 0, \ 'type': get(l:old_item, 'type', 'E'), \ 'nr': get(l:old_item, 'nr', -1), \ 'linter_name': a:linter_name, \} if a:from_other_source let l:item.from_other_source = 1 endif if has_key(l:old_item, 'code') let l:item.code = l:old_item.code endif let l:old_name = get(l:old_item, 'filename', '') " Map parsed from output to local filesystem files. if !empty(l:old_name) && !empty(l:mappings) let l:old_name = ale#filename_mapping#Map(l:old_name, l:mappings) endif if !empty(l:old_name) && !ale#path#IsTempName(l:old_name) " Use the filename given. " Temporary files are assumed to be for this buffer, " and the filename is not included then, because it looks bad " in the loclist window. let l:filename = l:old_name let l:item.filename = l:filename if has_key(l:old_item, 'bufnr') " If a buffer number is also given, include that too. " If Vim detects that he buffer number is valid, it will " be used instead of the filename. let l:item.bufnr = l:old_item.bufnr elseif has_key(l:bufnr_map, l:filename) " Get the buffer number from the map, which can be faster. let l:item.bufnr = l:bufnr_map[l:filename] else " Look up the buffer number. let l:item.bufnr = bufnr(l:filename) let l:bufnr_map[l:filename] = l:item.bufnr endif elseif has_key(l:old_item, 'bufnr') let l:item.bufnr = l:old_item.bufnr endif if has_key(l:old_item, 'detail') let l:item.detail = l:old_item.detail endif " Pass on a end_col key if set, used for highlights. if has_key(l:old_item, 'end_col') let l:item.end_col = str2nr(l:old_item.end_col) endif if has_key(l:old_item, 'end_lnum') let l:item.end_lnum = str2nr(l:old_item.end_lnum) " When the error ends after the end of the file, put it at the " end. This is only done for the current buffer. if l:item.bufnr == a:buffer && l:item.end_lnum > l:last_line_number let l:item.end_lnum = l:last_line_number endif endif if has_key(l:old_item, 'sub_type') let l:item.sub_type = l:old_item.sub_type endif if l:item.lnum < 1 " When errors appear before line 1, put them at line 1. let l:item.lnum = 1 elseif l:item.bufnr == a:buffer && l:item.lnum > l:last_line_number " When errors go beyond the end of the file, put them at the end. " This is only done for the current buffer. let l:item.lnum = l:last_line_number elseif get(l:old_item, 'vcol', 0) " Convert virtual column positions to byte positions. " The positions will be off if the buffer has changed recently. let l:line = getbufline(a:buffer, l:item.lnum)[0] let l:item.col = ale#util#Col(l:line, l:item.col) if has_key(l:item, 'end_col') let l:end_line = get(l:item, 'end_lnum', l:line) != l:line \ ? getbufline(a:buffer, l:item.end_lnum)[0] \ : l:line let l:item.end_col = ale#util#Col(l:end_line, l:item.end_col) endif endif call add(l:new_loclist, l:item) endfor let l:type_map = get(ale#Var(a:buffer, 'type_map'), a:linter_name, {}) if !empty(l:type_map) call s:RemapItemTypes(l:type_map, l:new_loclist) endif return l:new_loclist endfunction " Given part of a command, replace any % with %%, so that no characters in " the string will be replaced with filenames, etc. function! ale#engine#EscapeCommandPart(command_part) abort " TODO: Emit deprecation warning here later. return ale#command#EscapeCommandPart(a:command_part) endfunction " Run a job. " " Returns 1 when a job was started successfully. function! s:RunJob(command, options) abort if ale#command#IsDeferred(a:command) let a:command.result_callback = { \ command -> s:RunJob(command, a:options) \} return 1 endif let l:command = a:command if empty(l:command) return 0 endif let l:cwd = a:options.cwd let l:executable = a:options.executable let l:buffer = a:options.buffer let l:linter = a:options.linter let l:output_stream = a:options.output_stream let l:read_buffer = a:options.read_buffer && !a:options.lint_file let l:info = g:ale_buffer_info[l:buffer] let l:Callback = function('s:HandleExit', [{ \ 'linter': l:linter, \ 'executable': l:executable, \}]) let l:result = ale#command#Run(l:buffer, l:command, l:Callback, { \ 'cwd': l:cwd, \ 'output_stream': l:output_stream, \ 'executable': l:executable, \ 'read_buffer': l:read_buffer, \ 'log_output': 1, \ 'filename_mappings': ale#GetFilenameMappings(l:buffer, l:linter.name), \}) " Only proceed if the job is being run. if empty(l:result) return 0 endif call ale#engine#MarkLinterActive(l:info, l:linter) silent doautocmd User ALEJobStarted return 1 endfunction function! s:StopCurrentJobs(buffer, clear_lint_file_jobs, linter_slots) abort let l:info = get(g:ale_buffer_info, a:buffer, {}) call ale#command#StopJobs(a:buffer, 'linter') " Update the active linter list, clearing out anything not running. if a:clear_lint_file_jobs call ale#command#StopJobs(a:buffer, 'file_linter') let l:info.active_linter_list = [] else let l:lint_file_map = {} " Use a previously computed map of `lint_file` values to find " linters that are used for linting files. for [l:lint_file, l:linter] in a:linter_slots if l:lint_file is 1 let l:lint_file_map[l:linter.name] = 1 endif endfor " Keep jobs for linting files when we're only linting buffers. call filter(l:info.active_linter_list, 'get(l:lint_file_map, v:val.name)') endif endfunction function! ale#engine#Stop(buffer) abort call s:StopCurrentJobs(a:buffer, 1, []) endfunction function! s:RemoveProblemsForDisabledLinters(buffer, linters) abort " Figure out which linters are still enabled, and remove " problems for linters which are no longer enabled. " Problems from other sources will be kept. let l:name_map = {} for l:linter in a:linters let l:name_map[l:linter.name] = 1 endfor call filter( \ get(g:ale_buffer_info[a:buffer], 'loclist', []), \ 'get(v:val, ''from_other_source'') || get(l:name_map, get(v:val, ''linter_name''))', \) endfunction function! s:AddProblemsFromOtherBuffers(buffer, linters) abort let l:filename = expand('#' . a:buffer . ':p') let l:loclist = [] let l:name_map = {} " Build a map of the active linters. for l:linter in a:linters let l:name_map[l:linter.name] = 1 endfor " Find the items from other buffers, for the linters that are enabled. for l:info in values(g:ale_buffer_info) for l:item in l:info.loclist if has_key(l:item, 'filename') \&& l:item.filename is# l:filename \&& has_key(l:name_map, l:item.linter_name) " Copy the items and set the buffer numbers to this one. let l:new_item = copy(l:item) let l:new_item.bufnr = a:buffer call add(l:loclist, l:new_item) endif endfor endfor if !empty(l:loclist) call sort(l:loclist, function('ale#util#LocItemCompareWithText')) call uniq(l:loclist, function('ale#util#LocItemCompareWithText')) " Set the loclist variable, used by some parts of ALE. let g:ale_buffer_info[a:buffer].loclist = l:loclist call ale#engine#SetResults(a:buffer, l:loclist) endif endfunction function! s:RunIfExecutable(buffer, linter, lint_file, executable) abort if ale#command#IsDeferred(a:executable) let a:executable.result_callback = { \ executable -> s:RunIfExecutable( \ a:buffer, \ a:linter, \ a:lint_file, \ executable \ ) \} return 1 endif if ale#engine#IsExecutable(a:buffer, a:executable) " Use different job types for file or linter jobs. let l:job_type = a:lint_file ? 'file_linter' : 'linter' call setbufvar(a:buffer, 'ale_job_type', l:job_type) " Get the cwd for the linter and set it before we call GetCommand. " This will ensure that ale#command#Run uses it by default. let l:cwd = ale#linter#GetCwd(a:buffer, a:linter) if l:cwd isnot v:null call ale#command#SetCwd(a:buffer, l:cwd) endif let l:command = ale#linter#GetCommand(a:buffer, a:linter) if l:cwd isnot v:null call ale#command#ResetCwd(a:buffer) endif let l:options = { \ 'cwd': l:cwd, \ 'executable': a:executable, \ 'buffer': a:buffer, \ 'linter': a:linter, \ 'output_stream': get(a:linter, 'output_stream', 'stdout'), \ 'read_buffer': a:linter.read_buffer, \ 'lint_file': a:lint_file, \} return s:RunJob(l:command, l:options) endif return 0 endfunction " Run a linter for a buffer. " " Returns 1 if the linter was successfully run. function! s:RunLinter(buffer, linter, lint_file) abort if !empty(a:linter.lsp) return ale#lsp_linter#CheckWithLSP(a:buffer, a:linter) else let l:executable = ale#linter#GetExecutable(a:buffer, a:linter) return s:RunIfExecutable(a:buffer, a:linter, a:lint_file, l:executable) endif return 0 endfunction function! s:GetLintFileSlots(buffer, linters) abort let l:linter_slots = [] for l:linter in a:linters let l:LintFile = l:linter.lint_file if type(l:LintFile) is v:t_func let l:LintFile = l:LintFile(a:buffer) endif call add(l:linter_slots, [l:LintFile, l:linter]) endfor return l:linter_slots endfunction function! s:GetLintFileValues(slots, Callback) abort let l:deferred_list = [] let l:new_slots = [] for [l:lint_file, l:linter] in a:slots while ale#command#IsDeferred(l:lint_file) && has_key(l:lint_file, 'value') " If we've already computed the return value, use it. let l:lint_file = l:lint_file.value endwhile if ale#command#IsDeferred(l:lint_file) " If we are going to return the result later, wait for it. call add(l:deferred_list, l:lint_file) else " If we have the value now, coerce it to 0 or 1. let l:lint_file = l:lint_file is 1 endif call add(l:new_slots, [l:lint_file, l:linter]) endfor if !empty(l:deferred_list) for l:deferred in l:deferred_list let l:deferred.result_callback = \ {-> s:GetLintFileValues(l:new_slots, a:Callback)} endfor else call a:Callback(l:new_slots) endif endfunction function! s:RunLinters( \ buffer, \ linters, \ slots, \ should_lint_file, \ new_buffer, \) abort call s:StopCurrentJobs(a:buffer, a:should_lint_file, a:slots) call s:RemoveProblemsForDisabledLinters(a:buffer, a:linters) " We can only clear the results if we aren't checking the buffer. let l:can_clear_results = !ale#engine#IsCheckingBuffer(a:buffer) silent doautocmd User ALELintPre for [l:lint_file, l:linter] in a:slots " Only run lint_file linters if we should. if !l:lint_file || a:should_lint_file if s:RunLinter(a:buffer, l:linter, l:lint_file) " If a single linter ran, we shouldn't clear everything. let l:can_clear_results = 0 endif else " If we skipped running a lint_file linter still in the list, " we shouldn't clear everything. let l:can_clear_results = 0 endif endfor " Clear the results if we can. This needs to be done when linters are " disabled, or ALE itself is disabled. if l:can_clear_results call ale#engine#SetResults(a:buffer, []) elseif a:new_buffer call s:AddProblemsFromOtherBuffers( \ a:buffer, \ map(copy(a:slots), 'v:val[1]') \) endif endfunction function! ale#engine#RunLinters(buffer, linters, should_lint_file) abort " Initialise the buffer information if needed. let l:new_buffer = ale#engine#InitBufferInfo(a:buffer) call s:GetLintFileValues( \ s:GetLintFileSlots(a:buffer, a:linters), \ { \ slots -> s:RunLinters( \ a:buffer, \ a:linters, \ slots, \ a:should_lint_file, \ l:new_buffer, \ ) \ } \) endfunction " Clean up a buffer. " " This function will stop all current jobs for the buffer, " clear the state of everything, and remove the Dictionary for managing " the buffer. function! ale#engine#Cleanup(buffer) abort " Don't bother with cleanup code when newer NeoVim versions are exiting. if get(v:, 'exiting', v:null) isnot v:null return endif if exists('*ale#lsp#CloseDocument') call ale#lsp#CloseDocument(a:buffer) endif if !has_key(g:ale_buffer_info, a:buffer) return endif call ale#engine#RunLinters(a:buffer, [], 1) call remove(g:ale_buffer_info, a:buffer) endfunction " Given a buffer number, return the warnings and errors for a given buffer. function! ale#engine#GetLoclist(buffer) abort if !has_key(g:ale_buffer_info, a:buffer) return [] endif return g:ale_buffer_info[a:buffer].loclist endfunction ================================================ FILE: bundle/ale/autoload/ale/events.vim ================================================ " Author: w0rp " Description: ALE functions for autocmd events. " Get the number of milliseconds since some vague, but consistent, point in " the past. " " This function can be used for timing execution, etc. " " The time will be returned as a Number. function! ale#events#ClockMilliseconds() abort return float2nr(reltimefloat(reltime()) * 1000) endfunction function! ale#events#QuitEvent(buffer) abort " Remember when ALE is quitting for BufWrite, etc. call setbufvar(a:buffer, 'ale_quitting', ale#events#ClockMilliseconds()) endfunction function! ale#events#QuitRecently(buffer) abort let l:time = getbufvar(a:buffer, 'ale_quitting', 0) return l:time && ale#events#ClockMilliseconds() - l:time < 1000 endfunction function! ale#events#SaveEvent(buffer) abort let l:should_lint = ale#Var(a:buffer, 'enabled') && g:ale_lint_on_save if l:should_lint call setbufvar(a:buffer, 'ale_save_event_fired', 1) endif if ale#Var(a:buffer, 'fix_on_save') && !ale#events#QuitRecently(a:buffer) let l:will_fix = ale#fix#Fix(a:buffer, 'save_file') let l:should_lint = l:should_lint && !l:will_fix endif if l:should_lint && !ale#events#QuitRecently(a:buffer) call ale#Queue(0, 'lint_file', a:buffer) endif endfunction function! ale#events#LintOnEnter(buffer) abort " Unmark a file as being changed outside of Vim after we try to check it. call setbufvar(a:buffer, 'ale_file_changed', 0) if ale#Var(a:buffer, 'enabled') && g:ale_lint_on_enter call ale#Queue(0, 'lint_file', a:buffer) endif endfunction function! ale#events#ReadOrEnterEvent(buffer) abort " Apply pattern options if the variable is set. if get(g:, 'ale_pattern_options_enabled', 1) \&& !empty(get(g:, 'ale_pattern_options')) call ale#pattern_options#SetOptions(a:buffer) endif " When entering a buffer, we are no longer quitting it. call setbufvar(a:buffer, 'ale_quitting', 0) let l:filetype = getbufvar(a:buffer, '&filetype') call setbufvar(a:buffer, 'ale_original_filetype', l:filetype) " If the file changed outside of Vim, check it on BufEnter,BufRead if getbufvar(a:buffer, 'ale_file_changed') call ale#events#LintOnEnter(a:buffer) endif endfunction function! ale#events#FileTypeEvent(buffer, new_filetype) abort " The old filetype will be set to an empty string by the BuFEnter event, " and not linting when the old filetype hasn't been set yet prevents " buffers being checked when you enter them when linting on enter is off. let l:old_filetype = getbufvar(a:buffer, 'ale_original_filetype', v:null) if l:old_filetype isnot v:null \&& !empty(a:new_filetype) \&& a:new_filetype isnot# l:old_filetype " Remember what the new filetype is. call setbufvar(a:buffer, 'ale_original_filetype', a:new_filetype) if g:ale_lint_on_filetype_changed call ale#Queue(300, 'lint_file', a:buffer) endif endif endfunction function! ale#events#FileChangedEvent(buffer) abort call setbufvar(a:buffer, 'ale_file_changed', 1) if bufnr('') == a:buffer call ale#events#LintOnEnter(a:buffer) endif endfunction function! ale#events#Init() abort " This value used to be a Boolean as a Number, and is now a String. let l:text_changed = '' . g:ale_lint_on_text_changed augroup ALEEvents autocmd! " These events always need to be set up. autocmd BufEnter,BufRead * call ale#events#ReadOrEnterEvent(str2nr(expand(''))) autocmd BufWritePost * call ale#events#SaveEvent(str2nr(expand(''))) if g:ale_enabled if l:text_changed is? 'always' || l:text_changed is# '1' autocmd TextChanged,TextChangedI * call ale#Queue(ale#Var(str2nr(expand('')), 'lint_delay')) elseif l:text_changed is? 'normal' autocmd TextChanged * call ale#Queue(ale#Var(str2nr(expand('')), 'lint_delay')) elseif l:text_changed is? 'insert' autocmd TextChangedI * call ale#Queue(ale#Var(str2nr(expand('')), 'lint_delay')) endif if g:ale_lint_on_enter autocmd BufWinEnter * call ale#events#LintOnEnter(str2nr(expand(''))) " Track when the file is changed outside of Vim. autocmd FileChangedShellPost * call ale#events#FileChangedEvent(str2nr(expand(''))) endif if g:ale_lint_on_filetype_changed " Only start linting if the FileType actually changes after " opening a buffer. The FileType will fire when buffers are opened. autocmd FileType * call ale#events#FileTypeEvent( \ str2nr(expand('')), \ expand('') \) endif if g:ale_lint_on_insert_leave autocmd InsertLeave * if ale#Var(str2nr(expand('')), 'lint_on_insert_leave') | call ale#Queue(0) | endif endif if g:ale_echo_cursor || g:ale_cursor_detail autocmd CursorMoved,CursorHold * if exists('*ale#engine#Cleanup') | call ale#cursor#EchoCursorWarningWithDelay() | endif " Look for a warning to echo as soon as we leave Insert mode. " The script's position variable used when moving the cursor will " not be changed here. autocmd InsertLeave * if exists('*ale#engine#Cleanup') | call ale#cursor#EchoCursorWarning() | endif endif if g:ale_virtualtext_cursor is# 'current' || g:ale_virtualtext_cursor is# 1 || g:ale_virtualtext_cursor is# '1' autocmd CursorMoved,CursorHold * if exists('*ale#engine#Cleanup') | call ale#virtualtext#ShowCursorWarningWithDelay() | endif " Look for a warning to echo as soon as we leave Insert mode. " The script's position variable used when moving the cursor will " not be changed here. autocmd InsertLeave * if exists('*ale#engine#Cleanup') | call ale#virtualtext#ShowCursorWarning() | endif endif if g:ale_hover_cursor autocmd CursorHold * if exists('*ale#lsp#Send') | call ale#hover#ShowTruncatedMessageAtCursor() | endif endif if g:ale_close_preview_on_insert autocmd InsertEnter * if exists('*ale#preview#CloseIfTypeMatches') | call ale#preview#CloseIfTypeMatches('ale-preview') | endif endif endif augroup END augroup AleURISchemes autocmd! autocmd BufNewFile,BufReadPre jdt://** call ale#uri#jdt#ReadJDTLink(expand('')) augroup END endfunction ================================================ FILE: bundle/ale/autoload/ale/filename_mapping.vim ================================================ " Author: w0rp " Description: Logic for handling mappings between files " Invert filesystem mappings so they can be mapped in reverse. function! ale#filename_mapping#Invert(filename_mappings) abort return map(copy(a:filename_mappings), '[v:val[1], v:val[0]]') endfunction " Given a filename and some filename_mappings, map a filename. function! ale#filename_mapping#Map(filename, filename_mappings) abort let l:simplified_filename = ale#path#Simplify(a:filename) for [l:mapping_from, l:mapping_to] in a:filename_mappings let l:mapping_from = ale#path#Simplify(l:mapping_from) if l:simplified_filename[:len(l:mapping_from) - 1] is# l:mapping_from return l:mapping_to . l:simplified_filename[len(l:mapping_from):] endif endfor return a:filename endfunction ================================================ FILE: bundle/ale/autoload/ale/filerename.vim ================================================ " Author: Dalius Dobravolskas " Description: Rename file support for tsserver let s:filerename_map = {} " Used to get the rename map in tests. function! ale#filerename#GetMap() abort return deepcopy(s:filerename_map) endfunction " Used to set the rename map in tests. function! ale#filerename#SetMap(map) abort let s:filerename_map = a:map endfunction function! ale#filerename#ClearLSPData() abort let s:filerename_map = {} endfunction function! s:message(message) abort call ale#util#Execute('echom ' . string(a:message)) endfunction function! ale#filerename#HandleTSServerResponse(conn_id, response) abort if get(a:response, 'command', '') isnot# 'getEditsForFileRename' return endif if !has_key(s:filerename_map, a:response.request_seq) return endif let l:options = remove(s:filerename_map, a:response.request_seq) let l:old_name = l:options.old_name let l:new_name = l:options.new_name if get(a:response, 'success', v:false) is v:false let l:message = get(a:response, 'message', 'unknown') call s:message('Error renaming file "' . l:old_name . '" to "' . l:new_name \ . '". Reason: ' . l:message) return endif let l:changes = a:response.body if empty(l:changes) call s:message('No changes while renaming "' . l:old_name . '" to "' . l:new_name . '"') else call ale#code_action#HandleCodeAction( \ { \ 'description': 'filerename', \ 'changes': l:changes, \ }, \ { \ 'should_save': 1, \ }, \) endif silent! noautocmd execute 'saveas ' . l:new_name call delete(l:old_name) endfunction function! s:OnReady(options, linter, lsp_details) abort let l:id = a:lsp_details.connection_id if !ale#lsp#HasCapability(l:id, 'filerename') return endif let l:buffer = a:lsp_details.buffer let l:Callback = function('ale#filerename#HandleTSServerResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) let l:message = ale#lsp#tsserver_message#GetEditsForFileRename( \ a:options.old_name, \ a:options.new_name, \) let l:request_id = ale#lsp#Send(l:id, l:message) let s:filerename_map[l:request_id] = a:options endfunction function! s:ExecuteFileRename(linter, options) abort let l:buffer = bufnr('') let l:Callback = function('s:OnReady', [a:options]) call ale#lsp_linter#StartLSP(l:buffer, a:linter, l:Callback) endfunction function! ale#filerename#Execute() abort let l:lsp_linters = [] for l:linter in ale#linter#Get(&filetype) if l:linter.lsp is# 'tsserver' call add(l:lsp_linters, l:linter) endif endfor if empty(l:lsp_linters) call s:message('No active tsserver LSPs') return endif let l:buffer = bufnr('') let l:old_name = expand('#' . l:buffer . ':p') let l:new_name = ale#util#Input('New file name: ', l:old_name, 'file') if l:old_name is# l:new_name call s:message('New file name matches old file name') return endif if empty(l:new_name) call s:message('New name cannot be empty!') return endif for l:lsp_linter in l:lsp_linters call s:ExecuteFileRename(l:lsp_linter, { \ 'old_name': l:old_name, \ 'new_name': l:new_name, \}) endfor endfunction ================================================ FILE: bundle/ale/autoload/ale/filetypes.vim ================================================ " Author: w0rp " Description: This file handles guessing file extensions for filetypes, etc. function! ale#filetypes#LoadExtensionMap() abort " Output includes: " '*.erl setf erlang' let l:output = execute('exec "autocmd"') let l:map = {} for l:line in split(l:output, "\n") " Parse filetypes, like so: " " *.erl setf erlang " *.md set filetype=markdown " *.snippet setlocal filetype=snippets let l:match = matchlist(l:line, '\v^ *\*(\.[^ ]+).*set(f *| *filetype=|local *filetype=)([^ ]+)') if !empty(l:match) let l:map[substitute(l:match[3], '^=', '', '')] = l:match[1] endif endfor return l:map endfunction let s:cached_map = {} function! s:GetCachedExtensionMap() abort if empty(s:cached_map) let s:cached_map = ale#filetypes#LoadExtensionMap() endif return s:cached_map endfunction function! ale#filetypes#GuessExtension(filetype) abort let l:map = s:GetCachedExtensionMap() let l:ext = get(l:map, a:filetype, '') " If we have an exact match, like something for javascript.jsx, use that. if !empty(l:ext) return l:ext endif " If we don't have an exact match, use the first filetype in the compound " filetype. for l:part in split(a:filetype, '\.') let l:ext = get(l:map, l:part, '') if !empty(l:ext) return l:ext endif endfor " Return an empty string if we don't find anything. return '' endfunction ================================================ FILE: bundle/ale/autoload/ale/fix/registry.vim ================================================ " Author: w0rp " Description: A registry of functions for fixing things. let s:default_registry = { \ 'add_blank_lines_for_python_control_statements': { \ 'function': 'ale#fixers#generic_python#AddLinesBeforeControlStatements', \ 'suggested_filetypes': ['python'], \ 'description': 'Add blank lines before control statements.', \ }, \ 'align_help_tags': { \ 'function': 'ale#fixers#help#AlignTags', \ 'suggested_filetypes': ['help'], \ 'description': 'Align help tags to the right margin', \ }, \ 'autoimport': { \ 'function': 'ale#fixers#autoimport#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Fix import issues with autoimport.', \ }, \ 'autoflake': { \ 'function': 'ale#fixers#autoflake#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Fix flake issues with autoflake.', \ }, \ 'autopep8': { \ 'function': 'ale#fixers#autopep8#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Fix PEP8 issues with autopep8.', \ }, \ 'bibclean': { \ 'function': 'ale#fixers#bibclean#Fix', \ 'suggested_filetypes': ['bib'], \ 'description': 'Format bib files using bibclean.', \ }, \ 'black': { \ 'function': 'ale#fixers#black#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Fix PEP8 issues with black.', \ }, \ 'buf-format': { \ 'function': 'ale#fixers#buf_format#Fix', \ 'suggested_filetypes': ['proto'], \ 'description': 'Fix .proto files with buf format.', \ }, \ 'buildifier': { \ 'function': 'ale#fixers#buildifier#Fix', \ 'suggested_filetypes': ['bzl'], \ 'description': 'Format BUILD and .bzl files with buildifier.', \ }, \ 'css-beautify': { \ 'function': 'ale#fixers#css_beautify#Fix', \ 'suggested_filetypes': ['css'], \ 'description': 'Format CSS using css-beautify from js-beautify.', \ }, \ 'deno': { \ 'function': 'ale#fixers#deno#Fix', \ 'suggested_filetypes': ['typescript'], \ 'description': 'Fix TypeScript using deno fmt.', \ }, \ 'dfmt': { \ 'function': 'ale#fixers#dfmt#Fix', \ 'suggested_filetypes': ['d'], \ 'description': 'Fix D files with dfmt.', \ }, \ 'dhall': { \ 'function': 'ale#fixers#dhall#Fix', \ 'suggested_filetypes': ['dhall'], \ 'description': 'Fix Dhall files with dhall-format.', \ }, \ 'dhall-format': { \ 'function': 'ale#fixers#dhall_format#Fix', \ 'suggested_filetypes': ['dhall'], \ 'description': 'Standard code formatter for the Dhall language', \ 'aliases': ['dhall'], \ }, \ 'dhall-freeze': { \ 'function': 'ale#fixers#dhall_freeze#Freeze', \ 'suggested_filetypes': ['dhall'], \ 'description': 'Add integrity checks to remote import statements of an expression for the Dhall language', \ }, \ 'dhall-lint': { \ 'function': 'ale#fixers#dhall_lint#Fix', \ 'suggested_filetypes': ['dhall'], \ 'description': 'Standard code formatter for the Dhall language and removing dead code', \ }, \ 'dune': { \ 'function': 'ale#fixers#dune#Fix', \ 'suggested_filetypes': ['dune'], \ 'description': 'Fix dune files with dune format', \ }, \ 'fecs': { \ 'function': 'ale#fixers#fecs#Fix', \ 'suggested_filetypes': ['javascript', 'css', 'html'], \ 'description': 'Apply fecs format to a file.', \ }, \ 'tidy': { \ 'function': 'ale#fixers#tidy#Fix', \ 'suggested_filetypes': ['html'], \ 'description': 'Fix HTML files with tidy.', \ }, \ 'prettier_standard': { \ 'function': 'ale#fixers#prettier_standard#Fix', \ 'suggested_filetypes': ['javascript'], \ 'description': 'Apply prettier-standard to a file.', \ 'aliases': ['prettier-standard'], \ }, \ 'elm-format': { \ 'function': 'ale#fixers#elm_format#Fix', \ 'suggested_filetypes': ['elm'], \ 'description': 'Apply elm-format to a file.', \ 'aliases': ['format'], \ }, \ 'nimpretty': { \ 'function': 'ale#fixers#nimpretty#Fix', \ 'suggested_filetypes': ['nim'], \ 'description': 'Apply nimpretty to a file.', \ }, \ 'erblint': { \ 'function': 'ale#fixers#erblint#Fix', \ 'suggested_filetypes': ['eruby'], \ 'description': 'Apply erblint --autocorrect to a file.', \ }, \ 'eslint': { \ 'function': 'ale#fixers#eslint#Fix', \ 'suggested_filetypes': ['javascript', 'typescript'], \ 'description': 'Apply eslint --fix to a file.', \ }, \ 'mix_format': { \ 'function': 'ale#fixers#mix_format#Fix', \ 'suggested_filetypes': ['elixir'], \ 'description': 'Apply mix format to a file.', \ }, \ 'isort': { \ 'function': 'ale#fixers#isort#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Sort Python imports with isort.', \ }, \ 'prettier': { \ 'function': 'ale#fixers#prettier#Fix', \ 'suggested_filetypes': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'json5', 'graphql', 'markdown', 'vue', 'svelte', 'html', 'yaml', 'openapi', 'ruby'], \ 'description': 'Apply prettier to a file.', \ }, \ 'prettier_eslint': { \ 'function': 'ale#fixers#prettier_eslint#Fix', \ 'suggested_filetypes': ['javascript'], \ 'description': 'Apply prettier-eslint to a file.', \ 'aliases': ['prettier-eslint'], \ }, \ 'pyflyby': { \ 'function': 'ale#fixers#pyflyby#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Tidy Python imports with pyflyby.', \ }, \ 'importjs': { \ 'function': 'ale#fixers#importjs#Fix', \ 'suggested_filetypes': ['javascript'], \ 'description': 'automatic imports for javascript', \ }, \ 'puppetlint': { \ 'function': 'ale#fixers#puppetlint#Fix', \ 'suggested_filetypes': ['puppet'], \ 'description': 'Run puppet-lint -f on a file.', \ }, \ 'remove_trailing_lines': { \ 'function': 'ale#fixers#generic#RemoveTrailingBlankLines', \ 'suggested_filetypes': [], \ 'description': 'Remove all blank lines at the end of a file.', \ }, \ 'trim_whitespace': { \ 'function': 'ale#fixers#generic#TrimWhitespace', \ 'suggested_filetypes': [], \ 'description': 'Remove all trailing whitespace characters at the end of every line.', \ }, \ 'yamlfix': { \ 'function': 'ale#fixers#yamlfix#Fix', \ 'suggested_filetypes': ['yaml'], \ 'description': 'Fix yaml files with yamlfix.', \ }, \ 'yapf': { \ 'function': 'ale#fixers#yapf#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Fix Python files with yapf.', \ }, \ 'rubocop': { \ 'function': 'ale#fixers#rubocop#Fix', \ 'suggested_filetypes': ['ruby'], \ 'description': 'Fix ruby files with rubocop --auto-correct.', \ }, \ 'rufo': { \ 'function': 'ale#fixers#rufo#Fix', \ 'suggested_filetypes': ['ruby'], \ 'description': 'Fix ruby files with rufo', \ }, \ 'scalafmt': { \ 'function': 'ale#fixers#scalafmt#Fix', \ 'suggested_filetypes': ['sbt', 'scala'], \ 'description': 'Fix Scala files using scalafmt', \ }, \ 'sorbet': { \ 'function': 'ale#fixers#sorbet#Fix', \ 'suggested_filetypes': ['ruby'], \ 'description': 'Fix ruby files with srb tc --autocorrect.', \ }, \ 'standard': { \ 'function': 'ale#fixers#standard#Fix', \ 'suggested_filetypes': ['javascript'], \ 'description': 'Fix JavaScript files using standard --fix', \ }, \ 'standardrb': { \ 'function': 'ale#fixers#standardrb#Fix', \ 'suggested_filetypes': ['ruby'], \ 'description': 'Fix ruby files with standardrb --fix', \ }, \ 'statix': { \ 'function': 'ale#fixers#statix#Fix', \ 'suggested_filetypes': ['nix'], \ 'description': 'Fix common Nix antipatterns with statix fix', \ }, \ 'stylelint': { \ 'function': 'ale#fixers#stylelint#Fix', \ 'suggested_filetypes': ['css', 'sass', 'scss', 'sugarss', 'stylus'], \ 'description': 'Fix stylesheet files using stylelint --fix.', \ }, \ 'swiftformat': { \ 'function': 'ale#fixers#swiftformat#Fix', \ 'suggested_filetypes': ['swift'], \ 'description': 'Apply SwiftFormat to a file.', \ }, \ 'syntax_tree': { \ 'function': 'ale#fixers#syntax_tree#Fix', \ 'suggested_filetypes': ['ruby'], \ 'description': 'Fix ruby files with stree write', \ }, \ 'apple-swift-format': { \ 'function': 'ale#fixers#appleswiftformat#Fix', \ 'suggested_filetypes': ['swift'], \ 'description': 'Apply apple/swift-format to a file.', \ }, \ 'phpcbf': { \ 'function': 'ale#fixers#phpcbf#Fix', \ 'suggested_filetypes': ['php'], \ 'description': 'Fix PHP files with phpcbf.', \ }, \ 'php_cs_fixer': { \ 'function': 'ale#fixers#php_cs_fixer#Fix', \ 'suggested_filetypes': ['php'], \ 'description': 'Fix PHP files with php-cs-fixer.', \ }, \ 'pint': { \ 'function': 'ale#fixers#pint#Fix', \ 'suggested_filetypes': ['php'], \ 'description': 'Fix PHP files with Laravel Pint.', \ }, \ 'astyle': { \ 'function': 'ale#fixers#astyle#Fix', \ 'suggested_filetypes': ['c', 'cpp'], \ 'description': 'Fix C/C++ with astyle.', \ }, \ 'clangtidy': { \ 'function': 'ale#fixers#clangtidy#Fix', \ 'suggested_filetypes': ['c', 'cpp', 'objc'], \ 'description': 'Fix C/C++ and ObjectiveC files with clang-tidy.', \ }, \ 'clang-format': { \ 'function': 'ale#fixers#clangformat#Fix', \ 'suggested_filetypes': ['c', 'cpp', 'cs', 'cuda', 'java', 'javascript', 'json', 'objc', 'proto'], \ 'description': 'Fix C, C++, C#, CUDA, Java, JavaScript, JSON, ObjectiveC and Protobuf files with clang-format.', \ }, \ 'cmakeformat': { \ 'function': 'ale#fixers#cmakeformat#Fix', \ 'suggested_filetypes': ['cmake'], \ 'description': 'Fix CMake files with cmake-format.', \ }, \ 'fish_indent': { \ 'function': 'ale#fixers#fish_indent#Fix', \ 'suggested_filetypes': ['fish'], \ 'description': 'Format fish scripts using fish_indent.', \ }, \ 'gofmt': { \ 'function': 'ale#fixers#gofmt#Fix', \ 'suggested_filetypes': ['go'], \ 'description': 'Fix Go files with go fmt.', \ }, \ 'gofumpt': { \ 'function': 'ale#fixers#gofumpt#Fix', \ 'suggested_filetypes': ['go'], \ 'description': 'Fix Go files with gofumpt, a stricter go fmt.', \ }, \ 'goimports': { \ 'function': 'ale#fixers#goimports#Fix', \ 'suggested_filetypes': ['go'], \ 'description': 'Fix Go files imports with goimports.', \ }, \ 'golines': { \ 'function': 'ale#fixers#golines#Fix', \ 'suggested_filetypes': ['go'], \ 'description': 'Fix Go file long lines with golines', \ }, \ 'gomod': { \ 'function': 'ale#fixers#gomod#Fix', \ 'suggested_filetypes': ['gomod'], \ 'description': 'Fix Go module files with go mod edit -fmt.', \ }, \ 'tslint': { \ 'function': 'ale#fixers#tslint#Fix', \ 'suggested_filetypes': ['typescript'], \ 'description': 'Fix typescript files with tslint --fix.', \ }, \ 'rustfmt': { \ 'function': 'ale#fixers#rustfmt#Fix', \ 'suggested_filetypes': ['rust'], \ 'description': 'Fix Rust files with Rustfmt.', \ }, \ 'textlint': { \ 'function': 'ale#fixers#textlint#Fix', \ 'suggested_filetypes': ['text','markdown','asciidoc','tex'], \ 'description': 'Fix text files with textlint --fix', \ }, \ 'hackfmt': { \ 'function': 'ale#fixers#hackfmt#Fix', \ 'suggested_filetypes': ['hack'], \ 'description': 'Fix Hack files with hackfmt.', \ }, \ 'floskell': { \ 'function': 'ale#fixers#floskell#Fix', \ 'suggested_filetypes': ['haskell'], \ 'description': 'Fix Haskell files with floskell.', \ }, \ 'hfmt': { \ 'function': 'ale#fixers#hfmt#Fix', \ 'suggested_filetypes': ['haskell'], \ 'description': 'Fix Haskell files with hfmt.', \ }, \ 'brittany': { \ 'function': 'ale#fixers#brittany#Fix', \ 'suggested_filetypes': ['haskell'], \ 'description': 'Fix Haskell files with brittany.', \ }, \ 'hindent': { \ 'function': 'ale#fixers#hindent#Fix', \ 'suggested_filetypes': ['haskell'], \ 'description': 'Fix Haskell files with hindent.', \ }, \ 'hlint': { \ 'function': 'ale#fixers#hlint#Fix', \ 'suggested_filetypes': ['haskell'], \ 'description': 'Refactor Haskell files with hlint.', \ }, \ 'stylish-haskell': { \ 'function': 'ale#fixers#stylish_haskell#Fix', \ 'suggested_filetypes': ['haskell'], \ 'description': 'Refactor Haskell files with stylish-haskell.', \ }, \ 'purs-tidy': { \ 'function': 'ale#fixers#purs_tidy#Fix', \ 'suggested_filetypes': ['purescript'], \ 'description': 'Format PureScript files with purs-tidy.', \ }, \ 'purty': { \ 'function': 'ale#fixers#purty#Fix', \ 'suggested_filetypes': ['purescript'], \ 'description': 'Format PureScript files with purty.', \ }, \ 'ocamlformat': { \ 'function': 'ale#fixers#ocamlformat#Fix', \ 'suggested_filetypes': ['ocaml', 'ocamlinterface'], \ 'description': 'Fix OCaml files with ocamlformat.', \ }, \ 'ocp-indent': { \ 'function': 'ale#fixers#ocp_indent#Fix', \ 'suggested_filetypes': ['ocaml', 'ocamlinterface'], \ 'description': 'Fix OCaml files with ocp-indent.', \ }, \ 'refmt': { \ 'function': 'ale#fixers#refmt#Fix', \ 'suggested_filetypes': ['reason'], \ 'description': 'Fix ReasonML files with refmt.', \ }, \ 'pandoc': { \ 'function': 'ale#fixers#pandoc#Fix', \ 'suggested_filetypes': ['markdown'], \ 'description': 'Fix markdown files with pandoc.', \ }, \ 'shfmt': { \ 'function': 'ale#fixers#shfmt#Fix', \ 'suggested_filetypes': ['sh'], \ 'description': 'Fix sh files with shfmt.', \ }, \ 'sqlfluff': { \ 'function': 'ale#fixers#sqlfluff#Fix', \ 'suggested_filetypes': ['sql'], \ 'description': 'Fix SQL files with sqlfluff.', \ }, \ 'sqlfmt': { \ 'function': 'ale#fixers#sqlfmt#Fix', \ 'suggested_filetypes': ['sql'], \ 'description': 'Fix SQL files with sqlfmt.', \ }, \ 'sqlformat': { \ 'function': 'ale#fixers#sqlformat#Fix', \ 'suggested_filetypes': ['sql'], \ 'description': 'Fix SQL files with sqlformat.', \ }, \ 'google_java_format': { \ 'function': 'ale#fixers#google_java_format#Fix', \ 'suggested_filetypes': ['java'], \ 'description': 'Fix Java files with google-java-format.', \ }, \ 'fixjson': { \ 'function': 'ale#fixers#fixjson#Fix', \ 'suggested_filetypes': ['json'], \ 'description': 'Fix JSON files with fixjson.', \ }, \ 'jq': { \ 'function': 'ale#fixers#jq#Fix', \ 'suggested_filetypes': ['json'], \ 'description': 'Fix JSON files with jq.', \ }, \ 'protolint': { \ 'function': 'ale#fixers#protolint#Fix', \ 'suggested_filetypes': ['proto'], \ 'description': 'Fix Protocol Buffer files with protolint.', \ }, \ 'perltidy': { \ 'function': 'ale#fixers#perltidy#Fix', \ 'suggested_filetypes': ['perl'], \ 'description': 'Fix Perl files with perltidy.', \ }, \ 'xo': { \ 'function': 'ale#fixers#xo#Fix', \ 'suggested_filetypes': ['javascript', 'typescript'], \ 'description': 'Fix JavaScript/TypeScript files using xo --fix.', \ }, \ 'qmlfmt': { \ 'function': 'ale#fixers#qmlfmt#Fix', \ 'suggested_filetypes': ['qml'], \ 'description': 'Fix QML files with qmlfmt.', \ }, \ 'dartfmt': { \ 'function': 'ale#fixers#dartfmt#Fix', \ 'suggested_filetypes': ['dart'], \ 'description': 'Fix Dart files with dartfmt.', \ }, \ 'dart-format': { \ 'function': 'ale#fixers#dart_format#Fix', \ 'suggested_filetypes': ['dart'], \ 'description': 'Fix Dart files with dart format.', \ }, \ 'dotnet-format': { \ 'function': 'ale#fixers#dotnet_format#Fix', \ 'suggested_filetypes': ['cs'], \ 'description': 'Fix C# files with dotnet format.', \ }, \ 'xmllint': { \ 'function': 'ale#fixers#xmllint#Fix', \ 'suggested_filetypes': ['xml'], \ 'description': 'Fix XML files with xmllint.', \ }, \ 'uncrustify': { \ 'function': 'ale#fixers#uncrustify#Fix', \ 'suggested_filetypes': ['c', 'cpp', 'cs', 'objc', 'objcpp', 'd', 'java', 'p', 'vala' ], \ 'description': 'Fix C, C++, C#, ObjectiveC, ObjectiveC++, D, Java, Pawn, and VALA files with uncrustify.', \ }, \ 'terraform': { \ 'function': 'ale#fixers#terraform#Fix', \ 'suggested_filetypes': ['hcl', 'terraform'], \ 'description': 'Fix tf and hcl files with terraform fmt.', \ }, \ 'packer': { \ 'function': 'ale#fixers#packer#Fix', \ 'suggested_filetypes': ['hcl', 'packer'], \ 'description': 'Fix Packer HCL files with packer fmt.', \ }, \ 'crystal': { \ 'function': 'ale#fixers#crystal#Fix', \ 'suggested_filetypes': ['cr'], \ 'description': 'Fix cr (crystal).', \ }, \ 'ktlint': { \ 'function': 'ale#fixers#ktlint#Fix', \ 'suggested_filetypes': ['kt', 'kotlin'], \ 'description': 'Fix Kotlin files with ktlint.', \ }, \ 'styler': { \ 'function': 'ale#fixers#styler#Fix', \ 'suggested_filetypes': ['r', 'rmarkdown', 'rmd'], \ 'description': 'Fix R files with styler.', \ }, \ 'latexindent': { \ 'function': 'ale#fixers#latexindent#Fix', \ 'suggested_filetypes': ['tex'], \ 'description' : 'Indent code within environments, commands, after headings and within special code blocks.', \ }, \ 'pgformatter': { \ 'function': 'ale#fixers#pgformatter#Fix', \ 'suggested_filetypes': ['sql'], \ 'description': 'A PostgreSQL SQL syntax beautifier', \ }, \ 'reorder-python-imports': { \ 'function': 'ale#fixers#reorder_python_imports#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Sort Python imports with reorder-python-imports.', \ }, \ 'gnatpp': { \ 'function': 'ale#fixers#gnatpp#Fix', \ 'suggested_filetypes': ['ada'], \ 'description': 'Format Ada files with gnatpp.', \ }, \ 'nixfmt': { \ 'function': 'ale#fixers#nixfmt#Fix', \ 'suggested_filetypes': ['nix'], \ 'description': 'A nix formatter written in Haskell.', \ }, \ 'nixpkgs-fmt': { \ 'function': 'ale#fixers#nixpkgsfmt#Fix', \ 'suggested_filetypes': ['nix'], \ 'description': 'A formatter for Nix code', \ }, \ 'remark-lint': { \ 'function': 'ale#fixers#remark_lint#Fix', \ 'suggested_filetypes': ['markdown'], \ 'description': 'Fix markdown files with remark-lint', \ }, \ 'html-beautify': { \ 'function': 'ale#fixers#html_beautify#Fix', \ 'suggested_filetypes': ['html', 'htmldjango'], \ 'description': 'Fix HTML files with html-beautify from js-beautify.', \ }, \ 'lua-format': { \ 'function': 'ale#fixers#lua_format#Fix', \ 'suggested_filetypes': ['lua'], \ 'description': 'Fix Lua files with lua-format.', \ }, \ 'luafmt': { \ 'function': 'ale#fixers#luafmt#Fix', \ 'suggested_filetypes': ['lua'], \ 'description': 'Fix Lua files with luafmt.', \ }, \ 'dprint': { \ 'function': 'ale#fixers#dprint#Fix', \ 'suggested_filetypes': ['dockerfile', 'javascript', 'json', 'markdown', 'toml', 'typescript'], \ 'description': 'Pluggable and configurable code formatting platform', \ }, \ 'stylua': { \ 'function': 'ale#fixers#stylua#Fix', \ 'suggested_filetypes': ['lua'], \ 'description': 'Fix Lua files with stylua.', \ }, \ 'ormolu': { \ 'function': 'ale#fixers#ormolu#Fix', \ 'suggested_filetypes': ['haskell'], \ 'description': 'A formatter for Haskell source code.', \ }, \ 'jsonnetfmt': { \ 'function': 'ale#fixers#jsonnetfmt#Fix', \ 'suggested_filetypes': ['jsonnet'], \ 'description': 'Fix jsonnet files with jsonnetfmt', \ }, \ 'ptop': { \ 'function': 'ale#fixers#ptop#Fix', \ 'suggested_filetypes': ['pascal'], \ 'description': 'Fix Pascal files with ptop.', \ }, \ 'opafmt': { \ 'function': 'ale#fixers#opafmt#Fix', \ 'suggested_filetypes': ['rego'], \ 'description': 'Fix rego files with opa fmt.', \ }, \ 'vfmt': { \ 'function': 'ale#fixers#vfmt#Fix', \ 'suggested_filetypes': ['v'], \ 'description': 'A formatter for V source code.', \ }, \ 'zigfmt': { \ 'function': 'ale#fixers#zigfmt#Fix', \ 'suggested_filetypes': ['zig'], \ 'description': 'Official formatter for Zig', \ }, \ 'raco_fmt': { \ 'function': 'ale#fixers#raco_fmt#Fix', \ 'suggested_filetypes': ['racket'], \ 'description': 'Fix Racket files with raco fmt.', \ }, \ 'ruff': { \ 'function': 'ale#fixers#ruff#Fix', \ 'suggested_filetypes': ['python'], \ 'description': 'Fix python files with ruff.', \ } \} " Reset the function registry to the default entries. function! ale#fix#registry#ResetToDefaults() abort let s:entries = deepcopy(s:default_registry) let s:aliases = {} " Set up aliases for fixers too. for [l:key, l:entry] in items(s:entries) for l:alias in get(l:entry, 'aliases', []) let s:aliases[l:alias] = l:key endfor endfor endfunction " Set up entries now. call ale#fix#registry#ResetToDefaults() " Remove everything from the registry, useful for tests. function! ale#fix#registry#Clear() abort let s:entries = {} let s:aliases = {} endfunction " Add a function for fixing problems to the registry. " (name, func, filetypes, desc, aliases) function! ale#fix#registry#Add(name, func, filetypes, desc, ...) abort " This command will throw from the sandbox. let &l:equalprg=&l:equalprg if type(a:name) isnot v:t_string throw '''name'' must be a String' endif if type(a:func) isnot v:t_string throw '''func'' must be a String' endif if type(a:filetypes) isnot v:t_list throw '''filetypes'' must be a List' endif for l:type in a:filetypes if type(l:type) isnot v:t_string throw 'Each entry of ''filetypes'' must be a String' endif endfor if type(a:desc) isnot v:t_string throw '''desc'' must be a String' endif let l:aliases = get(a:000, 0, []) if type(l:aliases) isnot v:t_list \|| !empty(filter(copy(l:aliases), 'type(v:val) isnot v:t_string')) throw '''aliases'' must be a List of String values' endif let s:entries[a:name] = { \ 'function': a:func, \ 'suggested_filetypes': a:filetypes, \ 'description': a:desc, \} " Set up aliases for the fixer. if !empty(l:aliases) let s:entries[a:name].aliases = l:aliases for l:alias in l:aliases let s:aliases[l:alias] = a:name endfor endif endfunction " Get a function from the registry by its short name. function! ale#fix#registry#GetFunc(name) abort " Use the exact name, or an alias. let l:resolved_name = !has_key(s:entries, a:name) \ ? get(s:aliases, a:name, a:name) \ : a:name return get(s:entries, l:resolved_name, {'function': ''}).function endfunction function! s:ShouldSuggestForType(suggested_filetypes, type_list) abort for l:type in a:type_list if index(a:suggested_filetypes, l:type) >= 0 return 1 endif endfor return 0 endfunction function! s:IsGenericFixer(suggested_filetypes) abort if empty(a:suggested_filetypes) return 1 endif return 0 endfunction function! s:FormatEntry(key, entry) abort let l:aliases_str = '' " Show aliases in :ALEFixSuggest if they are there. if !empty(get(a:entry, 'aliases', [])) let l:aliases_str = ', ' . join( \ map(copy(a:entry.aliases), 'string(v:val)'), \ ',' \) endif return printf( \ '%s%s - %s', \ string(a:key), \ l:aliases_str, \ a:entry.description, \) endfunction " Get list of applicable fixers for filetype, including generic fixers function! ale#fix#registry#GetApplicableFixers(filetype) abort let l:type_list = split(a:filetype, '\.') let l:fixer_name_list = [] for l:key in sort(keys(s:entries)) let l:suggested_filetypes = s:entries[l:key].suggested_filetypes if s:IsGenericFixer(l:suggested_filetypes) || s:ShouldSuggestForType(l:suggested_filetypes, l:type_list) call add(l:fixer_name_list, l:key) endif endfor return l:fixer_name_list endfunction " Function that returns autocomplete candidates for ALEFix command function! ale#fix#registry#CompleteFixers(ArgLead, CmdLine, CursorPos) abort return filter(ale#fix#registry#GetApplicableFixers(&filetype), 'v:val =~? a:ArgLead') endfunction function! ale#fix#registry#SuggestedFixers(filetype) abort let l:type_list = split(a:filetype, '\.') let l:filetype_fixer_list = [] for l:key in sort(keys(s:entries)) let l:suggested_filetypes = s:entries[l:key].suggested_filetypes if s:ShouldSuggestForType(l:suggested_filetypes, l:type_list) call add( \ l:filetype_fixer_list, \ s:FormatEntry(l:key, s:entries[l:key]), \) endif endfor let l:generic_fixer_list = [] for l:key in sort(keys(s:entries)) if s:IsGenericFixer(s:entries[l:key].suggested_filetypes) call add( \ l:generic_fixer_list, \ s:FormatEntry(l:key, s:entries[l:key]), \) endif endfor return [l:filetype_fixer_list, l:generic_fixer_list] endfunction " Suggest functions to use from the registry. function! ale#fix#registry#Suggest(filetype) abort let l:suggested = ale#fix#registry#SuggestedFixers(a:filetype) let l:filetype_fixer_list = l:suggested[0] let l:generic_fixer_list = l:suggested[1] let l:filetype_fixer_header = !empty(l:filetype_fixer_list) \ ? ['Try the following fixers appropriate for the filetype:', ''] \ : [] let l:generic_fixer_header = !empty(l:generic_fixer_list) \ ? ['Try the following generic fixers:', ''] \ : [] let l:has_both_lists = !empty(l:filetype_fixer_list) && !empty(l:generic_fixer_list) let l:lines = \ l:filetype_fixer_header \ + l:filetype_fixer_list \ + (l:has_both_lists ? [''] : []) \ + l:generic_fixer_header \ + l:generic_fixer_list if empty(l:lines) let l:lines = ['There is nothing in the registry to suggest.'] else let l:lines += ['', 'See :help ale-fix-configuration'] endif let l:lines += ['', 'Press q to close this window'] new +set\ filetype=ale-fix-suggest call setline(1, l:lines) setlocal nomodified setlocal nomodifiable endfunction ================================================ FILE: bundle/ale/autoload/ale/fix.vim ================================================ " Author: w0rp " Description: Functions for fixing code with programs, or other means. let g:ale_fix_on_save_ignore = get(g:, 'ale_fix_on_save_ignore', {}) let g:ale_filename_mappings = get(g:, 'ale_filename_mappings', {}) " Apply fixes queued up for buffers which may be hidden. " Vim doesn't let you modify hidden buffers. function! ale#fix#ApplyQueuedFixes(buffer) abort let l:data = get(g:ale_fix_buffer_data, a:buffer, {'done': 0}) if !l:data.done || (!ale#util#HasBuflineApi() && a:buffer isnot bufnr('')) return endif call remove(g:ale_fix_buffer_data, a:buffer) try if l:data.changes_made let l:new_lines = ale#util#SetBufferContents(a:buffer, l:data.output) if l:data.should_save if a:buffer is bufnr('') if empty(&buftype) noautocmd :w! else set nomodified endif else call writefile(l:new_lines, expand('#' . a:buffer . ':p')) " no-custom-checks call setbufvar(a:buffer, '&modified', 0) endif endif endif catch /E21/ " If we cannot modify the buffer now, try again later. let g:ale_fix_buffer_data[a:buffer] = l:data return endtry if l:data.should_save let l:should_lint = ale#Var(a:buffer, 'fix_on_save') \ && ale#Var(a:buffer, 'lint_on_save') else let l:should_lint = l:data.changes_made endif silent doautocmd User ALEFixPost " If ALE linting is enabled, check for problems with the file again after " fixing problems. if g:ale_enabled \&& l:should_lint \&& !ale#events#QuitRecently(a:buffer) call ale#Queue(0, l:data.should_save ? 'lint_file' : '') endif endfunction function! ale#fix#ApplyFixes(buffer, output) abort let l:data = g:ale_fix_buffer_data[a:buffer] let l:data.output = a:output let l:data.changes_made = l:data.lines_before !=# l:data.output " no-custom-checks let l:data.done = 1 call ale#command#RemoveManagedFiles(a:buffer) if !bufexists(a:buffer) " Remove the buffer data when it doesn't exist. call remove(g:ale_fix_buffer_data, a:buffer) endif if l:data.changes_made && bufexists(a:buffer) let l:lines = getbufline(a:buffer, 1, '$') if l:data.lines_before != l:lines call remove(g:ale_fix_buffer_data, a:buffer) if !l:data.ignore_file_changed_errors " no-custom-checks echoerr 'The file was changed before fixing finished' endif return endif endif " We can only change the lines of a buffer which is currently open, " so try and apply the fixes to the current buffer. call ale#fix#ApplyQueuedFixes(a:buffer) endfunction function! s:HandleExit(job_info, buffer, job_output, data) abort let l:buffer_info = get(g:ale_fix_buffer_data, a:buffer, {}) if empty(l:buffer_info) return endif if a:job_info.read_temporary_file let l:output = !empty(a:data.temporary_file) \ ? readfile(a:data.temporary_file) \ : [] else let l:output = a:job_output endif let l:ProcessWith = get(a:job_info, 'process_with', v:null) " Post-process the output with a function if we have one. if l:ProcessWith isnot v:null let l:output = call(l:ProcessWith, [a:buffer, l:output]) endif " Use the output of the job for changing the file if it isn't empty, " otherwise skip this job and use the input from before. " " We'll use the input from before for chained commands. if !empty(split(join(l:output))) let l:input = l:output else let l:input = a:job_info.input endif call s:RunFixer({ \ 'buffer': a:buffer, \ 'input': l:input, \ 'callback_list': a:job_info.callback_list, \ 'callback_index': a:job_info.callback_index + 1, \}) endfunction function! s:RunJob(result, options) abort if ale#command#IsDeferred(a:result) let a:result.result_callback = {x -> s:RunJob(x, a:options)} return endif let l:buffer = a:options.buffer let l:input = a:options.input let l:fixer_name = a:options.fixer_name if a:result is 0 || type(a:result) is v:t_list if type(a:result) is v:t_list let l:input = a:result endif call s:RunFixer({ \ 'buffer': l:buffer, \ 'input': l:input, \ 'callback_index': a:options.callback_index + 1, \ 'callback_list': a:options.callback_list, \}) return endif let l:command = get(a:result, 'command', '') if empty(l:command) " If the command is empty, skip to the next item. call s:RunFixer({ \ 'buffer': l:buffer, \ 'input': l:input, \ 'callback_index': a:options.callback_index, \ 'callback_list': a:options.callback_list, \}) return endif let l:read_temporary_file = get(a:result, 'read_temporary_file', 0) let l:read_buffer = get(a:result, 'read_buffer', 1) let l:output_stream = get(a:result, 'output_stream', 'stdout') let l:cwd = get(a:result, 'cwd', v:null) if l:read_temporary_file let l:output_stream = 'none' endif let l:Callback = function('s:HandleExit', [{ \ 'input': l:input, \ 'callback_index': a:options.callback_index, \ 'callback_list': a:options.callback_list, \ 'process_with': get(a:result, 'process_with', v:null), \ 'read_temporary_file': l:read_temporary_file, \}]) let l:run_result = ale#command#Run(l:buffer, l:command, l:Callback, { \ 'output_stream': l:output_stream, \ 'executable': '', \ 'read_buffer': l:read_buffer, \ 'input': l:input, \ 'log_output': 0, \ 'cwd': l:cwd, \ 'filename_mappings': ale#GetFilenameMappings(l:buffer, l:fixer_name), \}) if empty(l:run_result) call s:RunFixer({ \ 'buffer': l:buffer, \ 'input': l:input, \ 'callback_index': a:options.callback_index + 1, \ 'callback_list': a:options.callback_list, \}) endif endfunction function! s:RunFixer(options) abort let l:buffer = a:options.buffer let l:input = a:options.input let l:index = a:options.callback_index if len(a:options.callback_list) <= l:index call ale#fix#ApplyFixes(l:buffer, l:input) return endif let [l:fixer_name, l:Function] = a:options.callback_list[l:index] " Record new jobs started as fixer jobs. call setbufvar(l:buffer, 'ale_job_type', 'fixer') " Regular fixer commands accept (buffer, [input]) let l:result = ale#util#FunctionArgCount(l:Function) == 1 \ ? call(l:Function, [l:buffer]) \ : call(l:Function, [l:buffer, copy(l:input)]) call s:RunJob(l:result, { \ 'buffer': l:buffer, \ 'input': l:input, \ 'callback_list': a:options.callback_list, \ 'callback_index': l:index, \ 'fixer_name': l:fixer_name, \}) endfunction function! s:AddSubCallbacks(full_list, callbacks) abort if type(a:callbacks) is v:t_string call add(a:full_list, a:callbacks) elseif type(a:callbacks) is v:t_list call extend(a:full_list, a:callbacks) else return 0 endif return 1 endfunction function! s:IgnoreFixers(callback_list, filetype, config) abort if type(a:config) is v:t_list let l:ignore_list = a:config else let l:ignore_list = [] for l:part in split(a:filetype , '\.') call extend(l:ignore_list, get(a:config, l:part, [])) endfor endif call filter(a:callback_list, 'index(l:ignore_list, v:val) < 0') endfunction function! s:GetCallbacks(buffer, fixing_flag, fixers) abort if len(a:fixers) let l:callback_list = a:fixers elseif type(get(b:, 'ale_fixers')) is v:t_list " Lists can be used for buffer-local variables only let l:callback_list = b:ale_fixers else " buffer and global options can use dictionaries mapping filetypes to " callbacks to run. let l:fixers = ale#Var(a:buffer, 'fixers') let l:callback_list = [] let l:matched = 0 for l:sub_type in split(&filetype, '\.') if s:AddSubCallbacks(l:callback_list, get(l:fixers, l:sub_type)) let l:matched = 1 endif endfor " If we couldn't find fixers for a filetype, default to '*' fixers. if !l:matched call s:AddSubCallbacks(l:callback_list, get(l:fixers, '*')) endif endif if a:fixing_flag is# 'save_file' let l:config = ale#Var(a:buffer, 'fix_on_save_ignore') if !empty(l:config) call s:IgnoreFixers(l:callback_list, &filetype, l:config) endif endif let l:corrected_list = [] " Variables with capital characters are needed, or Vim will complain about " funcref variables. for l:Item in l:callback_list " Try to capture the names of registered fixer names, so we can use " them for filename mapping or other purposes later. let l:fixer_name = v:null if type(l:Item) is v:t_string let l:Func = ale#fix#registry#GetFunc(l:Item) if !empty(l:Func) let l:fixer_name = l:Item let l:Item = l:Func endif endif try call add(l:corrected_list, [ \ l:fixer_name, \ ale#util#GetFunction(l:Item) \]) catch /E475/ " Rethrow exceptions for failing to get a function so we can print " a friendly message about it. throw 'BADNAME ' . v:exception endtry endfor return l:corrected_list endfunction function! ale#fix#InitBufferData(buffer, fixing_flag) abort " The 'done' flag tells the function for applying changes when fixing " is complete. let g:ale_fix_buffer_data[a:buffer] = { \ 'lines_before': getbufline(a:buffer, 1, '$'), \ 'done': 0, \ 'should_save': a:fixing_flag is# 'save_file', \ 'ignore_file_changed_errors': a:fixing_flag is# '!', \ 'temporary_directory_list': [], \} endfunction " Accepts an optional argument for what to do when fixing. " " Returns 0 if no fixes can be applied, and 1 if fixing can be done. function! ale#fix#Fix(buffer, fixing_flag, ...) abort if a:fixing_flag isnot# '' \&& a:fixing_flag isnot# '!' \&& a:fixing_flag isnot# 'save_file' throw "fixing_flag must be '', '!', or 'save_file'" endif try let l:callback_list = s:GetCallbacks(a:buffer, a:fixing_flag, a:000) catch /E700\|BADNAME/ if a:fixing_flag isnot# '!' let l:function_name = join(split(split(v:exception, ':')[3])) let l:echo_message = printf( \ 'There is no fixer named `%s`. Check :ALEFixSuggest', \ l:function_name, \) " no-custom-checks echom l:echo_message endif return 0 endtry if empty(l:callback_list) if a:fixing_flag is# '' " no-custom-checks echom 'No fixers have been defined. Try :ALEFixSuggest' endif return 0 endif call ale#command#StopJobs(a:buffer, 'fixer') " Clean up any files we might have left behind from a previous run. call ale#command#RemoveManagedFiles(a:buffer) call ale#fix#InitBufferData(a:buffer, a:fixing_flag) silent doautocmd User ALEFixPre call s:RunFixer({ \ 'buffer': a:buffer, \ 'input': g:ale_fix_buffer_data[a:buffer].lines_before, \ 'callback_index': 0, \ 'callback_list': l:callback_list, \}) return 1 endfunction " Set up an autocmd command to try and apply buffer fixes when available. augroup ALEBufferFixGroup autocmd! autocmd BufEnter * call ale#fix#ApplyQueuedFixes(str2nr(expand(''))) augroup END ================================================ FILE: bundle/ale/autoload/ale/fixers/appleswiftformat.vim ================================================ " Author: (bosr) " Description: Integration of apple/swift-format formatter with ALE. function! ale#fixers#appleswiftformat#Fix(buffer) abort let l:command_args = ale#swift#GetAppleSwiftFormatCommand(a:buffer) . ' format --in-place %t' let l:config_args = ale#swift#GetAppleSwiftFormatConfigArgs(a:buffer) if l:config_args isnot# '' let l:command_args = l:command_args . ' ' . l:config_args endif return { \ 'read_temporary_file': 1, \ 'command': l:command_args, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/astyle.vim ================================================ " Author: James Kim " Description: Fix C/C++ files with astyle. function! s:set_variables() abort for l:ft in ['c', 'cpp'] call ale#Set(l:ft . '_astyle_executable', 'astyle') call ale#Set(l:ft . '_astyle_project_options', '') endfor endfunction call s:set_variables() function! ale#fixers#astyle#Var(buffer, name) abort let l:ft = getbufvar(str2nr(a:buffer), '&filetype') let l:ft = l:ft =~# 'cpp' ? 'cpp' : 'c' return ale#Var(a:buffer, l:ft . '_astyle_' . a:name) endfunction " Try to find a project options file. function! ale#fixers#astyle#FindProjectOptions(buffer) abort let l:proj_options = ale#fixers#astyle#Var(a:buffer, 'project_options') " If user has set project options variable then use it and skip any searching. " This would allow users to use project files named differently than .astylerc. if !empty(l:proj_options) return l:proj_options endif " Try to find nearest .astylerc file. let l:proj_options = fnamemodify(ale#path#FindNearestFile(a:buffer, '.astylerc'), ':t') if !empty(l:proj_options) return l:proj_options endif " Try to find nearest _astylerc file. let l:proj_options = fnamemodify(ale#path#FindNearestFile(a:buffer, '_astylerc'), ':t') if !empty(l:proj_options) return l:proj_options endif " If no project options file is found return an empty string. return '' endfunction function! ale#fixers#astyle#Fix(buffer) abort let l:executable = ale#fixers#astyle#Var(a:buffer, 'executable') let l:proj_options = ale#fixers#astyle#FindProjectOptions(a:buffer) let l:command = ' --stdin=' . ale#Escape(expand('#' . a:buffer)) return { \ 'command': ale#Escape(l:executable) \ . (empty(l:proj_options) ? '' : ' --project=' . l:proj_options) \ . l:command \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/autoflake.vim ================================================ " Author: circld " Description: Fixing files with autoflake. call ale#Set('python_autoflake_executable', 'autoflake') call ale#Set('python_autoflake_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_autoflake_options', '') function! ale#fixers#autoflake#Fix(buffer) abort let l:executable = ale#python#FindExecutable( \ a:buffer, \ 'python_autoflake', \ ['autoflake'], \) if !executable(l:executable) return 0 endif let l:options = ale#Var(a:buffer, 'python_autoflake_options') return { \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --in-place ' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/autoimport.vim ================================================ " Author: lyz-code " Description: Fixing Python imports with autoimport. call ale#Set('python_autoimport_executable', 'autoimport') call ale#Set('python_autoimport_options', '') call ale#Set('python_autoimport_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#fixers#autoimport#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'python_autoimport_options') let l:executable = ale#python#FindExecutable( \ a:buffer, \ 'python_autoimport', \ ['autoimport'], \) if !executable(l:executable) return 0 endif return { \ 'cwd': '%s:h', \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' -', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/autopep8.vim ================================================ " Author: w0rp " Description: Fixing files with autopep8. call ale#Set('python_autopep8_executable', 'autopep8') call ale#Set('python_autopep8_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_autopep8_options', '') function! ale#fixers#autopep8#Fix(buffer) abort let l:executable = ale#python#FindExecutable( \ a:buffer, \ 'python_autopep8', \ ['autopep8'], \) if !executable(l:executable) return 0 endif let l:options = ale#Var(a:buffer, 'python_autopep8_options') return { \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' -', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/bibclean.vim ================================================ " Author: Horacio Sanson - https://github.com/hsanson " Description: Support for bibclean fixer for BibTeX files. call ale#Set('bib_bibclean_executable', 'bibclean') call ale#Set('bib_bibclean_options', '-align-equals') function! ale#fixers#bibclean#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'bib_bibclean_options') let l:executable = ale#Var(a:buffer, 'bib_bibclean_executable') return { \ 'command': ale#Escape(l:executable) \ . ' ' . (empty(l:options) ? '' : l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/black.vim ================================================ " Author: w0rp " Description: Fixing Python files with black. " call ale#Set('python_black_executable', 'black') call ale#Set('python_black_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_black_options', '') call ale#Set('python_black_auto_pipenv', 0) call ale#Set('python_black_auto_poetry', 0) call ale#Set('python_black_change_directory', 1) function! ale#fixers#black#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_black_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_black_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_black', ['black']) endfunction function! ale#fixers#black#Fix(buffer) abort let l:executable = ale#fixers#black#GetExecutable(a:buffer) let l:cmd = [ale#Escape(l:executable)] if l:executable =~? 'pipenv\|poetry$' call extend(l:cmd, ['run', 'black']) endif let l:options = ale#Var(a:buffer, 'python_black_options') if !empty(l:options) call add(l:cmd, l:options) endif if expand('#' . a:buffer . ':e') is? 'pyi' call add(l:cmd, '--pyi') endif call add(l:cmd, '-') let l:result = {'command': join(l:cmd, ' ')} if ale#Var(a:buffer, 'python_black_change_directory') let l:result.cwd = '%s:h' endif return l:result endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/brittany.vim ================================================ " Author: eborden , ifyouseewendy , aspidiets " Description: Integration of brittany with ALE. call ale#Set('haskell_brittany_executable', 'brittany') function! ale#fixers#brittany#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_brittany_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'brittany') endfunction function! ale#fixers#brittany#Fix(buffer) abort let l:executable = ale#fixers#brittany#GetExecutable(a:buffer) return { \ 'command': l:executable \ . ' --write-mode inplace' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/buf_format.vim ================================================ " Author: Alex McKinney " Description: Run buf format. call ale#Set('proto_buf_format_executable', 'buf') function! ale#fixers#buf_format#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'proto_buf_format_executable') return { \ 'command': ale#Escape(l:executable) . ' format %t', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/buildifier.vim ================================================ " Author: Jon Parise " Description: Format Bazel BUILD and .bzl files with buildifier. " call ale#Set('bazel_buildifier_executable', 'buildifier') call ale#Set('bazel_buildifier_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('bazel_buildifier_options', '') function! ale#fixers#buildifier#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'bazel_buildifier', [ \ 'buildifier', \]) endfunction function! ale#fixers#buildifier#Fix(buffer) abort let l:executable = ale#Escape(ale#fixers#buildifier#GetExecutable(a:buffer)) let l:options = ale#Var(a:buffer, 'bazel_buildifier_options') let l:filename = ale#Escape(bufname(a:buffer)) let l:command = l:executable . ' -mode fix -lint fix -path ' . l:filename if l:options isnot# '' let l:command .= ' ' . l:options endif return {'command': l:command . ' -'} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/clangformat.vim ================================================ scriptencoding utf-8 " Author: Peter Renström " Description: Fixing C/C++ files with clang-format. call ale#Set('c_clangformat_executable', 'clang-format') call ale#Set('c_clangformat_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('c_clangformat_options', '') call ale#Set('c_clangformat_style_option', '') call ale#Set('c_clangformat_use_local_file', 0) function! ale#fixers#clangformat#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'c_clangformat', [ \ 'clang-format', \]) endfunction function! ale#fixers#clangformat#Fix(buffer) abort let l:executable = ale#Escape(ale#fixers#clangformat#GetExecutable(a:buffer)) let l:filename = ale#Escape(bufname(a:buffer)) let l:options = ale#Var(a:buffer, 'c_clangformat_options') let l:style_option = ale#Var(a:buffer, 'c_clangformat_style_option') let l:use_local_file = ale#Var(a:buffer, 'c_clangformat_use_local_file') if l:style_option isnot# '' let l:style_option = '-style=' . "'" . l:style_option . "'" endif if l:use_local_file let l:config = ale#path#FindNearestFile(a:buffer, '.clang-format') if !empty(l:config) let l:style_option = '-style=file' endif endif if l:style_option isnot# '' let l:options .= ' ' . l:style_option endif let l:command = l:executable . ' --assume-filename=' . l:filename if l:options isnot# '' let l:command .= ' ' . l:options endif return {'command': l:command} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/clangtidy.vim ================================================ scriptencoding utf-8 " Author: ObserverOfTime " Description: Fixing C/C++ files with clang-tidy. function! s:set_variables() abort let l:use_global = get(g:, 'ale_use_global_executables', 0) for l:ft in ['c', 'cpp'] call ale#Set(l:ft . '_clangtidy_executable', 'clang-tidy') call ale#Set(l:ft . '_clangtidy_use_global', l:use_global) call ale#Set(l:ft . '_clangtidy_checks', []) call ale#Set(l:ft . '_clangtidy_options', '') call ale#Set(l:ft . '_clangtidy_extra_options', '') call ale#Set(l:ft . '_clangtidy_fix_errors', 1) endfor call ale#Set('c_build_dir', '') endfunction call s:set_variables() function! ale#fixers#clangtidy#Var(buffer, name) abort let l:ft = getbufvar(str2nr(a:buffer), '&filetype') let l:ft = l:ft =~# 'cpp' ? 'cpp' : 'c' return ale#Var(a:buffer, l:ft . '_clangtidy_' . a:name) endfunction function! ale#fixers#clangtidy#GetCommand(buffer) abort let l:checks = join(ale#fixers#clangtidy#Var(a:buffer, 'checks'), ',') let l:extra_options = ale#fixers#clangtidy#Var(a:buffer, 'extra_options') let l:build_dir = ale#c#GetBuildDirectory(a:buffer) let l:options = empty(l:build_dir) \ ? ale#fixers#clangtidy#Var(a:buffer, 'options') : '' let l:fix_errors = ale#fixers#clangtidy#Var(a:buffer, 'fix_errors') return ' -fix' . (l:fix_errors ? ' -fix-errors' : '') \ . (empty(l:checks) ? '' : ' -checks=' . ale#Escape(l:checks)) \ . (empty(l:extra_options) ? '' : ' ' . l:extra_options) \ . (empty(l:build_dir) ? '' : ' -p ' . ale#Escape(l:build_dir)) \ . ' %t' . (empty(l:options) ? '' : ' -- ' . l:options) endfunction function! ale#fixers#clangtidy#Fix(buffer) abort let l:executable = ale#fixers#clangtidy#Var(a:buffer, 'executable') let l:command = ale#fixers#clangtidy#GetCommand(a:buffer) return { \ 'command': ale#Escape(l:executable) . l:command, \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/cmakeformat.vim ================================================ " Author: Attila Maczak " Description: Integration of cmakeformat with ALE. call ale#Set('cmake_cmakeformat_executable', 'cmake-format') call ale#Set('cmake_cmakeformat_options', '') function! ale#fixers#cmakeformat#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'cmake_cmakeformat_executable') let l:options = ale#Var(a:buffer, 'cmake_cmakeformat_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' -' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/crystal.vim ================================================ call ale#Set('crystal_format_executable', 'crystal') call ale#Set('crystal_format_options', '') function! ale#fixers#crystal#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'crystal_format_executable') let l:options = ale#Var(a:buffer, 'crystal_format_options') return { \ 'command': ale#Escape(l:executable) \ . ' tool format' \ . ale#Pad(l:options) \ . ' -' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/css_beautify.vim ================================================ " Author: https://github.com/Spixmaster " Description: Format CSS using css-beautify from js-beautify. call ale#Set('css_css_beautify_executable', 'css-beautify') call ale#Set('css_css_beautify_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('css_css_beautify_options', '') function! ale#fixers#css_beautify#Fix(buffer) abort let l:executable = ale#python#FindExecutable( \ a:buffer, \ 'css_css_beautify', \ ['css-beautify'] \) let l:options = ale#Var(a:buffer, 'css_css_beautify_options') return { \ 'command': ale#Escape(l:executable) . ' ' . l:options . ' -', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dart_format.vim ================================================ " Author: ghsang " Description: Integration of dart format with ALE. call ale#Set('dart_format_executable', 'dart') call ale#Set('dart_format_options', '') function! ale#fixers#dart_format#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'dart_format_executable') let l:options = ale#Var(a:buffer, 'dart_format_options') return { \ 'command': ale#Escape(l:executable) \ . ' format' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dartfmt.vim ================================================ " Author: reisub0 " Description: Integration of dartfmt with ALE. call ale#Set('dart_dartfmt_executable', 'dartfmt') call ale#Set('dart_dartfmt_options', '') function! ale#fixers#dartfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'dart_dartfmt_executable') let l:options = ale#Var(a:buffer, 'dart_dartfmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' -w' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/deno.vim ================================================ function! ale#fixers#deno#Fix(buffer) abort let l:executable = ale#handlers#deno#GetExecutable(a:buffer) if !executable(l:executable) return 0 endif let l:options = ' fmt -' if ale#Var(a:buffer, 'deno_unstable') let l:options = l:options . ' --unstable' endif return { \ 'command': ale#Escape(l:executable) . l:options \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dfmt.vim ================================================ " Author: theoldmoon0602 " Description: Integration of dfmt with ALE. call ale#Set('d_dfmt_executable', 'dfmt') call ale#Set('d_dfmt_options', '') function! ale#fixers#dfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'd_dfmt_executable') let l:options = ale#Var(a:buffer, 'd_dfmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' -i' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dhall_format.vim ================================================ " Author: toastal " Description: Dhall’s built-in formatter " function! ale#fixers#dhall_format#Fix(buffer) abort let l:executable = ale#dhall#GetExecutableWithOptions(a:buffer) return { \ 'command': l:executable \ . ' format' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dhall_freeze.vim ================================================ " Author: toastal " Description: Dhall’s package freezing call ale#Set('dhall_freeze_options', '') function! ale#fixers#dhall_freeze#Freeze(buffer) abort let l:executable = ale#dhall#GetExecutableWithOptions(a:buffer) return { \ 'command': l:executable \ . ' freeze' \ . ale#Pad(ale#Var(a:buffer, 'dhall_freeze_options')) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dhall_lint.vim ================================================ " Author: toastal " Description: Dhall’s built-in linter/formatter function! ale#fixers#dhall_lint#Fix(buffer) abort let l:executable = ale#dhall#GetExecutableWithOptions(a:buffer) return { \ 'command': l:executable \ . ' lint' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dotnet_format.vim ================================================ " Author: ghsang " Description: Integration of dotnet format with ALE. call ale#Set('cs_dotnet_format_executable', 'dotnet') call ale#Set('cs_dotnet_format_options', '') function! ale#fixers#dotnet_format#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'cs_dotnet_format_executable') let l:options = ale#Var(a:buffer, 'cs_dotnet_format_options') return { \ 'command': ale#Escape(l:executable) \ . ' format' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' --folder --include %t "$(dirname %t)"', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dprint.vim ================================================ call ale#Set('dprint_executable', 'dprint') call ale#Set('dprint_executable_override', 0) call ale#Set('dprint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('dprint_options', '') call ale#Set('dprint_config', 'dprint.json') function! ale#fixers#dprint#Fix(buffer) abort let l:executable = ale#path#FindExecutable(a:buffer, 'dprint', ['dprint']) let l:executable_override = ale#Var(a:buffer, 'dprint_executable_override') if !executable(l:executable) && !l:executable_override return 0 endif let l:options = ale#Var(a:buffer, 'dprint_options') let l:config = ale#path#FindNearestFile(a:buffer, ale#Var(a:buffer, 'dprint_config')) if !empty(l:config) let l:options = l:options . ' -c ' . ale#Escape(l:config) endif let l:options = l:options . ' --stdin %s' return { \ 'command': ale#Escape(l:executable) \ . ' fmt ' \ . l:options \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/dune.vim ================================================ " Author: Albert Peschar " Description: Fix files with dune format. call ale#Set('ocaml_dune_executable', 'dune') call ale#Set('ocaml_dune_options', '') function! ale#fixers#dune#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'ocaml_dune_executable') let l:options = ale#Var(a:buffer, 'ocaml_dune_options') return { \ 'command': ale#Escape(l:executable) \ . ' format' \ . (empty(l:options) ? '' : ' ' . l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/elm_format.vim ================================================ " Author: soywod " Description: Integration of elm-format with ALE. call ale#Set('elm_format_executable', 'elm-format') call ale#Set('elm_format_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('elm_format_options', '--yes') function! ale#fixers#elm_format#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'elm_format', [ \ 'node_modules/.bin/elm-format', \]) endfunction function! ale#fixers#elm_format#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'elm_format_options') return { \ 'command': ale#Escape(ale#fixers#elm_format#GetExecutable(a:buffer)) \ . ' %t' \ . (empty(l:options) ? '' : ' ' . l:options), \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/erblint.vim ================================================ " Author: Roeland Moors - https://github.com/roelandmoors " Description: ERB Lint, support for https://github.com/Shopify/erb-lint call ale#Set('eruby_erblint_executable', 'erblint') call ale#Set('eruby_erblint_options', '') " Erblint fixer outputs diagnostics first and then the fixed " output. These are delimited by something like this: " ================ /path/to/demo.html.erb ================== " We only need the output after this function! ale#fixers#erblint#PostProcess(buffer, output) abort let l:line = 0 for l:output in a:output let l:line = l:line + 1 if l:output =~# "^=\\+.*=\\+$" break endif endfor return a:output[l:line :] endfunction function! ale#fixers#erblint#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'eruby_erblint_executable') let l:options = ale#Var(a:buffer, 'eruby_erblint_options') return ale#ruby#EscapeExecutable(l:executable, 'erblint') \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --autocorrect --stdin %s' endfunction function! ale#fixers#erblint#Fix(buffer) abort return { \ 'command': ale#fixers#erblint#GetCommand(a:buffer), \ 'process_with': 'ale#fixers#erblint#PostProcess' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/erlfmt.vim ================================================ " Author: AntoineGagne - https://github.com/AntoineGagne " Description: Integration of erlfmt with ALE. call ale#Set('erlang_erlfmt_executable', 'erlfmt') call ale#Set('erlang_erlfmt_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('erlang_erlfmt_options', '') function! ale#fixers#erlfmt#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'erlang_erlfmt', ['erlfmt']) endfunction function! ale#fixers#erlfmt#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'erlang_erlfmt_options') let l:executable = ale#fixers#erlfmt#GetExecutable(a:buffer) let l:command = ale#Escape(l:executable) . (empty(l:options) ? '' : ' ' . l:options) . ' %s' return { \ 'command': l:command \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/eslint.vim ================================================ " Author: w0rp " Description: Fixing files with eslint. function! ale#fixers#eslint#Fix(buffer) abort let l:executable = ale#handlers#eslint#GetExecutable(a:buffer) let l:command = ale#node#Executable(a:buffer, l:executable) \ . ' --version' return ale#semver#RunWithVersionCheck( \ a:buffer, \ l:executable, \ l:command, \ function('ale#fixers#eslint#ApplyFixForVersion'), \) endfunction function! ale#fixers#eslint#ProcessFixDryRunOutput(buffer, output) abort for l:item in ale#util#FuzzyJSONDecode(a:output, []) return split(get(l:item, 'output', ''), "\n") endfor return [] endfunction function! ale#fixers#eslint#ProcessEslintDOutput(buffer, output) abort " If the output is an error message, don't use it. for l:line in a:output[:10] if l:line =~# '\v^Error:|^Could not connect' return [] endif endfor return a:output endfunction function! ale#fixers#eslint#ApplyFixForVersion(buffer, version) abort let l:executable = ale#handlers#eslint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'javascript_eslint_options') " Use the configuration file from the options, if configured. if l:options =~# '\v(^| )-c|(^| )--config' let l:config = '' let l:has_config = 1 else let l:config = ale#handlers#eslint#FindConfig(a:buffer) let l:has_config = !empty(l:config) endif if !l:has_config return 0 endif " Use --fix-to-stdout with eslint_d if l:executable =~# 'eslint_d$' && ale#semver#GTE(a:version, [3, 19, 0]) return { \ 'cwd': ale#handlers#eslint#GetCwd(a:buffer), \ 'command': ale#node#Executable(a:buffer, l:executable) \ . ale#Pad(l:options) \ . ' --stdin-filename %s --stdin --fix-to-stdout', \ 'process_with': 'ale#fixers#eslint#ProcessEslintDOutput', \} endif " 4.9.0 is the first version with --fix-dry-run if ale#semver#GTE(a:version, [4, 9, 0]) return { \ 'cwd': ale#handlers#eslint#GetCwd(a:buffer), \ 'command': ale#node#Executable(a:buffer, l:executable) \ . ale#Pad(l:options) \ . ' --stdin-filename %s --stdin --fix-dry-run --format=json', \ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput', \} endif return { \ 'cwd': ale#handlers#eslint#GetCwd(a:buffer), \ 'command': ale#node#Executable(a:buffer, l:executable) \ . ale#Pad(l:options) \ . (!empty(l:config) ? ' -c ' . ale#Escape(l:config) : '') \ . ' --fix %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/fecs.vim ================================================ " Author: harttle " Description: Apply fecs format to a file. function! ale#fixers#fecs#Fix(buffer) abort let l:executable = ale#handlers#fecs#GetExecutable(a:buffer) if !executable(l:executable) return 0 endif let l:config_options = ' format --replace=true %t' return { \ 'command': ale#Escape(l:executable) . l:config_options, \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/fish_indent.vim ================================================ " Author: Chen YuanYuan " Description: Integration of fish_indent with ALE. call ale#Set('fish_fish_indent_executable', 'fish_indent') call ale#Set('fish_fish_indent_options', '') function! ale#fixers#fish_indent#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'fish_fish_indent_executable') let l:options = ale#Var(a:buffer, 'fish_fish_indent_options') let l:filename = ale#Escape(bufname(a:buffer)) return { \ 'command': ale#Escape(l:executable) \ . ' -w ' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/fixjson.vim ================================================ " Author: rhysd " Description: Integration of fixjson with ALE. call ale#Set('json_fixjson_executable', 'fixjson') call ale#Set('json_fixjson_options', '') call ale#Set('json_fixjson_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#fixers#fixjson#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'json_fixjson', [ \ 'node_modules/.bin/fixjson', \]) endfunction function! ale#fixers#fixjson#Fix(buffer) abort let l:executable = ale#Escape(ale#fixers#fixjson#GetExecutable(a:buffer)) let l:filename = ale#Escape(bufname(a:buffer)) let l:command = l:executable . ' --stdin-filename ' . l:filename let l:options = ale#Var(a:buffer, 'json_fixjson_options') if l:options isnot# '' let l:command .= ' ' . l:options endif return { \ 'command': l:command \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/floskell.vim ================================================ " Author: robertjlooby " Description: Integration of floskell with ALE. call ale#Set('haskell_floskell_executable', 'floskell') function! ale#fixers#floskell#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_floskell_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'floskell') endfunction function! ale#fixers#floskell#Fix(buffer) abort let l:executable = ale#fixers#floskell#GetExecutable(a:buffer) return { \ 'command': l:executable \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/generic.vim ================================================ " Author: w0rp " Description: Generic functions for fixing files with. function! ale#fixers#generic#RemoveTrailingBlankLines(buffer, lines) abort let l:end_index = len(a:lines) - 1 while l:end_index > 0 && empty(a:lines[l:end_index]) let l:end_index -= 1 endwhile return a:lines[:l:end_index] endfunction " Remove all whitespaces at the end of lines function! ale#fixers#generic#TrimWhitespace(buffer, lines) abort let l:index = 0 let l:lines_new = range(len(a:lines)) for l:line in a:lines let l:lines_new[l:index] = substitute(l:line, '\s\+$', '', 'g') let l:index = l:index + 1 endfor return l:lines_new endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/generic_python.vim ================================================ " Author: w0rp " Description: Generic fixer functions for Python. " Add blank lines before control statements. function! ale#fixers#generic_python#AddLinesBeforeControlStatements(buffer, lines) abort let l:new_lines = [] let l:last_indent_size = 0 let l:last_line_is_blank = 0 let l:in_docstring = 0 for l:line in a:lines let l:indent_size = len(matchstr(l:line, '^ *')) if !l:in_docstring " Make sure it is not just a single line docstring and then verify " it's starting a new docstring if match(l:line, '\v^ *("""|'''''').*("""|'''''')') == -1 \&& match(l:line, '\v^ *("""|'''''')') >= 0 let l:in_docstring = 1 endif else if match(l:line, '\v^ *.*("""|'''''')') >= 0 let l:in_docstring = 0 endif endif if !l:last_line_is_blank \&& !l:in_docstring \&& l:indent_size <= l:last_indent_size \&& match(l:line, '\v^ *(return|if|for|while|break|continue)(\(| |$)') >= 0 call add(l:new_lines, '') endif call add(l:new_lines, l:line) let l:last_indent_size = l:indent_size let l:last_line_is_blank = empty(split(l:line)) endfor return l:new_lines endfunction " This function breaks up long lines so that autopep8 or other tools can " fix the badly-indented code which is produced as a result. function! ale#fixers#generic_python#BreakUpLongLines(buffer, lines) abort " Default to a maximum line length of 79 let l:max_line_length = 79 let l:conf = ale#path#FindNearestFile(a:buffer, 'setup.cfg') " Read the maximum line length from setup.cfg if !empty(l:conf) for l:match in ale#util#GetMatches( \ readfile(l:conf), \ '\v^ *max-line-length *\= *(\d+)', \) let l:max_line_length = str2nr(l:match[1]) endfor endif let l:new_list = [] for l:line in a:lines if len(l:line) > l:max_line_length && l:line !~# '# *noqa' let l:line = substitute(l:line, '\v([(,])([^)])', '\1\n\2', 'g') let l:line = substitute(l:line, '\v([^(])([)])', '\1,\n\2', 'g') for l:split_line in split(l:line, "\n") call add(l:new_list, l:split_line) endfor else call add(l:new_list, l:line) endif endfor return l:new_list endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/gnatpp.vim ================================================ " Author: tim " Description: Fix files with gnatpp. call ale#Set('ada_gnatpp_executable', 'gnatpp') call ale#Set('ada_gnatpp_options', '') function! ale#fixers#gnatpp#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'ada_gnatpp_executable') let l:options = ale#Var(a:buffer, 'ada_gnatpp_options') return { \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/gofmt.vim ================================================ " Author: aliou " Description: Integration of gofmt with ALE. call ale#Set('go_gofmt_executable', 'gofmt') call ale#Set('go_gofmt_options', '') function! ale#fixers#gofmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'go_gofmt_executable') let l:options = ale#Var(a:buffer, 'go_gofmt_options') let l:env = ale#go#EnvString(a:buffer) return { \ 'command': l:env . ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/gofumpt.vim ================================================ " Author: David Houston " Description: A stricter gofmt implementation. call ale#Set('go_gofumpt_executable', 'gofumpt') call ale#Set('go_gofumpt_options', '') function! ale#fixers#gofumpt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'go_gofumpt_executable') let l:options = ale#Var(a:buffer, 'go_gofumpt_options') return { \ 'command': ale#Escape(l:executable) \ . ale#Pad(l:options) \ . ' -w -- %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/goimports.vim ================================================ " Author: Jeff Willette " Description: Integration of goimports with ALE. call ale#Set('go_goimports_executable', 'goimports') call ale#Set('go_goimports_options', '') function! ale#fixers#goimports#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'go_goimports_executable') let l:options = ale#Var(a:buffer, 'go_goimports_options') let l:env = ale#go#EnvString(a:buffer) if !executable(l:executable) return 0 endif return { \ 'command': l:env . ale#Escape(l:executable) \ . ' -l -w -srcdir %s' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/golines.vim ================================================ " Author Pig Frown " Description: Fix Go files long lines with golines" call ale#Set('go_golines_executable', 'golines') call ale#Set('go_golines_options', '') function! ale#fixers#golines#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'go_golines_executable') let l:options = ale#Var(a:buffer, 'go_golines_options') let l:env = ale#go#EnvString(a:buffer) if !executable(l:executable) return 0 endif return { \ 'command': l:env . ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/gomod.vim ================================================ call ale#Set('go_go_executable', 'go') function! ale#fixers#gomod#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'go_go_executable') let l:env = ale#go#EnvString(a:buffer) return { \ 'command': l:env . ale#Escape(l:executable) . ' mod edit -fmt %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/google_java_format.vim ================================================ " Author: butlerx " Description: Integration of Google-java-format with ALE. call ale#Set('java_google_java_format_executable', 'google-java-format') call ale#Set('java_google_java_format_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('java_google_java_format_options', '') function! ale#fixers#google_java_format#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'java_google_java_format_options') let l:executable = ale#Var(a:buffer, 'java_google_java_format_executable') if !executable(l:executable) return 0 endif return { \ 'command': ale#Escape(l:executable) \ . ' ' . (empty(l:options) ? '' : ' ' . l:options) \ . ' --replace' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/hackfmt.vim ================================================ " Author: Sam Howie " Description: Integration of hackfmt with ALE. call ale#Set('hack_hackfmt_executable', 'hackfmt') call ale#Set('hack_hackfmt_options', '') function! ale#fixers#hackfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'hack_hackfmt_executable') let l:options = ale#Var(a:buffer, 'hack_hackfmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' -i' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/help.vim ================================================ " Author: w0rp " Description: Generic fixer functions for Vim help documents. function! ale#fixers#help#AlignTags(buffer, lines) abort let l:new_lines = [] for l:line in a:lines if len(l:line) != 79 let l:match = matchlist(l:line, '\v +(\*[^*]+\*)$') if !empty(l:match) let l:start = l:line[:-len(l:match[0]) - 1] let l:tag = l:match[1] let l:spaces = repeat(' ', 79 - len(l:start) - len(l:tag)) let l:line = l:start . l:spaces . l:tag endif endif call add(l:new_lines, l:line) endfor return l:new_lines endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/hfmt.vim ================================================ " Author: zack " Description: Integration of hfmt with ALE. call ale#Set('haskell_hfmt_executable', 'hfmt') function! ale#fixers#hfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_hfmt_executable') return { \ 'command': ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hfmt') \ . ' -w' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/hindent.vim ================================================ " Author: AlexeiDrake " Description: Integration of hindent formatting with ALE. " call ale#Set('haskell_hindent_executable', 'hindent') function! ale#fixers#hindent#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_hindent_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hindent') endfunction function! ale#fixers#hindent#Fix(buffer) abort let l:executable = ale#fixers#hindent#GetExecutable(a:buffer) return { \ 'command': l:executable \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/hlint.vim ================================================ " Author: eborden " Description: Integration of hlint refactor with ALE. " function! ale#fixers#hlint#Fix(buffer) abort return { \ 'command': ale#handlers#hlint#GetExecutable(a:buffer) \ . ' --refactor' \ . ' --refactor-options="--inplace"' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/html_beautify.vim ================================================ " Author: WhyNotHugo " Description: Format HTML files with html-beautify. call ale#Set('html_beautify_executable', 'html-beautify') call ale#Set('html_beautify_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('html_beautify_options', '') function! ale#fixers#html_beautify#Fix(buffer) abort let l:executable = ale#python#FindExecutable( \ a:buffer, \ 'html_beautify', \ ['html-beautify'] \) let l:options = ale#Var(a:buffer, 'html_beautify_options') return { \ 'command': ale#Escape(l:executable) . ' ' . l:options . ' -', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/importjs.vim ================================================ " Author: Jeff Willette " Description: Integration of importjs with ALE. call ale#Set('javascript_importjs_executable', 'importjs') function! ale#fixers#importjs#ProcessOutput(buffer, output) abort let l:result = ale#util#FuzzyJSONDecode(a:output, []) return split(get(l:result, 'fileContent', ''), "\n") endfunction function! ale#fixers#importjs#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'javascript_importjs_executable') if !executable(l:executable) return 0 endif return { \ 'command': ale#Escape(l:executable) \ . ' fix' \ . ' %s', \ 'process_with': 'ale#fixers#importjs#ProcessOutput', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/isort.vim ================================================ " Author: w0rp " Description: Fixing Python imports with isort. call ale#Set('python_isort_executable', 'isort') call ale#Set('python_isort_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_isort_options', '') call ale#Set('python_isort_auto_pipenv', 0) call ale#Set('python_isort_auto_poetry', 0) function! ale#fixers#isort#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_isort_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_isort_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_isort', ['isort']) endfunction function! ale#fixers#isort#GetCmd(buffer) abort let l:executable = ale#fixers#isort#GetExecutable(a:buffer) let l:cmd = [ale#Escape(l:executable)] if l:executable =~? 'pipenv\|poetry$' call extend(l:cmd, ['run', 'isort']) endif return join(l:cmd, ' ') endfunction function! ale#fixers#isort#FixForVersion(buffer, version) abort let l:executable = ale#fixers#isort#GetExecutable(a:buffer) let l:cmd = [ale#Escape(l:executable)] if l:executable =~? 'pipenv\|poetry$' call extend(l:cmd, ['run', 'isort']) endif if ale#semver#GTE(a:version, [5, 7, 0]) call add(l:cmd, '--filename %s') endif let l:options = ale#Var(a:buffer, 'python_isort_options') if !empty(l:options) call add(l:cmd, l:options) endif call add(l:cmd, '-') return { \ 'cwd': '%s:h', \ 'command': join(l:cmd, ' '), \} endfunction function! ale#fixers#isort#Fix(buffer) abort let l:executable = ale#fixers#isort#GetExecutable(a:buffer) let l:command = ale#fixers#isort#GetCmd(a:buffer) . ale#Pad('--version') return ale#semver#RunWithVersionCheck( \ a:buffer, \ l:executable, \ l:command, \ function('ale#fixers#isort#FixForVersion'), \) endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/jq.vim ================================================ call ale#Set('json_jq_executable', 'jq') call ale#Set('json_jq_options', '') call ale#Set('json_jq_filters', '.') function! ale#fixers#jq#GetExecutable(buffer) abort return ale#Var(a:buffer, 'json_jq_executable') endfunction function! ale#fixers#jq#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'json_jq_options') let l:filters = ale#Var(a:buffer, 'json_jq_filters') if empty(l:filters) return 0 endif return { \ 'command': ale#Escape(ale#fixers#jq#GetExecutable(a:buffer)) \ . ' ' . l:filters . ' ' \ . l:options, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/jsonnetfmt.vim ================================================ " Authors: Trevor Whitney and Takuya Kosugiyama " Description: Integration of jsonnetfmt with ALE. call ale#Set('jsonnet_jsonnetfmt_executable', 'jsonnetfmt') call ale#Set('jsonnet_jsonnetfmt_options', '') function! ale#fixers#jsonnetfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'jsonnet_jsonnetfmt_executable') let l:options = ale#Var(a:buffer, 'jsonnet_jsonnetfmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' -i' \ . ale#Pad(l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/ktlint.vim ================================================ " Author: Michael Phillips " Description: Fix Kotlin files with ktlint. function! ale#fixers#ktlint#Fix(buffer) abort return { \ 'command': ale#handlers#ktlint#GetCommand(a:buffer) . ' --format' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/latexindent.vim ================================================ " Author: riley-martine " Description: Integration of latexindent with ALE. call ale#Set('tex_latexindent_executable', 'latexindent') call ale#Set('tex_latexindent_options', '') function! ale#fixers#latexindent#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'tex_latexindent_executable') let l:options = ale#Var(a:buffer, 'tex_latexindent_options') return { \ 'command': ale#Escape(l:executable) \ . ' -l' \ . (empty(l:options) ? '' : ' ' . l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/lua_format.vim ================================================ " Author: Mathias Jean Johansen " Description: Integration of LuaFormatter with ALE. call ale#Set('lua_lua_format_executable', 'lua-format') call ale#Set('lua_lua_format_options', '') function! ale#fixers#lua_format#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'lua_lua_format_executable') let l:options = ale#Var(a:buffer, 'lua_lua_format_options') return { \ 'command': ale#Escape(l:executable) \ . ale#Pad(l:options) \ . ' -i', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/luafmt.vim ================================================ call ale#Set('lua_luafmt_executable', 'luafmt') call ale#Set('lua_luafmt_options', '') function! ale#fixers#luafmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'lua_luafmt_executable') let l:options = ale#Var(a:buffer, 'lua_luafmt_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' --stdin', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/mix_format.vim ================================================ " Author: carakan , Fernando Mendes " Description: Fixing files with elixir formatter 'mix format'. call ale#Set('elixir_mix_executable', 'mix') call ale#Set('elixir_mix_format_options', '') function! ale#fixers#mix_format#GetExecutable(buffer) abort return ale#Var(a:buffer, 'elixir_mix_executable') endfunction function! ale#fixers#mix_format#GetCommand(buffer) abort let l:executable = ale#Escape(ale#fixers#mix_format#GetExecutable(a:buffer)) let l:options = ale#Var(a:buffer, 'elixir_mix_format_options') return l:executable . ' format' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %t' endfunction function! ale#fixers#mix_format#Fix(buffer) abort return { \ 'command': ale#fixers#mix_format#GetCommand(a:buffer), \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/nimpretty.vim ================================================ " Author: Nhan " Description: Integration of nimpretty with ALE. call ale#Set('nim_nimpretty_executable', 'nimpretty') call ale#Set('nim_nimpretty_options', '--maxLineLen:80') function! ale#fixers#nimpretty#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'nim_nimpretty_executable') let l:options = ale#Var(a:buffer, 'nim_nimpretty_options') return { \ 'command': ale#Escape(l:executable) . ' %t' . ale#Pad(l:options), \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/nixfmt.vim ================================================ scriptencoding utf-8 " Author: houstdav000 " Description: Fix files with nixfmt call ale#Set('nix_nixfmt_executable', 'nixfmt') call ale#Set('nix_nixfmt_options', '') function! ale#fixers#nixfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'nix_nixfmt_executable') let l:options = ale#Var(a:buffer, 'nix_nixfmt_options') return { \ 'command': ale#Escape(l:executable) . ale#Pad(l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/nixpkgsfmt.vim ================================================ call ale#Set('nix_nixpkgsfmt_executable', 'nixpkgs-fmt') call ale#Set('nix_nixpkgsfmt_options', '') function! ale#fixers#nixpkgsfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'nix_nixpkgsfmt_executable') let l:options = ale#Var(a:buffer, 'nix_nixpkgsfmt_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/ocamlformat.vim ================================================ " Author: Stephen Lumenta <@sbl> " Description: Integration of ocamlformat with ALE. call ale#Set('ocaml_ocamlformat_executable', 'ocamlformat') call ale#Set('ocaml_ocamlformat_options', '') function! ale#fixers#ocamlformat#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'ocaml_ocamlformat_executable') let l:options = ale#Var(a:buffer, 'ocaml_ocamlformat_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' --name=%s' \ . ' -' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/ocp_indent.vim ================================================ " Author: Kanenobu Mitsuru " Description: Integration of ocp-indent with ALE. call ale#Set('ocaml_ocp_indent_executable', 'ocp-indent') call ale#Set('ocaml_ocp_indent_options', '') call ale#Set('ocaml_ocp_indent_config', '') function! ale#fixers#ocp_indent#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'ocaml_ocp_indent_executable') let l:config = ale#Var(a:buffer, 'ocaml_ocp_indent_config') let l:options = ale#Var(a:buffer, 'ocaml_ocp_indent_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:config) ? '' : ' --config=' . ale#Escape(l:config)) \ . (empty(l:options) ? '': ' ' . l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/opafmt.vim ================================================ " Description: Fixer for rego files call ale#Set('opa_fmt_executable', 'opa') call ale#Set('opa_fmt_options', '') function! ale#fixers#opafmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'opa_fmt_executable') let l:options = ale#Var(a:buffer, 'opa_fmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' fmt' \ . (empty(l:options) ? '' : ' ' . l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/ormolu.vim ================================================ call ale#Set('haskell_ormolu_executable', 'ormolu') call ale#Set('haskell_ormolu_options', '') function! ale#fixers#ormolu#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_ormolu_executable') let l:options = ale#Var(a:buffer, 'haskell_ormolu_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/packer.vim ================================================ " Author: Zhuoyun Wei " Description: Fixer for Packer HCL files call ale#Set('packer_fmt_executable', 'packer') call ale#Set('packer_fmt_options', '') function! ale#fixers#packer#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'packer_fmt_executable') let l:options = ale#Var(a:buffer, 'packer_fmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' fmt' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' -' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/pandoc.vim ================================================ scriptencoding utf-8 " Author: Jesse Hathaway " Description: Fix markdown files with pandoc. call ale#Set('markdown_pandoc_executable', 'pandoc') call ale#Set('markdown_pandoc_options', '-f gfm -t gfm -s -') function! ale#fixers#pandoc#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'markdown_pandoc_executable') let l:options = ale#Var(a:buffer, 'markdown_pandoc_options') return { \ 'command': ale#Escape(l:executable) \ . ' ' . l:options, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/perltidy.vim ================================================ " Author: kfly8 " Description: Integration of perltidy with ALE. call ale#Set('perl_perltidy_executable', 'perltidy') call ale#Set('perl_perltidy_options', '') function! ale#fixers#perltidy#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'perl_perltidy_executable') let l:options = ale#Var(a:buffer, 'perl_perltidy_options') return { \ 'command': ale#Escape(l:executable) \ . ' -b' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/pgformatter.vim ================================================ call ale#Set('sql_pgformatter_executable', 'pg_format') call ale#Set('sql_pgformatter_options', '') function! ale#fixers#pgformatter#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'sql_pgformatter_executable') let l:options = ale#Var(a:buffer, 'sql_pgformatter_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/php_cs_fixer.vim ================================================ " Author: Julien Deniau " Description: Fixing files with php-cs-fixer. call ale#Set('php_cs_fixer_executable', 'php-cs-fixer') call ale#Set('php_cs_fixer_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('php_cs_fixer_options', '') function! ale#fixers#php_cs_fixer#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'php_cs_fixer', [ \ 'vendor/bin/php-cs-fixer', \ 'php-cs-fixer' \]) endfunction function! ale#fixers#php_cs_fixer#Fix(buffer) abort let l:executable = ale#fixers#php_cs_fixer#GetExecutable(a:buffer) return { \ 'command': ale#Escape(l:executable) \ . ' ' . ale#Var(a:buffer, 'php_cs_fixer_options') \ . ' fix %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/phpcbf.vim ================================================ " Author: notomo " Description: Fixing files with phpcbf. call ale#Set('php_phpcbf_standard', '') call ale#Set('php_phpcbf_options', '') call ale#Set('php_phpcbf_executable', 'phpcbf') call ale#Set('php_phpcbf_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#fixers#phpcbf#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'php_phpcbf', [ \ 'vendor/bin/phpcbf', \ 'phpcbf' \]) endfunction function! ale#fixers#phpcbf#Fix(buffer) abort let l:executable = ale#fixers#phpcbf#GetExecutable(a:buffer) let l:standard = ale#Var(a:buffer, 'php_phpcbf_standard') let l:standard_option = !empty(l:standard) \ ? '--standard=' . l:standard \ : '' return { \ 'command': ale#Escape(l:executable) . ' --stdin-path=%s ' . l:standard_option . ale#Pad(ale#Var(a:buffer, 'php_phpcbf_options')) . ' -' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/pint.vim ================================================ " Author: Michael Dyrynda " Description: Fixing files with Laravel Pint. call ale#Set('php_pint_executable', 'pint') call ale#Set('php_pint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('php_pint_options', '') function! ale#fixers#pint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'php_pint', [ \ 'vendor/bin/pint', \ 'pint' \]) endfunction function! ale#fixers#pint#Fix(buffer) abort let l:executable = ale#fixers#pint#GetExecutable(a:buffer) return { \ 'command': ale#Escape(l:executable) \ . ' ' . ale#Var(a:buffer, 'php_pint_options') \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/prettier.vim ================================================ " Author: tunnckoCore (Charlike Mike Reagent) , " w0rp , morhetz (Pavel Pertsev) " Description: Integration of Prettier with ALE. call ale#Set('javascript_prettier_executable', 'prettier') call ale#Set('javascript_prettier_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_prettier_options', '') function! ale#fixers#prettier#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'javascript_prettier', [ \ 'node_modules/.bin/prettier_d', \ 'node_modules/prettier-cli/index.js', \ 'node_modules/.bin/prettier', \]) endfunction function! ale#fixers#prettier#Fix(buffer) abort return ale#semver#RunWithVersionCheck( \ a:buffer, \ ale#fixers#prettier#GetExecutable(a:buffer), \ '%e --version', \ function('ale#fixers#prettier#ApplyFixForVersion'), \) endfunction function! ale#fixers#prettier#ProcessPrettierDOutput(buffer, output) abort " If the output is an error message, don't use it. for l:line in a:output[:10] if l:line =~# '^\w*Error:' return [] endif endfor return a:output endfunction function! ale#fixers#prettier#GetCwd(buffer) abort let l:config = ale#path#FindNearestFile(a:buffer, '.prettierignore') " Fall back to the directory of the buffer return !empty(l:config) ? fnamemodify(l:config, ':h') : '%s:h' endfunction function! ale#fixers#prettier#ApplyFixForVersion(buffer, version) abort let l:executable = ale#fixers#prettier#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'javascript_prettier_options') let l:parser = '' let l:filetypes = split(getbufvar(a:buffer, '&filetype'), '\.') if index(l:filetypes, 'handlebars') > -1 let l:parser = 'glimmer' endif " Append the --parser flag depending on the current filetype (unless it's " already set in g:javascript_prettier_options). if empty(expand('#' . a:buffer . ':e')) && l:parser is# '' && match(l:options, '--parser') == -1 " Mimic Prettier's defaults. In cases without a file extension or " filetype (scratch buffer), Prettier needs `parser` set to know how " to process the buffer. if ale#semver#GTE(a:version, [1, 16, 0]) let l:parser = 'babel' else let l:parser = 'babylon' endif let l:prettier_parsers = { \ 'typescript': 'typescript', \ 'css': 'css', \ 'less': 'less', \ 'scss': 'scss', \ 'json': 'json', \ 'json5': 'json5', \ 'graphql': 'graphql', \ 'markdown': 'markdown', \ 'vue': 'vue', \ 'svelte': 'svelte', \ 'yaml': 'yaml', \ 'openapi': 'yaml', \ 'html': 'html', \ 'ruby': 'ruby', \} for l:filetype in l:filetypes if has_key(l:prettier_parsers, l:filetype) let l:parser = l:prettier_parsers[l:filetype] break endif endfor endif if !empty(l:parser) let l:options = (!empty(l:options) ? l:options . ' ' : '') . '--parser ' . l:parser endif " Special error handling needed for prettier_d if l:executable =~# 'prettier_d$' return { \ 'cwd': '%s:h', \ 'command':ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --stdin-filepath %s --stdin', \ 'process_with': 'ale#fixers#prettier#ProcessPrettierDOutput', \} endif " 1.4.0 is the first version with --stdin-filepath if ale#semver#GTE(a:version, [1, 4, 0]) return { \ 'cwd': ale#fixers#prettier#GetCwd(a:buffer), \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --stdin-filepath %s --stdin', \} endif return { \ 'command': ale#Escape(l:executable) \ . ' %t' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --write', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/prettier_eslint.vim ================================================ " Author: tunnckoCore (Charlike Mike Reagent) , " w0rp , morhetz (Pavel Pertsev) " Description: Integration between Prettier and ESLint. call ale#Set('javascript_prettier_eslint_executable', 'prettier-eslint') call ale#Set('javascript_prettier_eslint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_prettier_eslint_options', '') function! ale#fixers#prettier_eslint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'javascript_prettier_eslint', [ \ 'node_modules/prettier-eslint-cli/dist/index.js', \ 'node_modules/.bin/prettier-eslint', \]) endfunction function! ale#fixers#prettier_eslint#Fix(buffer) abort return ale#semver#RunWithVersionCheck( \ a:buffer, \ ale#fixers#prettier_eslint#GetExecutable(a:buffer), \ '%e --version', \ function('ale#fixers#prettier_eslint#ApplyFixForVersion'), \) endfunction function! ale#fixers#prettier_eslint#ApplyFixForVersion(buffer, version) abort let l:options = ale#Var(a:buffer, 'javascript_prettier_eslint_options') let l:executable = ale#fixers#prettier_eslint#GetExecutable(a:buffer) " 4.2.0 is the first version with --eslint-config-path let l:config = ale#semver#GTE(a:version, [4, 2, 0]) \ ? ale#handlers#eslint#FindConfig(a:buffer) \ : '' let l:eslint_config_option = !empty(l:config) \ ? ' --eslint-config-path ' . ale#Escape(l:config) \ : '' " 4.4.0 is the first version with --stdin-filepath if ale#semver#GTE(a:version, [4, 4, 0]) return { \ 'cwd': '%s:h', \ 'command': ale#Escape(l:executable) \ . l:eslint_config_option \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --stdin-filepath %s --stdin', \} endif return { \ 'command': ale#Escape(l:executable) \ . ' %t' \ . l:eslint_config_option \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --write', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/prettier_standard.vim ================================================ " Author: sheerun (Adam Stankiewicz) " Description: Integration of Prettier Standard with ALE. call ale#Set('javascript_prettier_standard_executable', 'prettier-standard') call ale#Set('javascript_prettier_standard_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_prettier_standard_options', '') function! ale#fixers#prettier_standard#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'javascript_prettier_standard', [ \ 'node_modules/prettier-standard/lib/index.js', \ 'node_modules/.bin/prettier-standard', \]) endfunction function! ale#fixers#prettier_standard#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'javascript_prettier_standard_options') return { \ 'command': ale#Escape(ale#fixers#prettier_standard#GetExecutable(a:buffer)) \ . ' --stdin' \ . ' --stdin-filepath=%s' \ . ' ' . l:options, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/protolint.vim ================================================ " Author: Yohei Yoshimuta " Description: Integration of protolint with ALE. call ale#Set('proto_protolint_executable', 'protolint') call ale#Set('proto_protolint_config', '') function! ale#fixers#protolint#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'proto_protolint_executable') return ale#Escape(l:executable) endfunction function! ale#fixers#protolint#Fix(buffer) abort let l:executable = ale#fixers#protolint#GetExecutable(a:buffer) let l:config = ale#Var(a:buffer, 'proto_protolint_config') return { \ 'command': l:executable \ . (!empty(l:config) ? ' -config_path=' . ale#Escape(l:config) : '') \ . ' -fix' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/ptop.vim ================================================ " Author: BarrOff https://github.com/BarrOff " Description: Integration of ptop with ALE. call ale#Set('pascal_ptop_executable', 'ptop') call ale#Set('pascal_ptop_options', '') function! ale#fixers#ptop#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'pascal_ptop_executable') let l:options = ale#Var(a:buffer, 'pascal_ptop_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %s %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/puppetlint.vim ================================================ " Author: Alexander Olofsson " Description: puppet-lint fixer if !exists('g:ale_puppet_puppetlint_executable') let g:ale_puppet_puppetlint_executable = 'puppet-lint' endif if !exists('g:ale_puppet_puppetlint_options') let g:ale_puppet_puppetlint_options = '' endif function! ale#fixers#puppetlint#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'puppet_puppetlint_executable') return { \ 'command': ale#Escape(l:executable) \ . ' ' . ale#Var(a:buffer, 'puppet_puppetlint_options') \ . ' --fix' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/purs_tidy.vim ================================================ " Author: toastal " Description: Integration of purs-tidy with ALE. call ale#Set('purescript_tidy_executable', 'purs-tidy') call ale#Set('purescript_tidy_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('purescript_tidy_options', '') function! ale#fixers#purs_tidy#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'purescript_tidy', [ \ 'node_modules/purescript-tidy/bin/index.js', \ 'node_modules/.bin/purs-tidy', \]) endfunction function! ale#fixers#purs_tidy#Fix(buffer) abort let l:executable = ale#fixers#purs_tidy#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'purescript_tidy_options') return { \ 'command': ale#Escape(l:executable) \ . ' format' \ . ale#Pad(l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/purty.vim ================================================ " Author: iclanzan " Description: Integration of purty with ALE. call ale#Set('purescript_purty_executable', 'purty') function! ale#fixers#purty#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'purescript_purty_executable') return ale#Escape(l:executable) endfunction function! ale#fixers#purty#Fix(buffer) abort let l:executable = ale#fixers#purty#GetExecutable(a:buffer) return { \ 'command': l:executable \ . ' --write' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/pyflyby.vim ================================================ " Author: infokiller " Description: Tidy imports using pyflyby's tidy-import script " https://github.com/deshaw/pyflyby call ale#Set('python_pyflyby_executable', 'tidy-imports') call ale#Set('python_pyflyby_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_pyflyby_options', '') call ale#Set('python_pyflyby_auto_pipenv', 0) call ale#Set('python_pyflyby_auto_poetry', 0) function! ale#fixers#pyflyby#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pyflyby_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_pyflyby_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_pyflyby', ['tidy-imports']) endfunction function! ale#fixers#pyflyby#Fix(buffer) abort " let l:executable = ale#fixers#pyflyby#GetExecutable(a:buffer) let l:executable = ale#fixers#pyflyby#GetExecutable(a:buffer) let l:cmd = [ale#Escape(l:executable)] if l:executable =~? 'pipenv\|poetry$' call extend(l:cmd, ['run', 'tidy-imports']) endif let l:options = ale#Var(a:buffer, 'python_pyflyby_options') if !empty(l:options) call add(l:cmd, l:options) endif return {'command': join(l:cmd, ' ')} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/qmlfmt.vim ================================================ call ale#Set('qml_qmlfmt_executable', 'qmlfmt') function! ale#fixers#qmlfmt#GetExecutable(buffer) abort return ale#Var(a:buffer, 'qml_qmlfmt_executable') endfunction function! ale#fixers#qmlfmt#Fix(buffer) abort return { \ 'command': ale#Escape(ale#fixers#qmlfmt#GetExecutable(a:buffer)), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/raco_fmt.vim ================================================ " Author: Jeremy Cantrell " Description: Integration of raco fmt with ALE. call ale#Set('racket_raco_fmt_executable', 'raco') call ale#Set('racket_raco_fmt_options', '') function! ale#fixers#raco_fmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'racket_raco_fmt_executable') let l:options = ale#Var(a:buffer, 'racket_raco_fmt_options') return { \ 'command': ale#Escape(l:executable) . ' fmt' \ . (empty(l:options) ? '' : ' ' . l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/refmt.vim ================================================ " Author: Ahmed El Gabri <@ahmedelgabri> " Description: Integration of refmt with ALE. call ale#Set('reasonml_refmt_executable', 'refmt') call ale#Set('reasonml_refmt_options', '') function! ale#fixers#refmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'reasonml_refmt_executable') let l:options = ale#Var(a:buffer, 'reasonml_refmt_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' --in-place' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/remark_lint.vim ================================================ " Author: blyoa " Description: Fixing files with remark-lint. call ale#Set('markdown_remark_lint_executable', 'remark') call ale#Set('markdown_remark_lint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('markdown_remark_lint_options', '') function! ale#fixers#remark_lint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'markdown_remark_lint', [ \ 'node_modules/remark-cli/cli.js', \ 'node_modules/.bin/remark', \]) endfunction function! ale#fixers#remark_lint#Fix(buffer) abort let l:executable = ale#fixers#remark_lint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'markdown_remark_lint_options') return { \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : ''), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/reorder_python_imports.vim ================================================ " Author: jake " Description: Fixing Python imports with reorder-python-imports. call ale#Set('python_reorder_python_imports_executable', 'reorder-python-imports') call ale#Set('python_reorder_python_imports_options', '') call ale#Set('python_reorder_python_imports_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#fixers#reorder_python_imports#Fix(buffer) abort let l:executable = ale#python#FindExecutable( \ a:buffer, \ 'python_reorder_python_imports', \ ['reorder-python-imports'], \) if !executable(l:executable) return 0 endif let l:options = ale#Var(a:buffer, 'python_reorder_python_imports_options') return { \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') . ' -', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/rubocop.vim ================================================ call ale#Set('ruby_rubocop_options', '') call ale#Set('ruby_rubocop_auto_correct_all', 0) call ale#Set('ruby_rubocop_executable', 'rubocop') " Rubocop fixer outputs diagnostics first and then the fixed " output. These are delimited by a "=======" string that we " look for to remove everything before it. function! ale#fixers#rubocop#PostProcess(buffer, output) abort let l:line = 0 for l:output in a:output let l:line = l:line + 1 if l:output =~# "^=\\+$" break endif endfor return a:output[l:line :] endfunction function! ale#fixers#rubocop#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_rubocop_executable') let l:options = ale#Var(a:buffer, 'ruby_rubocop_options') let l:auto_correct_all = ale#Var(a:buffer, 'ruby_rubocop_auto_correct_all') return ale#ruby#EscapeExecutable(l:executable, 'rubocop') \ . (!empty(l:options) ? ' ' . l:options : '') \ . (l:auto_correct_all ? ' --auto-correct-all' : ' --auto-correct') \ . ' --force-exclusion --stdin %s' endfunction function! ale#fixers#rubocop#Fix(buffer) abort return { \ 'command': ale#fixers#rubocop#GetCommand(a:buffer), \ 'process_with': 'ale#fixers#rubocop#PostProcess' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/ruff.vim ================================================ " Author: Yining " Description: ruff as ALE fixer for python files call ale#Set('python_ruff_executable', 'ruff') call ale#Set('python_ruff_options', '') call ale#Set('python_ruff_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_ruff_change_directory', 1) call ale#Set('python_ruff_auto_pipenv', 0) call ale#Set('python_ruff_auto_poetry', 0) function! ale#fixers#ruff#GetCwd(buffer) abort if ale#Var(a:buffer, 'python_ruff_change_directory') " Run from project root if found, else from buffer dir. let l:project_root = ale#python#FindProjectRoot(a:buffer) return !empty(l:project_root) ? l:project_root : '%s:h' endif return '%s:h' endfunction function! ale#fixers#ruff#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_ruff_auto_pipenv')) \ && ale#python#PipenvPresent(a:buffer) return 'pipenv' endif if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_ruff_auto_poetry')) \ && ale#python#PoetryPresent(a:buffer) return 'poetry' endif return ale#python#FindExecutable(a:buffer, 'python_ruff', ['ruff']) endfunction function! ale#fixers#ruff#GetCommand(buffer) abort let l:executable = ale#fixers#ruff#GetExecutable(a:buffer) let l:exec_args = l:executable =~? 'pipenv\|poetry$' \ ? ' run ruff' \ : '' return ale#Escape(l:executable) . l:exec_args endfunction function! ale#fixers#ruff#FixForVersion(buffer, version) abort let l:executable = ale#fixers#ruff#GetExecutable(a:buffer) let l:cmd = [ale#Escape(l:executable)] if l:executable =~? 'pipenv\|poetry$' call extend(l:cmd, ['run', 'ruff']) endif let l:options = ale#Var(a:buffer, 'python_ruff_options') if !empty(l:options) call add(l:cmd, l:options) endif " when --stdin-filename present, ruff will use it for proj root resolution " https://github.com/charliermarsh/ruff/pull/1281 let l:fname = expand('#' . a:buffer . '...') call add(l:cmd, '--stdin-filename '.ale#Escape(ale#path#Simplify(l:fname))) call add(l:cmd, '--fix') " NOTE: ruff version `0.0.72` implements `--fix` with stdin if ale#semver#GTE(a:version, [0, 0, 72]) call add(l:cmd, '-') else call add(l:cmd, '%s') endif return { \ 'cwd': ale#fixers#ruff#GetCwd(a:buffer), \ 'command': join(l:cmd, ' '), \} endfunction function! ale#fixers#ruff#Fix(buffer) abort let l:executable = ale#fixers#ruff#GetExecutable(a:buffer) let l:command = ale#fixers#ruff#GetCommand(a:buffer) . ale#Pad('--version') return ale#semver#RunWithVersionCheck( \ a:buffer, \ l:executable, \ l:command, \ function('ale#fixers#ruff#FixForVersion'), \) endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/rufo.vim ================================================ " Author: Fohte (Hayato Kawai) https://github.com/fohte " Description: Integration of Rufo with ALE. call ale#Set('ruby_rufo_executable', 'rufo') function! ale#fixers#rufo#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_rufo_executable') let l:exec_args = l:executable =~? 'bundle$' \ ? ' exec rufo' \ : '' return ale#Escape(l:executable) . l:exec_args . ' %t' endfunction function! ale#fixers#rufo#Fix(buffer) abort return { \ 'command': ale#fixers#rufo#GetCommand(a:buffer), \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/rustfmt.vim ================================================ " Author: Kelly Fox " Description: Integration of rustfmt with ALE. call ale#Set('rust_rustfmt_executable', 'rustfmt') call ale#Set('rust_rustfmt_options', '') function! ale#fixers#rustfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'rust_rustfmt_executable') let l:options = ale#Var(a:buffer, 'rust_rustfmt_options') return { \ 'command': ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/scalafmt.vim ================================================ " Author: Jeffrey Lau https://github.com/zoonfafer " Description: Integration of Scalafmt with ALE. call ale#Set('scala_scalafmt_executable', 'scalafmt') call ale#Set('scala_scalafmt_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('scala_scalafmt_options', '') function! ale#fixers#scalafmt#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'scala_scalafmt_executable') let l:options = ale#Var(a:buffer, 'scala_scalafmt_options') let l:exec_args = l:executable =~? 'ng$' \ ? ' scalafmt' \ : '' return ale#Escape(l:executable) . l:exec_args \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t' endfunction function! ale#fixers#scalafmt#Fix(buffer) abort return { \ 'command': ale#fixers#scalafmt#GetCommand(a:buffer), \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/shfmt.vim ================================================ scriptencoding utf-8 " Author: Simon Bugert " Description: Fix sh files with shfmt. call ale#Set('sh_shfmt_executable', 'shfmt') call ale#Set('sh_shfmt_options', '') function! ale#fixers#shfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'sh_shfmt_executable') let l:options = ale#Var(a:buffer, 'sh_shfmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' -filename=%s' \ . (empty(l:options) ? '' : ' ' . l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/sorbet.vim ================================================ call ale#Set('ruby_sorbet_executable', 'srb') call ale#Set('ruby_sorbet_options', '') function! ale#fixers#sorbet#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_sorbet_executable') let l:options = ale#Var(a:buffer, 'ruby_sorbet_options') return ale#ruby#EscapeExecutable(l:executable, 'srb') \ . ' tc' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --autocorrect --file %t' endfunction function! ale#fixers#sorbet#Fix(buffer) abort return { \ 'command': ale#fixers#sorbet#GetCommand(a:buffer), \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/sqlfluff.vim ================================================ " Author: Carl Smedstad " Description: Fixing SQL files with sqlfluff call ale#Set('sql_sqlfluff_executable', 'sqlfluff') function! ale#fixers#sqlfluff#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'sql_sqlfluff_executable') let l:cmd = \ ale#Escape(l:executable) \ . ' fix --force' let l:config_file = ale#path#FindNearestFile(a:buffer, '.sqlfluff') if !empty(l:config_file) let l:cmd .= ' --config ' . ale#Escape(l:config_file) else let l:cmd .= ' --dialect ansi' endif return { \ 'command': l:cmd . ' %t > /dev/null', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/sqlfmt.vim ================================================ call ale#Set('sql_sqlfmt_executable', 'sqlfmt') call ale#Set('sql_sqlfmt_options', '') function! ale#fixers#sqlfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'sql_sqlfmt_executable') let l:options = ale#Var(a:buffer, 'sql_sqlfmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' -w' \ . (empty(l:options) ? '' : ' ' . l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/sqlformat.vim ================================================ " Author: Cluas " Description: Fixing files with sqlformat. call ale#Set('sql_sqlformat_executable', 'sqlformat') call ale#Set('sql_sqlformat_options', '') function! ale#fixers#sqlformat#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'sql_sqlformat_executable') let l:options = ale#Var(a:buffer, 'sql_sqlformat_options') return { \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' -' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/standard.vim ================================================ " Author: Sumner Evans " Description: Fixing files with Standard. call ale#Set('javascript_standard_executable', 'standard') call ale#Set('javascript_standard_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_standard_options', '') function! ale#fixers#standard#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'javascript_standard', [ \ 'node_modules/standardx/bin/cmd.js', \ 'node_modules/standard/bin/cmd.js', \ 'node_modules/.bin/standard', \]) endfunction function! ale#fixers#standard#Fix(buffer) abort let l:executable = ale#fixers#standard#GetExecutable(a:buffer) let l:filetype = getbufvar(a:buffer, '&filetype') let l:options_type = 'javascript_standard_options' if l:filetype =~# 'typescript' let l:options_type = 'typescript_standard_options' endif let l:options = ale#Var(a:buffer, l:options_type) return { \ 'command': ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --fix --stdin < %s > %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/standardrb.vim ================================================ " Author: Justin Searls - https://github.com/searls " Description: Fix Ruby files with StandardRB. call ale#Set('ruby_standardrb_options', '') call ale#Set('ruby_standardrb_executable', 'standardrb') function! ale#fixers#standardrb#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_standardrb_executable') let l:config = ale#path#FindNearestFile(a:buffer, '.standard.yml') let l:options = ale#Var(a:buffer, 'ruby_standardrb_options') return ale#ruby#EscapeExecutable(l:executable, 'standardrb') \ . (!empty(l:config) ? ' --config ' . ale#Escape(l:config) : '') \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --fix --force-exclusion --stdin %s' endfunction function! ale#fixers#standardrb#Fix(buffer) abort return { \ 'command': ale#fixers#standardrb#GetCommand(a:buffer), \ 'process_with': 'ale#fixers#rubocop#PostProcess' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/statix.vim ================================================ " Author: David Houston " Description: Provide statix fix as a fixer for simple Nix antipatterns. call ale#Set('nix_statix_fix_executable', 'statix') call ale#Set('nix_statix_fix_options', '') function! ale#fixers#statix#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'nix_statix_fix_executable') let l:options = ale#Var(a:buffer, 'nix_statix_fix_options') return { \ 'command': ale#Escape(l:executable) \ . ale#Pad('fix') \ . ale#Pad('--stdin') \ . ale#Pad(l:options), \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/stylelint.vim ================================================ " Author: Mahmoud Mostafa " Description: Fixing files with stylelint. call ale#Set('stylelint_executable', 'stylelint') call ale#Set('stylelint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('stylelint_options', '') function! ale#fixers#stylelint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'stylelint', [ \ 'node_modules/stylelint/bin/stylelint.js', \ 'node_modules/.bin/stylelint', \]) endfunction function! ale#fixers#stylelint#Fix(buffer) abort let l:executable = ale#fixers#stylelint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'stylelint_options') return { \ 'cwd': '%s:h', \ 'command': ale#node#Executable(a:buffer, l:executable) \ . ale#Pad(l:options) \ . ' --fix --stdin --stdin-filename %s', \ 'read_temporary_file': 0, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/styler.vim ================================================ " Author: tvatter " Description: Fixing R files with styler. call ale#Set('r_styler_executable', 'Rscript') call ale#Set('r_styler_options', 'tidyverse_style()') function! ale#fixers#styler#Fix(buffer) abort return { \ 'command': 'Rscript --vanilla -e ' \ . '"suppressPackageStartupMessages(library(styler));' \ . 'style_file(commandArgs(TRUE), transformers = ' \ . ale#Var(a:buffer, 'r_styler_options') . ')"' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/stylish_haskell.vim ================================================ " Author: eborden " Description: Integration of stylish-haskell formatting with ALE. " call ale#Set('haskell_stylish_haskell_executable', 'stylish-haskell') function! ale#fixers#stylish_haskell#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_stylish_haskell_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'stylish-haskell') endfunction function! ale#fixers#stylish_haskell#Fix(buffer) abort let l:executable = ale#fixers#stylish_haskell#GetExecutable(a:buffer) return { \ 'command': l:executable \ . ' --inplace' \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/stylua.vim ================================================ " Author: Robert Liebowitz " Description: https://github.com/johnnymorganz/stylua call ale#Set('lua_stylua_executable', 'stylua') call ale#Set('lua_stylua_options', '') function! ale#fixers#stylua#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'lua_stylua_executable') let l:options = ale#Var(a:buffer, 'lua_stylua_options') return { \ 'command': ale#Escape(l:executable) . ale#Pad(l:options) . ' -', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/swiftformat.vim ================================================ " Author: gfontenot (Gordon Fontenot) " Description: Integration of SwiftFormat with ALE. call ale#Set('swift_swiftformat_executable', 'swiftformat') call ale#Set('swift_swiftformat_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('swift_swiftformat_options', '') function! ale#fixers#swiftformat#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'swift_swiftformat', [ \ 'Pods/SwiftFormat/CommandLineTool/swiftformat', \ 'ios/Pods/SwiftFormat/CommandLineTool/swiftformat', \ 'swiftformat', \]) endfunction function! ale#fixers#swiftformat#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'swift_swiftformat_options') return { \ 'read_temporary_file': 1, \ 'command': ale#Escape(ale#fixers#swiftformat#GetExecutable(a:buffer)) \ . ' %t' \ . ' ' . l:options, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/syntax_tree.vim ================================================ call ale#Set('ruby_syntax_tree_options', '') call ale#Set('ruby_syntax_tree_executable', 'stree') function! ale#fixers#syntax_tree#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'ruby_syntax_tree_executable') let l:options = ale#Var(a:buffer, 'ruby_syntax_tree_options') return ale#ruby#EscapeExecutable(l:executable, 'stree') \ . ' write' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %t' endfunction function! ale#fixers#syntax_tree#Fix(buffer) abort return { \ 'command': ale#fixers#syntax_tree#GetCommand(a:buffer), \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/terraform.vim ================================================ " Author: dsifford " Description: Fixer for terraform and .hcl files call ale#Set('terraform_fmt_executable', 'terraform') call ale#Set('terraform_fmt_options', '') function! ale#fixers#terraform#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'terraform_fmt_executable') let l:options = ale#Var(a:buffer, 'terraform_fmt_options') return { \ 'command': ale#Escape(l:executable) \ . ' fmt' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' -' \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/textlint.vim ================================================ " Author: TANIGUCHI Masaya " Description: Integration of textlint with ALE. function! ale#fixers#textlint#Fix(buffer) abort let l:executable = ale#handlers#textlint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'textlint_options') return { \ 'command': ale#Escape(l:executable) \ . ' --fix' \ . (empty(l:options) ? '' : ' ' . l:options) \ . ' %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/tidy.vim ================================================ " Author: meain " Description: Fixing HTML files with tidy. call ale#Set('html_tidy_executable', 'tidy') call ale#Set('html_tidy_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#fixers#tidy#Fix(buffer) abort let l:executable = ale#path#FindExecutable( \ a:buffer, \ 'html_tidy', \ ['tidy'], \) if !executable(l:executable) return 0 endif let l:config = ale#path#FindNearestFile(a:buffer, '.tidyrc') let l:config_options = !empty(l:config) \ ? ' -q --tidy-mark no --show-errors 0 --show-warnings 0 -config ' . ale#Escape(l:config) \ : ' -q --tidy-mark no --show-errors 0 --show-warnings 0' return { \ 'command': ale#Escape(l:executable) . l:config_options, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/tslint.vim ================================================ " Author: carakan " Description: Fixing files with tslint. function! ale#fixers#tslint#Fix(buffer) abort let l:executable = ale#handlers#tslint#GetExecutable(a:buffer) let l:tslint_config_path = ale#path#ResolveLocalPath( \ a:buffer, \ 'tslint.json', \ ale#Var(a:buffer, 'typescript_tslint_config_path') \) let l:tslint_config_option = !empty(l:tslint_config_path) \ ? ' -c ' . ale#Escape(l:tslint_config_path) \ : '' return { \ 'command': ale#node#Executable(a:buffer, l:executable) \ . l:tslint_config_option \ . ' --outputAbsolutePaths --fix %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/uncrustify.vim ================================================ " Author: Derek P Sifford " Description: Fixer for C, C++, C#, ObjectiveC, D, Java, Pawn, and VALA. call ale#Set('c_uncrustify_executable', 'uncrustify') call ale#Set('c_uncrustify_options', '') let s:languages = { \ 'c': 'C', \ 'cpp': 'CPP', \ 'cs': 'CS', \ 'objc': 'OC', \ 'objcpp': 'OC+', \ 'd': 'D', \ 'java': 'JAVA', \ 'vala': 'VALA', \ 'p': 'PAWN', \} function! ale#fixers#uncrustify#Language(buffer) abort return get(s:languages, &filetype, 'C') endfunction function! ale#fixers#uncrustify#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'c_uncrustify_executable') let l:options = ale#Var(a:buffer, 'c_uncrustify_options') return { \ 'command': ale#Escape(l:executable) \ . ' --no-backup ' \ . '-l' . ale#Pad(ale#fixers#uncrustify#Language(a:buffer)) \ . ale#Pad(l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/vfmt.vim ================================================ " Author: fiatjaf " Description: Integration of `v fmt` with ALE. call ale#Set('v_vfmt_options', '') function! ale#fixers#vfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'v_v_executable') let l:options = ale#Var(a:buffer, 'v_vfmt_options') return { \ 'command': ale#Escape(l:executable) . ' fmt' . ale#Pad(l:options) \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/xmllint.vim ================================================ " Author: Cyril Roelandt " Description: Integration of xmllint with ALE. call ale#Set('xml_xmllint_executable', 'xmllint') call ale#Set('xml_xmllint_options', '') call ale#Set('xml_xmllint_indentsize', 2) function! ale#fixers#xmllint#Fix(buffer) abort let l:executable = ale#Escape(ale#Var(a:buffer, 'xml_xmllint_executable')) let l:filename = ale#Escape(bufname(a:buffer)) let l:command = l:executable . ' --format ' . l:filename let l:indent = ale#Var(a:buffer, 'xml_xmllint_indentsize') if l:indent isnot# '' let l:env = ale#Env('XMLLINT_INDENT', repeat(' ', l:indent)) let l:command = l:env . l:command endif let l:options = ale#Var(a:buffer, 'xml_xmllint_options') if l:options isnot# '' let l:command .= ' ' . l:options endif return { \ 'command': l:command \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/xo.vim ================================================ " Author: Albert Marquez - https://github.com/a-marquez " Description: Fixing files with XO. function! ale#fixers#xo#Fix(buffer) abort let l:executable = ale#handlers#xo#GetExecutable(a:buffer) let l:options = ale#handlers#xo#GetOptions(a:buffer) return ale#semver#RunWithVersionCheck( \ a:buffer, \ l:executable, \ '%e --version', \ {b, v -> ale#fixers#xo#ApplyFixForVersion(b, v, l:executable, l:options)} \) endfunction function! ale#fixers#xo#ApplyFixForVersion(buffer, version, executable, options) abort let l:executable = ale#node#Executable(a:buffer, a:executable) let l:options = ale#Pad(a:options) " 0.30.0 is the first version with a working --stdin --fix if ale#semver#GTE(a:version, [0, 30, 0]) return { \ 'command': l:executable \ . ' --stdin --stdin-filename %s' \ . ' --fix' \ . l:options, \} endif return { \ 'command': l:executable \ . ' --fix %t' \ . l:options, \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/yamlfix.vim ================================================ " Author: lyz-code " Description: Fixing yaml files with yamlfix. call ale#Set('yaml_yamlfix_executable', 'yamlfix') call ale#Set('yaml_yamlfix_options', '') call ale#Set('yaml_yamlfix_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#fixers#yamlfix#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'yaml_yamlfix_options') let l:executable = ale#python#FindExecutable( \ a:buffer, \ 'yaml_yamlfix', \ ['yamlfix'], \) if !executable(l:executable) return 0 endif return { \ 'cwd': '%s:h', \ 'command': ale#Escape(l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') . ' -', \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/yapf.vim ================================================ " Author: w0rp " Description: Fixing Python files with yapf. call ale#Set('python_yapf_executable', 'yapf') call ale#Set('python_yapf_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#fixers#yapf#Fix(buffer) abort let l:executable = ale#python#FindExecutable( \ a:buffer, \ 'python_yapf', \ ['yapf'], \) if !executable(l:executable) return 0 endif let l:config = ale#path#FindNearestFile(a:buffer, '.style.yapf') let l:config_options = !empty(l:config) \ ? ' --no-local-style --style ' . ale#Escape(l:config) \ : '' return { \ 'command': ale#Escape(l:executable) . l:config_options, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/fixers/zigfmt.vim ================================================ scriptencoding utf-8 " Author: Arash Mousavi " Description: Official formatter for Zig. call ale#Set('zig_zigfmt_executable', 'zig') function! ale#fixers#zigfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'zig_zigfmt_executable') return { \ 'command': ale#Escape(l:executable) . ' fmt %t', \ 'read_temporary_file': 1, \} endfunction ================================================ FILE: bundle/ale/autoload/ale/floating_preview.vim ================================================ " Author: Jan-Grimo Sobez " Author: Kevin Clark " Author: D. Ben Knoble " Author: Shaun Duncan " Description: Floating preview window for showing whatever information in. " Precondition: exists('*nvim_open_win') || has('popupwin') function! ale#floating_preview#Show(lines, ...) abort if !exists('*nvim_open_win') && !has('popupwin') " no-custom-checks echom 'Floating windows not supported in this vim instance.' return endif let l:options = get(a:000, 0, {}) if has('nvim') call s:NvimShow(a:lines, l:options) else call s:VimShow(a:lines, l:options) endif endfunction function! s:NvimShow(lines, options) abort " Remove the close autocmd so it doesn't happen mid update augroup ale_floating_preview_window autocmd! augroup END " Only create a new window if we need it if !exists('w:preview') || index(nvim_list_wins(), w:preview['id']) is# -1 call s:NvimCreate(a:options) else call nvim_buf_set_option(w:preview['buffer'], 'modifiable', v:true) endif " Execute commands in window context let l:parent_window = nvim_get_current_win() call nvim_set_current_win(w:preview['id']) for l:command in get(a:options, 'commands', []) call execute(l:command) endfor call nvim_set_current_win(l:parent_window) " Return to parent context on move augroup ale_floating_preview_window autocmd! if g:ale_close_preview_on_insert autocmd CursorMoved,TabLeave,WinLeave,InsertEnter ++once call s:NvimClose() else autocmd CursorMoved,TabLeave,WinLeave ++once call s:NvimClose() endif augroup END let [l:lines, l:width, l:height] = s:NvimPrepareWindowContent(a:lines) call nvim_win_set_width(w:preview['id'], l:width) call nvim_win_set_height(w:preview['id'], l:height) call nvim_buf_set_lines(w:preview['buffer'], 0, -1, v:false, l:lines) call nvim_buf_set_option(w:preview['buffer'], 'modified', v:false) call nvim_buf_set_option(w:preview['buffer'], 'modifiable', v:false) endfunction function! s:VimShow(lines, options) abort if g:ale_close_preview_on_insert " Remove the close autocmd so it doesn't happen mid update silent! autocmd! ale_floating_preview_window endif " Only create a new window if we need it if !exists('w:preview') || index(popup_list(), w:preview['id']) is# -1 call s:VimCreate(a:options) endif " Execute commands in window context for l:command in get(a:options, 'commands', []) call win_execute(w:preview['id'], l:command) endfor call popup_settext(w:preview['id'], a:lines) if g:ale_close_preview_on_insert augroup ale_floating_preview_window autocmd! autocmd InsertEnter * ++once call s:VimClose() augroup END endif endfunction function! s:NvimPrepareWindowContent(lines) abort let l:max_height = 10 let l:width = max(map(copy(a:lines), 'strdisplaywidth(v:val)')) let l:height = min([len(a:lines), l:max_height]) if empty(g:ale_floating_window_border) return [a:lines, l:width, l:height] endif " Add the size of borders let l:width += 2 let l:height += 2 let l:left = get(g:ale_floating_window_border, 0, '|') let l:top = get(g:ale_floating_window_border, 1, '-') let l:top_left = get(g:ale_floating_window_border, 2, '+') let l:top_right = get(g:ale_floating_window_border, 3, '+') let l:bottom_right = get(g:ale_floating_window_border, 4, '+') let l:bottom_left = get(g:ale_floating_window_border, 5, '+') let l:right = get(g:ale_floating_window_border, 6, l:left) let l:bottom = get(g:ale_floating_window_border, 7, l:top) let l:lines = [l:top_left . repeat(l:top, l:width - 2) . l:top_right] for l:line in a:lines let l:line_width = strchars(l:line) let l:lines = add(l:lines, l:left . l:line . repeat(' ', l:width - l:line_width - 2). l:right) endfor " Truncate the lines if len(l:lines) > l:max_height + 1 let l:lines = l:lines[0:l:max_height] endif let l:lines = add(l:lines, l:bottom_left . repeat(l:bottom, l:width - 2) . l:bottom_right) return [l:lines, l:width, l:height] endfunction function! s:NvimCreate(options) abort let l:popup_opts = extend({ \ 'relative': 'cursor', \ 'row': 1, \ 'col': 0, \ 'width': 42, \ 'height': 4, \ 'style': 'minimal' \ }, s:GetPopupOpts()) let l:buffer = nvim_create_buf(v:false, v:false) let l:winid = nvim_open_win(l:buffer, v:false, l:popup_opts) call nvim_buf_set_option(l:buffer, 'buftype', 'acwrite') call nvim_buf_set_option(l:buffer, 'bufhidden', 'delete') call nvim_buf_set_option(l:buffer, 'swapfile', v:false) call nvim_buf_set_option(l:buffer, 'filetype', get(a:options, 'filetype', 'ale-preview')) let w:preview = {'id': l:winid, 'buffer': l:buffer} endfunction function! s:VimCreate(options) abort " default options let l:popup_opts = extend({ \ 'line': 'cursor+1', \ 'col': 'cursor', \ 'drag': v:true, \ 'resize': v:true, \ 'close': 'button', \ 'padding': [0, 1, 0, 1], \ 'border': [], \ 'borderchars': empty(g:ale_floating_window_border) ? [' '] : [ \ get(g:ale_floating_window_border, 1, '-'), \ get(g:ale_floating_window_border, 6, '|'), \ get(g:ale_floating_window_border, 7, '-'), \ get(g:ale_floating_window_border, 0, '|'), \ get(g:ale_floating_window_border, 2, '+'), \ get(g:ale_floating_window_border, 3, '+'), \ get(g:ale_floating_window_border, 4, '+'), \ get(g:ale_floating_window_border, 5, '+'), \ ], \ 'moved': 'any', \ }, s:GetPopupOpts()) let l:popup_id = popup_create([], l:popup_opts) call setbufvar(winbufnr(l:popup_id), '&filetype', get(a:options, 'filetype', 'ale-preview')) let w:preview = {'id': l:popup_id} endfunction function! s:NvimClose() abort let l:mode = mode() let l:restore_visual = l:mode is# 'v' || l:mode is# 'V' || l:mode is# "\" if !exists('w:preview') return endif call setbufvar(w:preview['buffer'], '&modified', 0) if win_id2win(w:preview['id']) > 0 execute win_id2win(w:preview['id']).'wincmd c' endif unlet w:preview if l:restore_visual normal! gv endif endfunction function! s:VimClose() abort if !exists('w:preview') return endif call popup_close(w:preview['id']) unlet w:preview endfunction " get either the results of a function callback or dictionary for popup overrides function! s:GetPopupOpts() abort if exists('g:ale_floating_preview_popup_opts') let l:ref = g:ale_floating_preview_popup_opts if type(l:ref) is# v:t_dict return l:ref elseif type(l:ref) is# v:t_string try return function(l:ref)() catch /E700/ endtry endif endif return {} endfunction ================================================ FILE: bundle/ale/autoload/ale/go.vim ================================================ " Author: Horacio Sanson https://github.com/hsanson " Description: Functions for integrating with Go tools " Find the nearest dir listed in GOPATH and assume it the root of the go " project. function! ale#go#FindProjectRoot(buffer) abort let l:sep = has('win32') ? ';' : ':' let l:filename = ale#path#Simplify(expand('#' . a:buffer . ':p')) for l:name in split($GOPATH, l:sep) let l:path_dir = ale#path#Simplify(l:name) " Use the directory from GOPATH if the current filename starts with it. if l:filename[: len(l:path_dir) - 1] is? l:path_dir return l:path_dir endif endfor let l:default_go_path = ale#path#Simplify(expand('~/go')) if isdirectory(l:default_go_path) return l:default_go_path endif return '' endfunction call ale#Set('go_go111module', '') " Return a string setting Go-specific environment variables function! ale#go#EnvString(buffer) abort let l:env = '' " GO111MODULE - turn go modules behavior on/off let l:go111module = ale#Var(a:buffer, 'go_go111module') if !empty(l:go111module) let l:env = ale#Env('GO111MODULE', l:go111module) . l:env endif return l:env endfunction function! ale#go#GetGoPathExecutable(suffix) abort let l:prefix = $GOPATH if !empty($GOPATH) let l:prefix = $GOPATH elseif has('win32') let l:prefix = $USERPROFILE . '/go' else let l:prefix = $HOME . '/go' endif return ale#path#Simplify(l:prefix . '/' . a:suffix) endfunction ================================================ FILE: bundle/ale/autoload/ale/gradle/init.gradle ================================================ class ClasspathPlugin implements Plugin { void apply(Project project) { project.task('printClasspath') { doLast { project .rootProject .allprojects .configurations .flatten() .findAll { it.name.endsWith('Classpath') } .collect { it.resolve() } .flatten() .unique() .findAll { it.exists() } .each { println it } } } } } rootProject { apply plugin: ClasspathPlugin } ================================================ FILE: bundle/ale/autoload/ale/gradle.vim ================================================ " Author: Michael Pardo " Description: Functions for working with Gradle projects. let s:script_path = fnamemodify(resolve(expand(':p')), ':h') let s:init_path = has('win32') \ ? s:script_path . '\gradle\init.gradle' \ : s:script_path . '/gradle/init.gradle' function! ale#gradle#GetInitPath() abort return s:init_path endfunction " Given a buffer number, find a Gradle project root. function! ale#gradle#FindProjectRoot(buffer) abort let l:gradlew_path = ale#path#FindNearestFile(a:buffer, 'gradlew') if !empty(l:gradlew_path) return fnamemodify(l:gradlew_path, ':h') endif let l:settings_path = ale#path#FindNearestFile(a:buffer, 'settings.gradle') if !empty(l:settings_path) return fnamemodify(l:settings_path, ':h') endif let l:build_path = ale#path#FindNearestFile(a:buffer, 'build.gradle') if !empty(l:build_path) return fnamemodify(l:build_path, ':h') endif return '' endfunction " Given a buffer number, find the path to the executable. " First search on the path for 'gradlew', if nothing is found, try the global " command. Returns an empty string if cannot find the executable. function! ale#gradle#FindExecutable(buffer) abort let l:gradlew_path = ale#path#FindNearestFile(a:buffer, 'gradlew') if !empty(l:gradlew_path) return l:gradlew_path endif if executable('gradle') return 'gradle' endif return '' endfunction " Given a buffer number, get a working directory and command to print the " classpath of the root project. " " Returns an empty string for the command if Gradle is not detected. function! ale#gradle#BuildClasspathCommand(buffer) abort let l:executable = ale#gradle#FindExecutable(a:buffer) if !empty(l:executable) let l:project_root = ale#gradle#FindProjectRoot(a:buffer) if !empty(l:project_root) return [ \ l:project_root, \ ale#Escape(l:executable) \ . ' -I ' . ale#Escape(s:init_path) \ . ' -q printClasspath' \] endif endif return ['', ''] endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/actionlint.vim ================================================ function! ale#handlers#actionlint#GetCommand(buffer) abort let l:options = ale#Var(a:buffer, 'yaml_actionlint_options') " automatically add --no-color option if not defined if l:options !~# '--no-color' let l:options .= ' --no-color' endif " automatically add --oneline option if not defined if l:options !~# '--oneline' let l:options .= ' --oneline' endif return '%e ' . l:options . ' %t' endfunction function! ale#handlers#actionlint#Handle(buffer, lines) abort " Matches patterns line the following: ".github/workflows/main.yml:19:0: could not parse as YAML: yaml: line 19: mapping values are not allowed in this context [yaml-syntax] let l:pattern = '\v^.*:(\d+):(\d+): (.+) \[(.+)\]$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3], \ 'code': l:match[4], \ 'type': 'E', \} call add(l:output, l:item) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/alex.vim ================================================ scriptencoding utf-8 " Author: Johannes Wienke " Description: Error handling for errors in alex output format function! ale#handlers#alex#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'alex', [ \ 'node_modules/.bin/alex', \ 'node_modules/alex/cli.js', \]) endfunction function! ale#handlers#alex#CreateCommandCallback(flags) abort return {b -> ale#node#Executable(b, ale#handlers#alex#GetExecutable(b)) \ . ' --stdin ' \ . a:flags \} endfunction function! ale#handlers#alex#Handle(buffer, lines) abort " Example output: " 6:256-6:262 warning Be careful with “killed”, it’s profane in some cases killed retext-profanities let l:pattern = '\v^ *(\d+):(\d+)-(\d+):(\d+) +warning +(.{-}) +(.{-}) +(.{-})$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'end_lnum': l:match[3] + 0, \ 'end_col': l:match[4] - 1, \ 'text': l:match[5] . ' (' . (l:match[7]) . ')', \ 'type': 'W', \}) endfor return l:output endfunction " Define a linter for a specific filetype. Accept flags to adapt to the filetype. " no flags treat input as markdown " --html treat input as HTML " --mdx treat input as MDX " --text treat input as plaintext function! ale#handlers#alex#DefineLinter(filetype, flags) abort call ale#Set('alex_executable', 'alex') call ale#Set('alex_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define(a:filetype, { \ 'name': 'alex', \ 'executable': function('ale#handlers#alex#GetExecutable'), \ 'command': ale#handlers#alex#CreateCommandCallback(a:flags), \ 'output_stream': 'stderr', \ 'callback': 'ale#handlers#alex#Handle', \}) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/atools.vim ================================================ " Author: Leo " Description: Handlers for output expected from atools function! ale#handlers#atools#Handle(buffer, lines) abort " Format: SEVERITY:[TAG]:PATH:LINENUM:MSG " Example: MC:[AL5]:./APKBUILD:12:variable set to empty string: install= let l:pattern = '\([^:]\+\):\([^:]\+\):\([^:]\+\):\(\d\+\):\(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) " We are expected to receive 2 characters, the first character " can be 'S', 'I', 'M' 'T', which are respectively: " Serious (Error) " Important (Error) " Minor (Warning) " Style (Warning) " " The second character can be either 'C' or 'P', which are respectively: " Certain (Error) " Possible (Warning) let l:severity = matchstr(l:match[1], '^.') let l:certainty = matchstr(l:match[1], '.$') let l:type = 'E' " If the tag returns 'Minor' or 'Style' or is 'Possible' " then return a warning if l:severity is# 'M' || l:severity is# 'T' || l:certainty is# 'P' let l:type = 'W' endif call add(l:output, { \ 'lnum': l:match[4] + 0, \ 'text': l:match[5], \ 'type': l:type, \ 'code': matchstr(l:match[2], 'AL[0-9]*'), \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/ccls.vim ================================================ scriptencoding utf-8 " Author: Ye Jingchen " Description: Utilities for ccls function! ale#handlers#ccls#GetProjectRoot(buffer) abort " Try to find ccls configuration files first. let l:config = ale#path#FindNearestFile(a:buffer, '.ccls-root') if empty(l:config) let l:config = ale#path#FindNearestFile(a:buffer, '.ccls') endif if !empty(l:config) return fnamemodify(l:config, ':h') endif " Fall back on default project root detection. return ale#c#FindProjectRoot(a:buffer) endfunction function! ale#handlers#ccls#GetInitOpts(buffer, init_options_var) abort let l:build_dir = ale#c#GetBuildDirectory(a:buffer) let l:init_options = empty(l:build_dir) ? {} : {'compilationDatabaseDirectory': l:build_dir} return extend(l:init_options, ale#Var(a:buffer, a:init_options_var)) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/cppcheck.vim ================================================ " Description: Handle errors for cppcheck. function! ale#handlers#cppcheck#GetCwd(buffer) abort let [l:dir, l:json_path] = ale#c#FindCompileCommands(a:buffer) return !empty(l:dir) ? l:dir : '' endfunction function! ale#handlers#cppcheck#GetBufferPathIncludeOptions(buffer) abort let l:buffer_path_include = '' " Get path to this buffer so we can include it into cppcheck with -I " This could be expanded to get more -I directives from the compile " command in compile_commands.json, if it's found. let l:buffer_path = fnamemodify(bufname(a:buffer), ':p:h') let l:buffer_path_include = ' -I' . ale#Escape(l:buffer_path) return l:buffer_path_include endfunction function! ale#handlers#cppcheck#GetCompileCommandsOptions(buffer) abort " The compile_commands.json doesn't apply to headers and cppheck will " bail out if it cannot find a file matching the filter, below. Skip out " now, for headers. Also, suppress FPs; cppcheck is not meant to " process lone header files. let b:buffer_name = bufname(a:buffer) let b:file_extension = fnamemodify(b:buffer_name, ':e') if b:file_extension is# 'h' || b:file_extension is# 'hpp' return ale#handlers#cppcheck#GetBufferPathIncludeOptions(a:buffer) \ . ' --suppress=unusedStructMember' endif " If the current buffer is modified, using compile_commands.json does no " good, so include the file's directory instead. It's not quite as good as " using --project, but is at least equivalent to running cppcheck on this " file manually from the file's directory. let l:modified = getbufvar(a:buffer, '&modified') if l:modified return '' endif " Search upwards from the file for compile_commands.json. " " If we find it, we'll `cd` to where the compile_commands.json file is, " then use the file to set up import paths, etc. let [l:dir, l:json_path] = ale#c#FindCompileCommands(a:buffer) " By default, cppcheck processes every config in compile_commands.json. " Use --file-filter to limit to just the buffer file. return !empty(l:json_path) \ ? '--project=' . ale#Escape(l:json_path[len(l:dir) + 1: ]) . ' --file-filter=' . ale#Escape(bufname(a:buffer)) \ : '' endfunction function! ale#handlers#cppcheck#HandleCppCheckFormat(buffer, lines) abort " Look for lines like the following. " "test.cpp:974:6: error:inconclusive Array 'n[3]' accessed at index 3, which is out of bounds. [arrayIndexOutOfBounds]\ " n[3]=3; " ^ "" OR if cppcheck doesn't support {column} or {inconclusive:text}: "test.cpp:974:{column}: error:{inconclusive:inconclusive} Array 'n[3]' accessed at index 3, which is out of bounds. [arrayIndexOutOfBounds]\ " n[3]=3; " ^ " "" OR if using the misra addon: "test.c:1:16: style: misra violation (use --rule-texts= to get proper output) [misra-c2012-2.7]\' "void test( int parm ) {} " ^ let l:pattern = '\v(\f+):(\d+):(\d+|\{column\}): (\w+):(\{inconclusive:inconclusive\})? ?(.*) \[(%(\w[-.]?)+)\]\' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) if ale#path#IsBufferPath(a:buffer, l:match[1]) call add(l:output, { \ 'lnum': str2nr(l:match[2]), \ 'col': match(l:match[3],'{column}') >= 0 ? 1 : str2nr(l:match[3]), \ 'type': l:match[4] is# 'error' ? 'E' : 'W', \ 'sub_type': l:match[4] is# 'style' ? 'style' : '', \ 'text': l:match[6], \ 'code': l:match[7] \}) endif endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/cpplint.vim ================================================ " Author: Dawid Kurek https://github.com/dawikur " Description: Handle errors for cpplint. function! ale#handlers#cpplint#HandleCppLintFormat(buffer, lines) abort " Look for lines like the following. " test.cpp:5: Estra space after ( in function call [whitespace/parents] [4] let l:pattern = '^.\{-}:\(\d\+\): *\(.\+\) *\[\(.*/.*\)\] ' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': 0, \ 'text': join(split(l:match[2])), \ 'code': l:match[3], \ 'type': 'W', \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/cspell.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: Define a handler function for cspell's output function! ale#handlers#cspell#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, \ 'cspell', [ \ 'node_modules/.bin/cspell', \ 'node_modules/cspell/bin.js', \ ] \) endfunction function! ale#handlers#cspell#GetCommand(buffer) abort let l:executable = ale#handlers#cspell#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'cspell_options') return ale#node#Executable(a:buffer, l:executable) \ . ' lint --no-color --no-progress --no-summary' \ . ale#Pad(l:options) \ . ' -- stdin' endfunction function! ale#handlers#cspell#Handle(buffer, lines) abort " Look for lines like the following: " " /home/user/repos/ale/README.md:723:48 - Unknown word (stylelint) let l:pattern = '\v^.*:(\d+):(\d+) - (.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3], \ 'type': 'W', \}) endfor return l:output endfunction function! ale#handlers#cspell#DefineLinter(filetype) abort call ale#Set('cspell_executable', 'cspell') call ale#Set('cspell_options', '') call ale#Set('cspell_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#linter#Define(a:filetype, { \ 'name': 'cspell', \ 'executable': function('ale#handlers#cspell#GetExecutable'), \ 'command': function('ale#handlers#cspell#GetCommand'), \ 'callback': 'ale#handlers#cspell#Handle', \}) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/css.vim ================================================ scriptencoding utf-8 " Author: w0rp " Description: Error handling for CSS linters. function! ale#handlers#css#HandleCSSLintFormat(buffer, lines) abort " Matches patterns line the following: " " something.css: line 2, col 1, Error - Expected RBRACE at line 2, col 1. (errors) " something.css: line 2, col 5, Warning - Expected (inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | grid | inline-grid | run-in | ruby | ruby-base | ruby-text | ruby-base-container | ruby-text-container | contents | none | -moz-box | -moz-inline-block | -moz-inline-box | -moz-inline-grid | -moz-inline-stack | -moz-inline-table | -moz-grid | -moz-grid-group | -moz-grid-line | -moz-groupbox | -moz-deck | -moz-popup | -moz-stack | -moz-marker | -webkit-box | -webkit-inline-box | -ms-flexbox | -ms-inline-flexbox | flex | -webkit-flex | inline-flex | -webkit-inline-flex) but found 'wat'. (known-properties) " " These errors can be very massive, so the type will be moved to the front " so you can actually read the error type. let l:pattern = '\v^.*: line (\d+), col (\d+), (Error|Warning) - (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[3] is# 'Warning' ? 'W' : 'E', \ 'text': l:match[4], \} let l:code_match = matchlist(l:match[4], '\v(.+) \(([^(]+)\)$') " Split up the error code and the text if we find one. if !empty(l:code_match) let l:item.text = l:code_match[1] let l:item.code = l:code_match[2] endif call add(l:output, l:item) endfor return l:output endfunction function! ale#handlers#css#HandleStyleLintFormat(buffer, lines) abort let l:exception_pattern = '\v^Error:' for l:line in a:lines[:10] if len(matchlist(l:line, l:exception_pattern)) > 0 return [{ \ 'lnum': 1, \ 'text': 'stylelint exception thrown (type :ALEDetail for more information)', \ 'detail': join(a:lines, "\n"), \}] endif endfor " Matches patterns line the following: " " src/main.css " 108:10 ✖ Unexpected leading zero number-leading-zero " 116:20 ✖ Expected a trailing semicolon declaration-block-trailing-semicolon let l:pattern = '\v^.* (\d+):(\d+) \s+(\S+)\s+ (.*[^ ])\s+([^ ]+)\s*$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[3] is# '✖' ? 'E' : 'W', \ 'text': l:match[4], \ 'code': l:match[5], \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/deno.vim ================================================ " Author: Mohammed Chelouti - https://github.com/motato1 " Arnold Chand " Description: Handler functions for Deno. call ale#Set('deno_executable', 'deno') call ale#Set('deno_unstable', 0) call ale#Set('deno_importMap', 'import_map.json') call ale#Set('deno_lsp_project_root', '') function! ale#handlers#deno#GetExecutable(buffer) abort return ale#Var(a:buffer, 'deno_executable') endfunction " Find project root for Deno's language server. " " Deno projects do not require a project or configuration file at the project root. " This means the root directory has to be guessed, " unless it is explicitly specified by the user. " " The project root is determined by ... " 1. using a user-specified value from deno_lsp_project_root " 2. looking for common top-level files/dirs " 3. using the buffer's directory function! ale#handlers#deno#GetProjectRoot(buffer) abort let l:project_root = ale#Var(a:buffer, 'deno_lsp_project_root') if !empty(l:project_root) return l:project_root endif let l:possible_project_roots = [ \ 'deno.json', \ 'deno.jsonc', \ 'tsconfig.json', \ '.git', \ bufname(a:buffer), \] for l:possible_root in l:possible_project_roots let l:project_root = ale#path#FindNearestFile(a:buffer, l:possible_root) if empty(l:project_root) let l:project_root = ale#path#FindNearestDirectory(a:buffer, l:possible_root) endif if !empty(l:project_root) " dir:p expands to /full/path/to/dir/ whereas " file:p expands to /full/path/to/file (no trailing slash) " Appending '/' ensures that :h:h removes the path's last segment " regardless of whether it is a directory or not. return fnamemodify(l:project_root . '/', ':p:h:h') endif endfor return '' endfunction " Initialization Options for deno, for javascript and typescript function! ale#handlers#deno#GetInitializationOptions(buffer) abort let l:options = { \ 'enable': v:true, \ 'lint': v:true, \ 'unstable': v:false, \ 'importMap': ale#path#FindNearestFile(a:buffer, 'import_map.json'), \ } if ale#Var(a:buffer, 'deno_unstable') let l:options.unstable = v:true endif if ale#Var(a:buffer, 'deno_importMap') isnot# '' let l:options.importMap = ale#path#FindNearestFile(a:buffer, ale#Var(a:buffer, 'deno_importMap')) endif return l:options endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/elixir.vim ================================================ " Author: Matteo Centenaro (bugant) - https://github.com/bugant " Author: Jon Parise " Description: Functions for working with Elixir projects " Find the root directory for an elixir project that uses mix. function! ale#handlers#elixir#FindMixProjectRoot(buffer) abort let l:mix_file = ale#path#FindNearestFile(a:buffer, 'mix.exs') if !empty(l:mix_file) return fnamemodify(l:mix_file, ':p:h') endif return '.' endfunction " Similar to ale#handlers#elixir#FindMixProjectRoot but also continue the " search upward for a potential umbrella project root. If an umbrella root " does not exist, the initial project root will be returned. function! ale#handlers#elixir#FindMixUmbrellaRoot(buffer) abort let l:app_root = ale#handlers#elixir#FindMixProjectRoot(a:buffer) let l:umbrella_root = fnamemodify(l:app_root, ':h:h') if filereadable(l:umbrella_root . '/mix.exs') return l:umbrella_root endif return l:app_root endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/eslint.vim ================================================ " Author: w0rp " Description: Functions for working with eslint, for checking or fixing files. let s:executables = [ \ '.yarn/sdks/eslint/bin/eslint.js', \ 'node_modules/.bin/eslint_d', \ 'node_modules/eslint/bin/eslint.js', \ 'node_modules/.bin/eslint', \] let s:sep = has('win32') ? '\' : '/' call ale#Set('javascript_eslint_options', '') call ale#Set('javascript_eslint_executable', 'eslint') call ale#Set('javascript_eslint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_eslint_suppress_eslintignore', 0) call ale#Set('javascript_eslint_suppress_missing_config', 0) function! ale#handlers#eslint#FindConfig(buffer) abort for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) for l:basename in [ \ '.eslintrc.js', \ '.eslintrc.yaml', \ '.eslintrc.yml', \ '.eslintrc.json', \ '.eslintrc', \] let l:config = ale#path#Simplify(join([l:path, l:basename], s:sep)) if filereadable(l:config) return l:config endif endfor endfor return ale#path#FindNearestFile(a:buffer, 'package.json') endfunction function! ale#handlers#eslint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'javascript_eslint', s:executables) endfunction " Given a buffer, return an appropriate working directory for ESLint. function! ale#handlers#eslint#GetCwd(buffer) abort " ESLint 6 loads plugins/configs/parsers from the project root " By default, the project root is simply the CWD of the running process. " https://github.com/eslint/rfcs/blob/master/designs/2018-simplified-package-loading/README.md " https://github.com/dense-analysis/ale/issues/2787 " " If eslint is installed in a directory which contains the buffer, assume " it is the ESLint project root. Otherwise, use nearest node_modules. " Note: If node_modules not present yet, can't load local deps anyway. let l:executable = ale#path#FindNearestExecutable(a:buffer, s:executables) if !empty(l:executable) let l:modules_index = strridx(l:executable, 'node_modules') let l:modules_root = l:modules_index > -1 ? l:executable[0:l:modules_index - 2] : '' let l:sdks_index = strridx(l:executable, ale#path#Simplify('.yarn/sdks')) let l:sdks_root = l:sdks_index > -1 ? l:executable[0:l:sdks_index - 2] : '' else let l:modules_dir = ale#path#FindNearestDirectory(a:buffer, 'node_modules') let l:modules_root = !empty(l:modules_dir) ? fnamemodify(l:modules_dir, ':h:h') : '' let l:sdks_dir = ale#path#FindNearestDirectory(a:buffer, ale#path#Simplify('.yarn/sdks')) let l:sdks_root = !empty(l:sdks_dir) ? fnamemodify(l:sdks_dir, ':h:h:h') : '' endif return strlen(l:modules_root) > strlen(l:sdks_root) ? l:modules_root : l:sdks_root endfunction function! ale#handlers#eslint#GetCommand(buffer) abort let l:executable = ale#handlers#eslint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'javascript_eslint_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' -f json --stdin --stdin-filename %s' endfunction function! s:AddHintsForTypeScriptParsingErrors(output) abort for l:item in a:output let l:item.text = substitute( \ l:item.text, \ '^\(Parsing error\)', \ '\1 (You may need configure typescript-eslint-parser)', \ '', \) endfor endfunction function! s:CheckForBadConfig(buffer, lines) abort let l:config_error_pattern = '\v^ESLint couldn''t find a configuration file' \ . '|^Cannot read config file' \ . '|^.*Configuration for rule .* is invalid' \ . '|^ImportDeclaration should appear' " Look for a message in the first few lines which indicates that " a configuration file couldn't be found. for l:line in a:lines[:10] let l:match = matchlist(l:line, l:config_error_pattern) if len(l:match) > 0 " Don't show the missing config error if we've disabled it. if ale#Var(a:buffer, 'javascript_eslint_suppress_missing_config') \&& l:match[0] is# 'ESLint couldn''t find a configuration file' return 0 endif return 1 endif endfor return 0 endfunction function! s:parseJSON(buffer, lines) abort let l:parsed = [] for l:line in a:lines try let l:parsed = extend(l:parsed, json_decode(l:line)) catch endtry endfor if type(l:parsed) != v:t_list || empty(l:parsed) return [] endif let l:errors = l:parsed[0]['messages'] if empty(l:errors) return [] endif let l:output = [] for l:error in l:errors let l:obj = ({ \ 'lnum': get(l:error, 'line', 0), \ 'text': get(l:error, 'message', ''), \ 'type': 'E', \}) if get(l:error, 'severity', 0) is# 1 let l:obj.type = 'W' endif if has_key(l:error, 'ruleId') let l:code = l:error['ruleId'] " Sometimes ESLint returns null here if !empty(l:code) let l:obj.code = l:code endif endif if has_key(l:error, 'column') let l:obj.col = l:error['column'] endif if has_key(l:error, 'endColumn') let l:obj.end_col = l:error['endColumn'] - 1 endif if has_key(l:error, 'endLine') let l:obj.end_lnum = l:error['endLine'] endif call add(l:output, l:obj) endfor return l:output endfunction let s:col_end_patterns = [ \ '\vParsing error: Unexpected token (.+) ?', \ '\v''(.+)'' is not defined.', \ '\v%(Unexpected|Redundant use of) [''`](.+)[''`]', \ '\vUnexpected (console) statement', \] function! s:parseLines(buffer, lines) abort " Matches patterns line the following: " " /path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle] " /path/to/some-filename.js:56:41: Missing semicolon. [Error/semi] let l:pattern = '^.*:\(\d\+\):\(\d\+\): \(.\+\) \[\(.\+\)\]$' " This second pattern matches lines like the following: " " /path/to/some-filename.js:13:3: Parsing error: Unexpected token let l:parsing_pattern = '^.*:\(\d\+\):\(\d\+\): \(.\+\)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, [l:pattern, l:parsing_pattern]) let l:text = l:match[3] let l:obj = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:text, \ 'type': 'E', \} " Take the error type from the output if available. let l:split_code = split(l:match[4], '/') if get(l:split_code, 0, '') is# 'Warning' let l:obj.type = 'W' endif " The code can be something like 'Error/foo/bar', or just 'Error' if !empty(get(l:split_code, 1)) let l:obj.code = join(l:split_code[1:], '/') endif for l:col_match in ale#util#GetMatches(l:text, s:col_end_patterns) let l:obj.end_col = l:obj.col + len(l:col_match[1]) - 1 endfor call add(l:output, l:obj) endfor return l:output endfunction function! s:FilterResult(buffer, obj) abort if ale#Var(a:buffer, 'javascript_eslint_suppress_eslintignore') if a:obj.text =~# '^File ignored' return 0 endif endif if has_key(a:obj, 'code') && a:obj.code is# 'no-trailing-spaces' \&& !ale#Var(a:buffer, 'warn_about_trailing_whitespace') return 0 endif return 1 endfunction function! s:HandleESLintOutput(buffer, lines, type) abort if s:CheckForBadConfig(a:buffer, a:lines) return [{ \ 'lnum': 1, \ 'text': 'eslint configuration error (type :ALEDetail for more information)', \ 'detail': join(a:lines, "\n"), \}] endif if a:lines == ['Could not connect'] return [{ \ 'lnum': 1, \ 'text': 'Could not connect to eslint_d. Try updating eslint_d or killing it.', \}] endif if a:type is# 'json' let l:output = s:parseJSON(a:buffer, a:lines) else let l:output = s:parseLines(a:buffer, a:lines) endif call filter(l:output, {idx, obj -> s:FilterResult(a:buffer, obj)}) if expand('#' . a:buffer . ':t') =~? '\.tsx\?$' call s:AddHintsForTypeScriptParsingErrors(l:output) endif return l:output endfunction function! ale#handlers#eslint#HandleJSON(buffer, lines) abort return s:HandleESLintOutput(a:buffer, a:lines, 'json') endfunction function! ale#handlers#eslint#Handle(buffer, lines) abort return s:HandleESLintOutput(a:buffer, a:lines, 'lines') endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/fecs.vim ================================================ " Author: harttle " Description: fecs http://fecs.baidu.com/ call ale#Set('javascript_fecs_executable', 'fecs') call ale#Set('javascript_fecs_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#handlers#fecs#GetCommand(buffer) abort return '%e check --colors=false --rule=true %t' endfunction function! ale#handlers#fecs#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'javascript_fecs', [ \ 'node_modules/.bin/fecs', \ 'node_modules/fecs/bin/fecs', \]) endfunction function! ale#handlers#fecs#Handle(buffer, lines) abort " Matches patterns looking like the following " " fecs WARN → line 20, col 25: Unexpected console statement. (no-console) " fecs ERROR → line 24, col 36: Missing radix parameter. (radix) " let l:pattern = '\v^.*(WARN|ERROR)\s+→\s+line (\d+),\s+col\s+(\d+):\s+(.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:obj = { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[4] \} let l:code_match = matchlist(l:match[4], '\v^(.{-})\s*\((.+)\)$') if !empty(l:code_match) let l:obj.code = l:code_match[2] let l:obj.text = l:code_match[1] endif if l:match[1] is# 'WARN' let l:obj.type = 'W' elseif l:match[1] is# 'ERROR' let l:obj.type = 'E' endif call add(l:output, l:obj) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/flawfinder.vim ================================================ scriptencoding utf-8 " Author: Christian Gibbons " Description: This file defines a handler function that should work for the " flawfinder format with the -CDQS flags. " Swiped this function from the GCC handler. Not sure if needed, but doesn't " hurt to have it. function! s:RemoveUnicodeQuotes(text) abort let l:text = a:text let l:text = substitute(l:text, '[`´‘’]', '''', 'g') let l:text = substitute(l:text, '\v\\u2018([^\\]+)\\u2019', '''\1''', 'g') let l:text = substitute(l:text, '[“”]', '"', 'g') return l:text endfunction function! ale#handlers#flawfinder#HandleFlawfinderFormat(buffer, lines) abort " Look for lines like the following. " " :12:4: [2] (buffer) char:Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. " :31:4: [1] (buffer) strncpy:Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+)?:? ( \[[0-5]\] [^:]+):(.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) " Use severity level to determine if it should be considered a warning " or error. let l:severity = str2nr(matchstr(split(l:match[4])[0], '[0-5]')) let l:item = { \ 'lnum': str2nr(l:match[2]), \ 'col': str2nr(l:match[3]), \ 'type': (l:severity < ale#Var(a:buffer, 'c_flawfinder_error_severity')) \ ? 'W' : 'E', \ 'text': s:RemoveUnicodeQuotes(join(split(l:match[4])[1:]) . ': ' . l:match[5]), \} " If the filename is something like , or -, then " this is an error for the file we checked. if l:match[1] isnot# '-' && l:match[1][0] isnot# '<' let l:item['filename'] = l:match[1] endif call add(l:output, l:item) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/gawk.vim ================================================ " Author: Anthony DeDominic " Description: Handle output from gawk's --lint option function! ale#handlers#gawk#HandleGawkFormat(buffer, lines) abort " Look for lines like the following: " gawk: /tmp/v0fddXz/1/something.awk:1: ^ invalid char ''' in expression let l:pattern = '^.\{-}:\(\d\+\):\s\+\(warning:\|\^\)\s*\(.*\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:ecode = 'E' if l:match[2] is? 'warning:' let l:ecode = 'W' endif call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': 0, \ 'text': l:match[3], \ 'code': 0, \ 'type': l:ecode, \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/gcc.vim ================================================ scriptencoding utf-8 " Author: w0rp " Description: This file defines a handler function which ought to work for " any program which outputs errors in the format that GCC uses. let s:pragma_error = '#pragma once in main file' " Look for lines like the following. " " :8:5: warning: conversion lacks type at end of format [-Wformat=] " :10:27: error: invalid operands to binary - (have ‘int’ and ‘char *’) " -:189:7: note: $/${} is unnecessary on arithmetic variables. [SC2004] let s:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+)?:?(\d+)?:? ([^:]+): (.+)$' let s:inline_pattern = '\v inlined from .* at \:(\d+):(\d+):$' function! s:IsHeaderFile(filename) abort return a:filename =~? '\v\.(h|hpp)$' endfunction function! s:RemoveUnicodeQuotes(text) abort let l:text = a:text let l:text = substitute(l:text, '[`´‘’]', '''', 'g') let l:text = substitute(l:text, '\v\\u2018([^\\]+)\\u2019', '''\1''', 'g') let l:text = substitute(l:text, '[“”]', '"', 'g') return l:text endfunction function! s:ParseInlinedFunctionProblems(buffer, lines) abort let l:output = [] let l:pos_match = [] for l:line in a:lines let l:match = matchlist(l:line, s:pattern) if !empty(l:match) && !empty(l:pos_match) call add(l:output, { \ 'lnum': str2nr(l:pos_match[1]), \ 'col': str2nr(l:pos_match[2]), \ 'type': (l:match[4] is# 'error' || l:match[4] is# 'fatal error') ? 'E' : 'W', \ 'text': s:RemoveUnicodeQuotes(l:match[5]), \}) endif let l:pos_match = matchlist(l:line, s:inline_pattern) endfor return l:output endfunction " Report problems inside of header files just for gcc and clang function! s:ParseProblemsInHeaders(buffer, lines) abort let l:output = [] let l:include_item = {} for l:line in a:lines[: -2] let l:include_match = matchlist(l:line, '\v^In file included from') if !empty(l:include_item) let l:pattern_match = matchlist(l:line, s:pattern) if !empty(l:pattern_match) && l:pattern_match[1] is# '' if has_key(l:include_item, 'lnum') call add(l:output, l:include_item) endif let l:include_item = {} continue endif let l:include_item.detail .= "\n" . l:line endif if !empty(l:include_match) if empty(l:include_item) let l:include_item = { \ 'text': 'Error found in header. See :ALEDetail', \ 'detail': l:line, \} endif endif if !empty(l:include_item) let l:stdin_match = matchlist(l:line, '\vfrom \:(\d+):(\d*):?$') if !empty(l:stdin_match) let l:include_item.lnum = str2nr(l:stdin_match[1]) if str2nr(l:stdin_match[2]) let l:include_item.col = str2nr(l:stdin_match[2]) endif endif endif endfor if !empty(l:include_item) && has_key(l:include_item, 'lnum') call add(l:output, l:include_item) endif return l:output endfunction function! ale#handlers#gcc#HandleGCCFormat(buffer, lines) abort let l:output = [] for l:match in ale#util#GetMatches(a:lines, s:pattern) " Filter out the pragma errors if s:IsHeaderFile(bufname(bufnr(''))) \&& l:match[5][:len(s:pragma_error) - 1] is# s:pragma_error continue endif " If the 'error type' is a note, make it detail related to " the previous error parsed in output if l:match[4] is# 'note' if !empty(l:output) if !has_key(l:output[-1], 'detail') let l:output[-1].detail = l:output[-1].text " handle macro expansion errors/notes if l:match[5] =~? '^in expansion of macro ‘\w*\w’$' " if the macro expansion is in the file we're in, add " the lnum and col keys to the previous error if l:match[1] is# '' \ && !has_key(l:output[-1], 'col') let l:output[-1].lnum = str2nr(l:match[2]) let l:output[-1].col = str2nr(l:match[3]) else " the error is not in the current file, and since " macro expansion errors don't show the full path to " the error from the current file, we have to just " give out a generic error message let l:output[-1].text = 'Error found in macro expansion. See :ALEDetail' endif endif endif let l:output[-1].detail = l:output[-1].detail . "\n" \ . s:RemoveUnicodeQuotes(l:match[0]) endif continue endif let l:item = { \ 'lnum': str2nr(l:match[2]), \ 'type': (l:match[4] is# 'error' || l:match[4] is# 'fatal error') ? 'E' : 'W', \ 'text': s:RemoveUnicodeQuotes(l:match[5]), \} if !empty(l:match[3]) let l:item.col = str2nr(l:match[3]) endif " If the filename is something like , or -, then " this is an error for the file we checked. if l:match[1] isnot# '-' && l:match[1][0] isnot# '<' let l:item['filename'] = l:match[1] endif call add(l:output, l:item) endfor return l:output endfunction " Handle problems with the GCC format, but report problems inside of headers. function! ale#handlers#gcc#HandleGCCFormatWithIncludes(buffer, lines) abort let l:output = ale#handlers#gcc#HandleGCCFormat(a:buffer, a:lines) call extend(l:output, s:ParseInlinedFunctionProblems(a:buffer, a:lines)) call extend(l:output, s:ParseProblemsInHeaders(a:buffer, a:lines)) return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/go.vim ================================================ " Author: neersighted " Description: go vet for Go files " " Author: John Eikenberry " Description: updated to work with go1.10 " " Author: Ben Paxton " Description: moved to generic Golang file from govet " " Author: mostfunkyduck " Description: updated to work with go 1.14 function! ale#handlers#go#Handler(buffer, lines) abort let l:pattern = '\v^%(vet: )?([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?:? ?(.+)$' let l:output = [] let l:dir = expand('#' . a:buffer . ':p:h') for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]), \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:match[4], \ 'type': 'E', \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/haskell.vim ================================================ " Author: w0rp " Description: Error handling for the format GHC outputs. " function! ale#handlers#haskell#GetStackExecutable(bufnr) abort if ale#path#FindNearestFile(a:bufnr, 'stack.yaml') isnot# '' return 'stack' endif " if there is no stack.yaml file, we don't use stack even if it exists, " so we return '', because executable('') apparently always fails return '' endfunction " Remember the directory used for temporary files for Vim. let s:temp_dir = fnamemodify(ale#util#Tempname(), ':h') " Build part of a regular expression for matching ALE temporary filenames. let s:temp_regex_prefix = \ '\M' \ . substitute(s:temp_dir, '\\', '\\\\', 'g') \ . '\.\{-}' function! s:PanicOutput(lines) abort return [{ \ 'lnum': 1, \ 'col': 1, \ 'text': 'ghc panic!', \ 'type': 'E', \ 'detail' : join(a:lines, "\n"), \}] endfunction function! ale#handlers#haskell#HandleGHCFormat(buffer, lines) abort " Look for lines like the following. " "Appoint/Lib.hs:8:1: warning: "Appoint/Lib.hs:8:1: let l:basename = expand('#' . a:buffer . ':t') " Build a complete regular expression for replacing temporary filenames " in Haskell error messages with the basename for this file. let l:temp_filename_regex = s:temp_regex_prefix . l:basename let l:pattern = '\v^\s*([a-zA-Z]?:?[^:]+):(\d+):(\d+):(.*)?$' let l:output = [] let l:corrected_lines = [] " If ghc panic error, put the whole message in details and exit. let l:panic_position = match(a:lines,'ghc: panic!') let l:panic_end = match(a:lines,'Please report this as a GHC bug:') if l:panic_position >= 0 return s:PanicOutput(a:lines[l:panic_position : l:panic_end]) endif " Group the lines into smaller lists. for l:line in a:lines if len(matchlist(l:line, l:pattern)) > 0 call add(l:corrected_lines, [l:line]) elseif l:line is# '' call add(l:corrected_lines, [l:line]) elseif len(l:corrected_lines) > 0 call add(l:corrected_lines[-1], l:line) endif endfor for l:line_list in l:corrected_lines " Join the smaller lists into one large line to parse. let l:line = l:line_list[0] for l:extra_line in l:line_list[1:] let l:line .= substitute(l:extra_line, '\v^\s+', ' ', '') endfor let l:match = matchlist(l:line, l:pattern) if len(l:match) == 0 continue endif if !ale#path#IsBufferPath(a:buffer, l:match[1]) continue endif let l:errors = matchlist(l:match[4], '\v([wW]arning|[eE]rror): ?(.*)') if len(l:errors) > 0 let l:ghc_type = l:errors[1] let l:text = l:errors[2] else let l:ghc_type = '' let l:text = l:match[4][:0] is# ' ' ? l:match[4][1:] : l:match[4] endif if l:ghc_type is? 'Warning' let l:type = 'W' else let l:type = 'E' endif " Replace temporary filenames in problem messages with the basename let l:text = substitute(l:text, l:temp_filename_regex, l:basename, 'g') let l:item = { \ 'lnum': l:match[2] + 0, \ 'col': l:match[3] + 0, \ 'text': l:text, \ 'type': l:type, \} " Include extra lines as details if they are there. if len(l:line_list) > 1 let l:item.detail = join(l:line_list[1:], "\n") endif call add(l:output, l:item) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/haskell_stack.vim ================================================ function! ale#handlers#haskell_stack#EscapeExecutable(executable, stack_exec) abort let l:exec_args = a:executable =~? 'stack$' \ ? ' exec ' . ale#Escape(a:stack_exec) . ' --' \ : '' return ale#Escape(a:executable) . l:exec_args endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/hdl_checker.vim ================================================ " Author: suoto " Description: Adds support for HDL Code Checker, which wraps vcom/vlog, ghdl " or xvhdl. More info on https://github.com/suoto/hdl_checker call ale#Set('hdl_checker_executable', 'hdl_checker') call ale#Set('hdl_checker_config_file', has('unix') ? '.hdl_checker.config' : '_hdl_checker.config') call ale#Set('hdl_checker_options', '') " Use this as a function so we can mock it on testing. Need to do this because " test files are inside /testplugin (which refers to the ale repo), which will " always have a .git folder function! ale#handlers#hdl_checker#IsDotGit(path) abort return ! empty(a:path) && isdirectory(a:path) endfunction " Should return (in order of preference) " 1. Nearest config file " 2. Nearest .git directory " 3. The current path function! ale#handlers#hdl_checker#GetProjectRoot(buffer) abort let l:project_root = ale#path#FindNearestFile( \ a:buffer, \ ale#Var(a:buffer, 'hdl_checker_config_file')) if !empty(l:project_root) return fnamemodify(l:project_root, ':h') endif " Search for .git to use as root let l:project_root = ale#path#FindNearestDirectory(a:buffer, '.git') if ale#handlers#hdl_checker#IsDotGit(l:project_root) return fnamemodify(l:project_root, ':h:h') endif return '' endfunction function! ale#handlers#hdl_checker#GetExecutable(buffer) abort return ale#Var(a:buffer, 'hdl_checker_executable') endfunction function! ale#handlers#hdl_checker#GetCommand(buffer) abort let l:command = ale#Escape(ale#handlers#hdl_checker#GetExecutable(a:buffer)) . ' --lsp' " Add extra parameters only if config has been set let l:options = ale#Var(a:buffer, 'hdl_checker_options') if ! empty(l:options) let l:command = l:command . ' ' . l:options endif return l:command endfunction " To allow testing function! ale#handlers#hdl_checker#GetInitOptions(buffer) abort return {'project_file': ale#Var(a:buffer, 'hdl_checker_config_file')} endfunction " Define the hdl_checker linter for a given filetype. function! ale#handlers#hdl_checker#DefineLinter(filetype) abort call ale#linter#Define(a:filetype, { \ 'name': 'hdl-checker', \ 'lsp': 'stdio', \ 'language': a:filetype, \ 'executable': function('ale#handlers#hdl_checker#GetExecutable'), \ 'command': function('ale#handlers#hdl_checker#GetCommand'), \ 'project_root': function('ale#handlers#hdl_checker#GetProjectRoot'), \ 'initialization_options': function('ale#handlers#hdl_checker#GetInitOptions'), \ }) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/hlint.vim ================================================ call ale#Set('haskell_hlint_executable', 'hlint') call ale#Set('haskell_hlint_options', get(g:, 'hlint_options', '')) function! ale#handlers#hlint#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_hlint_executable') return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hlint') endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/inko.vim ================================================ " Author: Yorick Peterse " Description: output handlers for the Inko JSON format function! ale#handlers#inko#GetType(severity) abort if a:severity is? 'warning' return 'W' endif return 'E' endfunction function! ale#handlers#inko#Handle(buffer, lines) abort try let l:errors = json_decode(join(a:lines, '')) catch return [] endtry if empty(l:errors) return [] endif let l:output = [] let l:dir = expand('#' . a:buffer . ':p:h') for l:error in l:errors call add(l:output, { \ 'filename': ale#path#GetAbsPath(l:dir, l:error['file']), \ 'lnum': l:error['line'], \ 'col': l:error['column'], \ 'text': l:error['message'], \ 'type': ale#handlers#inko#GetType(l:error['level']), \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/ktlint.vim ================================================ " Author: Michael Phillips " Description: Handler functions for ktlint. call ale#Set('kotlin_ktlint_executable', 'ktlint') call ale#Set('kotlin_ktlint_rulesets', []) call ale#Set('kotlin_ktlint_options', '') function! ale#handlers#ktlint#GetCommand(buffer) abort let l:executable = ale#Var(a:buffer, 'kotlin_ktlint_executable') let l:options = ale#Var(a:buffer, 'kotlin_ktlint_options') let l:rulesets = ale#handlers#ktlint#GetRulesets(a:buffer) return ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) \ . (empty(l:rulesets) ? '' : ' ' . l:rulesets) \ . ' --stdin' endfunction function! ale#handlers#ktlint#GetRulesets(buffer) abort let l:rulesets = map(ale#Var(a:buffer, 'kotlin_ktlint_rulesets'), '''--ruleset '' . v:val') return join(l:rulesets, ' ') endfunction function! ale#handlers#ktlint#Handle(buffer, lines) abort let l:message_pattern = '^\(.*\):\([0-9]\+\):\([0-9]\+\):\s\+\(.*\)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:message_pattern) let l:line = l:match[2] + 0 let l:column = l:match[3] + 0 let l:text = l:match[4] let l:type = l:text =~? 'not a valid kotlin file' ? 'E' : 'W' call add(l:output, { \ 'lnum': l:line, \ 'col': l:column, \ 'text': l:text, \ 'type': l:type \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/languagetool.vim ================================================ " Author: Vincent (wahrwolf [at] wolfpit.net) " Description: languagetool for markdown files " call ale#Set('languagetool_executable', 'languagetool') call ale#Set('languagetool_options', '--autoDetect') function! ale#handlers#languagetool#GetExecutable(buffer) abort return ale#Var(a:buffer, 'languagetool_executable') endfunction function! ale#handlers#languagetool#GetCommand(buffer) abort let l:executable = ale#handlers#languagetool#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'languagetool_options') return ale#Escape(l:executable) \ . (empty(l:options) ? '' : ' ' . l:options) . ' %s' endfunction function! ale#handlers#languagetool#HandleOutput(buffer, lines) abort " Match lines like: " 1.) Line 5, column 1, Rule ID: let l:head_pattern = '^\v.+.\) Line (\d+), column (\d+), Rule ID. (.+)$' let l:head_matches = ale#util#GetMatches(a:lines, l:head_pattern) " Match lines like: " Message: Did you forget a comma after a conjunctive/linking adverb? let l:message_pattern = '^\vMessage. (.+)$' let l:message_matches = ale#util#GetMatches(a:lines, l:message_pattern) " Match lines like: " ^^^^^ " let l:markers_pattern = '^\v *(\^+) *$' let l:markers_matches = ale#util#GetMatches(a:lines, l:markers_pattern) let l:output = [] " Okay tbh I was to lazy to figure out a smarter solution here " We just check that the arrays are same sized and merge everything " together let l:i = 0 while l:i < len(l:head_matches) \ && ( \ (len(l:head_matches) == len(l:markers_matches)) \ && (len(l:head_matches) == len(l:message_matches)) \ ) let l:item = { \ 'lnum' : str2nr(l:head_matches[l:i][1]), \ 'col' : str2nr(l:head_matches[l:i][2]), \ 'end_col' : str2nr(l:head_matches[l:i][2]) + len(l:markers_matches[l:i][1])-1, \ 'type' : 'W', \ 'code' : l:head_matches[l:i][3], \ 'text' : l:message_matches[l:i][1] \} call add(l:output, l:item) let l:i+=1 endwhile return l:output endfunction " Define the languagetool linter for a given filetype. " TODO: " - Add language detection settings based on user env (for mothertongue) " - Add fixer " - Add config options for rules function! ale#handlers#languagetool#DefineLinter(filetype) abort call ale#linter#Define(a:filetype, { \ 'name': 'languagetool', \ 'executable': function('ale#handlers#languagetool#GetExecutable'), \ 'command': function('ale#handlers#languagetool#GetCommand'), \ 'output_stream': 'stdout', \ 'callback': 'ale#handlers#languagetool#HandleOutput', \ 'lint_file': 1, \}) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/markdownlint.vim ================================================ " Author: Ty-Lucas Kelley " Description: Adds support for markdownlint function! ale#handlers#markdownlint#Handle(buffer, lines) abort let l:pattern=': \?\(\d\+\)\(:\(\d\+\)\?\)\? \(MD\d\{3}/[A-Za-z0-9-/]\+\) \(.*\)$' let l:output=[] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:result = ({ \ 'lnum': l:match[1] + 0, \ 'code': l:match[4], \ 'text': l:match[5], \ 'type': 'W', \}) if len(l:match[3]) > 0 let l:result.col = (l:match[3] + 0) endif call add(l:output, l:result) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/naga.vim ================================================ " Author: rhysd " Description: Handle errors for naga-cli. function! ale#handlers#naga#Handle(buffer, lines) abort let l:errors = [] let l:current_error = v:null for l:line in a:lines if l:line =~# '^error: ' let l:text = l:line[7:] let l:current_error = { 'text': l:text, 'type': 'E' } continue endif if l:current_error isnot v:null let l:matches = matchlist(l:line, '\v:(\d+):(\d+)$') if !empty(l:matches) let l:current_error.lnum = str2nr(l:matches[1]) let l:current_error.col = str2nr(l:matches[2]) call add(l:errors, l:current_error) let l:current_error = v:null continue endif endif endfor return l:errors endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/ocamllsp.vim ================================================ " Author: Risto Stevcev " Description: Handlers for the official OCaml language server let s:language_id_of_filetype = { \ 'menhir': 'ocaml.menhir', \ 'ocaml': 'ocaml', \ 'ocamlinterface': 'ocaml.interface', \ 'ocamllex': 'ocaml.lex' \} function! ale#handlers#ocamllsp#GetExecutable(buffer) abort return 'ocamllsp' endfunction function! ale#handlers#ocamllsp#GetCommand(buffer) abort let l:executable = ale#handlers#ocamllsp#GetExecutable(a:buffer) let l:ocaml_ocamllsp_use_opam = ale#Var(a:buffer, 'ocaml_ocamllsp_use_opam') return l:ocaml_ocamllsp_use_opam ? 'opam config exec -- ' . l:executable : l:executable endfunction function! ale#handlers#ocamllsp#GetLanguage(buffer) abort return s:language_id_of_filetype[getbufvar(a:buffer, '&filetype')] endfunction function! ale#handlers#ocamllsp#GetProjectRoot(buffer) abort let l:dune_project_file = ale#path#FindNearestFile(a:buffer, 'dune-project') return !empty(l:dune_project_file) ? fnamemodify(l:dune_project_file, ':h') : '' endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/ols.vim ================================================ " Author: Michael Jungo " Description: Handlers for the OCaml language server function! ale#handlers#ols#GetExecutable(buffer) abort let l:ols_setting = ale#handlers#ols#GetLanguage(a:buffer) . '_ols' return ale#path#FindExecutable(a:buffer, l:ols_setting, [ \ 'node_modules/.bin/ocaml-language-server', \]) endfunction function! ale#handlers#ols#GetCommand(buffer) abort let l:executable = ale#handlers#ols#GetExecutable(a:buffer) return ale#node#Executable(a:buffer, l:executable) . ' --stdio' endfunction function! ale#handlers#ols#GetLanguage(buffer) abort return getbufvar(a:buffer, '&filetype') endfunction function! ale#handlers#ols#GetProjectRoot(buffer) abort let l:merlin_file = ale#path#FindNearestFile(a:buffer, '.merlin') return !empty(l:merlin_file) ? fnamemodify(l:merlin_file, ':h') : '' endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/openscad.vim ================================================ scriptencoding utf-8LE " Description: This file defines a handler function for linting OpenSCAD files " with SCA2D function! ale#handlers#openscad#SCA2D_callback(buffer, lines) abort " Example output:: " foo.scad:3:1: W2001: Variable `unused` overwritten within scope. " foo.scad:1:1: F0001: Cannot read file due to syntax error: " - No terminal matches '}' in the current parser context, at line 1 col 36 let l:filename_re = '^\([^:]*\):' let l:linenum_re = '\([0-9]*\):' let l:colnum_re = '\([0-9]*\):' let l:err_id = '\([IWEFU][0-9]\+\):' let l:err_msg = '\(.*\)' let l:pattern = filename_re . \ linenum_re . \ colnum_re . \ ' ' . \ err_id . \ ' ' . \ err_msg let l:result = [] let l:idx = 0 for l:line in a:lines let l:matches = matchlist(line, pattern) if len(matches) > 0 " option: Info, Warning, Error, Fatal, Unknown if index(['I', 'W'], matches[4][0]) >= 0 let l:type = 'W' else let l:type = 'E' endif let l:lnum = matches[2] let l:col = matches[3] let l:text = matches[5] " Better locations for some syntax errors if matches[4][0] is# 'F' let l:syntax_error_re = '^\(.*\), at line \([0-9]\+\) col \([0-9]\+\)$' let l:next_line = a:lines[idx+1] let l:syn_err_matches = matchlist(l:next_line, l:syntax_error_re) if len(syn_err_matches) > 0 let l:text = l:text . l:syn_err_matches[1] let l:lnum = l:syn_err_matches[2] let l:col = l:syn_err_matches[3] else let l:text = l:next_line endif endif let l:element = { \ 'lnum': str2nr(l:lnum), \ 'col': str2nr(l:col), \ 'text': l:text, \ 'detail': l:matches[4] . ': ' . l:text, \ 'filename': fnamemodify(matches[1], ':p'), \ 'type': l:type \ } call add(l:result, l:element) endif let l:idx += 1 endfor return result endfun ================================================ FILE: bundle/ale/autoload/ale/handlers/pony.vim ================================================ scriptencoding utf-8 " Description: This file defines a handler function which ought to work for " any program which outputs errors in the format that ponyc uses. function! s:RemoveUnicodeQuotes(text) abort let l:text = a:text let l:text = substitute(l:text, '[`´‘’]', '''', 'g') let l:text = substitute(l:text, '\v\\u2018([^\\]+)\\u2019', '''\1''', 'g') let l:text = substitute(l:text, '[“”]', '"', 'g') return l:text endfunction function! ale#handlers#pony#HandlePonycFormat(buffer, lines) abort " Look for lines like the following. " /home/code/pony/classes/Wombat.pony:22:30: can't lookup private fields from outside the type let l:pattern = '\v^([^:]+):(\d+):(\d+)?:? (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'filename': l:match[1], \ 'lnum': str2nr(l:match[2]), \ 'col': str2nr(l:match[3]), \ 'type': 'E', \ 'text': s:RemoveUnicodeQuotes(l:match[4]), \} call add(l:output, l:item) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/redpen.vim ================================================ " Author: rhysd https://rhysd.github.io " Description: Redpen, a proofreading tool (http://redpen.cc) function! ale#handlers#redpen#HandleRedpenOutput(buffer, lines) abort " Only one file was passed to redpen. So response array has only one " element. let l:res = get(ale#util#FuzzyJSONDecode(a:lines, []), 0, {}) let l:output = [] for l:err in get(l:res, 'errors', []) let l:item = { \ 'text': l:err.message, \ 'type': 'W', \ 'code': l:err.validator, \} if has_key(l:err, 'startPosition') let l:item.lnum = l:err.startPosition.lineNum let l:item.col = l:err.startPosition.offset + 1 if has_key(l:err, 'endPosition') let l:item.end_lnum = l:err.endPosition.lineNum let l:item.end_col = l:err.endPosition.offset endif else " Fallback to a whole sentence region when a region is not " specified by the error. let l:item.lnum = l:err.lineNum let l:item.col = l:err.sentenceStartColumnNum + 1 endif " Adjust column number for multibyte string let l:line = getline(l:item.lnum) if l:line is# '' let l:line = l:err.sentence endif let l:line = split(l:line, '\zs') if l:item.col >= 2 let l:col = 0 for l:strlen in map(l:line[0:(l:item.col - 2)], 'strlen(v:val)') let l:col = l:col + l:strlen endfor let l:item.col = l:col + 1 endif if has_key(l:item, 'end_col') let l:col = 0 for l:strlen in map(l:line[0:(l:item.end_col - 1)], 'strlen(v:val)') let l:col = l:col + l:strlen endfor let l:item.end_col = l:col endif call add(l:output, l:item) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/ruby.vim ================================================ " Author: Brandon Roehl - https://github.com/BrandonRoehl, Matthias Guenther https://wikimatze.de " " Description: This file implements handlers specific to Ruby. function! s:HandleSyntaxError(buffer, lines) abort " Matches patterns line the following: " " test.rb:3: warning: parentheses after method name is interpreted as an argument list, not a decomposed argument " test.rb:8: syntax error, unexpected keyword_end, expecting end-of-input let l:pattern = '\v^.+:(\d+): (warning: )?(.+)$' let l:column = '\v^(\s+)\^$' let l:output = [] for l:line in a:lines let l:match = matchlist(l:line, l:pattern) if len(l:match) == 0 let l:match = matchlist(l:line, l:column) if len(l:match) != 0 let l:output[len(l:output) - 1]['col'] = len(l:match[1]) endif else call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': 0, \ 'text': l:match[2] . l:match[3], \ 'type': empty(l:match[2]) ? 'E' : 'W', \}) endif endfor return l:output endfunction function! ale#handlers#ruby#HandleSyntaxErrors(buffer, lines) abort return s:HandleSyntaxError(a:buffer, a:lines) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/rust.vim ================================================ " Author: Daniel Schemala , " w0rp " " Description: This file implements handlers specific to Rust. if !exists('g:ale_rust_ignore_error_codes') let g:ale_rust_ignore_error_codes = [] endif if !exists('g:ale_rust_ignore_secondary_spans') let g:ale_rust_ignore_secondary_spans = 0 endif function! s:FindSpan(buffer, span) abort if ale#path#IsBufferPath(a:buffer, a:span.file_name) || a:span.file_name is# '' return a:span endif " Search inside the expansion of an error, as the problem for this buffer " could lie inside a nested object. if !empty(get(a:span, 'expansion', v:null)) return s:FindSpan(a:buffer, a:span.expansion.span) endif return {} endfunction function! ale#handlers#rust#HandleRustErrors(buffer, lines) abort let l:output = [] for l:errorline in a:lines " ignore everything that is not JSON if l:errorline !~# '^{' continue endif let l:error = json_decode(l:errorline) if has_key(l:error, 'message') && type(l:error.message) is v:t_dict let l:error = l:error.message endif if !has_key(l:error, 'code') continue endif if !empty(l:error.code) && index(g:ale_rust_ignore_error_codes, l:error.code.code) > -1 continue endif for l:root_span in l:error.spans let l:span = s:FindSpan(a:buffer, l:root_span) if ale#Var(a:buffer, 'rust_ignore_secondary_spans') && !get(l:span, 'is_primary', 1) continue endif if !empty(l:span) let l:output_line = { \ 'lnum': l:span.line_start, \ 'end_lnum': l:span.line_end, \ 'col': l:span.column_start, \ 'end_col': l:span.column_end-1, \ 'text': empty(l:span.label) ? l:error.message : printf('%s: %s', l:error.message, l:span.label), \ 'type': toupper(l:error.level[0]), \} if has_key(l:error, 'rendered') && !empty(l:error.rendered) let l:output_line.detail = l:error.rendered endif call add(l:output, l:output_line) endif endfor endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/scala.vim ================================================ " Author: Nils Leuzinger - https://github.com/PawkyPenguin " Description: Scala linting handlers for scalac-like compilers. function! ale#handlers#scala#HandleScalacLintFormat(buffer, lines) abort " Matches patterns line the following: " " /var/folders/5q/20rgxx3x1s34g3m14n5bq0x80000gn/T/vv6pSsy/0:26: error: expected class or object definition let l:pattern = '^.\+:\(\d\+\): \(\w\+\): \(.\+\)' let l:output = [] let l:ln = 0 for l:line in a:lines let l:ln = l:ln + 1 let l:match = matchlist(l:line, l:pattern) if len(l:match) == 0 continue endif let l:text = l:match[3] let l:type = l:match[2] is# 'error' ? 'E' : 'W' let l:col = 0 if l:ln + 1 < len(a:lines) let l:col = stridx(a:lines[l:ln + 1], '^') endif call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:col + 1, \ 'text': l:text, \ 'type': l:type, \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/sh.vim ================================================ " Author: w0rp function! ale#handlers#sh#GetShellType(buffer) abort let l:shebang = get(getbufline(a:buffer, 1), 0, '') let l:command = '' " Take the shell executable from the shebang, if we can. if l:shebang[:1] is# '#!' " Remove options like -e, etc. let l:command = substitute(l:shebang, ' --\?[a-zA-Z0-9]\+', '', 'g') endif " With no shebang line, attempt to use Vim's buffer-local variables. if l:command is# '' if getbufvar(a:buffer, 'is_bash', 0) let l:command = 'bash' elseif getbufvar(a:buffer, 'is_sh', 0) let l:command = 'sh' elseif getbufvar(a:buffer, 'is_kornshell', 0) let l:command = 'ksh' endif endif " If we couldn't find a shebang, try the filetype if l:command is# '' let l:command = &filetype endif for l:possible_shell in ['bash', 'dash', 'ash', 'tcsh', 'csh', 'zsh', 'ksh', 'sh'] if l:command =~# l:possible_shell . '\s*$' return l:possible_shell endif endfor return '' endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/shellcheck.vim ================================================ " Author: w0rp " Description: This file adds support for using the shellcheck linter " Shellcheck supports shell directives to define the shell dialect for scripts " that do not have a shebang for some reason. " https://github.com/koalaman/shellcheck/wiki/Directive#shell function! ale#handlers#shellcheck#GetShellcheckDialectDirective(buffer) abort let l:linenr = 0 let l:pattern = '\s\{-}#\s\{-}shellcheck\s\{-}shell=\(.*\)' let l:possible_shell = ['bash', 'dash', 'ash', 'tcsh', 'csh', 'zsh', 'ksh', 'sh'] while l:linenr < min([50, line('$')]) let l:linenr += 1 let l:match = matchlist(getline(l:linenr), l:pattern) if len(l:match) > 1 && index(l:possible_shell, l:match[1]) >= 0 return l:match[1] endif endwhile return '' endfunction function! ale#handlers#shellcheck#GetDialectArgument(buffer) abort let l:shell_type = ale#handlers#shellcheck#GetShellcheckDialectDirective(a:buffer) if empty(l:shell_type) let l:shell_type = ale#handlers#sh#GetShellType(a:buffer) endif if !empty(l:shell_type) " Use the dash dialect for /bin/ash, etc. if l:shell_type is# 'ash' return 'dash' endif return l:shell_type endif return '' endfunction function! ale#handlers#shellcheck#GetCwd(buffer) abort return ale#Var(a:buffer, 'sh_shellcheck_change_directory') ? '%s:h' : '' endfunction function! ale#handlers#shellcheck#GetCommand(buffer, version) abort let l:options = ale#Var(a:buffer, 'sh_shellcheck_options') let l:exclude_option = ale#Var(a:buffer, 'sh_shellcheck_exclusions') let l:dialect = ale#Var(a:buffer, 'sh_shellcheck_dialect') let l:external_option = ale#semver#GTE(a:version, [0, 4, 0]) ? ' -x' : '' if l:dialect is# 'auto' let l:dialect = ale#handlers#shellcheck#GetDialectArgument(a:buffer) endif return '%e' \ . (!empty(l:dialect) ? ' -s ' . l:dialect : '') \ . (!empty(l:options) ? ' ' . l:options : '') \ . (!empty(l:exclude_option) ? ' -e ' . l:exclude_option : '') \ . l:external_option \ . ' -f gcc -' endfunction function! ale#handlers#shellcheck#Handle(buffer, lines) abort let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+)?:? ([^:]+): (.+) \[([^\]]+)\]$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) if l:match[4] is# 'error' let l:type = 'E' elseif l:match[4] is# 'note' let l:type = 'I' else let l:type = 'W' endif let l:item = { \ 'lnum': str2nr(l:match[2]), \ 'type': l:type, \ 'text': l:match[5], \ 'code': l:match[6], \} if !empty(l:match[3]) let l:item.col = str2nr(l:match[3]) endif " If the filename is something like , or -, then " this is an error for the file we checked. if l:match[1] isnot# '-' && l:match[1][0] isnot# '<' let l:item['filename'] = l:match[1] endif call add(l:output, l:item) endfor return l:output endfunction function! ale#handlers#shellcheck#DefineLinter(filetype) abort " This global variable can be set with a string of comma-separated error " codes to exclude from shellcheck. For example: " let g:ale_sh_shellcheck_exclusions = 'SC2002,SC2004' call ale#Set('sh_shellcheck_exclusions', get(g:, 'ale_linters_sh_shellcheck_exclusions', '')) call ale#Set('sh_shellcheck_executable', 'shellcheck') call ale#Set('sh_shellcheck_dialect', 'auto') call ale#Set('sh_shellcheck_options', '') call ale#Set('sh_shellcheck_change_directory', 1) call ale#linter#Define(a:filetype, { \ 'name': 'shellcheck', \ 'executable': {buffer -> ale#Var(buffer, 'sh_shellcheck_executable')}, \ 'cwd': function('ale#handlers#shellcheck#GetCwd'), \ 'command': {buffer -> ale#semver#RunWithVersionCheck( \ buffer, \ ale#Var(buffer, 'sh_shellcheck_executable'), \ '%e --version', \ function('ale#handlers#shellcheck#GetCommand'), \ )}, \ 'callback': 'ale#handlers#shellcheck#Handle', \}) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/sml.vim ================================================ " Author: Jake Zimmerman " Description: Shared functions for SML linters " The glob to use for finding the .cm file. " " See :help ale-sml-smlnj for more information. call ale#Set('sml_smlnj_cm_file', '*.cm') function! ale#handlers#sml#GetCmFile(buffer) abort let l:pattern = ale#Var(a:buffer, 'sml_smlnj_cm_file') let l:as_list = 1 let l:cmfile = '' for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) let l:results = glob(l:path . '/' . l:pattern, 0, l:as_list) if len(l:results) > 0 " If there is more than one CM file, we take the first one " See :help ale-sml-smlnj for how to configure this. let l:cmfile = l:results[0] endif endfor return l:cmfile endfunction " Only one of smlnj or smlnj-cm can be enabled at a time. function! s:GetExecutable(buffer, source) abort if ale#handlers#sml#GetCmFile(a:buffer) is# '' " No CM file found; only allow single-file mode to be enabled if a:source is# 'smlnj-file' return 'sml' elseif a:source is# 'smlnj-cm' return '' endif else " Found a CM file; only allow cm-file mode to be enabled if a:source is# 'smlnj-file' return '' elseif a:source is# 'smlnj-cm' return 'sml' endif endif endfunction function! ale#handlers#sml#GetExecutableSmlnjCm(buffer) abort return s:GetExecutable(a:buffer, 'smlnj-cm') endfunction function! ale#handlers#sml#GetExecutableSmlnjFile(buffer) abort return s:GetExecutable(a:buffer, 'smlnj-file') endfunction function! ale#handlers#sml#Handle(buffer, lines) abort " Try to match basic sml errors " TODO(jez) We can get better errorfmt strings from Syntastic let l:out = [] let l:pattern = '^\(.*\)\:\([0-9\.]\+\)\ \(\w\+\)\:\ \(.*\)' let l:pattern2 = '^\(.*\)\:\([0-9]\+\)\.\?\([0-9]\+\).* \(\(Warning\|Error\): .*\)' for l:line in a:lines let l:match2 = matchlist(l:line, l:pattern2) if len(l:match2) != 0 if l:match2[1] =~# 'stdIn$' let l:loc = {'bufnr': a:buffer} else let l:loc = {'filename': l:match2[1]} endif call add(l:out, extend(l:loc, { \ 'lnum': l:match2[2] + 0, \ 'col' : l:match2[3] - 1, \ 'text': l:match2[4], \ 'type': l:match2[4] =~# '^Warning' ? 'W' : 'E', \})) continue endif let l:match = matchlist(l:line, l:pattern) if len(l:match) != 0 if l:match[1] =~# 'stdIn$' let l:loc = {'bufnr': a:buffer} else let l:loc = {'filename': l:match[1]} endif call add(l:out, extend(l:loc, { \ 'lnum': l:match[2] + 0, \ 'text': l:match[3] . ': ' . l:match[4], \ 'type': l:match[3] is# 'error' ? 'E' : 'W', \})) continue endif endfor return l:out endfunction " vim:ts=4:sts=4:sw=4 ================================================ FILE: bundle/ale/autoload/ale/handlers/solhint.vim ================================================ " Author: Henrique Barcelos <@hbarcelos> " Description: Functions for working with local solhint for checking *.sol files. let s:executables = [ \ 'node_modules/.bin/solhint', \ 'node_modules/solhint/solhint.js', \ 'solhint', \] let s:sep = has('win32') ? '\' : '/' call ale#Set('solidity_solhint_options', '') call ale#Set('solidity_solhint_executable', 'solhint') call ale#Set('solidity_solhint_use_global', get(g:, 'ale_use_global_executables', 0)) function! ale#handlers#solhint#Handle(buffer, lines) abort " Matches patterns like the following: " /path/to/file/file.sol: line 1, col 10, Error - 'addOne' is defined but never used. (no-unused-vars) let l:output = [] let l:lint_pattern = '\v^[^:]+: line (\d+), col (\d+), (Error|Warning) - (.*) \((.*)\)$' for l:match in ale#util#GetMatches(a:lines, l:lint_pattern) let l:isError = l:match[3] is? 'error' call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[4], \ 'code': l:match[5], \ 'type': l:isError ? 'E' : 'W', \}) endfor let l:syntax_pattern = '\v^[^:]+: line (\d+), col (\d+), (Error|Warning) - (Parse error): (.*)$' for l:match in ale#util#GetMatches(a:lines, l:syntax_pattern) let l:isError = l:match[3] is? 'error' call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[5], \ 'code': l:match[4], \ 'type': l:isError ? 'E' : 'W', \}) endfor return l:output endfunction function! ale#handlers#solhint#FindConfig(buffer) abort for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) for l:basename in [ \ '.solhintrc.js', \ '.solhintrc.json', \ '.solhintrc', \] let l:config = ale#path#Simplify(join([l:path, l:basename], s:sep)) if filereadable(l:config) return l:config endif endfor endfor return ale#path#FindNearestFile(a:buffer, 'package.json') endfunction function! ale#handlers#solhint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'solidity_solhint', s:executables) endfunction " Given a buffer, return an appropriate working directory for solhint. function! ale#handlers#solhint#GetCwd(buffer) abort " If solhint is installed in a directory which contains the buffer, assume " it is the solhint project root. Otherwise, use nearest node_modules. " Note: If node_modules not present yet, can't load local deps anyway. let l:executable = ale#path#FindNearestExecutable(a:buffer, s:executables) if !empty(l:executable) let l:nmi = strridx(l:executable, 'node_modules') let l:project_dir = l:executable[0:l:nmi - 2] else let l:modules_dir = ale#path#FindNearestDirectory(a:buffer, 'node_modules') let l:project_dir = !empty(l:modules_dir) ? fnamemodify(l:modules_dir, ':h:h') : '' endif return !empty(l:project_dir) ? l:project_dir : '' endfunction function! ale#handlers#solhint#GetCommand(buffer) abort let l:executable = ale#handlers#solhint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'solidity_solhint_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' --formatter compact %s' endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/spectral.vim ================================================ " Author: t2h5 " Description: Integration of Stoplight Spectral CLI with ALE. function! ale#handlers#spectral#HandleSpectralOutput(buffer, lines) abort " Matches patterns like the following: " openapi.yml:1:1 error oas3-schema "Object should have required property `info`." " openapi.yml:1:1 warning oas3-api-servers "OpenAPI `servers` must be present and non-empty array." let l:pattern = '\v^.*:(\d+):(\d+) (error|warning) (.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:obj = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[3] is# 'error' ? 'E' : 'W', \ 'text': l:match[4], \} let l:code_match = matchlist(l:obj.text, '\v^(.+) "(.+)"$') if !empty(l:code_match) let l:obj.code = l:code_match[1] let l:obj.text = l:code_match[2] endif call add(l:output, l:obj) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/statix.vim ================================================ scriptencoding utf-8 " Author: David Houston " Description: This file defines a handler function for statix's errorformat " output. function! ale#handlers#statix#Handle(buffer, lines) abort " Look for lines like the following. " " flake.nix>46:13:W:3:This assignment is better written with `inherit` let l:pattern = '\v^.*\>(\d+):(\d+):([A-Z]):(\d+):(.*)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'type': l:match[3], \ 'code': l:match[4], \ 'text': l:match[5], \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/textlint.vim ================================================ " Author: tokida https://rouger.info, Yasuhiro Kiyota " Description: textlint, a proofreading tool (https://textlint.github.io/) call ale#Set('textlint_executable', 'textlint') call ale#Set('textlint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('textlint_options', '') function! ale#handlers#textlint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'textlint', [ \ 'node_modules/.bin/textlint', \ 'node_modules/textlint/bin/textlint.js', \]) endfunction function! ale#handlers#textlint#GetCommand(buffer) abort let l:executable = ale#handlers#textlint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'textlint_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' -f json --stdin --stdin-filename %s' endfunction function! ale#handlers#textlint#HandleTextlintOutput(buffer, lines) abort let l:res = get(ale#util#FuzzyJSONDecode(a:lines, []), 0, {'messages': []}) let l:output = [] for l:err in l:res.messages call add(l:output, { \ 'text': l:err.message, \ 'type': 'W', \ 'code': l:err.ruleId, \ 'lnum': l:err.line, \ 'col' : l:err.column \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/tslint.vim ================================================ function! ale#handlers#tslint#InitVariables() abort call ale#Set('typescript_tslint_executable', 'tslint') call ale#Set('typescript_tslint_config_path', '') call ale#Set('typescript_tslint_rules_dir', '') call ale#Set('typescript_tslint_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('typescript_tslint_ignore_empty_files', 0) endfunction function! ale#handlers#tslint#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'typescript_tslint', [ \ 'node_modules/.bin/tslint', \]) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/tsserver.vim ================================================ " Author: Derek Sifford " Description: Handlers for tsserver function! ale#handlers#tsserver#GetProjectRoot(buffer) abort let l:tsconfig_file = ale#path#FindNearestFile(a:buffer, 'tsconfig.json') return !empty(l:tsconfig_file) ? fnamemodify(l:tsconfig_file, ':h') : '' endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/unix.vim ================================================ " Author: w0rp " Description: Error handling for errors in a Unix format. function! s:HandleUnixFormat(buffer, lines, type) abort let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):?(\d+)?:? ?(.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[3], \ 'type': a:type, \}) endfor return l:output endfunction function! ale#handlers#unix#HandleAsError(buffer, lines) abort return s:HandleUnixFormat(a:buffer, a:lines, 'E') endfunction function! ale#handlers#unix#HandleAsWarning(buffer, lines) abort return s:HandleUnixFormat(a:buffer, a:lines, 'W') endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/vale.vim ================================================ " Author: Johannes Wienke " Description: output handler for the vale JSON format function! ale#handlers#vale#GetType(severity) abort if a:severity is? 'warning' return 'W' elseif a:severity is? 'suggestion' return 'I' endif return 'E' endfunction function! ale#handlers#vale#Handle(buffer, lines) abort try let l:errors = json_decode(join(a:lines, '')) catch return [] endtry if empty(l:errors) return [] endif let l:output = [] for l:error in l:errors[keys(l:errors)[0]] call add(l:output, { \ 'lnum': l:error['Line'], \ 'col': l:error['Span'][0], \ 'end_col': l:error['Span'][1], \ 'code': l:error['Check'], \ 'text': l:error['Message'], \ 'type': ale#handlers#vale#GetType(l:error['Severity']), \}) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/writegood.vim ================================================ " Author: Sumner Evans " Description: Error handling for errors in the write-good format. function! ale#handlers#writegood#ResetOptions() abort call ale#Set('writegood_options', '') call ale#Set('writegood_executable', 'write-good') call ale#Set('writegood_use_global', get(g:, 'ale_use_global_executables', 0)) endfunction " Reset the options so the tests can test how they are set. call ale#handlers#writegood#ResetOptions() function! ale#handlers#writegood#GetExecutable(buffer) abort return ale#path#FindExecutable(a:buffer, 'writegood', [ \ 'node_modules/.bin/write-good', \ 'node_modules/write-good/bin/write-good.js', \]) endfunction function! ale#handlers#writegood#GetCommand(buffer) abort let l:executable = ale#handlers#writegood#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'writegood_options') return ale#node#Executable(a:buffer, l:executable) \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' %t' endfunction function! ale#handlers#writegood#Handle(buffer, lines) abort " Look for lines like the following. " " "it is" is wordy or unneeded on line 20 at column 53 " "easily" can weaken meaning on line 154 at column 29 let l:marks_pattern = '\v^ *(\^+) *$' let l:pattern = '\v^(".*"\s.*)\son\sline\s(\d+)\sat\scolumn\s(\d+)$' let l:output = [] let l:last_len = 0 for l:match in ale#util#GetMatches(a:lines, [l:marks_pattern, l:pattern]) if empty(l:match[2]) let l:last_len = len(l:match[1]) else let l:col = l:match[3] + 1 " Add the linter error. Note that we need to add 1 to the col because " write-good reports the column corresponding to the space before the " offending word or phrase. call add(l:output, { \ 'text': l:match[1], \ 'lnum': l:match[2] + 0, \ 'col': l:col, \ 'end_col': l:last_len ? (l:col + l:last_len - 1) : l:col, \ 'type': 'W', \}) let l:last_len = 0 endif endfor return l:output endfunction " Define the writegood linter for a given filetype. function! ale#handlers#writegood#DefineLinter(filetype) abort call ale#linter#Define(a:filetype, { \ 'name': 'writegood', \ 'aliases': ['write-good'], \ 'executable': function('ale#handlers#writegood#GetExecutable'), \ 'command': function('ale#handlers#writegood#GetCommand'), \ 'callback': 'ale#handlers#writegood#Handle', \}) endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/xo.vim ================================================ call ale#Set('javascript_xo_executable', 'xo') call ale#Set('javascript_xo_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_xo_options', '') call ale#Set('typescript_xo_executable', 'xo') call ale#Set('typescript_xo_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('typescript_xo_options', '') function! ale#handlers#xo#GetExecutable(buffer) abort let l:type = ale#handlers#xo#GetType(a:buffer) return ale#path#FindExecutable(a:buffer, l:type . '_xo', [ \ 'node_modules/xo/cli.js', \ 'node_modules/.bin/xo', \]) endfunction function! ale#handlers#xo#GetLintCommand(buffer) abort return ale#Escape(ale#handlers#xo#GetExecutable(a:buffer)) \ . ale#Pad(ale#handlers#xo#GetOptions(a:buffer)) \ . ' --reporter json --stdin --stdin-filename %s' endfunction function! ale#handlers#xo#GetOptions(buffer) abort let l:type = ale#handlers#xo#GetType(a:buffer) return ale#Var(a:buffer, l:type . '_xo_options') endfunction " xo uses eslint and the output format is the same function! ale#handlers#xo#HandleJSON(buffer, lines) abort return ale#handlers#eslint#HandleJSON(a:buffer, a:lines) endfunction function! ale#handlers#xo#GetType(buffer) abort let l:filetype = getbufvar(a:buffer, '&filetype') let l:type = 'javascript' if l:filetype =~# 'typescript' let l:type = 'typescript' endif return l:type endfunction ================================================ FILE: bundle/ale/autoload/ale/handlers/yamllint.vim ================================================ function! ale#handlers#yamllint#GetCommand(buffer) abort return '%e' . ale#Pad(ale#Var(a:buffer, 'yaml_yamllint_options')) \ . ' -f parsable %t' endfunction function! ale#handlers#yamllint#Handle(buffer, lines) abort " Matches patterns line the following: " something.yaml:1:1: [warning] missing document start "---" (document-start) " something.yml:2:1: [error] syntax error: expected the node content, but found '' let l:pattern = '\v^.*:(\d+):(\d+): \[(error|warning)\] (.+)$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:item = { \ 'lnum': l:match[1] + 0, \ 'col': l:match[2] + 0, \ 'text': l:match[4], \ 'type': l:match[3] is# 'error' ? 'E' : 'W', \} let l:code_match = matchlist(l:item.text, '\v^(.+) \(([^)]+)\)$') if !empty(l:code_match) if l:code_match[2] is# 'trailing-spaces' \&& !ale#Var(a:buffer, 'warn_about_trailing_whitespace') " Skip warnings for trailing whitespace if the option is off. continue endif let l:item.text = l:code_match[1] let l:item.code = l:code_match[2] endif call add(l:output, l:item) endfor return l:output endfunction ================================================ FILE: bundle/ale/autoload/ale/highlight.vim ================================================ scriptencoding utf8 " Author: w0rp " Description: This module implements error/warning highlighting. if !hlexists('ALEError') highlight link ALEError SpellBad endif if !hlexists('ALEStyleError') highlight link ALEStyleError ALEError endif if !hlexists('ALEWarning') highlight link ALEWarning SpellCap endif if !hlexists('ALEStyleWarning') highlight link ALEStyleWarning ALEWarning endif if !hlexists('ALEInfo') highlight link ALEInfo ALEWarning endif if !hlexists('ALEVirtualTextError') highlight link ALEVirtualTextError ALEError endif if !hlexists('ALEVirtualTextStyleError') highlight link ALEVirtualTextStyleError ALEVirtualTextError endif if !hlexists('ALEVirtualTextWarning') highlight link ALEVirtualTextWarning ALEWarning endif if !hlexists('ALEVirtualTextStyleWarning') highlight link ALEVirtualTextStyleWarning ALEVirtualTextWarning endif if !hlexists('ALEVirtualTextInfo') highlight link ALEVirtualTextInfo ALEVirtualTextWarning endif " The maximum number of items for the second argument of matchaddpos() let s:MAX_POS_VALUES = 8 let s:MAX_COL_SIZE = 1073741824 " pow(2, 30) let s:has_nvim_highlight = exists('*nvim_buf_add_highlight') && exists('*nvim_buf_clear_namespace') if s:has_nvim_highlight let s:ns_id = nvim_create_namespace('ale_highlight') endif " Wrappers are necessary to test this functionality by faking the calls in tests. function! ale#highlight#nvim_buf_add_highlight(buffer, ns_id, hl_group, line, col_start, col_end) abort " Ignore all errors for adding highlights. try call nvim_buf_add_highlight(a:buffer, a:ns_id, a:hl_group, a:line, a:col_start, a:col_end) catch endtry endfunction function! ale#highlight#nvim_buf_clear_namespace(buffer, ns_id, line_start, line_end) abort call nvim_buf_clear_namespace(a:buffer, a:ns_id, a:line_start, a:line_end) endfunction function! ale#highlight#CreatePositions(line, col, end_line, end_col) abort if a:line >= a:end_line " For single lines, just return the one position. return [[[a:line, a:col, a:end_col - a:col + 1]]] endif " Get positions from the first line at the first column, up to a large " integer for highlighting up to the end of the line, followed by " the lines in-between, for highlighting entire lines, and " a highlight for the last line, up to the end column. let l:all_positions = \ [[a:line, a:col, s:MAX_COL_SIZE]] \ + range(a:line + 1, a:end_line - 1) \ + [[a:end_line, 1, a:end_col]] return map( \ range(0, len(l:all_positions) - 1, s:MAX_POS_VALUES), \ 'l:all_positions[v:val : v:val + s:MAX_POS_VALUES - 1]', \) endfunction " Given a loclist for current items to highlight, remove all highlights " except these which have matching loclist item entries. function! ale#highlight#RemoveHighlights() abort if s:has_nvim_highlight call ale#highlight#nvim_buf_clear_namespace(bufnr(''), s:ns_id, 0, -1) else for l:match in getmatches() if l:match.group =~? '\v^ALE(Style)?(Error|Warning|Info)(Line)?$' call matchdelete(l:match.id) endif endfor endif endfunction " Same semantics of matchaddpos but will use nvim_buf_add_highlight if " available. This involves iterating over the position list, switching from " 1-based indexing to 0-based indexing, and translating the multiple ways " that position can be specified for matchaddpos into line + col_start + " col_end. function! s:matchaddpos(group, pos_list) abort if s:has_nvim_highlight for l:pos in a:pos_list let l:line = type(l:pos) == v:t_number \ ? l:pos - 1 \ : l:pos[0] - 1 if type(l:pos) == v:t_number || len(l:pos) == 1 let l:col_start = 0 let l:col_end = s:MAX_COL_SIZE else let l:col_start = l:pos[1] - 1 let l:col_end = l:col_start + get(l:pos, 2, 1) endif call ale#highlight#nvim_buf_add_highlight( \ bufnr(''), \ s:ns_id, \ a:group, \ l:line, \ l:col_start, \ l:col_end, \) endfor else call matchaddpos(a:group, a:pos_list) endif endfunction function! s:highlight_line(bufnr, lnum, group) abort call s:matchaddpos(a:group, [a:lnum]) endfunction function! s:highlight_range(bufnr, range, group) abort " Set all of the positions, which are chunked into Lists which " are as large as will be accepted by matchaddpos. call map( \ ale#highlight#CreatePositions( \ a:range.lnum, \ a:range.col, \ a:range.end_lnum, \ a:range.end_col \ ), \ 's:matchaddpos(a:group, v:val)' \) endfunction function! ale#highlight#UpdateHighlights() abort let l:item_list = get(b:, 'ale_enabled', 1) && g:ale_enabled \ ? get(b:, 'ale_highlight_items', []) \ : [] call ale#highlight#RemoveHighlights() for l:item in l:item_list if l:item.type is# 'W' if get(l:item, 'sub_type', '') is# 'style' let l:group = 'ALEStyleWarning' else let l:group = 'ALEWarning' endif elseif l:item.type is# 'I' let l:group = 'ALEInfo' elseif get(l:item, 'sub_type', '') is# 'style' let l:group = 'ALEStyleError' else let l:group = 'ALEError' endif let l:range = { \ 'lnum': l:item.lnum, \ 'col': l:item.col, \ 'end_lnum': get(l:item, 'end_lnum', l:item.lnum), \ 'end_col': get(l:item, 'end_col', l:item.col) \} call s:highlight_range(l:item.bufnr, l:range, l:group) endfor " If highlights are enabled and signs are not enabled, we should still " offer line highlights by adding a separate set of highlights. if !g:ale_set_signs let l:available_groups = { \ 'ALEWarningLine': hlexists('ALEWarningLine'), \ 'ALEInfoLine': hlexists('ALEInfoLine'), \ 'ALEErrorLine': hlexists('ALEErrorLine'), \} for l:item in l:item_list if l:item.type is# 'W' let l:group = 'ALEWarningLine' elseif l:item.type is# 'I' let l:group = 'ALEInfoLine' else let l:group = 'ALEErrorLine' endif if l:available_groups[l:group] call s:highlight_line(l:item.bufnr, l:item.lnum, l:group) endif endfor endif endfunction function! ale#highlight#BufferHidden(buffer) abort " Remove highlights right away when buffers are hidden. " They will be restored later when buffers are entered. call ale#highlight#RemoveHighlights() endfunction augroup ALEHighlightBufferGroup autocmd! autocmd BufEnter * call ale#highlight#UpdateHighlights() autocmd BufHidden * call ale#highlight#BufferHidden(expand('')) augroup END function! ale#highlight#SetHighlights(buffer, loclist) abort let l:new_list = getbufvar(a:buffer, 'ale_enabled', 1) && g:ale_enabled \ ? filter(copy(a:loclist), 'v:val.bufnr == a:buffer && v:val.col > 0') \ : [] " Set the list in the buffer variable. call setbufvar(str2nr(a:buffer), 'ale_highlight_items', l:new_list) let l:exclude_list = ale#Var(a:buffer, 'exclude_highlights') if !empty(l:exclude_list) call filter(l:new_list, 'empty(ale#util#GetMatches(v:val.text, l:exclude_list))') endif " Update highlights for the current buffer, which may or may not " be the buffer we just set highlights for. call ale#highlight#UpdateHighlights() endfunction ================================================ FILE: bundle/ale/autoload/ale/history.vim ================================================ " Author: w0rp " Description: Tools for managing command history " A flag for controlling the maximum size of the command history to store. let g:ale_max_buffer_history_size = get(g:, 'ale_max_buffer_history_size', 20) " Return a shallow copy of the command history for a given buffer number. function! ale#history#Get(buffer) abort return copy(getbufvar(a:buffer, 'ale_history', [])) endfunction function! ale#history#Add(buffer, status, job_id, command) abort if g:ale_max_buffer_history_size <= 0 " Don't save anything if the history isn't a positive number. call setbufvar(a:buffer, 'ale_history', []) return endif let l:history = getbufvar(a:buffer, 'ale_history', []) " Remove the first item if we hit the max history size. if len(l:history) >= g:ale_max_buffer_history_size let l:history = l:history[1:] endif call add(l:history, { \ 'status': a:status, \ 'job_id': a:job_id, \ 'command': a:command, \}) call setbufvar(a:buffer, 'ale_history', l:history) endfunction function! s:FindHistoryItem(buffer, job_id) abort " Search backwards to find a matching job ID. IDs might be recycled, " so finding the last one should be good enough. for l:obj in reverse(ale#history#Get(a:buffer)) if l:obj.job_id == a:job_id return l:obj endif endfor return {} endfunction " Set an exit code for a command which finished. function! ale#history#SetExitCode(buffer, job_id, exit_code) abort let l:obj = s:FindHistoryItem(a:buffer, a:job_id) " If we find a match, then set the code and status. let l:obj.exit_code = a:exit_code let l:obj.status = 'finished' endfunction " Set the output for a command which finished. function! ale#history#RememberOutput(buffer, job_id, output) abort let l:obj = s:FindHistoryItem(a:buffer, a:job_id) let l:obj.output = a:output endfunction ================================================ FILE: bundle/ale/autoload/ale/hover.vim ================================================ " Author: w0rp " Description: Hover support for LSP linters. let s:hover_map = {} " Used to get the hover map in tests. function! ale#hover#GetMap() abort return deepcopy(s:hover_map) endfunction " Used to set the hover map in tests. function! ale#hover#SetMap(map) abort let s:hover_map = a:map endfunction function! ale#hover#ClearLSPData() abort let s:hover_map = {} endfunction function! ale#hover#HandleTSServerResponse(conn_id, response) abort if get(a:response, 'command', '') is# 'quickinfo' \&& has_key(s:hover_map, a:response.request_seq) let l:options = remove(s:hover_map, a:response.request_seq) if get(a:response, 'success', v:false) is v:true \&& get(a:response, 'body', v:null) isnot v:null let l:set_balloons = ale#Var(l:options.buffer, 'set_balloons') " If we pass the show_documentation flag, we should show the full " documentation, and always in the preview window. if get(l:options, 'show_documentation', 0) let l:documentation = get(a:response.body, 'documentation', '') " displayString is not included here, because it can be very " noisy and run on for many lines for complex types. A less " verbose alternative may be nice in future. if !empty(l:documentation) call ale#preview#Show(split(l:documentation, "\n"), { \ 'filetype': 'ale-preview.message', \ 'stay_here': 1, \}) endif elseif get(l:options, 'hover_from_balloonexpr', 0) \&& exists('*balloon_show') \&& (l:set_balloons is 1 || l:set_balloons is# 'hover') call balloon_show(a:response.body.displayString) elseif get(l:options, 'truncated_echo', 0) if !empty(a:response.body.displayString) call ale#cursor#TruncatedEcho(a:response.body.displayString) endif elseif g:ale_hover_to_floating_preview || g:ale_floating_preview call ale#floating_preview#Show(split(a:response.body.displayString, "\n"), { \ 'filetype': 'ale-preview.message', \}) elseif g:ale_hover_to_preview call ale#preview#Show(split(a:response.body.displayString, "\n"), { \ 'filetype': 'ale-preview.message', \ 'stay_here': 1, \}) else call ale#util#ShowMessage(a:response.body.displayString) endif endif endif endfunction " Convert a language name to another one. " The language name could be an empty string or v:null function! s:ConvertLanguageName(language) abort return a:language endfunction function! ale#hover#ParseLSPResult(contents) abort let l:includes = {} let l:highlights = [] let l:lines = [] let l:list = type(a:contents) is v:t_list ? a:contents : [a:contents] let l:region_index = 0 for l:item in l:list if !empty(l:lines) call add(l:lines, '') endif if type(l:item) is v:t_dict && has_key(l:item, 'kind') if l:item.kind is# 'markdown' " Handle markdown values as we handle strings below. let l:item = get(l:item, 'value', '') elseif l:item.kind is# 'plaintext' " We shouldn't try to parse plaintext as markdown. " Pass the lines on and skip parsing them. call extend(l:lines, split(get(l:item, 'value', ''), "\n")) continue endif endif let l:marked_list = [] " If the item is a string, then we should parse it as Markdown text. if type(l:item) is v:t_string let l:fence_language = v:null let l:fence_lines = [] for l:line in split(l:item, "\n") if l:fence_language is v:null " Look for the start of a code fence. (```python, etc.) let l:match = matchlist(l:line, '^```\(.*\)$') if !empty(l:match) let l:fence_language = l:match[1] if !empty(l:marked_list) call add(l:fence_lines, '') endif else if !empty(l:marked_list) \&& l:marked_list[-1][0] isnot v:null call add(l:marked_list, [v:null, ['']]) endif call add(l:marked_list, [v:null, [l:line]]) endif elseif l:line =~# '^```$' " When we hit the end of a code fence, pass the fenced " lines on to the next steps below. call add(l:marked_list, [l:fence_language, l:fence_lines]) let l:fence_language = v:null let l:fence_lines = [] else " Gather lines inside of a code fence. call add(l:fence_lines, l:line) endif endfor " If the result from the LSP server is a {language: ..., value: ...} " Dictionary, then that should be interpreted as if it was: " " ```${language} " ${value} " ``` elseif type(l:item) is v:t_dict \&& has_key(l:item, 'language') \&& type(l:item.language) is v:t_string \&& has_key(l:item, 'value') \&& type(l:item.value) is v:t_string call add( \ l:marked_list, \ [l:item.language, split(l:item.value, "\n")], \) endif for [l:language, l:marked_lines] in l:marked_list if l:language is v:null " NOTE: We could handle other Markdown formatting here. call map( \ l:marked_lines, \ 'substitute(v:val, ''\\_'', ''_'', ''g'')', \) else let l:language = s:ConvertLanguageName(l:language) if !empty(l:language) let l:includes[l:language] = printf( \ 'syntax/%s.vim', \ l:language, \) let l:start = len(l:lines) + 1 let l:end = l:start + len(l:marked_lines) let l:region_index += 1 call add(l:highlights, 'syntax region' \ . ' ALE_hover_' . l:region_index \ . ' start=/\%' . l:start . 'l/' \ . ' end=/\%' . l:end . 'l/' \ . ' contains=@ALE_hover_' . l:language \) endif endif call extend(l:lines, l:marked_lines) endfor endfor let l:include_commands = [] for [l:language, l:lang_path] in sort(items(l:includes)) call add(l:include_commands, 'unlet! b:current_syntax') call add( \ l:include_commands, \ printf('syntax include @ALE_hover_%s %s', l:language, l:lang_path), \) endfor return [l:include_commands + l:highlights, l:lines] endfunction function! ale#hover#HandleLSPResponse(conn_id, response) abort if has_key(a:response, 'id') \&& has_key(s:hover_map, a:response.id) let l:options = remove(s:hover_map, a:response.id) " If the call did __not__ come from balloonexpr... if !get(l:options, 'hover_from_balloonexpr', 0) let l:buffer = bufnr('') let [l:line, l:column] = getpos('.')[1:2] let l:end = len(getline(l:line)) if l:buffer isnot l:options.buffer \|| l:line isnot l:options.line \|| min([l:column, l:end]) isnot min([l:options.column, l:end]) " ... Cancel display the message if the cursor has moved. return endif endif " The result can be a Dictionary item, a List of the same, or null. let l:result = get(a:response, 'result', v:null) if l:result is v:null return endif let [l:commands, l:lines] = ale#hover#ParseLSPResult(l:result.contents) if !empty(l:lines) let l:set_balloons = ale#Var(l:options.buffer, 'set_balloons') if get(l:options, 'hover_from_balloonexpr', 0) \&& exists('*balloon_show') \&& (l:set_balloons is 1 || l:set_balloons is# 'hover') call balloon_show(join(l:lines, "\n")) elseif get(l:options, 'truncated_echo', 0) if type(l:lines[0]) is# v:t_list call ale#cursor#TruncatedEcho(join(l:lines[0], '\n')) else call ale#cursor#TruncatedEcho(l:lines[0]) endif elseif g:ale_hover_to_floating_preview || g:ale_floating_preview call ale#floating_preview#Show(l:lines, { \ 'filetype': 'ale-preview.message', \ 'commands': l:commands, \}) elseif g:ale_hover_to_preview call ale#preview#Show(l:lines, { \ 'filetype': 'ale-preview.message', \ 'stay_here': 1, \ 'commands': l:commands, \}) else call ale#util#ShowMessage(join(l:lines, "\n"), { \ 'commands': l:commands, \}) endif endif endif endfunction function! s:OnReady(line, column, opt, linter, lsp_details) abort let l:id = a:lsp_details.connection_id if !ale#lsp#HasCapability(l:id, 'hover') return endif let l:buffer = a:lsp_details.buffer let l:Callback = a:linter.lsp is# 'tsserver' \ ? function('ale#hover#HandleTSServerResponse') \ : function('ale#hover#HandleLSPResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) if a:linter.lsp is# 'tsserver' let l:column = a:column let l:message = ale#lsp#tsserver_message#Quickinfo( \ l:buffer, \ a:line, \ l:column \) else " Send a message saying the buffer has changed first, or the " hover position probably won't make sense. call ale#lsp#NotifyForChanges(l:id, l:buffer) let l:column = max([ \ min([a:column, len(getbufline(l:buffer, a:line)[0])]), \ 1, \]) let l:message = ale#lsp#message#Hover(l:buffer, a:line, l:column) endif let l:request_id = ale#lsp#Send(l:id, l:message) let s:hover_map[l:request_id] = { \ 'buffer': l:buffer, \ 'line': a:line, \ 'column': l:column, \ 'hover_from_balloonexpr': get(a:opt, 'called_from_balloonexpr', 0), \ 'show_documentation': get(a:opt, 'show_documentation', 0), \ 'truncated_echo': get(a:opt, 'truncated_echo', 0), \} endfunction " Obtain Hover information for the specified position " Pass optional arguments in the dictionary opt. " Currently, only one key/value is useful: " - called_from_balloonexpr, this flag marks if we want the result from this " ale#hover#Show to display in a balloon if possible " " Currently, the callbacks displays the info from hover : " - in the balloon if opt.called_from_balloonexpr and balloon_show is detected " - as status message otherwise function! ale#hover#Show(buffer, line, col, opt) abort let l:show_documentation = get(a:opt, 'show_documentation', 0) let l:Callback = function('s:OnReady', [a:line, a:col, a:opt]) for l:linter in ale#linter#Get(getbufvar(a:buffer, '&filetype')) " Only tsserver supports documentation requests at the moment. if !empty(l:linter.lsp) \&& (!l:show_documentation || l:linter.lsp is# 'tsserver') call ale#lsp_linter#StartLSP(a:buffer, l:linter, l:Callback) endif endfor endfunction let s:last_pos = [0, 0, 0] " This function implements the :ALEHover command. function! ale#hover#ShowAtCursor() abort let l:buffer = bufnr('') let l:pos = getpos('.') call ale#hover#Show(l:buffer, l:pos[1], l:pos[2], {}) endfunction function! ale#hover#ShowTruncatedMessageAtCursor() abort let l:buffer = bufnr('') let l:pos = getpos('.')[0:2] if !getbufvar(l:buffer, 'ale_enabled', 1) return endif if l:pos != s:last_pos let s:last_pos = l:pos let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer) if empty(l:loc) call ale#hover#Show( \ l:buffer, \ l:pos[1], \ l:pos[2], \ {'truncated_echo': 1}, \) endif endif endfunction " This function implements the :ALEDocumentation command. function! ale#hover#ShowDocumentationAtCursor() abort let l:buffer = bufnr('') let l:pos = getpos('.') let l:options = {'show_documentation': 1} call ale#hover#Show(l:buffer, l:pos[1], l:pos[2], l:options) endfunction ================================================ FILE: bundle/ale/autoload/ale/java.vim ================================================ " Author: Horacio Sanson https://github.com/hsanson " Description: Functions for integrating with Java tools " Find the nearest dir contining a gradle or pom file and assume it " the root of a java app. function! ale#java#FindProjectRoot(buffer) abort let l:gradle_root = ale#gradle#FindProjectRoot(a:buffer) if !empty(l:gradle_root) return l:gradle_root endif let l:maven_pom_file = ale#path#FindNearestFile(a:buffer, 'pom.xml') if !empty(l:maven_pom_file) return fnamemodify(l:maven_pom_file, ':h') endif let l:ant_root = ale#ant#FindProjectRoot(a:buffer) if !empty(l:ant_root) return l:ant_root endif return '' endfunction ================================================ FILE: bundle/ale/autoload/ale/job.vim ================================================ " Author: w0rp " Description: APIs for working with Asynchronous jobs, with an API normalised " between Vim 8 and NeoVim. " " Important functions are described below. They are: " " ale#job#Start(command, options) -> job_id " ale#job#IsRunning(job_id) -> 1 if running, 0 otherwise. " ale#job#Stop(job_id) " A setting for wrapping commands. let g:ale_command_wrapper = get(g:, 'ale_command_wrapper', '') if !has_key(s:, 'job_map') let s:job_map = {} endif " A map from timer IDs to jobs, for tracking jobs that need to be killed " with SIGKILL if they don't terminate right away. if !has_key(s:, 'job_kill_timers') let s:job_kill_timers = {} endif function! s:KillHandler(timer) abort let l:job = remove(s:job_kill_timers, a:timer) call job_stop(l:job, 'kill') endfunction function! s:NeoVimCallback(job, data, event) abort let l:info = s:job_map[a:job] if a:event is# 'stdout' let l:info.out_cb_line = ale#util#JoinNeovimOutput( \ a:job, \ l:info.out_cb_line, \ a:data, \ l:info.mode, \ ale#util#GetFunction(l:info.out_cb), \) elseif a:event is# 'stderr' let l:info.err_cb_line = ale#util#JoinNeovimOutput( \ a:job, \ l:info.err_cb_line, \ a:data, \ l:info.mode, \ ale#util#GetFunction(l:info.err_cb), \) else if has_key(l:info, 'out_cb') && !empty(l:info.out_cb_line) call ale#util#GetFunction(l:info.out_cb)(a:job, l:info.out_cb_line) endif if has_key(l:info, 'err_cb') && !empty(l:info.err_cb_line) call ale#util#GetFunction(l:info.err_cb)(a:job, l:info.err_cb_line) endif try call ale#util#GetFunction(l:info.exit_cb)(a:job, a:data) finally " Automatically forget about the job after it's done. if has_key(s:job_map, a:job) call remove(s:job_map, a:job) endif endtry endif endfunction function! s:VimOutputCallback(channel, data) abort let l:job = ch_getjob(a:channel) let l:job_id = ale#job#ParseVim8ProcessID(string(l:job)) " Only call the callbacks for jobs which are valid. if l:job_id > 0 && has_key(s:job_map, l:job_id) call ale#util#GetFunction(s:job_map[l:job_id].out_cb)(l:job_id, a:data) endif endfunction function! s:VimErrorCallback(channel, data) abort let l:job = ch_getjob(a:channel) let l:job_id = ale#job#ParseVim8ProcessID(string(l:job)) " Only call the callbacks for jobs which are valid. if l:job_id > 0 && has_key(s:job_map, l:job_id) call ale#util#GetFunction(s:job_map[l:job_id].err_cb)(l:job_id, a:data) endif endfunction function! s:VimCloseCallback(channel) abort let l:job = ch_getjob(a:channel) let l:job_id = ale#job#ParseVim8ProcessID(string(l:job)) let l:info = get(s:job_map, l:job_id, {}) if empty(l:info) return endif " job_status() can trigger the exit handler. " The channel can close before the job has exited. if job_status(l:job) is# 'dead' try if !empty(l:info) && has_key(l:info, 'exit_cb') " We have to remove the callback, so we don't call it twice. call ale#util#GetFunction(remove(l:info, 'exit_cb'))(l:job_id, get(l:info, 'exit_code', 1)) endif finally " Automatically forget about the job after it's done. if has_key(s:job_map, l:job_id) call remove(s:job_map, l:job_id) endif endtry endif endfunction function! s:VimExitCallback(job, exit_code) abort let l:job_id = ale#job#ParseVim8ProcessID(string(a:job)) let l:info = get(s:job_map, l:job_id, {}) if empty(l:info) return endif let l:info.exit_code = a:exit_code " The program can exit before the data has finished being read. if ch_status(job_getchannel(a:job)) is# 'closed' try if !empty(l:info) && has_key(l:info, 'exit_cb') " We have to remove the callback, so we don't call it twice. call ale#util#GetFunction(remove(l:info, 'exit_cb'))(l:job_id, a:exit_code) endif finally " Automatically forget about the job after it's done. if has_key(s:job_map, l:job_id) call remove(s:job_map, l:job_id) endif endtry endif endfunction function! ale#job#ParseVim8ProcessID(job_string) abort return matchstr(a:job_string, '\d\+') + 0 endfunction function! ale#job#ValidateArguments(command, options) abort if a:options.mode isnot# 'nl' && a:options.mode isnot# 'raw' throw 'Invalid mode: ' . a:options.mode endif endfunction function! s:PrepareWrappedCommand(original_wrapper, command) abort let l:match = matchlist(a:command, '\v^(.*(\&\&|;)) *(.*)$') let l:prefix = '' let l:command = a:command if !empty(l:match) let l:prefix = l:match[1] . ' ' let l:command = l:match[3] endif let l:format = a:original_wrapper if l:format =~# '%@' let l:wrapped = substitute(l:format, '%@', ale#Escape(l:command), '') else if l:format !~# '%\*' let l:format .= ' %*' endif let l:wrapped = substitute(l:format, '%\*', l:command, '') endif return l:prefix . l:wrapped endfunction function! ale#job#PrepareCommand(buffer, command) abort let l:wrapper = ale#Var(a:buffer, 'command_wrapper') " The command will be executed in a subshell. This fixes a number of " issues, including reading the PATH variables correctly, %PATHEXT% " expansion on Windows, etc. " " NeoVim handles this issue automatically if the command is a String, " but we'll do this explicitly, so we use the same exact command for both " versions. let l:command = !empty(l:wrapper) \ ? s:PrepareWrappedCommand(l:wrapper, a:command) \ : a:command " If a custom shell is specified, use that. if exists('b:ale_shell') let l:ale_shell = b:ale_shell elseif exists('g:ale_shell') let l:ale_shell = g:ale_shell endif if exists('l:ale_shell') let l:shell_arguments = get(b:, 'ale_shell_arguments', get(g:, 'ale_shell_arguments', &shellcmdflag)) return split(l:ale_shell) + split(l:shell_arguments) + [l:command] endif if has('win32') return 'cmd /s/c "' . l:command . '"' endif if &shell =~? 'fish$\|pwsh$' return ['/bin/sh', '-c', l:command] endif return split(&shell) + split(&shellcmdflag) + [l:command] endfunction " Start a job with options which are agnostic to Vim and NeoVim. " " The following options are accepted: " " out_cb - A callback for receiving stdin. Arguments: (job_id, data) " err_cb - A callback for receiving stderr. Arguments: (job_id, data) " exit_cb - A callback for program exit. Arguments: (job_id, status_code) " mode - A mode for I/O. Can be 'nl' for split lines or 'raw'. function! ale#job#Start(command, options) abort call ale#job#ValidateArguments(a:command, a:options) let l:job_info = copy(a:options) let l:job_options = {} if has('nvim') if has_key(a:options, 'out_cb') let l:job_options.on_stdout = function('s:NeoVimCallback') let l:job_info.out_cb_line = '' endif if has_key(a:options, 'err_cb') let l:job_options.on_stderr = function('s:NeoVimCallback') let l:job_info.err_cb_line = '' endif if has_key(a:options, 'exit_cb') let l:job_options.on_exit = function('s:NeoVimCallback') endif let l:job_info.job = jobstart(a:command, l:job_options) let l:job_id = l:job_info.job else let l:job_options = { \ 'in_mode': l:job_info.mode, \ 'out_mode': l:job_info.mode, \ 'err_mode': l:job_info.mode, \} if has_key(a:options, 'out_cb') let l:job_options.out_cb = function('s:VimOutputCallback') else " prevent buffering of output and excessive polling in case close_cb is set let l:job_options.out_cb = {->0} endif if has_key(a:options, 'err_cb') let l:job_options.err_cb = function('s:VimErrorCallback') else " prevent buffering of output and excessive polling in case close_cb is set let l:job_options.err_cb = {->0} endif if has_key(a:options, 'exit_cb') " Set a close callback to which simply calls job_status() " when the channel is closed, which can trigger the exit callback " earlier on. let l:job_options.close_cb = function('s:VimCloseCallback') let l:job_options.exit_cb = function('s:VimExitCallback') endif " Use non-blocking writes for Vim versions that support the option. if has('patch-8.1.350') let l:job_options.noblock = 1 endif " Vim 8 will read the stdin from the file's buffer. let l:job_info.job = job_start(a:command, l:job_options) let l:job_id = ale#job#ParseVim8ProcessID(string(l:job_info.job)) endif if l:job_id > 0 " Store the job in the map for later only if we can get the ID. let s:job_map[l:job_id] = l:job_info endif return l:job_id endfunction " Force running commands in a Windows CMD command line. " This means the same command syntax works everywhere. function! ale#job#StartWithCmd(command, options) abort let l:shell = &l:shell let l:shellcmdflag = &l:shellcmdflag let &l:shell = 'cmd' let &l:shellcmdflag = '/c' try let l:job_id = ale#job#Start(a:command, a:options) finally let &l:shell = l:shell let &l:shellcmdflag = l:shellcmdflag endtry return l:job_id endfunction " Send raw data to the job. function! ale#job#SendRaw(job_id, string) abort if has('nvim') call jobsend(a:job_id, a:string) else let l:job = s:job_map[a:job_id].job if ch_status(l:job) is# 'open' call ch_sendraw(job_getchannel(l:job), a:string) endif endif endfunction " Given a job ID, return 1 if the job is currently running. " Invalid job IDs will be ignored. function! ale#job#IsRunning(job_id) abort if has('nvim') try " In NeoVim, if the job isn't running, jobpid() will throw. call jobpid(a:job_id) return 1 catch endtry elseif has_key(s:job_map, a:job_id) let l:job = s:job_map[a:job_id].job return job_status(l:job) is# 'run' endif return 0 endfunction function! ale#job#HasOpenChannel(job_id) abort if ale#job#IsRunning(a:job_id) if has('nvim') " TODO: Implement a check for NeoVim. return 1 endif " Check if the Job's channel can be written to. return ch_status(s:job_map[a:job_id].job) is# 'open' endif return 0 endfunction " Given a Job ID, stop that job. " Invalid job IDs will be ignored. function! ale#job#Stop(job_id) abort if !has_key(s:job_map, a:job_id) return endif if has('nvim') " FIXME: NeoVim kills jobs on a timer, but will not kill any processes " which are child processes on Unix. Some work needs to be done to " kill child processes to stop long-running processes like pylint. silent! call jobstop(a:job_id) else let l:job = s:job_map[a:job_id].job " We must close the channel for reading the buffer if it is open " when stopping a job. Otherwise, we will get errors in the status line. if ch_status(job_getchannel(l:job)) is# 'open' call ch_close_in(job_getchannel(l:job)) endif " Ask nicely for the job to stop. call job_stop(l:job) if ale#job#IsRunning(l:job) " Set a 100ms delay for killing the job with SIGKILL. let s:job_kill_timers[timer_start(100, function('s:KillHandler'))] = l:job endif endif endfunction ================================================ FILE: bundle/ale/autoload/ale/julia.vim ================================================ " Author: Bartolomeo Stellato bartolomeo.stellato@gmail.com " Description: Functions for integrating with Julia tools " Find the nearest dir containing a julia project let s:__ale_julia_project_filenames = ['REQUIRE', 'Manifest.toml', 'Project.toml'] function! ale#julia#FindProjectRoot(buffer) abort for l:project_filename in s:__ale_julia_project_filenames let l:full_path = ale#path#FindNearestFile(a:buffer, l:project_filename) if !empty(l:full_path) let l:path = fnamemodify(l:full_path, ':p:h') return l:path endif endfor return '' endfunction ================================================ FILE: bundle/ale/autoload/ale/linter.vim ================================================ " Author: w0rp " Description: Linter registration and lazy-loading " Retrieves linters as requested by the engine, loading them if needed. let s:runtime_loaded_map = {} let s:linters = {} " Default filetype aliases. " The user defined aliases will be merged with this Dictionary. " " NOTE: Update the g:ale_linter_aliases documentation when modifying this. let s:default_ale_linter_aliases = { \ 'Dockerfile': 'dockerfile', \ 'csh': 'sh', \ 'javascriptreact': ['javascript', 'jsx'], \ 'plaintex': 'tex', \ 'ps1': 'powershell', \ 'rmarkdown': 'r', \ 'rmd': 'r', \ 'systemverilog': 'verilog', \ 'typescriptreact': ['typescript', 'tsx'], \ 'vader': ['vim', 'vader'], \ 'verilog_systemverilog': ['verilog_systemverilog', 'verilog'], \ 'vimwiki': 'markdown', \ 'vue': ['vue', 'javascript'], \ 'xsd': ['xsd', 'xml'], \ 'xslt': ['xslt', 'xml'], \ 'zsh': 'sh', \} " Default linters to run for particular filetypes. " The user defined linter selections will be merged with this Dictionary. " " No linters are used for plaintext files by default. " " Only cargo and rls are enabled for Rust by default. " rpmlint is disabled by default because it can result in code execution. " hhast is disabled by default because it executes code in the project root. " " NOTE: Update the g:ale_linters documentation when modifying this. let s:default_ale_linters = { \ 'apkbuild': ['apkbuild_lint', 'secfixes_check'], \ 'csh': ['shell'], \ 'elixir': ['credo', 'dialyxir', 'dogma'], \ 'go': ['gofmt', 'golint', 'gopls', 'govet'], \ 'hack': ['hack'], \ 'help': [], \ 'inko': ['inko'], \ 'json': ['jsonlint', 'spectral', 'vscodejson'], \ 'json5': [], \ 'jsonc': [], \ 'perl': ['perlcritic'], \ 'perl6': [], \ 'python': ['flake8', 'mypy', 'pylint', 'pyright', 'ruff'], \ 'rust': ['cargo', 'rls'], \ 'spec': [], \ 'text': [], \ 'vader': ['vimls'], \ 'vue': ['eslint', 'vls'], \ 'zsh': ['shell'], \ 'v': ['v'], \ 'yaml': ['spectral', 'yaml-language-server', 'yamllint'], \} " Testing/debugging helper to unload all linters. function! ale#linter#Reset() abort let s:runtime_loaded_map = {} let s:linters = {} endfunction " Return a reference to the linters loaded. " This is only for tests. " Do not call this function. function! ale#linter#GetLintersLoaded() abort " This command will throw from the sandbox. let &l:equalprg=&l:equalprg return s:linters endfunction function! s:IsCallback(value) abort return type(a:value) is v:t_string || type(a:value) is v:t_func endfunction function! s:IsBoolean(value) abort return type(a:value) is v:t_number && (a:value == 0 || a:value == 1) endfunction function! ale#linter#PreProcess(filetype, linter) abort if type(a:linter) isnot v:t_dict throw 'The linter object must be a Dictionary' endif let l:obj = { \ 'name': get(a:linter, 'name'), \ 'lsp': get(a:linter, 'lsp', ''), \} if type(l:obj.name) isnot v:t_string throw '`name` must be defined to name the linter' endif let l:needs_address = l:obj.lsp is# 'socket' let l:needs_executable = l:obj.lsp isnot# 'socket' let l:needs_command = l:obj.lsp isnot# 'socket' let l:needs_lsp_details = !empty(l:obj.lsp) if empty(l:obj.lsp) let l:obj.callback = get(a:linter, 'callback') if !s:IsCallback(l:obj.callback) throw '`callback` must be defined with a callback to accept output' endif endif if index(['', 'socket', 'stdio', 'tsserver'], l:obj.lsp) < 0 throw '`lsp` must be either `''lsp''`, `''stdio''`, `''socket''` or `''tsserver''` if defined' endif if !l:needs_executable if has_key(a:linter, 'executable') throw '`executable` cannot be used when lsp == ''socket''' endif elseif has_key(a:linter, 'executable') let l:obj.executable = a:linter.executable if type(l:obj.executable) isnot v:t_string \&& type(l:obj.executable) isnot v:t_func throw '`executable` must be a String or Function if defined' endif else throw '`executable` must be defined' endif if !l:needs_command if has_key(a:linter, 'command') throw '`command` cannot be used when lsp == ''socket''' endif elseif has_key(a:linter, 'command') let l:obj.command = a:linter.command if type(l:obj.command) isnot v:t_string \&& type(l:obj.command) isnot v:t_func throw '`command` must be a String or Function if defined' endif else throw '`command` must be defined' endif if !l:needs_address if has_key(a:linter, 'address') throw '`address` cannot be used when lsp != ''socket''' endif elseif has_key(a:linter, 'address') if type(a:linter.address) isnot v:t_string \&& type(a:linter.address) isnot v:t_func throw '`address` must be a String or Function if defined' endif let l:obj.address = a:linter.address if has_key(a:linter, 'cwd') throw '`cwd` makes no sense for socket LSP connections' endif else throw '`address` must be defined for getting the LSP address' endif if has_key(a:linter, 'cwd') let l:obj.cwd = a:linter.cwd if type(l:obj.cwd) isnot v:t_string \&& type(l:obj.cwd) isnot v:t_func throw '`cwd` must be a String or Function if defined' endif endif if l:needs_lsp_details " Default to using the filetype as the language. let l:obj.language = get(a:linter, 'language', a:filetype) if type(l:obj.language) isnot v:t_string \&& type(l:obj.language) isnot v:t_func throw '`language` must be a String or Function if defined' endif if has_key(a:linter, 'project_root') let l:obj.project_root = a:linter.project_root if type(l:obj.project_root) isnot v:t_string \&& type(l:obj.project_root) isnot v:t_func throw '`project_root` must be a String or Function' endif else throw '`project_root` must be defined for LSP linters' endif if has_key(a:linter, 'completion_filter') let l:obj.completion_filter = a:linter.completion_filter if !s:IsCallback(l:obj.completion_filter) throw '`completion_filter` must be a callback' endif endif if has_key(a:linter, 'initialization_options') let l:obj.initialization_options = a:linter.initialization_options if type(l:obj.initialization_options) isnot v:t_dict \&& type(l:obj.initialization_options) isnot v:t_func throw '`initialization_options` must be a Dictionary or Function if defined' endif endif if has_key(a:linter, 'lsp_config') if type(a:linter.lsp_config) isnot v:t_dict \&& type(a:linter.lsp_config) isnot v:t_func throw '`lsp_config` must be a Dictionary or Function if defined' endif let l:obj.lsp_config = a:linter.lsp_config endif endif let l:obj.output_stream = get(a:linter, 'output_stream', 'stdout') if type(l:obj.output_stream) isnot v:t_string \|| index(['stdout', 'stderr', 'both'], l:obj.output_stream) < 0 throw "`output_stream` must be 'stdout', 'stderr', or 'both'" endif " An option indicating that this linter should only be run against the " file on disk. let l:obj.lint_file = get(a:linter, 'lint_file', 0) if !s:IsBoolean(l:obj.lint_file) && type(l:obj.lint_file) isnot v:t_func throw '`lint_file` must be `0`, `1`, or a Function' endif " An option indicating that the buffer should be read. let l:obj.read_buffer = get(a:linter, 'read_buffer', 1) if !s:IsBoolean(l:obj.read_buffer) throw '`read_buffer` must be `0` or `1`' endif let l:obj.aliases = get(a:linter, 'aliases', []) if type(l:obj.aliases) isnot v:t_list \|| len(filter(copy(l:obj.aliases), 'type(v:val) isnot v:t_string')) > 0 throw '`aliases` must be a List of String values' endif return l:obj endfunction function! ale#linter#Define(filetype, linter) abort " This command will throw from the sandbox. let &l:equalprg=&l:equalprg let l:new_linter = ale#linter#PreProcess(a:filetype, a:linter) if !has_key(s:linters, a:filetype) let s:linters[a:filetype] = [] endif " Remove previously defined linters with the same name. call filter(s:linters[a:filetype], 'v:val.name isnot# a:linter.name') call add(s:linters[a:filetype], l:new_linter) endfunction " Prevent any linters from being loaded for a given filetype. function! ale#linter#PreventLoading(filetype) abort let s:runtime_loaded_map[a:filetype] = 1 endfunction function! ale#linter#GetAll(filetypes) abort " Don't return linters in the sandbox. " Otherwise a sandboxed script could modify them. if ale#util#InSandbox() return [] endif let l:combined_linters = [] for l:filetype in a:filetypes " Load linters from runtimepath if we haven't done that yet. if !has_key(s:runtime_loaded_map, l:filetype) execute 'silent! runtime! ale_linters/' . l:filetype . '/*.vim' let s:runtime_loaded_map[l:filetype] = 1 endif call extend(l:combined_linters, get(s:linters, l:filetype, [])) endfor return l:combined_linters endfunction function! s:GetAliasedFiletype(original_filetype) abort let l:buffer_aliases = get(b:, 'ale_linter_aliases', {}) " b:ale_linter_aliases can be set to a List or String. if type(l:buffer_aliases) is v:t_list \|| type(l:buffer_aliases) is v:t_string return l:buffer_aliases endif " Check for aliased filetypes first in a buffer variable, " then the global variable, " then in the default mapping, " otherwise use the original filetype. for l:dict in [ \ l:buffer_aliases, \ g:ale_linter_aliases, \ s:default_ale_linter_aliases, \] if has_key(l:dict, a:original_filetype) return l:dict[a:original_filetype] endif endfor return a:original_filetype endfunction function! ale#linter#ResolveFiletype(original_filetype) abort let l:filetype = s:GetAliasedFiletype(a:original_filetype) if type(l:filetype) isnot v:t_list return [l:filetype] endif return l:filetype endfunction function! s:GetLinterNames(original_filetype) abort let l:buffer_ale_linters = get(b:, 'ale_linters', {}) " b:ale_linters can be set to 'all' if l:buffer_ale_linters is# 'all' return 'all' endif " b:ale_linters can be set to a List. if type(l:buffer_ale_linters) is v:t_list return l:buffer_ale_linters endif " Try to get a buffer-local setting for the filetype if has_key(l:buffer_ale_linters, a:original_filetype) return l:buffer_ale_linters[a:original_filetype] endif " Try to get a global setting for the filetype if has_key(g:ale_linters, a:original_filetype) return g:ale_linters[a:original_filetype] endif " If the user has configured ALE to only enable linters explicitly, then " don't enable any linters by default. if g:ale_linters_explicit return [] endif " Try to get a default setting for the filetype if has_key(s:default_ale_linters, a:original_filetype) return s:default_ale_linters[a:original_filetype] endif return 'all' endfunction function! ale#linter#Get(original_filetypes) abort let l:possibly_duplicated_linters = [] " Handle dot-separated filetypes. for l:original_filetype in split(a:original_filetypes, '\.') let l:filetype = ale#linter#ResolveFiletype(l:original_filetype) let l:linter_names = s:GetLinterNames(l:original_filetype) let l:all_linters = ale#linter#GetAll(l:filetype) let l:filetype_linters = [] if type(l:linter_names) is v:t_string && l:linter_names is# 'all' let l:filetype_linters = l:all_linters elseif type(l:linter_names) is v:t_list " Select only the linters we or the user has specified. for l:linter in l:all_linters let l:name_list = [l:linter.name] + l:linter.aliases for l:name in l:name_list if index(l:linter_names, l:name) >= 0 call add(l:filetype_linters, l:linter) break endif endfor endfor endif call extend(l:possibly_duplicated_linters, l:filetype_linters) endfor let l:name_list = [] let l:combined_linters = [] " Make sure we override linters so we don't get two with the same name, " like 'eslint' for both 'javascript' and 'typescript' " " Note that the reverse calls here modify the List variables. for l:linter in reverse(l:possibly_duplicated_linters) if index(l:name_list, l:linter.name) < 0 call add(l:name_list, l:linter.name) call add(l:combined_linters, l:linter) endif endfor return reverse(l:combined_linters) endfunction function! ale#linter#RemoveIgnored(buffer, filetype, linters) abort " Apply ignore lists for linters only if needed. let l:ignore_config = ale#Var(a:buffer, 'linters_ignore') let l:disable_lsp = ale#Var(a:buffer, 'disable_lsp') return !empty(l:ignore_config) || l:disable_lsp \ ? ale#engine#ignore#Exclude(a:filetype, a:linters, l:ignore_config, l:disable_lsp) \ : a:linters endfunction " Given a buffer and linter, get the executable String for the linter. function! ale#linter#GetExecutable(buffer, linter) abort let l:Executable = a:linter.executable return type(l:Executable) is v:t_func \ ? l:Executable(a:buffer) \ : l:Executable endfunction function! ale#linter#GetCwd(buffer, linter) abort let l:Cwd = get(a:linter, 'cwd', v:null) return type(l:Cwd) is v:t_func ? l:Cwd(a:buffer) : l:Cwd endfunction " Given a buffer and linter, get the command String for the linter. function! ale#linter#GetCommand(buffer, linter) abort let l:Command = a:linter.command return type(l:Command) is v:t_func ? l:Command(a:buffer) : l:Command endfunction " Given a buffer and linter, get the address for connecting to the server. function! ale#linter#GetAddress(buffer, linter) abort let l:Address = a:linter.address return type(l:Address) is v:t_func ? l:Address(a:buffer) : l:Address endfunction function! ale#linter#GetLanguage(buffer, linter) abort let l:Language = a:linter.language return type(l:Language) is v:t_func ? l:Language(a:buffer) : l:Language endfunction ================================================ FILE: bundle/ale/autoload/ale/list.vim ================================================ " Author: Bjorn Neergaard , modified by Yann fery " Description: Manages the loclist and quickfix lists " This flag dictates if ale open the configured loclist let g:ale_open_list = get(g:, 'ale_open_list', 0) " This flag dictates if ale keeps open loclist even if there is no error in loclist let g:ale_keep_list_window_open = get(g:, 'ale_keep_list_window_open', 0) " This flag dictates that quickfix windows should be opened vertically let g:ale_list_vertical = get(g:, 'ale_list_vertical', 0) " The window size to set for the quickfix and loclist windows let g:ale_list_window_size = get(g:, 'ale_list_window_size', 10) " A string format for the loclist messages. let g:ale_loclist_msg_format = get(g:, 'ale_loclist_msg_format', \ get(g:, 'ale_echo_msg_format', '%code: %%s') \) if !exists('s:timer_args') let s:timer_args = {} endif " Return 1 if there is a buffer with buftype == 'quickfix' in buffer list function! ale#list#IsQuickfixOpen() abort let l:res = getqflist({ 'winid' : winnr() }) if has_key(l:res, 'winid') && l:res.winid > 0 return 1 endif let l:res = getloclist(0, { 'winid' : winnr() }) if has_key(l:res, 'winid') && l:res.winid > 0 return 1 endif return 0 endfunction " Check if we should open the list, based on the save event being fired, and " that setting being on, or that the error count is at least as high as the " setting when set to an integer value. function! s:ShouldOpen(buffer, loclist_len) abort let l:val = ale#Var(a:buffer, 'open_list') let l:saved = getbufvar(a:buffer, 'ale_save_event_fired', 0) return l:val > 0 ? a:loclist_len >= l:val : l:val is# 'on_save' && l:saved endfunction " Check if we should close the list, based on the save event being fired, and " that setting being on, or the setting just being set to an integer value. function! s:ShouldClose(buffer) abort let l:val = ale#Var(a:buffer, 'open_list') let l:saved = getbufvar(a:buffer, 'ale_save_event_fired', 0) return !((l:val >= 1) || (l:val is# 'on_save' && l:saved)) endfunction function! s:Deduplicate(list) abort let l:list = a:list call sort(l:list, function('ale#util#LocItemCompareWithText')) call uniq(l:list, function('ale#util#LocItemCompareWithText')) return l:list endfunction function! ale#list#GetCombinedList() abort let l:list = [] for l:info in values(g:ale_buffer_info) call extend(l:list, l:info.loclist) endfor return s:Deduplicate(l:list) endfunction function! s:FixList(buffer, list) abort let l:format = ale#Var(a:buffer, 'loclist_msg_format') let l:new_list = [] for l:item in a:list let l:fixed_item = copy(l:item) let l:fixed_item.text = ale#GetLocItemMessage(l:item, l:format) if l:item.bufnr == -1 " If the buffer number is invalid, remove it. call remove(l:fixed_item, 'bufnr') endif call add(l:new_list, l:fixed_item) endfor return l:new_list endfunction function! s:WinFindBuf(buffer) abort return exists('*win_findbuf') ? win_findbuf(str2nr(a:buffer)) : [0] endfunction function! s:SetListsImpl(timer_id, buffer, loclist) abort let l:title = expand('#' . a:buffer . ':p') if g:ale_set_quickfix let l:quickfix_list = ale#list#GetCombinedList() if has('nvim') call setqflist(s:FixList(a:buffer, l:quickfix_list), ' ', l:title) else call setqflist(s:FixList(a:buffer, l:quickfix_list)) call setqflist([], 'r', {'title': l:title}) endif elseif g:ale_set_loclist " If windows support is off, win_findbuf() may not exist. " We'll set result in the current window, which might not be correct, " but it's better than nothing. let l:ids = s:WinFindBuf(a:buffer) let l:loclist = s:Deduplicate(a:loclist) for l:id in l:ids if has('nvim') call setloclist(l:id, s:FixList(a:buffer, l:loclist), ' ', l:title) else call setloclist(l:id, s:FixList(a:buffer, l:loclist)) call setloclist(l:id, [], 'r', {'title': l:title}) endif endfor endif " Save the current view before opening/closing any window call setbufvar(a:buffer, 'ale_winview', winsaveview()) " Open a window to show the problems if we need to. " " ShouldOpen() checks if the current buffer has enough problems to be " opened. if s:ShouldOpen(a:buffer, len(a:loclist)) let l:winnr = winnr() let l:mode = mode() " open windows vertically instead of default horizontally let l:open_type = '' if ale#Var(a:buffer, 'list_vertical') == 1 let l:open_type = 'vert rightbelow ' endif if g:ale_set_quickfix if !ale#list#IsQuickfixOpen() silent! execute l:open_type . 'copen ' . str2nr(ale#Var(a:buffer, 'list_window_size')) endif elseif g:ale_set_loclist silent! execute l:open_type . 'lopen ' . str2nr(ale#Var(a:buffer, 'list_window_size')) endif " If focus changed, restore it (jump to the last window). if l:winnr isnot# winnr() wincmd p endif " Return to original mode when applicable if mode() != l:mode if l:mode is? 'v' || l:mode is# "\" " Reset our last visual selection normal! gv elseif l:mode is? 's' || l:mode is# "\" " Reset our last character selection normal! "\" endif endif call s:RestoreViewIfNeeded(a:buffer) endif " If ALE isn't currently checking for more problems, close the window if " needed now. This check happens inside of this timer function, so " the window can be closed reliably. if !ale#engine#IsCheckingBuffer(a:buffer) call s:CloseWindowIfNeeded(a:buffer) endif endfunction " Try to restore the window view after closing any of the lists to avoid making " the it moving around, especially useful when on insert mode function! s:RestoreViewIfNeeded(buffer) abort let l:saved_view = getbufvar(a:buffer, 'ale_winview', {}) " Saved view is empty, can't do anything if empty(l:saved_view) return endif " Check whether the cursor has moved since linting was actually requested. If " the user has indeed moved lines, do nothing let l:current_view = winsaveview() if l:current_view['lnum'] != l:saved_view['lnum'] return endif " Anchor view by topline if the list is set to open horizontally if ale#Var(a:buffer, 'list_vertical') == 0 call winrestview({'topline': l:saved_view['topline']}) endif endfunction function! ale#list#SetLists(buffer, loclist) abort if get(g:, 'ale_set_lists_synchronously') == 1 \|| getbufvar(a:buffer, 'ale_save_event_fired', 0) " Update lists immediately if running a test synchronously, or if the " buffer was saved. " " The lists need to be updated immediately when saving a buffer so " that we can reliably close window automatically, if so configured. call s:SetListsImpl(-1, a:buffer, a:loclist) else call ale#util#StartPartialTimer( \ 0, \ function('s:SetListsImpl'), \ [a:buffer, a:loclist], \) endif endfunction function! ale#list#ForcePopulateErrorList(populate_quickfix) abort let l:quickfix_bak = g:ale_set_quickfix let g:ale_set_quickfix = a:populate_quickfix let l:loclist_bak = g:ale_set_loclist let g:ale_set_loclist = !a:populate_quickfix let l:open_list_bak = g:ale_open_list let g:ale_open_list = 1 let l:buffer = bufnr('') let l:loclist = get(g:ale_buffer_info, l:buffer, {'loclist': []}).loclist call s:SetListsImpl(-1, l:buffer, l:loclist) let g:ale_open_list = l:open_list_bak let g:ale_set_loclist = l:loclist_bak let g:ale_set_quickfix = l:quickfix_bak endfunction function! s:CloseWindowIfNeeded(buffer) abort if ale#Var(a:buffer, 'keep_list_window_open') || s:ShouldClose(a:buffer) return endif let l:did_close_any_list = 0 try " Only close windows if the quickfix list or loclist is completely empty, " including errors set through other means. if g:ale_set_quickfix if empty(getqflist()) cclose let l:did_close_any_list = 1 endif else let l:win_ids = s:WinFindBuf(a:buffer) for l:win_id in l:win_ids if g:ale_set_loclist && empty(getloclist(l:win_id)) lclose let l:did_close_any_list = 1 endif endfor endif " Ignore 'Cannot close last window' errors. catch /E444/ endtry if l:did_close_any_list call s:RestoreViewIfNeeded(a:buffer) endif endfunction ================================================ FILE: bundle/ale/autoload/ale/loclist_jumping.vim ================================================ " Author: w0rp " Description: This file implements functions for jumping around in a file " based on ALE's internal loclist. " Search for the nearest line either before or after the current position " in the loclist. The argument 'wrap' can be passed to enable wrapping " around the end of the list. " " If there are no items or we have hit the end with wrapping off, an empty " List will be returned, otherwise a pair of [line_number, column_number] will " be returned. function! ale#loclist_jumping#FindNearest(direction, wrap, ...) abort let l:buffer = bufnr('') let l:pos = getpos('.') let l:info = get(g:ale_buffer_info, bufnr('%'), {'loclist': []}) " Copy the list and filter to only the items in this buffer. let l:loclist = filter(copy(l:info.loclist), 'v:val.bufnr == l:buffer') let l:search_item = {'bufnr': l:buffer, 'lnum': l:pos[1], 'col': l:pos[2]} if a:0 > 0 let l:filter = a:1 else let l:filter = 'any' endif if a:0 > 1 let l:subtype_filter = a:2 else let l:subtype_filter = 'any' endif " When searching backwards, so we can find the next smallest match. if a:direction is# 'before' call reverse(l:loclist) endif " Look for items before or after the current position. for l:item in l:loclist " Compare the cursor with a item where the column number is bounded, " such that it's possible for the cursor to actually be on the given " column number, without modifying the cursor number we return. This " will allow us to move through matches, but still let us move the " cursor to a line without changing the column, in some cases. let l:cmp_value = ale#util#LocItemCompare( \ { \ 'bufnr': l:buffer, \ 'lnum': l:item.lnum, \ 'col': min([ \ max([l:item.col, 1]), \ max([len(getline(l:item.lnum)), 1]), \ ]), \ }, \ l:search_item \) if (l:filter is# 'any' || l:filter is# l:item.type) \&& ( \ l:subtype_filter is# 'any' \ || l:subtype_filter is# get(l:item, 'sub_type', '') \) if a:direction is# 'before' && l:cmp_value < 0 return [l:item.lnum, l:item.col] endif if a:direction is# 'after' && l:cmp_value > 0 return [l:item.lnum, l:item.col] endif endif endfor " If we found nothing, and the wrap option is set to 1, then we should " wrap around the list of warnings/errors if a:wrap for l:item in l:loclist if (l:filter is# 'any' || l:filter is# l:item.type) \&& ( \ l:subtype_filter is# 'any' \ || l:subtype_filter is# get(l:item, 'sub_type', '') \) return [l:item.lnum, l:item.col] endif endfor endif return [] endfunction " As before, find the nearest match, but position the cursor at it. function! ale#loclist_jumping#Jump(direction, ...) abort if a:0 > 0 let l:wrap = a:1 else let l:wrap = 0 endif if a:0 > 1 let l:filter = a:2 else let l:filter = 'any' endif if a:0 > 2 let l:subtype_filter = a:3 else let l:subtype_filter = 'any' endif let l:nearest = ale#loclist_jumping#FindNearest(a:direction, \ l:wrap, l:filter, l:subtype_filter) if !empty(l:nearest) normal! m` call cursor([l:nearest[0], max([l:nearest[1], 1])]) endif endfunction function! ale#loclist_jumping#WrapJump(direction, sargs) abort let [l:args, l:rest] = ale#args#Parse(['error', 'warning', 'info', 'wrap', \ 'style', 'nostyle'], a:sargs) let l:wrap = 0 let l:type_filter = 'any' let l:subtype_filter = 'any' if get(l:args, 'wrap', 'nil') is# '' let l:wrap = 1 endif if get(l:args, 'error', 'nil') is# '' let l:type_filter = 'E' elseif get(l:args, 'warning', 'nil') is# '' let l:type_filter = 'W' elseif get(l:args, 'info', 'nil') is# '' let l:type_filter = 'I' endif if get(l:args, 'nostyle', 'nil') is# '' let l:subtype_filter = 'style' elseif get(l:args, 'style', 'nil') is# '' let l:subtype_filter = '' endif call ale#loclist_jumping#Jump(a:direction, l:wrap, l:type_filter, \ l:subtype_filter) endfunction function! ale#loclist_jumping#JumpToIndex(index) abort let l:buffer = bufnr('') let l:info = get(g:ale_buffer_info, l:buffer, {'loclist': []}) let l:loclist = filter(copy(l:info.loclist), 'v:val.bufnr == l:buffer') if empty(l:loclist) return endif let l:item = l:loclist[a:index] if !empty(l:item) normal! m` call cursor([l:item.lnum, l:item.col]) endif endfunction ================================================ FILE: bundle/ale/autoload/ale/lsp/message.vim ================================================ " Author: w0rp " Description: Language Server Protocol message implementations " " Messages in this movie will be returned in the format " [is_notification, method_name, params?] " " All functions which accept line and column arguments expect them to be 1-based " (the same format as being returned by getpos() and friends), those then " will be converted to 0-based as specified by LSP. let g:ale_lsp_next_version_id = 1 " The LSP protocols demands that we send every change to a document, including " undo, with incrementing version numbers, so we'll just use one incrementing " ID for everything. function! ale#lsp#message#GetNextVersionID() abort " Use the current ID let l:id = g:ale_lsp_next_version_id " Increment the ID variable. let g:ale_lsp_next_version_id += 1 " When the ID overflows, reset it to 1. By the time we hit the initial ID " again, the messages will be long gone. if g:ale_lsp_next_version_id < 1 let g:ale_lsp_next_version_id = 1 endif return l:id endfunction function! ale#lsp#message#Initialize(root_path, options, capabilities) abort " NOTE: rootPath is deprecated in favour of rootUri return [0, 'initialize', { \ 'processId': getpid(), \ 'rootPath': a:root_path, \ 'capabilities': a:capabilities, \ 'initializationOptions': a:options, \ 'rootUri': ale#util#ToURI(a:root_path), \}] endfunction function! ale#lsp#message#Initialized() abort return [1, 'initialized', {}] endfunction function! ale#lsp#message#Shutdown() abort return [0, 'shutdown'] endfunction function! ale#lsp#message#Exit() abort return [1, 'exit'] endfunction function! ale#lsp#message#DidOpen(buffer, language_id) abort let l:lines = getbufline(a:buffer, 1, '$') return [1, 'textDocument/didOpen', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ 'languageId': a:language_id, \ 'version': ale#lsp#message#GetNextVersionID(), \ 'text': join(l:lines, "\n") . "\n", \ }, \}] endfunction function! ale#lsp#message#DidChange(buffer) abort let l:lines = getbufline(a:buffer, 1, '$') " For changes, we simply send the full text of the document to the server. return [1, 'textDocument/didChange', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ 'version': ale#lsp#message#GetNextVersionID(), \ }, \ 'contentChanges': [{'text': join(l:lines, "\n") . "\n"}] \}] endfunction function! ale#lsp#message#DidSave(buffer, include_text) abort let l:response = [1, 'textDocument/didSave', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \}] if a:include_text let l:response[2].textDocument.version = ale#lsp#message#GetNextVersionID() let l:response[2].text = ale#util#GetBufferContents(a:buffer) endif return l:response endfunction function! ale#lsp#message#DidClose(buffer) abort return [1, 'textDocument/didClose', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \}] endfunction let s:COMPLETION_TRIGGER_INVOKED = 1 let s:COMPLETION_TRIGGER_CHARACTER = 2 function! ale#lsp#message#Completion(buffer, line, column, trigger_character) abort let l:message = [0, 'textDocument/completion', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \}] if !empty(a:trigger_character) let l:message[2].context = { \ 'triggerKind': s:COMPLETION_TRIGGER_CHARACTER, \ 'triggerCharacter': a:trigger_character, \} endif return l:message endfunction function! ale#lsp#message#Definition(buffer, line, column) abort return [0, 'textDocument/definition', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \}] endfunction function! ale#lsp#message#TypeDefinition(buffer, line, column) abort return [0, 'textDocument/typeDefinition', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \}] endfunction function! ale#lsp#message#Implementation(buffer, line, column) abort return [0, 'textDocument/implementation', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \}] endfunction function! ale#lsp#message#References(buffer, line, column) abort return [0, 'textDocument/references', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \ 'context': {'includeDeclaration': v:false}, \}] endfunction function! ale#lsp#message#Symbol(query) abort return [0, 'workspace/symbol', { \ 'query': a:query, \}] endfunction function! ale#lsp#message#Hover(buffer, line, column) abort return [0, 'textDocument/hover', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \}] endfunction function! ale#lsp#message#DidChangeConfiguration(buffer, config) abort return [1, 'workspace/didChangeConfiguration', { \ 'settings': a:config, \}] endfunction function! ale#lsp#message#Rename(buffer, line, column, new_name) abort return [0, 'textDocument/rename', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \ 'newName': a:new_name, \}] endfunction function! ale#lsp#message#CodeAction(buffer, line, column, end_line, end_column, diagnostics) abort return [0, 'textDocument/codeAction', { \ 'textDocument': { \ 'uri': ale#util#ToURI(expand('#' . a:buffer . ':p')), \ }, \ 'range': { \ 'start': {'line': a:line - 1, 'character': a:column - 1}, \ 'end': {'line': a:end_line - 1, 'character': a:end_column}, \ }, \ 'context': { \ 'diagnostics': a:diagnostics \ }, \}] endfunction function! ale#lsp#message#ExecuteCommand(command, arguments) abort return [0, 'workspace/executeCommand', { \ 'command': a:command, \ 'arguments': a:arguments, \}] endfunction ================================================ FILE: bundle/ale/autoload/ale/lsp/reset.vim ================================================ " Stop all LSPs and remove all of the data for them. function! ale#lsp#reset#StopAllLSPs() abort call ale#lsp#StopAll() if exists('*ale#definition#ClearLSPData') " Clear the mapping for connections, etc. call ale#definition#ClearLSPData() endif if exists('*ale#lsp_linter#ClearLSPData') " Clear the mapping for connections, etc. call ale#lsp_linter#ClearLSPData() " Remove the problems for all of the LSP linters in every buffer. for l:buffer_string in keys(g:ale_buffer_info) let l:buffer = str2nr(l:buffer_string) for l:linter in ale#linter#Get(getbufvar(l:buffer, '&filetype')) if !empty(l:linter.lsp) call ale#engine#HandleLoclist(l:linter.name, l:buffer, [], 0) endif endfor endfor endif endfunction ================================================ FILE: bundle/ale/autoload/ale/lsp/response.vim ================================================ " Author: w0rp " Description: Parsing and transforming of LSP server responses. " Constants for error codes. " Defined by JSON RPC let s:PARSE_ERROR = -32700 let s:INVALID_REQUEST = -32600 let s:METHOD_NOT_FOUND = -32601 let s:INVALID_PARAMS = -32602 let s:INTERNAL_ERROR = -32603 let s:SERVER_ERROR_START = -32099 let s:SERVER_ERROR_END = -32000 let s:SERVER_NOT_INITIALIZED = -32002 let s:UNKNOWN_ERROR_CODE = -32001 " Defined by the protocol. let s:REQUEST_CANCELLED = -32800 " Constants for message severity codes. let s:SEVERITY_ERROR = 1 let s:SEVERITY_WARNING = 2 let s:SEVERITY_INFORMATION = 3 let s:SEVERITY_HINT = 4 " Parse the message for textDocument/publishDiagnostics function! ale#lsp#response#ReadDiagnostics(response) abort let l:loclist = [] for l:diagnostic in a:response.params.diagnostics let l:severity = get(l:diagnostic, 'severity', 0) let l:loclist_item = { \ 'text': substitute(l:diagnostic.message, '\(\r\n\|\n\|\r\)', ' ', 'g'), \ 'type': 'E', \ 'lnum': l:diagnostic.range.start.line + 1, \ 'col': l:diagnostic.range.start.character + 1, \ 'end_lnum': l:diagnostic.range.end.line + 1, \ 'end_col': l:diagnostic.range.end.character, \} if l:severity == s:SEVERITY_WARNING let l:loclist_item.type = 'W' elseif l:severity == s:SEVERITY_INFORMATION " TODO: Use 'I' here in future. let l:loclist_item.type = 'W' elseif l:severity == s:SEVERITY_HINT " TODO: Use 'H' here in future let l:loclist_item.type = 'W' endif if has_key(l:diagnostic, 'code') if type(l:diagnostic.code) == v:t_string let l:loclist_item.code = l:diagnostic.code elseif type(l:diagnostic.code) == v:t_number && l:diagnostic.code != -1 let l:loclist_item.code = string(l:diagnostic.code) let l:loclist_item.nr = l:diagnostic.code endif endif if has_key(l:diagnostic, 'relatedInformation') \ && l:diagnostic.relatedInformation isnot v:null let l:related = deepcopy(l:diagnostic.relatedInformation) call map(l:related, {key, val -> \ ale#util#ToResource(val.location.uri) . \ ':' . (val.location.range.start.line + 1) . \ ':' . (val.location.range.start.character + 1) . \ ":\n\t" . val.message \}) let l:loclist_item.detail = l:diagnostic.message . "\n" . join(l:related, "\n") endif if has_key(l:diagnostic, 'source') let l:loclist_item.detail = printf( \ '[%s] %s', \ l:diagnostic.source, \ l:diagnostic.message \) endif call add(l:loclist, l:loclist_item) endfor return l:loclist endfunction function! ale#lsp#response#ReadTSServerDiagnostics(response) abort let l:loclist = [] for l:diagnostic in a:response.body.diagnostics let l:loclist_item = { \ 'text': l:diagnostic.text, \ 'type': 'E', \ 'lnum': l:diagnostic.start.line, \ 'col': l:diagnostic.start.offset, \ 'end_lnum': l:diagnostic.end.line, \ 'end_col': l:diagnostic.end.offset - 1, \} if has_key(l:diagnostic, 'code') if type(l:diagnostic.code) == v:t_string let l:loclist_item.code = l:diagnostic.code elseif type(l:diagnostic.code) == v:t_number && l:diagnostic.code != -1 let l:loclist_item.code = string(l:diagnostic.code) let l:loclist_item.nr = l:diagnostic.code endif endif if get(l:diagnostic, 'category') is# 'warning' let l:loclist_item.type = 'W' endif if get(l:diagnostic, 'category') is# 'suggestion' let l:loclist_item.type = 'I' endif call add(l:loclist, l:loclist_item) endfor return l:loclist endfunction function! ale#lsp#response#GetErrorMessage(response) abort if type(get(a:response, 'error', 0)) isnot v:t_dict return '' endif let l:code = get(a:response.error, 'code') " Only report things for these error codes. if l:code isnot s:INVALID_PARAMS && l:code isnot s:INTERNAL_ERROR return '' endif let l:message = get(a:response.error, 'message', '') if empty(l:message) return '' endif " Include the traceback or error data as details, if present. let l:error_data = get(a:response.error, 'data', {}) if type(l:error_data) is v:t_string let l:message .= "\n" . l:error_data elseif type(l:error_data) is v:t_dict let l:traceback = get(l:error_data, 'traceback', []) if type(l:traceback) is v:t_list && !empty(l:traceback) let l:message .= "\n" . join(l:traceback, "\n") endif endif return l:message endfunction ================================================ FILE: bundle/ale/autoload/ale/lsp/tsserver_message.vim ================================================ " Author: w0rp " Description: tsserver message implementations " " Messages in this movie will be returned in the format " [is_notification, command_name, params?] " " Every command must begin with the string 'ts@', which will be used to " detect the different message format for tsserver, and this string will " be removed from the actual command name, function! ale#lsp#tsserver_message#Open(buffer) abort return [1, 'ts@open', {'file': expand('#' . a:buffer . ':p')}] endfunction function! ale#lsp#tsserver_message#Close(buffer) abort return [1, 'ts@close', {'file': expand('#' . a:buffer . ':p')}] endfunction function! ale#lsp#tsserver_message#Change(buffer) abort let l:lines = getbufline(a:buffer, 1, '$') " We will always use a very high endLine number, so we can delete " lines from files. tsserver will gladly accept line numbers beyond the " end. return [1, 'ts@change', { \ 'file': expand('#' . a:buffer . ':p'), \ 'line': 1, \ 'offset': 1, \ 'endLine': 1073741824, \ 'endOffset': 1, \ 'insertString': join(l:lines, "\n") . "\n", \}] endfunction function! ale#lsp#tsserver_message#Geterr(buffer) abort return [1, 'ts@geterr', {'files': [expand('#' . a:buffer . ':p')]}] endfunction function! ale#lsp#tsserver_message#Completions( \ buffer, line, column, prefix, include_external) abort return [0, 'ts@completions', { \ 'line': a:line, \ 'offset': a:column, \ 'file': expand('#' . a:buffer . ':p'), \ 'prefix': a:prefix, \ 'includeExternalModuleExports': a:include_external, \}] endfunction function! ale#lsp#tsserver_message#CompletionEntryDetails(buffer, line, column, entry_names) abort return [0, 'ts@completionEntryDetails', { \ 'line': a:line, \ 'offset': a:column, \ 'file': expand('#' . a:buffer . ':p'), \ 'entryNames': a:entry_names, \}] endfunction function! ale#lsp#tsserver_message#Definition(buffer, line, column) abort return [0, 'ts@definition', { \ 'line': a:line, \ 'offset': a:column, \ 'file': expand('#' . a:buffer . ':p'), \}] endfunction function! ale#lsp#tsserver_message#TypeDefinition(buffer, line, column) abort return [0, 'ts@typeDefinition', { \ 'line': a:line, \ 'offset': a:column, \ 'file': expand('#' . a:buffer . ':p'), \}] endfunction function! ale#lsp#tsserver_message#Implementation(buffer, line, column) abort return [0, 'ts@implementation', { \ 'line': a:line, \ 'offset': a:column, \ 'file': expand('#' . a:buffer . ':p'), \}] endfunction function! ale#lsp#tsserver_message#References(buffer, line, column) abort return [0, 'ts@references', { \ 'line': a:line, \ 'offset': a:column, \ 'file': expand('#' . a:buffer . ':p'), \}] endfunction function! ale#lsp#tsserver_message#Quickinfo(buffer, line, column) abort return [0, 'ts@quickinfo', { \ 'line': a:line, \ 'offset': a:column, \ 'file': expand('#' . a:buffer . ':p'), \}] endfunction function! ale#lsp#tsserver_message#Rename( \ buffer, line, column, find_in_comments, find_in_strings) abort return [0, 'ts@rename', { \ 'line': a:line, \ 'offset': a:column, \ 'file': expand('#' . a:buffer . ':p'), \ 'arguments': { \ 'findInComments': a:find_in_comments, \ 'findInStrings': a:find_in_strings, \ } \}] endfunction function! ale#lsp#tsserver_message#GetEditsForFileRename( \ oldFilePath, newFilePath) abort return [0, 'ts@getEditsForFileRename', { \ 'oldFilePath': a:oldFilePath, \ 'newFilePath': a:newFilePath, \}] endfunction function! ale#lsp#tsserver_message#OrganizeImports(buffer) abort return [0, 'ts@organizeImports', { \ 'scope': { \ 'type': 'file', \ 'args': { \ 'file': expand('#' . a:buffer . ':p'), \ }, \ }, \}] endfunction function! ale#lsp#tsserver_message#GetCodeFixes(buffer, line, column, end_line, end_column, error_codes) abort " The lines and columns are 1-based. " The errors codes must be a list of tsserver error codes to fix. return [0, 'ts@getCodeFixes', { \ 'startLine': a:line, \ 'startOffset': a:column, \ 'endLine': a:end_line, \ 'endOffset': a:end_column + 1, \ 'file': expand('#' . a:buffer . ':p'), \ 'errorCodes': a:error_codes, \}] endfunction function! ale#lsp#tsserver_message#GetApplicableRefactors(buffer, line, column, end_line, end_column) abort " The arguments for this request can also be just 'line' and 'offset' return [0, 'ts@getApplicableRefactors', { \ 'startLine': a:line, \ 'startOffset': a:column, \ 'endLine': a:end_line, \ 'endOffset': a:end_column + 1, \ 'file': expand('#' . a:buffer . ':p'), \}] endfunction function! ale#lsp#tsserver_message#GetEditsForRefactor(buffer, line, column, end_line, end_column, refactor, action) abort return [0, 'ts@getEditsForRefactor', { \ 'startLine': a:line, \ 'startOffset': a:column, \ 'endLine': a:end_line, \ 'endOffset': a:end_column + 1, \ 'file': expand('#' . a:buffer . ':p'), \ 'refactor': a:refactor, \ 'action': a:action, \}] endfunction ================================================ FILE: bundle/ale/autoload/ale/lsp.vim ================================================ " Author: w0rp " Description: Language Server Protocol client code " A Dictionary for tracking connections. let s:connections = get(s:, 'connections', {}) let g:ale_lsp_next_message_id = 1 " Given an id, which can be an executable or address, and a project path, " create a new connection if needed. Return a unique ID for the connection. function! ale#lsp#Register(executable_or_address, project, init_options) abort let l:conn_id = a:executable_or_address . ':' . a:project if !has_key(s:connections, l:conn_id) " is_tsserver: 1 if the connection is for tsserver. " data: The message data received so far. " root: The project root. " open_documents: A Dictionary mapping buffers to b:changedtick, keeping " track of when documents were opened, and when we last changed them. " initialized: 0 if the connection is ready, 1 otherwise. " init_request_id: The ID for the init request. " init_options: Options to send to the server. " config: Configuration settings to send to the server. " callback_list: A list of callbacks for handling LSP responses. " capabilities_queue: The list of callbacks to call with capabilities. " capabilities: Features the server supports. let s:connections[l:conn_id] = { \ 'id': l:conn_id, \ 'is_tsserver': 0, \ 'data': '', \ 'root': a:project, \ 'open_documents': {}, \ 'initialized': 0, \ 'init_request_id': 0, \ 'init_options': a:init_options, \ 'config': {}, \ 'callback_list': [], \ 'init_queue': [], \ 'capabilities': { \ 'hover': 0, \ 'rename': 0, \ 'filerename': 0, \ 'references': 0, \ 'completion': 0, \ 'completion_trigger_characters': [], \ 'definition': 0, \ 'typeDefinition': 0, \ 'implementation': 0, \ 'symbol_search': 0, \ 'code_actions': 0, \ 'did_save': 0, \ 'includeText': 0, \ }, \} endif return l:conn_id endfunction " Remove an LSP connection with a given ID. This is only for tests. function! ale#lsp#RemoveConnectionWithID(id) abort if has_key(s:connections, a:id) call remove(s:connections, a:id) endif endfunction function! ale#lsp#ResetConnections() abort let s:connections = {} endfunction " Used only in tests. function! ale#lsp#GetConnections() abort " This command will throw from the sandbox. let &l:equalprg=&l:equalprg return s:connections endfunction " This is only needed for tests function! ale#lsp#MarkDocumentAsOpen(id, buffer) abort let l:conn = get(s:connections, a:id, {}) if !empty(l:conn) let l:conn.open_documents[a:buffer] = -1 endif endfunction function! ale#lsp#GetNextMessageID() abort " Use the current ID let l:id = g:ale_lsp_next_message_id " Increment the ID variable. let g:ale_lsp_next_message_id += 1 " When the ID overflows, reset it to 1. By the time we hit the initial ID " again, the messages will be long gone. if g:ale_lsp_next_message_id < 1 let g:ale_lsp_next_message_id = 1 endif return l:id endfunction " TypeScript messages use a different format. function! s:CreateTSServerMessageData(message) abort let l:is_notification = a:message[0] let l:obj = { \ 'seq': v:null, \ 'type': 'request', \ 'command': a:message[1][3:], \} if !l:is_notification let l:obj.seq = ale#lsp#GetNextMessageID() endif if len(a:message) > 2 let l:obj.arguments = a:message[2] endif let l:data = json_encode(l:obj) . "\n" return [l:is_notification ? 0 : l:obj.seq, l:data] endfunction " Given a List of one or two items, [method_name] or [method_name, params], " return a List containing [message_id, message_data] function! ale#lsp#CreateMessageData(message) abort if a:message[1][:2] is# 'ts@' return s:CreateTSServerMessageData(a:message) endif let l:is_notification = a:message[0] let l:obj = { \ 'method': a:message[1], \ 'jsonrpc': '2.0', \} if !l:is_notification let l:obj.id = ale#lsp#GetNextMessageID() endif if len(a:message) > 2 let l:obj.params = a:message[2] endif let l:body = json_encode(l:obj) let l:data = 'Content-Length: ' . strlen(l:body) . "\r\n\r\n" . l:body return [l:is_notification ? 0 : l:obj.id, l:data] endfunction function! ale#lsp#ReadMessageData(data) abort let l:response_list = [] let l:remainder = a:data while 1 " Look for the end of the HTTP headers let l:body_start_index = matchend(l:remainder, "\r\n\r\n") if l:body_start_index < 0 " No header end was found yet. break endif " Parse the Content-Length header. let l:header_data = l:remainder[:l:body_start_index - 4] let l:length_match = matchlist( \ l:header_data, \ '\vContent-Length: *(\d+)' \) if empty(l:length_match) throw "Invalid JSON-RPC header:\n" . l:header_data endif " Split the body and the remainder of the text. let l:remainder_start_index = l:body_start_index + str2nr(l:length_match[1]) if len(l:remainder) < l:remainder_start_index " We don't have enough data yet. break endif let l:body = l:remainder[l:body_start_index : l:remainder_start_index - 1] let l:remainder = l:remainder[l:remainder_start_index :] " Parse the JSON object and add it to the list. call add(l:response_list, json_decode(l:body)) endwhile return [l:remainder, l:response_list] endfunction " Update capabilities from the server, so we know which features the server " supports. function! s:UpdateCapabilities(conn, capabilities) abort if type(a:capabilities) isnot v:t_dict return endif if get(a:capabilities, 'hoverProvider') is v:true let a:conn.capabilities.hover = 1 endif if type(get(a:capabilities, 'hoverProvider')) is v:t_dict let a:conn.capabilities.hover = 1 endif if get(a:capabilities, 'referencesProvider') is v:true let a:conn.capabilities.references = 1 endif if type(get(a:capabilities, 'referencesProvider')) is v:t_dict let a:conn.capabilities.references = 1 endif if get(a:capabilities, 'renameProvider') is v:true let a:conn.capabilities.rename = 1 endif if type(get(a:capabilities, 'renameProvider')) is v:t_dict let a:conn.capabilities.rename = 1 endif if get(a:capabilities, 'codeActionProvider') is v:true let a:conn.capabilities.code_actions = 1 endif if type(get(a:capabilities, 'codeActionProvider')) is v:t_dict let a:conn.capabilities.code_actions = 1 endif if !empty(get(a:capabilities, 'completionProvider')) let a:conn.capabilities.completion = 1 endif if type(get(a:capabilities, 'completionProvider')) is v:t_dict let l:chars = get(a:capabilities.completionProvider, 'triggerCharacters') if type(l:chars) is v:t_list let a:conn.capabilities.completion_trigger_characters = l:chars endif endif if get(a:capabilities, 'definitionProvider') is v:true let a:conn.capabilities.definition = 1 endif if type(get(a:capabilities, 'definitionProvider')) is v:t_dict let a:conn.capabilities.definition = 1 endif if get(a:capabilities, 'typeDefinitionProvider') is v:true let a:conn.capabilities.typeDefinition = 1 endif if type(get(a:capabilities, 'typeDefinitionProvider')) is v:t_dict let a:conn.capabilities.typeDefinition = 1 endif if get(a:capabilities, 'implementationProvider') is v:true let a:conn.capabilities.implementation = 1 endif if type(get(a:capabilities, 'implementationProvider')) is v:t_dict let a:conn.capabilities.implementation = 1 endif if get(a:capabilities, 'workspaceSymbolProvider') is v:true let a:conn.capabilities.symbol_search = 1 endif if type(get(a:capabilities, 'workspaceSymbolProvider')) is v:t_dict let a:conn.capabilities.symbol_search = 1 endif if type(get(a:capabilities, 'textDocumentSync')) is v:t_dict let l:syncOptions = get(a:capabilities, 'textDocumentSync') if get(l:syncOptions, 'save') is v:true let a:conn.capabilities.did_save = 1 endif if type(get(l:syncOptions, 'save')) is v:t_dict let a:conn.capabilities.did_save = 1 let l:saveOptions = get(l:syncOptions, 'save') if get(l:saveOptions, 'includeText') is v:true let a:conn.capabilities.includeText = 1 endif endif endif endfunction " Update a connection's configuration dictionary and notify LSP servers " of any changes since the last update. Returns 1 if a configuration " update was sent; otherwise 0 will be returned. function! ale#lsp#UpdateConfig(conn_id, buffer, config) abort let l:conn = get(s:connections, a:conn_id, {}) if empty(l:conn) || a:config ==# l:conn.config " no-custom-checks return 0 endif let l:conn.config = a:config let l:message = ale#lsp#message#DidChangeConfiguration(a:buffer, a:config) call ale#lsp#Send(a:conn_id, l:message) return 1 endfunction function! ale#lsp#HandleInitResponse(conn, response) abort if get(a:response, 'method', '') is# 'initialize' let a:conn.initialized = 1 elseif type(get(a:response, 'result')) is v:t_dict \&& has_key(a:response.result, 'capabilities') call s:UpdateCapabilities(a:conn, a:response.result.capabilities) let a:conn.initialized = 1 endif if !a:conn.initialized return endif " The initialized message must be sent before everything else. call ale#lsp#Send(a:conn.id, ale#lsp#message#Initialized()) " Call capabilities callbacks queued for the project. for l:Callback in a:conn.init_queue call l:Callback() endfor let a:conn.init_queue = [] endfunction function! ale#lsp#HandleMessage(conn_id, message) abort let l:conn = get(s:connections, a:conn_id, {}) if empty(l:conn) return endif if type(a:message) isnot v:t_string " Ignore messages that aren't strings. return endif let l:conn.data .= a:message " Parse the objects now if we can, and keep the remaining text. let [l:conn.data, l:response_list] = ale#lsp#ReadMessageData(l:conn.data) " Look for initialize responses first. if !l:conn.initialized for l:response in l:response_list call ale#lsp#HandleInitResponse(l:conn, l:response) endfor endif " If the connection is marked as initialized, call the callbacks with the " responses. if l:conn.initialized for l:response in l:response_list " Call all of the registered handlers with the response. for l:Callback in l:conn.callback_list call ale#util#GetFunction(l:Callback)(a:conn_id, l:response) endfor endfor endif endfunction " Given a connection ID, mark it as a tsserver connection, so it will be " handled that way. function! ale#lsp#MarkConnectionAsTsserver(conn_id) abort let l:conn = s:connections[a:conn_id] let l:conn.is_tsserver = 1 let l:conn.initialized = 1 " Set capabilities which are supported by tsserver. let l:conn.capabilities.hover = 1 let l:conn.capabilities.references = 1 let l:conn.capabilities.completion = 1 let l:conn.capabilities.completion_trigger_characters = ['.'] let l:conn.capabilities.definition = 1 let l:conn.capabilities.typeDefinition = 1 let l:conn.capabilities.implementation = 1 let l:conn.capabilities.symbol_search = 1 let l:conn.capabilities.rename = 1 let l:conn.capabilities.filerename = 1 let l:conn.capabilities.code_actions = 1 endfunction function! s:SendInitMessage(conn) abort let [l:init_id, l:init_data] = ale#lsp#CreateMessageData( \ ale#lsp#message#Initialize( \ a:conn.root, \ a:conn.init_options, \ { \ 'workspace': { \ 'applyEdit': v:false, \ 'didChangeConfiguration': { \ 'dynamicRegistration': v:false, \ }, \ 'symbol': { \ 'dynamicRegistration': v:false, \ }, \ 'workspaceFolders': v:false, \ 'configuration': v:false, \ }, \ 'textDocument': { \ 'synchronization': { \ 'dynamicRegistration': v:false, \ 'willSave': v:false, \ 'willSaveWaitUntil': v:false, \ 'didSave': v:true, \ }, \ 'completion': { \ 'dynamicRegistration': v:false, \ 'completionItem': { \ 'snippetSupport': v:false, \ 'commitCharactersSupport': v:false, \ 'documentationFormat': ['plaintext'], \ 'deprecatedSupport': v:false, \ 'preselectSupport': v:false, \ }, \ 'contextSupport': v:false, \ }, \ 'hover': { \ 'dynamicRegistration': v:false, \ 'contentFormat': ['plaintext'], \ }, \ 'references': { \ 'dynamicRegistration': v:false, \ }, \ 'documentSymbol': { \ 'dynamicRegistration': v:false, \ 'hierarchicalDocumentSymbolSupport': v:false, \ }, \ 'definition': { \ 'dynamicRegistration': v:false, \ 'linkSupport': v:false, \ }, \ 'typeDefinition': { \ 'dynamicRegistration': v:false, \ }, \ 'implementation': { \ 'dynamicRegistration': v:false, \ 'linkSupport': v:false, \ }, \ 'publishDiagnostics': { \ 'relatedInformation': v:true, \ }, \ 'codeAction': { \ 'dynamicRegistration': v:false, \ 'codeActionLiteralSupport': { \ 'codeActionKind': { \ 'valueSet': [] \ } \ } \ }, \ 'rename': { \ 'dynamicRegistration': v:false, \ }, \ }, \ }, \ ), \) let a:conn.init_request_id = l:init_id call s:SendMessageData(a:conn, l:init_data) endfunction " Start a program for LSP servers. " " 1 will be returned if the program is running, or 0 if the program could " not be started. function! ale#lsp#StartProgram(conn_id, executable, command) abort let l:conn = s:connections[a:conn_id] let l:started = 0 if !has_key(l:conn, 'job_id') || !ale#job#HasOpenChannel(l:conn.job_id) let l:options = { \ 'mode': 'raw', \ 'out_cb': {_, message -> ale#lsp#HandleMessage(a:conn_id, message)}, \ 'exit_cb': { -> ale#lsp#Stop(a:conn_id) }, \} if has('win32') let l:job_id = ale#job#StartWithCmd(a:command, l:options) else let l:job_id = ale#job#Start(a:command, l:options) endif let l:started = 1 else let l:job_id = l:conn.job_id endif if l:job_id > 0 let l:conn.job_id = l:job_id endif if l:started && !l:conn.is_tsserver let l:conn.initialized = 0 call s:SendInitMessage(l:conn) endif return l:job_id > 0 endfunction " Connect to an LSP server via TCP. " " 1 will be returned if the connection is running, or 0 if the connection could " not be opened. function! ale#lsp#ConnectToAddress(conn_id, address) abort let l:conn = s:connections[a:conn_id] let l:started = 0 if !has_key(l:conn, 'channel_id') || !ale#socket#IsOpen(l:conn.channel_id) let l:channel_id = ale#socket#Open(a:address, { \ 'callback': {_, mess -> ale#lsp#HandleMessage(a:conn_id, mess)}, \}) let l:started = 1 else let l:channel_id = l:conn.channel_id endif if l:channel_id >= 0 let l:conn.channel_id = l:channel_id endif if l:started call s:SendInitMessage(l:conn) endif return l:channel_id >= 0 endfunction " Given a connection ID and a callback, register that callback for handling " messages if the connection exists. function! ale#lsp#RegisterCallback(conn_id, callback) abort let l:conn = get(s:connections, a:conn_id, {}) if !empty(l:conn) " Add the callback to the List if it's not there already. call uniq(sort(add(l:conn.callback_list, a:callback))) endif endfunction " Stop a single LSP connection. function! ale#lsp#Stop(conn_id) abort if has_key(s:connections, a:conn_id) let l:conn = remove(s:connections, a:conn_id) if has_key(l:conn, 'channel_id') call ale#socket#Close(l:conn.channel_id) elseif has_key(l:conn, 'job_id') call ale#job#Stop(l:conn.job_id) endif endif endfunction function! ale#lsp#CloseDocument(conn_id) abort endfunction " Stop all LSP connections, closing all jobs and channels, and removing any " queued messages. function! ale#lsp#StopAll() abort for l:conn_id in keys(s:connections) call ale#lsp#Stop(l:conn_id) endfor endfunction function! s:SendMessageData(conn, data) abort if has_key(a:conn, 'job_id') call ale#job#SendRaw(a:conn.job_id, a:data) elseif has_key(a:conn, 'channel_id') && ale#socket#IsOpen(a:conn.channel_id) " Send the message to the server call ale#socket#Send(a:conn.channel_id, a:data) else return 0 endif return 1 endfunction " Send a message to an LSP server. " Notifications do not need to be handled. " " Returns -1 when a message is sent, but no response is expected " 0 when the message is not sent and " >= 1 with the message ID when a response is expected. function! ale#lsp#Send(conn_id, message) abort let l:conn = get(s:connections, a:conn_id, {}) if empty(l:conn) return 0 endif if !l:conn.initialized throw 'LSP server not initialized yet!' endif let [l:id, l:data] = ale#lsp#CreateMessageData(a:message) call s:SendMessageData(l:conn, l:data) return l:id == 0 ? -1 : l:id endfunction " Notify LSP servers or tsserver if a document is opened, if needed. " If a document is opened, 1 will be returned, otherwise 0 will be returned. function! ale#lsp#OpenDocument(conn_id, buffer, language_id) abort let l:conn = get(s:connections, a:conn_id, {}) let l:opened = 0 if !empty(l:conn) && !has_key(l:conn.open_documents, a:buffer) if l:conn.is_tsserver let l:message = ale#lsp#tsserver_message#Open(a:buffer) else let l:message = ale#lsp#message#DidOpen(a:buffer, a:language_id) endif call ale#lsp#Send(a:conn_id, l:message) let l:conn.open_documents[a:buffer] = getbufvar(a:buffer, 'changedtick') let l:opened = 1 endif return l:opened endfunction " Notify LSP servers or tsserver that a document is closed, if opened before. " If a document is closed, 1 will be returned, otherwise 0 will be returned. " " Only the buffer number is required here. A message will be sent to every " language server that was notified previously of the document being opened. function! ale#lsp#CloseDocument(buffer) abort let l:closed = 0 " The connection keys are sorted so the messages are easier to test, and " so messages are sent in a consistent order. for l:conn_id in sort(keys(s:connections)) let l:conn = s:connections[l:conn_id] if l:conn.initialized && has_key(l:conn.open_documents, a:buffer) if l:conn.is_tsserver let l:message = ale#lsp#tsserver_message#Close(a:buffer) else let l:message = ale#lsp#message#DidClose(a:buffer) endif call ale#lsp#Send(l:conn_id, l:message) call remove(l:conn.open_documents, a:buffer) let l:closed = 1 endif endfor return l:closed endfunction " Notify LSP servers or tsserver that a document has changed, if needed. " If a notification is sent, 1 will be returned, otherwise 0 will be returned. function! ale#lsp#NotifyForChanges(conn_id, buffer) abort let l:conn = get(s:connections, a:conn_id, {}) let l:notified = 0 if !empty(l:conn) && has_key(l:conn.open_documents, a:buffer) let l:new_tick = getbufvar(a:buffer, 'changedtick') if l:conn.open_documents[a:buffer] < l:new_tick if l:conn.is_tsserver let l:message = ale#lsp#tsserver_message#Change(a:buffer) else let l:message = ale#lsp#message#DidChange(a:buffer) endif call ale#lsp#Send(a:conn_id, l:message) let l:conn.open_documents[a:buffer] = l:new_tick let l:notified = 1 endif endif return l:notified endfunction " Wait for an LSP server to be initialized. function! ale#lsp#OnInit(conn_id, Callback) abort let l:conn = get(s:connections, a:conn_id, {}) if empty(l:conn) return endif if l:conn.initialized call a:Callback() else call add(l:conn.init_queue, a:Callback) endif endfunction " Check if an LSP has a given capability. function! ale#lsp#HasCapability(conn_id, capability) abort let l:conn = get(s:connections, a:conn_id, {}) if empty(l:conn) return 0 endif if type(get(l:conn.capabilities, a:capability, v:null)) isnot v:t_number throw 'Invalid capability ' . a:capability endif return l:conn.capabilities[a:capability] endfunction ================================================ FILE: bundle/ale/autoload/ale/lsp_linter.vim ================================================ " Author: w0rp " Description: Integration between linters and LSP/tsserver. " This code isn't loaded if a user never users LSP features or linters. " Associates LSP connection IDs with linter names. if !has_key(s:, 'lsp_linter_map') let s:lsp_linter_map = {} endif " A Dictionary to track one-shot handlers for custom LSP requests let s:custom_handlers_map = get(s:, 'custom_handlers_map', {}) " Clear LSP linter data for the linting engine. function! ale#lsp_linter#ClearLSPData() abort let s:lsp_linter_map = {} let s:custom_handlers_map = {} endfunction " Only for internal use. function! ale#lsp_linter#GetLSPLinterMap() abort return s:lsp_linter_map endfunction " Just for tests. function! ale#lsp_linter#SetLSPLinterMap(replacement_map) abort let s:lsp_linter_map = a:replacement_map endfunction " Check if diagnostics for a particular linter should be ignored. function! s:ShouldIgnore(buffer, linter_name) abort " Ignore all diagnostics if LSP integration is disabled. if ale#Var(a:buffer, 'disable_lsp') return 1 endif let l:config = ale#Var(a:buffer, 'linters_ignore') " Don't load code for ignoring diagnostics if there's nothing to ignore. if empty(l:config) return 0 endif let l:filetype = getbufvar(a:buffer, '&filetype') let l:ignore_list = ale#engine#ignore#GetList(l:filetype, l:config) return index(l:ignore_list, a:linter_name) >= 0 endfunction function! s:HandleLSPDiagnostics(conn_id, response) abort let l:linter_name = s:lsp_linter_map[a:conn_id] let l:filename = ale#util#ToResource(a:response.params.uri) let l:escaped_name = escape( \ fnameescape(l:filename), \ has('win32') ? '^' : '^,}]' \) let l:buffer = bufnr('^' . l:escaped_name . '$') let l:info = get(g:ale_buffer_info, l:buffer, {}) if empty(l:info) return endif if s:ShouldIgnore(l:buffer, l:linter_name) return endif let l:loclist = ale#lsp#response#ReadDiagnostics(a:response) call ale#engine#HandleLoclist(l:linter_name, l:buffer, l:loclist, 0) endfunction function! s:HandleTSServerDiagnostics(response, error_type) abort let l:linter_name = 'tsserver' let l:escaped_name = escape( \ fnameescape(a:response.body.file), \ has('win32') ? '^' : '^,}]' \) let l:buffer = bufnr('^' . l:escaped_name . '$') let l:info = get(g:ale_buffer_info, l:buffer, {}) if empty(l:info) return endif call ale#engine#MarkLinterInactive(l:info, l:linter_name) if s:ShouldIgnore(l:buffer, l:linter_name) return endif let l:thislist = ale#lsp#response#ReadTSServerDiagnostics(a:response) let l:no_changes = 0 " tsserver sends syntax and semantic errors in separate messages, so we " have to collect the messages separately for each buffer and join them " back together again. if a:error_type is# 'syntax' if len(l:thislist) is 0 && len(get(l:info, 'syntax_loclist', [])) is 0 let l:no_changes = 1 endif let l:info.syntax_loclist = l:thislist elseif a:error_type is# 'semantic' if len(l:thislist) is 0 && len(get(l:info, 'semantic_loclist', [])) is 0 let l:no_changes = 1 endif let l:info.semantic_loclist = l:thislist else if len(l:thislist) is 0 && len(get(l:info, 'suggestion_loclist', [])) is 0 let l:no_changes = 1 endif let l:info.suggestion_loclist = l:thislist endif if l:no_changes return endif let l:loclist = get(l:info, 'semantic_loclist', []) \ + get(l:info, 'suggestion_loclist', []) \ + get(l:info, 'syntax_loclist', []) call ale#engine#HandleLoclist(l:linter_name, l:buffer, l:loclist, 0) endfunction function! s:HandleLSPErrorMessage(linter_name, response) abort if !g:ale_history_enabled || !g:ale_history_log_output return endif if empty(a:linter_name) return endif let l:message = ale#lsp#response#GetErrorMessage(a:response) if empty(l:message) return endif call ale#lsp_linter#AddErrorMessage(a:linter_name, l:message) endfunction function! ale#lsp_linter#AddErrorMessage(linter_name, message) abort " This global variable is set here so we don't load the debugging.vim file " until someone uses :ALEInfo. let g:ale_lsp_error_messages = get(g:, 'ale_lsp_error_messages', {}) if !has_key(g:ale_lsp_error_messages, a:linter_name) let g:ale_lsp_error_messages[a:linter_name] = [] endif call add(g:ale_lsp_error_messages[a:linter_name], a:message) endfunction function! ale#lsp_linter#HandleLSPResponse(conn_id, response) abort let l:method = get(a:response, 'method', '') if get(a:response, 'jsonrpc', '') is# '2.0' && has_key(a:response, 'error') let l:linter_name = get(s:lsp_linter_map, a:conn_id, '') call s:HandleLSPErrorMessage(l:linter_name, a:response) elseif l:method is# 'textDocument/publishDiagnostics' call s:HandleLSPDiagnostics(a:conn_id, a:response) elseif l:method is# 'window/showMessage' call ale#lsp_window#HandleShowMessage( \ s:lsp_linter_map[a:conn_id], \ g:ale_lsp_show_message_format, \ a:response.params \) elseif get(a:response, 'type', '') is# 'event' \&& get(a:response, 'event', '') is# 'semanticDiag' call s:HandleTSServerDiagnostics(a:response, 'semantic') elseif get(a:response, 'type', '') is# 'event' \&& get(a:response, 'event', '') is# 'syntaxDiag' call s:HandleTSServerDiagnostics(a:response, 'syntax') elseif get(a:response, 'type', '') is# 'event' \&& get(a:response, 'event', '') is# 'suggestionDiag' \&& get(g:, 'ale_lsp_suggestions', '1') == 1 call s:HandleTSServerDiagnostics(a:response, 'suggestion') endif endfunction function! ale#lsp_linter#GetOptions(buffer, linter) abort if has_key(a:linter, 'initialization_options_callback') return ale#util#GetFunction(a:linter.initialization_options_callback)(a:buffer) endif if has_key(a:linter, 'initialization_options') let l:Options = a:linter.initialization_options if type(l:Options) is v:t_func let l:Options = l:Options(a:buffer) endif return l:Options endif return {} endfunction function! ale#lsp_linter#GetConfig(buffer, linter) abort if has_key(a:linter, 'lsp_config_callback') return ale#util#GetFunction(a:linter.lsp_config_callback)(a:buffer) endif if has_key(a:linter, 'lsp_config') let l:Config = a:linter.lsp_config if type(l:Config) is v:t_func let l:Config = l:Config(a:buffer) endif return l:Config endif return {} endfunction function! ale#lsp_linter#FindProjectRoot(buffer, linter) abort let l:buffer_ale_root = getbufvar( \ a:buffer, \ 'ale_root', \ getbufvar(a:buffer, 'ale_lsp_root', {}) \) if type(l:buffer_ale_root) is v:t_string return l:buffer_ale_root endif " Try to get a buffer-local setting for the root if has_key(l:buffer_ale_root, a:linter.name) let l:Root = l:buffer_ale_root[a:linter.name] if type(l:Root) is v:t_func return l:Root(a:buffer) else return l:Root endif endif let l:global_root = g:ale_root if empty(g:ale_root) && exists('g:ale_lsp_root') let l:global_root = g:ale_lsp_root endif " Try to get a global setting for the root if has_key(l:global_root, a:linter.name) let l:Root = l:global_root[a:linter.name] if type(l:Root) is v:t_func return l:Root(a:buffer) else return l:Root endif endif " Fall back to the linter-specific configuration if has_key(a:linter, 'project_root') let l:Root = a:linter.project_root return type(l:Root) is v:t_func ? l:Root(a:buffer) : l:Root endif return ale#util#GetFunction(a:linter.project_root_callback)(a:buffer) endfunction " This function is accessible so tests can call it. function! ale#lsp_linter#OnInit(linter, details, Callback) abort let l:buffer = a:details.buffer let l:conn_id = a:details.connection_id let l:command = a:details.command let l:config = ale#lsp_linter#GetConfig(l:buffer, a:linter) let l:language_id = ale#linter#GetLanguage(l:buffer, a:linter) call ale#lsp#UpdateConfig(l:conn_id, l:buffer, l:config) if ale#lsp#OpenDocument(l:conn_id, l:buffer, l:language_id) if g:ale_history_enabled && !empty(l:command) call ale#history#Add(l:buffer, 'started', l:conn_id, l:command) endif endif " The change message needs to be sent for tsserver before doing anything. if a:linter.lsp is# 'tsserver' call ale#lsp#NotifyForChanges(l:conn_id, l:buffer) endif " Tell the relevant buffer that the LSP has started via an autocmd. if l:buffer > 0 if l:buffer == bufnr('') silent doautocmd User ALELSPStarted else execute 'augroup ALELSPStartedGroup' . l:buffer autocmd! execute printf( \ 'autocmd BufEnter ' \ . ' doautocmd User ALELSPStarted', \ l:buffer \) " Replicate ++once behavior for backwards compatibility. execute printf( \ 'autocmd BufEnter ' \ . ' autocmd! ALELSPStartedGroup%d', \ l:buffer, l:buffer \) augroup END endif endif call a:Callback(a:linter, a:details) endfunction function! s:StartLSP(options, address, executable, command) abort let l:buffer = a:options.buffer let l:linter = a:options.linter let l:root = a:options.root let l:Callback = a:options.callback let l:init_options = ale#lsp_linter#GetOptions(l:buffer, l:linter) if l:linter.lsp is# 'socket' let l:conn_id = ale#lsp#Register(a:address, l:root, l:init_options) let l:ready = ale#lsp#ConnectToAddress(l:conn_id, a:address) let l:command = '' else let l:conn_id = ale#lsp#Register(a:executable, l:root, l:init_options) " tsserver behaves differently, so tell the LSP API that it is tsserver. if l:linter.lsp is# 'tsserver' call ale#lsp#MarkConnectionAsTsserver(l:conn_id) endif let l:cwd = ale#linter#GetCwd(l:buffer, l:linter) let l:command = ale#command#FormatCommand( \ l:buffer, \ a:executable, \ a:command, \ 0, \ v:false, \ l:cwd, \ ale#GetFilenameMappings(l:buffer, l:linter.name), \)[1] let l:command = ale#job#PrepareCommand(l:buffer, l:command) let l:ready = ale#lsp#StartProgram(l:conn_id, a:executable, l:command) endif if !l:ready if g:ale_history_enabled && !empty(a:command) call ale#history#Add(l:buffer, 'failed', l:conn_id, a:command) endif return 0 endif let l:details = { \ 'buffer': l:buffer, \ 'connection_id': l:conn_id, \ 'command': l:command, \ 'project_root': l:root, \} call ale#lsp#OnInit(l:conn_id, {-> \ ale#lsp_linter#OnInit(l:linter, l:details, l:Callback) \}) return 1 endfunction function! s:StartWithAddress(options, address) abort if ale#command#IsDeferred(a:address) let a:address.result_callback = { \ address -> s:StartWithAddress(a:options, address) \} return 1 endif if empty(a:address) return 0 endif return s:StartLSP(a:options, a:address, '', '') endfunction function! s:StartWithCommand(options, executable, command) abort if ale#command#IsDeferred(a:command) let a:command.result_callback = { \ command -> s:StartWithCommand(a:options, a:executable, command) \} return 1 endif if empty(a:command) return 0 endif return s:StartLSP(a:options, '', a:executable, a:command) endfunction function! s:StartIfExecutable(options, executable) abort if ale#command#IsDeferred(a:executable) let a:executable.result_callback = { \ executable -> s:StartIfExecutable(a:options, executable) \} return 1 endif if !ale#engine#IsExecutable(a:options.buffer, a:executable) return 0 endif let l:command = ale#linter#GetCommand(a:options.buffer, a:options.linter) return s:StartWithCommand(a:options, a:executable, l:command) endfunction " Given a buffer, an LSP linter, start up an LSP linter and get ready to " receive messages for the document. function! ale#lsp_linter#StartLSP(buffer, linter, Callback) abort let l:command = '' let l:address = '' let l:root = ale#lsp_linter#FindProjectRoot(a:buffer, a:linter) if empty(l:root) && a:linter.lsp isnot# 'tsserver' " If there's no project root, then we can't check files with LSP, " unless we are using tsserver, which doesn't use project roots. call ale#lsp_linter#AddErrorMessage(a:linter.name, "Failed to find project root, language server won't start.") return 0 endif let l:options = { \ 'buffer': a:buffer, \ 'linter': a:linter, \ 'callback': a:Callback, \ 'root': l:root, \} if a:linter.lsp is# 'socket' let l:address = ale#linter#GetAddress(a:buffer, a:linter) return s:StartWithAddress(l:options, l:address) endif let l:executable = ale#linter#GetExecutable(a:buffer, a:linter) return s:StartIfExecutable(l:options, l:executable) endfunction function! s:CheckWithLSP(linter, details) abort let l:buffer = a:details.buffer let l:info = get(g:ale_buffer_info, l:buffer) if empty(l:info) return endif let l:id = a:details.connection_id " Register a callback now for handling errors now. let l:Callback = function('ale#lsp_linter#HandleLSPResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) " Remember the linter this connection is for. let s:lsp_linter_map[l:id] = a:linter.name if a:linter.lsp is# 'tsserver' let l:message = ale#lsp#tsserver_message#Geterr(l:buffer) let l:notified = ale#lsp#Send(l:id, l:message) != 0 if l:notified call ale#engine#MarkLinterActive(l:info, a:linter) endif else let l:notified = ale#lsp#NotifyForChanges(l:id, l:buffer) endif " If this was a file save event, also notify the server of that. if a:linter.lsp isnot# 'tsserver' \&& getbufvar(l:buffer, 'ale_save_event_fired', 0) \&& ale#lsp#HasCapability(l:id, 'did_save') let l:include_text = ale#lsp#HasCapability(l:id, 'includeText') let l:save_message = ale#lsp#message#DidSave(l:buffer, l:include_text) let l:notified = ale#lsp#Send(l:id, l:save_message) != 0 endif endfunction function! ale#lsp_linter#CheckWithLSP(buffer, linter) abort return ale#lsp_linter#StartLSP(a:buffer, a:linter, function('s:CheckWithLSP')) endfunction function! s:HandleLSPResponseToCustomRequests(conn_id, response) abort if has_key(a:response, 'id') \&& has_key(s:custom_handlers_map, a:response.id) let l:Handler = remove(s:custom_handlers_map, a:response.id) call l:Handler(a:response) endif endfunction function! s:OnReadyForCustomRequests(args, linter, lsp_details) abort let l:id = a:lsp_details.connection_id let l:request_id = ale#lsp#Send(l:id, a:args.message) if l:request_id > 0 && has_key(a:args, 'handler') let l:Callback = function('s:HandleLSPResponseToCustomRequests') call ale#lsp#RegisterCallback(l:id, l:Callback) let s:custom_handlers_map[l:request_id] = a:args.handler endif endfunction " Send a custom request to an LSP linter. function! ale#lsp_linter#SendRequest(buffer, linter_name, message, ...) abort let l:filetype = ale#linter#ResolveFiletype(getbufvar(a:buffer, '&filetype')) let l:linter_list = ale#linter#GetAll(l:filetype) let l:linter_list = filter(l:linter_list, {_, v -> v.name is# a:linter_name}) if len(l:linter_list) < 1 throw 'Linter "' . a:linter_name . '" not found!' endif let l:linter = l:linter_list[0] if empty(l:linter.lsp) throw 'Linter "' . a:linter_name . '" does not support LSP!' endif let l:is_notification = a:message[0] let l:callback_args = {'message': a:message} if !l:is_notification && a:0 let l:callback_args.handler = a:1 endif let l:Callback = function('s:OnReadyForCustomRequests', [l:callback_args]) return ale#lsp_linter#StartLSP(a:buffer, l:linter, l:Callback) endfunction ================================================ FILE: bundle/ale/autoload/ale/lsp_window.vim ================================================ " Author: suoto " Description: Handling of window/* LSP methods, although right now only " handles window/showMessage " Constants for message type codes let s:LSP_MESSAGE_TYPE_DISABLED = 0 let s:LSP_MESSAGE_TYPE_ERROR = 1 let s:LSP_MESSAGE_TYPE_WARNING = 2 let s:LSP_MESSAGE_TYPE_INFORMATION = 3 let s:LSP_MESSAGE_TYPE_LOG = 4 " Translate strings from the user config to a number so we can check " severities let s:CFG_TO_LSP_SEVERITY = { \ 'disabled': s:LSP_MESSAGE_TYPE_DISABLED, \ 'error': s:LSP_MESSAGE_TYPE_ERROR, \ 'warning': s:LSP_MESSAGE_TYPE_WARNING, \ 'information': s:LSP_MESSAGE_TYPE_INFORMATION, \ 'info': s:LSP_MESSAGE_TYPE_INFORMATION, \ 'log': s:LSP_MESSAGE_TYPE_LOG \} " Handle window/showMessage response. " - details: dict containing linter name and format (g:ale_lsp_show_message_format) " - params: dict with the params for the call in the form of {type: number, message: string} function! ale#lsp_window#HandleShowMessage(linter_name, format, params) abort let l:message = a:params.message let l:type = a:params.type " Get the configured severity level threshold and check if the message " should be displayed or not let l:configured_severity = tolower(get(g:, 'ale_lsp_show_message_severity', 'error')) " If the user has configured with a value we can't find on the conversion " dict, fall back to warning let l:cfg_severity_threshold = get(s:CFG_TO_LSP_SEVERITY, l:configured_severity, s:LSP_MESSAGE_TYPE_WARNING) if l:type > l:cfg_severity_threshold return endif " Severity will depend on the message type if l:type is# s:LSP_MESSAGE_TYPE_ERROR let l:severity = g:ale_echo_msg_error_str elseif l:type is# s:LSP_MESSAGE_TYPE_INFORMATION let l:severity = g:ale_echo_msg_info_str elseif l:type is# s:LSP_MESSAGE_TYPE_LOG let l:severity = g:ale_echo_msg_log_str else " Default to warning just in case let l:severity = g:ale_echo_msg_warning_str endif let l:string = substitute(a:format, '\V%severity%', l:severity, 'g') let l:string = substitute(l:string, '\V%linter%', a:linter_name, 'g') let l:string = substitute(l:string, '\V%s\>', l:message, 'g') call ale#util#ShowMessage(l:string) endfunction ================================================ FILE: bundle/ale/autoload/ale/maven.vim ================================================ " Description: Functions for working with Maven projects. " " Given a buffer number, find a Maven project root. function! ale#maven#FindProjectRoot(buffer) abort let l:wrapper_path = ale#path#FindNearestFile(a:buffer, 'mvnw') if !empty(l:wrapper_path) return fnamemodify(l:wrapper_path, ':h') endif let l:pom_path = ale#path#FindNearestFile(a:buffer, 'pom.xml') if !empty(l:pom_path) return fnamemodify(l:pom_path, ':h') endif return '' endfunction " Given a buffer number, find the path to the executable. " First search on the path for 'mvnw' (mvnw.cmd on Windows), if nothing is found, " try the global command. Returns an empty string if cannot find the executable. function! ale#maven#FindExecutable(buffer) abort let l:wrapper_cmd = has('unix') ? 'mvnw' : 'mvnw.cmd' let l:wrapper_path = ale#path#FindNearestFile(a:buffer, l:wrapper_cmd) if !empty(l:wrapper_path) && executable(l:wrapper_path) return l:wrapper_path endif if executable('mvn') return 'mvn' endif return '' endfunction " Given a buffer number, get a working directory and command to print the " classpath of the root project. " " Returns an empty string for the command if Maven is not detected. function! ale#maven#BuildClasspathCommand(buffer) abort let l:executable = ale#maven#FindExecutable(a:buffer) if !empty(l:executable) let l:project_root = ale#maven#FindProjectRoot(a:buffer) if !empty(l:project_root) return [ \ l:project_root, \ ale#Escape(l:executable) . ' dependency:build-classpath' \] endif endif return ['', ''] endfunction ================================================ FILE: bundle/ale/autoload/ale/node.vim ================================================ " Author: w0rp " Description: Functions for working with Node executables. call ale#Set('windows_node_executable_path', 'node.exe') " Create a executable string which executes a Node.js script command with a " Node.js executable if needed. " " The executable string should not be escaped before passing it to this " function, the executable string will be escaped when returned by this " function. " " The executable is only prefixed for Windows machines function! ale#node#Executable(buffer, executable) abort if has('win32') && a:executable =~? '\.js$' let l:node = ale#Var(a:buffer, 'windows_node_executable_path') return ale#Escape(l:node) . ' ' . ale#Escape(a:executable) endif return ale#Escape(a:executable) endfunction ================================================ FILE: bundle/ale/autoload/ale/organize_imports.vim ================================================ " Author: Jerko Steiner " Description: Organize imports support for tsserver function! ale#organize_imports#HandleTSServerResponse(conn_id, response) abort if get(a:response, 'command', '') isnot# 'organizeImports' return endif if get(a:response, 'success', v:false) isnot v:true return endif let l:file_code_edits = a:response.body call ale#code_action#HandleCodeAction( \ { \ 'description': 'Organize Imports', \ 'changes': l:file_code_edits, \ }, \ { \ 'conn_id': a:conn_id, \ 'should_save': !&hidden, \ }, \) endfunction function! s:OnReady(linter, lsp_details) abort let l:id = a:lsp_details.connection_id if a:linter.lsp isnot# 'tsserver' call ale#util#Execute('echom ''OrganizeImports currently only works with tsserver''') return endif let l:buffer = a:lsp_details.buffer let l:Callback = function('ale#organize_imports#HandleTSServerResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) let l:message = ale#lsp#tsserver_message#OrganizeImports(l:buffer) let l:request_id = ale#lsp#Send(l:id, l:message) endfunction function! s:OrganizeImports(linter) abort let l:buffer = bufnr('') let [l:line, l:column] = getpos('.')[1:2] if a:linter.lsp isnot# 'tsserver' let l:column = min([l:column, len(getline(l:line))]) endif let l:Callback = function('s:OnReady') call ale#lsp_linter#StartLSP(l:buffer, a:linter, l:Callback) endfunction function! ale#organize_imports#Execute() abort for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) call s:OrganizeImports(l:linter) endif endfor endfunction ================================================ FILE: bundle/ale/autoload/ale/other_source.vim ================================================ " Tell ALE that another source has started checking a buffer. function! ale#other_source#StartChecking(buffer, linter_name) abort call ale#engine#InitBufferInfo(a:buffer) let l:list = g:ale_buffer_info[a:buffer].active_other_sources_list call add(l:list, a:linter_name) call uniq(sort(l:list)) endfunction " Show some results, and stop checking a buffer. " To clear results or cancel checking a buffer, an empty List can be given. function! ale#other_source#ShowResults(buffer, linter_name, loclist) abort call ale#engine#InitBufferInfo(a:buffer) let l:info = g:ale_buffer_info[a:buffer] " Remove this linter name from the active list. let l:list = l:info.active_other_sources_list call filter(l:list, 'v:val isnot# a:linter_name') call ale#engine#HandleLoclist(a:linter_name, a:buffer, a:loclist, 1) endfunction ================================================ FILE: bundle/ale/autoload/ale/path.vim ================================================ " Author: w0rp " Description: Functions for working with paths in the filesystem. " simplify a path, and fix annoying issues with paths on Windows. " " Forward slashes are changed to back slashes so path equality works better " on Windows. Back slashes are changed to forward slashes on Unix. " " Unix paths can technically contain back slashes, but in practice no path " should, and replacing back slashes with forward slashes makes linters work " in environments like MSYS. " " Paths starting with more than one forward slash are changed to only one " forward slash, to prevent the paths being treated as special MSYS paths. function! ale#path#Simplify(path) abort if has('unix') let l:unix_path = substitute(a:path, '\\', '/', 'g') return substitute(simplify(l:unix_path), '^//\+', '/', 'g') " no-custom-checks endif let l:win_path = substitute(a:path, '/', '\\', 'g') return substitute(simplify(l:win_path), '^\\\+', '\', 'g') " no-custom-checks endfunction " Simplify a path without a Windows drive letter. " This function can be used for checking if paths are equal. function! ale#path#RemoveDriveLetter(path) abort return has('win32') && a:path[1:2] is# ':\' \ ? ale#path#Simplify(a:path[2:]) \ : ale#path#Simplify(a:path) endfunction " Given a buffer and a filename, find the nearest file by searching upwards " through the paths relative to the given buffer. function! ale#path#FindNearestFile(buffer, filename) abort let l:buffer_filename = fnamemodify(bufname(a:buffer), ':p') let l:buffer_filename = fnameescape(l:buffer_filename) let l:relative_path = findfile(a:filename, l:buffer_filename . ';') if !empty(l:relative_path) return fnamemodify(l:relative_path, ':p') endif return '' endfunction " Given a buffer and a directory name, find the nearest directory by searching upwards " through the paths relative to the given buffer. function! ale#path#FindNearestDirectory(buffer, directory_name) abort let l:buffer_filename = fnamemodify(bufname(a:buffer), ':p') let l:buffer_filename = fnameescape(l:buffer_filename) let l:relative_path = finddir(a:directory_name, l:buffer_filename . ';') if !empty(l:relative_path) return fnamemodify(l:relative_path, ':p') endif return '' endfunction " Given a buffer, a string to search for, and a global fallback for when " the search fails, look for a file in parent paths, and if that fails, " use the global fallback path instead. function! ale#path#ResolveLocalPath(buffer, search_string, global_fallback) abort " Search for a locally installed file first. let l:path = ale#path#FindNearestFile(a:buffer, a:search_string) " If the search fails, try the global executable instead. if empty(l:path) let l:path = a:global_fallback endif return l:path endfunction " Given a buffer number, a base variable name, and a list of paths to search " for in ancestor directories, detect the executable path for a program. function! ale#path#FindNearestExecutable(buffer, path_list) abort for l:path in a:path_list if ale#path#IsAbsolute(l:path) let l:executable = filereadable(l:path) ? l:path : '' else let l:executable = ale#path#FindNearestFile(a:buffer, l:path) endif if !empty(l:executable) return l:executable endif endfor return '' endfunction " Given a buffer number, a base variable name, and a list of paths to search " for in ancestor directories, detect the executable path for a program. " " The use_global and executable options for the relevant program will be used. function! ale#path#FindExecutable(buffer, base_var_name, path_list) abort if ale#Var(a:buffer, a:base_var_name . '_use_global') return ale#Var(a:buffer, a:base_var_name . '_executable') endif let l:nearest = ale#path#FindNearestExecutable(a:buffer, a:path_list) if !empty(l:nearest) return l:nearest endif return ale#Var(a:buffer, a:base_var_name . '_executable') endfunction " Return 1 if a path is an absolute path. function! ale#path#IsAbsolute(filename) abort if has('win32') && a:filename[:0] is# '\' return 1 endif " Check for /foo and C:\foo, etc. return a:filename[:0] is# '/' || a:filename[1:2] is# ':\' endfunction let s:temp_dir = ale#path#Simplify(fnamemodify(ale#util#Tempname(), ':h:h')) " Given a filename, return 1 if the file represents some temporary file " created by Vim. function! ale#path#IsTempName(filename) abort return ale#path#Simplify(a:filename)[:len(s:temp_dir) - 1] is# s:temp_dir endfunction " Given a base directory, which must not have a trailing slash, and a " filename, which may have an absolute path a path relative to the base " directory, return the absolute path to the file. function! ale#path#GetAbsPath(base_directory, filename) abort if ale#path#IsAbsolute(a:filename) return ale#path#Simplify(a:filename) endif let l:sep = has('win32') ? '\' : '/' return ale#path#Simplify(a:base_directory . l:sep . a:filename) endfunction " Given a path, return the directory name for that path, with no trailing " slashes. If the argument is empty(), return an empty string. function! ale#path#Dirname(path) abort if empty(a:path) return '' endif " For /foo/bar/ we need :h:h to get /foo if a:path[-1:] is# '/' || (has('win32') && a:path[-1:] is# '\') return fnamemodify(a:path, ':h:h') endif return fnamemodify(a:path, ':h') endfunction " Given a buffer number and a relative or absolute path, return 1 if the " two paths represent the same file on disk. function! ale#path#IsBufferPath(buffer, complex_filename) abort " If the path is one of many different names for stdin, we have a match. if a:complex_filename is# '-' \|| a:complex_filename is# 'stdin' \|| a:complex_filename[:0] is# '<' return 1 endif let l:test_filename = ale#path#Simplify(a:complex_filename) if l:test_filename[:1] is# './' let l:test_filename = l:test_filename[2:] endif if l:test_filename[:1] is# '..' " Remove ../../ etc. from the front of the path. let l:test_filename = substitute(l:test_filename, '\v^(\.\.[/\\])+', '/', '') endif " Use the basename for temporary files, as they are likely our files. if ale#path#IsTempName(l:test_filename) let l:test_filename = fnamemodify(l:test_filename, ':t') endif let l:buffer_filename = expand('#' . a:buffer . ':p') return l:buffer_filename is# l:test_filename \ || l:buffer_filename[-len(l:test_filename):] is# l:test_filename endfunction " Given a path, return every component of the path, moving upwards. function! ale#path#Upwards(path) abort let l:pattern = has('win32') ? '\v/+|\\+' : '\v/+' let l:sep = has('win32') ? '\' : '/' let l:parts = split(ale#path#Simplify(a:path), l:pattern) let l:path_list = [] while !empty(l:parts) call add(l:path_list, join(l:parts, l:sep)) let l:parts = l:parts[:-2] endwhile if has('win32') && a:path =~# '^[a-zA-z]:\' " Add \ to C: for C:\, etc. let l:path_list[-1] .= '\' elseif a:path[0] is# '/' " If the path starts with /, even on Windows, add / and / to all paths. call map(l:path_list, '''/'' . v:val') call add(l:path_list, '/') endif return l:path_list endfunction " Convert a filesystem path to a file:// URI " relatives paths will not be prefixed with the protocol. " For Windows paths, the `:` in C:\ etc. will not be percent-encoded. function! ale#path#ToFileURI(path) abort let l:has_drive_letter = a:path[1:2] is# ':\' return substitute( \ ((l:has_drive_letter || a:path[:0] is# '/') ? 'file://' : '') \ . (l:has_drive_letter ? '/' . a:path[:2] : '') \ . ale#uri#Encode(l:has_drive_letter ? a:path[3:] : a:path), \ '\\', \ '/', \ 'g', \) endfunction function! ale#path#FromFileURI(uri) abort if a:uri[:6] is? 'file://' let l:encoded_path = a:uri[7:] elseif a:uri[:4] is? 'file:' let l:encoded_path = a:uri[5:] else let l:encoded_path = a:uri endif let l:path = ale#uri#Decode(l:encoded_path) " If the path is like /C:/foo/bar, it should be C:\foo\bar instead. if has('win32') && l:path =~# '^/[a-zA-Z][:|]' let l:path = substitute(l:path[1:], '/', '\\', 'g') let l:path = l:path[0] . ':' . l:path[2:] endif return l:path endfunction ================================================ FILE: bundle/ale/autoload/ale/pattern_options.vim ================================================ " Author: w0rp " Description: Set options in files based on regex patterns. " These variables are used to cache the sorting of patterns below. let s:last_pattern_options = {} let s:sorted_items = [] function! s:CmpPatterns(left_item, right_item) abort if a:left_item[0] < a:right_item[0] return -1 endif if a:left_item[0] > a:right_item[0] return 1 endif return 0 endfunction function! ale#pattern_options#SetOptions(buffer) abort let l:pattern_options = get(g:, 'ale_pattern_options', {}) if empty(l:pattern_options) " Stop if no options are set. return endif " The items will only be sorted whenever the patterns change. if l:pattern_options != s:last_pattern_options let s:last_pattern_options = deepcopy(l:pattern_options) " The patterns are sorted, so they are applied consistently. let s:sorted_items = sort( \ items(l:pattern_options), \ function('s:CmpPatterns') \) endif let l:filename = expand('#' . a:buffer . ':p') for [l:pattern, l:options] in s:sorted_items if match(l:filename, l:pattern) >= 0 for [l:key, l:value] in items(l:options) call setbufvar(a:buffer, l:key, l:value) endfor endif endfor endfunction ================================================ FILE: bundle/ale/autoload/ale/powershell.vim ================================================ " Author: zigford " Description: Functions for integrating with Powershell linters. " Write a powershell script to a temp file for execution " return the command used to execute it function! s:TemporaryPSScript(buffer, input) abort let l:filename = 'script.ps1' " Create a temp dir to house our temp .ps1 script " a temp dir is needed as powershell needs the .ps1 " extension let l:tempdir = ale#util#Tempname() . (has('win32') ? '\' : '/') let l:tempscript = l:tempdir . l:filename " Create the temporary directory for the file, unreadable by 'other' " users. call mkdir(l:tempdir, '', 0750) " Automatically delete the directory later. call ale#command#ManageDirectory(a:buffer, l:tempdir) " Write the script input out to a file. call ale#util#Writefile(a:buffer, a:input, l:tempscript) return l:tempscript endfunction function! ale#powershell#RunPowerShell(buffer, base_var_name, command) abort let l:executable = ale#Var(a:buffer, a:base_var_name . '_executable') let l:tempscript = s:TemporaryPSScript(a:buffer, a:command) return ale#Escape(l:executable) \ . ' -Exe Bypass -NoProfile -File ' \ . ale#Escape(l:tempscript) \ . ' %t' endfunction ================================================ FILE: bundle/ale/autoload/ale/preview.vim ================================================ " Author: w0rp " Description: Preview windows for showing whatever information in. if !has_key(s:, 'last_list') let s:last_list = [] endif if !has_key(s:, 'last_options') let s:last_options = {} endif function! ale#preview#SetLastSelection(item_list, options) abort let s:last_list = a:item_list let s:last_options = { \ 'open_in': get(a:options, 'open_in', 'current-buffer'), \ 'use_relative_paths': get(a:options, 'use_relative_paths', 0), \} endfunction " Open a preview window and show some lines in it. " A second argument can be passed as a Dictionary with options. They are... " " filetype - The filetype to use, defaulting to 'ale-preview' " stay_here - If 1, stay in the window you came from. function! ale#preview#Show(lines, ...) abort let l:options = get(a:000, 0, {}) silent pedit ALEPreviewWindow wincmd P setlocal modifiable setlocal noreadonly setlocal nobuflisted setlocal buftype=nofile setlocal bufhidden=wipe :%d call setline(1, a:lines) setlocal nomodifiable setlocal readonly let &l:filetype = get(l:options, 'filetype', 'ale-preview') for l:command in get(l:options, 'commands', []) call execute(l:command) endfor if get(l:options, 'stay_here') wincmd p endif endfunction " Close the preview window if the filetype matches the given one. function! ale#preview#CloseIfTypeMatches(filetype) abort for l:win in getwininfo() let l:wintype = gettabwinvar(l:win.tabnr, l:win.winnr, '&filetype') if l:wintype is# a:filetype silent! pclose! endif endfor endfunction " Show a location selection preview window, given some items. " Each item should have 'filename', 'line', and 'column' keys. function! ale#preview#ShowSelection(item_list, ...) abort let l:options = get(a:000, 0, {}) let l:sep = has('win32') ? '\' : '/' let l:lines = [] " Create lines to display to users. for l:item in a:item_list let l:match = get(l:item, 'match', '') let l:filename = l:item.filename if get(l:options, 'use_relative_paths') let l:cwd = getcwd() " no-custom-checks let l:filename = substitute(l:filename, '^' . l:cwd . l:sep, '', '') endif call add( \ l:lines, \ l:filename \ . ':' . l:item.line \ . ':' . l:item.column \ . (!empty(l:match) ? ' ' . l:match : ''), \) endfor call ale#preview#Show(l:lines, {'filetype': 'ale-preview-selection'}) let b:ale_preview_item_list = a:item_list let b:ale_preview_item_open_in = get(l:options, 'open_in', 'current-buffer') " Jump to an index for a previous selection, if set. if has_key(l:options, 'jump_to_index') let l:pos = getpos('.') let l:pos[1] = l:options.jump_to_index + 1 call setpos('.', l:pos) endif " Remember preview state, so we can repeat it later. call ale#preview#SetLastSelection(a:item_list, l:options) endfunction function! ale#preview#RepeatSelection() abort if !empty(s:last_list) call ale#preview#ShowSelection(s:last_list, s:last_options) endif endfunction function! s:Open(open_in) abort let l:item_list = get(b:, 'ale_preview_item_list', []) let l:index = getpos('.')[1] - 1 let l:item = get(l:item_list, l:index, {}) if empty(l:item) return endif " Remember an index to jump to when repeating a selection. let s:last_options.jump_to_index = l:index :q! call ale#util#Open( \ l:item.filename, \ l:item.line, \ l:item.column, \ {'open_in': a:open_in}, \) endfunction function! ale#preview#OpenSelection() abort call s:Open(b:ale_preview_item_open_in) endfunction function! ale#preview#OpenSelectionInTab() abort call s:Open('tab') endfunction ================================================ FILE: bundle/ale/autoload/ale/python.vim ================================================ " Author: w0rp " Description: Functions for integrating with Python linters. call ale#Set('python_auto_pipenv', '0') call ale#Set('python_auto_poetry', '0') let s:sep = has('win32') ? '\' : '/' " bin is used for Unix virtualenv directories, and Scripts is for Windows. let s:bin_dir = has('unix') ? 'bin' : 'Scripts' let g:ale_virtualenv_dir_names = get(g:, 'ale_virtualenv_dir_names', [ \ '.env', \ '.venv', \ 'env', \ 've-py3', \ 've', \ 'virtualenv', \ 'venv', \]) function! ale#python#FindProjectRootIni(buffer) abort for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) " If you change this, update ale-python-root documentation. if filereadable(l:path . '/MANIFEST.in') \|| filereadable(l:path . '/setup.cfg') \|| filereadable(l:path . '/pytest.ini') \|| filereadable(l:path . '/tox.ini') \|| filereadable(l:path . '/.pyre_configuration.local') \|| filereadable(l:path . '/mypy.ini') \|| filereadable(l:path . '/.mypy.ini') \|| filereadable(l:path . '/pycodestyle.cfg') \|| filereadable(l:path . '/.flake8') \|| filereadable(l:path . '/.flake8rc') \|| filereadable(l:path . '/pylama.ini') \|| filereadable(l:path . '/pylintrc') \|| filereadable(l:path . '/.pylintrc') \|| filereadable(l:path . '/pyrightconfig.json') \|| filereadable(l:path . '/pyrightconfig.toml') \|| filereadable(l:path . '/Pipfile') \|| filereadable(l:path . '/Pipfile.lock') \|| filereadable(l:path . '/poetry.lock') \|| filereadable(l:path . '/pyproject.toml') \|| filereadable(l:path . '/.tool-versions') return l:path endif endfor return '' endfunction " Given a buffer number, find the project root directory for Python. " The root directory is defined as the first directory found while searching " upwards through paths, including the current directory, until a path " containing an init file (one from MANIFEST.in, setup.cfg, pytest.ini, " tox.ini) is found. If it is not possible to find the project root directory " via init file, then it will be defined as the first directory found " searching upwards through paths, including the current directory, until no " __init__.py files is found. function! ale#python#FindProjectRoot(buffer) abort let l:ini_root = ale#python#FindProjectRootIni(a:buffer) if !empty(l:ini_root) return l:ini_root endif for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) if !filereadable(l:path . '/__init__.py') return l:path endif endfor return '' endfunction " Given a buffer number, find a virtualenv path for Python. function! ale#python#FindVirtualenv(buffer) abort for l:path in ale#path#Upwards(expand('#' . a:buffer . ':p:h')) " Skip empty path components returned in MSYS. if empty(l:path) continue endif for l:dirname in ale#Var(a:buffer, 'virtualenv_dir_names') let l:venv_dir = ale#path#Simplify( \ join([l:path, l:dirname], s:sep) \) let l:script_filename = ale#path#Simplify( \ join([l:venv_dir, s:bin_dir, 'activate'], s:sep) \) if filereadable(l:script_filename) return l:venv_dir endif endfor endfor return $VIRTUAL_ENV endfunction " Given a buffer number and a command name, find the path to the executable. " First search on a virtualenv for Python, if nothing is found, try the global " command. Returns an empty string if cannot find the executable function! ale#python#FindExecutable(buffer, base_var_name, path_list) abort if ale#Var(a:buffer, a:base_var_name . '_use_global') return ale#Var(a:buffer, a:base_var_name . '_executable') endif let l:virtualenv = ale#python#FindVirtualenv(a:buffer) if !empty(l:virtualenv) for l:path in a:path_list let l:ve_executable = ale#path#Simplify( \ join([l:virtualenv, s:bin_dir, l:path], s:sep) \) if executable(l:ve_executable) return l:ve_executable endif endfor endif return ale#Var(a:buffer, a:base_var_name . '_executable') endfunction " Handle traceback.print_exception() output starting in the first a:limit lines. function! ale#python#HandleTraceback(lines, limit) abort let l:nlines = len(a:lines) let l:limit = a:limit > l:nlines ? l:nlines : a:limit let l:start = 0 while l:start < l:limit if a:lines[l:start] is# 'Traceback (most recent call last):' break endif let l:start += 1 endwhile if l:start >= l:limit return [] endif let l:end = l:start + 1 " Traceback entries are always prefixed with 2 spaces. " SyntaxError marker (if present) is prefixed with at least 4 spaces. " Final exc line starts with exception class name (never a space). while l:end < l:nlines && a:lines[l:end][0] is# ' ' let l:end += 1 endwhile let l:exc_line = l:end < l:nlines \ ? a:lines[l:end] \ : 'An exception was thrown.' return [{ \ 'lnum': 1, \ 'text': l:exc_line . ' (See :ALEDetail)', \ 'detail': join(a:lines[(l:start):(l:end)], "\n"), \}] endfunction " Detects whether a pipenv environment is present. function! ale#python#PipenvPresent(buffer) abort return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# '' endfunction " Detects whether a poetry environment is present. function! ale#python#PoetryPresent(buffer) abort return findfile('poetry.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# '' endfunction ================================================ FILE: bundle/ale/autoload/ale/racket.vim ================================================ function! ale#racket#FindProjectRoot(buffer) abort let l:cwd = expand('#' . a:buffer . ':p:h') let l:highest_init = l:cwd for l:path in ale#path#Upwards(l:cwd) if filereadable(l:path.'/init.rkt') let l:highest_init = l:path endif endfor return l:highest_init endfunction ================================================ FILE: bundle/ale/autoload/ale/references.vim ================================================ let g:ale_default_navigation = get(g:, 'ale_default_navigation', 'buffer') let s:references_map = {} " Used to get the references map in tests. function! ale#references#GetMap() abort return deepcopy(s:references_map) endfunction " Used to set the references map in tests. function! ale#references#SetMap(map) abort let s:references_map = a:map endfunction function! ale#references#ClearLSPData() abort let s:references_map = {} endfunction function! ale#references#FormatTSResponseItem(response_item, options) abort if get(a:options, 'open_in') is# 'quickfix' return { \ 'filename': a:response_item.file, \ 'lnum': a:response_item.start.line, \ 'col': a:response_item.start.offset, \} else return { \ 'filename': a:response_item.file, \ 'line': a:response_item.start.line, \ 'column': a:response_item.start.offset, \ 'match': substitute(a:response_item.lineText, '^\s*\(.\{-}\)\s*$', '\1', ''), \} endif endfunction function! ale#references#HandleTSServerResponse(conn_id, response) abort if get(a:response, 'command', '') is# 'references' \&& has_key(s:references_map, a:response.request_seq) let l:options = remove(s:references_map, a:response.request_seq) if get(a:response, 'success', v:false) is v:true let l:item_list = [] for l:response_item in a:response.body.refs call add( \ l:item_list, \ ale#references#FormatTSResponseItem(l:response_item, l:options) \) endfor if empty(l:item_list) call ale#util#Execute('echom ''No references found.''') else if get(l:options, 'open_in') is# 'quickfix' call setqflist([], 'r') call setqflist(l:item_list, 'a') call ale#util#Execute('cc 1') else call ale#preview#ShowSelection(l:item_list, l:options) endif endif endif endif endfunction function! ale#references#FormatLSPResponseItem(response_item, options) abort if get(a:options, 'open_in') is# 'quickfix' return { \ 'filename': ale#util#ToResource(a:response_item.uri), \ 'lnum': a:response_item.range.start.line + 1, \ 'col': a:response_item.range.start.character + 1, \} else return { \ 'filename': ale#util#ToResource(a:response_item.uri), \ 'line': a:response_item.range.start.line + 1, \ 'column': a:response_item.range.start.character + 1, \} endif endfunction function! ale#references#HandleLSPResponse(conn_id, response) abort if has_key(a:response, 'id') \&& has_key(s:references_map, a:response.id) let l:options = remove(s:references_map, a:response.id) " The result can be a Dictionary item, a List of the same, or null. let l:result = get(a:response, 'result', []) let l:item_list = [] if type(l:result) is v:t_list for l:response_item in l:result call add(l:item_list, \ ale#references#FormatLSPResponseItem(l:response_item, l:options) \) endfor endif if empty(l:item_list) call ale#util#Execute('echom ''No references found.''') else if get(l:options, 'open_in') is# 'quickfix' call setqflist([], 'r') call setqflist(l:item_list, 'a') call ale#util#Execute('cc 1') else call ale#preview#ShowSelection(l:item_list, l:options) endif endif endif endfunction function! s:OnReady(line, column, options, linter, lsp_details) abort let l:id = a:lsp_details.connection_id if !ale#lsp#HasCapability(l:id, 'references') return endif let l:buffer = a:lsp_details.buffer let l:Callback = a:linter.lsp is# 'tsserver' \ ? function('ale#references#HandleTSServerResponse') \ : function('ale#references#HandleLSPResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) if a:linter.lsp is# 'tsserver' let l:message = ale#lsp#tsserver_message#References( \ l:buffer, \ a:line, \ a:column \) else " Send a message saying the buffer has changed first, or the " references position probably won't make sense. call ale#lsp#NotifyForChanges(l:id, l:buffer) let l:message = ale#lsp#message#References(l:buffer, a:line, a:column) endif let l:request_id = ale#lsp#Send(l:id, l:message) let s:references_map[l:request_id] = { \ 'use_relative_paths': has_key(a:options, 'use_relative_paths') ? a:options.use_relative_paths : 0, \ 'open_in': get(a:options, 'open_in', 'current-buffer'), \} endfunction function! ale#references#Find(...) abort let l:options = {} if len(a:000) > 0 for l:option in a:000 if l:option is? '-relative' let l:options.use_relative_paths = 1 elseif l:option is? '-tab' let l:options.open_in = 'tab' elseif l:option is? '-split' let l:options.open_in = 'split' elseif l:option is? '-vsplit' let l:options.open_in = 'vsplit' elseif l:option is? '-quickfix' let l:options.open_in = 'quickfix' endif endfor endif if !has_key(l:options, 'open_in') let l:default_navigation = ale#Var(bufnr(''), 'default_navigation') if index(['tab', 'split', 'vsplit'], l:default_navigation) >= 0 let l:options.open_in = l:default_navigation endif endif let l:buffer = bufnr('') let [l:line, l:column] = getpos('.')[1:2] let l:column = min([l:column, len(getline(l:line))]) let l:Callback = function('s:OnReady', [l:line, l:column, l:options]) for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) call ale#lsp_linter#StartLSP(l:buffer, l:linter, l:Callback) endif endfor endfunction ================================================ FILE: bundle/ale/autoload/ale/rename.vim ================================================ " Author: Jerko Steiner " Description: Rename symbol support for LSP / tsserver let s:rename_map = {} " Used to get the rename map in tests. function! ale#rename#GetMap() abort return deepcopy(s:rename_map) endfunction " Used to set the rename map in tests. function! ale#rename#SetMap(map) abort let s:rename_map = a:map endfunction function! ale#rename#ClearLSPData() abort let s:rename_map = {} endfunction let g:ale_rename_tsserver_find_in_comments = get(g:, 'ale_rename_tsserver_find_in_comments') let g:ale_rename_tsserver_find_in_strings = get(g:, 'ale_rename_tsserver_find_in_strings') function! s:message(message) abort call ale#util#Execute('echom ' . string(a:message)) endfunction function! ale#rename#HandleTSServerResponse(conn_id, response) abort if get(a:response, 'command', '') isnot# 'rename' return endif if !has_key(s:rename_map, a:response.request_seq) return endif let l:options = remove(s:rename_map, a:response.request_seq) let l:old_name = l:options.old_name let l:new_name = l:options.new_name if get(a:response, 'success', v:false) is v:false let l:message = get(a:response, 'message', 'unknown') call s:message('Error renaming "' . l:old_name . '" to: "' . l:new_name \ . '". Reason: ' . l:message) return endif let l:changes = [] for l:response_item in a:response.body.locs let l:filename = l:response_item.file let l:text_changes = [] for l:loc in l:response_item.locs call add(l:text_changes, { \ 'start': { \ 'line': l:loc.start.line, \ 'offset': l:loc.start.offset, \ }, \ 'end': { \ 'line': l:loc.end.line, \ 'offset': l:loc.end.offset, \ }, \ 'newText': l:new_name, \}) endfor call add(l:changes, { \ 'fileName': l:filename, \ 'textChanges': l:text_changes, \}) endfor if empty(l:changes) call s:message('Error renaming "' . l:old_name . '" to: "' . l:new_name . '"') return endif call ale#code_action#HandleCodeAction( \ { \ 'description': 'rename', \ 'changes': l:changes, \ }, \ { \ 'conn_id': a:conn_id, \ 'should_save': !&hidden, \ }, \) endfunction function! ale#rename#HandleLSPResponse(conn_id, response) abort if has_key(a:response, 'id') \&& has_key(s:rename_map, a:response.id) let l:options = remove(s:rename_map, a:response.id) if !has_key(a:response, 'result') call s:message('No rename result received from server') return endif let l:changes_map = ale#code_action#GetChanges(a:response.result) if empty(l:changes_map) call s:message('No changes received from server') return endif let l:changes = ale#code_action#BuildChangesList(l:changes_map) call ale#code_action#HandleCodeAction( \ { \ 'description': 'rename', \ 'changes': l:changes, \ }, \ { \ 'conn_id': a:conn_id, \ 'should_save': !&hidden, \ }, \) endif endfunction function! s:OnReady(line, column, options, linter, lsp_details) abort let l:id = a:lsp_details.connection_id if !ale#lsp#HasCapability(l:id, 'rename') return endif let l:buffer = a:lsp_details.buffer let l:Callback = a:linter.lsp is# 'tsserver' \ ? function('ale#rename#HandleTSServerResponse') \ : function('ale#rename#HandleLSPResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) if a:linter.lsp is# 'tsserver' let l:message = ale#lsp#tsserver_message#Rename( \ l:buffer, \ a:line, \ a:column, \ g:ale_rename_tsserver_find_in_comments, \ g:ale_rename_tsserver_find_in_strings, \) else " Send a message saying the buffer has changed first, or the " rename position probably won't make sense. call ale#lsp#NotifyForChanges(l:id, l:buffer) let l:message = ale#lsp#message#Rename( \ l:buffer, \ a:line, \ a:column, \ a:options.new_name \) endif let l:request_id = ale#lsp#Send(l:id, l:message) let s:rename_map[l:request_id] = a:options endfunction function! s:ExecuteRename(linter, options) abort let l:buffer = bufnr('') let [l:line, l:column] = getpos('.')[1:2] if a:linter.lsp isnot# 'tsserver' let l:column = min([l:column, len(getline(l:line))]) endif let l:Callback = function('s:OnReady', [l:line, l:column, a:options]) call ale#lsp_linter#StartLSP(l:buffer, a:linter, l:Callback) endfunction function! ale#rename#Execute() abort let l:lsp_linters = [] for l:linter in ale#linter#Get(&filetype) if !empty(l:linter.lsp) call add(l:lsp_linters, l:linter) endif endfor if empty(l:lsp_linters) call s:message('No active LSPs') return endif let l:old_name = expand('') let l:new_name = ale#util#Input('New name: ', l:old_name) if empty(l:new_name) call s:message('New name cannot be empty!') return endif for l:lsp_linter in l:lsp_linters call s:ExecuteRename(l:lsp_linter, { \ 'old_name': l:old_name, \ 'new_name': l:new_name, \}) endfor endfunction ================================================ FILE: bundle/ale/autoload/ale/ruby.vim ================================================ " Author: Eddie Lebow https://github.com/elebow " Description: Functions for integrating with Ruby tools " Find the nearest dir containing "app", "db", and "config", and assume it is " the root of a Rails app. function! ale#ruby#FindRailsRoot(buffer) abort for l:name in ['app', 'config', 'db'] let l:dir = fnamemodify( \ ale#path#FindNearestDirectory(a:buffer, l:name), \ ':h:h' \) if l:dir isnot# '.' \&& isdirectory(l:dir . '/app') \&& isdirectory(l:dir . '/config') \&& isdirectory(l:dir . '/db') return l:dir endif endfor return '' endfunction " Find the nearest dir containing a potential ruby project. function! ale#ruby#FindProjectRoot(buffer) abort let l:dir = ale#ruby#FindRailsRoot(a:buffer) if isdirectory(l:dir) return l:dir endif for l:name in ['.solargraph.yml', 'Rakefile', 'Gemfile'] let l:dir = fnamemodify( \ ale#path#FindNearestFile(a:buffer, l:name), \ ':h' \) if l:dir isnot# '.' && isdirectory(l:dir) return l:dir endif endfor return '' endfunction " Handle output from rubocop and linters that depend on it (e.b. standardrb) function! ale#ruby#HandleRubocopOutput(buffer, lines) abort try let l:errors = json_decode(a:lines[0]) catch return [] endtry if !has_key(l:errors, 'summary') \|| l:errors['summary']['offense_count'] == 0 \|| empty(l:errors['files']) return [] endif let l:output = [] for l:error in l:errors['files'][0]['offenses'] let l:start_col = l:error['location']['column'] + 0 call add(l:output, { \ 'lnum': l:error['location']['line'] + 0, \ 'col': l:start_col, \ 'end_col': l:start_col + l:error['location']['length'] - 1, \ 'code': l:error['cop_name'], \ 'text': l:error['message'], \ 'type': ale_linters#ruby#rubocop#GetType(l:error['severity']), \}) endfor return l:output endfunction function! ale#ruby#EscapeExecutable(executable, bundle_exec) abort let l:exec_args = a:executable =~? 'bundle' \ ? ' exec ' . a:bundle_exec \ : '' return ale#Escape(a:executable) . l:exec_args endfunction ================================================ FILE: bundle/ale/autoload/ale/semver.vim ================================================ let s:version_cache = {} " Reset the version cache used for parsing the version. function! ale#semver#ResetVersionCache() abort let s:version_cache = {} endfunction function! ale#semver#ParseVersion(version_lines) abort for l:line in a:version_lines let l:match = matchlist(l:line, '\v(\d+)\.(\d+)(\.(\d+))?') if !empty(l:match) return [l:match[1] + 0, l:match[2] + 0, l:match[4] + 0] endif endfor return [] endfunction " Given an executable name and some lines of output, which can be empty, " parse the version from the lines of output, or return the cached version " triple [major, minor, patch] " " If the version cannot be found, an empty List will be returned instead. function! s:GetVersion(executable, version_lines) abort let l:version = get(s:version_cache, a:executable, []) let l:parsed_version = ale#semver#ParseVersion(a:version_lines) if !empty(l:parsed_version) let l:version = l:parsed_version let s:version_cache[a:executable] = l:version endif return l:version endfunction function! ale#semver#RunWithVersionCheck(buffer, executable, command, Callback) abort if empty(a:executable) return '' endif let l:cache = s:version_cache if has_key(s:version_cache, a:executable) return a:Callback(a:buffer, s:version_cache[a:executable]) endif return ale#command#Run( \ a:buffer, \ a:command, \ {_, output -> a:Callback(a:buffer, s:GetVersion(a:executable, output))}, \ {'output_stream': 'both', 'executable': a:executable} \) endfunction " Given two triples of integers [major, minor, patch], compare the triples " and return 1 if the LHS is greater than or equal to the RHS. " " Pairs of [major, minor] can also be used for either argument. " " 0 will be returned if the LHS is an empty List. function! ale#semver#GTE(lhs, rhs) abort if empty(a:lhs) return 0 endif if a:lhs[0] > a:rhs[0] return 1 elseif a:lhs[0] == a:rhs[0] if a:lhs[1] > a:rhs[1] return 1 elseif a:lhs[1] == a:rhs[1] return get(a:lhs, 2) >= get(a:rhs, 2) endif endif return 0 endfunction ================================================ FILE: bundle/ale/autoload/ale/sign.vim ================================================ scriptencoding utf8 " Author: w0rp " Description: Draws error and warning signs into signcolumn " This flag can be set to some integer to control the maximum number of signs " that ALE will set. let g:ale_max_signs = get(g:, 'ale_max_signs', -1) " This flag can be set to 1 to enable changing the sign column colors when " there are errors. let g:ale_change_sign_column_color = get(g:, 'ale_change_sign_column_color', 0) " These variables dictate what signs are used to indicate errors and warnings. let g:ale_sign_error = get(g:, 'ale_sign_error', '>>') let g:ale_sign_style_error = get(g:, 'ale_sign_style_error', g:ale_sign_error) let g:ale_sign_warning = get(g:, 'ale_sign_warning', '--') let g:ale_sign_style_warning = get(g:, 'ale_sign_style_warning', g:ale_sign_warning) let g:ale_sign_info = get(g:, 'ale_sign_info', g:ale_sign_warning) let g:ale_sign_priority = get(g:, 'ale_sign_priority', 30) " This variable sets an offset which can be set for sign IDs. " This ID can be changed depending on what IDs are set for other plugins. " The dummy sign will use the ID exactly equal to the offset. let g:ale_sign_offset = get(g:, 'ale_sign_offset', 1000000) " This flag can be set to 1 to keep sign gutter always open let g:ale_sign_column_always = get(g:, 'ale_sign_column_always', 0) let g:ale_sign_highlight_linenrs = get(g:, 'ale_sign_highlight_linenrs', 0) let s:supports_sign_groups = has('nvim-0.4.2') || has('patch-8.1.614') if !hlexists('ALEErrorSign') highlight link ALEErrorSign error endif if !hlexists('ALEStyleErrorSign') highlight link ALEStyleErrorSign ALEErrorSign endif if !hlexists('ALEWarningSign') highlight link ALEWarningSign todo endif if !hlexists('ALEStyleWarningSign') highlight link ALEStyleWarningSign ALEWarningSign endif if !hlexists('ALEInfoSign') highlight link ALEInfoSign ALEWarningSign endif if !hlexists('ALESignColumnWithErrors') highlight link ALESignColumnWithErrors error endif function! ale#sign#SetUpDefaultColumnWithoutErrorsHighlight() abort let l:verbose = &verbose set verbose=0 let l:output = execute('highlight SignColumn', 'silent') let &verbose = l:verbose let l:highlight_syntax = join(split(l:output)[2:]) let l:match = matchlist(l:highlight_syntax, '\vlinks to (.+)$') if !empty(l:match) execute 'highlight link ALESignColumnWithoutErrors ' . l:match[1] elseif l:highlight_syntax isnot# 'cleared' execute 'highlight ALESignColumnWithoutErrors ' . l:highlight_syntax endif endfunction if !hlexists('ALESignColumnWithoutErrors') call ale#sign#SetUpDefaultColumnWithoutErrorsHighlight() endif " Spaces and backslashes need to be escaped for signs. function! s:EscapeSignText(sign_text) abort return substitute(substitute(a:sign_text, ' *$', '', ''), '\\\| ', '\\\0', 'g') endfunction " Signs show up on the left for error markers. execute 'sign define ALEErrorSign text=' . s:EscapeSignText(g:ale_sign_error) \ . ' texthl=ALEErrorSign linehl=ALEErrorLine' execute 'sign define ALEStyleErrorSign text=' . s:EscapeSignText(g:ale_sign_style_error) \ . ' texthl=ALEStyleErrorSign linehl=ALEErrorLine' execute 'sign define ALEWarningSign text=' . s:EscapeSignText(g:ale_sign_warning) \ . ' texthl=ALEWarningSign linehl=ALEWarningLine' execute 'sign define ALEStyleWarningSign text=' . s:EscapeSignText(g:ale_sign_style_warning) \ . ' texthl=ALEStyleWarningSign linehl=ALEWarningLine' execute 'sign define ALEInfoSign text=' . s:EscapeSignText(g:ale_sign_info) \ . ' texthl=ALEInfoSign linehl=ALEInfoLine' sign define ALEDummySign text=\ texthl=SignColumn if g:ale_sign_highlight_linenrs && has('nvim-0.3.2') if !hlexists('ALEErrorSignLineNr') highlight link ALEErrorSignLineNr CursorLineNr endif if !hlexists('ALEStyleErrorSignLineNr') highlight link ALEStyleErrorSignLineNr CursorLineNr endif if !hlexists('ALEWarningSignLineNr') highlight link ALEWarningSignLineNr CursorLineNr endif if !hlexists('ALEStyleWarningSignLineNr') highlight link ALEStyleWarningSignLineNr CursorLineNr endif if !hlexists('ALEInfoSignLineNr') highlight link ALEInfoSignLineNr CursorLineNr endif sign define ALEErrorSign numhl=ALEErrorSignLineNr sign define ALEStyleErrorSign numhl=ALEStyleErrorSignLineNr sign define ALEWarningSign numhl=ALEWarningSignLineNr sign define ALEStyleWarningSign numhl=ALEStyleWarningSignLineNr sign define ALEInfoSign numhl=ALEInfoSignLineNr endif function! ale#sign#GetSignName(sublist) abort let l:priority = g:ale#util#style_warning_priority " Determine the highest priority item for the line. for l:item in a:sublist let l:item_priority = ale#util#GetItemPriority(l:item) if l:item_priority > l:priority let l:priority = l:item_priority endif endfor if l:priority is# g:ale#util#error_priority return 'ALEErrorSign' endif if l:priority is# g:ale#util#warning_priority return 'ALEWarningSign' endif if l:priority is# g:ale#util#style_error_priority return 'ALEStyleErrorSign' endif if l:priority is# g:ale#util#style_warning_priority return 'ALEStyleWarningSign' endif if l:priority is# g:ale#util#info_priority return 'ALEInfoSign' endif " Use the error sign for invalid severities. return 'ALEErrorSign' endfunction function! s:PriorityCmd() abort if s:supports_sign_groups return ' priority=' . g:ale_sign_priority . ' ' else return '' endif endfunction function! s:GroupCmd() abort if s:supports_sign_groups return ' group=ale ' else return ' ' endif endfunction " Read sign data for a buffer to a list of lines. function! ale#sign#ReadSigns(buffer) abort let l:output = execute( \ 'sign place ' . s:GroupCmd() . s:PriorityCmd() \ . ' buffer=' . a:buffer \ ) return split(l:output, "\n") endfunction function! ale#sign#ParsePattern() abort if s:supports_sign_groups " Matches output like : " line=4 id=1 group=ale name=ALEErrorSign " строка=1 id=1000001 группа=ale имя=ALEErrorSign " 行=1 識別子=1000001 グループ=ale 名前=ALEWarningSign " línea=12 id=1000001 grupo=ale nombre=ALEWarningSign " riga=1 id=1000001 gruppo=ale nome=ALEWarningSign " Zeile=235 id=1000001 Gruppe=ale Name=ALEErrorSign let l:pattern = '\v^.*\=(\d+).*\=(\d+).*\=ale>.*\=(ALE[a-zA-Z]+Sign)' else " Matches output like : " line=4 id=1 name=ALEErrorSign " строка=1 id=1000001 имя=ALEErrorSign " 行=1 識別子=1000001 名前=ALEWarningSign " línea=12 id=1000001 nombre=ALEWarningSign " riga=1 id=1000001 nome=ALEWarningSign " Zeile=235 id=1000001 Name=ALEErrorSign let l:pattern = '\v^.*\=(\d+).*\=(\d+).*\=(ALE[a-zA-Z]+Sign)' endif return l:pattern endfunction " Given a buffer number, return a List of placed signs [line, id, group] function! ale#sign#ParseSignsWithGetPlaced(buffer) abort let l:signs = sign_getplaced(a:buffer, { 'group': s:supports_sign_groups ? 'ale' : '' })[0].signs let l:result = [] let l:is_dummy_sign_set = 0 for l:sign in l:signs if l:sign['name'] is# 'ALEDummySign' let l:is_dummy_sign_set = 1 else call add(l:result, [ \ str2nr(l:sign['lnum']), \ str2nr(l:sign['id']), \ l:sign['name'], \]) endif endfor return [l:is_dummy_sign_set, l:result] endfunction " Given a list of lines for sign output, return a List of [line, id, group] function! ale#sign#ParseSigns(line_list) abort let l:pattern =ale#sign#ParsePattern() let l:result = [] let l:is_dummy_sign_set = 0 for l:line in a:line_list let l:match = matchlist(l:line, l:pattern) if len(l:match) > 0 if l:match[3] is# 'ALEDummySign' let l:is_dummy_sign_set = 1 else call add(l:result, [ \ str2nr(l:match[1]), \ str2nr(l:match[2]), \ l:match[3], \]) endif endif endfor return [l:is_dummy_sign_set, l:result] endfunction function! ale#sign#FindCurrentSigns(buffer) abort if exists('*sign_getplaced') return ale#sign#ParseSignsWithGetPlaced(a:buffer) else let l:line_list = ale#sign#ReadSigns(a:buffer) return ale#sign#ParseSigns(l:line_list) endif endfunction " Given a loclist, group the List into with one List per line. function! s:GroupLoclistItems(buffer, loclist) abort let l:grouped_items = [] let l:last_lnum = -1 for l:obj in a:loclist if l:obj.bufnr != a:buffer continue endif " Create a new sub-List when we hit a new line. if l:obj.lnum != l:last_lnum call add(l:grouped_items, []) endif call add(l:grouped_items[-1], l:obj) let l:last_lnum = l:obj.lnum endfor return l:grouped_items endfunction function! s:UpdateLineNumbers(buffer, current_sign_list, loclist) abort let l:line_map = {} let l:line_numbers_changed = 0 for [l:line, l:sign_id, l:name] in a:current_sign_list let l:line_map[l:sign_id] = l:line endfor for l:item in a:loclist if l:item.bufnr == a:buffer let l:lnum = get(l:line_map, get(l:item, 'sign_id', 0), 0) if l:lnum && l:item.lnum != l:lnum let l:item.lnum = l:lnum let l:line_numbers_changed = 1 endif endif endfor " When the line numbers change, sort the list again if l:line_numbers_changed call sort(a:loclist, 'ale#util#LocItemCompare') endif endfunction function! s:BuildSignMap(buffer, current_sign_list, grouped_items) abort let l:max_signs = ale#Var(a:buffer, 'max_signs') if l:max_signs is 0 let l:selected_grouped_items = [] elseif type(l:max_signs) is v:t_number && l:max_signs > 0 let l:selected_grouped_items = a:grouped_items[:l:max_signs - 1] else let l:selected_grouped_items = a:grouped_items endif let l:sign_map = {} let l:sign_offset = g:ale_sign_offset for [l:line, l:sign_id, l:name] in a:current_sign_list let l:sign_info = get(l:sign_map, l:line, { \ 'current_id_list': [], \ 'current_name_list': [], \ 'new_id': 0, \ 'new_name': '', \ 'items': [], \}) " Increment the sign offset for new signs, by the maximum sign ID. if l:sign_id > l:sign_offset let l:sign_offset = l:sign_id endif " Remember the sign names and IDs in separate Lists, so they are easy " to work with. call add(l:sign_info.current_id_list, l:sign_id) call add(l:sign_info.current_name_list, l:name) let l:sign_map[l:line] = l:sign_info endfor for l:group in l:selected_grouped_items let l:line = l:group[0].lnum let l:sign_info = get(l:sign_map, l:line, { \ 'current_id_list': [], \ 'current_name_list': [], \ 'new_id': 0, \ 'new_name': '', \ 'items': [], \}) let l:sign_info.new_name = ale#sign#GetSignName(l:group) let l:sign_info.items = l:group let l:index = index( \ l:sign_info.current_name_list, \ l:sign_info.new_name \) if l:index >= 0 " We have a sign with this name already, so use the same ID. let l:sign_info.new_id = l:sign_info.current_id_list[l:index] else " This sign name replaces the previous name, so use a new ID. let l:sign_info.new_id = l:sign_offset + 1 let l:sign_offset += 1 endif let l:sign_map[l:line] = l:sign_info endfor return l:sign_map endfunction function! ale#sign#GetSignCommands(buffer, was_sign_set, sign_map) abort let l:command_list = [] let l:is_dummy_sign_set = a:was_sign_set " Set the dummy sign if we need to. " The dummy sign is needed to keep the sign column open while we add " and remove signs. if !l:is_dummy_sign_set && (!empty(a:sign_map) || g:ale_sign_column_always) call add(l:command_list, 'sign place ' \ . g:ale_sign_offset \ . s:GroupCmd() \ . s:PriorityCmd() \ . ' line=1 name=ALEDummySign ' \ . ' buffer=' . a:buffer \) let l:is_dummy_sign_set = 1 endif " Place new items first. for [l:line_str, l:info] in items(a:sign_map) if l:info.new_id " Save the sign IDs we are setting back on our loclist objects. " These IDs will be used to preserve items which are set many times. for l:item in l:info.items let l:item.sign_id = l:info.new_id endfor if index(l:info.current_id_list, l:info.new_id) < 0 call add(l:command_list, 'sign place ' \ . (l:info.new_id) \ . s:GroupCmd() \ . s:PriorityCmd() \ . ' line=' . l:line_str \ . ' name=' . (l:info.new_name) \ . ' buffer=' . a:buffer \) endif endif endfor " Remove signs without new IDs. for l:info in values(a:sign_map) for l:current_id in l:info.current_id_list if l:current_id isnot l:info.new_id call add(l:command_list, 'sign unplace ' \ . l:current_id \ . s:GroupCmd() \ . ' buffer=' . a:buffer \) endif endfor endfor " Remove the dummy sign to close the sign column if we need to. if l:is_dummy_sign_set && !g:ale_sign_column_always call add(l:command_list, 'sign unplace ' \ . g:ale_sign_offset \ . s:GroupCmd() \ . ' buffer=' . a:buffer \) endif return l:command_list endfunction " This function will set the signs which show up on the left. function! ale#sign#SetSigns(buffer, loclist) abort if !bufexists(str2nr(a:buffer)) " Stop immediately when attempting to set signs for a buffer which " does not exist. return endif " Find the current markers let [l:is_dummy_sign_set, l:current_sign_list] = \ ale#sign#FindCurrentSigns(a:buffer) " Update the line numbers for items from before which may have moved. call s:UpdateLineNumbers(a:buffer, l:current_sign_list, a:loclist) " Group items after updating the line numbers. let l:grouped_items = s:GroupLoclistItems(a:buffer, a:loclist) " Build a map of current and new signs, with the lines as the keys. let l:sign_map = s:BuildSignMap( \ a:buffer, \ l:current_sign_list, \ l:grouped_items, \) let l:command_list = ale#sign#GetSignCommands( \ a:buffer, \ l:is_dummy_sign_set, \ l:sign_map, \) " Change the sign column color if the option is on. if g:ale_change_sign_column_color && !empty(a:loclist) highlight clear SignColumn highlight link SignColumn ALESignColumnWithErrors endif for l:command in l:command_list silent! execute l:command endfor " Reset the sign column color when there are no more errors. if g:ale_change_sign_column_color && empty(a:loclist) highlight clear SignColumn highlight link SignColumn ALESignColumnWithoutErrors endif endfunction " Remove all signs. function! ale#sign#Clear() abort if s:supports_sign_groups sign unplace group=ale * else sign unplace * endif endfunction ================================================ FILE: bundle/ale/autoload/ale/socket.vim ================================================ " Author: w0rp " Description: APIs for working with asynchronous sockets, with an API " normalised between Vim 8 and NeoVim. Socket connections only work in NeoVim " 0.3+, and silently do nothing in earlier NeoVim versions. " " Important functions are described below. They are: " " ale#socket#Open(address, options) -> channel_id (>= 0 if successful) " ale#socket#IsOpen(channel_id) -> 1 if open, 0 otherwise " ale#socket#Close(channel_id) " ale#socket#Send(channel_id, data) " ale#socket#GetAddress(channel_id) -> Return the address for a job let s:channel_map = get(s:, 'channel_map', {}) function! s:VimOutputCallback(channel, data) abort let l:channel_id = ch_info(a:channel).id " Only call the callbacks for jobs which are valid. if l:channel_id >= 0 && has_key(s:channel_map, l:channel_id) call ale#util#GetFunction(s:channel_map[l:channel_id].callback)(l:channel_id, a:data) endif endfunction function! s:NeoVimOutputCallback(channel_id, data, event) abort let l:info = s:channel_map[a:channel_id] if a:event is# 'data' let l:info.last_line = ale#util#JoinNeovimOutput( \ a:channel_id, \ l:info.last_line, \ a:data, \ l:info.mode, \ ale#util#GetFunction(l:info.callback), \) endif endfunction " Open a socket for a given address. The following options are accepted: " " callback - A callback for receiving input. (required) " " A non-negative number representing a channel ID will be returned is the " connection was successful. 0 is a valid channel ID in Vim, so test if the " connection ID is >= 0. function! ale#socket#Open(address, options) abort let l:mode = get(a:options, 'mode', 'raw') let l:Callback = a:options.callback let l:channel_info = { \ 'address': a:address, \ 'mode': l:mode, \ 'callback': a:options.callback, \} if !has('nvim') " Vim let l:channel_options = { \ 'mode': l:mode, \ 'waittime': 0, \ 'callback': function('s:VimOutputCallback'), \} " Use non-blocking writes for Vim versions that support the option. if has('patch-8.1.350') let l:channel_options.noblock = 1 endif let l:channel_info.channel = ch_open(a:address, l:channel_options) let l:vim_info = ch_info(l:channel_info.channel) let l:channel_id = !empty(l:vim_info) ? l:vim_info.id : -1 elseif exists('*chansend') && exists('*sockconnect') " NeoVim 0.3+ try let l:channel_id = sockconnect(stridx(a:address, ':') != -1 ? 'tcp' : 'pipe', \ a:address, {'on_data': function('s:NeoVimOutputCallback')}) let l:channel_info.last_line = '' catch /connection failed/ let l:channel_id = -1 endtry " 0 means the connection failed some times in NeoVim, so make the ID " invalid to match Vim. if l:channel_id is 0 let l:channel_id = -1 endif let l:channel_info.channel = l:channel_id else " Other Vim versions. let l:channel_id = -1 endif if l:channel_id >= 0 let s:channel_map[l:channel_id] = l:channel_info endif return l:channel_id endfunction " Return 1 is a channel is open, 0 otherwise. function! ale#socket#IsOpen(channel_id) abort if !has_key(s:channel_map, a:channel_id) return 0 endif if has('nvim') " In NeoVim, we have to check if this channel is in the global list. return index(map(nvim_list_chans(), 'v:val.id'), a:channel_id) >= 0 endif let l:channel = s:channel_map[a:channel_id].channel return ch_status(l:channel) is# 'open' endfunction " Close a socket, if it's still open. function! ale#socket#Close(channel_id) abort " IsRunning isn't called here, so we don't check nvim_list_chans() if !has_key(s:channel_map, a:channel_id) return 0 endif let l:channel = remove(s:channel_map, a:channel_id).channel if has('nvim') silent! call chanclose(l:channel) elseif ch_status(l:channel) is# 'open' call ch_close(l:channel) endif endfunction " Send some data to a socket. function! ale#socket#Send(channel_id, data) abort if !has_key(s:channel_map, a:channel_id) return endif let l:channel = s:channel_map[a:channel_id].channel if has('nvim') call chansend(l:channel, a:data) else call ch_sendraw(l:channel, a:data) endif endfunction " Get an address for a channel, or an empty string. function! ale#socket#GetAddress(channel_id) abort return get(get(s:channel_map, a:channel_id, {}), 'address', '') endfunction ================================================ FILE: bundle/ale/autoload/ale/statusline.vim ================================================ " Author: KabbAmine " Additions by: petpetpetpet " Description: Statusline related function(s) function! s:CreateCountDict() abort " Keys 0 and 1 are for backwards compatibility. " The count object used to be a List of [error_count, warning_count]. return { \ '0': 0, \ '1': 0, \ 'error': 0, \ 'warning': 0, \ 'info': 0, \ 'style_error': 0, \ 'style_warning': 0, \ 'total': 0, \} endfunction " Update the buffer error/warning count with data from loclist. function! ale#statusline#Update(buffer, loclist) abort if !exists('g:ale_buffer_info') || !has_key(g:ale_buffer_info, a:buffer) return endif let l:loclist = filter(copy(a:loclist), 'v:val.bufnr == a:buffer') let l:count = s:CreateCountDict() let l:count.total = len(l:loclist) " Allows easy access to the first instance of each problem type. let l:first_problems = {} for l:entry in l:loclist if l:entry.type is# 'W' if get(l:entry, 'sub_type', '') is# 'style' let l:count.style_warning += 1 if l:count.style_warning == 1 let l:first_problems.style_warning = l:entry endif else let l:count.warning += 1 if l:count.warning == 1 let l:first_problems.warning = l:entry endif endif elseif l:entry.type is# 'I' let l:count.info += 1 if l:count.info == 1 let l:first_problems.info = l:entry endif elseif get(l:entry, 'sub_type', '') is# 'style' let l:count.style_error += 1 if l:count.style_error == 1 let l:first_problems.style_error = l:entry endif else let l:count.error += 1 if l:count.error == 1 let l:first_problems.error = l:entry endif endif endfor " Set keys for backwards compatibility. let l:count[0] = l:count.error + l:count.style_error let l:count[1] = l:count.total - l:count[0] let g:ale_buffer_info[a:buffer].count = l:count let g:ale_buffer_info[a:buffer].first_problems = l:first_problems endfunction " Get the counts for the buffer, and update the counts if needed. function! s:UpdateCacheIfNecessary(buffer) abort " Cache is cold, so manually ask for an update. if !has_key(g:ale_buffer_info[a:buffer], 'count') call ale#statusline#Update( \ a:buffer, \ g:ale_buffer_info[a:buffer].loclist \) endif endfunction function! s:BufferCacheExists(buffer) abort if !exists('g:ale_buffer_info') || !has_key(g:ale_buffer_info, a:buffer) return 0 endif return 1 endfunction " Get the counts for the buffer, and update the counts if needed. function! s:GetCounts(buffer) abort if !s:BufferCacheExists(a:buffer) return s:CreateCountDict() endif call s:UpdateCacheIfNecessary(a:buffer) return g:ale_buffer_info[a:buffer].count endfunction " Get the dict of first_problems, update the buffer info cache if necessary. function! s:GetFirstProblems(buffer) abort if !s:BufferCacheExists(a:buffer) return {} endif call s:UpdateCacheIfNecessary(a:buffer) return g:ale_buffer_info[a:buffer].first_problems endfunction " Returns a Dictionary with counts for use in third party integrations. function! ale#statusline#Count(buffer) abort " The Dictionary is copied here before exposing it to other plugins. return copy(s:GetCounts(a:buffer)) endfunction " Returns a copy of the *first* locline instance of the specified problem " type. (so this would allow an external integration to know all the info " about the first style warning in the file, for example.) function! ale#statusline#FirstProblem(buffer, type) abort let l:first_problems = s:GetFirstProblems(a:buffer) if !empty(l:first_problems) && has_key(l:first_problems, a:type) return copy(l:first_problems[a:type]) endif return {} endfunction ================================================ FILE: bundle/ale/autoload/ale/swift.vim ================================================ " Author: Dan Loman " Description: Functions for integrating with Swift tools " Find the nearest dir containing a Package.swift file and assume it is the root of the Swift project. function! ale#swift#FindProjectRoot(buffer) abort let l:swift_config = ale#path#FindNearestFile(a:buffer, 'Package.swift') if !empty(l:swift_config) return fnamemodify(l:swift_config, ':h') endif return '' endfunction " Support Apple Swift Format {{{1 call ale#Set('swift_appleswiftformat_executable', 'swift-format') call ale#Set('swift_appleswiftformat_use_swiftpm', 0) " Return the executable depending on whether or not to use Swift Package Manager. " " If not asked to use Swift Package Manager (use_swiftpm = 0), the returned " value is the global executable, else the returned value is 'swift' because " the final command line will be `swift run swift-format ...`. " " Failure is expected if use_swiftpm is `1` but no Package.swift can be located. function! ale#swift#GetAppleSwiftFormatExecutable(buffer) abort if !ale#Var(a:buffer, 'swift_appleswiftformat_use_swiftpm') return ale#Var(a:buffer, 'swift_appleswiftformat_executable') endif if ale#path#FindNearestFile(a:buffer, 'Package.swift') is# '' " If there is no Package.swift file, we don't use swift-format even if it exists, " so we return '' to indicate failure. return '' endif return 'swift' endfunction " Return the command depending on whether or not to use Swift Package Manager. " " If asked to use Swift Package Manager (use_swiftpm = 1), the command " arguments are prefixed with 'swift run'. " " In either case, the configuration file is located and added to the command. function! ale#swift#GetAppleSwiftFormatCommand(buffer) abort let l:executable = ale#swift#GetAppleSwiftFormatExecutable(a:buffer) let l:command_args = '' if ale#Var(a:buffer, 'swift_appleswiftformat_use_swiftpm') let l:command_args = ' ' . 'run swift-format' endif return ale#Escape(l:executable) . l:command_args endfunction " Locate the nearest '.swift-format' configuration file, and return the " arguments, else return an empty string. function! ale#swift#GetAppleSwiftFormatConfigArgs(buffer) abort let l:config_filepath = ale#path#FindNearestFile(a:buffer, '.swift-format') if l:config_filepath isnot# '' return '--configuration' . ' ' . l:config_filepath endif return '' endfunction " }}} ================================================ FILE: bundle/ale/autoload/ale/symbol.vim ================================================ let s:symbol_map = {} " Used to get the symbol map in tests. function! ale#symbol#GetMap() abort return deepcopy(s:symbol_map) endfunction " Used to set the symbol map in tests. function! ale#symbol#SetMap(map) abort let s:symbol_map = a:map endfunction function! ale#symbol#ClearLSPData() abort let s:symbol_map = {} endfunction function! ale#symbol#HandleLSPResponse(conn_id, response) abort if has_key(a:response, 'id') \&& has_key(s:symbol_map, a:response.id) let l:options = remove(s:symbol_map, a:response.id) let l:result = get(a:response, 'result', v:null) let l:item_list = [] if type(l:result) is v:t_list " Each item looks like this: " { " 'name': 'foo', " 'kind': 123, " 'deprecated': v:false, " 'location': { " 'uri': 'file://...', " 'range': { " 'start': {'line': 0, 'character': 0}, " 'end': {'line': 0, 'character': 0}, " }, " }, " 'containerName': 'SomeContainer', " } for l:response_item in l:result let l:location = l:response_item.location call add(l:item_list, { \ 'filename': ale#util#ToResource(l:location.uri), \ 'line': l:location.range.start.line + 1, \ 'column': l:location.range.start.character + 1, \ 'match': l:response_item.name, \}) endfor endif if empty(l:item_list) call ale#util#Execute('echom ''No symbols found.''') else call ale#preview#ShowSelection(l:item_list, l:options) endif endif endfunction function! s:OnReady(query, options, linter, lsp_details) abort let l:id = a:lsp_details.connection_id if !ale#lsp#HasCapability(l:id, 'symbol_search') return endif let l:buffer = a:lsp_details.buffer " If we already made a request, stop here. if getbufvar(l:buffer, 'ale_symbol_request_made', 0) return endif let l:Callback = function('ale#symbol#HandleLSPResponse') call ale#lsp#RegisterCallback(l:id, l:Callback) let l:message = ale#lsp#message#Symbol(a:query) let l:request_id = ale#lsp#Send(l:id, l:message) call setbufvar(l:buffer, 'ale_symbol_request_made', 1) let s:symbol_map[l:request_id] = { \ 'buffer': l:buffer, \ 'use_relative_paths': has_key(a:options, 'use_relative_paths') ? a:options.use_relative_paths : 0 \} endfunction function! ale#symbol#Search(args) abort let [l:opts, l:query] = ale#args#Parse(['relative'], a:args) if empty(l:query) throw 'A non-empty string must be provided!' endif let l:buffer = bufnr('') let l:options = {} if has_key(l:opts, 'relative') let l:options.use_relative_paths = 1 endif " Set a flag so we only make one request. call setbufvar(l:buffer, 'ale_symbol_request_made', 0) let l:Callback = function('s:OnReady', [l:query, l:options]) for l:linter in ale#linter#Get(getbufvar(l:buffer, '&filetype')) if !empty(l:linter.lsp) && l:linter.lsp isnot# 'tsserver' call ale#lsp_linter#StartLSP(l:buffer, l:linter, l:Callback) endif endfor endfunction ================================================ FILE: bundle/ale/autoload/ale/test.vim ================================================ " Author: w0rp " Description: Functions for making testing ALE easier. " " This file should not typically be loaded during the normal execution of ALE. " Change the directory for checking things in particular test directories " " This function will set the g:dir variable, which represents the working " directory after changing the path. This variable allows a test to change " directories, and then switch back to a directory at the start of the test " run. " " This function should be run in a Vader Before: block. function! ale#test#SetDirectory(docker_path) abort if a:docker_path[:len('/testplugin/') - 1] isnot# '/testplugin/' throw 'docker_path must start with /testplugin/!' endif " Try to switch directory, which will fail when running tests directly, " and not through the Docker image. silent! execute 'cd ' . fnameescape(a:docker_path) let g:dir = getcwd() " no-custom-checks endfunction " When g:dir is defined, switch back to the directory we saved, and then " delete that variable. " " The filename will be reset to dummy.txt " " This function should be run in a Vader After: block. function! ale#test#RestoreDirectory() abort call ale#test#SetFilename('dummy.txt') silent execute 'cd ' . fnameescape(g:dir) unlet! g:dir endfunction " Get a filename for the current buffer using a relative path to the script. " " If a g:dir variable is set, it will be used as the path to the directory " containing the test file. function! ale#test#GetFilename(path) abort let l:dir = get(g:, 'dir', '') if empty(l:dir) let l:dir = getcwd() " no-custom-checks endif let l:full_path = ale#path#IsAbsolute(a:path) \ ? a:path \ : l:dir . '/' . a:path return ale#path#Simplify(l:full_path) endfunction " Change the filename for the current buffer using a relative path to " the script without running autocmd commands. " " If a g:dir variable is set, it will be used as the path to the directory " containing the test file. function! ale#test#SetFilename(path) abort let l:full_path = ale#test#GetFilename(a:path) silent! noautocmd execute 'file ' . fnameescape(l:full_path) endfunction function! RemoveNewerKeys(results) abort for l:item in a:results if has_key(l:item, 'module') call remove(l:item, 'module') endif if has_key(l:item, 'end_col') call remove(l:item, 'end_col') endif if has_key(l:item, 'end_lnum') call remove(l:item, 'end_lnum') endif endfor endfunction " Return loclist data with only the keys supported by the lowest Vim versions. function! ale#test#GetLoclistWithoutNewerKeys() abort let l:results = getloclist(0) call RemoveNewerKeys(l:results) return l:results endfunction " Return quickfix data with only the keys supported by the lowest Vim versions. function! ale#test#GetQflistWithoutNewerKeys() abort let l:results = getqflist() call RemoveNewerKeys(l:results) return l:results endfunction function! ale#test#GetPreviewWindowText() abort for l:window in range(1, winnr('$')) if getwinvar(l:window, '&previewwindow', 0) let l:buffer = winbufnr(l:window) return getbufline(l:buffer, 1, '$') endif endfor endfunction " This function can be called with a timeout to wait for all jobs to finish. " If the jobs to not finish in the given number of milliseconds, " an exception will be thrown. " " The time taken will be a very rough approximation, and more time may be " permitted than is specified. function! ale#test#WaitForJobs(deadline) abort let l:start_time = ale#events#ClockMilliseconds() if l:start_time == 0 throw 'Failed to read milliseconds from the clock!' endif let l:job_list = [] " Gather all of the jobs from every buffer. for [l:buffer, l:data] in items(ale#command#GetData()) call extend(l:job_list, map(keys(l:data.jobs), 'str2nr(v:val)')) endfor " NeoVim has a built-in API for this, so use that. if has('nvim') let l:nvim_code_list = jobwait(l:job_list, a:deadline) if index(l:nvim_code_list, -1) >= 0 throw 'Jobs did not complete on time!' endif return endif let l:should_wait_more = 1 while l:should_wait_more let l:should_wait_more = 0 for l:job_id in l:job_list if ale#job#IsRunning(l:job_id) let l:now = ale#events#ClockMilliseconds() if l:now - l:start_time > a:deadline " Stop waiting after a timeout, so we don't wait forever. throw 'Jobs did not complete on time!' endif " Wait another 10 milliseconds let l:should_wait_more = 1 sleep 10ms break endif endfor endwhile " Sleep for a small amount of time after all jobs finish. " This seems to be enough to let handlers after jobs end run, and " prevents the occasional failure where this function exits after jobs " end, but before handlers are run. sleep 10ms " We must check the buffer data again to see if new jobs started for " linters with chained commands. let l:has_new_jobs = 0 " Check again to see if any jobs are running. for l:info in values(g:ale_buffer_info) for [l:job_id, l:linter] in get(l:info, 'job_list', []) if ale#job#IsRunning(l:job_id) let l:has_new_jobs = 1 break endif endfor endfor if l:has_new_jobs " We have to wait more. Offset the timeout by the time taken so far. let l:now = ale#events#ClockMilliseconds() let l:new_deadline = a:deadline - (l:now - l:start_time) if l:new_deadline <= 0 " Enough time passed already, so stop immediately. throw 'Jobs did not complete on time!' endif call ale#test#WaitForJobs(l:new_deadline) endif endfunction function! ale#test#FlushJobs() abort " The variable is checked for in a loop, as calling one series of " callbacks can trigger a further series of callbacks. while exists('g:ale_run_synchronously_callbacks') let l:callbacks = g:ale_run_synchronously_callbacks unlet g:ale_run_synchronously_callbacks for l:Callback in l:callbacks call l:Callback() endfor endwhile endfunction ================================================ FILE: bundle/ale/autoload/ale/toggle.vim ================================================ function! s:EnablePreamble() abort " Set pattern options again, if enabled. if get(g:, 'ale_pattern_options_enabled', 0) call ale#pattern_options#SetOptions(bufnr('')) endif " Lint immediately, including running linters against the file. call ale#Queue(0, 'lint_file') endfunction function! s:DisablePostamble() abort " Remove highlights for the current buffer now. if g:ale_set_highlights call ale#highlight#UpdateHighlights() endif if g:ale_virtualtext_cursor is# 'current' || g:ale_virtualtext_cursor == 1 call ale#virtualtext#Clear(bufnr('')) endif endfunction function! ale#toggle#Toggle() abort let g:ale_enabled = !get(g:, 'ale_enabled') if g:ale_enabled call s:EnablePreamble() if g:ale_set_balloons call ale#balloon#Enable() endif else call ale#engine#CleanupEveryBuffer() call s:DisablePostamble() if exists('*ale#balloon#Disable') call ale#balloon#Disable() endif endif call ale#events#Init() endfunction function! ale#toggle#Enable() abort if !g:ale_enabled call ale#toggle#Toggle() endif endfunction function! ale#toggle#Disable() abort if g:ale_enabled call ale#toggle#Toggle() endif endfunction function! ale#toggle#Reset() abort call ale#engine#CleanupEveryBuffer() call ale#highlight#UpdateHighlights() endfunction function! ale#toggle#ToggleBuffer(buffer) abort " Get the new value for the toggle. let l:enabled = !getbufvar(a:buffer, 'ale_enabled', 1) " Disabling ALE globally removes autocmd events, so we cannot enable " linting locally when linting is disabled globally if l:enabled && !g:ale_enabled " no-custom-checks echom 'ALE cannot be enabled locally when disabled globally' return endif call setbufvar(a:buffer, 'ale_enabled', l:enabled) if l:enabled call s:EnablePreamble() else " Stop all jobs and clear the results for everything, and delete " all of the data we stored for the buffer. call ale#engine#Cleanup(a:buffer) call s:DisablePostamble() endif endfunction function! ale#toggle#EnableBuffer(buffer) abort " ALE is enabled by default for all buffers. if !getbufvar(a:buffer, 'ale_enabled', 1) call ale#toggle#ToggleBuffer(a:buffer) endif endfunction function! ale#toggle#DisableBuffer(buffer) abort if getbufvar(a:buffer, 'ale_enabled', 1) call ale#toggle#ToggleBuffer(a:buffer) endif endfunction function! ale#toggle#ResetBuffer(buffer) abort call ale#engine#Cleanup(a:buffer) call ale#highlight#UpdateHighlights() endfunction ================================================ FILE: bundle/ale/autoload/ale/uri/jdt.vim ================================================ " Author: yoshi1123 " Description: Functions for working with jdt:// URIs. function! s:OpenJDTLink(root, uri, line, column, options, result) abort if has_key(a:result, 'error') " no-custom-checks echoerr a:result.error.message return endif let l:contents = a:result['result'] if type(l:contents) is# type(v:null) " no-custom-checks echoerr 'File content not found' endif " disable autocmd when opening buffer autocmd! AleURISchemes call ale#util#Open(a:uri, a:line, a:column, a:options) autocmd AleURISchemes BufNewFile,BufReadPre jdt://** call ale#uri#jdt#ReadJDTLink(expand('')) if !empty(getbufvar(bufnr(''), 'ale_lsp_root', '')) return endif let b:ale_lsp_root = a:root set filetype=java call setline(1, split(l:contents, '\n')) call cursor(a:line, a:column) normal! zz setlocal buftype=nofile nomodified nomodifiable readonly endfunction " Load new buffer with jdt:// contents and jump to line and column. function! ale#uri#jdt#OpenJDTLink(encoded_uri, line, column, options, conn_id) abort let l:found_eclipselsp = v:false for l:linter in ale#linter#Get('java') if l:linter.name is# 'eclipselsp' let l:found_eclipselsp = v:true endif endfor if !l:found_eclipselsp throw 'eclipselsp not running' endif let l:root = a:conn_id[stridx(a:conn_id, ':')+1:] let l:uri = a:encoded_uri call ale#lsp_linter#SendRequest( \ bufnr(''), \ 'eclipselsp', \ [0, 'java/classFileContents', {'uri': ale#util#ToURI(l:uri)}], \ function('s:OpenJDTLink', [l:root, l:uri, a:line, a:column, a:options]) \) endfunction function! s:ReadClassFileContents(uri, result) abort if has_key(a:result, 'error') " no-custom-checks echoerr a:result.error.message return endif let l:contents = a:result['result'] if type(l:contents) is# type(v:null) " no-custom-checks echoerr 'File content not found' endif call setline(1, split(l:contents, '\n')) setlocal buftype=nofile nomodified nomodifiable readonly endfunction " Read jdt:// contents, as part of current project, into current buffer. function! ale#uri#jdt#ReadJDTLink(encoded_uri) abort if !empty(getbufvar(bufnr(''), 'ale_lsp_root', '')) return endif let l:linter_map = ale#lsp_linter#GetLSPLinterMap() for l:conn_id in keys(l:linter_map) if l:linter_map[l:conn_id] is# 'eclipselsp' let l:root = l:conn_id[stridx(l:conn_id, ':')+1:] endif endfor if l:root is# v:null throw 'eclipselsp not running' endif let l:uri = a:encoded_uri let b:ale_lsp_root = l:root set filetype=java call ale#lsp_linter#SendRequest( \ bufnr(''), \ 'eclipselsp', \ [0, 'java/classFileContents', {'uri': ale#util#ToURI(l:uri)}], \ function('s:ReadClassFileContents', [l:uri]) \) endfunction ================================================ FILE: bundle/ale/autoload/ale/uri.vim ================================================ function! s:EncodeChar(char) abort let l:result = '' for l:index in range(strlen(a:char)) let l:result .= printf('%%%02x', char2nr(a:char[l:index])) endfor return l:result endfunction function! ale#uri#Encode(value) abort return substitute( \ a:value, \ '\([^a-zA-Z0-9\\/$\-_.!*''(),]\)', \ '\=s:EncodeChar(submatch(1))', \ 'g' \) endfunction function! ale#uri#Decode(value) abort return substitute( \ a:value, \ '%\(\x\x\)', \ '\=printf("%c", str2nr(submatch(1), 16))', \ 'g' \) endfunction let s:uri_handlers = { \ 'jdt': { \ 'OpenURILink': function('ale#uri#jdt#OpenJDTLink'), \ } \} function! ale#uri#GetURIHandler(uri) abort for l:scheme in keys(s:uri_handlers) if a:uri =~# '^'.l:scheme.'://' return s:uri_handlers[scheme] endif endfor return v:null endfunction ================================================ FILE: bundle/ale/autoload/ale/util.vim ================================================ " Author: w0rp " Description: Contains miscellaneous functions " A wrapper function for mode() so we can test calls for it. function! ale#util#Mode(...) abort return call('mode', a:000) endfunction " A wrapper function for feedkeys so we can test calls for it. function! ale#util#FeedKeys(...) abort return call('feedkeys', a:000) endfunction " Show a message in as small a window as possible. " " Vim 8 does not support echoing long messages from asynchronous callbacks, " but NeoVim does. Small messages can be echoed in Vim 8, and larger messages " have to be shown in preview windows. function! ale#util#ShowMessage(string, ...) abort let l:options = get(a:000, 0, {}) if !has('nvim') call ale#preview#CloseIfTypeMatches('ale-preview.message') endif " We have to assume the user is using a monospace font. if has('nvim') || (a:string !~? "\n" && len(a:string) < &columns) " no-custom-checks echo a:string else call ale#preview#Show(split(a:string, "\n"), extend( \ { \ 'filetype': 'ale-preview.message', \ 'stay_here': 1, \ }, \ l:options, \)) endif endfunction " A wrapper function for execute, so we can test executing some commands. function! ale#util#Execute(expr) abort execute a:expr endfunction if !exists('g:ale#util#nul_file') " A null file for sending output to nothing. let g:ale#util#nul_file = '/dev/null' if has('win32') let g:ale#util#nul_file = 'nul' endif endif " Given a job, a buffered line of data, a list of parts of lines, a mode data " is being read in, and a callback, join the lines of output for a NeoVim job " or socket together, and call the callback with the joined output. " " Note that jobs and IDs are the same thing on NeoVim. function! ale#util#JoinNeovimOutput(job, last_line, data, mode, callback) abort if a:mode is# 'raw' call a:callback(a:job, join(a:data, "\n")) return '' endif let l:lines = a:data[:-2] if len(a:data) > 1 let l:lines[0] = a:last_line . l:lines[0] let l:new_last_line = a:data[-1] else let l:new_last_line = a:last_line . get(a:data, 0, '') endif for l:line in l:lines call a:callback(a:job, l:line) endfor return l:new_last_line endfunction " Return the number of lines for a given buffer. function! ale#util#GetLineCount(buffer) abort return len(getbufline(a:buffer, 1, '$')) endfunction function! ale#util#GetFunction(string_or_ref) abort if type(a:string_or_ref) is v:t_string return function(a:string_or_ref) endif return a:string_or_ref endfunction " Open the file (at the given line). " options['open_in'] can be: " current-buffer (default) " tab " split " vsplit function! ale#util#Open(filename, line, column, options) abort let l:open_in = get(a:options, 'open_in', 'current-buffer') let l:args_to_open = '+' . a:line . ' ' . fnameescape(a:filename) if l:open_in is# 'tab' call ale#util#Execute('tabedit ' . l:args_to_open) elseif l:open_in is# 'split' call ale#util#Execute('split ' . l:args_to_open) elseif l:open_in is# 'vsplit' call ale#util#Execute('vsplit ' . l:args_to_open) elseif bufnr(a:filename) isnot bufnr('') " Open another file only if we need to. call ale#util#Execute('edit ' . l:args_to_open) else normal! m` endif call cursor(a:line, a:column) normal! zz endfunction let g:ale#util#error_priority = 5 let g:ale#util#warning_priority = 4 let g:ale#util#info_priority = 3 let g:ale#util#style_error_priority = 2 let g:ale#util#style_warning_priority = 1 function! ale#util#GetItemPriority(item) abort if a:item.type is# 'I' return g:ale#util#info_priority endif if a:item.type is# 'W' if get(a:item, 'sub_type', '') is# 'style' return g:ale#util#style_warning_priority endif return g:ale#util#warning_priority endif if get(a:item, 'sub_type', '') is# 'style' return g:ale#util#style_error_priority endif return g:ale#util#error_priority endfunction " Compare two loclist items for ALE, sorted by their buffers, filenames, and " line numbers and column numbers. function! ale#util#LocItemCompare(left, right) abort if a:left.bufnr < a:right.bufnr return -1 endif if a:left.bufnr > a:right.bufnr return 1 endif if a:left.bufnr == -1 if a:left.filename < a:right.filename return -1 endif if a:left.filename > a:right.filename return 1 endif endif if a:left.lnum < a:right.lnum return -1 endif if a:left.lnum > a:right.lnum return 1 endif if a:left.col < a:right.col return -1 endif if a:left.col > a:right.col return 1 endif " When either of the items lacks a problem type, then the two items should " be considered equal. This is important for loclist jumping. if !has_key(a:left, 'type') || !has_key(a:right, 'type') return 0 endif let l:left_priority = ale#util#GetItemPriority(a:left) let l:right_priority = ale#util#GetItemPriority(a:right) if l:left_priority < l:right_priority return -1 endif if l:left_priority > l:right_priority return 1 endif return 0 endfunction " Compare two loclist items, including the text for the items. " " This function can be used for de-duplicating lists. function! ale#util#LocItemCompareWithText(left, right) abort let l:cmp_value = ale#util#LocItemCompare(a:left, a:right) if l:cmp_value return l:cmp_value endif if a:left.text < a:right.text return -1 endif if a:left.text > a:right.text return 1 endif return 0 endfunction " This function will perform a binary search and a small sequential search " on the list to find the last problem in the buffer and line which is " on or before the column. The index of the problem will be returned. " " -1 will be returned if nothing can be found. function! ale#util#BinarySearch(loclist, buffer, line, column) abort let l:min = 0 let l:max = len(a:loclist) - 1 while 1 if l:max < l:min return -1 endif let l:mid = (l:min + l:max) / 2 let l:item = a:loclist[l:mid] " Binary search for equal buffers, equal lines, then near columns. if l:item.bufnr < a:buffer let l:min = l:mid + 1 elseif l:item.bufnr > a:buffer let l:max = l:mid - 1 elseif l:item.lnum < a:line let l:min = l:mid + 1 elseif l:item.lnum > a:line let l:max = l:mid - 1 else " This part is a small sequential search. let l:index = l:mid " Search backwards to find the first problem on the line. while l:index > 0 \&& a:loclist[l:index - 1].bufnr == a:buffer \&& a:loclist[l:index - 1].lnum == a:line let l:index -= 1 endwhile " Find the last problem on or before this column. while l:index < l:max \&& a:loclist[l:index + 1].bufnr == a:buffer \&& a:loclist[l:index + 1].lnum == a:line \&& a:loclist[l:index + 1].col <= a:column let l:index += 1 endwhile " Scan forwards to find the last item on the column for the item " we found, which will have the most serious problem. let l:item_column = a:loclist[l:index].col while l:index < l:max \&& a:loclist[l:index + 1].bufnr == a:buffer \&& a:loclist[l:index + 1].lnum == a:line \&& a:loclist[l:index + 1].col == l:item_column let l:index += 1 endwhile return l:index endif endwhile endfunction " A function for testing if a function is running inside a sandbox. " See :help sandbox function! ale#util#InSandbox() abort try let &l:equalprg=&l:equalprg catch /E48/ " E48 is the sandbox error. return 1 endtry return 0 endfunction function! ale#util#Tempname() abort let l:clear_tempdir = 0 if exists('$TMPDIR') && empty($TMPDIR) let l:clear_tempdir = 1 let $TMPDIR = '/tmp' endif try let l:name = tempname() " no-custom-checks finally if l:clear_tempdir let $TMPDIR = '' endif endtry return l:name endfunction " Given a single line, or a List of lines, and a single pattern, or a List " of patterns, return all of the matches for the lines(s) from the given " patterns, using matchlist(). " " Only the first pattern which matches a line will be returned. function! ale#util#GetMatches(lines, patterns) abort let l:matches = [] let l:lines = type(a:lines) is v:t_list ? a:lines : [a:lines] let l:patterns = type(a:patterns) is v:t_list ? a:patterns : [a:patterns] for l:line in l:lines for l:pattern in l:patterns let l:match = matchlist(l:line, l:pattern) if !empty(l:match) call add(l:matches, l:match) break endif endfor endfor return l:matches endfunction " Given a single line, or a List of lines, and a single pattern, or a List of " patterns, and a callback function for mapping the items matches, return the " result of mapping all of the matches for the lines from the given patterns, " using matchlist() " " Only the first pattern which matches a line will be returned. function! ale#util#MapMatches(lines, patterns, Callback) abort return map(ale#util#GetMatches(a:lines, a:patterns), 'a:Callback(v:val)') endfunction function! s:LoadArgCount(function) abort try let l:output = execute('function a:function') catch /E123/ return 0 endtry let l:match = matchstr(split(l:output, "\n")[0], '\v\([^)]+\)')[1:-2] let l:arg_list = filter(split(l:match, ', '), 'v:val isnot# ''...''') return len(l:arg_list) endfunction " Given the name of a function, a Funcref, or a lambda, return the number " of named arguments for a function. function! ale#util#FunctionArgCount(function) abort let l:Function = ale#util#GetFunction(a:function) let l:count = s:LoadArgCount(l:Function) " If we failed to get the count, forcibly load the autoload file, if the " function is an autoload function. autoload functions aren't normally " defined until they are called. if l:count == 0 let l:function_name = matchlist(string(l:Function), 'function([''"]\(.\+\)[''"])')[1] if l:function_name =~# '#' execute 'runtime autoload/' . join(split(l:function_name, '#')[:-2], '/') . '.vim' let l:count = s:LoadArgCount(l:Function) endif endif return l:count endfunction " Escape a string so the characters in it will be safe for use inside of PCRE " or RE2 regular expressions without characters having special meanings. function! ale#util#EscapePCRE(unsafe_string) abort return substitute(a:unsafe_string, '\([\-\[\]{}()*+?.^$|]\)', '\\\1', 'g') endfunction " Escape a string so that it can be used as a literal string inside an evaled " vim command. function! ale#util#EscapeVim(unsafe_string) abort return "'" . substitute(a:unsafe_string, "'", "''", 'g') . "'" endfunction " Given a String or a List of String values, try and decode the string(s) " as a JSON value which can be decoded with json_decode. If the JSON string " is invalid, the default argument value will be returned instead. " " This function is useful in code where the data can't be trusted to be valid " JSON, and where throwing exceptions is mostly just irritating. function! ale#util#FuzzyJSONDecode(data, default) abort if empty(a:data) return a:default endif let l:str = type(a:data) is v:t_string ? a:data : join(a:data, '') try let l:result = json_decode(l:str) " Vim 8 only uses the value v:none for decoding blank strings. if !has('nvim') && l:result is v:none return a:default endif return l:result catch /E474\|E491/ return a:default endtry endfunction " Write a file, including carriage return characters for DOS files. " " The buffer number is required for determining the fileformat setting for " the buffer. function! ale#util#Writefile(buffer, lines, filename) abort let l:corrected_lines = getbufvar(a:buffer, '&fileformat') is# 'dos' \ ? map(copy(a:lines), 'substitute(v:val, ''\r*$'', ''\r'', '''')') \ : a:lines " Set binary flag if buffer doesn't have eol and nofixeol to avoid appending newline let l:flags = !getbufvar(a:buffer, '&eol') && exists('+fixeol') && !&fixeol ? 'bS' : 'S' call writefile(l:corrected_lines, a:filename, l:flags) " no-custom-checks endfunction if !exists('s:patial_timers') let s:partial_timers = {} endif function! s:ApplyPartialTimer(timer_id) abort if has_key(s:partial_timers, a:timer_id) let [l:Callback, l:args] = remove(s:partial_timers, a:timer_id) call call(l:Callback, [a:timer_id] + l:args) endif endfunction " Given a delay, a callback, a List of arguments, start a timer with " timer_start() and call the callback provided with [timer_id] + args. " " The timer must not be stopped with timer_stop(). " Use ale#util#StopPartialTimer() instead, which can stop any timer, and will " clear any arguments saved for executing callbacks later. function! ale#util#StartPartialTimer(delay, callback, args) abort let l:timer_id = timer_start(a:delay, function('s:ApplyPartialTimer')) let s:partial_timers[l:timer_id] = [a:callback, a:args] return l:timer_id endfunction function! ale#util#StopPartialTimer(timer_id) abort call timer_stop(a:timer_id) if has_key(s:partial_timers, a:timer_id) call remove(s:partial_timers, a:timer_id) endif endfunction " Given a possibly multi-byte string and a 1-based character position on a " line, return the 1-based byte position on that line. function! ale#util#Col(str, chr) abort if a:chr < 2 return a:chr endif return strlen(join(split(a:str, '\zs')[0:a:chr - 2], '')) + 1 endfunction function! ale#util#FindItemAtCursor(buffer) abort let l:info = get(g:ale_buffer_info, a:buffer, {}) let l:loclist = get(l:info, 'loclist', []) let l:pos = getpos('.') let l:index = ale#util#BinarySearch(l:loclist, a:buffer, l:pos[1], l:pos[2]) let l:loc = l:index >= 0 ? l:loclist[l:index] : {} return [l:info, l:loc] endfunction function! ale#util#Input(message, value, ...) abort if a:0 > 0 return input(a:message, a:value, a:1) else return input(a:message, a:value) endif endfunction function! ale#util#HasBuflineApi() abort return exists('*deletebufline') && exists('*setbufline') endfunction " Sets buffer contents to lines function! ale#util#SetBufferContents(buffer, lines) abort let l:has_bufline_api = ale#util#HasBuflineApi() if !l:has_bufline_api && a:buffer isnot bufnr('') return endif " If the file is in DOS mode, we have to remove carriage returns from " the ends of lines before calling setline(), or we will see them " twice. let l:new_lines = getbufvar(a:buffer, '&fileformat') is# 'dos' \ ? map(copy(a:lines), 'substitute(v:val, ''\r\+$'', '''', '''')') \ : a:lines let l:first_line_to_remove = len(l:new_lines) + 1 " Use a Vim API for setting lines in other buffers, if available. if l:has_bufline_api call setbufline(a:buffer, 1, l:new_lines) call deletebufline(a:buffer, l:first_line_to_remove, '$') " Fall back on setting lines the old way, for the current buffer. else let l:old_line_length = line('$') if l:old_line_length >= l:first_line_to_remove let l:save = winsaveview() silent execute \ l:first_line_to_remove . ',' . l:old_line_length . 'd_' call winrestview(l:save) endif call setline(1, l:new_lines) endif return l:new_lines endfunction function! ale#util#GetBufferContents(buffer) abort return join(getbufline(a:buffer, 1, '$'), '\n') . '\n' endfunction function! ale#util#ToURI(resource) abort let l:uri_handler = ale#uri#GetURIHandler(a:resource) if l:uri_handler is# v:null " resource is a filesystem path let l:uri = ale#path#ToFileURI(a:resource) else " resource is a URI let l:uri = a:resource endif return l:uri endfunction function! ale#util#ToResource(uri) abort let l:uri_handler = ale#uri#GetURIHandler(a:uri) if l:uri_handler is# v:null " resource is a filesystem path let l:resource = ale#path#FromFileURI(a:uri) else " resource is a URI let l:resource = a:uri endif return l:resource endfunction ================================================ FILE: bundle/ale/autoload/ale/virtualtext.vim ================================================ scriptencoding utf-8 " Author: w0rp " Author: Luan Santos " Description: Shows lint message for the current line as virtualtext, if any " Controls the milliseconds delay before showing a message. let g:ale_virtualtext_delay = get(g:, 'ale_virtualtext_delay', 10) let s:cursor_timer = -1 let s:last_pos = [0, 0, 0] let s:has_virt_text = 0 let s:emulate_virt = 0 if has('nvim-0.3.2') let s:ns_id = nvim_create_namespace('ale') let s:has_virt_text = 1 elseif has('textprop') && has('popupwin') let s:has_virt_text = 1 let s:emulate_virt = !has('patch-9.0.0297') let s:hl_list = [] if s:emulate_virt call prop_type_add('ale', {}) let s:last_virt = -1 endif endif function! ale#virtualtext#Clear(buf) abort if !s:has_virt_text return endif if has('nvim') call nvim_buf_clear_namespace(a:buf, s:ns_id, 0, -1) else if s:emulate_virt && s:last_virt != -1 call prop_remove({'type': 'ale'}) call popup_close(s:last_virt) let s:last_virt = -1 elseif !empty(s:hl_list) call prop_remove({ \ 'types': s:hl_list, \ 'all': 1, \ 'bufnr': a:buf}) endif endif endfunction function! ale#virtualtext#ShowMessage(message, hl_group, buf, line) abort if !s:has_virt_text || !bufexists(str2nr(a:buf)) return endif let l:prefix = get(g:, 'ale_virtualtext_prefix', '> ') let l:msg = l:prefix.trim(substitute(a:message, '\n', ' ', 'g')) if has('nvim') call nvim_buf_set_virtual_text(a:buf, s:ns_id, a:line-1, [[l:msg, a:hl_group]], {}) elseif s:emulate_virt let l:left_pad = col('$') call prop_add(a:line, l:left_pad, { \ 'type': 'ale', \}) let s:last_virt = popup_create(l:msg, { \ 'line': -1, \ 'padding': [0, 0, 0, 1], \ 'mask': [[1, 1, 1, 1]], \ 'textprop': 'ale', \ 'highlight': a:hl_group, \ 'fixed': 1, \ 'wrap': 0, \ 'zindex': 2 \}) else let type = prop_type_get(a:hl_group) if type == {} call add(s:hl_list, a:hl_group) call prop_type_add(a:hl_group, {'highlight': a:hl_group}) endif call prop_add(a:line, 0, { \ 'type': a:hl_group, \ 'text': ' ' . l:msg, \ 'bufnr': a:buf \}) endif endfunction function! s:StopCursorTimer() abort if s:cursor_timer != -1 call timer_stop(s:cursor_timer) let s:cursor_timer = -1 endif endfunction function! ale#virtualtext#GetHlGroup(type, style) abort if a:type is# 'E' if a:style is# 'style' return 'ALEVirtualTextStyleError' else return 'ALEVirtualTextError' endif elseif a:type is# 'W' if a:style is# 'style' return 'ALEVirtualTextStyleWarning' else return 'ALEVirtualTextWarning' endif else return 'ALEVirtualTextInfo' endif endfunction function! ale#virtualtext#ShowCursorWarning(...) abort if g:ale_virtualtext_cursor isnot# 'current' && g:ale_virtualtext_cursor != 1 return endif let l:buffer = bufnr('') if mode(1) isnot# 'n' return endif if ale#ShouldDoNothing(l:buffer) return endif let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer) call ale#virtualtext#Clear(l:buffer) if !empty(l:loc) let l:msg = l:loc.text let l:type = get(l:loc, 'type', 'E') let l:style = get(l:loc, 'sub_type', '') let l:hl_group = ale#virtualtext#GetHlGroup(l:type, l:style) call ale#virtualtext#ShowMessage(l:msg, l:hl_group, l:buffer, line('.')) endif endfunction function! ale#virtualtext#ShowCursorWarningWithDelay() abort let l:buffer = bufnr('') if g:ale_virtualtext_cursor isnot# 'current' && g:ale_virtualtext_cursor != 1 return endif if mode(1) isnot# 'n' return endif call s:StopCursorTimer() let l:pos = getpos('.')[0:2] " Check the current buffer, line, and column number against the last " recorded position. If the position has actually changed, *then* " we should show something. Otherwise we can end up doing processing " the show message far too frequently. if l:pos != s:last_pos let l:delay = ale#Var(l:buffer, 'virtualtext_delay') let s:last_pos = l:pos let s:cursor_timer = timer_start( \ l:delay, \ function('ale#virtualtext#ShowCursorWarning') \) endif endfunction function! ale#virtualtext#SetTexts(buf, loclist) abort if !has('nvim') && s:emulate_virt return endif call ale#virtualtext#Clear(a:buf) for l in a:loclist if l['bufnr'] != a:buf continue endif let hl = ale#virtualtext#GetHlGroup(l['type'], get(l, 'sub_type', '')) call ale#virtualtext#ShowMessage(l['text'], hl, a:buf, l['lnum']) endfor endfunction ================================================ FILE: bundle/ale/autoload/ale.vim ================================================ " Author: w0rp , David Alexander " Description: Primary code path for the plugin " Manages execution of linters when requested by autocommands " Strings used for severity in the echoed message let g:ale_echo_msg_error_str = get(g:, 'ale_echo_msg_error_str', 'Error') let g:ale_echo_msg_info_str = get(g:, 'ale_echo_msg_info_str', 'Info') let g:ale_echo_msg_log_str = get(g:, 'ale_echo_msg_log_str', 'Log') let g:ale_echo_msg_warning_str = get(g:, 'ale_echo_msg_warning_str', 'Warning') " Ignoring linters, for disabling some, or ignoring LSP diagnostics. let g:ale_linters_ignore = get(g:, 'ale_linters_ignore', {}) let g:ale_disable_lsp = get(g:, 'ale_disable_lsp', 0) " LSP window/showMessage format let g:ale_lsp_show_message_format = get(g:, 'ale_lsp_show_message_format', '%severity%:%linter%: %s') " Valid values mimic LSP definitions (error, warning and information; log is " never shown) let g:ale_lsp_show_message_severity = get(g:, 'ale_lsp_show_message_severity', 'error') let s:lint_timer = -1 let s:getcmdwintype_exists = exists('*getcmdwintype') " Return 1 if a file is too large for ALE to handle. function! ale#FileTooLarge(buffer) abort let l:max = getbufvar(a:buffer, 'ale_maximum_file_size', get(g:, 'ale_maximum_file_size', 0)) return l:max > 0 ? (line2byte(line('$') + 1) > l:max) : 0 endfunction " A function for checking various conditions whereby ALE just shouldn't " attempt to do anything, say if particular buffer types are open in Vim. function! ale#ShouldDoNothing(buffer) abort " The checks are split into separate if statements to make it possible to " profile each check individually with Vim's profiling tools. " " Do nothing if ALE is disabled. if !getbufvar(a:buffer, 'ale_enabled', get(g:, 'ale_enabled', 0)) return 1 endif " Don't perform any checks when newer NeoVim versions are exiting. if get(v:, 'exiting', v:null) isnot v:null return 1 endif let l:filetype = getbufvar(a:buffer, '&filetype') " Do nothing when there's no filetype. if l:filetype is# '' return 1 endif " Do nothing for diff buffers. if getbufvar(a:buffer, '&diff') return 1 endif " Do nothing for blacklisted files. if index(get(g:, 'ale_filetype_blacklist', []), l:filetype) >= 0 return 1 endif " Do nothing if running from command mode. if s:getcmdwintype_exists && !empty(getcmdwintype()) return 1 endif let l:filename = fnamemodify(bufname(a:buffer), ':t') " Do nothing for directories. if l:filename is# '.' return 1 endif " Don't start linting and so on when an operator is pending. if ale#util#Mode(1) is# 'no' return 1 endif " Do nothing if running in the sandbox. if ale#util#InSandbox() return 1 endif " Do nothing if the file is too large. if ale#FileTooLarge(a:buffer) return 1 endif " Do nothing from CtrlP buffers with CtrlP-funky. if exists(':CtrlPFunky') is 2 \&& getbufvar(a:buffer, '&l:statusline') =~# 'CtrlPMode.*funky' return 1 endif return 0 endfunction function! s:Lint(buffer, should_lint_file, timer_id) abort " Use the filetype from the buffer let l:filetype = getbufvar(a:buffer, '&filetype') let l:linters = ale#linter#Get(l:filetype) let l:linters = ale#linter#RemoveIgnored(a:buffer, l:filetype, l:linters) " Tell other sources that they can start checking the buffer now. let g:ale_want_results_buffer = a:buffer silent doautocmd User ALEWantResults unlet! g:ale_want_results_buffer " Don't set up buffer data and so on if there are no linters to run. if !has_key(g:ale_buffer_info, a:buffer) && empty(l:linters) return endif " Clear lint_file linters, or only run them if the file exists. let l:lint_file = empty(l:linters) \ || (a:should_lint_file && filereadable(expand('#' . a:buffer . ':p'))) call ale#engine#RunLinters(a:buffer, l:linters, l:lint_file) endfunction " (delay, [linting_flag, buffer_number]) function! ale#Queue(delay, ...) abort if a:0 > 2 throw 'too many arguments!' endif let l:buffer = get(a:000, 1, v:null) if l:buffer is v:null let l:buffer = bufnr('') endif if type(l:buffer) isnot v:t_number throw 'buffer_number must be a Number' endif if ale#ShouldDoNothing(l:buffer) return endif " Default linting_flag to '' let l:should_lint_file = get(a:000, 0) is# 'lint_file' if s:lint_timer != -1 call timer_stop(s:lint_timer) let s:lint_timer = -1 endif if a:delay > 0 let s:lint_timer = timer_start( \ a:delay, \ function('s:Lint', [l:buffer, l:should_lint_file]) \) else call s:Lint(l:buffer, l:should_lint_file, 0) endif endfunction let s:current_ale_version = [3, 3, 0] " A function used to check for ALE features in files outside of the project. function! ale#Has(feature) abort let l:match = matchlist(a:feature, '\c\v^ale-(\d+)\.(\d+)(\.(\d+))?$') if !empty(l:match) let l:version = [l:match[1] + 0, l:match[2] + 0, l:match[4] + 0] return ale#semver#GTE(s:current_ale_version, l:version) endif return 0 endfunction " Given a buffer number and a variable name, look for that variable in the " buffer scope, then in global scope. If the name does not exist in the global " scope, an exception will be thrown. " " Every variable name will be prefixed with 'ale_'. function! ale#Var(buffer, variable_name) abort let l:full_name = 'ale_' . a:variable_name let l:vars = getbufvar(str2nr(a:buffer), '', {}) return get(l:vars, l:full_name, g:[l:full_name]) endfunction " Initialize a variable with a default value, if it isn't already set. " " Every variable name will be prefixed with 'ale_'. function! ale#Set(variable_name, default) abort let l:full_name = 'ale_' . a:variable_name if !has_key(g:, l:full_name) let g:[l:full_name] = a:default endif endfunction " Given a string for adding to a command, return the string padded with a " space on the left if it is not empty. Otherwise return an empty string. " " This can be used for making command strings cleaner and easier to test. function! ale#Pad(string) abort return !empty(a:string) ? ' ' . a:string : '' endfunction " Given a environment variable name and a value, produce part of a command for " setting an environment variable before running a command. The syntax will be " valid for cmd on Windows, or most shells on Unix. function! ale#Env(variable_name, value) abort if has('win32') return 'set ' . a:variable_name . '=' . ale#Escape(a:value) . ' && ' endif return a:variable_name . '=' . ale#Escape(a:value) . ' ' endfunction " Escape a string suitably for each platform. " shellescape does not work on Windows. function! ale#Escape(str) abort if fnamemodify(&shell, ':t') is? 'cmd.exe' " If the string contains spaces, it will be surrounded by quotes. " Otherwise, special characters will be escaped with carets (^). return substitute( \ a:str =~# ' ' \ ? '"' . substitute(a:str, '"', '""', 'g') . '"' \ : substitute(a:str, '\v([&|<>^])', '^\1', 'g'), \ '%', \ '%%', \ 'g', \) endif return shellescape (a:str) endfunction " Get the loclist item message according to a given format string. " " See `:help g:ale_loclist_msg_format` and `:help g:ale_echo_msg_format` function! ale#GetLocItemMessage(item, format_string) abort let l:msg = a:format_string let l:severity = g:ale_echo_msg_warning_str let l:code = get(a:item, 'code', '') let l:type = get(a:item, 'type', 'E') let l:linter_name = get(a:item, 'linter_name', '') let l:code_repl = !empty(l:code) ? '\=submatch(1) . l:code . submatch(2)' : '' if l:type is# 'E' let l:severity = g:ale_echo_msg_error_str elseif l:type is# 'I' let l:severity = g:ale_echo_msg_info_str endif " Replace special markers with certain information. " \=l:variable is used to avoid escaping issues. let l:msg = substitute(l:msg, '\v\%([^\%]*)code([^\%]*)\%', l:code_repl, 'g') let l:msg = substitute(l:msg, '\V%severity%', '\=l:severity', 'g') let l:msg = substitute(l:msg, '\V%linter%', '\=l:linter_name', 'g') " Replace %s with the text. let l:msg = substitute(l:msg, '\V%s', '\=a:item.text', 'g') " Windows may insert carriage return line endings (^M), strip these characters. let l:msg = substitute(l:msg, '\r', '', 'g') return l:msg endfunction " Given a buffer and a linter or fixer name, return an Array of two-item " Arrays describing how to map filenames to and from the local to foreign file " systems. function! ale#GetFilenameMappings(buffer, name) abort let l:linter_mappings = ale#Var(a:buffer, 'filename_mappings') if type(l:linter_mappings) is v:t_list return l:linter_mappings endif let l:name = a:name if !has_key(l:linter_mappings, l:name) " Use * as a default setting for all tools. let l:name = '*' endif return get(l:linter_mappings, l:name, []) endfunction ================================================ FILE: bundle/ale/autoload/asyncomplete/sources/ale.vim ================================================ function! asyncomplete#sources#ale#get_source_options(...) abort let l:default = extend({ \ 'name': 'ale', \ 'completor': function('asyncomplete#sources#ale#completor'), \ 'whitelist': ['*'], \ 'triggers': asyncomplete#sources#ale#get_triggers(), \ }, a:0 >= 1 ? a:1 : {}) return extend(l:default, {'refresh_pattern': '\k\+$'}) endfunction function! asyncomplete#sources#ale#get_triggers() abort let l:triggers = ale#completion#GetAllTriggers() let l:triggers['*'] = l:triggers[''] return l:triggers endfunction function! asyncomplete#sources#ale#completor(options, context) abort let l:keyword = matchstr(a:context.typed, '\w\+$') let l:startcol = a:context.col - len(l:keyword) call ale#completion#GetCompletions('ale-callback', { 'callback': {completions -> \ asyncomplete#complete(a:options.name, a:context, l:startcol, completions) \ }}) endfunction ================================================ FILE: bundle/ale/doc/ale-ada.txt ================================================ =============================================================================== ALE Ada Integration *ale-ada-options* =============================================================================== cspell *ale-ada-cspell* See |ale-cspell-options| =============================================================================== gcc *ale-ada-gcc* g:ale_ada_gcc_executable *g:ale_ada_gcc_executable* *b:ale_ada_gcc_executable* Type: |String| Default: `'gcc'` This variable can be changed to use a different executable for gcc. g:ale_ada_gcc_options *g:ale_ada_gcc_options* *b:ale_ada_gcc_options* Type: |String| Default: `'-gnatwa -gnatq'` This variable can be set to pass additional options to gcc. =============================================================================== gnatpp *ale-ada-gnatpp* g:ale_ada_gnatpp_options *g:ale_ada_gnatpp_options* *b:ale_ada_gnatpp_options* Type: |String| Default: `''` This variable can be set to pass extra options to the gnatpp fixer. =============================================================================== ada-language-server *ale-ada-language-server* g:ale_ada_adals_executable *g:ale_ada_adals_executable* *b:ale_ada_adals_executable* Type: |String| Default: `'ada_language_server'` This variable can be changed to use a different executable for Ada Language Server. g:ale_ada_adals_project *g:ale_ada_adals_project* *b:ale_ada_adals_project* Type: |String| Default: `'default.gpr'` This variable can be changed to use a different GPR file for Ada Language Server. g:ale_ada_adals_encoding *g:ale_ada_adals_encoding* *b:ale_ada_adals_encoding* Type: |String| Default: `'utf-8'` This variable can be changed to use a different file encoding for Ada Language Server. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-ansible.txt ================================================ =============================================================================== ALE Ansible Integration *ale-ansible-options* =============================================================================== ansible-language-server *ale-ansible-language-server* g:ale_ansible_language_server_executable *g:ale_ansible_language_server* *b:ale_ansible_language_server* Type: |String| Default: 'ansible-language-server' Variable can be used to modify the executable used for ansible language server. g:ale_ansible_language_server_config *g:ale_ansible_language_server_config* *b:ale_ansible_language_server_config* Type: |Dictionary| Default: '{}' Configuration parameters sent to the language server on start. Refer to the ansible language server configuration documentation for list of available options: https://als.readthedocs.io/en/latest/settings/ =============================================================================== ansible-lint *ale-ansible-ansible-lint* g:ale_ansible_ansible_lint_executable *g:ale_ansible_ansible_lint_executable* *b:ale_ansible_ansible_lint_executable* Type: |String| Default: `'ansible-lint'` This variable can be changed to modify the executable used for ansible-lint. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-apkbuild.txt ================================================ =============================================================================== ALE APKBUILD Integration *ale-apkbuild-options* =============================================================================== apkbuild-lint *ale-apkbuild-apkbuild-lint* g:ale_apkbuild_apkbuild_lint_executable *g:ale_apkbuild_apkbuild_lint_executable* *b:ale_apkbuild_apkbuild_lint_executable* Type: |String| Default: `'apkbuild-lint'` This variable can be set to change the path to apkbuild-lint =============================================================================== secfixes-check *ale-apkbuild-secfixes-check* g:ale_apkbuild_secfixes_check_executable *g:ale_apkbuild_secfixes_check_executable* *b:ale_apkbuild_secfixes_check_executable* Type: |String| Default: `'secfixes-check'` This variable can be set to change the path to secfixes-check =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-asciidoc.txt ================================================ =============================================================================== ALE AsciiDoc Integration *ale-asciidoc-options* =============================================================================== cspell *ale-asciidoc-cspell* See |ale-cspell-options| =============================================================================== write-good *ale-asciidoc-write-good* See |ale-write-good-options| =============================================================================== textlint *ale-asciidoc-textlint* See |ale-text-textlint| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-asm.txt ================================================ =============================================================================== ALE ASM Integration *ale-asm-options* =============================================================================== gcc *ale-asm-gcc* g:ale_asm_gcc_executable *g:ale_asm_gcc_executable* *b:ale_asm_gcc_executable* Type: |String| Default: `'gcc'` This variable can be changed to use a different executable for gcc. g:ale_asm_gcc_options *g:ale_asm_gcc_options* *b:ale_asm_gcc_options* Type: |String| Default: `'-Wall'` This variable can be set to pass additional options to gcc. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-avra.txt ================================================ =============================================================================== ALE AVRA Integration *ale-avra-options* =============================================================================== avra *ale-avra-avra* g:ale_avra_avra_executable *g:ale_avra_avra_executable* *b:ale_avra_avra_executable* Type: |String| Default `'avra'` This variable can be changed to use different executable for AVRA. g:ale_avra_avra_options *g:ale_avra_avra_options* *b:ale_avra_avra_options* Type: |String| Default: `''` This variable can be set to pass additional options to AVRA. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-awk.txt ================================================ =============================================================================== ALE Awk Integration *ale-awk-options* =============================================================================== gawk *ale-awk-gawk* g:ale_awk_gawk_executable *g:ale_awk_gawk_executable* *b:ale_awk_gawk_executable* Type: |String| Default: `'gawk'` This variable sets executable used for gawk. g:ale_awk_gawk_options *g:ale_awk_gawk_options* *b:ale_awk_gawk_options* Type: |String| Default: `''` With this variable we are able to pass extra arguments for gawk for invocation. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-bats.txt ================================================ =============================================================================== ALE Bats Integration *ale-bats-options* =============================================================================== shellcheck *ale-bats-shellcheck* The `shellcheck` linter for Bats uses the sh options for `shellcheck`; see: |ale-sh-shellcheck|. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-bazel.txt ================================================ =============================================================================== ALE Bazel Integration *ale-bazel-options* =============================================================================== buildifier *ale-bazel-buildifier* g:ale_bazel_buildifier_executable *g:ale_bazel_buildifier_executable* *b:ale_bazel_buildifier_executable* Type: |String| Default: `'buildifier'` See |ale-integrations-local-executables| g:ale_bazel_buildifier_options *g:ale_bazel_buildifier_options* *b:ale_bazel_buildifier_options* Type: |String| Default: `''` This variable can be set to pass extra options to buildifier. g:ale_bazel_buildifier_use_global *g:ale_bazel_buildifier_use_global* *b:ale_bazel_buildifier_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| ================================================ FILE: bundle/ale/doc/ale-bib.txt ================================================ =============================================================================== ALE BibTeX Integration *ale-bib-options* =============================================================================== bibclean *ale-bib-bibclean* g:ale_bib_bibclean_executable *g:ale_bib_bibclean_executable* Type: |String| Default: `'bibclean'` g:ale_bib_bibclean_options *g:ale_bib_bibclean_options* Type: |String| Default: `'-align-equals'` =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-bicep.txt ================================================ =============================================================================== ALE Bicep Integration *ale-bicep-options* =============================================================================== bicep *ale-bicep-bicep* g:ale_bicep_bicep_executable *g:ale_bicep_bicep_executable* *b:ale_bicep_bicep_executable* Type: |String| Default: `'bicep'` This variable can be set to change the path to bicep. g:ale_bicep_bicep_options *g:ale_bicep_bicep_options* *b:ale_bicep_bicep_options* Type: |String| Default: `'build --outfile /dev/null'` This variable can be set to pass additional options to bicep. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-bitbake.txt ================================================ =============================================================================== ALE BitBake Integration *ale-bitbake-options* =============================================================================== oelint-adv *ale-bitbake-oelint_adv* g:ale_bitbake_oelint_adv_executable *g:ale_bitbake_oelint_adv_executable* Type: |String| Default: `'oelint-adv'` This variable can be changed to use a different executable for oelint-adv. g:ale_bitbake_oelint_adv_options *g:ale_bitbake_oelint_adv_options* Type: |String| Default: `''` This variable can be set to pass additional options to oelint-adv. g:ale_bitbake_oelint_adv_config *g:ale_bitbake_oelint_adv_config* Type: |String| Default: `'.oelint.cfg'` This variable can be set to use a different config file. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-c.txt ================================================ =============================================================================== ALE C Integration *ale-c-options* For basic checking of problems with C files, ALE offers the `cc` linter, which runs either `clang`, or `gcc`. See |ale-c-cc|. =============================================================================== Global Options g:ale_c_always_make *g:ale_c_always_make* *b:ale_c_always_make* Type: |Number| Default: `has('unix') && !has('macunix')` If set to `1`, use `--always-make` for `make`, which means that output will always be parsed from `make` dry runs with GNU make. BSD `make` does not support this option, so you probably want to turn this option off when using a BSD variant. g:ale_c_build_dir_names *g:ale_c_build_dir_names* *b:ale_c_build_dir_names* Type: |List| Default: `['build', 'bin']` A list of directory names to be used when searching upwards from cpp files to discover compilation databases with. For directory named `'foo'`, ALE will search for `'foo/compile_commands.json'` in all directories on and above the directory containing the cpp file to find path to compilation database. This feature is useful for the clang tools wrapped around LibTooling (namely here, clang-tidy) g:ale_c_build_dir *g:ale_c_build_dir* *b:ale_c_build_dir* Type: |String| Default: `''` For programs that can read `compile_commands.json` files, this option can be set to the directory containing the file for the project. ALE will try to determine the location of `compile_commands.json` automatically, but if your file exists in some other directory, you can set this option so ALE will know where it is. This directory will be searched instead of |g:ale_c_build_dir_names|. g:ale_c_parse_compile_commands *g:ale_c_parse_compile_commands* *b:ale_c_parse_compile_commands* Type: |Number| Default: `1` If set to `1`, ALE will parse `compile_commands.json` files to automatically determine flags for C or C++ compilers. ALE will first search for the nearest `compile_commands.json` file, and then look for `compile_commands.json` files in the directories for |g:ale_c_build_dir_names|. g:ale_c_parse_makefile *g:ale_c_parse_makefile* *b:ale_c_parse_makefile* Type: |Number| Default: `0` If set to `1`, ALE will run `make -n` to automatically determine flags to set for C or C++ compilers. This can make it easier to determine the correct build flags to use for different files. NOTE: When using this option on BSD, you may need to set |g:ale_c_always_make| to `0`, and `make -n` will not provide consistent results if binaries have already been built, so use `make clean` when editing your files. WARNING: Running `make -n` automatically can execute arbitrary code, even though it's supposed to be a dry run, so enable this option with care. You might prefer to use the buffer-local version of the option instead with |g:ale_pattern_options|, or you own code for checking which project you're in. You might want to disable this option if `make -n` takes too long to run for projects you work on. If |g:ale_c_parse_compile_commands| or |b:ale_c_parse_compile_commands| is set to `1`, flags taken from `compile_commands.json` will be preferred over `make -n` output. =============================================================================== astyle *ale-c-astyle* g:ale_c_astyle_executable *g:ale_c_astyle_executable* *b:ale_c_astyle_executable* Type: |String| Default: `'astyle'` This variable can be changed to use a different executable for astyle. g:ale_c_astyle_project_options *g:ale_c_astyle_project_options* *b:ale_c_astyle_project_options* Type: |String| Default: `''` This variable can be changed to use an option file for project level configurations. Provide only the filename of the option file that should be present at the project's root directory. For example, if .astylrc is specified, the file is searched in the parent directories of the source file's directory. =============================================================================== cc *ale-c-cc* *ale-c-gcc* *ale-c-clang* g:ale_c_cc_executable *g:ale_c_cc_executable* *b:ale_c_cc_executable* Type: |String| Default: `''` This variable can be changed to use a different executable for a C compiler. ALE will try to use `clang` if Clang is available, otherwise ALE will default to checking C code with `gcc`. g:ale_c_cc_options *g:ale_c_cc_options* *b:ale_c_cc_options* Type: |String| Default: `'-std=c11 -Wall'` This variable can be changed to modify flags given to the C compiler. g:ale_c_cc_use_header_lang_flag *g:ale_c_cc_use_header_lang_flag* *b:ale_c_cc_use_header_lang_flag* Type: |Number| Default: `-1` By default, ALE will use `'-x c-header'` instead of `'-x c'` for header files when using Clang. This variable can be changed to manually activate or deactivate this flag for header files. - When set to `-1`, the default beviour is used, `'-x c-header'` is used with Clang and `'-x c'` is used with other compilers. - When set to `0`, the flag is deactivated, `'-x c'` is always used independently of the compiler. - When set to `1`, the flag is activated, `'-x c-header'` is always used independently of the compiler. Gcc does not support `'-x c-header'` when using `'-'` as input filename, which is what ALE does. This why, by default, ALE only uses `'-x c-header'` with Clang. g:ale_c_cc_header_exts *g:ale_c_cc_header_exts* *b:ale_c_cc_header_exts* Type: |List| Default: `['h']` This variable can be changed to modify the list of extensions of the files considered as header files. This variable is only used when `'-x c-header'` is used instead of `'-x c'`, see |ale_c_cc_use_header_lang_flag|. =============================================================================== ccls *ale-c-ccls* g:ale_c_ccls_executable *g:ale_c_ccls_executable* *b:ale_c_ccls_executable* Type: |String| Default: `'ccls'` This variable can be changed to use a different executable for ccls. g:ale_c_ccls_init_options *g:ale_c_ccls_init_options* *b:ale_c_ccls_init_options* Type: |Dictionary| Default: `{}` This variable can be changed to customize ccls initialization options. Example: > { \ 'cacheDirectory': '/tmp/ccls', \ 'cacheFormat': 'binary', \ 'diagnostics': { \ 'onOpen': 0, \ 'opChange': 1000, \ }, \ } < Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all available options and explanations. =============================================================================== clangd *ale-c-clangd* g:ale_c_clangd_executable *g:ale_c_clangd_executable* *b:ale_c_clangd_executable* Type: |String| Default: `'clangd'` This variable can be changed to use a different executable for clangd. g:ale_c_clangd_options *g:ale_c_clangd_options* *b:ale_c_clangd_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clangd. =============================================================================== clang-format *ale-c-clangformat* g:ale_c_clangformat_executable *g:ale_c_clangformat_executable* *b:ale_c_clangformat_executable* Type: |String| Default: `'clang-format'` This variable can be changed to use a different executable for clang-format. g:ale_c_clangformat_options *g:ale_c_clangformat_options* *b:ale_c_clangformat_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clang-format. g:ale_c_clangformat_style_option *g:ale_c_clangformat_style_option* *b:ale_c_clangformat_style_option* Type: |String| Default: `''` This variable can be changed to modify only the style flag given to clang-format. The contents of the variable are passed directly to the -style flag of clang-format. Example: > { \ BasedOnStyle: Microsoft, \ ColumnLimit: 80, \ AllowShortBlocksOnASingleLine: Always, \ AllowShortFunctionsOnASingleLine: Inline, \ } < If you set this variable, ensure you don't modify -style in |g:ale_c_clangformat_options|, as this will cause clang-format to error. g:ale_c_clangformat_use_local_file *g:ale_c_clangformat_use_local_file* *b:ale_c_clangformat_use_local_file* Type: |Number| Default: `0` This variable can be changed to modify whether to use a local .clang-format file. If the file is found, the flag '-style=file' is passed to clang-format and any options configured via |g:ale_c_clangformat_style_option| are not passed. If this option is enabled but no .clang-format file is found, default back to |g:ale_c_clangformat_style_option|, if it set. If you set this variable, ensure you don't modify -style in |g:ale_c_clangformat_options|, as this will cause clang-format to error. =============================================================================== clangtidy *ale-c-clangtidy* `clang-tidy` will be run only when files are saved to disk, so that `compile_commands.json` files can be used. It is recommended to use this linter in combination with `compile_commands.json` files. Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and |g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually overrides |g:ale_c_build_dir_names|. g:ale_c_clangtidy_checks *g:ale_c_clangtidy_checks* *b:ale_c_clangtidy_checks* Type: |List| Default: `[]` The checks to enable for clang-tidy with the `-checks` argument. All options will be joined with commas, and escaped appropriately for the shell. The `-checks` flag can be removed entirely by setting this option to an empty List. Not all of clangtidy checks are applicable for C. You should consult the clang documentation for an up-to-date list of compatible checks: http://clang.llvm.org/extra/clang-tidy/checks/list.html g:ale_c_clangtidy_executable *g:ale_c_clangtidy_executable* *b:ale_c_clangtidy_executable* Type: |String| Default: `'clang-tidy'` This variable can be changed to use a different executable for clangtidy. g:ale_c_clangtidy_options *g:ale_c_clangtidy_options* *b:ale_c_clangtidy_options* Type: |String| Default: `''` This variable can be changed to modify compiler flags given to clang-tidy. - Setting this variable to a non-empty string, - and working in a buffer where no compilation database is found using |g:ale_c_build_dir_names| or |g:ale_c_build_dir|, will cause the `--` argument to be passed to `clang-tidy`, which will mean that detection of `compile_commands.json` files for compile command databases will be disabled. Only set this option if you want to control compiler flags entirely manually, and no `compile_commands.json` file is in one of the |g:ale_c_build_dir_names| directories of the project tree. g:ale_c_clangtidy_extra_options *g:ale_c_clangtidy_extra_options* *b:ale_c_clangtidy_extra_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clang-tidy. g:ale_c_clangtidy_fix_errors *g:ale_c_clangtidy_fix_errors* *b:ale_c_clangtidy_fix_errors* Type: |Number| Default: `1` This variable can be changed to disable the `-fix-errors` option for the |clangtidy| fixer. =============================================================================== cppcheck *ale-c-cppcheck* g:ale_c_cppcheck_executable *g:ale_c_cppcheck_executable* *b:ale_c_cppcheck_executable* Type: |String| Default: `'cppcheck'` This variable can be changed to use a different executable for cppcheck. g:ale_c_cppcheck_options *g:ale_c_cppcheck_options* *b:ale_c_cppcheck_options* Type: |String| Default: `'--enable=style'` This variable can be changed to modify flags given to cppcheck. =============================================================================== cquery *ale-c-cquery* g:ale_c_cquery_executable *g:ale_c_cquery_executable* *b:ale_c_cquery_executable* Type: |String| Default: `'cquery'` This variable can be changed to use a different executable for cquery. g:ale_cpp_cquery_cache_directory *g:ale_c_cquery_cache_directory* *b:ale_c_cquery_cache_directory* Type: |String| Default: `'~/.cache/cquery'` This variable can be changed to decide which directory cquery uses for its cache. =============================================================================== cspell *ale-c-cspell* See |ale-cspell-options| =============================================================================== flawfinder *ale-c-flawfinder* g:ale_c_flawfinder_executable *g:ale_c_flawfinder_executable* *b:ale_c_flawfinder_executable* Type: |String| Default: `'flawfinder'` This variable can be changed to use a different executable for flawfinder. g:ale_c_flawfinder_minlevel *g:ale_c_flawfinder_minlevel* *b:ale_c_flawfinder_minlevel* Type: |Number| Default: `1` This variable can be changed to ignore risks under the given risk threshold. g:ale_c_flawfinder_options *g:ale-c-flawfinder* *b:ale-c-flawfinder* Type: |String| Default: `''` This variable can be used to pass extra options into the flawfinder command. g:ale_c_flawfinder_error_severity *g:ale_c_flawfinder_error_severity* *b:ale_c_flawfinder_error_severity* Type: |Number| Default: `6` This variable can be changed to set the minimum severity to be treated as an error. This setting also applies to flawfinder for c++. =============================================================================== uncrustify *ale-c-uncrustify* g:ale_c_uncrustify_executable *g:ale_c_uncrustify_executable* *b:ale_c_uncrustify_executable* Type: |String| Default: `'uncrustify'` This variable can be changed to use a different executable for uncrustify. g:ale_c_uncrustify_options *g:ale_c_uncrustify_options* *b:ale_c_uncrustify_options* Type: |String| Default: `''` This variable can be change to modify flags given to uncrustify. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-cairo.txt ================================================ =============================================================================== ALE Cairo Integration *ale-cairo-options* =============================================================================== starknet *ale-cairo-starknet* g:ale_cairo_starknet_executable *g:ale_cairo_starknet_executable* *b:ale_cairo_starknet_executable* Default: `'starknet-compile'` Overrides the starknet-compile binary after installing the cairo-language. For more information read 'https://starknet.io/docs/quickstart.html' ================================================ FILE: bundle/ale/doc/ale-chef.txt ================================================ =============================================================================== ALE Chef Integration *ale-chef-options* =============================================================================== cookstyle *ale-chef-cookstyle* g:ale_chef_cookstyle_options *g:ale_chef_cookstyle_options* *b:ale_chef_cookstyle_options* Type: |String| Default: `''` This variable can be changed to modify flags given to cookstyle. g:ale_chef_cookstyle_executable *g:ale_chef_cookstyle_executable* *b:ale_chef_cookstyle_executable* Type: |String| Default: `'cookstyle'` This variable can be changed to point to the cookstyle binary in case it's not on the $PATH or a specific version/path must be used. =============================================================================== foodcritic *ale-chef-foodcritic* g:ale_chef_foodcritic_options *g:ale_chef_foodcritic_options* *b:ale_chef_foodcritic_options* Type: |String| Default: `''` This variable can be changed to modify flags given to foodcritic. g:ale_chef_foodcritic_executable *g:ale_chef_foodcritic_executable* *b:ale_chef_foodcritic_executable* Type: |String| Default: `'foodcritic'` This variable can be changed to point to the foodcritic binary in case it's not on the $PATH or a specific version/path must be used. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-clojure.txt ================================================ =============================================================================== ALE Clojure Integration *ale-clojure-options* =============================================================================== clj-kondo *ale-clojure-clj-kondo* A minimal and opinionated linter for code that sparks joy. https://github.com/borkdude/clj-kondo g:ale_clojure_clj_kondo_options *g:ale_clojure_clj_kondo_options* *b:ale_clojure_clj_kondo_options* Type: |String| Default: `'--cache'` This variable can be changed to modify options passed to clj-kondo. =============================================================================== joker *ale-clojure-joker* Joker is a small Clojure interpreter and linter written in Go. https://github.com/candid82/joker Linting options are not configurable by ale, but instead are controlled by a `.joker` file in same directory as the file (or current working directory if linting stdin), a parent directory relative to the file, or the users home directory. see https://github.com/candid82/joker#linter-mode for more information. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-cloudformation.txt ================================================ =============================================================================== ALE CloudFormation Integration *ale-cloudformation-options* =============================================================================== cfn-python-lint *ale-cloudformation-cfn-python-lint* cfn-python-lint is a linter for AWS CloudFormation template file. Website: https://github.com/awslabs/cfn-python-lint Installation ------------------------------------------------------------------------------- Install cfn-python-lint using either pip or brew: > `pip install cfn-lint`. If pip is not available, run `python setup.py clean --all` then `python setup.py install`. Homebrew (macOS): `brew install cfn-lint` < Configuration ------------------------------------------------------------------------------- To get cloudformation linter to work on only CloudFormation files we must set the buffer |filetype| to yaml.cloudformation. This causes ALE to lint the file with linters configured for cloudformation and yaml files. Just put: > au BufRead,BufNewFile *.template.yaml set filetype=yaml.cloudformation < on `ftdetect/cloudformation.vim` This will get both cloudformation and yaml linters to work on any file with `.template.yaml` ext. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-cmake.txt ================================================ =============================================================================== ALE CMake Integration *ale-cmake-options* =============================================================================== cmakelint *ale-cmake-cmakelint* g:ale_cmake_cmakelint_executable *g:ale_cmake_cmakelint_executable* *b:ale_cmake_cmakelint_executable* Type: |String| Default: `'cmakelint'` This variable can be set to change the path the cmakelint. g:ale_cmake_cmakelint_options *g:ale_cmake_cmakelint_options* *b:ale_cmake_cmakelint_options* Type: |String| Default: `''` This variable can be set to pass additional options to cmakelint. =============================================================================== cmake-lint *ale-cmake-cmake-lint* g:ale_cmake_cmake_lint_executable *g:ale_cmake_cmake_lint_executable* *b:ale_cmake_cmake_lint_executable* Type: |String| Default: `'cmake-lint'` This variable can be set to change the path the cmake-lint. g:ale_cmake_cmake_lint_options *g:ale_cmake_cmake_lint_options* *b:ale_cmake_cmake_lint_options* Type: |String| Default: `''` This variable can be set to pass additional options to cmake-lint. =============================================================================== cmake-format *ale-cmake-cmakeformat* g:ale_cmake_cmakeformat_executable *g:ale_cmake_cmakeformat_executable* *b:ale_cmake_cmakeformat_executable* Type: |String| Default: `'cmakeformat'` This variable can be set to change the path the cmake-format. g:ale_cmake_cmakeformat_options *g:ale_cmake_cmakeformat_options* *b:ale_cmake_cmakeformat_options* Type: |String| Default: `''` This variable can be set to pass additional options to cmake-format. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-cpp.txt ================================================ =============================================================================== ALE C++ Integration *ale-cpp-options* For basic checking of problems with C++ files, ALE offers the `cc` linter, which runs either `clang++`, or `gcc`. See |ale-cpp-cc|. =============================================================================== Global Options The following C options also apply to some C++ linters too. * |g:ale_c_always_make| * |g:ale_c_build_dir_names| * |g:ale_c_build_dir| * |g:ale_c_parse_makefile| * |g:ale_c_parse_compile_commands| =============================================================================== astyle *ale-cpp-astyle* g:ale_cpp_astyle_executable *g:ale_cpp_astyle_executable* *b:ale_cpp_astyle_executable* Type: |String| Default: `'astyle'` This variable can be changed to use a different executable for astyle. g:ale_cpp_astyle_project_options *g:ale_cpp_astyle_project_options* *b:ale_cpp_astyle_project_options* Type: |String| Default: `''` This variable can be changed to use an option file for project level configurations. Provide only the filename of the option file that should be present at the project's root directory. For example, if .astylrc is specified, the file is searched in the parent directories of the source file's directory. =============================================================================== cc *ale-cpp-cc* *ale-cpp-gcc* *ale-cpp-clang* g:ale_cpp_cc_executable *g:ale_cpp_cc_executable* *b:ale_cpp_cc_executable* Type: |String| Default: `''` This variable can be changed to use a different executable for a C++ compiler. ALE will try to use `clang++` if Clang is available, otherwise ALE will default to checking C++ code with `gcc`. g:ale_cpp_cc_options *g:ale_cpp_cc_options* *b:ale_cpp_cc_options* Type: |String| Default: `'-std=c++14 -Wall'` This variable can be changed to modify flags given to the C++ compiler. g:ale_cpp_cc_use_header_lang_flag *g:ale_cpp_cc_use_header_lang_flag* *b:ale_cpp_cc_use_header_lang_flag* Type: |Number| Default: `-1` By default, ALE will use `'-x c++-header'` instead of `'-x c++'` for header files when using Clang. This variable can be changed to manually activate or deactivate this flag for header files. - When set to `-1`, the default beviour is used, `'-x c++-header'` is used with Clang and `'-x c++'` is used with other compilers. - When set to `0`, the flag is deactivated, `'-x c++'` is always used independently of the compiler. - When set to `1`, the flag is activated, `'-x c++-header'` is always used independently of the compiler. Gcc does not support `'-x c++-header'` when using `'-'` as input filename, which is what ALE does. This why, by default, ALE only uses `'-x c++-header'` with Clang. g:ale_cpp_cc_header_exts *g:ale_cpp_cc_header_exts* *b:ale_cpp_cc_header_exts* Type: |List| Default: `['h', 'hpp']` This variable can be changed to modify the list of extensions of the files considered as header files. This variable is only used when `'-x c++-header'` is used instead of `'-x c++'`, see |ale_cpp_cc_use_header_lang_flag|. =============================================================================== ccls *ale-cpp-ccls* g:ale_cpp_ccls_executable *g:ale_cpp_ccls_executable* *b:ale_cpp_ccls_executable* Type: |String| Default: `'ccls'` This variable can be changed to use a different executable for ccls. g:ale_cpp_ccls_init_options *g:ale_cpp_ccls_init_options* *b:ale_cpp_ccls_init_options* Type: |Dictionary| Default: `{}` This variable can be changed to customize ccls initialization options. Example: > { \ 'cacheDirectory': '/tmp/ccls', \ 'cacheFormat': 'binary', \ 'diagnostics': { \ 'onOpen': 0, \ 'opChange': 1000, \ }, \ } < Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all available options and explanations. =============================================================================== clangcheck *ale-cpp-clangcheck* `clang-check` will be run only when files are saved to disk, so that `compile_commands.json` files can be used. It is recommended to use this linter in combination with `compile_commands.json` files. Therefore, `clang-check` linter reads the options |g:ale_c_build_dir| and |g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually overrides |g:ale_c_build_dir_names|. g:ale_cpp_clangcheck_executable *g:ale_cpp_clangcheck_executable* *b:ale_cpp_clangcheck_executable* Type: |String| Default: `'clang-check'` This variable can be changed to use a different executable for clangcheck. g:ale_cpp_clangcheck_options *g:ale_cpp_clangcheck_options* *b:ale_cpp_clangcheck_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clang-check. This variable should not be set to point to build subdirectory with `-p path/to/build` option, as it is handled by the |g:ale_c_build_dir| option. =============================================================================== clangd *ale-cpp-clangd* g:ale_cpp_clangd_executable *g:ale_cpp_clangd_executable* *b:ale_cpp_clangd_executable* Type: |String| Default: `'clangd'` This variable can be changed to use a different executable for clangd. g:ale_cpp_clangd_options *g:ale_cpp_clangd_options* *b:ale_cpp_clangd_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clangd. =============================================================================== clang-format *ale-cpp-clangformat* See |ale-c-clangformat| for information about the available options. Note that the C options are also used for C++. =============================================================================== clangtidy *ale-cpp-clangtidy* `clang-tidy` will be run only when files are saved to disk, so that `compile_commands.json` files can be used. It is recommended to use this linter in combination with `compile_commands.json` files. Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and |g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually overrides |g:ale_c_build_dir_names|. g:ale_cpp_clangtidy_checks *g:ale_cpp_clangtidy_checks* *b:ale_cpp_clangtidy_checks* Type: |List| Default: `[]` The checks to enable for clang-tidy with the `-checks` argument. All options will be joined with commas, and escaped appropriately for the shell. The `-checks` flag can be removed entirely by setting this option to an empty List. g:ale_cpp_clangtidy_executable *g:ale_cpp_clangtidy_executable* *b:ale_cpp_clangtidy_executable* Type: |String| Default: `'clang-tidy'` This variable can be changed to use a different executable for clangtidy. g:ale_cpp_clangtidy_options *g:ale_cpp_clangtidy_options* *b:ale_cpp_clangtidy_options* Type: |String| Default: `''` This variable can be changed to modify compiler flags given to clang-tidy. - Setting this variable to a non-empty string, - and working in a buffer where no compilation database is found using |g:ale_c_build_dir_names| or |g:ale_c_build_dir|, will cause the `--` argument to be passed to `clang-tidy`, which will mean that detection of `compile_commands.json` files for compile command databases will be disabled. Only set this option if you want to control compiler flags entirely manually, and no `compile_commands.json` file is in one of the |g:ale_c_build_dir_names| directories of the project tree. g:ale_cpp_clangtidy_extra_options *g:ale_cpp_clangtidy_extra_options* *b:ale_cpp_clangtidy_extra_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clang-tidy. g:ale_cpp_clangtidy_fix_errors *g:ale_cpp_clangtidy_fix_errors* *b:ale_cpp_clangtidy_fix_errors* Type: |Number| Default: `1` This variable can be changed to disable the `-fix-errors` option for the |clangtidy| fixer. =============================================================================== clazy *ale-cpp-clazy* g:ale_cpp_clazy_executable *g:ale_cpp_clazy_executable* *b:ale_cpp_clazy_executable* Type: |String| Default: `'clazy-standalone'` This variable can be changed to use a different executable for clazy. g:ale_cpp_clazy_checks *g:ale_cpp_clazy_checks* *b:ale_cpp_clazy_checks* Type: |List| Default: `['level1']` The checks to enable for clazy with the `-checks` argument. All options will be joined with commas, and escaped appropriately for the shell. The `-checks` flag can be removed entirely by setting this option to an empty List. g:ale_cpp_clazy_options *g:ale_cpp_clazy_options* *b:ale_cpp_clazy_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clazy. =============================================================================== cppcheck *ale-cpp-cppcheck* g:ale_cpp_cppcheck_executable *g:ale_cpp_cppcheck_executable* *b:ale_cpp_cppcheck_executable* Type: |String| Default: `'cppcheck'` This variable can be changed to use a different executable for cppcheck. g:ale_cpp_cppcheck_options *g:ale_cpp_cppcheck_options* *b:ale_cpp_cppcheck_options* Type: |String| Default: `'--enable=style'` This variable can be changed to modify flags given to cppcheck. =============================================================================== cpplint *ale-cpp-cpplint* g:ale_cpp_cpplint_executable *g:ale_cpp_cpplint_executable* *b:ale_cpp_cpplint_executable* Type: |String| Default: `'cpplint'` This variable can be changed to use a different executable for cpplint. g:ale_cpp_cpplint_options *g:ale_cpp_cpplint_options* *b:ale_cpp_cpplint_options* Type: |String| Default: `''` This variable can be changed to modify flags given to cpplint. g:ale_c_cpplint_executable *g:ale_c_cpplint_executable* *b:ale_c_cpplint_executable* Type: |String| Default: `'cpplint'` This variable can be changed to use a different executable for cpplint. g:ale_c_cpplint_options *g:ale_c_cpplint_options* *b:ale_c_cpplint_options* Type: |String| Default: `''` This variable can be changed to modify flags given to cpplint. =============================================================================== cquery *ale-cpp-cquery* g:ale_cpp_cquery_executable *g:ale_cpp_cquery_executable* *b:ale_cpp_cquery_executable* Type: |String| Default: `'cquery'` This variable can be changed to use a different executable for cquery. g:ale_cpp_cquery_cache_directory *g:ale_cpp_cquery_cache_directory* *b:ale_cpp_cquery_cache_directory* Type: |String| Default: `'~/.cache/cquery'` This variable can be changed to decide which directory cquery uses for its cache. =============================================================================== cspell *ale-cpp-cspell* See |ale-cspell-options| =============================================================================== flawfinder *ale-cpp-flawfinder* g:ale_cpp_flawfinder_executable *g:ale_cpp_flawfinder_executable* *b:ale_cpp_flawfinder_executable* Type: |String| Default: `'flawfinder'` This variable can be changed to use a different executable for flawfinder. g:ale_cpp_flawfinder_minlevel *g:ale_cpp_flawfinder_minlevel* *b:ale_cpp_flawfinder_minlevel* Type: |Number| Default: `1` This variable can be changed to ignore risks under the given risk threshold. g:ale_cpp_flawfinder_options *g:ale-cpp-flawfinder* *b:ale-cpp-flawfinder* Type: |String| Default: `''` This variable can be used to pass extra options into the flawfinder command. =============================================================================== uncrustify *ale-cpp-uncrustify* See |ale-c-uncrustify| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-cs.txt ================================================ =============================================================================== ALE C# Integration *ale-cs-options* In addition to the linters that are provided with ALE, C# code can be checked with the OmniSharp plugin. See here: https://github.com/OmniSharp/omnisharp-vim =============================================================================== clang-format *ale-cs-clangformat* See |ale-c-clangformat| for information about the available options. Note that the C options are also used for C#. =============================================================================== csc *ale-cs-csc* The |ale-cs-csc| linter checks for semantic errors when files are opened or saved. See |ale-lint-file-linters| for more information on linters which do not check for problems while you type. The csc linter uses the mono csc compiler, providing full C# 7 and newer support, to generate a temporary module target file (/t:module). The module includes all '*.cs' files contained in the directory tree rooted at the path defined by the |g:ale_cs_csc_source| or |b:ale_cs_csc_source| variable and all sub directories. It will in future replace the |ale-cs-mcs| and |ale-cs-mcsc| linters as both utilize the mcsc compiler which, according to the mono project, is no longer actively developed, and only receives maintenance updates. However, because the csc compiler does not support the -syntax option, this linter does not offer any as-you-type syntax checking, similar to the |ale-cs-mcsc| linter. The paths to search for additional assembly files can be specified using the |g:ale_cs_csc_assembly_path| or |b:ale_cs_csc_assembly_path| variables. NOTE: ALE will not find any errors in files apart from syntax errors if any one of the source files contains a syntax error. Syntax errors must be fixed first before other errors will be shown. g:ale_cs_csc_options *g:ale_cs_csc_options* *b:ale_cs_csc_options* Type: |String| Default: `''` This option can be set to pass additional arguments to the `csc` compiler. For example, to add the dotnet package which is not added per default: > let g:ale_cs_mcs_options = ' /warn:4 /langversion:7.2' < NOTE: the `/unsafe` option is always passed to `csc`. g:ale_cs_csc_source *g:ale_cs_csc_source* *b:ale_cs_csc_source* Type: |String| Default: `''` This variable defines the root path of the directory tree searched for the '*.cs' files to be linted. If this option is empty, the source file's directory will be used. NOTE: Currently it is not possible to specify sub directories and directory sub trees which shall not be searched for *.cs files. g:ale_cs_csc_assembly_path *g:ale_cs_csc_assembly_path* *b:ale_cs_csc_assembly_path* Type: |List| Default: `[]` This variable defines a list of path strings to be searched for external assembly files. The list is passed to the csc compiler using the `/lib:` flag. g:ale_cs_csc_assemblies *g:ale_cs_csc_assemblies* *b:ale_cs_csc_assemblies* Type: |List| Default: `[]` This variable defines a list of external assembly (*.dll) files required by the mono mcs compiler to generate a valid module target. The list is passed the csc compiler using the `/r:` flag. For example: > " Compile C# programs with the Unity engine DLL file on Mac. let g:ale_cs_mcsc_assemblies = [ \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll', \ 'path-to-unityproject/obj/Debug', \] < =============================================================================== cspell *ale-cs-cspell* See |ale-cspell-options| =============================================================================== dotnet-format *ale-cs-dotnet-format* Installation ------------------------------------------------------------------------------- Installing .NET SDK should probably ensure that `dotnet` is in your `$PATH`. For .NET 6 the `dotnet format` tool is already included in the .NET SDK. For .NET 5 or below you will have to manually install it using the instructions from listed in this repository: https://github.com/dotnet/format Options ------------------------------------------------------------------------------- g:ale_cs_dotnet_format_executable *g:ale_cs_dotnet_format_executable* *b:ale_cs_dotnet_format_executable* Type: |String| Default: `'dotnet'` This variable can be set to specify an absolute path to the `dotnet` executable (or to specify an alternate executable). g:ale_cs_dotnet_format_options *g:ale_cs_dotnet_format_options* *b:ale_cs_dotnet_format_options* Type: |String| Default: `''` This variable can be set to pass additional options to the `dotnet format` fixer. =============================================================================== mcs *ale-cs-mcs* The `mcs` linter looks only for syntax errors while you type. See |ale-cs-mcsc| for the separately configured linter for checking for semantic errors. g:ale_cs_mcs_options *g:ale_cs_mcs_options* *b:ale_cs_mcs_options* Type: String Default: `''` This variable can be changed to pass additional flags given to mcs. NOTE: The -unsafe flag is selected implicitly and thus does not need to be explicitly included in the |g:ale_cs_mcs_options| or |b:ale_cs_mcs_options| parameter. =============================================================================== mcsc *ale-cs-mcsc* The mcsc linter checks for semantic errors when files are opened or saved See |ale-lint-file-linters| for more information on linters which do not check for problems while you type. The mcsc linter uses the mono mcs compiler to generate a temporary module target file (-t:module). The module includes including all '*.cs' files contained in the directory tree rooted at the path defined by the |g:ale_cs_mcsc_source| or |b:ale_cs_mcsc_source| variable. variable and all sub directories. The paths to search for additional assembly files can be specified using the |g:ale_cs_mcsc_assembly_path| or |b:ale_cs_mcsc_assembly_path| variables. NOTE: ALE will not find any errors in files apart from syntax errors if any one of the source files contains a syntax error. Syntax errors must be fixed first before other errors will be shown. g:ale_cs_mcsc_options *g:ale_cs_mcsc_options* *b:ale_cs_mcsc_options* Type: |String| Default: `''` This option can be set to pass additional arguments to the `mcs` compiler. For example, to add the dotnet package which is not added per default: > let g:ale_cs_mcs_options = '-pkg:dotnet' < NOTE: the `-unsafe` option is always passed to `mcs`. g:ale_cs_mcsc_source *g:ale_cs_mcsc_source* *b:ale_cs_mcsc_source* Type: |String| Default: `''` This variable defines the root path of the directory tree searched for the '*.cs' files to be linted. If this option is empty, the source file's directory will be used. NOTE: Currently it is not possible to specify sub directories and directory sub trees which shall not be searched for *.cs files. g:ale_cs_mcsc_assembly_path *g:ale_cs_mcsc_assembly_path* *b:ale_cs_mcsc_assembly_path* Type: |List| Default: `[]` This variable defines a list of path strings to be searched for external assembly files. The list is passed to the mcs compiler using the `-lib:` flag. g:ale_cs_mcsc_assemblies *g:ale_cs_mcsc_assemblies* *b:ale_cs_mcsc_assemblies* Type: |List| Default: `[]` This variable defines a list of external assembly (*.dll) files required by the mono mcs compiler to generate a valid module target. The list is passed the mcs compiler using the `-r:` flag. For example: > " Compile C# programs with the Unity engine DLL file on Mac. let g:ale_cs_mcsc_assemblies = [ \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll', \ 'path-to-unityproject/obj/Debug', \] < =============================================================================== uncrustify *ale-cs-uncrustify* See |ale-c-uncrustify| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-css.txt ================================================ =============================================================================== ALE CSS Integration *ale-css-options* =============================================================================== cspell *ale-css-cspell* See |ale-cspell-options| =============================================================================== css-beautify *ale-css-css-beautify* g:ale_css_css_beautify_executable *g:ale_css_css_beautify_executable* *b:ale_css_css_beautify_executable* Type: |String| Default: `'css-beautify'` See |ale-integrations-local-executables| g:ale_css_css_beautify_options *g:ale_css_css_beautify_options* *b:ale_css_css_beautify_options* Type: |String| Default: `''` This variable can be set to pass additional options to css-beautify. g:ale_css_css_beautify_use_global *g:ale_css_css_beautify_use_global* *b:ale_css_css_beautify_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== fecs *ale-css-fecs* `fecs` options for CSS is the same as the options for JavaScript, and both of them reads `./.fecsrc` as the default configuration file. See: |ale-javascript-fecs|. =============================================================================== prettier *ale-css-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== stylelint *ale-css-stylelint* g:ale_css_stylelint_executable *g:ale_css_stylelint_executable* *b:ale_css_stylelint_executable* Type: |String| Default: `'stylelint'` See |ale-integrations-local-executables| g:ale_css_stylelint_options *g:ale_css_stylelint_options* *b:ale_css_stylelint_options* Type: |String| Default: `''` This variable can be set to pass additional options to stylelint. g:ale_css_stylelint_use_global *g:ale_css_stylelint_use_global* *b:ale_css_stylelint_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vscodecss *ale-css-vscode* Website: https://github.com/hrsh7th/vscode-langservers-extracted Installation ------------------------------------------------------------------------------- Install VSCode css language server either globally or locally: > npm install -g vscode-langservers-extracted < =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-cuda.txt ================================================ =============================================================================== ALE CUDA Integration *ale-cuda-options* =============================================================================== clang-format *ale-cuda-clangformat* See |ale-c-clangformat| for information about the available options. Note that the C options are also used for CUDA. =============================================================================== clangd *ale-cuda-clangd* g:ale_cuda_clangd_executable *g:ale_cuda_clangd_executable* *b:ale_cuda_clangd_executable* Type: |String| Default: `'clangd'` This variable can be changed to use a different executable for clangd. g:ale_cuda_clangd_options *g:ale_cuda_clangd_options* *b:ale_cuda_clangd_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clangd. =============================================================================== nvcc *ale-cuda-nvcc* g:ale_cuda_nvcc_executable *g:ale_cuda_nvcc_executable* *b:ale_cuda_nvcc_executable* Type: |String| Default: `'nvcc'` This variable can be changed to use a different executable for nvcc. Currently only nvcc 8.0 is supported. g:ale_cuda_nvcc_options *g:ale_cuda_nvcc_options* *b:ale_cuda_nvcc_options* Type: |String| Default: `'-std=c++11'` This variable can be changed to modify flags given to nvcc. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-d.txt ================================================ =============================================================================== ALE D Integration *ale-d-options* =============================================================================== dfmt *ale-d-dfmt* g:ale_d_dfmt_options *g:ale_d_dfmt_options* *b:ale_d_dfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the dfmt fixer. =============================================================================== dls *ale-d-dls* g:ale_d_dls_executable *g:ale_d_dls_executable* *b:ale_d_dls_executable* Type: |String| Default: `dls` See |ale-integrations-local-executables| =============================================================================== uncrustify *ale-d-uncrustify* See |ale-c-uncrustify| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-dafny.txt ================================================ =============================================================================== ALE Dafny Integration *ale-dafny-options* =============================================================================== dafny *ale-dafny-dafny* g:ale_dafny_dafny_timelimit *g:ale_dafny_dafny_timelimit* *b:ale_dafny_dafny_timelimit* Type: |Number| Default: `10` This variable sets the `/timeLimit` used for dafny. vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-dart.txt ================================================ =============================================================================== ALE Dart Integration *ale-dart-options* =============================================================================== analysis_server *ale-dart-analysis_server* Installation ------------------------------------------------------------------------------- Install Dart via whatever means. `analysis_server` will be included in the SDK. In case that `dart` is not in your path, try to set the executable option to its absolute path. : > " Set the executable path for dart to the absolute path to it. let g:ale_dart_analysis_server_executable = '/usr/local/bin/dart' < Options ------------------------------------------------------------------------------- g:ale_dart_analysis_server_executable *g:ale_dart_analysis_server_executable* *b:ale_dart_analysis_server_executable* Type: |String| Default: `'dart'` This variable can be set to change the path of dart. =============================================================================== dart-analyze *ale-dart-analyze* Installation ------------------------------------------------------------------------------- Installing Dart should probably ensure that `dart` is in your `$PATH`. In case it is not, try to set the executable option to its absolute path. : > " Set the executable path for dart to the absolute path to it. let g:ale_dart_format_executable = '/usr/lib/dart/bin/dart' > Install Dart via whatever means. `dart analyze` will be included in the SDK. Options ------------------------------------------------------------------------------- g:ale_dart_analyze_executable *g:ale_dart_analyze_executable* *b:ale_dart_analyze_executable* Type: |String| Default: `'dart'` This variable can be set to specify an absolute path to the format executable (or to specify an alternate executable). =============================================================================== dart-format *ale-dart-format* Installation ------------------------------------------------------------------------------- Installing Dart should probably ensure that `dart` is in your `$PATH`. In case it is not, try to set the executable option to its absolute path. : > " Set the executable path for dart to the absolute path to it. let g:ale_dart_format_executable = '/usr/lib/dart/bin/dart' > Options ------------------------------------------------------------------------------- g:ale_dart_format_executable *g:ale_dart_format_executable* *b:ale_dart_format_executable* Type: |String| Default: `'dart'` This variable can be set to specify an absolute path to the format executable (or to specify an alternate executable). g:ale_dart_format_options *g:ale_dart_format_options* *b:ale_dart_format_options* Type: |String| Default: `''` This variable can be set to pass additional options to the dart format fixer. =============================================================================== dartfmt *ale-dart-dartfmt* Installation ------------------------------------------------------------------------------- Installing Dart should probably ensure that `dartfmt` is in your `$PATH`. In case it is not, try to set the executable option to its absolute path. : > " Set the executable path for dartfmt to the absolute path to it. let g:ale_dart_dartfmt_executable = '/usr/lib/dart/bin/dartfmt' > Options ------------------------------------------------------------------------------- g:ale_dart_dartfmt_executable *g:ale_dart_dartfmt_executable* *b:ale_dart_dartfmt_executable* Type: |String| Default: `''` This variable can be set to specify an absolute path to the dartfmt executable (or to specify an alternate executable). g:ale_dart_dartfmt_options *g:ale_dart_dartfmt_options* *b:ale_dart_dartfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the dartfmt fixer. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-desktop.txt ================================================ =============================================================================== ALE desktop Integration *ale-desktop-options* =============================================================================== desktop-file-validate *ale-desktop-desktop-file-validate* ALE supports checking .desktop files with `desktop-file-validate.` g:ale_desktop_desktop_file_validate_options *g:ale_desktop_desktop_file_validate_options* *b:ale_desktop_desktop_file_validate_options* Type: |String| Default: `''` This variable can be changed to set options for `desktop-file-validate`, such as `'--warn-kde'`. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-development.txt ================================================ *ale-development.txt* For Vim version 8.0. *ale-dev* *ale-development* ALE Development Documentation =============================================================================== CONTENTS *ale-development-contents* 1. Introduction.........................|ale-development-introduction| 2. Design Goals.........................|ale-design-goals| 3. Coding Standards.....................|ale-coding-standards| 4. Testing ALE..........................|ale-development-tests| 4.1. Writing Linter Tests.............|ale-development-linter-tests| 4.2. Writing Fixer Tests..............|ale-development-fixer-tests| 4.3. Running Tests in a Windows VM....|ale-development-windows-tests| 5. Contributing.........................|ale-development-contributing| 5.1. Preparing a Release..............|ale-development-release| =============================================================================== 1. Introduction *ale-development-introduction* This document contains helpful information for ALE developers, including design goals, information on how to run the tests, coding standards, and so on. You should read this document if you want to get involved with ALE development. =============================================================================== 2. Design Goals *ale-design-goals* This section lists design goals for ALE, in no particular order. They are as follows. ALE code should be almost 100% VimL. This makes the plugin as portable as possible. ALE should run without needing any other plugins to be installed, to make installation simple. ALE can integrate with other plugins for more advanced functionality, non-essential functionality, or improving on basic first party functionality. ALE should check files with as many tools as possible by default, except where they cause security issues or make excessive use of resources on modern machines. ALE should be free of breaking changes to the public API, which is comprised of documented functions and options, until a major version is planned. Breaking changes should be preceded by a deprecation phase complete with warnings. Changes required for security may be an exception. ALE supports Vim 8 and above, and NeoVim 0.2.0 or newer. These are the earliest versions of Vim and NeoVim which support |job|, |timer|, |closure|, and |lambda| features. All ALE code should be written so it is compatible with these versions of Vim, or with version checks so particular features can degrade or fail gracefully. Just about everything should be documented and covered with tests. By and large, people shouldn't pay for the functionality they don't use. Care should be taken when adding new features, so supporting new features doesn't degrade the general performance of anything ALE does. LSP support will become more important as time goes on. ALE should provide better support for LSP features as time goes on. When merging pull requests, you should respond with `Cheers! :beers:`, purely for comedy value. =============================================================================== 3. Coding Standards *ale-coding-standards* The following general coding standards should be adhered to for Vim code. * Check your Vim code with `Vint` and do everything it says. ALE will check your Vim code with Vint automatically. See: https://github.com/Kuniwak/vint Read ALE's `Dockerfile` to see which version of `Vint` it uses. * Try to write descriptive and concise names for variables and functions. Names shouldn't be too short or too long. Think about others reading your code later on. * Use `snake_case` names for variables and arguments, and `PascalCase` names for functions. Prefix every variable name with its scope. (`l:`, `g:`, etc.) * Try to keep lines no longer than 80 characters, but this isn't an absolute requirement. * Use 4 spaces for every level of indentation in Vim code. * Add a blank line before every `function`, `if`, `for`, `while`, or `return`, which doesn't start a new level of indentation. This makes the logic in your code easier to follow. * End every file with a trailing newline character, but not with extra blank lines. Remove trailing whitespace from the ends of lines. * Write the full names of commands instead of abbreviations. For example, write `function` instead of `func`, and `endif` instead of `end`. * Write functions with `!`, so files can be reloaded. Use the |abort| keyword for all functions, so functions exit on the first error. * Make sure to credit yourself in files you have authored with `Author:` and `Description:` comments. In addition to the above general guidelines for the style of your code, you should also follow some additional rules designed to prevent mistakes. Some of these are reported with ALE's `custom-linting-rules` script. See |ale-development-tests|. * Don't leave stray `:echo` lines in code. Write `" no-custom-checks` above the line if you must echo something. * For strings use |is#| instead of |==#|, `is?` instead of `==?`, `isnot#` instead of `!=#`, and `isnot?` instead of `!=?`. This is because `'x' ==# 0` returns 1, while `'x' is# 0` returns 0, so you will experience fewer issues when numbers are compared with strings. `is` and `isnot` also do not throw errors when other objects like List or Dictionaries are compared with strings. * Don't use the `getcwd()` function in the ALE codebase. Most of ALE's code runs from asynchronous callback functions, and these functions can execute from essentially random buffers. Therefore, the `getcwd()` output is useless. Use `expand('#' . a:buffer . ':p:h')` instead. Don't use `expand('%...')` for the same reason. * Don't use the `simplify()` function. It doesn't simplify paths enough. Use `ale#path#Simplify()` instead. * Don't use the `shellescape()` function. It doesn't escape arguments properly on Windows. Use `ale#Escape()` instead, which will avoid escaping where it isn't needed, and generally escape arguments better on Windows. * Don't use the `tempname()` function. It doesn't work when `$TMPDIR` isn't set. Use `ale#util#Tempname()` instead, which temporarily sets `$TMPDIR` appropriately where needed. * Use `snake_case` names for linter names, so they can be used as part of variable names. You can define `aliases` for linters, for other names people might try to configure linters with. * Use |v:t_TYPE| variables instead of `type()`, which are more readable. Apply the following guidelines when writing Vader test files. * Use 2 spaces for Vader test files, instead of the 4 spaces for Vim files. * If you write `Before` and `After` blocks, you should typically write them at the top of the file, so they run for all tests. There may be some tests where it make sense to modify the `Before` and `After` code part of the way through the file. * If you modify any settings or global variables, reset them in `After` blocks. The Vader `Save` and `Restore` commands can be useful for this purpose. * If you load or define linters in tests, write `call ale#linter#Reset()` in an `After` block. * Just write `Execute` blocks for Vader tests, and don't bother writing `Then` blocks. `Then` blocks execute after `After` blocks in older versions, and that can be confusing. Apply the following rules when writing Bash scripts. * Run `shellcheck`, and do everything it says. See: https://github.com/koalaman/shellcheck * Try to write scripts so they will run on Linux, BSD, or Mac OSX. =============================================================================== 4. Testing ALE *ale-development-tests* *ale-dev-tests* *ale-tests* ALE is tested with a suite of tests executed via GitHub Actions and AppVeyor. ALE runs tests with the following versions of Vim in the following environments. 1. Vim 8.0.0027 on Linux via GitHub Actions. 2. Vim 9.0.0133 on Linux via GitHub Actions. 3. NeoVim 0.2.0 on Linux via GitHub Actions. 4. NeoVim 0.8.0 on Linux via GitHub Actions. 6. Vim 8 (stable builds) on Windows via AppVeyor. If you are developing ALE code on Linux, Mac OSX, or BSD, you can run ALEs tests by installing Docker and running the `run-tests` script. Follow the instructions on the Docker site for installing Docker. See: https://docs.docker.com/install/ NOTE: Don't forget to add your user to the `docker` group on Linux, or Docker just won't work. See: https://docs.docker.com/install/linux/linux-postinstall/ If you run simply `./run-tests` from the ALE repository root directory, the latest Docker image for tests will be downloaded if needed, and the script will run all of the tests in Vader, Vint checks, and several Bash scripts for finding extra issues. Run `./run-tests --help` to see all of the options the script supports. Note that the script supports selecting particular test files. Once you get used to dealing with Vim and NeoVim compatibility issues, you probably want to use `./run-tests --fast -q` for running tests with only the fastest available Vim version, and with success messages from tests suppressed. Generally write tests for any changes you make. The following types of tests are recommended for the following types of code. * New/edited error handler callbacks -> Write tests in `test/handler` * New/edited linter definition -> Write tests in `test/linter` * New/edited fixer functions -> Write tests in `test/fixers` Look at existing tests in the codebase for examples of how to write tests. Refer to the Vader documentation for general information on how to write Vader tests: https://github.com/junegunn/vader.vim If you need to add any supporting files for tests, such as empty files present to test searching upwards through paths for configuration files, they can be added to the `test/test-files` directory. See |ale-development-linter-tests| for more information on how to write linter tests. When you add new linters or fixers, make sure to add them into the tables in supported-tools.md and |ale-supported-languages-and-tools.txt|. If you forget to keep them both in sync, you should see an error like the following in the builds run for GitHub Actions. > ======================================== diff supported-tools.md and doc/ale-supported-languages-and-tools.txt tables ======================================== Differences follow: --- /tmp/readme.qLjNhJdB 2018-07-01 16:29:55.590331972 +0100 +++ /tmp/doc.dAi8zfVE 2018-07-01 16:29:55.582331877 +0100 @@ -1 +1 @@ - ASM: gcc, foobar + ASM: gcc < Make sure to list documentation entries for linters and fixers in individual help files in the table of contents, and to align help tags to the right margin. For example, if you add a heading for an `aardvark` tool to `ale-python.txt` with a badly aligned doc tag, you will see errors like so. > ======================================== Look for badly aligned doc tags ======================================== Badly aligned tags follow: doc/ale-python.txt:aardvark ... ======================================== Look for table of contents issues ======================================== Check for bad ToC sorting: Check for mismatched ToC and headings: --- /tmp/table-of-contents.mwCFOgSI 2018-07-01 16:33:25.068811878 +0100 +++ /tmp/headings.L4WU0hsO 2018-07-01 16:33:25.076811973 +0100 @@ -168,6 +168,7 @@ pyrex (cython), ale-pyrex-options cython, ale-pyrex-cython python, ale-python-options + aardvark, ale-python-aardvark autopep8, ale-python-autopep8 black, ale-python-black flake8, ale-python-flake8 < Make sure to make the table of contents match the headings, and to keep the doc tags on the right margin. =============================================================================== 4.1 Writing Linter Tests *ale-development-linter-tests* Tests for ALE linters take two forms. 1. Tests for handling the output of commands. 2. Tests for checking which commands are run, or connections are made. Tests of the first form should go in the `test/handler` directory, and should be written like so. > Before: " Load the file which defines the linter. runtime ale_linters/filetype/linter_name_here.vim After: " Unload all linters again. call ale#linter#Reset() Execute(The output should be correct): " Test that the right loclist items are parsed from the handler. AssertEqual \ [ \ { \ 'lnum': 1, \ 'type': 'E', \ 'text': 'Something went wrong', \ }, \ ], \ ale_linters#filetype#linter_name#Handle(bufnr(''), [ \ '1:Something went wrong', \ ] < Tests for what ALE runs should go in the `test/linter` directory, and should be written like so. > Before: " Load the linter and set up a series of commands, reset linter variables, " clear caches, etc. " " Vader's 'Save' command will be called here for linter variables. call ale#assert#SetUpLinterTest('filetype', 'linter_name') After: " Reset linters, variables, etc. " " Vader's 'Restore' command will be called here. call ale#assert#TearDownLinterTest() Execute(The default command should be correct): " AssertLinter checks the executable and command. " Pass expected_executable, expected_command AssertLinter 'some-command', ale#Escape('some-command') . ' --foo' Execute(Check chained commands): " GivenCommandOutput can be called with 1 or more list for passing output " to chained commands. The output for each callback defaults to an empty " list. GivenCommandOutput ['v2.1.2'] " Given a List of commands, check all of them. " Given a String, only the last command in the chain will be checked. AssertLinter 'some-command', [ \ ale#Escape('some-command') . ' --version', \ ale#Escape('some-command') . ' --foo', \] < The full list of commands that will be temporarily defined for linter tests given the above setup are as follows. `GivenCommandOutput [...]` - Define output for ale#command#Run. `AssertLinterCwd cwd` - Check the `cwd` for the linter. `AssertLinter executable, command` - Check the executable and command. `AssertLinterNotExecuted` - Check that linters will not be executed. `AssertLSPLanguage language` - Check the language given to an LSP server. `AssertLSPOptions options_dict` - Check the options given to an LSP server. `AssertLSPConfig config_dict` - Check the config given to an LSP server. `AssertLSPProject project_root` - Check the root given to an LSP server. `AssertLSPAddress address` - Check the address to an LSP server. =============================================================================== 4.2 Writing Fixer Tests *ale-development-fixer-tests* Tests for ALE fixers should go in the `test/fixers` directory, and should be written like so. > Before: " Load the fixer and set up a series of commands, reset fixer variables, " clear caches, etc. " " Vader's 'Save' command will be called here for fixer variables. call ale#assert#SetUpFixerTest('filetype', 'fixer_name') After: " Reset fixers, variables, etc. " " Vader's 'Restore' command will be called here. call ale#assert#TearDownFixerTest() Execute(The default command should be correct): " AssertFixer checks the result of the loaded fixer function. AssertFixer {'command': ale#Escape('some-command') . ' --foo'} Execute(Check chained commands): " Same as above for linter tests. GivenCommandOutput ['v2.1.2'] " Given a List of commands, check all of them. " Given anything else, only the last result will be checked. AssertFixer [ \ ale#Escape('some-command') . ' --version', \ {'command': ale#Escape('some-command') . ' --foo'} \] < The full list of commands that will be temporarily defined for fixer tests given the above setup are as follows. `GivenCommandOutput [...]` - Define output for ale#command#Run. `AssertFixerCwd cwd` - Check the `cwd` for the fixer. `AssertFixer results` - Check the fixer results `AssertFixerNotExecuted` - Check that fixers will not be executed. =============================================================================== 4.3 Running Tests in a Windows VM *ale-development-windows-tests* Tests are run for ALE in a build of Vim 8 for Windows via AppVeyor. These tests can frequently break due to minor differences in paths and how escaping is done for commands on Windows. If you are a Linux or Mac user, running these tests locally can be difficult. Here is a process that will make that easier. First, you want to install a Windows image with VirtualBox. Install VirtualBox and grab a VirtualBox image for Windows such as from here: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ NOTE: If you need to enter a password for the virtual machine at any point, the password is "Passw0rd!" without the double quotes. NOTE: If your trial period for Windows runs out, run the commands like the wallpaper tells you to. Your virtual machine will need to have PowerShell installed. Before you go any further, confirm that PowerShell is installed in your Windows virtual machine. Consult the VirtualBox documentation on how to install "Guest Additions." You probably want to install "Guest Additions" for most things to work properly. After you've loaded your virtual machine image, go into "Settings" for your virtual machine, and "Shared Folders." Add a shared folder with the name "ale", and set the "Folder Path" to the path to your ALE repository, for example: "/home/w0rp/ale" Find out which drive letter "ale" has been mounted as in Windows. We'll use "E:" as the drive letter, for example. Open the command prompt as an administrator by typing in `cmd` in the start menu, right clicking on the command prompt application, and clicking "Run as administrator." Click "Yes" when prompted to ask if you're sure you want to run the command prompt. You should type in the following command to mount the "ale" directory for testing, where "E:" is replaced with your drive letter. > mklink /D C:\testplugin E: < Close the administrator Command Prompt, and try running the command `type C:\testplugin\LICENSE` in a new Command Prompt which you are NOT running as administrator. You should see the license for ALE in your terminal. After you have confirmed that you have mounted ALE on your machine, search in the Start Menu for "power shell," run PowerShell as an administrator, and issue the following commands to install the correct Vim and Vader versions for running tests. > Add-Type -A System.IO.Compression.FileSystem Invoke-WebRequest ftp://ftp.vim.org/pub/vim/pc/vim80-586w32.zip -OutFile C:\vim.zip [IO.Compression.ZipFile]::ExtractToDirectory('C:\vim.zip', 'C:\vim') rm C:\vim.zip Invoke-WebRequest ftp://ftp.vim.org/pub/vim/pc/vim80-586rt.zip -OutFile C:\rt.zip [IO.Compression.ZipFile]::ExtractToDirectory('C:\rt.zip', 'C:\vim') rm C:\rt.zip Invoke-WebRequest https://github.com/junegunn/vader.vim/archive/c6243dd81c98350df4dec608fa972df98fa2a3af.zip -OutFile C:\vader.zip [IO.Compression.ZipFile]::ExtractToDirectory('C:\vader.zip', 'C:\') mv C:\vader.vim-c6243dd81c98350df4dec608fa972df98fa2a3af C:\vader rm C:\vader.zip < After you have finished installing everything, you can run all of the tests in Windows by opening a Command Prompt NOT as an administrator by navigating to the directory where you've mounted the ALE code, which must be named `C:\testplugin`, and by running the `run-tests.bat` batch file. > cd C:\testplugin run-tests < It will probably take several minutes for all of the tests to run. Be patient. You can run a specific test by passing the filename as an argument to the batch file, for example: `run-tests test/test_c_flag_parsing.vader` . This will give you results much more quickly. =============================================================================== 5. Contributing *ale-development-contributing* All integration of new code into ALE is done through GitHub pull requests. Using that tool streamlines the process and minimizes the time and effort required to e.g. ensure test suites are run for every change. As for any project hosted by GitHub, the choice of platform demands every contributor to take care to setup an account and configure it accordingly. Due to details of our process, a difference to many other GitHub hosted projects is that contributors who wish to keep the author fields for their commits unaltered need to configure a public email address in their account and profile settings. See: https://docs.github.com/en/account-and-profile/ Unless configuring GitHub to expose contact details, commits will be rewritten to appear by `USERNAME ` . =============================================================================== 5.1 Preparing a Release *ale-development-release* ALE offers release packages through GitHub, for two reasons: 1. Some users like to target specific release versions rather than simply installing the plugin from `master`. This includes users who create Linux distribution specific packages from GitHub releases. 2. The releases provide a nice way to get an overview of what has changed in ALE over time. ALE has no fixed release schedule. Release versions are created whenever the ALE developers feel the need to create one. ALE release versions follow the typical Semantic Versioning scheme. See: https://semver.org/ Minor version releases for ALE should be the most common, followed by patch releases. Every minor version release should be followed by a `vA.B.x` branch such as `v2.0.x` for version `2.0.0` and every following patch version before `2.1.0`. The `git` branch strategy for patches is to first merge a bug fix to `master`, and then `git cherry-pick` a patch to a branch for a specific version. ALE developers do not generally support anything but `master` or the last minor version. Generally ALE releases hit a major version only when there are breaking changes to a public ALE setting or function. A "public" setting or function is defined as any setting or function documented in the `:help` |ale| text file. Major ALE versions ought to be so rare that they only come once a year at most. ALE should not typically introduce any breaking changes. If there are ever to be any breaking changes made for ALE, there should first come a minor version release for ALE documenting all of the coming breaking changes to ALE. It should be described how users can prepare for a breaking change that is coming before it is done. To create a release for ALE, you will need sufficient permissions in GitHub. Once you do, follow these steps. 1. Create a new release draft, or edit an existing one. It helps to craft drafts ahead of time and write the last commit ID checked for release notes on the last update to a draft. See the releases page: https://github.com/dense-analysis/ale/releases 2. Examine `git log` and read changes made between the last ID checked, or the git tag of the previous release, and the current commit in `master`. 3. Write updates in separate sections (except where empty) for: 3.a. Breaking Changes 3.b. Deprecated Features 3.c. New Features 3.d. New Linters 3.e. New Fixers 3.f. Linter Enhancements 3.g. Fixer Enhancements 3.h. Bugs Fixed 4. Once you've finished writing the draft for the release, bump `s:current_ale_version` in `autoload/ale.vim` to the current version, and add a line to `test/test_ale_has.vader` to test for the version. See |ale#Has()| documentation for more information. 5. Commit the changes after `./run-tests --fast -q` passes. 6. Tag the release with `git tag vA.B.C`, replacing `A`, `B`, and `C` with the version numbers. See `git tag --list` for examples. 7. Run `git push` and `git push --tags` to push the commit and the tag. 8. Edit the release draft in GitHub, select the tag you just pushed, and publish the draft. 9. If you're creating a new major or minor version: `git checkout -b vA.B.x`, replacing `A` and `B` with the major and minor versions. `git push` the new branch, and the GitHub branch protection settings should automatically apply to the new release branch. 10. You have already completed the last step. Have fun creating ALE releases. Drink responsibly, or not at all, which is the preference of w0rp. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-dhall.txt ================================================ =============================================================================== ALE Dhall Integration *ale-dhall-options* g:ale_dhall_executable *g:ale_dhall_executable* *b:ale_dhall_executable* Type: |String| Default: `'dhall'` g:ale_dhall_options *g:ale_dhall_options* *b:ale_dhall_options* Type: |String| Default: `''` This variable can be set to pass additional options to the 'dhall` executable. This is shared with `dhall-freeze` and `dhall-lint`. > let g:ale_dhall_options = '--ascii' < =============================================================================== dhall-format *ale-dhall-format* Dhall (https://dhall-lang.org/) =============================================================================== dhall-freeze *ale-dhall-freeze* Dhall (https://dhall-lang.org/) g:ale_dhall_freeze_options *g:ale_dhall_freeze_options* *b:ale_dhall_freeze_options* Type: |String| Default: `''` This variable can be set to pass additional options to the 'dhall freeze` executable. > let g:ale_dhall_freeze_options = '--all' < =============================================================================== dhall-lint *ale-dhall-lint* Dhall (https://dhall-lang.org/) =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-dockerfile.txt ================================================ =============================================================================== ALE Dockerfile Integration *ale-dockerfile-options* =============================================================================== dockerfile_lint *ale-dockerfile-dockerfile_lint* g:ale_dockerfile_dockerfile_lint_executable *g:ale_dockerfile_dockerfile_lint_executable* *b:ale_dockerfile_dockerfile_lint_executable* Type: |String| Default: `'dockerfile_lint'` This variable can be changed to specify the executable used to run dockerfile_lint. g:ale_dockerfile_dockerfile_lint_options *g:ale_dockerfile_dockerfile_lint_options* *b:ale_dockerfile_dockerfile_lint_options* Type: |String| Default: `''` This variable can be changed to add additional command-line arguments to the dockerfile lint invocation - like custom rule file definitions. =============================================================================== dprint *ale-dockerfile-dprint* See |ale-dprint-options| and https://dprint.dev/plugins/dockerfile =============================================================================== hadolint *ale-dockerfile-hadolint* hadolint can be found at: https://github.com/hadolint/hadolint g:ale_dockerfile_hadolint_options *g:ale_dockerfile_hadolint_options* *b:ale_dockerfile_hadolint_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the hadolint invocation. These arguments will be used whether docker is being used or not (see below). g:ale_dockerfile_hadolint_use_docker *g:ale_dockerfile_hadolint_use_docker* *b:ale_dockerfile_hadolint_use_docker* Type: |String| Default: `'never'` This variable controls if docker and the hadolint image are used to run this linter: if 'never', docker will never be used; 'always' means docker will always be used; 'yes' and docker will be used if the hadolint executable cannot be found. For now, the default is 'never'. This may change as ale's support for using docker to lint evolves. g:ale_dockerfile_hadolint_image *g:ale_dockerfile_hadolint_image* *b:ale_dockerfile_hadolint_image* Type: |String| Default: `'hadolint/hadolint'` This variable controls the docker image used to run hadolint. The default is hadolint's author's build, and can be found at: https://hub.docker.com/r/hadolint/hadolint/ =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-elixir.txt ================================================ =============================================================================== ALE Elixir Integration *ale-elixir-options* =============================================================================== mix *ale-elixir-mix* The `mix` linter is disabled by default, as it can be too expensive to run. See `:help g:ale_linters` g:ale_elixir_mix_options *g:ale_elixir_mix_options* *b:ale_elixir_mix_options* Type: |String| Default: `'mix'` This variable can be changed to specify the mix executable. =============================================================================== mix_format *ale-elixir-mix-format* g:ale_elixir_mix_format_options *g:ale_elixir_mix_format_options* *b:ale_elixir_mix_format_options* Type: |String| Default: `''` This variable can be changed to specify the mix options passed to the mix_format fixer =============================================================================== dialyxir *ale-elixir-dialyxir* Dialyzer, a DIscrepancy AnaLYZer for ERlang programs. http://erlang.org/doc/man/dialyzer.html It can be used with elixir through dialyxir https://github.com/jeremyjh/dialyxir Options for dialyzer are not configurable by ale, but they are instead configured on your project's `mix.exs`. See https://github.com/jeremyjh/dialyxir#with-explaining-stuff for more information. =============================================================================== elixir-ls *ale-elixir-elixir-ls* Elixir Language Server (https://github.com/JakeBecker/elixir-ls) g:ale_elixir_elixir_ls_release *g:ale_elixir_elixir_ls_release* *b:ale_elixir_elixir_ls_release* Type: |String| Default: `'elixir-ls'` Location of the elixir-ls release directory. This directory must contain the language server scripts (language_server.sh and language_server.bat). g:ale_elixir_elixir_ls_config *g:ale_elixir_elixir_ls_config* *b:ale_elixir_elixir_ls_config* Type: |Dictionary| Default: `{}` Dictionary containing configuration settings that will be passed to the language server. For example, to disable Dialyzer: > { \ 'elixirLS': { \ 'dialyzerEnabled': v:false, \ }, \ } < Consult the ElixirLS documentation for more information about settings. =============================================================================== credo *ale-elixir-credo* Credo (https://github.com/rrrene/credo) g:ale_elixir_credo_strict *g:ale_elixir_credo_strict* Type: |Integer| Default: `0` Tells credo to run in strict mode or suggest mode. Set variable to 1 to enable --strict mode. g:ale_elixir_credo_config_file *g:ale_elixir_credo_config_file* Type: |String| Default: `''` Tells credo to use a custom configuration file. =============================================================================== cspell *ale-elixir-cspell* See |ale-cspell-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-elm.txt ================================================ =============================================================================== ALE Elm Integration *ale-elm-options* =============================================================================== elm-format *ale-elm-elm-format* g:ale_elm_format_executable *g:ale_elm_format_executable* *b:ale_elm_format_executable* Type: |String| Default: `'elm-format'` See |ale-integrations-local-executables| g:ale_elm_format_use_global *g:ale_elm_format_use_global* *b:ale_elm_format_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_elm_format_options *g:ale_elm_format_options* *b:ale_elm_format_options* Type: |String| Default: `'--yes'` This variable can be set to pass additional options to elm-format. =============================================================================== elm-ls *ale-elm-elm-ls* g:ale_elm_ls_executable *g:ale_elm_ls_executable* *b:ale_elm_ls_executable* Type: |String| Default: `'elm-language-server'` See |ale-integrations-local-executables| g:ale_elm_ls_use_global *g:ale_elm_ls_use_global* *b:ale_elm_ls_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 1)` See |ale-integrations-local-executables| g:ale_elm_ls_elm_path *g:ale_elm_ls_elm_path* *b:ale_elm_ls_elm_path* Type: |String| Default: `''` See |ale-integrations-local-executables| g:ale_elm_ls_elm_format_path *g:ale_elm_ls_elm_format_path* *b:ale_elm_ls_elm_format_path* Type: |String| Default: `''` See |ale-integrations-local-executables| g:ale_elm_ls_elm_test_path *g:ale_elm_ls_elm_test_path* *b:ale_elm_ls_elm_test_path* Type: |String| Default: `''` See |ale-integrations-local-executables| g:ale_elm_ls_elm_analyse_trigger *g:ale_elm_ls_elm_analyse_trigger* *b:ale_elm_ls_elm_analyse_trigger* Type: |String| Default: `'change'` One of 'change', 'save' or 'never' =============================================================================== elm-make *ale-elm-elm-make* g:ale_elm_make_executable *g:ale_elm_make_executable* *b:ale_elm_make_executable* Type: |String| Default: `'elm'` See |ale-integrations-local-executables| g:ale_elm_make_use_global *g:ale_elm_make_use_global* *b:ale_elm_make_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-erlang.txt ================================================ =============================================================================== ALE Erlang Integration *ale-erlang-options* =============================================================================== dialyzer *ale-erlang-dialyzer* g:ale_erlang_dialyzer_executable *g:ale_erlang_dialyzer_executable* *b:ale_erlang_dialyzer_executable* Type: |String| Default: `'dialyzer'` This variable can be changed to specify the dialyzer executable. g:ale_erlang_dialyzer_options *g:ale_erlang_dialyzer_options* *b:ale_erlang_dialyzer_options* Type: |String| Default: `'-Wunmatched_returns -Werror_handling -Wrace_conditions -Wunderspec'` This variable can be changed to specify the options to pass to the dialyzer executable. g:ale_erlang_dialyzer_plt_file *g:ale_erlang_dialyzer_plt_file* *b:ale_erlang_dialyzer_plt_file* Type: |String| This variable can be changed to specify the path to the PLT file. By default, it will search for the PLT file inside the `_build` directory. If there isn't one, it will fallback to the path `$REBAR_PLT_DIR/dialyzer/plt`. Otherwise, it will default to `$HOME/.dialyzer_plt`. g:ale_erlang_dialyzer_rebar3_profile *g:ale_erlang_dialyzer_rebar3_profile* *b:ale_erlang_dialyzer_rebar3_profile* Type: |String| Default: `'default'` This variable can be changed to specify the profile that is used to run dialyzer with rebar3. ------------------------------------------------------------------------------- elvis *ale-erlang-elvis* g:ale_erlang_elvis_executable *g:ale_erlang_elvis_executable* *b:ale_erlang_elvis_executable* Type: |String| Default: `'elvis'` This variable can be changed to specify the elvis executable. ------------------------------------------------------------------------------- erlang_ls *ale-erlang-erlang_ls* g:ale_erlang_erlang_ls_executable *g:ale_erlang_erlang_ls_executable* *b:ale_erlang_erlang_ls_executable* Type: |String| Default: `'erlang_ls'` This variable can be changed to specify the erlang_ls executable. g:ale_erlang_erlang_ls_log_dir *g:ale_erlang_erlang_ls_log_dir* *b:ale_erlang_erlang_ls_log_dir* Type: |String| Default: `''` If set this variable overrides default directory where logs will be written. g:ale_erlang_erlang_ls_log_level *g:ale_erlang_erlang_ls_log_level* *b:ale_erlang_erlang_ls_log_level* Type: |String| Default: `'info'` This variable can be changed to specify log level. ------------------------------------------------------------------------------- erlc *ale-erlang-erlc* g:ale_erlang_erlc_executable *g:ale_erlang_erlc_executable* *b:ale_erlang_erlc_executable* Type: |String| Default: `'erlc'` This variable can be changed to specify the erlc executable. g:ale_erlang_erlc_options *g:ale_erlang_erlc_options* *b:ale_erlang_erlc_options* Type: |String| Default: `''` This variable controls additional parameters passed to `erlc`, such as `-I` or `-pa`. ------------------------------------------------------------------------------- erlfmt *ale-erlang-erlfmt* g:ale_erlang_erlfmt_executable *g:ale_erlang_erlfmt_executable* *b:ale_erlang_erlfmt_executable* Type: |String| Default: `'erlfmt'` This variable can be changed to specify the erlfmt executable. g:ale_erlang_erlfmt_options *g:ale_erlang_erlfmt_options* *b:ale_erlang_erlfmt_options* Type: |String| Default: `''` This variable controls additional parameters passed to `erlfmt`, such as `--insert-pragma` or `--print-width`. ------------------------------------------------------------------------------- syntaxerl *ale-erlang-syntaxerl* g:ale_erlang_syntaxerl_executable *g:ale_erlang_syntaxerl_executable* *b:ale_erlang_syntaxerl_executable* Type: |String| Default: `'syntaxerl'` This variable can be changed to specify the syntaxerl executable. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-eruby.txt ================================================ =============================================================================== ALE Eruby Integration *ale-eruby-options* There are four linters for `eruby` files: - `erb` - `erblint` - `erubis` - `erubi` - `ruumba` `erb` is in the Ruby standard library and is mostly universal. `erubis` is the default parser in Rails between 3.0 and 5.1. `erubi` is the default in Rails 5.1 and later. `ruumba` can extract Ruby from eruby files and run rubocop on the result. To selectively enable a subset, see |g:ale_linters|. =============================================================================== erblint *ale-eruby-erblint* g:ale_eruby_erblint_executable *g:ale_eruby_erblint_executable* *b:ale_eruby_erblint_executable* Type: |String| Default: `'erblint'` Override the invoked erblint binary. This is useful for running erblint from binstubs or a bundle. g:ale_eruby_erblint_options *g:ale_ruby_erblint_options* *b:ale_ruby_erblint_options* Type: |String| Default: `''` This variable can be change to modify flags given to erblint. =============================================================================== ruumba *ale-eruby-ruumba* g:ale_eruby_ruumba_executable *g:ale_eruby_ruumba_executable* *b:ale_eruby_ruumba_executable* Type: |String| Default: `'ruumba` Override the invoked ruumba binary. This is useful for running ruumba from binstubs or a bundle. g:ale_eruby_ruumba_options *g:ale_ruby_ruumba_options* *b:ale_ruby_ruumba_options* Type: |String| Default: `''` This variable can be change to modify flags given to ruumba. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-fish.txt ================================================ =============================================================================== ALE Fish Integration *ale-fish-options* Lints fish files using `fish -n`. Note that `fish -n` is not foolproof: it sometimes gives false positives or errors that are difficult to parse without more context. This integration skips displaying errors if an error message is not found. If ALE is not showing any errors but your file does not run as expected, run `fish -n ` from the command line. =============================================================================== fish_indent *ale-fish-fish_indent* g:ale_fish_fish_indent_executable *g:ale_fish_fish_indent_executable* *b:ale_fish_fish_indent_executable* Type: |String| Default: `'fish_indent'` This variable can be changed to use a different executable for fish_indent. g:ale_fish_fish_indent_options *g:ale_fish_fish_indent_options* *b:ale_fish_fish_indent_options* Type: |String| Default: `''` This variable can be set to pass additional options to fish_indent. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-fortran.txt ================================================ =============================================================================== ALE Fortran Integration *ale-fortran-options* =============================================================================== gcc *ale-fortran-gcc* g:ale_fortran_gcc_executable *g:ale_fortran_gcc_executable* *b:ale_fortran_gcc_executable* Type: |String| Default: `'gcc'` This variable can be changed to modify the executable used for checking Fortran code with GCC. g:ale_fortran_gcc_options *g:ale_fortran_gcc_options* *b:ale_fortran_gcc_options* Type: |String| Default: `'-Wall'` This variable can be changed to modify flags given to gcc. g:ale_fortran_gcc_use_free_form *g:ale_fortran_gcc_use_free_form* *b:ale_fortran_gcc_use_free_form* Type: |Number| Default: `1` When set to `1`, the `-ffree-form` flag will be used for GCC, to check files with the free form layout. When set to `0`, `-ffixed-form` will be used instead, for checking files with fixed form layouts. =============================================================================== language_server *ale-fortran-language-server* g:ale_fortran_language_server_executable *g:ale_fortran_language_server_executable* *b:ale_fortran_language_server_executable* Type: |String| Default: `'fortls'` This variable can be changed to modify the executable used for the Fortran Language Server. g:ale_fortran_language_server_use_global *g:ale_fortran_language_server_use_global* *b:ale_fortran_language_server_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-fountain.txt ================================================ =============================================================================== ALE Fountain Integration *ale-fountain-options* =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-fuse.txt ================================================ =============================================================================== ALE FusionScript Integration *ale-fuse-options* =============================================================================== fusion-lint *ale-fuse-fusionlint* g:ale_fusion_fusionlint_executable *g:ale_fuse_fusionlint_executable* *b:ale_fuse_fusionlint_executable* Type: |String| Default: `'fusion-lint'` This variable can be changed to change the path to fusion-lint. g:ale_fuse_fusionlint_options *g:ale_fuse_fusionlint_options* *b:ale_fuse_fusionlint_options* Type: |String| Default: `''` This variable can be set to pass additional options to fusion-lint. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-gitcommit.txt ================================================ =============================================================================== ALE Git Commit Integration *ale-gitcommit-options* =============================================================================== gitlint *ale-gitcommit-gitlint* g:ale_gitcommit_gitlint_executable *g:ale_gitcommit_gitlint_executable* *b:ale_gitcommit_gitlint_executable* Type: |String| Default: `'gitlint'` This variable can be changed to modify the executable used for gitlint. g:ale_gitcommit_gitlint_options *g:ale_gitcommit_gitlint_options* *b:ale_gitcommit_gitlint_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the gitlint invocation. For example, you can specify the path to a configuration file. > let g:ale_gitcommit_gitlint_options = '-C /home/user/.config/gitlint.ini' < You can also disable particular error codes using this option. For example, you can ignore errors for git commits with a missing body. > let g:ale_gitcommit_gitlint_options = '--ignore B6' < g:ale_gitcommit_gitlint_use_global *g:ale_gitcommit_gitlint_use_global* *b:ale_gitcommit_gitlint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` This variable controls whether or not ALE will search for gitlint in a virtualenv directory first. If this variable is set to `1`, then ALE will always use |g:ale_gitcommit_gitlint_executable| for the executable path. Both variables can be set with `b:` buffer variables instead. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-glsl.txt ================================================ =============================================================================== ALE GLSL Integration *ale-glsl-options* *ale-integration-glsl* =============================================================================== Integration Information Since Vim does not detect the glsl file types out-of-the-box, you need the runtime files for glsl from here: https://github.com/tikhomirov/vim-glsl Note that the current glslang-based linter expects glslangValidator in standard paths. If it's not installed system-wide you can set |g:ale_glsl_glslang_executable| to a specific path. =============================================================================== glslang *ale-glsl-glslang* g:ale_glsl_glslang_executable *g:ale_glsl_glslang_executable* *b:ale_glsl_glslang_executable* Type: |String| Default: `'glslangValidator'` This variable can be changed to change the path to glslangValidator. g:ale_glsl_glslang_options *g:ale_glsl_glslang_options* *b:ale_glsl_glslang_options* Type: |String| Default: `''` This variable can be set to pass additional options to glslangValidator. =============================================================================== glslls *ale-glsl-glslls* g:ale_glsl_glslls_executable *g:ale_glsl_glslls_executable* *b:ale_glsl_glslls_executable* Type: |String| Default: `'glslls'` This variable can be changed to change the path to glslls. See |ale-integrations-local-executables| g:ale_glsl_glslls_logfile *g:ale_glsl_glslls_logfile* *b:ale_glsl_glslls_logfile* Type: |String| Default: `''` Setting this variable to a writeable file path will enable logging to that file. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-go.txt ================================================ =============================================================================== ALE Go Integration *ale-go-options* =============================================================================== Integration Information The `gometalinter` linter is disabled by default. ALE enables `gofmt`, `golint` and `go vet` by default. It also supports `staticcheck`, `go build`, `gosimple`, `golangserver`. To enable `gometalinter`, update |g:ale_linters| as appropriate: > " Enable all of the linters you want for Go. let g:ale_linters = {'go': ['gometalinter', 'gofmt']} < A possible configuration is to enable `gometalinter` and `gofmt` but paired with the `--fast` option, set by |g:ale_go_gometalinter_options|. This gets you the benefit of running a number of linters, more than ALE would by default, while ensuring it doesn't run any linters known to be slow or resource intensive. g:ale_go_go_executable *g:ale_go_go_executable* *b:ale_go_go_executable* Type: |String| Default: `'go'` The executable that will be run for the `gobuild` and `govet` linters, and the `gomod` fixer. g:ale_go_go111module *g:ale_go_go111module* *b:ale_go_go111module* Type: |String| Default: `''` Override the value of the `$GO111MODULE` environment variable for golang tools. =============================================================================== bingo *ale-go-bingo* g:ale_go_bingo_executable *g:ale_go_bingo_executable* *b:ale_go_bingo_executable* Type: |String| Default: `'bingo'` Location of the bingo binary file. g:ale_go_bingo_options *g:ale_go_bingo_options* *b:ale_go_bingo_options* Type: |String| Default: `''` =============================================================================== cspell *ale-go-cspell* See |ale-cspell-options| =============================================================================== gobuild *ale-go-gobuild* g:ale_go_gobuild_options *g:ale_go_gobuild_options* *b:ale_go_gobuild_options* Type: |String| Default: `''` This variable can be set to pass additional options to the gobuild linter. They are injected directly after "go test". =============================================================================== gofmt *ale-go-gofmt* g:ale_go_gofmt_options *g:ale_go_gofmt_options* *b:ale_go_gofmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the gofmt fixer. =============================================================================== gofumpt *ale-go-gofumpt* g:ale_go_gofumpt_executable *g:ale_go_gofumpt_executable* *b:ale_go_gofumpt_executable* Type: |String| Default: `'gofumpt'` Executable to run to use as the gofumpt fixer. g:ale_go_gofumpt_options *g:ale_go_gofumpt_options* *b:ale_go_gofumpt_options* Type: |String| Default: `''` Options to pass to the gofumpt fixer. =============================================================================== golangci-lint *ale-go-golangci-lint* `golangci-lint` is a `lint_file` linter, which only lints files that are written to disk. This differs from the default behavior of linting the buffer. See: |ale-lint-file| g:ale_go_golangci_lint_executable *g:ale_go_golangci_lint_executable* *b:ale_go_golangci_lint_executable* Type: |String| Default: `'golangci-lint'` The executable that will be run for golangci-lint. g:ale_go_golangci_lint_options *g:ale_go_golangci_lint_options* *b:ale_go_golangci_lint_options* Type: |String| Default: `'--enable-all'` This variable can be changed to alter the command-line arguments to the golangci-lint invocation. g:ale_go_golangci_lint_package *g:ale_go_golangci_lint_package* *b:ale_go_golangci_lint_package* Type: |Number| Default: `0` When set to `1`, the whole Go package will be checked instead of only the current file. =============================================================================== golangserver *ale-go-golangserver* g:ale_go_langserver_executable *g:ale_go_langserver_executable* *b:ale_go_langserver_executable* Type: |String| Default: `'go-langserver'` Location of the go-langserver binary file. g:ale_go_langserver_options *g:ale_go_langserver_options* *b:ale_go_langserver_options* Type: |String| Default: `''` Additional options passed to the go-langserver command. Note that the `-gocodecompletion` option is ignored because it is handled automatically by the |g:ale_completion_enabled| variable. =============================================================================== golines *ale-go-golines* g:ale_go_golines_executable *g:ale_go_lines_executable* *b:ale_go_lines_executable* Type: |String| Default: `'golines'` Location of the golines binary file g:ale_go_golines_options *g:ale_go_golines_options* *b:ale_go_golines_options* Type: |String| Default: `''` Additional options passed to the golines command. By default golines has --max-length=100 (lines above 100 characters will be wrapped) =============================================================================== golint *ale-go-golint* g:ale_go_golint_executable *g:ale_go_golint_executable* *b:ale_go_golint_executable* Type: |String| Default: `'golint'` This variable can be set to change the golint executable path. g:ale_go_golint_options *g:ale_go_golint_options* *b:ale_go_golint_options* Type: |String| Default: `''` This variable can be set to pass additional options to the golint linter. =============================================================================== gometalinter *ale-go-gometalinter* `gometalinter` is a `lint_file` linter, which only lints files that are written to disk. This differs from the default behavior of linting the buffer. See: |ale-lint-file| g:ale_go_gometalinter_executable *g:ale_go_gometalinter_executable* *b:ale_go_gometalinter_executable* Type: |String| Default: `'gometalinter'` The executable that will be run for gometalinter. g:ale_go_gometalinter_options *g:ale_go_gometalinter_options* *b:ale_go_gometalinter_options* Type: |String| Default: `''` This variable can be changed to alter the command-line arguments to the gometalinter invocation. Since `gometalinter` runs a number of linters that can consume a lot of resources it's recommended to set this option to a value of `--fast` if you use `gometalinter` as one of the linters in |g:ale_linters|. This disables a number of linters known to be slow or consume a lot of resources. g:ale_go_gometalinter_lint_package *g:ale_go_gometalinter_lint_package* *b:ale_go_gometalinter_lint_package* Type: |Number| Default: `0` When set to `1`, the whole Go package will be checked instead of only the current file. =============================================================================== gopls *ale-go-gopls* gopls is the official Go language server, and is enabled for use with ALE by default. To install the latest stable version of `gopls` to your `$GOPATH`, try the following command: > GO111MODULE=on go get golang.org/x/tools/gopls@latest < If `$GOPATH` is readable by ALE, it should probably work without you having to do anything else. See the `gopls` README file for more information: https://github.com/golang/tools/blob/master/gopls/README.md g:ale_go_gopls_executable *g:ale_go_gopls_executable* *b:ale_go_gopls_executable* Type: |String| Default: `'gopls'` See |ale-integrations-local-executables| ALE will search for `gopls` in locally installed directories first by default, and fall back on a globally installed `gopls` if it can't be found otherwise. g:ale_go_gopls_options *g:ale_go_gopls_options* *b:ale_go_gopls_options* Type: |String| Default: `''` Command-line options passed to the gopls executable. See `gopls -h`. g:ale_go_gopls_init_options *g:ale_go_gopls_init_options* *b:ale_go_gopls_init_options* Type: |Dictionary| Default: `{}` LSP initialization options passed to gopls. This can be used to configure the behaviour of gopls. Example: > let g:ale_go_gopls_init_options = {'ui.diagnostic.analyses': { \ 'composites': v:false, \ 'unusedparams': v:true, \ 'unusedresult': v:true, \ }} < For a full list of supported analyzers, see: https://github.com/golang/tools/blob/master/gopls/doc/analyzers.md g:ale_go_gopls_use_global *g:ale_go_gopls_use_global* *b:ale_go_gopls_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== govet *ale-go-govet* g:ale_go_govet_options *g:ale_go_govet_options* *b:ale_go_govet_options* Type: |String| Default: `''` This variable can be set to pass additional options to the go vet linter. =============================================================================== revive *ale-go-revive* g:ale_go_revive_executable *g:ale_go_revive_executable* *b:ale_go_revive_executable* Type: |String| Default: `'revive'` This variable can be set to change the revive executable path. g:ale_go_revive_options *g:ale_go_revive_options* *b:ale_go_revive_options* Type: |String| Default: `''` This variable can be set to pass additional options to the revive =============================================================================== staticcheck *ale-go-staticcheck* g:ale_go_staticcheck_executable *g:ale_go_staticcheck_executable* *b:ale_go_staticcheck_executable* Type: |String| Default: `'staticcheck'` See |ale-integrations-local-executables| ALE will search for `staticcheck` in locally installed directories first by default, and fall back on a globally installed `staticcheck` if it can't be found otherwise. g:ale_go_staticcheck_options *g:ale_go_staticcheck_options* *b:ale_go_staticcheck_options* Type: |String| Default: `''` This variable can be set to pass additional options to the staticcheck linter. g:ale_go_staticcheck_lint_package *g:ale_go_staticcheck_lint_package* *b:ale_go_staticcheck_lint_package* Type: |Number| Default: `1` When set to `1`, the whole Go package will be checked instead of only the current file. g:ale_go_staticcheck_use_global *g:ale_go_staticcheck_use_global* *b:ale_go_staticcheck_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-graphql.txt ================================================ =============================================================================== ALE GraphQL Integration *ale-graphql-options* =============================================================================== eslint *ale-graphql-eslint* The `eslint` linter for GraphQL uses the JavaScript options for `eslint`; see: |ale-javascript-eslint|. You will need the GraphQL ESLint plugin installed for this to work. =============================================================================== gqlint *ale-graphql-gqlint* =============================================================================== prettier *ale-graphql-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-hack.txt ================================================ =============================================================================== ALE Hack Integration *ale-hack-options* *ale-integration-hack* HHAST is disabled by default, as it executes code in the project root. Currently linters must be enabled globally. HHAST can be enabled with: > let g:ale_linters = {'hack': ['hack', 'hhast']} < =============================================================================== hack *ale-hack-hack* g:ale_hack_hack_executable *g:ale_hack_hack_executable* *b:ale_hack_hack_executable* Type: |String| Default: `'hh_client'` This variable can be set to use a specific executable to interact with the Hack typechecker. =============================================================================== hackfmt *ale-hack-hackfmt* g:ale_hack_hackfmt_options *g:ale_hack_hackfmt_options* *b:ale_hack_hackfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the hackfmt fixer. =============================================================================== hhast *ale-hack-hhast* g:ale_hack_hhast_executable *g:ale_hack_hhast_executable* *b:ale_hack_hhast_executable* Type: |String| Default: `'vendor/bin/hhast-lint'` This variable can be set to use a specific executable to interact with the Hack typechecker. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-handlebars.txt ================================================ =============================================================================== ALE Handlebars Integration *ale-handlebars-options* =============================================================================== prettier *ale-handlebars-prettier* See |ale-javascript-prettier| for information about the available options. Uses glimmer parser by default. =============================================================================== ember-template-lint *ale-handlebars-embertemplatelint* g:ale_handlebars_embertemplatelint_executable *g:ale_handlebars_embertemplatelint_executable* *b:ale_handlebars_embertemplatelint_executable* Type: |String| Default: `'ember-template-lint'` See |ale-integrations-local-executables| g:ale_handlebars_embertemplatelint_use_global *g:ale_handlebars_embertemplatelint_use_global* *b:ale_handlebars_embertemplatelint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-haskell.txt ================================================ =============================================================================== ALE Haskell Integration *ale-haskell-options* =============================================================================== brittany *ale-haskell-brittany* g:ale_haskell_brittany_executable *g:ale_haskell_brittany_executable* *b:ale_haskell_brittany_executable* Type: |String| Default: `'brittany'` This variable can be changed to use a different executable for brittany. =============================================================================== cspell *ale-haskell-cspell* See |ale-cspell-options| =============================================================================== floskell *ale-haskell-floskell* g:ale_haskell_floskell_executable *g:ale_haskell_floskell_executable* *b:ale_haskell_floskell_executable* Type: |String| Default: `'floskell'` This variable can be changed to use a different executable for floskell. =============================================================================== ghc *ale-haskell-ghc* g:ale_haskell_ghc_options *g:ale_haskell_ghc_options* *b:ale_haskell_ghc_options* Type: |String| Default: `'-fno-code -v0'` This variable can be changed to modify flags given to ghc. =============================================================================== ghc-mod *ale-haskell-ghc-mod* g:ale_haskell_ghc_mod_executable *g:ale_haskell_ghc_mod_executable* *b:ale_haskell_ghc_mod_executable* Type: |String| Default: `'ghc-mod'` This variable can be changed to use a different executable for ghc-mod. =============================================================================== cabal-ghc *ale-haskell-cabal-ghc* g:ale_haskell_cabal_ghc_options *g:ale_haskell_cabal_ghc_options* *b:ale_haskell_cabal_ghc_options* Type: |String| Default: `'-fno-code -v0'` This variable can be changed to modify flags given to ghc through cabal exec. =============================================================================== hdevtools *ale-haskell-hdevtools* g:ale_haskell_hdevtools_executable *g:ale_haskell_hdevtools_executable* *b:ale_haskell_hdevtools_executable* Type: |String| Default: `'hdevtools'` This variable can be changed to use a different executable for hdevtools. g:ale_haskell_hdevtools_options *g:ale_haskell_hdevtools_options* *b:ale_haskell_hdevtools_options* Type: |String| Default: `get(g:, 'hdevtools_options', '-g -Wall')` This variable can be changed to modify flags given to hdevtools. The hdevtools documentation recommends setting GHC options for `hdevtools` with `g:hdevtools_options`. ALE will use the value of `g:hdevtools_options` for the value of `g:ale_haskell_hdevtools_options` by default, so this option can be respected and overridden specifically for ALE. =============================================================================== hfmt *ale-haskell-hfmt* g:ale_haskell_hfmt_executable *g:ale_haskell_hfmt_executable* *b:ale_haskell_hfmt_executable* Type: |String| Default: `'hfmt'` This variable can be changed to use a different executable for hfmt. =============================================================================== hindent *ale-haskell-hindent* g:ale_haskell_hindent_executable *g:ale_haskell_hindent_executable* *b:ale_haskell_hindent_executable* Type: |String| Default: `'hindent'` This variable can be changed to use a different executable for hindent. =============================================================================== hlint *ale-haskell-hlint* g:ale_haskell_hlint_executable *g:ale_haskell_hlint_executable* *b:ale_haskell_hlint_executable* Type: |String| Default: `'hlint'` This variable can be changed to use a different executable for hlint. g:ale_haskell_hlint_options g:ale_haskell_hlint_options b:ale_haskell_hlint_options Type: |String| Default: `''` This variable can be used to pass extra options to the underlying hlint executable. =============================================================================== hls *ale-haskell-hls* g:ale_haskell_hls_executable *g:ale_haskell_hls_executable* *b:ale_haskell_hls_executable* Type: |String| Default: `'haskell-language-server-wrapper'` This variable can be changed to use a different executable for the haskell language server. g:ale_haskell_hls_config *g:ale_haskell_hls_config* *b:ale_haskell_hls_config* Type: |Dictionary| Default: `{}` Dictionary with configuration settings for HLS. For example, to see more completions: > let g:ale_haskell_hls_config = {'haskell': {'maxCompletions': 250}} < Refer to HLS documentation for possible settings: https://haskell-language-server.readthedocs.io/en/latest/configuration.html#language-specific-server-options =============================================================================== stack-build *ale-haskell-stack-build* g:ale_haskell_stack_build_options *g:ale_haskell_stack_build_options* *b:ale_haskell_stack_build_options* Type: |String| Default: `'--fast'` We default to using `'--fast'`. Since Stack generates binaries, your programs will be slower unless you separately rebuild them outside of ALE. =============================================================================== stack-ghc *ale-haskell-stack-ghc* g:ale_haskell_stack_ghc_options *g:ale_haskell_stack_ghc_options* *b:ale_haskell_stack_ghc_options* Type: |String| Default: `'-fno-code -v0'` This variable can be changed to modify flags given to ghc through `stack ghc` =============================================================================== stylish-haskell *ale-haskell-stylish-haskell* g:ale_haskell_stylish_haskell_executable *g:ale_haskell_stylish_haskell_executable* *b:ale_haskell_stylish_haskell_executable* Type: |String| Default: `'stylish-haskell'` This variable can be changed to use a different executable for stylish-haskell. =============================================================================== hie *ale-haskell-hie* g:ale_haskell_hie_executable *g:ale_haskell_hie_executable* *b:ale_haskell_hie_executable* Type: |String| Default: `'hie'` This variable can be changed to use a different executable for the haskell ide engine. i.e. `'hie-wrapper'` =============================================================================== ormolu *ale-haskell-ormolu* g:ale_haskell_ormolu_executable *g:ale_haskell_ormolu_executable* *b:ale_haskell_ormolu_executable* Type: |String| Default: `'ormolu'` This variable can be changed to use a different executable for ormolu. g:ale_haskell_ormolu_options *g:ale_haskell_ormolu_options* *b:ale_haskell_ormolu_options* Type: |String| Default: `''` This variable can be used to pass extra options to the underlying ormolu executable. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-hcl.txt ================================================ =============================================================================== ALE HCL Integration *ale-hcl-options* =============================================================================== packer-fmt *ale-hcl-packer-fmt* See |ale-packer-fmt-fixer| for information about the available options. =============================================================================== terraform-fmt *ale-hcl-terraform-fmt* See |ale-terraform-fmt-fixer| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-help.txt ================================================ =============================================================================== ALE Help Integration *ale-help-options* =============================================================================== cspell *ale-help-cspell* See |ale-cspell-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-html.txt ================================================ =============================================================================== ALE HTML Integration *ale-html-options* =============================================================================== angular *ale-html-angular* ALE supports language server features for Angular. You can install it via `npm`: > $ npm install --save-dev @angular/language-server < Angular 11 and up are supported. g:ale_html_angular_executable *g:ale_html_angular_executable* *b:ale_html_angular_executable* Type: |String| Default: `'ngserver'` See |ale-integrations-local-executables| g:ale_html_angular_use_global *g:ale_html_angular_use_global* *b:ale_html_angular_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== cspell *ale-html-cspell* See |ale-cspell-options| =============================================================================== fecs *ale-html-fecs* `fecs` options for HTML are the same as the options for JavaScript, and both of them read `./.fecsrc` as the default configuration file. See: |ale-javascript-fecs|. =============================================================================== html-beautify *ale-html-beautify* g:ale_html_beautify_executable *g:ale_html_beautify_executable* *b:ale_html_beautify_executable* Type: |String| Default: `'html-beautify'` See |ale-integrations-local-executables| g:ale_html_beautify_options *g:ale_html_beautify_options* *b:ale_html_beautify_options* Type: |String| Default: `''` This variable can be changed to modify flags given to html-beautify. g:ale_html_beautify_use_global *g:ale_html_beautify_use_global* *b:ale_html_beautify_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== htmlhint *ale-html-htmlhint* g:ale_html_htmlhint_executable *g:ale_html_htmlhint_executable* *b:ale_html_htmlhint_executable* Type: |String| Default: `'htmlhint'` See |ale-integrations-local-executables| g:ale_html_htmlhint_options *g:ale_html_htmlhint_options* *b:ale_html_htmlhint_options* Type: |String| Default: `''` This variable can be changed to modify flags given to HTMLHint. g:ale_html_htmlhint_use_global *g:ale_html_htmlhint_use_global* *b:ale_html_htmlhint_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== prettier *ale-html-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== stylelint *ale-html-stylelint* g:ale_html_stylelint_executable *g:ale_html_stylelint_executable* *b:ale_html_stylelint_executable* Type: |String| Default: `'stylelint'` See |ale-integrations-local-executables| g:ale_html_stylelint_options *g:ale_html_stylelint_options* *b:ale_html_stylelint_options* Type: |String| Default: `''` This variable can be set to pass additional options to stylelint. g:ale_html_stylelint_use_global *g:ale_html_stylelint_use_global* *b:ale_html_stylelint_use_global* Type: |String| Default: `0` See |ale-integrations-local-executables| =============================================================================== tidy *ale-html-tidy* `tidy` is a console application which corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards. Note: `/usr/bin/tidy` on macOS (installed by default) is too old. It was released on 31 Oct 2006. It does not consider modern HTML specs (HTML5) and shows outdated warnings. So |ale| ignores `/usr/bin/tidy` on macOS. To use `tidy` on macOS, please install the latest version with Homebrew: > $ brew install tidy-html5 < `/usr/local/bin/tidy` is installed. g:ale_html_tidy_executable *g:ale_html_tidy_executable* *b:ale_html_tidy_executable* Type: |String| Default: `'tidy'` This variable can be changed to change the path to tidy. g:ale_html_tidy_options *g:ale_html_tidy_options* *b:ale_html_tidy_options* Type: |String| Default: `'-q -e -language en'` This variable can be changed to change the arguments provided to the executable. ALE will attempt to automatically detect the appropriate file encoding to provide to html-tidy, and fall back to UTF-8 when encoding detection fails. The recognized file encodings are as follows: ascii, big5, cp1252 (win1252), cp850 (ibm858), cp932 (shiftjis), iso-2022-jp (iso-2022), latin1, macroman (mac), sjis (shiftjis), utf-16le, utf-16, utf-8 g:ale_html_tidy_use_global *g:html_tidy_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vscodehtml *ale-html-vscode* Website: https://github.com/hrsh7th/vscode-langservers-extracted Installation ------------------------------------------------------------------------------- Install VSCode html language server either globally or locally: > npm install -g vscode-langservers-extracted < =============================================================================== write-good *ale-html-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-idris.txt ================================================ =============================================================================== ALE Idris Integration *ale-idris-options* =============================================================================== idris *ale-idris-idris* g:ale_idris_idris_executable *g:ale_idris_idris_executable* *b:ale_idris_idris_executable* Type: |String| Default: `'idris'` This variable can be changed to change the path to idris. g:ale_idris_idris_options *g:ale_idris_idris_options* *b:ale_idris_idris_options* Type: |String| Default: `'--total --warnpartial --warnreach --warnipkg'` This variable can be changed to modify flags given to idris. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-ink.txt ================================================ =============================================================================== ALE Ink Integration *ale-ink-options* =============================================================================== ink-language-server *ale-ink-language-server* Ink Language Server (https://github.com/ephraim/ink-language-server) g:ale_ink_ls_executable g:ale_ink_ls_executable b:ale_ink_ls_executable Type: |String| Default: `'ink-language-server'` Ink language server executable. g:ale_ink_ls_initialization_options g:ale_ink_ls_initialization_options b:ale_ink_ls_initialization_options Type: |Dictionary| Default: `{}` Dictionary containing configuration settings that will be passed to the language server at startup. For certain platforms and certain story structures, the defaults will suffice. However, many projects will need to change these settings - see the ink-language-server website for more information. An example of setting non-default options: { \ 'ink': { \ 'mainStoryPath': 'init.ink', \ 'inklecateExecutablePath': '/usr/local/bin/inklecate', \ 'runThroughMono': v:false \ } \} =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-inko.txt ================================================ =============================================================================== ALE Inko Integration *ale-inko-options* *ale-integration-inko* =============================================================================== Integration Information Currently, the only supported linter for Inko is the Inko compiler itself. =============================================================================== inko *ale-inko-inko* g:ale_inko_inko_executable *g:ale_inko_inko_executable* *b:ale_inko_inko_executable* Type: |String| Default: `'inko'` This variable can be modified to change the executable path for `inko`. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-ispc.txt ================================================ =============================================================================== ALE ISPC Integration *ale-ispc-options* =============================================================================== ispc *ale-ispc-ispc* g:ale_ispc_ispc_executable *g:ale_ispc_ispc_executable* *b:ale_ispc_ispc_executable* Type: |String| Default: `'ispc'` This variable can be changed to use a different executable for ispc. g:ale_ispc_ispc_options *g:ale_ispc_ispc_options* *b:ale_ispc_ispc_options* Type: |String| Default: `''` This variable can be changed to modify flags given to ispc. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-java.txt ================================================ =============================================================================== ALE Java Integration *ale-java-options* =============================================================================== checkstyle *ale-java-checkstyle* g:ale_java_checkstyle_config *g:ale_java_checkstyle_config* *b:ale_java_checkstyle_config* Type: |String| Default: `'/google_checks.xml'` A path to a checkstyle configuration file. If a configuration file is specified with |g:ale_java_checkstyle_options|, it will be preferred over this setting. The path to the configuration file can be an absolute path or a relative path. ALE will search for the relative path in parent directories. g:ale_java_checkstyle_executable *g:ale_java_checkstyle_executable* *b:ale_java_checkstyle_executable* Type: |String| Default: `'checkstyle'` This variable can be changed to modify the executable used for checkstyle. g:ale_java_checkstyle_options *g:ale_java_checkstyle_options* *b:ale_java_checkstyle_options* Type: |String| Default: `''` This variable can be changed to modify flags given to checkstyle. If a configuration file is specified with `-c`, it will be used instead of configuration files set with |g:ale_java_checkstyle_config|. =============================================================================== clang-format *ale-java-clangformat* See |ale-c-clangformat| for information about the available options. Note that the C options are also used for Java. =============================================================================== cspell *ale-java-cspell* See |ale-cspell-options| =============================================================================== javac *ale-java-javac* g:ale_java_javac_classpath *g:ale_java_javac_classpath* *b:ale_java_javac_classpath* Type: |String| or |List| Default: `''` This variable can be set to change the global classpath for Java. g:ale_java_javac_executable *g:ale_java_javac_executable* *b:ale_java_javac_executable* Type: |String| Default: `'javac'` This variable can be set to change the executable path used for javac. g:ale_java_javac_options *g:ale_java_javac_options* *b:ale_java_javac_options* Type: |String| Default: `''` This variable can be set to pass additional options to javac. g:ale_java_javac_sourcepath *g:ale_java_javac_sourcepath* *b:ale_java_javac_sourcepath* Type: |String| or |List| Default: `''` This variable can set multiple source code paths, the source code path is a relative path (relative to the project root directory). Example: String type: Note that the unix system separator is a colon(`:`) window system is a semicolon(`;`). > let g:ale_java_javac_sourcepath = 'build/gen/source/xx/main:build/gen/source' < List type: > let g:ale_java_javac_sourcepath = [ \ 'build/generated/source/querydsl/main', \ 'target/generated-sources/source/querydsl/main' \ ] < =============================================================================== google-java-format *ale-java-google-java-format* g:ale_java_google_java_format_executable *g:ale_java_google_java_format_executable* *b:ale_java_google_java_format_executable* Type: |String| Default: `'google-java-format'` See |ale-integrations-local-executables| g:ale_java_google_java_format_options *g:ale_java_google_java_format_options* *b:ale_java_google_java_format_options* Type: |String| Default: `''` This variable can be set to pass additional options =============================================================================== pmd *ale-java-pmd* g:ale_java_pmd_options *g:ale_java_pmd_options* *b:ale_java_pmd_options* Type: |String| Default: `'-R category/java/bestpractices'` This variable can be changed to modify flags given to PMD. Do not specify -f and -d. They are added automatically. =============================================================================== javalsp *ale-java-javalsp* To enable Java LSP linter you need to download and build the vscode-javac language server from https://github.com/georgewfraser/java-language-server. Before building the language server you need to install pre-requisites: npm, maven, and protobuf. You also need to have Java 13 and JAVA_HOME properly set. After downloading the source code and installing all pre-requisites you can build the language server with the included build.sh script: scripts/build.sh This will create launch scripts for Linux, Mac, and Windows in the dist folder within the repo: - lang_server_linux.sh - lang_server_mac.sh - lang_server_windows.sh To let ALE use this language server you need to set the g:ale_java_javalsp_executable variable to the absolute path of the launcher executable for your platform. g:ale_java_javalsp_executable *g:ale_java_javalsp_executable* *b:ale_java_javalsp_executable* Type: |String| Default: `''` This variable must be set to the absolute path of the language server launcher executable. For example: > let g:ale_java_javalsp_executable=/java-language-server/dist/lang_server_linux.sh < g:ale_java_javalsp_config *g:ale_java_javalsp_config* *b:ale_java_javalsp_config* Type: |Dictionary| Default: `{}` The javalsp linter automatically detects external dependencies for Maven and Gradle projects. In case the javalsp fails to detect some of them, you can specify them setting a dictionary to |g:ale_java_javalsp_config| variable. > let g:ale_java_javalsp_config = \ { \ 'java': { \ 'externalDependencies': [ \ 'junit:junit:jar:4.12:test', " Maven format \ 'junit:junit:4.1' " Gradle format \ ], \ 'classPath': [ \ 'lib/some-dependency.jar', \ '/android-sdk/platforms/android-28.jar' \ ] \ } \ } The Java language server will look for the dependencies you specify in `externalDependencies` array in your Maven and Gradle caches ~/.m2 and ~/.gradle. =============================================================================== eclipselsp *ale-java-eclipselsp* To enable Eclipse JDT LSP linter you need to clone and build the eclipse.jdt.ls language server from https://github.com/eclipse/eclipse.jdt.ls. Simply clone the source code repo and then build the plugin: ./mvnw clean verify Note: currently, the build can only run when launched with JDK 11. More recent versions can be used to run the server though. After build completes the files required to run the language server will be located inside the repository folder `eclipse.jdt.ls`. Please ensure to set |g:ale_java_eclipselsp_path| to the absolute path of that folder. You could customize compiler options and code assists of the server. Under your project folder, modify the file `.settings/org.eclipse.jdt.core.prefs` with options presented at https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/JavaCore.html. g:ale_java_eclipselsp_path *g:ale_java_eclipselsp_path* *b:ale_java_eclipselsp_path* Type: |String| Default: `'$HOME/eclipse.jdt.ls'` Absolute path to the location of the eclipse.jdt.ls repository folder. Or if you have VSCode extension installed the absolute path to the VSCode extensions folder (e.g. $HOME/.vscode/extensions/redhat.java-0.4x.0 in Linux). g:ale_java_eclipselsp_executable *g:ale_java_eclipse_executable* *b:ale_java_eclipse_executable* Type: |String| Default: `'java'` This variable can be set to change the executable path used for java. g:ale_java_eclipselsp_config_path *g:ale_java_eclipse_config_path* *b:ale_java_eclipse_config_path* Type: |String| Default: `''` Set this variable to change the configuration directory path used by eclipselsp (e.g. `$HOME/.jdtls` in Linux). By default ALE will attempt to use the configuration within the installation directory. This setting is particularly useful when eclipselsp is installed in a non-writable directory like `/usr/share/java/jdtls`, as is the case when installed via system package. g:ale_java_eclipselsp_workspace_path *g:ale_java_eclipselsp_workspace_path* *b:ale_java_eclipselsp_workspace_path* Type: |String| Default: `''` If you have Eclipse installed is good idea to set this variable to the absolute path of the Eclipse workspace. If not set this value will be set to the parent folder of the project root. g:ale_java_eclipselsp_javaagent *g:ale_java_eclipselsp_javaagent* *b:ale_java_eclipselsp_javaagent* Type: |String| Default: `''` A variable to add java agent for annotation processing such as Lombok. If you have multiple java agent files, use space to separate them. For example: > let g:ale_java_eclipselsp_javaagent='/eclipse/lombok.jar /eclipse/jacoco.jar' < =============================================================================== uncrustify *ale-java-uncrustify* See |ale-c-uncrustify| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-javascript.txt ================================================ =============================================================================== ALE JavaScript Integration *ale-javascript-options* *ale-eslint-nested-configuration-files* For fixing files with ESLint, nested configuration files with `root: false` are not supported. This is because ALE fixes files by writing the contents of buffers to temporary files, and then explicitly sets the configuration file. Configuration files which are set explicitly must be root configuration files. If you are using nested configuration files, you should restructure your project so your configuration files use `extends` instead. See the ESLint documentation here: http://eslint.org/docs/user-guide/configuring#extending-configuration-files You should change the structure of your project from this: > /path/foo/.eslintrc.js # root: true /path/foo/bar/.eslintrc.js # root: false < To this: > /path/foo/.base-eslintrc.js # Base configuration here /path/foo/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] /path/foo/bar/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] < =============================================================================== clang-format *ale-javascript-clangformat* See |ale-c-clangformat| for information about the available options. Note that the C options are also used for JavaScript. =============================================================================== cspell *ale-javascript-cspell* See |ale-cspell-options| =============================================================================== deno *ale-javascript-deno* Check the docs over at |ale-typescript-deno|. =============================================================================== dprint *ale-javascript-dprint* See |ale-dprint-options| and https://dprint.dev/plugins/typescript =============================================================================== eslint *ale-javascript-eslint* g:ale_javascript_eslint_executable *g:ale_javascript_eslint_executable* *b:ale_javascript_eslint_executable* Type: |String| Default: `'eslint'` See |ale-integrations-local-executables| g:ale_javascript_eslint_options *g:ale_javascript_eslint_options* *b:ale_javascript_eslint_options* Type: |String| Default: `''` This variable can be set to pass additional options to eslint. g:ale_javascript_eslint_use_global *g:ale_javascript_eslint_use_global* *b:ale_javascript_eslint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_javascript_eslint_suppress_eslintignore *g:ale_javascript_eslint_suppress_eslintignore* *b:ale_javascript_eslint_suppress_eslintignore* Type: |Number| Default: `0` This variable can be set to `1` to disable warnings for files being ignored by eslint. g:ale_javascript_eslint_suppress_missing_config *g:ale_javascript_eslint_suppress_missing_config* *b:ale_javascript_eslint_suppress_missing_config* Type: |Number| Default: `0` This variable can be set to `1` to disable errors for missing eslint configuration files. When turning this option on, eslint will not report any problems when no configuration files are found. =============================================================================== fecs *ale-javascript-fecs* `fecs` is a lint tool for HTML/CSS/JavaScript, can be installed via: `$ npm install --save-dev fecs` And the configuration file is located at `./fecsrc`, see http://fecs.baidu.com for more options. g:ale_javascript_fecs_executable *g:ale_javascript_fecs_executable* *b:ale_javascript_fecs_executable* Type: |String| Default: `'fecs'` See |ale-integrations-local-executables| g:ale_javascript_fecs_use_global *g:ale_javascript_fecs_use_global* *b:ale_javascript_fecs_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== flow *ale-javascript-flow* g:ale_javascript_flow_executable *g:ale_javascript_flow_executable* *b:ale_javascript_flow_executable* Type: |String| Default: `'flow'` See |ale-integrations-local-executables| g:ale_javascript_flow_use_home_config *g:ale_javascript_flow_use_home_config* *b:ale_javascript_flow_use_home_config* Type: |Number| Default: `0` When set to `1`, ALE will allow Flow to be executed with configuration files from your home directory. ALE will not run Flow with home directory configuration files by default, as doing so can lead to Vim consuming all of your RAM and CPU power. g:ale_javascript_flow_use_global *g:ale_javascript_flow_use_global* *b:ale_javascript_flow_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_javascript_flow_use_respect_pragma *g:ale_javascript_flow_use_respect_pragma* *b:ale_javascript_flow_use_respect_pragma* Type: |Number| Default: `1` By default, ALE will use the `--respect-pragma` option for `flow`, so only files with the `@flow` pragma are checked by ALE. This option can be set to `0` to disable that behavior, so all files can be checked by `flow`. =============================================================================== importjs *ale-javascript-importjs* g:ale_javascript_importjs_executable *g:ale_javascript_importjs_executable* *b:ale_javascript_importjs_executable* Type: |String| Default: `'importjs'` =============================================================================== jscs *ale-javascript-jscs* g:ale_javascript_jscs_executable *g:ale_javascript_jscs_executable* *b:ale_javascript_jscs_executable* Type: |String| Default: `'jscs'` See |ale-integrations-local-executables| g:ale_javascript_jscs_use_global *g:ale_javascript_jscs_use_global* *b:ale_javascript_jscs_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== jshint *ale-javascript-jshint* g:ale_javascript_jshint_executable *g:ale_javascript_jshint_executable* *b:ale_javascript_jshint_executable* Type: |String| Default: `'jshint'` See |ale-integrations-local-executables| g:ale_javascript_jshint_use_global *g:ale_javascript_jshint_use_global* *b:ale_javascript_jshint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== prettier *ale-javascript-prettier* g:ale_javascript_prettier_executable *g:ale_javascript_prettier_executable* *b:ale_javascript_prettier_executable* Type: |String| Default: `'prettier'` See |ale-integrations-local-executables| g:ale_javascript_prettier_options *g:ale_javascript_prettier_options* *b:ale_javascript_prettier_options* Type: |String| Default: `''` This variable can be set to pass additional options to prettier. g:ale_javascript_prettier_use_global *g:ale_javascript_prettier_use_global* *b:ale_javascript_prettier_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== prettier-eslint *ale-javascript-prettier-eslint* g:ale_javascript_prettier_eslint_executable *g:ale_javascript_prettier_eslint_executable* *b:ale_javascript_prettier_eslint_executable* Type: |String| Default: `'prettier-eslint'` See |ale-integrations-local-executables| g:ale_javascript_prettier_eslint_options *g:ale_javascript_prettier_eslint_options* *b:ale_javascript_prettier_eslint_options* Type: |String| Default: `''` This variable can be set to pass additional options to prettier-eslint. g:ale_javascript_prettier_eslint_use_global *g:ale_javascript_prettier_eslint_use_global* *b:ale_javascript_prettier_eslint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== prettier-standard *ale-javascript-prettier-standard* g:ale_javascript_prettier_standard_executable *g:ale_javascript_prettier_standard_executable* *b:ale_javascript_prettier_standard_executable* Type: |String| Default: `'prettier-standard'` See |ale-integrations-local-executables| g:ale_javascript_prettier_standard_options *g:ale_javascript_prettier_standard_options* *b:ale_javascript_prettier_standard_options* Type: |String| Default: `''` This variable can be set to pass additional options to prettier-standard. g:ale_javascript_prettier_standard_use_global *g:ale_javascript_prettier_standard_use_global* *b:ale_javascript_prettier_standard_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== standard *ale-javascript-standard* g:ale_javascript_standard_executable *g:ale_javascript_standard_executable* *b:ale_javascript_standard_executable* Type: |String| Default: `'standard'` See |ale-integrations-local-executables| g:ale_javascript_standard_options *g:ale_javascript_standard_options* *b:ale_javascript_standard_options* Type: |String| Default: `''` This variable can be set to pass additional options to standard. g:ale_javascript_standard_use_global *g:ale_javascript_standard_use_global* *b:ale_javascript_standard_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== xo *ale-javascript-xo* g:ale_javascript_xo_executable *g:ale_javascript_xo_executable* *b:ale_javascript_xo_executable* Type: |String| Default: `'xo'` See |ale-integrations-local-executables| g:ale_javascript_xo_options *g:ale_javascript_xo_options* *b:ale_javascript_xo_options* Type: |String| Default: `''` This variable can be set to pass additional options to xo. g:ale_javascript_xo_use_global *g:ale_javascript_xo_use_global* *b:ale_javascript_xo_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-json.txt ================================================ =============================================================================== ALE JSON Integration *ale-json-options* =============================================================================== clang-format *ale-json-clangformat* See |ale-c-clangformat| for information about the available options. Note that the C options are also used for JSON. =============================================================================== cspell *ale-json-cspell* See |ale-cspell-options| =============================================================================== dprint *ale-json-dprint* See |ale-dprint-options| and https://dprint.dev/plugins/json =============================================================================== eslint *ale-json-eslint* The `eslint` linter for JSON uses the JavaScript options for `eslint`; see: |ale-javascript-eslint|. You will need a JSON ESLint plugin installed for this to work. =============================================================================== fixjson *ale-json-fixjson* fixjson is a JSON file fixer/formatter for humans using (relaxed) JSON5. It provides: - Pretty-prints JSON input - Fixes various failures while humans writing JSON - Fixes trailing commas objects or arrays - Fixes missing commas for elements of objects or arrays - Adds quotes to keys in objects - Newlines in strings - Hex numbers - Fixes single quotes to double quotes You can install it using npm: > $ npm install -g fixjson < ALE provides fixjson integration as a fixer. See |ale-fix|. g:ale_json_fixjson_executable *g:ale_json_fixjson_executable* *b:ale_json_fixjson_executable* Type: |String| Default: `'fixjson'` The executable that will be run for fixjson. g:ale_json_fixjson_options *g:ale_json_fixjson_options* *b:ale_json_fixjson_options* Type: |String| Default: `''` This variable can add extra options to the command executed for running fixjson. g:ale_json_fixjson_use_global *g:ale_json_fixjson_use_global* *b:ale_json_fixjson_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== jsonlint *ale-json-jsonlint* g:ale_json_jsonlint_executable *g:ale_json_jsonlint_executable* *b:ale_json_jsonlint_executable* Type: |String| Default: `'jsonlint'` The executable that will be run for jsonlint. g:ale_json_jsonlint_use_global *g:ale_json_jsonlint_use_global* *b:ale_json_jsonlint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== jq *ale-json-jq* g:ale_json_jq_executable *g:ale_json_jq_executable* *b:ale_json_jq_executable* Type: |String| Default: `'jq'` This option can be changed to change the path for `jq`. g:ale_json_jq_options *g:ale_json_jq_options* *b:ale_json_jq_options* Type: |String| Default: `''` This option can be changed to pass extra options to `jq`. g:ale_json_jq_filters *g:ale_json_jq_filters* *b:ale_json_jq_filters* Type: |String| Default: `'.'` This option can be changed to pass custom filters to `jq`. =============================================================================== prettier *ale-json-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== spectral *ale-json-spectral* Website: https://github.com/stoplightio/spectral Installation ------------------------------------------------------------------------------- Install spectral either globally or locally: > npm install @stoplight/spectral -g # global npm install @stoplight/spectral # local < Options ------------------------------------------------------------------------------- g:ale_json_spectral_executable *g:ale_json_spectral_executable* *b:ale_json_spectral_executable* Type: |String| Default: `'spectral'` This variable can be set to change the path to spectral. g:ale_json_spectral_use_global *g:ale_json_spectral_use_global* *b:ale_json_spectral_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vscodejson *ale-json-vscode* Website: https://github.com/hrsh7th/vscode-langservers-extracted Installation ------------------------------------------------------------------------------- Install VSCode json language server either globally or locally: > npm install -g vscode-langservers-extracted < =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-json5.txt ================================================ =============================================================================== ALE JSON5 Integration *ale-json5-options* =============================================================================== eslint *ale-json5-eslint* The `eslint` linter for JSON uses the JavaScript options for `eslint`; see: |ale-javascript-eslint|. You will need a JSON5 ESLint plugin installed for this to work. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-jsonc.txt ================================================ =============================================================================== ALE JSONC Integration *ale-jsonc-options* =============================================================================== eslint *ale-jsonc-eslint* The `eslint` linter for JSON uses the JavaScript options for `eslint`; see: |ale-javascript-eslint|. You will need a JSONC ESLint plugin installed for this to work. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-jsonnet.txt ================================================ =============================================================================== ALE Jsonnet Integration *ale-jsonnet-options* =============================================================================== jsonnetfmt *ale-jsonnet-jsonnetfmt* g:ale_jsonnet_jsonnetfmt_executable *g:ale_jsonnet_jsonnetfmt_executable* *b:ale_jsonnet_jsonnetfmt_executable* Type: |String| Default: `'jsonnetfmt'` This option can be changed to change the path for `jsonnetfmt`. g:ale_jsonnet_jsonnetfmt_options *g:ale_jsonnet_jsonnetfmt_options* *b:ale_jsonnet_jsonnetfmt_options* Type: |String| Default: `''` This option can be changed to pass extra options to `jsonnetfmt`. =============================================================================== jsonnet-lint *ale-jsonnet-jsonnet-lint* g:ale_jsonnet_jsonnet_lint_executable *g:ale_jsonnet_jsonnet_lint_executable* *b:ale_jsonnet_jsonnet_lint_executable* Type: |String| Default: `'jsonnet-lint'` This option can be changed to change the path for `jsonnet-lint`. g:ale_jsonnet_jsonnet_lint_options *g:ale_jsonnet_jsonnet_lint_options* *b:ale_jsonnet_jsonnet_lint_options* Type: |String| Default: `''` This option can be changed to pass extra options to `jsonnet-lint`. vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-julia.txt ================================================ =============================================================================== ALE Julia Integration *ale-julia-options* =============================================================================== languageserver *ale-julia-languageserver* To enable Julia LSP linter you need to install the LanguageServer.jl package within julia. g:ale_julia_executable *g:ale_julia_executable* *b:ale_julia_executable* Type: |String| Default: `'julia'` Path to the julia exetuable. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-kotlin.txt ================================================ =============================================================================== ALE Kotlin Integration *ale-kotlin-options* *ale-integration-kotlin* =============================================================================== Integration Information Make sure your setup has support for the kotlin file type. A filetype plugin can be found here: https://github.com/udalov/kotlin-vim Note: Make sure you have a working kotlin compiler =============================================================================== kotlinc *ale-kotlin-kotlinc* g:ale_kotlin_kotlinc_options *g:ale_kotlin_kotlinc_options* Type: |String| Default: `''` Additional options to pass to the kotlin compiler g:ale_kotlin_kotlinc_enable_config *g:ale_kotlin_kotlinc_enable_config* Type: |Number| Default: `0` Setting this variable to `1` tells the linter to load a configuration file. This should be set in your vimrc g:ale_kotlin_kotlinc_config_file *g:ale_kotlin_kotlinc_config_file* Type: |String| Default: `'.ale_kotlin_kotlinc_config'` Filename of the configuration file. This should be set in your vimrc g:ale_kotlin_kotlinc_classpath *g:ale_kotlin_kotlinc_classpath* Type: |String| Default: `''` A string containing the paths (separated by the appropriate path separator) of the source directories. g:ale_kotlin_kotlinc_sourcepath *g:ale_kotlin_kotlinc_sourcepath* Type: |String| Default: `''` A string containing the paths (separated by space) of the source directories. g:ale_kotlin_kotlinc_use_module_file *g:ale_kotlin_kotlinc_use_module_file* Type: |Number| Default: `0` This option indicates whether the linter should use a module file. It is off by default. g:ale_kotlin_kotlinc_module_filename *g:ale_kotlin_kotlinc_module_filename* Type: |String| Default: `'module.xml'` The filename of the module file that the linter should pass to the kotlin compiler. =============================================================================== ktlint *ale-kotlin-ktlint* g:ale_kotlin_ktlint_executable *g:ale_kotlin_ktlint_executable* Type: |String| Default: `''` The Ktlint executable. Posix-compliant shell scripts are the only executables that can be found on Ktlint's github release page. If you are not on such a system, your best bet will be to download the ktlint jar and set this option to something similar to `'java -jar /path/to/ktlint.jar'` g:ale_kotlin_ktlint_rulesets *g:ale_kotlin_ktlint_rulesets* Type: |List| of |String|s Default: `[]` This list should contain paths to ruleset jars and/or strings of maven artifact triples. Example: > let g:ale_kotlin_ktlint_rulesets = ['/path/to/custom-ruleset.jar', 'com.ktlint.rulesets:mycustomrule:1.0.0'] g:ale_kotlin_ktlint_options *g:ale_kotlin_ktlint_options* Type: |String| Default: `''` Additional options to pass to ktlint for both linting and fixing. Example: > let g:ale_kotlin_ktlint_options = '--android' =============================================================================== languageserver *ale-kotlin-languageserver* g:ale_kotlin_languageserver_executable *g:ale_kotlin_languageserver_executable* Type: |String| Default: `''` The kotlin-language-server executable. Executables are located inside the bin/ folder of the language server release. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-latex.txt ================================================ =============================================================================== ALE LaTeX Integration *ale-latex-options* =============================================================================== cspell *ale-latex-cspell* =============================================================================== write-good *ale-latex-write-good* See |ale-write-good-options| =============================================================================== textlint *ale-latex-textlint* See |ale-text-textlint| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-less.txt ================================================ =============================================================================== ALE Less Integration *ale-less-options* =============================================================================== lessc *ale-less-lessc* g:ale_less_lessc_executable *g:ale_less_lessc_executable* *b:ale_less_lessc_executable* Type: |String| Default: `'lessc'` See |ale-integrations-local-executables| g:ale_less_lessc_options *g:ale_less_lessc_options* *b:ale_less_lessc_options* Type: |String| Default: `''` This variable can be set to pass additional options to lessc. g:ale_less_lessc_use_global *g:ale_less_lessc_use_global* *b:ale_less_lessc_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== prettier *ale-less-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== stylelint *ale-less-stylelint* g:ale_less_stylelint_executable *g:ale_less_stylelint_executable* *b:ale_less_stylelint_executable* Type: |String| Default: `'stylelint'` See |ale-integrations-local-executables| g:ale_less_stylelint_options *g:ale_less_stylelint_options* *b:ale_less_stylelint_options* Type: |String| Default: `''` This variable can be set to pass additional options to stylelint. g:ale_less_stylelint_use_global *g:ale_less_stylelint_use_global* *b:ale_less_stylelint_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-llvm.txt ================================================ =============================================================================== ALE LLVM Integration *ale-llvm-options* =============================================================================== llc *ale-llvm-llc* g:ale_llvm_llc_executable *g:ale_llvm_llc_executable* *b:ale_llvm_llc_executable* Type: |String| Default: `"llc"` The command to use for checking. This variable is useful when llc command has suffix like "llc-5.0". =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-lua.txt ================================================ =============================================================================== ALE Lua Integration *ale-lua-options* =============================================================================== cspell *ale-lua-cspell* See |ale-cspell-options| =============================================================================== lua-format *ale-lua-lua-format* g:ale_lua_lua_format_executable *g:ale_lua_lua_format_executable* *b:ale_lua_lua_format_executable* Type: |String| Default: `'lua-format'` This variable can be changed to change the path to lua-format. g:ale_lua_lua_format_options *g:ale_lua_lua_format_options* *b:ale_lua_lua_format_options* Type: |String| Default: `''` This variable can be set to pass additional options to lua-format. =============================================================================== luac *ale-lua-luac* g:ale_lua_luac_executable *g:ale_lua_luac_executable* *b:ale_lua_luac_executable* Type: |String| Default: `'luac'` This variable can be changed to change the path to luac. =============================================================================== luacheck *ale-lua-luacheck* g:ale_lua_luacheck_executable *g:ale_lua_luacheck_executable* *b:ale_lua_luacheck_executable* Type: |String| Default: `'luacheck'` This variable can be changed to change the path to luacheck. g:ale_lua_luacheck_options *g:ale_lua_luacheck_options* *b:ale_lua_luacheck_options* Type: |String| Default: `''` This variable can be set to pass additional options to luacheck. =============================================================================== luafmt *ale-lua-luafmt* g:ale_lua_luafmt_executable *g:ale_lua_luafmt_executable* *b:ale_lua_luafmt_executable* Type: |String| Default: `'luafmt'` This variable can be set to use a different executable for luafmt. g:ale_lua_luafmt_options *g:ale_lua_luafmt_options* *b:ale_lua_luafmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the luafmt fixer. =============================================================================== selene *ale-lua-selene* g:ale_lua_selene_executable *g:ale_lua_selene_executable* *b:ale_lua_selene_executable* Type: |String| Default: `'selene'` This variable can be set to use a different executable for selene. g:ale_lua_selene_options *g:ale_lua_selene_options* *b:ale_lua_selene_options* Type: |String| Default: `''` This variable can be set to pass additional options to selene. =============================================================================== stylua *ale-lua-stylua* g:ale_lua_stylua_executable *g:ale_lua_stylua_executable* *b:ale_lua_stylua_executable* Type: |String| Default: `'stylua'` This variable can be set to use a different executable for stylua. g:ale_lua_stylua_options *g:ale_lua_stylua_options* *b:ale_lua_stylua_options* Type: |String| Default: `''` This variable can be set to pass additional options to the stylua fixer. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-make.txt ================================================ =============================================================================== ALE Make Integration *ale-make-options* =============================================================================== checkmake *ale-make-checkmake* g:ale_make_checkmake_config *g:ale_make_checkmake_config* *b:ale_make_checkmake_config* Type: |String| Default: `''` This variable can be used to set the `--config` option of checkmake command. if the value is empty, the checkmake command will not be invoked with the option. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-markdown.txt ================================================ =============================================================================== ALE Markdown Integration *ale-markdown-options* =============================================================================== cspell *ale-markdown-cspell* See |ale-cspell-options| =============================================================================== dprint *ale-markdown-dprint* See |ale-dprint-options| and https://dprint.dev/plugins/markdown =============================================================================== markdownlint *ale-markdown-markdownlint* g:ale_markdown_markdownlint_executable *g:ale_markdown_markdownlint_executable* *b:ale_markdown_markdownlint_executable* Type: |String| Default: `'markdownlint'` Override the invoked `markdownlint` binary. You can use other binaries such as `markdownlint-cli2`. g:ale_markdown_markdownlint_options *g:ale_markdown_markdownlint_options* *b:ale_markdown_markdownlint_options* Type: |String| Default: `''` This variable can be set to pass additional options to markdownlint. =============================================================================== mdl *ale-markdown-mdl* g:ale_markdown_mdl_executable *g:ale_markdown_mdl_executable* *b:ale_markdown_mdl_executable* Type: |String| Default: `'mdl'` Override the invoked mdl binary. This is useful for running mdl from binstubs or a bundle. g:ale_markdown_mdl_options *g:ale_markdown_mdl_options* *b:ale_markdown_mdl_options* Type: |String| Default: `''` This variable can be set to pass additional options to mdl. =============================================================================== pandoc *ale-markdown-pandoc* g:ale_markdown_pandoc_executable *g:ale_markdown_pandoc_executable* *b:ale_markdown_pandoc_executable* Type: |String| Default: `'pandoc'` This variable can be set to specify where to find the pandoc executable g:ale_markdown_pandoc_options *g:ale_markdown_pandoc_options* *b:ale_markdown_pandoc_options* Type: |String| Default: `'-f gfm -t gfm -s -'` This variable can be set to change the default options passed to pandoc =============================================================================== prettier *ale-markdown-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== remark-lint *ale-markdown-remark-lint* g:ale_markdown_remark_lint_executable *g:ale_markdown_remark_lint_executable* *b:ale_markdown_remark_lint_executable* Type: |String| Default: `'remark'` See |ale-integrations-local-executables| g:ale_markdown_remark_lint_options *g:ale_markdown_remark_lint_options* *b:ale_markdown_remark_lint_options* Type: |String| Default: `''` This variable can be set to pass additional options to remark-lint. g:ale_markdown_remark_lint_use_global *g:ale_markdown_remark_lint_use_global* *b:ale_markdown_remark_lint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== textlint *ale-markdown-textlint* See |ale-text-textlint| =============================================================================== write-good *ale-markdown-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-mercury.txt ================================================ =============================================================================== ALE Mercury Integration *ale-mercury-options* =============================================================================== mmc *ale-mercury-mmc* g:ale_mercury_mmc_executable *g:ale_mercury_mmc_executable* *b:ale_mercury_mmc_executable* Type: |String| Default: `'mmc'` This variable can be changed to use a different executable for mmc. g:ale_mercury_mmc_options *g:ale_mercury_mmc_options* *b:ale_mercury_mmc_options* Type: |String| Default: `'--make --output-compile-error-lines 100'` This variable can be set to pass additional options to mmc. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-nasm.txt ================================================ =============================================================================== ALE NASM Integration *ale-nasm-options* =============================================================================== nasm *ale-nasm-nasm* g:ale_nasm_nasm_executable *g:ale_nasm_nasm_executable* *b:ale_nasm_nasm_executable* Type: |String| Default `'nasm'` This variable can be changed to use different executable for NASM. g:ale_nasm_nasm_options *g:ale_nasm_nasm_options* *b:ale_nasm_nasm_options* Type: |String| Default: `''` This variable can be set to pass additional options to NASM. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-nim.txt ================================================ =============================================================================== ALE Nim Integration *ale-nim-options* =============================================================================== nimcheck *ale-nim-nimcheck* ALE does not provide additional configuration options for `nimcheck` at this point. =============================================================================== nimlsp *ale-nim-nimlsp* g:nim_nimlsp_nim_sources *g:nim_nimlsp_nim_sources* Type: |String| Default: `''` Sets the path to Nim source repository as the first argument to `nimlsp` command. =============================================================================== nimpretty *ale-nim-nimpretty* g:ale_nim_nimpretty_executable *g:ale_nim_nimpretty_executable* *b:ale_nim_nimpretty_executable* Type: |String| Default: `'nimpretty'` This variable can be changed to use a different executable for nimpretty. g:ale_nim_nimpretty_options *g:ale_nim_nimpretty_options* *b:ale_nim_nimpretty_options* Type: |String| Default: `'--maxLineLen:80'` This variable can be changed to modify flags given to nimpretty. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-nix.txt ================================================ =============================================================================== ALE Nix Integration *ale-nix-options* =============================================================================== nixfmt *ale-nix-nixfmt* g:ale_nix_nixfmt_executable *g:ale_nix_nixfmt_executable* *b:ale_nix_nixfmt_executable* Type: |String| Default: `'nixfmt'` This variable sets the executable used for nixfmt. g:ale_nix_nixfmt_options *g:ale_nix_nixfmt_options* *b:ale_nix_nixfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the nixfmt fixer. =============================================================================== nixpkgs-fmt *ale-nix-nixpkgs-fmt* g:ale_nix_nixpkgsfmt_executable *g:ale_nix_nixpkgsfmt_executable* *b:ale_nix_nixpkgsfmt_executable* Type: |String| Default: `'nixpkgs-fmt'` This variable sets executable used for nixpkgs-fmt. g:ale_nix_nixpkgsfmt_options *g:ale_nix_nixpkgsfmt_options* *b:ale_nix_nixpkgsfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the nixpkgs-fmt fixer. =============================================================================== statix *ale-nix-statix* g:ale_nix_statix_check_executable *g:ale_nix_statix_check_executable* *b:ale_nix_statix_check_executable* Type: |String| Default: `'statix'` This variable sets the executable used for statix when running it as a linter. g:ale_nix_statix_check_options *g:ale_nix_statix_check_options* *b:ale_nix_statix_check_options* Type: |String| Default: `''` This variable can be used to pass additional options to statix when running it as a linter. g:ale_nix_statix_fix_executable *g:ale_nix_fix_check_executable* *b:ale_nix_fix_check_executable* Type: |String| Default: `'statix'` This variable sets the executable used for statix when running it as a fixer. g:ale_nix_statix_fix_options *g:ale_nix_statix_fix_options* *b:ale_nix_statix_fix_options* Type: |String| Default: `''` This variable can be used to pass additional options to statix when running it as a fixer. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-nroff.txt ================================================ =============================================================================== ALE nroff Integration *ale-nroff-options* =============================================================================== write-good *ale-nroff-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-objc.txt ================================================ =============================================================================== ALE Objective-C Integration *ale-objc-options* =============================================================================== ccls *ale-objc-ccls* g:ale_objc_ccls_executable *g:ale_objc_ccls_executable* *b:ale_objc_ccls_executable* Type: |String| Default: `'ccls'` This variable can be changed to use a different executable for ccls. g:ale_objc_ccls_init_options *g:ale_objc_ccls_init_options* *b:ale_objc_ccls_init_options* Type: |Dictionary| Default: `{}` This variable can be changed to customize ccls initialization options. Example: > { \ 'cacheDirectory': '/tmp/ccls', \ 'cacheFormat': 'binary', \ 'diagnostics': { \ 'onOpen': 0, \ 'opChange': 1000, \ }, \ } < Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all available options and explanations. =============================================================================== clang *ale-objc-clang* g:ale_objc_clang_options *g:ale_objc_clang_options* *b:ale_objc_clang_options* Type: |String| Default: `'-std=c11 -Wall'` This variable can be changed to modify flags given to clang. =============================================================================== clang-format *ale-objc-clangformat* See |ale-c-clangformat| for information about the available options. Note that the C options are also used for Objective-C. =============================================================================== clangd *ale-objc-clangd* g:ale_objc_clangd_executable *g:ale_objc_clangd_executable* *b:ale_objc_clangd_executable* Type: |String| Default: `'clangd'` This variable can be changed to use a different executable for clangd. g:ale_objc_clangd_options *g:ale_objc_clangd_options* *b:ale_objc_clangd_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clangd. =============================================================================== uncrustify *ale-objc-uncrustify* See |ale-c-uncrustify| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-objcpp.txt ================================================ =============================================================================== ALE Objective-C++ Integration *ale-objcpp-options* =============================================================================== clang *ale-objcpp-clang* g:ale_objcpp_clang_options *g:ale_objcpp_clang_options* *b:ale_objcpp_clang_options* Type: |String| Default: `'-std=c++14 -Wall'` This variable can be changed to modify flags given to clang. =============================================================================== clangd *ale-objcpp-clangd* g:ale_objcpp_clangd_executable *g:ale_objcpp_clangd_executable* *b:ale_objcpp_clangd_executable* Type: |String| Default: `'clangd'` This variable can be changed to use a different executable for clangd. g:ale_objcpp_clangd_options *g:ale_objcpp_clangd_options* *b:ale_objcpp_clangd_options* Type: |String| Default: `''` This variable can be changed to modify flags given to clangd. =============================================================================== uncrustify *ale-objcpp-uncrustify* See |ale-c-uncrustify| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-ocaml.txt ================================================ =============================================================================== ALE OCaml Integration *ale-ocaml-options* =============================================================================== dune *ale-ocaml-dune* Dune is a build system for OCaml projects. The `dune format` command is supported for automatically formatting `dune` and `dune-project` files. g:ale_ocaml_dune_executable *g:ale_ocaml_dune_executable* *b:ale_ocaml_dune_executable* Type: |String| Default: `'dune'` This variable can be set to pass the path to dune. g:ale_ocaml_dune_options *g:ale_ocaml_dune_options* *b:ale_ocaml_dune_options* Type: |String| Default: `''` This variable can be set to pass additional options to the dune fixer. =============================================================================== merlin *ale-ocaml-merlin* To use merlin linter for OCaml source code you need to make sure Merlin for Vim is correctly configured. See the corresponding Merlin wiki page for detailed instructions (https://github.com/the-lambda-church/merlin/wiki/vim-from-scratch). =============================================================================== ocamllsp *ale-ocaml-ocamllsp* The `ocaml-lsp-server` is the official OCaml implementation of the Language Server Protocol. See the installation instructions: https://github.com/ocaml/ocaml-lsp#installation g:ale_ocaml_ocamllsp_use_opam *g:ale_ocaml_ocamllsp_use_opam* *b:ale_ocaml_ocamllsp_use_opam* Type: |Number| Default: `get(g:, 'ale_ocaml_ocamllsp_use_opam', 1)` This variable can be set to change whether or not opam is used to execute the language server. =============================================================================== ols *ale-ocaml-ols* The `ocaml-language-server` is the engine that powers OCaml and ReasonML editor support using the Language Server Protocol. See the installation instructions: https://github.com/freebroccolo/ocaml-language-server#installation g:ale_ocaml_ols_executable *g:ale_ocaml_ols_executable* *b:ale_ocaml_ols_executable* Type: |String| Default: `'ocaml-language-server'` This variable can be set to change the executable path for `ols`. g:ale_ocaml_ols_use_global *g:ale_ocaml_ols_use_global* *b:ale_ocaml_ols_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` This variable can be set to `1` to always use the globally installed executable. See also |ale-integrations-local-executables|. =============================================================================== ocamlformat *ale-ocaml-ocamlformat* g:ale_ocaml_ocamlformat_executable *g:ale_ocaml_ocamlformat_executable* *b:ale_ocaml_ocamlformat_executable* Type: |String| Default: `'ocamlformat'` This variable can be set to pass the path of the ocamlformat fixer. g:ale_ocaml_ocamlformat_options *g:ale_ocaml_ocamlformat_options* *b:ale_ocaml_ocamlformat_options* Type: |String| Default: `''` This variable can be set to pass additional options to the ocamlformat fixer. =============================================================================== ocp-indent *ale-ocaml-ocp-indent* g:ale_ocaml_ocp_indent_executable *g:ale_ocaml_ocp_indent_executable* *b:ale_ocaml_ocp_indent_executable* Type: |String| Default: `ocp-indent` This variable can be set to pass the path of the ocp-indent. g:ale_ocaml_ocp_indent_options *g:ale_ocaml_ocp_indent_options* *b:ale_ocaml_ocp_indent_options* Type: |String| Default: `''` This variable can be set to pass additional options to the ocp-indent. g:ale_ocaml_ocp_indent_config *g:ale_ocaml_ocp_indent_config* *b:ale_ocaml_ocp_indent_config* Type: |String| Default: `''` This variable can be set to pass additional config to the ocp-indent. Expand after "--config=". "ocp-indent" can also be enabled from ocamlformat config. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-openapi.txt ================================================ =============================================================================== ALE OpenApi Integration *ale-openapi-options* =============================================================================== ibm_validator *ale-openapi-ibm-validator* Website: https://github.com/IBM/openapi-validator Installation ------------------------------------------------------------------------------- Install ibm-openapi-validator either globally or locally: > npm install ibm-openapi-validator -g # global npm install ibm-openapi-validator # local < Configuration ------------------------------------------------------------------------------- OpenAPI files can be written in YAML or JSON so in order for ALE plugins to work with these files we must set the buffer |filetype| to either |openapi.yaml| or |openapi.json| respectively. This causes ALE to lint the file with linters configured for openapi and yaml files or openapi and json files respectively. For example setting filetype to |openapi.yaml| on a buffer and the following |g:ale_linters| configuration will enable linting of openapi files using both |ibm_validator| and |yamlint|: > let g:ale_linters = { \ 'yaml': ['yamllint'], \ 'openapi': ['ibm_validator'] \} < The following plugin will detect openapi files automatically and set the filetype to |openapi.yaml| or |openapi.json|: https://github.com/hsanson/vim-openapi Options ------------------------------------------------------------------------------- g:ale_openapi_ibm_validator_executable *g:ale_openapi_ibm_validator_executable* *b:ale_openapi_ibm_validator_executable* Type: |String| Default: `'lint-openapi'` This variable can be set to change the path to lint-openapi. g:ale_openapi_ibm_validator_options *g:ale_openapi_ibm_validator_options* *b:ale_openapi_ibm_validator_options* Type: |String| Default: `''` This variable can be set to pass additional options to lint-openapi. =============================================================================== prettier *ale-openapi-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== yamllint *ale-openapi-yamllint* See |ale-yaml-yamllint| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-openscad.txt ================================================ =============================================================================== ALE OpenSCAD Integration *ale-openscad-options* =============================================================================== sca2d *ale-openscad-sca2d* g:ale_openscad_sca2d_executable *g:ale_openscad_sca2d_executable* *b:ale_openscad_sca2d_executable* Type: |String| Default: `'sca2d'` See |ale-integrations-local-executables| g:ale_openscad_sca2d_options *g:ale_openscad_sca2d_options* *b:ale_openscad_sca2d_options* Type: |String| Default: `''` This variable can be set to pass options to sca2d. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-packer.txt ================================================ =============================================================================== ALE Packer Integration *ale-packer-options* =============================================================================== packer-fmt-fixer *ale-packer-fmt-fixer* g:ale_packer_fmt_executable *g:ale_packer_fmt_executable* *b:ale_packer_fmt_executable* Type: |String| Default: `'packer'` This variable can be changed to use a different executable for packer. g:ale_packer_fmt_options *g:ale_packer_fmt_options* *b:ale_packer_fmt_options* Type: |String| Default: `''` =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-pascal.txt ================================================ =============================================================================== ALE Pascal Integration *ale-pascal-options* =============================================================================== ptop *ale-pascal-ptop* g:ale_pascal_ptop_executable *g:ale_pascal_ptop_executable* *b:ale_pascal_ptop_executable* Type: |String| Default: `'ptop'` This variable can be changed to specify the ptop executable. g:ale_pascal_ptop_options *g:ale_pascal_ptop_options* *b:ale_pascal_ptop_options* Type: |String| Default: `''` This variable can be set to pass additional options to the ptop fixer. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-pawn.txt ================================================ =============================================================================== ALE Pawn Integration *ale-pawn-options* =============================================================================== uncrustify *ale-pawn-uncrustify* See |ale-c-uncrustify| for information about the available options. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-perl.txt ================================================ =============================================================================== ALE Perl Integration *ale-perl-options* ALE offers a few ways to check Perl code. Checking code with `perl` is disabled by default, as `perl` code cannot be checked without executing it. Specifically, we use the `-c` flag to see if `perl` code compiles. This does not execute all of the code in a file, but it does run `BEGIN` and `CHECK` blocks. See `perl --help` and https://stackoverflow.com/a/12908487/406224 See |g:ale_linters|. =============================================================================== perl *ale-perl-perl* g:ale_perl_perl_executable *g:ale_perl_perl_executable* *b:ale_perl_perl_executable* Type: |String| Default: `'perl'` This variable can be changed to modify the executable used for linting perl. g:ale_perl_perl_options *g:ale_perl_perl_options* *b:ale_perl_perl_options* Type: |String| Default: `'-c -Mwarnings -Ilib'` This variable can be changed to alter the command-line arguments to the perl invocation. =============================================================================== perlcritic *ale-perl-perlcritic* g:ale_perl_perlcritic_executable *g:ale_perl_perlcritic_executable* *b:ale_perl_perlcritic_executable* Type: |String| Default: `'perlcritic'` This variable can be changed to modify the perlcritic executable used for linting perl. g:ale_perl_perlcritic_profile *g:ale_perl_perlcritic_profile* *b:ale_perl_perlcritic_profile* Type: |String| Default: `'.perlcriticrc'` This variable can be changed to modify the perlcritic profile used for linting perl. The current directory is checked for the file, then the parent directory, etc, until it finds one. If no matching file is found, no profile is passed to perlcritic. Set to an empty string to disable passing a specific profile to perlcritic with the `'--profile'` option. To prevent perlcritic from using any profile, set this variable to an empty string and pass `'--no-profile'`to perlcritic via the |g:ale_perl_perlcritic_options| variable. g:ale_perl_perlcritic_options *g:ale_perl_perlcritic_options* *b:ale_perl_perlcritic_options* Type: |String| Default: `''` This variable can be changed to supply additional command-line arguments to the perlcritic invocation. g:ale_perl_perlcritic_showrules *g:ale_perl_perlcritic_showrules* Type: |Number| Default: `0` Controls whether perlcritic rule names are shown after the error message. Defaults to off to reduce length of message. =============================================================================== perltidy *ale-perl-perltidy* g:ale_perl_perltidy_options *g:ale_perl_perltidy_options* *b:ale_perl_perltidy_options* Type: |String| Default: `''` This variable can be changed to alter the command-line arguments to the perltidy invocation. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-perl6.txt ================================================ =============================================================================== ALE Perl6 Integration *ale-perl6-options* Checking code with `perl6` is disabled by default, as `perl6` code cannot be checked without executing it. Specifically, we use the `-c` flag to see if `perl6` code compiles. This does not execute all of the code in a file, but it does run `BEGIN` and `CHECK` blocks. See `perl6 --help` Full support requires a perl6 implementation that supports the PERL6_EXCEPTIONS_HANDLER environment variable and JSON error output, which was specified in 6.d. Rakudo version 2018.08 is the first rakudo release that supports this. See `perl6 --version` and https://docs.perl6.org/programs/03-environment-variables. Without this variable, errors and warnings will appear at line 1, and can be viewed with ALEDetail. This also serves as a fallback for errors and warnings that do not trigger JSON output. See |g:ale_linters|. =============================================================================== perl6 *ale-perl6-perl6* g:ale_perl6_perl6_executable *g:ale_perl6_perl6_executable* *b:ale_perl6_perl6_executable* Type: |String| Default: `'perl6'` This variable can be changed to modify the executable used for linting perl6. g:ale_perl6_perl6_options *g:ale_perl6_perl6_options* *b:ale_perl6_perl6_options* Type: |String| Default: `'-c -Ilib'` This variable can be changed to alter the command-line arguments to the perl6 invocation. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-php.txt ================================================ =============================================================================== ALE PHP Integration *ale-php-options* =============================================================================== cspell *ale-php-cspell* See |ale-cspell-options| =============================================================================== langserver *ale-php-langserver* g:ale_php_langserver_executable *g:ale_php_langserver_executable* *b:ale_php_langserver_executable* Type: |String| Default: `'php-language-server.php'` The variable can be set to configure the executable that will be used for running the PHP language server. `vendor` directory executables will be preferred instead of this setting if |g:ale_php_langserver_use_global| is `0`. See: |ale-integrations-local-executables| g:ale_php_langserver_use_global *g:ale_php_langserver_use_global* *b:ale_php_langserver_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` This variable can be set to `1` to force the language server to be run with the executable set for |g:ale_php_langserver_executable|. See: |ale-integrations-local-executables| =============================================================================== phan *ale-php-phan* WARNING: please use the phan_client linter if you have an configuration file for your project because the phan will look into your entirely project and ale will display in the current buffer warnings that may belong to other file. g:ale_php_phan_minimum_severity *g:ale_php_phan_minimum_severity* *b:ale_php_phan_minimum_severity* Type: |Number| Default: `0` This variable defines the minimum severity level. g:ale_php_phan_executable *g:ale_php_phan_executable* *b:ale_php_phan_executable* Type: |String| Default: `'phan'` This variable sets executable used for phan or phan_client. g:ale_php_phan_use_client *g:ale_php_phan_use_client* *b:ale_php_phan_use_client* Type: |Number| Default: `get(g:, 'ale_php_phan_use_client', 0)` This variable can be set to 1 to use the phan_client with phan daemon mode instead of the phan standalone. =============================================================================== phpcbf *ale-php-phpcbf* g:ale_php_phpcbf_executable *g:ale_php_phpcbf_executable* *b:ale_php_phpcbf_executable* Type: |String| Default: `'phpcbf'` See |ale-integrations-local-executables| g:ale_php_phpcbf_standard *g:ale_php_phpcbf_standard* *b:ale_php_phpcbf_standard* Type: |String| Default: `''` This variable can be set to specify the coding standard used by phpcbf. If no coding standard is specified, phpcbf will default to fixing against the PEAR coding standard, or the standard you have set as the default. g:ale_php_phpcbf_use_global *g:ale_php_phpcbf_use_global* *b:ale_php_phpcbf_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_php_phpcbf_options *g:ale_php_phpcbf_options* *b:ale_php_phpcbf_options* Type: |String| Default: `''` This variable can be set to pass additional options to php-cbf =============================================================================== phpcs *ale-php-phpcs* g:ale_php_phpcs_executable *g:ale_php_phpcs_executable* *b:ale_php_phpcs_executable* Type: |String| Default: `'phpcs'` See |ale-integrations-local-executables| g:ale_php_phpcs_standard *g:ale_php_phpcs_standard* *b:ale_php_phpcs_standard* Type: |String| Default: `''` This variable can be set to specify the coding standard used by phpcs. If no coding standard is specified, phpcs will default to checking against the PEAR coding standard, or the standard you have set as the default. g:ale_php_phpcs_use_global *g:ale_php_phpcs_use_global* *b:ale_php_phpcs_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_php_phpcs_options *g:ale_php_phpcs_options* *b:ale_php_phpcs_options* Type: |String| Default: `''` This variable can be set to pass additional options to php-cs =============================================================================== phpmd *ale-php-phpmd* g:ale_php_phpmd_executable *g:ale_php_phpmd_executable* *b:ale_php_phpmd_executable* Type: |String| Default: `'phpmd'` This variable sets executable used for phpmd. g:ale_php_phpmd_ruleset *g:ale_php_phpmd_ruleset* *b:ale_php_phpmd_ruleset* Type: |String| Default: `'cleancode,codesize,controversial,design,naming,unusedcode'` This variable controls the ruleset used by phpmd. Default is to use all of the available phpmd rulesets =============================================================================== phpstan *ale-php-phpstan* g:ale_php_phpstan_executable *g:ale_php_phpstan_executable* *b:ale_php_phpstan_executable* Type: |String| Default: `'phpstan'` This variable sets executable used for phpstan. g:ale_php_phpstan_level *g:ale_php_phpstan_level* *b:ale_php_phpstan_level* Type: |String| Default: `''` This variable controls the rule levels. 0 is the loosest and 7 is the strictest. If this option isn't set, the rule level will be controlled by the configuration file. If no configuration file can be detected, `'7'` will be used instead. g:ale_php_phpstan_configuration *g:ale_php_phpstan_configuration* *b:ale_php_phpstan_configuration* Type: |String| Default: `''` This variable sets path to phpstan configuration file. g:ale_php_phpstan_autoload *g:ale_php_phpstan_autoload* *b:ale_php_phpstan_autoload* Type: |String| Default: `''` This variable sets path to phpstan autoload file. g:ale_php_phpstan_memory_limit *g:ale_php_phpstan_memory-limit* *b:ale_php_phpstan_memory-limit* Type: |String| Default: `''` This variable sets the memory limit for phpstan analysis. This is a string in the same format as `php.ini` accepts, e.g. `128M`, `1G`. =============================================================================== psalm *ale-php-psalm* g:ale_php_psalm_executable *g:ale_php_psalm_executable* *b:ale_php_psalm_executable* Type: |String| Default: `'psalm'` This variable sets the executable used for psalm. g:ale_php_psalm_options *g:ale_php_psalm_options* *b:ale_php_psalm_options* Type: |String| Default: `''` This variable can be set to pass additional options to psalm. g:ale_php_psalm_use_global *g:ale_php_psalm_use_global* *b:ale_php_psalm_use_global* Type: |Boolean| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== php-cs-fixer *ale-php-php-cs-fixer* g:ale_php_cs_fixer_executable *g:ale_php_cs_fixer_executable* *b:ale_php_cs_fixer_executable* Type: |String| Default: `'php-cs-fixer'` This variable sets executable used for php-cs-fixer. g:ale_php_cs_fixer_options *g:ale_php_cs_fixer_options* *b:ale_php_cs_fixer_options* Type: |String| Default: `''` This variable can be set to pass additional options to php-cs-fixer. g:ale_php_cs_fixer_use_global *g:ale_php_cs_fixer_use_global* *b:ale_php_cs_fixer_use_global* Type: |Boolean| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== php *ale-php-php* g:ale_php_php_executable *g:ale_php_php_executable* *b:ale_php_php_executable* Type: |String| Default: `'php'` This variable sets the executable used for php. =============================================================================== pint *ale-php-pint* g:ale_php_pint_executable *g:ale_php_pint_executable* *b:ale_php_pint_executable* Type: |String| Default: `'pint'` This variable sets the executable used for pint. g:ale_php_pint_options *g:ale_php_pint_options* *b:ale_php_pint_options* Type: |String| Default: `''` This variable can be set to pass additional options to pint. g:ale_php_pint_use_global *g:ale_php_pint_use_global* *b:ale_php_pint_use_global* Type: |Boolean| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== tlint *ale-php-tlint* g:ale_php_tlint_executable *g:ale_php_tlint_executable* *b:ale_php_tlint_executable* Type: |String| Default: `'tlint'` See |ale-integrations-local-executables| g:ale_php_tlint_use_global *g:ale_php_tlint_use_global* *b:ale_php_tlint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_php_tlint_options *g:ale_php_tlint_options* *b:ale_php_tlint_options* Type: |String| Default: `''` This variable can be set to pass additional options to tlint =============================================================================== intelephense *ale-php-intelephense* g:ale_php_intelephense_executable *g:ale_php_intelephense_executable* *b:ale_php_intelephense_executable* Type: |String| Default: `'intelephense'` The variable can be set to configure the executable that will be used for running the intelephense language server. `node_modules` directory executable will be preferred instead of this setting if |g:ale_php_intelephense_use_global| is `0`. See: |ale-integrations-local-executables| g:ale_php_intelephense_use_global *g:ale_php_intelephense_use_global* *b:ale_php_intelephense_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` This variable can be set to `1` to force the language server to be run with the executable set for |g:ale_php_intelephense_executable|. See: |ale-integrations-local-executables| g:ale_php_intelephense_config *g:ale_php_intelephense_config* *b:ale_php_intelephense_config* Type: |Dictionary| Default: `{}` The initialization options config specified by Intelephense. Refer to the installation docs provided by intelephense (github.com/bmewburn/intelephense -docs). =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-po.txt ================================================ =============================================================================== ALE PO Integration *ale-po-options* =============================================================================== write-good *ale-po-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-pod.txt ================================================ =============================================================================== ALE Pod Integration *ale-pod-options* =============================================================================== write-good *ale-pod-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-pony.txt ================================================ =============================================================================== ALE Pony Integration *ale-pony-options* =============================================================================== ponyc *ale-pony-ponyc* g:ale_pony_ponyc_executable *g:ale_pony_ponyc_executable* *b:ale_pony_ponyc_executable* Type: |String| Default: `'ponyc'` See |ale-integrations-local-executables| g:ale_pony_ponyc_options *g:ale_pony_ponyc_options* *b:ale_pony_ponyc_options* Type: |String| Default: `'--pass paint'` This variable can be set to pass options to ponyc. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-powershell.txt ================================================ =============================================================================== ALE PowerShell Integration *ale-powershell-options* =============================================================================== cspell *ale-powershell-cspell* See |ale-cspell-options| =============================================================================== powershell *ale-powershell-powershell* g:ale_powershell_powershell_executable *g:ale_powershell_powershell_executable* *b:ale_powershell_powershell_executable* Type: |String| Default: `'pwsh'` This variable can be changed to use a different executable for powershell. > " Use powershell.exe rather than the default pwsh let g:ale_powershell_powershell_executable = 'powershell.exe' > =============================================================================== psscriptanalyzer *ale-powershell-psscriptanalyzer* Installation ------------------------------------------------------------------------------- Install PSScriptAnalyzer by any means, so long as it can be automatically imported in PowerShell. g:ale_powershell_psscriptanalyzer_executable *g:ale_powershell_psscriptanalyzer_executable* *b:ale_powershell_psscriptanalyzer_executable* Type: |String| Default: `'pwsh'` This variable sets executable used for powershell. For example, on Windows you could set powershell to be Windows Powershell: > let g:ale_powershell_psscriptanalyzer_executable = 'powershell.exe' < g:ale_powershell_psscriptanalyzer_module *g:ale_powershell_psscriptanalyzer_module* *b:ale_powershell_psscriptanalyzer_module* Type: |String Default: `'psscriptanalyzer'` This variable sets the name of the psscriptanalyzer module. for psscriptanalyzer invocation. g:ale_powershell_psscriptanalyzer_exclusions *g:ale_powershell_psscriptanalyzer_exclusions* *b:ale_powershell_psscriptanalyzer_exclusions* Type: |String| Default: `''` Set this variable to exclude test(s) for psscriptanalyzer (-ExcludeRule option). To exclude more than one option, separate them with commas. > " Suppress Write-Host and Global vars warnings let g:ale_powershell_psscriptanalyzer_exclusions = \ 'PSAvoidUsingWriteHost,PSAvoidGlobalVars' < =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-prolog.txt ================================================ =============================================================================== ALE Prolog Integration *ale-prolog-options* =============================================================================== swipl *ale-prolog-swipl* g:ale_prolog_swipl_executable *g:ale_prolog_swipl_executable* *b:ale_prolog_swipl_executable* Type: |String| Default: `'swipl'` The executable that will be run for the `swipl` linter. g:ale_prolog_swipl_load *g:ale_prolog_swipl_load* *b:ale_prolog_swipl_load* Type: |String| Default: `'current_prolog_flag(argv, [File]), load_files(File, [sandboxed(true)]), halt.'` The prolog goals that will be passed to |g:ale_prolog_swipl_executable| with `-g` option. It does: 1. Takes the first command argument (current file path) 2. Checks (syntactic / semantic) problems and output to stderr NOTE: `sandboxed(true)` prohibits executing some directives such as 'initialization main'. g:ale_prolog_swipl_timeout *g:ale_prolog_swipl_timeout* *b:ale_prolog_swipl_timeout* Type: |Number| Default: `3` Timeout seconds to detect long-running linter. It is done by setting SIGALRM. See |g:ale_prolog_swipl_alarm| and |g:ale_prolog_swipl_alarm_handler|. g:ale_prolog_swipl_alarm *g:ale_prolog_swipl_alarm* *b:ale_prolog_swipl_alarm* Type: |String| Default: `'alarm(%t, (%h), _, [])'` The prolog goals to be expected to set SIGALRM. `%t` is replaced by |g:ale_prolog_swipl_timeout|. `%h` is replaced by |g:ale_prolog_swipl_alarm_handler|. g:ale_prolog_swipl_alarm_handler *g:ale_prolog_swipl_alarm_handler* *b:ale_prolog_swipl_alarm_handler* Type: |String| Default: `'writeln(user_error, "ERROR: Exceeded %t seconds, Please change g:prolog_swipl_timeout to modify the limit."), halt(1)'` The prolog goals to be expected that will be run on SIGALRM. `%t` is replaced by |g:ale_prolog_swipl_timeout|. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-proto.txt ================================================ =============================================================================== ALE Proto Integration *ale-proto-options* =============================================================================== Integration Information To enable `.proto` file linting, update |g:ale_linters| as appropriate: > " Enable linter for .proto files let g:ale_linters = {'proto': ['buf-lint', 'protoc-gen-lint', 'protolint']} < To enable `.proto` file fixing, update |g:ale_fixers| as appropriate: > " Enable linter for .proto files let b:ale_fixers = {'proto': ['buf-format', 'protolint']} < =============================================================================== buf-format *ale-proto-buf-format* The formatter uses `buf`, a fully-featured Protobuf compiler that doesn't depend on `protoc`. Make sure the `buf` binary is available in the system path, or set ale_proto_buf_format_executable. g:ale_proto_buf_format_executable *g:ale_proto_buf_format_executable* Type: |String| Default: `'buf'` This variable can be changed to modify the executable used for buf. =============================================================================== buf-lint *ale-proto-buf-lint* The linter uses `buf`, a fully-featured Protobuf compiler that doesn't depend on `protoc`. Make sure the `buf` binary is available in the system path, or set ale_proto_buf_lint_executable. g:ale_proto_buf_lint_executable *g:ale_proto_buf_lint_executable* Type: |String| Default: `'buf'` This variable can be changed to modify the executable used for buf. g:ale_proto_buf_lint_config *g:ale_proto_buf_lint_config* Type: |String| Default: `''` A path to a buf configuration file. The path to the configuration file can be an absolute path or a relative path. ALE will search for the relative path in parent directories. =============================================================================== clang-format *ale-proto-clangformat* See |ale-c-clangformat| for information about the available options. Note that the C options are also used for Proto. =============================================================================== protoc-gen-lint *ale-proto-protoc-gen-lint* The linter is a plugin for the `protoc` binary. As long as the binary resides in the system path, `protoc` will find it. g:ale_proto_protoc_gen_lint_options *g:ale_proto_protoc_gen_lint_options* Type: |String| Default: `''` This variable can be changed to modify flags given to protoc. Note that the directory of the linted file is always passed as an include path with '-I' before any user-supplied options. =============================================================================== protolint *ale-proto-protolint* The linter is a pluggable tool that doesn't depend on the `protoc` binary. This supports both linting and fixing. Make sure the binary is available in the system path, or set ale_proto_protolint_executable. Note that the binary with v0.22.0 or above is supported. g:ale_proto_protolint_executable *g:ale_proto_protolint_executable* Type: |String| Default: `'protolint'` This variable can be changed to modify the executable used for protolint. g:ale_proto_protolint_config *g:ale_proto_protolint_config* Type: |String| Default: `''` A path to a protolint configuration file. The path to the configuration file can be an absolute path or a relative path. ALE will search for the relative path in parent directories. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-pug.txt ================================================ =============================================================================== ALE Pug Integration *ale-pug-options* =============================================================================== puglint *ale-pug-puglint* The puglint linter will detect configuration files based on the path to the filename automatically. Configuration files will be loaded in this order: 1. `.pug-lintrc` 2. `.pug-lintrc.js` 3. `.pug-lintrc.json` 4. `package.json` You might need to create a configuration file for your project to get meaningful results. g:ale_pug_puglint_executable *g:ale_pug_puglint_executable* *b:ale_pug_puglint_executable* Type: |String| Default: `'pug-lint'` See |ale-integrations-local-executables| g:ale_pug_puglint_options *g:ale_pug_puglint_options* *b:ale_pug_puglint_options* Type: |String| Default: `''` This variable can be set to pass additional options to pug-lint. g:ale_pug_puglint_use_global *g:ale_pug_puglint_use_global* *b:ale_pug_puglint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-puppet.txt ================================================ =============================================================================== ALE Puppet Integration *ale-puppet-options* =============================================================================== puppet *ale-puppet-puppet* g:ale_puppet_puppet_executable *g:ale_puppet_puppet_executable* *b:ale_puppet_puppet_executable* Type: |String| Default: `'puppet'` This variable can be changed to specify the executable used for puppet. g:ale_puppet_puppet_options *g:ale_puppet_puppet_options* *b:ale_puppet_puppet_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the puppet parser validate invocation. =============================================================================== puppetlint *ale-puppet-puppetlint* g:ale_puppet_puppetlint_executable *g:ale_puppet_puppetlint_executable* *b:ale_puppet_puppetlint_executable* Type: |String| Default: `'puppet-lint'` This variable can be changed to specify the executable used for puppet-lint. g:ale_puppet_puppetlint_options *g:ale_puppet_puppetlint_options* *b:ale_puppet_puppetlint_options* Type: |String| Default: `'--no-autoloader_layout-check'` This variable can be changed to add command-line arguments to the puppet-lint invocation. =============================================================================== puppet-languageserver *ale-puppet-languageserver* g:ale_puppet_languageserver_executable *g:ale_puppet_languageserver_executable* *b:ale_puppet_languageserver_executable* type: |String| Default: `'puppet-languageserver'` This variable can be used to specify the executable used for puppet-languageserver. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-purescript.txt ================================================ =============================================================================== ALE PureScript Integration *ale-purescript-options* =============================================================================== purescript-language-server *ale-purescript-language-server* PureScript Language Server (https://github.com/nwolverson/purescript-language-server) g:ale_purescript_ls_executable g:ale_purescript_ls_executable b:ale_purescript_ls_executable Type: |String| Default: `'purescript-language-server'` PureScript language server executable. g:ale_purescript_ls_config g:ale_purescript_ls_config b:ale_purescript_ls_config Type: |Dictionary| Default: `{}` Dictionary containing configuration settings that will be passed to the language server. For example, with a spago project: { \ 'purescript': { \ 'addSpagoSources': v:true, \ 'addNpmPath': v:true, \ 'buildCommand': 'spago --quiet build --purs-args --json-errors' \ } \} =============================================================================== purs-tidy *ale-purescript-tidy* g:ale_purescript_tidy_executable *g:ale_purescript_tidy_executable* *b:ale_purescript_tidy_executable* Type: |String| Default: `'purs-tidy'` This variable can be changed to use a different executable for purs-tidy. g:ale_purescript_tidy_use_global *g:ale_purescript_tidy_use_global* *b:ale_purescript_tidy_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_purescript_tidy_options *g:ale_purescript_tidy_options* *b:ale_purescript_tidy_options* Type: |String| Default: `''` This variable can be set to pass in additional option to the 'purs-tidy' executable. > let g:ale_purescript_options = '--indent 3' < =============================================================================== purty *ale-purescript-purty* g:ale_purescript_purty_executable *g:ale_purescript_purty_executable* *b:ale_purescript_purty_executable* Type: |String| Default: `'purty'` This variable can be changed to use a different executable for purty. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-pyrex.txt ================================================ =============================================================================== ALE Pyrex (Cython) Integration *ale-pyrex-options* =============================================================================== cython *ale-pyrex-cython* g:ale_pyrex_cython_executable *g:ale_pyrex_cython_executable* *b:ale_pyrex_cython_executable* Type: |String| Default: `'cython'` This variable can be changed to use a different executable for cython. g:ale_pyrex_cython_options *g:ale_pyrex_cython_options* *b:ale_pyrex_cython_options* Type: |String| Default: `'--warning-extra --warning-errors'` This variable can be changed to modify flags given to cython. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-python.txt ================================================ =============================================================================== ALE Python Integration *ale-python-options* g:ale_python_auto_pipenv *g:ale_python_auto_pipenv* *b:ale_python_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_auto_poetry *g:ale_python_auto_poetry* *b:ale_python_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== ALE Python Project Root Behavior *ale-python-root* For some linters, ALE will search for a Python project root by looking at the files in directories on or above where a file being checked is. ALE applies the following methods, in order: 1. Find the first directory containing a common Python configuration file. 2. If no configuration file can be found, use the first directory which does not contain a readable file named `__init__.py`. ALE will look for configuration files with the following filenames. > MANIFEST.in setup.cfg pytest.ini tox.ini .pyre_configuration.local mypy.ini .mypy.ini pycodestyle.cfg .flake8 .flake8rc pylama.ini pylintrc .pylintrc pyrightconfig.json pyrightconfig.toml Pipfile Pipfile.lock poetry.lock pyproject.toml .tool-versions < The first directory containing any of the files named above will be used. =============================================================================== autoflake *ale-python-autoflake* g:ale_python_autoflake_executable *g:ale_python_autoflake_executable* *b:ale_python_autoflake_executable* Type: |String| Default: `'autoflake'` See |ale-integrations-local-executables| g:ale_python_autoflake_options *g:ale_python_autoflake_options* *b:ale_python_autoflake_options* Type: |String| Default: `''` This variable can be set to pass extra options to autoflake. g:ale_python_autoflake_use_global *g:ale_python_autoflake_use_global* *b:ale_python_autoflake_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== autoimport *ale-python-autoimport* g:ale_python_autoimport_executable *g:ale_python_autoimport_executable* *b:ale_python_autoimport_executable* Type: |String| Default: `'autoimport'` See |ale-integrations-local-executables| g:ale_python_autoimport_options *g:ale_python_autoimport_options* *b:ale_python_autoimport_options* Type: |String| Default: `''` This variable can be set to pass extra options to autoimport. g:ale_python_autoimport_use_global *g:ale_python_autoimport_use_global* *b:ale_python_autoimport_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== autopep8 *ale-python-autopep8* g:ale_python_autopep8_executable *g:ale_python_autopep8_executable* *b:ale_python_autopep8_executable* Type: |String| Default: `'autopep8'` See |ale-integrations-local-executables| g:ale_python_autopep8_options *g:ale_python_autopep8_options* *b:ale_python_autopep8_options* Type: |String| Default: `''` This variable can be set to pass extra options to autopep8. g:ale_python_autopep8_use_global *g:ale_python_autopep8_use_global* *b:ale_python_autopep8_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== bandit *ale-python-bandit* g:ale_python_bandit_executable *g:ale_python_bandit_executable* *b:ale_python_bandit_executable* Type: |String| Default: `'bandit'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `bandit'`. Set this to `'poetry'` to invoke `'poetry` `run` `bandit'`. g:ale_python_bandit_options *g:ale_python_bandit_options* *b:ale_python_bandit_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the bandit invocation. g:ale_python_bandit_use_config *g:ale_python_bandit_use_config* *b:ale_python_bandit_use_config* Type: |Number| Default: `1` If this variable is true and a `.bandit` file exists in the directory of the file being checked or a parent directory, an `--ini` option is added to the `bandit` command for the nearest `.bandit` file. Set this variable false to disable adding the `--ini` option automatically. g:ale_python_bandit_use_global *g:ale_python_bandit_use_global* *b:ale_python_bandit_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_bandit_auto_pipenv *g:ale_python_bandit_auto_pipenv* *b:ale_python_bandit_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_bandit_auto_poetry *g:ale_python_bandit_auto_poetry* *b:ale_python_bandit_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== black *ale-python-black* g:ale_python_black_executable *g:ale_python_black_executable* *b:ale_python_black_executable* Type: |String| Default: `'black'` See |ale-integrations-local-executables| g:ale_python_black_options *g:ale_python_black_options* *b:ale_python_black_options* Type: |String| Default: `''` This variable can be set to pass extra options to black. g:ale_python_black_use_global *g:ale_python_black_use_global* *b:ale_python_black_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_black_auto_pipenv *g:ale_python_black_auto_pipenv* *b:ale_python_black_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_black_auto_poetry *g:ale_python_black_auto_poetry* *b:ale_python_black_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. g:ale_python_black_change_directory *g:ale_python_black_change_directory* *b:ale_python_black_change_directory* Type: |Number| Default: `1` If set to `1`, ALE will switch to the directory the Python file being checked with `black` is in before checking it. This helps `black` find configuration files more easily. This option can be turned off if you want to control the directory Python is executed from yourself. =============================================================================== cspell *ale-python-cspell* See |ale-cspell-options| =============================================================================== flake8 *ale-python-flake8* g:ale_python_flake8_change_directory *g:ale_python_flake8_change_directory* *b:ale_python_flake8_change_directory* Type: |String| Default: `'project'` If set to `project`, ALE will switch to the project root before checking file. If set to `file`, ALE will first switch to the directory containing the Python file being checked with `flake8` before checking it. You can turn it off with `off` option if you want to control the directory Python is executed from yourself. g:ale_python_flake8_executable *g:ale_python_flake8_executable* *b:ale_python_flake8_executable* Type: |String| Default: `'flake8'` This variable can be changed to modify the executable used for flake8. Set this to `'pipenv'` to invoke `'pipenv` `run` `flake8'`. Set this to `'poetry'` to invoke `'poetry` `run` `flake8'`. g:ale_python_flake8_options *g:ale_python_flake8_options* *b:ale_python_flake8_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the flake8 invocation. For example, to dynamically switch between programs targeting Python 2 and Python 3, you may want to set > let g:ale_python_flake8_executable = 'python3' " or 'python' for Python 2 let g:ale_python_flake8_options = '-m flake8' < after making sure it's installed for the appropriate Python versions (e.g. `python3 -m pip install --user flake8`). g:ale_python_flake8_use_global *g:ale_python_flake8_use_global* *b:ale_python_flake8_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` This variable controls whether or not ALE will search for flake8 in a virtualenv directory first. If this variable is set to `1`, then ALE will always use |g:ale_python_flake8_executable| for the executable path. Both variables can be set with `b:` buffer variables instead. g:ale_python_flake8_auto_pipenv *g:ale_python_flake8_auto_pipenv* *b:ale_python_flake8_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_flake8_auto_poetry *g:ale_python_flake8_auto_poetry* *b:ale_python_flake8_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== flakehell *ale-python-flakehell* g:ale_python_flakehell_change_directory*g:ale_python_flakehell_change_directory* *b:ale_python_flakehell_change_directory* Type: |String| Default: `project` If set to `project`, ALE will switch to the project root before checking file. If set to `file`, ALE will switch to directory the Python file being checked with `flakehell` is in before checking it. You can turn it off with `off` option if you want to control the directory Python is executed from yourself. g:ale_python_flakehell_executable *g:ale_python_flakehell_executable* *b:ale_python_flakehell_executable* Type: |String| Default: `'flakehell'` This variable can be changed to modify the executable used for flakehell. Set this to `'pipenv'` to invoke `'pipenv` `run` `flakehell'`. Set this to `'poetry'` to invoke `'poetry` `run` `flakehell'`. Set this to `'python'` to invoke `'python` `-m` `flakehell'`. g:ale_python_flakehell_options *g:ale_python_flakehell_options* *b:ale_python_flakehell_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the flakehell lint invocation. g:ale_python_flakehell_use_global *g:ale_python_flakehell_use_global* *b:ale_python_flakehell_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` This variable controls whether or not ALE will search for flakehell in a virtualenv directory first. If this variable is set to `1`, then ALE will always use |g:ale_python_flakehell_executable| for the executable path. Both variables can be set with `b:` buffer variables instead. g:ale_python_flakehell_auto_pipenv *g:ale_python_flakehell_auto_pipenv* *b:ale_python_flakehell_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_flakehell_auto_poetry *g:ale_python_flakehell_auto_poetry* *b:ale_python_flakehell_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== isort *ale-python-isort* g:ale_python_isort_executable *g:ale_python_isort_executable* *b:ale_python_isort_executable* Type: |String| Default: `'isort'` See |ale-integrations-local-executables| g:ale_python_isort_options *g:ale_python_isort_options* *b:ale_python_isort_options* Type: |String| Default: `''` This variable can be set to pass extra options to isort. g:ale_python_isort_use_global *g:ale_python_isort_use_global* *b:ale_python_isort_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_isort_auto_pipenv *g:ale_python_isort_auto_pipenv* *b:ale_python_isort_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_isort_auto_poetry *g:ale_python_isort_auto_poetry* *b:ale_python_isort_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== mypy *ale-python-mypy* The minimum supported version of mypy that ALE supports is v0.4.4. This is the first version containing the `--shadow-file` option ALE needs to be able to check for errors while you type. `mypy` will be run from a detected project root, per |ale-python-root|. g:ale_python_mypy_auto_pipenv *g:ale_python_mypy_auto_pipenv* *b:ale_python_mypy_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_mypy_auto_poetry *g:ale_python_mypy_auto_poetry* *b:ale_python_mypy_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. g:ale_python_mypy_executable *g:ale_python_mypy_executable* *b:ale_python_mypy_executable* Type: |String| Default: `'mypy'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `mypy'`. Set this to `'poetry'` to invoke `'poetry` `run` `mypy'`. g:ale_python_mypy_ignore_invalid_syntax *g:ale_python_mypy_ignore_invalid_syntax* *b:ale_python_mypy_ignore_invalid_syntax* Type: |Number| Default: `0` When set to `1`, syntax error messages for mypy will be ignored. This option can be used when running other Python linters which check for syntax errors, as mypy can take a while to finish executing. g:ale_python_mypy_options *g:ale_python_mypy_options* *b:ale_python_mypy_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the mypy invocation. g:ale_python_mypy_show_notes *g:ale_python_mypy_show_notes* *b:ale_python_mypy_show_notes* Type: |Number| Default: `1` If enabled, notes on lines will be displayed as 'I' (info) messages. g:ale_python_mypy_use_global *g:ale_python_mypy_use_global* *b:ale_python_mypy_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== prospector *ale-python-prospector* g:ale_python_prospector_executable *g:ale_python_prospector_executable* *b:ale_python_prospector_executable* Type: |String| Default: `'prospector'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `prospector'`. Set this to `'poetry'` to invoke `'poetry` `run` `prospector'`. g:ale_python_prospector_options *g:ale_python_prospector_options* *b:ale_python_prospector_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the prospector invocation. For example, to dynamically switch between programs targeting Python 2 and Python 3, you may want to set > let g:ale_python_prospector_executable = 'python3' " or 'python' for Python 2 let g:ale_python_prospector_options = '--rcfile /path/to/.prospector.yaml' " The virtualenv detection needs to be disabled. let g:ale_python_prospector_use_global = 0 after making sure it's installed for the appropriate Python versions (e.g. `python3 -m pip install --user prospector`). g:ale_python_prospector_use_global *g:ale_python_prospector_use_global* *b:ale_python_prospector_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_prospector_auto_pipenv *g:ale_python_prospector_auto_pipenv* *b:ale_python_prospector_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_prospector_auto_poetry *g:ale_python_prospector_auto_poetry* *b:ale_python_prospector_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== pycodestyle *ale-python-pycodestyle* g:ale_python_pycodestyle_executable *g:ale_python_pycodestyle_executable* *b:ale_python_pycodestyle_executable* Type: |String| Default: `'pycodestyle'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `pycodestyle'`. Set this to `'poetry'` to invoke `'poetry` `run` `pycodestyle'`. g:ale_python_pycodestyle_options *g:ale_python_pycodestyle_options* *b:ale_python_pycodestyle_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the pycodestyle invocation. g:ale_python_pycodestyle_use_global *g:ale_python_pycodestyle_use_global* *b:ale_python_pycodestyle_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_pycodestyle_auto_pipenv *g:ale_python_pycodestyle_auto_pipenv* *b:ale_python_pycodestyle_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_pycodestyle_auto_poetry *g:ale_python_pycodestyle_auto_poetry* *b:ale_python_pycodestyle_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== pydocstyle *ale-python-pydocstyle* g:ale_python_pydocstyle_executable *g:ale_python_pydocstyle_executable* *b:ale_python_pydocstyle_executable* Type: |String| Default: `'pydocstyle'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `pydocstyle'`. Set this to `'poetry'` to invoke `'poetry` `run` `pydocstyle'`. g:ale_python_pydocstyle_options *g:ale_python_pydocstyle_options* *b:ale_python_pydocstyle_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the pydocstyle invocation. g:ale_python_pydocstyle_use_global *g:ale_python_pydocstyle_use_global* *b:ale_python_pydocstyle_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_pydocstyle_auto_pipenv *g:ale_python_pydocstyle_auto_pipenv* *b:ale_python_pydocstyle_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_pydocstyle_auto_poetry *g:ale_python_pydocstyle_auto_poetry* *b:ale_python_pydocstyle_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== pyflakes *ale-python-pyflakes* g:ale_python_pyflakes_executable *g:ale_python_pyflakes_executable* *b:ale_python_pyflakes_executable* Type: |String| Default: `'pyflakes'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `pyflakes'`. Set this to `'poetry'` to invoke `'poetry` `run` `pyflakes'`. g:ale_python_pyflakes_auto_pipenv *g:ale_python_pyflakes_auto_pipenv* *b:ale_python_pyflakes_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_pyflakes_auto_poetry *g:ale_python_pyflakes_auto_poetry* *b:ale_python_pyflakes_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== pyflyby *ale-python-pyflyby* g:ale_python_pyflyby_executable *g:ale_python_pyflyby_executable* *b:ale_python_pyflyby_executable* Type: |String| Default: `'tidy-imports'` See |ale-integrations-local-executables| g:ale_python_pyflyby_options *g:ale_python_pyflyby_options* *b:ale_python_pyflyby_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the pyflyby tidy-imports invocation. g:ale_python_pyflyby_use_global *g:ale_python_pyflyby_use_global* *b:ale_python_pyflyby_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_pyflyby_auto_pipenv *g:ale_python_pyflyby_auto_pipenv* *b:ale_python_pyflyby_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_pyflyby_auto_poetry *g:ale_python_pyflyby_auto_poetry* *b:ale_python_pyflyby_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== pylama *ale-python-pylama* g:ale_python_pylama_change_directory *g:ale_python_pylama_change_directory* *b:ale_python_pylama_change_directory* Type: |Number| Default: `1` If set to `1`, `pylama` will be run from a detected project root, per |ale-python-root|. This is useful because `pylama` only searches for configuration files in its current directory and applies file masks using paths relative to its current directory. This option can be turned off if you want to control the directory in which `pylama` is executed. g:ale_python_pylama_executable *g:ale_python_pylama_executable* *b:ale_python_pylama_executable* Type: |String| Default: `'pylama'` This variable can be changed to modify the executable used for pylama. Set this to `'pipenv'` to invoke `'pipenv` `run` `pylama'`. Set this to `'poetry'` to invoke `'poetry` `run` `pylama'`. g:ale_python_pylama_options *g:ale_python_pylama_options* *b:ale_python_pylama_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the pylama invocation. g:ale_python_pylama_use_global *g:ale_python_pylama_use_global* *b:ale_python_pylama_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` This variable controls whether or not ALE will search for pylama in a virtualenv directory first. If this variable is set to `1`, then ALE will always use |g:ale_python_pylama_executable| for the executable path. Both variables can be set with `b:` buffer variables instead. g:ale_python_pylama_auto_pipenv *g:ale_python_pylama_auto_pipenv* *b:ale_python_pylama_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_pylama_auto_poetry *g:ale_python_pylama_auto_poetry* *b:ale_python_pylama_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== pylint *ale-python-pylint* g:ale_python_pylint_change_directory *g:ale_python_pylint_change_directory* *b:ale_python_pylint_change_directory* Type: |Number| Default: `1` If set to `1`, `pylint` will be run from a detected project root, per |ale-python-root|. Since `pylint` only checks for `pylintrc` in the packages above its current directory before falling back to user and global `pylintrc` files, this is necessary for `pylint` to use a project `pylintrc` file, if present. This option can be turned off if you want to control the directory Python is executed from yourself. g:ale_python_pylint_executable *g:ale_python_pylint_executable* *b:ale_python_pylint_executable* Type: |String| Default: `'pylint'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `pylint'`. Set this to `'poetry'` to invoke `'poetry` `run` `pylint'`. g:ale_python_pylint_options *g:ale_python_pylint_options* *b:ale_python_pylint_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the pylint invocation. For example, to dynamically switch between programs targeting Python 2 and Python 3, you may want to set > let g:ale_python_pylint_executable = 'python3' " or 'python' for Python 2 let g:ale_python_pylint_options = '--rcfile /path/to/pylint.rc' " The virtualenv detection needs to be disabled. let g:ale_python_pylint_use_global = 0 after making sure it's installed for the appropriate Python versions (e.g. `python3 -m pip install --user pylint`). g:ale_python_pylint_use_global *g:ale_python_pylint_use_global* *b:ale_python_pylint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_pylint_auto_pipenv *g:ale_python_pylint_auto_pipenv* *b:ale_python_pylint_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_pylint_auto_poetry *g:ale_python_pylint_auto_poetry* *b:ale_python_pylint_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. g:ale_python_pylint_use_msg_id *g:ale_python_pylint_use_msg_id* *b:ale_python_pylint_use_msg_id* Type: |Number| Default: `0` Use message for output (e.g. I0011) instead of symbolic name of the message (e.g. locally-disabled). =============================================================================== pylsp *ale-python-pylsp* `pylsp` will be run from a detected project root, per |ale-python-root|. g:ale_python_pylsp_executable *g:ale_python_pylsp_executable* *b:ale_python_pylsp_executable* Type: |String| Default: `'pylsp'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `pylsp'`. Set this to `'poetry'` to invoke `'poetry` `run` `pyls'`. g:ale_python_pylsp_use_global *g:ale_python_pylsp_use_global* *b:ale_python_pylsp_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_pylsp_auto_pipenv *g:ale_python_pylsp_auto_pipenv* *b:ale_python_pylsp_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_pylsp_auto_poetry *g:ale_python_pylsp_auto_poetry* *b:ale_python_pylsp_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. g:ale_python_pylsp_config *g:ale_python_pylsp_config* *b:ale_python_pylsp_config* Type: |Dictionary| Default: `{}` Dictionary with configuration settings for pylsp. For example, to disable the pycodestyle linter: > { \ 'pylsp': { \ 'plugins': { \ 'pycodestyle': { \ 'enabled': v:false \ } \ } \ }, \ } < g:ale_python_pylsp_options *g:ale_python_pylsp_options* *b:ale_python_pylsp_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the pylsp invocation. Note that this is not the same thing as ale_python_pylsp_config, which allows configuration of how pylsp functions; this is intended to provide flexibility in how the pylsp command is invoked. For example, if you had installed `pylsp` but your `pylsp` executable was not on your `PATH` for some reason, an alternative way to run the pylsp server would be: let g:ale_python_pylsp_executable = 'python3' let g:ale_python_pylsp_options = '-m pylsp' An example strategy for installing `pylsp`: `python3 -m pip install --user pylsp` =============================================================================== pyre *ale-python-pyre* `pyre` will be run from a detected project root, per |ale-python-root|. g:ale_python_pyre_executable *g:ale_python_pyre_executable* *b:ale_python_pyre_executable* Type: |String| Default: `'pyre'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `pyre'`. Set this to `'poetry'` to invoke `'poetry` `run` `pyre'`. g:ale_python_pyre_use_global *g:ale_python_pyre_use_global* *b:ale_python_pyre_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_pyre_auto_pipenv *g:ale_python_pyre_auto_pipenv* *b:ale_python_pyre_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_pyre_auto_poetry *g:ale_python_pyre_auto_poetry* *b:ale_python_pyre_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== pyright *ale-python-pyright* The `pyright` linter requires a recent version of `pyright` which includes the `pyright-langserver` executable. You can install `pyright` on your system through `npm` with `sudo npm install -g pyright` or similar. Refer to their README for installation instructions: https://github.com/Microsoft/pyright `pyright` needs to know the path to your Python executable and probably a virtualenv to run. ALE will try to detect these automatically. See |g:ale_python_pyright_config|. g:ale_python_pyright_executable *g:ale_python_pyright_executable* *b:ale_python_pyright_executable* Type: |String| Default: `'pyright-langserver'` The executable for running `pyright`, which is typically installed globally. g:ale_python_pyright_config *g:ale_python_pyright_config* *b:ale_python_pyright_config* Type: |Dictionary| Default: `{}` Settings for configuring the `pyright` language server. See pyright's documentation for a full list of options: https://github.com/microsoft/pyright/blob/master/docs/settings.md ALE will automatically try to set defaults for `venvPath` and `pythonPath` so your project can automatically be checked with the right libraries. You can override these settings with whatever you want in your ftplugin file like so: > let b:ale_python_pyright_config = { \ 'python': { \ 'pythonPath': '/bin/python', \ 'venvPath': '/other/dir', \ }, \} < If `venvPath` is set, but `pythonPath` is not, ALE will use `venvPath . '/bin/python'` or similar as `pythonPath`. A commonly used setting for `pyright` is disabling language services apart from type checking and "hover" (|ale-hover|), you can set this setting like so, or use whatever other settings you want: > let b:ale_python_pyright_config = { \ 'pyright': { \ 'disableLanguageServices': v:true, \ }, \} < =============================================================================== refurb *ale-python-refurb* g:ale_python_refurb_change_directory *g:ale_python_refurb_change_directory* *b:ale_python_refurb_change_directory* Type: |Number| Default: `1` If set to `1`, `refurb` will be run from a detected project root, per |ale-python-root|. if set to `0` or no project root detected, `refurb` will be run from the buffer's directory. g:ale_python_refurb_executable *g:ale_python_refurb_executable* *b:ale_python_refurb_executable* Type: |String| Default: `'refurb'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `refurb'`. Set this to `'poetry'` to invoke `'poetry` `run` `refurb'`. g:ale_python_refurb_options *g:ale_python_refurb_options* *b:ale_python_refurb_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the refurb invocation. For example, to select/enable and/or disable some error codes, you may want to set > let g:ale_python_refurb_options = '--ignore 100' g:ale_python_refurb_use_global *g:ale_python_refurb_use_global* *b:ale_python_refurb_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_refurb_auto_pipenv *g:ale_python_refurb_auto_pipenv* *b:ale_python_refurb_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_refurb_auto_poetry *g:ale_python_refurb_auto_poetry* *b:ale_python_refurb_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== reorder-python-imports *ale-python-reorder_python_imports* g:ale_python_reorder_python_imports_executable *g:ale_python_reorder_python_imports_executable* *b:ale_python_reorder_python_imports_executable* Type: |String| Default: `'reorder-python-imports'` See |ale-integrations-local-executables| g:ale_python_reorder_python_imports_options *g:ale_python_reorder_python_imports_options* *b:ale_python_reorder_python_imports_options* Type: |String| Default: `''` This variable can be set to pass extra options to reorder-python-imports. g:ale_python_reorder_python_imports_use_global *g:ale_python_reorder_python_imports_use_global* *b:ale_python_reorder_python_imports_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== ruff *ale-python-ruff* g:ale_python_ruff_change_directory *g:ale_python_ruff_change_directory* *b:ale_python_ruff_change_directory* Type: |Number| Default: `1` If set to `1`, `ruff` will be run from a detected project root, per |ale-python-root|. if set to `0` or no project root detected, `ruff` will be run from the buffer's directory. g:ale_python_ruff_executable *g:ale_python_ruff_executable* *b:ale_python_ruff_executable* Type: |String| Default: `'ruff'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `ruff'`. Set this to `'poetry'` to invoke `'poetry` `run` `ruff'`. g:ale_python_ruff_options *g:ale_python_ruff_options* *b:ale_python_ruff_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the ruff invocation. For example, to select/enable and/or disable some error codes, you may want to set > let g:ale_python_ruff_options = '--ignore F401' g:ale_python_ruff_use_global *g:ale_python_ruff_use_global* *b:ale_python_ruff_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:ale_python_ruff_auto_pipenv *g:ale_python_ruff_auto_pipenv* *b:ale_python_ruff_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_ruff_auto_poetry *g:ale_python_ruff_auto_poetry* *b:ale_python_ruff_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. =============================================================================== unimport *ale-python-unimport* `unimport` will be run from a detected project root, per |ale-python-root|. g:ale_python_unimport_auto_pipenv *g:ale_python_unimport_auto_pipenv* *b:ale_python_unimport_auto_pipenv* Type: |Number| Default: `0` Detect whether the file is inside a pipenv, and set the executable to `pipenv` if true. This is overridden by a manually-set executable. g:ale_python_unimport_auto_poetry *g:ale_python_unimport_auto_poetry* *b:ale_python_unimport_auto_poetry* Type: |Number| Default: `0` Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. g:ale_python_unimport_executable *g:ale_python_unimport_executable* *b:ale_python_unimport_executable* Type: |String| Default: `'unimport'` See |ale-integrations-local-executables| Set this to `'pipenv'` to invoke `'pipenv` `run` `unimport'`. Set this to `'poetry'` to invoke `'poetry` `run` `unimport'`. g:ale_python_unimport_options *g:ale_python_unimport_options* *b:ale_python_unimport_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the unimport invocation. g:ale_python_unimport_use_global *g:ale_python_unimport_use_global* *b:ale_python_unimport_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vulture *ale-python-vulture* g:ale_python_vulture_change_directory *g:ale_python_vulture_change_directory* *b:ale_python_vulture_change_directory* Type: |Number| Default: `1` If set to `1`, ALE will switch to the directory the Python file being checked with `vulture` is in before checking it and check the whole project directory instead of checking only the file opened in the current buffer. This helps `vulture` to know the context and avoid false-negative results. g:ale_python_vulture_executable *g:ale_python_vulture_executable* *b:ale_python_vulture_executable* Type: |String| Default: `'vulture'` See |ale-integrations-local-executables| g:ale_python_vulture_options *g:ale_python_vulture_options* *b:ale_python_vulture_options* Type: |String| Default: `''` This variable can be changed to add command-line arguments to the vulture invocation. g:ale_python_vulture_use_global *g:ale_python_vulture_use_global* *b:ale_python_vulture_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== yapf *ale-python-yapf* g:ale_python_yapf_executable *g:ale_python_yapf_executable* *b:ale_python_yapf_executable* Type: |String| Default: `'yapf'` See |ale-integrations-local-executables| g:ale_python_yapf_use_global *g:ale_python_yapf_use_global* *b:ale_python_yapf_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-qml.txt ================================================ =============================================================================== ALE QML Integration *ale-qml-options* =============================================================================== qmlfmt *ale-qml-qmlfmt* g:ale_qml_qmlfmt_executable *g:ale_qml_qmlfmt_executable* *b:ale_qml_qmlfmt_executable* Type: |String| Default: `'qmlfmt'` This variable can be set to change the path to qmlfmt. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-r.txt ================================================ =============================================================================== ALE R Integration *ale-r-options* =============================================================================== languageserver *ale-r-languageserver* g:ale_r_languageserver_cmd *g:ale_r_languageserver_cmd* *b:ale_r_languageserver_cmd* Type: |String| Default: `'languageserver::run()'` This option can be configured to change the execution command for languageserver. See the languageserver documentation for more options. g:ale_r_languageserver_config *g:ale_r_languageserver_config* *b:ale_r_languageserver_config* Type: |Dictionary| Default: `{}` This option can be configured to change settings for languageserver. See the languageserver documentation for more information. =============================================================================== lintr *ale-r-lintr* g:ale_r_lintr_options *g:ale_r_lintr_options* *b:ale_r_lintr_options* Type: |String| Default: `'lintr::with_defaults()'` This option can be configured to change the options for lintr. The value of this option will be run with `eval` for the `lintr::lint` options. Consult the lintr documentation for more information. g:ale_r_lintr_lint_package *g:ale_r_lintr_lint_package* *b:ale_r_lintr_lint_package* Type: |Number| Default: `0` When set to `1`, the file will be checked with `lintr::lint_package` instead of `lintr::lint`. This prevents erroneous namespace warnings when linting package files. =============================================================================== styler *ale-r-styler* g:ale_r_styler_options *g:ale_r_styler_options* *b:ale_r_styler_options* Type: |String| Default: `'styler::tidyverse_style'` This option can be configured to change the options for styler. The value of this option will be used as the `style` argument for the `styler::style_file` options. Consult the styler documentation for more information. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-racket.txt ================================================ =============================================================================== ALE Racket Integration *ale-racket-options* =============================================================================== racket_langserver *ale-racket-langserver* 1. Install racket-langserver as described here: https://github.com/jeapostrophe/racket-langserver 2. Have `racket` available in the `$PATH` environment variable, currently there is no way to specify path to custom location of `racket`. 3. set `racket_langserver` as a linter for `racket` like: > let g:ale_linters['racket'] += ['racket_langserver'] You should be able to see linter results and use LSP features of `ALE` like `ALEGoToDefinition` with `racket-langserver`. =============================================================================== raco_fmt *ale-racket-raco-fmt* g:ale_racket_raco_fmt_executable *g:ale_racket_raco_fmt_executable* *b:ale_racket_raco_fmt_executable* Type: |String| Default: `'raco'` If the `raco` excutable is not in the `$PATH` environment variable, or you prefer to use one installed in a custom location, set this option to the path to the specific `raco` executable. g:ale_racket_raco_fmt_options *g:ale_racket_raco_fmt_options* *b:ale_racket_raco_fmt_options* Type: |String| Default: `''` Use this variable to pass command-line flags/parameters to `raco_fmt` For example, set the page width limit to 40 > let g:ale_racket_raco_fmt_options = '--width 40' =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-reasonml.txt ================================================ =============================================================================== ALE ReasonML Integration *ale-reasonml-options* =============================================================================== merlin *ale-reasonml-merlin* To use merlin linter for ReasonML source code you need to make sure Merlin for Vim is correctly configured. See the corresponding Merlin wiki page for detailed instructions: https://github.com/the-lambda-church/merlin/wiki/vim-from-scratch =============================================================================== ols *ale-reasonml-ols* The `ocaml-language-server` is the engine that powers OCaml and ReasonML editor support using the Language Server Protocol. See the installation instructions: https://github.com/freebroccolo/ocaml-language-server#installation g:ale_reason_ols_executable *g:ale_reason_ols_executable* *b:ale_reason_ols_executable* Type: |String| Default: `'ocaml-language-server'` This variable can be set to change the executable path for `ols`. g:ale_reason_ols_use_global *g:ale_reason_ols_use_global* *b:ale_reason_ols_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` This variable can be set to `1` to always use the globally installed executable. See also |ale-integrations-local-executables|. =============================================================================== reason-language-server *ale-reasonml-language-server* Note: You must set an executable - there is no 'default' install location. Go to https://github.com/jaredly/reason-language-server and download the latest release. You can place it anywhere, but ensure you set the executable path. g:ale_reason_ls_executable *g:ale_reason_ls_executable* *b:ale_reason_ls_executable* Type: |String| This variable defines the standard location of the language server executable. This must be set. =============================================================================== refmt *ale-reasonml-refmt* g:ale_reasonml_refmt_executable *g:ale_reasonml_refmt_executable* *b:ale_reasonml_refmt_executable* Type: |String| Default: `'refmt'` This variable can be set to pass the path of the refmt fixer. g:ale_reasonml_refmt_options *g:ale_reasonml_refmt_options* *b:ale_reasonml_refmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the refmt fixer. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-rego.txt ================================================ =============================================================================== ALE Rego Integration *ale-rego-options* =============================================================================== cspell *ale-rego-cspell* See |ale-cspell-options| =============================================================================== opacheck *ale-rego-opa-check* g:ale_rego_opacheck_executable *g:rego_opacheck_executable* *b:rego_opacheck_executable* Type: |String| Default: `'opa'` This variable can be changed to use a different executable for opa. g:rego_opacheck_options *g:rego_opacheck_options* *b:rego_opacheck_options* Type: |String| Default: `''` This variable can be changed to pass custom CLI flags to opa check. =============================================================================== opafmt *ale-rego-opa-fmt-fixer* g:ale_opa_fmt_executable *g:ale_opa_fmt_executable* *b:ale_opa_fmt_executable* Type: |String| Default: `'opa'` This variable can be changed to use a different executable for opa. g:ale_opa_fmt_options *g:ale_opa_fmt_options* *b:ale_opa_fmt_options* Type: |String| Default: `''` =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-restructuredtext.txt ================================================ =============================================================================== ALE reStructuredText Integration *ale-restructuredtext-options* =============================================================================== cspell *ale-restructuredtext-cspell* See |ale-cspell-options| =============================================================================== textlint *ale-restructuredtext-textlint* To use textlint at reStructuredText, please install `textlint-plugin-rst`. https://github.com/jimo1001/textlint-plugin-rst > $ npm install textlint-plugin-rst To install `textlint-plugin-rst`, `docutils-ast-writer` python package must be installed. See: https://github.com/jimo1001/docutils-ast-writer See |ale-text-textlint| =============================================================================== write-good *ale-restructuredtext-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-robot.txt ================================================ =============================================================================== ALE Robot Integration *ale-robot-options* =============================================================================== rflint *ale-robot-rflint* g:ale_robot_rflint_executable *g:ale_robot_rflint_executable* *b:ale_robot_rflint_executable* Type: |String| Default: `'rflint'` =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-ruby.txt ================================================ =============================================================================== ALE Ruby Integration *ale-ruby-options* =============================================================================== brakeman *ale-ruby-brakeman* g:ale_ruby_brakeman_executable *g:ale_ruby_brakeman_executable* *b:ale_ruby_brakeman_executable* Type: |String| Default: `'brakeman'` Override the invoked brakeman binary. Set this to `'bundle'` to invoke `'bundle` `exec` brakeman'. g:ale_ruby_brakeman_options *g:ale_ruby_brakeman_options* *b:ale_ruby_brakeman_options* Type: |String| Default: `''` The contents of this variable will be passed through to brakeman. =============================================================================== cspell *ale-ruby-cspell* See |ale-cspell-options| =============================================================================== debride *ale-ruby-debride* g:ale_ruby_debride_executable *g:ale_ruby_debride_executable* *b:ale_ruby_debride_executable* Type: |String| Default: `'debride'` Override the invoked debride binary. Set this to `'bundle'` to invoke `'bundle` `exec` debride'. g:ale_ruby_debride_options *g:ale_ruby_debride_options* *b:ale_ruby_debride_options* Type: |String| Default: `''` This variable can be changed to modify flags given to debride. =============================================================================== prettier *ale-ruby-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== rails_best_practices *ale-ruby-rails_best_practices* g:ale_ruby_rails_best_practices_executable *g:ale_ruby_rails_best_practices_executable* *b:ale_ruby_rails_best_practices_executable* Type: |String| Default: `'rails_best_practices'` Override the invoked rails_best_practices binary. Set this to `'bundle'` to invoke `'bundle` `exec` rails_best_practices'. g:ale_ruby_rails_best_practices_options *g:ale_ruby_rails_best_practices_options* *b:ale_ruby_rails_best_practices_options* Type: |String| Default: `''` The contents of this variable will be passed through to rails_best_practices. =============================================================================== reek *ale-ruby-reek* g:ale_ruby_reek_executable *g:ale_ruby_reek_executable* *b:ale_ruby_reek_executable* Type: |String| Default: `'reek'` Override the invoked reek binary. Set this to `'bundle'` to invoke `'bundle` `exec` reek'. g:ale_ruby_reek_show_context *g:ale_ruby_reek_show_context* *b:ale_ruby_reek_show_context* Type: |Number| Default: `0` Controls whether context is included in the linter message. Defaults to off because context is usually obvious while viewing a file. g:ale_ruby_reek_show_wiki_link *g:ale_ruby_reek_show_wiki_link* *b:ale_ruby_reek_show_wiki_link* Type: |Number| Default: `0` Controls whether linter messages contain a link to an explanatory wiki page for the type of code smell. Defaults to off to improve readability. =============================================================================== rubocop *ale-ruby-rubocop* g:ale_ruby_rubocop_executable *g:ale_ruby_rubocop_executable* *b:ale_ruby_rubocop_executable* Type: |String| Default: `'rubocop'` Override the invoked rubocop binary. Set this to `'bundle'` to invoke `'bundle` `exec` rubocop'. g:ale_ruby_rubocop_options *g:ale_ruby_rubocop_options* *b:ale_ruby_rubocop_options* Type: |String| Default: `''` This variable can be changed to modify flags given to rubocop. g:ale_ruby_rubocop_auto_correct_all *g:ale_ruby_rubocop_auto_correct_all* *b:ale_ruby_rubocop_auto_correct_all* Type: |Number| Default: `0` This variable can be changed to make rubocop to correct all offenses (unsafe). =============================================================================== ruby *ale-ruby-ruby* g:ale_ruby_ruby_executable *g:ale_ruby_ruby_executable* *b:ale_ruby_ruby_executable* Type: |String| Default: `'ruby'` This variable can be changed to use a different executable for ruby. =============================================================================== rufo *ale-ruby-rufo* g:ale_ruby_rufo_executable *g:ale_ruby_rufo_executable* *b:ale_ruby_rufo_executable* Type: |String| Default: `'rufo'` Override the invoked rufo binary. This is useful for running rufo from binstubs or a bundle. =============================================================================== solargraph *ale-ruby-solargraph* g:ale_ruby_solargraph_executable *g:ale_ruby_solargraph_executable* *b:ale_ruby_solargraph_executable* Type: |String| Default: `'solargraph'` Override the invoked solargraph binary. This is useful for running solargraph from binstubs or a bundle. =============================================================================== sorbet *ale-ruby-sorbet* g:ale_ruby_sorbet_executable *g:ale_ruby_sorbet_executable* *b:ale_ruby_sorbet_executable* Type: |String| Default: `'srb'` Override the invoked sorbet binary. Set this to `'bundle'` to invoke `'bundle` `exec` srb'. g:ale_ruby_sorbet_options *g:ale_ruby_sorbet_options* *b:ale_ruby_sorbet_options* Type: |String| Default: `''` This variable can be changed to modify flags given to sorbet. g:ale_ruby_sorbet_enable_watchman *g:ale_ruby_sorbet_enable_watchman* *b:ale_ruby_sorbet_enable_watchman* Type: |Number| Default: `0` Whether or not to use watchman to let the LSP server to know about changes to files from outside of vim. Defaults to disable watchman because it requires watchman to be installed separately from sorbet. =============================================================================== standardrb *ale-ruby-standardrb* g:ale_ruby_standardrb_executable *g:ale_ruby_standardrb_executable* *b:ale_ruby_standardrb_executable* Type: |String| Default: `'standardrb'` Override the invoked standardrb binary. Set this to `'bundle'` to invoke `'bundle` `exec` standardrb'. g:ale_ruby_standardrb_options *g:ale_ruby_standardrb_options* *b:ale_ruby_standardrb_options* Type: |String| Default: `''` This variable can be changed to modify flags given to standardrb. =============================================================================== syntax_tree *ale-ruby-syntax_tree* g:ale_ruby_syntax_tree_executable *g:ale_ruby_syntax_tree_executable* *b:ale_ruby_syntax_tree_executable* Type: |String| Default: `'stree'` Override the invoked SyntaxTree binary. Set this to `'bundle'` to invoke `'bundle` `exec` stree'. g:ale_ruby_syntax_tree_options *g:ale_ruby_syntax_tree_options* *b:ale_ruby_syntax_tree_options* Type: |String| Default: `''` This variable can be changed to modify flags given to SyntaxTree. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-rust.txt ================================================ =============================================================================== ALE Rust Integration *ale-rust-options* *ale-integration-rust* =============================================================================== Integration Information If Vim does not detect the Rust file type out-of-the-box, you need the runtime files for Rust distributed in Vim >=8.0.0501 or upstream: https://github.com/rust-lang/rust.vim Note that there are several possible linters and fixers for Rust files: 1. rustc -- The Rust compiler is used to check the currently edited file. So, if your project consists of multiple files, you will get some errors when you use e.g. a struct which is defined in another file. You can use |g:ale_rust_ignore_error_codes| to ignore some of these errors. 2. cargo -- If your project is managed by Cargo, the whole project is checked. That means that all errors are properly shown, but cargo can only operate on the files written on disk, so errors will not be reported while you type. 3. rls -- If you have `rls` installed, you might prefer using this linter over cargo. rls implements the Language Server Protocol for incremental compilation of Rust code, and can check Rust files while you type. `rls` requires Rust files to be contained in Cargo projects. 4. analyzer -- If you have rust-analyzer installed, you might prefer using this linter over cargo and rls. rust-analyzer also implements the Language Server Protocol for incremental compilation of Rust code, and is the next iteration of rls. rust-analyzer either requires Rust files to be contained in Cargo projects or requires the project to be described in the rust-project.json format: https://rust-analyzer.github.io/manual.html#non-cargo-based-projects 5. rustfmt -- If you have `rustfmt` installed, you can use it as a fixer to consistently reformat your Rust code. Only cargo and rls are enabled by default. To switch to using rustc instead of cargo, configure |g:ale_linters| appropriately: > " See the help text for the option for more information. let g:ale_linters = {'rust': ['rustc', 'rls']} < Also note that rustc 1.18. or later is needed. =============================================================================== analyzer *ale-rust-analyzer* g:ale_rust_analyzer_executable *g:ale_rust_analyzer_executable* *b:ale_rust_analyzer_executable* Type: |String| Default: `'rust-analyzer'` This variable can be modified to change the executable path for `rust-analyzer`. g:ale_rust_analyzer_config *g:ale_rust_analyzer_config* *b:ale_rust_analyzer_config* Type: |Dictionary| Default: `{}` Dictionary with configuration settings for rust-analyzer. =============================================================================== cargo *ale-rust-cargo* g:ale_rust_cargo_use_check *g:ale_rust_cargo_use_check* *b:ale_rust_cargo_use_check* Type: |Number| Default: `1` When set to `1`, this option will cause ALE to use `cargo check` instead of `cargo build` . `cargo check` is supported since version 1.16.0 of Rust. ALE will never use `cargo check` when the version of `cargo` is less than 0.17.0. g:ale_rust_cargo_check_all_targets *g:ale_rust_cargo_check_all_targets* *b:ale_rust_cargo_check_all_targets* Type: |Number| Default: `0` When set to `1`, ALE will set the `--all-targets` option when `cargo check` is used. See |g:ale_rust_cargo_use_check|, g:ale_rust_cargo_check_tests *g:ale_rust_cargo_check_tests* *b:ale_rust_cargo_check_tests* Type: |Number| Default: `0` When set to `1`, ALE will set the `--tests` option when `cargo check` is used. This allows for linting of tests which are normally excluded. See |g:ale_rust_cargo_use_check|, g:ale_rust_cargo_check_examples *g:ale_rust_cargo_check_examples* *b:ale_rust_cargo_check_examples* Type: |Number| Default: `0` When set to `1`, ALE will set the `--examples` option when `cargo check` is used. This allows for linting of examples which are normally excluded. See |g:ale_rust_cargo_use_check|, g:ale_rust_cargo_default_feature_behavior *g:ale_rust_cargo_default_feature_behavior* *b:ale_rust_cargo_default_feature_behavior* Type: |String| Default: `default` When set to `none`, ALE will set the `--no-default-features` option when invoking `cargo`. Only the features specified in |g:ale_rust_cargo_include_features| will be included when performing the lint check. When set to `default`, ALE will instruct `cargo` to build all default features specified in the project's `Cargo.toml` file, in addition to including any additional features defined in |g:ale_rust_cargo_include_features|. When set to `all`, ALE will set the `--all-features` option when invoking `cargo`, which will include all features defined in the project's `Cargo.toml` file when performing the lint check. g:ale_rust_cargo_include_features *g:ale_rust_cargo_include_features* *b:ale_rust_cargo_include_features* Type: |String| Default: `''` When defined, ALE will set the `--features` option when invoking `cargo` to perform the lint check. See |g:ale_rust_cargo_default_feature_behavior|. g:ale_rust_cargo_avoid_whole_workspace *g:ale_rust_cargo_avoid_whole_workspace* *b:ale_rust_cargo_avoid_whole_workspace* Type: |Number| Default: `1` When set to 1, and ALE is used to edit a crate that is part of a Cargo workspace, avoid building the entire workspace by invoking `cargo` directly in the crate's directory. Otherwise, behave as usual. g:ale_rust_cargo_use_clippy *g:ale_rust_cargo_use_clippy* *b:ale_rust_cargo_use_clippy* Type: |Number| Default: `0` When set to 1, `cargo clippy` will be used instead of `cargo check` or `cargo build` as linter. For details of `cargo clippy`, please visit the following link: https://github.com/rust-lang-nursery/rust-clippy Since `cargo clippy` is optional toolchain, it's safer to check whether `cargo-clippy` is executable as follows: > let g:ale_rust_cargo_use_clippy = executable('cargo-clippy') < g:ale_rust_cargo_clippy_options *g:ale_rust_cargo_clippy_options* *b:ale_rust_cargo_clippy_options* Type: |String| Default: `''` When `cargo clippy` is used, this value will be added to a command line to run it. This variable is useful when you want to add some extra options which only `cargo clippy` supports (e.g. `--deny`). g:ale_rust_cargo_target_dir *g:ale_rust_cargo_target_dir* *b:ale_rust_cargo_target_dir* Type: |String| Default: `''` Use a custom target directory when running the commands for ALE. This can help to avoid "waiting for file lock on build directory" messages when running `cargo` commands manually while ALE is performing its checks. =============================================================================== cspell *ale-rust-cspell* See |ale-cspell-options| =============================================================================== rls *ale-rust-rls* g:ale_rust_rls_executable *g:ale_rust_rls_executable* *b:ale_rust_rls_executable* Type: |String| Default: `'rls'` This variable can be modified to change the executable path for `rls`. g:ale_rust_rls_toolchain *g:ale_rust_rls_toolchain* *b:ale_rust_rls_toolchain* Type: |String| Default: `''` This option can be set to change the toolchain used for `rls`. Possible values include `'nightly'`, `'beta'`, `'stable'`, and `''`. When using option `''`, rls will automatically find the default toolchain set by rustup. If you want to use `rls` from a specific toolchain version, you may also use values like `'channel-yyyy-mm-dd-arch-target'` as long as `'rls +{toolchain_name} -V'` runs correctly in your command line. The `rls` server will only be started once per executable. g:ale_rust_rls_config *g:ale_rust_rls_config* *b:ale_rust_rls_config* Type: |Dictionary| Default: `{}` Dictionary with configuration settings for rls. For example, to force using clippy as linter: > { \ 'rust': { \ 'clippy_preference': 'on' \ } \ } =============================================================================== rustc *ale-rust-rustc* g:ale_rust_rustc_options *g:ale_rust_rustc_options* *b:ale_rust_rustc_options* Type: |String| Default: `'--emit=mir -o /dev/null'` The variable can be used to change the options passed to `rustc`. Users of nightly builds of Rust might want to use `-Z no-codegen` instead. Be careful when setting the options, as running `rustc` could execute code or generate binary files. g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes* *b:ale_rust_ignore_error_codes* Type: |List| of |String|s Default: `[]` This variable can contain error codes which will be ignored. For example, to ignore most errors regarding failed imports, put this in your .vimrc > let g:ale_rust_ignore_error_codes = ['E0432', 'E0433'] g:ale_rust_ignore_secondary_spans *g:ale_rust_ignore_secondary_spans* *b:ale_rust_ignore_secondary_spans* Type: |Number| Default: `0` When set to 1, instructs the Rust error reporting to ignore secondary spans. The problem with secondary spans is that they sometimes appear in error messages before the main cause of the error, for example: > 1 src/main.rs|98 col 5 error| this function takes 4 parameters but 5 parameters were supplied: defined here 2 src/main.rs|430 col 32 error| this function takes 4 parameters but 5 parameters were supplied: expected 4 parameters < This is due to the sorting by line numbers. With this option set to 1, the 'defined here' span will not be presented. =============================================================================== rustfmt *ale-rust-rustfmt* g:ale_rust_rustfmt_options *g:ale_rust_rustfmt_options* *b:ale_rust_rustfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the rustfmt fixer. g:ale_rust_rustfmt_executable *g:ale_rust_rustfmt_executable* *b:ale_rust_rustfmt_executable* Type: |String| Default: `'rustfmt'` This variable can be modified to change the executable path for `rustfmt`. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-salt.tmt ================================================ =============================================================================== ALE SALT Integration *ale-salt-options* =============================================================================== salt-lint *ale-salt-salt-lint* Website: https://github.com/warpnet/salt-lint Installation ------------------------------------------------------------------------------- Install salt-lint in your a virtualenv directory, locally, or globally: > pip install salt-lint # After activating virtualenv pip install --user salt-lint # Install to ~/.local/bin sudo pip install salt-lint # Install globally See |g:ale_virtualenv_dir_names| for configuring how ALE searches for virtualenv directories. Options ------------------------------------------------------------------------------- g:ale_salt_salt-lint_executable *g:ale_salt_salt_lint_executable* *b:ale_salt_salt_lint_executable* Type: |String| Default: `'salt-lint'` This variable can be set to change the path to salt-lint. g:ale_salt_salt-lint_options *g:ale_salt_salt-lint_options* *b:ale_salt_salt-lint_options* Type: |String| Default: `''` This variable can be set to pass additional options to salt-lint. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-sass.txt ================================================ =============================================================================== ALE Sass Integration *ale-sass-options* =============================================================================== sasslint *ale-sass-sasslint* See |ale-scss-sasslint| for information about the available options. =============================================================================== stylelint *ale-sass-stylelint* g:ale_sass_stylelint_executable *g:ale_sass_stylelint_executable* *b:ale_sass_stylelint_executable* Type: |String| Default: `'stylelint'` See |ale-integrations-local-executables| g:ale_sass_stylelint_use_global *g:ale_sass_stylelint_use_global* *b:ale_sass_stylelint_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-scala.txt ================================================ =============================================================================== ALE Scala Integration *ale-scala-options* =============================================================================== cspell *ale-scala-cspell* See |ale-cspell-options| =============================================================================== metals *ale-scala-metals* `metals` requires either an SBT project, a Mill project, or a running Bloop server. g:ale_scala_metals_executable *g:ale_scala_metals_executable* *b:ale_scala_metals_executable* Type: |String| Default: `'metals-vim'` Override the invoked `metals` binary. g:ale_scala_metals_project_root *g:ale_scala_metals_project_root* *b:ale_scala_metals_project_root* Type: |String| Default: `''` By default the project root is found by searching upwards for `build.sbt`, `build.sc`, `.bloop` or `.metals`. If the project root is elsewhere, you can override the project root directory. =============================================================================== sbtserver *ale-scala-sbtserver* `sbtserver` requires a running ^1.1.x sbt shell to connect to. It will attempt to connect via TCP to the address defined in `g:ale_scala_sbtserver_address`. As `sbt` defaults to listening via unix sockets, place these settings into your `~/.sbt/1.0/global.sbt` to ensure that ale will always attempt to connect to the right socket: `serverConnectionType := ConnectionType.Tcp` and `serverPort := 4273` g:ale_scala_sbtserver_address *g:ale_scala_sbtserver_address* *b:ale_scala_sbtserver_address* Type: |String| Default: `'127.0.0.1:4273'` By default the address is found by parsing `active.json`, however, reading a file is a blocking operation which should be avoided in ale. The easy way around this is to configure sbt to always connect to the same port, which the instructions above describe. g:ale_scala_sbtserver_project_root *g:ale_scala_sbtserver_project_root* *b:ale_scala_sbtserver_project_root* Type: |String| Default: `''` By default the project root is found by searching upwards for `build.sbt`. If the project root is elsewhere, you can override the project root directory. =============================================================================== scalafmt *ale-scala-scalafmt* If Nailgun is used, override `g:ale_scala_scalafmt_executable` like so: > let g:ale_scala_scalafmt_executable = 'ng' g:ale_scala_scalafmt_executable *g:ale_scala_scalafmt_executable* *b:ale_scala_scalafmt_executable* Type: |String| Default: `'scalafmt'` Override the invoked `scalafmt` binary. This is useful for running `scalafmt` with Nailgun. g:ale_scala_scalafmt_options *g:ale_scala_scalafmt_options* *b:ale_scala_scalafmt_options* Type: |String| Default: `''` A string containing additional options to pass to `'scalafmt'`, or `'ng scalafmt'` if Nailgun is used. =============================================================================== scalastyle *ale-scala-scalastyle* `scalastyle` requires a configuration file for a project to run. When no configuration file can be found, ALE will report a problem saying that a configuration file is required at line 1. To disable `scalastyle` globally, use |g:ale_linters| like so: > let g:ale_linters = {'scala': ['scalac']} " Enable only scalac instead < See |g:ale_linters| for more information on disabling linters. g:ale_scala_scalastyle_config *g:ale_scala_scalastyle_config* *b:ale_scala_scalastyle_config* Type: |String| Default: `''` A string containing the location of a global fallback configuration file. By default, ALE will look for a configuration file named `scalastyle_config.xml` or `scalastyle-config.xml` in the current file's directory or parent directories. g:ale_scala_scalastyle_options *g:ale_scala_scalastyle_options* *b:ale_scala_scalastyle_options* Type: |String| Default: `''` A string containing additional options to pass to scalastyle. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-scss.txt ================================================ =============================================================================== ALE SCSS Integration *ale-scss-options* =============================================================================== prettier *ale-scss-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== sasslint *ale-scss-sasslint* g:ale_scss_sasslint_executable *g:ale_scss_sasslint_executable* *b:ale_scss_sasslint_executable* Type: |String| Default: `'sass-lint'` See |ale-integrations-local-executables| g:ale_scss_sasslint_options *g:ale_scss_sasslint_options* *b:ale_scss_sasslint_options* Type: |String| Default: `''` This variable can be set to pass additional options to sass-lint. g:ale_scss_sasslint_use_global *g:ale_scss_sasslint_use_global* *b:ale_scss_sasslint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== stylelint *ale-scss-stylelint* g:ale_scss_stylelint_executable *g:ale_scss_stylelint_executable* *b:ale_scss_stylelint_executable* Type: |String| Default: `'stylelint'` See |ale-integrations-local-executables| g:ale_scss_stylelint_options *g:ale_scss_stylelint_options* *b:ale_scss_stylelint_options* Type: |String| Default: `''` This variable can be set to pass additional options to stylelint. g:ale_scss_stylelint_use_global *g:ale_scss_stylelint_use_global* *b:ale_scss_stylelint_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-sh.txt ================================================ =============================================================================== ALE Shell Integration *ale-sh-options* =============================================================================== bashate *ale-sh-bashate* g:ale_sh_bashate_executable *g:ale_sh_bashate_executable* *b:ale_sh_bashate_executable* Type: |String| Default: `'bashate'` This variable sets executable used for bashate. g:ale_sh_bashate_options *g:ale_sh_bashate_options* *b:ale_sh_bashate_options* Type: |String| Default: `''` With this variable we are able to pass extra arguments for bashate. For example to ignore the indentation rule: > let g:ale_sh_bashate_options = '-i E003' < =============================================================================== cspell *ale-sh-cspell* See |ale-cspell-options| =============================================================================== sh-language-server *ale-sh-language-server* g:ale_sh_language_server_executable *g:ale_sh_language_server_executable* *b:ale_sh_language_server_executable* Type: |String| Default: `'bash-language-server'` See |ale-integrations-local-executables| g:ale_sh_language_server_use_global *g:ale_sh_language_server_use_global* *b:ale_sh_language_server_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== shell *ale-sh-shell* g:ale_sh_shell_default_shell *g:ale_sh_shell_default_shell* *b:ale_sh_shell_default_shell* Type: |String| Default: The current shell (`$SHELL`). Falls back to `'bash'` if that cannot be read or if the current shell is `'fish'`. When ALE runs the linter for shells with the `-n` flag, it will attempt to read the shell from the shebang (`#!`) line from the shell script to determine the shell program to run. When this detection fails, this variable will be used instead. =============================================================================== shellcheck *ale-sh-shellcheck* g:ale_sh_shellcheck_executable *g:ale_sh_shellcheck_executable* *b:ale_sh_shellcheck_executable* Type: |String| Default: `'shellcheck'` This variable sets executable used for shellcheck. g:ale_sh_shellcheck_options *g:ale_sh_shellcheck_options* *b:ale_sh_shellcheck_options* Type: |String| Default: `''` With this variable we are able to pass extra arguments for shellcheck for shellcheck invocation. For example, if we want shellcheck to follow external sources (`see SC1091`) we can set the variable as such: > let g:ale_sh_shellcheck_options = '-x' < g:ale_sh_shellcheck_change_directory *g:ale_sh_shellcheck_change_directory* *b:ale_sh_shellcheck_change_directory* Type: |Number| Default: `1` If set to `1`, ALE will switch to the directory the shell file being checked with `shellcheck` is in before checking it. This helps `shellcheck` determine the path to sourced files more easily. This option can be turned off if you want to control the directory `shellcheck` is executed from yourself. g:ale_sh_shellcheck_dialect *g:ale_sh_shellcheck_dialect* *b:ale_sh_shellcheck_dialect* Type: |String| Default: `'auto'` This variable specifies the shellcheck dialect (`-s` option). The value `'auto'` causes ALE to detect the dialect automatically, based on the shebang line (if present) or the value of `b:is_bash`, `b:is_sh`, or `b:is_kornshell` (set and used by |sh.vim|). g:ale_sh_shellcheck_exclusions *g:ale_sh_shellcheck_exclusions* *b:ale_sh_shellcheck_exclusions* Type: |String| Default: `''` Set this variable to exclude test(s) for shellcheck (-e/--exclude option). To exclude more than one option, separate them with commas. For example, to ignore some warnings that aren't applicable to files that will be sourced by other scripts, use the buffer-local variant: > autocmd BufEnter PKGBUILD,.env \ let b:ale_sh_shellcheck_exclusions = 'SC2034,SC2154,SC2164' < =============================================================================== shfmt *ale-sh-shfmt* g:ale_sh_shfmt_options *g:ale_sh_shfmt_options* *b:ale_sh_shfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the shfmt fixer. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-sml.txt ================================================ =============================================================================== ALE SML Integration *ale-sml-options* =============================================================================== smlnj *ale-sml-smlnj* *ale-sml-smlnj-cm* There are two SML/NJ powered checkers: - one using Compilation Manager that works on whole projects, but requires you to save before errors show up - one using the SML/NJ REPL that works as you change the text, but might fail if your project can only be built with CM. We dynamically select which one to use based whether we find a `*.cm` file at or above the directory of the file being checked. Only one checker (`smlnj`, `smlnj-cm`) will be enabled at a time. ------------------------------------------------------------------------------- g:ale_sml_smlnj_cm_file *g:ale_sml_smlnj_cm_file* *b:ale_sml_smlnj_cm_file* Type: |String| Default: `'*.cm'` By default, ALE will look for a `*.cm` file in your current directory, searching upwards. It stops when it finds at least one `*.cm` file (taking the first file if there are more than one). Change this option (in the buffer or global scope) to control how ALE finds CM files. For example, to always search for a CM file named `sandbox.cm`: > let g:ale_sml_smlnj_cm_file = 'sandbox.cm' =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-solidity.txt ================================================ =============================================================================== ALE Solidity Integration *ale-solidity-options* =============================================================================== solc *ale-solidity-solc* g:ale_solidity_solc_executable *g:ale_solidity_solc_executable* *b:ale_solidity_solc_executable* Type: |String| Default: `'solc'` Override the invoked solc binary. For truffle/hardhat binaries. g:ale_solidity_solc_options *g:ale_solidity_solc_options* *b:ale_solidity_solc_options* Type: |String| Default: `''` This variable can be set to pass extra options to solc. =============================================================================== solhint *ale-solidity-solhint* Solhint should work out-of-the-box. You can further configure it using a `.solihint.json` file. See https://github.com/protofire/solhint for more information. =============================================================================== solium *ale-solidity-solium* Use of Solium linter for Solidity source code requires a .soliumrc.json file in project root. This file can be generated by running `solium --init`. See the corresponding solium usage for detailed instructions (https://github.com/duaraghav8/Solium#usage). =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-spec.txt ================================================ =============================================================================== ALE Spec Integration *ale-spec-options* *ale-integration-spec* =============================================================================== Integration Information The rpmlint linter is disabled by default, because running rpmlint can result in the execution of code embedded in the spec file and rpmlint makes no distinction between checks which are safe to run on untrusted files and those which are not. Currently linters must be enabled globally. The rpmlint linter can be enabled with: > let g:ale_linters = {'spec': ['rpmlint']} < =============================================================================== rpmlint *ale-spec-rpmlint* g:ale_spec_rpmlint_executable *g:ale_spec_rpmlint_executable* *b:ale_spec_rpmlint_executable* Type: |String| Default: `'rpmlint'` This variable sets executable used for rpmlint. g:ale_spec_rpmlint_options *g:ale_spec_rpmlint_options* *b:ale_spec_rpmlint_options* Type: |String| Default: `''` Set this to pass extra arguments to rpmlint. For example, to instruct rpmlint to use a specific configuration file: > let g:ale_spec_rpmlint_options = '-f custom.cf' < =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-sql.txt ================================================ =============================================================================== ALE SQL Integration *ale-sql-options* =============================================================================== dprint *ale-sql-dprint* See |ale-dprint-options| and https://github.com/dprint/dprint-plugin-sql/releases =============================================================================== pgformatter *ale-sql-pgformatter* g:ale_sql_pgformatter_executable *g:ale_sql_pgformatter_executable* *b:ale_sql_pgformatter_executable* Type: |String| Default: `'pg_format'` This variable sets executable used for pgformatter. g:ale_sql_pgformatter_options *g:ale_sql_pgformatter_options* *b:ale_sql_pgformatter_options* Type: |String| Default: `''` This variable can be set to pass additional options to the pgformatter fixer. =============================================================================== sqlfluff *ale-sql-sqlfluff* g:ale_sql_sqlfluff_executable *g:ale_sql_sqlfluff_executable* *b:ale_sql_sqlfluff_executable* Type: |String| Default: `'sqlfluff'` This variable sets executable used for sqlfluff. g:ale_sql_sqlfluff_options *g:ale_sql_sqlfluff_options* *b:ale_sql_sqlfluff_options* Type: |String| Default: `''` This variable can be set to pass additional options to the sqlfluff linter. =============================================================================== =============================================================================== sqlfmt *ale-sql-sqlfmt* g:ale_sql_sqlfmt_executable *g:ale_sql_sqlfmt_executable* *b:ale_sql_sqlfmt_executable* Type: |String| Default: `'sqlfmt'` This variable sets executable used for sqlfmt. g:ale_sql_sqlfmt_options *g:ale_sql_sqlfmt_options* *b:ale_sql_sqlfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the sqlfmt fixer. At this time only the -u flag is available to format with upper-case. =============================================================================== sqlformat *ale-sql-sqlformat* g:ale_sql_sqlformat_executable *g:ale_sql_sqlformat_executable* *b:ale_sql_sqlformat_executable* Type: |String| Default: `'sqlformat'` This variable sets executable used for sqlformat. g:ale_sql_sqlformat_options *g:ale_sql_sqlformat_options* *b:ale_sql_sqlformat_options* Type: |String| Default: `''` This variable can be set to pass additional options to the sqlformat fixer. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-stylus.txt ================================================ =============================================================================== ALE Stylus Integration *ale-stylus-options* =============================================================================== stylelint *ale-stylus-stylelint* g:ale_stylus_stylelint_executable *g:ale_stylus_stylelint_executable* *b:ale_stylus_stylelint_executable* Type: |String| Default: `'stylelint'` See |ale-integrations-local-executables| g:ale_stylus_stylelint_options *g:ale_stylus_stylelint_options* *b:ale_stylus_stylelint_options* Type: |String| Default: `''` This variable can be set to pass additional options to stylelint. g:ale_stylus_stylelint_use_global *g:ale_stylus_stylelint_use_global* *b:ale_stylus_stylelint_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-sugarss.txt ================================================ =============================================================================== ALE SugarSS Integration *ale-sugarss-options* =============================================================================== stylelint *ale-sugarss-stylelint* g:ale_sugarss_stylelint_executable *g:ale_sugarss_stylelint_executable* *b:ale_sugarss_stylelint_executable* Type: |String| Default: `'stylelint'` See |ale-integrations-local-executables| g:ale_sugarss_stylelint_options *g:ale_sugarss_stylelint_options* *b:ale_sugarss_stylelint_options* Type: |String| Default: `''` This variable can be set to pass additional options to stylelint. g:ale_sugarss_stylelint_use_global *g:ale_sugarss_stylelint_use_global* *b:ale_sugarss_stylelint_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-supported-languages-and-tools.txt ================================================ *ale-supported-languages-and-tools.txt* For Vim version 8.0. *ale-supported-list* ALE Supported Languages and Tools =============================================================================== The following languages and tools are supported by ALE. Notes: `^` No linters for text or Vim help filetypes are enabled by default. `!!` These linters check only files on disk. See |ale-lint-file-linters| * Ada * `ada_language_server` * `cspell` * `gcc` * `gnatpp` * Ansible * `ansible-language-server` * `ansible-lint`!! * API Blueprint * `drafter` * APKBUILD * `apkbuild-lint` * `secfixes-check` * AsciiDoc * `alex` * `cspell` * `languagetool`!! * `proselint` * `redpen` * `textlint` * `vale` * `write-good` * ASM * `gcc` * AVRA * `avra` * Awk * `gawk` * Bash * `bashate` * `cspell` * `language-server` * `shell` (-n flag) * `shellcheck` * `shfmt` * Bats * `shellcheck` * Bazel * `buildifier` * BibTeX * `bibclean` * Bicep * `bicep` * BitBake * `oelint-adv` * Bourne Shell * `shell` (-n flag) * `shellcheck` * `shfmt` * C * `astyle` * `ccls` * `clang` (`cc`) * `clang-format` * `clangd` * `clangtidy`!! * `cppcheck` * `cpplint`!! * `cquery` * `cspell` * `flawfinder` * `gcc` (`cc`) * `uncrustify` * C# * `clang-format` * `csc`!! * `cspell` * `dotnet-format` * `mcs` * `mcsc`!! * `uncrustify` * C++ (filetype cpp) * `astyle` * `ccls` * `clang` (`cc`) * `clang-format` * `clangcheck`!! * `clangd` * `clangtidy`!! * `clazy`!! * `cppcheck` * `cpplint`!! * `cquery` * `cspell` * `flawfinder` * `gcc` (`cc`) * `uncrustify` * Cairo * `starknet` * Chef * `cookstyle` * `foodcritic`!! * Clojure * `clj-kondo` * `joker` * CloudFormation * `cfn-python-lint` * CMake * `cmake-format` * `cmake-lint` * `cmakelint` * CoffeeScript * `coffee` * `coffeelint` * Crystal * `ameba`!! * `crystal`!! * CSS * `VSCode CSS language server` * `cspell` * `css-beautify` * `csslint` * `fecs` * `prettier` * `stylelint` * Cucumber * `cucumber` * CUDA * `clang-format` * `clangd` * `nvcc`!! * Cypher * `cypher-lint` * Cython (pyrex filetype) * `cython` * D * `dfmt` * `dls` * `dmd` * `uncrustify` * Dafny * `dafny`!! * Dart * `analysis_server` * `dart-analyze`!! * `dart-format`!! * `dartfmt`!! * `language_server` * desktop * `desktop-file-validate` * Dhall * `dhall-format` * `dhall-freeze` * `dhall-lint` * Dockerfile * `dockerfile_lint` * `dprint` * `hadolint` * Elixir * `credo` * `cspell` * `dialyxir` * `dogma`!! * `elixir-ls` * `mix`!! * Elm * `elm-format` * `elm-ls` * `elm-make` * Erb * `erb` * `erblint` * `erubi` * `erubis` * `ruumba` * Erlang * `SyntaxErl` * `dialyzer`!! * `elvis`!! * `erlang_ls` * `erlc` * `erlfmt` * Fish * `fish` (-n flag) * `fish_indent` * Fortran * `gcc` * `language_server` * Fountain * `proselint` * FusionScript * `fusion-lint` * Git Commit Messages * `gitlint` * GLSL * `glslang` * `glslls` * Go * `bingo` * `cspell` * `go build`!! * `go mod`!! * `go vet`!! * `gofmt` * `gofumpt` * `goimports` * `golangci-lint`!! * `golangserver` * `golines` * `golint` * `gometalinter`!! * `gopls` * `gosimple`!! * `gotype`!! * `revive`!! * `staticcheck`!! * GraphQL * `eslint` * `gqlint` * `prettier` * Hack * `hack` * `hackfmt` * `hhast` * Haml * `haml-lint` * Handlebars * `ember-template-lint` * Haskell * `brittany` * `cabal-ghc` * `cspell` * `floskell` * `ghc` * `ghc-mod` * `hdevtools` * `hfmt` * `hie` * `hindent` * `hlint` * `hls` * `ormolu` * `stack-build`!! * `stack-ghc` * `stylish-haskell` * HCL * `packer-fmt` * `terraform-fmt` * HTML * `VSCode HTML language server` * `alex` * `angular` * `cspell` * `fecs` * `html-beautify` * `htmlhint` * `prettier` * `proselint` * `tidy` * `write-good` * Idris * `idris` * Ink * `ink-language-server` * Inko * `inko` !! * ISPC * `ispc`!! * Java * `PMD` * `checkstyle`!! * `clang-format` * `cspell` * `eclipselsp` * `google-java-format` * `javac` * `javalsp` * `uncrustify` * JavaScript * `clang-format` * `cspell` * `deno` * `dprint` * `eslint` * `fecs` * `flow` * `jscs` * `jshint` * `prettier` * `prettier-eslint` * `prettier-standard` * `standard` * `tsserver` * `xo` * JSON * `VSCode JSON language server` * `clang-format` * `cspell` * `dprint` * `eslint` * `fixjson` * `jq` * `jsonlint` * `prettier` * `spectral` * JSON5 * `eslint` * JSONC * `eslint` * Jsonnet * `jsonnet-lint` * `jsonnetfmt` * Julia * `languageserver` * Kotlin * `kotlinc`!! * `ktlint` * `languageserver` * LaTeX (tex) * `alex` * `chktex` * `cspell` * `lacheck` * `proselint` * `redpen` * `texlab` * `textlint` * `vale` * `write-good` * Less * `lessc` * `prettier` * `stylelint` * LLVM * `llc` * Lua * `cspell` * `lua-format` * `luac` * `luacheck` * `luafmt` * `selene` * `stylua` * Mail * `alex` * `languagetool`!! * `proselint` * `vale` * Make * `checkmake` * Markdown * `alex` * `cspell` * `languagetool`!! * `markdownlint`!! * `mdl` * `pandoc` * `prettier` * `proselint` * `redpen` * `remark-lint` * `textlint` * `vale` * `write-good` * MATLAB * `mlint` * Mercury * `mmc`!! * NASM * `nasm`!! * Nim * `nim check`!! * `nimlsp` * `nimpretty` * nix * `nix-instantiate` * `nixfmt` * `nixpkgs-fmt` * `rnix-lsp` * `statix` * nroff * `alex` * `proselint` * `write-good` * Objective-C * `ccls` * `clang` * `clang-format` * `clangd` * `uncrustify` * Objective-C++ * `clang` * `clangd` * `uncrustify` * OCaml * `dune` * `merlin` (see |ale-ocaml-merlin|) * `ocamlformat` * `ocamllsp` * `ocp-indent` * `ols` * OpenApi * `ibm_validator` * `prettier` * `yamllint` * OpenSCAD * `SCA2D` * Packer * `packer-fmt-fixer` * Pascal * `ptop` * Pawn * `uncrustify` * Perl * `perl -c` * `perl-critic` * `perltidy` * Perl6 * `perl6 -c` * PHP * `cspell` * `intelephense` * `langserver` * `phan` * `php -l` * `php-cs-fixer` * `phpactor` * `phpcbf` * `phpcs` * `phpmd` * `phpstan` * `pint` * `psalm`!! * `tlint` * PO * `alex` * `msgfmt` * `proselint` * `write-good` * Pod * `alex` * `proselint` * `write-good` * Pony * `ponyc` * PowerShell * `cspell` * `powershell` * `psscriptanalyzer` * Prolog * `swipl` * proto * `buf-format`!! * `buf-lint`!! * `clang-format` * `protoc-gen-lint`!! * `protolint`!! * Pug * `pug-lint` * Puppet * `languageserver` * `puppet` * `puppet-lint` * PureScript * `purescript-language-server` * `purs-tidy` * `purty` * Python * `autoflake`!! * `autoimport` * `autopep8` * `bandit` * `black` * `cspell` * `flake8` * `flakehell` * `isort` * `mypy` * `prospector`!! * `pycodestyle` * `pydocstyle` * `pyflakes` * `pyflyby` * `pylama`!! * `pylint`!! * `pylsp` * `pyre` * `pyright` * `refurb` * `reorder-python-imports` * ruff * `unimport` * `vulture`!! * `yapf` * QML * `qmlfmt` * `qmllint` * R * `languageserver` * `lintr` * `styler` * Racket * `racket-langserver` * `raco` * `raco_fmt` * Re:VIEW * `redpen` * ReasonML * `merlin` * `ols` * `reason-language-server` * `refmt` * Rego * `cspell` * `opacheck` * `opafmt` * reStructuredText * `alex` * `cspell` * `proselint` * `redpen` * `rstcheck` * `textlint` * `vale` * `write-good` * Robot * `rflint` * RPM spec * `rpmlint` * Ruby * `brakeman`!! * `cspell` * `debride` * `prettier` * `rails_best_practices`!! * `reek` * `rubocop` * `ruby` * `rufo` * `solargraph` * `sorbet` * `standardrb` * `syntax_tree` * Rust * `cargo`!! * `cspell` * `rls` * `rust-analyzer` * `rustc` (see |ale-integration-rust|) * `rustfmt` * Salt * `salt-lint` * Sass * `sass-lint` * `stylelint` * Scala * `cspell` * `fsc` * `metals` * `sbtserver` * `scalac` * `scalafmt` * `scalastyle` * SCSS * `prettier` * `sass-lint` * `scss-lint` * `stylelint` * Slim * `slim-lint` * SML * `smlnj` * Solidity * `solc` * `solhint` * `solium` * SQL * `dprint` * `pgformatter` * `sql-lint` * `sqlfluff` * `sqlfmt` * `sqlformat` * `sqlint` * Stylus * `stylelint` * SugarSS * `stylelint` * Svelte * `prettier` * `svelteserver` * Swift * Apple `swift-format` * `cspell` * `sourcekit-lsp` * `swiftformat` * `swiftlint` * systemd * `systemd-analyze`!! * Tcl * `nagelfar`!! * Terraform * `checkov` * `terraform` * `terraform-fmt-fixer` * `terraform-ls` * `terraform-lsp` * `tflint` * `tfsec` * Texinfo * `alex` * `cspell` * `proselint` * `write-good` * Text^ * `alex` * `cspell` * `languagetool`!! * `proselint` * `redpen` * `textlint` * `vale` * `write-good` * Thrift * `thrift` * `thriftcheck` * TOML * `dprint` * TypeScript * `cspell` * `deno` * `dprint` * `eslint` * `fecs` * `prettier` * `standard` * `tslint` * `tsserver` * `typecheck` * V * `v`!! * `vfmt` * VALA * `uncrustify` * `vala_lint`!! * Verilog * `hdl-checker` * `iverilog` * `verilator` * `vlog` * `xvlog` * `yosys`!! * VHDL * `ghdl` * `vcom` * `xvhdl` * Vim * `vimls` * `vint` * Vim help^ * `alex` * `proselint` * `write-good` * Vue * `cspell` * `prettier` * `vls` * `volar` * WGSL * `naga` * XHTML * `alex` * `cspell` * `proselint` * `write-good` * XML * `xmllint` * YAML * `actionlint` * `circleci`!! * `gitlablint` * `prettier` * `spectral` * `swaglint` * `yaml-language-server` * `yamlfix` * `yamllint` * YANG * `yang-lsp` * Zeek * `zeek`!! * Zig * `zigfmt` * `zls` =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-svelte.txt ================================================ =============================================================================== ALE Svelte Integration *ale-svelte-options* =============================================================================== prettier *ale-svelte-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== svelteserver *ale-svelte-svelteserver* g:ale_svelte_svelteserver_executable *g:ale_svelte_svelteserver_executable* *b:ale_svelte_svelteserver_executable* Type: |String| Default: `'svelteserver'` See |ale-integrations-local-executables| g:ale_svelte_svelteserver_use_global *g:ale_svelte_svelteserver_use_global* *b:ale_svelte_svelteserver_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-swift.txt ================================================ =============================================================================== ALE Swift Integration *ale-swift-options* =============================================================================== apple-swift-format *ale-swift-apple-swift-format* There are 3 options to enable linting and fixing with Apple's swift-format: 1. Install the local executable in your path, as described here: https://github.com/apple/swift-format 2. Install the executable via your OS package manager, for instance via Homebrew with `brew install swift-format` 3. Your Swift project has a dependency on the swift-format package, so it can be run with `swift run swift-format lint ...` In this case, you need to set a variable, see |g:ale_swift_appleswiftformat_use_swiftpm|. Additionally, ALE tries to locate and use the nearest existing `.swift-format` configuration file. g:ale_swift_appleswiftformat_executable *g:ale_swift_appleswiftformat_executable* *b:ale_swift_appleswiftformat_executable* Type: |String| Default: `'swift-format'` This variable can be modified to change the executable path for `swift-format`. g:ale_swift_appleswiftformat_use_swiftpm *g:ale_swift_appleswiftformat_use_swiftpm* *b:ale_swift_appleswiftformat_use_swiftpm* Type: |Number| Default: `0` When set to `1`, this option will cause ALE to use `swift run swift-format lint ...` instead of the global executable. Use this option if your Swift project has a dependency on the swift-format package. See |ale-integrations-local-executables| =============================================================================== cspell *ale-swift-cspell* See |ale-cspell-options| =============================================================================== sourcekitlsp *ale-swift-sourcekitlsp* To enable the SourceKit-LSP you need to install and build the executable as described here: https://github.com/apple/sourcekit-lsp#building-sourcekit-lsp g:ale_sourcekit_lsp_executable *g:ale_sourcekit_lsp_executable* *b:ale_sourcekit_lsp_executable* Type: |String| Default: `'sourcekit-lsp'` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-systemd.txt ================================================ =============================================================================== ALE systemd Integration *ale-systemd-options* =============================================================================== systemd-analyze *ale-systemd-analyze* ALE supports checking user systemd units with `systemd-analyze --user verify` Checks will only work with user unit files in their proper location. There aren't any options, and checks can only run after saving the file. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-tcl.txt ================================================ =============================================================================== ALE Tcl Integration *ale-tcl-options* =============================================================================== nagelfar *ale-tcl-nagelfar* g:ale_tcl_nagelfar_executable *g:ale_tcl_nagelfar_executable* *b:ale_tcl_nagelfar_executable* Type: |String| Default: `'nagelfar.tcl'` This variable can be changed to change the path to nagelfar. g:ale_tcl_nagelfar_options *g:ale_tcl_nagelfar_options* *b:ale_tcl_nagelfar_options* Type: |String| Default: `''` This variable can be changed to modify flags given to nagelfar. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-terraform.txt ================================================ =============================================================================== ALE Terraform Integration *ale-terraform-options* =============================================================================== checkov *ale-terraform-checkov* g:ale_terraform_checkov_executable *g:ale_terraform_checkov_executable* *b:ale_terraform_checkov_executable* Type: |String| Default: `'checkov'` This variable can be changed to use a different executable for checkov. g:ale_terraform_checkov_options *g:ale_terraform_checkov_options* *b:ale_terraform_checkov_options* Type: |String| Default: `''` This variable can be changed to set additional options for checkov. =============================================================================== terraform-fmt-fixer *ale-terraform-fmt-fixer* g:ale_terraform_fmt_executable *g:ale_terraform_fmt_executable* *b:ale_terraform_fmt_executable* Type: |String| Default: `'terraform'` This variable can be changed to use a different executable for terraform. g:ale_terraform_fmt_options *g:ale_terraform_fmt_options* *b:ale_terraform_fmt_options* Type: |String| Default: `''` =============================================================================== terraform *ale-terraform-terraform* g:ale_terraform_terraform_executable *g:ale_terraform_terraform_executable* *b:ale_terraform_terraform_executable* Type: |String| Default: `'terraform'` This variable can be changed to use a different executable for terraform. =============================================================================== terraform-ls *ale-terraform-terraform-ls* Official terraform language server. More stable than *terraform-lsp* but currently has less features. g:ale_terraform_ls_executable *g:ale_terraform_ls_executable* *b:ale_terraform_ls_executable* Type: |String| Default: `'terraform-ls'` This variable can be changed to use a different executable for terraform-ls. g:ale_terraform_ls_options *g:ale_terraform_ls_options* *b:ale_terraform_ls_options* Type: |String| Default: `''` This variable can be changed to pass custom CLI flags to terraform-ls. =============================================================================== terraform-lsp *ale-terraform-terraform-lsp* g:ale_terraform_langserver_executable *g:ale_terraform_langserver_executable* *b:ale_terraform_langserver_executable* Type: |String| Default: `'terraform-lsp'` This variable can be changed to use a different executable for terraform-lsp. g:ale_terraform_langserver_options *g:ale_terraform_langserver_options* *b:ale_terraform_langserver_options* Type: |String| Default: `''` This variable can be changed to pass custom CLI flags to terraform-lsp. =============================================================================== tflint *ale-terraform-tflint* g:ale_terraform_tflint_executable *g:ale_terraform_tflint_executable* *b:ale_terraform_tflint_executable* Type: |String| Default: `'tflint'` This variable can be changed to use a different executable for tflint. g:ale_terraform_tflint_options *g:ale_terraform_tflint_options* *b:ale_terraform_tflint_options* Type: |String| Default: `'-f json'` This variable can be changed to pass different options to tflint. Ale does expect json output from tflint, so if you change this, you'll probably want to include '-f json' in your new value. =============================================================================== tfsec *ale-terraform-tfsec* g:ale_terraform_tfsec_executable *g:ale_terraform_tfsec_executable* *b:ale_terraform_tfsec_executable* Type: |String| Default: `'tfsec'` This variable can be changed to use a different executable for tfsec. g:ale_terraform_tfsec_options *g:ale_terraform_tfsec_options* *b:ale_terraform_tfsec_options* Type: |String| Default: `''` This variable can be changed to pass custom CLI flags to tfsec. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-tex.txt ================================================ =============================================================================== ALE TeX Integration *ale-tex-options* =============================================================================== chktex *ale-tex-chktex* g:ale_tex_chktex_executable *g:ale_tex_chktex_executable* *b:ale_tex_chktex_executable* Type: |String| Default: `'chktex'` This variable can be changed to change the path to chktex. g:ale_tex_chktex_options *g:ale_tex_chktex_options* *b:ale_tex_chktex_options* Type: |String| Default: `'-I'` This variable can be changed to modify flags given to chktex. =============================================================================== cspell *ale-tex-cspell* See |ale-cspell-options| =============================================================================== lacheck *ale-tex-lacheck* g:ale_lacheck_executable *g:ale_lacheck_executable* *b:ale_lacheck_executable* Type: |String| Default: `'lacheck'` This variable can be changed to change the path to lacheck. =============================================================================== latexindent *ale-tex-latexindent* g:ale_tex_latexindent_executable *g:ale_tex_latexindent_executable* *b:ale_tex_latexindent_executable* Type: |String| Default: `'latexindent'` This variable can be changed to change the path to latexindent. g:ale_tex_latexindent_options *g:ale_tex_latexindent_options* *b:ale_tex_latexindent_options* Type: |String| Default: `''` This variable can be changed to modify flags given to latexindent. =============================================================================== texlab *ale-tex-texlab* g:ale_tex_texlab_executable *g:ale_tex_texlab_executable* *b:ale_tex_texlab_executable* Type: |String| Default: `'texlab'` This variable can be changed to change the path to texlab. g:ale_tex_texlab_options *g:ale_tex_texlab_options* *b:ale_tex_texlab_options* Type: |String| Default: `''` This variable can be changed to modify flags given to texlab command. g:ale_tex_texlab_config *g:ale_tex_texlab_config* *b:ale_tex_texlab_config* Type: |Dictionary| Default: `{}` Dictionary containing LSP configuration settings used to initialize texlab language server. Refer to texlab documentation for possible settings: https://github.com/latex-lsp/texlab/blob/master/docs/options.md For example to set build onSave initialization setting: > let g:ale_tex_texlab_config = {"build":{"onSave":v:true}} < =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-texinfo.txt ================================================ =============================================================================== ALE Texinfo Integration *ale-texinfo-options* =============================================================================== cspell *ale-texinfo-cspell* See |ale-cspell-options| =============================================================================== write-good *ale-texinfo-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-text.txt ================================================ =============================================================================== ALE Text Integration *ale-text-options* ============================================================================== cspell *ale-text-cspell* See |ale-cspell-options| =============================================================================== textlint *ale-text-textlint* The options for the textlint linter are global because it does not make sense to have them specified on a per-language basis. g:ale_textlint_executable *g:ale_textlint_executable* *b:ale_textlint_executable* Type: |String| Default: `'textlint'` See |ale-integrations-local-executables| g:ale_textlint_options *g:ale_textlint_options* *b:ale_textlint_options* Type: |String| Default: `''` This variable can be set to pass additional options to textlint. g:ale_textlint_use_global *g:ale_textlint_use_global* *b:ale_textlint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== write-good *ale-text-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-thrift.txt ================================================ =============================================================================== ALE Thrift Integration *ale-thrift-options* =============================================================================== thrift *ale-thrift-thrift* The `thrift` linter works by compiling the buffer's contents and reporting any errors reported by the parser and the configured code generator(s). g:ale_thrift_thrift_executable *g:ale_thrift_thrift_executable* *b:ale_thrift_thrift_executable* Type: |String| Default: `'thrift'` See |ale-integrations-local-executables| g:ale_thrift_thrift_generators *g:ale_thrift_thrift_generators* *b:ale_thrift_thrift_generators* Type: |List| of |String|s Default: `['cpp']` This list must contain one or more named code generators. Generator options can be included as part of each string, e.g. `['py:dynamic']`. g:ale_thrift_thrift_includes *g:ale_thrift_thrift_includes* *b:ale_thrift_thrift_includes* Type: |List| of |String|s Default: `['.']` This list contains paths that will be searched for thrift `include` directives. g:ale_thrift_thrift_options *g:ale_thrift_thrift_options* *b:ale_thrift_thrift_options* Type: |String| Default: `'-strict'` This variable can be changed to customize the additional command-line arguments that are passed to the thrift compiler. =============================================================================== thriftcheck *ale-thrift-thriftcheck* g:ale_thrift_thriftcheck_executable *g:ale_thrift_thriftcheck_executable* *b:ale_thrift_thriftcheck_executable* Type: |String| Default: `'thriftcheck'` See |ale-integrations-local-executables| g:ale_thrift_thriftcheck_options *g:ale_thrift_thriftcheck_options* *b:ale_thrift_thriftcheck_options* Type: |String| Default: `''` This variable can be changed to customize the additional command-line arguments that are passed to thriftcheck. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-toml.txt ================================================ =============================================================================== ALE TOML Integration *ale-toml-options* =============================================================================== dprint *ale-toml-dprint* See |ale-dprint-options| and https://dprint.dev/plugins/toml =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-typescript.txt ================================================ =============================================================================== ALE TypeScript Integration *ale-typescript-options* =============================================================================== cspell *ale-typescript-cspell* See |ale-cspell-options| =============================================================================== deno *ale-typescript-deno* Starting from version 1.6.0, Deno comes with its own language server. Earlier versions are not supported. g:ale_deno_executable *g:ale_deno_executable* *b:ale_deno_executable* Type: |String| Default: `'deno'` g:ale_deno_lsp_project_root *g:ale_deno_lsp_project_root* *b:ale_deno_lsp_project_root* Type: |String| Default: `''` If this variable is left unset, ALE will try to find the project root by executing the following steps in the given order: 1. Find an ancestor directory containing a tsconfig.json. 2. Find an ancestor directory containing a .git folder. 3. Use the directory of the current buffer (if the buffer was opened from a file). g:ale_deno_unstable *g:ale_deno_unstable* *b:ale_deno_unstable* Type: |Number| Default: `0` Enable or disable unstable Deno features and APIs. g:ale_deno_importMap *g:ale_deno_importMap* *b:ale_deno_importMap* Type: |String| Default: `'import_map.json'` Specify the import map filename to load url maps in a deno project. =============================================================================== dprint *ale-typescript-dprint* See |ale-dprint-options| and https://dprint.dev/plugins/typescript =============================================================================== eslint *ale-typescript-eslint* Because of how TypeScript compiles code to JavaScript and how interrelated the two languages are, the `eslint` linter for TypeScript uses the JavaScript options for `eslint` too. See: |ale-javascript-eslint|. =============================================================================== prettier *ale-typescript-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== standard *ale-typescript-standard* g:ale_typescript_standard_executable *g:ale_typescript_standard_executable* *b:ale_typescript_standard_executable* Type: |String| Default: `'standard'` See |ale-integrations-local-executables| g:ale_typescript_standard_options *g:ale_typescript_standard_options* *b:ale_typescript_standard_options* Type: |String| Default: `''` This variable can be set to pass additional options to standard. g:ale_typescript_standard_use_global *g:ale_typescript_standard_use_global* *b:ale_typescript_standard_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== tslint *ale-typescript-tslint* This linter isn't recommended, because TSLint can't be used for checking for problems while you type. You should probably use the tsserver plugin instead. tsserver plugins are described here: https://github.com/Microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin Follow the instructions on the plugin website for installing it: https://github.com/Microsoft/typescript-tslint-plugin Then disable TSLint in vimrc or any other Vim configuration file. > let g:ale_linters_ignore = {'typescript': ['tslint']} < g:ale_typescript_tslint_executable *g:ale_typescript_tslint_executable* *b:ale_typescript_tslint_executable* Type: |String| Default: `'tslint'` See |ale-integrations-local-executables| g:ale_typescript_tslint_config_path *g:ale_typescript_tslint_config_path* *b:ale_typescript_tslint_config_path* Type: |String| Default: `''` ALE will first discover the tslint.json path in an ancestor directory. If no such path exists, this variable will be used instead. g:ale_typescript_tslint_ignore_empty_files *g:ale_typescript_tslint_ignore_empty_files* *b:ale_typescript_tslint_ignore_empty_files* Type: |Number| Default: `0` When set to `1`, ALE will not report any problems for empty files with TSLint. ALE will still execute TSLint for the files, but ignore any problems reported. This stops ALE from complaining about newly created files, and files where lines have been added and then removed. g:ale_typescript_tslint_rules_dir *g:ale_typescript_tslint_rules_dir* *b:ale_typescript_tslint_rules_dir* Type: |String| Default: `''` If this variable is set, ALE will use it as the rules directory for tslint. g:ale_typescript_tslint_use_global *g:ale_typescript_tslint_use_global* *b:ale_typescript_tslint_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== tsserver *ale-typescript-tsserver* g:ale_typescript_tsserver_executable *g:ale_typescript_tsserver_executable* *b:ale_typescript_tsserver_executable* Type: |String| Default: `'tsserver'` ALE will first discover the tsserver path in an ancestor node_modules directory. If no such path exists, this variable will be used instead. If you wish to use only a globally installed version of tsserver, set |g:ale_typescript_tsserver_use_global| to `1`. g:ale_typescript_tsserver_config_path *g:ale_typescript_tsserver_config_path* *b:ale_typescript_tsserver_config_path* Type: |String| Default: `''` ALE will first discover the tsserver.json path in an ancestor directory. If no such path exists, this variable will be used instead. g:ale_typescript_tsserver_use_global *g:ale_typescript_tsserver_use_global* *b:ale_typescript_tsserver_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` This variable controls whether or not ALE will search for a local path for tsserver first. If this variable is set to `1`, then ALE will always use the global version of tsserver, in preference to locally installed versions of tsserver in node_modules. =============================================================================== xo *ale-typescript-xo* g:ale_typescript_xo_executable *g:ale_typescript_xo_executable* *b:ale_typescript_xo_executable* Type: |String| Default: `'xo'` See |ale-integrations-local-executables| g:ale_typescript_xo_options *g:ale_typescript_xo_options* *b:ale_typescript_xo_options* Type: |String| Default: `''` This variable can be set to pass additional options to xo. g:ale_typescript_xo_use_global *g:ale_typescript_xo_use_global* *b:ale_typescript_xo_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-v.txt ================================================ =============================================================================== ALE V Integration *ale-v-options* =============================================================================== Integration Information `v` is V's build tool. `vfmt` (called as `v fmt` from the same executable that does the builds) is the autoformatter/fixer. g:ale_v_v_executable *g:ale_v_v_executable* *b:ale_v_v_executable* Type: |String| Default: `'v'` The executable that will be run for the `v` linter and the `vfmt` fixer. =============================================================================== v *ale-v-v* g:ale_v_v_options *g:ale_v_v_options* *b:ale_v_v_options* Type: |String| Default: `''` This variable can be set to pass additional options to the v linter. They are injected directly after "v .". =============================================================================== vfmt *ale-v-vfmt* g:ale_v_vfmt_options *g:ale_v_vfmt_options* *b:ale_v_vfmt_options* Type: |String| Default: `''` This variable can be set to pass additional options to the vfmt fixer. They are injected directly after "v fmt". =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-vala.txt ================================================ =============================================================================== ALE VALA Integration *ale-vala-options* =============================================================================== uncrustify *ale-vala-uncrustify* See |ale-c-uncrustify| for information about the available options. =============================================================================== Vala-Lint *ale-vala-vala-lint* g:vala_vala_lint_executable *g:vala_vala_lint_executable* *b:vala_vala_lint_executable* Type: |String| Default: `'io.elementary.vala-lint'` This variable can be set to specify a Vala-Lint executable file. g:vala_vala_lint_config_filename *g:vala_vala_lint_config_filename* *b:vala_vala_lint_config_filename* Type: |String| Default: `'vala-lint.conf'` This variable can be set to specify a Vala-Lint config filename. When a file with the specified name was not found or this variable was set to empty, Vala-Lint will be executed without specifying a config filename. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-verilog.txt ================================================ =============================================================================== ALE Verilog/SystemVerilog Integration *ale-verilog-options* =============================================================================== ALE can use six different linters for Verilog HDL: HDL Checker Using `hdl_checker --lsp` iverilog: Using `iverilog -t null -Wall` verilator Using `verilator --lint-only -Wall` ModelSim/Questa Using `vlog -quiet -lint` Vivado Using `xvlog` Yosys Using `ysoys -Q -T -p 'read_verilog'` By default, both 'verilog' and 'systemverilog' filetypes are checked. You can limit 'systemverilog' files to be checked using only 'verilator' by defining 'g:ale_linters' variable: > au FileType systemverilog \ let g:ale_linters = {'systemverilog' : ['verilator'],} < =============================================================================== General notes Linters/compilers that utilize a "work" directory for analyzing designs- such as ModelSim and Vivado- can be passed the location of these directories as part of their respective option strings listed below. This is useful for holistic analysis of a file (e.g. a design with components, packages, or other code defined external to the current file as part of a larger project) or when wanting to simply pass an alternative location for the auto-generated work directories (such as '/tmp') so as to not muddle the current directory. Since these type of linters often use this work directory for holding compiled design data as part of a single build process, they sometimes cannot handle the frequent, asynchronous application launches when linting while text is changing. This can happen in the form of hangs or crashes. To help prevent this when using these linters, it may help to run linting less frequently; for example, only when a file is saved. HDL Checker is an alternative for some of the issues described above. It wraps around ghdl, Vivado and ModelSim/Questa and, when using the latter, it can handle mixed language (VHDL, Verilog, SystemVerilog) designs. =============================================================================== hdl-checker *ale-verilog-hdl-checker* See |ale-vhdl-hdl-checker| =============================================================================== iverilog *ale-verilog-iverilog* No additional options =============================================================================== verilator *ale-verilog-verilator* g:ale_verilog_verilator_options *g:ale_verilog_verilator_options* *b:ale_verilog_verilator_options* Type: |String| Default: `''` This variable can be changed to modify 'verilator' command arguments For example `'-sv --default-language "1800-2012"'` if you want to enable SystemVerilog parsing and select the 2012 version of the language. =============================================================================== vlog *ale-verilog-vlog* g:ale_verilog_vlog_executable *g:ale_verilog_vlog_executable* *b:ale_verilog_vlog_executable* Type: |String| Default: `'vlog'` This variable can be changed to the path to the 'vlog' executable. g:ale_verilog_vlog_options *g:ale_verilog_vlog_options* *b:ale_verilog_vlog_options* Type: |String| Default: `'-quiet -lint'` This variable can be changed to modify the flags/options passed to 'vlog'. =============================================================================== xvlog *ale-verilog-xvlog* g:ale_verilog_xvlog_executable *g:ale_verilog_xvlog_executable* *b:ale_verilog_xvlog_executable* Type: |String| Default: `'xvlog'` This variable can be changed to the path to the 'xvlog' executable. g:ale_verilog_xvlog_options *g:ale_verilog_xvlog_options* *b:ale_verilog_xvlog_options* Type: |String| Default: `''` This variable can be changed to modify the flags/options passed to 'xvlog'. =============================================================================== yosys *ale-verilog-yosys* g:ale_verilog_yosys_executable *g:ale_verilog_yosys_executable* *b:ale_verilog_yosys_executable* Type: |String| Default: `'yosys'` This variable can be changed to the path to the 'yosys' executable. g:ale_verilog_yosys_options *g:ale_verilog_yosys_options* *b:ale_verilog_yosys_options* Type: |String| Default: `'-Q -T -p ''read_verilog %s'''` This variable can be changed to modify the flags/options passed to 'yosys'. By default, Yosys is an interactive program. To obtain linting functionality, the `'read_verilog'` command is used. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-vhdl.txt ================================================ =============================================================================== ALE VHDL Integration *ale-vhdl-options* =============================================================================== ALE can use four different linters for VHDL: ghdl: Using `ghdl --std=08` ModelSim/Questa Using `vcom -2008 -quiet -lint` Vivado Using `xvhdl --2008` HDL Checker Using `hdl_checker --lsp` =============================================================================== General notes ghdl, ModelSim/Questa and Vivado linters default to VHDL-2008 support. This, and other options, can be changed with each linter's respective option variable. Linters/compilers that utilize a "work" directory for analyzing designs- such as ModelSim and Vivado- can be passed the location of these directories as part of their respective option strings listed below. This is useful for holistic analysis of a file (e.g. a design with components, packages, or other code defined external to the current file as part of a larger project) or when wanting to simply pass an alternative location for the auto-generated work directories (such as '/tmp') so as to not muddle the current directory. Since these type of linters often use this work directory for holding compiled design data as part of a single build process, they sometimes cannot handle the frequent, asynchronous application launches when linting while text is changing. This can happen in the form of hangs or crashes. To help prevent this when using these linters, it may help to run linting less frequently; for example, only when a file is saved. HDL Checker is an alternative for some of the issues described above. It wraps around ghdl, Vivado and ModelSim/Questa and, when using the latter, it can handle mixed language (VHDL, Verilog, SystemVerilog) designs. =============================================================================== ghdl *ale-vhdl-ghdl* g:ale_vhdl_ghdl_executable *g:ale_vhdl_ghdl_executable* *b:ale_vhdl_ghdl_executable* Type: |String| Default: `'ghdl'` This variable can be changed to the path to the 'ghdl' executable. g:ale_vhdl_ghdl_options *g:ale_vhdl_ghdl_options* *b:ale_vhdl_ghdl_options* Type: |String| Default: `'--std=08'` This variable can be changed to modify the flags/options passed to 'ghdl'. =============================================================================== hdl-checker *ale-vhdl-hdl-checker* HDL Checker is a wrapper for VHDL/Verilg/SystemVerilog tools that aims to reduce the boilerplate code needed to set things up. It can automatically infer libraries for VHDL sources, determine the compilation order and provide some static checks. You can install it using pip: > $ pip install hdl-checker `hdl-checker` will be run from a detected project root, determined by the following methods, in order: 1. Find the first directory containing a configuration file (see |g:ale_hdl_checker_config_file|) 2. If no configuration file can be found, find the first directory containing a folder named `'.git' 3. If no such folder is found, use the directory of the current buffer g:ale_hdl_checker_executable *g:ale_hdl_checker_executable* *b:ale_hdl_checker_executable* Type: |String| Default: `'hdl_checker'` This variable can be changed to the path to the 'hdl_checker' executable. g:ale_hdl_checker_options *g:ale_hdl_checker_options* *b:ale_hdl_checker_options* Type: |String| Default: `''` This variable can be changed to modify the flags/options passed to the 'hdl_checker' server startup command. g:ale_hdl_checker_config_file *g:ale_hdl_checker_config_file* *b:ale_hdl_checker_config_file* Type: |String| Default: `'.hdl_checker.config'` (Unix), `'_hdl_checker.config'` (Windows) This variable can be changed to modify the config file HDL Checker will try to look for. It will also affect how the project's root directory is determined (see |ale-vhdl-hdl-checker|). More info on the configuration file format can be found at: https://github.com/suoto/hdl_checker/wiki/Setting-up-a-project =============================================================================== vcom *ale-vhdl-vcom* g:ale_vhdl_vcom_executable *g:ale_vhdl_vcom_executable* *b:ale_vhdl_vcom_executable* Type: |String| Default: `'vcom'` This variable can be changed to the path to the 'vcom' executable. g:ale_vhdl_vcom_options *g:ale_vhdl_vcom_options* *b:ale_vhdl_vcom_options* Type: |String| Default: `'-2008 -quiet -lint'` This variable can be changed to modify the flags/options passed to 'vcom'. =============================================================================== xvhdl *ale-vhdl-xvhdl* g:ale_vhdl_xvhdl_executable *g:ale_vhdl_xvhdl_executable* *b:ale_vhdl_xvhdl_executable* Type: |String| Default: `'xvhdl'` This variable can be changed to the path to the 'xvhdl' executable. g:ale_vhdl_xvhdl_options *g:ale_vhdl_xvhdl_options* *b:ale_vhdl_xvhdl_options* Type: |String| Default: `'--2008'` This variable can be changed to modify the flags/options passed to 'xvhdl'. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-vim-help.txt ================================================ =============================================================================== ALE Vim help Integration *ale-vim-help-options* =============================================================================== write-good *ale-vim-help-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-vim.txt ================================================ =============================================================================== ALE Vim Integration *ale-vim-options* =============================================================================== vimls *ale-vim-vimls* The `vim-language-server` is the engine that powers VimL editor support using the Language Server Protocol. See the installation instructions: https://github.com/iamcco/vim-language-server#install g:ale_vim_vimls_executable *g:ale_vim_vimls_executable* *b:ale_vim_vimls_executable* Type: |String| Default: `'vim-language-server'` This option can be set to change the executable path for vimls. g:ale_vim_vimls_config *g:ale_vim_vimls_config* *b:ale_vim_vimls_config* Type: |Dictionary| Default: `{}` Dictionary containing configuration settings that will be passed to the language server. For example: > { \ 'vim': { \ 'iskeyword': '@,48-57,_,192-255,-#', \ 'vimruntime': '', \ 'runtimepath': '', \ 'diagnostic': { \ 'enable': v:true \ }, \ 'indexes': { \ 'runtimepath': v:true, \ 'gap': 100, \ 'count': 3, \ 'projectRootPatterns' : ['.git', 'autoload', 'plugin'] \ }, \ 'suggest': { \ 'fromVimruntime': v:true, \ 'fromRuntimepath': v:false \ }, \ } \} < Consult the vim-language-server documentation for more information about settings. g:ale_vim_vimls_use_global *g:ale_vim_vimls_use_global* *b:ale_vim_vimls_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== vint *ale-vim-vint* g:ale_vim_vint_executable *g:ale_vim_vint_executable* *b:ale_vim_vint_executable* Type: |String| Default: `'vint'` This option can be set to change the executable path for Vint. g:ale_vim_vint_show_style_issues *g:ale_vim_vint_show_style_issues* *b:ale_vim_vint_show_style_issues* Type: |Number| Default: `1` This variable will enable/disable style issues for Vint. When this option is disabled, only warnings and errors which are not purely style issues will be reported. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-vue.txt ================================================ =============================================================================== ALE Vue Integration *ale-vue-options* =============================================================================== cspell *ale-vue-cspell* See |ale-cspell-options| =============================================================================== prettier *ale-vue-prettier* See |ale-javascript-prettier| for information about the available options. =============================================================================== vls *ale-vue-vls* g:ale_vue_vls_executable *g:ale_vue_vls_executable* *b:ale_vue_vls_executable* Type: |String| Default: `'vls'` See |ale-integrations-local-executables| g:ale_vue_vls_use_global *g:ale_vue_vls_use_global* *b:ale_vue_vls_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== volar *ale-vue-volar* It is required to have typescript installed in your project as your dev dependency: `npm i -D typescript` g:ale_vue_volar_executable *g:ale_vue_volar_executable* *b:ale_vue_volar_executable* Type: |String| Default: `'vue-language-server'` See |ale-integrations-local-executables| g:ale_vue_volar_use_global *g:ale_vue_volar_use_global* *b:ale_vue_volar_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| g:vue_volar_init_options *g:ale_vue_volar_init_options* *b:ale_vue_volar_init_options* Type: |Dictionary| Default: `{ ... }` Default is too long to show here, take a look at it over `ale_linters/vue/volar.vim` =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-wgsl.txt ================================================ =============================================================================== ALE WGSL Integration *ale-wgsl-options* =============================================================================== naga *ale-wgsl-naga* g:ale_wgsl_naga_executable *g:ale_wgsl_naga_executable* *b:ale_wgsl_naga_executable* Type: |String| Default: `'naga'` The executable that will be run for the `naga` linter. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-xhtml.txt ================================================ =============================================================================== ALE XHTML Integration *ale-xhtml-options* =============================================================================== cspell *ale-xhtml-cspell* See |ale-cspell-options| =============================================================================== write-good *ale-xhtml-write-good* See |ale-write-good-options| =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-xml.txt ================================================ =============================================================================== ALE XML Integration *ale-xml-options* =============================================================================== xmllint *ale-xml-xmllint* g:ale_xml_xmllint_executable *g:ale_xml_xmllint_executable* *b:ale_xml_xmllint_executable* Type: |String| Default: `'xmllint'` This variable can be set to change the path to xmllint. g:ale_xml_xmllint_options *g:ale_xml_xmllint_options* *b:ale_xml_xmllint_options* Type: |String| Default: `''` This variable can be set to pass additional options to xmllint. g:ale_xml_xmllint_indentsize *g:ale_xml_xmllint_indentsize* *b:ale_xml_xmllint_indentsize* Type: |Number| Default: `2` This variable can be sent to specify the amount of spaces used for indentation. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-yaml.txt ================================================ =============================================================================== ALE YAML Integration *ale-yaml-options* =============================================================================== actionlint *ale-yaml-actionlint* Website: https://github.com/rhysd/actionlint Installation ------------------------------------------------------------------------------- See installation guide: https://github.com/rhysd/actionlint#quick-start This linter is disabled by default and must be enabled by setting `g:ale_linters`. To enable it only for Github Action YAML files a configuration like this is better: > au BufRead,BufNewFile */.github/*/*.y{,a}ml \ let b:ale_linters = {'yaml': ['actionlint']} < Options ------------------------------------------------------------------------------- g:ale_yaml_actionlint_executable *g:ale_yaml_actionlint_executable* *b:ale_yaml_actionlint_executable* Type: |String| Default: `'actionlint'` This variable can be set to change the path to actionlint. g:ale_yaml_actionlint_options *g:ale_yaml_actionlint_options* *b:ale_yaml_actionlint_options* Type: |String| Default: `''` This variable can be set to add extra options to actionlint executable. For example, to disable running `shellcheck` and `pyflakes` external commands, you may want to set: > let g:ale_yaml_actionlint_options = '-shellcheck= -pyflakes=' < Please note that passing `-format` as option is not supported at the moment. =============================================================================== circleci *ale-yaml-circleci* Website: https://circleci.com/docs/2.0/local-cli Installation ------------------------------------------------------------------------------- Follow the instructions on the website, and make sure to test that you can validate configuration files with: > circleci config validate - < .circleci/config.yml < As long as the validator runs correctly, you should be able to see errors when you save the configuration file. The validator doesn't run as you type because it sends network requests, and running too often would overload the circleci servers. =============================================================================== prettier *ale-yaml-prettier* Website: https://github.com/prettier/prettier Installation ------------------------------------------------------------------------------- Install prettier either globally or locally: > npm install prettier -g # global npm install prettier # local < =============================================================================== spectral *ale-yaml-spectral* Website: https://github.com/stoplightio/spectral Installation ------------------------------------------------------------------------------- Install spectral either globally or locally: > npm install @stoplight/spectral -g # global npm install @stoplight/spectral # local < Options ------------------------------------------------------------------------------- g:ale_yaml_spectral_executable *g:ale_yaml_spectral_executable* *b:ale_yaml_spectral_executable* Type: |String| Default: `'spectral'` This variable can be set to change the path to spectral. g:ale_yaml_spectral_use_global *g:ale_yaml_spectral_use_global* *b:ale_yaml_spectral_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== swaglint *ale-yaml-swaglint* Website: https://github.com/byCedric/swaglint Installation ------------------------------------------------------------------------------- Install swaglint either globally or locally: > npm install swaglint -g # global npm install swaglint # local < Options ------------------------------------------------------------------------------- g:ale_yaml_swaglint_executable *g:ale_yaml_swaglint_executable* *b:ale_yaml_swaglint_executable* Type: |String| Default: `'swaglint'` This variable can be set to change the path to swaglint. g:ale_yaml_swaglint_use_global *g:ale_yaml_swaglint_use_global* *b:ale_yaml_swaglint_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== yaml-language-server *ale-yaml-language-server* Website: https://github.com/redhat-developer/yaml-language-server Installation ------------------------------------------------------------------------------- Install yaml-language-server either globally or locally: > npm install yaml-language-server -g # global npm install yaml-language-server # local Options ------------------------------------------------------------------------------- g:ale_yaml_ls_executable *g:ale_yaml_ls_executable* *b:ale_yaml_ls_executable* Type: |String| Default: `'yaml-language-server'` This variable can be set to change the path to yaml-language-server. g:ale_yaml_ls_config *g:ale_yaml_ls_config* *b:ale_yaml_ls_config* Type: |Dictionary| Default: `{}` Dictionary containing configuration settings that will be passed to the language server. For example, to enable schema store: > { \ 'yaml': { \ 'schemaStore': { \ 'enable': v:true, \ }, \ }, \ } < Consult the yaml-language-server documentation for more information about settings. g:ale_yaml_ls_use_global *g:ale_yaml_ls_use_global* *b:ale_yaml_ls_use_global* Type: |String| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== yamlfix *ale-yaml-yamlfix* Website: https://lyz-code.github.io/yamlfix Installation ------------------------------------------------------------------------------- Install yamlfix: > pip install yamlfix < Options ------------------------------------------------------------------------------- g:ale_yaml_yamlfix_executable *g:ale_yaml_yamlfix_executable* *b:ale_yaml_yamlfix_executable* Type: |String| Default: `'yamlfix'` See |ale-integrations-local-executables| g:ale_yaml_yamlfix_options *g:ale_yaml_yamlfix_options* *b:ale_yaml_yamlfix_options* Type: |String| Default: `''` This variable can be set to pass extra options to yamlfix. g:ale_yaml_yamlfix_use_global *g:ale_yaml_yamlfix_use_global* *b:ale_yaml_yamlfix_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| =============================================================================== yamllint *ale-yaml-yamllint* Website: https://github.com/adrienverge/yamllint Installation ------------------------------------------------------------------------------- Install yamllint in your a virtualenv directory, locally, or globally: > pip install yamllint # After activating virtualenv pip install --user yamllint # Install to ~/.local/bin sudo pip install yamllint # Install globally See |g:ale_virtualenv_dir_names| for configuring how ALE searches for virtualenv directories. Options ------------------------------------------------------------------------------- g:ale_yaml_yamllint_executable *g:ale_yaml_yamllint_executable* *b:ale_yaml_yamllint_executable* Type: |String| Default: `'yamllint'` This variable can be set to change the path to yamllint. g:ale_yaml_yamllint_options *g:ale_yaml_yamllint_options* *b:ale_yaml_yamllint_options* Type: |String| Default: `''` This variable can be set to pass additional options to yamllint. =============================================================================== gitlablint *ale-yaml-gitlablint* Website: https://github.com/elijah-roberts/gitlab-lint Installation ------------------------------------------------------------------------------- Install yamllint in your a virtualenv directory, locally, or globally: > pip3 install gitlab_lint # After activating virtualenv pip3 install --user gitlab_lint # Install to ~/.local/bin sudo pip3 install gitlab_lint # Install globally See |g:ale_virtualenv_dir_names| for configuring how ALE searches for virtualenv directories. Is recommended to use |g:ale_pattern_options| to enable this linter so it only applies to 'gitlab-ci.yml' files and not all yaml files: > let g:ale_pattern_options = { \ '.gitlab-ci\.yml$': { \ 'ale_linters': ['gitlablint'], \ }, \} < Options ------------------------------------------------------------------------------- g:ale_yaml_gitlablint_executable *g:ale_yaml_gitlablint_executable* *b:ale_yaml_gitlablint_executable* Type: |String| Default: `'gll'` This variable can be set to change the path to gll. g:ale_yaml_gitlablint_options *g:ale_yaml_gitlablint_options* *b:ale_yaml_gitlablint_options* Type: |String| Default: `''` This variable can be set to pass additional options to gll. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-yang.txt ================================================ =============================================================================== ALE YANG Integration *ale-yang-options* =============================================================================== yang-lsp *ale-yang-lsp* g:ale_yang_lsp_executable *g:ale_yang_lsp_executable* *b:ale_yang_lsp_executable* Type: |String| Default: `'yang-language-server'` This variable can be changed to use a different executable for yang-lsp. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-zeek.txt ================================================ =============================================================================== ALE Zeek Integration *ale-zeek-options* *ale-integration-zeek* =============================================================================== Integration Information Currently, the only supported linter for Zeek is zeek. =============================================================================== zeek *ale-zeek-zeek* g:ale_zeek_zeek_executable *g:ale_zeek_zeek_executable* *b:ale_zeek_zeek_executable* Type: |String| Default: `'zeek'` This variable can be modified to change the executable path for `zeek`. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale-zig.txt ================================================ =============================================================================== ALE Zig Integration *ale-zig-options* *ale-integration-zig* =============================================================================== Integration Information Currently, the only supported linter for zig is zls. =============================================================================== zigfmt *ale-zig-zigfmt* g:ale_zig_zigfmt_executable *g:ale_zig_zigfmt_executable* *b:ale_zig_zigfmt_executable* Type: |String| Default: `'zig'` The executable that will be run for the `zig fmt` fixer. =============================================================================== zls *ale-zig-zls* g:ale_zig_zls_executable *g:ale_zig_zls_executable* *b:ale_zig_zls_executable* Type: |String| Default: `'zls'` This variable can be modified to change the executable path for `zls`. g:ale_zig_zls_config *g:ale_zig_zls_config* *b:ale_zig_zls_config* Type: |Dictionary| Default: `{}` WARNING: As of writing, zls does not support receiving configuration from the client. This variable is a PLACEHOLDER until it does. Dictionary with configuration settings for zls. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/doc/ale.txt ================================================ *ale.txt* Plugin to lint and fix files asynchronously *ale* ALE - Asynchronous Lint Engine =============================================================================== CONTENTS *ale-contents* 1. Introduction.........................|ale-introduction| 2. Supported Languages & Tools..........|ale-support| 3. Linting..............................|ale-lint| 3.1 Linting On Other Machines.........|ale-lint-other-machines| 3.2 Adding Language Servers...........|ale-lint-language-servers| 3.3 Other Sources.....................|ale-lint-other-sources| 4. Fixing Problems......................|ale-fix| 5. Language Server Protocol Support.....|ale-lsp| 5.1 Completion........................|ale-completion| 5.2 Go To Definition..................|ale-go-to-definition| 5.3 Go To Type Definition.............|ale-go-to-type-definition| 5.4 Go To Implementation..............|ale-go-to-type-implementation| 5.5 Find References...................|ale-find-references| 5.6 Hovering..........................|ale-hover| 5.7 Symbol Search.....................|ale-symbol-search| 5.8 Refactoring: Rename, Actions......|ale-refactor| 6. Global Options.......................|ale-options| 6.1 Highlights........................|ale-highlights| 7. Linter/Fixer Options.................|ale-integration-options| 7.1 Options for alex..................|ale-alex-options| 7.2 Options for cspell................|ale-cspell-options| 7.3 Options for languagetool..........|ale-languagetool-options| 7.4 Options for write-good............|ale-write-good-options| 7.5 Other Linter/Fixer Options........|ale-other-integration-options| 8. Commands/Keybinds....................|ale-commands| 9. API..................................|ale-api| 10. Special Thanks......................|ale-special-thanks| 11. Contact.............................|ale-contact| =============================================================================== 1. Introduction *ale-introduction* ALE provides the means to run linters asynchronously in Vim in a variety of languages and tools. ALE sends the contents of buffers to linter programs using the |job-control| features available in Vim 8 and NeoVim. For Vim 8, Vim must be compiled with the |job| and |channel| and |timers| features as a minimum. ALE supports the following key features for linting: 1. Running linters when text is changed. 2. Running linters when files are opened. 3. Running linters when files are saved. (When a global flag is set.) 4. Populating the |loclist| with warning and errors. 5. Setting |signs| with warnings and errors for error markers. 6. Using |echo| to show error messages when the cursor moves. 7. Setting syntax highlights for errors. ALE can fix problems with files with the |ALEFix| command, using the same job control functionality used for checking for problems. Try using the |ALEFixSuggest| command for browsing tools that can be used to fix problems for the current buffer. If you are interested in contributing to the development of ALE, read the developer documentation. See |ale-development| =============================================================================== 2. Supported Languages & Tools *ale-support* ALE supports a wide variety of languages and tools. See |ale-supported-list| for the full list. =============================================================================== 3. Linting *ale-lint* ALE's primary focus is on checking for problems with your code with various programs via some Vim code for integrating with those programs, referred to as 'linters.' ALE supports a wide array of programs for linting by default, but additional programs can be added easily by defining files in |runtimepath| with the filename pattern `ale_linters//.vim`. For more information on defining new linters, see the extensive documentation for |ale#linter#Define()|. Without any configuration, ALE will attempt to check all of the code for every file you open in Vim with all available tools by default. To see what ALE is doing, and what options have been set, try using the |:ALEInfo| command. Most of the linters ALE runs will check the Vim buffer you are editing instead of the file on disk. This allows you to check your code for errors before you have even saved your changes. ALE will check your code in the following circumstances, which can be configured with the associated options. * When you modify a buffer. - |g:ale_lint_on_text_changed| * On leaving insert mode. - |g:ale_lint_on_insert_leave| * When you open a new or modified buffer. - |g:ale_lint_on_enter| * When you save a buffer. - |g:ale_lint_on_save| * When the filetype changes for a buffer. - |g:ale_lint_on_filetype_changed| * If ALE is used to check code manually. - |:ALELint| *ale-lint-settings-on-startup* It is worth reading the documentation for every option. You should configure which events ALE will use before ALE is loaded, so it can optimize which autocmd commands to run. You can force autocmd commands to be reloaded with `:ALEDisable | ALEEnable` This also applies to the autocmd commands used for |g:ale_echo_cursor|. *ale-lint-file-linters* Some programs must be run against files which have been saved to disk, and simply do not support reading temporary files or stdin, either of which are required for ALE to be able to check for errors as you type. The programs which behave this way are documented in the lists and tables of supported programs. ALE will only lint files with these programs in the following circumstances. * When you open a new or modified buffer. - |g:ale_lint_on_enter| * When you save a buffer. - |g:ale_lint_on_save| * When the filetype changes for a buffer. - |g:ale_lint_on_filetype_changed| * If ALE is used to check code manually. - |:ALELint| ALE will report problems with your code in the following ways, listed with their relevant options. * By updating loclist. (On by default) - |g:ale_set_loclist| * By updating quickfix. (Off by default) - |g:ale_set_quickfix| * By setting error highlights. - |g:ale_set_highlights| * By creating signs in the sign column. - |g:ale_set_signs| * By echoing messages based on your cursor. - |g:ale_echo_cursor| * By inline text based on your cursor. - |g:ale_virtualtext_cursor| * By displaying the preview based on your cursor. - |g:ale_cursor_detail| * By showing balloons for your mouse cursor - |g:ale_set_balloons| Please consult the documentation for each option, which can reveal some other ways of tweaking the behavior of each way of displaying problems. You can disable or enable whichever options you prefer. Most settings can be configured for each buffer. (|b:| instead of |g:|), including disabling ALE for certain buffers with |b:ale_enabled|. The |g:ale_pattern_options| setting can be used to configure files differently based on regular expressions for filenames. For configuring entire projects, the buffer-local options can be used with external plugins for reading Vim project configuration files. Buffer-local settings can also be used in ftplugin files for different filetypes. ALE offers several options for controlling which linters are run. * Selecting linters to run. - |g:ale_linters| * Aliasing filetypes for linters - |g:ale_linter_aliases| * Only running linters you asked for. - |g:ale_linters_explicit| * Disabling only a subset of linters. - |g:ale_linters_ignore| * Disabling LSP linters and `tsserver`. - |g:ale_disable_lsp| You can stop ALE any currently running linters with the |ALELintStop| command. Any existing problems will be kept. ------------------------------------------------------------------------------- 3.1 Linting On Other Machines *ale-lint-other-machines* ALE offers support for running linters or fixers on files you are editing locally on other machines, so long as the other machine has access to the file you are editing. This could be a linter or fixer run inside of a Docker image, running in a virtual machine, running on a remote server, etc. In order to run tools on other machines, you will need to configure your tools to run via scripts that execute commands on those machines, such as by setting the ALE `_executable` options for those tools to a path for a script to run, or by using |g:ale_command_wrapper| to specify a script to wrap all commands that are run by ALE, before they are executed. For tools that ALE runs where ALE looks for locally installed executables first, you may need to set the `_use_global` options for those tools to `1`, or you can set |g:ale_use_global_executables| to `1` before ALE is loaded to only use global executables for all tools. In order for ALE to properly lint or fix files which are running on another file system, you must provide ALE with |List|s of strings for mapping paths to and from your local file system and the remote file system, such as the file system of your Docker container. See |g:ale_filename_mappings| for all of the different ways these filename mappings can be configured. For example, you might configure `pylint` to run via Docker by creating a script like so. > #!/usr/bin/env bash exec docker run -i --rm -v "$(pwd):/data" cytopia/pylint "$@" < You will run to run Docker commands with `-i` in order to read from stdin. With the above script in mind, you might configure ALE to lint your Python project with `pylint` by providing the path to the script to execute, and mappings which describe how to between the two file systems in your `python.vim` |ftplugin| file, like so: > if expand('%:p') =~# '^/home/w0rp/git/test-pylint/' let b:ale_linters = ['pylint'] let b:ale_python_pylint_use_global = 1 " This is the path to the script above. let b:ale_python_pylint_executable = '/home/w0rp/git/test-pylint/pylint.sh' " /data matches the path in Docker. let b:ale_filename_mappings = { \ 'pylint': [ \ ['/home/w0rp/git/test-pylint', '/data'], \ ], \} endif < You might consider using a Vim plugin for loading Vim configuration files specific to each project, if you have a lot of projects to manage. ------------------------------------------------------------------------------- 3.2 Adding Language Servers *ale-lint-language-servers* ALE comes with many default configurations for language servers, so they can be detected and run automatically. ALE can connect to other language servers by defining a new linter for a filetype. New linters can be defined in |vimrc|, in plugin files, or `ale_linters` directories in |runtimepath|. See |ale-linter-loading-behavior| for more information on loading linters. A minimal configuration for a language server linter might look so. > call ale#linter#Define('filetype_here', { \ 'name': 'any_name_you_want', \ 'lsp': 'stdio', \ 'executable': '/path/to/executable', \ 'command': '%e run', \ 'project_root': '/path/to/root_of_project', \}) < For language servers that use a TCP or named pipe socket connection, you should define the address to connect to instead. > call ale#linter#Define('filetype_here', { \ 'name': 'any_name_you_want', \ 'lsp': 'socket', \ 'address': 'servername:1234', \ 'project_root': '/path/to/root_of_project', \}) < Most of the options for a language server can be replaced with a |Funcref| for a function accepting a buffer number for dynamically computing values such as the executable path, the project path, the server address, etc, most of which can also be determined based on executing some other asynchronous task. See |ale#command#Run()| for computing linter options based on asynchronous results. See |ale#linter#Define()| for a detailed explanation of all of the options for configuring linters. ------------------------------------------------------------------------------- 3.3 Other Sources *ale-lint-other-sources* Problems for a buffer can be taken from other sources and rendered by ALE. This allows ALE to be used in combination with other plugins which also want to display any problems they might find with a buffer. ALE's API includes the following components for making this possible. * |ale#other_source#StartChecking()| - Tell ALE that a buffer is being checked. * |ale#other_source#ShowResults()| - Show results from another source. * |ALEWantResults| - A signal for when ALE wants results. Other resources can provide results for ALE to display at any time, following ALE's loclist format. (See |ale-loclist-format|) For example: > " Tell ALE to show some results. " This function can be called at any time. call ale#other_source#ShowResults(bufnr(''), 'some-linter-name', [ \ {'text': 'Something went wrong', 'lnum': 13}, \]) < Other sources should use a unique name for identifying themselves. A single linter name can be used for all problems from another source, or a series of unique linter names can be used. Results can be cleared for that source by providing an empty List. |ale#other_source#StartChecking()| should be called whenever another source starts checking a buffer, so other tools can know that a buffer is being checked by some plugin. The |ALEWantResults| autocmd event can be used to start checking a buffer for problems every time that ALE does. When |ALEWantResults| is signaled, |g:ale_want_results_buffer| will be set to the number of the buffer that ALE wants to check. |ale#other_source#StartChecking()| should be called synchronously, and other sources should perform their checks on a buffer in the background asynchronously, so they don't interrupt editing. |ale#other_source#ShowResults()| must not be called synchronously before ALE's engine executes its code after the |ALEWantResults| event runs. If there are immediate results to provide to ALE, a 0 millisecond timer with |timer_start()| can be set instead up to call |ale#other_source#ShowResults()| after ALE has first executed its engine code for its own sources. A plugin might integrate its own checks with ALE like so: > augroup SomeGroupName autocmd! autocmd User ALEWantResults call Hook(g:ale_want_results_buffer) augroup END function! DoBackgroundWork(buffer) abort " Start some work in the background here. " ... " Then call WorkDone(a:buffer, results) endfunction function! Hook(buffer) abort " Tell ALE we're going to check this buffer. call ale#other_source#StartChecking(a:buffer, 'some-name') call DoBackgroundWork(a:buffer) endfunction function! WorkDone(buffer, results) abort " Send results to ALE after they have been collected. call ale#other_source#ShowResults(a:buffer, 'some-name', a:results) endfunction < =============================================================================== 4. Fixing Problems *ale-fix* ALE can fix problems with files with the |ALEFix| command. |ALEFix| accepts names of fixers to be applied as arguments. Alternatively, when no arguments are provided, the variable |g:ale_fixers| will be read for getting a |List| of commands for filetypes, split on `.`, and the functions named in |g:ale_fixers| will be executed for fixing the errors. The |ALEFixSuggest| command can be used to suggest tools that be used to fix problems for the current buffer. The values for `g:ale_fixers` can be a list of |String|, |Funcref|, or |lambda| values. String values must either name a function, or a short name for a function set in the ALE fixer registry. Each function for fixing errors must accept either one argument `(buffer)` or two arguments `(buffer, lines)`, representing the buffer being fixed and the lines to fix. The functions must return either `0`, for changing nothing, a |List| for new lines to set, a |Dictionary| for describing a command to be run in the background, or the result of |ale#command#Run()|. Functions receiving a variable number of arguments will not receive the second argument `lines`. Functions should name two arguments if the `lines` argument is desired. This is required to avoid unnecessary copying of the lines of the buffers being checked. When a |Dictionary| is returned for an |ALEFix| callback, the following keys are supported for running the commands. `cwd` An optional |String| for setting the working directory for the command. If not set, or `v:null`, the `cwd` of the last command that spawn this one will be used. `command` A |String| for the command to run. This key is required. When `%t` is included in a command string, a temporary file will be created, containing the lines from the file after previous adjustment have been done. See |ale-command-format-strings| for formatting options. `read_temporary_file` When set to `1`, ALE will read the contents of the temporary file created for `%t`. This option can be used for commands which need to modify some file on disk in order to fix files. `process_with` An optional callback for post-processing. The callback must accept arguments `(bufnr, output)`: the buffer number undergoing fixing and the fixer's output as a |List| of |String|s. It must return a |List| of |String|s that will be the new contents of the buffer. This callback is useful to remove excess lines from the command's output or apply additional changes to the output. `read_buffer` An optional key for disabling reading the buffer. When set to `0`, ALE will not pipe the buffer's data into the command via stdin. This option is ignored and the buffer is not read when `read_temporary_file` is `1`. This option defaults to `1`. *ale-fix-configuration* Synchronous functions and asynchronous jobs will be run in a sequence for fixing files, and can be combined. For example: > let g:ale_fixers = { \ 'javascript': [ \ 'DoSomething', \ 'eslint', \ {buffer, lines -> filter(lines, 'v:val !=~ ''^\s*//''')}, \ ], \} ALEFix < The above example will call a function called `DoSomething` which could act upon some lines immediately, then run `eslint` from the ALE registry, and then call a lambda function which will remove every single line comment from the file. For buffer-local settings, such as in |g:ale_pattern_options| or in ftplugin files, a |List| may be used for configuring the fixers instead. > " Same as the above, only a List can be used instead of a Dictionary. let b:ale_fixers = [ \ 'DoSomething', \ 'eslint', \ {buffer, lines -> filter(lines, 'v:val !=~ ''^\s*//''')}, \] ALEFix < For convenience, a plug mapping is defined for |ALEFix|, so you can set up a keybind easily for fixing files. > " Bind F8 to fixing problems with ALE nmap (ale_fix) < Files can be fixed automatically with the following options, which are all off by default. |g:ale_fix_on_save| - Fix files when they are saved. Fixers can be disabled on save with |g:ale_fix_on_save_ignore|. They will still be run when you manually run |ALEFix|. Fixers can be run on another machines, just like linters, such as fixers run from a Docker container, running in a virtual machine, running a remote server, etc. See |ale-lint-other-machines|. =============================================================================== 5. Language Server Protocol Support *ale-lsp* ALE offers some support for integrating with Language Server Protocol (LSP) servers. LSP linters can be used in combination with any other linter, and will automatically connect to LSP servers when needed. ALE also supports `tsserver` for TypeScript, which uses a different but very similar protocol. If you want to use another plugin for LSP features and tsserver, you can use the |g:ale_disable_lsp| setting to disable ALE's own LSP integrations, or ignore particular linters with |g:ale_linters_ignore|. ------------------------------------------------------------------------------- 5.1 Completion *ale-completion* ALE offers support for automatic completion of code while you type. Completion is only supported while at least one LSP linter is enabled. ALE will only suggest symbols provided by the LSP servers. *ale-deoplete-integration* ALE integrates with Deoplete for offering automatic completion data. ALE's completion source for Deoplete is named `'ale'`, and should enabled automatically if Deoplete is enabled and configured correctly. Deoplete integration should not be combined with ALE's own implementation. *ale-asyncomplete-integration* ALE additionally integrates with asyncomplete.vim for offering automatic completion data. ALE's asyncomplete source requires registration and should use the defaults provided by the |asyncomplete#sources#ale#get_source_options| function > " Use ALE's function for asyncomplete defaults au User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#ale#get_source_options({ \ 'priority': 10, " Provide your own overrides here \ })) > ALE also offers its own completion implementation, which does not require any other plugins. Suggestions will be made while you type after completion is enabled. ALE's own completion implementation can be enabled by setting |g:ale_completion_enabled| to `1`. This setting must be set to `1` before ALE is loaded. The delay for completion can be configured with |g:ale_completion_delay|. This setting should not be enabled if you wish to use ALE as a completion source for other plugins. ALE automatic completion will not work when 'paste' is active. Only set 'paste' when you are copy and pasting text into your buffers. ALE automatic completion will interfere with default insert completion with `CTRL-N` and so on (|compl-vim|). You can write your own keybinds and a function in your |vimrc| file to force insert completion instead, like so: > function! SmartInsertCompletion() abort " Use the default CTRL-N in completion menus if pumvisible() return "\" endif " Exit and re-enter insert mode, and use insert completion return "\a\" endfunction inoremap =SmartInsertCompletion() < ALE provides an 'omnifunc' function |ale#completion#OmniFunc| for triggering completion manually with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O| > " Use ALE's function for omnicompletion. set omnifunc=ale#completion#OmniFunc < *ale-completion-fallback* You can write your own completion function and fallback on other methods of completion by checking if there are no results that ALE can determine. For example, for Python code, you could fall back on the `python3complete` function. > function! TestCompletionFunc(findstart, base) abort let l:result = ale#completion#OmniFunc(a:findstart, a:base) " Check if ALE couldn't find anything. if (a:findstart && l:result is -3) \|| (!a:findstart && empty(l:result)) " Defer to another omnifunc if ALE couldn't find anything. return python3complete#Complete(a:findstart, a:base) endif return l:result endfunction set omnifunc=TestCompletionFunc < See |complete-functions| for documentation on how to write completion functions. ALE will only suggest so many possible matches for completion. The maximum number of items can be controlled with |g:ale_completion_max_suggestions|. If you don't like some of the suggestions you see, you can filter them out with |g:ale_completion_excluded_words| or |b:ale_completion_excluded_words|. The |ALEComplete| command can be used to show completion suggestions manually, even when |g:ale_completion_enabled| is set to `0`. For manually requesting completion information with Deoplete, consult Deoplete's documentation. ALE supports automatic imports from external modules. This behavior can be disabled by setting the |g:ale_completion_autoimport| variable to `0`. Disabling automatic imports can drop some or all completion items from some LSP servers (e.g. eclipselsp). You can manually request imports for symbols at the cursor with the |ALEImport| command. The word at the cursor must be an exact match for some potential completion result which includes additional text to insert into the current buffer, which ALE will assume is code for an import line. This command can be useful when your code already contains something you need to import. You can execute other commands whenever ALE inserts some completion text with the |ALECompletePost| event. When working with TypeScript files, ALE can remove warnings from your completions by setting the |g:ale_completion_tsserver_remove_warnings| variable to 1. *ale-completion-completeopt-bug* ALE Automatic completion implementation replaces |completeopt| before opening the omnicomplete menu with . In some versions of Vim, the value set for the option will not be respected. If you experience issues with Vim automatically inserting text while you type, set the following option in vimrc, and your issues should go away. > set completeopt=menu,menuone,preview,noselect,noinsert < Or alternatively, if you want to show documentation in popups: > set completeopt=menu,menuone,popup,noselect,noinsert < *ale-symbols* ALE provides a set of basic completion symbols. If you want to replace those symbols with others, you can set the variable |g:ale_completion_symbols| with a mapping of the type of completion to the symbol or other string that you would like to use. An example here shows the available options for symbols > let g:ale_completion_symbols = { \ 'text': '', \ 'method': '', \ 'function': '', \ 'constructor': '', \ 'field': '', \ 'variable': '', \ 'class': '', \ 'interface': '', \ 'module': '', \ 'property': '', \ 'unit': 'unit', \ 'value': 'val', \ 'enum': '', \ 'keyword': 'keyword', \ 'snippet': '', \ 'color': 'color', \ 'file': '', \ 'reference': 'ref', \ 'folder': '', \ 'enum member': '', \ 'constant': '', \ 'struct': '', \ 'event': 'event', \ 'operator': '', \ 'type_parameter': 'type param', \ '': 'v' \ } < ------------------------------------------------------------------------------- 5.2 Go To Definition *ale-go-to-definition* ALE supports jumping to the files and locations where symbols are defined through any enabled LSP linters. The locations ALE will jump to depend on the information returned by LSP servers. The |ALEGoToDefinition| command will jump to the definition of symbols under the cursor. See the documentation for the command for configuring how the location will be displayed. ALE will update Vim's |tagstack| automatically unless |g:ale_update_tagstack| is set to `0`. ------------------------------------------------------------------------------- 5.3 Go To Type Definition *ale-go-to-type-definition* ALE supports jumping to the files and locations where symbols' types are defined through any enabled LSP linters. The locations ALE will jump to depend on the information returned by LSP servers. The |ALEGoToTypeDefinition| command will jump to the definition of symbols under the cursor. See the documentation for the command for configuring how the location will be displayed. ------------------------------------------------------------------------------- 5.4 Go To Implementation *ale-go-to-implementation* ALE supports jumping to the files and locations where symbols are implemented through any enabled LSP linters. The locations ALE will jump to depend on the information returned by LSP servers. The |ALEGoToImplementation| command will jump to the implementation of symbols under the cursor. See the documentation for the command for configuring how the location will be displayed. ------------------------------------------------------------------------------- 5.5 Find References *ale-find-references* ALE supports finding references for symbols though any enabled LSP linters with the |ALEFindReferences| command. See the documentation for the command for a full list of options. ------------------------------------------------------------------------------- 5.6 Hovering *ale-hover* ALE supports "hover" information for printing brief information about symbols at the cursor taken from LSP linters. The following commands are supported: |ALEHover| - Print information about the symbol at the cursor. Truncated information will be displayed when the cursor rests on a symbol by default, as long as there are no problems on the same line. You can disable this behavior by setting |g:ale_hover_cursor| to `0`. If |g:ale_set_balloons| is set to `1` and your version of Vim supports the |balloon_show()| function, then "hover" information also show up when you move the mouse over a symbol in a buffer. Diagnostic information will take priority over hover information for balloons. If a line contains a problem, that problem will be displayed in a balloon instead of hover information. Hover information can be displayed in the preview window instead by setting |g:ale_hover_to_preview| to `1`. When using Neovim or Vim with |popupwin|, if |g:ale_hover_to_floating_preview| or |g:ale_floating_preview| is set to 1, the hover information will show in a floating window. The borders of the floating preview window can be customized by setting |g:ale_floating_window_border|. For Vim 8.1+ terminals, mouse hovering is disabled by default. Enabling |balloonexpr| commands in terminals can cause scrolling issues in terminals, so ALE will not attempt to show balloons unless |g:ale_set_balloons| is set to `1` before ALE is loaded. For enabling mouse support in terminals, you may have to change your mouse settings. For example: > " Example mouse settings. " You will need to try different settings, depending on your terminal. set mouse=a set ttymouse=xterm < Documentation for symbols at the cursor can be retrieved using the |ALEDocumentation| command. This command is only available for `tsserver`. ------------------------------------------------------------------------------- 5.7 Symbol Search *ale-symbol-search* ALE supports searching for workspace symbols via LSP linters with the |ALESymbolSearch| command. See the documentation for the command for a full list of options. ------------------------------------------------------------------------------- 5.8 Refactoring: Rename, Actions *ale-refactor* ALE supports renaming symbols in code such as variables or class names with the |ALERename| command. `ALEFileRename` will rename file and fix import paths (tsserver only). |ALECodeAction| will execute actions on the cursor or applied to a visual range selection, such as automatically fixing errors. Actions will appear in the right click mouse menu by default for GUI versions of Vim, unless disabled by setting |g:ale_popup_menu_enabled| to `0`. Make sure to set your Vim to move the cursor position whenever you right click, and enable the mouse menu: > set mouse=a set mousemodel=popup_setpos < You may wish to remove some other menu items you don't want to see: > silent! aunmenu PopUp.Select\ Word silent! aunmenu PopUp.Select\ Sentence silent! aunmenu PopUp.Select\ Paragraph silent! aunmenu PopUp.Select\ Line silent! aunmenu PopUp.Select\ Block silent! aunmenu PopUp.Select\ Blockwise silent! aunmenu PopUp.Select\ All < =============================================================================== 6. Global Options *ale-options* g:airline#extensions#ale#enabled *g:airline#extensions#ale#enabled* Type: |Number| Default: `1` Enables or disables the |airline|'s native extension for ale, which displays warnings and errors in the status line, prefixed by |airline#extensions#ale#error_symbol| and |airline#extensions#ale#warning_symbol|. g:ale_cache_executable_check_failures *g:ale_cache_executable_check_failures* Type: |Number| Default: not set When set to `1`, ALE will cache failing executable checks for linters. By default, only executable checks which succeed will be cached. When this option is set to `1`, Vim will have to be restarted after new executables are installed for ALE to be able to run linters for those executables. g:ale_change_sign_column_color *g:ale_change_sign_column_color* Type: |Number| Default: `0` When set to `1`, this option will set different highlights for the sign column itself when ALE reports problems with a file. This option can be combined with |g:ale_sign_column_always|. ALE uses the following highlight groups for highlighting the sign column: `ALESignColumnWithErrors` - Links to `error` by default. `ALESignColumnWithoutErrors` - Uses the value for `SignColumn` by default. The sign column color can only be changed globally in Vim. The sign column might produce unexpected results if editing different files in split windows. g:ale_close_preview_on_insert *g:ale_close_preview_on_insert* Type: |Number| Default: `0` When this option is set to `1`, ALE's |preview-window| will be automatically closed upon entering Insert Mode. This option can be used in combination with |g:ale_cursor_detail| for automatically displaying the preview window on problem lines, and automatically closing it again when editing text. This setting must be set to `1` before ALE is loaded for this behavior to be enabled. See |ale-lint-settings-on-startup|. g:ale_command_wrapper *g:ale_command_wrapper* *b:ale_command_wrapper* Type: |String| Default: `''` An option for wrapping all commands that ALE runs, for linters, fixers, and LSP commands. This option can be set globally, or for specific buffers. This option can be used to apply nice to all commands. For example: > " Prefix all commands with nice. let g:ale_command_wrapper = 'nice -n5' < Use the |ALEInfo| command to view the commands that are run. All of the arguments for commands will be put on the end of the wrapped command by default. A `%*` marker can be used to spread the arguments in the wrapped command. > " Has the same effect as the above. let g:ale_command_wrapper = 'nice -n5 %*' < For passing all of the arguments for a command as one argument to a wrapper, `%@` can be used instead. > " Will result in say: /bin/bash -c 'other-wrapper -c "some command" -x' let g:ale_command_wrapper = 'other-wrapper -c %@ -x' < For commands including `&&` or `;`, only the last command in the list will be passed to the wrapper. `&&` is most commonly used in ALE to change the working directory before running a command. g:ale_completion_delay *g:ale_completion_delay* Type: |Number| Default: `100` The number of milliseconds before ALE will send a request to a language server for completions after you have finished typing. See |ale-completion| g:ale_completion_enabled *g:ale_completion_enabled* *b:ale_completion_enabled* Type: |Number| Default: `0` When this option is set to `1`, completion support will be enabled. This setting must be set to `1` before ALE is loaded for this behavior to be enabled. This setting should not be enabled if you wish to use ALE as a completion source for other completion plugins. ALE automatic completion will not work when 'paste' is active. Only set 'paste' when you are copy and pasting text into your buffers. A buffer-local version of this setting `b:ale_completion_enabled` can be set to `0` to disable ALE's automatic completion support for a single buffer. ALE's completion support must be enabled globally to be enabled locally. See |ale-completion| *g:ale_completion_tsserver_remove_warnings* g:ale_completion_tsserver_remove_warnings Type: |Number| Default: `0` When this option is set to `0`, ALE will return all completion items, including those that are a warning. Warnings can be excluded from completed items by setting it to `1`. g:ale_completion_autoimport *g:ale_completion_autoimport* Type: |Number| Default: `1` When this option is set to `1`, ALE will try to automatically import completion results from external modules. It can be disabled by setting it to `0`. Some LSP servers include auto imports on every completion item so disabling automatic imports may drop some or all completion items returnend by it (e.g. eclipselsp). g:ale_completion_excluded_words *g:ale_completion_excluded_words* *b:ale_completion_excluded_words* Type: |List| Default: `[]` This option can be set to a list of |String| values for "words" to exclude from completion results, as in the words for |complete-items|. The strings will be matched exactly in a case-sensitive manner. (|==#|) This setting can be configured in ftplugin files with buffer variables, so that different lists can be used for different filetypes. For example: > " In ~/.vim/ftplugin/typescript.vim " Don't suggest `it` or `describe` so we can use snippets for those words. let b:ale_completion_excluded_words = ['it', 'describe'] < g:ale_completion_symbols *g:ale_completion_symbols* Type: |Dictionary| A mapping from completion types to symbols for completions. See |ale-symbols| for more information. By default, this mapping only uses built in Vim completion kinds, but it can be updated to use any unicode character for the completion kind. For example: > let g:ale_completion_symbols = { \ 'text': '', \ 'method': '', \ 'function': '', \ 'constructor': '', \ 'field': '', \ 'variable': '', \ 'class': '', \ 'interface': '', \ 'module': '', \ 'property': '', \ 'unit': 'v', \ 'value': 'v', \ 'enum': 't', \ 'keyword': 'v', \ 'snippet': 'v', \ 'color': 'v', \ 'file': 'v', \ 'reference': 'v', \ 'folder': 'v', \ 'enum_member': 'm', \ 'constant': 'm', \ 'struct': 't', \ 'event': 'v', \ 'operator': 'f', \ 'type_parameter': 'p', \ '': 'v' \ }) < g:ale_completion_max_suggestions *g:ale_completion_max_suggestions* Type: |Number| Default: `50` The maximum number of items ALE will suggest in completion menus for automatic completion. Setting this number higher will require more processing time, and may suggest too much noise. Setting this number lower will require less processing time, but some suggestions will not be included, so you might not be able to see the suggestions you want. Adjust this option as needed, depending on the complexity of your codebase and your available processing power. g:ale_cursor_detail *g:ale_cursor_detail* Type: |Number| Default: `0` When this option is set to `1`, ALE's |preview-window| will be automatically opened when the cursor moves onto lines with problems. ALE will search for problems using the same logic that |g:ale_echo_cursor| uses. The preview window will be closed automatically when you move away from the line. Messages are only displayed after a short delay. See |g:ale_echo_delay|. The preview window is opened without stealing focus, which means your cursor will stay in the same buffer as it currently is. The preview window can be closed automatically upon entering Insert mode by setting |g:ale_close_preview_on_insert| to `1`. Either this setting or |g:ale_echo_cursor| must be set to `1` before ALE is loaded for messages to be displayed. See |ale-lint-settings-on-startup|. g:ale_default_navigation *g:ale_default_navigation* *b:ale_default_navigation* Type: |String| Default: `'buffer'` The default method for navigating away from the current buffer to another buffer, such as for |ALEFindReferences|, or |ALEGoToDefinition|. g:ale_detail_to_floating_preview *g:ale_detail_to_floating_preview* *b:ale_detail_to_floating_preview* Type: |Number| Default: `0` When this option is set to `1`, Neovim or Vim with |popupwin| will use a floating window for ALEDetail output. g:ale_disable_lsp *g:ale_disable_lsp* *b:ale_disable_lsp* Type: |Number| Default: `0` When this option is set to `1`, ALE ignores all linters powered by LSP, and also `tsserver`. Please see also |ale-lsp|. g:ale_echo_cursor *g:ale_echo_cursor* Type: |Number| Default: `1` When this option is set to `1`, a truncated message will be echoed when a cursor is near a warning or error. ALE will attempt to find the warning or error at a column nearest to the cursor when the cursor is resting on a line which contains a warning or error. This option can be set to `0` to disable this behavior. Messages are only displayed after a short delay. See |g:ale_echo_delay|. The format of the message can be customized with |g:ale_echo_msg_format|. Either this setting or |g:ale_cursor_detail| must be set to `1` before ALE is loaded for messages to be displayed. See |ale-lint-settings-on-startup|. g:ale_echo_delay *g:ale_echo_delay* *b:ale_echo_delay* Type: |Number| Default: `10` Given any integer, this option controls the number of milliseconds before ALE will echo or preview a message for a problem near the cursor. The value can be increased to decrease the amount of processing ALE will do for files displaying a large number of problems. g:ale_echo_msg_error_str *g:ale_echo_msg_error_str* Type: |String| Default: `'Error'` The string used for `%severity%` for errors. See |g:ale_echo_msg_format| g:ale_echo_msg_format *g:ale_echo_msg_format* *b:ale_echo_msg_format* Type: |String| Default: `'%code: %%s'` This variable defines a message format for echoed messages. The following sequences of characters will be replaced. `%s` - replaced with the text for the problem `%...code...% `- replaced with the error code `%linter%` - replaced with the name of the linter `%severity%` - replaced with the severity of the problem The strings for `%severity%` can be configured with the following options. |g:ale_echo_msg_error_str| - Defaults to `'Error'` |g:ale_echo_msg_info_str| - Defaults to `'Info'` |g:ale_echo_msg_warning_str| - Defaults to `'Warning'` `%code%` is replaced with the error code, and replaced with an empty string when there is no error code. Any extra characters between the percent signs will be printed when an error code is present. For example, a message like `(error code): message` will be printed for `'%(code): %%s'` and simply the message will be printed when there is no code. |g:ale_echo_cursor| needs to be set to 1 for messages to be displayed. The echo message format can also be configured separately for each buffer, so different formats can be used for different languages. (Say in ftplugin files.) g:ale_echo_msg_info_str *g:ale_echo_msg_info_str* Type: |String| Default: `'Info'` The string used for `%severity%` for info. See |g:ale_echo_msg_format| g:ale_echo_msg_log_str *g:ale_echo_msg_log_str* Type: |String| Default: `'Log'` The string used for `%severity%` for log, used only for handling LSP show message requests. See |g:ale_lsp_show_message_format| g:ale_echo_msg_warning_str *g:ale_echo_msg_warning_str* Type: |String| Default: `'Warning'` The string used for `%severity%` for warnings. See |g:ale_echo_msg_format| g:ale_enabled *g:ale_enabled* *b:ale_enabled* Type: |Number| Default: `1` When set to `0`, this option will completely disable ALE, such that no error checking will be performed, etc. ALE can be toggled on and off with the |ALEToggle| command, which changes this option. ALE can be disabled in each buffer by setting `let b:ale_enabled = 0` Disabling ALE based on filename patterns can be accomplished by setting a regular expression for |g:ale_pattern_options|. For example: > " Disable linting for all minified JS files. let g:ale_pattern_options = {'\.min.js$': {'ale_enabled': 0}} < See |g:ale_pattern_options| for more information on that option. g:ale_exclude_highlights *g:ale_exclude_highlights* *b:ale_exclude_highlights* Type: |List| Default: `[]` A list of regular expressions for matching against highlight messages to remove. For example: > " Do not highlight messages matching strings like these. let b:ale_exclude_highlights = ['line too long', 'foo.*bar'] < See also: |g:ale_set_highlights| g:ale_fixers *g:ale_fixers* *b:ale_fixers* Type: |Dictionary| Default: `{}` A mapping from filetypes to |List| values for functions for fixing errors. See |ale-fix| for more information. This variable can be overridden with variables in each buffer. `b:ale_fixers` can be set to a |List| of callbacks instead, which can be more convenient. A special `'*'` key be used as a wildcard filetype for configuring fixers for every other type of file. For example: > " Fix Python files with 'bar'. " Don't fix 'html' files. " Fix everything else with 'foo'. let g:ale_fixers = {'python': ['bar'], 'html': [], '*': ['foo']} < g:ale_fix_on_save *g:ale_fix_on_save* *b:ale_fix_on_save* Type: |Number| Default: `0` When set to 1, ALE will fix files when they are saved. If |g:ale_lint_on_save| is set to 1, files will be checked with linters after files are fixed, only when the buffer is open, or re-opened. Changes to the file will be saved to the file on disk. Files will not be fixed on `:wq`, so you should check your code before closing a buffer. Fixing files can be disabled or enabled for individual buffers by setting `b:ale_fix_on_save` to `0` or `1`. Some fixers can be excluded from being run automatically when you save files with the |g:ale_fix_on_save_ignore| setting. g:ale_fix_on_save_ignore *g:ale_fix_on_save_ignore* *b:ale_fix_on_save_ignore* Type: |Dictionary| or |List| Default: `{}` Given a |Dictionary| mapping filetypes to |Lists| of fixers to ignore, or just a |List| of fixers to ignore, exclude those fixers from being run automatically when files are saved. You can disable some fixers in your ftplugin file: > " Disable fixers 'b' and 'c' when fixing on safe for this buffer. let b:ale_fix_on_save_ignore = ['b', 'c'] " Alternatively, define ignore lists for different filetypes. let b:ale_fix_on_save_ignore = {'foo': ['b'], 'bar': ['c']} < You can disable some fixers globally per filetype like so: > let g:ale_fixers = {'foo': ['a', 'b'], 'bar': ['c', 'd']} let g:ale_fix_on_save = 1 " For filetype `foo.bar`, only fixers 'b' and 'd' will be run on save. let g:ale_fix_on_save_ignore = {'foo': ['a'], 'bar': ['c']} " Alternatively, disable these fixers on save for all filetypes. let g:ale_fix_on_save_ignore = ['a', 'c'] < You can ignore fixers based on matching |Funcref| values too: > let g:AddBar = {buffer, lines -> lines + ['bar']} let g:ale_fixers = {'foo': g:AddBar} " The lambda fixer will be ignored, as it will be found in the ignore list. let g:ale_fix_on_save_ignore = [g:AddBar] < g:ale_floating_preview *g:ale_floating_preview* Type: |Number| Default: `0` When set to `1`, Neovim or Vim with |popupwin| will use a floating window for ale's preview window. This is equivalent to setting |g:ale_hover_to_floating_preview| and |g:ale_detail_to_floating_preview| to `1`. g:ale_floating_preview_popup_opts *g:ale_floating_preview_popup_opts* Type: |String| or |Dictionary| Default: `''` Either a dictionary of options or the string name of a function that returns a dictionary of options. This will be used as an argument to |popup_create| for Vim users or |nvim_open_win| for NeoVim users. Note that in either case, the resulting dictionary is merged with ALE defaults rather than expliciting overriding them. This only takes effect if |g:ale_floating_preview| is enabled. NOTE: for Vim users see |popup_create-arguments|, for NeoVim users see |nvim_open_win| for argument details For example, to enhance popups with a title: > function! CustomOpts() abort { let [l:info, l:loc] = ale#util#FindItemAtCursor(bufnr('')) return {'title': ' ALE: ' . (l:loc.linter_name) . ' '} endfunction < g:ale_floating_window_border *g:ale_floating_window_border* Type: |List| Default: `['|', '-', '+', '+', '+', '+', '|', '-']` When set to `[]`, window borders are disabled. The elements in the list set the the characters for the left side, top, top-left corner, top-right corner, bottom-right corner, bottom-left corner, right side, and bottom of the floating window, respectively. If the terminal supports Unicode, you might try setting the value to ` ['│', '─', '╭', '╮', '╯', '╰', '│', '─']`, to make it look nicer. NOTE: For compatibility with previous versions, if the list does not have elements for the right side and bottom, the left side and top will be used instead. g:ale_history_enabled *g:ale_history_enabled* Type: |Number| Default: `1` When set to `1`, ALE will remember the last few commands which were run for every buffer which is open. This information can be viewed with the |ALEInfo| command. The size of the buffer can be controlled with the |g:ale_max_buffer_history_size| option. This option can be disabled if storing a command history is not desired. g:ale_history_log_output *g:ale_history_log_output* Type: |Number| Default: `1` When set to `1`, ALE will store the output of commands which have completed successfully in the command history, and the output will be displayed when using |ALEInfo|. |g:ale_history_enabled| must be set to `1` for this output to be stored or printed. Some memory will be consumed by this option. It is very useful for figuring out what went wrong with linters, and for bug reports. Turn this option off if you want to save on some memory usage. g:ale_hover_cursor *g:ale_hover_cursor* Type: |Number| Default: `1` If set to `1`, ALE will show truncated information in the echo line about the symbol at the cursor automatically when the |CursorHold| event is fired. The delay before requesting hover information is based on 'updatetime', as with all |CursorHold| events. If there's a problem on the line where the cursor is resting, ALE will not show any hover information. See |ale-hover| for more information on hover information. This setting must be set to `1` before ALE is loaded for this behavior to be enabled. See |ale-lint-settings-on-startup|. g:ale_hover_to_preview *g:ale_hover_to_preview* *b:ale_hover_to_preview* Type: |Number| Default: `0` If set to `1`, hover messages will be displayed in the preview window, instead of in balloons or the message line. g:ale_hover_to_floating_preview *g:ale_hover_to_floating_preview* *b:ale_hover_to_floating_preview* Type: |Number| Default: `0` If set to `1`, Neovim or Vim with |popupwin| will use floating windows for hover messages. g:ale_keep_list_window_open *g:ale_keep_list_window_open* *b:ale_keep_list_window_open* Type: |Number| Default: `0` When set to `1`, this option will keep the loclist or quickfix windows event after all warnings/errors have been removed for files. By default the loclist or quickfix windows will be closed automatically when there are no warnings or errors. See |g:ale_open_list| g:ale_list_window_size *g:ale_list_window_size* *b:ale_list_window_size* Type: |Number| Default: `10` This number configures the number of lines to set for the height of windows opened automatically for ALE problems. The default of `10` matches the Vim default height. See |g:ale_open_list| for information on automatically opening windows for quickfix or the loclist. g:ale_lint_delay *g:ale_lint_delay* *b:ale_lint_delay* Type: |Number| Default: `200` This variable controls the milliseconds delay after which the linters will be run after text is changed. This option is only meaningful with the |g:ale_lint_on_text_changed| variable set to `always`, `insert`, or `normal`. A buffer-local option, `b:ale_lint_delay`, can be set to change the delay for different buffers, such as in |ftplugin| files. g:ale_lint_on_enter *g:ale_lint_on_enter* Type: |Number| Default: `1` When this option is set to `1`, the |BufWinEnter| event will be used to apply linters when buffers are first opened. If this is not desired, this variable can be set to `0` in your vimrc file to disable this behavior. The |FileChangedShellPost| and |BufEnter| events will be used to check if files have been changed outside of Vim. If a file is changed outside of Vim, it will be checked when it is next opened. You should set this setting once before ALE is loaded, and restart Vim if you want to change your preferences. See |ale-lint-settings-on-startup|. g:ale_lint_on_filetype_changed *g:ale_lint_on_filetype_changed* Type: |Number| Default: `1` This option will cause ALE to run when the filetype for a file is changed after a buffer has first been loaded. A short delay will be used before linting will be done, so the filetype can be changed quickly several times in a row, but resulting in only one lint cycle. You should set this setting once before ALE is loaded, and restart Vim if you want to change your preferences. See |ale-lint-settings-on-startup|. g:ale_lint_on_save *g:ale_lint_on_save* Type: |Number| Default: `1` This option will make ALE run the linters whenever a file is saved when it it set to `1` in your vimrc file. This option can be used in combination with the |g:ale_lint_on_enter| and |g:ale_lint_on_text_changed| options to make ALE only check files after that have been saved, if that is what is desired. g:ale_lint_on_text_changed *g:ale_lint_on_text_changed* Type: |String| Default: `'normal'` This option controls how ALE will check your files as you make changes. The following values can be used. `'always'`, `'1'`, or `1` - Check buffers on |TextChanged| or |TextChangedI|. `'normal'` - Check buffers only on |TextChanged|. `'insert'` - Check buffers only on |TextChangedI|. `'never'`, `'0'`, or `0` - Never check buffers on changes. ALE will check buffers after a short delay, with a timer which resets on each change. The delay can be configured by adjusting the |g:ale_lint_delay| variable. *ale-linting-interrupts-mapping* Due to a bug in Vim, ALE can interrupt mappings with pending key presses, per |timeoutlen|. If this happens, follow the advice for enabling |g:ale_lint_on_insert_leave| below, and set this option to `'normal'`, or disable it entirely. You should set this setting once before ALE is loaded, and restart Vim if you want to change your preferences. See |ale-lint-settings-on-startup|. g:ale_lint_on_insert_leave *g:ale_lint_on_insert_leave* *b:ale_lint_on_insert_leave* Type: |Number| Default: `1` When set to `1` in your vimrc file, this option will cause ALE to run linters when you leave insert mode. ALE will not lint files when you escape insert mode with |CTRL-C| by default. You can make ALE lint files with this option when you use |CTRL-C| with the following mapping. > " Make using Ctrl+C do the same as Escape, to trigger autocmd commands inoremap < A buffer-local version of this setting `b:ale_lint_on_insert_leave` can be set to `0` to disable linting when leaving insert mode. The setting must be enabled globally to be enabled locally. You should set this setting once before ALE is loaded, and restart Vim if you want to change your preferences. See |ale-lint-settings-on-startup|. g:ale_linter_aliases *g:ale_linter_aliases* *b:ale_linter_aliases* Type: |Dictionary| Default: `{}` The |g:ale_linter_aliases| option can be used to set aliases from one filetype to another. A given filetype can be mapped to use the linters run for another given filetype. This |Dictionary| will be merged with a default dictionary containing the following values: > { \ 'Dockerfile': 'dockerfile', \ 'csh': 'sh', \ 'javascriptreact': ['javascript', 'jsx'], \ 'plaintex': 'tex', \ 'ps1': 'powershell', \ 'rmarkdown': 'r', \ 'rmd': 'r', \ 'systemverilog': 'verilog', \ 'typescriptreact': ['typescript', 'tsx'], \ 'vader': ['vim', 'vader'], \ 'verilog_systemverilog': ['verilog_systemverilog', 'verilog'], \ 'vimwiki': 'markdown', \ 'vue': ['vue', 'javascript'], \ 'xsd': ['xsd', 'xml'], \ 'xslt': ['xslt', 'xml'], \ 'zsh': 'sh', \} < For example, if you wish to map a new filetype `'foobar'` to run the `'php'` linters, you could set the following: > let g:ale_linter_aliases = {'foobar': 'php'} < When combined with the |g:ale_linters| option, the original filetype (`'foobar'`) will be used for determining which linters to run, not the aliased type (`'php'`). This allows an aliased type to run a different set of linters from the type it is being mapped to. Passing a list of filetypes is also supported. Say you want to lint javascript and css embedded in HTML (using linters that support that). You could alias `html` like so: `let g:ale_linter_aliases = {'html': ['html', 'javascript', 'css']}` Note that `html` itself was included as an alias. That is because aliases will override the original linters for the aliased filetype. Linter aliases can be configured in each buffer with buffer-local variables. ALE will first look for aliases for filetypes in the `b:ale_linter_aliases` variable, then `g:ale_linter_aliases`, and then a default Dictionary. `b:ale_linter_aliases` can be set to a |List| or a |String|, to tell ALE to load the linters for specific filetypes for a given buffer. > let b:ale_linter_aliases = ['html', 'javascript', 'css'] " OR, Alias a filetype to only a single filetype with a String. let b:ale_linter_aliases = 'javascript' < No linters will be loaded when the buffer's filetype is empty. g:ale_filename_mappings *g:ale_filename_mappings* *b:ale_filename_mappings* Type: |Dictionary| or |List| Default: `{}` Either a |Dictionary| mapping a linter or fixer name, as displayed in |:ALEInfo|, to a |List| of two-item |List|s for filename mappings, or just a |List| of two-item |List|s. When given some paths to files, the value of this setting will be used to convert filenames on a local file system to filenames on some remote file system, such as paths in a Docker image, virtual machine, or network drive. For example: > let g:ale_filename_mappings = { \ 'pylint': [ \ ['/home/john/proj', '/data'], \ ], \} < With the above configuration, a filename such as `/home/john/proj/foo.py` will be provided to the linter/fixer as `/data/foo.py`, and paths parsed from linter results such as `/data/foo.py` will be converted back to `/home/john/proj/foo.py`. You can use `*` as to apply a |List| of filename mappings to all other linters or fixers not otherwise matched. > " Use one List of paths for pylint. " Use another List of paths for everything else. let g:ale_filename_mappings = { \ 'pylint': [ \ ['/home/john/proj', '/data'], \ ], \ '*': [ \ ['/home/john/proj', '/other-data'], \ ], \} < If you just want every single linter or fixer to use the same filename mapping, you can just use a |List|. > " Same as above, but for ALL linters and fixers. let g:ale_filename_mappings = [ \ ['/home/john/proj', '/data'], \] < You can provide many such filename paths for multiple projects. Paths are matched by checking if the start of a file path matches the given strings, in a case-sensitive manner. Earlier entries in the |List| will be tried before later entries when mapping to a given file system. Buffer-local options can be set to the same values to override the global options, such as in |ftplugin| files. NOTE: Only fixers registered with a short name can support filename mapping by their fixer names. See |ale-fix|. Filename mappings set for all tools by using only a |List| for the setting will also be applied to fixers not in the registry. NOTE: In order for this filename mapping to work correctly, linters and fixers must exclusively determine paths to files to lint or fix via ALE command formatting as per |ale-command-format-strings|, and paths parsed from linter files must be provided in `filename` keys if a linter returns results for more than one file at a time, as per |ale-loclist-format|. If you discover a linter or fixer which does not behave properly, please report it as an issue. If you are running a linter or fixer through Docker or another remote file system, you may have to mount your temporary directory, which you can discover with the following command: > :echo fnamemodify(tempname(), ':h:h') < You should provide a mapping from this temporary directory to whatever you mount this directory to in Docker, or whatever remote file system you are working with. You can inspect the filename mappings ALE will use with the |ale#GetFilenameMappings()| function. g:ale_linters *g:ale_linters* *b:ale_linters* Type: |Dictionary| Default: `{}` The |g:ale_linters| option sets a |Dictionary| mapping a filetype to a |List| of linter programs to be run when checking particular filetypes. This |Dictionary| will be merged with a default dictionary containing the following values: > { \ 'apkbuild': ['apkbuild_lint', 'secfixes_check'], \ 'csh': ['shell'], \ 'elixir': ['credo', 'dialyxir', 'dogma'], \ 'go': ['gofmt', 'golint', 'gopls', 'govet'], \ 'hack': ['hack'], \ 'help': [], \ 'inko': ['inko'], \ 'json': ['jsonlint', 'spectral'], \ 'json': ['jsonlint', 'spectral', 'vscodejson'], \ 'json5': [], \ 'jsonc': [], \ 'perl': ['perlcritic'], \ 'perl6': [], \ 'python': ['flake8', 'mypy', 'pylint', 'pyright', 'ruff'], \ 'rust': ['cargo', 'rls'], \ 'spec': [], \ 'text': [], \ 'vader': ['vimls'], \ 'vue': ['eslint', 'vls'], \ 'zsh': ['shell'], \ 'v': ['v'], \ 'yaml': ['spectral', 'yaml-language-server', 'yamllint'], \} < This option can be used to enable only a particular set of linters for a file. For example, you can enable only `eslint` for JavaScript files: > let g:ale_linters = {'javascript': ['eslint']} < If you want to disable all linters for a particular filetype, you can pass an empty list of linters as the value: > let g:ale_linters = {'javascript': []} < All linters will be run for unspecified filetypes. All available linters can be enabled explicitly for a given filetype by passing the string `'all'`, instead of a List. > let g:ale_linters = {'c': 'all'} < Linters can be configured in each buffer with buffer-local variables. ALE will first look for linters for filetypes in the `b:ale_linters` variable, then `g:ale_linters`, and then the default Dictionary mentioned above. `b:ale_linters` can be set to a List, or the string `'all'`. When linters for two different filetypes share the same name, the first linter loaded will be used. Any ambiguity can be resolved by using a Dictionary specifying which linter to run for which filetype instead. > " Use ESLint for the buffer if the filetype includes 'javascript'. let b:ale_linters = {'javascript': ['eslint'], 'html': ['tidy']} " Use a List for the same setting. This will work in most cases. let b:ale_linters = ['eslint', 'tidy'] " Disable all linters for the buffer. let b:ale_linters = [] " Explicitly enable all available linters for the filetype. let b:ale_linters = 'all' < ALE can be configured to disable all linters unless otherwise specified with `g:ale_enabled` or `b:ale_enabled` with the option |g:ale_linters_explicit|. g:ale_linters_explicit *g:ale_linters_explicit* Type: |Number| Default: `0` When set to `1`, only the linters from |g:ale_linters| and |b:ale_linters| will be enabled. The default behavior for ALE is to enable as many linters as possible, unless otherwise specified. g:ale_linters_ignore *g:ale_linters_ignore* *b:ale_linters_ignore* Type: |Dictionary| or |List| Default: `{}` Linters to ignore. Commands for ignored linters will not be run, and diagnostics for LSP linters will be ignored. (See |ale-lsp|) This setting can be set to a |Dictionary| mapping filetypes to linter names, just like |g:ale_linters|, to list linters to ignore. Ignore lists will be applied after everything else. > " Select flake8 and pylint, and ignore pylint, so only flake8 is run. let g:ale_linters = {'python': ['flake8', 'pylint']} let g:ale_linters_ignore = {'python': ['pylint']} < This setting can be set to simply a |List| of linter names, which is especially more convenient when using the setting in ftplugin files for particular buffers. > " The same as above, in a ftplugin/python.vim. let b:ale_linters = ['flake8', 'pylint'] let b:ale_linters_ignore = ['pylint'] < g:ale_list_vertical *g:ale_list_vertical* *b:ale_list_vertical* Type: |Number| Default: `0` When set to `1`, this will cause ALE to open any windows (loclist or quickfix) vertically instead of horizontally (|vert| |lopen|) or (|vert| |copen|) g:ale_loclist_msg_format *g:ale_loclist_msg_format* *b:ale_loclist_msg_format* Type: |String| Default: `g:ale_echo_msg_format` This option is the same as |g:ale_echo_msg_format|, but for formatting the message used for the loclist and the quickfix list. The strings for configuring `%severity%` are also used for this option. g:ale_lsp_show_message_format *g:ale_lsp_show_message_format* Type: |String| Default: `'%severity%:%linter%: %s'` This variable defines the format that messages received from an LSP will have when echoed. The following sequences of characters will be replaced. `%s` - replaced with the message text `%linter%` - replaced with the name of the linter `%severity%` - replaced with the severity of the message The strings for `%severity%` levels "error", "info" and "warning" are shared with |g:ale_echo_msg_format|. Severity "log" is unique to |g:ale_lsp_show_message_format| and it can be configured via |g:ale_echo_msg_log_str| - Defaults to `'Log'` Please note that |g:ale_lsp_show_message_format| *can not* be configured separately for each buffer like |g:ale_echo_msg_format| can. g:ale_lsp_show_message_severity *g:ale_lsp_show_message_severity* Type: |String| Default: `'error'` This variable defines the minimum severity level an LSP message needs to be displayed. Messages below this level are discarded; please note that messages with `Log` severity level are always discarded. Possible values follow the LSP spec `MessageType` definition: `'error'` - Displays only errors. `'warning'` - Displays errors and warnings. `'information'` - Displays errors, warnings and infos `'log'` - Same as `'information'` `'disabled'` - Doesn't display any information at all. g:ale_lsp_suggestions *g:ale_lsp_suggestions* Type: |Number| Default: `0` If set to `1`, show hints/suggestions from LSP servers or tsserver, in addition to warnings and errors. g:ale_max_buffer_history_size *g:ale_max_buffer_history_size* Type: |Number| Default: `20` This setting controls the maximum number of commands which will be stored in the command history used for |ALEInfo|. Command history will be rotated in a FIFO manner. If set to a number <= 0, then the history will be continuously set to an empty |List|. History can be disabled completely with |g:ale_history_enabled|. g:ale_max_signs *g:ale_max_signs* *b:ale_max_signs* Type: |Number| Default: `-1` When set to any positive integer, ALE will not render any more than the given number of signs for any one buffer. When set to `0`, no signs will be set, but sign processing will still be done, so existing signs can be removed. When set to any other value, no limit will be imposed on the number of signs set. For disabling sign processing, see |g:ale_set_signs|. g:ale_maximum_file_size *g:ale_maximum_file_size* *b:ale_maximum_file_size* Type: |Number| Default: not set A maximum file size in bytes for ALE to check. If set to any positive number, ALE will skip checking files larger than the given size. g:ale_open_list *g:ale_open_list* *b:ale_open_list* Type: |Number| or |String| Default: `0` When set to `1`, this will cause ALE to automatically open a window for the loclist (|lopen|) or for the quickfix list instead if |g:ale_set_quickfix| is `1`. (|copen|) When set to any higher numberical value, ALE will only open the window when the number of warnings or errors are at least that many. When set to `'on_save'`, ALE will only open the loclist after buffers have been saved. The list will be opened some time after buffers are saved and any linter for a buffer returns results. The window will be kept open until all warnings or errors are cleared, including those not set by ALE, unless |g:ale_keep_list_window_open| is set to `1`, in which case the window will be kept open when no problems are found. The window size can be configured with |g:ale_list_window_size|. Windows can be opened vertically with |g:ale_list_vertical|. If you want to close the loclist window automatically when the buffer is closed, you can set up the following |autocmd| command: > augroup CloseLoclistWindowGroup autocmd! autocmd QuitPre * if empty(&buftype) | lclose | endif augroup END < g:ale_pattern_options *g:ale_pattern_options* Type: |Dictionary| Default: not set This option maps regular expression patterns to |Dictionary| values for buffer variables. This option can be set to automatically configure different settings for different files. For example: > " Use just ESLint for linting and fixing files which end in '.foo.js' let g:ale_pattern_options = { \ '\.foo\.js$': { \ 'ale_linters': ['eslint'], \ 'ale_fixers': ['eslint'], \ }, \} < See |b:ale_linters| and |b:ale_fixers| for information for those options. Filenames are matched with |match()|, and patterns depend on the |magic| setting, unless prefixed with the special escape sequences like `'\v'`, etc. The patterns can match any part of a filename. The absolute path of the filename will be used for matching, taken from `expand('%:p')`. The options for every match for the filename will be applied, with the pattern keys sorted in alphabetical order. Options for `'zebra'` will override the options for `'alpha'` for a filename `alpha-zebra`. g:ale_pattern_options_enabled *g:ale_pattern_options_enabled* Type: |Number| Default: not set This option can be used for disabling pattern options. If set to `0`, ALE will not set buffer variables per |g:ale_pattern_options|. g:ale_popup_menu_enabled *g:ale_popup_menu_enabled* Type: |Number| Default: `has('gui_running')` When this option is set to `1`, ALE will show code actions and rename capabilities in the right click mouse menu when there's a LSP server or tsserver available. See |ale-refactor|. This feature is only supported in GUI versions of Vim. This setting must be set to `1` before ALE is loaded for this behavior to be enabled. See |ale-lint-settings-on-startup|. g:ale_rename_tsserver_find_in_comments *g:ale_rename_tsserver_find_in_comments* Type: |Number| Default: `0` If enabled, this option will tell tsserver to find and replace text in comments when calling |ALERename|. It can be enabled by settings the value to `1`. g:ale_rename_tsserver_find_in_strings *g:ale_rename_tsserver_find_in_strings* Type: |Number| Default: `0` If enabled, this option will tell tsserver to find and replace text in strings when calling |ALERename|. It can be enabled by settings the value to `1`. g:ale_root *g:ale_root* *b:ale_root* Type: |Dictionary| or |String| Default: `{}` This option is used to determine the project root for a linter. If the value is a |Dictionary|, it maps a linter to either a |String| containing the project root or a |Funcref| to call to look up the root. The |Funcref| is provided the buffer number as its argument. The buffer-specific variable may additionally be a string containing the project root itself. If neither variable yields a result, a linter-specific function is invoked to detect a project root. If this, too, yields no result, and the linter is an LSP linter, it will not run. g:ale_set_balloons *g:ale_set_balloons* *b:ale_set_balloons* Type: |Number| or |String| Default: `has('balloon_eval') && has('gui_running')` When this option is set to `1`, balloon messages will be displayed for problems or hover information if available. Problems nearest to the line the mouse cursor is over will be displayed. If there are no problems to show, and one of the linters is an LSP linter supporting "Hover" information, per |ale-hover|, then brief information about the symbol under the cursor will be displayed in a balloon. This option can be set to `'hover'` to only enable balloons for hover message, so diagnostics are never shown in balloons. You may wish to configure use this setting only in GUI Vim like so: > let g:ale_set_balloons = has('gui_running') ? 'hover' : 0 < Balloons can be enabled for terminal versions of Vim that support balloons, but some versions of Vim will produce strange mouse behavior when balloons are enabled. To configure balloons for your terminal, you should first configure your |ttymouse| setting, and then consider setting `g:ale_set_balloons` to `1` before ALE is loaded. `b:ale_set_balloons` can be set to `0` to disable balloons for a buffer. Balloons cannot be enabled for a specific buffer when not initially enabled globally. Balloons will not be shown when |g:ale_enabled| or |b:ale_enabled| is `0`. g:ale_set_balloons_legacy_echo *g:ale_set_balloons_legacy_echo* *b:ale_set_balloons_legacy_echo* Type: |Number| Default: not set If set to `1`, moving your mouse over documents in Vim will make ALE ask `tsserver` or `LSP` servers for information about the symbol where the mouse cursor is, and print that information into Vim's echo line. This is an option for supporting older versions of Vim which do not properly support balloons in an asynchronous manner. If your version of Vim supports the |balloon_show| function, then this option does nothing meaningful. g:ale_set_highlights *g:ale_set_highlights* Type: |Number| Default: `has('syntax')` When this option is set to `1`, highlights will be set for problems. ALE will use the following highlight groups for problems: |ALEError| - Items with `'type': 'E'` |ALEWarning| - Items with `'type': 'W'` |ALEInfo.| - Items with `'type': 'I'` |ALEStyleError| - Items with `'type': 'E'` and `'sub_type': 'style'` |ALEStyleWarning| - Items with `'type': 'W'` and `'sub_type': 'style'` When |g:ale_set_signs| is set to `0`, the following highlights for entire lines will be set. |ALEErrorLine| - All items with `'type': 'E'` |ALEWarningLine| - All items with `'type': 'W'` |ALEInfoLine| - All items with `'type': 'I'` Vim can only highlight the characters up to the last column in a buffer for match highlights, whereas the line highlights when signs are enabled will run to the edge of the screen. Highlights can be excluded with the |g:ale_exclude_highlights| option. g:ale_set_loclist *g:ale_set_loclist* Type: |Number| Default: `1` When this option is set to `1`, the |loclist| will be populated with any warnings and errors which are found by ALE. This feature can be used to implement jumping between errors through typical use of |lnext| and |lprev|. g:ale_set_quickfix *g:ale_set_quickfix* Type: |Number| Default: `0` When this option is set to `1`, the |quickfix| list will be populated with any problems which are found by ALE, instead of the |loclist|. The loclist will never be populated when this option is on. Problems from every buffer ALE has checked will be included in the quickfix list, which can be checked with |:copen|. Problems will be de-duplicated. This feature should not be used in combination with tools for searching for matches and commands like |:cfdo|, as ALE will replace the quickfix list pretty frequently. If you wish to use such tools, you should populate the loclist or use |ALEPopulateQuickfix| instead. g:ale_set_signs *g:ale_set_signs* Type: |Number| Default: `has('signs')` When this option is set to `1`, the |sign| column will be populated with signs marking where problems appear in the file. ALE will use the following highlight groups for problems: |ALEErrorSign| - Items with `'type': 'E'` |ALEWarningSign| - Items with `'type': 'W'` |ALEInfoSign| - Items with `'type': 'I'` |ALEStyleErrorSign| - Items with `'type': 'E'` and `'sub_type': 'style'` |ALEStyleWarningSign| - Items with `'type': 'W'` and `'sub_type': 'style'` In addition to the style of the signs, the style of lines where signs appear can be configured with the following highlights: |ALEErrorLine| - All items with `'type': 'E'` |ALEWarningLine| - All items with `'type': 'W'` |ALEInfoLine| - All items with `'type': 'I'` With Neovim 0.3.2 or higher, ALE can use the `numhl` option to highlight the 'number' column. It uses the following highlight groups. |ALEErrorSignLineNr| - Items with `'type': 'E'` |ALEWarningSignLineNr| - Items with `'type': 'W'` |ALEInfoSignLineNr| - Items with `'type': 'I'` |ALEStyleErrorSignLineNr| - Items with `'type': 'E'` and `'sub_type': 'style'` |ALEStyleWarningSignLineNr| - Items with `'type': 'W'` and `'sub_type': 'style'` To enable line number highlighting |g:ale_sign_highlight_linenrs| must be set to `1` before ALE is loaded. The markers for the highlights can be customized with the following options: |g:ale_sign_error| |g:ale_sign_warning| |g:ale_sign_info| |g:ale_sign_style_error| |g:ale_sign_style_warning| When multiple problems exist on the same line, the signs will take precedence in the order above, from highest to lowest. To limit the number of signs ALE will set, see |g:ale_max_signs|. g:ale_sign_priority *g:ale_sign_priority* Type: |Number| Default: `30` From Neovim 0.4.0 and Vim 8.1, ALE can set sign priority to all signs. The larger this value is, the higher priority ALE signs have over other plugin signs. See |sign-priority| for further details on how priority works. g:ale_shell *g:ale_shell* *b:ale_shell* Type: |String| Default: not set Override the shell used by ALE for executing commands. ALE uses 'shell' by default, but falls back in `/bin/sh` if the default shell looks like `fish` or `pwsh`, which are not compatible with all of the commands run by ALE. The shell specified with this option will be used even if it might not work in all cases. For Windows, ALE uses `cmd` when this option isn't set. Setting this option will apply shell escaping to the command string, even on Windows. NOTE: Consider setting |g:ale_shell_arguments| if this option is defined. g:ale_shell_arguments *g:ale_shell_arguments* *b:ale_shell_arguments* Type: |String| Default: not set This option specifies the arguments to use for executing a command with a custom shell, per |g:ale_shell|. If this option is not set, 'shellcmdflag' will be used instead. g:ale_sign_column_always *g:ale_sign_column_always* Type: |Number| Default: `0` By default, the sign gutter will disappear when all warnings and errors have been fixed for a file. When this option is set to `1`, the sign column will remain open. This can be preferable if you don't want the text in your file to move around as you edit a file. g:ale_sign_error *g:ale_sign_error* Type: |String| Default: `'>>'` The sign for errors in the sign gutter. g:ale_sign_info *g:ale_sign_info* Type: |String| Default: `g:ale_sign_warning` The sign for "info" markers in the sign gutter. g:ale_sign_style_error *g:ale_sign_style_error* Type: |String| Default: `g:ale_sign_error` The sign for style errors in the sign gutter. g:ale_sign_style_warning *g:ale_sign_style_warning* Type: |String| Default: `g:ale_sign_warning` The sign for style warnings in the sign gutter. g:ale_sign_offset *g:ale_sign_offset* Type: |Number| Default: `1000000` This variable controls offset from which numeric IDs will be generated for new signs. Signs cannot share the same ID values, so when two Vim plugins set signs at the same time, the IDs have to be configured such that they do not conflict with one another. If the IDs used by ALE are found to conflict with some other plugin, this offset value can be changed, and hopefully both plugins will work together. See |sign-place| for more information on how signs are set. g:ale_sign_warning *g:ale_sign_warning* Type: |String| Default: `'--'` The sign for warnings in the sign gutter. g:ale_sign_highlight_linenrs *g:ale_sign_highlight_linenrs* Type: |Number| Default: `0` When set to `1`, this option enables highlighting problems on the 'number' column in Vim versions that support `numhl` highlights. This option must be configured before ALE is loaded. g:ale_update_tagstack *g:ale_update_tagstack* *b:ale_update_tagstack* Type: |Number| Default: `1` This option can be set to disable updating Vim's |tagstack| automatically. g:ale_type_map *g:ale_type_map* *b:ale_type_map* Type: |Dictionary| Default: `{}` This option can be set re-map problem types for linters. Each key in the |Dictionary| should be the name of a linter, and each value must be a |Dictionary| mapping problem types from one type to another. The following types are supported: `'E'` - `{'type': 'E'}` `'ES'` - `{'type': 'E', 'sub_type': 'style'}` `'W'` - `{'type': 'W'}` `'WS'` - `{'type': 'W', 'sub_type': 'style'}` `'I'` - `{'type': 'I'}` For example, if you want to turn flake8 errors into warnings, you can write the following: > let g:ale_type_map = {'flake8': {'ES': 'WS', 'E': 'W'}} < If you wanted to turn style errors and warnings into regular errors and warnings, you can write the following: > let g:ale_type_map = {'flake8': {'ES': 'E', 'WS': 'W'}} < Type maps can be set per-buffer with `b:ale_type_map`. g:ale_use_global_executables *g:ale_use_global_executables* Type: |Number| Default: not set This option can be set to change the default for all `_use_global` options. This option must be set before ALE is loaded, preferably in a vimrc file. See |ale-integrations-local-executables| for more information on those options. g:ale_virtualtext_cursor *g:ale_virtualtext_cursor* Type: |Number| Default: `'all'` (if supported, otherwise `'disabled'`) This option controls how ALE will display problems using |virtual-text|. The following values can be used. `'all'`, `'2'`, or `2` - Show problems for all lines. `'current'`, `'1'`, or `1` - Show problems for the current line. `'disabled'`, `'0'`, or `0` - Do not show problems with virtual-text. Messages are only displayed after a short delay. See |g:ale_virtualtext_delay|. Messages can be prefixed prefixed with a string. See |g:ale_virtualtext_prefix|. ALE will use the following highlight groups for problems: |ALEVirtualTextError| - Items with `'type': 'E'` |ALEVirtualTextWarning| - Items with `'type': 'W'` |ALEVirtualTextInfo| - Items with `'type': 'I'` |ALEVirtualTextStyleError| - Items with `'type': 'E'` and `'sub_type': 'style'` |ALEVirtualTextStyleWarning| - Items with `'type': 'W'` and `'sub_type': 'style'` g:ale_virtualtext_delay *g:ale_virtualtext_delay* *b:ale_virtualtext_delay* Type: |Number| Default: `10` Given any integer, this option controls the number of milliseconds before ALE will show a message for a problem near the cursor. The value can be increased to decrease the amount of processing ALE will do for files displaying a large number of problems. g:ale_virtualtext_prefix *g:ale_virtualtext_prefix* Type: |String| Default: `'> '` Prefix to be used with |g:ale_virtualtext_cursor|. g:ale_virtualenv_dir_names *g:ale_virtualenv_dir_names* *b:ale_virtualenv_dir_names* Type: |List| Default: `['.env', '.venv', 'env', 've-py3', 've', 'virtualenv', 'venv']` A list of directory names to be used when searching upwards from Python files to discover virtulenv directories with. For directory named `'foo'`, ALE will search for `'foo/bin/activate'` (`foo\Scripts\activate\` on Windows) in all directories on and above the directory containing the Python file to find virtualenv paths. g:ale_warn_about_trailing_blank_lines *g:ale_warn_about_trailing_blank_lines* *b:ale_warn_about_trailing_blank_lines* Type: |Number| Default: `1` When this option is set to `1`, warnings about trailing blank lines will be shown. This option behaves similarly to |g:ale_warn_about_trailing_whitespace|. g:ale_warn_about_trailing_whitespace *g:ale_warn_about_trailing_whitespace* *b:ale_warn_about_trailing_whitespace* Type: |Number| Default: `1` When this option is set to `1`, warnings relating to trailing whitespace on lines will be shown. If warnings are too irritating while editing buffers, and you have configured Vim to automatically remove trailing whitespace, you can disable these warnings by setting this option to `0`. Not all linters may respect this option. If a linter does not, please file a bug report, and it may be possible to add such support. This option may be configured on a per buffer basis. g:ale_windows_node_executable_path *g:ale_windows_node_executable_path* *b:ale_windows_node_executable_path* Type: |String| Default: `'node.exe'` This variable is used as the path to the executable to use for executing scripts with Node.js on Windows. For Windows, any file with a `.js` file extension needs to be executed with the node executable explicitly. Otherwise, Windows could try and open the scripts with other applications, like a text editor. Therefore, these scripts are executed with whatever executable is configured with this setting. ------------------------------------------------------------------------------- 6.1. Highlights *ale-highlights* ALEError *ALEError* Default: `highlight link ALEError SpellBad` The highlight for highlighted errors. See |g:ale_set_highlights|. ALEErrorLine *ALEErrorLine* Default: Undefined The highlight for an entire line where errors appear. Only the first line for a problem will be highlighted. See |g:ale_set_signs| and |g:ale_set_highlights|. ALEErrorSign *ALEErrorSign* Default: `highlight link ALEErrorSign error` The highlight for error signs. See |g:ale_set_signs|. ALEErrorSignLineNr *ALEErrorSignLineNr* Default: `highlight link ALEErrorSignLineNr CursorLineNr` The highlight for error signs. See |g:ale_set_signs|. NOTE: This highlight is only available on Neovim 0.3.2 or higher. ALEInfo *ALEInfo.* *ALEInfo-highlight* Default: `highlight link ALEInfo ALEWarning` The highlight for highlighted info messages. See |g:ale_set_highlights|. ALEInfoSign *ALEInfoSign* Default: `highlight link ALEInfoSign ALEWarningSign` The highlight for info message signs. See |g:ale_set_signs|. ALEInfoLine *ALEInfoLine* Default: Undefined The highlight for entire lines where info messages appear. Only the first line for a problem will be highlighted. See |g:ale_set_signs| and |g:ale_set_highlights|. ALEInfoSignLineNr *ALEInfoSignLineNr* Default: `highlight link ALEInfoSignLineNr CursorLineNr` The highlight for error signs. See |g:ale_set_signs|. NOTE: This highlight is only available on Neovim 0.3.2 or higher. ALEStyleError *ALEStyleError* Default: `highlight link ALEStyleError ALEError` The highlight for highlighted style errors. See |g:ale_set_highlights|. ALEStyleErrorSign *ALEStyleErrorSign* Default: `highlight link ALEStyleErrorSign ALEErrorSign` The highlight for style error signs. See |g:ale_set_signs|. ALEStyleErrorSignLineNr *ALEStyleErrorSignLineNr* Default: `highlight link ALEStyleErrorSignLineNr CursorLineNr` The highlight for error signs. See |g:ale_set_signs|. NOTE: This highlight is only available on Neovim 0.3.2 or higher. ALEStyleWarning *ALEStyleWarning* Default: `highlight link ALEStyleWarning ALEError` The highlight for highlighted style warnings. See |g:ale_set_highlights|. ALEStyleWarningSign *ALEStyleWarningSign* Default: `highlight link ALEStyleWarningSign ALEWarningSign` The highlight for style warning signs. See |g:ale_set_signs|. ALEStyleWarningSignLineNr *ALEStyleWarningSignLineNr* Default: `highlight link ALEStyleWarningSignLineNr CursorLineNr` The highlight for error signs. See |g:ale_set_signs|. NOTE: This highlight is only available on Neovim 0.3.2 or higher. ALEVirtualTextError *ALEVirtualTextError* Default: `highlight link ALEVirtualTextError ALEError` The highlight for virtualtext errors. See |g:ale_virtualtext_cursor|. ALEVirtualTextInfo *ALEVirtualTextInfo* Default: `highlight link ALEVirtualTextInfo ALEVirtualTextWarning` The highlight for virtualtext info. See |g:ale_virtualtext_cursor|. ALEVirtualTextStyleError *ALEVirtualTextStyleError* Default: `highlight link ALEVirtualTextStyleError ALEVirtualTextError` The highlight for virtualtext style errors. See |g:ale_virtualtext_cursor|. ALEVirtualTextStyleWarning *ALEVirtualTextStyleWarning* Default: `highlight link ALEVirtualTextStyleWarning ALEVirtualTextWarning` The highlight for virtualtext style warnings. See |g:ale_virtualtext_cursor|. ALEVirtualTextWarning *ALEVirtualTextWarning* Default: `highlight link ALEVirtualTextWarning ALEWarning` The highlight for virtualtext errors. See |g:ale_virtualtext_cursor|. ALEWarning *ALEWarning* Default: `highlight link ALEWarning SpellCap` The highlight for highlighted warnings. See |g:ale_set_highlights|. ALEWarningLine *ALEWarningLine* Default: Undefined The highlight for entire lines where warnings appear. Only the first line for a problem will be highlighted. See |g:ale_set_signs| and |g:ale_set_highlights|. ALEWarningSign *ALEWarningSign* Default: `highlight link ALEWarningSign todo` The highlight for warning signs. See |g:ale_set_signs|. ALEWarningSignLineNr *ALEWarningSignLineNr* Default: `highlight link ALEWarningSignLineNr CursorLineNr` The highlight for error signs. See |g:ale_set_signs|. NOTE: This highlight is only available on Neovim 0.3.2 or higher. =============================================================================== 7. Linter/Fixer Options *ale-integration-options* Linter and fixer options are documented below and in individual help files. Every option for programs can be set globally, or individually for each buffer. For example, `b:ale_python_flake8_executable` will override any values set for `g:ale_python_flake8_executable`. *ale-integrations-local-executables* Some tools will prefer to search for locally-installed executables, unless configured otherwise. For example, the `eslint` linter will search for various executable paths in `node_modules`. The `flake8` linter will search for virtualenv directories. If you prefer to use global executables for those tools, set the relevant `_use_global` and `_executable` options for those linters. > " Use the global executable with a special name for eslint. let g:ale_javascript_eslint_executable = 'special-eslint' let g:ale_javascript_eslint_use_global = 1 " Use the global executable with a special name for flake8. let g:ale_python_flake8_executable = '/foo/bar/flake8' let g:ale_python_flake8_use_global = 1 < |g:ale_use_global_executables| can be set to `1` in your vimrc file to make ALE use global executables for all linters by default. The option |g:ale_virtualenv_dir_names| controls the local virtualenv paths ALE will use to search for Python executables. ------------------------------------------------------------------------------- 7.1. Options for alex *ale-alex-options* The options for `alex` are shared between all filetypes, so options can be configured once. g:ale_alex_executable *g:ale_alex_executable* *b:ale_alex_executable* Type: |String| Default: `'alex'` See |ale-integrations-local-executables| g:ale_alex_use_global *g:ale_alex_use_global* *b:ale_alex_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| ------------------------------------------------------------------------------- 7.2. Options for cspell *ale-cspell-options* The options for `cspell` are shared between all filetypes, so options can be configured only once. g:ale_cspell_executable *g:ale_cspell_executable* *b:ale_cspell_executable* Type: |String| Default: `'cspell'` See |ale-integrations-local-executables| g:ale_cspell_options *g:ale_cspell_options* *b:ale_cspell_options* Type: |String| Default: `''` This variable can be set to pass additional options to `cspell`. g:ale_cspell_use_global *g:ale_cspell_use_global* *b:ale_cspell_use_global* Type: |Number| Default: `get(g: 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| ------------------------------------------------------------------------------- 7.3. Options for dprint *ale-dprint-options* `dprint` is a fixer for many file types, including: (java|type)script, json(c?), markdown, and more. See https://dprint.dev/plugins for an up-to-date list of supported plugins and their configuration options. g:ale_dprint_executable *g:ale_dprint_executable* *b:ale_dprint_executable* Type: |String| Default: `'dprint'` See |ale-integrations-local-executables| g:ale_dprint_config *g:ale_dprint_config* *b:ale_dprint_config* Type: |String| Default: `'dprint.json'` This variable can be changed to provide a config file to `dprint`. The default is the nearest `dprint.json` searching upward from the current buffer. See https://dprint.dev/config and https://plugins.dprint.dev g:ale_dprint_options *g:ale_dprint_options* *b:ale_dprint_options* Type: |String| Default: `''` This variable can be set to pass additional options to `dprint`. g:ale_dprint_use_global *g:ale_dprint_use_global* *b:ale_dprint_use_global* Type: |Number| Default: `get(g: 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| ------------------------------------------------------------------------------- 7.4. Options for languagetool *ale-languagetool-options* g:ale_languagetool_executable *g:ale_languagetool_executable* *b:ale_languagetool_executable* Type: |String| Default: `'languagetool'` The executable to run for languagetool. g:ale_languagetool_options *g:ale_languagetool_options* *b:ale_languagetool_options* Type: |String| Default: `'--autoDetect'` This variable can be set to pass additional options to languagetool. ------------------------------------------------------------------------------- 7.5. Options for write-good *ale-write-good-options* The options for `write-good` are shared between all filetypes, so options can be configured once. g:ale_writegood_executable *g:ale_writegood_executable* *b:ale_writegood_executable* Type: |String| Default: `'writegood'` See |ale-integrations-local-executables| g:ale_writegood_options *g:ale_writegood_options* *b:ale_writegood_options* Type: |String| Default: `''` This variable can be set to pass additional options to writegood. g:ale_writegood_use_global *g:ale_writegood_use_global* *b:ale_writegood_use_global* Type: |Number| Default: `get(g:, 'ale_use_global_executables', 0)` See |ale-integrations-local-executables| ------------------------------------------------------------------------------- 7.6. Other Linter/Fixer Options *ale-other-integration-options* ALE supports a very wide variety of tools. Other linter or fixer options are documented in additional help files. ada.....................................|ale-ada-options| cspell................................|ale-ada-cspell| gcc...................................|ale-ada-gcc| gnatpp................................|ale-ada-gnatpp| ada-language-server...................|ale-ada-language-server| ansible.................................|ale-ansible-options| ansible-language-server...............|ale-ansible-language-server| ansible-lint..........................|ale-ansible-ansible-lint| apkbuild................................|ale-apkbuild-options| apkbuild-lint.........................|ale-apkbuild-apkbuild-lint| secfixes-check........................|ale-apkbuild-secfixes-check| asciidoc................................|ale-asciidoc-options| cspell................................|ale-asciidoc-cspell| write-good............................|ale-asciidoc-write-good| textlint..............................|ale-asciidoc-textlint| asm.....................................|ale-asm-options| gcc...................................|ale-asm-gcc| avra....................................|ale-avra-options| avra..................................|ale-avra-avra| awk.....................................|ale-awk-options| gawk..................................|ale-awk-gawk| bats....................................|ale-bats-options| shellcheck............................|ale-bats-shellcheck| bazel...................................|ale-bazel-options| buildifier............................|ale-bazel-buildifier| bib.....................................|ale-bib-options| bibclean..............................|ale-bib-bibclean| bicep...................................|ale-bicep-options| bicep.................................|ale-bicep-bicep| bitbake.................................|ale-bitbake-options| oelint-adv............................|ale-bitbake-oelint_adv| c.......................................|ale-c-options| astyle................................|ale-c-astyle| cc....................................|ale-c-cc| ccls..................................|ale-c-ccls| clangd................................|ale-c-clangd| clang-format..........................|ale-c-clangformat| clangtidy.............................|ale-c-clangtidy| cppcheck..............................|ale-c-cppcheck| cquery................................|ale-c-cquery| cspell................................|ale-c-cspell| flawfinder............................|ale-c-flawfinder| uncrustify............................|ale-c-uncrustify| cairo...................................|ale-cairo-options| starknet..............................|ale-cairo-starknet| chef....................................|ale-chef-options| cookstyle.............................|ale-chef-cookstyle| foodcritic............................|ale-chef-foodcritic| clojure.................................|ale-clojure-options| clj-kondo.............................|ale-clojure-clj-kondo| joker.................................|ale-clojure-joker| cloudformation..........................|ale-cloudformation-options| cfn-python-lint.......................|ale-cloudformation-cfn-python-lint| cmake...................................|ale-cmake-options| cmakelint.............................|ale-cmake-cmakelint| cmake-lint............................|ale-cmake-cmake-lint| cmake-format..........................|ale-cmake-cmakeformat| cpp.....................................|ale-cpp-options| astyle................................|ale-cpp-astyle| cc....................................|ale-cpp-cc| ccls..................................|ale-cpp-ccls| clangcheck............................|ale-cpp-clangcheck| clangd................................|ale-cpp-clangd| clang-format..........................|ale-cpp-clangformat| clangtidy.............................|ale-cpp-clangtidy| clazy.................................|ale-cpp-clazy| cppcheck..............................|ale-cpp-cppcheck| cpplint...............................|ale-cpp-cpplint| cquery................................|ale-cpp-cquery| cspell................................|ale-cpp-cspell| flawfinder............................|ale-cpp-flawfinder| uncrustify............................|ale-cpp-uncrustify| c#......................................|ale-cs-options| clang-format..........................|ale-cs-clangformat| csc...................................|ale-cs-csc| cspell................................|ale-cs-cspell| dotnet-format.........................|ale-cs-dotnet-format| mcs...................................|ale-cs-mcs| mcsc..................................|ale-cs-mcsc| uncrustify............................|ale-cs-uncrustify| css.....................................|ale-css-options| cspell................................|ale-css-cspell| css-beautify..........................|ale-css-css-beautify| fecs..................................|ale-css-fecs| prettier..............................|ale-css-prettier| stylelint.............................|ale-css-stylelint| vscodecss.............................|ale-css-vscode| cuda....................................|ale-cuda-options| clang-format..........................|ale-cuda-clangformat| clangd................................|ale-cuda-clangd| nvcc..................................|ale-cuda-nvcc| d.......................................|ale-d-options| dfmt..................................|ale-d-dfmt| dls...................................|ale-d-dls| uncrustify............................|ale-d-uncrustify| dafny...................................|ale-dafny-options| dafny.................................|ale-dafny-dafny| dart....................................|ale-dart-options| analysis_server.......................|ale-dart-analysis_server| dart-analyze..........................|ale-dart-analyze| dart-format...........................|ale-dart-format| dartfmt...............................|ale-dart-dartfmt| desktop.................................|ale-desktop-options| desktop-file-validate.................|ale-desktop-desktop-file-validate| dhall...................................|ale-dhall-options| dhall-format..........................|ale-dhall-format| dhall-freeze..........................|ale-dhall-freeze| dhall-lint............................|ale-dhall-lint| dockerfile..............................|ale-dockerfile-options| dockerfile_lint.......................|ale-dockerfile-dockerfile_lint| dprint................................|ale-dockerfile-dprint| hadolint..............................|ale-dockerfile-hadolint| elixir..................................|ale-elixir-options| mix...................................|ale-elixir-mix| mix_format............................|ale-elixir-mix-format| dialyxir..............................|ale-elixir-dialyxir| elixir-ls.............................|ale-elixir-elixir-ls| credo.................................|ale-elixir-credo| cspell................................|ale-elixir-cspell| elm.....................................|ale-elm-options| elm-format............................|ale-elm-elm-format| elm-ls................................|ale-elm-elm-ls| elm-make..............................|ale-elm-elm-make| erlang..................................|ale-erlang-options| dialyzer..............................|ale-erlang-dialyzer| elvis.................................|ale-erlang-elvis| erlang_ls.............................|ale-erlang-erlang_ls| erlc..................................|ale-erlang-erlc| erlfmt................................|ale-erlang-erlfmt| syntaxerl.............................|ale-erlang-syntaxerl| eruby...................................|ale-eruby-options| erblint...............................|ale-eruby-erblint| ruumba................................|ale-eruby-ruumba| fish....................................|ale-fish-options| fish_indent...........................|ale-fish-fish_indent| fortran.................................|ale-fortran-options| gcc...................................|ale-fortran-gcc| language_server.......................|ale-fortran-language-server| fountain................................|ale-fountain-options| fusionscript............................|ale-fuse-options| fusion-lint...........................|ale-fuse-fusionlint| git commit..............................|ale-gitcommit-options| gitlint...............................|ale-gitcommit-gitlint| glsl....................................|ale-glsl-options| glslang...............................|ale-glsl-glslang| glslls................................|ale-glsl-glslls| go......................................|ale-go-options| bingo.................................|ale-go-bingo| cspell................................|ale-go-cspell| gobuild...............................|ale-go-gobuild| gofmt.................................|ale-go-gofmt| gofumpt...............................|ale-go-gofumpt| golangci-lint.........................|ale-go-golangci-lint| golangserver..........................|ale-go-golangserver| golines...............................|ale-go-golines| golint................................|ale-go-golint| gometalinter..........................|ale-go-gometalinter| gopls.................................|ale-go-gopls| govet.................................|ale-go-govet| revive................................|ale-go-revive| staticcheck...........................|ale-go-staticcheck| graphql.................................|ale-graphql-options| eslint................................|ale-graphql-eslint| gqlint................................|ale-graphql-gqlint| prettier..............................|ale-graphql-prettier| hack....................................|ale-hack-options| hack..................................|ale-hack-hack| hackfmt...............................|ale-hack-hackfmt| hhast.................................|ale-hack-hhast| handlebars..............................|ale-handlebars-options| prettier..............................|ale-handlebars-prettier| ember-template-lint...................|ale-handlebars-embertemplatelint| haskell.................................|ale-haskell-options| brittany..............................|ale-haskell-brittany| cspell................................|ale-haskell-cspell| floskell..............................|ale-haskell-floskell| ghc...................................|ale-haskell-ghc| ghc-mod...............................|ale-haskell-ghc-mod| cabal-ghc.............................|ale-haskell-cabal-ghc| hdevtools.............................|ale-haskell-hdevtools| hfmt..................................|ale-haskell-hfmt| hindent...............................|ale-haskell-hindent| hlint.................................|ale-haskell-hlint| hls...................................|ale-haskell-hls| stack-build...........................|ale-haskell-stack-build| stack-ghc.............................|ale-haskell-stack-ghc| stylish-haskell.......................|ale-haskell-stylish-haskell| hie...................................|ale-haskell-hie| ormolu................................|ale-haskell-ormolu| hcl.....................................|ale-hcl-options| packer-fmt............................|ale-hcl-packer-fmt| terraform-fmt.........................|ale-hcl-terraform-fmt| help....................................|ale-help-options| cspell................................|ale-help-cspell| html....................................|ale-html-options| angular...............................|ale-html-angular| cspell................................|ale-html-cspell| fecs..................................|ale-html-fecs| html-beautify.........................|ale-html-beautify| htmlhint..............................|ale-html-htmlhint| prettier..............................|ale-html-prettier| stylelint.............................|ale-html-stylelint| tidy..................................|ale-html-tidy| vscodehtml............................|ale-html-vscode| write-good............................|ale-html-write-good| idris...................................|ale-idris-options| idris.................................|ale-idris-idris| ink.....................................|ale-ink-options| ink-language-server...................|ale-ink-language-server| inko....................................|ale-inko-options| inko..................................|ale-inko-inko| ispc....................................|ale-ispc-options| ispc..................................|ale-ispc-ispc| java....................................|ale-java-options| checkstyle............................|ale-java-checkstyle| clang-format..........................|ale-java-clangformat| cspell................................|ale-java-cspell| javac.................................|ale-java-javac| google-java-format....................|ale-java-google-java-format| pmd...................................|ale-java-pmd| javalsp...............................|ale-java-javalsp| eclipselsp............................|ale-java-eclipselsp| uncrustify............................|ale-java-uncrustify| javascript..............................|ale-javascript-options| clang-format..........................|ale-javascript-clangformat| cspell................................|ale-javascript-cspell| deno..................................|ale-javascript-deno| dprint................................|ale-javascript-dprint| eslint................................|ale-javascript-eslint| fecs..................................|ale-javascript-fecs| flow..................................|ale-javascript-flow| importjs..............................|ale-javascript-importjs| jscs..................................|ale-javascript-jscs| jshint................................|ale-javascript-jshint| prettier..............................|ale-javascript-prettier| prettier-eslint.......................|ale-javascript-prettier-eslint| prettier-standard.....................|ale-javascript-prettier-standard| standard..............................|ale-javascript-standard| xo....................................|ale-javascript-xo| json....................................|ale-json-options| clang-format..........................|ale-json-clangformat| cspell................................|ale-json-cspell| dprint................................|ale-json-dprint| eslint................................|ale-json-eslint| fixjson...............................|ale-json-fixjson| jsonlint..............................|ale-json-jsonlint| jq....................................|ale-json-jq| prettier..............................|ale-json-prettier| spectral..............................|ale-json-spectral| vscodejson............................|ale-json-vscode| jsonc...................................|ale-jsonc-options| eslint................................|ale-jsonc-eslint| jsonnet.................................|ale-jsonnet-options| jsonnetfmt............................|ale-jsonnet-jsonnetfmt| jsonnet-lint..........................|ale-jsonnet-jsonnet-lint| json5...................................|ale-json5-options| eslint................................|ale-json5-eslint| julia...................................|ale-julia-options| languageserver........................|ale-julia-languageserver| kotlin..................................|ale-kotlin-options| kotlinc...............................|ale-kotlin-kotlinc| ktlint................................|ale-kotlin-ktlint| languageserver........................|ale-kotlin-languageserver| latex...................................|ale-latex-options| cspell................................|ale-latex-cspell| write-good............................|ale-latex-write-good| textlint..............................|ale-latex-textlint| less....................................|ale-less-options| lessc.................................|ale-less-lessc| prettier..............................|ale-less-prettier| stylelint.............................|ale-less-stylelint| llvm....................................|ale-llvm-options| llc...................................|ale-llvm-llc| lua.....................................|ale-lua-options| cspell................................|ale-lua-cspell| lua-format............................|ale-lua-lua-format| luac..................................|ale-lua-luac| luacheck..............................|ale-lua-luacheck| luafmt................................|ale-lua-luafmt| selene................................|ale-lua-selene| stylua................................|ale-lua-stylua| make....................................|ale-make-options| checkmake.............................|ale-make-checkmake| markdown................................|ale-markdown-options| cspell................................|ale-markdown-cspell| dprint................................|ale-markdown-dprint| markdownlint..........................|ale-markdown-markdownlint| mdl...................................|ale-markdown-mdl| pandoc................................|ale-markdown-pandoc| prettier..............................|ale-markdown-prettier| remark-lint...........................|ale-markdown-remark-lint| textlint..............................|ale-markdown-textlint| write-good............................|ale-markdown-write-good| mercury.................................|ale-mercury-options| mmc...................................|ale-mercury-mmc| nasm....................................|ale-nasm-options| nasm..................................|ale-nasm-nasm| nim.....................................|ale-nim-options| nimcheck..............................|ale-nim-nimcheck| nimlsp................................|ale-nim-nimlsp| nimpretty.............................|ale-nim-nimpretty| nix.....................................|ale-nix-options| nixfmt................................|ale-nix-nixfmt| nixpkgs-fmt...........................|ale-nix-nixpkgs-fmt| statix................................|ale-nix-statix| nroff...................................|ale-nroff-options| write-good............................|ale-nroff-write-good| objc....................................|ale-objc-options| ccls..................................|ale-objc-ccls| clang.................................|ale-objc-clang| clang-format..........................|ale-objc-clangformat| clangd................................|ale-objc-clangd| uncrustify............................|ale-objc-uncrustify| objcpp..................................|ale-objcpp-options| clang.................................|ale-objcpp-clang| clangd................................|ale-objcpp-clangd| uncrustify............................|ale-objcpp-uncrustify| ocaml...................................|ale-ocaml-options| dune..................................|ale-ocaml-dune| merlin................................|ale-ocaml-merlin| ocamllsp..............................|ale-ocaml-ocamllsp| ols...................................|ale-ocaml-ols| ocamlformat...........................|ale-ocaml-ocamlformat| ocp-indent............................|ale-ocaml-ocp-indent| openapi.................................|ale-openapi-options| ibm_validator.........................|ale-openapi-ibm-validator| prettier..............................|ale-openapi-prettier| yamllint..............................|ale-openapi-yamllint| openscad................................|ale-openscad-options| sca2d.................................|ale-openscad-sca2d| packer..................................|ale-packer-options| packer-fmt-fixer......................|ale-packer-fmt-fixer| pascal..................................|ale-pascal-options| ptop..................................|ale-pascal-ptop| pawn....................................|ale-pawn-options| uncrustify............................|ale-pawn-uncrustify| perl....................................|ale-perl-options| perl..................................|ale-perl-perl| perlcritic............................|ale-perl-perlcritic| perltidy..............................|ale-perl-perltidy| perl6...................................|ale-perl6-options| perl6.................................|ale-perl6-perl6| php.....................................|ale-php-options| cspell................................|ale-php-cspell| langserver............................|ale-php-langserver| phan..................................|ale-php-phan| phpcbf................................|ale-php-phpcbf| phpcs.................................|ale-php-phpcs| phpmd.................................|ale-php-phpmd| phpstan...............................|ale-php-phpstan| psalm.................................|ale-php-psalm| php-cs-fixer..........................|ale-php-php-cs-fixer| php...................................|ale-php-php| pint..................................|ale-php-pint| tlint.................................|ale-php-tlint| intelephense..........................|ale-php-intelephense| po......................................|ale-po-options| write-good............................|ale-po-write-good| pod.....................................|ale-pod-options| write-good............................|ale-pod-write-good| pony....................................|ale-pony-options| ponyc.................................|ale-pony-ponyc| powershell..............................|ale-powershell-options| cspell................................|ale-powershell-cspell| powershell............................|ale-powershell-powershell| psscriptanalyzer......................|ale-powershell-psscriptanalyzer| prolog..................................|ale-prolog-options| swipl.................................|ale-prolog-swipl| proto...................................|ale-proto-options| buf-format............................|ale-proto-buf-format| buf-lint..............................|ale-proto-buf-lint| clang-format..........................|ale-proto-clangformat| protoc-gen-lint.......................|ale-proto-protoc-gen-lint| protolint.............................|ale-proto-protolint| pug.....................................|ale-pug-options| puglint...............................|ale-pug-puglint| puppet..................................|ale-puppet-options| puppet................................|ale-puppet-puppet| puppetlint............................|ale-puppet-puppetlint| puppet-languageserver.................|ale-puppet-languageserver| purescript..............................|ale-purescript-options| purescript-language-server............|ale-purescript-language-server| purs-tidy.............................|ale-purescript-tidy| purty.................................|ale-purescript-purty| pyrex (cython)..........................|ale-pyrex-options| cython................................|ale-pyrex-cython| python..................................|ale-python-options| autoflake.............................|ale-python-autoflake| autoimport............................|ale-python-autoimport| autopep8..............................|ale-python-autopep8| bandit................................|ale-python-bandit| black.................................|ale-python-black| cspell................................|ale-python-cspell| flake8................................|ale-python-flake8| flakehell.............................|ale-python-flakehell| isort.................................|ale-python-isort| mypy..................................|ale-python-mypy| prospector............................|ale-python-prospector| pycodestyle...........................|ale-python-pycodestyle| pydocstyle............................|ale-python-pydocstyle| pyflakes..............................|ale-python-pyflakes| pyflyby...............................|ale-python-pyflyby| pylama................................|ale-python-pylama| pylint................................|ale-python-pylint| pylsp.................................|ale-python-pylsp| pyre..................................|ale-python-pyre| pyright...............................|ale-python-pyright| refurb................................|ale-python-refurb| reorder-python-imports................|ale-python-reorder_python_imports| ruff..................................|ale-python-ruff| unimport..............................|ale-python-unimport| vulture...............................|ale-python-vulture| yapf..................................|ale-python-yapf| qml.....................................|ale-qml-options| qmlfmt................................|ale-qml-qmlfmt| r.......................................|ale-r-options| languageserver........................|ale-r-languageserver| lintr.................................|ale-r-lintr| styler................................|ale-r-styler| racket..................................|ale-racket-options| racket_langserver.....................|ale-racket-langserver| raco_fmt..............................|ale-racket-raco-fmt| reasonml................................|ale-reasonml-options| merlin................................|ale-reasonml-merlin| ols...................................|ale-reasonml-ols| reason-language-server................|ale-reasonml-language-server| refmt.................................|ale-reasonml-refmt| rego....................................|ale-rego-options| cspell................................|ale-rego-cspell| opacheck..............................|ale-rego-opa-check| opafmt................................|ale-rego-opa-fmt-fixer| restructuredtext........................|ale-restructuredtext-options| cspell................................|ale-restructuredtext-cspell| textlint..............................|ale-restructuredtext-textlint| write-good............................|ale-restructuredtext-write-good| robot...................................|ale-robot-options| rflint................................|ale-robot-rflint| ruby....................................|ale-ruby-options| brakeman..............................|ale-ruby-brakeman| cspell................................|ale-ruby-cspell| debride...............................|ale-ruby-debride| prettier..............................|ale-ruby-prettier| rails_best_practices..................|ale-ruby-rails_best_practices| reek..................................|ale-ruby-reek| rubocop...............................|ale-ruby-rubocop| ruby..................................|ale-ruby-ruby| rufo..................................|ale-ruby-rufo| solargraph............................|ale-ruby-solargraph| sorbet................................|ale-ruby-sorbet| standardrb............................|ale-ruby-standardrb| syntax_tree...........................|ale-ruby-syntax_tree| rust....................................|ale-rust-options| analyzer..............................|ale-rust-analyzer| cargo.................................|ale-rust-cargo| cspell................................|ale-rust-cspell| rls...................................|ale-rust-rls| rustc.................................|ale-rust-rustc| rustfmt...............................|ale-rust-rustfmt| salt....................................|ale-salt-options| salt-lint.............................|ale-salt-salt-lint| sass....................................|ale-sass-options| sasslint..............................|ale-sass-sasslint| stylelint.............................|ale-sass-stylelint| scala...................................|ale-scala-options| cspell................................|ale-scala-cspell| metals................................|ale-scala-metals| sbtserver.............................|ale-scala-sbtserver| scalafmt..............................|ale-scala-scalafmt| scalastyle............................|ale-scala-scalastyle| scss....................................|ale-scss-options| prettier..............................|ale-scss-prettier| sasslint..............................|ale-scss-sasslint| stylelint.............................|ale-scss-stylelint| sh......................................|ale-sh-options| bashate...............................|ale-sh-bashate| cspell................................|ale-sh-cspell| sh-language-server....................|ale-sh-language-server| shell.................................|ale-sh-shell| shellcheck............................|ale-sh-shellcheck| shfmt.................................|ale-sh-shfmt| sml.....................................|ale-sml-options| smlnj.................................|ale-sml-smlnj| solidity................................|ale-solidity-options| solc..................................|ale-solidity-solc| solhint...............................|ale-solidity-solhint| solium................................|ale-solidity-solium| spec....................................|ale-spec-options| rpmlint...............................|ale-spec-rpmlint| sql.....................................|ale-sql-options| dprint................................|ale-sql-dprint| pgformatter...........................|ale-sql-pgformatter| sqlfluff..............................|ale-sql-sqlfluff| sqlfmt................................|ale-sql-sqlfmt| sqlformat.............................|ale-sql-sqlformat| stylus..................................|ale-stylus-options| stylelint.............................|ale-stylus-stylelint| sugarss.................................|ale-sugarss-options| stylelint.............................|ale-sugarss-stylelint| svelte..................................|ale-svelte-options| prettier..............................|ale-svelte-prettier| svelteserver..........................|ale-svelte-svelteserver| swift...................................|ale-swift-options| apple-swift-format....................|ale-swift-apple-swift-format| cspell................................|ale-swift-cspell| sourcekitlsp..........................|ale-swift-sourcekitlsp| systemd.................................|ale-systemd-options| systemd-analyze.......................|ale-systemd-analyze| tcl.....................................|ale-tcl-options| nagelfar..............................|ale-tcl-nagelfar| terraform...............................|ale-terraform-options| checkov...............................|ale-terraform-checkov| terraform-fmt-fixer...................|ale-terraform-fmt-fixer| terraform.............................|ale-terraform-terraform| terraform-ls..........................|ale-terraform-terraform-ls| terraform-lsp.........................|ale-terraform-terraform-lsp| tflint................................|ale-terraform-tflint| tfsec.................................|ale-terraform-tfsec| tex.....................................|ale-tex-options| chktex................................|ale-tex-chktex| cspell................................|ale-tex-cspell| lacheck...............................|ale-tex-lacheck| latexindent...........................|ale-tex-latexindent| texlab................................|ale-tex-texlab| texinfo.................................|ale-texinfo-options| cspell................................|ale-texinfo-cspell| write-good............................|ale-texinfo-write-good| text....................................|ale-text-options| cspell................................|ale-text-cspell| textlint..............................|ale-text-textlint| write-good............................|ale-text-write-good| thrift..................................|ale-thrift-options| thrift................................|ale-thrift-thrift| thriftcheck...........................|ale-thrift-thriftcheck| toml....................................|ale-toml-options| dprint................................|ale-toml-dprint| typescript..............................|ale-typescript-options| cspell................................|ale-typescript-cspell| deno..................................|ale-typescript-deno| dprint................................|ale-typescript-dprint| eslint................................|ale-typescript-eslint| prettier..............................|ale-typescript-prettier| standard..............................|ale-typescript-standard| tslint................................|ale-typescript-tslint| tsserver..............................|ale-typescript-tsserver| xo....................................|ale-typescript-xo| v.......................................|ale-v-options| v.....................................|ale-v-v| vfmt..................................|ale-v-vfmt| vala....................................|ale-vala-options| uncrustify............................|ale-vala-uncrustify| verilog/systemverilog...................|ale-verilog-options| hdl-checker...........................|ale-verilog-hdl-checker| iverilog..............................|ale-verilog-iverilog| verilator.............................|ale-verilog-verilator| vlog..................................|ale-verilog-vlog| xvlog.................................|ale-verilog-xvlog| yosys.................................|ale-verilog-yosys| vhdl....................................|ale-vhdl-options| ghdl..................................|ale-vhdl-ghdl| hdl-checker...........................|ale-vhdl-hdl-checker| vcom..................................|ale-vhdl-vcom| xvhdl.................................|ale-vhdl-xvhdl| vim help................................|ale-vim-help-options| write-good............................|ale-vim-help-write-good| vim.....................................|ale-vim-options| vimls.................................|ale-vim-vimls| vint..................................|ale-vim-vint| vue.....................................|ale-vue-options| cspell................................|ale-vue-cspell| prettier..............................|ale-vue-prettier| vls...................................|ale-vue-vls| volar.................................|ale-vue-volar| wgsl....................................|ale-wgsl-options| naga..................................|ale-wgsl-naga| xhtml...................................|ale-xhtml-options| cspell................................|ale-xhtml-cspell| write-good............................|ale-xhtml-write-good| xml.....................................|ale-xml-options| xmllint...............................|ale-xml-xmllint| yaml....................................|ale-yaml-options| actionlint............................|ale-yaml-actionlint| circleci..............................|ale-yaml-circleci| prettier..............................|ale-yaml-prettier| spectral..............................|ale-yaml-spectral| swaglint..............................|ale-yaml-swaglint| yaml-language-server..................|ale-yaml-language-server| yamlfix...............................|ale-yaml-yamlfix| yamllint..............................|ale-yaml-yamllint| gitlablint............................|ale-yaml-gitlablint| yang....................................|ale-yang-options| yang-lsp..............................|ale-yang-lsp| zeek....................................|ale-zeek-options| zeek..................................|ale-zeek-zeek| zig.....................................|ale-zig-options| zigfmt................................|ale-zig-zigfmt| zls...................................|ale-zig-zls| =============================================================================== 8. Commands/Keybinds *ale-commands* ALEComplete *ALEComplete* Manually trigger LSP autocomplete and show the menu. Works only when called from insert mode. > inoremap :ALEComplete < A plug mapping `(ale_complete)` is defined for this command. > imap (ale_complete) < ALEDocumentation *ALEDocumentation* Similar to the |ALEHover| command, retrieve documentation information for the symbol at the cursor. Documentation data will always be shown in a preview window, no matter how small the documentation content is. NOTE: This command is only available for `tsserver`. A plug mapping `(ale_documentation)` is defined for this command. ALEFindReferences *ALEFindReferences* Find references in the codebase for the symbol under the cursor using the enabled LSP linters for the buffer. ALE will display a preview window containing the results if some references are found. The window can be navigated using the usual Vim navigation commands. The Enter key (``) can be used to jump to a referencing location, or the `t` key can be used to jump to the location in a new tab. The locations opened in different ways using the following variations. `:ALEFindReferences -tab` - Open the location in a new tab. `:ALEFindReferences -split` - Open the location in a horizontal split. `:ALEFindReferences -vsplit` - Open the location in a vertical split. `:ALEFindReferences -quickfix` - Put the locations into quickfix list. The default method used for navigating to a new location can be changed by modifying |g:ale_default_navigation|. You can add `-relative` to the command to view results with relatives paths, instead of absolute paths. This option has no effect if `-quickfix` is used. The selection can be opened again with the |ALERepeatSelection| command. You can jump back to the position you were at before going to a reference of something with jump motions like CTRL-O. See |jump-motions|. A plug mapping `(ale_find_references)` is defined for this command. You can define additional plug mapping with any additional options you want like so: > nnoremap (my_mapping) :ALEFindReferences -relative < ALEFix *ALEFix* Fix problems with the current buffer. See |ale-fix| for more information. If the command is run with a bang (`:ALEFix!`), all warnings will be suppressed, including warnings about no fixers being defined, and warnings about not being able to apply fixes to a file because it has been changed. A plug mapping `(ale_fix)` is defined for this command. ALEFixSuggest *ALEFixSuggest* Suggest tools that can be used to fix problems in the current buffer. See |ale-fix| for more information. ALEGoToDefinition `` *ALEGoToDefinition* Jump to the definition of a symbol under the cursor using the enabled LSP linters for the buffer. ALE will jump to a definition if an LSP server provides a location to jump to. Otherwise, ALE will do nothing. The locations opened in different ways using the following variations. `:ALEGoToDefinition -tab` - Open the location in a new tab. `:ALEGoToDefinition -split` - Open the location in a horizontal split. `:ALEGoToDefinition -vsplit` - Open the location in a vertical split. The default method used for navigating to a new location can be changed by modifying |g:ale_default_navigation|. You can jump back to the position you were at before going to the definition of something with jump motions like CTRL-O. See |jump-motions|. You should consider using the 'hidden' option in combination with this command. Otherwise, Vim will refuse to leave the buffer you're jumping from unless you have saved your edits. The following Plug mappings are defined for this command, which correspond to the following commands. `(ale_go_to_definition)` - `:ALEGoToDefinition` `(ale_go_to_definition_in_tab)` - `:ALEGoToDefinition -tab` `(ale_go_to_definition_in_split)` - `:ALEGoToDefinition -split` `(ale_go_to_definition_in_vsplit)` - `:ALEGoToDefinition -vsplit` ALEGoToTypeDefinition *ALEGoToTypeDefinition* This works similar to |ALEGoToDefinition| but instead jumps to the definition of a type of a symbol under the cursor. ALE will jump to a definition if an LSP server provides a location to jump to. Otherwise, ALE will do nothing. The locations opened in different ways using the following variations. `:ALEGoToTypeDefinition -tab` - Open the location in a new tab. `:ALEGoToTypeDefinition -split` - Open the location in a horizontal split. `:ALEGoToTypeDefinition -vsplit` - Open the location in a vertical split. The default method used for navigating to a new location can be changed by modifying |g:ale_default_navigation|. You can jump back to the position you were at before going to the definition of something with jump motions like CTRL-O. See |jump-motions|. The following Plug mappings are defined for this command, which correspond to the following commands. `(ale_go_to_type_definition)` - `:ALEGoToTypeDefinition` `(ale_go_to_type_definition_in_tab)` - `:ALEGoToTypeDefinition -tab` `(ale_go_to_type_definition_in_split)` - `:ALEGoToTypeDefinition -split` `(ale_go_to_type_definition_in_vsplit)` - `:ALEGoToTypeDefinition -vsplit` ALEGoToImplementation *ALEGoToImplementation* This works similar to |ALEGoToDefinition| but instead jumps to the implementation of symbol under the cursor. ALE will jump to a definition if an LSP server provides a location to jump to. Otherwise, ALE will do nothing. The locations opened in different ways using the following variations. `:ALEGoToImplementation -tab` - Open the location in a new tab. `:ALEGoToImplementation -split` - Open the location in a horizontal split. `:ALEGoToImplementation -vsplit` - Open the location in a vertical split. The default method used for navigating to a new location can be changed by modifying |g:ale_default_navigation|. You can jump back to the position you were at before going to the definition of something with jump motions like CTRL-O. See |jump-motions|. The following Plug mappings are defined for this command, which correspond to the following commands. `(ale_go_to_implementation)` - `:ALEGoToImplementation` `(ale_go_to_implementation_in_tab)` - `:ALEGoToImplementation -tab` `(ale_go_to_implementation_in_split)` - `:ALEGoToImplementation -split` `(ale_go_to_implementation_in_vsplit)` - `:ALEGoToImplementation -vsplit` ALEHover *ALEHover* Print brief information about the symbol under the cursor, taken from any available LSP linters. There may be a small non-blocking delay before information is printed. NOTE: In Vim 8, long messages will be shown in a preview window, as Vim 8 does not support showing a prompt to press enter to continue for long messages from asynchronous callbacks. A plug mapping `(ale_hover)` is defined for this command. ALEImport *ALEImport* Try to import a symbol using `tsserver` or a Language Server. ALE will look for completions for the word at the cursor which contain additional text edits that possible insert lines to import the symbol. The first match with additional text edits will be used, and may add other code to the current buffer other than import lines. If linting is enabled, and |g:ale_lint_on_text_changed| is set to ever check buffers when text is changed, the buffer will be checked again after changes are made. A Plug mapping `(ale_import)` is defined for this command. This mapping should only be bound for normal mode. ALEOrganizeImports *ALEOrganizeImports* Organize imports using tsserver. Currently not implemented for LSPs. ALERename *ALERename* Rename a symbol using `tsserver` or a Language Server. The symbol where the cursor is resting will be the symbol renamed, and a prompt will open to request a new name. The rename operation will save all modified buffers when `set nohidden` is set, because that disables leaving unsaved buffers in the background. See `:help hidden` for more details. ALEFileRename *ALEFileRename* Rename a file and fix imports using `tsserver`. ALECodeAction *ALECodeAction* Apply a code action via LSP servers or `tsserver`. If there is an error present on a line that can be fixed, ALE will automatically fix a line, unless there are multiple possible code fixes to apply. This command can be run in visual mode apply actions, such as applicable refactors. A menu will be shown to select code action to apply. ALERepeatSelection *ALERepeatSelection* Repeat the last selection displayed in the preview window. ALESymbolSearch `` *ALESymbolSearch* Search for symbols in the workspace, taken from any available LSP linters. The arguments provided to this command will be used as a search query for finding symbols in the workspace, such as functions, types, etc. You can add `-relative` to the command to view results with relatives paths, instead of absolute paths. *:ALELint* ALELint *ALELint* Run ALE once for the current buffer. This command can be used to run ALE manually, instead of automatically, if desired. This command will also run linters where `lint_file` is evaluates to `1`, meaning linters which check the file instead of the Vim buffer. A plug mapping `(ale_lint)` is defined for this command. ALELintStop *ALELintStop* Stop any currently running jobs for checking the current buffer. Any problems from previous linter results will continue to be shown. ALEPopulateQuickfix *ALEPopulateQuickfix* ALEPopulateLocList *ALEPopulateLocList* Manually populate the |quickfix| or |location-list| and show the corresponding list. Useful when you have other uses for both the |quickfix| and |location-list| and don't want them automatically populated. Be sure to disable auto populating: > let g:ale_set_quickfix = 0 let g:ale_set_loclist = 0 < With these settings, ALE will still run checking and display it with signs, highlighting, and other output described in |ale-lint-file-linters|. ALEPrevious *ALEPrevious* ALEPreviousWrap *ALEPreviousWrap* ALENext *ALENext* ALENextWrap *ALENextWrap* ALEFirst *ALEFirst* ALELast *ALELast* *ale-navigation-commands* Move between warnings or errors in a buffer. ALE will only navigate between the errors or warnings it generated, even if both |g:ale_set_quickfix| and |g:ale_set_loclist| are set to `0`. `ALEPrevious` and `ALENext` will stop at the top and bottom of a file, while `ALEPreviousWrap` and `ALENextWrap` will wrap around the file to find the last or first warning or error in the file, respectively. `ALEPrevious` and `ALENext` take optional flags arguments to custom their behavior : `-wrap` enable wrapping around the file `-error`, `-warning` and `-info` enable jumping to errors, warnings or infos respectively, ignoring anything else. They are mutually exclusive and if several are provided the priority is the following: error > warning > info. `-style` and `-nostyle` allow you to jump respectively to style error or warning and to not style error or warning. They also are mutually exclusive and nostyle has priority over style. Flags can be combined to create create custom jumping. Thus you can use ":ALENext -wrap -error -nosyle" to jump to the next error which is not a style error while going back to the beginning of the file if needed. `ALEFirst` goes to the first error or warning in the buffer, while `ALELast` goes to the last one. The following || mappings are defined for the commands: > (ale_previous) - ALEPrevious (ale_previous_wrap) - ALEPreviousWrap (ale_previous_error) - ALEPrevious -error (ale_previous_wrap_error) - ALEPrevious -wrap -error (ale_previous_warning) - ALEPrevious -warning (ale_previous_wrap_warning) - ALEPrevious -wrap -warning (ale_next) - ALENext (ale_next_wrap) - ALENextWrap (ale_next_error) - ALENext -error (ale_next_wrap_error) - ALENext -wrap -error (ale_next_warning) - ALENext -warning (ale_next_wrap_warning) - ALENext -wrap -warning (ale_first) - ALEFirst (ale_last) - ALELast < For example, these commands could be bound to the keys Ctrl + j and Ctrl + k: > " Map movement through errors without wrapping. nmap (ale_previous) nmap (ale_next) " OR map keys to use wrapping. nmap (ale_previous_wrap) nmap (ale_next_wrap) < ALEToggle *ALEToggle* ALEEnable *ALEEnable* ALEDisable *ALEDisable* ALEToggleBuffer *ALEToggleBuffer* ALEEnableBuffer *ALEEnableBuffer* ALEDisableBuffer *ALEDisableBuffer* `ALEToggle`, `ALEEnable`, and `ALEDisable` enable or disable ALE linting, including all of its autocmd events, loclist items, quickfix items, signs, current jobs, etc., globally. Executing any of these commands will change the |g:ale_enabled| variable. ALE can be disabled or enabled for only a single buffer with `ALEToggleBuffer`, `ALEEnableBuffer`, and `ALEDisableBuffer`. Disabling ALE for a buffer will not remove autocmd events, but will prevent ALE from checking for problems and reporting problems for whatever buffer the `ALEDisableBuffer` or `ALEToggleBuffer` command is executed from. These commands can be used for temporarily disabling ALE for a buffer. These commands will modify the |b:ale_enabled| variable. ALE linting cannot be enabled for a single buffer when it is disabled globally, as disabling ALE globally removes the autocmd events needed to perform linting with. The following plug mappings are defined, for conveniently defining keybinds: |ALEToggle| - `(ale_toggle)` |ALEEnable| - `(ale_enable)` |ALEDisable| - `(ale_disable)` |ALEToggleBuffer| - `(ale_toggle_buffer)` |ALEEnableBuffer| - `(ale_enable_buffer)` |ALEDisableBuffer| - `(ale_disable_buffer)` For removing problems reported by ALE, but leaving ALE enabled, see |ALEReset| and |ALEResetBuffer|. *:ALEDetail* ALEDetail *ALEDetail* Show the full linter message for the problem nearest to the cursor on the given line in the preview window. The preview window can be easily closed with the `q` key. If there is no message to show, the window will not be opened. If a loclist item has a `detail` key set, the message for that key will be preferred over `text`. See |ale-loclist-format|. A plug mapping `(ale_detail)` is defined for this command. *:ALEInfo* ALEInfo *ALEInfo* ALEInfoToClipboard *ALEInfoToClipboard* Print runtime information about ALE, including the values of global and buffer-local settings for ALE, the linters that are enabled, the commands that have been run, and the output of commands. ALE will log the commands that are run by default. If you wish to disable this, set |g:ale_history_enabled| to `0`. Because it could be expensive, ALE does not remember the output of recent commands by default. Set |g:ale_history_log_output| to `1` to enable logging of output for commands. ALE will only log the output captured for parsing problems, etc. The command `:ALEInfoToClipboard` can be used to output ALEInfo directly to your clipboard. This might not work on every machine. `:ALEInfoToFile` will write the ALE runtime information to a given filename. The filename works just like |:w|. ALEReset *ALEReset* ALEResetBuffer *ALEResetBuffer* `ALEReset` will remove all problems reported by ALE for all buffers. `ALEResetBuffer` will remove all problems reported for a single buffer. Either command will leave ALE linting enabled, so ALE will report problems when linting is performed again. See |ale-lint| for more information. The following plug mappings are defined, for conveniently defining keybinds: |ALEReset| - `(ale_reset)` |ALEResetBuffer| - `(ale_reset_buffer)` ALE can be disabled globally or for a buffer with |ALEDisable| or |ALEDisableBuffer|. ALEStopAllLSPs *ALEStopAllLSPs* `ALEStopAllLSPs` will close and stop all channels and jobs for all LSP-like clients, including tsserver, remove all of the data stored for them, and delete all of the problems found for them, updating every linted buffer. This command can be used when LSP clients mess up and need to be restarted. =============================================================================== 9. API *ale-api* ALE offers a number of functions for running linters or fixers, or defining them. The following functions are part of the publicly documented part of that API, and should be expected to continue to work. ale#Env(variable_name, value) *ale#Env()* Given a variable name and a string value, produce a string for including in a command for setting environment variables. This function can be used for building a command like so. > :echo string(ale#Env('VAR', 'some value') . 'command') 'VAR=''some value'' command' # On Linux or Mac OSX 'set VAR="some value" && command' # On Windows ale#GetFilenameMappings(buffer, name) *ale#GetFilenameMappings()* Given a `buffer` and the `name` of either a linter for fixer, return a |List| of two-item |List|s that describe mapping to and from the local and foreign file systems for running a particular linter or fixer. See |g:ale_filename_mappings| for details on filename mapping. ale#Has(feature) *ale#Has()* Return `1` if ALE supports a given feature, like |has()| for Vim features. ALE versions can be checked with version strings in the format `ale#Has('ale-x.y.z')`, such as `ale#Has('ale-2.4.0')`. ale#Pad(string) *ale#Pad()* Given a string or any |empty()| value, return either the string prefixed with a single space, or an empty string. This function can be used to build parts of a command from variables. ale#Queue(delay, [linting_flag, buffer_number]) *ale#Queue()* Run linters for the current buffer, based on the filetype of the buffer, with a given `delay`. A `delay` of `0` will run the linters immediately. The linters will always be run in the background. Calling this function again from the same buffer An optional `linting_flag` argument can be given. If `linting_flag` is `'lint_file'`, then linters where the `lint_file` option evaluates to `1` will be run. Otherwise, those linters will not be run. An optional `buffer_number` argument can be given for specifying the buffer to check. The active buffer (`bufnr('')`) will be checked by default. *ale-cool-down* If an exception is thrown when queuing/running ALE linters, ALE will enter a cool down period where it will stop checking anything for a short period of time. This is to prevent ALE from seriously annoying users if a linter is broken, or when developing ALE itself. ale#command#CreateDirectory(buffer) *ale#command#CreateDirectory()* Create a new temporary directory with a unique name, and manage that directory with |ale#command#ManageDirectory()|, so it will be removed as soon as possible. It is advised to only call this function from a callback function for returning a linter command to run. ale#command#CreateFile(buffer) *ale#command#CreateFile()* Create a new temporary file with a unique name, and manage that file with |ale#command#ManageFile()|, so it will be removed as soon as possible. It is advised to only call this function from a callback function for returning a linter command to run. ale#command#Run(buffer, command, callback, [options]) *ale#command#Run()* Start running a job in the background, and pass the results to the given callback later. This function can be used for computing the results of ALE linter or fixer functions asynchronously with jobs. `buffer` must match the buffer being linted or fixed, `command` must be a |String| for a shell command to execute, `callback` must be defined as a |Funcref| to call later with the results, and an optional |Dictionary| of `options` can be provided. The `callback` will receive the arguments `(buffer, output, metadata)`, where the `buffer` will match the buffer given to the function, the `output` will be a `List` of lines of output from the job that was run, and the `metadata` will be a |Dictionary| with additional information about the job that was run, including: `exit_code` - A |Number| with the exit code for the program that was run. The result of this function is either a special |Dictionary| ALE will use for waiting for the command to finish, or `0` if the job is not started. The The return value of the `callback` will be used as the eventual result for whatever value is being given to ALE. For example: > function! s:GetCommand(buffer, output, meta) abort " Do something with a:output here, from the foo command. " This is used as the command to run for linting. return 'final command' endfunction " ... 'command': {b -> ale#command#Run(b, 'foo', function('s:GetCommand'))} < The result of a callback can also be the result of another call to this function, so that several commands can be arbitrarily chained together. For example: > function! s:GetAnotherCommand(buffer, output, meta) abort " We can finally return this command. return 'last command' endfunction function! s:GetCommand(buffer, output, meta) abort " We can return another deferred result. return ale#command#Run( \ a:buffer, \ 'second command', \ function('s:GetAnotherCommand') \) endfunction " ... 'command': {b -> ale#command#Run(b, 'foo', function('s:GetCommand'))} < The following `options` can be provided. `cwd` - An optional |String| for setting the working directory for the command, just as per |ale#linter#Define|. If not set, or `v:null`, the `cwd` of the last command that spawned this one will be used. `output_stream` - Either `'stdout'`, `'stderr'`, `'both'`, or `'none`' for selecting which output streams to read lines from. The default is `'stdout'` `executable` - An executable for formatting into `%e` in the command. If this option is not provided, formatting commands with `%e` will not work. `read_buffer` - If set to `1`, the buffer will be piped into the command. The default is `0`. `input` - When creating temporary files with `%t` or piping text into a command `input` can be set to a |List| of text to use instead of the buffer's text. `filename_mappings` - A |List| of two-item |List|s describing filename mappings to apply for formatted filenames in the command string, as per |g:ale_filename_mappings|. If the call to this function is being used for a linter or fixer, the mappings should be provided with this option, and can be retrieved easily with |ale#GetFilenameMappings()|. The default is `[]`. ale#command#EscapeCommandPart(command_part) *ale#command#EscapeCommandPart()* Given a |String|, return a |String| with all `%` characters replaced with `%%` instead. This function can be used to escape strings which are dynamically generated for commands before handing them over to ALE, so that ALE doesn't treat any strings with `%` formatting sequences specially. ale#command#ManageDirectory(buffer, directory) *ale#command#ManageDirectory()* Like |ale#command#ManageFile()|, but directories and all of their contents will be deleted, akin to `rm -rf directory`, which could lead to loss of data if mistakes are made. This command will also delete any temporary filenames given to it. It is advised to use |ale#command#ManageFile()| instead for deleting single files. ale#command#ManageFile(buffer, filename) *ale#command#ManageFile()* Given a buffer number for a buffer currently running some linting or fixing tasks and a filename, register a filename with ALE for automatic deletion after linting or fixing is complete, or when Vim exits. If Vim exits suddenly, ALE will try its best to remove temporary files, but ALE cannot guarantee with absolute certainty that the files will be removed. It is advised to create temporary files in the operating system's managed temporary file directory, such as with |tempname()|. Directory names should not be given to this function. ALE will only delete files and symlinks given to this function. This is to prevent entire directories from being accidentally deleted, say in cases of writing `dir . '/' . filename` where `filename` is actually `''`, etc. ALE instead manages directories separately with the |ale#command#ManageDirectory| function. ale#completion#OmniFunc(findstart, base) *ale#completion#OmniFunc()* A completion function to use with 'omnifunc'. See |ale-completion|. ale#engine#GetLoclist(buffer) *ale#engine#GetLoclist()* Given a buffer number, this function will return the list of problems reported by ALE for a given buffer in the format accepted by |setqflist()|. A reference to the buffer's list of problems will be returned. The list must be copied before applying |map()| or |filter()|. ale#engine#IsCheckingBuffer(buffer) *ale#engine#IsCheckingBuffer()* Given a buffer number, returns `1` when ALE is busy checking that buffer. This function can be used for status lines, tab names, etc. ale#fix#registry#Add(name, func, filetypes, desc, [aliases]) *ale#fix#registry#Add()* Given a |String| `name` for a name to add to the registry, a |String| `func` for a function name, a |List| `filetypes` for a list of filetypes to set for suggestions, and a |String| `desc` for a short description of the fixer, register a fixer in the registry. The `name` can then be used for |g:ale_fixers| in place of the function name, and suggested for fixing files. An optional |List| of |String|s for aliases can be passed as the `aliases` argument. These aliases can also be used for looking up a fixer function. ALE will search for fixers in the registry first by `name`, then by their `aliases`. For example to register a custom fixer for `luafmt`: > function! FormatLua(buffer) abort return { \ 'command': 'luafmt --stdin' \} endfunction execute ale#fix#registry#Add('luafmt', 'FormatLua', ['lua'], 'luafmt for lua') " You can now use it in g:ale_fixers let g:ale_fixers = { \ 'lua': ['luafmt'] } < ale#linter#Define(filetype, linter) *ale#linter#Define()* Given a |String| for a filetype and a |Dictionary| Describing a linter configuration, add a linter for the given filetype. The dictionaries each offer the following options: `name` The name of the linter. These names will be used by |g:ale_linters| option for enabling/disabling particular linters. This argument is required. `callback` A |String| or |Funcref| for a callback function accepting two arguments (buffer, lines), for a buffer number the output is for, and the lines of output from a linter. This callback function should return a |List| of |Dictionary| objects in the format accepted by |setqflist()|. The |List| will be sorted by line and then column order so it can be searched with a binary search by in future before being passed on to the |loclist|, etc. This argument is required, unless the linter is an LSP linter. In which case, this argument must not be defined, as LSP linters handle diagnostics automatically. See |ale-lsp-linters|. If the function named does not exist, including if the function is later deleted, ALE will behave as if the callback returned an empty list. The keys for each item in the List will be handled in the following manner: *ale-loclist-format* `text` - This error message is required. `detail` - An optional, more descriptive message. This message can be displayed with the |ALEDetail| command instead of the message for `text`, if set. `lnum` - The line number is required. Any strings will be automatically converted to numbers by using `str2nr()`. Line 0 will be moved to line 1, and lines beyond the end of the file will be moved to the end. `col` - The column number is optional and will default to `0`. Any strings will be automatically converted to number using `str2nr()`. `end_col` - An optional end column number. This key can be set to specify the column problems end on, for improved highlighting. `end_lnum` - An optional end line number. This key can set along with `end_col` for highlighting multi-line problems. `bufnr` - This key represents the buffer number the problems are for. This value will default to the buffer number being checked. The `filename` key can be set instead of this key, and then the eventual `bufnr` value in the final list will either represent the number for an open buffer or `-1` for a file not open in any buffer. `filename` - An optional filename for the file the problems are for. This should be an absolute path to a file. Problems for files which have not yet been opened will be set in those files after they are opened and have been checked at least once. Temporary files in directories used for Vim temporary files with `tempname()` will be assumed to be the buffer being checked, unless the `bufnr` key is also set with a valid number for some other buffer. `vcol` - Defaults to `0`. If set to `1`, ALE will convert virtual column positions for `col` and `end_col` to byte column positions. If the buffer is changed in-between checking it and displaying the results, the calculated byte column positions will probably be wrong. `type` - Defaults to `'E'`. `nr` - Defaults to `-1`. Numeric error code. If `nr` is not `-1`, `code` likely should contain the string representation of the same value. `code` - No default; may be unset. Human-readable |String| error code. `executable` A |String| naming the executable itself which will be run, or a |Funcref| for a function to call for computing the executable, accepting a buffer number. The result can be computed with |ale#command#Run()|. This value will be used to check if the program requested is installed or not. If an `executable` is not defined, the command will be run without checking if a program is executable first. Defining an executable path is recommended to avoid starting too many processes. `command` A |String| for a command to run asynchronously, or a |Funcref| for a function to call for computing the command, accepting a buffer number. The result can be computed with |ale#command#Run()|. The command string can be formatted with format markers. See |ale-command-format-strings|. This command will be fed the lines from the buffer to check, and will produce the lines of output given to the `callback`. `cwd` An optional |String| for setting the working directory for the command, or a |Funcref| for a function to call for computing the command, accepting a buffer number. The working directory can be specified as a format string for determining the path dynamically. See |ale-command-format-strings|. To set the working directory to the directory containing the file you're checking, you should probably use `'%s:h'` as the option value. If this option is absent or the string is empty, the `command` will be run with no determined working directory in particular. The directory specified with this option will be used as the default working directory for all commands run in a chain with |ale#command#Run()|, unless otherwise specified. `output_stream` A |String| for the output stream the lines of output should be read from for the command which is run. The accepted values are `'stdout'`, `'stderr'`, and `'both'`. This argument defaults to `'stdout'`. This argument can be set for linter programs which output their errors and warnings to the stderr stream instead of stdout. The option `'both'` will read from both stder and stdout at the same time. `read_buffer` A |Number| (`0` or `1`) indicating whether a command should read the Vim buffer as input via stdin. This option is set to `1` by default, and can be disabled if a command manually reads from a temporary file instead, etc. This option behaves as if it was set to `0` when the `lint_file` option evaluates to `1`. *ale-lint-file* `lint_file` A |Number| (`0` or `1`), or a |Funcref| for a function accepting a buffer number for computing either `0` or `1`, indicating whether a command should read the file instead of the Vim buffer. This option can be used for linters which must check the file on disk, and which cannot check a Vim buffer instead. The result can be computed with |ale#command#Run()|. Linters where the eventual value of this option evaluates to `1` will not be run as a user types, per |g:ale_lint_on_text_changed|. Linters will instead be run only when events occur against the file on disk, including |g:ale_lint_on_enter| and |g:ale_lint_on_save|. Linters where this option evaluates to `1` will also be run when the |ALELint| command is run. When this option is evaluates to `1`, ALE will behave as if `read_buffer` was set to `0`. *ale-lsp-linters* `lsp` A |String| for defining LSP (Language Server Protocol) linters. This argument may be omitted or `''` when a linter does not represent an LSP linter. When this argument is set to `'stdio'`, then the linter will be defined as an LSP linter which keeps a process for a language server running, and communicates with it directly via a |channel|. `executable` and `command` must be set. When this argument is set to `'socket'`, then the linter will be defined as an LSP linter via a TCP or named pipe socket connection. `address` must be set. ALE will not start a server automatically. When this argument is not empty `project_root` must be defined. `language` can be defined to describe the language for a file. The filetype will be used as the language by default. LSP linters handle diagnostics automatically, so the `callback` argument must not be defined. An optional `completion_filter` callback may be defined for filtering completion results. `initialization_options` may be defined to pass initialization options to the LSP. `lsp_config` may be defined to pass configuration settings to the LSP. `address` A |String| representing an address to connect to, or a |Funcref| accepting a buffer number and returning the |String|. If the value contains a colon, it is interpreted as referring to a TCP socket; otherwise it is interpreted as the path of a named pipe. The result can be computed with |ale#command#Run()|. This argument must only be set if the `lsp` argument is set to `'socket'`. `project_root` A |String| representing a path to the project for the file being checked with the language server, or a |Funcref| accepting a buffer number and returning the |String|. If an empty string is returned, the file will not be checked at all. This argument must only be set if the `lsp` argument is also set to a non-empty string. `language` A |String| representing the name of the language being checked, or a |Funcref| accepting a buffer number and returning the |String|. This string will be sent to the LSP to tell it what type of language is being checked. If a language isn't provided, the language will default to the value of the filetype given to |ale#linter#Define|. `completion_filter` A |String| or |Funcref| for a callback function accepting a buffer number and a completion item. The completion item will be a |Dictionary| following the Language Server Protocol `CompletionItem` interface as described in the specification, available online here: https://microsoft.github.io/language-server-protocol `aliases` A |List| of aliases for the linter name. This argument can be set with alternative names for selecting the linter with |g:ale_linters|. This setting can make it easier to guess the linter name by offering a few alternatives. `initialization_options` A |Dictionary| of initialization options for LSPs, or a |Funcref| for a callback function accepting a buffer number and returning the |Dictionary|. This will be fed (as JSON) to the LSP in the initialize command. `lsp_config` A |Dictionary| for configuring a language server, or a |Funcref| for a callback function accepting a buffer number and returning the |Dictionary|. This will be fed (as JSON) to the LSP in the workspace/didChangeConfiguration command. If temporary files or directories are created for commands run with `command`, then these temporary files or directories can be managed by ALE, for automatic deletion. See |ale#command#ManageFile()| and |ale#command#ManageDirectory| for more information. *ale-command-format-strings* All command strings will be formatted for special character sequences. Any substring `%s` will be replaced with the full path to the current file being edited. This format option can be used to pass the exact filename being edited to a program. For example: > 'command': 'eslint -f unix --stdin --stdin-filename %s' < Any substring `%t` will be replaced with a path to a temporary file. Merely adding `%t` will cause ALE to create a temporary file containing the contents of the buffer being checked. All occurrences of `%t` in command strings will reference the one temporary file. The temporary file will be created inside a temporary directory, and the entire temporary directory will be automatically deleted, following the behavior of |ale#command#ManageDirectory|. This option can be used for some linters which do not support reading from stdin. For example: > 'command': 'ghc -fno-code -v0 %t', < Any substring `%e` will be replaced with the escaped executable supplied with `executable`. This provides a convenient way to define a command string which needs to include a dynamic executable name, but which is otherwise static. For example: > 'command': '%e --some-argument', < The character sequence `%%` can be used to emit a literal `%` into a command, so literal character sequences `%s` and `%t` can be escaped by using `%%s` and `%%t` instead, etc. Some |filename-modifiers| can be applied to `%s` and `%t`. Only `:h`, `:t`, `:r`, and `:e` may be applied, other modifiers will be ignored. Filename modifiers can be applied to the format markers by placing them after them. For example: > 'command': '%s:h %s:e %s:h:t', < Given a path `/foo/baz/bar.txt`, the above command string will generate something akin to `'/foo/baz' 'txt' 'baz'` If a callback for a command generates part of a command string which might possibly contain `%%`, `%s`, `%t`, or `%e`, where the special formatting behavior is not desired, the |ale#command#EscapeCommandPart()| function can be used to replace those characters to avoid formatting issues. *ale-linter-loading-behavior* Linters for ALE will be loaded by searching |runtimepath| in the following format: > ale_linters//.vim < Any linters which exist anywhere in |runtimepath| with that directory structure will be automatically loaded for the matching |filetype|. Filetypes containing `.` characters will be split into individual parts, and files will be loaded for each filetype between the `.` characters. Linters can be defined from vimrc and other files as long as this function is loaded first. For example, the following code will define a Hello World linter in vimrc in Vim 8: > " Plugins have to be loaded first. " If you are using a plugin manager, run that first. packloadall call ale#linter#Define('vim', { \ 'name': 'echo-test', \ 'executable': 'echo', \ 'command': 'echo hello world', \ 'callback': {buffer, lines -> map(lines, '{"text": v:val, "lnum": 1}')}, \}) < ale#linter#Get(filetype) *ale#linter#Get()* Return all of linters configured for a given filetype as a |List| of |Dictionary| values in the format specified by |ale#linter#Define()|. Filetypes may be dot-separated to invoke linters for multiple filetypes: for instance, the filetype `javascript.jsx` will return linters for both the `javascript` and `jsx` filetype. Aliases may be defined in as described in |g:ale_linter_aliases|. Aliases are applied after dot-separated filetypes are broken up into their components. ale#linter#PreventLoading(filetype) *ale#linter#PreventLoading()* Given a `filetype`, prevent any more linters from being loaded from |runtimepath| for that filetype. This function can be called from vimrc or similar to prevent ALE from loading linters. ale#lsp_linter#SendRequest(buffer, linter_name, message, [Handler]) *ale#lsp_linter#SendRequest()* Send a custom request to an LSP linter. The arguments are defined as follows: `buffer` A valid buffer number. `linter_name` A |String| identifying an LSP linter that is available and enabled for the |filetype| of `buffer`. `message` A |List| in the form `[is_notification, method, parameters]`, containing three elements: `is_notification` - an |Integer| that has value 1 if the request is a notification, 0 otherwise; `method` - a |String|, identifying an LSP method supported by `linter`; `parameters` - a |dictionary| of LSP parameters that are applicable to `method`. `Handler` Optional argument, meaningful only when `message[0]` is 0. A |Funcref| that is called when a response to the request is received, and takes as unique argument a dictionary representing the response obtained from the server. ale#other_source#ShowResults(buffer, linter_name, loclist) *ale#other_source#ShowResults()* Show results from another source of information. `buffer` must be a valid buffer number, and `linter_name` must be a unique name for identifying another source of information. The `loclist` given where the problems in a buffer are, and should be provided in the format ALE uses for regular linter results. See |ale-loclist-format|. ale#other_source#StartChecking(buffer, linter_name) *ale#other_source#StartChecking()* Tell ALE that another source of information has started checking a buffer. `buffer` must be a valid buffer number, and `linter_name` must be a unique name for identifying another source of information. ale#statusline#Count(buffer) *ale#statusline#Count()* Given the number of a buffer which may have problems, return a |Dictionary| containing information about the number of problems detected by ALE. The following keys are supported: `error` -> The number of problems with type `E` and `sub_type != 'style'` `warning` -> The number of problems with type `W` and `sub_type != 'style'` `info` -> The number of problems with type `I` `style_error` -> The number of problems with type `E` and `sub_type == 'style'` `style_warning` -> The number of problems with type `W` and `sub_type == 'style'` `total` -> The total number of problems. ale#statusline#FirstProblem(buffer, type) *ale#statusline#FirstProblem()* Returns a copy of the first entry in the `loclist` that matches the supplied buffer number and problem type. If there is no such entry, an empty dictionary is returned. Problem type should be one of the strings listed below: `error` -> Returns the first `loclist` item with type `E` and `sub_type != 'style'` `warning` -> First item with type `W` and `sub_type != 'style'` `info` -> First item with type `I` `style_error` -> First item with type `E` and `sub_type == 'style'` `style_warning` -> First item with type `W` and `sub_type == 'style'` b:ale_linted *b:ale_linted* `b:ale_linted` is set to the number of times a buffer has been checked by ALE after all linters for one lint cycle have finished checking a buffer. This variable may not be defined until ALE first checks a buffer, so it should be accessed with |get()| or |getbufvar()|. For example: > " Print a message indicating how many times ALE has checked this buffer. echo 'ALE has checked this buffer ' . get(b:, 'ale_linted') . ' time(s).' " Print 'checked' using getbufvar() if a buffer has been checked. echo getbufvar(bufnr(''), 'ale_linted', 0) > 0 ? 'checked' : 'not checked' < g:ale_want_results_buffer *g:ale_want_results_buffer* `g:ale_want_results_buffer` is set to the number of the buffer being checked when the |ALEWantResults| event is signaled. This variable should be read to figure out which buffer other sources should lint. ALECompletePost *ALECompletePost-autocmd* *ALECompletePost* This |User| autocmd is triggered after ALE inserts an item on |CompleteDone|. This event can be used to run commands after a buffer is changed by ALE as the result of completion. For example, |ALEFix| can be configured to run automatically when completion is done: > augroup FixAfterComplete autocmd! " Run ALEFix when completion items are added. autocmd User ALECompletePost ALEFix! " If ALE starts fixing a file, stop linters running for now. autocmd User ALEFixPre ALELintStop augroup END < ALELintPre *ALELintPre-autocmd* *ALELintPre* ALELintPost *ALELintPost-autocmd* *ALELintPost* ALEFixPre *ALEFixPre-autocmd* *ALEFixPre* ALEFixPost *ALEFixPost-autocmd* *ALEFixPost* These |User| autocommands are triggered before and after every lint or fix cycle. They can be used to update statuslines, send notifications, etc. The autocmd commands are run with |:silent|, so |:unsilent| is required for echoing messages. For example to change the color of the statusline while the linter is running: > augroup ALEProgress autocmd! autocmd User ALELintPre hi Statusline ctermfg=darkgrey autocmd User ALELintPost hi Statusline ctermfg=NONE augroup END < Or to display the progress in the statusline: > let s:ale_running = 0 let l:stl .= '%{s:ale_running ? "[linting]" : ""}' augroup ALEProgress autocmd! autocmd User ALELintPre let s:ale_running = 1 | redrawstatus autocmd User ALELintPost let s:ale_running = 0 | redrawstatus augroup END < ALEJobStarted *ALEJobStarted-autocmd* *ALEJobStarted* This |User| autocommand is triggered immediately after a job is successfully run. This provides better accuracy for checking linter status with |ale#engine#IsCheckingBuffer()| over |ALELintPre-autocmd|, which is actually triggered before any linters are executed. ALELSPStarted *ALELSPStarted-autocmd* *ALELSPStarted* This |User| autocommand is triggered immediately after an LSP connection is successfully initialized. This provides a way to perform any additional initialization work, such as setting up buffer-level mappings. ALEWantResults *ALEWantResults-autocmd* *ALEWantResults* This |User| autocommand is triggered before ALE begins a lint cycle. Another source can respond by calling |ale#other_source#StartChecking()|, and |ALELintPre| will be signaled thereafter, to allow other plugins to know that another source is checking the buffer. |g:ale_want_results_buffer| will be set to the number for a buffer being checked when the event is signaled, and deleted after the event is done. This variable should be read to know which buffer to check. Other plugins can use this event to start checking buffers when ALE events for checking buffers are triggered. =============================================================================== 10. Special Thanks *ale-special-thanks* Special thanks to Mark Grealish (https://www.bhalash.com/) for providing ALE's snazzy looking ale glass logo. Cheers, Mark! =============================================================================== 11. Contact *ale-contact* If you like this plugin, and wish to get in touch, check out the GitHub page for issues and more at https://github.com/dense-analysis/ale If you wish to contact the author of this plugin directly, please feel free to send an email to devw0rp@gmail.com. Please drink responsibly, or not at all, which is ironically the preference of w0rp, who is teetotal. =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: ================================================ FILE: bundle/ale/ftplugin/ale-fix-suggest.vim ================================================ " Close the ALEFixSuggest window with the q key. noremap q :q! ================================================ FILE: bundle/ale/ftplugin/ale-preview-selection.vim ================================================ " Close the ALEPreviewWindow window with the q key. noremap q :q! " Disable some keybinds for the selection window. noremap v noremap i noremap I noremap noremap noremap noremap a noremap A noremap o noremap O " Keybinds for opening selection items. noremap :call ale#preview#OpenSelection() noremap t :call ale#preview#OpenSelectionInTab() ================================================ FILE: bundle/ale/ftplugin/ale-preview.vim ================================================ " Close the ALEPreviewWindow window with the q key. noremap q :q! ================================================ FILE: bundle/ale/plugin/ale.vim ================================================ " Author: w0rp " Description: Main entry point for the plugin: sets up prefs and autocommands " Preferences can be set in vimrc files and so on to configure ale " Sanity Checks if exists('g:loaded_ale_dont_use_this_in_other_plugins_please') finish endif " Set a special flag used only by this plugin for preventing doubly " loading the script. let g:loaded_ale_dont_use_this_in_other_plugins_please = 1 " A flag for detecting if the required features are set. if has('nvim') let s:has_features = has('timers') && has('nvim-0.2.0') else " Check if Job and Channel functions are available, instead of the " features. This works better on old MacVim versions. let s:has_features = has('timers') && exists('*job_start') && exists('*ch_close_in') endif if !s:has_features " Only output a warning if editing some special files. if index(['', 'gitcommit'], &filetype) == -1 " no-custom-checks echoerr 'ALE requires NeoVim >= 0.2.0 or Vim 8 with +timers +job +channel' " no-custom-checks echoerr 'Please update your editor appropriately.' endif " Stop here, as it won't work. finish endif " Set this flag so that other plugins can use it, like airline. let g:loaded_ale = 1 " This global variable is used internally by ALE for tracking information for " each buffer which linters are being run against. let g:ale_buffer_info = {} " This global Dictionary tracks data for fixing code. Don't mess with it. let g:ale_fix_buffer_data = {} " User Configuration " This option prevents ALE autocmd commands from being run for particular " filetypes which can cause issues. let g:ale_filetype_blacklist = [ \ 'dirvish', \ 'nerdtree', \ 'qf', \ 'tags', \ 'unite', \] " This Dictionary configures which linters are enabled for which languages. let g:ale_linters = get(g:, 'ale_linters', {}) " This option can be changed to only enable explicitly selected linters. let g:ale_linters_explicit = get(g:, 'ale_linters_explicit', 0) " This Dictionary configures which functions will be used for fixing problems. let g:ale_fixers = get(g:, 'ale_fixers', {}) " This Dictionary allows users to set up filetype aliases for new filetypes. let g:ale_linter_aliases = get(g:, 'ale_linter_aliases', {}) " This flag can be set with a number of milliseconds for delaying the " execution of a linter when text is changed. The timeout will be set and " cleared each time text is changed, so repeated edits won't trigger the " jobs for linting until enough time has passed after editing is done. let g:ale_lint_delay = get(g:, 'ale_lint_delay', 200) " This flag can be set to 'never' to disable linting when text is changed. " This flag can also be set to 'always' or 'insert' to lint when text is " changed in both normal and insert mode, or only in insert mode respectively. let g:ale_lint_on_text_changed = get(g:, 'ale_lint_on_text_changed', 'normal') " This flag can be set to 1 to enable linting when leaving insert mode. let g:ale_lint_on_insert_leave = get(g:, 'ale_lint_on_insert_leave', 1) " This flag can be set to 0 to disable linting when the buffer is entered. let g:ale_lint_on_enter = get(g:, 'ale_lint_on_enter', 1) " This flag can be set to 1 to enable linting when a buffer is written. let g:ale_lint_on_save = get(g:, 'ale_lint_on_save', 1) " This flag can be set to 1 to enable linting when the filetype is changed. let g:ale_lint_on_filetype_changed = get(g:, 'ale_lint_on_filetype_changed', 1) " If set to 1, hints and suggestion from LSP servers and tsserver will be shown. let g:ale_lsp_suggestions = get(g:, 'ale_lsp_suggestions', 0) " This flag can be set to 1 to enable automatically fixing files on save. let g:ale_fix_on_save = get(g:, 'ale_fix_on_save', 0) " This flag may be set to 0 to disable ale. After ale is loaded, :ALEToggle " should be used instead. let g:ale_enabled = get(g:, 'ale_enabled', 1) " A Dictionary mapping linter or fixer names to Arrays of two-item Arrays " mapping filename paths from one system to another. let g:ale_filename_mappings = get(g:, 'ale_filename_mappings', {}) " This Dictionary configures the default project roots for various linters. let g:ale_root = get(g:, 'ale_root', {}) " These flags dictates if ale uses the quickfix or the loclist (loclist is the " default, quickfix overrides loclist). let g:ale_set_loclist = get(g:, 'ale_set_loclist', 1) let g:ale_set_quickfix = get(g:, 'ale_set_quickfix', 0) " This flag can be set to 0 to disable setting signs. " This is enabled by default only if the 'signs' feature exists. let g:ale_set_signs = get(g:, 'ale_set_signs', has('signs')) " This flag can be set to 0 to disable setting error highlights. let g:ale_set_highlights = get(g:, 'ale_set_highlights', has('syntax')) " This List can be configured to exclude particular highlights. let g:ale_exclude_highlights = get(g:, 'ale_exclude_highlights', []) " This flag can be set to 0 to disable echoing when the cursor moves. let g:ale_echo_cursor = get(g:, 'ale_echo_cursor', 1) " This flag can be set to 1 to automatically show errors in the preview window. let g:ale_cursor_detail = get(g:, 'ale_cursor_detail', 0) " This flag can be changed to disable/enable virtual text. let g:ale_virtualtext_cursor = get(g:, 'ale_virtualtext_cursor', (has('nvim-0.3.2') || has('patch-9.0.0297') && has('textprop') && has('popupwin')) ? 'all' : 'disabled') " This flag can be set to 1 to enable LSP hover messages at the cursor. let g:ale_hover_cursor = get(g:, 'ale_hover_cursor', 1) " This flag can be set to 1 to automatically close the preview window upon " entering Insert Mode. let g:ale_close_preview_on_insert = get(g:, 'ale_close_preview_on_insert', 0) " This flag can be set to 0 to disable balloon support. let g:ale_set_balloons = get(g:, 'ale_set_balloons', has('balloon_eval') && has('gui_running')) " Use preview window for hover messages. let g:ale_hover_to_preview = get(g:, 'ale_hover_to_preview', 0) " Float preview windows in Neovim let g:ale_floating_preview = get(g:, 'ale_floating_preview', 0) " Hovers use floating windows in Neovim let g:ale_hover_to_floating_preview = get(g:, 'ale_hover_to_floating_preview', 0) " Detail uses floating windows in Neovim let g:ale_detail_to_floating_preview = get(g:, 'ale_detail_to_floating_preview', 0) " Border setting for floating preview windows " The elements in the list set the characters for the left, top, top-left, " top-right, bottom-right, bottom-left, right, and bottom of the border " respectively let g:ale_floating_window_border = get(g:, 'ale_floating_window_border', ['|', '-', '+', '+', '+', '+', '|', '-']) " This flag can be set to 0 to disable warnings for trailing whitespace let g:ale_warn_about_trailing_whitespace = get(g:, 'ale_warn_about_trailing_whitespace', 1) " This flag can be set to 0 to disable warnings for trailing blank lines let g:ale_warn_about_trailing_blank_lines = get(g:, 'ale_warn_about_trailing_blank_lines', 1) " A flag for enabling or disabling the command history. let g:ale_history_enabled = get(g:, 'ale_history_enabled', 1) " A flag for storing the full output of commands in the history. let g:ale_history_log_output = get(g:, 'ale_history_log_output', 1) " Enable automatic completion with LSP servers and tsserver let g:ale_completion_enabled = get(g:, 'ale_completion_enabled', 0) " Enable automatic detection of pipenv for Python linters. let g:ale_python_auto_pipenv = get(g:, 'ale_python_auto_pipenv', 0) " Enable automatic detection of poetry for Python linters. let g:ale_python_auto_poetry = get(g:, 'ale_python_auto_poetry', 0) " This variable can be overridden to set the GO111MODULE environment variable. let g:ale_go_go111module = get(g:, 'ale_go_go111module', '') " Default executable for deno, needed set before plugin start let g:ale_deno_executable = get(g:, 'ale_deno_executable', 'deno') " If 1, enable a popup menu for commands. let g:ale_popup_menu_enabled = get(g:, 'ale_popup_menu_enabled', has('gui_running')) if g:ale_set_balloons is 1 || g:ale_set_balloons is# 'hover' call ale#balloon#Enable() endif if g:ale_completion_enabled call ale#completion#Enable() endif if g:ale_popup_menu_enabled call ale#code_action#EnablePopUpMenu() endif " Define commands for moving through warnings and errors. command! -bar -nargs=* ALEPrevious \ :call ale#loclist_jumping#WrapJump('before', ) command! -bar -nargs=* ALENext \ :call ale#loclist_jumping#WrapJump('after', ) command! -bar ALEPreviousWrap :call ale#loclist_jumping#Jump('before', 1) command! -bar ALENextWrap :call ale#loclist_jumping#Jump('after', 1) command! -bar ALEFirst :call ale#loclist_jumping#JumpToIndex(0) command! -bar ALELast :call ale#loclist_jumping#JumpToIndex(-1) " A command for showing error details. command! -bar ALEDetail :call ale#cursor#ShowCursorDetail() " Define commands for turning ALE on or off. command! -bar ALEToggle :call ale#toggle#Toggle() command! -bar ALEEnable :call ale#toggle#Enable() command! -bar ALEDisable :call ale#toggle#Disable() command! -bar ALEReset :call ale#toggle#Reset() " Commands for turning ALE on or off for a buffer. command! -bar ALEToggleBuffer :call ale#toggle#ToggleBuffer(bufnr('')) command! -bar ALEEnableBuffer :call ale#toggle#EnableBuffer(bufnr('')) command! -bar ALEDisableBuffer :call ale#toggle#DisableBuffer(bufnr('')) command! -bar ALEResetBuffer :call ale#toggle#ResetBuffer(bufnr('')) " A command to stop all LSP-like clients, including tsserver. command! -bar ALEStopAllLSPs :call ale#lsp#reset#StopAllLSPs() " A command for linting manually. command! -bar ALELint :call ale#Queue(0, 'lint_file') " Stop current jobs when linting. command! -bar ALELintStop :call ale#engine#Stop(bufnr('')) " Commands to manually populate the quickfixes. command! -bar ALEPopulateQuickfix :call ale#list#ForcePopulateErrorList(1) command! -bar ALEPopulateLocList :call ale#list#ForcePopulateErrorList(0) " Define a command to get information about current filetype. command! -bar ALEInfo :call ale#debugging#Info() " The same, but copy output to your clipboard. command! -bar ALEInfoToClipboard :call ale#debugging#InfoToClipboard() " Copy ALE information to a file. command! -bar -nargs=1 ALEInfoToFile :call ale#debugging#InfoToFile() " Fix problems in files. command! -bar -bang -nargs=* -complete=customlist,ale#fix#registry#CompleteFixers ALEFix :call ale#fix#Fix(bufnr(''), '', ) " Suggest registered functions to use for fixing problems. command! -bar ALEFixSuggest :call ale#fix#registry#Suggest(&filetype) " Go to definition for tsserver and LSP command! -bar -nargs=* ALEGoToDefinition :call ale#definition#GoToCommandHandler('', ) " Go to type definition for tsserver and LSP command! -bar -nargs=* ALEGoToTypeDefinition :call ale#definition#GoToCommandHandler('type', ) " Go to implementation for tsserver and LSP command! -bar -nargs=* ALEGoToImplementation :call ale#definition#GoToCommandHandler('implementation', ) " Repeat a previous selection in the preview window command! -bar ALERepeatSelection :call ale#preview#RepeatSelection() " Find references for tsserver and LSP command! -bar -nargs=* ALEFindReferences :call ale#references#Find() " Show summary information for the cursor. command! -bar ALEHover :call ale#hover#ShowAtCursor() " Show documentation for the cursor. command! -bar ALEDocumentation :call ale#hover#ShowDocumentationAtCursor() " Search for appearances of a symbol, such as a type name or function name. command! -nargs=1 ALESymbolSearch :call ale#symbol#Search() " Complete text with tsserver and LSP command! -bar ALEComplete :call ale#completion#GetCompletions('ale-manual') " Try to find completions for the current symbol that add additional text. command! -bar ALEImport :call ale#completion#Import() " Rename symbols using tsserver and LSP command! -bar -bang ALERename :call ale#rename#Execute() " Rename file using tsserver command! -bar -bang ALEFileRename :call ale#filerename#Execute() " Apply code actions to a range. command! -bar -range ALECodeAction :call ale#codefix#Execute() " Organize import statements using tsserver command! -bar ALEOrganizeImports :call ale#organize_imports#Execute() " mappings for commands nnoremap (ale_previous) :ALEPrevious nnoremap (ale_previous_wrap) :ALEPreviousWrap nnoremap (ale_previous_error) :ALEPrevious -error nnoremap (ale_previous_wrap_error) :ALEPrevious -wrap -error nnoremap (ale_previous_warning) :ALEPrevious -warning nnoremap (ale_previous_wrap_warning) :ALEPrevious -wrap -warning nnoremap (ale_next) :ALENext nnoremap (ale_next_wrap) :ALENextWrap nnoremap (ale_next_error) :ALENext -error nnoremap (ale_next_wrap_error) :ALENext -wrap -error nnoremap (ale_next_warning) :ALENext -warning nnoremap (ale_next_wrap_warning) :ALENext -wrap -warning nnoremap (ale_first) :ALEFirst nnoremap (ale_last) :ALELast nnoremap (ale_toggle) :ALEToggle nnoremap (ale_enable) :ALEEnable nnoremap (ale_disable) :ALEDisable nnoremap (ale_reset) :ALEReset nnoremap (ale_toggle_buffer) :ALEToggleBuffer nnoremap (ale_enable_buffer) :ALEEnableBuffer nnoremap (ale_disable_buffer) :ALEDisableBuffer nnoremap (ale_reset_buffer) :ALEResetBuffer nnoremap (ale_lint) :ALELint nnoremap (ale_detail) :ALEDetail nnoremap (ale_fix) :ALEFix nnoremap (ale_go_to_definition) :ALEGoToDefinition nnoremap (ale_go_to_definition_in_tab) :ALEGoToDefinition -tab nnoremap (ale_go_to_definition_in_split) :ALEGoToDefinition -split nnoremap (ale_go_to_definition_in_vsplit) :ALEGoToDefinition -vsplit nnoremap (ale_go_to_type_definition) :ALEGoToTypeDefinition nnoremap (ale_go_to_type_definition_in_tab) :ALEGoToTypeDefinition -tab nnoremap (ale_go_to_type_definition_in_split) :ALEGoToTypeDefinition -split nnoremap (ale_go_to_type_definition_in_vsplit) :ALEGoToTypeDefinition -vsplit nnoremap (ale_go_to_implementation) :ALEGoToImplementation nnoremap (ale_go_to_implementation_in_tab) :ALEGoToImplementation -tab nnoremap (ale_go_to_implementation_in_split) :ALEGoToImplementation -split nnoremap (ale_go_to_implementation_in_vsplit) :ALEGoToImplementation -vsplit nnoremap (ale_find_references) :ALEFindReferences nnoremap (ale_hover) :ALEHover nnoremap (ale_documentation) :ALEDocumentation inoremap (ale_complete) :ALEComplete nnoremap (ale_import) :ALEImport nnoremap (ale_rename) :ALERename nnoremap (ale_filerename) :ALEFileRename nnoremap (ale_code_action) :ALECodeAction nnoremap (ale_repeat_selection) :ALERepeatSelection " Set up autocmd groups now. call ale#events#Init() " Housekeeping augroup ALECleanupGroup autocmd! " Clean up buffers automatically when they are unloaded. autocmd BufDelete * if exists('*ale#engine#Cleanup') | call ale#engine#Cleanup(str2nr(expand(''))) | endif autocmd QuitPre * call ale#events#QuitEvent(str2nr(expand(''))) if exists('##VimSuspend') autocmd VimSuspend * if exists('*ale#engine#CleanupEveryBuffer') | call ale#engine#CleanupEveryBuffer() | endif endif augroup END ================================================ FILE: bundle/ale/rplugin/python3/deoplete/sources/ale.py ================================================ """ A Deoplete source for ALE completion via tsserver and LSP. """ __author__ = 'Joao Paulo, w0rp' try: from deoplete.source.base import Base except ImportError: # Mock the Base class if deoplete isn't available, as mock isn't available # in the Docker image. class Base(object): def __init__(self, vim): pass # Make sure this code is valid in Python 2, used for running unit tests. class Source(Base): def __init__(self, vim): super(Source, self).__init__(vim) self.name = 'ale' self.mark = '[L]' self.rank = 1000 self.is_bytepos = True self.min_pattern_length = 1 self.is_volatile = True # Do not forget to update s:trigger_character_map in completion.vim in # updating entries in this map. self.input_patterns = { '_': r'\.\w*$', 'rust': r'(\.|::)\w*$', 'typescript': r'(\.|\'|")\w*$', 'cpp': r'(\.|::|->)\w*$', 'c': r'(\.|->)\w*$', } # Returns an integer for the start position, as with omnifunc. def get_complete_position(self, context): return self.vim.call( 'ale#completion#GetCompletionPositionForDeoplete', context['input'] ) def gather_candidates(self, context): # Stop early if ALE can't provide completion data for this buffer. if not self.vim.call('ale#completion#CanProvideCompletions'): return None event = context.get('event') if event == 'Async': result = self.vim.call('ale#completion#GetCompletionResult') return result or [] if context.get('is_refresh'): self.vim.command( "call ale#completion#GetCompletions('ale-callback', " + "{'callback': {completions -> deoplete#auto_complete() }})" ) return [] ================================================ FILE: bundle/ale/supported-tools.md ================================================ # ALE Supported Languages and Tools This plugin supports the following languages and tools. All available tools will be run in combination, so they can be complementary. **Legend** | Key | Definition | | ------------- | ----------------------------------------------------------------- | | :floppy_disk: | May only run on files on disk (see: `help ale-lint-file-linters` | | :warning: | Disabled by default | --- * Ada * [ada_language_server](https://github.com/AdaCore/ada_language_server) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [gcc](https://gcc.gnu.org) * [gnatpp](https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/gnat_utility_programs.html#the-gnat-pretty-printer-gnatpp) :floppy_disk: * Ansible * [ansible-language-server](https://github.com/ansible/ansible-language-server/) * [ansible-lint](https://github.com/willthames/ansible-lint) :floppy_disk: * API Blueprint * [drafter](https://github.com/apiaryio/drafter) * APKBUILD * [apkbuild-lint](https://gitlab.alpinelinux.org/Leo/atools) * [secfixes-check](https://gitlab.alpinelinux.org/Leo/atools) * AsciiDoc * [alex](https://github.com/get-alex/alex) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [languagetool](https://languagetool.org/) :floppy_disk: * [proselint](http://proselint.com/) * [redpen](http://redpen.cc/) * [textlint](https://textlint.github.io/) * [vale](https://github.com/ValeLint/vale) * [write-good](https://github.com/btford/write-good) * ASM * [gcc](https://gcc.gnu.org) * AVRA * [avra](https://github.com/Ro5bert/avra) * Awk * [gawk](https://www.gnu.org/software/gawk/) * Bash * [bashate](https://github.com/openstack/bashate) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [language-server](https://github.com/mads-hartmann/bash-language-server) * shell [-n flag](https://www.gnu.org/software/bash/manual/bash.html#index-set) * [shellcheck](https://www.shellcheck.net/) * [shfmt](https://github.com/mvdan/sh) * Bats * [shellcheck](https://www.shellcheck.net/) * Bazel * [buildifier](https://github.com/bazelbuild/buildtools) * BibTeX * [bibclean](http://ftp.math.utah.edu/pub/bibclean/) * Bicep * [bicep](https://github.com/Azure/bicep) :floppy_disk: * BitBake * [oelint-adv](https://github.com/priv-kweihmann/oelint-adv) * Bourne Shell * shell [-n flag](http://linux.die.net/man/1/sh) * [shellcheck](https://www.shellcheck.net/) * [shfmt](https://github.com/mvdan/sh) * C * [astyle](http://astyle.sourceforge.net/) * [ccls](https://github.com/MaskRay/ccls) * [clang](http://clang.llvm.org/) * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [clangd](https://clang.llvm.org/extra/clangd.html) * [clangtidy](http://clang.llvm.org/extra/clang-tidy/) :floppy_disk: * [cppcheck](http://cppcheck.sourceforge.net) * [cpplint](https://github.com/cpplint/cpplint) * [cquery](https://github.com/cquery-project/cquery) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [flawfinder](https://www.dwheeler.com/flawfinder/) * [gcc](https://gcc.gnu.org/) * [uncrustify](https://github.com/uncrustify/uncrustify) * C# * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [csc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-csc` for details and configuration * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [dotnet-format](https://github.com/dotnet/format) * [mcs](http://www.mono-project.com/docs/about-mono/languages/csharp/) see:`help ale-cs-mcs` for details * [mcsc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-mcsc` for details and configuration * [uncrustify](https://github.com/uncrustify/uncrustify) * C++ (filetype cpp) * [astyle](http://astyle.sourceforge.net/) * [ccls](https://github.com/MaskRay/ccls) * [clang](http://clang.llvm.org/) * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [clangcheck](http://clang.llvm.org/docs/ClangCheck.html) :floppy_disk: * [clangd](https://clang.llvm.org/extra/clangd.html) * [clangtidy](http://clang.llvm.org/extra/clang-tidy/) :floppy_disk: * [clazy](https://github.com/KDE/clazy) :floppy_disk: * [cppcheck](http://cppcheck.sourceforge.net) * [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint) :floppy_disk: * [cquery](https://github.com/cquery-project/cquery) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [flawfinder](https://www.dwheeler.com/flawfinder/) * [gcc](https://gcc.gnu.org/) * [uncrustify](https://github.com/uncrustify/uncrustify) * Cairo * [starknet](https://starknet.io/docs) * Chef * [cookstyle](https://docs.chef.io/cookstyle.html) * [foodcritic](http://www.foodcritic.io/) :floppy_disk: * Clojure * [clj-kondo](https://github.com/borkdude/clj-kondo) * [joker](https://github.com/candid82/joker) * CloudFormation * [cfn-python-lint](https://github.com/awslabs/cfn-python-lint) * CMake * [cmake-format](https://github.com/cheshirekow/cmake_format) * [cmake-lint](https://github.com/cheshirekow/cmake_format) * [cmakelint](https://github.com/cmake-lint/cmake-lint) * CoffeeScript * [coffee](http://coffeescript.org/) * [coffeelint](https://www.npmjs.com/package/coffeelint) * Crystal * [ameba](https://github.com/veelenga/ameba) :floppy_disk: * [crystal](https://crystal-lang.org/) :floppy_disk: * CSS * [VSCode CSS language server](https://github.com/hrsh7th/vscode-langservers-extracted) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [css-beautify](https://github.com/beautify-web/js-beautify) * [csslint](http://csslint.net/) * [fecs](http://fecs.baidu.com/) * [prettier](https://github.com/prettier/prettier) * [stylelint](https://github.com/stylelint/stylelint) * Cucumber * [cucumber](https://cucumber.io/) * CUDA * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [clangd](https://clang.llvm.org/extra/clangd.html) * [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html) :floppy_disk: * Cypher * [cypher-lint](https://github.com/cleishm/libcypher-parser) * Cython (pyrex filetype) * [cython](http://cython.org/) * D * [dfmt](https://github.com/dlang-community/dfmt) * [dls](https://github.com/d-language-server/dls) * [dmd](https://dlang.org/dmd-linux.html) * [uncrustify](https://github.com/uncrustify/uncrustify) * Dafny * [dafny](https://rise4fun.com/Dafny) :floppy_disk: * Dart * [analysis_server](https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server) * [dart-analyze](https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_cli) :floppy_disk: * [dart-format](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt) * [dartfmt](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt) * [language_server](https://github.com/natebosch/dart_language_server) * desktop * [desktop-file-validate](https://www.freedesktop.org/wiki/Software/desktop-file-utils/) * Dhall * [dhall-format](https://github.com/dhall-lang/dhall-lang) * [dhall-freeze](https://github.com/dhall-lang/dhall-lang) * [dhall-lint](https://github.com/dhall-lang/dhall-lang) * Dockerfile * [dockerfile_lint](https://github.com/projectatomic/dockerfile_lint) * [dprint](https://dprint.dev) * [hadolint](https://github.com/hadolint/hadolint) * Elixir * [credo](https://github.com/rrrene/credo) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) :warning: * [dialyxir](https://github.com/jeremyjh/dialyxir) * [dogma](https://github.com/lpil/dogma) :floppy_disk: * [elixir-ls](https://github.com/elixir-lsp/elixir-ls) :warning: * [mix](https://hexdocs.pm/mix/Mix.html) :warning: :floppy_disk: * Elm * [elm-format](https://github.com/avh4/elm-format) * [elm-ls](https://github.com/elm-tooling/elm-language-server) * [elm-make](https://github.com/elm/compiler) * Erb * [erb](https://apidock.com/ruby/ERB) * [erblint](https://github.com/Shopify/erb-lint) * [erubi](https://github.com/jeremyevans/erubi) * [erubis](https://github.com/kwatch/erubis) * [ruumba](https://github.com/ericqweinstein/ruumba) * Erlang * [SyntaxErl](https://github.com/ten0s/syntaxerl) * [dialyzer](http://erlang.org/doc/man/dialyzer.html) :floppy_disk: * [elvis](https://github.com/inaka/elvis) :floppy_disk: * [erlang_ls](https://github.com/erlang-ls/erlang_ls) * [erlc](http://erlang.org/doc/man/erlc.html) * [erlfmt](https://github.com/WhatsApp/erlfmt) * Fish * fish [-n flag](https://linux.die.net/man/1/fish) * [fish_indent](https://fishshell.com/docs/current/cmds/fish_indent.html) * Fortran * [gcc](https://gcc.gnu.org/) * [language_server](https://github.com/hansec/fortran-language-server) * Fountain * [proselint](http://proselint.com/) * FusionScript * [fusion-lint](https://github.com/RyanSquared/fusionscript) * Git Commit Messages * [gitlint](https://github.com/jorisroovers/gitlint) * GLSL * [glslang](https://github.com/KhronosGroup/glslang) * [glslls](https://github.com/svenstaro/glsl-language-server) * Go * [bingo](https://github.com/saibing/bingo) :warning: * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) :warning: * [go build](https://golang.org/cmd/go/) :warning: :floppy_disk: * [go mod](https://golang.org/cmd/go/) :warning: :floppy_disk: * [go vet](https://golang.org/cmd/vet/) :floppy_disk: * [gofmt](https://golang.org/cmd/gofmt/) * [gofumpt](https://github.com/mvdan/gofumpt) * [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) :warning: * [golangci-lint](https://github.com/golangci/golangci-lint) :warning: :floppy_disk: * [golangserver](https://github.com/sourcegraph/go-langserver) :warning: * [golines](https://github.com/segmentio/golines) * [golint](https://godoc.org/github.com/golang/lint) * [gometalinter](https://github.com/alecthomas/gometalinter) :warning: :floppy_disk: * [gopls](https://github.com/golang/go/wiki/gopls) * [gosimple](https://github.com/dominikh/go-tools/tree/master/cmd/gosimple) :warning: :floppy_disk: * [gotype](https://godoc.org/golang.org/x/tools/cmd/gotype) :warning: :floppy_disk: * [revive](https://github.com/mgechev/revive) :warning: :floppy_disk: * [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) :warning: :floppy_disk: * GraphQL * [eslint](http://eslint.org/) * [gqlint](https://github.com/happylinks/gqlint) * [prettier](https://github.com/prettier/prettier) * Hack * [hack](http://hacklang.org/) * [hackfmt](https://github.com/facebook/hhvm/tree/master/hphp/hack/hackfmt) * [hhast](https://github.com/hhvm/hhast) :warning: (see `:help ale-integration-hack`) * Haml * [haml-lint](https://github.com/brigade/haml-lint) * Handlebars * [ember-template-lint](https://github.com/rwjblue/ember-template-lint) * Haskell * [brittany](https://github.com/lspitzner/brittany) * [cabal-ghc](https://www.haskell.org/cabal/) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [floskell](https://github.com/ennocramer/floskell) * [ghc](https://www.haskell.org/ghc/) * [ghc-mod](https://github.com/DanielG/ghc-mod) * [hdevtools](https://hackage.haskell.org/package/hdevtools) * [hfmt](https://github.com/danstiner/hfmt) * [hie](https://github.com/haskell/haskell-ide-engine) * [hindent](https://hackage.haskell.org/package/hindent) * [hlint](https://hackage.haskell.org/package/hlint) * [hls](https://github.com/haskell/haskell-language-server) * [ormolu](https://github.com/tweag/ormolu) * [stack-build](https://haskellstack.org/) :floppy_disk: * [stack-ghc](https://haskellstack.org/) * [stylish-haskell](https://github.com/jaspervdj/stylish-haskell) * HCL * [packer-fmt](https://github.com/hashicorp/packer) * [terraform-fmt](https://github.com/hashicorp/terraform) * HTML * [VSCode HTML language server](https://github.com/hrsh7th/vscode-langservers-extracted) * [alex](https://github.com/get-alex/alex) * [angular](https://www.npmjs.com/package/@angular/language-server) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [fecs](http://fecs.baidu.com/) * [html-beautify](https://beautifier.io/) * [htmlhint](http://htmlhint.com/) * [prettier](https://github.com/prettier/prettier) * [proselint](http://proselint.com/) * [tidy](http://www.html-tidy.org/) * [write-good](https://github.com/btford/write-good) * Idris * [idris](http://www.idris-lang.org/) * Ink * [ink-language-server](https://github.com/ephread/ink-language-server) * Inko * [inko](https://inko-lang.org/) :floppy_disk: * ISPC * [ispc](https://ispc.github.io/) :floppy_disk: * Java * [PMD](https://pmd.github.io/) * [checkstyle](http://checkstyle.sourceforge.net) :floppy_disk: * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [eclipselsp](https://github.com/eclipse/eclipse.jdt.ls) * [google-java-format](https://github.com/google/google-java-format) * [javac](http://www.oracle.com/technetwork/java/javase/downloads/index.html) * [javalsp](https://github.com/georgewfraser/vscode-javac) * [uncrustify](https://github.com/uncrustify/uncrustify) * JavaScript * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [deno](https://deno.land/) * [dprint](https://dprint.dev/) * [eslint](http://eslint.org/) * [fecs](http://fecs.baidu.com/) * [flow](https://flowtype.org/) * [jscs](https://jscs-dev.github.io/) * [jshint](http://jshint.com/) * [prettier](https://github.com/prettier/prettier) * [prettier-eslint](https://github.com/prettier/prettier-eslint-cli) * [prettier-standard](https://github.com/sheerun/prettier-standard) * [standard](http://standardjs.com/) * [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29) * [xo](https://github.com/sindresorhus/xo) * JSON * [VSCode JSON language server](https://github.com/hrsh7th/vscode-langservers-extracted) * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) :warning: * [dprint](https://dprint.dev) * [eslint](http://eslint.org/) :warning: * [fixjson](https://github.com/rhysd/fixjson) * [jq](https://stedolan.github.io/jq/) :warning: * [jsonlint](https://github.com/zaach/jsonlint) * [prettier](https://github.com/prettier/prettier) * [spectral](https://github.com/stoplightio/spectral) * JSON5 * [eslint](http://eslint.org/) :warning: * JSONC * [eslint](http://eslint.org/) :warning: * Jsonnet * [jsonnet-lint](https://jsonnet.org/learning/tools.html) * [jsonnetfmt](https://jsonnet.org/learning/tools.html) * Julia * [languageserver](https://github.com/JuliaEditorSupport/LanguageServer.jl) * Kotlin * [kotlinc](https://kotlinlang.org) :floppy_disk: * [ktlint](https://ktlint.github.io) * [languageserver](https://github.com/fwcd/KotlinLanguageServer) see `:help ale-integration-kotlin` for configuration instructions * LaTeX * [alex](https://github.com/get-alex/alex) * [chktex](http://www.nongnu.org/chktex/) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [lacheck](https://www.ctan.org/pkg/lacheck) * [proselint](http://proselint.com/) * [redpen](http://redpen.cc/) * [texlab](https://texlab.netlify.com) * [textlint](https://textlint.github.io/) * [vale](https://github.com/ValeLint/vale) * [write-good](https://github.com/btford/write-good) * Less * [lessc](https://www.npmjs.com/package/less) * [prettier](https://github.com/prettier/prettier) * [stylelint](https://github.com/stylelint/stylelint) * LLVM * [llc](https://llvm.org/docs/CommandGuide/llc.html) * Lua * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [lua-format](https://github.com/Koihik/LuaFormatter) * [luac](https://www.lua.org/manual/5.1/luac.html) * [luacheck](https://github.com/mpeterv/luacheck) * [luafmt](https://github.com/trixnz/lua-fmt) * [selene](https://github.com/Kampfkarren/selene) * [stylua](https://github.com/johnnymorganz/stylua) * Mail * [alex](https://github.com/get-alex/alex) * [languagetool](https://languagetool.org/) :floppy_disk: * [proselint](http://proselint.com/) * [vale](https://github.com/ValeLint/vale) * Make * [checkmake](https://github.com/mrtazz/checkmake) * Markdown * [alex](https://github.com/get-alex/alex) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [languagetool](https://languagetool.org/) :floppy_disk: * [markdownlint](https://github.com/DavidAnson/markdownlint) :floppy_disk: * [mdl](https://github.com/mivok/markdownlint) * [pandoc](https://pandoc.org) * [prettier](https://github.com/prettier/prettier) * [proselint](http://proselint.com/) * [redpen](http://redpen.cc/) * [remark-lint](https://github.com/wooorm/remark-lint) * [textlint](https://textlint.github.io/) * [vale](https://github.com/ValeLint/vale) * [write-good](https://github.com/btford/write-good) * MATLAB * [mlint](https://www.mathworks.com/help/matlab/ref/mlint.html) * Mercury * [mmc](http://mercurylang.org) :floppy_disk: * NASM * [nasm](https://www.nasm.us/) :floppy_disk: * Nim * [nim check](https://nim-lang.org/docs/nimc.html) :floppy_disk: * [nimlsp](https://github.com/PMunch/nimlsp) * nimpretty * nix * [nix-instantiate](http://nixos.org/nix/manual/#sec-nix-instantiate) * [nixfmt](https://github.com/serokell/nixfmt) * [nixpkgs-fmt](https://github.com/nix-community/nixpkgs-fmt) * [rnix-lsp](https://github.com/nix-community/rnix-lsp) * [statix](https://github.com/nerdypepper/statix) * nroff * [alex](https://github.com/get-alex/alex) * [proselint](http://proselint.com/) * [write-good](https://github.com/btford/write-good) * Objective-C * [ccls](https://github.com/MaskRay/ccls) * [clang](http://clang.llvm.org/) * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [clangd](https://clang.llvm.org/extra/clangd.html) * [uncrustify](https://github.com/uncrustify/uncrustify) * Objective-C++ * [clang](http://clang.llvm.org/) * [clangd](https://clang.llvm.org/extra/clangd.html) * [uncrustify](https://github.com/uncrustify/uncrustify) * OCaml * [dune](https://dune.build/) * [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-ocaml-merlin` for configuration instructions * [ocamlformat](https://github.com/ocaml-ppx/ocamlformat) * [ocamllsp](https://github.com/ocaml/ocaml-lsp) * [ocp-indent](https://github.com/OCamlPro/ocp-indent) * [ols](https://github.com/freebroccolo/ocaml-language-server) * OpenApi * [ibm_validator](https://github.com/IBM/openapi-validator) * [prettier](https://github.com/prettier/prettier) * [yamllint](https://yamllint.readthedocs.io/) * OpenSCAD * [SCA2D](https://gitlab.com/bath_open_instrumentation_group/sca2d) :floppy_disk: * Packer (HCL) * [packer-fmt-fixer](https://github.com/hashicorp/packer) * Pascal * [ptop](https://www.freepascal.org/tools/ptop.var) * Pawn * [uncrustify](https://github.com/uncrustify/uncrustify) * Perl * [perl -c](https://perl.org/) :warning: * [perl-critic](https://metacpan.org/pod/Perl::Critic) * [perltidy](https://metacpan.org/pod/distribution/Perl-Tidy/bin/perltidy) * Perl6 * [perl6 -c](https://perl6.org) :warning: * PHP * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [intelephense](https://github.com/bmewburn/intelephense-docs) * [langserver](https://github.com/felixfbecker/php-language-server) * [phan](https://github.com/phan/phan) see `:help ale-php-phan` to instructions * [php -l](https://secure.php.net/) * [php-cs-fixer](https://cs.symfony.com) * [phpactor](https://github.com/phpactor/phpactor) * [phpcbf](https://github.com/squizlabs/PHP_CodeSniffer) * [phpcs](https://github.com/squizlabs/PHP_CodeSniffer) * [phpmd](https://phpmd.org) * [phpstan](https://github.com/phpstan/phpstan) * [pint](https://github.com/laravel/pint) :beer: * [psalm](https://getpsalm.org) :floppy_disk: * [tlint](https://github.com/tightenco/tlint) * PO * [alex](https://github.com/get-alex/alex) * [msgfmt](https://www.gnu.org/software/gettext/manual/html_node/msgfmt-Invocation.html) * [proselint](http://proselint.com/) * [write-good](https://github.com/btford/write-good) * Pod * [alex](https://github.com/get-alex/alex) * [proselint](http://proselint.com/) * [write-good](https://github.com/btford/write-good) * Pony * [ponyc](https://github.com/ponylang/ponyc) * PowerShell * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [powershell](https://github.com/PowerShell/PowerShell) * [psscriptanalyzer](https://github.com/PowerShell/PSScriptAnalyzer) * Prolog * [swipl](https://github.com/SWI-Prolog/swipl-devel) * proto * [buf-format](https://github.com/bufbuild/buf) :floppy_disk: * [buf-lint](https://github.com/bufbuild/buf) :floppy_disk: * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [protoc-gen-lint](https://github.com/ckaznocha/protoc-gen-lint) :floppy_disk: * [protolint](https://github.com/yoheimuta/protolint) :floppy_disk: * Pug * [pug-lint](https://github.com/pugjs/pug-lint) * Puppet * [languageserver](https://github.com/lingua-pupuli/puppet-editor-services) * [puppet](https://puppet.com) * [puppet-lint](https://puppet-lint.com) * PureScript * [purescript-language-server](https://github.com/nwolverson/purescript-language-server) * [purs-tidy](https://github.com/natefaubion/purescript-tidy) * [purty](https://gitlab.com/joneshf/purty) * Python * [autoflake](https://github.com/myint/autoflake) :floppy_disk: * [autoimport](https://lyz-code.github.io/autoimport/) * [autopep8](https://github.com/hhatto/autopep8) * [bandit](https://github.com/PyCQA/bandit) :warning: * [black](https://github.com/psf/black) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [flake8](http://flake8.pycqa.org/en/latest/) * [flakehell](https://github.com/flakehell/flakehell) * [isort](https://github.com/timothycrosley/isort) * [mypy](http://mypy-lang.org/) * [prospector](https://github.com/PyCQA/prospector) :warning: :floppy_disk: * [pycodestyle](https://github.com/PyCQA/pycodestyle) :warning: * [pydocstyle](https://www.pydocstyle.org/) :warning: * [pyflakes](https://github.com/PyCQA/pyflakes) * [pyflyby](https://github.com/deshaw/pyflyby) :warning: * [pylama](https://github.com/klen/pylama) :floppy_disk: * [pylint](https://www.pylint.org/) :floppy_disk: * [pylsp](https://github.com/python-lsp/python-lsp-server) :warning: * [pyre](https://github.com/facebook/pyre-check) :warning: * [pyright](https://github.com/microsoft/pyright) * [refurb](https://github.com/dosisod/refurb) :floppy_disk: * [reorder-python-imports](https://github.com/asottile/reorder_python_imports) * [ruff](https://github.com/charliermarsh/ruff) * [unimport](https://github.com/hakancelik96/unimport) * [vulture](https://github.com/jendrikseipp/vulture) :warning: :floppy_disk: * [yapf](https://github.com/google/yapf) * QML * [qmlfmt](https://github.com/jesperhh/qmlfmt) * [qmllint](https://github.com/qt/qtdeclarative/tree/5.11/tools/qmllint) * R * [languageserver](https://github.com/REditorSupport/languageserver) * [lintr](https://github.com/jimhester/lintr) * [styler](https://github.com/r-lib/styler) * Racket * [racket-langserver](https://github.com/jeapostrophe/racket-langserver/tree/master) * [raco](https://docs.racket-lang.org/raco/) * [raco_fmt](https://docs.racket-lang.org/fmt/) * Re:VIEW * [redpen](http://redpen.cc/) * ReasonML * [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-reasonml-ols` for configuration instructions * [ols](https://github.com/freebroccolo/ocaml-language-server) * [reason-language-server](https://github.com/jaredly/reason-language-server) * [refmt](https://github.com/reasonml/reason-cli) * Rego * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [opacheck](https://www.openpolicyagent.org/docs/latest/cli/#opa-check) * [opafmt](https://www.openpolicyagent.org/docs/latest/cli/#opa-fmt) * reStructuredText * [alex](https://github.com/get-alex/alex) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [proselint](http://proselint.com/) * [redpen](http://redpen.cc/) * [rstcheck](https://github.com/myint/rstcheck) * [textlint](https://textlint.github.io/) * [vale](https://github.com/ValeLint/vale) * [write-good](https://github.com/btford/write-good) * Robot * [rflint](https://github.com/boakley/robotframework-lint) * RPM spec * [rpmlint](https://github.com/rpm-software-management/rpmlint) :warning: (see `:help ale-integration-spec`) * Ruby * [brakeman](http://brakemanscanner.org/) :floppy_disk: * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [debride](https://github.com/seattlerb/debride) * [prettier](https://github.com/prettier/plugin-ruby) * [rails_best_practices](https://github.com/flyerhzm/rails_best_practices) :floppy_disk: * [reek](https://github.com/troessner/reek) * [rubocop](https://github.com/bbatsov/rubocop) * [ruby](https://www.ruby-lang.org) * [rufo](https://github.com/ruby-formatter/rufo) * [solargraph](https://solargraph.org) * [sorbet](https://github.com/sorbet/sorbet) * [standardrb](https://github.com/testdouble/standard) * [syntax_tree](https://github.com/ruby-syntax-tree/syntax_tree) * Rust * [cargo](https://github.com/rust-lang/cargo) :floppy_disk: (see `:help ale-integration-rust` for configuration instructions) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [rls](https://github.com/rust-lang-nursery/rls) :warning: * [rust-analyzer](https://github.com/rust-analyzer/rust-analyzer) :warning: * [rustc](https://www.rust-lang.org/) :warning: * [rustfmt](https://github.com/rust-lang-nursery/rustfmt) * Salt * [salt-lint](https://github.com/warpnet/salt-lint) * Sass * [sass-lint](https://www.npmjs.com/package/sass-lint) * [stylelint](https://github.com/stylelint/stylelint) * Scala * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [fsc](https://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/tools/fsc.html) * [metals](https://scalameta.org/metals/) * [sbtserver](https://www.scala-sbt.org/1.x/docs/sbt-server.html) * [scalac](http://scala-lang.org) * [scalafmt](https://scalameta.org/scalafmt/) * [scalastyle](http://www.scalastyle.org) * SCSS * [prettier](https://github.com/prettier/prettier) * [sass-lint](https://www.npmjs.com/package/sass-lint) * [scss-lint](https://github.com/brigade/scss-lint) * [stylelint](https://github.com/stylelint/stylelint) * Slim * [slim-lint](https://github.com/sds/slim-lint) * SML * [smlnj](http://www.smlnj.org/) * Solidity * [solc](https://solidity.readthedocs.io/) * [solhint](https://github.com/protofire/solhint) * [solium](https://github.com/duaraghav8/Solium) * SQL * [dprint](https://dprint.dev) * [pgformatter](https://github.com/darold/pgFormatter) * [sql-lint](https://github.com/joereynolds/sql-lint) * [sqlfluff](https://github.com/sqlfluff/sqlfluff) * [sqlfmt](https://github.com/jackc/sqlfmt) * [sqlformat](https://github.com/andialbrecht/sqlparse) * [sqlint](https://github.com/purcell/sqlint) * Stylus * [stylelint](https://github.com/stylelint/stylelint) * SugarSS * [stylelint](https://github.com/stylelint/stylelint) * Svelte * [prettier](https://github.com/prettier/prettier) * [svelteserver](https://github.com/sveltejs/language-tools/tree/master/packages/language-server) * Swift * [Apple swift-format](https://github.com/apple/swift-format) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [sourcekit-lsp](https://github.com/apple/sourcekit-lsp) * [swiftformat](https://github.com/nicklockwood/SwiftFormat) * [swiftlint](https://github.com/realm/SwiftLint) * systemd * [systemd-analyze](https://www.freedesktop.org/software/systemd/man/systemd-analyze.html) :floppy_disk: * Tcl * [nagelfar](http://nagelfar.sourceforge.net) :floppy_disk: * Terraform * [checkov](https://github.com/bridgecrewio/checkov) * [terraform](https://github.com/hashicorp/terraform) * [terraform-fmt-fixer](https://github.com/hashicorp/terraform) * [terraform-ls](https://github.com/hashicorp/terraform-ls) * [terraform-lsp](https://github.com/juliosueiras/terraform-lsp) * [tflint](https://github.com/wata727/tflint) * [tfsec](https://github.com/aquasecurity/tfsec) * Texinfo * [alex](https://github.com/get-alex/alex) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [proselint](http://proselint.com/) * [write-good](https://github.com/btford/write-good) * Text * [alex](https://github.com/get-alex/alex) :warning: * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [languagetool](https://languagetool.org/) :floppy_disk: * [proselint](http://proselint.com/) :warning: * [redpen](http://redpen.cc/) :warning: * [textlint](https://textlint.github.io/) :warning: * [vale](https://github.com/ValeLint/vale) :warning: * [write-good](https://github.com/btford/write-good) :warning: * Thrift * [thrift](http://thrift.apache.org/) * [thriftcheck](https://github.com/pinterest/thriftcheck) * TOML * [dprint](https://dprint.dev) * TypeScript * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [deno](https://deno.land/) * [dprint](https://dprint.dev/) * [eslint](http://eslint.org/) * [fecs](http://fecs.baidu.com/) * [prettier](https://github.com/prettier/prettier) * [standard](http://standardjs.com/) * [tslint](https://github.com/palantir/tslint) * [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29) * typecheck * V * [v](https://github.com/vlang/v/) :floppy_disk: * [vfmt](https://github.com/vlang/v/) * VALA * [uncrustify](https://github.com/uncrustify/uncrustify) * [vala_lint](https://github.com/vala-lang/vala-lint) :floppy_disk: * Verilog * [hdl-checker](https://pypi.org/project/hdl-checker) * [iverilog](https://github.com/steveicarus/iverilog) * [verilator](http://www.veripool.org/projects/verilator/wiki/Intro) * [vlog](https://www.mentor.com/products/fv/questa/) * [xvlog](https://www.xilinx.com/products/design-tools/vivado.html) * [yosys](http://www.clifford.at/yosys/) :floppy_disk: * VHDL * [ghdl](https://github.com/ghdl/ghdl) * [vcom](https://www.mentor.com/products/fv/questa/) * [xvhdl](https://www.xilinx.com/products/design-tools/vivado.html) * Vim * [vimls](https://github.com/iamcco/vim-language-server) * [vint](https://github.com/Kuniwak/vint) * Vim help * [alex](https://github.com/get-alex/alex) :warning: * [proselint](http://proselint.com/) :warning: * [write-good](https://github.com/btford/write-good) :warning: * Vue * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [prettier](https://github.com/prettier/prettier) * [vls](https://github.com/vuejs/vetur/tree/master/server) * [volar](https://github.com/johnsoncodehk/volar) * WGSL * [naga](https://github.com/gfx-rs/naga) * XHTML * [alex](https://github.com/get-alex/alex) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [proselint](http://proselint.com/) * [write-good](https://github.com/btford/write-good) * XML * [xmllint](http://xmlsoft.org/xmllint.html) * YAML * [actionlint](https://github.com/rhysd/actionlint) :warning: * [circleci](https://circleci.com/docs/2.0/local-cli) :floppy_disk: :warning: * [gitlablint](https://github.com/elijah-roberts/gitlab-lint) * [prettier](https://github.com/prettier/prettier) * [spectral](https://github.com/stoplightio/spectral) * [swaglint](https://github.com/byCedric/swaglint) :warning: * [yaml-language-server](https://github.com/redhat-developer/yaml-language-server) * [yamlfix](https://lyz-code.github.io/yamlfix) * [yamllint](https://yamllint.readthedocs.io/) * YANG * [yang-lsp](https://github.com/theia-ide/yang-lsp) * Zeek * [zeek](http://zeek.org) :floppy_disk: * Zig * [zigfmt](https://github.com/ziglang/zig) * [zls](https://github.com/zigtools/zls) ================================================ FILE: bundle/ale/syntax/ale-fix-suggest.vim ================================================ if exists('b:current_syntax') finish endif syn match aleFixerComment /^.*$/ syn match aleFixerName /\(^\|, \)'[^']*'/ syn match aleFixerHelp /^See :help ale-fix-configuration/ hi def link aleFixerComment Comment hi def link aleFixerName String hi def link aleFixerHelp Statement let b:current_syntax = 'ale-fix-suggest' ================================================ FILE: bundle/ale/syntax/ale-preview-selection.vim ================================================ if exists('b:current_syntax') finish endif syn match alePreviewSelectionFilename /\v^([a-zA-Z]?:?[^:]+)/ syn match alPreviewNumber /\v:\d+:\d+$/ hi def link alePreviewSelectionFilename String hi def link alePreviewNumber Number let b:current_syntax = 'ale-preview-selection' ================================================ FILE: bundle/bookmarks.vim/.gitignore ================================================ */tags VimFlavor.lock .vim-flavor tags .*.swp ================================================ FILE: bundle/bookmarks.vim/.travis.yml ================================================ language: ruby cache: bundler rvm: 2.0.0 script: bundle exec rake ci ================================================ FILE: bundle/bookmarks.vim/addon-info.json ================================================ { "name": "bookmarks", "description": "bookmark plugin for neovim and vim.", "author": "Eric Wong" } ================================================ FILE: bundle/bookmarks.vim/autoload/bookmarks/cache.vim ================================================ let s:cache_path = g:spacevim_data_dir . 'SpaceVim/bookmarks.json' function! bookmarks#cache#write(data) abort call writefile([json_encode(a:data)], s:cache_path) endfunction function! bookmarks#cache#read() abort if filereadable(s:cache_path) let data = join(readfile(s:cache_path), '') if data !=# '' return json_decode(data) else return {} endif else return {} endif endfunction ================================================ FILE: bundle/bookmarks.vim/autoload/bookmarks/logger.vim ================================================ let s:LOGGER = SpaceVim#logger#derive('bookmark') function! bookmarks#logger#info(msg) abort call s:LOGGER.info(a:msg) endfunction function! bookmarks#logger#debug(msg) abort call s:LOGGER.debug(a:msg) endfunction function! bookmarks#logger#warn(msg) abort call s:LOGGER.warn(a:msg) endfunction ================================================ FILE: bundle/bookmarks.vim/autoload/bookmarks/sign.vim ================================================ "============================================================================= " sign.vim --- sign for bookmarks " Copyright (c) 2016-2019 Wang Shidong & Contributors " Author: Wang Shidong < wsdjeg@outlook.com > " URL: https://spacevim.org " License: GPLv3 "============================================================================= let s:sign_name = 'bookmarks' call sign_define(s:sign_name, { \ 'text' : g:bookmarks_sign_text, \ 'texthl' : g:bookmarks_sign_highlight \ }) function! bookmarks#sign#add(file, lnum) abort return sign_place(0, '', s:sign_name, a:file, {'lnum':a:lnum} ) endfunction function! bookmarks#sign#get_lnums(buf) abort let signs = filter(sign_getplaced(a:buf)[0].signs, 'v:val.name == "bookmarks"') let map = {} for sign in signs call extend(map, { sign.id : sign.lnum }) endfor return map endfunction ================================================ FILE: bundle/bookmarks.vim/autoload/bookmarks/vtext.vim ================================================ if exists('*nvim_create_namespace') let s:ns_id = nvim_create_namespace('bookmarks') endif function! bookmarks#vtext#add(file, lnum, text) abort if exists('*nvim_buf_set_extmark') return nvim_buf_set_extmark(bufnr(a:file), s:ns_id, a:lnum - 1, 0, {'virt_text' : [[a:text, 'Comment']]}) endif endfunction function! bookmarks#vtext#delete(file, id) abort if exists('*nvim_buf_del_extmark') call nvim_buf_del_extmark(bufnr(a:file), s:ns_id, a:id) endif endfunction ================================================ FILE: bundle/bookmarks.vim/autoload/bookmarks.vim ================================================ if exists('s:bookmarks') finish endif let s:FILE = SpaceVim#api#import('file') let s:NT = SpaceVim#api#import('notify') let s:BUF = SpaceVim#api#import('vim#buffer') let s:bookmarks = bookmarks#cache#read() function! s:skip_current_buf() abort if empty(s:BUF.bufname()) return v:true elseif !empty(&buftype) return v:true endif endfunction function! bookmarks#on_leave_buffer() abort if s:skip_current_buf() return endif let file = s:FILE.unify_path(expand('%'), ':p') if has_key(s:bookmarks, file) let sign_lnum_map = bookmarks#sign#get_lnums(s:BUF.bufnr()) let new_file_bms = {} for lnum in keys(s:bookmarks[file]) let signid = s:bookmarks[file][lnum].signid if has_key(sign_lnum_map, signid) let new_lnum = sign_lnum_map[signid] let new_file_bms[new_lnum] = s:bookmarks[file][lnum] let new_file_bms[new_lnum].lnum = new_lnum else " the signid does not exist, maybe that line has been removed if has_key(s:bookmarks[file][lnum], 'vtextid') call bookmarks#vtext#delete(file, s:bookmarks[file][lnum].vtextid) endif endif endfor let s:bookmarks[file] = new_file_bms call bookmarks#cache#write(s:bookmarks) endif endfunction function! bookmarks#toggle() abort if s:skip_current_buf() return endif let file = s:FILE.unify_path(expand('%'), ':p') let lnum = line('.') if has_key(s:bookmarks, file) && has_key(s:bookmarks[file], lnum) call bookmarks#delete(file, lnum) else call bookmarks#add(file, lnum, getline('.')) endif endfunction function! s:has_annotation(file, lnum) abort return has_key(s:bookmarks, a:file) \ && has_key(s:bookmarks[a:file], a:lnum) \ && has_key(s:bookmarks[a:file][a:lnum], 'annotation') \ && !empty(s:bookmarks[a:file][a:lnum].annotation) endfunction function! bookmarks#annotate() abort if s:skip_current_buf() return endif let file = s:FILE.unify_path(expand('%'), ':p') let lnum = line('.') if s:has_annotation(file, lnum) let default_annotation = s:bookmarks[file][lnum].annotation let annotation = input({'prompt' : 'Annotation:', 'default' : default_annotation, 'cancelreturn' : ''}) if !empty(annotation) call bookmarks#add(file, lnum, annotation, 1) else call s:NT.notify('canceled, no changes.') endif else let annotation = input('Annotation:') if !empty(annotation) call bookmarks#add(file, lnum, annotation, 1) else call s:NT.notify('empty annotation, skipped!') endif endif endfunction function! bookmarks#get_all_bookmarks() abort return deepcopy(s:bookmarks) endfunction function! bookmarks#add(file, lnum, text, ...) abort call bookmarks#logger#info('add bookmarks:') call bookmarks#logger#info(' file:' .. a:file) call bookmarks#logger#info(' lnum:' .. a:lnum) call bookmarks#logger#info(' text:' .. a:text) call bookmarks#logger#info(' a:000:' .. string(a:000)) if !has_key(s:bookmarks, a:file) let s:bookmarks[a:file] = {} endif if has_key(s:bookmarks[a:file], a:lnum) && has_key(s:bookmarks[a:file][a:lnum], 'vtextid') call bookmarks#vtext#delete(a:file, s:bookmarks[a:file][a:lnum].vtextid) endif if has_key(s:bookmarks[a:file], a:lnum) && has_key(s:bookmarks[a:file][a:lnum], 'signid') exe 'sign unplace ' . s:bookmarks[a:file][a:lnum].signid endif let s:bookmarks[a:file][a:lnum] = { \ 'text' : a:text, \ 'file' : a:file, \ 'lnum' : a:lnum, \ 'signid' : bookmarks#sign#add(a:file, a:lnum) \ } if get(a:000, 0, 0) let s:bookmarks[a:file][a:lnum].vtextid = bookmarks#vtext#add(a:file, a:lnum, a:text) let s:bookmarks[a:file][a:lnum].annotation = a:text endif call bookmarks#cache#write(s:bookmarks) endfunction function! bookmarks#delete(file, lnum) abort if has_key(s:bookmarks, a:file) && has_key(s:bookmarks[a:file], a:lnum) exe 'sign unplace ' . s:bookmarks[a:file][a:lnum].signid if has_key(s:bookmarks[a:file][a:lnum], 'vtextid') call bookmarks#vtext#delete(a:file, s:bookmarks[a:file][a:lnum].vtextid) endif unlet s:bookmarks[a:file][a:lnum] if empty(s:bookmarks[a:file]) unlet s:bookmarks[a:file] endif call bookmarks#cache#write(s:bookmarks) endif endfunction function! s:jump_to_bookmark(bookmark) abort let file = s:FILE.unify_path(expand('%'), ':p') if file !=# a:bookmark.file exe 'e ' . a:bookmark.file endif exe a:bookmark.lnum endfunction function! bookmarks#next() abort let file = s:FILE.unify_path(expand('%'), ':p') if has_key(s:bookmarks, file) && !empty(keys(s:bookmarks[file])) for lnum in sort(keys(s:bookmarks[file])) if lnum > line('.') call s:jump_to_bookmark(s:bookmarks[file][lnum]) return endif endfor " if all bookmarks < line('.') " jump to first bookmark call s:jump_to_bookmark(s:bookmarks[file][keys(s:bookmarks[file])[0]]) else call s:NT.notify('no bookmarks found') endif endfunction function! bookmarks#previous() abort let file = s:FILE.unify_path(expand('%'), ':p') if has_key(s:bookmarks, file) && !empty(keys(s:bookmarks[file])) for lnum in reverse(sort(keys(s:bookmarks[file]))) if lnum < line('.') call s:jump_to_bookmark(s:bookmarks[file][lnum]) return endif endfor " if all bookmarks > line('.') " jump to first bookmark call s:jump_to_bookmark(s:bookmarks[file][keys(s:bookmarks[file])[-1]]) else call s:NT.notify('no bookmarks found') endif endfunction function! bookmarks#showall() abort let qf = [] for [f, nrs] in items(s:bookmarks) for [nr, bm] in items(nrs) call add(qf, { \ 'filename' : f, \ 'lnum' : nr, \ 'text' : bm.text, \ }) endfor endfor call setqflist([], 'r', { \ 'title' : 'Bookmarks', \ 'items' : qf, \ }) botright copen endfunction function! bookmarks#on_enter_buffer() abort if get(b:, 'bookmarks_init', v:false) || empty(s:BUF.bufname()) || !empty(&buftype) return endif let file = s:FILE.unify_path(expand('%'), ':p') if has_key(s:bookmarks, file) for lnum in keys(s:bookmarks[file]) let s:bookmarks[file][lnum].signid = bookmarks#sign#add(file, lnum) if has_key(s:bookmarks[file][lnum], 'annotation') && !empty(s:bookmarks[file][lnum].annotation) call bookmarks#vtext#add(file, lnum, s:bookmarks[file][lnum].annotation) endif endfor endif let b:bookmarks_init = v:true endfunction function! bookmarks#clear() abort let file = s:FILE.unify_path(expand('%'), ':p') if has_key(s:bookmarks, file) for lnum in keys(s:bookmarks[file]) call bookmarks#delete(file, lnum) endfor endif call bookmarks#cache#write(s:bookmarks) endfunction ================================================ FILE: bundle/bookmarks.vim/doc/bookmarks.txt ================================================ *bookmarks.txt* bookmark plugin for neovim and vim. Eric Wong *bookmarks* ============================================================================== CONTENTS *bookmarks-contents* 1. Commands.............................................. |bookmarks-commands| ============================================================================== COMMANDS *bookmarks-commands* :BookmarkToggle *:BookmarkToggle* toggle bookmark of cursor position :BookmarkAnnotate *:BookmarkAnnotate* Add bookmark with annotation :BookmarkNext *:BookmarkNext* Jump to next bookmark in current buffer. :BookmarkPrev *:BookmarkPrev* Jump to previous bookmark in current buffer. :BookmarkClear *:BookmarkClear* clear all bookmarks in current buffer. :BookmarkShowAll *:BookmarkShowAll* show all bookmarks in quickfix windows. vim:tw=78:ts=8:ft=help:norl: ================================================ FILE: bundle/bookmarks.vim/plugin/bookmarks.vim ================================================ "" " toggle bookmark of cursor position command! BookmarkToggle call bookmarks#toggle() "" " Add bookmark with annotation command! BookmarkAnnotate call bookmarks#annotate() "" " Jump to next bookmark in current buffer. command! BookmarkNext call bookmarks#next() "" " Jump to previous bookmark in current buffer. command! BookmarkPrev call bookmarks#previous() "" " clear all bookmarks in current buffer. command! BookmarkClear call bookmarks#clear() "" " show all bookmarks in quickfix windows. command! BookmarkShowAll call bookmarks#showall() augroup bookmarks autocmd! autocmd BufEnter * call bookmarks#on_enter_buffer() autocmd BufLeave,VimLeave * call bookmarks#on_leave_buffer() augroup END ================================================ FILE: bundle/calendar.vim/.github/workflows/ci.yaml ================================================ name: CI on: push: branches: - master pull_request: jobs: test: name: Test runs-on: ubuntu-latest strategy: matrix: vim: - v8.2.0000 - v8.1.0000 - v8.0.0000 - v7.4 steps: - name: Checkout code uses: actions/checkout@v3 - name: Checkout vim-themis uses: actions/checkout@v3 with: repository: thinca/vim-themis path: vim-themis - name: Setup Vim uses: rhysd/action-setup-vim@v1 id: vim with: version: ${{ matrix.vim }} - name: Test env: THEMIS_VIM: ${{ steps.vim.outputs.executable }} run: ./vim-themis/bin/themis --reporter spec ================================================ FILE: bundle/calendar.vim/.gitignore ================================================ /doc/tags ================================================ FILE: bundle/calendar.vim/LICENSE ================================================ The MIT License (MIT) Copyright (c) 2013-2022 itchyny Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/calendar.vim/README.md ================================================ # A calendar application for Vim ### Vim meets a next generation application ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/image.png) Press E key to view the event list, and T key to view the task list. Also, press ? key to view a quick help. ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/views.png) ## Basic Usage :Calendar ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/image0.png) :Calendar 2000 1 1 ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/image1.png) :Calendar -view=year ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/image2.png) :Calendar -view=year -split=vertical -width=27 ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/image3.png) :Calendar -view=year -split=horizontal -position=below -height=12 ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/image4.png) :Calendar -first_day=monday ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/image5.png) :Calendar -view=clock ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/image6.png) You can switch between views with < and > keys. ![calendar.vim](https://raw.githubusercontent.com/wiki/itchyny/calendar.vim/image/frame.png) If you have a trouble like the above screenshot, add the following configuration to your vimrc. ```vim let g:calendar_frame = 'default' ``` ## Concept This is a calendar which is ... ### Comfortable The key mappings are designed to match the default mappings of Vim. ### Powerful The application can be connected to Google Calendar and used in your life. ### Elegant The appearance is carefully designed, dropping any unnecessary information. ### Interesting You can choose the calendar in Julian calendar or in Gregorian calendar. ### Useful To conclude, very useful. ## Author itchyny (https://github.com/itchyny) ## License This software is released under the MIT License, see LICENSE. ## Installation Install with your favorite plugin manager. ## Google Calendar and Google Task In order to view and edit calendars on Google Calendar, or task on Google Task, add the following configurations to your vimrc file. ```vim let g:calendar_google_calendar = 1 let g:calendar_google_task = 1 ``` It requires `wget` or `curl`. ### Important notice The default client key is not provided anymore and you will get the **Authorization Error**. You have to create your own Google API key and use for authentication with the following steps. - Create a new project in [GCP](https://cloud.google.com/) and go to [Google APIs](https://console.developers.google.com/apis/). - Click `ENABLE APIS AND SERVICES` add `Google Calendar API` and `Tasks API`. - Go to [Google APIs](https://console.developers.google.com/apis/) and click `OAuth consent screen` from the sidebar. - Choose `External` (Available to any user with a Google Account.) and click `CREATE`. - Input your favorite name to `Application name`. In the `Scopes for Google APIs` section, click `Add scope` and add `Google Calendar API ../auth/calendar` and `Task API ../auth/tasks`. - Click `Save` (DO NOT `Submit for verification`). - Go to the `Credentials` page from the sidebar. - Create a new API key and restrict key to the two APIs (`Google Calendar API`, `Tasks API`). - You have the api key. - Create a new `OAuth client ID`. Select `Desktop application` for the application type. - You have the client id and client secret. - Open your terminal and save the credentials. - `mkdir -p ~/.cache/calendar.vim/ && touch ~/.cache/calendar.vim/credentials.vim` - `chmod 700 ~/.cache/calendar.vim && chmod 600 ~/.cache/calendar.vim/credentials.vim` - `vi ~/.cache/calendar.vim/credentials.vim` - Add the following three lines and save it. Please be sure to keep this file securely. ```vim let g:calendar_google_api_key = '...' let g:calendar_google_client_id = '....apps.googleusercontent.com' let g:calendar_google_client_secret = '...' ``` - Add `source ~/.cache/calendar.vim/credentials.vim` to your .vimrc. - Restart Vim and open calendar.vim. You will get the unverified message but click `Advanced` and `Go to your-app (unsafe)`. - Approve against some confirms (maybe three clicks) and you will get the login code. Copy and paste it into the prompt of calendar.vim. Now you'll be authenticated to your application.. ## Terms of Use Under no circumstances we are liable for any damages (including but not limited to damages for loss of business, loss of profits, interruption or the like) arising from use of this software. This software deals with your events and tasks. We are not liable for any circumstances; leakage of trade secrets due to the cache files of this software, loss of important events and tasks due to any kind of bugs and absence from important meetings due to any kind of failures of this software. This software downloads your events from Google Calendar, and your tasks from Google Task. DO NOT use this software with important events and tasks. This software downloads your events or tasks to the cache directory. Please be careful with the cache directory; DO NOT share the directory with any cloud storage softwares. This software also uploads your events and tasks to Google APIs. While it uses https, but DO NOT use this software for confidential matters. This software NEVER uploads your events and tasks to any other server except Google's. However, if `wget` or `curl` command are replaced with malicious softwares, your events or tasks can be uploaded to other sites. Please use the official softwares for the commands. ================================================ FILE: bundle/calendar.vim/autoload/calendar/argument.vim ================================================ " ============================================================================= " Filename: autoload/calendar/argument.vim " Author: itchyny " License: MIT License " Last Change: 2020/10/17 01:28:50. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Deal with argument for the :Calendar command. let s:calendars = filter(map(split(globpath(&rtp, 'autoload/calendar/day/**.vim'), '\n'), \ "substitute(v:val, '.*/\\|.vim', '', 'g')"), \ 'v:val !~# "^\(default\\|gregorian\\|julian\)$"') let s:all_value_options = { \ '-year': [], \ '-month': [], \ '-day': [], \ '-locale': [ 'default', 'en', 'ja' ], \ '-calendar': ['default', 'gregorian', 'julian'] + sort(s:calendars), \ '-calendar_candidates': [], \ '-first_day': [ 'sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday' ], \ '-time_zone': map(range(-12, 12), 'printf("%+03d00", v:val)'), \ '-date_endian': [ 'little', 'big', 'middle' ], \ '-date_separator': [ '/', '-', '.', '" "' ], \ '-event_start_time_minwidth': [], \ '-cache_directory': [], \ '-updatetime': [], \ '-view': [ 'year', 'month', 'week', 'days', 'day', 'clock', 'event', 'agenda' ], \ '-frame': [ 'default', 'unicode', 'space', 'unicode_bold', 'unicode_round', 'unicode_double' ], \ '-position': [ 'here', 'below', 'tab', 'left', 'right', 'topleft', 'topright' ], \ '-split': [ 'horizontal', 'vertical' ], \ '-width': [], \ '-height': [], \ '-message_prefix': [], \ '-task_width': [], \ } let s:all_novalue_options = [ \ '-google_calendar', \ '-google_task', \ '-date_month_name', \ '-date_full_month_name', \ '-cyclic_view', \ '-task', \ '-event_start_time', \ '-skip_event_delete_confirm', \ '-skip_task_delete_confirm', \ '-skip_task_clear_completed_confirm', \ '-yank_deleting', \ '-task_delete', \ '-clock_12hour', \ '-week_number', \ '-debug' ] let s:value_options = deepcopy(s:all_value_options) let s:novalue_options = deepcopy(s:all_novalue_options) if has_key(g:, 'calendar_hide_options') && type(g:calendar_hide_options) == type([]) && len(g:calendar_hide_options) for s:k in g:calendar_hide_options if has_key(s:value_options, s:k) unlet s:value_options[s:k] elseif has_key(s:value_options, '-' . s:k) unlet s:value_options['-' . s:k] endif let s:i = index(s:novalue_options, s:k) if s:i >= 0 call remove(s:novalue_options, s:i) endif let s:i = index(s:novalue_options, '-' . s:k) if s:i >= 0 call remove(s:novalue_options, s:i) endif endfor unlet s:k s:i endif let s:options = copy(s:novalue_options) + map(keys(deepcopy(s:value_options)), 'v:val . "="') let s:all_options = copy(s:novalue_options) for [s:key, s:val] in items(deepcopy(s:value_options)) call extend(s:all_options, map(s:val, 's:key . "=" . v:val')) endfor unlet s:key s:val " Completion function. function! calendar#argument#complete(arglead, cmdline, cursorpos) abort try for key in keys(s:value_options) if a:cmdline =~# key if a:cmdline =~# key . '=$' return &wildmode =~# 'full' \ ? map(copy(s:value_options[key]), 'key . "=" . v:val') \ : copy(s:value_options[key]) elseif a:cmdline =~# key . '=\S\+$' let lead = '^' . substitute(a:cmdline, '.*=', '', '') let list = filter(copy(s:value_options[key]), 'v:val =~# lead') if !len(list) let lead = substitute(a:cmdline, '.*=', '', '') let list = filter(copy(s:value_options[key]), 'v:val =~# lead') endif let arglead = substitute(a:arglead, '=.*', '=', '') return map(list, 'arglead . v:val') endif endif endfor let s:options = copy(s:novalue_options) \ + map(keys(deepcopy(s:value_options)), &wildmode =~# 'full' ? 'v:val' : 'v:val . "="') let options = copy(s:options) if a:arglead != '' let options = sort(filter(copy(s:options), 'stridx(v:val, a:arglead) != -1')) if len(options) == 0 let arglead = substitute(a:arglead, '^-\+', '', '') let options = sort(filter(copy(s:options), 'stridx(v:val, arglead) != -1')) if len(options) == 0 try let argl = substitute(a:arglead, '\(.\)', '.*\1', 'g') . '.*' let options = sort(filter(copy(s:options), 'v:val =~? argl')) if len(options) == 0 let options = sort(filter(copy(s:all_options), 'stridx(v:val, arglead) != -1')) endif catch let options = copy(s:options) endtry endif endif endif return sort(filter(options, 'stridx(a:cmdline, v:val) == -1')) catch return s:options endtry endfunction " Splitting the argument. " This function deals with quotes. function! calendar#argument#split(args) abort let args = [''] let quoteflag = 0 let quote = '' for i in range(len(a:args)) if a:args[i] ==# ' ' if quoteflag let args[-1] .= a:args[i] elseif args[-1] !=# '' call add(args, '') endif elseif (a:args[i] ==# '"' || a:args[i] ==# "'") if quoteflag && quote ==# a:args[i] call add(args, '') let quoteflag = 0 let quote = '' elseif quoteflag let args[-1] .= a:args[i] else let quoteflag = 1 let quote = a:args[i] endif else let args[-1] .= a:args[i] endif endfor return filter(args, 'len(v:val)') endfunction " Option parsing and constructing the buffer-creating command. function! calendar#argument#parse(args) abort let args = calendar#argument#split(a:args) let isnewbuffer = bufname('%') != '' || &l:filetype != '' || &modified let name = " `='" . calendar#argument#buffername('calendar') . "'`" let command = 'tabnew' let commandprefix = '' let addname = 1 let ymd = [] let variables = {} let [width, height] = [-1, -1] let [arg_year, flg_year] = [0, 0] let [arg_month, flg_month] = [0, 0] let [arg_day, flg_day] = [0, 0] let flg_ymd = 0 for arg in args let novalue = 0 if arg !~# '=' && arg !~# '^\d\+$' if index(s:novalue_options, substitute(arg, '!$', '', '')) >= 0 let bang = arg =~# '!$' let arg = substitute(arg, '!$', '', '') . '=' . (!bang) let novalue = 1 else let pat = substitute(substitute(arg, '^-', '=', ''), '!$', '', '') . '$' let opts = filter(copy(s:all_options), 'v:val =~# pat') let bang = arg =~# '!$' ? '!' : '' if len(opts) == 1 let arg = opts[0] . bang elseif len(opts) > 1 call calendar#echo#error(calendar#message#get('multiple_argument') . ': ' . join(opts, ', ')) endif endif endif if arg =~# '=' let optvar = split(arg, '=') if len(optvar) == 2 && (has_key(s:value_options, optvar[0]) || novalue) let option = substitute(optvar[0], '^-\+', '', '') if option ==# 'position' if optvar[1] ==# 'here' let command = 'try | edit' . name . ' | catch | tabnew' . name . ' | endtry' let addname = 0 elseif optvar[1] ==# 'here!' let command = 'edit!' elseif optvar[1] ==# 'below' if command ==# 'tabnew' let command = 'new' endif let commandprefix = 'below ' let isnewbuffer = 1 elseif index(['left', 'right', 'topleft', 'topright'], optvar[1]) >= 0 if command ==# 'tabnew' let command = 'vnew' endif let commandprefix = optvar[1] ==# 'left' ? 'leftabove ' \ : optvar[1] ==# 'right' ? 'rightbelow ' \ : optvar[1] ==# 'topleft' ? 'topleft ' \ : optvar[1] ==# 'topright' ? 'botright ' \ : '' let isnewbuffer = 1 elseif optvar[1] ==# 'tab' let command = 'tabnew' let isnewbuffer = 1 endif elseif option ==# 'split' if optvar[1] ==# 'horizontal' let command = 'new' let isnewbuffer = 1 elseif optvar[1] ==# 'vertical' let command = 'vnew' let isnewbuffer = 1 endif elseif option ==# 'width' let width = optvar[1] + 0 elseif option ==# 'height' let height = optvar[1] + 0 elseif option ==# 'year' let [arg_year, flg_year, flg_ymd] = [optvar[1], 1, 1] elseif option ==# 'month' let [arg_month, flg_month, flg_ymd] = [optvar[1], 1, 1] elseif option ==# 'day' let [arg_day, flg_day, flg_ymd] = [optvar[1], 1, 1] endif let variables[option] = optvar[1] endif elseif arg =~# '^\d\+$' call add(ymd, arg) endif endfor if command ==# 'new' && height > 0 let command = height . ' ' . command elseif command ==# 'vnew' && width > 0 let command = width . ' ' . command endif let cmd1 = 'keepalt '. commandprefix . command . (addname ? name : '') let cmd2 = 'keepalt edit' . name let command = 'if isnewbuffer | ' . cmd1 . ' | else | ' . cmd2 . '| endif' if flg_ymd let ymd = [arg_year, arg_month, arg_day, flg_year, flg_month, flg_day] endif return [isnewbuffer, command, variables, ymd] endfunction " :Calendar [year month day] " The order is properly dealt with based on the endian setting. function! calendar#argument#day(day, default) abort let [y, m, d] = a:default let l = len(a:day) let endian = calendar#setting#get('date_endian') if l == 1 let day0 = a:day[0] * 1 if 0 < day0 && day0 < 13 let [m, d] = [day0, 1] else let [y, m, d] = [day0, 1, 1] endif elseif l == 2 let [day0, day1] = [a:day[0] * 1, a:day[1] * 1] if 0 < day0 && day0 < 13 && 0 < day1 && day1 < 32 && (endian ==# 'big' || endian ==# 'middle') let [m, d] = [day0, day1] elseif 0 < day0 && day0 < 32 && 0 < day1 && day1 < 13 && (endian ==# 'little') let [m, d] = [day1, day0] elseif 0 < day1 && day1 < 13 && endian ==# 'big' let [y, m, d] = [day0, day1, 1] elseif 0 < day0 && day0 < 13 && (endian ==# 'middle' || endian ==# 'little') let [y, m, d] = [day1, day0, 1] endif elseif l == 3 if endian ==# 'big' let [y, m, d] = [a:day[0] * 1, a:day[1] * 1, a:day[2] * 1] elseif endian ==# 'middle' let [m, d, y] = [a:day[0] * 1, a:day[1] * 1, a:day[2] * 1] else let [d, m, y] = [a:day[0] * 1, a:day[1] * 1, a:day[2] * 1] endif elseif l == 6 if a:day[3] | let y = a:day[0] | endif if a:day[4] | let m = a:day[1] | endif if a:day[5] | let d = a:day[2] | endif endif return calendar#day#new(y, m, d) endfunction " Decision of the buffer name. function! calendar#argument#buffername(name) abort let buflist = [] for i in range(tabpagenr('$')) call extend(buflist, tabpagebuflist(i + 1)) endfor let matcher = 'bufname(v:val) =~# ("\\[" . a:name . "\\( \\d\\+\\)\\?\\]") && index(buflist, v:val) >= 0' let substituter = 'substitute(bufname(v:val), ".*\\(\\d\\+\\).*", "\\1", "") + 0' let bufs = map(filter(range(1, bufnr('$')), matcher), substituter) let i = 0 while index(bufs, i) >= 0 let i += 1 endwhile return '[' . a:name . (len(bufs) && i ? ' ' . i : '') . ']' endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/async.vim ================================================ " ============================================================================= " Filename: autoload/calendar/async.vim " Author: itchyny " License: MIT License " Last Change: 2016/11/27 09:07:11. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:use_timer = has('timers') && (v:version >= 800 || has('nvim')) " Register a command to be executed asyncronously. Commands are executed using " - timers if available " - CursorHold recursion otherwise " Optional argument: Allow duplication of commands. function! calendar#async#new(command, ...) abort if !exists('b:calendar_async') let b:calendar_async = [] endif if len(b:calendar_async) == 0 if s:use_timer call timer_start(200, 'calendar#async#call') execute 'augroup CalendarAsync' . bufnr('') autocmd! autocmd BufEnter,WinEnter call calendar#async#call() augroup END else execute 'augroup CalendarAsync' . bufnr('') autocmd! autocmd CursorHold call calendar#async#call() autocmd BufEnter call calendar#async#set_updatetime() autocmd BufLeave call calendar#async#restore_updatetime() call calendar#async#set_updatetime() augroup END endif endif let i = 0 for [c, num, dup] in b:calendar_async if c ==# a:command let i += 1 if i > 2 * (a:0 && a:1) || !a:0 return endif endif endfor call add(b:calendar_async, [a:command, 0, a:0 && a:1]) endfunction " Set updatetime for the calendar buffer. function! calendar#async#set_updatetime() abort if !has_key(b:, 'calendar_set_updatetime') || !b:calendar_set_updatetime let s:updatetime = &updatetime let &updatetime = calendar#setting#get('updatetime') endif let b:calendar_set_updatetime = 1 endfunction " Restore updatetime. function! calendar#async#restore_updatetime() abort if has_key(s:, 'updatetime') let &updatetime = s:updatetime endif let b:calendar_set_updatetime = 0 endfunction " Execute the registered commands. " Ignore the timer argument (optional for CursorHold recursion). function! calendar#async#call(...) abort if !exists('b:calendar_async') return endif if !s:use_timer && exists('b:calendar_async_reltime') && has('reltime') let time = split(split(reltimestr(reltime(b:calendar_async_reltime)))[0], '\.') if time[0] ==# '0' && len(time[1]) && time[1][0] ==# '0' silent call feedkeys(mode() ==# 'i' ? "\\" : "g\" . (v:count ? v:count : ''), 'n') return endif endif let del = [] let done = {} let cnt = 0 let len = len(b:calendar_async) for i in range(len) let expression = b:calendar_async[i][0] if has_key(done, expression) call add(del, i) continue endif if cnt > 1 && !b:calendar_async[i][2] continue endif let done[expression] = 1 let cnt += 1 let ret = eval(expression) let b:calendar_async[i][1] += 1 if !ret || b:calendar_async[i][1] > 100 call add(del, i) endif endfor for i in reverse(del) call remove(b:calendar_async, i) endfor if !s:use_timer && has('reltime') let b:calendar_async_reltime = reltime() endif if len(b:calendar_async) if s:use_timer call timer_start(200, 'calendar#async#call') else silent call feedkeys(mode() ==# 'i' ? "\\" : "g\" . (v:count ? v:count : ''), 'n') endif else execute 'autocmd! CalendarAsync' . bufnr('') if !s:use_timer call calendar#async#restore_updatetime() endif endif endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/autocmd.vim ================================================ " ============================================================================= " Filename: autoload/calendar/autocmd.vim " Author: itchyny " License: MIT License " Last Change: 2016/09/20 22:09:40. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Autocmd commands. function! calendar#autocmd#new() abort if &l:filetype ==# 'calendar' return endif augroup CalendarAutoUpdate autocmd! " Update a visible calendar buffer. autocmd BufEnter,BufWritePost,VimResized * \ silent! call s:update_visible(expand(''), 0) autocmd ColorScheme * \ silent! call s:update_visible(expand(''), 1) augroup END augroup CalendarBuffer " When colorscheme is changed, all the calendar syntax groups will be gone. " So set the filetype forcibly and load the syntax file again. autocmd ColorScheme \ silent! call calendar#setlocal#filetype_force() | \ silent! call calendar#color#refresh_syntax() " On entering the buffer, update the calendar. autocmd BufEnter,WinEnter,ColorScheme \ silent! call calendar#revive() | \ silent! call b:calendar.update() " On entering the buffer, fire CursorHold to update the clock. autocmd BufEnter,WinEnter \ silent! doautocmd CursorHold " On resizing the Vim window, check the window size and update if it is changed. autocmd VimResized,CursorHold \ silent! call b:calendar.update_if_resized() " When the cursor is moved, update the cursor appropriately. " In mapping.vim, 'gg' is mapped to '(calendar_first_line)' on default. " However, if we press 'g' and 'g' slowly, '(calendar_first_line)' will " not be triggered. Pressing 'g' and '$' slowly also causes the same situation. " To avoid this, check the cursor position on CursorMoved and move the cursor " to the proper position. autocmd CursorMoved \ silent! call b:calendar.cursor_moved() augroup END endfunction " Search the calendar buffer and updates. function! s:update_visible(bufnr, is_colorscheme) abort try let nr = -1 let newnr = str2nr(a:bufnr) if bufname(newnr) ==# '[Command Line]' return endif for buf in tabpagebuflist() if type(getbufvar(buf, 'calendar')) == type({}) && buf != newnr let nr = buf break endif endfor if nr == -1 | return | endif let winnr = bufwinnr(nr) let newbuf = bufwinnr(str2nr(a:bufnr)) let currentbuf = bufwinnr(bufnr('%')) noautocmd execute winnr 'wincmd w' if a:is_colorscheme silent! call calendar#setlocal#filetype_force() silent! call calendar#color#refresh_syntax() endif silent! call b:calendar.update_force() if winnr != newbuf && newbuf != -1 call cursor(1, 1) noautocmd execute newbuf 'wincmd w' elseif winnr != currentbuf && currentbuf != -1 call cursor(1, 1) noautocmd execute currentbuf 'wincmd w' endif catch endtry endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/cache.vim ================================================ " ============================================================================= " Filename: autoload/calendar/cache.vim " Author: itchyny " License: MIT License " Last Change: 2020/11/20 00:09:42. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Cache object. function! calendar#cache#new(...) abort let self = copy(s:self) let self.subpath = a:0 ? a:1 : '' let self.subpath .= len(self.subpath) && self.subpath[len(self.subpath) - 1] !~ '^[/\\]$' ? '/' : '' call s:setfperm_dir(self.dir()) return self endfunction function! calendar#cache#clear() abort for path in s:clearpath call calendar#util#rmdir(path, 'rf') endfor endfunction let s:clearpath = [] augroup CalendarCache autocmd! autocmd VimLeavePre * call calendar#cache#clear() augroup END let s:self = {} function! s:self.new(...) dict abort return calendar#cache#new(self.subpath . (a:0 ? self.escape(a:1) : '')) endfunction function! s:self.escape(key) dict abort return substitute(a:key, '[^a-zA-Z0-9_.-]', '\=printf("%%%02X",char2nr(submatch(0)))', 'g') endfunction if has('win32') function! s:self.dir() dict abort return substitute(substitute(s:expand_homedir(calendar#setting#get('cache_directory')), '[/\\]$', '', '') . '/' . self.subpath, '/', '\', 'g') endfunction else function! s:self.dir() dict abort return substitute(s:expand_homedir(calendar#setting#get('cache_directory')), '[/\\]$', '', '') . '/' . self.subpath endfunction endif function! s:expand_homedir(path) abort if a:path !~# '^[~]/' return a:path endif return expand('~') . a:path[1:] endfunction function! s:self.path(key) dict abort return self.dir() . self.escape(a:key) endfunction function! s:self.rmdir_on_exit() dict abort call add(s:clearpath, self.dir()) endfunction function! s:self.check_dir(...) dict abort let dir = self.dir() if !get(a:000, 0) return !isdirectory(dir) endif if !isdirectory(dir) try if exists('*mkdir') call mkdir(dir, 'p') else call calendar#util#system('mkdir -p ' . shellescape(dir)) endif call s:setfperm(dir) catch endtry endif if !isdirectory(dir) call calendar#echo#error(calendar#message#get('mkdir_fail') . ': ' . dir) return 1 endif endfunction function! s:self.save(key, val) dict abort if self.check_dir(1) return 1 endif let path = self.path(a:key) if filereadable(path) && !filewritable(path) call calendar#echo#error(calendar#message#get('cache_file_unwritable') . ': ' . path) return 1 endif try call writefile(calendar#cache#string(a:val), path) call s:setfperm_file(path) catch call calendar#echo#error(calendar#message#get('cache_write_fail') . ': ' . path) return 1 endtry endfunction function! s:self.get(key) dict abort if self.check_dir() return 1 endif let path = self.path(a:key) if filereadable(path) call s:setfperm_file(path) let result = readfile(path) try if len(result) if exists('*js_decode') && has('patch-8.0.0216') return js_decode(len(result) > 1 ? join(result, '') : result[0]) endif sandbox return eval(join(result, '')) else return 1 endif catch return 1 endtry else return 1 endif endfunction function! s:self.get_raw(key) dict abort if self.check_dir() return 1 endif let path = self.path(a:key) if filereadable(path) call s:setfperm_file(path) return readfile(path) else return 1 endif endfunction function! s:self.delete(key) dict abort if self.check_dir() return 1 endif let path = self.path(a:key) return delete(path) endfunction function! s:self.clear() dict abort call calendar#util#rmdir(self.dir(), 'rf') endfunction if exists('*json_encode') function! calendar#cache#string(v) abort return [json_encode(a:v)] endfunction else " string() with making newlines and indents properly. function! calendar#cache#string(v, ...) abort let r = [] let f = 1 let s = a:0 ? a:1 : '' if type(a:v) == type([]) call add(r, '[ ') let s .= ' ' for i in range(len(a:v)) call add(r, s . string(a:v[i]) . ',') endfor if r[-1][len(r[-1]) - 1] ==# ',' let r[-1] = r[-1][:-2] endif call add(r, ' ]') elseif type(a:v) == type({}) call add(r, '{ ') let s .= ' ' for k in keys(a:v) if type(a:v[k]) == type({}) || type(a:v[k]) == type([]) && len(a:v[k]) > 2 let result = calendar#cache#string(a:v[k], s . repeat(' ', len(string(k)) + 2)) let result[-1] .= ',' call add(r, s . string(k) . ': ' . result[0]) call remove(result, 0) call extend(r, result) else call add(r, s . string(k) . ': ' . string(a:v[k]) . ',') endif endfor if r[-1][len(r[-1]) - 1] ==# ',' let r[-1] = r[-1][:-2] endif call add(r, ' }') else call add(r, s . string(a:v)) let f = 0 endif if f if len(r[1]) > len(s) + 1 let r[1] = r[1][len(s):] endif let r[0] .= r[1] call remove(r, 1) if len(r) > 1 let r[-2] .= r[-1] call remove(r, -1) endif endif return r endfunction endif if exists('*getfperm') && exists('*setfperm') function! s:setfperm_dir(dir) abort let expected = 'rwx------' if getfperm(a:dir) !=# expected call setfperm(a:dir, expected) endif endfunction function! s:setfperm_file(path) abort let expected = 'rw-------' if getfperm(a:path) !=# expected call setfperm(a:path, expected) endif endfunction else function! s:setfperm_dir(dir) abort endfunction function! s:setfperm_file(path) abort endfunction endif let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/cipher.vim ================================================ " ============================================================================= " Filename: autoload/calendar/cipher.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:25:35. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Caesar cipher functions. " This DOES NOT encrypt a message into a code difficult to revive the " original message. This module is used for the client id and api key of " the default google client in setting.vim, because I don't want to save " the keys in raw strings, which can be extracted easily. " Reference: http://en.wikipedia.org/wiki/Caesar_cipher function! calendar#cipher#cipher(val, num) abort if type(a:val) == type('') return s:cipher(a:val, a:num) elseif type(a:val) == type(0) return s:cipher(a:val . '', a:num) elseif type(a:val) == type([]) return map(a:val, 'calendar#cipher#cipher(v:val, a:num)') elseif type(a:val) == type({}) let ret = {} for key in keys(a:val) let ret[key] = calendar#cipher#cipher(a:val[key], a:num) endfor return ret endif endfunction function! calendar#cipher#decipher(val, num) abort return calendar#cipher#cipher(a:val, - a:num) endfunction function! s:cipher(str, num) abort let ret = '' let r = range(len(a:str)) for i in r let nr = char2nr(a:str[i]) if 32 <= nr && nr < 127 let nr = nr + a:num - 32 while nr < 0 let nr += 127 - 32 endwhile let nr = nr % (127 - 32) + 32 let ret .= nr2char(nr) else return '' endif endfor return ret endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/color.vim ================================================ " ============================================================================= " Filename: autoload/calendar/color.vim " Author: itchyny " License: MIT License " Last Change: 2019/07/30 22:37:29. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Color utility let s:is_gui = has('gui_running') || (has('termguicolors') && &termguicolors) let s:is_cterm = !s:is_gui let s:is_win32cui = has('win32') && !s:is_gui let s:term = s:is_gui ? 'gui' : 'cterm' let s:is_dark = -1 let s:colors_name = '' let s:background = '' " &background is not useful on non-GUI environment when colorscheme executes :highlight Normal ctermbg=23X. " ref: syntax.c /set_option_value function! calendar#color#is_dark() abort if s:is_dark >= 0 && s:colors_name ==# get(g:, 'colors_name', '') && s:background ==# &background return s:is_dark endif let s:colors_name = get(g:, 'colors_name', '') let s:background = &background if s:is_gui let s:is_dark = &background ==# 'dark' return s:is_dark endif let bg_color = synIDattr(synIDtrans(hlID('Normal')), 'bg', s:term) if bg_color !=# '' let [r, g, b] = calendar#color#nr_rgb(bg_color) let s:is_dark = r + g + b < 7 || 232 <= bg_color && bg_color <= 243 return s:is_dark endif let fg_color = synIDattr(synIDtrans(hlID('Normal')), 'fg', s:term) if fg_color !=# '' let [r, g, b] = calendar#color#nr_rgb(fg_color) let s:is_dark = r + g + b > 8 || 244 <= fg_color return s:is_dark endif let bg_color = synIDattr(synIDtrans(hlID('Normal')), 'bg', 'gui') if bg_color =~# '^#......$' let s:is_dark = s:is_dark_color(bg_color) return s:is_dark endif let fg_color = synIDattr(synIDtrans(hlID('Normal')), 'fg', 'gui') if fg_color =~# '^#......$' let s:is_dark = s:is_light_color(fg_color) return s:is_dark endif let s:is_dark = &background ==# 'dark' return s:is_dark endfunction function! calendar#color#new_syntax(id, fg, bg) abort if has_key(b:, 'calendar') if !has_key(b:calendar, 'syntaxnames') let b:calendar.syntaxnames = [] endif let syntaxnames = b:calendar.syntaxnames if !has_key(b:calendar, 'syntax') let b:calendar.syntax = {} endif let b:calendar.syntax[a:id] = [a:id, a:fg, a:bg] else let syntaxnames = [] endif let name = s:shorten(substitute(a:id, '[^a-zA-Z0-9]', '', 'g')) if len(name) && len(a:fg) && len(a:bg) if index(syntaxnames, name) >= 0 return name endif let flg = 0 let is_dark = calendar#color#is_dark() if is_dark && s:is_dark_color(a:fg) || !is_dark && s:is_light_color(a:fg) let flg = 1 let [fg, bg] = [a:bg, ''] else let [fg, bg] = [a:fg, a:bg] endif let cuifg = calendar#color#convert(fg) let cuibg = calendar#color#convert(bg) if flg let _bg = bg let _cuibg = cuibg else let _bg = calendar#color#whiten(bg) let _cuibg = calendar#color#convert(_bg) endif if cuifg >= 0 if index(syntaxnames, name) < 0 call add(syntaxnames, name) endif if _cuibg >= 0 exec 'highlight Calendar' . name . ' ctermfg=' . cuifg . ' ctermbg=' . _cuibg . ' guifg=' . fg . ' guibg=' . _bg else exec 'highlight Calendar' . name . ' ctermfg=' . cuifg . ' guifg=' . fg endif let select_bg = s:select_color() if type(select_bg) == type('') || select_bg >= 0 let nameselect = name . 'Select' if index(syntaxnames, nameselect) < 0 call add(syntaxnames, nameselect) endif if s:is_gui exec 'highlight Calendar' . nameselect . ' guifg=' . fg . ' guibg=' . (flg ? select_bg : bg) else exec 'highlight Calendar' . nameselect . ' ctermfg=' . cuifg . ' ctermbg=' . (flg ? select_bg : cuibg) endif endif endif return name endif return '' endfunction function! calendar#color#refresh_syntax() abort if !has_key(b:, 'calendar') || !has_key(b:calendar, 'syntaxnames') || !has_key(b:calendar, 'syntax') return endif let b:calendar.syntaxnames = [] for [id, fg, bg] in values(b:calendar.syntax) call calendar#color#new_syntax(id, fg, bg) endfor endfunction function! calendar#color#convert(rgb) abort let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)') if len(rgb) == 0 return -1 endif if rgb[0] == 0xc0 && rgb[1] == 0xc0 && rgb[2] == 0xc0 return 7 elseif rgb[0] == 0x80 && rgb[1] == 0x80 && rgb[2] == 0x80 return 8 elseif s:is_win32cui if rgb[0] > 127 && rgb[1] > 127 && rgb[2] > 127 let min = 0 for r in rgb let min = min([min, r]) endfor let rgb[index(rgb, min)] -= 127 endif let newrgb = [rgb[0] > 0xa0 ? 4 : 0, rgb[1] > 0xa0 ? 2 : 0, rgb[2] > 0xa0 ? 1 : 0] return newrgb[0] + newrgb[1] + newrgb[2] + (rgb[0] > 196 || rgb[1] > 196 || rgb[2] > 196) * 8 elseif (rgb[0] == 0x80 || rgb[0] == 0x00) && (rgb[1] == 0x80 || rgb[1] == 0x00) && (rgb[2] == 0x80 || rgb[2] == 0x00) return (rgb[0] / 0x80) + (rgb[1] / 0x80) * 2 + (rgb[1] / 0x80) * 4 elseif (rgb[0]-rgb[1] >= 0 ? rgb[0]-rgb[1] : -(rgb[0]-rgb[1])) < 3 \ && (rgb[1]-rgb[2] >= 0 ? rgb[1]-rgb[2] : -(rgb[1]-rgb[2])) < 3 \ && (rgb[2]-rgb[0] >= 0 ? rgb[2]-rgb[0] : -(rgb[2]-rgb[0])) < 3 return s:black((rgb[0] + rgb[1] + rgb[2]) / 3) else return 16 + ((s:nr(rgb[0]) * 6) + s:nr(rgb[1])) * 6 + s:nr(rgb[2]) endif endfunction function! calendar#color#whiten(rgb) abort let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)') if len(rgb) == 0 return -1 endif return printf('#%02x%02x%02x', min([rgb[0] + 0x36, 0xff]), min([rgb[1] + 0x36, 0xff]), min([rgb[2] + 0x36, 0xff])) endfunction function! s:black(x) abort if a:x < 0x04 return 16 elseif a:x > 0xf4 return 231 elseif index([0x00, 0x5f, 0x87, 0xaf, 0xdf, 0xff], a:x) >= 0 let l = a:x / 0x30 return ((l * 6) + l) * 6 + l + 16 else return 232 + (a:x < 8 ? 0 : a:x < 0x60 ? (a:x-8)/10 : a:x < 0x76 ? (a:x-0x60)/6+9 : (a:x-8)/10) endif endfunction function! s:nr(x) abort return a:x < 0x2f ? 0 : a:x < 0x73 ? 1 : a:x < 0x9b ? 2 : a:x < 0xc7 ? 3 : a:x < 0xef ? 4 : 5 endfunction function! s:is_dark_color(rgb) abort let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)') return len(rgb) == 3 && rgb[0] < 0x2f && rgb[1] < 0x2f && rgb[2] < 0x2f endfunction function! s:is_light_color(rgb) abort let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)') return len(rgb) == 3 && rgb[0] > 0xd0 && rgb[1] > 0xd0 && rgb[2] > 0xd0 endfunction function! calendar#color#gui_color() abort if has_key(s:, '_gui_color') | return s:_gui_color | endif let s:_gui_color = { \ 'black' : '#000000', \ 'white' : '#ffffff', \ \ 'darkestgreen' : '#005f00', \ 'darkgreen' : '#008700', \ 'mediumgreen' : '#5faf00', \ 'brightgreen' : '#afdf00', \ \ 'darkestcyan' : '#005f5f', \ 'mediumcyan' : '#87dfff', \ \ 'darkestblue' : '#005f87', \ 'darkblue' : '#0087af', \ \ 'darkestred' : '#5f0000', \ 'darkred' : '#870000', \ 'mediumred' : '#af0000', \ 'brightred' : '#df0000', \ 'brightestred' : '#ff0000', \ \ 'darkestpurple' : '#5f00af', \ 'mediumpurple' : '#875fdf', \ 'brightpurple' : '#dfdfff', \ \ 'brightorange' : '#ff8700', \ 'brightestorange': '#ffaf00', \ \ 'gray0' : '#121212', \ 'gray1' : '#262626', \ 'gray2' : '#303030', \ 'gray3' : '#4e4e4e', \ 'gray4' : '#585858', \ 'gray5' : '#606060', \ 'gray6' : '#808080', \ 'gray7' : '#8a8a8a', \ 'gray8' : '#9e9e9e', \ 'gray9' : '#bcbcbc', \ 'gray10' : '#d0d0d0', \ \ 'yellow' : '#b58900', \ 'orange' : '#cb4b16', \ 'red' : '#dc322f', \ 'magenta' : '#d33682', \ 'violet' : '#6c71c4', \ 'blue' : '#268bd2', \ 'cyan' : '#2aa198', \ 'green' : '#859900', \ } return s:_gui_color endfunction function! calendar#color#to_256color(nr, fg) abort if a:nr == 0 || a:nr == 16 return 232 elseif a:nr == 15 || a:nr == 231 return 255 elseif a:nr < 16 if a:fg return calendar#color#is_dark() ? 255 : 232 else return calendar#color#is_dark() ? 232 : 255 endif else return a:nr endif endfunction function! calendar#color#fg_color(syntax_name) abort let color = synIDattr(synIDtrans(hlID(a:syntax_name)), 'fg', s:term) return s:is_gui ? color : calendar#color#to_256color((len(color) == 0 ? -1 : color) + 0, 1) endfunction function! calendar#color#bg_color(syntax_name) abort let color = synIDattr(synIDtrans(hlID(a:syntax_name)), 'bg', s:term) return s:is_gui ? color : calendar#color#to_256color((len(color) == 0 ? -1 : color) + 0, 0) endfunction function! calendar#color#normal_fg_color() abort if s:is_win32cui if calendar#color#is_dark() return 15 else return 0 endif endif let fg_color = calendar#color#fg_color('Normal') if s:is_cterm && type(fg_color) == type(0) && fg_color < 0 if calendar#color#is_dark() return 255 else return 232 endif endif return fg_color endfunction function! calendar#color#normal_bg_color() abort if s:is_win32cui if calendar#color#is_dark() return 0 else return 15 endif endif let bg_color = calendar#color#bg_color('Normal') if s:is_cterm && type(bg_color) == type(0) && bg_color < 0 if calendar#color#is_dark() return 232 else return 255 endif endif return bg_color endfunction function! calendar#color#comment_fg_color() abort if s:is_win32cui return 7 endif let fg_color = calendar#color#fg_color('Comment') if s:is_cterm && type(fg_color) == type(0) && fg_color < 0 if calendar#color#is_dark() return 244 else return 243 endif endif return fg_color endfunction function! calendar#color#comment_bg_color() abort if s:is_win32cui if calendar#color#is_dark() return 0 else return 15 endif endif let bg_color = calendar#color#bg_color('Comment') if s:is_cterm && type(bg_color) == type(0) && bg_color < 0 if calendar#color#is_dark() return 232 else return 255 endif endif return bg_color endfunction function! calendar#color#nr_rgb(nr) abort let x = a:nr * 1 if x < 8 let [b, rg] = [x / 4, x % 4] let [g, r] = [rg / 2, rg % 2] return [r * 3, g * 3, b * 3] elseif x == 8 return [4, 4, 4] elseif x < 16 let y = x - 8 let [b, rg] = [y / 4, y % 4] let [g, r] = [rg / 2, rg % 2] return [r * 5, g * 5, b * 5] elseif x < 232 let y = x - 16 let [rg, b] = [y / 6, y % 6] let [r, g] = [rg / 6, rg % 6] return [r, g, b] else let k = (x - 232) * 5 / 23 return [k, k, k] endif endfunction if s:is_win32cui function! calendar#color#gen_color(fg, bg, weightfg, weightbg) abort return a:weightfg > a:weightbg ? a:fg : a:bg endfunction elseif s:is_cterm function! calendar#color#gen_color(fg, bg, weightfg, weightbg) abort let fg = a:fg < 0 ? (s:is_dark ? 255 : 232) : a:fg let bg = a:bg < 0 ? (s:is_dark ? 232 : 255) : a:bg let fg_rgb = calendar#color#nr_rgb(fg) let bg_rgb = calendar#color#nr_rgb(bg) if fg > 231 && bg > 231 let color = (fg * a:weightfg + bg * a:weightbg) / (a:weightfg + a:weightbg) elseif fg < 16 || bg < 16 let color = a:weightfg > a:weightbg ? fg : bg else let color_rgb = map([0, 1, 2], '(fg_rgb[v:val] * a:weightfg + bg_rgb[v:val] * a:weightbg) / (a:weightfg + a:weightbg)') let color = ((color_rgb[0] * 6 + color_rgb[1]) * 6 + color_rgb[2]) + 16 endif return color endfunction function! calendar#color#select_rgb(color, rgb, weight) abort let c = calendar#color#nr_rgb(a:color < 0 ? (s:is_dark ? 255 : 232) : a:color) let cc = max([(c[0] + c[1] + c[2]) / 3, 5]) let colors = [cc / a:weight, cc / a:weight, cc / a:weight] let colors[a:rgb] = cc let color = ((colors[0] * 6 + colors[1]) * 6 + colors[2]) + 16 return color endfunction else function! calendar#color#gen_color(fg, bg, weightfg, weightbg) abort let fg_rgb = map(matchlist(a:fg[0] == '#' ? a:fg : get(calendar#color#gui_color(), a:fg, ''), '#\(..\)\(..\)\(..\)')[1:3], '("0x".v:val) + 0') let bg_rgb = map(matchlist(a:bg[0] == '#' ? a:bg : get(calendar#color#gui_color(), a:bg, ''), '#\(..\)\(..\)\(..\)')[1:3], '("0x".v:val) + 0') if len(fg_rgb) != 3 | let fg_rgb = s:is_dark ? [0xe4, 0xe4, 0xe4] : [0x12, 0x12, 0x12] | endif if len(bg_rgb) != 3 | let bg_rgb = s:is_dark ? [0x12, 0x12, 0x12] : [0xe4, 0xe4, 0xe4] | endif let color_rgb = map(map([0, 1, 2], '(fg_rgb[v:val] * a:weightfg + bg_rgb[v:val] * a:weightbg) / (a:weightfg + a:weightbg)'), 'v:val < 0 ? 0 : v:val > 0xff ? 0xff : v:val') let color = printf('0x%02x%02x%02x', color_rgb[0], color_rgb[1], color_rgb[2]) + 0 if color < 0 || 0xffffff < color | let color = s:is_dark ? 0x3a3a3a : 0xbcbcbc | endif return printf('#%06x', color) endfunction function! calendar#color#select_rgb(color, rgb) abort let c = map(matchlist(a:color[0] == '#' ? a:color : get(calendar#color#gui_color(), a:color, ''), '#\(..\)\(..\)\(..\)')[1:3], '("0x".v:val) + 0') if len(c) != 3 | let c = s:is_dark ? [0xe4, 0xe4, 0xe4] : [0x12, 0x12, 0x12] | endif let cc = max([(c[0] + c[1] + c[2]) / 3, 0x6f]) let color = printf('0x%02x%02x%02x', a:rgb % 2 ? cc : cc / 9, (a:rgb / 2) % 2 ? cc : cc / 9, (a:rgb / 4) % 2 ? cc : cc / 9) + 0 if color < 0 || 0xffffff < color | let color = s:is_dark ? 0x3a3a3a : 0xbcbcbc | endif return printf('#%06x', color) endfunction endif function! calendar#color#colors() abort return [ \ '#16a765', \ '#4986e7', \ '#fad165', \ '#b99aff', \ '#f83a22', \ '#9fe1e7', \ '#ffad46', \ '#9a9cff', \ '#f691b2', \ '#9fe1e7', \ '#92e1c0', \ '#ac725e', \ '#ff7537', \ '#b3dc6c', \ '#9fc6e7', \ '#fbe983', \ '#d06b64', \ ] endfunction function! calendar#color#syntax(name, fg, bg, attr) abort let term = len(a:attr) ? ' term=' . a:attr . ' cterm=' . a:attr . ' gui=' . a:attr : '' if s:is_gui let fg = len(a:fg) ? ' guifg=' . a:fg : '' let bg = len(a:bg) ? ' guibg=' . a:bg : '' else let fg = len(a:fg) ? ' ctermfg=' . a:fg : '' let bg = len(a:bg) ? ' ctermbg=' . a:bg : '' endif exec 'highlight Calendar' . a:name . term . fg . bg endfunction let s:_select_color = {} function! s:select_color() abort let key = get(g:, 'colors_name', '') . &background if has_key(s:_select_color, key) return s:_select_color[key] endif let fg_color = calendar#color#normal_fg_color() let bg_color = calendar#color#normal_bg_color() let select_color = calendar#color#gen_color(fg_color, bg_color, 1, 4) if s:is_win32cui let select_color = s:is_dark ? 8 : 7 endif let s:_select_color[key] = select_color return select_color endfunction let s:num = 0 let s:nums = {} function! s:shorten(name) abort let name = matchstr(a:name, '...') let name = name ==# '' ? a:name : name let s:num = (s:num + 1) % 26 let s:nums[a:name] = get(s:nums, a:name, s:num) return name . 'abcdefghijklmnopqrstuvwxyz'[s:nums[a:name]] endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/day.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/day.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/07 22:22:26. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#day#new(instance) abort let constructor = extend({ 'instance': a:instance }, s:constructor) let constructor.month_constructor = calendar#constructor#month#new(constructor) let constructor.year_constructor = calendar#constructor#year#new(constructor) return constructor endfunction let s:constructor = {} function! s:constructor.new(y, m, d) dict abort return extend(self.instance.new(a:y, a:m, a:d), { 'constructor': self }) endfunction " Modified Julian Day " Reference: http://en.wikipedia.org/wiki/Julian_day function! s:constructor.new_mjd(mjd) dict abort return extend(extend(copy(s:instance), self.instance), { 'mjd': a:mjd, 'constructor': self }) endfunction let s:instance = {} function! s:div(x, y) abort return a:x/a:y-((a:x<0)&&(a:x%a:y)) endfunction function! s:instance.add(diff) dict abort return self.new_mjd(self.mjd + a:diff) endfunction function! s:instance.add_month(diff) dict abort let [y, m, d] = self.get_ymd() let m += a:diff - 1 let y += s:div(m, 12) let m -= 12 * s:div(m, 12) let m += 1 let new_day = self.new(y, m, d) let new_month = self.constructor.month_constructor.new(y, m) if !new_day.is_valid() if new_day.sub(new_month.head_day()) > 0 while !(new_day.eq_month(new_month.head_day())) let new_day = new_day.add(-1) endwhile else while !(new_day.eq_month(new_month.head_day())) let new_day = new_day.add(1) endwhile endif endif return new_day endfunction function! s:instance.add_year(diff) dict abort return self.add_month(a:diff * 12) endfunction function! s:instance.sub(day) dict abort return self.mjd - a:day.mjd endfunction function! s:instance.week() dict abort if has_key(self, '_week') | return self._week | endif let m = self.mjd + 3 let self._week = m % 7 + 7 * ((m < 0) && (m % 7)) return self._week endfunction function! s:instance.today() dict abort return self.new_mjd(calendar#day#today_mjd()) endfunction function! s:instance.eq(day) dict abort return self.mjd == a:day.mjd endfunction function! s:instance.eq_month(day) dict abort return self.month().eq(a:day.month()) endfunction function! s:instance.eq_year(day) dict abort return self.year().eq(a:day.year()) endfunction function! s:instance.eq_week(day) dict abort return self.week() == a:day.week() endfunction function! s:instance.is_sunday() dict abort return self.week() == 0 endfunction function! s:instance.is_monday() dict abort return self.week() == 1 endfunction function! s:instance.is_tuesday() dict abort return self.week() == 2 endfunction function! s:instance.is_wednesday() dict abort return self.week() == 3 endfunction function! s:instance.is_thursday() dict abort return self.week() == 4 endfunction function! s:instance.is_friday() dict abort return self.week() == 5 endfunction function! s:instance.is_saturday() dict abort return self.week() == 6 endfunction function! s:instance.is_valid() dict abort return !has_key(self, '_ymd') || self._ymd == self.get_ymd() endfunction function! s:instance.get_year() dict abort return self.get_ymd()[0] endfunction function! s:instance.get_month() dict abort return self.get_ymd()[1] endfunction function! s:instance.get_day() dict abort return self.get_ymd()[2] endfunction function! s:instance.month() dict abort if has_key(self, '_month') | return self._month | endif let [y, m, d] = self.get_ymd() let self._month = self.constructor.month_constructor.new(y, m) return self._month endfunction function! s:instance.year() dict abort if has_key(self, '_year') | return self._year | endif let self._year = self.constructor.year_constructor.new(self.get_year()) return self._year endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/day_hybrid.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/day_hybrid.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/07 22:07:20. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#day_hybrid#new(y, m, d) abort let constructor = extend({ 'switch_mjd': calendar#day#gregorian#new(a:y, a:m, a:d).mjd }, s:constructor) let constructor.switch_day = calendar#day#gregorian#new_mjd(constructor.switch_mjd) let constructor.month_constructor = calendar#constructor#month#new(constructor) let constructor.year_constructor = calendar#constructor#year#new(constructor) return constructor endfunction let s:constructor = {} function! s:constructor.new(y, m, d) dict abort let mjd = calendar#day#gregorian#new(a:y, a:m, a:d).mjd if mjd < self.switch_mjd let mjd = calendar#day#julian#new(a:y, a:m, a:d).mjd if mjd > self.switch_mjd let mjd = deepcopy(self.switch_mjd) endif endif let instance = self.new_mjd(mjd) let instance._ymd = [a:y, a:m, a:d] return instance endfunction function! s:constructor.new_mjd(mjd) dict abort let instance = s:super_constructor.new_mjd(a:mjd) let instance.constructor = self let instance.switch_mjd = self.switch_mjd let instance.switch_day = self.switch_day return instance endfunction function! s:constructor.today() dict abort return self.new_mjd(calendar#day#today_mjd()) endfunction let s:instance = {} function! s:instance.new(y, m, d) dict abort return self.constructor.new(a:y, a:m, a:d) endfunction function! s:instance.new_mjd(mjd) dict abort return self.constructor.new_mjd(a:mjd) endfunction function! s:instance.get_ymd() dict abort if has_key(self, 'ymd') | return self.ymd | endif let self.ymd = calendar#day#{self.get_calendar()}#new_mjd(self.mjd).get_ymd() return self.ymd endfunction function! s:instance.is_gregorian() dict abort return self.mjd >= self.switch_mjd endfunction function! s:instance.get_calendar() dict abort return self.is_gregorian() ? 'gregorian' : 'julian' endfunction let s:super_constructor = calendar#constructor#day#new(s:instance) let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/month.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/month.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:26:32. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#month#new(day_constructor) abort return extend({ 'day_constructor': a:day_constructor, 'cache': {} }, s:constructor) endfunction let s:constructor = {} function! s:constructor.new(y, m) dict abort let instance = copy(s:instance) let instance.day_constructor = self.day_constructor let instance._ym = [a:y, a:m] let instance.constructor = self return instance endfunction let s:instance = {} function! s:instance.new(y, m) dict abort return self.constructor.new(a:y, a:m) endfunction function! s:div(x, y) abort return a:x/a:y-((a:x<0)&&(a:x%a:y)) endfunction function! s:instance.add(diff) dict abort let [y, m] = self.get_ym() let m += a:diff - 1 let y += s:div(m, 12) let m -= 12 * s:div(m, 12) let m += 1 return self.new(y, m) endfunction function! s:instance.sub(month) dict abort let [ya, ma] = self.get_ym() let [yb, mb] = a:month.get_ym() return (ya - yb) * 12 + (ma - mb) endfunction function! s:instance.eq(month) dict abort return self.get_ym() == a:month.get_ym() endfunction function! s:instance.eq_month(month) dict abort return self.eq(a:month) endfunction function! s:instance.eq_year(month) dict abort return self.year().eq(a:month.year()) endfunction function! s:instance.is_valid() dict abort return self.head_day().is_valid() && self.last_day().is_valid() endfunction function! s:instance.get_ym() dict abort if has_key(self, 'ym') | return self.ym | endif let self.ym = self.head_day().get_ymd()[:1] return self.ym endfunction function! s:instance.get_ym_string() dict abort if has_key(self, 'ym_string') | return self.ym_string | endif let ymd = self.head_day().get_ymd() let self.ym_string = ymd[0] . '/' . ymd[1] return self.ym_string endfunction function! s:instance.get_year() dict abort return self.get_ym()[0] endfunction function! s:instance.get_month() dict abort return self.get_ym()[1] endfunction function! s:instance.get_day() dict abort return self.head_day().get_day() endfunction function! s:instance.head_day() dict abort if has_key(self, '_head_day') | return self._head_day | endif let self._head_day = self.day_constructor.new(self._ym[0], self._ym[1], 1) if self._head_day.is_valid() return self._head_day else let y = self._ym[0] let m = self._ym[1] let yy = self._ym[0] let mm = self._ym[1] - 1 if mm < 1 let [yy, mm] = [yy - 1, mm + 12] endif let self._head_day = self.day_constructor.new(yy, mm, 1) while self._head_day.get_year() < y || self._head_day.get_month() < m let self._head_day = self._head_day.add(1) endwhile endif return self._head_day endfunction function! s:instance.last_day() dict abort if has_key(self, '_last_day') | return self._last_day | endif let [y, m] = [self._ym[0], self._ym[1]] let m += 1 if m > 12 | let [y, m] = [y + 1, m - 12] | endif let self._last_day = self.new(y, m).head_day().add(-1) return self._last_day endfunction function! s:instance.days() dict abort if has_key(self, '_days') | return self._days | endif let self._days = self.last_day().sub(self.head_day()) + 1 return self._days endfunction function! s:instance.get_days() dict abort if has_key(self, '__days') | return self.__days | endif if has_key(self.constructor.cache, self.get_ym_string()) return self.constructor.cache[self.get_ym_string()] endif let days = [] call add(days, self.head_day()) let l = self.last_day() while !l.eq(days[-1]) call add(days, days[-1].add(1)) endwhile let self.__days = days let self.constructor.cache[self.get_ym_string()] = days return days endfunction function! s:instance.day() dict abort return self.head_day() endfunction function! s:instance.month() dict abort if has_key(self, '_month') | return self._month | endif let [y, m] = self.get_ym() let self._month = self.new(y, m) return self._month endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/view.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/view.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:26:52. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#view#new(instance) abort return extend({ 'instance': a:instance }, s:constructor) endfunction let s:constructor = {} function! s:constructor.new(source) dict abort let instance = extend(deepcopy(s:instance), deepcopy(self.instance)) let instance.size = { 'x': 0, 'y': 0 } let instance._size = instance.size let instance.source = a:source let instance._selected = 0 return instance endfunction let s:instance = {} function! s:instance.set_visible(value) dict abort let self._visible = a:value endfunction function! s:instance.is_visible() dict abort sandbox return has_key(self, '_visible') ? self._visible : has_key(self.source, 'visible') ? eval(self.source.visible) : 1 endfunction function! s:instance.on_top() dict abort sandbox return has_key(self.source, 'on_top') ? eval(self.source.on_top) : 0 endfunction function! s:instance.width() dict abort return self.maxwidth() endfunction function! s:instance.height() dict abort return self.maxheight() endfunction function! s:instance.sizex() dict abort return self.size.x endfunction function! s:instance.sizey() dict abort return self.size.y endfunction function! s:instance.set_size() dict abort let self._size = copy(self.size) let self.size.x = self.width() let self.size.y = self.height() if self._size != self.size && has_key(self, 'on_resize') call self.on_resize() endif return self endfunction function! s:instance.left() dict abort sandbox return has_key(self.source, 'left') ? eval(self.source.left) : 0 endfunction function! s:instance.top() dict abort sandbox return has_key(self.source, 'top') ? eval(self.source.top) : 0 endfunction function! s:instance.maxwidth() dict abort sandbox return has_key(self.source, 'maxwidth') ? eval(self.source.maxwidth) : calendar#util#winwidth() - 1 endfunction function! s:instance.maxheight() dict abort sandbox return has_key(self.source, 'maxheight') ? eval(self.source.maxheight) : calendar#util#winheight() endfunction function! s:instance.is_center() dict abort return get(self.source, 'align', '') ==# 'center' endfunction function! s:instance.is_vcenter() dict abort return get(self.source, 'valign', '') ==# 'center' endfunction function! s:instance.is_right() dict abort return get(self.source, 'align', '') ==# 'right' endfunction function! s:instance.is_bottom() dict abort return get(self.source, 'valign', '') ==# 'bottom' endfunction function! s:instance.is_absolute() dict abort return get(self.source, 'position', '') ==# 'absolute' endfunction function! s:instance.get_top() dict abort return max([self.top() + (self.is_vcenter() ? (self.maxheight() - self.size.y) / 2 : self.is_bottom() ? (self.maxheight() - self.size.y) : 0), 0]) endfunction function! s:instance.get_left() dict abort return max([self.left() + (self.is_center() ? (self.maxwidth() - self.size.x + 1) / 2 : self.is_right() ? (self.maxwidth() - self.size.x) : 0), 0]) endfunction function! s:instance.display_point() dict abort return 1 endfunction function! s:instance.gather(...) dict abort let c = self.contents() let l = self.get_left() let p = self.get_top() + (a:0 ? a:1 : 0) return map(c, 'v:val.move(l, p)') endfunction function! s:instance.set_selected(selected) dict abort let self._selected = a:selected return self endfunction function! s:instance.is_selected() dict abort return self._selected endfunction function! s:instance.set_index(index) dict abort let self._index = a:index endfunction function! s:instance.get_index() dict abort return self._index endfunction function! s:instance.updated() dict abort return 1 endfunction function! s:instance.timerange() dict abort return '' endfunction function! s:instance.action(action) dict abort return 0 endfunction function! s:instance.oneday(day, events) dict abort let width = self.view.inner_width let right = has_key(a:events, 'daynum') ? a:events.daynum : '' if has_key(a:events, 'weeknum') && width > len(right) + 6 let right = a:events.weeknum . (len(right) ? ' ' : '') . right endif if has_key(a:events, 'moon') && width > len(right) + 5 let right = a:events.moon . right endif if width > len(right) + 3 && len(right) let le = calendar#string#strdisplaywidth(right) + 1 let right = ' ' . right else let le = 0 let right = '' endif let day = (a:day < 10 ? ' ' : '') . a:day let holiday = get(a:events, 'holiday', '') return calendar#string#truncate(day . ' ' . holiday, width - le) . right endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/view_clock.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/view_clock.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:26:59. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#view_clock#new(instance) abort return extend({ 'instance': a:instance }, s:constructor) endfunction let s:constructor = {} function! s:constructor.new(source) dict abort return extend(extend(s:super_constructor.new(a:source), s:instance), self.instance) endfunction let s:instance = {} let s:instance.letters = [] let s:instance.prevscale = 0 let s:instance.syntax = [] let s:instance.diffs = [] let s:instance.smaller = 0 let s:instance.offsetx_start = 0 let s:instance.colnum = 1 let s:instance.winwidth = 0 let s:instance.winheight = 0 let s:instance.str = '' let s:instance.len = 0 let s:instance._colnum = 0 function! s:instance.get_scale(...) dict abort let colnum = a:0 ? a:1 : self.colnum let [h, w] = [self.maxheight(), self.maxwidth()] if self.winwidth == w && self.winheight == h && self._colnum == colnum return self.scale endif let str = self.max_letter()[0] let len = calendar#pixel#len(str) + 2 * (len(str) - 1) let scale = 0 while w >= len * (scale + 1) * (15 + scale) / 15 + 1 && \ h >= 6 * (scale + 1) * self.y_height * colnum + 1 let scale += 1 endwhile if scale > 1 && self.smaller let scale -= 1 endif let self.scale = scale let self.winwidth = w let self.winheight = h let self._colnum = colnum return scale endfunction function! s:instance.width() dict abort let str = self.get_letter()[0] if self.str !=# str let self.len = calendar#pixel#len(str) + 2 * (len(str) - 1) endif let [h, w] = [self.maxheight(), self.maxwidth()] if self.winwidth != w || self.winheight != h let scale = self.get_scale() endif let self.winwidth = w let self.winheight = h let self.str = str return self.scale ? self.len * self.scale : len(str) endfunction function! s:instance.height() dict abort if self.winwidth != self.maxwidth() || self.winheight != self.maxheight() let scale = self.get_scale() endif let self.one_height = self.scale ? 5 * self.scale : 1 return self.scale ? self.one_height * self.y_height : 1 endfunction function! s:instance.gen_syn(chr, offsetx, offsety, syn) dict abort if !len(a:chr) return [[], 0] endif if !self.scale return [[calendar#text#new(a:chr, a:offsetx, a:offsety, '')], 1] endif let pixel = calendar#pixel#get(a:chr) if type(pixel) != type([]) return [[], 0] endif let syn = [] let max = 0 let j = 0 let scale = self.scale let pp = '' let above_num = 0 for p in pixel if pp ==# p && above_num && len(syn) let h = syn[-1].syn[0][4] for i in range(above_num) call syn[- 1 - i].height((h ? h : scale) + scale) endfor else let max = max([max, (len(p) + 2) * scale]) let i = 0 let num = 0 while i < len(p) let i += len(matchstr(p, '^\.*', i)) let matchlen = len(matchstr(p, '^[^.]*', i)) if matchlen if num call add(syn[-1].syn, [a:syn, a:offsety + j * scale, a:offsetx + i * scale, a:offsetx + i * scale + matchlen * scale, scale]) else call add(syn, calendar#text#new(matchlen * scale, a:offsetx + i * scale, a:offsety + j * scale, a:syn).height(scale)) let num += 1 endif endif let i += matchlen endwhile let pp = p let above_num = num endif let j += 1 endfor return [syn, max] endfunction function! s:instance.set_contents() dict abort let cs = self.get_letter() let syntax = [] let diffs = [] let syn = 'NormalSpace' let offsetx_start = 0 for j in range(len(cs)) if j >= self.y_height break endif if self.prevscale == self.scale && len(self.letters) == len(cs) && self.letters[j] ==# cs[j] let syntax_oneline = self.syntax[j] let diffsj = self.diffs[j] else let syntax_oneline = [] let diffsj = [] let offsetx = len(cs[j]) ? - calendar#pixel#whitelen(cs[j][0]) * self.scale : 0 let offsetx_start = offsetx let offsety = j * (5 + self.scale + 1) let css = split(cs[j], '\zs') for i in range(len(css)) if self.prevscale == self.scale && len(self.letters) == len(cs) && len(self.letters[j]) == len(css) && \ self.letters[j][i] ==# css[i] && diffsj == (i ? self.diffs[j][:i - 1] : []) && offsetx_start == self.offsetx_start call add(syntax_oneline, self.syntax[j][i]) let diffx = self.diffs[j][i] else let [syns, diffx] = self.gen_syn(css[i], offsetx, offsety, syn) call add(syntax_oneline, syns) endif let offsetx += diffx call add(diffsj, diffx) endfor endif call add(syntax, syntax_oneline) call add(diffs, diffsj) endfor let self.letters = cs let self.syntax = syntax let self.prevscale = self.scale let self.diffs = diffs let self.offsetx_start = offsetx_start let self.syn = [] let ydict = {} let j = 0 for ss in syntax for sss in ss if self.scale for ssss in sss if has_key(ydict, ssss.y) call extend(self.syn[ydict[ssss.y]].syn, ssss.syn) else call add(self.syn, deepcopy(ssss)) let ydict[ssss.y] = j let j += 1 endif endfor else call extend(self.syn, sss) endif endfor endfor endfunction function! s:instance.on_resize() dict abort let self.letters = [] let self.syntax = [] endfunction function! s:instance.contents() dict abort if self.letters != self.get_letter() call self.set_contents() endif let syn = deepcopy(self.syn) if self.is_selected() && len(self.syntax) && len(self.syntax[-1]) && len(self.syntax[-1][-1]) let cur = deepcopy(self.syntax[-1][-1][-1]) if len(cur.syn) && len(cur.syn[0]) > 3 let cur.syn[0][0] = 'Cursor' let cur.t = 1 call cur.move(cur.syn[0][3] - cur.syn[0][2] - !!self.scale, cur.syn[0][4] ? cur.syn[0][4] - 1 : 0) call add(syn, cur) endif endif return syn endfunction function! s:instance.updated() dict abort return self.letters != self.get_letter() endfunction let s:super_constructor = calendar#constructor#view#new(s:instance) let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/view_days.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/view_days.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/07 23:06:06. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#view_days#new(instance) abort return extend({ 'instance': a:instance }, s:constructor) endfunction let s:constructor = {} function! s:constructor.new(source) dict abort return extend(extend(s:super_constructor.new(a:source), s:instance), self.instance) endfunction let s:instance = {} function! s:instance.height() dict abort return max([self.maxheight(), 6]) endfunction function! s:instance.on_resize() dict abort let self.frame = copy(calendar#setting#frame()) let width = calendar#string#strdisplaywidth(self.frame.vertical) let self.view = {} let self.view.width = (self.sizex() - width) / self.daynum / width * width let h = max([(self.sizey() - 3) / 6, 1]) let self.view.week_count = 5 let self.view.dayheight = h < 3 ? h : max([(self.sizey() - 3) / max([self.view.week_count, 5]), 1]) let self.view.hourheight = max([(self.sizey() - self.view.dayheight) / 24, 3]) let self.view.blockmin = 60 / (self.view.hourheight - 1) if !(self.view.width > 3 && self.view.dayheight > 1) let self.frame = calendar#setting#get('frame_space') let width = 1 let self.view.width = (self.sizex() - width) / self.daynum endif let self.frame.width = calendar#string#strdisplaywidth(self.frame.vertical) let self.frame.strlen = len(self.frame.vertical) let self.element = {} let self.element.splitter = repeat(self.frame.horizontal, (self.view.width - width) / width) let self.element.white = repeat(' ', (self.view.width - width) / width * width) let self.element.vwhite = self.frame.vertical . self.element.white let self.element.format = '%2d' . repeat(' ', (self.view.width - width) / width * width - 2) let self.view.realwidth = self.view.width - width + self.frame.strlen let self.view.inner_width = self.view.width - width let self.view.offset = self.view.dayheight > 1 ? 3 : 1 let self.view.locale = calendar#setting#get('locale') call self.set_day_name() let self._cache_key = [] endfunction function! s:instance.width() dict abort let frame = calendar#setting#frame() let width = calendar#string#strdisplaywidth(frame.vertical) let w = max([(self.maxwidth() - calendar#setting#get('clock_12hour') * 7) / 8, 3]) let hh = self.height() let h = max([(hh - 3) / 6, 1]) let h = h < 3 ? h : max([(hh - 3) / calendar#week#week_count(b:calendar.month()), 1]) if !(w > 3 && h > 1) let width = 1 endif let daynum = self.daynum if daynum == 1 let views = calendar#setting#get('views') let i = index(views, 'day_1') if i >= 0 let days = filter([i > 0 ? views[i - 1] : '', i + 1 < len(views) ? views[i + 1] : ''], 'v:val =~# ''^day_\d$''') if len(days) let num = substitute(days[0], 'day_', '', '') + 0 if 1 < num && num <= 7 let daynum = num endif endif endif endif return w * 7 / daynum / width * width * daynum + width endfunction function! s:instance.get_min_day() dict abort let day = b:calendar.day() if has_key(self, 'min_day') if day.sub(self.min_day) < 0 let self.min_day = day elseif day.sub(self.max_day) > 0 let self.min_day = day.add(-self.daynum + 1) endif else let self.min_day = day endif let self.max_day = self.min_day.add(self.daynum - 1) return self.min_day endfunction function! s:instance.cache_key() dict abort if has_key(self, 'min_hour') && (self.min_hour < 0 || self.max_hour > 23) return [] else return copy(self.min_max_hour()) + self.get_min_day().get_ymd() + [b:calendar.day().get_month()] \ + calendar#day#today().get_ymd() + [calendar#setting#get('frame'), calendar#setting#get('first_day')] \ + b:calendar.event.updated() + [get(g:, 'calendar_google_event_download')] endif endfunction function! s:instance.min_max_hour() dict abort let height = self.height() - self.view.offset - self.view.dayheight let heighthour = height / self.view.hourheight let time = b:calendar.time() let hour = time.hour() if has_key(self, 'min_hour') if hour < self.min_hour let min = hour elseif hour > self.max_hour let min = self.min_hour + hour - self.max_hour else let min = self.min_hour endif else let min = time.hour() - heighthour / 2 + 2 endif let min = max([min, 0]) let max = min([min + heighthour - 1, 23]) let min = max([max - heighthour + 1, 0]) let max = min([min + heighthour - 1, 23]) return [min, max] endfunction function! s:instance.set_min_max_hour(hours) dict abort let [self.min_hour, self.max_hour] = a:hours endfunction function! s:instance.get_min_max_hour() dict abort return [self.min_hour, self.max_hour] endfunction function! s:instance.set_day_name() dict abort let [h, w, ww] = [self.view.dayheight, self.view.width, self.view.realwidth] let key = h . ',' . w . ',' . ww . ',' . calendar#setting#get('frame') . ',' \ . calendar#setting#get('locale') . ',' . calendar#week#week_index(self.get_min_day()) . ',' . calendar#setting#get('first_day') if !has_key(self, 'day_name_cache') let self.day_name_cache = {} endif if has_key(self.day_name_cache, key) let [self.day_name_text, self.day_name_syntax] = self.day_name_cache[key] return endif let day_name = copy(calendar#message#get('day_name_long')) let maxlen = max(map(copy(day_name), 'calendar#string#strdisplaywidth(v:val)')) if maxlen >= self.view.inner_width let day_name = copy(calendar#message#get('day_name')) endif let s = repeat([''], 3) let syntax = [] let x = self.frame.strlen let idx = self.get_min_day().week() for i in range(idx, idx + self.daynum - 1) if h > 1 let s[0] .= (i > idx ? self.frame.top : self.frame.topleft) . self.element.splitter let s[2] .= (i > idx ? self.frame.junction : self.frame.left) . self.element.splitter endif let name = day_name[i % 7] let wid = calendar#string#strdisplaywidth(name) if wid >= self.view.inner_width let name = calendar#string#truncate(name, max([2, self.view.inner_width])) let wid = calendar#string#strdisplaywidth(name) endif let len = calendar#string#strdisplaywidth(self.element.splitter) let whiteleft = repeat(' ', (len - wid) / 2) let whiteright = repeat(' ', len - len(whiteleft) - wid) let weekstr = whiteleft . name . whiteright let s[h > 1] .= self.frame.vertical . weekstr let syn = i % 7 == 0 ? 'SundayTitle' : i % 7 == 6 ? 'SaturdayTitle' : 'DayTitle' if len(syntax) call add(syntax[-1].syn, [syn, h > 1, x, x + len(weekstr), 0]) else call add(syntax, calendar#text#new(len(weekstr), x, h > 1, syn)) endif let x += len(weekstr) + self.frame.strlen endfor if h > 1 let s[0] .= self.frame.topright let s[1] .= self.frame.vertical let s[2] .= self.frame.right endif let self.day_name_text = s let self.day_name_syntax = syntax let self.day_name_cache[key] = [s, syntax] endfunction function! s:get_timeevts(events, blockmin) abort let time_events = {} let r = range(len(a:events)) for i in r if get(a:events[i], 'isTimeEvent') && has_key(a:events[i], 'hms') && has_key(a:events[i], 'endhms') if a:events[i].ymd == a:events[i].endymd || \ (a:events[i].endhms == [0, 0, 0] && \ calendar#day#new(a:events[i].endymd[0], a:events[i].endymd[1], a:events[i].endymd[2]).sub( \ calendar#day#new(a:events[i].ymd[0], a:events[i].ymd[1], a:events[i].ymd[2]) \ ) == 1 \ ) let hour = a:events[i].hms[0] let min = a:events[i].hms[1] / a:blockmin * a:blockmin let endhour = a:events[i].ymd == a:events[i].endymd ? a:events[i].endhms[0] : 24 let endmin = a:events[i].endhms[1] let flg = 0 let prev = [] while (hour < endhour || hour == endhour && min < endmin) && hour <= 24 let timestr = hour . ':' . min if !has_key(time_events, timestr) let time_events[timestr] = [] endif call add(time_events[timestr], [i, flg, get(a:events[i], 'syntax', '')]) let prev = time_events[timestr][-1] let flg = 1 let min += a:blockmin if min >= 60 let min = 0 let hour += 1 endif endwhile if len(prev) > 1 && prev[1] let prev[1] = 2 endif if len(prev) && prev[1] == 0 let prev[1] = 4 endif endif endif endfor let maxnum = 0 let prevdict = {} let hour = 0 let min = 0 let prevret = {} let ret = {} while hour <= 24 let timestr = hour . ':' . min if has_key(time_events, timestr) let maxnum = max([maxnum, len(time_events[timestr])]) let new = {} let minind = 0 let rr = range(len(time_events[timestr])) for i in rr let tvs = time_events[timestr][i] if has_key(prevdict, tvs[0]) let new[prevdict[tvs[0]]] = deepcopy(tvs) endif endfor for i in rr let tvs = time_events[timestr][i] if !has_key(prevdict, tvs[0]) while has_key(new, minind) let minind += 1 endwhile let new[minind] = deepcopy(tvs) let prevdict[tvs[0]] = minind endif endfor let minind = 0 let prevret[timestr] = [] for i in range(maxnum) if has_key(new, i) call add(prevret[timestr], new[i]) else call add(prevret[timestr], [-1, 3, '']) endif endfor else let prevdict = {} for [key, events] in items(prevret) for event in events call add(event, maxnum) endfor let ret[key] = events endfor let prevret = {} let maxnum = 0 endif let min += a:blockmin if min >= 60 let min = 0 let hour += 1 endif endwhile return ret endfunction function! s:instance.set_contents() dict abort if self.frame.type !=# calendar#setting#get('frame') | call self.on_resize() | endif call self.set_day_name() let [f, v, e] = [self.frame, self.view, self.element] let [h, w, ww] = [v.dayheight, v.width, v.realwidth] let height = self.height() - v.offset - h let bottompad = (self.height() - v.offset - h) % v.hourheight + 1 let self.has_today = 0 let hh = 1 <= h - 2 ? range(1, h - 2) : [] let s = repeat([''], self.sizey()) let today = calendar#day#today() let month = b:calendar.month() let day = b:calendar.day() let syntax = deepcopy(self.day_name_syntax) for i in range(len(self.day_name_text)) let s[i] = self.day_name_text[i] endfor let [so, st, su, sa, tsu, tsa] = ['OtherMonth', 'Today', 'Sunday', 'Saturday', 'TodaySunday', 'TodaySaturday'] let [i, j] = [0, 0] let days = month.get_days() let prev_days = month.add(-1).get_days() let next_days = month.add(1).get_days() let wn = calendar#week#week_index(days[0]) let sub = day.sub(wn ? prev_days[-wn] : days[0]) let wnum = sub / 7 let ld = wn + len(days) let events = b:calendar.event.get_events(day.get_year(), day.get_month()) let head = self.get_min_day().sub(wn ? prev_days[-wn] : days[0]) let range = range(head, head + self.daynum - 1) let [self.min_hour, self.max_hour] = self.min_max_hour() let longevt = [] let longtimeevt = [] let self.timeevent_syntax = [] let event_start_time = calendar#setting#get('event_start_time') let event_start_time_minwidth = calendar#setting#get('event_start_time_minwidth') let clock_12hour = calendar#setting#get('clock_12hour') for p in range let d = p < wn ? prev_days[-wn + p] : p < ld ? days[p - wn] : next_days[p - ld] let evts = get(events, join(d.get_ymd(), '-'), { 'events': [] } ) let y = v.offset + h * j let s[y] .= f.vertical let s[y] .= self.oneday(d.get_day(), evts) let is_today = today.eq(d) if is_today let self.has_today = 1 endif let syn = is_today ? st : d.is_sunday() || get(evts, 'hasHoliday') ? su : d.is_saturday() ? sa : '' if syn !=# '' let l = is_today ? len(calendar#string#truncate_reverse(s[y], v.inner_width)) : 2 let syn2 = !is_today ? '' : d.is_sunday() || get(evts, 'hasHoliday') ? tsu : d.is_saturday() ? tsa : '' let x = len(calendar#string#truncate(s[y], w * i + f.width)) if syn2 !=# '' let x += 2 let l -= 2 endif call add(syntax, calendar#text#new(l, x, y, syn)) if syn2 !=# '' let l = 2 let x = len(calendar#string#truncate(s[y], w * i + f.width)) if len(syntax) && syntax[-1].y == y call add(syntax[-1].syn, [syn2, y, x, x + l, 0]) else call add(syntax, calendar#text#new(l, x, y, syn2)) endif endif endif let z = 0 let longevtIndex = 0 for x in hh if longevtIndex < len(longevt) && longevt[longevtIndex].viewoffset == x let lastday = d.get_day() == longevt[longevtIndex].endymd[2] || \ (get(longevt[longevtIndex], 'isTimeEvent') && \ longevt[longevtIndex].endhms == [0, 0, 0] && \ calendar#day#new(longevt[longevtIndex].endymd[0], longevt[longevtIndex].endymd[1], longevt[longevtIndex].endymd[2]).sub(d) == 1 \ ) let eventtext = repeat('=', v.inner_width - lastday) . (lastday ? ']' : '') let splitter = i ? repeat('=', f.width) : f.vertical let s[y + x] .= splitter . eventtext if has_key(longevt[longevtIndex], 'syntax') let l = len(eventtext) let syn = longevt[longevtIndex].syntax let yy = y + x let xx = len(s[y + x]) - l - (i ? f.width : 0) let l = l + (i ? f.width : 0) call add(syntax, calendar#text#new(l, xx, yy, syn)) endif let longevtIndex += 1 else while z < len(evts.events) && (!has_key(evts.events[z], 'summary') || evts.events[z].isHoliday || evts.events[z].isMoon || evts.events[z].isDayNum || evts.events[z].isWeekNum) let z += 1 endwhile if z < len(evts.events) let is_long_event = evts.events[z].ymd != evts.events[z].endymd && \ (!get(evts.events[z], 'isTimeEvent') || \ evts.events[z].endhms != [0, 0, 0] || \ calendar#day#new(evts.events[z].endymd[0], evts.events[z].endymd[1], evts.events[z].endymd[2]).sub( \ calendar#day#new(evts.events[z].ymd[0], evts.events[z].ymd[1], evts.events[z].ymd[2]) \ ) > 1 \ ) if is_long_event let trailing = ' ' . repeat('=', v.inner_width) call add(longevt, extend(evts.events[z], { 'viewoffset': x })) else let trailing = '' endif let starttime = event_start_time && self.view.width >= event_start_time_minwidth \ && get(evts.events[z], 'isTimeEvent') ? evts.events[z].starttime . ' ' : '' let eventtext = calendar#string#truncate(starttime . evts.events[z].summary . trailing, v.inner_width) if has_key(evts.events[z], 'syntax') let l = len(eventtext) let xx = len(s[y + x]) + len(f.vertical) let yy = y + x call add(syntax, calendar#text#new(l, xx, yy, evts.events[z].syntax)) endif let s[y + x] .= f.vertical . eventtext let z += 1 else let s[y + x] .= e.vwhite endif endif endfor call sort(filter(longevt, 'calendar#view#month#longevt_filter(v:val, d)'), 'calendar#view#month#sorter') let time_events = s:get_timeevts(evts.events, v.blockmin) for k in range(height) if k < height - bottompad if (k + 1) % v.hourheight let hour = self.min_hour + k / v.hourheight let min = (k % v.hourheight) * v.blockmin let timestr = hour . ':' . min if has_key(time_events, timestr) && len(time_events[timestr]) let maxnum = get(time_events[timestr][0], 3, 1) let tevts = map(deepcopy(time_events[timestr]), 'v:val[0] >= 0 ? evts.events[v:val[0]] : {}') let onelen = max([(v.inner_width + 2) / maxnum - f.width, f.width * 3]) let hourcontents = '' let texts = [] let syns = [] let totallen = 0 let yy = v.offset + h + k let ya = yy - 1 let framelen = v.inner_width / f.width * f.strlen let xx = len(s[ya]) - framelen for ii in range(len(tevts)) let l = maxnum > 1 ? (max([0, min([onelen, v.inner_width - totallen])]) - 1) / f.width * f.width : v.inner_width if l >= f.width * 2 let flg = time_events[timestr][ii][1] let border = flg == 3 ? [repeat(' ', f.width), repeat(' ', f.width)] : flg == 1 ? repeat([f.vertical], 2) : [f.bottomleft, f.bottomright] let rep = flg == 3 || flg == 1 ? repeat(' ', f.width) : f.horizontal if flg && flg < 4 call add(texts, border[0] . repeat(rep, l / f.width - 2) . border[1]) if flg < 3 if (k % v.hourheight) == 0 && k let cutlen = len(s[ya][(xx):]) let leftpart = s[ya][:len(s[ya]) - cutlen - 1] let rightpart = s[ya][len(s[ya]) - cutlen + l / f.width * f.strlen :] let s[ya] = leftpart . f.vertical . repeat(' ', l - f.width * 2) . f.vertical . rightpart call add(syntax, calendar#text#new(l - f.width * 2 + f.strlen * 2, xx, ya, get(tevts[ii], 'syntax', ''))) let xx += l - 2 * f.width + 2 * f.strlen + f.strlen endif else let xx += l / f.width * f.strlen + f.strlen endif else let eventsummary = get(tevts[ii], 'summary', '') let smallspace = repeat(' ', f.width - 1 - (calendar#string#strdisplaywidth(eventsummary) + f.width - 1) % f.width) let newtext = calendar#string#truncate(eventsummary . smallspace . repeat(f.horizontal, l), l - f.width) . (flg ? f.horizontal : f.topright) call add(texts, newtext) let xx += l / f.width * f.strlen + f.strlen endif call add(syns, get(tevts[ii], 'syntax', '')) let totallen += onelen else let xx += l / f.width * f.strlen + f.strlen endif endfor let xx = len(s[yy]) + f.strlen let hourcontents = calendar#string#truncate(join(texts, repeat(' ', f.width)), v.inner_width) for ii in range(len(texts)) let l = len(texts[ii]) if len(syns[ii]) call extend(time_events[timestr][ii], [l, xx, yy, syns[ii]]) call add(syntax, calendar#text#new(l, xx, yy, syns[ii])) endif let xx += l + f.width endfor else let hourcontents = e.white endif let s[v.offset + h + k] .= repeat(f.vertical . hourcontents, 1) else let s[v.offset + h + k] .= repeat(f.vertical . e.splitter, 1) endif endif endfor call add(self.timeevent_syntax, deepcopy(time_events)) if h > 1 let frame = i ? (j + 1 == 7 ? f.bottom : f.junction) : j + 1 == 7 ? f.bottomleft : f.left let s[y + h - 1] .= frame . e.splitter endif if i == 6 let [i, j] = [0, j + 1] else let i = i + 1 endif endfor for i in range(1) for j in range(h - 1) let s[v.offset + h * i + j] .= f.vertical endfor let s[v.offset + h * i + h - 1] .= (i + 1 == 7 ? f.bottomright : f.right) endfor let s[self.height() - bottompad] .= f.bottomleft . repeat(e.splitter . f.bottom, self.daynum - 1) . e.splitter . f.bottomright for j in range(height) if j < height - bottompad let s[v.offset + h + j] .= f.vertical endif if !((j + 1) % v.hourheight) let hour = self.min_hour + j / v.hourheight + 1 if clock_12hour let postfix = hour < 12 || hour == 24 ? ' a.m.' : ' p.m.' let hour = calendar#time#hour12(hour) else let postfix = '' endif let s[v.offset + h + j] .= printf('%2d:%02d', hour, 0) . postfix endif if !j let hour = self.min_hour if clock_12hour let postfix = ' a.m.' let hour = calendar#time#hour12(hour) else let postfix = '' endif let s[v.offset + h - 1] .= printf('%2d:%02d', hour, 0) . postfix endif endfor let self._cache_key = self.cache_key() let self.days = map(range(len(s)), 'calendar#text#new(s[v:val], 0, v:val, "")') let self.syntax = syntax let self.min_day = self.get_min_day() endfunction function! s:instance.contents() dict abort if self._cache_key != self.cache_key() | call self.set_contents() | endif let [f, v, e] = [self.frame, self.view, self.element] let select = [] let select_over = [] let cursor = [] let now = calendar#time#now() if self.is_selected() for [i, hour] in self.select_index() for h in range(v.hourheight - 1) let y = v.offset + v.dayheight + v.hourheight * (hour - self.min_hour) + h let x = len(calendar#string#truncate(self.days[y].s, v.width * i + f.width)) let z = len(calendar#string#truncate(self.days[y].s, v.width * (i + 1))) let timestr = hour . ':' . (v.blockmin * h) if has_key(self.timeevent_syntax[i], timestr) for time_event in self.timeevent_syntax[i][timestr] if len(time_event) == 8 call add(select_over, calendar#text#new(time_event[4], time_event[5], time_event[6], time_event[7] . 'Select')) endif endfor endif call add(select, calendar#text#new(z - x, x, y, 'Select')) endfor endfor let y = v.offset + v.dayheight + v.hourheight * (hour - self.min_hour) let x = len(calendar#string#truncate(self.days[y].s, v.width * i + f.width)) let cursor = [calendar#text#new(0, x, y, 'Cursor')] endif if self.has_today let i = calendar#day#today().sub(self.get_min_day()) let h = now.minute()/ (60 / (self.view.hourheight - 1)) if self.min_hour <= now.hour() && now.hour() <= self.max_hour let y = v.offset + v.dayheight + v.hourheight * (now.hour() - self.min_hour) + h let x = len(calendar#string#truncate(self.days[y].s, v.width * i + f.width)) let z = len(calendar#string#truncate(self.days[y].s, v.width * (i + 1))) let nowsyn = [calendar#text#new(z - x, x, y, 'Today')] else let nowsyn = [] endif else let nowsyn = [] endif return deepcopy(self.days) + select + deepcopy(self.syntax) + select_over + cursor + nowsyn endfunction function! s:instance.select_index() dict abort let lasti = b:calendar.day().sub(self.get_min_day()) let lasthour = b:calendar.time().hour() if !b:calendar.visual_mode() return [[lasti, lasthour]] endif let last = lasti * 24 + lasthour let starti = b:calendar.visual_start_day().sub(self.get_min_day()) let starthour = b:calendar.visual_start_time().hour() let start = starti * 24 + starthour let ret = [] if b:calendar.is_visual() for i in range(min([start, last]), max([start, last])) let j = s:div(i, 24) let k = i - j * 24 if [j, k] != [lasti, lasthour] && 0 <= j && j < self.daynum && self.min_hour <= k && k <= self.max_hour call add(ret, [j, k]) endif endfor elseif b:calendar.is_line_visual() for j in range(min([starti, lasti]), max([starti, lasti])) for k in range(24) if [j, k] != [lasti, lasthour] && 0 <= j && j < self.daynum && self.min_hour <= k && k <= self.max_hour call add(ret, [j, k]) endif endfor endfor elseif b:calendar.is_block_visual() for j in range(min([starti, lasti]), max([starti, lasti])) for k in range(min([starthour, lasthour]), max([starthour, lasthour])) if [j, k] != [lasti, lasthour] && 0 <= j && j < self.daynum && self.min_hour <= k && k <= self.max_hour call add(ret, [j, k]) endif endfor endfor else endif call add(ret, [lasti, lasthour]) return ret endfunction function! s:div(x, y) abort return a:x/a:y-((a:x<0)&&(a:x%a:y)) endfunction function! s:instance.timerange() dict abort let hour = b:calendar.time().hour() if !b:calendar.visual_mode() return printf('%d:00-%d:00 ', hour, hour + 1) endif let x = b:calendar.day() let xh = b:calendar.time().hour() let y = b:calendar.visual_start_day() let yh = b:calendar.visual_start_time().hour() let recurrence = '' if b:calendar.is_line_visual() if x.sub(y) >= 0 if x.get_year() == y.get_year() return printf('%d/%d-%d/%d ', y.get_month(), y.get_day(), x.get_month(), x.get_day()) . recurrence else return printf('%d/%d/%d-%d/%d/%d ', y.get_year(), y.get_month(), y.get_day(), x.get_year(), x.get_month(), x.get_day()) . recurrence endif else if x.get_year() == y.get_year() return printf('%d/%d-%d/%d ', x.get_month(), x.get_day(), y.get_month(), y.get_day()) . recurrence else return printf('%d/%d/%d-%d/%d/%d ', x.get_year(), x.get_month(), x.get_day(), y.get_year(), y.get_month(), y.get_day()) . recurrence endif endif elseif b:calendar.is_block_visual() if x.sub(y) >= 0 let rec = x.sub(y) + 1 let [yh, xh] = [min([xh, yh]), max([xh, yh])] let x = y else let rec = y.sub(x) + 1 let [xh, yh] = [min([xh, yh]), max([xh, yh])] let y = x endif let recurrence = rec > 1 ? rec . 'days ' : '' endif if x.sub(y) == 0 && !len(recurrence) return printf('%d:00 - %d:00 ', min([xh, yh]), max([xh, yh]) + 1) elseif x.sub(y) >= 0 if x.get_year() == y.get_year() return printf('%d/%d %d:00 - %d/%d %d:00 ', y.get_month(), y.get_day(), yh, x.get_month(), x.get_day(), xh + 1) . recurrence else return printf('%d/%d/%d %d:00 - %d/%d/%d %d:00 ', y.get_year(), y.get_month(), y.get_day(), yh, x.get_year(), x.get_month(), x.get_day(), xh + 1) . recurrence endif else if x.get_year() == y.get_year() return printf('%d/%d %d:00 - %d/%d %d:00 ', x.get_month(), x.get_day(), xh, y.get_month(), y.get_day(), yh + 1) . recurrence else return printf('%d/%d/%d %d:00 - %d/%d/%d %d:00 ', x.get_year(), x.get_month(), x.get_day(), xh, y.get_year(), y.get_month(), y.get_day(), yh + 1) . recurrence endif endif endfunction function! s:instance.action(action) dict abort let d = b:calendar.day() let hday = b:calendar.month().head_day() let lday = b:calendar.month().last_day() let hour = b:calendar.time().hour() let wnum = d.sub(self.get_min_day()) if a:action ==# 'left' call b:calendar.move_day(get(self, 'stopend') ? max([-v:count1, -wnum]) : -v:count1) elseif a:action ==# 'right' call b:calendar.move_day(get(self, 'stopend') ? min([v:count1, -wnum + self.daynum - 1]) : v:count1) elseif index(['prev', 'next', 'space', 'add', 'subtract'], a:action) >= 0 call b:calendar.move_day(v:count1 * (index(['prev', 'subtract'], a:action) >= 0 ? -1 : 1)) elseif index(['down', 'up'], a:action) >= 0 call b:calendar.move_hour(v:count1 * (a:action ==# 'down' ? 1 : -1)) elseif index(['plus', 'minus'], a:action) >= 0 let h = v:count1 * (a:action ==# 'plus' ? 1 : -1) while h > 23 - hour let h = h - 24 let wnum -= self.daynum endwhile while h < - hour let h = h + 24 let wnum += self.daynum endwhile call b:calendar.move_hour(h) if has_key(self, 'min_day') && has_key(self, 'max_day') if self.min_day.sub(d.add(-wnum)) > 0 || self.max_day.sub(d.add(-wnum)) < 0 let self.min_day = self.min_day.add(s:div(-wnum + self.daynum - 1, self.daynum) * self.daynum) let self.max_day = self.max_day.add(s:div(-wnum + self.daynum - 1, self.daynum) * self.daynum) endif endif call b:calendar.move_day(-wnum) elseif index(['down_big', 'up_big'], a:action) >= 0 let diff = self.max_hour - self.min_hour let dir = a:action ==# 'down_big' ? 1 : -1 let di = max([min([v:count1 * dir * diff * 2 / 3, 23 - hour]), - hour]) if dir > 0 let self.min_hour = self.min_hour + v:count1 * dir * diff let self.max_hour = self.min_hour + diff else let self.max_hour = self.max_hour + v:count1 * dir * diff let self.min_hour = self.max_hour - diff endif call b:calendar.move_hour(di) elseif index(['down_large', 'up_large'], a:action) >= 0 let diff = self.max_hour - self.min_hour let dir = a:action ==# 'down_large' ? 1 : -1 let di = max([min([(dir > 0 ? self.max_hour : self.min_hour) - hour + (v:count1 - 1) * dir * diff, 23 - hour]), - hour]) if dir > 0 let self.min_hour = self.min_hour + v:count1 * dir * diff let self.max_hour = self.min_hour + diff else let self.max_hour = self.max_hour + v:count1 * dir * diff let self.min_hour = self.max_hour - diff endif call b:calendar.move_hour(di) elseif a:action ==# 'line_head' call b:calendar.move_day(-wnum) elseif a:action ==# 'line_middle' call b:calendar.move_day(-wnum + (self.daynum - 1) / 2) elseif a:action ==# 'line_last' call b:calendar.move_day(self.daynum - 1 - wnum) elseif a:action ==# 'bar' call b:calendar.move_day(-wnum + min([v:count1 - 1, self.daynum - 1])) elseif a:action ==# 'first_line' || a:action ==# 'first_line_head' || (a:action ==# 'last_line' && v:count) call b:calendar.move_hour((v:count ? min([v:count1, 23]) : 0) - hour) elseif a:action ==# 'last_line' call b:calendar.move_hour((v:count ? max([v:count1, 23]) : 23) - hour) elseif a:action ==# 'last_line_last' call b:calendar.move_hour((v:count ? max([v:count1, 23]) : 23) - hour) elseif index(['scroll_down', 'scroll_up'], a:action) >= 0 let diff = v:count1 * (a:action =~# 'down' ? 1 : -1) let old_hours = [self.min_hour, self.max_hour] let self.min_hour += diff let self.max_hour += diff let new_hours = self.min_max_hour() if old_hours == new_hours call b:calendar.move_hour(diff) endif elseif index(['scroll_top_head', 'scroll_top', 'scroll_bottom_head', 'scroll_bottom'], a:action) >= 0 let self.min_hour += 23 * (a:action =~# 'top' ? 1 : -1) let self.max_hour += 23 * (a:action =~# 'top' ? 1 : -1) call b:calendar.move_day(a:action =~# 'head' ? -wnum : 0) elseif index(['scroll_center_head', 'scroll_center'], a:action) >= 0 let diff = self.max_hour - self.min_hour let self.min_hour = hour - diff / 2 + 1 let self.max_hour = self.min_hour + diff call b:calendar.move_day(a:action =~# 'head' ? -wnum : 0) elseif a:action ==# 'command_enter' && mode() ==# 'c' && getcmdtype() ==# ':' let cmd = calendar#util#getcmdline() if cmd =~# '^\s*\d\+\s*$' let c = max([min([matchstr(cmd, '\d\+') * 1, 23]), 0]) call b:calendar.move_hour(c - hour) return calendar#util#update_keys() endif endif endfunction let s:super_constructor = calendar#constructor#view#new(s:instance) let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/view_months.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/view_months.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/07 23:07:32. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#view_months#new(instance) abort return extend({ 'instance': a:instance }, s:constructor) endfunction let s:constructor = {} function! s:constructor.new(source) dict abort return extend(extend(s:super_constructor.new(a:source), s:instance), self.instance) endfunction let s:instance = {} function! s:instance.is_full() dict abort return self.x_months * self.y_months == 12 endfunction function! s:instance.get_months() dict abort if self.is_full() return b:calendar.year().get_months() else let m = b:calendar.month() let months = [m] for i in range(self.x_months * self.y_months / 2) call add(months, months[-1].add(1)) endfor for i in range((self.x_months * self.y_months - 1) / 2) call insert(months, months[0].add(-1), 0) endfor return months endif endfunction function! s:instance.width() dict abort let daywidth = 2 let pad = 100 while pad > daywidth * 7 let daywidth += 1 let pad = self.x_months > 1 ? max([(self.maxwidth() - daywidth * 7 * self.x_months)/2 / (self.x_months - 1), 2]) : 0 endwhile let self.pad = pad let self.daywidth = daywidth return (daywidth * 7 + pad) * self.x_months - pad - self.daywidth + 2 endfunction function! s:instance.height() dict abort return self.y_months > 1 ? max([9, (self.maxheight()) * 4/5 / self.y_months]) * self.y_months : 9 endfunction function! s:instance.display_point() dict abort let w = self.maxwidth() - 2 let h = self.maxheight() let lw = w - self.width() let lh = (h - self.height()) * 2 return (lw >= 0 && lh >= 0) * (lw + lh + (lw - lh >= 0 ? lw - lh : - (lw - lh)) * 5) endfunction function! s:instance.on_resize() dict abort let self.view = {} let self.view.width = ((self.sizex() + self.pad + self.daywidth - 2)/ self.x_months - self.pad) / 7 let self.view.pad = self.pad let self.view.height = self.sizey() / self.y_months let self.view.dheight = 1 let self.view.dheight = max([1, self.view.height / 8]) let self.view.offset = self.view.dheight * 2 let self.element = {} let self.element.pad = repeat(' ', self.view.pad) let self.element.format = '%2d' . repeat(' ', self.view.width - 2) let self.element.white = repeat(' ', self.view.width) let self._today = [0, 0, 0] let self._month = [0, 0] let self._year = 0 call self.set_day_name() endfunction function! s:instance.set_day_name() dict abort let day_name = copy(calendar#message#get('day_name')) let [v, e] = [self.view, self.element] let [mh, h, w] = [v.dheight, v.height, v.width] let syntax = [] let day_names = '' let offsetx = [0] let index = calendar#week#first_day_index() for i in range(index, index + 6) let name = day_name[i % 7] let day_names .= calendar#string#truncate(name, 2) . repeat(' ', self.view.width - 2) call add(offsetx, len(day_names)) endfor for j in range(self.y_months) let y = h * j + v.offset / 2 let f = 1 let daytitles = [] for i in range(self.x_months) call add(daytitles, calendar#text#new(len(day_names) - (self.view.width - 2), (offsetx[-1] + v.pad) * i, y, 'DayTitle')) for k in range(index, index + 6) let l = k % 7 let is_sunday = l == 0 let is_saturday = l == 6 if is_sunday || is_saturday let x = (offsetx[-1] + v.pad) * i + offsetx[k - index] let name = day_name[l] let weekstr = calendar#string#truncate(name, 2) let syn = is_sunday ? 'SundayTitle' : is_saturday ? 'SaturdayTitle' : '' call daytitles[-1].over(calendar#text#new(len(weekstr), x, y, syn)) endif endfor endfor for i in range(len(daytitles)) if i call extend(syntax[-1].syn, daytitles[i].syn) else call add(syntax, daytitles[i]) endif endfor endfor let self.day_name_texts = syntax let self.day_names = day_names let self.day_names_len = offsetx[-1] let self._first_day = calendar#setting#get('first_day') endfunction function! s:instance.changed() dict abort if self._today != calendar#day#today().get_ymd() || get(self, '_first_day', '') != calendar#setting#get('first_day') return 1 elseif self.is_full() return self._year != b:calendar.year().get_y() else return self._month != b:calendar.month().get_ym() endif endfunction function! s:instance.set_contents() dict abort let month_name = copy(calendar#message#get('month_name_long')) let self.month_names_offset = [] for i in range(self.y_months) call add(self.month_names_offset, []) endfor let year = b:calendar.year() let month = b:calendar.month() let s = repeat([''], self.sizey()) let syntax = deepcopy(self.day_name_texts) let [v, e] = [self.view, self.element] let [mh, h, w] = [v.dheight, v.height, v.width] let [i, j] = [0, 0] let today = calendar#day#today() let self.sun_position = [] let self.sat_position = [] let self.top_syntax = [] let months = self.get_months() let week_number = calendar#setting#get('week_number') for m in months if len(s[h * j]) for mj in range(h) let s[mj + h * j] .= mj < v.offset ? e.pad : e.pad[2:] endfor endif let [mi, mj] = [0, 0] let monthname = month_name[m.get_month() - 1] let monthnamelen = calendar#string#strdisplaywidth(monthname) let holidays = b:calendar.event.get_holidays(m.get_year(), m.get_month()) call add(self.month_names_offset[j], len(s[mh * mj + h * j])) if monthnamelen >= w * 6 + 2 let s[mh * mj + h * j] .= calendar#string#truncate(monthname, w * 7 - 1) . ' ' else let whiteleft = (w * 6 + 3 - monthnamelen) / 2 let whiteright = w * 7 - monthnamelen - whiteleft let s[mh * mj + h * j] .= repeat(' ', whiteleft) . monthname . repeat(' ', whiteright) endif call add(self.month_names_offset[j], len(s[mh * mj + h * j])) let s[mh * mj + h * j + v.offset / 2] .= self.day_names let days = m.get_days() let prev_days = calendar#week#is_first_day(days[0]) ? [] : m.add(-1).get_days() let next_days = calendar#week#is_last_day(days[-1]) ? [] : m.add(1).get_days() let week_count = calendar#week#week_count(m) let wn = calendar#week#week_index(days[0]) let ld = wn + len(days) let sun = [-1, -1, -1] let sat = [-1, -1, -1] for p in range(week_count * 7) let d = p < wn ? prev_days[-wn + p] : p < ld ? days[p - wn] : next_days[p - ld] let x = (w * 7 + v.pad) * i + v.width * mi let y = mh * mj + h * j + v.offset if wn <= p && p < ld let s[y] .= printf(e.format, d.get_day()) if today.eq(d) for k in range(mh) " Do not use .height() call add(self.top_syntax, calendar#text#new(2, x, y + k, 'Today')) endfor elseif has_key(holidays, join(d.get_ymd(), '-')) for k in range(mh) " Do not use .height() call add(self.top_syntax, calendar#text#new(2, x, y + k, 'Sunday')) endfor elseif d.is_sunday() if sun[0] < 0 | let sun[0] = x | endif let sun[2 - (sun[1] < 0)] = y elseif d.is_saturday() if sat[0] < 0 | let sat[0] = x | endif let sat[2 - (sat[1] < 0)] = y endif let dd = d else let s[y] .= e.white endif if mi == 6 let [mi, mj] = [0, mj + 1] if week_number call add(self.top_syntax, calendar#text#new(2, len(s[y]), y, 'Comment')) let s[y] .= printf('%2d', calendar#week#week_number(dd)) else let s[y] .= ' ' endif else let mi = mi + 1 endif endfor if sun[0] >= 0 if sun[2] < 0 | let sun[2] = sun[1] | endif if len(syntax) && syntax[-1].y == sun[1] call add(syntax[-1].syn, ['Sunday', sun[1], sun[0], sun[0] + 2, sun[2] - sun[1] + mh]) elseif len(syntax) > 1 && syntax[-2].y == sun[1] call add(syntax[-2].syn, ['Sunday', sun[1], sun[0], sun[0] + 2, sun[2] - sun[1] + mh]) else call add(syntax, calendar#text#new(2, sun[0], sun[1], 'Sunday').height(sun[2] - sun[1] + mh)) endif endif if sat[0] >= 0 if sat[2] < 0 | let sat[2] = sat[1] | endif if len(syntax) && syntax[-1].y == sat[1] call add(syntax[-1].syn, ['Saturday', sat[1], sat[0], sat[0] + 2, sat[2] - sat[1] + mh]) elseif len(syntax) > 1 && syntax[-2].y == sat[1] call add(syntax[-2].syn, ['Saturday', sat[1], sat[0], sat[0] + 2, sat[2] - sat[1] + mh]) else call add(syntax, calendar#text#new(2, sat[0], sat[1], 'Saturday').height(sat[2] - sat[1] + mh)) endif endif call add(self.sun_position, sun) call add(self.sat_position, sat) for jj in range(mj, h - v.offset) let y = mh * jj + h * j + v.offset if y < len(s) && y < h * (j + 1) let s[y] .= repeat(e.white, 7) . ' ' else break endif endfor if i == self.x_months - 1 | let [i, j] = [0, j + 1] | else | let i = i + 1 | endif if j >= self.y_months | break | endif endfor let self._today = today.get_ymd() let self._first_day = calendar#setting#get('first_day') if self.is_full() let self._year = b:calendar.year().get_y() else let self._month = b:calendar.month().get_ym() endif let self.days = map(range(len(s)), 'calendar#text#new(s[v:val], 0, v:val, "")') let self.syntax = syntax endfunction function! s:instance.contents() dict abort if get(self, '_first_day', '') != calendar#setting#get('first_day') | call self.on_resize() | endif if self.changed() | call self.set_contents() | endif let [v, e] = [self.view, self.element] let [mh, h, w] = [v.dheight, v.height, v.width] let select = [] let month = b:calendar.month() let ij = month.sub(self.get_months()[0]) let [i, j] = [ij % self.x_months, ij / self.x_months] let o = self.month_names_offset[j] let sunsat = [] if self.is_selected() for x in range(calendar#week#week_count(month) * mh + v.offset) let l = x ? (x > 1 ? w * 7 : self.day_names_len) : o[i * 2 + 1] - o[i * 2] let offset = x ? ((x > 1 ? w * 7 : self.day_names_len) + v.pad) * i : o[i * 2] if x != mh call add(select, calendar#text#new(l - (self.view.width - 2), offset, h * j + x, 'Select')) endif endfor call add(select, calendar#text#new(0, o[i * 2], h * j, 'Cursor')) let sun = self.sun_position[ij] for j in range(sun[2] - sun[1] + mh - 1) call add(sunsat, calendar#text#new(2, sun[0], sun[1] + j + 1, '')) endfor let sat = self.sat_position[ij] for j in range(sat[2] - sat[1] + mh - 1) call add(sunsat, calendar#text#new(2, sat[0], sat[1] + j + 1, '')) endfor endif return deepcopy(self.days) + select + deepcopy(self.syntax) + sunsat + deepcopy(self.top_syntax) endfunction function! s:instance.action(action) dict abort let month = b:calendar.month() let months = self.get_months() let ij = month.sub(months[0]) let [x, y] = [self.x_months, self.y_months] let [i, j] = [ij % x, ij / x] if a:action ==# 'left' call b:calendar.move_month(self.is_full() ? max([-v:count1, - i]) : -v:count1 * y) elseif a:action ==# 'right' call b:calendar.move_month(self.is_full() ? min([v:count1, x - 1 - i]) : v:count1 * y) elseif index(['prev', 'next', 'space', 'add', 'subtract'], a:action) >= 0 call b:calendar.move_month(v:count1 * (a:action ==# 'prev' || a:action ==# 'subtract' ? -1 : 1)) elseif index(['down', 'up', 'scroll_down', 'scroll_up'], a:action) >= 0 call b:calendar.move_month(v:count1 * (a:action =~# 'down' ? 1 : -1) * x) elseif index(['plus', 'minus'], a:action) >= 0 call b:calendar.move_month(v:count1 * (a:action ==# 'plus' ? 1 : -1) * x - i) elseif index(['down_big', 'up_big'], a:action) >= 0 call b:calendar.move_month(v:count1 * (a:action ==# 'down_big' ? 1 : -1) * (self.is_full() ? x * 2 : len(months))) elseif index(['down_large', 'up_large'], a:action) >= 0 call b:calendar.move_year(v:count1 * (a:action ==# 'down_large' ? 1 : -1)) elseif a:action ==# 'line_head' call b:calendar.move_month(self.is_full() ? -i : -x * y / 2) elseif a:action ==# 'line_middle' call b:calendar.move_month(self.is_full() ? (x - 1) / 2 - i : 0) elseif a:action ==# 'line_last' call b:calendar.move_month(self.is_full() ? x - 1 - i : x * y / 2) elseif a:action ==# 'bar' call b:calendar.move_month(min([v:count1, x]) - (self.is_full() ? i + 1 : (x + 1) / 2)) elseif a:action ==# 'first_line' || a:action ==# 'first_line_head' call b:calendar.move_month(- ij) elseif a:action ==# 'last_line' call b:calendar.move_month(-month.sub(months[-x])) elseif a:action ==# 'last_line_last' call b:calendar.move_month(-month.sub(months[-1])) elseif a:action ==# 'command_enter' && mode() ==# 'c' && getcmdtype() ==# ':' let cmd = calendar#util#getcmdline() if cmd =~# '^\s*\d\+\s*$' let c = max([min([cmd * 1, 12]), 1]) call b:calendar.move_month(c - month.get_month()) return calendar#util#update_keys() endif endif endfunction let s:super_constructor = calendar#constructor#view#new(s:instance) let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/view_textbox.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/view_textbox.vim " Author: itchyny " License: MIT License " Last Change: 2021/09/18 13:37:00. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#view_textbox#new(instance) abort return extend({ 'instance': a:instance }, s:constructor) endfunction let s:constructor = {} function! s:constructor.new(source) dict abort return extend(extend(s:super_constructor.new(a:source), s:instance), self.instance) endfunction let s:instance = {} let s:instance._key = [] let s:instance.__key = [] let s:instance._texts = [] let s:instance.select = 0 let s:instance.noindex = [] let s:instance._select_title = 0 let s:instance.syntax = [] let s:instance.length = 0 let s:instance._current_contents = {} let s:instance._prev_contents = {} let s:instance._prevprev_contents = {} let s:instance._next_contents = {} let s:instance._current_group_id = '' let s:instance._nocontents = 1 function! s:instance.width() dict abort let frame = calendar#setting#frame() let width = calendar#string#strdisplaywidth(frame.vertical) return self.maxwidth() / width * width + 2 endfunction function! s:instance.contents() dict abort if self._key == [self.is_selected(), self.select, self.sizex(), self.sizey(), get(self, 'min_index'), get(self, 'max_index')] + self.get_key() return deepcopy(self._texts) endif let s = [] let frame = calendar#setting#frame() let width = calendar#string#strdisplaywidth(frame.vertical) let flen = len(frame.vertical) let top = frame.topleft . repeat(frame.horizontal, (self.sizex() - 2) / width - 2) . frame.topright let bottom = frame.bottomleft . repeat(frame.horizontal, (self.sizex() - 2) / width - 2) . frame.bottomright let w = self.sizex() - 4 - width * 2 let sizey = self.sizey() - 1 let self.cnt = self.get_contents() let self.length = len(self.cnt) if len(self.cnt) for i in range(min([len(self.cnt) - self.min_index, sizey])) call add(s, self.cnt[self.min_index + i]) endfor endif if len(s) < sizey for i in range(sizey - len(s)) call add(s, '') endfor else let s = s[:sizey] endif call map(s, 'calendar#string#truncate(v:val, w)') let texts = map(range(len(s)), 'calendar#text#new(" " . frame.vertical . " " . s[v:val] . " " . frame.vertical . " ", 0, v:val + 1, "")') call insert(texts, calendar#text#new(' ' . top . ' ', 0, 0, ''), 0) call add(texts, calendar#text#new(' ' . bottom . ' ', 0, len(s), '')) let selsyn = '' for [i, syn] in self.syntax if self.min_index <= i && i + 1 < self.min_index + sizey let len = len(s[i - self.min_index]) + 2 call add(texts, calendar#text#new(len, 1 + flen, 1 + i - self.min_index, syn)) if i == self.select let selsyn = syn endif endif endfor if self.is_selected() if self.min_index <= self.select && self.select < self.min_index + sizey if self._select_line let len = len(s[self.select - self.min_index]) + 2 call add(texts, calendar#text#new(len, 1 + flen, 1 + self.select - self.min_index, selsyn . 'Select')) endif endif call add(texts, calendar#text#new(0, 1 + flen, 1 + self.select - self.min_index, 'Cursor')) endif let self._texts = deepcopy(texts) let self._key = [self.is_selected(), self.select, self.sizex(), self.sizey(), get(self, 'min_index'), get(self, 'max_index')] + self.get_key() return texts endfunction function! s:instance.get_key() dict abort return [] endfunction function! s:instance.get_contents() dict abort if self.__key == [self.select, self.sizex(), self.sizey(), get(self, 'min_index'), get(self, 'max_index')] + self.get_key() return self.cnt endif let self.noindex = [] let self.syntax = [] let cnt = [] let frame = calendar#setting#frame() let width = calendar#string#strdisplaywidth(frame.vertical) let cnts = self.get_raw_contents() let w = self.sizex() - width * 2 if len(cnts) let self._current_contents = {} let self._prev_contents = {} let self._prevprev_contents = {} let self._next_contents = {} for j in range(len(cnts)) let t = cnts[j] if len(cnt) if !self._select_title call add(self.noindex, len(cnt)) endif call add(cnt, '') endif if !self._select_title call add(self.noindex, len(cnt)) endif if len(cnt) == self.select let self._current_contents = { 'title': t.title } endif call add(cnt, repeat(' ', max([(self.sizex() - 4 - width * 2 - calendar#string#strdisplaywidth(t.title)) / 2, 0])) . t.title) if !self._select_title call add(self.noindex, len(cnt)) endif call add(cnt, '') while index(self.noindex, self.select) >= 0 let self.select += 1 endwhile if j == len(cnts) - 1 let self.select = min([self.select, len(cnt) + len(t.items) - 1]) endif for tt in t.items let lencnt = len(cnt) if lencnt == self.select - 1 let self._prev_contents = deepcopy(tt) elseif lencnt == self.select - 2 let self._prevprev_contents = deepcopy(tt) elseif lencnt == self.select + 1 let self._next_contents = deepcopy(tt) elseif lencnt == self.select let self._current_contents = deepcopy(tt) let self._current_group_id = get(t, 'id', '') endif if get(tt, 'status', '') ==# 'completed' call add(self.syntax, [len(cnt), 'Comment']) elseif has_key(tt, 'syntax') call add(self.syntax, [len(cnt), tt.syntax]) endif call add(cnt, get(tt, 'prefix', '') . get(tt, 'title', get(tt, 'summary', ''))) endfor endfor if self._nocontents && has_key(self, 'min_index') && has_key(self, 'max_index') unlet! self.min_index self.max_index endif if self._current_group_id == '' let self._current_group_id = get(cnts[0], 'id', '') endif let [self.min_index, self.max_index] = self.min_max_index(len(cnt)) let self._nocontents = 0 else let [self.min_index, self.max_index] = [0, 0] let self._nocontents = 1 let self.select = 0 let self._prev_contents = {} let self._prevprev_contents = {} let self._next_contents = {} let self._current_contents = {} let self._current_group_id = '' endif let self.__key = [self.select, self.sizex(), self.sizey(), get(self, 'min_index'), get(self, 'max_index')] + self.get_key() return cnt endfunction function! s:instance.min_max_index(length) dict abort let height = self.sizey() - 2 let length = max([a:length, height]) if has_key(self, 'min_index') if self.select < self.min_index let min = self.select elseif self.select >= self.max_index let min = self.min_index + self.select - self.max_index else let min = self.min_index endif else let min = self.select - height / 2 + 2 endif let min = max([min, 0]) let max = min([min + height - 1, length - 1]) let min = max([max - height + 1, 0]) let max = min([min + height - 1, length - 1]) return [min, max] endfunction function! s:instance.move_select(diff) dict abort let self.select = max([min([self.select + a:diff, self.length - 1]), 0]) let diff = a:diff > 0 ? 1 : -1 while index(self.noindex, self.select) >= 0 if self.select < 3 let self.min_index = - self.length let diff = 1 endif let self.select += diff endwhile let self.select = max([min([self.select, self.length - 1]), 0]) let self.__updated = 1 let [self.min_index, self.max_index] = self.min_max_index(self.length) endfunction function! s:instance.current_contents() dict abort return self._current_contents endfunction function! s:instance.prev_contents() dict abort return self._prev_contents endfunction function! s:instance.prevprev_contents() dict abort return self._prevprev_contents endfunction function! s:instance.next_contents() dict abort return self._next_contents endfunction function! s:instance.current_group_id() dict abort return self._current_group_id endfunction function! s:instance._action(action) dict abort let hour = self.select let self.__updated = 0 let [select, min_index, max_index] = [self.select, self.min_index, self.max_index] if index(['down', 'up'], a:action) >= 0 call self.move_select(v:count1 * (a:action ==# 'down' ? 1 : -1)) elseif index(['down_big', 'up_big'], a:action) >= 0 let diff = self.max_index - self.min_index let dir = a:action ==# 'down_big' ? 1 : -1 let di = max([min([v:count1 * dir * diff * 2 / 3, self.length - 1 - hour]), - hour]) if dir > 0 let self.min_index = self.min_index + v:count1 * dir * diff let self.max_index = self.min_index + diff else let self.max_index = self.max_index + v:count1 * dir * diff let self.min_index = self.max_index - diff endif call self.move_select(di) elseif index(['down_large', 'up_large'], a:action) >= 0 let diff = self.max_index - self.min_index let dir = a:action ==# 'down_large' ? 1 : -1 let di = max([min([(dir > 0 ? self.max_index : self.min_index) - hour + (v:count1 - 1) * dir * diff, self.length - 1 - hour]), - hour]) if dir > 0 let self.min_index = self.min_index + v:count1 * dir * diff let self.max_index = self.min_index + diff else let self.max_index = self.max_index + v:count1 * dir * diff let self.min_index = self.max_index - diff endif call self.move_select(di) elseif a:action ==# 'first_line' || a:action ==# 'first_line_head' || (a:action ==# 'last_line' && v:count) call self.move_select((v:count ? min([v:count1, self.length - 1]) : 0) - hour) elseif a:action ==# 'last_line' call self.move_select((v:count ? max([v:count1, self.length - 1]) : self.length - 1) - hour) elseif a:action ==# 'last_line_last' call self.move_select((v:count ? max([v:count1, self.length - 1]) : self.length - 1) - hour) elseif index(['scroll_down', 'scroll_up'], a:action) >= 0 let diff = v:count1 * (a:action =~# 'down' ? 1 : -1) let old_indeces = [self.min_index, self.max_index] let self.min_index += diff let self.max_index += diff let new_indeces = self.min_max_index(self.length) if old_indeces == new_indeces call self.move_select(diff) endif elseif index(['scroll_top_head', 'scroll_top', 'scroll_bottom_head', 'scroll_bottom', 'scroll_center_head', 'scroll_center'], a:action) >= 0 let diff = a:action =~# 'center' ? hour - (self.max_index - self.min_index) / 2 + 1 - self.min_index : (self.length - 1) * (a:action =~# 'top' ? 1 : -1) let self.min_index += diff let self.max_index += diff elseif a:action ==# 'status' let message = get(self.current_contents(), 'title', get(self.current_contents(), 'summary', '')) call calendar#echo#message(message) return 1 elseif index(['yank', 'yank_line'], a:action) >= 0 call self.yank() return 1 elseif index(['delete', 'delete_line'], a:action) >= 0 if calendar#setting#get('yank_deleting') call self.yank() endif return 1 elseif a:action ==# 'enter' let url = get(self.current_contents(), 'htmlLink', '') if url !=# '' call calendar#webapi#open_url(url) endif elseif a:action ==# 'command_enter' && mode() ==# 'c' && getcmdtype() ==# ':' let cmd = calendar#util#getcmdline() if cmd =~# '\v^\s*\d+\s*$' let c = max([min([matchstr(cmd, '\d\+') * 1 - 1, self.length - 1]), 0]) let idxes = filter(range(self.length), 'index(self.noindex, v:val) < 0') call self.move_select(get(idxes, c, get(idxes, -1, 0)) - hour) return calendar#util#update_keys() endif elseif a:action ==# 'command_enter' && mode() ==# 'c' && (getcmdtype() ==# '/' || getcmdtype() ==# '?') \ || a:action ==# 'next_match' || a:action ==# 'prev_match' let iscmd = a:action ==# 'command_enter' let pattern = iscmd ? getcmdline() : @/ if iscmd && getcmdtype() ==# '/' || a:action ==# 'next_match' && v:searchforward \ || a:action ==# 'prev_match' && !v:searchforward let indexes = range(self.select + 1 - iscmd, self.length - 1) + range(self.select + 1) let status = '/' . pattern else let indexes = range(self.select - 1 + iscmd, 0, -1) + range(self.length - 1, self.select, -1) let status = '?' . pattern endif let exitvalue = iscmd ? "\:\silent call b:calendar.update()\" \ . ":\silent let v:searchforward=" . (getcmdtype() ==# '/') . "\" \ . ":\echo " . string(status) . "\" : 0 if iscmd let @/ = pattern else echo status endif try for i in indexes if self.cnt[i] =~ pattern " do not use =~# (use 'ignorecase') call self.move_select(i - self.select) return exitvalue endif endfor catch endtry return exitvalue endif if self.__updated && [select, max_index] == [self.select, self.max_index] && (min_index == self.min_index || !min_index) return '' endif endfunction function! s:instance.yank() dict abort let message = get(self.current_contents(), 'title', get(self.current_contents(), 'summary', '')) call calendar#util#yank(message) endfunction function! s:instance.action(action) dict abort return self._action(a:action) endfunction let s:super_constructor = calendar#constructor#view#new(s:instance) let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/view_ymd.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/view_ymd.vim " Author: itchyny " License: MIT License " Last Change: 2017/07/02 08:42:35. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#view_ymd#new(instance) abort return extend({ 'instance': a:instance }, s:constructor) endfunction let s:constructor = {} function! s:constructor.new(source) dict abort let instance = extend(extend(s:super_constructor.new(a:source), s:instance), self.instance) let iday = index(instance.ymd, 'day') let imonth = index(instance.ymd, 'month') let iyear = index(instance.ymd, 'year') let instance.select_index = iday >= 0 ? iday : imonth >= 0 ? imonth : iyear return instance endfunction let s:instance = {} function! s:instance.width() dict abort return len(self.contents()[0].s) endfunction function! s:instance.height() dict abort return 1 endfunction function! s:sum(l) abort let n = 0 for i in a:l let n += i endfor return n endfunction function! s:instance.contents() dict abort let y = b:calendar.month().get_year() let year = y > 0 ? string(y) : (1 - y) . ' BC' let use_month_name = calendar#setting#get('date_month_name') let use_full_month_name = calendar#setting#get('date_full_month_name') if use_full_month_name let month = calendar#message#get('month_name_long')[b:calendar.month().get_month() - 1] elseif use_month_name let month = calendar#message#get('month_name')[b:calendar.month().get_month() - 1] else let month = printf('%2d', b:calendar.month().get_month()) endif let day = printf('%2d', b:calendar.day().get_day()) let sepa = substitute(printf(' %s ', calendar#setting#get('date_separator')), '\s\+', ' ', 'g') let texts = map(copy(self.ymd), "get({ 'year': year, 'month': month, 'day': day }, v:val)") let t = '' let separator = [] for i in range(len(texts)) if i let sep = use_month_name && (self.ymd[i - 1] ==# 'month' && self.ymd[i] ==# 'day' || self.ymd[i - 1] ==# 'day' && self.ymd[i] ==# 'month') ? ' ' : sepa else let sep = '' endif call add(separator, sep) let t .= sep . texts[i] endfor let text = calendar#text#new(t, 0, 0, '') if self.is_selected() let separatorlen = map(copy(separator), 'len(v:val)') let length = map(copy(self.ymd), "get({ 'year': len(year), 'month': len(month), 'day': len(day) }, v:val)") let position = map(range(len(length)), 's:sum((v:val ? length[:(v:val - 1)] : []) + (separatorlen[:(v:val)]))') let select = calendar#text#new(length[self.select_index], position[self.select_index], 0, 'Select') let cursor = calendar#text#new(0, length[self.select_index] + position[self.select_index], 0, 'Cursor') return [text, select, cursor] else return [text] endif endfunction function! s:instance.action(action) dict abort if index(['left', 'prev', 'line_head', 'first_line', 'last_line' ], a:action) >= 0 let self.select_index = max([self.select_index - 1, 0]) elseif index(['right', 'next', 'line_last', 'last_line_last'], a:action) >= 0 let self.select_index = min([self.select_index + 1, len(self.ymd) - 1]) elseif index(['down', 'up', 'add', 'subtract', 'plus', 'minus', 'scroll_down', 'scroll_up'], a:action) >= 0 let diff = v:count1 * (index(['down', 'add', 'plus', 'scroll_down'], a:action) >= 0 ? 1 : -1) call b:calendar['move_' . self.ymd[self.select_index]](diff) elseif index(['down_big', 'up_big'], a:action) >= 0 let diff = v:count1 * (a:action ==# 'down_big' ? 1 : -1) let move_big = { 'year': 10, 'month': 3, 'day': 7 } call b:calendar['move_' . self.ymd[self.select_index]](diff * move_big[self.ymd[self.select_index]]) elseif index(['down_large', 'up_large'], a:action) >= 0 let diff = v:count1 * (a:action ==# 'down_large' ? 1 : -1) let move_large = { 'year': 100, 'month': 6, 'day': 14 } call b:calendar['move_' . self.ymd[self.select_index]](diff * move_large[self.ymd[self.select_index]]) elseif a:action ==# 'bar' let self.select_index = max([min([v:count1 - 1, len(self.ymd) - 1]), 0]) elseif a:action ==# 'space' let self.select_index = (self.select_index + 1) % len(self.ymd) elseif a:action ==# 'command_enter' && mode() ==# 'c' && getcmdtype() ==# ':' let cmd = calendar#util#getcmdline() if cmd =~# '\v^\s*\d+\s*$' let c = matchstr(cmd, '\v\d+') * 1 if self.ymd[self.select_index] ==# 'day' let month = b:calendar.month() let [y, m] = month.get_ym() let c = max([min([c, month.last_day().get_day()]), month.head_day().get_day()]) call b:calendar.move_day(b:calendar.day().new(y, m, c).sub(b:calendar.day())) elseif self.ymd[self.select_index] ==# 'month' let month = b:calendar.month().get_month() let c = max([min([c, 12]), 1]) call b:calendar.move_month(c - month) elseif self.ymd[self.select_index] ==# 'year' call b:calendar.move_year(c - b:calendar.month().get_year()) endif return calendar#util#update_keys() endif endif endfunction let s:super_constructor = calendar#constructor#view#new(s:instance) let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/constructor/year.vim ================================================ " ============================================================================= " Filename: autoload/calendar/constructor/year.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:04. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#constructor#year#new(day_constructor) abort return extend({ 'day_constructor': a:day_constructor, 'cache': {} }, s:constructor) endfunction let s:constructor = {} function! s:constructor.new(y) dict abort let instance = copy(s:instance) let instance.day_constructor = self.day_constructor let instance._y = a:y let instance.constructor = self return instance endfunction let s:instance = {} function! s:instance.new(y) dict abort return self.constructor.new(a:y) endfunction function! s:instance.add(diff) dict abort return self.new(self.get_y() + a:diff) endfunction function! s:instance.sub(year) dict abort return self.get_y() - a:year.get_y() endfunction function! s:instance.eq(year) dict abort return self.get_y() == a:year.get_y() endfunction function! s:instance.is_valid() dict abort return self.head_day().is_valid() && self.last_day().is_valid() endfunction function! s:instance.get_y() dict abort if has_key(self, 'y') | return self.y | endif let self.y = self.head_day().get_ymd()[0] return self.y endfunction function! s:instance.get_year() dict abort return self.get_y() endfunction function! s:instance.get_month() dict abort return self.head_day().get_month() endfunction function! s:instance.get_day() dict abort return self.head_day().get_day() endfunction function! s:instance.head_day() dict abort if has_key(self, '_head_day') | return self._head_day | endif let self._head_day = self.day_constructor.new(self._y, 1, 1) return self._head_day endfunction function! s:instance.last_day() dict abort if has_key(self, '_last_day') | return self._last_day | endif let self._last_day = self.day_constructor.new(self._y + 1, 1, 1).add(-1) return self._last_day endfunction function! s:instance.head_month() dict abort if has_key(self, '_head_month') | return self._head_month | endif let self._head_month = self.head_day().month() return self._head_month endfunction function! s:instance.last_month() dict abort if has_key(self, '_last_month') | return self._last_month | endif let self._last_month = self.last_day().month() return self._last_month endfunction function! s:instance.days() dict abort if has_key(self, '_days') | return self._days | endif let self._days = self.last_day().sub(self.head_day()) + 1 return self._days endfunction function! s:instance.get_months() dict abort if has_key(self, '__months') | return self.__months | endif if has_key(self.constructor.cache, self.get_y()) | return self.constructor.cache[self.get_y()] | endif let months = [] call add(months, self.head_month()) while !self.last_month().eq(months[-1]) call add(months, months[-1].add(1)) endwhile let self.__months = months let self.constructor.cache[self.get_y()] = months return months endfunction function! s:instance.day() dict abort return self.head_day() endfunction function! s:instance.month() dict abort return self.head_month() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/controller.vim ================================================ " ============================================================================= " Filename: autoload/calendar/controller.vim " Author: itchyny " License: MIT License " Last Change: 2021/09/14 13:07:41. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Calendar controller. This object is the top-level object, b:calendar. function! calendar#controller#new() abort let self = deepcopy(s:self) let self.model = calendar#model#new() let self.view = calendar#view#new() let self.task = calendar#task#new() let self.event = calendar#event#new() let self.mark = calendar#mark#new() return self endfunction let s:self = {} let s:self.pos = [0, 0] let s:self.cursor_pos = [0, 0] let s:self.mode = '' let s:self.action_name = '' let s:self.defaultsyntaxnames = ['Select', 'Sunday', 'Saturday', \ 'TodaySunday', 'TodaySaturday', 'Today', \ 'OtherMonth', 'OtherMonthSelect', 'DayTitle', 'SundayTitle', 'SaturdayTitle', \ 'NormalSpace', 'Comment', 'CommentSelect'] function! s:self.time() dict abort return self.model.time() endfunction function! s:self.set_time(time) dict abort return self.model.set_time(a:time) endfunction function! s:self.second() dict abort return self.model.second() endfunction function! s:self.minute() dict abort return self.model.minute() endfunction function! s:self.hour() dict abort return self.model.hour() endfunction function! s:self.move_second(diff) dict abort call self.model.move_second(a:diff) endfunction function! s:self.move_minute(diff) dict abort call self.model.move_minute(a:diff) endfunction function! s:self.move_hour(diff) dict abort call self.model.move_hour(a:diff) endfunction function! s:self.day() dict abort return self.model.day() endfunction function! s:self.set_day(day) dict abort return self.model.set_day(a:day) endfunction function! s:self.month() dict abort return self.model.month() endfunction function! s:self.set_month() dict abort return self.model.set_month(self.day().month()) endfunction function! s:self.year() dict abort return self.model.year() endfunction function! s:self.get_days() dict abort return self.model.get_days() endfunction function! s:self.move_day(diff) dict abort call self.model.move_day(a:diff) endfunction function! s:self.move_month(diff) dict abort call self.model.move_month(a:diff) endfunction function! s:self.move_year(diff) dict abort call self.model.move_year(a:diff) endfunction function! s:self.start_visual() dict abort call self.model.start_visual() endfunction function! s:self.start_line_visual() dict abort call self.model.start_line_visual() endfunction function! s:self.start_block_visual() dict abort call self.model.start_block_visual() endfunction function! s:self.exit_visual() dict abort call self.model.exit_visual() endfunction function! s:self.visual_mode() dict abort return self.model.visual_mode() endfunction function! s:self.is_visual() dict abort return self.model.is_visual() endfunction function! s:self.is_line_visual() dict abort return self.model.is_line_visual() endfunction function! s:self.is_block_visual() dict abort return self.model.is_block_visual() endfunction function! s:self.visual_start_day() dict abort return self.model.visual_start_day() endfunction function! s:self.visual_start_time() dict abort return self.model.visual_start_time() endfunction function! s:self.go(day) dict abort call self.set_day(a:day) call self.set_month() call self.update() endfunction function! s:self.prepare() dict abort let [self.winheight, self.winwidth] = [calendar#util#winheight(), calendar#util#winwidth()] call calendar#mapping#new() call calendar#autocmd#new() call calendar#setlocal#new() endfunction function! s:self.update() dict abort call self.prepare() call self.redraw(0) endfunction function! s:self.update_force() dict abort call self.prepare() call self.redraw(1) endfunction function! s:self.update_force_redraw() dict abort call self.event.clear_cache() call self.task.clear_cache() call self.prepare() call self.redraw(1, 1) endfunction function! s:self.update_if_resized() dict abort if self.winheight != calendar#util#winheight() || self.winwidth != calendar#util#winwidth() call self.update_force_redraw() endif endfunction function! s:self.clear() dict abort for name in self.defaultsyntaxnames + get(b:calendar, 'syntaxnames', []) exec 'silent! syntax clear Calendar' . name endfor endfunction function! s:self.redraw(...) dict abort if histget(':', -1) ==# 'silent call b:calendar.update()' silent! call histdel(':', -1) endif let u = self.view.gather(a:0 ? a:1 : 0) if type(u) != type([]) return endif call calendar#setlocal#modifiable() silent % delete _ if a:0 > 1 && a:2 redraw endif call self.clear() call setline(1, map(range(calendar#util#winheight()), 'u[v:val].s')) let xs = {} let names = [] for t in u for s in t.syn let name = s[0] if name !=# '' && s[1] >= 0 && s[2] >= 0 if name ==# 'Cursor' let self.pos = [s[2], s[1]] else if !has_key(xs, name) let xs[name] = [] call add(names, name) endif call add(xs[name], s[4] ? [s[1], s[1] + s[4] + 1, s[2] + 1, s[3] + 1] : [s[1] + 1, s[2] + 1, s[3] + 1]) endif endif endfor endfor for name in names execute 'syntax match Calendar' . name . ' /\v' . join(map(xs[name], 'len(v:val) > 3' \.' ? "%>" . v:val[0] . "l%<" . v:val[1] . "l%" . v:val[2] . "c.*%" . v:val[3] . "c"' \.' : "%" . v:val[0] . "l%" . v:val[1] . "c.*%" . v:val[2] . "c"'), '|') . '/' endfor call self.cursor() call calendar#setlocal#nomodifiable() endfunction function! s:self.cursor() dict abort let b:calendar.cursor_pos = [self.pos[1] + 1, self.pos[0] + 1] call cursor(b:calendar.cursor_pos[0], b:calendar.cursor_pos[1]) endfunction function! s:self.cursor_moved() dict abort if [line('.'), col('.')] == b:calendar.cursor_pos return else let [l, c] = [line('.'), col('.')] let [pl, pc] = b:calendar.cursor_pos let g = getline('.') let [wp, wn, wg] = map([getline(pl)[:pc - 2], g[:c - 2], g], 'calendar#string#strdisplaywidth(v:val)') if pl == l call self.action(wg <= wn * 2 && wn * 2 <= wg + 3 ? 'line_middle' \ : g[:c - 2] =~? '^\s*$' ? 'line_head' \ : len(g) == c ? 'line_last' \ : pc < c ? 'right' \ : 'left') elseif wp - wn < 2 && wp - wn > -2 call self.action(pl < l ? 'down' : 'up') elseif l == 1 && (c > 2 && getline(1)[:c - 2] =~? '^ *$' || c <= 2) call self.action('first_line') elseif l == line('$') && c > 2 && getline(1)[:c - 2] =~? '^ *$' call self.action('last_line_last') endif endif endfunction function! s:self.action(action) dict abort let action = a:action if index([ 'delete', 'yank', 'change' ], action) >= 0 if self.mode ==# action let self.mode = '' let action .= '_line' else let self.mode = action return endif else let self.mode = '' endif let self.action_name = action let ret = self.view.action(action) if type(ret) == type(0) && ret == 0 call self.update() endif return ret endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/countcache.vim ================================================ " ============================================================================= " Filename: autoload/calendar/countcache.vim " Author: itchyny " License: MIT License " Last Change: 2020/11/19 07:40:05. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " CountCache object, caching anything with countdown. " Caching is imporant for speeding up. However, storing everything causes the " cache to grow bigger and bigger. For efficient caching, this CountCache object " is used. Basically, data are stored with numbers. " [ num, data ] " The number refers to how many times the data is referenced to. And when saving " to the cache file, data are saved if the data was referenced many times enough. " When restoring the data from the cache file, all the counts are subtracted " one, so that data will disappear if it is not referenced to for a long time. let s:cache = calendar#cache#new('countcache') let s:caches = [] function! calendar#countcache#new(name) abort let self = extend(copy(s:self), { 'name': a:name }) let cache = s:cache.get(a:name) " When restoring from the cache file, negate each count by 1. " Also, keep the number small (50 in max) so that the number will not overflow. let self.cache = type(cache) == type({}) ? map(cache, '[min([v:val[0] - 1, 50]), v:val[1]]') : {} call add(s:caches, self) return self endfunction let s:saveflag = {} let s:count = 0 " Saving the cache to the cache file. function! calendar#countcache#save() abort if s:count < 10 let s:count += 1 return endif let s:count = 0 if exists('s:reltime') && has('reltime') let time = split(split(reltimestr(reltime(s:reltime)))[0], '\.') if time[0] < 60 return endif endif for c in s:caches if get(s:saveflag, c.name, 1) call s:cache.save(c.name, filter(c.cache, 'v:val[0] > 29')) let s:saveflag[c.name] = 0 endif endfor if has('reltime') let s:reltime = reltime() endif endfunction augroup CalendarCountCache autocmd! autocmd CursorHold * call calendar#countcache#save() augroup END let s:self = {} " Check if the key is found in the cache. function! s:self.has_key(k) dict abort return has_key(self.cache, a:k) endfunction " Be sure to check has_key before getting the data. function! s:self.get(k) dict abort let self.cache[a:k][0] += 1 return self.cache[a:k][1] endfunction " Save a data with a key. function! s:self.save(k, v) dict abort let self.cache[a:k] = [ get(self.cache, a:k, [0])[0] + 1, a:v ] let s:saveflag[self.name] = 1 return a:v endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/austria.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/austria.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:32. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Brixen, Salzburg and Tyrol let s:constructor = calendar#constructor#day_hybrid#new(1583, 10, 16) function! calendar#day#austria#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#austria#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#austria#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/austriastyria.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/austriastyria.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:34. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Carinthia and Styria let s:constructor = calendar#constructor#day_hybrid#new(1583, 12, 25) function! calendar#day#austriastyria#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#austriastyria#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#austriastyria#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/british.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/british.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:36. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1752, 9, 14) function! calendar#day#british#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#british#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#british#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/bulgaria.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/bulgaria.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:37. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1916, 4, 14) function! calendar#day#bulgaria#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#bulgaria#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#bulgaria#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/canada.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/canada.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:39. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1752, 9, 14) function! calendar#day#canada#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#canada#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#canada#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/default.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/default.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:40. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1582, 10, 15) function! calendar#day#default#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#default#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#default#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/estonia.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/estonia.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:42. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1918, 2, 14) function! calendar#day#estonia#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#estonia#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#estonia#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/france.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/france.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:44. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1582, 12, 20) function! calendar#day#france#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#france#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#france#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/germany.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/germany.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:45. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1583, 1, 11) function! calendar#day#germany#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#germany#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#germany#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/germanyprussia.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/germanyprussia.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:47. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1610, 9, 2) function! calendar#day#germanyprussia#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#germanyprussia#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#germanyprussia#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/greece.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/greece.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:49. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1923, 3, 1) function! calendar#day#greece#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#greece#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#greece#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/gregorian.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/gregorian.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/07 22:04:31. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! s:div(x, y) abort return a:x/a:y-((a:x<0)&&(a:x%a:y)) endfunction function! calendar#day#gregorian#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#gregorian#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#gregorian#today() abort return s:constructor.new_mjd(calendar#day#today_mjd()) endfunction let s:self = {} function! s:self.new(y, m, d) dict abort let y = a:y - (a:m < 3) let mjd = s:div(y*1461,4)+s:div(y,400)-s:div(y,100)+((a:m+12*(a:m<3)-3)*153+2)/5+a:d-678882 return extend(self.new_mjd(mjd), { '_ymd': [a:y, a:m, a:d] }) endfunction function! s:self.new_mjd(mjd) dict abort return s:constructor.new_mjd(a:mjd) endfunction let s:_ = {} let s:days = { '1': 31, '2': 28, '3': 31, '4': 30, '5': 31, '6': 30, '7': 31, '8': 31, '9': 30, '10': 31, '11': 30, '12': 31 } function! s:self.get_ymd() dict abort if has_key(self, 'ymd') | return self.ymd | endif let _ = self.mjd if has_key(s:_, _) | return s:_[_] | endif if has_key(s:_, _ - 1) && s:_[_ - 1][2] < s:days[s:_[_ - 1][1]] let p = s:_[_ - 1] let s:_[_] = [p[0], p[1], p[2] + 1] return s:_[_] endif let a = _ + 2432045 let b = s:div(4 * a + 3, 146097) let c = a - s:div(146097 * b, 4) let d = (4 * c + 3) / 1461 let e = c - (1461 * d) / 4 let m = (5 * e + 2) / 153 let day = e - (153 * m + 2) / 5 + 1 let month = m + 3 - 12 * (m / 10) let year = 100 * b + d - 4800 + m / 10 let self.ymd = [year, month, day] let s:_[_] = self.ymd return self.ymd endfunction function! s:self.is_gregorian() dict abort return 1 endfunction function! s:self.get_calendar() dict abort return 'gregorian' endfunction let s:constructor = calendar#constructor#day#new(s:self) let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/holland.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/holland.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:56. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1583, 1, 1) function! calendar#day#holland#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#holland#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#holland#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/hungary.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/hungary.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:57. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1587, 11, 1) function! calendar#day#hungary#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#hungary#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#hungary#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/italy.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/italy.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:28:59. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1582, 10, 15) function! calendar#day#italy#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#italy#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#italy#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/japan.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/japan.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:01. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " TODO: In Japan, The calendar before switching to Gregorian's calendar was " not Julian's. It was a lunisolar calendar. Therefore, the day before 1873/1/1 " was 1872/12/3, not 1872/12/19. For more infomation, see: " http://en.wikipedia.org/wiki/Tenp%C5%8D_calendar let s:constructor = calendar#constructor#day_hybrid#new(1873, 1, 1) function! calendar#day#japan#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#japan#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#japan#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/julian.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/julian.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/07 22:12:02. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! s:div(x, y) abort return a:x/a:y-((a:x<0)&&(a:x%a:y)) endfunction function! calendar#day#julian#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#julian#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#julian#today() abort return s:constructor.new_mjd(calendar#day#today_mjd()) endfunction let s:self = {} function! s:self.new(y, m, d) dict abort let y = a:y - (a:m < 3) let mjd = s:div(y*1461,4)+((a:m+12*(a:m<3)-3)*153+2)/5+a:d-678884 return extend(self.new_mjd(mjd), { '_ymd': [a:y, a:m, a:d] }) endfunction function! s:self.new_mjd(mjd) dict abort return s:constructor.new_mjd(a:mjd) endfunction let s:_ = {} function! s:self.get_ymd() dict abort if has_key(self, 'ymd') | return self.ymd | endif if has_key(s:_, self.mjd) | return s:_[self.mjd] | endif let c = self.mjd + 678883 let d = s:div(4 * c + 3, 1461) let e = c - s:div(1461 * d, 4) let m = (5 * e + 2) / 153 let day = e - (153 * m + 2) / 5 + 1 let month = m + 3 - 12 * (m / 10) let year = d + m / 10 let self.ymd = [year, month, day] let s:_[self.mjd] = self.ymd return self.ymd endfunction function! s:self.is_gregorian() dict abort return 0 endfunction function! s:self.get_calendar() dict abort return 'julian' endfunction let s:constructor = calendar#constructor#day#new(s:self) let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/poland.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/poland.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:08. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1582, 10, 15) function! calendar#day#poland#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#poland#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#poland#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/portugal.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/portugal.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:09. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1582, 10, 15) function! calendar#day#portugal#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#portugal#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#portugal#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/russia.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/russia.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:11. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1918, 2, 14) function! calendar#day#russia#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#russia#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#russia#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/spain.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/spain.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:12. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1582, 10, 15) function! calendar#day#spain#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#spain#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#spain#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/turkey.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/turkey.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:14. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1927, 1, 1) function! calendar#day#turkey#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#turkey#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#turkey#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day/us.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day/us.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:16. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:constructor = calendar#constructor#day_hybrid#new(1752, 9, 14) function! calendar#day#us#new(y, m, d) abort return s:constructor.new(a:y, a:m, a:d) endfunction function! calendar#day#us#new_mjd(mjd) abort return s:constructor.new_mjd(a:mjd) endfunction function! calendar#day#us#today() abort return s:constructor.today() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/day.vim ================================================ " ============================================================================= " Filename: autoload/calendar/day.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:20. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Day object switching the calendar based on the user's setting. function! calendar#day#new(y, m, d) abort return calendar#day#{calendar#setting#get('calendar')}#new(a:y, a:m, a:d) endfunction " Day object from mjd. function! calendar#day#new_mjd(mjd) abort return calendar#day#{calendar#setting#get('calendar')}#new_mjd(a:mjd) endfunction " Today. function! calendar#day#today() abort return calendar#day#new_mjd(calendar#day#today_mjd()) endfunction " Today's mjd. function! calendar#day#today_mjd() abort let [y, m, d] = s:ymd() if has_key(s:, '_y') && s:_y == [y, m, d] return s:_m endif let s:_y = [y, m, d] let s:_m = calendar#day#gregorian#new(y, m, d).mjd return s:_m endfunction " Today's [ year, month, day ]. if exists('*strftime') function! s:ymd() abort return [strftime('%Y') * 1, strftime('%m') * 1, strftime('%d') * 1] endfunction else function! s:ymd() abort return [system('date "+%Y"') * 1, system('date "+%m"') * 1, system('date "+%d"') * 1] endfunction endif " Join the year, month and day using the endian, separator settings. function! calendar#day#join_date(ymd) abort let endian = calendar#setting#get('date_endian') let use_month_name = calendar#setting#get('date_month_name') let sep1 = calendar#setting#get('date_separator') let sep2 = use_month_name ? '' : sep1 let ymd = a:ymd if len(a:ymd) == 3 let [y, m, d] = a:ymd let mm = use_month_name ? calendar#message#get('month_name')[m - 1] : m if endian ==# 'big' let ymd = [y, sep1, mm, sep2, d] elseif endian ==# 'middle' let ymd = [mm, sep2, d, sep1, y] else let ymd = [d, sep2, mm, sep1, y] endif elseif len(a:ymd) == 2 let [m, d] = a:ymd let mm = use_month_name ? calendar#message#get('month_name')[m - 1] : m if endian ==# 'big' || endian ==# 'middle' let ymd = [mm, sep2, d] else let ymd = [d, sep2, mm] endif endif return join(ymd, '') endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/echo.vim ================================================ " ============================================================================= " Filename: autoload/calendar/echo.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:29:23. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Echo messages. function! calendar#echo#echo(msg) abort echo a:msg endfunction function! calendar#echo#message(msg) abort call calendar#echo#message_raw(calendar#setting#get('message_prefix') . a:msg) endfunction function! calendar#echo#message_raw(msg) abort redraw echo '' for msg in split(a:msg, '\n') echo msg endfor endfunction function! calendar#echo#error(msg) abort call calendar#echo#error_raw(calendar#setting#get('message_prefix') . a:msg) endfunction function! calendar#echo#error_raw(msg) abort redraw echo '' echohl ErrorMsg for msg in split(a:msg, '\n') echo msg endfor echohl None endfunction function! calendar#echo#normal_message(name) abort call calendar#echo#message(calendar#message#get(a:name)) endfunction function! calendar#echo#error_message(name) abort call calendar#echo#error(calendar#message#get(a:name)) endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/event/google.vim ================================================ " ============================================================================= " Filename: autoload/calendar/event/google.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/23 22:01:14. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#event#google#new() abort return deepcopy(s:self) endfunction let s:self = {} let s:self._key = {} let s:self._events = {} function! s:self.get_events_one_month(year, month, ...) dict abort let key = a:year . '-' . a:month if has_key(self._key, key) && has_key(self._events, key) && get(g:, 'calendar_google_event_download', 1) <= 0 && self._events[key] != {} if a:0 && a:1 call calendar#google#calendar#getEventsInitial(a:year, a:month) endif return self._events[key] endif if has_key(self._key, key) unlet self._key[key] endif if has_key(g:, 'calendar_google_event_download') if get(g:, 'calendar_google_event_download') > 1 let g:calendar_google_event_download -= 1 endif endif let self._events[key] = calendar#google#calendar#getEvents(a:year, a:month, a:0 && a:1) let self._key[key] = 1 return self._events[key] endfunction function! s:self.update(calendarId, eventId, title, year, month, ...) dict abort call calendar#google#calendar#update(a:calendarId, a:eventId, a:title, a:year, a:month, a:0 ? a:1 : {}) endfunction function! s:self.insert(calendarId, title, start, end, year, month, ...) dict abort call calendar#google#calendar#insert(a:calendarId, a:title, a:start, a:end, a:year, a:month, a:0 ? a:1 : {}) endfunction function! s:self.move(calendarId, eventId, destination, year, month) dict abort call calendar#google#calendar#move(a:calendarId, a:eventId, a:destination, a:year, a:month) endfunction function! s:self.delete(calendarId, eventId, year, month) dict abort call calendar#google#calendar#delete(a:calendarId, a:eventId, a:year, a:month) endfunction function! s:self.calendarList() dict abort return calendar#google#calendar#getMyCalendarList() endfunction function! s:self.createCalendar() dict abort endfunction function! s:self.clear_cache() dict abort call calendar#google#calendar#clearCache() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/event/local.vim ================================================ " ============================================================================= " Filename: autoload/calendar/event/local.vim " Author: itchyny " License: MIT License " Last Change: 2021/01/30 16:44:33. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#event#local#new() abort return deepcopy(s:self) endfunction let s:cache = calendar#cache#new('local') let s:event_cache = s:cache.new('event') let s:self = {} let s:self._key = {} let s:self._events = {} function! s:self.get_events_one_month(year, month, ...) dict abort let events = {} let calendarList = self.calendarList() let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] let clock_12hour = calendar#setting#get('clock_12hour') for calendar in calendarList let syn = calendar#color#new_syntax(get(calendar, 'id', ''), get(calendar, 'foregroundColor', ''), get(calendar, 'backgroundColor')) unlet! c let c = s:event_cache.new(calendar.id).new(y).new(m).get('0') if type(c) != type({}) || type(get(c, 'items')) != type([]) continue endif for itm in c.items if !(has_key(itm, 'start') && (has_key(itm.start, 'date') || has_key(itm.start, 'dateTime')) \ && has_key(itm, 'end') && (has_key(itm.end, 'date') || has_key(itm.end, 'dateTime'))) continue endif let isTimeEvent = (!has_key(itm.start, 'date')) && has_key(itm.start, 'dateTime') && (!has_key(itm.end, 'date')) && has_key(itm.end, 'dateTime') let ymd = calendar#time#datetime(get(itm.start, 'date', get(itm.start, 'dateTime', ''))) let endymd = calendar#time#datetime(get(itm.end, 'date', get(itm.end, 'dateTime', ''))) if len(ymd) != 6 || len(endymd) != 6 continue endif let date = join(ymd[:2], '-') if has_key(itm.end, 'date') let endymd = ymd[:2] == [endymd[0], endymd[1], endymd[2] - 1] ? ymd : calendar#day#new(endymd[0], endymd[1], endymd[2]).add(-1).get_ymd() + endymd[3:] endif if clock_12hour let start_postfix = ymd[3] < 12 || ymd[3] == 24 ? 'am' : 'pm' let end_postfix = endymd[3] < 12 || endymd[3] == 24 ? 'am' : 'pm' let starttime = ymd[5] ? \ printf('%d:%02d:%02d%s', calendar#time#hour12(ymd[3]), ymd[4], ymd[5], start_postfix ==# end_postfix ? '' : start_postfix) : \ printf('%d:%02d%s', calendar#time#hour12(ymd[3]), ymd[4], start_postfix ==# end_postfix ? '' : start_postfix) let endtime = endymd[5] ? \ printf('%d:%02d:%02d%s', calendar#time#hour12(endymd[3]), endymd[4], endymd[5], end_postfix) : \ printf('%d:%02d%s', calendar#time#hour12(endymd[3]), endymd[4], end_postfix) else let starttime = ymd[5] ? printf('%d:%02d:%02d', ymd[3], ymd[4], ymd[5]) : printf('%d:%02d', ymd[3], ymd[4]) let endtime = endymd[5] ? printf('%d:%02d:%02d', endymd[3], endymd[4], endymd[5]) : printf('%d:%02d', endymd[3], endymd[4]) endif if !has_key(events, date) let events[date] = { 'events': [] } endif call add(events[date].events, extend(itm, \ { 'calendarId': calendar.id \ , 'calendarSummary': calendar.summary \ , 'syntax': syn \ , 'isTimeEvent': isTimeEvent \ , 'isHoliday': 0 \ , 'isMoon': 0 \ , 'isDayNum': 0 \ , 'isWeekNum': 0 \ , 'starttime': starttime \ , 'endtime': endtime \ , 'ymdnum': (((ymd[0] * 100 + ymd[1]) * 100) + ymd[2]) \ , 'hms': ymd[3:] \ , 'sec': isTimeEvent ? ((ymd[3] * 60) + ymd[4]) * 60 + ymd[5] \ : get(itm, 'summary', '') =~# '\v^\d\d?:\d\d(:\d\d)?\s+' ? s:extract_time_sec(itm.summary) : 0 \ , 'ymd': ymd[:2] \ , 'endhms': endymd[3:] \ , 'endymd': endymd[:2] })) endfor endfor for date in keys(events) call sort(events[date].events, function('s:events_sorter')) endfor return events endfunction function! s:extract_time_sec(summary) abort let xs = matchlist(a:summary, '\v^(\d\d?):(\d\d)%(:(\d\d))?') return ((xs[1] * 60) + xs[2]) * 60 + xs[3] endfunction function! s:events_sorter(x, y) abort return a:x.calendarId ==# a:y.calendarId \ ? (a:x.sec == a:y.sec \ ? (get(a:x, 'summary', '') > get(a:y, 'summary', '') ? 1 : -1) \ : a:x.sec > a:y.sec ? 1 : -1) : 0 endfunction function! s:self.update(calendarId, eventId, title, year, month, ...) dict abort let calendarList = self.calendarList() let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] for calendar in calendarList if calendar.id ==# a:calendarId let c = s:event_cache.new(calendar.id).new(y).new(m).get('0') let cnt = type(c) == type({}) && has_key(c, 'items') && type(c.items) == type([]) ? c : { 'items': [] } for i in range(len(cnt.items)) if cnt.items[i].id ==# a:eventId let cnt.items[i].summary = a:title call extend(cnt.items[i], a:0 ? a:1 : {}) call s:event_cache.new(calendar.id).new(y).new(m).save('0', cnt) return endif endfor endif endfor endfunction function! s:self.insert(calendarId, title, start, end, year, month, ...) dict abort let calendarList = self.calendarList() let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] if a:start =~# '\v^\d+[-/]\d+[-/]\d+' let ymd = map(split(matchstr(a:start, '\v^\d+[-/]\d+[-/]\d+'), '[-/]'), 'v:val + 0') let [y, m] = [printf('%04d', ymd[0]), printf('%02d', ymd[1])] elseif a:start =~# '\v^\d+[-/]\d+' let md = map(split(matchstr(a:start, '\v^\d+[-/]\d+'), '[-/]'), 'v:val + 0') let m = printf('%04d', md[0]) endif for calendar in calendarList if calendar.id ==# a:calendarId let c = s:event_cache.new(calendar.id).new(y).new(m).get('0') let cnt = type(c) == type({}) && has_key(c, 'items') && type(c.items) == type([]) ? c : { 'items': [] } call add(cnt.items, \ { 'id': calendar#util#id() \ , 'summary': a:title \ , 'start': a:start =~# '\vT\d+' ? { 'dateTime': a:start } : { 'date': a:start } \ , 'end': a:end =~# '\vT\d+' ? { 'dateTime': a:end } : { 'date': a:end } \ }) call s:event_cache.new(calendar.id).new(y).new(m).save('0', cnt) return endif endfor endfunction function! s:self.move(calendarId, eventId, destination, year, month) dict abort let calendarList = self.calendarList() let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] let event = {} for calendar in calendarList if calendar.id ==# a:calendarId let c = s:event_cache.new(calendar.id).new(y).new(m).get('0') let cnt = type(c) == type({}) && has_key(c, 'items') && type(c.items) == type([]) ? c : { 'items': [] } for i in range(len(cnt.items)) if cnt.items[i].id ==# a:eventId let event = deepcopy(cnt.items[i]) call remove(cnt.items, i) call s:event_cache.new(calendar.id).new(y).new(m).save('0', cnt) break endif endfor endif endfor for calendar in calendarList if calendar.id ==# a:destination let c = s:event_cache.new(calendar.id).new(y).new(m).get('0') let cnt = type(c) == type({}) && has_key(c, 'items') && type(c.items) == type([]) ? c : { 'items': [] } call add(cnt.items, \ { 'id': calendar#util#id() \ , 'summary': event.summary \ , 'start': event.start \ , 'end': event.end \ }) call s:event_cache.new(calendar.id).new(y).new(m).save('0', cnt) return endif endfor endfunction function! s:self.delete(calendarId, eventId, year, month) dict abort let calendarList = self.calendarList() let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] for calendar in calendarList if calendar.id ==# a:calendarId let c = s:event_cache.new(calendar.id).new(y).new(m).get('0') let cnt = type(c) == type({}) && has_key(c, 'items') && type(c.items) == type([]) ? c : { 'items': [] } for i in range(len(cnt.items)) if cnt.items[i].id ==# a:eventId call remove(cnt.items, i) call s:event_cache.new(calendar.id).new(y).new(m).save('0', cnt) return endif endfor endif endfor endfunction function! s:self.calendarList() dict abort if has_key(self, '_calendarList') return self._calendarList endif let self._calendarList = [] let cnt = s:cache.get('calendarList') if type(cnt) == type({}) && has_key(cnt, 'items') && type(cnt.items) == type([]) let self._calendarList = filter(cnt.items, 'has_key(v:val, "id") && has_key(v:val, "summary")') endif return self._calendarList endfunction function! s:self.createCalendar() dict abort let cnt = s:cache.get('calendarList') if type(cnt) == type({}) && has_key(cnt, 'items') && type(cnt.items) == type([]) let c = cnt else let c = { 'items': [] } endif redraw let calendarTitle = input(calendar#message#get('input_calendar_name')) if len(calendarTitle) let colors = [] for itm in c.items if has_key(itm, 'backgroundColor') call add(colors, itm.backgroundColor) endif endfor let newcolors = filter(calendar#color#colors(), 'index(colors, v:val) >= 0') if len(newcolors) == 0 let newcolors = calendar#color#colors() endif call add(c.items, \ { 'id': calendar#util#id() \ , 'summary': calendarTitle \ , 'backgroundColor': newcolors[0] \ , 'foregroundColor': '#000000' \ }) call s:cache.save('calendarList', c) if has_key(self, '_calendarList') unlet! self._calendarList endif endif endfunction function! s:self.clear_cache() dict abort endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/event.vim ================================================ " ============================================================================= " Filename: autoload/calendar/event.vim " Author: itchyny " License: MIT License " Last Change: 2020/10/17 01:37:16. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Event controller. " This object handles both local and Google Calendar. function! calendar#event#new() abort let self = deepcopy(s:self) if calendar#setting#get('google_calendar') let self.event_source_name = 'google' else let self.event_source_name = 'local' endif let self.event_source = calendar#event#{self.event_source_name}#new() return self endfunction let s:self = {} let s:self.__events = {} let s:self._holidays = {} let s:self._updated = 0 function! s:self.updated() dict abort if self._updated > 0 let self._updated -= 1 endif return [self._updated] endfunction function! s:self.get_events_one_month(year, month, ...) dict abort let events = self.event_source.get_events_one_month(a:year, a:month, a:0 && a:1) if self.event_source_name !=# 'google' let holiday = self.get_holidays(a:year, a:month) for day in keys(holiday) if len(holiday[day].events) if !has_key(events, day) let events[day] = { 'events': [] } endif let events[day].hasHoliday = 1 call extend(events[day].events, holiday[day].events) let events[day].holiday = holiday[day].events[-1].summary endif endfor endif return events endfunction function! s:self.clear_cache() dict abort let self.__events = {} let self._holidays = {} let self._updated = 10 call self.event_source.clear_cache() endfunction function! s:self.get_events(year, month) dict abort let key = a:year . '-' . a:month if self._updated > 0 let self._updated -= 1 endif if has_key(self.__events, key) && (!calendar#setting#get('google_calendar') || get(g:, 'calendar_google_event_download', 1) <= 0) && !self._updated return self.__events[key] endif let events = self.get_events_one_month(a:year, a:month, 1) let [year, month] = calendar#day#new(a:year, a:month, 1).month().add(1).get_ym() call extend(events, self.get_events_one_month(year, month, 0)) let [year, month] = calendar#day#new(a:year, a:month, 1).month().add(-1).get_ym() call extend(events, self.get_events_one_month(year, month, 0)) let self.__events[key] = events return self.__events[key] endfunction function! s:self.get_holidays(year, month) dict abort let key = a:year . '-' . a:month if has_key(self._holidays, key) && (!calendar#setting#get('google_calendar') || get(g:, 'calendar_google_event_download', 1) <= 0) return self._holidays[key] endif let self._holidays[key] = calendar#google#calendar#getHolidays(a:year, a:month) return self._holidays[key] endfunction function! s:self.update(calendarId, eventId, title, year, month, ...) dict abort let self._updated = 10 return self.event_source.update(a:calendarId, a:eventId, a:title, a:year, a:month, a:0 ? a:1 : {}) endfunction function! s:self.insert(calendarId, title, start, end, year, month, ...) dict abort let self._updated = 10 return self.event_source.insert(a:calendarId, a:title, a:start, a:end, a:year, a:month, a:0 ? a:1 : {}) endfunction function! s:self.move(calendarId, eventId, destination, year, month) dict abort let self._updated = 10 return self.event_source.move(a:calendarId, a:eventId, a:destination, a:year, a:month) endfunction function! s:self.delete(calendarId, eventId, year, month) dict abort let self._updated = 10 return self.event_source.delete(a:calendarId, a:eventId, a:year, a:month) endfunction function! s:self.createCalendar() dict abort let self._updated = 10 return self.event_source.createCalendar() endfunction function! s:self.calendarList() dict abort return self.event_source.calendarList() endfunction function! s:self.calendarCandidates() dict abort let calendars = self.event_source.calendarList() let calendar_candidates = calendar#setting#get('calendar_candidates') if type(calendar_candidates) ==# type('') || type(calendar_candidates) ==# type([]) let cs = [] for pattern in type(calendar_candidates) ==# type('') ? \ split(calendar_candidates, ', *') : calendar_candidates for c in calendars if c.summary =~# pattern call add(cs, c) endif endfor endfor let calendars = cs endif return calendars endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/google/calendar.vim ================================================ " ============================================================================= " Filename: autoload/calendar/google/calendar.vim " Author: itchyny " License: MIT License " Last Change: 2020/11/19 07:40:32. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:cache = calendar#cache#new('google') let s:event_cache = s:cache.new('event') let g:calendar_google_event_download = 0 let g:calendar_google_event_downloading = {} let g:calendar_google_event_downloading_list = 0 function! calendar#google#calendar#get_url(type) abort return 'https://www.googleapis.com/calendar/v3/' . a:type endfunction function! calendar#google#calendar#getCalendarList() abort let calendarList = s:cache.get('calendarList') if (!g:calendar_google_event_downloading_list) && (type(calendarList) != type({}) || \ calendar#timestamp#update('google_calendarlist', 24 * 60 * 60)) let g:calendar_google_event_downloading_list = 1 call calendar#google#client#get_async(s:newid(['calendarList', 0]), \ 'calendar#google#calendar#getCalendarList_response', \ calendar#google#calendar#get_url('users/me/calendarList')) endif return type(calendarList) == type({}) ? calendarList : {} endfunction function! calendar#google#calendar#getCalendarList_response(id, response) abort let [_calendarlist, err; rest] = s:getdata(a:id) if a:response.status =~# '^2' let cnt = calendar#webapi#decode(a:response.content) let content = type(cnt) == type({}) ? cnt : {} if has_key(content, 'items') && type(content.items) == type([]) let content.items = filter(deepcopy(content.items), 'get(v:val, "accessRole", "") ==# "owner"') \ + filter(deepcopy(content.items), 'get(v:val, "accessRole", "") !=# "owner"') call s:cache.save('calendarList', content) let g:calendar_google_event_downloading_list = 0 let g:calendar_google_event_download = 3 silent! let b:calendar.event._updated = 3 silent! call b:calendar.update() endif elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#get_async(s:newid(['calendarList', err + 1]), \ 'calendar#google#calendar#getCalendarList_response', \ calendar#google#calendar#get_url('users/me/calendarList')) endif endif endfunction function! calendar#google#calendar#getMyCalendarList() abort let calendarList = calendar#google#calendar#getCalendarList() let validCalendar = filter(get(deepcopy(calendarList), 'items', []), 'type(v:val) == type({}) && has_key(v:val, "summary") && has_key(v:val, "id")') return filter(validCalendar, 'get(v:val, "selected") && (get(v:val, "accessRole", "") ==# "owner" || (get(v:val, "summary", "") !=# "Phases of the Moon") && get(v:val, "id", "") !~# "holiday@")') endfunction function! calendar#google#calendar#getColors() abort let colors = s:cache.get('colors') if calendar#timestamp#update('google_calendarcolor', 7 * 24 * 60 * 60) call calendar#google#client#get_async(s:newid(['calendarColor', 0]), \ 'calendar#google#calendar#getColors_response', \ calendar#google#calendar#get_url('colors')) endif return type(colors) == type({}) ? colors : {} endfunction function! calendar#google#calendar#getColors_response(id, response) abort let [_calendarlist, err; rest] = s:getdata(a:id) let colors = s:cache.get('colors') if a:response.status =~# '^2' let cnt = calendar#webapi#decode(a:response.content) let content = type(cnt) == type({}) ? cnt : {} if has_key(content, 'event') && type(content.event) == type({}) call s:cache.save('colors', content) silent! call b:calendar.update() endif endif endfunction function! calendar#google#calendar#getEventSummary(year, month) abort let calendarList = calendar#google#calendar#getCalendarList() let events = [] if has_key(calendarList, 'items') && type(calendarList.items) == type([]) && len(calendarList.items) let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] for item in calendarList.items unlet! cnt if get(item, 'selected') let cnt = s:event_cache.new(item.id).new(y).new(m).get('information') if type(cnt) == type({}) && has_key(cnt, 'summary') call add(events, cnt) else call calendar#google#calendar#downloadEvents(a:year, a:month) break endif endif endfor endif return events endfunction function! calendar#google#calendar#initialDownload(year, month, index) abort let myCalendarList = calendar#google#calendar#getMyCalendarList() let key = join([a:year, a:month], '/') if a:index < len(myCalendarList) && get(s:initial_download, key, 2) < 2 call calendar#async#new(printf('calendar#google#calendar#downloadEvents(%d, %d, "%s", %d)', a:year, a:month, myCalendarList[a:index].id, a:index)) endif endfunction let s:initial_download = {} let s:event_download = {} function! calendar#google#calendar#getEventsInitial(year, month) abort let myCalendarList = calendar#google#calendar#getMyCalendarList() let events = {} let key = join([a:year, a:month], '/') if !get(s:initial_download, key) let s:initial_download[key] = 1 if len(myCalendarList) && calendar#timestamp#update(printf('google_calendar_%04d%02d', a:year, a:month), 30 * 60) call calendar#async#new(printf('calendar#google#calendar#initialDownload(%d, %d, 0)', a:year, a:month)) endif endif endfunction function! calendar#google#calendar#clearCache() abort let s:initial_download = {} let s:event_download = {} unlet! g:calendar_google_event_download call calendar#timestamp#clear() endfunction " The optional argument: Forcing initial download. s:initial_download is used to check. function! calendar#google#calendar#getEvents(year, month, ...) abort let s:is_dark = calendar#color#is_dark() let calendarList = calendar#google#calendar#getCalendarList() let colors = get(calendar#google#calendar#getColors(), 'event', {}) let events = {} let key = join([a:year, a:month], '/') if a:0 && a:1 call calendar#google#calendar#getEventsInitial(a:year, a:month) endif if type(get(calendarList, 'items')) != type([]) return events endif let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] let clock_12hour = calendar#setting#get('clock_12hour') for item in calendarList.items if !get(item, 'selected') continue endif let isHoliday = item.id =~# 'holiday@group.v.calendar.google.com' let isMoon = item.summary ==# 'Phases of the Moon' && &enc ==# 'utf-8' && &fenc ==# 'utf-8' let isDayNum = item.summary ==# 'Day of the Year' let isWeekNum = item.summary ==# 'Week Numbers' let calendarsyn = calendar#color#new_syntax(get(item, 'id', ''), get(item, 'foregroundColor', ''), get(item, 'backgroundColor', '')) unlet! cnt let cnt = s:event_cache.new(item.id).new(y).new(m).get('information') if type(cnt) == type({}) && has_key(cnt, 'summary') let index = 0 while 1 unlet! c let c = s:event_cache.new(item.id).new(y).new(m).get(index) if type(c) != type({}) break endif let index += 1 if type(get(c, 'items')) != type([]) continue endif for itm in c.items if !(has_key(itm, 'start') && (has_key(itm.start, 'date') || has_key(itm.start, 'dateTime')) \ && has_key(itm, 'end') && (has_key(itm.end, 'date') || has_key(itm.end, 'dateTime'))) continue endif if has_key(itm, 'colorId') let foregroundColor = get(get(colors, itm.colorId, {}), 'foreground', get(item, 'foregroundColor', '')) let backgroundColor = get(get(colors, itm.colorId, {}), 'background', get(item, 'backgroundColor', '')) let syn = calendar#color#new_syntax(get(itm, 'id', ''), foregroundColor, backgroundColor) else let syn = calendarsyn endif let ymd = calendar#time#datetime(get(itm.start, 'date', get(itm.start, 'dateTime', ''))) let endymd = calendar#time#datetime(get(itm.end, 'date', get(itm.end, 'dateTime', ''))) let isTimeEvent = (!has_key(itm.start, 'date')) && has_key(itm.start, 'dateTime') && (!has_key(itm.end, 'date')) && has_key(itm.end, 'dateTime') if len(ymd) != 6 || len(endymd) != 6 || [a:year, a:month] != [ymd[0], ymd[1]] continue endif let date = join(ymd[:2], '-') if has_key(itm.end, 'date') let endymd = ymd[:2] == [endymd[0], endymd[1], endymd[2] - 1] ? ymd : calendar#day#new(endymd[0], endymd[1], endymd[2]).add(-1).get_ymd() + endymd[3:] endif if clock_12hour let start_postfix = ymd[3] < 12 || ymd[3] == 24 ? 'am' : 'pm' let end_postfix = endymd[3] < 12 || endymd[3] == 24 ? 'am' : 'pm' let starttime = ymd[5] ? \ printf('%d:%02d:%02d%s', calendar#time#hour12(ymd[3]), ymd[4], ymd[5], start_postfix ==# end_postfix ? '' : start_postfix) : \ printf('%d:%02d%s', calendar#time#hour12(ymd[3]), ymd[4], start_postfix ==# end_postfix ? '' : start_postfix) let endtime = endymd[5] ? \ printf('%d:%02d:%02d%s', calendar#time#hour12(endymd[3]), endymd[4], endymd[5], end_postfix) : \ printf('%d:%02d%s', calendar#time#hour12(endymd[3]), endymd[4], end_postfix) else let starttime = ymd[5] ? printf('%d:%02d:%02d', ymd[3], ymd[4], ymd[5]) : printf('%d:%02d', ymd[3], ymd[4]) let endtime = endymd[5] ? printf('%d:%02d:%02d', endymd[3], endymd[4], endymd[5]) : printf('%d:%02d', endymd[3], endymd[4]) endif if !has_key(events, date) let events[date] = { 'events': [] } endif call add(events[date].events, \ extend(itm, \ { 'calendarId': item.id \ , 'calendarSummary': item.summary \ , 'syntax': syn \ , 'isTimeEvent': isTimeEvent \ , 'isHoliday': isHoliday \ , 'isMoon': isMoon \ , 'isDayNum': isDayNum \ , 'isWeekNum': isWeekNum \ , 'starttime': starttime \ , 'endtime': endtime \ , 'ymdnum': (((ymd[0] * 100 + ymd[1]) * 100) + ymd[2]) \ , 'hms': ymd[3:] \ , 'sec': isTimeEvent ? ((ymd[3] * 60) + ymd[4]) * 60 + ymd[5] \ : get(itm, 'summary', '') =~# '\v^\d\d?:\d\d(:\d\d)?\s+' ? s:extract_time_sec(itm.summary) : 0 \ , 'ymd': ymd[:2] \ , 'endhms': endymd[3:] \ , 'endymd': endymd[:2] })) if isHoliday let events[date].holiday = events[date].events[-1].summary let events[date].hasHoliday = 1 endif if isMoon call s:moon_event(events[date]) endif if isDayNum let events[date].daynum = matchstr(events[date].events[-1].summary, '\d\+') endif if isWeekNum let events[date].weeknum = matchstr(events[date].events[-1].summary, '\d\+') endif endfor endwhile elseif !get(s:event_download, key) let s:event_download[key] = 1 call calendar#google#calendar#downloadEvents(a:year, a:month) break endif endfor for date in keys(events) call sort(events[date].events, function('calendar#google#calendar#sorter')) endfor return events endfunction function! s:extract_time_sec(summary) abort let xs = matchlist(a:summary, '\v^(\d\d?):(\d\d)%(:(\d\d))?') return ((xs[1] * 60) + xs[2]) * 60 + xs[3] endfunction function! calendar#google#calendar#sorter(x, y) abort return a:x.calendarId ==# a:y.calendarId \ ? (a:x.sec == a:y.sec \ ? (get(a:x, 'summary', '') > get(a:y, 'summary', '') ? 1 : -1) \ : a:x.sec > a:y.sec ? 1 : -1) : 0 endfunction function! s:moon_event(events) abort let s = a:events.events[-1].summary let m = s =~# '^New moon' ? (s:is_dark ? "\u25cb" : "\u25cf") \ : s =~# '^First quarter' ? (s:is_dark ? "\u25d1" : "\u25d0") \ : s =~# '^Full moon' ? (s:is_dark ? "\u25cf" : "\u25cb") \ : s =~# '^Last quarter' ? (s:is_dark ? "\u25d0" : "\u25d1") \ : '' let a:events.moon = calendar#string#truncate(m, 2) if m !=# '' let a:events.events[-1].summary = a:events.moon . ' ' . a:events.events[-1].summary endif endfunction function! calendar#google#calendar#getHolidays(year, month) abort let _calendarList = s:cache.get('calendarList') let calendarList = type(_calendarList) == type({}) ? _calendarList : {} let events = {} if type(get(calendarList, 'items')) != type([]) return events endif let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] for item in calendarList.items if !get(item, 'selected') || item.id !~# 'holiday@group.v.calendar.google.com' continue endif unlet! cnt let cnt = s:event_cache.new(item.id).new(y).new(m).get('information') if type(cnt) != type({}) || !has_key(cnt, 'summary') continue endif let index = 0 while 1 unlet! c let c = s:event_cache.new(item.id).new(y).new(m).get(index) if type(c) != type({}) break endif let index += 1 if type(get(c, 'items')) != type([]) continue endif for itm in c.items if !(has_key(itm, 'start') && (has_key(itm.start, 'date') || has_key(itm.start, 'dateTime')) \ && has_key(itm, 'end') && (has_key(itm.end, 'date') || has_key(itm.end, 'dateTime'))) continue endif let date = has_key(itm.start, 'date') ? itm.start.date \ : has_key(itm.start, 'dateTime') ? matchstr(itm.start.dateTime, '\d\+-\d\+-\d\+') : '' let ymd = map(split(date, '-'), 'v:val + 0') let enddate = has_key(itm.end, 'date') ? itm.end.date : has_key(itm.end, 'dateTime') ? matchstr(itm.end.dateTime, '\d\+-\d\+-\d\+') : '' let endymd = map(split(enddate, '-'), 'v:val + 0') if len(ymd) != 3 || len(endymd) != 3 continue endif let date = join(ymd, '-') if has_key(itm.end, 'date') let endymd = calendar#day#new(endymd[0], endymd[1], endymd[2]).add(-1).get_ymd() endif if !has_key(events, date) let events[date] = { 'events': [], 'hasHoliday': 1 } endif call add(events[date].events, \ extend(itm, \ { 'calendarId': item.id \ , 'calendarSummary': item.summary \ , 'holiday': get(itm, 'summary', '') \ , 'isHoliday': 1 \ , 'isMoon': 0 \ , 'isDayNum': 0 \ , 'isWeekNum': 0 \ , 'starttime': '' \ , 'endtime': '' \ , 'ymdnum': (((ymd[0] * 100 + ymd[1]) * 100) + ymd[2]) \ , 'hms': [ 0, 0, 0 ] \ , 'ymd': ymd \ , 'endhms': [ 0, 0, 0 ] \ , 'endymd': endymd })) endfor endwhile endfor return events endfunction " The optional argument is: " The first argument: Specify the calendar id. If this argument is given, " the only one calendar is downloaded. " The second argument: Initial download. See calendar#google#calendar#initialDownload. function! calendar#google#calendar#downloadEvents(year, month, ...) abort let calendarList = calendar#google#calendar#getCalendarList() let key = join([a:year, a:month], '/') if a:0 < 1 let s:initial_download[key] = 2 endif let month = a:month + 1 let year = a:year if month > 12 let [year, month] = [year + 1, month - 12] endif let [timemin, timemax] = [printf('%04d-%02d-01T00:00:00Z', a:year, a:month), printf('%04d-%02d-01T00:00:00Z', year, month)] if has_key(g:calendar_google_event_downloading, timemin) let g:calendar_google_event_downloading[timemin] = 1 endif if has_key(calendarList, 'items') && type(calendarList.items) == type([]) && len(calendarList.items) let [y, m] = [printf('%04d', a:year), printf('%02d', a:month)] let j = 0 while j < len(calendarList.items) let item = calendarList.items[j] if !get(item, 'selected') || a:0 && item.id !=# a:1 let j += 1 continue endif unlet! cnt let cnt = s:event_cache.new(item.id).new(y).new(m).get('information') if type(cnt) != type({}) || !has_key(cnt, 'summary') || a:0 let opt = { 'timeMin': timemin, 'timeMax': timemax, 'singleEvents': 'true' } call calendar#google#client#get_async(s:newid(['download', 0, 0, 0, timemin, timemax, y, m, item.id]), \ 'calendar#google#calendar#response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(item.id) . '/events'), opt) break endif let j += 1 endwhile if a:0 > 1 call calendar#async#new(printf('calendar#google#calendar#initialDownload(%d, %d, %d)', a:year, a:month, a:2 + 1)) endif endif endfunction function! calendar#google#calendar#response(id, response) abort let calendarList = calendar#google#calendar#getCalendarList() let [_download, err, j, i, timemin, timemax, year, month, id; rest] = s:getdata(a:id) let opt = { 'timeMin': timemin, 'timeMax': timemax, 'singleEvents': 'true' } if a:response.status =~# '^2' let cnt = calendar#webapi#decode(a:response.content) let content = type(cnt) == type({}) ? cnt : {} if has_key(content, 'items') call s:event_cache.new(id).new(year).new(month).save(i, content) if i == 0 call remove(content, 'items') call s:event_cache.new(id).new(year).new(month).save('information', content) endif if has_key(content, 'nextPageToken') let opt = extend(opt, { 'pageToken': content.nextPageToken }) call calendar#google#client#get_async(s:newid(['download', err, j, i + 1, timemin, timemax, year, month, id]), \ 'calendar#google#calendar#response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(id) . '/events'), opt) else let k = i + 1 while filereadable(s:event_cache.new(id).new(year).new(month).path(k)) silent! call s:event_cache.new(id).new(year).new(month).delete(k) let k += 1 endwhile let g:calendar_google_event_download = 2 let j += 1 while j < len(calendarList.items) let item = calendarList.items[j] if !get(item, 'selected') let j += 1 continue endif unlet! cnt let cnt = s:event_cache.new(item.id).new(year).new(month).get('information') if type(cnt) != type({}) || !has_key(cnt, 'summary') call calendar#google#client#get_async(s:newid(['download', 0, j, 0, timemin, timemax, year, month, item.id]), \ 'calendar#google#calendar#response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(item.id) . '/events'), opt) break endif let j += 1 endwhile if j == len(calendarList.items) let g:calendar_google_event_download = 3 silent! let b:calendar.event._updated = 5 silent! call b:calendar.update() endif endif endif elseif a:response.status == 401 || a:response.status == 404 if i == 0 && err == 0 call calendar#google#client#refresh_token() call calendar#google#client#get_async(s:newid(['download', err + 1, j, i, timemin, timemax, year, month, id]), \ 'calendar#google#calendar#response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(id) . '/events'), opt) else call calendar#google#client#get_async_use_api_key(s:newid(['download', err + 1, j, 0, timemin, timemax, year, month, id]), \ 'calendar#google#calendar#response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(id) . '/events'), opt) endif endif endfunction function! calendar#google#calendar#update(calendarId, eventId, title, year, month, ...) abort let opt = a:0 ? a:1 : {} if has_key(opt, 'start') call s:set_timezone(a:calendarId, opt.start) endif if has_key(opt, 'end') call s:set_timezone(a:calendarId, opt.end) endif let location = matchstr(a:title, '\%( at \)\@<=.\+$') let opt = extend(opt, len(location) ? { 'location': location } : {}) call calendar#google#client#patch_async(s:newid(['update', 0, a:year, a:month, a:calendarId, a:eventId, a:title, opt]), \ 'calendar#google#calendar#update_response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(a:calendarId) . '/events/' . a:eventId), \ { 'calendarId': a:calendarId, 'eventId': a:eventId }, \ extend({ 'id': a:eventId, 'summary': a:title }, opt)) endfunction function! calendar#google#calendar#update_response(id, response) abort let [_update, err, year, month, calendarId, eventId, title, opt; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#calendar#downloadEvents(year, month, calendarId) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#patch_async(s:newid(['update', 1, year, month, calendarId, eventId, title, opt]), \ 'calendar#google#calendar#update_response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(calendarId) . '/events/' . eventId), \ { 'calendarId': calendarId, 'eventId': eventId }, \ extend({ 'id': eventId, 'summary': title }, opt)) else call calendar#webapi#echo_error(a:response) endif else call calendar#webapi#echo_error(a:response) endif endfunction function! calendar#google#calendar#insert(calendarId, title, start, end, year, month, ...) abort let start = a:start =~# 'T\d' && len(a:start) > 10 ? { 'dateTime': a:start } : { 'date': a:start } let end = a:end =~# 'T\d' && len(a:end) > 10 ? { 'dateTime': a:end } : { 'date': a:end } let location = matchstr(a:title, '\%( at \)\@<=.\+$') let opt = len(location) ? { 'location': location } : {} let recurrence = a:0 ? a:1 : {} if has_key(recurrence, 'week') || has_key(recurrence, 'day') call extend(opt, { 'recurrence': [ 'RRULE:' . ( \ has_key(recurrence, 'week') ? ('FREQ=WEEKLY;COUNT=' . recurrence.week) : \ has_key(recurrence, 'day') ? ('FREQ=DAILY;COUNT=' . recurrence.day) : \ '') ] }) endif call s:set_timezone(a:calendarId, start) call s:set_timezone(a:calendarId, end) call calendar#google#client#post_async(s:newid(['insert', 0, a:year, a:month, a:calendarId, start, end, a:title, opt]), \ 'calendar#google#calendar#insert_response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(a:calendarId) . '/events'), \ { 'calendarId': a:calendarId }, \ extend({ 'summary': a:title, 'start': start, 'end': end, 'transparency': 'transparent' }, opt)) endfunction function! calendar#google#calendar#insert_response(id, response) abort let [_insert, err, year, month, calendarId, start, end, title, opt; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#calendar#downloadEvents(year, month, calendarId) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#post_async(s:newid(['insert', 1, year, month, calendarId, start, end, title, opt]), \ 'calendar#google#calendar#insert_response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(calendarId) . '/events'), \ { 'calendarId': calendarId }, \ extend({ 'summary': title, 'start': start, 'end': end, 'transparency': 'transparent' }, opt)) endif else call calendar#webapi#echo_error(a:response) endif endfunction function! calendar#google#calendar#move(calendarId, eventId, destination, year, month) abort call calendar#google#client#post_async(s:newid(['move', 0, a:year, a:month, a:calendarId, a:eventId, a:destination]), \ 'calendar#google#calendar#move_response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(a:calendarId) . '/events/' . a:eventId . '/move'), \ { 'destination': a:destination }, {}) endfunction function! calendar#google#calendar#move_response(id, response) abort let [_move, err, year, month, calendarId, eventId, destination; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#calendar#downloadEvents(year, month, calendarId) call calendar#google#calendar#downloadEvents(year, month, destination) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#patch_async(s:newid(['move', 1, year, month, calendarId, eventId, destination]), \ 'calendar#google#calendar#move_response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(calendarId) . '/events/' . eventId . '/move'), \ { 'destination': destination }, {}) else call calendar#webapi#echo_error(a:response) endif else call calendar#webapi#echo_error(a:response) endif endfunction function! calendar#google#calendar#delete(calendarId, eventId, year, month) abort call calendar#google#client#delete_async(s:newid(['delete', 0, a:year, a:month, a:calendarId, a:eventId]), \ 'calendar#google#calendar#delete_response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(a:calendarId) . '/events/' . a:eventId), \ { 'calendarId': a:calendarId, 'eventId': a:eventId }, {}) endfunction function! calendar#google#calendar#delete_response(id, response) abort let [_delete, err, year, month, calendarId, eventId; rest] = s:getdata(a:id) if a:response.status =~# '^2' || a:response.status ==# '410' call calendar#google#calendar#downloadEvents(year, month, calendarId) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#delete_async(s:newid(['delete', 1, year, month, calendarId, eventId]), \ 'calendar#google#calendar#delete_response', \ calendar#google#calendar#get_url('calendars/' . s:event_cache.escape(calendarId) . '/events/' . eventId), \ { 'calendarId': calendarId, 'eventId': eventId }) else call calendar#webapi#echo_error(a:response) endif else call calendar#webapi#echo_error(a:response) endif endfunction function! s:set_timezone(calendarId, obj) abort let timezone = calendar#setting#get('time_zone') if has_key(a:obj, 'dateTime') let a:obj.dateTime .= timezone else let a:obj.timeZone = timezone endif if has_key(a:obj, 'dateTime') let a:obj.date = function('calendar#webapi#null') elseif has_key(a:obj, 'date') let a:obj.dateTime = function('calendar#webapi#null') endif endfunction let s:id_data = {} function! s:newid(data) abort let id = join([ 'google', 'calendar', a:data[0] ], '_') . '_' . calendar#util#id() let s:id_data[id] = a:data return id endfunction function! s:getdata(id) abort return s:id_data[a:id] endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/google/client.vim ================================================ " ============================================================================= " Filename: autoload/calendar/google/client.vim " Author: itchyny " License: MIT License " Last Change: 2020/11/30 20:02:44. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:cache = calendar#cache#new('google') let s:auth_url = 'https://accounts.google.com/o/oauth2/auth' let s:token_url = 'https://accounts.google.com/o/oauth2/token' function! s:client() abort return extend(deepcopy(calendar#setting#get('google_client')), { 'response_type': 'code' }) endfunction function! s:get_url() abort let client = s:client() let param = {} for x in ['client_id', 'redirect_uri', 'scope', 'response_type'] if has_key(client, x) let param[x] = client[x] endif endfor return s:auth_url . '?' . calendar#webapi#encodeURI(param) endfunction function! calendar#google#client#access_token() abort let cache = s:cache.get('access_token') if type(cache) != type({}) || type(cache) == type({}) && !has_key(cache, 'access_token') call calendar#google#client#initialize_access_token() let cache = s:cache.get('access_token') if type(cache) != type({}) || type(cache) == type({}) && !has_key(cache, 'access_token') return 1 endif let content = cache else let content = cache endif return content.access_token endfunction function! calendar#google#client#initialize_access_token() abort let client = s:client() let url = s:get_url() call calendar#webapi#open_url(url) try let code = input(printf(calendar#message#get('access_url_input_code'), url) . "\n" . calendar#message#get('input_code')) catch return endtry if code !=# '' let response = calendar#webapi#post_nojson(s:token_url, {}, { \ 'client_id': client.client_id, \ 'client_secret': client.client_secret, \ 'code': code, \ 'redirect_uri': client.redirect_uri, \ 'grant_type': 'authorization_code'}) let content = calendar#webapi#decode(response.content) if calendar#google#client#access_token_response(response, content) return endif else return endif let g:calendar_google_event_downloading_list = 0 let g:calendar_google_event_download = 3 silent! let b:calendar.event._updated = 3 endfunction function! calendar#google#client#refresh_token() abort let client = s:client() let cache = s:cache.get('refresh_token') if type(cache) == type({}) && has_key(cache, 'refresh_token') && type(cache.refresh_token) == type('') let response = calendar#webapi#post_nojson(s:token_url, {}, { \ 'client_id': client.client_id, \ 'client_secret': client.client_secret, \ 'refresh_token': cache.refresh_token, \ 'grant_type': 'refresh_token'}) let content = calendar#webapi#decode(response.content) if calendar#google#client#access_token_response(response, content) return 1 endif return content.access_token else return 1 endif endfunction function! calendar#google#client#access_token_response(response, content) abort if a:response.status == 200 if !has_key(a:content, 'access_token') call calendar#echo#error_message('google_access_token_fail') return 1 else call s:cache.save('access_token', a:content) if has_key(a:content, 'refresh_token') && type(a:content.refresh_token) == type('') call s:cache.save('refresh_token', { 'refresh_token': a:content.refresh_token }) endif endif else call calendar#echo#error_message('google_access_token_fail') return 1 endif endfunction function! calendar#google#client#get(url, ...) abort return s:request('get', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! calendar#google#client#put(url, ...) abort return s:request('put', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! calendar#google#client#post(url, ...) abort return s:request('post', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! calendar#google#client#delete(url, ...) abort return s:request('delete', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! s:request(method, url, param, body) abort let client = s:client() let access_token = calendar#google#client#access_token() if type(access_token) != type('') return 1 endif let param = extend(a:param, { 'oauth_token': access_token }) let response = calendar#webapi#{a:method}(a:url, param, a:body) if response.status == 200 return calendar#webapi#decode(response.content) elseif response.status == 401 unlet! access_token let access_token = calendar#google#client#refresh_token() if type(access_token) != type('') return 1 endif let param = extend(a:param, { 'oauth_token': access_token }) let response = calendar#webapi#{a:method}(a:url, param, a:body) if response.status == 200 return calendar#webapi#decode(response.content) endif endif return 1 endfunction function! calendar#google#client#get_async(id, cb, url, ...) abort call s:request_async(a:id, a:cb, 'get', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! calendar#google#client#delete_async(id, cb, url, ...) abort call s:request_async(a:id, a:cb, 'delete', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! calendar#google#client#put_async(id, cb, url, ...) abort call s:request_async(a:id, a:cb, 'put', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! calendar#google#client#patch_async(id, cb, url, ...) abort call s:request_async(a:id, a:cb, 'patch', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! calendar#google#client#post_async(id, cb, url, ...) abort call s:request_async(a:id, a:cb, 'post', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! s:request_async(id, cb, method, url, param, body) abort let access_token = calendar#google#client#access_token() if type(access_token) != type('') return 1 endif let param = extend(a:param, { 'oauth_token': access_token }) call calendar#webapi#{a:method}_async(a:id, a:cb, a:url, param, a:body) endfunction function! calendar#google#client#get_async_use_api_key(id, cb, url, ...) abort call s:request_async_use_api_key(a:id, a:cb, 'get', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! calendar#google#client#post_async_use_api_key(id, cb, url, ...) abort call s:request_async_use_api_key(a:id, a:cb, 'post', a:url, a:0 ? a:1 : {}, a:0 > 1 ? a:2 : {}) endfunction function! s:request_async_use_api_key(id, cb, method, url, param, body) abort let client = s:client() let param = extend(a:param, { 'key': client.api_key }) call calendar#webapi#{a:method}_async(a:id, a:cb, a:url, param, a:body) endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/google/task.vim ================================================ " ============================================================================= " Filename: autoload/calendar/google/task.vim " Author: itchyny " License: MIT License " Last Change: 2021/09/18 13:24:16. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:cache = calendar#cache#new('google') let s:task_cache = s:cache.new('task') function! calendar#google#task#get_url(type) abort return 'https://www.googleapis.com/tasks/v1/' . a:type endfunction function! calendar#google#task#getTaskList() abort let taskList = s:cache.get('taskList') if type(taskList) != type({}) || calendar#timestamp#update('google_tasklist', 7 * 24 * 60 * 60) call calendar#google#client#get_async(s:newid(['taskList', 0]), \ 'calendar#google#task#getTaskList_response', \ calendar#google#task#get_url('users/@me/lists')) if type(taskList) != type({}) return {} endif endif return taskList endfunction function! calendar#google#task#getTaskList_response(id, response) abort let [_tasklist, err; rest] = s:getdata(a:id) if a:response.status =~# '^2' let cnt = calendar#webapi#decode(a:response.content) let content = type(cnt) == type({}) ? cnt : {} if has_key(content, 'items') && type(content.items) == type([]) call s:cache.save('taskList', content) silent! let b:calendar.task._updated = 1 silent! call b:calendar.update() endif elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#get_async(s:newid(['taskList', err + 1]), \ 'calendar#google#task#getTaskList_response', \ calendar#google#task#get_url('users/@me/lists')) endif endif endfunction function! calendar#google#task#getTasks() abort if calendar#timestamp#update('google_task', 30 * 60) call calendar#async#new('calendar#google#task#downloadTasks(1)') endif let allTaskList = [] let taskList = calendar#google#task#getTaskList() if has_key(taskList, 'items') && type(taskList.items) == type([]) for tasklist in taskList.items call add(allTaskList, tasklist) let allTaskList[-1].items = [] unlet! cnt let cnt = s:task_cache.new(tasklist.id).get('information') if type(cnt) == type({}) && cnt != {} let i = 0 let allTaskList[-1].etag = cnt.etag let items = [] while type(cnt) == type({}) unlet! cnt let cnt = s:task_cache.new(tasklist.id).get(i) if type(cnt) == type({}) && cnt != {} && has_key(cnt, 'items') && type(cnt.items) == type([]) call extend(items, cnt.items) endif let i += 1 endwhile for item in items if has_key(item, 'due') && item.due =~# '\v\d+-\d+-\d+T' let [y, m, d] = map(split(substitute(substitute(item.due, 'T.*', '', ''), '\s', '', 'g'), '[-/]'), 'substitute(v:val, "^0", "", "") + 0') let item.title = calendar#day#join_date([y, m, d]) . ' ' . get(item, 'title', '') call remove(item, 'due') endif if has_key(item, 'notes') && item.notes !=# '' let item.title = get(item, 'title', '') . ' note: ' . get(item, 'notes', '') endif endfor call sort(items, function('calendar#google#task#sorter')) let i = 0 while i < len(items) if !has_key(items[i], 'parent') break endif let j = i + 1 let items[i].prefix = ' +- ' while j < len(items) if items[j].id ==# items[i].parent while j < len(items) - 1 if get(items[j + 1], 'parent', '') ==# items[i].parent let items[j + 1].prefix = ' |- ' let j += 1 else break endif endwhile call insert(items, items[i], j + 1) call remove(items, i) let i -= 1 break endif let j += 1 endwhile let i += 1 endwhile let allTaskList[-1].items = items else call calendar#google#task#downloadTasks() endif endfor endif return allTaskList endfunction function! calendar#google#task#sorter(x, y) abort return has_key(a:x, 'parent') != has_key(a:y, 'parent') \ ? (has_key(a:x, 'parent') ? -1 : 1) \ : a:x.position ==# a:y.position \ ? (a:x.updated > a:y.updated ? 1 : -1) \ : a:x.position > a:y.position ? 1 : -1 endfunction " Optional argument: Force download. function! calendar#google#task#downloadTasks(...) abort let taskList = calendar#google#task#getTaskList() if has_key(taskList, 'items') && type(taskList.items) == type([]) && len(taskList.items) let j = 0 while j < len(taskList.items) let item = taskList.items[j] unlet! cnt let cnt = s:task_cache.new(item.id).get('information') if type(cnt) != type({}) || cnt == {} || get(a:000, 0) && (a:0 <= 1 || item.id ==# get(a:000, 1, '')) let opt = { 'tasklist': item.id, 'maxResults': 100 } call calendar#google#client#get_async(s:newid(['download', 0, j, 0, item.id, a:000]), \ 'calendar#google#task#response', \ calendar#google#task#get_url('lists/' . item.id . '/tasks'), opt) break endif let j += 1 endwhile if j == len(taskList.items) silent! let b:calendar.task._updated = 1 silent! call b:calendar.update() endif endif endfunction function! calendar#google#task#response(id, response) abort let taskList = calendar#google#task#getTaskList() let [_download, err, j, i, id, force; rest] = s:getdata(a:id) let opt = { 'tasklist': id } if a:response.status =~# '^2' let cnt = calendar#webapi#decode(a:response.content) let content = type(cnt) == type({}) ? cnt : {} if has_key(content, 'items') call s:task_cache.new(id).save(i, content) if i == 0 call remove(content, 'items') call s:task_cache.new(id).save('information', content) endif if has_key(content, 'nextPageToken') let opt = extend(opt, { 'pageToken': content.nextPageToken }) call calendar#google#client#get_async(s:newid(['download', err, j, i + 1, id, force]), \ 'calendar#google#task#response', \ calendar#google#task#get_url('lists/' . id . '/tasks'), opt) else let k = i + 1 while filereadable(s:task_cache.new(id).path(k)) silent! call s:task_cache.new(id).delete(k) let k += 1 endwhile let j += 1 while j < len(taskList.items) let item = taskList.items[j] unlet! cnt let cnt = s:task_cache.new(item.id).get('information') let opt = { 'tasklist': item.id, 'maxResults': 100 } if type(cnt) != type({}) || cnt == {} || get(force, 0) && (len(force) <= 1 || item.id ==# get(force, 1, '')) call calendar#google#client#get_async(s:newid(['download', 0, j, 0, item.id, force]), \ 'calendar#google#task#response', \ calendar#google#task#get_url('lists/' . item.id . '/tasks'), opt) break endif let j += 1 endwhile if j == len(taskList.items) silent! let b:calendar.task._updated = 1 silent! call b:calendar.update() endif endif elseif i == 0 && has_key(content, 'etag') let k = 0 while filereadable(s:task_cache.new(id).path(k)) silent! call s:task_cache.new(id).delete(k) let k += 1 endwhile if k > 0 silent! let b:calendar.task._updated = 1 silent! call b:calendar.update() endif endif elseif a:response.status == 401 if i == 0 && err == 0 let opt = { 'tasklist': id } call calendar#google#client#refresh_token() call calendar#google#client#get_async(s:newid(['download', err + 1, j, i, id, force]), \ 'calendar#google#task#response', \ calendar#google#task#get_url('lists/' . id . '/tasks'), opt) endif endif endfunction function! calendar#google#task#insert(id, previous, parent, title, ...) abort let opt = { 'tasklist': a:id } if a:previous !=# '' let opt.previous = a:previous endif if a:parent !=# '' let opt.parent = a:parent endif let due = '' if a:0 let due = get(a:1, 'due', '') if due !=# '' let due = due . (due =~# 'Z$' ? '' : 'Z') endif endif let note = '' if a:title =~# ' note: ' let note = matchstr(a:title, ' note: .*$') let title = a:title[:(len(a:title) - len(note)) - 1] let note = substitute(note, ' note:\s*', '', '') else let note = '' let title = a:title endif call calendar#google#client#post_async(s:newid(['insert', 0, a:id, title, note, due, opt]), \ 'calendar#google#task#insert_response', \ calendar#google#task#get_url('lists/' . a:id . '/tasks'), \ opt, extend({ 'title': title, 'notes': note }, due ==# '' ? {} : { 'due': due ==# '-1Z' ? function('calendar#webapi#null') : due })) endfunction function! calendar#google#task#insert_response(id, response) abort let [_insert, err, id, title, note, due, opt; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#task#downloadTasks(1, id) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#post_async(s:newid(['insert', 1, id, title, note, due, opt]), \ 'calendar#google#task#insert_response', \ calendar#google#task#get_url('lists/' . id . '/tasks'), \ opt, extend({ 'title': title, 'notes': note }, due ==# '' ? {} : { 'due': due ==# '-1Z' ? function('calendar#webapi#null') : due })) endif endif endfunction function! calendar#google#task#move(id, taskid, previous, parent) abort let opt = { 'tasklist': a:id } if a:previous !=# '' let opt.previous = a:previous endif if a:parent !=# '' let opt.parent = a:parent endif call calendar#google#client#post_async(s:newid(['move', 0, a:id, a:taskid, opt]), \ 'calendar#google#task#move_response', \ calendar#google#task#get_url('lists/' . a:id . '/tasks/' . a:taskid . '/move'), \ opt, {}) endfunction function! calendar#google#task#move_response(id, response) abort let [_move, err, id, taskid, opt; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#task#downloadTasks(1, id) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#post_async(s:newid(['move', 1, id, taskid, opt]), \ 'calendar#google#task#move_response', \ calendar#google#task#get_url('lists/' . id . '/tasks/' . taskid . '/move'), \ opt, {}) endif endif endfunction function! calendar#google#task#clear_completed(id) abort call calendar#google#client#post_async(s:newid(['clear_completed', 0, a:id]), \ 'calendar#google#task#clear_completed_response', \ calendar#google#task#get_url('lists/' . a:id . '/clear'), \ { 'tasklist': a:id }) endfunction function! calendar#google#task#clear_completed_response(id, response) abort let [_clear_completed, err, id; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#task#downloadTasks(1, id) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#post_async(s:newid(['clear_completed', 1, id]), \ 'calendar#google#task#clear_completed_response', \ calendar#google#task#get_url('lists/' . id . '/clear'), \ { 'tasklist': id }) endif endif endfunction function! calendar#google#task#update(id, taskid, title, ...) abort let due = '' if a:0 let due = get(a:1, 'due', '') if due !=# '' let due = due . (due =~# 'Z$' ? '' : 'Z') endif endif let note = '' if a:title =~# ' note: ' let note = matchstr(a:title, ' note: .*$') let title = a:title[:(len(a:title) - len(note)) - 1] let note = substitute(note, ' note:\s*', '', '') else let note = '' let title = a:title endif call calendar#google#client#put_async(s:newid(['update', 0, a:id, a:taskid, title, note, due]), \ 'calendar#google#task#update_response', \ calendar#google#task#get_url('lists/' . a:id . '/tasks/' . a:taskid), \ { 'tasklist': a:id, 'task': a:taskid }, \ extend({ 'id': a:taskid, 'title': title, 'notes': note }, due ==# '' ? {} : { 'due': due ==# '-1Z' ? function('calendar#webapi#null') : due })) endfunction function! calendar#google#task#update_response(id, response) abort let [_update, err, id, taskid, title, note, due; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#task#downloadTasks(1, id) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#put_async(s:newid(['update', 1, id, taskid, title, note, due]), \ 'calendar#google#task#update_response', \ calendar#google#task#get_url('lists/' . id . '/tasks/' . taskid), \ { 'tasklist': id, 'task': taskid }, \ extend({ 'id': taskid, 'title': title, 'notes': note }, due ==# '' ? {} : { 'due': due ==# '-1Z' ? function('calendar#webapi#null') : due })) endif endif endfunction function! calendar#google#task#complete(id, taskid) abort call calendar#google#client#patch_async(s:newid(['complete', 0, a:id, a:taskid]), \ 'calendar#google#task#complete_response', \ calendar#google#task#get_url('lists/' . a:id . '/tasks/' . a:taskid), \ { 'tasklist': a:id, 'task': a:taskid }, \ { 'id': a:taskid, 'status': 'completed' }) endfunction function! calendar#google#task#complete_response(id, response) abort let [_complete, err, id, taskid; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#task#downloadTasks(1, id) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#patch_async(s:newid(['complete', 1, id, taskid]), \ 'calendar#google#task#complete_response', \ calendar#google#task#get_url('lists/' . id . '/tasks/' . taskid), \ { 'tasklist': id, 'task': taskid }, \ { 'id': taskid, 'status': 'completed' }) endif endif endfunction function! calendar#google#task#uncomplete(id, taskid) abort call calendar#google#client#patch_async(s:newid(['uncomplete', 0, a:id, a:taskid]), \ 'calendar#google#task#uncomplete_response', \ calendar#google#task#get_url('lists/' . a:id . '/tasks/' . a:taskid), \ { 'tasklist': a:id, 'task': a:taskid }, \ { 'id': a:taskid, 'status': 'needsAction' }) endfunction function! calendar#google#task#uncomplete_response(id, response) abort let [_uncomplete, err, id, taskid; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#task#downloadTasks(1, id) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#patch_async(s:newid(['uncomplete', 1, id, taskid]), \ 'calendar#google#task#uncomplete_response', \ calendar#google#task#get_url('lists/' . id . '/tasks/' . taskid), \ { 'tasklist': id, 'task': taskid }, \ { 'id': taskid, 'status': 'needsAction' }) endif endif endfunction function! calendar#google#task#delete(id, taskid) abort call calendar#google#client#delete_async(s:newid(['delete', 0, a:id, a:taskid]), \ 'calendar#google#task#delete_response', \ calendar#google#task#get_url('lists/' . a:id . '/tasks/' . a:taskid), \ { 'tasklist': a:id, 'task': a:taskid }, \ { 'id': a:taskid }) endfunction function! calendar#google#task#delete_response(id, response) abort let [_delete, err, id, taskid; rest] = s:getdata(a:id) if a:response.status =~# '^2' call calendar#google#task#downloadTasks(1, id) elseif a:response.status == 401 if err == 0 call calendar#google#client#refresh_token() call calendar#google#client#delete_async(s:newid(['delete', 1, id, taskid]), \ 'calendar#google#task#delete_response', \ calendar#google#task#get_url('lists/' . id . '/tasks/' . taskid), \ { 'tasklist': id, 'task': taskid }, \ { 'id': taskid }) endif endif endfunction let s:id_data = {} function! s:newid(data) abort let id = join([ 'google', 'task', a:data[0] ], '_') . '_' . calendar#util#id() let s:id_data[id] = a:data return id endfunction function! s:getdata(id) abort return s:id_data[a:id] endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/mapping.vim ================================================ " ============================================================================= " Filename: autoload/calendar/mapping.vim " Author: itchyny " License: MIT License " Last Change: 2019/08/07 21:21:45. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Setting mappings in the calendar buffer. function! calendar#mapping#new() abort let save_cpo = &cpo set cpo&vim if has_key(get(b:, 'calendar', {}), 'view') let v = b:calendar.view if maparg('', 'n') !=# '(calendar_escape)' if v.help_visible() || v.event_visible() || v.task_visible() || b:calendar.visual_mode() if v:version > 703 nmap (calendar_escape) else nmap (calendar_escape) endif endif else if !(v.help_visible() || v.event_visible() || v.task_visible() || b:calendar.visual_mode()) nunmap endif endif endif if &l:filetype ==# 'calendar' let &cpo = save_cpo return endif " normal mode mapping let actions = ['left', 'right', 'down', 'up', 'prev', 'next', 'move_down', 'move_up', 'move_event', \ 'down_big', 'up_big', 'down_large', 'up_large', \ 'line_head', 'line_middle', 'line_last', 'bar', \ 'first_line', 'last_line', 'first_line_head', 'last_line_last', 'space', \ 'scroll_down', 'scroll_up', 'scroll_top_head', 'scroll_top', \ 'scroll_center_head', 'scroll_center', 'scroll_bottom_head', 'scroll_bottom', \ 'add', 'subtract', 'status', 'plus', 'minus', 'task', 'event', 'close_task', 'close_event', \ 'delete', 'delete_line', 'yank', 'yank_line', 'change', 'change_line', \ 'undo', 'undo_line', 'tab', 'shift_tab', 'next_match', 'prev_match', \ 'today', 'enter', 'view_left', 'view_right', 'redraw', 'clear', 'help', 'hide', 'exit', \ 'visual', 'visual_line', 'visual_block', 'exit_visual', \ 'start_insert', 'start_insert_append', 'start_insert_head', 'start_insert_last', \ 'start_insert_prev_line', 'start_insert_next_line', 'start_insert_quick', \ ] for action in actions exec printf("nnoremap (calendar_%s) :call b:calendar.action('%s')", action, action) endfor " escape nmap (calendar_escape) \ b:calendar.view.help_visible() ? "\(calendar_help)" : \ b:calendar.view.event_visible() ? "\(calendar_event)" : \ b:calendar.visual_mode() ? "\(calendar_exit_visual)" : \ b:calendar.view.task_visible() ? "\(calendar_task)" : \ "" " mark let marks = map(range(97, 97 + 25), 'nr2char(v:val)') for mark in marks exec printf("nmap m%s :call b:calendar.mark.set('%s')", mark, mark) exec printf("nmap `%s :call b:calendar.mark.get('%s')", mark, mark) exec printf("nmap '%s :call b:calendar.mark.get('%s')", mark, mark) exec printf("nmap g`%s :call b:calendar.mark.get('%s')", mark, mark) exec printf("nmap g'%s :call b:calendar.mark.get('%s')", mark, mark) endfor for mark in ['`', "'"] exec printf("nmap %s%s :call b:calendar.mark.get('%s')", mark, mark, mark ==# "'" ? mark . mark : mark) endfor " command line mapping cnoremap (calendar_command_enter) b:calendar.action('command_enter') " move neighborhood nmap h (calendar_left) nmap l (calendar_right) nmap j (calendar_down) nmap k (calendar_up) nmap (calendar_left) nmap (calendar_right) nmap (calendar_down) nmap (calendar_up) nmap h nmap h nmap gh h nmap gl l nmap gj j nmap gk k nmap g nmap g nmap g nmap g nmap nmap nmap (calendar_down) nmap (calendar_up) nmap (calendar_move_down) nmap (calendar_move_up) nmap (calendar_move_down) nmap (calendar_move_up) nmap M (calendar_move_event) nmap w (calendar_next) nmap W w nmap e w nmap w nmap w nmap b (calendar_prev) nmap B b nmap ge b nmap gE b nmap b nmap b " move page nmap (calendar_down_big) nmap (calendar_up_big) nmap (calendar_down_large) nmap (calendar_up_large) nmap nmap " move column nmap 0 (calendar_line_head) nmap ^ 0 nmap g0 0 nmap 0 nmap g 0 nmap g^ ^ nmap gm (calendar_line_middle) nmap $ (calendar_line_last) nmap g$ $ nmap g_ $ nmap $ nmap g $ nmap gg (calendar_first_line) nmap gg nmap ( (calendar_first_line) nmap { ( nmap [[ ( nmap [] [[ nmap G (calendar_last_line) nmap ) (calendar_last_line) nmap } ) nmap ]] ) nmap ][ ]] nmap (calendar_last_line_last) nmap (calendar_bar) " scroll nmap (calendar_scroll_down) nmap (calendar_scroll_up) nmap z (calendar_scroll_top_head) nmap zt (calendar_scroll_top) nmap z. (calendar_scroll_center_head) nmap zz (calendar_scroll_center) nmap z- (calendar_scroll_bottom_head) nmap zb (calendar_scroll_bottom) " delete nmap d (calendar_delete) nmap D (calendar_delete_line) " yank nmap y (calendar_yank) nmap Y (calendar_yank_line) " change nmap c (calendar_change) nmap C (calendar_change_line) " utility nmap (calendar_undo) nmap u (calendar_undo) nmap U (calendar_undo_line) nmap (calendar_tab) nmap (calendar_shift_tab) nmap n (calendar_next_match) nmap N (calendar_prev_match) nmap t (calendar_today) nmap (calendar_enter) nmap (calendar_add) nmap (calendar_subtract) nmap (calendar_status) nmap + (calendar_plus) nmap - (calendar_minus) nmap T (calendar_task) nmap E (calendar_event) nmap < (calendar_view_left) nmap > (calendar_view_right) nmap (calendar_space) nmap (calendar_redraw) nmap (calendar_redraw) nmap L (calendar_clear) nmap ? (calendar_help) nmap q (calendar_hide) nmap Q (calendar_exit) " nop nmap H nmap J nmap p nmap P nmap r nmap R nmap ~ " insert mode nmap i (calendar_start_insert) nmap a (calendar_start_insert_append) nmap I (calendar_start_insert_head) nmap A (calendar_start_insert_last) nmap O (calendar_start_insert_prev_line) nmap o (calendar_start_insert_next_line) " visual mode nmap v (calendar_visual) nmap V (calendar_visual_line) nmap (calendar_visual_block) nmap gh v nmap gH V nmap g " command line cmap (calendar_command_enter) " mouse wheel map (calendar_prev) map (calendar_next) let &cpo = save_cpo endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/mark.vim ================================================ " ============================================================================= " Filename: autoload/calendar/mark.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:30:36. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Mark controller. function! calendar#mark#new() abort return extend(copy(s:self), { 'mark': {} }) endfunction let s:self = {} function! s:self.set(mark) dict abort let self.mark[a:mark] = copy(b:calendar.day().get_ymd()) + copy(b:calendar.time().get_hms()) let self.mark["'"] = self.mark[a:mark] endfunction function! s:self.get(mark) dict abort let mark = a:mark ==# '`' ? "'" : a:mark if has_key(self.mark, mark) let m = self.mark[mark] call b:calendar.set_time(b:calendar.time().new(m[3], m[4], m[5])) call b:calendar.go(b:calendar.day().new(m[0], m[1], m[2])) else call calendar#echo#message(calendar#message#get('mark_not_set') . mark) endif endfunction function! s:self.showmarks() dict abort let marks = ['mark year month day hour minute second'] let format = '%s %6d %4d %4d %4d %4d %4d' for [k, m] in items(self.mark) call add(marks, printf(format, k, m[0], m[1], m[2], m[3], m[4], m[5])) endfor call add(marks, calendar#message#get('hit_any_key')) call calendar#echo#echo(join(marks, "\n")) call getchar() endfunction function! s:self.delmarks(...) dict abort if a:0 if has_key(self.mark, a:1) unlet self.mark[a:1] endif else let self.mark = {} endif endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/message/default.vim ================================================ " ============================================================================= " Filename: autoload/calendar/message/default.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:30:38. " ============================================================================= scriptencoding utf-8 let s:save_cpo = &cpo set cpo&vim function! calendar#message#default#get() abort return extend(s:english_message, s:message()) endfunction let s:english_message = deepcopy(calendar#message#en#get()) if exists('*strftime') function! s:message() abort let message = {} let message.day_name = map(range(3, 9), "strftime('%a', 60 * 60 * (24 * v:val + 10))") let message.day_name_long = map(range(3, 9), "strftime('%A', 60 * 60 * (24 * v:val + 10))") let message.month_name = map(range(12), "strftime('%b', 60 * 60 * 24 * (32 * v:val + 5))") let message.month_name_long = map(range(12), "strftime('%B', 60 * 60 * 24 * (32 * v:val + 5))") return message endfunction else function! s:message() abort return {} endfunction endif let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/message/en.vim ================================================ " ============================================================================= " Filename: autoload/calendar/message/en.vim " Author: itchyny " License: MIT License " Last Change: 2016/05/09 08:07:17. " ============================================================================= scriptencoding utf-8 let s:save_cpo = &cpo set cpo&vim function! calendar#message#en#get() abort return s:message endfunction let s:message = {} let s:message.day_name = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ] let s:message.day_name_long = [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ] let s:message.month_name = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ] let s:message.month_name_long = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ] let s:message.today = 'today' let s:message.multiple_argument = 'There are multiple possible arguments' let s:message.mkdir_fail = 'Could not create the directory for cache files' let s:message.cache_file_unwritable = 'The cache file is not writable' let s:message.cache_write_fail = 'Could not write the cache file' let s:message.access_url_input_code = 'Access %s and paste the code' let s:message.google_access_token_fail = 'Fail in authorization to Google' let s:message.delete_event = 'Delete the event? (cannot be undone) y/N: ' let s:message.delete_task = 'Delete the task? (cannot be undone) y/N: ' let s:message.clear_completed_task = 'Clear all the completed tasks? (cannot be undone) y/N: ' let s:message.curl_wget_not_found = 'curl and wget not found' let s:message.mark_not_set = 'Mark not set: ' let s:message.start_date_time = 'Starting date and time: ' let s:message.end_date_time = 'Ending date and time: ' let s:message.input_calendar_index = 'Input the index of the calendar: ' let s:message.input_calendar_name = 'Input the name of a new calendar: ' let s:message.hit_any_key = '[Hit any key]' let s:message.input_code = 'CODE: ' let s:message.input_task = 'TASK: ' let s:message.input_event = 'EVENT: ' let s:message.help = { \ 'title': calendar#util#name() . ' help', \ 'message': join([" This is a calendar application for Vim. ", \ "This calendar provides many views. Press the < and > keys. ", \ "There are year view, month view, week view, days view, day view and clock view.\n", \ " This calendar supports to download calendars from Google Calendar and show the events. ", \ "Add the following configuration to your vimrc file.\n", \ " let g:calendar_google_calendar = 1\n", \ "On starting the calendar, it will start authorization. ", \ "Press the E key to view and edit the events of the selected day. ", \ "Moreover, you can also download tasks from Google Task with the following configuration.\n", \ " let g:calendar_google_task = 1\n", \ "In order to see tasks, press the T key. You can edit and create tasks in the task window.\n", \ " For more information, open the help file with the following command.\n", \ " :help calendar\n", \ ], ''), \ 'credit': join([" Name: " . calendar#util#name(), \ " Version: " . calendar#util#version(), \ " Author: " . calendar#util#author(), \ " License: " . calendar#util#license(), \ " Repository: " . calendar#util#repository(), \ " Bug tracker: " . calendar#util#issue(), \ ], "\n"), \ 'view_left': 'Left view', \ 'view_right': 'Right view', \ 'today': 'Go to today', \ 'task': 'Toggle task window', \ 'event': 'Toggle event window', \ 'delete_line': 'Delete the event / Complete the task', \ 'clear': 'Clear completed tasks', \ 'undo_line': 'Uncomplete the task', \ 'help': 'Toggle this help', \ 'exit': 'Exit', \ } let s:message.task = { \ 'title': 'Task list', \ } let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/message/ja.vim ================================================ " ============================================================================= " Filename: autoload/calendar/message/ja.vim " Author: itchyny " License: MIT License " Last Change: 2016/05/09 08:06:55. " ============================================================================= scriptencoding utf-8 let s:save_cpo = &cpo set cpo&vim function! calendar#message#ja#get() abort return s:message endfunction let s:message = {} let s:message.day_name = [ '日', '月', '火', '水', '木', '金', '土' ] let s:message.day_name_long = [ '日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日' ] let s:message.month_name = [ '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月' ] let s:message.month_name_long = s:message.month_name let s:message.today = '今日' let s:message.multiple_argument = '複数の引数候補があります' let s:message.mkdir_fail = 'キャッシュ用のディレクトリーの作成に失敗しました' let s:message.cache_file_unwritable = 'キャッシュファイルの書き込みが許されていません' let s:message.cache_write_fail = 'キャッシュファイルの書き込みに失敗しました' let s:message.access_url_input_code = '%s にアクセスして、コードを入力して下さい' let s:message.google_access_token_fail = 'Googleへの認証に失敗しました' let s:message.delete_event = 'イベントを削除しますか? (この操作は元に戻せません) y/N: ' let s:message.delete_task = 'タスクを削除しますか? (この操作は元に戻せません) y/N: ' let s:message.clear_completed_task = '完了したタスクを全て削除しますか? (この操作は元に戻せません) y/N: ' let s:message.curl_wget_not_found = 'curl または wget が必要です' let s:message.mark_not_set = 'マークが設定されていません: ' let s:message.start_date_time = '開始日時: ' let s:message.end_date_time = '終了日時: ' let s:message.input_calendar_index = 'カレンダーの番号を指定して下さい: ' let s:message.input_calendar_name = '新しいカレンダーの名前を入力して下さい: ' let s:message.hit_any_key = '[キーを押して下さい]' let s:message.input_code = 'コード: ' let s:message.input_task = 'タスク: ' let s:message.input_event = 'イベント: ' let s:message.help = { \ 'title': calendar#util#name() . ' ヘルプ', \ 'message': join([" Vimで動くカレンダーアプリケーションです。", \ "このカレンダーは、様々なビューを備えています。< と > を押してみてください。", \ "一年のビュー、一か月ビュー、週間ビュー、数日ビュー、一日ビュー、そして時計ビューがあります。\n", \ " また、Google Calendarからカレンダーをダウンロードし、表示することも出来ます。", \ "次の設定をvimrcに書いて下さい。\n", \ " let g:calendar_google_calendar = 1\n", \ "カレンダーを起動すると、認証が始まります。", \ "選択した日のイベント一覧を表示したり、編集したりするには、Eを押して下さい。", \ "また、次の設定を書くとGoogle Taskからあなたのタスクをダウンロードすることも出来ます。\n", \ " let g:calendar_google_task = 1\n", \ "タスクを表示するには、Tを押して下さい。", \ "その画面で、タスクを編集したり新しく作成したりすることも出来ます。\n", \ " 更に詳細な事は、アプリケーションのヘルプファイルを参照して下さい。\n", \ " :help calendar\n", \ ], ''), \ 'credit': join([" アプリケーション名: " . calendar#util#name(), \ " バージョン: " . calendar#util#version(), \ " 作者: " . calendar#util#author(), \ " ライセンス: " . calendar#util#license(), \ " リポジトリ: " . calendar#util#repository(), \ " バグ報告: " . calendar#util#issue(), \ ], "\n"), \ 'Credit': 'クレジット', \ 'Mapping': 'マッピング', \ 'View': 'ビュー', \ 'Utility': 'ユーティリティー', \ 'view_left': '左のビュー', \ 'view_right': '右のビュー', \ 'today': '今日', \ 'Event window / Task window': 'イベントウィンドウ / タスクウィンドウ', \ 'task': 'タスクウィンドウを表示/非表示', \ 'event': 'イベントウィンドウを表示/非表示', \ 'delete_line': 'イベントを削除 / 選択中のタスクを完了状態にする', \ 'clear': '完了したタスクを全て削除する', \ 'undo_line': '完了状態にしたタスクを未完にする', \ 'help': 'このヘルプを表示/非表示', \ 'exit': 'カレンダーを終了する', \ } let s:message.task = { \ 'title': 'タスク', \ } let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/message.vim ================================================ " ============================================================================= " Filename: autoload/calendar/message.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:30:41. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Getting the message based on the locale setting. " The message files are found in message/. function! calendar#message#get(type) abort let locale = calendar#setting#get('locale') try let message = calendar#message#{locale}#get() catch if len(locale) > 1 try let message = calendar#message#{locale[:1]}#get() catch let message = calendar#message#default#get() endtry else let message = calendar#message#default#get() endif finally if has_key(message, a:type) return message[a:type] else let message = calendar#message#default#get() if has_key(message, a:type) return message[a:type] else let message = calendar#message#en#get() return message[a:type] endif endif endtry endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/model.vim ================================================ " ============================================================================= " Filename: autoload/calendar/model.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:31:06. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Model object " This object keeps time, day and month. function! calendar#model#new() abort return copy(s:self) endfunction let s:self = {} function! s:self.time() dict abort return self._time endfunction function! s:self.set_time(time) dict abort let self._time = a:time return self endfunction function! s:self.second() dict abort return self._time.second() endfunction function! s:self.minute() dict abort return self._time.minute() endfunction function! s:self.hour() dict abort return self._time.hour() endfunction function! s:self.move_second(diff) dict abort let [d, new_time] = self.time().add_second(a:diff) call self.set_time(new_time) call self.move_day(d) endfunction function! s:self.move_minute(diff) dict abort let [d, new_time] = self.time().add_minute(a:diff) call self.set_time(new_time) call self.move_day(d) endfunction function! s:self.move_hour(diff) dict abort let [d, new_time] = self.time().add_hour(a:diff) call self.set_time(new_time) call self.move_day(d) endfunction function! s:self.day() dict abort return self._day endfunction function! s:self.set_day(day) dict abort let self._day = a:day return self endfunction function! s:self.month() dict abort return self._month endfunction function! s:self.set_month(month) dict abort let self._month = a:month return self endfunction function! s:self.set_month_from_day() dict abort return self.set_month(self.day().month()) endfunction function! s:self.year() dict abort return self._day.year() endfunction function! s:self.get_days() dict abort return self.month().get_days() endfunction function! s:self.move_day(diff) dict abort let new_day = self.day().add(a:diff) call self.set_day(new_day) if !self.month().eq(new_day.month()) call self.set_month_from_day() endif endfunction function! s:self.move_month(diff) dict abort call self.set_day(self.day().add_month(a:diff)) call self.set_month_from_day() endfunction function! s:self.move_year(diff) dict abort call self.set_day(self.day().add_year(a:diff)) call self.set_month_from_day() endfunction function! s:self._start_visual(mode) dict abort if self.visual_mode() == 0 let self._visual_start_day = deepcopy(self._day) let self._visual_start_time = deepcopy(self._time) endif let self._visual = get(self, '_visual') == a:mode ? 0 : a:mode endfunction function! s:self.start_visual() dict abort call self._start_visual(1) endfunction function! s:self.start_line_visual() dict abort call self._start_visual(2) endfunction function! s:self.start_block_visual() dict abort call self._start_visual(3) endfunction function! s:self.exit_visual() dict abort let self._visual = 0 return self endfunction function! s:self.visual_mode() dict abort return get(self, '_visual') endfunction function! s:self.is_visual() dict abort return get(self, '_visual') == 1 endfunction function! s:self.is_line_visual() dict abort return get(self, '_visual') == 2 endfunction function! s:self.is_block_visual() dict abort return get(self, '_visual') == 3 endfunction function! s:self.visual_start_day() dict abort return get(self, '_visual_start_day', self._day) endfunction function! s:self.visual_start_time() dict abort return get(self, '_visual_start_time', self._time) endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/100 ================================================ ...%% ...%% .%%%% %%.%% .%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/101 ================================================ ..... .%%%. %%.%% %%%.. .%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/102 ================================================ ..%%. .%%.. %%%%% .%%.. .%%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/103 ================================================ .%%%. %%.%% .%%%% ...%% .%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/104 ================================================ %%... %%... %%%%. %%.%% %%.%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/105 ================================================ .. %% .. %% %% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/106 ================================================ ...%% ..... ...%% %%.%% .%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/107 ================================================ %%... %%... %%.%% %%%%. %%.%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/108 ================================================ %%%. .%%. .%%. .%%. .%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/109 ================================================ ........ ........ %%%%%%%. %%.%%.%% %%.%%.%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/110 ================================================ ..... ..... %%%%. %%.%% %%.%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/111 ================================================ ..... ..... .%%%. %%.%% .%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/112 ================================================ %%%%. %%.%% %%%%. %%... %%... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/113 ================================================ .%%%% %%.%% .%%%% ...%% ...%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/114 ================================================ ..... %%.%% %%%%. %%... %%... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/115 ================================================ .%%%% %%... %%%%% ...%% %%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/116 ================================================ .... .%%. %%%% .%%. .%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/117 ================================================ ..... ..... %%.%% %%.%% .%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/118 ================================================ ...... ...... %%..%% .%%%%. ..%%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/119 ================================================ .......... .......... %%..%%..%% .%%%%%%%%. ..%%..%%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/120 ================================================ ..... ..... %%.%% .%%%. %%.%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/121 ================================================ ...... %%..%% .%%%%. ..%%.. .%%... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/122 ================================================ ..... ..... %%%%% .%%%. %%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/123 ================================================ .%%% .%%. %%%. .%%. .%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/124 ================================================ %% %% %% %% %% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/125 ================================================ %%%. .%%. .%%% .%%. %%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/126 ================================================ ....... ....... .%%%.%% %%.%%%. ....... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/33 ================================================ %% %% %% .. %% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/34 ================================================ .%%.%% %%.%%. ...... ...... ...... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/35 ================================================ .%%.%%. %%%%%%% .%%.%%. %%%%%%% .%%.%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/36 ================================================ .%%%%% %.%%.. %%%%%% ..%%.% %%%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/37 ================================================ ....%% %%.%%. ..%%.. .%%.%% %%.... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/38 ================================================ ..%%%.. .%%.... .%%%... %%...%% .%%%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/39 ================================================ .%% %%. ... ... ... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/40 ================================================ .%% %%. %%. %%. .%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/41 ================================================ %%.. .%%. .%%. .%%. %%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/42 ================================================ ...... %.%%.% .%%%%. %.%%.% ...... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/43 ================================================ ...... ..%%.. %%%%%% ..%%.. ...... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/44 ================================================ ... ... ... .%% %%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/45 ================================================ ..... ..... %%%%% ..... ..... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/46 ================================================ .... .... .... .... .%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/47 ================================================ .....%%. ....%%.. ...%%... ..%%.... .%%..... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/48 ================================================ %%%%%% %%..%% %%..%% %%..%% %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/49 ================================================ ....%% ....%% ....%% ....%% ....%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/50 ================================================ %%%%%% ....%% %%%%%% %%.... %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/51 ================================================ %%%%%% ....%% %%%%%% ....%% %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/52 ================================================ %%..%% %%..%% %%%%%% ....%% ....%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/53 ================================================ %%%%%% %%.... %%%%%% ....%% %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/54 ================================================ %%%%%% %%.... %%%%%% %%..%% %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/55 ================================================ %%%%%% ....%% ....%% ....%% ....%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/56 ================================================ %%%%%% %%..%% %%%%%% %%..%% %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/57 ================================================ %%%%%% %%..%% %%%%%% ....%% %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/58 ================================================ .... .%%. .... .%%. .... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/59 ================================================ ... .%% ... .%% %%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/60 ================================================ ...%% .%%%. %%... .%%%. ...%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/61 ================================================ ..... %%%%% ..... %%%%% ..... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/62 ================================================ %%... .%%%. ...%% .%%%. %%... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/63 ================================================ .%%%%. %%..%% ...%%. ...... ..%%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/64 ================================================ .%%%%%%. %%..%%%% %%.%%.%% %%..%%%% .%%%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/65 ================================================ ..%%.. .%%%%. %%..%% %%%%%% %%..%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/66 ================================================ %%%%%. %%..%% %%%%%. %%..%% %%%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/67 ================================================ .%%%%%. %%...%% %%..... %%...%% .%%%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/68 ================================================ %%%%%.. %%..%%. %%...%% %%..%%. %%%%%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/69 ================================================ %%%%%% %%.... %%%%%. %%.... %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/70 ================================================ %%%%%% %%.... %%%%%. %%.... %%.... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/71 ================================================ .%%%%%. %%...%% %%..... %%..%%% .%%%.%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/72 ================================================ %%...%% %%...%% %%%%%%% %%...%% %%...%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/73 ================================================ %% %% %% %% %% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/74 ================================================ ....%% ....%% ....%% %%..%% .%%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/75 ================================================ %%..%% %%.%%. %%%%.. %%.%%. %%..%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/76 ================================================ %%.... %%.... %%.... %%.... %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/77 ================================================ %%....%% %%%..%%% %%%%%%%% %%.%%.%% %%....%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/78 ================================================ %%..%% %%%.%% %%%%%% %%.%%% %%..%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/79 ================================================ .%%%%%. %%...%% %%...%% %%...%% .%%%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/80 ================================================ %%%%%. %%..%% %%%%%. %%.... %%.... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/81 ================================================ .%%%%%. %%...%% %%...%% %%.%%%. .%%%.%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/82 ================================================ %%%%%%. %%...%% %%%%%%. %%..%%. %%...%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/83 ================================================ .%%%%% %%.... %%%%%% ....%% %%%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/84 ================================================ %%%%%%%% ...%%... ...%%... ...%%... ...%%... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/85 ================================================ %%...%% %%...%% %%...%% %%...%% .%%%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/86 ================================================ %%..%% %%..%% %%..%% .%%%%. ..%%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/87 ================================================ %%..%%..%% %%..%%..%% %%..%%..%% .%%%%%%%%. ..%%..%%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/88 ================================================ %%..%% .%%%%. ..%%.. .%%%%. %%..%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/89 ================================================ %%..%% .%%%%. ..%%.. ..%%.. ..%%.. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/90 ================================================ %%%%%% ...%%. ..%%.. .%%... %%%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/91 ================================================ %%% %%. %%. %%. %%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/92 ================================================ %%.... .%%... ..%%.. ...%%. ....%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/93 ================================================ %%% .%% .%% .%% %%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/94 ================================================ ..%%.. %%..%% ...... ...... ...... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/95 ================================================ .... .... .... .... %%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/96 ================================================ %%.. .%%% .... .... .... ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/97 ================================================ ........ ........ .%%%%.%% %%..%%%% .%%%%.%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/98 ================================================ %%... %%... %%%%. %%.%% %%%%. ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel/99 ================================================ ..... ..... .%%%% %%... .%%%% ================================================ FILE: bundle/calendar.vim/autoload/calendar/pixel.vim ================================================ " ============================================================================= " Filename: autoload/calendar/pixel.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:31:09. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Load the pixel files on demand. " The pixel data are saved in files under pixel/. " For example, the character code of 'F' is 70 so the pixel data is pixel/70. " chr: character to get the pixel of " returns: pixel data in an array let s:pixel = { ' ': [ '..', '..', '..', '..', '..'] } let s:dir = expand(':p:h') . '/pixel/' function! calendar#pixel#get(chr) abort if a:chr ==# '' return repeat([''], 5) endif if has_key(s:pixel, a:chr) return type(s:pixel[a:chr]) == type([]) ? s:pixel[a:chr] : s:pixel[' '] endif let path = s:dir . char2nr(a:chr) if filereadable(path) let s:pixel[a:chr] = readfile(path) else let s:pixel[a:chr] = 0 endif return get(s:pixel, a:chr, s:pixel[' ']) endfunction function! calendar#pixel#len(chr) abort let len = 0 for c in split(a:chr, '\zs') unlet! px let px = calendar#pixel#get(c) if type(px) == type([]) let len += len(px[0]) endif endfor if len(a:chr) let len -= calendar#pixel#whitelen(a:chr[0]) let len -= calendar#pixel#whitelen(a:chr[len(a:chr) - 1], '\.*$') endif return len endfunction function! calendar#pixel#whitelen(chr, ...) abort let pat = a:0 ? a:1 : '^\.*' let px = calendar#pixel#get(a:chr) if type(px) != type([]) return 0 endif let min = 100 for str in px let min = min([min, len(matchstr(str, pat))]) endfor return min endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/setlocal.vim ================================================ " ============================================================================= " Filename: autoload/calendar/setlocal.vim " Author: itchyny " License: MIT License " Last Change: 2019/07/20 13:22:17. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " All the setlocal commands are executed using the functions in this file. " Set all the local settings for the current calendar buffer. let s:undolevels = v:version > 704 || v:version == 704 && has('patch073') let s:colorcolumn = exists('&colorcolumn') let s:relativenumber = exists('&relativenumber') function! calendar#setlocal#new() abort setlocal nomodifiable buftype=nofile noswapfile readonly \ bufhidden=hide wrap nowrap nobuflisted nofoldenable foldcolumn=0 \ nolist completefunc= omnifunc= \ nocursorcolumn nocursorline nomodeline if &number setlocal nonumber endif if s:undolevels setlocal undolevels=-1 endif if s:colorcolumn setlocal colorcolumn= endif if s:relativenumber && &relativenumber setlocal norelativenumber endif call calendar#setlocal#filetype() endfunction " Set modifiable so that the controller can modify the contents in the buffer. function! calendar#setlocal#modifiable() abort setlocal modifiable noreadonly endfunction " Set nomodifiable after the controller modify the contents in the buffer. function! calendar#setlocal#nomodifiable() abort setlocal nomodifiable readonly endfunction " Set filetype once. function! calendar#setlocal#filetype() abort if &l:filetype !=# 'calendar' setlocal filetype=calendar endif endfunction " Set filetype forcibly. (see 'autocmd ColorScheme' in autocmd.vim) function! calendar#setlocal#filetype_force() abort setlocal filetype= setlocal filetype=calendar endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/setting.vim ================================================ " ============================================================================= " Filename: autoload/calendar/setting.vim " Author: itchyny " License: MIT License " Last Change: 2020/10/17 01:28:47. " ============================================================================= scriptencoding utf-8 let s:save_cpo = &cpo set cpo&vim " Obtaining settings. " 1: b:_calendar[option] is set by :Calendar -option=value " 2: g:calendar_option is set in vimrc. let g:calendar_option = value " 3: s:option() is the default value. " Firstly, check the buffer variable if exists. It is set from argument. See " calendar#new(args) for more detail. If the buffer was not found as a buffer " variable, check the global variable. A user can set the variable in the vimrc " file. Lastly, returns the default setting. All the default settings are " defined in this file. Conversely, all the variables defined in this file can " be configured by users from their vimrc file. function! calendar#setting#get(name) abort return get(get(b:, '_calendar', {}), a:name, get(g:, 'calendar_' . a:name, s:{a:name}())) endfunction function! calendar#setting#get_default(name) abort return s:{a:name}() endfunction function! s:locale() abort return substitute(v:lang, '[.-]', '_', 'g') endfunction function! s:calendar() abort return 'default' endfunction function! s:calendar_candidates() abort return 0 endfunction function! s:first_day() abort return v:lang =~# '\v(US|CA|JP|IL)|^(ja)' ? 'sunday' : 'monday' endfunction let s:t = strftime('%z') function! s:time_zone() abort return s:t endfunction function! s:date_endian() abort return v:lang =~# '\v(JP|KR|HU|LT|IR|MN)|^(ja|zh)' ? 'big' \ : v:lang =~# 'US' ? 'middle' \ : 'little' endfunction function! s:date_separator() abort return v:lang =~# '\v(AM|AT|AZ|BY|BG|HR|CZ|EE|FI|GE|DE|HU|IS|KZ|KG|LV|MN|NO|RO|RU|SK|CH|TM|UA)' ? '.' \ : v:lang =~# '\v(BD|CN|DK|FR|IN|IE|LT|NL|SE|TW)' ? '-' \ : '/' endfunction function! s:date_month_name() abort return 0 endfunction function! s:date_full_month_name() abort return 0 endfunction function! s:task() abort return 0 endfunction function! s:event_start_time() abort return 1 endfunction function! s:event_start_time_minwidth() abort return 16 endfunction function! s:week_number() abort return 0 endfunction function! s:clock_12hour() abort return 0 endfunction let s:c = expand('~/.cache/calendar.vim/') function! s:cache_directory() abort return s:c endfunction function! s:google_calendar() abort return 0 endfunction function! s:google_task() abort return 0 endfunction function! s:updatetime() abort return 200 endfunction function! s:view() abort return 'month' endfunction function! s:views() abort return ['year', 'month', 'week', 'day_4', 'day', 'clock'] endfunction function! s:cyclic_view() abort return 0 endfunction function! s:yank_deleting() abort return 1 endfunction function! s:skip_event_delete_confirm() abort return 0 endfunction function! s:skip_task_delete_confirm() abort return 0 endfunction function! s:skip_task_clear_completed_confirm() abort return 0 endfunction function! s:task_delete() abort return 0 endfunction function! s:task_width() abort return calendar#util#winwidth() / 6 endfunction function! s:view_source() abort return [ \ { 'type': 'ymd' \ , 'top': '1' \ , 'align': 'center' \ , 'maxwidth': 'b:calendar.view.task_visible() ? calendar#util#winwidth() - calendar#task#width() : calendar#util#winwidth() - 1' \ , 'visible': 'b:calendar.view.get_calendar_views() !~# "clock\\|event\\|agenda"' \ } , \ { 'type': 'event' \ , 'left': '(calendar#util#winwidth() - self.width()) / 2' \ , 'top': '(calendar#util#winheight() - self.height()) / 2' \ , 'on_top': '1' \ , 'position': 'absolute' \ , 'maxwidth': 'max([calendar#util#winwidth() / 3, 15])' \ , 'maxheight': 'max([calendar#util#winheight() / 2, 3])' \ , 'visible': 'b:calendar.view.event_visible() && b:calendar.view.get_calendar_views() !~# "clock\\|event\\|agenda"' \ }, \ { 'type': 'task' \ , 'align': 'right' \ , 'left': 'calendar#util#winwidth() - calendar#task#width()' \ , 'top': '(calendar#util#winheight() - self.height()) / 2' \ , 'position': 'absolute' \ , 'maxwidth': 'calendar#task#width()' \ , 'maxheight': 'max([calendar#util#winheight() * 5 / 6, 3])' \ , 'visible': 'b:calendar.view.task_visible()' \ }, \ { 'type': 'help' \ , 'align': 'center' \ , 'position': 'absolute' \ , 'on_top': '1' \ , 'left': '(calendar#util#winwidth() - self.width()) / 2' \ , 'top': '(calendar#util#winheight() - self.height()) / 2' \ , 'maxwidth': 'max([min([calendar#util#winwidth() / 2, min([77, calendar#util#winwidth()])]), min([30, calendar#util#winwidth()])])' \ , 'maxheight': 'max([calendar#util#winheight() * 3 / 5, 3])' \ , 'visible': 'b:calendar.view.help_visible()' \ }, \ { 'type': 'calendar' \ , 'top': 'b:calendar.view.get_calendar_views() =~# "clock\\|event\\|agenda" ? 0 : 3' \ , 'align': 'center' \ , 'maxwidth': 'b:calendar.view.task_visible() ? calendar#util#winwidth() - calendar#task#width() - 3 : calendar#util#winwidth() - 1' \ , 'maxheight': 'calendar#util#winheight() - (b:calendar.view.get_calendar_views() =~# "clock\\|event\\|agenda" ? 0 : 3)' \ }, \ ] endfunction function! calendar#setting#frame() abort let n = calendar#setting#get('frame') if has_key(s:f, n) | return s:f[n] | endif let s:f[n] = calendar#setting#get('frame_' . n) return s:f[n] endfunction let s:f = {} function! s:frame() abort return &enc ==# 'utf-8' && &fenc ==# 'utf-8' ? 'unicode' : 'default' endfunction function! s:frame_default() abort return { 'type': 'default', 'vertical': '|', 'horizontal': '-', 'junction': '+', \ 'left': '+', 'right': '+', 'top': '+', 'bottom': '+', \ 'topleft': '+', 'topright': '+', 'bottomleft': '+', 'bottomright': '+' } endfunction function! s:frame_unicode() abort if &enc ==# 'utf-8' && &fenc ==# 'utf-8' return { 'type': 'unicode', 'vertical': "\u2502", 'horizontal': "\u2500", 'junction': "\u253C", \ 'left': "\u251C", 'right': "\u2524", 'top': "\u252C", 'bottom': "\u2534", \ 'topleft': "\u250C", 'topright': "\u2510", 'bottomleft': "\u2514", 'bottomright': "\u2518" } else return s:frame_default() endif endfunction function! s:frame_unicode_bold() abort if &enc ==# 'utf-8' && &fenc ==# 'utf-8' return { 'type': 'unicode_bold', 'vertical': "\u2503", 'horizontal': "\u2501", 'junction': "\u254B", \ 'left': "\u2523", 'right': "\u252B", 'top': "\u2533", 'bottom': "\u253B", \ 'topleft': "\u250F", 'topright': "\u2513", 'bottomleft': "\u2517", 'bottomright': "\u251B" } else return s:frame_default() endif endfunction function! s:frame_unicode_round() abort if &enc ==# 'utf-8' && &fenc ==# 'utf-8' return extend(s:frame_unicode_bold(), { \ 'type': 'unicode_round', 'topleft': "\u256D", 'topright': "\u256E", \ 'bottomleft': "\u2570", 'bottomright': "\u256F" }) else return s:frame_default() endif endfunction function! s:frame_unicode_double() abort if &enc ==# 'utf-8' && &fenc ==# 'utf-8' return { 'type': 'unicode_double', 'vertical': "\u2551", 'horizontal': "\u2550", 'junction': "\u256C", \ 'left': "\u2560", 'right': "\u2563", 'top': "\u2566", 'bottom': "\u2569", \ 'topleft': "\u2554", 'topright': "\u2557", 'bottomleft': "\u255A", 'bottomright': "\u255D" } else return s:frame_default() endif endfunction function! s:frame_space() abort return { 'type': 'space', 'vertical': ' ', 'horizontal': ' ', 'junction': ' ', \ 'left': ' ', 'right': ' ', 'top': ' ', 'bottom': ' ', \ 'topleft': ' ', 'topright': ' ', 'bottomleft': ' ', 'bottomright': ' ' } endfunction function! s:google_client() abort if has_key(s:, '_google_client') return s:_google_client endif let s:_google_client = { \ 'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob', \ 'scope': 'https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/tasks', \ 'api_key': '', \ 'client_id': '', \ 'client_secret': '', \ } if exists('g:calendar_google_api_key') let s:_google_client.api_key = g:calendar_google_api_key endif if exists('g:calendar_google_client_id') let s:_google_client.client_id = g:calendar_google_client_id endif if exists('g:calendar_google_client_secret') let s:_google_client.client_secret = g:calendar_google_client_secret endif return s:_google_client endfunction function! s:message_prefix() abort return '[calendar] ' endfunction function! s:debug() abort return 0 endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/string.vim ================================================ " ============================================================================= " Filename: autoload/calendar/string.vim " Author: itchyny " License: MIT License " Last Change: 2016/11/06 12:00:00. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " String manipulations. " All the functions were imported from vital.vim. " https://github.com/vim-jp/vital.vim (Public Domain) let s:cache = calendar#countcache#new('string.vim') function! calendar#string#truncate(str, width) abort let key = a:width . 'C' . a:str if s:cache.has_key(key) | return s:cache.get(key) | endif if a:str =~# '^[\x20-\x7e]*$' return len(a:str) < a:width \ ? printf('%-' . a:width . 's', a:str) \ : strpart(a:str, 0, a:width) endif let ret = a:str let width = strdisplaywidth(a:str) if width > a:width let ret = calendar#string#strwidthpart(ret, a:width) let width = strdisplaywidth(ret) endif if width < a:width let ret .= repeat(' ', a:width - width) endif return s:cache.save(key, ret) endfunction function! calendar#string#truncate_reverse(str, width) abort let key = a:width . 'U' . a:str if s:cache.has_key(key) | return s:cache.get(key) | endif if a:str =~# '^[\x20-\x7e]*$' return len(a:str) < a:width \ ? printf('%-' . a:width . 's', a:str) \ : strpart(a:str, len(a:str) - a:width) endif let ret = a:str let width = strdisplaywidth(a:str) if width > a:width let ret = calendar#string#strwidthpart_reverse(ret, a:width) let width = strdisplaywidth(ret) endif if width < a:width let ret = repeat(' ', a:width - width) . ret endif return s:cache.save(key, ret) endfunction function! calendar#string#strdisplaywidth(str) abort return strdisplaywidth(a:str) endfunction function! calendar#string#strwidthpart(str, width) abort let key = a:width . 'T' . a:str if s:cache.has_key(key) | return s:cache.get(key) | endif let str = tr(a:str, "\t", ' ') let vcol = a:width + 2 let ret = matchstr(str, '.*\%<' . (vcol < 0 ? 0 : vcol) . 'v') return s:cache.save(key, ret) endfunction function! calendar#string#strwidthpart_reverse(str, width) abort let key = a:width . 'R' . a:str if s:cache.has_key(key) | return s:cache.get(key) | endif let str = tr(a:str, "\t", ' ') let vcol = strdisplaywidth(str) - a:width let ret = matchstr(str, '\%>' . (vcol < 0 ? 0 : vcol) . 'v.*') return s:cache.save(key, ret) endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/task/google.vim ================================================ " ============================================================================= " Filename: autoload/calendar/task/google.vim " Author: itchyny " License: MIT License " Last Change: 2020/07/21 00:15:11. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#task#google#new() abort return deepcopy(s:self) endfunction let s:self = {} function! s:self.get_taskList() dict abort return calendar#google#task#getTaskList() endfunction function! s:self.get_task() dict abort return calendar#google#task#getTasks() endfunction function! s:self.insert(listid, previous, parent, title, ...) dict abort call calendar#google#task#insert(a:listid, a:previous, a:parent, a:title, a:0 ? a:1 : {}) endfunction function! s:self.move(listid, taskid, previous, parent) dict abort call calendar#google#task#move(a:listid, a:taskid, a:previous, a:parent) endfunction function! s:self.update(listid, taskid, title, ...) dict abort call calendar#google#task#update(a:listid, a:taskid, a:title, a:0 ? a:1 : {}) endfunction function! s:self.complete(listid, taskid) dict abort call calendar#google#task#complete(a:listid, a:taskid) endfunction function! s:self.uncomplete(listid, taskid) dict abort call calendar#google#task#uncomplete(a:listid, a:taskid) endfunction function! s:self.clear_completed(listid) dict abort call calendar#google#task#clear_completed(a:listid) endfunction function! s:self.delete(listid, taskid) dict abort call calendar#google#task#delete(a:listid, a:taskid) endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/task/local.vim ================================================ " ============================================================================= " Filename: autoload/calendar/task/local.vim " Author: itchyny " License: MIT License " Last Change: 2020/11/19 07:41:02. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#task#local#new() abort return deepcopy(s:self) endfunction let s:cache = calendar#cache#new('local') let s:task_cache = s:cache.new('task') let s:self = {} function! s:self.get_taskList() dict abort if has_key(self, 'localtasklist') return self.localtasklist else let taskList = s:cache.get('taskList') if type(taskList) == type({}) && has_key(taskList, 'items') && type(taskList.items) == type([]) let self.localtasklist = taskList else let self.localtasklist = { 'items': [{'id': calendar#util#id(), 'title': get(calendar#message#get('task'), 'title', 'Task')}] } call s:cache.save('taskList', self.localtasklist) endif endif return self.localtasklist endfunction function! s:self.get_task() dict abort let taskList = self.get_taskList() let task = [] if has_key(taskList, 'items') && type(taskList.items) == type([]) for item in taskList.items call add(task, item) let task[-1].items = [] unlet! cnt let cnt = s:task_cache.new(item.id).get('information') if type(cnt) == type({}) && cnt != {} let i = 0 while type(cnt) == type({}) unlet! cnt let cnt = s:task_cache.new(item.id).get(i) if type(cnt) == type({}) && cnt != {} && has_key(cnt, 'items') && type(cnt.items) == type([]) call extend(task[-1].items, cnt.items) endif let i += 1 endwhile endif endfor endif let self.localtask = task return task endfunction function! s:self.insert(listid, previous, parent, title, ...) dict abort let k = self.get_tasklist_index(a:listid) if k >= 0 let j = self.get_index(k, a:previous) + 1 call insert(self.localtask[k].items, { 'title': a:title, 'id': calendar#util#id() }, j) call self.save() endif endfunction function! s:self.move(listid, taskid, previous, parent) dict abort let k = self.get_tasklist_index(a:listid) if k >= 0 let j = self.get_index(k, a:taskid) let pj = a:previous ==# '' ? 0 : self.get_index(k, a:previous) if j >= 0 && pj >= 0 let task = deepcopy(self.localtask[k].items[j]) call remove(self.localtask[k].items, j) let pj = a:previous ==# '' ? -1 : self.get_index(k, a:previous) call insert(self.localtask[k].items, task, pj + 1) call self.save() endif endif endfunction function! s:self.update(listid, taskid, title, ...) dict abort let k = self.get_tasklist_index(a:listid) if k >= 0 let j = self.get_index(k, a:taskid) if j >= 0 call extend(self.localtask[k].items[j], { 'title': a:title }) call self.save() endif endif endfunction function! s:self.complete(listid, taskid) dict abort let k = self.get_tasklist_index(a:listid) if k >= 0 let j = self.get_index(k, a:taskid) if j >= 0 call extend(self.localtask[0].items[j], { 'status': 'completed' }) call self.save() endif endif endfunction function! s:self.uncomplete(listid, taskid) dict abort let k = self.get_tasklist_index(a:listid) if k >= 0 let j = self.get_index(k, a:taskid) if j >= 0 if has_key(self.localtask[0].items[j], 'status') call remove(self.localtask[0].items[j], 'status') endif call self.save() endif endif endfunction function! s:self.clear_completed(listid) dict abort if has_key(self, 'localtask') for task in self.localtask call filter(task.items, 'get(v:val, "status", "") !=# "completed"') endfor call self.save() endif endfunction function! s:self.delete(listid, taskid) dict abort let k = self.get_tasklist_index(a:listid) if k >= 0 let j = self.get_index(k, a:taskid) if j >= 0 call remove(self.localtask[0].items, j) call self.save() endif endif endfunction function! s:self.save() dict abort if has_key(self, 'localtask') for task in self.localtask call s:task_cache.new(task.id).save(0, task) call s:task_cache.new(task.id).save('information', { 'id': task.id, 'title': task.title }) endfor endif endfunction function! s:self.get_tasklist_index(id) dict abort if has_key(self, 'localtask') let j = -1 for i in range(len(self.localtask)) if self.localtask[i].id ==# a:id let j = i break endif endfor if j < 0 && len(self.localtask) return 0 endif return j endif return -1 endfunction function! s:self.get_index(listindex, id) dict abort if has_key(self, 'localtask') if 0 <= a:listindex && a:listindex < len(self.localtask) let j = -1 for i in range(len(self.localtask[a:listindex].items)) if self.localtask[0].items[i].id ==# a:id let j = i break endif endfor return j endif endif return -1 endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/task.vim ================================================ " ============================================================================= " Filename: autoload/calendar/task.vim " Author: itchyny " License: MIT License " Last Change: 2020/07/21 00:14:40. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Task controller. " This object handles both local task and Google Task. function! calendar#task#new() abort let self = copy(s:self) if calendar#setting#get('google_task') let self.task_source_name = 'google' else let self.task_source_name = 'local' endif let self.task_source = calendar#task#{self.task_source_name}#new() return self endfunction let s:self = {} let s:self._updated = 0 function! s:self.updated() dict abort return [self._updated] endfunction function! s:self.clear_cache() dict abort let self._updated = 1 endfunction function! s:self.get_taskList() dict abort return self.task_source.get_taskList() endfunction function! s:self.get_task() dict abort if self._updated || !has_key(self, 'task') let self.task = self.task_source.get_task() endif let self._updated = 0 return self.task endfunction function! s:self.insert(listid, previous, parent, title, ...) dict abort let self._updated = 1 call self.task_source.insert(a:listid, a:previous, a:parent, a:title, a:0 ? a:1 : {}) endfunction function! s:self.move(listid, taskid, previous, parent) dict abort let self._updated = 1 call self.task_source.move(a:listid, a:taskid, a:previous, a:parent) endfunction function! s:self.update(listid, taskid, title, ...) dict abort let self._updated = 1 call self.task_source.update(a:listid, a:taskid, a:title, a:0 ? a:1 : {}) endfunction function! s:self.complete(listid, taskid) dict abort let self._updated = 1 call self.task_source.complete(a:listid, a:taskid) endfunction function! s:self.uncomplete(listid, taskid) dict abort let self._updated = 1 call self.task_source.uncomplete(a:listid, a:taskid) endfunction function! s:self.clear_completed(listid) dict abort let self._updated = 1 call self.task_source.clear_completed(a:listid) endfunction function! s:self.delete(listid, taskid) dict abort let self._updated = 1 call self.task_source.delete(a:listid, a:taskid) endfunction function! calendar#task#width() abort let frame = calendar#setting#frame() return min([ \ max([calendar#setting#get("task_width"), 10]) \ + strdisplaywidth(frame.left) + strdisplaywidth(frame.right) + 2, \ calendar#util#winwidth()]) endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/text.vim ================================================ " ============================================================================= " Filename: autoload/calendar/text.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:32:06. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Text object, string with a position to display, and syntaxes. " s: The string (if it is a string) or the length of spaces (if it is a number) " x: Position x " y: Position y " syn: The syntax string (For example, Sunday, Saturday and Cursor) fu! calendar#text#new(s, x, y, syn) abort retu extend(copy(s:self),{'s':a:s,'x':a:x,'y':a:y,'t':!type(a:s),'syn':[[a:syn,a:y,a:x,a:x+(type(a:s)?len(a:s):a:s),0]]}) endfu let s:self = {} " Move all the things. fu! s:self.move(x, y) dict abort let self.x += a:x let self.y += a:y cal map(self.syn, '[v:val[0],v:val[1]+a:y,v:val[2]+a:x,v:val[3]+a:x,v:val[4]]') retu self endfu " Extend the syntaxes. fu! s:self.height(h) dict abort for s in self.syn if a:h let s[4] = a:h en endfo retu self endfu " Split all the extend the syntaxes. fu! s:self.split() dict abort let syn = [] for s in self.syn if s[4] let t = s let l = s[4] let s[4] = 0 wh l > 1 let t = copy(t) let t[1] += 1 cal add(syn, t) let l -= 1 endw en endfo retu map(syn, 'calendar#text#new(v:val[3] - v:val[2], v:val[2], v:val[1], v:val[0])') endfu " :h version7 | /7.2.061 silent! call calendar#string#strdisplaywidth('') let s:W = function((exists('*strdisplaywidth') ? '' : 'calendar#string#') . 'strdisplaywidth') let s:T = function('calendar#string#truncate') let s:R = function('calendar#string#truncate_reverse') fu! s:self.concat(t) dict abort let s = self.syn let t = a:t.syn let q = range(len(s)) let l = s:T(self.s, a:t.x) let r = s:R(self.s, s:W(self.s) - s:W(a:t.s) - a:t.x) let x = len(l) - a:t.x let e = len(l) + len(a:t.s) let f = len(self.s) - len(r) let y = min([e, f]) let m = e - f if !a:t.t let self.s = l . a:t.s . r en if x cal s:shift(t, x) en for i in q if s[i][2] >= y | let s[i][2] += m | en if s[i][3] >= y | let s[i][3] += m | en endfo retu x endfu fu! s:shift(t, x) abort let p = range(len(a:t)) for i in p let a:t[i][2] += a:x let a:t[i][3] += a:x endfo endfu fu! s:over(j, v, u) abort let [s, d] = [[], []] let v = a:v let u = a:u if u[2] < v[2] if u[3] <= v[3] let u[3] = v[2] el let syn = copy(u) let u[3] = v[2] let syn[2] = v[3] cal add(s, syn) en el if u[3] <= v[3] cal add(d, a:j) el let u[2] = v[3] en en retu [s, d] endfu " Text piling, the most important method of text object. fu! s:self.over(t) dict abort let s = self.syn let t = a:t.syn let x = a:t.t ? 0 : self.concat(a:t) if len(s) == 1 && s[0][0] == '' let self.syn = t retu x en let p = range(len(t)) for i in p let d = [] for j in range(len(s)) if s[j][3] <= t[i][2] con elsei s[j][2] >= t[i][3] con elsei t[i][0] != 'Cursor' && s[j][0] != 'Cursor' let [b, c] = s:over(j, t[i], s[j]) cal extend(s, b) cal extend(d, c) en endfo if len(d) for n in reverse(d) cal remove(s, n) endfo en endfo cal extend(s, t) retu x endfu let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/time.vim ================================================ " ============================================================================= " Filename: autoload/calendar/time.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/08 07:45:01. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Time object " h: hour " m: minute " s: second function! calendar#time#new(h, m, s) abort return extend(copy(s:self), { 'h': a:h, 'm': a:m, 's': a:s }) endfunction if exists('*strftime') function! calendar#time#now() abort return calendar#time#new(strftime('%H') * 1, strftime('%M') * 1, strftime('%S') * 1) endfunction else function! calendar#time#now() abort return calendar#time#new(system('date "+%H"') * 1, system('date "+%M"') * 1, system('date "+%S"') * 1) endfunction endif function! calendar#time#hour12(h) abort return a:h == 0 ? 12 : a:h < 13 ? a:h : a:h - 12 endfunction let s:time_zone_cache = {} function! calendar#time#time_zone() abort let time_zone = calendar#setting#get('time_zone') if has_key(s:time_zone_cache, time_zone) return s:time_zone_cache[time_zone] endif if time_zone ==# '' return 0 endif let str = time_zone let sign_str = str[0] ==# '-' ? '-' : str[0] ==# '+' ? '+' : '' let str = str[len(sign_str):] let d = matchstr(str, '^\d\+') let str = str[len(d):] let [ h, m, s ] = [ 0, 0, 0 ] let onlyhour = 0 if len(d) == 1 || len(d) == 2 let h = d + 0 let onlyhour = 1 elseif len(d) == 3 let h = d[0] + 0 let m = d[1:] + 0 elseif len(d) == 4 let h = d[:1] + 0 let m = d[2:] + 0 elseif len(d) >= 5 let h = d[:1] + 0 let m = d[2:] + 0 let s = d[4:] + 0 endif let str = substitute(str, '^[^[:digit:]]\+', '', 'g') let d = matchstr(str, '^\d\+') let str = str[len(d):] if len(d) == 1 || len(d) == 2 if onlyhour let m = d + 0 else let s = d + 0 endif elseif len(d) == 3 if onlyhour let m = d[0] + 0 let s = d[1:] + 0 else let s = d + 0 endif elseif len(d) == 4 if onlyhour let m = d[:1] + 0 let s = d[2:] + 0 else let s = d + 0 endif endif let str = substitute(str, '^[^[:digit:]]\+', '', 'g') let d = matchstr(str, '^\d\+') if len(d) let s = d + 0 endif let s:time_zone_cache[time_zone] = (sign_str ==# '-' ? -1 : 1) * (((h * 60) + m) * 60 + s) return s:time_zone_cache[time_zone] endfunction let s:time_cache = {} function! calendar#time#parse(str) abort if a:str ==# '' return 0 endif if has_key(s:time_cache, a:str) return s:time_cache[a:str] endif let [ h, m, s ] = [ 0, 0, 0 ] let timestr = matchstr(a:str, '^\d\+:\d\+\%(:\d\+\)\?') let str = a:str[len(timestr):] let hms = map(split(timestr, ':'), 'v:val + 0') if len(hms) == 3 let [ h, m, s ] = hms elseif len(hms) == 2 let [ h, m ] = hms endif let time = ((h * 60) + m) * 60 + s if str ==? 'Z' let s:time_cache[a:str] = time return s:time_cache[a:str] endif if str ==# '' let s:time_cache[a:str] = time - calendar#time#time_zone() return s:time_cache[a:str] endif if has_key(s:time_cache, str) let [ dh, dm, ds ] = s:time_cache[str] else let [ dh, dm, ds ] = [ 0, 0, 0 ] let timestr = matchstr(str, '-\?\d\+:\d\+\%(:\d\+\)\?') let hms = map(split(timestr, ':'), 'v:val + 0') if len(hms) == 3 let [ dh, dm, ds ] = hms elseif len(hms) == 2 let [ dh, dm ] = hms endif let s:time_cache[str] = [ dh, dm, ds ] endif let s:time_cache[a:str] = time - (((dh * 60) + dm) * 60 + ds) return s:time_cache[a:str] endfunction let s:datetime_cache = {} function! calendar#time#datetime(str) abort let time_zone = calendar#time#time_zone() let key = a:str . ',' . time_zone if has_key(s:datetime_cache, key) return s:datetime_cache[key] endif let time = a:str =~# 'T' ? calendar#time#parse(matchstr(a:str, 'T\zs.*')) + time_zone : 0 let ymd = map(split(matchstr(a:str, '\d\+-\d\+-\d\+'), '-'), 'v:val + 0') if len(ymd) != 3 return [] endif let [ y, m, d ] = ymd let min = s:div(time, 60) let sec = time - 60 * min let hour = s:div(min, 60) let min -= 60 * hour let day = s:div(hour, 24) let hour -= 24 * day if day != 0 let [ y, m, d ] = calendar#day#new(y, m, d).add(day).get_ymd() endif let s:datetime_cache[key] = [ y, m, d, hour, min, sec ] return s:datetime_cache[key] endfunction let s:self = {} function! s:div(x, y) abort return a:x/a:y-((a:x<0)&&(a:x%a:y)) endfunction function! s:self.new(h, m, s) dict abort return calendar#time#new(a:h, a:m, a:s) endfunction function! s:self.get_hms() dict abort return [self.h, self.m, self.s] endfunction function! s:self.add_hour(diff) dict abort let [h, m, s] = self.get_hms() let d = 0 let h += a:diff let d += s:div(h, 24) let h -= 24 * s:div(h, 24) return [d, self.new(h, m, s)] endfunction function! s:self.add_minute(diff) dict abort let [h, m, s] = self.get_hms() let d = 0 let m += a:diff let h += s:div(m, 60) let m -= 60 * s:div(m, 60) let d += s:div(h, 24) let h -= 24 * s:div(h, 24) return [d, self.new(h, m, s)] endfunction function! s:self.add_second(diff) dict abort let [h, m, s] = self.get_hms() let d = 0 let s += a:diff let m += s:div(s, 60) let s -= 60 * s:div(s, 60) let h += s:div(m, 60) let m -= 60 * s:div(m, 60) let d += s:div(h, 24) let h -= 24 * s:div(h, 24) return [d, self.new(h, m, s)] endfunction function! s:self.second() dict abort return self.get_hms()[2] endfunction function! s:self.minute() dict abort return self.get_hms()[1] endfunction function! s:self.hour() dict abort return self.get_hms()[0] endfunction function! s:self.seconds() dict abort return (self.hour() * 60 + self.minute()) * 60 + self.second() endfunction function! s:self.add(time) dict abort return self.add_second(a:time.seconds()) endfunction function! s:self.subtract(time) dict abort return self.add_second(-a:time.seconds()) endfunction function! s:self.sub(time) dict abort return self.seconds() - a:time.seconds() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/timestamp.vim ================================================ " ============================================================================= " Filename: autoload/calendar/timestamp.vim " Author: itchyny " License: MIT License " Last Change: 2020/11/19 07:41:09. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Save time stamps, not so that too many downloading requests occurs. " This is used in google/task.vim and google/calendar.vim. let s:cache = calendar#cache#new('timestamp') function! calendar#timestamp#update(name, sec) abort let cache = s:cache.get(a:name) if type(cache) == type({}) \ && has_key(cache, 'name') && cache.name ==# a:name \ && has_key(cache, 'day') && type(cache.day) == type([]) && len(cache.day) == 3 \ && has_key(cache, 'time') && type(cache.time) == type([]) && len(cache.time) == 3 let daydiff = calendar#day#today().sub(call('calendar#day#new', cache.day)) let timediff = calendar#time#now().sub(call('calendar#time#new', cache.time)) let refresh = timediff + daydiff * 86400 >= a:sec else let refresh = 1 endif if refresh call s:cache.save(a:name, \ { 'name': a:name \ , 'day' : calendar#day#today().get_ymd() \ , 'time': calendar#time#now().get_hms() }) endif return refresh endfunction function! calendar#timestamp#clear() abort call s:cache.clear() endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/util.vim ================================================ " ============================================================================= " Filename: autoload/calendar/util.vim " Author: itchyny " License: MIT License " Last Change: 2019/07/30 22:37:39. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Utility functions. " Version of this application. function! calendar#util#version() abort return '0.0' endfunction " Name of this application. function! calendar#util#name() abort return 'calendar.vim' endfunction " License of this application. function! calendar#util#license() abort return 'MIT License' endfunction " Name of the author. function! calendar#util#author() abort return 'itchyny (https://github.com/itchyny)' endfunction " Repository URL. function! calendar#util#repository() abort return 'https://github.com/itchyny/calendar.vim' endfunction " Bug tracker URL. function! calendar#util#issue() abort return 'https://github.com/itchyny/calendar.vim/issues' endfunction " winwidth " Take the minimum width if the calendar buffer is displayed in multiple " windows. For example, a calendar is viewed on a vertically splitted window " and execute top new. function! calendar#util#winwidth() abort return min(map(filter(range(1,winnr('$')),'winbufnr(v:val)==winbufnr(0)'),'winwidth(v:val)'))-1 endfunction " winheight " Take the minimum height. function! calendar#util#winheight() abort return min(map(filter(range(1,winnr('$')),'winbufnr(v:val)==winbufnr(0)'),'winheight(v:val)')) endfunction " Used for the return value of cnoremap. function! calendar#util#update_keys() abort silent! call histadd(':', getcmdline()) return "\\silent call b:calendar.update()\" endfunction " Get the command line, substituting the leading colons. function! calendar#util#getcmdline() abort return substitute(getcmdline(), '^\(\s*:\)*\s*', '', '') endfunction " Yank text function! calendar#util#yank(text) abort let @" = a:text if has('clipboard') || has('xterm_clipboard') let @+ = a:text endif endfunction " Id generator let s:id = 0 function! calendar#util#id() abort let [y, m, d] = calendar#day#today().get_ymd() let [h, i, s] = calendar#time#now().get_hms() let s:id = (s:id + 1) % 10000 return printf('%04d%02d%02d%02d%02d%02d%04d', y, m, d, h, i, s, s:id) endfunction " Execute shell command. function! calendar#util#system(cmd) abort silent! return system(a:cmd) endfunction " Remove directory. if has('unix') function! calendar#util#rmdir(path, ...) abort let flags = a:0 ? a:1 : '' let cmd = flags =~# 'r' ? 'rm -r' : 'rmdir' let cmd .= flags =~# 'f' && cmd ==# 'rm -r' ? ' -f' : '' let ret = system(cmd . ' ' . shellescape(a:path)) endfunction elseif has('win32') function! calendar#util#rmdir(path, ...) abort let flags = a:0 ? a:1 : '' if &shell =~? 'sh$' let cmd = flags =~# 'r' ? 'rm -r' : 'rmdir' let cmd .= flags =~# 'f' && cmd ==# 'rm -r' ? ' -f' : '' let ret = system(cmd . ' ' . shellescape(a:path)) else let cmd = 'rmdir /Q' let cmd .= flags =~# 'r' ? ' /S' : '' let ret = system(cmd . ' "' . a:path . '"') endif endfunction else function! calendar#util#rmdir(path, ...) abort endfunction endif let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/view.vim ================================================ " ============================================================================= " Filename: autoload/calendar/view.vim " Author: itchyny " License: MIT License " Last Change: 2019/08/07 21:22:19. " ============================================================================= let s:save_cpo = &cpo set cpo&vim function! calendar#view#new() abort let self = copy(s:self) call self.set_view_source(calendar#setting#get('view_source')) call self.set_calendar_views(calendar#setting#get('views')) call self.set_index(calendar#setting#get('view')) call self.set_task_visibility(calendar#setting#get('task')) return self endfunction let s:self = {} let s:self.index = 0 let s:self.calendar_views = ['year', 'month', 'week', 'day_4', 'day_1', 'clock'] let s:self.index_max = len(s:self.calendar_views) - 1 let s:self.updated = 1 let s:self._help = 0 let s:self._task = 0 let s:self._event = 0 let s:self._help_order = [] let s:self._event_order = [] function! s:self.set_calendar_views(views) dict abort let views = [ 'year', 'month', 'week', 'weekday', 'day_7', 'day_6', 'day_5', 'day_4', 'day_3', 'day_2', 'day_1', 'day', 'clock', 'event', 'agenda' ] let calendar_views = filter(a:views, 'index(views, v:val) >= 0') if len(calendar_views) > 0 let self.calendar_views = calendar_views let self.index_max = len(self.calendar_views) - 1 endif return self endfunction function! s:self.get_calendar_views() dict abort return self.calendar_views[self.index] endfunction function! s:self.set_index(view) dict abort let i = index(self.calendar_views, a:view) if i < 0 if a:view ==# 'day' let i = index(self.calendar_views, 'day_1') elseif a:view ==# 'days' let days = filter(copy(self.calendar_views), 'v:val =~# "^day_[2-6]"') if len(days) let i = index(self.calendar_views, days[0]) endif elseif a:view ==# 'week' let i = index(self.calendar_views, 'day_7') endif endif let self.index = i < 0 ? 0 : i let self.updated = 1 return self endfunction function! s:self.change_index(diff) dict abort if calendar#setting#get('cyclic_view') let m = self.index_max + 1 let self.index = (((self.index + a:diff) % m) + m) % m else let self.index = min([max([self.index + a:diff, 0]), self.index_max]) endif let self.updated = 1 endfunction function! s:self.event_visible() dict abort return self._event endfunction function! s:self.task_visible() dict abort return self._task endfunction function! s:self.set_task_visibility(_task) dict abort let self._task = type(a:_task) == type('') ? a:_task ==# '1' : a:_task endfunction function! s:self.help_visible() dict abort return self._help endfunction function! s:self.set_view_source(source) dict abort let self.source = a:source let self.views = map(deepcopy(self.source), 'calendar#view#{v:val.type}#new(v:val)') let self.order = range(len(self.source)) return self endfunction function! s:self.current_view() dict abort return self.views[self.current_view_index()] endfunction function! s:self.current_view_index() dict abort let i = len(self.order) - 1 while !self.views[self.order[i]].is_visible() let i -= 1 endwhile return self.order[i] endfunction function! s:self.view_count() dict abort let num = 0 for i in range(len(self.order)) let num += self.views[self.order[i]].is_visible() endfor return num endfunction function! s:self.visible_num() dict abort let num = 0 for i in range(len(self.views)) if self.views[i].is_visible() let num += 1 endif endfor return num endfunction function! s:self.event_view() dict abort for i in range(len(self.views)) if self.views[i].source.type ==# 'event' return self.views[i] endif endfor endfunction function! s:self.get_overlap() dict abort let height = calendar#util#winheight() let diffy = max([(height - self.ymax()) / 2, 0]) let o = [] let lw = [] for i in range(height) call add(o, []) call add(lw, []) endfor let f = 0 if self.visible_num() > 1 for i in range(len(self.order)) let c = self.views[self.order[i]] if c.is_visible() let [p, l, h, w] = [c.get_top() + (c.is_absolute() ? 0 : diffy), c.get_left(), c.sizey(), c.sizex()] let r = range(p, p + h - 1) for j in r if j < len(o) call add(o[j], i) call add(lw[j], [l, w]) if len(o[j]) <= 1 continue else let f = 1 if len(o[j]) == 2 if lw[j][0][0] <= l && lw[j][0][0] + lw[j][0][1] >= l call insert(o[j], -1) elseif lw[j][0][0] >= l if lw[j][0][0] < l + w call insert(o[j], -1) else let o[j] = [o[j][1], o[j][0]] endif endif else call insert(o[j], -1) endif endif endif endfor endif endfor endif return [f, o, diffy] endfunction function! s:self.ymax() dict abort let d = len(self.order) let ymax = 0 for i in range(d) let c = self.views[self.order[i]] if c.is_visible() && !c.is_absolute() let ymax = max([ymax, c.get_top() + c.sizey()]) endif endfor return ymax endfunction let [s:height, s:width] = [0, 0] function! s:self.gather(...) dict abort let d = len(self.order) let updated = self.updated || a:0 && a:1 for i in range(d) let c = self.views[self.order[i]] call c.set_index(self.calendar_views[self.index]) call c.set_size() let updated = updated || (c.is_visible() && c.updated()) " Do not break endfor if !updated | return 1 | endif let self.updated = 0 let [height, width] = [calendar#util#winheight(), calendar#util#winwidth()] if [s:height, s:width] != [height, width] let [s:height, s:width] = [height, width] let s:texts = map(range(s:height), 'calendar#text#new(repeat(" ", s:width), 0, v:val, "")') let s:llen = map(range(s:height), '0') endif let texts = deepcopy(s:texts) let llen = deepcopy(s:llen) let index = self.current_view_index() let [f, v, diffy] = self.get_overlap() for i in range(d) let c = self.views[self.order[i]] if !c.is_visible() continue endif call c.set_selected(self.order[i] == index) let r = c.gather(c.is_absolute() ? 0 : diffy) for t in r if 0 <= t.y && t.y < height if t.t && llen[t.y] call t.move(llen[t.y], 0) endif if f && t.t call s:split_over(t, texts, v, llen, i, height) endif let l = texts[t.y].over(t) if !t.t | let llen[t.y] = l | endif endif endfor endfor return texts endfunction function! s:split_over(t, texts, v, llen, i, height) abort let t = a:t if len(t.syn) && len(t.syn[0]) == 5 let flg = 0 for k in range(len(t.syn)) for j in range(min([t.syn[k][4], a:height - t.y])) let flg = flg || len(a:v[t.y + j]) > 1 && a:v[t.y + j][0] != a:i endfor if flg | break | endif endfor if flg for s in t.split() if s.y < a:height call s.move(a:llen[s.y] - a:llen[t.y], 0) call a:texts[s.y].over(s) endif endfor endif endif endfunction function! s:self.action(action) dict abort let ret = self.current_view().action(a:action) if type(ret) == 0 && ret == 0 if a:action ==# 'redraw' call b:calendar.update_force_redraw() return 1 elseif a:action ==# 'tab' if self.view_count() > 1 && !self.current_view().on_top() let index = self.current_view_index() let next = index while !self.views[next].is_visible() || next == index let next = (next + 1) % len(self.views) endwhile let idx = index(self.order, next) if idx >= 0 call remove(self.order, idx) let self.order = add(self.order, next) endif endif elseif a:action ==# 'shift_tab' if self.view_count() > 1 && !self.current_view().on_top() let index = self.current_view_index() let next = index while !self.views[next].is_visible() || next == index let next = (next - 1 + len(self.views)) % len(self.views) endwhile let idx = index(self.order, next) if idx >= 0 call remove(self.order, idx) let self.order = add(self.order, next) endif endif elseif a:action ==# 'status' let select = calendar#day#join_date(b:calendar.day().get_ymd()) let selectmd = calendar#day#join_date(b:calendar.day().get_ymd()[1:]) let today = calendar#day#join_date(calendar#day#today().get_ymd()) let diffnum = b:calendar.day().sub(calendar#day#today()) let diff = diffnum >= 0 ? '+' . diffnum : '' . diffnum let todaystr = calendar#message#get('today') let dayof = b:calendar.day().sub(b:calendar.day().year().head_day()) + 1 let yeardays = b:calendar.day().year().last_day().sub(b:calendar.day().year().head_day()) + 1 let daypercent = 100 * dayof / yeardays let message = printf('%s %s/%s --%d%%-- %s %s %s', select, dayof, yeardays, daypercent, todaystr, today, diff) let winw = calendar#util#winwidth() - 14 if calendar#string#strdisplaywidth(message) > winw let message = printf('%s %s/%s --%d%%-- %s %s', select, dayof, yeardays, daypercent, today, diff) if calendar#string#strdisplaywidth(message) > winw let message = printf('%s %s/%s %s %s', select, dayof, yeardays, today, diff) if calendar#string#strdisplaywidth(message) > winw let message = printf('%s %s/%s', select, dayof, yeardays) if calendar#string#strdisplaywidth(message) > winw let message = printf('%s', select) if calendar#string#strdisplaywidth(message) > winw let message = printf('%s', selectmd) endif endif endif endif endif call calendar#echo#message(message) elseif a:action ==# 'today' call b:calendar.move_day(-b:calendar.day().sub(calendar#day#today())) call b:calendar.move_second(-b:calendar.time().sub(calendar#time#now())) elseif a:action ==# 'help' let self.updated = 1 let ii = -1 for i in range(len(self.order)) if self.views[i].source.type ==# 'help' let ii = i endif endfor let self._help = !self._help if ii >= 0 && self._help let self._help_order = copy(self.order) let i = index(self.order, ii) if i >= 0 call remove(self.order, i) let self.order = add(self.order, ii) endif elseif has_key(self, '_help_order') let self.order = self._help_order let self._help = 0 endif elseif a:action ==# 'task' if self.current_view().on_top() && self.current_view().source.type !=# 'task' return endif let self.updated = 1 let ii = -1 for i in range(len(self.order)) if self.views[i].source.type ==# 'task' let ii = i endif endfor let self._task = !self._task if ii >= 0 && self._task let self._task_order = copy(self.order) let i = index(self.order, ii) if i >= 0 let self.order = self.order[i + 1:] + self.order[:i] endif elseif has_key(self, '_task_order') let self.order = self._task_order let self._task = 0 elseif ii >= 0 && !self._task let self.order = filter(copy(self.order), 'v:val != ii') + [ii] endif elseif a:action ==# 'close_task' if self._task call self.action('task') endif elseif a:action ==# 'event' if self.current_view().on_top() && self.current_view().source.type !=# 'event' return endif let self.updated = 1 let ii = -1 for i in range(len(self.order)) if self.views[i].source.type ==# 'event' let ii = i endif endfor let self._event = !self._event if ii >= 0 && self._event let self._event_order = copy(self.order) let i = index(self.order, ii) if i >= 0 let self.order = self.order[i + 1:] + self.order[:i] endif elseif has_key(self, '_event_order') let self.order = self._event_order let self._event = 0 endif elseif a:action ==# 'close_event' if self._event call self.action('event') endif elseif a:action ==# 'hide' try bunload! catch enew! endtry return 1 elseif a:action ==# 'exit' bwipeout! return 1 elseif a:action ==# 'view_left' call self.change_index(-v:count1) elseif a:action ==# 'view_right' call self.change_index(v:count1) elseif a:action ==# 'command_enter' && mode() ==# 'c' if getcmdtype() ==# ':' let cmd = calendar#util#getcmdline() let digits = [] if cmd =~# '\v^\s*marks\s*$' call b:calendar.mark.showmarks() return calendar#util#update_keys() elseif cmd =~# '\v^\s*(ma%[rk]\s+|k\s*)[a-z]\s*$' let mark = matchstr(cmd, '\v[a-z](\s*$)@=') call b:calendar.mark.set(mark) return calendar#util#update_keys() elseif cmd =~# '\v^\s*delm%[arks]!\s*$' call b:calendar.mark.delmarks() return calendar#util#update_keys() elseif cmd =~# '\v^\s*delm%[arks]\s+[a-z]\s*$' let mark = matchstr(cmd, '\v[a-z](\s*$)@=') call b:calendar.mark.delmarks(mark) return calendar#util#update_keys() elseif cmd =~# '\v^\s*\d+\s*$' return calendar#util#update_keys() elseif cmd =~# '\v^\s*\d+\s*/\s*\d+\s*(/\s*\d+\s*)?$' let digits = map(split(cmd, '/'), 'matchstr(v:val, "\\v\\d+") * 1') elseif cmd =~# '\v^\s*\d+\s*-\s*\d+\s*(-\s*\d+\s*)?$' let digits = map(split(cmd, '-'), 'matchstr(v:val, "\\v\\d+") * 1') elseif cmd =~# '\v^\s*\d+\s*\.\s*\d+\s*(\.\s*\d+\s*)?$' let digits = map(split(cmd, '\.'), 'matchstr(v:val, "\\v\\d+") * 1') elseif cmd =~# '\v^\s*\d+\s+\d+\s*(\s+\d+\s*)?$' let digits = map(split(cmd, '\s\+'), 'matchstr(v:val, "\\v\\d+") * 1') elseif cmd =~# '\v^\s*\d*\s*(\<\s*)+\d*$' let c = matchstr(cmd, '\d\+') let d = len(cmd) - len(substitute(cmd, '<', '', 'g')) call self.change_index(-max([len(c) ? c + 0 : 1, 1]) * d) return calendar#util#update_keys() elseif cmd =~# '\v^\s*\d*\s*(\>\s*)+\d*$' let c = matchstr(cmd, '\d\+') let d = len(cmd) - len(substitute(cmd, '>', '', 'g')) call self.change_index(max([len(c) ? c + 0 : 1, 1]) * d) return calendar#util#update_keys() endif if len(digits) call b:calendar.set_day(calendar#argument#day(digits, b:calendar.day().get_ymd())) call b:calendar.set_month() return calendar#util#update_keys() else return "\" endif else return "\" endif endif endif return ret endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/webapi.vim ================================================ " ============================================================================= " Filename: autoload/calendar/webapi.vim " Author: itchyny " License: MIT License " Last Change: 2019/12/03 12:48:49. " ============================================================================= " Web interface. " Most part of this file was copied from webapi-vim and vital.vim. " Thank you Yasuhiro Matsumoto, for distributing useful scripts under public " domain. " Maintainer and License of the original script {{{ " Last Change: 2010-09-10 " Maintainer: Yasuhiro Matsumoto " License: This file is placed in the public domain. " }}} let s:save_cpo = &cpo set cpo&vim let s:cache = calendar#cache#new('download') call s:cache.check_dir(1) if !calendar#setting#get('debug') call s:cache.rmdir_on_exit() endif function! s:nr2byte(nr) abort if a:nr < 0x80 return nr2char(a:nr) elseif a:nr < 0x800 return nr2char(a:nr/64+192).nr2char(a:nr%64+128) elseif a:nr < 0x10000 return nr2char(a:nr/4096%16+224).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) elseif a:nr < 0x200000 return nr2char(a:nr/262144%16+240).nr2char(a:nr/4096/16+128).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) elseif a:nr < 0x4000000 return nr2char(a:nr/16777216%16+248).nr2char(a:nr/262144%16+128).nr2char(a:nr/4096/16+128).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) else return nr2char(a:nr/1073741824%16+252).nr2char(a:nr/16777216%16+128).nr2char(a:nr/262144%16+128).nr2char(a:nr/4096/16+128).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) endif endfunction function! s:nr2enc_char(charcode) abort if &encoding == 'utf-8' return nr2char(a:charcode) endif let char = s:nr2byte(a:charcode) if strlen(char) > 1 let char = strtrans(iconv(char, 'utf-8', &encoding)) endif return char endfunction function! calendar#webapi#get(url, ...) abort return s:request(1, {}, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'GET')) endfunction function! calendar#webapi#post(url, ...) abort return s:request(1, {}, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'POST')) endfunction function! calendar#webapi#delete(url, ...) abort return s:request(1, {}, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'DELETE')) endfunction function! calendar#webapi#patch(url, ...) abort return s:request(1, {}, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'PATCH')) endfunction function! calendar#webapi#put(url, ...) abort return s:request(1, {}, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'PUT')) endfunction function! calendar#webapi#post_nojson(url, ...) abort return s:request(0, {}, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'POST')) endfunction function! calendar#webapi#get_async(id, cb, url, ...) abort return s:request(1, { 'id': a:id, 'cb': a:cb } , a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'GET')) endfunction function! calendar#webapi#post_async(id, cb, url, ...) abort return s:request(1, { 'id': a:id, 'cb': a:cb }, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'POST')) endfunction function! calendar#webapi#delete_async(id, cb, url, ...) abort return s:request(1, { 'id': a:id, 'cb': a:cb }, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'DELETE')) endfunction function! calendar#webapi#patch_async(id, cb, url, ...) abort return s:request(1, { 'id': a:id, 'cb': a:cb }, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'PATCH')) endfunction function! calendar#webapi#put_async(id, cb, url, ...) abort return s:request(1, { 'id': a:id, 'cb': a:cb }, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'PUT')) endfunction function! calendar#webapi#post_nojson_async(id, cb, url, ...) abort return s:request(0, { 'id': a:id, 'cb': a:cb }, a:url, get(a:000, 0, {}), get(a:000, 1, {}), get(a:000, 2, 'POST')) endfunction function! s:request(json, async, url, param, postdata, method) abort let url = a:url let paramstr = calendar#webapi#encodeURI(a:param) let withbody = a:method !=# 'GET' && a:method !=# 'DELETE' let header = {} if paramstr !=# '' let url .= '?' . paramstr endif let postfile = '' if withbody let postdatastr = a:json ? calendar#webapi#encode(a:postdata) : join(s:postdata(a:postdata), "\n") let postfile = tempname() call writefile(split(postdatastr, "\n"), postfile, 'b') let header['Content-Length'] = len(postdatastr) if a:json let header['Content-Type'] = 'application/json' endif endif let command = s:command(url, a:method, header, postfile, a:async == {} ? '' : s:cache.path(a:async.id)) if type(command) != type('') return { 'status': '0', 'message': '', 'header': '', 'content': '' } endif call s:cache.check_dir(1) if a:async == {} let data = calendar#util#system(command) let response = calendar#webapi#parse(split(data, "\n")) if withbody call delete(postfile) endif return response else if !calendar#setting#get('debug') call s:cache.delete(a:async.id) endif call calendar#async#new('calendar#webapi#callback(' . string(a:async.id) . ',' . string(a:async.cb) . ')') if has('win32') call calendar#util#system('cmd /c start /min ' . command) else let command .= ' &' call calendar#util#system(command) endif endif endfunction function! s:command(url, method, header, postfile, output) abort let quote = s:_quote() if executable('curl') let command = 'curl --http1.1 --suppress-connect-headers -s -k -i -N -X ' . a:method let command .= s:make_header_args(a:header, '-H ', quote) if a:postfile !=# '' let command .= ' --data-binary @' . quote . a:postfile . quote endif if a:output !=# '' let command .= ' -o ' . quote . a:output . quote endif let command .= ' ' . quote . a:url . quote return command elseif executable('wget') let command = 'wget -O- --server-response -q' let a:header['X-HTTP-Method-Override'] = a:method let command .= s:make_header_args(a:header, '--header=', quote) if a:postfile !=# '' let command .= ' --post-file=' . quote . a:postfile . quote else let command .= ' --method=' . a:method endif let command .= ' ' . quote . a:url . quote if a:output !=# '' let command .= ' > ' . quote . a:output . quote . ' 2>&1' endif return command else call calendar#echo#error_message('curl_wget_not_found') return 1 endif endfunction let s:callback_datalen = {} function! calendar#webapi#callback(id, cb) abort let data = s:cache.get_raw(a:id) if type(data) != type([]) return 1 endif let prevdatalen = get(s:callback_datalen, a:id) let s:callback_datalen[a:id] = len(data) if len(data) == 0 || len(data) != prevdatalen return 1 endif let response = calendar#webapi#parse(data) if empty(response) return 1 elseif a:cb !=# '' call call(a:cb, [a:id, response]) endif if !calendar#setting#get('debug') call s:cache.delete(a:id) endif unlet s:callback_datalen[a:id] return 0 endfunction function! calendar#webapi#parse(data) abort if len(a:data) == 0 return { 'status': '0', 'message': '', 'header': '', 'content': '' } endif let i = 0 while i < len(a:data) && a:data[i] =~# '^ ' " for wget let a:data[i] = a:data[i][2:] let i += 1 endwhile if i > 0 call insert(a:data, '', i) let i = 0 endif while i < len(a:data) && (a:data[i] =~# '\v^HTTP/[12]%(\.\d)? 3' || \ (i + 2 < len(a:data) && a:data[i] =~# '\v^HTTP/1\.\d \d{3}' && \ a:data[i + 1] =~# '\v^\r?$' && a:data[i + 2] =~# '\v^HTTP/1\.\d \d{3}')) while i < len(a:data) && a:data[i] !~# '\v^\r?$' let i += 1 endwhile let i += 1 endwhile while i < len(a:data) && a:data[i] !~# '\v^\r?$' let i += 1 endwhile let header = a:data[:i] let content = join(a:data[(i):], "\n") let matched = matchlist(get(header, 0, ''), '\v^HTTP/[12]%(\.\d)?\s+(\d+)\s*(.*)') if !empty(matched) let [status, message] = matched[1 : 2] call remove(header, 0) else let [status, message] = ['200', 'OK'] endif return { 'status': status, 'message': message, 'header': header, 'content': content } endfunction function! calendar#webapi#null() abort return 0 endfunction function! calendar#webapi#true() abort return 1 endfunction function! calendar#webapi#false() abort return 0 endfunction function! calendar#webapi#encode(val) abort if type(a:val) == 0 return a:val elseif type(a:val) == 1 let json = '"' . escape(a:val, '\"') . '"' let json = substitute(json, "\r", '\\r', 'g') let json = substitute(json, "\n", '\\n', 'g') let json = substitute(json, "\t", '\\t', 'g') let json = substitute(json, '\([[:cntrl:]]\)', '\=printf("\x%02d", char2nr(submatch(1)))', 'g') return iconv(json, &encoding, 'utf-8') elseif type(a:val) == 2 let s = string(a:val) if s == "function('calendar#webapi#null')" return 'null' elseif s == "function('calendar#webapi#true')" return 'true' elseif s == "function('calendar#webapi#false')" return 'false' endif elseif type(a:val) == 3 return '[' . join(map(copy(a:val), 'calendar#webapi#encode(v:val)'), ',') . ']' elseif type(a:val) == 4 return '{' . join(map(keys(a:val), 'calendar#webapi#encode(v:val).":".calendar#webapi#encode(a:val[v:val])'), ',') . '}' else return string(a:val) endif endfunction function! calendar#webapi#decode(json) abort let json = iconv(a:json, 'utf-8', &encoding) let json = substitute(json, '[\r\n]', '', 'g') let json = substitute(json, '\\x22\|\\u0022', '\\"', 'g') if v:version > 703 || v:version == 703 && has('patch780') let json = substitute(json, '\\u\(\x\x\x\x\)', '\=iconv(nr2char(str2nr(submatch(1), 16), 1), "utf-8", &encoding)', 'g') else let json = substitute(json, '\\u\(\x\x\x\x\)', '\=s:nr2enc_char("0x".submatch(1))', 'g') endif let [null,true,false] = [0,1,0] try sandbox let ret = eval(json) catch let ret = {} endtry return ret endfunction function! calendar#webapi#open_url(url) abort if has('win32') silent! call calendar#util#system('cmd /c start "" "' . a:url . '"') elseif executable('xdg-open') silent! call calendar#util#system('xdg-open "' . a:url . '" &') elseif executable('open') silent! call calendar#util#system('open "' . a:url . '" &') endif endfunction function! calendar#webapi#echo_error(response) abort let message = get(a:response, 'message', '') if has_key(a:response, 'content') let cnt = calendar#webapi#decode(a:response.content) if type(cnt) == type({}) && len(get(get(cnt, 'error', {}), 'message', '')) let message = get(get(cnt, 'error', {}), 'message', '') endif endif if message !=# '' call calendar#echo#error(message) endif endfunction function! s:make_header_args(headdata, option, quote) abort let args = '' for key in keys(a:headdata) unlet! value let value = type(a:headdata[key]) == type('') || type(a:headdata[key]) == type(0) ? a:headdata[key] : \ type(a:headdata[key]) == type({}) ? '' : \ type(a:headdata[key]) == type([]) ? '[' . join(map(a:headdata[key], 's:make_header_args(v:val, a:option, a:quote)'), ',') . ']' : '' if has('win32') let value = substitute(value, '"', '"""', 'g') endif let args .= ' ' . a:option . a:quote . key . ': ' . value . a:quote endfor return args endfunction function! s:decodeURI(str) abort let ret = a:str let ret = substitute(ret, '+', ' ', 'g') let ret = substitute(ret, '%\(\x\x\)', '\=printf("%c", str2nr(submatch(1), 16))', 'g') return ret endfunction function! s:escape(str) abort return substitute(a:str, '[^a-zA-Z0-9_.-]', '\=printf("%%%02X", char2nr(submatch(0)))', 'g') endfunction function! calendar#webapi#encodeURI(items) abort let ret = '' if type(a:items) == type({}) for key in sort(keys(a:items)) if ret !=# '' let ret .= '&' endif let ret .= key . '=' . calendar#webapi#encodeURI(a:items[key]) endfor elseif type(a:items) == type([]) for item in sort(a:items) if ret !=# '' let ret .= '&' endif let ret .= item endfor else let ret = s:escape(a:items) endif return ret endfunction function! s:postdata(data) abort if type(a:data) == type({}) return [calendar#webapi#encodeURI(a:data)] elseif type(a:data) == type([]) return a:data else return split(a:data, "\n") endif endfunction function! s:_quote() abort return &shellxquote == '"' ? "'" : '"' endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar/week.vim ================================================ " ============================================================================= " Filename: autoload/calendar/week.vim " Author: itchyny " License: MIT License " Last Change: 2017/05/07 23:07:36. " ============================================================================= let s:save_cpo = &cpo set cpo&vim let s:weeks = [ 'sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday' ] let s:cache = {} function! calendar#week#first_day_index() abort let first_day = calendar#setting#get('first_day') if has_key(s:cache, first_day) return s:cache[first_day] endif let index = index(s:weeks, tolower(first_day)) let s:cache[first_day] = index >= 0 ? index : 0 return s:cache[first_day] endfunction function! calendar#week#last_day_index() abort return (calendar#week#first_day_index() + 6) % 7 endfunction function! calendar#week#is_first_day(day) abort return a:day.week() == calendar#week#first_day_index() endfunction function! calendar#week#is_last_day(day) abort return a:day.week() == calendar#week#last_day_index() endfunction function! calendar#week#week_index(day) abort return (a:day.week() + 7 - calendar#week#first_day_index()) % 7 endfunction function! calendar#week#week_count(month) abort return (a:month.last_day().sub(a:month.head_day()) + 1 + calendar#week#week_index(a:month.head_day()) + 6) / 7 endfunction function! calendar#week#week_number(day) abort if calendar#setting#get('first_day') =~? 'monday' let d = a:day.year().head_day().add(3) let diff = a:day.sub(d) + calendar#week#week_index(d) if diff >= 0 return (diff + 7) / 7 else let day = d.add(-4) let d = day.year().head_day().add(3) return (day.sub(d) + calendar#week#week_index(d) + 7) / 7 endif else let d = a:day.year().head_day() return (a:day.sub(d) + calendar#week#week_index(d) + 7) / 7 endif endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/autoload/calendar.vim ================================================ " ============================================================================= " Filename: autoload/calendar.vim " Author: itchyny " License: MIT License " Last Change: 2015/03/29 06:35:29. " ============================================================================= let s:save_cpo = &cpo set cpo&vim " Creates a new buffer and start calendar. function! calendar#new(args) abort " Argument parsing let [isnewbuffer, command, variables, args] = calendar#argument#parse(a:args) " Open a new buffer. try | silent execute command | catch | return | endtry " Clear the previous syntaxes. silent! call b:calendar.clear() " Store the options which are given as the argument. let b:_calendar = variables " Start calendar. let b:calendar = calendar#controller#new() " Set time call b:calendar.set_time(calendar#time#now()) " Set day and update the buffer. call b:calendar.go(calendar#argument#day(args, calendar#day#today().get_ymd())) " Save b:calendar and b:_calendar. call calendar#save() endfunction let s:calendar = {} let s:_calendar = {} " Save b:calendar and b:_calendar. function! calendar#save() abort let nr = bufnr('') if has_key(b:, 'calendar') let s:calendar[nr] = b:calendar endif if has_key(b:, '_calendar') let s:_calendar[nr] = b:_calendar endif endfunction " Revive b:calendar and b:_calendar. function! calendar#revive() abort let nr = bufnr('') if !has_key(b:, 'calendar') && has_key(s:calendar, nr) let b:calendar = get(s:calendar, nr, {}) endif if !has_key(b:, '_calendar') && has_key(s:_calendar, nr) let b:_calendar = get(s:_calendar, nr, {}) endif endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/doc/calendar.txt ================================================ *calendar.txt* A calendar application for Vim Version: 0.0 Author: itchyny (https://github.com/itchyny) License: MIT License Repository: https://github.com/itchyny/calendar.vim Last Change: 2020/12/31 01:59:11. CONTENTS *calendar-contents* Introduction |calendar-introduction| Concept |calendar-concept| Vim application |calendar-vim-application| Commands |calendar-commands| Options |calendar-options| View |calendar-view| Key Mappings |calendar-key-mappings| Marks |calendar-marks| Input Format |calendar-input-format| Troubleshooting |calendar-troubleshooting| Changelog |calendar-changelog| ============================================================================== INTRODUCTION *calendar-introduction* The *calendar.vim* is a modern and ultimate *calendar* application for Vim. The mattn's |calendar.vim| plugin was a great plugin. (http://www.vim.org/scripts/script.php?script_id=52) The plugin provides a calendar window within Vim, with a diary feature, both vertical/horizontal view and printing week number. The plugin has, as you guess from the fact that its script id is 52, played an important role to show the potential of Vim script in its early stage. The only problem is that the source codes of the plugin are not so clean and hard to modify. Couldn't be helped. Remember that it was written without using dictionary and list. My |calendar.vim| plugin basically provides what is provided by mattn's plugin: calendar of the nearest months, both horizontal and vertical view, and large-size calendar. Also, this plugin provides many key mappings to move around the calendar. The default key mappings are carefully designed to match the default key mappings of Vim itself. Of course, users can freely configure key mappings in |calendar| buffers. This |calendar| plugin also supports importing events from Google Calendar. Once the user connects this plugin to Google Calendar, you can freely edit, create, and delete events in Vim. The events are automatically synchronized with Google Calendar. Moreover, the Julian calendar is supported in this plugin. Basically in the history of calendars, there are two kinds of calendars: the Julian calendar and the Gregorian calendar. In most countries (for example, Holy Rome Empire, France and Spain) the Julian calendar was replaced with the Gregorian in October of 1582, so the |calendar| adopts this boundary date by default. However, in the British Empire, it was switched in 1752, and in Russia, in 1918. The |calendar| plugin provides a way to configure the date in which the Julian calendar is switched to the Gregorian calendar. The plugin also provides a way to view the Julian calendar in the present day, and vice versa. ------------------------------------------------------------------------------ CONCEPT *Calendar-Concept* This is a calendar which is ... Comfortable > The key mappings are designed to match the default mappings of Vim. < Powerful > The application can be connected to Google Calendar and used in your life. < Elegant > The appearance is carefully designed, dropping any unnecessary information. < Interesting > You can choose the calendar in Julian calendar or in Gregorian calendar. < Useful > To conclude, very useful. < ------------------------------------------------------------------------------ VIM APPLICATION *calendar-vim-application* There are lots of Vim plugins. We can classify them as the following groups. - colorscheme plugins > (e.g. wombat) < - syntax plugins > (e.g. vim-json, syntaxm4.vim) < - edit assistance plugins > (e.g. completion plugins, comment plugins) < - special buffer plugins > (e.g. VimFiler, TweetVim, gmail.vim) < - plugins extending the function of a plugin > (e.g. some unite sources) < - plugins supporting other plugins with some low-layer features > (e.g. vital.vim, vimproc, webapi-vim) (create a special buffer and provides some features inside it) < - use a buffer as a display for the state of the plugin > (do not get information from the buffer, redraw entirely every time) < - provide a rich interface > (for example, window layers composition) < - be coded with loose coupling > (any two files do not have common code) < - be independent to any other plugins > (all the requirements are included) :Calendar -year={num} -month={num} -day={num} < See |calendar-options-year|, |calendar-options-month| and |calendar-options-day| for more information. ------------------------------------------------------------------------------ OPTIONS *calendar-options* You can use the following options to change the location of the |calendar| buffer. *calendar-options-split* -split={horizontal/vertical} Open the calendar buffer in a horizontally/vertically opened buffer. *calendar-options-position* -position={below/tab/here/left/right/topleft/topright} -position=below Open the buffer below. -position=tab Open the buffer in a new tab. -position=here[!] Open the buffer at the same window of the current buffer. If some changes exist in the current buffer, this option is ignored. An '!' is added to discard any changes in the current buffer. -position=left Open the buffer on the left hand side. -position=right Open the buffer on the right hand side. -position=topleft Open the buffer on the left hand side, with full height of Vim. -position=topright Open the buffer on the right hand side, with full height of Vim. You can use the following options to change the size of the |calendar| buffer. *calendar-options-height* -height={num} Open the calendar buffer with the specified height. This option is effective with -split=horizontal. *calendar-options-width* -width={num} Open the calendar buffer with the specified width. This option is effective with -split=vertical. You can explicitly give the date with arguments. *calendar-options-year* -year={num} *calendar-options-month* -month={num} *calendar-options-day* -day={num} Open the calendar with the specified date. The following options change the appearance of the calendar. *calendar-options-locale* *g:calendar_locale* -locale={default/en/ja} let g:calendar_locale = "{default/en/ja}" Specify the locale of the messages in the calendar buffer. The default value is "default", which detects the value of |v:lang|. *calendar-options-first_day* *g:calendar_first_day* -first_day={sunday/monday/tuesday/wednesday/thursday/friday/saturday} let g:calendar_first_day = "{sunday/monday/...}" Specify the first day of the calendars. The default value is based on |v:lang|. "sunday": United States, Canada, Japan, Israel "monday": Other countries *calendar-options-time_zone* *g:calendar_time_zone* -time_zone={[-+]hhmm} let g:calendar_time_zone = "{[-+]hhmm}" Specify the time zone from UTC. The default value is strftime('%z'). *calendar-options-date_endian* *g:calendar_date_endian* -date_endian={little/big/middle} let g:calendar_date_endian = "{little/big/middle}" The format of dates. -date_endian=little : day/month/year -date_endian=big : year/month/day -date_endian=middle : month/day/year The default value is based on |v:lang| big : Japan, China, Korea, Hungary, Lithuania, Mongolia middle : United States little : Other countries *calendar-options-date_separator* *g:calendar_date_separator* -date_separator={ / - . " " } let g:calendar_date_separator={"/" "-" "." " "} The separator of dates. The default value is based on |v:lang|. '.' : Armenia, Austria, Azerbaijan, Belarus, Bulgaria, Croatia, Czech Republic, Estonia, Finland, Georgia, Germany, Hungary, Iceland, Kazakhstan, Kyrgyzstan, Latvia, Mongolia, Norway, Romania, Russia, Slovakia, Switzerland, Turkmenistan, Ukraine '-' : Bangladesh, China, Denmark, France, India, Ireland, Lithuania, Netherlands, Sweden, Taiwan '/' : Other countries *calendar-options-date_month_name* *g:calendar_date_month_name* -date_month_name[!] let g:calendar_date_month_name={0/1} If on, a date string uses month names. In order to disable this option with the argument, add the trailing '!'. The default value is 0. *calendar-options-date_full_month_name* *g:calendar_date_full_month_name* -date_full_month_name[!] let g:calendar_date_full_month_name={0/1} If on, a date string uses the full month names. In order to disable this option with the argument, add the trailing '!'. The default value is 0. *calendar-options-week_number* *g:calendar_week_number* -week_number[!] let g:calendar_week_number={0/1} If on, it shows the week numbers. In order to disable this option with the argument, add the trailing '!'. The default value is 0. *calendar-options-task* *g:calendar_task* -task[!] let g:calendar_task={0/1} If on, the app shows the task list on its startup. You can toggle the task list with the T key, which is mapped to |(calendar_task)|. If you want to disable the visibility of the task list after you set the global variable on, add the trailing '!'. The default value is 0. *calendar-options-event_start_time* *g:calendar_event_start_time* -event_start_time[!] let g:calendar_event_start_time={0/1} If on, it shows the starting time of the events in the month/days views. In order to disable this option from the argument, add the trailing '!'. The default value is 1. *calendar-options-event_start_time_minwidth* *g:calendar_event_start_time_minwidth* -event_start_time_minwidth=[num] let g:calendar_event_start_time_minwidth=[num] The minimum width for showing the starting time of the events. If the width of the each day is larger than or equals to this value, it shows the starting time of the events. The default value is 16. *calendar-options-clock_12hour* *g:calendar_clock_12hour* -clock_12hour[!] let g:calendar_clock_12hour={0/1} If on, times are displayed in 12-hour clock style. In order to disable this option with the argument, add the trailing '!'. The default value is 0. *calendar-options-frame* *g:calendar_frame* -frame={default/unicode/space/unicode_bold/unicode_round/unicode_double} let g:calendar_frame = "{default/unicode/...}" The format of frames. The unicode-prefix values are available when |'enc'| is 'utf-8' and |'fenc'| is 'utf-8'. The default value is: "unicode": If |'enc'| is 'utf-8' and |'fenc'| is 'utf-8' "default": In other cases *calendar-options-task_width* *g:calendar_task_width* -task_width={number} let g:calendar_task_width = {number} The width of the task list window. The default value is 1/6 of the window width. *calendar-options-message_prefix* *g:calendar_message_prefix* -message_prefix="{string}" let g:calendar_message_prefix = "{string}" The prefix of the messages. The default value is: "[calendar] ". This application has some different views. You can switch views with |<| and |>| keys. You can change the initial view. *calendar-options-view* *g:calendar_view* -view={year/month/week/days/day/clock/event/agenda} let g:calendar_view = "{year/month/week/days/day/clock/event/agenda}" Specify the view of the calendar on starting the buffer. The default value is "month". *g:calendar_views* let g:calendar_views = ['year', 'month', ... ] Specify the views in an array. The default value is: > ['year', 'month', 'week', 'day_4', 'day', 'clock'] < The available views are: > 'year', 'month', 'week', 'weekday', 'day_7', 'day_6', 'day_5', 'day_4', 'day_3', 'day_2', 'day_1', 'day', 'clock', 'event', 'agenda' < *calendar-options-cyclic_view* *g:calendar_cyclic_view* -cyclic_view[!] let g:calendar_cyclic_view = {0/1} If this value is 1 or the argument is given, the keys |<| and |>| do not stop at the leftmost/rightmost views, but change the view cyclically. The default value is 0. In order to connect this application to Google, you should use the following options. *calendar-options-google_calendar* *g:calendar_google_calendar* -google_calendar[!] let g:calendar_google_calendar = {0/1} If the value is 1 or the argument is given, this application will download the calendars from Google Calendar, with your permission. In order to disable this option with the argument, add the trailing '!'. The default value is 0. *calendar-options-google_task* *g:calendar_google_task* -google_task[!] let g:calendar_google_task = {0/1} If the value is 1 or the argument is given, this application will download the tasks from Google Task, with your permission. In order to disable this option with the argument, add the trailing '!'. The default value is 0. Other miscellaneous options. *calendar-options-calendar* *g:calendar_calendar* -calendar={default/gregorian/julian} {austria/austriastyria/british/bulgaria/canada} {estonia/france/germany/germanyprussia/greece} {holland/hungary/italy/japan/poland/portugal} {russia/spain/turkey/us} let g:calendar_calendar = "{default/gregorian/julian/...}" The date switching to Gregorian calendar varies. The default value is "default", the switching date is 15/10/1582. Calendar Switching date (day month year) default 15 10 1582 italy 15 10 1582 poland 15 10 1582 portugal 15 10 1582 spain 15 10 1582 france 20 12 1582 holland 1 1 1583 germany 11 1 1583 austria 16 10 1583 austriastyria 25 12 1583 hungary 1 11 1587 germanyprussia 2 9 1610 british 14 9 1752 canada 14 9 1752 us 14 9 1752 japan 1 1 1873 bulgaria 14 4 1916 estonia 14 2 1918 russia 14 2 1918 greece 1 3 1923 turkey 1 1 1927 *calendar-options-calendar_candidates* *g:calendar_calendar_candidates* -calendar_candidates=pattern1,pattern2,pattern3 let g:calendar_calendar_candidates = ["pattern1", "pattern2", "pattern3"] Specify the calendar candidates on inserting and moving a calendar event. Note that the values are matched against the summary of the calendars. *calendar-options-updatetime* *g:calendar_updatetime* -updatetime=[num] let g:calendar_updatetime = [num] Specify the updatetime (in msec) in the calendar buffer. This value is used for asynchronous web queries and the clock view. The default value is 200. *calendar-options-skip_event_delete_confirm* *g:calendar_skip_event_delete_confirm* -skip_event_delete_confirm[!] let g:calendar_skip_event_delete_confirm = {0/1} If the value is 1, the application skips confirmation on deleting an event. The default value is 0. *calendar-options-skip_task_delete_confirm* *g:calendar_skip_task_delete_confirm* -skip_task_delete_confirm[!] let g:calendar_skip_task_delete_confirm = {0/1} If the value is 1, the application skips confirmation on deleting a task. The default value is 0. *calendar-options-skip_task_clear_completed_confirm* *g:calendar_skip_task_clear_completed_confirm* -skip_task_clear_completed_confirm[!] let g:calendar_skip_task_clear_completed_confirm = {0/1} If the value is 1, the application skips confirmation on completing a task. The default value is 0. *calendar-options-yank_deleting* *g:calendar_yank_deleting* -yank_deleting[!] let g:calendar_yank_deleting = {0/1} If the value is 1 or the argument is given, the application yanks the text when you delete an event or a task. The default value is 1. *calendar-options-task_delete* *g:calendar_task_delete* -task_delete[!] let g:calendar_task_delete = {0/1} If the value is 1 or the argument is given, the application deletes the selected task directly without completing. The default value is 0. *calendar-options-cache_directory* *g:calendar_cache_directory* -cache_directory=[dir] let g:calendar_cache_directory = [dir] Specify the cache directory for this plugin. The default value is ~/.cache/calendar.vim/. *calendar-options-debug* *g:calendar_debug* -debug[!] let g:calendar_debug = {0/1} If the value is 1 or the argument is given, the application runs in debug mode. In debug mode: 1. It does not delete all the downloaded files. The default value is 0. ------------------------------------------------------------------------------ VIEW *calendar-view* This application has some different views. You can switch views with |>| and |<| keys. Refer to |g:calendar_views| for the default views. 1. Year view *calendar-view-year* This view shows the months. If the window is not wide enough to view all the months in the year, it shows the nearest 3 or 5 months. The name of the year view is 'year'. 2. Month view *calendar-view-month* This view shows one month. This is the initial view on default. The name of the month view is 'month'. 3. Week view *calendar-view-week* This view shows 7 days. The name of the week view is 'week'. 4. Days view *calendar-view-days* This view shows 4 days on default. The available days views are: 'day_7', 'day_6', 'day_5', 'day_4', 'day_3', 'day_2', 'day_1' and 'weekday'. 5. Day view *calendar-view-day* This view shows 1 day. The name of the day view is 'day'. 6. Clock view *calendar-view-clock* This view shows a digital clock. The name of the clock view is 'clock'. 7. Event view *calendar-view-event* This view shows a event list. There are two available event views: 'event' and 'agenda'. ------------------------------------------------------------------------------ KEY MAPPINGS *calendar-key-mappings* This application provides a global mapping. (calendar) *(calendar)* Open a calendar buffer. This mapping calls the |:Calendar| command with no argument. In the calendar buffer, a lot of mappings are provided. This application has many views. Thus pressing j triggers various actions based on the active window. For example, go to 7 days after in the month view, go to the below month in the year view, 1 hour after in the week and day views, and the next task in the task window. So the following mappings change its behavior conformably in each views. Normal mode key mappings. Mappings for moving around. (calendar_left) *(calendar_left)* (calendar_right) *(calendar_right)* (calendar_down) *(calendar_down)* (calendar_up) *(calendar_up)* (calendar_prev) *(calendar_prev)* (calendar_next) *(calendar_next)* (calendar_move_down) *(calendar_move_down)* (calendar_move_up) *(calendar_move_up)* (calendar_move_event) *(calendar_move_event)* (calendar_down_big) *(calendar_down_big)* (calendar_up_big) *(calendar_up_big)* (calendar_down_large) *(calendar_down_large)* (calendar_up_large) *(calendar_up_large)* (calendar_line_head) *(calendar_line_head)* (calendar_line_middle) *(calendar_line_middle)* (calendar_line_last) *(calendar_line_last)* (calendar_bar) *(calendar_bar)* (calendar_first_line) *(calendar_first_line)* (calendar_last_line) *(calendar_last_line)* (calendar_first_line_head) *(calendar_first_line_head)* (calendar_last_line_last) *(calendar_last_line_last)* Mappings for scrolling (calendar_scroll_down) *(calendar_scroll_down)* (calendar_scroll_up) *(calendar_scroll_up)* (calendar_scroll_top_head) *(calendar_scroll_top_head)* (calendar_scroll_top) *(calendar_scroll_top)* (calendar_scroll_center_head) *(calendar_scroll_center_head)* (calendar_scroll_center) *(calendar_scroll_center)* (calendar_scroll_bottom_head) *(calendar_scroll_bottom_head)* (calendar_scroll_bottom) *(calendar_scroll_bottom)* Utility (calendar_add) *(calendar_add)* (calendar_subtract) *(calendar_subtract)* (calendar_status) *(calendar_status)* (calendar_plus) *(calendar_plus)* (calendar_minus) *(calendar_minus)* (calendar_task) *(calendar_task)* (calendar_event) *(calendar_event)* (calendar_close_task) *(calendar_close_task)* (calendar_close_event) *(calendar_close_event)* (calendar_delete) *(calendar_delete)* (calendar_delete_line) *(calendar_delete_line)* (calendar_yank) *(calendar_yank)* (calendar_yank_line) *(calendar_yank_line)* (calendar_change) *(calendar_change)* (calendar_change_line) *(calendar_change_line)* (calendar_undo) *(calendar_undo)* (calendar_undo_line) *(calendar_undo_line)* (calendar_tab) *(calendar_tab)* (calendar_shift_tab) *(calendar_shift_tab)* (calendar_next_match) *(calendar_next_match)* (calendar_prev_match) *(calendar_prev_match)* (calendar_today) *(calendar_today)* (calendar_enter) *(calendar_enter)* (calendar_view_left) *(calendar_view_left)* (calendar_view_right) *(calendar_view_right)* (calendar_redraw) *(calendar_redraw)* (calendar_clear) *(calendar_clear)* (calendar_help) *(calendar_help)* (calendar_escape) *(calendar_escape)* (calendar_hide) *(calendar_hide)* (calendar_exit) *(calendar_exit)* Insert mode (calendar_start_insert) *(calendar_start_insert)* (calendar_start_insert_append) *(calendar_start_insert_append)* (calendar_start_insert_head) *(calendar_start_insert_head)* (calendar_start_insert_last) *(calendar_start_insert_last)* (calendar_start_insert_prev_line) *(calendar_start_insert_prev_line)* (calendar_start_insert_next_line) *(calendar_start_insert_next_line)* (calendar_start_insert_quick) *(calendar_start_insert_quick)* Visual mode (calendar_visual) *(calendar_visual)* (calendar_visual_line) *(calendar_visual_line)* (calendar_visual_block) *(calendar_visual_block)* (calendar_exit_visual) *(calendar_exit_visual)* Normal mode default mappings. {lhs} {rhs} -------- --------------------------------------- h |(calendar_left)| l |(calendar_right)| j |(calendar_down)| k |(calendar_up)| |(calendar_left)| |(calendar_right)| |(calendar_down)| |(calendar_up)| same as h same as h gh same as h gl same as l gj same as j gk same as k g same as g same as g same as g same as same as same as |(calendar_move_down)| |(calendar_move_up)| |(calendar_move_down)| |(calendar_move_up)| M |(calendar_move_event)| w |(calendar_next)| W same as w e same as w same as w same as w b |(calendar_prev)| B same as b ge same as b gE same as b same as b same as b |(calendar_down)| |(calendar_up)| |(calendar_down_big)| same as |(calendar_up_big)| same as |(calendar_down_large)| |(calendar_up_large)| same as same as 0 |(calendar_line_head)| ^ same as 0 g0 same as 0 same as 0 g same as 0 g^ same as ^ gm |(calendar_line_middle)| $ |(calendar_line_last)| g$ same as $ g_ same as $ same as $ g same as $ gg |(calendar_first_line)| same as gg ( |(calendar_first_line)| { same as ( [[ same as ( [] same as [[ G |(calendar_last_line)| ) |(calendar_last_line)| } same as ) ]] same as ) ][ same as ]] |(calendar_last_line_last)| |(calendar_bar)| |(calendar_scroll_down)| |(calendar_scroll_up)| z |(calendar_scroll_top_head)| zt |(calendar_scroll_top)| z. |(calendar_scroll_center_head)| zz |(calendar_scroll_center)| z- |(calendar_scroll_bottom_head)| zb |(calendar_scroll_bottom)| d |(calendar_delete)| D |(calendar_delete_line)| y |(calendar_yank)| Y |(calendar_yank_line)| c |(calendar_change)| C |(calendar_change_line)| |(calendar_undo)| u |(calendar_undo)| U |(calendar_undo_line)| |(calendar_tab)| |(calendar_shift_tab)| n |(calendar_next_match)| N |(calendar_prev_match)| t |(calendar_today)| |(calendar_enter)| |(calendar_add)| |(calendar_subtract)| |(calendar_status)| + |(calendar_plus)| - |(calendar_minus)| T |(calendar_task)| E |(calendar_event)| < |(calendar_view_left)| > |(calendar_view_right)| |(calendar_space)| |(calendar_redraw)| |(calendar_redraw)| L |(calendar_clear)| ? |(calendar_help)| q |(calendar_hide)| Q |(calendar_exit)| i |(calendar_start_insert)| a |(calendar_start_insert_append)| I |(calendar_start_insert_head)| A |(calendar_start_insert_last)| O |(calendar_start_insert_prev_line)| o |(calendar_start_insert_next_line)| v |(calendar_visual)| V |(calendar_visual_line)| |(calendar_visual_block)| gh same as v gH same as V g same as |(calendar_escape)| You can configure the mappings in the calendar buffers. Example configuration: > augroup calendar-mappings autocmd! " diamond cursor autocmd FileType calendar nmap i (calendar_up) autocmd FileType calendar nmap j (calendar_left) autocmd FileType calendar nmap k (calendar_down) autocmd FileType calendar nmap l (calendar_right) " swap v and V autocmd FileType calendar nmap V (calendar_visual) autocmd FileType calendar nmap v (calendar_visual_line) " unmap , for other plugins autocmd FileType calendar nunmap autocmd FileType calendar nunmap augroup END < ------------------------------------------------------------------------------ MARKS *calendar-marks* In the |calendar| buffer, you can use |mark|s. m{a-z} Set mark {a-z} at the selected day and time. :ma[rk] {a-z} Set mark {a-z} at the selected day and time. :k{a-z} Same as :mark. '{a-z} `{a-z} Jump to the mark {a-z}. g'{a-z} g`{a-z} Jump to the mark {a-z}. '' `` Jump to the latest mark. :marks List all the marks. :delm[arks] {mark} Delete the specified mark. :delm[arks]! Delete all the marks. ------------------------------------------------------------------------------ INPUT FORMAT *calendar-input-format* This application has some special format for user's input of events and tasks. Calendar: Day event: EVENT: [event-title] Few hours event: EVENT: HH:MM - HH:MM [event-title] EVENT: HH:MM:ss - HH:MM:ss [event-title] Example: EVENT: 12:00 - 14:00 [event-title] EVENT: 12:00:30 - 14:00:20 [event-title] Few days event: EVENT: mm/dd [event-title] (all day event) EVENT: mm/dd - mm/dd [event-title] EVENT: yyyy/mm/dd - yyyy/mm/dd [event-title] (big endian) EVENT: mm/dd/yyyy - mm/dd/yyyy [event-title] (middle endian) EVENT: dd/mm/yyyy - dd/mm/yyyy [event-title] (little endian) EVENT: yyyy-mm-dd - yyyy-mm-dd [event-title] (big endian, "-" separator) Example: EVENT: 10/23 [event-title] (all day event) EVENT: 10/23 - 10/25 [event-title] EVENT: 2014/10/23 - 2014/10/25 [event-title] (big endian) EVENT: 10/23/2014 - 10/25/2014 [event-title] (middle endian) EVENT: 23/10/2014 - 25/10/2014 [event-title] (little endian) EVENT: 2014-10-23 - 2014-10-25 [event-title] (big endian, "-" separator) Days and hours event: EVENT: mm/dd HH:MM - mm/dd HH:MM [event-title] EVENT: yyyy/mm/dd HH:MM - yyyy/mm/dd HH:MM [event-title] EVENT: dd/mm/yyyy HH:MM - dd/mm/yyyy HH:MM [event-title] (little endian) EVENT: dd-mm-yyyy HH:MM - dd-mm-yyyy HH:MM [event-title] (little endian, "-" separator) Example: EVENT: 10/23 19:00 - 10/25 21:00 [event-title] EVENT: 2014/10/23 19:00 - 2014/10/25 21:00 [event-title] EVENT: 23-10-2014 10:00 - 25-10-2014 21:00 [event-title] (little endian, "-" separator) Task: Simple task: TASK: [task-title] Task with note: TASK: [task-title] note: [task-note] Task with due date: TASK: mm/dd [task-title] TASK: mm-dd [task-title] TASK: yyyy/mm/dd [task-title] TASK: yyyy-mm-dd [task-title] Example: TASK: 10/23 [task-title] TASK: 10-23 [task-title] TASK: 2014/10/23 [task-title] TASK: 2014-10-23 [task-title] Task with due date and note: TASK: yyyy/mm/dd [task-title] note: [task-note] TASK: yyyy-mm-dd [task-title] note: [task-note] Example: TASK: 2014/10/23 [task-title] note: [task-note] TASK: 2014-10-23 [task-title] note: [task-note] ------------------------------------------------------------------------------ TROUBLESHOOTING *calendar-troubleshooting* Problem 1: |calendar-problem-1| How to install this application. Problem 2: |calendar-problem-2| How to update this application. Problem 3: |calendar-problem-3| How to uninstall this application. Problem 4: |calendar-problem-4| How to change key-mapping settings for calendar buffers. Problem 5: |calendar-problem-5| The frame collapses (on Ubuntu). Problem 6: |calendar-problem-6| The clock is invisible / The calendar is not colorful. Problem 7: |calendar-problem-7| How to change the cache directory. Problem 8: |calendar-problem-8| The clock stops to update after the cursor gets out of the window. Problem 9: |calendar-problem-9| How to connect to Google Calendar / Google Task. How to disconnect my Google account. Problem 10: |calendar-problem-10| Authorization to Google fails again and again. Problem 11: |calendar-problem-11| Which should we use, arguments or global variables. Problem 12: |calendar-problem-12| Found a bug of this application. Got many errors while using this application. Vim hangs up while using this application. Need a new mapping. Want this application to be more configurable. This troubleshooting is not helpful. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Problem 1: *calendar-problem-1* How to install this application. If you are to install this application manually: 1. Put all the files under $VIM. If you are using |vim-pathogen|, install this application with the following command. > git clone https://github.com/itchyny/calendar.vim \ ~/.vim/bundle/calendar.vim < If you are to install this application using |Vundle|: 1. Add the following configuration to your vimrc. > Plugin 'itchyny/calendar.vim' < 2. Install with |:PluginInstall|. If you are to install this application using |NeoBundle|: 1. Add the following configuration to your vimrc. > NeoBundle 'itchyny/calendar.vim' < 2. Install with |:NeoBundleInstall|. Problem 2: *calendar-problem-2* How to update this application. If you have installed this application manually: 1. Access https://github.com/itchyny/calendar.vim . 2. Download the latest scripts. 3. Place the scripts as written in Problem 1. If you have installed this application with git clone command: 1. Update the application with git pull. If you have installed this application using Vundle: 1. Execute |:PluginInstall!|. Or try git pull in the directory of this application. If you have installed this application using NeoBundle: 1. Execute |:NeoBundleInstall!|. Or try git pull in the directory of this application. Problem 3: *calendar-problem-3* How to uninstall this application. If you have installed this application manually or git clone commend: 1. Remove all the related files under $VIM. If you have installed this application using Vundle: 1. Remove the :Plugin 'itchyny/calendar.vim' configuration from your vimrc. 2. Update with |:PluginClean|. If you have installed this application using NeoBundle: 1. Remove the :NeoBundle 'itchyny/calendar.vim' configuration from your vimrc. 2. Update with |:NeoBundleClean|. Problem 4: *calendar-problem-4* How to change key-mapping settings for calendar buffers. Add the following configuration to your vimrc. > augroup calendar-mappings autocmd! autocmd FileType calendar nmap {key} \ (calendar_...) autocmd FileType calendar nunmap {key} augroup END < Example configuration: > augroup calendar-mappings autocmd! " diamond cursor autocmd FileType calendar nmap i (calendar_up) autocmd FileType calendar nmap j (calendar_left) autocmd FileType calendar nmap k (calendar_down) autocmd FileType calendar nmap l (calendar_right) " swap v and V autocmd FileType calendar nmap V (calendar_visual) autocmd FileType calendar nmap v (calendar_visual_line) " unmap , for other plugins autocmd FileType calendar nunmap autocmd FileType calendar nunmap augroup END < Problem 5: *calendar-problem-5* The frame collapses (on Ubuntu). Add the following configuration to your vimrc. > let g:calendar_frame = 'default' Problem 6: *calendar-problem-6* The clock is invisible / The calendar is not colorful. Add the following configuration to your *shrc (e.g. zshrc) > export TERM=xterm-256color < and add the following configuration to your vimrc. > if !has('gui_running') set t_Co=256 endif < Problem 7: *calendar-problem-7* How to change the cache directory. For example, add the following configuration to your vimrc. > let g:calendar_cache_directory = expand('~/.vim/cache/calendar.vim/') < See |g:calendar_cache_directory|. Problem 8: *calendar-problem-8* The clock stops to update after the cursor gets out of the window. It is feature. Updating a specific buffer from other window causes many problems. Problem 9: *calendar-problem-9* How to connect to Google Calendar / Google Task. How to disconnect my Google account. Add the following configuration to your vimrc. > let g:calendar_google_calendar = 1 let g:calendar_google_task = 1 < See |g:calendar_google_calendar|, |g:calendar_google_task|. To disconnect, remove the cache directory. On default, the cache directory is ~/.cache/calendar.vim/. So execute the following command. > rm -rf ~/.cache/calendar.vim/google/ < See |g:calendar_cache_directory|. Problem 10: *calendar-problem-10* Authorization to Google fails again and again. Remove the cache directory and reauthorize to Google. > rm -rf ~/.cache/calendar.vim/google/ < See |g:calendar_cache_directory|. Problem 11: *calendar-problem-11* Which should we use, arguments or global variables. Arguments have priority over global variables. For example, if you write > let g:calendar_first_day = 'monday' < the calendar opens with Monday as the first day. However, in this situation, if you open the calendar with > :Calendar -first_day=sunday < Sunday is the first day. So you can write the comfortable settings in your vimrc file and give the arguments in order to overwrite the settings. Problem 12: *calendar-problem-12* Found a bug of this application. Got many errors while using this application. Vim hangs up while using this application. Need a new mapping. Want this application to be more configurable. This troubleshooting is not helpful. Report/Request the issue/feature at https://github.com/itchyny/calendar.vim/issues ============================================================================== CHANGELOG *calendar-changelog* 0.0 2014-01-05, ... - Initial commit and implementation. 2013-06-22, ... - Research and implementation. ============================================================================== vim:tw=78:sw=4:ts=8:ft=help:norl:noet: ================================================ FILE: bundle/calendar.vim/plugin/calendar.vim ================================================ " ============================================================================= " Filename: plugin/calendar.vim " Author: itchyny " License: MIT License " Last Change: 2016/11/06 12:00:00. " ============================================================================= if exists('g:loaded_calendar') || v:version < 703 finish endif let g:loaded_calendar = 1 let s:save_cpo = &cpo set cpo&vim " :Calendar command command! -nargs=* -complete=customlist,calendar#argument#complete \ Calendar call calendar#new() " (calendar) nnoremap (calendar) :Calendar vnoremap (calendar) :Calendar let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/syntax/calendar.vim ================================================ " ============================================================================= " Filename: syntax/calendar.vim " Author: itchyny " License: MIT License " Last Change: 2019/07/30 22:38:01. " ============================================================================= if version < 700 syntax clear elseif exists('b:current_syntax') finish endif let s:save_cpo = &cpo set cpo&vim let s:is_gui = has('gui_running') || (has('termguicolors') && &termguicolors) let s:fg_color = calendar#color#normal_fg_color() let s:bg_color = calendar#color#normal_bg_color() let s:comment_fg_color = calendar#color#comment_fg_color() let s:select_color = calendar#color#gen_color(s:fg_color, s:bg_color, 1, 4) let s:space_fg_color = calendar#color#gen_color(s:fg_color, s:bg_color, 0, 1) let s:space_bg_color = calendar#color#gen_color(s:fg_color, s:bg_color, 1, 0) let s:is_win32cui = has('win32') && !s:is_gui let s:is_dark = calendar#color#is_dark() if !s:is_gui if s:is_win32cui if s:is_dark let s:select_color = 8 let s:today_color = 10 let s:today_fg_color = 0 let s:othermonth_fg_color = 8 else let s:select_color = 7 let s:today_color = 2 let s:today_fg_color = 15 let s:othermonth_fg_color = 7 endif let s:weekday_color = 8 let s:weekday_fg_color = 0 let s:sunday_bg_color = 12 let s:saturday_bg_color = 9 let s:sunday_fg_color = 0 let s:saturday_fg_color = 0 let s:sunday_title_fg_color = s:sunday_fg_color let s:saturday_title_fg_color = s:saturday_fg_color elseif s:is_dark let s:sunday_bg_color = calendar#color#select_rgb(s:fg_color, 0, 5) let s:saturday_bg_color = calendar#color#select_rgb(s:fg_color, 2, 5) let s:sunday_fg_color = calendar#color#gen_color(s:sunday_bg_color, s:bg_color, 1, 7) let s:saturday_fg_color = calendar#color#gen_color(s:saturday_bg_color, s:bg_color, 1, 7) let s:today_color = calendar#color#select_rgb(s:fg_color, 1, 5) let s:today_fg_color = calendar#color#gen_color(s:today_color, s:bg_color, 1, 5) else let s:sunday_fg_color = calendar#color#select_rgb(s:bg_color, 0, 6) let s:saturday_fg_color = calendar#color#select_rgb(s:bg_color, 2, 6) let s:sunday_bg_color = calendar#color#gen_color(s:sunday_fg_color, s:bg_color, 1, 4) let s:saturday_bg_color = calendar#color#gen_color(s:saturday_fg_color, s:bg_color, 1, 4) let s:today_fg_color = calendar#color#gen_color(calendar#color#select_rgb(s:fg_color, 1, 6), s:fg_color, 4, 3) let s:today_color = calendar#color#gen_color(s:today_fg_color, s:bg_color, 1, 3) endif else let s:sunday_fg_color = calendar#color#select_rgb(s:is_dark ? s:fg_color : s:bg_color, 1) let s:saturday_fg_color = calendar#color#select_rgb(s:is_dark ? s:fg_color : s:bg_color, 4) let s:sunday_bg_color = calendar#color#gen_color(s:sunday_fg_color, s:is_dark ? s:fg_color : s:bg_color, 1, 3) let s:saturday_bg_color = calendar#color#gen_color(s:saturday_fg_color, s:is_dark ? s:fg_color : s:bg_color, 1, 3) let s:today_fg_color = calendar#color#gen_color(calendar#color#select_rgb(s:is_dark ? s:fg_color : s:bg_color, 2), s:is_dark ? s:bg_color : s:fg_color, 4, 3) let s:today_color = calendar#color#gen_color(s:today_fg_color, s:is_dark ? s:fg_color : s:bg_color, 1, 3) endif if !s:is_win32cui let s:weekday_color = calendar#color#gen_color(s:fg_color, s:bg_color, 1, 5) let s:weekday_fg_color = calendar#color#gen_color(s:fg_color, s:bg_color, 3, 2) let s:othermonth_fg_color = calendar#color#gen_color(s:fg_color, s:bg_color, 3, 4) let s:sunday_title_fg_color = calendar#color#gen_color(s:sunday_fg_color, s:sunday_bg_color, 3, 1) let s:saturday_title_fg_color = calendar#color#gen_color(s:saturday_fg_color, s:saturday_bg_color, 3, 1) endif call calendar#color#syntax('Select', '', s:select_color, '') call calendar#color#syntax('Sunday', s:sunday_fg_color, s:sunday_bg_color, '') call calendar#color#syntax('Saturday', s:saturday_fg_color, s:saturday_bg_color, '') call calendar#color#syntax('TodaySunday', s:sunday_fg_color, s:sunday_bg_color, 'bold') call calendar#color#syntax('TodaySaturday', s:saturday_fg_color, s:saturday_bg_color, 'bold') call calendar#color#syntax('Today', s:today_fg_color, s:today_color, 'bold') call calendar#color#syntax('DayTitle', s:weekday_fg_color, s:weekday_color, '') call calendar#color#syntax('SundayTitle', s:sunday_title_fg_color, s:sunday_bg_color, '') call calendar#color#syntax('SaturdayTitle', s:saturday_title_fg_color, s:saturday_bg_color, '') call calendar#color#syntax('OtherMonth', s:othermonth_fg_color, '', '') call calendar#color#syntax('OtherMonthSelect', s:othermonth_fg_color, s:select_color, '') call calendar#color#syntax('NormalSpace', s:space_fg_color, s:space_bg_color, '') call calendar#color#syntax('CommentSelect', s:comment_fg_color, s:select_color, '') highlight link CalendarComment Comment unlet! s:fg_color s:bg_color s:comment_fg_color s:select_color s:space_fg_color s:space_bg_color s:is_win32cui s:is_dark \ s:today_color s:today_fg_color s:othermonth_fg_color s:weekday_color s:weekday_fg_color \ s:sunday_bg_color s:sunday_fg_color s:sunday_title_fg_color \ s:saturday_bg_color s:saturday_fg_color s:saturday_title_fg_color let b:current_syntax = 'calendar' let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/calendar.vim/test/cipher.vim ================================================ let s:suite = themis#suite('cipher') let s:assert = themis#helper('assert') function! s:suite.cipher_string() call s:assert.equals(calendar#cipher#cipher('', 0), '') call s:assert.equals(calendar#cipher#cipher('', 100), '') call s:assert.equals(calendar#cipher#cipher('ABCDEabcde012345!#%+,-/@[]', 0), 'ABCDEabcde012345!#%+,-/@[]') call s:assert.equals(calendar#cipher#cipher('ABCDEabcde012345!#%+,-/@[]', 100), 'FGHIJfghij56789:&(*0124E`b') endfunction function! s:suite.cipher_number() call s:assert.equals(calendar#cipher#cipher(0, 0), '0') call s:assert.equals(calendar#cipher#cipher(0, 100), '5') call s:assert.equals(calendar#cipher#cipher(16777216, 0), '16777216') call s:assert.equals(calendar#cipher#cipher(16777216, 100), '6;<<<76;') endfunction function! s:suite.cipher_array() call s:assert.equals(calendar#cipher#cipher([], 0), []) call s:assert.equals(calendar#cipher#cipher([0, 1, 2], 0), ['0', '1', '2']) call s:assert.equals(calendar#cipher#cipher([0, 1, 2], 100), ['5', '6', '7']) call s:assert.equals(calendar#cipher#cipher(['65536', '16777216', '4294967296'], 100), [';::8;', '6;<<<76;', '97>9>;<7>;']) endfunction function! s:suite.cipher_object() call s:assert.equals(calendar#cipher#cipher({}, 100), {}) call s:assert.equals(calendar#cipher#cipher( \ { 'foo': [ '0', { 'bar': 16777216 }, [] ], 'bar': { 'baz': 'qux' }, 'quux': 'qux' }, 100), \ { 'foo': [ '5', { 'bar': '6;<<<76;' }, [] ], 'bar': { 'baz': 'vz}' }, 'quux': 'vz}' }) endfunction function! s:suite.decipher_string() call s:assert.equals(calendar#cipher#decipher('', 0), '') call s:assert.equals(calendar#cipher#decipher('', 100), '') call s:assert.equals(calendar#cipher#decipher('ABCDEabcde012345!#%+,-/@[]', 0), 'ABCDEabcde012345!#%+,-/@[]') call s:assert.equals(calendar#cipher#decipher('FGHIJfghij56789:&(*0124E`b', 100), 'ABCDEabcde012345!#%+,-/@[]') endfunction function! s:suite.decipher_number() call s:assert.equals(calendar#cipher#decipher('0', 0), 0) call s:assert.equals(calendar#cipher#decipher('5', 100), 0) call s:assert.equals(calendar#cipher#decipher('16777216', 0), 16777216) call s:assert.equals(calendar#cipher#decipher('6;<<<76;', 100), 16777216) endfunction function! s:suite.decipher_array() call s:assert.equals(calendar#cipher#decipher([], 0), []) call s:assert.equals(calendar#cipher#decipher(['0', '1', '2'], 0), ['0', '1', '2']) call s:assert.equals(calendar#cipher#decipher(['5', '6', '7'], 100), ['0', '1', '2']) call s:assert.equals(calendar#cipher#decipher([';::8;', '6;<<<76;', '97>9>;<7>;'], 100), ['65536', '16777216', '4294967296']) endfunction function! s:suite.decipher_object() call s:assert.equals(calendar#cipher#decipher({}, 100), {}) call s:assert.equals(calendar#cipher#decipher( \ { 'foo': [ '5', { 'bar': '6;<<<76;' }, [] ], 'bar': { 'baz': 'vz}' }, 'quux': 'vz}' }, 100), \ { 'foo': [ '0', { 'bar': '16777216' }, [] ], 'bar': { 'baz': 'qux' }, 'quux': 'qux' }) endfunction ================================================ FILE: bundle/calendar.vim/test/day.vim ================================================ let s:suite = themis#suite('day') let s:assert = themis#helper('assert') function! s:suite.gregorian() let tests = [ \ [[2000, 1, 1], 51544, 6], \ [[2020, 12, 31], 59214, 4], \ [[2023, 1, 1], 59945, 0], \ [[1858, 11, 17], 0, 3], \ [[1600, 1, 1], -94553, 6], \ [[1582, 10, 15], -100840, 5], \ [[1580, 1, 1], -101858, 2], \ ] for test in tests let [ymd, mjd, week] = test let day = calendar#day#gregorian#new(ymd[0], ymd[1], ymd[2]) call s:assert.equals(day.is_valid(), 1) call s:assert.equals(day.get_ymd(), ymd) call s:assert.equals(day.get_year(), ymd[0]) call s:assert.equals(day.get_month(), ymd[1]) call s:assert.equals(day.get_day(), ymd[2]) call s:assert.equals(day.mjd, mjd) call s:assert.equals(day.week(), week) call s:assert.equals(day.year().get_year(), ymd[0]) call s:assert.equals(day.month().get_year(), ymd[0]) call s:assert.equals(day.month().get_month(), ymd[1]) call s:assert.equals(day.is_gregorian(), 1) endfor endfunction function! s:suite.julian() let tests = [ \ [[2000, 1, 1], 51557, 5], \ [[2020, 12, 31], 59227, 3], \ [[2023, 1, 1], 59958, 6], \ [[1858, 11, 17], 12, 1], \ [[1600, 1, 1], -94543, 2], \ [[1582, 10, 4], -100841, 4], \ [[1580, 1, 1], -101848, 5], \ ] for test in tests let [ymd, mjd, week] = test let day = calendar#day#julian#new(ymd[0], ymd[1], ymd[2]) call s:assert.equals(day.is_valid(), 1) call s:assert.equals(day.get_ymd(), ymd) call s:assert.equals(day.get_year(), ymd[0]) call s:assert.equals(day.get_month(), ymd[1]) call s:assert.equals(day.get_day(), ymd[2]) call s:assert.equals(day.mjd, mjd) call s:assert.equals(day.week(), week) call s:assert.equals(day.year().get_year(), ymd[0]) call s:assert.equals(day.month().get_year(), ymd[0]) call s:assert.equals(day.month().get_month(), ymd[1]) call s:assert.equals(day.is_gregorian(), 0) endfor endfunction function! s:suite.default() let tests = [ \ [[2000, 1, 1], 51544, 6, 1], \ [[2020, 12, 31], 59214, 4, 1], \ [[2023, 1, 1], 59945, 0, 1], \ [[1858, 11, 17], 0, 3, 1], \ [[1600, 1, 1], -94553, 6, 1], \ [[1582, 10, 15], -100840, 5, 1], \ [[1582, 10, 4], -100841, 4, 0], \ [[1580, 1, 1], -101848, 5, 0], \ ] for test in tests let [ymd, mjd, week, is_gregorian] = test let day = calendar#day#default#new(ymd[0], ymd[1], ymd[2]) call s:assert.equals(day.is_valid(), 1) call s:assert.equals(day.get_ymd(), ymd) call s:assert.equals(day.get_year(), ymd[0]) call s:assert.equals(day.get_month(), ymd[1]) call s:assert.equals(day.get_day(), ymd[2]) call s:assert.equals(day.mjd, mjd) call s:assert.equals(day.week(), week) call s:assert.equals(day.year().get_year(), ymd[0]) call s:assert.equals(day.month().get_year(), ymd[0]) call s:assert.equals(day.month().get_month(), ymd[1]) call s:assert.equals(day.is_gregorian(), is_gregorian) endfor endfunction function! s:suite.british() let tests = [ \ [[2000, 1, 1], 51544, 6, 1], \ [[2020, 12, 31], 59214, 4, 1], \ [[2023, 1, 1], 59945, 0, 1], \ [[1858, 11, 17], 0, 3, 1], \ [[1752, 9, 14], -38779, 4, 1], \ [[1752, 9, 2], -38780, 3, 0], \ [[1600, 1, 1], -94543, 2, 0], \ [[1582, 10, 15], -100830, 1, 0], \ [[1582, 10, 4], -100841, 4, 0], \ [[1580, 1, 1], -101848, 5, 0], \ ] for test in tests let [ymd, mjd, week, is_gregorian] = test let day = calendar#day#british#new(ymd[0], ymd[1], ymd[2]) call s:assert.equals(day.is_valid(), 1) call s:assert.equals(day.get_ymd(), ymd) call s:assert.equals(day.get_year(), ymd[0]) call s:assert.equals(day.get_month(), ymd[1]) call s:assert.equals(day.get_day(), ymd[2]) call s:assert.equals(day.mjd, mjd) call s:assert.equals(day.week(), week) call s:assert.equals(day.year().get_year(), ymd[0]) call s:assert.equals(day.month().get_year(), ymd[0]) call s:assert.equals(day.month().get_month(), ymd[1]) call s:assert.equals(day.is_gregorian(), is_gregorian) endfor endfunction function! s:suite.add_sub() let tests = [ \ [[2000, 1, 1], 1000, [2002, 9, 27]], \ [[2020, 12, 31], -10000, [1993, 8, 15]], \ [[1600, 1, 1], 1000000, [4337, 11, 28]], \ [[1582, 10, 15], -1, [1582, 10, 4]], \ [[1582, 10, 4], 1, [1582, 10, 15]], \ [[1, 1, 1], 1000000, [2738, 11, 27]], \ ] for test in tests let [ymd, diff, new_ymd] = test let day = calendar#day#new(ymd[0], ymd[1], ymd[2]) call s:assert.equals(day.add(diff).get_ymd(), new_ymd) call s:assert.equals(day.sub(calendar#day#new(new_ymd[0], new_ymd[1], new_ymd[2])), -diff) call s:assert.equals(calendar#day#new(new_ymd[0], new_ymd[1], new_ymd[2]).sub(day), diff) endfor endfunction ================================================ FILE: bundle/calendar.vim/test/pixel.vim ================================================ let s:suite = themis#suite('pixel') let s:assert = themis#helper('assert') function! s:suite.pixel_get() call s:assert.equals(calendar#pixel#get(''), ['', '', '', '', '']) call s:assert.equals(calendar#pixel#get(':'), ['....', '.%%.', '....', '.%%.', '....']) call s:assert.equals(calendar#pixel#get('0'), ['%%%%%%', '%%..%%', '%%..%%', '%%..%%', '%%%%%%']) call s:assert.equals(calendar#pixel#get('1'), ['....%%', '....%%', '....%%', '....%%', '....%%']) call s:assert.equals(calendar#pixel#get('8'), ['%%%%%%', '%%..%%', '%%%%%%', '%%..%%', '%%%%%%']) call s:assert.equals(calendar#pixel#get('C'), ['.%%%%%.', '%%...%%', '%%.....', '%%...%%', '.%%%%%.']) call s:assert.equals(calendar#pixel#get('E'), ['%%%%%%', '%%....', '%%%%%.', '%%....', '%%%%%%']) call s:assert.equals(calendar#pixel#get('O'), ['.%%%%%.', '%%...%%', '%%...%%', '%%...%%', '.%%%%%.']) call s:assert.equals(calendar#pixel#get('T'), ['%%%%%%%%', '...%%...', '...%%...', '...%%...', '...%%...']) endfunction function! s:suite.pixel_len() call s:assert.equals(calendar#pixel#len(''), 0) call s:assert.equals(calendar#pixel#len(':'), 2) call s:assert.equals(calendar#pixel#len('0'), 6) call s:assert.equals(calendar#pixel#len('11'), 8) call s:assert.equals(calendar#pixel#len('00'), 12) call s:assert.equals(calendar#pixel#len('123'), 14) call s:assert.equals(calendar#pixel#len('213'), 18) endfunction ================================================ FILE: bundle/calendar.vim/test/week.vim ================================================ let s:suite = themis#suite('week') let s:assert = themis#helper('assert') function! s:suite.before_each() language en_US.UTF-8 unlet! g:calendar_first_day endfunction function! s:suite.first_day_index() call s:assert.equals(calendar#week#first_day_index(), 0) let g:calendar_first_day = 'sunday' call s:assert.equals(calendar#week#first_day_index(), 0) let g:calendar_first_day = 'Monday' call s:assert.equals(calendar#week#first_day_index(), 1) let g:calendar_first_day = 'Tuesday' call s:assert.equals(calendar#week#first_day_index(), 2) let g:calendar_first_day = 'WEDNESDAY' call s:assert.equals(calendar#week#first_day_index(), 3) let g:calendar_first_day = 'thursday' call s:assert.equals(calendar#week#first_day_index(), 4) let g:calendar_first_day = 'friday' call s:assert.equals(calendar#week#first_day_index(), 5) let g:calendar_first_day = 'saturday' call s:assert.equals(calendar#week#first_day_index(), 6) endfunction function! s:suite.last_day_index() call s:assert.equals(calendar#week#last_day_index(), 6) let g:calendar_first_day = 'sunday' call s:assert.equals(calendar#week#last_day_index(), 6) let g:calendar_first_day = 'Monday' call s:assert.equals(calendar#week#last_day_index(), 0) let g:calendar_first_day = 'Tuesday' call s:assert.equals(calendar#week#last_day_index(), 1) let g:calendar_first_day = 'WEDNESDAY' call s:assert.equals(calendar#week#last_day_index(), 2) let g:calendar_first_day = 'thursday' call s:assert.equals(calendar#week#last_day_index(), 3) let g:calendar_first_day = 'friday' call s:assert.equals(calendar#week#last_day_index(), 4) let g:calendar_first_day = 'saturday' call s:assert.equals(calendar#week#last_day_index(), 5) endfunction function! s:suite.is_first_day() call s:assert.equals(calendar#week#first_day_index(), 0) call s:assert.equals(calendar#week#is_first_day(calendar#day#new(2000, 1, 1)), 0) call s:assert.equals(calendar#week#is_first_day(calendar#day#new(2001, 1, 1)), 0) call s:assert.equals(calendar#week#is_first_day(calendar#day#new(2004, 1, 1)), 0) call s:assert.equals(calendar#week#is_first_day(calendar#day#new(2005, 1, 1)), 0) call s:assert.equals(calendar#week#is_first_day(calendar#day#new(2006, 1, 1)), 1) call s:assert.equals(calendar#week#is_first_day(calendar#day#new(2007, 1, 1)), 0) endfunction function! s:suite.is_last_day() call s:assert.equals(calendar#week#is_last_day(calendar#day#new(2000, 1, 1)), 1) call s:assert.equals(calendar#week#is_last_day(calendar#day#new(2001, 1, 1)), 0) call s:assert.equals(calendar#week#is_last_day(calendar#day#new(2004, 1, 1)), 0) call s:assert.equals(calendar#week#is_last_day(calendar#day#new(2005, 1, 1)), 1) call s:assert.equals(calendar#week#is_last_day(calendar#day#new(2006, 1, 1)), 0) call s:assert.equals(calendar#week#is_last_day(calendar#day#new(2007, 1, 1)), 0) endfunction function! s:suite.week_index() call s:assert.equals(calendar#week#week_index(calendar#day#new(2000, 1, 1)), 6) call s:assert.equals(calendar#week#week_index(calendar#day#new(2001, 1, 1)), 1) call s:assert.equals(calendar#week#week_index(calendar#day#new(2004, 1, 1)), 4) call s:assert.equals(calendar#week#week_index(calendar#day#new(2005, 1, 1)), 6) call s:assert.equals(calendar#week#week_index(calendar#day#new(2006, 1, 1)), 0) call s:assert.equals(calendar#week#week_index(calendar#day#new(2007, 1, 1)), 1) let g:calendar_first_day = 'monday' call s:assert.equals(calendar#week#week_index(calendar#day#new(2000, 1, 1)), 5) call s:assert.equals(calendar#week#week_index(calendar#day#new(2001, 1, 1)), 0) call s:assert.equals(calendar#week#week_index(calendar#day#new(2004, 1, 1)), 3) call s:assert.equals(calendar#week#week_index(calendar#day#new(2005, 1, 1)), 5) call s:assert.equals(calendar#week#week_index(calendar#day#new(2006, 1, 1)), 6) call s:assert.equals(calendar#week#week_index(calendar#day#new(2007, 1, 1)), 0) let g:calendar_first_day = 'saturday' call s:assert.equals(calendar#week#week_index(calendar#day#new(2000, 1, 1)), 0) call s:assert.equals(calendar#week#week_index(calendar#day#new(2001, 1, 1)), 2) call s:assert.equals(calendar#week#week_index(calendar#day#new(2004, 1, 1)), 5) call s:assert.equals(calendar#week#week_index(calendar#day#new(2005, 1, 1)), 0) call s:assert.equals(calendar#week#week_index(calendar#day#new(2006, 1, 1)), 1) call s:assert.equals(calendar#week#week_index(calendar#day#new(2007, 1, 1)), 2) endfunction function! s:suite.week_number() call s:assert.equals(calendar#week#week_number(calendar#day#new(2000, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2001, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2004, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2005, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2006, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2007, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2010, 12, 31)), 53) call s:assert.equals(calendar#week#week_number(calendar#day#new(2020, 5, 9)), 19) call s:assert.equals(calendar#week#week_number(calendar#day#new(2020, 5, 10)), 20) let g:calendar_first_day = 'monday' call s:assert.equals(calendar#week#week_number(calendar#day#new(2000, 1, 1)), 52) call s:assert.equals(calendar#week#week_number(calendar#day#new(2001, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2004, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2005, 1, 1)), 53) call s:assert.equals(calendar#week#week_number(calendar#day#new(2006, 1, 1)), 52) call s:assert.equals(calendar#week#week_number(calendar#day#new(2007, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2009, 1, 1)), 1) call s:assert.equals(calendar#week#week_number(calendar#day#new(2010, 1, 1)), 53) endfunction ================================================ FILE: bundle/clever-f.vim/.codecov.yml ================================================ coverage: status: project: default: target: 0% patch: default: target: 0% ================================================ FILE: bundle/clever-f.vim/.github/workflows/ci.yml ================================================ name: CI on: [push, pull_request] jobs: unit-tests: name: Unit tests strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] neovim: [false, true] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Checkout themis.vim uses: actions/checkout@v2 with: repository: thinca/vim-themis path: vim-themis - name: Install Vim or Neovim uses: rhysd/action-setup-vim@v1 id: vim with: neovim: ${{ matrix.neovim }} - name: Run unit tests env: THEMIS_VIM: ${{ steps.vim.outputs.executable }} PROFILE_LOG: profile.txt run: | cd ./test echo "${THEMIS_VIM}" ../vim-themis/bin/themis . # covimerage seems not maintained for Windows. Skip taking code coverage on Windows - name: Install Python if: ${{ matrix.os != 'windows-latest' }} uses: actions/setup-python@v1 - name: Install covimerage if: ${{ matrix.os != 'windows-latest' }} run: | # https://github.com/Vimjas/covimerage/issues/95 pip install 'click<8.0.0' pip install covimerage covimerage --version - name: Run covimerage if: ${{ matrix.os != 'windows-latest' }} run: | cd ./test covimerage write_coverage profile.txt - name: Take coverage if: ${{ matrix.os != 'windows-latest' }} run: | cd ./test coverage report coverage xml - name: Upload coverage to codecov if: ${{ matrix.os != 'windows-latest' }} uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} file: ./test/coverage.xml lint: name: Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 - run: pip install vim-vint - run: vint --warning --verbose --enable-neovim ./autoload ./plugin - run: sudo apt install shellcheck - name: Run actionlint run: | bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) ./actionlint -color shell: bash ================================================ FILE: bundle/clever-f.vim/.github/workflows/weekly.yml ================================================ name: Weekly check on: schedule: - cron: '0 0 * * 0' jobs: unit-tests: name: Unit tests strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] neovim: [false, true] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Checkout themis.vim uses: actions/checkout@v2 with: repository: thinca/vim-themis path: vim-themis - name: Install Vim or Neovim uses: rhysd/action-setup-vim@v1 id: vim with: neovim: ${{ matrix.neovim }} - name: Run unit tests env: THEMIS_VIM: ${{ steps.vim.outputs.executable }} PROFILE_LOG: profile.txt run: | cd ./test echo "$THEMIS_VIM" ../vim-themis/bin/themis . ================================================ FILE: bundle/clever-f.vim/.gitignore ================================================ /doc/tags /test/profile.txt /test/htmlcov /test/.coverage_covimerage ================================================ FILE: bundle/clever-f.vim/README.md ================================================ clever-[f][].vim ================ [![Build Status][]][CI] [![Coverage Status][]][Codecov] clever-f.vim extends `f`, `F`, `t` and `T` mappings for more convenience. Instead of `;`, `f` is available to repeat after you type `f{char}` or `F{char}`. `F` after `f{char}` and `F{char}` is also available to undo a jump. `t{char}` and `T{char}` are ditto. This extension makes a repeat easier and makes you forget the existence of `;`. You can use `;` for other key mapping. In addition, this extension provides many convenient features like target character highlighting, smart case matching and so on. If you want to reset the searching character without moving cursor, map `(clever-f-reset)` to your favorite key. Lastly, you can customize the behavior of the mappings and features. ### [Try Online Demo][] using [vim.js][] ## USAGE ![Screen shot](https://raw.githubusercontent.com/rhysd/ss/master/clever-f.vim/cleverf_main.gif) I'll show some examples of usage. `_` is the place of cursor, `->` is a move of cursor, alphabets above `->` is input by keyboard. Note that this is a part of clever-f.vim's features. ### __`f`__ input: fh f f e fo f move : _---------->_------>_---------->_->_---------------->_->_ input: F F move : _<-----------------------------_<-_ text : hoge huga hoo hugu ponyo ![f screencast](https://raw.githubusercontent.com/rhysd/ss/master/clever-f.vim/cleverf_1.gif) ### __`F`__ input: f Fh b f Fo move : _<----------_<------_<-_<-----------------------------_<-_ input: F F F move : _---------->_------>_----------->_ text : hoge huga huyo hugu ponyo ![F screencast](https://raw.githubusercontent.com/rhysd/ss/master/clever-f.vim/cleverf_2.gif) ### __`t`__ input: th t t e to t move : _--------->_------>_---------->_-->_--------------->_->_ input: T T move : _<-----------------------------__ text : hoge huga hoo hugu ponyo ![t screencast](https://raw.githubusercontent.com/rhysd/ss/master/clever-f.vim/cleverf_3.gif) ## CUSTOMIZE ### Search a character only in current line `g:clever_f_across_no_line` controls to search a character across multi lines or not. Please set it to `1` in your vimrc to search a character only in current line. ### Ignore case `g:clever_f_ignore_case` controls whether or not searches are case-insensitive. If you want searches to be case-insensitive, set it to `1` in your vimrc. ### Smart case `g:clever_f_smart_case` controls whether searches are smart case or not. If you type a lower case character, the case will be ignored however if you type an upper case character it will only search for upper case characters. Please set it to `1` in your vimrc to enable searching by smart case. ### Target character highlighting in current line clever-f.vim highlights the target character you input in current line. The highlight is cleared automatically when the search ends. If you want to change the highlight group, set your favorite highlight group to `g:clever_f_mark_char_color`. Below is an example using `ta` in description of clever-f.vim. ![highlight example](https://raw.githubusercontent.com/rhysd/ss/master/clever-f.vim/cleverf_4.gif) Here, `ta` searches `a` forward then matches the character before `a` and `Ta` searches `a` backward then matches the character after `a`. You can see the highlighted target is dynamically changed following the cursor's direction. Highlight can be cleared after timeout. See below section. ### Highlighting characters which can be directly jumped to clever-f.vim can highlight the characters in the line which can be directly jumped to. With this feature, you can easily understand where cursor can move by the `f{char}` input before inputting `{char}`. For example, when 'aba' is in the current line, cursor can reach the first 'a' with `fa` but cannot reach the second 'a'. In this case, the first 'a' is highlighted but the second 'a' is not when typing `f`. To enable this feature, set `1` to `g:clever_f_mark_direct` in your vimrc. Note that setting `1` after Vim starts does not work. ### Repeat timeout You can specify the timeout for repeating the previous target character on `f`, `F`, `t` and `T` mappings. If the interval of these mappings is greater than the one you specified, clever-f.vim resets its state to make you input a new character. This feature is disabled by default. If you want to use this feature, set timeout value in milliseconds to `g:clever_f_timeout_ms`. ### Highlight timeout When target character highlighting is enabled, the highlight can be cleared after specific timeout. By default, this feature is not enabled. Highlight won't be cleared until the cursor moves. To enable this feature, set milliseconds value to `g:clever_f_highlight_timeout_ms`. This feature requires timer feature added at Vim8. Confirm `:echo has('timers')` returns `1` to check if this feature is available. ### Repeat last input `` is easy to type but usually it isn't input as the target character of search. So by default, when you input `` as `{char}`, the previous input is used instead of ``. For example, when you previously input `fa` and then input `f`, `a` will be used as input instead of ``. You can specify characters to use previous input by setting `g:clever_f_repeat_last_char_inputs`. Adding `` may be handy. ### Migemo support In Japanese environment, it is convenient that `fa` matches `あ` in some cases. Originally, this feature is provided by [migemo](http://0xcc.net/migemo/). clever-f can search multibyte Japanese character with `f`, 'F', 't' and 'T' key mappings. A cmigemo package is **NOT** required because clever-f includes regex patterns generated by migemo. Set `clever_f_use_migemo` to `1` to get migemo support. ### Fix a direction of search If you always want to search forward with `f` and always want to search backward with `F`, set `g:clever_f_fix_key_direction` to `1`. input: F Fh b F Fo move : _<----------_<------_<-_<-----------------------------_<-_ input: f f f move : _---------->_------>_----------->_ text : hoge huga huyo hugu ponyo ### Show prompt If you want to show a prompt when you input a character for clever-f, set `g:clever_f_show_prompt` to `1`. The prompt is disposed after a character is input. ### Match all symbols with one char Many symbol (`{`, `(`, `"`, and so on) keys are hard to press. If you want to match `;` key to all symbols, you can use `g:clever_f_chars_match_any_signs`. If you set it to `';'`, `f;` matches all symbols. input: f; f f f f f f move : _-->_--->_--------->_>_>_------------>_>_ text : hoge.huga( autoloads: %w{ aaa bbb ccc } ) ### Keeping the functionality of `;` and `,` via mappings If you are used to using `;` and `,` for forward and backward searching, but still want these to work the same way with clever-f, you can simply remap `;`and `,` to use this plugin: ``` map ; (clever-f-repeat-forward) map , (clever-f-repeat-back) ``` ## LICENSE Distributed under MIT License. See `doc/clever_f.txt` [f]: https://github.com/vim/vim/blob/0d76683e094c6cac2e879601aff3acf1163cbe0b/runtime/doc/motion.txt#L254-L262 [Build Status]: https://github.com/rhysd/clever-f.vim/workflows/CI/badge.svg?branch=master&event=push [CI]: https://github.com/rhysd/clever-f.vim/actions?query=workflow%3ACI+branch%3Amaster [Coverage Status]: https://codecov.io/gh/rhysd/clever-f.vim/branch/master/graph/badge.svg [Codecov]: https://codecov.io/gh/rhysd/clever-f.vim [Try Online Demo]: http://rhysd.github.io/clever-f.vim/ [vim.js]: https://github.com/coolwanglu/vim.js/ ================================================ FILE: bundle/clever-f.vim/autoload/clever_f/compat.vim ================================================ if exists('*strchars') function! clever_f#compat#strchars(str) abort return strchars(a:str) endfunction else function! clever_f#compat#strchars(str) abort return strlen(substitute(a:str, '.', 'x', 'g')) endfunction endif if exists('*xor') function! clever_f#compat#xor(a, b) abort return xor(a:a, a:b) endfunction else function! clever_f#compat#xor(a, b) abort return a:a && !a:b || !a:a && a:b endfunction endif if exists('*reg_executing') function! clever_f#compat#reg_executing() abort return reg_executing() endfunction else " reg_executing() was introduced at Vim 8.2.0020 and Neovim 0.4.0 function! clever_f#compat#reg_executing() abort return '' endfunction endif ================================================ FILE: bundle/clever-f.vim/autoload/clever_f/migemo/cp932.vim ================================================ scriptencoding cp932 function! clever_f#migemo#cp932#load_dict() abort return { \ 'a' : '\%([ݕNҊ{b]毛^w܏㦚@oC粕ӓJlVȌlˆ^Мۜ{Qz鸈WEB{MQ榓kw{\N}Ho{tVpA֔\HՓaڏS[矏NaWo㻓֏~ĔMؒg禈Ŋ[NΎҕae}yRXvI\॑ŐVaz\eX~dVEYэʊ늿ߎӕT瑀剕ՕP]JÓV쉐˖ԋY͈b般HꙌǖsNL[ӟ䈮NzPjEDɏ͏W쏺Hq蕚V襕B\͈ԑ~㪌ZQsň}Ĉǝƈ䒩툤@rb`~qgݝю鈩[脝ōCK暖\ؐԙzЕɈŒaS㈢ҌݕJ숫rG}Lj򈡈}[YޝKgOc&ȁ_ڋ͋́ˁ܌WāNLMOf`Ap@a]\|\_s*\|\_s*\|\_s*\|\_s*\|Z\_s*\%(n\|i\_s*n\_s*c\)\|\_s*q\|\_s*\|E\_s*n\|f\_s*\|\_s*\|M\_s*V\_s*\|\_s*T\|\_s*\|Z\_s*q\|\_s*\|l\_s*\|\_s*\|\_s*\|^\_s*\|\_s*\|\_s*w\|\_s*[]\|\_s*p\|\_s*\|\_s*\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*{\|\_s*\%(\|\_s*q\)\|\_s*\%(\|\_s*\_s*\_s*\_s*\)\|H\_s*a\_s*b\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|\_s*F\|\_s*\|\_s*`\|^\_s*\_s*\_s*\|\_s*\|\_s*\|D\_s*`\|\_s*[K]\|\_s*G\|\_s*[mF]\|\_s*x\|\_s*\|\_s*\|\_s*\|p\_s*\%([ۓc]\|\_s*p\|\_s*\)\|\_s*[ɁX]\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(d\_s*b\|A\_s*h\_s*\_s*X\)\|D\_s*J\_s*[\_s*h\|C\_s*\%(^\_s*O\|J\_s*[\_s*h\)\)\|h\_s*\%(o\_s*d\_s*b\|b\_s*\%(^\_s*O\|J\_s*[\_s*h\)\)\|\_s*~\|\_s*\|c\_s*\|n\_s*\_s*\|C\_s*[^lm]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\_s*a\_s*\|\_s*\|\_s*n\|\_s*[ꆔn]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|g\_s*\_s*v\_s*\_s*A\|\_s*\| \_s*A\_s*N\_s*V\_s*A\_s*\|q\_s*f\|\_s*f\|\_s*s\_s*\_s*x\_s*Z\_s*p\_s*\_s*\_s*\|\_s*\|\_s*Y\|\_s*\|G\_s*o\_s*l\_s*d\|\_s*\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*@\|a\_s*\_s*\_s*@\)\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|Z\_s*\_s*g\_s*L\_s*b\_s*c\_s*l\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|g\_s*p\_s*\_s*\\|\_s*p\_s*\_s*\\|Z\_s*@\|\_s*\_s*\_s*\|I\_s*\%(\|M\_s*\_s*X\_s*^\_s*\|h\_s*\_s*C\|\_s*O\_s*X\_s*g\_s*\_s*[\_s*\|\_s*\%(g\_s*L\_s*[\|^\_s*\%([[i]\|l\_s*\%([\_s*g\|C\_s*g\)\)\)\|[\_s*\%([NKTg]\|j\_s*\_s*O\|L\_s*V\_s*\|u\_s*\_s*[\|o\_s*[\_s*h\|x\_s*\_s*W\_s*\|M\_s*\_s*X\_s*\%(g\|^\_s*\)\|]\_s*\_s*k\|X\_s*\%(`\_s*\|e\_s*B\_s*\|^\_s*[\|g\_s*\%(\_s*A\|\_s*\_s*A\)\)\|h\_s*\_s*[\|W\_s*\%([F[]\|I\_s*\_s*W\)\|f\_s*B\_s*\%(I\|G\_s*\_s*X\|V\_s*\_s*\|g\_s*\_s*A\_s*\)\|^\_s*\|\\_s*\%(\_s*e\_s*B\|\_s*C\_s*Y\)\|Z\_s*\_s*e\_s*B\_s*b\_s*N\|\_s*\)\)\|z\_s*\|o\_s*C\_s*g\|n\_s*\_s*}\_s*Q\_s*h\_s*\|\_s*\|l\_s*H\_s*\%(\_s*\_s*\|m\_s*\\)\|C\_s*\%([\_s*W\_s*X\|I\_s*\|\\_s*b\_s*v\)\|}\_s*\_s*h\_s*D\_s*[\_s*N\|\_s*\%(z\_s*\|\_s*\|\_s*p\)\|A\_s*\%([tlrImc]\|u\_s*s\_s*t\_s*r\_s*o\_s*b\_s*a\_s*i\_s*l\_s*e\_s*y\_s*a\_s*c\_s*e\_s*a\_s*e\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\|K\_s*C\_s*L\|S\_s*C\_s*I\_s*I\|s\_s*t\_s*a\_s*t\_s*i\_s*n\_s*e\|^\_s*C\_s*v\|T\_s*O\_s*K\|N\_s*S\_s*I\|V\_s*V\_s*X\_s*e\_s*\|L\_s*T\_s*L\_s*[\|\_s*\_s*N\|E\_s*R\_s*A\|D\_s*S\_s*L\_s*\_s*f\_s*\|h\_s*\_s*C\_s*u\|d\_s*a\|M\_s*\_s*W\_s*I\|b\_s*s\_s*t\_s*r\_s*a\_s*c\_s*t\_s* \_s*C\_s*o\_s*n\_s*t\_s*r\_s*o\_s*l\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\|J\_s*b\_s*v\|N\_s*\_s*X\|C\_s*A\_s*_\_s*v\_s*^\)\|t\_s*^\|`\_s*\%([S^]\|\_s*\_s*\|a\_s*\%(^\|\_s*\_s*\_s*\)\|^\_s*C\_s*v\|s\_s*\_s*s\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*N\|h\_s*G\_s*L\_s*X\_s*p\_s*[\_s*g\|^\_s*c\_s*R\_s*\_s*o\_s*[\_s*^\|h\_s*\_s*C\_s*u\|\_s*\_s*\_s*\|J\_s*b\_s*v\|N\_s*\_s*X\|\_s*\_s*\_s*\)\|\_s*p\|G\_s*\%([jAC[]\|b\_s*`\|\_s*\%(h\_s*\_s*\|W\_s*F\_s*\%(\|\_s*b\_s*N\)\|[\_s*\)\|\_s*A\|I\_s*\_s*A\|X\_s*e\|v\_s*\_s*\)\)', \ 'b' : '\%([ݍxftݖv{}~Ϟsr`ڝpؖnlmqbQ쟂ۙR廖ge䛖OE庈ꆉK㦖RWaXZU`YNϛ˖Sc]fhT^ddە_@W敖͕ꊱVGJڙkK럑㰙pgꈕ̕VՙAğ~܍燙ᾙjוؕ糉•粂בD[kuqJڒܐ[W᳓ؐߕܖܘŕhᕷwŕsFU򐁕xᕔF~o@ԕ捐lLJxʕTCZz[ߞ㢛mpCޜrF{qn֛焕S蓔Ialߕ[Leὕdcb`_aΓZrۖoɔzeX]䛇gє䊑ыIs@[bV鯝UAjcUPWєm\e}ޔȉSit䕔|ꀊL{~}ŝםf\ҔԖ_Jmה”dHݔ֔ӔՔԔؖ따ntklyHŐmn\΂gۉ~ba|_攞{onmopurAqxb]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[{xuro]\|\_s*[ڂׂԂт]\|\_s*\|\_s*\|A\_s*\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*Z\|\_s*\|r\_s*r\|\_s*\|\_s*\|\_s*_\|\_s*_\|\_s*\|E\_s*\|\_s*\|\_s*C\|\_s*\|X\_s*[j]\|R\_s*\_s*O\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|z\_s*c\|\_s*\|u\_s*\%(\|l\_s*b\_s*N\|V\_s*l\_s*}\)\|\_s*q\|t\_s*q\|\_s*\|L\_s*[O]\|\_s*\|V\_s*A\_s*O\|\_s*[ĘU]\|\\_s*D\|\_s*[D]\|\_s*\|o\_s*\_s*\|\_s*\|\_s*\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|h\_s*\|\_s*[q@]\|\\_s*\|\_s*[Žq]\|\_s*\|\_s*\|\_s*q\|c\_s*\_s*\_s*\|b\_s*\_s*\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|K\_s*N\|\_s*q\|\_s*\%([ъyJ]\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*[]\|f\_s*\_s*\|v\_s*\_s*R\_s*M\|\_s*\_s*\|I\_s*[\_s*g\_s*o\_s*C\|\_s*[b]\|t\_s*@\_s*S\_s*b\_s*g\|w\_s*i\|k\_s*\|y\_s*\%(L\_s*\|e\_s*\_s*M\_s*E\_s*X\)\|L\_s*f\|C\_s*M\_s*\_s*X\|a\_s*\%([ʔ^]\|\_s*E\|^\_s*C\_s*v\|h\_s*\_s*C\_s*u\|J\_s*b\_s*v\|N\_s*\_s*X\||\_s*X\_s*v\_s*\_s*C\_s*\|\_s*\_s*\_s*m\_s*\_s*\_s*\|\_s*\_s* \_s*d\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*N\)\|z\_s*E\_s*f\|B\_s*\%([hʔ^kiae]\|C\_s*\_s*\|N\_s*F\_s*(\_s*B\_s*a\_s*c\_s*k\_s*u\_s*s\_s*-\_s*N\_s*a\_s*u\_s*r\_s* \_s*F\_s*o\_s*r\_s*m\_s*)\|B\_s*C\|^\_s*C\_s*v\|u\_s*r\_s*k\_s*i\_s*n\_s*a\_s* \_s*F\_s*a\_s*s\_s*o\|t\_s*\_s*b\_s*c\|h\_s*\_s*C\_s*u\|J\_s*b\_s*v\|N\_s*\_s*X\|M\_s*P\_s*t\_s*@\_s*C\_s*\|X\_s*v\_s*\_s*C\_s*\|S\_s*\%(D\|L\_s*[\|`\_s*\_s*[\_s*i\|A\_s*\_s*e\_s*i\|f\_s*W\_s*^\_s*\)\|O\_s*X\_s*Z\_s*b\_s*g\|I\_s*T\_s*N\_s*E\_s*T\|r\_s*o\_s*m\_s*i\_s*n\_s*e\|\_s*\_s*N\|o\_s*\%(h\_s*r\_s*i\_s*u\_s*m\|v\_s*i\_s*n\_s*e\_s* \_s*S\_s*p\_s*o\_s*n\_s*g\_s*i\_s*f\_s*o\_s*r\_s*m\_s* \_s*E\_s*n\_s*c\_s*e\_s*p\_s*h\_s*a\_s*l\_s*o\_s*p\_s*a\_s*t\_s*h\_s*y\|o\_s*k\|r\_s*o\_s*n\)\)\|\_s*f\)', \ 'c' : '\%([a|ҜDޏns}laʗۗⵘᶐsЌfَřbIziꑍC麌Z欉䓚৙}Yɍ`nXMȍ뜝k՞ߌ匣ӍeWEQLm՘iQf肝Kਗ਼Ჟ騟}{㝛ŘҟL`tiBRH{ൟHs秝nn˝JܔXLJyߛb}褜rRt莘mE硍hklKᦜnK}֞\@囍yෙΜˍ[⠍xuXSe倘Ji^V@AWGDT`ᩍBԍp]PIzt_kOjRwuPaI|qFXZsmrcDޞJܛ͞wLl܍WێЛZÖs烌gםsؑeuČٌ̟]|Vx֒绌і嚙hʉznjԌך➳Ҕȏ˗Zꉟh@ZXNÖZ驒LLQkŚTGi֙↝BގEِېߐCGዙН[Tאɐ͐ȐǝA⣛p蔞tdCNӟ׈ߙEᝎax㙘A_baJஓϛƘjbHⳙAGSL⒑WsrDJAL񙒐枙@ۑMHlFKDG@Bh坡ǑNdDI扙|œҝᝩ⫟ŐꎖvRΐyH`ՐǍU}[҂zKMzⱟJ㖍IHEzboxܗAϕDBӏ~B䱌sZY㙬ᯞӛM֌NvK@{^Z퐾^鶔ňʈUÑqC~XVTRUWS܉_wo^鿌~GF䇚`pY۞ƌIӘޚPMuoӍcqvE|―ꋀῙ܌JɍCg{mX؍Hᜁv㜜ҙg电M˂捃ABPDY`LZ迓ӞxZlWȓGFaƎb乗MEΕsCFnD㈵㦋s]Ŗl^⚑A潓gߞΖ儞bɖΜ臐wpd[g謎姎^GNH˒ΐÎᕹRK\ސˌKŽKoqҍtϔOӎ͚̍͟bAjP֎yࡐ̝咙ݐ┐Ԏ^ېΎގڎYώՎˎΎɎԎߎЈޝiSGCဋÎft偛WVz题Efiglhk{蜕婏oFT碏VhqhFJ娏QK榚S酝nSXKUڏMGjaENODCALRTWIHB@M\᭚忏w{vxs⡏urfݐZuVꐚpy曐P]AUjJfY`Ds橝ΐaO凓cjcѐUaNfdCkXĐLTQWi[RMebI\S^V΋nZo䜏_י|䓏w򏎏ҟm䀛uLЏ縐מ⪎™דɜvRIߜcB_џnՈ䐯B辑[K頏[␏K♏яҁui]疏֏ӐԚА躐ϏUJnސŜ܏ߏᏏُGᏧଞ͏ǏɏЏˏ暏ΏďƏ͏ڏ؏ɏTl\egp@CܑDI冐BGAHEn❎omowvLUhnыŎᎊtr@{wϚ`iАyэi@EJX拎}泛nyoNZyٝfj{~|{oߘIXB]KVgupikl藘ʛƓj⏎sꏎÎ~˔`Œsyd@؎䢊YoumeᘊyNJr݊jƌyĈ呁eAiMʕrPTMvᚌȍfjqseghpotr鹜NJDRUğdᥛz㕖pȌڋAԓ雛_Bߗދȋ\Ί͏ۋwdTezJxŌ`ӌ^HȔXR㎎CPtqKŠ锯閟@Њ|嶝^艔噞J㹊{歒Se顊j舊sFጐdP}gya`fSWmeO]ݑڙ̛ň@`FOP\[gಉGh󓂞Њ~yۉ}qɐ͘V،~ऐc͌bwuxviXÕLꖊGKƏ̓C魜SRД߈Kv֓S哑tݓkLSښ湛誝ᙚٚ]d䡜QIvn跏ʜh\frnzyklmkgcstio݉Bvldjߊgqupm嵚W~[ZB͙GrqʟD䠜j珞iƙd^񔐘\X{Ž\箊IؘrH_j~F׊@EmLGDŊAKJCI䯘Yᷛep՟bNボ錝AQaT㼛㻛fW`c洟a⻝qj鉙ɞ쏁㣎V늬Mϊ䅟jFrȟ綝mlb˙_xpᒔcg⭊|}ۚۊ@يΞ؊󊩐Ҋ@ʊŞ̊ɊƜAL萊ъŠԊ׊ՊĚ^ÊNJ֊͊ϊwxsqPgӊea㞎ʼnؚĝ̎dˉZΓٌq҃斉vqЎx|ۉԊQ|ўh`ܛ嘉]Ǝ؉㟋zɉÈՉʜF荊ЌCa{`ekJm”ޚ썁͉̉ώoז◚DSlόUґݙ͉щݙljӌT旞g~߉惕砌ĉጜƏ戉Č͉ɂEc‹āىqSGBJHxw[`TIr|RKVFO^QU\ZAYzM{Pst}NLvpyu@C]E_~D􄩄~ԃqXWہACFNՋ\ȐߕϐڃJRVZc]\|\_s*[]\|b\_s*[RZNVJ]\|\_s*[q]\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*y\|\_s*m\|\_s*F\|\_s*\|\_s*\|S\_s*\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|\_s*C\|\_s*\|A\_s*\%(r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|p\_s*i\_s*a\_s*l\_s*e\_s*s\)\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|\_s*\|}\_s*\|\_s*@\|O\_s*[ȍ]\|\_s*[ĘU]\|P\_s*y\|\_s*\|\_s*[X]\|~\_s*\|\_s*\|S\_s*[Z]\|\_s*h\|9\_s*[]\|^\_s*{\|Q\_s*O\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*|\|T\_s*\_s*\|T\_s*\|\_s*\_s*\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|Z\_s*\|n\_s*_\|s\_s*q\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|V\_s*\|]\_s*\|f\_s*[l]\|\_s*A\|s\_s*[mE]\|\_s*\|L\_s*a\_s*\%(u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|b\_s*i\_s*a\_s*t\_s*a\_s*e\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|\_s*\|\_s*\|~\_s*\|\_s*t\_s*\|\_s*\|\_s*_\|\_s*Y\|\_s*\|\_s*\|I\_s*\%(s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\)\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|`\_s*\|]\_s*[X]]\|\_s*\%([ƗuʑɎ茓]\|\_s*\|[\_s*\|\_s*\)\|\_s*\%(X\_s*\_s*\|\_s*\_s*\)\|7\_s*\|V\_s*\|\_s*\|4\_s*\|S\_s*[]\|R\_s*{\|\_s*\|h\_s*t\|\_s*[ʈ]\|\_s*\|O\_s*\%(\|\_s*\)\||\_s*[“]\|A\_s*[o]\|\_s*\|B\_s*r\|\_s*[NY]\|\_s*[]\|r\_s*[ꏎ]\|Q\_s*\|\_s*Y\|b\_s*\|c\_s*e\|\_s*\|M\_s*\%(e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|u\_s*s\_s*a\_s*l\_s*e\_s*s\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|S\_s*\%([eg]\|p\_s*e\_s*r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*i\_s*t\_s*a\_s*m\_s*i\_s*n\_s*e\_s*a\_s*e\)\|\_s*\%(\_s*{\_s*\%(I\|\_s*I\)\|\_s*\_s*a\_s*\_s*W\)\|\_s*Z\|\_s*q\|\_s*\|z\_s*\|R\_s*\%(C\_s*o\|\_s*q\|z\_s*\)\|j\_s*\|\_s*\_s*\_s*\|r\_s*C\|b\_s*[]\|\_s*\|}\_s*\|\_s*\%(\|`\_s*\)\|\_s*[]\|\_s*\|V\_s*\%(\|l\_s*\)\|\_s*q\||\_s*\_s*\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*[]\|\_s*r\||\_s*\|\\_s*\|]\_s*\|\_s*q\_s*\|\_s*[ay]\|\_s*\|\_s*\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*R\_s*q\|\_s*\|\_s*\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|o\_s*\%(t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\|d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\)\)\|y\_s*\|A\_s*g\|k\_s*k\|@\_s*\|\_s*t\_s*\|\_s*\%(\|q\_s*\)\|\_s*\|\_s*\|Z\_s*\%(c\|C\_s*\)\|\_s*\|\_s*[r]\|\_s*\%([_]\|C\_s*\|\_s*s\_s*\_s*\_s*w\_s*Z\_s*p\_s*\_s*w\)\|C\_s*[G]\|(\_s*\_s*)\|\_s*\_s*\|\_s*\|\_s*\|m\_s*\%(\|\_s*\)\|~\_s*\_s*\|o\_s*c\|Y\_s*t\|_\_s*o\|\_s*\|B\_s*\|A\_s*\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|\_s*\_s*\_s*\_s*\_s*u\|\_s*\_s*\_s*e\_s*N\_s*m\_s*T\_s*C\_s*G\_s*\_s*X\|\_s*\|X\_s*\_s*[\_s*Y\|\_s*e\|g\_s*\_s*\_s*v\|\_s*[{v菻]\|\_s*G\_s*\_s*\_s*Z\_s*b\_s*g\_s*v\_s*Z\_s*@\|T\_s*\%(\_s*`\_s*[\_s*\|G\_s*\|C\_s*\%(g\_s*J\_s*C\_s*\|\_s*X\|N\_s*\%([]\|\_s*\%(\|b\_s*N\)\)\|{\_s*\%(E\_s*Y\|[\_s*O\)\|o\_s*\%([\|l\_s*e\_s*B\_s*\%(b\_s*N\|N\_s*X\)\)\|\_s*\_s*[\_s*\|_\_s*[\|t\_s*@\_s*[\|l\_s*\_s*A\)\|[\_s*\%(e\_s*B\_s*t\_s*B\_s*P\_s*[\_s*V\_s*\_s*\|N\_s*\|J\_s*\%(X\|\_s*X\_s*N\_s*\%(\_s*C\_s*u\|\_s*v\_s*V\_s*\_s*\)\)\|L\_s*\%(\_s*\%(\_s*[\|\_s*[\_s*\%(^\_s*[\|V\_s*\_s*\)\)\|b\_s*g\)\)\)\|}\_s*h\_s*\_s*X\|\_s*\|P\_s*\%([AC]\|t\_s*F\_s*E\_s*X\|v\_s*X\_s*g\_s*\_s*[]\|`\_s*\_s*b\_s*v\|\_s*\%(^\_s*E\_s*\%(\|\_s*X\)\|u\_s*\_s*b\_s*W\)\|[\_s*\%([LWuvX]\|N\_s*E\_s*H\_s*[\_s*N\|\\_s*\|^\_s*\_s*\_s*O\|p\_s*\%([\|r\_s*\_s*e\_s*B\)\|V\_s*\_s*O\|\_s*[\)\|\_s*\%(g\|x\_s*\_s*X\|e\_s*B\_s*b\_s*N\|r\_s*\%(\|[\_s*j\)\)\|~\_s*\%(J\_s*\|X\_s*g\)\)\|L\_s*\%(\_s*m\_s*\|v\_s*\_s*X\|P\_s*\|\_s*\%([C[A]\|\_s*F\|r\_s*\%(Y\_s*\|X\_s*\)\|\_s*\%(X\|b\_s*g\)\|\_s*[\_s*^\_s*[\|\_s*\\_s*[\|\_s*\%([\|E\_s*\|A\_s*X\|I\_s*V\_s*e\_s*B\)\)\|A\_s*\%(\|[\_s*\|\_s*e\_s*B\)\|`\_s*\|g\_s*T\_s*\|\_s*\|}\_s*C\_s*\|b\_s*J\|\_s*[\_s*g\|\_s*\%([hpXu]\|f\_s*\%(B\|\_s*b\_s*N\)\|r\_s*\%([Al]\|e\_s*\%(B\|[\_s*V\_s*\_s*\)\)\|x\_s*c\|o\_s*\%(\_s*[GA]\|\_s*[\)\|g\_s*\|V\_s*[\|T\_s*\_s*\|^\_s*s\_s*\|s\_s*\%(g\_s*\|^\_s*\%(\|\_s*Y\_s*\)\)\|v\_s*\%(\|V\_s*\_s*\|e\_s*\|`\_s*\)\|Z\_s*\%(C\|\_s*[\_s*\)\|b\_s*\%([cg`v]\|T\_s*o\|X\_s*\|V\_s*\%(\|\_s*O\|\_s*\%([\|u\_s*\)\)\)\|j\_s*\%(I\_s*\|X\_s*^\_s*[\)\|i\_s*\|m\_s*\%(\|[\_s*\|s\_s*[\)\|~\_s*\\_s*[\_s*\|\_s*\%(\|\_s*\%(\|b\_s*g\)\)\|\_s*\%(\|E\_s*F\_s*C\|\_s*\|\_s*C\_s*[i]\|b\_s*g\)\|\_s*b\_s*g\|\_s*\%([R[A]\|o\_s*[\|u\_s*\_s*[\_s*V\_s*\_s*\|b\_s*W\|\_s*O\)\|Y\_s*\)\|\_s*\%(R\|X\_s*g\|V\_s*^\_s*\)\)\|\_s*p\|`\_s*\%([^}A]\|\_s*\|\_s*[\|\_s*h\|\_s*j\_s*[\|R\_s*\|b\_s*\%([vN]\|e\_s*\_s*I\|^\_s*S\_s*\)\|L\_s*\%(\|[\_s*^\)\|\_s*\%(A\_s*u\_s*\|[\_s*C\_s*\_s*K\_s*\)\|[\_s*\%([tgvNY]\|p\_s*[\|^\_s*[\)\|F\_s*\%([XJRA]\|U\_s*\%(\|[\_s*\)\|\_s*\%(j\_s*[\|V\_s*[\|m\_s*u\_s*C\_s*\)\|\_s*\%([\|X\_s*g\|b\_s*V\_s*\|\_s*\)\|\_s*\%(X\_s*^\|\_s*R\_s*t\)\|r\_s*`\_s*F\_s*t\|_\_s*[\|`\_s*F\_s*\|b\_s*\%([gNJ]\|L\_s*\_s*O\)\|C\_s*\%([X]\|j\_s*[\|T\_s*[\|V\_s*\_s*O\)\|[\_s*\%(\|U\_s*\|z\_s*t\)\)\|\_s*\%([IthCRE]\|c\_s*l\|N\_s*\|v\_s*^\_s*[\|p\_s*e\_s*B\|y\_s*\%(\|b\_s*N\)\|`\_s*\|l\_s*\%(\|\_s*[\|\_s*\_s*O\)\|b\_s*\%([Ng]\|s\_s*[\|v\_s*\%(}\_s*\|\_s*\)\)\|^\_s*\%(\_s*[C[]\|\_s*\_s*O\)\|\_s*}\_s*[\_s*X\|\_s*\_s*W\|\_s*\|[\_s*\%([`^gW]\|r\_s*\|~\_s*\%([\|\_s*O\)\|\_s*[\|\_s*\%([YX]\|g\_s*\)\)\|\_s*\_s*S\)\|\_s*\%([R]\|C\_s*X\|\_s*X\_s*L\_s*[\|[\_s*\%(N\|T\_s*[\|J\_s*[\|L\_s*\_s*O\)\|S\_s*\|b\_s*\%(v\|s\_s*[\|p\_s*[\)\|\_s*\\)\)\|\_s*W\|\_s*\|\_s*\|\_s*\%(\|Y\_s*\_s*`\_s*\)\|p\_s*\|C\_s*\%([srdfDeRoa]\|\_s*\|^\_s*\_s*\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(U\|S\_s*(\_s*C\_s*o\_s*n\_s*t\_s*i\_s*n\_s*u\_s*a\_s*t\_s*i\_s*o\_s*n\_s*-\_s*P\_s*a\_s*s\_s*s\_s*i\_s*n\_s*g\_s* \_s*S\_s*t\_s*y\_s*l\_s*e\_s*)\)\|u\_s*r\_s*i\_s*u\_s*m\|M\_s*\%(U\|\\_s*\_s*O\)\|^\_s*C\_s*v\|T\_s*\%(X\_s*L\_s*\_s*\|R\_s*L\_s*L\_s*[\)\|V\_s*F\_s*\|S\_s*\%(V\_s*t\_s*@\_s*C\_s*\|`\_s*\_s*[\_s*i\|A\_s*\_s*e\_s*i\)\|J\_s*b\_s*v\|N\_s*\_s*X\|R\_s*\_s*p\_s*C\_s*\|C\_s*\%(R\_s*(\_s*C\_s*r\_s*e\_s*e\_s*d\_s*e\_s*n\_s*c\_s*e\_s* \_s*C\_s*l\_s*e\_s*a\_s*r\_s*w\_s*a\_s*t\_s*e\_s*r\_s* \_s*R\_s*e\_s*v\_s*i\_s*v\_s*a\_s*l\_s*)\|D\_s*J\_s*\_s*\)\|h\_s*\_s*C\_s*u\|+\_s*+\|L\_s*\%(X\|O\_s*S\|I\_s*S\_s*P\)\|E\_s*S\_s*P\|A\_s*\%(D\|S\_s*[LE]\)\|\_s*\_s*N\|I\_s*S\_s*C\|h\_s*\%(l\_s*o\_s*r\_s*\%(a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\_s*e\)\|r\_s*o\_s*m\_s*i\_s*u\_s*m\|a\_s*S\_s*e\_s*n\)\|O\_s*\%(B\_s*O\_s*L\|N\_s*T\_s*R\_s*O\_s*L\_s*L\_s*[\)\)\|c\_s*\%(@\_s*[\|B\_s*\_s*\|F\_s*\%([\|\_s*j\_s*[\|\_s*\)\)\|Y\_s*f\|b\_s*\%([^]\|l\_s*\\_s*\_s*O\|^\_s*C\_s*v\|J\_s*b\_s*v\|N\_s*\_s*X\|\_s*r\|c\_s*|\_s*q\_s*n\_s*l\|h\_s*\_s*C\_s*u\|{\_s*{\|\_s*\_s*N\|n\_s*2\|\_s*b\_s*\%(\|n\_s*X\_s*g\_s*A\)\|\_s*\)\)', \ 'd' : '\%([다hbraךǏtBN{cjۓÓ̊ӓՓœǙI~UkNӝ^}X駁́ߓԓӓVW֓W{ޙxgz𗯗Z^mvwˎ~yǎF≓BHDsMϙub\BadƂŃdߐhȍjΓ`snˌg˒ݕtВËl}ϒޘAÃaߗ͒nIL֓|Z睏JNMӋҋxJيړ_xԒ|FڒDEU璒iNՕnm聄Гْ̖U[ghkifcdejǞ񐆘Ǒ䶝\śP֑蚑ʑ[TÞSɚkoĜ팚[Pc˂DACd\.Ecgh\Bƃh_WDf„td]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[hfda_]\|\_s*[ǂłÂ]\|\_s*\|s\_s*X\_s*\|\_s*\|S\_s*a\_s*u\_s*r\_s*u\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|C\_s*\%(u\|o\_s*p\_s*p\_s*e\_s*r\)\|\_s*V\_s*\|\_s*\|@\_s*\|\_s*\|Y\_s*\|S\_s*t\_s*\|\_s*\|\_s*\|\_s*[t]\|\_s*\|\_s*\|\_s*[I]\|\_s*\|m\_s*b\|x\_s*\|\_s*q\|\_s*q\|\_s*\|\_s*K\|\_s*\|\_s*B\|R\_s*\|\_s*\|\_s*k\_s*B\_s*\|\_s*\%([Ɍ]\|\_s*L\|\_s*V\_s*c\|\_s*\%(\|\_s*b\)\)\|T\_s*[B]\|\_s*\|\_s*|\|\_s*\%(\_s*\|\_s*f\_s*[\_s*^\_s*x\_s*[\_s*X\)\|R\_s*\_s*\_s*r\_s*A\|Y\_s*\%(\_s*[\_s*X\|b\_s*N\)\|C\_s*\_s*J\|\_s*\|\_s*m\|\_s*\|s\_s*\_s*\|\_s*\_s*\_s*\|n\_s*[\_s*O\|\_s*\_s*\_s*\_s*\|j\_s*\_s*\%(\|\_s*\)\|\_s*\_s*q\|L\_s*q\_s*q\|c\_s*\%(_\|^\_s*C\_s*v\|h\_s*\_s*C\_s*u\|J\_s*b\_s*v\|b\_s*u\_s*\_s*\_s*h\|\_s*\_s*\_s*\|\_s*\_s*N\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\\_s*i\_s*\|[\_s*b\_s*P\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\|D\_s*\%(b\|^\_s*C\_s*v\|T\_s*\%(E\|P\_s*\\_s*t\_s*g\|M\_s*\\_s*t\_s*g\)\|M\_s*A\|h\_s*\_s*C\_s*u\|J\_s*b\_s*v\|C\_s*\%(J\_s*[\_s*h\|u\_s*\_s*\_s*h\)\|u\_s*b\_s*n\_s*i\_s*u\_s*m\|B\_s*\%(M\_s*S\|T\_s*[\_s*o\)\|H\_s*C\_s*P\_s*\%(T\_s*[\_s*o\|N\_s*\_s*C\_s*A\_s*\_s*g\)\|y\_s*\%(s\_s*p\_s*r\_s*o\_s*s\_s*i\_s*u\_s*m\|l\_s*a\_s*n\)\|r\_s* \_s*P\_s*e\_s*p\_s*p\_s*e\_s*r\|\_s*\_s*N\|V\_s*D\_s*\%({\_s*b\_s*N\_s*X\|V\_s*\_s*b\_s*v\|P\_s*[\_s*X\|f\_s*b\_s*L\|h\_s*\_s*C\_s*u\|I\_s*[\_s*f\_s*B\_s*I\|v\_s*\_s*\%([\_s*\_s*[\|C\_s*\_s*[\)\|\_s*b\_s*N\|\_s*R\_s*[\_s*_\_s*[\|}\_s*\_s*`\|r\_s*f\_s*I\)\|O\_s*S\|o\_s*\%(c\_s*u\_s*m\_s*e\_s*n\_s*t\_s* \_s*\%(T\_s*y\_s*p\_s*e\_s* \_s*D\_s*e\_s*f\_s*i\_s*n\_s*i\_s*t\_s*i\_s*o\_s*n\|O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\)\|C\_s*o\_s*M\_s*o\)\|e\_s*\%(g\_s*e\_s*n\_s*e\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|l\_s*a\_s*w\_s*a\_s*r\_s*e\)\|E\_s*\%(C\|L\_s*L\_s*[\)\|I\_s*\%(P\_s*X\_s*C\_s*b\_s*`\|S\_s*K\)\|i\_s*\%(r\_s*e\_s*c\_s*t\_s* \_s*M\_s*e\_s*m\_s*o\_s*r\_s*y\_s* \_s*A\_s*c\_s*c\_s*e\_s*s\_s*s\|s\_s*t\_s*r\_s*i\_s*c\_s*t\_s* \_s*o\_s*f\_s* \_s*C\_s*o\_s*l\_s*u\_s*m\_s*b\_s*i\_s*a\|g\_s*i\_s*t\_s*a\_s*l\)\)\)', \ 'e' : '\%([ኙPGҋ`ܐݑ傉滌ӏ^ΛxVx{y󔌜▒厝t㈉z郉uՉvwtd_Qঢ়oH̟џHv鴉䆉`腖b膞Ł܉⥟}|叉͉lU~oIoktȚz瞱i͉joĉblgsdm繉erfhnciʉqG``}]㉈Όdl˘da|bΉdIÚ߁QM}NpΎIńR|L^ÄGe]\|A\_s*\%([ʔ^]\|V\_s*\%(@\_s*\|\_s*D\)\|B\_s*\%(^\|C\_s*\)\)\|`\_s*\%([ʔ^]\|u\_s*\%(@\_s*\|\_s*D\)\|a\_s*^\)\|\_s*\%(\|\_s*\)\|O\_s*\_s*\|M\_s*T\_s*C\_s*Y\|l\_s*T\_s*C\_s*Y\|G\_s*X\_s*q\|\_s*\|g\_s*\|E\_s*\|\_s*\_s*q\|\_s*y\|\_s*x\|\_s*H\|x\_s*\|\_s*[s]\|\_s*\|g\_s*q\|k\_s*\%(T\_s*C\_s*Y\|k\_s*T\_s*C\_s*Y\)\|L\_s*\%(T\_s*C\_s*Y\|L\_s*\%(T\_s*C\_s*Y\|\_s*\)\)\|\_s*\%([仕Q]\|m\_s*\)\|N\_s*\| \_s*n\_s* \_s*p\_s*`\|m\_s*\%([‹ɋ]\|\_s*\|g\_s*j\_s*z\_s*[\_s*\)\|\_s*\|Z\_s*\|\_s*X\_s*r\_s*[\_s*H\_s*i\|r\_s*\%([gȋ]\|T\_s*C\_s*Y\|m\_s*\|e\_s*\_s*\)\|S\_s*\%([]\|T\_s*C\_s*Y\|N\_s*\|F\_s*\_s*\)\|q\_s*[y]\|X\_s*\%([r]\|O\_s*\|\_s*F\_s*\)\|w\_s*\%([r]\|\_s*F\_s*\)\|A\_s*\|\_s*\|C\_s*\%(l\|h\_s*l\_s*o\_s*r\_s*i\_s*n\_s*e\)\|C\_s*\%(V\|W\_s*\)\|\_s*s\_s*\_s*\_s*x\_s*\_s*\_s*c\_s*c\|\_s*[\_s*N\_s*X\_s*e\_s*[\_s*V\_s*\_s*\|\_s*\%(B\|\_s*b\)\|^\_s*\%(B\|\_s*b\)\|\_s*[\_s*\_s*\%(s\_s*A\_s*\|b\_s*p\)\|\_s*\%(A\_s*\|E\_s*\_s*s\_s*E\_s*\|\_s*C\_s*J\|[\_s*\%(\|m\_s*X\|j\_s*X\|W\_s*\%(\|[\_s*\)\|h\_s*\|\_s*J\|\_s*\%(X\|V\_s*A\)\|t\_s*\%(\_s*e\_s*X\|H\_s*\%(\_s*A\|j\_s*A\_s*\)\)\|N\_s*\_s*b\_s*h\|J\_s*\)\)\|\_s*W\|\_s*\|d\_s*q\_s*\_s*\%(C\_s*\|[\_s*\)\|\_s*W\|]\_s*\_s*\_s*\|\_s*\_s*\|S\_s*\_s*\_s*T\|J\_s*v\_s*Z\_s*\_s*\|I\_s*\%([\|C\_s*\%(\_s*[\|Q\_s*\)\)\|\_s*s\|g\_s*\|\_s*O\|\_s*Q\_s*\|d\_s*\%(o\_s*n\|h\_s*\_s*C\_s*u\|c\_s*x\_s*[\_s*^\|\_s*\_s*\_s*\|J\_s*b\_s*v\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|^\_s*C\_s*v\)\|A\_s*\%([C]\|j\_s*h\|[\_s*\%([}X]\|E\_s*B\_s*\|\_s*\|j\_s*[\|l\_s*X\_s*g\|~\_s*\|V\_s*[\|\_s*[\)\)\|\_s*\|E\_s*\%(r\|O\_s*F\|u\_s*\%(p\_s*o\_s*m\_s*a\_s*t\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|r\_s*o\_s*p\_s*i\_s*u\_s*m\)\|U\_s*C\_s*R\_s*[\_s*h\|P\_s*\_s*R\_s*[\_s*h\|h\_s*\_s*C\_s*u\|d\_s*i\_s*t\_s*i\_s*n\_s*g\_s* \_s*M\_s*A\_s*C\_s*r\_s*o\_s*S\|\_s*[\_s*\|-\_s*m\_s*a\_s*i\_s*l\|J\_s*b\_s*v\|R\_s*}\_s*[\_s*X\|N\_s*T\_s*E\_s*R\_s*L\_s*[\|^\_s*C\_s*v\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\|S\_s*\%(P\|C\_s*L\_s*[\)\|l\_s*k\|m\_s*a\_s*c\_s*s\)\|C\_s*\%([uA[]\|W\_s*F\_s*N\_s*g\|t\_s*F\_s*N\_s*[g^]\|R\_s*\%([\_s*\|\_s*C\_s*[YU]\)\|v\_s*V\_s*\_s*\|~\_s*\_s*\_s*\%([\_s*[g^]\|C\_s*^\)\|x\_s*\_s*\%(g\|^\_s*[\)\|m\_s*b\_s*N\|l\_s*[\_s*u\_s*\|M\_s*\_s*X\|\_s*O\_s*\%(\_s*\_s*h\|\_s*b\_s*V\_s*\)\|b\_s*`\|\_s*\%([\|\_s*\_s*O\|t\_s*H\_s*\|z\_s*\)\|O\_s*W\_s*\%(b\_s*g\|X\_s*g\)\|N\_s*\%(X\|A\_s*\_s*e\_s*B\)\|X\_s*t\_s*@\_s*n\_s*\|\_s*[A]\|\_s*\%([\_s*\%(X\|U\_s*[\|T\_s*[\)\|C\_s*\%(\|U\_s*[\|T\_s*[\)\|u\_s*\)\)\|E\_s*\%([\|W\_s*F\_s*[\_s*k\)\)', \ 'f' : '\%([[ΉM֓~y`[脟T͈j͊ȎD^J㬐䔕bXʙ앶|tyMD⁃៻᳍ĘWoK敖lᆕp̐k⿕谌ꄜPi霝c񕥕huCcޔX܊ܕtewtXsb•z|ޘwt]АU㧘Vo\vؕH~[nDҕByGzot{ܕݍ~DYu@缕S䘔Y}䎙ʖ|ӂŚx܋ŕU󕤕FUӄtf]\|\_s*\|b\_s*t\|\_s*\|\_s*\|A\_s*X\|\_s*\|\_s*\|E\_s*u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\_s*\|\_s*i\|}\_s*\_s*\|C\_s*f\|\_s*\%(C\|\_s*[]\)\|_\_s*\|\_s*C\|\_s*\|\_s*\|\_s*\|\_s*~\|\_s*c\|M\_s*y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*[R]\|\_s*t\|B\_s*u\_s*d\_s*d\_s*l\_s*e\_s*j\_s*a\_s*c\_s*e\_s*a\_s*e\|k\_s*\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|Q\_s*[l“]\|h\_s*\|2\_s*\%([l“]\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|~\_s*~\_s*~\|\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*o\|I\_s*r\_s*o\_s*n\|\_s*\_s*\_s*\|_\_s*\_s*\|`\_s*\|z\_s*\%(\_s*C\_s*G\|C\_s*\|\_s*\%(}\_s*\%(\_s*g\|\_s*\)\|\_s*A\_s*\%(~\_s*h\|\_s*f\_s*q\_s*h\)\)\)\|\_s*t\|\_s*\|@\_s*\\|\_s*\_s*\|C\_s*\|q\_s*\%(\|\_s*[\_s*[Y]\)\|P\_s*\%(^\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*1\_s*v\_s*f\|\_s*s\|n\_s*\%(G\|\_s*u\_s*\|\_s*\)\|_\_s*\_s*\|e\_s*\%(P\|J\_s*b\_s*v\|^\_s*C\_s*v\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\_s*\)\|\_s*g\_s*\|G\_s*t\)', \ 'g' : '\%([EDĉ愍܍ΌᘭՖ@W龚oXߔ쐺nS΍ᴊrc穚ꇟ|ߍ@ᛈ䲎ތTɌ党I⺌Ɍw5ݒܝzqxZߟ驌Q|k⚔nj}~|YꖚPÊqFῌVȌRZĂC푐򕳕ȍIqƑ䣌΋X{j㸌SQRԋHFٕOh[g炮ߌNۋًҚ⚝f耋ʋꟋČCz邙F‹ƋŋÍsኋstC`UZ؋Wً]bXV^E㺙Eaa[cV~؞Fซ\E鰋_Y雎_Wd᥍mAԐ݊v瑤ʊŌ꓁^`eq寊IP}djkhG_~팵ћǘݙʊہ꜋܊ߌ猎怞ْ՚罛|{Ӝԙkzx{ywGUN᳜ȟ򛻈RPn᫊YPKw䈊HVQZSXMTW[O㛴䃖Abϊ|M`PGؙމʉ딃a͉䮏ɉ惕ꏟ@⁄KSԃ҃ăσǃӃуɃ̓˃Ճփƒ΃ÃЃƃŃȃ̃ʃMOQsCg]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[SQOMK]\|\_s*[]\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*~\|\_s*\|\_s*y\|P\_s*e\_s*r\_s*s\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*s\_s*\|\_s*q\|H\_s*\|\_s*\|\_s*\_s*\|~\_s*\|i\_s*\%([ԉ]\|V\_s*\)\|P\_s*\_s*\|]\_s*\%([ÌΏB]\|k\_s*\)\|\_s*[`]\|\_s*\|w\_s*\|i\_s*F\|\_s*\|\_s*\|m\_s*\|\_s*\|\_s*[]\|\_s*[ō]\|\_s*\|\_s*E\|\_s*\|~\_s*\_s*\_s*F\|H\_s*\|\_s*[Սi]\|g\_s*@\|\_s*\|{\_s*\|\_s*\%([알]\|Z\_s*\)\|\_s*\%([@]\|s\_s*\_s*\|\_s*\_s*@\)\|A\_s*g\|S\_s*\%(c\_s*r\_s*o\_s*p\_s*h\_s*u\_s*l\_s*a\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*m\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|i\_s*l\_s*v\_s*e\_s*r\)\|\_s*c\|\_s*\_s*J\|\_s*t\|L\_s*q\|Y\_s*\|\_s*\|\_s*\|T\_s*y\_s*p\_s*a\_s*l\_s*e\_s*s\|\_s*[]\|\_s*\_s*\|\_s*\|\_s*q\|\_s*^\|b\_s*\|\_s*\|k\_s*[\|f\_s*\%(n\_s*q\_s*n\|a\_s*\_s*\_s*\|\_s*\|J\_s*b\_s*v\|^\_s*C\_s*v\|X\_s*|\_s*b\_s*g\|p\_s*\|\_s*\_s*\)\|j\_s*\_s*[\_s*Y\|m\_s*[\_s*\|\_s*i\_s*\_s*\|A\_s*\_s*\_s*R\_s*\_s*i\_s*\_s*\|q\_s*\|N\_s*b\_s*p\|\_s*q\|n\_s*{\_s*\_s*[\_s*l\|\_s*\|G\_s*[\_s*e\_s*{\_s*\|\_s*[\_s*e\_s*{\_s*\|C\_s*F\_s*\%([\_s*e\_s*{\_s*\|e\_s*{\_s*\)\|\_s*\|G\_s*\%([dae]\|o\_s*m\_s*o\_s*r\_s*t\_s*e\_s*g\_s*a\_s*c\_s*e\_s*a\_s*e\|M\_s*\%(T\|D\_s*(\_s*G\_s*e\_s*r\_s*m\_s*a\_s*n\_s* \_s*N\_s*a\_s*t\_s*i\_s*o\_s*n\_s*a\_s*l\_s* \_s*R\_s*e\_s*s\_s*e\_s*a\_s*r\_s*c\_s*h\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\_s* \_s*f\_s*o\_s*r\_s* \_s*C\_s*o\_s*m\_s*p\_s*u\_s*t\_s*e\_s*r\_s* \_s*S\_s*c\_s*i\_s*e\_s*n\_s*c\_s*e\_s*)\)\|\_s*\|C\_s*L\|c\_s*c\|J\_s*b\_s*v\|^\_s*C\_s*v\|X\_s*|\_s*b\_s*g\|p\_s*\|P\_s*L\|n\_s*u\_s*s\|I\_s*\%(N\_s*A\_s*(\_s*t\_s*h\_s*e\_s* \_s*G\_s*e\_s*n\_s*e\_s*r\_s*i\_s*c\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*t\_s*i\_s*v\_s*e\_s* \_s*A\_s*p\_s*p\_s*l\_s*i\_s*c\_s*a\_s*t\_s*i\_s*o\_s*n\_s*)\|F\_s*\%(t\_s*@\_s*C\_s*\|A\_s*j\_s*\)\)\|U\_s*I\|N\_s*U\|O\_s*T\_s*C\_s*\|E\_s*T\_s*\_s*\\_s*b\_s*h\)\|w\_s*\%(\_s*\_s*h\|\_s*}\_s*\)\|h\_s*C\_s*c\|\_s*g\_s*v\_s*\|[\_s*\%(\_s*\%(`\_s*\|j\_s*E\_s*\)\|\_s*N\_s*\_s*b\_s*v\|m\_s*A\|\_s*g\_s*\_s*}\_s*\|l\_s*\%(R\_s*\|\_s*\%(\|\_s*X\_s*g\)\)\)\|\_s*\%(\|w\_s*@\_s*\)\|W\_s*\%([WOmiI[]\|v\_s*V\_s*[\|A\_s*\|C\_s*h\|b\_s*h\|^\_s*\|[\_s*\|\_s*A\_s*\|\_s*b\_s*g\|S\_s*\|\_s*\%(t\|\_s*\%(h\|f\_s*B\_s*[\_s*m\)\)\|\_s*\%([\|\_s*h\)\|o\_s*\_s*V\_s*[\|u\_s*\%(\|\_s*\_s*^\_s*\)\|x\_s*\%(\_s*i\_s*E\|\_s*\_s*\)\|l\_s*b\_s*g\|\_s*\%(b\_s*g\|\_s*@\_s*\_s*[ji]\|o\_s*\_s*[ji]\|R\_s*\%([\_s*\\|\_s*_\)\|\_s*\%(W\|_\_s*[\_s*m\)\|[\_s*\%(W\|[\_s*b\_s*g\)\)\|\_s*\%(\|C\_s*\%(\|\_s*Y\|A\_s*\_s*[cg]\)\|R\_s*\%(\|\_s*b\_s*e\_s*B\)\|[\_s*}\_s*\)\|j\_s*[\|\_s*\%([l]\|[\_s*b\_s*y\|\_s*\%(A\|[\_s*j\|G\_s*b\_s*^\)\|k\_s*\%(\_s*B\_s*G\_s*[\_s*\|r\_s*G\_s*[\_s*u\)\)\|F\_s*\%([t}l]\|X\_s*`\_s*\_s*[\|\_s*j\_s*\|\_s*\%([\_s*[gh]\|\_s*\%(h\|f\_s*B\_s*\|_\_s*C\_s*\)\)\|~\_s*j\|j\_s*[\|m\_s*\%([Ao]\|\_s*@\|\_s*[\_s*Y\|T\_s*C\_s*h\)\|\_s*\%(}\|g\_s*\%(\|\_s*[B[]\)\|_\_s*[\)\)\)\)', \ 'h' : '\%([Η䀞LN{wʔMܖSŖyj壌uׁ󜓏c]Kg֚\✖{xjcəᬖpW_I•qNuYږQ}䚑N闈{BPaHKAOfDG̜dMOEvLC󝻝eMіkM~O۝eY_@ꅜƕnܒ䐤s̕JK療͌zu`œLKHQQɕE憕wǝ́ݕՕxҝG⍖ݛQayْ؛i͕Ûz˕rǕ•wӗˌ粂̞[Ή։A~y`[脟TǏ͈͊ȎD^J㬐䔕bX䎟앶|tyMD⁄៻᳘WoBK敖lᆕp̐k⿕谌ꄜi霘ŕFӋhuⷁޔX܊ܕtewtXsb•|ޘwt]АU㧕o\vؕH~[nҕByGzot{ܕݍ~DYu@缕SxY}V_~QPcݕAS鯝ۏGG哘ǝ|ጄՉ颕Eh_jkl㏟qoĕnpmgi׋ʕfgRʒIJ@Pv尗zh啸Ǐd֐ċϏdΒPՓƑml1PuഁH͏ݝfە\PFЍt鷑MJ焕SАZOznIQT䊌QP㟋qWjGEgϏEShꤊmOG[T_ALѕNDJLCȊlJC捍rMKu蹕UH~q镕VIgjG^Y~Z֙d[ߕ]W\{_uyiw]DgKΓ唛E࿙`ݔߔBეBɞw혡鏊]X翔枈O澊|瀔OʎzjHԌ㔈墏Ȑ[OXJyّj}݋Еoޝ؏՛ދ@@Tmה喗IjYDscPĔJ`e]똟ƈnnG|FɐꡗIzyt妝ppSǗ|杙br@؉瞖zdXxX򒌑\➁^⦔鼏Rx펾њ虊MߍϔAǝ唏Rdʌv}є`ڔ񏉘o@WIᢔ@輔u̝ڛuvi`ғt\ECpBᓔxoޔywWprqsDzW֞N崔Νםa⛔JÍ➷^䗖}ፖ|YK唺Ϟ͔ٔ㆔הєŔǍʔƔɔ̔ĔД_lfHǒpțfՔb▗t攇jƞPJcyUhHʔef蘒[঎cΜ͔mƜꏐndډhޑ|\㵐i͂g]tqzwnh]\|\_s*[]\|b\_s*[zwtqn]\|\_s*[قւӂЂ]\|\_s*\|q\_s*K\|\_s*\|\_s*\|m\_s*[FC]\|\_s*}\|\_s*[ΐ]\|\_s*{\|S\_s*\|_\_s*\|p\_s*K\|\_s*\_s*F\|g\_s*[]\|T\_s*r\_s*i\_s*u\_s*r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*@\|a\_s*\|\_s*q\||\_s*\%(\\|\_s*\)\|\_s*\|\_s*q\|\_s*\|\_s*\|\_s*Z\|\_s*\|c\_s*l\_s*a\_s*u\_s*s\_s*t\_s*r\_s*o\_s*p\_s*h\_s*o\_s*b\_s*i\_s*a\|\_s*\|\_s*\|\_s*\|E\_s*\%(r\_s*i\_s*o\_s*c\_s*a\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\|u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\%(\_s*\|\_s*\)\|\_s*i\|\_s*C\|\_s*\|\_s*\|\_s*\|\_s*~\|f\_s*\%(o\_s*r\_s*t\_s*e\|e\_s*m\_s*t\_s*o\)\|\_s*[R]\|\_s*t\|k\_s*\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|h\_s*\|\_s*\_s*\|~\_s*~\_s*~\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\|]\_s*c\_s*\|\_s*\|\_s*I\|\_s*\|\_s*\_s*\|\_s*@\|_\_s*[]\|I\_s*\|\_s*\|i\_s*a\|\_s*\|\_s*\%([lo]\|\_s*o\_s*\)\|\_s*\|\_s*\|f\_s*\|\_s*V\_s*q\|_\_s*[]\|\_s*l\|\_s*[ƁX]\|\_s*\_s*\%(\|\_s*\)\|A\_s*\%(s\|r\_s*s\_s*e\_s*n\_s*i\_s*c\|n\_s*g\_s*i\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\|\_s*f\_s*]\|\_s*\_s*\|\_s*[c]\|\_s*\|\_s*[B]\|\_s*\|\_s*\_s*\|h\_s*\|K\_s*W\|\_s*[js]\|e\_s*\|W\_s*\|\_s*q\|\_s*q\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|n\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|`\_s*\|\_s*\|N\_s*e\_s*l\_s*u\_s*m\_s*b\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|o\_s*\_s*|\|\_s*E\|\_s*\|\_s*[]\|y\_s*[t]\|q\_s*[fC]\|\_s*t\|\_s*\_s*l\|\_s*\|x\_s*q\|\_s*J\|\_s*\_s*\|Z\_s*\|\_s*\|\_s*]\|K\_s*[q]\|{\_s*\%(\_s*\|\_s*\)\|E\_s*[l]\|\_s*s\|w\_s*\|2\_s*\%([l“]\|\_s*\|0\_s*\)\|Q\_s*\%([l“]\|O\_s*[Γ]\)\|W\_s*|\|8\_s*\|q\_s*\|P\_s*\%(t\|o\_s*t\_s*a\_s*m\_s*o\_s*g\_s*e\_s*t\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*t\_s*i\_s*n\_s*u\_s*m\)\|C\_s*\%([if]\|\_s*\_s*\|f\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|R\_s*S\_s*I\|M\_s*\%(y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*c\_s*u\_s*r\_s*y\)\|F\_s*\|\_s*a\_s*_\_s*\|E\_s*[\_s*S\|\_s*\%([\|y\_s*[\_s*\|x\_s*[\_s*\|C\_s*X\_s*}\_s*\_s*X\|S\_s*[\|O\_s*m\_s*[\|}\_s*j\_s*\%(e\|X\_s*[g]\)\)\|\_s*\|\\_s*Z\_s*i\_s*\|\_s*\|\_s*`\|C\_s*\%(_\_s*\_s*S\|X\_s*p\_s*j\_s*A\|\_s*[\_s*\|G\_s*\)\|g\_s*\%(\|J\_s*b\_s*v\|\_s*\_s*\_s*\_s*\|\_s*\%(W\|a\_s*\_s*\_s*\)\)\|I\_s*\%([[]\|i\_s*[\|m\_s*\|\_s*t\_s*\_s*[\_s*\|l\_s*\%(X\_s*\%(g\|e\_s*B\)\|Q\_s*\)\|e\_s*\|\_s*K\_s*[\|}\_s*[\_s*W\_s*\)\|A\_s*\%(\_s*\%(\|x\_s*[\_s*\)\|l\_s*X\_s*g\|\_s*[\|_\_s*}\_s*[\_s*\|V\_s*F\_s*b\_s*g\|r\_s*^\_s*V\_s*I\_s*\|[\_s*\%(l\_s*X\_s*g\|m\_s*\_s*N\_s*[\_s*\)\)\|G\_s*\%(f\_s*B\|\_s*\_s*P\|\_s*\%(i\|[\_s*k\)\|\_s*C\_s*[\_s*Y\|N\_s*g\_s*\|\_s*\%(Q\_s*\|\_s*F\|\_s*X\|}\_s*\|~\_s*\%(b\_s*g\|[\_s*g\)\|u\_s*\_s*\|i\_s*\_s*f\_s*X\|L\_s*\_s*[\_s*\)\|m\_s*N\|b\_s*`\|C\_s*`\)\|H\_s*\%([fsPeo]\|i\_s*m\_s*a\_s*n\_s*t\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|J\_s*b\_s*v\|T\_s*\%(M\_s*L\_s*t\_s*@\_s*C\_s*\|T\_s*P\_s*T\_s*[\_s*o\)\|D\_s*D\_s*\_s*R\_s*[\_s*_\_s*[\|u\_s*r\_s*d\|a\_s*\%(s\_s*s\_s*i\_s*u\_s*m\|f\_s*n\_s*i\_s*u\_s*m\|w\_s*a\_s*i\_s*i\)\|y\_s*\%(p\_s*e\_s*r\_s* \_s*T\_s*e\_s*x\_s*t\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|d\_s*\%(n\_s*o\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|r\_s*\%(a\_s*s\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|o\_s*\%(s\_s*t\_s*a\_s*c\_s*h\_s*y\_s*d\_s*a\_s*l\_s*e\_s*s\|g\_s*e\_s*n\)\)\)\)\)\|\_s*[╽f]\)', \ 'i' : '\%([ʼn~ꍘcUTn翔䑌폒恍ݍrxÉj囚|dQU|軗ƑBd{佈S\嫉䆍mnؐFAtF泌ÌމLdƜјJiꌒՕakvɔžo֌yME|ځe퐈M臐YOΖZ}xא򌵉MՁO䗚P{b~N}zcct硉Ɏ䕟JsW]bK\Tฐ]rmПȈZԈTMΚÉCm覉@uBAAޛjHوΊֈYÈ1PDyIDR۔џʈዏHƍ֋Uhwψ͉]}ubv]Ό≝gМ@ES盈BΟݑPR҈ȊՉUגߛߘߛږˆ̈،܈Η͜}Ėˈԍs਒_ˑޗǓo֗DK~䏈ӈۈ؈ًїeXJzˁɂD聿hCIDŽyi]\|E\_s*\_s*[\_s*\|a\_s*\|J\_s*u\_s*n\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*R\|c\_s*J\|\_s*\_s*\|c\_s*\|G\_s*s\|\\_s*Z\_s*\|Q\_s*q\|G\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*G\|\_s*\|\_s*t\_s*\|5\_s*[“]\|T\_s*[“]\|\_s*E\|r\_s*U\|\_s*\|\_s*Y\|\_s*[\|\_s*\|~\_s*\|\_s*\_s*\|{\_s*\|o\_s*\|\_s*g\|Y\_s*[q]\|h\_s*[‘]\|@\_s*\|U\_s*r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|E\_s*[cR]\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|a\_s*\|d\_s*\%(`\_s*r\_s*s\|u\_s*d\)\|C\_s*\|w\_s*h\|\_s*\|]\_s*[oZ]\|\_s*\|K\_s*{\|\_s*q\|_\_s*\|\_s*\_s*\|\_s*r\_s*\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|\_s*\|r\_s*\|s\_s*\_s*\|o\_s*[E]\|\_s*[Wk]\|C\_s*[؎Q]\|\_s*\\|\_s*\_s*[ΒY]\|_\_s*F\|e\_s*\|p\_s*\%(\|g\_s*\)\|\_s*\_s*\|\_s*\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|\_s*[]\|<\_s*=\_s*=\_s*>\|K\_s*v\_s*\\_s*\_s*\_s*\|\_s*\|\_s*{\_s*A\_s*C\_s*E\_s*r\_s*[\_s*E\_s*G\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\_s*w\|W\_s*\_s*\_s*@\_s*\\)\|t\_s*\_s*U\_s*t\_s*[\_s*\_s*G\_s*\_s*\|\_s*\_s*q\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*^\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|A\_s*[\_s*@\|\_s*\_s*\|s\_s*\%([”@]\|[\_s*\)\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*S\|\_s*\%(A\_s*\|V\_s*t\|[\_s*h\|E\_s*f\)\|I\_s*\%([rPn]\|R\_s*Q\|J\_s*b\_s*v\|C\_s*\%(^\_s*O\|`\_s*b\_s*v\|J\_s*[\_s*h\)\|l\_s*l\_s*i\_s*n\_s*o\_s*i\_s*s\|S\_s*\%(O\|B\_s*N\_s*\%(\_s*\|R\_s*[\_s*h\)\|A\_s*o\_s*X\)\|d\_s*a\_s*h\_s*o\|D\_s*\%(J\_s*[\_s*h\|E\_s*\%(h\_s*\_s*C\_s*u\|f\_s*o\_s*C\_s*X\|P\_s*[\_s*u\_s*\|R\_s*\_s*g\_s*\_s*[\_s*\)\)\|^\_s*[\_s*\|T\_s*\%(V\_s*X\_s*e\_s*\|o\_s*u\_s*\)\|o\_s*\%(w\_s*a\|d\_s*i\_s*n\_s*e\)\)\|A\_s*\%(C\|[\_s*\%(\_s*B\_s*\|r\_s*\)\|\_s*\%(v\_s*\_s*\_s*v\_s*\%(`\_s*\|e\_s*\)\|f\_s*p\_s*\_s*_\_s*\|t\_s*H\_s*\_s*\%(\_s*\|}\_s*e\_s*B\_s*[\_s*N\)\)\)\)', \ 'j' : '\%([󓈎ȓǎwxHÛKHԘᶙbiu@vސnՉ`rxosqwptlŏғ䴞`䥝募tJ珊RPԟiUㅏ{o媝mh鈐YtY竐jg@Ïꏗ`~]吷꞊󝵏GAژhGQ榜휵@uQxhmnpqmm⢙Ï|⡓՟~[x{䤏zy}}汎GEsn𘸏^F_`Oca_Y[b]\Zedm莣^y~iJ玎Ȓn􎤎~ImVkqHjaZd䢎mݝ苎Ҏ׋YlDuE`_vFJWzj]\|\_s*\_s*\|b\_s*W\|\_s*\|G\_s*\%(\_s*\|p\_s*\)\|Z\_s*\%(r\|i\_s*r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\)\|D\_s*y\|f\_s*\%(\_s*\|p\_s*\)\|x\_s*x\|\_s*\|c\_s*\_s*\%(\_s*\|c\_s*\)\|Q\_s*\|2\_s*\|\_s*q\|b\_s*\_s*\_s*\_s*\_s*\_s*M\_s*h\_s*p\_s*\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|[\_s*\%(\|\_s*\)\|`\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|R\_s*l\|y\_s*_\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*r\_s*\|\_s*v\|\_s*\|\_s*\|\_s*\|\_s*[@S]\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*q\|\_s*\|P\_s*\%(Q\|O\_s*[i]\|P\_s*\|U\_s*i\|W\_s*\)\|t\_s*\|\_s*\|R\_s*\|1\_s*\%(0\|1\_s*\|8\_s*\|2\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|O\_s*\_s*\|\_s*\|G\_s*\|\_s*\|\_s*q\|\_s*\_s*\_s*\_s*\|[\_s*\_s*[\|G\_s*\%(z\_s*o\|\_s*R\|\_s*~\_s*\|\_s*T\_s*\_s*\|b\_s*T\_s*C\)\|w\_s*\%(\_s*X\|X\_s*X\)\|q\_s*\_s*l\_s*X\|`\_s*Q\|k\_s*\_s*\_s*[\_s*\%(\|\_s*w\_s*Z\_s*p\_s*\_s*w\_s*@\_s*\_s*w\)\|n\_s*\%(C\_s*\|\_s*y\_s*[\_s*j\_s*\)\|\_s*\|\_s*\%([ji[]\|C\_s*\|G\_s*\|\_s*m\|\_s*h\|k\_s*\%(X\|V\_s*\)\|X\_s*p\_s*[\_s*X\|R\_s*[ru]\|b\_s*P\)\|t\_s*\%(@\_s*[i]\|\_s*[IA]\)\|J\_s*\%(R\_s*\_s*\_s*{\|\.\_s*S\_s*\.\_s*\%(o\_s*b\_s*n\|B\_s*a\_s*c\_s*h\)\|\_s*[\_s*O\|J\_s*b\_s*v\|C\_s*B\_s*J\_s*[\_s*h\|-\_s*P\_s*O\_s*P\||\_s*b\_s*v\|P\_s*\%(G\_s*t\_s*@\_s*C\_s*\|E\_s*G\_s*t\_s*@\_s*C\_s*\)\|I\_s*S\_s*\%(}\_s*[\_s*N\|R\_s*[\_s*h\)\|a\_s*p\_s*a\_s*n\_s* \_s*A\_s*d\_s*v\_s*a\_s*n\_s*c\_s*e\_s*d\_s* \_s*I\_s*n\_s*s\_s*t\_s*i\_s*t\_s*u\_s*t\_s*e\_s* \_s*o\_s*f\_s* \_s*S\_s*c\_s*i\_s*e\_s*n\_s*c\_s*e\_s* \_s*a\_s*n\_s*d\_s* \_s*T\_s*e\_s*c\_s*h\_s*n\_s*o\_s*l\_s*o\_s*g\_s*y\|A\_s*\%(I\_s*S\_s*T\|N\_s*R\_s*[\_s*h\|V\_s*A\_s*\%(X\_s*N\_s*\_s*v\_s*g\|A\_s*v\_s*\_s*b\_s*g\)\)\|U\_s*N\_s*E\_s*T\)\|Y\_s*{\_s*\|i\_s*\%(Q\||\_s*v\_s*`\_s*u\_s*d\|\_s*[\_s*O\|J\_s*b\_s*v\||\_s*b\_s*v\|h\_s*b\_s*b\_s*o\_s*\|t\_s*\%(r\|m\_s*j\_s*n\)\|\_s*\)\|\_s*\%([n_m]\|\_s*Q\_s*\|[\_s*\%([m]\|Q\_s*\_s*g\|f\_s*B\_s*b\_s*g\)\|\_s*\%(O\|J\_s*[\|P\_s*\)\|s\_s*e\_s*\|b\_s*[JV]\)\|C\_s*\%(G\_s*\%([iX]\|\_s*\%(X\|Z\_s*\)\|Y\_s*X\)\|F\_s*\%(i\|\_s*\%(X\|Z\_s*\|[\_s*\)\|[\_s*K\_s*[\|\_s*\%(N\|T\_s*\_s*\)\)\)\|z\_s*\%([^Z]\|\_s*w\|z\_s*o\|A\_s*\%(\|L\_s*\)\)\|\_s*\%([ui]\|\_s*\%(O\|_\_s*\)\|G\_s*\|A\_s*\%(q\_s*\|L\_s*\)\|[\_s*t\|[\_s*\%([gh]\|f\_s*\|[\_s*t\)\|V\_s*\%(t\|\_s*A\)\|Z\_s*t\|n\_s*[il]\)\)', \ 'k' : '\%([a|єVҜDޏnsߐE}ĈۗⵘᶎsЌfꎖIzEꑍC欉䓚䢐ৎuS}Y┍ɗ`nXMȍ뜝k卭ӍeWEQLm՘i՝Qf肝Kਗ਼Ჟ騟}{㝛ҟL`tiBRH{ൟHs秝nn˝JܔXLJyߛbM褜rRt莘mjE硍hklKᦜnK}֞\囍yෙΜˍxuXSe倘Ji^V@AWGDT`ᩍBԍp]iPIzt_KkOjRwUuPaI|qsmrcDޞJܛwL΍WێЛZÖs烌gםsؑeⰏuČٌ̟]|Vx֒绌я嚙hʉzqnjԌך➳ҔÏ˗Zꉟh@Zes|qWO׏b]{ȌtӘnKPB^_[rK{CՙLٜšw_J]p[iNJyʌ㮛ӌ@ęF鄌Ō|wZDờlc⠞fa犌l_Ϝlg۝kڙ㋜dPnrz壌u殌ek\gbYp]v[RقƔzɟKMzⱟJ㖍򍥛IHEzboxܗADBӏ~B䱌sZY㙬ᯞӛMֈϏvLK@{^Z򏾓^鶔ňʈUÑqC~ܒwo^鿌~GF䇚`p̏LYƌIގԚPMEu{OoӞcHE|―ĜῙ܌JɍCgm؍HᜁvgM˙iwGJrzW__loC∋̛mG摞d~焌N۟A@^ϛlɝhhfkeiD܁ʁI灓}EBWb\WM񁝁{PRUA_G偅XLJd󁃁Z]QFSHOCacVK⁘T^Ɂ[|ၐ򁪁N߁Y䉌s׍@ܞXan݋j~gݜv⯝vRՋڋ[azҝЋی׋؋ы͋ՋӋϋًދԋߋ֋ΉR䐝_蝨⦘c`篋ыNj|y㳛I⸋蝜^t⧜t⁙KÍ⟍[swOvSOvh➍FpZig݋xZNj]䰋񋧋o運dqk髟_pk溂X}t瓌ËuӋyZP|l{vux~}zYMqJƟCPk؋WkdqbHP_bᡚyɌVcڑ限EKYR_眎Mu{GLDIaΊNhXߛ֗WB뛞D؋Q恟㲊韀uHҋSU昊،rrʝuMF^JBQiPXOᘊyNJr݊jƌyĈꁽeAiMʕrPTMvrᚌfjqseghpotrƒb鹜NJDRUğdᥛzpȌڋAԓ雛_Bߗދȋ\Ί͏ۋwdTezJxŌ`ӌ^HȔXR㎎CPqŠ锯閊@Њ|ȁ嶝^艔噞J㹊{歒Se顊j舊sFጐdP}gya`fSWmeO]ݑڙ̛@FOkP\[ಉGh@󓂞Њ~yۍ\}ɐ͘V،~ऐc͌bwuxvXÕLꖊCGKƓC魜SRД߈Kv֓S哑tݓkLSښ湛誝ᙚٚ]d䡜QIvn跏ʜh\frnzyklmkgcstio݉Bvldjߊgqupm嵚W~[ZB͙GrqʟD䠜j珞iƙd^񔐘\X{Ž\箊IؘrH_j~_F׊@EmLGDŊAKJCI䯘Yᷛep՟bNボ錝AQaT㼛㻛fW`c洟a⻝qj鉙ɞ쏁㣟V뙁Mϊ䅟jFrȟ綝mlb˙_xpᒔcAg⭊|}ۚۊ@يΞ؊󊩐ҊȊ@ʊŞ̊ɊƜAL萊ъŠԊ׊ՊĚ^ÊNJ֊͊ϊwxsqPgӊea㞎ʼnؚĝ̎dˉZΓٌq҃斉vqЎx|ۉԌQ|ўh`ܛ嘉]Ǝ؉㟋zɉÈՉʜF荊ЌCa{`ekJm”ޚ썁͉̉ώoז◚DSlόUґݙ͉щݙljӌT旞g~߉惕砌ĉጜƏ戉Č͉ۂ߄VR`iKN~qԃLJK{Pk]\|\_s*[]\|b\_s*[RPNLJ]\|\_s*[q]\|O\_s*\|\_s*\|\_s*\_s*\|\_s*J\|H\_s*\|\_s*\_s*\|\_s*\|\_s*y\|\_s*F\|\_s*\|\_s*\|S\_s*\|M\_s*e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|O\_s*A\_s*\|\_s*u\|\_s*\|\_s*\|S\_s*i\|\_s*\|S\_s*[Z]\|9\_s*[]\|^\_s*{\|Q\_s*O\|\_s*\|\_s*|\|T\_s*\_s*\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|T\_s*\|\_s*\|c\_s*r\_s*e\_s*s\_s*c\|\_s*\_s*\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|Z\_s*\|n\_s*_\|s\_s*q\|B\_s*\|z\_s*n\|\_s*[qV]\|\_s*\|m\_s*F\|\\_s*\|\_s*\_s*\|X\_s*e\|@\_s*\|\_s*s\|\_s*\|f\_s*n\|\_s*\|\_s*z\|G\_s*o\_s*l\_s*d\|A\_s*\%(u\|r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|s\_s*t\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\_s*\|\_s*\|R\_s*\%(h\_s*\%(o\_s*e\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\)\|u\_s*n\_s*u\_s*n\_s*c\_s*u\_s*l\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|a\_s*n\_s*\%(u\_s*n\_s*c\_s*u\_s*l\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*l\_s*e\_s*s\)\)\|\_s*\|e\_s*[]\|o\_s*[]\|j\_s*[]\|{\_s*\|n\_s*\|X\_s*\%([]\|\_s*\)\|\_s*\|\_s*Z\|\_s*q\|\_s*T\|\_s*\|z\_s*\|\_s*x\|R\_s*\%(\_s*q\|z\_s*\)\|j\_s*\|\_s*\_s*\_s*\|}\_s*\|\_s*\%(\|`\_s*\)\|\_s*\|\_s*[]\|\_s*\|V\_s*\%(\|l\_s*\)\|\_s*q\||\_s*\_s*\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|t\_s*\|\_s*r\|\_s*Z\||\_s*\|\\_s*\|]\_s*\|\_s*\|\_s*q\_s*\|\_s*[ay]\|\_s*\|\_s*\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*R\_s*q\|\_s*\|\_s*\|\_s*\|y\_s*\|A\_s*g\|g\_s*\|\_s*t\_s*\|C\_s*\%([ormdfa]\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\|i\_s*r\_s*c\_s*a\_s*e\_s*a\_s*s\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*r\_s*i\_s*u\_s*m\|e\_s*r\_s*c\_s*i\_s*d\_s*i\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\)\|\_s*\%(\|q\_s*\)\|\_s*\|\_s*\|Z\_s*\%(c\|C\_s*\)\|\_s*\|\_s*[{v]\|\_s*\%(\|\_s*s\_s*\_s*\_s*w\_s*Z\_s*p\_s*\_s*w\)\|(\_s*\_s*)\|\_s*q\|\_s*\_s*\|\_s*\|\_s*\|m\_s*\%(\|\_s*\)\|~\_s*\_s*\|o\_s*c\|Y\_s*t\|\_s*[Iv_]\|\_s*_\|B\_s*\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|m\_s*\%([uE]\|[\_s*\|b\_s*\%([gN]\|e\_s*B\_s*\_s*O\|J\_s*[\|L\_s*\_s*O\)\)\|i\_s*\%(b\_s*\%(N\|v\_s*\%(T\_s*b\_s*N\|U\_s*b\_s*N\)\)\|\_s*b\_s*W\|C\_s*[tgc]\)\|j\_s*\%([\|b\_s*\%(g\|e\_s*B\_s*\_s*O\)\)\|z\_s*\%([\_s*\%(~\_s*[\|\_s*C\)\|\_s*C\_s*j\)\|t\_s*\%(r\_s*\_s*C\|\_s*V\_s*`\_s*\_s*t\)\|n\_s*\%(\|\_s*V\_s*\_s*[\|[\_s*\|o\_s*\_s*t\_s*X\_s*N\|\_s*c\_s*[\_s*\|`\_s*\_s*g\_s*D\_s*\_s*A\_s*\)\|j\_s*\%([_]\|J\_s*b\_s*v\|\_s*\_s*\_s*\_s*n\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\)\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|a\_s*p\_s*a\_s*v\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|o\_s*\%(d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\)\)\)', \ 'l' : '\%([HFDB@ႌPQʁ΁́Ƀȃ|Ll]\|\_s*[]\|b\_s*[HFDB@]\|\_s*[]\|t\_s*\|\_s*\_s*2\_s*\_s*@\|\.\_s*\.\_s*\.\|f\_s*F\|\_s*z\|\_s*\|E\_s*G\|\_s*\|w\_s*K\|{\_s*\|\_s*\|_\_s*\|\_s*\%([LCAu{gEXRSO[]\|y\_s*X\|\_s*[\_s*\|G\_s*x\|\_s*\|t\_s*g\|\_s*J\|x\_s*\_s*A\|r\_s*\%([\|\_s*O\|C\_s*\%(X\_s*g\|\_s*O\)\)\|e\_s*B\|T\_s*\_s*\%(W\_s*F\_s*\_s*X\|[\_s*\_s*X\)\|j\_s*[\|N\_s*\_s*A\_s*\|b\_s*\%([W^egN]\|L\_s*\%(\_s*O\|[\_s*h\)\|J\_s*[\)\|J\_s*[\_s*\|P\_s*[\_s*\%([g^]\|V\_s*\_s*\)\|K\_s*[\|M\_s*\_s*O\|W\_s*\%([\|e\_s*b\_s*N\|X\_s*e\_s*B\_s*\%(N\|b\_s*N\)\|J\_s*\|N\_s*[\_s*\|b\_s*[gN]\)\|\_s*\|\_s*\%([SO_]\|{\_s*\%(N\|b\_s*N\)\|o\_s*\_s*f\_s*B\|Y\_s*f\_s*[\_s*\|\_s*[B[]\|W\_s*\|h\_s*\)\|\_s*\%(A\_s*\|b\_s*^\|[\_s*k\|C\_s*\|\_s*\%([\X]\|c\_s*H\)\)\)\|\\\_s*L\_s*a\_s*T\_s*e\_s*X\|k\_s*\%(T\_s*C\_s*Y\|k\_s*T\_s*C\_s*Y\|t\_s*m\_s*`\|\_s*\%(\_s*\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\%(\_s*\|\_s*\|\_s*\)\|\_s*\_s*\|A\_s*s\_s*E\_s*w\|\_s*\%(\_s*\_s*\_s*\|s\_s*\_s*w\|\_s*\_s*\_s*v\_s*\_s*\_s*\_s*\_s*\)\)\|L\_s*\%([DP]\|T\_s*C\_s*Y\|L\_s*T\_s*C\_s*Y\|u\_s*\%(t\_s*e\_s*t\_s*i\_s*u\_s*m\|c\_s*i\_s*d\)\|i\_s*\%(t\_s*h\_s*i\_s*u\_s*m\|s\_s*p\|n\_s*u\_s*x\)\|E\_s*D\_s*\_s*C\_s*g\|e\_s*m\_s*m\_s*a\|o\_s*\%(g\_s*i\_s*c\_s*a\_s*l\_s* \_s*U\_s*n\_s*i\_s*t\_s* \_s*N\_s*u\_s*m\_s*b\_s*e\_s*r\|u\_s*i\_s*s\_s*i\_s*a\_s*n\_s*a\)\|a\_s*\%(w\_s*r\_s*e\_s*n\_s*c\_s*i\_s*u\_s*m\|n\_s*t\_s*h\_s*a\_s*n\_s*u\_s*m\|T\_s*e\_s*X\)\|A\_s*N\)\|\_s*\_s*\|G\_s*\|\_s*\%([BZYUTX_|}imkuA[]\|\_s*}\|\_s*h\_s*\|\_s*\|]\_s*`\_s*[\_s*\|R\_s*\%(\_s*X\|s\_s*\)\|N\_s*[\_s*h\|J\_s*\%([\|I\_s*\)\|W\_s*[[]\|f\_s*[B]\|h\_s*J\_s*C\_s*\|v\_s*g\_s*\|p\_s*[\_s*[\|O\_s*\%(j\_s*\|i\_s*\)\|t\_s*\%([Gg]\|^\_s*[\|e\_s*B\_s*\_s*O\)\|e\_s*\_s*[V]\|`\_s*E\_s*\|\\_s*\%(\\_s*[\_s*\|O\_s*\_s*t\_s*B\)\|^\_s*[\|g\_s*\%([]\|}\_s*X\|A\_s*j\_s*A\|O\_s*\_s*t\|o\_s*\_s*X\_s*L\_s*[\)\|I\_s*\%(^\_s*[\_s*\|l\_s*\)\|~\_s*\%(e\_s*b\_s*h\|b\_s*[^g]\)\|\_s*\%([\_s*W\_s*\|l\_s*\|\_s*`\_s*F\_s*b\_s*\)\|\_s*W\_s*\|L\_s*\%(b\_s*h\|\_s*[\_s*\|e\_s*\_s*\%(X\_s*^\_s*C\_s*\|V\_s*\_s*^\_s*C\_s*\)\)\|G\_s*\%(]\_s*\|[\_s*W\_s*\)\|q\_s*e\_s*\_s*V\_s*\_s*^\_s*C\_s*\|l\_s*\%([A]\|b\_s*g\|[\_s*W\_s*\)\|j\_s*A\|x\_s*\%([]\|\_s*A\|\_s*[\_s*V\_s*\_s*\|\_s*e\)\|r\_s*\%([A[]\|h\_s*[\|\_s*O\)\|\_s*\%([X[]\|u\_s*\_s*\_s*[\_s*i\|\_s*\|h\_s*~\_s*\|N\_s*T\_s*\_s*u\_s*[\_s*\|b\_s*N\|V\_s*A\_s*\|~\_s*G\_s*[\_s*\)\|\_s*\%(C\|\_s*O\_s*E\_s*F\)\|\_s*\%(B\_s*\_s*O\_s*X\_s*g\_s*\|@\_s*\%(v\_s*[\_s*\|C\_s*A\_s*T\_s*\)\)\|o\_s*\%(e\_s*B\|^\_s*\_s*A\_s*\%(\|j\_s*Y\_s*\)\|v\_s*[\_s*\|C\_s*A\_s*T\_s*\)\|b\_s*\%([hsv^N`g]\|X\_s*\)\)\)', \ 'm' : '\%([ӊߝϙ~EぞIJ䈐ЎtuqvUpݑmXޖ\~Җߋ̋bf{eҖٖ۟՟G̞NaCܖS֖іЖҖێ]RkᑔRȖ͕֞G̖ΎrݒWϏږӛRㅖG̎bpcᾖɖ˖ǖȖʝŖҖǖɓzї㸋X}ٖV񛘊[|rm籕S}絓ԘAWp~׏@d⚕ړkJ⥐ĐIßz峒ۚ䖹ٖdQZxxNaDYKICTΗXO̎SZBݜDXL薦ޑْÁvpxzEG⊖ɗΔFaϓrʘH韌ΎM倐ᡞ䪖s{SAQ`֞捐vP閨{FŜ\rVmfOϔ[[p䖣Ȑgϖ▕naῖא\ݟ{fB坏㇓㕓I帑^]ߋ[]HoqhƉMϔ도dhʉqږp鞔C䍕̓h|{Š׈wleCdꠖqxfUXODEBKji~ەבSuҖKwQҖĖĘdG簖ڞ_aJZՖ攉V{顜јԛIԙ\ݖޖ呾GM挫D󏫐m_U䝔nݑԕ]vsҖT֍vږᄐϐ^dșɎG܂򃀁ʁ܁ځ}́΁ށȁ聹偅惢ˁہ́⁈~Ɂ߁݁䁾֖Z|}Ń~Mm]\|\_s*[]\|b\_s*[~}]\|\_s*[߂ނ݂]\|g\_s*[t]\|o\_s*\%([ne]\|\_s*\|\_s*\)\|\_s*o\|\_s*y\_s*\%(\|\_s*\)\|\_s*\%([pen]\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*z\_s*\|k\_s*~\_s*\|\_s*\|\_s*p\|\_s*\|\_s*\_s*\|O\_s*l\_s*e\_s*a\_s*l\_s*e\_s*s\|\_s*R\|\_s*\_s*\|j\_s*E\|\_s*\|\_s*[N]\|n\_s*\_s*F\|t\_s*\|J\_s*\_s*\|v\_s*w\|\_s*\|z\_s*\_s*q\|v\_s*\%([pL]\|`\_s*\|H\_s*q\)\|\_s*\|U\_s*\|6\_s*\|\_s*c\|\_s*w\|\_s*\|\_s*]\_s*q\|\_s*n\|B\_s*\%(e\_s*r\_s*b\_s*e\_s*r\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*o\_s*r\_s*r\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|Y\_s*\|\_s*q\|k\_s*\$\_s*_\_s*{\_s*i\_s*n\_s*f\_s*}\_s*\$\|t\_s*m\|A\_s*\%(b\_s*i\_s*e\_s*s\|p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*r\_s*o\_s*s\_s*t\_s*i\_s*c\_s*h\_s*u\_s*m\)\|R\_s*\|\_s*\|e\_s*\|_\_s*[q`]\|d\_s*\|\_s*\|\_s*\|c\_s*[q]\|3\_s*[“]\|R\_s*[“]\|p\_s*[q]\|\_s*\|\_s*\|c\_s*\|C\_s*[_]zIR]\|P\_s*o\_s*d\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*[Y]\|\_s*s\|[\_s*]\|\_s*\|\_s*\|e\_s*O\|R\_s*u\_s*t\_s*a\_s*l\_s*e\_s*s\|s\_s*\%(\|\_s*[_]]\)\|\_s*l\_s*}\_s*\_s*m\_s*X\|\_s*X\|\_s*\|\_s*\|\_s*\|\_s*[XЎ]\|\_s*\|S\_s*\|\_s*h\|\_s*\|\_s*\|\_s*\_s*\|{\_s*B\|\_s*v\|\_s*[o]\|\_s*\|}\_s*n\|L\_s*o\_s*g\_s*a\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*b\|\_s*m\|S\_s*\%(a\_s*p\_s*i\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|c\_s*h\_s*i\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|C\_s*\%(a\_s*s\_s*u\_s*a\_s*r\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*a\_s*t\_s*o\_s*p\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\)\||\_s*\%(\_s*l\|\_s*\)\|H\_s*a\_s*m\_s*a\_s*m\_s*e\_s*l\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*[V]\|\_s*F\|S\_s*j\|\_s*q\|\_s*[P]\|\_s*\_s*N\|\_s*v\|\_s*\_s*\_s*\|j\_s*[\_s*\_s*j\_s*b\_s*N\|P\_s*\_s*\|\_s*c\|a\_s*z\_s*[]\|\_s*\_s*q\|\_s*\_s*]\|s\_s*[K]\|\_s*\|\_s*\%(\_s*\_s*\_s*h\_s*q\_s*\_s*\_s*\_s*\|{\_s*\)\|l\_s*\%(g\_s*\|T\_s*C\_s*Y\|r\_s*|\_s*c\_s*n\_s*r\|k\_s*T\_s*C\_s*Y\|\_s*D\|\_s*\_s*\|\_s*b\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\)\|v\_s*Z\_s*@\|\_s*\|U\_s*b\_s*w\_s*\_s*\_s*}\_s*]\_s*b\_s*z\|n\_s*s\_s*I\_s*\_s*\|\_s*s\_s*\%(\_s*\|\_s*\_s*\)\|C\_s*m\|\_s*\|\_s*\|M\_s*\%([dgtnOo]\|X\_s*e\_s*\_s*r\|T\_s*C\_s*Y\|S\_s*-\_s*D\_s*O\_s*S\|L\_s*T\_s*C\_s*Y\|P\_s*3\_s*v\_s*\_s*\%([\_s*\_s*[\|C\_s*\_s*[\)\|D\_s*\%(v\_s*\_s*[\_s*\_s*[\|\_s*R\_s*[\_s*_\_s*[\)\|c\_s*C\_s*a\_s*r\_s*t\_s*h\_s*y\|e\_s*\%(d\_s*u\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*l\_s*e\_s*s\|i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*u\_s*m\|t\_s*a\_s*F\_s*o\_s*n\_s*t\|n\_s*\%(y\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|d\_s*e\_s*l\_s*e\_s*v\_s*i\_s*u\_s*m\)\|C\_s*a\_s*b\)\|u\_s*l\_s*e\|A\_s*C\_s*A\_s*h\_s*\_s*X\|a\_s*\%(g\_s*n\_s*\%(o\_s*l\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|e\_s*s\_s*i\_s*u\_s*m\)\|n\_s*\%(u\_s*\%(s\_s*c\_s*r\_s*i\_s*p\_s*t\_s* \_s*E\_s*d\_s*i\_s*t\_s*i\_s*n\_s*g\|e\_s*d\)\|g\_s*a\_s*n\_s*e\_s*s\_s*e\)\|r\_s*y\_s*l\_s*a\_s*n\_s*d\|i\_s*n\_s*e\|k\_s*e\_s*f\_s*i\_s*l\_s*e\|c\_s*\%(h\|i\_s*n\_s*t\_s*o\_s*s\_s*h\)\|s\_s*\%(s\_s*a\_s*c\_s*h\_s*u\_s*s\_s*e\_s*t\_s*t\_s*s\|t\_s*e\_s*r\_s*C\_s*a\_s*r\_s*d\)\)\|i\_s*\%(n\_s*n\_s*e\_s*s\_s*o\_s*t\_s*a\|s\_s*s\_s*\%(i\_s*s\_s*s\_s*i\_s*p\_s*p\_s*i\|o\_s*u\_s*r\_s*i\)\|c\_s*\%(r\_s*o\_s* \_s*S\_s*o\_s*f\_s*t\_s*w\_s*a\_s*r\_s*e\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*s\|h\_s*i\_s*g\_s*a\_s*n\)\)\|I\_s*\%(T\|P\_s*S\|M\_s*D\)\)\|G\_s*\)', \ 'n' : '\%([݃ɏC҈jMlAjfwaXHpLՋH]`kc䊉ѓoьْE{JW@ГTK鑥͋XINӞGcIX^]\_UޔWژZVLqہ|Z‚Țˑ_o^EDJCꋑlXLisMJൔKR_QORNSlPIBQםHqǚ\啼KL刐@zXޓF܍fzGE{DzUѓhƝ^吒SLERP{e֏AEUД@PEɔB轟WstxwZKXfאnE͔DFClʋѐV_a玂QƓ獐m򎗉2OrW㊓ckj›DTlSVQewoԎPYg糕粓Q^垙ĎCΉYّӓHaË[ymܗGXƖČ`Ɖrဗviax܏AE}VΎ̔TRf훕jsϞoo񁽁ˁK⍉֚a[ߝ\rPnTˆbޏLྒྷލ؋S~eȄޖjlʁ`ikmN~n]\|\_s*\|\_s*q\|\_s*\|x\_s*U\|\_s*\_s*\|\_s*\_s*\|T\_s*[|]\|\_s*C\|t\_s*\|g\_s*[C]\|j\_s*[]\|\_s*]\|L\_s*\|\_s*\|F\_s*q\|\_s*[@q]\|P\_s*q\|\_s*q\|\_s*\_s*\|h\_s*V\|q\_s*|\|\_s*\_s*\|\_s*\_s*\|m\_s*\|\_s*\|\_s*\|\_s*\|\_s*]\_s*q\|_\_s*\|\_s*P\|I\_s*I\_s*\|^\_s*\|\_s*\|\_s*\| \_s*2\_s* \_s*\_s*\_s*\|M\_s*y\_s*r\_s*i\_s*s\_s*t\_s*i\_s*c\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\%(f\|\_s*\)\||\_s*\|\_s*|\|\_s*T\|s\_s*[]\|P\_s*b\|L\_s*e\_s*a\_s*d\|C\_s*[ۑl]\|C\_s*\%(e\_s*l\_s*a\_s*s\_s*t\_s*r\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*r\_s*y\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*\%(\_s*\|\_s*\)\||\_s*\_s*\|7\_s*[]\|\_s*\|n\_s*k\|\_s*\|s\_s*\|\_s*\_s*X\_s*g\|T\_s*h\_s*e\_s* \_s*N\_s*e\_s*t\_s*w\_s*o\_s*r\_s*k\_s* \_s*I\_s*n\_s*f\_s*o\_s*r\_s*m\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\|S\_s*o\_s*\%(l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|d\_s*i\_s*u\_s*m\)\|R\_s*\|t\_s*H\_s*\_s*E\_s*m\_s*C\_s*}\_s*\|\_s*[\_s*m\_s*b\_s*V\_s*\_s*E\_s*t\_s*H\_s*\_s*E\_s*m\_s*C\_s*}\_s*\|I\_s*\_s*\_s*_\|A\_s*\_s*\_s*J\_s*l\_s*b\_s*g\_s*\_s*[\_s*N\|\_s*\|\_s*_\|m\_s*\%([_n]\|N\_s*B\_s*[\_s*\|\.\_s*x\_s*\.\|\_s*\_s*\_s*\|h\_s*e\_s*s\_s*x\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\%(w\_s*s\|\_s*\_s*\_s*\|\_s*|\_s*i\_s*\_s*\_s*\_s*\_s*\|v\_s*r\|\_s*\_s*\_s*\)\|d\_s*\%(\_s*\_s*\_s*\|s\_s*\_s*\_s*\_s*\)\|\_s*\%(D\|v\_s*\)\)\|\_s*z\_s*\|\_s*\|\_s*\|N\_s*\%([dpbaeoi]\|R\_s*Z\_s*I\|-\_s*g\_s*r\_s*a\_s*m\|G\_s*\_s*[\_s*h\|H\_s*K\_s*\%(z\_s*[\_s*\|\_s*W\_s*I\)\|T\_s*T\|Y\_s*_\_s*E\|U\_s*L\_s*L\|A\_s*S\_s*A\|E\_s*\%(C\|p\_s*o\_s*c\_s*h\|m\_s*a\_s*c\_s*s\)\)\|\_s*f\|G\_s*k\)', \ 'o' : '\%([ݜbSMoNOÌQjwdЊdYnnx遌ssና{≬ݕLڜP؋y߁WSVTRUXy􋳙{E⫝e}tcC筞[҉x^拑`q`ƊxsN˗uBbdeȊe퐊Kȉ򚙁aCO݈җ㱕zv\dʋUK{|wS^g]㠟iҜ}Dᜳ[aQ_NRVMן^q቉rSB蜊׉Wꉞʜ䉆WTgEcTٖQPѕ}ʼnY[”uN|ǛܚǕĐDVEjvɋNOj؟Ɍ䏏֒Y~щI偝aɁJÓփIo]\|\_s*\_s*\_s*\|\_s*p\|\_s*u\|\\_s*\_s*\|S\_s*\|C\_s*\_s*C\_s*\|\_s*\|\_s*@\|\_s*\|\_s*\_s*\|\_s*\|n\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\|T\_s*[]\|\_s*[q]\|f\_s*[]\|\_s*[]\|H\_s*\|\_s*\|\_s*C\|G\_s*u\_s*t\_s*t\_s*i\_s*f\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|D\_s*i\_s*l\_s*l\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|H\_s*y\_s*p\_s*e\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*p\|\_s*[q]\|\_s*N\_s*\|{\_s*\_s*\|\_s*\|\_s*b\|A\_s*l\_s*i\_s*s\_s*m\_s*a\_s*t\_s*a\_s*l\_s*e\_s*s\|K\_s*\|\_s*l\|\_s*c\|C\_s*o\_s*p\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|o\_s*\_s*U\_s*\%(\|\_s*\)\|\_s*m\|\_s*\|\_s*]\|\_s*g\|\_s*\|\_s*\_s*\_s*P\|A\_s*[zn]\|\_s*[H]\|}\_s*\|\_s*F\|w\_s*n\_s*}\|\_s*\|z\_s*[imqx]\|\_s*\|c\_s*[_]\|\_s*O\|]\_s*c\_s*[ꕃ]\|\_s*[~C]\|\_s*\%(c\|\_s*\_s*\|\_s*V\_s*c\)\|\_s*\|\_s*[G]\|\_s*\_s*\|\_s*m\_s*\_s*\_s*\_s*\_s*\.\|G\_s*[]\|t\_s*h\_s*e\_s* \_s*O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*a\_s*n\_s*a\_s*g\_s*e\_s*m\_s*e\_s*n\_s*t\_s* \_s*G\_s*r\_s*o\_s*u\_s*p\|\_s*\_s*d\_s*@\|E\_s*\|\_s*~\|E\_s*\%(B\|[\_s*\%(Y\|\_s*\)\|\_s*{\_s*\_s*X\)\|o\_s*\|A\_s*\%(\|U\_s*[\|E\_s*\%([`g]\|^\_s*[\)\)\|\_s*{\_s*\\_s*t\_s*g\_s*E\_s*F\_s*A\|\_s*\%(\_s*[N]\|\_s*\)\|\_s*\|\_s*\_s*\|_\_s*\_s*a\|\_s*\_s*\|\_s*\_s*_\_s*f\_s*j\_s*\_s*\|`\_s*\_s*\|\_s*K\_s*\|n\_s*\%([r^]\|q\_s*d\|\.\_s*j\_s*\.\|r\_s*X\|\_s*\_s*O\|\_s*\_s*\_s*\%(k\_s*\_s*\_s*\|v\_s*\_s*\_s*\_s*\_s*\_s*\)\)\|\_s*\|\_s*Z\_s*q\|\_s*\|_\_s*f\|O\_s*\%([^rsS]\|h\_s*i\_s*o\|k\_s*l\_s*a\_s*h\_s*o\_s*m\_s*a\|b\_s*j\_s*e\_s*c\_s*t\_s*-\_s*O\_s*r\_s*i\_s*e\_s*n\_s*t\_s*e\_s*d\|O\_s*\%(D\_s*L\|P\_s*L\)\|M\_s*R\_s*O\_s*N\|A\_s*N\_s*\_s*[\_s*i\_s*[\|C\_s*R\_s*\\_s*t\_s*g\|r\_s*e\_s*g\_s*o\_s*n\|''\_s*R\_s*e\_s*i\_s*l\_s*l\_s*y\_s* \_s*J\_s*a\_s*p\_s*a\_s*n\|\_s*\_s*O\|p\_s*e\_s*n\_s*W\_s*i\_s*n\_s*d\_s*o\_s*w\|x\_s*y\_s*g\_s*e\_s*n\)\)', \ 'p' : '\%([BC@{sܕەy~Օҕ糕ѕ粛ؕzCUߕ[iᢔpoǕƔŔ•zusvtjHgdςՂҁ}{ՃӄkDE_v|Łji݁aypPӃ΃sp]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[|yvsp]\|\_s*[ۂ؂Ղ҂]\|\_s*\|\_s*l\_s*\|\_s*\|O\_s*[ID]\|\_s*\|\_s*R\|\_s*D\_s*\|\_s*\|\_s*`\|\_s*\|\_s*\|\_s*q\|b\_s*\%(\|\_s*n\)\|C\_s*y\_s*c\_s*l\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|S\_s*y\_s*n\_s*a\_s*n\_s*t\_s*h\_s*a\_s*e\|r\_s*\|B\_s*r\_s*o\_s*m\_s*e\_s*l\_s*i\_s*a\_s*l\_s*e\_s*s\|L\_s*e\_s*a\_s*d\|\_s*[Ž]\|V\_s*\%(\_s*[\_s*h\|\_s*V\_s*r\_s*\)\|T\_s*\%([\_s*\|C\_s*\%([YNPR]\|\_s*V\_s*r\_s*\|\_s*E\_s*\|L\_s*b\_s*N\)\)\|+\_s*\|z\_s*\%(\|X\_s*Q\_s*\)\|q\_s*\_s*|\_s*\|\_s*\%(z\|\_s*o\)\|t\_s*\%(\_s*W\_s*A\_s*\|\_s*\%(C\_s*W\_s*\_s*O\|[\_s*\%(Y\|W\_s*\_s*O\)\)\|^\_s*\_s*C\_s*\|H\_s*\%([[mg]\|{\_s*X\|r\_s*A\|X\_s*t\_s*@\_s*[\|j\_s*[\)\|@\_s*\%(C\|\_s*I\|[\_s*\%([W}]\|~\_s*\_s*O\)\|\_s*\%(g\_s*\|^\_s*Y\_s*[}]\)\|\_s*[cX]\|\_s*m\_s*v\_s*V\_s*X\)\|B\_s*\%([]\|W\_s*\%(b\_s*N\_s*X\|J\_s*\)\|[\_s*r\_s*[\|b\_s*V\_s*\_s*O\|\_s*\_s*\|\_s*f\_s*\_s*t\_s*B\_s*A\|\_s*\%([X[Ap]\|b\_s*[vp]\|s\_s*\%(\|[\_s*k\)\)\)\|F\_s*\%([\_s*\%([xY]\|W\_s*\_s*O\)\|C\_s*Y\|\_s*\_s*\|j\_s*\%(\|b\_s*N\_s*X\|L\_s*A\|[\_s*\)\|m\_s*\%(L\_s*V\|[\_s*\)\)\)\|q\_s*\|\_s*\|^\_s*\_s*p\_s*N\_s*\|\_s*\|\_s*\_s*\|i\_s*s\|Z\_s*\|\_s*\|\_s*Z\|\_s*`\|\_s*\|^\_s*\|o\_s*\%(g\|k\_s*@\|b\_s*\%(^\_s*`\_s*s\|X\_s*W\|\_s*f\_s*\)\|\_s*\_s*\_s*r\_s*\_s*\_s*\_s*\_s*\|r\_s*D\|D\_s*r\_s*D\|\_s*\_s*h\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\_s*\)\)\|i\_s*\|J\_s*\_s*E\_s*\|\_s*\_s*\|d\_s*\_s*\|\_s*\_s*^\|o\_s*e\_s*\_s*\|\\_s*\_s*t\_s*\|_\_s*\|\_s*\_s*[a]\|\_s*\|\_s*\|P\_s*\%([umdCaor]\|K\_s*\|D\_s*F\_s*t\_s*@\_s*C\_s*\|R\_s*[\_s*h\|^\_s*C\_s*\|\.\_s*S\_s*\.\|S\_s*\%(\.\|Y\_s*E\_s*S\)\|I\_s*C\_s*}\_s*C\_s*R\_s*\|l\_s*\%(a\_s*t\_s*i\_s*n\_s*u\_s*m\|u\_s*t\_s*o\_s*n\_s*i\_s*u\_s*m\)\|E\_s*T\_s*{\_s*g\_s*\|O\_s*S\_s*\%(V\_s*X\_s*e\_s*\|I\_s*X\|T\_s*\_s*\\_s*b\_s*h\)\|e\_s*\%(r\_s*l\|n\_s*\%(t\_s*\%(o\_s*x\_s*y\_s*l\_s*i\_s*d\_s*a\_s*e\|i\_s*u\_s*m\)\|n\_s*s\_s*y\_s*l\_s*v\_s*a\_s*n\_s*i\_s*a\)\)\|h\_s*o\_s*s\_s*p\_s*h\_s*o\_s*r\_s*u\_s*s\)\)', \ 'q' : '\%([zɟKMz՟J㖍򍥛IHEdzboxܗAϕDCBӊǏ~B䱌sZY㙬ᯞӉOM֌NϏvLK@{^Z򏾓^A鶊rňʈUÑq𞀋C~XVTRUWS܉_wo^鿌~GF䇚`p̏LY۞IȊfsގԚPMEu{[O֞oӍ@󞔐ȓScSHqvE|―ĜvꋀῙ܌JɍCg틂{m{X؍Hᜁv㜜ҙg电M͋ˋegfhPHNq]\|\_s*\|b\_s*N\|\_s*\|\_s*\|\_s*\|~\_s*\|\_s*\|\_s*S\|S\_s*[Z]\|\_s*\_s*x\|\_s*\|\_s*h\|9\_s*\|\_s*\|^\_s*{\|\_s*\|Q\_s*O\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|V\_s*l\_s*\|\_s*|\|T\_s*\_s*\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|T\_s*\|\_s*\|c\_s*r\_s*e\_s*s\_s*c\|C\_s*\|\_s*[{]\|\_s*\_s*\|K\_s*r\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\%([ƕE]\|o\_s*\)\|\_s*\|\_s*C\_s*a\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*\|Z\_s*\|n\_s*_\|s\_s*q\|B\_s*\|R\_s*\_s*q\|C\_s*\%(r\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\)\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|p\_s*\_s*`\|\_s*s\_s*N\_s*\|`\_s*\_s*\_s*\_s*\_s*}\|Q\_s*\%(I\_s*C\|R\_s*R\_s*[\_s*h\|C\_s*T\_s*[\_s*N\_s*\|U\_s*O\_s*J\_s*[\_s*h\)\|w\_s*x\|R\_s*\%([\_s*\_s*\|\_s*e\_s*B\_s*t\_s*@\_s*C\_s*A\)\|\_s*\_s*\|J\_s*\%(U\_s*\|^\_s*[\_s*\|X\_s*o\|[\_s*k\_s*[\_s*\|i\_s*[\_s*g\|_\_s*t\_s*B\|\_s*e\|h\_s*\_s*[\_s*[]\|\_s*\%(`\_s*[GF]\|e\_s*\%(B\_s*G\|b\_s*g\)\)\|\_s*^\_s*[X]\)\|\_s*\|L\_s*\%(g\|u\_s*\|z\_s*[\_s*e\|n\_s*[\_s*_\|\_s*\%(g\|e\_s*B\_s*\_s*O\)\|[\_s*\|m\_s*\|b\_s*V\_s*\|\_s*\%([\|G\_s*\)\)\)', \ 'r' : '\%([ۛŘӛĚ̉h_R{]Ә[\U^cRP˞ulMCL属譚NdיCROcYᑘLSQXᔘWOUĘTRNb@F࢔GmedibIE炍䃟LBڟ׊aeUxvYZYtXF䫗ᖗw灟KMlI瀗qずwYQrQݗ@BA٘Hḟpᐗ㾗ۗݗZ~Kಝ_×ɌIʙZCXYVg×ڛPᎊ}֗ᅗPXaМHW˗Ԝdhgҙzؗϙחїӗ՗WOC͗`鲛饗؞Ax@_]qyp֝H×㇗ߗƗȗ열ɋʗ̚iś胗ؗܘA鋗i\ߗ仂טJəVOgTpREY㑟SB՛ۛnAࣗa茗E煚h඗pyqQ㡟ISۗᚘ痋엇tff逗ǂ炒ESqGBJH[wxIT`rKR|FVOW^XU\ZDAIYzM{Pst}NLvpyu@C]E_~D֍㗅XQσr]\|\_s*[]\|b\_s*[]\|\_s*[]\|\_s*\|\_s*[L]\|h\_s*[Eߎ]\|6\_s*[]\|\_s*\_s*\|E\_s*G\|\_s*\|A\_s*\%(c\_s*t\_s*a\_s*e\_s*a\|p\_s*o\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|C\_s*\%(a\_s*l\_s*y\_s*c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|h\_s*o\_s*r\_s*i\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|\_s*[]\|\_s*\%(\||\_s*\)\|V\_s*e\_s*r\_s*t\_s*i\_s*c\_s*i\_s*l\_s*l\_s*a\_s*t\_s*a\_s*e\|O\_s*r\_s*c\_s*h\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|M\_s*i\_s*c\_s*r\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\|L\_s*\%([ruia]\|e\_s*i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*a\_s*l\_s*e\_s*s\|A\_s*N\_s*P\_s*[\_s*u\_s*\)\|C\_s*\|G\_s*\%(e\_s*n\_s*t\_s*i\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|y\_s*\%(n\_s*a\_s*n\_s*d\_s*r\_s*a\_s*e\|m\_s*n\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\)\|\_s*W\_s*f\_s*[\_s*^\_s*x\_s*[\_s*X\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*s\_s*\_s*w\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|d\_s*C\_s*\_s*M\_s*\_s*\_s*\|\_s*k\_s*\_s*\%(w\_s*d\_s*C\_s*\_s*M\_s*\_s*\_s*\|\_s*\)\|\_s*\_s*\_s*\_s*Z\_s*b\_s*g\_s*v\_s*Z\_s*@\|\_s*\|K\_s*\|g\_s*\|v\_s*\|\_s*\|\_s*A\|\_s*[M]\|\_s*\|\_s*\_s*\|Q\_s*\%(l\_s*\_s*\|\_s*^\)\|q\_s*\%(h\_s*m\_s*`\|\_s*c\|r\_s*|\_s*Q\_s*R\_s*Q\_s*b\|\_s*\_s*\_s*\_s*\|\_s*\_s*\)\|@\_s*\\_s*\_s*\_s*P\_s*\|\_s*A\_s*I\|F\_s*\|R\_s*\%([bnfeauh]\|i\_s*c\_s*h\_s*a\_s*r\_s*d\_s* \_s*M\_s*\.\_s* \_s*S\_s*t\_s*a\_s*l\_s*l\_s*m\_s*a\_s*n\|C\_s*S\|S\_s*S\_s*\_s*[\_s*_\|I\_s*S\_s*C\|A\_s*M\|O\_s*M\|E\_s*\%(M\_s*\_s*\|T\_s*U\_s*R\_s*N\_s*L\_s*[\|A\_s*D\_s*M\_s*E\)\)\|\_s*K\_s*\\_s*\|A\_s*[\_s*\)', \ 's' : '\%([}[Ty}Q^ǚih掞y{GOʗcԛzyu߈S^䛣᜹KU|\}ax‘ƜQsढ़w柔锚t䇛q~Hxyܑ䵑qȑBJvtƑNⵑr|swpnmy絒F\nuLMNdƑ[ꋑjfb`a^𕛑lX􉈑cYiઈgלheesSzNZ驋LLQkşGiↁސِېڐߞ@CGSПƝ[Tאɐ͊֐ȐǝAI⣛p蔞tdCNӟ׈ߛݙܘx㙘A_baJஓϛƘjbHⳙAGSL⒑Wsr葁DJAL񙒐枙@ېMHlFKDG@BhǑNdD牙|œҝᝩ⫟ŖvR呝yHՐU}[҂ߝpS爊caopIDcER䊔TωsꈝؐCShᓩ]T\~uy齗VŒsvǐEpz~dǗ俑Ypnzy羝裐Ð␕΁ʁ܁́ˁ~Ɂځށ}ȁ́݁聹后v袝xž谒NːXaV䐆Hґ]ZʗLz`DߝXzi擧ABPDY`LZ迓xZxw圑ȓGFaƎb乗MEΕsCFZnD㈵㦋s]Ŗl^⚑A潓gΖ儞ɖΏd臐wpd[g謎姎^GNH˒Ύ܊m\ސːKŽKoq҉tϔ͚͎bAjP֎ٌࡐ̝咙ݐ┐Ԏ^Ύގڎ؎YώΎɎԎߎЈޝȕiSGCဋÎft偛WVz题瑲Efiglk{蜕婏oFT碏VhqhkFJ娏QK榊S酝nSXKUڏMGjaENODPCALRTIB@M᭚忏w{vxs⡏turfZuVꐚpy曐P]AϜUjJfY`Ds橝ΐaO凓cjcѐUahNfdCkXĐLTQWgi[RMebI_S΋nZo䜏_י|䓏wb򏎏ҟm䀛uLЏ縐מ⪙דMvRߜcB_џnՏʈ䐯B辑[頏[␏ݚK♏яҁui]疏ցjiӐԚϏUJnސŜ܏ߏُՏGଞďޏ͏ǏɏЏۏ暐Ώ̏ďƏ͏ڏ؏ɏȏTlRegp@CܑFDI冐BAHE❎oowvLUnюrŎᎊtr@{펦Ϛ`iАyэi@EJX拎}泟nyoNZyzٛᝅf׎j{~|{oߘIXB]KVgup`ikql藘ʛƓj⏎s_ꏎ˔`Œsy@؎䢊oueۚ~礛JLfVWlȐ䰐囋TᰗlIJMhEU嶎z\GԞuV\Vf֟XMˍǏxš皔m匈^꛽O@՚N\󎘊jېŒB睓N@dqbPmbq嗝WƔfFⲝHHBr{吷Wvᵔutĉh|招E䋫🛋t剎櫜f|sटEa`㓝̜cHKcߙӎ[ǎWXㄐVr\]ZPRӁ3Q^ORUSY_ATCD搔@FDNZ\؛ԟ˜GƝrӎÎEq淍Kȍ͙Pꎍ`BڛvɍVҍۍЍю΍؍̍Ӎȍ֐čՍÍˍҍٍ΍ō鑨rŞo焍e⩞y|skwNʎhS䳍}lэos⍳rԍđ獸RAm嬛OÝL_~nKዎ^dw@YYご򄋄ZYÁWnŽOyʁ`feW_TZTV\XRЕbs]\|\_s*[]\|b\_s*[\ZXVT]\|\_s*[]\|\_s*\|\\_s*\%(H\|I\_s*\)\|~\_s*\|\_s*\|\_s*\|\_s*\|\_s*g\|\_s*\|v\_s*[vX]\|\_s*n\|\_s*\|\_s*c\|\_s*\|B\_s*[BX]\|\_s*C\|\_s*\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|\_s*\|}\_s*\|c\_s*e\_s*n\_s*t\_s*i\|\_s*[ĘU]\|C\_s*\|\_s*\|}\_s*\|T\_s*\|G\_s*Y\|f\_s*\|V\_s*[c]\|V\_s*i\_s*o\_s*l\_s*a\_s*l\_s*e\_s*s\|N\_s*y\_s*m\_s*p\_s*h\_s*a\_s*e\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|\_s*\|\_s*\|b\_s*\%(^\|\_s*\)\|V\_s*\|]\_s*\|\_s*\|s\_s*[mE]\|L\_s*a\_s*\%(b\_s*i\_s*a\_s*t\_s*a\_s*e\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|\_s*\|~\_s*\|\_s*t\_s*\|\_s*\|\_s*\|\_s*_\|\_s*Y\|\_s*\|\_s*\|I\_s*\%(s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\)\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|`\_s*\|\_s*[J]\|]\_s*[X]]\|\_s*\%(X\_s*\_s*\|\_s*\_s*\)\|\_s*\%([֌ڎu]\|\_s*\)\|7\_s*\|V\_s*\|4\_s*\|S\_s*[]\|R\_s*{\|h\_s*t\|\_s*u\|\_s*\|A\_s*[o]\|\_s*[NY]\|\_s*[]\|r\_s*[ꏎ]\|\_s*\|c\_s*e\|\_s*\|\_s*\%(_\|C\_s*\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|\_s*\%(\_s*{\_s*\%(I\|\_s*I\)\|\_s*\_s*a\_s*\_s*W\)\|\_s*[Η]\|\_s*\|\_s*\|\_s*\|e\_s*\_s*\|C\_s*\%([se]\|y\_s*c\_s*a\_s*d\_s*\%(i\_s*d\_s*a\_s*e\|o\_s*\%(p\_s*s\_s*i\_s*d\_s*a\|f\_s*i\_s*l\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\)\|h\_s*l\_s*o\_s*r\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|D\_s*X\|^\_s*\_s*\|a\_s*\%(s\_s*s\_s*y\_s*t\_s*h\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|c\_s*t\_s*a\_s*l\_s*e\_s*s\)\)\|\_s*K\||\_s*[“]\|\_s*p\_s*\|G\_s*\|\_s*\|\_s*\_s*\%(X\_s*[N]\|\_s*[N]\)\|h\_s*l\|S\_s*\_s*g\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*e\|\_s*\|\_s*\%(@\|\_s*\_s*\)\|\_s*\|G\_s*\|\_s*q\|P\_s*\%(a\_s*r\_s*i\_s*e\_s*t\_s*a\_s*l\_s*e\_s*s\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|r\_s*i\_s*m\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\)\|A\_s*\%(p\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*a\_s*l\_s*e\_s*s\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\)\|\_s*[T]\|B\_s*\%(r\|V\_s*F\_s*\)\|g\_s*\_s*q\|\_s*\|u\_s*\|A\_s*\_s*`\_s*\_s*\|\\_s*\_s*\|M\_s*\%(e\_s*r\_s*c\_s*u\_s*r\_s*y\|u\_s*s\_s*a\_s*l\_s*e\_s*s\|a\_s*r\_s*q\_s*u\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\)\|D\_s*o\_s*n\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*A\_s*l\_s*p\_s*h\_s*o\_s*n\_s*s\_s*e\_s* \_s*F\_s*r\_s*a\_s*n\_s*c\_s*o\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\|\_s*\%(V\|s\_s*\%(\_s*\|\_s*\_s*\)\)\|T\_s*\%(e\_s*t\_s*r\_s*a\_s*c\_s*e\_s*n\_s*t\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\|h\_s*e\_s* \_s*S\_s*i\_s*m\_s*p\_s*l\_s*e\_s* \_s*A\_s*P\_s*I\_s* \_s*f\_s*o\_s*r\_s* \_s*e\_s*v\_s*e\_s*n\_s*t\_s*-\_s*b\_s*a\_s*s\_s*e\_s*d\_s* \_s*X\_s*M\_s*L\_s* \_s*p\_s*a\_s*r\_s*s\_s*i\_s*n\_s*g\)\|]\_s*f\|P\_s*C\_s*f\|v\_s*\_s*\_s*\_s*\_s*\_s*w\_s*\|l\_s*b\_s*g\_s*T\_s*[\_s*r\_s*X\|U\_s*\%(b\_s*N\|N\_s*Z\_s*\|r\_s*[\_s*l\|E\_s*o\_s*[\|\_s*[\_s*N\_s*\_s*E\_s*g\|\_s*U\|\_s*c\|C\_s*\%([]\|\_s*[\|f\_s*\)\|[\_s*\%([]\|\_s*\)\)\|\_s*\|[\_s*~\|i\_s*g\_s*\_s*E\_s*\|]\_s*\%(\|\_s*f\|[\_s*\%(\|\_s*\_s*Q\_s*\)\|t\_s*B\_s*[\)\|W\_s*\%(\|[\_s*\%([ON]\|\_s*\_s*[XY]\)\|O\_s*\_s*\_s*g\|\_s*\%(\_s*\|O\_s*V\_s*\_s*s\_s*[\_s*\|e\_s*[\_s*[\)\)\|r\_s*\%([Ȏ]\|T\_s*C\_s*Y\|r\_s*T\_s*C\_s*Y\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|t\_s*m\|\_s*\%(\|\_s*\_s*\_s*`\_s*\_s*\_s*\_s*\)\|h\_s*b\_s*o\_s*(\_s*S\_s*t\_s*r\_s*u\_s*c\_s*t\_s*u\_s*r\_s*e\_s* \_s*a\_s*n\_s*d\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*p\_s*r\_s*e\_s*t\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*o\_s*f\_s* \_s*C\_s*o\_s*m\_s*p\_s*u\_s*t\_s*e\_s*r\_s* \_s*P\_s*r\_s*o\_s*g\_s*r\_s*a\_s*m\_s*s\_s*)\||\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|n\_s*m\_s*x\_s* \_s*m\_s*d\_s*v\_s*r\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*u\)\|G\_s*X\|S\_s*\%([nrgmce]\|G\_s*M\_s*L\|T\_s*C\_s*Y\|S\_s*T\_s*C\_s*Y\|F\_s*}\_s*K\_s*W\_s*\|Q\_s*U\_s*A\_s*R\_s*E\_s* \_s*E\_s*N\_s*I\_s*X\|K\_s*\%(K\|Y\_s* \_s*P\_s*e\_s*r\_s*f\_s*e\_s*c\_s*T\_s*V\_s*!\)\|a\_s*\%(r\_s*\%(r\_s*a\_s*c\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|g\_s*e\_s*n\_s*t\_s*o\_s*d\_s*o\_s*x\_s*a\_s*c\_s*e\_s*a\_s*e\)\|m\_s*a\_s*r\_s*i\_s*u\_s*m\)\|M\_s*\%(v\_s*\_s*C\|N\_s*\_s*u\)\|P\_s*\%(\_s*R\_s*[\_s*h\|A\_s*C\_s*E\_s*L\_s*[\)\|p\_s*\%(l\_s*u\_s*s\|e\_s*\%(r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*a\_s*l\_s*i\_s*t\_s*y\_s* \_s*S\_s*t\_s*o\_s*r\_s*e\_s* \_s*R\_s*e\_s*t\_s*a\_s*i\_s*l\_s*e\_s*r\_s* \_s*o\_s*f\_s* \_s*P\_s*r\_s*i\_s*v\_s*a\_s*t\_s*e\_s* \_s*L\_s*a\_s*b\_s*e\_s*l\_s* \_s*A\_s*p\_s*p\_s*a\_s*r\_s*e\_s*l\)\|a\_s*\%(t\_s*h\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*c\)\)\|H\_s*I\_s*F\_s*T\_s*L\_s*[\|C\_s*S\_s*I\|T\_s*\%(k\|A\_s*R\)\|h\_s*u\_s*g\_s*a\_s*r\_s*t\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*s\_s* \_s*S\_s*y\_s*s\_s*t\_s*e\_s*m\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*f\_s*a\_s*c\_s*e\|A\_s*\%(P\|S\_s*I\)\|i\_s*\%(m\_s*p\_s*l\_s*e\_s* \_s*K\_s*a\_s*n\_s*a\_s* \_s*t\_s*o\_s* \_s*K\_s*a\_s*n\_s*j\_s*i\_s* \_s*c\_s*o\_s*n\_s*v\_s*e\_s*r\_s*s\_s*i\_s*o\_s*n\_s* \_s*p\_s*r\_s*o\_s*g\_s*r\_s*a\_s*m\|l\_s*i\_s*c\_s*o\_s*n\)\|t\_s*r\_s*o\_s*n\_s*t\_s*i\_s*u\_s*m\|o\_s*\%(u\_s*t\_s*h\_s* \_s*\%(D\_s*a\_s*k\_s*o\_s*t\_s*a\|C\_s*a\_s*r\_s*o\_s*l\_s*i\_s*n\_s*a\)\|l\_s*a\_s*r\_s*i\_s*s\|f\_s*t\_s*w\_s*a\_s*r\_s*e\_s* \_s*R\_s*e\_s*s\_s*e\_s*a\_s*r\_s*c\_s*h\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*,\_s*I\_s*n\_s*c\_s*\.\)\|u\_s*\%(n\|l\_s*f\_s*u\_s*r\)\)\|\_s*\)', \ 't' : '\%([ĜR牉șhЌ☝ωiמRh|cH֓騗䄋㜐C䃕ۏQ榔yFbr\c͙ʓՓךcJٓؓڏxJŚɍΖrqNPь{ԍǝؗ沖L௜{ꂜՓ“ΓWٟXB[ѓw䓄~㫙ٚĊUj㉱}b馝FD㛎衞CẞTΛ⅞MDğ椈ꊛ됀zcbuٓ幓铝~鍓򓀓˓tOO̓mNlےEjqĚ\Zg\莾pyooVvϏ\p{nlnZÊn򖁞i^yr䷟ː}~ēexhurlWPȎWd͖oR瘉NནLJU猓Hzћ迟hAVVzDCUAdFDx[^៓UzaZWL⽓YQINGPOcSLǒtɞqؚ|YBh@稒ఒAeƜV•͕皁ITPזgwΐىWhіʏ`tI␎aSڎBڐRȕpAn䆉җI~焍ߑczߝ旾񕌋uid͌gQǒٚ؍jq塔|ȕȓ`B\Չ㔖ꉌۑԔԒ̒v׏IĐȒŒǛ錼əݙ֒ߘrssnUTӑn쑢LUΌCU֋ސTĜɏՔːsxAtyÕZ㋓ᶌpklϐڒʍAhՍJY_ZoTSNĒNZm֖’ޒ}zke玐ŗ͓ߝQE浖מ`kI⌒OՒP蠒eÒ隓CUǒݟlLy’kꓜjLKӝUo{⒳\_񒝓[d}ޒ渒xaQCNIԒJnhfRhtnpom~n@ؒrpUTuՌlh⚐tꃒyƒwonvqᗒvksmxJ}֓}ԐugqKfeމ˞MoRВLᷖ非ٌ✔yg栟˘l|]漒K^ȏ̎]DM骓lDeȒ@ihgⰍkXYSݛ̝EYUԕۏXIH蒎aFC{}CJFמlSs韞퓃ࣕYۈɐҒkBznҊmtԚKpЋBŗYk˜[]썰͗K’eʖd休sb饕|cG鎿Bٍked뛹k殔CĉFbWVOxh^В|⹑tM闲F֜Ӝ`dH[t؜Tjݝ^Wh]ßp~Kϓ̝W`^WUႚVJRἔCVQa_\杒OSXWYbZdÒTPAp]鮓FѝFUVf{I痑~x擑H\讖wʝ[OlߑړܒБ⛔EܑՑ͑ۑґؑݑّё̑בޑ΋Hf茘ǒ֚ꑫ—]loNOϗ┭蛀SuNЍٚB_PcB睘SW`V~^ΓysfE\؃XWƃUcN]g`Ec[^Sфet]\|\_s*[]\|b\_s*[gec`^]\|\_s*[ƂÂ]\|\_s*\|\_s*n\_s*\|\_s*[]\|\_s*\|\_s*l\|\_s*\|\_s*V\|\_s*\|i\_s*[v]\|\_s*P\|h\_s*\|\_s*\|D\_s*\_s*\|\_s*[Ŗ]\|\_s*[q]\|W\_s*\|\_s*\_s*E\_s*\|\_s*\|H\_s*y\_s*d\_s*r\_s*o\_s*c\_s*h\_s*a\_s*r\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*x\|G\_s*[ߓh]\|\_s*[]\|F\_s*N\_s*\|i\_s*[vq]\|A\_s*c\_s*o\_s*n\_s*i\_s*t\_s*u\_s*m\|\_s*\|\_s*j\|\_s*j\|F\_s*e\|I\_s*r\_s*o\_s*n\|\_s*\|\_s*\|g\_s*\|Z\_s*\|Q\_s*~\_s*S\|\_s*\%(\|\_s*q\)\|S\_s*[Z]\|\_s*\%(\|\_s*a\)\|X\_s*\|\_s*X\|\_s*J\|\_s*~\|~\_s*J\|\_s*\|\_s*\|\_s*\|\_s*[]\|B\_s*a\_s*l\_s*a\_s*n\_s*o\_s*p\_s*h\_s*o\_s*r\_s*a\_s*l\_s*e\_s*s\|1\_s*\%(\|0\_s*\)\|P\_s*\%(\|O\_s*\)\|\_s*\|\_s*l\_s*\|E\_s*\%(u\_s*p\_s*h\_s*o\_s*r\_s*b\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|\_s*\%(v\|\_s*F\)\|g\_s*\|\_s*\|`\_s*\|\_s*w\|\_s*\%(V\_s*\|\_s*F\)\|\_s*\%([]\|[\_s*\|\_s*\_s*N\)\|\_s*v\|r\_s*q\|\_s*r\_s*q\|\_s*[a]\|\_s*\|\_s*\|@\_s*\_s*\|L\_s*q\|S\_s*\|\_s*\|]\_s*h\|J\_s*i\_s*a\_s*n\_s*g\_s*s\_s*u\|G\_s*\|u\_s*[˔]\|k\_s*J\|\_s*\|\_s*I\_s*q\|\_s*a\|\_s*p\|\_s*[]\|A\_s*\|\_s*\_s*\|\_s*[]\|\_s*\_s*\\|\_s*\%(\\_s*\|A\_s*\_s*[]\)\|t\_s*\%(\|{\_s*V\)\|h\_s*\|e\_s*\|\_s*\|\_s*[]\|\_s*s\|\_s*\%([\|\_s*q\)\|\_s*v\|\_s*\|P\_s*\|\_s*\|\_s*\%(\|\_s*\)\|E\_s*\|\_s*\|P\_s*\%(\.\_s*S\_s*\.\|o\_s*l\_s*y\_s*\%(g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*r\_s*p\_s*i\_s*c\_s*a\_s*e\)\|a\_s*n\_s*d\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|s\_s*\|\_s*\|E\_s*w\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*q\|\\_s*[V]\|w\_s*\|\_s*\|i\_s*K\|\_s*\_s*p\|\_s*B\|M\_s*\%(e\_s*n\_s*i\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*c\_s*e\_s*a\_s*e\|o\_s*n\_s*o\_s*\%(p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*\%(h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|o\_s*t\_s*y\_s*l\_s*e\_s*d\_s*o\_s*n\_s*e\_s*a\_s*e\)\)\)\|\_s*\|\_s*\|\_s*q\|\_s*\|\_s*\|f\_s*B\_s*X\|R\_s*\_s*\|\_s*l\|\\_s*\%([\_s*[gv]\|\_s*[\)\|w\_s*[\_s*O\|[\_s*[CA]\|Z\_s*\%(I\|\_s*}\|\_s*\%(\|j\_s*A\_s*X\)\|\_s*s\_s*\%([\|X\_s*g\)\)\|V\_s*\%(\|b\_s*N\|X\_s*\|A\_s*^\_s*[\|\\_s*[\_s*\_s*X\|I\_s*h\_s*A\|[\_s*[t^]\)\|T\_s*\%([C]\|~\_s*\_s*O\|E\_s*U\_s*\_s*h\|\_s*u\_s*\_s*b\_s*h\|[\_s*\%([h]\|e\_s*B\|X\_s*g\_s*\|Y\_s*f\_s*[C[B]\|}\_s*\)\|b\_s*`\_s*\_s*[\|\_s*\%(N\|_\_s*[\|L\_s*\_s*[\)\|\_s*h\_s*}\_s*C\_s*h\)\||\_s*\_s*y\_s*v\_s*`\_s*h\|O\_s*\%(a\_s*y\|A\_s*\_s*\)\|\\\_s*T\_s*e\_s*X\|\_s*\_s*\|\_s*\_s*\|p\_s*\|s\_s*\%([]\|\_s*E\|j\_s*W\_s*O\|]\_s*[\_s*\|o\_s*b\_s*N\|V\_s*\_s*c\|u\_s*\%(j\_s*\_s*[\_s*X\|Q\_s*[\_s*\|h\_s*\_s*}\|A\_s*j\_s*\)\|b\_s*o\_s*^\_s*h\_s*o\|\_s*\|\_s*\_s*\_s*s\_s*\_s*\_s*\|E\_s*w\|\_s*[w]\)\|T\_s*\%([bcmliahe]\|r\_s*i\_s*m\_s*e\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\|]\_s*[\_s*\|X\_s*T\_s*t\_s*@\_s*C\_s*\|V\_s*\_s*c\|o\_s*b\_s*N\|V\_s*\%(j\_s*\_s*[\_s*X\|Q\_s*[\_s*\|h\_s*\_s*}\|\_s*j\_s*^\|A\_s*j\_s*\|V\_s*\_s*b\_s*s\_s*\_s*O\)\|C\_s*P\|R\_s*[\_s*h\|-\_s*C\_s*o\_s*d\_s*e\|O\_s*E\_s*I\_s*C\|A\_s*\%(C\|I\_s*N\_s*S\|B\_s*L\_s*[\)\|E\_s*L\)\|d\_s*\%([b]\|C\_s*\_s*M\_s*\_s*\_s*\)\)', \ 'u' : '\%([yhf[le񓴑a؈Ϗ鎽[XDWr䷙\wuќzD鴑ߚXi^R忓LMf~ӏr戉楓]揗w搉S^̗É򃑂k։\uLGQmPOH⣑QmIVߊaXSn|oJU󎜚y팻ʉfژⓐxԋʏϙ܉A]りCD]^@TAmSYv_ZrNTTݗƓZJjJʼnFALnћaLǎ䥟HӉEZpQGˌ̉KꚖoeY^IN҃EUTu]\|\_s*\|\_s*\|\_s*\|T\_s*\|\_s*\_s*\|\_s*\|H\_s*\_s*R\|\_s*\|D\_s*\%(k\_s*[Lj]\|\_s*\)\|\_s*i\|e\_s*\|\_s*\|A\_s*\|y\_s*\|\_s*y\_s*[]\|\_s*\|\_s*[\|\_s*\|\_s*\|\_s*\|\_s*`\|\_s*c\_s*\_s*\|W\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|s\_s*\_s*\|\_s*\|\_s*\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|`\_s*\|\_s*C\_s*\|\_s*\|O\_s*Y\|\_s*\|\_s*[CB]\|\_s*\%(\|\_s*\_s*\)\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|c\_s*\|C\_s*M\_s*\_s*X\|I\_s*}\_s*\|\_s*\_s*s\_s*\\|\_s*\%(p\_s*\|L\_s*\)\|A\_s*\%([X]\|O\_s*\_s*[\|[\_s*\%(V\_s*\_s*\|W\_s*F\_s*\_s*g\|o\_s*\)\|\_s*e\_s*B\_s*\_s*b\_s*g\||\_s*\|b\_s*\%(v\|p\_s*[\|V\_s*\_s*[\)\)\|P\_s*\%(\|\_s*\)\|t\_s*\%({\_s*[\_s*g\|^\_s*[\_s*\|l\_s*b\_s*N\|m\_s*h\_s*w\_s*\%(t\_s*F\_s*A\_s*[\|}\_s*K\_s*W\_s*\)\)\|\_s*\%([^j[]\|g\_s*\%(\_s*\|\_s*q\_s*g\)\|\_s*\%(A\|V\_s*[\_s*Y\)\|v\_s*V\_s*\_s*\|l\_s*X\_s*R\|i\_s*\%(J\_s*C\_s*g\|C\_s*e\_s*b\_s*h\)\|r\_s*L\_s*\%(^\_s*X\|m\_s*\)\)\)', \ 'v' : '\%([Fl۔ńBrɃv]\|\_s*\_s*\|b\_s*\|\_s*\|\_s*\|`\_s*F\_s*\|\_s*^\| \_s*r\_s*N\_s*g\_s*[\_s*\|\_s*o\|\_s*z\|j\_s*X\|\_s*\|P\_s*^\|\_s*\%(f\_s*B\_s*\|M\_s*i\|j\_s*X\|Z\_s*\_s*\|N\_s*`\_s*\|\_s*L\_s*\_s*[\_s*\|\_s*\_s*[\|[\_s*j\_s*\)\|u\_s*\%(\|]\_s*[\_s*\|T\_s*C\_s*\|l\_s*b\_s*N\|S\_s*[\_s*\|V\_s*l\|\_s*[\_s*O\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*b\|{\_s*\%(X\_s*g\_s*[\_s*N\|\_s*S\_s*\|\_s*\%([K{g^]\|e\_s*\%(b\_s*N\_s*X\|[\_s*[W]\)\)\|\_s*\_s*[\_s*\|\_s*\_s*\%(`\|e\_s*B\_s*A\|^\_s*\_s*[\)\|\_s*[\|R\_s*[\_s*_\|[\_s*\%([gO]\|\_s*g\|h\_s*r\_s*\%(\|\_s*A\_s*\)\|p\_s*\|_\_s*t\_s*H\_s*\|J\_s*\%(\|\_s*X\_s*g\)\)\|L\_s*\_s*u\_s*\_s*\|C\_s*\%([hX]\|W\_s*\_s*[\|V\_s*\_s*O\)\)\|w\_s*b\_s*g\|\_s*\_s*\|\_s*\|t\_s*\%(@\_s*\%(\|h\_s*[\_s*c\)\|H\_s*\%(\|\_s*\%(N\|J\_s*[\)\)\|F\_s*\_s*\_s*[\_s*\)\|E\_s*\%(\_s*\%(f\_s*B\_s*~\_s*[\_s*\|W\_s*\%(~\_s*[\_s*\|[\_s*~\_s*\|I\_s*X\_s*g\_s*\%(N\|b\_s*N\)\)\)\|B\_s*\%(\_s*i\|\_s*X\)\|H\_s*b\_s*J\|C\_s*\%(\_s*X\|\_s*i\_s*[\)\|F\_s*\%(\_s*M\_s*\_s*E\_s*X\|k\_s*X\)\)\|r\_s*\%([AuoXU]\|K\_s*[\|n\_s*[\_s*\|^\_s*~\_s*\|\_s*\%(b\_s*W\|\_s*C\)\|r\_s*\%(A\_s*\|b\_s*h\)\|b\_s*\%(N\|L\_s*[\)\|Z\_s*\_s*e\|N\_s*\%(^\_s*[\|g\_s*\%(\|\_s*[[A]\)\)\|V\_s*\%(\_s*X\|\\_s*\_s*[\_s*Y\)\|\_s*\%([`X]\|\\_s*\|e\_s*[\_s*W\|Z\_s*\_s*g\)\|l\_s*\%(K\_s*[\|O\_s*\_s*b\_s*g\)\|j\_s*\%([[]\|\_s*f\_s*\)\|\_s*[\|G\_s*\_s*`\_s*\_s*\|W\_s*\%(\|b\_s*g\|^\_s*[\|\_s*\%(\|i\_s*\_s*[\)\|\_s*A\_s*\%(\|\_s*C\_s*\%(Y\|[\_s*[\_s*V\_s*\_s*\)\)\)\|_\_s*\|f\_s*I\|\_s*\%(S\|k\_s*[\_s*u\)\|I\_s*\|\_s*W\_s*A\_s*\|B\_s*[\_s*i\_s*X\|[\_s*\%({\|\_s*X\|N\_s*\|i\_s*X\)\)\|x\_s*\%([K]\|g\_s*i\_s*\|C\_s*_\_s*[\|[\_s*\%(\|_\_s*[\)\|e\_s*\_s*\|b\_s*Z\_s*\|X\_s*\%([g^p]\|r\_s*I\)\|N\_s*\%(^\|g\_s*\)\|W\_s*^\_s*\%(u\_s*\|\_s*A\_s*\)\|\_s*\%([B[]\|t\_s*@\_s*C\|T\_s*C\_s*\)\|\_s*\%(i\|V\_s*e\_s*B\|[\_s*i\|j\_s*[JN]\)\|\_s*\%(f\|x\_s*b\_s*g\|_\_s*\|\_s*[\_s*k\|T\_s*\%([\_s*`\|C\_s*\)\|\_s*b\_s*g\)\|m\_s*\|j\_s*[XA]\|l\_s*\%(V\_s*\_s*\|c\_s*B\_s*A\|`\_s*A\|Y\_s*G\_s*\)\)\|o\_s*\%([]\|C\_s*\%([AuI]\|p\_s*[\|^\_s*\%(\|\_s*e\_s*B\)\|L\_s*\_s*O\|U\_s*[\|V\_s*\)\|b\_s*g\|`\_s*J\_s*\|M\_s*i\|K\_s*{\_s*\_s*h\|\_s*\%(i\_s*V\|G\_s*e\_s*B\)\|T\_s*\|X\_s*\%(R\|P\_s*X\)\|J\_s*\_s*X\|P\_s*[\_s*V\_s*\_s*\|L\_s*\_s*[\_s*\|E\_s*`\_s*\_s*[\|\_s*\%(\|G\_s*[\_s*V\_s*\_s*\|\_s*[\|A\_s*\%(u\_s*\|\_s*g\)\|b\_s*h\|f\_s*[\_s*V\_s*\_s*\)\|k\_s*A\_s*c\|j\_s*\%(\|[\_s*\)\|\_s*\%([[]\|\_s*\|\_s*[\|\_s*\%(V\_s*A\|`\_s*m\|^\_s*C\_s*\)\)\|[\_s*\%([SO]\|`\_s*\_s*\|\_s*g\_s*D\_s*[\_s*h\|o\_s*\|{\_s*X\|x\_s*i\|e\_s*B\_s*J\_s*\|T\_s*X\|W\_s*\%(\|j\_s*A\|\_s*\)\|m\_s*\|j\_s*A\|\_s*\_s*g\|~\_s*\%(\_s*I\_s*\|L\_s*\_s*\_s*C\_s*g\)\)\|i\_s*\%(L\_s*\_s*\_s*[\|W\_s*E\_s*\)\)\|u\_s*\%(C\|\_s*\%(h\|b\_s*h\)\|[\_s*h\_s*D\_s*[\)\|V\_s*\%(H\_s*L\_s*L\_s*(\_s*V\_s*e\_s*r\_s*y\_s* \_s*H\_s*i\_s*g\_s*h\_s* \_s*L\_s*e\_s*v\_s*e\_s*l\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\_s*)\|]\_s*[\_s*\|T\_s*C\_s*\|l\_s*b\_s*N\|S\_s*[\_s*\|J\_s*E\_s*-\_s*\|V\_s*l\|\_s*[\_s*O\|I\_s*S\_s*A\_s*J\_s*[\_s*h\|i\_s*r\_s*g\_s*i\_s*n\_s*i\_s*a\|A\_s*X\|e\_s*r\_s*\%(m\_s*o\_s*n\_s*t\|i\_s*S\_s*i\_s*g\_s*n\)\|a\_s*n\_s*a\_s*d\_s*i\_s*u\_s*m\)\)', \ 'w' : '\%([ɒjYyhȃ҃f[le񓴑a؈鎽[XDW䷙\wuќzD鴑ߚXi^R忓LMf~ӏr戉楓]揗w搉S^̗É򃑂k։\uLGQmPOH⣑QmIVߊaXSn|oJU󎜚y팻ʉfژⓐxԋʏϙA]゜D]^@TAmUSYvZrNTTݗƓZJjJʼnFALnћaLǎ䥟ӉEZpQGˌ̉KꚖoeY^I܉c㘟|͊ϏpԉЍЋƋZǁkYeonm܏Νtsf^]o_rqpciqǘjnȎFGd̘eΘcQC崙NZДʒtሽgfhaŒfZNO֔jclH`b̔i킗ȔgEw]\|\_s*[]\|b\_s*[E]\|\_s*[]\|\_s*\_s*~\_s*_\|\_s*\|\_s*\|\_s*\|T\_s*\|\_s*\_s*\|\_s*\|H\_s*\_s*R\|\_s*\|D\_s*\%(k\_s*[Lj]\|\_s*\)\|\_s*i\|e\_s*\|\_s*\|A\_s*\|y\_s*\|\_s*y\_s*[]\|\_s*\|\_s*[\|\_s*\|\_s*\|\_s*\|\_s*c\_s*\_s*\|W\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|s\_s*\_s*\|\_s*\|\_s*\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|`\_s*\|\_s*C\_s*\|\_s*\|O\_s*Y\|\_s*\|\_s*[CB]\|\_s*\%(\|\_s*\_s*\)\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|c\_s*\|\_s*\|o\_s*D\|\_s*Y\_s*\|\_s*\|i\_s*\_s*j\|(\_s*\_s*)\|\_s*[]\|R\_s*\|Y\_s*z\|x\_s*\|Y\_s*\%(\|V\_s*\_s*c\|\_s*F\_s*\)\|x\_s*\%(\|V\_s*\_s*c\|\_s*F\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*[R]\|\_s*\|a\_s*t\|\_s*\_s*\_s*D\_s*\|\_s*\%(`\|\_s*m\_s*\_s*\)\|^\_s*B\_s*\_s*D\|\_s*\%(\_s*\_s*\_s*E\_s*\_s*\|\_s*\_s*\_s*E\_s*\_s*\)\|u\_s*\_s*c\_s*u\_s*\_s*N\|\_s*\_s*O\|\_s*\%(\|C\_s*X\|b\_s*J\_s*[\|X\_s*\%(\_s*[\|\_s*\_s*O\)\)\|\_s*\%([\_s*X\|\_s*N\_s*\|X\_s*g\)\|\_s*\_s*\_s*\|\_s*\%(b\_s*\%([vp]\|s\_s*\_s*O\)\|C\_s*\%([^g]\|e\_s*B\_s*\_s*O\)\)\|{\_s*\_s*t\|t\_s*\%([[]\|@\_s*C\_s*\|B\_s*\%([\_s*g\|b\_s*`\)\)\|z\_s*\%(G\_s*[C[A]\|[\_s*\|C\_s*\%([\_s*\%(\|\_s*[\)\|b\_s*\%(v\|X\_s*\|p\_s*[\|g\_s*\%(j\_s*[\|}\_s*\)\)\)\|\_s*\%(C\|b\_s*[gc]\)\)\|x\_s*\_s*i\_s*[\|W\_s*\%(S\|N\_s*N\|y\_s*o\_s*m\_s*i\_s*n\_s*g\|O\_s*W\_s*O\_s*W\|I\_s*\%(D\_s*E\|N\_s*T\_s*E\_s*R\_s*P\_s*(\_s*W\_s*i\_s*d\_s*g\_s*e\_s*t\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*p\_s*r\_s*e\_s*t\_s*e\_s*r\_s*)\)\|i\_s*\%(s\_s*c\_s*o\_s*n\_s*s\_s*i\_s*n\|d\_s*g\_s*e\_s*t\|n\_s*d\_s*o\_s*w\_s*s\)\|h\_s*\%(y\_s* \_s*d\_s*o\_s*n\_s*e\_s* \_s*i\_s*t\_s*?\|o\_s* \_s*d\_s*o\_s*n\_s*e\_s* \_s*i\_s*t\_s*?\)\|E\_s*B\_s*\%(u\_s*\_s*E\_s*U\|}\_s*K\_s*W\_s*\)\|e\_s*\%(s\_s*t\_s* \_s*V\_s*i\_s*r\_s*g\_s*i\_s*n\_s*i\_s*a\|b\_s*\%(y\_s*[\_s*W\|\_s*W\_s*I\|R\_s*~\_s*b\_s*N\|T\_s*\%(C\_s*g\|[\_s*\%(o\|r\_s*X\)\)\|h\_s*\_s*}\)\)\|a\_s*s\_s*h\_s*i\_s*n\_s*g\_s*t\_s*o\_s*n\|A\_s*V\_s*t\_s*@\_s*C\_s*\)\|x\_s*\|v\_s*\%(t\|\_s*\|\_s*\_s*\|\_s*\_s*\)\|o\_s*\_s*^\_s*[\|\_s*\%(\_s*\_s*c\_s*u\_s*\_s*N\|H\_s*\_s*t\|B\_s*\%([[]\|\_s*\%(\|w\_s*\_s*\)\)\|F\_s*\%(\_s*_\_s*[\_s*X\|\_s*i\_s*[\|[\_s*o\_s*[\|C\_s*\)\|@\_s*\%(C\_s*[X]\|[\_s*O\_s*i\_s*[\|\_s*_\|\_s*\%(^\_s*[\|L\_s*\_s*[\_s*\)\)\)\|_\_s*u\_s*\_s*\_s*[\|^\_s*\_s*O\_s*X\_s*e\_s*\|T\_s*\%(h\_s*e\_s* \_s*W\_s*o\_s*r\_s*l\_s*d\_s* \_s*W\_s*i\_s*d\_s*e\_s* \_s*W\_s*e\_s*b\_s* \_s*C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\)\)', \ 'x' : '\%([HFDB@V~x]\|\_s*[]\|b\_s*[HFDB@]\|\_s*[]\|V\_s*\_s*\%(z\_s*\|t\_s*H\_s*\)\|w\_s*\%([]\|f\_s*[C[]\|\_s*\_s*\_s*\|r\_s*T\_s*C\_s*Y\|k\_s*\%(\_s*\_s*\|T\_s*C\_s*Y\)\|E\_s*B\_s*\_s*h\_s*E\|[\_s*\)\|X\_s*\%([]\|C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|f\_s*[C[]\|P\_s*S\_s*(\_s*e\_s*X\_s*p\_s*a\_s*n\_s*s\_s*i\_s*o\_s*n\_s* \_s*P\_s*a\_s*s\_s*s\_s*i\_s*n\_s*g\_s* \_s*S\_s*t\_s*y\_s*l\_s*e\_s*)\|S\_s*T\_s*C\_s*Y\|l\_s*i\_s*b\|L\_s*\%(i\_s*s\_s*p\|T\_s*C\_s*Y\)\|e\_s*n\_s*o\_s*n\)\|W\_s*I\_s*\|[\_s*\%(r\_s*E\_s*X\|\_s*\%(b\_s*N\_s*X\|O\_s*\_s*t\_s*B\)\)\|n\_s*r\_s*G\_s*\|U\_s*\%(\|r\_s*G\_s*\)\|L\_s*\%(V\_s*\%(\|\_s*\|\_s*g\_s*[\_s*\)\|Z\_s*m\_s*\|T\_s*\_s*\%(`\_s*\|^\_s*\)\)\|E\_s*x\_s*t\_s*e\_s*n\_s*s\_s*i\_s*b\_s*l\_s*e\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|N\_s*\%(V\_s*[\|\_s*X\_s*|\_s*X\_s*g\|Z\_s*\%(i\_s*L\_s*X\|m\_s*t\_s*H\_s*\)\|U\_s*\_s*B\_s*G\|T\_s*\%(C\|\_s*\%(g\_s*X\|`\_s*b\_s*y\|e\_s*B\_s*b\_s*y\)\)\|\_s*X\_s*}\_s*X\)\|G\_s*\%(N\_s*X\|b\_s*N\_s*X\)\)', \ 'y' : '\%([։ߕ֍HVşꔗ؊ZݝgZ|~}ĔϑbbщxX\ccUiFg`ᇞ՗x揜JLȞ@fuꡜys@Tᘟ~m籝Xyꢗqsi^wgjsfgt匍roחldpnїwzmÏh^S焛@㏜棟baǗ_P`]rĔS㿉r\\QPaoKllPI^椂㒏̎͒oɒt沖LuVKᛮ|w䓎樏ଉw亗WzFCQޗCGEPZXNOSЗ[HI֗FYJLkሖ@gVhO䥝R埙`A懝|MgJ䲃ꍘcUTn翔䑌恍ݍrxÉj囚|dQU|軗ƑBd{Nj佈䆍mnؐFAtF泌ÌމLdƜјJiꌒՓkvɔžo֌yME|ځe퐈M臐YOΖZ}xא򌵉MՁO䗚P{bw~N}zcc硉Ɏh䕟JsW]bK\Tฐ]rmПȈZԈTDMΚICm覉@uBAAޛjHوΊֈÈ1PDyIDR۔џʈዏHƍ֋Uhwψ͉]}ubv]Ό≝gМ@ES盈BΟݑPR҈ȊUגߘߛږˆ̈،܈Η͜}Ėˈԍs਒_ˑޗǓo֗DK~䏈ӈۈ؈ًeԄ`tcbّqۈŔsMlhE`_ʗSQna_–zl˗DyيVꞟKoZމvNuk欎淏kqstrRКݓ@D洗{kJїT׈ՋxۍN❔JĜ\̖tj熔W쉮ƕaߖˎܓi댭ውƔE~ₙuE~vFJYC\zy]\|\_s*[ղ]\|b\_s*[C]\|\_s*[䂢]\|\_s*\_s*b\|^\_s*\_s*b\|I\_s*\|\_s*\|B\_s*\|I\_s*\|4\_s*\%([“]\|\_s*\|\_s*\)\|\_s*\|m\_s*j\|\_s*\|\_s*\|F\_s*\|\_s*\|\_s*[q]\|j\_s*\|h\_s*L\|@\_s*\|V\_s*\|\_s*[j]\|\_s*[q]\|i\_s*\|W\_s*\|8\_s*\|\_s*\|t\_s*\%(\|^\_s*[\_s*\)\|\_s*\|\_s*\|\_s*\|~\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|S\_s*\|L\_s*i\_s*l\_s*i\_s*\%(o\_s*p\_s*s\_s*i\_s*d\_s*a\|a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\)\|\_s*\%(Y\|\_s*\)\|\_s*M\|\_s*\|\_s*\|\_s*\|E\_s*\%(u\|\_s*[\_s*\)\|a\_s*\|J\_s*u\_s*\%(l\_s*i\_s*a\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|n\_s*c\_s*a\_s*l\_s*e\_s*s\)\|c\_s*J\|c\_s*\|G\_s*s\|\\_s*Z\_s*\|Q\_s*q\|G\_s*\|\_s*\_s*\|\_s*\|\_s*\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*G\|\_s*\|\_s*t\_s*\|5\_s*[“]\|T\_s*[“]\|\_s*E\|r\_s*U\|\_s*\|\_s*Y\|\_s*[\|\_s*\|~\_s*\|\_s*\_s*\|{\_s*\|o\_s*\|\_s*g\|Y\_s*[q]\|h\_s*[‘]\|@\_s*\|U\_s*\%(\|^\_s*[\_s*\|r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|E\_s*[cR]\|d\_s*\%(`\_s*r\_s*s\|u\_s*d\)\|C\_s*\|]\_s*[oZ]\|\_s*\|\_s*q\|_\_s*\|\_s*\_s*\|\_s*r\_s*\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|\_s*\|\_s*\_s*\|r\_s*\|s\_s*\_s*\|o\_s*[E]\|\_s*[Wk]\|C\_s*[؎Q]\|\_s*\\|\_s*\_s*[ΒY]\|_\_s*F\|e\_s*[]\|p\_s*\%([꓍]\|g\_s*\)\|\_s*\_s*\|\_s*[ȉ]\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|s\_s*[”@]\|\_s*{\|\_s*\_s*\|\_s*\|\_s*L\_s*n\|\_s*\|\_s*[c]\|R\_s*a\_s*f\_s*f\_s*l\_s*e\_s*s\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|V\_s*\\|`\_s*G\|\_s*{\_s*\_s*\|\_s*a\|T\_s*\%(h\_s*e\_s*l\_s*i\_s*g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*o\_s*c\_s*h\_s*o\_s*d\_s*e\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|M\_s*y\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*t\|\_s*\|A\_s*r\_s*a\_s*c\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*\%(o\_s*t\_s*e\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*c\_s*i\_s*p\_s*e\_s*s\)\|a\_s*l\_s*m\_s*a\_s*l\_s*e\_s*s\)\|\_s*q\|\_s*[j]\|x\_s*\%([k]\|V\_s*\_s*c\)\|G\_s*\%(z\_s*o\|t\_s*Q\_s*j\_s*[\|\_s*\_s*@\_s*\|j\_s*Z\_s*C\|[\_s*\)\|\_s*C\)', \ 'z' : '\%([󉀉ꑹ㔛mґXfhّۑY\]萊AK㿑R䒑UWN征͑V陑TPQfOS␨ҐƐŐUӂžlb齕AZB@笐CtÓ|~D}ߍ󓈎ȓǎwxcH苎ҍ׎l㒼ÓKHԘᶙbiu@vސnՉ`rxosqwptlŏғ䴞`䥝募tJ珊RPԟiUㅏ{o媝mh鈐YtY竐jg@ݖÏꏗ`~]꞊󝵏GAژhGQ榜휵@uQxhmnpqmm⢙Ï|⡓՟~[x{䤏zy}}汎GEsn𘸏^F_`Oca_Y[b]\Zedm莣^y~iJ玎Ȓn􎤎~ImVkqHjaZd䢎mV␷╍蛽NM赞ƎLGRZQSₜ͛؜kO槎SbΜ͎acZːčϙ܍ލߍݍoUY][GwY]ZUW[xĄHz]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[][YWU]\|\_s*[]\|\_s*\|\_s*\|o\_s*\|\_s*[q]\|\_s*\|\_s*\_s*\|\_s*\|O\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*p\|\_s*o\|C\_s*@\|m\_s*\|\_s*\|k\_s*[ߌY]\|\_s*\|\_s*s\|F\_s*i\_s*g\_s*u\_s*r\_s*e\|\_s*\|G\_s*\%(\_s*\|p\_s*\)\|D\_s*y\|f\_s*\%(\_s*\|p\_s*\)\|x\_s*x\|\_s*\|Q\_s*\|2\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*q\|J\_s*\%(I\_s*S\_s*R\_s*[\_s*h\||\_s*b\_s*v\|R\_s*\_s*\_s*{\)\|\_s*q\|b\_s*\_s*\_s*\_s*\_s*\_s*M\_s*h\_s*p\_s*\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|[\_s*\%(\|\_s*\)\|`\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|R\_s*l\|y\_s*_\|\_s*\|\_s*\|\_s*\|\_s*r\_s*\|\_s*v\|\_s*\|\_s*\|\_s*\|\_s*[@S]\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|i\_s*\%(\_s*[\_s*O\||\_s*b\_s*v\|t\_s*m\_s*j\_s*n\)\|\_s*q\|\_s*\|P\_s*\%(Q\|O\_s*[i]\|P\_s*\|U\_s*i\|W\_s*\)\|t\_s*\|\_s*\|R\_s*\|1\_s*\%(0\|1\_s*\|8\_s*\|2\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*u\|e\_s*\|\_s*\|\_s*\|\_s*{\|U\_s*\_s*\|\_s*H\|\_s*\|T\_s*\%(\_s*\|\_s*|\_s*[\_s*j\_s*\|\_s*S\_s*T\)\|Z\_s*\%([r]\|i\_s*\%(r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\|n\_s*c\)\|K\_s*\_s*_\_s*\|o\_s*b\_s*t\_s*@\|I\_s*P\_s*t\_s*@\_s*C\_s*\)\|V\_s*\%(^\_s*[\_s*\|I\_s*\%(\|j\_s*\%(X\_s*g\|Y\_s*\)\)\)\|y\_s*\%([]\|\_s*\|\_s*\_s*\_s*\)\|`\_s*\%(N\_s*\_s*X\|A\_s*m\_s*[\_s*[\|\_s*[\_s*\_s*\%(q\|b\_s*q\)\|\_s*\_s*_\_s*b\_s*V\_s*\|S\_s*C\_s*l\_s*\_s*\_s*C\_s*[\_s*\)\|c\_s*\%(@\_s*\%(\_s*g\_s*D\_s*X\_s*g\_s*\|C\_s*g\)\|F\_s*\%(i\_s*[\|b\_s*y\_s*\_s*\|\_s*}\_s*b\_s*g\)\|B\_s*\%(N\_s*\_s*X\|^\_s*[\|[\_s*O\_s*\_s*[\|\_s*\%(o\_s*\_s*\|}\_s*[\_s*}\_s*\)\|S\_s*C\_s*l\_s*\)\)\)', \ 'A' : '\%([ݕNҊ{b]毛^w܏㦚@oC粕ӓJlVȌlˆ^Мۜ{Qz鸈WEB{MQ榓kw{\N}Ho{tVpA֔\HՓaڏS[矏NaWo㻓֏~ĔMؒg禈Ŋ[NΎҕae}yRXvI\॑ŐVaz\eX~dVEYэʊ늿ߎӕT瑀剕ՕP]JÓV쉐˖ԋY͈b般HꙌǖsNL[ӟ䈮NzPjEDɏ͏W쏺Hq蕚V襕B\͈ԑ~㪌ZQsň}Ĉǝƈ䒩툤@rb`~qgݝю鈩[脝ōCK暖\ؐԙzЕɈŒaS㈢ҌݕJ숫rG}Lj򈡈}[YޝKgOc&ȁ_ڋ͋́ˁ܌WāNLMOf``Ap@A]\|\_s*\|\_s*\|\_s*\|\_s*\|Z\_s*\%(n\|i\_s*n\_s*c\)\|\_s*q\|\_s*\|E\_s*n\|f\_s*\|\_s*\|M\_s*V\_s*\|\_s*T\|\_s*\|Z\_s*q\|\_s*\|l\_s*\|\_s*\|\_s*\|^\_s*\|\_s*\|\_s*w\|\_s*[]\|\_s*p\|\_s*\|\_s*\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*{\|\_s*\%(\|\_s*q\)\|\_s*\%(\|\_s*\_s*\_s*\_s*\)\|H\_s*a\_s*b\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|\_s*F\|\_s*\|\_s*`\|^\_s*\_s*\_s*\|\_s*\|\_s*\|D\_s*`\|a\_s*\%(t\_s*t\_s*o\|c\_s*c\_s*e\_s*n\_s*t\)\|\_s*[K]\|\_s*G\|\_s*[mF]\|\_s*x\|\_s*\|\_s*\|\_s*\|p\_s*\%([ۓc]\|\_s*p\|\_s*\)\|\_s*[ɁX]\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(d\_s*b\|A\_s*h\_s*\_s*X\)\|D\_s*J\_s*[\_s*h\|C\_s*\%(^\_s*O\|J\_s*[\_s*h\)\)\|h\_s*\%(o\_s*d\_s*b\|b\_s*\%(^\_s*O\|J\_s*[\_s*h\)\)\|\_s*~\|\_s*\|c\_s*\|n\_s*\_s*\|C\_s*[^lm]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\_s*a\_s*\|\_s*\|\_s*n\|\_s*[ꆔn]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|g\_s*\_s*v\_s*\_s*A\|\_s*\| \_s*A\_s*N\_s*V\_s*A\_s*\|q\_s*f\|\_s*f\|\_s*s\_s*\_s*x\_s*Z\_s*p\_s*\_s*\_s*\|\_s*\|\_s*Y\|\_s*\|G\_s*o\_s*l\_s*d\|\_s*\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*@\|a\_s*\_s*\_s*@\)\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|Z\_s*\_s*g\_s*L\_s*b\_s*c\_s*l\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|g\_s*p\_s*\_s*\\|\_s*p\_s*\_s*\\|Z\_s*@\|\_s*\_s*\_s*\|I\_s*\%(\|M\_s*\_s*X\_s*^\_s*\|h\_s*\_s*C\|\_s*O\_s*X\_s*g\_s*\_s*[\_s*\|\_s*\%(g\_s*L\_s*[\|^\_s*\%([[i]\|l\_s*\%([\_s*g\|C\_s*g\)\)\)\|[\_s*\%([NKTg]\|j\_s*\_s*O\|L\_s*V\_s*\|u\_s*\_s*[\|o\_s*[\_s*h\|x\_s*\_s*W\_s*\|M\_s*\_s*X\_s*\%(g\|^\_s*\)\|]\_s*\_s*k\|X\_s*\%(`\_s*\|e\_s*B\_s*\|^\_s*[\|g\_s*\%(\_s*A\|\_s*\_s*A\)\)\|h\_s*\_s*[\|W\_s*\%([F[]\|I\_s*\_s*W\)\|f\_s*B\_s*\%(I\|G\_s*\_s*X\|V\_s*\_s*\|g\_s*\_s*A\_s*\)\|^\_s*\|\\_s*\%(\_s*e\_s*B\|\_s*C\_s*Y\)\|Z\_s*\_s*e\_s*B\_s*b\_s*N\|\_s*\)\)\|z\_s*\|o\_s*C\_s*g\|n\_s*\_s*}\_s*Q\_s*h\_s*\|\_s*\|l\_s*H\_s*\%(\_s*\_s*\|m\_s*\\)\|C\_s*\%([\_s*W\_s*X\|I\_s*\|\\_s*b\_s*v\)\|}\_s*\_s*h\_s*D\_s*[\_s*N\|\_s*\%(z\_s*\|\_s*\|\_s*p\)\|t\_s*^\|\_s*p\|G\_s*\%([jAC[]\|b\_s*`\|\_s*\%(h\_s*\_s*\|W\_s*F\_s*\%(\|\_s*b\_s*N\)\|[\_s*\)\|\_s*A\|I\_s*\_s*A\|X\_s*e\|v\_s*\_s*\)\)', \ 'B' : '\%([ݍxftݖv{}~Ϟsr`ڝpؖnlmqbQ쟂ۙR廖ge䛖OE庈ꆉK㦖RWaXZU`YNϛ˖Sc]fhT^ddە_@W敖͕ꊱVGJڙkK럑㰙pgꈕ̕VՙAğ~܍燙ᾙjוؕ糉•粂בD[kuqJڒܐ[W᳓ؐߕܖܘŕhᕷwŕsFU򐁕xᕔF~o@ԕ捐lLJxʕTCZz[ߞ㢛mpCޜrF{qn֛焕S蓔Ialߕ[Leὕdcb`_aΓZrۖoɔzeX]䛇gє䊑ыIs@[bV鯝UAjcUPWєm\e}ޔȉSit䕔|ꀊL{~}ŝםf\ҔԖ_Jmה”dHݔ֔ӔՔԔؖ따ntklyHŐmn\΁gۉ~ba|_攞{onmopaurAqxB]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[{xuro]\|\_s*[ڂׂԂт]\|\_s*\|\_s*\|A\_s*\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*Z\|\_s*\|r\_s*r\|\_s*\|\_s*\|\_s*_\|\_s*_\|\_s*\|E\_s*\|\_s*\|\_s*C\|\_s*\|X\_s*[j]\|R\_s*\_s*O\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|z\_s*c\|\_s*\|u\_s*\%(\|l\_s*b\_s*N\|V\_s*l\_s*}\)\|\_s*q\|t\_s*q\|\_s*\|L\_s*[O]\|\_s*\|V\_s*A\_s*O\|\_s*[ĘU]\|b\_s*i\_s*o\_s*t\_s*o\_s*p\_s*e\|\\_s*D\|\_s*[D]\|\_s*\|o\_s*\_s*\|\_s*\|\_s*\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|h\_s*\|\_s*[q@]\|\\_s*\|\_s*[Žq]\|\_s*\|\_s*\|\_s*q\|c\_s*\_s*\_s*\|b\_s*\_s*\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|K\_s*N\|\_s*q\|\_s*\%([ъyJ]\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*[]\|f\_s*\_s*\|v\_s*\_s*R\_s*M\|\_s*\_s*\|I\_s*[\_s*g\_s*o\_s*C\|\_s*[b]\|t\_s*@\_s*S\_s*b\_s*g\|w\_s*i\|k\_s*\|y\_s*\%(L\_s*\|e\_s*\_s*M\_s*E\_s*X\)\|L\_s*f\|C\_s*M\_s*\_s*X\|z\_s*E\_s*f\|\_s*f\)', \ 'C' : '\%([a|ҜDޏns}laʗۗⵘᶐsЌfَřbIziꑍC麌Z欉䓚৙}Yɍ`nXMȍ뜝k՞ߌ匣ӍeWEQLm՘iQf肝Kਗ਼Ჟ騟}{㝛ŘҟL`tiBRH{ൟHs秝nn˝JܔXLJyߛb}褜rRt莘mE硍hklKᦜnK}֞\@囍yෙΜˍ[⠍xuXSe倘Ji^V@AWGDT`ᩍBԍp]PIzt_kOjRwuPaI|qFXZsmrcDޞJܛ͞wLl܍WێЛZÖs烌gםsؑeuČٌ̟]|Vx֒绌і嚙hʉznjԌך➳Ҕȏ˗Zꉟh@ZXNÖZ驒LLQkŚTGi֙↝BގEِېߐCGዙН[Tאɐ͐ȐǝA⣛p蔞tdCNӟ׈ߙEᝎax㙘A_baJஓϛƘjbHⳙAGSL⒑WsrDJAL񙒐枙@ۑMHlFKDG@Bh坡ǑNdDI扙|œҝᝩ⫟ŐꎖvRΐyH`ՐǍU}[҂zKMzⱟJ㖍IHEzboxܗAϕDBӏ~B䱌sZY㙬ᯞӛM֌NvK@{^Z퐾^鶔ňʈUÑqC~XVTRUWS܉_wo^鿌~GF䇚`pY۞ƌIӘޚPMuoӍcqvE|―ꋀῙ܌JɍCg{mX؍Hᜁv㜜ҙg电M˂捃ABPDY`LZ迓ӞxZlWȓGFaƎb乗MEΕsCFnD㈵㦋s]Ŗl^⚑A潓gߞΖ儞bɖΜ臐wpd[g謎姎^GNH˒ΐÎᕹRK\ސˌKŽKoqҍtϔOӎ͚̍͟bAjP֎yࡐ̝咙ݐ┐Ԏ^ېΎގڎYώՎˎΎɎԎߎЈޝiSGCဋÎft偛WVz题Efiglhk{蜕婏oFT碏VhqhFJ娏QK榚S酝nSXKUڏMGjaENODCALRTWIHB@M\᭚忏w{vxs⡏urfݐZuVꐚpy曐P]AUjJfY`Ds橝ΐaO凓cjcѐUaNfdCkXĐLTQWi[RMebI\S^V΋nZo䜏_י|䓏w򏎏ҟm䀛uLЏ縐מ⪎™דɜvRIߜcB_џnՈ䐯B辑[K頏[␏K♏яҁui]疏֏ӐԚА躐ϏUJnސŜ܏ߏᏏُGᏧଞ͏ǏɏЏˏ暏ΏďƏ͏ڏ؏ɏTl\egp@CܑDI冐BGAHEn❎omowvLUhnыŎᎊtr@{wϚ`iАyэi@EJX拎}泛nyoNZyٝfj{~|{oߘIXB]KVgupikl藘ʛƓj⏎sꏎÎ~˔`Œsyd@؎䢊YoumeᘊyNJr݊jƌyĈ呁eAiMʕrPTMvᚌȍfjqseghpotr鹜NJDRUğdᥛz㕖pȌڋAԓ雛_Bߗދȋ\Ί͏ۋwdTezJxŌ`ӌ^HȔXR㎎CPtqKŠ锯閟@Њ|嶝^艔噞J㹊{歒Se顊j舊sFጐdP}gya`fSWmeO]ݑڙ̛ň@`FOP\[gಉGh󓂞Њ~yۉ}qɐ͘V،~ऐc͌bwuxviXÕLꖊGKƏ̓C魜SRД߈Kv֓S哑tݓkLSښ湛誝ᙚٚ]d䡜QIvn跏ʜh\frnzyklmkgcstio݉Bvldjߊgqupm嵚W~[ZB͙GrqʟD䠜j珞iƙd^񔐘\X{Ž\箊IؘrH_j~F׊@EmLGDŊAKJCI䯘Yᷛep՟bNボ錝AQaT㼛㻛fW`c洟a⻝qj鉙ɞ쏁㣎V늬Mϊ䅟jFrȟ綝mlb˙_xpᒔcg⭊|}ۚۊ@يΞ؊󊩐Ҋ@ʊŞ̊ɊƜAL萊ъŠԊ׊ՊĚ^ÊNJ֊͊ϊwxsqPgӊea㞎ʼnؚĝ̎dˉZΓٌq҃斉vqЎx|ۉԊQ|ўh`ܛ嘉]Ǝ؉㟋zɉÈՉʜF荊ЌCa{`ekJm”ޚ썁͉̉ώoז◚DSlόUґݙ͉щݙljӌT旞g~߉惕砌ĉጜƏ戉Č͉ɂEc‹āىqSGBJHxw[`TIr|RKVFO^QU\ZAYzM{Pst}NLvpyu@C]E_~D􄩄~ԃqXWہACFNՋ\ȐߕϐڃJRVZbC]\|\_s*[]\|b\_s*[RZNVJ]\|\_s*[q]\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*y\|\_s*m\|\_s*F\|\_s*\|\_s*\|S\_s*\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|\_s*C\|\_s*\|A\_s*\%(r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|p\_s*i\_s*a\_s*l\_s*e\_s*s\)\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|\_s*\|}\_s*\|\_s*@\|O\_s*[ȍ]\|\_s*[ĘU]\|P\_s*y\|\_s*\|\_s*[X]\|~\_s*\|\_s*\|S\_s*[Z]\|\_s*h\|9\_s*[]\|^\_s*{\|Q\_s*O\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*|\|T\_s*\_s*\|T\_s*\|\_s*\_s*\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|Z\_s*\|n\_s*_\|s\_s*q\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|V\_s*\|]\_s*\|f\_s*[l]\|\_s*A\|s\_s*[mE]\|\_s*\|L\_s*a\_s*\%(u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|b\_s*i\_s*a\_s*t\_s*a\_s*e\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|\_s*\|\_s*\|~\_s*\|\_s*t\_s*\|\_s*\|\_s*_\|\_s*Y\|\_s*\|\_s*\|I\_s*\%(s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\)\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|`\_s*\|]\_s*[X]]\|\_s*\%([ƗuʑɎ茓]\|\_s*\|[\_s*\|\_s*\)\|\_s*\%(X\_s*\_s*\|\_s*\_s*\)\|7\_s*\|V\_s*\|\_s*\|4\_s*\|S\_s*[]\|R\_s*{\|\_s*\|h\_s*t\|\_s*[ʈ]\|\_s*\|O\_s*\%(\|\_s*\)\||\_s*[“]\|A\_s*[o]\|\_s*\|B\_s*r\|\_s*[NY]\|\_s*[]\|r\_s*[ꏎ]\|Q\_s*\|\_s*Y\|b\_s*\|c\_s*e\|\_s*\|M\_s*\%(e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|u\_s*s\_s*a\_s*l\_s*e\_s*s\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|S\_s*\%([eg]\|p\_s*e\_s*r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*i\_s*t\_s*a\_s*m\_s*i\_s*n\_s*e\_s*a\_s*e\)\|\_s*\%(\_s*{\_s*\%(I\|\_s*I\)\|\_s*\_s*a\_s*\_s*W\)\|\_s*Z\|\_s*q\|\_s*\|z\_s*\|R\_s*\%(C\_s*o\|\_s*q\|z\_s*\)\|j\_s*\|\_s*\_s*\_s*\|r\_s*C\|b\_s*[]\|\_s*\|}\_s*\|\_s*\%(\|`\_s*\)\|\_s*[]\|\_s*\|V\_s*\%(\|l\_s*\)\|\_s*q\||\_s*\_s*\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*[]\|\_s*r\||\_s*\|\\_s*\|]\_s*\|\_s*q\_s*\|\_s*[ay]\|\_s*\|\_s*\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*R\_s*q\|\_s*\|\_s*\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|o\_s*\%(t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\|d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\)\)\|y\_s*\|A\_s*g\|k\_s*k\|@\_s*\|\_s*t\_s*\|\_s*\%(\|q\_s*\)\|\_s*\|\_s*\|Z\_s*\%(c\|C\_s*\)\|\_s*\|\_s*[r]\|\_s*\%([_]\|C\_s*\|\_s*s\_s*\_s*\_s*w\_s*Z\_s*p\_s*\_s*w\)\|C\_s*[G]\|(\_s*\_s*)\|\_s*\_s*\|\_s*\|\_s*\|m\_s*\%(\|\_s*\)\|~\_s*\_s*\|o\_s*c\|Y\_s*t\|_\_s*o\|\_s*\|B\_s*\|A\_s*\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|\_s*\_s*\_s*\_s*\_s*u\|\_s*\_s*\_s*e\_s*N\_s*m\_s*T\_s*C\_s*G\_s*\_s*X\|\_s*\|X\_s*\_s*[\_s*Y\|\_s*e\|g\_s*\_s*\_s*v\|c\_s*\%(e\_s*n\_s*t\_s*i\|r\_s*e\_s*s\_s*c\)\|\_s*[{v菻]\|\_s*G\_s*\_s*\_s*Z\_s*b\_s*g\_s*v\_s*Z\_s*@\|T\_s*\%(\_s*`\_s*[\_s*\|G\_s*\|C\_s*\%(g\_s*J\_s*C\_s*\|\_s*X\|N\_s*\%([]\|\_s*\%(\|b\_s*N\)\)\|{\_s*\%(E\_s*Y\|[\_s*O\)\|o\_s*\%([\|l\_s*e\_s*B\_s*\%(b\_s*N\|N\_s*X\)\)\|\_s*\_s*[\_s*\|_\_s*[\|t\_s*@\_s*[\|l\_s*\_s*A\)\|[\_s*\%(e\_s*B\_s*t\_s*B\_s*P\_s*[\_s*V\_s*\_s*\|N\_s*\|J\_s*\%(X\|\_s*X\_s*N\_s*\%(\_s*C\_s*u\|\_s*v\_s*V\_s*\_s*\)\)\|L\_s*\%(\_s*\%(\_s*[\|\_s*[\_s*\%(^\_s*[\|V\_s*\_s*\)\)\|b\_s*g\)\)\)\|}\_s*h\_s*\_s*X\|\_s*\|P\_s*\%([AC]\|t\_s*F\_s*E\_s*X\|v\_s*X\_s*g\_s*\_s*[]\|`\_s*\_s*b\_s*v\|\_s*\%(^\_s*E\_s*\%(\|\_s*X\)\|u\_s*\_s*b\_s*W\)\|[\_s*\%([LWuvX]\|N\_s*E\_s*H\_s*[\_s*N\|\\_s*\|^\_s*\_s*\_s*O\|p\_s*\%([\|r\_s*\_s*e\_s*B\)\|V\_s*\_s*O\|\_s*[\)\|\_s*\%(g\|x\_s*\_s*X\|e\_s*B\_s*b\_s*N\|r\_s*\%(\|[\_s*j\)\)\|~\_s*\%(J\_s*\|X\_s*g\)\)\|L\_s*\%(\_s*m\_s*\|v\_s*\_s*X\|P\_s*\|\_s*\%([C[A]\|\_s*F\|r\_s*\%(Y\_s*\|X\_s*\)\|\_s*\%(X\|b\_s*g\)\|\_s*[\_s*^\_s*[\|\_s*\\_s*[\|\_s*\%([\|E\_s*\|A\_s*X\|I\_s*V\_s*e\_s*B\)\)\|A\_s*\%(\|[\_s*\|\_s*e\_s*B\)\|`\_s*\|g\_s*T\_s*\|\_s*\|}\_s*C\_s*\|b\_s*J\|\_s*[\_s*g\|\_s*\%([hpXu]\|f\_s*\%(B\|\_s*b\_s*N\)\|r\_s*\%([Al]\|e\_s*\%(B\|[\_s*V\_s*\_s*\)\)\|x\_s*c\|o\_s*\%(\_s*[GA]\|\_s*[\)\|g\_s*\|V\_s*[\|T\_s*\_s*\|^\_s*s\_s*\|s\_s*\%(g\_s*\|^\_s*\%(\|\_s*Y\_s*\)\)\|v\_s*\%(\|V\_s*\_s*\|e\_s*\|`\_s*\)\|Z\_s*\%(C\|\_s*[\_s*\)\|b\_s*\%([cg`v]\|T\_s*o\|X\_s*\|V\_s*\%(\|\_s*O\|\_s*\%([\|u\_s*\)\)\)\|j\_s*\%(I\_s*\|X\_s*^\_s*[\)\|i\_s*\|m\_s*\%(\|[\_s*\|s\_s*[\)\|~\_s*\\_s*[\_s*\|\_s*\%(\|\_s*\%(\|b\_s*g\)\)\|\_s*\%(\|E\_s*F\_s*C\|\_s*\|\_s*C\_s*[i]\|b\_s*g\)\|\_s*b\_s*g\|\_s*\%([R[A]\|o\_s*[\|u\_s*\_s*[\_s*V\_s*\_s*\|b\_s*W\|\_s*O\)\|Y\_s*\)\|\_s*\%(R\|X\_s*g\|V\_s*^\_s*\)\)\|\_s*p\|`\_s*\%([^}A]\|\_s*\|\_s*[\|\_s*h\|\_s*j\_s*[\|R\_s*\|b\_s*\%([vN]\|e\_s*\_s*I\|^\_s*S\_s*\)\|L\_s*\%(\|[\_s*^\)\|\_s*\%(A\_s*u\_s*\|[\_s*C\_s*\_s*K\_s*\)\|[\_s*\%([tgvNY]\|p\_s*[\|^\_s*[\)\|F\_s*\%([XJRA]\|U\_s*\%(\|[\_s*\)\|\_s*\%(j\_s*[\|V\_s*[\|m\_s*u\_s*C\_s*\)\|\_s*\%([\|X\_s*g\|b\_s*V\_s*\|\_s*\)\|\_s*\%(X\_s*^\|\_s*R\_s*t\)\|r\_s*`\_s*F\_s*t\|_\_s*[\|`\_s*F\_s*\|b\_s*\%([gNJ]\|L\_s*\_s*O\)\|C\_s*\%([X]\|j\_s*[\|T\_s*[\|V\_s*\_s*O\)\|[\_s*\%(\|U\_s*\|z\_s*t\)\)\|\_s*\%([IthCRE]\|c\_s*l\|N\_s*\|v\_s*^\_s*[\|p\_s*e\_s*B\|y\_s*\%(\|b\_s*N\)\|`\_s*\|l\_s*\%(\|\_s*[\|\_s*\_s*O\)\|b\_s*\%([Ng]\|s\_s*[\|v\_s*\%(}\_s*\|\_s*\)\)\|^\_s*\%(\_s*[C[]\|\_s*\_s*O\)\|\_s*}\_s*[\_s*X\|\_s*\_s*W\|\_s*\|[\_s*\%([`^gW]\|r\_s*\|~\_s*\%([\|\_s*O\)\|\_s*[\|\_s*\%([YX]\|g\_s*\)\)\|\_s*\_s*S\)\|\_s*\%([R]\|C\_s*X\|\_s*X\_s*L\_s*[\|[\_s*\%(N\|T\_s*[\|J\_s*[\|L\_s*\_s*O\)\|S\_s*\|b\_s*\%(v\|s\_s*[\|p\_s*[\)\|\_s*\\)\)\|\_s*W\|\_s*\|\_s*\|\_s*\%(\|Y\_s*\_s*`\_s*\)\|p\_s*\|c\_s*\%(@\_s*[\|B\_s*\_s*\|F\_s*\%([\|\_s*j\_s*[\|\_s*\)\)\|Y\_s*f\)', \ 'D' : '\%([다hbraךǏtBN{cjۓÓ̊ӓՓœǙI~UkNӝ^}X駁́ߓԓӓVW֓W{ޙxgz𗯗Z^mvwˎ~yǎF≓BHDsMϙub\BadƂŃdߐhȍjΓ`snˌg˒ݕtВËl}ϒޘAÃaߗ͒nIL֓|Z睏JNMӋҋxJيړ_xԒ|FڒDEU璒iNՕnm聄Гْ̖U[ghkifcdejǞ񐆘Ǒ䶝\śP֑蚑ʑ[TÞSɚkoĜ팚[Pc˂DACd\.Ecgh\BƂch_WDf„tD]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[hfda_]\|\_s*[ǂłÂ]\|\_s*\|s\_s*X\_s*\|\_s*\|S\_s*a\_s*u\_s*r\_s*u\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|C\_s*\%(u\|o\_s*p\_s*p\_s*e\_s*r\)\|\_s*V\_s*\|\_s*\|@\_s*\|\_s*\|Y\_s*\|S\_s*t\_s*\|\_s*\|\_s*\|\_s*[t]\|\_s*\|\_s*\|\_s*[I]\|\_s*\|m\_s*b\|x\_s*\|\_s*q\|\_s*q\|\_s*\|\_s*K\|\_s*\|\_s*B\|R\_s*\|\_s*\|\_s*k\_s*B\_s*\|\_s*\%([Ɍ]\|\_s*L\|\_s*V\_s*c\|\_s*\%(\|\_s*b\)\)\|T\_s*[B]\|\_s*\|\_s*|\|\_s*\%(\_s*\|\_s*f\_s*[\_s*^\_s*x\_s*[\_s*X\)\|R\_s*\_s*\_s*r\_s*A\|Y\_s*\%(\_s*[\_s*X\|b\_s*N\)\|C\_s*\_s*J\|\_s*\|\_s*m\|\_s*\|s\_s*\_s*\|\_s*\_s*\_s*\|n\_s*[\_s*O\|\_s*\_s*\_s*\_s*\|j\_s*\_s*\%(\|\_s*\)\|\_s*\_s*q\|L\_s*q\_s*q\|\\_s*i\_s*\|[\_s*b\_s*P\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|d\_s*\%(b\_s*m\_s*s\|e\_s*c\_s*\%([ia]\|r\_s*e\_s*s\)\|o\_s*u\_s*b\_s*l\_s*e\_s* \_s*i\_s*n\_s*c\_s*o\_s*m\_s*e\_s*,\_s* \_s*n\_s*o\_s* \_s*k\_s*i\_s*d\_s*s\|i\_s*m\)\|\_s*\)', \ 'E' : '\%([ኙPGҋ`ܐݑ傉滌ӏ^ΛxVx{y󔌜▒厝t㈉z郉uՉvwtd_Qঢ়oH̟џHv鴉䆉`腖b膞Ł܉⥟}|叉͉lU~oIoktȚz瞱i͉joĉblgsdm繉erfhnciʉqG``}]㉈Όdl˘da|bΉdIÚ߁QM}NpΎIłdR|L^ÄGE]\|A\_s*\%([ʔ^]\|V\_s*\%(@\_s*\|\_s*D\)\|B\_s*\%(^\|C\_s*\)\)\|`\_s*\%([ʔ^]\|u\_s*\%(@\_s*\|\_s*D\)\|a\_s*^\)\|\_s*\%(\|\_s*\)\|O\_s*\_s*\|M\_s*T\_s*C\_s*Y\|l\_s*T\_s*C\_s*Y\|G\_s*X\_s*q\|\_s*\|g\_s*\|E\_s*\|\_s*\_s*q\|\_s*y\|\_s*x\|\_s*H\|x\_s*\|\_s*[s]\|\_s*\|g\_s*q\|k\_s*\%(T\_s*C\_s*Y\|k\_s*T\_s*C\_s*Y\)\|L\_s*\%(T\_s*C\_s*Y\|L\_s*\%(T\_s*C\_s*Y\|\_s*\)\)\|\_s*\%([仕Q]\|m\_s*\)\|N\_s*\| \_s*n\_s* \_s*p\_s*`\|m\_s*\%([‹ɋ]\|\_s*\|g\_s*j\_s*z\_s*[\_s*\)\|\_s*\|Z\_s*\|\_s*X\_s*r\_s*[\_s*H\_s*i\|r\_s*\%([gȋ]\|T\_s*C\_s*Y\|m\_s*\|e\_s*\_s*\)\|S\_s*\%([]\|T\_s*C\_s*Y\|N\_s*\|F\_s*\_s*\)\|q\_s*[y]\|X\_s*\%([r]\|O\_s*\|\_s*F\_s*\)\|w\_s*\%([r]\|\_s*F\_s*\)\|A\_s*\|\_s*\|C\_s*\%(l\|h\_s*l\_s*o\_s*r\_s*i\_s*n\_s*e\)\|C\_s*\%(V\|W\_s*\)\|\_s*s\_s*\_s*\_s*x\_s*\_s*\_s*c\_s*c\|\_s*[\_s*N\_s*X\_s*e\_s*[\_s*V\_s*\_s*\|\_s*\%(B\|\_s*b\)\|^\_s*\%(B\|\_s*b\)\|\_s*[\_s*\_s*\%(s\_s*A\_s*\|b\_s*p\)\|\_s*\%(A\_s*\|E\_s*\_s*s\_s*E\_s*\|\_s*C\_s*J\|[\_s*\%(\|m\_s*X\|j\_s*X\|W\_s*\%(\|[\_s*\)\|h\_s*\|\_s*J\|\_s*\%(X\|V\_s*A\)\|t\_s*\%(\_s*e\_s*X\|H\_s*\%(\_s*A\|j\_s*A\_s*\)\)\|N\_s*\_s*b\_s*h\|J\_s*\)\)\|\_s*W\|\_s*\|\_s*\_s*\_s*\_s*\|d\_s*q\_s*\_s*\%(C\_s*\|[\_s*\)\|\_s*W\|]\_s*\_s*\_s*\|\_s*\_s*\|S\_s*\_s*\_s*T\|J\_s*v\_s*Z\_s*\_s*\|I\_s*\%([\|C\_s*\%(\_s*[\|Q\_s*\)\)\|\_s*s\|g\_s*\|\_s*O\|\_s*Q\_s*\|A\_s*\%([C]\|j\_s*h\|[\_s*\%([}X]\|E\_s*B\_s*\|\_s*\|j\_s*[\|l\_s*X\_s*g\|~\_s*\|V\_s*[\|\_s*[\)\)\|\_s*\|e\_s*\%(x\_s*a\|R\_s*}\_s*[\_s*X\|\_s*[\_s*j\_s*\_s*O\)\|C\_s*\%([uA[]\|W\_s*F\_s*N\_s*g\|t\_s*F\_s*N\_s*[g^]\|R\_s*\%([\_s*\|\_s*C\_s*[YU]\)\|v\_s*V\_s*\_s*\|~\_s*\_s*\_s*\%([\_s*[g^]\|C\_s*^\)\|x\_s*\_s*\%(g\|^\_s*[\)\|m\_s*b\_s*N\|l\_s*[\_s*u\_s*\|M\_s*\_s*X\|\_s*O\_s*\%(\_s*\_s*h\|\_s*b\_s*V\_s*\)\|b\_s*`\|\_s*\%([\|\_s*\_s*O\|t\_s*H\_s*\|z\_s*\)\|O\_s*W\_s*\%(b\_s*g\|X\_s*g\)\|N\_s*\%(X\|A\_s*\_s*e\_s*B\)\|X\_s*t\_s*@\_s*n\_s*\|\_s*[A]\|\_s*\%([\_s*\%(X\|U\_s*[\|T\_s*[\)\|C\_s*\%(\|U\_s*[\|T\_s*[\)\|u\_s*\)\)\|E\_s*\%([\|W\_s*F\_s*[\_s*k\)\)', \ 'F' : '\%([[ΉM֓~y`[脟T͈j͊ȎD^J㬐䔕bXʙ앶|tyMD⁃៻᳍ĘWoK敖lᆕp̐k⿕谌ꄜPi霝c񕥕huCcޔX܊ܕtewtXsb•z|ޘwt]АU㧘Vo\vؕH~[nDҕByGzot{ܕݍ~DYu@缕S䘔Y}䎙ʖ|ӓŚx܋ŕUe󕤕UӄtF]\|\_s*\|b\_s*t\|\_s*\|\_s*\|A\_s*X\|\_s*\|\_s*\|E\_s*u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\_s*\|\_s*i\|}\_s*\_s*\|C\_s*f\|\_s*\%(C\|\_s*[]\)\|_\_s*\|\_s*C\|\_s*\|\_s*\|\_s*\|\_s*~\|\_s*c\|M\_s*y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*[R]\|\_s*t\|B\_s*u\_s*d\_s*d\_s*l\_s*e\_s*j\_s*a\_s*c\_s*e\_s*a\_s*e\|k\_s*\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|Q\_s*[l“]\|h\_s*\|2\_s*\%([l“]\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|~\_s*~\_s*~\|\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*o\|I\_s*r\_s*o\_s*n\|\_s*\_s*\_s*\|_\_s*\_s*\|`\_s*\|z\_s*\%(\_s*C\_s*G\|C\_s*\|\_s*\%(}\_s*\%(\_s*g\|\_s*\)\|\_s*A\_s*\%(~\_s*h\|\_s*f\_s*q\_s*h\)\)\)\|\_s*t\|\_s*\|@\_s*\\|\_s*\_s*\|C\_s*\|q\_s*\%(\|\_s*[\_s*[Y]\)\|P\_s*\%(^\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*1\_s*v\_s*f\|\_s*s\|n\_s*\%(G\|\_s*u\_s*\|\_s*\)\|_\_s*\_s*\|\_s*g\_s*\|G\_s*t\|f\_s*\%(e\_s*m\_s*t\_s*o\|o\_s*\%(n\_s*t\_s*-\_s*f\_s*a\_s*m\_s*i\_s*l\_s*y\|r\_s*t\_s*e\)\)\)', \ 'G' : '\%([EDĉ愍܍ΌᘭՖ@W龚oXߔ쐺nS΍ᴊrc穚ꇟ|ߍ@ᛈ䲎ތTɌ党I⺌Ɍw5ݒܝzqxZߟ驌Q|k⚔nj}~|YꖚPÊqFῌVȌRZĂC푐򕳕ȍIqƑ䣌΋X{j㸌SQRԋHFٕOh[g炮ߌNۋًҚ⚝f耋ʋꟋČCz邙F‹ƋŋÍsኋstC`UZ؋Wً]bXV^E㺙Eaa[cV~؞Fซ\E鰋_Y雎_Wd᥍mAԐ݊v瑤ʊŌ꓁^`eq寊IP}djkhG_~팵ћǘݙʊہ꜋܊ߌ猎怞ْ՚罛|{Ӝԙkzx{ywGUN᳜ȟ򛻈RPn᫊YPKw䈊HVQZSXMTW[O㛴䃖Abϊ|M`PGؙމʉ딃a͉䮏ɉ惕ꏟ@⁄fKSԃ҃ăσǃӃуɃ̓˃Ճփƒ΃ÃЃƃŃȃ̃ʃMOQsCG]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[SQOMK]\|\_s*[]\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*~\|\_s*\|\_s*y\|P\_s*e\_s*r\_s*s\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*s\_s*\|\_s*q\|H\_s*\|\_s*\|\_s*\_s*\|~\_s*\|i\_s*\%([ԉ]\|V\_s*\)\|P\_s*\_s*\|]\_s*\%([ÌΏB]\|k\_s*\)\|\_s*[`]\|\_s*\|w\_s*\|i\_s*F\|\_s*\|\_s*\|m\_s*\|\_s*\|\_s*[]\|\_s*[ō]\|\_s*\|\_s*E\|\_s*\|~\_s*\_s*\_s*F\|H\_s*\|\_s*[Սi]\|g\_s*@\|\_s*\|{\_s*\|\_s*\%([알]\|Z\_s*\)\|\_s*\%([@]\|s\_s*\_s*\|\_s*\_s*@\)\|A\_s*g\|S\_s*\%(c\_s*r\_s*o\_s*p\_s*h\_s*u\_s*l\_s*a\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*m\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|i\_s*l\_s*v\_s*e\_s*r\)\|\_s*c\|\_s*\_s*J\|\_s*t\|L\_s*q\|Y\_s*\|\_s*\|\_s*\|T\_s*y\_s*p\_s*a\_s*l\_s*e\_s*s\|\_s*[]\|\_s*\_s*\|\_s*\|\_s*q\|\_s*^\|b\_s*\|\_s*\|g\_s*\%(i\_s*g\_s*a\|h\_s*o\_s*s\_s*t\_s*s\_s*c\_s*r\_s*i\_s*p\_s*t\)\|k\_s*[\|j\_s*\_s*[\_s*Y\|\_s*\_s*\_s*\|m\_s*[\_s*\|\_s*i\_s*\_s*\|A\_s*\_s*\_s*R\_s*\_s*i\_s*\_s*\|q\_s*\|N\_s*b\_s*p\|\_s*q\|n\_s*{\_s*\_s*[\_s*l\|\_s*\|G\_s*[\_s*e\_s*{\_s*\|\_s*[\_s*e\_s*{\_s*\|C\_s*F\_s*\%([\_s*e\_s*{\_s*\|e\_s*{\_s*\)\|\_s*\|w\_s*\%(\_s*\_s*h\|\_s*}\_s*\)\|h\_s*C\_s*c\|\_s*g\_s*v\_s*\|[\_s*\%(\_s*\%(`\_s*\|j\_s*E\_s*\)\|\_s*N\_s*\_s*b\_s*v\|m\_s*A\|\_s*g\_s*\_s*}\_s*\|l\_s*\%(R\_s*\|\_s*\%(\|\_s*X\_s*g\)\)\)\|\_s*\%(\|w\_s*@\_s*\)\|W\_s*\%([WOmiI[]\|v\_s*V\_s*[\|A\_s*\|C\_s*h\|b\_s*h\|^\_s*\|[\_s*\|\_s*A\_s*\|\_s*b\_s*g\|S\_s*\|\_s*\%(t\|\_s*\%(h\|f\_s*B\_s*[\_s*m\)\)\|\_s*\%([\|\_s*h\)\|o\_s*\_s*V\_s*[\|u\_s*\%(\|\_s*\_s*^\_s*\)\|x\_s*\%(\_s*i\_s*E\|\_s*\_s*\)\|l\_s*b\_s*g\|\_s*\%(b\_s*g\|\_s*@\_s*\_s*[ji]\|o\_s*\_s*[ji]\|R\_s*\%([\_s*\\|\_s*_\)\|\_s*\%(W\|_\_s*[\_s*m\)\|[\_s*\%(W\|[\_s*b\_s*g\)\)\|\_s*\%(\|C\_s*\%(\|\_s*Y\|A\_s*\_s*[cg]\)\|R\_s*\%(\|\_s*b\_s*e\_s*B\)\|[\_s*}\_s*\)\|j\_s*[\|\_s*\%([l]\|[\_s*b\_s*y\|\_s*\%(A\|[\_s*j\|G\_s*b\_s*^\)\|k\_s*\%(\_s*B\_s*G\_s*[\_s*\|r\_s*G\_s*[\_s*u\)\)\|F\_s*\%([t}l]\|X\_s*`\_s*\_s*[\|\_s*j\_s*\|\_s*\%([\_s*[gh]\|\_s*\%(h\|f\_s*B\_s*\|_\_s*C\_s*\)\)\|~\_s*j\|j\_s*[\|m\_s*\%([Ao]\|\_s*@\|\_s*[\_s*Y\|T\_s*C\_s*h\)\|\_s*\%(}\|g\_s*\%(\|\_s*[B[]\)\|_\_s*[\)\)\)\)', \ 'H' : '\%([Η䀞LN{wʔMܖSŖyj壌uׁ󜓏c]Kg֚\✖{xjcəᬖpW_I•qNuYږQ}䚑N闈{BPaHKAOfDG̜dMOEvLC󝻝eMіkM~O۝eY_@ꅜƕnܒ䐤s̕JK療͌zu`œLKHQQɕE憕wǝ́ݕՕxҝG⍖ݛQayْ؛i͕Ûz˕rǕ•wӗˌ粂̞[Ή։A~y`[脟TǏ͈͊ȎD^J㬐䔕bX䎟앶|tyMD⁄៻᳘WoBK敖lᆕp̐k⿕谌ꄜi霘ŕFӋhuⷁޔX܊ܕtewtXsb•|ޘwt]АU㧕o\vؕH~[nҕByGzot{ܕݍ~DYu@缕SxY}V_~QPcݕAS鯝ۏGG哘ǝ|ጄՉ颕Eh_jkl㏟qoĕnpmgi׋ʕfgRʒIJ@Pv尗zh啸Ǐd֐ċϏdΒPՓƑml1PuഁH͏ݝfە\PFЍt鷑MJ焕SАZOznIQT䊌QP㟋qWjGEgϏEShꤊmOG[T_ALѕNDJLCȊlJC捍rMKu蹕UH~q镕VIgjG^Y~Z֙d[ߕ]W\{_uyiw]DgKΓ唛E࿙`ݔߔBეBɞw혡鏊]X翔枈O澊|瀔OʎzjHԌ㔈墏Ȑ[OXJyّj}݋Еoޝ؏՛ދ@@Tmה喗IjYDscPĔJ`e]똟ƈnnG|FɐꡗIzyt妝ppSǗ|杙br@؉瞖zdXxX򒌑\➁^⦔鼏Rx펾њ虊MߍϔAǝ唏Rdʌv}є`ڔ񏉘o@WIᢔ@輔u̝ڛuvi`ғt\ECpBᓔxoޔywWprqsDzW֞N崔Νםa⛔JÍ➷^䗖}ፖ|YK唺Ϟ͔ٔ㆔הєŔǍʔƔɔ̔ĔД_lfHǒpțfՔb▗t攇jƞPJcyUhHʔef蘒[঎cΜ͔mƜꏐndډhޑ|\㵐ḯg]tgqzwnH]\|\_s*[]\|b\_s*[zwtqn]\|\_s*[قւӂЂ]\|\_s*\|q\_s*K\|\_s*\|\_s*\|m\_s*[FC]\|\_s*}\|\_s*[ΐ]\|\_s*{\|S\_s*\|_\_s*\|p\_s*K\|\_s*\_s*F\|g\_s*[]\|T\_s*r\_s*i\_s*u\_s*r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*@\|a\_s*\|\_s*q\||\_s*\%(\\|\_s*\)\|\_s*\|\_s*q\|\_s*\|\_s*\|\_s*Z\|h\_s*e\_s*c\_s*t\_s*o\|\_s*\|c\_s*l\_s*a\_s*u\_s*s\_s*t\_s*r\_s*o\_s*p\_s*h\_s*o\_s*b\_s*i\_s*a\|\_s*\|\_s*\|\_s*\|E\_s*\%(r\_s*i\_s*o\_s*c\_s*a\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\|u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\%(\_s*\|\_s*\)\|\_s*i\|\_s*C\|\_s*\|\_s*\|\_s*\|\_s*~\|f\_s*\%(o\_s*r\_s*t\_s*e\|e\_s*m\_s*t\_s*o\)\|\_s*[R]\|\_s*t\|k\_s*\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|h\_s*\|\_s*\_s*\|~\_s*~\_s*~\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\|]\_s*c\_s*\|\_s*\|\_s*I\|\_s*\|\_s*\_s*\|\_s*@\|_\_s*[]\|I\_s*\|\_s*\|i\_s*a\|\_s*\|\_s*\%([lo]\|\_s*o\_s*\)\|\_s*\|\_s*\|f\_s*\|\_s*V\_s*q\|_\_s*[]\|\_s*l\|\_s*[ƁX]\|\_s*\_s*\%(\|\_s*\)\|A\_s*\%(s\|r\_s*s\_s*e\_s*n\_s*i\_s*c\|n\_s*g\_s*i\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\|\_s*f\_s*]\|\_s*\_s*\|\_s*[c]\|\_s*\|\_s*[B]\|\_s*\|\_s*\_s*\|h\_s*\|K\_s*W\|\_s*[js]\|e\_s*\|W\_s*\|\_s*q\|\_s*q\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|n\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|`\_s*\|\_s*\|N\_s*e\_s*l\_s*u\_s*m\_s*b\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|o\_s*\_s*|\|\_s*E\|\_s*\|\_s*[]\|y\_s*[t]\|q\_s*[fC]\|\_s*t\|\_s*\_s*l\|\_s*\|x\_s*q\|\_s*J\|\_s*\_s*\|Z\_s*\|\_s*\|\_s*]\|K\_s*[q]\|{\_s*\%(\_s*\|\_s*\)\|E\_s*[l]\|\_s*s\|w\_s*\|2\_s*\%([l“]\|\_s*\|0\_s*\)\|Q\_s*\%([l“]\|O\_s*[Γ]\)\|W\_s*|\|8\_s*\|q\_s*\|P\_s*\%(t\|o\_s*t\_s*a\_s*m\_s*o\_s*g\_s*e\_s*t\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*t\_s*i\_s*n\_s*u\_s*m\)\|C\_s*\%([if]\|\_s*\_s*\|f\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|R\_s*S\_s*I\|M\_s*\%(y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*c\_s*u\_s*r\_s*y\)\|F\_s*\|\_s*a\_s*_\_s*\|E\_s*[\_s*S\|\_s*\%([\|y\_s*[\_s*\|x\_s*[\_s*\|C\_s*X\_s*}\_s*\_s*X\|S\_s*[\|O\_s*m\_s*[\|}\_s*j\_s*\%(e\|X\_s*[g]\)\)\|\_s*\|\\_s*Z\_s*i\_s*\|\_s*\|\_s*`\|C\_s*\%(_\_s*\_s*S\|X\_s*p\_s*j\_s*A\|\_s*[\_s*\|G\_s*\)\|I\_s*\%([[]\|i\_s*[\|m\_s*\|\_s*t\_s*\_s*[\_s*\|l\_s*\%(X\_s*\%(g\|e\_s*B\)\|Q\_s*\)\|e\_s*\|\_s*K\_s*[\|}\_s*[\_s*W\_s*\)\|A\_s*\%(\_s*\%(\|x\_s*[\_s*\)\|l\_s*X\_s*g\|\_s*[\|_\_s*}\_s*[\_s*\|V\_s*F\_s*b\_s*g\|r\_s*^\_s*V\_s*I\_s*\|[\_s*\%(l\_s*X\_s*g\|m\_s*\_s*N\_s*[\_s*\)\)\|G\_s*\%(f\_s*B\|\_s*\_s*P\|\_s*\%(i\|[\_s*k\)\|\_s*C\_s*[\_s*Y\|N\_s*g\_s*\|\_s*\%(Q\_s*\|\_s*F\|\_s*X\|}\_s*\|~\_s*\%(b\_s*g\|[\_s*g\)\|u\_s*\_s*\|i\_s*\_s*f\_s*X\|L\_s*\_s*[\_s*\)\|m\_s*N\|b\_s*`\|C\_s*`\)\|\_s*[╽f]\)', \ 'I' : '\%([ʼn~ꍘcUTn翔䑌폒恍ݍrxÉj囚|dQU|軗ƑBd{佈S\嫉䆍mnؐFAtF泌ÌމLdƜјJiꌒՕakvɔžo֌yME|ځe퐈M臐YOΖZ}xא򌵉MՁO䗚P{b~N}zcct硉Ɏ䕟JsW]bK\Tฐ]rmПȈZԈTMΚÉCm覉@uBAAޛjHوΊֈYÈ1PDyIDR۔џʈዏHƍ֋Uhwψ͉]}ubv]Ό≝gМ@ES盈BΟݑPR҈ȊՉUגߛߘߛږˆ̈،܈Η͜}Ėˈԍs਒_ˑޗǓo֗DK~䏈ӈۈ؈ًїeXJzˁɈD聿hCIDŽyI]\|E\_s*\_s*[\_s*\|a\_s*\|J\_s*u\_s*n\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*R\|c\_s*J\|\_s*\_s*\|c\_s*\|G\_s*s\|\\_s*Z\_s*\|Q\_s*q\|G\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*G\|\_s*\|\_s*t\_s*\|5\_s*[“]\|T\_s*[“]\|\_s*E\|r\_s*U\|\_s*\|\_s*Y\|\_s*[\|\_s*\|~\_s*\|\_s*\_s*\|{\_s*\|o\_s*\|\_s*g\|Y\_s*[q]\|h\_s*[‘]\|@\_s*\|U\_s*r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|E\_s*[cR]\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|a\_s*\|d\_s*\%(`\_s*r\_s*s\|u\_s*d\)\|C\_s*\|w\_s*h\|\_s*\|]\_s*[oZ]\|\_s*\|K\_s*{\|\_s*q\|_\_s*\|\_s*\_s*\|\_s*r\_s*\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|\_s*\|r\_s*\|s\_s*\_s*\|o\_s*[E]\|\_s*[Wk]\|C\_s*[؎Q]\|\_s*\\|\_s*\_s*[ΒY]\|_\_s*F\|e\_s*\|p\_s*\%(\|g\_s*\)\|\_s*\_s*\|\_s*\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|\_s*[]\|<\_s*=\_s*=\_s*>\|K\_s*v\_s*\\_s*\_s*\_s*\|\_s*\|\_s*{\_s*A\_s*C\_s*E\_s*r\_s*[\_s*E\_s*G\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\_s*w\|W\_s*\_s*\_s*@\_s*\\)\|t\_s*\_s*U\_s*t\_s*[\_s*\_s*G\_s*\_s*\|\_s*\_s*q\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*^\|\_s*m\_s*[\_s*h\|i\_s*\%(A\_s*v\_s*\|P\_s*o\_s*d\|\_s*[\_s*h\|M\_s*a\_s*c\|m\_s*[\_s*h\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|A\_s*[\_s*@\|\_s*\_s*\|s\_s*\%([”@]\|[\_s*\)\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*S\|\_s*\%(A\_s*\|V\_s*t\|[\_s*h\|E\_s*f\)\|A\_s*\%(C\|[\_s*\%(\_s*B\_s*\|r\_s*\)\|\_s*\%(v\_s*\_s*\_s*v\_s*\%(`\_s*\|e\_s*\)\|f\_s*p\_s*\_s*_\_s*\|t\_s*H\_s*\_s*\%(\_s*\|}\_s*e\_s*B\_s*[\_s*N\)\)\)\)', \ 'J' : '\%([󓈎ȓǎwxHÛKHԘᶙbiu@vސnՉ`rxosqwptlŏғ䴞`䥝募tJ珊RPԟiUㅏ{o媝mh鈐YtY竐jg@Ïꏗ`~]吷꞊󝵏GAژhGQ榜휵@uQxhmnpqmm⢙Ï|⡓՟~[x{䤏zy}}汎GEsn𘸏^F_`Oca_Y[b]\Zedm莣^y~iJ玎Ȓn􎤎~ImVkqHjaZd䢎mݝ苎Ҏ׋YlDuE`_ivFJWzJ]\|\_s*\_s*\|b\_s*W\|\_s*\|G\_s*\%(\_s*\|p\_s*\)\|Z\_s*\%(r\|i\_s*r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\)\|D\_s*y\|f\_s*\%(\_s*\|p\_s*\)\|x\_s*x\|\_s*\|c\_s*\_s*\%(\_s*\|c\_s*\)\|Q\_s*\|2\_s*\|\_s*q\|b\_s*\_s*\_s*\_s*\_s*\_s*M\_s*h\_s*p\_s*\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|[\_s*\%(\|\_s*\)\|`\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|R\_s*l\|y\_s*_\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*r\_s*\|\_s*v\|\_s*\|\_s*\|\_s*\|\_s*[@S]\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*q\|\_s*\|P\_s*\%(Q\|O\_s*[i]\|P\_s*\|U\_s*i\|W\_s*\)\|t\_s*\|\_s*\|R\_s*\|1\_s*\%(0\|1\_s*\|8\_s*\|2\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|O\_s*\_s*\|\_s*\|G\_s*\|\_s*\|\_s*q\|\_s*\_s*\_s*\_s*\|j\_s*\%(T\_s*e\_s*X\|L\_s*a\_s*T\_s*e\_s*X\|B\_s*i\_s*b\_s*T\_s*e\_s*X\)\|[\_s*\_s*[\|G\_s*\%(z\_s*o\|\_s*R\|\_s*~\_s*\|\_s*T\_s*\_s*\|b\_s*T\_s*C\)\|w\_s*\%(\_s*X\|X\_s*X\)\|q\_s*\_s*l\_s*X\|`\_s*Q\|k\_s*\_s*\_s*[\_s*\%(\|\_s*w\_s*Z\_s*p\_s*\_s*w\_s*@\_s*\_s*w\)\|n\_s*\%(C\_s*\|\_s*y\_s*[\_s*j\_s*\)\|\_s*\|\_s*\%([ji[]\|C\_s*\|G\_s*\|\_s*m\|\_s*h\|k\_s*\%(X\|V\_s*\)\|X\_s*p\_s*[\_s*X\|R\_s*[ru]\|b\_s*P\)\|t\_s*\%(@\_s*[i]\|\_s*[IA]\)\|Y\_s*{\_s*\|\_s*\%([n_m]\|\_s*Q\_s*\|[\_s*\%([m]\|Q\_s*\_s*g\|f\_s*B\_s*b\_s*g\)\|\_s*\%(O\|J\_s*[\|P\_s*\)\|s\_s*e\_s*\|b\_s*[JV]\)\|C\_s*\%(G\_s*\%([iX]\|\_s*\%(X\|Z\_s*\)\|Y\_s*X\)\|F\_s*\%(i\|\_s*\%(X\|Z\_s*\|[\_s*\)\|[\_s*K\_s*[\|\_s*\%(N\|T\_s*\_s*\)\)\)\|z\_s*\%([^Z]\|\_s*w\|z\_s*o\|A\_s*\%(\|L\_s*\)\)\|\_s*\%([ui]\|\_s*\%(O\|_\_s*\)\|G\_s*\|A\_s*\%(q\_s*\|L\_s*\)\|[\_s*t\|[\_s*\%([gh]\|f\_s*\|[\_s*t\)\|V\_s*\%(t\|\_s*A\)\|Z\_s*t\|n\_s*[il]\)\)', \ 'K' : '\%([a|єVҜDޏnsߐE}ĈۗⵘᶎsЌfꎖIzEꑍC欉䓚䢐ৎuS}Y┍ɗ`nXMȍ뜝k卭ӍeWEQLm՘i՝Qf肝Kਗ਼Ჟ騟}{㝛ҟL`tiBRH{ൟHs秝nn˝JܔXLJyߛbM褜rRt莘mjE硍hklKᦜnK}֞\囍yෙΜˍxuXSe倘Ji^V@AWGDT`ᩍBԍp]iPIzt_KkOjRwUuPaI|qsmrcDޞJܛwL΍WێЛZÖs烌gםsؑeⰏuČٌ̟]|Vx֒绌я嚙hʉzqnjԌך➳ҔÏ˗Zꉟh@Zes|qWO׏b]{ȌtӘnKPB^_[rK{CՙLٜšw_J]p[iNJyʌ㮛ӌ@ęF鄌Ō|wZDờlc⠞fa犌l_Ϝlg۝kڙ㋜dPnrz壌u殌ek\gbYp]v[RقƔzɟKMzⱟJ㖍򍥛IHEzboxܗADBӏ~B䱌sZY㙬ᯞӛMֈϏvLK@{^Z򏾓^鶔ňʈUÑqC~ܒwo^鿌~GF䇚`p̏LYƌIގԚPMEu{OoӞcHE|―ĜῙ܌JɍCgm؍HᜁvgM˙iwGJrzW__loC∋̛mG摞d~焌N۟A@^ϛlɝhhfkeiD܁ʁI灓}EBWb\WM񁝁{PRUA_G偅XLJd󁃁Z]QFSHOCacVK⁘T^Ɂ[|ၐ򁪁N߁Y䉌s׍@ܞXan݋j~gݜv⯝vRՋڋ[azҝЋی׋؋ы͋ՋӋϋًދԋߋ֋ΉR䐝_蝨⦘c`篋ыNj|y㳛I⸋蝜^t⧜t⁙KÍ⟍[swOvSOvh➍FpZig݋xZNj]䰋񋧋o運dqk髟_pk溂X}t瓌ËuӋyZP|l{vux~}zYMqJƟCPk؋WkdqbHP_bᡚyɌVcڑ限EKYR_眎Mu{GLDIaΊNhXߛ֗WB뛞D؋Q恟㲊韀uHҋSU昊،rrʝuMF^JBQiPXOᘊyNJr݊jƌyĈꁽeAiMʕrPTMvrᚌfjqseghpotrƒb鹜NJDRUğdᥛzpȌڋAԓ雛_Bߗދȋ\Ί͏ۋwdTezJxŌ`ӌ^HȔXR㎎CPqŠ锯閊@Њ|ȁ嶝^艔噞J㹊{歒Se顊j舊sFጐdP}gya`fSWmeO]ݑڙ̛@FOkP\[ಉGh@󓂞Њ~yۍ\}ɐ͘V،~ऐc͌bwuxvXÕLꖊCGKƓC魜SRД߈Kv֓S哑tݓkLSښ湛誝ᙚٚ]d䡜QIvn跏ʜh\frnzyklmkgcstio݉Bvldjߊgqupm嵚W~[ZB͙GrqʟD䠜j珞iƙd^񔐘\X{Ž\箊IؘrH_j~_F׊@EmLGDŊAKJCI䯘Yᷛep՟bNボ錝AQaT㼛㻛fW`c洟a⻝qj鉙ɞ쏁㣟V뙁Mϊ䅟jFrȟ綝mlb˙_xpᒔcAg⭊|}ۚۊ@يΞ؊󊩐ҊȊ@ʊŞ̊ɊƜAL萊ъŠԊ׊ՊĚ^ÊNJ֊͊ϊwxsqPgӊea㞎ʼnؚĝ̎dˉZΓٌq҃斉vqЎx|ۉԌQ|ўh`ܛ嘉]Ǝ؉㟋zɉÈՉʜF荊ЌCa{`ekJm”ޚ썁͉̉ώoז◚DSlόUґݙ͉щݙljӌT旞g~߉惕砌ĉጜƏ戉Č͉ۂ߄VR`ijN~qԃLJK{PK]\|\_s*[]\|b\_s*[RPNLJ]\|\_s*[q]\|O\_s*\|\_s*\|\_s*\_s*\|\_s*J\|H\_s*\|\_s*\_s*\|\_s*\|\_s*y\|\_s*F\|\_s*\|\_s*\|S\_s*\|M\_s*e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|O\_s*A\_s*\|\_s*u\|\_s*\|\_s*\|S\_s*i\|\_s*\|S\_s*[Z]\|9\_s*[]\|^\_s*{\|Q\_s*O\|\_s*\|\_s*|\|T\_s*\_s*\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|T\_s*\|\_s*\|c\_s*r\_s*e\_s*s\_s*c\|\_s*\_s*\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|Z\_s*\|n\_s*_\|s\_s*q\|B\_s*\|z\_s*n\|k\_s*i\_s*l\_s*o\|\_s*[qV]\|\_s*\|m\_s*F\|\\_s*\|\_s*\_s*\|X\_s*e\|@\_s*\|\_s*s\|\_s*\|f\_s*n\|\_s*\|\_s*z\|G\_s*o\_s*l\_s*d\|A\_s*\%(u\|r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|s\_s*t\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\_s*\|\_s*\|R\_s*\%(h\_s*\%(o\_s*e\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\)\|u\_s*n\_s*u\_s*n\_s*c\_s*u\_s*l\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|a\_s*n\_s*\%(u\_s*n\_s*c\_s*u\_s*l\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*l\_s*e\_s*s\)\)\|\_s*\|e\_s*[]\|o\_s*[]\|j\_s*[]\|{\_s*\|n\_s*\|X\_s*\%([]\|\_s*\)\|\_s*\|\_s*Z\|\_s*q\|\_s*T\|\_s*\|z\_s*\|\_s*x\|R\_s*\%(\_s*q\|z\_s*\)\|j\_s*\|\_s*\_s*\_s*\|}\_s*\|\_s*\%(\|`\_s*\)\|\_s*\|\_s*[]\|\_s*\|V\_s*\%(\|l\_s*\)\|\_s*q\||\_s*\_s*\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|t\_s*\|\_s*r\|\_s*Z\||\_s*\|\\_s*\|]\_s*\|\_s*\|\_s*q\_s*\|\_s*[ay]\|\_s*\|\_s*\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*R\_s*q\|\_s*\|\_s*\|\_s*\|y\_s*\|A\_s*g\|g\_s*\|\_s*t\_s*\|C\_s*\%([ormdfa]\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\|i\_s*r\_s*c\_s*a\_s*e\_s*a\_s*s\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*r\_s*i\_s*u\_s*m\|e\_s*r\_s*c\_s*i\_s*d\_s*i\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\)\|\_s*\%(\|q\_s*\)\|\_s*\|\_s*\|Z\_s*\%(c\|C\_s*\)\|\_s*\|\_s*[{v]\|\_s*\%(\|\_s*s\_s*\_s*\_s*w\_s*Z\_s*p\_s*\_s*w\)\|(\_s*\_s*)\|\_s*q\|\_s*\_s*\|\_s*\|\_s*\|m\_s*\%(\|\_s*\)\|~\_s*\_s*\|o\_s*c\|Y\_s*t\|\_s*[Iv_]\|\_s*_\|B\_s*\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|m\_s*\%([uE]\|[\_s*\|b\_s*\%([gN]\|e\_s*B\_s*\_s*O\|J\_s*[\|L\_s*\_s*O\)\)\|i\_s*\%(b\_s*\%(N\|v\_s*\%(T\_s*b\_s*N\|U\_s*b\_s*N\)\)\|\_s*b\_s*W\|C\_s*[tgc]\)\|j\_s*\%([\|b\_s*\%(g\|e\_s*B\_s*\_s*O\)\)\|z\_s*\%([\_s*\%(~\_s*[\|\_s*C\)\|\_s*C\_s*j\)\|t\_s*\%(r\_s*\_s*C\|\_s*V\_s*`\_s*\_s*t\)\|n\_s*\%(\|\_s*V\_s*\_s*[\|[\_s*\|o\_s*\_s*t\_s*X\_s*N\|\_s*c\_s*[\_s*\|`\_s*\_s*g\_s*D\_s*\_s*A\_s*\)\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|a\_s*p\_s*a\_s*v\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|o\_s*\%(d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\)\)\)', \ 'L' : '\%([HFDB@PQʁ΁́Ƀkȃ|LL]\|\_s*[]\|b\_s*[HFDB@]\|\_s*[]\|t\_s*\|\_s*\_s*2\_s*\_s*@\|\.\_s*\.\_s*\.\|f\_s*F\|l\_s*-\_s*\_s*\_s*g\_s*[\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*z\|\_s*\|E\_s*G\|\_s*\|w\_s*K\|{\_s*\|\_s*\|_\_s*\|\_s*\%([LCAu{gEXRSO[]\|y\_s*X\|\_s*[\_s*\|G\_s*x\|\_s*\|t\_s*g\|\_s*J\|x\_s*\_s*A\|r\_s*\%([\|\_s*O\|C\_s*\%(X\_s*g\|\_s*O\)\)\|e\_s*B\|T\_s*\_s*\%(W\_s*F\_s*\_s*X\|[\_s*\_s*X\)\|j\_s*[\|N\_s*\_s*A\_s*\|b\_s*\%([W^egN]\|L\_s*\%(\_s*O\|[\_s*h\)\|J\_s*[\)\|J\_s*[\_s*\|P\_s*[\_s*\%([g^]\|V\_s*\_s*\)\|K\_s*[\|M\_s*\_s*O\|W\_s*\%([\|e\_s*b\_s*N\|X\_s*e\_s*B\_s*\%(N\|b\_s*N\)\|J\_s*\|N\_s*[\_s*\|b\_s*[gN]\)\|\_s*\|\_s*\%([SO_]\|{\_s*\%(N\|b\_s*N\)\|o\_s*\_s*f\_s*B\|Y\_s*f\_s*[\_s*\|\_s*[B[]\|W\_s*\|h\_s*\)\|\_s*\%(A\_s*\|b\_s*^\|[\_s*k\|C\_s*\|\_s*\%([\X]\|c\_s*H\)\)\)\|\\\_s*L\_s*a\_s*T\_s*e\_s*X\|\_s*\_s*\|G\_s*\|\_s*\%([BZYUTX_|}imkuA[]\|\_s*}\|\_s*h\_s*\|\_s*\|]\_s*`\_s*[\_s*\|R\_s*\%(\_s*X\|s\_s*\)\|N\_s*[\_s*h\|J\_s*\%([\|I\_s*\)\|W\_s*[[]\|f\_s*[B]\|h\_s*J\_s*C\_s*\|v\_s*g\_s*\|p\_s*[\_s*[\|O\_s*\%(j\_s*\|i\_s*\)\|t\_s*\%([Gg]\|^\_s*[\|e\_s*B\_s*\_s*O\)\|e\_s*\_s*[V]\|`\_s*E\_s*\|\\_s*\%(\\_s*[\_s*\|O\_s*\_s*t\_s*B\)\|^\_s*[\|g\_s*\%([]\|}\_s*X\|A\_s*j\_s*A\|O\_s*\_s*t\|o\_s*\_s*X\_s*L\_s*[\)\|I\_s*\%(^\_s*[\_s*\|l\_s*\)\|~\_s*\%(e\_s*b\_s*h\|b\_s*[^g]\)\|\_s*\%([\_s*W\_s*\|l\_s*\|\_s*`\_s*F\_s*b\_s*\)\|\_s*W\_s*\|L\_s*\%(b\_s*h\|\_s*[\_s*\|e\_s*\_s*\%(X\_s*^\_s*C\_s*\|V\_s*\_s*^\_s*C\_s*\)\)\|G\_s*\%(]\_s*\|[\_s*W\_s*\)\|q\_s*e\_s*\_s*V\_s*\_s*^\_s*C\_s*\|l\_s*\%([A]\|b\_s*g\|[\_s*W\_s*\)\|j\_s*A\|x\_s*\%([]\|\_s*A\|\_s*[\_s*V\_s*\_s*\|\_s*e\)\|r\_s*\%([A[]\|h\_s*[\|\_s*O\)\|\_s*\%([X[]\|u\_s*\_s*\_s*[\_s*i\|\_s*\|h\_s*~\_s*\|N\_s*T\_s*\_s*u\_s*[\_s*\|b\_s*N\|V\_s*A\_s*\|~\_s*G\_s*[\_s*\)\|\_s*\%(C\|\_s*O\_s*E\_s*F\)\|\_s*\%(B\_s*\_s*O\_s*X\_s*g\_s*\|@\_s*\%(v\_s*[\_s*\|C\_s*A\_s*T\_s*\)\)\|o\_s*\%(e\_s*B\|^\_s*\_s*A\_s*\%(\|j\_s*Y\_s*\)\|v\_s*[\_s*\|C\_s*A\_s*T\_s*\)\|b\_s*\%([hsv^N`g]\|X\_s*\)\)\)', \ 'M' : '\%([ӊߝϙ~EぞIJ䈐ЎtuqvUpݑmXޖ\~Җߋ̋bf{eҖٖ۟՟G̞NaCܖS֖іЖҖێ]RkᑔRȖ͕֞G̖ΎrݒWϏږӛRㅖG̎bpcᾖɖ˖ǖȖʝŖҖǖɓzї㸋X}ٖV񛘊[|rm籕S}絓ԘAWp~׏@d⚕ړkJ⥐ĐIßz峒ۚ䖹ٖdQZxxNaDYKICTΗXO̎SZBݜDXL薦ޑْÁvpxzEG⊖ɗΔFaϓrʘH韌ΎM倐ᡞ䪖s{SAQ`֞捐vP閨{FŜ\rVmfOϔ[[p䖣Ȑgϖ▕naῖא\ݟ{fB坏㇓㕓I帑^]ߋ[]HoqhƉMϔ도dhʉqږp鞔C䍕̓h|{Š׈wleCdꠖqxfUXODEBKji~ەבSuҖKwQҖĖĘdG簖ڞ_aJZՖ攉V{顜јԛIԙ\ݖޖ呾GM挫D󏫐m_U䝔nݑԕ]vsҖT֍vږᄐϐ^dșɎG܌򃀁ʁ܁ځ}́΁ށȁ聹偅惢ˁہ́⁈~Ɂ߁݁䁾֖Zl|}Ń~MM]\|\_s*[]\|b\_s*[~}]\|\_s*[߂ނ݂]\|g\_s*[t]\|o\_s*\%([ne]\|\_s*\|\_s*\)\|\_s*o\|\_s*y\_s*\%(\|\_s*\)\|\_s*\%([pen]\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*z\_s*\|k\_s*~\_s*\|\_s*\|\_s*p\|\_s*\|\_s*\_s*\|O\_s*l\_s*e\_s*a\_s*l\_s*e\_s*s\|\_s*R\|\_s*\_s*\|j\_s*E\|\_s*\|\_s*[N]\|n\_s*\_s*F\|t\_s*\|J\_s*\_s*\|v\_s*w\|\_s*\|z\_s*\_s*q\|v\_s*\%([pL]\|`\_s*\|H\_s*q\)\|\_s*\|U\_s*\|6\_s*\|\_s*c\|\_s*w\|\_s*\|\_s*]\_s*q\|\_s*n\|B\_s*\%(e\_s*r\_s*b\_s*e\_s*r\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*o\_s*r\_s*r\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|Y\_s*\|\_s*q\|k\_s*\$\_s*_\_s*{\_s*i\_s*n\_s*f\_s*}\_s*\$\|t\_s*m\|A\_s*\%(b\_s*i\_s*e\_s*s\|p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*r\_s*o\_s*s\_s*t\_s*i\_s*c\_s*h\_s*u\_s*m\)\|R\_s*\|\_s*\|e\_s*\|_\_s*[q`]\|d\_s*\|\_s*\|\_s*\|c\_s*[q]\|3\_s*[“]\|R\_s*[“]\|p\_s*[q]\|\_s*\|\_s*\|c\_s*\|C\_s*[_]zIR]\|P\_s*o\_s*d\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*[Y]\|\_s*s\|[\_s*]\|\_s*\|\_s*\|e\_s*O\|R\_s*u\_s*t\_s*a\_s*l\_s*e\_s*s\|s\_s*\%(\|\_s*[_]]\)\|\_s*l\_s*}\_s*\_s*m\_s*X\|\_s*X\|\_s*\|\_s*\|\_s*\|\_s*[XЎ]\|\_s*\|S\_s*\|\_s*h\|\_s*\|\_s*\|\_s*\_s*\|{\_s*B\|\_s*v\|\_s*[o]\|\_s*\|}\_s*n\|L\_s*o\_s*g\_s*a\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*b\|\_s*m\|S\_s*\%(a\_s*p\_s*i\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|c\_s*h\_s*i\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|C\_s*\%(a\_s*s\_s*u\_s*a\_s*r\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*a\_s*t\_s*o\_s*p\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\)\||\_s*\%(\_s*l\|\_s*\)\|H\_s*a\_s*m\_s*a\_s*m\_s*e\_s*l\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*[V]\|\_s*F\|S\_s*j\|\_s*q\|\_s*[P]\|\_s*\_s*N\|\_s*v\|\_s*\_s*\_s*\|\_s*-\_s*q\_s*m\_s*`\|j\_s*[\_s*\_s*j\_s*b\_s*N\|P\_s*\_s*\|\_s*c\|a\_s*z\_s*[]\|\_s*\_s*q\|\_s*\_s*]\|s\_s*[K]\|\_s*\|\_s*\%(\_s*\_s*\_s*h\_s*q\_s*\_s*\_s*\_s*\|{\_s*\)\|m\_s*\%(u\_s*l\_s*t\_s*i\_s*l\_s*i\_s*n\_s*g\_s*u\_s*a\_s*l\_s*i\_s*z\_s*a\_s*t\_s*i\_s*o\_s*n\|i\_s*\%(c\_s*r\_s*o\|l\_s*l\_s*i\)\|e\_s*\%(g\_s*a\|z\_s*z\_s*o\_s* \_s*\%(f\_s*o\_s*r\_s*t\_s*e\|p\_s*i\_s*a\_s*n\_s*o\)\)\|a\_s*\%(k\_s*e\_s*t\_s*@\_s*C\_s*\|d\_s*e\_s* \_s*i\_s*n\_s* \_s*J\_s*a\_s*p\_s*a\_s*n\)\)\|v\_s*Z\_s*@\|\_s*\|U\_s*b\_s*w\_s*\_s*\_s*}\_s*]\_s*b\_s*z\|n\_s*s\_s*I\_s*\_s*\|\_s*s\_s*\%(\_s*\|\_s*\_s*\)\|C\_s*m\|\_s*\|\_s*\|G\_s*\)', \ 'N' : '\%([ɏC҈jMlAjfwaXHpLՋH]`kc䊉ѓoьْE{JW@ГTK鑥͋XINӞGcIX^]\_UޔWژZVLqہ|Z‚Țˑ_o^EDJCꋑlXLisMJൔKR_QORNSlPIBQםHqǚ\啼KL刐@zXޓF܍fzGE{DzUѓhƝ^吒SLERP{e֏AEUД@PEɔB轟WstxwZKXfאnE͔DFClʋѐV_a玂QƓ獐m򎗉2OrW㊓ckj›DTlSVQewoԎPYg糕粓Q^垙ĎCΉYّӓHaË[ymܗGXƖČ`Ɖrဗviax܏AE}VΎ̔TRf훕jsϞoo񁽁ˁK⍉֚a[ߝ\rPnTˆbޏLྒྷލ؋S~eȄޖjlmʁ`ikmN~N]\|\_s*[]\|b\_s*[mlkji]\|\_s*[̂˂ʂɂ]\|\_s*\|\_s*q\|\_s*\|x\_s*U\|\_s*\_s*\|\_s*\_s*\|T\_s*[|]\|\_s*C\|t\_s*\|g\_s*[C]\|j\_s*[]\|\_s*]\|L\_s*\|\_s*\|F\_s*q\|\_s*[@q]\|P\_s*q\|\_s*q\|\_s*\_s*\|h\_s*V\|q\_s*|\|\_s*\_s*\|\_s*\_s*\|m\_s*\|\_s*\|\_s*\|\_s*\|\_s*]\_s*q\|_\_s*\|\_s*P\|I\_s*I\_s*\|^\_s*\|\_s*\|\_s*\| \_s*2\_s* \_s*\_s*\_s*\|M\_s*y\_s*r\_s*i\_s*s\_s*t\_s*i\_s*c\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\%(f\|\_s*\)\||\_s*\|\_s*|\|\_s*T\|s\_s*[]\|P\_s*b\|L\_s*e\_s*a\_s*d\|C\_s*[ۑl]\|C\_s*\%(e\_s*l\_s*a\_s*s\_s*t\_s*r\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*r\_s*y\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*\%(\_s*\|\_s*\)\||\_s*\_s*\|7\_s*[]\|\_s*\|n\_s*k\|\_s*\|s\_s*\|\_s*\_s*X\_s*g\|T\_s*h\_s*e\_s* \_s*N\_s*e\_s*t\_s*w\_s*o\_s*r\_s*k\_s* \_s*I\_s*n\_s*f\_s*o\_s*r\_s*m\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\|S\_s*o\_s*\%(l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|d\_s*i\_s*u\_s*m\)\|\_s*\%(\|\_s*\|\_s*\_s*\_s*\_s*\)\|R\_s*\|t\_s*H\_s*\_s*E\_s*m\_s*C\_s*}\_s*\|\_s*[\_s*m\_s*b\_s*V\_s*\_s*E\_s*t\_s*H\_s*\_s*E\_s*m\_s*C\_s*}\_s*\|I\_s*\_s*\_s*_\|A\_s*\_s*\_s*J\_s*l\_s*b\_s*g\_s*\_s*[\_s*N\|\_s*\|\_s*_\|\_s*z\_s*\|n\_s*\%(\|a\_s*n\_s*o\|o\_s*t\_s* \_s*o\_s*r\)\|\_s*\|\_s*\|\_s*f\|G\_s*k\)', \ 'O' : '\%([ݜbSMoNOÌQjwdЊdYnnx遌ssና{≬ݕLڜP؋y߁WSVTRUXy􋳙{E⫝e}tcC筞[҉x^拑`q`ƊxsN˗uBbdeȊe퐊Kȉ򚙁aCO݈җ㱕zv\dʋUK{|wS^g]㠟iҜ}Dᜳ[aQ_NRVMן^q቉rSB蜊׉Wꉞʜ䉆WTgEcTٖQPѕ}ʼnY[”uN|ǛܚǕĐDVEjvɋNOj؟Ɍ䏏֒Y~щI偝aɁJnÓփIO]\|\_s*\_s*\_s*\|\_s*p\|\_s*u\|\\_s*\_s*\|S\_s*\|C\_s*\_s*C\_s*\|\_s*\|\_s*@\|\_s*\|\_s*\_s*\|\_s*\|n\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\|T\_s*[]\|\_s*[q]\|f\_s*[]\|\_s*[]\|H\_s*\|\_s*\|\_s*C\|G\_s*u\_s*t\_s*t\_s*i\_s*f\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|D\_s*i\_s*l\_s*l\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|H\_s*y\_s*p\_s*e\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*p\|\_s*[q]\|\_s*N\_s*\|{\_s*\_s*\|\_s*\|\_s*b\|A\_s*l\_s*i\_s*s\_s*m\_s*a\_s*t\_s*a\_s*l\_s*e\_s*s\|K\_s*\|\_s*l\|\_s*c\|C\_s*o\_s*p\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|o\_s*\_s*U\_s*\%(\|\_s*\)\|\_s*m\|\_s*\|\_s*]\|\_s*g\|\_s*\|\_s*\_s*\_s*P\|A\_s*[zn]\|\_s*[H]\|}\_s*\|\_s*F\|w\_s*n\_s*}\|\_s*\|z\_s*[imqx]\|\_s*\|c\_s*[_]\|\_s*O\|]\_s*c\_s*[ꕃ]\|\_s*[~C]\|\_s*\%(c\|\_s*\_s*\|\_s*V\_s*c\)\|\_s*\|\_s*[G]\|\_s*\_s*\|\_s*m\_s*\_s*\_s*\_s*\_s*\.\|G\_s*[]\|t\_s*h\_s*e\_s* \_s*O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*a\_s*n\_s*a\_s*g\_s*e\_s*m\_s*e\_s*n\_s*t\_s* \_s*G\_s*r\_s*o\_s*u\_s*p\|\_s*\_s*d\_s*@\|E\_s*\|\_s*~\|E\_s*\%(B\|[\_s*\%(Y\|\_s*\)\|\_s*{\_s*\_s*X\)\|o\_s*\|A\_s*\%(\|U\_s*[\|E\_s*\%([`g]\|^\_s*[\)\)\|\_s*{\_s*\\_s*t\_s*g\_s*E\_s*F\_s*A\|\_s*\%(\_s*[N]\|\_s*\)\|\_s*\|\_s*\_s*\|_\_s*\_s*a\|\_s*\_s*\|\_s*\_s*_\_s*f\_s*j\_s*\_s*\|`\_s*\_s*\|\_s*K\_s*\|\_s*\|\_s*Z\_s*q\|\_s*\|_\_s*f\)', \ 'P' : '\%([BC@{sܕەy~Օҕ糕ѕ粛ؕzCUߕ[iᢔpoǕƔŔ•zusvtjHgdωՂҁ}{ՃӄkDoE_v|Łji݁aypPӃ΃sP]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[|yvsp]\|\_s*[ۂ؂Ղ҂]\|\_s*\|\_s*l\_s*\|\_s*\|O\_s*[ID]\|\_s*\|\_s*R\|\_s*D\_s*\|\_s*\|\_s*`\|\_s*\|\_s*\|\_s*q\|b\_s*\%(\|\_s*n\)\|C\_s*y\_s*c\_s*l\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|S\_s*y\_s*n\_s*a\_s*n\_s*t\_s*h\_s*a\_s*e\|r\_s*\|B\_s*r\_s*o\_s*m\_s*e\_s*l\_s*i\_s*a\_s*l\_s*e\_s*s\|L\_s*e\_s*a\_s*d\|\_s*[Ž]\|V\_s*\%(\_s*[\_s*h\|\_s*V\_s*r\_s*\)\|T\_s*\%([\_s*\|C\_s*\%([YNPR]\|\_s*V\_s*r\_s*\|\_s*E\_s*\|L\_s*b\_s*N\)\)\|+\_s*\|z\_s*\%(\|X\_s*Q\_s*\)\|q\_s*\_s*|\_s*\|\_s*\%(z\|\_s*o\)\|t\_s*\%(\_s*W\_s*A\_s*\|\_s*\%(C\_s*W\_s*\_s*O\|[\_s*\%(Y\|W\_s*\_s*O\)\)\|^\_s*\_s*C\_s*\|H\_s*\%([[mg]\|{\_s*X\|r\_s*A\|X\_s*t\_s*@\_s*[\|j\_s*[\)\|@\_s*\%(C\|\_s*I\|[\_s*\%([W}]\|~\_s*\_s*O\)\|\_s*\%(g\_s*\|^\_s*Y\_s*[}]\)\|\_s*[cX]\|\_s*m\_s*v\_s*V\_s*X\)\|B\_s*\%([]\|W\_s*\%(b\_s*N\_s*X\|J\_s*\)\|[\_s*r\_s*[\|b\_s*V\_s*\_s*O\|\_s*\_s*\|\_s*f\_s*\_s*t\_s*B\_s*A\|\_s*\%([X[Ap]\|b\_s*[vp]\|s\_s*\%(\|[\_s*k\)\)\)\|F\_s*\%([\_s*\%([xY]\|W\_s*\_s*O\)\|C\_s*Y\|\_s*\_s*\|j\_s*\%(\|b\_s*N\_s*X\|L\_s*A\|[\_s*\)\|m\_s*\%(L\_s*V\|[\_s*\)\)\)\|q\_s*\|\_s*\|^\_s*\_s*p\_s*N\_s*\|\_s*\|\_s*\_s*\|i\_s*s\|Z\_s*\|\_s*\|\_s*Z\|\_s*`\|\_s*\|^\_s*\|i\_s*\|J\_s*\_s*E\_s*\|\_s*\_s*\|d\_s*\_s*\|\_s*\_s*^\|o\_s*e\_s*\_s*\|\\_s*\_s*t\_s*\|_\_s*\|\_s*\_s*[a]\|\_s*\|\_s*\|p\_s*\%(T\_s*e\_s*X\|H\_s*\_s*[\_s*^\|e\_s*\%(t\_s*a\|r\_s*l\_s*X\_s*N\_s*\_s*v\_s*g\)\|i\_s*\%(c\_s*o\|a\_s*n\_s*\%(o\|i\_s*s\_s*s\_s*i\_s*\%(m\_s*o\|s\_s*s\_s*i\_s*m\_s*o\)\)\)\)\)', \ 'Q' : '\%([zɟKMz՟J㖍򍥛IHEdzboxܗAϕDCBӊǏ~B䱌sZY㙬ᯞӉOM֌NϏvLK@{^Z򏾓^A鶊rňʈUÑq𞀋C~XVTRUWS܉_wo^鿌~GF䇚`p̏LY۞IȊfsގԚPMEu{[O֞oӍ@󞔐ȓScSHqvE|―ĜvꋀῙ܌JɍCg틂{m{X؍Hᜁv㜜ҙg电M͋ˋpegfhPHNQ]\|\_s*\|b\_s*N\|\_s*\|\_s*\|\_s*\|~\_s*\|\_s*\|\_s*S\|S\_s*[Z]\|\_s*\_s*x\|\_s*\|\_s*h\|9\_s*\|\_s*\|^\_s*{\|\_s*\|Q\_s*O\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|V\_s*l\_s*\|\_s*|\|T\_s*\_s*\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|T\_s*\|\_s*\|c\_s*r\_s*e\_s*s\_s*c\|C\_s*\|\_s*[{]\|\_s*\_s*\|K\_s*r\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\%([ƕE]\|o\_s*\)\|\_s*\|\_s*C\_s*a\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*\|Z\_s*\|n\_s*_\|s\_s*q\|B\_s*\|R\_s*\_s*q\|C\_s*\%(r\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\)\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|\_s*s\_s*N\_s*\|`\_s*\_s*\_s*\_s*\_s*}\|w\_s*x\|R\_s*\%([\_s*\_s*\|\_s*e\_s*B\_s*t\_s*@\_s*C\_s*A\)\|\_s*\_s*\|J\_s*\%(U\_s*\|^\_s*[\_s*\|X\_s*o\|[\_s*k\_s*[\_s*\|i\_s*[\_s*g\|_\_s*t\_s*B\|\_s*e\|h\_s*\_s*[\_s*[]\|\_s*\%(`\_s*[GF]\|e\_s*\%(B\_s*G\|b\_s*g\)\)\|\_s*^\_s*[X]\)\|\_s*\|L\_s*\%(g\|u\_s*\|z\_s*[\_s*e\|n\_s*[\_s*_\|\_s*\%(g\|e\_s*B\_s*\_s*O\)\|[\_s*\|m\_s*\|b\_s*V\_s*\|\_s*\%([\|G\_s*\)\)\)', \ 'R' : '\%([ۛŘӛĚ̉h_R{]Ә[\U^cRP˞ulMCL属譚NdיCROcYᑘLSQXᔘWOUĘTRNb@F࢔GmedibIE炍䃟LBڟ׊aeUxvYZYtXF䫗ᖗw灟KMlI瀗qずwYQrQݗ@BA٘Hḟpᐗ㾗ۗݗZ~Kಝ_×ɌIʙZCXYVg×ڛPᎊ}֗ᅗPXaМHW˗Ԝdhgҙzؗϙחїӗ՗WOC͗`鲛饗؞Ax@_]qyp֝H×㇗ߗƗȗ열ɋʗ̚iś胗ؗܘA鋗i\ߗ仂טJəVOgTpREY㑟SB՛ۛnAࣗa茗E煚h඗pyqQ㡟ISۗᚘ痋엇tff逗ǂESqGBJH[wxIT`rKR|FVOW^XU\ZDAIYzM{Pst}NLvpyu@C]E_~D֍㗅XqQσR]\|\_s*[]\|b\_s*[]\|\_s*[]\|\_s*\|\_s*[L]\|h\_s*[Eߎ]\|6\_s*[]\|\_s*\_s*\|E\_s*G\|\_s*\|A\_s*\%(c\_s*t\_s*a\_s*e\_s*a\|p\_s*o\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|C\_s*\%(a\_s*l\_s*y\_s*c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|h\_s*o\_s*r\_s*i\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|\_s*[]\|\_s*\%(\||\_s*\)\|V\_s*e\_s*r\_s*t\_s*i\_s*c\_s*i\_s*l\_s*l\_s*a\_s*t\_s*a\_s*e\|O\_s*r\_s*c\_s*h\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|M\_s*i\_s*c\_s*r\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\|L\_s*\%([ruia]\|e\_s*i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*a\_s*l\_s*e\_s*s\|A\_s*N\_s*P\_s*[\_s*u\_s*\)\|C\_s*\|G\_s*\%(e\_s*n\_s*t\_s*i\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|y\_s*\%(n\_s*a\_s*n\_s*d\_s*r\_s*a\_s*e\|m\_s*n\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\)\|\_s*W\_s*f\_s*[\_s*^\_s*x\_s*[\_s*X\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*s\_s*\_s*w\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|d\_s*C\_s*\_s*M\_s*\_s*\_s*\|\_s*k\_s*\_s*\%(w\_s*d\_s*C\_s*\_s*M\_s*\_s*\_s*\|\_s*\)\|\_s*\_s*\_s*\_s*Z\_s*b\_s*g\_s*v\_s*Z\_s*@\|\_s*\|K\_s*\|g\_s*\|r\_s*u\_s*b\_s*y\_s*X\_s*N\_s*\_s*v\_s*g\|v\_s*\|\_s*\|\_s*A\|\_s*[M]\|\_s*\|\_s*\_s*\|Q\_s*\%(l\_s*\_s*\|\_s*^\)\|@\_s*\\_s*\_s*\_s*P\_s*\|\_s*A\_s*I\|F\_s*\|\_s*K\_s*\\_s*\|A\_s*[\_s*\)', \ 'S' : '\%([}[Ty}Q^ǚih掞y{GOʗcԛzyu߈S^䛣᜹KU|\}ax‘ƜQsढ़w柔锚t䇛q~Hxyܑ䵑qȑBJvtƑNⵑr|swpnmy絒F\nuLMNdƑ[ꋑjfb`a^𕛑lX􉈑cYiઈgלheesSzNZ驋LLQkşGiↁސِېڐߞ@CGSПƝ[Tאɐ͊֐ȐǝAI⣛p蔞tdCNӟ׈ߛݙܘx㙘A_baJஓϛƘjbHⳙAGSL⒑Wsr葁DJAL񙒐枙@ېMHlFKDG@BhǑNdD牙|œҝᝩ⫟ŖvR呝yHՐU}[҂ߝpS爊caopIDcER䊔TωsꈝؐCShᓩ]T\~uy齗VŒsvǐEpz~dǗ俑Ypnzy羝裐Ð␕΁ʁ܁́ˁ~Ɂځށ}ȁ́݁聹后v袝xž谒NːXaV䐆Hґ]ZʗLz`DߝXzi擧ABPDY`LZ迓xZxw圑ȓGFaƎb乗MEΕsCFZnD㈵㦋s]Ŗl^⚑A潓gΖ儞ɖΏd臐wpd[g謎姎^GNH˒Ύ܊m\ސːKŽKoq҉tϔ͚͎bAjP֎ٌࡐ̝咙ݐ┐Ԏ^Ύގڎ؎YώΎɎԎߎЈޝȕiSGCဋÎft偛WVz题瑲Efiglk{蜕婏oFT碏VhqhkFJ娏QK榊S酝nSXKUڏMGjaENODPCALRTIB@M᭚忏w{vxs⡏turfZuVꐚpy曐P]AϜUjJfY`Ds橝ΐaO凓cjcѐUahNfdCkXĐLTQWgi[RMebI_S΋nZo䜏_י|䓏wb򏎏ҟm䀛uLЏ縐מ⪙דMvRߜcB_џnՏʈ䐯B辑[頏[␏ݚK♏яҁui]疏ցjiӐԚϏUJnސŜ܏ߏُՏGଞďޏ͏ǏɏЏۏ暐Ώ̏ďƏ͏ڏ؏ɏȏTlRegp@CܑFDI冐BAHE❎oowvLUnюrŎᎊtr@{펦Ϛ`iАyэi@EJX拎}泟nyoNZyzٛᝅf׎j{~|{oߘIXB]KVgup`ikql藘ʛƓj⏎s_ꏎ˔`Œsy@؎䢊oueۚ~礛JLfVWlȐ䰐囋TᰗlIJMhEU嶎z\GԞuV\Vf֟XMˍǏxš皔m匈^꛽O@՚N\󎘊jېŒB睓N@dqbPmbq嗝WƔfFⲝHHBr{吷Wvᵔutĉh|招E䋫🛋t剎櫜f|sटEa`㓝̜cHKcߙӎ[ǎWXㄐVr\]ZPRӁ3Q^ORUSY_ATCD搔@FDNZ\؛ԟ˜GƝrӎÎEq淍Kȍ͙Pꎍ`BڛvɍVҍۍЍю΍؍̍Ӎȍ֐čՍÍˍҍٍ΍ō鑨rŞo焍e⩞y|skwNʎhS䳍}lэos⍳rԍđ獸RAm嬛OÝL_~nKዎ^dw@YYご򄋄ZYÁWnŽOyʁ`feW_TZTrV\XRЕbS]\|\_s*[]\|b\_s*[\ZXVT]\|\_s*[]\|\_s*\|\\_s*\%(H\|I\_s*\)\|~\_s*\|\_s*\|\_s*\|\_s*\|\_s*g\|\_s*\|v\_s*[vX]\|\_s*n\|\_s*\|\_s*c\|\_s*\|B\_s*[BX]\|\_s*C\|\_s*\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|\_s*\|}\_s*\|c\_s*e\_s*n\_s*t\_s*i\|\_s*[ĘU]\|C\_s*\|\_s*\|}\_s*\|T\_s*\|G\_s*Y\|f\_s*\|V\_s*[c]\|V\_s*i\_s*o\_s*l\_s*a\_s*l\_s*e\_s*s\|N\_s*y\_s*m\_s*p\_s*h\_s*a\_s*e\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|\_s*\|\_s*\|b\_s*\%(^\|\_s*\)\|V\_s*\|]\_s*\|\_s*\|s\_s*[mE]\|L\_s*a\_s*\%(b\_s*i\_s*a\_s*t\_s*a\_s*e\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|\_s*\|~\_s*\|\_s*t\_s*\|\_s*\|\_s*\|\_s*_\|\_s*Y\|\_s*\|\_s*\|I\_s*\%(s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\)\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|`\_s*\|\_s*[J]\|]\_s*[X]]\|\_s*\%(X\_s*\_s*\|\_s*\_s*\)\|\_s*\%([֌ڎu]\|\_s*\)\|7\_s*\|V\_s*\|4\_s*\|S\_s*[]\|R\_s*{\|h\_s*t\|\_s*u\|\_s*\|A\_s*[o]\|\_s*[NY]\|\_s*[]\|r\_s*[ꏎ]\|\_s*\|c\_s*e\|\_s*\|\_s*\%(_\|C\_s*\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|\_s*\%(\_s*{\_s*\%(I\|\_s*I\)\|\_s*\_s*a\_s*\_s*W\)\|\_s*[Η]\|\_s*\|\_s*\|\_s*\|e\_s*\_s*\|C\_s*\%([se]\|y\_s*c\_s*a\_s*d\_s*\%(i\_s*d\_s*a\_s*e\|o\_s*\%(p\_s*s\_s*i\_s*d\_s*a\|f\_s*i\_s*l\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\)\|h\_s*l\_s*o\_s*r\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|D\_s*X\|^\_s*\_s*\|a\_s*\%(s\_s*s\_s*y\_s*t\_s*h\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|c\_s*t\_s*a\_s*l\_s*e\_s*s\)\)\|\_s*K\||\_s*[“]\|\_s*p\_s*\|G\_s*\|\_s*\|\_s*\_s*\%(X\_s*[N]\|\_s*[N]\)\|h\_s*l\|S\_s*\_s*g\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*e\|\_s*\|\_s*\%(@\|\_s*\_s*\)\|\_s*\|G\_s*\|\_s*q\|P\_s*\%(a\_s*r\_s*i\_s*e\_s*t\_s*a\_s*l\_s*e\_s*s\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|r\_s*i\_s*m\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\)\|A\_s*\%(p\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*a\_s*l\_s*e\_s*s\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\)\|s\_s*f\_s*o\_s*r\_s*z\_s*a\_s*n\_s*d\_s*o\|\_s*[T]\|B\_s*\%(r\|V\_s*F\_s*\)\|g\_s*\_s*q\|\_s*\_s*\|\_s*\|u\_s*\|A\_s*\_s*`\_s*\_s*\|\\_s*\_s*\|M\_s*\%(e\_s*r\_s*c\_s*u\_s*r\_s*y\|u\_s*s\_s*a\_s*l\_s*e\_s*s\|a\_s*r\_s*q\_s*u\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\)\|D\_s*o\_s*n\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*A\_s*l\_s*p\_s*h\_s*o\_s*n\_s*s\_s*e\_s* \_s*F\_s*r\_s*a\_s*n\_s*c\_s*o\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\|\_s*\%(V\|s\_s*\%(\_s*\|\_s*\_s*\)\)\|T\_s*\%(e\_s*t\_s*r\_s*a\_s*c\_s*e\_s*n\_s*t\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\|h\_s*e\_s* \_s*S\_s*i\_s*m\_s*p\_s*l\_s*e\_s* \_s*A\_s*P\_s*I\_s* \_s*f\_s*o\_s*r\_s* \_s*e\_s*v\_s*e\_s*n\_s*t\_s*-\_s*b\_s*a\_s*s\_s*e\_s*d\_s* \_s*X\_s*M\_s*L\_s* \_s*p\_s*a\_s*r\_s*s\_s*i\_s*n\_s*g\)\|]\_s*f\|P\_s*C\_s*f\|v\_s*\_s*\_s*\_s*\_s*\_s*w\_s*\|l\_s*b\_s*g\_s*T\_s*[\_s*r\_s*X\|U\_s*\%(b\_s*N\|N\_s*Z\_s*\|r\_s*[\_s*l\|E\_s*o\_s*[\|\_s*[\_s*N\_s*\_s*E\_s*g\|\_s*U\|\_s*c\|C\_s*\%([]\|\_s*[\|f\_s*\)\|[\_s*\%([]\|\_s*\)\)\|\_s*\|[\_s*~\|i\_s*g\_s*\_s*E\_s*\|]\_s*\%(\|\_s*f\|[\_s*\%(\|\_s*\_s*Q\_s*\)\|t\_s*B\_s*[\)\|W\_s*\%(\|[\_s*\%([ON]\|\_s*\_s*[XY]\)\|O\_s*\_s*\_s*g\|\_s*\%(\_s*\|O\_s*V\_s*\_s*s\_s*[\_s*\|e\_s*[\_s*[\)\)\|G\_s*X\|\_s*\)', \ 'T' : '\%([ĜR牉șhЌ☝ωiמRh|cH֓騗䄋㜐C䃕ۏQ榔yFbr\c͙ʓՓךcJٓؓڏxJŚɍΖrqNPь{ԍǝؗ沖L௜{ꂜՓ“ΓWٟXB[ѓw䓄~㫙ٚĊUj㉱}b馝FD㛎衞CẞTΛ⅞MDğ椈ꊛ됀zcbuٓ幓铝~鍓򓀓˓tOO̓mNlےEjqĚ\Zg\莾pyooVvϏ\p{nlnZÊn򖁞i^yr䷟ː}~ēexhurlWPȎWd͖oR瘉NནLJU猓Hzћ迟hAVVzDCUAdFDx[^៓UzaZWL⽓YQINGPOcSLǒtɞqؚ|YBh@稒ఒAeƜV•͕皁ITPזgwΐىWhіʏ`tI␎aSڎBڐRȕpAn䆉җI~焍ߑczߝ旾񕌋uid͌gQǒٚ؍jq塔|ȕȓ`B\Չ㔖ꉌۑԔԒ̒v׏IĐȒŒǛ錼əݙ֒ߘrssnUTӑn쑢LUΌCU֋ސTĜɏՔːsxAtyÕZ㋓ᶌpklϐڒʍAhՍJY_ZoTSNĒNZm֖’ޒ}zke玐ŗ͓ߝQE浖מ`kI⌒OՒP蠒eÒ隓CUǒݟlLy’kꓜjLKӝUo{⒳\_񒝓[d}ޒ渒xaQCNIԒJnhfRhtnpom~n@ؒrpUTuՌlh⚐tꃒyƒwonvqᗒvksmxJ}֓}ԐugqKfeމ˞MoRВLᷖ非ٌ✔yg栟˘l|]漒K^ȏ̎]DM骓lDeȒ@ihgⰍkXYSݛ̝EYUԕۏXIH蒎aFC{}CJFמlSs韞퓃ࣕYۈɐҒkBznҊmtԚKpЋBŗYk˜[]썰͗K’eʖd休sb饕|cG鎿Bٍked뛹k殔CĉFbWVOxh^В|⹑tM闲F֜Ӝ`dH[t؜Tjݝ^Wh]ßp~Kϓ̝W`^WUႚVJRἔCVQa_\杒OSXWYbZdÒTPAp]鮓FѝFUVf{I痑~x擑H\讖wʝ[OlߑړܒБ⛔EܑՑ͑ۑґؑݑّё̑בޑ΋Hf茘ǒ֚ꑫ—]loNOϗ┭蛀SuNЍٚB_PcB睘SW`V~^ΓysfE\؃XWƃUcN]g`Ec[^sSфeT]\|\_s*[]\|b\_s*[gec`^]\|\_s*[ƂÂ]\|\_s*\|\_s*n\_s*\|\_s*[]\|\_s*\|\_s*l\|\_s*\|\_s*V\|\_s*\|i\_s*[v]\|\_s*P\|h\_s*\|\_s*\|D\_s*\_s*\|\_s*[Ŗ]\|\_s*[q]\|W\_s*\|\_s*\_s*E\_s*\|\_s*\|H\_s*y\_s*d\_s*r\_s*o\_s*c\_s*h\_s*a\_s*r\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*x\|G\_s*[ߓh]\|\_s*[]\|F\_s*N\_s*\|i\_s*[vq]\|A\_s*c\_s*o\_s*n\_s*i\_s*t\_s*u\_s*m\|\_s*\|\_s*j\|\_s*j\|F\_s*e\|I\_s*r\_s*o\_s*n\|\_s*\|\_s*\|g\_s*\|Z\_s*\|Q\_s*~\_s*S\|\_s*\%(\|\_s*q\)\|S\_s*[Z]\|\_s*\%(\|\_s*a\)\|X\_s*\|\_s*X\|\_s*J\|\_s*~\|~\_s*J\|\_s*\|\_s*\|\_s*\|\_s*[]\|B\_s*a\_s*l\_s*a\_s*n\_s*o\_s*p\_s*h\_s*o\_s*r\_s*a\_s*l\_s*e\_s*s\|1\_s*\%(\|0\_s*\)\|P\_s*\%(\|O\_s*\)\|\_s*\|\_s*l\_s*\|E\_s*\%(u\_s*p\_s*h\_s*o\_s*r\_s*b\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|\_s*\%(v\|\_s*F\)\|g\_s*\|\_s*\|`\_s*\|\_s*w\|\_s*\%(V\_s*\|\_s*F\)\|\_s*\%([]\|[\_s*\|\_s*\_s*N\)\|\_s*v\|r\_s*q\|\_s*r\_s*q\|\_s*[a]\|\_s*\|\_s*\|@\_s*\_s*\|L\_s*q\|S\_s*\|\_s*\|]\_s*h\|J\_s*i\_s*a\_s*n\_s*g\_s*s\_s*u\|G\_s*\|u\_s*[˔]\|k\_s*J\|\_s*\|\_s*I\_s*q\|\_s*a\|\_s*p\|\_s*[]\|A\_s*\|\_s*\_s*\|\_s*[]\|\_s*\_s*\\|\_s*\%(\\_s*\|A\_s*\_s*[]\)\|t\_s*\%(\|{\_s*V\)\|h\_s*\|e\_s*\|\_s*\|\_s*[]\|\_s*s\|\_s*\%([\|\_s*q\)\|\_s*v\|\_s*\|P\_s*\|\_s*\|\_s*\%(\|\_s*\)\|E\_s*\|\_s*\|P\_s*\%(\.\_s*S\_s*\.\|o\_s*l\_s*y\_s*\%(g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*r\_s*p\_s*i\_s*c\_s*a\_s*e\)\|a\_s*n\_s*d\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|s\_s*\|\_s*\|E\_s*w\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*q\|\\_s*[V]\|w\_s*\|\_s*\|i\_s*K\|\_s*\_s*p\|\_s*B\|M\_s*\%(e\_s*n\_s*i\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*c\_s*e\_s*a\_s*e\|o\_s*n\_s*o\_s*\%(p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*\%(h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|o\_s*t\_s*y\_s*l\_s*e\_s*d\_s*o\_s*n\_s*e\_s*a\_s*e\)\)\)\|\_s*\|\_s*\|\_s*q\|\_s*\|\_s*\|f\_s*B\_s*X\|R\_s*\_s*\|\_s*l\|\\_s*\%([\_s*[gv]\|\_s*[\)\|w\_s*[\_s*O\|[\_s*[CA]\|Z\_s*\%(I\|\_s*}\|\_s*\%(\|j\_s*A\_s*X\)\|\_s*s\_s*\%([\|X\_s*g\)\)\|V\_s*\%(\|b\_s*N\|X\_s*\|A\_s*^\_s*[\|\\_s*[\_s*\_s*X\|I\_s*h\_s*A\|[\_s*[t^]\)\|T\_s*\%([C]\|~\_s*\_s*O\|E\_s*U\_s*\_s*h\|\_s*u\_s*\_s*b\_s*h\|[\_s*\%([h]\|e\_s*B\|X\_s*g\_s*\|Y\_s*f\_s*[C[B]\|}\_s*\)\|b\_s*`\_s*\_s*[\|\_s*\%(N\|_\_s*[\|L\_s*\_s*[\)\|\_s*h\_s*}\_s*C\_s*h\)\||\_s*\_s*y\_s*v\_s*`\_s*h\|O\_s*\%(a\_s*y\|A\_s*\_s*\)\|\\\_s*T\_s*e\_s*X\|\_s*\_s*\|\_s*\_s*\|t\_s*e\_s*\%(r\_s*a\|m\_s*p\_s*o\_s*r\_s*a\_s*r\_s*y\)\|p\_s*\|d\_s*\%([b]\|C\_s*\_s*M\_s*\_s*\_s*\)\)', \ 'U' : '\%([yhf[le񓴑a؈Ϗ鎽[XDWr䷙\wuќzD鴑ߚXi^R忓LMf~ӏr戉楓]揗w搉S^̗É򃑂k։\uLGQmPOH⣑QmIVߊaXSn|oJU󎜚y팻ʉfژⓐxԋʏϙ܉A]りCD]^@TAmSYv_ZrNTTݗƓZJjJʼnFALnћaLǎ䥟HӉEZpQGˌ̉KꚖoeY^INt҃ETU]\|\_s*\|\_s*\|\_s*\|T\_s*\|\_s*\_s*\|\_s*\|H\_s*\_s*R\|\_s*\|D\_s*\%(k\_s*[Lj]\|\_s*\)\|\_s*i\|e\_s*\|\_s*\|A\_s*\|y\_s*\|\_s*y\_s*[]\|\_s*\|\_s*[\|\_s*\|\_s*\|\_s*\|\_s*`\|\_s*c\_s*\_s*\|W\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|s\_s*\_s*\|\_s*\|\_s*\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|`\_s*\|\_s*C\_s*\|\_s*\|O\_s*Y\|\_s*\|\_s*[CB]\|\_s*\%(\|\_s*\_s*\)\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|c\_s*\|C\_s*M\_s*\_s*X\|I\_s*}\_s*\|\_s*\_s*s\_s*\\|\_s*\%(p\_s*\|L\_s*\)\|A\_s*\%([X]\|O\_s*\_s*[\|[\_s*\%(V\_s*\_s*\|W\_s*F\_s*\_s*g\|o\_s*\)\|\_s*e\_s*B\_s*\_s*b\_s*g\||\_s*\|b\_s*\%(v\|p\_s*[\|V\_s*\_s*[\)\)\|P\_s*\%(\|\_s*\)\|\_s*\%([^j[]\|g\_s*\%(\_s*\|\_s*q\_s*g\)\|\_s*\%(A\|V\_s*[\_s*Y\)\|v\_s*V\_s*\_s*\|l\_s*X\_s*R\|i\_s*\%(J\_s*C\_s*g\|C\_s*e\_s*b\_s*h\)\|r\_s*L\_s*\%(^\_s*X\|m\_s*\)\)\)', \ 'V' : '\%([Flu۔ńBrɃV]\|\_s*\_s*\|b\_s*\|\_s*\|\_s*\|v\_s*e\_s*r\_s*s\_s*u\_s*s\|\_s*\_s*D\|`\_s*F\_s*\|\_s*^\| \_s*r\_s*N\_s*g\_s*[\_s*\|\_s*o\|\_s*z\|j\_s*X\|\_s*\|P\_s*^\|\_s*\%(f\_s*B\_s*\|M\_s*i\|j\_s*X\|Z\_s*\_s*\|N\_s*`\_s*\|\_s*L\_s*\_s*[\_s*\|\_s*\_s*[\|[\_s*j\_s*\)\|\_s*b\|{\_s*\%(X\_s*g\_s*[\_s*N\|\_s*S\_s*\|\_s*\%([K{g^]\|e\_s*\%(b\_s*N\_s*X\|[\_s*[W]\)\)\|\_s*\_s*[\_s*\|\_s*\_s*\%(`\|e\_s*B\_s*A\|^\_s*\_s*[\)\|\_s*[\|R\_s*[\_s*_\|[\_s*\%([gO]\|\_s*g\|h\_s*r\_s*\%(\|\_s*A\_s*\)\|p\_s*\|_\_s*t\_s*H\_s*\|J\_s*\%(\|\_s*X\_s*g\)\)\|L\_s*\_s*u\_s*\_s*\|C\_s*\%([hX]\|W\_s*\_s*[\|V\_s*\_s*O\)\)\|w\_s*b\_s*g\|\_s*\_s*\|\_s*\|t\_s*\%(@\_s*\%(\|h\_s*[\_s*c\)\|H\_s*\%(\|\_s*\%(N\|J\_s*[\)\)\|F\_s*\_s*\_s*[\_s*\)\|E\_s*\%(\_s*\%(f\_s*B\_s*~\_s*[\_s*\|W\_s*\%(~\_s*[\_s*\|[\_s*~\_s*\|I\_s*X\_s*g\_s*\%(N\|b\_s*N\)\)\)\|B\_s*\%(\_s*i\|\_s*X\)\|H\_s*b\_s*J\|C\_s*\%(\_s*X\|\_s*i\_s*[\)\|F\_s*\%(\_s*M\_s*\_s*E\_s*X\|k\_s*X\)\)\|r\_s*\%([AuoXU]\|K\_s*[\|n\_s*[\_s*\|^\_s*~\_s*\|\_s*\%(b\_s*W\|\_s*C\)\|r\_s*\%(A\_s*\|b\_s*h\)\|b\_s*\%(N\|L\_s*[\)\|Z\_s*\_s*e\|N\_s*\%(^\_s*[\|g\_s*\%(\|\_s*[[A]\)\)\|V\_s*\%(\_s*X\|\\_s*\_s*[\_s*Y\)\|\_s*\%([`X]\|\\_s*\|e\_s*[\_s*W\|Z\_s*\_s*g\)\|l\_s*\%(K\_s*[\|O\_s*\_s*b\_s*g\)\|j\_s*\%([[]\|\_s*f\_s*\)\|\_s*[\|G\_s*\_s*`\_s*\_s*\|W\_s*\%(\|b\_s*g\|^\_s*[\|\_s*\%(\|i\_s*\_s*[\)\|\_s*A\_s*\%(\|\_s*C\_s*\%(Y\|[\_s*[\_s*V\_s*\_s*\)\)\)\|_\_s*\|f\_s*I\|\_s*\%(S\|k\_s*[\_s*u\)\|I\_s*\|\_s*W\_s*A\_s*\|B\_s*[\_s*i\_s*X\|[\_s*\%({\|\_s*X\|N\_s*\|i\_s*X\)\)\|x\_s*\%([K]\|g\_s*i\_s*\|C\_s*_\_s*[\|[\_s*\%(\|_\_s*[\)\|e\_s*\_s*\|b\_s*Z\_s*\|X\_s*\%([g^p]\|r\_s*I\)\|N\_s*\%(^\|g\_s*\)\|W\_s*^\_s*\%(u\_s*\|\_s*A\_s*\)\|\_s*\%([B[]\|t\_s*@\_s*C\|T\_s*C\_s*\)\|\_s*\%(i\|V\_s*e\_s*B\|[\_s*i\|j\_s*[JN]\)\|\_s*\%(f\|x\_s*b\_s*g\|_\_s*\|\_s*[\_s*k\|T\_s*\%([\_s*`\|C\_s*\)\|\_s*b\_s*g\)\|m\_s*\|j\_s*[XA]\|l\_s*\%(V\_s*\_s*\|c\_s*B\_s*A\|`\_s*A\|Y\_s*G\_s*\)\)\|o\_s*\%([]\|C\_s*\%([AuI]\|p\_s*[\|^\_s*\%(\|\_s*e\_s*B\)\|L\_s*\_s*O\|U\_s*[\|V\_s*\)\|b\_s*g\|`\_s*J\_s*\|M\_s*i\|K\_s*{\_s*\_s*h\|\_s*\%(i\_s*V\|G\_s*e\_s*B\)\|T\_s*\|X\_s*\%(R\|P\_s*X\)\|J\_s*\_s*X\|P\_s*[\_s*V\_s*\_s*\|L\_s*\_s*[\_s*\|E\_s*`\_s*\_s*[\|\_s*\%(\|G\_s*[\_s*V\_s*\_s*\|\_s*[\|A\_s*\%(u\_s*\|\_s*g\)\|b\_s*h\|f\_s*[\_s*V\_s*\_s*\)\|k\_s*A\_s*c\|j\_s*\%(\|[\_s*\)\|\_s*\%([[]\|\_s*\|\_s*[\|\_s*\%(V\_s*A\|`\_s*m\|^\_s*C\_s*\)\)\|[\_s*\%([SO]\|`\_s*\_s*\|\_s*g\_s*D\_s*[\_s*h\|o\_s*\|{\_s*X\|x\_s*i\|e\_s*B\_s*J\_s*\|T\_s*X\|W\_s*\%(\|j\_s*A\|\_s*\)\|m\_s*\|j\_s*A\|\_s*\_s*g\|~\_s*\%(\_s*I\_s*\|L\_s*\_s*\_s*C\_s*g\)\)\|i\_s*\%(L\_s*\_s*\_s*[\|W\_s*E\_s*\)\)\|u\_s*\%(C\|\_s*\%(h\|b\_s*h\)\|[\_s*h\_s*D\_s*[\)\)', \ 'W' : '\%([ɒjYyhȃ҃f[le񓴑a؈鎽[XDW䷙\wuќzD鴑ߚXi^R忓LMf~ӏr戉楓]揗w搉S^̗É򃑂k։\uLGQmPOH⣑QmIVߊaXSn|oJU󎜚y팻ʉfژⓐxԋʏϙA]゜D]^@TAmUSYvZrNTTݗƓZJjJʼnFALnћaLǎ䥟ӉEZpQGˌ̉KꚖoeY^I܉c㘟|͊ϏpԉЍЋƋZǁkYeonm܏Νtsf^]o_rqpciqǘjnȎFGd̘eΘcQC崙NZДʒtሽgfhaŒfZNO֔jclH`b̔i핝ȔgvEW]\|\_s*[]\|b\_s*[E]\|\_s*[]\|\_s*\_s*~\_s*_\|\_s*\|\_s*\|\_s*\|T\_s*\|\_s*\_s*\|\_s*\|H\_s*\_s*R\|\_s*\|D\_s*\%(k\_s*[Lj]\|\_s*\)\|\_s*i\|e\_s*\|\_s*\|A\_s*\|y\_s*\|\_s*y\_s*[]\|\_s*\|\_s*[\|\_s*\|\_s*\|\_s*\|\_s*c\_s*\_s*\|W\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|s\_s*\_s*\|\_s*\|\_s*\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|`\_s*\|\_s*C\_s*\|\_s*\|O\_s*Y\|\_s*\|\_s*[CB]\|\_s*\%(\|\_s*\_s*\)\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|c\_s*\|\_s*\|o\_s*D\|\_s*Y\_s*\|\_s*\|i\_s*\_s*j\|(\_s*\_s*)\|\_s*[]\|R\_s*\|Y\_s*z\|x\_s*\|Y\_s*\%(\|V\_s*\_s*c\|\_s*F\_s*\)\|x\_s*\%(\|V\_s*\_s*c\|\_s*F\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*[R]\|\_s*\|a\_s*t\|\_s*\_s*\_s*D\_s*\|\_s*\%(`\|\_s*m\_s*\_s*\)\|^\_s*B\_s*\_s*D\|\_s*\%(\_s*\_s*\_s*E\_s*\_s*\|\_s*\_s*\_s*E\_s*\_s*\)\|u\_s*\_s*c\_s*u\_s*\_s*N\|\_s*\_s*O\|\_s*\%(\|C\_s*X\|b\_s*J\_s*[\|X\_s*\%(\_s*[\|\_s*\_s*O\)\)\|\_s*\%([\_s*X\|\_s*N\_s*\|X\_s*g\)\|\_s*\_s*\_s*\|\_s*\%(b\_s*\%([vp]\|s\_s*\_s*O\)\|C\_s*\%([^g]\|e\_s*B\_s*\_s*O\)\)\|{\_s*\_s*t\|t\_s*\%([[]\|@\_s*C\_s*\|B\_s*\%([\_s*g\|b\_s*`\)\)\|z\_s*\%(G\_s*[C[A]\|[\_s*\|C\_s*\%([\_s*\%(\|\_s*[\)\|b\_s*\%(v\|X\_s*\|p\_s*[\|g\_s*\%(j\_s*[\|}\_s*\)\)\)\|\_s*\%(C\|b\_s*[gc]\)\)\|x\_s*\_s*i\_s*[\|w\_s*e\_s*b\_s*T\_s*\%(C\_s*g\|[\_s*\%(o\|r\_s*X\)\)\|x\_s*\|o\_s*\_s*^\_s*[\|\_s*\%(\_s*\_s*c\_s*u\_s*\_s*N\|H\_s*\_s*t\|B\_s*\%([[]\|\_s*\%(\|w\_s*\_s*\)\)\|F\_s*\%(\_s*_\_s*[\_s*X\|\_s*i\_s*[\|[\_s*o\_s*[\|C\_s*\)\|@\_s*\%(C\_s*[X]\|[\_s*O\_s*i\_s*[\|\_s*_\|\_s*\%(^\_s*[\|L\_s*\_s*[\_s*\)\)\)\|_\_s*u\_s*\_s*\_s*[\|^\_s*\_s*O\_s*X\_s*e\_s*\|T\_s*\%(h\_s*e\_s* \_s*W\_s*o\_s*r\_s*l\_s*d\_s* \_s*W\_s*i\_s*d\_s*e\_s* \_s*W\_s*e\_s*b\_s* \_s*C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\)\)', \ 'X' : '\%([HFDB@wV~X]\|\_s*[]\|b\_s*[HFDB@]\|\_s*[]\|V\_s*\_s*\%(z\_s*\|t\_s*H\_s*\)\|W\_s*I\_s*\|[\_s*\%(r\_s*E\_s*X\|\_s*\%(b\_s*N\_s*X\|O\_s*\_s*t\_s*B\)\)\|n\_s*r\_s*G\_s*\|U\_s*\%(\|r\_s*G\_s*\)\|L\_s*\%(V\_s*\%(\|\_s*\|\_s*g\_s*[\_s*\)\|Z\_s*m\_s*\|T\_s*\_s*\%(`\_s*\|^\_s*\)\)\|E\_s*x\_s*t\_s*e\_s*n\_s*s\_s*i\_s*b\_s*l\_s*e\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|N\_s*\%(V\_s*[\|\_s*X\_s*|\_s*X\_s*g\|Z\_s*\%(i\_s*L\_s*X\|m\_s*t\_s*H\_s*\)\|U\_s*\_s*B\_s*G\|T\_s*\%(C\|\_s*\%(g\_s*X\|`\_s*b\_s*y\|e\_s*B\_s*b\_s*y\)\)\|\_s*X\_s*}\_s*X\)\|G\_s*\%(N\_s*X\|b\_s*N\_s*X\)\)', \ 'Y' : '\%([։ߕ֍HVşꔗ؊ZݝgZ|~}ĔϑbbщxX\ccUiFg`ᇞ՗x揜JLȞ@fuꡜys@Tᘟ~m籝Xyꢗqsi^wgjsfgt匍roחldpnїwzmÏh^S焛@㏜棟baǗ_P`]rĔS㿉r\\QPaoKllPI^椂㒏̎͒oɒt沖LuVKᛮ|w䓎樏ଉw亗WzFCQޗCGEPZXNOSЗ[HI֗FYJLkሖ@gVhO䥝R埙`A懝|MgJ䲃ꍘcUTn翔䑌恍ݍrxÉj囚|dQU|軗ƑBd{Nj佈䆍mnؐFAtF泌ÌމLdƜјJiꌒՓkvɔžo֌yME|ځe퐈M臐YOΖZ}xא򌵉MՁO䗚P{bw~N}zcc硉Ɏh䕟JsW]bK\Tฐ]rmПȈZԈTDMΚICm覉@uBAAޛjHوΊֈÈ1PDyIDR۔џʈዏHƍ֋Uhwψ͉]}ubv]Ό≝gМ@ES盈BΟݑPR҈ȊUגߘߛږˆ̈،܈Η͜}Ėˈԍs਒_ˑޗǓo֗DK~䏈ӈۈ؈ًeԄ`tcbّqۈŔsMlhE`_ʗSQna_–zl˗DyيVꞟKoZމvNuk欎淏kqstrRКݓ@D洗{kJїT׈ՋxۍN❔JĜ\̖tj熔W쉮ƕaߖˎܓi댭ውƔE~xuE~vFJ҃C\zY]\|\_s*[ղ]\|b\_s*[C]\|\_s*[䂢]\|\_s*\_s*b\|^\_s*\_s*b\|I\_s*\|\_s*\|B\_s*\|I\_s*\|y\_s*o\_s*\%(t\_s*t\_s*a\|c\_s*t\_s*o\)\|4\_s*\%([“]\|\_s*\|\_s*\)\|\_s*\|m\_s*j\|\_s*\|\_s*\|F\_s*\|\_s*\|\_s*[q]\|j\_s*\|h\_s*L\|@\_s*\|V\_s*\|\_s*[j]\|\_s*[q]\|i\_s*\|W\_s*\|8\_s*\|\_s*\|t\_s*\%(\|^\_s*[\_s*\)\|\_s*\|\_s*\|\_s*\|~\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|S\_s*\|L\_s*i\_s*l\_s*i\_s*\%(o\_s*p\_s*s\_s*i\_s*d\_s*a\|a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\)\|\_s*\%(Y\|\_s*\)\|\_s*M\|\_s*\|\_s*\|\_s*\|E\_s*\%(u\|\_s*[\_s*\)\|a\_s*\|J\_s*u\_s*\%(l\_s*i\_s*a\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|n\_s*c\_s*a\_s*l\_s*e\_s*s\)\|c\_s*J\|c\_s*\|G\_s*s\|\\_s*Z\_s*\|Q\_s*q\|G\_s*\|\_s*\_s*\|\_s*\|\_s*\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*G\|\_s*\|\_s*t\_s*\|5\_s*[“]\|T\_s*[“]\|\_s*E\|r\_s*U\|\_s*\|\_s*Y\|\_s*[\|\_s*\|~\_s*\|\_s*\_s*\|{\_s*\|o\_s*\|\_s*g\|Y\_s*[q]\|h\_s*[‘]\|@\_s*\|U\_s*\%(\|^\_s*[\_s*\|r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|E\_s*[cR]\|d\_s*\%(`\_s*r\_s*s\|u\_s*d\)\|C\_s*\|]\_s*[oZ]\|\_s*\|\_s*q\|_\_s*\|\_s*\_s*\|\_s*r\_s*\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|\_s*\|\_s*\_s*\|r\_s*\|s\_s*\_s*\|o\_s*[E]\|\_s*[Wk]\|C\_s*[؎Q]\|\_s*\\|\_s*\_s*[ΒY]\|_\_s*F\|e\_s*[]\|p\_s*\%([꓍]\|g\_s*\)\|\_s*\_s*\|\_s*[ȉ]\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|s\_s*[”@]\|\_s*{\|\_s*\_s*\|\_s*\|\_s*L\_s*n\|\_s*\|\_s*[c]\|R\_s*a\_s*f\_s*f\_s*l\_s*e\_s*s\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|V\_s*\\|`\_s*G\|\_s*{\_s*\_s*\|\_s*a\|T\_s*\%(h\_s*e\_s*l\_s*i\_s*g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*o\_s*c\_s*h\_s*o\_s*d\_s*e\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|M\_s*y\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*t\|\_s*\|A\_s*r\_s*a\_s*c\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*\%(o\_s*t\_s*e\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*c\_s*i\_s*p\_s*e\_s*s\)\|a\_s*l\_s*m\_s*a\_s*l\_s*e\_s*s\)\|\_s*q\|\_s*[j]\|G\_s*\%(z\_s*o\|t\_s*Q\_s*j\_s*[\|\_s*\_s*@\_s*\|j\_s*Z\_s*C\|[\_s*\)\|\_s*C\)', \ 'Z' : '\%([󉀉ꑹ㔛mґXfhّۑY\]萊AK㿑R䒑UWN征͑V陑TPQfOS␨ҐƐŐUӂžlb齕AZB@笐CtÓ|~D}ߍ󓈎ȓǎwxcH苎ҍ׎l㒼ÓKHԘᶙbiu@vސnՉ`rxosqwptlŏғ䴞`䥝募tJ珊RPԟiUㅏ{o媝mh鈐YtY竐jg@ݖÏꏗ`~]꞊󝵏GAژhGQ榜휵@uQxhmnpqmm⢙Ï|⡓՟~[x{䤏zy}}汎GEsn𘸏^F_`Oca_Y[b]\Zedm莣^y~iJ玎Ȓn􎤎~ImVkqHjaZd䢎mV␷╍蛽NM赞ƎLGRZQSₜ͛؜kO槎SbΜ͎acZːčϙ܍ލߍݍoUY][GwY]ZUyW[xĄHZ]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[][YWU]\|\_s*[]\|\_s*\|\_s*\|o\_s*\|\_s*[q]\|\_s*\|z\_s*e\_s*\%(t\_s*t\_s*a\|p\_s*t\_s*o\)\|\_s*\_s*\|\_s*\|O\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*p\|\_s*o\|C\_s*@\|m\_s*\|\_s*\|k\_s*[ߌY]\|\_s*\|\_s*s\|F\_s*i\_s*g\_s*u\_s*r\_s*e\|\_s*\|G\_s*\%(\_s*\|p\_s*\)\|D\_s*y\|f\_s*\%(\_s*\|p\_s*\)\|x\_s*x\|\_s*\|Q\_s*\|2\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*q\|J\_s*\%(I\_s*S\_s*R\_s*[\_s*h\||\_s*b\_s*v\|R\_s*\_s*\_s*{\)\|\_s*q\|b\_s*\_s*\_s*\_s*\_s*\_s*M\_s*h\_s*p\_s*\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|[\_s*\%(\|\_s*\)\|`\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|R\_s*l\|y\_s*_\|\_s*\|\_s*\|\_s*\|\_s*r\_s*\|\_s*v\|\_s*\|\_s*\|\_s*\|\_s*[@S]\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|i\_s*\%(\_s*[\_s*O\||\_s*b\_s*v\|t\_s*m\_s*j\_s*n\)\|\_s*q\|\_s*\|P\_s*\%(Q\|O\_s*[i]\|P\_s*\|U\_s*i\|W\_s*\)\|t\_s*\|\_s*\|R\_s*\|1\_s*\%(0\|1\_s*\|8\_s*\|2\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*u\|e\_s*\|\_s*\|\_s*\|\_s*{\|U\_s*\_s*\|\_s*H\|\_s*\|T\_s*\%(\_s*\|\_s*|\_s*[\_s*j\_s*\|\_s*S\_s*T\)\|V\_s*\%(^\_s*[\_s*\|I\_s*\%(\|j\_s*\%(X\_s*g\|Y\_s*\)\)\)\|`\_s*\%(N\_s*\_s*X\|A\_s*m\_s*[\_s*[\|\_s*[\_s*\_s*\%(q\|b\_s*q\)\|\_s*\_s*_\_s*b\_s*V\_s*\|S\_s*C\_s*l\_s*\_s*\_s*C\_s*[\_s*\)\|c\_s*\%(@\_s*\%(\_s*g\_s*D\_s*X\_s*g\_s*\|C\_s*g\)\|F\_s*\%(i\_s*[\|b\_s*y\_s*\_s*\|\_s*}\_s*b\_s*g\)\|B\_s*\%(N\_s*\_s*X\|^\_s*[\|[\_s*O\_s*\_s*[\|\_s*\%(o\_s*\_s*\|}\_s*[\_s*}\_s*\)\|S\_s*C\_s*l\_s*\)\)\)', \ } endfunction ================================================ FILE: bundle/clever-f.vim/autoload/clever_f/migemo/eucjp.vim ================================================ scriptencoding euc-jp function! clever_f#migemo#eucjp#load_dict() abort return { \ 'a' : '\%([ԳȯϾտƭ޾ӡŤƬѫͷʷİͿø̵ܶܵ驰нƪ鷹ѻˢǽܽ֦½ΦؽǮȲ䰵ǴռݯмԹڹײϪɽ¹ͽЮɷ庾Ӻ̴ɵఽ;ŷ°ֵϰ̣Ԫƴ갮ůۭμ氰ᄑϯ۸ޫۦۥ˾ϾԼݷʸۣ齶ϰ갥欷԰ǰްưðȰīﰦð­ҹӼ밫Ƽǹ˽˰ķ°մ尤Ըʻᰢͭ˴±޽کг󰸶˰بĤ&ʢܶ϶΢͢޸姸ơǡ򦡥ѧa]\|\_s*\|\_s*\|\_s*\|\_s*\|Z\_s*\%(n\|i\_s*n\_s*c\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ŷ\_s*\|\_s*ŵ\|\_s*\|\_s*\|\_s*Ʀ\|\_s*\|\_s*\|\_s*̾\|\_s*̾\|\_s*\|\_s*\|\_s*[Ļ]\|\_s*\|\_s*\|\_s*\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\%(\|¹\_s*\)\|\_s*\%(\|\_s*\_s*\_s*ʪ\_s*\)\|\_s*\_s*\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|ޱ\_s*\|\_s*\|Ʀ\_s*\|\_s*\_s*\_s*\|\_s*¿\|\_s*\|\_s*\|\_s*[Ǭ]\|\_s*\|\_s*[ɧ]\|\_s*\|\_s*\|\_s*\|Ҹ\_s*\|\_s*\%([]\|\_s*\|\_s*\)\|\_s*[ˡ]\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(\_s*\|\_s*\_s*\_s*\)\|D\_s*\_s*\_s*\|C\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\%(\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[ɿͽ]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*[]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*\_s*\_s*A\|\_s*\| \_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|G\_s*o\_s*l\_s*d\|\_s*ư\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|°\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|\_s*\_s*\_s*ǽ\|\_s*\_s*\_s*ǽ\|\_s*ˡ\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\%([]\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\%([ȥ]\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\_s*\|\_s*\%([]\|\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\)\)\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\%(\_s*\_s*\|\_s*ǽ\)\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\)\|A\_s*\%([tlrImc]\|u\_s*s\_s*t\_s*r\_s*o\_s*b\_s*a\_s*i\_s*l\_s*e\_s*y\_s*a\_s*c\_s*e\_s*a\_s*e\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\|K\_s*C\_s*L\|S\_s*C\_s*I\_s*I\|s\_s*t\_s*a\_s*t\_s*i\_s*n\_s*e\|\_s*\_s*\|T\_s*O\_s*K\|N\_s*S\_s*I\|V\_s*\_s*\_s*\_s*\|L\_s*T\_s*\_s*\|\_s*\_s*\|E\_s*R\_s*A\|D\_s*S\_s*L\_s*\_s*\_s*\|\_s*\_s*\_s*\|d\_s*a\|M\_s*\_s*\_s*\|b\_s*s\_s*t\_s*r\_s*a\_s*c\_s*t\_s* \_s*C\_s*o\_s*n\_s*t\_s*r\_s*o\_s*l\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\|\_s*\_s*\|\_s*\_s*\|C\_s*\_s*\_s*\_s*\)\|\_s*Ͽ\|\_s*\%([]\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%([˥ᥢ]\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\%(\|\_s*\_s*\)\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\)\)', \ 'b' : '\%([߹ڽھ˲ѳ̶˦꼰汬˳ر˸˹˻˶˺˴˾˵˿籸촳Ħ˷ը˫ѹʽٷҡ޺˼ūʥ޽޼޿ʪɲʹʸ̵ʬק£͹ɵɤޣֱؾݧɴ졪¡ɼǭ֢ʿջ̤׹߾Ȣ®Ӷ˪ȭƯȫȪʵɡüΥV̥ȵٶȶǢʢĻʧ㱸Ȥ˽ʱ೭ȹȨؤȽȼ㩺Ȳȴȳ粽ڱĥŽУʩݲߡá¡ݡܥСϡΡСѥ֥ӧҦ¥b]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[ܥ٥֥ӥ]\|\_s*[ܤ٤֤Ӥ]\|\_s*\|\_s*\|\_s*\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*Ǥ\|\_s*\|\_s*[]\|\_s*\_s*ݰ\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|˭\_s*[]\|\_s*\|ŷ\_s*\_s*\|\_s*[϶]\|׽\_s*˥\|\_s*[̡˥]\|\_s*Ҵ\|\_s*Ƭ\_s*\|\_s*\|\_s*\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|\_s*\|ʼ\_s*[ˡ]\|ɽ\_s*\|\_s*[Ļ]\|\_s*\|ȯ\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\%([ӳϫ]\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*[]\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*[]\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\%([Ƚ鷿]\|\_s*˦\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s* \_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|B\_s*\%([hȽ鷿kiae]\|C\_s*ʼ\_s*\|N\_s*F\_s*(\_s*B\_s*a\_s*c\_s*k\_s*u\_s*s\_s*-\_s*N\_s*a\_s*u\_s*r\_s* \_s*F\_s*o\_s*r\_s*m\_s*)\|B\_s*C\|\_s*\_s*\|u\_s*r\_s*k\_s*i\_s*n\_s*a\_s* \_s*F\_s*a\_s*s\_s*o\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|M\_s*P\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|S\_s*\%(D\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|O\_s*X\_s*\_s*\_s*\|I\_s*T\_s*N\_s*E\_s*T\|r\_s*o\_s*m\_s*i\_s*n\_s*e\|\_s*\_s*\|o\_s*\%(h\_s*r\_s*i\_s*u\_s*m\|v\_s*i\_s*n\_s*e\_s* \_s*S\_s*p\_s*o\_s*n\_s*g\_s*i\_s*f\_s*o\_s*r\_s*m\_s* \_s*E\_s*n\_s*c\_s*e\_s*p\_s*h\_s*a\_s*l\_s*o\_s*p\_s*a\_s*t\_s*h\_s*y\|o\_s*k\|r\_s*o\_s*n\)\)\|\_s*\)', \ 'c' : '\%([²ݰťޢͷ°Я⸿ȽҸǼۻô㪸ۺ礷򼷻쮱Ѻ˹Ϲٹʺú̶縥պۦĹȹָ벹Һ٬̫ޫ޳䲬ު־ϹϺ٫ȺӫִӳӬص޸ܺս幡͹䢹̨ɹж๫ʹĹá񹸹ۥ⫹ֹѸ۹չ̹˹عֹ骹ݹҹԹιӹĸëӭ͹޺ݻջ̼ԵʴԸƸ۸žĶٸĨ̱۸ɸָܵʽѻᡵǻ۹ɯ˻íܦ岱ӵʡ޶٣໦Ҫͼٰ֣ڱ·޷߫ѩѢߥѡ٥Ѩڣݺګ̻خعɹԤܯݬݮܱܮݫʵߪʤվ߷ţ賷ΦۻҮ·ط״򷬷ڶ˿ֲ̽ǰ̰鶰פ޺ޱͿ߸Ѧ庿ܸȷˮԢʭЦչġҵ׹޷˹ȸҢڹ׶ҿȴȷͤԱ飼ýƳħ󻼲١Ĵɸ¢ֺλߨߧ¼ȻοǦǧк尷樵ԦܰǢܾؼżĬ߼ȼ𮼻ꩼɨũżʻ͸忬ļҼԺաĵհռޯκբٱؼڷּ忼мܼѼ׼ͼм˼ּҰʵżެոշܤܣƵýʽȽͽɽܼ̿꫽нܶꪽӴ֭ϼܽµ½Ѯضآ߽ؽ޴׽ٽ䣽ֽ߿Ӣ֪ǿп¿Ŀ˿ӿ¿ǿä⿹ƿʿƿ謹еؽ޵ַҾľ䬼ֹ᳻ļװգңطӾԡĽؾѾءϾ޾۾¾騾ľ㾩ܥ񾬽Ͼɾ˾ƴҾ;оƾȾϾܾþھ˾ԧ֤ѿ°濣鿨лػ㭻׶ӶǼӡܻҿӺǡɦ֬寿¶ǻлף㬰ԮǷȻֻѻʻ̼̦Żڻڼ褴λƤڹɳ߳˹ȷ̢ư񢿱Ʊʡܢᱵ𦪦ʹǡˡҡԡơȡɡѡСաجɳ϶ѾʸܵȿǣʶͽгϾݵع˵ۿٸǷշͩΫKĴȱ١ҤҳݢٿȦ۫滳ܾ龹ôŽ޳ڳ³귰¦ǰ㡴姢റҳݲҳ˿ڸিԣϸ³ø֡١סʷŭƬŨŬȾŤ״׳ᰥɬŴܷ̳봢ԽڲӾ׳ڨƿӽdzӡϡۡڡ̡͡γȳijԳճʳ߱׳ڼȵҳֳѳТӼ뻳һרݥųЪĻӳܴ߳ٳβ𳭳dz򳬲Ԭ٪Хٺù٢Ӳߵ۸Ұ楼Ѵ޾˸˧ӳޱڿͻôÿȡȴ䯴԰ݴ۴ڴԴա̴δ˴עӴĴִٴ״ӿŴɴشϴѴشԳҵȴճƶDzμŲͲӻ۷紣ҲԥФҲһݲݲִּȼڲ桶˲ŰײӧҷܴѫββϲѼнӥѷϲӲɲշ߲Ʋ²ȾƸϲˤ㡦ıĶƢ۲øҧ姨ৣ٧اӧݧ᧷짢ۧ秮ܧԧէާ觯קѧڧ֧䧡𧦧ߧ맥ߨƼ֦ҧ駹ݡ׶ܥ񥷡c]\|\_s*[]\|\_s*[]\|\_s*[Ҥ]\|\_s*\|\_s*\_s*Ⱦ\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*ϧ\|\_s*\|\_s*\|\_s*\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|\_s*Ѥ\|\_s*\|A\_s*\%(r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|p\_s*i\_s*a\_s*l\_s*e\_s*s\)\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|\_s*\|\_s*\|\_s*ˡ\|\_s*[ʺ]\|\_s*[϶]\|ѱ\_s*\|\_s*\|\_s*[̱]\|\_s*\|\_s*\|ɴ\_s*[߻]\|\_s*\|9\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|ŵ\_s*\_s*\|õ\_s*\|\_s*¢\_s*\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|ϻ\_s*\|\_s*\|\_s*\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|Ϸ\_s*\|˾\_s*Ĭ\|\_s*[]\|\_s*Ϣ\|\_s*[Ǧ]\|\_s*\|L\_s*a\_s*\%(u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|b\_s*i\_s*a\_s*t\_s*a\_s*e\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|ʾ\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|ت\_s*ͺ\|\_s*\|\_s*\|I\_s*\%(s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\)\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*ʸ\|\_s*[]\|\_s*\%([αֲ˼]\|\_s*\|Ǽ\_s*\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|7\_s*\|\_s*\|ʸ\_s*\|4\_s*\|\_s*[ʬ]\|\_s*\|\_s*\|\_s*\|\_s*[̰]\|\_s*\|\_s*\%(̣\|\_s*\)\|\_s*[]\|͢\_s*[]\|´\_s*\|B\_s*r\|Ȼ\_s*[ϯϺ]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|M\_s*\%(e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|u\_s*s\_s*a\_s*l\_s*e\_s*s\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|S\_s*\%([eg]\|p\_s*e\_s*r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*i\_s*t\_s*a\_s*m\_s*i\_s*n\_s*e\_s*a\_s*e\)\|³\_s*\%(\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\|\_s*ƻ\)\|\_s*\|Υ\_s*\_s*Υ\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*Ƭ\|\_s*\%(\|\_s*\)\|Ĺ\_s*[]\|\_s*\|ŷ\_s*\%(\|\_s*\)\|\_s*\|\_s*\_s*\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[]\|̱\_s*\|\_s*\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|\_s*\|\_s*\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|o\_s*\%(t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\|d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\)\)\|\_s*\|Ϣ\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|Ϥ\_s*\)\|\_s*\|\_s*[]\|\_s*\%([]\|\_s*\|\_s*\_s*Ω\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*[]\|(\_s*\_s*)\|\_s*\_s*\|\_s*ʼ\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|ݣ\_s*\|\_s*\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*ƣ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|ʬ\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*[׼꾽]\|ʣ\_s*\_s*̿\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\|\_s*\%([]\|\_s*\%(\|\_s*\)\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\_s*\%(\_s*\|\_s*\)\)\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\%(\_s*\|\_s*\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\)\)\)\|\_s*\_s*\_s*\|\_s*\|\_s*\%([]\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*[]\|\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\)\|\_s*\%([֥ץ]\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\)\)\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%([]\|\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\_s*\_s*\)\)\|\_s*\%(\|\_s*\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\%([ɥѥ֥]\|\_s*\%(\|\_s*\_s*\)\|\_s*\%([]\|\_s*\%(\|\_s*\_s*\_s*\)\)\|\_s*\|\_s*\%(\_s*[]\|\_s*\)\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\)\|\_s*\%([ĥȥ]\|\_s*\|\_s*\|\_s*\%(\|\_s*\|\_s*\%(\|\_s*\)\)\)\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\%(\|\_s*\)\)\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*\_s*[]\|\_s*\)\|\_s*\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\)\|\_s*\)\|\_s*\%(\|\_s*\|\_s*\_s*\)\)\|\_s*\|\_s*\%([ޥ]\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\%([ץ]\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\%([եȥץ]\|\_s*\|\_s*\)\|\_s*\%([]\|\_s*\%(\|\_s*\)\|\_s*\%(\_s*\|\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\|\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\%([ȥ]\|\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\|\_s*\)\)\|\_s*\%([եɥ󥳥ꥦ]\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\%(\_s*[]\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%([ȥॸ]\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\%([]\|\_s*\)\)\|\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\)\)\|\_s*ɸ\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*³\|C\_s*\%([srdfDeRoa]\|\_s*\|\_s*\_s*\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(U\|S\_s*(\_s*C\_s*o\_s*n\_s*t\_s*i\_s*n\_s*u\_s*a\_s*t\_s*i\_s*o\_s*n\_s*-\_s*P\_s*a\_s*s\_s*s\_s*i\_s*n\_s*g\_s* \_s*S\_s*t\_s*y\_s*l\_s*e\_s*)\)\|u\_s*r\_s*i\_s*u\_s*m\|M\_s*\%(U\|\_s*\_s*\)\|\_s*\_s*\|T\_s*\%(\_s*\_s*\_s*\|R\_s*L\_s*\_s*\)\|\_s*\_s*\|S\_s*\%(V\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|C\_s*\%(R\_s*(\_s*C\_s*r\_s*e\_s*e\_s*d\_s*e\_s*n\_s*c\_s*e\_s* \_s*C\_s*l\_s*e\_s*a\_s*r\_s*w\_s*a\_s*t\_s*e\_s*r\_s* \_s*R\_s*e\_s*v\_s*i\_s*v\_s*a\_s*l\_s*)\|D\_s*\_s*\_s*\)\|\_s*\_s*\_s*\|+\_s*+\|L\_s*\%(X\|O\_s*S\|I\_s*S\_s*P\)\|E\_s*S\_s*P\|A\_s*\%(D\|S\_s*[LE]\)\|\_s*\_s*\|I\_s*S\_s*C\|h\_s*\%(l\_s*o\_s*r\_s*\%(a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\_s*e\)\|r\_s*o\_s*m\_s*i\_s*u\_s*m\|a\_s*S\_s*e\_s*n\)\|O\_s*\%(B\_s*O\_s*L\|N\_s*T\_s*R\_s*O\_s*L\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\)\)\|ú\_s*\|\_s*\%([]\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*2\|\_s*\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\)\)', \ 'd' : '\%([ñӹɾǯĻЧγѪƯƺߡѯƫƣޡƷƴ΢ƼƵƳƸƲƶưƹƱƻ׸۲αͻϿظͻڤɻǩťŮҴޡܬѣžȤǥɶʹ˶¤Դ͸ŵͿϢťϼ¼êíǻïîնԵ庲ë۴ݹէåæǶʿϡö׼ԥٽձټΩѵί۴̽пѼ߱ͤľЦ\.ġȡɢãȥɡǦħբd]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[ɥǥť¥]\|\_s*[ɤǤŤ¤]\|\_s*\|\_s*\_s*\|\_s*\|S\_s*a\_s*u\_s*r\_s*u\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|C\_s*\%(u\|o\_s*p\_s*p\_s*e\_s*r\)\|\_s*ŷ\_s*\|Ʀ\_s*\|ǡ\_s*\|\_s*\|\_s*\|Ǵ\_s*\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\|Ƭ\_s*[]\|\_s*\|\_s*\|\_s*\|Ĵ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ã\|\_s*\|\_s*\|\_s*\_s*ã\_s*¿\|\_s*\%([˸]\|ʿ\_s*\|\_s*ŷ\_s*\|\_s*\%(\|\_s*\)\)\|ǵ\_s*[]\|\_s*\|\_s*\|\_s*\%(\_s*ʪ\|\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\_s*\|\_s*\|\_s*\|ʸ\_s*\|\_s*\_s*\|ȯ\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*ά\|\_s*\_s*\|\_s*\|D\_s*\%(b\|\_s*\_s*\|T\_s*\%(E\|P\_s*\_s*\_s*\|M\_s*\_s*\_s*\)\|M\_s*A\|\_s*\_s*\_s*\|\_s*\_s*\|C\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|u\_s*b\_s*n\_s*i\_s*u\_s*m\|B\_s*\%(M\_s*S\|\_s*\_s*\)\|H\_s*C\_s*P\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\)\|y\_s*\%(s\_s*p\_s*r\_s*o\_s*s\_s*i\_s*u\_s*m\|l\_s*a\_s*n\)\|r\_s* \_s*P\_s*e\_s*p\_s*p\_s*e\_s*r\|\_s*\_s*\|V\_s*D\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\)\|O\_s*S\|o\_s*\%(c\_s*u\_s*m\_s*e\_s*n\_s*t\_s* \_s*\%(T\_s*y\_s*p\_s*e\_s* \_s*D\_s*e\_s*f\_s*i\_s*n\_s*i\_s*t\_s*i\_s*o\_s*n\|O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\)\|C\_s*o\_s*M\_s*o\)\|e\_s*\%(g\_s*e\_s*n\_s*e\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|l\_s*a\_s*w\_s*a\_s*r\_s*e\)\|E\_s*\%(C\|L\_s*\_s*\)\|I\_s*\%(P\_s*\_s*\_s*\_s*\|S\_s*K\)\|i\_s*\%(r\_s*e\_s*c\_s*t\_s* \_s*M\_s*e\_s*m\_s*o\_s*r\_s*y\_s* \_s*A\_s*c\_s*c\_s*e\_s*s\_s*s\|s\_s*t\_s*r\_s*i\_s*c\_s*t\_s* \_s*o\_s*f\_s* \_s*C\_s*o\_s*l\_s*u\_s*m\_s*b\_s*i\_s*a\|g\_s*i\_s*t\_s*a\_s*l\)\)\)', \ 'e' : '\%([ٱ稰Զ콸ս֦廷ٱְܱױرԨųɲСݩ޽޼ާǢޱ޻ʥԤϱͱն۪߱бհܳϱƱñȱԱűƱӱDZɱϱı̱޹зتͲ±ݲþв΢ᢺ⧮ޣ姯Ѣмǧ㧳ݧŧ泌e]\|A\_s*\%([Ƚ]\|V\_s*\%(\_s*\|\_s*ͥ\)\|B\_s*\%(\|C\_s*\)\)\|\_s*\%([Ƚ]\|\_s*\%(\_s*\|\_s*ͥ\)\|\_s*\)\|\_s*\%(\|\_s*\)\|ɰ\_s*\_s*\|M\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*˹\_s*\|\_s*ʪ\|\_s*\|˦\_s*\|\_s*\_s*\|Լ\_s*\|\_s*\|\_s*ϩ\|\_s*\|\_s*[Ի]\|\_s*ƺ\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|L\_s*\%(\_s*\_s*\|L\_s*\%(\_s*\_s*\|\_s*\)\)\|\_s*\%([ɲ]\|\_s*\)\|N\_s*\| \_s*n\_s* \_s*\_s*\|\_s*\%([Ķ˶]\|\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%([Ȼʶ]\|\_s*\_s*\|\_s*\|\_s*\_s*\)\|S\_s*\%([]\|\_s*\_s*\|N\_s*\|F\_s*\_s*\)\|\_s*[¿]\|X\_s*\%([]\|O\_s*\|\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\)\|\_s*ƻ\|\_s*Ʀ\|C\_s*\%(l\|h\_s*l\_s*o\_s*r\_s*i\_s*n\_s*e\)\|\_s*\%(Ϸ\|\_s*\)\|\_s*\_s*\_s*®\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\)\|ݿ\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\_s*\_s*\|\_s*\)\)\|\_s*\|\_s*Ĵ\|\_s*\_s*\_s*\%(\_s*\|\_s*\)\|ȯ\_s*Ÿ\|ɾ\_s*\_s*\_s*\|\_s*\_s*\|ɴ\_s*\_s*\_s*ŵ\|\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\|\_s*ĥ\|\_s*\|\_s*ò\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\%([ޥ]\|\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\)\)\|\_s*Ω\|E\_s*\%(r\|O\_s*F\|u\_s*\%(p\_s*o\_s*m\_s*a\_s*t\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|r\_s*o\_s*p\_s*i\_s*u\_s*m\)\|U\_s*C\_s*\_s*\_s*\|P\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|d\_s*i\_s*t\_s*i\_s*n\_s*g\_s* \_s*M\_s*A\_s*C\_s*r\_s*o\_s*S\|\_s*\_s*\|-\_s*m\_s*a\_s*i\_s*l\|\_s*\_s*\|\_s*\_s*\_s*\|N\_s*T\_s*E\_s*R\_s*\_s*\|\_s*\_s*\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\|S\_s*\%(P\|C\_s*\_s*\)\|l\_s*k\|m\_s*a\_s*c\_s*s\)\|\_s*\%([֥顼]\|\_s*\_s*\_s*\|\_s*\_s*\_s*[ȥ]\|\_s*\%(\_s*\|\_s*\_s*[]\)\|\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\_s*[ȥ]\|\_s*\)\|\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\)\|\_s*\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*[䥢]\|\_s*\%(\_s*\%(\|\_s*\|\_s*\)\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\)\)\|\_s*\%(\|\_s*\_s*\_s*\)\)', \ 'f' : '\%([ϼвɮ˼ݵϰ˴ϴʻÿū߹ʷʵʸʯʭʶʲʱʬʴڸ޽ʥ޼⵺бƣ߬ѵοʳʰزʧʨؿ礢ıǹ޴ʤʢʣʡԴҿϷƧнҶ꿣ڿʮ߹ֿʫݤգŴϢ٢޶ʩʦFէf]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ǹ\|\_s*\|\_s*\|E\_s*u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\%(Ǥ\|\_s*[]\)\|\_s*\|Ƭ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|M\_s*y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*[滳]\|\_s*\|B\_s*u\_s*d\_s*d\_s*l\_s*e\_s*j\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*[ͤ]\|\_s*\|2\_s*\%([ͤ]\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*Χ\_s*\|I\_s*r\_s*o\_s*n\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\%(\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\%(\_s*\|\_s*\_s*\_s*\)\)\)\|\_s*\|\_s*\|\_s*ǽ\|\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\_s*[]\)\|\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*1\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\)', \ 'g' : '\%([Ʊ亲޺иЯǡ¹ɹϿйⶳݶ蹡贻˸Ӫ伸˸ظ5Ķۻٸѻ줴֡ɷ޷߷ݱŴɧѷʸ¸뻲²ƤʵʹҰ¢襸ж鹶ܶ溷ֶ򹰶㼶ȶ餰ݵ۶Է̵֪ƸߤѧĶȶǶŹԵյڵ۵õ췷Ѧ»·赼ĵۧີ٦ȱⷸ⧹εߴ¦̳Ǹ񷿷Ը걳޽˳̿Ƭ︷̴ݢ޴ḵس̳۳ٳܳڳش㨳ЩԶ䳯ֽ糳ӱ⭳賩ֶѴݲծӨ̲´ϲ谽˲쾡󡤬紤楬֦ԦƦѦɦզӦ˦ϦͦצئĦ¦ЦŦҦȦǦʦΦ̦Ԧçg]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\_s*\|\_s*Ƭ\_s*\|\_s*\|\_s*\|P\_s*e\_s*r\_s*s\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\%([ֱ]\|ŷ\_s*\)\|\_s*\_s*\|\_s*\%([Ÿо]\|\_s*\)\|Ʀ\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[¯]\|\_s*[ǹ]\|\_s*\|\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*[׹]\|\_s*ϡ\|\_s*\|\_s*\|\_s*\%([]\|\_s*\)\|\_s*\%([ˡƻ]\|\_s*\_s*\|ʹ\_s*\_s*ˡ\)\|A\_s*g\|S\_s*\%(c\_s*r\_s*o\_s*p\_s*h\_s*u\_s*l\_s*a\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*m\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|i\_s*l\_s*v\_s*e\_s*r\)\|\_s*\|\_s*\_s*ë\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*̾\|T\_s*y\_s*p\_s*a\_s*l\_s*e\_s*s\|\_s*[]\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|Ϣ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\|G\_s*\%([dae]\|o\_s*m\_s*o\_s*r\_s*t\_s*e\_s*g\_s*a\_s*c\_s*e\_s*a\_s*e\|M\_s*\%(T\|D\_s*(\_s*G\_s*e\_s*r\_s*m\_s*a\_s*n\_s* \_s*N\_s*a\_s*t\_s*i\_s*o\_s*n\_s*a\_s*l\_s* \_s*R\_s*e\_s*s\_s*e\_s*a\_s*r\_s*c\_s*h\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\_s* \_s*f\_s*o\_s*r\_s* \_s*C\_s*o\_s*m\_s*p\_s*u\_s*t\_s*e\_s*r\_s* \_s*S\_s*c\_s*i\_s*e\_s*n\_s*c\_s*e\_s*)\)\|\_s*\|C\_s*L\|c\_s*c\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\|P\_s*L\|n\_s*u\_s*s\|I\_s*\%(N\_s*A\_s*(\_s*t\_s*h\_s*e\_s* \_s*G\_s*e\_s*n\_s*e\_s*r\_s*i\_s*c\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*t\_s*i\_s*v\_s*e\_s* \_s*A\_s*p\_s*p\_s*l\_s*i\_s*c\_s*a\_s*t\_s*i\_s*o\_s*n\_s*)\|F\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\)\)\|U\_s*I\|N\_s*U\|O\_s*\_s*\_s*\|E\_s*T\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\%(\|\_s*\_s*\)\)\)\|\_s*\%(\|\_s*\_s*\)\|\_s*\%([른Υʥ]\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\%(\|\_s*\_s*\_s*\)\)\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*[˥]\|\_s*\_s*[˥]\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\%(\|\_s*\%(\|\_s*\|\_s*\_s*[ĥ]\)\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\)\|\_s*\|\_s*\%([]\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\%([եޥ]\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*[ȥ]\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\)\|\_s*\|\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\%(\|\_s*[]\)\|\_s*\)\)\)\)', \ 'h' : '\%([άмۭϯƶشǮ˴ꥷֹ٢ڣþ̷ȸԼƾԵұٸޤê׺˲˯ˣ˱˩ˬˢ߰˥˨ˮ˰˦˭ˤڽھӮƱĦ˫ԾӬێ͸½Ш۳ֱ׭׬̦΢٨ղʽ֢ʾʻ򰵸͸؎ϼвر˼ݵɾϰϴʻÿū߹ʷʵʸʯʭʶʲʱʬʴڸ޽ʥ޼бBƣ߬ѵοʳʰزʩFʦʨյؿ乢ǹ޴ʤʣʡԴҿƧнҶ꿣ڿʮ߹ֿʫՎϷDzDZɢݽɨڻײɦگٶɳߪ̩߫ҷΨɢʺɽźƶѽñ¾Ʒ1ඡɩϾǼݱɧҹɴҿɪ粹ɲɱ桶ڲŸͨ妳ѽʹɱ繰͵עɯɥɭɤʴɫݤ̤ɮɬɶɷɿɺɻʼɼɾɸʿɽ֡ڡʡآ羷۬զҸ壸Уﴳɹɰ̥ݺ㰤Ҏʻȧ۽ˡȣַүꤾ׼׹Ȧ߶ھ¦ൡá˵ȫƯȪIJԸʧȷȩ㳾СȰϸܥ˧ʢͪڼѶΥȹȸަɡڲչȤҺýҹȢȡ򾾹ٰ®Ȼиݢ֯ڦԦ¬ѳĽ̷׿޸ȥȮϡȭ˪ȱˡȰȬȯڴԯأצɣԳ߯ޢȨźܹڵȼȽɺȾȿȺǿԺı۱ŶķƱüҵ਻ԳܱĥŽ淿ʤϣ訬ȡաҥۥإh]\|\_s*[Ύ͎̎ˎ]\|\_s*[ۥإեҥ]\|\_s*[ۤؤդҤ]\|\_s*\|\_s*\|\_s*Ļ\|\_s*\|\_s*[]\|\_s*\|\_s*[п]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[]\|T\_s*r\_s*i\_s*u\_s*r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*ˡ\|\_s*λ\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|c\_s*l\_s*a\_s*u\_s*s\_s*t\_s*r\_s*o\_s*p\_s*h\_s*o\_s*b\_s*i\_s*a\|\_s*\|\_s*\|\_s*\|E\_s*\%(r\_s*i\_s*o\_s*c\_s*a\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\|u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\|Ƭ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|f\_s*\%(o\_s*r\_s*t\_s*e\|e\_s*m\_s*t\_s*o\)\|\_s*[滳]\|\_s*\|\_s*\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%([ͽ]\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*ŷ\_s*\|\_s*[]\|\_s*\|\_s*[ȡ]\|\_s*\_s*\%(\|\_s*\)\|A\_s*\%(s\|r\_s*s\_s*e\_s*n\_s*i\_s*c\|n\_s*g\_s*i\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\|\_s*\_s*\|\_s*\_s*\|\_s*[]\|\_s*\|ľ\_s*[Ᵽ]\|\_s*Φ\|\_s*\_s*\|\_s*\|\_s*Ÿ\|\_s*[˹]\|\_s*\|\_s*ƻ\|\_s*\|\_s*\|\_s*\|̢\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|ι\_s*\|N\_s*e\_s*l\_s*u\_s*m\_s*b\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\_s*\|Ʊ\_s*˦\|\_s*\|\_s*[ȧ]\|\_s*[]\|\_s*[ǵ]\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|Ĺ\_s*ë\|\_s*\_s*\|Ż\_s*Ƭ\|\_s*\|\_s*\|\_s*[]\|\_s*\%(\_s*\|\_s*\)\|ͦ\_s*[]\|ή\_s*\|\_s*\|2\_s*\%([ͤ]\|\_s*\|0\_s*\)\|\_s*\%([ͤ]\|\_s*[]\)\|ø\_s*\|8\_s*\|\_s*\|P\_s*\%(t\|o\_s*t\_s*a\_s*m\_s*o\_s*g\_s*e\_s*t\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*t\_s*i\_s*n\_s*u\_s*m\)\|\_s*\%([]\|\_s*\_s*\|\_s*\)\|\_s*ή\|\_s*\|\_s*\|\_s*\|R\_s*S\_s*I\|M\_s*\%(y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*c\_s*u\_s*r\_s*y\)\|\_s*Ĵ\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\%(\|\_s*[ȥ]\)\)\|\_s*\|\_s*ϻ\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\)\|\_s*\%([顼]\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\%(\|\_s*\)\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\)\|H\_s*\%([fsPeo]\|i\_s*m\_s*a\_s*n\_s*t\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\_s*\|T\_s*\%(M\_s*L\_s*\_s*\_s*\_s*\|T\_s*P\_s*\_s*\_s*\)\|D\_s*D\_s*\_s*\_s*\_s*\_s*\|u\_s*r\_s*d\|a\_s*\%(s\_s*s\_s*i\_s*u\_s*m\|f\_s*n\_s*i\_s*u\_s*m\|w\_s*a\_s*i\_s*i\)\|y\_s*\%(p\_s*e\_s*r\_s* \_s*T\_s*e\_s*x\_s*t\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|d\_s*\%(n\_s*o\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|r\_s*\%(a\_s*s\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|o\_s*\%(s\_s*t\_s*a\_s*c\_s*h\_s*y\_s*d\_s*a\_s*l\_s*e\_s*s\|g\_s*e\_s*n\)\)\)\)\)\|\_s*[ʿ]\)', \ 'i' : '\%([DZߡ׶׵϶̴ߺ̤ӷŲݳͶưݡȵܵ述S׽ꭲڿĹǢ̿쵸Ÿವżϫĺ׻кطҮͦܡǮʰᰱ˻ްϮסӱ©ĩ寱۱İս˻Сݫ׸ԩ۵ʰݻְյ׮Ųΰ𨱡ֱ۩۰дذYŰ1ڴŪ٥ަ̰թȺص°ذѰϱԣиȰǡѦ״ͣ޻׳԰ʳױİΰڸްͰֹаΨͬհݰڰ۵ɹۢ͢ˣ籥ɥɧڻi]\|E\_s*\_s*\_s*\|\_s*\|J\_s*u\_s*n\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*ë\|\_s*ʸ\_s*\|\_s*\|ɨ\_s*\|\_s*ϻ\_s*\|\_s*\|\_s*±\|\_s*\_s*\|\_s*ȷ\|β\_s*\|\_s*\_s*\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*ɨ\|\_s*\|\_s*\_s*ƣ\|5\_s*[]\|\_s*[]\|ب\_s*٦\|\_s*\|Ĭ\_s*\|\_s*\|\_s*Ӽ\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|ʸ\_s*\|Ϻ\_s*[]\|\_s*[]\|\_s*\|U\_s*r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*[Ļ]\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*[ﷻ]\|\_s*\|ݬ\_s*\|\_s*\|\_s*\|\_s*¹\_s*\|\_s*\_s*\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|\_s*\|\_s*\|\_s*\_s*ή\|\_s*[]\|\_s*[]\|\_s*[ڻ]\|\_s*ɽ\|\_s*\_s*[ú]\|\_s*ӧ\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|\_s*[]\|<\_s*=\_s*=\_s*>\|ɬ\_s*\_s*\_s*ʬ\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\_s*\|ɸ\_s*\_s*\_s*\_s*\)\|\_s*Υ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|¨\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|̵\_s*\%(\_s*\|\_s*\)\|\_s*Ǽ\_s*ˡ\|\_s*\_s*\|\_s*\%([ǡ­]\|\_s*ʬ\)\|\_s*\_s*\|\_s*\|Ƴ\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\)\|I\_s*\%([rPn]\|R\_s*Q\|\_s*\_s*\|C\_s*\%(\_s*\|\_s*\_s*\|\_s*\_s*\)\|l\_s*l\_s*i\_s*n\_s*o\_s*i\_s*s\|S\_s*\%(O\|B\_s*N\_s*\%(\_s*\|\_s*\_s*\)\|A\_s*\_s*\)\|d\_s*a\_s*h\_s*o\|D\_s*\%(\_s*\_s*\|E\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\)\)\|\_s*\_s*\|T\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\)\|o\_s*\%(w\_s*a\|d\_s*i\_s*n\_s*e\)\)\|\_s*\%(\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\)\)\)\)', \ 'j' : '\%([ֺɼټľ¿̭ߩʿ顿ױӿпԿҿؿѿտǽޮտٳа屽лġпЫǡ̼žվڷǨèط۲ٽɽμѽȻŽޭ߱覽۽ڽ޽޼쳼ߨкߧ尽Ľ½ýƽ֮꼥Ώ߼ֵᪿλ̻Яϩ˱ѻżб褻κԼٵͤꨢ֧קj]\|\_s*\_s*\|\_s*\|\_s*\|G\_s*\%(\_s*\|\_s*\)\|Z\_s*\%(r\|i\_s*r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\)\|D\_s*y\|\_s*\%(\_s*\|\_s*\)\|\_s*\|\_s*\|\_s*\_s*\%(\_s*\|\_s*\)\|\_s*\|2\_s*\|\_s*\|\_s*\_s*ʺ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*ī\|\_s*\|Ƚ\_s*\|ϳ\_s*\|\_s*\|\_s*\_s*\_s*\|Ĺ\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*Τ\|\_s*[ϴ崽]\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\|\_s*\|\_s*\%(\|\_s*[ʷ]\|\_s*\|\_s*\|\_s*\)\|\_s*\|\_s*\|ɳ\_s*\|1\_s*\%(0\|1\_s*\|8\_s*\|2\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*̣\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*Ʊ\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\_s*\|\_s*\|\_s*Φ\_s*\_s*ü\_s*\%(\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\%([˥ʡ]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*[ӥ]\|\_s*\)\|\_s*\%(\_s*[]\|\_s*[]\)\|J\_s*\%(R\_s*\_s*\_s*\|\.\_s*S\_s*\.\_s*\%(\_s*\_s*\|B\_s*a\_s*c\_s*h\)\|\_s*\_s*\|\_s*\_s*\|C\_s*B\_s*\_s*\_s*\|-\_s*P\_s*O\_s*P\|\_s*\_s*\|P\_s*\%(G\_s*\_s*\_s*\_s*\|E\_s*G\_s*\_s*\_s*\_s*\)\|I\_s*S\_s*\%(\_s*\_s*\|\_s*\_s*\)\|a\_s*p\_s*a\_s*n\_s* \_s*A\_s*d\_s*v\_s*a\_s*n\_s*c\_s*e\_s*d\_s* \_s*I\_s*n\_s*s\_s*t\_s*i\_s*t\_s*u\_s*t\_s*e\_s* \_s*o\_s*f\_s* \_s*S\_s*c\_s*i\_s*e\_s*n\_s*c\_s*e\_s* \_s*a\_s*n\_s*d\_s* \_s*T\_s*e\_s*c\_s*h\_s*n\_s*o\_s*l\_s*o\_s*g\_s*y\|A\_s*\%(I\_s*S\_s*T\|N\_s*\_s*\_s*\|V\_s*A\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|U\_s*N\_s*E\_s*T\)\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\)\|\_s*\%([ϥ]\|\_s*\_s*\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\_s*\|\_s*[]\)\|\_s*\%(\_s*\%([ʥ]\|\_s*\%(\|\_s*\)\|\_s*\)\|\_s*\%(\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\)\)\|\_s*\%([]\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\)\|\_s*\%([֥]\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\|\_s*\%([ȥ]\|\_s*\|\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*[ʥ]\)\)', \ 'k' : '\%([²ǷťưЯ⸼ȽҸǼ㪸ۻ쮱੻ֿѺϹٹʺú纯պۦĹȹָ벹Һ٬̫ޫ޳䲬ު־㣸ϹϺ٫ȺӫִӳӬص޸ܺս͹̨ɹж๫ʹĹá񹸹ۥ⫹ֹѹ۹չ̹˹عֹ骹ݹҹԹιӹĸëӭйݻջ̼ԺʴԺƸ䲾Ƹ۸žĶٸĨӾ̱ۻҸɸָܵŽѻǻûƤҸݰٽᾱʷϿٱЭۿݼܷغѭԡ޲իҥݾشկثڷ𸳰̷ո丮Ǹݷڸ建ҧҾتϨꥷ찷Ʒ̷÷Ҧ׷ۤܯݬݮܱܮݫʵߪʤվ߷ţ賷ΦۻҮ·ذѾ򷬷ڶ˿ֲ̽ǰ̰鶰פ޺Ϳ߷Ѧν庿ܸȷˮԢɦʭܿЦĸ¢޷˹ȸҢڹҿȶ꤯ӽ廸͵θ˨ž䷯ݢݡ뿸֨ɵɵǵ̵Ƶʡޢ̡ޡá笠ܡ塹Ţ硧顩¢ġ졵ˡ桼ݢ᡺Ժٹܶµϴߵʷߵ̸׶ܶ۶ڢҶݸٶڶӶ϶׶նѶ۶ֶضбڡکڪӵҨީд򰰶ɵժ亶ѿַﶷѬзź䡹ިٰװ¶ѹ߶ҳٶɶѾ貶󶩶жᶧŶö̵̾֩켣ŵָյⱱ͵ܵ׵ֵȷٵߵ޵۶ݺʹݤױ̴ڵſөɱȲøڶ˷Ҽ¶𵦵ۮ־ةȩܵѥ·д̧İɺݸ嵥ڵ޿洴ԭԵڸ쵧㵫٣ֿ۹ڹɳ߳˹ȷ̢ư좿ƱʡܢᱵרǡˡҡԡơȡɡѡСաôجɳ϶ѾʸܵȿǣʶͽгϾݵع˵ۿٸǷշͩΫĴȱ١ҤҳݢʢٿȦ۫滳ܾ龹ôŽ޳ڳ³귰¦㡴姢̻റɵҳݹ޳˿ڸিԣϸ³ø֡١׷ŭƬŨŬŤ״׳ᰥɬŴܷ̳봢ԽڲӾ׳ڨƿӽdzӡϡۡڡ̡͡γȳijԳճʳ߱׳ڼȵҳֳѳТӼ뻳һרݥųЪĻӳܴ߷ٳβ𳭳dz򳬲Ԭ٪Хٺù٢Ӳߵ۸ҰᴮѴ޾˧ӳޱڿͻôÿȡȴ䯴԰ݴ۴ڴԴʴա̴δ˴עӴĴִٴ״ӿŴɴشϴѴشԳҵȴճƶDzμŲòͲӻ۷紣ҲԥФҲһݲݲָ򴢱ּȼڲ桶˲ŰײӧҷܴѫββϲѼнӥѷϲӲɲշ߲Ʋ²ȾƸϲݤᨱ秷ʳK߶Ҧ֥ܥk]\|\_s*[]\|\_s*[]\|\_s*[Ҥ]\|\_s*\|\_s*\|\_s*\_s*Ⱦ\|\_s*ë\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*ϧ\|\_s*\|\_s*\|\_s*\|M\_s*e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|\_s*Ϣ\_s*̣\|\_s*\|\_s*\|\_s*\|S\_s*i\|\_s*\|ɴ\_s*[߻]\|9\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|ŵ\_s*\_s*\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|õ\_s*\|\_s*\|c\_s*r\_s*e\_s*s\_s*c\|\_s*¢\_s*\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|ϻ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[Ƿ]\|\_s*\|\_s*ɧ\|\_s*\|\_s*\_s*Ļ\|X\_s*e\|ǡ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|G\_s*o\_s*l\_s*d\|A\_s*\%(u\|r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|s\_s*t\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\_s*\|\_s*\|R\_s*\%(h\_s*\%(o\_s*e\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\)\|u\_s*n\_s*u\_s*n\_s*c\_s*u\_s*l\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|a\_s*n\_s*\%(u\_s*n\_s*c\_s*u\_s*l\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*l\_s*e\_s*s\)\)\|\_s*\|\_s*[©]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\%([]\|̳\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*ŵ\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*ƻ\)\|\_s*\|Υ\_s*\_s*Υ\_s*\|\_s*Ƭ\|\_s*\%(\|\_s*\)\|\_s*\|Ĺ\_s*[]\|\_s*\|ŷ\_s*\%(\|\_s*\)\|\_s*\|\_s*\_s*\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[]\|̱\_s*\|\_s*\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|Ϣ\_s*\|\_s*\|\_s*\_s*\|C\_s*\%([ormdfa]\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\|i\_s*r\_s*c\_s*a\_s*e\_s*a\_s*s\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*r\_s*i\_s*u\_s*m\|e\_s*r\_s*c\_s*i\_s*d\_s*i\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|Ϥ\_s*\)\|\_s*\|\_s*[׼]\|\_s*\%(\|\_s*\_s*Ω\_s*\_s*\_s*\_s*\_s*\_s*\)\|(\_s*\_s*)\|\_s*\|\_s*\_s*\|\_s*ʼ\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\|\_s*\|\_s*[׿]\|\_s*\|ݣ\_s*\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|\_s*\%([֥]\|\_s*\|\_s*\%([ȥ]\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\)\)\|\_s*\%(\_s*\%(\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\)\|\_s*\_s*\|\_s*[եȥ]\)\|\_s*\%(\|\_s*\%(\|\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\)\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|a\_s*p\_s*a\_s*v\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|o\_s*\%(d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\)\)\)', \ 'l' : '\%([족̢ТϢ˥ʥݦ򧭦l]\|\_s*[]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\_s*2\_s*\_s*ˡ\|\.\_s*\.\_s*\.\|\_s*\|\_s*\|\_s*\|ݦ\_s*ݨ\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%([֥ܥȥᥦ]\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\%([ƥȥ]\|\_s*\%(\_s*\|\_s*\)\|\_s*\)\|\_s*\_s*\|\_s*\_s*\%([ȥ]\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*[ȥ]\)\|\_s*\|\_s*\%([]\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*[]\|\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%([]\|\_s*\)\)\)\|\\\_s*L\_s*a\_s*T\_s*e\_s*X\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\%(\_s*\|\_s*\|\_s*\)\|\_s*\_s*\|A\_s*\_s*E\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\)\)\|L\_s*\%([DP]\|\_s*\_s*\|L\_s*\_s*\_s*\|u\_s*\%(t\_s*e\_s*t\_s*i\_s*u\_s*m\|c\_s*i\_s*d\)\|i\_s*\%(t\_s*h\_s*i\_s*u\_s*m\|s\_s*p\|n\_s*u\_s*x\)\|E\_s*D\_s*\_s*\_s*\|e\_s*m\_s*m\_s*a\|o\_s*\%(g\_s*i\_s*c\_s*a\_s*l\_s* \_s*U\_s*n\_s*i\_s*t\_s* \_s*N\_s*u\_s*m\_s*b\_s*e\_s*r\|u\_s*i\_s*s\_s*i\_s*a\_s*n\_s*a\)\|a\_s*\%(w\_s*r\_s*e\_s*n\_s*c\_s*i\_s*u\_s*m\|n\_s*t\_s*h\_s*a\_s*n\_s*u\_s*m\|T\_s*e\_s*X\)\|A\_s*N\)\|\_s*\_s*\|\_s*\|\_s*\%([ݥޥʥΥ̥֥]\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*[]\|\_s*[]\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*[륷]\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*[]\)\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*\%([]\|\_s*\|\_s*\)\|\_s*\%([]\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%([ɥԥץ]\|\_s*\)\)\)', \ 'm' : '\%([Ӵڬߪ߫һսοʹʪأε첼ЪǴܸʸݨۯۤ˴ݼ˾dzϳܾըлӤոľѾճ˨λتۻΪ溵ʰ̺üӹɴϢ͸¼߶ٽﶻŷ̼ǫƿ̸̵̴̶̻̹ϻپ̷̳믵Ĺǥߺ֪Ь夰յ𢨡̮þ̬ѰλûǣץŹ̨ºļšѢ١۱̰ǧʾƳϩƻм̯̾̿̽Ե㴳ﲸ̫Ĵ̩̪̲̱ܳ׽̭뷱ο̧̥̣̦ʿߎϸٿܵŪ¹׿׾ᵼžеȱμ°ẕ̇ҸƦԫѿǤʶĴٰüᶶ賹ĮԤ硬ˡʱߴʣ󺵸ػϨŻȨؤ̢̡Ϯ򾾶踭ͥϺ۾̤⼬غѿ˻ޣ̢ޡࢿܡޢ΢Тʢꢻ覤͡碾ݢϢߢˡߢ⢩ݥ޺ǥߥ᧮m]\|\_s*[ӎҎюЎ]\|\_s*[ߥ]\|\_s*[ߤ]\|\_s*[]\|\_s*\%([Ͽ]\|\_s*\|\_s*\)\|\_s*\|\_s*\_s*\%(\|ʸ\_s*\)\|ξ\_s*\%([ѿƿ]\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|O\_s*l\_s*e\_s*a\_s*l\_s*e\_s*s\|ر\_s*\|\_s*\_s*\|\_s*\|\_s*ĥ\|\_s*[]\|\_s*\_s*ӧ\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%([ͭ]\|\_s*ƻ\|\_s*\)\|\_s*\|\_s*\|6\_s*\|\_s*\|\_s*\|\_s*\|\_s*;\_s*\|\_s*\|B\_s*\%(e\_s*r\_s*b\_s*e\_s*r\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*o\_s*r\_s*r\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|©\_s*\|k\_s*\$\_s*_\_s*{\_s*i\_s*n\_s*f\_s*}\_s*\$\|\_s*\|A\_s*\%(b\_s*i\_s*e\_s*s\|p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*r\_s*o\_s*s\_s*t\_s*i\_s*c\_s*h\_s*u\_s*m\)\|\_s*\|\_s*ȷ\|\_s*\|\_s*[]\|\_s*\|\_s*\|Φ\_s*\|\_s*[ҽԢ]\|3\_s*[]\|\_s*[]\|\_s*[ȱ]\|\_s*\|ȷ\_s*\|\_s*\|\_s*[˪]\|P\_s*o\_s*d\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*[ζε]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|R\_s*u\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\%(̣\|\_s*[ž]\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*Ļ\|\_s*\|\_s*\|\_s*[һ]\|\_s*\|ߴ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*ã\|\_s*\|\_s*[̯]\|\_s*\|\_s*\|L\_s*o\_s*g\_s*a\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|Ю\_s*\|\_s*\|\_s*\|S\_s*\%(a\_s*p\_s*i\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|c\_s*h\_s*i\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|C\_s*\%(a\_s*s\_s*u\_s*a\_s*r\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*a\_s*t\_s*o\_s*p\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\%(\_s*\|\_s*\)\|H\_s*a\_s*m\_s*a\_s*m\_s*e\_s*l\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*[Ƿ]\|\_s*ɧ\|ʹ\_s*\|\_s*\|\_s*[§]\|\_s*\_s*ǯ\|\_s*\|¿\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|ñ\_s*\_s*\|\_s*\|\_s*\_s*[]\|\_s*\_s*\|\_s*\_s*Ǿ\|\_s*[]\|\_s*\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\)\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*Ū\_s*\_s*̣\|\_s*\_s*\%(\_s*̣\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|M\_s*\%([dgtnOo]\|X\_s*\_s*\_s*\|\_s*\_s*\|S\_s*-\_s*D\_s*O\_s*S\|L\_s*\_s*\_s*\|P\_s*3\_s*\_s*\_s*\%(\_s*\_s*\|\_s*\_s*\)\|D\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|c\_s*C\_s*a\_s*r\_s*t\_s*h\_s*y\|e\_s*\%(d\_s*u\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*l\_s*e\_s*s\|i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*u\_s*m\|t\_s*a\_s*F\_s*o\_s*n\_s*t\|n\_s*\%(y\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|d\_s*e\_s*l\_s*e\_s*v\_s*i\_s*u\_s*m\)\|C\_s*a\_s*b\)\|u\_s*l\_s*e\|A\_s*C\_s*\_s*\_s*\_s*\|a\_s*\%(g\_s*n\_s*\%(o\_s*l\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|e\_s*s\_s*i\_s*u\_s*m\)\|n\_s*\%(u\_s*\%(s\_s*c\_s*r\_s*i\_s*p\_s*t\_s* \_s*E\_s*d\_s*i\_s*t\_s*i\_s*n\_s*g\|e\_s*d\)\|g\_s*a\_s*n\_s*e\_s*s\_s*e\)\|r\_s*y\_s*l\_s*a\_s*n\_s*d\|i\_s*n\_s*e\|k\_s*e\_s*f\_s*i\_s*l\_s*e\|c\_s*\%(h\|i\_s*n\_s*t\_s*o\_s*s\_s*h\)\|s\_s*\%(s\_s*a\_s*c\_s*h\_s*u\_s*s\_s*e\_s*t\_s*t\_s*s\|t\_s*e\_s*r\_s*C\_s*a\_s*r\_s*d\)\)\|i\_s*\%(n\_s*n\_s*e\_s*s\_s*o\_s*t\_s*a\|s\_s*s\_s*\%(i\_s*s\_s*s\_s*i\_s*p\_s*p\_s*i\|o\_s*u\_s*r\_s*i\)\|c\_s*\%(r\_s*o\_s* \_s*S\_s*o\_s*f\_s*t\_s*w\_s*a\_s*r\_s*e\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*s\|h\_s*i\_s*g\_s*a\_s*n\)\)\|I\_s*\%(T\|P\_s*S\|M\_s*D\)\)\|\_s*\)', \ 'n' : '\%([ݥɽ԰ھ翮Ǽ¡۩׵˾̰ĵƭоӸĪɫŸˡŵ§ϵůۨǹǿǾǽǶǸЫݻǷҾݡǻĤΎ߿ݦեǫդٹǭʿܡ̲ǮϫǬ̭ܬDzǰdzǯ޺ǴͺDZǪϣ಻ǩ͎Բʾ迡۾ݹŧ޹dzǨæ˥ȴٶɤ̎ٿô콭ʨ߳ƲؽǢѦ浶ǡǣԡբ١ذլѹٿǦǥǧǤ̶֮ƨ2бðˎٸij֧ť鵵ͼ㳴÷òڳвּͱľؽǺޥϲ˿ܧƻб±ŵڽͨƷȱįή¸ܩĹ޽Ⱦ棷мǵճǢԶ󢿢͢Ǽ̵ٽձ޸ѵİྨӭڵ˴Ƥʨ̾˥̡͢ʥ̥Φߦn]\|Ģ\_s*\|\_s*\|\_s*\|\_s*ö\|\_s*\_s*ȿ\|\_s*\_s*\|ϵ\_s*[ݱ]\|\_s*\|\_s*\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\|\_s*\_s*\|\_s*Ƿ\|\_s*\|ο\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*;\_s*\|\_s*\|\_s*\|I\_s*I\_s*\|\_s*ȭ\|\_s*\|\_s*\| \_s*2\_s* \_s*\_s*\_s*\|M\_s*y\_s*r\_s*i\_s*s\_s*t\_s*i\_s*c\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*ѵ\|\_s*[]\|P\_s*b\|L\_s*e\_s*a\_s*d\|\_s*[]\|C\_s*\%(e\_s*l\_s*a\_s*s\_s*t\_s*r\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*r\_s*y\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*\%(\_s*\|\_s*ʪ\)\|\_s*\_s*\|7\_s*[]\|\_s*\|\_s*\|ʿ\_s*\|\_s*\|\_s*\_s*\_s*\|T\_s*h\_s*e\_s* \_s*N\_s*e\_s*t\_s*w\_s*o\_s*r\_s*k\_s* \_s*I\_s*n\_s*f\_s*o\_s*r\_s*m\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\|S\_s*o\_s*\%(l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|d\_s*i\_s*u\_s*m\)\|ɳ\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\%([]\|\_s*\_s*\_s*\|\.\_s*\_s*\.\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\)\)\|\_s*\_s*\|\_s*\|\_s*\|N\_s*\%([dpbaeoi]\|R\_s*Z\_s*I\|-\_s*g\_s*r\_s*a\_s*m\|G\_s*\_s*\_s*\|H\_s*K\_s*\%(\_s*\_s*\|\_s*\_s*\)\|T\_s*T\|Y\_s*\_s*\|U\_s*L\_s*L\|A\_s*S\_s*A\|E\_s*\%(C\|p\_s*o\_s*c\_s*h\|m\_s*a\_s*c\_s*s\)\)\|\_s*\|\_s*\)', \ 'o' : '\%([Ůۯ۰Ÿ۲˻ҳŵسḯԹ䲮ɭڶڼᡸǦƼĹĽǼԲ£ȳ־쿯Φֲݣſ༫ʳˬʲ񤲷ǰ߰θۻɽ̶Ͷ笲ݶذߴ޳۾ʲإᥲصռ鲪ݯݳ²۷겣ݿӵ꾪Ʊٱ⳸͸Ȳϵ˲˱¿ʤDzϺڨϯݰƿϷͦ˵Ӱ˿侭˸಼ͺߺӱä¢ˢৰϡئo]\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*Ȭ\_s*\|Ŵ\_s*\|\_s*ȱ\_s*\_s*\|\_s*\|\_s*\|\_s*̣\|\_s*\_s*\|\_s*ʴ\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|ب\_s*\|˵\_s*[]\|\_s*[̼]\|\_s*[]\|\_s*[]\|թ\_s*\|\_s*\|\_s*\|G\_s*u\_s*t\_s*t\_s*i\_s*f\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|D\_s*i\_s*l\_s*l\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|H\_s*y\_s*p\_s*e\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*[̼]\|\_s*ǯ\_s*\|\_s*\_s*\|\_s*\|\_s*\|A\_s*l\_s*i\_s*s\_s*m\_s*a\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\|C\_s*o\_s*p\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ʪ\|\_s*\_s*\_s*\|\_s*[]\|\_s*[]\|\_s*Υ\|ز\_s*\|\_s*\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*[]\|\_s*\|\_s*\_s*[]\|\_s*[߳]\|\_s*\%(\|\_s*\_s*η\|\_s*ŷ\_s*\)\|\_s*Ƭ\|\_s*[]\|\_s*\_s*¾\|\_s*\_s*\_s*\_s*\_s*\_s*\.\|\_s*[ζ]\|t\_s*h\_s*e\_s* \_s*O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*a\_s*n\_s*a\_s*g\_s*e\_s*m\_s*e\_s*n\_s*t\_s* \_s*G\_s*r\_s*o\_s*u\_s*p\|Ω\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\%([]\|\_s*\)\)\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*[ǯ]\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*Ŭ\_s*\|\_s*\%([ӷ]\|\_s*\|\.\_s*\_s*\.\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\)\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|O\_s*\%([sS]\|h\_s*i\_s*o\|k\_s*l\_s*a\_s*h\_s*o\_s*m\_s*a\|b\_s*j\_s*e\_s*c\_s*t\_s*-\_s*O\_s*r\_s*i\_s*e\_s*n\_s*t\_s*e\_s*d\|O\_s*\%(D\_s*L\|P\_s*L\)\|M\_s*R\_s*O\_s*N\|A\_s*\_s*\_s*\_s*\_s*\|C\_s*R\_s*\_s*\_s*\|r\_s*e\_s*g\_s*o\_s*n\|''\_s*R\_s*e\_s*i\_s*l\_s*l\_s*y\_s* \_s*J\_s*a\_s*p\_s*a\_s*n\|\_s*\_s*\|p\_s*e\_s*n\_s*W\_s*i\_s*n\_s*d\_s*o\_s*w\|x\_s*y\_s*g\_s*e\_s*n\)\)', \ 'p' : '\%([ˣˤˡܮʻáʬɤɶɼʿȯȢʧʢȬ˱ĥѣפԡޡܤצը̨󡥡򢩡ץǡˡʢߢ¥ڥѧզХp]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[ݥڥץԥ]\|\_s*[ݤڤפԤ]\|\_s*\|\_s*\_s*Į\|\_s*\|\_s*[Ϫϥ]\|\_s*\|\_s*\|\_s*ϥ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(Τ\|\_s*\)\|C\_s*y\_s*c\_s*l\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|S\_s*y\_s*n\_s*a\_s*n\_s*t\_s*h\_s*a\_s*e\|\_s*\|B\_s*r\_s*o\_s*m\_s*e\_s*l\_s*i\_s*a\_s*l\_s*e\_s*s\|L\_s*e\_s*a\_s*d\|\_s*[ļ]\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\%([]\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\)\)\|+\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|Χ\_s*\)\|\_s*\%(\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\_s*\_s*\|\_s*\%([Υ]\|\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\)\|\_s*\%(\|\_s*\|\_s*\%([]\|\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*[]\)\|\_s*[ĥ]\|\_s*\_s*\_s*\_s*\)\|\_s*\%([]\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%([]\|\_s*[ץ]\|\_s*\%(\|\_s*\)\)\)\|\_s*\%(\_s*\%([٥]\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*³\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*ˡ\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\_s*\)\)\|\_s*³\|\_s*\_s*\_s*\|\_s*ƺ\_s*\|\_s*\_s*\|¿\_s*\_s*\|\_s*\_s*\_s*\|Ž\_s*\_s*\_s*\|\_s*ʸ\|\_s*\_s*[]\|\_s*\|\_s*\|P\_s*\%([umdCaor]\|K\_s*\|D\_s*F\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\.\_s*S\_s*\.\|S\_s*\%(\.\|Y\_s*\_s*S\)\|I\_s*C\_s*\_s*\_s*\_s*\|l\_s*\%(a\_s*t\_s*i\_s*n\_s*u\_s*m\|u\_s*t\_s*o\_s*n\_s*i\_s*u\_s*m\)\|E\_s*T\_s*\_s*\_s*\|O\_s*S\_s*\%(\_s*\_s*\_s*\|I\_s*X\|T\_s*\_s*\_s*\_s*\)\|e\_s*\%(r\_s*l\|n\_s*\%(t\_s*\%(o\_s*x\_s*y\_s*l\_s*i\_s*d\_s*a\_s*e\|i\_s*u\_s*m\)\|n\_s*s\_s*y\_s*l\_s*v\_s*a\_s*n\_s*i\_s*a\)\)\|h\_s*o\_s*s\_s*p\_s*h\_s*o\_s*r\_s*u\_s*s\)\)', \ 'q' : '\%([ܯݬݮܱܮݫʵߪ緩ųʤմɾ߷ţ賷ΦۻҮղطѾ뷭򷬷ڶ˿ֲ̽ǰ̰鶰ȱפ޺ޱͿ߷Ѧν庿ܸ𷪶ʳdzˮԢɦʭӼЦչ硡Ŵġ¢ҵ׹׶޷˹ȸҢܸڹ׶ҿȴȷ϶Ͷꎸơȡǡɢq]\|\_s*\|\_s*\|\_s*\|\_s*̼\|\_s*\|\_s*\|\_s*\|\_s*Ѵ\|ɴ\_s*[߻]\|\_s*\_s*\|\_s*ʪ\|\_s*\|9\_s*\|Ĺ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|ŷ\_s*\_s*\|\_s*\|ŵ\_s*\_s*\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|õ\_s*\|\_s*\|c\_s*r\_s*e\_s*s\_s*c\|\_s*\|\_s*[]\|\_s*¢\_s*\|K\_s*r\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\%([ʸ]\|\_s*\)\|\_s*\|\_s*Ѥ\_s*\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*\|ϻ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|C\_s*\%(r\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\)\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*\|\_s*\_s*ϯ\_s*\|\_s*\_s*\_s*\_s*\_s*\|Q\_s*\%(I\_s*C\|R\_s*\_s*\_s*\|C\_s*\_s*\_s*\_s*\|U\_s*O\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*[]\|\_s*\%(\_s*[]\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\_s*[ॹ]\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\)\)', \ 'r' : '\%([αϾϼϽϿ߳ϱϮӤۭӯѤҩ۰ϺϭϴϲϹϸϰ϶ϵϳϯϧȧϨתϦݭߣްٳѶӺүߺ㹵ݬݮҳҽ߲ݲϡϣڻϢϩޥﻼϬڶΫάΪΨ˷Χҭϻ٤Φ߱ίβΰαΩγέδήPܲשاηκϤθо̺ۢסڢɩζοε˵νμλξιΥΣΡ΢ߢئΤ轤ϫϷԿЬѰڰݳպݴݣݪڧѴɤ򱦢ҧ姨৫ا٧ӧ槬ݧ᧰ϥϪۧ秮ܧԧէާ觯קѧڧ֧䧡駾𧦧ߧ맥غ꧲Ѧr]\|\_s*[ێڎَ؎]\|\_s*[]\|\_s*[]\|\_s*\|\_s*[ͭ]\|\_s*[˦]\|6\_s*[]\|\_s*̵\_s*\|ݦ\_s*ݨ\|԰\_s*\|A\_s*\%(c\_s*t\_s*a\_s*e\_s*a\|p\_s*o\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|C\_s*\%(a\_s*l\_s*y\_s*c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|h\_s*o\_s*r\_s*i\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|\_s*[]\|\_s*\%(\|\_s*\)\|V\_s*e\_s*r\_s*t\_s*i\_s*c\_s*i\_s*l\_s*l\_s*a\_s*t\_s*a\_s*e\|O\_s*r\_s*c\_s*h\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|M\_s*i\_s*c\_s*r\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\|L\_s*\%([ruia]\|e\_s*i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*a\_s*l\_s*e\_s*s\|A\_s*N\_s*\_s*\_s*\_s*\)\|\_s*\|G\_s*\%(e\_s*n\_s*t\_s*i\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|y\_s*\%(n\_s*a\_s*n\_s*d\_s*r\_s*a\_s*e\|m\_s*n\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\)\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*\_s*̿\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*§\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|ȿ\_s*\_s*\|\_s*\%(\_s*ʸ\_s*\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*ǽ\_s*\_s*\_s*\_s*\|\_s*\_s*Ū\|ǧ\_s*\|R\_s*\%([bnfeauh]\|i\_s*c\_s*h\_s*a\_s*r\_s*d\_s* \_s*M\_s*\.\_s* \_s*S\_s*t\_s*a\_s*l\_s*l\_s*m\_s*a\_s*n\|C\_s*S\|S\_s*S\_s*\_s*\_s*\|I\_s*S\_s*C\|A\_s*M\|O\_s*M\|E\_s*\%(M\_s*\_s*̲\|T\_s*U\_s*R\_s*N\_s*\_s*\|A\_s*D\_s*M\_s*E\)\)\|\_s*\_s*ɽ\_s*\|\_s*\_s*\)', \ 's' : '\%([Ъۼ˵ֵڰ޶˿ԽǨΨм©­¥«¦¬̫ᰳٴտ£֥ػǬ߶ҫݽ¹ײسȢҲ䷫çî¹½¸º»¶ȿରۤɯ˻íܦ岱޶ܸҪͼϴߪٰ֣ڱ·޷߫ѩѢߥѡ٥Ѩڣګ̻عԤ¿б¼ͥӳҰӵѱڿμͤʹƫǵ¨§ߵ̡ͷķ״ɿצߵ®ú϶ۡڽſТ̢ޢϡ⦤͡ߢˡܢޢʡ΢ߢꢻحجïͿ巿H񾽻ľڧ߭湥ٹ۵ʿƩԱ飼ýƳħ󻼲١ٶĴ¢ֺߨߧ¼ȻοǦǧӻк尷樵ԦܰǢܾнؼżĬ߼ȼ𮼻ꩼɨũм޳ʻͿļҼԲĵϼբٱؼ۷ּмܼڼѼм˼ּҰʵżެոշܤܣƵ´ýʽȽͽܼ̿꫽нܶܷꪽ쨳Ӵ֭ϼܽµ½Ѯضآؽܽ׽ٽ䣽սֽӢ֪ǿп¿Ŀ˿ӿ¿ɿǿä⿹ƿȿʿƿ謹еر޵ַҾľֹľ׾̰գңطӾԡʽءˡʾѾءϾ޾۾¾׾騾ľܥƾྫྷϾɾ˾ƴҾݾоξƾȾϾܾþھ˾ʾԧ֤ѿ°濣ػ㭻׶ӻӶǼӡܻHҿӺǡɦ֬寿ڻ¶ǰٻлף㬰ԮǷȻֻѳʻ̼һ̦ڼ褴ֻƤ豫dz˸ʿͻٮӦͶ긼뽿ܻ߷߽Ϋڼ޴ͺɾ참ֿ곡ָӯ˼λãů͡ұⷱζ۸ΤܪǾ٩ӴܼƱݺ峦涭ոපߦ»ڹĿĢջɻܢӻբ3O߻úޯخ稺ռŻø칹ʺѱ٣׺˺㷺ԺݺҺӼкںκպʺĺƺ׺źͺԺۺкǺªںԺغݯ̻赺ͼӺԼ亵ֺ麺úհ̬٭ϻ⤹Ż맻ź󢾢ʸšɸĻں̢ǡƨõ㧳s]\|\_s*[]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\%(ϩ\|Ϫ\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[ס]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*Ѥ\|\_s*\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|\_s*\|\_s*\|c\_s*e\_s*n\_s*t\_s*i\|\_s*[϶]\|\_s*\|\_s*̥\|\_s*\|ŵ\_s*\|\_s*ͺ\|\_s*\|ŷ\_s*[IJ]\|V\_s*i\_s*o\_s*l\_s*a\_s*l\_s*e\_s*s\|N\_s*y\_s*m\_s*p\_s*h\_s*a\_s*e\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|\_s*\|\_s*ƻ\|\_s*\%(\|\_s*\)\|Ϸ\_s*\|˾\_s*Ĭ\|\_s*\|\_s*[Ǧ]\|L\_s*a\_s*\%(b\_s*i\_s*a\_s*t\_s*a\_s*e\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|ʾ\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|ت\_s*ͺ\|\_s*\|\_s*\|I\_s*\%(s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\)\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*ʸ\|\_s*[ë]\|\_s*[]\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\%([ظܻ]\|\_s*\)\|7\_s*\|\_s*\|4\_s*\|\_s*[ʬ]\|\_s*\|\_s*\|\_s*\|\_s*\|͢\_s*[]\|Ȼ\_s*[ϯϺ]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|³\_s*\%(\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\_s*\)\|ή\_s*[Υ]\|\_s*\|\_s*\|Һ\_s*ȭ\|\_s*\_s*\|C\_s*\%([se]\|y\_s*c\_s*a\_s*d\_s*\%(i\_s*d\_s*a\_s*e\|o\_s*\%(p\_s*s\_s*i\_s*d\_s*a\|f\_s*i\_s*l\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\)\|h\_s*l\_s*o\_s*r\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|D\_s*Ź\|\_s*\_s*\|a\_s*\%(s\_s*s\_s*y\_s*t\_s*h\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|c\_s*t\_s*a\_s*l\_s*e\_s*s\)\)\|\_s*\|\_s*[]\|\_s*\_s*Ʀ\|ۨ\_s*\|\_s*\|\_s*\_s*\%(\_s*[ǯ]\|\_s*[ǯ]\)\|\_s*\|ɴ\_s*\_s*\|\_s*¹\_s*\|\_s*ƣ\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(ˡ\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|P\_s*\%(a\_s*r\_s*i\_s*e\_s*t\_s*a\_s*l\_s*e\_s*s\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|r\_s*i\_s*m\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\)\|A\_s*\%(p\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*a\_s*l\_s*e\_s*s\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\)\|\_s*[ŵ]\|B\_s*\%(r\|\_s*\_s*\)\|\_s*ĥ\_s*\|\_s*ʬ\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*¤\_s*\|M\_s*\%(e\_s*r\_s*c\_s*u\_s*r\_s*y\|u\_s*s\_s*a\_s*l\_s*e\_s*s\|a\_s*r\_s*q\_s*u\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\)\|D\_s*o\_s*n\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*A\_s*l\_s*p\_s*h\_s*o\_s*n\_s*s\_s*e\_s* \_s*F\_s*r\_s*a\_s*n\_s*c\_s*o\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\|\_s*\%(Ƿ\|\_s*\%(\_s*̣\|\_s*\_s*\)\)\|T\_s*\%(e\_s*t\_s*r\_s*a\_s*c\_s*e\_s*n\_s*t\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\|h\_s*e\_s* \_s*S\_s*i\_s*m\_s*p\_s*l\_s*e\_s* \_s*A\_s*P\_s*I\_s* \_s*f\_s*o\_s*r\_s* \_s*e\_s*v\_s*e\_s*n\_s*t\_s*-\_s*b\_s*a\_s*s\_s*e\_s*d\_s* \_s*X\_s*M\_s*L\_s* \_s*p\_s*a\_s*r\_s*s\_s*i\_s*n\_s*g\)\|\_s*\|\_s*\_s*\|\_s*¬\_s*\_s*ư\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\%([]\|\_s*\|\_s*\)\|\_s*\%([]\|\_s*\)\)\|\_s*̣\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\)\|\_s*\%(\|\_s*\%([]\|\_s*\_s*[]\)\|\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\)\)\|\_s*\%([ʼ]\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\_s*\_s*(\_s*S\_s*t\_s*r\_s*u\_s*c\_s*t\_s*u\_s*r\_s*e\_s* \_s*a\_s*n\_s*d\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*p\_s*r\_s*e\_s*t\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*o\_s*f\_s* \_s*C\_s*o\_s*m\_s*p\_s*u\_s*t\_s*e\_s*r\_s* \_s*P\_s*r\_s*o\_s*g\_s*r\_s*a\_s*m\_s*s\_s*)\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s* \_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\|S\_s*\%([nrgmce]\|G\_s*M\_s*L\|\_s*\_s*\|S\_s*\_s*\_s*\|F\_s*\_s*\_s*\_s*\|Q\_s*U\_s*A\_s*R\_s*E\_s* \_s*E\_s*N\_s*I\_s*X\|K\_s*\%(K\|Y\_s* \_s*P\_s*e\_s*r\_s*f\_s*e\_s*c\_s*T\_s*V\_s*!\)\|a\_s*\%(r\_s*\%(r\_s*a\_s*c\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|g\_s*e\_s*n\_s*t\_s*o\_s*d\_s*o\_s*x\_s*a\_s*c\_s*e\_s*a\_s*e\)\|m\_s*a\_s*r\_s*i\_s*u\_s*m\)\|M\_s*\%(\_s*\_s*\|\_s*\_s*\)\|P\_s*\%(\_s*\_s*\_s*\|A\_s*C\_s*E\_s*\_s*\)\|p\_s*\%(l\_s*u\_s*s\|e\_s*\%(r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*a\_s*l\_s*i\_s*t\_s*y\_s* \_s*S\_s*t\_s*o\_s*r\_s*e\_s* \_s*R\_s*e\_s*t\_s*a\_s*i\_s*l\_s*e\_s*r\_s* \_s*o\_s*f\_s* \_s*P\_s*r\_s*i\_s*v\_s*a\_s*t\_s*e\_s* \_s*L\_s*a\_s*b\_s*e\_s*l\_s* \_s*A\_s*p\_s*p\_s*a\_s*r\_s*e\_s*l\)\|a\_s*\%(t\_s*h\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*c\)\)\|H\_s*I\_s*F\_s*T\_s*\_s*\|C\_s*S\_s*I\|T\_s*\%(k\|A\_s*R\)\|h\_s*u\_s*g\_s*a\_s*r\_s*t\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*s\_s* \_s*S\_s*y\_s*s\_s*t\_s*e\_s*m\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*f\_s*a\_s*c\_s*e\|A\_s*\%(P\|S\_s*I\)\|i\_s*\%(m\_s*p\_s*l\_s*e\_s* \_s*K\_s*a\_s*n\_s*a\_s* \_s*t\_s*o\_s* \_s*K\_s*a\_s*n\_s*j\_s*i\_s* \_s*c\_s*o\_s*n\_s*v\_s*e\_s*r\_s*s\_s*i\_s*o\_s*n\_s* \_s*p\_s*r\_s*o\_s*g\_s*r\_s*a\_s*m\|l\_s*i\_s*c\_s*o\_s*n\)\|t\_s*r\_s*o\_s*n\_s*t\_s*i\_s*u\_s*m\|o\_s*\%(u\_s*t\_s*h\_s* \_s*\%(D\_s*a\_s*k\_s*o\_s*t\_s*a\|C\_s*a\_s*r\_s*o\_s*l\_s*i\_s*n\_s*a\)\|l\_s*a\_s*r\_s*i\_s*s\|f\_s*t\_s*w\_s*a\_s*r\_s*e\_s* \_s*R\_s*e\_s*s\_s*e\_s*a\_s*r\_s*c\_s*h\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*,\_s*I\_s*n\_s*c\_s*\.\)\|u\_s*\%(n\|l\_s*f\_s*u\_s*r\)\)\|β\_s*\)', \ 't' : '\%([˳ɼҸڽѲ۳ݽ꾲Ĺゥƾη䶡ݽȼͧ۽ĹԥЧܽ˺̭ǯӷֺܺڢκ˭ƿ¢ѸݹǼƻƺܫƳ۶岳ڮݥܪٵֺ߮ƪе즰ƽ޹ơƦƭƤƣƫƥոﰳ믿æԦѽײѽѹϳαͻųϿڼͿ޻Ȏӱ͹ʻԹ֥ųׯŭūڳũɡץšżſŶŻŸźŲŪůŨűŰŴܼ챭ܨţšŢ޸׷Ǝʾʼŵ̳ض۲ϸ̽Ϫٴܻܿѳ㪱γªڼָʴϸȺ鲶ڹ˷Ҿѣױ³ٽƿ븾̢Խϴ˵Ϻ¤ݶԯзˤض࿵˾ͿԻڻܦƵ⸷ѻ̹ϢĎ׹ۺ紺N㾹ٻĿٲŦȤܺĽҬļŤı׭ذ߭׬ġĵįŽƬĸķijĪĢĭƨĻĥĤĨȥħİĦĬĮĺĴģIJĶĩīЦѲפدɪɳղϡѡСο漣֮ѻ׷ڲ٤ֿ̯ڸȿˬܽîƢí̱۸нԻվιìʾλƧ٥ƮáȾ䲹ﴰ٦ɶݾŹêéڥçäܱ纴ͤɫ맰ܭζεɺݰľ鶩ͣԳӬѹҵͺ׼ŬƵ«ԡýݽèã۹̴ƿֻǤƱýϰ䶳ٷɹºյδйٿӸþں߬߸ÿWöӷëóȿC÷òýðôùøúûõñâپŧڤ٧Ӷ߷ڭʿڬжԱǿĹʲ֫­Ωίȯ۴¿¾¿ïҺӣ߱٣崤ŷ߷ڢᦨɽڥ覨ȥġžƩȥĻüӨƨ䨷t]\|\_s*[ĎΎ]\|\_s*[ȥƥĥ]\|\_s*[ȤƤĤ]\|\_s*\|\_s*\_s*\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*Ϸ\|\_s*\|\_s*[]\|\_s*\|\_s*ľ\|\_s*\|\_s*\_s*\|\_s*[]\|\_s*[]\|͸\_s*\|\_s*\_s*\_s*\|\_s*\|H\_s*y\_s*d\_s*r\_s*o\_s*c\_s*h\_s*a\_s*r\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*[ƻ]\|\_s*[]\|\_s*ǯ\_s*\|\_s*[׻]\|A\_s*c\_s*o\_s*n\_s*i\_s*t\_s*u\_s*m\|ƶ\_s*\|\_s*\|\_s*\|F\_s*e\|I\_s*r\_s*o\_s*n\|\_s*¼\|\_s*\|\_s*̼\|ɻ\_s*\|\_s*\_s*\|\_s*\%(\|ε\_s*\)\|\_s*[]\|\_s*\%(\|\_s*\)\|ɹ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|B\_s*a\_s*l\_s*a\_s*n\_s*o\_s*p\_s*h\_s*o\_s*r\_s*a\_s*l\_s*e\_s*s\|1\_s*\%(\|0\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\_s*\|E\_s*\%(u\_s*p\_s*h\_s*o\_s*r\_s*b\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(Ϸ\_s*Ƭ\|\_s*\)\|\_s*\%([]\|\_s*\|ܥ\_s*\_s*\)\|\_s*\|\_s*\|\_s*\_s*\|\_s*[]\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*ެ\|\_s*\|J\_s*i\_s*a\_s*n\_s*g\_s*s\_s*u\|\_s*\|\_s*[]\|\_s*ë\|\_s*\|\_s*Ϫ\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\_s*\|\_s*[]\|\_s*\_s*\|\_s*\%(\_s*\|Ϣ\_s*\_s*[]\)\|\_s*\%(\|\_s*˷\)\|\_s*Ƣ\|\_s*\|\_s*\|\_s*[ڳ]\|\_s*\|\_s*\%(ͼ\|\_s*\)\|\_s*\|\_s*\|ͱ\_s*Ю\|̵\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|P\_s*\%(\.\_s*S\_s*\.\|o\_s*l\_s*y\_s*\%(g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*r\_s*p\_s*i\_s*c\_s*a\_s*e\)\|a\_s*n\_s*d\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|ж\_s*\|Ʋ\_s*\|ǽ\_s*[ʸǷ]\|\_s*\|\_s*̱\|\_s*\|\_s*\_s*\|\_s*\|M\_s*\%(e\_s*n\_s*i\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*c\_s*e\_s*a\_s*e\|o\_s*n\_s*o\_s*\%(p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*\%(h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|o\_s*t\_s*y\_s*l\_s*e\_s*d\_s*o\_s*n\_s*e\_s*a\_s*e\)\)\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\_s*[ȥ]\|\_s*\)\|\_s*\_s*\|\_s*[ॢ]\|\_s*\%(\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\)\)\|\_s*\%(\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*[ե]\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%([ɥ]\|\_s*\|\_s*\_s*\|\_s*\_s*[]\|\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|Ϣ\_s*ʸ\_s*\)\|\\\_s*T\_s*e\_s*X\|\_s*\_s*\|ʸ\_s*\_s*\|\_s*\|\_s*\%([]\|\_s*˦\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|E\_s*\|\_s*[أ]\)\|T\_s*\%([bcmliahe]\|r\_s*i\_s*m\_s*e\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\|\_s*\_s*\|X\_s*T\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|V\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\)\|C\_s*P\|\_s*\_s*\|-\_s*C\_s*o\_s*d\_s*e\|O\_s*E\_s*I\_s*C\|A\_s*\%(C\|I\_s*N\_s*S\|B\_s*\_s*\)\|E\_s*L\)\|\_s*\%([]\|\_s*\_s*\_s*\_s*\_s*\)\)', \ 'u' : '\%([Ⱥɶἷƶڰѽ뼿åѽִء¥ӹⱳư뭱վž𱴵ΪŲر󨱲山۲񱷸¹ϻڴ︽̱ǰֶ̽޲墱ⳤزﷵ庨΢ױӺ屯ĬΣݵ汵²ͫ˷ⱫDZڽͭɼޢƤձ񻾵ѵھвͷα仺ǿ⤦ԥU姵u]\|\_s*\|\_s*\|\_s*\|ϵ\_s*\|\_s*\_s*\|\_s*\|թ\_s*\_s*\|\_s*\|ͥ\_s*\%(\_s*[ɰ]\|\_s*\)\|\_s*\|\_s*²\|\_s*\|ˢ\_s*\|\_s*\|\_s*\_s*[Ƭ]\|\_s*\|\_s*Ǽ\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*Ļ\_s*\|ø\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|̣\_s*\|\_s*\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*Ϻ\|\_s*\|\_s*[]\|\_s*\%(\|\_s*\_s*\)\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*ǽ\|\_s*\%(\_s*\|ͭ\_s*\)\|\_s*\%([]\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\|\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\)\)\|ñ\_s*\%(\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\%([ˡ]\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\%(\_s*\|\_s*\)\)\)', \ 'v' : '\%([͢ǧӢ˥v]\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\| \_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%([ܥȥ]\|\_s*\%(\_s*\_s*\|\_s*[]\)\)\|\_s*\_s*\_s*\|\_s*\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\%([ȥ]\|\_s*\|\_s*\_s*\%(\|\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\_s*\_s*\_s*\|\_s*\%([ɥ]\|\_s*\_s*\|\_s*\_s*\)\)\|\_s*\_s*\|\_s*Ĺ\_s*\|\_s*ľ\|\_s*\%(\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\%(\|\_s*\)\)\|\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\)\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\)\)\|\_s*\%([֥Х]\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\%(\|\_s*[]\)\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\_s*\%(\|\_s*\_s*\_s*\_s*\)\)\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\)\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\%([ȥ]\|\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*[]\)\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\)\|\_s*\|\_s*[䥢]\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\)\)\|\_s*\%([]\|\_s*\%([֥]\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\|\_s*\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\%([顼]\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\_s*\)\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\)\)\|\_s*\%(\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\)\|V\_s*\%(H\_s*L\_s*L\_s*(\_s*V\_s*e\_s*r\_s*y\_s* \_s*H\_s*i\_s*g\_s*h\_s* \_s*L\_s*e\_s*v\_s*e\_s*l\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\_s*)\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|J\_s*E\_s*-\_s*\|\_s*\|\_s*\_s*\|I\_s*S\_s*A\_s*\_s*\_s*\|i\_s*r\_s*g\_s*i\_s*n\_s*i\_s*a\|A\_s*X\|e\_s*r\_s*\%(m\_s*o\_s*n\_s*t\|i\_s*S\_s*i\_s*g\_s*n\)\|a\_s*n\_s*a\_s*d\_s*i\_s*u\_s*m\)\)', \ 'w' : '\%([򲧽˽ﲴͺȺɶʦԦἷƶڰ뼿åѽء¥ӹⱳư뭱վž𱴵ΪŲر󨱲山۲񱷸¹ϻڴ︽̱ǰֶ̽墱زﷵ庨U΢׻᢬Ӻ屯ĬΣݵ汵²ͫ˷ⱫDZڽͭɼޢƤձ񻾵ѵھвͷα仺ǿ⤦ܲϴѽѴֲҺҶȵɡب˺оƸ޾׿׾бIJƻĹʻ駷Ųѯ뻲Ƚռ㰿´ĸӻͯͰʬʨʤȥw]\|\_s*[񎳥]\|\_s*[񥦥]\|\_s*[񤦤]\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|ϵ\_s*\|\_s*\_s*\|\_s*\|թ\_s*\_s*\|\_s*\|ͥ\_s*\%(\_s*[ɰ]\|\_s*\)\|\_s*\|\_s*²\|\_s*\|ˢ\_s*\|\_s*\|\_s*\_s*[Ƭ]\|\_s*\|\_s*Ǽ\|\_s*\|\_s*\|\_s*\|\_s*\_s*Ļ\_s*\|ø\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|̣\_s*\|\_s*\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*Ϻ\|\_s*\|\_s*[]\|\_s*\%(\|\_s*\_s*\)\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\|\_s*ͥ\|\_s*˺\_s*\|\_s*\|\_s*\_s*\|(\_s*\_s*)\|\_s*[]\|\_s*\|\_s*\|\_s*\|Y\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*[ͳ]\|\_s*\|\_s*\|\_s*\_s*\_s*٥\_s*\|\_s*\%(\|ʿ\_s*\_s*\_s*\)\|ݿ\_s*\_s*\_s*٥\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\_s*\%([ץ]\|\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\_s*\)\)\|\_s*\_s*\|\_s*\%([ࡼ]\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\%(\_s*[]\|\_s*\|\_s*\%(\_s*\%(\|\_s*\)\|\_s*\%(\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\%(\|\_s*[ȥ]\)\)\|\_s*\_s*\_s*\|W\_s*\%(S\|N\_s*N\|y\_s*o\_s*m\_s*i\_s*n\_s*g\|O\_s*W\_s*O\_s*W\|I\_s*\%(D\_s*E\|N\_s*T\_s*E\_s*R\_s*P\_s*(\_s*W\_s*i\_s*d\_s*g\_s*e\_s*t\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*p\_s*r\_s*e\_s*t\_s*e\_s*r\_s*)\)\|i\_s*\%(s\_s*c\_s*o\_s*n\_s*s\_s*i\_s*n\|d\_s*g\_s*e\_s*t\|n\_s*d\_s*o\_s*w\_s*s\)\|h\_s*\%(y\_s* \_s*d\_s*o\_s*n\_s*e\_s* \_s*i\_s*t\_s*?\|o\_s* \_s*d\_s*o\_s*n\_s*e\_s* \_s*i\_s*t\_s*?\)\|E\_s*B\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|e\_s*\%(s\_s*t\_s* \_s*V\_s*i\_s*r\_s*g\_s*i\_s*n\_s*i\_s*a\|b\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\%(\|\_s*\)\)\|\_s*\_s*\)\)\|a\_s*s\_s*h\_s*i\_s*n\_s*g\_s*t\_s*o\_s*n\|A\_s*V\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%([]\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\)\|\_s*\%(\_s*[]\|\_s*\_s*\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\)\)\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|T\_s*\%(h\_s*e\_s* \_s*W\_s*o\_s*r\_s*l\_s*d\_s* \_s*W\_s*i\_s*d\_s*e\_s* \_s*W\_s*e\_s*b\_s* \_s*C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\)\)', \ 'x' : '\%([秷ߦx]\|\_s*[]\|\_s*[]\|\_s*[]\|\_s*\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\%([]\|\_s*[]\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\|ü\_s*\)\|X\_s*\%([]\|C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|\_s*[]\|P\_s*S\_s*(\_s*e\_s*X\_s*p\_s*a\_s*n\_s*s\_s*i\_s*o\_s*n\_s* \_s*P\_s*a\_s*s\_s*s\_s*i\_s*n\_s*g\_s* \_s*S\_s*t\_s*y\_s*l\_s*e\_s*)\|S\_s*\_s*\_s*\|l\_s*i\_s*b\|L\_s*\%(i\_s*s\_s*p\|\_s*\_s*\)\|e\_s*n\_s*o\_s*n\)\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\%(\_s*\%(\|\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\%(\_s*\|\_s*\)\)\|E\_s*x\_s*t\_s*e\_s*n\_s*s\_s*i\_s*b\_s*l\_s*e\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\)\)', \ 'y' : '\%([ֲغ˩շ޷ڡڴֻۻþӱٵ㷽İ˧ȵ׫խۡƫߡٹβžաЮôڵ;ӸǽͽDz¿ͻͷͿ즤μдİ˭Ƿְ쪾றᾲ͸۷Ͳإͤͨͱͻ͹ͯͰʹͼͩͪͧͺͫͭ͡ͷͳ͢·ͮ竤掲׶׵϶̴ߺ̤ӷŲݳͶưݡȵܦɵ述ڿĹǢ̿쵸Ÿವżϫĺ׻кطҮͦܡǮʰᰱ˻ްϮסӱ©ĩ寱۱İĽ˻Сݫ׸ԩ۵ʰݻְյ׮Iΰ𨱡ֱ۩۰дذŰ1ڴŪ٥ަ̰թȺص°ذѰϱԣиȰǡѦ״ͣ޻׳԰ʳ豶İΰڸްͰֹ԰аΨͬհݰڰ۵ԧİøҲݰͻϦSϵ½ͥ²۴ݬٯֳ̼쮼칽̡ҡԡաӻšץ̰ǫ͵ٰ׵ݹȬë׽Ǹܿͼ뻦輭֧ߡק觫Yۦy]\|\_s*[֎Վ]\|\_s*[楤]\|\_s*[椤]\|\_s*\_s*\|ݿ\_s*\_s*\|\_s*\|\_s*Ƹ\|\_s*\|\_s*\|4\_s*\%([]\|\_s*\|\_s*\)\|¾\_s*\|\_s*\|δ\_s*\|\_s*\|\_s*\|\_s*\|\_s*[Ҹ]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|Ī\_s*[Ұ]\|\_s*\|\_s*\|8\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|ɴ\_s*\|L\_s*i\_s*l\_s*i\_s*\%(o\_s*p\_s*s\_s*i\_s*d\_s*a\|a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\)\|\_s*\%(ͺ\|\_s*\)\|Ĺ\_s*\|\_s*\|\_s*\|\_s*\|E\_s*\%(u\|\_s*\_s*\)\|\_s*\|J\_s*u\_s*\%(l\_s*i\_s*a\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|n\_s*c\_s*a\_s*l\_s*e\_s*s\)\|\_s*ë\|\_s*\|ɨ\_s*\|\_s*ϻ\_s*\|\_s*\|\_s*±\|\_s*\_s*\|\_s*ȷ\|β\_s*\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*ɨ\|\_s*\|\_s*\_s*ƣ\|5\_s*[]\|\_s*[]\|ب\_s*٦\|\_s*\|Ĭ\_s*\|\_s*\|\_s*Ӽ\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|ʸ\_s*\|Ϻ\_s*[]\|\_s*[]\|\_s*\|U\_s*\%(\|\_s*\_s*\|r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|\_s*[Ļ]\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\|\_s*[ﷻ]\|\_s*\|\_s*\|\_s*\|\_s*¹\_s*\|\_s*\_s*\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|\_s*\|̵\_s*\_s*\|\_s*\|\_s*\_s*ή\|\_s*[]\|\_s*[]\|\_s*[ڻ]\|\_s*ɽ\|\_s*\_s*[ú]\|\_s*ӧ\|\_s*[]\|\_s*\%([]\|\_s*\)\|\_s*\_s*\|\_s*[ʱ]\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|\_s*[ǡ]\|\_s*\|\_s*ζ\_s*\|ξ\_s*\|ή\_s*ŭ\_s*\|\_s*\|\_s*[]\|R\_s*a\_s*f\_s*f\_s*l\_s*e\_s*s\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|ŷ\_s*\|\_s*\|\_s*\_s*\_s*º\|\_s*\|T\_s*\%(h\_s*e\_s*l\_s*i\_s*g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*o\_s*c\_s*h\_s*o\_s*d\_s*e\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|M\_s*y\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*\|\_s*¹\|A\_s*r\_s*a\_s*c\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*\%(o\_s*t\_s*e\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*c\_s*i\_s*p\_s*e\_s*s\)\|a\_s*l\_s*m\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*[]\|\_s*\%([̼]\|\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\)\|\_s*\)', \ 'z' : '\%([»¸·­«֤±³²¯°¡£¤źȿդظƦפԦƬݿ߹޿ֺɼټĶԺټľ㿬̭ߩʿ顿ױӿпԿҿؿѿտǽޮտٳа屽лġпЫǡ̼žվڷǨèط۲ٽɽμѽȻŽޭ߱覽۽ڽ޽޼쳼ߨкߧ尽Ľ½ýƽ֮꼥Ώ߼ֵᪿλ̻Яϩ˱ѻżб褻Τ߷ºֿܪȻ̻쩻ϻ»߻ƺú޺ߺкú¢µ좭إ٦Ƨz]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|ȯ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ˡ\|\_s*\|Ĵ\_s*\|\_s*[᷺]\|\_s*\|\_s*\|F\_s*i\_s*g\_s*u\_s*r\_s*e\|\_s*\|G\_s*\%(\_s*\|\_s*\)\|D\_s*y\|\_s*\%(\_s*\|\_s*\)\|\_s*\|\_s*\|\_s*\|2\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|J\_s*\%(I\_s*S\_s*\_s*\_s*\|\_s*\_s*\|R\_s*\_s*\_s*\)\|\_s*\|\_s*\_s*ʺ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*ī\|\_s*\|Ƚ\_s*\|ϳ\_s*\|\_s*\|Ĺ\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*Τ\|\_s*[ϴ崽]\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*[ʷ]\|\_s*\|\_s*\|\_s*\)\|\_s*\|\_s*\|ɳ\_s*\|1\_s*\%(0\|1\_s*\|8\_s*\|2\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\)\|Z\_s*\%([r]\|i\_s*\%(r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\|n\_s*c\)\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|I\_s*P\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\%(\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\%(\_s*\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\_s*\)\)\)', \ 'A' : '\%([ԳȯϾտƭ޾ӡŤƬѫͷʷİͿø̵ܶܵ驰нƪ鷹ѻˢǽܽ֦½ΦؽǮȲ䰵ǴռݯмԹڹײϪɽ¹ͽЮɷ庾Ӻ̴ɵఽ;ŷ°ֵϰ̣Ԫƴ갮ůۭμ氰ᄑϯ۸ޫۦۥ˾ϾԼݷʸۣ齶ϰ갥欷԰ǰްưðȰīﰦð­ҹӼ밫Ƽǹ˽˰ķ°մ尤Ըʻᰢͭ˴±޽کг󰸶˰بĤ&ʢܶ϶΢͢޸姸ơǡ򦡥ѧA]\|\_s*\|\_s*\|\_s*\|\_s*\|Z\_s*\%(n\|i\_s*n\_s*c\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ŷ\_s*\|\_s*ŵ\|\_s*\|\_s*\|\_s*Ʀ\|\_s*\|\_s*\|\_s*̾\|\_s*̾\|\_s*\|\_s*\|\_s*[Ļ]\|\_s*\|\_s*\|\_s*\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\%(\|¹\_s*\)\|\_s*\%(\|\_s*\_s*\_s*ʪ\_s*\)\|\_s*\_s*\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|ޱ\_s*\|\_s*\|Ʀ\_s*\|\_s*\_s*\_s*\|\_s*¿\|\_s*\|\_s*\|a\_s*\%(t\_s*t\_s*o\|c\_s*c\_s*e\_s*n\_s*t\)\|\_s*[Ǭ]\|\_s*\|\_s*[ɧ]\|\_s*\|\_s*\|\_s*\|Ҹ\_s*\|\_s*\%([]\|\_s*\|\_s*\)\|\_s*[ˡ]\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(\_s*\|\_s*\_s*\_s*\)\|D\_s*\_s*\_s*\|C\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\%(\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[ɿͽ]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*[]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*\_s*\_s*A\|\_s*\| \_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|G\_s*o\_s*l\_s*d\|\_s*ư\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|°\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|\_s*\_s*\_s*ǽ\|\_s*\_s*\_s*ǽ\|\_s*ˡ\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\%([]\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\%([ȥ]\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\_s*\|\_s*\%([]\|\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\)\)\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\%(\_s*\_s*\|\_s*ǽ\)\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\)\|\_s*Ͽ\|\_s*\|\_s*\%([˥ᥢ]\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\%(\|\_s*\_s*\)\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\)\)', \ 'B' : '\%([߹ڽھ˲ѳ̶˦꼰汬˳ر˸˹˻˶˺˴˾˵˿籸촳Ħ˷ը˫ѹʽٷҡ޺˼ūʥ޽޼޿ʪɲʹʸ̵ʬק£͹ɵɤޣֱؾݧɴ졪¡ɼǭ֢ʿջ̤׹߾Ȣ®Ӷ˪ȭƯȫȪʵɡüΥV̥ȵٶȶǢʢĻʧ㱸Ȥ˽ʱ೭ȹȨؤȽȼ㩺Ȳȴȳ粽ڱĥŽСʩݲߡá¡ݡܥСϡΡСѣ¥֥ӧҦ¥B]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[ܥ٥֥ӥ]\|\_s*[ܤ٤֤Ӥ]\|\_s*\|\_s*\|\_s*\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*Ǥ\|\_s*\|\_s*[]\|\_s*\_s*ݰ\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|˭\_s*[]\|\_s*\|ŷ\_s*\_s*\|\_s*[϶]\|b\_s*i\_s*o\_s*t\_s*o\_s*p\_s*e\|׽\_s*˥\|\_s*[̡˥]\|\_s*Ҵ\|\_s*Ƭ\_s*\|\_s*\|\_s*\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|\_s*\|ʼ\_s*[ˡ]\|ɽ\_s*\|\_s*[Ļ]\|\_s*\|ȯ\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\%([ӳϫ]\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*[]\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*[]\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\)', \ 'C' : '\%([²ݰťޢͷ°Я⸿ȽҸǼۻô㪸ۺ礷򼷻쮱Ѻ˹Ϲٹʺú̶縥պۦĹȹָ벹Һ٬̫ޫ޳䲬ު־ϹϺ٫ȺӫִӳӬص޸ܺս幡͹䢹̨ɹж๫ʹĹá񹸹ۥ⫹ֹѸ۹չ̹˹عֹ骹ݹҹԹιӹĸëӭ͹޺ݻջ̼ԵʴԸƸ۸žĶٸĨ̱۸ɸָܵʽѻᡵǻ۹ɯ˻íܦ岱ӵʡ޶٣໦Ҫͼٰ֣ڱ·޷߫ѩѢߥѡ٥Ѩڣݺګ̻خعɹԤܯݬݮܱܮݫʵߪʤվ߷ţ賷ΦۻҮ·ط״򷬷ڶ˿ֲ̽ǰ̰鶰פ޺ޱͿ߸Ѧ庿ܸȷˮԢʭЦչġҵ׹޷˹ȸҢڹ׶ҿȴȷͤԱ飼ýƳħ󻼲١Ĵɸ¢ֺλߨߧ¼ȻοǦǧк尷樵ԦܰǢܾؼżĬ߼ȼ𮼻ꩼɨũżʻ͸忬ļҼԺաĵհռޯκբٱؼڷּ忼мܼѼ׼ͼм˼ּҰʵżެոշܤܣƵýʽȽͽɽܼ̿꫽нܶꪽӴ֭ϼܽµ½Ѯضآ߽ؽ޴׽ٽ䣽ֽ߿Ӣ֪ǿп¿Ŀ˿ӿ¿ǿä⿹ƿʿƿ謹еؽ޵ַҾľ䬼ֹ᳻ļװգңطӾԡĽؾѾءϾ޾۾¾騾ľ㾩ܥ񾬽Ͼɾ˾ƴҾ;оƾȾϾܾþھ˾ԧ֤ѿ°濣鿨лػ㭻׶ӶǼӡܻҿӺǡɦ֬寿¶ǻлף㬰ԮǷȻֻѻʻ̼̦Żڻڼ褴λƤڹɳ߳˹ȷ̢ư񢿱Ʊʡܢᱵ𦪦ʹǡˡҡԡơȡɡѡСաجɳ϶ѾʸܵȿǣʶͽгϾݵع˵ۿٸǷշͩΫKĴȱ١ҤҳݢٿȦ۫滳ܾ龹ôŽ޳ڳ³귰¦ǰ㡴姢റҳݲҳ˿ڸিԣϸ³ø֡١סʷŭƬŨŬȾŤ״׳ᰥɬŴܷ̳봢ԽڲӾ׳ڨƿӽdzӡϡۡڡ̡͡γȳijԳճʳ߱׳ڼȵҳֳѳТӼ뻳һרݥųЪĻӳܴ߳ٳβ𳭳dz򳬲Ԭ٪Хٺù٢Ӳߵ۸Ұ楼Ѵ޾˸˧ӳޱڿͻôÿȡȴ䯴԰ݴ۴ڴԴա̴δ˴עӴĴִٴ״ӿŴɴشϴѴشԳҵȴճƶDzμŲͲӻ۷紣ҲԥФҲһݲݲִּȼڲ桶˲ŰײӧҷܴѫββϲѼнӥѷϲӲɲշ߲Ʋ²ȾƸϲˤıĶƢ۲øҧ姨ৣ٧اӧݧ᧷짢ۧ秮ܧԧէާ觯קѧڧ֧䧡𧦧ߧ맥ߨƼ֦ҧ駹ݡ׶ܥ񥷡C]\|\_s*[]\|\_s*[]\|\_s*[Ҥ]\|\_s*\|\_s*\_s*Ⱦ\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*ϧ\|\_s*\|\_s*\|\_s*\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|\_s*Ѥ\|\_s*\|A\_s*\%(r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|p\_s*i\_s*a\_s*l\_s*e\_s*s\)\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|\_s*\|\_s*\|\_s*ˡ\|\_s*[ʺ]\|\_s*[϶]\|ѱ\_s*\|\_s*\|\_s*[̱]\|\_s*\|\_s*\|ɴ\_s*[߻]\|\_s*\|9\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|ŵ\_s*\_s*\|õ\_s*\|\_s*¢\_s*\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|ϻ\_s*\|\_s*\|\_s*\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|Ϸ\_s*\|˾\_s*Ĭ\|\_s*[]\|\_s*Ϣ\|\_s*[Ǧ]\|\_s*\|L\_s*a\_s*\%(u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|b\_s*i\_s*a\_s*t\_s*a\_s*e\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|ʾ\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|ت\_s*ͺ\|\_s*\|\_s*\|I\_s*\%(s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\)\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*ʸ\|\_s*[]\|\_s*\%([αֲ˼]\|\_s*\|Ǽ\_s*\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|7\_s*\|\_s*\|ʸ\_s*\|4\_s*\|\_s*[ʬ]\|\_s*\|\_s*\|\_s*\|\_s*[̰]\|\_s*\|\_s*\%(̣\|\_s*\)\|\_s*[]\|͢\_s*[]\|´\_s*\|B\_s*r\|Ȼ\_s*[ϯϺ]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|M\_s*\%(e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|u\_s*s\_s*a\_s*l\_s*e\_s*s\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|S\_s*\%([eg]\|p\_s*e\_s*r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*i\_s*t\_s*a\_s*m\_s*i\_s*n\_s*e\_s*a\_s*e\)\|³\_s*\%(\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\|\_s*ƻ\)\|\_s*\|Υ\_s*\_s*Υ\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*Ƭ\|\_s*\%(\|\_s*\)\|Ĺ\_s*[]\|\_s*\|ŷ\_s*\%(\|\_s*\)\|\_s*\|\_s*\_s*\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[]\|̱\_s*\|\_s*\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|\_s*\|\_s*\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|o\_s*\%(t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\|d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\)\)\|\_s*\|Ϣ\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|Ϥ\_s*\)\|\_s*\|\_s*[]\|\_s*\%([]\|\_s*\|\_s*\_s*Ω\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*[]\|(\_s*\_s*)\|\_s*\_s*\|\_s*ʼ\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|ݣ\_s*\|\_s*\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*ƣ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|ʬ\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|c\_s*\%(e\_s*n\_s*t\_s*i\|r\_s*e\_s*s\_s*c\)\|\_s*[׼꾽]\|ʣ\_s*\_s*̿\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\|\_s*\%([]\|\_s*\%(\|\_s*\)\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\_s*\%(\_s*\|\_s*\)\)\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\%(\_s*\|\_s*\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\)\)\)\|\_s*\_s*\_s*\|\_s*\|\_s*\%([]\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*[]\|\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\)\|\_s*\%([֥ץ]\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\)\)\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%([]\|\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\_s*\_s*\)\)\|\_s*\%(\|\_s*\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\%([ɥѥ֥]\|\_s*\%(\|\_s*\_s*\)\|\_s*\%([]\|\_s*\%(\|\_s*\_s*\_s*\)\)\|\_s*\|\_s*\%(\_s*[]\|\_s*\)\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\)\|\_s*\%([ĥȥ]\|\_s*\|\_s*\|\_s*\%(\|\_s*\|\_s*\%(\|\_s*\)\)\)\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\%(\|\_s*\)\)\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*\_s*[]\|\_s*\)\|\_s*\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\)\|\_s*\)\|\_s*\%(\|\_s*\|\_s*\_s*\)\)\|\_s*\|\_s*\%([ޥ]\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\%([ץ]\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\%([եȥץ]\|\_s*\|\_s*\)\|\_s*\%([]\|\_s*\%(\|\_s*\)\|\_s*\%(\_s*\|\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\|\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\%([ȥ]\|\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\|\_s*\)\)\|\_s*\%([եɥ󥳥ꥦ]\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\%(\_s*[]\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%([ȥॸ]\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\%([]\|\_s*\)\)\|\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\)\)\|\_s*ɸ\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*³\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\)\)\|ú\_s*\)', \ 'D' : '\%([ñӹɾǯĻЧγѪƯƺߡѯƫƣޡƷƴ΢ƼƵƳƸƲƶưƹƱƻ׸۲αͻϿظͻڤɻǩťŮҴޡܬѣžȤǥɶʹ˶¤Դ͸ŵͿϢťϼ¼êíǻïîնԵ庲ë۴ݹէåæǶʿϡö׼ԥٽձټΩѵί۴̽пѼ߱ͤľЦ\.ġȡɢãȣĥɡǦħբD]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[ɥǥť¥]\|\_s*[ɤǤŤ¤]\|\_s*\|\_s*\_s*\|\_s*\|S\_s*a\_s*u\_s*r\_s*u\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|C\_s*\%(u\|o\_s*p\_s*p\_s*e\_s*r\)\|\_s*ŷ\_s*\|Ʀ\_s*\|ǡ\_s*\|\_s*\|\_s*\|Ǵ\_s*\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\|Ƭ\_s*[]\|\_s*\|\_s*\|\_s*\|Ĵ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ã\|\_s*\|\_s*\|\_s*\_s*ã\_s*¿\|\_s*\%([˸]\|ʿ\_s*\|\_s*ŷ\_s*\|\_s*\%(\|\_s*\)\)\|ǵ\_s*[]\|\_s*\|\_s*\|\_s*\%(\_s*ʪ\|\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\_s*\|\_s*\|\_s*\|ʸ\_s*\|\_s*\_s*\|ȯ\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*ά\|\_s*\_s*\|d\_s*\%(b\_s*m\_s*s\|e\_s*c\_s*\%([ia]\|r\_s*e\_s*s\)\|o\_s*u\_s*b\_s*l\_s*e\_s* \_s*i\_s*n\_s*c\_s*o\_s*m\_s*e\_s*,\_s* \_s*n\_s*o\_s* \_s*k\_s*i\_s*d\_s*s\|i\_s*m\)\|\_s*\)', \ 'E' : '\%([ٱ稰Զ콸ս֦廷ٱְܱױرԨųɲСݩ޽޼ާǢޱ޻ʥԤϱͱն۪߱бհܳϱƱñȱԱűƱӱDZɱϱı̱޹зتͲ±ݲþв΢ᢺ⧮ާѢмǣŧ㧳ݧŧ泌E]\|A\_s*\%([Ƚ]\|V\_s*\%(\_s*\|\_s*ͥ\)\|B\_s*\%(\|C\_s*\)\)\|\_s*\%([Ƚ]\|\_s*\%(\_s*\|\_s*ͥ\)\|\_s*\)\|\_s*\%(\|\_s*\)\|ɰ\_s*\_s*\|M\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*˹\_s*\|\_s*ʪ\|\_s*\|˦\_s*\|\_s*\_s*\|Լ\_s*\|\_s*\|\_s*ϩ\|\_s*\|\_s*[Ի]\|\_s*ƺ\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|L\_s*\%(\_s*\_s*\|L\_s*\%(\_s*\_s*\|\_s*\)\)\|\_s*\%([ɲ]\|\_s*\)\|N\_s*\| \_s*n\_s* \_s*\_s*\|\_s*\%([Ķ˶]\|\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%([Ȼʶ]\|\_s*\_s*\|\_s*\|\_s*\_s*\)\|S\_s*\%([]\|\_s*\_s*\|N\_s*\|F\_s*\_s*\)\|\_s*[¿]\|X\_s*\%([]\|O\_s*\|\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\)\|\_s*ƻ\|\_s*Ʀ\|C\_s*\%(l\|h\_s*l\_s*o\_s*r\_s*i\_s*n\_s*e\)\|\_s*\%(Ϸ\|\_s*\)\|\_s*\_s*\_s*®\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\)\|ݿ\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\_s*\_s*\|\_s*\)\)\|\_s*\|\_s*Ĵ\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\_s*\|\_s*\)\|ȯ\_s*Ÿ\|ɾ\_s*\_s*\_s*\|\_s*\_s*\|ɴ\_s*\_s*\_s*ŵ\|\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\|\_s*ĥ\|\_s*\|\_s*ò\_s*\|\_s*\%([]\|\_s*\|\_s*\%([ޥ]\|\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\)\)\|\_s*Ω\|e\_s*\%(x\_s*a\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\%([֥顼]\|\_s*\_s*\_s*\|\_s*\_s*\_s*[ȥ]\|\_s*\%(\_s*\|\_s*\_s*[]\)\|\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\_s*[ȥ]\|\_s*\)\|\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\)\|\_s*\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*[䥢]\|\_s*\%(\_s*\%(\|\_s*\|\_s*\)\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\)\)\|\_s*\%(\|\_s*\_s*\_s*\)\)', \ 'F' : '\%([ϼвɮ˼ݵϰ˴ϴʻÿū߹ʷʵʸʯʭʶʲʱʬʴڸ޽ʥ޼⵺бƣ߬ѵοʳʰزʧʨؿ礢ıǹ޴ʤʢʣʡԴҿϷƧнҶ꿣ڿʮ߹ֿʫݤŴϢ٢޶ʩƢʦ⧶էF]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ǹ\|\_s*\|\_s*\|E\_s*u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\%(Ǥ\|\_s*[]\)\|\_s*\|Ƭ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|M\_s*y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*[滳]\|\_s*\|B\_s*u\_s*d\_s*d\_s*l\_s*e\_s*j\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*[ͤ]\|\_s*\|2\_s*\%([ͤ]\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*Χ\_s*\|I\_s*r\_s*o\_s*n\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\%(\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\%(\_s*\|\_s*\_s*\_s*\)\)\)\|\_s*\|\_s*\|\_s*ǽ\|\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\_s*[]\)\|\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*1\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\|f\_s*\%(e\_s*m\_s*t\_s*o\|o\_s*\%(n\_s*t\_s*-\_s*f\_s*a\_s*m\_s*i\_s*l\_s*y\|r\_s*t\_s*e\)\)\)', \ 'G' : '\%([Ʊ亲޺иЯǡ¹ɹϿйⶳݶ蹡贻˸Ӫ伸˸ظ5Ķۻٸѻ줴֡ɷ޷߷ݱŴɧѷʸ¸뻲²ƤʵʹҰ¢襸ж鹶ܶ溷ֶ򹰶㼶ȶ餰ݵ۶Է̵֪ƸߤѧĶȶǶŹԵյڵ۵õ췷Ѧ»·赼ĵۧີ٦ȱⷸ⧹εߴ¦̳Ǹ񷿷Ը걳޽˳̿Ƭ︷̴ݢ޴ḵس̳۳ٳܳڳش㨳ЩԶ䳯ֽ糳ӱ⭳賩ֶѴݲծӨ̲´ϲ谽˲쾡󡤬Ǵ楬֦ԦƦѦɦզӦ˦ϦͦצئĦ¦ЦŦҦȦǦʦΦ̦ԦçG]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\_s*\|\_s*Ƭ\_s*\|\_s*\|\_s*\|P\_s*e\_s*r\_s*s\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\%([ֱ]\|ŷ\_s*\)\|\_s*\_s*\|\_s*\%([Ÿо]\|\_s*\)\|Ʀ\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[¯]\|\_s*[ǹ]\|\_s*\|\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*[׹]\|\_s*ϡ\|\_s*\|\_s*\|\_s*\%([]\|\_s*\)\|\_s*\%([ˡƻ]\|\_s*\_s*\|ʹ\_s*\_s*ˡ\)\|A\_s*g\|S\_s*\%(c\_s*r\_s*o\_s*p\_s*h\_s*u\_s*l\_s*a\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*m\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|i\_s*l\_s*v\_s*e\_s*r\)\|\_s*\|\_s*\_s*ë\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*̾\|T\_s*y\_s*p\_s*a\_s*l\_s*e\_s*s\|\_s*[]\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|g\_s*\%(i\_s*g\_s*a\|h\_s*o\_s*s\_s*t\_s*s\_s*c\_s*r\_s*i\_s*p\_s*t\)\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|Ϣ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\%(\|\_s*\_s*\)\)\)\|\_s*\%(\|\_s*\_s*\)\|\_s*\%([른Υʥ]\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\%(\|\_s*\_s*\_s*\)\)\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*[˥]\|\_s*\_s*[˥]\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\%(\|\_s*\%(\|\_s*\|\_s*\_s*[ĥ]\)\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\)\|\_s*\|\_s*\%([]\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\%([եޥ]\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*[ȥ]\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\)\|\_s*\|\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\%(\|\_s*[]\)\|\_s*\)\)\)\)', \ 'H' : '\%([άмۭϯƶشǮ˴ꥷֹ٢ڣþ̷ȸԼƾԵұٸޤê׺˲˯ˣ˱˩ˬˢ߰˥˨ˮ˰˦˭ˤڽھӮƱĦ˫ԾӬێ͸½Ш۳ֱ׭׬̦΢٨ղʽ֢ʾʻ򰵸͸؎ϼвر˼ݵɾϰϴʻÿū߹ʷʵʸʯʭʶʲʱʬʴڸ޽ʥ޼бBƣ߬ѵοʳʰزʩFʦʨյؿ乢ǹ޴ʤʣʡԴҿƧнҶ꿣ڿʮ߹ֿʫՎϷDzDZɢݽɨڻײɦگٶɳߪ̩߫ҷΨɢʺɽźƶѽñ¾Ʒ1ඡɩϾǼݱɧҹɴҿɪ粹ɲɱ桶ڲŸͨ妳ѽʹɱ繰͵עɯɥɭɤʴɫݤ̤ɮɬɶɷɿɺɻʼɼɾɸʿɽ֡ڡʡآ羷۬զҸ壸Уﴳɹɰ̥ݺ㰤Ҏʻȧ۽ˡȣַүꤾ׼׹Ȧ߶ھ¦ൡá˵ȫƯȪIJԸʧȷȩ㳾СȰϸܥ˧ʢͪڼѶΥȹȸަɡڲչȤҺýҹȢȡ򾾹ٰ®Ȼиݢ֯ڦԦ¬ѳĽ̷׿޸ȥȮϡȭ˪ȱˡȰȬȯڴԯأצɣԳ߯ޢȨźܹڵȼȽɺȾȿȺǿԺı۱ŶķƱüҵ਻ԳܱĥŽ淿ʤϨȡաȥҥۥإH]\|\_s*[Ύ͎̎ˎ]\|\_s*[ۥإեҥ]\|\_s*[ۤؤդҤ]\|\_s*\|\_s*\|\_s*Ļ\|\_s*\|\_s*[]\|\_s*\|\_s*[п]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[]\|T\_s*r\_s*i\_s*u\_s*r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*ˡ\|\_s*λ\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|h\_s*e\_s*c\_s*t\_s*o\|\_s*\|c\_s*l\_s*a\_s*u\_s*s\_s*t\_s*r\_s*o\_s*p\_s*h\_s*o\_s*b\_s*i\_s*a\|\_s*\|\_s*\|\_s*\|E\_s*\%(r\_s*i\_s*o\_s*c\_s*a\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\|u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\|Ƭ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|f\_s*\%(o\_s*r\_s*t\_s*e\|e\_s*m\_s*t\_s*o\)\|\_s*[滳]\|\_s*\|\_s*\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%([ͽ]\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*ŷ\_s*\|\_s*[]\|\_s*\|\_s*[ȡ]\|\_s*\_s*\%(\|\_s*\)\|A\_s*\%(s\|r\_s*s\_s*e\_s*n\_s*i\_s*c\|n\_s*g\_s*i\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\|\_s*\_s*\|\_s*\_s*\|\_s*[]\|\_s*\|ľ\_s*[Ᵽ]\|\_s*Φ\|\_s*\_s*\|\_s*\|\_s*Ÿ\|\_s*[˹]\|\_s*\|\_s*ƻ\|\_s*\|\_s*\|\_s*\|̢\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|ι\_s*\|N\_s*e\_s*l\_s*u\_s*m\_s*b\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\_s*\|Ʊ\_s*˦\|\_s*\|\_s*[ȧ]\|\_s*[]\|\_s*[ǵ]\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|Ĺ\_s*ë\|\_s*\_s*\|Ż\_s*Ƭ\|\_s*\|\_s*\|\_s*[]\|\_s*\%(\_s*\|\_s*\)\|ͦ\_s*[]\|ή\_s*\|\_s*\|2\_s*\%([ͤ]\|\_s*\|0\_s*\)\|\_s*\%([ͤ]\|\_s*[]\)\|ø\_s*\|8\_s*\|\_s*\|P\_s*\%(t\|o\_s*t\_s*a\_s*m\_s*o\_s*g\_s*e\_s*t\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*t\_s*i\_s*n\_s*u\_s*m\)\|\_s*\%([]\|\_s*\_s*\|\_s*\)\|\_s*ή\|\_s*\|\_s*\|\_s*\|R\_s*S\_s*I\|M\_s*\%(y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*c\_s*u\_s*r\_s*y\)\|\_s*Ĵ\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\%(\|\_s*[ȥ]\)\)\|\_s*\|\_s*ϻ\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\)\|\_s*\%([顼]\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\%(\|\_s*\)\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\)\|\_s*[ʿ]\)', \ 'I' : '\%([DZߡ׶׵϶̴ߺ̤ӷŲݳͶưݡȵܵ述S׽ꭲڿĹǢ̿쵸Ÿವżϫĺ׻кطҮͦܡǮʰᰱ˻ްϮסӱ©ĩ寱۱İս˻Сݫ׸ԩ۵ʰݻְյ׮Ųΰ𨱡ֱ۩۰дذYŰ1ڴŪ٥ަ̰թȺص°ذѰϱԣиȰǡѦ״ͣ޻׳԰ʳױİΰڸްͰֹаΨͬհݰڰ۵ɹۢ͢˰籥ɥɧڻI]\|E\_s*\_s*\_s*\|\_s*\|J\_s*u\_s*n\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*ë\|\_s*ʸ\_s*\|\_s*\|ɨ\_s*\|\_s*ϻ\_s*\|\_s*\|\_s*±\|\_s*\_s*\|\_s*ȷ\|β\_s*\|\_s*\_s*\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*ɨ\|\_s*\|\_s*\_s*ƣ\|5\_s*[]\|\_s*[]\|ب\_s*٦\|\_s*\|Ĭ\_s*\|\_s*\|\_s*Ӽ\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|ʸ\_s*\|Ϻ\_s*[]\|\_s*[]\|\_s*\|U\_s*r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*[Ļ]\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*[ﷻ]\|\_s*\|ݬ\_s*\|\_s*\|\_s*\|\_s*¹\_s*\|\_s*\_s*\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|\_s*\|\_s*\|\_s*\_s*ή\|\_s*[]\|\_s*[]\|\_s*[ڻ]\|\_s*ɽ\|\_s*\_s*[ú]\|\_s*ӧ\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|\_s*[]\|<\_s*=\_s*=\_s*>\|ɬ\_s*\_s*\_s*ʬ\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\_s*\|ɸ\_s*\_s*\_s*\_s*\)\|\_s*Υ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|¨\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|i\_s*\%(\_s*\_s*\|P\_s*o\_s*d\|\_s*\_s*\|M\_s*a\_s*c\|\_s*\_s*\)\|\_s*\_s*\|̵\_s*\%(\_s*\|\_s*\)\|\_s*Ǽ\_s*ˡ\|\_s*\_s*\|\_s*\%([ǡ­]\|\_s*ʬ\)\|\_s*\_s*\|\_s*\|Ƴ\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*\%(\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\)\)\)\)', \ 'J' : '\%([ֺɼټľ¿̭ߩʿ顿ױӿпԿҿؿѿտǽޮտٳа屽лġпЫǡ̼žվڷǨèط۲ٽɽμѽȻŽޭ߱覽۽ڽ޽޼쳼ߨкߧ尽Ľ½ýƽ֮꼥Ώ߼ֵᪿλ̻Яϩ˱ѻżб褻κԼٵ֧ͤʧקJ]\|\_s*\_s*\|\_s*\|\_s*\|G\_s*\%(\_s*\|\_s*\)\|Z\_s*\%(r\|i\_s*r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\)\|D\_s*y\|\_s*\%(\_s*\|\_s*\)\|\_s*\|\_s*\|\_s*\_s*\%(\_s*\|\_s*\)\|\_s*\|2\_s*\|\_s*\|\_s*\_s*ʺ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*ī\|\_s*\|Ƚ\_s*\|ϳ\_s*\|\_s*\|\_s*\_s*\_s*\|Ĺ\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*Τ\|\_s*[ϴ崽]\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\|\_s*\|\_s*\%(\|\_s*[ʷ]\|\_s*\|\_s*\|\_s*\)\|\_s*\|\_s*\|ɳ\_s*\|1\_s*\%(0\|1\_s*\|8\_s*\|2\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*̣\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*Ʊ\_s*\_s*\_s*\|j\_s*\%(T\_s*e\_s*X\|L\_s*a\_s*T\_s*e\_s*X\|B\_s*i\_s*b\_s*T\_s*e\_s*X\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\_s*\|\_s*\|\_s*Φ\_s*\_s*ü\_s*\%(\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\%([˥ʡ]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*[ӥ]\|\_s*\)\|\_s*\%(\_s*[]\|\_s*[]\)\|\_s*\_s*\|\_s*\%([ϥ]\|\_s*\_s*\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\_s*\|\_s*[]\)\|\_s*\%(\_s*\%([ʥ]\|\_s*\%(\|\_s*\)\|\_s*\)\|\_s*\%(\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\)\)\|\_s*\%([]\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\)\|\_s*\%([֥]\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\|\_s*\%([ȥ]\|\_s*\|\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*[ʥ]\)\)', \ 'K' : '\%([²ǷťưЯ⸼ȽҸǼ㪸ۻ쮱੻ֿѺϹٹʺú纯պۦĹȹָ벹Һ٬̫ޫ޳䲬ު־㣸ϹϺ٫ȺӫִӳӬص޸ܺս͹̨ɹж๫ʹĹá񹸹ۥ⫹ֹѹ۹չ̹˹عֹ骹ݹҹԹιӹĸëӭйݻջ̼ԺʴԺƸ䲾Ƹ۸žĶٸĨӾ̱ۻҸɸָܵŽѻǻûƤҸݰٽᾱʷϿٱЭۿݼܷغѭԡ޲իҥݾشկثڷ𸳰̷ո丮Ǹݷڸ建ҧҾتϨꥷ찷Ʒ̷÷Ҧ׷ۤܯݬݮܱܮݫʵߪʤվ߷ţ賷ΦۻҮ·ذѾ򷬷ڶ˿ֲ̽ǰ̰鶰פ޺Ϳ߷Ѧν庿ܸȷˮԢɦʭܿЦĸ¢޷˹ȸҢڹҿȶ꤯ӽ廸͵θ˨ž䷯ݢݡ뿸֨ɵɵǵ̵Ƶʡޢ̡ޡá笠ܡ塹Ţ硧顩¢ġ졵ˡ桼ݢ᡺Ժٹܶµϴߵʷߵ̸׶ܶ۶ڢҶݸٶڶӶ϶׶նѶ۶ֶضбڡکڪӵҨީд򰰶ɵժ亶ѿַﶷѬзź䡹ިٰװ¶ѹ߶ҳٶɶѾ貶󶩶жᶧŶö̵̾֩켣ŵָյⱱ͵ܵ׵ֵȷٵߵ޵۶ݺʹݤױ̴ڵſөɱȲøڶ˷Ҽ¶𵦵ۮ־ةȩܵѥ·д̧İɺݸ嵥ڵ޿洴ԭԵڸ쵧㵫٣ֿ۹ڹɳ߳˹ȷ̢ư좿ƱʡܢᱵרǡˡҡԡơȡɡѡСաôجɳ϶ѾʸܵȿǣʶͽгϾݵع˵ۿٸǷշͩΫĴȱ١ҤҳݢʢٿȦ۫滳ܾ龹ôŽ޳ڳ³귰¦㡴姢̻റɵҳݹ޳˿ڸিԣϸ³ø֡١׷ŭƬŨŬŤ״׳ᰥɬŴܷ̳봢ԽڲӾ׳ڨƿӽdzӡϡۡڡ̡͡γȳijԳճʳ߱׳ڼȵҳֳѳТӼ뻳һרݥųЪĻӳܴ߷ٳβ𳭳dz򳬲Ԭ٪Хٺù٢Ӳߵ۸ҰᴮѴ޾˧ӳޱڿͻôÿȡȴ䯴԰ݴ۴ڴԴʴա̴δ˴עӴĴִٴ״ӿŴɴشϴѴشԳҵȴճƶDzμŲòͲӻ۷紣ҲԥФҲһݲݲָ򴢱ּȼڲ桶˲ŰײӧҷܴѫββϲѼнӥѷϲӲɲշ߲Ʋ²ȾƸϲݤᨱ秷ʳ˥߶Ҧ֥ܥK]\|\_s*[]\|\_s*[]\|\_s*[Ҥ]\|\_s*\|\_s*\|\_s*\_s*Ⱦ\|\_s*ë\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*ϧ\|\_s*\|\_s*\|\_s*\|M\_s*e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|\_s*Ϣ\_s*̣\|\_s*\|\_s*\|\_s*\|S\_s*i\|\_s*\|ɴ\_s*[߻]\|9\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|ŵ\_s*\_s*\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|õ\_s*\|\_s*\|c\_s*r\_s*e\_s*s\_s*c\|\_s*¢\_s*\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|ϻ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|k\_s*i\_s*l\_s*o\|\_s*[Ƿ]\|\_s*\|\_s*ɧ\|\_s*\|\_s*\_s*Ļ\|X\_s*e\|ǡ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|G\_s*o\_s*l\_s*d\|A\_s*\%(u\|r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|s\_s*t\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\_s*\|\_s*\|R\_s*\%(h\_s*\%(o\_s*e\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\)\|u\_s*n\_s*u\_s*n\_s*c\_s*u\_s*l\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|a\_s*n\_s*\%(u\_s*n\_s*c\_s*u\_s*l\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*l\_s*e\_s*s\)\)\|\_s*\|\_s*[©]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\%([]\|̳\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*ŵ\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*ƻ\)\|\_s*\|Υ\_s*\_s*Υ\_s*\|\_s*Ƭ\|\_s*\%(\|\_s*\)\|\_s*\|Ĺ\_s*[]\|\_s*\|ŷ\_s*\%(\|\_s*\)\|\_s*\|\_s*\_s*\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[]\|̱\_s*\|\_s*\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|Ϣ\_s*\|\_s*\|\_s*\_s*\|C\_s*\%([ormdfa]\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\|i\_s*r\_s*c\_s*a\_s*e\_s*a\_s*s\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*r\_s*i\_s*u\_s*m\|e\_s*r\_s*c\_s*i\_s*d\_s*i\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|Ϥ\_s*\)\|\_s*\|\_s*[׼]\|\_s*\%(\|\_s*\_s*Ω\_s*\_s*\_s*\_s*\_s*\_s*\)\|(\_s*\_s*)\|\_s*\|\_s*\_s*\|\_s*ʼ\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\|\_s*\|\_s*[׿]\|\_s*\|ݣ\_s*\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|\_s*\%([֥]\|\_s*\|\_s*\%([ȥ]\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\)\)\|\_s*\%(\_s*\%(\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\)\|\_s*\_s*\|\_s*[եȥ]\)\|\_s*\%(\|\_s*\%(\|\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\)\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|a\_s*p\_s*a\_s*v\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|o\_s*\%(d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\)\)\)', \ 'L' : '\%([㡱̢ТϢ˥̢ʥݦ򧭦L]\|\_s*[]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\_s*2\_s*\_s*ˡ\|\.\_s*\.\_s*\.\|\_s*\|l\_s*-\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|ݦ\_s*ݨ\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%([֥ܥȥᥦ]\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\%([ƥȥ]\|\_s*\%(\_s*\|\_s*\)\|\_s*\)\|\_s*\_s*\|\_s*\_s*\%([ȥ]\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*[ȥ]\)\|\_s*\|\_s*\%([]\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*[]\|\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%([]\|\_s*\)\)\)\|\\\_s*L\_s*a\_s*T\_s*e\_s*X\|\_s*\_s*\|\_s*\|\_s*\%([ݥޥʥΥ̥֥]\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*[]\|\_s*[]\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*[륷]\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\_s*\|\_s*[]\)\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%([]\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*\%([]\|\_s*\|\_s*\)\|\_s*\%([]\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%([ɥԥץ]\|\_s*\)\)\)', \ 'M' : '\%([Ӵڬߪ߫һսοʹʪأε첼ЪǴܸʸݨۯۤ˴ݼ˾dzϳܾըлӤոľѾճ˨λتۻΪ溵ʰ̺üӹɴϢ͸¼߶ٽﶻŷ̼ǫƿ̸̵̴̶̻̹ϻپ̷̳믵Ĺǥߺ֪Ь夰յ𢨡̮þ̬ѰλûǣץŹ̨ºļšѢ١۱̰ǧʾƳϩƻм̯̾̿̽Ե㴳ﲸ̫Ĵ̩̪̲̱ܳ׽̭뷱ο̧̥̣̦ʿߎϸٿܵŪ¹׿׾ᵼžеȱμ°ẕ̇ҸƦԫѿǤʶĴٰüᶶ賹ĮԤ硬ˡʱߴʣ󺵸ػϨŻȨؤ̢̡Ϯ򾾶踭ͥϺ۾̤⼬غѿ˻޸̢ޡࢿܡޢ΢Тʢꢻ覤͡碾ݢϢߢˡߢ͢ݥ޺ǥߥ᧮M]\|\_s*[ӎҎюЎ]\|\_s*[ߥ]\|\_s*[ߤ]\|\_s*[]\|\_s*\%([Ͽ]\|\_s*\|\_s*\)\|\_s*\|\_s*\_s*\%(\|ʸ\_s*\)\|ξ\_s*\%([ѿƿ]\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|O\_s*l\_s*e\_s*a\_s*l\_s*e\_s*s\|ر\_s*\|\_s*\_s*\|\_s*\|\_s*ĥ\|\_s*[]\|\_s*\_s*ӧ\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%([ͭ]\|\_s*ƻ\|\_s*\)\|\_s*\|\_s*\|6\_s*\|\_s*\|\_s*\|\_s*\|\_s*;\_s*\|\_s*\|B\_s*\%(e\_s*r\_s*b\_s*e\_s*r\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*o\_s*r\_s*r\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|©\_s*\|k\_s*\$\_s*_\_s*{\_s*i\_s*n\_s*f\_s*}\_s*\$\|\_s*\|A\_s*\%(b\_s*i\_s*e\_s*s\|p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*r\_s*o\_s*s\_s*t\_s*i\_s*c\_s*h\_s*u\_s*m\)\|\_s*\|\_s*ȷ\|\_s*\|\_s*[]\|\_s*\|\_s*\|Φ\_s*\|\_s*[ҽԢ]\|3\_s*[]\|\_s*[]\|\_s*[ȱ]\|\_s*\|ȷ\_s*\|\_s*\|\_s*[˪]\|P\_s*o\_s*d\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*[ζε]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|R\_s*u\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\%(̣\|\_s*[ž]\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*Ļ\|\_s*\|\_s*\|\_s*[һ]\|\_s*\|ߴ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*ã\|\_s*\|\_s*[̯]\|\_s*\|\_s*\|L\_s*o\_s*g\_s*a\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|Ю\_s*\|\_s*\|\_s*\|S\_s*\%(a\_s*p\_s*i\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|c\_s*h\_s*i\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|C\_s*\%(a\_s*s\_s*u\_s*a\_s*r\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*a\_s*t\_s*o\_s*p\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\)\|\_s*\%(\_s*\|\_s*\)\|H\_s*a\_s*m\_s*a\_s*m\_s*e\_s*l\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*[Ƿ]\|\_s*ɧ\|ʹ\_s*\|\_s*\|\_s*[§]\|\_s*\_s*ǯ\|\_s*\|¿\_s*\_s*\_s*\|\_s*-\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|ñ\_s*\_s*\|\_s*\|\_s*\_s*[]\|\_s*\_s*\|\_s*\_s*Ǿ\|\_s*[]\|\_s*\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\)\|m\_s*\%(u\_s*l\_s*t\_s*i\_s*l\_s*i\_s*n\_s*g\_s*u\_s*a\_s*l\_s*i\_s*z\_s*a\_s*t\_s*i\_s*o\_s*n\|i\_s*\%(c\_s*r\_s*o\|l\_s*l\_s*i\)\|e\_s*\%(g\_s*a\|z\_s*z\_s*o\_s* \_s*\%(f\_s*o\_s*r\_s*t\_s*e\|p\_s*i\_s*a\_s*n\_s*o\)\)\|a\_s*\%(k\_s*e\_s*\_s*\_s*\_s*\|d\_s*e\_s* \_s*i\_s*n\_s* \_s*J\_s*a\_s*p\_s*a\_s*n\)\)\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*Ū\_s*\_s*̣\|\_s*\_s*\%(\_s*̣\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\)', \ 'N' : '\%([ɽ԰ھ翮Ǽ¡۩׵˾̰ĵƭоӸĪɫŸˡŵ§ϵůۨǹǿǾǽǶǸЫݻǷҾݡǻĤΎ߿ݦեǫդٹǭʿܡ̲ǮϫǬ̭ܬDzǰdzǯ޺ǴͺDZǪϣ಻ǩ͎Բʾ迡۾ݹŧ޹dzǨæ˥ȴٶɤ̎ٿô콭ʨ߳ƲؽǢѦ浶ǡǣԡբ١ذլѹٿǦǥǧǤ̶֮ƨ2бðˎٸij֧ť鵵ͼ㳴÷òڳвּͱľؽǺޥϲ˿ܧƻб±ŵڽͨƷȱįή¸ܩĹ޽Ⱦ棷мǵճǢԶ󢿢͢Ǽ̵ٽձ޸ѵİྨӭڵ˴Ƥʨ̾˥ͣ΢̡ʥ̥ΦߦN]\|\_s*[ɎȎǎƎ]\|\_s*[Υ̥ͥ˥]\|\_s*[Τ̤ͤˤ]\|Ģ\_s*\|\_s*\|\_s*\|\_s*ö\|\_s*\_s*ȿ\|\_s*\_s*\|ϵ\_s*[ݱ]\|\_s*\|\_s*\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\|\_s*\_s*\|\_s*Ƿ\|\_s*\|ο\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*;\_s*\|\_s*\|\_s*\|I\_s*I\_s*\|\_s*ȭ\|\_s*\|\_s*\| \_s*2\_s* \_s*\_s*\_s*\|M\_s*y\_s*r\_s*i\_s*s\_s*t\_s*i\_s*c\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*ѵ\|\_s*[]\|P\_s*b\|L\_s*e\_s*a\_s*d\|\_s*[]\|C\_s*\%(e\_s*l\_s*a\_s*s\_s*t\_s*r\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*r\_s*y\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*\%(\_s*\|\_s*ʪ\)\|\_s*\_s*\|7\_s*[]\|\_s*\|\_s*\|ʿ\_s*\|\_s*\|\_s*\_s*\_s*\|T\_s*h\_s*e\_s* \_s*N\_s*e\_s*t\_s*w\_s*o\_s*r\_s*k\_s* \_s*I\_s*n\_s*f\_s*o\_s*r\_s*m\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\|S\_s*o\_s*\%(l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|d\_s*i\_s*u\_s*m\)\|\_s*\%(\|\_s*\|\_s*\_s*\_s*\_s*\)\|ɳ\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|n\_s*\%(\|a\_s*n\_s*o\|o\_s*t\_s* \_s*o\_s*r\)\|\_s*\|\_s*\|\_s*\|\_s*\)', \ 'O' : '\%([Ůۯ۰Ÿ۲˻ҳŵسḯԹ䲮ɭڶڼᡸǦƼĹĽǼԲ£ȳ־쿯Φֲݣſ༫ʳˬʲ񤲷ǰ߰θۻɽ̶Ͷ笲ݶذߴ޳۾ʲإᥲصռ鲪ݯݳ²۷겣ݿӵ꾪Ʊٱ⳸͸Ȳϵ˲˱¿ʤDzϺڨϯݰƿϷͦ˵Ӱ˿侭˸಼ͺߺӱä¢ˢϧৰϡئO]\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*Ȭ\_s*\|Ŵ\_s*\|\_s*ȱ\_s*\_s*\|\_s*\|\_s*\|\_s*̣\|\_s*\_s*\|\_s*ʴ\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|ب\_s*\|˵\_s*[]\|\_s*[̼]\|\_s*[]\|\_s*[]\|թ\_s*\|\_s*\|\_s*\|G\_s*u\_s*t\_s*t\_s*i\_s*f\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|D\_s*i\_s*l\_s*l\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|H\_s*y\_s*p\_s*e\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*[̼]\|\_s*ǯ\_s*\|\_s*\_s*\|\_s*\|\_s*\|A\_s*l\_s*i\_s*s\_s*m\_s*a\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\|C\_s*o\_s*p\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ʪ\|\_s*\_s*\_s*\|\_s*[]\|\_s*[]\|\_s*Υ\|ز\_s*\|\_s*\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*[]\|\_s*\|\_s*\_s*[]\|\_s*[߳]\|\_s*\%(\|\_s*\_s*η\|\_s*ŷ\_s*\)\|\_s*Ƭ\|\_s*[]\|\_s*\_s*¾\|\_s*\_s*\_s*\_s*\_s*\_s*\.\|\_s*[ζ]\|t\_s*h\_s*e\_s* \_s*O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*a\_s*n\_s*a\_s*g\_s*e\_s*m\_s*e\_s*n\_s*t\_s* \_s*G\_s*r\_s*o\_s*u\_s*p\|Ω\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\%([]\|\_s*\)\)\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*[ǯ]\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*Ŭ\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\)', \ 'P' : '\%([ˣˤˡܮʻáʬɤɶɼʿȯȢʧʢȬ˱ĥѱפԡޡܤצը̨󡥣С򢩡ץǡˡʢߢ¥ڥѧզХP]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[ݥڥץԥ]\|\_s*[ݤڤפԤ]\|\_s*\|\_s*\_s*Į\|\_s*\|\_s*[Ϫϥ]\|\_s*\|\_s*\|\_s*ϥ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(Τ\|\_s*\)\|C\_s*y\_s*c\_s*l\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|S\_s*y\_s*n\_s*a\_s*n\_s*t\_s*h\_s*a\_s*e\|\_s*\|B\_s*r\_s*o\_s*m\_s*e\_s*l\_s*i\_s*a\_s*l\_s*e\_s*s\|L\_s*e\_s*a\_s*d\|\_s*[ļ]\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\%([]\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\)\)\|+\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|Χ\_s*\)\|\_s*\%(\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\_s*\_s*\|\_s*\%([Υ]\|\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\)\|\_s*\%(\|\_s*\|\_s*\%([]\|\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*[]\)\|\_s*[ĥ]\|\_s*\_s*\_s*\_s*\)\|\_s*\%([]\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%([]\|\_s*[ץ]\|\_s*\%(\|\_s*\)\)\)\|\_s*\%(\_s*\%([٥]\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*³\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*³\|\_s*\_s*\_s*\|\_s*ƺ\_s*\|\_s*\_s*\|¿\_s*\_s*\|\_s*\_s*\_s*\|Ž\_s*\_s*\_s*\|\_s*ʸ\|\_s*\_s*[]\|\_s*\|\_s*\|p\_s*\%(T\_s*e\_s*X\|H\_s*\_s*\_s*\|e\_s*\%(t\_s*a\|r\_s*l\_s*\_s*\_s*\_s*\_s*\)\|i\_s*\%(c\_s*o\|a\_s*n\_s*\%(o\|i\_s*s\_s*s\_s*i\_s*\%(m\_s*o\|s\_s*s\_s*i\_s*m\_s*o\)\)\)\)\)', \ 'Q' : '\%([ܯݬݮܱܮݫʵߪ緩ųʤմɾ߷ţ賷ΦۻҮղطѾ뷭򷬷ڶ˿ֲ̽ǰ̰鶰ȱפ޺ޱͿ߷Ѧν庿ܸ𷪶ʳdzˮԢɦʭӼЦչ硡Ŵġ¢ҵ׹׶޷˹ȸҢܸڹ׶ҿȴȷ϶ͶꎸѡơȡǡɢQ]\|\_s*\|\_s*\|\_s*\|\_s*̼\|\_s*\|\_s*\|\_s*\|\_s*Ѵ\|ɴ\_s*[߻]\|\_s*\_s*\|\_s*ʪ\|\_s*\|9\_s*\|Ĺ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\|ŷ\_s*\_s*\|\_s*\|ŵ\_s*\_s*\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|õ\_s*\|\_s*\|c\_s*r\_s*e\_s*s\_s*c\|\_s*\|\_s*[]\|\_s*¢\_s*\|K\_s*r\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\%([ʸ]\|\_s*\)\|\_s*\|\_s*Ѥ\_s*\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*\|ϻ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|C\_s*\%(r\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\)\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*ϯ\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*[]\|\_s*\%(\_s*[]\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\_s*[ॹ]\)\|\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\)\)', \ 'R' : '\%([αϾϼϽϿ߳ϱϮӤۭӯѤҩ۰ϺϭϴϲϹϸϰ϶ϵϳϯϧȧϨתϦݭߣްٳѶӺүߺ㹵ݬݮҳҽ߲ݲϡϣڻϢϩޥﻼϬڶΫάΪΨ˷Χҭϻ٤Φ߱ίβΰαΩγέδήPܲשاηκϤθо̺ۢסڢɩζοε˵νμλξιΥΣΡ΢ߢئΤ轤ϫϷԿЬѰڰݳպݴݣݪڧѴɤ鱦ҧ姨৫ا٧ӧ槬ݧ᧰ϥϪۧ秮ܧԧէާ觯קѧڧ֧䧡駾𧦧ߧ맥غҥ꧲ѦR]\|\_s*[ێڎَ؎]\|\_s*[]\|\_s*[]\|\_s*\|\_s*[ͭ]\|\_s*[˦]\|6\_s*[]\|\_s*̵\_s*\|ݦ\_s*ݨ\|԰\_s*\|A\_s*\%(c\_s*t\_s*a\_s*e\_s*a\|p\_s*o\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|C\_s*\%(a\_s*l\_s*y\_s*c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|h\_s*o\_s*r\_s*i\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|\_s*[]\|\_s*\%(\|\_s*\)\|V\_s*e\_s*r\_s*t\_s*i\_s*c\_s*i\_s*l\_s*l\_s*a\_s*t\_s*a\_s*e\|O\_s*r\_s*c\_s*h\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|M\_s*i\_s*c\_s*r\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\|L\_s*\%([ruia]\|e\_s*i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*a\_s*l\_s*e\_s*s\|A\_s*N\_s*\_s*\_s*\_s*\)\|\_s*\|G\_s*\%(e\_s*n\_s*t\_s*i\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|y\_s*\%(n\_s*a\_s*n\_s*d\_s*r\_s*a\_s*e\|m\_s*n\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\)\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*\_s*̿\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*§\|\_s*\|r\_s*u\_s*b\_s*y\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|ȿ\_s*\_s*\|\_s*\%(\_s*ʸ\_s*\|\_s*\)\|\_s*ǽ\_s*\_s*\_s*\_s*\|\_s*\_s*Ū\|ǧ\_s*\|\_s*\_s*ɽ\_s*\|\_s*\_s*\)', \ 'S' : '\%([Ъۼ˵ֵڰ޶˿ԽǨΨм©­¥«¦¬̫ᰳٴտ£֥ػǬ߶ҫݽ¹ײسȢҲ䷫çî¹½¸º»¶ȿରۤɯ˻íܦ岱޶ܸҪͼϴߪٰ֣ڱ·޷߫ѩѢߥѡ٥Ѩڣګ̻عԤ¿б¼ͥӳҰӵѱڿμͤʹƫǵ¨§ߵ̡ͷķ״ɿצߵ®ú϶ۡڽſТ̢ޢϡ⦤͡ߢˡܢޢʡ΢ߢꢻحجïͿ巿H񾽻ľڧ߭湥ٹ۵ʿƩԱ飼ýƳħ󻼲١ٶĴ¢ֺߨߧ¼ȻοǦǧӻк尷樵ԦܰǢܾнؼżĬ߼ȼ𮼻ꩼɨũм޳ʻͿļҼԲĵϼբٱؼ۷ּмܼڼѼм˼ּҰʵżެոշܤܣƵ´ýʽȽͽܼ̿꫽нܶܷꪽ쨳Ӵ֭ϼܽµ½Ѯضآؽܽ׽ٽ䣽սֽӢ֪ǿп¿Ŀ˿ӿ¿ɿǿä⿹ƿȿʿƿ謹еر޵ַҾľֹľ׾̰գңطӾԡʽءˡʾѾءϾ޾۾¾׾騾ľܥƾྫྷϾɾ˾ƴҾݾоξƾȾϾܾþھ˾ʾԧ֤ѿ°濣ػ㭻׶ӻӶǼӡܻHҿӺǡɦ֬寿ڻ¶ǰٻлף㬰ԮǷȻֻѳʻ̼һ̦ڼ褴ֻƤ豫dz˸ʿͻٮӦͶ긼뽿ܻ߷߽Ϋڼ޴ͺɾ참ֿ곡ָӯ˼λãů͡ұⷱζ۸ΤܪǾ٩ӴܼƱݺ峦涭ոපߦ»ڹĿĢջɻܢӻբ3O߻úޯخ稺ռŻø칹ʺѱ٣׺˺㷺ԺݺҺӼкںκպʺĺƺ׺źͺԺۺкǺªںԺغݯ̻赺ͼӺԼ亵ֺ麺úհ̬٭ϻ⤹Ż맻źʸšɸĻں̢ǡƨõӥ㧳S]\|\_s*[]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\%(ϩ\|Ϫ\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[ס]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*Ѥ\|\_s*\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|\_s*\|\_s*\|c\_s*e\_s*n\_s*t\_s*i\|\_s*[϶]\|\_s*\|\_s*̥\|\_s*\|ŵ\_s*\|\_s*ͺ\|\_s*\|ŷ\_s*[IJ]\|V\_s*i\_s*o\_s*l\_s*a\_s*l\_s*e\_s*s\|N\_s*y\_s*m\_s*p\_s*h\_s*a\_s*e\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|\_s*\|\_s*ƻ\|\_s*\%(\|\_s*\)\|Ϸ\_s*\|˾\_s*Ĭ\|\_s*\|\_s*[Ǧ]\|L\_s*a\_s*\%(b\_s*i\_s*a\_s*t\_s*a\_s*e\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\_s*\|ʾ\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|ت\_s*ͺ\|\_s*\|\_s*\|I\_s*\%(s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\)\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*ʸ\|\_s*[ë]\|\_s*[]\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\%([ظܻ]\|\_s*\)\|7\_s*\|\_s*\|4\_s*\|\_s*[ʬ]\|\_s*\|\_s*\|\_s*\|\_s*\|͢\_s*[]\|Ȼ\_s*[ϯϺ]\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|³\_s*\%(\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\_s*\)\|ή\_s*[Υ]\|\_s*\|\_s*\|Һ\_s*ȭ\|\_s*\_s*\|C\_s*\%([se]\|y\_s*c\_s*a\_s*d\_s*\%(i\_s*d\_s*a\_s*e\|o\_s*\%(p\_s*s\_s*i\_s*d\_s*a\|f\_s*i\_s*l\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\)\|h\_s*l\_s*o\_s*r\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|D\_s*Ź\|\_s*\_s*\|a\_s*\%(s\_s*s\_s*y\_s*t\_s*h\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|c\_s*t\_s*a\_s*l\_s*e\_s*s\)\)\|\_s*\|\_s*[]\|\_s*\_s*Ʀ\|ۨ\_s*\|\_s*\|\_s*\_s*\%(\_s*[ǯ]\|\_s*[ǯ]\)\|\_s*\|ɴ\_s*\_s*\|\_s*¹\_s*\|\_s*ƣ\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(ˡ\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|P\_s*\%(a\_s*r\_s*i\_s*e\_s*t\_s*a\_s*l\_s*e\_s*s\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|r\_s*i\_s*m\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\)\|A\_s*\%(p\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*a\_s*l\_s*e\_s*s\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\)\|s\_s*f\_s*o\_s*r\_s*z\_s*a\_s*n\_s*d\_s*o\|\_s*[ŵ]\|B\_s*\%(r\|\_s*\_s*\)\|\_s*ĥ\_s*\|\_s*\_s*\|\_s*ʬ\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*¤\_s*\|M\_s*\%(e\_s*r\_s*c\_s*u\_s*r\_s*y\|u\_s*s\_s*a\_s*l\_s*e\_s*s\|a\_s*r\_s*q\_s*u\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\)\|D\_s*o\_s*n\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*A\_s*l\_s*p\_s*h\_s*o\_s*n\_s*s\_s*e\_s* \_s*F\_s*r\_s*a\_s*n\_s*c\_s*o\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\|\_s*\%(Ƿ\|\_s*\%(\_s*̣\|\_s*\_s*\)\)\|T\_s*\%(e\_s*t\_s*r\_s*a\_s*c\_s*e\_s*n\_s*t\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\|h\_s*e\_s* \_s*S\_s*i\_s*m\_s*p\_s*l\_s*e\_s* \_s*A\_s*P\_s*I\_s* \_s*f\_s*o\_s*r\_s* \_s*e\_s*v\_s*e\_s*n\_s*t\_s*-\_s*b\_s*a\_s*s\_s*e\_s*d\_s* \_s*X\_s*M\_s*L\_s* \_s*p\_s*a\_s*r\_s*s\_s*i\_s*n\_s*g\)\|\_s*\|\_s*\_s*\|\_s*¬\_s*\_s*ư\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\%([]\|\_s*\|\_s*\)\|\_s*\%([]\|\_s*\)\)\|\_s*̣\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\)\|\_s*\%(\|\_s*\%([]\|\_s*\_s*[]\)\|\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\)\)\|\_s*\|β\_s*\)', \ 'T' : '\%([˳ɼҸڽѲ۳ݽ꾲Ĺゥƾη䶡ݽȼͧ۽ĹԥЧܽ˺̭ǯӷֺܺڢκ˭ƿ¢ѸݹǼƻƺܫƳ۶岳ڮݥܪٵֺ߮ƪе즰ƽ޹ơƦƭƤƣƫƥոﰳ믿æԦѽײѽѹϳαͻųϿڼͿ޻Ȏӱ͹ʻԹ֥ųׯŭūڳũɡץšżſŶŻŸźŲŪůŨűŰŴܼ챭ܨţšŢ޸׷Ǝʾʼŵ̳ض۲ϸ̽Ϫٴܻܿѳ㪱γªڼָʴϸȺ鲶ڹ˷Ҿѣױ³ٽƿ븾̢Խϴ˵Ϻ¤ݶԯзˤض࿵˾ͿԻڻܦƵ⸷ѻ̹ϢĎ׹ۺ紺N㾹ٻĿٲŦȤܺĽҬļŤı׭ذ߭׬ġĵįŽƬĸķijĪĢĭƨĻĥĤĨȥħİĦĬĮĺĴģIJĶĩīЦѲפدɪɳղϡѡСο漣֮ѻ׷ڲ٤ֿ̯ڸȿˬܽîƢí̱۸нԻվιìʾλƧ٥ƮáȾ䲹ﴰ٦ɶݾŹêéڥçäܱ纴ͤɫ맰ܭζεɺݰľ鶩ͣԳӬѹҵͺ׼ŬƵ«ԡýݽèã۹̴ƿֻǤƱýϰ䶳ٷɹºյδйٿӸþں߬߸ÿWöӷëóȿC÷òýðôùøúûõñâپŧڤ٧Ӷ߷ڭʿڬжԱǿĹʲ֫­Ωίȯ۴¿¾¿ïҺӣ߱٣崤ŷ߷ڢᦨɽڥ覨ȥġžƩȥĻüԧӨƨ䨷T]\|\_s*[ĎΎ]\|\_s*[ȥƥĥ]\|\_s*[ȤƤĤ]\|\_s*\|\_s*\_s*\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*Ϸ\|\_s*\|\_s*[]\|\_s*\|\_s*ľ\|\_s*\|\_s*\_s*\|\_s*[]\|\_s*[]\|͸\_s*\|\_s*\_s*\_s*\|\_s*\|H\_s*y\_s*d\_s*r\_s*o\_s*c\_s*h\_s*a\_s*r\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*[ƻ]\|\_s*[]\|\_s*ǯ\_s*\|\_s*[׻]\|A\_s*c\_s*o\_s*n\_s*i\_s*t\_s*u\_s*m\|ƶ\_s*\|\_s*\|\_s*\|F\_s*e\|I\_s*r\_s*o\_s*n\|\_s*¼\|\_s*\|\_s*̼\|ɻ\_s*\|\_s*\_s*\|\_s*\%(\|ε\_s*\)\|\_s*[]\|\_s*\%(\|\_s*\)\|ɹ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|B\_s*a\_s*l\_s*a\_s*n\_s*o\_s*p\_s*h\_s*o\_s*r\_s*a\_s*l\_s*e\_s*s\|1\_s*\%(\|0\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\_s*\|E\_s*\%(u\_s*p\_s*h\_s*o\_s*r\_s*b\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(Ϸ\_s*Ƭ\|\_s*\)\|\_s*\%([]\|\_s*\|ܥ\_s*\_s*\)\|\_s*\|\_s*\|\_s*\_s*\|\_s*[]\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*ެ\|\_s*\|J\_s*i\_s*a\_s*n\_s*g\_s*s\_s*u\|\_s*\|\_s*[]\|\_s*ë\|\_s*\|\_s*Ϫ\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|\_s*\_s*\|\_s*[]\|\_s*\_s*\|\_s*\%(\_s*\|Ϣ\_s*\_s*[]\)\|\_s*\%(\|\_s*˷\)\|\_s*Ƣ\|\_s*\|\_s*\|\_s*[ڳ]\|\_s*\|\_s*\%(ͼ\|\_s*\)\|\_s*\|\_s*\|ͱ\_s*Ю\|̵\_s*\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|P\_s*\%(\.\_s*S\_s*\.\|o\_s*l\_s*y\_s*\%(g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*r\_s*p\_s*i\_s*c\_s*a\_s*e\)\|a\_s*n\_s*d\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|ж\_s*\|Ʋ\_s*\|ǽ\_s*[ʸǷ]\|\_s*\|\_s*̱\|\_s*\|\_s*\_s*\|\_s*\|M\_s*\%(e\_s*n\_s*i\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*c\_s*e\_s*a\_s*e\|o\_s*n\_s*o\_s*\%(p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*\%(h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|o\_s*t\_s*y\_s*l\_s*e\_s*d\_s*o\_s*n\_s*e\_s*a\_s*e\)\)\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\_s*[ȥ]\|\_s*\)\|\_s*\_s*\|\_s*[ॢ]\|\_s*\%(\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\)\)\|\_s*\%(\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*[ե]\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%([ɥ]\|\_s*\|\_s*\_s*\|\_s*\_s*[]\|\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|Ϣ\_s*ʸ\_s*\)\|\\\_s*T\_s*e\_s*X\|\_s*\_s*\|ʸ\_s*\_s*\|t\_s*e\_s*\%(r\_s*a\|m\_s*p\_s*o\_s*r\_s*a\_s*r\_s*y\)\|\_s*\|\_s*\%([]\|\_s*\_s*\_s*\_s*\_s*\)\)', \ 'U' : '\%([Ⱥɶἷƶڰѽ뼿åѽִء¥ӹⱳư뭱վž𱴵ΪŲر󨱲山۲񱷸¹ϻڴ︽̱ǰֶ̽޲墱ⳤزﷵ庨΢ױӺ屯ĬΣݵ汵²ͫ˷ⱫDZڽͭɼޢƤձ񻾵ѵھвͷα仺ǿ⤦զԥ姵U]\|\_s*\|\_s*\|\_s*\|ϵ\_s*\|\_s*\_s*\|\_s*\|թ\_s*\_s*\|\_s*\|ͥ\_s*\%(\_s*[ɰ]\|\_s*\)\|\_s*\|\_s*²\|\_s*\|ˢ\_s*\|\_s*\|\_s*\_s*[Ƭ]\|\_s*\|\_s*Ǽ\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*Ļ\_s*\|ø\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|̣\_s*\|\_s*\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*Ϻ\|\_s*\|\_s*[]\|\_s*\%(\|\_s*\_s*\)\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*ǽ\|\_s*\%(\_s*\|ͭ\_s*\)\|\_s*\%([]\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\|\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\)\)\|ñ\_s*\%(\|\_s*\)\|\_s*\%([ˡ]\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\%(\_s*\|\_s*\)\)\)', \ 'V' : '\%([֢ͣǧӢ˥V]\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|v\_s*e\_s*r\_s*s\_s*u\_s*s\|\_s*\_s*\|\_s*\_s*\|\_s*\| \_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%([ܥȥ]\|\_s*\%(\_s*\_s*\|\_s*[]\)\)\|\_s*\_s*\_s*\|\_s*\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\_s*\|\_s*\%([ȥ]\|\_s*\|\_s*\_s*\%(\|\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\_s*\_s*\_s*\|\_s*\%([ɥ]\|\_s*\_s*\|\_s*\_s*\)\)\|\_s*\_s*\|\_s*Ĺ\_s*\|\_s*ľ\|\_s*\%(\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\%(\|\_s*\)\)\|\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\)\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\_s*\_s*\|\_s*\)\)\|\_s*\%([֥Х]\|\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\%(\|\_s*[]\)\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\%([]\|\_s*\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\_s*\%(\|\_s*\_s*\_s*\_s*\)\)\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\|\_s*\)\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\%([ȥ]\|\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*[]\)\|\_s*\%(\|\_s*\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\_s*\)\|\_s*\|\_s*[䥢]\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\)\)\|\_s*\%([]\|\_s*\%([֥]\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\_s*\|\_s*\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\)\|\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*\%([顼]\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\_s*\)\)\|\_s*\%([]\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\|\_s*\%(\|\_s*\|\_s*\)\|\_s*\|\_s*\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\_s*\)\)\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\)\)\|\_s*\%(\|\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\)\)', \ 'W' : '\%([򲧽˽ﲴͺȺɶʦԦἷƶڰ뼿åѽء¥ӹⱳư뭱վž𱴵ΪŲر󨱲山۲񱷸¹ϻڴ︽̱ǰֶ̽墱زﷵ庨U΢׻᢬Ӻ屯ĬΣݵ汵²ͫ˷ⱫDZڽͭɼޢƤձ񻾵ѵھвͷα仺ǿ⤦ܲϴѽѴֲҺҶȵɡب˺оƸ޾׿׾бIJƻĹʻ駷Ųѯ뻲Ƚռ㰿´ĸӻͯͰʬʨʤȣץW]\|\_s*[񎳥]\|\_s*[񥦥]\|\_s*[񤦤]\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|ϵ\_s*\|\_s*\_s*\|\_s*\|թ\_s*\_s*\|\_s*\|ͥ\_s*\%(\_s*[ɰ]\|\_s*\)\|\_s*\|\_s*²\|\_s*\|ˢ\_s*\|\_s*\|\_s*\_s*[Ƭ]\|\_s*\|\_s*Ǽ\|\_s*\|\_s*\|\_s*\|\_s*\_s*Ļ\_s*\|ø\_s*\%(\|\_s*\_s*\)\|\_s*\%(\|\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*\)\|\_s*\_s*\|̣\_s*\|\_s*\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*Ϻ\|\_s*\|\_s*[]\|\_s*\%(\|\_s*\_s*\)\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\|\_s*ͥ\|\_s*˺\_s*\|\_s*\|\_s*\_s*\|(\_s*\_s*)\|\_s*[]\|\_s*\|\_s*\|\_s*\|Y\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*[ͳ]\|\_s*\|\_s*\|\_s*\_s*\_s*٥\_s*\|\_s*\%(\|ʿ\_s*\_s*\_s*\)\|ݿ\_s*\_s*\_s*٥\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%(\|\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\_s*\%([ץ]\|\_s*\_s*\)\|\_s*\%([]\|\_s*\_s*\_s*\)\)\|\_s*\_s*\|\_s*\%([ࡼ]\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\)\)\|\_s*\%(\_s*[]\|\_s*\|\_s*\%(\_s*\%(\|\_s*\)\|\_s*\%(\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\%(\|\_s*[ȥ]\)\)\|\_s*\_s*\_s*\|w\_s*e\_s*b\_s*\_s*\%(\_s*\|\_s*\%(\|\_s*\)\)\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\%([]\|\_s*\%(\|\_s*\_s*\)\)\|\_s*\%(\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\)\|\_s*\%(\_s*[]\|\_s*\_s*\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\)\)\|\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|T\_s*\%(h\_s*e\_s* \_s*W\_s*o\_s*r\_s*l\_s*d\_s* \_s*W\_s*i\_s*d\_s*e\_s* \_s*W\_s*e\_s*b\_s* \_s*C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\)\)', \ 'X' : '\%([ا秷ߦX]\|\_s*[]\|\_s*[]\|\_s*[]\|\_s*\_s*\%(\_s*\|\_s*\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\%(\_s*\%(\|\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\%(\_s*\|\_s*\)\)\|E\_s*x\_s*t\_s*e\_s*n\_s*s\_s*i\_s*b\_s*l\_s*e\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\)\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\)\)', \ 'Y' : '\%([ֲغ˩շ޷ڡڴֻۻþӱٵ㷽İ˧ȵ׫խۡƫߡٹβžաЮôڵ;ӸǽͽDz¿ͻͷͿ즤μдİ˭Ƿְ쪾றᾲ͸۷Ͳإͤͨͱͻ͹ͯͰʹͼͩͪͧͺͫͭ͡ͷͳ͢·ͮ竤掲׶׵϶̴ߺ̤ӷŲݳͶưݡȵܦɵ述ڿĹǢ̿쵸Ÿವżϫĺ׻кطҮͦܡǮʰᰱ˻ްϮסӱ©ĩ寱۱İĽ˻Сݫ׸ԩ۵ʰݻְյ׮Iΰ𨱡ֱ۩۰дذŰ1ڴŪ٥ަ̰թȺص°ذѰϱԣиȰǡѦ״ͣ޻׳԰ʳ豶İΰڸްͰֹ԰аΨͬհݰڰ۵ԧİøҲݰͻϦSϵ½ͥ²۴ݬٯֳ̼쮼칽̡ҡԡաӻšץ̰ǫ͵ٰ׵ݹȬë׽Ǹܿͼ뻦輭٧֧ߡק觫ԥۦY]\|\_s*[֎Վ]\|\_s*[楤]\|\_s*[椤]\|\_s*\_s*\|ݿ\_s*\_s*\|\_s*\|\_s*Ƹ\|\_s*\|\_s*\|y\_s*o\_s*\%(t\_s*t\_s*a\|c\_s*t\_s*o\)\|4\_s*\%([]\|\_s*\|\_s*\)\|¾\_s*\|\_s*\|δ\_s*\|\_s*\|\_s*\|\_s*\|\_s*[Ҹ]\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*[]\|Ī\_s*[Ұ]\|\_s*\|\_s*\|8\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|ɴ\_s*\|L\_s*i\_s*l\_s*i\_s*\%(o\_s*p\_s*s\_s*i\_s*d\_s*a\|a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\)\|\_s*\%(ͺ\|\_s*\)\|Ĺ\_s*\|\_s*\|\_s*\|\_s*\|E\_s*\%(u\|\_s*\_s*\)\|\_s*\|J\_s*u\_s*\%(l\_s*i\_s*a\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|n\_s*c\_s*a\_s*l\_s*e\_s*s\)\|\_s*ë\|\_s*\|ɨ\_s*\|\_s*ϻ\_s*\|\_s*\|\_s*±\|\_s*\_s*\|\_s*ȷ\|β\_s*\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|\_s*ɨ\|\_s*\|\_s*\_s*ƣ\|5\_s*[]\|\_s*[]\|ب\_s*٦\|\_s*\|Ĭ\_s*\|\_s*\|\_s*Ӽ\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|ʸ\_s*\|Ϻ\_s*[]\|\_s*[]\|\_s*\|U\_s*\%(\|\_s*\_s*\|r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|\_s*[Ļ]\|\_s*\%(\_s*\_s*\|\_s*\)\|\_s*\|\_s*[ﷻ]\|\_s*\|\_s*\|\_s*\|\_s*¹\_s*\|\_s*\_s*\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|\_s*\|̵\_s*\_s*\|\_s*\|\_s*\_s*ή\|\_s*[]\|\_s*[]\|\_s*[ڻ]\|\_s*ɽ\|\_s*\_s*[ú]\|\_s*ӧ\|\_s*[]\|\_s*\%([]\|\_s*\)\|\_s*\_s*\|\_s*[ʱ]\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|\_s*[ǡ]\|\_s*\|\_s*ζ\_s*\|ξ\_s*\|ή\_s*ŭ\_s*\|\_s*\|\_s*[]\|R\_s*a\_s*f\_s*f\_s*l\_s*e\_s*s\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|ŷ\_s*\|\_s*\|\_s*\_s*\_s*º\|\_s*\|T\_s*\%(h\_s*e\_s*l\_s*i\_s*g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*o\_s*c\_s*h\_s*o\_s*d\_s*e\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|M\_s*y\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*\|\_s*¹\|A\_s*r\_s*a\_s*c\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*\%(o\_s*t\_s*e\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*c\_s*i\_s*p\_s*e\_s*s\)\|a\_s*l\_s*m\_s*a\_s*l\_s*e\_s*s\)\|\_s*\|\_s*[]\|\_s*\%(\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\)\|\_s*\)', \ 'Z' : '\%([»¸·­«֤±³²¯°¡£¤źȿդظƦפԦƬݿ߹޿ֺɼټĶԺټľ㿬̭ߩʿ顿ױӿпԿҿؿѿտǽޮտٳа屽лġпЫǡ̼žվڷǨèط۲ٽɽμѽȻŽޭ߱覽۽ڽ޽޼쳼ߨкߧ尽Ľ½ýƽ֮꼥Ώ߼ֵᪿλ̻Яϩ˱ѻżб褻Τ߷ºֿܪȻ̻쩻ϻ»߻ƺú޺ߺкú¢µ좭إڥ٦ƧZ]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[]\|\_s*[]\|\_s*\|\_s*\|\_s*\|\_s*[]\|\_s*\|z\_s*e\_s*\%(t\_s*t\_s*a\|p\_s*t\_s*o\)\|\_s*\_s*\|\_s*\|\_s*\|ȯ\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ˡ\|\_s*\|Ĵ\_s*\|\_s*[᷺]\|\_s*\|\_s*\|F\_s*i\_s*g\_s*u\_s*r\_s*e\|\_s*\|G\_s*\%(\_s*\|\_s*\)\|D\_s*y\|\_s*\%(\_s*\|\_s*\)\|\_s*\|\_s*\|\_s*\|2\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|J\_s*\%(I\_s*S\_s*\_s*\_s*\|\_s*\_s*\|R\_s*\_s*\_s*\)\|\_s*\|\_s*\_s*ʺ\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\|\_s*\)\|\_s*ī\|\_s*\|Ƚ\_s*\|ϳ\_s*\|\_s*\|Ĺ\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\|\_s*Τ\|\_s*[ϴ崽]\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|\_s*\%(\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\|\_s*\%(\|\_s*[ʷ]\|\_s*\|\_s*\|\_s*\)\|\_s*\|\_s*\|ɳ\_s*\|1\_s*\%(0\|1\_s*\|8\_s*\|2\_s*\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\%(\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\)\|\_s*\%(\_s*\%(\_s*\_s*\_s*\_s*\_s*\|\_s*\)\|\_s*\%(\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\_s*\)\)\)', \ } endfunction ================================================ FILE: bundle/clever-f.vim/autoload/clever_f/migemo/utf8.vim ================================================ scriptencoding utf-8 function! clever_f#migemo#utf8#load_dict() abort return { \ 'a' : '\%([ア餅母渉恤閔憐慌遽蚫鰒鮑袷淡∃主衽袵歩垤蟻麁凡塔蘭露著表霰非諍抗更検革改現競爭争洗殿鉱予豫粗嵐禮恠妖彪殺絢怪綺肖彩漢過謝謬誤礼操綾飴菴黯罨鱇鮟餡行闇按諳晏鞍暗鶩鬚鰓顎喘発肋豈嫂兄崇騰県購贖网罔咫與鼎中新邉邊辺恰頭價価値游遊畔畦堋杏梓与袙衵憬孔坑案侮窖強貴讐讎徒仇黶痣欺鮮字糾嘲薊姐姉曙炮焙炙蜚薹膏脂油危鐙虻泡蹟能痕踪跡東預聚輯纂遏蒐乢軋誂羹壓惇集陸敦暑淳篤熱扱暖温遖斡私圧焦汗央奥奧媼桜櫻塰蜑餘遍普周剰蔗余尼雨甘天凹押樗楝溢艶庵鰺網戯簣鯵味堊渥軛圷憧欠踵幄握芥齷厚漁鯏蜊蕣淺麻浅晰龝煥晢呆朖啓亮晄鑑滉昜旭聡光亨陽洸璋顯輝昿曠諦朗哲顕彬晶賈章商穐彰晃晧昭秋噫瞹穢阨埃欸姶隘文粟曖鮎藹饗靉挨間相哀葭趾朝晨愛跛蹇跫脚蘆葦芦鐐桎足淦赫燈赧紅旃朱茜藜銅赭閼曉暁垢皹皸絳灯證暴証赤呷扇黝榮碧葵蒼煽仰青穴和或哇婀当上阿編吾在併明開韲悪荒襾痾浴唖有挙遭逢嗚敢褪娃安厭充該彼擧會飫倦合亞揚椏宛遇飽惡當あa藍金@&&∧∩論∠銀会∀空域⇔←↓⇒→↑⌒後Ц亜米¨´`^’〜≒αÅΑアаАa]\|厦\_s*門\|廈\_s*門\|沫\_s*雪\|食\_s*蟻\_s*獣\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|浣\_s*熊\|菖\_s*蒲\|豆\_s*汁\|蛙\_s*鳴\_s*蝉\_s*噪\|塩\_s*梅\|家\_s*鴨\|趺\_s*坐\|Z\_s*\%(n\|i\_s*n\_s*c\)\|浮\_s*子\|痘\_s*痕\|窪\_s*地\|糠\_s*蝦\|醤\_s*蝦\|信\_s*天\_s*翁\|左\_s*沢\|雅\_s*典\|校\_s*倉\|小\_s*豆\|四\_s*阿\|鴉\_s*\%(片\|鷺\_s*合\_s*戦\_s*物\_s*語\)\|渾\_s*名\|綽\_s*名\|化\_s*野\|翌\_s*檜\|飛\_s*[魚鳥]\|総\_s*角\|木\_s*通\|通\_s*草\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|花\_s*鶏\|我\_s*\%(妻\|孫\_s*子\)\|数\_s*多\|奄\_s*美\|灰\_s*汁\|胡\_s*[床坐座葱]\|日\_s*明\|碩\_s*宏\|祥\_s*[仁彦]\|蜻\_s*蛉\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|生\_s*憎\|匕\_s*首\|英\_s*\%([保田]\|虞\_s*湾\|賀\_s*保\)\|靄\_s*[靄々]\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(電\_s*話\|ア\_s*ド\_s*レ\_s*ス\)\|D\_s*カ\_s*ー\_s*ド\|C\_s*\%(タ\_s*グ\|カ\_s*ー\_s*ド\)\)\|I\_s*\%(P\_s*電\_s*話\|C\_s*\%(タ\_s*グ\|カ\_s*ー\_s*ド\)\)\|走\_s*目\|鹹\_s*草\|馬\_s*酔\_s*木\|海\_s*[豹人女士部驢]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|褐\_s*毛\_s*和\_s*種\|石\_s*蓴\|白\_s*馬\|水\_s*[黽馬綿]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|ト\_s*リ\_s*プ\_s*ル\_s*A\|公\_s*理\| \_s*ア\_s*ク\_s*シ\_s*ア\_s*ム\|ヒ\_s*素\|砒\_s*素\|京\_s*都\_s*高\_s*度\_s*技\_s*術\_s*研\_s*究\_s*所\|代\_s*入\|遺\_s*産\|抽\_s*象\|G\_s*o\_s*l\_s*d\|自\_s*動\_s*\%(現\_s*金\_s*取\_s*り\_s*扱\_s*い\_s*機\|預\_s*貯\_s*金\_s*機\)\|属\_s*性\|何\_s*か\|か\_s*つ\|お\_s*よ\_s*び\|セ\_s*ン\_s*ト\_s*キ\_s*ッ\_s*ツ\_s*ネ\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|使\_s*用\_s*可\_s*能\|利\_s*用\_s*可\_s*能\|算\_s*法\|割\_s*り\_s*当\_s*て\|オ\_s*\%(レ\|ギ\_s*ュ\_s*ス\_s*タ\_s*ン\|ド\_s*レ\_s*イ\|ン\_s*グ\_s*ス\_s*ト\_s*ロ\_s*ー\_s*ム\|ル\_s*\%(ト\_s*キ\_s*ー\|タ\_s*\%([ーナ]\|ネ\_s*\%(ー\_s*ト\|イ\_s*ト\)\)\)\|ー\_s*\%([クガサトラル]\|ニ\_s*ン\_s*グ\|キ\_s*シ\_s*ン\|ブ\_s*リ\_s*ー\|バ\_s*ー\_s*ド\|ベ\_s*ル\_s*ジ\_s*ュ\|ギ\_s*ュ\_s*ス\_s*\%(ト\|タ\_s*ン\)\|ゾ\_s*ン\_s*ヌ\|ス\_s*\%(チ\_s*ン\|テ\_s*ィ\_s*ン\|タ\_s*ー\|ト\_s*\%(リ\_s*ア\|ラ\_s*リ\_s*ア\)\)\|ド\_s*リ\_s*ー\|ジ\_s*\%([ェー]\|オ\_s*ロ\_s*ジ\)\|デ\_s*ィ\_s*\%(オ\|エ\_s*ン\_s*ス\|シ\_s*ョ\_s*ン\|ト\_s*リ\_s*ア\_s*ム\)\|タ\_s*ム\|ソ\_s*\%(リ\_s*テ\_s*ィ\|ラ\_s*イ\_s*ズ\)\|セ\_s*ン\_s*テ\_s*ィ\_s*ッ\_s*ク\|ロ\_s*ラ\)\)\|配\_s*列\|バ\_s*イ\_s*ト\|ハ\_s*ル\_s*マ\_s*ゲ\_s*ド\_s*ン\|引\_s*数\|人\_s*工\_s*\%(現\_s*実\_s*感\|知\_s*能\)\|イ\_s*\%(ー\_s*ジ\_s*ス\|オ\_s*ン\|ソ\_s*ッ\_s*プ\)\|マ\_s*ル\_s*ド\_s*ゥ\_s*ー\_s*ク\|紫\_s*\%(陽\_s*花\|水\_s*晶\|石\_s*英\)\|A\_s*\%([tlrImc]\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\|u\_s*s\_s*t\_s*r\_s*o\_s*b\_s*a\_s*i\_s*l\_s*e\_s*y\_s*a\_s*c\_s*e\_s*a\_s*e\|K\_s*C\_s*L\|S\_s*C\_s*I\_s*I\|s\_s*t\_s*a\_s*t\_s*i\_s*n\_s*e\|タ\_s*イ\_s*プ\|T\_s*O\_s*K\|N\_s*S\_s*I\|V\_s*シ\_s*ス\_s*テ\_s*ム\|L\_s*T\_s*キ\_s*ー\|ラ\_s*ン\_s*ク\|E\_s*R\_s*A\|D\_s*S\_s*L\_s*モ\_s*デ\_s*ム\|ド\_s*ラ\_s*イ\_s*ブ\|d\_s*a\|M\_s*ラ\_s*ジ\_s*オ\|b\_s*s\_s*t\_s*r\_s*a\_s*c\_s*t\_s* \_s*C\_s*o\_s*n\_s*t\_s*r\_s*o\_s*l\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|C\_s*ア\_s*ダ\_s*プ\_s*タ\)\|付\_s*録\|A\_s*\%([4型面]\|x\_s*o\_s*n\|B\_s*\%(型\|r\_s*o\_s*a\_s*d\)\|タ\_s*イ\_s*プ\|T\_s*&\_s*T\|t\_s*\%(o\_s*k\|h\_s*e\_s*n\_s*a\)\|ラ\_s*ン\_s*ク\|I\_s*エ\_s*キ\_s*ス\_s*パ\_s*ー\_s*ト\|/\_s*D\_s*コ\_s*ン\_s*バ\_s*ー\_s*タ\|ド\_s*ラ\_s*イ\_s*ブ\|d\_s*o\_s*b\_s*e\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|p\_s*p\_s*l\_s*e\)\|応\_s*用\|エ\_s*\%([ニメアイー]\|ッ\_s*チ\|ン\_s*\%(ド\_s*ラ\_s*ン\|ジ\_s*ェ\_s*\%(ル\|リ\_s*ッ\_s*ク\)\|ゼ\_s*ル\)\|リ\_s*ア\|オ\_s*リ\_s*ア\|ス\_s*テ\|プ\_s*ロ\_s*ン\)\)', \ 'b' : '\%([鯔鰡堀本凡盆煩梵骨凹歿鈕釦沒渤没穆睦濮樸目攴攵朴木僕墨卜牧星抱肪鵬冐氓鋩旄瑁袤儚蟒鉾貌旁网茆牟蒡甍胞謗蠎虻髦黽卯懋榜眸罔乏惘妨帽昴忙剖冒忘茅膀妄尨厖膨貿防紡滂茫望亡傍某謀暈拇保墓暮菩簿誉掘募姥謨模母干彫呆慕坊姆牡乾褒惚戊ぼ冖覓幎汨巾羃冪紅鼈瞥韈蔑塀抃遍辧瓣卞汳宀湎采辯辨辮眄冕勉娩弁邉可辺邊べ船房笛淵縁渊渕斑鞭樗椈太袋深蓋葢盖豚節勿佛物震勃蚋風鰤馼蚊聞文誣無蒲撃打不錻武振分蕪奉吹侮葺毋舞悔憮部廡嘸葡撲撫拭伏歩ぶ米謐人匹浸額鐚跛!広開繆別謬泯旻梹罎岷緡紊檳頻壜愍瓶鬢閔憫敏貧便帛辟百闢白杪″緲憑票猫鋲屏渺眇平錨苗秒描廟病尾火日媚靡糒枇贔未引琵瀰嵋備縻糜弾美眉弭濔比寐毘麋微び早速林尿針腹拂散払祓原塙蠻旛旙鑁鷭幡悗挽判棒絆版輓蕃板播礬阪坂磐番盤晩萬蛮万箱蠅芒挟伴蜂桴枹鉢撥働畠畑糞屎鼻花端離話V魅許秤筏罸魃拔閥橋走箸柱寞藐貘獏暴漠瀑麥縛博駁莫驀爆楳憊狽霾唄吠杯賣苺培煤黴貝焙賠買売陪倍梅媒跋伐末幕曝抜罰庭馬葉婆罵這化馳羽塲晴歯場芭刄刃張貼ばb“仏□■⊥下底×|‖−\∵麦ボバ][{}ブビБΒбβベb]\|ッ\_s*\%(ホ\_s*゙\|ヘ\_s*゙\|フ\_s*゙\|ヒ\_s*゙\|ハ\_s*゙\)\|ッ\_s*[ボベブビバ]\|っ\_s*[ぼべぶびば]\|ホ\_s*゙\|小\_s*火\|襤\_s*褸\|孟\_s*買\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|南\_s*瓜\|耄\_s*耋\|孑\_s*孑\|包\_s*丁\|ヘ\_s*゙\|袂\_s*別\|箆\_s*棒\|篦\_s*棒\|胼\_s*胝\|フ\_s*゙\|補\_s*任\|毒\_s*島\|醜\_s*[女男]\|山\_s*毛\_s*欅\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|布\_s*団\|茯\_s*苓\|V\_s*\%(字\|ネ\_s*ッ\_s*ク\|シ\_s*ネ\_s*マ\)\|附\_s*子\|付\_s*子\|鞦\_s*韆\|豊\_s*[前後]\|ヒ\_s*゙\|魚\_s*[籠篭]\|彌\_s*縫\|弥\_s*[漫縫]\|吃\_s*驚\|天\_s*鵞\_s*絨\|緬\_s*甸\|賓\_s*頭\_s*盧\|編\_s*木\|柏\_s*槙\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|兵\_s*[衛法]\|表\_s*紙\|拍\_s*[板子]\|ハ\_s*゙\|囃\_s*子\|巴\_s*爾\_s*幹\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|薔\_s*薇\|蟠\_s*踞\|鈑\_s*金\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|発\_s*条\|祖\_s*母\_s*さ\_s*ん\|梯\_s*子\|伯\_s*\%([林楽労]\|剌\_s*西\_s*爾\)\|莪\_s*原\|蝗\_s*虫\|飛\_s*[車蝗]\|掲\_s*示\_s*板\|プ\_s*ル\_s*コ\_s*ギ\|作\_s*業\_s*域\|オ\_s*ー\_s*ト\_s*バ\_s*イ\|基\_s*[礎底]\|フ\_s*ァ\_s*ゴ\_s*ッ\_s*ト\|背\_s*景\|北\_s*京\|ペ\_s*\%(キ\_s*ン\|テ\_s*ル\_s*ギ\_s*ウ\_s*ス\)\|臭\_s*素\|イ\_s*ギ\_s*リ\_s*ス\|B\_s*\%([面判級型y]\|細\_s*胞\|タ\_s*イ\_s*プ\|ド\_s*ラ\_s*イ\_s*ブ\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|−\_s*ス\_s*プ\_s*ラ\_s*イ\_s*ン\|l\_s*u\_s*e\_s*N\_s*o\_s*t\_s*e\|u\_s*s\_s* \_s*E\_s*r\_s*r\_s*o\_s*r\|a\_s*c\_s*h\|e\_s*l\_s*l\_s*研\|ラ\_s*ン\_s*ク\)\|ホ\_s*ウ\_s*素\|B\_s*\%([h面判級型kiae]\|C\_s*兵\_s*器\|N\_s*F\_s*(\_s*B\_s*a\_s*c\_s*k\_s*u\_s*s\_s*-\_s*N\_s*a\_s*u\_s*r\_s* \_s*F\_s*o\_s*r\_s*m\_s*)\|B\_s*C\|タ\_s*イ\_s*プ\|u\_s*r\_s*k\_s*i\_s*n\_s*a\_s* \_s*F\_s*a\_s*s\_s*o\|フ\_s*レ\_s*ッ\_s*ツ\|ド\_s*ラ\_s*イ\_s*ブ\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|M\_s*P\_s*フ\_s*ァ\_s*イ\_s*ル\|ス\_s*プ\_s*ラ\_s*イ\_s*ン\|S\_s*\%(D\|キ\_s*ー\|チ\_s*ュ\_s*ー\_s*ナ\|ア\_s*ン\_s*テ\_s*ナ\|デ\_s*ジ\_s*タ\_s*ル\)\|O\_s*X\_s*セ\_s*ッ\_s*ト\|I\_s*T\_s*N\_s*E\_s*T\|r\_s*o\_s*m\_s*i\_s*n\_s*e\|ラ\_s*ン\_s*ク\|o\_s*\%(h\_s*r\_s*i\_s*u\_s*m\|v\_s*i\_s*n\_s*e\_s* \_s*S\_s*p\_s*o\_s*n\_s*g\_s*i\_s*f\_s*o\_s*r\_s*m\_s* \_s*E\_s*n\_s*c\_s*e\_s*p\_s*h\_s*a\_s*l\_s*o\_s*p\_s*a\_s*t\_s*h\_s*y\|o\_s*k\|r\_s*o\_s*n\)\)\|硼\_s*素\)', \ 'c' : '\%([コ恐怖惟怺※米暦轉頃壼鶤袞鯤坤狠艮獻琿悃很建棍魂菎蒟滾梱溷献痕渾墾恨懇根杪王挙泥裔樸鞐熟枹醴蛩蹊徑径溢毀零錯苔拒箏亊判斷諺理断盡尽辞琴言異事今壽寿鯒冀希礫鯉拱齣狛細腓昆拳瘤鮗兄近谺応應答是爰凩兀惚榾忽輿甑腰拵拗鐺鏝昿仰慌桁袷塙頏絖冦耗亙峺效晄覯糠匣逅閧扛湊羔礦爻壙盍洸鬨浤凰閤窖缸寇岡頁傚湟汞洽崗鮫伉訌誥冓敲磽鏗椌搆肓鍠矼砿犒淆呷鵁皐黌遘昴槹蚣肱肴熕胱猴扣杲蛤狎畊昊餃哽幌鱇峇嫦烋隍恆倥徨啌吭釦闔藁絋棡遑紘稾鴿詬哮困靠皋惶紺鈩絳閘蒙冰氷郡蛟槁候楮媾溘后蝗酵嚆犢稿亢哄睾慷梗笄郊効岬肛項巷鑛洪佼狡昂叩勾喉滉糀晃剛晧曠宏控恍侯煌港皓坑皎耿膏向江膠虹巧鴻鉱衡浩興厚耕弘綱抗購講恒溝薨鋼航孝更校行肯荒高皇光好槲梏谷釛尅斛棘轂哭詰告刻酷穀⌒冴虎觚壷胯鼓児漉糊媚古娘冱虚混粉辜湖虍放葫捏鈷痩鴣瞽詁箍錮蠱蛄粐滬估雇故沽転倒漕罟餬拠超込凅誇懲琥扈袴木蝴呱乕踰弧越孤菰跨壺楜黄股肥己女戸恋兒怙瑚戀夸皷滸濾瓠去濃乎杞こセ芹鬩旃錢刋箭羶筌孅阡栫舩纎濺舛甎銛簽湶茜槧吮薦癬斬倩痊孱擶贍纖仟磚燹揃綫喘涎荐饌槫濳沾筅蟾牋苫專翦亘鐫僣韆箋僊殱殲闡賎餞羨顫甅竰糎陝踐銓閃∨潺遷銑栴剪煽譫僉瞻践跣栓疝詮銭穿尠戰僭繊腺泉嬋仙擅淺鮮専扇蘚船浅線撰宣洗選煎戦尖先忙伜倅逼狭狹蝉旋鱈薛椄絏洩卩啜泄紲攝緤§渫刹褻浙竊截窃殺説拙摂節切蓆晰威裼績蹐迹蹠跖跡螫瘠勣籍晢夕鶺雪寂∫∬碩惜析席隻甥韲嘶犀菁瀞晟貰擠睛筬淒醒齊婿撕牲齏情萋穽躋歳栖棲掣腥逝惺斉臍旌悽整凄靖製晴迫塞攻瀬急勢世畆丗糶畝堰脊せク配椚檪櫪栩椡椪箜櫟含纐婚糞癖潛潜鵠凹窪縊跟頚軛珞頸諄鞋履窟狐轡覆沓碎砕条降件頽崩屑釘莖茎陸杙杭掘崛倔鶏鐃藥擽薬楠誓梳串釧與与挫籖鯀鯨鬮籤隈熊艸嚔藾叢鏈腐鎖Ξξ茸菌楔草圀邦國国漱嗽吻腔φ劫刧粂裙勳熏皹桾皸醺崑燻訓勲葷君委钁企咥銜桑某暝峅昏冥眛鮓比闇位鞍藏暗倉廚厨涅々〃ゝヽゞ仝ヾ公曇雲蜘佝栗狂包胡俥梍枢畔鐵★玄黒徠久孔桍窶暮懼駒苦朽区眩吁繰庫垢紅呉汲宮枸劬煦口9瞿工供吼怐玖貢九惧来來區組奇句狗鳩絎嶇衢くシ埀謐Σσ蘂蕋蕊痺褥茵鵐蔀鷸鴫霑入責蔵嶌了縞嶋島凋搾澀澁渋縛暫屡柴荵凌鎬忍簧慕舖↓襪認從从.舌扱罔虐Θθ秕粃椎椣尿貎肉臠猪衣榻黙蜆恵楙誠茂成繁惻鋪陣頻閾櫁樒鹽汐潮瑟蛭疾櫛隲隰嫉蟋悉漆躾膝失室沒鎭沈滴雫賤鎮靜静顰尓爾聢乍併然◇□■◆倖幸貭叱征質柵卯滋撓品鬼鍜錏錣痼凝而拉設垂萎栞襞吝咳什導汁験記徴著印☆〇銀城報調蝨虱白濕湿標七僕楚笞霜臀退斥尻後冩寫舍者砂卸柘炙#♯暹諜喋煮這西娑沙謝紗鯱奢赦洒捨鮭瀉妁鑠抉蹟勺炸決釋皙爍昔斫蜥刳芍酌爵折癪笏赤灼綽杓石尺赭写鷓積遮舎車射斜釈社洙麈殳蛛娶娵諏鬚侏繻銖蹙俶倏菽叔蓿戚肅淑夙粛宿縮殊趣珠恤卆蟀出洲泅楸綉溲遒酬鷲駲緝葺穐蹤繍螽讐甃萩楢逎讎售岫收驟舅囚姑蓚皺鞦銹脩輯醜習羞酋聚舟秀祝袖啾拾蒐収執衆愁就臭蹴週終褶州宗集秋椶棕朱撞種修周手首酒須儁惷悛濬雋皴墫蕣順蠢舜旬浚竣峻駿逡筍瞬俊蓁畛矧縉蔘鷏齔嗔忱譛袗譖娠疹哂脣怎晉鷆臻甄槙寢岑瀋箴軫榛秦襯診鉐津駸讖紳斟唇針呻蜃賑芯瞋振殿侵薪晨辰震宸森眞愼伸慎寝晋進深審親臣鍼申心宍信真新薯墅杵岨藷黍苜渚砠狙嶼處胥蜍苴曙背緒雎蔗庶処署所暑奬簫浹橸舂艢廂陞炒鍬庠獎梢璋將厰邵摺淞訟樅筱篠燮橡愴韶咲誚峭甞鯖敞聲懾稍腫政顳枩慯殤秤湫井星廠剿妝霎蛸劭觴愀升錆鬆樵囁鷦嶂醤青従慫逍倡竦爿薔笙樟装肖菖≦<湘誦聳檣稱声裳蒋蕉嘯慴盛精霄清鈔粧彰鏘悚蕭悄瀟哨焦憔匠鍾償瘴鞘漿頌詔沼妾請唱薑庄渉障奨娼床牀椒抄聖荘宵傷性相生銷召賞猩症昭燒猖昌少尚晶憧紹祥承證笑将焼照招章詳消証硝掌商昇小昃禝稷寔矚謖觸稙軾嗇屬穡拭属燭贖囑嘱織蝕式喰蜀殖諸初触埴植食職嗜笶姉士徙誣氏思染祗時弑滲梔摯肢詩咨祉刺泗輜厶強貲若至師舐咫只施誌呰匙示指締厮啻次賜熾趾駟漬笥贄此司如沚尸髭肆祀鷙諡枝篩豕巵始妛及弛絲浸閇翅緊揣伺糸駛痣矢衰死敷恃茨旨沁嘴蚩試釶俟瓷觜廝緇祠梓址詞之使獅志歯紫雌姿諮占絞視嗣識四恣阯侈幟卮凍史領竢市巳齒偲資止謚耆覗脂芝痴粢孜仕錙耜齎自屎茲岐〆嗤砥知私仔しカ糜癢粥痒麹輕骨業軽鰔鰈餉通瓶龜甕亀鴈獵鳫殯K猟雁釀鳧鳬髢氈鴨躱巛側厠廁磧瓦獺翡為裘皮〜紮→搦苧碓柄體軆躰躯身体鴉犂烏絡空唐榧茅揀坎澗扞莟丱拑盥嫺鑵蒄瞰淦稈康繝懽憾骭戡奐啣厂鐶讙澣羮寰羹嫻杆鸛歡豢歛罕酣陷皖篏捍瀚勸撼驩卷樌潤觀橄涵渙堪巫覡鉋随萱簪舘艱咸翰柬悍駻燗槓浣邯攷稽宦考棺潅閂煥鉗疳癇函凾鹹緘桓款箝諌諫轗旱坩侃鰥 館莞橇韓患灌勧菅奸刊柑肝看桿干緩寒嵌廣広竿貫巻敢漢環間陥喚閑監喊歓甘寛管慣完汗艦乾幹官観壁椛屍姓庇鞄芳蔓千鯑一勘蜻⊃影陰蔭景*棧梯筧庚辛柧門廉癩乞Κ川κ合’)〈《‘“”}{》〉囓柁鮖悴舵鰍梶錺餝飾篭籠還歸卻皈孵省顧槭楓却帰反返督髮帋守祇韮主裃雷髪紙鉦曲矩予鐘樺沫偏騙語潟刀模象仇固硬傍難容忝辱頑形方旁型肩風幽滓翳微掠綛纃絣緕擦糟鎹粕春轄戞劼猾瞎恰蛞∧蠍擔濶筈剋蝎曷羯喝餓聒鞨黠刮蘰鬘桂闊括嘗捷豁渇担滑松堅鰹功割戛活暈疽鵲瘡傘嵩重襲葛笠堵硴墻牆蠣蛎柿關掲罹抱踵嬶嚊拘関係貌顏郁薫顔母感釡罐窰鴎框叺喧竃竈窯釜缶蒲鎌數数槝栢膳傅畏賢橿姦樫爨炊圍喞託囲鈎『鉤「』」限鍵(傾禿蕪鏑頭齧被兜敵適哉必要称鼎鬲彜彝叶片悲哀愛鋺蛇鉄蜩神奏金楫裹磆餅徒褐糧粮膈覺∠埆蠖貉幗隱擴寉骼癨壑咯椁嚇茖愨槨膕掴覈殼穫狢霍礁恪擱匿撹攪喀廓較郭]】【〔〕[殻挌劃閣格隠覚矍革獲馘攫核鶴拡客隔角確蠏壞畍丐獪褂恠喙峡夬觧械揩醢匯廨誡誨嵬櫂隗茴徊迴枴懈价椢榿囘蛙瑰乖浬鰄傀糴柏街鳰懷蛔蠶蚕邂蟹潰壊恢腕芥垣楷會拐悔詼諧皆界疥魁偕改繪貝胛絵甲快灰槐晦懐介回塊解階廻戒開会怪海縢篝炬耀赫輝冠鑒鑑各屈鏡和代茄缺飼嫁華堝變狩上訶架何啝火日菓欠苅繋稼ヶ个噛譁科跏舸賭禍支窩課花刈渦嚼掛呵替葭柯畫駆嘩崋化霞蝌迦顆価馨家借蝦罅駈斯賈嘉易果戈廈哥買闕且克墟靴訛驅換踝描軻嗅價嗄可彼夥香歌河珂鹿個痂書假荷耶笳咼藉糅舁搗渮袈下萪貸厦禾貨咬寡箇卦苛譌枷掻過画ヵ黴遐兼醸翔仮佳蚊懸伽賀淅勝涸苟蝸謌夏枯暇かc・…塩閉倶錫呼∩取籐加交бТуЖоВЙЗзжЪЯУИвяшфлСКрпХЁОЭРФЫЩъБыШйхМкПгдмцНЛёаиэетАГЬюЕЮсьнщД♪┼╋×╂┿○●◎銅∪χΧ子чЧ株Ц珈、,色ク衝競構簡制≡変接カ┐┘┗┏┓┌┛└正コ¢シ℃セc]\|ッ\_s*[コセクシカ]\|ッ\_s*[コセクシカ]\|っ\_s*[子こせくしか]\|焜\_s*炉\|嫡\_s*妻\|二\_s*合\_s*半\|牛\_s*尾\_s*魚\|巨\_s*勢\|独\_s*楽\|居\_s*士\|特\_s*牛\|粫\_s*門\|甦\_s*生\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|傴\_s*僂\|A\_s*\%(r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|p\_s*i\_s*a\_s*l\_s*e\_s*s\)\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|台\_s*詞\|懺\_s*法\|前\_s*[妻栽]\|妹\_s*尾\|嘲\_s*笑\|儕\_s*輩\|斎\_s*次\|済\_s*[民々済]\|蒸\_s*[籠篭]\|救\_s*世\|莎\_s*草\|百\_s*[濟済]\|恭\_s*敬\|9\_s*[日月]\|秧\_s*鶏\|究\_s*竟\|釉\_s*掛\|典\_s*薬\_s*寮\|探\_s*湯\|球\_s*磨\|六\_s*合\|地\_s*祇\|都\_s*子\|群\_s*衆\|慈\_s*姑\|旧\_s*\%(訳\|唐\_s*書\)\|内\_s*蔵\_s*助\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|老\_s*舗\|望\_s*潮\|健\_s*か\|L\_s*a\_s*\%(u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|b\_s*i\_s*a\_s*t\_s*a\_s*e\)\|埋\_s*葬\_s*虫\|幣\_s*原\|卓\_s*袱\|桎\_s*梏\|柳\_s*葉\_s*魚\|蠹\_s*魚\|汚\_s*点\|惠\_s*雄\|舗\_s*石\|磯\_s*城\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|倭\_s*文\|云\_s*[々云]\|明\_s*\%(々\_s*後\_s*日\|明\_s*後\_s*日\)\|7\_s*月\|7\_s*月\|文\_s*月\|4\_s*月\|4\_s*[分月]\|竹\_s*[篦刀]\|羊\_s*[齒歯]\|爲\_s*\%([留難置果送極手兼合業]\|ん\_s*方\|來\_s*り\|納\_s*め\)\|I\_s*\%(l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|素\_s*[魚人面]\|不\_s*[忍知]\|注\_s*連\|軍\_s*鶏\|髑\_s*髏\|三\_s*\%(味\|鞭\_s*酒\)\|吃\_s*逆\|差\_s*[別異]\|叉\_s*手\|輸\_s*[出贏]\|卒\_s*去\|B\_s*r\|隼\_s*[朗郎]\|笋\_s*[干羹]\|参\_s*差\|財\_s*産\|枌\_s*所\|縦\_s*容\|睫\_s*毛\|M\_s*\%(e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|u\_s*s\_s*a\_s*l\_s*e\_s*s\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|S\_s*\%([eg]\|p\_s*e\_s*r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*i\_s*t\_s*a\_s*m\_s*i\_s*n\_s*e\_s*a\_s*e\)\|続\_s*\%(日\_s*本\_s*\%(紀\|後\_s*紀\)\|後\_s*撰\_s*和\_s*歌\_s*集\)\|離\_s*れ\_s*離\_s*れ\|掃\_s*部\|羚\_s*羊\|土\_s*器\|蝙\_s*蝠\|魚\_s*狗\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|o\_s*\%(t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\|d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\)\)\|連\_s*枷\|枳\_s*殻\|機\_s*関\|落\_s*葉\_s*松\|凵\_s*繞\|檻\_s*車\|顴\_s*骨\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|南\_s*瓜\|量\_s*子\|山\_s*\%(海\_s*経\|梔\_s*子\|陽\_s*道\)\|蜉\_s*蝣\|陽\_s*炎\|破\_s*片\|脚\_s*気\|旗\_s*魚\|鍛\_s*[治冶]\|挿\_s*頭\|駕\_s*\%(籠\|輿\_s*丁\)\|長\_s*[月官]\|剃\_s*刀\|天\_s*\%(牛\|鼠\_s*矢\)\|帷\_s*子\|酢\_s*漿\_s*草\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|飛\_s*[沫白]\|曾\_s*て\|曽\_s*て\|燕\_s*子\_s*花\|牡\_s*[蛎蠣]\|民\_s*部\|部\_s*曲\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|案\_s*山\_s*子\|梭\_s*\%(魚\|子\_s*魚\)\|蟷\_s*螂\|螳\_s*螂\|瓜\_s*\%(田\|呂\_s*根\)\|拍\_s*手\|瑕\_s*[瑾疵]\|東\_s*\%([風雲]\|海\_s*林\|京\_s*都\_s*立\_s*科\_s*学\_s*技\_s*術\_s*大\_s*学\)\|気\_s*[質触]\|(\_s*株\_s*)\|贏\_s*ち\_s*得\|歩\_s*兵\|恁\_s*く\|杜\_s*\%(若\|父\_s*魚\)\|梅\_s*花\_s*皮\|頴\_s*田\|膾\_s*炙\|契\_s*経\|中\_s*央\_s*処\_s*理\_s*装\_s*置\|伊\_s*藤\_s*忠\_s*テ\_s*ク\_s*ノ\_s*サ\_s*イ\_s*エ\_s*ン\_s*ス\|分\_s*類\|ス\_s*リ\_s*ー\_s*ズ\|範\_s*疇\|ト\_s*ラ\_s*ン\_s*プ\|水\_s*[鶏母夫手晶]\|複\_s*雑\_s*命\_s*令\_s*セ\_s*ッ\_s*ト\_s*計\_s*算\_s*機\|サ\_s*\%(ン\_s*チ\_s*ー\_s*ム\|エ\_s*ラ\|イ\_s*\%(ト\_s*カ\_s*イ\_s*ン\|ラ\_s*ス\|ク\_s*\%([ルロ]\|リ\_s*\%(ン\|ッ\_s*ク\)\)\|ボ\_s*\%(ウ\_s*ズ\|ー\_s*グ\)\|バ\_s*\%(ー\|ネ\_s*テ\_s*ィ\_s*\%(ッ\_s*ク\|ク\_s*ス\)\)\|リ\_s*ュ\_s*ー\_s*ム\|ダ\_s*ー\|フ\_s*ァ\_s*ー\|ネ\_s*リ\_s*ア\)\|ー\_s*\%(テ\_s*ィ\_s*フ\_s*ィ\_s*ケ\_s*ー\_s*シ\_s*ョ\_s*ン\|ク\_s*ル\|カ\_s*\%(ス\|ム\_s*ス\_s*ク\_s*\%(ラ\_s*イ\_s*ブ\|リ\_s*プ\_s*シ\_s*ョ\_s*ン\)\)\|キ\_s*\%(ュ\_s*\%(ラ\_s*ー\|レ\_s*ー\_s*\%(タ\_s*ー\|シ\_s*ョ\_s*ン\)\)\|ッ\_s*ト\)\)\)\|マ\_s*ド\_s*ラ\_s*ス\|茶\_s*筅\|ケ\_s*\%([月アイ]\|フ\_s*ェ\_s*ウ\_s*ス\|プ\_s*ス\_s*ト\_s*ラ\_s*[ムル]\|チ\_s*ャ\_s*ッ\_s*プ\|ン\_s*\%(タ\_s*ウ\_s*\%(リ\|ロ\_s*ス\)\|ブ\_s*リ\_s*ッ\_s*ジ\)\|ー\_s*\%([キジブプスン]\|ク\_s*ウ\_s*ォ\_s*ー\_s*ク\|ソ\_s*ン\|タ\_s*リ\_s*ン\_s*グ\|パ\_s*\%(ー\|ビ\_s*リ\_s*テ\_s*ィ\)\|シ\_s*ン\_s*グ\|リ\_s*ー\)\|ル\_s*\%(ト\|ベ\_s*ロ\_s*ス\|テ\_s*ィ\_s*ッ\_s*ク\|ビ\_s*\%(ム\|ー\_s*ニ\)\)\|ミ\_s*\%(カ\_s*ル\|ス\_s*ト\)\)\|キ\_s*\%(ヤ\_s*ノ\_s*ン\|プ\_s*ロ\_s*ス\|ケ\_s*ロ\|ュ\_s*\%([イーア]\|ヴ\_s*ェ\|ビ\_s*\%(ズ\_s*ム\|ス\_s*ム\)\|ロ\_s*\%(ス\|ッ\_s*ト\)\|レ\_s*ー\_s*タ\_s*ー\|ラ\_s*ソ\_s*ー\|リ\_s*\%(ー\|ウ\_s*ム\|ア\_s*ス\|オ\_s*シ\_s*テ\_s*ィ\)\)\|ア\_s*\%(ラ\|ー\_s*ラ\|ン\_s*テ\_s*ィ\)\|チ\_s*ン\|ト\_s*サ\_s*ン\|メ\_s*ラ\|マ\_s*イ\_s*ラ\|ッ\_s*カ\|レ\_s*ー\_s*ト\|ャ\_s*\%([ドパスブンラ]\|デ\_s*\%(ィ\|ラ\_s*ッ\_s*ク\)\|ビ\_s*\%([アンネ]\|テ\_s*\%(ィ\|ー\_s*シ\_s*ョ\_s*ン\)\)\|ベ\_s*ツ\|バ\_s*\%(リ\_s*[エア]\|レ\_s*ー\)\|ト\_s*ル\|シ\_s*ー\|サ\_s*リ\_s*ン\|タ\_s*ピ\_s*ラ\|ピ\_s*\%(ト\_s*ル\|タ\_s*\%(ル\|リ\_s*ズ\_s*ム\)\)\|プ\_s*\%(ラ\|シ\_s*ョ\_s*ン\|テ\_s*ン\|チ\_s*ャ\)\|セ\_s*\%(イ\|ロ\_s*ー\_s*ル\)\|ッ\_s*\%([ツトチプ]\|サ\_s*バ\|ス\_s*ル\|シ\_s*\%(ュ\|ン\_s*グ\|ャ\_s*\%(ー\|ブ\_s*ル\)\)\)\|ニ\_s*\%(オ\_s*ン\|ス\_s*タ\_s*ー\)\|ナ\_s*ル\|ノ\_s*\%(ン\|ー\_s*ラ\|ピ\_s*ー\)\|ミ\_s*ソ\_s*ー\_s*ル\|メ\_s*\%(ル\|ロ\_s*\%(ン\|ッ\_s*ト\)\)\|ロ\_s*\%(ル\|ウ\_s*ェ\_s*イ\|リ\_s*ン\|ラ\_s*イ\_s*[ンナ]\|ッ\_s*ト\)\|レ\_s*ッ\_s*ト\|リ\_s*\%([コーア]\|バ\_s*ー\|ブ\_s*レ\_s*ー\_s*シ\_s*ョ\_s*ン\|ッ\_s*ジ\|ン\_s*グ\)\|ズ\_s*ム\)\|リ\_s*\%(コ\|ス\_s*ト\|シ\_s*タ\_s*ン\)\)\|総\_s*角\|チ\_s*\%([タリンマア]\|ワ\_s*ワ\|ラ\_s*ー\|ル\_s*ド\|ム\_s*ニ\_s*ー\|コ\_s*リ\|ッ\_s*\%([プク]\|テ\_s*リ\_s*オ\|タ\_s*ゴ\_s*ン\)\|キ\_s*\%(ン\|ー\_s*タ\)\|ュ\_s*\%(ア\_s*ブ\_s*ル\|ー\_s*イ\_s*ン\_s*ガ\_s*ム\)\|ー\_s*\%([フトプクズ]\|パ\_s*ー\|タ\_s*ー\)\|ェ\_s*\%([ロスカコアン]\|ザ\_s*\%(レ\|ー\_s*レ\)\|ル\_s*\%(ニ\_s*ー\|シ\_s*ー\|ノ\_s*ブ\_s*イ\_s*リ\)\|リ\_s*\%(ー\|ス\_s*ト\|ッ\_s*シ\_s*ュ\|モ\_s*ヤ\)\|レ\_s*\%(ス\_s*タ\|ン\_s*コ\_s*フ\)\|ビ\_s*チ\_s*ェ\_s*フ\|ダ\_s*ー\|チ\_s*ェ\_s*ン\|ッ\_s*\%([トクカ]\|キ\_s*ン\_s*グ\)\|イ\_s*\%([スン]\|ニ\_s*ー\|サ\_s*ー\|シ\_s*ン\_s*グ\)\|ー\_s*\%(ン\|ザ\_s*レ\|ホ\_s*フ\)\)\|ャ\_s*\%([オフドインコリウ]\|ツ\_s*ネ\|ク\_s*ラ\|プ\_s*タ\_s*ー\|パ\_s*テ\_s*ィ\|ペ\_s*\%(ル\|ッ\_s*ク\)\|チ\_s*ャ\|ネ\_s*\%(ル\|ラ\_s*ー\|リ\_s*ン\_s*グ\)\|ッ\_s*\%([クト]\|ピ\_s*ー\|プ\_s*\%(マ\_s*ン\|リ\_s*ン\)\)\|タ\_s*\%(レ\_s*[イー]\|リ\_s*ン\_s*グ\)\|ル\_s*マ\_s*ー\_s*ス\|レ\_s*ン\_s*ジ\|モ\_s*ロ\|ー\_s*\%([チタトムジ]\|ビ\_s*ル\|ミ\_s*\%(ー\|ン\_s*グ\)\|リ\_s*ー\|ル\_s*\%([ズス]\|ト\_s*ン\)\)\|ラ\_s*ン\_s*ゴ\)\|ョ\_s*\%([ンコ]\|イ\_s*ス\|ム\_s*ス\_s*キ\_s*ー\|ー\_s*\%(ク\|サ\_s*ー\|カ\_s*ー\|キ\_s*ン\_s*グ\)\|ゴ\_s*リ\|ッ\_s*\%(プ\|ピ\_s*ー\|パ\_s*ー\)\|リ\_s*ソ\)\)\|座\_s*標\|喜\_s*劇\|互\_s*換\|共\_s*\%(通\|産\_s*主\_s*義\_s*者\)\|継\_s*続\|C\_s*\%([srfdDeRoa]\|言\_s*語\|型\_s*肝\_s*炎\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(U\|S\_s*(\_s*C\_s*o\_s*n\_s*t\_s*i\_s*n\_s*u\_s*a\_s*t\_s*i\_s*o\_s*n\_s*-\_s*P\_s*a\_s*s\_s*s\_s*i\_s*n\_s*g\_s* \_s*S\_s*t\_s*y\_s*l\_s*e\_s*)\)\|u\_s*r\_s*i\_s*u\_s*m\|M\_s*\%(U\|ソ\_s*ン\_s*グ\)\|タ\_s*イ\_s*プ\|T\_s*\%(ス\_s*キ\_s*ャ\_s*ン\|R\_s*L\_s*キ\_s*ー\)\|シ\_s*ェ\_s*ル\|S\_s*\%(V\_s*フ\_s*ァ\_s*イ\_s*ル\|チ\_s*ュ\_s*ー\_s*ナ\|ア\_s*ン\_s*テ\_s*ナ\)\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|コ\_s*ン\_s*パ\_s*イ\_s*ラ\|C\_s*\%(R\_s*(\_s*C\_s*r\_s*e\_s*e\_s*d\_s*e\_s*n\_s*c\_s*e\_s* \_s*C\_s*l\_s*e\_s*a\_s*r\_s*w\_s*a\_s*t\_s*e\_s*r\_s* \_s*R\_s*e\_s*v\_s*i\_s*v\_s*a\_s*l\_s*)\|D\_s*カ\_s*メ\_s*ラ\)\|ド\_s*ラ\_s*イ\_s*ブ\|+\_s*+\|L\_s*\%(X\|O\_s*S\|I\_s*S\_s*P\)\|E\_s*S\_s*P\|A\_s*\%(D\|S\_s*[LE]\)\|ラ\_s*ン\_s*ク\|I\_s*S\_s*C\|h\_s*\%(l\_s*o\_s*r\_s*\%(a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\_s*e\)\|r\_s*o\_s*m\_s*i\_s*u\_s*m\|a\_s*S\_s*e\_s*n\)\|O\_s*\%(B\_s*O\_s*L\|N\_s*T\_s*R\_s*O\_s*L\_s*キ\_s*ー\)\)\|ツ\_s*\%(ァ\_s*ー\|ィ\_s*リ\_s*ル\|ェ\_s*\%(ー\|ル\_s*ニ\_s*ー\|ラ\_s*ン\)\)\|炭\_s*素\|C\_s*\%([型m]\|M\_s*ソ\_s*ン\_s*グ\|タ\_s*イ\_s*プ\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|d\_s*S\|D\_s*−\_s*R\_s*O\_s*M\|ド\_s*ラ\_s*イ\_s*ブ\|+\_s*+\|ラ\_s*ン\_s*ク\|O\_s*2\|o\_s*C\_s*\%(o\|O\_s*ス\_s*ト\_s*ア\)\|言\_s*語\)\)', \ 'd' : '\%([共吃巴鑼錚鶏鳥響嫩緞丼呑曇貪鈍肭遠蚌溝鄰隣塢床処所年時鯲鰍鰌得徳讀獨髑毒読僮働萄桐閙ゞ嫐橈儂陶耨撓通鐃藤々恫瞳憧鬧⇔≡撞慟導〃仝洞堂瞠獰艟胴銅童動同道何弩怒退呶度堵奴解留融録取駑孥努戸止土ど瓰竕凸竍籵瓧禰泥捏溺寺鈿佃甸黏沺畋淀棯澱臀傳殿電照でヅ鶴辛強妻綱勤伝包筒做造作尽机月冢塚遣疲使突吊付漬津詰図積釣連づヂ中近力地痔持ぢ種棚倒濃彩逹畳諾゛濁玉默球魂騙谷館舘点岳嶽竹高凧蛸怛妲獺奪脱廼迺弟岱臺餒梯戴平内醍橙][題>≧第台代大鱈頼便誰樽懶怠灘斷椴黙旦煖彈暖談段断檀団團壇弾男抱舵橢炊佗堕荼拿打娜蛇楕陏駄唾拏雫沱立儺柁鴕溜妥朶陀墮駝出垂惰懦建兌澑田騨だd直◎.丶、,‥\.・…$“”↓†‡―┤達℃°独ド÷◇◆ダジДデΔδд∂d]\|ッ\_s*\%(ト\_s*゙\|テ\_s*゙\|ツ\_s*゙\|チ\_s*゙\|タ\_s*゙\)\|ッ\_s*[ドデヅヂダ]\|っ\_s*[どでづぢだ]\|ト\_s*゙\|都\_s*々\_s*逸\|褞\_s*袍\|S\_s*a\_s*u\_s*r\_s*u\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|C\_s*\%(u\|o\_s*p\_s*p\_s*e\_s*r\)\|満\_s*天\_s*星\|豆\_s*腐\|如\_s*何\|テ\_s*゙\|刑\_s*事\|粘\_s*葉\_s*装\|手\_s*間\|木\_s*偶\|丁\_s*[稚抹]\|蝸\_s*牛\|ツ\_s*゙\|頭\_s*[腦痛]\|チ\_s*゙\|調\_s*子\|茶\_s*碗\|知\_s*恵\|忸\_s*怩\|タ\_s*゙\|忠\_s*幸\|壁\_s*蝨\|伊\_s*達\|山\_s*車\|韃\_s*靼\|提\_s*婆\_s*達\_s*多\|太\_s*\%([刀宰鼓]\|平\_s*広\|上\_s*天\_s*皇\|政\_s*\%(官\|大\_s*臣\)\)\|乃\_s*[公毅]\|体\_s*操\|葮\_s*竹\|演\_s*\%(し\_s*物\|繹\_s*デ\_s*ー\_s*タ\_s*ベ\_s*ー\_s*ス\)\|コ\_s*ロ\_s*ン\_s*ビ\_s*ア\|ズ\_s*\%(ロ\_s*ー\_s*ス\|ッ\_s*ク\)\|イ\_s*ル\_s*カ\|医\_s*者\|博\_s*士\|文\_s*書\|行\_s*列\_s*式\|発\_s*見\_s*す\_s*る\|ハ\_s*ー\_s*グ\|拒\_s*否\_s*さ\_s*れ\_s*た\|破\_s*壊\_s*\%(者\|す\_s*る\)\|消\_s*滅\_s*子\|記\_s*述\_s*子\|D\_s*\%(論\|タ\_s*イ\_s*プ\|ド\_s*ラ\_s*イ\_s*ブ\|カ\_s*ッ\_s*プ\|C\_s*ブ\_s*ラ\_s*ン\_s*ド\|y\_s*l\_s*a\_s*n\|ラ\_s*ン\_s*ク\|a\_s*i\_s*s\_s*y\|e\_s*m\_s*a\_s*c\_s*s\)\|十\_s*進\_s*数\|ゼ\_s*ッ\_s*ケ\_s*ン\|復\_s*号\_s*化\|省\_s*略\|金\_s*剛\_s*石\|辞\_s*書\|D\_s*\%(b\|タ\_s*イ\_s*プ\|T\_s*\%(E\|P\_s*ソ\_s*フ\_s*ト\|M\_s*ソ\_s*フ\_s*ト\)\|M\_s*A\|ド\_s*ラ\_s*イ\_s*ブ\|カ\_s*ッ\_s*プ\|C\_s*\%(カ\_s*ー\_s*ド\|ブ\_s*ラ\_s*ン\_s*ド\)\|u\_s*b\_s*n\_s*i\_s*u\_s*m\|B\_s*\%(M\_s*S\|サ\_s*ー\_s*バ\)\|H\_s*C\_s*P\_s*\%(サ\_s*ー\_s*バ\|ク\_s*ラ\_s*イ\_s*ア\_s*ン\_s*ト\)\|y\_s*\%(s\_s*p\_s*r\_s*o\_s*s\_s*i\_s*u\_s*m\|l\_s*a\_s*n\)\|r\_s* \_s*P\_s*e\_s*p\_s*p\_s*e\_s*r\|ラ\_s*ン\_s*ク\|V\_s*D\_s*\%(ボ\_s*ッ\_s*ク\_s*ス\|シ\_s*ョ\_s*ッ\_s*プ\|ケ\_s*ー\_s*ス\|デ\_s*ッ\_s*キ\|ド\_s*ラ\_s*イ\_s*ブ\|オ\_s*ー\_s*デ\_s*ィ\_s*オ\|プ\_s*レ\_s*\%(ー\_s*ヤ\_s*ー\|イ\_s*ヤ\_s*ー\)\|ラ\_s*ッ\_s*ク\|レ\_s*コ\_s*ー\_s*ダ\_s*ー\|マ\_s*ル\_s*チ\|ビ\_s*デ\_s*オ\)\|O\_s*S\|o\_s*\%(c\_s*u\_s*m\_s*e\_s*n\_s*t\_s* \_s*\%(T\_s*y\_s*p\_s*e\_s* \_s*D\_s*e\_s*f\_s*i\_s*n\_s*i\_s*t\_s*i\_s*o\_s*n\|O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\)\|C\_s*o\_s*M\_s*o\)\|e\_s*\%(g\_s*e\_s*n\_s*e\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|l\_s*a\_s*w\_s*a\_s*r\_s*e\)\|E\_s*\%(C\|L\_s*キ\_s*ー\)\|I\_s*\%(P\_s*ス\_s*イ\_s*ッ\_s*チ\|S\_s*K\)\|i\_s*\%(r\_s*e\_s*c\_s*t\_s* \_s*M\_s*e\_s*m\_s*o\_s*r\_s*y\_s* \_s*A\_s*c\_s*c\_s*e\_s*s\_s*s\|s\_s*t\_s*r\_s*i\_s*c\_s*t\_s* \_s*o\_s*f\_s* \_s*C\_s*o\_s*l\_s*u\_s*m\_s*b\_s*i\_s*a\|g\_s*i\_s*t\_s*a\_s*l\)\)\)', \ 'e' : '\%([エ瘧腮偉鰓衿撰襟掾圜鹽垣檐媛爰捐¥覃黶篶湲蜒讌簷櫞悁渊轅渕閼魘薗艷鳶鴛焉嫣宛閻衍臙閹槐⌒援筵淹厭寃淵掩烟嚥圓沿宴蜿奄袁煙艶焔炎怨鉛園苑偃冤延婉遠堰燕演塩円縁刔刳抉猿狗描択鰕箙蛯蝦狄貊胡戎夷乢靨鉞噎戉咽粤桟悦閲謁奕伯懌亦蜴掖繹越役驛疫易益腋駅液殪纓裔曵頴洩瓔潁贏珱衡娃翳營瑩咏楹塋蠑瀛睿泳縊榮瑛暎曳盈郢影詠穎嬰鋭叡映営栄永衞衛得絵荏懷畫枝江繪衣猥慧惠獲回依會重柄杖餌榎画恵笑会囘選え━─┳┬┯┰┸┷┻┴Фф=⇔≡∈∋РрМмeН→英∃式!ΗηсСлЛΕЭεэエe]\|A\_s*\%([面判型級]\|V\_s*\%(機\_s*器\|女\_s*優\)\|B\_s*\%(型\|C\_s*順\)\)\|A\_s*\%([面判型級]\|V\_s*\%(機\_s*器\|女\_s*優\)\|B\_s*型\)\|M\_s*サ\_s*イ\_s*ズ\|M\_s*サ\_s*イ\_s*ズ\|豪\_s*物\|L\_s*\%(サ\_s*イ\_s*ズ\|L\_s*サ\_s*イ\_s*ズ\)\|L\_s*\%(サ\_s*イ\_s*ズ\|L\_s*\%(サ\_s*イ\_s*ズ\|教\_s*室\)\)\|羨\_s*道\|豌\_s*豆\|C\_s*\%(l\|h\_s*l\_s*o\_s*r\_s*i\_s*n\_s*e\)\|似\_s*\%(非\|而\_s*非\)\|桧\_s*原\_s*湖\|烏\_s*帽\_s*子\|吉\_s*方\|胞\_s*衣\|淮\_s*南\_s*子\|埃\_s*及\|干\_s*支\|岐\_s*路\|支\_s*繞\|壊\_s*[疽死]\|葡\_s*萄\|蛭\_s*子\|愛\_s*\%([理莉媛]\|知\_s*川\)\|N\_s*極\| \_s*n\_s* \_s*角\_s*形\|N\_s*\%([個極響]\|次\_s*元\|H\_s*K\_s*ホ\_s*ー\_s*ル\)\|斉\_s*魚\|兄\_s*鼓\|ヱ\_s*ス\_s*ビ\_s*ー\_s*食\_s*品\|S\_s*\%([波字席極]\|サ\_s*イ\_s*ズ\|N\_s*比\|F\_s*小\_s*説\)\|S\_s*\%([式極]\|サ\_s*イ\_s*ズ\|N\_s*比\|F\_s*小\_s*説\)\|穢\_s*[多土]\|X\_s*\%([軸脚]\|O\_s*醤\|染\_s*色\_s*体\)\|X\_s*\%([軸脚線]\|染\_s*色\_s*体\)\|海\_s*\%(老\|鷂\_s*魚\)\|帝\_s*都\_s*高\_s*速\_s*度\_s*交\_s*通\_s*営\_s*団\|ワ\_s*ー\_s*ク\_s*ス\_s*テ\_s*ー\_s*シ\_s*ョ\_s*ン\|欧\_s*\%(州\|羅\_s*巴\)\|歐\_s*\%(州\|羅\_s*巴\)\|ヨ\_s*ー\_s*ロ\_s*\%(ピ\_s*ア\_s*ン\|ッ\_s*パ\)\|ユ\_s*\%(ア\_s*ン\|ウ\_s*ロ\_s*ピ\_s*ウ\_s*ム\|リ\_s*イ\_s*カ\|ー\_s*\%(ロ\|ノ\_s*ス\|ニ\_s*ス\|ジ\_s*\%(ン\|ー\_s*ン\)\|ド\_s*ラ\|レ\_s*カ\|ラ\_s*\%(ス\|シ\_s*ア\)\|フ\_s*\%(ラ\_s*テ\_s*ス\|ォ\_s*\%(リ\_s*ア\|ニ\_s*ア\_s*ム\)\)\|ク\_s*リ\_s*ッ\_s*ド\|カ\_s*リ\)\)\|編\_s*集\|強\_s*調\|電\_s*子\_s*メ\_s*\%(イ\_s*ル\|ー\_s*ル\)\|発\_s*展\|評\_s*価\_s*す\_s*る\|符\_s*号\_s*化\|百\_s*科\_s*事\_s*典\|カ\_s*プ\_s*セ\_s*ル\_s*化\|オ\_s*\%(ー\|イ\_s*\%(ラ\_s*ー\|ゲ\_s*ン\)\)\|実\_s*行\|拡\_s*張\|例\_s*外\|感\_s*嘆\_s*符\|E\_s*\%(P\_s*O\|ド\_s*ラ\_s*イ\_s*ブ\|D\_s*ベ\_s*ー\_s*タ\|m\_s*a\_s*c\_s*s\|カ\_s*ッ\_s*プ\|a\_s*s\_s*t\|x\_s*e\_s*r\_s*c\_s*i\_s*s\_s*e\|タ\_s*イ\_s*プ\)\|ア\_s*\%([ンイ]\|ニ\_s*ド\|ー\_s*\%([マスル]\|ウ\_s*ィ\_s*ン\|ラ\_s*ン\|ニ\_s*ー\|ネ\_s*ス\_s*ト\|ミ\_s*ン\|シ\_s*ー\|リ\_s*ー\)\)\|設\_s*立\|E\_s*\%(r\|O\_s*F\|u\_s*\%(p\_s*o\_s*m\_s*a\_s*t\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|r\_s*o\_s*p\_s*i\_s*u\_s*m\)\|U\_s*C\_s*コ\_s*ー\_s*ド\|P\_s*レ\_s*コ\_s*ー\_s*ド\|ド\_s*ラ\_s*イ\_s*ブ\|d\_s*i\_s*t\_s*i\_s*n\_s*g\_s* \_s*M\_s*A\_s*C\_s*r\_s*o\_s*S\|メ\_s*ー\_s*ル\|-\_s*m\_s*a\_s*i\_s*l\|カ\_s*ッ\_s*プ\|コ\_s*マ\_s*ー\_s*ス\|N\_s*T\_s*E\_s*R\_s*キ\_s*ー\|タ\_s*イ\_s*プ\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\|S\_s*\%(P\|C\_s*キ\_s*ー\)\|l\_s*k\|m\_s*a\_s*c\_s*s\)\|イ\_s*\%([ブヴアラー]\|ジ\_s*ェ\_s*ク\_s*ト\|フ\_s*ェ\_s*ク\_s*[トタ]\|コ\_s*\%(ー\_s*ル\|ラ\_s*イ\_s*[ズザ]\)\|プ\_s*シ\_s*ロ\_s*ン\|ミ\_s*ュ\_s*レ\_s*\%(ー\_s*[トタ]\|イ\_s*タ\)\|ベ\_s*ン\_s*\%(ト\|タ\_s*ー\)\|ノ\_s*ッ\_s*ク\|ネ\_s*ー\_s*ブ\_s*ル\|ギ\_s*リ\_s*ス\|ン\_s*グ\_s*\%(ラ\_s*ン\_s*ド\|リ\_s*ッ\_s*シ\_s*ュ\)\|ッ\_s*チ\|ヤ\_s*\%(ー\|リ\_s*ン\_s*グ\|フ\_s*ォ\_s*ン\|ホ\_s*ン\)\|グ\_s*ジ\_s*\%(ッ\_s*ト\|ス\_s*ト\)\|ク\_s*\%(ス\|ア\_s*リ\_s*テ\_s*ィ\)\|ス\_s*フ\_s*ァ\_s*ハ\_s*ン\|リ\_s*[ヤア]\|レ\_s*\%(ー\_s*\%(ス\|ザ\_s*ー\|サ\_s*ー\)\|イ\_s*\%(ン\|ザ\_s*ー\|サ\_s*ー\)\|ブ\_s*ン\)\)\|ウ\_s*\%(ー\|ジ\_s*ェ\_s*ー\_s*ヌ\)\)', \ 'f' : '\%([梺麓冬汾枌濆′吩賁刎氛雰糞褌忿墳吻紛焚扮分粉舊旧顫揮故震篩奮隹古衾襖贅燻筆鰒総惣總絃房閼鬱塞鞴章郁史艦簡札耽鰾吭笛文罧節苳蕗淦舩艙舷舟船肥太懷懐≦≠≫<>≧≪渊淵渕縁葢盖再弍蓋双藤潭蒸鯊鱶楓殕瘋封諷黻怫祓彿髴拂憤恚慍二払沸拒防蔔輹愎蝠茯箙腓⊃⊇膨脹嚢梟袋含⊂⊆袱覆輻腹幅復馥服副複福誣孚普俯更膚腐坿狂履不増拊鯆布怖赴桴巫傅婦付訃賻振負蜉罘老附吹生経觸夫俘父臥践咐敷踏斧溥阜葺深仆譜符麩匐腑榑芙賦殖冨触孵麸柎府舗噴鋪降蹈風觝埠拭鮒郛伏俛經歩苻斑畉扶趺芬呎フ飜翻ふf鉄♀∀¶富⌒金佛仏偽誤♭弗浮FФΦφфフf]\|ッ\_s*フ\|ッ\_s*フ\|っ\_s*ふ\|鞦\_s*韆\|睾\_s*丸\|陰\_s*嚢\|乱\_s*吹\|相\_s*応\|E\_s*u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\|回\_s*回\_s*教\|書\_s*司\|図\_s*書\_s*寮\|海\_s*蘿\|補\_s*\%(任\|陀\_s*[洛落]\)\|雲\_s*脂\|頭\_s*垢\|鳧\_s*鐘\|菜\_s*蕗\|款\_s*冬\|蒲\_s*団\|M\_s*y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|釜\_s*[中山]\|雙\_s*葉\|B\_s*u\_s*d\_s*d\_s*l\_s*e\_s*j\_s*a\_s*c\_s*e\_s*a\_s*e\|渓\_s*井\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|2\_s*[人つ日]\|宿\_s*酔\|2\_s*\%([人つ日]\|通\_s*り\)\|□\_s*□\_s*□\|△\_s*△\_s*△\|×\_s*×\_s*×\|○\_s*○\_s*○\|帛\_s*紗\|河\_s*豚\|比\_s*律\_s*賓\|I\_s*r\_s*o\_s*n\|極\_s*東\_s*放\_s*送\|論\_s*理\_s*式\|形\_s*式\|ホ\_s*\%(ワ\_s*イ\_s*エ\|イ\_s*ル\|ル\_s*\%(マ\_s*\%(ン\_s*ト\|リ\_s*ン\)\|ム\_s*ア\_s*\%(ミ\_s*ド\|ル\_s*デ\_s*ヒ\_s*ド\)\)\)\|一\_s*杯\|関\_s*数\|機\_s*能\|汎\_s*関\_s*数\|修\_s*正\|ヒ\_s*\%(レ\|ュ\_s*ー\_s*[ズム]\)\|1\_s*\%(/\_s*f\_s*ゆ\_s*ら\_s*ぎ\|s\_s*t\)\|第\_s*1\_s*要\_s*素\|失\_s*敗\|ハ\_s*\%(エ\|ン\_s*ブ\_s*ル\|ロ\_s*ン\)\|柔\_s*軟\_s*な\|F\_s*\%(1\|カ\_s*ッ\_s*プ\|タ\_s*イ\_s*プ\|a\_s*\%(x\|m\_s*e\)\|l\_s*a\_s*v\_s*o\_s*r\)\|周\_s*波\_s*数\|エ\_s*フ\)', \ 'g' : '\%([頃殺米諢魂權艮勤権鮴好蓙応駒若亊事琴毎如鏝埖込塵氷聲肥声腰拵心恋戀国石獄濠盒噛嗷敖軣哈壕熬刧遨拷囂轟毫傲鼇郷劫≡号豪剛梧后冴後吾寤宕珸茣児伍誤5極醐碁檎牾蜈唔篌庫娯悟忤呉期齬5互超五晤越子炬護兒瑚午沍ご〓郤鬩戟屐隙檄闃鷁撃激劇皃黥貎霓麑倪囈猊迎鯨芸藝齧囓蘖呟愿監芫痃广彦軒舷眩源儼衒絃弦験言諺現限幻玄減原蹴偈毛睨觧解実下拐夏げ靴腐種草口薬糞癖茱胡萸串嵎藕遇宮寓隅偶黒栗倉鞍蔵位昏麕羣郡群軍苦周包車狂食颶壷暮愚弘虞倶麌禺具惧壺組狗ぐ衣君嫌裂際牛崟憖斤垠岑吟銀圄禦圉馭魚嶷閠玉漁繞堯尭御曉嶢澆翹痙蟯驍僥仰業暁凝行謔瘧虐逆気義偽技切妓巍犠誼宜伎祁疑萓礒羲僞城蟻斬決擬沂議儀嶬艤着木曦犧欺戲魏祇戯ぎ川巛乾革皮側通殻辛絡柄烏鴉頷嚴阮鳫厳貫嵒偐巖岸厂⊃贋龕強翫岩鴈丸雁玩癌元願眼巌含頑上髮紙神髪鐘金係歸皈肯帰返潟方固語刀難型形鰹歹垳顔顏鎌窯蟇釜蒲蟹傘笠重號垣樫頭月合諤樂鍔壑鄂斈學齶萼愕嶽咢鰐額岳顎楽学既礙涯剴乂垓葢劾盖愾磑睚漑崕亥崖啀艾駭皚該咳階孩芥碍害鎧街凱慨概蓋骸外代峩狩我ヶ鵞駕訝変刈掛牙娥替畫駆ケ俄哦借呀果臥雅買蛾訛換河峨莪書芽貸衙画ヵ伽賀勝餓鵝が≫>g瓦≧ガゴχΕΗΣυΙΛαΨζρΒΝιΦφτλΠονψωΚΔΡδΤβΘΟπεΧΑΞσθηκΖΜξμΥΩギグゲгΓγГg]\|ッ\_s*\%(コ\_s*゙\|ケ\_s*゙\|ク\_s*゙\|キ\_s*゙\|カ\_s*゙\)\|ッ\_s*[ゴゲグギガ]\|っ\_s*[ごげぐぎが]\|コ\_s*゙\|小\_s*屋\|蒙\_s*御\_s*免\|巨\_s*頭\_s*鯨\|欣\_s*求\|独\_s*楽\|P\_s*e\_s*r\_s*s\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|瞽\_s*女\|歩\_s*行\_s*虫\|向\_s*拝\|皐\_s*月\|穀\_s*潰\|寄\_s*居\_s*虫\|降\_s*魔\|格\_s*\%([間縁]\|天\_s*井\)\|恒\_s*河\_s*沙\|江\_s*\%([津湖商州]\|談\_s*抄\)\|豆\_s*[油汁]\|ケ\_s*゙\|蚰\_s*蜒\|景\_s*色\|化\_s*粧\|鴃\_s*舌\|稽\_s*古\|懸\_s*魚\|還\_s*[向俗]\|拳\_s*[万固骨]\|喧\_s*嘩\|顕\_s*界\|ク\_s*゙\|救\_s*世\_s*菩\_s*薩\|工\_s*合\|供\_s*[奉祭香進]\|紅\_s*蓮\|キ\_s*゙\|毬\_s*杖\|岐\_s*\%([南阜]\|セ\_s*ン\)\|棋\_s*将\_s*谷\|求\_s*\%([法道肥]\|不\_s*得\_s*苦\|聞\_s*持\_s*法\)\|A\_s*g\|S\_s*\%(c\_s*r\_s*o\_s*p\_s*h\_s*u\_s*l\_s*a\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*m\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|i\_s*l\_s*v\_s*e\_s*r\)\|希\_s*臘\|杏\_s*葉\|餃\_s*子\|刑\_s*部\|カ\_s*゙\|搦\_s*み\|鑑\_s*真\|仮\_s*名\|蝦\_s*[蟆蟇]\|T\_s*y\_s*p\_s*a\_s*l\_s*e\_s*s\|鉤\_s*状\_s*部\|菓\_s*子\|甲\_s*斐\|会\_s*社\|ヌ\_s*ー\|G\_s*\%(O\_s*R\_s*O\|B\_s*y\_s*t\_s*e\|メ\_s*ン\|カ\_s*ッ\_s*プ\|タ\_s*イ\_s*プ\|ス\_s*ポ\_s*ッ\_s*ト\|パ\_s*ン\|n\_s*u\_s*s\)\|ニ\_s*ュ\_s*ー\_s*ズ\|ノ\_s*ー\_s*ム\|総\_s*司\_s*令\_s*部\|連\_s*合\_s*国\_s*軍\_s*総\_s*司\_s*令\_s*部\|ヒ\_s*ル\|ク\_s*ッ\_s*パ\|硝\_s*子\|ハ\_s*ボ\_s*ロ\_s*ー\_s*ネ\|瞿\_s*曇\|エ\_s*ー\_s*テ\_s*ボ\_s*リ\|ヨ\_s*ー\_s*テ\_s*ボ\_s*リ\|イ\_s*ェ\_s*\%(ー\_s*テ\_s*ボ\_s*リ\|テ\_s*ボ\_s*リ\)\|得\_s*る\|G\_s*\%([dae]\|o\_s*m\_s*o\_s*r\_s*t\_s*e\_s*g\_s*a\_s*c\_s*e\_s*a\_s*e\|M\_s*\%(T\|D\_s*(\_s*G\_s*e\_s*r\_s*m\_s*a\_s*n\_s* \_s*N\_s*a\_s*t\_s*i\_s*o\_s*n\_s*a\_s*l\_s* \_s*R\_s*e\_s*s\_s*e\_s*a\_s*r\_s*c\_s*h\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\_s* \_s*f\_s*o\_s*r\_s* \_s*C\_s*o\_s*m\_s*p\_s*u\_s*t\_s*e\_s*r\_s* \_s*S\_s*c\_s*i\_s*e\_s*n\_s*c\_s*e\_s*)\)\|メ\_s*ン\|C\_s*L\|c\_s*c\|カ\_s*ッ\_s*プ\|タ\_s*イ\_s*プ\|ス\_s*ポ\_s*ッ\_s*ト\|パ\_s*ン\|P\_s*L\|n\_s*u\_s*s\|I\_s*\%(N\_s*A\_s*(\_s*t\_s*h\_s*e\_s* \_s*G\_s*e\_s*n\_s*e\_s*r\_s*i\_s*c\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*t\_s*i\_s*v\_s*e\_s* \_s*A\_s*p\_s*p\_s*l\_s*i\_s*c\_s*a\_s*t\_s*i\_s*o\_s*n\_s*)\|F\_s*\%(フ\_s*ァ\_s*イ\_s*ル\|ア\_s*ニ\_s*メ\)\)\|U\_s*I\|N\_s*U\|O\_s*サ\_s*イ\_s*ン\|E\_s*T\_s*メ\_s*ソ\_s*ッ\_s*ド\)\|ヘ\_s*\%(ラ\_s*ル\_s*ド\|ル\_s*マ\_s*ン\)\|ド\_s*イ\_s*ツ\|成\_s*吉\_s*思\_s*汗\|ゼ\_s*\%(ラ\_s*\%(チ\_s*ン\|ニ\_s*ウ\_s*ム\)\|ム\_s*ク\_s*リ\_s*ッ\_s*プ\|ノ\_s*ア\|ン\_s*ト\_s*ル\_s*マ\_s*ン\|ネ\_s*\%(コ\_s*ン\|ラ\_s*\%(ル\|リ\_s*ス\_s*ト\)\)\)\|大\_s*\%(蚊\|学\_s*院\_s*生\)\|ジ\_s*\%([ムルジグノナオンー]\|プ\_s*シ\_s*ー\|ア\_s*ン\|イ\_s*ド\|ッ\_s*ド\|タ\_s*ン\|ゼ\_s*ル\|リ\_s*ア\_s*ン\|レ\_s*ッ\_s*ト\|ゴ\_s*ロ\|ラ\_s*\%(フ\|ル\_s*\%(ド\|デ\_s*ィ\_s*ー\_s*ノ\)\)\|ロ\_s*\%(ー\|ン\_s*ド\)\|バ\_s*ン\_s*シ\_s*ー\|ブ\_s*\%(リ\|ラ\_s*ル\_s*タ\_s*ル\)\|ベ\_s*\%(ル\_s*ナ\_s*ウ\|レ\_s*リ\_s*ン\)\|ネ\_s*ッ\_s*ト\|ョ\_s*\%(ッ\_s*ト\|ヴ\_s*ァ\_s*ン\_s*[ニナ]\|バ\_s*ン\_s*[ニナ]\|コ\_s*\%(ー\_s*ソ\|ン\_s*ダ\)\|ル\_s*\%(ジ\|ダ\_s*ー\_s*ノ\)\|ー\_s*\%(ジ\|ゼ\_s*ッ\_s*ト\)\)\|ャ\_s*\%(ン\|イ\_s*\%(ロ\|ル\_s*ズ\|ア\_s*ン\_s*[ツト]\)\|コ\_s*\%(モ\|メ\_s*ッ\_s*テ\_s*ィ\)\|ー\_s*マ\_s*ン\)\|ニ\_s*ー\|ュ\_s*\%([レネ]\|ゼ\_s*ッ\_s*ペ\|リ\_s*\%(ア\|ー\_s*ニ\|エ\_s*ッ\_s*タ\)\|ヌ\_s*\%(ヴ\_s*ィ\_s*エ\_s*ー\_s*ヴ\|ビ\_s*エ\_s*ー\_s*ブ\)\)\|ェ\_s*\%([リルフムマネ]\|ス\_s*チ\_s*ャ\_s*ー\|ロ\_s*ニ\_s*モ\|ラ\_s*\%(ー\_s*[トルド]\|ル\_s*\%(ド\|デ\_s*ィ\_s*ン\|ダ\_s*イ\_s*ン\)\)\|ミ\_s*ニ\|ニ\_s*ー\|ノ\_s*\%([アバ]\|ヴ\_s*ァ\|ワ\_s*ー\_s*ズ\|サ\_s*イ\_s*ド\)\|ン\_s*\%(マ\|ト\_s*\%(ル\|リ\_s*[ィー]\)\|ダ\_s*ー\)\)\)\)', \ 'h' : '\%([ホ洞袰亡滅幌濠壕畚笨略艢檣炎焔仄朖朗塊程施滸殆幾缶熱解屠榾螢蛍骨細本※*糒恣縦擅星戟戈桙綻祠誇埃矛鉾堀頬褓鴇枋峯磅鞄峰垉篷勹皰朴抔怦棒泙棚堋呆豐麭膀舫弸蔀袍苞葬琺寳炮鵬寶繃鋒魴髣逢朋烹鳳彗箒俸焙蓬烽幇抱崩訪泡澎彷縫捧萌萠彭包胞倣邦飽庖疱奉豊硼報砲宝攴攵瀑蹼樮北哺欲譽餔保抛浦誉掘脯賞黼恍堡輔穗襃葆彫穂畝吼舖耄葡褒惚咆埔哮捕逋ほヘ謙遜篦廰廳貶胼諞篇駢褊蝙翩變∂遍返騙編扁変暼丿諛諂隔凹臍巳蛇蒂蔕瓸竡粨癖躄甓闢璧劈碧壁竝餅娉塀病閇聘坪嬖幤箆蔽并陛屏炳斃瓶幣弊併敝閉並屁折邉舳辺歴圧戸減邊へフ梺麓冬♭汾枌濆′吩賁氛雰糞褌忿墳吻紛焚扮分粉舊旧顫揮故震篩奮隹古衾襖贅燻鰒陰総惣總絃房閼鬱塞章郁艦簡補札耽鰾吭笛芬呎文罧節苳蕗淦舩艙舷舟船蒲懷懐≦≫>≧≪渊淵渕縁葢盖弍蓋双B藤潭蒸鱶楓殕瘋封諷黻怫彿髴佛憤恚慍仏F弗沸Φφ拒防蔔輹愎蝠茯箙⊃⊇嚢梟袋含⊂⊆袱覆輻復馥副複福誣孚普俯更腐坿狂不増拊鯆怖赴桴巫傅婦付訃賻振負蜉罘附吹経觸夫俘父臥践咐敷踏斧溥阜葺深仆譜符麩匐榑芙賦殖冨触孵麸柎府舗噴鋪降蹈風觝埠拭鮒郛伏俛經歩富苻畉扶趺ふヒ鶸禀蘋彬斌嬪繽殯賓擯牝貧頻瀕稟品葫怯晝飜蒜蛭昼綬胙紐鰭∝片衡鮃閃鵯辟百媛姫尋擴仭太仞展宥絋拡拓拾祐恕紘煕泰熙寛洋弘宏啓裕浩廣広冰雹俵飃凭冫髟彪驫飆馮殍飄豹漂驃慓剽嫖兵票憑評標平表燧老拈捫撚捻歪籤籖柊魃旱秀跪膝蜩羆佗攣−低隙閑暇雛髯鬚髭¬蹄潛濳潜顰密窃鬻提瓢蠡瓠匏央恒壽廂尚寿久蟆率痙蟇丙丁孤史女獨独稘斎斉均倫準等≠單偏単他仁瞳人11柆蔆拉杓柄犇◇◆菱醢醤曾蘖彦酷漬浸鶲額聖肱肘熈芒光膕控皹皸響罅僻鰉逼疋蹕畢匹篳棺柩弼櫃謐坤未羊筆必養襞饑「<【(←『左臂轡曳灯緋朏砒火日蜚妣費狒匕泌杼庇悲樋退脾挽痺卑贔紕牽避引菲檜被碑匪裨斐秘豼霏蓖丕批妃髀干昜彼秕氷鄙飛比否碾疲梭披桧魅惹俾鞴冷譬貔乾肥罷痞索扉暃毘轢皮陳鞁祕ひハ布鱧釖鉤蝟梁鍼磔針禳肚腑腸孕原拂祓払遼請温玄腹陽遙悠東遥治春頓鮠捷鶻駿疾囃林隼鈑膰磐樊潘泛畔蟠釆拌笵胖絆氾坂范凡燔楾洪瘢翻板攀゜大伴煩槃袢斑判範藩繙蕃版搬叛班阪般販犯汎帆頒反侍鯊櫨祝?硲間劇激勵烈励速蝿蠅省飯勢彈外弭筈辱逸育毓齦浮阻難掵憚幅巾柞母翅圃旛旙将側旌幟傍働鰰機叩疥畠幡籏畑旗斜鴿再鳩開秦跣膚肌裸弾薑椒壹甫馨壱弌哉一創元始鋼芳夾剪鋏螯挾挟脛萩餞贐離塙英蕚萼衄衂縹譚咄放噺話洟甚鼻華花赱迸奔枦觜艀婢梯燥箸柱走橋匣凾箪筐□繁方運匚筥箱函陌栢魄膊柏亳珀狛佰粕璞蘗岶愽擘箔舶泊搏迫帛拍圖諮測企秤謀量計図儚捗袴伯博墓髮秡癶釟溌肇廿二初椀蓮8♪鉢蜂發髪服半法醗薄白八発霈盃睥擺湃孛裴琲埴碚牌吠拜坏珮旆入沛榛杯悖―廢腓誹徘稗癈肺俳憊輩背鷂胚廃排拝敗灰配蛤濱浜吐食霽恥菠帚杷垪跛耻巴笆履脹葉爆矧帶這撥破嵌霸捌早把刎馳填生簸跳派禿碆羽果覇映晴陂端剥腫匍着穿葩爬歯膨坡佩慙芭刄菷怕榮齒刃播愧暎叭栄玻掃張貼刷羞頗琶はh━─┘┛┸┷┻┴┓┐┳┬┯┰┨┫┤┥┼╋╂┿波‐フ★☆非ヒホヘハh]\|ッ\_s*[ホヘフヒハ]\|ッ\_s*[ホヘフヒハ]\|っ\_s*[ほへふひは]\|寄\_s*生\|珠\_s*鶏\|混\_s*一\_s*色\|紅\_s*[幇中]\|T\_s*r\_s*i\_s*u\_s*r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|微\_s*[酔笑]\|子\_s*規\|時\_s*鳥\|蜀\_s*魂\|杜\_s*[宇鵑]\|上\_s*枝\|鬼\_s*灯\|酸\_s*漿\|叢\_s*祠\|和\_s*了\|鮑\_s*魚\|謗\_s*法\|黒\_s*子\|部\_s*屋\|竹\_s*\%(畚\|麦\_s*魚\)\|綜\_s*麻\|巻\_s*子\|下\_s*手\|糸\_s*瓜\|霹\_s*靂\|c\_s*l\_s*a\_s*u\_s*s\_s*t\_s*r\_s*o\_s*p\_s*h\_s*o\_s*b\_s*i\_s*a\|鞦\_s*韆\|睾\_s*丸\|乱\_s*吹\|相\_s*応\|E\_s*\%(r\_s*i\_s*o\_s*c\_s*a\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\|u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\)\|回\_s*\%(鍋\_s*肉\|回\_s*教\)\|書\_s*司\|頭\_s*垢\|鳧\_s*鐘\|菜\_s*蕗\|款\_s*冬\|f\_s*\%(o\_s*r\_s*t\_s*e\|e\_s*m\_s*t\_s*o\)\|釜\_s*[中山]\|雙\_s*葉\|渓\_s*井\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|宿\_s*酔\|△\_s*△\_s*△\|×\_s*×\_s*×\|○\_s*○\_s*○\|河\_s*\%(豚\|底\_s*撈\_s*魚\)\|神\_s*[庫籬]\|肩\_s*巾\|領\_s*巾\|素\_s*見\|曹\_s*白\_s*魚\|枚\_s*[田方]\|敬\_s*昌\|幸\_s*展\|容\_s*靖\|晃\_s*道\|欧\_s*子\|宙\_s*子\|祥\_s*加\|終\_s*日\|翡\_s*翠\|曽\_s*祖\_s*父\|豪\_s*将\|偉\_s*紀\|周\_s*[行男]\|茅\_s*蜩\|向\_s*日\_s*葵\|七\_s*宗\|桶\_s*坂\|永\_s*和\|蟾\_s*蜍\|抽\_s*\%([斗出]\|き\_s*出\_s*し\)\|告\_s*天\_s*子\|雲\_s*[脂雀]\|為\_s*人\|緊\_s*[と々]\|鎮\_s*火\_s*\%(祭\|の\_s*祭\)\|A\_s*\%(s\|r\_s*s\_s*e\_s*n\_s*i\_s*c\|n\_s*g\_s*i\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\|粃\_s*糠\_s*疹\|只\_s*管\|直\_s*[向走垂隠]\|常\_s*陸\|鹿\_s*尾\_s*菜\|撲\_s*り\_s*倒\|同\_s*胞\|赦\_s*い\|青\_s*春\|哈\_s*爾\_s*浜\|美\_s*佳\|流\_s*行\|勇\_s*[樹人]\|韓\_s*流\|漢\_s*堡\|汗\_s*国\|盤\_s*陀\|R\_s*S\_s*I\|蔓\_s*延\|蝦\_s*虎\_s*魚\|沙\_s*魚\|馬\_s*銜\|狭\_s*間\|南\_s*風\|延\_s*\%(縄\|い\_s*て\)\|義\_s*母\|旅\_s*籠\|N\_s*e\_s*l\_s*u\_s*m\_s*b\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|黄\_s*[酒櫨]\|土\_s*[方生師]\|嘔\_s*[吐気]\|支\_s*倉\|長\_s*谷\|接\_s*ぎ\_s*合\|纏\_s*頭\|煙\_s*火\|麻\_s*疹\|階\_s*[上子]\|嘴\_s*\%(細\_s*鴉\|太\_s*鴉\)\|学\_s*胤\|2\_s*\%([人つ日]\|通\_s*り\|0\_s*日\)\|2\_s*\%([人つ日]\|0\_s*[歳日]\)\|淡\_s*竹\|8\_s*月\|客\_s*家\|P\_s*\%(t\|o\_s*t\_s*a\_s*m\_s*o\_s*g\_s*e\_s*t\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*t\_s*i\_s*n\_s*u\_s*m\)\|海\_s*\%([鞘永蘿星牙]\|拉\_s*爾\|底\_s*撈\_s*月\)\|M\_s*\%(y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*c\_s*u\_s*r\_s*y\)\|色\_s*調\|呼\_s*和\_s*浩\_s*特\|ウ\_s*ー\_s*ゴ\|ユ\_s*\%(ー\|ペ\_s*ー\_s*ル\|ベ\_s*ー\_s*ル\|イ\_s*ス\_s*マ\_s*ン\_s*ス\|ゴ\_s*ー\|グ\_s*ノ\_s*ー\|マ\_s*ニ\_s*\%(テ\|ス\_s*[トム]\)\)\|現\_s*代\|十\_s*六\_s*進\_s*数\|高\_s*さ\|香\_s*港\|イ\_s*\%(ダ\_s*ル\_s*ゴ\|ス\_s*パ\_s*ニ\_s*ア\|レ\_s*ー\_s*ル\|エ\_s*ロ\)\|H\_s*\%(z\|カ\_s*ッ\_s*プ\|o\_s*b\_s*b\_s*i\_s*t\|i\_s*\%(8\|B\_s*a\_s*n\_s*d\)\)\|オ\_s*\%([ラー]\|ナ\_s*ー\|ノ\_s*レ\|ン\_s*フ\_s*ル\_s*ー\_s*ル\|ネ\_s*\%(ス\_s*\%(ト\|テ\_s*ィ\)\|ゲ\_s*ル\)\|テ\_s*ル\|ル\_s*ガ\_s*ー\|マ\_s*ー\_s*ジ\_s*ュ\)\|ア\_s*\%(ン\_s*\%(リ\|ベ\_s*ー\_s*ル\)\|ネ\_s*ス\_s*ト\|ワ\_s*ー\|ダ\_s*マ\_s*ー\_s*ル\|シ\_s*ェ\_s*ッ\_s*ト\|ビ\_s*タ\_s*シ\_s*オ\_s*ン\|ー\_s*\%(ネ\_s*ス\_s*ト\|ノ\_s*ン\_s*ク\_s*ー\_s*ル\)\)\|エ\_s*\%(デ\_s*ィ\|ン\_s*リ\_s*ケ\|レ\_s*\%(ナ\|ー\_s*ヌ\)\|ロ\_s*イ\_s*ー\_s*ズ\|ク\_s*ト\_s*ル\|ル\_s*\%(ゲ\_s*ラ\|ヴ\_s*ェ\|メ\_s*ス\|マ\_s*ン\|ミ\_s*\%(ッ\_s*ト\|ー\_s*ト\)\|ブ\_s*ラ\_s*ン\|ナ\_s*ン\_s*デ\_s*ス\|キ\_s*ュ\_s*ー\_s*ル\)\|ノ\_s*ク\|ッ\_s*チ\|イ\_s*チ\)\|H\_s*\%([fsPeo]\|i\_s*m\_s*a\_s*n\_s*t\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|カ\_s*ッ\_s*プ\|T\_s*\%(M\_s*L\_s*フ\_s*ァ\_s*イ\_s*ル\|T\_s*P\_s*サ\_s*ー\_s*バ\)\|D\_s*D\_s*レ\_s*コ\_s*ー\_s*ダ\_s*ー\|u\_s*r\_s*d\|a\_s*\%(s\_s*s\_s*i\_s*u\_s*m\|f\_s*n\_s*i\_s*u\_s*m\|w\_s*a\_s*i\_s*i\)\|y\_s*\%(p\_s*e\_s*r\_s* \_s*T\_s*e\_s*x\_s*t\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|d\_s*\%(n\_s*o\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|r\_s*\%(a\_s*s\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|o\_s*\%(s\_s*t\_s*a\_s*c\_s*h\_s*y\_s*d\_s*a\_s*l\_s*e\_s*s\|g\_s*e\_s*n\)\)\)\)\)\|水\_s*[銀平素]\)', \ 'i' : '\%([イΗη賤鄙卑苟嫌弥薯妹藷芋夢艷鑪鈩彩鱗色鯆忽綺貸甍応答愈圦杁霪隱蚓寅氤酳胤飮韵尹茵贇蔭婬湮堙廴音飲慇韻咽淫殞姻隕院允殷隠陰窟巌巖頌祝鰛鰮鰯岩磐円¥鼾歪弑弋抱懐肬贅疣狗戌乾犬諱在坐未汝戒誡警縛今Εε曰禾稻員因蝗嘶鰍電引躄誘動忿≦鵤錨碇怒霆雷霹凧桴筏魚S菴庵彌雖家尿荊棘茨祈祷命猯豕古伍乙鎰鴪聿軼樹慈悼愴慯労格到至傷鼬頂戴病徒致鈑痛板柞砂沙些聊潔諍烈功諫勳勲勇漁諌憇=憩粹熱粋憤域閾勢勤忙急磯孰焉湶泉厳何弄苛≧鎔范啀毬訝燻息挑縷絲厭營営愛幼稚緒遑暇糸弌壹肆莓苺櫟著市碑鐓礎甃臀弩石犧牲犠池溢Y佚壱11燠鬻礇毓粥的戦戰軍幾郁育一稲否飯洟位違居姨猗斎偽噫逝医鑄痍委囲云圍ゐ挿炒彙要熨饐醫言矮往詒威懿如僞忌彜煎逶緯韋唯莞淹胃善生恚彝惟以活易蔚為猪衣已倚幃斐移鮪将可偉畏五夷李渭怡貽癒依逸井慰行爲胆射詑矣頤熬萎良凍出椅率好揖肄痿鋳謂帷亥苡意維遺鰄異去堰尉容囗い氷Йй⇒→⊂⊃▼▽伊i印入∞吋∈∋∫∬∩IイИΙιи私i]\|E\_s*メ\_s*ー\_s*ル\|灼\_s*然\|祖\_s*谷\|湯\_s*文\_s*字\|文\_s*身\|郎\_s*[女子]\|刺\_s*[青草]\|蕁\_s*麻\|U\_s*r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|海\_s*[豚参]\|西\_s*表\|鸚\_s*哥\|影\_s*青\|況\_s*ん\_s*や\|所\_s*謂\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|藺\_s*草\|J\_s*u\_s*n\_s*c\_s*a\_s*l\_s*e\_s*s\|田\_s*舎\|膝\_s*行\|十\_s*六\_s*夜\|寝\_s*穢\|英\_s*\%(蘭\|吉\_s*利\)\|斑\_s*鳩\|烏\_s*賊\|玉\_s*筋\_s*魚\|硫\_s*黄\|夜\_s*来\_s*香\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|牛\_s*膝\|稜\_s*威\|常\_s*春\_s*藤\|5\_s*[つ日]\|5\_s*[つ日]\|惡\_s*戲\|甚\_s*振\|潮\_s*来\|悪\_s*戯\|交\_s*喙\|小\_s*魚\|鯨\_s*魚\|細\_s*小\_s*魚\|鶏\_s*魚\|経\_s*緯\|礒\_s*[山田]\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|和\_s*泉\|E\_s*\%(A\_s*S\_s*T\|V\_s*E\)\|気\_s*吹\|指\_s*宿\|拠\_s*所\|従\_s*[妹姉弟兄]\|公\_s*孫\_s*樹\|鴨\_s*脚\_s*樹\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|銀\_s*杏\|鳶\_s*尾\|檪\_s*本\|巫\_s*子\|神\_s*巫\|睦\_s*月\|都\_s*方\_s*流\|縊\_s*[殺死首]\|蝟\_s*[集縮]\|埋\_s*け\_s*[火炭]\|許\_s*[婚嫁]\|<\_s*=\_s*=\_s*>\|必\_s*要\_s*十\_s*分\_s*条\_s*件\|ヤ\_s*ン\|日\_s*本\_s*ア\_s*イ\_s*・\_s*ビ\_s*ー\_s*・\_s*エ\_s*ム\_s*株\_s*式\_s*会\_s*社\|国\_s*際\_s*\%(基\_s*督\_s*教\_s*大\_s*学\|標\_s*準\_s*化\_s*機\_s*構\)\|逆\_s*離\_s*散\_s*フ\_s*ー\_s*リ\_s*エ\_s*変\_s*換\|識\_s*別\_s*子\|即\_s*興\_s*曲\|な\_s*ら\_s*ば\|項\_s*目\|逐\_s*次\_s*型\|誤\_s*っ\_s*た\|無\_s*\%(花\_s*果\|効\_s*な\)\|帰\_s*納\_s*法\|字\_s*下\_s*げ\|不\_s*\%([可如足]\|充\_s*分\)\|具\_s*体\_s*化\|情\_s*報\|導\_s*入\|整\_s*数\|完\_s*全\|ヨ\_s*\%(ア\_s*ン\|シ\_s*フ\|ー\_s*ド\|ウ\_s*素\)\|I\_s*\%([rPn]\|R\_s*Q\|カ\_s*ッ\_s*プ\|C\_s*\%(タ\_s*グ\|チ\_s*ッ\_s*プ\|カ\_s*ー\_s*ド\)\|l\_s*l\_s*i\_s*n\_s*o\_s*i\_s*s\|S\_s*\%(O\|B\_s*N\_s*\%(番\_s*号\|コ\_s*ー\_s*ド\)\|A\_s*バ\_s*ス\)\|d\_s*a\_s*h\_s*o\|D\_s*\%(カ\_s*ー\_s*ド\|E\_s*\%(ド\_s*ラ\_s*イ\_s*ブ\|デ\_s*バ\_s*イ\_s*ス\|ケ\_s*ー\_s*ブ\_s*ル\|コ\_s*ン\_s*ト\_s*ロ\_s*ー\_s*ラ\)\)\|タ\_s*ー\_s*ン\|T\_s*\%(シ\_s*ス\_s*テ\_s*ム\|バ\_s*ブ\_s*ル\)\|o\_s*\%(w\_s*a\|d\_s*i\_s*n\_s*e\)\)\|ア\_s*\%(イ\|ー\_s*\%(ヴ\_s*ィ\_s*ン\|ビ\_s*ン\)\|ン\_s*\%(プ\_s*ロ\_s*ン\_s*プ\_s*\%(チ\_s*ュ\|テ\_s*ュ\)\|デ\_s*パ\_s*ン\_s*ダ\_s*ン\|フ\_s*ォ\_s*ル\_s*\%(メ\_s*ル\|マ\_s*テ\_s*ィ\_s*ー\_s*ク\)\)\)\)', \ 'j' : '\%([塩嶋縞島嶌橲衄衂宍竺舳忸軸舌喰食直凝實昵実印尻稔仭糂贐潯儘仞盡刄臣侭恁進訊俥蕁迅刃靱荏甚靭燼櫁樒塵尽尋陣腎壬人敘恕耡汝莇杼茹敍蜍洳舒縟辱褥蓐溽所抒鋤徐序絮叙助釀淨疂絛繞壌諚孃瀞襄仍蟐拯疉讓聶驤生帖仗躡穰乘塲靜繩禳蕘壤遶星滌茸嬲疊如剩娘嬢錠静醸縄女尉饒丈成擾穣烝嫋丞盛場杖條条蒸貞状攘剰畳冗定浄乗情城上常譲濡得戍就嬬鷲竪讐讎懦愀咒聚隼詢徇笋凖盾楯筍篤蓴惇洵淳閏諄恂馴旬荀潤循醇巡遵順准殉純準襦誦需戌朮孰宿塾珠熟恤術述孺呪豎儒綬樹受授壽鞣狃澀揉廿拾縱中從糅从戎澁蹂神汁獸絨縦渋柔什充十獣従住銃重岻除士染時怩至児冶璽只畤侍孳轜耳示次寿辭粫司二祀邇而慈峙爺以地塒珥迩痔死敷恃蒔磁瓷仁字尓焦膩柱似嗣子亊路史餌兒滋仕爾辞弍自茲持寺事知醤鮭搦着惹尺鉐雀寂若弱蛇闍者邪戯麝じj│┃├┝┣┠┏┌.еЕ治Яя日юЮёЁЙジйj]\|ッ\_s*シ\_s*゙\|ッ\_s*ジ\|っ\_s*じ\|G\_s*\%(メ\_s*ン\|パ\_s*ン\)\|D\_s*y\|G\_s*\%(メ\_s*ン\|パ\_s*ン\)\|支\_s*度\|試\_s*合\|2\_s*乗\|2\_s*乗\|祖\_s*父\_s*\%(さ\_s*ん\|祖\_s*母\)\|獅\_s*子\|甲\_s*乙\_s*丙\_s*丁\_s*戊\_s*己\_s*庚\_s*辛\_s*壬\_s*癸\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|Z\_s*\%(r\|i\_s*r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\)\|深\_s*\%(秘\|大\_s*寺\)\|秦\_s*泉\_s*寺\|沈\_s*\%(香\|丁\_s*花\)\|晨\_s*朝\|濁\_s*世\|判\_s*官\|諍\_s*論\|長\_s*夜\|漏\_s*斗\|↑\_s*↓\_s*←\_s*→\|焼\_s*酎\|鐘\_s*石\|橈\_s*脚\_s*類\|承\_s*久\|朱\_s*里\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|絢\_s*子\|頌\_s*偈\|数\_s*珠\|入\_s*[魂牢来洛院内水棺]\|霜\_s*月\|1\_s*\%(2\|6\_s*進\|0\_s*[進月]\|1\_s*月\|8\_s*禁\)\|師\_s*走\|極\_s*月\|紐\_s*帯\|1\_s*\%(0\|1\_s*月\|8\_s*禁\|2\_s*月\)\|シ\_s*゙\|爪\_s*哇\|射\_s*礼\|砂\_s*利\|謝\_s*花\|三\_s*味\_s*線\|雑\_s*魚\|著\_s*語\|杓\_s*子\|共\_s*同\_s*企\_s*業\_s*体\|ゼ\_s*リ\_s*ー\|エ\_s*\%(ホ\_s*バ\|リ\_s*コ\|レ\_s*ミ\_s*ヤ\|ル\_s*サ\_s*レ\_s*ム\|ッ\_s*サ\_s*イ\)\|ヘ\_s*\%(レ\_s*ス\|ス\_s*ス\)\|ヒ\_s*メ\_s*ネ\_s*ス\|チ\_s*ゲ\|北\_s*陸\_s*先\_s*端\_s*\%(大\|科\_s*学\_s*技\_s*術\_s*大\_s*学\_s*院\_s*大\_s*学\)\|ハ\_s*\%(イ\_s*メ\|ラ\_s*ペ\_s*ー\_s*ニ\_s*ョ\)\|碧\_s*玉\|ヤ\_s*\%([リンニナー]\|イ\_s*ル\|エ\_s*ル\|ル\_s*ノ\|レ\_s*ド\|ヌ\_s*\%(ス\|シ\_s*ュ\)\|ス\_s*パ\_s*ー\_s*ス\|コ\_s*[ビブ]\|ッ\_s*ケ\)\|フ\_s*\%(ァ\_s*[ンナ]\|リ\_s*[オア]\)\|J\_s*\%(R\_s*東\_s*日\_s*本\|\.\_s*S\_s*\.\_s*\%(バ\_s*ッ\_s*ハ\|B\_s*a\_s*c\_s*h\)\|リ\_s*ー\_s*グ\|カ\_s*ッ\_s*プ\|C\_s*B\_s*カ\_s*ー\_s*ド\|-\_s*P\_s*O\_s*P\|ポ\_s*ッ\_s*プ\|P\_s*\%(G\_s*フ\_s*ァ\_s*イ\_s*ル\|E\_s*G\_s*フ\_s*ァ\_s*イ\_s*ル\)\|I\_s*S\_s*\%(マ\_s*ー\_s*ク\|コ\_s*ー\_s*ド\)\|a\_s*p\_s*a\_s*n\_s* \_s*A\_s*d\_s*v\_s*a\_s*n\_s*c\_s*e\_s*d\_s* \_s*I\_s*n\_s*s\_s*t\_s*i\_s*t\_s*u\_s*t\_s*e\_s* \_s*o\_s*f\_s* \_s*S\_s*c\_s*i\_s*e\_s*n\_s*c\_s*e\_s* \_s*a\_s*n\_s*d\_s* \_s*T\_s*e\_s*c\_s*h\_s*n\_s*o\_s*l\_s*o\_s*g\_s*y\|A\_s*\%(I\_s*S\_s*T\|N\_s*コ\_s*ー\_s*ド\|V\_s*A\_s*\%(ス\_s*ク\_s*リ\_s*プ\_s*ト\|ア\_s*プ\_s*レ\_s*ッ\_s*ト\)\)\|U\_s*N\_s*E\_s*T\)\|ズ\_s*ボ\_s*ン\|J\_s*\%(2\|−\_s*W\_s*A\_s*V\_s*E\|リ\_s*ー\_s*グ\|カ\_s*ッ\_s*プ\|ポ\_s*ッ\_s*プ\|I\_s*C\_s*C\_s*出\_s*版\|U\_s*\%(S\|N\_s*K\_s*O\)\|u\_s*s\)\|ユ\_s*\%([ハリダノ]\|ル\_s*ゲ\_s*ン\|ー\_s*\%([リノ]\|ゲ\_s*ン\_s*ト\|デ\_s*ィ\_s*ッ\_s*ト\)\|ン\_s*\%(グ\|カ\_s*ー\|ケ\_s*ル\)\|ピ\_s*テ\_s*ル\|ッ\_s*[カシ]\)\|イ\_s*\%(エ\_s*\%([ナス]\|ン\_s*\%(ス\|セ\_s*ン\)\|ズ\_s*ス\)\|ェ\_s*\%(ナ\|ン\_s*\%(ス\|セ\_s*ン\|ゼ\_s*ン\)\|ー\_s*ガ\_s*ー\|ル\_s*\%(ク\|サ\_s*レ\_s*ム\)\)\)\|ホ\_s*\%([タセ]\|ル\_s*ヘ\|ホ\_s*バ\|ア\_s*\%(ン\|キ\_s*ン\)\)\|ヨ\_s*\%([ブナ]\|ル\_s*\%(グ\|ダ\_s*ン\)\|エ\_s*ル\|ア\_s*\%(ヒ\_s*ム\|キ\_s*ム\)\|ゼ\_s*フ\|ー\_s*\%([トド]\|デ\_s*ル\|ゼ\_s*フ\)\|シ\_s*\%(フ\|ュ\_s*ア\)\|セ\_s*フ\|ハ\_s*[ナンネ]\)\)', \ 'k' : '\%([コ怖旃之惟怺薦米暦轉殺壼鶤袞鯤坤狠艮琿悃很漿棍魂菎滾梱溷痕渾墾恨懇根梢杪王泥裔樸鞐熟枹醴聲声蛩凍溢零錯苔箏亊判斷諺理断盡悉尽辞詞殊事壽寿鯒礫鯉齣狛腓昆瘤鮗谺応應答茲是爰試志心凩兀笏惚榾輿甑腰拵拗鐺鏝昿仰慌袷塙頏絖冦耗亙峺衝晄覯糠匣逅閧扛湊羔礦爻壙盍洸鬨浤凰閤窖缸寇岡傚湟汞洽崗鮫伉訌誥冓敲磽倖簧鏗椌搆肓鍠矼砿犒淆呷鵁皐黌遘昴槹蚣肱肴熕胱猴扣杲蛤縞狎畊昊餃哽幌鱇峇嫦鎬隍恆倥徨啌吭釦闔藁亘絋棡遑紘稾鴿詬哮困靠皋惶紺鈩絳閘蒙冰氷郡蛟槁候楮媾溘蝗酵嚆犢稿亢哄睾慷郊岬肛項巷鑛洪佼狡昂叩勾喉滉糀晃剛晧曠宏控恍侯港皓坑皎耿膏江絞膠虹巧鴻鉱衡浩厚幸耕弘綱抗購攻講恒溝薨鋼航行肯荒高皇光好槲梏谷釛尅斛轂哭石告酷穀冴虎觚壷痼胯鼓児漉糊媚古娘冱混粉請辜湖虍放葫捏此鈷痩鴣瞽詁呼箍小錮蠱蛄粐滬估雇故沽転倒漕罟餬超込凅誇懲琥扈袴焦蝴呱乕踰弧越子孤菰跨壺楜股肥凝女戸恋兒怙瑚戀夸皷滸濾瓠濃乎仔こケ峻欅獸謇鵑愃搴劒俔儉險瞼慊圈幵釼顯剱椦黔暄劔涓臉妍劵歉獻縣蜷綣檢鉉虔愆娟權甄惓諠騫験慳捲倦遣羂嶮蹇鹸狷譴腱驗軒憲繭謙圏険硯倹献犬絢顕券劍剣見権研拳眷牽県建烟鑷言獣蓋涜吝削畩閲検貶健桁嗾竭獗偈譎碣蕨尻頡抉襭亅刔杰厥訐歇訣孑頁纈蹶桀穴傑結血煢蹊黥詣攜綮鮭絅盻挈瓊夐冂笄枅奚兮迥畦彑醯徑剄冏勍檠憬挂憇匸逕繼惠慧謦鷄系┓├┃┣┿━┻┷┸─┫┝┳┬┼┯┥╋┨┛│┠┰┏┤┴╂罫痙奎脛谿溪螢蛍渓閨憩圭携硅恵刑継勁珪計啓蹴毛褻異けク姑配椚橡檪櫪栩椡椪湫箜櫟含纐柵婚屎糞癖潛潜鵠凹窪縊跟頚軛珞頸首諄鞋履窟轡覆沓碎砕条降件頽崩屑釘莖茎陸杙杭掘崛倔鶏鐃藥擽薬樟楠梳櫛串釧與与挫籖鯀鯨籤隈熊艸嚔藾叢鏈腐鎖種Ξξ臭楔草圀邦國国髭漱嗽吻嘴唇脣梔腔φ粂裙勳熏皹桾皸醺崑燻訓勲葷委詳钁精鍬咥銜桑某暝峅昏冥眛罔鮓比闇位鞍藏暗倉廚厨涅曇蜘佝栗包俥車梍枢畔鐵玄蔵黒食孔桍窶暮焼懼駒苦区眩吁繰庫垢紅呉倶枸劬煦口瞿工吼怐喰貢惧區組句狗酌絎嶇衢刳くキ段痍疵紲絆傷築鱚嚴稷黍帛後碪砧絹兆萌刻鞫椈掬辟君牙蘗檗迄訖狐屹詰佶拮吃鞠橘菊喫.&⌒¬★!÷≠♪∫%±・。仝●|―¥Ц△‡`←¢£‰◎+ ̄〒☆ヽゞ、▽◇↓≒\;″°∝≦々℃∵†○´゛‥♭<#〇□‐_Å∞:▲ヾ♂?^,〓‖▼…〃¶゜@≫§∴′ゝ/>♀∨=≧ー−≪$♯↑■¨≡〆◆∽煙蚶更衣細后妃楸蕈茸乙雉轢杵軋岸桔汚穢北樵際裂燦煌雲嫌胆竏粁瓩浄淳澄潔清雰錐蛬吉霧檮桐箘鈞檎襟忻箟掀磬噤听瑾懃覲釁芹衿饉釿衾斤蒟径窘擒巾菌公禽筋錦欣僅琴均禁緊謹欽近勤嘘踞據苣擧渠秬鉅舉筥慶倨距歔遽鋸醵拠拒去勗蕀洫亟跼旭局挙許居巨虚轎繦羌姜篋蕎陜恊竸荊筴徼峽劫恟況棘竅僵亰狹頃筺梗誑刧襁烱洶抂卿鍄炯經竟廾况孝亨跫敬筐梟饗矯矜挾校挟拱嬌杏鞏響向興匈嚮享警競喬怯兄彊僑兢莢狂橋供郷兇驕凶叫夾匡侠狭恐経疆協境強胸驚脅共恭今教玖鬮歙舊疚笈邱赳摎恷岌貅9扱皀烋樛蚯逑厳胡翕朽泣穹糾糺及躬汲臼窮灸弓宮久柩究給丘求鳩級球休救急旧吸九基欹寄貴跂徠聞覊猗櫃煕既弃氣詭嬉效切妓跪虧卉稘尋冀暉唏姫伐喟伎畸効熙癸噐極祁匱馗旡其碁剞畿規希綺燬騎饑逵樹忌朞騏城聽棄悸肌生几季記僖紀斬決槻期起箕聴鰭崎餽倚幃瞶利晞欷毅危屓熈着汽木飢酒愾熹諱淇器羇机企麾訊著剪稀来圻來鬼揆奇羈禧譏棋黄憙己驥鑽决毀掎曁竒窺喜碕祈耆饋揮愧棊幾气徽消截岐祺麒覬嵜杞軌きカ糜癢粥痒麹輕骨業軽鰔鰈餉通瓶龜甕亀鴈獵鳫殯猟雁釀鳧鳬髢鴨躱巛側厠廁磧瓦獺翡裘皮紮→搦苧碓柄枳體軆躰躯体鴉犂烏機絡空唐榧茅揀坎澗扞莟丱拑盥嫺鑵蒄瞰淦稈康繝懽憾骭戡奐啣厂鐶讙澣羮寰羹嫻杆鸛歡豢歛罕酣陷皖篏捍瀚勸撼驩卷樌潤觀橄涵渙凵堪巫覡鉋萱簪舘艱咸翰柬悍駻燗槓浣邯攷稽宦考棺潅閂煥鉗疳癇函凾鹹顴緘桓款箝諌諫轗旱坩侃鰥 館莞橇韓患灌勧菅簡奸刊柑肝看桿干緩寒嵌廣広竿貫巻敢漢環間陥喚閑監喊歓甘寛管慣完艦乾幹官観壁椛屍姓庇鞄芳蔓鯑一勘⊃影陰蔭景*棧梯筧庚辛┘柧┐┌門廉脚癩乞∪川合’)〈《‘“”}{》〉囓柁旗鮖悴舵鰍鍛梶錺餝飾篭籠還歸卻皈孵省顧楓却帰反返督髮帋守祇韮裃雷髪紙鉦曲矩予鐘樺沫偏騙語潟刀模象仇固硬傍難容忝辱頑形方旁型肩風幽滓翳微掠綛纃絣緕擦糟鎹粕轄戞劼猾瞎恰蛞∧∩蠍擔濶筈剋蝎曷羯喝餓聒鞨黠刮蘰鬘桂闊括嘗捷豁渇担滑堅鰹割戛活暈疽鵲瘡傘嵩重襲葛笠堵硴墻牆蠣蛎柿關掲罹抱踵嬶嚊拘関係貌顏郁薫顔母感釡罐窰鴎框叺構喧竃竈釜缶蒲鎌數数槝栢膳傅瑕畏賢橿姦樫爨炊圍喞託囲鈎『鉤「』」限鍵傾禿蕪鏑頭齧気被兜敵適哉必要鼎鬲彜彝叶片悲哀愛鋺蛇鉄蜩神奏楫裹磆餅徒褐糧粮膈覺∠埆蠖貉幗隱擴寉骼癨壑咯椁嚇茖愨槨膕掴覈殼穫狢霍礁恪擱匿撹攪喀廓較郭]】【〔〕[殻挌劃閣格隠覚矍革獲馘攫核鶴拡客隔角確蠏壞畍丐獪褂恠喙峡夬觧械揩醢匯廨誡誨嵬櫂隗茴徊迴枴懈价椢榿囘蛙瑰乖浬鰄傀糴柏街鳰懷蛔蠶蚕邂蟹潰壊恢腕芥垣楷會拐悔詼諧契皆界疥魁偕改繪貝胛絵甲快灰槐晦懐介回塊解階廻戒開会怪海縢篝炬耀赫輝冠鑒鑑各屈鏡和代茄缺飼嫁華堝變狩上訶加架何啝火日菓欠苅繋稼ヶ个噛譁科跏舸賭禍支変窩課花交刈渦嚼掛呵替葭柯畫駆嘩崋化霞蝌迦顆価馨家借蝦罅駈斯賈嘉易果戈廈哥買闕且克墟靴訛驅換踝描軻嗅價嗄可彼夥香歌河珂鹿個痂書假荷耶笳咼藉糅舁搗渮袈下萪貸厦禾貨咬寡箇卦苛譌枷掻過画ヵ黴遐兼醸翔仮佳蚊懸伽賀淅勝涸苟蝸謌夏枯暇珈かk京節┗└※хХ忽コ汗〜功(株Kク×金窯χキカΚКΧкケκk]\|ッ\_s*[コケクキカ]\|ッ\_s*[コケクキカ]\|っ\_s*[子こけくきか]\|蟀\_s*谷\|焜\_s*炉\|前\_s*妻\|嫡\_s*妻\|二\_s*合\_s*半\|秋\_s*桜\|牛\_s*尾\_s*魚\|庶\_s*幾\|独\_s*楽\|特\_s*牛\|粫\_s*門\|甦\_s*生\|M\_s*e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|外\_s*連\_s*味\|螻\_s*蛄\|罌\_s*粟\|滅\_s*紫\|S\_s*i\|莎\_s*草\|百\_s*[濟済]\|9\_s*[日月]\|秧\_s*鶏\|釉\_s*掛\|典\_s*薬\_s*寮\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|探\_s*湯\|誓\_s*湯\|六\_s*合\|地\_s*祇\|都\_s*子\|州\_s*光\|群\_s*衆\|慈\_s*姑\|c\_s*r\_s*e\_s*s\_s*c\|内\_s*蔵\_s*助\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|仁\_s*彦\|啄\_s*木\_s*鳥\|X\_s*e\|如\_s*月\|私\_s*市\|昨\_s*日\|素\_s*地\|布\_s*地\|欺\_s*罔\|聖\_s*[之子美]\|沈\_s*菜\|蟋\_s*蟀\|螽\_s*斯\|G\_s*o\_s*l\_s*d\|A\_s*\%(u\|r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|s\_s*t\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\)\|菫\_s*青\_s*石\|槿\_s*花\|R\_s*\%(h\_s*\%(o\_s*e\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\)\|u\_s*n\_s*u\_s*n\_s*c\_s*u\_s*l\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|a\_s*n\_s*\%(u\_s*n\_s*c\_s*u\_s*l\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|a\_s*l\_s*e\_s*s\)\)\|裾\_s*礁\|脇\_s*[侍息]\|姉\_s*[妹弟]\|頬\_s*[骨筋]\|毬\_s*果\|舅\_s*姑\|厩\_s*\%([肥舎]\|務\_s*員\)\|廐\_s*舎\|離\_s*れ\_s*離\_s*れ\|掃\_s*部\|羚\_s*羊\|氈\_s*瓜\|土\_s*器\|蝙\_s*蝠\|魚\_s*狗\|為\_s*替\|連\_s*枷\|身\_s*体\|落\_s*葉\_s*松\|随\_s*神\|檻\_s*車\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|南\_s*瓜\|量\_s*子\|千\_s*典\|山\_s*\%(梔\_s*子\|陽\_s*道\)\|蜉\_s*蝣\|陽\_s*炎\|蜻\_s*蛉\|破\_s*片\|挿\_s*頭\|駕\_s*\%(籠\|輿\_s*丁\)\|槭\_s*樹\|長\_s*[月官]\|主\_s*[紀計神]\|剃\_s*刀\|天\_s*\%(牛\|鼠\_s*矢\)\|帷\_s*子\|酢\_s*漿\_s*草\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|飛\_s*白\|春\_s*日\|C\_s*\%([ormfda]\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\|i\_s*r\_s*c\_s*a\_s*e\_s*a\_s*s\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*r\_s*i\_s*u\_s*m\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*c\_s*i\_s*d\_s*i\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\)\|曾\_s*て\|曽\_s*て\|松\_s*魚\|燕\_s*子\_s*花\|牡\_s*[蛎蠣]\|民\_s*部\|部\_s*曲\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|案\_s*山\_s*子\|梭\_s*\%(魚\|子\_s*魚\)\|蟷\_s*螂\|螳\_s*螂\|瓜\_s*\%(田\|呂\_s*根\)\|拍\_s*手\|水\_s*[鶏母夫手]\|東\_s*\%(風\|京\_s*都\_s*立\_s*科\_s*学\_s*技\_s*術\_s*大\_s*学\)\|(\_s*株\_s*)\|称\_s*子\|贏\_s*ち\_s*得\|歩\_s*兵\|恁\_s*く\|杜\_s*\%(若\|父\_s*魚\)\|梅\_s*花\_s*皮\|頴\_s*田\|膾\_s*炙\|ノ\_s*\%([ブウ]\|ー\_s*ン\|ッ\_s*\%([トク]\|テ\_s*ィ\_s*ン\_s*グ\|カ\_s*ー\|キ\_s*ン\_s*グ\)\)\|ナ\_s*\%(ッ\_s*\%(ク\|プ\_s*\%(サ\_s*ッ\_s*ク\|ザ\_s*ッ\_s*ク\)\)\|レ\_s*ッ\_s*ジ\|イ\_s*[フトツ]\)\|ニ\_s*\%(ー\|ッ\_s*\%(ト\|テ\_s*ィ\_s*ン\_s*グ\)\)\|ホ\_s*\%(ー\_s*\%(ミ\_s*ー\|メ\_s*イ\)\|メ\_s*イ\_s*ニ\)\|フ\_s*\%(ビ\_s*ラ\_s*イ\|ル\_s*シ\_s*チ\_s*ョ\_s*フ\)\|ハ\_s*\%(ン\|ラ\_s*シ\_s*ョ\_s*ー\|ー\_s*ン\|バ\_s*ロ\_s*フ\_s*ス\_s*ク\|ル\_s*ツ\_s*ー\_s*ム\|チ\_s*ャ\_s*ト\_s*ゥ\_s*リ\_s*ア\_s*ン\)\|K\_s*\%([点gm]\|カ\_s*ッ\_s*プ\|n\_s*o\_s*c\_s*k\_s*O\_s*u\_s*t\|e\_s*n\_s*w\_s*o\_s*o\_s*d\)\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|a\_s*p\_s*a\_s*v\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|o\_s*\%(d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\)\)\)', \ 'l' : '\%([ォォぉェェぇゥゥぅィィぃァァぁ<≪l ̄_≦李左←¬⊃∃∀∨ル∧レラлΛ£Лλl]\|ッ\_s*[ォェゥィァ]\|ッ\_s*[ォェゥィァ]\|っ\_s*[ぉぇぅぃぁ]\|液\_s*晶\|最\_s*小\_s*2\_s*乗\_s*法\|\.\_s*\.\_s*\.\|拉\_s*薩\|聯\_s*想\|補\_s*題\|檸\_s*檬\|手\_s*紙\|学\_s*習\|施\_s*錠\|局\_s*所\|論\_s*理\|ロ\_s*\%([キイアロリブボトメウスコゴグー]\|ペ\_s*ス\|ワ\_s*ー\_s*ル\|エ\_s*ベ\|ヨ\_s*ラ\|フ\_s*ト\|ル\_s*カ\|ベ\_s*リ\_s*ア\|ビ\_s*\%(ー\|ン\_s*グ\|イ\_s*\%(ス\_s*ト\|ン\_s*グ\)\)\|テ\_s*ィ\|サ\_s*ン\_s*\%(ジ\_s*ェ\_s*ル\_s*ス\|ゼ\_s*ル\_s*ス\)\|ニ\_s*ー\|ク\_s*リ\_s*ア\_s*ン\|ッ\_s*\%([ジタテトク]\|キ\_s*\%(ン\_s*グ\|ー\_s*ド\)\|カ\_s*ー\)\|カ\_s*ー\_s*ル\|ケ\_s*ー\_s*\%([トタル]\|シ\_s*ョ\_s*ン\)\|ガ\_s*ー\|ギ\_s*ン\_s*グ\|ジ\_s*\%(ー\|テ\_s*ッ\_s*ク\|ス\_s*テ\_s*ィ\_s*\%(ク\|ッ\_s*ク\)\|カ\_s*ル\|ク\_s*ー\_s*ル\|ッ\_s*[トク]\)\|ラ\_s*ン\|ン\_s*\%([ゴグダ]\|ボ\_s*\%(ク\|ッ\_s*ク\)\|バ\_s*ル\_s*デ\_s*ィ\|ズ\_s*デ\_s*ー\_s*ル\|リ\_s*[ィー]\|ジ\_s*ン\|ド\_s*ン\)\|レ\_s*\%(ア\_s*ル\|ッ\_s*タ\|ー\_s*ヌ\|イ\_s*ン\|ン\_s*\%([ソス]\|ツ\_s*ォ\)\)\)\|\\\_s*L\_s*a\_s*T\_s*e\_s*X\|L\_s*\%(サ\_s*イ\_s*ズ\|L\_s*サ\_s*イ\_s*ズ\|U\_s*N\_s*A\|u\_s*\%(n\_s*a\|c\_s*\%(i\_s*d\|k\_s*y\)\)\|i\_s*\%(a\_s*r\|s\_s*p\|t\_s*e\)\|o\_s*f\_s*t\|A\_s*T\_s*E\_s*X\|a\_s*\%(w\_s*s\_s*o\_s*n\|T\_s*e\_s*X\|s\_s*e\_s*r\_s*W\_s*r\_s*i\_s*t\_s*e\_s*r\)\)\|L\_s*\%([DP]\|サ\_s*イ\_s*ズ\|L\_s*サ\_s*イ\_s*ズ\|u\_s*\%(t\_s*e\_s*t\_s*i\_s*u\_s*m\|c\_s*i\_s*d\)\|i\_s*\%(t\_s*h\_s*i\_s*u\_s*m\|s\_s*p\|n\_s*u\_s*x\)\|E\_s*D\_s*ラ\_s*イ\_s*ト\|e\_s*m\_s*m\_s*a\|o\_s*\%(g\_s*i\_s*c\_s*a\_s*l\_s* \_s*U\_s*n\_s*i\_s*t\_s* \_s*N\_s*u\_s*m\_s*b\_s*e\_s*r\|u\_s*i\_s*s\_s*i\_s*a\_s*n\_s*a\)\|a\_s*\%(w\_s*r\_s*e\_s*n\_s*c\_s*i\_s*u\_s*m\|n\_s*t\_s*h\_s*a\_s*n\_s*u\_s*m\|T\_s*e\_s*X\)\|A\_s*N\)\|研\_s*究\_s*室\|エ\_s*ル\|リ\_s*\%([ィセズザサスダポルラリマナノンヌブアー]\|ャ\_s*マ\|ヤ\_s*ド\_s*ロ\|ヨ\_s*ン\|ゾ\_s*チ\_s*ー\_s*ム\|コ\_s*\%(リ\_s*ス\|ピ\_s*ン\)\|ク\_s*ー\_s*ド\|カ\_s*\%(ー\|オ\_s*ン\)\|ジ\_s*[ンー]\|デ\_s*[ィル]\|ド\_s*カ\_s*イ\_s*ン\|プ\_s*ト\_s*ン\|パ\_s*ー\_s*ゼ\|グ\_s*\%(ニ\_s*ン\|ナ\_s*ン\)\|フ\_s*\%([エト]\|タ\_s*ー\|テ\_s*ィ\_s*ン\_s*グ\)\|テ\_s*ラ\_s*[ルシ]\|チ\_s*ウ\_s*ム\|ソ\_s*\%(ソ\_s*ー\_s*ム\|グ\_s*ラ\_s*フ\_s*ィ\)\|タ\_s*ー\|ト\_s*\%([レル]\|マ\_s*ス\|ア\_s*ニ\_s*ア\|グ\_s*ラ\_s*フ\|バ\_s*ル\_s*ス\_s*キ\_s*ー\)\|オ\_s*\%(タ\_s*ー\_s*ル\|ネ\_s*ル\)\|ミ\_s*\%(テ\_s*ッ\_s*ド\|ッ\_s*[タト]\)\|モ\_s*\%(ー\_s*ジ\_s*ュ\|ネ\_s*ン\|ン\_s*チ\_s*ェ\_s*ッ\_s*ロ\)\|ム\_s*ジ\_s*ン\|キ\_s*\%(ッ\_s*ド\|ュ\_s*ー\_s*ル\|テ\_s*ン\_s*\%(ス\_s*タ\_s*イ\_s*ン\|シ\_s*ュ\_s*タ\_s*イ\_s*ン\)\)\|エ\_s*\%(ゾ\_s*ン\|ー\_s*ジ\_s*ュ\)\|ヒ\_s*テ\_s*ン\_s*シ\_s*ュ\_s*タ\_s*イ\_s*ン\|ネ\_s*\%([アン]\|ッ\_s*ト\|ー\_s*ジ\_s*ュ\)\|ニ\_s*ア\|ベ\_s*\%([ロラ]\|リ\_s*ア\|レ\_s*ー\_s*シ\_s*ョ\_s*ン\|ル\_s*テ\)\|ビ\_s*\%([アー]\|ド\_s*ー\|ン\_s*グ\)\|ュ\_s*\%([スー]\|ブ\_s*リ\_s*ャ\_s*ー\_s*ナ\|リ\_s*ュ\|ド\_s*ミ\_s*ラ\|ク\_s*サ\_s*ン\_s*ブ\_s*ー\_s*ル\|ッ\_s*ク\|シ\_s*ア\_s*ン\|ミ\_s*エ\_s*ー\_s*ル\)\|ロ\_s*\%(イ\|ン\_s*グ\_s*ウ\_s*ェ\)\|ヴ\_s*\%(ィ\_s*ン\_s*グ\_s*ス\_s*ト\_s*ン\|ァ\_s*\%(プ\_s*ー\_s*ル\|イ\_s*ア\_s*サ\_s*ン\)\)\|バ\_s*\%(テ\_s*ィ\|タ\_s*リ\_s*ア\_s*\%(ン\|ニ\_s*ズ\_s*ム\)\|プ\_s*ー\_s*ル\|イ\_s*ア\_s*サ\_s*ン\)\|ッ\_s*\%([ドピプタクチト]\|ス\_s*ン\)\)\)', \ 'm' : '\%([モ脆醪師諸催靄舫腿銛杜森聞捫匁紋問翫玩擡齎靠凭鵙鴃縺悶樅籾椛楓蛻潛濳艾潜殯黐餠用糯餅桃者懶專専物尤勿畚戻許悖故旧下乖求礎素基本元綟捩文默沐杢黙耗檬网莽芒罔耄朦魍艨濛曚矇亡蒙毛孟猛網糢保若望揉燃洩貰藻漏以模母裳楙姆摸茂持喪もメ麪緜眄緬麺門棉綿面蓍珎珍♀娶貭粧妾牝瞽盲娚暈繞萌慈惠恵萠暝謎溟滅姪瞑盟酩銘鳴瑪賞睨奴雌芽碼召女減めム羣榁室簇邨屯連邑叢村紫梅葎宜憤毳槿葮椋酬報尨骸躯旨難睦酷麥麦対邀百迎昔空虚鞅宗棟胸掬娘結笞鞭徒蠧蝕蠹蟲蓆寧筵席莚虫毟貉狢豸貪聟壻婿霧向无無謀武鵡夢群牟梦六剥毋噎蒸咽務矛むミ渠霙溝妊澪薨岑嶺峰峯亂紊淫婬濫妄猥乱※*◇■簔穣簑蓑醜儖慘短惨幹研耳壥廛店操陵鶚崎岬巫尊詔勅敕>」砌汀頻→』】右翠碧緑認幣蹊径倫導途通路道瞠鬟髻湖自蹼蛟瑞癸禊晦漲源鏖港湊南瞶櫁謐水調貢密甕帝蜜覩幸脉脈韭韮竓粍瓱榠螟茗名妙命冥都宮罠閔皆眠明民看彌稔靡觀盈診箕三観美充深壬實視御魅味巳己身弥みマ毬鞠紕蝮麿転稀賓客檀繭黛眉巡囘周防衞衛護守荳菽豆.・。°◯圓槫゜)(丸謾鰻縵鬘懣幡幔蹣蔓瞞卍饅漫滿慢迄笆貧幻瞼蔟疎眩回廻儲申設招繚統纒的蟶孫弯彎籬擬免猿純亮信実委罷圸壗侭飯儘継随髷任蒭芻耙紛鮪見猯塗斈學眦眥眼俎愛学斑斗枡鱒桝舛升萬蠱呪薪槙槇牧窗悗惑円窓襠甼区街町前複亦俣叉跨全瞬木胯股又鍖枕膜幕瑁詣参參妹眛哩迷枚米賄賂埋昧邁毎沫抹奉靺枩秣祀纏祭睫末大太秀勝柾弄優成盛將松匡鉞賢希将誠昌征政正雅仁媽散茉馬在増混交間放摩負枉益敗眞待未麼撒巻魔蒔俟坐嘛舞捲目磨痲先墹真満播万曲卷雑まm光月♪♭♯ム¬⌒÷⊃≠∫∠±⊇⇔∃∇√∧≒∩∬∋∝≦∵Δ⇒∞⊂⊆⊥∀≫∴×∨≧≪≡∂∈∽∪♂曼麻●◎○〇モ〒′−マ最ミメМΜμm]\|ッ\_s*[モメムミマ]\|ッ\_s*[モメムミマ]\|っ\_s*[もめむみま]\|双\_s*\%([手墨親]\|向\_s*き\|差\_s*し\)\|蜀\_s*黍\|唐\_s*土\_s*\%(書\|文\_s*字\)\|両\_s*\%([角親刃]\|差\_s*し\)\|楊\_s*梅\_s*皮\|主\_s*水\|旺\_s*角\|紅\_s*[絹染葉]\|強\_s*請\|虎\_s*落\|痘\_s*瘡\|莫\_s*斯\_s*科\|固\_s*よ\_s*り\|一\_s*徳\|O\_s*l\_s*e\_s*a\_s*l\_s*e\_s*s\|惘\_s*然\|乙\_s*張\|赤\_s*目\_s*魚\|針\_s*孔\|妻\_s*[君合沼]\|墨\_s*西\_s*哥\|鍍\_s*金\|繍\_s*眼\_s*児\|夫\_s*婦\|乳\_s*母\|布\_s*の\_s*子\|没\_s*\%([薬後入却有]\|義\_s*道\|食\_s*子\)\|B\_s*\%(e\_s*r\_s*b\_s*e\_s*r\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*o\_s*r\_s*r\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|浮\_s*腫\|6\_s*日\|6\_s*日\|崇\_s*田\|刀\_s*背\|襁\_s*褓\|零\_s*余\_s*子\|蜈\_s*蚣\|産\_s*霊\|息\_s*子\|k\_s*\$\_s*_\_s*{\_s*i\_s*n\_s*f\_s*}\_s*\$\|蚯\_s*蚓\|A\_s*\%(b\_s*i\_s*e\_s*s\|p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*r\_s*o\_s*s\_s*t\_s*i\_s*c\_s*h\_s*u\_s*m\)\|山\_s*陵\|雎\_s*鳩\|親\_s*王\|嬰\_s*児\|亨\_s*治\|陸\_s*奥\|皇\_s*[子女國]\|3\_s*[つ日]\|3\_s*[つ日]\|角\_s*[鴟髪子]\|七\_s*寸\|鳩\_s*尾\|鷦\_s*鷯\|孤\_s*児\|凝\_s*視\|兎\_s*唇\|R\_s*u\_s*t\_s*a\_s*l\_s*e\_s*s\|神\_s*[子輿酒]\|苗\_s*字\|海\_s*[雲蘊布藻蜂松山]\|P\_s*o\_s*d\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|土\_s*[龍竜産]\|京\_s*都\|横\_s*浜\_s*マ\_s*リ\_s*ノ\_s*ス\|肉\_s*刺\|忠\_s*実\|翻\_s*\%(筋\_s*斗\|車\_s*魚\)\|H\_s*a\_s*m\_s*a\_s*m\_s*e\_s*l\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|不\_s*\%(味\|見\_s*[点転]\)\|兇\_s*々\|凶\_s*鳥\|澗\_s*潟\|勾\_s*玉\|禍\_s*[々禍事言]\|況\_s*し\|澳\_s*門\|苧\_s*麻\|茅\_s*台\_s*酒\|丈\_s*夫\|倍\_s*達\|微\_s*[塵妙睡]\|燐\_s*寸\|驀\_s*地\|L\_s*o\_s*g\_s*a\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|豫\_s*て\|陪\_s*臣\|売\_s*僧\|C\_s*\%(a\_s*s\_s*u\_s*a\_s*r\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*a\_s*t\_s*o\_s*p\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\)\|S\_s*\%(a\_s*p\_s*i\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|c\_s*h\_s*i\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|理\_s*[之元]\|允\_s*彦\|祐\_s*史\|晶\_s*子\|公\_s*[美則輝]\|斉\_s*加\_s*年\|方\_s*夫\|多\_s*言\_s*語\_s*化\|ニ\_s*ー\_s*モ\_s*ニ\_s*ッ\_s*ク\|単\_s*量\_s*体\|会\_s*議\|和\_s*布\_s*[刈蕪]\|中\_s*間\_s*子\|薄\_s*荷\_s*脳\|行\_s*[幸列]\|写\_s*像\|日\_s*\%(米\_s*相\_s*互\_s*防\_s*衛\_s*援\_s*助\_s*協\_s*定\|本\_s*製\)\|M\_s*\%(H\_s*z\|サ\_s*イ\_s*ズ\|S\_s*−\_s*D\_s*O\_s*S\|L\_s*サ\_s*イ\_s*ズ\|r\_s*.\|b\_s*p\_s*s\|c\_s*C\_s*a\_s*r\_s*t\_s*h\_s*y\|o\_s*t\_s*i\_s*f\|a\_s*c\)\|計\_s*算\_s*機\|手\_s*紙\|ザ\_s*ッ\_s*ヘ\_s*ル\_s*=\_s*マ\_s*ゾ\_s*ッ\_s*ホ\|嗜\_s*虐\_s*的\_s*趣\_s*味\|被\_s*虐\_s*\%(趣\_s*味\|淫\_s*乱\_s*症\)\|修\_s*士\|仮\_s*面\|移\_s*送\|M\_s*\%([dngtOo式]\|X\_s*テ\_s*レ\_s*ビ\|サ\_s*イ\_s*ズ\|S\_s*-\_s*D\_s*O\_s*S\|L\_s*サ\_s*イ\_s*ズ\|P\_s*3\_s*プ\_s*レ\_s*\%(ー\_s*ヤ\_s*ー\|イ\_s*ヤ\_s*ー\)\|D\_s*\%(プ\_s*レ\_s*ー\_s*ヤ\_s*ー\|レ\_s*コ\_s*ー\_s*ダ\_s*ー\)\|c\_s*C\_s*a\_s*r\_s*t\_s*h\_s*y\|e\_s*\%(d\_s*u\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*l\_s*e\_s*s\|i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*u\_s*m\|t\_s*a\_s*F\_s*o\_s*n\_s*t\|n\_s*\%(y\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|d\_s*e\_s*l\_s*e\_s*v\_s*i\_s*u\_s*m\)\|C\_s*a\_s*b\)\|u\_s*l\_s*e\|A\_s*C\_s*ア\_s*ド\_s*レ\_s*ス\|a\_s*\%(g\_s*n\_s*\%(o\_s*l\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|e\_s*s\_s*i\_s*u\_s*m\)\|n\_s*\%(u\_s*\%(s\_s*c\_s*r\_s*i\_s*p\_s*t\_s* \_s*E\_s*d\_s*i\_s*t\_s*i\_s*n\_s*g\|e\_s*d\)\|g\_s*a\_s*n\_s*e\_s*s\_s*e\)\|r\_s*y\_s*l\_s*a\_s*n\_s*d\|i\_s*n\_s*e\|k\_s*e\_s*f\_s*i\_s*l\_s*e\|c\_s*\%(h\|i\_s*n\_s*t\_s*o\_s*s\_s*h\)\|s\_s*\%(s\_s*a\_s*c\_s*h\_s*u\_s*s\_s*e\_s*t\_s*t\_s*s\|t\_s*e\_s*r\_s*C\_s*a\_s*r\_s*d\)\)\|i\_s*\%(n\_s*n\_s*e\_s*s\_s*o\_s*t\_s*a\|s\_s*s\_s*\%(i\_s*s\_s*s\_s*i\_s*p\_s*p\_s*i\|o\_s*u\_s*r\_s*i\)\|c\_s*\%(r\_s*o\_s* \_s*S\_s*o\_s*f\_s*t\_s*w\_s*a\_s*r\_s*e\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*s\|h\_s*i\_s*g\_s*a\_s*n\)\)\|I\_s*\%(T\|P\_s*S\|M\_s*D\)\)\|エ\_s*ム\)', \ 'n' : '\%([ンンんノ麕咒燧烽詛呪孔伯朔雅悳弼教糊典規矩憲範宜紀哲修惟允亘攵展順暢信則法後罵吭咽喉鑿蚤々湾宣曰覘臨稀望覗殘遺残鋸芒禾騰幟昇登上檐簷軒逸遁王瑙衲曩碯皇腦嚢膿能脳農除延熨廼退埜野飲載乘飮之伸嚥述乗呑−濃陳のネ塒姉濘檸嚀聹侫寧佞鼡鼠拗猫嫉妬希願捏熱労犒葱狙閨睡棔眠稔然棯懇拈撚燃念年涅粘値根捻嶺祢錬寝袮捩音練禰煉子寢ねヌ絖垈饅帛幣鵺主蛻拭温布沼盜偸窃盗抽擢緯糠額濡脱怒縫抜奴拔貫塗ぬニ楡蒻潦鷄鶏瀑庭繞獰女尿韭薤眈睨韮姙刄儿蒜葫刃忍∀妊認任人乳擔蜷担濁賑握俄鳰臭匂沸錵贄僞偐贋偽柔靤如苦膠霓滲虹躙廿《》◎∬』『悪憎兄螺鰊鯡錦西入新肉‖岻逃児弐二邇2貳迩煮貮迯仁尼似荷2弍丹にナ靡抔嫐嬲鯆屶釶鉈泥薺詰若慨歎嘆抛毆擲撲殴慰治癒等猶直泪波邉辺邊鍋浪某棘棗懷懐夏擦梨情懶譌艶訛鉛鮠癜鯰韲鱠膾憖怠鈍腥捺凖擬准準謎洋涙宥傾灘詠霖眺痼存乍流轅永和梛椥渚長莫毋勿半・媒仲中7斜七蔑乃尚内繩畷縄苗滑鞣惱悩就哉也斉形業徳娚垂喃∵楠尓爾汝男軟難何倣枹均柞双肄列⊃⇒→楢習竝茄啾納無那拿舐娜做涕投馴南熟並儺生凪鳴為綯奈嘗哭嚶爲狎薙萎菜魚慣泣亡失痿撫啼な┘┛│┃┨┫┤┥├┝┣┠┼╋╂┿成#∋∇名┗└n日≒ニネ¬〜≠ナヌノΝНнνn]\|帳\_s*面\|狼\_s*[烟煙]\|惚\_s*気\|暖\_s*[簾気]\|礼\_s*江\|功\_s*晶\|祈\_s*子\|訓\_s*子\|賀\_s*子\|式\_s*部\_s*省\|記\_s*代\|倫\_s*[明子宗]\|敬\_s*之\|賭\_s*弓\|誠\_s*也\|敦\_s*子\|悦\_s*旦\|祝\_s*[女詞]\|仰\_s*け\_s*反\|盧\_s*泰\_s*愚\|逆\_s*上\|凌\_s*霄\_s*花\|姐\_s*さ\_s*ん\|杜\_s*松\|強\_s*請\|合\_s*歓\|微\_s*温\|零\_s*余\_s*子\|酸\_s*漿\|鐃\_s*鉢\|鰾\_s*膠\|I\_s*I\_s*部\|耳\_s*根\|面\_s*皰\| \_s*2\_s* \_s*次\_s*曲\_s*面\|M\_s*y\_s*r\_s*i\_s*s\_s*t\_s*i\_s*c\_s*a\_s*c\_s*e\_s*a\_s*e\|莞\_s*爾\|P\_s*b\|L\_s*e\_s*a\_s*d\|海\_s*[苔鼠]\|C\_s*\%(e\_s*l\_s*a\_s*s\_s*t\_s*r\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*r\_s*y\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*l\_s*e\_s*s\)\|雪\_s*崩\|竹\_s*節\_s*虫\|7\_s*[日個]\|地\_s*震\|行\_s*[木方]\|大\_s*\%(蒜\|理\_s*石\)\|蛞\_s*蝓\|弱\_s*竹\|追\_s*儺\|済\_s*\%(し\_s*崩\|り\_s*物\)\|可\_s*成\|平\_s*城\|不\_s*成\|空\_s*リ\_s*ス\_s*ト\|T\_s*h\_s*e\_s* \_s*N\_s*e\_s*t\_s*w\_s*o\_s*r\_s*k\_s* \_s*I\_s*n\_s*f\_s*o\_s*r\_s*m\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\|S\_s*o\_s*\%(l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|d\_s*i\_s*u\_s*m\)\|紐\_s*育\|フ\_s*ォ\_s*ン\_s*・\_s*ノ\_s*イ\_s*マ\_s*ン\|ヤ\_s*ー\_s*ノ\_s*ッ\_s*シ\_s*ュ\_s*・\_s*フ\_s*ォ\_s*ン\_s*・\_s*ノ\_s*イ\_s*マ\_s*ン\|オ\_s*ラ\_s*ン\_s*ダ\|ア\_s*メ\_s*リ\_s*カ\_s*ネ\_s*ッ\_s*ト\_s*ワ\_s*ー\_s*ク\|番\_s*号\|節\_s*点\|N\_s*\%([点O]\|ク\_s*ィ\_s*ー\_s*ン\|\.\_s*Y\_s*\.\|i\_s*f\_s*t\_s*y\|I\_s*F\_s*T\_s*Y\|a\_s*\%(v\_s*i\|t\_s*u\_s*r\_s*e\)\|e\_s*\%(X\_s*T\|m\_s*a\_s*c\_s*s\|w\_s*−\_s*J\_s*e\_s*r\_s*s\_s*e\_s*y\|W\_s*S\|u\_s*r\_s*a\_s*l\)\|E\_s*\%(m\_s*a\_s*c\_s*s\|T\_s*t\_s*a\_s*l\_s*k\)\|o\_s*\%(.\|ё\_s*l\)\)\|夜\_s*想\_s*曲\|諾\_s*威\|正\_s*常\|N\_s*\%([dpbaeoi]\|R\_s*Z\_s*I\|-\_s*g\_s*r\_s*a\_s*m\|G\_s*ワ\_s*ー\_s*ド\|H\_s*K\_s*\%(ホ\_s*ー\_s*ル\|ラ\_s*ジ\_s*オ\)\|T\_s*T\|Y\_s*ダ\_s*ウ\|U\_s*L\_s*L\|A\_s*S\_s*A\|E\_s*\%(C\|p\_s*o\_s*c\_s*h\|m\_s*a\_s*c\_s*s\)\)\|窒\_s*素\|エ\_s*ヌ\)', \ 'o' : '\%([オ俺游泳指妖在畢檻澱氈拇親愚疎颪卸念錘惟慮赴徐趣俤羈主想表重面隱瘟園Å怨♀妾温恩鈍悍臣覺溺朦朧思覚榲現朮桶踴威嚇戯縅棘駭愕驚躍踊傲奢驕嚴厳遣痴瘧怒行怠蒹補荻獺懼惧怐虞畏恐襲甥笈及綬葹仝ヾ〃ゝヽゞ々同唖繦襁鴦鴛教几忍筬收兎抑稚長幼治理収修遲檍納後遅賻饋諡贈送憶袵臆拜拝冒犯岳崗峻阜侵奇陵女陸丘岡欄斧自己各戦鬼衰劣囮頤訪貶乙♂漢音弟阿脅怯首夥誘屋膃億穩穏煽煕熈燠熾諚掟興隠沖毆姶澳秧浤凰徃枉罌殃翁鴬泓奧嚶墺悒泱閘瓮襖蓊惶鸚懊媼嫗鴎怏鏖謳旺凹鴨櫻欒樗楝殴朷甌汪横往鞅歐嘔陷陥遠奄蓋夛応果應掩蔽概欧公邑麋薤被仰扇皇狼弁鵬鴻鳳黄奥多衽覆粱凡鰲頁王居央郎措擱堕尾置麻朗怖悪追帶折塢負墜織老汚生勇小嗚夫惜起唹落男推将穂壓淤御緒墮逐下牡捺雄降桜押圧苧帯於終乎おo大◎∞和∝♪∨∪開оОο○ωΟオΩo]\|濠\_s*太\_s*剌\_s*利\|父\_s*[娘子]\|母\_s*[子娘屋]\|万\_s*年\_s*青\|本\_s*懸\_s*魚\|玩\_s*具\|沢\_s*瀉\|A\_s*l\_s*i\_s*s\_s*m\_s*a\_s*t\_s*a\_s*l\_s*e\_s*s\|厭\_s*離\|乳\_s*母\_s*日\_s*傘\|陰\_s*[陽地]\|飲\_s*[食酒]\|慍\_s*色\|婦\_s*系\_s*図\|手\_s*術\|螻\_s*蛄\|十\_s*八\_s*番\|鉄\_s*漿\|海\_s*髪\_s*海\_s*苔\|虎\_s*魚\|花\_s*魁\|美\_s*味\|含\_s*羞\_s*草\|白\_s*粉\|渡\_s*島\|通\_s*事\|訳\_s*語\|晩\_s*[稲生]\|可\_s*笑\|惡\_s*寒\|傍\_s*[目惚見]\|叔\_s*[父母]\|伯\_s*[父母]\|姨\_s*捨\|少\_s*女\|侠\_s*気\|G\_s*u\_s*t\_s*t\_s*i\_s*f\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|D\_s*i\_s*l\_s*l\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|H\_s*y\_s*p\_s*e\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|霊\_s*屋\|蝌\_s*蚪\|飫\_s*肥\|佩\_s*物\|良\_s*人\|纓\_s*田\|C\_s*o\_s*p\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|鷹\_s*揚\|椀\_s*飯\_s*振\_s*\%(舞\|る\_s*舞\)\|相\_s*知\|鶯\_s*語\|近\_s*江\|零\_s*落\|越\_s*[生訴知智度]\|彼\_s*方\|祖\_s*[神父母]\|車\_s*前\|従\_s*祖\_s*[母父]\|青\_s*[梅海木]\|太\_s*\%(田\|安\_s*万\_s*侶\|上\_s*天\_s*皇\)\|巨\_s*頭\|逢\_s*[魔瀬隈坂]\|そ\_s*の\_s*他\|承\_s*知\_s*し\_s*ま\_s*し\_s*た\_s*\.\|烏\_s*[滸龍]\|t\_s*h\_s*e\_s* \_s*O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*a\_s*n\_s*a\_s*g\_s*e\_s*m\_s*e\_s*n\_s*t\_s* \_s*G\_s*r\_s*o\_s*u\_s*p\|立\_s*石\_s*電\_s*機\|職\_s*業\|楕\_s*円\|ウ\_s*\%(ィ\|ー\_s*\%(ズ\|ロ\_s*ン\)\|ロ\_s*ボ\_s*ロ\_s*ス\)\|出\_s*力\|ア\_s*\%(ワ\|ザ\_s*ー\|ウ\_s*\%([チト]\|タ\_s*ー\)\)\|基\_s*本\_s*ソ\_s*フ\_s*ト\_s*ウ\_s*ェ\_s*ア\|一\_s*\%(昨\_s*[年日]\|対\_s*一\)\|ワ\_s*ン\|ま\_s*た\_s*は\|論\_s*理\_s*和\|聖\_s*譚\_s*曲\|水\_s*中\_s*酸\_s*素\_s*破\_s*壊\_s*剤\|蛋\_s*白\_s*石\|最\_s*適\_s*化\|O\_s*\%([脚型]\|R\_s*E\|\.\_s*K\_s*\.\|S\_s*9\|リ\_s*ン\_s*グ\|p\_s*e\_s*n\_s*\%(L\_s*o\_s*o\_s*k\|W\_s*i\_s*n\_s*d\_s*o\_s*w\_s*s\)\)\|歌\_s*劇\|演\_s*算\_s*子\|操\_s*作\|酸\_s*素\|O\_s*\%([型脚sS]\|h\_s*i\_s*o\|k\_s*l\_s*a\_s*h\_s*o\_s*m\_s*a\|b\_s*j\_s*e\_s*c\_s*t\_s*-\_s*O\_s*r\_s*i\_s*e\_s*n\_s*t\_s*e\_s*d\|O\_s*\%(D\_s*L\|P\_s*L\)\|M\_s*R\_s*O\_s*N\|A\_s*ク\_s*リ\_s*ー\_s*ナ\_s*ー\|C\_s*R\_s*ソ\_s*フ\_s*ト\|r\_s*e\_s*g\_s*o\_s*n\|''\_s*R\_s*e\_s*i\_s*l\_s*l\_s*y\_s* \_s*J\_s*a\_s*p\_s*a\_s*n\|リ\_s*ン\_s*グ\|p\_s*e\_s*n\_s*W\_s*i\_s*n\_s*d\_s*o\_s*w\|x\_s*y\_s*g\_s*e\_s*n\)\)', \ 'p' : '\%([本磅椪烹砲法方報舖舗歩ぽ併閉閇蔽×遍編片邉篇辺邊屁ぺ幅服風分腐布符泌匹俵憑票品筒平日犯版搬幇板払腹發発走箱拍朴駮泊博愽包放配盃敗牌杯八破羽波播張ぱp鉛Ψψぴ±+ぷΦφ├┣∝北┴‰.%£〒・点プポ頁)(∂¶‖ペパПΠп燐πピp]\|ッ\_s*\%(ホ\_s*゚\|ヘ\_s*゚\|フ\_s*゚\|ヒ\_s*゚\|ハ\_s*゚\)\|ッ\_s*[ポペプピパ]\|っ\_s*[ぽぺぷぴぱ]\|ホ\_s*゚\|先\_s*斗\_s*町\|ヘ\_s*゚\|祕\_s*[露魯]\|フ\_s*゚\|釜\_s*山\|普\_s*魯\_s*西\|ヒ\_s*゚\|皮\_s*蛋\|光\_s*一\|ハ\_s*゚\|麺\_s*麭\|巴\_s*\%(里\|奈\_s*馬\)\|C\_s*y\_s*c\_s*l\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|S\_s*y\_s*n\_s*a\_s*n\_s*t\_s*h\_s*a\_s*e\|排\_s*骨\|B\_s*r\_s*o\_s*m\_s*e\_s*l\_s*i\_s*a\_s*l\_s*e\_s*s\|L\_s*e\_s*a\_s*d\|白\_s*[板酒金]\|シ\_s*\%(ュ\_s*ー\_s*ド\|ロ\_s*シ\_s*ビ\_s*ン\)\|サ\_s*\%(ー\_s*ム\|イ\_s*\%([ズクケコ]\|ロ\_s*シ\_s*ビ\_s*ン\|リ\_s*ウ\_s*ム\|キ\_s*ッ\_s*ク\)\)\|+\_s*α\|ホ\_s*\%(ン\|ス\_s*ゲ\_s*ン\)\|ヒ\_s*ロ\_s*ポ\_s*ン\|比\_s*\%(布\|律\_s*賓\)\|フ\_s*\%(リ\_s*ジ\_s*ア\_s*ン\|レ\_s*\%(イ\_s*ジ\_s*ン\_s*グ\|ー\_s*\%(ズ\|ジ\_s*ン\_s*グ\)\)\|タ\_s*レ\_s*イ\_s*ン\|ォ\_s*\%([ーンノト]\|ボ\_s*ス\|ビ\_s*ア\|ス\_s*フ\_s*ァ\_s*ー\|ニ\_s*ー\)\|ァ\_s*\%(イ\|ラ\_s*オ\|ー\_s*\%([ジマ]\|ミ\_s*ン\_s*グ\)\|ン\_s*\%(ト\_s*ム\|タ\_s*ズ\_s*[ムマ]\)\|ル\_s*[ツス]\|レ\_s*ノ\_s*プ\_s*シ\_s*ス\)\|ィ\_s*\%([ロル]\|ジ\_s*\%(ッ\_s*ク\_s*ス\|カ\_s*ル\)\|ー\_s*ビ\_s*ー\|ッ\_s*シ\_s*ン\_s*グ\|レ\_s*モ\_s*ン\|ラ\_s*デ\_s*ル\_s*フ\_s*ィ\_s*ア\|リ\_s*\%([スーアパ]\|ッ\_s*[プパ]\|ピ\_s*\%(ン\|ー\_s*ヌ\)\)\)\|ェ\_s*\%(ー\_s*\%([ベズ]\|ジ\_s*ン\_s*グ\)\|イ\_s*ズ\|ロ\_s*モ\_s*ン\|ニ\_s*\%(ル\|ッ\_s*ク\_s*ス\|キ\_s*ア\|ー\_s*ル\)\|ノ\_s*\%(キ\_s*シ\|ー\_s*ル\)\)\)\|述\_s*語\|証\_s*明\|タ\_s*ン\_s*パ\_s*ク\_s*質\|処\_s*理\|手\_s*続\_s*き\|進\_s*行\|算\_s*譜\|利\_s*潤\|南\_s*瓜\|宣\_s*伝\|公\_s*告\|真\_s*珠\|P\_s*\%(波\|L\_s*法\|C\_s*\%(/\_s*A\_s*T\|9\_s*8\|モ\_s*デ\_s*ル\)\|o\_s*s\_s*t\_s*S\_s*c\_s*r\_s*i\_s*p\_s*t\|S\_s*.\|.\_s*S\_s*.\|i\_s*t\_s*I\_s*n\_s*n\|r\_s*o\_s*\%(l\_s*o\_s*g\|t\_s*e\_s*o\_s*n\)\|e\_s*r\_s*\%(l\|i\_s*o\_s*d\)\)\|永\_s*続\|カ\_s*リ\_s*ウ\_s*ム\|葡\_s*萄\_s*牙\|重\_s*合\_s*体\|多\_s*相\_s*型\|バ\_s*テ\_s*レ\_s*ン\|貼\_s*り\_s*付\_s*け\|論\_s*文\|偏\_s*執\_s*[狂病]\|引\_s*数\|リ\_s*ン\|P\_s*\%([umdCaor]\|K\_s*戦\|D\_s*F\_s*フ\_s*ァ\_s*イ\_s*ル\|コ\_s*ー\_s*ド\|タ\_s*イ\_s*ル\|\.\_s*S\_s*\.\|S\_s*\%(\.\|Y\_s*・\_s*S\)\|I\_s*C\_s*マ\_s*イ\_s*コ\_s*ン\|l\_s*\%(a\_s*t\_s*i\_s*n\_s*u\_s*m\|u\_s*t\_s*o\_s*n\_s*i\_s*u\_s*m\)\|E\_s*T\_s*ボ\_s*ト\_s*ル\|O\_s*S\_s*\%(シ\_s*ス\_s*テ\_s*ム\|I\_s*X\|T\_s*メ\_s*ソ\_s*ッ\_s*ド\)\|e\_s*\%(r\_s*l\|n\_s*\%(t\_s*\%(o\_s*x\_s*y\_s*l\_s*i\_s*d\_s*a\_s*e\|i\_s*u\_s*m\)\|n\_s*s\_s*y\_s*l\_s*v\_s*a\_s*n\_s*i\_s*a\)\)\|h\_s*o\_s*s\_s*p\_s*h\_s*o\_s*r\_s*u\_s*s\)\)', \ 'q' : '\%([配椚橡檪櫪栩椡椪椢湫櫟含纐柵婚屎糞癖潛潜鵠裹凹窪馘括縊踵跟頚軛珞頸首諄鞋履窟寛狐轡覆靴沓碎砕管条降件頽崩屑葛釘莖茎陸杙株杭掘崛倔鶏鐃藥擽薬樟楠髪酒梳櫛串釧與与挫籖鯀鯨鬮籤隈熊艸嚔藾叢鏈腐鎖種Ξξ臭日茸菌楔草圀邦國国髭漱嗽吻嘴喙唇脣蛇梔腔φ劫刧 空粂裙勳熏皹桾皸醺下薫燻訓勲葷君委詳钁精企鍬加咥銜桑塊某暝晦峅競昏冥眛罔鮓較比闇位鞍藏暗倉廚厨涅々〃ゝヽゞ仝ヾ曇雲蜘栗狂包俥車曲廓郭梍枢踝畔鉄鐵★●■玄蔵黒拘食徠久孔桍窶暮焼懼駒柧苦朽区眩吁繰庫垢駆鉤紅呉倶駈汲宮枸劬矩煦驅口9瞿工悔供功吼怐喰玖貢九惧来來區組奇句狗鳩酌絎嶇躯衢屈刳クくq‘“’”♪ケ?ク¶q]\|ッ\_s*ク\|ッ\_s*ク\|っ\_s*く\|姑\_s*娘\|箜\_s*篌\|救\_s*世\|莎\_s*草\|傀\_s*儡\|被\_s*下\_s*度\|百\_s*[濟済]\|果\_s*物\|恭\_s*敬\|9\_s*月\|長\_s*月\|秧\_s*鶏\|究\_s*竟\|釉\_s*掛\|典\_s*薬\_s*寮\|天\_s*鼠\_s*矢\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|探\_s*湯\|誓\_s*湯\|球\_s*磨\|六\_s*合\|地\_s*祇\|都\_s*子\|州\_s*光\|山\_s*梔\_s*子\|崑\_s*央\|群\_s*衆\|慈\_s*姑\|旧\_s*\%(訳\|唐\_s*書\)\|c\_s*r\_s*e\_s*s\_s*c\|海\_s*月\|水\_s*[鶏母]\|内\_s*蔵\_s*助\|K\_s*r\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|公\_s*\%([家方卿界美事文]\|出\_s*挙\)\|佝\_s*僂\_s*病\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|胡\_s*桃\|C\_s*\%(r\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\)\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|Q\_s*&\_s*A\|珠\_s*穆\_s*朗\_s*瑪\|チ\_s*ョ\_s*モ\_s*ラ\_s*ン\_s*マ\|Q\_s*\%(I\_s*C\|R\_s*コ\_s*ー\_s*ド\|C\_s*サ\_s*ー\_s*ク\_s*ル\|U\_s*O\_s*カ\_s*ー\_s*ド\)\|『\_s*』\|コ\_s*\%(ー\_s*ラ\_s*ン\|ン\_s*テ\_s*ィ\_s*フ\_s*ァ\_s*イ\_s*ア\)\|問\_s*合\_s*せ\|カ\_s*\%(ザ\_s*ン\|タ\_s*ー\_s*ル\|ス\_s*バ\|ー\_s*ヌ\_s*ー\_s*ン\|ナ\_s*ー\_s*ト\|ダ\_s*フ\_s*ィ\|リ\_s*テ\|ド\_s*リ\_s*ー\_s*[ルユ]\|ル\_s*\%(チ\_s*[エェ]\|テ\_s*\%(ィ\_s*エ\|ッ\_s*ト\)\)\|ン\_s*タ\_s*[ムスン]\)\|質\_s*問\|キ\_s*\%(ト\|ブ\_s*ラ\|ホ\_s*ー\_s*テ\|ハ\_s*ー\_s*ダ\|ル\_s*\%(ト\|テ\_s*ィ\_s*ン\_s*グ\)\|ー\_s*ン\|ノ\_s*ン\|ッ\_s*シ\_s*ュ\|ュ\_s*\%(ー\|エ\_s*リ\)\)\)', \ 'r' : '\%([ロ崘侖崙堽栄論漉祿轆碌肋勒麓禄鹿6録蘢滝潦榔簍柆鑞弄咾瑯焜朖螂螻樓隴哢實臈槞僂瓏勞薐琅朧壟撈臘郎瘻廊牢浪蝋癆聾楼篭籠狼漏朗蘆顱炉髏爐櫨蕗賂艪瀘臚枦輅鹵廬櫓轤鷺驢艫櫚滷ろレ洌鴒聆蛎糲綟儷蛉砺苓唳勵〇澪犁齡蠡囹齢黎羚戻禮祈隸茘麗隷玲伶癘励零冷例冽劣烈裂列癧轣檪櫪靂鬲瀝礫轢歴瀲鎌縺嗹漣鏈匳斂濂戀奩輦簾櫺∧聨憐恋蓮煉錬攣練聯廉連れル♪路盧泪壘縲瘰誄涙羸塁累類鏤屡縷褸婁陋璢るリ犂篥葎率慄栗淕勠六戮陸律擽畧暦掠略鏐鉚窿餾畄旒瀏苙霤瑠嶐澑瘤嚠笠榴溜硫琉留立柳粒劉隆流痳鈴麟P懍躪藺鄰棆醂菻廩躙淪厘凜霖琳悋綸淋禀稟凛鱗倫吝隣林燐臨侶絽踉梠膂虜呂慮仂力緑裲鐐椋靈魎崚鬣嶺獵楞怜暸倆繆粮廖兩蓼鷯粱輌凉輛燎瞭聊陵令梁糧諒霊龍凌遼漁亮寮⇔涼繚撩綾療量竜菱僚領喨了稜寥両料閭旅離吏履裡璃理釐痢裏俐俚莅漓利驪李哩梨詈悧罹浬籬里莉りラΛλ亂儖攬覧臠覽瀾欒襴婪繿欖檻籃巒嬾纜襤懶爛藍鸞卵濫闌嵐欄乱蘭労剌溂老埓埒猟薤辣喇樂珞犖絡駱酪烙楽落洛徠蕾賚醴罍櫑擂儡耒籟莱磊癩來礼雷頼来們裸等鑼邏蘿拉螺騾良らr右→ТбуЖВоЙЗЪжзИУЯвяшфКСлЁХпОЦЭЧФЫЩъ魯Бы露ШйхМкПгдмцНЛёаиэетАГчЬюЕЮсьнщД輪根√羅ロ々ラルレリРρΡрr]\|ッ\_s*[ロレルリラ]\|ッ\_s*[ロレルリラ]\|っ\_s*[ろれるりら]\|鱸\_s*魚\|芦\_s*[有花]\|濾\_s*[胞過紙]\|6\_s*[時月]\|水\_s*無\_s*月\|檸\_s*檬\|坩\_s*堝\|A\_s*\%(c\_s*t\_s*a\_s*e\_s*a\|p\_s*o\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|C\_s*\%(a\_s*l\_s*y\_s*c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|h\_s*o\_s*r\_s*i\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|鯉\_s*[魚城]\|二\_s*\%(索\|翻\_s*縛\)\|V\_s*e\_s*r\_s*t\_s*i\_s*c\_s*i\_s*l\_s*l\_s*a\_s*t\_s*a\_s*e\|O\_s*r\_s*c\_s*h\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|M\_s*i\_s*c\_s*r\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\|L\_s*\%([ruia]\|e\_s*i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*a\_s*l\_s*e\_s*s\|A\_s*N\_s*ケ\_s*ー\_s*ブ\_s*ル\)\|海\_s*獺\|G\_s*\%(e\_s*n\_s*t\_s*i\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|y\_s*\%(n\_s*a\_s*n\_s*d\_s*r\_s*a\_s*e\|m\_s*n\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\)\|関\_s*係\_s*デ\_s*ー\_s*タ\_s*ベ\_s*ー\_s*ス\|数\_s*理\_s*解\_s*析\_s*研\_s*究\_s*所\|京\_s*都\_s*大\_s*学\_s*数\_s*理\_s*解\_s*析\_s*研\_s*究\_s*所\|電\_s*気\_s*通\_s*信\_s*研\_s*究\_s*所\|東\_s*北\_s*大\_s*\%(学\_s*電\_s*気\_s*通\_s*信\_s*研\_s*究\_s*所\|通\_s*研\)\|限\_s*定\_s*命\_s*令\_s*セ\_s*ッ\_s*ト\_s*計\_s*算\_s*機\|範\_s*囲\|規\_s*則\|紅\_s*玉\|要\_s*求\|検\_s*索\|復\_s*帰\|返\_s*[事信]\|拒\_s*否\|反\_s*射\_s*鏡\|参\_s*\%(考\_s*文\_s*献\|照\_s*型\)\|R\_s*\%(I\_s*N\_s*A\|&\_s*D\|S\_s*−\_s*2\_s*3\_s*2\_s*C\|u\_s*m\_s*b\_s*l\_s*e\|e\_s*n\_s*o\)\|機\_s*能\_s*回\_s*復\_s*訓\_s*練\|再\_s*帰\_s*的\|認\_s*識\|R\_s*\%([bnfeauh]\|i\_s*c\_s*h\_s*a\_s*r\_s*d\_s* \_s*M\_s*\.\_s* \_s*S\_s*t\_s*a\_s*l\_s*l\_s*m\_s*a\_s*n\|C\_s*S\|S\_s*S\_s*リ\_s*ー\_s*ダ\|I\_s*S\_s*C\|A\_s*M\|O\_s*M\|E\_s*\%(M\_s*睡\_s*眠\|T\_s*U\_s*R\_s*N\_s*キ\_s*ー\|A\_s*D\_s*M\_s*E\)\)\|正\_s*規\_s*表\_s*現\|ア\_s*ー\_s*ル\)', \ 's' : '\%([ソ似杣灌傍峙毓育具供備害底苑薗園儲酘貮埆妬埣讒譏詆誹謗濡外猝率喞熄仄息足促束測側燥偬雙帚艘箒諍滝嗽剏湊蔟赱鯵抓嫂贈樔屮壯愡葱澡瀧艚勦歃叟裝竈梍蚤甑搶笊窗薮奘崢槽筝菷弉輳爭掫竃譟箱髞嗾懆瘡孀窓踪匝噪遭艙爪糟莊倉淙曹匆怱繰宋漕簇槍躁鎗箏綜喪痩藻艸葬壮操掻掃奏蹌滄争草層創蒼叢僧走惣送叛乖抑諳某橇轌艝鱒邨巽噂拵忖蹲樽孫遜存尊損囎祚租酥措踈鼡阻詛礎疏疎其蘓齟胙副鼠噌反愬蔬沿祖塑姐訴爼逸組俎徂粗麁疽甦沮咀想そセ芹鬩旃錢刋箭羶潛筌孅阡栫舩氈纎濺舛甎銛簽湶茜槧巛吮癬籤倩痊孱擶贍纖仟磚燹揃綫喘涎荐饌槫濳沾籖筅蟾牋苫專翦亘鐫僣韆箋僊殱殲闡釧賎餞羨顫甅竰糎¢陝踐銓閃潺遷銑栴川剪煽譫僉瞻践跣栓疝詮銭穿戰僭繊腺泉嬋擅淺鮮専潜扇蘚船浅線撰宣洗煎戦千忙伜倅逼蝉旋屑鱈薛椄絏洩卩泄紲攝緤褻浙竊℃窃拙摂接節楔關磧蓆晰威裼績蹐迹蹠跖跡瘠藉勣籍淅晢夕鶺潟碩惜析関席隻甥韲嘶菁瀞晟貰擠睛筬淒婿撕牲齏情萋穽躋掣腥逝惺旌蜻整靖誓制晴攻瀬急勢世競畆丗糶畝堰脊せス鯣鋭坐座李既已昴術辷全滑皇脛臑裾双英村選優営寸漱雪濯薦啌勸啜勧芒薄煤賺鼈捩筋頗亮丞甫輔佑祐介助蘇裔陶曽乃曾即則淳漁篶鑾凉漫硯雀涼鱸鮓鮨遊椙犁耒犂篦隙尽末眇縋管菅廢頽廃窘救掬尠寡粭糘菫速純鈴炭角墨隅】【鄒數陬雛芻菘嵩崇趨樞∃∵¬⌒∀÷≠Δ≫⇒∴×∨≧∫∠∇±≪∧∞≒⇔∩∂∈∬∋∝枢錘帥粹騅陲捶忰悴邃瘁翆萃榱隹誰醉遂膵燧彗綏錐穂炊翠⊥H吹粋推水酔睡棲統耡総漉饐住空寿籔醋簾棄直鋤巣栖剥磨梳擂澂掏總剃好過拗澄吸喫据壽透シ埀謐蘂蕋蕊痺褥茵鵐蔀鷸鴫霑入蔵嶌縞嶋島凋澀沫澁渋縛暫屡荵凌鎬忍簧慕舖↓襪健認啝随從从.舌扱罔虐Θθ秕粃椎椣卓尿貎肉臠猪榻黙蜆楙誠茂成繁重惻鋪陣頻閾櫁樒鹽汐潮瑟蛭疾櫛隲隰嫉蟋漆躾膝失室沒鎭沈滴雫賤鎮靜顰尓爾聢確併◇◆鹿貭叱征質卯滋撓科品鬼鍜錏錣痼凝而拉設萎栞襞吝咳爲什導怪汁験記徴著印○〇』銀城代『報調蝨濕湿七僕楚笞霜臀退斥尻冩寫舍者卸柘炙暹諜喋煮這謝鯱奢赦捨瀉妁鑠嚼抉蹟勺決釋皙爍昔斫蜥刳芍酌爵折癪笏赤灼綽石尺借赭写鷓積舎車斜釈社洙麈殳蛛娶株娵諏鬚侏繻銖卒槭蹙俶倏菽叔蓿粥戚肅淑夙粛縮取殊趣珠恤卆蟀出洲泅楸綉溲遒酬鷲駲楫緝嗅葺穐蹤繍螽讐甃萩楢逎讎鰍售岫收驟舅囚姑蓚鞦脩輯醜習羞酋聚舟秀祝袖啾拾蒐収執衆愁襲就臭蹴週終褶州宗椶棕守朱撞種修周手首狩須儁惷悛雋皴墫蕣順蠢舜旬竣峻駿逡筍春瞬俊蓁畛矧縉蔘鷏齔嗔忱譛袗譖娠疹哂脣簪怎晉鷆臻甄槙寢岑瀋箴軫榛秦襯診鉐津駸讖紳斟唇針呻蜃賑芯瞋振殿侵辛薪晨辰震宸森眞愼伸慎寝晋身進深審親臣鍼心宍信神薯墅杵岨且藷黍苜渚砠狙嶼處胥蜍苴曙背塩緒枌雎蔗庶処所書暑奬簫浹橸舂艢廂陞炒鍬庠獎梢璋將厰邵摺淞訟樅筱燮橡餉愴韶誚峭甞姓敞聲懾稍嘗腫政顳枩慯殤秤湫礁井星廠剿妝霎蛸劭觴愀升鬆樵鷦嶂醤従慫逍倡竦爿墻牆薔笙樟装肖菖≦<湘誦聳檣稱声裳)(蒋蕉嘯慴精霄鈔粧彰鏘悚蕭悄瀟哨焦憔匠鍾償瘴漿頌詔沼妾請衝唱薑庄渉奨娼床牀椒抄荘翔鉦宵傷踵銷召賞猩症昭燒猖昌少尚松晶憧紹捷象承證正笑将称焼照勝招章詳消鐘証硝掌省商昇昃禝稷寔矚謖餝稙軾嗇屬穡拭属燭贖色飾囑嘱織蝕式喰蜀殖諸初埴植食職笶姉徙誣氏思染飼祗時弑滲梔摯肢詩咨祉泗輜厶屍強貲若至師舐咫只紙施誌呰示締厮啻次賜熾趾駟漬笥贄此司如沚尸髭肆閉祀鷙諡枝篩豕滓巵始妛及弛絲浸閇斯翅緊帋揣伺為糸駛痣矢死敷恃茨旨沁嘴蚩試釶俟瓷觜廝緇祠梓址詞之使獅志歯紫雌姿柿諮占絞視嗣識子四恣阯侈幟卮凍史領竢市巳祇齒資謚耆覗脂芝痴粢孜錙耜齎自屎茲岐嗤砥仔しサ杓寤雨鮫清鞘莢騷觸触鰆椹爽騒澤沢濬掠新攫杷渫浚更士桾申白素讚戔蒜驂芟鑚爨汕潸斬餐嶄纉攅慘粲蠶跚衫彡杉秋桑…≡簒纂鯢燦珊繖棧刪卅參鑽蚕算傘3贊▼▽3参賛O散惨産酸嘸摩遉樣彷碍妨様山漣蔑貶垂鮭叫仙寞鏥寥皺淋鯆生虱鯖捌偖扨偵宿禎貞定哘誘蝎蠍授皿祥桟匙簓障囁私篠支捧笹逧迫讃鐸蛹宛真尖碕嵜前崎魁峺遮哢囀候侍核実俚説了暁達逹哲諭慧敏叡聰訓知郷恵智聡悟理杆里小棹竿紮刹箚扎皐撮搜寒捜相主盛觚柧盞盃杯榮栄倒肴魚阪界堺境酒泝逆賢坂榊猿麾挟鷺拶撒擦颯先数察薩刷札晒霽濟纔釵綵切崔砦顋樶凄靫洒衰寨悽犲碎腮哉摧灑責偲殺縡淬倖豺呵苛幸猜塞蔡栽儕采齊財臍截載孥宰済齋犀際災柴賽菜採砕妻債斎斉祭催才細鰓裁歳最埼捉縒筴簀柞辟窄咋册齪筰槊酢嘖朔柵遡溯鑿索搾昨炸冊策錯櫻桜注曝瑳冴磋搓槎刺覺莎作挿嗟紗嵯覚做削冱寂叉荒茶渣左再早避咲査嵳褪挫佐然唆蹉鎖裂醒瑣嗄螫娑砂割蓑狭狹扠些差梭射銹沙下冷捺簑插点止提柤錆乍去裟詐さ√錫す/仕指製西 ┓┐〆□■Шш上#♯щЩ添∪日s⊂⊆⊃⊇文静★*☆標嗜青三聖土彩▲△悉署〜∽’‘┏┌集\探§″性セサシソスΣсСσ秒s]\|ッ\_s*[ソセスシサ]\|ッ\_s*[ソセスシサ]\|っ\_s*[そせすしさ]\|遽\_s*走\|蕎\_s*麦\|内\_s*障\|彼\_s*杵\|諷\_s*歌\|幾\_s*許\|錚\_s*[錚々]\|十\_s*\%(路\|露\_s*盤\)\|冬\_s*青\|微\_s*風\|虚\_s*言\|宙\_s*組\|夫\_s*[夫々]\|返\_s*田\|傴\_s*僂\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|台\_s*詞\|c\_s*e\_s*n\_s*t\_s*i\|妹\_s*尾\|嘲\_s*笑\|海\_s*象\|蒸\_s*[籠篭]\|魑\_s*魅\|凡\_s*て\|典\_s*侍\|季\_s*雄\|天\_s*[皇蛾]\|蘿\_s*蔔\|V\_s*i\_s*o\_s*l\_s*a\_s*l\_s*e\_s*s\|N\_s*y\_s*m\_s*p\_s*h\_s*a\_s*e\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|夊\_s*繞\|隧\_s*道\|C\_s*\%(型\|言\_s*語\)\|老\_s*舗\|望\_s*潮\|飛\_s*沫\|L\_s*a\_s*\%(m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|b\_s*i\_s*a\_s*t\_s*a\_s*e\)\|埋\_s*葬\_s*虫\|幣\_s*原\|桎\_s*梏\|柳\_s*葉\_s*魚\|衣\_s*魚\|蠹\_s*魚\|汚\_s*点\|惠\_s*雄\|舗\_s*石\|磯\_s*城\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|倭\_s*文\|閑\_s*[谷か]\|云\_s*[々云]\|明\_s*\%(々\_s*後\_s*日\|明\_s*後\_s*日\)\|7\_s*月\|7\_s*月\|4\_s*月\|4\_s*[分月]\|羊\_s*[齒歯]\|I\_s*\%(l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|不\_s*[忍知]\|後\_s*\%([輪口志目]\|込\_s*み\)\|軍\_s*鶏\|香\_s*菜\|吃\_s*逆\|蝦\_s*蛄\|輸\_s*[出贏]\|隼\_s*[朗郎]\|笋\_s*[干羹]\|縦\_s*容\|睫\_s*毛\|翡\_s*翠\|東\_s*\%(雲\|海\_s*林\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|続\_s*\%(日\_s*本\_s*\%(紀\|後\_s*紀\)\|後\_s*撰\_s*和\_s*歌\_s*集\)\|髑\_s*髏\|匣\_s*鉢\|復\_s*習\|百\_s*日\_s*紅\|胡\_s*孫\_s*眼\|←\_s*→\|霰\_s*弾\|弥\_s*生\|懺\_s*\%(法\|悔\_s*懺\_s*悔\)\|流\_s*[離石]\|蠑\_s*螺\|覇\_s*王\_s*樹\|C\_s*\%([se]\|y\_s*c\_s*a\_s*d\_s*\%(i\_s*d\_s*a\_s*e\|o\_s*\%(p\_s*s\_s*i\_s*d\_s*a\|f\_s*i\_s*l\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\)\|h\_s*l\_s*o\_s*r\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|言\_s*語\|D\_s*店\|型\_s*肝\_s*炎\|a\_s*\%(s\_s*s\_s*y\_s*t\_s*h\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|c\_s*t\_s*a\_s*l\_s*e\_s*s\)\)\|竹\_s*[篦刀筒]\|大\_s*角\_s*豆\|防\_s*人\|曩\_s*に\|向\_s*坂\|一\_s*昨\_s*\%(々\_s*[年日]\|昨\_s*[年日]\)\|實\_s*藤\|甘\_s*藷\|五\_s*月\|月\_s*代\|匂\_s*坂\|税\_s*所\|雑\_s*賀\|骰\_s*子\|P\_s*\%(a\_s*r\_s*i\_s*e\_s*t\_s*a\_s*l\_s*e\_s*s\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|r\_s*i\_s*m\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\)\|A\_s*\%(p\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*a\_s*l\_s*e\_s*s\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\)\|瑞\_s*[典西]\|B\_s*\%(r\|シ\_s*ェ\_s*ル\)\|拡\_s*張\_s*子\|部\_s*分\|置\_s*換\|ア\_s*ン\_s*チ\_s*モ\_s*ン\|構\_s*造\_s*体\|M\_s*\%(e\_s*r\_s*c\_s*u\_s*r\_s*y\|u\_s*s\_s*a\_s*l\_s*e\_s*s\|a\_s*r\_s*q\_s*u\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\)\|D\_s*o\_s*n\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*A\_s*l\_s*p\_s*h\_s*o\_s*n\_s*s\_s*e\_s* \_s*F\_s*r\_s*a\_s*n\_s*c\_s*o\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\|加\_s*\%(之\|虐\_s*\%(趣\_s*味\|淫\_s*乱\_s*症\)\)\|T\_s*\%(e\_s*t\_s*r\_s*a\_s*c\_s*e\_s*n\_s*t\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\|h\_s*e\_s* \_s*S\_s*i\_s*m\_s*p\_s*l\_s*e\_s* \_s*A\_s*P\_s*I\_s* \_s*f\_s*o\_s*r\_s* \_s*e\_s*v\_s*e\_s*n\_s*t\_s*-\_s*b\_s*a\_s*s\_s*e\_s*d\_s* \_s*X\_s*M\_s*L\_s* \_s*p\_s*a\_s*r\_s*s\_s*i\_s*n\_s*g\)\|珪\_s*素\|ケ\_s*イ\_s*素\|計\_s*測\_s*自\_s*動\_s*制\_s*御\_s*学\_s*会\|ネ\_s*ッ\_s*ト\_s*サ\_s*ー\_s*ビ\_s*ス\|ザ\_s*\%(ッ\_s*ク\|ク\_s*セ\_s*ン\|ビ\_s*ー\_s*ネ\|ウ\_s*バ\_s*ー\|ワ\_s*ー\_s*ク\_s*ラ\_s*ウ\_s*ト\|ム\_s*ザ\|ル\_s*ツ\|イ\_s*\%([ルン]\|ラ\_s*ー\|デ\_s*ル\)\|ー\_s*\%([ルラ]\|メ\_s*ン\)\)\|意\_s*味\|ゼ\_s*ミ\|ナ\_s*ト\_s*リ\_s*ウ\_s*ム\|ゾ\_s*\%(ル\|ン\_s*デ\|ー\_s*\%(ム\|リ\_s*ン\_s*ゲ\_s*ン\)\|フ\_s*ィ\_s*ー\)\|ジ\_s*\%(ム\|ー\_s*\%([グク]\|メ\_s*ン\_s*[スズ]\)\|グ\_s*ム\_s*ン\_s*ト\|ン\_s*\%(メ\_s*ル\|グ\_s*シ\_s*ュ\_s*ピ\_s*ー\_s*ル\|テ\_s*ー\_s*ゼ\)\)\|S\_s*\%([席式]\|サ\_s*イ\_s*ズ\|S\_s*サ\_s*イ\_s*ズ\|m\_s*a\_s*l\_s*l\_s*t\_s*a\_s*l\_s*k\|p\_s*a\_s*i\_s*n\|c\_s*o\_s*t\_s*c\_s*h\|U\_s*N\|u\_s*\%(n\|p\_s*e\_s*r\_s*A\_s*s\_s*c\_s*i\_s*i\)\|I\_s*C\_s*P\_s*(\_s*S\_s*t\_s*r\_s*u\_s*c\_s*t\_s*u\_s*r\_s*e\_s* \_s*a\_s*n\_s*d\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*p\_s*r\_s*e\_s*t\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*o\_s*f\_s* \_s*C\_s*o\_s*m\_s*p\_s*u\_s*t\_s*e\_s*r\_s* \_s*P\_s*r\_s*o\_s*g\_s*r\_s*a\_s*m\_s*s\_s*)\|−\_s*e\_s*x\_s*p\_s*r\_s*e\_s*s\_s*s\_s*i\_s*o\_s*n\|O\_s*N\_s*Y\_s* \_s*N\_s*E\_s*W\_s*S\|o\_s*l\_s*a\_s*r\_s*i\_s*s\|y\_s*s\_s*V\)\|エ\_s*ス\|S\_s*\%([nrgmce式]\|G\_s*M\_s*L\|サ\_s*イ\_s*ズ\|S\_s*サ\_s*イ\_s*ズ\|F\_s*マ\_s*ガ\_s*ジ\_s*ン\|Q\_s*U\_s*A\_s*R\_s*E\_s* \_s*E\_s*N\_s*I\_s*X\|K\_s*\%(K\|Y\_s* \_s*P\_s*e\_s*r\_s*f\_s*e\_s*c\_s*T\_s*V\_s*!\)\|a\_s*\%(r\_s*\%(r\_s*a\_s*c\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|g\_s*e\_s*n\_s*t\_s*o\_s*d\_s*o\_s*x\_s*a\_s*c\_s*e\_s*a\_s*e\)\|m\_s*a\_s*r\_s*i\_s*u\_s*m\)\|M\_s*\%(プ\_s*レ\_s*イ\|ク\_s*ラ\_s*ブ\)\|P\_s*\%(レ\_s*コ\_s*ー\_s*ド\|A\_s*C\_s*E\_s*キ\_s*ー\)\|p\_s*\%(l\_s*u\_s*s\|e\_s*\%(r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*a\_s*l\_s*i\_s*t\_s*y\_s* \_s*S\_s*t\_s*o\_s*r\_s*e\_s* \_s*R\_s*e\_s*t\_s*a\_s*i\_s*l\_s*e\_s*r\_s* \_s*o\_s*f\_s* \_s*P\_s*r\_s*i\_s*v\_s*a\_s*t\_s*e\_s* \_s*L\_s*a\_s*b\_s*e\_s*l\_s* \_s*A\_s*p\_s*p\_s*a\_s*r\_s*e\_s*l\)\|a\_s*\%(t\_s*h\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*c\)\)\|H\_s*I\_s*F\_s*T\_s*キ\_s*ー\|C\_s*S\_s*I\|T\_s*\%(k\|A\_s*R\)\|h\_s*u\_s*g\_s*a\_s*r\_s*t\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*s\_s* \_s*S\_s*y\_s*s\_s*t\_s*e\_s*m\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*f\_s*a\_s*c\_s*e\|A\_s*\%(P\|S\_s*I\)\|i\_s*\%(m\_s*p\_s*l\_s*e\_s* \_s*K\_s*a\_s*n\_s*a\_s* \_s*t\_s*o\_s* \_s*K\_s*a\_s*n\_s*j\_s*i\_s* \_s*c\_s*o\_s*n\_s*v\_s*e\_s*r\_s*s\_s*i\_s*o\_s*n\_s* \_s*p\_s*r\_s*o\_s*g\_s*r\_s*a\_s*m\|l\_s*i\_s*c\_s*o\_s*n\)\|t\_s*r\_s*o\_s*n\_s*t\_s*i\_s*u\_s*m\|o\_s*\%(u\_s*t\_s*h\_s* \_s*\%(D\_s*a\_s*k\_s*o\_s*t\_s*a\|C\_s*a\_s*r\_s*o\_s*l\_s*i\_s*n\_s*a\)\|l\_s*a\_s*r\_s*i\_s*s\|f\_s*t\_s*w\_s*a\_s*r\_s*e\_s* \_s*R\_s*e\_s*s\_s*e\_s*a\_s*r\_s*c\_s*h\_s* \_s*A\_s*s\_s*s\_s*o\_s*c\_s*i\_s*a\_s*t\_s*e\_s*,\_s*I\_s*n\_s*c\_s*\.\)\|u\_s*\%(n\|l\_s*f\_s*u\_s*r\)\)\|硫\_s*黄\)', \ 't' : '\%([ト乕囚寅虎瀞侶靹舮供纜燭艫朋倶鞆讐讎輩伴共友巴惇沌團団暾丼飩遯燉遁豚禽鷄酉砦塞擒俘虜豐恍惚枢乏塒迚科咎篷笘攴苫鶏伽唱稱鄰隣朿棘刺整鎖處処所床享鴟鵄扉鳶嫁訥刻秋穐晨鴇鬨斎頓幄幃帷柮杤栃閼軣轟屆届咄吶凸駿祀世暁壽繁稔寿豊歳俊利敏年牘悳犢黷慝匿督徳涜∃得特儻釖盜沓納道宕嶝涛萄嶋鬧縢帑塘搨棠樋籘閙梼罩叨夲盪酘兜溏朸稻鞜荅鞳桶黨綯迯鬥擣礑櫂剳淌纛諮棹陦檮磴蘯橦抖榻嶌竇档潼吋鐙亠篤滕讀逗螳蟷稲■鼕幢滔掏當峠読饕疼淘濤籐董悼棟搭痘套=豆燈桃韜統遠騰橈冬討祷骰藤灯島橙凍刀陶糖謄唐投答等桐鍍研鎔外採盗杜荼覩人摂脱屠賭蠧圖秉觧堵兔礪疾執蚪閇熔登畄砺解睹十菟砿溶獲渡留融泊蠹穫飛磨梳妬説録冨取問途莵汢戸図止翔兎跿富塗砥肚とテ瑛晃輝衒寺忝壥靦巓霑殄、鷏躔諂廛碾沾,鷆腆囀槙轉‥:.輾填甜奠顛纒癲恬殿纏展覘篆添梃輦咥垤餮屮銕鐡耋姪跌輟迭逖荻俶廸狄鏑糴笛覿擲迪滴轍的哲敵撤剔徹鐵鉄楴嚏幀鵜羝睇汀棣騁酲柢叮嚔酊掟遉觝釘詆渟眤碵弟碇剃蹄邸締梯悌訂程底偵遞廷逓牴抵呈艇鄭涕啼庭定低照弖てツ模幹劈聾辛列貫面汁液露冷錘舶紡系艷艶寉鉉絃橡劒釼剱劔劍剣弦蔓敦鶴幣兵鉗噤鶫償桓恆典恒常夙勉務努勤拙拐抓倹嬬撮詳審爪褄妻募角晦瞑螺円呟礫具粒辻辟罪捉把閊捕寮曹首阜丘元司官柄仕掴遣攫搏疲使窄莟蕾局壷壺坪綱繋壌蝪培霾戊己伝傳鐔翼翅鍔燕唾續約皷鼓続葛綴番栂槌縋弊費序潰終墜遂鎚椎追做殲捏殱繕傍旁創造作熟机佃蹲拒欟坏鴾槻月障砲裹躑榴謹慎愼恙筒包堤痛衝尾突尽支攣就次付椄漬點津附浸繼撞憑盡継嗣搗詰積接通告連つチ吃釁巷岐衢粽粡因杠契鵆児交腟帙膣些蟄N窒斉秩父捷矗筑築逐盟税力親邇誓迩近苣尖縮鏤塵趁碪珎鎭亭抻朕狆跛闖鴆砧椿枕鎮陳珍沈賃杖找摘茶嫡着豬儲杼潴紵竚瀦躇箸墸苧緒樗楮⊥躅陟猪捗稙飭敕勅著佻髫鼎迢膓萇脹樢吊漲趙鵈輙雕鬯聽廰窕楪挺輒齠悵塚疔糶澂廳蔦晁昶甼誂微凋帖掉停諜跳眺貼鐇澄提喋頭銚ー蝶暢帳丁牒重逃鳥張弔懲肇徴嘲兆釣聴彫潮町頂調貂庁腸超挑朝丶黜綢儔廚丑※惆肘籌寵鍮冢晝蟲胄冑紬稠酎紐鑄冲沖偸宙虫]}{[厨誅鋳紂仲註駐柱注衷籀昼抽中治池岻恥散躓置耻血値夊輊遲笞千稚黹馳家蜘禿穉地魑黐乳智癡致薙褫茅踟緻痴夂知遅ちタ便党屯架椽榱樽弛蕩膤鰔鱈盥戯俵袂保躊為樣様爲袒慱彖壇覃膽疸亶靼憺餤緞憚擔褝啗檀綻攤槫站酖殫毯猯潭鄲襌賺椴摶湍湯澹†‡蛋耽W旦痰啖坦眈反C歎嘆誕胆箪譚担淡鍛短單貪探単覊栲妙戲訊攜携尋訪比畴疇類民髱樂娯恃頼愉楽喩例譬滾激斃仆垰嵶殕倒嫋旅貍狸賛敲称讃蹈踏祟湛鬪斗戰闘戦彳佇叩疂疉疊畳箍鏨違互耕畊畉掌店棚到炭辿撻闥斬燵韃巽辰+援佐扶相輔佑弼助襷髻椨誑胤種塔龍竜糺糜爛漂維伊是理禎直貞惟忠匡徒唯只窘嗜慥確胝鱆鮹凧蛸誥嶽哮茸英豪威毅猛笋筍酣雄健丈斌武靈彈珪承賚珠霊魂卵偶適環弾球玉丹謀莨束縱|盾鬣奉楯蓼縦竪城質達館忽橘舘瀑薪滝瀧峪溪渓谿谷任尭宇亨臣集昂楼小剛恭岳洪喬嵩尚孚崇尊敬孝隆貴鷹竹篁簟寶財高寳宝但柝拆倬鈬濯魄擢擇柘戳啅鐸澤綰畜企啄磔匠巧択沢逞琢蓄度宅託卓謫托拓紿軆隶殆黛帶替靆抬體躰滯碓平駘擡逮腿当怠玳諦岱鯛對颱袋戴堆態頽苔滞待代帝貸隊褪胎帯体泰退大対矯食埀断炊闌佗長強焚岔給蛇夛足賜揉閉立發躱詫太経貯起薫耐溜絶発手它朶多他勃詑垂誰撓斷裁咤点汰建堪澑田截逹侘經たtЦц〜天時×型火土→都吐東上噸瓲│┃台表第木スジ∴Θθザ正ツ¨転透▲△▼▽トチ・…試端タТ├┸┳┨┫┝┬〒┷τ┯┤┣┻Τテ┥┰т┠┴t]\|ッ\_s*[トテツチタ]\|ッ\_s*[トテツチタ]\|っ\_s*[とてつちた]\|門\_s*渡\_s*り\|薯\_s*蕷\|船\_s*尾\_s*座\|公\_s*[暁明]\|倫\_s*[子明]\|邑\_s*中\|蜻\_s*蛉\|A\_s*c\_s*o\_s*n\_s*i\_s*t\_s*u\_s*m\|蜷\_s*局\|跡\_s*[絶切]\|蜥\_s*蜴\|舎\_s*人\|馴\_s*鹿\|野\_s*老\|瓊\_s*脂\|永\_s*[遠久]\|宿\_s*直\|朱\_s*鷺\|左\_s*見\_s*右\_s*見\|朽\_s*木\|H\_s*y\_s*d\_s*r\_s*o\_s*c\_s*h\_s*a\_s*r\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|独\_s*鈷\|季\_s*[衣道栄]\|聡\_s*[明徳]\|祈\_s*年\_s*祭\|淑\_s*[夫子]\|洞\_s*爺\|光\_s*男\|晧\_s*史\|紅\_s*娘\|瓢\_s*虫\|F\_s*e\|I\_s*r\_s*o\_s*n\|劇\_s*村\|滌\_s*除\|2\_s*×\_s*4\|石\_s*\%(蕗\|竜\_s*子\)\|心\_s*[太算]\|自\_s*\%(摸\|模\_s*和\)\|氷\_s*柱\|倩\_s*々\|黴\_s*雨\|入\_s*梅\|梅\_s*雨\|再\_s*見\|備\_s*に\|悉\_s*に\|旋\_s*[風毛]\|B\_s*a\_s*l\_s*a\_s*n\_s*o\_s*p\_s*h\_s*o\_s*r\_s*a\_s*l\_s*e\_s*s\|1\_s*\%(日\|0\_s*日\)\|1\_s*\%(日\|0\_s*日\)\|朔\_s*日\|美\_s*人\_s*局\|E\_s*\%(u\_s*p\_s*h\_s*o\_s*r\_s*b\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|字\_s*\%(牌\|一\_s*色\)\|少\_s*と\|義\_s*父\|主\_s*[殿税]\|周\_s*夫\|睦\_s*子\|渠\_s*睦\_s*子\|萵\_s*苣\|身\_s*柱\|似\_s*指\|清\_s*\%(老\_s*頭\|一\_s*色\)\|青\_s*\%([幇島]\|梗\_s*菜\|椒\_s*肉\_s*絲\)\|全\_s*帯\|昌\_s*洙\|江\_s*蘇\|J\_s*i\_s*a\_s*n\_s*g\_s*s\_s*u\|焼\_s*豚\|叉\_s*焼\|察\_s*哈\_s*爾\|餃\_s*子\|雑\_s*砕\|炒\_s*[麺飯]\|北\_s*谷\|甘\_s*露\_s*子\|錯\_s*和\|総\_s*角\|一\_s*[日寸]\|植\_s*字\|金\_s*魚\_s*蝨\|魚\_s*[屋蝨]\|草\_s*石\_s*蚕\|春\_s*\%(麗\|宮\_s*坊\)\|九\_s*\%(十\_s*九\|連\_s*宝\_s*[燈灯]\)\|揺\_s*蕩\|容\_s*易\|白\_s*痴\|猶\_s*豫\|蜑\_s*民\|段\_s*銭\|蒲\_s*公\_s*英\|騨\_s*州\|M\_s*\%(e\_s*n\_s*i\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*c\_s*e\_s*a\_s*e\|o\_s*n\_s*o\_s*\%(p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*\%(h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|o\_s*t\_s*y\_s*l\_s*e\_s*d\_s*o\_s*n\_s*e\_s*a\_s*e\)\)\)\|仮\_s*令\|打\_s*[擲坐]\|七\_s*\%(夕\|対\_s*子\)\|活\_s*計\|方\_s*便\|無\_s*料\|黄\_s*\%(昏\|蜀\_s*葵\)\|胼\_s*胝\|章\_s*魚\|P\_s*\%(\.\_s*S\_s*\.\|o\_s*l\_s*y\_s*\%(g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*r\_s*p\_s*i\_s*c\_s*a\_s*e\)\|a\_s*n\_s*d\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|壮\_s*聡\|煙\_s*草\|殺\_s*陣\|賢\_s*明\|性\_s*質\|怱\_s*ち\|亢\_s*ぶ\|堂\_s*子\|学\_s*聡\|能\_s*[文之]\|内\_s*匠\|松\_s*明\|奈\_s*子\|幇\_s*間\|切\_s*符\|デ\_s*ィ\_s*ス\|3\_s*r\_s*d\|閾\_s*値\|ソ\_s*\%(ー\_s*[トンプ]\|ロ\_s*ー\)\|ヘ\_s*ー\_s*グ\|ゼ\_s*[インムア]\|セ\_s*\%(オ\|ル\_s*マ\|ロ\_s*\%(ン\|ニ\_s*ア\_s*ス\)\|ラ\_s*ピ\_s*\%(ー\|ス\_s*ト\)\)\|シ\_s*\%(ン\|ッ\_s*ク\|ス\_s*ル\|ア\_s*タ\_s*ー\|ソ\_s*ー\_s*ラ\_s*ス\|オ\_s*ド\_s*ア\|ー\_s*[フタ]\)\|サ\_s*\%([イム]\|ミ\_s*ン\_s*グ\|ウ\_s*ザ\_s*ン\_s*ド\|ラ\_s*ブ\_s*レ\_s*ッ\_s*ド\|ー\_s*\%([ドモ]\|テ\_s*ィ\|ス\_s*ト\_s*ン\|ズ\_s*デ\_s*[イーィ]\|マ\_s*ル\)\|ッ\_s*チ\_s*ャ\_s*ー\|ン\_s*\%(ク\|ダ\_s*ー\|キ\_s*ュ\_s*ー\)\|リ\_s*ド\_s*マ\_s*イ\_s*ド\)\|ポ\_s*リ\_s*ペ\_s*プ\_s*チ\_s*ド\|三\_s*\%(和\_s*土\|連\_s*文\_s*字\)\|\\\_s*T\_s*e\_s*X\|教\_s*科\_s*書\|文\_s*字\_s*列\|用\_s*語\|T\_s*\%([字i]\|細\_s*胞\|K\_s*8\_s*0\|ゾ\_s*ー\_s*ン\|バ\_s*ッ\_s*ク\|シ\_s*ャ\_s*ツ\|V\_s*\%(ニ\_s*ュ\_s*ー\_s*ス\|ゲ\_s*ー\_s*ム\|ド\_s*ラ\_s*マ\|ア\_s*ニ\_s*メ\)\|C\_s*P\_s*/\_s*I\_s*P\|a\_s*g\|r\_s*u\_s*e\_s*T\_s*y\_s*p\_s*e\|E\_s*X\|e\_s*[Xl]\)\|T\_s*\%([bc字mliahe]\|r\_s*i\_s*m\_s*e\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\|ゾ\_s*ー\_s*ン\|X\_s*T\_s*フ\_s*ァ\_s*イ\_s*ル\|シ\_s*ャ\_s*ツ\|バ\_s*ッ\_s*ク\|V\_s*\%(ニ\_s*ュ\_s*ー\_s*ス\|ゲ\_s*ー\_s*ム\|ド\_s*ラ\_s*マ\|モ\_s*ニ\_s*タ\|ア\_s*ニ\_s*メ\|シ\_s*ョ\_s*ッ\_s*ピ\_s*ン\_s*グ\)\|C\_s*P\|コ\_s*ー\_s*ド\|-\_s*C\_s*o\_s*d\_s*e\|O\_s*E\_s*I\_s*C\|A\_s*\%(C\|I\_s*N\_s*S\|B\_s*キ\_s*ー\)\|E\_s*L\)\|電\_s*\%([視話]\|気\_s*通\_s*信\_s*研\_s*究\_s*所\)\)', \ 'u' : '\%([ウ孳蛤礼敬恭洞鱗愛潤騒煩粳漆閏患慯悄騷恙愁呻楳梅嫐釉噂耘吽褞曇黄紜云繧慍薀蘊暈運錙怏麗羨卦憾怨恨占卜末嬉心裏浦糶瓜汝己畴畆畦疇畝踈疎宜諾奪姥腕莵兔驢鑿穿嗽魘唸促令項頷訴獺鷽嘯嘘蠕蠢動覘窺伺海台萼唱詠謌唄宴讌転詩謠謡謳疑歌葎鯏鴬鶯ヱゑゐヰ鶉疼堆踞蹲渦舂臼碓羅薄食筌槽朮肯凵魚巧茨廐廏厩鰻午甘秣孫餞馬旨冩遷寫蔚暎噐器移慈俯映写現虚美笂靭靱靫空鰾萍初蛆雲氏上後喪艮丑潮牛裡鬱中欝袿梁家内禹憂埋挧撃雨打宇得植請鵜熟績嫗攴有夘受茹泛生討羽胡右紆傴盂饂承菟飢烏攵于射倦芋賣卯享搏失齲撲兎売産膿迂浮うu¨↑∪υウUуУΥu]\|武\_s*漢\|狼\_s*狽\|夏\_s*枯\_s*草\|蠎\_s*蛇\|蟒\_s*蛇\|譫\_s*言\|琅\_s*珠\|温\_s*[麺気州]\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|自\_s*惚\|采\_s*女\|乳\_s*母\|姨\_s*捨\_s*山\|独\_s*活\|優\_s*\%(婆\_s*[塞夷]\|曇\_s*華\)\|合\_s*格\|親\_s*族\|斥\_s*候\|泡\_s*沫\|楽\_s*官\|雅\_s*楽\_s*[頭寮]\|干\_s*莉\|維\_s*納\|太\_s*秦\|護\_s*田\_s*鳥\_s*尾\|淡\_s*\%(青\|口\_s*醤\_s*油\)\|五\_s*\%(加\|月\_s*蝿\)\|稲\_s*魂\|誓\_s*約\|石\_s*\%(女\|斑\_s*魚\)\|不\_s*生\_s*女\|味\_s*酒\|苜\_s*蓿\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|伝\_s*染\|呆\_s*気\_s*者\|茴\_s*香\|外\_s*郎\|餓\_s*\%(死\|え\_s*死\_s*に\)\|裲\_s*襠\|団\_s*扇\|イ\_s*ギ\_s*リ\_s*ス\|オ\_s*マ\_s*ル\|識\_s*別\_s*不\_s*能\|共\_s*\%(用\_s*体\|有\_s*体\)\|ア\_s*\%([スン]\|グ\_s*リ\_s*ー\|ー\_s*\%(シ\_s*ュ\_s*ラ\|ジ\_s*ェ\_s*ン\_s*ト\|バ\_s*ン\)\|ル\_s*テ\_s*ィ\_s*メ\_s*ッ\_s*ト\|ポ\_s*ン\|ッ\_s*\%(プ\|パ\_s*ー\|シ\_s*ャ\_s*ー\)\)\|単\_s*\%(位\|一\_s*化\)\|U\_s*\%(ボ\_s*ー\_s*ト\|タ\_s*ー\_s*ン\|ネ\_s*ッ\_s*ク\|N\_s*I\_s*X\_s*\%(フ\_s*ェ\_s*ア\_s*ー\|マ\_s*ガ\_s*ジ\_s*ン\)\)\|ユ\_s*\%([タニー]\|ト\_s*\%(リ\_s*ロ\|レ\_s*ヒ\_s*ト\)\|リ\_s*\%(ア\|シ\_s*ー\_s*ズ\)\|プ\_s*シ\_s*ロ\_s*ン\|ネ\_s*ス\_s*コ\|ナ\_s*\%(カ\_s*イ\_s*ト\|イ\_s*テ\_s*ッ\_s*ド\)\|ビ\_s*キ\_s*\%(タ\_s*ス\|ノ\_s*ン\)\)\)', \ 'v' : '\%([v:├値⊥版Вв↓∨ヴv]\|ッ\_s*ウ\_s*゙\|ッ\_s*ヴ\|っ\_s*ヴ\|ウ\_s*゙\|チ\_s*ェ\_s*ロ\|ヰ\_s*タ\| \_s*ビ\_s*ク\_s*ト\_s*ー\_s*ル\|視\_s*覚\|仮\_s*想\|ニ\_s*ス\|変\_s*数\|恒\_s*真\|ワ\_s*\%(デ\_s*ィ\_s*ム\|ギ\_s*ナ\|ニ\_s*ス\|セ\_s*リ\_s*ン\|ク\_s*チ\_s*ン\|ル\_s*キ\_s*ュ\_s*ー\_s*レ\|レ\_s*リ\_s*ー\|ー\_s*ニ\_s*ャ\)\|V\_s*\%(c\|ゾ\_s*ー\_s*ン\|サ\_s*イ\_s*ン\|ネ\_s*ッ\_s*ク\|ゴ\_s*ー\_s*ル\|シ\_s*ネ\|リ\_s*ー\_s*グ\|i\_s*e\_s*w\|a\_s*l\_s*u\_s*e\|o\_s*l\_s*k\_s*l\)\|語\_s*彙\|ボ\_s*\%(ス\_s*ト\_s*ー\_s*ク\|ン\_s*ゴ\_s*レ\|ル\_s*\%([ガボトタ]\|テ\_s*\%(ッ\_s*ク\_s*ス\|ー\_s*[ジル]\)\)\|リ\_s*ュ\_s*ー\_s*ム\|ラ\_s*ン\_s*\%(チ\|テ\_s*ィ\_s*ア\|タ\_s*リ\_s*ー\)\|レ\_s*ー\|コ\_s*ー\_s*ダ\|ー\_s*\%([ントグ]\|ル\_s*ト\|ド\_s*ビ\_s*\%(ル\|リ\_s*ア\_s*ン\)\|パ\_s*ル\|ダ\_s*フ\_s*ォ\_s*ン\|カ\_s*\%(ル\|リ\_s*ス\_s*ト\)\)\|キ\_s*ャ\_s*ブ\_s*ラ\_s*リ\|イ\_s*\%([ドス]\|ジ\_s*ャ\_s*ー\|シ\_s*ン\_s*グ\)\)\|ヘ\_s*ッ\_s*ト\|冗\_s*長\_s*な\|垂\_s*直\|フ\_s*\%(ァ\_s*\%(ン\|ド\_s*ー\_s*ツ\)\|ォ\_s*\%(ン\|ル\_s*\%(ク\|カ\_s*ー\)\)\|ェ\_s*ル\_s*メ\_s*ー\_s*ル\)\|ウ\_s*\%(ラ\_s*\%(デ\_s*ィ\_s*ミ\_s*ー\_s*ル\|ジ\_s*\%(ミ\_s*ー\_s*ル\|ー\_s*ミ\_s*ル\|オ\_s*ス\_s*ト\_s*\%(ク\|ッ\_s*ク\)\)\)\|ィ\_s*\%(ン\_s*ナ\|ル\_s*ス\)\|ォ\_s*ッ\_s*カ\|イ\_s*\%(ル\_s*ス\|ン\_s*ナ\_s*ー\)\|ェ\_s*\%(ル\_s*ギ\_s*リ\_s*ウ\_s*ス\|ヌ\_s*ス\)\)\|ビ\_s*\%([アラブバスザ]\|ガ\_s*ー\|ハ\_s*ー\_s*ラ\|タ\_s*ミ\_s*ン\|レ\_s*\%(ッ\_s*ジ\|ロ\_s*イ\)\|ビ\_s*\%(ア\_s*ン\|ッ\_s*ド\)\|ッ\_s*\%(ク\|キ\_s*ー\)\|セ\_s*ン\_s*テ\|ク\_s*\%(タ\_s*ー\|ト\_s*\%(ル\|リ\_s*[ーア]\)\)\|シ\_s*\%(ャ\_s*ス\|ソ\_s*ワ\_s*ー\_s*ズ\)\|ン\_s*\%([チス]\|ソ\_s*ン\|テ\_s*ー\_s*ジ\|セ\_s*ン\_s*ト\)\|ネ\_s*\%(ガ\_s*ー\|グ\_s*レ\_s*ッ\_s*ト\)\|ニ\_s*\%([ール]\|リ\_s*デ\_s*ン\)\|ュ\_s*ー\|エ\_s*ン\_s*チ\_s*ャ\_s*ン\|ジ\_s*\%(ャ\|ッ\_s*ト\|タ\_s*ー\|ョ\_s*\%(ン\|ナ\_s*リ\_s*ー\)\|ュ\_s*ア\_s*\%(ル\|ラ\_s*イ\_s*\%(ズ\|ゼ\_s*ー\_s*シ\_s*ョ\_s*ン\)\)\)\|ダ\_s*ル\|デ\_s*オ\|ル\_s*\%(ゴ\|ヌ\_s*ー\_s*ブ\)\|オ\_s*ラ\|リ\_s*ジ\_s*ア\_s*ン\|ィ\_s*ー\_s*ナ\_s*ス\|ー\_s*\%(ボ\|ル\_s*ス\|ク\_s*ル\|ナ\_s*ス\)\)\|ベ\_s*\%([ガラン]\|ト\_s*ナ\_s*ム\|イ\_s*ダ\_s*ー\|ー\_s*\%(ル\|ダ\_s*ー\)\|テ\_s*ラ\_s*ン\|ッ\_s*セ\_s*ル\|ス\_s*\%([トタパ]\|ビ\_s*オ\)\|ク\_s*\%(タ\|ト\_s*ル\)\|ジ\_s*タ\_s*\%(ブ\_s*ル\|リ\_s*ア\_s*ン\)\|リ\_s*\%([ィー]\|フ\_s*ァ\_s*イ\|サ\_s*イ\_s*ン\)\|ロ\_s*\%(ナ\|シ\_s*テ\_s*ィ\|ー\_s*ナ\|ニ\_s*[カク]\)\|ル\_s*\%(デ\|ベ\_s*ッ\_s*ト\|ダ\_s*ン\|レ\_s*ー\_s*ヌ\|サ\_s*\%(ー\_s*チ\|イ\_s*ユ\)\|モ\_s*ッ\_s*ト\)\|ノ\_s*ム\|ニ\_s*[スヤア]\|ネ\_s*\%(シ\_s*ャ\_s*ン\|ツ\_s*ィ\_s*ア\|チ\_s*ア\|ズ\_s*エ\_s*ラ\)\)\|バ\_s*\%([ルン]\|イ\_s*\%([アブンオ]\|パ\_s*ー\|タ\_s*\%(ル\|リ\_s*テ\_s*ィ\)\|キ\_s*ン\_s*グ\|ザ\_s*ー\|シ\_s*ャ\)\|ッ\_s*ト\|チ\_s*カ\_s*ン\|ギ\_s*ナ\|ガ\_s*ボ\_s*ン\_s*ド\|ラ\_s*\%(ナ\_s*シ\|エ\_s*テ\_s*ィ\)\|サ\_s*ロ\|ス\_s*\%(コ\|ケ\_s*ス\)\|カ\_s*ン\_s*ス\|ケ\_s*ー\_s*シ\_s*ョ\_s*ン\|キ\_s*ュ\_s*ー\_s*ム\|ウ\_s*チ\_s*ャ\_s*ー\|リ\_s*\%(ン\|エ\_s*ー\_s*シ\_s*ョ\_s*ン\|ュ\_s*ー\|ア\_s*\%(ブ\_s*ル\|ン\_s*ト\)\|ッ\_s*ド\|デ\_s*ー\_s*シ\_s*ョ\_s*ン\)\|ヌ\_s*ア\_s*ツ\|ニ\_s*\%(ラ\|ー\_s*ユ\)\|レ\_s*\%([ラー]\|ロ\_s*ン\|リ\_s*ー\|ン\_s*\%(シ\_s*ア\|チ\_s*ノ\|タ\_s*イ\_s*ン\)\)\|ー\_s*\%([ゴグ]\|チ\_s*ャ\_s*ル\|リ\_s*ト\_s*ゥ\_s*ー\_s*ド\|バ\_s*ル\|ボ\_s*ス\|ベ\_s*ナ\|テ\_s*ィ\_s*カ\_s*ル\|サ\_s*ス\|ジ\_s*\%(ン\|ニ\_s*ア\|ョ\_s*ン\)\|ノ\_s*ン\|ニ\_s*ア\|モ\_s*ン\_s*ト\|ミ\_s*\%(リ\_s*オ\_s*ン\|キ\_s*ュ\_s*ラ\_s*イ\_s*ト\)\)\|ナ\_s*\%(キ\_s*ュ\_s*ラ\_s*ー\|ジ\_s*ウ\_s*ム\)\)\|ブ\_s*\%(イ\|ラ\_s*\%(ド\|ッ\_s*ド\)\|ー\_s*ド\_s*ゥ\_s*ー\)\|V\_s*\%(H\_s*L\_s*L\_s*(\_s*V\_s*e\_s*r\_s*y\_s* \_s*H\_s*i\_s*g\_s*h\_s* \_s*L\_s*e\_s*v\_s*e\_s*l\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\_s*)\|ゾ\_s*ー\_s*ン\|サ\_s*イ\_s*ン\|ネ\_s*ッ\_s*ク\|ゴ\_s*ー\_s*ル\|J\_s*E\_s*-\_s*β\|シ\_s*ネ\|リ\_s*ー\_s*グ\|I\_s*S\_s*A\_s*カ\_s*ー\_s*ド\|i\_s*r\_s*g\_s*i\_s*n\_s*i\_s*a\|A\_s*X\|e\_s*r\_s*\%(m\_s*o\_s*n\_s*t\|i\_s*S\_s*i\_s*g\_s*n\)\|a\_s*n\_s*a\_s*d\_s*i\_s*u\_s*m\)\)', \ 'w' : '\%([ヲヲ女翁尾汚小惜男緒牡雄をウ孳蛤礼敬恭洞鱗愛潤騒粳漆閏慯悄騷恙愁呻楳梅嫐釉噂耘吽褞曇紜云繧慍薀蘊暈運錙怏麗羨U卦憾怨恨占卜末嬉心裏浦糶瓜汝己υΥ畴畆畦疇畝踈疎宜諾奪姥莵兔驢鑿穿嗽魘唸促令項頷訴獺鷽嘯嘘蠕蠢動覘窺伺台萼唱詠謌唄宴讌転詩謠謡謳疑歌葎鯏鴬鶯ヱゑ鶉疼堆踞蹲渦舂臼碓羅薄食筌槽朮肯凵魚巧茨廐廏厩鰻午甘秣孫餞馬旨冩遷寫蔚暎噐器移慈俯映写現虚美笂靭靱靫空鰾萍初蛆氏↑上後喪艮丑潮牛裡鬱中欝袿梁家内禹憂埋挧撃雨打宇得植請鵜熟績嫗攴有夘受茹泛生討胡右紆傴盂饂承菟飢烏攵于射倦芋賣卯享搏失齲撲兎売産膿迂浮うヰ居ゐワ叫喚÷惡悪原稿嗤妾蕨童藁鞋笑灣萬豌綰万弯彎椀雲腕碗湾横往黄皇羂罠纔毫微僅患煩術伎厄禍災態業技佗王鰐忘掖弁腋譯緜腸亙道渉航弥亘棉渡綿私薈隈賄淮脇矮猥歪轍海蟠儂∪觧解頒判訣別稚若或枠惑鷲和環吾杷啝湧我涌輪破分把萵詫訳羽沸倭割話侘琶わw幅水∧波ウワw]\|ッ\_s*[ヲヱウヰワ]\|ッ\_s*[ヲヱウヰワ]\|っ\_s*[をゑうゐわ]\|乎\_s*古\_s*止\_s*点\|武\_s*漢\|狼\_s*狽\|夏\_s*枯\_s*草\|蠎\_s*蛇\|蟒\_s*蛇\|譫\_s*言\|琅\_s*珠\|温\_s*[麺気州]\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|自\_s*惚\|采\_s*女\|乳\_s*母\|姨\_s*捨\_s*山\|独\_s*活\|優\_s*\%(婆\_s*[塞夷]\|曇\_s*華\)\|合\_s*格\|親\_s*族\|斥\_s*候\|泡\_s*沫\|楽\_s*官\|雅\_s*楽\_s*[頭寮]\|干\_s*莉\|維\_s*納\|護\_s*田\_s*鳥\_s*尾\|淡\_s*\%(青\|口\_s*醤\_s*油\)\|五\_s*\%(加\|月\_s*蝿\)\|稲\_s*魂\|誓\_s*約\|石\_s*\%(女\|斑\_s*魚\)\|不\_s*生\_s*女\|味\_s*酒\|苜\_s*蓿\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|伝\_s*染\|呆\_s*気\_s*者\|茴\_s*香\|外\_s*郎\|餓\_s*\%(死\|え\_s*死\_s*に\)\|裲\_s*襠\|団\_s*扇\|草\_s*鞋\|(\_s*笑\_s*)\|(\_s*笑\_s*)\|戦\_s*慄\|俳\_s*優\|勿\_s*忘\_s*草\|早\_s*[生稲]\|山\_s*葵\|戯\_s*奴\|度\_s*会\|Y\_s*\%(軸\|シ\_s*ャ\_s*ツ\|染\_s*色\_s*体\)\|Y\_s*\%(軸\|シ\_s*ャ\_s*ツ\|染\_s*色\_s*体\)\|華\_s*盛\_s*頓\|裙\_s*蔕\_s*菜\|理\_s*[由解]\|公\_s*魚\|病\_s*葉\|大\_s*東\_s*亜\_s*戰\_s*爭\|太\_s*\%(秦\|平\_s*洋\_s*戦\_s*争\)\|歐\_s*州\_s*大\_s*戰\|第\_s*\%(二\_s*次\_s*世\_s*界\_s*大\_s*戦\|一\_s*次\_s*世\_s*界\_s*大\_s*戦\)\|ブ\_s*ル\_s*ツ\_s*ブ\_s*ル\_s*ク\|ロ\_s*ン\_s*グ\|レ\_s*\%(ン\|イ\_s*ス\|ッ\_s*カ\_s*ー\|ス\_s*\%(ラ\_s*ー\|リ\_s*ン\_s*グ\)\)\|リ\_s*\%(ー\_s*ス\|ン\_s*ク\_s*ル\|ス\_s*ト\)\|書\_s*き\_s*込\_s*み\|ラ\_s*\%(ッ\_s*\%([プパ]\|ピ\_s*ン\_s*グ\)\|イ\_s*\%([タト]\|テ\_s*ィ\_s*ン\_s*グ\)\)\|ボ\_s*ル\_s*フ\|フ\_s*\%([ムー]\|ァ\_s*イ\_s*ル\|ィ\_s*\%(ー\_s*ト\|ッ\_s*チ\)\)\|ホ\_s*\%(エ\_s*[イーア]\|ー\_s*ル\|イ\_s*\%(ー\_s*\%(ル\|ラ\_s*ー\)\|ッ\_s*\%(プ\|ス\_s*ル\|パ\_s*ー\|ト\_s*\%(ニ\_s*ー\|マ\_s*ン\)\)\)\|ワ\_s*\%(イ\|ッ\_s*[トツ]\)\)\|ベ\_s*ル\_s*ナ\_s*ー\|W\_s*\%(S\|N\_s*N\|y\_s*o\_s*m\_s*i\_s*n\_s*g\|O\_s*W\_s*O\_s*W\|I\_s*\%(D\_s*E\|N\_s*T\_s*E\_s*R\_s*P\_s*(\_s*W\_s*i\_s*d\_s*g\_s*e\_s*t\_s* \_s*I\_s*n\_s*t\_s*e\_s*r\_s*p\_s*r\_s*e\_s*t\_s*e\_s*r\_s*)\)\|i\_s*\%(s\_s*c\_s*o\_s*n\_s*s\_s*i\_s*n\|d\_s*g\_s*e\_s*t\|n\_s*d\_s*o\_s*w\_s*s\)\|h\_s*\%(y\_s* \_s*d\_s*o\_s*n\_s*e\_s* \_s*i\_s*t\_s*?\|o\_s* \_s*d\_s*o\_s*n\_s*e\_s* \_s*i\_s*t\_s*?\)\|E\_s*B\_s*\%(ブ\_s*ラ\_s*ウ\_s*ザ\|マ\_s*ガ\_s*ジ\_s*ン\)\|e\_s*\%(s\_s*t\_s* \_s*V\_s*i\_s*r\_s*g\_s*i\_s*n\_s*i\_s*a\|b\_s*\%(ペ\_s*ー\_s*ジ\|ラ\_s*ジ\_s*オ\|コ\_s*ミ\_s*ッ\_s*ク\|サ\_s*\%(イ\_s*ト\|ー\_s*\%(バ\|ビ\_s*ス\)\)\|ド\_s*ラ\_s*マ\)\)\|a\_s*s\_s*h\_s*i\_s*n\_s*g\_s*t\_s*o\_s*n\|A\_s*V\_s*フ\_s*ァ\_s*イ\_s*ル\)\|警\_s*告\|W\_s*\%(杯\|n\_s*n\|i\_s*n\_s*k\|a\_s*r\_s*e\)\|バ\_s*ル\_s*タ\_s*ー\|ヴ\_s*\%(ュ\_s*ル\_s*ツ\_s*ブ\_s*ル\_s*ク\|ォ\_s*ル\_s*フ\|ィ\_s*\%([ーム]\|ル\_s*\%(ム\|ヘ\_s*ル\_s*ム\)\)\|ェ\_s*\%(ン\_s*ダ\_s*ー\_s*ス\|ル\_s*ナ\_s*ー\|ー\_s*バ\_s*ー\|イ\_s*ユ\)\|ァ\_s*\%(イ\_s*[ンス]\|ー\_s*グ\_s*ナ\_s*ー\|ン\_s*ダ\|ル\_s*\%(タ\_s*ー\|キ\_s*ュ\_s*ー\_s*レ\)\)\)\|ダ\_s*ブ\_s*リ\_s*ュ\_s*ー\|タ\_s*ン\_s*グ\_s*ス\_s*テ\_s*ン\|T\_s*\%(h\_s*e\_s* \_s*W\_s*o\_s*r\_s*l\_s*d\_s* \_s*W\_s*i\_s*d\_s*e\_s* \_s*W\_s*e\_s*b\_s* \_s*C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\)\)', \ 'x' : '\%([ォォぉェェぇゥゥぅィィぃァァぁxхХΞ×ξx]\|ッ\_s*[ォェゥィァ]\|ッ\_s*[ォェゥィァ]\|っ\_s*[ぉぇぅぃぁ]\|シ\_s*ロ\_s*\%(ホ\_s*ン\|フ\_s*ォ\_s*ン\)\|X\_s*\%([軸線]\|デ\_s*[イー]\|v\_s*i\_s*e\_s*w\|S\_s*サ\_s*イ\_s*ズ\|L\_s*\%(i\_s*s\_s*p\|サ\_s*イ\_s*ズ\)\|ウ\_s*ィ\_s*ン\_s*ド\_s*ウ\|端\_s*末\)\|X\_s*\%([軸線]\|C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|デ\_s*[イー]\|P\_s*S\_s*(\_s*e\_s*X\_s*p\_s*a\_s*n\_s*s\_s*i\_s*o\_s*n\_s* \_s*P\_s*a\_s*s\_s*s\_s*i\_s*n\_s*g\_s* \_s*S\_s*t\_s*y\_s*l\_s*e\_s*)\|S\_s*サ\_s*イ\_s*ズ\|l\_s*i\_s*b\|L\_s*\%(i\_s*s\_s*p\|サ\_s*イ\_s*ズ\)\|e\_s*n\_s*o\_s*n\)\|ジ\_s*オ\_s*ン\|ゼ\_s*\%(ビ\_s*ウ\_s*ス\|ロ\_s*\%(ッ\_s*ク\_s*ス\|グ\_s*ラ\_s*フ\_s*ィ\)\)\|ハ\_s*ビ\_s*エ\_s*ル\|ザ\_s*\%(ン\|ビ\_s*エ\_s*ル\)\|キ\_s*\%(シ\_s*\%(ロ\|レ\_s*ン\|リ\_s*ト\_s*ー\_s*ル\)\|セ\_s*ノ\_s*ン\|サ\_s*ン\_s*\%(チ\_s*ン\|タ\_s*ン\)\)\|E\_s*x\_s*t\_s*e\_s*n\_s*s\_s*i\_s*b\_s*l\_s*e\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|ク\_s*\%(シ\_s*ー\|ロ\_s*ス\_s*ポ\_s*ス\_s*ト\|セ\_s*\%(ナ\_s*キ\_s*ス\|ノ\_s*フ\_s*ォ\_s*ン\)\|ザ\_s*ヴ\_s*ィ\_s*エ\|サ\_s*\%(イ\|ン\_s*\%(ト\_s*ス\|チ\_s*ッ\_s*ペ\|テ\_s*ィ\_s*ッ\_s*ペ\)\)\|リ\_s*ス\_s*マ\_s*ス\)\|エ\_s*\%(ク\_s*ス\|ッ\_s*ク\_s*ス\)\)', \ 'y' : '\%([ヨ艾蒿蓬娵嫁齡齢據頼弱憙歓鎧万萬過便婚汚涎捩翊緘峪杙慾欲翌翼抑米比裝粧装澱淀縦誼祥葭悦宜克純圭禎葦慶禧美淑芳喜吉義瘍樣踴榕踊燿謠廱姚慂曄瀁瑶恙蓉遙怏雍痒珱陶孕漾昜暘甬幺癢泱癰窰慵穃鷹瓔煬邀遥拗擁瑤窯徭膺窈殀曜耀庸夭揚葉蛹腰羊熔杳沃壅様妖用溶佯謡陽洋嘉宵蘇蘓甦辟奸横豫代除譽歟喚預読誉蕷輿攀余縒呼避4世譱詠丗能予撚憑餘畭酔醉與飫舁四訓選与讀よユ潤赦弛緩聴岼閖梦努纈∴故濯檠穰豐豊倖志裄之幸雪趾梼讓譲牀縁紫浴床俑犹蚰酉莠邑攸黝熊尢蝣蕕猷悒囿佳尤佑〒右郵涌祐侑游猶湧融宥夕幽悠釉友雄憂有臾渝瘉愉征諭徃遊揺逾覦茹揄由蝓兪淘結輸諛搖揃弓楡瑜踰柚油喩汰腴ゆイΗη賤鄙卑苟嫌妹湯藷芋夢艷鑪鈩彩鱗色鯆忽綺貸甍応答愈圦杁霪隱蚓寅氤酳胤飮韵尹茵贇蔭婬湮堙吋廴I音慇韻咽淫殞姻隕院允殷隠陰窟巌巖頌祝鰛鰮鰯岩磐鼾歪弑弋抱懐肬贅疣狗戌乾犬諱在坐未汝戒誡警縛今Εε曰禾稻員因蝗印嘶鰍電引躄誘動忿≦鵤錨碇怒霆雷霹凧桴筏Ιι魚菴庵雖尿荊棘茨祈祷命猯豕古伍乙鎰鴪聿軼樹慈悼愴慯労格到至傷鼬頂戴徒致鈑痛板柞砂沙些聊潔諍烈功諫勳勲勇漁諌憇=憩粹熱粋憤域閾勢勤忙急磯孰焉湶泉厳何弄苛≧鎔范啀毬訝燻息指挑拠縷絲厭營営愛幼緒遑暇糸I弌壹肆莓苺櫟著市碑鐓礎甃臀弩石犧牲犠池溢佚壱11燠鬻礇毓粥的戦戰軍幾郁一稲許否飯洟位違居姨猗斎偽噫逝医鑄痍委囲云圍ゐ挿炒彙要熨饐醫言矮往詒威懿入如僞忌彜煎逶緯韋唯莞淹胃善生恚彝惟以活蔚為猪衣倚幃斐移鮪将可偉畏五夷李渭怡貽癒依逸井慰行伊爲胆射詑矣頤熬萎良凍出椅率好揖肄痿鋳謂帷亥苡意維遺鰄異去堰容囗いヤ稚稍飲鎗鑓槍孀寡鰥Я碼傭雇闇敗吝薮藪殕脂寄宿櫓軈軅簗梁S漸鋏刃灸和柔軟窶鱧奴僕萢優柳喧宅館舘輩族鏃龠檪≒譯籥鑰蜴繹藥葯扼益厄疫躍約役訳薬疚疾岾楊谺邪薯犲豺〈《》〉山壥邸廛豢養社鑢育廉寧尉裕恭泰易休保康安靖笶八熄演谷焼彌冶⇔也輻破辭埜痩野屋家病椰爺已矢燒⇒灼妬耶遣瘠哉罷夜殺止揶辞弥やyеЕ円¥←↓↑→ёЁ━─ユヤヨЙυYイЫыйΥy]\|ッ\_s*[ヨユイヤ]\|ッ\_s*[ヨユイヤ]\|っ\_s*[よゆいや]\|欧\_s*羅\_s*巴\|歐\_s*羅\_s*巴\|尸\_s*童\|蹌\_s*踉\|蹣\_s*跚\|終\_s*夜\|4\_s*\%([項者つ日]\|番\_s*目\|種\_s*類\)\|他\_s*所\|仁\_s*史\|隆\_s*克\|尚\_s*武\|孝\_s*高\|悌\_s*也\|賀\_s*[子悟]\|彬\_s*伯\|栄\_s*伸\|宗\_s*生\|新\_s*生\|昌\_s*[美男]\|暢\_s*[子一]\|永\_s*沈\|8\_s*日\|8\_s*日\|黄\_s*泉\|左\_s*手\|百\_s*合\|L\_s*i\_s*l\_s*i\_s*\%(o\_s*p\_s*s\_s*i\_s*d\_s*a\|a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\)\|U\_s*\%(字\|タ\_s*ー\_s*ン\)\|鞦\_s*韆\|強\_s*請\|梅\_s*桃\|桜\_s*桃\|靫\_s*負\|宙\_s*美\|礼\_s*暁\|温\_s*\%(雄\|泉\_s*津\)\|長\_s*庚\|昨\_s*夜\|又\_s*木\|木\_s*綿\|E\_s*\%(u\|メ\_s*ー\_s*ル\)\|祖\_s*谷\|文\_s*身\|郎\_s*[女子]\|刺\_s*[青草]\|蕁\_s*麻\|U\_s*\%(字\|タ\_s*ー\_s*ン\|r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|海\_s*[豚参]\|西\_s*表\|鸚\_s*哥\|影\_s*[向青]\|況\_s*ん\_s*や\|所\_s*[以縁謂]\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|藺\_s*草\|J\_s*u\_s*\%(l\_s*i\_s*a\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|n\_s*c\_s*a\_s*l\_s*e\_s*s\)\|田\_s*舎\|膝\_s*行\|十\_s*六\_s*夜\|寝\_s*穢\|英\_s*\%([一桃蘭]\|吉\_s*利\)\|斑\_s*鳩\|烏\_s*賊\|玉\_s*筋\_s*魚\|硫\_s*黄\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|牛\_s*膝\|稜\_s*威\|常\_s*春\_s*藤\|5\_s*[つ日]\|5\_s*[つ日]\|惡\_s*戲\|甚\_s*振\|潮\_s*来\|悪\_s*戯\|交\_s*喙\|小\_s*魚\|鯨\_s*魚\|細\_s*小\_s*魚\|鶏\_s*魚\|経\_s*緯\|礒\_s*[山田]\|E\_s*\%(A\_s*S\_s*T\|V\_s*E\)\|気\_s*吹\|従\_s*[妹姉弟兄]\|公\_s*孫\_s*樹\|鴨\_s*脚\_s*樹\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|銀\_s*杏\|鳶\_s*尾\|巫\_s*子\|神\_s*巫\|無\_s*花\_s*果\|睦\_s*月\|都\_s*方\_s*流\|縊\_s*[殺死首]\|蝟\_s*[集縮]\|埋\_s*け\_s*[火炭]\|不\_s*[可如]\|守\_s*宮\|燕\_s*龍\_s*茶\|両\_s*班\|流\_s*鏑\_s*馬\|柵\_s*原\|箭\_s*[田内]\|R\_s*a\_s*f\_s*f\_s*l\_s*e\_s*s\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|自\_s*棄\|火\_s*傷\|徐\_s*ら\|M\_s*y\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|天\_s*蚕\|倭\_s*絵\|日\_s*本\_s*武\_s*尊\|大\_s*和\|T\_s*\%(h\_s*e\_s*l\_s*i\_s*g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*o\_s*c\_s*h\_s*o\_s*d\_s*e\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|香\_s*具\_s*師\|玄\_s*孫\|A\_s*r\_s*a\_s*c\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*\%(o\_s*t\_s*e\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*c\_s*i\_s*p\_s*e\_s*s\)\|a\_s*l\_s*m\_s*a\_s*l\_s*e\_s*s\)\|妥\_s*子\|寿\_s*[詞男]\|Y\_s*\%([談軸]\|シ\_s*ャ\_s*ツ\)\|エ\_s*\%(ホ\_s*バ\|フ\_s*ゲ\_s*ニ\_s*ー\|レ\_s*ヴ\_s*ァ\_s*ン\|ニ\_s*セ\_s*イ\|ー\_s*ル\)\|ワ\_s*イ\)', \ 'z' : '\%([空損存揃園薗底足束續屬∈∋賊続粟族俗属僧慥噌梍賍臟臧贓憎像臓贈象増造添初曾反沿曽ぞ譱然苒繕禪薇千蠕∀髯禅善漸冉前全關関蝉膳錢銭絶勢噬説筮贅脆税是攻責ぜ狡詰桷寸喘鮨附◆髓蘂膸蕋惴蕊隧隋隨瑞髄随豆廚圖付津頭酢厨好図逗鶴刷ず塩嶋縞島嶌橲衄衂宍竺舳忸軸舌祖喰食直凝日實昵印闍者鮭邪蛇麝搦着惹尺鉐雀寂若弱尻稔仭糂贐潯儘仞盡刄臣侭恁進訊俥蕁迅刃靱荏甚靭燼櫁樒塵尽尋陣腎壬人敘恕耡汝莇杼茹敍蜍洳舒縟辱褥蓐溽所抒鋤徐序絮叙助釀淨疂絛繞壌諚孃瀞襄仍蟐拯疉讓聶驤生帖仗躡穰乘塲靜繩禳蕘壤遶星滌茸嬲疊如醤剩娘嬢錠静醸縄女尉饒丈成擾穣烝嫋丞場杖條条蒸貞状攘剰畳冗定浄乗情城上常譲濡得戍就嬬鷲竪讐讎懦愀咒聚隼詢徇笋凖盾楯筍篤蓴惇洵淳閏諄恂馴旬荀潤循醇巡遵順准殉純準襦誦需戌朮孰宿塾珠熟恤術述孺呪豎儒綬樹受授壽鞣狃澀揉廿拾縱中從糅从戎澁蹂神汁獸絨縦渋柔什充十獣従住銃重岻治除士染時怩至児冶璽只畤侍孳轜耳示次寿辭粫司二祀邇而慈峙爺以地塒珥迩痔死敷恃蒔磁瓷仁字尓焦膩柱似嗣子亊路史餌兒滋仕爾辞弍自茲持寺事知じ騒沢澤猿笊晒曝皿鮫山算参鏨慘竄懴殘塹巉懺嶄讒惨暫慚慙斬残実笹酒坂盛三崎嵜桜榴雜襍棹竿雑濟才西斉済劑戝剤材財罪在冴覚左咲挫藏裂醒坐蔵差冷座戯ざz→↑ЬьЪъ↓←Жжズゾ零〇〒ザジゼзζЗΖz]\|ッ\_s*\%(ソ\_s*゙\|セ\_s*゙\|ス\_s*゙\|シ\_s*゙\|サ\_s*゙\)\|ッ\_s*[ゾゼズジザ]\|っ\_s*[ぞぜずじざ]\|ソ\_s*゙\|簇\_s*生\|双\_s*紙\|草\_s*[履紙子]\|セ\_s*゙\|台\_s*詞\|0\_s*次\|発\_s*条\|撥\_s*条\|發\_s*条\|世\_s*阿\_s*弥\|ス\_s*゙\|相\_s*撲\|木\_s*菟\|修\_s*法\|杜\_s*撰\|調\_s*所\|徒\_s*[罪刑]\|螟\_s*虫\|芋\_s*茎\|F\_s*i\_s*g\_s*u\_s*r\_s*e\|シ\_s*゙\|G\_s*\%(メ\_s*ン\|パ\_s*ン\)\|D\_s*y\|G\_s*\%(メ\_s*ン\|パ\_s*ン\)\|支\_s*度\|試\_s*合\|2\_s*乗\|2\_s*乗\|J\_s*\%(I\_s*S\_s*コ\_s*ー\_s*ド\|ポ\_s*ッ\_s*プ\|R\_s*東\_s*日\_s*本\)\|獅\_s*子\|甲\_s*乙\_s*丙\_s*丁\_s*戊\_s*己\_s*庚\_s*辛\_s*壬\_s*癸\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|爪\_s*哇\|射\_s*礼\|砂\_s*利\|謝\_s*花\|著\_s*語\|杓\_s*子\|深\_s*\%(秘\|大\_s*寺\)\|秦\_s*泉\_s*寺\|沈\_s*\%(香\|丁\_s*花\)\|晨\_s*朝\|濁\_s*世\|判\_s*官\|諍\_s*論\|長\_s*夜\|漏\_s*斗\|焼\_s*酎\|鐘\_s*石\|橈\_s*脚\_s*類\|承\_s*久\|朱\_s*里\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*\%(リ\_s*ー\_s*グ\|ポ\_s*ッ\_s*プ\|U\_s*N\_s*K\_s*O\)\|絢\_s*子\|頌\_s*偈\|数\_s*珠\|入\_s*[魂牢来洛院内水棺]\|霜\_s*月\|1\_s*\%(2\|6\_s*進\|0\_s*[進月]\|1\_s*月\|8\_s*禁\)\|師\_s*走\|極\_s*月\|紐\_s*帯\|1\_s*\%(0\|1\_s*月\|8\_s*禁\|2\_s*月\)\|サ\_s*゙\|搾\_s*菜\|蜊\_s*蛄\|粗\_s*目\|槧\_s*本\|散\_s*切\_s*り\|沙\_s*汰\|石\_s*榴\|柘\_s*榴\|細\_s*工\|亜\_s*鉛\|サ\_s*\%(モ\_s*ラ\|ン\_s*ポ\_s*ー\_s*ニ\_s*ャ\|ラ\_s*ゴ\_s*サ\)\|Z\_s*\%([r軸]\|i\_s*\%(r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\|n\_s*c\)\|ガ\_s*ン\_s*ダ\_s*ム\|バ\_s*ッ\_s*フ\_s*ァ\|I\_s*P\_s*フ\_s*ァ\_s*イ\_s*ル\)\|シ\_s*\%(タ\_s*ー\_s*ル\|オ\_s*\%(ン\|ニ\_s*\%(ス\_s*ト\|ズ\_s*ム\)\)\)\|Z\_s*\%([旗軸]\|変\_s*換\|i\_s*g\_s*g\_s*y\)\|チ\_s*\%(ク\_s*ル\_s*ス\|ア\_s*ノ\_s*ー\_s*ゼ\|ュ\_s*ー\_s*リ\_s*\%(ヒ\|ッ\_s*ヒ\)\|ャ\_s*ル\_s*ダ\_s*ッ\_s*シ\_s*ュ\|ゴ\_s*イ\_s*ネ\_s*ル\_s*ワ\_s*イ\_s*ゼ\_s*ン\)\|ツ\_s*\%(ァ\_s*\%(ラ\_s*ト\_s*ゥ\_s*ス\_s*ト\_s*ラ\|イ\_s*ト\)\|ェ\_s*\%(ナ\_s*ー\|ッ\_s*ペ\_s*リ\_s*ン\|ル\_s*マ\_s*ッ\_s*ト\)\|ィ\_s*\%(ク\_s*ル\_s*ス\|タ\_s*ー\|ー\_s*グ\_s*ラ\_s*ー\|ン\_s*\%(バ\_s*ロ\_s*ン\|マ\_s*ー\_s*マ\_s*ン\)\|ゴ\_s*イ\_s*ネ\_s*ル\)\)\)', \ 'A' : '\%([ア餅母渉恤閔憐慌遽蚫鰒鮑袷淡∃主衽袵歩垤蟻麁凡塔蘭露著表霰非諍抗更検革改現競爭争洗殿鉱予豫粗嵐禮恠妖彪殺絢怪綺肖彩漢過謝謬誤礼操綾飴菴黯罨鱇鮟餡行闇按諳晏鞍暗鶩鬚鰓顎喘発肋豈嫂兄崇騰県購贖网罔咫與鼎中新邉邊辺恰頭價価値游遊畔畦堋杏梓与袙衵憬孔坑案侮窖強貴讐讎徒仇黶痣欺鮮字糾嘲薊姐姉曙炮焙炙蜚薹膏脂油危鐙虻泡蹟能痕踪跡東預聚輯纂遏蒐乢軋誂羹壓惇集陸敦暑淳篤熱扱暖温遖斡私圧焦汗央奥奧媼桜櫻塰蜑餘遍普周剰蔗余尼雨甘天凹押樗楝溢艶庵鰺網戯簣鯵味堊渥軛圷憧欠踵幄握芥齷厚漁鯏蜊蕣淺麻浅晰龝煥晢呆朖啓亮晄鑑滉昜旭聡光亨陽洸璋顯輝昿曠諦朗哲顕彬晶賈章商穐彰晃晧昭秋噫瞹穢阨埃欸姶隘文粟曖鮎藹饗靉挨間相哀葭趾朝晨愛跛蹇跫脚蘆葦芦鐐桎足淦赫燈赧紅旃朱茜藜銅赭閼曉暁垢皹皸絳灯證暴証赤呷扇黝榮碧葵蒼煽仰青穴和或哇婀当上阿編吾在併明開韲悪荒襾痾浴唖有挙遭逢嗚敢褪娃安厭充該彼擧會飫倦合亞揚椏宛遇飽惡當あ藍金@&&∧∩論∠銀会∀空域⇔←↓⇒→↑⌒後Ц亜米¨´`^’〜≒AαÅΑアаАA]\|厦\_s*門\|廈\_s*門\|沫\_s*雪\|食\_s*蟻\_s*獣\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|浣\_s*熊\|菖\_s*蒲\|豆\_s*汁\|蛙\_s*鳴\_s*蝉\_s*噪\|塩\_s*梅\|家\_s*鴨\|趺\_s*坐\|Z\_s*\%(n\|i\_s*n\_s*c\)\|浮\_s*子\|痘\_s*痕\|窪\_s*地\|糠\_s*蝦\|醤\_s*蝦\|信\_s*天\_s*翁\|左\_s*沢\|雅\_s*典\|校\_s*倉\|小\_s*豆\|四\_s*阿\|鴉\_s*\%(片\|鷺\_s*合\_s*戦\_s*物\_s*語\)\|渾\_s*名\|綽\_s*名\|化\_s*野\|翌\_s*檜\|飛\_s*[魚鳥]\|総\_s*角\|木\_s*通\|通\_s*草\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|花\_s*鶏\|我\_s*\%(妻\|孫\_s*子\)\|数\_s*多\|奄\_s*美\|灰\_s*汁\|a\_s*\%(t\_s*t\_s*o\|c\_s*c\_s*e\_s*n\_s*t\)\|胡\_s*[床坐座葱]\|日\_s*明\|碩\_s*宏\|祥\_s*[仁彦]\|蜻\_s*蛉\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|生\_s*憎\|匕\_s*首\|英\_s*\%([保田]\|虞\_s*湾\|賀\_s*保\)\|靄\_s*[靄々]\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(電\_s*話\|ア\_s*ド\_s*レ\_s*ス\)\|D\_s*カ\_s*ー\_s*ド\|C\_s*\%(タ\_s*グ\|カ\_s*ー\_s*ド\)\)\|I\_s*\%(P\_s*電\_s*話\|C\_s*\%(タ\_s*グ\|カ\_s*ー\_s*ド\)\)\|走\_s*目\|鹹\_s*草\|馬\_s*酔\_s*木\|海\_s*[豹人女士部驢]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|褐\_s*毛\_s*和\_s*種\|石\_s*蓴\|白\_s*馬\|水\_s*[黽馬綿]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|ト\_s*リ\_s*プ\_s*ル\_s*A\|公\_s*理\| \_s*ア\_s*ク\_s*シ\_s*ア\_s*ム\|ヒ\_s*素\|砒\_s*素\|京\_s*都\_s*高\_s*度\_s*技\_s*術\_s*研\_s*究\_s*所\|代\_s*入\|遺\_s*産\|抽\_s*象\|G\_s*o\_s*l\_s*d\|自\_s*動\_s*\%(現\_s*金\_s*取\_s*り\_s*扱\_s*い\_s*機\|預\_s*貯\_s*金\_s*機\)\|属\_s*性\|何\_s*か\|か\_s*つ\|お\_s*よ\_s*び\|セ\_s*ン\_s*ト\_s*キ\_s*ッ\_s*ツ\_s*ネ\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|使\_s*用\_s*可\_s*能\|利\_s*用\_s*可\_s*能\|算\_s*法\|割\_s*り\_s*当\_s*て\|オ\_s*\%(レ\|ギ\_s*ュ\_s*ス\_s*タ\_s*ン\|ド\_s*レ\_s*イ\|ン\_s*グ\_s*ス\_s*ト\_s*ロ\_s*ー\_s*ム\|ル\_s*\%(ト\_s*キ\_s*ー\|タ\_s*\%([ーナ]\|ネ\_s*\%(ー\_s*ト\|イ\_s*ト\)\)\)\|ー\_s*\%([クガサトラル]\|ニ\_s*ン\_s*グ\|キ\_s*シ\_s*ン\|ブ\_s*リ\_s*ー\|バ\_s*ー\_s*ド\|ベ\_s*ル\_s*ジ\_s*ュ\|ギ\_s*ュ\_s*ス\_s*\%(ト\|タ\_s*ン\)\|ゾ\_s*ン\_s*ヌ\|ス\_s*\%(チ\_s*ン\|テ\_s*ィ\_s*ン\|タ\_s*ー\|ト\_s*\%(リ\_s*ア\|ラ\_s*リ\_s*ア\)\)\|ド\_s*リ\_s*ー\|ジ\_s*\%([ェー]\|オ\_s*ロ\_s*ジ\)\|デ\_s*ィ\_s*\%(オ\|エ\_s*ン\_s*ス\|シ\_s*ョ\_s*ン\|ト\_s*リ\_s*ア\_s*ム\)\|タ\_s*ム\|ソ\_s*\%(リ\_s*テ\_s*ィ\|ラ\_s*イ\_s*ズ\)\|セ\_s*ン\_s*テ\_s*ィ\_s*ッ\_s*ク\|ロ\_s*ラ\)\)\|配\_s*列\|バ\_s*イ\_s*ト\|ハ\_s*ル\_s*マ\_s*ゲ\_s*ド\_s*ン\|引\_s*数\|人\_s*工\_s*\%(現\_s*実\_s*感\|知\_s*能\)\|イ\_s*\%(ー\_s*ジ\_s*ス\|オ\_s*ン\|ソ\_s*ッ\_s*プ\)\|マ\_s*ル\_s*ド\_s*ゥ\_s*ー\_s*ク\|紫\_s*\%(陽\_s*花\|水\_s*晶\|石\_s*英\)\|付\_s*録\|応\_s*用\|エ\_s*\%([ニメアイー]\|ッ\_s*チ\|ン\_s*\%(ド\_s*ラ\_s*ン\|ジ\_s*ェ\_s*\%(ル\|リ\_s*ッ\_s*ク\)\|ゼ\_s*ル\)\|リ\_s*ア\|オ\_s*リ\_s*ア\|ス\_s*テ\|プ\_s*ロ\_s*ン\)\)', \ 'B' : '\%([鯔鰡堀本凡盆煩梵骨凹歿鈕釦沒渤没穆睦濮樸目攴攵朴木僕墨卜牧星抱肪鵬冐氓鋩旄瑁袤儚蟒鉾貌旁网茆牟蒡甍胞謗蠎虻髦黽卯懋榜眸罔乏惘妨帽昴忙剖冒忘茅膀妄尨厖膨貿防紡滂茫望亡傍某謀暈拇保墓暮菩簿誉掘募姥謨模母干彫呆慕坊姆牡乾褒惚戊ぼ冖覓幎汨巾羃冪紅鼈瞥韈蔑塀抃遍辧瓣卞汳宀湎采辯辨辮眄冕勉娩弁邉可辺邊べ船房笛淵縁渊渕斑鞭樗椈太袋深蓋葢盖豚節勿佛物震勃蚋風鰤馼蚊聞文誣無蒲撃打不錻武振分蕪奉吹侮葺毋舞悔憮部廡嘸葡撲撫拭伏歩ぶ米謐人匹浸額鐚跛!広開繆別謬泯旻梹罎岷緡紊檳頻壜愍瓶鬢閔憫敏貧便帛辟百闢白杪″緲憑票猫鋲屏渺眇平錨苗秒描廟病尾火日媚靡糒枇贔未引琵瀰嵋備縻糜弾美眉弭濔比寐毘麋微び早速林尿針腹拂散払祓原塙蠻旛旙鑁鷭幡悗挽判棒絆版輓蕃板播礬阪坂磐番盤晩萬蛮万箱蠅芒挟伴蜂桴枹鉢撥働畠畑糞屎鼻花端離話V魅許秤筏罸魃拔閥橋走箸柱寞藐貘獏暴漠瀑麥縛博駁莫驀爆楳憊狽霾唄吠杯賣苺培煤黴貝焙賠買売陪倍梅媒跋伐末幕曝抜罰庭馬葉婆罵這化馳羽塲晴歯場芭刄刃張貼ば“仏□■⊥下底×|‖−\∵麦ボバ][{}BブビБΒбβベB]\|ッ\_s*\%(ホ\_s*゙\|ヘ\_s*゙\|フ\_s*゙\|ヒ\_s*゙\|ハ\_s*゙\)\|ッ\_s*[ボベブビバ]\|っ\_s*[ぼべぶびば]\|ホ\_s*゙\|小\_s*火\|襤\_s*褸\|孟\_s*買\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|南\_s*瓜\|耄\_s*耋\|孑\_s*孑\|包\_s*丁\|ヘ\_s*゙\|袂\_s*別\|箆\_s*棒\|篦\_s*棒\|胼\_s*胝\|フ\_s*゙\|補\_s*任\|毒\_s*島\|醜\_s*[女男]\|山\_s*毛\_s*欅\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|布\_s*団\|茯\_s*苓\|V\_s*\%(字\|ネ\_s*ッ\_s*ク\|シ\_s*ネ\_s*マ\)\|附\_s*子\|付\_s*子\|鞦\_s*韆\|豊\_s*[前後]\|ヒ\_s*゙\|魚\_s*[籠篭]\|b\_s*i\_s*o\_s*t\_s*o\_s*p\_s*e\|彌\_s*縫\|弥\_s*[漫縫]\|吃\_s*驚\|天\_s*鵞\_s*絨\|緬\_s*甸\|賓\_s*頭\_s*盧\|編\_s*木\|柏\_s*槙\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|兵\_s*[衛法]\|表\_s*紙\|拍\_s*[板子]\|ハ\_s*゙\|囃\_s*子\|巴\_s*爾\_s*幹\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|薔\_s*薇\|蟠\_s*踞\|鈑\_s*金\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|発\_s*条\|祖\_s*母\_s*さ\_s*ん\|梯\_s*子\|伯\_s*\%([林楽労]\|剌\_s*西\_s*爾\)\|莪\_s*原\|蝗\_s*虫\|飛\_s*[車蝗]\|掲\_s*示\_s*板\|プ\_s*ル\_s*コ\_s*ギ\|作\_s*業\_s*域\|オ\_s*ー\_s*ト\_s*バ\_s*イ\|基\_s*[礎底]\|フ\_s*ァ\_s*ゴ\_s*ッ\_s*ト\|背\_s*景\|北\_s*京\|ペ\_s*\%(キ\_s*ン\|テ\_s*ル\_s*ギ\_s*ウ\_s*ス\)\|臭\_s*素\|イ\_s*ギ\_s*リ\_s*ス\|ホ\_s*ウ\_s*素\|硼\_s*素\)', \ 'C' : '\%([コ恐怖惟怺※米暦轉頃壼鶤袞鯤坤狠艮獻琿悃很建棍魂菎蒟滾梱溷献痕渾墾恨懇根杪王挙泥裔樸鞐熟枹醴蛩蹊徑径溢毀零錯苔拒箏亊判斷諺理断盡尽辞琴言異事今壽寿鯒冀希礫鯉拱齣狛細腓昆拳瘤鮗兄近谺応應答是爰凩兀惚榾忽輿甑腰拵拗鐺鏝昿仰慌桁袷塙頏絖冦耗亙峺效晄覯糠匣逅閧扛湊羔礦爻壙盍洸鬨浤凰閤窖缸寇岡頁傚湟汞洽崗鮫伉訌誥冓敲磽鏗椌搆肓鍠矼砿犒淆呷鵁皐黌遘昴槹蚣肱肴熕胱猴扣杲蛤狎畊昊餃哽幌鱇峇嫦烋隍恆倥徨啌吭釦闔藁絋棡遑紘稾鴿詬哮困靠皋惶紺鈩絳閘蒙冰氷郡蛟槁候楮媾溘后蝗酵嚆犢稿亢哄睾慷梗笄郊効岬肛項巷鑛洪佼狡昂叩勾喉滉糀晃剛晧曠宏控恍侯煌港皓坑皎耿膏向江膠虹巧鴻鉱衡浩興厚耕弘綱抗購講恒溝薨鋼航孝更校行肯荒高皇光好槲梏谷釛尅斛棘轂哭詰告刻酷穀⌒冴虎觚壷胯鼓児漉糊媚古娘冱虚混粉辜湖虍放葫捏鈷痩鴣瞽詁箍錮蠱蛄粐滬估雇故沽転倒漕罟餬拠超込凅誇懲琥扈袴木蝴呱乕踰弧越孤菰跨壺楜黄股肥己女戸恋兒怙瑚戀夸皷滸濾瓠去濃乎杞こセ芹鬩旃錢刋箭羶筌孅阡栫舩纎濺舛甎銛簽湶茜槧吮薦癬斬倩痊孱擶贍纖仟磚燹揃綫喘涎荐饌槫濳沾筅蟾牋苫專翦亘鐫僣韆箋僊殱殲闡賎餞羨顫甅竰糎陝踐銓閃∨潺遷銑栴剪煽譫僉瞻践跣栓疝詮銭穿尠戰僭繊腺泉嬋仙擅淺鮮専扇蘚船浅線撰宣洗選煎戦尖先忙伜倅逼狭狹蝉旋鱈薛椄絏洩卩啜泄紲攝緤§渫刹褻浙竊截窃殺説拙摂節切蓆晰威裼績蹐迹蹠跖跡螫瘠勣籍晢夕鶺雪寂∫∬碩惜析席隻甥韲嘶犀菁瀞晟貰擠睛筬淒醒齊婿撕牲齏情萋穽躋歳栖棲掣腥逝惺斉臍旌悽整凄靖製晴迫塞攻瀬急勢世畆丗糶畝堰脊せク配椚檪櫪栩椡椪箜櫟含纐婚糞癖潛潜鵠凹窪縊跟頚軛珞頸諄鞋履窟狐轡覆沓碎砕条降件頽崩屑釘莖茎陸杙杭掘崛倔鶏鐃藥擽薬楠誓梳串釧與与挫籖鯀鯨鬮籤隈熊艸嚔藾叢鏈腐鎖Ξξ茸菌楔草圀邦國国漱嗽吻腔φ劫刧粂裙勳熏皹桾皸醺崑燻訓勲葷君委钁企咥銜桑某暝峅昏冥眛鮓比闇位鞍藏暗倉廚厨涅々〃ゝヽゞ仝ヾ公曇雲蜘佝栗狂包胡俥梍枢畔鐵★玄黒徠久孔桍窶暮懼駒苦朽区眩吁繰庫垢紅呉汲宮枸劬煦口9瞿工供吼怐玖貢九惧来來區組奇句狗鳩絎嶇衢くシ埀謐Σσ蘂蕋蕊痺褥茵鵐蔀鷸鴫霑入責蔵嶌了縞嶋島凋搾澀澁渋縛暫屡柴荵凌鎬忍簧慕舖↓襪認從从.舌扱罔虐Θθ秕粃椎椣尿貎肉臠猪衣榻黙蜆恵楙誠茂成繁惻鋪陣頻閾櫁樒鹽汐潮瑟蛭疾櫛隲隰嫉蟋悉漆躾膝失室沒鎭沈滴雫賤鎮靜静顰尓爾聢乍併然◇□■◆倖幸貭叱征質柵卯滋撓品鬼鍜錏錣痼凝而拉設垂萎栞襞吝咳什導汁験記徴著印☆〇銀城報調蝨虱白濕湿標七僕楚笞霜臀退斥尻後冩寫舍者砂卸柘炙#♯暹諜喋煮這西娑沙謝紗鯱奢赦洒捨鮭瀉妁鑠抉蹟勺炸決釋皙爍昔斫蜥刳芍酌爵折癪笏赤灼綽杓石尺赭写鷓積遮舎車射斜釈社洙麈殳蛛娶娵諏鬚侏繻銖蹙俶倏菽叔蓿戚肅淑夙粛宿縮殊趣珠恤卆蟀出洲泅楸綉溲遒酬鷲駲緝葺穐蹤繍螽讐甃萩楢逎讎售岫收驟舅囚姑蓚皺鞦銹脩輯醜習羞酋聚舟秀祝袖啾拾蒐収執衆愁就臭蹴週終褶州宗集秋椶棕朱撞種修周手首酒須儁惷悛濬雋皴墫蕣順蠢舜旬浚竣峻駿逡筍瞬俊蓁畛矧縉蔘鷏齔嗔忱譛袗譖娠疹哂脣怎晉鷆臻甄槙寢岑瀋箴軫榛秦襯診鉐津駸讖紳斟唇針呻蜃賑芯瞋振殿侵薪晨辰震宸森眞愼伸慎寝晋進深審親臣鍼申心宍信真新薯墅杵岨藷黍苜渚砠狙嶼處胥蜍苴曙背緒雎蔗庶処署所暑奬簫浹橸舂艢廂陞炒鍬庠獎梢璋將厰邵摺淞訟樅筱篠燮橡愴韶咲誚峭甞鯖敞聲懾稍腫政顳枩慯殤秤湫井星廠剿妝霎蛸劭觴愀升錆鬆樵囁鷦嶂醤青従慫逍倡竦爿薔笙樟装肖菖≦<湘誦聳檣稱声裳蒋蕉嘯慴盛精霄清鈔粧彰鏘悚蕭悄瀟哨焦憔匠鍾償瘴鞘漿頌詔沼妾請唱薑庄渉障奨娼床牀椒抄聖荘宵傷性相生銷召賞猩症昭燒猖昌少尚晶憧紹祥承證笑将焼照招章詳消証硝掌商昇小昃禝稷寔矚謖觸稙軾嗇屬穡拭属燭贖囑嘱織蝕式喰蜀殖諸初触埴植食職嗜笶姉士徙誣氏思染祗時弑滲梔摯肢詩咨祉刺泗輜厶強貲若至師舐咫只施誌呰匙示指締厮啻次賜熾趾駟漬笥贄此司如沚尸髭肆祀鷙諡枝篩豕巵始妛及弛絲浸閇翅緊揣伺糸駛痣矢衰死敷恃茨旨沁嘴蚩試釶俟瓷觜廝緇祠梓址詞之使獅志歯紫雌姿諮占絞視嗣識四恣阯侈幟卮凍史領竢市巳齒偲資止謚耆覗脂芝痴粢孜仕錙耜齎自屎茲岐〆嗤砥知私仔しカ糜癢粥痒麹輕骨業軽鰔鰈餉通瓶龜甕亀鴈獵鳫殯K猟雁釀鳧鳬髢氈鴨躱巛側厠廁磧瓦獺翡為裘皮〜紮→搦苧碓柄體軆躰躯身体鴉犂烏絡空唐榧茅揀坎澗扞莟丱拑盥嫺鑵蒄瞰淦稈康繝懽憾骭戡奐啣厂鐶讙澣羮寰羹嫻杆鸛歡豢歛罕酣陷皖篏捍瀚勸撼驩卷樌潤觀橄涵渙堪巫覡鉋随萱簪舘艱咸翰柬悍駻燗槓浣邯攷稽宦考棺潅閂煥鉗疳癇函凾鹹緘桓款箝諌諫轗旱坩侃鰥 館莞橇韓患灌勧菅奸刊柑肝看桿干緩寒嵌廣広竿貫巻敢漢環間陥喚閑監喊歓甘寛管慣完汗艦乾幹官観壁椛屍姓庇鞄芳蔓千鯑一勘蜻⊃影陰蔭景*棧梯筧庚辛柧門廉癩乞Κ川κ合’)〈《‘“”}{》〉囓柁鮖悴舵鰍梶錺餝飾篭籠還歸卻皈孵省顧槭楓却帰反返督髮帋守祇韮主裃雷髪紙鉦曲矩予鐘樺沫偏騙語潟刀模象仇固硬傍難容忝辱頑形方旁型肩風幽滓翳微掠綛纃絣緕擦糟鎹粕春轄戞劼猾瞎恰蛞∧蠍擔濶筈剋蝎曷羯喝餓聒鞨黠刮蘰鬘桂闊括嘗捷豁渇担滑松堅鰹功割戛活暈疽鵲瘡傘嵩重襲葛笠堵硴墻牆蠣蛎柿關掲罹抱踵嬶嚊拘関係貌顏郁薫顔母感釡罐窰鴎框叺喧竃竈窯釜缶蒲鎌數数槝栢膳傅畏賢橿姦樫爨炊圍喞託囲鈎『鉤「』」限鍵(傾禿蕪鏑頭齧被兜敵適哉必要称鼎鬲彜彝叶片悲哀愛鋺蛇鉄蜩神奏金楫裹磆餅徒褐糧粮膈覺∠埆蠖貉幗隱擴寉骼癨壑咯椁嚇茖愨槨膕掴覈殼穫狢霍礁恪擱匿撹攪喀廓較郭]】【〔〕[殻挌劃閣格隠覚矍革獲馘攫核鶴拡客隔角確蠏壞畍丐獪褂恠喙峡夬觧械揩醢匯廨誡誨嵬櫂隗茴徊迴枴懈价椢榿囘蛙瑰乖浬鰄傀糴柏街鳰懷蛔蠶蚕邂蟹潰壊恢腕芥垣楷會拐悔詼諧皆界疥魁偕改繪貝胛絵甲快灰槐晦懐介回塊解階廻戒開会怪海縢篝炬耀赫輝冠鑒鑑各屈鏡和代茄缺飼嫁華堝變狩上訶架何啝火日菓欠苅繋稼ヶ个噛譁科跏舸賭禍支窩課花刈渦嚼掛呵替葭柯畫駆嘩崋化霞蝌迦顆価馨家借蝦罅駈斯賈嘉易果戈廈哥買闕且克墟靴訛驅換踝描軻嗅價嗄可彼夥香歌河珂鹿個痂書假荷耶笳咼藉糅舁搗渮袈下萪貸厦禾貨咬寡箇卦苛譌枷掻過画ヵ黴遐兼醸翔仮佳蚊懸伽賀淅勝涸苟蝸謌夏枯暇か・…塩閉倶錫呼∩取籐加交бТуЖоВЙЗзжЪЯУИвяшфлСКрпХЁОЭРФЫЩъБыШйхМкПгдмцНЛёаиэетАГЬюЕЮсьнщД♪┼╋×╂┿○●◎銅∪χΧ子чЧ株Ц珈、,色ク衝競構簡制≡変接カ┐┘┗┏┓┌┛└正コ¢シ℃セCC]\|ッ\_s*[コセクシカ]\|ッ\_s*[コセクシカ]\|っ\_s*[子こせくしか]\|焜\_s*炉\|嫡\_s*妻\|二\_s*合\_s*半\|牛\_s*尾\_s*魚\|巨\_s*勢\|独\_s*楽\|居\_s*士\|特\_s*牛\|粫\_s*門\|甦\_s*生\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|傴\_s*僂\|A\_s*\%(r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|p\_s*i\_s*a\_s*l\_s*e\_s*s\)\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|台\_s*詞\|懺\_s*法\|前\_s*[妻栽]\|妹\_s*尾\|嘲\_s*笑\|儕\_s*輩\|斎\_s*次\|済\_s*[民々済]\|蒸\_s*[籠篭]\|救\_s*世\|莎\_s*草\|百\_s*[濟済]\|恭\_s*敬\|9\_s*[日月]\|秧\_s*鶏\|究\_s*竟\|釉\_s*掛\|典\_s*薬\_s*寮\|探\_s*湯\|球\_s*磨\|六\_s*合\|地\_s*祇\|都\_s*子\|群\_s*衆\|慈\_s*姑\|旧\_s*\%(訳\|唐\_s*書\)\|内\_s*蔵\_s*助\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|老\_s*舗\|望\_s*潮\|健\_s*か\|L\_s*a\_s*\%(u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|b\_s*i\_s*a\_s*t\_s*a\_s*e\)\|埋\_s*葬\_s*虫\|幣\_s*原\|卓\_s*袱\|桎\_s*梏\|柳\_s*葉\_s*魚\|蠹\_s*魚\|汚\_s*点\|惠\_s*雄\|舗\_s*石\|磯\_s*城\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|倭\_s*文\|云\_s*[々云]\|明\_s*\%(々\_s*後\_s*日\|明\_s*後\_s*日\)\|7\_s*月\|7\_s*月\|文\_s*月\|4\_s*月\|4\_s*[分月]\|竹\_s*[篦刀]\|羊\_s*[齒歯]\|爲\_s*\%([留難置果送極手兼合業]\|ん\_s*方\|來\_s*り\|納\_s*め\)\|I\_s*\%(l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|素\_s*[魚人面]\|不\_s*[忍知]\|注\_s*連\|軍\_s*鶏\|髑\_s*髏\|三\_s*\%(味\|鞭\_s*酒\)\|吃\_s*逆\|差\_s*[別異]\|叉\_s*手\|輸\_s*[出贏]\|卒\_s*去\|B\_s*r\|隼\_s*[朗郎]\|笋\_s*[干羹]\|参\_s*差\|財\_s*産\|枌\_s*所\|縦\_s*容\|睫\_s*毛\|M\_s*\%(e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|u\_s*s\_s*a\_s*l\_s*e\_s*s\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|S\_s*\%([eg]\|p\_s*e\_s*r\_s*m\_s*a\_s*t\_s*o\_s*p\_s*h\_s*y\_s*t\_s*a\|c\_s*i\_s*t\_s*a\_s*m\_s*i\_s*n\_s*e\_s*a\_s*e\)\|続\_s*\%(日\_s*本\_s*\%(紀\|後\_s*紀\)\|後\_s*撰\_s*和\_s*歌\_s*集\)\|離\_s*れ\_s*離\_s*れ\|掃\_s*部\|羚\_s*羊\|土\_s*器\|蝙\_s*蝠\|魚\_s*狗\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|o\_s*\%(t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\|d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\)\)\|連\_s*枷\|枳\_s*殻\|機\_s*関\|落\_s*葉\_s*松\|凵\_s*繞\|檻\_s*車\|顴\_s*骨\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|南\_s*瓜\|量\_s*子\|山\_s*\%(海\_s*経\|梔\_s*子\|陽\_s*道\)\|蜉\_s*蝣\|陽\_s*炎\|破\_s*片\|脚\_s*気\|旗\_s*魚\|鍛\_s*[治冶]\|挿\_s*頭\|駕\_s*\%(籠\|輿\_s*丁\)\|長\_s*[月官]\|剃\_s*刀\|天\_s*\%(牛\|鼠\_s*矢\)\|帷\_s*子\|酢\_s*漿\_s*草\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|飛\_s*[沫白]\|曾\_s*て\|曽\_s*て\|燕\_s*子\_s*花\|牡\_s*[蛎蠣]\|民\_s*部\|部\_s*曲\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|案\_s*山\_s*子\|梭\_s*\%(魚\|子\_s*魚\)\|蟷\_s*螂\|螳\_s*螂\|瓜\_s*\%(田\|呂\_s*根\)\|拍\_s*手\|瑕\_s*[瑾疵]\|東\_s*\%([風雲]\|海\_s*林\|京\_s*都\_s*立\_s*科\_s*学\_s*技\_s*術\_s*大\_s*学\)\|気\_s*[質触]\|(\_s*株\_s*)\|贏\_s*ち\_s*得\|歩\_s*兵\|恁\_s*く\|杜\_s*\%(若\|父\_s*魚\)\|梅\_s*花\_s*皮\|頴\_s*田\|膾\_s*炙\|契\_s*経\|中\_s*央\_s*処\_s*理\_s*装\_s*置\|伊\_s*藤\_s*忠\_s*テ\_s*ク\_s*ノ\_s*サ\_s*イ\_s*エ\_s*ン\_s*ス\|分\_s*類\|ス\_s*リ\_s*ー\_s*ズ\|範\_s*疇\|ト\_s*ラ\_s*ン\_s*プ\|c\_s*\%(e\_s*n\_s*t\_s*i\|r\_s*e\_s*s\_s*c\)\|水\_s*[鶏母夫手晶]\|複\_s*雑\_s*命\_s*令\_s*セ\_s*ッ\_s*ト\_s*計\_s*算\_s*機\|サ\_s*\%(ン\_s*チ\_s*ー\_s*ム\|エ\_s*ラ\|イ\_s*\%(ト\_s*カ\_s*イ\_s*ン\|ラ\_s*ス\|ク\_s*\%([ルロ]\|リ\_s*\%(ン\|ッ\_s*ク\)\)\|ボ\_s*\%(ウ\_s*ズ\|ー\_s*グ\)\|バ\_s*\%(ー\|ネ\_s*テ\_s*ィ\_s*\%(ッ\_s*ク\|ク\_s*ス\)\)\|リ\_s*ュ\_s*ー\_s*ム\|ダ\_s*ー\|フ\_s*ァ\_s*ー\|ネ\_s*リ\_s*ア\)\|ー\_s*\%(テ\_s*ィ\_s*フ\_s*ィ\_s*ケ\_s*ー\_s*シ\_s*ョ\_s*ン\|ク\_s*ル\|カ\_s*\%(ス\|ム\_s*ス\_s*ク\_s*\%(ラ\_s*イ\_s*ブ\|リ\_s*プ\_s*シ\_s*ョ\_s*ン\)\)\|キ\_s*\%(ュ\_s*\%(ラ\_s*ー\|レ\_s*ー\_s*\%(タ\_s*ー\|シ\_s*ョ\_s*ン\)\)\|ッ\_s*ト\)\)\)\|マ\_s*ド\_s*ラ\_s*ス\|茶\_s*筅\|ケ\_s*\%([月アイ]\|フ\_s*ェ\_s*ウ\_s*ス\|プ\_s*ス\_s*ト\_s*ラ\_s*[ムル]\|チ\_s*ャ\_s*ッ\_s*プ\|ン\_s*\%(タ\_s*ウ\_s*\%(リ\|ロ\_s*ス\)\|ブ\_s*リ\_s*ッ\_s*ジ\)\|ー\_s*\%([キジブプスン]\|ク\_s*ウ\_s*ォ\_s*ー\_s*ク\|ソ\_s*ン\|タ\_s*リ\_s*ン\_s*グ\|パ\_s*\%(ー\|ビ\_s*リ\_s*テ\_s*ィ\)\|シ\_s*ン\_s*グ\|リ\_s*ー\)\|ル\_s*\%(ト\|ベ\_s*ロ\_s*ス\|テ\_s*ィ\_s*ッ\_s*ク\|ビ\_s*\%(ム\|ー\_s*ニ\)\)\|ミ\_s*\%(カ\_s*ル\|ス\_s*ト\)\)\|キ\_s*\%(ヤ\_s*ノ\_s*ン\|プ\_s*ロ\_s*ス\|ケ\_s*ロ\|ュ\_s*\%([イーア]\|ヴ\_s*ェ\|ビ\_s*\%(ズ\_s*ム\|ス\_s*ム\)\|ロ\_s*\%(ス\|ッ\_s*ト\)\|レ\_s*ー\_s*タ\_s*ー\|ラ\_s*ソ\_s*ー\|リ\_s*\%(ー\|ウ\_s*ム\|ア\_s*ス\|オ\_s*シ\_s*テ\_s*ィ\)\)\|ア\_s*\%(ラ\|ー\_s*ラ\|ン\_s*テ\_s*ィ\)\|チ\_s*ン\|ト\_s*サ\_s*ン\|メ\_s*ラ\|マ\_s*イ\_s*ラ\|ッ\_s*カ\|レ\_s*ー\_s*ト\|ャ\_s*\%([ドパスブンラ]\|デ\_s*\%(ィ\|ラ\_s*ッ\_s*ク\)\|ビ\_s*\%([アンネ]\|テ\_s*\%(ィ\|ー\_s*シ\_s*ョ\_s*ン\)\)\|ベ\_s*ツ\|バ\_s*\%(リ\_s*[エア]\|レ\_s*ー\)\|ト\_s*ル\|シ\_s*ー\|サ\_s*リ\_s*ン\|タ\_s*ピ\_s*ラ\|ピ\_s*\%(ト\_s*ル\|タ\_s*\%(ル\|リ\_s*ズ\_s*ム\)\)\|プ\_s*\%(ラ\|シ\_s*ョ\_s*ン\|テ\_s*ン\|チ\_s*ャ\)\|セ\_s*\%(イ\|ロ\_s*ー\_s*ル\)\|ッ\_s*\%([ツトチプ]\|サ\_s*バ\|ス\_s*ル\|シ\_s*\%(ュ\|ン\_s*グ\|ャ\_s*\%(ー\|ブ\_s*ル\)\)\)\|ニ\_s*\%(オ\_s*ン\|ス\_s*タ\_s*ー\)\|ナ\_s*ル\|ノ\_s*\%(ン\|ー\_s*ラ\|ピ\_s*ー\)\|ミ\_s*ソ\_s*ー\_s*ル\|メ\_s*\%(ル\|ロ\_s*\%(ン\|ッ\_s*ト\)\)\|ロ\_s*\%(ル\|ウ\_s*ェ\_s*イ\|リ\_s*ン\|ラ\_s*イ\_s*[ンナ]\|ッ\_s*ト\)\|レ\_s*ッ\_s*ト\|リ\_s*\%([コーア]\|バ\_s*ー\|ブ\_s*レ\_s*ー\_s*シ\_s*ョ\_s*ン\|ッ\_s*ジ\|ン\_s*グ\)\|ズ\_s*ム\)\|リ\_s*\%(コ\|ス\_s*ト\|シ\_s*タ\_s*ン\)\)\|総\_s*角\|チ\_s*\%([タリンマア]\|ワ\_s*ワ\|ラ\_s*ー\|ル\_s*ド\|ム\_s*ニ\_s*ー\|コ\_s*リ\|ッ\_s*\%([プク]\|テ\_s*リ\_s*オ\|タ\_s*ゴ\_s*ン\)\|キ\_s*\%(ン\|ー\_s*タ\)\|ュ\_s*\%(ア\_s*ブ\_s*ル\|ー\_s*イ\_s*ン\_s*ガ\_s*ム\)\|ー\_s*\%([フトプクズ]\|パ\_s*ー\|タ\_s*ー\)\|ェ\_s*\%([ロスカコアン]\|ザ\_s*\%(レ\|ー\_s*レ\)\|ル\_s*\%(ニ\_s*ー\|シ\_s*ー\|ノ\_s*ブ\_s*イ\_s*リ\)\|リ\_s*\%(ー\|ス\_s*ト\|ッ\_s*シ\_s*ュ\|モ\_s*ヤ\)\|レ\_s*\%(ス\_s*タ\|ン\_s*コ\_s*フ\)\|ビ\_s*チ\_s*ェ\_s*フ\|ダ\_s*ー\|チ\_s*ェ\_s*ン\|ッ\_s*\%([トクカ]\|キ\_s*ン\_s*グ\)\|イ\_s*\%([スン]\|ニ\_s*ー\|サ\_s*ー\|シ\_s*ン\_s*グ\)\|ー\_s*\%(ン\|ザ\_s*レ\|ホ\_s*フ\)\)\|ャ\_s*\%([オフドインコリウ]\|ツ\_s*ネ\|ク\_s*ラ\|プ\_s*タ\_s*ー\|パ\_s*テ\_s*ィ\|ペ\_s*\%(ル\|ッ\_s*ク\)\|チ\_s*ャ\|ネ\_s*\%(ル\|ラ\_s*ー\|リ\_s*ン\_s*グ\)\|ッ\_s*\%([クト]\|ピ\_s*ー\|プ\_s*\%(マ\_s*ン\|リ\_s*ン\)\)\|タ\_s*\%(レ\_s*[イー]\|リ\_s*ン\_s*グ\)\|ル\_s*マ\_s*ー\_s*ス\|レ\_s*ン\_s*ジ\|モ\_s*ロ\|ー\_s*\%([チタトムジ]\|ビ\_s*ル\|ミ\_s*\%(ー\|ン\_s*グ\)\|リ\_s*ー\|ル\_s*\%([ズス]\|ト\_s*ン\)\)\|ラ\_s*ン\_s*ゴ\)\|ョ\_s*\%([ンコ]\|イ\_s*ス\|ム\_s*ス\_s*キ\_s*ー\|ー\_s*\%(ク\|サ\_s*ー\|カ\_s*ー\|キ\_s*ン\_s*グ\)\|ゴ\_s*リ\|ッ\_s*\%(プ\|ピ\_s*ー\|パ\_s*ー\)\|リ\_s*ソ\)\)\|座\_s*標\|喜\_s*劇\|互\_s*換\|共\_s*\%(通\|産\_s*主\_s*義\_s*者\)\|継\_s*続\|ツ\_s*\%(ァ\_s*ー\|ィ\_s*リ\_s*ル\|ェ\_s*\%(ー\|ル\_s*ニ\_s*ー\|ラ\_s*ン\)\)\|炭\_s*素\)', \ 'D' : '\%([共吃巴鑼錚鶏鳥響嫩緞丼呑曇貪鈍肭遠蚌溝鄰隣塢床処所年時鯲鰍鰌得徳讀獨髑毒読僮働萄桐閙ゞ嫐橈儂陶耨撓通鐃藤々恫瞳憧鬧⇔≡撞慟導〃仝洞堂瞠獰艟胴銅童動同道何弩怒退呶度堵奴解留融録取駑孥努戸止土ど瓰竕凸竍籵瓧禰泥捏溺寺鈿佃甸黏沺畋淀棯澱臀傳殿電照でヅ鶴辛強妻綱勤伝包筒做造作尽机月冢塚遣疲使突吊付漬津詰図積釣連づヂ中近力地痔持ぢ種棚倒濃彩逹畳諾゛濁玉默球魂騙谷館舘点岳嶽竹高凧蛸怛妲獺奪脱廼迺弟岱臺餒梯戴平内醍橙][題>≧第台代大鱈頼便誰樽懶怠灘斷椴黙旦煖彈暖談段断檀団團壇弾男抱舵橢炊佗堕荼拿打娜蛇楕陏駄唾拏雫沱立儺柁鴕溜妥朶陀墮駝出垂惰懦建兌澑田騨だ直◎.丶、,‥\.・…$“”↓†‡―┤達℃°独Dド÷◇◆ダジДデΔδд∂D]\|ッ\_s*\%(ト\_s*゙\|テ\_s*゙\|ツ\_s*゙\|チ\_s*゙\|タ\_s*゙\)\|ッ\_s*[ドデヅヂダ]\|っ\_s*[どでづぢだ]\|ト\_s*゙\|都\_s*々\_s*逸\|褞\_s*袍\|S\_s*a\_s*u\_s*r\_s*u\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|C\_s*\%(u\|o\_s*p\_s*p\_s*e\_s*r\)\|満\_s*天\_s*星\|豆\_s*腐\|如\_s*何\|テ\_s*゙\|刑\_s*事\|粘\_s*葉\_s*装\|手\_s*間\|木\_s*偶\|丁\_s*[稚抹]\|蝸\_s*牛\|ツ\_s*゙\|頭\_s*[腦痛]\|チ\_s*゙\|調\_s*子\|茶\_s*碗\|知\_s*恵\|忸\_s*怩\|タ\_s*゙\|忠\_s*幸\|壁\_s*蝨\|伊\_s*達\|山\_s*車\|韃\_s*靼\|提\_s*婆\_s*達\_s*多\|太\_s*\%([刀宰鼓]\|平\_s*広\|上\_s*天\_s*皇\|政\_s*\%(官\|大\_s*臣\)\)\|乃\_s*[公毅]\|体\_s*操\|葮\_s*竹\|演\_s*\%(し\_s*物\|繹\_s*デ\_s*ー\_s*タ\_s*ベ\_s*ー\_s*ス\)\|コ\_s*ロ\_s*ン\_s*ビ\_s*ア\|ズ\_s*\%(ロ\_s*ー\_s*ス\|ッ\_s*ク\)\|イ\_s*ル\_s*カ\|医\_s*者\|博\_s*士\|文\_s*書\|行\_s*列\_s*式\|発\_s*見\_s*す\_s*る\|ハ\_s*ー\_s*グ\|拒\_s*否\_s*さ\_s*れ\_s*た\|破\_s*壊\_s*\%(者\|す\_s*る\)\|消\_s*滅\_s*子\|記\_s*述\_s*子\|十\_s*進\_s*数\|ゼ\_s*ッ\_s*ケ\_s*ン\|復\_s*号\_s*化\|省\_s*略\|金\_s*剛\_s*石\|d\_s*\%(b\_s*m\_s*s\|e\_s*c\_s*\%([ia]\|r\_s*e\_s*s\)\|o\_s*u\_s*b\_s*l\_s*e\_s* \_s*i\_s*n\_s*c\_s*o\_s*m\_s*e\_s*,\_s* \_s*n\_s*o\_s* \_s*k\_s*i\_s*d\_s*s\|i\_s*m\)\|辞\_s*書\)', \ 'E' : '\%([エ瘧腮偉鰓衿撰襟掾圜鹽垣檐媛爰捐¥覃黶篶湲蜒讌簷櫞悁渊轅渕閼魘薗艷鳶鴛焉嫣宛閻衍臙閹槐⌒援筵淹厭寃淵掩烟嚥圓沿宴蜿奄袁煙艶焔炎怨鉛園苑偃冤延婉遠堰燕演塩円縁刔刳抉猿狗描択鰕箙蛯蝦狄貊胡戎夷乢靨鉞噎戉咽粤桟悦閲謁奕伯懌亦蜴掖繹越役驛疫易益腋駅液殪纓裔曵頴洩瓔潁贏珱衡娃翳營瑩咏楹塋蠑瀛睿泳縊榮瑛暎曳盈郢影詠穎嬰鋭叡映営栄永衞衛得絵荏懷畫枝江繪衣猥慧惠獲回依會重柄杖餌榎画恵笑会囘選え━─┳┬┯┰┸┷┻┴Фф=⇔≡∈∋РрМмН→英∃式!ΗηEсСлЛΕЭεэエE]\|A\_s*\%([面判型級]\|V\_s*\%(機\_s*器\|女\_s*優\)\|B\_s*\%(型\|C\_s*順\)\)\|A\_s*\%([面判型級]\|V\_s*\%(機\_s*器\|女\_s*優\)\|B\_s*型\)\|M\_s*サ\_s*イ\_s*ズ\|M\_s*サ\_s*イ\_s*ズ\|豪\_s*物\|L\_s*\%(サ\_s*イ\_s*ズ\|L\_s*サ\_s*イ\_s*ズ\)\|L\_s*\%(サ\_s*イ\_s*ズ\|L\_s*\%(サ\_s*イ\_s*ズ\|教\_s*室\)\)\|羨\_s*道\|豌\_s*豆\|C\_s*\%(l\|h\_s*l\_s*o\_s*r\_s*i\_s*n\_s*e\)\|似\_s*\%(非\|而\_s*非\)\|桧\_s*原\_s*湖\|烏\_s*帽\_s*子\|吉\_s*方\|胞\_s*衣\|淮\_s*南\_s*子\|埃\_s*及\|干\_s*支\|岐\_s*路\|支\_s*繞\|壊\_s*[疽死]\|葡\_s*萄\|蛭\_s*子\|愛\_s*\%([理莉媛]\|知\_s*川\)\|N\_s*極\| \_s*n\_s* \_s*角\_s*形\|N\_s*\%([個極響]\|次\_s*元\|H\_s*K\_s*ホ\_s*ー\_s*ル\)\|斉\_s*魚\|兄\_s*鼓\|ヱ\_s*ス\_s*ビ\_s*ー\_s*食\_s*品\|S\_s*\%([波字席極]\|サ\_s*イ\_s*ズ\|N\_s*比\|F\_s*小\_s*説\)\|S\_s*\%([式極]\|サ\_s*イ\_s*ズ\|N\_s*比\|F\_s*小\_s*説\)\|穢\_s*[多土]\|X\_s*\%([軸脚]\|O\_s*醤\|染\_s*色\_s*体\)\|X\_s*\%([軸脚線]\|染\_s*色\_s*体\)\|海\_s*\%(老\|鷂\_s*魚\)\|帝\_s*都\_s*高\_s*速\_s*度\_s*交\_s*通\_s*営\_s*団\|ワ\_s*ー\_s*ク\_s*ス\_s*テ\_s*ー\_s*シ\_s*ョ\_s*ン\|欧\_s*\%(州\|羅\_s*巴\)\|歐\_s*\%(州\|羅\_s*巴\)\|ヨ\_s*ー\_s*ロ\_s*\%(ピ\_s*ア\_s*ン\|ッ\_s*パ\)\|ユ\_s*\%(ア\_s*ン\|ウ\_s*ロ\_s*ピ\_s*ウ\_s*ム\|リ\_s*イ\_s*カ\|ー\_s*\%(ロ\|ノ\_s*ス\|ニ\_s*ス\|ジ\_s*\%(ン\|ー\_s*ン\)\|ド\_s*ラ\|レ\_s*カ\|ラ\_s*\%(ス\|シ\_s*ア\)\|フ\_s*\%(ラ\_s*テ\_s*ス\|ォ\_s*\%(リ\_s*ア\|ニ\_s*ア\_s*ム\)\)\|ク\_s*リ\_s*ッ\_s*ド\|カ\_s*リ\)\)\|編\_s*集\|強\_s*調\|e\_s*m\_s*a\_s*c\_s*s\|電\_s*子\_s*メ\_s*\%(イ\_s*ル\|ー\_s*ル\)\|発\_s*展\|評\_s*価\_s*す\_s*る\|符\_s*号\_s*化\|百\_s*科\_s*事\_s*典\|カ\_s*プ\_s*セ\_s*ル\_s*化\|オ\_s*\%(ー\|イ\_s*\%(ラ\_s*ー\|ゲ\_s*ン\)\)\|実\_s*行\|拡\_s*張\|例\_s*外\|感\_s*嘆\_s*符\|ア\_s*\%([ンイ]\|ニ\_s*ド\|ー\_s*\%([マスル]\|ウ\_s*ィ\_s*ン\|ラ\_s*ン\|ニ\_s*ー\|ネ\_s*ス\_s*ト\|ミ\_s*ン\|シ\_s*ー\|リ\_s*ー\)\)\|設\_s*立\|e\_s*\%(x\_s*a\|コ\_s*マ\_s*ー\_s*ス\|ラ\_s*ー\_s*ニ\_s*ン\_s*グ\)\|イ\_s*\%([ブヴアラー]\|ジ\_s*ェ\_s*ク\_s*ト\|フ\_s*ェ\_s*ク\_s*[トタ]\|コ\_s*\%(ー\_s*ル\|ラ\_s*イ\_s*[ズザ]\)\|プ\_s*シ\_s*ロ\_s*ン\|ミ\_s*ュ\_s*レ\_s*\%(ー\_s*[トタ]\|イ\_s*タ\)\|ベ\_s*ン\_s*\%(ト\|タ\_s*ー\)\|ノ\_s*ッ\_s*ク\|ネ\_s*ー\_s*ブ\_s*ル\|ギ\_s*リ\_s*ス\|ン\_s*グ\_s*\%(ラ\_s*ン\_s*ド\|リ\_s*ッ\_s*シ\_s*ュ\)\|ッ\_s*チ\|ヤ\_s*\%(ー\|リ\_s*ン\_s*グ\|フ\_s*ォ\_s*ン\|ホ\_s*ン\)\|グ\_s*ジ\_s*\%(ッ\_s*ト\|ス\_s*ト\)\|ク\_s*\%(ス\|ア\_s*リ\_s*テ\_s*ィ\)\|ス\_s*フ\_s*ァ\_s*ハ\_s*ン\|リ\_s*[ヤア]\|レ\_s*\%(ー\_s*\%(ス\|ザ\_s*ー\|サ\_s*ー\)\|イ\_s*\%(ン\|ザ\_s*ー\|サ\_s*ー\)\|ブ\_s*ン\)\)\|ウ\_s*\%(ー\|ジ\_s*ェ\_s*ー\_s*ヌ\)\)', \ 'F' : '\%([梺麓冬汾枌濆′吩賁刎氛雰糞褌忿墳吻紛焚扮分粉舊旧顫揮故震篩奮隹古衾襖贅燻筆鰒総惣總絃房閼鬱塞鞴章郁史艦簡札耽鰾吭笛文罧節苳蕗淦舩艙舷舟船肥太懷懐≦≠≫<>≧≪渊淵渕縁葢盖再弍蓋双藤潭蒸鯊鱶楓殕瘋封諷黻怫祓彿髴拂憤恚慍二払沸拒防蔔輹愎蝠茯箙腓⊃⊇膨脹嚢梟袋含⊂⊆袱覆輻腹幅復馥服副複福誣孚普俯更膚腐坿狂履不増拊鯆布怖赴桴巫傅婦付訃賻振負蜉罘老附吹生経觸夫俘父臥践咐敷踏斧溥阜葺深仆譜符麩匐腑榑芙賦殖冨触孵麸柎府舗噴鋪降蹈風觝埠拭鮒郛伏俛經歩苻斑畉扶趺芬呎フ飜翻ふ鉄♀∀¶富⌒金佛仏偽誤F♭弗浮ФΦφфフF]\|ッ\_s*フ\|ッ\_s*フ\|っ\_s*ふ\|鞦\_s*韆\|睾\_s*丸\|陰\_s*嚢\|乱\_s*吹\|相\_s*応\|E\_s*u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\|回\_s*回\_s*教\|書\_s*司\|図\_s*書\_s*寮\|海\_s*蘿\|補\_s*\%(任\|陀\_s*[洛落]\)\|雲\_s*脂\|頭\_s*垢\|鳧\_s*鐘\|菜\_s*蕗\|款\_s*冬\|蒲\_s*団\|M\_s*y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|釜\_s*[中山]\|雙\_s*葉\|B\_s*u\_s*d\_s*d\_s*l\_s*e\_s*j\_s*a\_s*c\_s*e\_s*a\_s*e\|渓\_s*井\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|2\_s*[人つ日]\|宿\_s*酔\|2\_s*\%([人つ日]\|通\_s*り\)\|□\_s*□\_s*□\|△\_s*△\_s*△\|×\_s*×\_s*×\|○\_s*○\_s*○\|帛\_s*紗\|河\_s*豚\|比\_s*律\_s*賓\|I\_s*r\_s*o\_s*n\|極\_s*東\_s*放\_s*送\|論\_s*理\_s*式\|形\_s*式\|ホ\_s*\%(ワ\_s*イ\_s*エ\|イ\_s*ル\|ル\_s*\%(マ\_s*\%(ン\_s*ト\|リ\_s*ン\)\|ム\_s*ア\_s*\%(ミ\_s*ド\|ル\_s*デ\_s*ヒ\_s*ド\)\)\)\|一\_s*杯\|関\_s*数\|機\_s*能\|汎\_s*関\_s*数\|修\_s*正\|ヒ\_s*\%(レ\|ュ\_s*ー\_s*[ズム]\)\|1\_s*\%(/\_s*f\_s*ゆ\_s*ら\_s*ぎ\|s\_s*t\)\|第\_s*1\_s*要\_s*素\|失\_s*敗\|ハ\_s*\%(エ\|ン\_s*ブ\_s*ル\|ロ\_s*ン\)\|柔\_s*軟\_s*な\|周\_s*波\_s*数\|エ\_s*フ\|f\_s*\%(e\_s*m\_s*t\_s*o\|o\_s*\%(n\_s*t\_s*-\_s*f\_s*a\_s*m\_s*i\_s*l\_s*y\|r\_s*t\_s*e\)\)\)', \ 'G' : '\%([頃殺米諢魂權艮勤権鮴好蓙応駒若亊事琴毎如鏝埖込塵氷聲肥声腰拵心恋戀国石獄濠盒噛嗷敖軣哈壕熬刧遨拷囂轟毫傲鼇郷劫≡号豪剛梧后冴後吾寤宕珸茣児伍誤5極醐碁檎牾蜈唔篌庫娯悟忤呉期齬5互超五晤越子炬護兒瑚午沍ご〓郤鬩戟屐隙檄闃鷁撃激劇皃黥貎霓麑倪囈猊迎鯨芸藝齧囓蘖呟愿監芫痃广彦軒舷眩源儼衒絃弦験言諺現限幻玄減原蹴偈毛睨觧解実下拐夏げ靴腐種草口薬糞癖茱胡萸串嵎藕遇宮寓隅偶黒栗倉鞍蔵位昏麕羣郡群軍苦周包車狂食颶壷暮愚弘虞倶麌禺具惧壺組狗ぐ衣君嫌裂際牛崟憖斤垠岑吟銀圄禦圉馭魚嶷閠玉漁繞堯尭御曉嶢澆翹痙蟯驍僥仰業暁凝行謔瘧虐逆気義偽技切妓巍犠誼宜伎祁疑萓礒羲僞城蟻斬決擬沂議儀嶬艤着木曦犧欺戲魏祇戯ぎ川巛乾革皮側通殻辛絡柄烏鴉頷嚴阮鳫厳貫嵒偐巖岸厂⊃贋龕強翫岩鴈丸雁玩癌元願眼巌含頑上髮紙神髪鐘金係歸皈肯帰返潟方固語刀難型形鰹歹垳顔顏鎌窯蟇釜蒲蟹傘笠重號垣樫頭月合諤樂鍔壑鄂斈學齶萼愕嶽咢鰐額岳顎楽学既礙涯剴乂垓葢劾盖愾磑睚漑崕亥崖啀艾駭皚該咳階孩芥碍害鎧街凱慨概蓋骸外代峩狩我ヶ鵞駕訝変刈掛牙娥替畫駆ケ俄哦借呀果臥雅買蛾訛換河峨莪書芽貸衙画ヵ伽賀勝餓鵝が≫>G瓦≧ガゴχΕΗΣυΙΛαΨζρΒΝιΦφτλΠονψωΚΔΡδΤβΘΟπεΧΑΞσθηκΖΜξμΥΩギグゲгΓγГG]\|ッ\_s*\%(コ\_s*゙\|ケ\_s*゙\|ク\_s*゙\|キ\_s*゙\|カ\_s*゙\)\|ッ\_s*[ゴゲグギガ]\|っ\_s*[ごげぐぎが]\|コ\_s*゙\|小\_s*屋\|蒙\_s*御\_s*免\|巨\_s*頭\_s*鯨\|欣\_s*求\|独\_s*楽\|P\_s*e\_s*r\_s*s\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|瞽\_s*女\|歩\_s*行\_s*虫\|向\_s*拝\|皐\_s*月\|穀\_s*潰\|寄\_s*居\_s*虫\|降\_s*魔\|格\_s*\%([間縁]\|天\_s*井\)\|恒\_s*河\_s*沙\|江\_s*\%([津湖商州]\|談\_s*抄\)\|豆\_s*[油汁]\|ケ\_s*゙\|蚰\_s*蜒\|景\_s*色\|化\_s*粧\|鴃\_s*舌\|稽\_s*古\|懸\_s*魚\|還\_s*[向俗]\|拳\_s*[万固骨]\|喧\_s*嘩\|顕\_s*界\|ク\_s*゙\|救\_s*世\_s*菩\_s*薩\|工\_s*合\|供\_s*[奉祭香進]\|紅\_s*蓮\|キ\_s*゙\|毬\_s*杖\|岐\_s*\%([南阜]\|セ\_s*ン\)\|棋\_s*将\_s*谷\|求\_s*\%([法道肥]\|不\_s*得\_s*苦\|聞\_s*持\_s*法\)\|A\_s*g\|S\_s*\%(c\_s*r\_s*o\_s*p\_s*h\_s*u\_s*l\_s*a\_s*r\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|y\_s*m\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|i\_s*l\_s*v\_s*e\_s*r\)\|希\_s*臘\|杏\_s*葉\|餃\_s*子\|刑\_s*部\|カ\_s*゙\|搦\_s*み\|鑑\_s*真\|仮\_s*名\|蝦\_s*[蟆蟇]\|T\_s*y\_s*p\_s*a\_s*l\_s*e\_s*s\|鉤\_s*状\_s*部\|菓\_s*子\|甲\_s*斐\|会\_s*社\|g\_s*\%(i\_s*g\_s*a\|h\_s*o\_s*s\_s*t\_s*s\_s*c\_s*r\_s*i\_s*p\_s*t\)\|ヌ\_s*ー\|ニ\_s*ュ\_s*ー\_s*ズ\|g\_s*n\_s*u\_s*s\|ノ\_s*ー\_s*ム\|総\_s*司\_s*令\_s*部\|連\_s*合\_s*国\_s*軍\_s*総\_s*司\_s*令\_s*部\|ヒ\_s*ル\|ク\_s*ッ\_s*パ\|硝\_s*子\|ハ\_s*ボ\_s*ロ\_s*ー\_s*ネ\|瞿\_s*曇\|エ\_s*ー\_s*テ\_s*ボ\_s*リ\|ヨ\_s*ー\_s*テ\_s*ボ\_s*リ\|イ\_s*ェ\_s*\%(ー\_s*テ\_s*ボ\_s*リ\|テ\_s*ボ\_s*リ\)\|得\_s*る\|ヘ\_s*\%(ラ\_s*ル\_s*ド\|ル\_s*マ\_s*ン\)\|ド\_s*イ\_s*ツ\|成\_s*吉\_s*思\_s*汗\|ゼ\_s*\%(ラ\_s*\%(チ\_s*ン\|ニ\_s*ウ\_s*ム\)\|ム\_s*ク\_s*リ\_s*ッ\_s*プ\|ノ\_s*ア\|ン\_s*ト\_s*ル\_s*マ\_s*ン\|ネ\_s*\%(コ\_s*ン\|ラ\_s*\%(ル\|リ\_s*ス\_s*ト\)\)\)\|大\_s*\%(蚊\|学\_s*院\_s*生\)\|ジ\_s*\%([ムルジグノナオンー]\|プ\_s*シ\_s*ー\|ア\_s*ン\|イ\_s*ド\|ッ\_s*ド\|タ\_s*ン\|ゼ\_s*ル\|リ\_s*ア\_s*ン\|レ\_s*ッ\_s*ト\|ゴ\_s*ロ\|ラ\_s*\%(フ\|ル\_s*\%(ド\|デ\_s*ィ\_s*ー\_s*ノ\)\)\|ロ\_s*\%(ー\|ン\_s*ド\)\|バ\_s*ン\_s*シ\_s*ー\|ブ\_s*\%(リ\|ラ\_s*ル\_s*タ\_s*ル\)\|ベ\_s*\%(ル\_s*ナ\_s*ウ\|レ\_s*リ\_s*ン\)\|ネ\_s*ッ\_s*ト\|ョ\_s*\%(ッ\_s*ト\|ヴ\_s*ァ\_s*ン\_s*[ニナ]\|バ\_s*ン\_s*[ニナ]\|コ\_s*\%(ー\_s*ソ\|ン\_s*ダ\)\|ル\_s*\%(ジ\|ダ\_s*ー\_s*ノ\)\|ー\_s*\%(ジ\|ゼ\_s*ッ\_s*ト\)\)\|ャ\_s*\%(ン\|イ\_s*\%(ロ\|ル\_s*ズ\|ア\_s*ン\_s*[ツト]\)\|コ\_s*\%(モ\|メ\_s*ッ\_s*テ\_s*ィ\)\|ー\_s*マ\_s*ン\)\|ニ\_s*ー\|ュ\_s*\%([レネ]\|ゼ\_s*ッ\_s*ペ\|リ\_s*\%(ア\|ー\_s*ニ\|エ\_s*ッ\_s*タ\)\|ヌ\_s*\%(ヴ\_s*ィ\_s*エ\_s*ー\_s*ヴ\|ビ\_s*エ\_s*ー\_s*ブ\)\)\|ェ\_s*\%([リルフムマネ]\|ス\_s*チ\_s*ャ\_s*ー\|ロ\_s*ニ\_s*モ\|ラ\_s*\%(ー\_s*[トルド]\|ル\_s*\%(ド\|デ\_s*ィ\_s*ン\|ダ\_s*イ\_s*ン\)\)\|ミ\_s*ニ\|ニ\_s*ー\|ノ\_s*\%([アバ]\|ヴ\_s*ァ\|ワ\_s*ー\_s*ズ\|サ\_s*イ\_s*ド\)\|ン\_s*\%(マ\|ト\_s*\%(ル\|リ\_s*[ィー]\)\|ダ\_s*ー\)\)\)\)', \ 'H' : '\%([ホ洞袰亡滅幌濠壕畚笨略艢檣炎焔仄朖朗塊程施滸殆幾缶熱解屠榾螢蛍骨細本※*糒恣縦擅星戟戈桙綻祠誇埃矛鉾堀頬褓鴇枋峯磅鞄峰垉篷勹皰朴抔怦棒泙棚堋呆豐麭膀舫弸蔀袍苞葬琺寳炮鵬寶繃鋒魴髣逢朋烹鳳彗箒俸焙蓬烽幇抱崩訪泡澎彷縫捧萌萠彭包胞倣邦飽庖疱奉豊硼報砲宝攴攵瀑蹼樮北哺欲譽餔保抛浦誉掘脯賞黼恍堡輔穗襃葆彫穂畝吼舖耄葡褒惚咆埔哮捕逋ほヘ謙遜篦廰廳貶胼諞篇駢褊蝙翩變∂遍返騙編扁変暼丿諛諂隔凹臍巳蛇蒂蔕瓸竡粨癖躄甓闢璧劈碧壁竝餅娉塀病閇聘坪嬖幤箆蔽并陛屏炳斃瓶幣弊併敝閉並屁折邉舳辺歴圧戸減邊へフ梺麓冬♭汾枌濆′吩賁氛雰糞褌忿墳吻紛焚扮分粉舊旧顫揮故震篩奮隹古衾襖贅燻鰒陰総惣總絃房閼鬱塞章郁艦簡補札耽鰾吭笛芬呎文罧節苳蕗淦舩艙舷舟船蒲懷懐≦≫>≧≪渊淵渕縁葢盖弍蓋双B藤潭蒸鱶楓殕瘋封諷黻怫彿髴佛憤恚慍仏F弗沸Φφ拒防蔔輹愎蝠茯箙⊃⊇嚢梟袋含⊂⊆袱覆輻復馥副複福誣孚普俯更腐坿狂不増拊鯆怖赴桴巫傅婦付訃賻振負蜉罘附吹経觸夫俘父臥践咐敷踏斧溥阜葺深仆譜符麩匐榑芙賦殖冨触孵麸柎府舗噴鋪降蹈風觝埠拭鮒郛伏俛經歩富苻畉扶趺ふヒ鶸禀蘋彬斌嬪繽殯賓擯牝貧頻瀕稟品葫怯晝飜蒜蛭昼綬胙紐鰭∝片衡鮃閃鵯辟百媛姫尋擴仭太仞展宥絋拡拓拾祐恕紘煕泰熙寛洋弘宏啓裕浩廣広冰雹俵飃凭冫髟彪驫飆馮殍飄豹漂驃慓剽嫖兵票憑評標平表燧老拈捫撚捻歪籤籖柊魃旱秀跪膝蜩羆佗攣−低隙閑暇雛髯鬚髭¬蹄潛濳潜顰密窃鬻提瓢蠡瓠匏央恒壽廂尚寿久蟆率痙蟇丙丁孤史女獨独稘斎斉均倫準等≠單偏単他仁瞳人11柆蔆拉杓柄犇◇◆菱醢醤曾蘖彦酷漬浸鶲額聖肱肘熈芒光膕控皹皸響罅僻鰉逼疋蹕畢匹篳棺柩弼櫃謐坤未羊筆必養襞饑「<【(←『左臂轡曳灯緋朏砒火日蜚妣費狒匕泌杼庇悲樋退脾挽痺卑贔紕牽避引菲檜被碑匪裨斐秘豼霏蓖丕批妃髀干昜彼秕氷鄙飛比否碾疲梭披桧魅惹俾鞴冷譬貔乾肥罷痞索扉暃毘轢皮陳鞁祕ひハ布鱧釖鉤蝟梁鍼磔針禳肚腑腸孕原拂祓払遼請温玄腹陽遙悠東遥治春頓鮠捷鶻駿疾囃林隼鈑膰磐樊潘泛畔蟠釆拌笵胖絆氾坂范凡燔楾洪瘢翻板攀゜大伴煩槃袢斑判範藩繙蕃版搬叛班阪般販犯汎帆頒反侍鯊櫨祝?硲間劇激勵烈励速蝿蠅省飯勢彈外弭筈辱逸育毓齦浮阻難掵憚幅巾柞母翅圃旛旙将側旌幟傍働鰰機叩疥畠幡籏畑旗斜鴿再鳩開秦跣膚肌裸弾薑椒壹甫馨壱弌哉一創元始鋼芳夾剪鋏螯挾挟脛萩餞贐離塙英蕚萼衄衂縹譚咄放噺話洟甚鼻華花赱迸奔枦觜艀婢梯燥箸柱走橋匣凾箪筐□繁方運匚筥箱函陌栢魄膊柏亳珀狛佰粕璞蘗岶愽擘箔舶泊搏迫帛拍圖諮測企秤謀量計図儚捗袴伯博墓髮秡癶釟溌肇廿二初椀蓮8♪鉢蜂發髪服半法醗薄白八発霈盃睥擺湃孛裴琲埴碚牌吠拜坏珮旆入沛榛杯悖―廢腓誹徘稗癈肺俳憊輩背鷂胚廃排拝敗灰配蛤濱浜吐食霽恥菠帚杷垪跛耻巴笆履脹葉爆矧帶這撥破嵌霸捌早把刎馳填生簸跳派禿碆羽果覇映晴陂端剥腫匍着穿葩爬歯膨坡佩慙芭刄菷怕榮齒刃播愧暎叭栄玻掃張貼刷羞頗琶は━─┘┛┸┷┻┴┓┐┳┬┯┰┨┫┤┥┼╋╂┿波‐フ★☆非HヒホヘハH]\|ッ\_s*[ホヘフヒハ]\|ッ\_s*[ホヘフヒハ]\|っ\_s*[ほへふひは]\|寄\_s*生\|珠\_s*鶏\|混\_s*一\_s*色\|紅\_s*[幇中]\|T\_s*r\_s*i\_s*u\_s*r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|微\_s*[酔笑]\|子\_s*規\|時\_s*鳥\|蜀\_s*魂\|杜\_s*[宇鵑]\|上\_s*枝\|鬼\_s*灯\|酸\_s*漿\|叢\_s*祠\|和\_s*了\|鮑\_s*魚\|謗\_s*法\|黒\_s*子\|部\_s*屋\|竹\_s*\%(畚\|麦\_s*魚\)\|綜\_s*麻\|巻\_s*子\|下\_s*手\|糸\_s*瓜\|h\_s*e\_s*c\_s*t\_s*o\|霹\_s*靂\|c\_s*l\_s*a\_s*u\_s*s\_s*t\_s*r\_s*o\_s*p\_s*h\_s*o\_s*b\_s*i\_s*a\|鞦\_s*韆\|睾\_s*丸\|乱\_s*吹\|相\_s*応\|E\_s*\%(r\_s*i\_s*o\_s*c\_s*a\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\|u\_s*p\_s*t\_s*e\_s*l\_s*e\_s*a\_s*c\_s*e\_s*a\_s*e\)\|回\_s*\%(鍋\_s*肉\|回\_s*教\)\|書\_s*司\|頭\_s*垢\|鳧\_s*鐘\|菜\_s*蕗\|款\_s*冬\|f\_s*\%(o\_s*r\_s*t\_s*e\|e\_s*m\_s*t\_s*o\)\|釜\_s*[中山]\|雙\_s*葉\|渓\_s*井\|G\_s*e\_s*r\_s*a\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|宿\_s*酔\|△\_s*△\_s*△\|×\_s*×\_s*×\|○\_s*○\_s*○\|河\_s*\%(豚\|底\_s*撈\_s*魚\)\|神\_s*[庫籬]\|肩\_s*巾\|領\_s*巾\|素\_s*見\|曹\_s*白\_s*魚\|枚\_s*[田方]\|敬\_s*昌\|幸\_s*展\|容\_s*靖\|晃\_s*道\|欧\_s*子\|宙\_s*子\|祥\_s*加\|終\_s*日\|翡\_s*翠\|曽\_s*祖\_s*父\|豪\_s*将\|偉\_s*紀\|周\_s*[行男]\|茅\_s*蜩\|向\_s*日\_s*葵\|七\_s*宗\|桶\_s*坂\|永\_s*和\|蟾\_s*蜍\|抽\_s*\%([斗出]\|き\_s*出\_s*し\)\|告\_s*天\_s*子\|雲\_s*[脂雀]\|為\_s*人\|緊\_s*[と々]\|鎮\_s*火\_s*\%(祭\|の\_s*祭\)\|A\_s*\%(s\|r\_s*s\_s*e\_s*n\_s*i\_s*c\|n\_s*g\_s*i\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\|粃\_s*糠\_s*疹\|只\_s*管\|直\_s*[向走垂隠]\|常\_s*陸\|鹿\_s*尾\_s*菜\|撲\_s*り\_s*倒\|同\_s*胞\|赦\_s*い\|青\_s*春\|哈\_s*爾\_s*浜\|美\_s*佳\|流\_s*行\|勇\_s*[樹人]\|韓\_s*流\|漢\_s*堡\|汗\_s*国\|盤\_s*陀\|R\_s*S\_s*I\|蔓\_s*延\|蝦\_s*虎\_s*魚\|沙\_s*魚\|馬\_s*銜\|狭\_s*間\|南\_s*風\|延\_s*\%(縄\|い\_s*て\)\|義\_s*母\|旅\_s*籠\|N\_s*e\_s*l\_s*u\_s*m\_s*b\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|黄\_s*[酒櫨]\|土\_s*[方生師]\|嘔\_s*[吐気]\|支\_s*倉\|長\_s*谷\|接\_s*ぎ\_s*合\|纏\_s*頭\|煙\_s*火\|麻\_s*疹\|階\_s*[上子]\|嘴\_s*\%(細\_s*鴉\|太\_s*鴉\)\|学\_s*胤\|2\_s*\%([人つ日]\|通\_s*り\|0\_s*日\)\|2\_s*\%([人つ日]\|0\_s*[歳日]\)\|淡\_s*竹\|8\_s*月\|客\_s*家\|P\_s*\%(t\|o\_s*t\_s*a\_s*m\_s*o\_s*g\_s*e\_s*t\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*t\_s*i\_s*n\_s*u\_s*m\)\|海\_s*\%([鞘永蘿星牙]\|拉\_s*爾\|底\_s*撈\_s*月\)\|M\_s*\%(y\_s*r\_s*t\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*c\_s*u\_s*r\_s*y\)\|色\_s*調\|呼\_s*和\_s*浩\_s*特\|ウ\_s*ー\_s*ゴ\|ユ\_s*\%(ー\|ペ\_s*ー\_s*ル\|ベ\_s*ー\_s*ル\|イ\_s*ス\_s*マ\_s*ン\_s*ス\|ゴ\_s*ー\|グ\_s*ノ\_s*ー\|マ\_s*ニ\_s*\%(テ\|ス\_s*[トム]\)\)\|現\_s*代\|十\_s*六\_s*進\_s*数\|高\_s*さ\|香\_s*港\|イ\_s*\%(ダ\_s*ル\_s*ゴ\|ス\_s*パ\_s*ニ\_s*ア\|レ\_s*ー\_s*ル\|エ\_s*ロ\)\|オ\_s*\%([ラー]\|ナ\_s*ー\|ノ\_s*レ\|ン\_s*フ\_s*ル\_s*ー\_s*ル\|ネ\_s*\%(ス\_s*\%(ト\|テ\_s*ィ\)\|ゲ\_s*ル\)\|テ\_s*ル\|ル\_s*ガ\_s*ー\|マ\_s*ー\_s*ジ\_s*ュ\)\|ア\_s*\%(ン\_s*\%(リ\|ベ\_s*ー\_s*ル\)\|ネ\_s*ス\_s*ト\|ワ\_s*ー\|ダ\_s*マ\_s*ー\_s*ル\|シ\_s*ェ\_s*ッ\_s*ト\|ビ\_s*タ\_s*シ\_s*オ\_s*ン\|ー\_s*\%(ネ\_s*ス\_s*ト\|ノ\_s*ン\_s*ク\_s*ー\_s*ル\)\)\|エ\_s*\%(デ\_s*ィ\|ン\_s*リ\_s*ケ\|レ\_s*\%(ナ\|ー\_s*ヌ\)\|ロ\_s*イ\_s*ー\_s*ズ\|ク\_s*ト\_s*ル\|ル\_s*\%(ゲ\_s*ラ\|ヴ\_s*ェ\|メ\_s*ス\|マ\_s*ン\|ミ\_s*\%(ッ\_s*ト\|ー\_s*ト\)\|ブ\_s*ラ\_s*ン\|ナ\_s*ン\_s*デ\_s*ス\|キ\_s*ュ\_s*ー\_s*ル\)\|ノ\_s*ク\|ッ\_s*チ\|イ\_s*チ\)\|水\_s*[銀平素]\)', \ 'I' : '\%([イΗη賤鄙卑苟嫌弥薯妹藷芋夢艷鑪鈩彩鱗色鯆忽綺貸甍応答愈圦杁霪隱蚓寅氤酳胤飮韵尹茵贇蔭婬湮堙廴音飲慇韻咽淫殞姻隕院允殷隠陰窟巌巖頌祝鰛鰮鰯岩磐円¥鼾歪弑弋抱懐肬贅疣狗戌乾犬諱在坐未汝戒誡警縛今Εε曰禾稻員因蝗嘶鰍電引躄誘動忿≦鵤錨碇怒霆雷霹凧桴筏魚S菴庵彌雖家尿荊棘茨祈祷命猯豕古伍乙鎰鴪聿軼樹慈悼愴慯労格到至傷鼬頂戴病徒致鈑痛板柞砂沙些聊潔諍烈功諫勳勲勇漁諌憇=憩粹熱粋憤域閾勢勤忙急磯孰焉湶泉厳何弄苛≧鎔范啀毬訝燻息挑縷絲厭營営愛幼稚緒遑暇糸弌壹肆莓苺櫟著市碑鐓礎甃臀弩石犧牲犠池溢Y佚壱11燠鬻礇毓粥的戦戰軍幾郁育一稲否飯洟位違居姨猗斎偽噫逝医鑄痍委囲云圍ゐ挿炒彙要熨饐醫言矮往詒威懿如僞忌彜煎逶緯韋唯莞淹胃善生恚彝惟以活易蔚為猪衣已倚幃斐移鮪将可偉畏五夷李渭怡貽癒依逸井慰行爲胆射詑矣頤熬萎良凍出椅率好揖肄痿鋳謂帷亥苡意維遺鰄異去堰尉容囗い氷Йй⇒→⊂⊃▼▽伊印入∞吋∈∋∫∬∩IイИΙιи私I]\|E\_s*メ\_s*ー\_s*ル\|灼\_s*然\|祖\_s*谷\|湯\_s*文\_s*字\|文\_s*身\|郎\_s*[女子]\|刺\_s*[青草]\|蕁\_s*麻\|U\_s*r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|海\_s*[豚参]\|西\_s*表\|鸚\_s*哥\|影\_s*青\|況\_s*ん\_s*や\|所\_s*謂\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|藺\_s*草\|J\_s*u\_s*n\_s*c\_s*a\_s*l\_s*e\_s*s\|田\_s*舎\|膝\_s*行\|十\_s*六\_s*夜\|寝\_s*穢\|英\_s*\%(蘭\|吉\_s*利\)\|斑\_s*鳩\|烏\_s*賊\|玉\_s*筋\_s*魚\|硫\_s*黄\|夜\_s*来\_s*香\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|牛\_s*膝\|稜\_s*威\|常\_s*春\_s*藤\|5\_s*[つ日]\|5\_s*[つ日]\|惡\_s*戲\|甚\_s*振\|潮\_s*来\|悪\_s*戯\|交\_s*喙\|小\_s*魚\|鯨\_s*魚\|細\_s*小\_s*魚\|鶏\_s*魚\|経\_s*緯\|礒\_s*[山田]\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|和\_s*泉\|E\_s*\%(A\_s*S\_s*T\|V\_s*E\)\|気\_s*吹\|指\_s*宿\|拠\_s*所\|従\_s*[妹姉弟兄]\|公\_s*孫\_s*樹\|鴨\_s*脚\_s*樹\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|銀\_s*杏\|鳶\_s*尾\|檪\_s*本\|巫\_s*子\|神\_s*巫\|睦\_s*月\|都\_s*方\_s*流\|縊\_s*[殺死首]\|蝟\_s*[集縮]\|埋\_s*け\_s*[火炭]\|許\_s*[婚嫁]\|<\_s*=\_s*=\_s*>\|必\_s*要\_s*十\_s*分\_s*条\_s*件\|ヤ\_s*ン\|日\_s*本\_s*ア\_s*イ\_s*・\_s*ビ\_s*ー\_s*・\_s*エ\_s*ム\_s*株\_s*式\_s*会\_s*社\|国\_s*際\_s*\%(基\_s*督\_s*教\_s*大\_s*学\|標\_s*準\_s*化\_s*機\_s*構\)\|逆\_s*離\_s*散\_s*フ\_s*ー\_s*リ\_s*エ\_s*変\_s*換\|識\_s*別\_s*子\|即\_s*興\_s*曲\|な\_s*ら\_s*ば\|項\_s*目\|逐\_s*次\_s*型\|i\_s*ノ\_s*ー\_s*ド\|i\_s*\%(ア\_s*プ\_s*リ\|P\_s*o\_s*d\|モ\_s*ー\_s*ド\|M\_s*a\_s*c\|ノ\_s*ー\_s*ド\)\|誤\_s*っ\_s*た\|無\_s*\%(花\_s*果\|効\_s*な\)\|帰\_s*納\_s*法\|字\_s*下\_s*げ\|不\_s*\%([可如足]\|充\_s*分\)\|具\_s*体\_s*化\|情\_s*報\|導\_s*入\|整\_s*数\|完\_s*全\|ヨ\_s*\%(ア\_s*ン\|シ\_s*フ\|ー\_s*ド\|ウ\_s*素\)\|ア\_s*\%(イ\|ー\_s*\%(ヴ\_s*ィ\_s*ン\|ビ\_s*ン\)\|ン\_s*\%(プ\_s*ロ\_s*ン\_s*プ\_s*\%(チ\_s*ュ\|テ\_s*ュ\)\|デ\_s*パ\_s*ン\_s*ダ\_s*ン\|フ\_s*ォ\_s*ル\_s*\%(メ\_s*ル\|マ\_s*テ\_s*ィ\_s*ー\_s*ク\)\)\)\)', \ 'J' : '\%([塩嶋縞島嶌橲衄衂宍竺舳忸軸舌喰食直凝實昵実印尻稔仭糂贐潯儘仞盡刄臣侭恁進訊俥蕁迅刃靱荏甚靭燼櫁樒塵尽尋陣腎壬人敘恕耡汝莇杼茹敍蜍洳舒縟辱褥蓐溽所抒鋤徐序絮叙助釀淨疂絛繞壌諚孃瀞襄仍蟐拯疉讓聶驤生帖仗躡穰乘塲靜繩禳蕘壤遶星滌茸嬲疊如剩娘嬢錠静醸縄女尉饒丈成擾穣烝嫋丞盛場杖條条蒸貞状攘剰畳冗定浄乗情城上常譲濡得戍就嬬鷲竪讐讎懦愀咒聚隼詢徇笋凖盾楯筍篤蓴惇洵淳閏諄恂馴旬荀潤循醇巡遵順准殉純準襦誦需戌朮孰宿塾珠熟恤術述孺呪豎儒綬樹受授壽鞣狃澀揉廿拾縱中從糅从戎澁蹂神汁獸絨縦渋柔什充十獣従住銃重岻除士染時怩至児冶璽只畤侍孳轜耳示次寿辭粫司二祀邇而慈峙爺以地塒珥迩痔死敷恃蒔磁瓷仁字尓焦膩柱似嗣子亊路史餌兒滋仕爾辞弍自茲持寺事知醤鮭搦着惹尺鉐雀寂若弱蛇闍者邪戯麝じ│┃├┝┣┠┏┌.еЕ治Яя日юЮJёЁЙジйJ]\|ッ\_s*シ\_s*゙\|ッ\_s*ジ\|っ\_s*じ\|G\_s*\%(メ\_s*ン\|パ\_s*ン\)\|D\_s*y\|G\_s*\%(メ\_s*ン\|パ\_s*ン\)\|支\_s*度\|試\_s*合\|2\_s*乗\|2\_s*乗\|祖\_s*父\_s*\%(さ\_s*ん\|祖\_s*母\)\|獅\_s*子\|甲\_s*乙\_s*丙\_s*丁\_s*戊\_s*己\_s*庚\_s*辛\_s*壬\_s*癸\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|Z\_s*\%(r\|i\_s*r\_s*c\_s*o\_s*n\_s*i\_s*u\_s*m\)\|深\_s*\%(秘\|大\_s*寺\)\|秦\_s*泉\_s*寺\|沈\_s*\%(香\|丁\_s*花\)\|晨\_s*朝\|濁\_s*世\|判\_s*官\|諍\_s*論\|長\_s*夜\|漏\_s*斗\|↑\_s*↓\_s*←\_s*→\|焼\_s*酎\|鐘\_s*石\|橈\_s*脚\_s*類\|承\_s*久\|朱\_s*里\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|絢\_s*子\|頌\_s*偈\|数\_s*珠\|入\_s*[魂牢来洛院内水棺]\|霜\_s*月\|1\_s*\%(2\|6\_s*進\|0\_s*[進月]\|1\_s*月\|8\_s*禁\)\|師\_s*走\|極\_s*月\|紐\_s*帯\|1\_s*\%(0\|1\_s*月\|8\_s*禁\|2\_s*月\)\|シ\_s*゙\|爪\_s*哇\|射\_s*礼\|砂\_s*利\|謝\_s*花\|三\_s*味\_s*線\|雑\_s*魚\|著\_s*語\|杓\_s*子\|共\_s*同\_s*企\_s*業\_s*体\|j\_s*\%(T\_s*e\_s*X\|L\_s*a\_s*T\_s*e\_s*X\|B\_s*i\_s*b\_s*T\_s*e\_s*X\)\|ゼ\_s*リ\_s*ー\|エ\_s*\%(ホ\_s*バ\|リ\_s*コ\|レ\_s*ミ\_s*ヤ\|ル\_s*サ\_s*レ\_s*ム\|ッ\_s*サ\_s*イ\)\|ヘ\_s*\%(レ\_s*ス\|ス\_s*ス\)\|ヒ\_s*メ\_s*ネ\_s*ス\|チ\_s*ゲ\|北\_s*陸\_s*先\_s*端\_s*\%(大\|科\_s*学\_s*技\_s*術\_s*大\_s*学\_s*院\_s*大\_s*学\)\|ハ\_s*\%(イ\_s*メ\|ラ\_s*ペ\_s*ー\_s*ニ\_s*ョ\)\|碧\_s*玉\|ヤ\_s*\%([リンニナー]\|イ\_s*ル\|エ\_s*ル\|ル\_s*ノ\|レ\_s*ド\|ヌ\_s*\%(ス\|シ\_s*ュ\)\|ス\_s*パ\_s*ー\_s*ス\|コ\_s*[ビブ]\|ッ\_s*ケ\)\|フ\_s*\%(ァ\_s*[ンナ]\|リ\_s*[オア]\)\|ズ\_s*ボ\_s*ン\|ユ\_s*\%([ハリダノ]\|ル\_s*ゲ\_s*ン\|ー\_s*\%([リノ]\|ゲ\_s*ン\_s*ト\|デ\_s*ィ\_s*ッ\_s*ト\)\|ン\_s*\%(グ\|カ\_s*ー\|ケ\_s*ル\)\|ピ\_s*テ\_s*ル\|ッ\_s*[カシ]\)\|イ\_s*\%(エ\_s*\%([ナス]\|ン\_s*\%(ス\|セ\_s*ン\)\|ズ\_s*ス\)\|ェ\_s*\%(ナ\|ン\_s*\%(ス\|セ\_s*ン\|ゼ\_s*ン\)\|ー\_s*ガ\_s*ー\|ル\_s*\%(ク\|サ\_s*レ\_s*ム\)\)\)\|ホ\_s*\%([タセ]\|ル\_s*ヘ\|ホ\_s*バ\|ア\_s*\%(ン\|キ\_s*ン\)\)\|ヨ\_s*\%([ブナ]\|ル\_s*\%(グ\|ダ\_s*ン\)\|エ\_s*ル\|ア\_s*\%(ヒ\_s*ム\|キ\_s*ム\)\|ゼ\_s*フ\|ー\_s*\%([トド]\|デ\_s*ル\|ゼ\_s*フ\)\|シ\_s*\%(フ\|ュ\_s*ア\)\|セ\_s*フ\|ハ\_s*[ナンネ]\)\)', \ 'K' : '\%([コ怖旃之惟怺薦米暦轉殺壼鶤袞鯤坤狠艮琿悃很漿棍魂菎滾梱溷痕渾墾恨懇根梢杪王泥裔樸鞐熟枹醴聲声蛩凍溢零錯苔箏亊判斷諺理断盡悉尽辞詞殊事壽寿鯒礫鯉齣狛腓昆瘤鮗谺応應答茲是爰試志心凩兀笏惚榾輿甑腰拵拗鐺鏝昿仰慌袷塙頏絖冦耗亙峺衝晄覯糠匣逅閧扛湊羔礦爻壙盍洸鬨浤凰閤窖缸寇岡傚湟汞洽崗鮫伉訌誥冓敲磽倖簧鏗椌搆肓鍠矼砿犒淆呷鵁皐黌遘昴槹蚣肱肴熕胱猴扣杲蛤縞狎畊昊餃哽幌鱇峇嫦鎬隍恆倥徨啌吭釦闔藁亘絋棡遑紘稾鴿詬哮困靠皋惶紺鈩絳閘蒙冰氷郡蛟槁候楮媾溘蝗酵嚆犢稿亢哄睾慷郊岬肛項巷鑛洪佼狡昂叩勾喉滉糀晃剛晧曠宏控恍侯港皓坑皎耿膏江絞膠虹巧鴻鉱衡浩厚幸耕弘綱抗購攻講恒溝薨鋼航行肯荒高皇光好槲梏谷釛尅斛轂哭石告酷穀冴虎觚壷痼胯鼓児漉糊媚古娘冱混粉請辜湖虍放葫捏此鈷痩鴣瞽詁呼箍小錮蠱蛄粐滬估雇故沽転倒漕罟餬超込凅誇懲琥扈袴焦蝴呱乕踰弧越子孤菰跨壺楜股肥凝女戸恋兒怙瑚戀夸皷滸濾瓠濃乎仔こケ峻欅獸謇鵑愃搴劒俔儉險瞼慊圈幵釼顯剱椦黔暄劔涓臉妍劵歉獻縣蜷綣檢鉉虔愆娟權甄惓諠騫験慳捲倦遣羂嶮蹇鹸狷譴腱驗軒憲繭謙圏険硯倹献犬絢顕券劍剣見権研拳眷牽県建烟鑷言獣蓋涜吝削畩閲検貶健桁嗾竭獗偈譎碣蕨尻頡抉襭亅刔杰厥訐歇訣孑頁纈蹶桀穴傑結血煢蹊黥詣攜綮鮭絅盻挈瓊夐冂笄枅奚兮迥畦彑醯徑剄冏勍檠憬挂憇匸逕繼惠慧謦鷄系┓├┃┣┿━┻┷┸─┫┝┳┬┼┯┥╋┨┛│┠┰┏┤┴╂罫痙奎脛谿溪螢蛍渓閨憩圭携硅恵刑継勁珪計啓蹴毛褻異けク姑配椚橡檪櫪栩椡椪湫箜櫟含纐柵婚屎糞癖潛潜鵠凹窪縊跟頚軛珞頸首諄鞋履窟轡覆沓碎砕条降件頽崩屑釘莖茎陸杙杭掘崛倔鶏鐃藥擽薬樟楠梳櫛串釧與与挫籖鯀鯨籤隈熊艸嚔藾叢鏈腐鎖種Ξξ臭楔草圀邦國国髭漱嗽吻嘴唇脣梔腔φ粂裙勳熏皹桾皸醺崑燻訓勲葷委詳钁精鍬咥銜桑某暝峅昏冥眛罔鮓比闇位鞍藏暗倉廚厨涅曇蜘佝栗包俥車梍枢畔鐵玄蔵黒食孔桍窶暮焼懼駒苦区眩吁繰庫垢紅呉倶枸劬煦口瞿工吼怐喰貢惧區組句狗酌絎嶇衢刳くキ段痍疵紲絆傷築鱚嚴稷黍帛後碪砧絹兆萌刻鞫椈掬辟君牙蘗檗迄訖狐屹詰佶拮吃鞠橘菊喫.&⌒¬★!÷≠♪∫%±・。仝●|―¥Ц△‡`←¢£‰◎+ ̄〒☆ヽゞ、▽◇↓≒\;″°∝≦々℃∵†○´゛‥♭<#〇□‐_Å∞:▲ヾ♂?^,〓‖▼…〃¶゜@≫§∴′ゝ/>♀∨=≧ー−≪$♯↑■¨≡〆◆∽煙蚶更衣細后妃楸蕈茸乙雉轢杵軋岸桔汚穢北樵際裂燦煌雲嫌胆竏粁瓩浄淳澄潔清雰錐蛬吉霧檮桐箘鈞檎襟忻箟掀磬噤听瑾懃覲釁芹衿饉釿衾斤蒟径窘擒巾菌公禽筋錦欣僅琴均禁緊謹欽近勤嘘踞據苣擧渠秬鉅舉筥慶倨距歔遽鋸醵拠拒去勗蕀洫亟跼旭局挙許居巨虚轎繦羌姜篋蕎陜恊竸荊筴徼峽劫恟況棘竅僵亰狹頃筺梗誑刧襁烱洶抂卿鍄炯經竟廾况孝亨跫敬筐梟饗矯矜挾校挟拱嬌杏鞏響向興匈嚮享警競喬怯兄彊僑兢莢狂橋供郷兇驕凶叫夾匡侠狭恐経疆協境強胸驚脅共恭今教玖鬮歙舊疚笈邱赳摎恷岌貅9扱皀烋樛蚯逑厳胡翕朽泣穹糾糺及躬汲臼窮灸弓宮久柩究給丘求鳩級球休救急旧吸九基欹寄貴跂徠聞覊猗櫃煕既弃氣詭嬉效切妓跪虧卉稘尋冀暉唏姫伐喟伎畸効熙癸噐極祁匱馗旡其碁剞畿規希綺燬騎饑逵樹忌朞騏城聽棄悸肌生几季記僖紀斬決槻期起箕聴鰭崎餽倚幃瞶利晞欷毅危屓熈着汽木飢酒愾熹諱淇器羇机企麾訊著剪稀来圻來鬼揆奇羈禧譏棋黄憙己驥鑽决毀掎曁竒窺喜碕祈耆饋揮愧棊幾气徽消截岐祺麒覬嵜杞軌きカ糜癢粥痒麹輕骨業軽鰔鰈餉通瓶龜甕亀鴈獵鳫殯猟雁釀鳧鳬髢鴨躱巛側厠廁磧瓦獺翡裘皮紮→搦苧碓柄枳體軆躰躯体鴉犂烏機絡空唐榧茅揀坎澗扞莟丱拑盥嫺鑵蒄瞰淦稈康繝懽憾骭戡奐啣厂鐶讙澣羮寰羹嫻杆鸛歡豢歛罕酣陷皖篏捍瀚勸撼驩卷樌潤觀橄涵渙凵堪巫覡鉋萱簪舘艱咸翰柬悍駻燗槓浣邯攷稽宦考棺潅閂煥鉗疳癇函凾鹹顴緘桓款箝諌諫轗旱坩侃鰥 館莞橇韓患灌勧菅簡奸刊柑肝看桿干緩寒嵌廣広竿貫巻敢漢環間陥喚閑監喊歓甘寛管慣完艦乾幹官観壁椛屍姓庇鞄芳蔓鯑一勘⊃影陰蔭景*棧梯筧庚辛┘柧┐┌門廉脚癩乞∪川合’)〈《‘“”}{》〉囓柁旗鮖悴舵鰍鍛梶錺餝飾篭籠還歸卻皈孵省顧楓却帰反返督髮帋守祇韮裃雷髪紙鉦曲矩予鐘樺沫偏騙語潟刀模象仇固硬傍難容忝辱頑形方旁型肩風幽滓翳微掠綛纃絣緕擦糟鎹粕轄戞劼猾瞎恰蛞∧∩蠍擔濶筈剋蝎曷羯喝餓聒鞨黠刮蘰鬘桂闊括嘗捷豁渇担滑堅鰹割戛活暈疽鵲瘡傘嵩重襲葛笠堵硴墻牆蠣蛎柿關掲罹抱踵嬶嚊拘関係貌顏郁薫顔母感釡罐窰鴎框叺構喧竃竈釜缶蒲鎌數数槝栢膳傅瑕畏賢橿姦樫爨炊圍喞託囲鈎『鉤「』」限鍵傾禿蕪鏑頭齧気被兜敵適哉必要鼎鬲彜彝叶片悲哀愛鋺蛇鉄蜩神奏楫裹磆餅徒褐糧粮膈覺∠埆蠖貉幗隱擴寉骼癨壑咯椁嚇茖愨槨膕掴覈殼穫狢霍礁恪擱匿撹攪喀廓較郭]】【〔〕[殻挌劃閣格隠覚矍革獲馘攫核鶴拡客隔角確蠏壞畍丐獪褂恠喙峡夬觧械揩醢匯廨誡誨嵬櫂隗茴徊迴枴懈价椢榿囘蛙瑰乖浬鰄傀糴柏街鳰懷蛔蠶蚕邂蟹潰壊恢腕芥垣楷會拐悔詼諧契皆界疥魁偕改繪貝胛絵甲快灰槐晦懐介回塊解階廻戒開会怪海縢篝炬耀赫輝冠鑒鑑各屈鏡和代茄缺飼嫁華堝變狩上訶加架何啝火日菓欠苅繋稼ヶ个噛譁科跏舸賭禍支変窩課花交刈渦嚼掛呵替葭柯畫駆嘩崋化霞蝌迦顆価馨家借蝦罅駈斯賈嘉易果戈廈哥買闕且克墟靴訛驅換踝描軻嗅價嗄可彼夥香歌河珂鹿個痂書假荷耶笳咼藉糅舁搗渮袈下萪貸厦禾貨咬寡箇卦苛譌枷掻過画ヵ黴遐兼醸翔仮佳蚊懸伽賀淅勝涸苟蝸謌夏枯暇珈か京節┗└※хХ忽コ汗〜功(株Kク×金窯χキカΚКΧкケκK]\|ッ\_s*[コケクキカ]\|ッ\_s*[コケクキカ]\|っ\_s*[子こけくきか]\|蟀\_s*谷\|焜\_s*炉\|前\_s*妻\|嫡\_s*妻\|二\_s*合\_s*半\|秋\_s*桜\|牛\_s*尾\_s*魚\|庶\_s*幾\|独\_s*楽\|特\_s*牛\|粫\_s*門\|甦\_s*生\|M\_s*e\_s*t\_s*a\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|f\_s*o\_s*o\_s*t\_s* \_s*a\_s*n\_s*d\_s* \_s*m\_s*o\_s*u\_s*s\_s*e\_s* \_s*d\_s*i\_s*s\_s*e\_s*a\_s*s\_s*e\|外\_s*連\_s*味\|螻\_s*蛄\|罌\_s*粟\|滅\_s*紫\|S\_s*i\|莎\_s*草\|百\_s*[濟済]\|9\_s*[日月]\|秧\_s*鶏\|釉\_s*掛\|典\_s*薬\_s*寮\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|探\_s*湯\|誓\_s*湯\|六\_s*合\|地\_s*祇\|都\_s*子\|州\_s*光\|群\_s*衆\|慈\_s*姑\|c\_s*r\_s*e\_s*s\_s*c\|内\_s*蔵\_s*助\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|仁\_s*彦\|啄\_s*木\_s*鳥\|X\_s*e\|如\_s*月\|私\_s*市\|昨\_s*日\|素\_s*地\|布\_s*地\|欺\_s*罔\|k\_s*i\_s*l\_s*o\|聖\_s*[之子美]\|沈\_s*菜\|蟋\_s*蟀\|螽\_s*斯\|G\_s*o\_s*l\_s*d\|A\_s*\%(u\|r\_s*c\_s*h\_s*i\_s*c\_s*h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|s\_s*t\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\)\|菫\_s*青\_s*石\|槿\_s*花\|R\_s*\%(h\_s*\%(o\_s*e\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\)\|u\_s*n\_s*u\_s*n\_s*c\_s*u\_s*l\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|a\_s*n\_s*\%(u\_s*n\_s*c\_s*u\_s*l\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|a\_s*l\_s*e\_s*s\)\)\|裾\_s*礁\|脇\_s*[侍息]\|姉\_s*[妹弟]\|頬\_s*[骨筋]\|毬\_s*果\|舅\_s*姑\|厩\_s*\%([肥舎]\|務\_s*員\)\|廐\_s*舎\|離\_s*れ\_s*離\_s*れ\|掃\_s*部\|羚\_s*羊\|氈\_s*瓜\|土\_s*器\|蝙\_s*蝠\|魚\_s*狗\|為\_s*替\|連\_s*枷\|身\_s*体\|落\_s*葉\_s*松\|随\_s*神\|檻\_s*車\|T\_s*\%(h\_s*a\_s*l\_s*i\_s*c\_s*t\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|u\_s*b\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\)\|南\_s*瓜\|量\_s*子\|千\_s*典\|山\_s*\%(梔\_s*子\|陽\_s*道\)\|蜉\_s*蝣\|陽\_s*炎\|蜻\_s*蛉\|破\_s*片\|挿\_s*頭\|駕\_s*\%(籠\|輿\_s*丁\)\|槭\_s*樹\|長\_s*[月官]\|主\_s*[紀計神]\|剃\_s*刀\|天\_s*\%(牛\|鼠\_s*矢\)\|帷\_s*子\|酢\_s*漿\_s*草\|O\_s*x\_s*a\_s*l\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|飛\_s*白\|春\_s*日\|C\_s*\%([ormfda]\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\|i\_s*r\_s*c\_s*a\_s*e\_s*a\_s*s\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|u\_s*r\_s*i\_s*u\_s*m\|y\_s*p\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*c\_s*i\_s*d\_s*i\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\)\|曾\_s*て\|曽\_s*て\|松\_s*魚\|燕\_s*子\_s*花\|牡\_s*[蛎蠣]\|民\_s*部\|部\_s*曲\|E\_s*\%(b\_s*e\_s*n\_s*a\_s*l\_s*e\_s*s\|l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|案\_s*山\_s*子\|梭\_s*\%(魚\|子\_s*魚\)\|蟷\_s*螂\|螳\_s*螂\|瓜\_s*\%(田\|呂\_s*根\)\|拍\_s*手\|水\_s*[鶏母夫手]\|東\_s*\%(風\|京\_s*都\_s*立\_s*科\_s*学\_s*技\_s*術\_s*大\_s*学\)\|(\_s*株\_s*)\|称\_s*子\|贏\_s*ち\_s*得\|歩\_s*兵\|恁\_s*く\|杜\_s*\%(若\|父\_s*魚\)\|梅\_s*花\_s*皮\|頴\_s*田\|膾\_s*炙\|ノ\_s*\%([ブウ]\|ー\_s*ン\|ッ\_s*\%([トク]\|テ\_s*ィ\_s*ン\_s*グ\|カ\_s*ー\|キ\_s*ン\_s*グ\)\)\|ナ\_s*\%(ッ\_s*\%(ク\|プ\_s*\%(サ\_s*ッ\_s*ク\|ザ\_s*ッ\_s*ク\)\)\|レ\_s*ッ\_s*ジ\|イ\_s*[フトツ]\)\|ニ\_s*\%(ー\|ッ\_s*\%(ト\|テ\_s*ィ\_s*ン\_s*グ\)\)\|ホ\_s*\%(ー\_s*\%(ミ\_s*ー\|メ\_s*イ\)\|メ\_s*イ\_s*ニ\)\|フ\_s*\%(ビ\_s*ラ\_s*イ\|ル\_s*シ\_s*チ\_s*ョ\_s*フ\)\|ハ\_s*\%(ン\|ラ\_s*シ\_s*ョ\_s*ー\|ー\_s*ン\|バ\_s*ロ\_s*フ\_s*ス\_s*ク\|ル\_s*ツ\_s*ー\_s*ム\|チ\_s*ャ\_s*ト\_s*ゥ\_s*リ\_s*ア\_s*ン\)\|P\_s*\%(i\_s*p\_s*e\_s*r\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|a\_s*p\_s*a\_s*v\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|o\_s*\%(d\_s*o\_s*s\_s*t\_s*e\_s*m\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|t\_s*a\_s*s\_s*s\_s*i\_s*u\_s*m\)\)\)', \ 'L' : '\%([ォォぉェェぇゥゥぅィィぃァァぁ<≪ ̄_≦李左←¬⊃∃∀∨ルL∧レラлΛ£ЛλL]\|ッ\_s*[ォェゥィァ]\|ッ\_s*[ォェゥィァ]\|っ\_s*[ぉぇぅぃぁ]\|液\_s*晶\|最\_s*小\_s*2\_s*乗\_s*法\|\.\_s*\.\_s*\.\|拉\_s*薩\|l\_s*-\_s*メ\_s*ン\_s*ト\_s*ー\_s*ル\|l\_s*i\_s*s\_s*p\_s*e\_s*r\|聯\_s*想\|補\_s*題\|檸\_s*檬\|手\_s*紙\|学\_s*習\|施\_s*錠\|局\_s*所\|論\_s*理\|ロ\_s*\%([キイアロリブボトメウスコゴグー]\|ペ\_s*ス\|ワ\_s*ー\_s*ル\|エ\_s*ベ\|ヨ\_s*ラ\|フ\_s*ト\|ル\_s*カ\|ベ\_s*リ\_s*ア\|ビ\_s*\%(ー\|ン\_s*グ\|イ\_s*\%(ス\_s*ト\|ン\_s*グ\)\)\|テ\_s*ィ\|サ\_s*ン\_s*\%(ジ\_s*ェ\_s*ル\_s*ス\|ゼ\_s*ル\_s*ス\)\|ニ\_s*ー\|ク\_s*リ\_s*ア\_s*ン\|ッ\_s*\%([ジタテトク]\|キ\_s*\%(ン\_s*グ\|ー\_s*ド\)\|カ\_s*ー\)\|カ\_s*ー\_s*ル\|ケ\_s*ー\_s*\%([トタル]\|シ\_s*ョ\_s*ン\)\|ガ\_s*ー\|ギ\_s*ン\_s*グ\|ジ\_s*\%(ー\|テ\_s*ッ\_s*ク\|ス\_s*テ\_s*ィ\_s*\%(ク\|ッ\_s*ク\)\|カ\_s*ル\|ク\_s*ー\_s*ル\|ッ\_s*[トク]\)\|ラ\_s*ン\|ン\_s*\%([ゴグダ]\|ボ\_s*\%(ク\|ッ\_s*ク\)\|バ\_s*ル\_s*デ\_s*ィ\|ズ\_s*デ\_s*ー\_s*ル\|リ\_s*[ィー]\|ジ\_s*ン\|ド\_s*ン\)\|レ\_s*\%(ア\_s*ル\|ッ\_s*タ\|ー\_s*ヌ\|イ\_s*ン\|ン\_s*\%([ソス]\|ツ\_s*ォ\)\)\)\|\\\_s*L\_s*a\_s*T\_s*e\_s*X\|研\_s*究\_s*室\|エ\_s*ル\|リ\_s*\%([ィセズザサスダポルラリマナノンヌブアー]\|ャ\_s*マ\|ヤ\_s*ド\_s*ロ\|ヨ\_s*ン\|ゾ\_s*チ\_s*ー\_s*ム\|コ\_s*\%(リ\_s*ス\|ピ\_s*ン\)\|ク\_s*ー\_s*ド\|カ\_s*\%(ー\|オ\_s*ン\)\|ジ\_s*[ンー]\|デ\_s*[ィル]\|ド\_s*カ\_s*イ\_s*ン\|プ\_s*ト\_s*ン\|パ\_s*ー\_s*ゼ\|グ\_s*\%(ニ\_s*ン\|ナ\_s*ン\)\|フ\_s*\%([エト]\|タ\_s*ー\|テ\_s*ィ\_s*ン\_s*グ\)\|テ\_s*ラ\_s*[ルシ]\|チ\_s*ウ\_s*ム\|ソ\_s*\%(ソ\_s*ー\_s*ム\|グ\_s*ラ\_s*フ\_s*ィ\)\|タ\_s*ー\|ト\_s*\%([レル]\|マ\_s*ス\|ア\_s*ニ\_s*ア\|グ\_s*ラ\_s*フ\|バ\_s*ル\_s*ス\_s*キ\_s*ー\)\|オ\_s*\%(タ\_s*ー\_s*ル\|ネ\_s*ル\)\|ミ\_s*\%(テ\_s*ッ\_s*ド\|ッ\_s*[タト]\)\|モ\_s*\%(ー\_s*ジ\_s*ュ\|ネ\_s*ン\|ン\_s*チ\_s*ェ\_s*ッ\_s*ロ\)\|ム\_s*ジ\_s*ン\|キ\_s*\%(ッ\_s*ド\|ュ\_s*ー\_s*ル\|テ\_s*ン\_s*\%(ス\_s*タ\_s*イ\_s*ン\|シ\_s*ュ\_s*タ\_s*イ\_s*ン\)\)\|エ\_s*\%(ゾ\_s*ン\|ー\_s*ジ\_s*ュ\)\|ヒ\_s*テ\_s*ン\_s*シ\_s*ュ\_s*タ\_s*イ\_s*ン\|ネ\_s*\%([アン]\|ッ\_s*ト\|ー\_s*ジ\_s*ュ\)\|ニ\_s*ア\|ベ\_s*\%([ロラ]\|リ\_s*ア\|レ\_s*ー\_s*シ\_s*ョ\_s*ン\|ル\_s*テ\)\|ビ\_s*\%([アー]\|ド\_s*ー\|ン\_s*グ\)\|ュ\_s*\%([スー]\|ブ\_s*リ\_s*ャ\_s*ー\_s*ナ\|リ\_s*ュ\|ド\_s*ミ\_s*ラ\|ク\_s*サ\_s*ン\_s*ブ\_s*ー\_s*ル\|ッ\_s*ク\|シ\_s*ア\_s*ン\|ミ\_s*エ\_s*ー\_s*ル\)\|ロ\_s*\%(イ\|ン\_s*グ\_s*ウ\_s*ェ\)\|ヴ\_s*\%(ィ\_s*ン\_s*グ\_s*ス\_s*ト\_s*ン\|ァ\_s*\%(プ\_s*ー\_s*ル\|イ\_s*ア\_s*サ\_s*ン\)\)\|バ\_s*\%(テ\_s*ィ\|タ\_s*リ\_s*ア\_s*\%(ン\|ニ\_s*ズ\_s*ム\)\|プ\_s*ー\_s*ル\|イ\_s*ア\_s*サ\_s*ン\)\|ッ\_s*\%([ドピプタクチト]\|ス\_s*ン\)\)\)', \ 'M' : '\%([モ脆醪師諸催靄舫腿銛杜森聞捫匁紋問翫玩擡齎靠凭鵙鴃縺悶樅籾椛楓蛻潛濳艾潜殯黐餠用糯餅桃者懶專専物尤勿畚戻許悖故旧下乖求礎素基本元綟捩文默沐杢黙耗檬网莽芒罔耄朦魍艨濛曚矇亡蒙毛孟猛網糢保若望揉燃洩貰藻漏以模母裳楙姆摸茂持喪もメ麪緜眄緬麺門棉綿面蓍珎珍♀娶貭粧妾牝瞽盲娚暈繞萌慈惠恵萠暝謎溟滅姪瞑盟酩銘鳴瑪賞睨奴雌芽碼召女減めム羣榁室簇邨屯連邑叢村紫梅葎宜憤毳槿葮椋酬報尨骸躯旨難睦酷麥麦対邀百迎昔空虚鞅宗棟胸掬娘結笞鞭徒蠧蝕蠹蟲蓆寧筵席莚虫毟貉狢豸貪聟壻婿霧向无無謀武鵡夢群牟梦六剥毋噎蒸咽務矛むミ渠霙溝妊澪薨岑嶺峰峯亂紊淫婬濫妄猥乱※*◇■簔穣簑蓑醜儖慘短惨幹研耳壥廛店操陵鶚崎岬巫尊詔勅敕>」砌汀頻→』】右翠碧緑認幣蹊径倫導途通路道瞠鬟髻湖自蹼蛟瑞癸禊晦漲源鏖港湊南瞶櫁謐水調貢密甕帝蜜覩幸脉脈韭韮竓粍瓱榠螟茗名妙命冥都宮罠閔皆眠明民看彌稔靡觀盈診箕三観美充深壬實視御魅味巳己身弥みマ毬鞠紕蝮麿転稀賓客檀繭黛眉巡囘周防衞衛護守荳菽豆.・。°◯圓槫゜)(丸謾鰻縵鬘懣幡幔蹣蔓瞞卍饅漫滿慢迄笆貧幻瞼蔟疎眩回廻儲申設招繚統纒的蟶孫弯彎籬擬免猿純亮信実委罷圸壗侭飯儘継随髷任蒭芻耙紛鮪見猯塗斈學眦眥眼俎愛学斑斗枡鱒桝舛升萬蠱呪薪槙槇牧窗悗惑円窓襠甼区街町前複亦俣叉跨全瞬木胯股又鍖枕膜幕瑁詣参參妹眛哩迷枚米賄賂埋昧邁毎沫抹奉靺枩秣祀纏祭睫末大太秀勝柾弄優成盛將松匡鉞賢希将誠昌征政正雅仁媽散茉馬在増混交間放摩負枉益敗眞待未麼撒巻魔蒔俟坐嘛舞捲目磨痲先墹真満播万曲卷雑ま光月♪♭♯ム¬⌒÷⊃≠∫∠±⊇⇔∃∇√∧≒∩∬∋∝≦∵Δ⇒∞⊂⊆⊥∀≫∴×∨≧≪≡∂∈∽∪♂曼麻●◎○〇モM〒′−マ最ミメМΜμM]\|ッ\_s*[モメムミマ]\|ッ\_s*[モメムミマ]\|っ\_s*[もめむみま]\|双\_s*\%([手墨親]\|向\_s*き\|差\_s*し\)\|蜀\_s*黍\|唐\_s*土\_s*\%(書\|文\_s*字\)\|両\_s*\%([角親刃]\|差\_s*し\)\|楊\_s*梅\_s*皮\|主\_s*水\|旺\_s*角\|紅\_s*[絹染葉]\|強\_s*請\|虎\_s*落\|痘\_s*瘡\|莫\_s*斯\_s*科\|固\_s*よ\_s*り\|一\_s*徳\|O\_s*l\_s*e\_s*a\_s*l\_s*e\_s*s\|惘\_s*然\|乙\_s*張\|赤\_s*目\_s*魚\|針\_s*孔\|妻\_s*[君合沼]\|墨\_s*西\_s*哥\|鍍\_s*金\|繍\_s*眼\_s*児\|夫\_s*婦\|乳\_s*母\|布\_s*の\_s*子\|没\_s*\%([薬後入却有]\|義\_s*道\|食\_s*子\)\|B\_s*\%(e\_s*r\_s*b\_s*e\_s*r\_s*i\_s*d\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*o\_s*r\_s*r\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\)\|浮\_s*腫\|6\_s*日\|6\_s*日\|崇\_s*田\|刀\_s*背\|襁\_s*褓\|零\_s*余\_s*子\|蜈\_s*蚣\|産\_s*霊\|息\_s*子\|k\_s*\$\_s*_\_s*{\_s*i\_s*n\_s*f\_s*}\_s*\$\|蚯\_s*蚓\|A\_s*\%(b\_s*i\_s*e\_s*s\|p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*r\_s*o\_s*s\_s*t\_s*i\_s*c\_s*h\_s*u\_s*m\)\|山\_s*陵\|雎\_s*鳩\|親\_s*王\|嬰\_s*児\|亨\_s*治\|陸\_s*奥\|皇\_s*[子女國]\|3\_s*[つ日]\|3\_s*[つ日]\|角\_s*[鴟髪子]\|七\_s*寸\|鳩\_s*尾\|鷦\_s*鷯\|孤\_s*児\|凝\_s*視\|兎\_s*唇\|R\_s*u\_s*t\_s*a\_s*l\_s*e\_s*s\|神\_s*[子輿酒]\|苗\_s*字\|海\_s*[雲蘊布藻蜂松山]\|P\_s*o\_s*d\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|土\_s*[龍竜産]\|京\_s*都\|横\_s*浜\_s*マ\_s*リ\_s*ノ\_s*ス\|肉\_s*刺\|忠\_s*実\|翻\_s*\%(筋\_s*斗\|車\_s*魚\)\|H\_s*a\_s*m\_s*a\_s*m\_s*e\_s*l\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|不\_s*\%(味\|見\_s*[点転]\)\|兇\_s*々\|凶\_s*鳥\|澗\_s*潟\|勾\_s*玉\|禍\_s*[々禍事言]\|況\_s*し\|澳\_s*門\|苧\_s*麻\|茅\_s*台\_s*酒\|丈\_s*夫\|倍\_s*達\|微\_s*[塵妙睡]\|燐\_s*寸\|驀\_s*地\|L\_s*o\_s*g\_s*a\_s*n\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|豫\_s*て\|陪\_s*臣\|売\_s*僧\|C\_s*\%(a\_s*s\_s*u\_s*a\_s*r\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|e\_s*r\_s*a\_s*t\_s*o\_s*p\_s*y\_s*l\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\)\|S\_s*\%(a\_s*p\_s*i\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|c\_s*h\_s*i\_s*s\_s*a\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|理\_s*[之元]\|允\_s*彦\|祐\_s*史\|晶\_s*子\|公\_s*[美則輝]\|斉\_s*加\_s*年\|方\_s*夫\|多\_s*言\_s*語\_s*化\|m\_s*-\_s*R\_s*N\_s*A\|ニ\_s*ー\_s*モ\_s*ニ\_s*ッ\_s*ク\|単\_s*量\_s*体\|会\_s*議\|和\_s*布\_s*[刈蕪]\|中\_s*間\_s*子\|薄\_s*荷\_s*脳\|行\_s*[幸列]\|写\_s*像\|日\_s*\%(米\_s*相\_s*互\_s*防\_s*衛\_s*援\_s*助\_s*協\_s*定\|本\_s*製\)\|m\_s*\%(u\_s*l\_s*t\_s*i\_s*l\_s*i\_s*n\_s*g\_s*u\_s*a\_s*l\_s*i\_s*z\_s*a\_s*t\_s*i\_s*o\_s*n\|i\_s*\%(c\_s*r\_s*o\|l\_s*l\_s*i\)\|e\_s*\%(g\_s*a\|z\_s*z\_s*o\_s* \_s*\%(f\_s*o\_s*r\_s*t\_s*e\|p\_s*i\_s*a\_s*n\_s*o\)\)\|a\_s*\%(k\_s*e\_s*フ\_s*ァ\_s*イ\_s*ル\|d\_s*e\_s* \_s*i\_s*n\_s* \_s*J\_s*a\_s*p\_s*a\_s*n\)\)\|計\_s*算\_s*機\|手\_s*紙\|ザ\_s*ッ\_s*ヘ\_s*ル\_s*=\_s*マ\_s*ゾ\_s*ッ\_s*ホ\|嗜\_s*虐\_s*的\_s*趣\_s*味\|被\_s*虐\_s*\%(趣\_s*味\|淫\_s*乱\_s*症\)\|修\_s*士\|仮\_s*面\|移\_s*送\|エ\_s*ム\)', \ 'N' : '\%([ノ麕咒燧烽詛呪孔伯朔雅悳弼教糊典規矩憲範宜紀哲修惟允亘攵展順暢信則法後罵吭咽喉鑿蚤々湾宣曰覘臨稀望覗殘遺残鋸芒禾騰幟昇登上檐簷軒逸遁王瑙衲曩碯皇腦嚢膿能脳農除延熨廼退埜野飲載乘飮之伸嚥述乗呑−濃陳のネ塒姉濘檸嚀聹侫寧佞鼡鼠拗猫嫉妬希願捏熱労犒葱狙閨睡棔眠稔然棯懇拈撚燃念年涅粘値根捻嶺祢錬寝袮捩音練禰煉子寢ねヌ絖垈饅帛幣鵺主蛻拭温布沼盜偸窃盗抽擢緯糠額濡脱怒縫抜奴拔貫塗ぬニ楡蒻潦鷄鶏瀑庭繞獰女尿韭薤眈睨韮姙刄儿蒜葫刃忍∀妊認任人乳擔蜷担濁賑握俄鳰臭匂沸錵贄僞偐贋偽柔靤如苦膠霓滲虹躙廿《》◎∬』『悪憎兄螺鰊鯡錦西入新肉‖岻逃児弐二邇2貳迩煮貮迯仁尼似荷2弍丹にナ靡抔嫐嬲鯆屶釶鉈泥薺詰若慨歎嘆抛毆擲撲殴慰治癒等猶直泪波邉辺邊鍋浪某棘棗懷懐夏擦梨情懶譌艶訛鉛鮠癜鯰韲鱠膾憖怠鈍腥捺凖擬准準謎洋涙宥傾灘詠霖眺痼存乍流轅永和梛椥渚長莫毋勿半・媒仲中7斜七蔑乃尚内繩畷縄苗滑鞣惱悩就哉也斉形業徳娚垂喃∵楠尓爾汝男軟難何倣枹均柞双肄列⊃⇒→楢習竝茄啾納無那拿舐娜做涕投馴南熟並儺生凪鳴為綯奈嘗哭嚶爲狎薙萎菜魚慣泣亡失痿撫啼な┘┛│┃┨┫┤┥├┝┣┠┼╋╂┿成#∋∇名┗└日≒ニネN¬〜≠ナヌノΝНнνN]\|ッ\_s*[ノネヌニナ]\|ッ\_s*[ノネヌニナ]\|っ\_s*[のねぬにな]\|帳\_s*面\|狼\_s*[烟煙]\|惚\_s*気\|暖\_s*[簾気]\|礼\_s*江\|功\_s*晶\|祈\_s*子\|訓\_s*子\|賀\_s*子\|式\_s*部\_s*省\|記\_s*代\|倫\_s*[明子宗]\|敬\_s*之\|賭\_s*弓\|誠\_s*也\|敦\_s*子\|悦\_s*旦\|祝\_s*[女詞]\|仰\_s*け\_s*反\|盧\_s*泰\_s*愚\|逆\_s*上\|凌\_s*霄\_s*花\|姐\_s*さ\_s*ん\|杜\_s*松\|強\_s*請\|合\_s*歓\|微\_s*温\|零\_s*余\_s*子\|酸\_s*漿\|鐃\_s*鉢\|鰾\_s*膠\|I\_s*I\_s*部\|耳\_s*根\|面\_s*皰\| \_s*2\_s* \_s*次\_s*曲\_s*面\|M\_s*y\_s*r\_s*i\_s*s\_s*t\_s*i\_s*c\_s*a\_s*c\_s*e\_s*a\_s*e\|莞\_s*爾\|P\_s*b\|L\_s*e\_s*a\_s*d\|海\_s*[苔鼠]\|C\_s*\%(e\_s*l\_s*a\_s*s\_s*t\_s*r\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|a\_s*r\_s*y\_s*o\_s*p\_s*h\_s*y\_s*l\_s*l\_s*a\_s*l\_s*e\_s*s\)\|雪\_s*崩\|竹\_s*節\_s*虫\|7\_s*[日個]\|地\_s*震\|行\_s*[木方]\|大\_s*\%(蒜\|理\_s*石\)\|蛞\_s*蝓\|弱\_s*竹\|追\_s*儺\|済\_s*\%(し\_s*崩\|り\_s*物\)\|可\_s*成\|平\_s*城\|不\_s*成\|空\_s*リ\_s*ス\_s*ト\|T\_s*h\_s*e\_s* \_s*N\_s*e\_s*t\_s*w\_s*o\_s*r\_s*k\_s* \_s*I\_s*n\_s*f\_s*o\_s*r\_s*m\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*C\_s*e\_s*n\_s*t\_s*e\_s*r\|S\_s*o\_s*\%(l\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|d\_s*i\_s*u\_s*m\)\|n\_s*\%(個\|次\_s*元\|e\_s*m\_s*a\_s*c\_s*s\)\|紐\_s*育\|フ\_s*ォ\_s*ン\_s*・\_s*ノ\_s*イ\_s*マ\_s*ン\|ヤ\_s*ー\_s*ノ\_s*ッ\_s*シ\_s*ュ\_s*・\_s*フ\_s*ォ\_s*ン\_s*・\_s*ノ\_s*イ\_s*マ\_s*ン\|オ\_s*ラ\_s*ン\_s*ダ\|ア\_s*メ\_s*リ\_s*カ\_s*ネ\_s*ッ\_s*ト\_s*ワ\_s*ー\_s*ク\|番\_s*号\|節\_s*点\|夜\_s*想\_s*曲\|n\_s*\%(次\|a\_s*n\_s*o\|o\_s*t\_s* \_s*o\_s*r\)\|諾\_s*威\|正\_s*常\|窒\_s*素\|エ\_s*ヌ\)', \ 'O' : '\%([オ俺游泳指妖在畢檻澱氈拇親愚疎颪卸念錘惟慮赴徐趣俤羈主想表重面隱瘟園Å怨♀妾温恩鈍悍臣覺溺朦朧思覚榲現朮桶踴威嚇戯縅棘駭愕驚躍踊傲奢驕嚴厳遣痴瘧怒行怠蒹補荻獺懼惧怐虞畏恐襲甥笈及綬葹仝ヾ〃ゝヽゞ々同唖繦襁鴦鴛教几忍筬收兎抑稚長幼治理収修遲檍納後遅賻饋諡贈送憶袵臆拜拝冒犯岳崗峻阜侵奇陵女陸丘岡欄斧自己各戦鬼衰劣囮頤訪貶乙♂漢音弟阿脅怯首夥誘屋膃億穩穏煽煕熈燠熾諚掟興隠沖毆姶澳秧浤凰徃枉罌殃翁鴬泓奧嚶墺悒泱閘瓮襖蓊惶鸚懊媼嫗鴎怏鏖謳旺凹鴨櫻欒樗楝殴朷甌汪横往鞅歐嘔陷陥遠奄蓋夛応果應掩蔽概欧公邑麋薤被仰扇皇狼弁鵬鴻鳳黄奥多衽覆粱凡鰲頁王居央郎措擱堕尾置麻朗怖悪追帶折塢負墜織老汚生勇小嗚夫惜起唹落男推将穂壓淤御緒墮逐下牡捺雄降桜押圧苧帯於終乎お大◎∞和∝♪∨∪開OоОο○ωΟオΩO]\|濠\_s*太\_s*剌\_s*利\|父\_s*[娘子]\|母\_s*[子娘屋]\|万\_s*年\_s*青\|本\_s*懸\_s*魚\|玩\_s*具\|沢\_s*瀉\|A\_s*l\_s*i\_s*s\_s*m\_s*a\_s*t\_s*a\_s*l\_s*e\_s*s\|厭\_s*離\|乳\_s*母\_s*日\_s*傘\|陰\_s*[陽地]\|飲\_s*[食酒]\|慍\_s*色\|婦\_s*系\_s*図\|手\_s*術\|螻\_s*蛄\|十\_s*八\_s*番\|鉄\_s*漿\|海\_s*髪\_s*海\_s*苔\|虎\_s*魚\|花\_s*魁\|美\_s*味\|含\_s*羞\_s*草\|白\_s*粉\|渡\_s*島\|通\_s*事\|訳\_s*語\|晩\_s*[稲生]\|可\_s*笑\|惡\_s*寒\|傍\_s*[目惚見]\|叔\_s*[父母]\|伯\_s*[父母]\|姨\_s*捨\|少\_s*女\|侠\_s*気\|G\_s*u\_s*t\_s*t\_s*i\_s*f\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|D\_s*i\_s*l\_s*l\_s*e\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|H\_s*y\_s*p\_s*e\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|霊\_s*屋\|蝌\_s*蚪\|飫\_s*肥\|佩\_s*物\|良\_s*人\|纓\_s*田\|C\_s*o\_s*p\_s*t\_s*i\_s*d\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|鷹\_s*揚\|椀\_s*飯\_s*振\_s*\%(舞\|る\_s*舞\)\|相\_s*知\|鶯\_s*語\|近\_s*江\|零\_s*落\|越\_s*[生訴知智度]\|彼\_s*方\|祖\_s*[神父母]\|車\_s*前\|従\_s*祖\_s*[母父]\|青\_s*[梅海木]\|太\_s*\%(田\|安\_s*万\_s*侶\|上\_s*天\_s*皇\)\|巨\_s*頭\|逢\_s*[魔瀬隈坂]\|そ\_s*の\_s*他\|承\_s*知\_s*し\_s*ま\_s*し\_s*た\_s*\.\|烏\_s*[滸龍]\|t\_s*h\_s*e\_s* \_s*O\_s*b\_s*j\_s*e\_s*c\_s*t\_s* \_s*M\_s*a\_s*n\_s*a\_s*g\_s*e\_s*m\_s*e\_s*n\_s*t\_s* \_s*G\_s*r\_s*o\_s*u\_s*p\|立\_s*石\_s*電\_s*機\|職\_s*業\|楕\_s*円\|ウ\_s*\%(ィ\|ー\_s*\%(ズ\|ロ\_s*ン\)\|ロ\_s*ボ\_s*ロ\_s*ス\)\|出\_s*力\|ア\_s*\%(ワ\|ザ\_s*ー\|ウ\_s*\%([チト]\|タ\_s*ー\)\)\|基\_s*本\_s*ソ\_s*フ\_s*ト\_s*ウ\_s*ェ\_s*ア\|一\_s*\%(昨\_s*[年日]\|対\_s*一\)\|ワ\_s*ン\|ま\_s*た\_s*は\|論\_s*理\_s*和\|聖\_s*譚\_s*曲\|水\_s*中\_s*酸\_s*素\_s*破\_s*壊\_s*剤\|蛋\_s*白\_s*石\|最\_s*適\_s*化\|歌\_s*劇\|演\_s*算\_s*子\|操\_s*作\|酸\_s*素\)', \ 'P' : '\%([本磅椪烹砲法方報舖舗歩ぽ併閉閇蔽×遍編片邉篇辺邊屁ぺ幅服風分腐布符泌匹俵憑票品筒平日犯版搬幇板払腹發発走箱拍朴駮泊博愽包放配盃敗牌杯八破羽波播張ぱ鉛Ψψぴ±+ぷΦφ├┣∝北┴‰.P%£〒・点プポ頁)(∂¶‖ペパПΠп燐πピP]\|ッ\_s*\%(ホ\_s*゚\|ヘ\_s*゚\|フ\_s*゚\|ヒ\_s*゚\|ハ\_s*゚\)\|ッ\_s*[ポペプピパ]\|っ\_s*[ぽぺぷぴぱ]\|ホ\_s*゚\|先\_s*斗\_s*町\|ヘ\_s*゚\|祕\_s*[露魯]\|フ\_s*゚\|釜\_s*山\|普\_s*魯\_s*西\|ヒ\_s*゚\|皮\_s*蛋\|光\_s*一\|ハ\_s*゚\|麺\_s*麭\|巴\_s*\%(里\|奈\_s*馬\)\|C\_s*y\_s*c\_s*l\_s*a\_s*n\_s*t\_s*h\_s*a\_s*l\_s*e\_s*s\|S\_s*y\_s*n\_s*a\_s*n\_s*t\_s*h\_s*a\_s*e\|排\_s*骨\|B\_s*r\_s*o\_s*m\_s*e\_s*l\_s*i\_s*a\_s*l\_s*e\_s*s\|L\_s*e\_s*a\_s*d\|白\_s*[板酒金]\|シ\_s*\%(ュ\_s*ー\_s*ド\|ロ\_s*シ\_s*ビ\_s*ン\)\|サ\_s*\%(ー\_s*ム\|イ\_s*\%([ズクケコ]\|ロ\_s*シ\_s*ビ\_s*ン\|リ\_s*ウ\_s*ム\|キ\_s*ッ\_s*ク\)\)\|+\_s*α\|ホ\_s*\%(ン\|ス\_s*ゲ\_s*ン\)\|ヒ\_s*ロ\_s*ポ\_s*ン\|比\_s*\%(布\|律\_s*賓\)\|フ\_s*\%(リ\_s*ジ\_s*ア\_s*ン\|レ\_s*\%(イ\_s*ジ\_s*ン\_s*グ\|ー\_s*\%(ズ\|ジ\_s*ン\_s*グ\)\)\|タ\_s*レ\_s*イ\_s*ン\|ォ\_s*\%([ーンノト]\|ボ\_s*ス\|ビ\_s*ア\|ス\_s*フ\_s*ァ\_s*ー\|ニ\_s*ー\)\|ァ\_s*\%(イ\|ラ\_s*オ\|ー\_s*\%([ジマ]\|ミ\_s*ン\_s*グ\)\|ン\_s*\%(ト\_s*ム\|タ\_s*ズ\_s*[ムマ]\)\|ル\_s*[ツス]\|レ\_s*ノ\_s*プ\_s*シ\_s*ス\)\|ィ\_s*\%([ロル]\|ジ\_s*\%(ッ\_s*ク\_s*ス\|カ\_s*ル\)\|ー\_s*ビ\_s*ー\|ッ\_s*シ\_s*ン\_s*グ\|レ\_s*モ\_s*ン\|ラ\_s*デ\_s*ル\_s*フ\_s*ィ\_s*ア\|リ\_s*\%([スーアパ]\|ッ\_s*[プパ]\|ピ\_s*\%(ン\|ー\_s*ヌ\)\)\)\|ェ\_s*\%(ー\_s*\%([ベズ]\|ジ\_s*ン\_s*グ\)\|イ\_s*ズ\|ロ\_s*モ\_s*ン\|ニ\_s*\%(ル\|ッ\_s*ク\_s*ス\|キ\_s*ア\|ー\_s*ル\)\|ノ\_s*\%(キ\_s*シ\|ー\_s*ル\)\)\)\|述\_s*語\|証\_s*明\|タ\_s*ン\_s*パ\_s*ク\_s*質\|処\_s*理\|手\_s*続\_s*き\|進\_s*行\|算\_s*譜\|利\_s*潤\|南\_s*瓜\|宣\_s*伝\|公\_s*告\|真\_s*珠\|永\_s*続\|カ\_s*リ\_s*ウ\_s*ム\|葡\_s*萄\_s*牙\|重\_s*合\_s*体\|多\_s*相\_s*型\|バ\_s*テ\_s*レ\_s*ン\|貼\_s*り\_s*付\_s*け\|論\_s*文\|偏\_s*執\_s*[狂病]\|引\_s*数\|リ\_s*ン\|p\_s*\%(T\_s*e\_s*X\|H\_s*メ\_s*ー\_s*タ\|e\_s*\%(t\_s*a\|r\_s*l\_s*ス\_s*ク\_s*リ\_s*プ\_s*ト\)\|i\_s*\%(c\_s*o\|a\_s*n\_s*\%(o\|i\_s*s\_s*s\_s*i\_s*\%(m\_s*o\|s\_s*s\_s*i\_s*m\_s*o\)\)\)\)\)', \ 'Q' : '\%([配椚橡檪櫪栩椡椪椢湫櫟含纐柵婚屎糞癖潛潜鵠裹凹窪馘括縊踵跟頚軛珞頸首諄鞋履窟寛狐轡覆靴沓碎砕管条降件頽崩屑葛釘莖茎陸杙株杭掘崛倔鶏鐃藥擽薬樟楠髪酒梳櫛串釧與与挫籖鯀鯨鬮籤隈熊艸嚔藾叢鏈腐鎖種Ξξ臭日茸菌楔草圀邦國国髭漱嗽吻嘴喙唇脣蛇梔腔φ劫刧 空粂裙勳熏皹桾皸醺下薫燻訓勲葷君委詳钁精企鍬加咥銜桑塊某暝晦峅競昏冥眛罔鮓較比闇位鞍藏暗倉廚厨涅々〃ゝヽゞ仝ヾ曇雲蜘栗狂包俥車曲廓郭梍枢踝畔鉄鐵★●■玄蔵黒拘食徠久孔桍窶暮焼懼駒柧苦朽区眩吁繰庫垢駆鉤紅呉倶駈汲宮枸劬矩煦驅口9瞿工悔供功吼怐喰玖貢九惧来來區組奇句狗鳩酌絎嶇躯衢屈刳クくQ‘“’”♪ケ?ク¶Q]\|ッ\_s*ク\|ッ\_s*ク\|っ\_s*く\|姑\_s*娘\|箜\_s*篌\|救\_s*世\|莎\_s*草\|傀\_s*儡\|被\_s*下\_s*度\|百\_s*[濟済]\|果\_s*物\|恭\_s*敬\|9\_s*月\|長\_s*月\|秧\_s*鶏\|究\_s*竟\|釉\_s*掛\|典\_s*薬\_s*寮\|天\_s*鼠\_s*矢\|L\_s*a\_s*u\_s*r\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|探\_s*湯\|誓\_s*湯\|球\_s*磨\|六\_s*合\|地\_s*祇\|都\_s*子\|州\_s*光\|山\_s*梔\_s*子\|崑\_s*央\|群\_s*衆\|慈\_s*姑\|旧\_s*\%(訳\|唐\_s*書\)\|c\_s*r\_s*e\_s*s\_s*c\|海\_s*月\|水\_s*[鶏母]\|内\_s*蔵\_s*助\|K\_s*r\|H\_s*e\_s*l\_s*l\_s*e\_s*b\_s*o\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|公\_s*\%([家方卿界美事文]\|出\_s*挙\)\|佝\_s*僂\_s*病\|J\_s*u\_s*g\_s*l\_s*a\_s*n\_s*d\_s*a\_s*l\_s*e\_s*s\|胡\_s*桃\|C\_s*\%(r\|h\_s*r\_s*o\_s*m\_s*i\_s*u\_s*m\)\|R\_s*h\_s*a\_s*m\_s*n\_s*a\_s*l\_s*e\_s*s\|珠\_s*穆\_s*朗\_s*瑪\|チ\_s*ョ\_s*モ\_s*ラ\_s*ン\_s*マ\|『\_s*』\|コ\_s*\%(ー\_s*ラ\_s*ン\|ン\_s*テ\_s*ィ\_s*フ\_s*ァ\_s*イ\_s*ア\)\|問\_s*合\_s*せ\|カ\_s*\%(ザ\_s*ン\|タ\_s*ー\_s*ル\|ス\_s*バ\|ー\_s*ヌ\_s*ー\_s*ン\|ナ\_s*ー\_s*ト\|ダ\_s*フ\_s*ィ\|リ\_s*テ\|ド\_s*リ\_s*ー\_s*[ルユ]\|ル\_s*\%(チ\_s*[エェ]\|テ\_s*\%(ィ\_s*エ\|ッ\_s*ト\)\)\|ン\_s*タ\_s*[ムスン]\)\|質\_s*問\|キ\_s*\%(ト\|ブ\_s*ラ\|ホ\_s*ー\_s*テ\|ハ\_s*ー\_s*ダ\|ル\_s*\%(ト\|テ\_s*ィ\_s*ン\_s*グ\)\|ー\_s*ン\|ノ\_s*ン\|ッ\_s*シ\_s*ュ\|ュ\_s*\%(ー\|エ\_s*リ\)\)\)', \ 'R' : '\%([ロ崘侖崙堽栄論漉祿轆碌肋勒麓禄鹿6録蘢滝潦榔簍柆鑞弄咾瑯焜朖螂螻樓隴哢實臈槞僂瓏勞薐琅朧壟撈臘郎瘻廊牢浪蝋癆聾楼篭籠狼漏朗蘆顱炉髏爐櫨蕗賂艪瀘臚枦輅鹵廬櫓轤鷺驢艫櫚滷ろレ洌鴒聆蛎糲綟儷蛉砺苓唳勵〇澪犁齡蠡囹齢黎羚戻禮祈隸茘麗隷玲伶癘励零冷例冽劣烈裂列癧轣檪櫪靂鬲瀝礫轢歴瀲鎌縺嗹漣鏈匳斂濂戀奩輦簾櫺∧聨憐恋蓮煉錬攣練聯廉連れル♪路盧泪壘縲瘰誄涙羸塁累類鏤屡縷褸婁陋璢るリ犂篥葎率慄栗淕勠六戮陸律擽畧暦掠略鏐鉚窿餾畄旒瀏苙霤瑠嶐澑瘤嚠笠榴溜硫琉留立柳粒劉隆流痳鈴麟P懍躪藺鄰棆醂菻廩躙淪厘凜霖琳悋綸淋禀稟凛鱗倫吝隣林燐臨侶絽踉梠膂虜呂慮仂力緑裲鐐椋靈魎崚鬣嶺獵楞怜暸倆繆粮廖兩蓼鷯粱輌凉輛燎瞭聊陵令梁糧諒霊龍凌遼漁亮寮⇔涼繚撩綾療量竜菱僚領喨了稜寥両料閭旅離吏履裡璃理釐痢裏俐俚莅漓利驪李哩梨詈悧罹浬籬里莉りラΛλ亂儖攬覧臠覽瀾欒襴婪繿欖檻籃巒嬾纜襤懶爛藍鸞卵濫闌嵐欄乱蘭労剌溂老埓埒猟薤辣喇樂珞犖絡駱酪烙楽落洛徠蕾賚醴罍櫑擂儡耒籟莱磊癩來礼雷頼来們裸等鑼邏蘿拉螺騾良ら右→ТбуЖВоЙЗЪжзИУЯвяшфКСлЁХпОЦЭЧФЫЩъ魯Бы露ШйхМкПгдмцНЛёаиэетАГчЬюЕЮсьнщД輪根√羅ロ々RラルレリРρΡрR]\|ッ\_s*[ロレルリラ]\|ッ\_s*[ロレルリラ]\|っ\_s*[ろれるりら]\|鱸\_s*魚\|芦\_s*[有花]\|濾\_s*[胞過紙]\|6\_s*[時月]\|水\_s*無\_s*月\|檸\_s*檬\|坩\_s*堝\|A\_s*\%(c\_s*t\_s*a\_s*e\_s*a\|p\_s*o\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|C\_s*\%(a\_s*l\_s*y\_s*c\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|h\_s*o\_s*r\_s*i\_s*p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\)\|鯉\_s*[魚城]\|二\_s*\%(索\|翻\_s*縛\)\|V\_s*e\_s*r\_s*t\_s*i\_s*c\_s*i\_s*l\_s*l\_s*a\_s*t\_s*a\_s*e\|O\_s*r\_s*c\_s*h\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|M\_s*i\_s*c\_s*r\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\|L\_s*\%([ruia]\|e\_s*i\_s*t\_s*n\_s*e\_s*r\_s*i\_s*a\_s*l\_s*e\_s*s\|A\_s*N\_s*ケ\_s*ー\_s*ブ\_s*ル\)\|海\_s*獺\|G\_s*\%(e\_s*n\_s*t\_s*i\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\|y\_s*\%(n\_s*a\_s*n\_s*d\_s*r\_s*a\_s*e\|m\_s*n\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*e\)\)\|関\_s*係\_s*デ\_s*ー\_s*タ\_s*ベ\_s*ー\_s*ス\|数\_s*理\_s*解\_s*析\_s*研\_s*究\_s*所\|京\_s*都\_s*大\_s*学\_s*数\_s*理\_s*解\_s*析\_s*研\_s*究\_s*所\|電\_s*気\_s*通\_s*信\_s*研\_s*究\_s*所\|東\_s*北\_s*大\_s*\%(学\_s*電\_s*気\_s*通\_s*信\_s*研\_s*究\_s*所\|通\_s*研\)\|限\_s*定\_s*命\_s*令\_s*セ\_s*ッ\_s*ト\_s*計\_s*算\_s*機\|範\_s*囲\|規\_s*則\|紅\_s*玉\|r\_s*u\_s*b\_s*y\_s*ス\_s*ク\_s*リ\_s*プ\_s*ト\|要\_s*求\|検\_s*索\|復\_s*帰\|返\_s*[事信]\|拒\_s*否\|反\_s*射\_s*鏡\|参\_s*\%(考\_s*文\_s*献\|照\_s*型\)\|機\_s*能\_s*回\_s*復\_s*訓\_s*練\|再\_s*帰\_s*的\|認\_s*識\|正\_s*規\_s*表\_s*現\|ア\_s*ー\_s*ル\)', \ 'S' : '\%([ソ似杣灌傍峙毓育具供備害底苑薗園儲酘貮埆妬埣讒譏詆誹謗濡外猝率喞熄仄息足促束測側燥偬雙帚艘箒諍滝嗽剏湊蔟赱鯵抓嫂贈樔屮壯愡葱澡瀧艚勦歃叟裝竈梍蚤甑搶笊窗薮奘崢槽筝菷弉輳爭掫竃譟箱髞嗾懆瘡孀窓踪匝噪遭艙爪糟莊倉淙曹匆怱繰宋漕簇槍躁鎗箏綜喪痩藻艸葬壮操掻掃奏蹌滄争草層創蒼叢僧走惣送叛乖抑諳某橇轌艝鱒邨巽噂拵忖蹲樽孫遜存尊損囎祚租酥措踈鼡阻詛礎疏疎其蘓齟胙副鼠噌反愬蔬沿祖塑姐訴爼逸組俎徂粗麁疽甦沮咀想そセ芹鬩旃錢刋箭羶潛筌孅阡栫舩氈纎濺舛甎銛簽湶茜槧巛吮癬籤倩痊孱擶贍纖仟磚燹揃綫喘涎荐饌槫濳沾籖筅蟾牋苫專翦亘鐫僣韆箋僊殱殲闡釧賎餞羨顫甅竰糎¢陝踐銓閃潺遷銑栴川剪煽譫僉瞻践跣栓疝詮銭穿戰僭繊腺泉嬋擅淺鮮専潜扇蘚船浅線撰宣洗煎戦千忙伜倅逼蝉旋屑鱈薛椄絏洩卩泄紲攝緤褻浙竊℃窃拙摂接節楔關磧蓆晰威裼績蹐迹蹠跖跡瘠藉勣籍淅晢夕鶺潟碩惜析関席隻甥韲嘶菁瀞晟貰擠睛筬淒婿撕牲齏情萋穽躋掣腥逝惺旌蜻整靖誓制晴攻瀬急勢世競畆丗糶畝堰脊せス鯣鋭坐座李既已昴術辷全滑皇脛臑裾双英村選優営寸漱雪濯薦啌勸啜勧芒薄煤賺鼈捩筋頗亮丞甫輔佑祐介助蘇裔陶曽乃曾即則淳漁篶鑾凉漫硯雀涼鱸鮓鮨遊椙犁耒犂篦隙尽末眇縋管菅廢頽廃窘救掬尠寡粭糘菫速純鈴炭角墨隅】【鄒數陬雛芻菘嵩崇趨樞∃∵¬⌒∀÷≠Δ≫⇒∴×∨≧∫∠∇±≪∧∞≒⇔∩∂∈∬∋∝枢錘帥粹騅陲捶忰悴邃瘁翆萃榱隹誰醉遂膵燧彗綏錐穂炊翠⊥H吹粋推水酔睡棲統耡総漉饐住空寿籔醋簾棄直鋤巣栖剥磨梳擂澂掏總剃好過拗澄吸喫据壽透シ埀謐蘂蕋蕊痺褥茵鵐蔀鷸鴫霑入蔵嶌縞嶋島凋澀沫澁渋縛暫屡荵凌鎬忍簧慕舖↓襪健認啝随從从.舌扱罔虐Θθ秕粃椎椣卓尿貎肉臠猪榻黙蜆楙誠茂成繁重惻鋪陣頻閾櫁樒鹽汐潮瑟蛭疾櫛隲隰嫉蟋漆躾膝失室沒鎭沈滴雫賤鎮靜顰尓爾聢確併◇◆鹿貭叱征質卯滋撓科品鬼鍜錏錣痼凝而拉設萎栞襞吝咳爲什導怪汁験記徴著印○〇』銀城代『報調蝨濕湿七僕楚笞霜臀退斥尻冩寫舍者卸柘炙暹諜喋煮這謝鯱奢赦捨瀉妁鑠嚼抉蹟勺決釋皙爍昔斫蜥刳芍酌爵折癪笏赤灼綽石尺借赭写鷓積舎車斜釈社洙麈殳蛛娶株娵諏鬚侏繻銖卒槭蹙俶倏菽叔蓿粥戚肅淑夙粛縮取殊趣珠恤卆蟀出洲泅楸綉溲遒酬鷲駲楫緝嗅葺穐蹤繍螽讐甃萩楢逎讎鰍售岫收驟舅囚姑蓚鞦脩輯醜習羞酋聚舟秀祝袖啾拾蒐収執衆愁襲就臭蹴週終褶州宗椶棕守朱撞種修周手首狩須儁惷悛雋皴墫蕣順蠢舜旬竣峻駿逡筍春瞬俊蓁畛矧縉蔘鷏齔嗔忱譛袗譖娠疹哂脣簪怎晉鷆臻甄槙寢岑瀋箴軫榛秦襯診鉐津駸讖紳斟唇針呻蜃賑芯瞋振殿侵辛薪晨辰震宸森眞愼伸慎寝晋身進深審親臣鍼心宍信神薯墅杵岨且藷黍苜渚砠狙嶼處胥蜍苴曙背塩緒枌雎蔗庶処所書暑奬簫浹橸舂艢廂陞炒鍬庠獎梢璋將厰邵摺淞訟樅筱燮橡餉愴韶誚峭甞姓敞聲懾稍嘗腫政顳枩慯殤秤湫礁井星廠剿妝霎蛸劭觴愀升鬆樵鷦嶂醤従慫逍倡竦爿墻牆薔笙樟装肖菖≦<湘誦聳檣稱声裳)(蒋蕉嘯慴精霄鈔粧彰鏘悚蕭悄瀟哨焦憔匠鍾償瘴漿頌詔沼妾請衝唱薑庄渉奨娼床牀椒抄荘翔鉦宵傷踵銷召賞猩症昭燒猖昌少尚松晶憧紹捷象承證正笑将称焼照勝招章詳消鐘証硝掌省商昇昃禝稷寔矚謖餝稙軾嗇屬穡拭属燭贖色飾囑嘱織蝕式喰蜀殖諸初埴植食職笶姉徙誣氏思染飼祗時弑滲梔摯肢詩咨祉泗輜厶屍強貲若至師舐咫只紙施誌呰示締厮啻次賜熾趾駟漬笥贄此司如沚尸髭肆閉祀鷙諡枝篩豕滓巵始妛及弛絲浸閇斯翅緊帋揣伺為糸駛痣矢死敷恃茨旨沁嘴蚩試釶俟瓷觜廝緇祠梓址詞之使獅志歯紫雌姿柿諮占絞視嗣識子四恣阯侈幟卮凍史領竢市巳祇齒資謚耆覗脂芝痴粢孜錙耜齎自屎茲岐嗤砥仔しサ杓寤雨鮫清鞘莢騷觸触鰆椹爽騒澤沢濬掠新攫杷渫浚更士桾申白素讚戔蒜驂芟鑚爨汕潸斬餐嶄纉攅慘粲蠶跚衫彡杉秋桑…≡簒纂鯢燦珊繖棧刪卅參鑽蚕算傘3贊▼▽3参賛O散惨産酸嘸摩遉樣彷碍妨様山漣蔑貶垂鮭叫仙寞鏥寥皺淋鯆生虱鯖捌偖扨偵宿禎貞定哘誘蝎蠍授皿祥桟匙簓障囁私篠支捧笹逧迫讃鐸蛹宛真尖碕嵜前崎魁峺遮哢囀候侍核実俚説了暁達逹哲諭慧敏叡聰訓知郷恵智聡悟理杆里小棹竿紮刹箚扎皐撮搜寒捜相主盛觚柧盞盃杯榮栄倒肴魚阪界堺境酒泝逆賢坂榊猿麾挟鷺拶撒擦颯先数察薩刷札晒霽濟纔釵綵切崔砦顋樶凄靫洒衰寨悽犲碎腮哉摧灑責偲殺縡淬倖豺呵苛幸猜塞蔡栽儕采齊財臍截載孥宰済齋犀際災柴賽菜採砕妻債斎斉祭催才細鰓裁歳最埼捉縒筴簀柞辟窄咋册齪筰槊酢嘖朔柵遡溯鑿索搾昨炸冊策錯櫻桜注曝瑳冴磋搓槎刺覺莎作挿嗟紗嵯覚做削冱寂叉荒茶渣左再早避咲査嵳褪挫佐然唆蹉鎖裂醒瑣嗄螫娑砂割蓑狭狹扠些差梭射銹沙下冷捺簑插点止提柤錆乍去裟詐さ√錫す/仕指製西 ┓┐〆□■Шш上#♯щЩ添∪日⊂⊆⊃⊇文静★*☆標嗜青三聖土彩▲△悉署〜∽’‘┏┌集\探§″性セサSシソスΣсСσ秒S]\|ッ\_s*[ソセスシサ]\|ッ\_s*[ソセスシサ]\|っ\_s*[そせすしさ]\|遽\_s*走\|蕎\_s*麦\|内\_s*障\|彼\_s*杵\|諷\_s*歌\|幾\_s*許\|錚\_s*[錚々]\|十\_s*\%(路\|露\_s*盤\)\|冬\_s*青\|微\_s*風\|虚\_s*言\|宙\_s*組\|夫\_s*[夫々]\|返\_s*田\|傴\_s*僂\|U\_s*m\_s*b\_s*e\_s*l\_s*l\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|台\_s*詞\|c\_s*e\_s*n\_s*t\_s*i\|妹\_s*尾\|嘲\_s*笑\|海\_s*象\|蒸\_s*[籠篭]\|魑\_s*魅\|凡\_s*て\|典\_s*侍\|季\_s*雄\|天\_s*[皇蛾]\|蘿\_s*蔔\|V\_s*i\_s*o\_s*l\_s*a\_s*l\_s*e\_s*s\|N\_s*y\_s*m\_s*p\_s*h\_s*a\_s*e\_s*\%(a\_s*c\_s*e\_s*a\_s*e\|o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|夊\_s*繞\|隧\_s*道\|C\_s*\%(型\|言\_s*語\)\|老\_s*舗\|望\_s*潮\|飛\_s*沫\|L\_s*a\_s*\%(m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|b\_s*i\_s*a\_s*t\_s*a\_s*e\)\|埋\_s*葬\_s*虫\|幣\_s*原\|桎\_s*梏\|柳\_s*葉\_s*魚\|衣\_s*魚\|蠹\_s*魚\|汚\_s*点\|惠\_s*雄\|舗\_s*石\|磯\_s*城\|W\_s*i\_s*n\_s*t\_s*e\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|倭\_s*文\|閑\_s*[谷か]\|云\_s*[々云]\|明\_s*\%(々\_s*後\_s*日\|明\_s*後\_s*日\)\|7\_s*月\|7\_s*月\|4\_s*月\|4\_s*[分月]\|羊\_s*[齒歯]\|I\_s*\%(l\_s*l\_s*i\_s*c\_s*i\_s*a\_s*c\_s*e\_s*a\_s*e\|s\_s*o\_s*p\_s*y\_s*r\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\)\|不\_s*[忍知]\|後\_s*\%([輪口志目]\|込\_s*み\)\|軍\_s*鶏\|香\_s*菜\|吃\_s*逆\|蝦\_s*蛄\|輸\_s*[出贏]\|隼\_s*[朗郎]\|笋\_s*[干羹]\|縦\_s*容\|睫\_s*毛\|翡\_s*翠\|東\_s*\%(雲\|海\_s*林\)\|Z\_s*i\_s*n\_s*g\_s*i\_s*b\_s*e\_s*r\_s*a\_s*l\_s*e\_s*s\|続\_s*\%(日\_s*本\_s*\%(紀\|後\_s*紀\)\|後\_s*撰\_s*和\_s*歌\_s*集\)\|髑\_s*髏\|匣\_s*鉢\|復\_s*習\|百\_s*日\_s*紅\|胡\_s*孫\_s*眼\|←\_s*→\|霰\_s*弾\|弥\_s*生\|懺\_s*\%(法\|悔\_s*懺\_s*悔\)\|流\_s*[離石]\|蠑\_s*螺\|覇\_s*王\_s*樹\|C\_s*\%([se]\|y\_s*c\_s*a\_s*d\_s*\%(i\_s*d\_s*a\_s*e\|o\_s*\%(p\_s*s\_s*i\_s*d\_s*a\|f\_s*i\_s*l\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\)\|h\_s*l\_s*o\_s*r\_s*a\_s*n\_s*t\_s*h\_s*a\_s*c\_s*e\_s*a\_s*e\|言\_s*語\|D\_s*店\|型\_s*肝\_s*炎\|a\_s*\%(s\_s*s\_s*y\_s*t\_s*h\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|c\_s*t\_s*a\_s*l\_s*e\_s*s\)\)\|竹\_s*[篦刀筒]\|大\_s*角\_s*豆\|防\_s*人\|曩\_s*に\|向\_s*坂\|一\_s*昨\_s*\%(々\_s*[年日]\|昨\_s*[年日]\)\|實\_s*藤\|甘\_s*藷\|五\_s*月\|月\_s*代\|匂\_s*坂\|税\_s*所\|雑\_s*賀\|骰\_s*子\|P\_s*\%(a\_s*r\_s*i\_s*e\_s*t\_s*a\_s*l\_s*e\_s*s\|t\_s*e\_s*r\_s*i\_s*d\_s*o\_s*s\_s*p\_s*e\_s*r\_s*m\_s*\%(a\_s*l\_s*e\_s*s\|i\_s*d\_s*a\_s*e\)\|r\_s*i\_s*m\_s*u\_s*l\_s*a\_s*l\_s*e\_s*s\)\|A\_s*\%(p\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*a\_s*l\_s*e\_s*s\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\)\|s\_s*f\_s*o\_s*r\_s*z\_s*a\_s*n\_s*d\_s*o\|瑞\_s*[典西]\|B\_s*\%(r\|シ\_s*ェ\_s*ル\)\|拡\_s*張\_s*子\|s\_s*u\_s*n\|部\_s*分\|置\_s*換\|ア\_s*ン\_s*チ\_s*モ\_s*ン\|構\_s*造\_s*体\|M\_s*\%(e\_s*r\_s*c\_s*u\_s*r\_s*y\|u\_s*s\_s*a\_s*l\_s*e\_s*s\|a\_s*r\_s*q\_s*u\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\)\|D\_s*o\_s*n\_s*a\_s*t\_s*i\_s*o\_s*n\_s* \_s*A\_s*l\_s*p\_s*h\_s*o\_s*n\_s*s\_s*e\_s* \_s*F\_s*r\_s*a\_s*n\_s*c\_s*o\_s*i\_s*s\_s* \_s*d\_s*e\_s* \_s*S\_s*a\_s*d\_s*e\|加\_s*\%(之\|虐\_s*\%(趣\_s*味\|淫\_s*乱\_s*症\)\)\|T\_s*\%(e\_s*t\_s*r\_s*a\_s*c\_s*e\_s*n\_s*t\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\|i\_s*n\|h\_s*e\_s* \_s*S\_s*i\_s*m\_s*p\_s*l\_s*e\_s* \_s*A\_s*P\_s*I\_s* \_s*f\_s*o\_s*r\_s* \_s*e\_s*v\_s*e\_s*n\_s*t\_s*-\_s*b\_s*a\_s*s\_s*e\_s*d\_s* \_s*X\_s*M\_s*L\_s* \_s*p\_s*a\_s*r\_s*s\_s*i\_s*n\_s*g\)\|珪\_s*素\|ケ\_s*イ\_s*素\|計\_s*測\_s*自\_s*動\_s*制\_s*御\_s*学\_s*会\|ネ\_s*ッ\_s*ト\_s*サ\_s*ー\_s*ビ\_s*ス\|ザ\_s*\%(ッ\_s*ク\|ク\_s*セ\_s*ン\|ビ\_s*ー\_s*ネ\|ウ\_s*バ\_s*ー\|ワ\_s*ー\_s*ク\_s*ラ\_s*ウ\_s*ト\|ム\_s*ザ\|ル\_s*ツ\|イ\_s*\%([ルン]\|ラ\_s*ー\|デ\_s*ル\)\|ー\_s*\%([ルラ]\|メ\_s*ン\)\)\|意\_s*味\|ゼ\_s*ミ\|ナ\_s*ト\_s*リ\_s*ウ\_s*ム\|ゾ\_s*\%(ル\|ン\_s*デ\|ー\_s*\%(ム\|リ\_s*ン\_s*ゲ\_s*ン\)\|フ\_s*ィ\_s*ー\)\|ジ\_s*\%(ム\|ー\_s*\%([グク]\|メ\_s*ン\_s*[スズ]\)\|グ\_s*ム\_s*ン\_s*ト\|ン\_s*\%(メ\_s*ル\|グ\_s*シ\_s*ュ\_s*ピ\_s*ー\_s*ル\|テ\_s*ー\_s*ゼ\)\)\|エ\_s*ス\|硫\_s*黄\)', \ 'T' : '\%([ト乕囚寅虎瀞侶靹舮供纜燭艫朋倶鞆讐讎輩伴共友巴惇沌團団暾丼飩遯燉遁豚禽鷄酉砦塞擒俘虜豐恍惚枢乏塒迚科咎篷笘攴苫鶏伽唱稱鄰隣朿棘刺整鎖處処所床享鴟鵄扉鳶嫁訥刻秋穐晨鴇鬨斎頓幄幃帷柮杤栃閼軣轟屆届咄吶凸駿祀世暁壽繁稔寿豊歳俊利敏年牘悳犢黷慝匿督徳涜∃得特儻釖盜沓納道宕嶝涛萄嶋鬧縢帑塘搨棠樋籘閙梼罩叨夲盪酘兜溏朸稻鞜荅鞳桶黨綯迯鬥擣礑櫂剳淌纛諮棹陦檮磴蘯橦抖榻嶌竇档潼吋鐙亠篤滕讀逗螳蟷稲■鼕幢滔掏當峠読饕疼淘濤籐董悼棟搭痘套=豆燈桃韜統遠騰橈冬討祷骰藤灯島橙凍刀陶糖謄唐投答等桐鍍研鎔外採盗杜荼覩人摂脱屠賭蠧圖秉觧堵兔礪疾執蚪閇熔登畄砺解睹十菟砿溶獲渡留融泊蠹穫飛磨梳妬説録冨取問途莵汢戸図止翔兎跿富塗砥肚とテ瑛晃輝衒寺忝壥靦巓霑殄、鷏躔諂廛碾沾,鷆腆囀槙轉‥:.輾填甜奠顛纒癲恬殿纏展覘篆添梃輦咥垤餮屮銕鐡耋姪跌輟迭逖荻俶廸狄鏑糴笛覿擲迪滴轍的哲敵撤剔徹鐵鉄楴嚏幀鵜羝睇汀棣騁酲柢叮嚔酊掟遉觝釘詆渟眤碵弟碇剃蹄邸締梯悌訂程底偵遞廷逓牴抵呈艇鄭涕啼庭定低照弖てツ模幹劈聾辛列貫面汁液露冷錘舶紡系艷艶寉鉉絃橡劒釼剱劔劍剣弦蔓敦鶴幣兵鉗噤鶫償桓恆典恒常夙勉務努勤拙拐抓倹嬬撮詳審爪褄妻募角晦瞑螺円呟礫具粒辻辟罪捉把閊捕寮曹首阜丘元司官柄仕掴遣攫搏疲使窄莟蕾局壷壺坪綱繋壌蝪培霾戊己伝傳鐔翼翅鍔燕唾續約皷鼓続葛綴番栂槌縋弊費序潰終墜遂鎚椎追做殲捏殱繕傍旁創造作熟机佃蹲拒欟坏鴾槻月障砲裹躑榴謹慎愼恙筒包堤痛衝尾突尽支攣就次付椄漬點津附浸繼撞憑盡継嗣搗詰積接通告連つチ吃釁巷岐衢粽粡因杠契鵆児交腟帙膣些蟄N窒斉秩父捷矗筑築逐盟税力親邇誓迩近苣尖縮鏤塵趁碪珎鎭亭抻朕狆跛闖鴆砧椿枕鎮陳珍沈賃杖找摘茶嫡着豬儲杼潴紵竚瀦躇箸墸苧緒樗楮⊥躅陟猪捗稙飭敕勅著佻髫鼎迢膓萇脹樢吊漲趙鵈輙雕鬯聽廰窕楪挺輒齠悵塚疔糶澂廳蔦晁昶甼誂微凋帖掉停諜跳眺貼鐇澄提喋頭銚ー蝶暢帳丁牒重逃鳥張弔懲肇徴嘲兆釣聴彫潮町頂調貂庁腸超挑朝丶黜綢儔廚丑※惆肘籌寵鍮冢晝蟲胄冑紬稠酎紐鑄冲沖偸宙虫]}{[厨誅鋳紂仲註駐柱注衷籀昼抽中治池岻恥散躓置耻血値夊輊遲笞千稚黹馳家蜘禿穉地魑黐乳智癡致薙褫茅踟緻痴夂知遅ちタ便党屯架椽榱樽弛蕩膤鰔鱈盥戯俵袂保躊為樣様爲袒慱彖壇覃膽疸亶靼憺餤緞憚擔褝啗檀綻攤槫站酖殫毯猯潭鄲襌賺椴摶湍湯澹†‡蛋耽W旦痰啖坦眈反C歎嘆誕胆箪譚担淡鍛短單貪探単覊栲妙戲訊攜携尋訪比畴疇類民髱樂娯恃頼愉楽喩例譬滾激斃仆垰嵶殕倒嫋旅貍狸賛敲称讃蹈踏祟湛鬪斗戰闘戦彳佇叩疂疉疊畳箍鏨違互耕畊畉掌店棚到炭辿撻闥斬燵韃巽辰+援佐扶相輔佑弼助襷髻椨誑胤種塔龍竜糺糜爛漂維伊是理禎直貞惟忠匡徒唯只窘嗜慥確胝鱆鮹凧蛸誥嶽哮茸英豪威毅猛笋筍酣雄健丈斌武靈彈珪承賚珠霊魂卵偶適環弾球玉丹謀莨束縱|盾鬣奉楯蓼縦竪城質達館忽橘舘瀑薪滝瀧峪溪渓谿谷任尭宇亨臣集昂楼小剛恭岳洪喬嵩尚孚崇尊敬孝隆貴鷹竹篁簟寶財高寳宝但柝拆倬鈬濯魄擢擇柘戳啅鐸澤綰畜企啄磔匠巧択沢逞琢蓄度宅託卓謫托拓紿軆隶殆黛帶替靆抬體躰滯碓平駘擡逮腿当怠玳諦岱鯛對颱袋戴堆態頽苔滞待代帝貸隊褪胎帯体泰退大対矯食埀断炊闌佗長強焚岔給蛇夛足賜揉閉立發躱詫太経貯起薫耐溜絶発手它朶多他勃詑垂誰撓斷裁咤点汰建堪澑田截逹侘經たЦц〜天時×型火土→都吐東上噸瓲│┃台表第木スジ∴Θθザ正ツ¨転透▲△▼▽トチ・…試端タTТ├┸┳┨┫┝┬〒┷τ┯┤┣┻Τテ┥┰т┠┴T]\|ッ\_s*[トテツチタ]\|ッ\_s*[トテツチタ]\|っ\_s*[とてつちた]\|門\_s*渡\_s*り\|薯\_s*蕷\|船\_s*尾\_s*座\|公\_s*[暁明]\|倫\_s*[子明]\|邑\_s*中\|蜻\_s*蛉\|A\_s*c\_s*o\_s*n\_s*i\_s*t\_s*u\_s*m\|蜷\_s*局\|跡\_s*[絶切]\|蜥\_s*蜴\|舎\_s*人\|馴\_s*鹿\|野\_s*老\|瓊\_s*脂\|永\_s*[遠久]\|宿\_s*直\|朱\_s*鷺\|左\_s*見\_s*右\_s*見\|朽\_s*木\|H\_s*y\_s*d\_s*r\_s*o\_s*c\_s*h\_s*a\_s*r\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|独\_s*鈷\|季\_s*[衣道栄]\|聡\_s*[明徳]\|祈\_s*年\_s*祭\|淑\_s*[夫子]\|洞\_s*爺\|光\_s*男\|晧\_s*史\|紅\_s*娘\|瓢\_s*虫\|F\_s*e\|I\_s*r\_s*o\_s*n\|劇\_s*村\|滌\_s*除\|2\_s*×\_s*4\|石\_s*\%(蕗\|竜\_s*子\)\|心\_s*[太算]\|自\_s*\%(摸\|模\_s*和\)\|氷\_s*柱\|倩\_s*々\|黴\_s*雨\|入\_s*梅\|梅\_s*雨\|再\_s*見\|備\_s*に\|悉\_s*に\|旋\_s*[風毛]\|B\_s*a\_s*l\_s*a\_s*n\_s*o\_s*p\_s*h\_s*o\_s*r\_s*a\_s*l\_s*e\_s*s\|1\_s*\%(日\|0\_s*日\)\|1\_s*\%(日\|0\_s*日\)\|朔\_s*日\|美\_s*人\_s*局\|E\_s*\%(u\_s*p\_s*h\_s*o\_s*r\_s*b\_s*i\_s*a\_s*l\_s*e\_s*s\|r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|字\_s*\%(牌\|一\_s*色\)\|少\_s*と\|義\_s*父\|主\_s*[殿税]\|周\_s*夫\|睦\_s*子\|渠\_s*睦\_s*子\|萵\_s*苣\|身\_s*柱\|似\_s*指\|清\_s*\%(老\_s*頭\|一\_s*色\)\|青\_s*\%([幇島]\|梗\_s*菜\|椒\_s*肉\_s*絲\)\|全\_s*帯\|昌\_s*洙\|江\_s*蘇\|J\_s*i\_s*a\_s*n\_s*g\_s*s\_s*u\|焼\_s*豚\|叉\_s*焼\|察\_s*哈\_s*爾\|餃\_s*子\|雑\_s*砕\|炒\_s*[麺飯]\|北\_s*谷\|甘\_s*露\_s*子\|錯\_s*和\|総\_s*角\|一\_s*[日寸]\|植\_s*字\|金\_s*魚\_s*蝨\|魚\_s*[屋蝨]\|草\_s*石\_s*蚕\|春\_s*\%(麗\|宮\_s*坊\)\|九\_s*\%(十\_s*九\|連\_s*宝\_s*[燈灯]\)\|揺\_s*蕩\|容\_s*易\|白\_s*痴\|猶\_s*豫\|蜑\_s*民\|段\_s*銭\|蒲\_s*公\_s*英\|騨\_s*州\|M\_s*\%(e\_s*n\_s*i\_s*s\_s*p\_s*e\_s*r\_s*m\_s*a\_s*c\_s*e\_s*a\_s*e\|o\_s*n\_s*o\_s*\%(p\_s*e\_s*t\_s*a\_s*l\_s*a\_s*e\|c\_s*\%(h\_s*l\_s*a\_s*m\_s*y\_s*d\_s*e\_s*a\_s*e\|o\_s*t\_s*y\_s*l\_s*e\_s*d\_s*o\_s*n\_s*e\_s*a\_s*e\)\)\)\|仮\_s*令\|打\_s*[擲坐]\|七\_s*\%(夕\|対\_s*子\)\|活\_s*計\|方\_s*便\|無\_s*料\|黄\_s*\%(昏\|蜀\_s*葵\)\|胼\_s*胝\|章\_s*魚\|P\_s*\%(\.\_s*S\_s*\.\|o\_s*l\_s*y\_s*\%(g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|c\_s*a\_s*r\_s*p\_s*i\_s*c\_s*a\_s*e\)\|a\_s*n\_s*d\_s*a\_s*n\_s*a\_s*l\_s*e\_s*s\)\|壮\_s*聡\|煙\_s*草\|殺\_s*陣\|賢\_s*明\|性\_s*質\|怱\_s*ち\|亢\_s*ぶ\|堂\_s*子\|学\_s*聡\|能\_s*[文之]\|内\_s*匠\|松\_s*明\|奈\_s*子\|幇\_s*間\|切\_s*符\|デ\_s*ィ\_s*ス\|3\_s*r\_s*d\|閾\_s*値\|ソ\_s*\%(ー\_s*[トンプ]\|ロ\_s*ー\)\|ヘ\_s*ー\_s*グ\|ゼ\_s*[インムア]\|セ\_s*\%(オ\|ル\_s*マ\|ロ\_s*\%(ン\|ニ\_s*ア\_s*ス\)\|ラ\_s*ピ\_s*\%(ー\|ス\_s*ト\)\)\|シ\_s*\%(ン\|ッ\_s*ク\|ス\_s*ル\|ア\_s*タ\_s*ー\|ソ\_s*ー\_s*ラ\_s*ス\|オ\_s*ド\_s*ア\|ー\_s*[フタ]\)\|サ\_s*\%([イム]\|ミ\_s*ン\_s*グ\|ウ\_s*ザ\_s*ン\_s*ド\|ラ\_s*ブ\_s*レ\_s*ッ\_s*ド\|ー\_s*\%([ドモ]\|テ\_s*ィ\|ス\_s*ト\_s*ン\|ズ\_s*デ\_s*[イーィ]\|マ\_s*ル\)\|ッ\_s*チ\_s*ャ\_s*ー\|ン\_s*\%(ク\|ダ\_s*ー\|キ\_s*ュ\_s*ー\)\|リ\_s*ド\_s*マ\_s*イ\_s*ド\)\|ポ\_s*リ\_s*ペ\_s*プ\_s*チ\_s*ド\|三\_s*\%(和\_s*土\|連\_s*文\_s*字\)\|\\\_s*T\_s*e\_s*X\|教\_s*科\_s*書\|文\_s*字\_s*列\|t\_s*e\_s*\%(r\_s*a\|m\_s*p\_s*o\_s*r\_s*a\_s*r\_s*y\)\|用\_s*語\|電\_s*\%([視話]\|気\_s*通\_s*信\_s*研\_s*究\_s*所\)\)', \ 'U' : '\%([ウ孳蛤礼敬恭洞鱗愛潤騒煩粳漆閏患慯悄騷恙愁呻楳梅嫐釉噂耘吽褞曇黄紜云繧慍薀蘊暈運錙怏麗羨卦憾怨恨占卜末嬉心裏浦糶瓜汝己畴畆畦疇畝踈疎宜諾奪姥腕莵兔驢鑿穿嗽魘唸促令項頷訴獺鷽嘯嘘蠕蠢動覘窺伺海台萼唱詠謌唄宴讌転詩謠謡謳疑歌葎鯏鴬鶯ヱゑゐヰ鶉疼堆踞蹲渦舂臼碓羅薄食筌槽朮肯凵魚巧茨廐廏厩鰻午甘秣孫餞馬旨冩遷寫蔚暎噐器移慈俯映写現虚美笂靭靱靫空鰾萍初蛆雲氏上後喪艮丑潮牛裡鬱中欝袿梁家内禹憂埋挧撃雨打宇得植請鵜熟績嫗攴有夘受茹泛生討羽胡右紆傴盂饂承菟飢烏攵于射倦芋賣卯享搏失齲撲兎売産膿迂浮う¨↑∪UυウуУΥU]\|武\_s*漢\|狼\_s*狽\|夏\_s*枯\_s*草\|蠎\_s*蛇\|蟒\_s*蛇\|譫\_s*言\|琅\_s*珠\|温\_s*[麺気州]\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|自\_s*惚\|采\_s*女\|乳\_s*母\|姨\_s*捨\_s*山\|独\_s*活\|優\_s*\%(婆\_s*[塞夷]\|曇\_s*華\)\|合\_s*格\|親\_s*族\|斥\_s*候\|泡\_s*沫\|楽\_s*官\|雅\_s*楽\_s*[頭寮]\|干\_s*莉\|維\_s*納\|太\_s*秦\|護\_s*田\_s*鳥\_s*尾\|淡\_s*\%(青\|口\_s*醤\_s*油\)\|五\_s*\%(加\|月\_s*蝿\)\|稲\_s*魂\|誓\_s*約\|石\_s*\%(女\|斑\_s*魚\)\|不\_s*生\_s*女\|味\_s*酒\|苜\_s*蓿\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|伝\_s*染\|呆\_s*気\_s*者\|茴\_s*香\|外\_s*郎\|餓\_s*\%(死\|え\_s*死\_s*に\)\|裲\_s*襠\|団\_s*扇\|イ\_s*ギ\_s*リ\_s*ス\|オ\_s*マ\_s*ル\|識\_s*別\_s*不\_s*能\|共\_s*\%(用\_s*体\|有\_s*体\)\|ア\_s*\%([スン]\|グ\_s*リ\_s*ー\|ー\_s*\%(シ\_s*ュ\_s*ラ\|ジ\_s*ェ\_s*ン\_s*ト\|バ\_s*ン\)\|ル\_s*テ\_s*ィ\_s*メ\_s*ッ\_s*ト\|ポ\_s*ン\|ッ\_s*\%(プ\|パ\_s*ー\|シ\_s*ャ\_s*ー\)\)\|単\_s*\%(位\|一\_s*化\)\|ユ\_s*\%([タニー]\|ト\_s*\%(リ\_s*ロ\|レ\_s*ヒ\_s*ト\)\|リ\_s*\%(ア\|シ\_s*ー\_s*ズ\)\|プ\_s*シ\_s*ロ\_s*ン\|ネ\_s*ス\_s*コ\|ナ\_s*\%(カ\_s*イ\_s*ト\|イ\_s*テ\_s*ッ\_s*ド\)\|ビ\_s*キ\_s*\%(タ\_s*ス\|ノ\_s*ン\)\)\)', \ 'V' : '\%([:├値V⊥版Вв↓∨ヴV]\|ッ\_s*ウ\_s*゙\|ッ\_s*ヴ\|っ\_s*ヴ\|ウ\_s*゙\|v\_s*e\_s*r\_s*s\_s*u\_s*s\|v\_s*s\_s*.\|チ\_s*ェ\_s*ロ\|ヰ\_s*タ\| \_s*ビ\_s*ク\_s*ト\_s*ー\_s*ル\|視\_s*覚\|仮\_s*想\|ニ\_s*ス\|変\_s*数\|恒\_s*真\|ワ\_s*\%(デ\_s*ィ\_s*ム\|ギ\_s*ナ\|ニ\_s*ス\|セ\_s*リ\_s*ン\|ク\_s*チ\_s*ン\|ル\_s*キ\_s*ュ\_s*ー\_s*レ\|レ\_s*リ\_s*ー\|ー\_s*ニ\_s*ャ\)\|語\_s*彙\|ボ\_s*\%(ス\_s*ト\_s*ー\_s*ク\|ン\_s*ゴ\_s*レ\|ル\_s*\%([ガボトタ]\|テ\_s*\%(ッ\_s*ク\_s*ス\|ー\_s*[ジル]\)\)\|リ\_s*ュ\_s*ー\_s*ム\|ラ\_s*ン\_s*\%(チ\|テ\_s*ィ\_s*ア\|タ\_s*リ\_s*ー\)\|レ\_s*ー\|コ\_s*ー\_s*ダ\|ー\_s*\%([ントグ]\|ル\_s*ト\|ド\_s*ビ\_s*\%(ル\|リ\_s*ア\_s*ン\)\|パ\_s*ル\|ダ\_s*フ\_s*ォ\_s*ン\|カ\_s*\%(ル\|リ\_s*ス\_s*ト\)\)\|キ\_s*ャ\_s*ブ\_s*ラ\_s*リ\|イ\_s*\%([ドス]\|ジ\_s*ャ\_s*ー\|シ\_s*ン\_s*グ\)\)\|ヘ\_s*ッ\_s*ト\|冗\_s*長\_s*な\|垂\_s*直\|フ\_s*\%(ァ\_s*\%(ン\|ド\_s*ー\_s*ツ\)\|ォ\_s*\%(ン\|ル\_s*\%(ク\|カ\_s*ー\)\)\|ェ\_s*ル\_s*メ\_s*ー\_s*ル\)\|ウ\_s*\%(ラ\_s*\%(デ\_s*ィ\_s*ミ\_s*ー\_s*ル\|ジ\_s*\%(ミ\_s*ー\_s*ル\|ー\_s*ミ\_s*ル\|オ\_s*ス\_s*ト\_s*\%(ク\|ッ\_s*ク\)\)\)\|ィ\_s*\%(ン\_s*ナ\|ル\_s*ス\)\|ォ\_s*ッ\_s*カ\|イ\_s*\%(ル\_s*ス\|ン\_s*ナ\_s*ー\)\|ェ\_s*\%(ル\_s*ギ\_s*リ\_s*ウ\_s*ス\|ヌ\_s*ス\)\)\|ビ\_s*\%([アラブバスザ]\|ガ\_s*ー\|ハ\_s*ー\_s*ラ\|タ\_s*ミ\_s*ン\|レ\_s*\%(ッ\_s*ジ\|ロ\_s*イ\)\|ビ\_s*\%(ア\_s*ン\|ッ\_s*ド\)\|ッ\_s*\%(ク\|キ\_s*ー\)\|セ\_s*ン\_s*テ\|ク\_s*\%(タ\_s*ー\|ト\_s*\%(ル\|リ\_s*[ーア]\)\)\|シ\_s*\%(ャ\_s*ス\|ソ\_s*ワ\_s*ー\_s*ズ\)\|ン\_s*\%([チス]\|ソ\_s*ン\|テ\_s*ー\_s*ジ\|セ\_s*ン\_s*ト\)\|ネ\_s*\%(ガ\_s*ー\|グ\_s*レ\_s*ッ\_s*ト\)\|ニ\_s*\%([ール]\|リ\_s*デ\_s*ン\)\|ュ\_s*ー\|エ\_s*ン\_s*チ\_s*ャ\_s*ン\|ジ\_s*\%(ャ\|ッ\_s*ト\|タ\_s*ー\|ョ\_s*\%(ン\|ナ\_s*リ\_s*ー\)\|ュ\_s*ア\_s*\%(ル\|ラ\_s*イ\_s*\%(ズ\|ゼ\_s*ー\_s*シ\_s*ョ\_s*ン\)\)\)\|ダ\_s*ル\|デ\_s*オ\|ル\_s*\%(ゴ\|ヌ\_s*ー\_s*ブ\)\|オ\_s*ラ\|リ\_s*ジ\_s*ア\_s*ン\|ィ\_s*ー\_s*ナ\_s*ス\|ー\_s*\%(ボ\|ル\_s*ス\|ク\_s*ル\|ナ\_s*ス\)\)\|ベ\_s*\%([ガラン]\|ト\_s*ナ\_s*ム\|イ\_s*ダ\_s*ー\|ー\_s*\%(ル\|ダ\_s*ー\)\|テ\_s*ラ\_s*ン\|ッ\_s*セ\_s*ル\|ス\_s*\%([トタパ]\|ビ\_s*オ\)\|ク\_s*\%(タ\|ト\_s*ル\)\|ジ\_s*タ\_s*\%(ブ\_s*ル\|リ\_s*ア\_s*ン\)\|リ\_s*\%([ィー]\|フ\_s*ァ\_s*イ\|サ\_s*イ\_s*ン\)\|ロ\_s*\%(ナ\|シ\_s*テ\_s*ィ\|ー\_s*ナ\|ニ\_s*[カク]\)\|ル\_s*\%(デ\|ベ\_s*ッ\_s*ト\|ダ\_s*ン\|レ\_s*ー\_s*ヌ\|サ\_s*\%(ー\_s*チ\|イ\_s*ユ\)\|モ\_s*ッ\_s*ト\)\|ノ\_s*ム\|ニ\_s*[スヤア]\|ネ\_s*\%(シ\_s*ャ\_s*ン\|ツ\_s*ィ\_s*ア\|チ\_s*ア\|ズ\_s*エ\_s*ラ\)\)\|バ\_s*\%([ルン]\|イ\_s*\%([アブンオ]\|パ\_s*ー\|タ\_s*\%(ル\|リ\_s*テ\_s*ィ\)\|キ\_s*ン\_s*グ\|ザ\_s*ー\|シ\_s*ャ\)\|ッ\_s*ト\|チ\_s*カ\_s*ン\|ギ\_s*ナ\|ガ\_s*ボ\_s*ン\_s*ド\|ラ\_s*\%(ナ\_s*シ\|エ\_s*テ\_s*ィ\)\|サ\_s*ロ\|ス\_s*\%(コ\|ケ\_s*ス\)\|カ\_s*ン\_s*ス\|ケ\_s*ー\_s*シ\_s*ョ\_s*ン\|キ\_s*ュ\_s*ー\_s*ム\|ウ\_s*チ\_s*ャ\_s*ー\|リ\_s*\%(ン\|エ\_s*ー\_s*シ\_s*ョ\_s*ン\|ュ\_s*ー\|ア\_s*\%(ブ\_s*ル\|ン\_s*ト\)\|ッ\_s*ド\|デ\_s*ー\_s*シ\_s*ョ\_s*ン\)\|ヌ\_s*ア\_s*ツ\|ニ\_s*\%(ラ\|ー\_s*ユ\)\|レ\_s*\%([ラー]\|ロ\_s*ン\|リ\_s*ー\|ン\_s*\%(シ\_s*ア\|チ\_s*ノ\|タ\_s*イ\_s*ン\)\)\|ー\_s*\%([ゴグ]\|チ\_s*ャ\_s*ル\|リ\_s*ト\_s*ゥ\_s*ー\_s*ド\|バ\_s*ル\|ボ\_s*ス\|ベ\_s*ナ\|テ\_s*ィ\_s*カ\_s*ル\|サ\_s*ス\|ジ\_s*\%(ン\|ニ\_s*ア\|ョ\_s*ン\)\|ノ\_s*ン\|ニ\_s*ア\|モ\_s*ン\_s*ト\|ミ\_s*\%(リ\_s*オ\_s*ン\|キ\_s*ュ\_s*ラ\_s*イ\_s*ト\)\)\|ナ\_s*\%(キ\_s*ュ\_s*ラ\_s*ー\|ジ\_s*ウ\_s*ム\)\)\|ブ\_s*\%(イ\|ラ\_s*\%(ド\|ッ\_s*ド\)\|ー\_s*ド\_s*ゥ\_s*ー\)\)', \ 'W' : '\%([ヲヲ女翁尾汚小惜男緒牡雄をウ孳蛤礼敬恭洞鱗愛潤騒粳漆閏慯悄騷恙愁呻楳梅嫐釉噂耘吽褞曇紜云繧慍薀蘊暈運錙怏麗羨U卦憾怨恨占卜末嬉心裏浦糶瓜汝己υΥ畴畆畦疇畝踈疎宜諾奪姥莵兔驢鑿穿嗽魘唸促令項頷訴獺鷽嘯嘘蠕蠢動覘窺伺台萼唱詠謌唄宴讌転詩謠謡謳疑歌葎鯏鴬鶯ヱゑ鶉疼堆踞蹲渦舂臼碓羅薄食筌槽朮肯凵魚巧茨廐廏厩鰻午甘秣孫餞馬旨冩遷寫蔚暎噐器移慈俯映写現虚美笂靭靱靫空鰾萍初蛆氏↑上後喪艮丑潮牛裡鬱中欝袿梁家内禹憂埋挧撃雨打宇得植請鵜熟績嫗攴有夘受茹泛生討胡右紆傴盂饂承菟飢烏攵于射倦芋賣卯享搏失齲撲兎売産膿迂浮うヰ居ゐワ叫喚÷惡悪原稿嗤妾蕨童藁鞋笑灣萬豌綰万弯彎椀雲腕碗湾横往黄皇羂罠纔毫微僅患煩術伎厄禍災態業技佗王鰐忘掖弁腋譯緜腸亙道渉航弥亘棉渡綿私薈隈賄淮脇矮猥歪轍海蟠儂∪觧解頒判訣別稚若或枠惑鷲和環吾杷啝湧我涌輪破分把萵詫訳羽沸倭割話侘琶わ幅水∧波WウワW]\|ッ\_s*[ヲヱウヰワ]\|ッ\_s*[ヲヱウヰワ]\|っ\_s*[をゑうゐわ]\|乎\_s*古\_s*止\_s*点\|武\_s*漢\|狼\_s*狽\|夏\_s*枯\_s*草\|蠎\_s*蛇\|蟒\_s*蛇\|譫\_s*言\|琅\_s*珠\|温\_s*[麺気州]\|C\_s*u\_s*c\_s*u\_s*r\_s*b\_s*i\_s*t\_s*a\_s*l\_s*e\_s*s\|自\_s*惚\|采\_s*女\|乳\_s*母\|姨\_s*捨\_s*山\|独\_s*活\|優\_s*\%(婆\_s*[塞夷]\|曇\_s*華\)\|合\_s*格\|親\_s*族\|斥\_s*候\|泡\_s*沫\|楽\_s*官\|雅\_s*楽\_s*[頭寮]\|干\_s*莉\|維\_s*納\|護\_s*田\_s*鳥\_s*尾\|淡\_s*\%(青\|口\_s*醤\_s*油\)\|五\_s*\%(加\|月\_s*蝿\)\|稲\_s*魂\|誓\_s*約\|石\_s*\%(女\|斑\_s*魚\)\|不\_s*生\_s*女\|味\_s*酒\|苜\_s*蓿\|A\_s*r\_s*i\_s*s\_s*t\_s*o\_s*l\_s*o\_s*c\_s*h\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|伝\_s*染\|呆\_s*気\_s*者\|茴\_s*香\|外\_s*郎\|餓\_s*\%(死\|え\_s*死\_s*に\)\|裲\_s*襠\|団\_s*扇\|草\_s*鞋\|(\_s*笑\_s*)\|(\_s*笑\_s*)\|戦\_s*慄\|俳\_s*優\|勿\_s*忘\_s*草\|早\_s*[生稲]\|山\_s*葵\|戯\_s*奴\|度\_s*会\|Y\_s*\%(軸\|シ\_s*ャ\_s*ツ\|染\_s*色\_s*体\)\|Y\_s*\%(軸\|シ\_s*ャ\_s*ツ\|染\_s*色\_s*体\)\|華\_s*盛\_s*頓\|裙\_s*蔕\_s*菜\|理\_s*[由解]\|公\_s*魚\|病\_s*葉\|大\_s*東\_s*亜\_s*戰\_s*爭\|太\_s*\%(秦\|平\_s*洋\_s*戦\_s*争\)\|歐\_s*州\_s*大\_s*戰\|第\_s*\%(二\_s*次\_s*世\_s*界\_s*大\_s*戦\|一\_s*次\_s*世\_s*界\_s*大\_s*戦\)\|ブ\_s*ル\_s*ツ\_s*ブ\_s*ル\_s*ク\|ロ\_s*ン\_s*グ\|レ\_s*\%(ン\|イ\_s*ス\|ッ\_s*カ\_s*ー\|ス\_s*\%(ラ\_s*ー\|リ\_s*ン\_s*グ\)\)\|リ\_s*\%(ー\_s*ス\|ン\_s*ク\_s*ル\|ス\_s*ト\)\|書\_s*き\_s*込\_s*み\|ラ\_s*\%(ッ\_s*\%([プパ]\|ピ\_s*ン\_s*グ\)\|イ\_s*\%([タト]\|テ\_s*ィ\_s*ン\_s*グ\)\)\|ボ\_s*ル\_s*フ\|フ\_s*\%([ムー]\|ァ\_s*イ\_s*ル\|ィ\_s*\%(ー\_s*ト\|ッ\_s*チ\)\)\|ホ\_s*\%(エ\_s*[イーア]\|ー\_s*ル\|イ\_s*\%(ー\_s*\%(ル\|ラ\_s*ー\)\|ッ\_s*\%(プ\|ス\_s*ル\|パ\_s*ー\|ト\_s*\%(ニ\_s*ー\|マ\_s*ン\)\)\)\|ワ\_s*\%(イ\|ッ\_s*[トツ]\)\)\|ベ\_s*ル\_s*ナ\_s*ー\|w\_s*e\_s*b\_s*サ\_s*\%(イ\_s*ト\|ー\_s*\%(バ\|ビ\_s*ス\)\)\|警\_s*告\|バ\_s*ル\_s*タ\_s*ー\|ヴ\_s*\%(ュ\_s*ル\_s*ツ\_s*ブ\_s*ル\_s*ク\|ォ\_s*ル\_s*フ\|ィ\_s*\%([ーム]\|ル\_s*\%(ム\|ヘ\_s*ル\_s*ム\)\)\|ェ\_s*\%(ン\_s*ダ\_s*ー\_s*ス\|ル\_s*ナ\_s*ー\|ー\_s*バ\_s*ー\|イ\_s*ユ\)\|ァ\_s*\%(イ\_s*[ンス]\|ー\_s*グ\_s*ナ\_s*ー\|ン\_s*ダ\|ル\_s*\%(タ\_s*ー\|キ\_s*ュ\_s*ー\_s*レ\)\)\)\|ダ\_s*ブ\_s*リ\_s*ュ\_s*ー\|タ\_s*ン\_s*グ\_s*ス\_s*テ\_s*ン\|T\_s*\%(h\_s*e\_s* \_s*W\_s*o\_s*r\_s*l\_s*d\_s* \_s*W\_s*i\_s*d\_s*e\_s* \_s*W\_s*e\_s*b\_s* \_s*C\_s*o\_s*n\_s*s\_s*o\_s*r\_s*t\_s*i\_s*u\_s*m\|u\_s*n\_s*g\_s*s\_s*t\_s*e\_s*n\)\)', \ 'X' : '\%([ォォぉェェぇゥゥぅィィぃァァぁXхХΞ×ξX]\|ッ\_s*[ォェゥィァ]\|ッ\_s*[ォェゥィァ]\|っ\_s*[ぉぇぅぃぁ]\|シ\_s*ロ\_s*\%(ホ\_s*ン\|フ\_s*ォ\_s*ン\)\|ジ\_s*オ\_s*ン\|ゼ\_s*\%(ビ\_s*ウ\_s*ス\|ロ\_s*\%(ッ\_s*ク\_s*ス\|グ\_s*ラ\_s*フ\_s*ィ\)\)\|ハ\_s*ビ\_s*エ\_s*ル\|ザ\_s*\%(ン\|ビ\_s*エ\_s*ル\)\|キ\_s*\%(シ\_s*\%(ロ\|レ\_s*ン\|リ\_s*ト\_s*ー\_s*ル\)\|セ\_s*ノ\_s*ン\|サ\_s*ン\_s*\%(チ\_s*ン\|タ\_s*ン\)\)\|E\_s*x\_s*t\_s*e\_s*n\_s*s\_s*i\_s*b\_s*l\_s*e\_s* \_s*M\_s*a\_s*r\_s*k\_s*u\_s*p\_s* \_s*L\_s*a\_s*n\_s*g\_s*u\_s*a\_s*g\_s*e\|ク\_s*\%(シ\_s*ー\|ロ\_s*ス\_s*ポ\_s*ス\_s*ト\|セ\_s*\%(ナ\_s*キ\_s*ス\|ノ\_s*フ\_s*ォ\_s*ン\)\|ザ\_s*ヴ\_s*ィ\_s*エ\|サ\_s*\%(イ\|ン\_s*\%(ト\_s*ス\|チ\_s*ッ\_s*ペ\|テ\_s*ィ\_s*ッ\_s*ペ\)\)\|リ\_s*ス\_s*マ\_s*ス\)\|エ\_s*\%(ク\_s*ス\|ッ\_s*ク\_s*ス\)\)', \ 'Y' : '\%([ヨ艾蒿蓬娵嫁齡齢據頼弱憙歓鎧万萬過便婚汚涎捩翊緘峪杙慾欲翌翼抑米比裝粧装澱淀縦誼祥葭悦宜克純圭禎葦慶禧美淑芳喜吉義瘍樣踴榕踊燿謠廱姚慂曄瀁瑶恙蓉遙怏雍痒珱陶孕漾昜暘甬幺癢泱癰窰慵穃鷹瓔煬邀遥拗擁瑤窯徭膺窈殀曜耀庸夭揚葉蛹腰羊熔杳沃壅様妖用溶佯謡陽洋嘉宵蘇蘓甦辟奸横豫代除譽歟喚預読誉蕷輿攀余縒呼避4世譱詠丗能予撚憑餘畭酔醉與飫舁四訓選与讀よユ潤赦弛緩聴岼閖梦努纈∴故濯檠穰豐豊倖志裄之幸雪趾梼讓譲牀縁紫浴床俑犹蚰酉莠邑攸黝熊尢蝣蕕猷悒囿佳尤佑〒右郵涌祐侑游猶湧融宥夕幽悠釉友雄憂有臾渝瘉愉征諭徃遊揺逾覦茹揄由蝓兪淘結輸諛搖揃弓楡瑜踰柚油喩汰腴ゆイΗη賤鄙卑苟嫌妹湯藷芋夢艷鑪鈩彩鱗色鯆忽綺貸甍応答愈圦杁霪隱蚓寅氤酳胤飮韵尹茵贇蔭婬湮堙吋廴I音慇韻咽淫殞姻隕院允殷隠陰窟巌巖頌祝鰛鰮鰯岩磐鼾歪弑弋抱懐肬贅疣狗戌乾犬諱在坐未汝戒誡警縛今Εε曰禾稻員因蝗印嘶鰍電引躄誘動忿≦鵤錨碇怒霆雷霹凧桴筏Ιι魚菴庵雖尿荊棘茨祈祷命猯豕古伍乙鎰鴪聿軼樹慈悼愴慯労格到至傷鼬頂戴徒致鈑痛板柞砂沙些聊潔諍烈功諫勳勲勇漁諌憇=憩粹熱粋憤域閾勢勤忙急磯孰焉湶泉厳何弄苛≧鎔范啀毬訝燻息指挑拠縷絲厭營営愛幼緒遑暇糸I弌壹肆莓苺櫟著市碑鐓礎甃臀弩石犧牲犠池溢佚壱11燠鬻礇毓粥的戦戰軍幾郁一稲許否飯洟位違居姨猗斎偽噫逝医鑄痍委囲云圍ゐ挿炒彙要熨饐醫言矮往詒威懿入如僞忌彜煎逶緯韋唯莞淹胃善生恚彝惟以活蔚為猪衣倚幃斐移鮪将可偉畏五夷李渭怡貽癒依逸井慰行伊爲胆射詑矣頤熬萎良凍出椅率好揖肄痿鋳謂帷亥苡意維遺鰄異去堰容囗いヤ稚稍飲鎗鑓槍孀寡鰥Я碼傭雇闇敗吝薮藪殕脂寄宿櫓軈軅簗梁S漸鋏刃灸和柔軟窶鱧奴僕萢優柳喧宅館舘輩族鏃龠檪≒譯籥鑰蜴繹藥葯扼益厄疫躍約役訳薬疚疾岾楊谺邪薯犲豺〈《》〉山壥邸廛豢養社鑢育廉寧尉裕恭泰易休保康安靖笶八熄演谷焼彌冶⇔也輻破辭埜痩野屋家病椰爺已矢燒⇒灼妬耶遣瘠哉罷夜殺止揶辞弥やYеЕ円¥←↓↑→ёЁ━─ユヤヨЙυイЫыйΥY]\|ッ\_s*[ヨユイヤ]\|ッ\_s*[ヨユイヤ]\|っ\_s*[よゆいや]\|欧\_s*羅\_s*巴\|歐\_s*羅\_s*巴\|尸\_s*童\|蹌\_s*踉\|蹣\_s*跚\|終\_s*夜\|4\_s*\%([項者つ日]\|番\_s*目\|種\_s*類\)\|y\_s*o\_s*\%(t\_s*t\_s*a\|c\_s*t\_s*o\)\|他\_s*所\|仁\_s*史\|隆\_s*克\|尚\_s*武\|孝\_s*高\|悌\_s*也\|賀\_s*[子悟]\|彬\_s*伯\|栄\_s*伸\|宗\_s*生\|新\_s*生\|昌\_s*[美男]\|暢\_s*[子一]\|永\_s*沈\|8\_s*日\|8\_s*日\|黄\_s*泉\|左\_s*手\|百\_s*合\|L\_s*i\_s*l\_s*i\_s*\%(o\_s*p\_s*s\_s*i\_s*d\_s*a\|a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\)\|U\_s*\%(字\|タ\_s*ー\_s*ン\)\|鞦\_s*韆\|強\_s*請\|梅\_s*桃\|桜\_s*桃\|靫\_s*負\|宙\_s*美\|礼\_s*暁\|温\_s*\%(雄\|泉\_s*津\)\|長\_s*庚\|昨\_s*夜\|又\_s*木\|木\_s*綿\|E\_s*\%(u\|メ\_s*ー\_s*ル\)\|祖\_s*谷\|文\_s*身\|郎\_s*[女子]\|刺\_s*[青草]\|蕁\_s*麻\|U\_s*\%(字\|タ\_s*ー\_s*ン\|r\_s*t\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\)\|海\_s*[豚参]\|西\_s*表\|鸚\_s*哥\|影\_s*[向青]\|況\_s*ん\_s*や\|所\_s*[以縁謂]\|D\_s*i\_s*a\_s*p\_s*e\_s*n\_s*s\_s*i\_s*a\_s*l\_s*e\_s*s\|藺\_s*草\|J\_s*u\_s*\%(l\_s*i\_s*a\_s*n\_s*i\_s*a\_s*l\_s*e\_s*s\|n\_s*c\_s*a\_s*l\_s*e\_s*s\)\|田\_s*舎\|膝\_s*行\|十\_s*六\_s*夜\|寝\_s*穢\|英\_s*\%([一桃蘭]\|吉\_s*利\)\|斑\_s*鳩\|烏\_s*賊\|玉\_s*筋\_s*魚\|硫\_s*黄\|N\_s*a\_s*j\_s*a\_s*d\_s*a\_s*l\_s*e\_s*s\|牛\_s*膝\|稜\_s*威\|常\_s*春\_s*藤\|5\_s*[つ日]\|5\_s*[つ日]\|惡\_s*戲\|甚\_s*振\|潮\_s*来\|悪\_s*戯\|交\_s*喙\|小\_s*魚\|鯨\_s*魚\|細\_s*小\_s*魚\|鶏\_s*魚\|経\_s*緯\|礒\_s*[山田]\|E\_s*\%(A\_s*S\_s*T\|V\_s*E\)\|気\_s*吹\|従\_s*[妹姉弟兄]\|公\_s*孫\_s*樹\|鴨\_s*脚\_s*樹\|G\_s*\%(l\_s*u\_s*m\_s*i\_s*f\_s*l\_s*o\_s*r\_s*a\_s*e\|r\_s*a\_s*m\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*k\_s*g\_s*o\_s*p\_s*s\_s*i\_s*d\_s*a\)\|銀\_s*杏\|鳶\_s*尾\|巫\_s*子\|神\_s*巫\|無\_s*花\_s*果\|睦\_s*月\|都\_s*方\_s*流\|縊\_s*[殺死首]\|蝟\_s*[集縮]\|埋\_s*け\_s*[火炭]\|不\_s*[可如]\|守\_s*宮\|燕\_s*龍\_s*茶\|両\_s*班\|流\_s*鏑\_s*馬\|柵\_s*原\|箭\_s*[田内]\|R\_s*a\_s*f\_s*f\_s*l\_s*e\_s*s\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|自\_s*棄\|火\_s*傷\|徐\_s*ら\|M\_s*y\_s*r\_s*i\_s*c\_s*a\_s*l\_s*e\_s*s\|天\_s*蚕\|倭\_s*絵\|日\_s*本\_s*武\_s*尊\|大\_s*和\|T\_s*\%(h\_s*e\_s*l\_s*i\_s*g\_s*o\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*o\_s*c\_s*h\_s*o\_s*d\_s*e\_s*n\_s*d\_s*r\_s*a\_s*c\_s*e\_s*a\_s*e\)\|香\_s*具\_s*師\|玄\_s*孫\|A\_s*r\_s*a\_s*c\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(o\_s*a\_s*l\_s*e\_s*s\|l\_s*u\_s*m\_s*b\_s*a\_s*g\_s*i\_s*n\_s*a\_s*l\_s*e\_s*s\|r\_s*\%(o\_s*t\_s*e\_s*a\_s*l\_s*e\_s*s\|i\_s*n\_s*c\_s*i\_s*p\_s*e\_s*s\)\|a\_s*l\_s*m\_s*a\_s*l\_s*e\_s*s\)\|妥\_s*子\|寿\_s*[詞男]\|エ\_s*\%(ホ\_s*バ\|フ\_s*ゲ\_s*ニ\_s*ー\|レ\_s*ヴ\_s*ァ\_s*ン\|ニ\_s*セ\_s*イ\|ー\_s*ル\)\|ワ\_s*イ\)', \ 'Z' : '\%([空損存揃園薗底足束續屬∈∋賊続粟族俗属僧慥噌梍賍臟臧贓憎像臓贈象増造添初曾反沿曽ぞ譱然苒繕禪薇千蠕∀髯禅善漸冉前全關関蝉膳錢銭絶勢噬説筮贅脆税是攻責ぜ狡詰桷寸喘鮨附◆髓蘂膸蕋惴蕊隧隋隨瑞髄随豆廚圖付津頭酢厨好図逗鶴刷ず塩嶋縞島嶌橲衄衂宍竺舳忸軸舌祖喰食直凝日實昵印闍者鮭邪蛇麝搦着惹尺鉐雀寂若弱尻稔仭糂贐潯儘仞盡刄臣侭恁進訊俥蕁迅刃靱荏甚靭燼櫁樒塵尽尋陣腎壬人敘恕耡汝莇杼茹敍蜍洳舒縟辱褥蓐溽所抒鋤徐序絮叙助釀淨疂絛繞壌諚孃瀞襄仍蟐拯疉讓聶驤生帖仗躡穰乘塲靜繩禳蕘壤遶星滌茸嬲疊如醤剩娘嬢錠静醸縄女尉饒丈成擾穣烝嫋丞場杖條条蒸貞状攘剰畳冗定浄乗情城上常譲濡得戍就嬬鷲竪讐讎懦愀咒聚隼詢徇笋凖盾楯筍篤蓴惇洵淳閏諄恂馴旬荀潤循醇巡遵順准殉純準襦誦需戌朮孰宿塾珠熟恤術述孺呪豎儒綬樹受授壽鞣狃澀揉廿拾縱中從糅从戎澁蹂神汁獸絨縦渋柔什充十獣従住銃重岻治除士染時怩至児冶璽只畤侍孳轜耳示次寿辭粫司二祀邇而慈峙爺以地塒珥迩痔死敷恃蒔磁瓷仁字尓焦膩柱似嗣子亊路史餌兒滋仕爾辞弍自茲持寺事知じ騒沢澤猿笊晒曝皿鮫山算参鏨慘竄懴殘塹巉懺嶄讒惨暫慚慙斬残実笹酒坂盛三崎嵜桜榴雜襍棹竿雑濟才西斉済劑戝剤材財罪在冴覚左咲挫藏裂醒坐蔵差冷座戯ざ→↑ЬьЪъ↓←Жжズゾ零〇〒ザZジゼзζЗΖZ]\|ッ\_s*\%(ソ\_s*゙\|セ\_s*゙\|ス\_s*゙\|シ\_s*゙\|サ\_s*゙\)\|ッ\_s*[ゾゼズジザ]\|っ\_s*[ぞぜずじざ]\|ソ\_s*゙\|簇\_s*生\|双\_s*紙\|草\_s*[履紙子]\|セ\_s*゙\|台\_s*詞\|0\_s*次\|発\_s*条\|撥\_s*条\|發\_s*条\|z\_s*e\_s*\%(t\_s*t\_s*a\|p\_s*t\_s*o\)\|世\_s*阿\_s*弥\|ス\_s*゙\|相\_s*撲\|木\_s*菟\|修\_s*法\|杜\_s*撰\|調\_s*所\|徒\_s*[罪刑]\|螟\_s*虫\|芋\_s*茎\|F\_s*i\_s*g\_s*u\_s*r\_s*e\|シ\_s*゙\|G\_s*\%(メ\_s*ン\|パ\_s*ン\)\|D\_s*y\|G\_s*\%(メ\_s*ン\|パ\_s*ン\)\|支\_s*度\|試\_s*合\|2\_s*乗\|2\_s*乗\|J\_s*\%(I\_s*S\_s*コ\_s*ー\_s*ド\|ポ\_s*ッ\_s*プ\|R\_s*東\_s*日\_s*本\)\|獅\_s*子\|甲\_s*乙\_s*丙\_s*丁\_s*戊\_s*己\_s*庚\_s*辛\_s*壬\_s*癸\|k\_s*\$\_s*_\_s*{\_s*e\_s*f\_s*f\_s*}\_s*\$\|爪\_s*哇\|射\_s*礼\|砂\_s*利\|謝\_s*花\|著\_s*語\|杓\_s*子\|深\_s*\%(秘\|大\_s*寺\)\|秦\_s*泉\_s*寺\|沈\_s*\%(香\|丁\_s*花\)\|晨\_s*朝\|濁\_s*世\|判\_s*官\|諍\_s*論\|長\_s*夜\|漏\_s*斗\|焼\_s*酎\|鐘\_s*石\|橈\_s*脚\_s*類\|承\_s*久\|朱\_s*里\|C\_s*a\_s*b\_s*o\_s*m\_s*b\_s*o\_s*i\_s*d\_s*e\_s*a\_s*e\|J\_s*\%(リ\_s*ー\_s*グ\|ポ\_s*ッ\_s*プ\|U\_s*N\_s*K\_s*O\)\|絢\_s*子\|頌\_s*偈\|数\_s*珠\|入\_s*[魂牢来洛院内水棺]\|霜\_s*月\|1\_s*\%(2\|6\_s*進\|0\_s*[進月]\|1\_s*月\|8\_s*禁\)\|師\_s*走\|極\_s*月\|紐\_s*帯\|1\_s*\%(0\|1\_s*月\|8\_s*禁\|2\_s*月\)\|サ\_s*゙\|搾\_s*菜\|蜊\_s*蛄\|粗\_s*目\|槧\_s*本\|散\_s*切\_s*り\|沙\_s*汰\|石\_s*榴\|柘\_s*榴\|細\_s*工\|亜\_s*鉛\|サ\_s*\%(モ\_s*ラ\|ン\_s*ポ\_s*ー\_s*ニ\_s*ャ\|ラ\_s*ゴ\_s*サ\)\|シ\_s*\%(タ\_s*ー\_s*ル\|オ\_s*\%(ン\|ニ\_s*\%(ス\_s*ト\|ズ\_s*ム\)\)\)\|チ\_s*\%(ク\_s*ル\_s*ス\|ア\_s*ノ\_s*ー\_s*ゼ\|ュ\_s*ー\_s*リ\_s*\%(ヒ\|ッ\_s*ヒ\)\|ャ\_s*ル\_s*ダ\_s*ッ\_s*シ\_s*ュ\|ゴ\_s*イ\_s*ネ\_s*ル\_s*ワ\_s*イ\_s*ゼ\_s*ン\)\|ツ\_s*\%(ァ\_s*\%(ラ\_s*ト\_s*ゥ\_s*ス\_s*ト\_s*ラ\|イ\_s*ト\)\|ェ\_s*\%(ナ\_s*ー\|ッ\_s*ペ\_s*リ\_s*ン\|ル\_s*マ\_s*ッ\_s*ト\)\|ィ\_s*\%(ク\_s*ル\_s*ス\|タ\_s*ー\|ー\_s*グ\_s*ラ\_s*ー\|ン\_s*\%(バ\_s*ロ\_s*ン\|マ\_s*ー\_s*マ\_s*ン\)\|ゴ\_s*イ\_s*ネ\_s*ル\)\)\)', \ } endfunction ================================================ FILE: bundle/clever-f.vim/autoload/clever_f.vim ================================================ let s:save_cpo = &cpo set cpo&vim " SpaceVim API let s:HI = SpaceVim#api#import('vim#highlight') " constants let s:ESC_CODE = char2nr("\") let s:HAS_TIMER = has('timers') " configurations let g:clever_f_across_no_line = get(g:, 'clever_f_across_no_line', 0) let g:clever_f_ignore_case = get(g:, 'clever_f_ignore_case', 0) let g:clever_f_use_migemo = get(g:, 'clever_f_use_migemo', 0) let g:clever_f_fix_key_direction = get(g:, 'clever_f_fix_key_direction', 0) let g:clever_f_show_prompt = get(g:, 'clever_f_show_prompt', 0) let g:clever_f_smart_case = get(g:, 'clever_f_smart_case', 0) let g:clever_f_chars_match_any_signs = get(g:, 'clever_f_chars_match_any_signs', '') let g:clever_f_mark_cursor = get(g:, 'clever_f_mark_cursor', 1) let g:clever_f_hide_cursor_on_cmdline = get(g:, 'clever_f_hide_cursor_on_cmdline', 1) let g:clever_f_timeout_ms = get(g:, 'clever_f_timeout_ms', 0) let g:clever_f_mark_char = get(g:, 'clever_f_mark_char', 1) let g:clever_f_repeat_last_char_inputs = get(g:, 'clever_f_repeat_last_char_inputs', ["\"]) let g:clever_f_mark_direct = get(g:, 'clever_f_mark_direct', 0) let g:clever_f_highlight_timeout_ms = get(g:, 'clever_f_highlight_timeout_ms', 0) " below variable must be set before loading this script let g:clever_f_clean_labels_eagerly = get(g:, 'clever_f_clean_labels_eagerly', 1) " highlight labels augroup plugin-clever-f-highlight autocmd! autocmd ColorScheme * highlight default CleverFDefaultLabel ctermfg=red ctermbg=NONE cterm=bold,underline guifg=red guibg=NONE gui=bold,underline augroup END highlight default CleverFDefaultLabel ctermfg=red ctermbg=NONE cterm=bold,underline guifg=red guibg=NONE gui=bold,underline " Priority of highlight customization is: " High: When g:clever_f_*_color " Middle: :highlight in a colorscheme " Low: Default highlights " When the variable is defined, it should be linked with :hi! since :hi does " not overwrite existing highlight group. (#50) if g:clever_f_mark_cursor if exists('g:clever_f_mark_cursor_color') execute 'highlight! link CleverFCursor' g:clever_f_mark_cursor_color else highlight link CleverFCursor Cursor endif endif if g:clever_f_mark_char if exists('g:clever_f_mark_char_color') execute 'highlight! link CleverFChar' g:clever_f_mark_char_color else highlight link CleverFChar CleverFDefaultLabel endif endif if g:clever_f_mark_direct if exists('g:clever_f_mark_direct_color') execute 'highlight! link CleverFDirect' g:clever_f_mark_direct_color else highlight link CleverFDirect CleverFDefaultLabel endif endif if g:clever_f_clean_labels_eagerly augroup plugin-clever-f-permanent-finalizer autocmd! autocmd WinEnter,WinLeave,CmdWinLeave * if g:clever_f_mark_char | call s:remove_highlight() | endif augroup END endif augroup plugin-clever-f-finalizer autocmd! augroup END " initialize the internal state let s:last_mode = '' let s:previous_map = {} let s:previous_pos = {} let s:first_move = {} let s:migemo_dicts = {} let s:previous_char_num = {} let s:timestamp = [0, 0] let s:highlight_timer = -1 " keys are mode string returned from mode() function! clever_f#reset() abort let s:previous_map = {} let s:previous_pos = {} let s:first_move = {} let s:migemo_dicts = {} " Note: " [0, 0] may be invalid because the representation of return value of reltime() depends on implementation. let s:timestamp = [0, 0] call s:remove_highlight() return '' endfunction " hidden API for debug function! clever_f#_reset_all() abort call clever_f#reset() let s:last_mode = '' let s:previous_char_num = {} autocmd! plugin-clever-f-finalizer unlet! s:moved_forward endfunction function! s:remove_highlight() abort if s:highlight_timer >= 0 call timer_stop(s:highlight_timer) let s:highlight_timer = -1 endif for h in filter(getmatches(), 'v:val.group ==# "CleverFChar"') call matchdelete(h.id) endfor endfunction function! s:is_timedout() abort let cur = reltime() let rel = reltimestr(reltime(s:timestamp, cur)) let elapsed_ms = float2nr(str2float(rel) * 1000.0) let s:timestamp = cur return elapsed_ms > g:clever_f_timeout_ms endfunction function! s:on_highlight_timer_expired(timer) abort if s:highlight_timer != a:timer return endif let s:highlight_timer = -1 call s:remove_highlight() endfunction " highlight characters to which the cursor can be moved directly " Note: public function for test function! clever_f#_mark_direct(forward, count) abort let line = getline('.') let [_, l, c, _] = getpos('.') if (a:forward && c >= len(line)) || (!a:forward && c == 1) " there is no matching characters return [] endif if g:clever_f_ignore_case let line = tolower(line) endif let char_count = {} let matches = [] let indices = a:forward ? range(c, len(line) - 1, 1) : range(c - 2, 0, -1) for i in indices let ch = line[i] " only matches to ASCII if ch !~# '^[\x00-\x7F]$' | continue | endif let ch_lower = tolower(ch) let char_count[ch] = get(char_count, ch, 0) + 1 if g:clever_f_smart_case && ch =~# '\u' " uppercase characters are doubly counted let char_count[ch_lower] = get(char_count, ch_lower, 0) + 1 endif if char_count[ch] == a:count || \ (g:clever_f_smart_case && char_count[ch_lower] == a:count) " NOTE: should not use `matchaddpos(group, [...position])`, " because the maximum number of position is 8 let m = matchaddpos('CleverFDirect', [[l, i + 1]]) call add(matches, m) endif endfor return matches endfunction function! s:mark_char_in_current_line(map, char) abort let regex = '\%' . line('.') . 'l' . s:generate_pattern(a:map, a:char) call matchadd('CleverFChar', regex , 999) endfunction " Note: " \x80\xfd` seems to be sent by a terminal. " Below is a workaround for the sequence. function! s:getchar() abort while 1 let cn = getchar() if type(cn) != type('') || cn !=# "\x80\xfd`" return cn endif endwhile endfunction function! s:include_multibyte_char(str) abort return strlen(a:str) != clever_f#compat#strchars(a:str) endfunction function! clever_f#find_with(map) abort if a:map !~# '^[fFtT]$' throw "clever-f: Invalid mapping '" . a:map . "'" endif if &foldopen =~# '\<\%(all\|hor\)\>' while foldclosed(line('.')) >= 0 foldopen endwhile endif let current_pos = getpos('.')[1 : 2] let mode = s:mode() let highlight_timer_enabled = g:clever_f_mark_char && g:clever_f_highlight_timeout_ms > 0 && s:HAS_TIMER let in_macro = clever_f#compat#reg_executing() !=# '' " When 'f' is run while executing a macro, do not repeat previous " character. See #59 for more details if current_pos != get(s:previous_pos, mode, [0, 0]) || in_macro let should_redraw = !in_macro let back = 0 if g:clever_f_mark_cursor let cursor_marker = matchadd('CleverFCursor', '\%#', 999) if should_redraw redraw endif endif " block-NONE does not work on Neovim if g:clever_f_hide_cursor_on_cmdline let save_tve = &t_ve setlocal t_ve= let cursor_hi = {} let cursor_hi = s:HI.group2dict('Cursor') let lcursor_hi = s:HI.group2dict('lCursor') let guicursor = &guicursor call s:HI.hide_in_normal('Cursor') call s:HI.hide_in_normal('lCursor') if has('nvim') set guicursor+=a:Cursor/lCursor endif endif try if g:clever_f_mark_direct && should_redraw let direct_markers = clever_f#_mark_direct(a:map =~# '\l', v:count1) redraw endif if g:clever_f_show_prompt echon 'clever-f: ' endif let s:previous_map[mode] = a:map let s:first_move[mode] = 1 let cn = s:getchar() if cn == s:ESC_CODE return "\" endif if index(map(deepcopy(g:clever_f_repeat_last_char_inputs), 'char2nr(v:val)'), cn) == -1 let s:previous_char_num[mode] = cn else if has_key(s:previous_char_num, s:last_mode) let s:previous_char_num[mode] = s:previous_char_num[s:last_mode] else echohl ErrorMsg | echo 'Previous input not found.' | echohl None return '' endif endif let s:last_mode = mode if g:clever_f_timeout_ms > 0 let s:timestamp = reltime() endif if g:clever_f_mark_char call s:remove_highlight() if mode ==# 'n' || mode ==? 'v' || mode ==# "\" || \ mode ==# 'ce' || mode ==? 's' || mode ==# "\" augroup plugin-clever-f-finalizer autocmd CursorMoved call s:maybe_finalize() autocmd InsertEnter call s:finalize() augroup END call s:mark_char_in_current_line(s:previous_map[mode], s:previous_char_num[mode]) endif endif if g:clever_f_show_prompt && should_redraw redraw! endif finally if g:clever_f_mark_cursor | call matchdelete(cursor_marker) | endif if g:clever_f_mark_direct && exists('l:direct_markers') for m in direct_markers call matchdelete(m) endfor endif if g:clever_f_hide_cursor_on_cmdline let &t_ve = save_tve call s:HI.hi(cursor_hi) call s:HI.hi(lcursor_hi) let &guicursor = guicursor endif endtry else " When repeated let back = a:map =~# '\u' if g:clever_f_fix_key_direction && s:previous_map[mode] =~# '\u' let back = !back endif " reset and retry if timed out if g:clever_f_timeout_ms > 0 && s:is_timedout() call clever_f#reset() return clever_f#find_with(a:map) endif " Restore highlights which were removed by timeout if highlight_timer_enabled && s:highlight_timer < 0 call s:remove_highlight() if mode ==# 'n' || mode ==? 'v' || mode ==# "\" || \ mode ==# 'ce' || mode ==? 's' || mode ==# "\" call s:mark_char_in_current_line(s:previous_map[mode], s:previous_char_num[mode]) endif endif endif if highlight_timer_enabled if s:highlight_timer >= 0 call timer_stop(s:highlight_timer) endif let s:highlight_timer = timer_start(g:clever_f_highlight_timeout_ms, funcref('s:on_highlight_timer_expired')) endif return clever_f#repeat(back) endfunction function! clever_f#repeat(back) abort let mode = s:mode() let pmap = get(s:previous_map, mode, '') let prev_char_num = get(s:previous_char_num, mode, 0) if pmap ==# '' return '' endif " ignore special characters like \ if type(prev_char_num) == type('') && char2nr(prev_char_num) == 128 return '' endif if a:back let pmap = s:swapcase(pmap) endif if mode[0] ==? 'v' || mode[0] ==# "\" let cmd = s:move_cmd_for_visualmode(pmap, prev_char_num) else let inclusive = mode ==# 'no' && pmap =~# '\l' let cmd = printf("%s:\call clever_f#find(%s, %s)\", \ inclusive ? 'v' : '', \ string(pmap), prev_char_num) endif return cmd endfunction " absolutely moved forward? function! s:moves_forward(p, n) abort if a:p[0] != a:n[0] return a:p[0] < a:n[0] endif if a:p[1] != a:n[1] return a:p[1] < a:n[1] endif return 0 endfunction function! clever_f#find(map, char_num) abort let before_pos = getpos('.')[1 : 2] let next_pos = s:next_pos(a:map, a:char_num, v:count1) if next_pos == [0, 0] return endif let moves_forward = s:moves_forward(before_pos, next_pos) " update highlight when cursor moves across lines let mode = s:mode() if g:clever_f_mark_char if next_pos[0] != before_pos[0] \ || (a:map ==? 't' && !s:first_move[mode] && clever_f#compat#xor(s:moved_forward, moves_forward)) call s:remove_highlight() call s:mark_char_in_current_line(a:map, a:char_num) endif endif let s:moved_forward = moves_forward let s:previous_pos[mode] = next_pos let s:first_move[mode] = 0 endfunction function! s:finalize() abort autocmd! plugin-clever-f-finalizer call s:remove_highlight() let s:previous_pos = {} let s:moved_forward = 0 endfunction function! s:maybe_finalize() abort let pp = get(s:previous_pos, s:last_mode, [0, 0]) if getpos('.')[1 : 2] != pp call s:finalize() endif endfunction function! s:move_cmd_for_visualmode(map, char_num) abort let next_pos = s:next_pos(a:map, a:char_num, v:count1) if next_pos == [0, 0] return '' endif let m = s:mode() call setpos("''", [0] + next_pos + [0]) let s:previous_pos[m] = next_pos let s:first_move[m] = 0 return '``' endfunction function! s:search(pat, flag) abort if g:clever_f_across_no_line return search(a:pat, a:flag, line('.')) else return search(a:pat, a:flag) endif endfunction function! s:should_use_migemo(char) abort if !g:clever_f_use_migemo || a:char !~# '^\a$' return 0 endif if !g:clever_f_across_no_line return 1 endif return s:include_multibyte_char(getline('.')) endfunction function! s:load_migemo_dict() abort let enc = &l:encoding if enc ==# 'utf-8' return clever_f#migemo#utf8#load_dict() elseif enc ==# 'cp932' return clever_f#migemo#cp932#load_dict() elseif enc ==# 'euc-jp' return clever_f#migemo#eucjp#load_dict() else let g:clever_f_use_migemo = 0 throw "clever-f: Encoding '" . enc . "' is not supported. Migemo is disabled" endif endfunction function! s:generate_pattern(map, char_num) abort let char = type(a:char_num) == type(0) ? nr2char(a:char_num) : a:char_num let regex = char let should_use_migemo = s:should_use_migemo(char) if should_use_migemo if !has_key(s:migemo_dicts, &l:encoding) let s:migemo_dicts[&l:encoding] = s:load_migemo_dict() endif let regex = s:migemo_dicts[&l:encoding][regex] . '\&\%(' . char . '\|\A\)' elseif stridx(g:clever_f_chars_match_any_signs, char) != -1 let regex = '\[!"#$%&''()=~|\-^\\@`[\]{};:+*<>,.?_/]' elseif char ==# '\' let regex = '\\' endif let is_exclusive_visual = &selection ==# 'exclusive' && s:mode()[0] ==? 'v' if a:map ==# 't' && !is_exclusive_visual let regex = '\_.\ze\%(' . regex . '\)' elseif is_exclusive_visual && a:map ==# 'f' let regex = '\%(' . regex . '\)\zs\_.' elseif a:map ==# 'T' let regex = '\%(' . regex . '\)\@<=\_.' endif if !should_use_migemo let regex = '\V'.regex endif return ((g:clever_f_smart_case && char =~# '\l') || g:clever_f_ignore_case ? '\c' : '\C') . regex endfunction function! s:next_pos(map, char_num, count) abort let mode = s:mode() let search_flag = a:map =~# '\l' ? 'W' : 'bW' let cnt = a:count let pattern = s:generate_pattern(a:map, a:char_num) if a:map ==? 't' && get(s:first_move, mode, 1) if !s:search(pattern, search_flag . 'c') return [0, 0] endif let cnt -= 1 endif while 0 < cnt if !s:search(pattern, search_flag) return [0, 0] endif let cnt -= 1 endwhile return getpos('.')[1 : 2] endfunction function! s:swapcase(char) abort return a:char =~# '\u' ? tolower(a:char) : toupper(a:char) endfunction " Drop forced visual mode character ('nov' -> 'no') function! s:mode() abort let mode = mode(1) if mode =~# '^no' let mode = mode[0 : 1] endif return mode endfunction let &cpo = s:save_cpo unlet s:save_cpo ================================================ FILE: bundle/clever-f.vim/doc/clever_f.txt ================================================ *clever-f.txt* Make |f|, |F|, |t| and |T| cleverer. Author : rhysd Version : 1.5 CONTENTS *clever-f.vim-contents* Introduction |clever-f.vim-introduction| Usage |clever-f.vim-usage| Mappings |clever-f.vim-mappings| Variables |clever-f.vim-variables| Special Thanks |clever-f.vim-special-thanks| Repository Page |clever-f.vim-repository-page| License |clever-f.vim-license| ============================================================================== INTRODUCTION *clever-f.vim-introduction* *clever-f.vim* or *clever-f* extends |f|, |F|, |t| and |T| key mappings for more convenience. Instead of |;|, |f| is available to repeat after you type |f|{char} or |F|{char}. |F| after |f|{char} and |F|{char} is also available to undo a jump. |t|{char} and |T|{char} are ditto. This extension makes a repeat easier and makes you forget the existence of |;|. You can use |;| for other key mapping. In addition, many handy features (target highlighting, smartcase matching, and so on) are provided and you can customize behavior of the mappings. Please check |clever-f.vim-variables|. ============================================================================== USAGE *clever-f.vim-usage* I'll show an example of usage. _ is the place of cursor, -> is a move of cursor, alphabets above -> is input by keyboard. > input: fh f f e fo f move : _---------->_------>_---------->_->_---------------->_->_ input: F F move : _<-----------------------------_<-_ text : hoge huga hoo hugu ponyo < > input: f Fh b f Fo move : _<----------_<------_<-_<-----------------------------_<-_ input: F F F move : _---------->_------>_----------->_ text : hoge huga huyo hugu ponyo < > input: th t t e to t move : _--------->_------>_---------->_-->_--------------->_->_ input: T T move : _<-----------------------------__ text : hoge huga hoo hugu ponyo < ============================================================================== MAPPINGS *clever-f.vim-mappings* *g:clever_f_not_overwrites_standard_mappings* If you don't set |g:clever_f_not_overwrites_standard_mappings|, |clever-f| replaces |f|, |F|, |t|, and |T| with |(clever-f-f)|, |(clever-f-F)|, |(clever-f-t)| and |(clever-f-T)| as default mappings. (clever-f-f) *(clever-f-f)* (clever-f-F) *(clever-f-F)* (clever-f-t) *(clever-f-t)* (clever-f-T) *(clever-f-T)* (clever-f-reset) *(clever-f-reset)* (clever-f-repeat-forward) *(clever-f-repeat-forward)* (clever-f-repeat-back) *(clever-f-repeat-back)* ============================================================================== VARIABLES *clever-f.vim-variables* g:clever_f_across_no_line *g:clever_f_across_no_line* If the value is equivalent to 1, |clever-f| mappings search target character only in the cursor line. The default value is 0. g:clever_f_ignore_case *g:clever_f_ignore_case* If the value is equivalent to 1, it makes |clever-f| mappings' search case- insensitive. For example, if you input "fa", it matches both "a" and "A". The default value is 0. g:clever_f_smart_case *g:clever_f_smart_case* If the value is equivalent to 1, it makes |clever-f| mappings' search smart case. For example, if you input "fa", it matches both "a" and "A", but if you input "fA", it matches only "A". The default value is 0. g:clever_f_use_migemo *g:clever_f_use_migemo* If the value is equivalent to 1, migemo support is enabled. This feature is useful in Japanese environment. |clever-f| can match multibyte Japanese character with a alphabet input. For example, "fa" can search "あ". This feature doesn't require |cmigemo| because |clever-f| includes regex patterns generated by cmigemo. Please see http://0xcc.net/migemo/ if you want to know more about migemo. The default value of this variable is 0. > input: fm f f move : _---->_---->_----------------------------------------->_ input: F F F move : _<----_<----_<-----------------------------------------_ text : ビム!ビム!ビムゥぅうわぁああん!!! あぁあっあっー!ビムゥ!! < g:clever_f_fix_key_direction *g:clever_f_fix_key_direction* If the value is equivalent to 1, the directions of keys are fixed. For example, |F| is backward search and repeating of |F| after |F| makes the same direction search. Below is the behavior. Please compare examples of |clever-f.vim-usage|. The default value is 0. > input: F Fh b F Fo move : _<----------_<------_<-_<-----------------------------_<-_ input: f f f move : _---------->_------>_----------->_ text : hoge huga huyo hugu ponyo < g:clever_f_show_prompt *g:clever_f_show_prompt* If the value is equivalent to 1, a prompt is shown when a character is input to search. The prompt is disposed after the input. The default value is 0. g:clever_f_chars_match_any_signs *g:clever_f_chars_match_any_signs* The value must be string. If this variable is not empty, characters in the value matches any signs. For example, when the value is ";:", f; and f: matches all signs. You can jump signs whose keys are hard to press. The default value is "". > input: f; f f f f f f move : _-->_--->_--------->_>_>_------------>_>_ text : hoge.huga( autoloads: %w{ aaa bbb ccc } ) < g:clever_f_mark_cursor *g:clever_f_mark_cursor* If the value is equivalent to 1, current cursor position will be highlighted when waiting for {char}. This way you won't lose your focus from the place your cursor was. The default value is 1. g:clever_f_mark_cursor_color *g:clever_f_mark_cursor_color* Only used when |g:clever_f_mark_cursor| is enabled. Change highlight group used to mark cursor position. The default value is "Cursor". Note: |g:clever_f_mark_cursor_color| must be set before |clever-f| is loaded. (e.g. in your |vimrc|) g:clever_f_hide_cursor_on_cmdline *g:clever_f_hide_cursor_on_cmdline* If the value is equivalent to 1, a cursor is hidden on inputting {char}. This feature prevents cursor from moving to command line. The default value is 1. g:clever_f_timeout_ms *g:clever_f_timeout_ms* If the value is greater than 0, |clever-f| check the interval of previous search and next search. If the interval is longer than the value, |clever-f| resets its state to make you input a character. The unit of the value is millisecond. The default value is 0 (it means no timeout). g:clever_f_highlight_timeout_ms *g:clever_f_highlight_timeout_ms* Setting a number value to this variable specifies the timeout for clearing highlights in milliseconds. When the value is greater than 0, highlights on the target character are automatically cleared after the timeout. The default value is 0 (it means no timeout). g:clever_f_mark_char *g:clever_f_mark_char* If the value is equivalent to 1, the characters in line which you input in |f|, |F|, |t| and |T| are highlighted until the search ends. The highlighted characters means candidates the cursor can move to by |f|, |F|, |t| and |T|. Highlighting is enabled in normal and visual mode. The default value is 1. g:clever_f_mark_char_color *g:clever_f_mark_char_color* If |g:clever_f_mark_char| is enabled, |clever-f| highlights the target characters using the highlight group which |g:clever_f_mark_char_color| specifies. If you want to change the highlight group |clever-f| uses, set your favorite highlight group to this variable. The default value is "CleverFDefaultLabel", which makes characters red and bold. If you want to make an original label highlight, define your own highlight group.(See |:highlight|) Note: |g:clever_f_mark_char_color| must be set before |clever-f| is loaded. (e.g. in your |vimrc|) g:clever_f_repeat_last_char_inputs *g:clever_f_repeat_last_char_inputs* This is a list of string value. If one of the elements are input, |clever-f| use the previous input instead of the input. The default value is ["\"]. It means that previous input is used when you input . For example, when you previously input "fa" and then input "f", "a" will be used instead of "". If you want to add to the element, please write below in your vimrc. > let g:clever_f_repeat_last_char_inputs = ["\", "\"] < g:clever_f_mark_direct *g:clever_f_mark_direct* If the value is equivalent to 1, characters to which the cursor can be moved directly are highlighted until you input a character. Highlighting is enabled in normal and visual mode. The default value is 0. Note: |g:clever_f_mark_direct| must be set before |clever-f| is loaded. Setting to 1 in your |vimrc| is recommended. g:clever_f_mark_direct_color *g:clever_f_mark_direct_color* If |g:clever_f_mark_direct| is enabled, |clever-f| highlights characters using the highlight group which |g:clever_f_mark_direct_color| specifies. If you want to change the highlight group |clever-f| uses, set your favorite highlight group to this variable. The default value is "CleverFDefaultLabel", which makes characters red and bold. If you want to make an original label highlight, define your own highlight group.(See |:highlight|) Note: |g:clever_f_mark_direct_color| must be set before |clever-f| is loaded. (e.g. in your |vimrc|) ============================================================================== SPECIAL THANKS *clever-f.vim-special-thanks* |(clever-f-t)|, |(clever-f-T)|, repeatability with |.|, availability of |[count]| are the works by @thinca. Thanks! (http://d.hatena.ne.jp/thinca/20130227/1361891993) ============================================================================== REPOSITORY PAGE *clever-f.vim-repository-page* The latest version of |clever-f| is available at https://github.com/rhysd/clever-f.vim ============================================================================== LICENSE *clever-f.vim-license* |clever-f.vim| is distributed under MIT license. Copyright (c) 2013 rhysd Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ============================================================================== vim:tw=78:colorcolumn=78:ts=8:ft=help:norl:et:fen:fdl=0: ================================================ FILE: bundle/clever-f.vim/plugin/clever-f.vim ================================================ if exists('g:loaded_clever_f') && g:loaded_clever_f finish endif noremap (clever-f-f) clever_f#find_with('f') noremap (clever-f-F) clever_f#find_with('F') noremap (clever-f-t) clever_f#find_with('t') noremap (clever-f-T) clever_f#find_with('T') noremap (clever-f-reset) clever_f#reset() noremap (clever-f-repeat-forward) clever_f#repeat(0) noremap (clever-f-repeat-back) clever_f#repeat(1) if ! exists('g:clever_f_not_overwrites_standard_mappings') nmap f (clever-f-f) xmap f (clever-f-f) omap f (clever-f-f) nmap F (clever-f-F) xmap F (clever-f-F) omap F (clever-f-F) nmap t (clever-f-t) xmap t (clever-f-t) omap t (clever-f-t) nmap T (clever-f-T) xmap T (clever-f-T) omap T (clever-f-T) endif let g:loaded_clever_f = 1 ================================================ FILE: bundle/clever-f.vim/test/.coveragerc ================================================ [run] plugins = covimerage data_file = .coverage_covimerage ================================================ FILE: bundle/clever-f.vim/test/.themisrc ================================================ let g:repo_root = fnamemodify(expand(''), ':h:h') call themis#option('exclude', g:repo_root . '/test/README.md') call themis#option('exclude', g:repo_root . '/test/.coveragerc') call themis#option('exclude', g:repo_root . '/test/Guardfile') call themis#helper('command').with(themis#helper('assert')) if $PROFILE_LOG !=# '' execute 'profile' 'start' $PROFILE_LOG execute 'profile!' 'file' g:repo_root . '/autoload/clever_f.vim' execute 'profile!' 'file' g:repo_root . '/autoload/clever_f/helper.vim' execute 'profile!' 'file' g:repo_root . '/plugin/*' endif call themis#option('runtimepath', expand(g:repo_root)) ================================================ FILE: bundle/clever-f.vim/test/README.md ================================================ ## How to execute tests [vim-themis](https://github.com/thinca/vim-themis) is required. For example, the following clones it locally in clever-f.vim repository. ```console $ cd /path/to/clever-f.vim/test $ git clone https://github.com/thinca/vim-themis $ ./vim-themis/bin/themis . ``` ## How to measure code coverage [covimerage](https://github.com/Vimjas/covimerage) is required. I recommend to use [venv](https://docs.python.org/3/library/venv.html) for installing it locally. ```console $ python -m venv venv $ source ./venv/bin/activate $ pip install covimerage $ cd /path/to/clever-f.vim/test # Run tests with profiling $ PROFILE_LOG=profile.txt ./vim-themis/bin/themis . # Create a coverage file using profile results $ covimerage write_coverage profile.txt # See the coverage results in console output $ coverage report # See the coverage results in test/htmlcov/index.html $ coverage html ``` ## CI CI runs on Linux, macOS and Windows using GitHub Actions: https://github.com/rhysd/clever-f.vim/actions?query=workflow%3ACI Coverage is tracked with codecov.io: https://codecov.io/gh/rhysd/clever-f.vim ================================================ FILE: bundle/clever-f.vim/test/test.vimspec ================================================ set encoding=utf-8 set termencoding=utf-8 set fileencoding=utf-8 scriptencoding utf-8 function! AddLine(str) put! =a:str endfunction function! CursorPos() return [line('.'), col('.'), getline('.')[col('.')-1]] endfunction function! Highlights() abort return filter(getmatches(), 'v:val.group==#"CleverFChar"') endfunction function! WaitUntil(ms, pred) abort let remaining = a:ms while remaining > 0 sleep 10m let remaining -= 10 if a:pred() return 1 endif endwhile return 0 endfunction Describe default config It should load plugin Assert g:loaded_clever_f End It should override original mappings by default for m in ['f', 'F', 't', 'T'] let mapped = mapcheck(m, 'nxo') Assert True(stridx(mapped, 'clever-f') >= 0, m . ' -> ' . mapped) endfor End It should provide variables to customize behavior call clever_f#reset() Assert Equals(g:clever_f_across_no_line, 0) Assert Equals(g:clever_f_ignore_case, 0) Assert Equals(g:clever_f_use_migemo, 0) Assert Equals(g:clever_f_fix_key_direction, 0) Assert Equals(g:clever_f_show_prompt, 0) Assert Equals(g:clever_f_smart_case, 0) Assert Equals(g:clever_f_chars_match_any_signs, '') Assert Equals(g:clever_f_mark_cursor, 1) Assert Equals(g:clever_f_hide_cursor_on_cmdline, 1) Assert Equals(g:clever_f_timeout_ms, 0) Assert Equals(g:clever_f_mark_char, 1) Assert Equals(g:clever_f_repeat_last_char_inputs, ["\"]) Assert Equals(g:clever_f_clean_labels_eagerly, 1) Assert Equals(g:clever_f_mark_direct, 0) End End Describe f, F, t and T mappings Before new call clever_f#reset() call AddLine('poge huga hiyo poyo') End After close! End It should provide improved forward search like builtin f normal! 0 let l = line('.') Assert Equals(CursorPos(), [l,1,'p']) normal fh Assert Equals(CursorPos(), [l,6,'h']) normal f Assert Equals(CursorPos(), [l,11,'h']) normal! e Assert Equals(CursorPos(), [l,14,'o']) normal fo Assert Equals(CursorPos(), [l,17,'o']) normal f Assert Equals(CursorPos(), [l,19,'o']) End It should provide improved backward search like builtin F normal! $ let l = line('.') Assert Equals(CursorPos(), [l,19,'o']) normal Fo Assert Equals(CursorPos(), [l,17,'o']) normal f Assert Equals(CursorPos(), [l,14,'o']) normal! h normal Fh Assert Equals(CursorPos(), [l,11,'h']) normal f Assert Equals(CursorPos(), [l,6,'h']) End It should provide t mapping like builtin t normal! 0 let l = line('.') Assert Equals(CursorPos(), [l,1,'p']) normal th Assert Equals(CursorPos(), [l,5,' ']) normal t Assert Equals(CursorPos(), [l,10,' ']) normal! e Assert Equals(CursorPos(), [l,14,'o']) normal to Assert Equals(CursorPos(), [l,16,'p']) normal t Assert Equals(CursorPos(), [l,18,'y']) call AddLine('ab hbge huga') normal! gg0 normal tb Assert Equals(CursorPos(), [l,1,'a']) normal t Assert Equals(CursorPos(), [l,4,'h']) End It should provide T mapping like builtin T normal! 0 let l = line('.') Assert Equals(CursorPos(), [l,1,'p']) normal th Assert Equals(CursorPos(), [l,5,' ']) normal t Assert Equals(CursorPos(), [l,10,' ']) normal! e Assert Equals(CursorPos(), [l,14,'o']) normal to Assert Equals(CursorPos(), [l,16,'p']) normal t Assert Equals(CursorPos(), [l,18,'y']) call AddLine('ab hbge huga') normal! gg0 normal tb Assert Equals(CursorPos(), [l,1,'a']) normal t Assert Equals(CursorPos(), [l,4,'h']) End It should provide improved forward search like builtin f in visual mode normal! 0 let l = line('.') Assert Equals(CursorPos(), [l,1,'p']) normal! v normal fh Assert Equals(CursorPos(), [l,6,'h']) normal f Assert Equals(CursorPos(), [l,11,'h']) normal! e Assert Equals(CursorPos(), [l,14,'o']) normal fo Assert Equals(CursorPos(), [l,17,'o']) normal f Assert Equals(CursorPos(), [l,19,'o']) End It should provide improved backward search like builtin F normal! $v let l = line('.') Assert Equals(CursorPos(), [l,19,'o']) normal Fo Assert Equals(CursorPos(), [l,17,'o']) normal f Assert Equals(CursorPos(), [l,14,'o']) normal! h normal Fh Assert Equals(CursorPos(), [l,11,'h']) normal f Assert Equals(CursorPos(), [l,6,'h']) End It should provide t mapping like builtin t normal! 0v let l = line('.') Assert Equals(CursorPos(), [l,1,'p']) normal th Assert Equals(CursorPos(), [l,5,' ']) normal t Assert Equals(CursorPos(), [l,10,' ']) normal! e Assert Equals(CursorPos(), [l,14,'o']) normal to Assert Equals(CursorPos(), [l,16,'p']) normal t Assert Equals(CursorPos(), [l,18,'y']) call AddLine('ab hbge huga') normal! gg0 normal tb Assert Equals(CursorPos(), [l,1,'a']) normal t Assert Equals(CursorPos(), [l,4,'h']) End It should provide T mapping like builtin T normal! $v let l = line('.') Assert Equals(CursorPos(), [l,19,'o']) normal To Assert Equals(CursorPos(), [l,18,'y']) normal t Assert Equals(CursorPos(), [l,15,' ']) normal! h normal Th Assert Equals(CursorPos(), [l,12,'i']) normal t Assert Equals(CursorPos(), [l,7,'u']) call AddLine('ab hbge huga') normal! gg$ normal Tg Assert Equals(CursorPos(), [l,12,'a']) normal t Assert Equals(CursorPos(), [l,7,'e']) End It should work with Vim 8.1.0648 normal! 0 let l = line('.') Assert Equals(CursorPos(), [l,1,'p']) normal dth Assert Equals(CursorPos(), [l,1,'h']) End It should have different context in normal mode and visual mode let l = line('.') Assert Equals(CursorPos(), [l, 1, 'p']) normal fo Assert Equals(CursorPos(), [l, 2, 'o']) normal vfh Assert Equals(CursorPos(), [l, 6, 'h']) normal f Assert Equals(CursorPos(), [l, 11, 'h']) normal! d Assert Equals(getline('.'), "piyo poyo") Assert Equals(CursorPos(), [l, 2, 'i']) normal dfp Assert Equals(getline('.'), "poyo") Assert Equals(CursorPos(), [l, 2, 'o']) End It should open folding automatically let l = getline(1) call setline(1, ['{{{', l, '}}}']) setl foldmethod=marker " Move to closed folding normal! ggjzM normal fh Assert Equals(foldclosed('.'), -1) Assert Equals(CursorPos(), [2,6,'h']) End It does not reproduce #54 normal! 0 let l = line('.') normal fh Assert Equals(CursorPos(), [l,6,'h']) " Back to the position after reset normal! 0 " XXX: Hack! While running test, InsertEnter is not fired " automatically. To test the event, we need to cause it manually. doautocmd CursorMoved normal! 5l Assert Equals(CursorPos(), [l,6,'h']) normal fo Assert Equals(CursorPos(), [l,14,'o']) End It should work while running in macro for _ in range(10) call AddLine('poge huga hiyo poyo') endfor normal! gg0 " Macro to change the line from 'poge huga hiyo poyo' to 'poge' let @a = 'thDj' normal 10@a for l in range(2, 10) Assert Equals(getline(l), 'poge') endfor End It should not repeat previous character while running in macro (#59) call AddLine('1a 2a 3a 4a 5a') normal! gg0 let @a = 'fax' normal 5@a Assert Equals(getline('.'), '1 2 3 4 5') End It should share its state among mappings normal! 0 let l = line('.') let left = [l, 6, 'h'] let right = [l, 11, 'h'] normal fh Assert Equals(CursorPos(), left) normal f Assert Equals(CursorPos(), right) normal F Assert Equals(CursorPos(), left) normal t Assert Equals(CursorPos(), right) normal T Assert Equals(CursorPos(), left) End End Describe clever_f#reset() Before new call clever_f#reset() call AddLine('poge huga hiyo poyo') End After close! End It should reset current target character normal! 0 let l = line('.') normal fh Assert Equals(CursorPos(), [l,6,'h']) call clever_f#reset() normal to Assert Equals(CursorPos(), [l,13,'y']) End It should be called on (clever-f-reset) normal! 0 let l = line('.') normal fh Assert Equals(CursorPos(), [l,6,'h']) execute 'normal' "\(clever-f-reset)" normal to Assert Equals(CursorPos(), [l,13,'y']) End It should remove target highlights normal! 0 normal fhff Assert NotEquals(Highlights(), []) call clever_f#reset() Assert Equals(Highlights(), []) End End Describe g:clever_f_across_no_line Before new let g:clever_f_across_no_line = 1 call clever_f#reset() call AddLine('poge huga hiyo poyo') call AddLine('poge huga hiyo poyo') End After let g:clever_f_across_no_line = 0 close! End It should not move cursor to next line normal! gg0 let l = line('.') normal fhf Assert Equals(CursorPos(), [l,11,'h']) normal f Assert Equals(CursorPos(), [l,11,'h']) normal! gg0 normal tht Assert Equals(CursorPos(), [l,10,' ']) normal t Assert Equals(CursorPos(), [l,10,' ']) End It should not move cursor to previous line normal! ggj$ let l = line('.') normal Fpf Assert Equals(CursorPos(), [l,1,'p']) normal f Assert Equals(CursorPos(), [l,1,'p']) normal! ggj$ normal Tpt Assert Equals(CursorPos(), [l,2,'o']) normal t Assert Equals(CursorPos(), [l,2,'o']) End End Describe a non-existent char Before new call clever_f#reset() call AddLine('poge huga hiyo poyo') End After close! End It should do nothing normal! 0 let origin = CursorPos() normal fd Assert Equals(CursorPos(), origin) normal f1 Assert Equals(CursorPos(), origin) normal f) Assert Equals(CursorPos(), origin) normal f^ Assert Equals(CursorPos(), origin) normal fm Assert Equals(CursorPos(), origin) End End Context target is in other line Before new call AddLine('foo bar baz') call AddLine('poge huga hiyo poyo') call clever_f#reset() normal! gg End After close! End It should move cursor forward across lines normal! 0 let l = line('.') Assert Equals(col('.'), 1) normal fa Assert Equals(CursorPos(), [l, 9, 'a']) normal f Assert Equals(CursorPos(), [l+1, 6, 'a']) normal f Assert Equals(CursorPos(), [l+1, 10, 'a']) normal F Assert Equals(CursorPos(), [l+1, 6, 'a']) normal F Assert Equals(CursorPos(), [l, 9, 'a']) End It should move cursor backward across lines normal! Gk$ let l = line('.') Assert Equals(col('.'), 11) normal Fa Assert Equals(CursorPos(), [l, 10, 'a']) normal f Assert Equals(CursorPos(), [l, 6, 'a']) normal f Assert Equals(CursorPos(), [l-1, 9, 'a']) normal F Assert Equals(CursorPos(), [l, 6, 'a']) normal F Assert Equals(CursorPos(), [l, 10, 'a']) End End Context Multibyte characters Before new call AddLine('ビムかわいいよzビムx') call AddLine('foo bar baz') call clever_f#reset() normal! gg End After close! End It should be supported normal! gg0 let l = line('.') normal fz Assert Equals(CursorPos(), [l, 11, 'z']) normal f Assert Equals(CursorPos(), [l+1, 22, 'z']) normal! h normal fx Assert Equals(CursorPos(), [l+1, 29, 'x']) End End Describe g:clever_f_ignore_case Before new let g:clever_f_ignore_case = 1 call clever_f#reset() call AddLine('poge Guga hiyo Go;yo;') End After let g:clever_f_ignore_case = 0 close! End It should make f case insensitive normal! gg0 let l = line('.') normal fg Assert Equals(CursorPos(), [l, 3, 'g']) normal f Assert Equals(CursorPos(), [l, 6, 'G']) normal f Assert Equals(CursorPos(), [l, 8, 'g']) normal F Assert Equals(CursorPos(), [l, 6, 'G']) End It should make no effect on searching signs normal! 0 normal f; Assert Equals(col('.'), 18) normal f Assert Equals(col('.'), 21) let pos = getpos('.') normal f Assert Equals(pos, getpos('.')) End End Describe clever_f#compat#strchars It should return different value from strlen() when multibyte character strings given for str in ['あいうえお', 'aiueoあ', '123ABC45'] Assert NotEquals(clever_f#compat#strchars(str), strlen(str)) endfor End It should return the same value as strlen() when given string contains no multibyte character for str in ['aiueo', 'this_is_a_pen', "!#$%&'()'", ''] Assert Equals(clever_f#compat#strchars(str), strlen(str)) endfor End End Describe clever_f#find_with() It should raise an error when invalid map is given Throws /^clever-f: Invalid mapping/ clever_f#find_with('x') End End Describe migemo support Before new let g:clever_f_use_migemo = 1 let g:clever_f_across_no_line = 1 call AddLine('はー,ビムかわいいよビム') call clever_f#reset() normal! gg0 End After close! let g:clever_f_across_no_line = 0 let g:clever_f_use_migemo = 0 End It should make f and F mapping match multibyte characters normal fb Assert Equals(col('.'), 10) normal f Assert Equals(col('.'), 31) normal F Assert Equals(col('.'), 10) normal $ normal Fb Assert Equals(col('.'), 31) normal f Assert Equals(col('.'), 10) normal F Assert Equals(col('.'), 31) End It should make t and T mapping match multibyte characters normal tb Assert Equals(col('.'), 7) normal t Assert Equals(col('.'), 28) normal T Assert Equals(col('.'), 13) normal $ normal Tb Assert Equals(col('.'), 34) normal t Assert Equals(col('.'), 13) normal T Assert Equals(col('.'), 28) normal t Assert Equals(col('.'), 13) End It doesn't degrade issue #24 let save = g:clever_f_across_no_line let g:clever_f_across_no_line = 0 call AddLine(' sOS') call AddLine(' sOS') call AddLine(' sOS') normal! gg^ normal fS Assert Equals(CursorPos(), [1, 17, 'S']) normal f Assert Equals(CursorPos(), [2, 17, 'S']) normal f Assert Equals(CursorPos(), [3, 17, 'S']) let g:clever_f_across_no_line = save End End Describe g:clever_f_fix_key_direction Before new let g:clever_f_fix_key_direction = 1 call clever_f#reset() call AddLine('poge huga hiyo poyo') normal! gg0 End After close! let g:clever_f_fix_key_direction = 0 End It should fix the direction of search for f and F normal fofff Assert Equals(col('.'), 19) normal F Assert Equals(col('.'), 17) normal F Assert Equals(col('.'), 14) normal F Assert Equals(col('.'), 2) normal $ normal Fo Assert Equals(col('.'), 17) normal F Assert Equals(col('.'), 14) normal F Assert Equals(col('.'), 2) End It should fix the direction of search for t and T normal tottt Assert Equals(col('.'), 18) normal T Assert Equals(col('.'), 15) normal T Assert Equals(col('.'), 3) normal $ normal To Assert Equals(col('.'), 18) normal T Assert Equals(col('.'), 15) normal T Assert Equals(col('.'), 3) End End Describe Special characters Before new call clever_f#reset() call AddLine('poge huga hiyo poyo') normal! gg0 End After close! End It should not break clever-f.vim let pos = getpos('.') execute 'normal' "f\" execute 'normal' "f\" execute 'normal' "f\" Assert Equals(pos, getpos('.')) End End Describe Before new call clever_f#reset() call AddLine("poge huga \ poyo") normal! gg0 End After close! End It should reset the state on f let pos = getpos('.') execute 'normal' "f\" Assert Equals(getpos('.'), pos) " Check that the state is reset normal fe Assert Equals(col('.'), 4) End It should reset the state on T normal! $ let pos = getpos('.') execute 'normal' "T\" Assert Equals(getpos('.'), pos) " Check that the state is reset normal Th Assert Equals(col('.'), 7) End Context with g:clever_f_mark_direct Before let g:clever_f_mark_direct = 1 highlight link CleverFDirect CleverFDefaultLabel End After let g:clever_f_mark_direct = 0 End It should remove target highlights normal! gg0 execute 'normal' "f\" Assert Equals(len(filter(getmatches(), 'v:val.group==#"CleverFDirect"')), 0) End It does nothing on empty line (#55) call AddLine('') normal! G0 Assert Equals(getline('.'), '') Assert Equals(col('.'), 1) normal fa Assert Equals(col('.'), 1) End End End Describe g:clever_f_smart_case Before new call clever_f#reset() call AddLine('poHe huga Hiyo hoyo: poyo();') normal! gg0 let g:clever_f_smart_case = 1 End After close! let g:clever_f_smart_case = 0 End It should make f smart case normal fh Assert Equals(col('.'), 3) normal f Assert Equals(col('.'), 6) normal f Assert Equals(col('.'), 11) normal f Assert Equals(col('.'), 16) normal F Assert Equals(col('.'), 11) normal 0 normal fH Assert Equals(col('.'), 3) normal f Assert Equals(col('.'), 11) normal f Assert Equals(col('.'), 11) normal F Assert Equals(col('.'), 3) End It should make t smart case normal! $ normal Th Assert Equals(col('.'), 17) normal t Assert Equals(col('.'), 12) normal t Assert Equals(col('.'), 7) normal t Assert Equals(col('.'), 4) normal T Assert Equals(col('.'), 5) normal! $ normal TH Assert Equals(col('.'), 12) normal t Assert Equals(col('.'), 4) normal T Assert Equals(col('.'), 10) End It should not affect searching signs normal! 0 normal f; Assert Equals(col('.'), 28) normal! 0 let pos = getpos('.') normal f Assert Equals(pos, getpos('.')) End End Describe g:clever_f_chars_match_any_signs Before new call AddLine(' !"#$%&''()=~|\-^\@`[]{};:+*<>,.?_/') let g:clever_f_chars_match_any_signs = ';' normal! gg0 End After close! let g:clever_f_chars_match_any_signs = '' End It should specify characters which match to any signs normal f; Assert Equals(col('.'), 2) for i in range(3, 34) normal f Assert Equals(col('.'), i) endfor let pos = getpos('.') normal f Assert Equals(pos, getpos('.')) for i in reverse(range(2, 33)) normal F Assert Equals(col('.'), i) endfor let pos = getpos('.') normal F Assert Equals(pos, getpos('.')) End End Describe Cursor mark on user input Before new let g:clever_f_mark_cursor = 1 call clever_f#reset() call AddLine('poge huga hiyo poyo') End After close! End It 'ensures to remove highlight of cursor properly' normal fh Assert Equals(filter(getmatches(), 'v:val.group=="CleverFCursor"'), []) normal fq Assert Equals(filter(getmatches(), 'v:val.group=="CleverFCursor"'), []) End End Describe Hiding cursor on command line Before new let g:clever_f_mark_cursor = 1 let g:clever_f_hide_cursor_on_cmdline = 1 call clever_f#reset() call AddLine('poge huga hiyo poyo') End After close! End it should ensure to restore highlight properly let guicursor = &guicursor let t_ve = &t_ve normal fh Assert Equals(guicursor, &guicursor) Assert Equals(t_ve, &t_ve) normal fq Assert Equals(guicursor, &guicursor) Assert Equals(t_ve, &t_ve) End End Describe g:clever_f_timeout_ms Before new let g:clever_f_timeout_ms = 100 call clever_f#reset() call AddLine('poge huga hiyo poyo') normal! gg0 End After close! let g:clever_f_timeout_ms = 0 End It should reset the state if timed out normal fhf Assert Equals(col('.'), 11) sleep 150m normal fo Assert Equals(col('.'), 14) normal f Assert Equals(col('.'), 17) sleep 150m normal Fo Assert Equals(col('.'), 14) End End Describe g:clever_f_mark_char Before new let saved_mark_char = g:clever_f_mark_char let g:clever_f_mark_char = 1 call clever_f#reset() call AddLine('poge huga hiyo poyo') let old_across_no_line = g:clever_f_across_no_line let g:clever_f_across_no_line = 0 End After close! let g:clever_f_across_no_line = old_across_no_line let g:clever_f_mark_char = saved_mark_char End It should highlight the target characters automatically normal! gg0 normal fh Assert NotEquals(Highlights(), []) normal f Assert NotEquals(Highlights(), []) End It should update the highlight when the cursor moves to another line call AddLine('oh huh') normal! gg0 let l = line('.') normal fhff Assert NotEquals(Highlights(), []) Assert NotEquals(stridx(getmatches()[0].pattern, l), -1) Assert Equals(len(getmatches()), 1) normal f Assert NotEquals(Highlights(), []) Assert NotEquals(stridx(getmatches()[0].pattern, l+1), -1) Assert Equals(len(getmatches()), 1) normal f Assert NotEquals(Highlights(), []) Assert NotEquals(stridx(getmatches()[0].pattern, l+1), -1) Assert Equals(len(getmatches()), 1) End It should remove highlights when moving cursor to another place call AddLine('oh huh') call AddLine('oh huh') normal! gg0 normal fhff normal! j " XXX: Hack! While running test, CursorMoved is not fired " automatically. To test the event, we need to cause it manually. doautocmd CursorMoved Assert Equals(Highlights(), []) End It should remove highlights when entering insert mode call AddLine('oh huh') call AddLine('oh huh') normal! gg0 normal fhff " XXX: Hack! While running test, InsertEnter is not fired " automatically. To test the event, we need to cause it manually. doautocmd InsertEnter Assert Equals(Highlights(), []) End It should not highlight target character when set to 0 let g:clever_f_mark_char = 0 normal! gg0 normal fh Assert Equals(Highlights(), []) normal f Assert Equals(Highlights(), []) End End Describe g:clever_f_repeat_last_char_inputs Before new call clever_f#reset() call AddLine('hoge huga hiyo hoyo') normal! gg0 End After close! End It should repeat previous input again normal fhl Assert Equals(col('.'), 7) execute 'normal' "f\" Assert Equals(col('.'), 11) normal lfyl Assert Equals(col('.'), 14) execute 'normal' "f\" Assert Equals(col('.'), 18) normal! $ execute 'normal' "F\" Assert Equals(col('.'), 18) End It should do nothing when the specified characters are input at first call clever_f#_reset_all() let p = getpos('.') execute 'normal' "f\" Assert Equals(getpos('.'), p) execute 'normal' "F\" Assert Equals(getpos('.'), p) execute 'normal' "t\" Assert Equals(getpos('.'), p) execute 'normal' "T\" Assert Equals(getpos('.'), p) End End Describe Backslash Before new call clever_f#reset() call AddLine('poge\huga\hiyo\poyo') normal! gg0 End After close! End It should not cause any search errors (#35) normal f\ Assert Equals(col('.'), 5) normal! $ normal F\ Assert Equals(col('.'), 15) normal! gg0 normal t\ Assert Equals(col('.'), 4) normal! $ normal T\ Assert Equals(col('.'), 16) End End Describe selection=exclusive Before new call AddLine('poge huga hiyo poyo') let s:selection = &selection set selection=exclusive call clever_f#reset() normal! gg0 End After close! let &selection = s:selection End It should not change `f` behavior when not in visual mode normal fh Assert Equals(col('.'), 6) normal f Assert Equals(col('.'), 11) normal! 0 normal th Assert Equals(col('.'), 5) normal t Assert Equals(col('.'), 10) End It should change selection of `f` or `t` in visual mode normal vfh Assert Equals(col('.'), 7) normal f Assert Equals(col('.'), 12) execute 'normal!' "\0" normal vth Assert Equals(col('.'), 6) normal t Assert Equals(col('.'), 11) End It should not change `T` and `F` behavior normal! $ normal vFh Assert Equals(col('.'), 11) normal f Assert Equals(col('.'), 6) execute 'normal!' "\$" normal vTh Assert Equals(col('.'), 12) normal t Assert Equals(col('.'), 7) End End Describe clever_f#_mark_direct() function! GetHighlightedPositions() let cols = sort(map(getmatches(), 'v:val.pos1[1]'), 'n') let chars = [] for c in range(1, 19) if len(cols) > 0 && cols[0] == c let ch = '_' call remove(cols, 0) else let ch = ' ' endif call add(chars, ch) endfor return join(chars, '') endfunction Before new call clever_f#reset() highlight link CleverFDirect CleverFDefaultLabel call AddLine('ビムかわいいよzビムx') call AddLine('pOge huga Hiyo pOyo') let old_across_no_line = g:clever_f_across_no_line let g:clever_f_across_no_line = 0 End After close! let g:clever_f_mark_direct = 0 let g:clever_f_across_no_line = old_across_no_line End It should highlight characters to which the cursor can be moved directly normal! gg0 " #: cursor position, _: highlighted char " " #Oge huga Hiyo pOyo let s = ' ______ _ ____ _ ' call clever_f#_mark_direct(1, 1) Assert Equals(GetHighlightedPositions(), s) End It should highlight backward characters normal! gg$ " pOge huga Hiyo pOy# let s = ' _ ____ __ _____ ' call clever_f#_mark_direct(0, 1) Assert Equals(GetHighlightedPositions(), s) End It should highlight characters to which the cursor can be moved by one hop normal! gg0 " #Oge huga Hiyo pOyo let s = ' _ _ ___' call clever_f#_mark_direct(1, 2) Assert Equals(GetHighlightedPositions(), s) End It should not highlight multibyte characters normal! 2gg0 " #ムかわいいよzビムx " _ _ call clever_f#_mark_direct(1, 1) let cols = [22, 29] Assert Equals(sort(map(getmatches(), 'v:val.pos1[1]'), 'n'), cols) End Context with g:clever_f_smart_case Before let g:clever_f_smart_case = 1 End After let g:clever_f_smart_case = 0 End It should highlight characters to which the cursor can be moved directly normal! gg0 " #Oge huga Hiyo pOyo let s = ' ______ _ ___ _ ' call clever_f#_mark_direct(1, 1) Assert Equals(GetHighlightedPositions(), s) End It should highlight backward characters normal! gg$ " pOge huga Hiyo pOy# let s = ' _ ___ __ ____ ' call clever_f#_mark_direct(0, 1) Assert Equals(GetHighlightedPositions(), s) End It should highlight characters to which the cursor can be moved by one hop normal! gg0 " #Oge huga Hiyo pOyo let s = ' _ __ _ __ ' call clever_f#_mark_direct(1, 2) Assert Equals(GetHighlightedPositions(), s) End End Context with g:clever_f_ignore_case Before let g:clever_f_ignore_case = 1 End After let g:clever_f_ignore_case = 0 End It should highlight characters to which the cursor can be moved directly normal! gg0 " #Oge huga Hiyo pOyo let s = ' ______ _ __ _ ' call clever_f#_mark_direct(1, 1) Assert Equals(GetHighlightedPositions(), s) End It should highlight backward characters normal! gg$ " pOge huga Hiyo pOy# let s = ' _ ___ __ ____ ' call clever_f#_mark_direct(0, 1) Assert Equals(GetHighlightedPositions(), s) End It should highlight characters to which the cursor can be moved by one hop normal! gg0 " #Oge huga Hiyo pOyo let s = ' _ __ _ _ ' call clever_f#_mark_direct(1, 2) Assert Equals(GetHighlightedPositions(), s) End End End Describe g:clever_f_mark_direct Before new let g:clever_f_mark_direct = 1 call clever_f#reset() highlight link CleverFDirect CleverFDefaultLabel call AddLine('pOge huga Hiyo poyo') let old_across_no_line = g:clever_f_across_no_line let g:clever_f_across_no_line = 0 End After close! let g:clever_f_mark_direct = 0 let g:clever_f_across_no_line = old_across_no_line End It should remove target highlights normal! gg0 normal fh Assert Equals(len(filter(getmatches(), 'v:val.group ==# "CleverFDirect"')), 0) End It should finish with no error normal! gg$ normal fp Assert Equals(len(filter(getmatches(), 'v:val.group ==# "CleverFDirect"')), 0) End End Describe g:clever_f_highlight_timeout_ms Before new let g:clever_f_mark_char = 1 let g:clever_f_highlight_timeout_ms = 100 call clever_f#reset() call AddLine('pOge huga Hiyo poyooooooooooooooooooooooooooooooooooooooooooooooooooo') normal! gg0 End After close! let g:clever_f_highlight_timeout_ms = 0 End It should remove highlights after specified timeout let start = reltime() normal fo Assert NotEquals(Highlights(), []) sleep 10m Assert NotEquals(Highlights(), []) Assert WaitUntil(100, { -> Highlights() == [] }) let duration = reltimefloat(reltime(start)) Assert Truthy(duration > 0.1, string(duration) . ' should be greater than 0.1') End It should not remove highlights while repeating search let start = reltime() normal fo " After 500ms highlights are not removed since 'f' resets timer for _ in range(10) sleep 50m Assert NotEquals(Highlights(), []) normal f endfor " Spending 100ms without 'f' expires the timer Assert WaitUntil(120, { -> Highlights() == [] }) End It should restore highlights after timeout removed it normal fo Assert NotEquals(Highlights(), []) " Wait until highlights are removed due to timeout Assert WaitUntil(200, { -> Highlights() == [] }) " repeat f normal f " Highlights are restored Assert NotEquals(Highlights(), []) " Finally highlights are removed again Assert WaitUntil(200, { -> Highlights() == [] }) End End Describe . Before each new call AddLine('hoge fuge piye poye') normal! gg0 End After each close! End It should repeat 'f' mapping normal dfe Assert Equals(getline('.'), ' fuge piye poye') normal! . Assert Equals(getline('.'), ' piye poye') normal! . Assert Equals(getline('.'), ' poye') normal! . Assert Equals(getline('.'), '') End It should repeat 't' mapping normal dte Assert Equals(getline('.'), 'e fuge piye poye') normal! . Assert Equals(getline('.'), 'e piye poye') normal! . Assert Equals(getline('.'), 'e poye') normal! . Assert Equals(getline('.'), 'e') End It should repeat 'F' mapping normal! $ normal dFe Assert Equals(getline('.'), 'hoge fuge piye') normal . Assert Equals(getline('.'), 'hoge fuge') normal . Assert Equals(getline('.'), 'hoge') End It should repeat 'T' mapping normal! $ normal dTe Assert Equals(getline('.'), 'hoge fuge piyee') normal . Assert Equals(getline('.'), 'hoge fugee') normal . Assert Equals(getline('.'), 'hogee') End End " vim: set ft=vim foldmethod=marker: ================================================ FILE: bundle/cmp-buffer/LICENSE ================================================ MIT License Copyright (c) 2021 hrsh7th Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/cmp-buffer/README.md ================================================ # cmp-buffer nvim-cmp source for buffer words. ## Setup ```lua require('cmp').setup({ sources = { { name = 'buffer' }, }, }) ``` ## Configuration The below source configuration are available. To set any of these options, do: ```lua cmp.setup({ sources = { { name = 'buffer', option = { -- Options go into this table }, }, }, }) ``` ### keyword_length (type: number) _Default:_ `3` The number of characters that need to be typed to trigger auto-completion. ### keyword_pattern (type: string) _Default:_ `[[\%(-\?\d\+\%(\.\d\+\)\?\|\h\w*\%([\-.]\w*\)*\)]]` A vim's regular expression for creating a word list from buffer content. You can set this to `[[\k\+]]` if you want to use the `iskeyword` option for recognizing words. Lua's `[[ ]]` string literals are particularly useful here to avoid escaping all of the backslash (`\`) characters used for writing regular expressions. **NOTE:** Be careful with where you set this option! You must do this: ```lua cmp.setup({ sources = { { name = 'buffer', -- Correct: option = { keyword_pattern = [[\k\+]], } }, }, }) ``` Instead of this: ```lua cmp.setup({ sources = { { name = 'buffer', -- Wrong: keyword_pattern = [[\k\+]], }, }, }) ``` The second notation is allowed by nvim-cmp (documented [here](https://github.com/hrsh7th/nvim-cmp#sourcesnumberkeyword_pattern-type-string)), but it is meant for a different purpose and will not be detected by this plugin as the pattern for searching words. ### get_bufnrs (type: fun(): number[]) _Default:_ `function() return { vim.api.nvim_get_current_buf() } end` A function that specifies the buffer numbers to complete. You can use the following pre-defined recipes. ##### All buffers ```lua cmp.setup { sources = { { name = 'buffer', option = { get_bufnrs = function() return vim.api.nvim_list_bufs() end } } } } ``` ##### Visible buffers ```lua cmp.setup { sources = { { name = 'buffer', option = { get_bufnrs = function() local bufs = {} for _, win in ipairs(vim.api.nvim_list_wins()) do bufs[vim.api.nvim_win_get_buf(win)] = true end return vim.tbl_keys(bufs) end } } } } ``` ### indexing_interval (type: number) _Default:_ `100` Optimization option. See the section [Indexing](#indexing-and-how-to-optimize-it). ### indexing_batch_size (type: number) _Default:_ `1000` Optimization option. See the section [Indexing](#indexing-and-how-to-optimize-it). ### max_indexed_line_length (type: number) _Default:_ `1024 * 40` (40 Kilobytes) Optimization option. See the section [Indexing](#indexing-and-how-to-optimize-it). ## Locality bonus comparator (distance-based sorting) This source also provides a comparator function which uses information from the word indexer to sort completion results based on the distance of the word from the cursor line. It will also sort completion results coming from other sources, such as Language Servers, which might improve accuracy of their suggestions too. The usage is as follows: ```lua local cmp = require('cmp') local cmp_buffer = require('cmp_buffer') cmp.setup({ sources = { { name = 'buffer' }, -- The rest of your sources... }, sorting = { comparators = { function(...) return cmp_buffer:compare_locality(...) end, -- The rest of your comparators... } } }) ``` ## Indexing and how to optimize it When a buffer is opened, this source first has to scan all lines in the buffer, match all words and store all of their occurrences. This process is called _indexing_. When actually editing the text in the buffer, the index of words is kept up-to-date with changes to the buffer's contents, this is called _watching_. It is done by re-running the indexer on just the changed lines. Indexing happens completely asynchronously in background, unlike watching, which must be performed synchronously to ensure that the index of words is kept perfectly in-sync with the lines in the buffer. However, most of the time this will not be a problem since many typical text edit operations affect only one or two lines, unless you are pasting a 1000-line snippet. _Note that you can freely edit the buffer while it is being indexed_, the underlying algorithm is written in such a way that your changes will not break the index or cause errors. If a crash does happen - it is a bug, so please report it. The speed of indexing is configurable with two options: `indexing_interval` and `indexing_batch_size`. Essentially, when indexing, a timer is started, which pulls a batch of `indexing_batch_size` lines from the buffer, scans them for words, and repeats after `indexing_interval` milliseconds. Decreasing interval and/or increasing the batch size will make the indexer faster, but at the expense of higher CPU usage and more lag when editing the file while indexing is still in progress. Setting `indexing_batch_size` to a negative value will switch the indexer to the "synchronous" mode: this will process all lines in one go, take less time in total (since no other code will be running on the Lua thread), but with the obvious downside that the editor UI will be blocked. The option `max_indexed_line_length` controls plugin's behavior in files with very long lines. This is known to slow this source down significantly (see issue [#13](https://github.com/hrsh7th/cmp-buffer/issues/13)), so by default it will take only the first few kilobytes of the line it is currently on. In other words, very long lines are not ignored, but only a part of them is indexed. ### Performance on large text files This source has been tested on code files of a few megabytes in size (5-10) and contains optimizations for them, however, the indexed words can still take up tens of megabytes of RAM if the file is large. So, if you wish to avoid accidentally running this source on big files, you can tweak `get_bufnrs`, for example like this: ```lua get_bufnrs = function() local buf = vim.api.nvim_get_current_buf() local byte_size = vim.api.nvim_buf_get_offset(buf, vim.api.nvim_buf_line_count(buf)) if byte_size > 1024 * 1024 then -- 1 Megabyte max return {} end return { buf } end ``` Of course, this snippet can be combined with any other recipes for `get_bufnrs`. ================================================ FILE: bundle/cmp-buffer/after/plugin/cmp_buffer.lua ================================================ require('cmp').register_source('buffer', require('cmp_buffer')) ================================================ FILE: bundle/cmp-buffer/lua/cmp_buffer/buffer.lua ================================================ local timer = require('cmp_buffer.timer') local function clear_table(tbl) for k in pairs(tbl) do tbl[k] = nil end end ---@class cmp_buffer.Buffer ---@field public bufnr number ---@field public opts cmp_buffer.Options ---@field public regex any ---@field public timer cmp_buffer.Timer ---@field public lines_count number ---@field public timer_current_line number ---@field public lines_words table ---@field public unique_words_curr_line table ---@field public unique_words_other_lines table ---@field public unique_words_curr_line_dirty boolean ---@field public unique_words_other_lines_dirty boolean ---@field public last_edit_first_line number ---@field public last_edit_last_line number ---@field public closed boolean ---@field public on_close_cb fun()|nil ---@field public words_distances table ---@field public words_distances_last_cursor_row number ---@field public words_distances_dirty boolean local buffer = {} -- For some reason requesting this much lines multiple times in chunks leads to -- much better memory usage than fetching the entire file in one go. buffer.GET_LINES_CHUNK_SIZE = 1000 ---Create new buffer object ---@param bufnr number ---@param opts cmp_buffer.Options ---@return cmp_buffer.Buffer function buffer.new(bufnr, opts) local self = setmetatable({}, { __index = buffer }) self.bufnr = bufnr self.timer = timer.new() self.closed = false self.on_close_cb = nil self.opts = opts self.regex = vim.regex(self.opts.keyword_pattern) self.lines_count = 0 self.timer_current_line = -1 self.lines_words = {} self.unique_words_curr_line = {} self.unique_words_other_lines = {} self.unique_words_curr_line_dirty = true self.unique_words_other_lines_dirty = true self.last_edit_first_line = 0 self.last_edit_last_line = 0 self.words_distances = {} self.words_distances_dirty = true self.words_distances_last_cursor_row = 0 return self end ---Close buffer function buffer.close(self) self.closed = true self:stop_indexing_timer() self.timer:close() self.timer = nil self.lines_count = 0 self.timer_current_line = -1 self.lines_words = {} self.unique_words_curr_line = {} self.unique_words_other_lines = {} self.unique_words_curr_line_dirty = false self.unique_words_other_lines_dirty = false self.last_edit_first_line = 0 self.last_edit_last_line = 0 self.words_distances = {} self.words_distances_dirty = false self.words_distances_last_cursor_row = 0 if self.on_close_cb then self.on_close_cb() end end function buffer.stop_indexing_timer(self) self.timer:stop() self.timer_current_line = -1 end function buffer.mark_all_lines_dirty(self) self.unique_words_curr_line_dirty = true self.unique_words_other_lines_dirty = true self.last_edit_first_line = 0 self.last_edit_last_line = 0 self.words_distances_dirty = true end --- Workaround for https://github.com/neovim/neovim/issues/16729 function buffer.safe_buf_call(self, callback) if vim.api.nvim_get_current_buf() == self.bufnr then callback() else vim.api.nvim_buf_call(self.bufnr, callback) end end function buffer.index_range(self, range_start, range_end, skip_already_indexed) self:safe_buf_call(function() local chunk_size = self.GET_LINES_CHUNK_SIZE local chunk_start = range_start while chunk_start < range_end do local chunk_end = math.min(chunk_start + chunk_size, range_end) local chunk_lines = vim.api.nvim_buf_get_lines(self.bufnr, chunk_start, chunk_end, true) for i, line in ipairs(chunk_lines) do if not skip_already_indexed or not self.lines_words[chunk_start + i] then self:index_line(chunk_start + i, line) end end chunk_start = chunk_end end end) end function buffer.start_indexing_timer(self) self.lines_count = vim.api.nvim_buf_line_count(self.bufnr) self.timer_current_line = 0 -- Negative values result in an integer overflow in luv (vim.loop), and zero -- disables timer repeat, so only intervals larger than 1 are valid. local interval = math.max(1, self.opts.indexing_interval) self.timer:start(0, interval, function() if self.closed then self:stop_indexing_timer() return end -- Note that the async indexer is designed to not break even if the user is -- editing the file while it is in the process of being indexed. Because -- the indexing in watcher must use the synchronous algorithm, we assume -- that the data already present in self.lines_words to be correct and -- doesn't need refreshing here because even if we do receive text from -- nvim_buf_get_lines different from what the watcher has seen so far, it -- (the watcher) will catch up on the next on_lines event. -- Skip over the already indexed lines while self.lines_words[self.timer_current_line + 1] do self.timer_current_line = self.timer_current_line + 1 end local batch_start = self.timer_current_line local batch_size = self.opts.indexing_batch_size -- NOTE: self.lines_count may be modified by the indexer. local batch_end = batch_size >= 1 and math.min(batch_start + batch_size, self.lines_count) or self.lines_count if batch_end >= self.lines_count then self:stop_indexing_timer() end self.timer_current_line = batch_end self:mark_all_lines_dirty() self:index_range(batch_start, batch_end, true) end) end --- watch function buffer.watch(self) self.lines_count = vim.api.nvim_buf_line_count(self.bufnr) -- NOTE: As far as I know, indexing in watching can't be done asynchronously -- because even built-in commands generate multiple consequent `on_lines` -- events, and I'm not even mentioning plugins here. To get accurate results -- we would have to either re-index the entire file on throttled events (slow -- and looses the benefit of on_lines watching), or put the events in a -- queue, which would complicate the plugin a lot. Plus, most changes which -- trigger this event will be from regular editing, and so 99% of the time -- they will affect only 1-2 lines. vim.api.nvim_buf_attach(self.bufnr, false, { -- NOTE: line indexes are 0-based and the last line is not inclusive. on_lines = function(_, _, _, first_line, old_last_line, new_last_line, _, _, _) if self.closed then return true end if old_last_line == new_last_line and first_line == new_last_line then -- This condition is really intended as a workaround for -- https://github.com/hrsh7th/cmp-buffer/issues/28, but it will also -- protect us from completely empty text edits. return end local delta = new_last_line - old_last_line local old_lines_count = self.lines_count local new_lines_count = old_lines_count + delta if new_lines_count == 0 then -- clear -- This branch protects against bugs after full-file deletion. If you -- do, for example, gdGG, the new_last_line of the event will be zero. -- Which is not true, a buffer always contains at least one empty line, -- only unloaded buffers contain zero lines. new_lines_count = 1 for i = old_lines_count, 2, -1 do self.lines_words[i] = nil end self.lines_words[1] = {} elseif delta > 0 then -- append -- Explicitly reserve more slots in the array part of the lines table, -- all of them will be filled in the next loop, but in reverse order -- (which is why I am concerned about preallocation). Why is there no -- built-in function to do this in Lua??? for i = old_lines_count + 1, new_lines_count do self.lines_words[i] = false end -- Move forwards the unchanged elements in the tail part. for i = old_lines_count, old_last_line + 1, -1 do self.lines_words[i + delta] = self.lines_words[i] end -- Fill in new tables for the added lines. for i = old_last_line + 1, new_last_line do self.lines_words[i] = {} end elseif delta < 0 then -- remove -- Move backwards the unchanged elements in the tail part. for i = old_last_line + 1, old_lines_count do self.lines_words[i + delta] = self.lines_words[i] end -- Remove (already copied) tables from the end, in reverse order, so -- that we don't make holes in the lines table. for i = old_lines_count, new_lines_count + 1, -1 do self.lines_words[i] = nil end end self.lines_count = new_lines_count -- This branch is support code for handling cases when the user is -- editing the buffer while the async indexer is running. It solves the -- problem that if new lines are inserted or old lines are deleted, the -- indexes of each subsequent line will change, and so the indexer -- current position must be adjusted to not accidentally skip any lines. if self.timer:is_active() then if first_line <= self.timer_current_line and self.timer_current_line < old_last_line then -- The indexer was in the area of the current text edit. We will -- synchronously index this area it in a moment, so the indexer -- should resume from right after the edit range. self.timer_current_line = new_last_line elseif self.timer_current_line >= old_last_line then -- The indexer was somewhere past the current text edit. This means -- that the line numbers could have changed, and the indexing -- position must be adjusted accordingly. self.timer_current_line = self.timer_current_line + delta end end if first_line == self.last_edit_first_line and old_last_line == self.last_edit_last_line and new_last_line == self.last_edit_last_line then self.unique_words_curr_line_dirty = true else self.unique_words_curr_line_dirty = true self.unique_words_other_lines_dirty = true end self.last_edit_first_line = first_line self.last_edit_last_line = new_last_line self.words_distances_dirty = true -- replace lines self:index_range(first_line, new_last_line) end, on_reload = function(_, _) if self.closed then return true end clear_table(self.lines_words) self:stop_indexing_timer() self:start_indexing_timer() end, on_detach = function(_, _) if self.closed then return true end self:close() end, }) end ---@param linenr number ---@param line string function buffer.index_line(self, linenr, line) local words = self.lines_words[linenr] if not words then words = {} self.lines_words[linenr] = words else clear_table(words) end local word_i = 1 local remaining = line -- The if statement checks the number of bytes in the line string, but slices -- it on the number of characters. This is not a problem because the number -- of characters is always equal to (if only ASCII characters are used) or -- smaller than (if multibyte Unicode characters are used) the number of bytes. -- In other words, if the line contains more characters than the max limit, -- then it will always contain more bytes than the same limit. -- This check is here because calling a Vimscript function is relatively slow. if #remaining > self.opts.max_indexed_line_length then remaining = vim.fn.strcharpart(line, 0, self.opts.max_indexed_line_length) end while #remaining > 0 do -- NOTE: Both start and end indexes here are 0-based (unlike Lua strings), -- and the end index is not inclusive. local match_start, match_end = self.regex:match_str(remaining) if match_start and match_end then local word = remaining:sub(match_start + 1, match_end) if #word >= self.opts.keyword_length then words[word_i] = word word_i = word_i + 1 end remaining = remaining:sub(match_end + 1) else break end end end function buffer.get_words(self) -- NOTE: unique_words are rebuilt on-demand because it is common for the -- watcher callback to be fired VERY frequently, and a rebuild needs to go -- over ALL lines, not just the changed ones. if self.unique_words_other_lines_dirty then clear_table(self.unique_words_other_lines) self:rebuild_unique_words(self.unique_words_other_lines, 0, self.last_edit_first_line) self:rebuild_unique_words(self.unique_words_other_lines, self.last_edit_last_line, self.lines_count) self.unique_words_other_lines_dirty = false end if self.unique_words_curr_line_dirty then clear_table(self.unique_words_curr_line) self:rebuild_unique_words(self.unique_words_curr_line, self.last_edit_first_line, self.last_edit_last_line) self.unique_words_curr_line_dirty = false end return { self.unique_words_other_lines, self.unique_words_curr_line } end --- rebuild_unique_words function buffer.rebuild_unique_words(self, words_table, range_start, range_end) for i = range_start + 1, range_end do for _, w in ipairs(self.lines_words[i] or {}) do words_table[w] = true end end end ---@param cursor_row number ---@return table function buffer.get_words_distances(self, cursor_row) if self.words_distances_dirty or cursor_row ~= self.words_distances_last_cursor_row then local distances = self.words_distances clear_table(distances) for i = 1, self.lines_count do for _, w in ipairs(self.lines_words[i] or {}) do local dist = math.abs(cursor_row - i) distances[w] = distances[w] and math.min(distances[w], dist) or dist end end self.words_distances_last_cursor_row = cursor_row self.words_distances_dirty = false end return self.words_distances end return buffer ================================================ FILE: bundle/cmp-buffer/lua/cmp_buffer/init.lua ================================================ return require('cmp_buffer.source').new() ================================================ FILE: bundle/cmp-buffer/lua/cmp_buffer/source.lua ================================================ local buffer = require('cmp_buffer.buffer') ---@class cmp_buffer.Options ---@field public keyword_length number ---@field public keyword_pattern string ---@field public get_bufnrs fun(): number[] ---@field public indexing_batch_size number ---@field public indexing_interval number ---@field public max_indexed_line_length number ---@type cmp_buffer.Options local defaults = { keyword_length = 3, keyword_pattern = [[\%(-\?\d\+\%(\.\d\+\)\?\|\h\%(\w\|á\|Á\|é\|É\|í\|Í\|ó\|Ó\|ú\|Ú\)*\%(-\%(\w\|á\|Á\|é\|É\|í\|Í\|ó\|Ó\|ú\|Ú\)*\)*\)]], get_bufnrs = function() return { vim.api.nvim_get_current_buf() } end, indexing_batch_size = 1000, indexing_interval = 100, max_indexed_line_length = 1024 * 40, } local source = {} source.new = function() local self = setmetatable({}, { __index = source }) self.buffers = {} return self end ---@return cmp_buffer.Options source._validate_options = function(_, params) local opts = vim.tbl_deep_extend('keep', params.option, defaults) vim.validate({ keyword_length = { opts.keyword_length, 'number' }, keyword_pattern = { opts.keyword_pattern, 'string' }, get_bufnrs = { opts.get_bufnrs, 'function' }, indexing_batch_size = { opts.indexing_batch_size, 'number' }, indexing_interval = { opts.indexing_interval, 'number' }, }) return opts end source.get_keyword_pattern = function(self, params) local opts = self:_validate_options(params) return opts.keyword_pattern end source.complete = function(self, params, callback) local opts = self:_validate_options(params) local processing = false local bufs = self:_get_buffers(opts) for _, buf in ipairs(bufs) do if buf.timer:is_active() then processing = true break end end vim.defer_fn(function() local input = string.sub(params.context.cursor_before_line, params.offset) local items = {} local words = {} for _, buf in ipairs(bufs) do for _, word_list in ipairs(buf:get_words()) do for word, _ in pairs(word_list) do if not words[word] and input ~= word then words[word] = true table.insert(items, { label = word, dup = 0, }) end end end end callback({ items = items, isIncomplete = processing, }) end, processing and 100 or 0) end ---@param opts cmp_buffer.Options ---@return cmp_buffer.Buffer[] source._get_buffers = function(self, opts) local buffers = {} for _, bufnr in ipairs(opts.get_bufnrs()) do if not self.buffers[bufnr] then local new_buf = buffer.new(bufnr, opts) new_buf.on_close_cb = function() self.buffers[bufnr] = nil end new_buf:start_indexing_timer() new_buf:watch() self.buffers[bufnr] = new_buf end table.insert(buffers, self.buffers[bufnr]) end return buffers end source._get_distance_from_entry = function(self, entry) local buf = self.buffers[entry.context.bufnr] if buf then local distances = buf:get_words_distances(entry.context.cursor.line + 1) return distances[entry.completion_item.filterText] or distances[entry.completion_item.label] end end source.compare_locality = function(self, entry1, entry2) if entry1.context ~= entry2.context then return end local dist1 = self:_get_distance_from_entry(entry1) or math.huge local dist2 = self:_get_distance_from_entry(entry2) or math.huge if dist1 ~= dist2 then return dist1 < dist2 end end return source ================================================ FILE: bundle/cmp-buffer/lua/cmp_buffer/timer.lua ================================================ ---This timer matches the semantics of setInterval and clearInterval of ---Javascript. It provides a more reliable alternative to vim.loop.timer_start ---with a callback wrapped into a vim.schedule call by addressing two problems: ---1. Scheduled callbacks are invoked less frequently than a libuv timer with a --- small interval (1-5ms). This causes those callbacks to fill up the queue --- in the event loop, and so the callback function may get invoked multiple --- times on one event loop tick. In contrast, Javascript's setInterval --- guarantees that the callback is not invoked more frequently than the --- interval. ---2. When a libuv timer is stopped with vim.loop.timer_stop, it doesn't affect --- the callbacks that have already been scheduled. So timer_stop will not --- immediately stop the timer, the actual callback function will run one --- more time until it is finally stopped. This implementation ensures that --- timer_stop prevents any subsequent invocations of the callback. --- ---@class cmp_buffer.Timer ---@field public handle any ---@field private callback_wrapper_instance fun()|nil local timer = {} function timer.new() local self = setmetatable({}, { __index = timer }) self.handle = vim.loop.new_timer() self.callback_wrapper_instance = nil return self end ---@param timeout_ms number ---@param repeat_ms number ---@param callback fun() function timer:start(timeout_ms, repeat_ms, callback) -- This is the flag that fixes problem 1. local scheduled = false -- Creating a function on every call to timer_start ensures that we can always -- detect when a different callback is set by calling timer_start and prevent -- the old one from being invoked. local function callback_wrapper() if scheduled then return end scheduled = true vim.schedule(function() scheduled = false -- Either a different callback was set, or the timer has been stopped. if self.callback_wrapper_instance ~= callback_wrapper then return end callback() end) end self.handle:start(timeout_ms, repeat_ms, callback_wrapper) self.callback_wrapper_instance = callback_wrapper end function timer:stop() self.handle:stop() self.callback_wrapper_instance = nil end function timer:is_active() return self.handle:is_active() end function timer:close() self.handle:close() end return timer ================================================ FILE: bundle/cmp-cmdline/LICENSE ================================================ MIT License Copyright (c) 2023 hrsh7th Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/cmp-cmdline/README.md ================================================ # cmp-cmdline nvim-cmp source for vim's cmdline. # Setup Completions for `/` search based on current buffer: ```lua -- `/` cmdline setup. cmp.setup.cmdline('/', { mapping = cmp.mapping.preset.cmdline(), sources = { { name = 'buffer' } } }) ``` Completions for command mode: ```lua -- `:` cmdline setup. cmp.setup.cmdline(':', { mapping = cmp.mapping.preset.cmdline(), sources = cmp.config.sources({ { name = 'path' } }, { { name = 'cmdline', option = { ignore_cmds = { 'Man', '!' } } } }) }) ``` For the buffer source to work, [cmp-buffer](https://github.com/hrsh7th/cmp-buffer) is needed. # Option ### ignore_cmds: string[] Default: `{ "Man", "!" }` You can specify ignore command name. ================================================ FILE: bundle/cmp-cmdline/after/plugin/cmp_cmdline.lua ================================================ require('cmp').register_source('cmdline', require('cmp_cmdline').new()) ================================================ FILE: bundle/cmp-cmdline/lua/cmp_cmdline/init.lua ================================================ local cmp = require('cmp') ---@param patterns string[] ---@param head boolean ---@return table #regex object local function create_regex(patterns, head) local pattern = [[\%(]] .. table.concat(patterns, [[\|]]) .. [[\)]] if head then pattern = '^' .. pattern end return vim.regex(pattern) end local DEFAULT_OPTION = { ignore_cmds = { 'Man', '!' } } local MODIFIER_REGEX = create_regex({ [=[\s*abo\%[veleft]\s*]=], [=[\s*bel\%[owright]\s*]=], [=[\s*bo\%[tright]\s*]=], [=[\s*bro\%[wse]\s*]=], [=[\s*conf\%[irm]\s*]=], [=[\s*hid\%[e]\s*]=], [=[\s*keepal\s*t]=], [=[\s*keeppa\%[tterns]\s*]=], [=[\s*lefta\%[bove]\s*]=], [=[\s*loc\%[kmarks]\s*]=], [=[\s*nos\%[wapfile]\s*]=], [=[\s*rightb\%[elow]\s*]=], [=[\s*sil\%[ent]\s*]=], [=[\s*tab\s*]=], [=[\s*to\%[pleft]\s*]=], [=[\s*verb\%[ose]\s*]=], [=[\s*vert\%[ical]\s*]=], }, true) local COUNT_RANGE_REGEX = create_regex({ [=[\s*\%(\d\+\|\$\)\%[,\%(\d\+\|\$\)]\s*]=], [=[\s*'\%[<,'>]\s*]=], [=[\s*\%(\d\+\|\$\)\s*]=], }, true) local ONLY_RANGE_REGEX = create_regex({ [=[^\s*\%(\d\+\|\$\)\%[,\%(\d\+\|\$\)]\s*$]=], [=[^\s*'\%[<,'>]\s*$]=], [=[^\s*\%(\d\+\|\$\)\s*$]=], }, true) local OPTION_NAME_COMPLETION_REGEX = create_regex({ [=[se\%[tlocal][^=]*$]=], }, true) ---@param word string ---@return boolean? local function is_boolean_option(word) local ok, opt = pcall(function() return vim.opt[word]:get() end) if ok then return type(opt) == 'boolean' end end ---@class cmp.Cmdline.Definition ---@field ctype string ---@field regex string ---@field kind lsp.CompletionItemKind ---@field isIncomplete boolean ---@field exec fun(option: table, arglead: string, cmdline: string, force: boolean): lsp.CompletionItem[] ---@field fallback boolean? ---@type cmp.Cmdline.Definition[] local definitions = { { ctype = 'cmdline', regex = [=[[^[:blank:]]*$]=], kind = cmp.lsp.CompletionItemKind.Variable, isIncomplete = true, exec = function(option, arglead, cmdline, force) -- Ignore range only cmdline. (e.g.: 4, '<,'>) if not force and ONLY_RANGE_REGEX:match_str(cmdline) then return {} end local _, parsed = pcall(function() local target = cmdline local s, e = COUNT_RANGE_REGEX:match_str(target) if s and e then target = target:sub(e + 1) end -- nvim_parse_cmd throw error when the cmdline contains range specifier. return vim.api.nvim_parse_cmd(target, {}) or {} end) parsed = parsed or {} -- Check ignore cmd. if vim.tbl_contains(option.ignore_cmds, parsed.cmd) then return {} end -- Cleanup modifiers. -- We can just remove modifiers because modifiers is always separated by space. if arglead ~= cmdline then while true do local s, e = MODIFIER_REGEX:match_str(cmdline) if s == nil then break end cmdline = string.sub(cmdline, e + 1) end end -- Support `lua vim.treesitter._get|` or `'<,'>del|` completion. -- In this case, the `vim.fn.getcompletion` will return only `get_query` for `vim.treesitter.get_|`. -- We should detect `vim.treesitter.` and `get_query` separately. -- TODO: The `\h\w*` was choosed by huristic. We should consider more suitable detection. local fixed_input do local suffix_pos = vim.regex([[\h\w*$]]):match_str(arglead) fixed_input = string.sub(arglead, 1, suffix_pos or #arglead) end -- The `vim.fn.getcompletion` does not return `*no*cursorline` option. -- cmp-cmdline corrects `no` prefix for option name. local is_option_name_completion = OPTION_NAME_COMPLETION_REGEX:match_str(cmdline) ~= nil local items = {} local escaped = cmdline:gsub([[\\]], [[\\\\]]); for _, word_or_item in ipairs(vim.fn.getcompletion(escaped, 'cmdline')) do local word = type(word_or_item) == 'string' and word_or_item or word_or_item.word local item = { label = word } table.insert(items, item) if is_option_name_completion and is_boolean_option(word) then table.insert(items, vim.tbl_deep_extend('force', {}, item, { label = 'no' .. word, filterText = word, })) end end for _, item in ipairs(items) do if not string.find(item.label, fixed_input, 1, true) then item.label = fixed_input .. item.label end end return items end }, } local source = {} source.new = function() return setmetatable({ before_line = '', offset = -1, ctype = '', items = {}, }, { __index = source }) end source.get_keyword_pattern = function() return [=[[^[:blank:]]*]=] end source.get_trigger_characters = function() return { ' ', '.', '#', '-' } end source.complete = function(self, params, callback) local offset = 0 local ctype = '' local items = {} local kind local isIncomplete = false for _, def in ipairs(definitions) do local s, e = vim.regex(def.regex):match_str(params.context.cursor_before_line) if s and e then offset = s ctype = def.ctype items = def.exec( vim.tbl_deep_extend('keep', params.option or {}, DEFAULT_OPTION), string.sub(params.context.cursor_before_line, s + 1), params.context.cursor_before_line, params.context:get_reason() == cmp.ContextReason.Manual ) kind = def.kind isIncomplete = def.isIncomplete if not (#items == 0 and def.fallback) then break end end end local labels = {} for _, item in ipairs(items) do item.kind = kind labels[item.label] = true end -- `vim.fn.getcompletion` does not handle fuzzy matches. So, we must return all items, including items that were matched in the previous input. local should_merge_previous_items = false if #params.context.cursor_before_line > #self.before_line then should_merge_previous_items = string.find(params.context.cursor_before_line, self.before_line, 1, true) == 1 elseif #params.context.cursor_before_line < #self.before_line then should_merge_previous_items = string.find(self.before_line, params.context.cursor_before_line, 1, true) == 1 end if should_merge_previous_items and self.offset == offset and self.ctype == ctype then for _, item in ipairs(self.items) do if not labels[item.label] then table.insert(items, item) end end end self.before_line = params.context.cursor_before_line self.offset = offset self.ctype = ctype self.items = items callback({ isIncomplete = isIncomplete, items = items, }) end return source ================================================ FILE: bundle/cmp-dictionary/.github/workflows/test.yml ================================================ name: test on: push: branchs: - main paths: - '**.lua' jobs: integration: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Setup neovim uses: rhysd/action-setup-vim@v1 with: version: nightly neovim: true - name: Setup lua uses: leafo/gh-actions-lua@v8 with: luaVersion: luajit-2.1.0-beta3 - name: Setup luarocks uses: leafo/gh-actions-luarocks@v4 - name: Setup tools shell: bash run: | luarocks --lua-version=5.1 install luacheck luarocks --lua-version=5.1 install vusted - name: Run test shell: bash run: make ================================================ FILE: bundle/cmp-dictionary/.gitignore ================================================ /doc/tags ================================================ FILE: bundle/cmp-dictionary/.luacheckrc ================================================ globals = { 'vim', 'describe', 'it', 'assert', 'before_each' } max_line_length = false ================================================ FILE: bundle/cmp-dictionary/LICENSE ================================================ MIT License Copyright (c) 2021 uga-rosa Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/cmp-dictionary/Makefile ================================================ .PHONY: test vusted luacheck format test: luacheck vusted vusted: vusted lua/ luacheck: luacheck lua/ format: stylua ./lua -g '!**/kit/**' ================================================ FILE: bundle/cmp-dictionary/README.md ================================================ # cmp-dictionary A dictionary completion source for [nvim-cmp](https://github.com/hrsh7th/nvim-cmp). This plugin provides one of the easiest way to add desired completion candidates to nvim-cmp. ![image](https://user-images.githubusercontent.com/82267684/145278036-afa56b20-a365-4165-822f-98db5d7f11b1.png) # Requirements - neovim >= 0.7 - nvim-cmp - [plenary.nvim](https://github.com/nvim-lua/plenary.nvim) (only document feature) - [sqlite.lua](https://github.com/kkharji/sqlite.lua) (only if sqlite option is enabled) # Setting ```lua require("cmp").setup({ -- other settings sources = { -- other sources { name = "dictionary", keyword_length = 2, }, } }) local dict = require("cmp_dictionary") dict.setup({ -- The following are default values. exact = 2, first_case_insensitive = false, document = false, document_command = "wn %s -over", async = false, sqlite = false, max_items = -1, capacity = 5, debug = false, }) dict.switcher({ filetype = { lua = "/path/to/lua.dict", javascript = { "/path/to/js.dict", "/path/to/js2.dict" }, }, filepath = { [".*xmake.lua"] = { "/path/to/xmake.dict", "/path/to/lua.dict" }, ["%.tmux.*%.conf"] = { "/path/to/js.dict", "/path/to/js2.dict" }, }, spelllang = { en = "/path/to/english.dict", }, }) ``` See help for details. # Examples of usage See [wiki](https://github.com/uga-rosa/cmp-dictionary/wiki/Examples-of-usage) ================================================ FILE: bundle/cmp-dictionary/after/plugin/cmp_dictionary.lua ================================================ if vim.g.loaded_cmp_dictionary then return end vim.g.loaded_cmp_dictionary = true require("cmp").register_source("dictionary", require("cmp_dictionary.source").new()) local update = require("cmp_dictionary").update vim.api.nvim_create_user_command("CmpDictionaryUpdate", update, {}) vim.api.nvim_create_autocmd("OptionSet", { group = vim.api.nvim_create_augroup("cmp_dictionary_auto_update", {}), pattern = "dictionary", callback = update, }) update() ================================================ FILE: bundle/cmp-dictionary/doc/cmp-dictionary.txt ================================================ *cmp-dictionary.txt* Dictionary completion source for nvim-cmp ============================================================================== Contents *cmp-dictionary-contents* Introduction |cmp-dictionary-introduction| Commands |cmp-dictionary-commands| Setting |cmp-dictionary-setting| Option |cmp-dictionary-option| Find dictionaries |cmp-dictionary-find-dictionaries| Create dictionaries |cmp-dictionary-create-dictionaries| Lazy loading |cmp-dictionary-lazy-loading| ============================================================================== Introduction *cmp-dictionary-introduction* *cmp-dictionary* cmp-dictionary ~ A dictionary completion source for nvim-cmp. This plugins refers to the value of |'dictionary'| to load dictionaries and provide words in them as a completion candidates to nvim-cmp. The |'dictionary'| has global and buffer local values, but this plugin uses both. It is recommended to register basic dictionaries that you always want to use globally, and do dictionaries that are only used in special cases locally. See also |cmp-dictionary-switcher|. Requirements - neovim >= 0.7 - nvim-cmp - https://github.com/hrsh7th/nvim-cmp - plenary.nvim (only document feature) - https://github.com/nvim-lua/plenary.nvim ============================================================================== Commands *cmp-dictionary-commands* *CmpDictionaryUpdate* :CmpDictionaryUpdate ~ In lua, `require("cmp_dictionary").update()` Updates the dictionary. It is basically not necessary for the user to use it directly, as it is executed automatically by hooking into the updating of the |'dictionary'|. ============================================================================== Setting *cmp-dictionary-setting* Example setting. If you use the default settings, this plugin will work without calling setup. > require("cmp").setup({ -- other settings sources = { -- other sources { name = "dictionary", keyword_length = 2, }, } }) require("cmp_dictionary").setup({ -- Default settings exact = 2, first_case_insensitive = false, document = false, document_command = "wn %s -over", async = false, sqlite = false, max_items = 1000, capacity = 5, debug = false, }) < ============================================================================== Option *cmp-dictionary-option* *cmp-dictionary-iskeyword* iskeyword ~ This plugin looks at |iskeyword| in vim. If you use a dictionary that contains special characters, please configure it appropriately. For example, if you want to complete the word `\word`, you would need to add `set iskeyword+=\` to your configuration file. *cmp-dictionary-exact* exact ~ integer (default: 2) It decides how many characters at the beginning are used as the exact match. If -1, only candidates with an exact prefix match will be returns. Candidate refinement by this source is only prefix match using this value (Fuzzy matching is left to the nvim-cmp body). *cmp-dictionary-first_case_insensitive* first_case_insensitive ~ boolean (default: false) If true, it will ignore the case of the first character. For example, if you have "Example" and "excuse" in your dictionary, typing "Ex" will bring up "Example" and "Excuse" as candidates, while typing "ex" will bring up "example" and "excuse". *cmp-dictionary-document* document ~ boolean (default: false) plenary.nvim (https://github.com/nvim-lua/plenary.nvim) is required. If true, activate document using external command. See |cmp-dictionary-document-command| *cmp-dictionary-document_command* document_command ~ string or list-like table (default: 'wn %s -over') This command is used above document feature. The '%s' will contain the candidate word. The default `wn` command is wordnet. If a string, the arguments are recognized by separating it with a space character. If you don’t want that, use a table. If a table, the first element is the command and the second and subsequent are the arguments. For example, the default setting would be '{"wn", "%s", "-over"}'. *cmp-dictionary-sqlite* sqlite ~ boolean (default: false) If true, use sqlite3 database to manage items. Basically, false is faster. If you have a huge dictionary and it takes a long time to initialize, you may want to try it. You will need the following. - kkharji/sqlite.lua (https://github.com/kkharji/sqlite.lua) - sqlite (https://sqlite.org/index.html) The database path is `stdpath('data') . '/cmp-dictionary.sqlite3'` *cmp-dictionary-max_items* max_items ~ integer (default: -1) This is the maximum number of candidates that this source will return to the nvim-cmp body. -1 means no limit. Using a very large dictionary and returning tens of thousands of candidates, completion becomes very laggy. This is an option to avoid that. If you experience lag, setting this option and `exact` appropriately may help. *cmp-dictionary-capacity* capacity ~ integer (default: 5) Determines the maximum number of dictionaries to be cached. This will prevent duplicate reads when you switch dictionaries with the settings described above. *cmp-dictionary-debug* debug ~ boolean (default: false) If true, debug messages are output. ============================================================================== Utilities *cmp-dictionary-utilities* *cmp-dictionary-utilities-switcher* switcher({opts}) ~ {opts}: table> Automatically set locally a option |'dictionary'|, and loads dictionaries. - The `filetype` of {opts} has keys are compared to |'filetype'|. - The `filepath` of {opts} has keys of Lua patterns, which are compared to `expand("%:p")`. - The `spelllang` of {opts} has keys are compared to |'spelllang'|. Usage example: > local dict = require("cmp_dictionary") dict.switcher({ filetype = { lua = "/path/to/lua.dict", javascript = { "/path/to/js.dict", "/path/to/js2.dict" }, }, filepath = { [".*xmake.lua"] = { "/path/to/xmake.dict", "/path/to/lua.dict" }, ["%.tmux.*%.conf"] = { "/path/to/js.dict", "/path/to/js2.dict" }, }, spelllang = { en = "/path/to/english.dict", }, }) < ============================================================================== Find dictionaries *cmp-dictionary-find-dictionaries* You can download dic from aspell.net or installing by package manager, xbps extract to > $ ls /usr/share/dict/ american-english british-english words < After installing aspell and dictionary you want, run following command to get dic for this plugin (plain text). > aspell -d dump master | aspell -l expand > my.dict < ============================================================================== Create dictionaries *cmp-dictionary-create-dictionaries* The dictionary is recognized as a list delimited by '%s'. '%s' is a space, ','',', or '. For example, if you use the following file as a dictionary, the source to be added is'{"hello", "world", "!"}’. > hello world ! < ============================================================================== Lazy loading *cmp-dictionary-lazy-loading* By default, reading dictionaries are fired by `BufEnter`. So if this plugin loading is set to `InsertEnter` or something, the dictionary will not load and no candidates will appear. The workaround is to fire this update yourself when the plugin is loaded (after setup). For example, if you use packer.nvim, you can use > use({ "hrsh7th/nvim-cmp", event = "InsertEnter", -- other setting }) use({ "uga-rosa/cmp-dictionary", after = "nvim-cmp", config = function() require("cmp_dictionary").update() -- THIS -- OR -- vim.cmd("CmpDictionaryUpdate") end }) < vim:tw=78:ts=8:noet:ft=help:norl: ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/caches.lua ================================================ local util = require("cmp_dictionary.util") local lfu = require("cmp_dictionary.lfu") local config = require("cmp_dictionary.config") local utf8 = require("cmp_dictionary.lib.utf8") local Async = require("cmp_dictionary.kit.Async") local Worker = require("cmp_dictionary.kit.Thread.Worker") ---@class DictionaryData ---@field items lsp.CompletionItem[] ---@field mtime integer ---@field path string local Caches = { ---@type DictionaryData[] valid = {}, } local just_updated = false local dictCache = lfu.init(config.get("capacity")) ---Filter to keep only dictionaries that have been updated or have not yet been cached. ---@return {path: string, mtime: integer}[] local function need_to_load() local dictionaries = util.get_dictionaries() local updated_or_new = {} for _, dict in ipairs(dictionaries) do local path = vim.fn.expand(dict) if util.bool_fn.filereadable(path) then local mtime = vim.fn.getftime(path) local cache = dictCache:get(path) if cache and cache.mtime == mtime then table.insert(Caches.valid, cache) else table.insert(updated_or_new, { path = path, mtime = mtime }) end end end return updated_or_new end ---Create dictionary data from buffers ---@param path string ---@param name string ---@return lsp.CompletionItem[] items local read_items = Worker.new(function(path, name) local buffer = require("cmp_dictionary.util").read_file_sync(path) local items = {} local detail = ("belong to `%s`"):format(name) for w in vim.gsplit(buffer, "%s+") do if w ~= "" then table.insert(items, { label = w, detail = detail }) end end table.sort(items, function(item1, item2) return item1.label < item2.label end) return items end) ---@param path string ---@param mtime integer ---@return cmp_dictionary.kit.Async.AsyncTask local function cache_update(path, mtime) local name = vim.fn.fnamemodify(path, ":t") return read_items(path, name):next(function(items) local cache = { items = items, mtime = mtime, path = path, } dictCache:set(path, cache) table.insert(Caches.valid, cache) end) end local function update() local buftype = vim.api.nvim_buf_get_option(0, "buftype") if buftype ~= "" then return end Caches.valid = {} Async.all(vim.tbl_map(function(n) return cache_update(n.path, n.mtime) end, need_to_load())):next(function() just_updated = true end) end function Caches.update() util.debounce("update", update, 100) end ---@param req string ---@param isIncomplete boolean ---@return lsp.CompletionItem[] items ---@return boolean isIncomplete function Caches.request(req, isIncomplete) local items = {} isIncomplete = isIncomplete or false local ok, offset, codepoint ok, offset = pcall(utf8.offset, req, -1) if not ok then return items, isIncomplete end ok, codepoint = pcall(utf8.codepoint, req, offset) if not ok then return items, isIncomplete end local req_next = req:sub(1, offset - 1) .. utf8.char(codepoint + 1) local max_items = config.get("max_items") for _, cache in pairs(Caches.valid) do local start = util.binary_search(cache.items, req, function(vector, index, key) return vector[index].label >= key end) local last = util.binary_search(cache.items, req_next, function(vector, index, key) return vector[index].label >= key end) - 1 if start > 0 and last > 0 and start <= last then if max_items > 0 and last >= start + max_items then last = start + max_items isIncomplete = true end for i = start, last do local item = cache.items[i] table.insert(items, item) end end end return items, isIncomplete end function Caches.is_just_updated() if just_updated then just_updated = false return true end return false end return Caches ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/config.lua ================================================ local M = {} M.config = { exact = 2, first_case_insensitive = false, document = false, document_command = "wn %s -over", sqlite = false, max_items = -1, capacity = 5, debug = false, } ---@param opt table function M.setup(opt) vim.validate({ opt = { opt, "table" } }) M.config = vim.tbl_extend("keep", opt, M.config) local c = assert(M.config) vim.validate({ exact = { c.exact, "n" }, first_case_insensitive = { c.first_case_insensitive, "b" }, document = { c.document, "b" }, document_command = { c.document_command, { "s", "t" } }, max_items = { c.max_items, "n" }, capacity = { c.capacity, "n" }, debug = { c.debug, "b" }, }) end ---@param name string ---@return unknown function M.get(name) return M.config[name] end return M ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/db.lua ================================================ local util = require("cmp_dictionary.util") local config = require("cmp_dictionary.config") local Async = require("cmp_dictionary.kit.Async") local Worker = require("cmp_dictionary.kit.Thread.Worker") local SQLite = {} local just_updated = false ---@return table db function SQLite:open() if self.db then return self.db end local ok, sqlite = pcall(require, "sqlite") if not ok or sqlite == nil then error("[cmp-dictionary] sqlite.lua is not installed!") end local db_path = vim.fn.stdpath("data") .. "/cmp-dictionary.sqlite3" self.db = sqlite:open(db_path) if not self.db then error("[cmp-dictionary] Error in opening DB") end if not self.db:exists("dictionary") then self.db:create("dictionary", { filepath = { "text", primary = true }, mtime = { "integer", required = true }, valid = { "integer", default = 1 }, }) end if not self.db:exists("items") then self.db:create("items", { label = { "text", required = true }, detail = { "text", required = true }, filepath = { "text", required = true }, documentation = "text", }) end vim.api.nvim_create_autocmd("VimLeave", { group = vim.api.nvim_create_augroup("cmp-dictionary-database", {}), callback = function() self.db:close() end, }) return self.db end function SQLite:exists_index(name) self:open() -- Can't use db:select() for sqlite_master. local result = self.db:eval("SELECT * FROM sqlite_master WHERE type = 'index' AND name = ?", name) return type(result) == "table" and #result == 1 end function SQLite:index(tbl_name, column) local name = column .. "index" if SQLite:exists_index(name) then self.db:execute("DROP INDEX " .. name) end self.db:execute(("CREATE INDEX %s ON %s(%s)"):format(name, tbl_name, column)) end local function need_to_load(db) local dictionaries = util.get_dictionaries() local updated_or_new = {} for _, dictionary in ipairs(dictionaries) do local path = vim.fn.expand(dictionary) if util.bool_fn.filereadable(path) then local mtime = vim.fn.getftime(path) local mtime_cache = db:select("dictionary", { select = "mtime", where = { filepath = path } }) if mtime_cache[1] and mtime_cache[1].mtime == mtime then db:update("dictionary", { set = { valid = 1 }, where = { filepath = path }, }) else table.insert(updated_or_new, { path = path, mtime = mtime }) end end end return updated_or_new end local read_items = Worker.new(function(path, name) local buffer = require("cmp_dictionary.util").read_file_sync(path) local detail = string.format("belong to `%s`", name) local items = {} for w in vim.gsplit(buffer, "%s+") do if w ~= "" then table.insert(items, { label = w, detail = detail, filepath = path }) end end return items end) local function update(db) local buftype = vim.api.nvim_buf_get_option(0, "buftype") if buftype ~= "" then return end db:update("dictionary", { set = { valid = 0 } }) Async.all(vim.tbl_map(function(n) local path, mtime = n.path, n.mtime local name = vim.fn.fnamemodify(path, ":t") return read_items(path, name):next(function(items) db:delete("items", { where = { filepath = path } }) db:insert("items", items) -- Index for fast search SQLite:index("items", "label") SQLite:index("items", "filepath") -- If there is no data matching where, it automatically switches to insert. db:update("dictionary", { set = { mtime = mtime, valid = 1 }, where = { filepath = path }, }) end) end, need_to_load(db))):next(function() just_updated = true end) end local DB = {} function DB.update() local db = SQLite:open() util.debounce("update_db", function() update(db) end, 100) end ---@param req string ---@return lsp.CompletionItem[] items ---@return boolean isIncomplete function DB.request(req, _) local db = SQLite:open() local max_items = config.get("max_items") local items = db:eval( [[ SELECT label, detail, documentation FROM items WHERE filepath IN (SELECT filepath FROM dictionary WHERE valid = 1) AND label GLOB :a LIMIT :b ]], { a = req .. "*", b = max_items } ) if type(items) == "table" then return items, #items == max_items else return {}, false end end function DB.is_just_updated() if just_updated then just_updated = false return true end return false end ---@param completion_item lsp.CompletionItem ---@param callback fun(completion_item: lsp.CompletionItem|nil) function DB.document(completion_item, callback) if completion_item.documentation then callback(completion_item) return end local db = SQLite:open() local label = completion_item.label require("cmp_dictionary.document")(completion_item, function(completion_item_) if completion_item_ and completion_item_.documentation then -- By first_case_insensitive, the case of the label is ambiguous. db:eval( "UPDATE items SET documentation = :a WHERE label like :b", { a = completion_item_.documentation, b = label } ) end callback(completion_item_) end) end return DB ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/document.lua ================================================ local config = require("cmp_dictionary.config") local document_cache = require("cmp_dictionary.lfu").init(100) ---@param word string ---@return string ---@return string[] local function get_command(word) local command = config.get("document_command") local args if type(command) == "table" then -- copy args = {} for i, v in ipairs(command) do args[i] = v end elseif type(command) == "string" then args = vim.split(command, " ") end local cmd = table.remove(args, 1) for i, arg in ipairs(args) do if arg:find("%s", 1, true) then args[i] = arg:format(word) end end return cmd, args end ---@param completion_item lsp.CompletionItem ---@param callback fun(completion_item: lsp.CompletionItem|nil) local function get_document(completion_item, callback) local ok, Job = pcall(require, "plenary.job") if not ok then vim.notify("[cmp-dictionary] document feature requires plenary.nvim") return end local word = completion_item.label local command, args = get_command(word) if not command then callback(completion_item) return end Job:new({ command = command, args = args, on_exit = vim.schedule_wrap(function(j) local result = table.concat(j:result(), "\n") document_cache:set(word, result) completion_item.documentation = result callback(completion_item) end), }):start() end ---@param completion_item lsp.CompletionItem ---@param callback fun(completion_item: lsp.CompletionItem|nil) local function resolve(completion_item, callback) if config.get("document") then local cached = document_cache:get(completion_item.label) if cached then completion_item.documentation = cached callback(completion_item) else get_document(completion_item, callback) end else callback(completion_item) end end return resolve ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/init.lua ================================================ local config = require("cmp_dictionary.config") local M = {} function M.setup(opt) require("cmp_dictionary.config").setup(opt) end function M.update() if config.get("sqlite") then require("cmp_dictionary.db").update() else require("cmp_dictionary.caches").update() end end ---@alias dictionaries table ---#key is a pattern, value is a value of option 'dictionary'. ---@param opt { filetype: dictionaries, filepath: dictionaries, spelllang: dictionaries } --- Usage: --- require("cmp_dictionary").switcher({ --- filetype = { --- lua = "/path/to/lua.dict", --- javascript = { "/path/to/js.dict", "/path/to/js2.dict" }, --- }, --- filepath = { --- ["*xmake.lua"] = { "/path/to/xmake.dict", "/path/to/lua.dict" } --- [".tmux*.conf"] = { "/path/to/js.dict", "/path/to/js2.dict" }, --- }, --- spelllang = { --- en = "/path/to/english.dict", --- }, -- }) function M.switcher(opt) vim.validate({ opt = { opt, "table" } }) local id = vim.api.nvim_create_augroup("cmp_dictionary", {}) local function callback() vim.opt_local.dictionary = {} if opt.filetype then vim.opt_local.dictionary:append(opt.filetype[vim.bo.filetype] or "") end if opt.filepath then local fullpath = vim.fn.expand("%:p") for path, dict in pairs(opt.filepath) do if fullpath:find(path) then vim.opt_local.dictionary:append(dict) end end end if opt.spelllang then for _, sl in ipairs(vim.opt.spelllang:get()) do vim.opt_local.dictionary:append(opt.spelllang[sl] or "") end end M.update() end if opt.filetype then vim.api.nvim_create_autocmd("FileType", { group = id, pattern = vim.tbl_keys(opt.filetype), callback = callback, }) end if opt.filepath then vim.api.nvim_create_autocmd("BufEnter", { group = id, callback = callback, }) end if opt.spelllang then vim.api.nvim_create_autocmd("OptionSet", { group = id, pattern = "spelllang", callback = callback, }) end callback() end return M ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/init_spec.lua ================================================ local main = require("cmp_dictionary") local function dictionary() return vim.opt_local.dictionary:get() end describe("Test for init.lua", function() before_each(function() vim.opt_local.dictionary = {} end) describe("switcher", function() describe("filetype", function() it("single dictionary", function() main.switcher({ filetype = { lua = "/path/to/lua.dict", }, }) vim.opt.filetype = "lua" assert.are.same({ "/path/to/lua.dict" }, dictionary()) end) it("multi dictionaries", function() main.switcher({ filetype = { javascript = { "/path/to/js.dict", "/path/to/js2.dict" }, }, }) vim.opt.filetype = "javascript" assert.are.same({ "/path/to/js.dict", "/path/to/js2.dict" }, dictionary()) end) end) end) end) ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/App/Cache.lua ================================================ ---Create cache key. ---@private ---@param key string[]|string ---@return string local function _key(key) if type(key) == 'table' then return table.concat(key, ':') end return key end ---@class cmp_dictionary.kit.App.Cache ---@field private keys table ---@field private entries table local Cache = {} Cache.__index = Cache ---Create new cache instance. function Cache.new() local self = setmetatable({}, Cache) self.keys = {} self.entries = {} return self end ---Get cache entry. ---@param key string[]|string ---@return any function Cache:get(key) return self.entries[_key(key)] end ---Set cache entry. ---@param key string[]|string ---@param val any function Cache:set(key, val) key = _key(key) self.keys[key] = true self.entries[key] = val end ---Delete cache entry. ---@param key string[]|string function Cache:del(key) key = _key(key) self.keys[key] = nil self.entries[key] = nil end ---Return this cache has the key entry or not. ---@param key string[]|string ---@return boolean function Cache:has(key) key = _key(key) return not not self.keys[key] end ---Ensure cache entry. ---@generic T ---@param key string[]|string ---@param callback function(): T ---@return T function Cache:ensure(key, callback) if not self:has(key) then self:set(key, callback()) end return self:get(key) end return Cache ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/App/Character.lua ================================================ ---@diagnostic disable: discard-returns local Character = {} ---@type table Character.alpha = {} string.gsub('abcdefghijklmnopqrstuvwxyz', '.', function(char) Character.alpha[string.byte(char)] = char end) ---@type table Character.digit = {} string.gsub('1234567890', '.', function(char) Character.digit[string.byte(char)] = char end) ---@type table Character.white = {} string.gsub(' \t\n', '.', function(char) Character.white[string.byte(char)] = char end) ---Return specified byte is alpha or not. ---@param byte integer ---@return boolean function Character.is_alpha(byte) return Character.alpha[byte] ~= nil or Character.alpha[byte + 32] ~= nil end ---Return specified byte is digit or not. ---@param byte integer ---@return boolean function Character.is_digit(byte) return Character.digit[byte] ~= nil end ---Return specified byte is alpha or not. ---@param byte integer ---@return boolean function Character.is_alnum(byte) return Character.is_alpha(byte) or Character.is_digit(byte) end ---Return specified byte is white or not. ---@param byte integer ---@return boolean function Character.is_white(byte) return Character.white[byte] ~= nil end ---Return specified byte is symbol or not. ---@param byte integer ---@return boolean function Character.is_symbol(byte) return not Character.is_alnum(byte) and not Character.is_white(byte) end return Character ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/App/Config.lua ================================================ local kit = require('cmp_dictionary.kit') local Cache = require('cmp_dictionary.kit.App.Cache') ---@class cmp_dictionary.kit.App.Config.Schema ---@alias cmp_dictionary.kit.App.Config.SchemaInternal cmp_dictionary.kit.App.Config.Schema|{ revision: integer } ---@class cmp_dictionary.kit.App.Config ---@field private _cache cmp_dictionary.kit.App.Cache ---@field private _default cmp_dictionary.kit.App.Config.SchemaInternal ---@field private _global cmp_dictionary.kit.App.Config.SchemaInternal ---@field private _filetype table ---@field private _buffer table local Config = {} Config.__index = Config ---Create new config instance. ---@param default cmp_dictionary.kit.App.Config.Schema function Config.new(default) local self = setmetatable({}, Config) self._cache = Cache.new() self._default = default self._global = {} self._filetype = {} self._buffer = {} return self end ---Update global config. ---@param config cmp_dictionary.kit.App.Config.Schema function Config:global(config) local revision = (self._global.revision or 1) + 1 self._global = config or {} self._global.revision = revision end ---Update filetype config. ---@param filetypes string|string[] ---@param config cmp_dictionary.kit.App.Config.Schema function Config:filetype(filetypes, config) for _, filetype in ipairs(kit.to_array(filetypes)) do local revision = ((self._filetype[filetype] or {}).revision or 1) + 1 self._filetype[filetype] = config or {} self._filetype[filetype].revision = revision end end ---Update filetype config. ---@param bufnr integer ---@param config cmp_dictionary.kit.App.Config.Schema function Config:buffer(bufnr, config) bufnr = bufnr == 0 and vim.api.nvim_get_current_buf() or bufnr local revision = ((self._buffer[bufnr] or {}).revision or 1) + 1 self._buffer[bufnr] = config or {} self._buffer[bufnr].revision = revision end ---Get current configuration. ---@return cmp_dictionary.kit.App.Config.Schema function Config:get() local filetype = vim.api.nvim_buf_get_option(0, 'filetype') local bufnr = vim.api.nvim_get_current_buf() return self._cache:ensure({ tostring(self._global.revision or 0), tostring((self._buffer[bufnr] or {}).revision or 0), tostring((self._filetype[filetype] or {}).revision or 0), }, function() local config = self._default config = kit.merge(self._global, config) config = kit.merge(self._filetype[filetype] or {}, config) config = kit.merge(self._buffer[bufnr] or {}, config) config.revision = nil return config end) end ---Create setup interface. ---@return fun(config: cmp_dictionary.kit.App.Config.Schema)|{ filetype: fun(filetypes: string|string[], config: cmp_dictionary.kit.App.Config.Schema), buffer: fun(bufnr: integer, config: cmp_dictionary.kit.App.Config.Schema) } function Config:create_setup_interface() return setmetatable({ ---@param filetypes string|string[] ---@param config cmp_dictionary.kit.App.Config.Schema filetype = function(filetypes, config) self:filetype(filetypes, config) end, ---@param bufnr integer ---@param config cmp_dictionary.kit.App.Config.Schema buffer = function(bufnr, config) self:buffer(bufnr, config) end, }, { ---@param config cmp_dictionary.kit.App.Config.Schema __call = function(_, config) self:global(config) end, }) end return Config ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/App/Event.lua ================================================ ---@class cmp_dictionary.kit.App.Event ---@field private _events table local Event = {} Event.__index = Event ---Create new Event. function Event.new() local self = setmetatable({}, Event) self._events = {} return self end ---Register listener. ---@param name string ---@param listener function ---@return function function Event:on(name, listener) self._events[name] = self._events[name] or {} table.insert(self._events[name], listener) return function() self:off(name, listener) end end ---Register once listener. ---@param name string ---@param listener function function Event:once(name, listener) local off off = self:on(name, function(...) listener(...) off() end) end ---Off specified listener from event. ---@param name string ---@param listener function function Event:off(name, listener) self._events[name] = self._events[name] or {} if not listener then self._events[name] = nil else for i = #self._events[name], 1, -1 do if self._events[name][i] == listener then table.remove(self._events[name], i) break end end end end ---Return if the listener is registered. ---@param name string ---@param listener? function ---@return boolean function Event:has(name, listener) self._events[name] = self._events[name] or {} for _, v in ipairs(self._events[name]) do if v == listener then return true end end return false end ---Emit event. ---@param name string ---@vararg any function Event:emit(name, ...) self._events[name] = self._events[name] or {} for _, v in ipairs(self._events[name]) do v(...) end end return Event ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Async/AsyncTask.lua ================================================ ---@diagnostic disable: invisible local uv = require('luv') local kit = require('cmp_dictionary.kit') local is_thread = vim.is_thread() ---@class cmp_dictionary.kit.Async.AsyncTask ---@field private value any ---@field private status cmp_dictionary.kit.Async.AsyncTask.Status ---@field private synced boolean ---@field private chained boolean ---@field private children (fun(): any)[] local AsyncTask = {} AsyncTask.__index = AsyncTask ---Settle the specified task. ---@param task cmp_dictionary.kit.Async.AsyncTask ---@param status cmp_dictionary.kit.Async.AsyncTask.Status ---@param value any local function settle(task, status, value) task.status = status task.value = value for _, c in ipairs(task.children) do c() end if status == AsyncTask.Status.Rejected then if not task.chained and not task.synced then local timer = uv.new_timer() timer:start( 0, 0, kit.safe_schedule_wrap(function() timer:stop() timer:close() if not task.chained and not task.synced then AsyncTask.on_unhandled_rejection(value) end end) ) end end end ---@enum cmp_dictionary.kit.Async.AsyncTask.Status AsyncTask.Status = { Pending = 0, Fulfilled = 1, Rejected = 2, } ---Handle unhandled rejection. ---@param err any function AsyncTask.on_unhandled_rejection(err) error('AsyncTask.on_unhandled_rejection: ' .. tostring(err)) end ---Return the value is AsyncTask or not. ---@param value any ---@return boolean function AsyncTask.is(value) return getmetatable(value) == AsyncTask end ---Resolve all tasks. ---@param tasks any[] ---@return cmp_dictionary.kit.Async.AsyncTask function AsyncTask.all(tasks) return AsyncTask.new(function(resolve, reject) local values = {} local count = 0 for i, task in ipairs(tasks) do task:dispatch(function(value) values[i] = value count = count + 1 if #tasks == count then resolve(values) end end, reject) end end) end ---Resolve first resolved task. ---@param tasks any[] ---@return cmp_dictionary.kit.Async.AsyncTask function AsyncTask.race(tasks) return AsyncTask.new(function(resolve, reject) for _, task in ipairs(tasks) do task:dispatch(resolve, reject) end end) end ---Create resolved AsyncTask. ---@param v any ---@return cmp_dictionary.kit.Async.AsyncTask function AsyncTask.resolve(v) if AsyncTask.is(v) then return v end return AsyncTask.new(function(resolve) resolve(v) end) end ---Create new AsyncTask. ---@NOET: The AsyncTask has similar interface to JavaScript Promise but the AsyncTask can be worked as synchronous. ---@param v any ---@return cmp_dictionary.kit.Async.AsyncTask function AsyncTask.reject(v) if AsyncTask.is(v) then return v end return AsyncTask.new(function(_, reject) reject(v) end) end ---Create new async task object. ---@param runner fun(resolve?: fun(value: any?), reject?: fun(err: any?)) function AsyncTask.new(runner) local self = setmetatable({}, AsyncTask) self.value = nil self.status = AsyncTask.Status.Pending self.synced = false self.chained = false self.children = {} local ok, err = pcall(runner, function(res) if self.status == AsyncTask.Status.Pending then settle(self, AsyncTask.Status.Fulfilled, res) end end, function(err) if self.status == AsyncTask.Status.Pending then settle(self, AsyncTask.Status.Rejected, err) end end) if not ok then settle(self, AsyncTask.Status.Rejected, err) end return self end ---Sync async task. ---@NOTE: This method uses `vim.wait` so that this can't wait the typeahead to be empty. ---@param timeout? number ---@return any function AsyncTask:sync(timeout) self.synced = true if is_thread then while true do if self.status ~= AsyncTask.Status.Pending then break end uv.run('once') end else vim.wait(timeout or 24 * 60 * 60 * 1000, function() return self.status ~= AsyncTask.Status.Pending end, 1, false) end if self.status == AsyncTask.Status.Rejected then error(self.value, 2) end if self.status ~= AsyncTask.Status.Fulfilled then error('AsyncTask:sync is timeout.', 2) end return self.value end ---Await async task. ---@param schedule? boolean ---@return any function AsyncTask:await(schedule) local Async = require('cmp_dictionary.kit.Async') local ok, res = pcall(Async.await, self) if not ok then error(res, 2) end if schedule then Async.await(Async.schedule()) end return res end ---Return current state of task. ---@return { status: cmp_dictionary.kit.Async.AsyncTask.Status, value: any } function AsyncTask:state() return { status = self.status, value = self.value, } end ---Register next step. ---@param on_fulfilled fun(value: any): any function AsyncTask:next(on_fulfilled) return self:dispatch(on_fulfilled, function(err) error(err, 2) end) end ---Register catch step. ---@param on_rejected fun(value: any): any ---@return cmp_dictionary.kit.Async.AsyncTask function AsyncTask:catch(on_rejected) return self:dispatch(function(value) return value end, on_rejected) end ---Dispatch task state. ---@param on_fulfilled fun(value: any): any ---@param on_rejected fun(err: any): any ---@return cmp_dictionary.kit.Async.AsyncTask function AsyncTask:dispatch(on_fulfilled, on_rejected) self.chained = true local function dispatch(resolve, reject) local on_next = self.status == AsyncTask.Status.Fulfilled and on_fulfilled or on_rejected local res = on_next(self.value) if AsyncTask.is(res) then res:dispatch(resolve, reject) else resolve(res) end end if self.status == AsyncTask.Status.Pending then return AsyncTask.new(function(resolve, reject) table.insert(self.children, function() dispatch(resolve, reject) end) end) end return AsyncTask.new(dispatch) end return AsyncTask ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Async/init.lua ================================================ local AsyncTask = require('cmp_dictionary.kit.Async.AsyncTask') local Async = {} ---@type table Async.___threads___ = {} ---Alias of AsyncTask.all. ---@param tasks cmp_dictionary.kit.Async.AsyncTask[] ---@return cmp_dictionary.kit.Async.AsyncTask function Async.all(tasks) return AsyncTask.all(tasks) end ---Alias of AsyncTask.race. ---@param tasks cmp_dictionary.kit.Async.AsyncTask[] ---@return cmp_dictionary.kit.Async.AsyncTask function Async.race(tasks) return AsyncTask.race(tasks) end ---Alias of AsyncTask.resolve(v). ---@param v any ---@return cmp_dictionary.kit.Async.AsyncTask function Async.resolve(v) return AsyncTask.resolve(v) end ---Alias of AsyncTask.reject(v). ---@param v any ---@return cmp_dictionary.kit.Async.AsyncTask function Async.reject(v) return AsyncTask.reject(v) end ---Alias of AsyncTask.new(...). ---@param runner fun(resolve: fun(value: any), reject: fun(err: any)) ---@return cmp_dictionary.kit.Async.AsyncTask function Async.new(runner) return AsyncTask.new(runner) end ---Run async function immediately. ---@generic T: fun(): cmp_dictionary.kit.Async.AsyncTask ---@param runner T ---@return cmp_dictionary.kit.Async.AsyncTask function Async.run(runner) return Async.async(runner)() end ---Return current context is async coroutine or not. ---@return boolean function Async.in_context() return Async.___threads___[coroutine.running()] ~= nil end ---Create async function. ---@generic T: fun(...): cmp_dictionary.kit.Async.AsyncTask ---@param runner T ---@return T function Async.async(runner) return function(...) local args = { ... } local thread = coroutine.create(runner) return AsyncTask.new(function(resolve, reject) Async.___threads___[thread] = 1 local function next_step(ok, v) if coroutine.status(thread) == 'dead' then Async.___threads___[thread] = nil if AsyncTask.is(v) then v:dispatch(resolve, reject) else if ok then resolve(v) else reject(v) end end return end v:dispatch(function(...) next_step(coroutine.resume(thread, true, ...)) end, function(...) next_step(coroutine.resume(thread, false, ...)) end) end next_step(coroutine.resume(thread, unpack(args))) end) end end ---Await async task. ---@param task cmp_dictionary.kit.Async.AsyncTask ---@return any function Async.await(task) if not Async.___threads___[coroutine.running()] then error('`Async.await` must be called in async context.') end if not AsyncTask.is(task) then error('`Async.await` must be called with AsyncTask.') end local ok, res = coroutine.yield(task) if not ok then error(res, 2) end return res end ---Create vim.schedule task. ---@return cmp_dictionary.kit.Async.AsyncTask function Async.schedule() return AsyncTask.new(function(resolve) vim.schedule(resolve) end) end ---Create vim.defer_fn task. ---@param timeout integer ---@return cmp_dictionary.kit.Async.AsyncTask function Async.timeout(timeout) return AsyncTask.new(function(resolve) vim.defer_fn(resolve, timeout) end) end ---Create async function from callback function. ---@generic T: ... ---@param runner fun(...: T) ---@param option? { schedule?: boolean, callback?: integer } ---@return fun(...: T): cmp_dictionary.kit.Async.AsyncTask function Async.promisify(runner, option) option = option or {} option.schedule = not vim.is_thread() and (option.schedule or false) option.callback = option.callback or nil return function(...) local args = { ... } return AsyncTask.new(function(resolve, reject) local max = #args + 1 local pos = math.min(option.callback or max, max) table.insert(args, pos, function(err, ...) if option.schedule and vim.in_fast_event() then resolve = vim.schedule_wrap(resolve) reject = vim.schedule_wrap(reject) end if err then reject(err) else resolve(...) end end) runner(unpack(args)) end) end end return Async ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/IO/init.lua ================================================ local uv = require('luv') local Async = require('cmp_dictionary.kit.Async') local is_windows = uv.os_uname().sysname:lower() == 'windows' ---@see https://github.com/luvit/luvit/blob/master/deps/fs.lua local IO = {} ---@class cmp_dictionary.kit.IO.UV.Stat ---@field public dev integer ---@field public mode integer ---@field public nlink integer ---@field public uid integer ---@field public gid integer ---@field public rdev integer ---@field public ino integer ---@field public size integer ---@field public blksize integer ---@field public blocks integer ---@field public flags integer ---@field public gen integer ---@field public atime { sec: integer, nsec: integer } ---@field public mtime { sec: integer, nsec: integer } ---@field public ctime { sec: integer, nsec: integer } ---@field public birthtime { sec: integer, nsec: integer } ---@field public type string ---@enum cmp_dictionary.kit.IO.UV.AccessMode IO.AccessMode = { r = 'r', rs = 'rs', sr = 'sr', ['r+'] = 'r+', ['rs+'] = 'rs+', ['sr+'] = 'sr+', w = 'w', wx = 'wx', xw = 'xw', ['w+'] = 'w+', ['wx+'] = 'wx+', ['xw+'] = 'xw+', a = 'a', ax = 'ax', xa = 'xa', ['a+'] = 'a+', ['ax+'] = 'ax+', ['xa+'] = 'xa+', } ---@enum cmp_dictionary.kit.IO.WalkStatus IO.WalkStatus = { SkipDir = 1, Break = 2, } ---@type fun(path: string): cmp_dictionary.kit.Async.AsyncTask IO.fs_stat = Async.promisify(uv.fs_stat) ---@type fun(path: string): cmp_dictionary.kit.Async.AsyncTask IO.fs_unlink = Async.promisify(uv.fs_unlink) ---@type fun(path: string): cmp_dictionary.kit.Async.AsyncTask IO.fs_rmdir = Async.promisify(uv.fs_rmdir) ---@type fun(path: string, mode: integer): cmp_dictionary.kit.Async.AsyncTask IO.fs_mkdir = Async.promisify(uv.fs_mkdir) ---@type fun(from: string, to: string, option?: { excl?: boolean, ficlone?: boolean, ficlone_force?: boolean }): cmp_dictionary.kit.Async.AsyncTask IO.fs_copyfile = Async.promisify(uv.fs_copyfile) ---@type fun(path: string, flags: cmp_dictionary.kit.IO.UV.AccessMode, mode: integer): cmp_dictionary.kit.Async.AsyncTask IO.fs_open = Async.promisify(uv.fs_open) ---@type fun(fd: userdata): cmp_dictionary.kit.Async.AsyncTask IO.fs_close = Async.promisify(uv.fs_close) ---@type fun(fd: userdata, chunk_size: integer, offset?: integer): cmp_dictionary.kit.Async.AsyncTask IO.fs_read = Async.promisify(uv.fs_read) ---@type fun(fd: userdata, content: string, offset?: integer): cmp_dictionary.kit.Async.AsyncTask IO.fs_write = Async.promisify(uv.fs_write) ---@type fun(fd: userdata, offset: integer): cmp_dictionary.kit.Async.AsyncTask IO.fs_ftruncate = Async.promisify(uv.fs_ftruncate) ---@type fun(path: string, chunk_size?: integer): cmp_dictionary.kit.Async.AsyncTask IO.fs_opendir = Async.promisify(uv.fs_opendir, { callback = 2 }) ---@type fun(fd: userdata): cmp_dictionary.kit.Async.AsyncTask IO.fs_closedir = Async.promisify(uv.fs_closedir) ---@type fun(fd: userdata): cmp_dictionary.kit.Async.AsyncTask IO.fs_readdir = Async.promisify(uv.fs_readdir) ---@type fun(path: string): cmp_dictionary.kit.Async.AsyncTask IO.fs_scandir = Async.promisify(uv.fs_scandir) ---@type fun(path: string): cmp_dictionary.kit.Async.AsyncTask IO.fs_realpath = Async.promisify(uv.fs_realpath) ---Return if the path is directory. ---@param path string ---@return cmp_dictionary.kit.Async.AsyncTask function IO.is_directory(path) path = IO.normalize(path) return Async.run(function() return IO.fs_stat(path):catch(function() return {} end):await().type == 'directory' end) end ---Read file. ---@param path string ---@param chunk_size? integer ---@return cmp_dictionary.kit.Async.AsyncTask function IO.read_file(path, chunk_size) chunk_size = chunk_size or 1024 return Async.run(function() local stat = IO.fs_stat(path):await() local fd = IO.fs_open(path, IO.AccessMode.r, tonumber('755', 8)):await() local ok, res = pcall(function() local chunks = {} local offset = 0 while offset < stat.size do local chunk = IO.fs_read(fd, math.min(chunk_size, stat.size - offset), offset):await() if not chunk then break end table.insert(chunks, chunk) offset = offset + #chunk end return table.concat(chunks, ''):sub(1, stat.size - 1) -- remove EOF. end) IO.fs_close(fd):await() if not ok then error(res) end return res end) end ---Write file. ---@param path string ---@param content string ---@param chunk_size? integer function IO.write_file(path, content, chunk_size) chunk_size = chunk_size or 1024 content = content .. '\n' -- add EOF. return Async.run(function() local fd = IO.fs_open(path, IO.AccessMode.w, tonumber('755', 8)):await() local ok, err = pcall(function() local offset = 0 while offset < #content do local chunk = content:sub(offset + 1, offset + chunk_size) offset = offset + IO.fs_write(fd, chunk, offset):await() end IO.fs_ftruncate(fd, offset):await() end) IO.fs_close(fd):await() if not ok then error(err) end end) end ---Create directory. ---@param path string ---@param mode integer ---@param option? { recursive?: boolean } function IO.mkdir(path, mode, option) path = IO.normalize(path) option = option or {} option.recursive = option.recursive or false return Async.run(function() if not option.recursive then IO.fs_mkdir(path, mode):await() else local not_exists = {} local current = path while current ~= '/' do local stat = IO.fs_stat(current):catch(function() end):await() if stat then break end table.insert(not_exists, 1, current) current = IO.dirname(current) end for _, dir in ipairs(not_exists) do IO.fs_mkdir(dir, mode):await() end end end) end ---Remove file or directory. ---@param start_path string ---@param option? { recursive?: boolean } function IO.rm(start_path, option) start_path = IO.normalize(start_path) option = option or {} option.recursive = option.recursive or false return Async.run(function() local stat = IO.fs_stat(start_path):await() if stat.type == 'directory' then local children = IO.scandir(start_path):await() if not option.recursive and #children > 0 then error(('IO.rm: `%s` is a directory and not empty.'):format(start_path)) end IO.walk(start_path, function(err, entry) if err then error('IO.rm: ' .. tostring(err)) end if entry.type == 'directory' then IO.fs_rmdir(entry.path):await() else IO.fs_unlink(entry.path):await() end end, { postorder = true }):await() else IO.fs_unlink(start_path):await() end end) end ---Copy file or directory. ---@param from any ---@param to any ---@param option? { recursive?: boolean } ---@return cmp_dictionary.kit.Async.AsyncTask function IO.cp(from, to, option) from = IO.normalize(from) to = IO.normalize(to) option = option or {} option.recursive = option.recursive or false return Async.run(function() local stat = IO.fs_stat(from):await() if stat.type == 'directory' then if not option.recursive then error(('IO.cp: `%s` is a directory.'):format(from)) end IO.walk(from, function(err, entry) if err then error('IO.cp: ' .. tostring(err)) end local new_path = entry.path:gsub(vim.pesc(from), to) if entry.type == 'directory' then IO.mkdir(new_path, tonumber(stat.mode, 10), { recursive = true }):await() else IO.fs_copyfile(entry.path, new_path):await() end end):await() else IO.fs_copyfile(from, to):await() end end) end ---Walk directory entries recursively. ---@param start_path string ---@param callback fun(err: string|nil, entry: { path: string, type: string }): cmp_dictionary.kit.IO.WalkStatus? ---@param option? { postorder?: boolean } function IO.walk(start_path, callback, option) start_path = IO.normalize(start_path) option = option or {} option.postorder = option.postorder or false return Async.run(function() local function walk_pre(dir) local ok, iter_entries = pcall(function() return IO.iter_scandir(dir.path):await() end) if not ok then return callback(iter_entries, dir) end local status = callback(nil, dir) if status == IO.WalkStatus.SkipDir then return elseif status == IO.WalkStatus.Break then return status end for entry in iter_entries do if entry.type == 'directory' then if walk_pre(entry) == IO.WalkStatus.Break then return IO.WalkStatus.Break end else if callback(nil, entry) == IO.WalkStatus.Break then return IO.WalkStatus.Break end end end end local function walk_post(dir) local ok, iter_entries = pcall(function() return IO.iter_scandir(dir.path):await() end) if not ok then return callback(iter_entries, dir) end for entry in iter_entries do if entry.type == 'directory' then if walk_post(entry) == IO.WalkStatus.Break then return IO.WalkStatus.Break end else if callback(nil, entry) == IO.WalkStatus.Break then return IO.WalkStatus.Break end end end return callback(nil, dir) end if not IO.is_directory(start_path) then error(('IO.walk: `%s` is not a directory.'):format(start_path)) end if option.postorder then walk_post({ path = start_path, type = 'directory' }) else walk_pre({ path = start_path, type = 'directory' }) end end) end ---Scan directory entries. ---@param path string ---@return cmp_dictionary.kit.Async.AsyncTask function IO.scandir(path) path = IO.normalize(path) return Async.run(function() local fd = IO.fs_scandir(path):await() local entries = {} while true do local name, type = uv.fs_scandir_next(fd) if not name then break end table.insert(entries, { type = type, path = IO.join(path, name), }) end return entries end) end ---Scan directory entries. ---@param path any ---@return cmp_dictionary.kit.Async.AsyncTask function IO.iter_scandir(path) path = IO.normalize(path) return Async.run(function() local fd = IO.fs_scandir(path):await() return function() local name, type = uv.fs_scandir_next(fd) if name then return { type = type, path = IO.join(path, name), } end end end) end ---Return normalized path. ---@param path string ---@return string function IO.normalize(path) if is_windows then path = path:gsub('\\', '/') end -- remove trailing slash. if path:sub(-1) == '/' then path = path:sub(1, -2) end -- skip if the path already absolute. if IO.is_absolute(path) then return path end -- homedir. if path:sub(1, 1) == '~' then path = IO.join(uv.os_homedir(), path:sub(2)) end -- absolute. if path:sub(1, 1) == '/' then return path:sub(-1) == '/' and path:sub(1, -2) or path end -- resolve relative path. local up = uv.cwd() up = up:sub(-1) == '/' and up:sub(1, -2) or up while true do if path:sub(1, 3) == '../' then path = path:sub(4) up = IO.dirname(up) elseif path:sub(1, 2) == './' then path = path:sub(3) else break end end return IO.join(up, path) end ---Join the paths. ---@param base string ---@param path string ---@return string function IO.join(base, path) if base:sub(-1) == '/' then base = base:sub(1, -2) end return base .. '/' .. path end ---Return the path of the current working directory. ---@param path string ---@return string function IO.dirname(path) if path:sub(-1) == '/' then path = path:sub(1, -2) end return (path:gsub('/[^/]+$', '')) end if is_windows then ---Return the path is absolute or not. ---@param path string ---@return boolean function IO.is_absolute(path) return path:sub(1, 1) == '/' or path:match('^%a://') end else ---Return the path is absolute or not. ---@param path string ---@return boolean function IO.is_absolute(path) return path:sub(1, 1) == '/' end end return IO ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/LSP/Client.lua ================================================ local LSP = require('cmp_dictionary.kit.LSP') local AsyncTask = require('cmp_dictionary.kit.Async.AsyncTask') ---@class cmp_dictionary.kit.LSP.Client ---@field public client table local Client = {} Client.__index = Client ---Create LSP Client wrapper. ---@param client table ---@return cmp_dictionary.kit.LSP.Client function Client.new(client) local self = setmetatable({}, Client) self.client = client return self end ---@param params cmp_dictionary.kit.LSP.ImplementationParams function Client:textDocument_implementation(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/implementation', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.TypeDefinitionParams function Client:textDocument_typeDefinition(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/typeDefinition', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params nil function Client:workspace_workspaceFolders(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/workspaceFolders', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@class cmp_dictionary.kit.LSP.IntersectionType01 : cmp_dictionary.kit.LSP.ConfigurationParams, cmp_dictionary.kit.LSP.PartialResultParams ---@param params cmp_dictionary.kit.LSP.IntersectionType01 function Client:workspace_configuration(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/configuration', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentColorParams function Client:textDocument_documentColor(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/documentColor', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.ColorPresentationParams function Client:textDocument_colorPresentation(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/colorPresentation', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.FoldingRangeParams function Client:textDocument_foldingRange(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/foldingRange', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DeclarationParams function Client:textDocument_declaration(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/declaration', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.SelectionRangeParams function Client:textDocument_selectionRange(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/selectionRange', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.WorkDoneProgressCreateParams function Client:window_workDoneProgress_create(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('window/workDoneProgress/create', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CallHierarchyPrepareParams function Client:textDocument_prepareCallHierarchy(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/prepareCallHierarchy', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CallHierarchyIncomingCallsParams function Client:callHierarchy_incomingCalls(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('callHierarchy/incomingCalls', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CallHierarchyOutgoingCallsParams function Client:callHierarchy_outgoingCalls(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('callHierarchy/outgoingCalls', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.SemanticTokensParams function Client:textDocument_semanticTokens_full(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/semanticTokens/full', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.SemanticTokensDeltaParams function Client:textDocument_semanticTokens_full_delta(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/semanticTokens/full/delta', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.SemanticTokensRangeParams function Client:textDocument_semanticTokens_range(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/semanticTokens/range', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params nil function Client:workspace_semanticTokens_refresh(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/semanticTokens/refresh', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.ShowDocumentParams function Client:window_showDocument(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('window/showDocument', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.LinkedEditingRangeParams function Client:textDocument_linkedEditingRange(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/linkedEditingRange', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CreateFilesParams function Client:workspace_willCreateFiles(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/willCreateFiles', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.RenameFilesParams function Client:workspace_willRenameFiles(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/willRenameFiles', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DeleteFilesParams function Client:workspace_willDeleteFiles(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/willDeleteFiles', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.MonikerParams function Client:textDocument_moniker(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/moniker', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.TypeHierarchyPrepareParams function Client:textDocument_prepareTypeHierarchy(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/prepareTypeHierarchy', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.TypeHierarchySupertypesParams function Client:typeHierarchy_supertypes(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('typeHierarchy/supertypes', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.TypeHierarchySubtypesParams function Client:typeHierarchy_subtypes(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('typeHierarchy/subtypes', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.InlineValueParams function Client:textDocument_inlineValue(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/inlineValue', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params nil function Client:workspace_inlineValue_refresh(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/inlineValue/refresh', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.InlayHintParams function Client:textDocument_inlayHint(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/inlayHint', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.InlayHint function Client:inlayHint_resolve(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('inlayHint/resolve', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params nil function Client:workspace_inlayHint_refresh(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/inlayHint/refresh', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentDiagnosticParams function Client:textDocument_diagnostic(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/diagnostic', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.WorkspaceDiagnosticParams function Client:workspace_diagnostic(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/diagnostic', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params nil function Client:workspace_diagnostic_refresh(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/diagnostic/refresh', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.RegistrationParams function Client:client_registerCapability(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('client/registerCapability', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.UnregistrationParams function Client:client_unregisterCapability(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('client/unregisterCapability', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.InitializeParams function Client:initialize(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('initialize', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params nil function Client:shutdown(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('shutdown', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.ShowMessageRequestParams function Client:window_showMessageRequest(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('window/showMessageRequest', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.WillSaveTextDocumentParams function Client:textDocument_willSaveWaitUntil(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/willSaveWaitUntil', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CompletionParams function Client:textDocument_completion(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/completion', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CompletionItem function Client:completionItem_resolve(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('completionItem/resolve', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.HoverParams function Client:textDocument_hover(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/hover', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.SignatureHelpParams function Client:textDocument_signatureHelp(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/signatureHelp', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DefinitionParams function Client:textDocument_definition(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/definition', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.ReferenceParams function Client:textDocument_references(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/references', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentHighlightParams function Client:textDocument_documentHighlight(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/documentHighlight', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentSymbolParams function Client:textDocument_documentSymbol(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/documentSymbol', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CodeActionParams function Client:textDocument_codeAction(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/codeAction', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CodeAction function Client:codeAction_resolve(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('codeAction/resolve', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.WorkspaceSymbolParams function Client:workspace_symbol(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/symbol', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.WorkspaceSymbol function Client:workspaceSymbol_resolve(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspaceSymbol/resolve', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CodeLensParams function Client:textDocument_codeLens(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/codeLens', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.CodeLens function Client:codeLens_resolve(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('codeLens/resolve', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params nil function Client:workspace_codeLens_refresh(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/codeLens/refresh', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentLinkParams function Client:textDocument_documentLink(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/documentLink', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentLink function Client:documentLink_resolve(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('documentLink/resolve', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentFormattingParams function Client:textDocument_formatting(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/formatting', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentRangeFormattingParams function Client:textDocument_rangeFormatting(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/rangeFormatting', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.DocumentOnTypeFormattingParams function Client:textDocument_onTypeFormatting(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/onTypeFormatting', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.RenameParams function Client:textDocument_rename(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/rename', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.PrepareRenameParams function Client:textDocument_prepareRename(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('textDocument/prepareRename', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.ExecuteCommandParams function Client:workspace_executeCommand(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/executeCommand', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end ---@param params cmp_dictionary.kit.LSP.ApplyWorkspaceEditParams function Client:workspace_applyEdit(params) local that, request_id, reject_ = self, nil, nil local task = AsyncTask.new(function(resolve, reject) request_id = self.client.request('workspace/applyEdit', params, function(err, res) if err then reject(err) else resolve(res) end end) reject_ = reject end) function task.cancel() that.client.cancel_request(request_id) reject_(LSP.ErrorCodes.RequestCancelled) end return task end return Client ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/LSP/Position.lua ================================================ local LSP = require('cmp_dictionary.kit.LSP') local Position = {} ---Return the value is position or not. ---@param v any ---@return boolean function Position.is(v) local is = true is = is and (type(v) == 'table' and type(v.line) == 'number' and type(v.character) == 'number') return is end ---Create a cursor position. ---@param encoding? cmp_dictionary.kit.LSP.PositionEncodingKind function Position.cursor(encoding) local r, c = unpack(vim.api.nvim_win_get_cursor(0)) local utf8 = { line = r - 1, character = c } if encoding == LSP.PositionEncodingKind.UTF8 then return utf8 else local text = vim.api.nvim_get_current_line() if encoding == LSP.PositionEncodingKind.UTF32 then return Position.to(text, utf8, LSP.PositionEncodingKind.UTF8, LSP.PositionEncodingKind.UTF32) end return Position.to(text, utf8, LSP.PositionEncodingKind.UTF8, LSP.PositionEncodingKind.UTF16) end end ---Convert position to specified encoding from specified encoding. ---@param text string ---@param position cmp_dictionary.kit.LSP.Position ---@param from_encoding cmp_dictionary.kit.LSP.PositionEncodingKind ---@param to_encoding cmp_dictionary.kit.LSP.PositionEncodingKind function Position.to(text, position, from_encoding, to_encoding) if to_encoding == LSP.PositionEncodingKind.UTF8 then return Position.to_utf8(text, position, from_encoding) elseif to_encoding == LSP.PositionEncodingKind.UTF16 then return Position.to_utf16(text, position, from_encoding) elseif to_encoding == LSP.PositionEncodingKind.UTF32 then return Position.to_utf32(text, position, from_encoding) end error('LSP.Position: Unsupported encoding: ' .. to_encoding) end ---Convert position to utf8 from specified encoding. ---@param text string ---@param position cmp_dictionary.kit.LSP.Position ---@param from_encoding? cmp_dictionary.kit.LSP.PositionEncodingKind ---@return cmp_dictionary.kit.LSP.Position function Position.to_utf8(text, position, from_encoding) from_encoding = from_encoding or LSP.PositionEncodingKind.UTF16 if from_encoding == LSP.PositionEncodingKind.UTF8 then return position end local ok, byteindex = pcall(function() return vim.str_byteindex(text, position.character, from_encoding == LSP.PositionEncodingKind.UTF16) end) if ok then position = { line = position.line, character = byteindex } end return position end ---Convert position to utf16 from specified encoding. ---@param text string ---@param position cmp_dictionary.kit.LSP.Position ---@param from_encoding? cmp_dictionary.kit.LSP.PositionEncodingKind ---@return cmp_dictionary.kit.LSP.Position function Position.to_utf16(text, position, from_encoding) local utf8 = Position.to_utf8(text, position, from_encoding) for index = utf8.character, 0, -1 do local ok, utf16index = pcall(function() return select(2, vim.str_utfindex(text, index)) end) if ok then position = { line = utf8.line, character = utf16index } break end end return position end ---Convert position to utf32 from specified encoding. ---@param text string ---@param position cmp_dictionary.kit.LSP.Position ---@param from_encoding? cmp_dictionary.kit.LSP.PositionEncodingKind ---@return cmp_dictionary.kit.LSP.Position function Position.to_utf32(text, position, from_encoding) local utf8 = Position.to_utf8(text, position, from_encoding) for index = utf8.character, 0, -1 do local ok, utf32index = pcall(function() return select(1, vim.str_utfindex(text, index)) end) if ok then position = { line = utf8.line, character = utf32index } break end end return position end return Position ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/LSP/Range.lua ================================================ local Position = require('cmp_dictionary.kit.LSP.Position') local Range = {} ---Return the value is range or not. ---@param v any ---@return boolean function Range.is(v) return type(v) == 'table' and Position.is(v.start) and Position.is(v['end']) end ---Return the range is empty or not. ---@param range cmp_dictionary.kit.LSP.Range ---@return boolean function Range.empty(range) return range.start.line == range['end'].line and range.start.character == range['end'].character end ---Convert range to utf8 from specified encoding. ---@param text_start string ---@param range cmp_dictionary.kit.LSP.Range ---@param from_encoding? cmp_dictionary.kit.LSP.PositionEncodingKind ---@return cmp_dictionary.kit.LSP.Range function Range.to_utf8(text_start, text_end, range, from_encoding) return { start = Position.to_utf8(text_start, range.start, from_encoding), ['end'] = Position.to_utf8(text_end, range['end'], from_encoding), } end ---Convert range to utf16 from specified encoding. ---@param text_start string ---@param range cmp_dictionary.kit.LSP.Range ---@param from_encoding? cmp_dictionary.kit.LSP.PositionEncodingKind ---@return cmp_dictionary.kit.LSP.Range function Range.to_utf16(text_start, text_end, range, from_encoding) return { start = Position.to_utf16(text_start, range.start, from_encoding), ['end'] = Position.to_utf16(text_end, range['end'], from_encoding), } end ---Convert range to utf32 from specified encoding. ---@param text_start string ---@param range cmp_dictionary.kit.LSP.Range ---@param from_encoding? cmp_dictionary.kit.LSP.PositionEncodingKind ---@return cmp_dictionary.kit.LSP.Range function Range.to_utf32(text_start, text_end, range, from_encoding) return { start = Position.to_utf32(text_start, range.start, from_encoding), ['end'] = Position.to_utf32(text_end, range['end'], from_encoding), } end return Range ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/LSP/init.lua ================================================ local LSP = {} ---@enum cmp_dictionary.kit.LSP.SemanticTokenTypes LSP.SemanticTokenTypes = { namespace = 'namespace', type = 'type', class = 'class', enum = 'enum', interface = 'interface', struct = 'struct', typeParameter = 'typeParameter', parameter = 'parameter', variable = 'variable', property = 'property', enumMember = 'enumMember', event = 'event', ['function'] = 'function', method = 'method', macro = 'macro', keyword = 'keyword', modifier = 'modifier', comment = 'comment', string = 'string', number = 'number', regexp = 'regexp', operator = 'operator', decorator = 'decorator', } ---@enum cmp_dictionary.kit.LSP.SemanticTokenModifiers LSP.SemanticTokenModifiers = { declaration = 'declaration', definition = 'definition', readonly = 'readonly', static = 'static', deprecated = 'deprecated', abstract = 'abstract', async = 'async', modification = 'modification', documentation = 'documentation', defaultLibrary = 'defaultLibrary', } ---@enum cmp_dictionary.kit.LSP.DocumentDiagnosticReportKind LSP.DocumentDiagnosticReportKind = { Full = 'full', Unchanged = 'unchanged', } ---@enum cmp_dictionary.kit.LSP.ErrorCodes LSP.ErrorCodes = { ParseError = -32700, InvalidRequest = -32600, MethodNotFound = -32601, InvalidParams = -32602, InternalError = -32603, ServerNotInitialized = -32002, UnknownErrorCode = -32001, } ---@enum cmp_dictionary.kit.LSP.LSPErrorCodes LSP.LSPErrorCodes = { RequestFailed = -32803, ServerCancelled = -32802, ContentModified = -32801, RequestCancelled = -32800, } ---@enum cmp_dictionary.kit.LSP.FoldingRangeKind LSP.FoldingRangeKind = { Comment = 'comment', Imports = 'imports', Region = 'region', } ---@enum cmp_dictionary.kit.LSP.SymbolKind LSP.SymbolKind = { File = 1, Module = 2, Namespace = 3, Package = 4, Class = 5, Method = 6, Property = 7, Field = 8, Constructor = 9, Enum = 10, Interface = 11, Function = 12, Variable = 13, Constant = 14, String = 15, Number = 16, Boolean = 17, Array = 18, Object = 19, Key = 20, Null = 21, EnumMember = 22, Struct = 23, Event = 24, Operator = 25, TypeParameter = 26, } ---@enum cmp_dictionary.kit.LSP.SymbolTag LSP.SymbolTag = { Deprecated = 1, } ---@enum cmp_dictionary.kit.LSP.UniquenessLevel LSP.UniquenessLevel = { document = 'document', project = 'project', group = 'group', scheme = 'scheme', global = 'global', } ---@enum cmp_dictionary.kit.LSP.MonikerKind LSP.MonikerKind = { import = 'import', export = 'export', ['local'] = 'local', } ---@enum cmp_dictionary.kit.LSP.InlayHintKind LSP.InlayHintKind = { Type = 1, Parameter = 2, } ---@enum cmp_dictionary.kit.LSP.MessageType LSP.MessageType = { Error = 1, Warning = 2, Info = 3, Log = 4, } ---@enum cmp_dictionary.kit.LSP.TextDocumentSyncKind LSP.TextDocumentSyncKind = { None = 0, Full = 1, Incremental = 2, } ---@enum cmp_dictionary.kit.LSP.TextDocumentSaveReason LSP.TextDocumentSaveReason = { Manual = 1, AfterDelay = 2, FocusOut = 3, } ---@enum cmp_dictionary.kit.LSP.CompletionItemKind LSP.CompletionItemKind = { Text = 1, Method = 2, Function = 3, Constructor = 4, Field = 5, Variable = 6, Class = 7, Interface = 8, Module = 9, Property = 10, Unit = 11, Value = 12, Enum = 13, Keyword = 14, Snippet = 15, Color = 16, File = 17, Reference = 18, Folder = 19, EnumMember = 20, Constant = 21, Struct = 22, Event = 23, Operator = 24, TypeParameter = 25, } ---@enum cmp_dictionary.kit.LSP.CompletionItemTag LSP.CompletionItemTag = { Deprecated = 1, } ---@enum cmp_dictionary.kit.LSP.InsertTextFormat LSP.InsertTextFormat = { PlainText = 1, Snippet = 2, } ---@enum cmp_dictionary.kit.LSP.InsertTextMode LSP.InsertTextMode = { asIs = 1, adjustIndentation = 2, } ---@enum cmp_dictionary.kit.LSP.DocumentHighlightKind LSP.DocumentHighlightKind = { Text = 1, Read = 2, Write = 3, } ---@enum cmp_dictionary.kit.LSP.CodeActionKind LSP.CodeActionKind = { Empty = '', QuickFix = 'quickfix', Refactor = 'refactor', RefactorExtract = 'refactor.extract', RefactorInline = 'refactor.inline', RefactorRewrite = 'refactor.rewrite', Source = 'source', SourceOrganizeImports = 'source.organizeImports', SourceFixAll = 'source.fixAll', } ---@enum cmp_dictionary.kit.LSP.TraceValues LSP.TraceValues = { Off = 'off', Messages = 'messages', Verbose = 'verbose', } ---@enum cmp_dictionary.kit.LSP.MarkupKind LSP.MarkupKind = { PlainText = 'plaintext', Markdown = 'markdown', } ---@enum cmp_dictionary.kit.LSP.PositionEncodingKind LSP.PositionEncodingKind = { UTF8 = 'utf-8', UTF16 = 'utf-16', UTF32 = 'utf-32', } ---@enum cmp_dictionary.kit.LSP.FileChangeType LSP.FileChangeType = { Created = 1, Changed = 2, Deleted = 3, } ---@enum cmp_dictionary.kit.LSP.WatchKind LSP.WatchKind = { Create = 1, Change = 2, Delete = 4, } ---@enum cmp_dictionary.kit.LSP.DiagnosticSeverity LSP.DiagnosticSeverity = { Error = 1, Warning = 2, Information = 3, Hint = 4, } ---@enum cmp_dictionary.kit.LSP.DiagnosticTag LSP.DiagnosticTag = { Unnecessary = 1, Deprecated = 2, } ---@enum cmp_dictionary.kit.LSP.CompletionTriggerKind LSP.CompletionTriggerKind = { Invoked = 1, TriggerCharacter = 2, TriggerForIncompleteCompletions = 3, } ---@enum cmp_dictionary.kit.LSP.SignatureHelpTriggerKind LSP.SignatureHelpTriggerKind = { Invoked = 1, TriggerCharacter = 2, ContentChange = 3, } ---@enum cmp_dictionary.kit.LSP.CodeActionTriggerKind LSP.CodeActionTriggerKind = { Invoked = 1, Automatic = 2, } ---@enum cmp_dictionary.kit.LSP.FileOperationPatternKind LSP.FileOperationPatternKind = { file = 'file', folder = 'folder', } ---@enum cmp_dictionary.kit.LSP.NotebookCellKind LSP.NotebookCellKind = { Markup = 1, Code = 2, } ---@enum cmp_dictionary.kit.LSP.ResourceOperationKind LSP.ResourceOperationKind = { Create = 'create', Rename = 'rename', Delete = 'delete', } ---@enum cmp_dictionary.kit.LSP.FailureHandlingKind LSP.FailureHandlingKind = { Abort = 'abort', Transactional = 'transactional', TextOnlyTransactional = 'textOnlyTransactional', Undo = 'undo', } ---@enum cmp_dictionary.kit.LSP.PrepareSupportDefaultBehavior LSP.PrepareSupportDefaultBehavior = { Identifier = 1, } ---@enum cmp_dictionary.kit.LSP.TokenFormat LSP.TokenFormat = { Relative = 'relative', } ---@class cmp_dictionary.kit.LSP.ImplementationParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@class cmp_dictionary.kit.LSP.Location ---@field public uri string ---@field public range cmp_dictionary.kit.LSP.Range ---@class cmp_dictionary.kit.LSP.ImplementationRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.ImplementationOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.TypeDefinitionParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@class cmp_dictionary.kit.LSP.TypeDefinitionRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.TypeDefinitionOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.WorkspaceFolder ---@field public uri string The associated URI for this workspace folder. ---@field public name string The name of the workspace folder. Used to refer to this
workspace folder in the user interface. ---@class cmp_dictionary.kit.LSP.DidChangeWorkspaceFoldersParams ---@field public event cmp_dictionary.kit.LSP.WorkspaceFoldersChangeEvent The actual workspace folder change event. ---@class cmp_dictionary.kit.LSP.ConfigurationParams ---@field public items cmp_dictionary.kit.LSP.ConfigurationItem[] ---@class cmp_dictionary.kit.LSP.PartialResultParams ---@field public partialResultToken? cmp_dictionary.kit.LSP.ProgressToken An optional token that a server can use to report partial results (e.g. streaming) to
the client. ---@class cmp_dictionary.kit.LSP.DocumentColorParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@class cmp_dictionary.kit.LSP.ColorInformation ---@field public range cmp_dictionary.kit.LSP.Range The range in the document where this color appears. ---@field public color cmp_dictionary.kit.LSP.Color The actual color value for this color range. ---@class cmp_dictionary.kit.LSP.DocumentColorRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DocumentColorOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.ColorPresentationParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@field public color cmp_dictionary.kit.LSP.Color The color to request presentations for. ---@field public range cmp_dictionary.kit.LSP.Range The range where the color would be inserted. Serves as a context. ---@class cmp_dictionary.kit.LSP.ColorPresentation ---@field public label string The label of this color presentation. It will be shown on the color
picker header. By default this is also the text that is inserted when selecting
this color presentation. ---@field public textEdit? cmp_dictionary.kit.LSP.TextEdit An [edit](#TextEdit) which is applied to a document when selecting
this presentation for the color. When `falsy` the [label](#ColorPresentation.label)
is used. ---@field public additionalTextEdits? cmp_dictionary.kit.LSP.TextEdit[] An optional array of additional [text edits](#TextEdit) that are applied when
selecting this color presentation. Edits must not overlap with the main [edit](#ColorPresentation.textEdit) nor with themselves. ---@class cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public workDoneProgress? boolean ---@class cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions ---@field public documentSelector (cmp_dictionary.kit.LSP.DocumentSelector | nil) A document selector to identify the scope of the registration. If set to null
the document selector provided on the client side will be used. ---@class cmp_dictionary.kit.LSP.FoldingRangeParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@class cmp_dictionary.kit.LSP.FoldingRange ---@field public startLine integer The zero-based start line of the range to fold. The folded area starts after the line's last character.
To be valid, the end must be zero or larger and smaller than the number of lines in the document. ---@field public startCharacter? integer The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line. ---@field public endLine integer The zero-based end line of the range to fold. The folded area ends with the line's last character.
To be valid, the end must be zero or larger and smaller than the number of lines in the document. ---@field public endCharacter? integer The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line. ---@field public kind? cmp_dictionary.kit.LSP.FoldingRangeKind Describes the kind of the folding range such as `comment' or 'region'. The kind
is used to categorize folding ranges and used by commands like 'Fold all comments'.
See [FoldingRangeKind](#FoldingRangeKind) for an enumeration of standardized kinds. ---@field public collapsedText? string The text that the client should show when the specified range is
collapsed. If not defined or not supported by the client, a default
will be chosen by the client.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.FoldingRangeRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.FoldingRangeOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.DeclarationParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@class cmp_dictionary.kit.LSP.DeclarationRegistrationOptions : cmp_dictionary.kit.LSP.DeclarationOptions, cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.SelectionRangeParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@field public positions cmp_dictionary.kit.LSP.Position[] The positions inside the text document. ---@class cmp_dictionary.kit.LSP.SelectionRange ---@field public range cmp_dictionary.kit.LSP.Range The [range](#Range) of this selection range. ---@field public parent? cmp_dictionary.kit.LSP.SelectionRange The parent selection range containing this range. Therefore `parent.range` must contain `this.range`. ---@class cmp_dictionary.kit.LSP.SelectionRangeRegistrationOptions : cmp_dictionary.kit.LSP.SelectionRangeOptions, cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.WorkDoneProgressCreateParams ---@field public token cmp_dictionary.kit.LSP.ProgressToken The token to be used to report progress. ---@class cmp_dictionary.kit.LSP.WorkDoneProgressCancelParams ---@field public token cmp_dictionary.kit.LSP.ProgressToken The token to be used to report progress. ---@class cmp_dictionary.kit.LSP.CallHierarchyPrepareParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@class cmp_dictionary.kit.LSP.CallHierarchyItem ---@field public name string The name of this item. ---@field public kind cmp_dictionary.kit.LSP.SymbolKind The kind of this item. ---@field public tags? cmp_dictionary.kit.LSP.SymbolTag[] Tags for this item. ---@field public detail? string More detail for this item, e.g. the signature of a function. ---@field public uri string The resource identifier of this item. ---@field public range cmp_dictionary.kit.LSP.Range The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code. ---@field public selectionRange cmp_dictionary.kit.LSP.Range The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function.
Must be contained by the [`range`](#CallHierarchyItem.range). ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved between a call hierarchy prepare and
incoming calls or outgoing calls requests. ---@class cmp_dictionary.kit.LSP.CallHierarchyRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.CallHierarchyOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.CallHierarchyIncomingCallsParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public item cmp_dictionary.kit.LSP.CallHierarchyItem ---@class cmp_dictionary.kit.LSP.CallHierarchyIncomingCall ---@field public from cmp_dictionary.kit.LSP.CallHierarchyItem The item that makes the call. ---@field public fromRanges cmp_dictionary.kit.LSP.Range[] The ranges at which the calls appear. This is relative to the caller
denoted by [`this.from`](#CallHierarchyIncomingCall.from). ---@class cmp_dictionary.kit.LSP.CallHierarchyOutgoingCallsParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public item cmp_dictionary.kit.LSP.CallHierarchyItem ---@class cmp_dictionary.kit.LSP.CallHierarchyOutgoingCall ---@field public to cmp_dictionary.kit.LSP.CallHierarchyItem The item that is called. ---@field public fromRanges cmp_dictionary.kit.LSP.Range[] The range at which this item is called. This is the range relative to the caller, e.g the item
passed to [`provideCallHierarchyOutgoingCalls`](#CallHierarchyItemProvider.provideCallHierarchyOutgoingCalls)
and not [`this.to`](#CallHierarchyOutgoingCall.to). ---@class cmp_dictionary.kit.LSP.SemanticTokensParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@class cmp_dictionary.kit.LSP.SemanticTokens ---@field public resultId? string An optional result id. If provided and clients support delta updating
the client will include the result id in the next semantic token request.
A server can then instead of computing all semantic tokens again simply
send a delta. ---@field public data integer[] The actual tokens. ---@class cmp_dictionary.kit.LSP.SemanticTokensPartialResult ---@field public data integer[] ---@class cmp_dictionary.kit.LSP.SemanticTokensRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.SemanticTokensOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.SemanticTokensDeltaParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@field public previousResultId string The result id of a previous response. The result Id can either point to a full response
or a delta response depending on what was received last. ---@class cmp_dictionary.kit.LSP.SemanticTokensDelta ---@field public resultId? string ---@field public edits cmp_dictionary.kit.LSP.SemanticTokensEdit[] The semantic token edits to transform a previous result into a new result. ---@class cmp_dictionary.kit.LSP.SemanticTokensDeltaPartialResult ---@field public edits cmp_dictionary.kit.LSP.SemanticTokensEdit[] ---@class cmp_dictionary.kit.LSP.SemanticTokensRangeParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@field public range cmp_dictionary.kit.LSP.Range The range the semantic tokens are requested for. ---@class cmp_dictionary.kit.LSP.ShowDocumentParams ---@field public uri string The document uri to show. ---@field public external? boolean Indicates to show the resource in an external program.
To show for example `https://code.visualstudio.com/`
in the default WEB browser set `external` to `true`. ---@field public takeFocus? boolean An optional property to indicate whether the editor
showing the document should take focus or not.
Clients might ignore this property if an external
program is started. ---@field public selection? cmp_dictionary.kit.LSP.Range An optional selection range if the document is a text
document. Clients might ignore the property if an
external program is started or the file is not a text
file. ---@class cmp_dictionary.kit.LSP.ShowDocumentResult ---@field public success boolean A boolean indicating if the show was successful. ---@class cmp_dictionary.kit.LSP.LinkedEditingRangeParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@class cmp_dictionary.kit.LSP.LinkedEditingRanges ---@field public ranges cmp_dictionary.kit.LSP.Range[] A list of ranges that can be edited together. The ranges must have
identical length and contain identical text content. The ranges cannot overlap. ---@field public wordPattern? string An optional word pattern (regular expression) that describes valid contents for
the given ranges. If no pattern is provided, the client configuration's word
pattern will be used. ---@class cmp_dictionary.kit.LSP.LinkedEditingRangeRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.LinkedEditingRangeOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.CreateFilesParams ---@field public files cmp_dictionary.kit.LSP.FileCreate[] An array of all files/folders created in this operation. ---@class cmp_dictionary.kit.LSP.WorkspaceEdit ---@field public changes? table Holds changes to existing resources. ---@field public documentChanges? (cmp_dictionary.kit.LSP.TextDocumentEdit | cmp_dictionary.kit.LSP.CreateFile | cmp_dictionary.kit.LSP.RenameFile | cmp_dictionary.kit.LSP.DeleteFile)[] Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes
are either an array of `TextDocumentEdit`s to express changes to n different text documents
where each text document edit addresses a specific version of a text document. Or it can contain
above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations.

Whether a client supports versioned document edits is expressed via
`workspace.workspaceEdit.documentChanges` client capability.

If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then
only plain `TextEdit`s using the `changes` property are supported. ---@field public changeAnnotations? table A map of change annotations that can be referenced in `AnnotatedTextEdit`s or create, rename and
delete file / folder operations.

Whether clients honor this property depends on the client capability `workspace.changeAnnotationSupport`.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.FileOperationRegistrationOptions ---@field public filters cmp_dictionary.kit.LSP.FileOperationFilter[] The actual filters. ---@class cmp_dictionary.kit.LSP.RenameFilesParams ---@field public files cmp_dictionary.kit.LSP.FileRename[] An array of all files/folders renamed in this operation. When a folder is renamed, only
the folder will be included, and not its children. ---@class cmp_dictionary.kit.LSP.DeleteFilesParams ---@field public files cmp_dictionary.kit.LSP.FileDelete[] An array of all files/folders deleted in this operation. ---@class cmp_dictionary.kit.LSP.MonikerParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@class cmp_dictionary.kit.LSP.Moniker ---@field public scheme string The scheme of the moniker. For example tsc or .Net ---@field public identifier string The identifier of the moniker. The value is opaque in LSIF however
schema owners are allowed to define the structure if they want. ---@field public unique cmp_dictionary.kit.LSP.UniquenessLevel The scope in which the moniker is unique ---@field public kind? cmp_dictionary.kit.LSP.MonikerKind The moniker kind if known. ---@class cmp_dictionary.kit.LSP.MonikerRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.MonikerOptions ---@class cmp_dictionary.kit.LSP.TypeHierarchyPrepareParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@class cmp_dictionary.kit.LSP.TypeHierarchyItem ---@field public name string The name of this item. ---@field public kind cmp_dictionary.kit.LSP.SymbolKind The kind of this item. ---@field public tags? cmp_dictionary.kit.LSP.SymbolTag[] Tags for this item. ---@field public detail? string More detail for this item, e.g. the signature of a function. ---@field public uri string The resource identifier of this item. ---@field public range cmp_dictionary.kit.LSP.Range The range enclosing this symbol not including leading/trailing whitespace
but everything else, e.g. comments and code. ---@field public selectionRange cmp_dictionary.kit.LSP.Range The range that should be selected and revealed when this symbol is being
picked, e.g. the name of a function. Must be contained by the
[`range`](#TypeHierarchyItem.range). ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved between a type hierarchy prepare and
supertypes or subtypes requests. It could also be used to identify the
type hierarchy in the server, helping improve the performance on
resolving supertypes and subtypes. ---@class cmp_dictionary.kit.LSP.TypeHierarchyRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.TypeHierarchyOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.TypeHierarchySupertypesParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public item cmp_dictionary.kit.LSP.TypeHierarchyItem ---@class cmp_dictionary.kit.LSP.TypeHierarchySubtypesParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public item cmp_dictionary.kit.LSP.TypeHierarchyItem ---@class cmp_dictionary.kit.LSP.InlineValueParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@field public range cmp_dictionary.kit.LSP.Range The document range for which inline values should be computed. ---@field public context cmp_dictionary.kit.LSP.InlineValueContext Additional information about the context in which inline values were
requested. ---@class cmp_dictionary.kit.LSP.InlineValueRegistrationOptions : cmp_dictionary.kit.LSP.InlineValueOptions, cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.InlayHintParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@field public range cmp_dictionary.kit.LSP.Range The document range for which inlay hints should be computed. ---@class cmp_dictionary.kit.LSP.InlayHint ---@field public position cmp_dictionary.kit.LSP.Position The position of this hint. ---@field public label (string | cmp_dictionary.kit.LSP.InlayHintLabelPart[]) The label of this hint. A human readable string or an array of
InlayHintLabelPart label parts.

*Note* that neither the string nor the label part can be empty. ---@field public kind? cmp_dictionary.kit.LSP.InlayHintKind The kind of this hint. Can be omitted in which case the client
should fall back to a reasonable default. ---@field public textEdits? cmp_dictionary.kit.LSP.TextEdit[] Optional text edits that are performed when accepting this inlay hint.

*Note* that edits are expected to change the document so that the inlay
hint (or its nearest variant) is now part of the document and the inlay
hint itself is now obsolete. ---@field public tooltip? (string | cmp_dictionary.kit.LSP.MarkupContent) The tooltip text when you hover over this item. ---@field public paddingLeft? boolean Render padding before the hint.

Note: Padding should use the editor's background color, not the
background color of the hint itself. That means padding can be used
to visually align/separate an inlay hint. ---@field public paddingRight? boolean Render padding after the hint.

Note: Padding should use the editor's background color, not the
background color of the hint itself. That means padding can be used
to visually align/separate an inlay hint. ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved on an inlay hint between
a `textDocument/inlayHint` and a `inlayHint/resolve` request. ---@class cmp_dictionary.kit.LSP.InlayHintRegistrationOptions : cmp_dictionary.kit.LSP.InlayHintOptions, cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.DocumentDiagnosticParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@field public identifier? string The additional identifier provided during registration. ---@field public previousResultId? string The result id of a previous response if provided. ---@class cmp_dictionary.kit.LSP.DocumentDiagnosticReportPartialResult ---@field public relatedDocuments table ---@class cmp_dictionary.kit.LSP.DiagnosticServerCancellationData ---@field public retriggerRequest boolean ---@class cmp_dictionary.kit.LSP.DiagnosticRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DiagnosticOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.WorkspaceDiagnosticParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public identifier? string The additional identifier provided during registration. ---@field public previousResultIds cmp_dictionary.kit.LSP.PreviousResultId[] The currently known diagnostic reports with their
previous result ids. ---@class cmp_dictionary.kit.LSP.WorkspaceDiagnosticReport ---@field public items cmp_dictionary.kit.LSP.WorkspaceDocumentDiagnosticReport[] ---@class cmp_dictionary.kit.LSP.WorkspaceDiagnosticReportPartialResult ---@field public items cmp_dictionary.kit.LSP.WorkspaceDocumentDiagnosticReport[] ---@class cmp_dictionary.kit.LSP.DidOpenNotebookDocumentParams ---@field public notebookDocument cmp_dictionary.kit.LSP.NotebookDocument The notebook document that got opened. ---@field public cellTextDocuments cmp_dictionary.kit.LSP.TextDocumentItem[] The text documents that represent the content
of a notebook cell. ---@class cmp_dictionary.kit.LSP.DidChangeNotebookDocumentParams ---@field public notebookDocument cmp_dictionary.kit.LSP.VersionedNotebookDocumentIdentifier The notebook document that did change. The version number points
to the version after all provided changes have been applied. If
only the text document content of a cell changes the notebook version
doesn't necessarily have to change. ---@field public change cmp_dictionary.kit.LSP.NotebookDocumentChangeEvent The actual changes to the notebook document.

The changes describe single state changes to the notebook document.
So if there are two changes c1 (at array index 0) and c2 (at array
index 1) for a notebook in state S then c1 moves the notebook from
S to S' and c2 from S' to S''. So c1 is computed on the state S and
c2 is computed on the state S'.

To mirror the content of a notebook using change events use the following approach:
- start with the same initial content
- apply the 'notebookDocument/didChange' notifications in the order you receive them.
- apply the `NotebookChangeEvent`s in a single notification in the order
you receive them. ---@class cmp_dictionary.kit.LSP.DidSaveNotebookDocumentParams ---@field public notebookDocument cmp_dictionary.kit.LSP.NotebookDocumentIdentifier The notebook document that got saved. ---@class cmp_dictionary.kit.LSP.DidCloseNotebookDocumentParams ---@field public notebookDocument cmp_dictionary.kit.LSP.NotebookDocumentIdentifier The notebook document that got closed. ---@field public cellTextDocuments cmp_dictionary.kit.LSP.TextDocumentIdentifier[] The text documents that represent the content
of a notebook cell that got closed. ---@class cmp_dictionary.kit.LSP.RegistrationParams ---@field public registrations cmp_dictionary.kit.LSP.Registration[] ---@class cmp_dictionary.kit.LSP.UnregistrationParams ---@field public unregisterations cmp_dictionary.kit.LSP.Unregistration[] ---@class cmp_dictionary.kit.LSP.InitializeParams : cmp_dictionary.kit.LSP._InitializeParams, cmp_dictionary.kit.LSP.WorkspaceFoldersInitializeParams ---@class cmp_dictionary.kit.LSP.InitializeResult ---@field public capabilities cmp_dictionary.kit.LSP.ServerCapabilities The capabilities the language server provides. ---@field public serverInfo? cmp_dictionary.kit.LSP.InitializeResult.serverInfo Information about the server.

@since 3.15.0 ---@class cmp_dictionary.kit.LSP.InitializeResult.serverInfo ---@field public name string The name of the server as defined by the server. ---@field public version? string The server's version as defined by the server. ---@class cmp_dictionary.kit.LSP.InitializeError ---@field public retry boolean Indicates whether the client execute the following retry logic:
(1) show the message provided by the ResponseError to the user
(2) user selects retry or cancel
(3) if user selected retry the initialize method is sent again. ---@class cmp_dictionary.kit.LSP.InitializedParams ---@class cmp_dictionary.kit.LSP.DidChangeConfigurationParams ---@field public settings cmp_dictionary.kit.LSP.LSPAny The actual changed settings ---@class cmp_dictionary.kit.LSP.DidChangeConfigurationRegistrationOptions ---@field public section? (string | string[]) ---@class cmp_dictionary.kit.LSP.ShowMessageParams ---@field public type cmp_dictionary.kit.LSP.MessageType The message type. See {@link MessageType} ---@field public message string The actual message. ---@class cmp_dictionary.kit.LSP.ShowMessageRequestParams ---@field public type cmp_dictionary.kit.LSP.MessageType The message type. See {@link MessageType} ---@field public message string The actual message. ---@field public actions? cmp_dictionary.kit.LSP.MessageActionItem[] The message action items to present. ---@class cmp_dictionary.kit.LSP.MessageActionItem ---@field public title string A short title like 'Retry', 'Open Log' etc. ---@class cmp_dictionary.kit.LSP.LogMessageParams ---@field public type cmp_dictionary.kit.LSP.MessageType The message type. See {@link MessageType} ---@field public message string The actual message. ---@class cmp_dictionary.kit.LSP.DidOpenTextDocumentParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentItem The document that was opened. ---@class cmp_dictionary.kit.LSP.DidChangeTextDocumentParams ---@field public textDocument cmp_dictionary.kit.LSP.VersionedTextDocumentIdentifier The document that did change. The version number points
to the version after all provided content changes have
been applied. ---@field public contentChanges cmp_dictionary.kit.LSP.TextDocumentContentChangeEvent[] The actual content changes. The content changes describe single state changes
to the document. So if there are two content changes c1 (at array index 0) and
c2 (at array index 1) for a document in state S then c1 moves the document from
S to S' and c2 from S' to S''. So c1 is computed on the state S and c2 is computed
on the state S'.

To mirror the content of a document using change events use the following approach:
- start with the same initial content
- apply the 'textDocument/didChange' notifications in the order you receive them.
- apply the `TextDocumentContentChangeEvent`s in a single notification in the order
you receive them. ---@class cmp_dictionary.kit.LSP.TextDocumentChangeRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions ---@field public syncKind cmp_dictionary.kit.LSP.TextDocumentSyncKind How documents are synced to the server. ---@class cmp_dictionary.kit.LSP.DidCloseTextDocumentParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document that was closed. ---@class cmp_dictionary.kit.LSP.DidSaveTextDocumentParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document that was saved. ---@field public text? string Optional the content when saved. Depends on the includeText value
when the save notification was requested. ---@class cmp_dictionary.kit.LSP.TextDocumentSaveRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.SaveOptions ---@class cmp_dictionary.kit.LSP.WillSaveTextDocumentParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document that will be saved. ---@field public reason cmp_dictionary.kit.LSP.TextDocumentSaveReason The 'TextDocumentSaveReason'. ---@class cmp_dictionary.kit.LSP.TextEdit ---@field public range cmp_dictionary.kit.LSP.Range The range of the text document to be manipulated. To insert
text into a document create a range where start === end. ---@field public newText string The string to be inserted. For delete operations use an
empty string. ---@class cmp_dictionary.kit.LSP.DidChangeWatchedFilesParams ---@field public changes cmp_dictionary.kit.LSP.FileEvent[] The actual file events. ---@class cmp_dictionary.kit.LSP.DidChangeWatchedFilesRegistrationOptions ---@field public watchers cmp_dictionary.kit.LSP.FileSystemWatcher[] The watchers to register. ---@class cmp_dictionary.kit.LSP.PublishDiagnosticsParams ---@field public uri string The URI for which diagnostic information is reported. ---@field public version? integer Optional the version number of the document the diagnostics are published for.

@since 3.15.0 ---@field public diagnostics cmp_dictionary.kit.LSP.Diagnostic[] An array of diagnostic information items. ---@class cmp_dictionary.kit.LSP.CompletionParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public context? cmp_dictionary.kit.LSP.CompletionContext The completion context. This is only available it the client specifies
to send this using the client capability `textDocument.completion.contextSupport === true` ---@class cmp_dictionary.kit.LSP.CompletionItem ---@field public label string The label of this completion item.

The label property is also by default the text that
is inserted when selecting this completion.

If label details are provided the label itself should
be an unqualified name of the completion item. ---@field public labelDetails? cmp_dictionary.kit.LSP.CompletionItemLabelDetails Additional details for the label

@since 3.17.0 ---@field public kind? cmp_dictionary.kit.LSP.CompletionItemKind The kind of this completion item. Based of the kind
an icon is chosen by the editor. ---@field public tags? cmp_dictionary.kit.LSP.CompletionItemTag[] Tags for this completion item.

@since 3.15.0 ---@field public detail? string A human-readable string with additional information
about this item, like type or symbol information. ---@field public documentation? (string | cmp_dictionary.kit.LSP.MarkupContent) A human-readable string that represents a doc-comment. ---@field public deprecated? boolean Indicates if this item is deprecated.
@deprecated Use `tags` instead. ---@field public preselect? boolean Select this item when showing.

*Note* that only one completion item can be selected and that the
tool / client decides which item that is. The rule is that the *first*
item of those that match best is selected. ---@field public sortText? string A string that should be used when comparing this item
with other items. When `falsy` the [label](#CompletionItem.label)
is used. ---@field public filterText? string A string that should be used when filtering a set of
completion items. When `falsy` the [label](#CompletionItem.label)
is used. ---@field public insertText? string A string that should be inserted into a document when selecting
this completion. When `falsy` the [label](#CompletionItem.label)
is used.

The `insertText` is subject to interpretation by the client side.
Some tools might not take the string literally. For example
VS Code when code complete is requested in this example
`con` and a completion item with an `insertText` of
`console` is provided it will only insert `sole`. Therefore it is
recommended to use `textEdit` instead since it avoids additional client
side interpretation. ---@field public insertTextFormat? cmp_dictionary.kit.LSP.InsertTextFormat The format of the insert text. The format applies to both the
`insertText` property and the `newText` property of a provided
`textEdit`. If omitted defaults to `InsertTextFormat.PlainText`.

Please note that the insertTextFormat doesn't apply to
`additionalTextEdits`. ---@field public insertTextMode? cmp_dictionary.kit.LSP.InsertTextMode How whitespace and indentation is handled during completion
item insertion. If not provided the clients default value depends on
the `textDocument.completion.insertTextMode` client capability.

@since 3.16.0 ---@field public textEdit? (cmp_dictionary.kit.LSP.TextEdit | cmp_dictionary.kit.LSP.InsertReplaceEdit) An [edit](#TextEdit) which is applied to a document when selecting
this completion. When an edit is provided the value of
[insertText](#CompletionItem.insertText) is ignored.

Most editors support two different operations when accepting a completion
item. One is to insert a completion text and the other is to replace an
existing text with a completion text. Since this can usually not be
predetermined by a server it can report both ranges. Clients need to
signal support for `InsertReplaceEdits` via the
`textDocument.completion.insertReplaceSupport` client capability
property.

*Note 1:* The text edit's range as well as both ranges from an insert
replace edit must be a [single line] and they must contain the position
at which completion has been requested.
*Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range
must be a prefix of the edit's replace range, that means it must be
contained and starting at the same position.

@since 3.16.0 additional type `InsertReplaceEdit` ---@field public textEditText? string The edit text used if the completion item is part of a CompletionList and
CompletionList defines an item default for the text edit range.

Clients will only honor this property if they opt into completion list
item defaults using the capability `completionList.itemDefaults`.

If not provided and a list's default range is provided the label
property is used as a text.

@since 3.17.0 ---@field public additionalTextEdits? cmp_dictionary.kit.LSP.TextEdit[] An optional array of additional [text edits](#TextEdit) that are applied when
selecting this completion. Edits must not overlap (including the same insert position)
with the main [edit](#CompletionItem.textEdit) nor with themselves.

Additional text edits should be used to change text unrelated to the current cursor position
(for example adding an import statement at the top of the file if the completion item will
insert an unqualified type). ---@field public commitCharacters? string[] An optional set of characters that when pressed while this completion is active will accept it first and
then type that character. *Note* that all commit characters should have `length=1` and that superfluous
characters will be ignored. ---@field public command? cmp_dictionary.kit.LSP.Command An optional [command](#Command) that is executed *after* inserting this completion. *Note* that
additional modifications to the current document should be described with the
[additionalTextEdits](#CompletionItem.additionalTextEdits)-property. ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved on a completion item between a
[CompletionRequest](#CompletionRequest) and a [CompletionResolveRequest](#CompletionResolveRequest). ---@class cmp_dictionary.kit.LSP.CompletionList ---@field public isIncomplete boolean This list it not complete. Further typing results in recomputing this list.

Recomputed lists have all their items replaced (not appended) in the
incomplete completion sessions. ---@field public itemDefaults? cmp_dictionary.kit.LSP.CompletionList.itemDefaults In many cases the items of an actual completion result share the same
value for properties like `commitCharacters` or the range of a text
edit. A completion list can therefore define item defaults which will
be used if a completion item itself doesn't specify the value.

If a completion list specifies a default value and a completion item
also specifies a corresponding value the one from the item is used.

Servers are only allowed to return default values if the client
signals support for this via the `completionList.itemDefaults`
capability.

@since 3.17.0 ---@field public items cmp_dictionary.kit.LSP.CompletionItem[] The completion items. ---@class cmp_dictionary.kit.LSP.CompletionList.itemDefaults ---@field public commitCharacters? string[] A default commit character set.

@since 3.17.0 ---@field public editRange? (cmp_dictionary.kit.LSP.Range | { insert: cmp_dictionary.kit.LSP.Range, replace: cmp_dictionary.kit.LSP.Range }) A default edit range.

@since 3.17.0 ---@field public insertTextFormat? cmp_dictionary.kit.LSP.InsertTextFormat A default insert text format.

@since 3.17.0 ---@field public insertTextMode? cmp_dictionary.kit.LSP.InsertTextMode A default insert text mode.

@since 3.17.0 ---@field public data? cmp_dictionary.kit.LSP.LSPAny A default data value.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.CompletionRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.CompletionOptions ---@class cmp_dictionary.kit.LSP.HoverParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@class cmp_dictionary.kit.LSP.Hover ---@field public contents (cmp_dictionary.kit.LSP.MarkupContent | cmp_dictionary.kit.LSP.MarkedString | cmp_dictionary.kit.LSP.MarkedString[]) The hover's content ---@field public range? cmp_dictionary.kit.LSP.Range An optional range inside the text document that is used to
visualize the hover, e.g. by changing the background color. ---@class cmp_dictionary.kit.LSP.HoverRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.HoverOptions ---@class cmp_dictionary.kit.LSP.SignatureHelpParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public context? cmp_dictionary.kit.LSP.SignatureHelpContext The signature help context. This is only available if the client specifies
to send this using the client capability `textDocument.signatureHelp.contextSupport === true`

@since 3.15.0 ---@class cmp_dictionary.kit.LSP.SignatureHelp ---@field public signatures cmp_dictionary.kit.LSP.SignatureInformation[] One or more signatures. ---@field public activeSignature? integer The active signature. If omitted or the value lies outside the
range of `signatures` the value defaults to zero or is ignored if
the `SignatureHelp` has no signatures.

Whenever possible implementors should make an active decision about
the active signature and shouldn't rely on a default value.

In future version of the protocol this property might become
mandatory to better express this. ---@field public activeParameter? integer The active parameter of the active signature. If omitted or the value
lies outside the range of `signatures[activeSignature].parameters`
defaults to 0 if the active signature has parameters. If
the active signature has no parameters it is ignored.
In future version of the protocol this property might become
mandatory to better express the active parameter if the
active signature does have any. ---@class cmp_dictionary.kit.LSP.SignatureHelpRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.SignatureHelpOptions ---@class cmp_dictionary.kit.LSP.DefinitionParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@class cmp_dictionary.kit.LSP.DefinitionRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DefinitionOptions ---@class cmp_dictionary.kit.LSP.ReferenceParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public context cmp_dictionary.kit.LSP.ReferenceContext ---@class cmp_dictionary.kit.LSP.ReferenceRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.ReferenceOptions ---@class cmp_dictionary.kit.LSP.DocumentHighlightParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@class cmp_dictionary.kit.LSP.DocumentHighlight ---@field public range cmp_dictionary.kit.LSP.Range The range this highlight applies to. ---@field public kind? cmp_dictionary.kit.LSP.DocumentHighlightKind The highlight kind, default is [text](#DocumentHighlightKind.Text). ---@class cmp_dictionary.kit.LSP.DocumentHighlightRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DocumentHighlightOptions ---@class cmp_dictionary.kit.LSP.DocumentSymbolParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@class cmp_dictionary.kit.LSP.SymbolInformation : cmp_dictionary.kit.LSP.BaseSymbolInformation ---@field public deprecated? boolean Indicates if this symbol is deprecated.

@deprecated Use tags instead ---@field public location cmp_dictionary.kit.LSP.Location The location of this symbol. The location's range is used by a tool
to reveal the location in the editor. If the symbol is selected in the
tool the range's start information is used to position the cursor. So
the range usually spans more than the actual symbol's name and does
normally include things like visibility modifiers.

The range doesn't have to denote a node range in the sense of an abstract
syntax tree. It can therefore not be used to re-construct a hierarchy of
the symbols. ---@class cmp_dictionary.kit.LSP.DocumentSymbol ---@field public name string The name of this symbol. Will be displayed in the user interface and therefore must not be
an empty string or a string only consisting of white spaces. ---@field public detail? string More detail for this symbol, e.g the signature of a function. ---@field public kind cmp_dictionary.kit.LSP.SymbolKind The kind of this symbol. ---@field public tags? cmp_dictionary.kit.LSP.SymbolTag[] Tags for this document symbol.

@since 3.16.0 ---@field public deprecated? boolean Indicates if this symbol is deprecated.

@deprecated Use tags instead ---@field public range cmp_dictionary.kit.LSP.Range The range enclosing this symbol not including leading/trailing whitespace but everything else
like comments. This information is typically used to determine if the clients cursor is
inside the symbol to reveal in the symbol in the UI. ---@field public selectionRange cmp_dictionary.kit.LSP.Range The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.
Must be contained by the `range`. ---@field public children? cmp_dictionary.kit.LSP.DocumentSymbol[] Children of this symbol, e.g. properties of a class. ---@class cmp_dictionary.kit.LSP.DocumentSymbolRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DocumentSymbolOptions ---@class cmp_dictionary.kit.LSP.CodeActionParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document in which the command was invoked. ---@field public range cmp_dictionary.kit.LSP.Range The range for which the command was invoked. ---@field public context cmp_dictionary.kit.LSP.CodeActionContext Context carrying additional information. ---@class cmp_dictionary.kit.LSP.Command ---@field public title string Title of the command, like `save`. ---@field public command string The identifier of the actual command handler. ---@field public arguments? cmp_dictionary.kit.LSP.LSPAny[] Arguments that the command handler should be
invoked with. ---@class cmp_dictionary.kit.LSP.CodeAction ---@field public title string A short, human-readable, title for this code action. ---@field public kind? cmp_dictionary.kit.LSP.CodeActionKind The kind of the code action.

Used to filter code actions. ---@field public diagnostics? cmp_dictionary.kit.LSP.Diagnostic[] The diagnostics that this code action resolves. ---@field public isPreferred? boolean Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted
by keybindings.

A quick fix should be marked preferred if it properly addresses the underlying error.
A refactoring should be marked preferred if it is the most reasonable choice of actions to take.

@since 3.15.0 ---@field public disabled? cmp_dictionary.kit.LSP.CodeAction.disabled Marks that the code action cannot currently be applied.

Clients should follow the following guidelines regarding disabled code actions:

- Disabled code actions are not shown in automatic [lightbulbs](https://code.visualstudio.com/docs/editor/editingevolved#_code-action)
code action menus.

- Disabled actions are shown as faded out in the code action menu when the user requests a more specific type
of code action, such as refactorings.

- If the user has a [keybinding](https://code.visualstudio.com/docs/editor/refactoring#_keybindings-for-code-actions)
that auto applies a code action and only disabled code actions are returned, the client should show the user an
error message with `reason` in the editor.

@since 3.16.0 ---@field public edit? cmp_dictionary.kit.LSP.WorkspaceEdit The workspace edit this code action performs. ---@field public command? cmp_dictionary.kit.LSP.Command A command this code action executes. If a code action
provides an edit and a command, first the edit is
executed and then the command. ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved on a code action between
a `textDocument/codeAction` and a `codeAction/resolve` request.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.CodeAction.disabled ---@field public reason string Human readable description of why the code action is currently disabled.

This is displayed in the code actions UI. ---@class cmp_dictionary.kit.LSP.CodeActionRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.CodeActionOptions ---@class cmp_dictionary.kit.LSP.WorkspaceSymbolParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public query string A query string to filter symbols by. Clients may send an empty
string here to request all symbols. ---@class cmp_dictionary.kit.LSP.WorkspaceSymbol : cmp_dictionary.kit.LSP.BaseSymbolInformation ---@field public location (cmp_dictionary.kit.LSP.Location | { uri: string }) The location of the symbol. Whether a server is allowed to
return a location without a range depends on the client
capability `workspace.symbol.resolveSupport`.

See SymbolInformation#location for more details. ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved on a workspace symbol between a
workspace symbol request and a workspace symbol resolve request. ---@class cmp_dictionary.kit.LSP.WorkspaceSymbolRegistrationOptions : cmp_dictionary.kit.LSP.WorkspaceSymbolOptions ---@class cmp_dictionary.kit.LSP.CodeLensParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document to request code lens for. ---@class cmp_dictionary.kit.LSP.CodeLens ---@field public range cmp_dictionary.kit.LSP.Range The range in which this code lens is valid. Should only span a single line. ---@field public command? cmp_dictionary.kit.LSP.Command The command this code lens represents. ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved on a code lens item between
a [CodeLensRequest](#CodeLensRequest) and a [CodeLensResolveRequest]
(#CodeLensResolveRequest) ---@class cmp_dictionary.kit.LSP.CodeLensRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.CodeLensOptions ---@class cmp_dictionary.kit.LSP.DocumentLinkParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams, cmp_dictionary.kit.LSP.PartialResultParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document to provide document links for. ---@class cmp_dictionary.kit.LSP.DocumentLink ---@field public range cmp_dictionary.kit.LSP.Range The range this link applies to. ---@field public target? string The uri this link points to. If missing a resolve request is sent later. ---@field public tooltip? string The tooltip text when you hover over this link.

If a tooltip is provided, is will be displayed in a string that includes instructions on how to
trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS,
user settings, and localization.

@since 3.15.0 ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved on a document link between a
DocumentLinkRequest and a DocumentLinkResolveRequest. ---@class cmp_dictionary.kit.LSP.DocumentLinkRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DocumentLinkOptions ---@class cmp_dictionary.kit.LSP.DocumentFormattingParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document to format. ---@field public options cmp_dictionary.kit.LSP.FormattingOptions The format options. ---@class cmp_dictionary.kit.LSP.DocumentFormattingRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DocumentFormattingOptions ---@class cmp_dictionary.kit.LSP.DocumentRangeFormattingParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document to format. ---@field public range cmp_dictionary.kit.LSP.Range The range to format ---@field public options cmp_dictionary.kit.LSP.FormattingOptions The format options ---@class cmp_dictionary.kit.LSP.DocumentRangeFormattingRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DocumentRangeFormattingOptions ---@class cmp_dictionary.kit.LSP.DocumentOnTypeFormattingParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document to format. ---@field public position cmp_dictionary.kit.LSP.Position The position around which the on type formatting should happen.
This is not necessarily the exact position where the character denoted
by the property `ch` got typed. ---@field public ch string The character that has been typed that triggered the formatting
on type request. That is not necessarily the last character that
got inserted into the document since the client could auto insert
characters as well (e.g. like automatic brace completion). ---@field public options cmp_dictionary.kit.LSP.FormattingOptions The formatting options. ---@class cmp_dictionary.kit.LSP.DocumentOnTypeFormattingRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.DocumentOnTypeFormattingOptions ---@class cmp_dictionary.kit.LSP.RenameParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The document to rename. ---@field public position cmp_dictionary.kit.LSP.Position The position at which this request was sent. ---@field public newName string The new name of the symbol. If the given name is not valid the
request must return a [ResponseError](#ResponseError) with an
appropriate message set. ---@class cmp_dictionary.kit.LSP.RenameRegistrationOptions : cmp_dictionary.kit.LSP.TextDocumentRegistrationOptions, cmp_dictionary.kit.LSP.RenameOptions ---@class cmp_dictionary.kit.LSP.PrepareRenameParams : cmp_dictionary.kit.LSP.TextDocumentPositionParams, cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@class cmp_dictionary.kit.LSP.ExecuteCommandParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public command string The identifier of the actual command handler. ---@field public arguments? cmp_dictionary.kit.LSP.LSPAny[] Arguments that the command should be invoked with. ---@class cmp_dictionary.kit.LSP.ExecuteCommandRegistrationOptions : cmp_dictionary.kit.LSP.ExecuteCommandOptions ---@class cmp_dictionary.kit.LSP.ApplyWorkspaceEditParams ---@field public label? string An optional label of the workspace edit. This label is
presented in the user interface for example on an undo
stack to undo the workspace edit. ---@field public edit cmp_dictionary.kit.LSP.WorkspaceEdit The edits to apply. ---@class cmp_dictionary.kit.LSP.ApplyWorkspaceEditResult ---@field public applied boolean Indicates whether the edit was applied or not. ---@field public failureReason? string An optional textual description for why the edit was not applied.
This may be used by the server for diagnostic logging or to provide
a suitable error for a request that triggered the edit. ---@field public failedChange? integer Depending on the client's failure handling strategy `failedChange` might
contain the index of the change that failed. This property is only available
if the client signals a `failureHandlingStrategy` in its client capabilities. ---@class cmp_dictionary.kit.LSP.WorkDoneProgressBegin ---@field public kind "begin" ---@field public title string Mandatory title of the progress operation. Used to briefly inform about
the kind of operation being performed.

Examples: "Indexing" or "Linking dependencies". ---@field public cancellable? boolean Controls if a cancel button should show to allow the user to cancel the
long running operation. Clients that don't support cancellation are allowed
to ignore the setting. ---@field public message? string Optional, more detailed associated progress message. Contains
complementary information to the `title`.

Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
If unset, the previous progress message (if any) is still valid. ---@field public percentage? integer Optional progress percentage to display (value 100 is considered 100%).
If not provided infinite progress is assumed and clients are allowed
to ignore the `percentage` value in subsequent in report notifications.

The value should be steadily rising. Clients are free to ignore values
that are not following this rule. The value range is [0, 100]. ---@class cmp_dictionary.kit.LSP.WorkDoneProgressReport ---@field public kind "report" ---@field public cancellable? boolean Controls enablement state of a cancel button.

Clients that don't support cancellation or don't support controlling the button's
enablement state are allowed to ignore the property. ---@field public message? string Optional, more detailed associated progress message. Contains
complementary information to the `title`.

Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
If unset, the previous progress message (if any) is still valid. ---@field public percentage? integer Optional progress percentage to display (value 100 is considered 100%).
If not provided infinite progress is assumed and clients are allowed
to ignore the `percentage` value in subsequent in report notifications.

The value should be steadily rising. Clients are free to ignore values
that are not following this rule. The value range is [0, 100] ---@class cmp_dictionary.kit.LSP.WorkDoneProgressEnd ---@field public kind "end" ---@field public message? string Optional, a final message indicating to for example indicate the outcome
of the operation. ---@class cmp_dictionary.kit.LSP.SetTraceParams ---@field public value cmp_dictionary.kit.LSP.TraceValues ---@class cmp_dictionary.kit.LSP.LogTraceParams ---@field public message string ---@field public verbose? string ---@class cmp_dictionary.kit.LSP.CancelParams ---@field public id (integer | string) The request id to cancel. ---@class cmp_dictionary.kit.LSP.ProgressParams ---@field public token cmp_dictionary.kit.LSP.ProgressToken The progress token provided by the client or server. ---@field public value cmp_dictionary.kit.LSP.LSPAny The progress data. ---@class cmp_dictionary.kit.LSP.TextDocumentPositionParams ---@field public textDocument cmp_dictionary.kit.LSP.TextDocumentIdentifier The text document. ---@field public position cmp_dictionary.kit.LSP.Position The position inside the text document. ---@class cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public workDoneToken? cmp_dictionary.kit.LSP.ProgressToken An optional token that a server can use to report work done progress. ---@class cmp_dictionary.kit.LSP.LocationLink ---@field public originSelectionRange? cmp_dictionary.kit.LSP.Range Span of the origin of this link.

Used as the underlined span for mouse interaction. Defaults to the word range at
the definition position. ---@field public targetUri string The target resource identifier of this link. ---@field public targetRange cmp_dictionary.kit.LSP.Range The full target range of this link. If the target for example is a symbol then target range is the
range enclosing this symbol not including leading/trailing whitespace but everything else
like comments. This information is typically used to highlight the range in the editor. ---@field public targetSelectionRange cmp_dictionary.kit.LSP.Range The range that should be selected and revealed when this link is being followed, e.g the name of a function.
Must be contained by the `targetRange`. See also `DocumentSymbol#range` ---@class cmp_dictionary.kit.LSP.Range ---@field public start cmp_dictionary.kit.LSP.Position The range's start position. ---@field public end cmp_dictionary.kit.LSP.Position The range's end position. ---@class cmp_dictionary.kit.LSP.ImplementationOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@field public id? string The id used to register the request. The id can be used to deregister
the request again. See also Registration#id. ---@class cmp_dictionary.kit.LSP.TypeDefinitionOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.WorkspaceFoldersChangeEvent ---@field public added cmp_dictionary.kit.LSP.WorkspaceFolder[] The array of added workspace folders ---@field public removed cmp_dictionary.kit.LSP.WorkspaceFolder[] The array of the removed workspace folders ---@class cmp_dictionary.kit.LSP.ConfigurationItem ---@field public scopeUri? string The scope to get the configuration section for. ---@field public section? string The configuration section asked for. ---@class cmp_dictionary.kit.LSP.TextDocumentIdentifier ---@field public uri string The text document's uri. ---@class cmp_dictionary.kit.LSP.Color ---@field public red integer The red component of this color in the range [0-1]. ---@field public green integer The green component of this color in the range [0-1]. ---@field public blue integer The blue component of this color in the range [0-1]. ---@field public alpha integer The alpha component of this color in the range [0-1]. ---@class cmp_dictionary.kit.LSP.DocumentColorOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.FoldingRangeOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.DeclarationOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.Position ---@field public line integer Line position in a document (zero-based).

If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document.
If a line number is negative, it defaults to 0. ---@field public character integer Character offset on a line in a document (zero-based).

The meaning of this offset is determined by the negotiated
`PositionEncodingKind`.

If the character value is greater than the line length it defaults back to the
line length. ---@class cmp_dictionary.kit.LSP.SelectionRangeOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.CallHierarchyOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.SemanticTokensOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public legend cmp_dictionary.kit.LSP.SemanticTokensLegend The legend used by the server ---@field public range? (boolean | { }) Server supports providing semantic tokens for a specific range
of a document. ---@field public full? (boolean | { delta?: boolean }) Server supports providing semantic tokens for a full document. ---@class cmp_dictionary.kit.LSP.SemanticTokensEdit ---@field public start integer The start offset of the edit. ---@field public deleteCount integer The count of elements to remove. ---@field public data? integer[] The elements to insert. ---@class cmp_dictionary.kit.LSP.LinkedEditingRangeOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.FileCreate ---@field public uri string A file:// URI for the location of the file/folder being created. ---@class cmp_dictionary.kit.LSP.TextDocumentEdit ---@field public textDocument cmp_dictionary.kit.LSP.OptionalVersionedTextDocumentIdentifier The text document to change. ---@field public edits (cmp_dictionary.kit.LSP.TextEdit | cmp_dictionary.kit.LSP.AnnotatedTextEdit)[] The edits to be applied.

@since 3.16.0 - support for AnnotatedTextEdit. This is guarded using a
client capability. ---@class cmp_dictionary.kit.LSP.CreateFile : cmp_dictionary.kit.LSP.ResourceOperation ---@field public kind "create" A create ---@field public uri string The resource to create. ---@field public options? cmp_dictionary.kit.LSP.CreateFileOptions Additional options ---@class cmp_dictionary.kit.LSP.RenameFile : cmp_dictionary.kit.LSP.ResourceOperation ---@field public kind "rename" A rename ---@field public oldUri string The old (existing) location. ---@field public newUri string The new location. ---@field public options? cmp_dictionary.kit.LSP.RenameFileOptions Rename options. ---@class cmp_dictionary.kit.LSP.DeleteFile : cmp_dictionary.kit.LSP.ResourceOperation ---@field public kind "delete" A delete ---@field public uri string The file to delete. ---@field public options? cmp_dictionary.kit.LSP.DeleteFileOptions Delete options. ---@class cmp_dictionary.kit.LSP.ChangeAnnotation ---@field public label string A human-readable string describing the actual change. The string
is rendered prominent in the user interface. ---@field public needsConfirmation? boolean A flag which indicates that user confirmation is needed
before applying the change. ---@field public description? string A human-readable string which is rendered less prominent in
the user interface. ---@class cmp_dictionary.kit.LSP.FileOperationFilter ---@field public scheme? string A Uri scheme like `file` or `untitled`. ---@field public pattern cmp_dictionary.kit.LSP.FileOperationPattern The actual file operation pattern. ---@class cmp_dictionary.kit.LSP.FileRename ---@field public oldUri string A file:// URI for the original location of the file/folder being renamed. ---@field public newUri string A file:// URI for the new location of the file/folder being renamed. ---@class cmp_dictionary.kit.LSP.FileDelete ---@field public uri string A file:// URI for the location of the file/folder being deleted. ---@class cmp_dictionary.kit.LSP.MonikerOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.TypeHierarchyOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.InlineValueContext ---@field public frameId integer The stack frame (as a DAP Id) where the execution has stopped. ---@field public stoppedLocation cmp_dictionary.kit.LSP.Range The document range where execution has stopped.
Typically the end position of the range denotes the line where the inline values are shown. ---@class cmp_dictionary.kit.LSP.InlineValueText ---@field public range cmp_dictionary.kit.LSP.Range The document range for which the inline value applies. ---@field public text string The text of the inline value. ---@class cmp_dictionary.kit.LSP.InlineValueVariableLookup ---@field public range cmp_dictionary.kit.LSP.Range The document range for which the inline value applies.
The range is used to extract the variable name from the underlying document. ---@field public variableName? string If specified the name of the variable to look up. ---@field public caseSensitiveLookup boolean How to perform the lookup. ---@class cmp_dictionary.kit.LSP.InlineValueEvaluatableExpression ---@field public range cmp_dictionary.kit.LSP.Range The document range for which the inline value applies.
The range is used to extract the evaluatable expression from the underlying document. ---@field public expression? string If specified the expression overrides the extracted expression. ---@class cmp_dictionary.kit.LSP.InlineValueOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.InlayHintLabelPart ---@field public value string The value of this label part. ---@field public tooltip? (string | cmp_dictionary.kit.LSP.MarkupContent) The tooltip text when you hover over this label part. Depending on
the client capability `inlayHint.resolveSupport` clients might resolve
this property late using the resolve request. ---@field public location? cmp_dictionary.kit.LSP.Location An optional source code location that represents this
label part.

The editor will use this location for the hover and for code navigation
features: This part will become a clickable link that resolves to the
definition of the symbol at the given location (not necessarily the
location itself), it shows the hover that shows at the given location,
and it shows a context menu with further code navigation commands.

Depending on the client capability `inlayHint.resolveSupport` clients
might resolve this property late using the resolve request. ---@field public command? cmp_dictionary.kit.LSP.Command An optional command for this label part.

Depending on the client capability `inlayHint.resolveSupport` clients
might resolve this property late using the resolve request. ---@class cmp_dictionary.kit.LSP.MarkupContent ---@field public kind cmp_dictionary.kit.LSP.MarkupKind The type of the Markup ---@field public value string The content itself ---@class cmp_dictionary.kit.LSP.InlayHintOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public resolveProvider? boolean The server provides support to resolve additional
information for an inlay hint item. ---@class cmp_dictionary.kit.LSP.RelatedFullDocumentDiagnosticReport : cmp_dictionary.kit.LSP.FullDocumentDiagnosticReport ---@field public relatedDocuments? table Diagnostics of related documents. This information is useful
in programming languages where code in a file A can generate
diagnostics in a file B which A depends on. An example of
such a language is C/C++ where marco definitions in a file
a.cpp and result in errors in a header file b.hpp.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.RelatedUnchangedDocumentDiagnosticReport : cmp_dictionary.kit.LSP.UnchangedDocumentDiagnosticReport ---@field public relatedDocuments? table Diagnostics of related documents. This information is useful
in programming languages where code in a file A can generate
diagnostics in a file B which A depends on. An example of
such a language is C/C++ where marco definitions in a file
a.cpp and result in errors in a header file b.hpp.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.FullDocumentDiagnosticReport ---@field public kind "full" A full document diagnostic report. ---@field public resultId? string An optional result id. If provided it will
be sent on the next diagnostic request for the
same document. ---@field public items cmp_dictionary.kit.LSP.Diagnostic[] The actual items. ---@class cmp_dictionary.kit.LSP.UnchangedDocumentDiagnosticReport ---@field public kind "unchanged" A document diagnostic report indicating
no changes to the last result. A server can
only return `unchanged` if result ids are
provided. ---@field public resultId string A result id which will be sent on the next
diagnostic request for the same document. ---@class cmp_dictionary.kit.LSP.DiagnosticOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public identifier? string An optional identifier under which the diagnostics are
managed by the client. ---@field public interFileDependencies boolean Whether the language has inter file dependencies meaning that
editing code in one file can result in a different diagnostic
set in another file. Inter file dependencies are common for
most programming languages and typically uncommon for linters. ---@field public workspaceDiagnostics boolean The server provides support for workspace diagnostics as well. ---@class cmp_dictionary.kit.LSP.PreviousResultId ---@field public uri string The URI for which the client knowns a
result id. ---@field public value string The value of the previous result id. ---@class cmp_dictionary.kit.LSP.NotebookDocument ---@field public uri string The notebook document's uri. ---@field public notebookType string The type of the notebook. ---@field public version integer The version number of this document (it will increase after each
change, including undo/redo). ---@field public metadata? cmp_dictionary.kit.LSP.LSPObject Additional metadata stored with the notebook
document.

Note: should always be an object literal (e.g. LSPObject) ---@field public cells cmp_dictionary.kit.LSP.NotebookCell[] The cells of a notebook. ---@class cmp_dictionary.kit.LSP.TextDocumentItem ---@field public uri string The text document's uri. ---@field public languageId string The text document's language identifier. ---@field public version integer The version number of this document (it will increase after each
change, including undo/redo). ---@field public text string The content of the opened text document. ---@class cmp_dictionary.kit.LSP.VersionedNotebookDocumentIdentifier ---@field public version integer The version number of this notebook document. ---@field public uri string The notebook document's uri. ---@class cmp_dictionary.kit.LSP.NotebookDocumentChangeEvent ---@field public metadata? cmp_dictionary.kit.LSP.LSPObject The changed meta data if any.

Note: should always be an object literal (e.g. LSPObject) ---@field public cells? cmp_dictionary.kit.LSP.NotebookDocumentChangeEvent.cells Changes to cells ---@class cmp_dictionary.kit.LSP.NotebookDocumentChangeEvent.cells ---@field public structure? cmp_dictionary.kit.LSP.NotebookDocumentChangeEvent.cells.structure Changes to the cell structure to add or
remove cells. ---@field public data? cmp_dictionary.kit.LSP.NotebookCell[] Changes to notebook cells properties like its
kind, execution summary or metadata. ---@field public textContent? { document: cmp_dictionary.kit.LSP.VersionedTextDocumentIdentifier, changes: cmp_dictionary.kit.LSP.TextDocumentContentChangeEvent[] }[] Changes to the text content of notebook cells. ---@class cmp_dictionary.kit.LSP.NotebookDocumentChangeEvent.cells.structure ---@field public array cmp_dictionary.kit.LSP.NotebookCellArrayChange The change to the cell array. ---@field public didOpen? cmp_dictionary.kit.LSP.TextDocumentItem[] Additional opened cell text documents. ---@field public didClose? cmp_dictionary.kit.LSP.TextDocumentIdentifier[] Additional closed cell text documents. ---@class cmp_dictionary.kit.LSP.NotebookDocumentIdentifier ---@field public uri string The notebook document's uri. ---@class cmp_dictionary.kit.LSP.Registration ---@field public id string The id used to register the request. The id can be used to deregister
the request again. ---@field public method string The method / capability to register for. ---@field public registerOptions? cmp_dictionary.kit.LSP.LSPAny Options necessary for the registration. ---@class cmp_dictionary.kit.LSP.Unregistration ---@field public id string The id used to unregister the request or notification. Usually an id
provided during the register request. ---@field public method string The method to unregister for. ---@class cmp_dictionary.kit.LSP._InitializeParams : cmp_dictionary.kit.LSP.WorkDoneProgressParams ---@field public processId (integer | nil) The process Id of the parent process that started
the server.

Is `null` if the process has not been started by another process.
If the parent process is not alive then the server should exit. ---@field public clientInfo? cmp_dictionary.kit.LSP._InitializeParams.clientInfo Information about the client

@since 3.15.0 ---@field public locale? string The locale the client is currently showing the user interface
in. This must not necessarily be the locale of the operating
system.

Uses IETF language tags as the value's syntax
(See https://en.wikipedia.org/wiki/IETF_language_tag)

@since 3.16.0 ---@field public rootPath? (string | nil) The rootPath of the workspace. Is null
if no folder is open.

@deprecated in favour of rootUri. ---@field public rootUri (string | nil) The rootUri of the workspace. Is null if no
folder is open. If both `rootPath` and `rootUri` are set
`rootUri` wins.

@deprecated in favour of workspaceFolders. ---@field public capabilities cmp_dictionary.kit.LSP.ClientCapabilities The capabilities provided by the client (editor or tool) ---@field public initializationOptions? cmp_dictionary.kit.LSP.LSPAny User provided initialization options. ---@field public trace? ("off" | "messages" | "compact" | "verbose") The initial trace setting. If omitted trace is disabled ('off'). ---@class cmp_dictionary.kit.LSP._InitializeParams.clientInfo ---@field public name string The name of the client as defined by the client. ---@field public version? string The client's version as defined by the client. ---@class cmp_dictionary.kit.LSP.WorkspaceFoldersInitializeParams ---@field public workspaceFolders? (cmp_dictionary.kit.LSP.WorkspaceFolder[] | nil) The workspace folders configured in the client when the server starts.

This property is only available if the client supports workspace folders.
It can be `null` if the client supports workspace folders but none are
configured.

@since 3.6.0 ---@class cmp_dictionary.kit.LSP.ServerCapabilities ---@field public positionEncoding? cmp_dictionary.kit.LSP.PositionEncodingKind The position encoding the server picked from the encodings offered
by the client via the client capability `general.positionEncodings`.

If the client didn't provide any position encodings the only valid
value that a server can return is 'utf-16'.

If omitted it defaults to 'utf-16'.

@since 3.17.0 ---@field public textDocumentSync? (cmp_dictionary.kit.LSP.TextDocumentSyncOptions | cmp_dictionary.kit.LSP.TextDocumentSyncKind) Defines how text documents are synced. Is either a detailed structure
defining each notification or for backwards compatibility the
TextDocumentSyncKind number. ---@field public notebookDocumentSync? (cmp_dictionary.kit.LSP.NotebookDocumentSyncOptions | cmp_dictionary.kit.LSP.NotebookDocumentSyncRegistrationOptions) Defines how notebook documents are synced.

@since 3.17.0 ---@field public completionProvider? cmp_dictionary.kit.LSP.CompletionOptions The server provides completion support. ---@field public hoverProvider? (boolean | cmp_dictionary.kit.LSP.HoverOptions) The server provides hover support. ---@field public signatureHelpProvider? cmp_dictionary.kit.LSP.SignatureHelpOptions The server provides signature help support. ---@field public declarationProvider? (boolean | cmp_dictionary.kit.LSP.DeclarationOptions | cmp_dictionary.kit.LSP.DeclarationRegistrationOptions) The server provides Goto Declaration support. ---@field public definitionProvider? (boolean | cmp_dictionary.kit.LSP.DefinitionOptions) The server provides goto definition support. ---@field public typeDefinitionProvider? (boolean | cmp_dictionary.kit.LSP.TypeDefinitionOptions | cmp_dictionary.kit.LSP.TypeDefinitionRegistrationOptions) The server provides Goto Type Definition support. ---@field public implementationProvider? (boolean | cmp_dictionary.kit.LSP.ImplementationOptions | cmp_dictionary.kit.LSP.ImplementationRegistrationOptions) The server provides Goto Implementation support. ---@field public referencesProvider? (boolean | cmp_dictionary.kit.LSP.ReferenceOptions) The server provides find references support. ---@field public documentHighlightProvider? (boolean | cmp_dictionary.kit.LSP.DocumentHighlightOptions) The server provides document highlight support. ---@field public documentSymbolProvider? (boolean | cmp_dictionary.kit.LSP.DocumentSymbolOptions) The server provides document symbol support. ---@field public codeActionProvider? (boolean | cmp_dictionary.kit.LSP.CodeActionOptions) The server provides code actions. CodeActionOptions may only be
specified if the client states that it supports
`codeActionLiteralSupport` in its initial `initialize` request. ---@field public codeLensProvider? cmp_dictionary.kit.LSP.CodeLensOptions The server provides code lens. ---@field public documentLinkProvider? cmp_dictionary.kit.LSP.DocumentLinkOptions The server provides document link support. ---@field public colorProvider? (boolean | cmp_dictionary.kit.LSP.DocumentColorOptions | cmp_dictionary.kit.LSP.DocumentColorRegistrationOptions) The server provides color provider support. ---@field public workspaceSymbolProvider? (boolean | cmp_dictionary.kit.LSP.WorkspaceSymbolOptions) The server provides workspace symbol support. ---@field public documentFormattingProvider? (boolean | cmp_dictionary.kit.LSP.DocumentFormattingOptions) The server provides document formatting. ---@field public documentRangeFormattingProvider? (boolean | cmp_dictionary.kit.LSP.DocumentRangeFormattingOptions) The server provides document range formatting. ---@field public documentOnTypeFormattingProvider? cmp_dictionary.kit.LSP.DocumentOnTypeFormattingOptions The server provides document formatting on typing. ---@field public renameProvider? (boolean | cmp_dictionary.kit.LSP.RenameOptions) The server provides rename support. RenameOptions may only be
specified if the client states that it supports
`prepareSupport` in its initial `initialize` request. ---@field public foldingRangeProvider? (boolean | cmp_dictionary.kit.LSP.FoldingRangeOptions | cmp_dictionary.kit.LSP.FoldingRangeRegistrationOptions) The server provides folding provider support. ---@field public selectionRangeProvider? (boolean | cmp_dictionary.kit.LSP.SelectionRangeOptions | cmp_dictionary.kit.LSP.SelectionRangeRegistrationOptions) The server provides selection range support. ---@field public executeCommandProvider? cmp_dictionary.kit.LSP.ExecuteCommandOptions The server provides execute command support. ---@field public callHierarchyProvider? (boolean | cmp_dictionary.kit.LSP.CallHierarchyOptions | cmp_dictionary.kit.LSP.CallHierarchyRegistrationOptions) The server provides call hierarchy support.

@since 3.16.0 ---@field public linkedEditingRangeProvider? (boolean | cmp_dictionary.kit.LSP.LinkedEditingRangeOptions | cmp_dictionary.kit.LSP.LinkedEditingRangeRegistrationOptions) The server provides linked editing range support.

@since 3.16.0 ---@field public semanticTokensProvider? (cmp_dictionary.kit.LSP.SemanticTokensOptions | cmp_dictionary.kit.LSP.SemanticTokensRegistrationOptions) The server provides semantic tokens support.

@since 3.16.0 ---@field public monikerProvider? (boolean | cmp_dictionary.kit.LSP.MonikerOptions | cmp_dictionary.kit.LSP.MonikerRegistrationOptions) The server provides moniker support.

@since 3.16.0 ---@field public typeHierarchyProvider? (boolean | cmp_dictionary.kit.LSP.TypeHierarchyOptions | cmp_dictionary.kit.LSP.TypeHierarchyRegistrationOptions) The server provides type hierarchy support.

@since 3.17.0 ---@field public inlineValueProvider? (boolean | cmp_dictionary.kit.LSP.InlineValueOptions | cmp_dictionary.kit.LSP.InlineValueRegistrationOptions) The server provides inline values.

@since 3.17.0 ---@field public inlayHintProvider? (boolean | cmp_dictionary.kit.LSP.InlayHintOptions | cmp_dictionary.kit.LSP.InlayHintRegistrationOptions) The server provides inlay hints.

@since 3.17.0 ---@field public diagnosticProvider? (cmp_dictionary.kit.LSP.DiagnosticOptions | cmp_dictionary.kit.LSP.DiagnosticRegistrationOptions) The server has support for pull model diagnostics.

@since 3.17.0 ---@field public workspace? cmp_dictionary.kit.LSP.ServerCapabilities.workspace Workspace specific server capabilities. ---@field public experimental? cmp_dictionary.kit.LSP.LSPAny Experimental server capabilities. ---@class cmp_dictionary.kit.LSP.ServerCapabilities.workspace ---@field public workspaceFolders? cmp_dictionary.kit.LSP.WorkspaceFoldersServerCapabilities The server supports workspace folder.

@since 3.6.0 ---@field public fileOperations? cmp_dictionary.kit.LSP.FileOperationOptions The server is interested in notifications/requests for operations on files.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.VersionedTextDocumentIdentifier : cmp_dictionary.kit.LSP.TextDocumentIdentifier ---@field public version integer The version number of this document. ---@class cmp_dictionary.kit.LSP.SaveOptions ---@field public includeText? boolean The client is supposed to include the content on save. ---@class cmp_dictionary.kit.LSP.FileEvent ---@field public uri string The file's uri. ---@field public type cmp_dictionary.kit.LSP.FileChangeType The change type. ---@class cmp_dictionary.kit.LSP.FileSystemWatcher ---@field public globPattern cmp_dictionary.kit.LSP.GlobPattern The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.

@since 3.17.0 support for relative patterns. ---@field public kind? cmp_dictionary.kit.LSP.WatchKind The kind of events of interest. If omitted it defaults
to WatchKind.Create | WatchKind.Change | WatchKind.Delete
which is 7. ---@class cmp_dictionary.kit.LSP.Diagnostic ---@field public range cmp_dictionary.kit.LSP.Range The range at which the message applies ---@field public severity? cmp_dictionary.kit.LSP.DiagnosticSeverity The diagnostic's severity. Can be omitted. If omitted it is up to the
client to interpret diagnostics as error, warning, info or hint. ---@field public code? (integer | string) The diagnostic's code, which usually appear in the user interface. ---@field public codeDescription? cmp_dictionary.kit.LSP.CodeDescription An optional property to describe the error code.
Requires the code field (above) to be present/not null.

@since 3.16.0 ---@field public source? string A human-readable string describing the source of this
diagnostic, e.g. 'typescript' or 'super lint'. It usually
appears in the user interface. ---@field public message string The diagnostic's message. It usually appears in the user interface ---@field public tags? cmp_dictionary.kit.LSP.DiagnosticTag[] Additional metadata about the diagnostic.

@since 3.15.0 ---@field public relatedInformation? cmp_dictionary.kit.LSP.DiagnosticRelatedInformation[] An array of related diagnostic information, e.g. when symbol-names within
a scope collide all definitions can be marked via this property. ---@field public data? cmp_dictionary.kit.LSP.LSPAny A data entry field that is preserved between a `textDocument/publishDiagnostics`
notification and `textDocument/codeAction` request.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.CompletionContext ---@field public triggerKind cmp_dictionary.kit.LSP.CompletionTriggerKind How the completion was triggered. ---@field public triggerCharacter? string The trigger character (a single character) that has trigger code complete.
Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter` ---@class cmp_dictionary.kit.LSP.CompletionItemLabelDetails ---@field public detail? string An optional string which is rendered less prominently directly after {@link CompletionItem.label label},
without any spacing. Should be used for function signatures and type annotations. ---@field public description? string An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used
for fully qualified names and file paths. ---@class cmp_dictionary.kit.LSP.InsertReplaceEdit ---@field public newText string The string to be inserted. ---@field public insert cmp_dictionary.kit.LSP.Range The range if the insert is requested ---@field public replace cmp_dictionary.kit.LSP.Range The range if the replace is requested. ---@class cmp_dictionary.kit.LSP.CompletionOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public triggerCharacters? string[] Most tools trigger completion request automatically without explicitly requesting
it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
starts to type an identifier. For example if the user types `c` in a JavaScript file
code complete will automatically pop up present `console` besides others as a
completion item. Characters that make up identifiers don't need to be listed here.

If code complete should automatically be trigger on characters not being valid inside
an identifier (for example `.` in JavaScript) list them in `triggerCharacters`. ---@field public allCommitCharacters? string[] The list of all possible characters that commit a completion. This field can be used
if clients don't support individual commit characters per completion item. See
`ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`

If a server provides both `allCommitCharacters` and commit characters on an individual
completion item the ones on the completion item win.

@since 3.2.0 ---@field public resolveProvider? boolean The server provides support to resolve additional
information for a completion item. ---@field public completionItem? cmp_dictionary.kit.LSP.CompletionOptions.completionItem The server supports the following `CompletionItem` specific
capabilities.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.CompletionOptions.completionItem ---@field public labelDetailsSupport? boolean The server has support for completion item label
details (see also `CompletionItemLabelDetails`) when
receiving a completion item in a resolve call.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.HoverOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.SignatureHelpContext ---@field public triggerKind cmp_dictionary.kit.LSP.SignatureHelpTriggerKind Action that caused signature help to be triggered. ---@field public triggerCharacter? string Character that caused signature help to be triggered.

This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter` ---@field public isRetrigger boolean `true` if signature help was already showing when it was triggered.

Retriggers occurs when the signature help is already active and can be caused by actions such as
typing a trigger character, a cursor move, or document content changes. ---@field public activeSignatureHelp? cmp_dictionary.kit.LSP.SignatureHelp The currently active `SignatureHelp`.

The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
the user navigating through available signatures. ---@class cmp_dictionary.kit.LSP.SignatureInformation ---@field public label string The label of this signature. Will be shown in
the UI. ---@field public documentation? (string | cmp_dictionary.kit.LSP.MarkupContent) The human-readable doc-comment of this signature. Will be shown
in the UI but can be omitted. ---@field public parameters? cmp_dictionary.kit.LSP.ParameterInformation[] The parameters of this signature. ---@field public activeParameter? integer The index of the active parameter.

If provided, this is used in place of `SignatureHelp.activeParameter`.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.SignatureHelpOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public triggerCharacters? string[] List of characters that trigger signature help automatically. ---@field public retriggerCharacters? string[] List of characters that re-trigger signature help.

These trigger characters are only active when signature help is already showing. All trigger characters
are also counted as re-trigger characters.

@since 3.15.0 ---@class cmp_dictionary.kit.LSP.DefinitionOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.ReferenceContext ---@field public includeDeclaration boolean Include the declaration of the current symbol. ---@class cmp_dictionary.kit.LSP.ReferenceOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.DocumentHighlightOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.BaseSymbolInformation ---@field public name string The name of this symbol. ---@field public kind cmp_dictionary.kit.LSP.SymbolKind The kind of this symbol. ---@field public tags? cmp_dictionary.kit.LSP.SymbolTag[] Tags for this symbol.

@since 3.16.0 ---@field public containerName? string The name of the symbol containing this symbol. This information is for
user interface purposes (e.g. to render a qualifier in the user interface
if necessary). It can't be used to re-infer a hierarchy for the document
symbols. ---@class cmp_dictionary.kit.LSP.DocumentSymbolOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public label? string A human-readable string that is shown when multiple outlines trees
are shown for the same document.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.CodeActionContext ---@field public diagnostics cmp_dictionary.kit.LSP.Diagnostic[] An array of diagnostics known on the client side overlapping the range provided to the
`textDocument/codeAction` request. They are provided so that the server knows which
errors are currently presented to the user for the given range. There is no guarantee
that these accurately reflect the error state of the resource. The primary parameter
to compute code actions is the provided range. ---@field public only? cmp_dictionary.kit.LSP.CodeActionKind[] Requested kind of actions to return.

Actions not of this kind are filtered out by the client before being shown. So servers
can omit computing them. ---@field public triggerKind? cmp_dictionary.kit.LSP.CodeActionTriggerKind The reason why code actions were requested.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.CodeActionOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public codeActionKinds? cmp_dictionary.kit.LSP.CodeActionKind[] CodeActionKinds that this server may return.

The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
may list out every specific kind they provide. ---@field public resolveProvider? boolean The server provides support to resolve additional
information for a code action.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.WorkspaceSymbolOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public resolveProvider? boolean The server provides support to resolve additional
information for a workspace symbol.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.CodeLensOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public resolveProvider? boolean Code lens has a resolve provider as well. ---@class cmp_dictionary.kit.LSP.DocumentLinkOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public resolveProvider? boolean Document links have a resolve provider as well. ---@class cmp_dictionary.kit.LSP.FormattingOptions ---@field public tabSize integer Size of a tab in spaces. ---@field public insertSpaces boolean Prefer spaces over tabs. ---@field public trimTrailingWhitespace? boolean Trim trailing whitespace on a line.

@since 3.15.0 ---@field public insertFinalNewline? boolean Insert a newline character at the end of the file if one does not exist.

@since 3.15.0 ---@field public trimFinalNewlines? boolean Trim all newlines after the final newline at the end of the file.

@since 3.15.0 ---@class cmp_dictionary.kit.LSP.DocumentFormattingOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.DocumentRangeFormattingOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@class cmp_dictionary.kit.LSP.DocumentOnTypeFormattingOptions ---@field public firstTriggerCharacter string A character on which formatting should be triggered, like `{`. ---@field public moreTriggerCharacter? string[] More trigger characters. ---@class cmp_dictionary.kit.LSP.RenameOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public prepareProvider? boolean Renames should be checked and tested before being executed.

@since version 3.12.0 ---@class cmp_dictionary.kit.LSP.ExecuteCommandOptions : cmp_dictionary.kit.LSP.WorkDoneProgressOptions ---@field public commands string[] The commands to be executed on the server ---@class cmp_dictionary.kit.LSP.SemanticTokensLegend ---@field public tokenTypes string[] The token types a server uses. ---@field public tokenModifiers string[] The token modifiers a server uses. ---@class cmp_dictionary.kit.LSP.OptionalVersionedTextDocumentIdentifier : cmp_dictionary.kit.LSP.TextDocumentIdentifier ---@field public version (integer | nil) The version number of this document. If a versioned text document identifier
is sent from the server to the client and the file is not open in the editor
(the server has not received an open notification before) the server can send
`null` to indicate that the version is unknown and the content on disk is the
truth (as specified with document content ownership). ---@class cmp_dictionary.kit.LSP.AnnotatedTextEdit : cmp_dictionary.kit.LSP.TextEdit ---@field public annotationId cmp_dictionary.kit.LSP.ChangeAnnotationIdentifier The actual identifier of the change annotation ---@class cmp_dictionary.kit.LSP.ResourceOperation ---@field public kind string The resource operation kind. ---@field public annotationId? cmp_dictionary.kit.LSP.ChangeAnnotationIdentifier An optional annotation identifier describing the operation.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.CreateFileOptions ---@field public overwrite? boolean Overwrite existing file. Overwrite wins over `ignoreIfExists` ---@field public ignoreIfExists? boolean Ignore if exists. ---@class cmp_dictionary.kit.LSP.RenameFileOptions ---@field public overwrite? boolean Overwrite target if existing. Overwrite wins over `ignoreIfExists` ---@field public ignoreIfExists? boolean Ignores if target exists. ---@class cmp_dictionary.kit.LSP.DeleteFileOptions ---@field public recursive? boolean Delete the content recursively if a folder is denoted. ---@field public ignoreIfNotExists? boolean Ignore the operation if the file doesn't exist. ---@class cmp_dictionary.kit.LSP.FileOperationPattern ---@field public glob string The glob pattern to match. Glob patterns can have the following syntax:
- `*` to match one or more characters in a path segment
- `?` to match on one character in a path segment
- `**` to match any number of path segments, including none
- `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
- `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
- `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`) ---@field public matches? cmp_dictionary.kit.LSP.FileOperationPatternKind Whether to match files or folders with this pattern.

Matches both if undefined. ---@field public options? cmp_dictionary.kit.LSP.FileOperationPatternOptions Additional options used during matching. ---@class cmp_dictionary.kit.LSP.WorkspaceFullDocumentDiagnosticReport : cmp_dictionary.kit.LSP.FullDocumentDiagnosticReport ---@field public uri string The URI for which diagnostic information is reported. ---@field public version (integer | nil) The version number for which the diagnostics are reported.
If the document is not marked as open `null` can be provided. ---@class cmp_dictionary.kit.LSP.WorkspaceUnchangedDocumentDiagnosticReport : cmp_dictionary.kit.LSP.UnchangedDocumentDiagnosticReport ---@field public uri string The URI for which diagnostic information is reported. ---@field public version (integer | nil) The version number for which the diagnostics are reported.
If the document is not marked as open `null` can be provided. ---@class cmp_dictionary.kit.LSP.LSPObject ---@class cmp_dictionary.kit.LSP.NotebookCell ---@field public kind cmp_dictionary.kit.LSP.NotebookCellKind The cell's kind ---@field public document string The URI of the cell's text document
content. ---@field public metadata? cmp_dictionary.kit.LSP.LSPObject Additional metadata stored with the cell.

Note: should always be an object literal (e.g. LSPObject) ---@field public executionSummary? cmp_dictionary.kit.LSP.ExecutionSummary Additional execution summary information
if supported by the client. ---@class cmp_dictionary.kit.LSP.NotebookCellArrayChange ---@field public start integer The start oftest of the cell that changed. ---@field public deleteCount integer The deleted cells ---@field public cells? cmp_dictionary.kit.LSP.NotebookCell[] The new cells, if any ---@class cmp_dictionary.kit.LSP.ClientCapabilities ---@field public workspace? cmp_dictionary.kit.LSP.WorkspaceClientCapabilities Workspace specific client capabilities. ---@field public textDocument? cmp_dictionary.kit.LSP.TextDocumentClientCapabilities Text document specific client capabilities. ---@field public notebookDocument? cmp_dictionary.kit.LSP.NotebookDocumentClientCapabilities Capabilities specific to the notebook document support.

@since 3.17.0 ---@field public window? cmp_dictionary.kit.LSP.WindowClientCapabilities Window specific client capabilities. ---@field public general? cmp_dictionary.kit.LSP.GeneralClientCapabilities General client capabilities.

@since 3.16.0 ---@field public experimental? cmp_dictionary.kit.LSP.LSPAny Experimental client capabilities. ---@class cmp_dictionary.kit.LSP.TextDocumentSyncOptions ---@field public openClose? boolean Open and close notifications are sent to the server. If omitted open close notification should not
be sent. ---@field public change? cmp_dictionary.kit.LSP.TextDocumentSyncKind Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None. ---@field public willSave? boolean If present will save notifications are sent to the server. If omitted the notification should not be
sent. ---@field public willSaveWaitUntil? boolean If present will save wait until requests are sent to the server. If omitted the request should not be
sent. ---@field public save? (boolean | cmp_dictionary.kit.LSP.SaveOptions) If present save notifications are sent to the server. If omitted the notification should not be
sent. ---@class cmp_dictionary.kit.LSP.NotebookDocumentSyncOptions ---@field public notebookSelector ({ notebook: (string | cmp_dictionary.kit.LSP.NotebookDocumentFilter), cells?: { language: string }[] } | { notebook?: (string | cmp_dictionary.kit.LSP.NotebookDocumentFilter), cells: { language: string }[] })[] The notebooks to be synced ---@field public save? boolean Whether save notification should be forwarded to
the server. Will only be honored if mode === `notebook`. ---@class cmp_dictionary.kit.LSP.NotebookDocumentSyncRegistrationOptions : cmp_dictionary.kit.LSP.NotebookDocumentSyncOptions, cmp_dictionary.kit.LSP.StaticRegistrationOptions ---@class cmp_dictionary.kit.LSP.WorkspaceFoldersServerCapabilities ---@field public supported? boolean The server has support for workspace folders ---@field public changeNotifications? (string | boolean) Whether the server wants to receive workspace folder
change notifications.

If a string is provided the string is treated as an ID
under which the notification is registered on the client
side. The ID can be used to unregister for these events
using the `client/unregisterCapability` request. ---@class cmp_dictionary.kit.LSP.FileOperationOptions ---@field public didCreate? cmp_dictionary.kit.LSP.FileOperationRegistrationOptions The server is interested in receiving didCreateFiles notifications. ---@field public willCreate? cmp_dictionary.kit.LSP.FileOperationRegistrationOptions The server is interested in receiving willCreateFiles requests. ---@field public didRename? cmp_dictionary.kit.LSP.FileOperationRegistrationOptions The server is interested in receiving didRenameFiles notifications. ---@field public willRename? cmp_dictionary.kit.LSP.FileOperationRegistrationOptions The server is interested in receiving willRenameFiles requests. ---@field public didDelete? cmp_dictionary.kit.LSP.FileOperationRegistrationOptions The server is interested in receiving didDeleteFiles file notifications. ---@field public willDelete? cmp_dictionary.kit.LSP.FileOperationRegistrationOptions The server is interested in receiving willDeleteFiles file requests. ---@class cmp_dictionary.kit.LSP.CodeDescription ---@field public href string An URI to open with more information about the diagnostic error. ---@class cmp_dictionary.kit.LSP.DiagnosticRelatedInformation ---@field public location cmp_dictionary.kit.LSP.Location The location of this related diagnostic information. ---@field public message string The message of this related diagnostic information. ---@class cmp_dictionary.kit.LSP.ParameterInformation ---@field public label (string | (integer | integer)[]) The label of this parameter information.

Either a string or an inclusive start and exclusive end offsets within its containing
signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
string representation as `Position` and `Range` does.

*Note*: a label of type string should be a substring of its containing signature label.
Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`. ---@field public documentation? (string | cmp_dictionary.kit.LSP.MarkupContent) The human-readable doc-comment of this parameter. Will be shown
in the UI but can be omitted. ---@class cmp_dictionary.kit.LSP.NotebookCellTextDocumentFilter ---@field public notebook (string | cmp_dictionary.kit.LSP.NotebookDocumentFilter) A filter that matches against the notebook
containing the notebook cell. If a string
value is provided it matches against the
notebook type. '*' matches every notebook. ---@field public language? string A language id like `python`.

Will be matched against the language id of the
notebook cell document. '*' matches every language. ---@class cmp_dictionary.kit.LSP.FileOperationPatternOptions ---@field public ignoreCase? boolean The pattern should be matched ignoring casing. ---@class cmp_dictionary.kit.LSP.ExecutionSummary ---@field public executionOrder integer A strict monotonically increasing value
indicating the execution order of a cell
inside a notebook. ---@field public success? boolean Whether the execution was successful or
not if known by the client. ---@class cmp_dictionary.kit.LSP.WorkspaceClientCapabilities ---@field public applyEdit? boolean The client supports applying batch edits
to the workspace by supporting the request
'workspace/applyEdit' ---@field public workspaceEdit? cmp_dictionary.kit.LSP.WorkspaceEditClientCapabilities Capabilities specific to `WorkspaceEdit`s. ---@field public didChangeConfiguration? cmp_dictionary.kit.LSP.DidChangeConfigurationClientCapabilities Capabilities specific to the `workspace/didChangeConfiguration` notification. ---@field public didChangeWatchedFiles? cmp_dictionary.kit.LSP.DidChangeWatchedFilesClientCapabilities Capabilities specific to the `workspace/didChangeWatchedFiles` notification. ---@field public symbol? cmp_dictionary.kit.LSP.WorkspaceSymbolClientCapabilities Capabilities specific to the `workspace/symbol` request. ---@field public executeCommand? cmp_dictionary.kit.LSP.ExecuteCommandClientCapabilities Capabilities specific to the `workspace/executeCommand` request. ---@field public workspaceFolders? boolean The client has support for workspace folders.

@since 3.6.0 ---@field public configuration? boolean The client supports `workspace/configuration` requests.

@since 3.6.0 ---@field public semanticTokens? cmp_dictionary.kit.LSP.SemanticTokensWorkspaceClientCapabilities Capabilities specific to the semantic token requests scoped to the
workspace.

@since 3.16.0. ---@field public codeLens? cmp_dictionary.kit.LSP.CodeLensWorkspaceClientCapabilities Capabilities specific to the code lens requests scoped to the
workspace.

@since 3.16.0. ---@field public fileOperations? cmp_dictionary.kit.LSP.FileOperationClientCapabilities The client has support for file notifications/requests for user operations on files.

Since 3.16.0 ---@field public inlineValue? cmp_dictionary.kit.LSP.InlineValueWorkspaceClientCapabilities Capabilities specific to the inline values requests scoped to the
workspace.

@since 3.17.0. ---@field public inlayHint? cmp_dictionary.kit.LSP.InlayHintWorkspaceClientCapabilities Capabilities specific to the inlay hint requests scoped to the
workspace.

@since 3.17.0. ---@field public diagnostics? cmp_dictionary.kit.LSP.DiagnosticWorkspaceClientCapabilities Capabilities specific to the diagnostic requests scoped to the
workspace.

@since 3.17.0. ---@class cmp_dictionary.kit.LSP.TextDocumentClientCapabilities ---@field public synchronization? cmp_dictionary.kit.LSP.TextDocumentSyncClientCapabilities Defines which synchronization capabilities the client supports. ---@field public completion? cmp_dictionary.kit.LSP.CompletionClientCapabilities Capabilities specific to the `textDocument/completion` request. ---@field public hover? cmp_dictionary.kit.LSP.HoverClientCapabilities Capabilities specific to the `textDocument/hover` request. ---@field public signatureHelp? cmp_dictionary.kit.LSP.SignatureHelpClientCapabilities Capabilities specific to the `textDocument/signatureHelp` request. ---@field public declaration? cmp_dictionary.kit.LSP.DeclarationClientCapabilities Capabilities specific to the `textDocument/declaration` request.

@since 3.14.0 ---@field public definition? cmp_dictionary.kit.LSP.DefinitionClientCapabilities Capabilities specific to the `textDocument/definition` request. ---@field public typeDefinition? cmp_dictionary.kit.LSP.TypeDefinitionClientCapabilities Capabilities specific to the `textDocument/typeDefinition` request.

@since 3.6.0 ---@field public implementation? cmp_dictionary.kit.LSP.ImplementationClientCapabilities Capabilities specific to the `textDocument/implementation` request.

@since 3.6.0 ---@field public references? cmp_dictionary.kit.LSP.ReferenceClientCapabilities Capabilities specific to the `textDocument/references` request. ---@field public documentHighlight? cmp_dictionary.kit.LSP.DocumentHighlightClientCapabilities Capabilities specific to the `textDocument/documentHighlight` request. ---@field public documentSymbol? cmp_dictionary.kit.LSP.DocumentSymbolClientCapabilities Capabilities specific to the `textDocument/documentSymbol` request. ---@field public codeAction? cmp_dictionary.kit.LSP.CodeActionClientCapabilities Capabilities specific to the `textDocument/codeAction` request. ---@field public codeLens? cmp_dictionary.kit.LSP.CodeLensClientCapabilities Capabilities specific to the `textDocument/codeLens` request. ---@field public documentLink? cmp_dictionary.kit.LSP.DocumentLinkClientCapabilities Capabilities specific to the `textDocument/documentLink` request. ---@field public colorProvider? cmp_dictionary.kit.LSP.DocumentColorClientCapabilities Capabilities specific to the `textDocument/documentColor` and the
`textDocument/colorPresentation` request.

@since 3.6.0 ---@field public formatting? cmp_dictionary.kit.LSP.DocumentFormattingClientCapabilities Capabilities specific to the `textDocument/formatting` request. ---@field public rangeFormatting? cmp_dictionary.kit.LSP.DocumentRangeFormattingClientCapabilities Capabilities specific to the `textDocument/rangeFormatting` request. ---@field public onTypeFormatting? cmp_dictionary.kit.LSP.DocumentOnTypeFormattingClientCapabilities Capabilities specific to the `textDocument/onTypeFormatting` request. ---@field public rename? cmp_dictionary.kit.LSP.RenameClientCapabilities Capabilities specific to the `textDocument/rename` request. ---@field public foldingRange? cmp_dictionary.kit.LSP.FoldingRangeClientCapabilities Capabilities specific to the `textDocument/foldingRange` request.

@since 3.10.0 ---@field public selectionRange? cmp_dictionary.kit.LSP.SelectionRangeClientCapabilities Capabilities specific to the `textDocument/selectionRange` request.

@since 3.15.0 ---@field public publishDiagnostics? cmp_dictionary.kit.LSP.PublishDiagnosticsClientCapabilities Capabilities specific to the `textDocument/publishDiagnostics` notification. ---@field public callHierarchy? cmp_dictionary.kit.LSP.CallHierarchyClientCapabilities Capabilities specific to the various call hierarchy requests.

@since 3.16.0 ---@field public semanticTokens? cmp_dictionary.kit.LSP.SemanticTokensClientCapabilities Capabilities specific to the various semantic token request.

@since 3.16.0 ---@field public linkedEditingRange? cmp_dictionary.kit.LSP.LinkedEditingRangeClientCapabilities Capabilities specific to the `textDocument/linkedEditingRange` request.

@since 3.16.0 ---@field public moniker? cmp_dictionary.kit.LSP.MonikerClientCapabilities Client capabilities specific to the `textDocument/moniker` request.

@since 3.16.0 ---@field public typeHierarchy? cmp_dictionary.kit.LSP.TypeHierarchyClientCapabilities Capabilities specific to the various type hierarchy requests.

@since 3.17.0 ---@field public inlineValue? cmp_dictionary.kit.LSP.InlineValueClientCapabilities Capabilities specific to the `textDocument/inlineValue` request.

@since 3.17.0 ---@field public inlayHint? cmp_dictionary.kit.LSP.InlayHintClientCapabilities Capabilities specific to the `textDocument/inlayHint` request.

@since 3.17.0 ---@field public diagnostic? cmp_dictionary.kit.LSP.DiagnosticClientCapabilities Capabilities specific to the diagnostic pull model.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.NotebookDocumentClientCapabilities ---@field public synchronization cmp_dictionary.kit.LSP.NotebookDocumentSyncClientCapabilities Capabilities specific to notebook document synchronization

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.WindowClientCapabilities ---@field public workDoneProgress? boolean It indicates whether the client supports server initiated
progress using the `window/workDoneProgress/create` request.

The capability also controls Whether client supports handling
of progress notifications. If set servers are allowed to report a
`workDoneProgress` property in the request specific server
capabilities.

@since 3.15.0 ---@field public showMessage? cmp_dictionary.kit.LSP.ShowMessageRequestClientCapabilities Capabilities specific to the showMessage request.

@since 3.16.0 ---@field public showDocument? cmp_dictionary.kit.LSP.ShowDocumentClientCapabilities Capabilities specific to the showDocument request.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.GeneralClientCapabilities ---@field public staleRequestSupport? cmp_dictionary.kit.LSP.GeneralClientCapabilities.staleRequestSupport Client capability that signals how the client
handles stale requests (e.g. a request
for which the client will not process the response
anymore since the information is outdated).

@since 3.17.0 ---@field public regularExpressions? cmp_dictionary.kit.LSP.RegularExpressionsClientCapabilities Client capabilities specific to regular expressions.

@since 3.16.0 ---@field public markdown? cmp_dictionary.kit.LSP.MarkdownClientCapabilities Client capabilities specific to the client's markdown parser.

@since 3.16.0 ---@field public positionEncodings? cmp_dictionary.kit.LSP.PositionEncodingKind[] The position encodings supported by the client. Client and server
have to agree on the same position encoding to ensure that offsets
(e.g. character position in a line) are interpreted the same on both
sides.

To keep the protocol backwards compatible the following applies: if
the value 'utf-16' is missing from the array of position encodings
servers can assume that the client supports UTF-16. UTF-16 is
therefore a mandatory encoding.

If omitted it defaults to ['utf-16'].

Implementation considerations: since the conversion from one encoding
into another requires the content of the file / line the conversion
is best done where the file is read which is usually on the server
side.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.GeneralClientCapabilities.staleRequestSupport ---@field public cancel boolean The client will actively cancel the request. ---@field public retryOnContentModified string[] The list of requests for which the client
will retry the request if it receives a
response with error code `ContentModified` ---@class cmp_dictionary.kit.LSP.RelativePattern ---@field public baseUri (cmp_dictionary.kit.LSP.WorkspaceFolder | string) A workspace folder or a base URI to which this pattern will be matched
against relatively. ---@field public pattern cmp_dictionary.kit.LSP.Pattern The actual glob pattern; ---@class cmp_dictionary.kit.LSP.WorkspaceEditClientCapabilities ---@field public documentChanges? boolean The client supports versioned document changes in `WorkspaceEdit`s ---@field public resourceOperations? cmp_dictionary.kit.LSP.ResourceOperationKind[] The resource operations the client supports. Clients should at least
support 'create', 'rename' and 'delete' files and folders.

@since 3.13.0 ---@field public failureHandling? cmp_dictionary.kit.LSP.FailureHandlingKind The failure handling strategy of a client if applying the workspace edit
fails.

@since 3.13.0 ---@field public normalizesLineEndings? boolean Whether the client normalizes line endings to the client specific
setting.
If set to `true` the client will normalize line ending characters
in a workspace edit to the client-specified new line
character.

@since 3.16.0 ---@field public changeAnnotationSupport? cmp_dictionary.kit.LSP.WorkspaceEditClientCapabilities.changeAnnotationSupport Whether the client in general supports change annotations on text edits,
create file, rename file and delete file changes.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.WorkspaceEditClientCapabilities.changeAnnotationSupport ---@field public groupsOnLabel? boolean Whether the client groups edits with equal labels into tree nodes,
for instance all edits labelled with "Changes in Strings" would
be a tree node. ---@class cmp_dictionary.kit.LSP.DidChangeConfigurationClientCapabilities ---@field public dynamicRegistration? boolean Did change configuration notification supports dynamic registration. ---@class cmp_dictionary.kit.LSP.DidChangeWatchedFilesClientCapabilities ---@field public dynamicRegistration? boolean Did change watched files notification supports dynamic registration. Please note
that the current protocol doesn't support static configuration for file changes
from the server side. ---@field public relativePatternSupport? boolean Whether the client has support for {@link RelativePattern relative pattern}
or not.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.WorkspaceSymbolClientCapabilities ---@field public dynamicRegistration? boolean Symbol request supports dynamic registration. ---@field public symbolKind? cmp_dictionary.kit.LSP.WorkspaceSymbolClientCapabilities.symbolKind Specific capabilities for the `SymbolKind` in the `workspace/symbol` request. ---@field public tagSupport? cmp_dictionary.kit.LSP.WorkspaceSymbolClientCapabilities.tagSupport The client supports tags on `SymbolInformation`.
Clients supporting tags have to handle unknown tags gracefully.

@since 3.16.0 ---@field public resolveSupport? cmp_dictionary.kit.LSP.WorkspaceSymbolClientCapabilities.resolveSupport The client support partial workspace symbols. The client will send the
request `workspaceSymbol/resolve` to the server to resolve additional
properties.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.WorkspaceSymbolClientCapabilities.symbolKind ---@field public valueSet? cmp_dictionary.kit.LSP.SymbolKind[] The symbol kind values the client supports. When this
property exists the client also guarantees that it will
handle values outside its set gracefully and falls back
to a default value when unknown.

If this property is not present the client only supports
the symbol kinds from `File` to `Array` as defined in
the initial version of the protocol. ---@class cmp_dictionary.kit.LSP.WorkspaceSymbolClientCapabilities.tagSupport ---@field public valueSet cmp_dictionary.kit.LSP.SymbolTag[] The tags supported by the client. ---@class cmp_dictionary.kit.LSP.WorkspaceSymbolClientCapabilities.resolveSupport ---@field public properties string[] The properties that a client can resolve lazily. Usually
`location.range` ---@class cmp_dictionary.kit.LSP.ExecuteCommandClientCapabilities ---@field public dynamicRegistration? boolean Execute command supports dynamic registration. ---@class cmp_dictionary.kit.LSP.SemanticTokensWorkspaceClientCapabilities ---@field public refreshSupport? boolean Whether the client implementation supports a refresh request sent from
the server to the client.

Note that this event is global and will force the client to refresh all
semantic tokens currently shown. It should be used with absolute care
and is useful for situation where a server for example detects a project
wide change that requires such a calculation. ---@class cmp_dictionary.kit.LSP.CodeLensWorkspaceClientCapabilities ---@field public refreshSupport? boolean Whether the client implementation supports a refresh request sent from the
server to the client.

Note that this event is global and will force the client to refresh all
code lenses currently shown. It should be used with absolute care and is
useful for situation where a server for example detect a project wide
change that requires such a calculation. ---@class cmp_dictionary.kit.LSP.FileOperationClientCapabilities ---@field public dynamicRegistration? boolean Whether the client supports dynamic registration for file requests/notifications. ---@field public didCreate? boolean The client has support for sending didCreateFiles notifications. ---@field public willCreate? boolean The client has support for sending willCreateFiles requests. ---@field public didRename? boolean The client has support for sending didRenameFiles notifications. ---@field public willRename? boolean The client has support for sending willRenameFiles requests. ---@field public didDelete? boolean The client has support for sending didDeleteFiles notifications. ---@field public willDelete? boolean The client has support for sending willDeleteFiles requests. ---@class cmp_dictionary.kit.LSP.InlineValueWorkspaceClientCapabilities ---@field public refreshSupport? boolean Whether the client implementation supports a refresh request sent from the
server to the client.

Note that this event is global and will force the client to refresh all
inline values currently shown. It should be used with absolute care and is
useful for situation where a server for example detects a project wide
change that requires such a calculation. ---@class cmp_dictionary.kit.LSP.InlayHintWorkspaceClientCapabilities ---@field public refreshSupport? boolean Whether the client implementation supports a refresh request sent from
the server to the client.

Note that this event is global and will force the client to refresh all
inlay hints currently shown. It should be used with absolute care and
is useful for situation where a server for example detects a project wide
change that requires such a calculation. ---@class cmp_dictionary.kit.LSP.DiagnosticWorkspaceClientCapabilities ---@field public refreshSupport? boolean Whether the client implementation supports a refresh request sent from
the server to the client.

Note that this event is global and will force the client to refresh all
pulled diagnostics currently shown. It should be used with absolute care and
is useful for situation where a server for example detects a project wide
change that requires such a calculation. ---@class cmp_dictionary.kit.LSP.TextDocumentSyncClientCapabilities ---@field public dynamicRegistration? boolean Whether text document synchronization supports dynamic registration. ---@field public willSave? boolean The client supports sending will save notifications. ---@field public willSaveWaitUntil? boolean The client supports sending a will save request and
waits for a response providing text edits which will
be applied to the document before it is saved. ---@field public didSave? boolean The client supports did save notifications. ---@class cmp_dictionary.kit.LSP.CompletionClientCapabilities ---@field public dynamicRegistration? boolean Whether completion supports dynamic registration. ---@field public completionItem? cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItem The client supports the following `CompletionItem` specific
capabilities. ---@field public completionItemKind? cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItemKind ---@field public insertTextMode? cmp_dictionary.kit.LSP.InsertTextMode Defines how the client handles whitespace and indentation
when accepting a completion item that uses multi line
text in either `insertText` or `textEdit`.

@since 3.17.0 ---@field public contextSupport? boolean The client supports to send additional context information for a
`textDocument/completion` request. ---@field public completionList? cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionList The client supports the following `CompletionList` specific
capabilities.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItem ---@field public snippetSupport? boolean Client supports snippets as insert text.

A snippet can define tab stops and placeholders with `$1`, `$2`
and `${3:foo}`. `$0` defines the final tab stop, it defaults to
the end of the snippet. Placeholders with equal identifiers are linked,
that is typing in one will update others too. ---@field public commitCharactersSupport? boolean Client supports commit characters on a completion item. ---@field public documentationFormat? cmp_dictionary.kit.LSP.MarkupKind[] Client supports the following content formats for the documentation
property. The order describes the preferred format of the client. ---@field public deprecatedSupport? boolean Client supports the deprecated property on a completion item. ---@field public preselectSupport? boolean Client supports the preselect property on a completion item. ---@field public tagSupport? cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItem.tagSupport Client supports the tag property on a completion item. Clients supporting
tags have to handle unknown tags gracefully. Clients especially need to
preserve unknown tags when sending a completion item back to the server in
a resolve call.

@since 3.15.0 ---@field public insertReplaceSupport? boolean Client support insert replace edit to control different behavior if a
completion item is inserted in the text or should replace text.

@since 3.16.0 ---@field public resolveSupport? cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItem.resolveSupport Indicates which properties a client can resolve lazily on a completion
item. Before version 3.16.0 only the predefined properties `documentation`
and `details` could be resolved lazily.

@since 3.16.0 ---@field public insertTextModeSupport? cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItem.insertTextModeSupport The client supports the `insertTextMode` property on
a completion item to override the whitespace handling mode
as defined by the client (see `insertTextMode`).

@since 3.16.0 ---@field public labelDetailsSupport? boolean The client has support for completion item label
details (see also `CompletionItemLabelDetails`).

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItem.tagSupport ---@field public valueSet cmp_dictionary.kit.LSP.CompletionItemTag[] The tags supported by the client. ---@class cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItem.resolveSupport ---@field public properties string[] The properties that a client can resolve lazily. ---@class cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItem.insertTextModeSupport ---@field public valueSet cmp_dictionary.kit.LSP.InsertTextMode[] ---@class cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionItemKind ---@field public valueSet? cmp_dictionary.kit.LSP.CompletionItemKind[] The completion item kind values the client supports. When this
property exists the client also guarantees that it will
handle values outside its set gracefully and falls back
to a default value when unknown.

If this property is not present the client only supports
the completion items kinds from `Text` to `Reference` as defined in
the initial version of the protocol. ---@class cmp_dictionary.kit.LSP.CompletionClientCapabilities.completionList ---@field public itemDefaults? string[] The client supports the following itemDefaults on
a completion list.

The value lists the supported property names of the
`CompletionList.itemDefaults` object. If omitted
no properties are supported.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.HoverClientCapabilities ---@field public dynamicRegistration? boolean Whether hover supports dynamic registration. ---@field public contentFormat? cmp_dictionary.kit.LSP.MarkupKind[] Client supports the following content formats for the content
property. The order describes the preferred format of the client. ---@class cmp_dictionary.kit.LSP.SignatureHelpClientCapabilities ---@field public dynamicRegistration? boolean Whether signature help supports dynamic registration. ---@field public signatureInformation? cmp_dictionary.kit.LSP.SignatureHelpClientCapabilities.signatureInformation The client supports the following `SignatureInformation`
specific properties. ---@field public contextSupport? boolean The client supports to send additional context information for a
`textDocument/signatureHelp` request. A client that opts into
contextSupport will also support the `retriggerCharacters` on
`SignatureHelpOptions`.

@since 3.15.0 ---@class cmp_dictionary.kit.LSP.SignatureHelpClientCapabilities.signatureInformation ---@field public documentationFormat? cmp_dictionary.kit.LSP.MarkupKind[] Client supports the following content formats for the documentation
property. The order describes the preferred format of the client. ---@field public parameterInformation? cmp_dictionary.kit.LSP.SignatureHelpClientCapabilities.signatureInformation.parameterInformation Client capabilities specific to parameter information. ---@field public activeParameterSupport? boolean The client supports the `activeParameter` property on `SignatureInformation`
literal.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.SignatureHelpClientCapabilities.signatureInformation.parameterInformation ---@field public labelOffsetSupport? boolean The client supports processing label offsets instead of a
simple label string.

@since 3.14.0 ---@class cmp_dictionary.kit.LSP.DeclarationClientCapabilities ---@field public dynamicRegistration? boolean Whether declaration supports dynamic registration. If this is set to `true`
the client supports the new `DeclarationRegistrationOptions` return value
for the corresponding server capability as well. ---@field public linkSupport? boolean The client supports additional metadata in the form of declaration links. ---@class cmp_dictionary.kit.LSP.DefinitionClientCapabilities ---@field public dynamicRegistration? boolean Whether definition supports dynamic registration. ---@field public linkSupport? boolean The client supports additional metadata in the form of definition links.

@since 3.14.0 ---@class cmp_dictionary.kit.LSP.TypeDefinitionClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is set to `true`
the client supports the new `TypeDefinitionRegistrationOptions` return value
for the corresponding server capability as well. ---@field public linkSupport? boolean The client supports additional metadata in the form of definition links.

Since 3.14.0 ---@class cmp_dictionary.kit.LSP.ImplementationClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is set to `true`
the client supports the new `ImplementationRegistrationOptions` return value
for the corresponding server capability as well. ---@field public linkSupport? boolean The client supports additional metadata in the form of definition links.

@since 3.14.0 ---@class cmp_dictionary.kit.LSP.ReferenceClientCapabilities ---@field public dynamicRegistration? boolean Whether references supports dynamic registration. ---@class cmp_dictionary.kit.LSP.DocumentHighlightClientCapabilities ---@field public dynamicRegistration? boolean Whether document highlight supports dynamic registration. ---@class cmp_dictionary.kit.LSP.DocumentSymbolClientCapabilities ---@field public dynamicRegistration? boolean Whether document symbol supports dynamic registration. ---@field public symbolKind? cmp_dictionary.kit.LSP.DocumentSymbolClientCapabilities.symbolKind Specific capabilities for the `SymbolKind` in the
`textDocument/documentSymbol` request. ---@field public hierarchicalDocumentSymbolSupport? boolean The client supports hierarchical document symbols. ---@field public tagSupport? cmp_dictionary.kit.LSP.DocumentSymbolClientCapabilities.tagSupport The client supports tags on `SymbolInformation`. Tags are supported on
`DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
Clients supporting tags have to handle unknown tags gracefully.

@since 3.16.0 ---@field public labelSupport? boolean The client supports an additional label presented in the UI when
registering a document symbol provider.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.DocumentSymbolClientCapabilities.symbolKind ---@field public valueSet? cmp_dictionary.kit.LSP.SymbolKind[] The symbol kind values the client supports. When this
property exists the client also guarantees that it will
handle values outside its set gracefully and falls back
to a default value when unknown.

If this property is not present the client only supports
the symbol kinds from `File` to `Array` as defined in
the initial version of the protocol. ---@class cmp_dictionary.kit.LSP.DocumentSymbolClientCapabilities.tagSupport ---@field public valueSet cmp_dictionary.kit.LSP.SymbolTag[] The tags supported by the client. ---@class cmp_dictionary.kit.LSP.CodeActionClientCapabilities ---@field public dynamicRegistration? boolean Whether code action supports dynamic registration. ---@field public codeActionLiteralSupport? cmp_dictionary.kit.LSP.CodeActionClientCapabilities.codeActionLiteralSupport The client support code action literals of type `CodeAction` as a valid
response of the `textDocument/codeAction` request. If the property is not
set the request can only return `Command` literals.

@since 3.8.0 ---@field public isPreferredSupport? boolean Whether code action supports the `isPreferred` property.

@since 3.15.0 ---@field public disabledSupport? boolean Whether code action supports the `disabled` property.

@since 3.16.0 ---@field public dataSupport? boolean Whether code action supports the `data` property which is
preserved between a `textDocument/codeAction` and a
`codeAction/resolve` request.

@since 3.16.0 ---@field public resolveSupport? cmp_dictionary.kit.LSP.CodeActionClientCapabilities.resolveSupport Whether the client supports resolving additional code action
properties via a separate `codeAction/resolve` request.

@since 3.16.0 ---@field public honorsChangeAnnotations? boolean Whether the client honors the change annotations in
text edits and resource operations returned via the
`CodeAction#edit` property by for example presenting
the workspace edit in the user interface and asking
for confirmation.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.CodeActionClientCapabilities.codeActionLiteralSupport ---@field public codeActionKind cmp_dictionary.kit.LSP.CodeActionClientCapabilities.codeActionLiteralSupport.codeActionKind The code action kind is support with the following value
set. ---@class cmp_dictionary.kit.LSP.CodeActionClientCapabilities.codeActionLiteralSupport.codeActionKind ---@field public valueSet cmp_dictionary.kit.LSP.CodeActionKind[] The code action kind values the client supports. When this
property exists the client also guarantees that it will
handle values outside its set gracefully and falls back
to a default value when unknown. ---@class cmp_dictionary.kit.LSP.CodeActionClientCapabilities.resolveSupport ---@field public properties string[] The properties that a client can resolve lazily. ---@class cmp_dictionary.kit.LSP.CodeLensClientCapabilities ---@field public dynamicRegistration? boolean Whether code lens supports dynamic registration. ---@class cmp_dictionary.kit.LSP.DocumentLinkClientCapabilities ---@field public dynamicRegistration? boolean Whether document link supports dynamic registration. ---@field public tooltipSupport? boolean Whether the client supports the `tooltip` property on `DocumentLink`.

@since 3.15.0 ---@class cmp_dictionary.kit.LSP.DocumentColorClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is set to `true`
the client supports the new `DocumentColorRegistrationOptions` return value
for the corresponding server capability as well. ---@class cmp_dictionary.kit.LSP.DocumentFormattingClientCapabilities ---@field public dynamicRegistration? boolean Whether formatting supports dynamic registration. ---@class cmp_dictionary.kit.LSP.DocumentRangeFormattingClientCapabilities ---@field public dynamicRegistration? boolean Whether range formatting supports dynamic registration. ---@class cmp_dictionary.kit.LSP.DocumentOnTypeFormattingClientCapabilities ---@field public dynamicRegistration? boolean Whether on type formatting supports dynamic registration. ---@class cmp_dictionary.kit.LSP.RenameClientCapabilities ---@field public dynamicRegistration? boolean Whether rename supports dynamic registration. ---@field public prepareSupport? boolean Client supports testing for validity of rename operations
before execution.

@since 3.12.0 ---@field public prepareSupportDefaultBehavior? cmp_dictionary.kit.LSP.PrepareSupportDefaultBehavior Client supports the default behavior result.

The value indicates the default behavior used by the
client.

@since 3.16.0 ---@field public honorsChangeAnnotations? boolean Whether the client honors the change annotations in
text edits and resource operations returned via the
rename request's workspace edit by for example presenting
the workspace edit in the user interface and asking
for confirmation.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.FoldingRangeClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration for folding range
providers. If this is set to `true` the client supports the new
`FoldingRangeRegistrationOptions` return value for the corresponding
server capability as well. ---@field public rangeLimit? integer The maximum number of folding ranges that the client prefers to receive
per document. The value serves as a hint, servers are free to follow the
limit. ---@field public lineFoldingOnly? boolean If set, the client signals that it only supports folding complete lines.
If set, client will ignore specified `startCharacter` and `endCharacter`
properties in a FoldingRange. ---@field public foldingRangeKind? cmp_dictionary.kit.LSP.FoldingRangeClientCapabilities.foldingRangeKind Specific options for the folding range kind.

@since 3.17.0 ---@field public foldingRange? cmp_dictionary.kit.LSP.FoldingRangeClientCapabilities.foldingRange Specific options for the folding range.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.FoldingRangeClientCapabilities.foldingRangeKind ---@field public valueSet? cmp_dictionary.kit.LSP.FoldingRangeKind[] The folding range kind values the client supports. When this
property exists the client also guarantees that it will
handle values outside its set gracefully and falls back
to a default value when unknown. ---@class cmp_dictionary.kit.LSP.FoldingRangeClientCapabilities.foldingRange ---@field public collapsedText? boolean If set, the client signals that it supports setting collapsedText on
folding ranges to display custom labels instead of the default text.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.SelectionRangeClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
capability as well. ---@class cmp_dictionary.kit.LSP.PublishDiagnosticsClientCapabilities ---@field public relatedInformation? boolean Whether the clients accepts diagnostics with related information. ---@field public tagSupport? cmp_dictionary.kit.LSP.PublishDiagnosticsClientCapabilities.tagSupport Client supports the tag property to provide meta data about a diagnostic.
Clients supporting tags have to handle unknown tags gracefully.

@since 3.15.0 ---@field public versionSupport? boolean Whether the client interprets the version property of the
`textDocument/publishDiagnostics` notification's parameter.

@since 3.15.0 ---@field public codeDescriptionSupport? boolean Client supports a codeDescription property

@since 3.16.0 ---@field public dataSupport? boolean Whether code action supports the `data` property which is
preserved between a `textDocument/publishDiagnostics` and
`textDocument/codeAction` request.

@since 3.16.0 ---@class cmp_dictionary.kit.LSP.PublishDiagnosticsClientCapabilities.tagSupport ---@field public valueSet cmp_dictionary.kit.LSP.DiagnosticTag[] The tags supported by the client. ---@class cmp_dictionary.kit.LSP.CallHierarchyClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is set to `true`
the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
return value for the corresponding server capability as well. ---@class cmp_dictionary.kit.LSP.SemanticTokensClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is set to `true`
the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
return value for the corresponding server capability as well. ---@field public requests cmp_dictionary.kit.LSP.SemanticTokensClientCapabilities.requests Which requests the client supports and might send to the server
depending on the server's capability. Please note that clients might not
show semantic tokens or degrade some of the user experience if a range
or full request is advertised by the client but not provided by the
server. If for example the client capability `requests.full` and
`request.range` are both set to true but the server only provides a
range provider the client might not render a minimap correctly or might
even decide to not show any semantic tokens at all. ---@field public tokenTypes string[] The token types that the client supports. ---@field public tokenModifiers string[] The token modifiers that the client supports. ---@field public formats cmp_dictionary.kit.LSP.TokenFormat[] The token formats the clients supports. ---@field public overlappingTokenSupport? boolean Whether the client supports tokens that can overlap each other. ---@field public multilineTokenSupport? boolean Whether the client supports tokens that can span multiple lines. ---@field public serverCancelSupport? boolean Whether the client allows the server to actively cancel a
semantic token request, e.g. supports returning
LSPErrorCodes.ServerCancelled. If a server does the client
needs to retrigger the request.

@since 3.17.0 ---@field public augmentsSyntaxTokens? boolean Whether the client uses semantic tokens to augment existing
syntax tokens. If set to `true` client side created syntax
tokens and semantic tokens are both used for colorization. If
set to `false` the client only uses the returned semantic tokens
for colorization.

If the value is `undefined` then the client behavior is not
specified.

@since 3.17.0 ---@class cmp_dictionary.kit.LSP.SemanticTokensClientCapabilities.requests ---@field public range? (boolean | { }) The client will send the `textDocument/semanticTokens/range` request if
the server provides a corresponding handler. ---@field public full? (boolean | { delta?: boolean }) The client will send the `textDocument/semanticTokens/full` request if
the server provides a corresponding handler. ---@class cmp_dictionary.kit.LSP.LinkedEditingRangeClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is set to `true`
the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
return value for the corresponding server capability as well. ---@class cmp_dictionary.kit.LSP.MonikerClientCapabilities ---@field public dynamicRegistration? boolean Whether moniker supports dynamic registration. If this is set to `true`
the client supports the new `MonikerRegistrationOptions` return value
for the corresponding server capability as well. ---@class cmp_dictionary.kit.LSP.TypeHierarchyClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is set to `true`
the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
return value for the corresponding server capability as well. ---@class cmp_dictionary.kit.LSP.InlineValueClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration for inline value providers. ---@class cmp_dictionary.kit.LSP.InlayHintClientCapabilities ---@field public dynamicRegistration? boolean Whether inlay hints support dynamic registration. ---@field public resolveSupport? cmp_dictionary.kit.LSP.InlayHintClientCapabilities.resolveSupport Indicates which properties a client can resolve lazily on an inlay
hint. ---@class cmp_dictionary.kit.LSP.InlayHintClientCapabilities.resolveSupport ---@field public properties string[] The properties that a client can resolve lazily. ---@class cmp_dictionary.kit.LSP.DiagnosticClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is set to `true`
the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
return value for the corresponding server capability as well. ---@field public relatedDocumentSupport? boolean Whether the clients supports related documents for document diagnostic pulls. ---@class cmp_dictionary.kit.LSP.NotebookDocumentSyncClientCapabilities ---@field public dynamicRegistration? boolean Whether implementation supports dynamic registration. If this is
set to `true` the client supports the new
`(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
return value for the corresponding server capability as well. ---@field public executionSummarySupport? boolean The client supports sending execution summary data per cell. ---@class cmp_dictionary.kit.LSP.ShowMessageRequestClientCapabilities ---@field public messageActionItem? cmp_dictionary.kit.LSP.ShowMessageRequestClientCapabilities.messageActionItem Capabilities specific to the `MessageActionItem` type. ---@class cmp_dictionary.kit.LSP.ShowMessageRequestClientCapabilities.messageActionItem ---@field public additionalPropertiesSupport? boolean Whether the client supports additional attributes which
are preserved and send back to the server in the
request's response. ---@class cmp_dictionary.kit.LSP.ShowDocumentClientCapabilities ---@field public support boolean The client has support for the showDocument
request. ---@class cmp_dictionary.kit.LSP.RegularExpressionsClientCapabilities ---@field public engine string The engine's name. ---@field public version? string The engine's version. ---@class cmp_dictionary.kit.LSP.MarkdownClientCapabilities ---@field public parser string The name of the parser. ---@field public version? string The version of the parser. ---@field public allowedTags? string[] A list of HTML tags that the client allows / supports in
Markdown.

@since 3.17.0 ---@alias cmp_dictionary.kit.LSP.TextDocumentImplementationResponse (cmp_dictionary.kit.LSP.Definition | cmp_dictionary.kit.LSP.DefinitionLink[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentTypeDefinitionResponse (cmp_dictionary.kit.LSP.Definition | cmp_dictionary.kit.LSP.DefinitionLink[] | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceWorkspaceFoldersResponse (cmp_dictionary.kit.LSP.WorkspaceFolder[] | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceConfigurationResponse cmp_dictionary.kit.LSP.LSPAny[] ---@alias cmp_dictionary.kit.LSP.TextDocumentDocumentColorResponse cmp_dictionary.kit.LSP.ColorInformation[] ---@alias cmp_dictionary.kit.LSP.TextDocumentColorPresentationResponse cmp_dictionary.kit.LSP.ColorPresentation[] ---@alias cmp_dictionary.kit.LSP.TextDocumentFoldingRangeResponse (cmp_dictionary.kit.LSP.FoldingRange[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentDeclarationResponse (cmp_dictionary.kit.LSP.Declaration | cmp_dictionary.kit.LSP.DeclarationLink[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentSelectionRangeResponse (cmp_dictionary.kit.LSP.SelectionRange[] | nil) ---@alias cmp_dictionary.kit.LSP.WindowWorkDoneProgressCreateResponse nil ---@alias cmp_dictionary.kit.LSP.TextDocumentPrepareCallHierarchyResponse (cmp_dictionary.kit.LSP.CallHierarchyItem[] | nil) ---@alias cmp_dictionary.kit.LSP.CallHierarchyIncomingCallsResponse (cmp_dictionary.kit.LSP.CallHierarchyIncomingCall[] | nil) ---@alias cmp_dictionary.kit.LSP.CallHierarchyOutgoingCallsResponse (cmp_dictionary.kit.LSP.CallHierarchyOutgoingCall[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentSemanticTokensFullResponse (cmp_dictionary.kit.LSP.SemanticTokens | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentSemanticTokensFullDeltaResponse (cmp_dictionary.kit.LSP.SemanticTokens | cmp_dictionary.kit.LSP.SemanticTokensDelta | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentSemanticTokensRangeResponse (cmp_dictionary.kit.LSP.SemanticTokens | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceSemanticTokensRefreshResponse nil ---@alias cmp_dictionary.kit.LSP.WindowShowDocumentResponse cmp_dictionary.kit.LSP.ShowDocumentResult ---@alias cmp_dictionary.kit.LSP.TextDocumentLinkedEditingRangeResponse (cmp_dictionary.kit.LSP.LinkedEditingRanges | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceWillCreateFilesResponse (cmp_dictionary.kit.LSP.WorkspaceEdit | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceWillRenameFilesResponse (cmp_dictionary.kit.LSP.WorkspaceEdit | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceWillDeleteFilesResponse (cmp_dictionary.kit.LSP.WorkspaceEdit | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentMonikerResponse (cmp_dictionary.kit.LSP.Moniker[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentPrepareTypeHierarchyResponse (cmp_dictionary.kit.LSP.TypeHierarchyItem[] | nil) ---@alias cmp_dictionary.kit.LSP.TypeHierarchySupertypesResponse (cmp_dictionary.kit.LSP.TypeHierarchyItem[] | nil) ---@alias cmp_dictionary.kit.LSP.TypeHierarchySubtypesResponse (cmp_dictionary.kit.LSP.TypeHierarchyItem[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentInlineValueResponse (cmp_dictionary.kit.LSP.InlineValue[] | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceInlineValueRefreshResponse nil ---@alias cmp_dictionary.kit.LSP.TextDocumentInlayHintResponse (cmp_dictionary.kit.LSP.InlayHint[] | nil) ---@alias cmp_dictionary.kit.LSP.InlayHintResolveResponse cmp_dictionary.kit.LSP.InlayHint ---@alias cmp_dictionary.kit.LSP.WorkspaceInlayHintRefreshResponse nil ---@alias cmp_dictionary.kit.LSP.TextDocumentDiagnosticResponse cmp_dictionary.kit.LSP.DocumentDiagnosticReport ---@alias cmp_dictionary.kit.LSP.WorkspaceDiagnosticResponse cmp_dictionary.kit.LSP.WorkspaceDiagnosticReport ---@alias cmp_dictionary.kit.LSP.WorkspaceDiagnosticRefreshResponse nil ---@alias cmp_dictionary.kit.LSP.ClientRegisterCapabilityResponse nil ---@alias cmp_dictionary.kit.LSP.ClientUnregisterCapabilityResponse nil ---@alias cmp_dictionary.kit.LSP.InitializeResponse cmp_dictionary.kit.LSP.InitializeResult ---@alias cmp_dictionary.kit.LSP.ShutdownResponse nil ---@alias cmp_dictionary.kit.LSP.WindowShowMessageRequestResponse (cmp_dictionary.kit.LSP.MessageActionItem | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentWillSaveWaitUntilResponse (cmp_dictionary.kit.LSP.TextEdit[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentCompletionResponse (cmp_dictionary.kit.LSP.CompletionItem[] | cmp_dictionary.kit.LSP.CompletionList | nil) ---@alias cmp_dictionary.kit.LSP.CompletionItemResolveResponse cmp_dictionary.kit.LSP.CompletionItem ---@alias cmp_dictionary.kit.LSP.TextDocumentHoverResponse (cmp_dictionary.kit.LSP.Hover | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentSignatureHelpResponse (cmp_dictionary.kit.LSP.SignatureHelp | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentDefinitionResponse (cmp_dictionary.kit.LSP.Definition | cmp_dictionary.kit.LSP.DefinitionLink[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentReferencesResponse (cmp_dictionary.kit.LSP.Location[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentDocumentHighlightResponse (cmp_dictionary.kit.LSP.DocumentHighlight[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentDocumentSymbolResponse (cmp_dictionary.kit.LSP.SymbolInformation[] | cmp_dictionary.kit.LSP.DocumentSymbol[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentCodeActionResponse ((cmp_dictionary.kit.LSP.Command | cmp_dictionary.kit.LSP.CodeAction)[] | nil) ---@alias cmp_dictionary.kit.LSP.CodeActionResolveResponse cmp_dictionary.kit.LSP.CodeAction ---@alias cmp_dictionary.kit.LSP.WorkspaceSymbolResponse (cmp_dictionary.kit.LSP.SymbolInformation[] | cmp_dictionary.kit.LSP.WorkspaceSymbol[] | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceSymbolResolveResponse cmp_dictionary.kit.LSP.WorkspaceSymbol ---@alias cmp_dictionary.kit.LSP.TextDocumentCodeLensResponse (cmp_dictionary.kit.LSP.CodeLens[] | nil) ---@alias cmp_dictionary.kit.LSP.CodeLensResolveResponse cmp_dictionary.kit.LSP.CodeLens ---@alias cmp_dictionary.kit.LSP.WorkspaceCodeLensRefreshResponse nil ---@alias cmp_dictionary.kit.LSP.TextDocumentDocumentLinkResponse (cmp_dictionary.kit.LSP.DocumentLink[] | nil) ---@alias cmp_dictionary.kit.LSP.DocumentLinkResolveResponse cmp_dictionary.kit.LSP.DocumentLink ---@alias cmp_dictionary.kit.LSP.TextDocumentFormattingResponse (cmp_dictionary.kit.LSP.TextEdit[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentRangeFormattingResponse (cmp_dictionary.kit.LSP.TextEdit[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentOnTypeFormattingResponse (cmp_dictionary.kit.LSP.TextEdit[] | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentRenameResponse (cmp_dictionary.kit.LSP.WorkspaceEdit | nil) ---@alias cmp_dictionary.kit.LSP.TextDocumentPrepareRenameResponse (cmp_dictionary.kit.LSP.PrepareRenameResult | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceExecuteCommandResponse (cmp_dictionary.kit.LSP.LSPAny | nil) ---@alias cmp_dictionary.kit.LSP.WorkspaceApplyEditResponse cmp_dictionary.kit.LSP.ApplyWorkspaceEditResult ---@alias cmp_dictionary.kit.LSP.Definition (cmp_dictionary.kit.LSP.Location | cmp_dictionary.kit.LSP.Location[]) ---@alias cmp_dictionary.kit.LSP.DefinitionLink cmp_dictionary.kit.LSP.LocationLink ---@alias cmp_dictionary.kit.LSP.LSPArray cmp_dictionary.kit.LSP.LSPAny[] ---@alias cmp_dictionary.kit.LSP.LSPAny (cmp_dictionary.kit.LSP.LSPObject | cmp_dictionary.kit.LSP.LSPArray | string | integer | integer | integer | boolean | nil) ---@alias cmp_dictionary.kit.LSP.Declaration (cmp_dictionary.kit.LSP.Location | cmp_dictionary.kit.LSP.Location[]) ---@alias cmp_dictionary.kit.LSP.DeclarationLink cmp_dictionary.kit.LSP.LocationLink ---@alias cmp_dictionary.kit.LSP.InlineValue (cmp_dictionary.kit.LSP.InlineValueText | cmp_dictionary.kit.LSP.InlineValueVariableLookup | cmp_dictionary.kit.LSP.InlineValueEvaluatableExpression) ---@alias cmp_dictionary.kit.LSP.DocumentDiagnosticReport (cmp_dictionary.kit.LSP.RelatedFullDocumentDiagnosticReport | cmp_dictionary.kit.LSP.RelatedUnchangedDocumentDiagnosticReport) ---@alias cmp_dictionary.kit.LSP.PrepareRenameResult (cmp_dictionary.kit.LSP.Range | { range: cmp_dictionary.kit.LSP.Range, placeholder: string } | { defaultBehavior: boolean }) ---@alias cmp_dictionary.kit.LSP.ProgressToken (integer | string) ---@alias cmp_dictionary.kit.LSP.DocumentSelector cmp_dictionary.kit.LSP.DocumentFilter[] ---@alias cmp_dictionary.kit.LSP.ChangeAnnotationIdentifier string ---@alias cmp_dictionary.kit.LSP.WorkspaceDocumentDiagnosticReport (cmp_dictionary.kit.LSP.WorkspaceFullDocumentDiagnosticReport | cmp_dictionary.kit.LSP.WorkspaceUnchangedDocumentDiagnosticReport) ---@alias cmp_dictionary.kit.LSP.TextDocumentContentChangeEvent ({ range: cmp_dictionary.kit.LSP.Range, rangeLength?: integer, text: string } | { text: string }) ---@alias cmp_dictionary.kit.LSP.MarkedString (string | { language: string, value: string }) ---@alias cmp_dictionary.kit.LSP.DocumentFilter (cmp_dictionary.kit.LSP.TextDocumentFilter | cmp_dictionary.kit.LSP.NotebookCellTextDocumentFilter) ---@alias cmp_dictionary.kit.LSP.GlobPattern (cmp_dictionary.kit.LSP.Pattern | cmp_dictionary.kit.LSP.RelativePattern) ---@alias cmp_dictionary.kit.LSP.TextDocumentFilter ({ language: string, scheme?: string, pattern?: string } | { language?: string, scheme: string, pattern?: string } | { language?: string, scheme?: string, pattern: string }) ---@alias cmp_dictionary.kit.LSP.NotebookDocumentFilter ({ notebookType: string, scheme?: string, pattern?: string } | { notebookType?: string, scheme: string, pattern?: string } | { notebookType?: string, scheme?: string, pattern: string }) ---@alias cmp_dictionary.kit.LSP.Pattern string return LSP ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Thread/Server/Session.lua ================================================ ---@diagnostic disable: invisible local mpack = require('mpack') local Async = require('cmp_dictionary.kit.Async') ---Encode data to msgpack. ---@param v any ---@return string local function encode(v) if v == nil then return mpack.encode(mpack.NIL) end return mpack.encode(v) end ---@class cmp_dictionary.kit.Thread.Server.Session ---@field private mpack_session any ---@field private reader uv.uv_pipe_t ---@field private writer uv.uv_pipe_t ---@field private _on_request table ---@field private _on_notification table local Session = {} Session.__index = Session ---Create new session. ---@return cmp_dictionary.kit.Thread.Server.Session function Session.new() local self = setmetatable({}, Session) self.mpack_session = mpack.Session({ unpack = mpack.Unpacker() }) self.reader = nil self.writer = nil self._on_request = {} self._on_notification = {} return self end ---Connect reader/writer. ---@param reader uv.uv_pipe_t ---@param writer uv.uv_pipe_t function Session:connect(reader, writer) self.reader = reader self.writer = writer self.reader:read_start(function(err, data) if err then error(err) end local offset = 1 local length = #data while offset <= length do local type, id_or_cb, method_or_error, params_or_result, new_offset = self.mpack_session:receive(data, offset) if type == 'request' then local request_id, method, params = id_or_cb, method_or_error, params_or_result Async.resolve():next(function() return Async.run(function() return self._on_request[method](params) end) end):next(function(res) self.writer:write(self.mpack_session:reply(request_id) .. encode(mpack.NIL) .. encode(res)) end):catch(function(err_) self.writer:write(self.mpack_session:reply(request_id) .. encode(err_) .. encode(mpack.NIL)) end) elseif type == 'notification' then local method, params = method_or_error, params_or_result self._on_notification[method](params) elseif type == 'response' then local callback, err_, res = id_or_cb, method_or_error, params_or_result if err_ == mpack.NIL then callback(nil, res) else callback(err_, nil) end end offset = new_offset end end) end ---Add request handler. ---@param method string ---@param callback fun(params: table): any function Session:on_request(method, callback) self._on_request[method] = callback end ---Add notification handler. ---@param method string ---@param callback fun(params: table) function Session:on_notification(method, callback) self._on_notification[method] = callback end ---Send request to the peer. ---@param method string ---@param params table ---@return cmp_dictionary.kit.Async.AsyncTask function Session:request(method, params) return Async.new(function(resolve, reject) local request = self.mpack_session:request(function(err, res) if err then reject(err) else resolve(res) end end) self.writer:write(request .. encode(method) .. encode(params)) end) end ---Send notification to the peer. ---@param method string ---@param params table function Session:notify(method, params) self.writer:write(self.mpack_session:notify() .. encode(method) .. encode(params)) end return Session ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Thread/Server/_bootstrap.lua ================================================ vim.o.runtimepath = _G.arg[1] local uv = require('luv') local Session = require('cmp_dictionary.kit.Thread.Server.Session') local stdin = uv.new_pipe() stdin:open(0) local stdout = uv.new_pipe() stdout:open(1) local session = Session.new() session:connect(stdin, stdout) session:on_request('connect', function(params) loadstring(params.dispatcher)(session) end) while true do uv.run('once') end ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Thread/Server/init.lua ================================================ local uv = require('luv') local Async = require('cmp_dictionary.kit.Async') local Session = require('cmp_dictionary.kit.Thread.Server.Session') ---Return current executing file directory. ---@return string local function dirname() return debug.getinfo(2, "S").source:sub(2):match("(.*)/") end ---@class cmp_dictionary.kit.Thread.Server ---@field private stdin uv.uv_pipe_t ---@field private stdout uv.uv_pipe_t ---@field private stderr uv.uv_pipe_t ---@field private dispatcher fun(session: cmp_dictionary.kit.Thread.Server.Session): nil ---@field private process? uv.uv_process_t ---@field private session? cmp_dictionary.kit.Thread.Server.Session local Server = {} Server.__index = Server ---Create new server instance. ---@param dispatcher fun(session: cmp_dictionary.kit.Thread.Server.Session): nil ---@return cmp_dictionary.kit.Thread.Server function Server.new(dispatcher) local self = setmetatable({}, Server) self.dispatcher = dispatcher self.session = Session.new() self.process = nil return self end ---Connect to server. ---@return cmp_dictionary.kit.Async.AsyncTask function Server:connect() return Async.run(function() Async.schedule():await() local stdin = uv.new_pipe() local stdout = uv.new_pipe() local stderr = uv.new_pipe() self.process = uv.spawn('nvim', { cwd = uv.cwd(), args = { '--headless', '--noplugin', '-l', ('%s/_bootstrap.lua'):format(dirname()), vim.o.runtimepath }, stdio = { stdin, stdout, stderr } }) stderr:read_start(function(err, data) if err then error(err) end print(data) end) self.session:connect(stdout, stdin) return self.session:request('connect', { dispatcher = string.dump(self.dispatcher) }):await() end) end ---Add request handler. ---@param method string ---@param callback fun(params: table): any function Server:on_request(method, callback) self.session:on_request(method, callback) end ---Add notification handler. ---@param method string ---@param callback fun(params: table) function Server:on_notification(method, callback) self.session:on_notification(method, callback) end --- Send request. ---@param method string ---@param params table function Server:request(method, params) if not self.process then error('Server is not connected.') end return self.session:request(method, params) end ---Send notification. ---@param method string ---@param params table function Server:notify(method, params) if not self.process then error('Server is not connected.') end self.session:notify(method, params) end ---Kill server process. function Server:kill() if self.process then local ok, err = self.process:kill('SIGINT') if not ok then error(err) end self.process = nil end end return Server ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Thread/Worker.lua ================================================ local uv = require('luv') local AsyncTask = require('cmp_dictionary.kit.Async.AsyncTask') ---@class cmp_dictionary.kit.Thread.WorkerOption ---@field public runtimepath string[] local Worker = {} Worker.__index = Worker ---Create a new thread. ---@param runner function function Worker.new(runner) local self = setmetatable({}, Worker) self.runner = string.dump(runner) return self end ---Call worker function. ---@return cmp_dictionary.kit.Async.AsyncTask function Worker:__call(...) local args_ = { ... } return AsyncTask.new(function(resolve, reject) uv.new_work(function(runner, args, option) args = vim.mpack.decode(args) option = vim.mpack.decode(option) --Initialize cwd. require('luv').chdir(option.cwd) --Initialize package.loaders. table.insert(package.loaders, 2, vim._load_package) --Run runner function. local ok, res = pcall(function() return require('cmp_dictionary.kit.Async.AsyncTask').resolve(assert(loadstring(runner))(unpack(args))):sync() end) res = vim.mpack.encode({ res }) --Return error or result. if not ok then return res, nil else return nil, res end end, function(err, res) if err then reject(vim.mpack.decode(err)[1]) else resolve(vim.mpack.decode(res)[1]) end end):queue( self.runner, vim.mpack.encode(args_), vim.mpack.encode({ cwd = uv.cwd(), }) ) end) end return Worker ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Vim/Keymap.lua ================================================ local kit = require('cmp_dictionary.kit') local Async = require('cmp_dictionary.kit.Async') ---@alias cmp_dictionary.kit.Vim.Keymap.Keys { keys: string, remap: boolean } ---@alias cmp_dictionary.kit.Vim.Keymap.KeysSpecifier string|{ keys: string, remap: boolean } ---@param keys cmp_dictionary.kit.Vim.Keymap.KeysSpecifier ---@return cmp_dictionary.kit.Vim.Keymap.Keys local function to_keys(keys) if type(keys) == 'table' then return keys end return { keys = keys, remap = false } end local Keymap = {} Keymap._callbacks = {} ---Replace termcodes. ---@param keys string ---@return string function Keymap.termcodes(keys) return vim.api.nvim_replace_termcodes(keys, true, true, true) end ---Set callback for consuming next typeahead. ---@param callback fun() ---@return cmp_dictionary.kit.Async.AsyncTask function Keymap.next(callback) return Keymap.send(''):next(callback) end ---Send keys. ---@param keys cmp_dictionary.kit.Vim.Keymap.KeysSpecifier|cmp_dictionary.kit.Vim.Keymap.KeysSpecifier[] ---@param no_insert? boolean ---@return cmp_dictionary.kit.Async.AsyncTask function Keymap.send(keys, no_insert) local unique_id = kit.unique_id() return Async.new(function(resolve, _) Keymap._callbacks[unique_id] = resolve local callback = Keymap.termcodes(('lua require("cmp_dictionary.kit.Vim.Keymap")._resolve(%s)'):format(unique_id)) if no_insert then for _, keys_ in ipairs(kit.to_array(keys)) do keys_ = to_keys(keys_) vim.api.nvim_feedkeys(keys_.keys, keys_.remap and 'm' or 'n', true) end vim.api.nvim_feedkeys(callback, 'n', true) else vim.api.nvim_feedkeys(callback, 'in', true) for _, keys_ in ipairs(kit.reverse(kit.to_array(keys))) do keys_ = to_keys(keys_) vim.api.nvim_feedkeys(keys_.keys, 'i' .. (keys_.remap and 'm' or 'n'), true) end end end):catch(function() Keymap._callbacks[unique_id] = nil end) end ---Return sendabke keys with callback function. ---@param callback fun(...: any): any ---@return string function Keymap.to_sendable(callback) local unique_id = kit.unique_id() Keymap._callbacks[unique_id] = Async.async(callback) return Keymap.termcodes(('lua require("cmp_dictionary.kit.Vim.Keymap")._resolve(%s)'):format(unique_id)) end ---Test spec helper. ---@param spec fun(): any function Keymap.spec(spec) local task = Async.resolve():next(Async.async(spec)) vim.api.nvim_feedkeys('', 'x', true) task:sync() collectgarbage('collect') vim.wait(200) end ---Resolve running keys. ---@param unique_id integer function Keymap._resolve(unique_id) Keymap._callbacks[unique_id]() Keymap._callbacks[unique_id] = nil end return Keymap ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Vim/RegExp.lua ================================================ local RegExp = {} ---@type table RegExp._cache = {} ---Create a RegExp object. ---@param pattern string ---@return { match_str: fun(self, text: string) } function RegExp.get(pattern) if not RegExp._cache[pattern] then RegExp._cache[pattern] = vim.regex(pattern) end return RegExp._cache[pattern] end ---Grep and substitute text. ---@param text string ---@param pattern string ---@param replacement string ---@return string function RegExp.gsub(text, pattern, replacement) return vim.fn.substitute(text, pattern, replacement, 'g') end ---Match pattern in text for specified position. ---@param text string ---@param pattern string ---@param pos number 1-origin index ---@return string?, integer?, integer? 1-origin-index function RegExp.extract_at(text, pattern, pos) local before_text = text:sub(1, pos - 1) local after_text = text:sub(pos) local b_s, _ = RegExp.get(pattern .. '$'):match_str(before_text) local _, a_e = RegExp.get('^' .. pattern):match_str(after_text) if b_s or a_e then b_s = b_s or #before_text a_e = #before_text + (a_e or 0) return text:sub(b_s + 1, a_e), b_s + 1, a_e + 1 end end return RegExp ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/Vim/Syntax.lua ================================================ local kit = require('cmp_dictionary.kit') local Syntax = {} ---Return the specified position is in the specified syntax. ---@param cursor { [1]: integer, [2]: integer } ---@param groups string[] function Syntax.within(cursor, groups) for _, group in ipairs(Syntax.get_syntax_groups(cursor)) do if vim.tbl_contains(groups, group) then return true end end return false end ---Get all syntax groups for specified position. ---NOTE: This function accepts 0-origin cursor position. ---@param cursor { [1]: integer, [2]: integer } ---@return string[] function Syntax.get_syntax_groups(cursor) return kit.concat(Syntax.get_vim_syntax_groups(cursor), Syntax.get_treesitter_syntax_groups(cursor)) end ---Get vim's syntax groups for specified position. ---NOTE: This function accepts 0-origin cursor position. ---@param cursor { [1]: integer, [2]: integer } ---@return string[] function Syntax.get_vim_syntax_groups(cursor) local unique = {} local groups = {} for _, syntax_id in ipairs(vim.fn.synstack(cursor[1] + 1, cursor[2] + 1)) do local name = vim.fn.synIDattr(vim.fn.synIDtrans(syntax_id), 'name') if not unique[name] then unique[name] = true table.insert(groups, name) end end for _, syntax_id in ipairs(vim.fn.synstack(cursor[1] + 1, cursor[2] + 1)) do local name = vim.fn.synIDattr(syntax_id, 'name') if not unique[name] then unique[name] = true table.insert(groups, name) end end return groups end ---Get tree-sitter's syntax groups for specified position. ---NOTE: This function accepts 0-origin cursor position. ---@param cursor { [1]: integer, [2]: integer } ---@return string[] function Syntax.get_treesitter_syntax_groups(cursor) local groups = {} for _, capture in ipairs(vim.treesitter.get_captures_at_pos(0, cursor[1], cursor[2])) do table.insert(groups, ('@%s'):format(capture.capture)) end return groups end return Syntax ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/kit/init.lua ================================================ local kit = {} local is_thread = vim.is_thread() ---Create gabage collection detector. ---@param callback fun(...: any): any ---@return userdata function kit.gc(callback) local gc = newproxy(true) if vim.is_thread() or os.getenv('NODE_ENV') == 'test' then getmetatable(gc).__gc = callback else getmetatable(gc).__gc = vim.schedule_wrap(callback) end return gc end ---Bind arguments for function. ---@param fn fun(...: any): any ---@vararg any ---@return fun(...: any): any function kit.bind(fn, ...) local args = { ... } return function(...) return fn(unpack(args), ...) end end ---Safe version of vim.schedule. ---@param fn fun(...: any): any function kit.safe_schedule(fn) if is_thread then fn() else vim.schedule(fn) end end ---Safe version of vim.schedule_wrap. ---@param fn fun(...: any): any function kit.safe_schedule_wrap(fn) if is_thread then return fn else return vim.schedule_wrap(fn) end end ---Create unique id. ---@return integer kit.unique_id = setmetatable({ unique_id = 0, }, { __call = function(self) self.unique_id = self.unique_id + 1 return self.unique_id end, }) ---Merge two tables. ---@generic T ---NOTE: This doesn't merge array-like table. ---@param tbl1 T ---@param tbl2 T ---@return T function kit.merge(tbl1, tbl2) local is_dict1 = kit.is_dict(tbl1) local is_dict2 = kit.is_dict(tbl2) if is_dict1 and is_dict2 then local new_tbl = {} for k, v in pairs(tbl2) do if tbl1[k] ~= vim.NIL then new_tbl[k] = kit.merge(tbl1[k], v) end end for k, v in pairs(tbl1) do if tbl2[k] == nil then if v ~= vim.NIL then new_tbl[k] = v else new_tbl[k] = nil end end end return new_tbl elseif is_dict1 and not is_dict2 then return kit.merge(tbl1, {}) elseif not is_dict1 and is_dict2 then return kit.merge(tbl2, {}) end if tbl1 == vim.NIL then return nil elseif tbl1 == nil then return tbl2 else return tbl1 end end ---Recursive convert value via callback function. ---@param tbl table ---@param callback fun(value: any): any ---@return table function kit.convert(tbl, callback) if kit.is_dict(tbl) then local new_tbl = {} for k, v in pairs(tbl) do new_tbl[k] = kit.convert(v, callback) end return new_tbl end return callback(tbl) end ---Map array. ---@param array table ---@param fn fun(item: unknown, index: integer): unknown ---@return unknown[] function kit.map(array, fn) local new_array = {} for i, item in ipairs(array) do table.insert(new_array, fn(item, i)) end return new_array end ---Concatenate two tables. ---NOTE: This doesn't concatenate dict-like table. ---@param tbl1 table ---@param tbl2 table ---@return table function kit.concat(tbl1, tbl2) local new_tbl = {} for _, item in ipairs(tbl1) do table.insert(new_tbl, item) end for _, item in ipairs(tbl2) do table.insert(new_tbl, item) end return new_tbl end ---The value to array. ---@param value any ---@return table function kit.to_array(value) if type(value) == 'table' then if vim.tbl_islist(value) or vim.tbl_isempty(value) then return value end end return { value } end ---Check the value is array. ---@param value any ---@return boolean function kit.is_array(value) return not not (type(value) == 'table' and (vim.tbl_islist(value) or vim.tbl_isempty(value))) end ---Check the value is dict. ---@param value any ---@return boolean function kit.is_dict(value) return type(value) == 'table' and (not vim.tbl_islist(value) or vim.tbl_isempty(value)) end ---Reverse the array. ---@param array table ---@return table function kit.reverse(array) if not kit.is_array(array) then error('[kit] specified value is not an array.') end local new_array = {} for i = #array, 1, -1 do table.insert(new_array, array[i]) end return new_array end ---@generic T ---@param value T? ---@param default T function kit.default(value, default) if value == nil then return default end return value end ---Get object path with default value. ---@generic T ---@param value table ---@param path integer|string|(string|integer)[] ---@param default? T ---@return T function kit.get(value, path, default) local result = value for _, key in ipairs(kit.to_array(path)) do if type(result) == 'table' then result = result[key] else return default end end return result or default end return kit ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/lfu.lua ================================================ ---@class CacheNode ---@field key integer ---@field value integer ---@field freq integer ---@field prev CacheNode ---@field next CacheNode local CacheNode = {} ---Initialize the cache node ---@param key any ---@param value any ---@return CacheNode function CacheNode.init(key, value) return { key = key, value = value, freq = 1, prev = nil, next = nil, } end ---@class LinkedList ---@field head CacheNode ---@field tail CacheNode ---@field length integer local LinkedList = {} ---Initialize the linked list ---@return LinkedList function LinkedList.init() local self = {} self.head = CacheNode.init(0, 0) -- dummy self.tail = CacheNode.init(0, 0) -- dummy self.head.next = self.tail self.tail.prev = self.head self.length = 0 return setmetatable(self, { __index = LinkedList }) end ---Add node ---@param node CacheNode function LinkedList:add(node) node.prev = self.head node.next = self.head.next self.head.next = node node.next.prev = node self.length = self.length + 1 end ---Remove node ---@param node CacheNode function LinkedList:remove(node) node.prev.next = node.next node.next.prev = node.prev self.length = self.length - 1 end ---@class LfuCache ---@field capacity integer ---@field key2node table ---@field list_map table ---@field total_size integer ---@field min_freq integer local LfuCache = {} ---Initialize the cache ---@param capacity integer ---@return LfuCache function LfuCache.init(capacity) local self = {} self.capacity = capacity self.key2node = {} self.list_map = { LinkedList.init() } self.total_size = 0 self.min_freq = 0 return setmetatable(self, { __index = LfuCache }) end ---Add a data to the cache ---@param key any ---@param value any function LfuCache:set(key, value) if self.key2node[key] then local node = self.key2node[key] node.value = value self:_update(node) else if self.total_size == self.capacity then local last_node = self.list_map[self.min_freq].tail.prev self.key2node[last_node.key] = nil self.list_map[self.min_freq]:remove(last_node) self.total_size = self.total_size - 1 end local new_node = CacheNode.init(key, value) self.key2node[key] = new_node self.list_map[1]:add(new_node) self.min_freq = 1 self.total_size = self.total_size + 1 end end ---Fetching a data from the cache ---@param key any ---@return any function LfuCache:get(key) if self.key2node[key] then local node = self.key2node[key] self:_update(node) return node.value end end ---Update the number of accesses to a node ---@param node CacheNode function LfuCache:_update(node) local cur_freq = node.freq self.list_map[cur_freq]:remove(node) node.freq = cur_freq + 1 if not self.list_map[node.freq] then self.list_map[node.freq] = LinkedList.init() end self.list_map[node.freq]:add(node) if self.list_map[self.min_freq].length == 0 then self.min_freq = cur_freq + 1 end end return LfuCache ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/lfu_spec.lua ================================================ local lfu = require("cmp_dictionary.lfu") local cache describe("Test for lfu.lua", function() before_each(function() cache = lfu.init(3) end) it("single cache", function() cache:set("a", 1) assert.are.equals(1, cache:get("a")) end) it("remove the least frequent cache", function() cache:set("a", 1) cache:set("b", 2) cache:set("c", 3) assert.are.equals(1, cache:get("a")) -- freq = 2 assert.are.equals(1, cache:get("a")) -- freq = 3 assert.are.equals(2, cache:get("b")) -- freq = 2 assert.are.equals(3, cache:get("c")) -- freq = 2 cache:set("d", 4) -- Removed the least frequent cache with the oldest accesses. assert.is_nil(cache:get("b")) end) end) ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/lib/utf8.lua ================================================ local utf8 = {} local bit = require("bit") -- luajit local band = bit.band local bor = bit.bor local rshift = bit.rshift local lshift = bit.lshift ---The pattern (a string, not a function) "[\0-\x7F\xC2-\xF4][\x80-\xBF]*", ---which matches exactly one UTF-8 byte sequence, assuming that the subject is a valid UTF-8 string. utf8.charpattern = "[%z\x01-\x7F\xC2-\xF4][\x80-\xBF]*" ---@param idx integer ---@param func_name string ---@param range_name string ---@return string @error message local function create_errmsg(idx, func_name, range_name) return string.format("bad argument #%s to '%s' (%s out of range)", idx, func_name, range_name) end ---Converts indexes of a string to positive numbers. ---@param str string ---@param idx integer ---@param msg string ---@return integer local function validate_range(str, idx, msg) idx = idx > 0 and idx or #str + idx + 1 if idx < 0 or idx > #str then error(msg, 2) end return idx end ---Receives zero or more integers, converts each one to its corresponding UTF-8 byte sequence ---and returns a string with the concatenation of all these sequences. ---@vararg integer ---@return string function utf8.char(...) local buffer = {} for i, v in ipairs({ ... }) do if v < 0 or v > 0x10FFFF then error(create_errmsg(i, "char", "value"), 2) elseif v < 0x80 then -- single-byte buffer[i] = string.char(v) elseif v < 0x800 then -- two-byte local b1 = bor(0xC0, band(rshift(v, 6), 0x1F)) -- 110x-xxxx local b2 = bor(0x80, band(v, 0x3F)) -- 10xx-xxxx buffer[i] = string.char(b1, b2) elseif v < 0x10000 then -- three-byte local b1 = bor(0xE0, band(rshift(v, 12), 0x0F)) -- 1110-xxxx local b2 = bor(0x80, band(rshift(v, 6), 0x3F)) -- 10xx-xxxx local b3 = bor(0x80, band(v, 0x3F)) -- 10xx-xxxx buffer[i] = string.char(b1, b2, b3) else -- four-byte local b1 = bor(0xF0, band(rshift(v, 18), 0x07)) -- 1111-0xxx local b2 = bor(0x80, band(rshift(v, 12), 0x3F)) -- 10xx-xxxx local b3 = bor(0x80, band(rshift(v, 6), 0x3F)) -- 10xx-xxxx local b4 = bor(0x80, band(v, 0x3F)) -- 10xx-xxxx buffer[i] = string.char(b1, b2, b3, b4) end end return table.concat(buffer, "") end ---Returns the next one character range. ---@param s string ---@param start_pos integer ---@return integer? start_pos, integer? end_pos local function next_char(s, start_pos) local b1 = s:byte(start_pos) if not b1 then return -- for offset's #s+1 end local end_pos if band(b1, 0x80) == 0x00 then -- single-byte (0xxx-xxxx) return start_pos, start_pos elseif 0xC2 <= b1 and b1 <= 0xDF then -- two-byte (range 0xC2 to 0xDF) end_pos = start_pos + 1 elseif band(b1, 0xF0) == 0xE0 then -- three-byte (1110-xxxx) end_pos = start_pos + 2 elseif 0xF0 <= b1 and b1 <= 0xF4 then -- four-byte (range 0xF0 to 0xF4) end_pos = start_pos + 3 else -- invalid 1st byte return end -- validate (end_pos) if end_pos > #s then return end -- validate (continuation) for _, bn in ipairs({ s:byte(start_pos + 1, end_pos) }) do if band(bn, 0xC0) ~= 0x80 then -- 10xx-xxxx? return end end return start_pos, end_pos end ---Returns values so that the construction --- ---for p, c in utf8.codes(s) do body end --- ---will iterate over all UTF-8 characters in string s, with p being the position (in bytes) and c the code point of each character. ---It raises an error if it meets any invalid byte sequence. ---@param s string ---@return function iterator function utf8.codes(s) vim.validate({ s = { s, "string" }, }) local i = 1 return function() if i > #s then return end local start_pos, end_pos = next_char(s, i) if start_pos == nil then error("invalid UTF-8 code", 2) end i = end_pos + 1 return start_pos, s:sub(start_pos, end_pos) end end ---Returns the code points (as integers) from all characters in s that start between byte position i and j (both included). ---The default for i is 1 and for j is i. ---It raises an error if it meets any invalid byte sequence. ---@param s string ---@param i? integer start position. default=1 ---@param j? integer end position. default=i ---@return integer @code point function utf8.codepoint(s, i, j) vim.validate({ s = { s, "string" }, i = { i, "number", true }, j = { j, "number", true }, }) i = validate_range(s, i or 1, create_errmsg(2, "codepoint", "initial position")) j = validate_range(s, j or i, create_errmsg(3, "codepoint", "final position")) local ret = {} repeat local char_start, char_end = next_char(s, i) if char_start == nil then error("invalid UTF-8 code", 2) end i = char_end + 1 local len = char_end - char_start + 1 if len == 1 then -- single-byte table.insert(ret, s:byte(char_start)) else -- multi-byte local b1 = s:byte(char_start) b1 = band(lshift(b1, len + 1), 0xFF) -- e.g. 110x-xxxx -> xxxx-x000 b1 = lshift(b1, len * 5 - 7) -- >> len+1 and << (len-1)*6 local cp = 0 for k = char_start + 1, char_end do local bn = s:byte(k) cp = bor(lshift(cp, 6), band(bn, 0x3F)) end cp = bor(b1, cp) table.insert(ret, cp) end until char_end >= j return unpack(ret) end ---Returns the number of UTF-8 characters in string s that start between positions i and j (both inclusive). ---The default for i is 1 and for j is -1. ---If it finds any invalid byte sequence, returns fail plus the position of the first invalid byte. ---@param s string ---@param i? integer start position. default=1 ---@param j? integer end position. default=-1 ---@return integer | nil ---@return integer? function utf8.len(s, i, j) vim.validate({ s = { s, "string" }, i = { i, "number", true }, j = { j, "number", true }, }) i = validate_range(s, i or 1, create_errmsg(2, "len", "initial position")) j = validate_range(s, j or -1, create_errmsg(3, "len", "final position")) local len = 0 repeat local char_start, char_end = next_char(s, i) if char_start == nil then return nil, i end i = char_end + 1 len = len + 1 until char_end >= j return len end ---Returns the position (in bytes) where the encoding of the n-th character of s (counting from position i) starts. ---A negative n gets characters before position i. ---The default for i is 1 when n is non-negative and #s+1 otherwise, so that utf8.offset(s, -n) gets the offset of the n-th character from the end of the string. ---If the specified character is neither in the subject nor right after its end, the function returns fail. --- ---As a special case, when n is 0 the function returns the start of the encoding of the character that contains the i-th byte of s. ---@param s string ---@param n integer ---@param i? integer start position. if n >= 0, default=1, otherwise default=#s+1 ---@return integer? function utf8.offset(s, n, i) vim.validate({ s = { s, "string" }, n = { n, "number" }, i = { i, "number", true }, }) i = i or n >= 0 and 1 or #s + 1 if n >= 0 or i ~= #s + 1 then i = validate_range(s, i, create_errmsg(3, "offset", "position")) end if n == 0 then for j = i, 1, -1 do local char_start = next_char(s, j) if char_start then return char_start end end elseif n > 0 then if not next_char(s, i) then error("initial position is a continuation byte", 2) end for j = i, #s do local char_start = next_char(s, j) if char_start then n = n - 1 if n == 0 then return char_start end end end else if i ~= #s + 1 and not next_char(s, i) then error("initial position is a continuation byte", 2) end for j = i, 1, -1 do local char_start = next_char(s, j) if char_start then n = n + 1 if n == 0 then return char_start end end end end end return utf8 ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/source.lua ================================================ local source = {} local utf8 = require("cmp_dictionary.lib.utf8") local config = require("cmp_dictionary.config") local caches = require("cmp_dictionary.caches") local db = require("cmp_dictionary.db") function source.new() return setmetatable({}, { __index = source }) end ---@return string function source.get_keyword_pattern() return [[\k\+]] end local candidate_cache = { req = "", items = {}, } ---@param str string ---@return boolean local function is_capital(str) return str:find("^%u") and true or false end ---@param str string ---@return string local function to_lower_first(str) local l = str:gsub("^.", string.lower) return l end ---@param str string ---@return string local function to_upper_first(str) local u = str:gsub("^.", string.upper) return u end ---@param req string ---@param isIncomplete boolean ---@return table function source.get_candidate(req, isIncomplete) if candidate_cache.req == req then return { items = candidate_cache.items, isIncomplete = isIncomplete } end local items local request = config.get("sqlite") and db.request or caches.request items, isIncomplete = request(req, isIncomplete) if config.get("first_case_insensitive") then local pre, post = to_upper_first, to_lower_first if is_capital(req) then pre, post = post, pre end for _, item in ipairs(request(pre(req), isIncomplete)) do table.insert(items, { label = post(item.label), detail = item.detail }) end end candidate_cache.req = req candidate_cache.items = items return { items = items, isIncomplete = isIncomplete } end ---@param request cmp.SourceCompletionApiParams ---@param callback fun(response: lsp.CompletionResponse|nil) function source.complete(_, request, callback) -- Clear the cache since the dictionary has been updated. if config.get("sqlite") then if db.is_just_updated() then candidate_cache = {} end else if caches.is_just_updated() then candidate_cache = {} end end local exact = config.get("exact") ---@type string local line = request.context.cursor_before_line local offset = request.offset line = line:sub(offset) if line == "" then return end local req, isIncomplete if exact > 0 then local line_len = utf8.len(line) if line_len <= exact then req = line isIncomplete = line_len < exact else local last = exact if line_len ~= #line then last = utf8.offset(line, exact + 1) - 1 end req = line:sub(1, last) isIncomplete = false end else -- must be -1 req = line isIncomplete = true end callback(source.get_candidate(req, isIncomplete)) end function source.resolve(_, completion_item, callback) if config.get("sqlite") then db.document(completion_item, callback) else require("cmp_dictionary.document")(completion_item, callback) end end return source ================================================ FILE: bundle/cmp-dictionary/lua/cmp_dictionary/util.lua ================================================ local uv = vim.uv or vim.loop local M = {} ---@param path string ---@return string buffer function M.read_file_sync(path) -- 292 == 0x444 local fd = assert(uv.fs_open(path, "r", 292)) local stat = assert(uv.fs_fstat(fd)) local buffer = assert(uv.fs_read(fd, stat.size, 0)) uv.fs_close(fd) return buffer end ---@param list unknown[] ---@return unknown[] local function deduplicate(list) local set = {} local new_list = {} for _, v in ipairs(list) do if not set[v] then table.insert(new_list, v) set[v] = true end end return new_list end ---@return string[] function M.get_dictionaries() -- Workaround. vim.opt_global returns now a local value. -- https://github.com/neovim/neovim/issues/21506 ---@type string[] local global = vim.split(vim.go.dictionary, ",") ---@type string[] local local_ = vim.opt_local.dictionary:get() local dict = {} for _, al in ipairs({ global, local_ }) do for _, d in ipairs(al) do if vim.fn.filereadable(vim.fn.expand(d)) == 1 then table.insert(dict, d) end end end dict = deduplicate(dict) return dict end ---@param vector string[] ---@param index integer ---@param key string ---@return boolean local function ascending_order(vector, index, key) return vector[index] >= key end ---@param vector unknown[] ---@param key string ---@param cb fun(vec: unknown[], idx: integer, key: string): boolean ---@return integer function M.binary_search(vector, key, cb) local left = 0 local right = #vector local isOK = cb or ascending_order -- (left, right] while right - left > 1 do local mid = math.floor((left + right) / 2) if isOK(vector, mid, key) then right = mid else left = mid end end return right end local timer = {} local function stop(name) if timer[name] then timer[name]:stop() timer[name]:close() timer[name] = nil end end function M.debounce(name, callback, timeout) stop(name) timer[name] = uv.new_timer() timer[name]:start( timeout, 0, vim.schedule_wrap(function() stop(name) callback() end) ) end M.bool_fn = setmetatable({}, { __index = function(_, key) return function(...) local v = vim.fn[key](...) if not v or v == 0 or v == "" then return false elseif type(v) == "table" and next(v) == nil then return false end return true end end, }) return M ================================================ FILE: bundle/cmp-dictionary/stylua.toml ================================================ column_width = 100 line_endings = "Unix" indent_type = "Spaces" indent_width = 2 quote_style = "AutoPreferDouble" ================================================ FILE: bundle/cmp-neosnippet/LICENSE ================================================ MIT License Copyright (c) 2021 notomo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/cmp-neosnippet/README.md ================================================ # cmp-neosnippet nvim-cmp source for neosnippet. # Setup ```lua require("cmp").setup({ snippet = { expand = function(_) -- unused end, }, sources = {{name = "neosnippet"}}, }) ``` ================================================ FILE: bundle/cmp-neosnippet/after/plugin/cmp_neosnippet.lua ================================================ require("cmp").register_source("neosnippet", require("cmp_neosnippet").Source.new()) ================================================ FILE: bundle/cmp-neosnippet/lua/cmp_neosnippet/init.lua ================================================ local kind = require("cmp").lsp.CompletionItemKind.Snippet local fn = vim.fn local M = {} local Source = {} M.Source = Source function Source.new() return setmetatable({}, { __index = Source }) end function Source:is_available() return vim.g.loaded_neosnippet end function Source:get_debug_name() return "neosnippet" end function Source:complete(_, callback) -- not impl cache for filetype local snippets = fn["neosnippet#helpers#get_completion_snippets"]() local items = vim.tbl_map(function(s) return { label = s.word, kind = kind } end, snippets) callback(items) end return M ================================================ FILE: bundle/cmp-nvim-lsp/LICENSE ================================================ MIT License Copyright (c) 2021 hrsh7th Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/cmp-nvim-lsp/README.md ================================================ # cmp-nvim-lsp nvim-cmp source for neovim builtin LSP client # Setup ```lua require'cmp'.setup { sources = { { name = 'nvim_lsp' } } } -- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers.. local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) -- The following example advertise capabilities to `clangd`. require'lspconfig'.clangd.setup { capabilities = capabilities, } ``` ================================================ FILE: bundle/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua ================================================ require('cmp_nvim_lsp').setup() ================================================ FILE: bundle/cmp-nvim-lsp/lua/cmp_nvim_lsp/init.lua ================================================ local source = require('cmp_nvim_lsp.source') local M = {} ---Registered client and source mapping. M.client_source_map = {} ---Setup cmp-nvim-lsp source. M.setup = function() vim.cmd([[ augroup cmp_nvim_lsp autocmd! autocmd InsertEnter * lua require'cmp_nvim_lsp'._on_insert_enter() augroup END ]]) end local if_nil = function(val, default) if val == nil then return default end return val end M.update_capabilities = function(capabilities, override) override = override or {} local completionItem = capabilities.textDocument.completion.completionItem completionItem.snippetSupport = if_nil(override.snippetSupport, true) completionItem.preselectSupport = if_nil(override.preselectSupport, true) completionItem.insertReplaceSupport = if_nil(override.insertReplaceSupport, true) completionItem.labelDetailsSupport = if_nil(override.labelDetailsSupport, true) completionItem.deprecatedSupport = if_nil(override.deprecatedSupport, true) completionItem.commitCharactersSupport = if_nil(override.commitCharactersSupport, true) completionItem.tagSupport = if_nil(override.tagSupport, { valueSet = { 1 } }) completionItem.resolveSupport = if_nil(override.resolveSupport, { properties = { 'documentation', 'detail', 'additionalTextEdits', } }) return capabilities end ---Refresh sources on InsertEnter. M._on_insert_enter = function() local cmp = require('cmp') local allowed_clients = {} -- register all active clients. for _, client in ipairs(vim.lsp.get_active_clients()) do allowed_clients[client.id] = client if not M.client_source_map[client.id] then local s = source.new(client) if s:is_available() then M.client_source_map[client.id] = cmp.register_source('nvim_lsp', s) end end end -- register all buffer clients (early register before activation) for _, client in ipairs(vim.lsp.buf_get_clients(0)) do allowed_clients[client.id] = client if not M.client_source_map[client.id] then local s = source.new(client) if s:is_available() then M.client_source_map[client.id] = cmp.register_source('nvim_lsp', s) end end end -- unregister stopped/detached clients. for client_id, source_id in pairs(M.client_source_map) do if not allowed_clients[client_id] or allowed_clients[client_id]:is_stopped() then cmp.unregister_source(source_id) M.client_source_map[client_id] = nil end end end return M ================================================ FILE: bundle/cmp-nvim-lsp/lua/cmp_nvim_lsp/source.lua ================================================ local source = {} source.new = function(client) local self = setmetatable({}, { __index = source }) self.client = client self.request_ids = {} return self end source.get_debug_name = function(self) return table.concat({ 'nvim_lsp', self.client.name }, ':') end source.is_available = function(self) -- client is stopped. if self.client.is_stopped() then return false end -- client is not attached to current buffer. if not vim.lsp.buf_get_clients(vim.api.nvim_get_current_buf())[self.client.id] then return false end -- client has no completion capability. if not self:_get(self.client.server_capabilities, { 'completionProvider' }) then return false end return true; end source.get_trigger_characters = function(self) return self:_get(self.client.server_capabilities, { 'completionProvider', 'triggerCharacters' }) or {} end source.complete = function(self, request, callback) local params = vim.lsp.util.make_position_params() params.context = {} params.context.triggerKind = request.completion_context.triggerKind params.context.triggerCharacter = request.completion_context.triggerCharacter self:_request('textDocument/completion', params, function(_, response) callback(response) end) end source.resolve = function(self, completion_item, callback) -- client is stopped. if self.client.is_stopped() then return callback() end -- client has no completion capability. if not self:_get(self.client.server_capabilities, { 'completionProvider', 'resolveProvider' }) then return callback() end self:_request('completionItem/resolve', completion_item, function(_, response) callback(response or completion_item) end) end source.execute = function(self, completion_item, callback) -- client is stopped. if self.client.is_stopped() then return callback() end -- completion_item has no command. if not completion_item.command then return callback() end self:_request('workspace/executeCommand', completion_item.command, function(_, _) callback() end) end source._get = function(_, root, paths) local c = root for _, path in ipairs(paths) do c = c[path] if not c then return nil end end return c end source._request = function(self, method, params, callback) if self.request_ids[method] ~= nil then self.client.cancel_request(self.request_ids[method]) self.request_ids[method] = nil end local _, request_id _, request_id = self.client.request(method, params, function(arg1, arg2, arg3) if self.request_ids[method] ~= request_id then return end self.request_ids[method] = nil -- Text changed, retry if arg1 and arg1.code == -32801 then self:_request(method, params, callback) return end if method == arg2 then callback(arg1, arg3) -- old signature else callback(arg1, arg2) -- new signature end end) self.request_ids[method] = request_id end return source ================================================ FILE: bundle/cmp-path/LICENSE ================================================ MIT License Copyright (c) 2021 hrsh7th Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/cmp-path/README.md ================================================ # cmp-path nvim-cmp source for filesystem paths. # Setup ```lua require'cmp'.setup { sources = { { name = 'path' } } } ``` ## Configuration The below source configuration options are available. To set any of these options, do: ```lua cmp.setup({ sources = { { name = 'path', option = { -- Options go into this table }, }, }, }) ``` ### trailing_slash (type: boolean) _Default:_ `false` Specify if completed directory names should include a trailing slash. Enabling this option makes this source behave like Vim's built-in path completion. ### label_trailing_slash (type: boolean) _Default:_ `true` Specify if directory names in the completion menu should include a trailing slash. ### get_cwd (type: function) _Default:_ returns the current working directory of the current buffer Specifies the base directory for relative paths. ================================================ FILE: bundle/cmp-path/after/plugin/cmp_path.lua ================================================ require('cmp').register_source('path', require('cmp_path').new()) ================================================ FILE: bundle/cmp-path/lua/cmp_path/init.lua ================================================ local cmp = require 'cmp' local NAME_REGEX = '\\%([^/\\\\:\\*?<>\'"`\\|]\\)' local PATH_REGEX = vim.regex(([[\%(\%(/PAT*[^/\\\\:\\*?<>\'"`\\| .~]\)\|\%(/\.\.\)\)*/\zePAT*$]]):gsub('PAT', NAME_REGEX)) local source = {} local constants = { max_lines = 20, } ---@class cmp_path.Option ---@field public trailing_slash boolean ---@field public label_trailing_slash boolean ---@field public get_cwd fun(): string ---@type cmp_path.Option local defaults = { trailing_slash = false, label_trailing_slash = true, get_cwd = function(params) return vim.fn.expand(('#%d:p:h'):format(params.context.bufnr)) end, } source.new = function() return setmetatable({}, { __index = source }) end source.get_trigger_characters = function() return { '/', '.' } end source.get_keyword_pattern = function(self, params) return NAME_REGEX .. '*' end source.complete = function(self, params, callback) local option = self:_validate_option(params) local dirname = self:_dirname(params, option) if not dirname then return callback() end local include_hidden = string.sub(params.context.cursor_before_line, params.offset, params.offset) == '.' self:_candidates(dirname, include_hidden, option, function(err, candidates) if err then return callback() end callback(candidates) end) end source.resolve = function(self, completion_item, callback) local data = completion_item.data if data.stat and data.stat.type == 'file' then local ok, documentation = pcall(function() return self:_get_documentation(data.path, constants.max_lines) end) if ok then completion_item.documentation = documentation end end callback(completion_item) end source._dirname = function(self, params, option) local s = PATH_REGEX:match_str(params.context.cursor_before_line) if not s then return nil end local dirname = string.gsub(string.sub(params.context.cursor_before_line, s + 2), '%a*$', '') -- exclude '/' local prefix = string.sub(params.context.cursor_before_line, 1, s + 1) -- include '/' local buf_dirname = option.get_cwd(params) if vim.api.nvim_get_mode().mode == 'c' then buf_dirname = vim.fn.getcwd() end if prefix:match('%.%./$') then return vim.fn.resolve(buf_dirname .. '/../' .. dirname) end if (prefix:match('%./$') or prefix:match('"$') or prefix:match('\'$')) then return vim.fn.resolve(buf_dirname .. '/' .. dirname) end if prefix:match('~/$') then return vim.fn.resolve(vim.fn.expand('~') .. '/' .. dirname) end local env_var_name = prefix:match('%$([%a_]+)/$') if env_var_name then local env_var_value = vim.fn.getenv(env_var_name) if env_var_value ~= vim.NIL then return vim.fn.resolve(env_var_value .. '/' .. dirname) end end if prefix:match('/$') then local accept = true -- Ignore URL components accept = accept and not prefix:match('%a/$') -- Ignore URL scheme accept = accept and not prefix:match('%a+:/$') and not prefix:match('%a+://$') -- Ignore HTML closing tags accept = accept and not prefix:match('= count then break end end local filetype = vim.filetype.match({ filename = filename }) if not filetype then return { kind = cmp.lsp.MarkupKind.PlainText, value = table.concat(contents, '\n') } end table.insert(contents, 1, '```' .. filetype) table.insert(contents, '```') return { kind = cmp.lsp.MarkupKind.Markdown, value = table.concat(contents, '\n') } end return source ================================================ FILE: bundle/coc.nvim-release/.gitignore ================================================ lib *.map coverage __pycache__ .pyc .log src publish.sh doc/tags doc/tags-cn node_modules src/__tests__/tags typings ================================================ FILE: bundle/coc.nvim-release/LICENSE.md ================================================ Copyright 2018-2018 by Qiming Zhao aaa Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/coc.nvim-release/Readme.md ================================================

Logo

Make your Vim/Neovim as smart as VSCode

Software License Actions Codecov Coverage Status Doc Gitter

--- Gif _Custom popup menu with snippet support_ ## Why? - 🚀 **Fast**: separated NodeJS process that does not slow down Vim most of the time. - 💎 **Reliable**: typed language, tested with CI. - 🌟 **Featured**: all LSP 3.16 features are supported, see `:h coc-lsp`. - ❤️ **Flexible**: [configured like VS Code](https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file), [Coc extensions function similarly to VS Code extensions](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) ## Quick Start Make sure use Vim >= 8.1.1719 or Neovim >= 0.4.0. Install [nodejs](https://nodejs.org/en/download/) >= 14.14: ```bash curl -sL install-node.vercel.app/lts | bash ``` For [vim-plug](https://github.com/junegunn/vim-plug) users: ```vim " Use release branch (recommend) Plug 'neoclide/coc.nvim', {'branch': 'release'} " Or build from source code by using yarn: https://yarnpkg.com Plug 'neoclide/coc.nvim', {'branch': 'master', 'do': 'yarn install --frozen-lockfile'} ``` in your `.vimrc` or `init.vim`, then restart Vim and run `:PlugInstall`. Checkout [Install coc.nvim](https://github.com/neoclide/coc.nvim/wiki/Install-coc.nvim) for more info. You **have to** install coc extension or configure language servers for LSP support. Install extensions like: :CocInstall coc-json coc-tsserver Or configure language server in `coc-settings.json` opened by `:CocConfig`, like: ```json { "languageserver": { "go": { "command": "gopls", "rootPatterns": ["go.mod"], "trace.server": "verbose", "filetypes": ["go"] } } } ``` Checkout the wiki for more details: - [Completion with sources](https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources) - [Using the configuration file](https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file) - [Using coc extensions](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) - [Configure language servers](https://github.com/neoclide/coc.nvim/wiki/Language-servers) - [F.A.Q](https://github.com/neoclide/coc.nvim/wiki/F.A.Q) Checkout `:h coc-nvim` for Vim interface. ## Example Vim configuration Configuration is required to make coc.nvim easier to work with, since it doesn't change your key-mappings or Vim options. This is done as much as possible to avoid conflict with your other plugins. **❗️Important**: Some Vim plugins could change key mappings. Please use command like`:verbose imap ` to make sure that your keymap has taken effect. ```vim " May need for Vim (not Neovim) since coc.nvim calculates byte offset by count " utf-8 byte sequence set encoding=utf-8 " Some servers have issues with backup files, see #649 set nobackup set nowritebackup " Having longer updatetime (default is 4000 ms = 4s) leads to noticeable " delays and poor user experience set updatetime=300 " Always show the signcolumn, otherwise it would shift the text each time " diagnostics appear/become resolved set signcolumn=yes " Use tab for trigger completion with characters ahead and navigate " NOTE: There's always complete item selected by default, you may want to enable " no select by `"suggest.noselect": true` in your configuration file " NOTE: Use command ':verbose imap ' to make sure tab is not mapped by " other plugin before putting this into your config inoremap \ coc#pum#visible() ? coc#pum#next(1) : \ CheckBackspace() ? "\" : \ coc#refresh() inoremap coc#pum#visible() ? coc#pum#prev(1) : "\" " Make to accept selected completion item or notify coc.nvim to format " u breaks current undo, please make your own choice inoremap coc#pum#visible() ? coc#pum#confirm() \: "\u\\=coc#on_enter()\" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction " Use to trigger completion if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif " Use `[g` and `]g` to navigate diagnostics " Use `:CocDiagnostics` to get all diagnostics of current buffer in location list nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) " GoTo code navigation nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) " Use K to show documentation in preview window nnoremap K :call ShowDocumentation() function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction " Highlight the symbol and its references when holding the cursor autocmd CursorHold * silent call CocActionAsync('highlight') " Symbol renaming nmap rn (coc-rename) " Formatting selected code xmap f (coc-format-selected) nmap f (coc-format-selected) augroup mygroup autocmd! " Setup formatexpr specified filetype(s) autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') " Update signature help on jump placeholder autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') augroup end " Applying code actions to the selected code block " Example: `aap` for current paragraph xmap a (coc-codeaction-selected) nmap a (coc-codeaction-selected) " Remap keys for applying code actions at the cursor position nmap ac (coc-codeaction-cursor) " Remap keys for apply code actions affect whole buffer nmap as (coc-codeaction-source) " Apply the most preferred quickfix action to fix diagnostic on the current line nmap qf (coc-fix-current) " Remap keys for applying refactor code actions nmap re (coc-codeaction-refactor) xmap r (coc-codeaction-refactor-selected) nmap r (coc-codeaction-refactor-selected) " Run the Code Lens action on the current line nmap cl (coc-codelens-action) " Map function and class text objects " NOTE: Requires 'textDocument.documentSymbol' support from the language server xmap if (coc-funcobj-i) omap if (coc-funcobj-i) xmap af (coc-funcobj-a) omap af (coc-funcobj-a) xmap ic (coc-classobj-i) omap ic (coc-classobj-i) xmap ac (coc-classobj-a) omap ac (coc-classobj-a) " Remap and to scroll float windows/popups if has('nvim-0.4.0') || has('patch-8.2.0750') nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" endif " Use CTRL-S for selections ranges " Requires 'textDocument/selectionRange' support of language server nmap (coc-range-select) xmap (coc-range-select) " Add `:Format` command to format current buffer command! -nargs=0 Format :call CocActionAsync('format') " Add `:Fold` command to fold current buffer command! -nargs=? Fold :call CocAction('fold', ) " Add `:OR` command for organize imports of the current buffer command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport') " Add (Neo)Vim's native statusline support " NOTE: Please see `:h coc-status` for integrations with external plugins that " provide custom statusline: lightline.vim, vim-airline set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} " Mappings for CoCList " Show all diagnostics nnoremap a :CocList diagnostics " Manage extensions nnoremap e :CocList extensions " Show commands nnoremap c :CocList commands " Find symbol of current document nnoremap o :CocList outline " Search workspace symbols nnoremap s :CocList -I symbols " Do default action for next item nnoremap j :CocNext " Do default action for previous item nnoremap k :CocPrev " Resume latest coc list nnoremap p :CocListResume ``` ## Example Lua configuration NOTE: This only works in Neovim 0.7.0dev+. ```lua -- Some servers have issues with backup files, see #649 vim.opt.backup = false vim.opt.writebackup = false -- Having longer updatetime (default is 4000 ms = 4s) leads to noticeable -- delays and poor user experience vim.opt.updatetime = 300 -- Always show the signcolumn, otherwise it would shift the text each time -- diagnostics appeared/became resolved vim.opt.signcolumn = "yes" local keyset = vim.keymap.set -- Autocomplete function _G.check_back_space() local col = vim.fn.col('.') - 1 return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil end -- Use Tab for trigger completion with characters ahead and navigate -- NOTE: There's always a completion item selected by default, you may want to enable -- no select by setting `"suggest.noselect": true` in your configuration file -- NOTE: Use command ':verbose imap ' to make sure Tab is not mapped by -- other plugins before putting this into your config local opts = {silent = true, noremap = true, expr = true, replace_keycodes = false} keyset("i", "", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "" : coc#refresh()', opts) keyset("i", "", [[coc#pum#visible() ? coc#pum#prev(1) : "\"]], opts) -- Make to accept selected completion item or notify coc.nvim to format -- u breaks current undo, please make your own choice keyset("i", "", [[coc#pum#visible() ? coc#pum#confirm() : "\u\\=coc#on_enter()\"]], opts) -- Use to trigger snippets keyset("i", "", "(coc-snippets-expand-jump)") -- Use to trigger completion keyset("i", "", "coc#refresh()", {silent = true, expr = true}) -- Use `[g` and `]g` to navigate diagnostics -- Use `:CocDiagnostics` to get all diagnostics of current buffer in location list keyset("n", "[g", "(coc-diagnostic-prev)", {silent = true}) keyset("n", "]g", "(coc-diagnostic-next)", {silent = true}) -- GoTo code navigation keyset("n", "gd", "(coc-definition)", {silent = true}) keyset("n", "gy", "(coc-type-definition)", {silent = true}) keyset("n", "gi", "(coc-implementation)", {silent = true}) keyset("n", "gr", "(coc-references)", {silent = true}) -- Use K to show documentation in preview window function _G.show_docs() local cw = vim.fn.expand('') if vim.fn.index({'vim', 'help'}, vim.bo.filetype) >= 0 then vim.api.nvim_command('h ' .. cw) elseif vim.api.nvim_eval('coc#rpc#ready()') then vim.fn.CocActionAsync('doHover') else vim.api.nvim_command('!' .. vim.o.keywordprg .. ' ' .. cw) end end keyset("n", "K", 'lua _G.show_docs()', {silent = true}) -- Highlight the symbol and its references on a CursorHold event(cursor is idle) vim.api.nvim_create_augroup("CocGroup", {}) vim.api.nvim_create_autocmd("CursorHold", { group = "CocGroup", command = "silent call CocActionAsync('highlight')", desc = "Highlight symbol under cursor on CursorHold" }) -- Symbol renaming keyset("n", "rn", "(coc-rename)", {silent = true}) -- Formatting selected code keyset("x", "f", "(coc-format-selected)", {silent = true}) keyset("n", "f", "(coc-format-selected)", {silent = true}) -- Setup formatexpr specified filetype(s) vim.api.nvim_create_autocmd("FileType", { group = "CocGroup", pattern = "typescript,json", command = "setl formatexpr=CocAction('formatSelected')", desc = "Setup formatexpr specified filetype(s)." }) -- Update signature help on jump placeholder vim.api.nvim_create_autocmd("User", { group = "CocGroup", pattern = "CocJumpPlaceholder", command = "call CocActionAsync('showSignatureHelp')", desc = "Update signature help on jump placeholder" }) -- Apply codeAction to the selected region -- Example: `aap` for current paragraph local opts = {silent = true, nowait = true} keyset("x", "a", "(coc-codeaction-selected)", opts) keyset("n", "a", "(coc-codeaction-selected)", opts) -- Remap keys for apply code actions at the cursor position. keyset("n", "ac", "(coc-codeaction-cursor)", opts) -- Remap keys for apply code actions affect whole buffer. keyset("n", "as", "(coc-codeaction-source)", opts) -- Remap keys for applying codeActions to the current buffer keyset("n", "ac", "(coc-codeaction)", opts) -- Apply the most preferred quickfix action on the current line. keyset("n", "qf", "(coc-fix-current)", opts) -- Remap keys for apply refactor code actions. keyset("n", "re", "(coc-codeaction-refactor)", { silent = true }) keyset("x", "r", "(coc-codeaction-refactor-selected)", { silent = true }) keyset("n", "r", "(coc-codeaction-refactor-selected)", { silent = true }) -- Run the Code Lens actions on the current line keyset("n", "cl", "(coc-codelens-action)", opts) -- Map function and class text objects -- NOTE: Requires 'textDocument.documentSymbol' support from the language server keyset("x", "if", "(coc-funcobj-i)", opts) keyset("o", "if", "(coc-funcobj-i)", opts) keyset("x", "af", "(coc-funcobj-a)", opts) keyset("o", "af", "(coc-funcobj-a)", opts) keyset("x", "ic", "(coc-classobj-i)", opts) keyset("o", "ic", "(coc-classobj-i)", opts) keyset("x", "ac", "(coc-classobj-a)", opts) keyset("o", "ac", "(coc-classobj-a)", opts) -- Remap and to scroll float windows/popups ---@diagnostic disable-next-line: redefined-local local opts = {silent = true, nowait = true, expr = true} keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) keyset("i", "", 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) keyset("i", "", 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) -- Use CTRL-S for selections ranges -- Requires 'textDocument/selectionRange' support of language server keyset("n", "", "(coc-range-select)", {silent = true}) keyset("x", "", "(coc-range-select)", {silent = true}) -- Add `:Format` command to format current buffer vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) -- " Add `:Fold` command to fold current buffer vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", {nargs = '?'}) -- Add `:OR` command for organize imports of the current buffer vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {}) -- Add (Neo)Vim's native statusline support -- NOTE: Please see `:h coc-status` for integrations with external plugins that -- provide custom statusline: lightline.vim, vim-airline vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") -- Mappings for CoCList -- code actions and coc stuff ---@diagnostic disable-next-line: redefined-local local opts = {silent = true, nowait = true} -- Show all diagnostics keyset("n", "a", ":CocList diagnostics", opts) -- Manage extensions keyset("n", "e", ":CocList extensions", opts) -- Show commands keyset("n", "c", ":CocList commands", opts) -- Find symbol of current document keyset("n", "o", ":CocList outline", opts) -- Search workspace symbols keyset("n", "s", ":CocList -I symbols", opts) -- Do default action for next item keyset("n", "j", ":CocNext", opts) -- Do default action for previous item keyset("n", "k", ":CocPrev", opts) -- Resume latest coc list keyset("n", "p", ":CocListResume", opts) ``` ## Articles - [coc.nvim 插件体系介绍](https://zhuanlan.zhihu.com/p/65524706) - [CocList 入坑指南](https://zhuanlan.zhihu.com/p/71846145) - [Create coc.nvim extension to improve Vim experience](https://medium.com/@chemzqm/create-coc-nvim-extension-to-improve-vim-experience-4461df269173) - [How to write a coc.nvim extension (and why)](https://samroeca.com/coc-plugin.html) ## Troubleshooting Try these steps if you experience problems with coc.nvim: - Ensure your Vim version >= 8.0 using `:version` - If a service failed to start, use `:CocInfo` or `:checkhealth` if you use Neovim - Checkout the log of coc.nvim with `:CocOpenLog` - If you have issues with the language server, it's recommended to [checkout the language server output](https://github.com/neoclide/coc.nvim/wiki/Debug-language-server#using-output-channel) ## Feedback - Have a question? Start a discussion on [GitHub Discussions](https://github.com/neoclide/coc.nvim/discussions). - File a bug in [GitHub Issues](https://github.com/neoclide/coc.nvim/issues). - Chat with us on [Gitter](https://gitter.im/neoclide/coc.nvim). - 中文用户请到 [中文 gitter](https://gitter.im/neoclide/coc-cn) 讨论 ## Backers [Become a backer](https://opencollective.com/cocnvim#backer) and get your image on our README on GitHub with a link to your site. ## Contributors
Qiming zhao
Qiming zhao

💻
Heyward Fann
Heyward Fann

💻
Raidou
Raidou

💻
kevinhwang91
kevinhwang91

💻
年糕小豆汤
年糕小豆汤

💻
Avi Dessauer
Avi Dessauer

💻
最上川
最上川

💻
Yatao Li
Yatao Li

💻
wongxy
wongxy

💻
Sam McCall
Sam McCall

💻
Samuel Roeca
Samuel Roeca

💻
Amirali Esmaeili
Amirali Esmaeili

💻
Jack Rowlingson
Jack Rowlingson

💻
Jaehwang Jung
Jaehwang Jung

💻
Antoine
Antoine

💻
Cosmin Popescu
Cosmin Popescu

💻
Duc Nghiem Xuan
Duc Nghiem Xuan

💻
Francisco Lopes
Francisco Lopes

💻
daquexian
daquexian

💻
dependabot[bot]
dependabot[bot]

💻
greenkeeper[bot]
greenkeeper[bot]

💻
Chris Kipp
Chris Kipp

💻
Dmytro Meleshko
Dmytro Meleshko

💻
Kirill Bobyrev
Kirill Bobyrev

💻
Gontran Baerts
Gontran Baerts

💻
Andy
Andy

💻
Cheng JIANG
Cheng JIANG

💻
Corin
Corin

💻
Daniel Zhang
Daniel Zhang

💻
Ferdinand Bachmann
Ferdinand Bachmann

💻
Guangqing Chen
Guangqing Chen

💻
Jade Meskill
Jade Meskill

💻
Jasper Poppe
Jasper Poppe

💻
Jean Jordaan
Jean Jordaan

💻
Kid
Kid

💻
Pieter van Loon
Pieter van Loon

💻
Robert Liebowitz
Robert Liebowitz

💻
Seth Messer
Seth Messer

💻
UncleBill
UncleBill

💻
ZERO
ZERO

💻
fsouza
fsouza

💻
XiaoZhang
XiaoZhang

💻
whyreal
whyreal

💻
yehuohan
yehuohan

💻
バクダンくん
バクダンくん

💻
Raphael
Raphael

💻
tbodt
tbodt

💻
Aaron McDaid
Aaron McDaid

💻
Aasif Versi
Aasif Versi

💻
Abner Silva
Abner Silva

💻
Adam Stankiewicz
Adam Stankiewicz

💻
Adamansky Anton
Adamansky Anton

💻
Ahmed El Gabri
Ahmed El Gabri

💻
Alexandr Kondratev
Alexandr Kondratev

💻
Andrew Shim
Andrew Shim

💻
Andy Lindeman
Andy Lindeman

💻
Augustin
Augustin

💻
Bastien Orivel
Bastien Orivel

💻
Ben Lu
Ben Lu

💻
Ben
Ben

💻
Brendan Roy
Brendan Roy

💻
brianembry
brianembry

💻
br
br

💻
Cason Adams
Cason Adams

💻
Chang Y
Chang Y

💻
Chayoung You
Chayoung You

💻
Chen Lijun
Chen Lijun

💻
Chen Mulong
Chen Mulong

💻
Chris Weyl
Chris Weyl

💻
dezza
dezza

💻
Cody Allen
Cody Allen

💻
Damien Rajon
Damien Rajon

💻
Daniel Eriksson
Daniel Eriksson

💻
Daniel Jenson
Daniel Jenson

💻
David Mejorado
David Mejorado

💻
Deric Pang
Deric Pang

💻
Ding Tao
Ding Tao

💻
Doron Behar
Doron Behar

💻
Egor Kovetskiy
Egor Kovetskiy

💻
ElKowar
ElKowar

💻
Emeliov Dmitrii
Emeliov Dmitrii

💻
Fabian Becker
Fabian Becker

💻
FallenWarrior2k
FallenWarrior2k

💻
Fausto Núñez Alberro
Fausto Núñez Alberro

💻
Felipe Ramos
Felipe Ramos

💻
Fredrik Borg
Fredrik Borg

💻
Gavin Sim
Gavin Sim

💻
Gibson Fahnestock
Gibson Fahnestock

💻
Giovanni Giordano
Giovanni Giordano

💻
Gopal Adhikari
Gopal Adhikari

💻
Hanh Le
Hanh Le

💻
hedy
hedy

💻
Hendrik Lammers
Hendrik Lammers

💻
Henry Barreto
Henry Barreto

💻
Hugo
Hugo

💻
Jackie Li
Jackie Li

💻
Jakub Nowak
Jakub Nowak

💻
James Pickard
James Pickard

💻
Jia Sui
Jia Sui

💻
Ellie Hermaszewska
Ellie Hermaszewska

💻
Joel Bradshaw
Joel Bradshaw

💻
John Carlo Roberto
John Carlo Roberto

💻
Jonas Holst Damtoft
Jonas Holst Damtoft

💻
Jonathan Lehman
Jonathan Lehman

💻
Joosep Alviste
Joosep Alviste

💻
Josa Gesell
Josa Gesell

💻
Joshua Rubin
Joshua Rubin

💻
Julian Grinblat
Julian Grinblat

💻
Julian Valentin
Julian Valentin

💻
KabbAmine
KabbAmine

💻
Kay Gosho
Kay Gosho

💻
Kenny Huynh
Kenny Huynh

💻
Kevin Rambaud
Kevin Rambaud

💻
Kian Cross
Kian Cross

💻
Kristijan Husak
Kristijan Husak

💻
NullVoxPopuli
NullVoxPopuli

💻
Lasse Peters
Lasse Peters

💻
Noel Errenil
Noel Errenil

💻
LinArcX
LinArcX

💻
Liu-Cheng Xu
Liu-Cheng Xu

💻
Marc
Marc

💻
Marius Gawrisch
Marius Gawrisch

💻
Mark Hintz
Mark Hintz

💻
Mathieu Le Tiec
Mathieu Le Tiec

💻
Matt White
Matt White

💻
Matthew Evans
Matthew Evans

💻
Me1onRind
Me1onRind

💻
Qyriad
Qyriad

💻
Narcis B.
Narcis B.

💻
Neur1n
Neur1n

💻
Nicolas Dermine
Nicolas Dermine

💻
Noah
Noah

💻
PENG Rui
PENG Rui

💻
Paco
Paco

💻
Peng Guanwen
Peng Guanwen

💻
Petter Wahlman
Petter Wahlman

💻
Pooya Moradi
Pooya Moradi

💻
Quade Morrison
Quade Morrison

💻
Ralf Vogler
Ralf Vogler

💻
Ran Chen
Ran Chen

💻
Ricardo García Vega
Ricardo García Vega

💻
Rick Jones
Rick Jones

💻
Ryan Christian
Ryan Christian

💻
Salo
Salo

💻
Sam Nolan
Sam Nolan

💻
Saurav
Saurav

💻
Sean Mackesey
Sean Mackesey

💻
Sheel Patel
Sheel Patel

💻
Solomon Ng
Solomon Ng

💻
Sri Kadimisetty
Sri Kadimisetty

💻
Stephen Prater
Stephen Prater

💻
Sune Kibsgaard
Sune Kibsgaard

💻
Aquaakuma
Aquaakuma

💻
Takumi Kawase
Takumi Kawase

💻
The Blob SCP
The Blob SCP

💻
Tomasz N
Tomasz N

💻
Tomoyuki Harada
Tomoyuki Harada

💻
Tony Fettes
Tony Fettes

💻
Tony Narlock
Tony Narlock

💻
Tony Wang
Tony Wang

💻
Victor Quach
Victor Quach

💻
Whisperity
Whisperity

💻
William Turner
William Turner

💻
Xiaochao Dong
Xiaochao Dong

💻
Hugh Hou
Hugh Hou

💻
Jackie Li
Jackie Li

💻
Zachary Freed
Zachary Freed

💻
akiyosi
akiyosi

💻
alexjg
alexjg

💻
aste4
aste4

💻
clyfish
clyfish

💻
dev7ba
dev7ba

💻
diartyz
diartyz

💻
doza-daniel
doza-daniel

💻
equal-l2
equal-l2

💻
fong
fong

💻
hexh
hexh

💻
hhiraba
hhiraba

💻
ic-768
ic-768

💻
javiertury
javiertury

💻
karasu
karasu

💻
kevineato
kevineato

💻
Eduardo Costa
Eduardo Costa

💻
micchy326
micchy326

💻
midchildan
midchildan

💻
minefuto
minefuto

💻
miyanokomiya
miyanokomiya

💻
miyaviee
miyaviee

💻
monkoose
monkoose

💻 🐛
mujx
mujx

💻
mvilim
mvilim

💻
naruaway
naruaway

💻
piersy
piersy

💻
ryantig
ryantig

💻
rydesun
rydesun

💻
sc00ter
sc00ter

💻
smhc
smhc

💻
Sam Kaplan
Sam Kaplan

💻
tasuten
tasuten

💻
todesking
todesking

💻
typicode
typicode

💻
李鸣飞
李鸣飞

💻
Ikko Ashimine
Ikko Ashimine

📖
Rammiah
Rammiah

🐛
Alisue
Alisue

🐛
bigshans
bigshans

📖
Robert Boyd III
Robert Boyd III

🐛
Yuki Iwanaga
Yuki Iwanaga

💻
SpringHack
SpringHack

🐛
Lucas Burns
Lucas Burns

📖
qiqiboy
qiqiboy

💻
timsu92
timsu92

📖
Shawn M Moore
Shawn M Moore

💻
Aaron U'Ren
Aaron U'Ren

🐛
SeniorMars
SeniorMars

📖
牧羊犬真Q
牧羊犬真Q

📖
geraldspreer
geraldspreer

📖
Fabio
Fabio

📖
Li Yunting
Li Yunting

🐛
Jeff L.
Jeff L.

💻
Elliot Winkler
Elliot Winkler

💻
This project follows the [all-contributors](https://allcontributors.org) specification. Contributions of any kind are welcome! ## License [Anti 996](./LICENSE.md) ================================================ FILE: bundle/coc.nvim-release/autoload/coc/api.vim ================================================ " ============================================================================ " Description: Client api used by vim8 " Author: Qiming Zhao " Licence: Anti 996 licence " Last Modified: 2022-12-20 " ============================================================================ if has('nvim') finish endif scriptencoding utf-8 let s:funcs = {} let s:prop_offset = get(g:, 'coc_text_prop_offset', 1000) let s:namespace_id = 1 let s:namespace_cache = {} let s:max_src_id = 1000 " bufnr => max textprop id let s:buffer_id = {} " srcId => list of types let s:id_types = {} let s:tab_id = 1 let s:keymap_arguments = ['nowait', 'silent', 'script', 'expr', 'unique'] " helper {{ " Create a window with bufnr for execute win_execute function! s:create_popup(bufnr) abort noa let id = popup_create(1, { \ 'line': 1, \ 'col': &columns, \ 'maxwidth': 1, \ 'maxheight': 1, \ }) call popup_hide(id) return id endfunction function! s:check_bufnr(bufnr) abort if !bufloaded(a:bufnr) throw 'Invalid buffer id: '.a:bufnr endif endfunction " TextChanged not fired when using channel on vim. function! s:on_textchange(bufnr) abort let event = mode() ==# 'i' ? 'TextChangedI' : 'TextChanged' exe 'doautocmd '.event.' '.bufname(a:bufnr) endfunction " execute command for bufnr function! s:buf_execute(bufnr, cmds) abort call s:check_bufnr(a:bufnr) let winid = get(win_findbuf(a:bufnr), 0, -1) let close = 0 if winid == -1 let winid = s:create_popup(a:bufnr) let close = 1 endif for cmd in a:cmds call win_execute(winid, cmd, 'silent') endfor if close noa call popup_close(winid) endif endfunction function! s:check_winid(winid) abort if empty(getwininfo(a:winid)) && empty(popup_getpos(a:winid)) throw 'Invalid window id: '.a:winid endif endfunction function! s:is_popup(winid) abort try return !empty(popup_getpos(a:winid)) catch /^Vim\%((\a\+)\)\=:E993/ return 0 endtry endfunction function! s:tabid_nr(tid) abort for nr in range(1, tabpagenr('$')) if gettabvar(nr, '__tid', v:null) is a:tid return nr endif endfor throw 'Invalid tabpage id: '.a:tid endfunction function! s:tabnr_id(nr) abort let tid = gettabvar(a:nr, '__tid', -1) if tid == -1 let tid = s:tab_id call settabvar(a:nr, '__tid', tid) let s:tab_id = s:tab_id + 1 endif return tid endfunction function! s:generate_id(bufnr) abort let max = get(s:buffer_id, a:bufnr, s:prop_offset) let id = max + 1 let s:buffer_id[a:bufnr] = id return id endfunction function! s:win_execute(winid, cmd, ...) abort let ref = get(a:000, 0, v:null) let cmd = ref is v:null ? a:cmd : 'let ref["out"] = ' . a:cmd call win_execute(a:winid, cmd) endfunction function! s:win_tabnr(winid) abort let ref = {} call win_execute(a:winid, 'let ref["out"] = tabpagenr()') let tabnr = get(ref, 'out', -1) if tabnr == -1 throw 'Invalid window id: '.a:winid endif return tabnr endfunction function! s:buf_line_count(bufnr) abort if bufnr('%') == a:bufnr return line('$') endif if exists('*getbufinfo') let info = getbufinfo(a:bufnr) if empty(info) return 0 endif " vim 8.1 has getbufinfo but no linecount if has_key(info[0], 'linecount') return info[0]['linecount'] endif endif return len(getbufline(a:bufnr, 1, '$')) endfunction function! s:execute(cmd) if a:cmd =~# '^echo' execute a:cmd else silent! execute a:cmd endif endfunction function s:inspect_type(v) abort let types = ['Number', 'String', 'Funcref', 'List', 'Dictionary', 'Float', 'Boolean', 'Null'] return get(types, type(a:v), 'Unknown') endfunction function! s:escape_space(text) abort return substitute(a:text, ' ', '', 'g') endfunction function! s:create_mode_prefix(mode, opts) abort if a:mode ==# '!' return 'map!' endif return get(a:opts, 'noremap', 0) ? a:mode . 'noremap' : a:mode . 'map' endfunction function! s:create_arguments(opts) abort let arguments = '' for key in keys(a:opts) if a:opts[key] && index(s:keymap_arguments, key) != -1 let arguments .= '<'.key.'>' endif endfor return arguments endfunction " }}" " nvim client methods {{ function! s:funcs.set_current_dir(dir) abort execute 'cd '.fnameescape(a:dir) return v:null endfunction function! s:funcs.set_var(name, value) abort execute 'let g:'.a:name.'= a:value' return v:null endfunction function! s:funcs.del_var(name) abort if !has_key(g:, a:name) throw 'Key not found: '.a:name endif execute 'unlet g:'.a:name return v:null endfunction function! s:funcs.set_option(name, value) abort execute 'let &'.a:name.' = a:value' return v:null endfunction function! s:funcs.get_option(name) return eval('&'.a:name) endfunction function! s:funcs.set_current_buf(bufnr) abort call s:check_bufnr(a:bufnr) execute 'buffer '.a:bufnr return v:null endfunction function! s:funcs.set_current_win(winid) abort call s:win_tabnr(a:winid) call win_gotoid(a:winid) return v:null endfunction function! s:funcs.set_current_tabpage(tid) abort let nr = s:tabid_nr(a:tid) execute 'normal! '.nr.'gt' return v:null endfunction function! s:funcs.list_wins() abort return map(getwininfo(), 'v:val["winid"]') endfunction function! s:funcs.call_atomic(calls) let results = [] for i in range(len(a:calls)) let [key, arglist] = a:calls[i] let name = key[5:] try call add(results, call(s:funcs[name], arglist)) catch /.*/ return [results, [i, "VimException(".s:inspect_type(v:exception).")", v:exception . ' on function "'.name.'"']] endtry endfor return [results, v:null] endfunction function! s:funcs.set_client_info(...) abort " not supported return v:null endfunction function! s:funcs.subscribe(...) abort " not supported return v:null endfunction function! s:funcs.unsubscribe(...) abort " not supported return v:null endfunction function! s:funcs.call_function(method, args) abort return call(a:method, a:args) endfunction function! s:funcs.call_dict_function(dict, method, args) abort if type(a:dict) == v:t_string return call(a:method, a:args, eval(a:dict)) endif return call(a:method, a:args, a:dict) endfunction function! s:funcs.command(command) abort " command that could cause cursor vanish if a:command =~# '^echo' || a:command =~# '^redraw' || a:command =~# '^sign place' call timer_start(0, {-> s:execute(a:command)}) else execute a:command let err = get(g:, 'errmsg', '') " get error from python script run. if !empty(err) unlet g:errmsg throw err endif endif endfunction function! s:funcs.eval(expr) abort return eval(a:expr) endfunction function! s:funcs.get_api_info() let names = coc#api#func_names() let channel = coc#rpc#get_channel() if empty(channel) throw 'Unable to get channel' endif return [ch_info(channel)['id'], {'functions': map(names, '{"name": "nvim_".v:val}')}] endfunction function! s:funcs.list_bufs() return map(getbufinfo(), 'v:val["bufnr"]') endfunction function! s:funcs.feedkeys(keys, mode, escape_csi) call feedkeys(a:keys, a:mode) return v:null endfunction function! s:funcs.list_runtime_paths() return globpath(&runtimepath, '', 0, 1) endfunction function! s:funcs.command_output(cmd) return execute(a:cmd) endfunction function! s:funcs.exec(code, output) abort let cmds = split(a:code, '\n') if a:output return substitute(execute(cmds, 'silent!'), '^\n', '', '') endif call execute(cmds) return v:null endfunction " Queues raw user-input, <" is special. To input a literal "<", send . function! s:funcs.input(keys) abort let escaped = substitute(a:keys, '<', '\\<', 'g') call feedkeys(eval('"'.escaped.'"'), 't') return v:null endfunction function! s:funcs.create_buf(listed, scratch) abort let bufnr = bufadd('') call setbufvar(bufnr, '&buflisted', a:listed ? 1 : 0) if a:scratch call setbufvar(bufnr, '&modeline', 0) call setbufvar(bufnr, '&buftype', 'nofile') call setbufvar(bufnr, '&swapfile', 0) endif call bufload(bufnr) return bufnr endfunction function! s:funcs.get_current_line() return getline('.') endfunction function! s:funcs.set_current_line(line) call setline('.', a:line) call s:on_textchange(bufnr('%')) return v:null endfunction function! s:funcs.del_current_line() call deletebufline('%', line('.')) call s:on_textchange(bufnr('%')) return v:null endfunction function! s:funcs.get_var(var) return get(g:, a:var, v:null) endfunction function! s:funcs.get_vvar(var) return get(v:, a:var, v:null) endfunction function! s:funcs.get_current_buf() return bufnr('%') endfunction function! s:funcs.get_current_win() return win_getid() endfunction function! s:funcs.get_current_tabpage() return s:tabnr_id(tabpagenr()) endfunction function! s:funcs.list_tabpages() let ids = [] for nr in range(1, tabpagenr('$')) call add(ids, s:tabnr_id(nr)) endfor return ids endfunction function! s:funcs.get_mode() let m = mode() return {'blocking': m ==# 'r' ? v:true : v:false, 'mode': m} endfunction function! s:funcs.strwidth(str) return strwidth(a:str) endfunction function! s:funcs.out_write(str) echon a:str call timer_start(0, {-> s:execute('redraw')}) endfunction function! s:funcs.err_write(str) "echoerr a:str endfunction function! s:funcs.err_writeln(str) echohl ErrorMsg echom a:str echohl None call timer_start(0, {-> s:execute('redraw')}) endfunction function! s:funcs.create_namespace(name) abort if empty(a:name) let id = s:namespace_id let s:namespace_id = s:namespace_id + 1 return id endif let id = get(s:namespace_cache, a:name, 0) if !id let id = s:namespace_id let s:namespace_id = s:namespace_id + 1 let s:namespace_cache[a:name] = id endif return id endfunction function! s:funcs.set_keymap(mode, lhs, rhs, opts) abort let modekey = s:create_mode_prefix(a:mode, a:opts) let arguments = s:create_arguments(a:opts) let lhs = s:escape_space(a:lhs) let rhs = empty(a:rhs) ? '' : s:escape_space(a:rhs) let cmd = modekey . ' ' . arguments .' '.lhs. ' '.rhs execute cmd return v:null endfunction function! s:funcs.del_keymap(mode, lhs) abort let lhs = substitute(a:lhs, ' ', '', 'g') execute 'silent '.a:mode.'unmap '.lhs return v:null endfunction " }} " buffer methods {{ function! s:funcs.buf_set_option(bufnr, name, val) let val = a:val if val is v:true let val = 1 elseif val is v:false let val = 0 endif call setbufvar(a:bufnr, '&'.a:name, val) return v:null endfunction function! s:funcs.buf_get_option(bufnr, name) call s:check_bufnr(a:bufnr) return getbufvar(a:bufnr, '&'.a:name) endfunction function! s:funcs.buf_get_changedtick(bufnr) return getbufvar(a:bufnr, 'changedtick') endfunction function! s:funcs.buf_is_valid(bufnr) return bufexists(a:bufnr) ? v:true : v:false endfunction function! s:funcs.buf_is_loaded(bufnr) return bufloaded(a:bufnr) ? v:true : v:false endfunction function! s:funcs.buf_get_mark(bufnr, name) if a:bufnr != 0 && a:bufnr != bufnr('%') throw 'buf_get_mark support current buffer only' endif return [line("'" . a:name), col("'" . a:name) - 1] endfunction function! s:funcs.buf_add_highlight(bufnr, srcId, hlGroup, line, colStart, colEnd, ...) abort if a:srcId == 0 let srcId = s:max_src_id + 1 let s:max_src_id = srcId else let srcId = a:srcId endif let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr let type = srcId == -1 ? a:hlGroup : a:hlGroup.'_'.srcId let types = get(s:id_types, srcId, []) if index(types, type) == -1 call add(types, type) let s:id_types[srcId] = types if empty(prop_type_get(type)) call prop_type_add(type, extend({'highlight': a:hlGroup}, get(a:, 1, {}))) endif endif let end = a:colEnd == -1 ? strlen(get(getbufline(bufnr, a:line + 1), 0, '')) + 1 : a:colEnd + 1 if end < a:colStart + 1 return endif let id = s:generate_id(a:bufnr) try call prop_add(a:line + 1, a:colStart + 1, {'bufnr': bufnr, 'type': type, 'id': id, 'end_col': end}) catch /^Vim\%((\a\+)\)\=:E967/ " ignore 967 endtry if a:srcId == 0 " return generated srcId return srcId endif return v:null endfunction function! s:funcs.buf_clear_namespace(bufnr, srcId, startLine, endLine) abort let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr let start = a:startLine + 1 let end = a:endLine == -1 ? len(getbufline(bufnr, 1, '$')) : a:endLine if a:srcId == -1 if has_key(s:buffer_id, a:bufnr) unlet s:buffer_id[a:bufnr] endif call prop_clear(start, end, {'bufnr' : bufnr}) else for type in get(s:id_types, a:srcId, []) try call prop_remove({'bufnr': bufnr, 'all': 1, 'type': type}, start, end) catch /^Vim\%((\a\+)\)\=:E968/ " ignore 968 endtry endfor endif return v:null endfunction function! s:funcs.buf_line_count(bufnr) abort call s:check_bufnr(a:bufnr) return s:buf_line_count(a:bufnr) endfunction function! s:funcs.buf_attach(...) " not supported return 1 endfunction function! s:funcs.buf_detach() " not supported return 1 endfunction function! s:funcs.buf_get_lines(bufnr, start, end, strict) abort call s:check_bufnr(a:bufnr) let len = s:buf_line_count(a:bufnr) let start = a:start < 0 ? len + a:start + 2 : a:start + 1 let end = a:end < 0 ? len + a:end + 1 : a:end if a:strict && end > len throw 'Index out of bounds '. end endif return getbufline(a:bufnr, start, end) endfunction function! s:funcs.buf_set_lines(bufnr, start, end, strict, ...) abort call s:check_bufnr(a:bufnr) let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr let len = s:buf_line_count(bufnr) let startLnum = a:start < 0 ? len + a:start + 2 : a:start + 1 let endLnum = a:end < 0 ? len + a:end + 1 : a:end if endLnum > len if a:strict throw 'Index out of bounds '. end else let endLnum = len endif endif let delCount = endLnum - (startLnum - 1) let view = bufnr == bufnr('%') ? winsaveview() : v:null let replacement = get(a:, 1, []) if delCount == len(replacement) call setbufline(bufnr, startLnum, replacement) else if len(replacement) call appendbufline(bufnr, startLnum - 1, replacement) endif if delCount let start = startLnum + len(replacement) silent call deletebufline(bufnr, start, start + delCount - 1) endif endif if view isnot v:null call winrestview(view) endif call s:on_textchange(a:bufnr) return v:null endfunction function! s:funcs.buf_set_name(bufnr, name) abort call s:check_bufnr(a:bufnr) call s:buf_execute(a:bufnr, [ \ 'noa 0f', \ 'file '.fnameescape(a:name) \ ]) return v:null endfunction function! s:funcs.buf_get_name(bufnr) call s:check_bufnr(a:bufnr) return bufname(a:bufnr) endfunction function! s:funcs.buf_get_var(bufnr, name) call s:check_bufnr(a:bufnr) if !has_key(b:, a:name) throw 'Key not found: '.a:name endif return getbufvar(a:bufnr, a:name) endfunction function! s:funcs.buf_set_var(bufnr, name, val) call s:check_bufnr(a:bufnr) call setbufvar(a:bufnr, a:name, a:val) return v:null endfunction function! s:funcs.buf_del_var(bufnr, name) call s:check_bufnr(a:bufnr) if a:bufnr == bufnr('%') execute 'unlet! b:'.a:name else call s:buf_execute(a:bufnr, ['unlet! b:'.a:name]) endif return v:null endfunction function! s:funcs.buf_set_keymap(bufnr, mode, lhs, rhs, opts) abort let modekey = s:create_mode_prefix(a:mode, a:opts) let arguments = s:create_arguments(a:opts) let lhs = s:escape_space(a:lhs) let rhs = empty(a:rhs) ? '' : s:escape_space(a:rhs) let cmd = modekey . ' ' . arguments .' '.lhs. ' '.rhs if bufnr('%') == a:bufnr || a:bufnr == 0 execute cmd else call s:buf_execute(a:bufnr, [cmd]) endif return v:null endfunction function! s:funcs.buf_del_keymap(bufnr, mode, lhs) abort let lhs = substitute(a:lhs, ' ', '', 'g') let cmd = 'silent '.a:mode.'unmap '.lhs if bufnr('%') == a:bufnr || a:bufnr == 0 execute cmd else call s:buf_execute(a:bufnr, [cmd]) endif return v:null endfunction " }} " window methods {{ function! s:funcs.win_get_buf(winid) call s:check_winid(a:winid) return winbufnr(a:winid) endfunction function! s:funcs.win_set_buf(winid, bufnr) abort call s:check_winid(a:winid) call s:check_bufnr(a:bufnr) call s:win_execute(a:winid, 'buffer '.a:bufnr) return v:null endfunction function! s:funcs.win_get_position(winid) abort let [row, col] = win_screenpos(a:winid) if row == 0 && col == 0 throw 'Invalid window '.a:winid endif return [row - 1, col - 1] endfunction function! s:funcs.win_set_height(winid, height) abort call s:check_winid(a:winid) if s:is_popup(a:winid) call popup_move(a:winid, {'maxheight': a:height, 'minheight': a:height}) else call s:win_execute(a:winid, 'resize '.a:height) endif return v:null endfunction function! s:funcs.win_get_height(winid) abort call s:check_winid(a:winid) if s:is_popup(a:winid) return popup_getpos(a:winid)['height'] endif return winheight(a:winid) endfunction function! s:funcs.win_set_width(winid, width) abort call s:check_winid(a:winid) if s:is_popup(a:winid) call popup_move(a:winid, {'maxwidth': a:width, 'minwidth': a:width}) else call s:win_execute(a:winid, 'vertical resize '.a:width) endif return v:null endfunction function! s:funcs.win_get_width(winid) abort call s:check_winid(a:winid) if s:is_popup(a:winid) return popup_getpos(a:winid)['width'] endif return winwidth(a:winid) endfunction function! s:funcs.win_set_cursor(winid, pos) abort call s:check_winid(a:winid) let [line, col] = a:pos call s:win_execute(a:winid, 'call cursor('.line.','.(col + 1).')') return v:null endfunction function! s:funcs.win_get_cursor(winid) abort call s:check_winid(a:winid) let ref = {} call s:win_execute(a:winid, "[line('.'), col('.')-1]", ref) return get(ref, 'out', [1, 0]) endfunction function! s:funcs.win_set_option(winid, name, value) abort let tabnr = s:win_tabnr(a:winid) let val = a:value if val is v:true let val = 1 elseif val is v:false let val = 0 endif call settabwinvar(tabnr, a:winid, '&'.a:name, val) return v:null endfunction function! s:funcs.win_get_option(winid, name, ...) abort let tabnr = s:win_tabnr(a:winid) let result = gettabwinvar(tabnr, a:winid, '&'.a:name, get(a:, 1, v:null)) if result is v:null throw "Invalid option name: '".a:name."'" endif return result endfunction function! s:funcs.win_get_var(winid, name, ...) abort let tabnr = s:win_tabnr(a:winid) return gettabwinvar(tabnr, a:winid, a:name, get(a:, 1, v:null)) endfunction function! s:funcs.win_set_var(winid, name, value) abort let tabnr = s:win_tabnr(a:winid) call settabwinvar(tabnr, a:winid, a:name, a:value) return v:null endfunction function! s:funcs.win_del_var(winid, name) abort call s:check_winid(a:winid) call win_execute(a:winid, 'unlet! w:'.a:name) return v:null endfunction function! s:funcs.win_is_valid(winid) abort let invalid = empty(getwininfo(a:winid)) && empty(popup_getpos(a:winid)) return invalid ? v:false : v:true endfunction " Not work for popup function! s:funcs.win_get_number(winid) abort if s:is_popup(a:winid) return 0 endif let info = getwininfo(a:winid) if empty(info) throw 'Invalid window id '.a:winid endif return info[0]['winnr'] endfunction function! s:funcs.win_get_tabpage(winid) abort let nr = s:win_tabnr(a:winid) return s:tabnr_id(nr) endfunction function! s:funcs.win_close(winid, ...) abort call s:check_winid(a:winid) let force = get(a:, 1, 0) if s:is_popup(a:winid) call popup_close(a:winid) else call s:win_execute(a:winid, 'close'.(force ? '!' : '')) endif return v:null endfunction " }} " tabpage methods {{ function! s:funcs.tabpage_get_number(tid) return s:tabid_nr(a:tid) endfunction function! s:funcs.tabpage_list_wins(tid) let nr = s:tabid_nr(a:tid) return gettabinfo(nr)[0]['windows'] endfunction function! s:funcs.tabpage_get_var(tid, name) let nr = s:tabid_nr(a:tid) return gettabvar(nr, a:name, v:null) endfunction function! s:funcs.tabpage_set_var(tid, name, value) let nr = s:tabid_nr(a:tid) call settabvar(nr, a:name, a:value) return v:null endfunction function! s:funcs.tabpage_del_var(tid, name) let nr = s:tabid_nr(a:tid) call settabvar(nr, a:name, v:null) return v:null endfunction function! s:funcs.tabpage_is_valid(tid) for nr in range(1, tabpagenr('$')) if gettabvar(nr, '__tid', -1) == a:tid return v:true endif endfor return v:false endfunction function! s:funcs.tabpage_get_win(tid) let nr = s:tabid_nr(a:tid) return win_getid(tabpagewinnr(nr), nr) endfunction " }} function! coc#api#get_types(srcId) abort return get(s:id_types, a:srcId, []) endfunction function! coc#api#get_id_types() abort return s:id_types endfunction function! coc#api#create_type(srcId, hlGroup, opts) abort let type = a:hlGroup.'_'.a:srcId let types = get(s:id_types, a:srcId, []) if index(types, type) == -1 call add(types, type) let s:id_types[a:srcId] = types let combine = get(a:opts, 'hl_mode', 'combine') ==# 'combine' call prop_type_add(type, {'highlight': a:hlGroup, 'combine': combine}) endif return type endfunction function! coc#api#func_names() abort return keys(s:funcs) endfunction function! coc#api#call(method, args) abort let err = v:null let res = v:null try let res = call(s:funcs[a:method], a:args) catch /.*/ let err = v:exception .' on api "'.a:method.'" '.json_encode(a:args) endtry return [err, res] endfunction function! coc#api#exec(method, args) abort return call(s:funcs[a:method], a:args) endfunction function! coc#api#notify(method, args) abort try call call(s:funcs[a:method], a:args) catch /.*/ call coc#rpc#notify('nvim_error_event', [0, v:exception.' on api "'.a:method.'" '.json_encode(a:args)]) endtry endfunction " create id for all tabpages function! coc#api#tabpage_ids() abort for nr in range(1, tabpagenr('$')) if gettabvar(nr, '__tid', -1) == -1 call settabvar(nr, '__tid', s:tab_id) let s:tab_id = s:tab_id + 1 endif endfor endfunction function! coc#api#get_tabid(nr) abort return s:tabnr_id(a:nr) endfunction " vim: set sw=2 ts=2 sts=2 et tw=78 foldmarker={{,}} foldmethod=marker foldlevel=0: ================================================ FILE: bundle/coc.nvim-release/autoload/coc/client.vim ================================================ scriptencoding utf-8 let s:root = expand(':h:h:h') let s:is_vim = !has('nvim') let s:is_win = has("win32") || has("win64") let s:clients = {} if get(g:, 'node_client_debug', 0) echohl WarningMsg | echo '[coc.nvim] Enable g:node_client_debug could impact your vim experience' | echohl None let $NODE_CLIENT_LOG_LEVEL = 'debug' if exists('$NODE_CLIENT_LOG_FILE') let s:logfile = resolve($NODE_CLIENT_LOG_FILE) else let s:logfile = tempname() let $NODE_CLIENT_LOG_FILE = s:logfile endif endif " create a client function! coc#client#create(name, command) let client = {} let client['command'] = a:command let client['name'] = a:name let client['running'] = 0 let client['async_req_id'] = 1 let client['async_callbacks'] = {} " vim only let client['channel'] = v:null " neovim only let client['chan_id'] = 0 let client['start'] = function('s:start', [], client) let client['request'] = function('s:request', [], client) let client['notify'] = function('s:notify', [], client) let client['request_async'] = function('s:request_async', [], client) let client['on_async_response'] = function('s:on_async_response', [], client) let s:clients[a:name] = client return client endfunction function! s:start() dict if self.running | return | endif if !isdirectory(getcwd()) echoerr '[coc.nvim] Current cwd is not a valid directory.' return endif let tmpdir = fnamemodify(tempname(), ':p:h') if s:is_vim if get(g:, 'node_client_debug', 0) let file = tmpdir . '/coc.log' call ch_logfile(file, 'w') echohl MoreMsg | echo '[coc.nvim] channel log to '.file | echohl None endif let options = { \ 'in_mode': 'json', \ 'out_mode': 'json', \ 'err_mode': 'nl', \ 'err_cb': {channel, message -> s:on_stderr(self.name, split(message, "\n"))}, \ 'exit_cb': {channel, code -> s:on_exit(self.name, code)}, \ 'env': { \ 'NODE_NO_WARNINGS': '1', \ 'VIM_NODE_RPC': '1', \ 'TMPDIR': tmpdir, \ } \} if has("patch-8.1.350") let options['noblock'] = 1 endif let job = job_start(self.command, options) let status = job_status(job) if status !=# 'run' let self.running = 0 echohl Error | echom 'Failed to start '.self.name.' service' | echohl None return endif let self['running'] = 1 let self['channel'] = job_getchannel(job) else let original = {} let opts = { \ 'rpc': 1, \ 'on_stderr': {channel, msgs -> s:on_stderr(self.name, msgs)}, \ 'on_exit': {channel, code -> s:on_exit(self.name, code)}, \ } if has('nvim-0.5.0') " could use env option let opts['env'] = { \ 'NODE_NO_WARNINGS': '1', \ 'TMPDIR': tmpdir \ } else let original = { \ 'NODE_NO_WARNINGS': getenv('NODE_NO_WARNINGS'), \ 'TMPDIR': getenv('TMPDIR'), \ } call setenv('NODE_NO_WARNINGS', '1') call setenv('TMPDIR', tmpdir) endif let chan_id = jobstart(self.command, opts) if !empty(original) for key in keys(original) call setenv(key, original[key]) endfor endif if chan_id <= 0 echohl Error | echom 'Failed to start '.self.name.' service' | echohl None return endif let self['chan_id'] = chan_id let self['running'] = 1 endif endfunction function! s:on_stderr(name, msgs) if get(g:, 'coc_vim_leaving', 0) | return | endif let data = filter(copy(a:msgs), '!empty(v:val)') if empty(data) | return | endif let client = a:name ==# 'coc' ? '[coc.nvim]' : '['.a:name.']' let data[0] = client.': '.data[0] if a:name ==# 'coc' && len(filter(copy(data), 'v:val =~# "SyntaxError: "')) call coc#client#check_version() return endif if get(g:, 'coc_disable_uncaught_error', 0) | return | endif call s:on_error(a:name, data) endfunction function! coc#client#check_version() abort if (has_key(g:, 'coc_node_path')) let node = expand(g:coc_node_path) else let node = $COC_NODE_PATH == '' ? 'node' : $COC_NODE_PATH endif let cmd = node . ' --version' let output = system(cmd) let msgs = [] if v:shell_error let msgs = ['Unexpected result from "'.cmd.'"'] + split(output, '\n') else let ms = matchlist(output, 'v\(\d\+\).\(\d\+\).\(\d\+\)') if empty(ms) let msgs = ['Unable to get node version by "'.cmd.'" please install NodeJS from https://nodejs.org/en/download/'] elseif str2nr(ms[1]) < 14 || (str2nr(ms[1]) == 14 && str2nr(ms[2]) < 14) let msgs = ['Current Node.js version '.trim(output).' < 14.14.0 ', 'Please upgrade your .js'] endif endif if !empty(msgs) call s:on_error('coc', msgs) endif endfunction function! s:on_exit(name, code) abort if get(g:, 'coc_vim_leaving', 0) | return | endif let client = get(s:clients, a:name, v:null) if empty(client) | return | endif if client['running'] != 1 | return | endif let client['running'] = 0 let client['chan_id'] = 0 let client['channel'] = v:null let client['async_req_id'] = 1 if a:code != 0 && a:code != 143 echohl Error | echom 'client '.a:name. ' abnormal exit with: '.a:code | echohl None endif endfunction function! coc#client#get_client(name) abort return get(s:clients, a:name, v:null) endfunction function! coc#client#get_channel(client) if s:is_vim return a:client['channel'] endif return a:client['chan_id'] endfunction function! s:request(method, args) dict let channel = coc#client#get_channel(self) if empty(channel) | return '' | endif try if s:is_vim let res = ch_evalexpr(channel, [a:method, a:args], {'timeout': 60 * 1000}) if type(res) == 1 && res ==# '' throw 'request '.a:method. ' '.string(a:args).' timeout after 60s' endif let [l:errmsg, res] = res if !empty(l:errmsg) throw 'Error on "'.a:method.'" request: '.l:errmsg else return res endif else return call('rpcrequest', [channel, a:method] + a:args) endif catch /.*/ if v:exception =~# 'E475' if get(g:, 'coc_vim_leaving', 0) | return | endif echohl Error | echom '['.self.name.'] server connection lost' | echohl None let name = self.name call s:on_exit(name, 0) execute 'silent do User ConnectionLost'.toupper(name[0]).name[1:] elseif v:exception =~# 'E12' " neovim's bug, ignore it else if s:is_vim throw v:exception else throw 'Error on request: '.v:exception endif endif endtry endfunction function! s:notify(method, args) dict let channel = coc#client#get_channel(self) if empty(channel) return '' endif try if s:is_vim call ch_sendraw(channel, json_encode([0, [a:method, a:args]])."\n") else call call('rpcnotify', [channel, a:method] + a:args) endif catch /.*/ if v:exception =~# 'E475' if get(g:, 'coc_vim_leaving', 0) return endif echohl Error | echom '['.self.name.'] server connection lost' | echohl None let name = self.name call s:on_exit(name, 0) execute 'silent do User ConnectionLost'.toupper(name[0]).name[1:] elseif v:exception =~# 'E12' " neovim's bug, ignore it else echohl Error | echo 'Error on notify ('.a:method.'): '.v:exception | echohl None endif endtry endfunction function! s:request_async(method, args, cb) dict let channel = coc#client#get_channel(self) if empty(channel) | return '' | endif if type(a:cb) != 2 echohl Error | echom '['.self['name'].'] Callback should be function' | echohl None return endif let id = self.async_req_id let self.async_req_id = id + 1 let self.async_callbacks[id] = a:cb call self['notify']('nvim_async_request_event', [id, a:method, a:args]) endfunction function! s:on_async_response(id, resp, isErr) dict let Callback = get(self.async_callbacks, a:id, v:null) if empty(Callback) " should not happen echohl Error | echom 'callback not found' | echohl None return endif call remove(self.async_callbacks, a:id) if a:isErr call call(Callback, [a:resp, v:null]) else call call(Callback, [v:null, a:resp]) endif endfunction function! coc#client#is_running(name) abort let client = get(s:clients, a:name, v:null) if empty(client) | return 0 | endif if !client['running'] | return 0 | endif try if s:is_vim let status = job_status(ch_getjob(client['channel'])) return status ==# 'run' else let chan_id = client['chan_id'] let [code] = jobwait([chan_id], 10) return code == -1 endif catch /.*/ return 0 endtry endfunction function! coc#client#stop(name) abort let client = get(s:clients, a:name, v:null) if empty(client) | return 1 | endif let running = coc#client#is_running(a:name) if !running echohl WarningMsg | echom 'client '.a:name. ' not running.' | echohl None return 1 endif if s:is_vim call job_stop(ch_getjob(client['channel']), 'term') else call jobstop(client['chan_id']) endif sleep 200m if coc#client#is_running(a:name) echohl Error | echom 'client '.a:name. ' stop failed.' | echohl None return 0 endif call s:on_exit(a:name, 0) echohl MoreMsg | echom 'client '.a:name.' stopped!' | echohl None return 1 endfunction function! coc#client#kill(name) abort let client = get(s:clients, a:name, v:null) if empty(client) | return 1 | endif let running = coc#client#is_running(a:name) if empty(client) || exists('$COC_NVIM_REMOTE_ADDRESS') return 1 endif if running if s:is_vim call job_stop(ch_getjob(client['channel']), 'kill') else call jobstop(client['chan_id']) endif endif endfunction function! coc#client#request(name, method, args) let client = get(s:clients, a:name, v:null) if !empty(client) return client['request'](a:method, a:args) endif endfunction function! coc#client#notify(name, method, args) let client = get(s:clients, a:name, v:null) if !empty(client) call client['notify'](a:method, a:args) endif endfunction function! coc#client#request_async(name, method, args, cb) let client = get(s:clients, a:name, v:null) if !empty(client) call client['request_async'](a:method, a:args, a:cb) endif endfunction function! coc#client#on_response(name, id, resp, isErr) let client = get(s:clients, a:name, v:null) if !empty(client) call client['on_async_response'](a:id, a:resp, a:isErr) endif endfunction function! coc#client#restart(name) abort let stopped = coc#client#stop(a:name) if !stopped | return | endif let client = get(s:clients, a:name, v:null) if !empty(client) call client['start']() endif endfunction function! coc#client#restart_all() for key in keys(s:clients) call coc#client#restart(key) endfor endfunction function! coc#client#open_log() if !get(g:, 'node_client_debug', 0) echohl Error | echon '[coc.nvim] use let g:node_client_debug = 1 in your vimrc to enable debug mode.' | echohl None return endif execute 'vs '.s:logfile endfunction function! s:on_error(name, msgs) abort echohl ErrorMsg echo join(a:msgs, "\n") echohl None let client = get(s:clients, a:name, v:null) if !empty(client) let errors = get(client, 'stderr', []) call extend(errors, a:msgs) let client['stderr'] = errors endif endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/color.vim ================================================ scriptencoding utf-8 let s:activate = "" let s:quit = "" if has("gui_macvim") && has('gui_running') let s:app = "MacVim" elseif $TERM_PROGRAM ==# "Apple_Terminal" let s:app = "Terminal" elseif $TERM_PROGRAM ==# "iTerm.app" let s:app = "iTerm2" elseif has('mac') let s:app = "System Events" let s:quit = "quit" let s:activate = 'activate' endif let s:patterns = {} let s:patterns['hex'] = '\v#?(\x{2})(\x{2})(\x{2})' let s:patterns['shortHex'] = '\v#(\x{1})(\x{1})(\x{1})' let s:xterm_colors = { \ '0': '#000000', '1': '#800000', '2': '#008000', '3': '#808000', '4': '#000080', \ '5': '#800080', '6': '#008080', '7': '#c0c0c0', '8': '#808080', '9': '#ff0000', \ '10': '#00ff00', '11': '#ffff00', '12': '#0000ff', '13': '#ff00ff', '14': '#00ffff', \ '15': '#ffffff', '16': '#000000', '17': '#00005f', '18': '#000087', '19': '#0000af', \ '20': '#0000df', '21': '#0000ff', '22': '#005f00', '23': '#005f5f', '24': '#005f87', \ '25': '#005faf', '26': '#005fdf', '27': '#005fff', '28': '#008700', '29': '#00875f', \ '30': '#008787', '31': '#0087af', '32': '#0087df', '33': '#0087ff', '34': '#00af00', \ '35': '#00af5f', '36': '#00af87', '37': '#00afaf', '38': '#00afdf', '39': '#00afff', \ '40': '#00df00', '41': '#00df5f', '42': '#00df87', '43': '#00dfaf', '44': '#00dfdf', \ '45': '#00dfff', '46': '#00ff00', '47': '#00ff5f', '48': '#00ff87', '49': '#00ffaf', \ '50': '#00ffdf', '51': '#00ffff', '52': '#5f0000', '53': '#5f005f', '54': '#5f0087', \ '55': '#5f00af', '56': '#5f00df', '57': '#5f00ff', '58': '#5f5f00', '59': '#5f5f5f', \ '60': '#5f5f87', '61': '#5f5faf', '62': '#5f5fdf', '63': '#5f5fff', '64': '#5f8700', \ '65': '#5f875f', '66': '#5f8787', '67': '#5f87af', '68': '#5f87df', '69': '#5f87ff', \ '70': '#5faf00', '71': '#5faf5f', '72': '#5faf87', '73': '#5fafaf', '74': '#5fafdf', \ '75': '#5fafff', '76': '#5fdf00', '77': '#5fdf5f', '78': '#5fdf87', '79': '#5fdfaf', \ '80': '#5fdfdf', '81': '#5fdfff', '82': '#5fff00', '83': '#5fff5f', '84': '#5fff87', \ '85': '#5fffaf', '86': '#5fffdf', '87': '#5fffff', '88': '#870000', '89': '#87005f', \ '90': '#870087', '91': '#8700af', '92': '#8700df', '93': '#8700ff', '94': '#875f00', \ '95': '#875f5f', '96': '#875f87', '97': '#875faf', '98': '#875fdf', '99': '#875fff', \ '100': '#878700', '101': '#87875f', '102': '#878787', '103': '#8787af', '104': '#8787df', \ '105': '#8787ff', '106': '#87af00', '107': '#87af5f', '108': '#87af87', '109': '#87afaf', \ '110': '#87afdf', '111': '#87afff', '112': '#87df00', '113': '#87df5f', '114': '#87df87', \ '115': '#87dfaf', '116': '#87dfdf', '117': '#87dfff', '118': '#87ff00', '119': '#87ff5f', \ '120': '#87ff87', '121': '#87ffaf', '122': '#87ffdf', '123': '#87ffff', '124': '#af0000', \ '125': '#af005f', '126': '#af0087', '127': '#af00af', '128': '#af00df', '129': '#af00ff', \ '130': '#af5f00', '131': '#af5f5f', '132': '#af5f87', '133': '#af5faf', '134': '#af5fdf', \ '135': '#af5fff', '136': '#af8700', '137': '#af875f', '138': '#af8787', '139': '#af87af', \ '140': '#af87df', '141': '#af87ff', '142': '#afaf00', '143': '#afaf5f', '144': '#afaf87', \ '145': '#afafaf', '146': '#afafdf', '147': '#afafff', '148': '#afdf00', '149': '#afdf5f', \ '150': '#afdf87', '151': '#afdfaf', '152': '#afdfdf', '153': '#afdfff', '154': '#afff00', \ '155': '#afff5f', '156': '#afff87', '157': '#afffaf', '158': '#afffdf', '159': '#afffff', \ '160': '#df0000', '161': '#df005f', '162': '#df0087', '163': '#df00af', '164': '#df00df', \ '165': '#df00ff', '166': '#df5f00', '167': '#df5f5f', '168': '#df5f87', '169': '#df5faf', \ '170': '#df5fdf', '171': '#df5fff', '172': '#df8700', '173': '#df875f', '174': '#df8787', \ '175': '#df87af', '176': '#df87df', '177': '#df87ff', '178': '#dfaf00', '179': '#dfaf5f', \ '180': '#dfaf87', '181': '#dfafaf', '182': '#dfafdf', '183': '#dfafff', '184': '#dfdf00', \ '185': '#dfdf5f', '186': '#dfdf87', '187': '#dfdfaf', '188': '#dfdfdf', '189': '#dfdfff', \ '190': '#dfff00', '191': '#dfff5f', '192': '#dfff87', '193': '#dfffaf', '194': '#dfffdf', \ '195': '#dfffff', '196': '#ff0000', '197': '#ff005f', '198': '#ff0087', '199': '#ff00af', \ '200': '#ff00df', '201': '#ff00ff', '202': '#ff5f00', '203': '#ff5f5f', '204': '#ff5f87', \ '205': '#ff5faf', '206': '#ff5fdf', '207': '#ff5fff', '208': '#ff8700', '209': '#ff875f', \ '210': '#ff8787', '211': '#ff87af', '212': '#ff87df', '213': '#ff87ff', '214': '#ffaf00', \ '215': '#ffaf5f', '216': '#ffaf87', '217': '#ffafaf', '218': '#ffafdf', '219': '#ffafff', \ '220': '#ffdf00', '221': '#ffdf5f', '222': '#ffdf87', '223': '#ffdfaf', '224': '#ffdfdf', \ '225': '#ffdfff', '226': '#ffff00', '227': '#ffff5f', '228': '#ffff87', '229': '#ffffaf', \ '230': '#ffffdf', '231': '#ffffff', '232': '#080808', '233': '#121212', '234': '#1c1c1c', \ '235': '#262626', '236': '#303030', '237': '#3a3a3a', '238': '#444444', '239': '#4e4e4e', \ '240': '#585858', '241': '#606060', '242': '#666666', '243': '#767676', '244': '#808080', \ '245': '#8a8a8a', '246': '#949494', '247': '#9e9e9e', '248': '#a8a8a8', '249': '#b2b2b2', \ '250': '#bcbcbc', '251': '#c6c6c6', '252': '#d0d0d0', '253': '#dadada', '254': '#e4e4e4', \ '255': '#eeeeee'} let s:xterm_16colors = { \ 'black': '#000000', \ 'darkblue': '#00008B', \ 'darkgreen': '#00CD00', \ 'darkcyan': '#00CDCD', \ 'darkred': '#CD0000', \ 'darkmagenta': '#8B008B', \ 'brown': '#CDCD00', \ 'darkyellow': '#CDCD00', \ 'lightgrey': '#E5E5E5', \ 'lightgray': '#E5E5E5', \ 'gray': '#E5E5E5', \ 'grey': '#E5E5E5', \ 'darkgrey': '#7F7F7F', \ 'darkgray': '#7F7F7F', \ 'blue': '#5C5CFF', \ 'lightblue': '#5C5CFF', \ 'green': '#00FF00', \ 'lightgreen': '#00FF00', \ 'cyan': '#00FFFF', \ 'lightcyan': '#00FFFF', \ 'red': '#FF0000', \ 'lightred': '#FF0000', \ 'magenta': '#FF00FF', \ 'lightmagenta': '#FF00FF', \ 'yellow': '#FFFF00', \ 'lightyellow': '#FFFF00', \ 'white': '#FFFFFF', \ } let s:w3c_color_names = { \ 'aliceblue': '#F0F8FF', \ 'antiquewhite': '#FAEBD7', \ 'aqua': '#00FFFF', \ 'aquamarine': '#7FFFD4', \ 'azure': '#F0FFFF', \ 'beige': '#F5F5DC', \ 'bisque': '#FFE4C4', \ 'black': '#000000', \ 'blanchedalmond': '#FFEBCD', \ 'blue': '#0000FF', \ 'blueviolet': '#8A2BE2', \ 'brown': '#A52A2A', \ 'burlywood': '#DEB887', \ 'cadetblue': '#5F9EA0', \ 'chartreuse': '#7FFF00', \ 'chocolate': '#D2691E', \ 'coral': '#FF7F50', \ 'cornflowerblue': '#6495ED', \ 'cornsilk': '#FFF8DC', \ 'crimson': '#DC143C', \ 'cyan': '#00FFFF', \ 'darkblue': '#00008B', \ 'darkcyan': '#008B8B', \ 'darkgoldenrod': '#B8860B', \ 'darkgray': '#A9A9A9', \ 'darkgreen': '#006400', \ 'darkkhaki': '#BDB76B', \ 'darkmagenta': '#8B008B', \ 'darkolivegreen': '#556B2F', \ 'darkorange': '#FF8C00', \ 'darkorchid': '#9932CC', \ 'darkred': '#8B0000', \ 'darksalmon': '#E9967A', \ 'darkseagreen': '#8FBC8F', \ 'darkslateblue': '#483D8B', \ 'darkslategray': '#2F4F4F', \ 'darkturquoise': '#00CED1', \ 'darkviolet': '#9400D3', \ 'deeppink': '#FF1493', \ 'deepskyblue': '#00BFFF', \ 'dimgray': '#696969', \ 'dodgerblue': '#1E90FF', \ 'firebrick': '#B22222', \ 'floralwhite': '#FFFAF0', \ 'forestgreen': '#228B22', \ 'fuchsia': '#FF00FF', \ 'gainsboro': '#DCDCDC', \ 'ghostwhite': '#F8F8FF', \ 'gold': '#FFD700', \ 'goldenrod': '#DAA520', \ 'gray': '#808080', \ 'green': '#008000', \ 'greenyellow': '#ADFF2F', \ 'honeydew': '#F0FFF0', \ 'hotpink': '#FF69B4', \ 'indianred': '#CD5C5C', \ 'indigo': '#4B0082', \ 'ivory': '#FFFFF0', \ 'khaki': '#F0E68C', \ 'lavender': '#E6E6FA', \ 'lavenderblush': '#FFF0F5', \ 'lawngreen': '#7CFC00', \ 'lemonchiffon': '#FFFACD', \ 'lightblue': '#ADD8E6', \ 'lightcoral': '#F08080', \ 'lightcyan': '#E0FFFF', \ 'lightgoldenrodyellow': '#FAFAD2', \ 'lightgray': '#D3D3D3', \ 'lightgreen': '#90EE90', \ 'lightpink': '#FFB6C1', \ 'lightsalmon': '#FFA07A', \ 'lightseagreen': '#20B2AA', \ 'lightskyblue': '#87CEFA', \ 'lightslategray': '#778899', \ 'lightsteelblue': '#B0C4DE', \ 'lightyellow': '#FFFFE0', \ 'lime': '#00FF00', \ 'limegreen': '#32CD32', \ 'linen': '#FAF0E6', \ 'magenta': '#FF00FF', \ 'maroon': '#800000', \ 'mediumaquamarine': '#66CDAA', \ 'mediumblue': '#0000CD', \ 'mediumorchid': '#BA55D3', \ 'mediumpurple': '#9370D8', \ 'mediumseagreen': '#3CB371', \ 'mediumslateblue': '#7B68EE', \ 'mediumspringgreen': '#00FA9A', \ 'mediumturquoise': '#48D1CC', \ 'mediumvioletred': '#C71585', \ 'midnightblue': '#191970', \ 'mintcream': '#F5FFFA', \ 'mistyrose': '#FFE4E1', \ 'moccasin': '#FFE4B5', \ 'navajowhite': '#FFDEAD', \ 'navy': '#000080', \ 'oldlace': '#FDF5E6', \ 'olive': '#808000', \ 'olivedrab': '#6B8E23', \ 'orange': '#FFA500', \ 'orangered': '#FF4500', \ 'orchid': '#DA70D6', \ 'palegoldenrod': '#EEE8AA', \ 'palegreen': '#98FB98', \ 'paleturquoise': '#AFEEEE', \ 'palevioletred': '#D87093', \ 'papayawhip': '#FFEFD5', \ 'peachpuff': '#FFDAB9', \ 'peru': '#CD853F', \ 'pink': '#FFC0CB', \ 'plum': '#DDA0DD', \ 'powderblue': '#B0E0E6', \ 'purple': '#800080', \ 'red': '#FF0000', \ 'rosybrown': '#BC8F8F', \ 'royalblue': '#4169E1', \ 'saddlebrown': '#8B4513', \ 'salmon': '#FA8072', \ 'sandybrown': '#F4A460', \ 'seagreen': '#2E8B57', \ 'seashell': '#FFF5EE', \ 'sienna': '#A0522D', \ 'silver': '#C0C0C0', \ 'skyblue': '#87CEEB', \ 'slateblue': '#6A5ACD', \ 'slategray': '#708090', \ 'snow': '#FFFAFA', \ 'springgreen': '#00FF7F', \ 'steelblue': '#4682B4', \ 'tan': '#D2B48C', \ 'teal': '#008080', \ 'thistle': '#D8BFD8', \ 'tomato': '#FF6347', \ 'turquoise': '#40E0D0', \ 'violet': '#EE82EE', \ 'wheat': '#F5DEB3', \ 'white': '#FFFFFF', \ 'whitesmoke': '#F5F5F5', \ 'yellow': '#FFFF00', \ 'yellowgreen': '#9ACD32' \ } " Returns an approximate grey index for the given grey level fun! s:grey_number(x) if &t_Co == 88 if a:x < 23 return 0 elseif a:x < 69 return 1 elseif a:x < 103 return 2 elseif a:x < 127 return 3 elseif a:x < 150 return 4 elseif a:x < 173 return 5 elseif a:x < 196 return 6 elseif a:x < 219 return 7 elseif a:x < 243 return 8 else return 9 endif else if a:x < 14 return 0 else let l:n = (a:x - 8) / 10 let l:m = (a:x - 8) % 10 if l:m < 5 return l:n else return l:n + 1 endif endif endif endfun " Returns the actual grey level represented by the grey index fun! s:grey_level(n) if &t_Co == 88 if a:n == 0 return 0 elseif a:n == 1 return 46 elseif a:n == 2 return 92 elseif a:n == 3 return 115 elseif a:n == 4 return 139 elseif a:n == 5 return 162 elseif a:n == 6 return 185 elseif a:n == 7 return 208 elseif a:n == 8 return 231 else return 255 endif else if a:n == 0 return 0 else return 8 + (a:n * 10) endif endif endfun " Returns the palette index for the given grey index fun! s:grey_colour(n) if &t_Co == 88 if a:n == 0 return 16 elseif a:n == 9 return 79 else return 79 + a:n endif else if a:n == 0 return 16 elseif a:n == 25 return 231 else return 231 + a:n endif endif endfun " Returns an approximate colour index for the given colour level fun! s:rgb_number(x) if &t_Co == 88 if a:x < 69 return 0 elseif a:x < 172 return 1 elseif a:x < 230 return 2 else return 3 endif else if a:x < 75 return 0 else let l:n = (a:x - 55) / 40 let l:m = (a:x - 55) % 40 if l:m < 20 return l:n else return l:n + 1 endif endif endif endfun " Returns the palette index for the given R/G/B colour indices fun! s:rgb_colour(x, y, z) if &t_Co == 88 return 16 + (a:x * 16) + (a:y * 4) + a:z else return 16 + (a:x * 36) + (a:y * 6) + a:z endif endfun " Returns the actual colour level for the given colour index fun! s:rgb_level(n) if &t_Co == 88 if a:n == 0 return 0 elseif a:n == 1 return 139 elseif a:n == 2 return 205 else return 255 endif else if a:n == 0 return 0 else return 55 + (a:n * 40) endif endif endfun " Returns the palette index to approximate the given R/G/B colour levels fun! s:colour(r, g, b) " Get the closest grey let l:gx = s:grey_number(a:r) let l:gy = s:grey_number(a:g) let l:gz = s:grey_number(a:b) " Get the closest colour let l:x = s:rgb_number(a:r) let l:y = s:rgb_number(a:g) let l:z = s:rgb_number(a:b) if l:gx == l:gy && l:gy == l:gz " There are two possibilities let l:dgr = s:grey_level(l:gx) - a:r let l:dgg = s:grey_level(l:gy) - a:g let l:dgb = s:grey_level(l:gz) - a:b let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) let l:dr = s:rgb_level(l:gx) - a:r let l:dg = s:rgb_level(l:gy) - a:g let l:db = s:rgb_level(l:gz) - a:b let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) if l:dgrey < l:drgb " Use the grey return s:grey_colour(l:gx) else " Use the colour return s:rgb_colour(l:x, l:y, l:z) endif else " Only one possibility return s:rgb_colour(l:x, l:y, l:z) endif endfun function! coc#color#term2rgb(term) abort if a:term < 0 || a:term > 255 return '#000000' endif return s:xterm_colors[a:term] endfunction function! coc#color#rgb2term(rgb) let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 return s:colour(l:r, l:g, l:b) endfunction function! coc#color#rgbToHex(...) let [r, g, b] = ( a:0==1 ? a:1 : a:000 ) let num = printf('%02x', float2nr(r)) . '' \ . printf('%02x', float2nr(g)) . '' \ . printf('%02x', float2nr(b)) . '' return '#' . num endfunction function! coc#color#hexToRgb(color) if type(a:color) == 2 let color = printf('%x', a:color) else let color = a:color end let matches = matchlist(color, s:patterns['hex']) let factor = 0x1 if empty(matches) let matches = matchlist(color, s:patterns['shortHex']) let factor = 0x10 end if len(matches) < 4 echohl Error echom 'Couldnt parse ' . string(color) . ' ' . string(matches) echohl None return end let r = str2nr(matches[1], 16) * factor let g = str2nr(matches[2], 16) * factor let b = str2nr(matches[3], 16) * factor return [r, g, b] endfunction function! coc#color#lighten(color, ...) let amount = a:0 ? \(type(a:1) < 2 ? \str2float(a:1) : a:1 ) \: 5 let rgb = coc#color#hexToRgb(a:color) let rgb = map(rgb, 'v:val + amount*(255 - v:val)/255') let rgb = map(rgb, 'v:val > 255.0 ? 255.0 : v:val') let rgb = map(rgb, 'float2nr(v:val)') let hex = coc#color#rgbToHex(rgb) return hex endfunction function! coc#color#darken(color, ...) let amount = a:0 ? \(type(a:1) < 2 ? \str2float(a:1) : a:1 ) \: 5.0 let rgb = coc#color#hexToRgb(a:color) let rgb = map(rgb, 'v:val - amount*v:val/255') let rgb = map(rgb, 'v:val < 0.0 ? 0.0 : v:val') let rgb = map(rgb, 'float2nr(v:val)') let hex = coc#color#rgbToHex(rgb) return hex endfu function! coc#color#luminance(rgb) abort let vals = [] for val in a:rgb let val = (val + 0.0)/255 if val <= 0.03928 call add(vals, val/12.92) else call add(vals, pow((val + 0.055)/1.055, 2.4)) endif endfor return vals[0] * 0.2126 + vals[1] * 0.7152 + vals[2] * 0.0722 endfunction function! coc#color#contrast(rgb1, rgb2) abort let lnum1 = coc#color#luminance(a:rgb1) let lnum2 = coc#color#luminance(a:rgb2) let brightest = lnum1 > lnum2 ? lnum1 : lnum2 let darkest = lnum1 < lnum2 ? lnum1 : lnum2 return (brightest + 0.05) / (darkest + 0.05) endfunction function! coc#color#hex_contrast(hex1, hex2) abort return coc#color#contrast(coc#color#hexToRgb(a:hex1), coc#color#hexToRgb(a:hex2)) endfunction function! coc#color#nameToHex(name, term) abort if a:term return has_key(s:xterm_16colors, a:name) ? s:xterm_16colors[a:name] : v:null endif return has_key(s:w3c_color_names, a:name) ? s:w3c_color_names[a:name] : v:null endfunction " [r, g, b] ['255', '255', '255'] " return ['65535', '65535', '65535'] or return v:false to cancel function! coc#color#pick_color(default_color) if has('mac') let default_color = map(a:default_color, {idx, val -> str2nr(val) * 65535 / 255 }) " This is the AppleScript magic: let ascrpt = ['-e "tell application \"' . s:app . '\""', \ '-e "' . s:activate . '"', \ "-e \"set AppleScript's text item delimiters to {\\\",\\\"}\"", \ '-e "set theColor to (choose color default color {' . default_color[0] . ", " . default_color[1] . ", " . default_color[2] . '}) as text"', \ '-e "' . s:quit . '"', \ '-e "end tell"', \ '-e "return theColor"'] let res = trim(system("osascript " . join(ascrpt, ' ') . " 2>/dev/null")) if empty(res) return v:false else return split(trim(res), ',') endif endif let hex_color = printf('#%02x%02x%02x', a:default_color[0], a:default_color[1], a:default_color[2]) if has('unix') if executable('zenity') let res = trim(system('zenity --title="Select a color" --color-selection --color="' . hex_color . '" 2> /dev/null')) if empty(res) return v:false else " res format is rgb(255,255,255) return map(split(res[4:-2], ','), {idx, val -> string(str2nr(trim(val)) * 65535 / 255)}) endif endif endif let rgb = v:false if !has('python') echohl Error | echom 'python support required, checkout :echo has(''python'')' | echohl None return endif try execute 'py import gtk' catch /.*/ echohl Error | echom 'python gtk module not found' | echohl None return endtry python << endpython import vim import gtk, sys # message strings wnd_title_insert = "Insert a color" csd = gtk.ColorSelectionDialog(wnd_title_insert) cs = csd.colorsel cs.set_current_color(gtk.gdk.color_parse(vim.eval("hex_color"))) cs.set_current_alpha(65535) cs.set_has_opacity_control(False) # cs.set_has_palette(int(vim.eval("s:display_palette"))) if csd.run()==gtk.RESPONSE_OK: c = cs.get_current_color() s = [str(int(c.red)),',',str(int(c.green)),',',str(int(c.blue))] thecolor = ''.join(s) vim.command(":let rgb = split('%s',',')" % thecolor) csd.destroy() endpython return rgb endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/compat.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') " first window id for bufnr " builtin bufwinid returns window of current tab only function! coc#compat#buf_win_id(bufnr) abort let info = filter(getwininfo(), 'v:val["bufnr"] =='.a:bufnr) if empty(info) return -1 endif return info[0]['winid'] endfunction function! coc#compat#buf_set_lines(bufnr, start, end, replacement) abort if s:is_vim call coc#api#exec('buf_set_lines', [a:bufnr, a:start, a:end, 0, a:replacement]) else call nvim_buf_set_lines(a:bufnr, a:start, a:end, 0, a:replacement) endif endfunction function! coc#compat#buf_line_count(bufnr) abort if exists('*nvim_buf_line_count') return nvim_buf_line_count(a:bufnr) endif if bufnr('%') == a:bufnr return line('$') endif if exists('*getbufinfo') let info = getbufinfo(a:bufnr) if empty(info) return 0 endif " vim 8.1 has getbufinfo but no linecount if has_key(info[0], 'linecount') return info[0]['linecount'] endif endif if exists('*getbufline') let lines = getbufline(a:bufnr, 1, '$') return len(lines) endif let curr = bufnr('%') execute 'noa buffer '.a:bufnr let n = line('$') execute 'noa buffer '.curr return n endfunction function! coc#compat#prepend_lines(bufnr, replacement) abort if exists('*appendbufline') call appendbufline(a:bufnr, 0, a:replacement) elseif !s:is_vim call nvim_buf_set_lines(a:bufnr, 0, 0, 0, a:replacement) else throw 'appendbufline() required for prepend lines.' endif endfunction function! coc#compat#win_is_valid(winid) abort if exists('*nvim_win_is_valid') return nvim_win_is_valid(a:winid) endif return !empty(getwininfo(a:winid)) endfunction " clear matches by window id, not throw on none exists window. " may not work on vim < 8.1.1084 & neovim < 0.4.0 function! coc#compat#clear_matches(winid) abort if !coc#compat#win_is_valid(a:winid) return endif let curr = win_getid() if curr == a:winid call clearmatches() return endif if s:is_vim if has('patch-8.1.1084') call clearmatches(a:winid) endif else if exists('*nvim_set_current_win') noa call nvim_set_current_win(a:winid) call clearmatches() noa call nvim_set_current_win(curr) endif endif endfunction function! coc#compat#matchaddpos(group, pos, priority, winid) abort let curr = win_getid() if curr == a:winid call matchaddpos(a:group, a:pos, a:priority, -1) else if s:is_vim if has('patch-8.1.0218') call matchaddpos(a:group, a:pos, a:priority, -1, {'window': a:winid}) endif else call matchaddpos(a:group, a:pos, a:priority, -1, {'window': a:winid}) endif endif endfunction function! coc#compat#buf_del_var(bufnr, name) abort if !bufloaded(a:bufnr) return endif if exists('*nvim_buf_del_var') silent! call nvim_buf_del_var(a:bufnr, a:name) else if a:bufnr == bufnr('%') execute 'unlet! b:'.a:name elseif exists('*win_execute') let winid = coc#compat#buf_win_id(a:bufnr) if winid != -1 call win_execute(winid, 'unlet! b:'.a:name) endif endif endif endfunction " hlGroup, pos, priority function! coc#compat#matchaddgroups(winid, groups) abort for group in a:groups call matchaddpos(group['hlGroup'], [group['pos']], group['priority'], -1, {'window': a:winid}) endfor endfunction function! coc#compat#del_var(name) abort if exists('*nvim_del_var') silent! call nvim_del_var(a:name) else execute 'unlet! '.a:name endif endfunction " remove keymap for specific buffer function! coc#compat#buf_del_keymap(bufnr, mode, lhs) abort if !bufloaded(a:bufnr) return endif if exists('*nvim_buf_del_keymap') try call nvim_buf_del_keymap(a:bufnr, a:mode, a:lhs) catch /^Vim\%((\a\+)\)\=:E5555/ " ignore keymap doesn't exist endtry return endif try call coc#api#exec('buf_del_keymap', [a:bufnr, a:mode, a:lhs]) catch /E31/ " ignore keymap doesn't exist endtry endfunction function! coc#compat#buf_add_keymap(bufnr, mode, lhs, rhs, opts) abort if !bufloaded(a:bufnr) return endif if exists('*nvim_buf_set_keymap') call nvim_buf_set_keymap(a:bufnr, a:mode, a:lhs, a:rhs, a:opts) else call coc#api#exec('buf_set_keymap', [a:bufnr, a:mode, a:lhs, a:rhs, a:opts]) endif endfunction " execute command or list of commands in window function! coc#compat#execute(winid, command, ...) abort if exists('*win_execute') if type(a:command) == v:t_string keepalt call win_execute(a:winid, a:command, get(a:, 1, '')) elseif type(a:command) == v:t_list keepalt call win_execute(a:winid, join(a:command, "\n"), get(a:, 1, '')) endif elseif has('nvim') if !nvim_win_is_valid(a:winid) return endif let curr = nvim_get_current_win() noa keepalt call nvim_set_current_win(a:winid) if type(a:command) == v:t_string exe get(a:, 1, '').' '.a:command elseif type(a:command) == v:t_list for cmd in a:command exe get(a:, 1, '').' '.cmd endfor endif noa keepalt call nvim_set_current_win(curr) else throw 'win_execute does not exist, please upgrade vim.' endif endfunc function! coc#compat#trim(str) if exists('*trim') return trim(a:str) endif " TODO trim from beginning return substitute(a:str, '\s\+$', '', '') endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/cursor.vim ================================================ scriptencoding utf-8 " Position of cursor relative to screen cell function! coc#cursor#screen_pos() abort let nr = winnr() let [row, col] = win_screenpos(nr) return [row + winline() - 2, col + wincol() - 2] endfunction function! coc#cursor#move_by_col(delta) let pos = getcurpos() call cursor(pos[1], pos[2] + a:delta) endfunction " Get cursor position. function! coc#cursor#position() let line = getline('.') return [line('.') - 1, coc#string#character_index(line, col('.') - 1)] endfunction " Move cursor to position. function! coc#cursor#move_to(line, character) abort let content = getline(a:line + 1) call cursor(a:line + 1, coc#string#byte_index(content, a:character) + 1) endfunction " Character offset of current cursor, vim provide bytes offset only. function! coc#cursor#char_offset() abort let offset = 0 let lnum = line('.') for i in range(1, lnum) if i == lnum let offset += strchars(strpart(getline('.'), 0, col('.')-1)) else let offset += strchars(getline(i)) + 1 endif endfor return offset endfunction " Returns latest selection range function! coc#cursor#get_selection(char) abort let m = a:char ? 'char' : visualmode() if empty(m) return v:null endif let [_, sl, sc, soff] = getpos(m ==# 'char' ? "'[" : "'<") let [_, el, ec, eoff] = getpos(m ==# 'char' ? "']" : "'>") let start_idx = coc#string#character_index(getline(sl), sc - 1) if m ==# 'V' return [sl - 1, start_idx, el, 0] endif let line = getline(el) let end_idx = coc#string#character_index(line, ec - 1) if m !=# 'char' let end_idx = end_idx == coc#string#character_length(line) ? end_idx : end_idx + 1 endif return [sl - 1, start_idx, el - 1, end_idx] endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/dialog.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:root = expand(':h:h:h') let s:prompt_win_bufnr = 0 let s:list_win_bufnr = 0 let s:prompt_win_width = get(g:, 'coc_prompt_win_width', 32) let s:frames = ['· ', '·· ', '···', ' ··', ' ·', ' '] let s:sign_group = 'PopUpCocDialog' let s:detail_bufnr = 0 " Float window aside pum function! coc#dialog#create_pum_float(lines, config) abort let winid = coc#float#get_float_by_kind('pumdetail') if empty(a:lines) || !coc#pum#visible() if winid call coc#float#close(winid) endif return endif let pumbounding = coc#pum#info() let border = get(a:config, 'border', []) let pw = pumbounding['width'] + (pumbounding['border'] ? 0 : get(pumbounding, 'scrollbar', 0)) let rp = &columns - pumbounding['col'] - pw let showRight = pumbounding['col'] > rp ? 0 : 1 let maxWidth = showRight ? coc#math#min(rp - 1, a:config['maxWidth']) : coc#math#min(pumbounding['col'] - 1, a:config['maxWidth']) let bh = get(border, 0 ,0) + get(border, 2, 0) let maxHeight = &lines - pumbounding['row'] - &cmdheight - 1 - bh if maxWidth <= 2 || maxHeight < 1 return v:null endif let width = 0 for line in a:lines let dw = max([1, strdisplaywidth(line)]) let width = max([width, dw + 2]) endfor let width = float2nr(coc#math#min(maxWidth, width)) let ch = coc#string#content_height(a:lines, width - 2) let height = float2nr(coc#math#min(maxHeight, ch)) let lines = map(a:lines, {_, s -> s =~# '^─' ? repeat('─', width - 2 + (s:is_vim && ch > height ? -1 : 0)) : s}) let opts = { \ 'lines': lines, \ 'highlights': get(a:config, 'highlights', []), \ 'relative': 'editor', \ 'col': showRight ? pumbounding['col'] + pw : pumbounding['col'] - width, \ 'row': pumbounding['row'], \ 'height': height, \ 'width': width - 2 + (s:is_vim && ch > height ? -1 : 0), \ 'scrollinside': showRight ? 0 : 1, \ 'codes': get(a:config, 'codes', []), \ } for key in ['border', 'highlight', 'borderhighlight', 'winblend', 'focusable', 'shadow', 'rounded'] if has_key(a:config, key) let opts[key] = a:config[key] endif endfor call s:close_auto_hide_wins(winid) let result = coc#float#create_float_win(winid, s:detail_bufnr, opts) if empty(result) return endif let s:detail_bufnr = result[1] call setwinvar(result[0], 'kind', 'pumdetail') if !s:is_vim call coc#float#nvim_scrollbar(result[0]) endif endfunction " Float window below/above cursor function! coc#dialog#create_cursor_float(winid, bufnr, lines, config) abort if coc#prompt#activated() return v:null endif let pumAlignTop = get(a:config, 'pumAlignTop', 0) let modes = get(a:config, 'modes', ['n', 'i', 'ic', 's']) let mode = mode() let currbuf = bufnr('%') let pos = [line('.'), col('.')] if index(modes, mode) == -1 return v:null endif if !s:is_vim && !has('nvim-0.5.0') && mode ==# 'i' " helps to fix undo issue, don't know why. call feedkeys("\u", 'n') endif if mode ==# 's' && has('patch-8.2.4969') && !has('patch-8.2.4996') echohl WarningMsg | echon 'Popup not created to avoid issue #10466 on vim >= 8.2.4969' | echohl None return v:null endif let dimension = coc#dialog#get_config_cursor(a:lines, a:config) if empty(dimension) return v:null endif if coc#pum#visible() && ((pumAlignTop && dimension['row'] <0)|| (!pumAlignTop && dimension['row'] > 0)) return v:null endif let width = dimension['width'] let lines = map(a:lines, {_, s -> s =~# '^─' ? repeat('─', width) : s}) let config = extend(extend({'lines': lines, 'relative': 'cursor'}, a:config), dimension) call s:close_auto_hide_wins(a:winid) let res = coc#float#create_float_win(a:winid, a:bufnr, config) if empty(res) return v:null endif let alignTop = dimension['row'] < 0 let winid = res[0] let bufnr = res[1] redraw if has('nvim') call coc#float#nvim_scrollbar(winid) endif return [currbuf, pos, winid, bufnr, alignTop] endfunction " Use terminal buffer function! coc#dialog#_create_prompt_vim(title, default, opts) abort if !has('patch-8.2.0750') throw 'Input box not supported on vim < 8.2.0750' endif execute 'hi link CocPopupTerminal '.get(a:opts, 'highlight', 'CocFloating') let node = expand(get(g:, 'coc_node_path', 'node')) let placeHolder = get(a:opts, 'placeHolder', '') let opt = { \ 'term_rows': 1, \ 'hidden': 1, \ 'term_finish': 'close', \ 'norestore': 1, \ 'term_highlight': 'CocPopupTerminal' \ } let bufnr = term_start([node, s:root . '/bin/prompt.js', a:default, empty(placeHolder) ? '' : placeHolder], opt) call term_setapi(bufnr, 'Coc') call setbufvar(bufnr, 'current', type(a:default) == v:t_string ? a:default : '') let res = s:create_prompt_win(bufnr, a:title, a:default, a:opts) if empty(res) return endif let winid = res[0] " call win_gotoid(winid) call coc#util#do_autocmd('CocOpenFloatPrompt') let pos = popup_getpos(winid) " width height row col let dimension = [pos['width'], pos['height'], pos['line'] - 1, pos['col'] - 1] return [bufnr, winid, dimension] endfunction " Use normal buffer on neovim function! coc#dialog#_create_prompt_nvim(title, default, opts) abort let result = s:create_prompt_win(s:prompt_win_bufnr, a:title, a:default, a:opts) if empty(result) return endif let winid = result[0] let s:prompt_win_bufnr = result[1] let bufnr = s:prompt_win_bufnr call sign_unplace(s:sign_group, { 'buffer': s:prompt_win_bufnr }) call nvim_set_current_win(winid) inoremap inoremap pumvisible() ? "\" : "\" exe 'imap ' exe 'nnoremap :call coc#float#close('.winid.')' exe 'inoremap "\=coc#dialog#prompt_insert()\\"' if get(a:opts, 'list', 0) for key in ['', '', '', '', '', '', '', '', ''] let escaped = key ==# '' ? '\' : substitute(key, '\(<\|>\)', '\\\1', 'g') exe 'inoremap '.key.' call coc#rpc#notify("PromptKeyPress", ['.bufnr.', "'.escaped.'"])' endfor endif let mode = mode() if mode ==# 'n' call feedkeys('A', 'int') elseif mode ==# 'i' call feedkeys("\", 'int') endif let placeHolder = get(a:opts, 'placeHolder', '') if empty(a:default) && !empty(placeHolder) && has('nvim-0.5.0') let src_id = coc#highlight#create_namespace('input-box') call nvim_buf_set_extmark(bufnr, src_id, 0, 0, { \ 'virt_text': [[placeHolder, 'CocInputBoxVirtualText']], \ 'virt_text_pos': 'overlay', \ }) endif call coc#util#do_autocmd('CocOpenFloatPrompt') if !has('nvim-0.6.0') redraw endif let id = coc#float#get_related(winid, 'border') let pos = nvim_win_get_position(id) let dimension = [nvim_win_get_width(id), nvim_win_get_height(id), pos[0], pos[1]] return [bufnr, winid, dimension] endfunction " Create float window for input function! coc#dialog#create_prompt_win(title, default, opts) abort call s:close_auto_hide_wins() if s:is_vim return coc#dialog#_create_prompt_vim(a:title, a:default, a:opts) endif return coc#dialog#_create_prompt_nvim(a:title, a:default, a:opts) endfunction " Create list window under target window function! coc#dialog#create_list(target, dimension, opts) abort let maxHeight = get(a:opts, 'maxHeight', 30) let height = get(a:opts, 'linecount', 1) let height = min([maxHeight, height, &lines - &cmdheight - 1 - a:dimension['row'] + a:dimension['height']]) let chars = get(a:opts, 'rounded', 1) ? ['╯', '╰'] : ['┘', '└'] let width = a:dimension['width'] - 2 let config = extend(copy(a:opts), { \ 'relative': 'editor', \ 'row': a:dimension['row'] + a:dimension['height'], \ 'col': a:dimension['col'], \ 'width': width, \ 'height': height, \ 'border': [1, 1, 1, 1], \ 'scrollinside': 1, \ 'borderchars': extend(['─', '│', '─', '│', '├', '┤'], chars) \ }) let bufnr = 0 let result = coc#float#create_float_win(0, s:list_win_bufnr, config) if empty(result) return endif let winid = result[0] call coc#float#add_related(winid, a:target) call setwinvar(winid, 'auto_height', get(a:opts, 'autoHeight', 1)) call setwinvar(winid, 'core_width', width) call setwinvar(winid, 'max_height', maxHeight) call setwinvar(winid, 'target_winid', a:target) call setwinvar(winid, 'kind', 'list') call coc#dialog#check_scroll_vim(a:target) return result endfunction " Create menu picker for pick single item function! coc#dialog#create_menu(lines, config) abort call s:close_auto_hide_wins() let highlight = get(a:config, 'highlight', 'CocFloating') let borderhighlight = get(a:config, 'borderhighlight', [highlight]) let relative = get(a:config, 'relative', 'cursor') let lines = a:lines let content = get(a:config, 'content', '') let maxWidth = get(a:config, 'maxWidth', 80) let highlights = get(a:config, 'highlights', []) let contentCount = 0 if !empty(content) let contentLines = coc#string#reflow(split(content, '\r\?\n'), maxWidth) let contentCount = len(contentLines) let lines = extend(contentLines, lines) if !empty(highlights) for item in highlights let item['lnum'] = item['lnum'] + contentCount endfor endif endif let opts = { \ 'lines': lines, \ 'highlight': highlight, \ 'title': get(a:config, 'title', ''), \ 'borderhighlight': borderhighlight, \ 'maxWidth': maxWidth, \ 'maxHeight': get(a:config, 'maxHeight', 80), \ 'rounded': get(a:config, 'rounded', 0), \ 'border': [1, 1, 1, 1], \ 'highlights': highlights, \ 'relative': relative, \ } if relative ==# 'editor' let dimension = coc#dialog#get_config_editor(lines, opts) else let dimension = coc#dialog#get_config_cursor(lines, opts) endif call extend(opts, dimension) let ids = coc#float#create_float_win(0, s:prompt_win_bufnr, opts) if empty(ids) return endif let s:prompt_win_bufnr = ids[1] call coc#dialog#set_cursor(ids[0], ids[1], contentCount + 1) redraw if has('nvim') call coc#float#nvim_scrollbar(ids[0]) endif return [ids[0], ids[1], contentCount] endfunction " Create dialog at center of screen function! coc#dialog#create_dialog(lines, config) abort call s:close_auto_hide_wins() " dialog always have borders let title = get(a:config, 'title', '') let buttons = get(a:config, 'buttons', []) let highlight = get(a:config, 'highlight', 'CocFloating') let borderhighlight = get(a:config, 'borderhighlight', [highlight]) let opts = { \ 'title': title, \ 'rounded': get(a:config, 'rounded', 0), \ 'relative': 'editor', \ 'border': [1,1,1,1], \ 'close': get(a:config, 'close', 1), \ 'highlight': highlight, \ 'highlights': get(a:config, 'highlights', []), \ 'buttons': buttons, \ 'borderhighlight': borderhighlight, \ 'getchar': get(a:config, 'getchar', 0) \ } call extend(opts, coc#dialog#get_config_editor(a:lines, a:config)) let bufnr = coc#float#create_buf(0, a:lines) let res = coc#float#create_float_win(0, bufnr, opts) if empty(res) return endif if get(a:config, 'cursorline', 0) call coc#dialog#place_sign(bufnr, 1) endif if has('nvim') redraw call coc#float#nvim_scrollbar(res[0]) endif return res endfunction function! coc#dialog#prompt_confirm(title, cb) abort call s:close_auto_hide_wins() if s:is_vim && exists('*popup_dialog') try call popup_dialog(a:title. ' (y/n)?', { \ 'highlight': 'Normal', \ 'filter': 'popup_filter_yesno', \ 'callback': {id, res -> a:cb(v:null, res)}, \ 'borderchars': get(g:, 'coc_borderchars', ['─', '│', '─', '│', '╭', '╮', '╯', '╰']), \ 'borderhighlight': ['MoreMsg'] \ }) catch /.*/ call a:cb(v:exception) endtry return endif let text = ' '. a:title . ' (y/n)? ' let maxWidth = coc#math#min(78, &columns - 2) let width = coc#math#min(maxWidth, strdisplaywidth(text)) let maxHeight = &lines - &cmdheight - 1 let height = coc#math#min(maxHeight, float2nr(ceil(str2float(string(strdisplaywidth(text)))/width))) let arr = coc#float#create_float_win(0, s:prompt_win_bufnr, { \ 'col': &columns/2 - width/2 - 1, \ 'row': maxHeight/2 - height/2 - 1, \ 'width': width, \ 'height': height, \ 'border': [1,1,1,1], \ 'focusable': v:false, \ 'relative': 'editor', \ 'highlight': 'Normal', \ 'borderhighlight': 'MoreMsg', \ 'style': 'minimal', \ 'lines': [text], \ }) if empty(arr) call a:cb('Window create failed!') return endif let winid = arr[0] let s:prompt_win_bufnr = arr[1] call sign_unplace(s:sign_group, { 'buffer': s:prompt_win_bufnr }) let res = 0 redraw " same result as vim while 1 let key = nr2char(getchar()) if key == "\" let res = -1 break elseif key == "\" || key == 'n' || key == 'N' let res = 0 break elseif key == 'y' || key == 'Y' let res = 1 break endif endw call coc#float#close(winid) call a:cb(v:null, res) endfunction " works on neovim only function! coc#dialog#get_prompt_win() abort if s:prompt_win_bufnr == 0 return -1 endif return get(win_findbuf(s:prompt_win_bufnr), 0, -1) endfunction function! coc#dialog#get_config_editor(lines, config) abort let title = get(a:config, 'title', '') let maxheight = min([get(a:config, 'maxHeight', 78), &lines - &cmdheight - 6]) let maxwidth = min([get(a:config, 'maxWidth', 78), &columns - 2]) let buttons = get(a:config, 'buttons', []) let minwidth = s:min_btns_width(buttons) if maxheight <= 0 || maxwidth <= 0 || minwidth > maxwidth throw 'Not enough spaces for float window' endif let ch = 0 let width = min([strdisplaywidth(title) + 1, maxwidth]) for line in a:lines let dw = max([1, strdisplaywidth(line)]) if dw < maxwidth && dw > width let width = dw elseif dw >= maxwidth let width = maxwidth endif let ch += float2nr(ceil(str2float(string(dw))/maxwidth)) endfor let width = max([minwidth, width]) let height = coc#math#min(ch ,maxheight) return { \ 'row': &lines/2 - (height + 4)/2, \ 'col': &columns/2 - (width + 2)/2, \ 'width': width, \ 'height': height, \ } endfunction function! coc#dialog#prompt_insert() abort let value = getline('.') call coc#rpc#notify('PromptInsert', [value, bufnr('%')]) return '' endfunction " Dimension of window with lines relative to cursor " Width & height excludes border & padding function! coc#dialog#get_config_cursor(lines, config) abort let preferTop = get(a:config, 'preferTop', 0) let title = get(a:config, 'title', '') let border = get(a:config, 'border', []) if empty(border) && len(title) let border = [1, 1, 1, 1] endif let bh = get(border, 0, 0) + get(border, 2, 0) let vh = &lines - &cmdheight - 1 if vh <= 0 return v:null endif let maxWidth = coc#math#min(get(a:config, 'maxWidth', &columns - 1), &columns - 1) if maxWidth < 3 return v:null endif let maxHeight = coc#math#min(get(a:config, 'maxHeight', vh), vh) let width = coc#math#min(40, strdisplaywidth(title)) + 3 for line in a:lines let dw = max([1, strdisplaywidth(line)]) let width = max([width, dw + 2]) endfor let width = coc#math#min(maxWidth, width) let ch = coc#string#content_height(a:lines, width - 2) let [lineIdx, colIdx] = coc#cursor#screen_pos() " How much we should move left let offsetX = coc#math#min(get(a:config, 'offsetX', 0), colIdx) let showTop = 0 let hb = vh - lineIdx -1 if lineIdx > bh + 2 && (preferTop || (lineIdx > hb && hb < ch + bh)) let showTop = 1 endif let height = coc#math#min(maxHeight, ch + bh, showTop ? lineIdx - 1 : hb) if height <= bh return v:null endif let col = - max([offsetX, colIdx - (&columns - 1 - width)]) let row = showTop ? - height + bh : 1 return { \ 'row': row, \ 'col': col, \ 'width': width - 2, \ 'height': height - bh \ } endfunction function! coc#dialog#change_border_hl(winid, hlgroup) abort if !hlexists(a:hlgroup) return endif if s:is_vim if coc#float#valid(a:winid) call popup_setoptions(a:winid, {'borderhighlight': repeat([a:hlgroup], 4)}) redraw endif else let winid = coc#float#get_related(a:winid, 'border') if winid > 0 call setwinvar(winid, '&winhl', 'Normal:'.a:hlgroup) endif endif endfunction function! coc#dialog#change_title(winid, title) abort if s:is_vim if coc#float#valid(a:winid) call popup_setoptions(a:winid, {'title': a:title}) redraw endif else let winid = coc#float#get_related(a:winid, 'border') if winid > 0 let bufnr = winbufnr(winid) let line = getbufline(bufnr, 1)[0] let top = strcharpart(line, 0, 1) \.repeat('─', strchars(line) - 2) \.strcharpart(line, strchars(line) - 1, 1) if !empty(a:title) let top = coc#string#compose(top, 1, a:title.' ') endif call nvim_buf_set_lines(bufnr, 0, 1, v:false, [top]) endif endif endfunction function! coc#dialog#change_input_value(winid, bufnr, value) abort if !coc#float#valid(a:winid) return endif if win_getid() != a:winid call win_gotoid(a:winid) endif if s:is_vim " call timer_start(3000, { -> term_sendkeys(bufnr, "\\abcd")}) call term_sendkeys(a:bufnr, "\\".a:value) else let mode = mode() if mode ==# 'i' call feedkeys("\", 'int') else call feedkeys("\A", 'int') endif " Use complete to replace text before let saved_completeopt = &completeopt if saved_completeopt =~ 'menuone' noa set completeopt=menu endif noa call complete(1, [{ 'empty': 1, 'word': a:value }]) if has('nvim-0.6.1') call feedkeys("\\", 'in') else let g:coc_disable_space_report = 1 call feedkeys("\\", 'in') endif execute 'noa set completeopt='.saved_completeopt endif endfunction function! coc#dialog#change_loading(winid, loading) abort if coc#float#valid(a:winid) let winid = coc#float#get_related(a:winid, 'loading') if !a:loading && winid > 0 call coc#float#close(winid) endif if a:loading && winid == 0 let bufnr = s:create_loading_buf() if s:is_vim let pos = popup_getpos(a:winid) let winid = popup_create(bufnr, { \ 'line': pos['line'] + 1, \ 'col': pos['col'] + pos['width'] - 4, \ 'maxheight': 1, \ 'maxwidth': 3, \ 'zindex': 999, \ 'highlight': get(popup_getoptions(a:winid), 'highlight', 'CocFloating') \ }) else let pos = nvim_win_get_position(a:winid) let width = nvim_win_get_width(a:winid) let opts = { \ 'relative': 'editor', \ 'row': pos[0], \ 'col': pos[1] + width - 3, \ 'focusable': v:false, \ 'width': 3, \ 'height': 1, \ 'style': 'minimal', \ } if has('nvim-0.5.1') let opts['zindex'] = 900 endif let winid = nvim_open_win(bufnr, v:false, opts) call setwinvar(winid, '&winhl', getwinvar(a:winid, '&winhl')) endif call setwinvar(winid, 'kind', 'loading') call setbufvar(bufnr, 'target_winid', a:winid) call setbufvar(bufnr, 'popup', winid) call coc#float#add_related(winid, a:winid) endif endif endfunction " Update list with new lines and highlights function! coc#dialog#update_list(winid, bufnr, lines, highlights) abort if coc#window#tabnr(a:winid) == tabpagenr() if getwinvar(a:winid, 'auto_height', 0) let row = coc#float#get_row(a:winid) let width = getwinvar(a:winid, 'core_width', 80) let height = s:get_height(a:lines, width) let height = min([getwinvar(a:winid, 'max_height', 10), height, &lines - &cmdheight - 1 - row]) let curr = s:is_vim ? popup_getpos(a:winid)['core_height'] : nvim_win_get_height(a:winid) let delta = height - curr if delta != 0 call coc#float#change_height(a:winid, delta) endif endif call coc#compat#buf_set_lines(a:bufnr, 0, -1, a:lines) call coc#highlight#add_highlights(a:winid, [], a:highlights) if s:is_vim let target = getwinvar(a:winid, 'target_winid', -1) if target != -1 call coc#dialog#check_scroll_vim(target) endif call win_execute(a:winid, 'exe 1') endif endif endfunction " Fix width of prompt window same as list window on scrollbar change function! coc#dialog#check_scroll_vim(winid) abort if s:is_vim && coc#float#valid(a:winid) let winid = coc#float#get_related(a:winid, 'list') if winid redraw let pos = popup_getpos(winid) let width = pos['width'] + (pos['scrollbar'] ? 1 : 0) if width != popup_getpos(a:winid)['width'] call popup_move(a:winid, { \ 'minwidth': width - 2, \ 'maxwidth': width - 2, \ }) endif endif endif endfunction function! coc#dialog#set_cursor(winid, bufnr, line) abort if s:is_vim call coc#compat#execute(a:winid, 'exe '.max([a:line, 1]), 'silent!') call popup_setoptions(a:winid, {'cursorline' : 1}) call popup_setoptions(a:winid, {'cursorline' : 0}) else call nvim_win_set_cursor(a:winid, [max([a:line, 1]), 0]) endif call coc#dialog#place_sign(a:bufnr, a:line) endfunction function! coc#dialog#place_sign(bufnr, line) abort call sign_unplace(s:sign_group, { 'buffer': a:bufnr }) if a:line > 0 call sign_place(6, s:sign_group, 'CocCurrentLine', a:bufnr, {'lnum': a:line}) endif endfunction function! s:create_prompt_win(bufnr, title, default, opts) abort let config = s:get_prompt_dimension(a:title, a:default, a:opts) return coc#float#create_float_win(0, a:bufnr, extend(config, { \ 'style': 'minimal', \ 'border': get(a:opts, 'border', [1,1,1,1]), \ 'rounded': get(a:opts, 'rounded', 1), \ 'prompt': 1, \ 'title': a:title, \ 'lines': s:is_vim ? v:null : [a:default], \ 'highlight': get(a:opts, 'highlight', 'CocFloating'), \ 'borderhighlight': [get(a:opts, 'borderhighlight', 'CocFloating')], \ })) endfunction " Could be center(with optional marginTop) or cursor function! s:get_prompt_dimension(title, default, opts) abort let relative = get(a:opts, 'position', 'cursor') ==# 'cursor' ? 'cursor' : 'editor' let curr = win_screenpos(winnr())[1] + wincol() - 2 let minWidth = get(a:opts, 'minWidth', s:prompt_win_width) let width = min([max([strwidth(a:default) + 2, strwidth(a:title) + 2, minWidth]), &columns - 2]) if get(a:opts, 'maxWidth', 0) let width = min([width, a:opts['maxWidth']]) endif if relative ==# 'cursor' let [lineIdx, colIdx] = coc#cursor#screen_pos() if width == &columns - 2 let col = 0 - curr else let col = curr + width <= &columns - 2 ? 0 : curr + width - &columns + 2 endif let config = { \ 'row': lineIdx == 0 ? 1 : 0, \ 'col': colIdx == 0 ? 0 : col - 1, \ } else let marginTop = get(a:opts, 'marginTop', v:null) if marginTop is v:null let row = (&lines - &cmdheight - 2) / 2 else let row = marginTop < 2 ? 1 : min([marginTop, &columns - &cmdheight]) endif let config = { \ 'col': float2nr((&columns - width) / 2), \ 'row': row - s:is_vim, \ } endif return extend(config, {'relative': relative, 'width': width, 'height': 1}) endfunction function! s:min_btns_width(buttons) abort if empty(a:buttons) return 0 endif let minwidth = len(a:buttons)*3 - 1 for txt in a:buttons let minwidth = minwidth + strdisplaywidth(txt) endfor return minwidth endfunction " Close windows that should auto hide function! s:close_auto_hide_wins(...) abort let winids = coc#float#get_float_win_list() let except = get(a:, 1, 0) for id in winids if except && id == except continue endif if getwinvar(id, 'autohide', 0) call coc#float#close(id) endif endfor endfunction function! s:create_loading_buf() abort let bufnr = coc#float#create_buf(0) call s:change_loading_buf(bufnr, 0) return bufnr endfunction function! s:get_height(lines, width) abort let height = 0 for line in a:lines let height += float2nr(strdisplaywidth(line) / a:width) + 1 endfor return max([1, height]) endfunction function! s:change_loading_buf(bufnr, idx) abort if bufloaded(a:bufnr) let target = getbufvar(a:bufnr, 'target_winid', v:null) if !empty(target) && !coc#float#valid(target) call coc#float#close(getbufvar(a:bufnr, 'popup')) return endif let line = get(s:frames, a:idx, ' ') call setbufline(a:bufnr, 1, line) call coc#highlight#add_highlight(a:bufnr, -1, 'CocNotificationProgress', 0, 0, -1) let idx = a:idx == len(s:frames) - 1 ? 0 : a:idx + 1 call timer_start(100, { -> s:change_loading_buf(a:bufnr, idx)}) endif endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/dict.vim ================================================ scriptencoding utf-8 function! coc#dict#equal(one, two) abort for key in keys(a:one) if a:one[key] != a:two[key] return 0 endif endfor return 1 endfunction " Return new dict with keys removed function! coc#dict#omit(dict, keys) abort let res = {} for key in keys(a:dict) if index(a:keys, key) == -1 let res[key] = a:dict[key] endif endfor return res endfunction " Return new dict with keys only function! coc#dict#pick(dict, keys) abort let res = {} for key in keys(a:dict) if index(a:keys, key) != -1 let res[key] = a:dict[key] endif endfor return res endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/float.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:borderchars = get(g:, 'coc_borderchars', ['─', '│', '─', '│', '┌', '┐', '┘', '└']) let s:rounded_borderchars = s:borderchars[0:3] + ['╭', '╮', '╯', '╰'] let s:borderjoinchars = get(g:, 'coc_border_joinchars', ['┬', '┤', '┴', '├']) let s:popup_list_api = exists('*popup_list') " Popup ids, used when popup_list() doesn't exist let s:popup_list = [] let s:pad_bufnr = -1 " Check visible float/popup exists. function! coc#float#has_float(...) abort return len(coc#float#get_float_win_list(get(a:, 1, 0))) > 0 endfunction function! coc#float#close_all(...) abort let winids = coc#float#get_float_win_list(get(a:, 1, 0)) for id in winids try call coc#float#close(id) catch /E5555:/ " ignore endtry endfor return '' endfunction function! coc#float#jump() abort if has('nvim') let winids = coc#float#get_float_win_list() if !empty(winids) call win_gotoid(winids[0]) endif endif endfunction function! coc#float#valid(winid) abort if a:winid <= 0 return 0 endif if !s:is_vim if !nvim_win_is_valid(a:winid) return 0 endif return !empty(nvim_win_get_config(a:winid)['relative']) endif try return !empty(popup_getpos(a:winid)) catch /^Vim\%((\a\+)\)\=:E993/ " not a popup window return 0 endtry endfunction function! coc#float#get_height(winid) abort if !s:is_vim let borderwin = coc#float#get_related(a:winid, 'border') if borderwin return nvim_win_get_height(borderwin) endif return nvim_win_get_height(a:winid) endif return get(popup_getpos(a:winid), 'height', 0) endfunction function! coc#float#change_height(winid, delta) abort if s:is_vim let curr = get(popup_getpos(a:winid), 'core_height', v:null) if curr isnot v:null call popup_move(a:winid, { \ 'maxheight': max([1, curr + a:delta]), \ 'minheight': max([1, curr + a:delta]), \ }) endif else let winids = copy(coc#window#get_var(a:winid, 'related', [])) call filter(winids, 'index(["border","pad","scrollbar"],coc#window#get_var(v:val,"kind","")) >= 0') call add(winids, a:winid) for winid in winids if coc#window#get_var(winid, 'kind', '') ==# 'border' let bufnr = winbufnr(winid) if a:delta > 0 call appendbufline(bufnr, 1, repeat(getbufline(bufnr, 2), a:delta)) else call deletebufline(bufnr, 2, 2 - a:delta - 1) endif endif let height = nvim_win_get_height(winid) call nvim_win_set_height(winid, max([1, height + a:delta])) endfor endif endfunction " create or config float window, returns [winid, bufnr], config including: " - relative: could be 'editor' 'cursor' " - row: line count relative to editor/cursor, nagetive number means abover cursor. " - col: column count relative to editor/cursor, nagetive number means left of cursor. " - width: content width without border and title. " - height: content height without border and title. " - lines: (optional) lines to insert, default to v:null. " - title: (optional) title. " - border: (optional) border as number list, like [1, 1, 1 ,1]. " - cursorline: (optional) enable cursorline when is 1. " - autohide: (optional) window should be closed on CursorMoved when is 1. " - highlight: (optional) highlight of window, default to 'CocFloating' " - borderhighlight: (optional) should be array or string for border highlights, " highlight all borders with first value. " - close: (optional) show close button when is 1. " - highlights: (optional) highlight items. " - buttons: (optional) array of button text for create buttons at bottom. " - codes: (optional) list of CodeBlock. " - winblend: (optional) winblend option for float window, neovim only. " - shadow: (optional) use shadow as border style, neovim only. " - focusable: (optional) neovim only, default to true. " - scrollinside: (optional) neovim only, create scrollbar inside window. " - rounded: (optional) use rounded borderchars, ignored when borderchars exists. " - zindex: (optional) zindex of window, default 50. " - borderchars: (optional) borderchars, should be length of 8 " - nopad: (optional) not add pad when 1 " - index: (optional) line index function! coc#float#create_float_win(winid, bufnr, config) abort let lines = get(a:config, 'lines', v:null) let bufnr = a:bufnr try let bufnr = coc#float#create_buf(a:bufnr, lines, 'hide') catch /E523:/ " happens when using getchar() #3921 return [] endtry let lnum = max([1, get(a:config, 'index', 0) + 1]) let zindex = get(a:config, 'zindex', 50) " use exists if a:winid && coc#float#valid(a:winid) if s:is_vim let [line, col] = s:popup_position(a:config) let opts = { \ 'firstline': 1, \ 'line': line, \ 'col': col, \ 'minwidth': a:config['width'], \ 'minheight': a:config['height'], \ 'maxwidth': a:config['width'], \ 'maxheight': a:config['height'], \ 'title': get(a:config, 'title', ''), \ 'highlight': get(a:config, 'highlight', 'CocFloating'), \ 'borderhighlight': [s:get_borderhighlight(a:config)], \ } if !s:empty_border(get(a:config, 'border', [])) let opts['border'] = a:config['border'] endif call popup_setoptions(a:winid, opts) call win_execute(a:winid, 'exe '.lnum) call coc#float#vim_buttons(a:winid, a:config) call s:add_highlights(a:winid, a:config, 0) return [a:winid, winbufnr(a:winid)] else let config = s:convert_config_nvim(a:config, 0) let hlgroup = get(a:config, 'highlight', 'CocFloating') let current = getwinvar(a:winid, '&winhl', '') let winhl = coc#util#merge_winhl(current, [['Normal', hlgroup], ['FoldColumn', hlgroup]]) if winhl !=# current call setwinvar(a:winid, '&winhl', winhl) endif call nvim_win_set_buf(a:winid, bufnr) call nvim_win_set_config(a:winid, config) call nvim_win_set_cursor(a:winid, [lnum, 0]) call coc#float#nvim_create_related(a:winid, config, a:config) call s:add_highlights(a:winid, a:config, 0) return [a:winid, bufnr] endif endif let winid = 0 if s:is_vim let [line, col] = s:popup_position(a:config) let title = get(a:config, 'title', '') let buttons = get(a:config, 'buttons', []) let hlgroup = get(a:config, 'highlight', 'CocFloating') let nopad = get(a:config, 'nopad', 0) let border = s:empty_border(get(a:config, 'border', [])) ? [0, 0, 0, 0] : a:config['border'] let opts = { \ 'title': title, \ 'line': line, \ 'col': col, \ 'fixed': 1, \ 'padding': [0, !nopad && !border[1], 0, !nopad && !border[3]], \ 'borderchars': s:get_borderchars(a:config), \ 'highlight': hlgroup, \ 'minwidth': a:config['width'], \ 'minheight': a:config['height'], \ 'maxwidth': a:config['width'], \ 'maxheight': a:config['height'], \ 'close': get(a:config, 'close', 0) ? 'button' : 'none', \ 'border': border, \ 'zindex': zindex, \ 'callback': { -> coc#float#on_close(winid)}, \ 'borderhighlight': [s:get_borderhighlight(a:config)], \ 'scrollbarhighlight': 'CocFloatSbar', \ 'thumbhighlight': 'CocFloatThumb', \ } let winid = popup_create(bufnr, opts) if !s:popup_list_api call add(s:popup_list, winid) endif call s:set_float_defaults(winid, a:config) call win_execute(winid, 'exe '.lnum) call coc#float#vim_buttons(winid, a:config) else let config = s:convert_config_nvim(a:config, 1) noa let winid = nvim_open_win(bufnr, 0, config) if winid is 0 return [] endif " cursorline highlight not work on old neovim call s:set_float_defaults(winid, a:config) call nvim_win_set_cursor(winid, [lnum, 0]) call coc#float#nvim_create_related(winid, config, a:config) call coc#float#nvim_set_winblend(winid, get(a:config, 'winblend', v:null)) endif call s:add_highlights(winid, a:config, 1) let g:coc_last_float_win = winid call coc#util#do_autocmd('CocOpenFloat') return [winid, bufnr] endfunction function! coc#float#nvim_create_related(winid, config, opts) abort let related = getwinvar(a:winid, 'related', []) let exists = !empty(related) let border = get(a:opts, 'border', []) let borderhighlight = s:get_borderhighlight(a:opts) let buttons = get(a:opts, 'buttons', []) let pad = !get(a:opts, 'nopad', 0) && (empty(border) || get(border, 1, 0) == 0) let shadow = get(a:opts, 'shadow', 0) if get(a:opts, 'close', 0) call coc#float#nvim_close_btn(a:config, a:winid, border, borderhighlight, related) elseif exists call coc#float#close_related(a:winid, 'close') endif if !empty(buttons) call coc#float#nvim_buttons(a:config, a:winid, buttons, get(a:opts, 'getchar', 0), get(border, 2, 0), pad, borderhighlight, shadow, related) elseif exists call coc#float#close_related(a:winid, 'buttons') endif if !s:empty_border(border) let borderchars = s:get_borderchars(a:opts) call coc#float#nvim_border_win(a:config, borderchars, a:winid, border, get(a:opts, 'title', ''), !empty(buttons), borderhighlight, shadow, related) elseif exists call coc#float#close_related(a:winid, 'border') endif " Check right border if pad call coc#float#nvim_right_pad(a:config, a:winid, shadow, related) elseif exists call coc#float#close_related(a:winid, 'pad') endif call setwinvar(a:winid, 'related', filter(related, 'nvim_win_is_valid(v:val)')) endfunction " border window for neovim, content config with border function! coc#float#nvim_border_win(config, borderchars, winid, border, title, hasbtn, hlgroup, shadow, related) abort let winid = coc#float#get_related(a:winid, 'border') let row = a:border[0] ? a:config['row'] - 1 : a:config['row'] let col = a:border[3] ? a:config['col'] - 1 : a:config['col'] let width = a:config['width'] + a:border[1] + a:border[3] let height = a:config['height'] + a:border[0] + a:border[2] + (a:hasbtn ? 2 : 0) let lines = coc#float#create_border_lines(a:border, a:borderchars, a:title, a:config['width'], a:config['height'], a:hasbtn) let bufnr = winid ? winbufnr(winid) : 0 let bufnr = coc#float#create_buf(bufnr, lines) let opt = { \ 'relative': a:config['relative'], \ 'width': width, \ 'height': height, \ 'row': row, \ 'col': col, \ 'focusable': v:false, \ 'style': 'minimal', \ } if has_key(a:config, 'zindex') let opt['zindex'] = a:config['zindex'] endif if has('nvim-0.5.0') && a:shadow && !a:hasbtn && a:border[2] let opt['border'] = 'shadow' endif if winid call nvim_win_set_config(winid, opt) call setwinvar(winid, '&winhl', 'Normal:'.a:hlgroup) else noa let winid = nvim_open_win(bufnr, 0, opt) call setwinvar(winid, 'delta', -1) let winhl = 'Normal:'.a:hlgroup call s:nvim_add_related(winid, a:winid, 'border', winhl, a:related) endif endfunction " neovim only function! coc#float#nvim_close_btn(config, winid, border, hlgroup, related) abort let winid = coc#float#get_related(a:winid, 'close') let config = { \ 'relative': a:config['relative'], \ 'width': 1, \ 'height': 1, \ 'row': get(a:border, 0, 0) ? a:config['row'] - 1 : a:config['row'], \ 'col': a:config['col'] + a:config['width'], \ 'focusable': v:true, \ 'style': 'minimal', \ } if has_key(a:config, 'zindex') let config['zindex'] = a:config['zindex'] + 2 endif if winid call nvim_win_set_config(winid, coc#dict#pick(config, ['relative', 'row', 'col'])) else let bufnr = coc#float#create_buf(0, ['X']) noa let winid = nvim_open_win(bufnr, 0, config) let winhl = 'Normal:'.a:hlgroup call setwinvar(winid, 'delta', -1) call s:nvim_add_related(winid, a:winid, 'close', winhl, a:related) endif endfunction " Create padding window by config of current window & border config function! coc#float#nvim_right_pad(config, winid, shadow, related) abort let winid = coc#float#get_related(a:winid, 'pad') let config = { \ 'relative': a:config['relative'], \ 'width': 1, \ 'height': a:config['height'], \ 'row': a:config['row'], \ 'col': a:config['col'] + a:config['width'], \ 'focusable': v:false, \ 'style': 'minimal', \ } if has_key(a:config, 'zindex') let config['zindex'] = a:config['zindex'] + 1 endif if has('nvim-0.5.0') && a:shadow let config['border'] = 'shadow' endif if winid && nvim_win_is_valid(winid) if has('nvim-0.5.0') call nvim_win_set_config(winid, coc#dict#pick(config, ['relative', 'row', 'col'])) call nvim_win_set_height(winid, config['height']) return endif noa call nvim_win_close(winid, 1) endif let s:pad_bufnr = bufloaded(s:pad_bufnr) ? s:pad_bufnr : coc#float#create_buf(0, repeat([''], &lines), 'hide') noa let winid = nvim_open_win(s:pad_bufnr, 0, config) call s:nvim_add_related(winid, a:winid, 'pad', '', a:related) endfunction " draw buttons window for window with config function! coc#float#nvim_buttons(config, winid, buttons, getchar, borderbottom, pad, borderhighlight, shadow, related) abort let winid = coc#float#get_related(a:winid, 'buttons') let width = a:config['width'] + (a:pad ? 1 : 0) let config = { \ 'row': a:config['row'] + a:config['height'], \ 'col': a:config['col'], \ 'width': width, \ 'height': 2 + (a:borderbottom ? 1 : 0), \ 'relative': a:config['relative'], \ 'focusable': 1, \ 'style': 'minimal', \ } if has('nvim-0.5.1') let config['zindex'] = 300 if a:shadow let config['border'] = 'shadow' endif endif if winid let bufnr = winbufnr(winid) call s:create_btns_buffer(bufnr, width, a:buttons, a:borderbottom) call nvim_win_set_config(winid, config) else let bufnr = s:create_btns_buffer(0, width, a:buttons, a:borderbottom) noa let winid = nvim_open_win(bufnr, 0, config) if winid call s:nvim_add_related(winid, a:winid, 'buttons', '', a:related) call s:nvim_create_keymap(winid) endif endif if bufnr call nvim_buf_clear_namespace(bufnr, -1, 0, -1) call nvim_buf_add_highlight(bufnr, 1, a:borderhighlight, 0, 0, -1) if a:borderbottom call nvim_buf_add_highlight(bufnr, 1, a:borderhighlight, 2, 0, -1) endif let vcols = getbufvar(bufnr, 'vcols', []) " TODO need change vol to col for col in vcols call nvim_buf_add_highlight(bufnr, 1, a:borderhighlight, 1, col, col + 3) endfor if a:getchar let keys = s:gen_filter_keys(getbufline(bufnr, 2)[0]) call matchaddpos('MoreMsg', map(keys[0], "[2,v:val]"), 99, -1, {'window': winid}) call timer_start(10, {-> coc#float#getchar(winid, keys[1])}) endif endif endfunction function! coc#float#getchar(winid, keys) abort let ch = coc#prompt#getc() let target = getwinvar(a:winid, 'target_winid', 0) if ch ==# "\" call coc#float#close(target) return endif if ch ==# "\" if getwinvar(v:mouse_winid, 'kind', '') ==# 'close' call coc#float#close(target) return endif if v:mouse_winid == a:winid && v:mouse_lnum == 2 let vcols = getbufvar(winbufnr(a:winid), 'vcols', []) let col = v:mouse_col - 1 if index(vcols, col) < 0 let filtered = filter(vcols, 'v:val < col') call coc#rpc#notify('FloatBtnClick', [winbufnr(target), len(filtered)]) call coc#float#close(target) return endif endif else let idx = index(a:keys, ch) if idx >= 0 call coc#rpc#notify('FloatBtnClick', [winbufnr(target), idx]) call coc#float#close(target) return endif endif call coc#float#getchar(a:winid, a:keys) endfunction " Create or refresh scrollbar for winid " Need called on create, config, buffer change, scrolled function! coc#float#nvim_scrollbar(winid) abort if s:is_vim return endif let winids = nvim_tabpage_list_wins(nvim_get_current_tabpage()) if index(winids, a:winid) == -1 return endif let config = nvim_win_get_config(a:winid) let [row, column] = nvim_win_get_position(a:winid) let relative = 'editor' if row == 0 && column == 0 " fix bad value when ext_multigrid is enabled. https://github.com/neovim/neovim/issues/11935 let [row, column] = [config.row, config.col] let relative = config.relative endif let width = nvim_win_get_width(a:winid) let height = nvim_win_get_height(a:winid) let bufnr = winbufnr(a:winid) let cw = getwinvar(a:winid, '&foldcolumn', 0) ? width - 1 : width let ch = coc#float#content_height(bufnr, cw, getwinvar(a:winid, '&wrap')) let closewin = coc#float#get_related(a:winid, 'close') let border = getwinvar(a:winid, 'border', []) let scrollinside = getwinvar(a:winid, 'scrollinside', 0) && get(border, 1, 0) let winblend = getwinvar(a:winid, '&winblend', 0) let move_down = closewin && !get(border, 0, 0) let id = coc#float#get_related(a:winid, 'scrollbar') if ch <= height || height <= 1 " no scrollbar, remove exists if id call s:close_win(id, 1) endif return endif if move_down let height = height - 1 endif call coc#float#close_related(a:winid, 'pad') let sbuf = id ? winbufnr(id) : 0 let sbuf = coc#float#create_buf(sbuf, repeat([' '], height)) let opts = { \ 'row': move_down ? row + 1 : row, \ 'col': column + width - scrollinside, \ 'relative': relative, \ 'width': 1, \ 'height': height, \ 'focusable': v:false, \ 'style': 'minimal', \ } if has_key(config, 'zindex') let opts['zindex'] = config['zindex'] + 2 endif if has('nvim-0.5.0') && s:has_shadow(config) let opts['border'] = 'shadow' endif if id call nvim_win_set_config(id, opts) else noa let id = nvim_open_win(sbuf, 0 , opts) if id == 0 return endif if winblend call setwinvar(id, '&winblend', winblend) endif call setwinvar(id, 'kind', 'scrollbar') call setwinvar(id, 'target_winid', a:winid) call coc#float#add_related(id, a:winid) endif if !scrollinside call coc#float#nvim_scroll_adjust(a:winid) endif let thumb_height = max([1, float2nr(floor(height * (height + 0.0)/ch))]) let wininfo = getwininfo(a:winid)[0] let start = 0 if wininfo['topline'] != 1 " needed for correct getwininfo let firstline = wininfo['topline'] let lastline = s:nvim_get_botline(firstline, height, cw, bufnr) let linecount = nvim_buf_line_count(winbufnr(a:winid)) if lastline >= linecount let start = height - thumb_height else let start = max([1, float2nr(round((height - thumb_height + 0.0)*(firstline - 1.0)/(ch - height)))]) endif endif " add highlights call nvim_buf_clear_namespace(sbuf, -1, 0, -1) for idx in range(0, height - 1) if idx >= start && idx < start + thumb_height call nvim_buf_add_highlight(sbuf, -1, 'CocFloatThumb', idx, 0, 1) else call nvim_buf_add_highlight(sbuf, -1, 'CocFloatSbar', idx, 0, 1) endif endfor endfunction function! coc#float#create_border_lines(border, borderchars, title, width, height, hasbtn) abort let borderchars = a:borderchars let list = [] if a:border[0] let top = (a:border[3] ? borderchars[4]: '') \.repeat(borderchars[0], a:width) \.(a:border[1] ? borderchars[5] : '') if !empty(a:title) let top = coc#string#compose(top, 1, a:title.' ') endif call add(list, top) endif let mid = (a:border[3] ? borderchars[3]: '') \.repeat(' ', a:width) \.(a:border[1] ? borderchars[1] : '') call extend(list, repeat([mid], a:height + (a:hasbtn ? 2 : 0))) if a:hasbtn let list[len(list) - 2] = (a:border[3] ? s:borderjoinchars[3]: '') \.repeat(' ', a:width) \.(a:border[1] ? s:borderjoinchars[1] : '') endif if a:border[2] let bot = (a:border[3] ? borderchars[7]: '') \.repeat(borderchars[2], a:width) \.(a:border[1] ? borderchars[6] : '') call add(list, bot) endif return list endfunction " Close float window by id function! coc#float#close(winid, ...) abort let noautocmd = get(a:, 1, 0) call coc#float#close_related(a:winid) call s:close_win(a:winid, noautocmd) return 1 endfunction " Get visible float windows function! coc#float#get_float_win_list(...) abort let res = [] let list_all = get(a:, 1, 0) if s:is_vim if s:popup_list_api return filter(popup_list(), 'popup_getpos(v:val)["visible"]'.(list_all ? '' : '&& getwinvar(v:val, "float", 0)')) endif return filter(s:popup_list, 's:popup_visible(v:val)') else let res = [] for i in range(1, winnr('$')) let id = win_getid(i) let config = nvim_win_get_config(id) if empty(config) || empty(config['relative']) continue endif " ignore border & button window & others if list_all == 0 && !getwinvar(id, 'float', 0) continue endif call add(res, id) endfor return res endif return [] endfunction function! coc#float#get_float_by_kind(kind) abort if s:is_vim if s:popup_list_api return get(filter(popup_list(), 'popup_getpos(v:val)["visible"] && getwinvar(v:val, "kind", "") ==# "'.a:kind.'"'), 0, 0) endif return get(filter(s:popup_list, 's:popup_visible(v:val) && getwinvar(v:val, "kind", "") ==# "'.a:kind.'"'), 0, 0) else let res = [] for i in range(1, winnr('$')) let winid = win_getid(i) let config = nvim_win_get_config(winid) if !empty(config['relative']) && getwinvar(winid, 'kind', '') ==# a:kind return winid endif endfor endif return 0 endfunction " Check if a float window is scrollable function! coc#float#scrollable(winid) abort let bufnr = winbufnr(a:winid) if bufnr == -1 return 0 endif if s:is_vim let pos = popup_getpos(a:winid) if get(pos, 'scrollbar', 0) return 1 endif let ch = coc#float#content_height(bufnr, pos['core_width'], getwinvar(a:winid, '&wrap')) return ch > pos['core_height'] else let height = nvim_win_get_height(a:winid) let width = nvim_win_get_width(a:winid) if width > 1 && getwinvar(a:winid, '&foldcolumn', 0) " since we use foldcolumn for left padding let width = width - 1 endif let ch = coc#float#content_height(bufnr, width, getwinvar(a:winid, '&wrap')) return ch > height endif endfunction function! coc#float#has_scroll() abort let win_ids = filter(coc#float#get_float_win_list(), 'coc#float#scrollable(v:val)') return !empty(win_ids) endfunction function! coc#float#scroll(forward, ...) if !has('nvim-0.4.0') && !has('patch-8.2.0750') throw 'coc#float#scroll() requires nvim >= 0.4.0 or vim >= 8.2.0750' endif let amount = get(a:, 1, 0) let winids = filter(coc#float#get_float_win_list(), 'coc#float#scrollable(v:val) && getwinvar(v:val,"kind","") !=# "pum"') if empty(winids) return mode() =~ '^i' || mode() ==# 'v' ? "" : "\" endif for winid in winids call s:scroll_win(winid, a:forward, amount) endfor return mode() =~ '^i' || mode() ==# 'v' ? "" : "\" endfunction function! coc#float#scroll_win(winid, forward, amount) abort let opts = coc#float#get_options(a:winid) let lines = getbufline(winbufnr(a:winid), 1, '$') let maxfirst = s:max_firstline(lines, opts['height'], opts['width']) let topline = opts['topline'] let height = opts['height'] let width = opts['width'] let scrolloff = getwinvar(a:winid, '&scrolloff', 0) if a:forward && topline >= maxfirst return endif if !a:forward && topline == 1 return endif if a:amount == 0 let topline = s:get_topline(opts['topline'], lines, a:forward, height, width) else let topline = topline + (a:forward ? a:amount : - a:amount) endif let topline = a:forward ? min([maxfirst, topline]) : max([1, topline]) let lnum = s:get_cursorline(topline, lines, scrolloff, width, height) call s:win_setview(a:winid, topline, lnum) let top = coc#float#get_options(a:winid)['topline'] " not changed if top == opts['topline'] if a:forward call s:win_setview(a:winid, topline + 1, lnum + 1) else call s:win_setview(a:winid, topline - 1, lnum - 1) endif endif endfunction function! coc#float#content_height(bufnr, width, wrap) abort if !bufloaded(a:bufnr) return 0 endif if !a:wrap return coc#compat#buf_line_count(a:bufnr) endif let lines = has('nvim') ? nvim_buf_get_lines(a:bufnr, 0, -1, 0) : getbufline(a:bufnr, 1, '$') return coc#string#content_height(lines, a:width) endfunction function! coc#float#nvim_refresh_scrollbar(winid) abort let id = coc#float#get_related(a:winid, 'scrollbar') if id && nvim_win_is_valid(id) call coc#float#nvim_scrollbar(a:winid) endif endfunction function! coc#float#on_close(winid) abort let winids = coc#float#get_float_win_list() for winid in winids let target = getwinvar(winid, 'target_winid', -1) if target == a:winid call coc#float#close(winid) endif endfor endfunction " Close related windows, or specific kind function! coc#float#close_related(winid, ...) abort if !coc#float#valid(a:winid) return endif let timer = coc#window#get_var(a:winid, 'timer', 0) if timer call timer_stop(timer) endif let kind = get(a:, 1, '') let winids = coc#window#get_var(a:winid, 'related', []) for id in winids let curr = coc#window#get_var(id, 'kind', '') if empty(kind) || curr ==# kind if curr == 'list' call coc#float#close(id, 1) elseif s:is_vim " vim doesn't throw noa call popup_close(id) else silent! noa call nvim_win_close(id, 1) endif endif endfor endfunction " Close related windows if target window is not visible. function! coc#float#check_related() abort let invalids = [] let ids = coc#float#get_float_win_list(1) for id in ids let target = getwinvar(id, 'target_winid', 0) if target && index(ids, target) == -1 call add(invalids, id) endif endfor if s:is_vim && !s:popup_list_api let s:popup_list = filter(ids, "index(invalids, v:val) == -1") endif for id in invalids call coc#float#close(id) endfor endfunction " Show float window/popup for user confirm. " Create buttons popup on vim function! coc#float#vim_buttons(winid, config) abort if !has('patch-8.2.0750') return endif let related = getwinvar(a:winid, 'related', []) let winid = coc#float#get_related(a:winid, 'buttons') let btns = get(a:config, 'buttons', []) if empty(btns) if winid call s:close_win(winid, 1) " fix padding let opts = popup_getoptions(a:winid) let padding = get(opts, 'padding', v:null) if !empty(padding) let padding[2] = padding[2] - 2 endif call popup_setoptions(a:winid, {'padding': padding}) endif return endif let border = get(a:config, 'border', v:null) if !winid " adjusting popup padding let opts = popup_getoptions(a:winid) let padding = get(opts, 'padding', v:null) if type(padding) == 7 let padding = [0, 0, 2, 0] elseif len(padding) == 0 let padding = [1, 1, 3, 1] else let padding[2] = padding[2] + 2 endif call popup_setoptions(a:winid, {'padding': padding}) endif let borderhighlight = get(get(a:config, 'borderhighlight', []), 0, '') let pos = popup_getpos(a:winid) let bw = empty(border) ? 0 : get(border, 1, 0) + get(border, 3, 0) let borderbottom = empty(border) ? 0 : get(border, 2, 0) let borderleft = empty(border) ? 0 : get(border, 3, 0) let width = pos['width'] - bw + get(pos, 'scrollbar', 0) let bufnr = s:create_btns_buffer(winid ? winbufnr(winid): 0,width, btns, borderbottom) let height = 2 + (borderbottom ? 1 : 0) let keys = s:gen_filter_keys(getbufline(bufnr, 2)[0]) let options = { \ 'filter': {id, key -> coc#float#vim_filter(id, key, keys[1])}, \ 'highlight': get(opts, 'highlight', 'CocFloating') \ } let config = { \ 'line': pos['line'] + pos['height'] - height, \ 'col': pos['col'] + borderleft, \ 'minwidth': width, \ 'minheight': height, \ 'maxwidth': width, \ 'maxheight': height, \ } if winid != 0 call popup_move(winid, config) call popup_setoptions(winid, options) call win_execute(winid, 'call clearmatches()') else let options = extend({ \ 'filtermode': 'nvi', \ 'padding': [0, 0, 0, 0], \ 'fixed': 1, \ 'zindex': 99, \ }, options) call extend(options, config) let winid = popup_create(bufnr, options) if !s:popup_list_api call add(s:popup_list, winid) endif endif if winid != 0 if !empty(borderhighlight) call coc#highlight#add_highlight(bufnr, -1, borderhighlight, 0, 0, -1) call coc#highlight#add_highlight(bufnr, -1, borderhighlight, 2, 0, -1) call win_execute(winid, 'call matchadd("'.borderhighlight.'", "'.s:borderchars[1].'")') endif call setwinvar(winid, 'kind', 'buttons') call setwinvar(winid, 'target_winid', a:winid) call add(related, winid) call setwinvar(a:winid, 'related', related) call matchaddpos('MoreMsg', map(keys[0], "[2,v:val]"), 99, -1, {'window': winid}) endif endfunction function! coc#float#nvim_float_click() abort let kind = getwinvar(win_getid(), 'kind', '') if kind == 'buttons' if line('.') != 2 return endif let vw = strdisplaywidth(strpart(getline('.'), 0, col('.') - 1)) let vcols = getbufvar(bufnr('%'), 'vcols', []) if index(vcols, vw) >= 0 return endif let idx = 0 if !empty(vcols) let filtered = filter(vcols, 'v:val < vw') let idx = idx + len(filtered) endif let winid = win_getid() let target = getwinvar(winid, 'target_winid', 0) if target call coc#rpc#notify('FloatBtnClick', [winbufnr(target), idx]) call coc#float#close(target) endif elseif kind == 'close' let target = getwinvar(win_getid(), 'target_winid', 0) call coc#float#close(target) endif endfunction " Add mapping if necessary function! coc#float#nvim_win_enter(winid) abort let kind = getwinvar(a:winid, 'kind', '') if kind == 'buttons' || kind == 'close' if empty(maparg('', 'n')) nnoremap :call coc#float#nvim_float_click() endif endif endfunction function! coc#float#vim_filter(winid, key, keys) abort let key = tolower(a:key) let idx = index(a:keys, key) let target = getwinvar(a:winid, 'target_winid', 0) if target && idx >= 0 call coc#rpc#notify('FloatBtnClick', [winbufnr(target), idx]) call coc#float#close(target) return 1 endif return 0 endfunction function! coc#float#get_related(winid, kind, ...) abort if coc#float#valid(a:winid) for winid in coc#window#get_var(a:winid, 'related', []) if coc#window#get_var(winid, 'kind', '') ==# a:kind return winid endif endfor endif return get(a:, 1, 0) endfunction function! coc#float#get_row(winid) abort let winid = s:is_vim ? a:winid : coc#float#get_related(a:winid, 'border', a:winid) if coc#float#valid(winid) if s:is_vim let pos = popup_getpos(winid) return pos['line'] - 1 endif let pos = nvim_win_get_position(winid) return pos[0] endif endfunction " Create temporarily buffer with optional lines and &bufhidden function! coc#float#create_buf(bufnr, ...) abort if a:bufnr > 0 && bufloaded(a:bufnr) let bufnr = a:bufnr else if s:is_vim noa let bufnr = bufadd('') noa call bufload(bufnr) call setbufvar(bufnr, '&buflisted', 0) call setbufvar(bufnr, '&modeline', 0) call setbufvar(bufnr, '&buftype', 'nofile') call setbufvar(bufnr, '&swapfile', 0) else noa let bufnr = nvim_create_buf(v:false, v:true) endif let bufhidden = get(a:, 2, 'wipe') call setbufvar(bufnr, '&bufhidden', bufhidden) call setbufvar(bufnr, '&undolevels', -1) " neovim's bug call setbufvar(bufnr, '&modifiable', 1) endif let lines = get(a:, 1, v:null) if type(lines) == v:t_list if has('nvim') call nvim_buf_set_lines(bufnr, 0, -1, v:false, lines) else silent noa call setbufline(bufnr, 1, lines) silent noa call deletebufline(bufnr, len(lines) + 1, '$') endif endif return bufnr endfunction " Change border window & close window when scrollbar is shown. function! coc#float#nvim_scroll_adjust(winid) abort let winid = coc#float#get_related(a:winid, 'border') if !winid return endif let bufnr = winbufnr(winid) let lines = nvim_buf_get_lines(bufnr, 0, -1, 0) if len(lines) >= 2 let cw = nvim_win_get_width(a:winid) let width = nvim_win_get_width(winid) if width - cw != 1 + (strcharpart(lines[1], 0, 1) ==# s:borderchars[3] ? 1 : 0) return endif call nvim_win_set_width(winid, width + 1) let lastline = len(lines) - 1 for i in range(0, lastline) let line = lines[i] if i == 0 let add = s:borderchars[0] elseif i == lastline let add = s:borderchars[2] else let add = ' ' endif let prev = strcharpart(line, 0, strchars(line) - 1) let lines[i] = prev . add . coc#string#last_character(line) endfor call nvim_buf_set_lines(bufnr, 0, -1, 0, lines) " Move right close button if coc#window#get_var(a:winid, 'right', 0) == 0 let id = coc#float#get_related(a:winid, 'close') if id let [row, col] = nvim_win_get_position(id) call nvim_win_set_config(id, { \ 'relative': 'editor', \ 'row': row, \ 'col': col + 1, \ }) endif elseif has('nvim-0.6.0') " Move winid and all related left by 1 let winids = [a:winid] + coc#window#get_var(a:winid, 'related', []) for winid in winids if nvim_win_is_valid(winid) if coc#window#get_var(winid, 'kind', '') != 'close' let config = nvim_win_get_config(winid) let [row, column] = [config.row, config.col] call nvim_win_set_config(winid, { \ 'row': row, \ 'col': column - 1, \ 'relative': 'editor', \ }) endif endif endfor endif endif endfunction function! coc#float#nvim_set_winblend(winid, winblend) abort if a:winblend is v:null return endif call coc#window#set_var(a:winid, '&winblend', a:winblend) for winid in coc#window#get_var(a:winid, 'related', []) call coc#window#set_var(winid, '&winblend', a:winblend) endfor endfunction function! s:popup_visible(id) abort let pos = popup_getpos(a:id) if !empty(pos) && get(pos, 'visible', 0) return 1 endif return 0 endfunction function! s:convert_config_nvim(config, create) abort let valids = ['relative', 'win', 'anchor', 'width', 'height', 'bufpos', 'col', 'row', 'focusable'] let result = coc#dict#pick(a:config, valids) let border = get(a:config, 'border', []) if !s:empty_border(border) if result['relative'] ==# 'cursor' && result['row'] < 0 " move top when has bottom border if get(border, 2, 0) let result['row'] = result['row'] - 1 endif else " move down when has top border if get(border, 0, 0) && !get(a:config, 'prompt', 0) let result['row'] = result['row'] + 1 endif endif " move right when has left border if get(border, 3, 0) let result['col'] = result['col'] + 1 endif let result['width'] = float2nr(result['width'] + 1 - get(border,3, 0)) else let result['width'] = float2nr(result['width'] + (get(a:config, 'nopad', 0) ? 0 : 1)) endif if has('nvim-0.5.0') && get(a:config, 'shadow', 0) && a:create if empty(get(a:config, 'buttons', v:null)) && empty(get(border, 2, 0)) let result['border'] = 'shadow' endif endif if has('nvim-0.5.1') let result['zindex'] = get(a:config, 'zindex', 50) endif let result['height'] = float2nr(result['height']) return result endfunction function! s:create_btns_buffer(bufnr, width, buttons, borderbottom) abort let n = len(a:buttons) let spaces = a:width - n + 1 let tw = 0 for txt in a:buttons let tw += strdisplaywidth(txt) endfor if spaces < tw throw 'window is too small for buttons.' endif let ds = (spaces - tw)/n let dl = ds/2 let dr = ds%2 == 0 ? ds/2 : ds/2 + 1 let btnline = '' let idxes = [] for idx in range(0, n - 1) let txt = toupper(a:buttons[idx][0]).a:buttons[idx][1:] let btnline .= repeat(' ', dl).txt.repeat(' ', dr) if idx != n - 1 call add(idxes, strdisplaywidth(btnline)) let btnline .= s:borderchars[1] endif endfor let lines = [repeat(s:borderchars[0], a:width), btnline] if a:borderbottom call add(lines, repeat(s:borderchars[0], a:width)) endif for idx in idxes let lines[0] = strcharpart(lines[0], 0, idx).s:borderjoinchars[0].strcharpart(lines[0], idx + 1) if a:borderbottom let lines[2] = strcharpart(lines[0], 0, idx).s:borderjoinchars[2].strcharpart(lines[0], idx + 1) endif endfor let bufnr = coc#float#create_buf(a:bufnr, lines) call setbufvar(bufnr, 'vcols', idxes) return bufnr endfunction function! s:gen_filter_keys(line) abort let cols = [] let used = [] let next = 1 for idx in range(0, strchars(a:line) - 1) let ch = strcharpart(a:line, idx, 1) let nr = char2nr(ch) if next if (nr >= 65 && nr <= 90) || (nr >= 97 && nr <= 122) let lc = tolower(ch) if index(used, lc) < 0 && (!s:is_vim || empty(maparg(lc, 'n'))) let col = len(strcharpart(a:line, 0, idx)) + 1 call add(used, lc) call add(cols, col) let next = 0 endif endif else if ch == s:borderchars[1] let next = 1 endif endif endfor return [cols, used] endfunction function! s:close_win(winid, noautocmd) abort if a:winid <= 0 return endif " vim not throw for none exists winid if s:is_vim call popup_close(a:winid) else if nvim_win_is_valid(a:winid) let prefix = a:noautocmd ? 'noa ': '' exe prefix.'call nvim_win_close('.a:winid.', 1)' endif endif endfunction function! s:nvim_create_keymap(winid) abort let bufnr = winbufnr(a:winid) call nvim_buf_set_keymap(bufnr, 'n', '', ':call coc#float#nvim_float_click()', { \ 'silent': v:true, \ 'nowait': v:true \ }) endfunction " getwininfo is buggy on neovim, use topline, width & height should for content function! s:nvim_get_botline(topline, height, width, bufnr) abort let lines = getbufline(a:bufnr, a:topline, a:topline + a:height - 1) let botline = a:topline let count = 0 for i in range(0, len(lines) - 1) let w = max([1, strdisplaywidth(lines[i])]) let lh = float2nr(ceil(str2float(string(w))/a:width)) let count = count + lh let botline = a:topline + i if count >= a:height break endif endfor return botline endfunction " get popup position for vim8 based on config of neovim float window function! s:popup_position(config) abort let relative = get(a:config, 'relative', 'editor') let border = get(a:config, 'border', [0, 0, 0, 0]) let delta = get(border, 0, 0) + get(border, 2, 0) if relative ==# 'cursor' if a:config['row'] < 0 let delta = - delta elseif a:config['row'] == 0 let delta = - get(border, 0, 0) else let delta = 0 endif return [s:popup_cursor(a:config['row'] + delta), s:popup_cursor(a:config['col'])] endif return [a:config['row'] + 1, a:config['col'] + 1] endfunction function! coc#float#add_related(winid, target) abort let arr = coc#window#get_var(a:target, 'related', []) if index(arr, a:winid) >= 0 return endif call add(arr, a:winid) call coc#window#set_var(a:target, 'related', arr) endfunction function! coc#float#get_wininfo(winid) abort if !coc#float#valid(a:winid) throw 'Not valid float window: '.a:winid endif if s:is_vim let pos = popup_getpos(a:winid) return {'topline': pos['firstline'], 'botline': pos['lastline']} endif let info = getwininfo(a:winid)[0] return {'topline': info['topline'], 'botline': info['botline']} endfunction function! s:popup_cursor(n) abort if a:n == 0 return 'cursor' endif if a:n < 0 return 'cursor'.a:n endif return 'cursor+'.a:n endfunction " max firstline of lines, height > 0, width > 0 function! s:max_firstline(lines, height, width) abort let max = len(a:lines) let remain = a:height for line in reverse(copy(a:lines)) let w = max([1, strdisplaywidth(line)]) let dh = float2nr(ceil(str2float(string(w))/a:width)) if remain - dh < 0 break endif let remain = remain - dh let max = max - 1 endfor return min([len(a:lines), max + 1]) endfunction " Get best lnum by topline function! s:get_cursorline(topline, lines, scrolloff, width, height) abort let lastline = len(a:lines) if a:topline == lastline return lastline endif let bottomline = a:topline let used = 0 for lnum in range(a:topline, lastline) let w = max([1, strdisplaywidth(a:lines[lnum - 1])]) let dh = float2nr(ceil(str2float(string(w))/a:width)) if used + dh >= a:height || lnum == lastline let bottomline = lnum break endif let used += dh endfor let cursorline = a:topline + a:scrolloff if cursorline + a:scrolloff > bottomline " unable to satisfy scrolloff let cursorline = (a:topline + bottomline)/2 endif return cursorline endfunction " Get firstline for full scroll function! s:get_topline(topline, lines, forward, height, width) abort let used = 0 let lnums = a:forward ? range(a:topline, len(a:lines)) : reverse(range(1, a:topline)) let topline = a:forward ? len(a:lines) : 1 for lnum in lnums let w = max([1, strdisplaywidth(a:lines[lnum - 1])]) let dh = float2nr(ceil(str2float(string(w))/a:width)) if used + dh >= a:height let topline = lnum break endif let used += dh endfor if topline == a:topline if a:forward let topline = min([len(a:lines), topline + 1]) else let topline = max([1, topline - 1]) endif endif return topline endfunction " topline content_height content_width function! coc#float#get_options(winid) abort if has('nvim') let width = nvim_win_get_width(a:winid) if coc#window#get_var(a:winid, '&foldcolumn', 0) let width = width - 1 endif let info = getwininfo(a:winid)[0] return { \ 'topline': info['topline'], \ 'height': nvim_win_get_height(a:winid), \ 'width': width \ } else let pos = popup_getpos(a:winid) return { \ 'topline': pos['firstline'], \ 'width': pos['core_width'], \ 'height': pos['core_height'] \ } endif endfunction function! s:win_setview(winid, topline, lnum) abort if has('nvim') call coc#compat#execute(a:winid, 'call winrestview({"lnum":'.a:lnum.',"topline":'.a:topline.'})') call timer_start(10, { -> coc#float#nvim_refresh_scrollbar(a:winid) }) else call coc#compat#execute(a:winid, 'exe '.a:lnum) call popup_setoptions(a:winid, { \ 'firstline': a:topline, \ }) endif endfunction function! s:set_float_defaults(winid, config) abort if !s:is_vim let hlgroup = get(a:config, 'highlight', 'CocFloating') call setwinvar(a:winid, '&winhl', 'Normal:'.hlgroup.',FoldColumn:'.hlgroup) call setwinvar(a:winid, 'border', get(a:config, 'border', [])) call setwinvar(a:winid, 'scrollinside', get(a:config, 'scrollinside', 0)) call setwinvar(a:winid, '&foldcolumn', s:nvim_get_foldcolumn(a:config)) call setwinvar(a:winid, '&signcolumn', 'no') call setwinvar(a:winid, '&cursorcolumn', 0) else call setwinvar(a:winid, '&foldcolumn', 0) endif if exists('&statuscolumn') call setwinvar(a:winid, '&statuscolumn', '') endif if !s:is_vim || !has("patch-8.2.3100") call setwinvar(a:winid, '&number', 0) call setwinvar(a:winid, '&relativenumber', 0) call setwinvar(a:winid, '&cursorline', 0) endif call setwinvar(a:winid, '&foldenable', 0) call setwinvar(a:winid, '&colorcolumn', '') call setwinvar(a:winid, '&spell', 0) call setwinvar(a:winid, '&linebreak', 1) call setwinvar(a:winid, '&conceallevel', 0) call setwinvar(a:winid, '&list', 0) call setwinvar(a:winid, '&wrap', !get(a:config, 'cursorline', 0)) if s:is_vim || has('nvim-0.5.0') call setwinvar(a:winid, '&scrolloff', 0) endif if has('nvim-0.6.0') || has("patch-8.1.2281") call setwinvar(a:winid, '&showbreak', 'NONE') endif if exists('*win_execute') call win_execute(a:winid, 'setl fillchars+=eob:\ ') endif if get(a:config, 'autohide', 0) call setwinvar(a:winid, 'autohide', 1) endif call setwinvar(a:winid, 'float', 1) endfunction function! s:nvim_add_related(winid, target, kind, winhl, related) abort if a:winid <= 0 return endif " minimal not work if !has('nvim-0.4.3') call setwinvar(a:winid, '&colorcolumn', '') call setwinvar(a:winid, '&number', 0) call setwinvar(a:winid, '&relativenumber', 0) call setwinvar(a:winid, '&foldcolumn', 0) call setwinvar(a:winid, '&signcolumn', 0) call setwinvar(a:winid, '&list', 0) endif if exists('&statuscolumn') call setwinvar(a:winid, '&statuscolumn', '') endif let winhl = empty(a:winhl) ? coc#window#get_var(a:target, '&winhl', '') : a:winhl call setwinvar(a:winid, '&winhl', winhl) call setwinvar(a:winid, 'target_winid', a:target) call setwinvar(a:winid, 'kind', a:kind) call add(a:related, a:winid) endfunction function! s:nvim_get_foldcolumn(config) abort let nopad = get(a:config, 'nopad', 0) if nopad return 0 endif let border = get(a:config, 'border', v:null) if border is 1 || (type(border) == v:t_list && get(border, 3, 0) == 1) return 0 endif return 1 endfunction function! s:add_highlights(winid, config, create) abort let codes = get(a:config, 'codes', []) let highlights = get(a:config, 'highlights', []) if empty(codes) && empty(highlights) && a:create return endif let bgGroup = get(a:config, 'highlight', 'CocFloating') for obj in codes let hlGroup = get(obj, 'hlGroup', v:null) if !empty(hlGroup) let obj['hlGroup'] = coc#highlight#compose_hlgroup(hlGroup, bgGroup) endif endfor call coc#highlight#add_highlights(a:winid, codes, highlights) endfunction function! s:empty_border(border) abort if empty(a:border) || empty(filter(copy(a:border), 'v:val != 0')) return 1 endif return 0 endfunction function! s:get_borderchars(config) abort let borderchars = get(a:config, 'borderchars', []) if !empty(borderchars) return borderchars endif return get(a:config, 'rounded', 0) ? s:rounded_borderchars : s:borderchars endfunction function! s:scroll_win(winid, forward, amount) abort if s:is_vim call coc#float#scroll_win(a:winid, a:forward, a:amount) else call timer_start(0, { -> coc#float#scroll_win(a:winid, a:forward, a:amount)}) endif endfunction function! s:get_borderhighlight(config) abort let hlgroup = get(a:config, 'highlight', 'CocFloating') let borderhighlight = get(a:config, 'borderhighlight', v:null) if empty(borderhighlight) return hlgroup endif let highlight = type(borderhighlight) == 3 ? borderhighlight[0] : borderhighlight return coc#highlight#compose_hlgroup(highlight, hlgroup) endfunction function! s:has_shadow(config) abort let border = get(a:config, 'border', []) let filtered = filter(copy(border), 'type(v:val) == 3 && get(v:val, 1, "") ==# "FloatShadow"') return len(filtered) > 0 endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/helper.vim ================================================ scriptencoding utf-8 " Helper methods for viml function! coc#helper#get_charactor(line, col) abort return strchars(strpart(a:line, 0, a:col - 1)) endfunction function! coc#helper#last_character(line) abort return strcharpart(a:line, strchars(a:line) - 1, 1) endfunction function! coc#helper#obj_equal(one, two) abort for key in keys(a:one) if a:one[key] != a:two[key] return 0 endif endfor return 1 endfunction " get change between two lines function! coc#helper#str_diff(curr, previous, col) abort let end = strpart(a:curr, a:col - 1) let start = strpart(a:curr, 0, a:col -1) let endOffset = 0 let startOffset = 0 let currLen = strchars(a:curr) let prevLen = strchars(a:previous) if len(end) let endLen = strchars(end) for i in range(min([prevLen, endLen])) if strcharpart(end, endLen - 1 - i, 1) ==# strcharpart(a:previous, prevLen -1 -i, 1) let endOffset = endOffset + 1 else break endif endfor endif let remain = endOffset == 0 ? a:previous : strcharpart(a:previous, 0, prevLen - endOffset) if len(remain) for i in range(min([strchars(remain), strchars(start)])) if strcharpart(remain, i, 1) ==# strcharpart(start, i ,1) let startOffset = startOffset + 1 else break endif endfor endif return { \ 'start': startOffset, \ 'end': prevLen - endOffset, \ 'text': strcharpart(a:curr, startOffset, currLen - startOffset - endOffset) \ } endfunction function! coc#helper#str_apply(content, diff) abort let totalLen = strchars(a:content) let endLen = totalLen - a:diff['end'] return strcharpart(a:content, 0, a:diff['start']).a:diff['text'].strcharpart(a:content, a:diff['end'], endLen) endfunction " insert inserted to line at position, use ... when result is too long " line should only contains character has strwidth equals 1 function! coc#helper#str_compose(line, position, inserted) abort let width = strwidth(a:line) let text = a:inserted let res = a:line let need_truncate = a:position + strwidth(text) + 1 > width if need_truncate let remain = width - a:position - 3 if remain < 2 " use text for full line, use first & end of a:line, ignore position let res = strcharpart(a:line, 0, 1) let w = strwidth(res) for i in range(strchars(text)) let c = strcharpart(text, i, 1) let a = strwidth(c) if w + a <= width - 1 let w = w + a let res = res.c endif endfor let res = res.strcharpart(a:line, w) else let res = strcharpart(a:line, 0, a:position) let w = strwidth(res) for i in range(strchars(text)) let c = strcharpart(text, i, 1) let a = strwidth(c) if w + a <= width - 3 let w = w + a let res = res.c endif endfor let res = res.'..' let w = w + 2 let res = res.strcharpart(a:line, w) endif else let first = strcharpart(a:line, 0, a:position) let res = first.text.strcharpart(a:line, a:position + strwidth(text)) endif return res endfunction " Return new dict with keys removed function! coc#helper#dict_omit(dict, keys) abort let res = {} for key in keys(a:dict) if index(a:keys, key) == -1 let res[key] = a:dict[key] endif endfor return res endfunction " Return new dict with keys only function! coc#helper#dict_pick(dict, keys) abort let res = {} for key in keys(a:dict) if index(a:keys, key) != -1 let res[key] = a:dict[key] endif endfor return res endfunction " support for float values function! coc#helper#min(first, ...) abort let val = a:first for i in range(0, len(a:000) - 1) if a:000[i] < val let val = a:000[i] endif endfor return val endfunction " support for float values function! coc#helper#max(first, ...) abort let val = a:first for i in range(0, len(a:000) - 1) if a:000[i] > val let val = a:000[i] endif endfor return val endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/highlight.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:nvim_50 = has('nvim-0.5.0') let s:nvim_60 = has('nvim-0.6.0') let s:clear_match_by_window = s:nvim_60 || s:is_vim let s:set_extmark = has('nvim') && exists('*nvim_buf_set_extmark') let s:namespace_map = {} let s:ns_id = 1 let s:diagnostic_hlgroups = ['CocErrorHighlight', 'CocWarningHighlight', 'CocInfoHighlight', 'CocHintHighlight', 'CocDeprecatedHighlight', 'CocUnusedHighlight'] " Maximum count to highlight each time. let g:coc_highlight_maximum_count = get(g:, 'coc_highlight_maximum_count', 100) let s:term = &termguicolors == 0 && !has('gui_running') if has('nvim-0.5.0') && s:clear_match_by_window == 0 try call getmatches(0) let s:clear_match_by_window = 1 catch /^Vim\%((\a\+)\)\=:E118/ " ignored endtry endif " Update buffer region by region. function! coc#highlight#buffer_update(bufnr, key, highlights, ...) abort if !bufloaded(a:bufnr) return endif if empty(a:highlights) call coc#highlight#clear_highlight(a:bufnr, a:key, 0, -1) return endif let priority = get(a:, 1, v:null) let changedtick = getbufvar(a:bufnr, 'changedtick', 0) if type(get(a:, 2, v:null)) == 0 && changedtick > a:2 return endif let hls = map(copy(a:highlights), "{'hlGroup':v:val[0],'lnum':v:val[1],'colStart':v:val[2],'colEnd':v:val[3],'combine':get(v:val,4,1),'start_incl':get(v:val,5,0),'end_incl':get(v:val,6,0)}") if len(hls) <= g:coc_highlight_maximum_count call coc#highlight#update_highlights(a:bufnr, a:key, hls, 0, -1, priority) return endif let linecount = coc#compat#buf_line_count(a:bufnr) let groups = s:group_hls(hls, linecount) call s:update_highlights_timer(a:bufnr, changedtick, a:key, priority, groups, 0) endfunction " Update highlights by check exists highlights. " 0 based, end exclusive start and end function! coc#highlight#update_highlights(bufnr, key, highlights, ...) abort let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr if !bufloaded(bufnr) return endif let start = get(a:, 1, 0) let end = get(a:, 2, -1) if end == 0 return endif let linecount = coc#compat#buf_line_count(a:bufnr) if end >= linecount let end = -1 endif if empty(a:highlights) call coc#highlight#clear_highlight(bufnr, a:key, start, end) return endif let priority = get(a:, 3, v:null) let total = len(a:highlights) " index list that exists with current highlights let exists = [] let ns = coc#highlight#create_namespace(a:key) if has('nvim-0.5.0') || exists('*prop_list') let endLnum = end < 0 ? linecount - 1 : end - 1 let firstLnum = a:highlights[0]['lnum'] if firstLnum > start call coc#highlight#clear_highlight(bufnr, a:key, start, firstLnum) let start = firstLnum endif let lastLnum = a:highlights[total - 1]['lnum'] if lastLnum < endLnum call coc#highlight#clear_highlight(bufnr, a:key, lastLnum + 1, endLnum + 1) let endLnum = lastLnum endif let current = coc#highlight#get_highlights(bufnr, a:key, start, endLnum) let currIndex = 0 if !empty(current) for [lnum, items] in s:to_group(current) let indexes = [] let currIndexes = range(0, len(items) - 1) let removeIndexes = [] while currIndex != total let hi = a:highlights[currIndex] if hi['lnum'] == lnum let findIndex = -1 for idx in currIndexes let item = items[idx] if hi['hlGroup'] ==# item[0] && hi['colStart'] == item[2] && hi['colEnd'] == item[3] call add(indexes, currIndex) let findIndex = idx break elseif item[2] > hi['colStart'] break endif endfor if findIndex != -1 call filter(currIndexes, 'v:val != '.findIndex) endif elseif hi['lnum'] > lnum break endif let currIndex = currIndex + 1 endwhile for idx in currIndexes if s:is_vim call prop_remove({'bufnr': bufnr, 'id': items[idx][4]}) else call nvim_buf_del_extmark(bufnr, ns, items[idx][4]) endif endfor call extend(exists, indexes) endfor endif else call coc#highlight#clear_highlight(bufnr, a:key, start, end) endif let indexes = range(0, total - 1) if !empty(exists) let indexes = filter(indexes, 'index(exists, v:val) == -1') endif for idx in indexes let hi = a:highlights[idx] let opts = { \ 'combine': get(hi, 'combine', 0), \ 'start_incl': get(hi, 'start_incl', 0), \ 'end_incl': get(hi, 'end_incl', 0), \ } if type(priority) == 0 let opts['priority'] = s:get_priority(a:key, hi['hlGroup'], priority) endif call coc#highlight#add_highlight(bufnr, ns, hi['hlGroup'], hi['lnum'], hi['colStart'], hi['colEnd'], opts) endfor endfunction " Get list of highlights by range or all buffer. " 0 based line, start_col and end_col " 0 based start & end line, end inclusive. function! coc#highlight#get_highlights(bufnr, key, ...) abort if !bufloaded(a:bufnr) return v:null endif if !has_key(s:namespace_map, a:key) return [] endif let start = get(a:, 1, 0) let end = get(a:, 2, -1) if s:nvim_60 return v:lua.require('coc.highlight').getHighlights(a:bufnr, a:key, start, end) elseif s:nvim_50 return luaeval( \ 'require("coc.highlight").getHighlights(_A[1],_A[2],_A[3],_A[4])', \ [a:bufnr, a:key, start, end] \ ) endif let res = [] let ns = s:namespace_map[a:key] if exists('*prop_list') let types = coc#api#get_types(ns) if empty(types) return res endif " Could filter by end_lnum and types if has('patch-8.2.3652') let endLnum = end == -1 ? -1 : end + 1 for prop in prop_list(start + 1, {'bufnr': a:bufnr, 'types': types, 'end_lnum': endLnum}) if prop['start'] == 0 || prop['end'] == 0 " multi line textprop are not supported, simply ignore it continue endif let startCol = prop['col'] - 1 let endCol = startCol + prop['length'] call add(res, [s:prop_type_hlgroup(prop['type']), prop['lnum'] - 1, startCol, endCol, prop['id']]) endfor else if end == -1 let end = coc#compat#buf_line_count(a:bufnr) else let end = end + 1 endif for line in range(start + 1, end) for prop in prop_list(line, {'bufnr': a:bufnr}) if index(types, prop['type']) == -1 || prop['start'] == 0 || prop['end'] == 0 " multi line textprop are not supported, simply ignore it continue endif let startCol = prop['col'] - 1 let endCol = startCol + prop['length'] call add(res, [s:prop_type_hlgroup(prop['type']), line - 1, startCol, endCol, prop['id']]) endfor endfor endif else throw 'Get highlights requires neovim 0.5.0 or vim support prop_list' endif return res endfunction " Add multiple highlights to buffer. " type HighlightItem = [hlGroup, lnum, colStart, colEnd, combine?, start_incl?, end_incl?] function! coc#highlight#set(bufnr, key, highlights, priority) abort if !bufloaded(a:bufnr) return endif let ns = coc#highlight#create_namespace(a:key) let g:c = 1 if s:nvim_60 call v:lua.require('coc.highlight').set(a:bufnr, ns, a:highlights, a:priority) elseif s:nvim_50 call luaeval( \ 'require("coc.highlight").set(_A[1],_A[2],_A[3],_A[4])', \ [a:bufnr, ns, a:highlights, a:priority] \ ) else if len(a:highlights) > g:coc_highlight_maximum_count call s:add_highlights_timer(a:bufnr, ns, a:highlights, a:priority) else call s:add_highlights(a:bufnr, ns, a:highlights, a:priority) endif endif endfunction " Clear highlights by 0 based line numbers. function! coc#highlight#clear(bufnr, key, lnums) abort if !bufloaded(a:bufnr) || empty(a:lnums) return endif let ns = coc#highlight#create_namespace(a:key) for lnum in a:lnums if has('nvim') call nvim_buf_clear_namespace(a:bufnr, ns, lnum, lnum + 1) else call coc#api#exec('buf_clear_namespace', [a:bufnr, ns, lnum, lnum + 1]) endif endfor " clear highlights in invalid line. if has('nvim') let linecount = nvim_buf_line_count(a:bufnr) call nvim_buf_clear_namespace(a:bufnr, ns, linecount, -1) endif endfunction function! coc#highlight#del_markers(bufnr, key, ids) abort if !bufloaded(a:bufnr) return endif let ns = coc#highlight#create_namespace(a:key) for id in a:ids if s:is_vim call prop_remove({'bufnr': a:bufnr, 'id': id}) else call nvim_buf_del_extmark(a:bufnr, ns, id) endif endfor endfunction " highlight LSP range, opts contains 'combine' 'priority' 'start_incl' 'end_incl' function! coc#highlight#ranges(bufnr, key, hlGroup, ranges, ...) abort let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr if !bufloaded(bufnr) || !exists('*getbufline') return endif let opts = get(a:, 1, {}) let synmaxcol = getbufvar(a:bufnr, '&synmaxcol', 1000) if synmaxcol == 0 let synmaxcol = 1000 endif let synmaxcol = min([synmaxcol, 1000]) let srcId = coc#highlight#create_namespace(a:key) for range in a:ranges let start = range['start'] let end = range['end'] for lnum in range(start['line'] + 1, end['line'] + 1) let arr = getbufline(bufnr, lnum) let line = empty(arr) ? '' : arr[0] if empty(line) continue endif if start['character'] > synmaxcol || end['character'] > synmaxcol continue endif let colStart = lnum == start['line'] + 1 ? coc#string#byte_index(line, start['character']) : 0 let colEnd = lnum == end['line'] + 1 ? coc#string#byte_index(line, end['character']) : strlen(line) if colStart == colEnd continue endif call coc#highlight#add_highlight(bufnr, srcId, a:hlGroup, lnum - 1, colStart, colEnd, opts) endfor endfor endfunction function! coc#highlight#add_highlight(bufnr, src_id, hl_group, line, col_start, col_end, ...) abort let opts = get(a:, 1, {}) let priority = get(opts, 'priority', v:null) if !s:is_vim if s:set_extmark && a:src_id != -1 " get(opts, 'start_incl', 0) ? v:true : v:false, try call nvim_buf_set_extmark(a:bufnr, a:src_id, a:line, a:col_start, { \ 'end_col': a:col_end, \ 'hl_group': a:hl_group, \ 'hl_mode': get(opts, 'combine', 1) ? 'combine' : 'replace', \ 'right_gravity': v:true, \ 'end_right_gravity': v:false, \ 'priority': type(priority) == 0 ? min([priority, 4096]) : 4096, \ }) catch /^Vim\%((\a\+)\)\=:E5555/ " the end_col could be invalid, ignore this error endtry else call nvim_buf_add_highlight(a:bufnr, a:src_id, a:hl_group, a:line, a:col_start, a:col_end) endif else call coc#api#exec('buf_add_highlight', [a:bufnr, a:src_id, a:hl_group, a:line, a:col_start, a:col_end, opts]) endif endfunction function! coc#highlight#clear_highlight(bufnr, key, start_line, end_line) abort let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr if !bufloaded(bufnr) return endif let src_id = coc#highlight#create_namespace(a:key) if has('nvim') call nvim_buf_clear_namespace(a:bufnr, src_id, a:start_line, a:end_line) else call coc#api#exec('buf_clear_namespace', [a:bufnr, src_id, a:start_line, a:end_line]) endif endfunction " highlight buffer in winid with CodeBlock &HighlightItems " export interface HighlightItem { " lnum: number // 0 based " hlGroup: string " colStart: number // 0 based " colEnd: number " } " export interface CodeBlock { " filetype?: string " hlGroup?: string " startLine: number // 0 based " endLine: number " } function! coc#highlight#add_highlights(winid, codes, highlights) abort if get(g:, 'coc_node_env', '') ==# 'test' call setwinvar(a:winid, 'highlights', a:highlights) endif " clear highlights call coc#compat#execute(a:winid, 'syntax clear') let bufnr = winbufnr(a:winid) call coc#highlight#clear_highlight(bufnr, -1, 0, -1) if !empty(a:codes) call coc#highlight#highlight_lines(a:winid, a:codes) endif if !empty(a:highlights) for item in a:highlights let hlGroup = item['hlGroup'] let opts = hlGroup =~# 'Search$' ? {'priority': 999, 'combine': 1} : {} call coc#highlight#add_highlight(bufnr, -1, hlGroup, item['lnum'], item['colStart'], item['colEnd']) endfor endif endfunction " Add highlights to line groups of winid, support hlGroup and filetype " config should have startLine, endLine (0 based, end excluded) and filetype or hlGroup " endLine should > startLine and endLine is excluded " " export interface CodeBlock { " filetype?: string " hlGroup?: string " startLine: number // 0 based " endLine: number " } function! coc#highlight#highlight_lines(winid, blocks) abort let region_id = 1 let defined = [] let cmds = [] for config in a:blocks let start = config['startLine'] + 1 let end = config['endLine'] == -1 ? len(getbufline(winbufnr(a:winid), 1, '$')) + 1 : config['endLine'] + 1 let filetype = get(config, 'filetype', '') let hlGroup = get(config, 'hlGroup', '') if !empty(hlGroup) call add(cmds, 'syntax region '.hlGroup.' start=/\%'.start.'l/ end=/\%'.end.'l/') else let filetype = matchstr(filetype, '\v^\w+') if empty(filetype) || filetype == 'txt' || index(get(g:, 'coc_markdown_disabled_languages', []), filetype) != -1 continue endif if index(defined, filetype) == -1 call add(cmds, 'syntax include @'.toupper(filetype).' syntax/'.filetype.'.vim') call add(cmds, 'unlet! b:current_syntax') call add(defined, filetype) endif call add(cmds, 'syntax region CodeBlock'.region_id.' start=/\%'.start.'l/ end=/\%'.end.'l/ contains=@'.toupper(filetype).' keepend') let region_id = region_id + 1 endif endfor if !empty(cmds) call coc#compat#execute(a:winid, cmds, 'silent!') endif endfunction function! coc#highlight#compose(fg, bg) abort let fgId = synIDtrans(hlID(a:fg)) let bgId = synIDtrans(hlID(a:bg)) let isGuiReversed = synIDattr(fgId, 'reverse', 'gui') !=# '1' || synIDattr(bgId, 'reverse', 'gui') !=# '1' let guifg = isGuiReversed ? synIDattr(fgId, 'fg', 'gui') : synIDattr(fgId, 'bg', 'gui') let guibg = isGuiReversed ? synIDattr(bgId, 'bg', 'gui') : synIDattr(bgId, 'fg', 'gui') let isCtermReversed = synIDattr(fgId, 'reverse', 'cterm') !=# '1' || synIDattr(bgId, 'reverse', 'cterm') !=# '1' let ctermfg = isCtermReversed ? synIDattr(fgId, 'fg', 'cterm') : synIDattr(fgId, 'bg', 'cterm') let ctermbg = isCtermReversed ? synIDattr(bgId, 'bg', 'cterm') : synIDattr(bgId, 'fg', 'cterm') let bold = synIDattr(fgId, 'bold') ==# '1' let italic = synIDattr(fgId, 'italic') ==# '1' let underline = synIDattr(fgId, 'underline') ==# '1' let cmd = '' if !empty(guifg) let cmd .= ' guifg=' . guifg endif if !empty(ctermfg) let cmd .= ' ctermfg=' . ctermfg elseif guifg =~# '^#' let cmd .= ' ctermfg=' . coc#color#rgb2term(strpart(guifg, 1)) endif if !empty(guibg) let cmd .= ' guibg=' . guibg endif if !empty(ctermbg) let cmd .= ' ctermbg=' . ctermbg elseif guibg =~# '^#' let cmd .= ' ctermbg=' . coc#color#rgb2term(strpart(guibg, 1)) endif if bold let cmd .= ' cterm=bold gui=bold' elseif italic let cmd .= ' cterm=italic gui=italic' elseif underline let cmd .= ' cterm=underline gui=underline' endif return cmd endfunction function! coc#highlight#valid(hlGroup) abort return hlexists(a:hlGroup) && execute('hi '.a:hlGroup, 'silent!') !~# ' cleared$' endfunction " Compose hlGroups with foreground and background colors. function! coc#highlight#compose_hlgroup(fgGroup, bgGroup) abort let hlGroup = 'Fg'.a:fgGroup.'Bg'.a:bgGroup if a:fgGroup ==# a:bgGroup return a:fgGroup endif if coc#highlight#valid(hlGroup) return hlGroup endif let cmd = coc#highlight#compose(a:fgGroup, a:bgGroup) if empty(cmd) return 'Normal' endif execute 'silent hi ' . hlGroup . cmd return hlGroup endfunction " hlGroup id, key => 'fg' | 'bg', kind => 'cterm' | 'gui' function! coc#highlight#get_color(id, key, kind) abort if synIDattr(a:id, 'reverse', a:kind) !=# '1' return synIDattr(a:id, a:key, a:kind) endif return synIDattr(a:id, a:key ==# 'bg' ? 'fg' : 'bg', a:kind) endfunction function! coc#highlight#get_hl_command(id, key, cterm, gui) abort let cterm = coc#highlight#get_color(a:id, a:key, 'cterm') let gui = coc#highlight#get_color(a:id, a:key, 'gui') let cmd = ' cterm'.a:key.'=' . (empty(cterm) ? a:cterm : cterm) let cmd .= ' gui'.a:key.'=' . (empty(gui) ? a:gui : gui) return cmd endfunction function! coc#highlight#reversed(id) abort let gui = has('gui_running') || &termguicolors == 1 if synIDattr(synIDtrans(a:id), 'reverse', gui ? 'gui' : 'cterm') == '1' return 1 endif return 0 endfunction function! coc#highlight#get_contrast(group1, group2) abort let normal = coc#highlight#get_hex_color(synIDtrans(hlID('Normal')), 'bg', '#000000') let bg1 = coc#highlight#get_hex_color(synIDtrans(hlID(a:group1)), 'bg', normal) let bg2 = coc#highlight#get_hex_color(synIDtrans(hlID(a:group2)), 'bg', normal) return coc#color#hex_contrast(bg1, bg2) endfunction " Darken or lighten background function! coc#highlight#create_bg_command(group, amount) abort let id = synIDtrans(hlID(a:group)) let normal = coc#highlight#get_hex_color(synIDtrans(hlID('Normal')), 'bg', &background ==# 'dark' ? '#282828' : '#fefefe') let bg = coc#highlight#get_hex_color(id, 'bg', normal) let hex = a:amount > 0 ? coc#color#darken(bg, a:amount) : coc#color#lighten(bg, -a:amount) let ctermbg = coc#color#rgb2term(strpart(hex, 1)) if s:term && !s:check_ctermbg(id, ctermbg) && abs(a:amount) < 20.0 return coc#highlight#create_bg_command(a:group, a:amount * 2) endif return 'ctermbg=' . ctermbg.' guibg=' . hex endfunction function! coc#highlight#get_hex_color(id, kind, fallback) abort let attr = coc#highlight#get_color(a:id, a:kind, s:term ? 'cterm' : 'gui') let hex = s:to_hex_color(attr, s:term) if empty(hex) && !s:term let attr = coc#highlight#get_color(a:id, a:kind, 'cterm') let hex = s:to_hex_color(attr, 1) endif return empty(hex) ? a:fallback : hex endfunction function! s:check_ctermbg(id, cterm) abort let attr = coc#highlight#get_color(a:id, 'bg', 'cterm') if empty(attr) let attr = coc#highlight#get_color(synIDtrans(hlID('Normal')), 'bg', 'cterm') endif if attr ==# a:cterm return 0 endif return 1 endfunction function! s:to_hex_color(color, term) abort if empty(a:color) return '' endif if a:color =~# '^#\x\+$' return a:color endif if a:term && a:color =~# '^\d\+$' return coc#color#term2rgb(a:color) endif let hex = coc#color#nameToHex(tolower(a:color), a:term) return empty(hex) ? '' : hex endfunction " add matches for winid, use 0 for current window. function! coc#highlight#match_ranges(winid, bufnr, ranges, hlGroup, priority) abort let winid = a:winid == 0 ? win_getid() : a:winid let bufnr = a:bufnr == 0 ? winbufnr(winid) : a:bufnr if empty(getwininfo(winid)) || (a:bufnr != 0 && winbufnr(a:winid) != a:bufnr) " not valid return [] endif if !s:clear_match_by_window let curr = win_getid() noa call win_gotoid(winid) endif let ids = [] for range in a:ranges let pos = [] let start = range['start'] let end = range['end'] for lnum in range(start['line'] + 1, end['line'] + 1) let arr = getbufline(bufnr, lnum) let line = empty(arr) ? '' : arr[0] if empty(line) continue endif let colStart = lnum == start['line'] + 1 ? coc#string#byte_index(line, start['character']) + 1 : 1 let colEnd = lnum == end['line'] + 1 ? coc#string#byte_index(line, end['character']) + 1 : strlen(line) + 1 if colStart == colEnd continue endif call add(pos, [lnum, colStart, colEnd - colStart]) endfor if !empty(pos) let opts = s:clear_match_by_window ? {'window': a:winid} : {} let i = 1 let l = [] for p in pos call add(l, p) if i % 8 == 0 let id = matchaddpos(a:hlGroup, l, a:priority, -1, opts) call add(ids, id) let l = [] endif let i += 1 endfor if !empty(l) let id = matchaddpos(a:hlGroup, l, a:priority, -1, opts) call add(ids, id) endif endif endfor if !s:clear_match_by_window noa call win_gotoid(curr) endif return ids endfunction " Clear matches by hlGroup regexp. function! coc#highlight#clear_match_group(winid, match) abort let winid = a:winid == 0 ? win_getid() : a:winid if empty(getwininfo(winid)) " not valid return endif if s:clear_match_by_window let arr = filter(getmatches(winid), 'v:val["group"] =~# "'.a:match.'"') for item in arr call matchdelete(item['id'], winid) endfor else let curr = win_getid() let switch = exists('*nvim_set_current_win') && curr != winid if switch noa call nvim_set_current_win(a:winid) endif if win_getid() == winid let arr = filter(getmatches(), 'v:val["group"] =~# "'.a:match.'"') for item in arr call matchdelete(item['id']) endfor endif if switch noa call nvim_set_current_win(curr) endif endif endfunction " Clear matches by match ids, use 0 for current win. function! coc#highlight#clear_matches(winid, ids) let winid = a:winid == 0 ? win_getid() : a:winid if empty(getwininfo(winid)) " not valid return endif if s:clear_match_by_window for id in a:ids try call matchdelete(id, winid) catch /^Vim\%((\a\+)\)\=:E803/ " ignore endtry endfor else let curr = win_getid() let switch = exists('*nvim_set_current_win') && curr != winid if switch noa call nvim_set_current_win(a:winid) endif if win_getid() == winid for id in a:ids try call matchdelete(id) catch /^Vim\%((\a\+)\)\=:E803/ " ignore endtry endfor endif if switch noa call nvim_set_current_win(curr) endif endif endfunction function! coc#highlight#clear_all() abort for src_id in values(s:namespace_map) for bufnr in map(getbufinfo({'bufloaded': 1}), 'v:val["bufnr"]') if has('nvim') call nvim_buf_clear_namespace(bufnr, src_id, 0, -1) else call coc#api#exec('buf_clear_namespace', [bufnr, src_id, 0, -1]) endif endfor endfor endfunction function! coc#highlight#create_namespace(key) abort if type(a:key) == 0 return a:key endif if has_key(s:namespace_map, a:key) return s:namespace_map[a:key] endif if has('nvim') let s:namespace_map[a:key] = nvim_create_namespace('coc-'.a:key) else let s:namespace_map[a:key] = s:ns_id let s:ns_id = s:ns_id + 1 endif return s:namespace_map[a:key] endfunction function! coc#highlight#get_syntax_name(lnum, col) return synIDattr(synIDtrans(synID(a:lnum,a:col,1)),"name") endfunction function! s:prop_type_hlgroup(type) abort return substitute(a:type, '_\d\+$', '', '') endfunction function! s:update_highlights_timer(bufnr, changedtick, key, priority, groups, idx) abort if getbufvar(a:bufnr, 'changedtick', 0) != a:changedtick return endif let group = get(a:groups, a:idx, v:null) if empty(group) return endif if empty(group['highlights']) call coc#highlight#clear_highlight(a:bufnr, a:key, group['start'], group['end']) else call coc#highlight#update_highlights(a:bufnr, a:key, group['highlights'], group['start'], group['end'], a:priority) endif if a:idx < len(a:groups) - 1 call timer_start(50, { -> s:update_highlights_timer(a:bufnr, a:changedtick, a:key, a:priority, a:groups, a:idx + 1)}) endif endfunction function! s:add_highlights_timer(bufnr, ns, highlights, priority) abort let hls = [] let next = [] for i in range(0, len(a:highlights) - 1) if i < g:coc_highlight_maximum_count call add(hls, a:highlights[i]) else call add(next, a:highlights[i]) endif endfor call s:add_highlights(a:bufnr, a:ns, hls, a:priority) if len(next) call timer_start(30, {->s:add_highlights_timer(a:bufnr, a:ns, next, a:priority)}) endif endfunction function! s:add_highlights(bufnr, ns, highlights, priority) abort for item in a:highlights let opts = { \ 'priority': a:priority, \ 'combine': get(item, 4, 1) ? 1 : 0, \ 'start_incl': get(item, 5, 0) ? 1 : 0, \ 'end_incl': get(item, 6, 0) ? 1 : 0, \ } call coc#highlight#add_highlight(a:bufnr, a:ns, item[0], item[1], item[2], item[3], opts) endfor endfunction function! s:to_group(items) abort let res = [] let before = v:null for item in a:items if empty(before) || before[0] != item[1] let before = [item[1], [item]] call add(res, before) else call add(before[1], item) endif endfor return res endfunction function! s:get_priority(key, hlGroup, priority) abort if a:hlGroup ==# 'CocListSearch' return 2048 endif if a:hlGroup ==# 'CocSearch' return 999 endif if strpart(a:key, 0, 10) !=# 'diagnostic' return a:priority endif return a:priority - index(s:diagnostic_hlgroups, a:hlGroup) endfunction function! s:group_hls(hls, linecount) abort " start, end, highlights let groups = [] if empty(a:hls) call add(groups, {'start': 0, 'end': a:linecount, 'highlights': []}) return groups endif let start = 0 let highlights = [] let lastLnum = -1 for item in a:hls let lnum = item['lnum'] if lnum >= a:linecount break endif if len(highlights) < g:coc_highlight_maximum_count || lnum == lastLnum call add(highlights, item) let lastLnum = lnum else call add(groups, {'start': start, 'end': lastLnum + 1, 'highlights': highlights}) let highlights = [] let start = lastLnum + 1 call add(highlights, item) let lastLnum = lnum endif endfor call add(groups, {'start': start, 'end': a:linecount, 'highlights': highlights}) return groups endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/list.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:prefix = '[List Preview]' let s:sign_group = 'CocList' " filetype detect could be slow. let s:filetype_map = { \ 'c': 'c', \ 'py': 'python', \ 'vim': 'vim', \ 'ts': 'typescript', \ 'js': 'javascript', \ 'html': 'html', \ 'css': 'css' \ } let s:pwinid = -1 let s:pbufnr = -1 let s:match_ns = coc#highlight#create_namespace('list-match') let s:sign_range = 'CocCursorLine' let s:sign_popup_range = 'PopUpCocList' let s:current_line_hl = 'CocListCurrent' function! coc#list#getchar() abort return coc#prompt#getchar() endfunction function! coc#list#setlines(bufnr, lines, append) if a:append silent call appendbufline(a:bufnr, '$', a:lines) else if exists('*deletebufline') silent call deletebufline(a:bufnr, len(a:lines) + 1, '$') else let n = len(a:lines) + 1 let saved_reg = @" silent execute n.',$d' let @" = saved_reg endif silent call setbufline(a:bufnr, 1, a:lines) endif endfunction function! coc#list#options(...) let list = ['--top', '--tab', '--normal', '--no-sort', '--input=', '--strict', \ '--regex', '--interactive', '--number-select', '--auto-preview', \ '--ignore-case', '--no-quit', '--first', '--reverse', '--height='] if get(g:, 'coc_enabled', 0) let names = coc#rpc#request('listNames', []) call extend(list, names) endif return join(list, "\n") endfunction function! coc#list#names(...) abort let names = coc#rpc#request('listNames', []) return join(names, "\n") endfunction function! coc#list#status(name) if !exists('b:list_status') | return '' | endif return get(b:list_status, a:name, '') endfunction function! coc#list#create(position, height, name, numberSelect) if a:position ==# 'tab' call coc#ui#safe_open('silent tabe', 'list:///'.a:name) else call s:save_views(-1) let height = max([1, a:height]) let cmd = 'silent keepalt '.(a:position ==# 'top' ? '' : 'botright').height.'sp' call coc#ui#safe_open(cmd, 'list:///'.a:name) call s:set_height(height) call s:restore_views() endif if a:numberSelect setl norelativenumber setl number else setl nonumber setl norelativenumber endif setl colorcolumn="" return [bufnr('%'), win_getid(), tabpagenr()] endfunction " close list windows function! coc#list#clean_up() abort for i in range(1, winnr('$')) let bufname = bufname(winbufnr(i)) if bufname =~# 'list://' execute i.'close!' endif endfor endfunction function! coc#list#setup(source) let b:list_status = {} setl buftype=nofile nobuflisted nofen nowrap setl norelativenumber bufhidden=wipe nocursorline winfixheight setl tabstop=1 nolist nocursorcolumn undolevels=-1 setl signcolumn=auto if exists('&cursorlineopt') setl cursorlineopt=both endif if s:is_vim setl nocursorline else setl cursorline setl winhighlight=CursorLine:CocListLine endif if has('nvim-0.5.0') || has('patch-8.1.0864') setl scrolloff=0 endif setl filetype=list syntax case ignore let source = a:source[8:] let name = toupper(source[0]).source[1:] execute 'syntax match Coc'.name.'Line /\v^.*$/' if !s:is_vim " Repeat press and would invoke on vim nnoremap c endif endfunction function! coc#list#close(winid, position, target_win, saved_height) abort let tabnr = coc#window#tabnr(a:winid) if a:position ==# 'tab' if tabnr != -1 call coc#list#close_preview(tabnr, 0) endif call coc#window#close(a:winid) else call s:save_views(a:winid) if tabnr != -1 call coc#list#close_preview(tabnr, 0) endif if type(a:target_win) == v:t_number call win_gotoid(a:target_win) endif call coc#window#close(a:winid) call s:restore_views() if type(a:saved_height) == v:t_number call coc#window#set_height(a:target_win, a:saved_height) endif " call coc#rpc#notify('Log', ["close", a:target_win, v]) endif endfunction function! coc#list#select(bufnr, line) abort if s:is_vim && !empty(a:bufnr) && bufloaded(a:bufnr) call sign_unplace(s:sign_group, { 'buffer': a:bufnr }) if a:line > 0 call sign_place(6, s:sign_group, s:current_line_hl, a:bufnr, {'lnum': a:line}) endif endif endfunction " Check if previewwindow exists on current tab. function! coc#list#has_preview() if s:pwinid != -1 && coc#window#visible(s:pwinid) return 1 endif for i in range(1, winnr('$')) let preview = getwinvar(i, 'previewwindow', getwinvar(i, '&previewwindow', 0)) if preview return i endif endfor return 0 endfunction " Get previewwindow from tabnr, use 0 for current tab function! coc#list#get_preview(...) abort if s:pwinid != -1 && coc#window#visible(s:pwinid) return s:pwinid endif let tabnr = get(a:, 1, 0) == 0 ? tabpagenr() : a:1 let info = gettabinfo(tabnr) if !empty(info) for win in info[0]['windows'] if gettabwinvar(tabnr, win, 'previewwindow', 0) return win endif endfor endif return -1 endfunction function! coc#list#scroll_preview(dir) abort let winid = coc#list#get_preview() if winid == -1 return endif if exists('*win_execute') call win_execute(winid, "normal! ".(a:dir ==# 'up' ? "\" : "\")) else let id = win_getid() noa call win_gotoid(winid) execute "normal! ".(a:dir ==# 'up' ? "\" : "\") noa call win_gotoid(id) endif endfunction function! coc#list#close_preview(...) abort let tabnr = get(a:, 1, tabpagenr()) let winid = coc#list#get_preview(tabnr) if winid != -1 let keep = get(a:, 2, 1) && tabnr == tabpagenr() && !coc#window#is_float(winid) if keep call s:save_views(winid) endif call coc#window#close(winid) if keep call s:restore_views() endif endif endfunction function! s:get_preview_lines(lines, config) abort if empty(a:lines) if get(a:config, 'scheme', 'file') !=# 'file' let bufnr = s:load_buffer(get(a:config, 'name', '')) return bufnr == 0 ? [''] : getbufline(bufnr, 1, '$') else return [''] endif endif return a:lines endfunction function! coc#list#float_preview(lines, config) abort let position = get(a:config, 'position', 'bottom') if position ==# 'tab' throw 'unable to use float preview' endif let remain = 0 let winrow = win_screenpos(winnr())[0] if position ==# 'bottom' let remain = winrow - 2 else let winbottom = winrow + winheight(winnr()) let remain = &lines - &cmdheight - 1 - winbottom endif let lines = s:get_preview_lines(a:lines, a:config) let height = s:get_preview_height(lines, a:config) let height = min([remain, height + 2]) if height < 0 return endif let row = position ==# 'bottom' ? winrow - 3 - height : winrow + winheight(winnr()) let title = fnamemodify(get(a:config, 'name', ''), ':.') let total = get(get(b:, 'list_status', {}), 'total', 0) if !empty(total) let title .= ' ('.line('.').'/'.total.')' endif let lnum = min([get(a:config, 'lnum', 1), len(lines)]) let opts = { \ 'relative': 'editor', \ 'width': winwidth(winnr()) - 2, \ 'borderhighlight': 'MoreMsg', \ 'highlight': 'Normal', \ 'height': height, \ 'col': 0, \ 'index': lnum - 1, \ 'row': row, \ 'border': [1,1,1,1], \ 'rounded': 1, \ 'lines': lines, \ 'scrollinside': 1, \ 'title': title, \ } let result = coc#float#create_float_win(s:pwinid, s:pbufnr, opts) if empty(result) return endif let s:pwinid = result[0] let s:pbufnr = result[1] call setwinvar(s:pwinid, 'previewwindow', 1) let topline = s:get_topline(a:config, lnum, height) call coc#window#restview(s:pwinid, lnum, topline) call s:preview_highlights(s:pwinid, s:pbufnr, a:config, 1) endfunction " Improve preview performance by reused window & buffer. " lines - list of lines " config.position - could be 'bottom' 'top' 'tab'. " config.winid - id of original window. " config.name - (optional )name of preview buffer. " config.splitRight - (optional) split to right when 1. " config.lnum - (optional) current line number " config.filetype - (optional) filetype of lines. " config.range - (optional) highlight range. with hlGroup. " config.hlGroup - (optional) highlight group. " config.maxHeight - (optional) max height of window, valid for 'bottom' & 'top' position. function! coc#list#preview(lines, config) abort let lines = s:get_preview_lines(a:lines, a:config) let winid = coc#list#get_preview(0) let bufnr = winid == -1 ? 0 : winbufnr(winid) " Try reuse buffer & window let bufnr = coc#float#create_buf(bufnr, lines) if bufnr == 0 return endif let lnum = get(a:config, 'lnum', 1) let position = get(a:config, 'position', 'bottom') let original = get(a:config, 'winid', -1) if winid == -1 let change = position != 'tab' && get(a:config, 'splitRight', 0) let curr = win_getid() if change if original && win_id2win(original) noa call win_gotoid(original) else noa wincmd t endif execute 'noa belowright vert sb '.bufnr let winid = win_getid() elseif position == 'tab' || get(a:config, 'splitRight', 0) execute 'noa belowright vert sb '.bufnr let winid = win_getid() else let mod = position == 'top' ? 'below' : 'above' let height = s:get_preview_height(lines, a:config) call s:save_views(-1) execute 'noa '.mod.' sb +resize\ '.height.' '.bufnr call s:restore_views() let winid = win_getid() endif call setbufvar(bufnr, '&synmaxcol', 500) noa call winrestview({"lnum": lnum ,"topline":s:get_topline(a:config, lnum, winheight(winid))}) call s:set_preview_options(winid) noa call win_gotoid(curr) else let height = s:get_preview_height(lines, a:config) if height > 0 if s:is_vim let curr = win_getid() noa call win_gotoid(winid) execute 'silent! noa resize '.height noa call win_gotoid(curr) else call s:save_views(winid) call nvim_win_set_height(winid, height) call s:restore_views() endif endif call coc#window#restview(winid, lnum, s:get_topline(a:config, lnum, height)) endif call s:preview_highlights(winid, bufnr, a:config, 0) endfunction function! s:preview_highlights(winid, bufnr, config, float) abort let name = fnamemodify(get(a:config, 'name', ''), ':.') let newname = s:prefix.' '.name if newname !=# bufname(a:bufnr) if s:is_vim call win_execute(a:winid, 'noa file '.fnameescape(newname), 'silent!') else silent! noa call nvim_buf_set_name(a:bufnr, newname) endif endif let filetype = get(a:config, 'filetype', '') let extname = matchstr(name, '\.\zs[^.]\+$') if empty(filetype) && !empty(extname) let filetype = get(s:filetype_map, extname, '') endif " highlights let sign_group = s:is_vim && a:float ? s:sign_popup_range : s:sign_range call coc#compat#execute(a:winid, ['syntax clear', 'call clearmatches()']) call sign_unplace(sign_group, {'buffer': a:bufnr}) let lnum = get(a:config, 'lnum', 1) if !empty(filetype) let start = max([0, lnum - 300]) let end = min([coc#compat#buf_line_count(a:bufnr), lnum + 300]) call coc#highlight#highlight_lines(a:winid, [{'filetype': filetype, 'startLine': start, 'endLine': end}]) call coc#compat#execute(a:winid, 'syn sync fromstart') else call coc#compat#execute(a:winid, 'filetype detect') let ft = getbufvar(a:bufnr, '&filetype', '') if !empty(extname) && !empty(ft) let s:filetype_map[extname] = ft endif endif " selection range let targetRange = get(a:config, 'targetRange', v:null) if !empty(targetRange) for lnum in range(targetRange['start']['line'] + 1, targetRange['end']['line'] + 1) call sign_place(0, sign_group, s:current_line_hl, a:bufnr, {'lnum': lnum}) endfor endif let range = get(a:config, 'range', v:null) if !empty(range) let hlGroup = get(a:config, 'hlGroup', 'Search') call coc#highlight#match_ranges(a:winid, a:bufnr, [range], hlGroup, 10) endif endfunction function! s:get_preview_height(lines, config) abort if get(a:config, 'splitRight', 0) || get(a:config, 'position', 'bottom') == 'tab' return 0 endif let height = min([get(a:config, 'maxHeight', 10), len(a:lines), &lines - &cmdheight - 2]) return height endfunction function! s:load_buffer(name) abort if exists('*bufadd') && exists('*bufload') let bufnr = bufadd(a:name) call bufload(bufnr) return bufnr endif return 0 endfunction function! s:get_topline(config, lnum, winheight) abort let toplineStyle = get(a:config, 'toplineStyle', 'offset') if toplineStyle == 'middle' return max([1, a:lnum - a:winheight/2]) endif let toplineOffset = get(a:config, 'toplineOffset', 3) return max([1, a:lnum - toplineOffset]) endfunction function! s:set_preview_options(winid) abort call setwinvar(a:winid, '&foldmethod', 'manual') call setwinvar(a:winid, '&foldenable', 0) call setwinvar(a:winid, '&signcolumn', 'no') call setwinvar(a:winid, '&number', 1) call setwinvar(a:winid, '&cursorline', 0) call setwinvar(a:winid, '&relativenumber', 0) call setwinvar(a:winid, 'previewwindow', 1) endfunction " save views on current tabpage function! s:save_views(exclude) abort " Not work as expected when cursor becomes hidden if s:is_vim return endif for nr in range(1, winnr('$')) let winid = win_getid(nr) if winid != a:exclude && getwinvar(nr, 'previewwindow', 0) == 0 && !coc#window#is_float(winid) call coc#compat#execute(winid, 'let w:coc_list_saved_view = winsaveview()') endif endfor endfunction function! s:restore_views() abort if s:is_vim return endif for nr in range(1, winnr('$')) let saved = getwinvar(nr, 'coc_list_saved_view', v:null) if !empty(saved) let winid = win_getid(nr) call coc#compat#execute(winid, 'noa call winrestview(w:coc_list_saved_view) | unlet w:coc_list_saved_view') endif endfor endfunction function! s:set_height(height) abort let curr = winheight(0) if curr != a:height execute 'resize '.a:height endif endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/math.vim ================================================ " support for float values function! coc#math#min(first, ...) abort let val = a:first for i in range(0, len(a:000) - 1) if a:000[i] < val let val = a:000[i] endif endfor return val endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/notify.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:utf = has('nvim') || &encoding =~# '^utf' let s:error_icon = get(g:, 'coc_notify_error_icon', s:utf ? "\uf057" : 'E') let s:warning_icon = get(g:, 'coc_notify_warning_icon', s:utf ? "\u26a0" : 'W') let s:info_icon = get(g:, 'coc_notify_info_icon', s:utf ? "\uf06a" : 'I') let s:interval = get(g:, 'coc_notify_interval', s:is_vim ? 50 : 20) let s:phl = 'CocNotificationProgress' let s:progress_char = '─' let s:duration = 300.0 let s:winids = [] " Valid notify winids on current tab function! coc#notify#win_list() abort call filter(s:winids, 'coc#float#valid(v:val)') return filter(copy(s:winids), '!empty(getwinvar(v:val,"float"))') endfunction function! coc#notify#close_all() abort for winid in coc#notify#win_list() call coc#notify#close(winid) endfor endfunction " Do action for winid or first notify window with actions. function! coc#notify#do_action(...) abort let winids = a:0 > 0 ? a:000 : coc#notify#win_list() for winid in winids if coc#float#valid(winid) && getwinvar(winid, 'closing', 0) != 1 let actions = getwinvar(winid, 'actions', []) if !empty(actions) let items = map(copy(actions), '(v:key + 1).". ".v:val') let msg = join(getbufline(winbufnr(winid), 1, '$'), ' ') call coc#ui#quickpick(msg, items, {err, res -> s:on_action(err, res, winid) }) break endif endif endfor endfunction " Copy notification contents function! coc#notify#copy() abort let lines = [] for winid in coc#notify#win_list() let key = getwinvar(winid, 'key', v:null) if type(key) == v:t_string call extend(lines, json_decode(key)['lines']) endif endfor if empty(lines) echohl WarningMsg | echon 'No content to copy' | echohl None return endif call setreg('*', join(lines, "\n")) endfunction " Show source name in window function! coc#notify#show_sources() abort if !exists('*getbufline') || !exists('*appendbufline') throw "getbufline and appendbufline functions required, please upgrade your vim." endif let winids = filter(coc#notify#win_list(), 'coc#window#get_var(v:val,"closing") != 1') for winid in winids let key = getwinvar(winid, 'key', v:null) if type(key) == v:t_string let bufnr = winbufnr(winid) let obj = json_decode(key) let sourcename = get(obj, 'source', '') let lnum = get(obj, 'kind', '') ==# 'progress' ? 1 : 0 let content = get(getbufline(bufnr, lnum + 1), 0, '') if empty(sourcename) || content ==# sourcename continue endif call appendbufline(bufnr, lnum, sourcename) call coc#highlight#add_highlight(bufnr, -1, 'Title', lnum, 0, -1) call coc#float#scroll_win(winid, 0, 1) endif endfor redra endfunction function! coc#notify#close_by_source(source) abort let winids = filter(coc#notify#win_list(), 'coc#window#get_var(v:val,"closing") != 1') for winid in winids let key = getwinvar(winid, 'key', v:null) if type(key) == v:t_string let obj = json_decode(key) if get(obj, 'source', '') ==# a:source call coc#notify#close(winid) endif endif endfor endfunction " Cancel auto hide function! coc#notify#keep() abort for winid in coc#notify#win_list() call s:cancel(winid, 'close_timer') endfor endfunction " borderhighlight - border highlight [string] " maxWidth - max content width, default 60 [number] " minWidth - minimal width [number] " maxHeight - max content height, default 10 [number] " highlight - default highlight [string] " winblend - winblend [number] " timeout - auto close timeout, default 5000 [number] " title - title text " marginRight - margin right, default 10 [number] " focusable - focusable [number] " source - source name [string] " kind - kind for create icon [string] " actions - action names [string[]] " close - close button [boolean] function! coc#notify#create(lines, config) abort let actions = get(a:config, 'actions', []) let key = json_encode(extend({'lines': a:lines}, a:config)) let winid = s:find_win(key) let kind = get(a:config, 'kind', '') let row = 0 if winid != -1 let row = getwinvar(winid, 'top', 0) call filter(s:winids, 'v:val != '.winid) call coc#float#close(winid, 1) let winid = v:null endif let opts = coc#dict#pick(a:config, ['highlight', 'borderhighlight', 'focusable', 'shadow', 'close']) let border = has_key(opts, 'borderhighlight') ? [1, 1, 1, 1] : [] let icon = s:get_icon(kind, get(a:config, 'highlight', 'CocFloating')) let margin = get(a:config, 'marginRight', 10) let maxWidth = min([&columns - margin - 2, get(a:config, 'maxWidth', 80)]) if maxWidth <= 0 throw 'No enough spaces for notification' endif let lines = map(copy(a:lines), 'tr(v:val, "\t", " ")') if has_key(a:config, 'title') if !empty(border) let opts['title'] = a:config['title'] else let lines = [a:config['title']] + lines endif endif let width = max(map(copy(lines), 'strwidth(v:val)')) + (empty(icon) ? 1 : 3) if width > maxWidth let lines = coc#string#reflow(lines, maxWidth) let width = max(map(copy(lines), 'strwidth(v:val)')) + (empty(icon) ? 1 : 3) endif let highlights = [] if !empty(icon) let ic = icon['text'] if empty(lines) call add(lines, ic) else let lines[0] = ic.' '.lines[0] endif call add(highlights, {'lnum': 0, 'hlGroup': icon['hl'], 'colStart': 0, 'colEnd': strlen(ic)}) endif let actionText = join(actions, ' ') call map(lines, 'v:key == 0 ? v:val : repeat(" ", '.(empty(icon) ? 0 : 2).').v:val') let minWidth = get(a:config, 'minWidth', kind ==# 'progress' ? 30 : 10) let width = max(extend(map(lines + [get(opts, 'title', '').' '], 'strwidth(v:val)'), [minWidth, strwidth(actionText) + 1])) let width = min([maxWidth, width]) let height = min([get(a:config, 'maxHeight', 3), len(lines)]) if kind ==# 'progress' let lines = [repeat(s:progress_char, width)] + lines let height = height + 1 endif if !empty(actions) let before = max([width - strwidth(actionText), 0]) let lines = lines + [repeat(' ', before).actionText] let height = height + 1 call s:add_action_highlights(before, height - 1, highlights, actions) endif if row == 0 let wintop = coc#notify#get_top() let row = wintop - height - (empty(border) ? 0 : 2) - 1 if !s:is_vim && !empty(border) let row = row + 1 endif endif let col = &columns - margin - width if s:is_vim && !empty(border) let col = col - 2 endif let winblend = 60 " Avoid animate for transparent background. if get(a:config, 'winblend', 30) == 0 && empty(synIDattr(synIDtrans(hlID(get(opts, 'highlight', 'CocFloating'))), 'bg', 'gui')) let winblend = 0 endif call extend(opts, { \ 'relative': 'editor', \ 'width': width, \ 'height': height, \ 'col': col, \ 'row': row + 1, \ 'lines': lines, \ 'rounded': 1, \ 'highlights': highlights, \ 'winblend': winblend, \ 'border': border, \ }) let result = coc#float#create_float_win(0, 0, opts) if empty(result) throw 'Unable to create notify window' endif let winid = result[0] let bufnr = result[1] call setwinvar(winid, 'right', 1) call setwinvar(winid, 'kind', 'notification') call setwinvar(winid, 'top', row) call setwinvar(winid, 'key', key) call setwinvar(winid, 'actions', actions) call setwinvar(winid, 'source', get(a:config, 'source', '')) call setwinvar(winid, 'borders', !empty(border)) call coc#float#nvim_scrollbar(winid) call add(s:winids, winid) let from = {'row': opts['row'], 'winblend': opts['winblend']} let to = {'row': row, 'winblend': get(a:config, 'winblend', 30)} call timer_start(s:interval, { -> s:animate(winid, from, to, 0)}) if kind ==# 'progress' call timer_start(s:interval, { -> s:progress(winid, width, 0, -1)}) endif if !s:is_vim call coc#compat#buf_add_keymap(bufnr, 'n', '', ':call coc#notify#nvim_click('.winid.')', { \ 'silent': v:true, \ 'nowait': v:true \ }) endif " Enable auto close if empty(actions) && kind !=# 'progress' let timer = timer_start(get(a:config, 'timeout', 10000), { -> coc#notify#close(winid)}) call setwinvar(winid, 'close_timer', timer) endif return [winid, bufnr] endfunction function! coc#notify#nvim_click(winid) abort if getwinvar(a:winid, 'closing', 0) return endif call s:cancel(a:winid, 'close_timer') let actions = getwinvar(a:winid, 'actions', []) if !empty(actions) let character = strpart(getline('.'), col('.') - 1, 1) if character =~# '^\k' let word = expand('') let idx = index(actions, word) if idx != -1 call coc#rpc#notify('FloatBtnClick', [winbufnr(a:winid), idx]) call coc#notify#close(a:winid) endif endif endif endfunction function! coc#notify#on_close(winid) abort if index(s:winids, a:winid) >= 0 call filter(s:winids, 'v:val != '.a:winid) call coc#notify#reflow() endif endfunction function! coc#notify#get_top() abort let mintop = min(map(coc#notify#win_list(), 'coc#notify#get_win_top(v:val)')) if mintop != 0 return mintop endif return &lines - &cmdheight - (&laststatus == 0 ? 0 : 1 ) endfunction function! coc#notify#get_win_top(winid) abort let row = getwinvar(a:winid, 'top', 0) if row == 0 return row endif return row - (s:is_vim ? 0 : getwinvar(a:winid, 'borders', 0)) endfunction " Close with timer function! coc#notify#close(winid) abort if !coc#float#valid(a:winid) || coc#window#get_var(a:winid, 'closing', 0) == 1 return endif if !coc#window#visible(a:winid) call coc#float#close(a:winid, 1) return endif let row = coc#window#get_var(a:winid, 'top') if type(row) != v:t_number call coc#float#close(a:winid) return endif call coc#window#set_var(a:winid, 'closing', 1) call s:cancel(a:winid) let winblend = coc#window#get_var(a:winid, 'winblend', 0) let curr = s:is_vim ? {'row': row} : {'winblend': winblend} let dest = s:is_vim ? {'row': row + 1} : {'winblend': winblend == 0 ? 0 : 60} call s:animate(a:winid, curr, dest, 0, 1) endfunction function! s:add_action_highlights(before, lnum, highlights, actions) abort let colStart = a:before for text in a:actions let w = strwidth(text) call add(a:highlights, { \ 'lnum': a:lnum, \ 'hlGroup': 'CocNotificationButton', \ 'colStart': colStart, \ 'colEnd': colStart + w \ }) let colStart = colStart + w + 1 endfor endfunction function! s:on_action(err, idx, winid) abort if !empty(a:err) throw a:err endif if a:idx > 0 call coc#rpc#notify('FloatBtnClick', [winbufnr(a:winid), a:idx - 1]) call coc#notify#close(a:winid) endif endfunction function! s:cancel(winid, ...) abort let name = get(a:, 1, 'timer') let timer = coc#window#get_var(a:winid, name) if !empty(timer) call timer_stop(timer) call coc#window#set_var(a:winid, name, v:null) endif endfunction function! s:progress(winid, total, curr, index) abort if !coc#float#valid(a:winid) return endif if coc#window#visible(a:winid) let total = a:total let idx = float2nr(a:curr/5.0)%total let option = coc#float#get_options(a:winid) let width = option['width'] if idx != a:index " update percent & message let bufnr = winbufnr(a:winid) let percent = coc#window#get_var(a:winid, 'percent') let lines = [] if !empty(percent) let line = repeat(s:progress_char, width - 4).printf('%4s', percent) let total = width - 4 call add(lines, line) else call add(lines, repeat(s:progress_char, width)) endif let message = coc#window#get_var(a:winid, 'message') if !empty(message) let lines = lines + coc#string#reflow(split(message, '\v\r?\n'), width) endif noa call setbufline(bufnr, 1, lines) noa call deletebufline(bufnr, len(lines) + 1, '$') let height = option['height'] let delta = len(lines) - height if delta > 0 && height < 3 call coc#float#change_height(a:winid, min([delta, 3 - height])) let tabnr = coc#window#tabnr(a:winid) call coc#notify#reflow(tabnr) if len(lines) > 3 call coc#float#nvim_scrollbar(a:winid) endif endif let bytes = strlen(s:progress_char) call coc#highlight#clear_highlight(bufnr, -1, 0, 1) let colStart = bytes * idx if idx + 4 <= total let colEnd = bytes * (idx + 4) call coc#highlight#add_highlight(bufnr, -1, s:phl, 0, colStart, colEnd) else let colEnd = bytes * total call coc#highlight#add_highlight(bufnr, -1, s:phl, 0, colStart, colEnd) call coc#highlight#add_highlight(bufnr, -1, s:phl, 0, 0, bytes * (idx + 4 - total)) endif endif call timer_start(s:interval, { -> s:progress(a:winid, total, a:curr + 1, idx)}) else " Not block CursorHold event call timer_start(&updatetime + 100, { -> s:progress(a:winid, a:total, a:curr, a:index)}) endif endfunction " Optional row & winblend function! s:config_win(winid, props) abort let change_row = has_key(a:props, 'row') if s:is_vim if change_row call popup_move(a:winid, {'line': a:props['row'] + 1}) endif else if change_row let [row, column] = nvim_win_get_position(a:winid) call nvim_win_set_config(a:winid, { \ 'row': a:props['row'], \ 'col': column, \ 'relative': 'editor', \ }) call s:nvim_move_related(a:winid, a:props['row']) endif call coc#float#nvim_set_winblend(a:winid, get(a:props, 'winblend', v:null)) call coc#float#nvim_refresh_scrollbar(a:winid) endif endfunction function! s:nvim_move_related(winid, row) abort let winids = coc#window#get_var(a:winid, 'related') if empty(winids) return endif for winid in winids if nvim_win_is_valid(winid) let [row, column] = nvim_win_get_position(winid) let delta = coc#window#get_var(winid, 'delta', 0) call nvim_win_set_config(winid, { \ 'row': a:row + delta, \ 'col': column, \ 'relative': 'editor', \ }) endif endfor endfunction function! s:animate(winid, from, to, prev, ...) abort if !coc#float#valid(a:winid) return endif let curr = a:prev + s:interval let percent = coc#math#min(curr / s:duration, 1) let props = s:get_props(a:from, a:to, percent) call s:config_win(a:winid, props) let close = get(a:, 1, 0) if percent < 1 call timer_start(s:interval, { -> s:animate(a:winid, a:from, a:to, curr, close)}) elseif close call filter(s:winids, 'v:val != '.a:winid) let tabnr = coc#window#tabnr(a:winid) if tabnr != -1 call coc#float#close(a:winid, 1) call coc#notify#reflow(tabnr) endif endif endfunction function! coc#notify#reflow(...) abort let tabnr = get(a:, 1, tabpagenr()) let winids = filter(copy(s:winids), 'coc#window#tabnr(v:val) == '.tabnr.' && coc#window#get_var(v:val,"closing") != 1') if empty(winids) return endif let animate = tabnr == tabpagenr() let wins = map(copy(winids), {_, val -> { \ 'winid': val, \ 'row': coc#window#get_var(val,'top',0), \ 'top': coc#window#get_var(val,'top',0) - (s:is_vim ? 0 : coc#window#get_var(val, 'borders', 0)), \ 'height': coc#float#get_height(val), \ }}) call sort(wins, {a, b -> b['top'] - a['top']}) let bottom = &lines - &cmdheight - (&laststatus == 0 ? 0 : 1 ) let moved = 0 for item in wins let winid = item['winid'] let delta = bottom - (item['top'] + item['height'] + 1) if delta != 0 call s:cancel(winid) let dest = item['row'] + delta call coc#window#set_var(winid, 'top', dest) if animate call s:move_win_timer(winid, {'row': item['row']}, {'row': dest}, 0) else call s:config_win(winid, {'row': dest}) endif let moved = moved + delta endif let bottom = item['top'] + delta endfor endfunction function! s:move_win_timer(winid, from, to, curr) abort if !coc#float#valid(a:winid) return endif if coc#window#get_var(a:winid, 'closing', 0) == 1 return endif let percent = coc#math#min(a:curr / s:duration, 1) let next = a:curr + s:interval if a:curr > 0 call s:config_win(a:winid, s:get_props(a:from, a:to, percent)) endif if percent < 1 let timer = timer_start(s:interval, { -> s:move_win_timer(a:winid, a:from, a:to, next)}) call coc#window#set_var(a:winid, 'timer', timer) endif endfunction function! s:find_win(key) abort for winid in coc#notify#win_list() if getwinvar(winid, 'key', '') ==# a:key return winid endif endfor return -1 endfunction function! s:get_icon(kind, bg) abort if a:kind ==# 'info' return {'text': s:info_icon, 'hl': coc#highlight#compose_hlgroup('CocInfoSign', a:bg)} endif if a:kind ==# 'warning' return {'text': s:warning_icon, 'hl': coc#highlight#compose_hlgroup('CocWarningSign', a:bg)} endif if a:kind ==# 'error' return {'text': s:error_icon, 'hl': coc#highlight#compose_hlgroup('CocErrorSign', a:bg)} endif return v:null endfunction " percent should be float function! s:get_props(from, to, percent) abort let obj = {} for key in keys(a:from) let changed = a:to[key] - a:from[key] if !s:is_vim && key ==# 'row' " Could be float let obj[key] = a:from[key] + changed * a:percent else let obj[key] = a:from[key] + float2nr(round(changed * a:percent)) endif endfor return obj endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/prompt.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:activated = 0 let s:session_names = [] let s:saved_ve = &t_ve let s:saved_cursor = &guicursor let s:gui = has('gui_running') || has('nvim') let s:char_map = { \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\":'' , \ "\":'' , \ "\":'', \ "\":'', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\<2-LeftMouse>": '<2-LeftMouse>', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ "\": '', \ } function! coc#prompt#getc() abort let c = getchar() return type(c) is 0 ? nr2char(c) : c endfunction function! coc#prompt#getchar() abort let input = coc#prompt#getc() if 1 != &iminsert return input endif "a language keymap is activated, so input must be resolved to the mapped values. let partial_keymap = mapcheck(input, 'l') while partial_keymap !=# '' let dict = maparg(input, 'l', 0, 1) if empty(dict) || get(dict, 'expr', 0) return input endif let full_keymap = get(dict, 'rhs', '') if full_keymap ==# "" && len(input) >= 3 "HACK: assume there are no keymaps longer than 3. return input elseif full_keymap ==# partial_keymap return full_keymap endif let c = coc#prompt#getc() if c ==# "\" || c ==# "\" "if the short sequence has a valid mapping, return that. if !empty(full_keymap) return full_keymap endif return input endif let input .= c let partial_keymap = mapcheck(input, 'l') endwhile return input endfunction function! coc#prompt#start_prompt(session) abort let s:session_names = s:filter(s:session_names, a:session) call add(s:session_names, a:session) if s:activated | return | endif if s:is_vim call s:start_prompt_vim() else call s:start_prompt() endif endfunction function! s:start_prompt_vim() abort call timer_start(10, {-> s:start_prompt()}) endfunction function! s:start_prompt() if s:activated | return | endif if !get(g:, 'coc_disable_transparent_cursor', 0) if s:gui if has('nvim-0.5.0') && !empty(s:saved_cursor) set guicursor+=a:ver1-CocCursorTransparent/lCursor endif elseif s:is_vim set t_ve= endif endif let s:activated = 1 try while s:activated let ch = coc#prompt#getchar() if ch ==# "\" || ch ==# "\" || ch ==# "\" continue else let curr = s:current_session() let mapped = get(s:char_map, ch, ch) if !empty(curr) call coc#rpc#notify('InputChar', [curr, mapped, getcharmod()]) endif if mapped == '' let s:session_names = [] call s:reset() break endif endif endwhile catch /^Vim:Interrupt$/ let s:activated = 0 call coc#rpc#notify('InputChar', [s:current_session(), '', 0]) let s:session_names = [] call s:reset() return endtry let s:activated = 0 endfunction function! coc#prompt#stop_prompt(session) let s:session_names = s:filter(s:session_names, a:session) if len(s:session_names) return endif if s:activated let s:activated = 0 call s:reset() call feedkeys("\", 'int') endif endfunction function! coc#prompt#activated() abort return s:activated endfunction function! s:reset() abort if !get(g:, 'coc_disable_transparent_cursor',0) " neovim has bug with revert empty &guicursor if s:gui && !empty(s:saved_cursor) if has('nvim-0.5.0') set guicursor+=a:ver1-Cursor/lCursor let &guicursor = s:saved_cursor endif elseif s:is_vim let &t_ve = s:saved_ve endif endif echo "" endfunction function! s:current_session() abort if empty(s:session_names) return v:null endif return s:session_names[len(s:session_names) - 1] endfunction function! s:filter(list, id) abort return filter(copy(a:list), 'v:val !=# a:id') endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/pum.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:pum_bufnr = 0 let s:pum_winid = -1 let s:pum_index = -1 let s:pum_size = 0 let s:inserted = 0 let s:virtual_text = 0 let s:virtual_text_ns = coc#highlight#create_namespace('pum-virtual') let s:ignore = s:is_vim || has('nvim-0.5.0') ? "\" : "\\" let s:hide_pum = has('nvim-0.6.1') || has('patch-8.2.3389') let s:virtual_text_support = has('nvim-0.5.0') || has('patch-9.0.0067') " bufnr, &indentkeys let s:saved_indenetkeys = [] let s:saved_textwidth = [] let s:prop_id = 0 let s:reversed = 0 let s:check_hl_group = 0 let s:start_col = -1 if s:is_vim && s:virtual_text_support if empty(prop_type_get('CocPumVirtualText')) call prop_type_add('CocPumVirtualText', {'highlight': 'CocPumVirtualText'}) endif endif function! coc#pum#visible() abort if s:pum_winid == -1 return 0 endif " getwinvar check current tab only. return getwinvar(s:pum_winid, 'float', 0) == 1 endfunction function! coc#pum#winid() abort return s:pum_winid endfunction function! coc#pum#close_detail() abort let winid = coc#float#get_float_by_kind('pumdetail') if winid call coc#float#close(winid, 1) endif endfunction function! coc#pum#close(...) abort if coc#pum#visible() let kind = get(a:, 1, '') if kind ==# 'cancel' let input = getwinvar(s:pum_winid, 'input', '') let s:pum_index = -1 call s:insert_word(input, 1) call s:on_pum_change(0) doautocmd TextChangedI elseif kind ==# 'confirm' let words = getwinvar(s:pum_winid, 'words', []) if s:pum_index >= 0 let word = get(words, s:pum_index, '') call s:insert_word(word, 1) " have to restore here, so that TextChangedI can trigger indent. call s:restore_indentkeys() endif doautocmd TextChangedI endif call s:close_pum() if !get(a:, 2, 0) call coc#rpc#notify('CompleteStop', [kind]) endif endif return '' endfunction function! coc#pum#select_confirm() abort if coc#pum#visible() if s:pum_index < 0 let s:pum_index = 0 call s:on_pum_change(0) endif call coc#pum#close('confirm') endif return '' endfunction function! coc#pum#_close() abort if coc#pum#visible() call s:close_pum() endif endfunction function! coc#pum#_one_more() abort if coc#pum#visible() let parts = getwinvar(s:pum_winid, 'parts', []) let start = strlen(parts[0]) let input = strpart(getline('.'), start, col('.') - 1 - start) let words = getwinvar(s:pum_winid, 'words', []) let word = get(words, s:pum_index == -1 ? 0 : s:pum_index, '') if !empty(word) && strcharpart(word, 0, strchars(input)) ==# input let ch = strcharpart(word, strchars(input), 1) if !empty(ch) call feedkeys(ch, "int") endif endif endif return '' endfunction function! coc#pum#_insert() abort if coc#pum#visible() if s:pum_index >= 0 let words = getwinvar(s:pum_winid, 'words', []) let word = get(words, s:pum_index, '') call s:insert_word(word, 1) call s:restore_indentkeys() endif doautocmd TextChangedI call s:close_pum() call coc#rpc#notify('CompleteStop', ['']) endif return '' endfunction function! coc#pum#insert() abort return "\=coc#pum#_insert()\" endfunction " Add one more character from the matched complete item(or first one), " the word should starts with input, the same as vim's CTRL-L behavior. function! coc#pum#one_more() abort return "\=coc#pum#_one_more()\" endfunction function! coc#pum#next(insert) abort return "\=coc#pum#_navigate(1,".a:insert.")\" endfunction function! coc#pum#prev(insert) abort return "\=coc#pum#_navigate(0,".a:insert.")\" endfunction function! coc#pum#stop() abort return "\=coc#pum#close()\" endfunction function! coc#pum#cancel() abort return "\=coc#pum#close('cancel')\" endfunction function! coc#pum#confirm() abort return "\=coc#pum#close('confirm')\" endfunction function! coc#pum#select(index, insert, confirm) abort if coc#pum#visible() if a:index == -1 call coc#pum#close('cancel') return '' endif if a:index < 0 || a:index >= s:pum_size throw 'index out of range ' . a:index endif call s:select_by_index(a:index, a:insert) if a:confirm call coc#pum#close('confirm') endif endif return '' endfunction function! coc#pum#info() abort let bufnr = winbufnr(s:pum_winid) let words = getwinvar(s:pum_winid, 'words', []) let word = s:pum_index < 0 ? '' : get(words, s:pum_index, '') let base = { \ 'word': word, \ 'index': s:pum_index, \ 'size': s:pum_size, \ 'startcol': s:start_col, \ 'inserted': s:pum_index >=0 && s:inserted ? v:true : v:false, \ 'reversed': s:reversed ? v:true : v:false, \ } if s:is_vim let pos = popup_getpos(s:pum_winid) let border = has_key(popup_getoptions(s:pum_winid), 'border') let add = pos['scrollbar'] && border ? 1 : 0 return extend(base, { \ 'scrollbar': pos['scrollbar'], \ 'row': pos['line'] - 1, \ 'col': pos['col'] - 1, \ 'width': pos['width'] + add, \ 'height': pos['height'], \ 'border': border, \ }) else let scrollbar = coc#float#get_related(s:pum_winid, 'scrollbar') let winid = coc#float#get_related(s:pum_winid, 'border', s:pum_winid) let pos = nvim_win_get_position(winid) return extend(base, { \ 'scrollbar': scrollbar && nvim_win_is_valid(scrollbar) ? 1 : 0, \ 'row': pos[0], \ 'col': pos[1], \ 'width': nvim_win_get_width(winid), \ 'height': nvim_win_get_height(winid), \ 'border': winid != s:pum_winid, \ }) endif endfunction function! coc#pum#scroll(forward) abort if coc#pum#visible() let height = s:get_height(s:pum_winid) if s:pum_size > height call timer_start(1, { -> s:scroll_pum(a:forward, height, s:pum_size)}) endif endif " Required on old version vim/neovim. return s:ignore endfunction function! s:get_height(winid) abort if has('nvim') return nvim_win_get_height(a:winid) endif return get(popup_getpos(a:winid), 'core_height', 0) endfunction function! s:scroll_pum(forward, height, size) abort let topline = s:get_topline(s:pum_winid) if !a:forward && topline == 1 if s:pum_index >= 0 call s:select_line(s:pum_winid, 1) call s:on_pum_change(1) endif return endif if a:forward && topline + a:height - 1 >= a:size if s:pum_index >= 0 call s:select_line(s:pum_winid, a:size) call s:on_pum_change(1) endif return endif call coc#float#scroll_win(s:pum_winid, a:forward, a:height) if s:pum_index >= 0 let lnum = s:pum_index + 1 let topline = s:get_topline(s:pum_winid) if lnum >= topline && lnum <= topline + a:height - 1 return endif call s:select_line(s:pum_winid, topline) call s:on_pum_change(1) endif endfunction function! s:get_topline(winid) abort if has('nvim') let info = getwininfo(a:winid)[0] return info['topline'] else let pos = popup_getpos(a:winid) return pos['firstline'] endif endfunction function! coc#pum#_navigate(next, insert) abort if coc#pum#visible() call s:save_indentkeys() let index = s:get_index(a:next) call s:select_by_index(index, a:insert) endif return '' endfunction function! s:select_by_index(index, insert) abort let lnum = a:index == -1 ? 0 : s:index_to_lnum(a:index) call s:set_cursor(s:pum_winid, lnum) if !s:is_vim call coc#float#nvim_scrollbar(s:pum_winid) endif if a:insert let s:inserted = 1 if a:index < 0 let input = getwinvar(s:pum_winid, 'input', '') call s:insert_word(input, 0) call coc#pum#close_detail() else let words = getwinvar(s:pum_winid, 'words', []) let word = get(words, a:index, '') call s:insert_word(word, 0) endif " The current line is wrong when use feedkeys. if !s:is_vim doautocmd TextChangedP endif endif call s:on_pum_change(1) endfunction function! s:get_index(next) abort if a:next let index = s:pum_index + 1 == s:pum_size ? -1 : s:pum_index + 1 else let index = s:pum_index == -1 ? s:pum_size - 1 : s:pum_index - 1 endif return index endfunction function! s:insert_word(word, finish) abort if s:start_col != -1 && mode() ==# 'i' " avoid auto wrap using 'textwidth' if !a:finish && &textwidth > 0 let textwidth = &textwidth noa setl textwidth=0 call timer_start(0, { -> execute('noa setl textwidth='.textwidth)}) endif " should not be used on finish to have correct line. if s:is_vim && !a:finish call coc#pum#repalce(s:start_col + 1, a:word, 1) else let saved_completeopt = &completeopt noa set completeopt=menu noa call complete(s:start_col + 1, [{ 'empty': v:true, 'word': a:word }]) " exit complete state if s:hide_pum call feedkeys("\\", 'in') else let g:coc_disable_space_report = 1 call feedkeys("\\", 'in') endif execute 'noa set completeopt='.saved_completeopt endif endif endfunction " Replace from col to cursor col with new characters function! coc#pum#repalce(col, insert, ...) abort let insert = a:insert let curr = getline('.') let removed = strpart(curr, a:col - 1, col('.') - a:col) let n = strchars(removed) let start = coc#string#common_start(insert, removed) let event = get(a:, 1, 0) if start > 0 let n = n - start let insert = strcharpart(a:insert, start) if empty(insert) && n == 0 && !event let n = 1 let insert = coc#string#last_character(a:insert) endif endif let keys = repeat("\", n).insert if len(keys) if event let previous =strpart(curr, 0, a:col - 1) call coc#rpc#notify('PumInsert', [previous.a:insert]) let g:coc_feeding_keys = 1 endif call feedkeys(keys, 'int') endif endfunction " create or update pum with lines, CompleteOption and config. " return winid & dimension function! coc#pum#create(lines, opt, config) abort if mode() !=# 'i' || a:opt['line'] != line('.') return endif let len = col('.') - a:opt['col'] - 1 if len < 0 return endif let input = len == 0 ? '' : strpart(getline('.'), a:opt['col'], len) if input !=# a:opt['input'] return endif let config = s:get_pum_dimension(a:lines, a:opt['col'], a:config) if empty(config) return endif let s:reversed = get(a:config, 'reverse', 0) && config['row'] < 0 let s:virtual_text = s:virtual_text_support && a:opt['virtualText'] let s:pum_size = len(a:lines) let s:pum_index = a:opt['index'] let lnum = s:index_to_lnum(s:pum_index) call extend(config, { \ 'lines': s:reversed ? reverse(copy(a:lines)) : a:lines, \ 'relative': 'cursor', \ 'nopad': 1, \ 'cursorline': 1, \ 'index': lnum - 1, \ 'focusable': v:false \ }) call extend(config, coc#dict#pick(a:config, ['highlight', 'rounded', 'highlights', 'winblend', 'shadow', 'border', 'borderhighlight'])) if s:reversed for item in config['highlights'] let item['lnum'] = s:pum_size - item['lnum'] - 1 endfor endif if empty(get(config, 'winblend', 0)) && exists('&pumblend') let config['winblend'] = &pumblend endif let result = coc#float#create_float_win(s:pum_winid, s:pum_bufnr, config) if empty(result) return endif let s:inserted = 0 let s:pum_winid = result[0] let s:pum_bufnr = result[1] let s:start_col = a:opt['startcol'] call setwinvar(s:pum_winid, 'above', config['row'] < 0) let firstline = s:get_firstline(lnum, s:pum_size, config['height']) if s:is_vim call popup_setoptions(s:pum_winid, { 'firstline': firstline }) else call coc#compat#execute(s:pum_winid, 'call winrestview({"lnum":'.lnum.',"topline":'.firstline.'})') endif call coc#dialog#place_sign(s:pum_bufnr, s:pum_index == -1 ? 0 : lnum) " content before col and content after cursor let linetext = getline('.') let parts = [strpart(linetext, 0, s:start_col), strpart(linetext, col('.') - 1)] let input = strpart(getline('.'), s:start_col, col('.') - 1 - s:start_col) call setwinvar(s:pum_winid, 'input', input) call setwinvar(s:pum_winid, 'parts', parts) call setwinvar(s:pum_winid, 'words', a:opt['words']) call setwinvar(s:pum_winid, 'kind', 'pum') if !s:is_vim if s:pum_size > config['height'] redraw call coc#float#nvim_scrollbar(s:pum_winid) else call coc#float#close_related(s:pum_winid, 'scrollbar') endif endif call s:on_pum_change(0) endfunction function! s:save_indentkeys() abort let bufnr = bufnr('%') if !empty(&indentexpr) && get(s:saved_indenetkeys, 0, 0) != bufnr let s:saved_indenetkeys = [bufnr, &indentkeys] execute 'setl indentkeys=' endif endfunction function! s:get_firstline(lnum, total, height) abort if a:lnum <= a:height return 1 endif return min([a:total - a:height + 1, a:lnum - (a:height*2/3)]) endfunction function! s:on_pum_change(move) abort if s:virtual_text if s:inserted call s:clear_virtual_text() else call s:insert_virtual_text() endif endif let ev = extend(coc#pum#info(), {'move': a:move ? v:true : v:false}) call coc#rpc#notify('CocAutocmd', ['MenuPopupChanged', ev, win_screenpos(winnr())[0] + winline() - 2]) endfunction function! s:index_to_lnum(index) abort if s:reversed if a:index <= 0 return s:pum_size endif return s:pum_size - a:index endif return max([1, a:index + 1]) endfunction function! s:get_pum_dimension(lines, col, config) abort let linecount = len(a:lines) let [lineIdx, colIdx] = coc#cursor#screen_pos() let bh = empty(get(a:config, 'border', [])) ? 0 : 2 let columns = &columns let pumwidth = max([15, exists('&pumwidth') ? &pumwidth : 0]) let width = min([columns, max([pumwidth, a:config['width']])]) let vh = &lines - &cmdheight - 1 - !empty(&tabline) if vh <= 0 return v:null endif let pumheight = empty(&pumheight) ? vh : &pumheight let showTop = getwinvar(s:pum_winid, 'above', v:null) if type(showTop) != v:t_number if vh - lineIdx - bh - 1 < min([pumheight, linecount]) && vh - lineIdx < min([10, vh/2]) let showTop = 1 else let showTop = 0 endif endif let height = showTop ? min([lineIdx - bh - !empty(&tabline), linecount, pumheight]) : min([vh - lineIdx - bh - 1, linecount, pumheight]) if height <= 0 return v:null endif " should use strdiplaywidth here let text = strpart(getline('.'), a:col, col('.') - 1 - a:col) let col = - strdisplaywidth(text, a:col) - 1 let row = showTop ? - height : 1 let delta = colIdx + col if width > pumwidth && delta + width > columns let width = max([columns - delta, pumwidth]) endif if delta < 0 let col = col - delta elseif delta + width > columns let col = max([-colIdx, col - (delta + width - columns)]) endif return { \ 'row': row, \ 'col': col, \ 'width': width, \ 'height': height \ } endfunction " can't use coc#dialog#set_cursor on vim8, don't know why function! s:set_cursor(winid, line) abort if s:is_vim let pos = popup_getpos(a:winid) let core_height = pos['core_height'] let lastline = pos['firstline'] + core_height - 1 if a:line > lastline call popup_setoptions(a:winid, { \ 'firstline': pos['firstline'] + a:line - lastline, \ }) elseif a:line < pos['firstline'] if s:reversed call popup_setoptions(a:winid, { \ 'firstline': a:line == 0 ? s:pum_size - core_height + 1 : a:line - core_height + 1, \ }) else call popup_setoptions(a:winid, { \ 'firstline': max([1, a:line]), \ }) endif endif endif call s:select_line(a:winid, a:line) endfunction function! s:select_line(winid, line) abort let s:pum_index = s:reversed ? (a:line == 0 ? -1 : s:pum_size - a:line) : a:line - 1 let lnum = s:reversed ? (a:line == 0 ? s:pum_size : a:line) : max([1, a:line]) if s:is_vim call coc#compat#execute(a:winid, 'exe '.lnum) else call nvim_win_set_cursor(a:winid, [lnum, 0]) endif call coc#dialog#place_sign(s:pum_bufnr, a:line == 0 ? 0 : lnum) endfunction function! s:insert_virtual_text() abort let bufnr = bufnr('%') if !s:virtual_text || s:pum_index < 0 call s:clear_virtual_text() else " Check if could create let insert = '' let line = line('.') - 1 let words = getwinvar(s:pum_winid, 'words', []) let word = get(words, s:pum_index, '') let input = strpart(getline('.'), s:start_col, col('.') - 1 - s:start_col) if strlen(word) > strlen(input) && strcharpart(word, 0, strchars(input)) ==# input let insert = strcharpart(word, strchars(input)) endif if s:is_vim if s:prop_id != 0 call prop_remove({'id': s:prop_id}, line + 1, line + 1) endif if !empty(insert) let s:prop_id = prop_add(line + 1, col('.'), { \ 'text': insert, \ 'type': 'CocPumVirtualText' \ }) endif else call nvim_buf_clear_namespace(bufnr, s:virtual_text_ns, line, line + 1) if !empty(insert) let opts = { \ 'hl_mode': 'combine', \ 'virt_text': [[insert, 'CocPumVirtualText']], \ 'virt_text_pos': 'overlay', \ 'virt_text_win_col': virtcol('.') - 1, \ } call nvim_buf_set_extmark(bufnr, s:virtual_text_ns, line, col('.') - 1, opts) endif endif endif endfunction function! s:clear_virtual_text() abort if s:virtual_text_support if s:is_vim if s:prop_id != 0 call prop_remove({'id': s:prop_id}) endif else call nvim_buf_clear_namespace(bufnr('%'), s:virtual_text_ns, 0, -1) endif endif endfunction function! s:close_pum() abort call s:clear_virtual_text() call coc#float#close(s:pum_winid, 1) let s:pum_winid = 0 let s:pum_size = 0 let winid = coc#float#get_float_by_kind('pumdetail') if winid call coc#float#close(winid, 1) endif call s:restore_indentkeys() endfunction function! s:restore_indentkeys() abort if get(s:saved_indenetkeys, 0, 0) == bufnr('%') call setbufvar(s:saved_indenetkeys[0], '&indentkeys', get(s:saved_indenetkeys, 1, '')) let s:saved_indenetkeys = [] endif endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/rpc.vim ================================================ scriptencoding utf-8 let s:is_win = has("win32") || has("win64") let s:client = v:null let s:name = 'coc' let s:is_vim = !has('nvim') let s:chan_id = 0 let s:root = expand(':h:h:h') function! coc#rpc#start_server() let test = get(g:, 'coc_node_env', '') ==# 'test' if test && !s:is_vim && !exists('$COC_NVIM_REMOTE_ADDRESS') " server already started, chan_id could be available later let s:client = coc#client#create(s:name, []) let s:client['running'] = s:chan_id != 0 let s:client['chan_id'] = s:chan_id return endif if exists('$COC_NVIM_REMOTE_ADDRESS') let address = $COC_NVIM_REMOTE_ADDRESS if s:is_vim let s:client = coc#client#create(s:name, []) " TODO don't know if vim support named pipe on windows. let address = address =~# ':\d\+$' ? address : 'unix:'.address let channel = ch_open(address, { \ 'mode': 'json', \ 'close_cb': {channel -> s:on_channel_close()}, \ 'noblock': 1, \ 'timeout': 1000, \ }) if ch_status(channel) == 'open' let s:client['running'] = 1 let s:client['channel'] = channel endif else let s:client = coc#client#create(s:name, []) try let mode = address =~# ':\d\+$' ? 'tcp' : 'pipe' let chan_id = sockconnect(mode, address, { 'rpc': 1 }) if chan_id > 0 let s:client['running'] = 1 let s:client['chan_id'] = chan_id endif catch /connection\ refused/ " ignroe endtry endif if !s:client['running'] echohl Error | echom '[coc.nvim] Unable connect to '.address.' from variable $COC_NVIM_REMOTE_ADDRESS' | echohl None elseif !test let logfile = exists('$NVIM_COC_LOG_FILE') ? $NVIM_COC_LOG_FILE : '' let loglevel = exists('$NVIM_COC_LOG_LEVEL') ? $NVIM_COC_LOG_LEVEL : '' let runtimepath = join(globpath(&runtimepath, "", 0, 1), ",") let data = [s:root, coc#util#get_data_home(), coc#util#get_config_home(), logfile, loglevel, runtimepath] if s:is_vim call ch_sendraw(s:client['channel'], json_encode(data)."\n") else call call('rpcnotify', [s:client['chan_id'], 'init'] + data) endif endif return endif if empty(s:client) let cmd = coc#util#job_command() if empty(cmd) | return | endif let $COC_VIMCONFIG = coc#util#get_config_home() let $COC_DATA_HOME = coc#util#get_data_home() let s:client = coc#client#create(s:name, cmd) endif if !coc#client#is_running('coc') call s:client['start']() endif call s:check_vim_enter() endfunction function! coc#rpc#started() abort return !empty(s:client) endfunction function! coc#rpc#ready() if empty(s:client) || s:client['running'] == 0 return 0 endif return 1 endfunction " Used for test on neovim only function! coc#rpc#set_channel(chan_id) abort let s:chan_id = a:chan_id let s:client['running'] = a:chan_id != 0 let s:client['chan_id'] = a:chan_id endfunction function! coc#rpc#get_channel() abort if empty(s:client) return v:null endif return coc#client#get_channel(s:client) endfunction function! coc#rpc#kill() let pid = get(g:, 'coc_process_pid', 0) if !pid | return | endif if s:is_win call system('taskkill /PID '.pid) else call system('kill -9 '.pid) endif endfunction function! coc#rpc#show_errors() let client = coc#client#get_client('coc') if !empty(client) let lines = get(client, 'stderr', []) keepalt new +setlocal\ buftype=nofile [Stderr of coc.nvim] setl noswapfile wrap bufhidden=wipe nobuflisted nospell call append(0, lines) exe "normal! z" . len(lines) . "\" exe "normal! gg" endif endfunction function! coc#rpc#stop() if empty(s:client) return endif try if s:is_vim call job_stop(ch_getjob(s:client['channel']), 'term') else call jobstop(s:client['chan_id']) endif catch /.*/ " ignore endtry endfunction function! coc#rpc#restart() if empty(s:client) call coc#rpc#start_server() else call coc#highlight#clear_all() call coc#ui#sign_unplace() call coc#float#close_all() autocmd! coc_dynamic_autocmd autocmd! coc_dynamic_content autocmd! coc_dynamic_option call coc#rpc#request('detach', []) let g:coc_service_initialized = 0 sleep 100m if exists('$COC_NVIM_REMOTE_ADDRESS') call coc#rpc#close_connection() sleep 100m call coc#rpc#start_server() else let s:client['command'] = coc#util#job_command() call coc#client#restart(s:name) call s:check_vim_enter() endif echohl MoreMsg | echom 'starting coc.nvim service' | echohl None endif endfunction function! coc#rpc#close_connection() abort let channel = coc#rpc#get_channel() if channel == v:null return endif if s:is_vim " Unlike neovim, vim not close the socket as expected. call ch_close(channel) else call chanclose(channel) endif let s:client['running'] = 0 let s:client['channel'] = v:null let s:client['chan_id'] = 0 endfunction function! coc#rpc#request(method, args) abort if !coc#rpc#ready() return '' endif return s:client['request'](a:method, a:args) endfunction function! coc#rpc#notify(method, args) abort if !coc#rpc#ready() return '' endif call s:client['notify'](a:method, a:args) return '' endfunction function! coc#rpc#request_async(method, args, cb) abort if !coc#rpc#ready() return cb('coc.nvim service not started.') endif call s:client['request_async'](a:method, a:args, a:cb) endfunction " receive async response function! coc#rpc#async_response(id, resp, isErr) abort if empty(s:client) return endif call coc#client#on_response(s:name, a:id, a:resp, a:isErr) endfunction " send async response to server function! coc#rpc#async_request(id, method, args) let l:Cb = {err, ... -> coc#rpc#notify('nvim_async_response_event', [a:id, err, get(a:000, 0, v:null)])} let args = a:args + [l:Cb] try call call(a:method, args) catch /.*/ call coc#rpc#notify('nvim_async_response_event', [a:id, v:exception, v:null]) endtry endfunction function! s:check_vim_enter() abort if s:client['running'] && v:vim_did_enter call coc#rpc#notify('VimEnter', [coc#util#path_replace_patterns(), join(globpath(&runtimepath, "", 0, 1), ",")]) endif endfunction " Used on vim and remote address only function! s:on_channel_close() abort if get(g:, 'coc_node_env', '') !=# 'test' echohl Error | echom '[coc.nvim] channel closed' | echohl None endif if !empty(s:client) let s:client['running'] = 0 let s:client['channel'] = v:null let s:client['async_req_id'] = 1 endif endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/snippet.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:map_next = 1 let s:map_prev = 1 let s:cmd_mapping = has('nvim') || has('patch-8.2.1978') function! coc#snippet#_select_mappings() if !get(g:, 'coc_selectmode_mapping', 1) return endif redir => mappings silent! smap redir END for map in map(filter(split(mappings, '\n'), \ "v:val !~# '^s' && v:val !~# '^\\a*\\s*<\\S\\+>'"), \ "matchstr(v:val, '^\\a*\\s*\\zs\\S\\+')") silent! execute 'sunmap' map silent! execute 'sunmap ' map endfor " same behaviour of ultisnips snoremap c snoremap c snoremap c snoremap "_c endfunction function! coc#snippet#show_choices(lnum, col, position, input) abort call coc#snippet#move(a:position) call CocActionAsync('startCompletion', { 'source': '$words' }) redraw endfunction function! coc#snippet#enable(...) if get(b:, 'coc_snippet_active', 0) == 1 return endif let complete = get(a:, 1, 0) let b:coc_snippet_active = 1 call coc#snippet#_select_mappings() let nextkey = get(g:, 'coc_snippet_next', '') let prevkey = get(g:, 'coc_snippet_prev', '') if maparg(nextkey, 'i') =~# 'snippet' let s:map_next = 0 endif if maparg(prevkey, 'i') =~# 'snippet' let s:map_prev = 0 endif if !empty(nextkey) if s:map_next execute 'inoremap '.nextkey." =coc#snippet#jump(1, ".complete.")" endif execute 'snoremap '.nextkey." :call coc#snippet#jump(1, ".complete.")" endif if !empty(prevkey) if s:map_prev execute 'inoremap '.prevkey." =coc#snippet#jump(0, ".complete.")" endif execute 'snoremap '.prevkey." :call coc#snippet#jump(0, ".complete.")" endif endfunction function! coc#snippet#prev() abort call coc#rpc#request('snippetPrev', []) return '' endfunction function! coc#snippet#next() abort call coc#rpc#request('snippetNext', []) return '' endfunction function! coc#snippet#jump(direction, complete) abort if a:direction == 1 && a:complete if pumvisible() let pre = exists('*complete_info') && complete_info()['selected'] == -1 ? "\" : '' call feedkeys(pre."\", 'in') return '' endif if coc#pum#visible() " Discard the return value, otherwise weird characters will be inserted call coc#pum#confirm() return '' endif endif call coc#rpc#request(a:direction == 1 ? 'snippetNext' : 'snippetPrev', []) return '' endfunction function! coc#snippet#disable() if get(b:, 'coc_snippet_active', 0) == 0 return endif let b:coc_snippet_active = 0 let nextkey = get(g:, 'coc_snippet_next', '') let prevkey = get(g:, 'coc_snippet_prev', '') if s:map_next silent! execute 'iunmap '.nextkey endif if s:map_prev silent! execute 'iunmap '.prevkey endif silent! execute 'sunmap '.prevkey silent! execute 'sunmap '.nextkey endfunction function! coc#snippet#select(start, end, text) abort if coc#pum#visible() call coc#pum#close() endif if mode() == 's' call feedkeys("\", 'in') endif if &selection ==# 'exclusive' let cursor = coc#snippet#to_cursor(a:start) call cursor([cursor[0], cursor[1]]) let cmd = '' let cmd .= mode()[0] ==# 'i' ? "\".(col('.') == 1 ? '' : 'l') : '' let cmd .= printf('v%s', strchars(a:text) . 'l') let cmd .= "\" else let cursor = coc#snippet#to_cursor(a:end) call cursor([cursor[0], cursor[1] - 1]) let len = strchars(a:text) - 1 let cmd = '' let cmd .= mode()[0] ==# 'i' ? "\l" : '' let cmd .= printf('v%s', len > 0 ? len . 'h' : '') let cmd .= "o\" endif call feedkeys(cmd, 'n') endfunction function! coc#snippet#move(position) abort let m = mode() if m == 's' call feedkeys("\", 'in') endif let pos = coc#snippet#to_cursor(a:position) call cursor(pos) if pos[1] > strlen(getline(pos[0])) startinsert! else startinsert endif endfunction function! coc#snippet#to_cursor(position) abort let line = getline(a:position.line + 1) if line is v:null return [a:position.line + 1, a:position.character + 1] endif return [a:position.line + 1, coc#string#byte_index(line, a:position.character) + 1] endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/string.vim ================================================ scriptencoding utf-8 function! coc#string#last_character(line) abort return strcharpart(a:line, strchars(a:line) - 1, 1) endfunction " Get utf16 code unit index from col (0 based) function! coc#string#character_index(line, byteIdx) abort if a:byteIdx <= 0 return 0 endif let i = 0 for char in split(strpart(a:line, 0, a:byteIdx), '\zs') let i += char2nr(char) > 65535 ? 2 : 1 endfor return i endfunction function! coc#string#common_start(text, other) abort let arr = split(a:text, '\zs') let other = split(a:other, '\zs') let total = min([len(arr), len(other)]) if total == 0 return 0 endif for i in range(0, total - 1) if arr[i] !=# other[i] return i endif endfor return total endfunction " Convert utf16 character index to byte index function! coc#string#byte_index(line, character) abort if a:character <= 0 return 0 endif " code unit index let i = 0 let len = 0 for char in split(a:line, '\zs') let i += char2nr(char) > 65535 ? 2 : 1 let len += strlen(char) if i >= a:character break endif endfor return len endfunction " Get character count from start col and end col, 1 based function! coc#string#get_char_count(text, start_col, end_col) abort return strchars(strpart(a:text, a:start_col - 1, a:end_col - a:start_col)) endfunction function! coc#string#character_length(text) abort let i = 0 for char in split(a:text, '\zs') let i += char2nr(char) > 65535 ? 2 : 1 endfor return i endfunction function! coc#string#reflow(lines, width) abort let lines = [] let currlen = 0 let parts = [] for line in a:lines for part in split(line, '\s\+') let w = strwidth(part) if currlen + w + 1 >= a:width if len(parts) > 0 call add(lines, join(parts, ' ')) endif if w >= a:width call add(lines, part) let currlen = 0 let parts = [] else let currlen = w let parts = [part] endif continue endif call add(parts, part) let currlen = currlen + w + 1 endfor endfor if len(parts) > 0 call add(lines, join(parts, ' ')) endif return empty(lines) ? [''] : lines endfunction " Used when 'wrap' and 'linebreak' is enabled function! coc#string#content_height(lines, width) abort let len = 0 let pattern = empty(&breakat) ? '.\zs' : '['.substitute(&breakat, '\([\[\]]\)', '\\\1', 'g').']\zs' for line in a:lines if strwidth(line) <= a:width let len += 1 else let currlen = 0 for part in split(line, pattern) let wl = strwidth(part) if currlen == 0 && wl > 0 let len += 1 endif let delta = currlen + wl - a:width if delta >= 0 let len = len + (delta > 0) let currlen = delta == 0 ? 0 : wl if wl >= a:width let currlen = wl%a:width let len += float2nr(ceil(wl/(a:width + 0.0))) - (currlen == 0) endif else let currlen = currlen + wl endif endfor endif endfor return len endfunction " get change between two lines function! coc#string#diff(curr, previous, col) abort let end = strpart(a:curr, a:col - 1) let start = strpart(a:curr, 0, a:col -1) let endOffset = 0 let startOffset = 0 let currLen = strchars(a:curr) let prevLen = strchars(a:previous) if len(end) let endLen = strchars(end) for i in range(min([prevLen, endLen])) if strcharpart(end, endLen - 1 - i, 1) ==# strcharpart(a:previous, prevLen -1 -i, 1) let endOffset = endOffset + 1 else break endif endfor endif let remain = endOffset == 0 ? a:previous : strcharpart(a:previous, 0, prevLen - endOffset) if len(remain) for i in range(min([strchars(remain), strchars(start)])) if strcharpart(remain, i, 1) ==# strcharpart(start, i ,1) let startOffset = startOffset + 1 else break endif endfor endif return { \ 'start': startOffset, \ 'end': prevLen - endOffset, \ 'text': strcharpart(a:curr, startOffset, currLen - startOffset - endOffset) \ } endfunction function! coc#string#apply(content, diff) abort let totalLen = strchars(a:content) let endLen = totalLen - a:diff['end'] return strcharpart(a:content, 0, a:diff['start']).a:diff['text'].strcharpart(a:content, a:diff['end'], endLen) endfunction " insert inserted to line at position, use ... when result is too long " line should only contains character has strwidth equals 1 function! coc#string#compose(line, position, inserted) abort let width = strwidth(a:line) let text = a:inserted let res = a:line let need_truncate = a:position + strwidth(text) + 1 > width if need_truncate let remain = width - a:position - 3 if remain < 2 " use text for full line, use first & end of a:line, ignore position let res = strcharpart(a:line, 0, 1) let w = strwidth(res) for i in range(strchars(text)) let c = strcharpart(text, i, 1) let a = strwidth(c) if w + a <= width - 1 let w = w + a let res = res . c endif endfor let res = res.strcharpart(a:line, w) else let res = strcharpart(a:line, 0, a:position) let w = strwidth(res) for i in range(strchars(text)) let c = strcharpart(text, i, 1) let a = strwidth(c) if w + a <= width - 3 let w = w + a let res = res . c endif endfor let res = res.'..' let w = w + 2 let res = res . strcharpart(a:line, w) endif else let first = strcharpart(a:line, 0, a:position) let res = first . text . strcharpart(a:line, a:position + strwidth(text)) endif return res endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/task.vim ================================================ " ============================================================================ " Description: Manage long running tasks. " Author: Qiming Zhao " Licence: Anti 966 licence " Version: 0.1 " Last Modified: Dec 12, 2020 " ============================================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:running_task = {} " neovim emit strings that part of lines. let s:out_remain_text = {} let s:err_remain_text = {} function! coc#task#start(id, opts) if coc#task#running(a:id) call coc#task#stop(a:id) endif let cmd = [a:opts['cmd']] + get(a:opts, 'args', []) let cwd = get(a:opts, 'cwd', getcwd()) let env = get(a:opts, 'env', {}) " cmd args cwd pty if s:is_vim let options = { \ 'cwd': cwd, \ 'err_mode': 'nl', \ 'out_mode': 'nl', \ 'err_cb': {channel, message -> s:on_stderr(a:id, [message])}, \ 'out_cb': {channel, message -> s:on_stdout(a:id, [message])}, \ 'exit_cb': {channel, code -> s:on_exit(a:id, code)}, \ 'env': env, \} if has("patch-8.1.350") let options['noblock'] = 1 endif if get(a:opts, 'pty', 0) let options['pty'] = 1 endif let job = job_start(cmd, options) let status = job_status(job) if status !=# 'run' echohl Error | echom 'Failed to start '.a:id.' task' | echohl None return v:false endif let s:running_task[a:id] = job else let options = { \ 'cwd': cwd, \ 'on_stderr': {channel, msgs -> s:on_stderr(a:id, msgs)}, \ 'on_stdout': {channel, msgs -> s:on_stdout(a:id, msgs)}, \ 'on_exit': {channel, code -> s:on_exit(a:id, code)}, \ 'detach': get(a:opts, 'detach', 0), \} let original = {} if !empty(env) if has('nvim-0.5.0') let options['env'] = env elseif exists('*setenv') && exists('*getenv') for key in keys(env) let original[key] = getenv(key) call setenv(key, env[key]) endfor endif endif if get(a:opts, 'pty', 0) let options['pty'] = 1 endif let chan_id = jobstart(cmd, options) if !empty(original) for key in keys(original) call setenv(key, original[key]) endfor endif if chan_id <= 0 echohl Error | echom 'Failed to start '.a:id.' task' | echohl None return v:false endif let s:running_task[a:id] = chan_id endif return v:true endfunction function! coc#task#stop(id) let job = get(s:running_task, a:id, v:null) if !job | return | endif if s:is_vim call job_stop(job, 'term') else call jobstop(job) endif sleep 50m let running = coc#task#running(a:id) if running echohl Error | echom 'job '.a:id. ' stop failed.' | echohl None endif endfunction function! s:on_exit(id, code) abort if get(g:, 'coc_vim_leaving', 0) | return | endif if has('nvim') let s:out_remain_text[a:id] = '' let s:err_remain_text[a:id] = '' endif if has_key(s:running_task, a:id) call remove(s:running_task, a:id) endif call coc#rpc#notify('TaskExit', [a:id, a:code]) endfunction function! s:on_stderr(id, msgs) if get(g:, 'coc_vim_leaving', 0) | return | endif if empty(a:msgs) return endif if s:is_vim call coc#rpc#notify('TaskStderr', [a:id, a:msgs]) else let remain = get(s:err_remain_text, a:id, '') let eof = (a:msgs == ['']) let msgs = copy(a:msgs) if len(remain) > 0 if msgs[0] == '' let msgs[0] = remain else let msgs[0] = remain . msgs[0] endif endif let last = msgs[len(msgs) - 1] let s:err_remain_text[a:id] = len(last) > 0 ? last : '' " all lines from 0 to n - 2 if len(msgs) > 1 call coc#rpc#notify('TaskStderr', [a:id, msgs[:len(msgs)-2]]) elseif eof && len(msgs[0]) > 0 call coc#rpc#notify('TaskStderr', [a:id, msgs]) endif endif endfunction function! s:on_stdout(id, msgs) if empty(a:msgs) return endif if s:is_vim call coc#rpc#notify('TaskStdout', [a:id, a:msgs]) else let remain = get(s:out_remain_text, a:id, '') let eof = (a:msgs == ['']) let msgs = copy(a:msgs) if len(remain) > 0 if msgs[0] == '' let msgs[0] = remain else let msgs[0] = remain . msgs[0] endif endif let last = msgs[len(msgs) - 1] let s:out_remain_text[a:id] = len(last) > 0 ? last : '' " all lines from 0 to n - 2 if len(msgs) > 1 call coc#rpc#notify('TaskStdout', [a:id, msgs[:len(msgs)-2]]) elseif eof && len(msgs[0]) > 0 call coc#rpc#notify('TaskStdout', [a:id, msgs]) endif endif endfunction function! coc#task#running(id) if !has_key(s:running_task, a:id) == 1 return v:false endif let job = s:running_task[a:id] if s:is_vim let status = job_status(job) return status ==# 'run' endif let [code] = jobwait([job], 10) return code == -1 endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/terminal.vim ================================================ scriptencoding utf-8 let s:is_vim = !has('nvim') let s:channel_map = {} let s:is_win = has('win32') || has('win64') " start terminal, return [bufnr, pid] function! coc#terminal#start(cmd, cwd, env, strict) abort if s:is_vim && !has('terminal') throw 'terminal feature not supported by current vim.' endif let cwd = empty(a:cwd) ? getcwd() : a:cwd execute 'belowright '.get(g:, 'coc_terminal_height', 8).'new +setl\ buftype=nofile' setl winfixheight setl norelativenumber setl nonumber setl bufhidden=hide if exists('#User#CocTerminalOpen') exe 'doautocmd User CocTerminalOpen' endif let bufnr = bufnr('%') let env = {} let original = {} if !empty(a:env) " use env option when possible if s:is_vim let env = copy(a:env) elseif exists('*setenv') for key in keys(a:env) let original[key] = getenv(key) call setenv(key, a:env[key]) endfor endif endif function! s:OnExit(status) closure call coc#rpc#notify('CocAutocmd', ['TermExit', bufnr, a:status]) if a:status == 0 execute 'silent! bd! '.bufnr endif endfunction if has('nvim') let job_id = termopen(a:cmd, { \ 'cwd': cwd, \ 'pty': v:true, \ 'on_exit': {job, status -> s:OnExit(status)}, \ 'env': env, \ 'clear_env': a:strict ? v:true : v:false \ }) if !empty(original) && exists('*setenv') for key in keys(original) call setenv(key, original[key]) endfor endif if job_id == 0 throw 'create terminal job failed' endif wincmd p let s:channel_map[bufnr] = job_id return [bufnr, jobpid(job_id)] else let cmd = s:is_win ? join(a:cmd, ' ') : a:cmd let res = term_start(cmd, { \ 'cwd': cwd, \ 'term_kill': s:is_win ? 'kill' : 'term', \ 'term_finish': 'close', \ 'exit_cb': {job, status -> s:OnExit(status)}, \ 'curwin': 1, \ 'env': env, \}) if res == 0 throw 'create terminal job failed' endif let job = term_getjob(bufnr) let s:channel_map[bufnr] = job_getchannel(job) wincmd p return [bufnr, job_info(job).process] endif endfunction function! coc#terminal#send(bufnr, text, add_new_line) abort let chan = get(s:channel_map, a:bufnr, v:null) if empty(chan) | return| endif if has('nvim') let lines = split(a:text, '\v\r?\n') if a:add_new_line && !empty(lines[len(lines) - 1]) if s:is_win call add(lines, "\r\n") else call add(lines, '') endif endif call chansend(chan, lines) let winid = bufwinid(a:bufnr) if winid != -1 call coc#compat#execute(winid, 'noa normal! G') endif else if !a:add_new_line call ch_sendraw(chan, a:text) else call ch_sendraw(chan, a:text.(s:is_win ? "\r\n" : "\n")) endif endif endfunction function! coc#terminal#close(bufnr) abort if has('nvim') let job_id = get(s:channel_map, a:bufnr, 0) if !empty(job_id) silent! call chanclose(job_id) endif endif exe 'silent! bd! '.a:bufnr endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/ui.vim ================================================ let s:is_vim = !has('nvim') let s:is_win = has('win32') || has('win64') let s:is_mac = has('mac') let s:sign_api = exists('*sign_getplaced') && exists('*sign_place') let s:sign_groups = [] let s:outline_preview_bufnr = 0 " Check and function! coc#ui#check_pum_keymappings(trigger) abort if a:trigger !=# 'none' for key in ['', '', '', ''] let arg = maparg(key, 'i', 0, 1) if get(arg, 'expr', 0) let rhs = get(arg, 'rhs', '') if rhs =~# '\"', 'coc#pum#next(1)', '') let rhs = substitute(rhs, '\c"\\"', 'coc#pum#prev(1)', '') let rhs = substitute(rhs, '\c"\\"', 'coc#pum#confirm()', '') execute 'inoremap '.arg['lhs'].' '.rhs endif endif endfor endif endfunction function! coc#ui#quickpick(title, items, cb) abort if exists('*popup_menu') function! s:QuickpickHandler(id, result) closure call a:cb(v:null, a:result) endfunction function! s:QuickpickFilter(id, key) closure for i in range(1, len(a:items)) if a:key == string(i) call popup_close(a:id, i) return 1 endif endfor " No shortcut, pass to generic filter return popup_filter_menu(a:id, a:key) endfunction try call popup_menu(a:items, { \ 'title': a:title, \ 'filter': function('s:QuickpickFilter'), \ 'callback': function('s:QuickpickHandler'), \ }) redraw catch /.*/ call a:cb(v:exception) endtry else let res = inputlist([a:title] + a:items) call a:cb(v:null, res) endif endfunction " cmd, cwd function! coc#ui#open_terminal(opts) abort if s:is_vim && !exists('*term_start') echohl WarningMsg | echon "Your vim doesn't have terminal support!" | echohl None return endif if get(a:opts, 'position', 'bottom') ==# 'bottom' let p = '5new' else let p = 'vnew' endif execute 'belowright '.p.' +setl\ buftype=nofile ' setl buftype=nofile setl winfixheight setl norelativenumber setl nonumber setl bufhidden=wipe if exists('#User#CocTerminalOpen') exe 'doautocmd User CocTerminalOpen' endif let cmd = get(a:opts, 'cmd', '') let autoclose = get(a:opts, 'autoclose', 1) if empty(cmd) throw 'command required!' endif let cwd = get(a:opts, 'cwd', getcwd()) let keepfocus = get(a:opts, 'keepfocus', 0) let bufnr = bufnr('%') let Callback = get(a:opts, 'Callback', v:null) function! s:OnExit(status) closure let content = join(getbufline(bufnr, 1, '$'), "\n") if a:status == 0 && autoclose == 1 execute 'silent! bd! '.bufnr endif if !empty(Callback) call call(Callback, [a:status, bufnr, content]) endif endfunction if has('nvim') call termopen(cmd, { \ 'cwd': cwd, \ 'on_exit': {job, status -> s:OnExit(status)}, \}) else if s:is_win let cmd = 'cmd.exe /C "'.cmd.'"' endif call term_start(cmd, { \ 'cwd': cwd, \ 'exit_cb': {job, status -> s:OnExit(status)}, \ 'curwin': 1, \}) endif if keepfocus wincmd p endif return bufnr endfunction " run command in terminal function! coc#ui#run_terminal(opts, cb) let cmd = get(a:opts, 'cmd', '') if empty(cmd) return a:cb('command required for terminal') endif let opts = { \ 'cmd': cmd, \ 'cwd': empty(get(a:opts, 'cwd', '')) ? getcwd() : a:opts['cwd'], \ 'keepfocus': get(a:opts, 'keepfocus', 0), \ 'Callback': {status, bufnr, content -> a:cb(v:null, {'success': status == 0 ? v:true : v:false, 'bufnr': bufnr, 'content': content})} \} call coc#ui#open_terminal(opts) endfunction function! coc#ui#echo_hover(msg) echohl MoreMsg echo a:msg echohl None let g:coc_last_hover_message = a:msg endfunction function! coc#ui#echo_messages(hl, msgs) if a:hl !~# 'Error' && (mode() !~# '\v^(i|n)$') return endif let msgs = filter(copy(a:msgs), '!empty(v:val)') if empty(msgs) return endif execute 'echohl '.a:hl echo join(msgs, "\n") echohl None endfunction function! coc#ui#preview_info(lines, filetype, ...) abort pclose keepalt new +setlocal\ previewwindow|setlocal\ buftype=nofile|setlocal\ noswapfile|setlocal\ wrap [Document] setl bufhidden=wipe setl nobuflisted setl nospell exe 'setl filetype='.a:filetype setl conceallevel=0 setl nofoldenable for command in a:000 execute command endfor call append(0, a:lines) exe "normal! z" . len(a:lines) . "\" exe "normal! gg" wincmd p endfunction function! coc#ui#open_files(files) let bufnrs = [] " added on latest vim8 if exists('*bufadd') && exists('*bufload') for file in a:files let file = fnamemodify(file, ':.') if bufloaded(file) call add(bufnrs, bufnr(file)) else let bufnr = bufadd(file) call bufload(file) call add(bufnrs, bufnr) call setbufvar(bufnr, '&buflisted', 1) endif endfor else noa keepalt 1new +setl\ bufhidden=wipe for file in a:files let file = fnamemodify(file, ':.') execute 'noa edit +setl\ bufhidden=hide '.fnameescape(file) if &filetype ==# '' filetype detect endif call add(bufnrs, bufnr('%')) endfor noa close endif doautocmd BufEnter return bufnrs endfunction function! coc#ui#echo_lines(lines) echo join(a:lines, "\n") endfunction function! coc#ui#echo_signatures(signatures) abort if pumvisible() | return | endif echo "" for i in range(len(a:signatures)) call s:echo_signature(a:signatures[i]) if i != len(a:signatures) - 1 echon "\n" endif endfor endfunction function! s:echo_signature(parts) for part in a:parts let hl = get(part, 'type', 'Normal') let text = get(part, 'text', '') if !empty(text) execute 'echohl '.hl execute "echon '".substitute(text, "'", "''", 'g')."'" echohl None endif endfor endfunction function! coc#ui#iterm_open(dir) return s:osascript( \ 'if application "iTerm2" is not running', \ 'error', \ 'end if') && s:osascript( \ 'tell application "iTerm2"', \ 'tell current window', \ 'create tab with default profile', \ 'tell current session', \ 'write text "cd ' . a:dir . '"', \ 'write text "clear"', \ 'activate', \ 'end tell', \ 'end tell', \ 'end tell') endfunction function! s:osascript(...) abort let args = join(map(copy(a:000), '" -e ".shellescape(v:val)'), '') call s:system('osascript'. args) return !v:shell_error endfunction function! s:system(cmd) let output = system(a:cmd) if v:shell_error && output !=# "" echohl Error | echom output | echohl None return endif return output endfunction function! coc#ui#set_lines(bufnr, changedtick, original, replacement, start, end, changes, cursor, col) abort if !bufloaded(a:bufnr) return endif let delta = 0 if !empty(a:col) let delta = col('.') - a:col endif if getbufvar(a:bufnr, 'changedtick') > a:changedtick && bufnr('%') == a:bufnr " try apply current line change let lnum = line('.') " change for current line if a:end - a:start == 1 && a:end == lnum && len(a:replacement) == 1 let idx = a:start - lnum + 1 let previous = get(a:original, idx, 0) if type(previous) == 1 let content = getline('.') if previous !=# content let diff = coc#string#diff(content, previous, col('.')) let changed = get(a:replacement, idx, 0) if type(changed) == 1 && strcharpart(previous, 0, diff['end']) ==# strcharpart(changed, 0, diff['end']) let applied = coc#string#apply(changed, diff) let replacement = copy(a:replacement) let replacement[idx] = applied call coc#compat#buf_set_lines(a:bufnr, a:start, a:end, replacement) return endif endif endif endif endif if exists('*nvim_buf_set_text') && !empty(a:changes) for item in reverse(copy(a:changes)) call nvim_buf_set_text(a:bufnr, item[1], item[2], item[3], item[4], item[0]) endfor else call coc#compat#buf_set_lines(a:bufnr, a:start, a:end, a:replacement) endif if !empty(a:cursor) call cursor(a:cursor[0], a:cursor[1] + delta) endif endfunction function! coc#ui#change_lines(bufnr, list) abort if !bufloaded(a:bufnr) | return v:null | endif undojoin if exists('*setbufline') for [lnum, line] in a:list call setbufline(a:bufnr, lnum + 1, line) endfor elseif a:bufnr == bufnr('%') for [lnum, line] in a:list call setline(lnum + 1, line) endfor else let bufnr = bufnr('%') exe 'noa buffer '.a:bufnr for [lnum, line] in a:list call setline(lnum + 1, line) endfor exe 'noa buffer '.bufnr endif endfunction function! coc#ui#open_url(url) if isdirectory(a:url) && $TERM_PROGRAM ==# "iTerm.app" call coc#ui#iterm_open(a:url) return endif if !empty(get(g:, 'coc_open_url_command', '')) call system(g:coc_open_url_command.' '.a:url) return endif if has('mac') && executable('open') call system('open '.a:url) return endif if executable('xdg-open') call system('xdg-open '.a:url) return endif call system('cmd /c start "" /b '. substitute(a:url, '&', '^&', 'g')) if v:shell_error echohl Error | echom 'Failed to open '.a:url | echohl None return endif endfunction function! coc#ui#rename_file(oldPath, newPath, write) abort let bufnr = bufnr(a:oldPath) if bufnr == -1 throw 'Unable to get bufnr of '.a:oldPath endif if a:oldPath =~? a:newPath && (s:is_mac || s:is_win) return coc#ui#safe_rename(bufnr, a:oldPath, a:newPath, a:write) endif if bufloaded(a:newPath) execute 'silent bdelete! '.bufnr(a:newPath) endif let current = bufnr == bufnr('%') let bufname = fnamemodify(a:newPath, ":~:.") let filepath = fnamemodify(bufname(bufnr), '%:p') let winid = coc#compat#buf_win_id(bufnr) let curr = -1 if winid == -1 let curr = win_getid() let file = fnamemodify(bufname(bufnr), ':.') execute 'keepalt tab drop '.fnameescape(bufname(bufnr)) let winid = win_getid() endif call coc#compat#execute(winid, 'keepalt file '.fnameescape(bufname), 'silent') call coc#compat#execute(winid, 'doautocmd BufEnter') if a:write call coc#compat#execute(winid, 'noa write!', 'silent') call delete(filepath, '') endif if curr != -1 call win_gotoid(curr) endif return bufnr endfunction " System is case in sensitive and newPath have different case. function! coc#ui#safe_rename(bufnr, oldPath, newPath, write) abort let winid = win_getid() let lines = getbufline(a:bufnr, 1, '$') execute 'keepalt tab drop '.fnameescape(fnamemodify(a:oldPath, ':.')) let view = winsaveview() execute 'keepalt bwipeout! '.a:bufnr if a:write call delete(a:oldPath, '') endif execute 'keepalt edit '.fnameescape(fnamemodify(a:newPath, ':~:.')) let bufnr = bufnr('%') call coc#compat#buf_set_lines(bufnr, 0, -1, lines) if a:write execute 'noa write' endif call winrestview(view) call win_gotoid(winid) return bufnr endfunction function! coc#ui#sign_unplace() abort if exists('*sign_unplace') for group in s:sign_groups call sign_unplace(group) endfor endif endfunction function! coc#ui#update_signs(bufnr, group, signs) abort if !s:sign_api || !bufloaded(a:bufnr) return endif call sign_unplace(a:group, {'buffer': a:bufnr}) for def in a:signs let opts = {'lnum': def['lnum']} if has_key(def, 'priority') let opts['priority'] = def['priority'] endif call sign_place(0, a:group, def['name'], a:bufnr, opts) endfor endfunction function! coc#ui#outline_preview(config) abort let view_id = get(w:, 'cocViewId', '') if view_id !=# 'OUTLINE' return endif let wininfo = get(getwininfo(win_getid()), 0, v:null) if empty(wininfo) return endif let border = get(a:config, 'border', v:true) let th = &lines - &cmdheight - 2 let range = a:config['range'] let height = min([range['end']['line'] - range['start']['line'] + 1, th - 4]) let to_left = &columns - wininfo['wincol'] - wininfo['width'] < wininfo['wincol'] let start_lnum = range['start']['line'] + 1 let end_lnum = range['end']['line'] + 1 - start_lnum > &lines ? start_lnum + &lines : range['end']['line'] + 1 let lines = getbufline(a:config['bufnr'], start_lnum, end_lnum) let content_width = max(map(copy(lines), 'strdisplaywidth(v:val)')) let width = min([content_width, a:config['maxWidth'], to_left ? wininfo['wincol'] - 3 : &columns - wininfo['wincol'] - wininfo['width']]) let filetype = getbufvar(a:config['bufnr'], '&filetype') let cursor_row = coc#cursor#screen_pos()[0] let config = { \ 'relative': 'editor', \ 'row': cursor_row - 1 + height < th ? cursor_row - (border ? 1 : 0) : th - height - (border ? 1 : -1), \ 'col': to_left ? wininfo['wincol'] - 4 - width : wininfo['wincol'] + wininfo['width'], \ 'width': width, \ 'height': height, \ 'lines': lines, \ 'border': border ? [1,1,1,1] : v:null, \ 'rounded': get(a:config, 'rounded', 1) ? 1 : 0, \ 'winblend': a:config['winblend'], \ 'highlight': a:config['highlight'], \ 'borderhighlight': a:config['borderhighlight'], \ } let winid = coc#float#get_float_by_kind('outline-preview') let result = coc#float#create_float_win(winid, s:outline_preview_bufnr, config) if empty(result) return v:null endif call setwinvar(result[0], 'kind', 'outline-preview') let s:outline_preview_bufnr = result[1] if !empty(filetype) call coc#compat#execute(result[0], 'setfiletype '.filetype) endif return result[1] endfunction function! coc#ui#outline_close_preview() abort let winid = coc#float#get_float_by_kind('outline-preview') if winid call coc#float#close(winid) endif endfunction " Ignore error from autocmd when file opened function! coc#ui#safe_open(cmd, file) abort let bufname = fnameescape(a:file) try execute a:cmd.' 'bufname catch /.*/ if bufname('%') != bufname throw v:exception endif endtry endfunction " Use noa to setloclist, avoid BufWinEnter autocmd function! coc#ui#setloclist(nr, items, action, title) abort if a:action ==# ' ' let title = get(getloclist(a:nr, {'title': 1}), 'title', '') let action = title ==# a:title ? 'r' : ' ' noa call setloclist(a:nr, [], action, {'title': a:title, 'items': a:items}) else noa call setloclist(a:nr, [], a:action, {'title': a:title, 'items': a:items}) endif endfunction function! coc#ui#get_mouse() abort if get(g:, 'coc_node_env', '') ==# 'test' return get(g:, 'mouse_position', [win_getid(), line('.'), col('.')]) endif return [v:mouse_winid,v:mouse_lnum,v:mouse_col] endfunction " viewId - identifier of tree view " bufnr - bufnr tree view " winid - winid of tree view " bufname - bufname of tree view " command - split command " optional options - bufhidden, canSelectMany, winfixwidth function! coc#ui#create_tree(opts) abort let viewId = a:opts['viewId'] let bufname = a:opts['bufname'] let tabid = coc#util#tabnr_id(tabpagenr()) let winid = s:get_tree_winid(a:opts) let bufnr = a:opts['bufnr'] if !bufloaded(bufnr) let bufnr = -1 endif if winid != -1 call win_gotoid(winid) if bufnr('%') == bufnr return [bufnr, winid, tabid] elseif bufnr != -1 execute 'silent keepalt buffer '.bufnr else execute 'silent keepalt edit +setl\ buftype=nofile '.bufname call s:set_tree_defaults(a:opts) endif else " need to split let cmd = get(a:opts, 'command', 'belowright 30vs') execute 'silent keepalt '.cmd.' +setl\ buftype=nofile '.bufname call s:set_tree_defaults(a:opts) let winid = win_getid() endif let w:cocViewId = viewId return [winbufnr(winid), winid, tabid] endfunction " valid window id or -1 function! s:get_tree_winid(opts) abort let viewId = a:opts['viewId'] let winid = a:opts['winid'] if winid != -1 && coc#window#visible(winid) return winid endif if winid != -1 call coc#compat#execute(winid, 'noa close!', 'silent!') endif return coc#window#find('cocViewId', viewId) endfunction function! s:set_tree_defaults(opts) abort let bufhidden = get(a:opts, 'bufhidden', 'wipe') let signcolumn = get(a:opts, 'canSelectMany', v:false) ? 'yes' : 'no' let winfixwidth = get(a:opts, 'winfixwidth', v:false) ? ' winfixwidth' : '' execute 'setl bufhidden='.bufhidden.' signcolumn='.signcolumn.winfixwidth setl nolist nonumber norelativenumber foldcolumn=0 setl nocursorline nobuflisted wrap undolevels=-1 filetype=coctree nomodifiable noswapfile endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/util.vim ================================================ scriptencoding utf-8 let s:root = expand(':h:h:h') let s:is_win = has('win32') || has('win64') let s:is_vim = !has('nvim') let s:vim_api_version = 34 function! coc#util#merge_winhl(curr, hls) abort let highlightMap = {} for parts in map(split(a:curr, ','), 'split(v:val, ":")') if len(parts) == 2 let highlightMap[parts[0]] = parts[1] endif endfor for item in a:hls let highlightMap[item[0]] = item[1] endfor return join(map(items(highlightMap), 'v:val[0].":".v:val[1]'), ',') endfunction function! coc#util#api_version() abort return s:vim_api_version endfunction function! coc#util#semantic_hlgroups() abort let res = split(execute('hi'), "\n") let filtered = filter(res, "v:val =~# '^CocSem' && v:val !~# ' cleared$'") return map(filtered, "matchstr(v:val,'\\v^CocSem\\w+')") endfunction " get cursor position function! coc#util#cursor() return [line('.') - 1, coc#string#character_length(strpart(getline('.'), 0, col('.') - 1))] endfunction function! coc#util#change_info() abort return {'lnum': line('.'), 'col': col('.'), 'line': getline('.'), 'changedtick': b:changedtick} endfunction function! coc#util#jumpTo(line, character) abort echohl WarningMsg | echon 'coc#util#jumpTo is deprecated, use coc#cursor#move_to instead.' | echohl None call coc#cursor#move_to(a:line, a:character) endfunction function! coc#util#root_patterns() abort return coc#rpc#request('rootPatterns', [bufnr('%')]) endfunction function! coc#util#get_config(key) abort return coc#rpc#request('getConfig', [a:key]) endfunction function! coc#util#open_terminal(opts) abort return coc#ui#open_terminal(a:opts) endfunction function! coc#util#synname() abort return synIDattr(synID(line('.'), col('.') - 1, 1), 'name') endfunction function! coc#util#setline(lnum, line) keepjumps call setline(a:lnum, a:line) endfunction function! coc#util#path_replace_patterns() abort if has('win32unix') && exists('g:coc_cygqwin_path_prefixes') echohl WarningMsg echon 'g:coc_cygqwin_path_prefixes is deprecated, use g:coc_uri_prefix_replace_patterns instead' echohl None return g:coc_cygqwin_path_prefixes endif if exists('g:coc_uri_prefix_replace_patterns') return g:coc_uri_prefix_replace_patterns endif return v:null endfunction function! coc#util#version() if s:is_vim return string(v:versionlong) endif let c = execute('silent version') let lines = split(matchstr(c, 'NVIM v\zs[^\n-]*')) return lines[0] endfunction function! coc#util#check_refresh(bufnr) if !bufloaded(a:bufnr) return 0 endif if getbufvar(a:bufnr, 'coc_diagnostic_disable', 0) return 0 endif return 1 endfunction function! coc#util#diagnostic_info(bufnr, checkInsert) abort let checked = coc#util#check_refresh(a:bufnr) if !checked return v:null endif if a:checkInsert && mode() =~# '^i' return v:null endif let locationlist = '' let winid = -1 for info in getwininfo() if info['bufnr'] == a:bufnr let winid = info['winid'] let locationlist = get(getloclist(winid, {'title': 1}), 'title', '') break endif endfor return { \ 'bufnr': bufnr('%'), \ 'winid': winid, \ 'lnum': winid == -1 ? -1 : coc#window#get_cursor(winid)[0], \ 'locationlist': locationlist \ } endfunction function! coc#util#open_file(cmd, file) execute a:cmd .' '.fnameescape(fnamemodify(a:file, ':~:.')) return bufnr('%') endfunction function! coc#util#job_command() if (has_key(g:, 'coc_node_path')) let node = expand(g:coc_node_path) else let node = $COC_NODE_PATH == '' ? 'node' : $COC_NODE_PATH endif if !executable(node) echohl Error | echom '[coc.nvim] "'.node.'" is not executable, checkout https://nodejs.org/en/download/' | echohl None return endif if !filereadable(s:root.'/build/index.js') if isdirectory(s:root.'/src') echohl Error | echom '[coc.nvim] build/index.js not found, please install dependencies and compile coc.nvim by: yarn install' | echohl None else echohl Error | echon '[coc.nvim] your coc.nvim is broken.' | echohl None endif return endif return [node] + get(g:, 'coc_node_args', ['--no-warnings']) + [s:root.'/build/index.js'] endfunction function! coc#util#jump(cmd, filepath, ...) abort if a:cmd != 'pedit' silent! normal! m' endif let path = a:filepath if has('win32unix') let path = substitute(a:filepath, '\v\\', '/', 'g') endif let file = fnamemodify(path, ":~:.") if a:cmd ==# 'pedit' let extra = empty(get(a:, 1, [])) ? '' : '+'.(a:1[0] + 1) exe 'pedit '.extra.' '.fnameescape(file) return elseif a:cmd ==# 'drop' let dstbuf = bufadd(path) let binfo = getbufinfo(dstbuf) if len(binfo) == 1 && empty(binfo[0].windows) execute 'buffer '.dstbuf let &buflisted = 1 else let saved = &wildignore set wildignore= execute 'drop '.fnameescape(file) execute 'set wildignore='.saved endif elseif a:cmd ==# 'edit' && bufloaded(file) exe 'b '.bufnr(file) else call s:safer_open(a:cmd, file) endif if !empty(get(a:, 1, [])) let line = getline(a:1[0] + 1) let col = coc#string#byte_index(line, a:1[1]) + 1 call cursor(a:1[0] + 1, col) endif if &filetype ==# '' filetype detect endif if s:is_vim redraw endif endfunction function! s:safer_open(cmd, file) abort " How to support :pedit and :drop? let is_supported_cmd = index(["edit", "split", "vsplit", "tabe"], a:cmd) >= 0 " Use special handling only for URI. let looks_like_uri = match(a:file, "^.*://") >= 0 if looks_like_uri && is_supported_cmd && has('win32') && exists('*bufadd') " Workaround a bug for Win32 paths. " " reference: " - https://github.com/vim/vim/issues/541 " - https://github.com/neoclide/coc-java/issues/82 " - https://github.com/vim-jp/issues/issues/6 let buf = bufadd(a:file) if a:cmd != 'edit' " Open split, tab, etc. by a:cmd. execute a:cmd endif " Set current buffer to the file exe 'keepjumps buffer ' . buf else if a:cmd =~# 'drop' let saved = &wildignore set wildignore= execute a:cmd.' '.fnameescape(a:file) execute 'set wildignore='.saved else execute a:cmd.' '.fnameescape(a:file) endif endif endfunction function! coc#util#variables(bufnr) abort let info = getbufinfo(a:bufnr) let variables = empty(info) ? {} : copy(info[0]['variables']) for key in keys(variables) if key !~# '\v^coc' unlet variables[key] endif endfor return variables endfunction function! coc#util#with_callback(method, args, cb) function! s:Cb() closure try let res = call(a:method, a:args) call a:cb(v:null, res) catch /.*/ call a:cb(v:exception) endtry endfunction let timeout = s:is_vim ? 10 : 0 call timer_start(timeout, {-> s:Cb() }) endfunction function! coc#util#timer(method, args) call timer_start(0, { -> s:Call(a:method, a:args)}) endfunction function! s:Call(method, args) try call call(a:method, a:args) redraw catch /.*/ return 0 endtry endfunction function! coc#util#vim_info() return { \ 'root': s:root, \ 'apiversion': s:vim_api_version, \ 'mode': mode(), \ 'config': get(g:, 'coc_user_config', {}), \ 'floating': has('nvim') && exists('*nvim_open_win') ? v:true : v:false, \ 'extensionRoot': coc#util#extension_root(), \ 'globalExtensions': get(g:, 'coc_global_extensions', []), \ 'lines': &lines, \ 'columns': &columns, \ 'cmdheight': &cmdheight, \ 'pid': coc#util#getpid(), \ 'filetypeMap': get(g:, 'coc_filetype_map', {}), \ 'version': coc#util#version(), \ 'pumevent': 1, \ 'isVim': has('nvim') ? v:false : v:true, \ 'isCygwin': has('win32unix') ? v:true : v:false, \ 'isMacvim': has('gui_macvim') ? v:true : v:false, \ 'isiTerm': $TERM_PROGRAM ==# "iTerm.app", \ 'colorscheme': get(g:, 'colors_name', ''), \ 'workspaceFolders': get(g:, 'WorkspaceFolders', v:null), \ 'background': &background, \ 'runtimepath': join(globpath(&runtimepath, '', 0, 1), ','), \ 'locationlist': get(g:,'coc_enable_locationlist', 1), \ 'progpath': v:progpath, \ 'guicursor': &guicursor, \ 'pumwidth': exists('&pumwidth') ? &pumwidth : 15, \ 'tabCount': tabpagenr('$'), \ 'updateHighlight': has('nvim-0.5.0') || has('textprop') ? v:true : v:false, \ 'vimCommands': get(g:, 'coc_vim_commands', []), \ 'sign': exists('*sign_place') && exists('*sign_unplace'), \ 'ambiguousIsNarrow': &ambiwidth ==# 'single' ? v:true : v:false, \ 'textprop': has('textprop') ? v:true : v:false, \ 'virtualText': has('nvim-0.5.0') || has('patch-9.0.0067') ? v:true : v:false, \ 'dialog': 1, \ 'semanticHighlights': coc#util#semantic_hlgroups() \} endfunction function! coc#util#all_state() return { \ 'bufnr': bufnr('%'), \ 'winid': win_getid(), \ 'bufnrs': map(getbufinfo({'bufloaded': 1}),'v:val["bufnr"]'), \ 'winids': map(getwininfo(),'v:val["winid"]'), \ } endfunction function! coc#util#install() abort let yarncmd = get(g:, 'coc_install_yarn_cmd', executable('yarnpkg') ? 'yarnpkg' : 'yarn') call coc#ui#open_terminal({ \ 'cwd': s:root, \ 'cmd': yarncmd.' install --frozen-lockfile --ignore-engines', \ 'autoclose': 0, \ }) endfunction function! coc#util#extension_root() abort return coc#util#get_data_home().'/extensions' endfunction function! coc#util#update_extensions(...) abort let async = get(a:, 1, 0) if async call coc#rpc#notify('updateExtensions', []) else call coc#rpc#request('updateExtensions', [v:true]) endif endfunction function! coc#util#install_extension(args) abort let names = filter(copy(a:args), 'v:val !~# "^-"') let isRequest = index(a:args, '-sync') != -1 if isRequest call coc#rpc#request('installExtensions', names) else call coc#rpc#notify('installExtensions', names) endif endfunction function! coc#util#do_autocmd(name) abort if exists('#User#'.a:name) exe 'doautocmd User '.a:name endif endfunction function! coc#util#unmap(bufnr, keys) abort if bufnr('%') == a:bufnr for key in a:keys exe 'silent! nunmap '.key endfor endif endfunction function! coc#util#refactor_foldlevel(lnum) abort if a:lnum <= 2 | return 0 | endif let line = getline(a:lnum) if line =~# '^\%u3000\s*$' | return 0 | endif return 1 endfunction function! coc#util#refactor_fold_text(lnum) abort let range = '' let info = get(b:line_infos, a:lnum, []) if !empty(info) let range = info[0].':'.info[1] endif return trim(getline(a:lnum)[3:]).' '.range endfunction " get tabsize & expandtab option function! coc#util#get_format_opts(bufnr) abort let bufnr = a:bufnr && bufloaded(a:bufnr) ? a:bufnr : bufnr('%') let tabsize = getbufvar(bufnr, '&shiftwidth') if tabsize == 0 let tabsize = getbufvar(bufnr, '&tabstop') endif return { \ 'tabsize': tabsize, \ 'expandtab': getbufvar(bufnr, '&expandtab'), \ 'insertFinalNewline': getbufvar(bufnr, '&eol'), \ 'trimTrailingWhitespace': getbufvar(bufnr, 'coc_trim_trailing_whitespace', 0), \ 'trimFinalNewlines': getbufvar(bufnr, 'coc_trim_final_newlines', 0) \ } endfunction function! coc#util#get_editoroption(winid) abort let info = get(getwininfo(a:winid), 0, v:null) if empty(info) || coc#window#is_float(a:winid) return v:null endif let bufnr = info['bufnr'] let buftype = getbufvar(bufnr, '&buftype') " avoid window for other purpose. if buftype !=# '' && buftype !=# 'acwrite' return v:null endif let tabSize = getbufvar(bufnr, '&shiftwidth') if tabSize == 0 let tabSize = getbufvar(bufnr, '&tabstop') endif return { \ 'bufnr': bufnr, \ 'winid': a:winid, \ 'tabpageid': coc#util#tabnr_id(info['tabnr']), \ 'winnr': winnr(), \ 'visibleRanges': s:visible_ranges(a:winid), \ 'tabSize': tabSize, \ 'insertSpaces': getbufvar(bufnr, '&expandtab') ? v:true : v:false \ } endfunction function! coc#util#tabnr_id(tabnr) abort return s:is_vim ? coc#api#get_tabid(a:tabnr) : nvim_list_tabpages()[a:tabnr - 1] endfunction function! coc#util#get_loaded_bufs() abort return map(getbufinfo({'bufloaded': 1}),'v:val["bufnr"]') endfunction function! coc#util#editor_infos() abort let result = [] for info in getwininfo() if !coc#window#is_float(info['winid']) let bufnr = info['bufnr'] let buftype = getbufvar(bufnr, '&buftype') if buftype !=# '' && buftype !=# 'acwrite' continue endif let bufname = bufname(bufnr) call add(result, { \ 'winid': info['winid'], \ 'bufnr': bufnr, \ 'tabid': coc#util#tabnr_id(info['tabnr']), \ 'fullpath': empty(bufname) ? '' : fnamemodify(bufname, ':p'), \ }) endif endfor return result endfunction function! coc#util#tabpages() abort if s:is_vim return coc#api#exec('list_tabpages', []) endif return nvim_list_tabpages() endfunction function! coc#util#getpid() if !has('win32unix') return getpid() endif let cmd = 'cat /proc/' . getpid() . '/winpid' return substitute(system(cmd), '\v\n', '', 'gi') endfunction " Get indentkeys for indent on TextChangedP, consider = for word indent only. function! coc#util#get_indentkeys() abort if empty(&indentexpr) return '' endif if &indentkeys !~# '=' return '' endif return &indentkeys endfunction function! coc#util#get_bufoptions(bufnr, max) abort if !bufloaded(a:bufnr) | return v:null | endif let bufname = bufname(a:bufnr) let buftype = getbufvar(a:bufnr, '&buftype') let size = coc#util#bufsize(a:bufnr) let lines = v:null if getbufvar(a:bufnr, 'coc_enabled', 1) \ && (buftype == '' || buftype == 'acwrite' || getbufvar(a:bufnr, 'coc_force_attach', 0)) \ && size != -2 \ && size < a:max let lines = getbufline(a:bufnr, 1, '$') endif return { \ 'bufnr': a:bufnr, \ 'size': size, \ 'lines': lines, \ 'winid': bufwinid(a:bufnr), \ 'bufname': bufname, \ 'buftype': buftype, \ 'previewwindow': v:false, \ 'eol': getbufvar(a:bufnr, '&eol'), \ 'variables': coc#util#variables(a:bufnr), \ 'filetype': getbufvar(a:bufnr, '&filetype'), \ 'lisp': getbufvar(a:bufnr, '&lisp'), \ 'iskeyword': getbufvar(a:bufnr, '&iskeyword'), \ 'changedtick': getbufvar(a:bufnr, 'changedtick'), \ 'fullpath': empty(bufname) ? '' : fnamemodify(bufname, ':p'), \} endfunction function! coc#util#bufsize(bufnr) abort if bufnr('%') == a:bufnr return line2byte(line("$") + 1) endif let bufname = bufname(a:bufnr) if !getbufvar(a:bufnr, '&modified') && filereadable(bufname) return getfsize(bufname) endif return strlen(join(getbufline(a:bufnr, 1, '$'), '\n')) endfunction function! coc#util#get_config_home() if !empty(get(g:, 'coc_config_home', '')) return resolve(expand(g:coc_config_home)) endif if exists('$VIMCONFIG') return resolve($VIMCONFIG) endif if has('nvim') if exists('$XDG_CONFIG_HOME') return resolve($XDG_CONFIG_HOME."/nvim") endif if s:is_win return resolve($HOME.'/AppData/Local/nvim') endif return resolve($HOME.'/.config/nvim') else if s:is_win return resolve($HOME."/vimfiles") endif return resolve($HOME.'/.vim') endif endfunction function! coc#util#get_data_home() if get(g:, 'coc_node_env', '') ==# 'test' return $COC_DATA_HOME endif if !empty(get(g:, 'coc_data_home', '')) let dir = resolve(expand(g:coc_data_home)) else if exists('$XDG_CONFIG_HOME') let dir = resolve($XDG_CONFIG_HOME."/coc") else if s:is_win let dir = resolve(expand('~/AppData/Local/coc')) else let dir = resolve(expand('~/.config/coc')) endif endif endif if !isdirectory(dir) call coc#notify#create(['creating coc.nvim data directory: '.dir], { \ 'borderhighlight': 'CocInfoSign', \ 'timeout': 5000, \ 'kind': 'info', \ }) call mkdir(dir, "p", 0755) endif return dir endfunction function! coc#util#get_complete_option() let pos = getcurpos() let line = getline(pos[1]) let input = matchstr(strpart(line, 0, pos[2] - 1), '\k*$') let col = pos[2] - strlen(input) let position = { \ 'line': line('.')-1, \ 'character': coc#string#character_length(strpart(getline('.'), 0, col('.') - 1)) \ } let word = matchstr(strpart(line, col - 1), '^\k\+') let followWord = len(word) > 0 ? strcharpart(word, strchars(input)) : '' return { \ 'word': word, \ 'followWord': followWord, \ 'position': position, \ 'input': empty(input) ? '' : input, \ 'line': line, \ 'filetype': &filetype, \ 'filepath': expand('%:p'), \ 'bufnr': bufnr('%'), \ 'linenr': pos[1], \ 'colnr' : pos[2], \ 'col': col - 1, \ 'changedtick': b:changedtick, \} endfunction " used by vim function! coc#util#get_buf_lines(bufnr, changedtick) if !bufloaded(a:bufnr) return v:null endif let changedtick = getbufvar(a:bufnr, 'changedtick') if changedtick == a:changedtick return v:null endif return { \ 'lines': getbufline(a:bufnr, 1, '$'), \ 'changedtick': getbufvar(a:bufnr, 'changedtick') \ } endfunction " used for TextChangedI with InsertCharPre function! coc#util#get_changeinfo(bufnr) if bufnr('%') == a:bufnr return { \ 'lnum': line('.'), \ 'line': getline('.'), \ 'changedtick': b:changedtick, \} endif let winid = bufwinid(a:bufnr) if winid != -1 let ref = {} call win_execute(winid, 'let ref = {"lnum": line("."), "line": getline("."), "changedtick": b:changedtick}') return ref endif return v:null endfunction " Get the valid position from line, character of current buffer function! coc#util#valid_position(line, character) abort let total = line('$') - 1 if a:line > total return [total, 0] endif let max = max([0, coc#string#character_length(getline(a:line + 1)) - (mode() ==# 'n' ? 1 : 0)]) return a:character > max ? [a:line, max] : [a:line, a:character] endfunction function! s:visible_ranges(winid) abort let info = getwininfo(a:winid)[0] let res = [] if !has_key(info, 'topline') || !has_key(info, 'botline') return res endif let begin = 0 let curr = info['topline'] let max = info['botline'] if win_getid() != a:winid return [[curr, max]] endif while curr <= max let closedend = foldclosedend(curr) if closedend == -1 let begin = begin == 0 ? curr : begin if curr == max call add(res, [begin, curr]) endif let curr = curr + 1 else if begin != 0 call add(res, [begin, curr - 1]) let begin = closedend + 1 endif let curr = closedend + 1 endif endwhile return res endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/vtext.vim ================================================ let s:is_vim = !has('nvim') let s:virtual_text_support = has('nvim-0.5.0') || has('patch-9.0.0067') let s:text_options = has('patch-9.0.0121') || has('nvim-0.6.0') let s:vim_above = has('patch-9.0.0438') " This function is called by buffer.setVirtualText " opts.hl_mode default to 'combine'. " opts.col vim only, no support on neovim, default to 0. " opts.virt_text_win_col neovim only. " opts.text_align could be 'after' 'right' 'below' 'above', converted on neovim. " opts.text_wrap could be 'wrap' and 'truncate', vim9 only. " opts.indent add indent when using 'above' and 'below' as text_align function! coc#vtext#add(bufnr, src_id, line, blocks, opts) abort if !s:virtual_text_support return endif let align = get(a:opts, 'text_align', 'after') let indent = '' if get(a:opts, 'indent', 0) let indent = matchstr(getline(a:line + 1), '^\s\+') endif if s:is_vim let column = get(a:opts, 'col', 0) if !has_key(a:opts, 'col') && align ==# 'after' " add a whitespace, same as neovim. let indent = ' ' endif let blocks = a:blocks if !empty(a:blocks) && (align ==# 'above' || align ==# 'below') " only first highlight can be used let hl = a:blocks[0][1] let text = join(map(copy(a:blocks), "v:val[0]"), '') let blocks = [[text, hl]] let column = 0 endif let first = 1 let base = s:get_option_vim(align, column, get(a:opts, 'text_wrap', 'truncate')) for [text, hl] in blocks let type = coc#api#create_type(a:src_id, hl, a:opts) let opts = extend({ 'text': text, 'type': type }, base) if first && !empty(indent) let opts['text'] = indent . text endif call prop_add(a:line + 1, column, opts) let first = 0 endfor else let opts = { 'hl_mode': get(a:opts, 'hl_mode', 'combine') } if s:text_options if align ==# 'above' || align ==# 'below' let blocks = empty(indent) ? a:blocks : [[indent, 'Normal']] + a:blocks let opts['virt_lines'] = [blocks] if align ==# 'above' let opts['virt_lines_above'] = v:true endif else let opts['virt_text'] = a:blocks if align ==# 'right' let opts['virt_text_pos'] = 'right_align' else if type(get(a:opts, 'virt_text_win_col', v:null)) == 0 let opts['virt_text_win_col'] = a:opts['virt_text_win_col'] let opts['virt_text_pos'] = 'overlay' else " default to 'after' let opts['virt_text_pos'] = 'eol' endif endif endif else if has('nvim-0.5.1') && type(get(a:opts, 'virt_text_win_col', v:null)) == 0 let opts['virt_text_win_col'] = a:opts['virt_text_win_col'] let opts['virt_text_pos'] = 'overlay' endif endif call nvim_buf_set_extmark(a:bufnr, a:src_id, a:line, 0, opts) endif endfunction function! s:get_option_vim(align, column, wrap) abort let opts = {} if s:text_options && a:column == 0 if a:align ==# 'top' && !s:vim_above let opts['text_align'] = 'right' else let opts['text_align'] = a:align endif let opts['text_wrap'] = a:wrap endif return opts endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc/window.vim ================================================ let g:coc_max_treeview_width = get(g:, 'coc_max_treeview_width', 40) let s:is_vim = !has('nvim') " Get tabpagenr of winid, return -1 if window doesn't exist function! coc#window#tabnr(winid) abort " getwininfo not work with popup on vim if exists('*win_execute') let ref = {} call win_execute(a:winid, 'let ref["out"] = tabpagenr()') return get(ref, 'out', -1) endif let info = getwininfo(a:winid) return empty(info) ? -1 : info[0]['tabnr'] endfunction " (1, 0) based line, column function! coc#window#get_cursor(winid) abort if exists('*nvim_win_get_cursor') return nvim_win_get_cursor(a:winid) endif if has('patch-8.2.1727') let pos = getcurpos(a:winid) return [pos[1], pos[2] - 1] endif return coc#api#exec('win_get_cursor', [a:winid]) endfunction " Check if winid visible on current tabpage function! coc#window#visible(winid) abort if s:is_vim if coc#window#tabnr(a:winid) != tabpagenr() return 0 endif " Check possible hidden popup try return get(popup_getpos(a:winid), 'visible', 0) == 1 catch /^Vim\%((\a\+)\)\=:E993/ return 1 endtry endif if !nvim_win_is_valid(a:winid) return 0 endif return coc#window#tabnr(a:winid) == tabpagenr() endfunction " winid is popup and shown function! s:visible_popup(winid) abort let popups = popup_list() if index(popups, a:winid) != -1 return get(popup_getpos(a:winid), 'visible', 0) == 1 endif return 0 endfunction " Return v:null when name or window doesn't exist, " 'getwinvar' only works on window of current tab function! coc#window#get_var(winid, name, ...) abort if !s:is_vim try if a:name =~# '^&' return nvim_win_get_option(a:winid, a:name[1:]) else return nvim_win_get_var(a:winid, a:name) endif catch /E5555/ return get(a:, 1, v:null) endtry else try return coc#api#exec('win_get_var', [a:winid, a:name, get(a:, 1, v:null)]) catch /Invalid window id/ return get(a:, 1, v:null) endtry endif endfunction " Not throw like setwinvar function! coc#window#set_var(winid, name, value) abort try if !s:is_vim if a:name =~# '^&' call nvim_win_set_option(a:winid, a:name[1:], a:value) else call nvim_win_set_var(a:winid, a:name, a:value) endif else call coc#api#exec('win_set_var', [a:winid, a:name, a:value]) endif catch /Invalid window id/ " ignore endtry endfunction function! coc#window#is_float(winid) abort if s:is_vim try return !empty(popup_getpos(a:winid)) catch /^Vim\%((\a\+)\)\=:E993/ return 0 endtry else let config = nvim_win_get_config(a:winid) return !empty(config) && !empty(get(config, 'relative', '')) endif endfunction " Reset current lnum & topline of window function! coc#window#restview(winid, lnum, topline) abort if empty(getwininfo(a:winid)) return endif if s:is_vim && s:visible_popup(a:winid) call popup_setoptions(a:winid, {'firstline': a:topline}) return endif call coc#compat#execute(a:winid, ['noa call winrestview({"lnum":'.a:lnum.',"topline":'.a:topline.'})']) endfunction function! coc#window#set_height(winid, height) abort if empty(getwininfo(a:winid)) return endif if exists('*nvim_win_set_height') call nvim_win_set_height(a:winid, a:height) else call coc#compat#execute(a:winid, 'noa resize '.a:height, 'silent') endif endfunction function! coc#window#adjust_width(winid) abort let bufnr = winbufnr(a:winid) if bufloaded(bufnr) let maxwidth = 0 let lines = getbufline(bufnr, 1, '$') if len(lines) > 2 call coc#compat#execute(a:winid, 'setl nowrap') for line in lines let w = strwidth(line) if w > maxwidth let maxwidth = w endif endfor endif if maxwidth > winwidth(a:winid) call coc#compat#execute(a:winid, 'vertical resize '.min([maxwidth, g:coc_max_treeview_width])) endif endif endfunction " Get single window by window variable, current tab only function! coc#window#find(key, val) abort for i in range(1, winnr('$')) let res = getwinvar(i, a:key) if res == a:val return win_getid(i) endif endfor return -1 endfunction " Visible buffer numbers function! coc#window#bufnrs() abort let winids = [] if exists('*nvim_list_wins') let winids = nvim_list_wins() else let winids = map(getwininfo(), 'v:val["winid"]') endif return uniq(map(winids, 'winbufnr(v:val)')) endfunction " Avoid errors function! coc#window#close(winid) abort if empty(a:winid) || a:winid == -1 return endif if coc#float#valid(a:winid) call coc#float#close(a:winid) return endif if exists('*nvim_win_is_valid') && exists('*nvim_win_close') if nvim_win_is_valid(a:winid) call nvim_win_close(a:winid, 1) endif else call coc#compat#execute(a:winid, 'noa close!', 'silent!') endif endfunction function! coc#window#visible_range(bufnr) abort let winid = bufwinid(a:bufnr) if winid == -1 return v:null endif let info = getwininfo(winid)[0] return [info['topline'], info['botline']] endfunction function! coc#window#visible_ranges(bufnr) abort let wins = gettabinfo(tabpagenr())[0]['windows'] let res = [] for id in wins let info = getwininfo(id)[0] if info['bufnr'] == a:bufnr call add(res, [info['topline'], info['botline']]) endif endfor return res endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/coc.vim ================================================ scriptencoding utf-8 let g:coc_user_config = get(g:, 'coc_user_config', {}) let g:coc_global_extensions = get(g:, 'coc_global_extensions', []) let g:coc_selected_text = '' let g:coc_vim_commands = [] let s:watched_keys = [] let s:is_vim = !has('nvim') let s:utf = has('nvim') || &encoding =~# '^utf' let s:error_sign = get(g:, 'coc_status_error_sign', has('mac') && s:utf ? "\u274c " : 'E ') let s:warning_sign = get(g:, 'coc_status_warning_sign', has('mac') && s:utf ? "\u26a0\ufe0f " : 'W ') let s:select_api = exists('*nvim_select_popupmenu_item') let s:callbacks = {} let s:hide_pum = has('nvim-0.6.1') || has('patch-8.2.3389') function! coc#expandable() abort return coc#rpc#request('snippetCheck', [1, 0]) endfunction function! coc#jumpable() abort return coc#rpc#request('snippetCheck', [0, 1]) endfunction function! coc#expandableOrJumpable() abort return coc#rpc#request('snippetCheck', [1, 1]) endfunction " add vim command to CocCommand list function! coc#add_command(id, cmd, ...) let config = {'id':a:id, 'cmd':a:cmd, 'title': get(a:,1,'')} call add(g:coc_vim_commands, config) if !coc#rpc#ready() | return | endif call coc#rpc#notify('addCommand', [config]) endfunction function! coc#on_enter() call coc#rpc#notify('CocAutocmd', ['Enter', bufnr('%')]) return '' endfunction function! coc#_insert_key(method, key, ...) abort let prefix = '' if get(a:, 1, 1) if coc#pum#visible() let prefix = "\=coc#pum#close()\" elseif pumvisible() && s:hide_pum let prefix = "\\" endif endif return prefix."\=coc#rpc#".a:method."('doKeymap', ['".a:key."'])\" endfunction " used for statusline function! coc#status(...) let info = get(b:, 'coc_diagnostic_info', {}) let msgs = [] if !empty(info) && get(info, 'error', 0) call add(msgs, s:error_sign . info['error']) endif if !empty(info) && get(info, 'warning', 0) call add(msgs, s:warning_sign . info['warning']) endif let status = get(g:, 'coc_status', '') if get(a:, 1, 0) let status = substitute(status, '%', '%%', 'g') endif return coc#compat#trim(join(msgs, ' ') . ' ' . status) endfunction function! coc#config(section, value) let g:coc_user_config[a:section] = a:value call coc#rpc#notify('updateConfig', [a:section, a:value]) endfunction " Deprecated, use variable instead. function! coc#add_extension(...) if a:0 == 0 | return | endif call extend(g:coc_global_extensions, a:000) endfunction function! coc#_watch(key) if s:is_vim | return | endif if index(s:watched_keys, a:key) == -1 call add(s:watched_keys, a:key) call dictwatcheradd(g:, a:key, function('s:GlobalChange')) endif endfunction function! coc#_unwatch(key) if s:is_vim | return | endif let idx = index(s:watched_keys, a:key) if idx != -1 call remove(s:watched_keys, idx) call dictwatcherdel(g:, a:key, function('s:GlobalChange')) endif endfunction function! s:GlobalChange(dict, key, val) call coc#rpc#notify('GlobalChange', [a:key, get(a:val, 'old', v:null), get(a:val, 'new', v:null)]) endfunction function! coc#on_notify(id, method, Cb) let key = a:id. '-'.a:method let s:callbacks[key] = a:Cb call coc#rpc#notify('registerNotification', [a:id, a:method]) endfunction function! coc#do_notify(id, method, result) let key = a:id. '-'.a:method let Fn = s:callbacks[key] if !empty(Fn) call Fn(a:result) endif endfunction function! coc#start(...) call CocActionAsync('startCompletion', get(a:, 1, {})) return '' endfunction " Could be used by coc extensions function! coc#_cancel(...) call coc#pum#close() endfunction function! coc#refresh() abort return "\=coc#start()\" endfunction function! coc#_select_confirm() abort return "\=coc#pum#select_confirm()\" endfunction function! coc#_suggest_variables() abort return { \ 'disable': get(b:, 'coc_suggest_disable', 0), \ 'disabled_sources': get(b:, 'coc_disabled_sources', []), \ 'blacklist': get(b:, 'coc_suggest_blacklist', []), \ } endfunction function! coc#_remote_fns(name) let fns = ['init', 'complete', 'should_complete', 'refresh', 'get_startcol', 'on_complete', 'on_enter'] let res = [] for fn in fns if exists('*coc#source#'.a:name.'#'.fn) call add(res, fn) endif endfor return res endfunction function! coc#_do_complete(name, opt, cb) abort let handler = 'coc#source#'.a:name.'#complete' let l:Cb = {res -> a:cb(v:null, res)} let args = [a:opt, l:Cb] call call(handler, args) endfunction ================================================ FILE: bundle/coc.nvim-release/autoload/health/coc.vim ================================================ scriptencoding utf-8 let s:root = expand(':h:h:h') function! s:checkVim(test, name, patchlevel) abort if a:test if !has(a:patchlevel) call health#report_error(a:name . ' version not satisfied, ' . a:patchlevel . ' and above required') return 0 else call health#report_ok(a:name . ' version satisfied') return 1 endif endif return 0 endfunction function! s:checkEnvironment() abort let valid \ = s:checkVim(has('nvim'), 'nvim', 'nvim-0.4.0') \ + s:checkVim(!has('nvim'), 'vim', 'patch-8.1.1719') let node = get(g:, 'coc_node_path', $COC_NODE_PATH == '' ? 'node' : $COC_NODE_PATH) if !executable(node) let valid = 0 call health#report_error('Executable node.js not found, install node.js from http://nodejs.org/') endif let output = system(node . ' --version') if v:shell_error && output !=# "" let valid = 0 call health#report_error(output) endif let ms = matchlist(output, 'v\(\d\+\).\(\d\+\).\(\d\+\)') if empty(ms) let valid = 0 call health#report_error('Unable to detect version of node, make sure your node executable is http://nodejs.org/') elseif str2nr(ms[1]) < 14 || (str2nr(ms[1]) == 14 && str2nr(ms[2]) < 14) let valid = 0 call health#report_warn('Node.js version '.trim(output).' < 14.14.0, please upgrade node.js') endif if valid call health#report_ok('Environment check passed') endif if has('pythonx') try silent pyx print("") catch /.*/ call health#report_warn('pyx command not work, some extensions may fail to work, checkout ":h pythonx"') if has('nvim') call health#report_warn('Install pynvim by command: pip install pynvim --upgrade') endif endtry endif return valid endfunction function! s:checkCommand() let file = s:root.'/build/index.js' if filereadable(file) call health#report_ok('Javascript bundle build/index.js found') else call health#report_error('Javascript entry not found, please compile coc.nvim by esbuild.') endif endfunction function! s:checkAutocmd() let cmds = ['CursorHold', 'CursorHoldI', 'CursorMovedI', 'InsertCharPre', 'TextChangedI'] for cmd in cmds let lines = split(execute('verbose autocmd '.cmd), '\n') let n = 0 for line in lines if line =~# 'CocAction(' && n < len(lines) - 1 let next = lines[n + 1] let ms = matchlist(next, 'Last set from \(.*\)') if !empty(ms) call health#report_warn('Use CocActionAsync to replace CocAction for better performance on '.cmd) call health#report_warn('Checkout the file '.ms[1]) endif endif let n = n + 1 endfor endfor endfunction function! s:checkInitialize() abort if coc#client#is_running('coc') call health#report_ok('Service started') return 1 endif call health#report_error('service could not be initialized', [ \ 'Use command ":messages" to get error messages.', \ 'Open a issue at https://github.com/neoclide/coc.nvim/issues for feedback.' \]) return 0 endfunction function! health#coc#check() abort call s:checkEnvironment() call s:checkCommand() call s:checkInitialize() call s:checkAutocmd() endfunction ================================================ FILE: bundle/coc.nvim-release/bin/prompt.js ================================================ /* * Used for prompt popup on vim */ const readline = require("readline") const rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: true, escapeCodeTimeout: 0, prompt: '' }) let value = process.argv[2] let placeholder = process.argv[3] let clear = false if (value) { rl.write(value) } else if (placeholder) { clear = true rl.write('\x1B[90m' + placeholder + '\x1B[39m') rl.write('', {ctrl: true, name: 'a'}) } rl.on('line', input => { send(['confirm', clear ? '' : input]) process.exit() }) let original_ttyWrite = rl._ttyWrite rl._ttyWrite = function (code, key) { if (key.name === 'enter') { send(['send', '']) return '' } original_ttyWrite.apply(rl, arguments) if (clear && rl.line.includes('\x1B')) { clear = false rl.write('', {ctrl: true, name: 'k'}) return } send(['change', rl.line]) } function createSequences(str) { return '\033]51;' + str + '\x07' } function send(args) { process.stdout.write(createSequences(JSON.stringify(['call', 'CocPopupCallback', args]))) } process.stdin.on('keypress', (e, key) => { if (key) { let k = getKey(key) if (k == '') { return } if (k == '') { send(['exit', '']) process.exit() } if (k) { send(['send', k]) return } } }) function getKey(key) { if (key.ctrl === true) { if (key.name == 'n') { return '' } if (key.name == 'p') { return '' } if (key.name == 'j') { return '' } if (key.name == 'k') { return '' } if (key.name == 'f') { return '' } if (key.name == 'b') { return '' } if (key.sequence == '\x00') { return '' } } if (key.sequence == '\u001b') { return '' } if (key.sequence == '\r') { return '' } if (key.sequence == '\t') { return key.shift ? '' : '' } if (key.name == 'up') { return '' } if (key.name == 'down') { return '' } return '' } ================================================ FILE: bundle/coc.nvim-release/bin/terminateProcess.sh ================================================ #!/bin/bash terminateTree() { for cpid in $(pgrep -P $1); do terminateTree $cpid done kill -9 $1 > /dev/null 2>&1 } for pid in $*; do terminateTree $pid done ================================================ FILE: bundle/coc.nvim-release/doc/coc-api.txt ================================================ *coc-api.txt* NodeJS client for Vim & Neovim. CONTENTS Vim sources |coc-api-vim-source| Extension introduction |coc-api-intro| Extension package json |coc-api-json| Single file extensions |coc-api-single| Create custom Extensions |coc-api-extension| Debug extensions |coc-api-debug| ============================================================================== This is the guide for extend coc.nvim by create vim completion sources and coc.nvim extensions. ------------------------------------------------------------------------------ VIM SOURCES *coc-api-vim-source* During initialization, coc.nvim searches vim's |runtimepath| for file pattern `autoload/coc/source/${name}.vim`, matched files would be loaded as vim completion sources. Note: LSP completion features like `TextEdit`, `additionalTextEdits`, `command` are not supported by vim sources, use the NodeJS API `languages.registerCompletionItemProvider` for LSP completion. For example, create a file `autoload/coc/source/email.vim` inside your plugin folder. With code: > " vim source for emails function! coc#source#email#init() abort return { \ 'priority': 9, \ 'shortcut': 'Email', \ 'triggerCharacters': ['@'] \} endfunction function! coc#source#email#complete(option, cb) abort let items = ['foo@gmail.com', 'bar@yahoo.com'] call a:cb(items) endfunction < `init` and `complete` are required functions for vim sources, error message will be shown when not exists. Source option:~ The source option object is returned by `coc#source#{name}#init` function, available properties: • shortcut: The shortcut characters shown in popup menu, first three characters from the source name would be used when not exists. • priority: The priority of source, default to `9`. • filetypes: Array of filetype names this source should be triggered by. Available for all filetypes when not exists. • firstMatch: When is truthy value, only the completion item that has the first letter matching the user input will be shown. • triggerCharacters: Trigger characters for this source, default to `[]`. • triggerOnly: The source should only be triggered by trigger characters, when trigger characters is false or empty, the source would only be triggered by api |coc#start()|. • isSnippet: All complete items returned by `complete` are snippets, which would have snippet indicator text added to the label in popup menu. The "isSnippet" property of completion item override this option. All options are optional. Source configurations:~ Vim sources register |coc-configuration| for allow the user to customize the source behavior. • `coc.source.${name}.enable` Enable the source, default to `true`. • `coc.source.${name}.disableSyntaxes` Disabled syntax names when trigger completion. • `coc.source.${name}.firstMatch` Default to "firstMatch" of source option. • `coc.source.${name}.priority` Default to "priority" of source option. • `coc.source.${name}.shortcut` Default to "shortcut" of source option. • `coc.source.${name}.filetypes` Default to "filetypes" of source option. Complete function:~ The complete function is called with complete option as the first argument and a callback function as the second argument, the callback function should be called with list of complete item or `v:null` synchronously or asynchronously. Note: synchronously compute complete items blocks vim's operation. Note: Error during completion is not thrown, use |:CocOpenLog| to check the error log. Complete option have following properties: • bufnr: Current buffer number. • line: Content line when trigger completion. • col: Start col of completion, start col of the keywords before cursor by default, 0 based. • input: Input text between start col and curosr col. • filetype: Filetype of current buffer. • filepath: Fullpath of current buffer. • changedtick: b:changedtick value when trigger completion. • triggerCharacter: The character which trigger the completion, could be empty string. • colnr: Cursor col when trigger completion, 1 based. • linenr: Line number of curosr, 1 based. Complete items extends vim's |complete-items| with the following properties: • deprecated: The complete item would be rendered with strike through highlight when truthy. • labelDetails: Additional details for a completion item label, which have optional `detail` and/or `description` text. • sortText: A string that should be used when comparing this item with other items, word is used when not exists. • filterText: A string that should be used when filtering a set of complete items, word is used when not exists. • insertText: The text to insert, could be snippet text, word is used when not exists. • isSnippet: The text to insert is snippet when is truthy value, when truthy and `on_complete` not provided by vim source, the `insertText` is expanded as textmate snippet when confirm completion. • documentation: Array of `Documentation`, which provide `filetype` and `content` text to be displayed in preview window. Only the "word" property is mandatory for complete items. Optional functions:~ The vim source could provide some optional functions which would be invoked by coc.nvim: • `coc#source#{name}#get_startcol(option)` Used to alter the start col of completion, the returned col must <= current curosr col. • `coc#source#{name}#on_complete(item)` Called with selected complete item when user confirm the completion by |coc#pum#confirm()| or |coc#_select_confirm()|. Normally used for apply nesessary edits to the buffer. • `coc#source#{name}#on_enter(option)` Called on |BufEnter| with option contains: • bufnr: The buffer number. • uri: The uri text of buffer. • languageId: The mapped filetype of buffer, see |coc-document-filetype|. • `coc#source#{name}#refresh()` Called when the user trigger refresh action for the source. ------------------------------------------------------------------------------ EXTENSION INTRODUCTION *coc-api-intro* Every extension of coc.nvim has a JavaScript entry file, that file is loaded by NodeJS API `vm.runInContext` with an identical global context (like iframe in browser). The JavaScript entry file should be a CommonJS module with `activate` method exported, and `require('coc.nvim')` can be used to access modules exported by coc.nvim, for example: > const {window} = require('coc.nvim') exports.activate = async context => { window.showInformationMessage('extension activated') } < When `exports.deactivate` is exported from the JavaScript entry file as a function, it would be called on extension deactivate. Limitation of extension context:~ Some methods/properties provided by NodeJS can't be used inside extension context, including: • `process.reallyExit()` • `process.abort()` • `process.setuid()` • `process.setgid()` • `process.setgroups()` • `process._fatalException()` • `process.exit()` • `process.kill()` • `process.umask()` Could only be used to get umask value. • `process.chdir()` Could be called, but no effect at all. Some globals may can't be accessed directly, for example `TextDecoder`, `TextEncoder`, use `globalThis` like `globalThis.TextDecoder` to access them. *coc-api-console* Stdin and stdout of the NodeJS process is used for communication between vim and NodeJS process, use the methods related to `process.stdin` and `process.stdout` may cause unexpected behavior. However, some methods of `console` are provided for debugging purpose. Messages from `console` of extension would be redirected to the log file |:CocOpenLog|. Available methods: • `debug(...args: any[])` Write debug message to the log file. • `log(...args: any[])` Write info message to the log file. • `info(...args: any[])` Write info message to the log file. • `error(...args: any[])` Write error message to the log file. • `warn(...args: any[])` Write warning message to the log file. Check the full NodeJS API interfaces at: https://github.com/neoclide/coc.nvim/blob/master/typings/index.d.ts ------------------------------------------------------------------------------ EXTENSION PACKAGE JSON *coc-api-json* The package.json file inside extension root defines the meta data of the extension. For example: > { "name": "coc-my-extension", "version": "1.0.0", "main": "lib/index.js", "engines": { "coc": "^0.0.82" }, "activationEvents": [ "*", ], "contributes": { "rootPatterns": [{ "filetype": "myfiletype", "patterns": [ "project_root.json" ] }], "commands": [{ "title": "My command", "category": "myextension", "id": "myextension.myCommand" }], "configuration": { "type": "object", "properties": { "myextension.enable": { "type": "boolean", "default": true, "scope": "resource", "description": "Enable running of my extension." } } } } } < Required properties of package.json: • name: The unique name of extension, to publish the extension, the name should not be taken by exists packages at https://www.npmjs.com/ • version: The semver version of extension. • engines: Should have `coc` property with minimal required coc.nvim version. The `main` property contains the relative filepath of the javascript entry file, `index.js` would be used when not exists. The `activationEvents` property tell coc.nvim when to activate the extension, when the property not exists or `*` is included, the extension would be activated during coc.nvim initialize. Other possible events: • onLanguage: Activate the extension when document of specific languageId exists, ex: `"onLanguage:vim"` activate the extension when there's buffer with languageId as vim loaded. • onFileSystem: Activate the extension when document with custom schema loaded, ex: `"onFileSystem:fugitive"` activate the extension when there's buffer with schema `fugitive` loaded. • onCommand: activate the extension when specific command invoked by user, ex: `"onCommand:tsserver.reloadProjects"` • workspaceContains: activate the extension when the glob pattern match one of the file in current workspace folder, ex: `"workspaceContains:**/package.json"` Optional `contributes` property contains the meta data that contributed to coc.nvim, inclduing: • rootPatterns: The patterns to resolve |coc-workspace-folders| for associated filetype. • commands: List of commands with `id` and `title` that can be invoked by |:CocCommand|. • configuration: Contains `properties` object or a list of configurations that each one provide `properties` objects which define the configuration properties contributed by this extension. The `contributes` property could also contains other properties that used by other extensions, for example: the `jsonValidation` property could be used by coc-json. It's recommended to install `coc-json` for json intellisense support. ------------------------------------------------------------------------------ SINGLE FILE EXTENSIONS *coc-api-single* The easiest way to access the NodeJS API is make use of single file extensions. All Javascript files that ends with `.js` inside the folder "coc-extensions" under |g:coc_config_home| are considered as coc extensions. The javascript files would be loaded during coc.nvim initialize by default. To contribute extension meta data, create file `${name}.json` aside with `${name}.js`, the json file works the same as package.json of extension |coc-api-json|, except that only `activationEvents` and `contributes` properties are used. Single file extensions can't be managed by extensions list. ------------------------------------------------------------------------------ CREATE CUSTOM EXTENSIONS *coc-api-extension* To make an extension installable by |:CocInstall|, the easiest way is make use of https://github.com/fannheyward/create-coc-extension. Simply run command > npm init coc-extension [extension-name] < or > yarn create coc-extension [extension-name] < in terminal and you will be prompted for create a javascript/typescript extension step by step. To manually create an extension, follow these step: • Create an empty folder and goto that folder. • Create the package.json file |coc-api-json|. • Create a javascript file with name `index.js` and write code. • Add the created folder to your vim's runtimepath by add `set runtimepath^=/path/to/folder` in your vimrc. Recommended steps: • Install types of NodeJS and coc.nvim by terminal command `yarn install @types/node@14.14 coc.nvim` in extension folder. • Bundle the javascript files when using multiple node dependencies by esbuild to save the time of installation. A typical build script looks like: > async function start() { await require('esbuild').build({ entryPoints: ['src/index.ts'], bundle: true, minify: process.env.NODE_ENV === 'production', sourcemap: process.env.NODE_ENV === 'development', mainFields: ['module', 'main'], external: ['coc.nvim'], platform: 'node', target: 'node14.14', outfile: 'lib/index.js' }) } start().catch(e => { console.error(e) }) < ------------------------------------------------------------------------------ DEBUG EXTENSIONS *coc-api-debug* Uncaught errors:~ When an uncaught error raised on the NodeJS process, the error message would be send to vim through stderr, and echoed by vim (unless |g:coc_disable_uncaught_error| is enabeld). The error messages are not stored by vim's message history, use |:CocPrintErrors| to show previous errors. When error happens on the vim side, the promise would be rejected when sending request to vim, for notifications, vim would send `nvim_error_event` to the NodeJS process, and the node-client would create error log for it. Use the log file:~ • Configure `NVIM_COC_LOG_LEVEL` to `trace` in vimrc: `let $NVIM_COC_LOG_LEVEL='trace'` • Configure `NVIM_COC_LOG_FILE` to a fixed in vimrc: `let $NVIM_COC_LOG_FILE=/tmp/coc.log`, otherwise it would be different for each vim instance. • Use |coc-api-console| to add console statements in javascript/typescript code and compile the extension when needed. • Tail the log file by `tail` command and make the issue happen. Add source map support:~ When the javascript code is bundled by esbuild, it would be useful to have correct source map support for the error stack. • Install global source-map-support by `npm install -g source-map-support` • Find out the npm root by `npm root -g` • Load source-map-support with coc.nvim by append arguments to node in vimrc: `let g:coc_node_args = ['-r', '/path/to/npm/root/source-map-support/register']` Repalce the part `/path/to/npm/root` with result from `npm root -g` terminal command. Note: the source-map-support module slows down the coc.nvim initialization. Debug javascript code in chrome:~ • Add `let g:coc_node_args = ['--nolazy', '--inspect-brk=5858']` • Open vim and you will get the error message indicate that the debugger is listening. • Open Chrome browser with url chrome://inspect/#devices, configure the `Target discovery settings` and you will get the remote target to inspect. • Click the inspect link to open the devtools. • Click the sources label to debug javascript code. Other debugger clients can be used as well, see: https://nodejs.org/en/docs/guides/debugging-getting-started/ ============================================================================== vim:tw=78:sta:noet:ts=8:sts=0:ft=help:fen: ================================================ FILE: bundle/coc.nvim-release/doc/coc-config.txt ================================================ *coc-config.txt* NodeJS client for Vim & Neovim. CONTENTS Call hierarchy |coc-config-callHierarchy| CodeLens |coc-config-codeLens| Colors |coc-config-colors| Completion |coc-config-suggest| Cursors |coc-config-cursors| Diagnostics |coc-config-diagnostic| Dialog |coc-config-dialog| Document highlight |coc-config-documentHighlight| Float factory |coc-config-floatFactory| Hover |coc-config-hover| Http |coc-config-http| Inlay hint |coc-config-inlayHint| Links |coc-config-links| List |coc-config-list| Notification |coc-config-notification| Npm |coc-config-npm| Outline |coc-config-outline| Pull diagnostics |coc-config-pullDiagnostic| Refactor |coc-config-refactor| Semantic tokens |coc-config-semanticTokens| Signature |coc-config-signature| Tree |coc-config-tree| Type hierarchy |coc-config-typeHierarchy| Workspace |coc-config-workspace| Preferences |coc-config-preferences| Float |coc-config-float| Language server |coc-config-languageserver| ============================================================================== BUILTIN CONFIGURATIONS *coc-config* Builtin configurations of coc.nvim, it's recommended to use `coc-json` extension for completion and validation support. ------------------------------------------------------------------------------ CallHierarchy~ *coc-config-callHierarchy* "callHierarchy.enableTooltip" *coc-config-callHierarchy-enableTooltip* Enable tooltip to show relative filepath of call hierarchy item. Scope: `application`, default: `true` "callHierarchy.openCommand" *coc-config-callHierarchy-openCommand* Open command for call hierarchy tree view. Scope: `application`, default: `"edit"` "callHierarchy.splitCommand" *coc-config-callHierarchy-splitCommand* Window split command used by call hierarchy tree view. Scope: `application`, default: `"botright 30vs"` ------------------------------------------------------------------------------ CodeLens~ *coc-config-codeLens* "codeLens.enable" *coc-config-codeLens-enable* Enable codeLens feature, require neovim with set virtual text feature. Scope: `language-overridable`, default: `false` "codeLens.position" *coc-config-codeLens-position* Position of codeLens, requires nvim >= 0.6.0. Scope: `resource`, default: `"top"` "codeLens.separator" *coc-config-codeLens-separator* Separator text for codeLens in virtual text. Scope: `resource`, default: `""` "codeLens.subseparator" *coc-config-codeLens-subseparator* Subseparator between codeLenses in virtual text. Scope: `resource`, default: `" | "` ------------------------------------------------------------------------------ Colors~ *coc-config-colors* "colors.enable" *coc-config-colors-enable* Enable colors highlight feature, for termainal vim, 'termguicolors' option should be enabled and the termainal support gui colors. Scope: `language-overridable`, default: `false` "colors.highlightPriority" *coc-config-colors-highlightPriority* Priority for colors highlights, works on vim8 and neovim >= 0.6.0. Scope: `application`, default: `1000` ------------------------------------------------------------------------------ Cursors~ *coc-config-cursors* "cursors.cancelKey" *coc-config-cursors-cancelKey* Key used for cancel cursors session. Scope: `application`, default: `""` "cursors.nextKey" *coc-config-cursors-nextKey* Key used for jump to next cursors position. Scope: `application`, default: `""` "cursors.previousKey" *coc-config-cursors-previousKey* Key used for jump to previous cursors position. Scope: `application`, default: `""` "cursors.wrapscan" *coc-config-cursors-wrapscan* Searches wrap around the first or last cursors range. Scope: `application`, default: `true` ------------------------------------------------------------------------------ Diagnostic~ *coc-config-diagnostic* "diagnostic.autoRefresh" *coc-config-diagnostic-autoRefresh* Enable automatically refresh diagnostics, use diagnosticRefresh action when it's disabled. Scope: `language-overridable`, default: `true` "diagnostic.checkCurrentLine" *coc-config-diagnostic-checkCurrentLine* When enabled, show all diagnostics of current line if there are none at the current position. Scope: `language-overridable`, default: `false` "diagnostic.displayByAle" *coc-config-diagnostic-displayByAle* Use Ale for display diagnostics in vim, will disable coc for display diagnostics, restart required on change. Scope: `language-overridable`, default: `false` "diagnostic.enable" *coc-config-diagnostic-enable* Set to false to disable diagnostic display. Scope: `language-overridable`, default: `true` "diagnostic.enableHighlightLineNumber" *coc-config-diagnostic-enableHighlightLineNumber* Enable highlighting line numbers for diagnostics, only works with neovim. Scope: `application`, default: `true` "diagnostic.enableMessage" *coc-config-diagnostic-enableMessage* When to enable show messages of diagnostics. Scope: `application`, default: `"always"` "diagnostic.enableSign" *coc-config-diagnostic-enableSign* Enable signs for diagnostics. Scope: `language-overridable`, default: `true` "diagnostic.errorSign" *coc-config-diagnostic-errorSign* Text of error sign. Scope: `application`, default: `">>"` "diagnostic.filetypeMap" *coc-config-diagnostic-filetypeMap* A map between buffer filetype and the filetype assigned to diagnostics. To syntax highlight diagnostics with their parent buffer type use `" default": "bufferType"`. Scope: `application`, default: `{}` "diagnostic.floatConfig" *coc-config-diagnostic-floatConfig* Configuration of floating window/popup for diagnostic messages, see |coc-config-float|. Scope: `application`, default: `null` "diagnostic.format" *coc-config-diagnostic-format* Define the diagnostic format that shown in float window or echoed, available parts: source, code, severity, message. Scope: `language-overridable`, default: `"%message (%source%code)"` "diagnostic.highlightLimit" *coc-config-diagnostic-highlightLimit* Limit count for highlighted diagnostics, too many diagnostic highlights could make vim stop responding. Scope: `language-overridable`, default: `1000` "diagnostic.highlightPriority" *coc-config-diagnostic-highlightPriority* Priority for diagnostic highlights, works on vim8 and neovim >= 0.6.0. Scope: `language-overridable`, default: `4096` "diagnostic.hintSign" *coc-config-diagnostic-hintSign* Text of hint sign. Scope: `application`, default: `">>"` "diagnostic.infoSign" *coc-config-diagnostic-infoSign* Text of info sign. Scope: `application`, default: `">>"` "diagnostic.level" *coc-config-diagnostic-level* Used for filter diagnostics by diagnostic severity. Scope: `resource`, default: `"hint"` "diagnostic.locationlistLevel" *coc-config-diagnostic-locationlistLevel* Filter diagnostics in locationlist. Scope: `language-overridable`, default: `null` "diagnostic.locationlistUpdate" *coc-config-diagnostic-locationlistUpdate* Update locationlist on diagnostics change, only works with locationlist opened by :CocDiagnostics command and first window of associated buffer. Scope: `language-overridable`, default: `true` "diagnostic.messageDelay" *coc-config-diagnostic-messageDelay* How long to wait (in milliseconds) before displaying the diagnostic message with echo or float Scope: `application`, default: `200` "diagnostic.messageLevel" *coc-config-diagnostic-messageLevel* Filter diagnostic message in float window/popup. Scope: `language-overridable`, default: `null` "diagnostic.messageTarget" *coc-config-diagnostic-messageTarget* Diagnostic message target. Scope: `language-overridable`, default: `"float"` "diagnostic.refreshOnInsertMode" *coc-config-diagnostic-refreshOnInsertMode* Enable diagnostic refresh on insert mode, default false. Scope: `language-overridable`, default: `false` "diagnostic.separateRelatedInformationAsDiagnostics" *coc-config-diagnostic-separateRelatedInformationAsDiagnostics* Separate related information as diagnostics. Scope: `application`, default: `false` "diagnostic.showDeprecated" *coc-config-diagnostic-showDeprecated* Show diagnostics with deprecated tag. Scope: `language-overridable`, default: `true` "diagnostic.showUnused" *coc-config-diagnostic-showUnused* Show diagnostics with unused tag, affects highlight, sign, virtual text , message. Scope: `language-overridable`, default: `true` "diagnostic.signLevel" *coc-config-diagnostic-signLevel* Filter diagnostics displayed in signcolumn. Scope: `language-overridable`, default: `null` "diagnostic.signPriority" *coc-config-diagnostic-signPriority* Priority of diagnostic signs. Scope: `resource`, default: `10` "diagnostic.virtualText" *coc-config-diagnostic-virtualText* Use virtual text to display diagnostics, requires neovim >= 0.5.0 or vim >= 9.0.0067. Scope: `language-overridable`, default: `false` "diagnostic.virtualTextAlign" *coc-config-diagnostic-virtualTextAlign* Position of virtual text. Vim9 only. Scope: `language-overridable`, default: `"after"` "diagnostic.virtualTextCurrentLineOnly" *coc-config-diagnostic-virtualTextCurrentLineOnly* Only show virtualText diagnostic on current cursor line. Scope: `language-overridable`, default: `true` "diagnostic.virtualTextFormat" *coc-config-diagnostic-virtualTextFormat* Define the virtual text diagnostic format, available parts: source, code , severity, message. Scope: `language-overridable`, default: `"%message"` "diagnostic.virtualTextLevel" *coc-config-diagnostic-virtualTextLevel* Filter diagnostic message in virtual text by level. Scope: `language-overridable`, default: `null` "diagnostic.virtualTextLimitInOneLine" *coc-config-diagnostic-virtualTextLimitInOneLine* The maximum number of diagnostic messages to disaply in one line. Scope: `language-overridable`, default: `999` "diagnostic.virtualTextLineSeparator" *coc-config-diagnostic-virtualTextLineSeparator* The text that will mark a line end from the diagnostic message. Scope: `language-overridable`, default: `" \ "` "diagnostic.virtualTextLines" *coc-config-diagnostic-virtualTextLines* The number of non empty lines from a diagnostic to display. Scope: `language-overridable`, default: `3` "diagnostic.virtualTextPrefix" *coc-config-diagnostic-virtualTextPrefix* The prefix added virtual text diagnostics. Scope: `language-overridable`, default: `" "` "diagnostic.virtualTextWinCol" *coc-config-diagnostic-virtualTextWinCol* Window column number to align virtual text, neovim only. Scope: `language-overridable`, default: `null` "diagnostic.warningSign" *coc-config-diagnostic-warningSign* Text of warning sign. Scope: `application`, default: `"⚠"` ------------------------------------------------------------------------------ Dialog~ *coc-config-dialog* "dialog.confirmKey" *coc-config-dialog-confirmKey* Confirm key for confirm selection used by menu and picker, you can always use to cancel. Scope: `application`, default: `""` "dialog.floatBorderHighlight" *coc-config-dialog-floatBorderHighlight* Highlight group for border of dialog window/popup, use 'CocFloating' when not specified. Scope: `application`, default: `null` "dialog.floatHighlight" *coc-config-dialog-floatHighlight* Highlight group for dialog window/popup, use 'CocFloating' when not specified. Scope: `application`, default: `null` "dialog.maxHeight" *coc-config-dialog-maxHeight* Maximum height of dialog window, for quickpick, it's content window's height. Scope: `application`, default: `30` "dialog.maxWidth" *coc-config-dialog-maxWidth* Maximum width of dialog window. Scope: `application`, default: `80` "dialog.pickerButtonShortcut" *coc-config-dialog-pickerButtonShortcut* Show shortcut in buttons of picker dialog window/popup, used when dialog .pickerButtons is true. Scope: `application`, default: `true` "dialog.pickerButtons" *coc-config-dialog-pickerButtons* Show buttons for picker dialog window/popup. Scope: `application`, default: `true` "dialog.rounded" *coc-config-dialog-rounded* use rounded border for dialog window. Scope: `application`, default: `true` "dialog.shortcutHighlight" *coc-config-dialog-shortcutHighlight* Highlight group for shortcut character in menu dialog. Scope: `application`, default: `"MoreMsg"` ------------------------------------------------------------------------------ DocumentHighlight~ *coc-config-documentHighlight* "documentHighlight.priority" *coc-config-documentHighlight-priority* Match priority used by document highlight, see ':h matchadd'. Scope: `resource`, default: `-1` "documentHighlight.timeout" *coc-config-documentHighlight-timeout* Timeout for document highlight, in milliseconds. Scope: `resource`, default: `300` ------------------------------------------------------------------------------ FloatFactory~ *coc-config-floatFactory* "floatFactory.floatConfig" *coc-config-floatFactory-floatConfig* Configure default float window/popup style created by float factory (created around cursor and automatically closed), properties of |coc-config-float| are used. Scope: `application`, default: `null` ------------------------------------------------------------------------------ Hover~ *coc-config-hover* "hover.autoHide" *coc-config-hover-autoHide* Automatically hide hover float window on CursorMove or InsertEnter. Scope: `application`, default: `true` "hover.floatConfig" *coc-config-hover-floatConfig* Configuration of floating window/popup for hover documents, see |coc-config-float|. Scope: `application`, default: `null` "hover.previewMaxHeight" *coc-config-hover-previewMaxHeight* Max height of preview window for hover. Scope: `resource`, default: `12` "hover.target" *coc-config-hover-target* Target to show hover information, could be `float`, `echo` or `preview`. Scope: `resource`, default: `float` ------------------------------------------------------------------------------ Http proxy~ *coc-config-http* "http.proxy" *coc-config-http-proxy* The proxy setting to use. If not set, will be inherited from the ` http_proxy` and `https_proxy` environment variables. Scope: `application`, default: `""` "http.proxyAuthorization" *coc-config-http-proxyAuthorization* The value to send as the `Proxy-Authorization` header for every network request. Scope: `application`, default: `null` "http.proxyCA" *coc-config-http-proxyCA* CA (file) to use as Certificate Authority> Scope: `application`, default: `null` "http.proxyStrictSSL" *coc-config-http-proxyStrictSSL* Controls whether the proxy server certificate should be verified against the list of supplied CAs. Scope: `application`, default: `true` ------------------------------------------------------------------------------ InlayHint~ *coc-config-inlayHint* "inlayHint.enable" *coc-config-inlayHint-enable* Enable inlay hint support. Scope: `language-overridable`, default: `true` "inlayHint.enableParameter" *coc-config-inlayHint-enableParameter* Enable inlay hints for parameters. Scope: `language-overridable`, default: `true` "inlayHint.display" *coc-config-inlayHint-display* Display inlay hints. Toggle with :CocCommand document.toggleInlayHint Scope: `language-overridable`, default: `true` "inlayHint.parameterSeparator" *coc-config-inlayHint-parameterSeparator* Separator for parameter inlay hint, neovim only. Scope: `language-overridable`, default: `""` "inlayHint.refreshOnInsertMode" *coc-config-inlayHint-refreshOnInsertMode* Refresh inlayHints on insert mode. Scope: `language-overridable`, default: `false` "inlayHint.subSeparator" *coc-config-inlayHint-subSeparator* Separator for chained inlay hints, neovim only. Scope: `language-overridable`, default: `" "` "inlayHint.typeSeparator" *coc-config-inlayHint-typeSeparator* Separator for type inlay hint, neovim only. Scope: `language-overridable`, default: `""` ------------------------------------------------------------------------------ Links~ *coc-config-links* "links.enable" *coc-config-links-enable* Enable document links. Scope: `language-overridable`, default: `true` "links.highlight" *coc-config-links-highlight* Use CocLink highlight group to highlight links. Scope: `application`, default: `false` "links.tooltip" *coc-config-links-tooltip* Show tooltip of link under cursor on CursorHold. Scope: `application`, default: `false` ------------------------------------------------------------------------------ List~ *coc-config-list* "list.alignColumns" *coc-config-list-alignColumns* Whether to align lists in columns. Scope: `application`, default: `false` "list.extendedSearchMode" *coc-config-list-extendedSearchMode* Enable extended search mode which allows multiple search patterns delimited by spaces. Scope: `application`, default: `true` "list.floatPreview" *coc-config-list-floatPreview* Enable preview with float window/popup, default: `false`. Scope: `application`, default: `false` "list.height" *coc-config-list-height* Height of split list window. Scope: `application`, default: `10` "list.indicator" *coc-config-list-indicator* The character used as first character in prompt line. Scope: `application`, default: `">"` "list.insertMappings" *coc-config-list-insertMappings* Custom keymappings on insert mode. Scope: `application`, default: `{}` "list.interactiveDebounceTime" *coc-config-list-interactiveDebounceTime* Debounce time for input change on interactive mode. Scope: `application`, default: `100` "list.limitLines" *coc-config-list-limitLines* Limit lines for list buffer. Scope: `application`, default: `null` "list.maxPreviewHeight" *coc-config-list-maxPreviewHeight* Max height for preview window of list. Scope: `application`, default: `12` "list.menuAction" *coc-config-list-menuAction* Use menu picker instead of confirm() for choose action. Scope: `application`, default: `false` "list.nextKeymap" *coc-config-list-nextKeymap* Key used for select next line on insert mode. Scope: `application`, default: `""` "list.normalMappings" *coc-config-list-normalMappings* Custom keymappings on normal mode. Scope: `application`, default: `{}` "list.previewHighlightGroup" *coc-config-list-previewHighlightGroup* Highlight group used for highlight the range in preview window. Scope: `application`, default: `"Search"` "list.previewSplitRight" *coc-config-list-previewSplitRight* Use vsplit for preview window. Scope: `application`, default: `false` "list.previewToplineOffset" *coc-config-list-previewToplineOffset* Topline offset for list previews Scope: `application`, default: `3` "list.previewToplineStyle" *coc-config-list-previewToplineStyle* Topline style for list previews, could be "offset" or "middle". Scope: `application`, default: `"offset"` "list.previousKeymap" *coc-config-list-previousKeymap* Key used for select previous line on insert mode. Scope: `application`, default: `""` "list.selectedSignText" *coc-config-list-selectedSignText* Sign text for selected lines. Scope: `application`, default: `"*"` "list.signOffset" *coc-config-list-signOffset* Sign offset of list, should be different from other plugins. Scope: `application`, default: `900` "list.smartCase" *coc-config-list-smartCase* Use smartcase match for fuzzy match and strict match, --ignore-case will be ignored, may not affect interactive list. Scope: `application`, default: `false` "list.source.diagnostics.includeCode" *coc-config-list-source-diagnostics-includeCode* Whether to show the diagnostic code in the list. Scope: `application`, default: `true` "list.source.diagnostics.pathFormat" *coc-config-list-source-diagnostics-pathFormat* Decide how the filepath is shown in the list. Scope: `application`, default: `"full"` "list.source.outline.ctagsFiletypes" *coc-config-list-source-outline-ctagsFiletypes* Filetypes that should use ctags for outline instead of language server. Scope: `application`, default: `[]` "list.source.symbols.excludes" *coc-config-list-source-symbols-excludes* Patterns of minimatch for filepath to exclude from symbols list. Scope: `application`, default: `[]` "list.statusLineSegments" *coc-config-list-statusLineSegments* An array of statusline segments that will be used to draw the status line for list windows. Scope: `application`. ------------------------------------------------------------------------------ Notification~ *coc-config-notification* "notification.border" *coc-config-notification-border* Enable rounded border for notification windows. Scope: `application`, default: `true` "notification.disabledProgressSources" *coc-config-notification-disabledProgressSources* Sources that should be disabled for message progress, use * to disable all progresses. Scope: `application`, default: `[]` "notification.focusable" *coc-config-notification-focusable* Enable focus by user actions (wincmds, mouse events), neovim only. Scope: `application`, default: `true` "notification.highlightGroup" *coc-config-notification-highlightGroup* Highlight group of notification dialog. Scope: `application`, default: `"Normal"` "notification.marginRight" *coc-config-notification-marginRight* Margin right to the right of editor window. Scope: `application`, default: `10` "notification.maxHeight" *coc-config-notification-maxHeight* Maximum content height of notification dialog. Scope: `application`, default: `10` "notification.maxWidth" *coc-config-notification-maxWidth* Maximum content width of notification dialog. Scope: `application`, default: `60` "notification.minProgressWidth" *coc-config-notification-minProgressWidth* Minimal with of progress notification. Scope: `application`, default: `30` "notification.statusLineProgress" *coc-config-notification-statusLineProgress* Show progress notification in status line, instead of use float window/popup. "notification.timeout" *coc-config-notification-timeout* Timeout for auto close notifications, in milliseconds. Scope: `application`, default: `10000` "notification.winblend" *coc-config-notification-winblend* Winblend option of notification window, neovim only. Scope: `application`, default: `30` ------------------------------------------------------------------------------ Npm~ *coc-config-npm* "npm.binPath" *coc-config-npm-binPath* Command or absolute path to npm or yarn for global extension install/uninstall. Scope: `application`, default: `"npm"` ------------------------------------------------------------------------------ Outline~ *coc-config-outline* "outline.autoPreview" *coc-config-outline-autoPreview* Enable auto preview on cursor move. Scope: `application`, default: `false` "outline.autoWidth" *coc-config-outline-autoWidth* Automatically increase window width to avoid wrapped lines. Scope: `application`, default: `true` "outline.checkBufferSwitch" *coc-config-outline-checkBufferSwitch* Recreate outline view after user changed to another buffer on current tab. Scope: `application`, default: `true` "outline.codeActionKinds" *coc-config-outline-codeActionKinds* Filter code actions in actions menu by kinds. Scope: `application`, default: `["","quickfix","refactor"]` "outline.detailAsDescription" *coc-config-outline-detailAsDescription* Show detail as description aside with label, when false detail will be shown in tooltip on cursor hold. Scope: `application`, default: `true` "outline.expandLevel" *coc-config-outline-expandLevel* Expand level of tree nodes. Scope: `application`, default: `1` "outline.followCursor" *coc-config-outline-followCursor* Reveal item in outline tree on cursor hold. Scope: `application`, default: `true` "outline.keepWindow" *coc-config-outline-keepWindow* Jump back to original window after outline is shown. Scope: `application`, default: `false` "outline.previewBorder" *coc-config-outline-previewBorder* Use border for preview window. Scope: `application`, default: `true` "outline.previewBorderHighlightGroup" *coc-config-outline-previewBorderHighlightGroup* Border highlight group of preview window. Scope: `application`, default: `"Normal"` "outline.previewBorderRounded" *coc-config-outline-previewBorderRounded* Use rounded border for preview window. Scope: `application`, default: `false` "outline.previewHighlightGroup" *coc-config-outline-previewHighlightGroup* Highlight group of preview window. Scope: `application`, default: `"Normal"` "outline.previewMaxWidth" *coc-config-outline-previewMaxWidth* Max width of preview window. Scope: `application`, default: `80` "outline.previewWinblend" *coc-config-outline-previewWinblend* Enables pseudo-transparency by set 'winblend' option of window, neovim only. Scope: `application`, default: `0` "outline.showLineNumber" *coc-config-outline-showLineNumber* Show line number of symbols. Scope: `application`, default: `true` "outline.sortBy" *coc-config-outline-sortBy* Default sort method for symbols outline. Scope: `application`, default: `"category"` "outline.splitCommand" *coc-config-outline-splitCommand* Window split command used by outline. Scope: `application`, default: `"botright 30vs"` "outline.switchSortKey" *coc-config-outline-switchSortKey* The key used to switch sort method for symbols provider of current tree view. Scope: `application`, default: `""` "outline.togglePreviewKey" *coc-config-outline-togglePreviewKey* The key used to toggle auto preview feature. Scope: `application`, default: `"p"` ------------------------------------------------------------------------------ PullDiagnostic~ *coc-config-pullDiagnostic* "pullDiagnostic.ignored" *coc-config-pullDiagnostic-ignored* Minimatch patterns to match full filepath that should be ignored for pullDiagnostic. Scope: `application`, default: `[]` "pullDiagnostic.onChange" *coc-config-pullDiagnostic-onChange* Whether to pull for diagnostics on document change. Scope: `language-overridable`, default: `true` "pullDiagnostic.onSave" *coc-config-pullDiagnostic-onSave* Whether to pull for diagnostics on document save. Scope: `language-overridable`, default: `false` "pullDiagnostic.workspace" *coc-config-pullDiagnostic-workspace* Whether to pull for workspace diagnostics when possible. Scope: `application`, default: `true` ------------------------------------------------------------------------------ Refactor~ *coc-config-refactor* "refactor.afterContext" *coc-config-refactor-afterContext* Print num lines of trailing context after each match. Scope: `application`, default: `3` "refactor.beforeContext" *coc-config-refactor-beforeContext* Print num lines of leading context before each match. Scope: `application`, default: `3` "refactor.openCommand" *coc-config-refactor-openCommand* Open command for refactor window. Scope: `application`, default: `"vsplit"` "refactor.saveToFile" *coc-config-refactor-saveToFile* Save changed buffer to file when write refactor buffer with ':noa wa' command. Scope: `application`, default: `true` "refactor.showMenu" *coc-config-refactor-showMenu* Refactor buffer local mapping to bring up menu for this chunk. Scope: `application`, default: `""` ------------------------------------------------------------------------------ SemanticTokens~ *coc-config-semanticTokens* "semanticTokens.combinedModifiers" *coc-config-semanticTokens-combinedModifiers* Semantic token modifiers that should have highlight combined with syntax highlights. Scope: `language-overridable`, default: `["deprecated"]` "semanticTokens.enable" *coc-config-semanticTokens-enable* Enable semantic tokens support. Scope: `language-overridable`, default: `false` "semanticTokens.highlightPriority" *coc-config-semanticTokens-highlightPriority* Priority for semantic tokens highlight. Scope: `language-overridable`, default: `2048` "semanticTokens.incrementTypes" *coc-config-semanticTokens-incrementTypes* Semantic token types that should increase highlight when insert at the start and end position of token. Scope: `language-overridable`, default: `["variable","string","parameter"]` ------------------------------------------------------------------------------ Signature~ *coc-config-signature* "signature.enable" *coc-config-signature-enable* Enable show signature help when trigger character typed. Scope: `language-overridable`, default: `true` "signature.floatConfig" *coc-config-signature-floatConfig* Configuration of floating window/popup for signature documents, see |coc-config-float|. Scope: `application`, default: `null` "signature.hideOnTextChange" *coc-config-signature-hideOnTextChange* Hide signature float window when text changed on insert mode. Scope: `language-overridable`, default: `false` "signature.preferShownAbove" *coc-config-signature-preferShownAbove* Show signature help float window above cursor when possible, require restart coc.nvim on change. Scope: `application`, default: `true` "signature.target" *coc-config-signature-target* Target of signature help, use float when possible by default. Scope: `language-overridable`, default: `"float"` "signature.triggerSignatureWait" *coc-config-signature-triggerSignatureWait* Timeout for trigger signature help, in milliseconds. Scope: `language-overridable`, default: `500` ------------------------------------------------------------------------------ Snippet~ *coc-config-snippet* "snippet.highlight" *coc-config-snippet-highlight* Use highlight group 'CocSnippetVisual' to highlight placeholders with same index of current one. Scope: `resource`, default: `false` "snippet.nextPlaceholderOnDelete" *coc-config-snippet-nextPlaceholderOnDelete* Automatically jump to the next placeholder when the current one is completely deleted. Scope: `resource`, default: `false` "snippet.statusText" *coc-config-snippet-statusText* Text shown in statusline to indicate snippet session is activated. Scope: `application`, default: `"SNIP"` ------------------------------------------------------------------------------ Suggest~ *coc-config-suggest* "suggest.acceptSuggestionOnCommitCharacter" *coc-config-suggest-acceptSuggestionOnCommitCharacter* Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character. Scope: `language-overridable`, default: `false` "suggest.asciiCharactersOnly" *coc-config-suggest-asciiCharactersOnly* Trigger suggest with ASCII characters only. Scope: `language-overridable`, default: `false` "suggest.asciiMatch" *coc-config-suggest-asciiMatch* Convert unicode characters to ascii for match. Scope: `language-overridable`, default: `true` "suggest.autoTrigger" *coc-config-suggest-autoTrigger* How should completion be triggered, could be `"always"`, `"trigger"` or `"none"`. Scope: `language-overridable`, default: `"always"` "suggest.completionItemKindLabels" *coc-config-suggest-completionItemKindLabels* Set custom labels to completion items' kinds. Default value: > { "text": "v", "method": "f", "function": "f", "constructor": "f", "field": "m", "variable": "v", "class": "C", "interface": "I", "module": "M", "property": "m", "unit": "U", "value": "v", "enum": "E", "keyword": "k", "snippet": "S", "color": "v", "file": "F", "reference": "r", "folder": "F", "enumMember": "m", "constant": "v", "struct": "S", "event": "E", "operator": "O", "typeParameter": "T", "default": "" } < Scope: `application` "suggest.defaultSortMethod" *coc-config-suggest-defaultSortMethod* Default sorting behavior when trigger is empty, could be `"length"`, `"alphabetical"` or `"none"`. Scope: `language-overridable`, default: `"length"` "suggest.detailField" *coc-config-suggest-detailField* Where to show the detail text of CompleteItem from language server. Scope: `application`, default: `"preview"` "suggest.enableFloat" *coc-config-suggest-enableFloat* Enable float window with documentation aside with popupmenu. Scope: `language-overridable`, default: `true` "suggest.enablePreselect" *coc-config-suggest-enablePreselect* Enable preselect feature, works when |coc-config-suggest-noselect| is false. Scope: `application`, default: `true` "suggest.filterGraceful" *coc-config-suggest-filterGraceful* Controls whether filtering and sorting suggestions accounts for small typos. Scope: `language-overridable`, default: `true` "suggest.filterOnBackspace" *coc-config-suggest-filterOnBackspace* Filter complete items on backspace. Scope: `language-overridable`, default: `true` "suggest.floatConfig" *coc-config-suggest-floatConfig* Configure style of popup menu and documentation window for completion, see |coc-config-float|. Note: some properties not work, including: "title", "focusable", "close" and "maxHeight" (use 'pumheight' option for maximum height of popup menu). Note: "maxWidth" not works for popup menu, use |coc-config-suggest-labelMaxLength| instead. "suggest.formatItems" *coc-config-suggest-formatItems* Items shown in popup menu in order. Scope: `application`, default: `["abbr","menu","kind","shortcut"]` "suggest.highPrioritySourceLimit" *coc-config-suggest-highPrioritySourceLimit* Max items count for source priority bigger than or equal to 90. Scope: `language-overridable`, default: `null` "suggest.insertMode" *coc-config-suggest-insertMode* Controls whether words are overwritten when accepting completions. Scope: `language-overridable`, default: `“replace"` "suggest.ignoreRegexps" *coc-config-suggest-ignoreRegexps* Regexps to ignore when trigger suggest. Scope: `language-overridable`, default: `[]` "suggest.invalidInsertCharacters" *coc-config-suggest-invalidInsertCharacters* Invalid character for strip valid word when inserting text of complete item. Scope: `application`, default: `["\r","\n"]` "suggest.labelMaxLength" *coc-config-suggest-labelMaxLength* Max length of abbr that shown as label of complete item. Scope: `application`, default: `200` "suggest.languageSourcePriority" *coc-config-suggest-languageSourcePriority* Priority of language sources. Scope: `language-overridable`, default: `99` "suggest.localityBonus" *coc-config-suggest-localityBonus* Boost suggestions that appear closer to the cursor position. Scope: `language-overridable`, default: `true` "suggest.lowPrioritySourceLimit" *coc-config-suggest-lowPrioritySourceLimit* Max items count for source priority lower than 90. Scope: `language-overridable`, default: `null` "suggest.maxCompleteItemCount" *coc-config-suggest-maxCompleteItemCount* Maximum number of complete items shown in vim. Scope: `language-overridable`, default: `256` "suggest.minTriggerInputLength" *coc-config-suggest-minTriggerInputLength* Minimal input length for trigger completion. Scope: `language-overridable`, default: `1` "suggest.noselect" *coc-config-suggest-noselect* Not make vim select first item on popupmenu shown. Scope: `application`, default: `false` "suggest.preferCompleteThanJumpPlaceholder" *coc-config-suggest-preferCompleteThanJumpPlaceholder* Confirm completion instead of jump to next placeholder when completion is activated. Scope: `resource`, default: `false` "suggest.pumFloatConfig" *coc-config-suggest-pumFloatConfig* Configure style of popup menu, |coc-config-suggest-floatConfig| is used when not specified, see |coc-config-float|. Available properties: "border", "rounded", "highlight", "borderhighlight", "winblend" and "shadow". Note: 'winblend' option is used for custom popup menu when not configured, use 'pumwidth' for minimal width of popup menu and 'pumheight' for maximum height of popup menu. Scope: `application`, default: `null` "suggest.removeDuplicateItems" *coc-config-suggest-removeDuplicateItems* Remove completion items with duplicated word for all sources, snippet items are excluded. Scope: `language-overridable`, default: `false` "suggest.reversePumAboveCursor" *coc-config-suggest-reversePumAboveCursor* Reverse order of complete items when pum shown above cursor. Scope: `application`, default: `false` "suggest.selection" *coc-config-suggest-selection* Controls how suggestions are pre-selected when showing the suggest list. Scope: `application`, default: `"first"` "suggest.snippetIndicator" *coc-config-suggest-snippetIndicator* The character used in abbr of complete item to indicate the item could be expand as snippet. Scope: `application`, default: `"~"` "suggest.snippetsSupport" *coc-config-suggest-snippetsSupport* Set to false to disable snippets support of completion. Scope: `language-overridable`, default: `true` "suggest.timeout" *coc-config-suggest-timeout* Timeout for completion, in milliseconds. Scope: `language-overridable`, default: `5000` "suggest.triggerAfterInsertEnter" *coc-config-suggest-triggerAfterInsertEnter* Trigger completion after InsertEnter, |coc-config-suggest-autoTrigger| should be 'always' to enable this option Scope: `language-overridable`, default: `false` "suggest.triggerCompletionWait" *coc-config-suggest-triggerCompletionWait* Wait time between text change and completion start, cancel completion when text changed during wait. Scope: `language-overridable`, default: `0` "suggest.virtualText" *coc-config-suggest-virtualText* Show virtual text for insert word of selected item, requires neovim >= 0.5.0 or vim >= 9.0.0067. Scope: `application`, default: `false` ------------------------------------------------------------------------------ Tree~ *coc-config-tree* "tree.openedIcon" *coc-config-tree-openedIcon* Opened icon of tree view. Scope: `application`, default: `"-"` "tree.closedIcon" *coc-config-tree-closedIcon* Closed icon of tree view. Scope: `application`, default: `"+"` "tree.key.actions" *coc-config-tree-key-actions* Trigger key to invoke actions. Scope: `application`, default: `""` "tree.key.activeFilter" *coc-config-tree-key-activeFilter* Trigger key active filter. Scope: `application`, default: `"f"` "tree.key.close" *coc-config-tree-key-close* Trigger key to dispose the tree and close tree window. Scope: `application`, default: `""` "tree.key.collapseAll" *coc-config-tree-key-collapseAll* Trigger key to collapse all tree node. Scope: `application`, default: `"M"` "tree.key.invoke" *coc-config-tree-key-invoke* Trigger key to invoke default command of current node or selection. Scope: `application`, default: `""` "tree.key.selectNext" *coc-config-tree-key-selectNext* Trigger key to select next item during filter. Scope: `application`, default: `""` "tree.key.selectPrevious" *coc-config-tree-key-selectPrevious* Trigger key to select previous item during filter. Scope: `application`, default: `""` "tree.key.toggle" *coc-config-tree-key-toggle* Trigger key to toggle expand state of tree node, does nothing with leaf node. Scope: `application`, default: `"t"` "tree.key.toggleSelection" *coc-config-tree-key-toggleSelection* Trigger key to select/unselect item. Scope: `application`, default: `""` ------------------------------------------------------------------------------ TypeHierarchy~ *coc-config-typeHierarchy* "typeHierarchy.enableTooltip" *coc-config-typeHierarchy-enableTooltip* Enable tooltip to show relative filepath of type hierarchy item. Scope: `application`, default: `true` "typeHierarchy.openCommand" *coc-config-typeHierarchy-openCommand* Open command for type hierarchy tree view. Scope: `application`, default: `"edit"` "typeHierarchy.splitCommand" *coc-config-typeHierarchy-splitCommand* Window split command used by type hierarchy tree view. Scope: `application`, default: `"botright 30vs"` ------------------------------------------------------------------------------ Workspace~ *coc-config-workspace* "workspace.rootPatterns" *coc-config-workspace-rootPatterns* Root patterns to resolve workspaceFolder from parent folders of opened files, resolved from up to down. Scope: `application`, default: `[".git",".hg",".projections.json"]` "workspace.bottomUpFiletypes" *coc-config-workspace-bottomUpFiletypes* Filetypes that should have workspace folder should resolved from base directory of file, or ["*"] for any filetype. Scope: `application`, default: `[]` "workspace.ignoredFiletypes" *coc-config-workspace-ignoredFiletypes* Filetypes that should be ignored for workspace folder resolve. Scope: `resource`, default: `[]` "workspace.ignoredFolders" *coc-config-workspace-ignoredFolders* List of folders that should not be resolved as workspace folder, environment variables and minimatch patterns can be used. Scope: `application`, default: `["$HOME"]` "workspace.openOutputCommand" *coc-config-workspace-openOutputCommand* Command used to open output channel. Scope: `resource`, default: `"vs"` "workspace.openResourceCommand" *coc-config-workspace-openResourceCommand* Command to open files that not loaded, load files as hidden buffers when empty. Scope: `application`, default: `"tab drop"` "workspace.workspaceFolderCheckCwd" *coc-config-workspace-workspaceFolderCheckCwd* Whether the current working directory should be used first when checking patterns match for workspace folder. Scope: `application`, default: `true` "workspace.workspaceFolderFallbackCwd" *coc-config-workspace-workspaceFolderFallbackCwd* Use current working directory as workspace folder when no root patterns resolved. Scope: `application`, default: `true` ------------------------------------------------------------------------------ Preferences~ *coc-config-preferences* "coc.preferences.bracketEnterImprove" *coc-preferences-bracketEnterImprove* Improve enter inside bracket `<> {} [] ()` by add new empty line below and place cursor to it. Works with `coc#on_enter()` Scope: `language-overridable`, default: `true` "coc.preferences.currentFunctionSymbolAutoUpdate" *coc-preferences-currentFunctionSymbolAutoUpdate* Automatically update the value of b:coc_current_function on CursorHold event Scope: `language-overridable`, default: `false` "coc.preferences.enableLinkedEditing" *coc-preferences-enableLinkedEditing* Enable linked editing support. Scope: `language-overridable`, default: `false` "coc.preferences.enableMarkdown" *coc-preferences-enableMarkdown* Tell the language server that markdown text format is supported, note that markdown text may not rendered as expected. Scope: `application`, default: `true` "coc.preferences.enableMessageDialog" *coc-preferences-enableMessageDialog* Enable messages shown in notification dialog. Scope: `application`, default: `false` "coc.preferences.excludeImageLinksInMarkdownDocument" *coc-preferences-excludeImageLinksInMarkdownDocument* Exclude image links from markdown text in float window. Scope: `application`, default: `true` "coc.preferences.enableGFMBreaksInMarkdownDocument" *coc-preferences-enableGFMBreaksInmakrdownDocument* Exclude GFM breaks in markdown document. Scope: `application`, default: `true` "coc.preferences.extensionUpdateCheck" *coc-preferences-extensionUpdateCheck* Interval for check extension update, could be "daily", "weekly" or "never" Scope: `application`, default: `"never"` "coc.preferences.floatActions" *coc-preferences-floatActions* Set to false to disable float/popup support for actions menu. Scope: `application`, default: `true` "coc.preferences.formatOnSave" *coc-preferences-formatOnSave* Set to true to enable formatting on save. Scope: `language-overridable`, default: `false` "coc.preferences.formatOnSaveTimeout" *coc-preferences-formatOnSaveTimeout* How long before the format command run on save will time out. Scope: `language-overridable`, default: `200` "coc.preferences.formatOnType" *coc-preferences-formatOnType* Set to true to enable formatting on typing Scope: `language-overridable`, default: `false` "coc.preferences.jumpCommand" *coc-preferences-jumpCommand* Command used for location jump, like goto definition, goto references etc. Can be also a custom command that gives file as an argument. Scope: `application`, default: `"edit"` "coc.preferences.maxFileSize" *coc-preferences-maxFileSize* Maximum file size in bytes that coc.nvim should handle, default '10MB'. Scope: `application`, default: `"10MB"` "coc.preferences.messageLevel" *coc-preferences-messageLevel* Message level for filter echoed messages, could be 'more', 'warning' and 'error' Scope: `application`, default: `"more"` "coc.preferences.promptInput" *coc-preferences-promptInput* Use prompt buffer in float window for user input. Scope: `application`, default: `true` "coc.preferences.renameFillCurrent" *coc-preferences-renameFillCurrent* Disable to stop Refactor-Rename float/popup window from populating with old name in the New Name field. Scope: `application`, default: `true` "coc.preferences.silentAutoupdate" *coc-preferences-silentAutoupdate* Not open split window with update status when performing auto update. Scope: `application`, default: `true` "coc.preferences.useQuickfixForLocations" *coc-preferences-useQuickfixForLocations* Use vim's quickfix list for jump locations, need restart on change. Scope: `application`, default: `false` "coc.preferences.watchmanPath" *coc-preferences-watchmanPath* executable path for https://facebook.github.io/watchman/, detected from $PATH by default Scope: `application`, default: `null` "coc.preferences.willSaveHandlerTimeout" *coc-preferences-willSaveHandlerTimeout* Will save handler timeout. Scope: `application`, default: `500` ------------------------------------------------------------------------------ Float configuration~ *coc-config-float* Used by `suggest.floatConfig`, `diagnostic.floatConfig`, `signature.floatConfig` and `hover.floatConfig`, following properties are supported: - "border": Change to `true` to enable border. - "rounded": Use rounded borders when border is `true`. - "highlight": Background highlight group of float window, default: `"CocFloating"`. - "title": Title text used by float window, default: `""`. - "borderhighlight": Border highlight group of float window, default: `"CocFloating"`. - "close": Set to `true` to draw close icon. - "maxWidth": Maximum width of float window, contains border. - "maxHeight": Maximum height of float window, contains border. - "winblend": Set 'winblend' option of window, neovim only, default: `0`. - "focusable": Set to false to make window not focusable, neovim only. - "shadow": Set to true to enable shadow, neovim only. ------------------------------------------------------------------------------ Languageserver~ *coc-config-languageserver* Dictionary of Language Servers, key is the ID of corresponding server, and value is configuration of languageserver. Default: `{}` Properties of languageserver configuration: - "enable": Change to `false` to disable that languageserver. - "filetypes": Supported filetypes, add * in array for all filetypes. Note: it's required for start the languageserver, please make sure your filetype is expected by `:CocCommand document.echoFiletype` command - 'maxRestartCount': Maximum restart count when server closed in the last 3 minutes, default to `4`. - "additionalSchemes": Additional URI schemes, default schemes including file & untitled. Note: you have to setup vim provide content for custom URI as well. - "cwd": Working directory used to start languageserver, vim's cwd is used by default. - "env": Environment variables for child process. - "settings": Settings for languageserver, received on server initialization. - "trace.server": Trace level of communication between server and client that showed with output channel, open output channel by command `:CocCommand workspace.showOutput` - "stdioEncoding": Encoding used for stdio of child process. - "initializationOptions": Initialization options passed to languageserver (it's deprecated) - "rootPatterns": Root patterns used to resolve rootPath from current file. - "requireRootPattern": If true, doesn't start server when root pattern not found. - "ignoredRootPaths": Absolute root paths that language server should not use as rootPath, higher priority than rootPatterns. - "disableDynamicRegister": Disable dynamic registerCapability feature for this languageserver to avoid duplicated feature registration. - "disableSnippetCompletion": Disable snippet completion feature for this languageserver. - "disabledFeatures": Disable features for this languageserver, valid keys: > ["completion", "configuration", "workspaceFolders", "diagnostics", "willSave", "willSaveUntil", "didSaveTextDocument", "fileSystemWatcher", "hover", "signatureHelp", "definition", "references", "documentHighlight", "documentSymbol", "workspaceSymbol", "codeAction", "codeLens", "formatting", "documentFormatting", "documentRangeFormatting", "documentOnTypeFormatting", "rename", "documentLink", "executeCommand", "pullConfiguration", "typeDefinition", "implementation", "declaration", "color", "foldingRange", "selectionRange", "progress", "callHierarchy", "linkedEditing", "fileEvents", "semanticTokens"] < - "formatterPriority": Priority of this languageserver's formatter. - "revealOutputChannelOn": Configure message level to show the output channel buffer. - "progressOnInitialization": Enable progress report on languageserver initialize. Language server start with command:~ Additional fields can be used for a command languageserver: - "command": Executable program name in $PATH or absolute path of executable used for start languageserver. - "args": Command line arguments of command. - "detached": Detach language server when is true. - "shell": Use shell for server process, default: `false` Language server start with module:~ Additional fields can be used for a languageserver started by node module: - "module": Absolute filepath of Javascript file. - "args": Extra arguments used on fork Javascript module. - "runtime": Absolute path of node runtime, node runtime of coc.nvim is used by default. - "execArgv": ARGV passed to node on fork, normally used for debugging, example: `["--nolazy", "--inspect-brk=6045"]` - "transport": Transport kind used by server, could be 'ipc', 'stdio', 'socket' and 'pipe'. 'ipc' is used by default (recommended). - "transportPort": Port number used when transport is 'socket'. Language server use initialized socket server:~ - "port": Port number of socket server. - "host": Host of socket server, default to `127.0.0.1`. ============================================================================== vim:tw=78:nosta:noet:ts=8:sts=0:ft=help:noet:fen: ================================================ FILE: bundle/coc.nvim-release/doc/coc.txt ================================================ *coc-nvim.txt* NodeJS client for Vim & Neovim. Version: 0.0.82 Author: Qiming Zhao CONTENTS *coc-contents* Introduction |coc-introduction| Requirements |coc-requirements| Installation |coc-installation| Extensions |coc-extensions| Configuration |coc-configuration| Floating windows |coc-floating| LSP features |coc-lsp| Document |coc-document| Hover |coc-hover| Completion |coc-completion| Diagnostics |coc-diagnostics| Pull diagnostics |coc-pullDiagnostics| Locations |coc-locations| Rename |coc-rename| Signature help |coc-signature| Inlay hint |coc-inlayHint| Format |coc-format| Code action |coc-code-actions| Document highlights |coc-document-highlights| Document colors |coc-document-colors| Document links |coc-document-links| Snippets |coc-snippets| Workspace |coc-workspace| Cursors |coc-cursors| Outline |coc-outline| Call hierarchy |coc-callHierarchy| Type hierarchy |coc-typeHierarchy| Semantic highlights |coc-semantic-highlights| Fold |coc-fold| Selection range |coc-selection-range| Code Lens |coc-code-lens| Linked editing |coc-linked-editing| Interface |coc-interface| Key mappings |coc-key-mappings| Variables |coc-variables| Buffer variables |coc-buffer-variables| Global variables |coc-global-variables| Functions |coc-functions| Commands |coc-commands| Autocmds |coc-autocmds| Highlights |coc-highlights| Tree |coc-tree| Tree mappings |coc-tree-mappings| Tree filter |coc-tree-filter| List |coc-list| List command |coc-list-command| List command options |coc-list-options| List configuration |coc-list-configuration| List mappings |coc-list-mappings| list sources |coc-list-sources| Dialog |coc-dialog| Dialog basic |coc-dialog-basic| Dialog confirm |coc-dialog-confirm| Dialog input |coc-dialog-input| Dialog menu |coc-dialog-menu| Dialog picker |coc-dialog-picker| Notification |coc-notification| Statusline integration |coc-status| Manual |coc-status-manual| Airline |coc-status-airline| Lightline |coc-status-lightline| Create plugins |coc-plugins| FAQ |coc-faq| Change log |coc-changelog| ============================================================================== INTRODUCTION *coc-introduction* Coc.nvim enhances your (Neo)Vim to match the user experience provided by VSCode through a rich extension ecosystem and implemented the client features specified by Language Server Protocol (3.17 for now), see |coc-lsp|. Some features (like completion) automatically works by default, all of them can be disabled by |coc-configuration|. Some key features:~ • Typescript APIs compatible with both Vim8 and Neovim. • Loading VSCode-like extensions |coc-api-extension|. • Configuring coc.nvim and its extensions with JSON configuration |coc-configuration|. • Configuring Language Servers that using Language Server Protocol (LSP) |coc-config-languageserver|. It is designed for best possible integration with other Vim plugins. Note: coc.nvim doesn't come with support for any specific language. You will need to install coc.nvim extensions |coc-extensions| or set up the language server by use |coc-config-languageserver|. Note: multiple language servers for same document is allowed, but you should avoid configure same language server that already used by coc.nvim extension. Note: automatic completion plugins can't play nicely together, you can disable automatic completion of coc.nvim by use `"suggest.autoTrigger": "none"` (or `"suggest.autoTrigger": "trigger"`) in your |coc-configuration|. ============================================================================== REQUIREMENTS *coc-requirements* Neovim >= 0.4.0 or Vim >= 8.1.1719. NodeJS https://nodejs.org/ >= 14.14.0. Yarn https://yarnpkg.com/ required to build coc.nvim from typescript source code. ============================================================================== INSTALLATION *coc-installation* If you're using [vim-plug](https://github.com/junegunn/vim-plug), add this to your `init.vim` or `.vimrc`: > Plug 'neoclide/coc.nvim', {'branch': 'release'} < And run: > :PlugInstall For other plugin managers, make sure to use the release branch (unless you need to build from typescript source code). To use Vim's native |packages| on Linux or MaxOS, use script like: > #!/bin/sh # for vim8 mkdir -p ~/.vim/pack/coc/start cd ~/.vim/pack/coc/start curl --fail -L https://github.com/neoclide/coc.nvim/archive/release.tar.gz|tar xzfv - vim -c 'helptags ~/.vim/pack/coc/start/doc|q' # for neovim mkdir -p ~/.local/share/nvim/site/pack/coc/start cd ~/.local/share/nvim/site/pack/coc/start curl --fail -L https://github.com/neoclide/coc.nvim/archive/release.tar.gz|tar xzfv - nvim -c 'helptags ~/.local/share/nvim/site/pack/coc/start|q' when using source code of coc.nvim, you'll have to install https://yarnpkg.com/ and run `yarn install` in project root of coc.nvim. ============================================================================== EXTENSIONS *coc-extensions* To provide LSP features of different filetypes, the user have to config |coc-config-languageserver| or install coc extensions. Extensions are more powerful since they could contribute json schemes, commands, and use middleware methods of languageserver to provide better results. It's also possible to provide features that beyond LSP. *coc-extensions-folder* Extensions are loaded from `"extensions"` folder inside |coc#util#get_data_home()| and folders in 'runtimepath' when detected. Use `let $COC_NO_PLUGINS = '1'` in vimrc to disable the load of extensions. See |coc-api-extension| for the guide to create coc.nvim extension. Install extensions from git (not recommended):~ • Download the source code. • In project root, install dependencies and compile the code by `yarn install` (needed by most coc extensions). • Add the project root to vim's runtimepath by `set runtimepath^=/path/to/project` Plugin manager like [vim-plug] can be used as well. Note: use coc.nvim extensions from source code requires install dependencies, which may take huge disk usage. *coc-extensions-npm* Install global extensions from npm (recommended):~ Use |:CocInstall| to install coc extensions from vim's command line. To make coc.nvim install extensions on startup, use |g:coc_global_extensions|. To use package manager other than npm (like `yarn` or `pnpm`), use |coc-config-npm-binPath|. To customize npm registry for coc.nvim add `coc.nvim:registry` in your `~/.npmrc`, like: > coc.nvim:registry=https://registry.mycompany.org/ < To customize extension folder, configure |g:coc_data_home|. Uninstall global extensions:~ Use |:CocUninstall|. Update global extensions:~ Use |:CocUpdate| or |:CocUpdateSync|. To update extensions automatically, config |coc-preferences-extensionUpdateCheck|. Manage extensions list:~ Use |coc-list-extensions| or |CocAction('extensionStats')| to get list of extensions. ============================================================================== CONFIGURATION *coc-configuration* The configuration of coc.nvim is stored in file named "coc-settings.json". Configuration properties are contributed by coc.nvim itself and coc.nvim extensions. See |coc-config| for builtin configurations. The configuration files are all in JSON format (with comment supported), it's recommended to enable JSON completion and validation by install the `coc-json` extension: > :CocInstall coc-json < To fix the highlight of comment, use: > autocmd FileType json syntax match Comment +\/\/.\+$+ < in your vimrc. Global configuration file:~ Command |:CocConfig| will open (create when necessary) a user settings file in the folder returned by |coc#util#get_config_home()|. The user configuration value could be overwritten by API |coc#config()| or |g:coc_user_config|. The global configuration file can be created in another directory by setting |g:coc_config_home| in your vimrc like: > let g:coc_config_home = '/path/to/folder' Folder configuration file:~ To create a local configuration file for a specific workspace folder, use |:CocLocalConfig| to create and open `.vim/coc-settings.json` in current workspace folder. Folder configuration would overwrite user configuration. Note: the configuration file won't work when the parent folder is not resolved as workspace folder, it's best practice to start vim inside workspace folder, see |coc-workspace-folders|. *coc-configuration-expand* Variables expands:~ Variables would be expanded in string values of configuration, supported variables: • `${userHome}` the path of the user's home folder • `${cwd}` current working directory of vim. You can also reference environment variables through the `${env:name}` syntax (for example, `${env:USERNAME}`), no expand happens when env not exists. Configurations that requires file paths (ex: |coc-config-workspace-ignoredFolders|) support expand `~` at the beginning of the filepath to user's home and some additional variables: • `${workspaceFolder}` the current opened file's workspace folder. • `${workspaceFolderBasename}` the name of the workspace folder opened in coc.nvim without any slashes (/). • `${file}` the current opened file. • `${fileDirname}` the current opened file's dirname. • `${fileExtname}` the current opened file's extension. • `${fileBasename}` the current opened file's basename • `${fileBasenameNoExtension}` the current opened file's basename with no file extension. *coc-configuration-scope* Configuration scope:~ A configuration could be one of three different configuration scopes: • `"application"` the configuration could only be used in user configuration file. • `"resource"` the configuration could be used in user and workspace folder configuration file. • `"language-overridable"` the configuration could be used in user and workspace folder configuration file, and can be use used in language scoped configuration section like `[typescript][json]`. For example: > // disable inlay hint for some languages "[rust][lua][c]": { "inlayHint.enable": false } < ============================================================================== FLOATING WINDOWS *coc-floating* Floating windows/popups are created by |api-floatwin| on neovim or |popupwin| on vim. *coc-floating-scroll* Scroll floating windows:~ See |coc#float#has_scroll()| for example. Note: use |coc#pum#scroll()| for scroll popup menu. *coc-floating-close* Close floating windows:~ To close all floating windows/popups use |coc#float#close_all()| or |popup_clear()| on vim. Or you can use o on neovim which close all split windows as well. Or use |popup_clear()| on vim. To close single floating window/popup, use |coc#float#close()|. *coc-floating-focus* Focus floating windows:~ On neovim, use w (or |(coc-float-jump)|) could focus a floating window just created (if it's focusable). It's not allowed to focus popups on vim, unless it's using a terminal buffer. *coc-floating-config* Configure floating windows:~ To set custom window options on floating window create, use autocmd |CocOpenFloat| or |CocOpenFloatPrompt|. Related variables: • |g:coc_last_float_win| • |g:coc_borderchars| • |g:coc_border_joinchars| • |g:coc_markdown_disabled_languages| Related highlight groups: • |CocFloating| For floating window background. • |CocFloatDividingLine| For dividing lines. • |CocFloatActive| For active parts. • |CocMenuSel| For selected line. To customize floating windows used by popup menu, use: • |coc-config-suggest-floatConfig| • |coc-config-suggest-pumFloatConfig| For floating windows created around cursor, like diagnostics, hover and signature use |coc-config-floatFactory-floatConfig| for common float configurations. For further customization, use: • |coc-config-diagnostic-floatConfig| • |coc-config-signature-floatConfig| • |coc-config-hover-floatConfig| For customize dialog windows, use |coc-config-dialog|. For customize notification windows, use |coc-config-notification|. Configure |coc-preferences-enableMessageDialog| to show messages as notifications (except for the messages of unexpected errors which are always echoed). ============================================================================== LSP FEATURES *coc-lsp* Most features of LSP 3.17 are supported, checkout the specification at https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/ Features not supported: • Telemetry. • Inline values for debugger. • Notebook document. LSP features only works with attached documents, see |coc-document-attached|. To check exists providers of current buffer, use command `:CocCommand document.checkBuffer` or API |CocHasProvider()|. For historic reason, some features automatically works by default, but some are not. Features automatically work by default:~ • Trigger completion |coc-completion|. • Diagnostics refresh |coc-diagnostics|. • Pull diagnostics |coc-pullDiagnostics|. • Trigger signature help |coc-signature|. • Inlay hints |coc-inlayHint| Most features could be toggled by |coc-configuration| and some vim variables. To disable all features that automatically work, use configuration: > "suggest.autoTrigger": "none", "diagnostic.enable": false, "pullDiagnostic.onChange": false, "signature.enable": false, "inlayHint.enable": false, < Features require enabled by configuration:~ • Semantic highlights |coc-semantic-highlights|. • Document color highlights |coc-document-colors|. • Code lens, |coc-code-lens| • Linked editing, |coc-linked-editing|. • Format on type, enabled by |coc-preferences-formatOnType| • Format on save, enabled by |coc-preferences-formatOnSave|. Features requested by user:~ • Locations related (including definitions, references etc.) |coc-locations| • Invoke code action |coc-code-actions|. • Show call hierarchy tree |coc-callHierarchy|. • Show type hierarchy tree |coc-typeHierarchy| • Format, range format and on type format |coc-format|. • Highlight same symbol ranges |coc-document-highlights|. • Outline of document symbols |coc-outline| and |coc-list-symbols|. • Show hover information |coc-hover|. • Rename symbol under cursor |coc-rename|. • Open link under cursor |coc-document-links|. • Selection range |coc-selection-range| • Create folding ranges |coc-fold|. For convenient, some actions have associated |coc-key-mappings| provided. Prefer |CocAction()| for more options. Features triggered by languageserver:~ • Show message notification (use |coc-notification|). • Show message request (use |coc-dialog-menu|). • Log message notification (use `:CocCommand workspace.showOutput` to show output). • Show document request (opened by vim or your browser for url). • Work done progress (use |coc-notification|). To make coc.nvim provide LSP features for your languages, checkout https://github.com/neoclide/coc.nvim/wiki/Language-servers To debug issues with languageserver, checkout https://github.com/neoclide/coc.nvim/wiki/Debug-language-server ------------------------------------------------------------------------------ DOCUMENT *coc-document* An associated document is created on buffer create, and disposed on buffer unload. Attached document:~ *coc-document-attached* An attached document means coc.nvim synchronize the lines of vim's buffer with associated document automatically. Only attached documents are synchronized with language servers and therefore LSP features could be provided for the attached buffer. The buffer may not be attached by following reasons: • The 'buftype' is neither nor 'acwrite', (could be bypassed by |b:coc_force_attach|). • Buffer variable |b:coc_enabled| is `0`. • Byte length of buffer exceed |coc-preferences-maxFileSize|. • Buffer is used for command line window. Use |CocAction('ensureDocument')| or `:CocCommand document.checkBuffer` to check attached state of current buffer. Filetype map:~ *coc-document-filetype* Some filetypes are mapped to others to match the languageId used by VSCode, including: • javascript.jsx -> javascriptreact • typescript.jsx -> typescriptreact • typescript.tsx -> typescriptreact • tex -> latex Use |g:coc_filetype_map| to create additional filetype maps. Use `:CocCommand document.echoFiletype` to echo mapped filetype of current document. Note make sure use mapped filetypes for configurations that expect filetypes. ------------------------------------------------------------------------------ HOVER *coc-hover* Hover feature provide information at a given text document position, normally include type information and documentation of current symbol. Hover functions:~ • |CocAction('doHover')| Show hover information at cursor position. • |CocAction('definitionHover')||| Show hover information with definition context at cursor position. • |CocAction('getHover')| Get hover documentations at cursor position. *coc-hover-example* Hover key-mapping example:~ > nnoremap K :call ShowDocumentation() " Show hover when provider exists, fallback to vim's builtin behavior. function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('definitionHover') else call feedkeys('K', 'in') endif endfunction < ------------------------------------------------------------------------------ COMPLETION *coc-completion* Vim's builtin completion is no longer used. The default completion now works like in VSCode: • Completion is automatically triggered by default. • Selection is enabled by default, use |coc-config-suggest-noselect| to disable default selection. • When selection is enabled and no preselect item exists, the first complete item will be selected (depends on |coc-config-suggest-selection|). • Snippet expand and additional edits only work after confirm completion. • 'completeopt' is not used and APIs of builtin popupmenu not work. *coc-completion-default* Default Key-mappings:~ To make the new completion work like the builtin completion, without any additional configuration, the following key-mappings are used when the {lhs} is not mapped: Use , , and to navigate completion list: > inoremap coc#pum#visible() ? coc#pum#next(1) : "\" inoremap coc#pum#visible() ? coc#pum#prev(1) : "\" inoremap coc#pum#visible() ? coc#pum#next(0) : "\" inoremap coc#pum#visible() ? coc#pum#prev(0) : "\" < Use and to scroll: > inoremap coc#pum#visible() ? coc#pum#scroll(1) : "\" inoremap coc#pum#visible() ? coc#pum#scroll(0) : "\" < Use and to cancel and confirm completion: > inoremap coc#pum#visible() ? coc#pum#cancel() : "\" inoremap coc#pum#visible() ? coc#pum#confirm() : "\" Note: and are not remapped by coc.nvim. *coc-completion-variables* Related variables:~ • Disable completion for buffer: |b:coc_suggest_disable| • Disable specific sources for buffer: |b:coc_disabled_sources| • Disable words for completion: |b:coc_suggest_blacklist| • Add additional keyword characters: |b:coc_additional_keywords| *coc-completion-functions* Related functions:~ • Trigger completion with options: |coc#start()|. • Trigger completion refresh: |coc#refresh()|. • Select and confirm completion: |coc#_select_confirm()|. • Check if the custom popupmenu is visible: |coc#pum#visible()|. • Select the next completion item: |coc#pum#next()|. • Select the previous completion item: |coc#pum#prev()|. • Cancel completion and reset trigger text: |coc#pum#cancel()|. • Confirm completion: |coc#pum#confirm()|. • Close the popupmenu only: |coc#pum#stop()|. • Get information about the popupmenu: |coc#pum#info()|. • Select specific completion item: |coc#pum#select()|. • Insert word of selected item and finish completion: |coc#pum#insert()|. • Insert one more character from current complete item: |coc#pum#one_more()|. • Scroll popupmenu: |coc#pum#scroll()|. *coc-completion-customize* Customize completion:~ Use |coc-config-suggest| to change the completion behavior. Use 'pumwidth' for configure the minimal width of the popupmenu and 'pumheight' for its maximum height. Related Highlight groups: |CocPum| for highlight groups of customized pum. |CocSymbol| for kind icons. |CocMenuSel| for background highlight of selected item. Note: background, border and winblend are configured by |coc-config-suggest-floatConfig|. Example user key-mappings:~ *coc-completion-example* Note: use command `:verbose imap` to check current insert key-mappings when your key-mappings not work. Use and to navigate completion list: > function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~ '\s' endfunction " Insert when previous text is space, refresh completion if not. inoremap \ coc#pum#visible() ? coc#pum#next(1): \ CheckBackspace() ? "\" : \ coc#refresh() inoremap coc#pum#visible() ? coc#pum#prev(1) : "\" Use to trigger completion: > if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif < Use to confirm completion, use: > inoremap coc#pum#visible() ? coc#_select_confirm() : "\" < To make to confirm selection of selected complete item or notify coc.nvim to format on enter, use: > inoremap coc#pum#visible() ? coc#_select_confirm() \: "\u\\=coc#on_enter()\" Map for trigger completion, completion confirm, snippet expand and jump like VSCode: > inoremap \ coc#pum#visible() ? coc#_select_confirm() : \ coc#expandableOrJumpable() ? \ "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : \ CheckBackspace() ? "\" : \ coc#refresh() function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction let g:coc_snippet_next = '' < Note: the `coc-snippets` extension is required for this to work. ------------------------------------------------------------------------------ DIAGNOSTICS SUPPORT *coc-diagnostics* Diagnostics of coc.nvim are automatically refreshed to UI by default, checkout |coc-config-diagnostic| for available configurations. Note most language servers only send diagnostics for opened buffers for performance reason, some lint tools could provide diagnostics for all files in workspace. Note pull diagnostics feature is added in LSP 3.17, which is not available yet. *coc-diagnostics-refresh* Changes on diagnostics refresh~ • Add highlights for diagnostic ranges and virtual text (when enabled on neovim or vim >= 9.0.0067), see |coc-highlights-diagnostics|. • Add diagnostic signs to 'signcolumn', use `set signcolumn=yes` to avoid unnecessary UI refresh. • Update variable |b:coc_diagnostic_info|. • Refresh related |location-list| which was opened by |:CocDiagnostics|. Diagnostics are not refreshed when buffer is hidden, and refresh on insert mode is disabled by default. Diagnostics highlights:~ See |coc-highlights-diagnostics|. *coc-diagnostics-toggle* Enable and disable diagnostics~ Use |coc-config-diagnostic-enable| to toggle diagnostics feature. Use |CocAction('diagnosticToggle')| for enable/disable diagnostics feature. Use |CocAction('diagnosticToggleBuffer')| for enable/disable diagnostics of current buffer. Show diagnostic messages~ Diagnostic messages would be automatically shown/hide when the diagnostics under cursor position changed (use float window/popup when possible) by default. To manually refresh diagnostics messages, use |(coc-diagnostic-info)| and |CocAction('diagnosticPreview')|. *coc-diagnostics-jump* Jump between diagnostics~ Use key-mappings: |(coc-diagnostic-next)| jump to diagnostic after cursor position. |(coc-diagnostic-prev)| jump to diagnostic before cursor position. |(coc-diagnostic-next-error)| jump to next error. |(coc-diagnostic-prev-error)| jump to previous error. Check all diagnostics~ Use |coc-list-diagnostics| to open |coc-list| with all available diagnostics. Use API |CocAction('diagnosticList')| to get list of all diagnostics. ------------------------------------------------------------------------------ PULL DIAGNOSTICS SUPPORT *coc-pullDiagnostics* Diagnostics are pulled for visible documents when supported by languageserver. Pull for workspace diagnostics is also enabled by default. Document diagnostics are pulled on change by default, and can be configured to be pulled on save. Checkout |coc-config-pullDiagnostic| for related configurations. ------------------------------------------------------------------------------ LOCATIONS SUPPORT *coc-locations* There're different kinds of locations, including "definitions", "declarations", "implementations", "typeDefinitions" and "references". Key-mappings for invoke locations request~ • |(coc-definition)| • |(coc-declaration)| • |(coc-implementation)| • |(coc-type-definition)| • |(coc-references)| • |(coc-references-used)| Error will be shown when the buffer not attached |coc-document-attached|. Message will be shown when no result found. Location jump behavior~ When there's only one location returned, the location is opened by command specified by |coc-preferences-jumpCommand| ("edit" by default), context mark is added by |m'|, so you can jump back previous location by . When multiple locations returned, |coc-list-location| is opened for preview and other further actions. To use |coc-list-location| for single location as well, use |coc-locations-api| (instead key-mappings provided by coc.nvim). To change default options of |coc-list-location| or use other plugin for list of locations, see |g:coc_enable_locationlist|. To use vim's quickfix for locations, use configuration |coc-preferences-useQuickfixForLocations|. To use vim's tag list for definitions, use |CocTagFunc()|. *coc-locations-api* Related APIs~ • |CocAction('jumpDefinition')| Jump to definition locations. • |CocAction('jumpDeclaration')| Jump to declaration locations. • |CocAction('jumpImplementation')| Jump to implementation locations. • |CocAction('jumpTypeDefinition')| Jump to type definition locations. • |CocAction('jumpReferences')|| Jump to references. • |CocAction('jumpUsed')| Jump to references without declarations. • |CocAction('definitions')| Get definition list. • |CocAction('declarations')| Get declaration list. • |CocAction('implementations')| Get implementation list. • |CocAction('typeDefinitions')| Get type definition list. • |CocAction('references')| Get reference list. Send custom locations request to languageserver: • |CocLocations()| • |CocLocationsAsync()| ------------------------------------------------------------------------------ RENAME *coc-rename* Rename provides workspace-wide rename of a symbol. Workspace edit |coc-workspace-edit| is requested and applied to related buffers when confirmed. Check if current buffer has rename provider with `:echo CocAction('hasProvider', 'rename')` Rename key-mappings:~ • |(coc-rename)| Rename functions:~ • |CocAction('rename')| Rename the symbol under the cursor. • |CocAction('refactor')| Open refactor buffer for all references (including definitions), recommended for function signature refactor. Rename local variable:~ Use command `:CocCommand document.renameCurrentWord` which uses |coc-cursors| to edit multiple locations at the same time and defaults to word extraction when rename provider doesn't exist. Rename configuration:~ Use |coc-preferences-renameFillCurrent| to enable/disable populating prompt window with current variable name. ------------------------------------------------------------------------------ SIGNATURE HELP *coc-signature* Signature help for functions is shown automatically when user types trigger characters defined by the provider, which will use floating window/popup to show relevant documentation. Use |CocAction('showSignatureHelp')| to trigger signature help manually. Note error will not be thrown when provider does not exist or nothing is returned by languageserver, use `echo CocAction('hasProvider', 'signature')` to check if a signature help provider exists. Use |coc-config-signature| to change default signature help behavior. |CocFloatActive| is used to highlight activated parameter part. ------------------------------------------------------------------------------ INLAY HINT *coc-inlayHint* Inlay hint is enabled for all filetypes by default. Inlay hint uses virtual text which requires neovim >= 0.5.0 or vim >= 9.0.0067. Note: you may need configure extension or languageserver to make inlay hint works. To temporarily toggle inlay hint of current buffer, use command `:CocCommand document.toggleInlayHint` Change highlight group:~ • |CocInlayHint| • |CocInlayHintType| • |CocInlayHintParameter| Configure inlay hint support:~ |coc-config-inlayHint| ------------------------------------------------------------------------------ FORMAT *coc-format* Some tools may reload buffer from disk file during format, coc.nvim only apply `TextEdit[]` to the document. Don't be confused with vim's indent feature, configure/fix the 'indentexpr' of your buffer if the indent is wrong after character insert. (use |coc-format-ontype| might helps with the indent) *coc-format-options* Format options:~ Buffer options that affect document format: 'eol', 'shiftwidth' and 'expandtab'. • |b:coc_trim_trailing_whitespace| Trim trailing whitespace on a line. • |b:coc_trim_final_newlines| Trim all newlines after the final newline at the end of the file. Those options are converted to `DocumentFormattingOptions` and transferred to languageservers before format. Note: the languageservers may only support some of those options. *coc-format-document* Format full document:~ Use |CocAction('format')|, you can create a command like: > command! -nargs=0 Format :call CocActionAsync('format') < to format current buffer. *coc-format-ontype* Format on type:~ Format on type could be enabled by |coc-preferences-formatOnType|. Use `:CocCommand document.checkBuffer` to check if `formatOnType` provider exists for current buffer. To format on , create key-mapping of that uses |coc#on_enter()|. If you don't like the behavior on type bracket characters, configure |coc-preferences-bracketEnterImprove||. *coc-format-selected* Format selected code:~ Use 'formatexpr' for specific filetypes: > autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') So that |gq| could works for format range of lines. > Setup visual mode and operator key-mappings: > xmap f (coc-format-selected) nmap f (coc-format-selected) < *coc-format-onsave* Format on save:~ To enable format on save, use configuration |coc-preferences-formatOnSave|. Or create |BufWritePre| autocmd like: > autocmd BufWritePre * call CocAction('format') < Note the operation have to synchronized, avoid use |CocActionAsync()|. Note to skip the autocmd, use `:noa w` to save the buffer. The operation on save will block your vim, to not block too long time, the operation will be canceled after 0.5s, configured by |coc-preferences-willSaveHandlerTimeout| ------------------------------------------------------------------------------ CODE ACTION *coc-code-actions* Code actions are used for ask languageserver to provide specific kind code changes. Possible code action kinds: • `quickfix` used for fix diagnostic(s). • `refactor` used for code refactor. • `source` code actions apply to the entire file. • `organizeImport` organize import statements of current document. Key-mappings for code actions:~ • |(coc-fix-current)| Invoke quickfix action at current line if any. • |(coc-codeaction-cursor)| Choose code actions at cursor position. • |(coc-codeaction-line)| Choose code actions at current line. • |(coc-codeaction)| Choose code actions of current file. • |(coc-codeaction-source)| Choose source code action of current file. • |(coc-codeaction-selected)| Choose code actions from selected range. • |(coc-codeaction-refactor)| Choose refactor code action at cursor position. • |(coc-codeaction-refactor-selected)| Choose refactor code action with selected code. Except for |(coc-fix-current)| which invoke code action directly, |coc-dialog-menu| would be shown for pick specific code action. To invoke organize import action, use command like: > command! -nargs=0 OR :call CocAction('organizeImport') See |CocAction('organizeImport')| for details. Related APIs~ • |CocAction('codeActions')| • |CocAction('organizeImport')| • |CocAction('fixAll')| • |CocAction('quickfixes')| • |CocAction('doCodeAction')| • |CocAction('doQuickfix')| • |CocAction('codeActionRange')| ------------------------------------------------------------------------------ DOCUMENT HIGHLIGHTS *coc-document-highlights* Document highlights is used for highlight same symbols of current document under cursor. To enable highlight on CursorHold, create an autocmd like this: > autocmd CursorHold * call CocActionAsync('highlight') < Checkout |coc-highlights-document| for related highlight groups. Note error will not be thrown when provider not exists or nothing returned from languageserver with |CocAction('highlight')| Install `coc-highlight` extension if you want to highlight same words under cursor without languageserver support. To jump between previous/next symbol position, use `:CocCommand document.jumpToPrevSymbol` and `:CocCommand document.jumpToNextSymbol` ------------------------------------------------------------------------------ DOCUMENT COLORS *coc-document-colors* Document colors added color highlights to vim buffers. To enable document color highlights, use |coc-config-colors-enable|. The feature requires vim >= 8.1.1719 or neovim >= 0.5.0. Note: the highlights define gui colors only, make use you have 'termguicolors' enabled (and your terminal support gui colors) if you're using vim in terminal. To pick a color from system color picker, use |CocAction('pickColor')| or choose `editor.action.pickColor` from |:CocCommand|. Note: pick color may not work on your system. To change color presentation, use |CocAction('colorPresentation')| or choose `editor.action.colorPresentation` from |:CocCommand|. To highlights colors without languageservers, install https://github.com/neoclide/coc-highlight ============================================================================== DOCUMENT LINKS *coc-document-links* Check if current buffer have documentLink provider by `:echo CocAction('hasProvider', 'documentLink')` Highlight and tooltip of the links could be configured by |coc-config-links|. Use |coc-list-links| to manage list of links in current document. Document link key-mappings:~ |(coc-openlink)| Document link functions:~ • |CocAction('openLink')| Open link under cursor. • |CocAction('links')| Get link list of current buffer. ------------------------------------------------------------------------------ SNIPPETS SUPPORT *coc-snippets* Snippets engine of coc.nvim support both VSCode snippets and ultisnips snippets format. The completion item with snippet format has label ends with |coc-config-suggest-snippetIndicator| (`~` by default). Select the complete item and confirm the completion by |coc#pum#confirm()| or |coc#_select_confirm()| to expand the snippet of current selected complete ttem. Jump snippet placeholders:~ |g:coc_snippet_next| and |g:coc_snippet_prev| are used to jump placeholders on both select mode and insert mode, which defaults to and . Buffer key-mappings are created on snippet activate, and removed on snippet deactivate. Deactivate snippet session:~ A snippet session would be deactivated under the following conditions: • |InsertEnter| triggered outside snippet. • Jump to final placeholder. • Content change detected after snippet. • Content changed in a snippet outside placeholder (except for deletion of plain text). To load and expand custom snippets, install `coc-snippets` extension is recommended. Related configurations:~ • |g:coc_snippet_prev| • |g:coc_snippet_next| • |g:coc_selectmode_mapping| • |coc-config-suggest-snippetIndicator| • |coc-config-suggest-preferCompleteThanJumpPlaceholder| • |coc-config-snippet-highlight| • |coc-config-snippet-statusText| • |coc-config-snippet-nextPlaceholderOnDelete| Related functions:~ • |coc#snippet#next()| • |coc#snippet#prev()| • |coc#expandable()| • |coc#jumpable()| • |coc#expandableOrJumpable()| Related variables, highlights and autocmds:~ • |b:coc_snippet_active| Check if snippet session is activated. • |CocSnippetVisual| For highlight of current placeholders. • |CocJumpPlaceholder| AutocmdS triggered after placeholder jump. ------------------------------------------------------------------------------ WORKSPACE SUPPORT *coc-workspace* *coc-workspace-folders* Workspace folders~ Unlike VSCode which prompt you to open folders, workspace folders of coc.nvim are resolved from filepath after document attached. A list of file/folder names is used for resolve workspace folder, the patterns could comes from: • |b:coc_root_patterns| • "rootPatterns" field of languageserver in |coc-config-languageserver|. • "rootPatterns" contributions from coc.nvim extensions. • |coc-config-workspace-rootPatterns| Workspace folder is resolved from cwd of vim first (by default) and then from top directory to the parent directory of current filepath, when workspace folder not resolved, current working directory is used if it's parent folder of current buffer. Configurations are provided to change the default behavior: • |coc-config-workspace-ignoredFiletypes| • |coc-config-workspace-ignoredFolders| • |coc-config-workspace-bottomUpFiletypes| • |coc-config-workspace-workspaceFolderCheckCwd| • |coc-config-workspace-workspaceFolderFallbackCwd| Note for performance reason, user's home directory would never considered as workspace folder, which also means the languageserver that requires workspace folder may not work when you start vim from home directory. To preserve workspace folders across vim session, |g:WorkspaceFolders| is provided. Use `:CocCommand workspace.workspaceFolders` to echo current workspaceFolders. To manage current workspace folders, use |coc-list-folders| To get related root patterns of current buffer, use |coc#util#root_patterns()| *coc-workspace-edits* Workspace edit~ Workspace edit is used to apply changes for multiple buffers(and/or files), the edit could contains document edits and file operations (including file create, file/directory delete and file/directory rename). When the edit failed to apply, coc.nvim will revert the changes (including document edits and file operations) that previous made. Files not loaded would be loaded by `tab drop` command, configured by |coc-config-workspace-openResourceCommand|. To undo and redo workspace edit just applied, use command `:CocCommand workspace.undo` and `:CocCommand workspace.redo` To inspect previous workspace edit, use command `:CocCommand workspace.inspectEdit`, in opened buffer, use for jump to change position under cursor. ------------------------------------------------------------------------------ CURSORS SUPPORT *coc-cursors* Multiple cursors supported is added to allow edit multiple locations at once. Cursors session could be started by following ways: • Use command `:CocCommand document.renameCurrentWord` to rename variable under cursor. • Use |(coc-refactor)| to open refactor buffer. • Use |:CocSearch| to open searched locations. • Use cursors related key-mappings to add text range, including |(coc-cursors-operator)|, |(coc-cursors-word)|, |(coc-cursors-position)| and |(coc-cursors-range)| • Ranges added by command `editor.action.addRanges` from coc extensions. Default key-mappings when cursors activated: • cancel cursors session. • jump to next cursors range. • jump to previous cursors range. Use |coc-config-cursors| to change cursors related key-mappings. Use highlight group |CocCursorRange| to change default range highlight. Use |b:coc_cursors_activated| to check if cursors session is activated. -------------------------------------------------------------------------------- SYMBOLS OUTLINE *coc-outline* Outline is a split window with current document symbols rendered as |coc-tree|. To show and hide outline of current window, use |CocAction('showOutline')| and |CocAction('hideOutline')|. Outline view has Window variable `cocViewId` set to `OUTLINE`. Following outline features are supported: • Start fuzzy filter by |coc-config-tree-key-activeFilter|. • Automatic update after document change. • Automatic reload when buffer in current window changed. • Automatic follow cursor position by default. • Different filter modes that can be changed on the fly |coc-config-outline-switchSortKey|. • Enable auto preview by |coc-config-outline-togglePreviewKey|. Outline would try to reload document symbols after 500ms when provider not registered, which avoid the necessary to check provider existence. Checkout |coc-config-tree| and |coc-config-outline| for available configurations. Checkout |CocTree| and |CocSymbol| for customize highlights. Use configuration `"suggest.completionItemKindLabels"` for custom icons. To show outline for each tab automatically, use |autocmd|: > autocmd VimEnter,Tabnew * \ if empty(&buftype) | call CocActionAsync('showOutline', 1) | endif < To close outline when it's the last window automatically, use |autocmd| like: > autocmd BufEnter * call CheckOutline() function! CheckOutline() abort if &filetype ==# 'coctree' && winnr('$') == 1 if tabpagenr('$') != 1 close else bdelete endif endif endfunction < Create a key-mapping to toggle outline, like: > nnoremap o :call ToggleOutline() function! ToggleOutline() abort let winid = coc#window#find('cocViewId', 'OUTLINE') if winid == -1 call CocActionAsync('showOutline', 1) else call coc#window#close(winid) endif endfunction < -------------------------------------------------------------------------------- CALL HIERARCHY *coc-callHierarchy* A call hierarchy is a split |coc-tree| window with locations for incoming or outgoing calls of function under cursor position. Call hierarchy window is opened by |CocAction('showIncomingCalls')| and |CocAction('showOutgoingCalls')|. Call hierarchy is configured by |CocSymbol|, |coc-config-callHierarchy| and |coc-config-tree|. Related ranges are highlighted with |CocSelectedRange| highlight group in opened buffer. |coc-dialog-menu| could be invoked by |coc-config-tree-key-actions| (default to ). Available actions: • Dismiss. • Open in new tab. • Show Incoming Calls. • Show Outgoing Calls. Use in call hierarchy tree to open location in original window. -------------------------------------------------------------------------------- TYPE HIERARCHY *coc-typeHierarchy* A type hierarchy is a split |coc-tree| window with locations for super types or sub types from types at current position. Type hierarchy window is opened by |CocAction('showSuperTypes')| and |CocAction('showSubTypes')|. Type hierarchy is configured by |CocSymbol|, |coc-config-typeHierarchy| and |coc-config-tree|. Actions are the same as |coc-callHierarchy|. -------------------------------------------------------------------------------- SEMANTIC HIGHLIGHTS *coc-semantic-highlights* Semantic tokens are used to add additional color information to a buffer that depends on language specific symbol information. The feature requires vim >= 8.1.1719 or neovim >= 0.5.0. Use |coc-config-semanticTokens-enable| to enable semantic tokens highlights. Use `:CocCommand semanticTokens.checkCurrent` to check semantic highlight information with current buffer. To create custom highlights for symbol under cursor, follow these steps: • Inspect semantic token by > :CocCommand semanticTokens.inspect < to check token type and token modifiers with current symbol. • Create new highlight group by |highlight|, for example: > :hi link CocSemDeclarationVariable MoreMsg < • Refresh semantic highlight of current buffer by: > :CocCommand semanticTokens.refreshCurrent < See |CocSem| to customize semantic token highlight groups. See |coc-config-semanticTokens| for related configurations. -------------------------------------------------------------------------------- FOLD *coc-fold* Check if current buffer have fold provider by `:echo CocAction('hasProvider', 'foldingRange')` Use |CocAction('fold')| to create folds by request the languageserver and create manual folds on current window. -------------------------------------------------------------------------------- SELECTION RANGE *coc-selection-range* Select range forward or backward at cursor position. Check if current buffer have selection range provider by `:echo CocAction('hasProvider', 'selectionRange')` Selection range key-mappings:~ • |(coc-range-select)| Select range forward. • |(coc-range-select-backward)| Select range backward. Selection range function:~ • |CocAction('rangeSelect')| Visual select previous or next selection range -------------------------------------------------------------------------------- CODE LENS *coc-code-lens* Code lens feature shows additional information above or after specific lines. Works best on nvim >= 0.6.0 and vim >= 9.0.0438. On older vim, some configurations may not work. CodeLens are not shown by default, use |coc-config-codeLens-enable| to enable, you may also need enable codeLens feature by configure extension or languageserver. Check if current buffer have code lens provider by `:echo CocAction('hasProvider', 'codeLens')` To temporarily toggle codeLens of current buffer, use command `:CocCommand document.toggleCodeLens` To invoke command from codeLens, use |(coc-codelens-action)|. Use |CocCodeLens| for highlight of codeLens virtual text. Code lens are automatically requested on buffer create/change, checkout |coc-config-codeLens| for available configurations. -------------------------------------------------------------------------------- LINKED EDITING *coc-linked-editing* Linked editing feature enables editing multiple linked ranges at the same time, for example: html tags. The linked editing ranges would be highlighted with |CocLinkedEditing| when activated. Check if current buffer have linked editing provider by `:echo CocAction('hasProvider', 'linkedEditing')` Linked editing feature is disabled by default, use |coc-preferences-enableLinkedEditing| to enable. ============================================================================== INTERFACE *coc-interface* -------------------------------------------------------------------------------- Key mappings *coc-key-mappings* There're some cases that local key-mappings are enabled for current buffer. • Snippet jump key-mappings when snippet is activated: |g:coc_snippet_prev| and |g:coc_snippet_next|. • Cursor jump and cancel key-mappings when cursors is activated |coc-config-cursors|. • Dialog key-mappings for confirm and cancel dialog window |coc-config-dialog|. • Key-mappings for |CocList| buffer: |coc-list-mappings|. Note: Use |:verbose| command to check key-mappings that taking effect. Note: Use 'noremap' with will make the key-mapping not work at all. Note: key-mappings are provided for convenient, use |CocActionAsync()| or |CocAction()| for more options. Normal mode key-mappings:~ *(coc-diagnostic-info)* Show diagnostic message of current position by invoke |CocAction('diagnosticInfo')| *(coc-diagnostic-next)* Jump to next diagnostic position after current cursor position. *(coc-diagnostic-prev)* Jump to previous diagnostic position before current cursor position. *(coc-diagnostic-next-error)* Jump to next diagnostic error position. *(coc-diagnostic-prev-error)* Jump to previous diagnostic error position. *(coc-definition)* Jump to definition(s) of current symbol by invoke |CocAction('jumpDefinition')| *(coc-declaration)* Jump to declaration(s) of current symbol by invoke |CocAction('jumpDeclaration')| *(coc-implementation)* Jump to implementation(s) of current symbol by invoke |CocAction('jumpImplementation')| *(coc-type-definition)* Jump to type definition(s) of current symbol by invoke |CocAction('jumpTypeDefinition')| *(coc-references)* Jump to references of current symbol by invoke |CocAction('jumpReferences')| *(coc-references-used)* Jump to references of current symbol exclude declarations. *(coc-format-selected)* Format selected range, works on both |visual-mode| and |normal-mode|, when used in normal mode, the selection works on the motion object. For example: > vmap p (coc-format-selected) nmap p (coc-format-selected) < makes `p` format the visually selected range, and you can use `pap` to format a paragraph. *(coc-format)* Format the whole buffer by invoke |CocAction('format')| *(coc-rename)* Rename symbol under cursor to a new word by invoke |CocAction('rename')| *(coc-refactor)* Open refactor window for refactor of current symbol by invoke |CocAction('refactor')| *(coc-command-repeat)* Repeat latest |CocCommand|. *(coc-codeaction)* Get and run code action(s) for current file, use |coc-codeaction-cursor| for same behavior as VSCode. *(coc-codeaction-source)* Get and run source code action(s) for current file. The same as 'Source action...' in context menu of VSCode. *(coc-codeaction-line)* Get and run code action(s) for current line. *(coc-codeaction-cursor)* Get and run code action(s) using empty range at current cursor. *(coc-codeaction-selected)* Get and run code action(s) with the selected code. Works on both |visual-mode| and |normal-mode|. *(coc-codeaction-refactor)* Get and run refactor code action(s) at current cursor, the same as refactor context menu in VSCode, disabled actions are not excluded. *(coc-codeaction-refactor-selected)* Get and run refactor code action(s) with selected code. Works on both |visual-mode| and |normal-mode|. *(coc-openlink)* Open link under cursor by use |CocAction('openlink')|. *(coc-codelens-action)* invoke command contributed by codeLens at the current line. *(coc-fix-current)* Try first quickfix action for diagnostics of current line. *(coc-float-hide)* Hide all float windows/popups created by coc.nvim. *(coc-float-jump)* Jump to first float window (neovim only), use |CTRL-W_p| for jump to previous window. *(coc-range-select)* Select next selection range. Works on both |visual-mode| and |normal-mode|. Note: requires selection ranges feature of language server. *(coc-funcobj-i)* Select inside function. Recommend mapping: Works on both |visual-mode| and |normal-mode|. > xmap if (coc-funcobj-i) omap if (coc-funcobj-i) < Note: Requires 'textDocument.documentSymbol' support from the language server. *(coc-funcobj-a)* Select around function. Works on both |visual-mode| and |normal-mode|. Recommended mapping: > xmap af (coc-funcobj-a) omap af (coc-funcobj-a) < Note: Requires 'textDocument.documentSymbol' support from the language server. *(coc-classobj-i)* Select inside class/struct/interface. Works on both |visual-mode| and |normal-mode|. Recommended mapping: > xmap ic (coc-classobj-i) omap ic (coc-classobj-i) < Note: Requires 'textDocument.documentSymbol' support from the language server. *(coc-classobj-a)* Select around class/struct/interface. Works on both |visual-mode| and |normal-mode|. Recommended mapping: > xmap ac (coc-classobj-a) omap ac (coc-classobj-a) < Note: Requires 'textDocument.documentSymbol' support from the language server. *(coc-cursors-operator)* Add text to cursors session by motion object. *(coc-cursors-word)* Add current word to cursors session. *(coc-cursors-position)* Add current position as empty range to cursors session. Visual mode key-mappings:~ *(coc-range-select-backward)* Select previous selection range. Note: requires selection ranges feature of language server, like: coc-tsserver, coc-python *(coc-cursors-range)* Add selection to cursors session. -------------------------------------------------------------------------------- VARIABLES *coc-variables* User defined variables:~ -------------------------------------------------------------------------------- Buffer variables *coc-buffer-variables* b:coc_enabled *b:coc_enabled* Set to `0` on buffer create if you don't want coc.nvim receive content from buffer. Normally used with |BufAdd| autocmd, example: > " Disable file with size > 1MB autocmd BufAdd * if getfsize(expand('')) > 1024*1024 | \ let b:coc_enabled=0 | \ endif < b:coc_force_attach *b:coc_force_attach* When is `1`, attach the buffer without check the 'buftype' option. Should be set on buffer create. b:coc_root_patterns *b:coc_root_patterns* Root patterns used for resolving workspaceFolder for the current file, will be used instead of `"workspace.rootPatterns"` setting. Example: > autocmd FileType python let b:coc_root_patterns = \ ['.git', '.env'] < b:coc_suggest_disable *b:coc_suggest_disable* Disable completion support of current buffer. Example: > " Disable completion for python autocmd FileType python let b:coc_suggest_disable = 1 b:coc_disabled_sources *b:coc_disabled_sources* Disabled completion sources of current buffer. Example: > let b:coc_disabled_sources = ['around', 'buffer', 'file'] < b:coc_suggest_blacklist *b:coc_suggest_blacklist* List of input words for which completion should not be triggered. Example: > " Disable completion for 'end' in Lua files autocmd FileType lua let b:coc_suggest_blacklist = ["end"] b:coc_additional_keywords *b:coc_additional_keywords* Addition keyword characters for generate keywords. Example: > " Add keyword characters for CSS autocmd FileType css let b:coc_additional_keywords = ["-"] b:coc_trim_trailing_whitespace *b:coc_trim_trailing_whitespace* Trim trailing whitespace on a line, default `0`. Use by "FormattingOptions" send to the server. b:coc_trim_final_newlines *b:coc_trim_final_newlines* Trim all newlines after the final newline at the end of the file. Use by "FormattingOptions" send to the server. Other buffer options that affect document format: 'eol', 'shiftwidth' and 'expandtab'. Note: language server may not respect format options. -------------------------------------------------------------------------------- Global variables *coc-global-variables* g:coc_disable_startup_warning *g:coc_disable_startup_warning* Disable possible warning on startup for old vim/node version. Default: 0 g:coc_disable_uncaught_error *g:coc_disable_uncaught_error* Disable uncaught error messages from node process of coc.nvim. Default: 0 g:coc_text_prop_offset *g:coc_text_prop_offset* Start |textprop| id offset of highlight namespaces on vim, change to other value to avoid conflict with other vim plugin. Default: 1000 g:coc_disable_transparent_cursor *g:coc_disable_transparent_cursor* Disable transparent cursor when CocList is activated. Set it to `1` if you have issue with transparent cursor. Default: 0 g:coc_start_at_startup *g:coc_start_at_startup* Start coc service on startup, use |CocStart| to start server when you set it to 0. Default: 1 g:coc_global_extensions *g:coc_global_extensions* Global extension names to install when they aren't installed. > let g:coc_global_extensions = ['coc-json', 'coc-git'] < Note: coc.nvim will try to install extensions that are not installed in this list after initialization. g:coc_uri_prefix_replace_patterns *g:coc_uri_prefix_replace_patterns* This map defines URI prefix replacements. This is useful in the case that an LSP requires code to adhere to a particular directory structure. For example, `/Users/myUser/workspace` can be mapped to `/home/myUser/workspace`. > let g:coc_uri_prefix_replace_patterns = {'/Users': '/home'} < g:coc_enable_locationlist *g:coc_enable_locationlist* Use location list of |coc-list| when jump to locations. Set it to 0 when you need customize behavior of location jump by use |CocLocationsChange| and |g:coc_jump_locations| If you want use vim's quickfix list instead, add `"coc.preferences.useQuickfixForLocations": true` in your configuration file, this configuration would be ignored and no |CocLocationsChange| triggered. Default: 1 g:coc_snippet_next *g:coc_snippet_next* Trigger key for going to the next snippet position, applied in insert and select mode. Only works when snippet session is activated. Default: g:coc_snippet_prev *g:coc_snippet_prev* Trigger key for going to the previous snippet position, applied in insert and select mode. Only works when snippet session is activated. Default: g:coc_filetype_map *g:coc_filetype_map* Map for document filetypes so the server could handle current document as another filetype, example: > let g:coc_filetype_map = { \ 'html.swig': 'html', \ 'wxss': 'css', \ } < Default: {} See |coc-document-filetype| for details. g:coc_selectmode_mapping *g:coc_selectmode_mapping* Add key mappings for making snippet select mode easier. The same as |Ultisnip| does. > snoremap c snoremap c snoremap c snoremap "_c < Default: 1 g:coc_node_path *g:coc_node_path* Path to node executable to start coc service, example: > let g:coc_node_path = '/usr/local/opt/node@12/bin/node' < Use this when coc has problems with your system node, Note: you can use `~` as home directory. g:coc_node_args *g:coc_node_args* Arguments passed to node when starting coc.nvim service. Useful for start coc.nvim in debug mode, example: > > let g:coc_node_args = ['--nolazy', '--inspect-brk=6045'] < Default: [] g:coc_status_error_sign *g:coc_status_error_sign* Error character used by |coc#status()|, default: `E` g:coc_status_warning_sign *g:coc_status_warning_sign* Warning character used by |coc#status()|, default: `W` g:coc_quickfix_open_command *g:coc_quickfix_open_command* Command used for open quickfix list. To jump fist position after quickfix list opend, you can use: > let g:coc_quickfix_open_command = 'copen|cfirst' < Default: |copen| g:coc_open_url_command *g:coc_open_url_command* Command used for open remote url, when not exists, coc.nvim will try to use "open", "xdg-open" on Mac and Linux, "cmd /c start" on windows. g:node_client_debug *g:node_client_debug* Enable debug mode of node client for check rpc messages between vim and coc.nvim. Use environment variable $NODE_CLIENT_LOG_FILE to set the log file or get the log file after coc.nvim started. To open the log file, use command: > :call coc#client#open_log() < Default: `0` g:coc_user_config *g:coc_user_config* User configuration which will be passed to coc.nvim process during initialization, no effect when changed after coc.nvim started. Prefer |coc#config| unless coc.nvim is lazy loaded. Example: > let g:coc_user_config = {} let g:coc_user_config['suggest.timeout'] = 500 let g:coc_user_config['suggest.noselect'] = v:true < Note: those configuration would overwrite the configuration from the user's settings file, unless you have to use some dynamic variables, using the settings file is recommended. g:coc_config_home *g:coc_config_home* Configure the directory which will be used to look for user's `coc-settings.json`, default: Windows: `~/AppData/Local/nvim` Other: `~/.config/nvim` g:coc_data_home *g:coc_data_home* Configure the directory which will be used to for data files(extensions, MRU and so on), default: Windows: `~/AppData/Local/coc` Other: `~/.config/coc` g:coc_terminal_height *g:coc_terminal_height* Height of terminal window, default `8`. g:coc_markdown_disabled_languages *g:coc_markdown_disabled_languages* Filetype list that should be disabled for highlight in markdown block, useful to disable filetypes that could be slow with syntax highlighting, example: > let g:coc_markdown_disabled_languages = ['html'] g:coc_highlight_maximum_count *g:coc_highlight_maximum_count* When highlight items exceed maximum count, highlight items will be grouped and added by using |timer_start| for better user experience. Default `100` g:coc_default_semantic_highlight_groups *g:coc_default_semantic_highlight_groups* Create default semantic highlight groups for |coc-semantic-highlights| Default: `1` g:coc_max_treeview_width *g:coc_max_treeview_width* Maximum width of tree view when adjusted by auto width. Default: `40` g:coc_borderchars *g:coc_borderchars* Border characters used by border window, default to: > ['─', '│', '─', '│', '┌', '┐', '┘', '└'] < Note: you may need special font like Nerd font to show them. g:coc_border_joinchars *g:coc_border_joinchars* Border join characters used by float window/popup, default to: > ['┬', '┤', '┴', '├'] < Note: you may need special font like Nerd font to show them. g:coc_prompt_win_width *g:coc_prompt_win_width* Width of input prompt window, default `32`. *g:coc_notify* g:coc_notify_error_icon *g:coc_notify_error_icon* Error icon for notification, default to:  g:coc_notify_warning_icon *g:coc_notify_warning_icon* Warning icon for notification, default to: ⚠ g:coc_notify_info_icon *g:coc_notify_info_icon* Info icon for notification, default to:  -------------------------------------------------------------------------------- Some variables are provided by coc.nvim. g:WorkspaceFolders *g:WorkspaceFolders* Current workspace folders, used for restoring from a session file, add `set sessionoptions+=globals` to vimrc for restoring globals on session load. g:coc_jump_locations *g:coc_jump_locations* This variable would be set to jump locations when the |CocLocationsChange| autocmd is fired. Each location item contains: 'filename': full file path. 'lnum': line number (1 based). 'col': column number(1 based). 'text': line content of location. g:coc_process_pid *g:coc_process_pid* Process pid of coc.nvim service. If your vim doesn't kill coc.nvim process on exit, use: > autocmd VimLeavePre * if get(g:, 'coc_process_pid', 0) \ | call system('kill -9 '.g:coc_process_pid) | endif < in your vimrc. g:coc_service_initialized *g:coc_service_initialized* Is `1` when coc.nvim initialized, used with autocmd |CocNvimInit|. g:coc_status *g:coc_status* Status string contributed by coc.nvim and extensions, used for status line. g:coc_last_float_win *g:coc_last_float_win* Window id of latest created float/popup window. g:coc_last_hover_message *g:coc_last_hover_message* Last message echoed from `doHover`, can be used in statusline. Note: not used when floating or preview window used for `doHover`. b:coc_snippet_active *b:coc_snippet_active* Is `1` when snippet session is activated, use |coc#jumpable| to check if it's possible to jump placeholder. b:coc_diagnostic_disable *b:coc_diagnostic_disable* Disable diagnostic support of current buffer. b:coc_diagnostic_info *b:coc_diagnostic_info* Diagnostic information of current buffer, the format would look like: `{'error': 0, 'warning': 0, 'information': 0, 'hint':0}` can be used to customize statusline. See |coc-status|. b:coc_current_function *b:coc_current_function* Function string that current cursor in. Enable |coc-preferences-currentFunctionSymbolAutoUpdate| to update the value on CursorHold. b:coc_cursors_activated *b:coc_cursors_activated* Use expression `get(b:, 'coc_cursors_activated',0)` to check if cursors session is activated for current buffer. -------------------------------------------------------------------------------- FUNCTIONS *coc-functions* Some functions only work after the coc.nvim has been initialized. To run a function on startup, use an autocmd like: > autocmd User CocNvimInit call CocAction('runCommand', \ 'tsserver.watchBuild') < coc#start([{option}]) *coc#start()* Start completion with optional {option}. Option could contains: - `source` specific completion source name. Example: > inoremap =coc#start({'source': 'word'}) < Use `:CocList sources` to get available sources. coc#refresh() *coc#refresh()* Start or refresh completion at current cursor position, bind this to 'imap' to trigger completion, example: > if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif coc#_select_confirm() *coc#_select_confirm()* Select first completion item if no completion item is selected, then confirm the completion like |coc#pum#confirm()|. Return coc#config({section}, {value}) *coc#config()* Change user configuration, overwrite configurations from user config file and default values. Example: > call coc#config('coc.preferences', { \ 'willSaveHandlerTimeout': 1000, \}) call coc#config('languageserver', { \ 'ccls': { \ "command": "ccls", \ "trace.server": "verbose", \ "filetypes": ["c", "cpp", "objc", "objcpp"] \ } \}) < Note: this function can be called multiple times. Note: this function can be called before coc.nvim started. Note: this function can work alongside the user configuration file, but it's not recommended to use both. Note: use |g:coc_user_config| when you have coc.nvim lazy loaded. coc#add_command({id}, {command}, [{title}]) *coc#add_command()* Add custom Vim command to commands list opened by `:CocList commands` . Example: > call coc#add_command('mundoToggle', 'MundoToggle', \ 'toggle mundo window') < coc#expandable() *coc#expandable()* Check if a snippet is expandable at the current position. Requires `coc-snippets` extension installed. coc#jumpable() *coc#jumpable()* Check if a snippet is jumpable at the current position. coc#expandableOrJumpable() *coc#expandableOrJumpable()* Check if a snippet is expandable or jumpable at the current position. Requires `coc-snippets` extension installed. coc#on_enter() *coc#on_enter()* Notify coc.nvim that has been pressed. Used for the format on type and improvement of brackets, example: > " Confirm the completion when popupmenu is visible, insert and " notify coc.nvim otherwise. inoremap coc#pum#visible() ? coc#pum#confirm() \: "\u\\=coc#on_enter()\" < To enable format on type, use |coc-preferences-formatOnType| configuration. coc#status([{escape}]) *coc#status()* Return a status string that can be used in the status line, the status includes diagnostic information from |b:coc_diagnostic_info| and extension contributed statuses from |g:coc_status|. For statusline integration, see |coc-status|. Escape '%' to '%%' when {escape} is truth value. coc#util#api_version() *coc#util#api_version()* Get coc.nvim's vim API version number, start from `1`. coc#util#job_command() *coc#util#job_command()* Get the job command used for starting the coc service. coc#util#get_config_home() *coc#util#get_config_home()* Get the config directory that contains the user's coc-settings.json. coc#util#get_data_home() *coc#util#get_data_home()* Get data home directory, return |g:coc_data_home| when defined, else use $XDG_CONFIG_HOME/coc when $XDG_CONFIG_HOME exists, else fallback to `~/AppData/Local/coc` on windows and `~/.config/coc` on other systems. coc#util#extension_root() *coc#util#extension_root()* Return extensions root of coc.nvim. coc#util#root_patterns() *coc#util#root_patterns()* Get root patterns used for current document. Result could be something like: > {'global': ['.git', '.hg', '.projections.json'], 'buffer': [], 'server': v:null} < coc#util#get_config({key}) *coc#util#get_config()* Get configuration of current document (mostly defined in coc-settings.json) by {key}, example: > :echo coc#util#get_config('coc.preferences') coc#snippet#next() *coc#snippet#next()* Jump to next placeholder, does nothing when |coc#jumpable| is 0. coc#snippet#prev() *coc#snippet#prev()* Jump to previous placeholder, does nothing when |coc#jumpable| is 0. *coc#pum* coc#pum#visible() *coc#pum#visible()* Check if customized popupmenu is visible like |pumvisible()| does. Return 1 when popup menu is visible. coc#pum#next({insert}) *coc#pum#next()* Select next item of customized popupmenu, insert word when {insert} is 1. Note: this function should only be used in key-mappings. coc#pum#prev({insert}) *coc#pum#prev()* Select previous item of customized popupmenu, insert word when {insert} is truth value. Note: this function should only be used in key-mappings. coc#pum#stop() *coc#pum#stop()* Close the customized popupmenu, works like of vim. Note: this function should only be used in key-mappings. coc#pum#cancel() *coc#pum#cancel()* Cancel the customized popupmenu and revert trigger input, like of vim. When no completion item selected, close the popup menu only. Note: this function should only be used in key-mappings. coc#pum#insert() *coc#pum#insert()* Insert word of current selected item and finish completion. Unlike |coc#pum#confirm()|, no text edit would be applied and snippet would not be expanded. Note: this function should only be used in key-mappings. coc#pum#confirm() *coc#pum#confirm()* Confirm completion of current selected item and close the customized popup menu, like of vim. Note: this function should only be used in key-mappings. coc#pum#info() *coc#pum#info()* Return information of the customized popupmenu, should only be used when |coc#pum#visible()| is 1. Result contains: index Current select item index, 0 based. scrollbar Non-zero if a scrollbar is displayed. row Screen row count, 0 based. col Screen column count, 0 based. width Width of pum, including padding and border. height Height of pum, including padding and border. size Count of displayed complete items. inserted Is |v:true| when there is item inserted. reversed Is |v:true| when pum shown above cursor and enable |suggest.reversePumAboveCursor| coc#pum#select({index}, {insert}, {confirm}) *coc#pum#select()* Selects an item in the completion popupmenu. Return empty string. Parameters:~ {index} Index (zero-based) of the item to select. {insert} Whether the selection should be inserted in the buffer. {confirm} Confirm the completion and dismiss the popupmenu, implies `insert`. coc#pum#one_more() *coc#pum#one_more()* Insert one more character from current complete item (first complete item when no complete item selected), works like of |popupmenu-keys|. Note that the word of complete item should starts with current input. Nothing happens when failed. Note: this function should only be used in key-mappings. coc#pum#scroll({forward}) *coc#pum#scroll()* Scroll the popupmenu forward or backward by page. Timer is used to make it works as {rhs} of key-mappings. Return . Parameters:~ {forward} Scroll forward when none zero. *coc#notify* coc#notify#close_all() *coc#notify#close_all()* Close all notification windows. coc#notify#do_action([{winid}]) *coc#notify#do_action()* Invoke action for all notification windows, or particular window with winid. coc#notify#copy() *coc#notify#copy()* Copy all content from notifications to system clipboard. coc#notify#show_sources() *coc#notify#show_sources()* Show source name (extension name) in notification windows. coc#notify#keep() *coc#notify#keep()* Stop auto hide timer of notification windows. coc#float#has_float([{all}]) *coc#float#has_float()* Check if float window/popup exists, check coc.nvim's float window/popup by default. coc#float#close_all([{all}]) *coc#float#close_all()* Close all float windows/popups created by coc.nvim, set {all} to `1` for all float window/popups. Return `""`. coc#float#close({winid}) *coc#float#close()* Close float window/popup with {winid}. coc#float#has_scroll() *coc#float#has_scroll()* Return `1` when there is scrollable float window/popup created by coc.nvim. Example key-mappings: > if has('nvim-0.4.0') || has('patch-8.2.0750') nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" endif < coc#float#scroll({forward}, [{amount}]) *coc#float#scroll()* Scroll all scrollable float windows/popups, scroll backward when {forward} is not `1`. {amount} could be number or full page when omitted. Popup menu is excluded. Note: this function requires nvim >= 0.4.0 or vim >= 8.2.750 to work. CocRequest({id}, {method}, [{params}]) *CocRequest()* Send a request to language client of {id} with {method} and optional {params}. Example: > call CocRequest('tslint', 'textDocument/tslint/allFixes', \ {'textDocument': {'uri': 'file:///tmp'}}) < Vim error will be raised if the response contains an error. *CocRequestAsync()* CocRequestAsync({id}, {method}, [{params}, [{callback}]]) Send async request to remote language server. {callback} function is called with error and response. CocNotify({id}, {method}, [{params}]) *CocNotify()* Send notification to remote language server, example: > call CocNotify('ccls', '$ccls/reload') < *CocRegisterNotification()* CocRegisterNotification({id}, {method}, {callback}) Register notification callback for specified client {id} and {method}, example: > autocmd User CocNvimInit call CocRegisterNotification('ccls', \ '$ccls/publishSemanticHighlight', function('s:Handler')) < {callback} is called with single param as notification result. Note: when register notification with same {id} and {method}, only the later registered would work. *CocLocations()* CocLocations({id}, {method}, [{params}, {openCommand}]) Send location request to language client of {id} with {method} and optional {params}. e.g.: > call CocLocations('ccls', '$ccls/call', {'callee': v:true}) call CocLocations('ccls', '$ccls/call', {}, 'vsplit') < {openCommand}: optional command to open buffer, default to `coc.preferences.jumpCommand` , |:edit| by default. When it's `v:false` locations list would always used. *CocLocationsAsync()* CocLocationsAsync({id}, {method}, [{params}, {openCommand}]) Same as |CocLocations()|, but send notification to server instead of request. CocAction({action}, [...{args}]) *CocAction()* Run {action} of coc with optional extra {args}. Checkout |coc-actions| for available actions. Note: it's recommended to use |CocActionAsync()| unless you have to block your vim. *CocActionAsync()* CocActionAsync({action}, [...{args}, [{callback}]]) Call CocAction by send notification to NodeJS process of coc.nvim. When callback function exists as the last argument, the callback function is called with `error` string as the first argument and `resutl` as the second argument. When no callback exists, error message would be echoed. Checkout |coc-actions| for available actions. CocHasProvider({feature}) *CocHasProvider()* Check if provider exists for specified feature of current buffer. Supported features: `rename` `onTypeEdit` `documentLink` `documentColor` `foldingRange` `format` `codeAction` `workspaceSymbols` `formatRange` `hover` `signature` `documentSymbol` `documentHighlight` `definition` `declaration` `typeDefinition` `reference` `implementation` `codeLens` `selectionRange` CocTagFunc({pattern}, {flags}, {info}) *CocTagFunc()* Used for vim's 'tagfunc' option, to make tag search by |CTRL-]| use coc.nvim as provider, tag search would be performed when no result from coc.nvim. Make sure your vim support 'tagfunc' by > :echo exists('&tagfunc') < -------------------------------------------------------------------------------- *coc-actions* Available Actions ~ Acceptable {action} names for |CocAction()| and |CocActionAsync()|. "addWorkspaceFolder" {folder} *CocAction('addWorkspaceFolder')* Add {folder} to workspace folders, {folder} should be exists directory on file system. "ensureDocument" *CocAction('ensureDocument')* Ensure current document is attached to coc.nvim |coc-document-attached|, should be used when you need invoke action of current document on buffer create. Return |v:false| when document can't be attached. "diagnosticList" *CocAction('diagnosticList')* Get all diagnostic items of the current Neovim session. "diagnosticInfo" *CocAction('diagnosticInfo')* Show diagnostic message at the current position, do not truncate. "diagnosticToggle" [{enable}] *CocAction('diagnosticToggle')* Enable/disable diagnostics on the fly, not work when `displayByAle` is enabled. You can toggle by specifying {enable}. {enable} can be 0 or 1 "diagnosticToggleBuffer" [{bufnr}] [{enable}] *CocAction('diagnosticToggleBuffer')* Toggle diagnostics for specific buffer, current buffer is used when {bufnr} not provided. 0 for current buffer You can toggle by specifying {enable}. {enable} can be 0 or 1 Note: this will only affect diagnostics shown in the UI, list of all diagnostics won't change. "diagnosticPreview" *CocAction('diagnosticPreview')* Show diagnostics under current cursor in preview window. "diagnosticRefresh" [{bufnr}] *CocAction('diagnosticRefresh')* Force refresh diagnostics for special buffer with {bufnr} or all buffers when {bufnr} doesn't exist, returns `v:null` before diagnostics are shown. NOTE: Will refresh in any mode. Useful when `diagnostic.autoRefresh` is `false`. "sourceStat" *CocAction('sourceStat')* get the list of completion source stats for the current buffer. "toggleSource" {source} *CocAction('toggleSource')* enable/disable {source}. "definitions" *CocAction('definitions')* Get definition locations of symbol under cursor. Return LSP `Location[]` "declarations" *CocAction('declarations')* Get declaration location(s) of symbol under cursor. Return LSP `Location | Location[] | LocationLink[]` "implementations" *CocAction('implementations')* Get implementation locations of symbol under cursor. Return LSP `Location[]` "typeDefinitions" *CocAction('typeDefinitions')* Get type definition locations of symbol under cursor. Return LSP `Location[]` "references" [{excludeDeclaration}] *CocAction('references')* Get references location list of symbol under cursor. {excludeDeclaration}: exclude declaration locations when not zero. Return LSP `Location[]` "jumpDefinition" [{openCommand}] *CocAction('jumpDefinition')* jump to definition locations of the current symbol. Return `v:false` when location not found. |coc-list-location| is used when more than one position is available, for custom location list, use variable: |g:coc_enable_locationlist|. To always use |coc-list-location|| for locations, use `v:false` for {openCommand}. {openCommand}: optional command to open buffer, default to `coc.preferences.jumpCommand` in `coc-settings.json` "jumpDeclaration" [{openCommand}] *CocAction('jumpDeclaration')* jump to declaration locations of the current symbol. Return `v:false` when location not found. same behavior as "jumpDefinition". When {openCommand} is `v:false`, location list would be always used. "jumpImplementation" [{openCommand}] *CocAction('jumpImplementation')* Jump to implementation locations of the current symbol. Return `v:false` when location not found. same behavior as "jumpDefinition" "jumpTypeDefinition" [{openCommand}] *CocAction('jumpTypeDefinition')* Jump to type definition locations of the current symbol. Return `v:false` when location not found. same behavior as "jumpDefinition" "jumpReferences" [{openCommand}] *CocAction('jumpReferences')* Jump to references locations of the current symbol, use |CocAction('jumpUsed')| to exclude declaration locations. Return `v:false` when location not found. same behavior as "jumpDefinition" "jumpUsed" [{openCommand}] *CocAction('jumpUsed')* Jump references locations without declarations. same behavior as "jumpDefinition" "getHover" [{hoverLocation}] *CocAction('getHover')* Get documentation text array on {hoverLocation} or current position, returns array of string. {hoverLocation} could contains: • bufnr: optional buffer number. • line: 1 based line number. • col: 1 based col number Throw error when buffer with bufnr is not attached. "doHover" [{hoverTarget}] *CocAction('doHover')* Show documentation of current symbol, return `v:false` when hover not found. {hoverTarget}: optional specification for where to show hover info, defaults to `coc.preferences.hoverTarget` in `coc-settings.json`. Valid options: ["preview", "echo", "float"] "definitionHover" [{hoverTarget}] *CocAction('definitionHover')* Same as |CocAction('doHover')|, but includes definition contents from definition provider when possible. "showSignatureHelp" *CocAction('showSignatureHelp')* Echo signature help of current function, return `v:false` when signature not found. You may want to set up an autocmd like this: > autocmd User CocJumpPlaceholder call \ CocActionAsync('showSignatureHelp') < "getCurrentFunctionSymbol" *CocAction('getCurrentFunctionSymbol')* Return the function string that current cursor in. "documentSymbols" [{bufnr}] *CocAction('documentSymbols')* Get a list of symbols of current buffer or specific {bufnr}. "rename" *CocAction('rename')* Rename the symbol under the cursor position, |coc-dialog-input| would be shown for prompt a new name. Show error message when the provider not found or prepare rename failed. The buffers are not saved after apply workspace edits, use |:wa| to save all buffers. It's possible to undo/redo and inspect the changes, see |coc-workspace-edits|. Note: coc.nvim supports rename for disk files, but your language server may not. "refactor" *CocAction('refactor')* Open refactor windows with current symbol as activated cursor ranges. Check |coc-config-cursors| and |coc-config-refactor| for related configuration. Use |coc-config-workspace-openResourceCommand| for command to open buffers on save. Use to open buffer at current position in split window. Use to invoke tab open or remove action with current chunk. "format" *CocAction('format')* Format current buffer using the language server. Return `v:false` when format failed. "formatSelected" [{mode}] *CocAction('formatSelected')* Format the selected range, {mode} should be one of visual mode: `v` , `V`, `char`, `line`. When {mode} is omitted, it should be called using |formatexpr|. "snippetInsert" {range} {snippet} [{mode}] *CocAction('snippetInsert')* Insert {snippet} text as specific {range} of current buffer. {range} should be valid LSP range like: > // all 0 based utf16 unit code index. {"start": {"line": 0, "character": 1}, "end": {"line": 0, "character": 3}} < {snippet} is the textmate format snippet text used by VSCode. {mode} could be 1 or 2, use 1 to disable format of snippet. "selectionRanges" *CocAction('selectionRanges')* Get selection ranges of current position from language server. "services" *CocAction('services')* Get an information list for all services. "toggleService" {serviceId} *CocAction('toggleService')* Start or stop a service. "codeAction" [{mode}] [{only}] [{include_disabled}] *CocAction('codeAction')* Prompt for a code action and do it. {mode} could be `currline` or `cursor` or result of |visualmode()|, current buffer range is used when it's empty string. {only} can be title of a codeAction or list of CodeActionKind. {include_disabled} include disabled actions when is truth value. "codeActionRange" {start} {end} [{kind}] *CocAction('codeActionRange')* Run code action for range. {start} Start line number of range. {end} End line number of range. {kind} Code action kind, see |CocAction('codeActions')| for available action kind. Can be used to create commands like: > command! -nargs=* -range CocAction :call CocActionAsync('codeActionRange', , , ) command! -nargs=* -range CocFix :call CocActionAsync('codeActionRange', , , 'quickfix') < "codeLensAction" *CocAction('codeLensAction')* Invoke the command for codeLens of current line (or the line that contains codeLens just above). Prompt would be shown when multiple actions are available. "commands" *CocAction('commands')* Get a list of available service commands for the current buffer. "runCommand" [{name}] [...{args}] *CocAction('runCommand')* Run a global command provided by the language server. If {name} is not provided, a prompt with a list of commands is shown to be selected. {args} are passed as arguments of command. You can bind your custom command like so: > command! -nargs=0 OrganizeImport \ :call CocActionAsync('runCommand', 'tsserver.organizeImports') < "fold" {{kind}} *CocAction('fold')* Fold the current buffer, optionally use {kind} for specific FoldingRangeKind. {kind} could be 'comment', 'imports' or 'region'. Return `v:false` when failed. You can create a custom command like: > command! -nargs=? Fold :call CocAction('fold', ) < "highlight" *CocAction('highlight')* Highlight the symbols under the cursor. "openLink" [{command}] *CocAction('openLink')* Open a link under the cursor with {command}. {command} default to `edit`. File and URL links are supported, return `v:false` when failed. URI under cursor would be searched when no link returned from the "documentLink" provider. Configure |g:coc_open_url_command| for custom command to open remote url. "links" *CocAction('links')* Return document link list of current buffer. "extensionStats" *CocAction('extensionStats')* Get all extension states as a list. Including `id`, `root` and `state`. State could be `disabled`, `activated` and `loaded`. "toggleExtension" {id} *CocAction('toggleExtension')* Enable/disable an extension. "uninstallExtension" {id} *CocAction('uninstallExtension')* Uninstall an extension. "reloadExtension" {id} *CocAction('reloadExtension')* Reload an activated extension. "activeExtension" {id} *CocAction('activeExtension')* Activate extension of {id}. "deactivateExtension" {id} *CocAction('deactivateExtension')* Deactivate extension of {id}. "pickColor" *CocAction('pickColor')* Change the color at the current cursor position, requires `documentColor` provider |CocHasProvider|. Note: only works on mac or when you have python support on Vim and have the GTK module installed. "colorPresentation" *CocAction('colorPresentation')* Change the color presentation at the current color position, requires `documentColor` provider |CocHasProvider|. "codeActions" [{mode}] [{only}] *CocAction('codeActions')* Get codeActions list of current document. {mode} can be result of |visualmode()| for visual selected range. When it's falsy value, current file is used as range. {only} can be array of codeActionKind, possible values including: - 'refactor': Base kind for refactoring actions - 'quickfix': base kind for quickfix actions - 'refactor.extract': Base kind for refactoring extraction actions - 'refactor.inline': Base kind for refactoring inline actions - 'refactor.rewrite': Base kind for refactoring rewrite actions - 'source': Base kind for source actions - 'source.organizeImports': Base kind for an organize imports source action - 'source.fixAll': Base kind for auto-fix source actions {only} can also be string, which means filter by title of codeAction. "organizeImport" *CocAction('organizeImport')* Run organize import code action for current buffer. Return `false` when the code action not exists. "fixAll" *CocAction('fixAll')* Run fixAll codeAction for current buffer. Show warning when codeAction not found. "quickfixes" [{visualmode}] *CocAction('quickfixes')* Get quickfix codeActions of current buffer. Add {visualmode} as second argument get quickfix actions with range of latest |visualmode()| "doCodeAction" {codeAction} *CocAction('doCodeAction')* Do a codeAction. "doQuickfix" *CocAction('doQuickfix')* Do the first preferred quickfix action on current line. Throw error when no quickfix action found. "addRanges" {ranges} *CocAction('addRanges')* Ranges must be provided as array of range type: https://git.io/fjiEG "getWordEdit" *CocAction('getWordEdit')* Get workspaceEdit of current word, language server used when possible, extract word from current buffer as fallback. "getWorkspaceSymbols" {input} *CocAction('getWorkspaceSymbols')* Get workspace symbols from {input}. "resolveWorkspaceSymbol" {symbol} *CocAction('resolveWorkspaceSymbol')* Resolve location for workspace {symbol}. "showOutline" [{keep}] *CocAction('showOutline')* Show |coc-outline| for current buffer. Does nothing when outline window already shown for current buffer. {keep} override `"outline.keepWindow"` configuration when specified. Could be 0 or 1. Returns after window is shown (document symbol request is still in progress). "hideOutline" *CocAction('hideOutline')* Close |coc-outline| on current tab. Throws vim error when it can't be closed by vim. "incomingCalls" [{CallHierarchyItem}] *CocAction('incomingCalls')* Retrieve incoming calls from {CallHierarchyItem} or current position when not provided. "outgoingCalls" [{CallHierarchyItem}] *CocAction('outgoingCalls')* Retrieve outgoing calls from {CallHierarchyItem} or current position when not provided. "showIncomingCalls" *CocAction('showIncomingCalls')* Show incoming calls of current function with |coc-tree|, see |coc-callHierarchy| "showOutgoingCalls" *CocAction('showOutgoingCalls')* Show outgoing calls of current function with |coc-tree|. "showSuperTypes" *CocAction('showSuperTypes')* Show super types of types under cursor with |coc-tree|, see |coc-typeHierarchy|. A warning is shown when no types found under cursor. "showSubTypes" *CocAction('showSubTypes')* Show sub types of types under cursor with |coc-tree|, see |coc-typeHierarchy|. A warning is shown when no types found under cursor. "semanticHighlight" *CocAction('semanticHighlight')* Request semantic tokens highlight for current buffer. "inspectSemanticToken" *CocAction('inspectSemanticToken')* Inspect semantic token information at cursor position. "rangeSelect" {visualmode} {forward} *CocAction('rangeSelect')* Visual select previous or next selection range, requires `selectionRange` provider. {visualmode} should be result of {visualmode} or "" for current cursor position. {forward} select backward when it's falsy value. -------------------------------------------------------------------------------- COMMANDS *coc-commands* :CocStart *:CocStart* Start the coc.nvim server, do nothing if the server already started. :CocRestart *:CocRestart* Restart coc.nvim service. Use this command when you want coc to start all over again. :CocPrintErrors *:CocPrintErrors* Show errors from stderr of NodeJS process in a split window. :CocDisable *:CocDisable* Disable handling vim events, useful for debug performance issues. To disable dynamic autocmds registered by extensions, use: > :autocmd! coc_dynamic_autocmd < :CocEnable *:CocEnable* Enable handling vim events. :CocConfig *:CocConfig* Edit the user config file `.vim/coc-settings.json` in |coc#util#get_config_home()| :CocLocalConfig *:CocLocalConfig* Edit or create `.vim/coc-settings.json` in current workspace folder. :CocInstall [{option}] {name} ... *:CocInstall* Install one or more coc extensions. {option}: could be `-sync` for use blocked process to download instead of terminal. Examples: > " Install latest coc-omni :CocInstall coc-omni " Install coc-omni 1.0.0 :CocInstall coc-omni@1.0.0 " Install snippet extension from github :CocInstall https://github.com/dsznajder/vscode-es7-javascript-react-snippets < :CocUninstall {name} *:CocUninstall* Uninstall an extension, use to complete the extension name. Note: the data create by extension is not cleaned up, you may have to manually remove them. :CocUpdate *:CocUpdate* Update all coc extensions to the latest version. :CocUpdateSync *:CocUpdateSync* Block version of update coc extensions. :CocCommand {name} [{args}] ... *:CocCommand* Run a command contributed by extensions, use `` for name completion. :CocOpenLog *:CocOpenLog* Open log file of coc.nvim. Use environmental variable `NVIM_COC_LOG_FILE` for fixed log file. Note: the log would be cleared when coc.nvim started. Use environment variable `NVIM_COC_LOG_LEVEL` to change log level (default 'info', could be 'all', 'trace', 'debug', 'info', 'warn', 'error', 'off'). Use shell command: > export NVIM_COC_LOG_LEVEL=debug < or add: > let $NVIM_COC_LOG_LEVEL='debug' < to your `.vimrc` :CocInfo *:CocInfo* Show version and log information in a split window, useful for submitting a bug report. :CocDiagnostics [height] *:CocDiagnostics* Open vim's |location-list| with diagnostics of current buffer. The location list is automatically updated by default. When multiple location list are opened for one buffer, only first one would be automatically updated. :CocSearch *:CocSearch* Perform search by ripgrep https://github.com/BurntSushi/ripgrep, refactor window would be opened. Note: the search is performed on your files, so normally you should save your buffers before invoke this command. Common arguments for ripgrep:~ `-e` `--regexp`: treat search pattern as regexp. `-F` `--fixed-strings`: treat search pattern as fixed string. `-L` `--follow`: follow symbolic links while traversing directories. `-g` `--glob` {GLOB}: Include or exclude files and directories for searching that match the given glob. `--hidden`: Search hidden files and directories. `--no-ignore-vcs`: Don't respect version control ignore files (.gitignore, etc.). `--no-ignore`: Don't respect ignore files (.gitignore, .ignore, etc.). `-w` `--word-regexp`: Only show matches surrounded by word boundaries. `-S` `--smart-case`: Searches case insensitively if the pattern is all lowercase. Search case sensitively otherwise. `--no-config`: Never read configuration files. `-x` `--line-regexp`: Only show matches surrounded by line boundaries. Use `:man 1 rg` in your terminal for more details. Note: By default, hidden files and directories are skipped. Note: By default, vcs ignore files including `.gitignore` and `.ignore` are respected Escape arguments:~ || is used to convert command line arguments to arguments of rg, which means you have to escape space for single argument. For example, if you want to search `import { Neovim` , you have to use: > :CocSearch import\ \{\ Neovim < The escape for `{` is required because rg use regexp be default, or: > :CocSearch -F import\ {\ Neovim < for strict match. Change and save:~ Refactor session is started with searched patterns highlighted, just change the text and save refactor buffer to make changes across all related files. You can make any kind of changes, including add lines and remove lines. :CocWatch [extension] *:CocWatch* Watch loaded [extension] for reload on file change, use for complete extension id. :CocOutline *:CocOutline* Invoke |CocAction('showOutline')| by notification. -------------------------------------------------------------------------------- AUTOCMD *coc-autocmds* *CocLocationsChange* :autocmd User CocLocationsChange {command} For building a custom view of locations, set |g:coc_enable_locationlist| to 0 and use this autocmd with with |g:coc_jump_locations| For example, to disable auto preview of location list, use: > let g:coc_enable_locationlist = 0 autocmd User CocLocationsChange CocList --normal location < *CocNvimInit* :autocmd User CocNvimInit {command} Triggered after the coc services have started. If you want to trigger an action of coc after Vim has started, this autocmd should be used because coc is always started asynchronously. *CocStatusChange* :autocmd User CocStatusChange {command} Triggered after |g:coc_status| changed, can be used for refresh statusline. *CocDiagnosticChange* :autocmd User CocDiagnosticChange {command} Triggered after the diagnostic status has changed. Could be used for updating the statusline. *CocJumpPlaceholder* :autocmd User CocJumpPlaceholder {command} Triggered after a jump to a placeholder. Can be used for showing signature help like: > autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') < *CocOpenFloat* :autocmd User CocOpenFloat {command} Triggered when a floating window is opened. The window is not focused, use |g:coc_last_float_win| to get window id. *CocOpenFloatPrompt* :autocmd User CocOpenFloatPrompt {command} Triggered when a floating prompt window is opened (triggered after |CocOpenFloat|). *CocTerminalOpen* :autocmd User CocTerminalOpen {command} Triggered when the terminal is shown, can be used for adjusting the window height. -------------------------------------------------------------------------------- HIGHLIGHTS *coc-highlights* The best place to override highlight groups is a file named after/colors/ .vim in your 'runtimepath' (e.g., ~/.config/nvim/after/colors/solarized.vim). Example declaration: > " make error texts have a red color highlight CocErrorHighlight ctermfg=Red guifg=#ff0000 < Use |:highlight| with group name to check current highlight. Note: don't use `:hi default` for overwriting the highlights. Note: user defined highlight commands should appear after the |:colorscheme| command and use |ColorScheme| autocmd to make sure customized highlights works after color scheme change. Markdown related~ *CocBold* for bold text. *CocItalic* for italic text. *CocUnderline* for underlined text. *CocStrikeThrough* for strikethrough text, like usage of deprecated API. *CocMarkdownCode* for inline code in markdown content. *CocMarkdownHeader* for markdown header in floating window/popup. *CocMarkdownLink* for markdown link text in floating window/popup. Diagnostics related~ *coc-highlights-diagnostics* *CocFadeOut* for faded out text, such as for highlighting unnecessary code. *CocErrorSign* for error signs. *CocWarningSign* for warning signs. *CocInfoSign* for information signs. *CocHintSign* for hint signs. *CocErrorVirtualText* for error virtual text. *CocWarningVirtualText* for warning virtual text. *CocInfoVirtualText* for information virtual text. *CocHintVirtualText* for hint virtual text. *CocErrorHighlight* for error code range. *CocWarningHighlight* for warning code range. *CocInfoHighlight* for information code range. *CocHintHighlight* for hint code range. *CocDeprecatedHighlight* for deprecated code range, links to |CocStrikeThrough| by default. *CocUnusedHighlight* for unnecessary code range, links to |CocFadeOut| by default. *CocErrorLine* line highlight of sign which contains error. *CocWarningLine* line highlight of sign which contains warning. *CocInfoLine* line highlight of sign which information. *CocHintLine* line highlight of sign which contains hint. Highlight with higher priority would overwrite highlight with lower priority. The priority order: |CocUnusedHighlight| > |CocDeprecatedHighlight| > |CocErrorHighlight| > |CocWarningHighlight| > |CocInfoHighlight| > |CocHintHighlight| Document highlight related~ *coc-highlights-document* Highlights used for highlighting same symbols in the buffer at the current cursor position. *CocHighlightText* default symbol highlight. *CocHighlightRead* for `Read` kind of document symbol. *CocHighlightWrite* for `Write` kind of document symbol. Float window/popup related~ *coc-highlights-float* *CocFloating* default highlight group of floating windows/popups. Default links to |NormalFloat| on neovim and |Pmenu| on vim. *CocFloatThumb* thumb highlight of scrollbar. *CocFloatSbar* Scrollbar highlight of floating window/popups. *CocFloatDividingLine* for dividing lines, links to |NonText| by default. *CocFloatActive* for activated text, links to |CocSearch| by default. *CocErrorFloat* for error text in floating windows/popups. *CocHintFloat* for hint text in floating windows/popups. Inlay hint related~ *coc-highlights-inlayHint* *CocInlayHint* for highlight inlay hint virtual text block, default uses foreground from |CocHintSign| and background from |SignColumn| *CocInlayHintParameter* for parameter kind of inlay hint. *CocInlayHintType* for type kind of inlay hint. Notification window/popup related~ CocNotification *CocNotification* *CocNotificationProgress* for progress line in progress notification. *CocNotificationButton* for action buttons in notification window. *CocNotificationError* for highlight border of error notification. *CocNotificationWarning* for highlight border of warning notification. *CocNotificationInfo* for highlight border of info notification. List related~ *CocList* *CocSearch* for matched characters. *CocListLine* for current cursor line. *CocListSearch* for matched characters. *CocListMode* for mode text in the statusline. *CocListPath* for cwd text in the statusline. *CocSelectedText* for sign text of selected lines (multiple selection only). *CocSelectedLine* for line highlight of selected lines (multiple selection only). Tree view related~ CocTree *CocTree* *CocTreeTitle* for title in tree view. *CocTreeDescription* for description beside label. *CocTreeOpenClose* for open and close icon in tree view. *CocTreeSelected* for highlight lines contains selected node. Popup menu related~ *CocPum* *CocPumSearch* for matched input characters, linked to |CocSearch| by default. *CocPumDetail* for highlight label details that follows label (including possible detail and description). *CocPumMenu* for menu of complete item. *CocPumShortcut* for shortcut text of source. *CocPumDeprecated* for deprecated label. *CocPumVirtualText* for virtual text which enabled by |coc-config-suggest-virtualText| Symbol icons~ CocSymbol *CocSymbol* Highlight groups for symbol icons, including `CompletionItemKind` and `SymbolKind` of LSP. The highlight groups link to related |nvim-treesitter| highlight groups when possible and fallback to builtin highlight groups. *CocSymbolDefault* linked to |hl-MoreMsg| by default. *CocSymbolText* *CocSymbolUnit* *CocSymbolValue* *CocSymbolKeyword* *CocSymbolSnippet* *CocSymbolColor* *CocSymbolReference* *CocSymbolFolder* *CocSymbolFile* *CocSymbolModule* *CocSymbolNamespace* *CocSymbolPackage* *CocSymbolClass* *CocSymbolMethod* *CocSymbolProperty* *CocSymbolField* *CocSymbolConstructor* *CocSymbolEnum* *CocSymbolInterface* *CocSymbolFunction* *CocSymbolVariable* *CocSymbolConstant* *CocSymbolString* *CocSymbolNumber* *CocSymbolBoolean* *CocSymbolArray* *CocSymbolObject* *CocSymbolKey* *CocSymbolNull* *CocSymbolEnumMember* *CocSymbolStruct* *CocSymbolEvent* *CocSymbolOperator* *CocSymbolTypeParameter* Note: Use configuration |coc-config-suggest-completionItemKindLabels| for customized icon characters. Semantic token highlight groups~ *CocSem* Semantic highlight groups are starts with `CocSem` which link to related |nvim-treesitter| highlight groups when possible and fallback to builtin highlight groups, use variable |g:coc_default_semantic_highlight_groups| to disable creation of these highlight groups. Only semantic tokens types and `deprecated` modifier have default highlight groups. You need create highlight groups for highlight other modifiers and/or specific modifier with type, for example: > " Add highlights for defaultLibrary modifier hi link CocSemDefaultLibrary TSOtherDefaultLibrary hi link CocSemDefaultLibraryClass TSTypeDefaultLibrary hi link CocSemDefaultLibraryInterface TSTypeDefaultLibrary hi link CocSemDefaultLibraryEnum TSTypeDefaultLibrary hi link CocSemDefaultLibraryType TSTypeDefaultLibrary hi link CocSemDefaultLibraryNamespace TSTypeDefaultLibrary " Add highlights for declaration modifier hi link CocSemDeclaration TSOtherDeclaration hi link CocSemDeclarationClass TSTypeDeclaration hi link CocSemDeclarationInterface TSTypeDeclaration hi link CocSemDeclarationEnum TSTypeDeclaration hi link CocSemDeclarationType TSTypeDeclaration hi link CocSemDeclarationNamespace TSTypeDeclaration < The modifier highlight groups have higher priority. Others~ *CocDisabled* highlight for disabled items, eg: menu item. *CocCodeLens* for virtual text of codeLens. *CocCursorRange* for highlight of activated cursors ranges. *CocLinkedEditing* for highlight of activated linked editing ranges. *CocHoverRange* for range of current hovered symbol. *CocMenuSel* for current menu item in menu dialog (should only provide background color). *CocSelectedRange* for highlight ranges of outgoing calls. *CocSnippetVisual* for highlight snippet placeholders. *CocLink* for highlight document links. *CocInputBoxVirtualText* for highlight placeholder of input box. ============================================================================== TREE SUPPORT *coc-tree* Tree view is used for render outline and call hierarchy, following features are supported: • Data update while keep tree node open/close state. • Auto refresh on load error. • Click open/close icon to toggle collapse state. • Click node to invoke default command. • Show tooltip in float window on |CursorHold| when possible. • Key-mappings support |coc-tree-mappings| • Optional multiple selection. • Optional node reveal support. • Optional fuzzy filter support. • Provide API `window.createTreeView` for extensions. Check |coc-config-tree| for related configurations. The filetype is `'coctree'`, which can be used to overwrite buffer and window options. Use variable |w:cocViewId| to detect the kind of tree. -------------------------------------------------------------------------------- TREE KEY MAPPINGS *coc-tree-mappings* Default key-mappings are provided for 'coctree' buffer, which can be changed by configuration |coc-config-tree|. - Select/unselect item, configured by `"tree.key.toggleSelection"`. - Invoke actions of current item, configured by `"tree.key.actions"`. - Close tree window, configured by `"tree.key.close"`. - Invoke command of current item, configured by `"tree.key.invoke"`. - Move cursor to original window. f - Activate filter, configured by `"tree.key.activeFilter"`. t - Trigger key to toggle expand state of tree node, configured by `tree.key.toggle`. M - Collapse all tree node, configured by `"tree.key.collapseAll"`. -------------------------------------------------------------------------------- TREE FILTER *coc-tree-filter* Filter mode is used for search for specific node by fuzzy filter, invoke the key configured by `"tree.key.activeFilter"` to activate filter mode. Note: some tree views not have filter mode supported. When filter mode is activated, type normal character to insert filter input and following special keys are supported: - Delete last filter character when possible. - Delete last filter character when possible. - Clean up filter text. - Navigate to previous filter text (stored on command invoke). - Navigate to next filter text (stored on command invoke). - exit filter mode. - exit filter mode. or `"tree.key.selectPrevious"` - Select previous node. or `"tree.key.selectNext"` - Select next node. or `"key.key.invoke"` - Invoke command of selected node. ============================================================================== LIST SUPPORT *coc-list* Built-in list support to make working with lists of items easier. The following features are supported: • Insert & normal mode. • Default key-mappings for insert & normal mode. • Customize key-mappings for insert & normal mode. • Commands for reopening & doing actions with a previous list. • Different match modes. • Interactive mode. • Auto preview on cursor move. • Number select support. • Built-in actions for locations. • Parse ANSI code. • Mouse support. • Select actions using . • Multiple selections using in normal mode. • Select lines by visual selection. -------------------------------------------------------------------------------- LIST COMMAND *coc-list-command* :CocList [{...options}] [{source}] [{...args}] *:CocList* Open coc list of {source}, example: > :CocList --normal location < For current jump locations. For {options}, see |coc-list-options|. Also check |coc-config-list| for list configuration. {args} are sent to source during the fetching of list. Press `?` on normal mode to get supported {args} of current list. When {source} is empty, the lists source with list of sources is used. :CocListResume [{name}] *:CocListResume* Reopen last opened list, input and cursor position will be preserved. :CocListCancel *:CocListCancel* Close list, useful when the list is not the current window. :CocPrev [{name}] *:CocPrev* Invoke default action for the previous item in the last {name} list. Doesn't open the list window if it's closed. :CocNext [{name}] *:CocNext* Invoke the default action for the next item in the last {name} list. Doesn't open the list window if it's closed. :CocFirst [{name}] *:CocFirst* Invoke default action for first item in the last {name} list. :CocLast [{name}] *:CocLast* Invoke default action for last item in the last {name} list. *coc-list-options* Options of CocList command~ ----top Show list as top window. ----tab Open list in new tabpage. ----normal Start list in normal mode, recommended for short list. ----no-sort Disable sort made by fuzzy score or most recently used, use it when it's already sorted. ----input={input} Specify the input on session start. ----height={number} Specify the height of list window, override configuration |coc-config-list-height|. No effect when list opened in new tab by `--tab`. ----strict -S Use strict matching instead of fuzzy matching. ----regex -R Use regex matching instead of fuzzy matching. ----ignore-case Ignore case when using strict matching or regex matching. ----number-select -N Type a line number to select an item and invoke the default action on insert mode. Type `0` to select the 10th line. ----interactive -I Use interactive mode, list items would be reloaded on input change, filter and sort would be done by list implementation. Note: only works when the list support interactive mode. Note: filtering and sorting would be done by underlying task, which means options including `--strict`, `--no-sort`, `--regex`, `--ignore-case` would not work at all. ----auto-preview -A Start a preview for the current item on the visible list. ----no-quit Not quit list session after invoke action. Note: you may need to refresh the list for current state. ----first Invoke default action for first list item on list open. Nothing happens when the list is empty. ----reverse Reverse the order of list items shown in the window, the bottom line would shown the first item. -------------------------------------------------------------------------------- LIST CONFIGURATION *coc-list-configuration* Use `coc-settings.json` for configuration of lists. Configuration of list starts with 'list.'. See |coc-config-list| or type `list.` in your settings file to get completion list (requires coc-json installed). For configuration of a specified list, use section that starts with: `list.source.{name}`, where `{name}` is the name of list. Change default action:~ If you want to use `tabe` as default action of symbols list, you can use: > // change default action of symbols "list.source.symbols.defaultAction": "tabe" < in your coc-settings.json Change default options:~ To change |coc-list-options| for source with {name}, use `list.source.{name}.defaultOptions` configuration like: > // make symbols list use normal mode and interactive by default "list.source.symbols.defaultOptions": ["--interactive", "--number-select"], < Note: some list like symbols only work in interactive mode, you must include `--interactive` in `defaultOptions`. Note: default options will not be used when there're options passed with |:CocList| command. Change default arguments:~ Use `list.source.{name}.defaultArgs` setting like: > // use regex match for grep source "list.source.grep.defaultArgs": ["-regex"], Note: default arguments used only when arguments from |:CocList| command is empty. Note: Type `?` on normal mode to get supported arguments of current list. -------------------------------------------------------------------------------- LIST MAPPINGS *coc-list-mappings* Default mappings on insert mode: - Cancel list session. - Do default action with selected items or current item. - Stop loading task. - Paste text from system clipboard. - Reload list. - Change to normal mode. - Select next line. - Select previous line. - Move cursor left. - Move cursor right. - Move cursor to end of prompt. - Same as . - Move cursor to start of prompt. - Same as . - Scroll window forward. - Scroll window backward. - Remove previous character of cursor. - Remove previous character of cursor. - Remove previous word of cursor. - Remove characters before cursor. - Navigate to next input in history. - Navigate to previous input in history. - Switch matcher for filter items. - Insert content from vim's register. - Select action. Default mappings on normal mode: - Cancel list session. - Do default action with selected items or current item. - Stop source from fetching more items. - Reload list. - Mark all visible items selected. - Jump to original window on list create. - Select action. - Scroll preview window down. - Scroll preview window up. - Toggle selection of current item. i,I,o,O,a,A - Change to insert mode. p - Preview action. : - Cancel the prompt and enter command mode. ? - Show help of current list. t - Do 'tabe' action. d - Do 'drop' action. s - Do 'split' action. Use |coc-list-mappings-custom| to override default mappings. *coc-list-mappings-custom* Configurations `"list.normalMappings"` and `"list.insertMappings"` are used for customizing the list key-mappings, example: > "list.insertMappings": { "": "do:refresh", "": "feedkeys:\\", "": "feedkeys:\\", "": "normal:j", "": "normal:k", "": "action:tabe", "": "call:MyFunc", // paste yanked text to prompt "": "eval:@@" } "list.normalMappings": { "c": "expr:MyExprFunc" "d": "action:delete" } < Note: you should only use mappings that start with ` can't be remapped for other actions. The mapping expression should be `command:arguments`, available commands: 'do' - special actions provided by coc list, including: 'refresh' - reload list. 'selectall' - mark all visible items selected. 'switch' - switch matcher used for filter items. 'exit' - exit list session. 'stop' - stop loading task. 'cancel' - cancel list session but leave list window open. 'toggle' - toggle selection of current item. 'togglemode' - toggle between insert and normal mode. 'previous' - move cursor to previous item. 'next' - move cursor to next item. 'defaultaction' - do default action for selected item(s). 'chooseaction' - choose action for selected item(s). 'jumpback' - stop prompt and jump back to original window. 'previewtoggle' - toggle preview window, requires preview action exists. 'previewup' - scroll preview window up. 'previewdown' - scroll preview window down. 'help' - show help. 'prompt' - do prompt action, including: 'previous' - change to previous input in history. 'next' - change to next input in history. 'start' - move cursor to start. 'end' - move cursor to end. 'left' - move cursor left. 'right' - move cursor right. 'deleteforward' - remove previous character. 'deletebackward' - remove next character. 'removetail' - remove characters afterwards. 'removeahead' - remove character ahead. 'removeword' - remove word before cursor. 'insertregister' - insert content from Vim register. 'paste' - append text from system clipboard to prompt. 'eval' - append text to prompt from result of VimL expression. 'action' - execute action of list, use to find available actions. 'feedkeys' - feedkeys to list window, use `\\` in JSON to escape special characters. 'feedkeys!' - feedkeys without remap. 'normal' - execute normal command in list window. 'normal!' - execute normal command without remap. 'command' - execute command. 'call' - call Vim function with |coc-list-context| as only argument. 'expr' - same as 'call' but expect the function return action name. *coc-list-context* Context argument contains the following properties: 'name' - name of the list, example: `'location'`. 'args' - arguments of the list. 'input' - current input of prompt. 'winid' - window id on list activated. 'bufnr' - buffer number on list activated. 'targets' - list of selected targets, checkout |coc-list-target| for properties. *coc-list-target* Target contains the following properties: 'label' - mandatory property that is shown in the buffer. 'filtertext' - optional filter text used for filtering items. 'location' - optional location of item, check out https://bit.ly/2Rtb6Bo 'data' - optional additional properties. -------------------------------------------------------------------------------- LIST SOURCES *coc-list-sources* -------------------------------------------------------------------------------- location *coc-list-location* Last jump locations. Actions: - 'preview' : preview location in preview window. - 'open': open location by use `"coc.preferences.jumpCommand"`, default action - 'tabe': Use |:tabe| to open location. - 'drop': Use |:drop| to open location. - 'vsplit': Use |:vsplit| to open location. - 'split': Use |:split| to open location. - 'quickfix': Add selected items to Vim's quickfix. extensions *coc-list-extensions* Manage coc.nvim extensions. First column in the list window represent the state of extension: - "*" means the extension is activated. - "+" means the extension package json is loaded, but not activated by load the javascript file. - "-" means the extension is disabled by 'disable' action. - "?" means the extension is not recognized by coc.nvim. Actions: - 'toggle' activate/deactivate extension, default action. - 'disable' disable extension. - 'enable' enable extension. - 'lock' lock/unlock extension to current version. - 'doc' view extension's README doc. - 'fix' fix dependencies in terminal buffer. - 'reload' reload extension. - 'uninstall' uninstall extension. diagnostics *coc-list-diagnostics* All diagnostics for the workspace. Actions: - Same as |coc-list-location| folders *coc-list-folders* Manage current workspace folders of coc.nvim. Actions: - 'edit' change the directory of workspace folder. - 'delete' remove selected workspace folder. outline *coc-list-outline* Symbols in the current document. Actions: - Same as |coc-list-location| symbols *coc-list-symbols* Search workspace symbols. Actions: - Same as |coc-list-location| services *coc-list-services* Manage registered services. Actions: - 'toggle': toggle service state, default action. commands *coc-list-commands* Workspace commands. Actions: - 'run': run selected command, default action. links *coc-list-links* Links in the current document. Actions: - 'open': open the link, default action. - 'jump': jump to link definition. sources *coc-list-completion-sources* Available completion sources. Actions: - 'toggle': activate/deactivate source, default action. - 'refresh': refresh source. - 'open': open the file where source defined. lists *coc-list-lists* Get available lists. Actions: - 'open': open selected list, default action. ============================================================================== DIALOG SUPPORT *coc-dialog* Dialog is special float window/popup that could response to user actions, dialog have close button, border, title (optional), bottom buttons(optional). Note bottom buttons work different on neovim and vim, on neovim you can click the button since neovim allows focus of window, on vim you have to type highlighted character to trigger button callback. Note dialog feature requires neovim >= 0.4.0 or vim >= 8.2.0750 to work. See |coc-config-dialog| for available configurations. -------------------------------------------------------------------------------- *coc-dialog-basic* A basic dialog is create by Javascript API `window.showDialog` , which is just some texts with optional buttons. -------------------------------------------------------------------------------- *coc-dialog-confirm* A confirm dialog is used for user to confirm an action, normally created by `window.showPrompt()` Confirm dialog uses filter feature on vim8 and |getchar()| on Neovim. The difference is you can operate vim on vim8, but not on neovim. Supported key-mappings: - force cancel, return -1 for callback. , n, N - reject the action, return 0 for callback. y,Y - accept the action, return 1 for callback. -------------------------------------------------------------------------------- *coc-dialog-input* An input dialog request user input with optional default value, normally created by `window.requestInput`, when `"coc.preferences.promptInput"` is false, vim's command line input prompt is used instead. On neovim, it uses float window, on vim8, it opens terminal in popup. Supported key-mappings: - move cursor to first col. - move cursor to last col. - cancel input, null is received by callback. - accept current input selection of current item. QuickPick related (available when created by |coc-dialog-quickpick|). - scroll forward quickpick list. - scroll backward quickpick list. - move to next item in quickpick list. - move to previous item in quickpick list. - toggle selection of current item in quickpick list when canSelectMany is supported. Note on neovim, other insert mode key-mappings could work. Note not possible to configure key-mappings on vim8, to customize key-mappings on neovim, use |CocOpenFloatPrompt| with current buffer. -------------------------------------------------------------------------------- *coc-dialog-quickpick* A quickpick is a input dialog in the middle with a float window/popup contains filtered list items. Fuzzy filter is used by default. See |coc-config-dialog| for available configurations. See |coc-dialog-input| for available key-mappings. -------------------------------------------------------------------------------- *coc-dialog-menu* A menu dialog is used for pick a single item from list of items, extensions could use `window.showMenuPicker` to create menu dialog. Supported key-mappings: - cancel selection. - confirm selection of current item, use |dialog.confirmKey| to override. 1-9 - select item with 1 based index. g - move to first item. G - move to last item. j - move to next item. k - move to previous item. - scroll forward. - scroll backward. -------------------------------------------------------------------------------- *coc-dialog-picker* A picker dialog is used for single/multiple selection. On neovim, it's possible to toggle selection by mouse click inside the bracket. Extensions could use `window.showPickerDialog` to create picker dialog. Supported key-mappings: - cancel selection. - confirm selection of current item, use |dialog.confirmKey| to override. - toggle selection of current item. g - move to first item. G - move to last item. j - move to next item. k - move to previous item. - scroll forward. - scroll backward. When close button is clicked, the selection is canceled with undefined result (same as ). It's recommended to use |coc-dialog-quickpick| for filter support. ============================================================================== NOTIFICATION SUPPORT *coc-notification* Notification windows are created at the bottom right of the screen. Notifications are created by Javascript APIs: `window.showErrorMessage()`, `window.showWarningMessage()`, `window.showInformationMessage()`, `window.showNotification()` and `window.withProgress()`. Possible kind of notifications: 'error', 'warning', 'info' and 'progress'. Message notifications (not progress) requires |coc-preferences-enableMessageDialog| to be `true`. Message notifications without actions would be automatically closed after milliseconds specified by |coc-config-notification-timeout|. Use |coc-config-notification-disabledProgressSources| to disable progress notifications for specific sources. Customize notifications:~ • Customize icons: |g:coc_notify| • Customize highlights: |CocNotification| • Customize configurations: |coc-config-notification| Related functions:~ • |coc#notify#close_all()| • |coc#notify#do_action()| • |coc#notify#copy()| • |coc#notify#show_sources()| • |coc#notify#keep()| ============================================================================== STATUSLINE SUPPORT *coc-status* Diagnostics info and other status info contributed by extensions could be shown in statusline. The easiest way is add `%{coc#status()}` to your 'statusline' option. Example: > set statusline^=%{coc#status()} < You may need to use |CocStatusChange| for automatically refresh statusline: > autocmd User CocStatusChange redrawstatus < -------------------------------------------------------------------------------- *coc-status-manual* Create function: > function! StatusDiagnostic() abort let info = get(b:, 'coc_diagnostic_info', {}) if empty(info) | return '' | endif let msgs = [] if get(info, 'error', 0) call add(msgs, 'E' . info['error']) endif if get(info, 'warning', 0) call add(msgs, 'W' . info['warning']) endif return join(msgs, ' ') . ' ' . get(g:, 'coc_status', '') endfunction < Add `%{StatusDiagnostic()}` to your 'statusline' option. -------------------------------------------------------------------------------- *coc-status-airline* With vim-airline: https://github.com/vim-airline/vim-airline See |airline-coc| ------------------------------------------------------------------------------ *coc-status-lightline* With lightline.vim: https://github.com/itchyny/lightline.vim Use configuration like: > let g:lightline = { \ 'colorscheme': 'wombat', \ 'active': { \ 'left': [ [ 'mode', 'paste' ], \ [ 'cocstatus', 'readonly', 'filename', 'modified' ] ] \ }, \ 'component_function': { \ 'cocstatus': 'coc#status' \ }, \ } " Use autocmd to force lightline update. autocmd User CocStatusChange,CocDiagnosticChange call lightline#update() < ============================================================================== CREATE PLUGINS *coc-plugins* There're different ways to extend coc.nvim: • Create vim completion sources |coc-api-vim-source|. • Create extensions |coc-api-extension|. • Create single file extensions |coc-api-single-file|. • Debug coc.nvim extension |coc-api-debug|. ============================================================================== FAQ *coc-faq* ------------------------------------------------------------------------------ Check out https://github.com/neoclide/coc.nvim/wiki/F.A.Q ============================================================================== CHANGELOG *coc-changelog* See ./history.md under project root. ============================================================================== vim:tw=78:nosta:noet:ts=8:sts=0:ft=help:noet:fen: ================================================ FILE: bundle/coc.nvim-release/history.md ================================================ # 2023-01-30 - Always show `cancellable` progress as notification without check `notification.statusLineProgress`. # 2023-01-29 - Exclude `source` actions when request code actions with range. - Any character can be used for channel name. # 2023-01-26 - Add escape support to `coc#status()`. # 2023-01-24 - Add `encoding` and `CancellationToken` support for `runCommand` function. # 2023-01-23 - Make `vscode.open` command work with file uri. - Cancel option for `workspace.registerExprKeymap()`. - Support `suggest.filterOnBackspace` configuration. # 2023-01-22 - `maxRestartCount` configuration for configured language server. # 2022-12-25 - Create symbol tree from SymbolInformation list. # 2022-12-23 - Support `URI` as param for API `workspace.jumpTo()`. # 2022-12-22 - Support popup window for window related APIs. # 2022-12-21 - When create `CocSem` highlight group, replace invalid character of token types and token modifiers with underline. # 2022-12-20 - Export `Buffer.setKeymap` and `Buffer.deleteKeymap` with vim and neovim support. - Make `workspace.registerLocalKeymap` accept bufnr argument. # 2022-12-12 - Allow configuration of `window` scoped used by folder configuration file, like VSCode. - Add location support for `getHover` action. - Use unique id for each tab on vim. - Chinese word segmentation for keywords. # 2022-12-05 - Add `switchConsole` method to `LanguageClient` # 2022-12-03 - Add configuration `suggest.insertMode`. # 2022-12-02 - Expand variables for string configuration value. # 2022-11-30 - File fragment support for `workspace.jumpTo()`. - Support `g:coc_open_url_command`. - Support `contributes.configuration` from extension as array. # 2022-11-29 - Add documentations for develop of coc.nvim extensions. - Remove unused variable `g:coc_channel_timeout`. # 2022-11-28 - Placeholder and update value support for `InputBox` and `QuickPick`. - `triggerOnly` option property for vim completion source. - Export `getExtensionById` from `extensions` module. # 2022-11-26 - Use CTRL-R expression instead of timer for pum related functions: - `coc#pum#insert()` - `coc#pum#one_more()` - `coc#pum#next()` - `coc#pum#prev()` - `coc#pum#stop()` - `coc#pum#cancel()` - `coc#pum#confirm()` # 2022-11-25 - Avoid view change on list create. - Add configurations `links.enable` and `links.highlight`. - Use cursorline for list on neovim (to have correct highlight). - Fix highlight not work on neovim 0.5.0 by use `luaeval`. # 2022-11-22 - Add command `document.toggleCodeLens`. # 2022-11-21 - Add `CocAction('addWorkspaceFolder')`. # 2022-11-20 - Support code lens feature on vim9. - `codeLens.subseparator` default changed to `|`, like VSCode. - Add configuration `coc.preferences.enableGFMBreaksInMarkdownDocument`, default to `true` - Add key-mappings `(coc-codeaction-selected)` and `(coc-codeaction-refactor-selected)`. # 2022-11-19 - Create highlights after VimEnter. - Action 'organizeImport' return false instead of throw error when import code action not found. # 2022-11-18 - Throw error when rpc request error, instead of echo message. # 2022-11-13 - Plugin emit ready after extensions activated. # 2022-11-12 - Not cancel completion when request for in complete sources. # 2022-11-11 - Support filter and display completion items with different start positions. - Remove configuration `suggest.fixInsertedWord`, insert word would always be fixed. - Configuration `suggest.invalidInsertCharacters` default to line break characters. # 2022-11-10 - Not reset 'Search' highlight on float window as it could be used. - Note remap `` on float preview window. - Add new action `feedkeys!` to list. - Add new configuration `list.floatPreview`. # 2022-11-07 - Add API `CocAction('snippetInsert')` for snippet insert from vim plugin. - Snippet support for vim source, snippet item should have `isSnippet` to be `true` and `insertText` to be snippet text, when `on_complete` function exists, the snippet expand should be handled completion source. # 2022-11-06 - `window.createQuickPick()` API that show QuickPick by default, call `show()` - Fix change value property for QuickPick not works. # 2022-10-30 - Add configuration `colors.enable`, mark `colors.filetypes` deprecated. - Add command `document.toggleColors` for toggle colors of current buffer. - Changed filter of completion to use code from VSCode. - Add configuration `suggest.filterGraceful` # 2022-10-39 - Add configuration `suggest.enableFloat` back. # 2022-10-27 - Use `workspace.rootPatterns` replace `coc.preferences.rootPatterns`, old configuration still works when exists. - Store configurations with configuration registry. # 2022-10-25 - Add `--height` support to `CocList`. # 2022-10-24 - Use builtin static words source for snippet choices. - Remove configuration `"snippet.choicesMenuPicker"` - Remove unused internal functions `coc#complete_indent()` and `coc#_do_complete()` # 2022-10-21 - Consider utf-16 code unit instead of unicode code point. - Add `coc#string#character_index()` `coc#string#byte_index()` and `coc#string#character_length()`. # 2022-10-20 - Add `coc#pum#one_more()` # 2022-10-19 - Trigger for trigger sources when no filter results available. # 2022-10-18 - Change `suggest.maxCompleteItemCount` default to 256. # 2022-10-17 - Set `g:coc_service_initialized` to `0` before service restart. - Show warning when diagnostic jump failed. - Use strwidth.wasm module for string display width. - Add API `workspace.getDisplayWidth`. # 2022-10-15 - Add configuration `inlayHint.display`. # 2022-10-07 - Use `CocFloatActive` for highlight active parameters. # 2022-09-28 - Limit popupmenu width when exceed screen to &pumwidth, instead of change completion column. - Make escape of `${name}` for ultisnip snippets the same behavior as Ultisnip.vim. # 2022-09-27 - Use fuzzy.wasm for native fuzzy match. - Add `binarySearch` and `isFalsyOrEmpty` functions for array. - `suggest.localityBonus` works like VSCode, using selection ranges. - Add and export `workspace.computeWordRanges`. - Rework keywords parse for better performance (parse changed lines only and use yield to reduce iteration). # 2022-09-12 - All configurations are now scoped #4185 - No `onDidChangeConfiguration` event fired when workspace folder changed. - Deprecated configuration `suggest.detailMaxLength`, use `suggest.labelMaxLength` instead. - Deprecated configuration `inlayHint.filetypes`, use `inlayHint.enable` with scoped languages instead. - Deprecated configuration `semanticTokens.filetypes`, use `semanticTokens.enable` with scoped languages instead. - Use `workspaceFolderValue` instead of `workspaceValue` for `ConfigurationInspect` returned by `WorkspaceConfiguration.inspect()`. # 2022-09-04 - Add configuration "snippet.choicesMenuPicker". # 2022-09-03 - Send "WinClosed" event to node client. - Add `onDidFilterStateChange` and `onDidCursorMoved` to `TreeView`. - Support `autoPreview` for outline. # 2022-09-02 - Support `diagnostic.virtualTextFormat`. - Add command `workspace.writeHeapSnapshot`. # 2022-09-01 - Add configuration "suggest.asciiMatch" - Support `b:coc_force_attach`. # 2022-08-31 - Add configuration "suggest.reversePumAboveCursor". - Use `DiagnosticSign*` highlight groups when possible. - Use `DiagnosticUnderline*` highlight groups when possible. # 2022-08-30 - Export `LineBuilder` class. # 2022-08-29 - Fix semanticTokens highlights unexpected cleared - Fix range of `doQuickfix` action. - Check reverse of `CocFloating`, use `border` and `Normal` highlight when reversed. - Make `CocInlayHint` use background of `SignColumn`. - Add command `document.toggleInlayHint`. # 2022-08-28 - Make `CocMenuSel` use background of `PmenuSel`. - Snippet related configuration changed (old configuration still works until next release) - "coc.preferences.snippetStatusText" -> "snippet.statusText" - "coc.preferences.snippetHighlight" -> "snippet.highlight" - "coc.preferences.nextPlaceholderOnDelete" -> "snippet.nextPlaceholderOnDelete" - Add configuration `"list.smartCase"` - Add configurations for inlay hint - "inlayHint.refreshOnInsertMode" - "inlayHint.enableParameter" - "inlayHint.typeSeparator" - "inlayHint.parameterSeparator" - "inlayHint.subSeparator" # 2022-08-27 - Avoid use `EasyMotion#is_active`, use autocmd to disable linting. - Show message when call hierarchy provider not found or bad position. # 2022-08-26 - Remove `completeOpt` from `workspace.env`. - Add configuration `"diagnostic.virtualTextAlign"`. - Add warning when required features not compiled with vim. - Not echo error for semanticTokens request (log only). - Merge results form providers when possible. # 2022-08-24 - Virtual text of suggest on vim9. - Virtual text of diagnostics on vim9. - Add configuration `inlayHint.filetypes`. - Inlay hint support on vim9. # 2022-08-23 - Retry semanticTokens request on server cancel (LSP 3.17). - `RelativePattern` support for `workspace.createFileSystemWatcher()`. - `relativePatternSupport` for `DidChangeWatchedFiles` (LSP 3.17). - Not echo error on `doComplete()`. # 2022-08-21 - Added `window.createFloatFactory()`, deprecated `FloatFactory` class. - Support `labelDetails` field of `CompleteItem`(LSP 3.17). - Added `triggerKind` to `CodeActionContext`, export `CodeActionTriggerKind`. # 2022-08-20 - Support pull diagnostics `:h coc-pullDiagnostics`. - Break change: avoid extension overwrite builtin configuration defaults. - Change default value of configuration "diagnostic.format". - 'line' changes to 'currline' for `CocAction('codeAction')`. - Check NodeJS version on syntax error. # 2022-08-10 - Change "notification.highlightGroup" default to "Normal". # 2022-08-07 - Add configuration 'suggest.pumFloatConfig'. # 2022-08-04 - Make diagnostic float window with the same background as CocFloating. # 2022-08-03 - Add highlight group 'CocFloatingDividingLine'. # 2022-08-01 - Use custom popup menu, #3862. - Use "first" instead of "none" for configuration `suggest.selection`. - Make "first" default for `suggest.selection`, like VSCode. - Add default blue color for hlgroup `CocMenuSel`. # 2022-06-14 - Add highlight groups `CocListLine` and `CocListSearch`. # 2022-06-11 - Add configuration "notification.disabledProgressSources" - Add "rounded" property to "floatConfig" # 2022-06-04 - Add configuration `workspace.openOutputCommand`. - Log channel message of vim when `g:node_client_debug` enabled. # 2022-05-30 - Disable `progressOnInitialization` for language client by default. # 2022-05-28 - Support `repeat#set` for commands that make changes only. # 2022-05-24 - Add transition and annotation support for `workspace.applyEdits()`. - Add command `workspace.undo` and `workspace.redo`. - Remove configuration `coc.preferences.promptWorkspaceEdit`. - Remove command `CocAction` and `CocFix`. # 2022-05-22 - Check for previous position when not able to find completion match. - Add `content` support to `window.showMenuPicker()` # 2022-05-17 - Add `QuickPick` module. - Add API `window.showQuickPick()` and `window.createQuickPick()`. # 2022-05-16 - Add properties `title`, `loading` & `borderhighlight` to `InputBox` # 2022-05-14 - Add `InputOption` support to `window.requestInput` - Add API `window.createInputBox()`. # 2022-05-13 - Notification support like VSCode https://github.com/neoclide/coc.nvim/discussions/3813 - Add configuration `notification.minProgressWidth` - Add configuration `notification.preferMenuPicker` - Support `source` in notification windows. # 2022-05-07 - Show sort method as description in outline view. - Add configuration `outline.switchSortKey`, default to ``. - Add configuration `outline.detailAsDescription`, default to `true`. - Add variable `g:coc_max_treeview_width`. - Add `position: 'center'` support to `window.showMenuPicker()` # 2022-05-06 - Use menu for `window.showQuickpick()`. - Add configuration `outline.autoWidth`, default to `true`. # 2022-05-05 - Add key bindings to dialog (created by `window.showDialog()`) on neovim. # 2022-05-04 - Add `languages.registerInlayHintsProvider()` for inlay hint support. # 2022-04-25 - Add `LinkedEditing` support # 2022-04-23 - Add `WinScrolled` event to events. # 2022-04-20 - Select recent item when input is empty and selection is `recentUsedByPrefix`. - Add `coc#snippet#prev()` and `coc#snippet#next()`. - Add command `document.checkBuffer`. - Add `region` param to `window.diffHighlights()`. # 2022-04-06 - `workspace.onDidOpenTextDocument` fire `contentChanges` as empty array when document changed with same lines. # 2022-04-04 - Avoid `CompleteDone` cancel next completion. - Avoid indent change on `` and `` during completion. - Support `joinUndo` and `move` with `document.applyEdits()`. # 2022-04-02 - Change `suggest.triggerCompletionWait` default to `0`. - Not trigger completion on `TextChangedP`. - Remove configuration `suggest.echodocSupport`. - Fix complettion triggered after ``. # 2022-03-31 - Check buffer rename on write. # 2022-03-30 - Improve words parse performance. - Remove configurations `coc.source.around.firstMatch` and `coc.source.buffer.firstMatch`. - Fix `coc.source.buffer.ignoreGitignore` not works # 2022-03-30 - Check document reload on detach. # 2022-03-29 - Add menu actions to refactor buffer. # 2022-03-12 - Avoid use `` for cancel completion. # 2022-03-05 - Make `WinClosed` event fires on `CursorHold` to support vim8. - Add events `TabNew` and `TabClose`. - Make outline reuse TreeView buffer. # 2022-03-02 - Add ultisnip option to `snippetManager.insertSnippet()` and `snippetManager.resolveSnippet()`. - Support ultisnip regex option: `/a` (ascii option). - Support transform replacement of ultisnip, including: - Variable placeholders, `$0`, `$1` etc. - Escape sequence `\u` `\l` `\U` `\L` `\E` `\n` `\t` - Conditional replacement: `(?no:text:other text)` # 2022-02-28 - Change `workspace.ignoredFiletypes` default value to `[]` # 2022-02-24 - Add `window.activeTextEditor`, `window.visibleTextEditors`. - Add events `window.onDidChangeActiveTextEditor` `window.onDidChangeVisibleTextEditors`. - Add class `RelativePattern`. - Add `workspace.findFiles()`. # 2022-02-23 - Add `workspace.openTextDocument()` - Add `Workspace.getRelativePath()`. - Add `window.terminals` `window.onDidOpenTerminal` `window.onDidCloseTerminal` and `window.createTerminal`. - Add `exitStatus` property to `Terminal`. - Support `strictEnv` in `TerminalOptions` on neovim. - Deprecated warning for `workspace.createTerminal()`, `workspace.onDidOpenTerminal` and `workspace.onDidCloseTerminal` # 2022-02-18 - Clear all highlights created by coc.nvim before restart. - Support strike through for ansiparse. - Support `highlights` for `Documentation` in float window. # 2022-02-17 - Change workspace configuration throw error when workspace folder can't be resolved. - Remove configuration `diagnostic.highlightOffset`. # 2022-02-15 - Add `events.race`. - Change default `suggest.triggerCompletionWait` to 50. - Support trigger completion after indent fix. # 2022-02-14 - Add `pumvisible` property to events. # 2022-02-10 - Add shortcut support for `window.showMenuPicker()`. - Add configuration `dialog.shortcutHighlight` for shortcut highlight. - Add configuration `list.menuAction` for choose action by menu picker. # 2022-02-09 - Add error log to `nvim_error_event`. - Add `nvim.lua()` which replace `nvim.executeLua()` to typings.d.ts. # 2022-02-08 - Support `MenuItem` with disabled property for `window.showMenuPicker` - Support show disabled code actions in menu picker. # 2022-02-07 - Change `:CocLocalConfig` to open configuration file of current workspace folder. # 2022-02-05 - Support `version` from `textDocument/publishDiagnostics` notification's parameter. - Support `codeDescription` of diagnostics by add href to float window. - Support `showDocument` request from language server. - Support `label` from DocumentSymbolOptions in outline tree. - Support extra url use regexp under cursor with `openLink` action. - Support `activeParameter` from signature information. - Add `trimTrailingWhitespace`, `insertFinalNewline` and `trimFinalNewlines` to FormattingOptions. - Add configuration `links.tooltip`, default to `false`. # 2022-02-04 - Add `--reverse` option to list. - Add `` key-mapping to cancel list in preview window (neovim only). # 2022-02-02 - Remove `disableWorkspaceFolders` `disableDiagnostics` and `disableCompletion` from language client option. - Add configuration `documentHighlight.timeout`. - Add `tabPersist` option to `ListAction`. - Add `refactor` to `LocationList` # 2022-01-30 - Add configuration `diagnostics.virtualTextLevel`. - Remove configuration `suggest.numberSelect` # 2022-01-26 - Use `nvim_buf_set_text` when possible to keep extmarks. # 2022-01-25 - Not trigger completion when filtered is succeed. - Move methods `workspace.getSelectedRange` `workspace.selectRange` to `window` module, show deprecated warning when using old methods. # 2022-01-23 - Support semantic tokens highlights from range provider. # 2022-01-22 - Not set `gravity` with api `nvim_buf_set_extmark` because highlight bug, wait neovim fix. - Support watch later created workspace folders for file events. # 2022-01-21 - Changed semantic token highlight prefix from `CocSem_` to `CocSem`. - Changed semantic token highlight disabled by default, use configuration `semanticTokens.filetypes` - Add configuration `semanticTokens.filetypes`. - Add configuration `semanticTokens.highlightPriority`. - Add configuration `semanticTokens.incrementTypes`. - Add configuration `semanticTokens.combinedModifiers`. - Add command `semanticTokens.refreshCurrent`. - Add command `semanticTokens.inspect`. - Add action `inspectSemanticToken`. - Rework command `semanticTokens.checkCurrent` to show highlight information. - Support semantic tokens highlight group composed with type and modifier. # 2022-01-21 - Add configuration `workspace.ignoredFolders`. - Add configuration `workspace.workspaceFolderFallbackCwd`. # 2022-01-20 - Remove deprecated method `workspace.resolveRootFolder`. # 2022-01-17 - Extend `buffer.updateHighlights` to support `priority`, `combine`, `start_incl` and `end_incl`. - Add configuration `diagnostic.highlightPriority`. - Add configuration `colors.filetypes` and `colors.highlightPriority`. # 2022-01-16 - Add configuration `codeLens.position`. # 2022-01-14 - Add configuration `suggest.selection`. # 2022-01-13 - `codeLens.separator` now defaults to `""` and will be placed above lines on neovim >= 0.6.0 . - Add configurations 'diagnostic.locationlistLevel', 'diagnostic.signLevel', 'diagnostic.messageLevel'. # 2022-01-12 - Add document.lineAt(), export TextLine class. - Upgrade node-client, support nvim.exec(). - Add documentHighlight.priority configuration. # 2019-08-18 0.0.74 - feat(cursors): support multiple cursors. - feat(extensions): install missing extensions by CocInstall. - feat(extensions): add command `extensions.forceUpdateAll`. - feat(completion): rework preselect feature. - feat(extension): use request for fetch package info. - feat(language-client): support disableDynamicRegister configuration. - feat(list): paste from vim register support on insert mode #1088. - feat(plugin): add CocHasProvider(), close #1087. - refactor(outline): not exclude variables and callback. - refactor(diagnostic): remove timeout on InsertLeave. # 2019-07-11 0.0.73 - fix(completion): fix map of number select - fix(languages): fix cursor position with snippet - fix(completion): fix cursor position with additionalTextEdits - fix(position): fix rangeOverlap check #961 - fix(list): not change guicursor when it's empty - fix(list): fix filter not work on loading - fix(list): fix custom location list command not work - fix(util): highlight & render on vim8 - fix(handler): fix getCommands - fix(handler): not check lastInsert on trigger signatureHelp - fix(handler): fix check of signature help trigger - fix(language-client): configuration for configured server, closes #930 - fix(diagnostic): clear diagnostics on filetype change - feat(plugin): add download & fetch modules - feat(plugin): add highligher module - feat(refactor): add `(coc-refactor)` for refactor window - feat(extension): use mv module for folder rename - feat(extension): support install tagged extension - feat(extension): support custom extension root `g:coc_extension_root` - feat(handler): close signature float window on ')' - feat(list): support `g:coc_quickfix_open_command` - feat(list): add eval action - feat(list): add --tab list option - feat(list): use highligher module for showHelp - feat(terminal): add noa on window jump - feat(terminal): support vim8 - feat(diagnostic): add diagnosticRelated support - feat(diagnostic): use text properties on vim8 - feat(handler): improve signature float window # 2019-07-01 - feat(plugin): add CocStatusChange autocmd - feat(extension): support both npm and yarn. - feat(plugin): work on vim 8.0 - feat(extensions): add lock & doc actions to extension source - feat(extension): add proxy auth support (#920) - feat(source): not change startcol for file source - feat(completion): no numberSelect for number input - feat(extensions): Use yarn when npm not found - feat(completion): no popup for command line buffer - feat(plugin): support only for codeActions action - feat(task): debounce stdout - feat(plugin): add keymaps for selection ranges - feat(plugin): add function textobj - feat(list): restore window height, closes #905 - feat(handler): support signature.floatTimeout - feat(configuration): support change of workspace configuration - feat(diagnostic): add keymaps for jump error diagnostics - feat(plugin): delay start on gvim, fix #659 # 2019-06-15 - feat(plugin): add popup support of vim - refactor(completion): improve float support - refactor(floating): remove unused code - refactor(workspace): replace find-up - refactor(handler): improve message for fold method - fix(virtualtext): invalid highlight tag (#874) - fix(snippets): fix plaintext check - fix(highlight): catch error of child_process.spawn - fix(highlight): use v:progpath, fix #871 - fix(floatFactory): escape feedkeys - fix(handler): fix getCurrentFunctionSymbol not work # 2019-06-12 - feat(document): add getVar method - fix(util): not break selection on message - fix(workspace): fix jumpTo not work on vim8 - fix(completion): trigger completion with word character - refactor(handler): return boolean result - perf(workspace): improve jump performance - fix(util): Escape filename for jump (#862) - refactor(plugin): not show empty hover - feat(outline): ignore callback function - feat(workspace): support list of events with registerAutocmd - fix(workspace): fix jump with tab drop - refactor(language-client): change API of selectionRanges # 2019-06-09 - **Break change** `CocHighlightText` link to `CursorColumn` by default. - **Break change** logger folder changed to `$XDG_RUNTIME_DIR` when exists. - Add `` and `` support for list, #825. - Add function `coc#add_command()`. - Add `disableDiagnostics` & `disableCompletion` to languageclient configuration. - Add `signature.triggerSignatureWait` configuration. - Add vim-repeat support for run command and quickfix. - Add preferred `codeAction` support. - Add `prompt.paste` action to list. - Add title as argument support for `codeAction` action. - Add `suggest.floatEnable` configuration. - Add `editor.action.organizeImport` command. - Add `:CocAction` and `:CocFix` commands. - Add `codeActions` action. - Fix issues with list. # 2019-05-30 - **Break change** logger folder changed. - Add support of vim-repeat for `` keymaps. - Add `CocRegistNotification()` function. - Add argument to rename action. - Add `suggest.disableMenuShortcut` configuration. - Add glob support for root patterns. - Add `` keymap to list window. - Add shortcut in sources list. - Add `list.previewSplitRight` configuration. - Add `triggerOnly` property to source. - Add warning for duplicate extension. - Bug fixes. # 2019-05-07 - **New feature** load extensions from coc-extensions folder. - Add `workspace.renameCurrentFile` command. - Add `FloatBuffer`, `FloatFactory` and `URI` to exports. - Add `resolveItem` support to list. - Fix prompt can't work when execute list action. - Fix ansiparser for empty color ranges. - Fix highlight only work with first 8 items. # 2019-04-27 - **Break change** vim-node-rpc not required on vim. - **Break change** python not required on vim. - **Break change** complete items would refreshed after 500ms when not finished. - Add `additionalSchemes` for configured language server. - Add support for jumpCommand as false. - Fix `diagnostic.level` not work. # 2019-04-09 - **Break change** `--strictMatch` option of list renamed to `--strict` - **Break change** `suggest.reloadPumOnInsertChar` support removed. - **Break change** no more binary release. - **Break change** logic for resolve workspace folder changed. - Add `Task` module. - Add `getCurrentFunctionSymbol` action. - Add `list.source.outline.ctagsFiletypes` setting. - Add `suggest.disableMenu` and `suggest.disableMenu` settings. - Add `equal` support for complete items. - Add support for do action with visual select lines of list. - Add expand tilder support for language server command. - Add switch matcher support to list. - Add select all support to list. - Add quickfix action to list. - Add `selectionRanges` of LSP. - Add load extensions for &rtp support. - Add `coc#on_enter()` for formatOnType and add new lines on enter. - Improve completion by support trigger completion when pumvisible. - Remove document check on `BufWritePre`. # 2019-03-31 - **Break change** not using vim-node-rpc from npm modules any more. - **Break change** rename `_` to `CocRefresh`. - Fix wrong format options send to server. - Fix throw error when extension root not created. - Fix MarkedString not considered as markdown. - Fix echo message on vim exit. - Fix error throw on file watch. - Fix unexpected update of user configuration. # 2019-03-28 - Add `workspace.resolveRootFolder`. - Add `diagnostic.joinMessageLines` setting. - Add `suggest.completionItemKindLabels` setting. - Add `memento` support for extension. - Add `workspace.getSelectedRange`. - Add `Terminal` module. - Add command `workbench.action.reloadWindow`. - Fix extension not activated by command. - Fix broken undo with floating window. - Fix document create possible wrong uri & filetype. - Improve highlight with floating window. # 2019-03-24 - **Break change** make number input not trigger completion. - **Break change** make none keywords character doesn't filter completion. - Add functions for check snippet state. - Add setting `diagnostic.checkCurrentLine`. - Fix `signature.target` not work. - Fix flick of signature window. - Fix EPIPE error of node-client. - Fix wrong root of FileWatchSysmtem. # 2019-03-19 - **Break change** signature settings now starts `signature`. - **Break change** default request timeout changed to 5s. - **Break change** `commands.executeCommand` return promise. - Add `coc.preferences.signatureHelpTarget`. - Add `diagnostic.maxWindowHeight` & `signature.maxWindowHeight`. - Add `diagnostic.enableSign`. - Add support for `$COC_NO_PLUGINS`. - Add keymaps: `(coc-float-hide)` and `(coc-float-jump)`. - Add `coc.preferences.enableFloatHighlight`. - Fix issues with floating window. - Fix critical performance issue on diff text. - Improve color of `CocHighlightText`. - Improve sort of complete items. - Improve extension list with version and open action. # 2019-03-16 - **Break change** change vim config home on windows to '\$HOME/vimfiles'. - Add highlights to float windows. - Add CocLocationsAsync(). - Add support for `b:coc_suggest_disable`. - Add support for `b:coc_suggest_blacklist`. - Add setting `diagnostic.messageTarget`. - Add floating window support for signatures. - Fix issues with diagnostic float. - Fix info of completion item not shown. - Fix CocUpdateSync not work without service start. - Fix wrong indent spaces of snippets. # 2019-03-11 - **Break change** change buffers instead of disk file for `workspace.applyEdits`. - **Break change** add config errors to diagnostic list instead of jump locations. - **Break change** hack for popup menu flicker is removed, use `suggest.reloadPumOnInsertChar` to enable it. - **Break change** use `nvim_select_popupmenu_item` for number select completion. - Add floating window for completion items. - Add floating window support for diagnostics. - Add floating window support for hover documentation. - Add `coc#on_enter()` for notify enter pressed. - Add setting `coc.preferences.useQuickfixForLocations`. - Add support of `g:coc_watch_extensions` for automatic reload extensions. - Add command: `editor.action.doCodeAction`. - Fix service on restarted on windows after rebuild. - Fix config of airline. - Fix relative path of watchman. - Improve Mru model. # 2019-03-03 - **Break change** signature change of `workspace.registerKeymap`. - **Break change** `` of CocList can't be remapped any more. - **Break change** use `yarnpkg` command instead of `yarn` when possible. - **Break change** `noinsert` is removed from `completeopt` when `noselect` is enabled, `` would break line by default. - Add setting `diagnostic.refreshAfterSave`. - Add chinese documentation. - Add support of multiple line placeholder. - Fix edit of nested snippet placeholders. - Fix possible infinite create of documents. - Fix check for resume completion. # 2019-02-25 - **Break change** default of `suggest.detailMaxLength` changed to 100. - **Break change** option of `workspace.registerKeymap` changed. - Add settings: `suggest.detailField`. - Add check for autocmd in health check. - Add trigger patterns support for complete sources. - Add support of `coc-snippets-expand-jump` - Add `source` option for completion start. - Add `sources.createSource` method. # 2019-02-22 - **Break change** some configurations have been renamed, checkout #462. - **Break change** no longer automatic trigger for CursorHoldI #452. - **Break change** add preview option of `completeopt` according to `suggest.enablePreview`. - Add statusItem for CocUpdate. - Add `-sync` option for `:CocInstall` - Add support for floating preview window. - Add more module export. - Fix check of vim-node-rpc throw error. - Fix wrong line for TextEdit of complete item. - Fix diagnostics not cleared on service restart. # 2019-02-17 - **Break change** completion resolve requires CompleteChanged autocmd. - **Break change** mapping of space on insert mode of list removed. - **Break change** kind of completion item use single letter. - Fix snippet not works on GUI vim. - Fix cursor vanish on vim by use timer hacks. - Fix behavior of list preview window. - Fix python check on vim. - Fix CocJumpPlaceholder not fired. - Fix vscode-open command not work. # 2019-02-12 - **Break change** function `coc#util#clearmatches` signature changed. - Add check for python gtk module. - Add check for vim-node-rpc update error. - Fix source name of diagnostics. - Fix empty buffers created on preview. - Fix trigger of `CursorHoldI`. # 2019-02-11 - **Break change:** internal filetype of settings file changed to jsonc. - **Break change:** `coc#util#install` changed to synchronize by default. - **Break change:** no document highlight would be added for colored symbol. - **Break change:** remove `coc.preferences.openResourceCommand`. - Add fallback rename implementation which rename symbols on current buffer. - Add command `:CocUpdateSync`. - Add `coc.preferences.detailMaxLength` for slice detail on completion menu. - Add cancel support for completion. - Add `ctags` as fallback of document symbols list. - Add default key-mappings for location actions. - Add python check on vim. - Add `disableSyntaxes` support for completion sources. - Add support for change `isProgress` of `StatusBarItem` - Add check of coc.nvim version for `CocUpdate` - Add `coc.preferences.previewAutoClose`, default true. - Add `workspace.add registerAutocmd`. - Fix highlight not cleared on vim - Fix health check of service state. - Fix CursorHoldI not triggered on neovim. - Fix sort of list not stable. # 2019-02-04 - **Break change:** no messages when documentSymbol and workspaceSymbol provider not found. - Add support for configure sign in statusline. - Add help action for list. - Fix parse error on extensions update. - Fix wrong uri on windows. - Fix cancel list without close ui. - Improve startup time by remove jobwait. # 2019-02-02 - **Break change:** extensions now update automatically, prompt is removed. - Add check for extension compatibility. - Add transform support for placeholder. - Add check for node version. - Add error check for list. - Add settings: `coc.preferences.diagnostic.virtualTextLines`. - Fix preview window not shown. - Fix highlight not cleared on vim. - Fix highlight commands of list block vim on start. - Improve extension load. - Improve list experience. # 2019-01-28 - **Break change:** `coc.preferences.diagnostic.echoMessage` changed to enum. - Add mru support for commands and lists list. - Add `coc.preferences.diagnostic.refreshOnInsertMode` - Add `Mru` module. - Improve highlight for lists, support empty `filterLabel`. - Fix `findLocations` not work with nest locations. - Fix cursor position after apply additionalTextEdits. # 2019-01-24 - **Break change:** python code for denite support moved to separated repo. - **Break change:** Quickfix list no longer used. - Add list support. - Add configuration: `coc.preferences.diagnostic.virtualText`. - Add watch for `&rtp` change. - Add support for configure `g:coc_user_config` and `g:coc_global_extensions` - Add support for send request to coc on vim start. - Add `g:coc_start_at_startup` support. - Add configuration: `coc.preferences.invalidInsertCharacters`. - Add configuration: `coc.preferences.snippetStatusText`. - Add `coc#_insert_key()` for insert keymap. - Add `workspace.registerExprKeymap()`. - Add detect for `vim-node-rpc` abnormal exist. - Add `requireRootPattern` to languageserver configuration. - Fix git check, always generate keywords. - Fix crash when `righleft` set to 1 on neovim. - Fix snippet position could be wrong. # 2019-01-09 - **Break change:** throw error when languageserver id is invalid. - Add watcher for languageserver configuration change. - Fix possible invalid package.json. - Fix applyEdits not work sometimes. - Fix server still started when command search failed. - Fix log file not writeable. - Improve completion performance. # 2019-01-03 - **Break change:** using of `g:rooter_patterns` is removed. - **Break change:** diagnostics would be updated in insert mode now. - Add configuration: `coc.preferences.rootPatterns` - Add `TM_SELECTED_TEXT` and `CLIPBOARD` support for snippets. - Fix check of latest insert char failed. - Fix highlight not cleared sometimes. # 2019-01-01 - Fix issues with completion. # 2018-12-31 - **Break change:** created keymaps use rpcrequest instead of rpcnotify. - **Break change:** snippets provider is removed, use `coc-snippets` for extension snippets. - Add command: `coc.action.insertSnippet` - Fix position of snippets. - Fix modifier of registered keymaps. - Fix completion triggered on complete done. - Fix closure function possible conflict. - Fix unexpected snippet cancel. - Fix document applyEdits, always use current lines. - Fix fail of yarn global command. - Fix check of changedtick on completion done. - Fix line used for textEdit of completion. - Fix snippet canceled by `formatOnType`. - Fix `CocJumpPlaceholder` not fired - Optimize content synchronize. # 2018-12-27 - **Break change:** no more message on service ready. - **Break change:** vim source now registered as extension. - **Break change:** complete item sort have reworked. - **Break change:** request send to coc would throw when service not ready. - Add support for check current state on diagnostic update. - Add `env` opinion for registered command languageserver. - Add outputChannel for watchman. - Add `coc#_select_confirm()` for trigger select and confirm. - Add `coc.preferences.numberSelect`. - Add priority support for format provider. - Add `workspace.watchGlobal` and `workspace.watchOption` methods. - Fix cursor disappear on `TextChangedP` with vim. - Fix coc process not killed when update on windows. - Fix snippet broken on vim. - Fix support of startcol of completion result. - Fix `labelOffsetSupport` wrong position. - Fix flicking on neovim. - Fix unicide not considered as iskeyword. - Fix watchman client not initialized sometimes. - Improve performance for parse iskeyword. - Not echo message on vim exit. - Not send empty configuration change to languageserver. # 2018-12-20 - **Break change** configuration for module language server, transport now require specified value. - **Break change** new algorithm for socre complete items. - Add command `workspace.clearWatchman`. - Add `quickfixs`, `doCodeAction` and `doQuickfix` actions. - Add `g:vim_node_rpc_args` for debug purpose. - Add `coc#add_extension()` for specify extensions to install. - Fix clients not restarted on CocRestart. - Fix `execArgv` and `runtime` not work for node language server. - Fix detail of complete item not echoed sometimes. - Fix actions missing when registered with same clientId. - Fix issues with signature echo. - Fix uri is wrong with whitespace. - Improve highlight performance with `nvim_call_atomic`. # 2018-12-17 - **Break change** `vim-node-rpc` now upgrade in background. - Add `ignoredRootPaths` to `languageserver` option. - Add detect of vim running state. - Add `client.vim` for create clients. - Fix possible wrong current line of `completeResolve`. - Fix snippet not work with `set virtualedit=all`. - Fix default timeout to 2000. - Fix file mode of log file. # 2018-12-12 - **Break change** `fixInsertedWord` fix inserted word which ends with word after. - **Break change** `onCompleteSelect` is removed. - Add `workspace.registerKeymap` for register keymap. - Add match score for sort complete items. - Fix possible connection lost. - Fix priority of diagnostic signs. - Fix possible wrong uri. - Fix `RevealOutputChannelOn` not default to `never`. - Fix possible wrong line used for textEdit of complete item. - Fix possible wrong cursor position of snippet after inserted. # 2018-12-08 - **Break change** default rootPath would be directory of current file, not cwd. - **Break change** codeLens feature now disabled by default. - **Break change** diagnostic prev/next now loop diagnostics. - Add support of neovim highlight namespace. - Add support for undo `additionalTextEdits` on neovim - Fix configuration resolve could be wrong. - Fix word of completion item could be wrong. - Fix rootPath could be null. - Fix highlight not cleared on restart. # 2018-12-06 - **Break change** `RevealOutputChannelOn` of language client default to `never`. - Fix can't install on windows vim. - Fix `displayByAle` not clearing diagnostics. - Add check for `vim-node-rpc` update on vim. - Add `Resolver` module. - Improve apply `WorkspaceEdit`, support `0` as document version and merge edits for same document. # 2018-12-05 - Add `CocJumpPlaceholder` autocmd. - Add `rootPatterns` to `languageserver` config. - Add setting: `coc.preferences.hoverTarget`, support use echo. - Add setting `coc.preferences.diagnostic.displayByAle` for use ale to display errors. - Add setting `coc.preferences.extensionUpdateCheck` for control update check of extensions. - Add `coc#config` for set configuration in vim. - Fix rootPath not resolved on initialize. - Fix possible wrong `tabSize` by use `shiftwidth` option. - Fix trigger of `documentColors` request. - Fix `vim-node-rpc` service not work on windows vim. - Fix `codeLens` not works. - Fix highlight of signatureHelp. - Fix watchman watching same root multiple times. - Fix completion throw undefined error. - Fix `open_terminal` not works on vim. - Fix possible connection lost by use notification when possible. - Fix process not terminated when connection lost. - Rework diagnostics with task sequence. - Rework configuration with more tests. # 2018-11-28 - _Break change_ signature help reworked, vim API for echo signature changed. - Add `:CocInfo` command. - Add trigger for signature help after function expand. - Add echo message when provider not found for some actions. - Add support for `formatexpr` - Add support for locality bonus like VSCode. - Add support of `applyAdditionalLEdits` on item selected by `` - Add `coc.preferences.useQuickfixForLocations` - Add `coc.preferences.messageLevel` - Add support for trigger command which not registered by server. - Add `g:coc_denite_quickfix_action` - Fix insert unwanted word when trigger `commitCharacter`. - Fix rpc request throw on vim. - Fix `data` of complete item conflict. - Fix code action not work sometime. - Fix `coc.preferences.diagnostic.locationlist` not work. - Fix `coc.preference.preferCompleteThanJumpPlaceholder`. - Fix `workspace.jumpTo` not work sometime. - Fix line indent for snippet. - Fix trigger of `signatureHelp` and `onTypeFormat`. # 2018-11-24 - **Break change** sources excluding `around`, `buffer` or `file` are extracted as extensions. - **Break change** custom source doesn't exist any more. - Add `coc.preferences.preferCompleteThanJumpPlaceholder` to make jump placeholder behavior as confirm completion when possible. - Add `CocDiagnosticChange` autocmd for force statusline update. - Add `onDidUnloadExtension` event on extension unload. - Fix `getDiagnosticsInRange`, consider all interactive ranges. - Fix completion throw when `data` on complete item is `string`. - Fix `commitCharacters` not works. - Fix workspace methods: `renameFile`, `deleteFile` and `resolveRoot`. - Fix textEdit of builtin sources not works. # 2018-11-19 - **Break change** snippet support reworked: support nest snippets, independent session in each buffer and lots of fixes. - **Break change** diagnostic list now sort by severity first. - Add commands: `:CocUninstall` and `:CocOpenLog` - Add cterm color for highlights. - Add line highlight support for diagnostic. - Add `coc.preferences.fixInsertedWord` to make complete item replace current word. - Fix check confirm not works on vim sometimes. - Fix check of `vim-node-rpc`. - Fix preselect complete item not first sometimes. - Improve completion sort result by consider more abort priority and recent selected. - Improve colors module, only highlight current buffer and when buffer changed. - Improve `doc/coc.txt` # 2018-11-13 - **Break change** default completion timeout changed to 2s. - **Break change** snippet session not canceled on `InsertLeave`, use `` in normal mode to cancel. - Add document color support. - Add CocAction 'pickColor' and 'colorPresentation'. - Add prompt for install vim-node-rpc module. - Add support for `inComplete` completion result. - Add status item for snippet session. - Add support for fix inserted text of snippet completion item. - Fix document highlight not cleared. - Fix cancel behavior of snippet. - Fix range check of edit on snippet session. - Fix check of completion confirm. - Fix highlight group 'CocHighlightWrite' not work. - Fix command `editor.action.rename` not works. - Fix throw error before initialize. - Fix `g:coc_node_path` not working. - Fix file source throw undefined error. - Improve logic of sorting completion items, strict match items comes first. # 2018-11-07 - **Break change** word source removed from custom sources, enabled for markdown by default. - **Break change** ignore sortText when input.length > 3. - **Break change** show prompt for install `coc-json` when not found. - Fix document content synchronize could be wrong. - Fix filetype not converted on completion. - Fix complete item possible not resolved. - Improve document highlight, no highlight when cursor moved. - Improve completion score, use fuzzaldrin-plus replace fuzzaldrin. # 2018-11-02 - **Break change** no items from snippets source when input is empty. - **Break change** `javascript.jsx` would changed to `javascriptreact` as languageId. - **Break change** `typescript.tsx` would changed to `typescriptreact` as languageId. - Add support for `commitCharacters` and `coc.preferences.acceptSuggestionOnCommitCharacter`. - Add setting: `coc.preferences.diagnostic.level`. - Add `g:coc_filetype_map` for customize mapping between filetype and languageId. - Add `g:coc_node_path` for custom node executable. - Add `workspaceFolders` feature to language client. - Add `~` to complete item of snippet source. - Add `onDidChangeWorkspaceFolder` event - Fix `eol` issue by check `eol` option. - Fix `workspace.document` could be null. - Fix `workspaceFolder` could be null. - Fix diagnostic for quickfix buffer. - Fix resolve of `coc.preferences.rootPath` # 2018-10-29 - **Break change** diagnostic reworked, no refresh on insert mode. - **Break change** keep `sortText` on filter for better result. - **Break change** prefer trigger completion than filter, same as VSCode. - **Break change** filetype of document would be first part of `&filetype` split by `.`. - **Break change** prefer label as abbr for complete item. - Fix creating wrong `textEdit` for snippet. - Fix `startcol` of `CompleteResult` not working. - Fix `workspaceConfiguration.toJSON` return invalid result. - Fix `workspace.readFile` not synchronized with buffer. - Fix `workspace.rootPath` not resolved as expected. - Fix `CompletionItem` resolved multiple times. - Fix check of `latestInsert` on completion. - Fix `formatOnType` possible add unnecessary indent. - Fix document content synchronized on vim. - Fix confirm check of completion for all source. - Fix document possible register multiple times. - Fix completion always stopped when input is empty. - Add warning message when definition not found. - Add `redraw` after `g:coc_status` changed. - Remove change of `virtualedit` option of snippet. - Improved performance of filter completion items. # 2018-10-25 - Fix `implementation` and `typeDefinition` of language client not working. - Fix `diffLines` return wrong range. - Fix `setqflist` and `setloclist` not works on vim. - Fix snippets and `additionalTextEdits` not works on vim. - Fix append lines not works on vim. - Fix highlight action not works on vim. - Fix null version of `TextDocumentIdentifier` not handled. - Add `workspace.registerTextDocumentContentProvider` for handle custom uri. - Add `workspace.createStatusBarItem` method. # 2018-10-21 - **Break change**: `triggerAfterInsertEnter` now respect `minTriggerInputLength`. - Add `coc.preferences.minTriggerInputLength`. - Add command: `:CocCommand`. - Fix `position` of `provideCompletionItems`. - Fix content change not trigger after completion. - Fix default sorters & matchers of denite sources. - Fix `outputChannel` wrong `buftype`. - Fix completion not works with `textEdit` add new lines. - Fix first item not resolved when `noselect` is disabled - Remove using of `diff` module. # 2018-10-18 - **Break change**: all buffers are created as document. - **Break change**: retrieve workspace root on document create. - Fix `uri` for all buffer types. - Fix bad performance on parse keywords. - Fix check of language client state. - Fix register of `renameProvider` - Fix `CocRequestAsync` not work. - Fix `workspace.openResource` error with `wildignore` option. - Fix output channel can't shown if hidden. - Fix extension activate before document create. - Add command `vscode.open` and `editor.action.restart`. - Add `workspace.requestInput` method. - Add support of `g:rooter_patterns` - Add `storagePath` to `ExtensionContext` - Add `workspace.env` property. - Add support of scoped configuration. - Disable buffer highlight on vim. # 2018-10-14 - **Break change** API: `workspace.resoleModule` only does resolve. - **Break change** extension would still be loaded even if current coc version miss match. - **Break change** variables are removed from view of `Denite coc-symbols` - Fix `workspace.applyEdits` - Fix `console.log` throws in extension. - Fix invalid `workspace.root` with custom buffer schema. - Fix possible crash on neovim 0.3.1 by not attach terminal buffer. - Fix jump position not stored when jump to current buffer position. - Fix install function not works on vim. - Add support for custom uri schema for `workspace.jumpTo` and `workspace.openResource` - Add `workspace.findUp` for find up file of current buffer. - Add `env` option for custom language server config. - Add vim function: `CocRequest` and `CocRequestAsync` for send request to language server in vim. - Add `coc.preferences.parseKeywordsLimitLines` and `coc.preferences.hyphenAsKeyword` for buffer parse. - Rework completion for performance and accuracy. # 2018-10-05 - **Break change**, `workspace.onDidChangeConfiguration` emit `ConfigurationChangeEvent` now. - Add `position` to function `coc#util#open_terminal`. - Improve performance of completion by use vim's filter when possible. - Fix service start multiple times. - Fix parse of `iskeyword` option, consider `@-@`. - Fix completion of snippet: cancel on line change. # 2018-10-01 - Improved document `didChange` before trigger completion. - Add option `coc.preferences.triggerCompletionWait`, default 60. - Add watch for `iskeyword` change. - Fix snippet jump not works sometime. - Fix possible wrong `rootPath` of language server. - Fix highlight of highlight action not using terminal colors. - Fix detect for insert new line character. # 2018-09-30 - Add quickfix source of denite and fzf - Add option `coc.preferences.rootPath` - Add option `revealOutputChannelOn` to language server. - Fix jump of placeholder. - Fix empty root on language server initialize. # 2018-09-28 - **Break change**: `coc.preferences.formatOnType` default to `false`. - **Break change**: snippet completion disabled in `string` and `comment`. - Add support for register local extension. - Add title for commands in `Denite coc-command` - Fix prompt hidden by echo message. - Fix contribute commands not shown in denite interface. - Fix parse of `iskeyword`, support character range. - Fix `triggerKind` of completion. - Fix install extension from url not reloaded. # 2018-09-27 - **Break change**: `:CocDisable` disabled all events from vim. - **Break change**: new snippet implementation. - Support multiple line snippet. - Support VSCode snippet extension. - Support completion of snippets from snippet extension. - Add highlight groups for different severity. - Add `coc.preferences.formatOnType` option. - Add `coc.preferences.snippets.enable` option. - Fix snippet not works as `insertText`. - Fix echo message with multiple lines. - Fix `signatureHelp` with `showcmd` disabled. - Fix location list cleared on `:lopen`. - Fix diagnostic info not cleared on `:CocDisable` - Fix diagnostic info not cleared on buffer unload. - Fix buffer highlight not cleared on `highlight` action. - Fix format on type not work as expected. # 2018-09-24 - **Break change**: use `CursorMove` instead of `CursorHold` for diagnostic message. - **Break change**: direct move to diagnostic position would show diagnostic message without truncate. - **Break change**: snippet would be canceled when mode changed to normal, no mapping of `` any more. - Add format document on `insertLeave` when `onTypeFormat` is supported. - Add buffer operations on resource edit. - Add `uninstall` action for `Denite coc-extension`. - Fix active extension on command not working. - Fix delete file from resource edit not works. # 2018-09-20 - Fix diagnostic check next offset for diagnostics. - Add `(coc-diagnostic-info)` for show diagnostic message without truncate. # 2018-09-15 - Fix wrong configuration on update. - Fix install command with tag version. - Fix using of unsafe `new Buffer`. - Add support of trace format & resource operations. - Add support of json validation for extension. - Add support of format on save by `coc.preferences.formatOnSaveFiletypes` # 2018-09-10 - Add `Denite coc-extension` for manage extensions. - Add actions for manage extension including `toggleExtension` `reloadExtension` `deactivateExtension` - Add check for extension update everyday. - Fix extensions using same process of coc itself. - Fix `configurationSection` should be null if none was specified. # 2018-09-07 - **Break change**: all extension all separated from core, checkout [Using coc extension](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) - Fix `textDocumentSync` option not work when received as object. - Fix wrong diagnostic info when using multiple lint servers. - Use `CursorHold` for show diagnostic message. - Add option `coc.preferences.enableMessage` to disable showing of diagnostic message. - Add new events module for receive vim events. - Add support for `prepareRename`. - Add support for `CodeActionOptions` # 2018-08-30 - Fix wrong `triggerKind` from VSCode. - Add `(coc-openlink)` for open link. - Add `typescript.jsx` as valid typescript type. # 2018-08-23 - Fix sometimes client status invalid. - Add multiply provider support for all features. - Add `documentLink` support - Add `documentHighlight` support - Add `foldingRange` support - Add support of `documentSelector` same as VSCode # 2018-08-21 - Fix diagnostic and arguments of tsserver. - Add `keepfocus` option for `open_terminal`. - Improve error catch of autocmds. - Add `onTypeFormat` feature for language server - Add `onTypeFormat` support for tsserver. - Refactor and more tests of workspace. - Fix `window/showMessageRequest` request. - Use `callAsync` for async request to vim. - Add `CocActionAsync` function send async request to server. # 2018-08-17 - Fix exists terminal buffer not watched. - Fix buffer not attached after `edit!`. - Fix clean diagnostics of `tsserver.watchBuild` command. - Fix refresh of buffer. - Fix document not found on `BufEnter`. Use `rpcrequest` for `BufCreate` - Fix no permission of log file. Disable create log file for root user. - Add more command for tsserver: - `tsserver.reloadProjects` - `tsserver.openTsServerLog` - `tsserver.goToProjectConfig` - `tsserver.restart` - Add test for workspace. # 2018-08-16 - Improved for tsserver: - Add `watchBuild` command for build current project with watch in terminal. - Support of untitled buffer - Support `projectRootPath` - Fix detach error of document. - Fix trigger characters not works for some source. - Fix document possible not sync before save. - Fix denite errors with 0 as result. - Fix wrong arguments of tsserver refactor command. - Use `drop` for workspace `openResource`. - Add clear coc signs on `:CocRestart`. - **Break change** all buffer types except `nofile` `help` and `quickfix` are watched for changes. # 2018-08-15 - Fix filter of completion items on fast input. - Fix sometimes fails of include & neosnippet source. - Fix sometimes fails to find global modules. - Improve complete source initialization. - Always respect change of configuration. - Add ability to start standalone coc service for debugging. - Use `NVIM_LISTEN_ADDRESS=/tmp/nvim nvim` to start neovim. - Start coc server by command like `node bin/server.js` - Add ability to recover from unload buffer. Sometimes `bufReadPost` `BufEnter` could be not be fired on buffer create, check buffer on `CursorHold` and `TextChanged` to fix this issue. - Add tsserver features: `tsserver.formatOnSave` and `tsserver.organizeImportOnSave` Both default to false. - Add tests for completion sources. # 2018-08-14 - Fix remote source not working. - Fix sort of completion items. - Fix EPIPE error from net module. - Add `tslint.lintProject` command. - Add config `coc.preferences.maxCompleteItemCount`. - Add `g:coc_auto_copen`, default to `1`. # 2018-08-12 - **Break change** `:CocRefresh` replaced with `call CocAction('refreshSource')`. - Add support filetype change of buffer. - Add basic test for completion. - Improve loading speed, use child process to initialize vim sources. - Improve install.sh, install node when it doesn't exist. - Improve interface of workspace. - Fix loading of configuration content. # 2018-08-11 - Fix configuration content not saved on change. - Fix thrown error on watchman not found. - Fix incompatible options of `child_process`. - Fix location list for diagnostics. - Reset on `BufWinEnter`. - Available for all windows of single buffer. - Use replace on change for coc location list. - Add debounce. - Fix signature help behaviour, truncate messages to not overlap. - Reworks sources use async import. # 2018-08-10 - Fix dispose for all modules. - Add support for multiple `addWillSaveUntilListener`. - Fix `startcol` for json server. - Add support filetype `javascriptreact` for tsserver. # 2018-08-09 - Add `coc#util#install` for installation. - Add `install.cmd` for windows. # 2018-08-08 - Improved location list for diagnostics. - Add `internal` option to command. Commands registered by server are internal. - Add support for multiple save wait until requests. # 2018-08-07 - Add `forceFullSync` to language server option. # 2018-08-05 - Improve eslint extension to use workspaceFolder. - Fix watchman not works with multiple roots. - Add feature: dynamic root support for workspace. - **Break change** output channel of watchman is removed. # 2018-08-04 - Fix order of document symbols. - Fix completion snippet with `$variable`. - Add feature: expand snippet on confirm. - Add feature: `(coc-complete-custom)` for complete custom sources. Default customs sources: `emoji`, `include` and `word` - **Break change** `emoji` `include` used for all filetypes by default. # 2018-08-03 - Add command `:CocErrors` for debug. - Support `DocumentSymbol` for 'textDocument/documentSymbol' # 2018-08-02 - Fix error of language client with unsupported schema. No document event fired for unsupported schema (eg: fugitive://) - Fix update empty configuration not works. # 2018-07-31 - Improve file source triggered with dirname started path. # 2018-07-30 - Fix source ultisnip not working. - Fix custom language client with command not working. - Fix wrong arguments passed to `runCommand` function. - Improve module install, add `sudo` for `npm install` on Linux. - Improve completion on backspace. - Completion is resumed when search is empty. - Completion is triggered when user try to fix search. # 2018-07-29 - **Break change** all servers are decoupled from coc.nvim A prompt for download is shown when server not found. - **Break change** `vim-node-rpc` decoupled from coc.nvim A prompt would be shown to help user install vim-node-rpc in vim. - Add command `CocConfig` # 2018-07-28 - Fix uncaught exception error on windows. - Use plugin root for assets resolve. - Fix emoji source not triggered by `:`. - Improve file source to recognize `~` as user home. # 2018-07-27 - Prompt user for download server module with big extension like `vetur` and `wxml-langserver` - **Break change**, section of settings changed: `cssserver.[languageId]` moved to `[languageId]` For example: `cssserver.css` section is moved to `css` section. This makes coc settings of css languages the same as VSCode. - **Break change**, `stylelint` extension is disabled by default, add ``` "stylelint.enable": true, ``` to your `coc-settings.json` to enable it. User will be prompted to download server if `stylelint-langserver` is not installed globally. - **Break change**, `triggerAfterInsertEnter` is always `true`, add ``` "coc.preferences.triggerAfterInsertEnter": false, ``` to your `coc-settings.json` to disable it. - **Break change**, when `autoTrigger` is `always` completion would be triggered after completion item select. # 2018-07-24 - better statusline integration with airline and lightline. # 2018-07-23 - Coc service start much faster. - Add vim-node-rpc module. - **Break change** global function `CocAutocmd` and `CocResult` are removed. - Support Vue with vetur # 2018-07-21 - Fix issue with `completeopt`. - Add source `neosnippet`. - Add source `gocode`. # 2018-07-20 - Add documentation for language server debug. - Rework register of functions, avoid undefined function. # 2018-07-19 - Fix error of `isFile` check. - Ignore undefined function on service start. # 2018-07-17 - Add `coc.preference.jumpCommand` to settings. - Make coc service standalone. # 2018-07-16 - Support arguments for `runCommand` action. - Add coc command `workspace.showOutput`. - Support output channel for language server. - Support `[extension].trace.server` setting for trace server communication. # 2018-07-15 - Support location list for diagnostic. - Add tsserver project errors command. # 2018-07-14 - Add support for `preselect` of complete item. - Add support for socket language server configuration. - Fix configured language server doesn't work. - Add `workspace.diffDocument` coc command. - Fix buffer sometimes not attached. - Improve completion of JSON extension. # 2018-07-13 - **Break change:** `diagnostic` in setting.json changed to `diagnostic`. - Fix clearHighlight arguments. - Add eslint extension https://github.com/Microsoft/vscode-eslint. - Fix snippet break with line have \$variable. - Use jsonc-parser replace json5. - Add `data/schema.json` for coc-settings.json. # 2018-07-12 - Fix restart of tsserver not working. - Fix edit of current buffer change jumplist by using `:keepjumps`. ================================================ FILE: bundle/coc.nvim-release/lua/coc/highlight.lua ================================================ local api = vim.api local M = {} -- Get single line extmarks function M.getHighlights(bufnr, key, s, e) if not api.nvim_buf_is_loaded(bufnr) then return nil end s = s or 0 e = e or -1 local max = e == -1 and api.nvim_buf_line_count(bufnr) or e + 1 local ns = api.nvim_create_namespace('coc-' .. key) local markers = api.nvim_buf_get_extmarks(bufnr, ns, {s, 0}, {e, -1}, {details = true}) local res = {} for _, mark in ipairs(markers) do local id = mark[1] local line = mark[2] local startCol = mark[3] local details = mark[4] local endCol = details.end_col if line < max then local delta = details.end_row - line if delta <= 1 and (delta == 0 or endCol == 0) then if startCol == endCol then api.nvim_buf_del_extmark(bufnr, ns, id) else if delta == 1 then local text = api.nvim_buf_get_lines(bufnr, line, line + 1, false)[1] or '' endCol = #text end table.insert(res, {details.hl_group, line, startCol, endCol, id}) end end end end return res end local function addHighlights(bufnr, ns, highlights, priority) for _, items in ipairs(highlights) do local hlGroup = items[1] local line = items[2] local startCol = items[3] local endCol = items[4] local hlMode = items[5] and 'combine' or 'replace' -- Error: col value outside range pcall(api.nvim_buf_set_extmark, bufnr, ns, line, startCol, { end_col = endCol, hl_group = hlGroup, hl_mode = hlMode, right_gravity = true, priority = type(priority) == 'number' and math.min(priority, 4096) or 4096 }) end end local function addHighlightTimer(bufnr, ns, highlights, priority, maxCount) local hls = {} local next = {} for i, v in ipairs(highlights) do if i < maxCount then table.insert(hls, v) else table.insert(next, v) end end addHighlights(bufnr, ns, hls, priority) if #next > 0 then vim.defer_fn(function() addHighlightTimer(bufnr, ns, next, priority, maxCount) end, 30) end end function M.set(bufnr, ns, highlights, priority) local maxCount = vim.g.coc_highlight_maximum_count if #highlights > maxCount then addHighlightTimer(bufnr, ns, highlights, priority, maxCount) else addHighlights(bufnr, ns, highlights, priority) end end return M ================================================ FILE: bundle/coc.nvim-release/package.json ================================================ { "name": "coc.nvim-release", "version": "0.0.82", "description": "LSP based intellisense engine for neovim & vim8.", "engines": { "node": ">=12.12.0" }, "repository": { "type": "git", "url": "git+https://github.com/neoclide/coc.nvim.git" }, "author": "Qiming Zhao ", "bugs": { "url": "https://github.com/neoclide/coc.nvim/issues" }, "homepage": "https://github.com/neoclide/coc.nvim#readme" } ================================================ FILE: bundle/coc.nvim-release/plugin/coc.vim ================================================ scriptencoding utf-8 if exists('g:did_coc_loaded') || v:version < 800 finish endif function! s:checkVersion() abort let l:unsupported = 0 if get(g:, 'coc_disable_startup_warning', 0) != 1 if has('nvim') let l:unsupported = !has('nvim-0.4.0') else let l:unsupported = !has('patch-8.1.1719') endif if l:unsupported == 1 echohl Error echom "coc.nvim requires at least Vim 8.1.1719 or Neovim 0.4.0, but you're using an older version." echom "Please upgrade your (neo)vim." echom "You can add this to your vimrc to avoid this message:" echom " let g:coc_disable_startup_warning = 1" echom "Note that some features may error out or behave incorrectly." echom "Please do not report bugs unless you're using at least Vim 8.1.1719 or Neovim 0.4.0." echohl None sleep 2 else if !has('nvim-0.5.0') && !has('patch-8.2.0750') echohl WarningMsg echom "coc.nvim works best on vim >= 8.2.0750 and neovim >= 0.5.0, consider upgrade your vim." echom "You can add this to your vimrc to avoid this message:" echom " let g:coc_disable_startup_warning = 1" echom "Note that some features may behave incorrectly." echohl None sleep 2 elseif !has('nvim') && (!has('job') || !has('popupwin') || !has('textprop')) echohl WarningMsg echom "coc.nvim requires job, popupwin and textprop features of vim, consider recompile your vim." echom "You can add this to your vimrc to avoid this message:" echom " let g:coc_disable_startup_warning = 1" echom "Note that some features may behave incorrectly." echohl None sleep 2 endif endif endif endfunction call s:checkVersion() let g:did_coc_loaded = 1 let g:coc_service_initialized = 0 let s:root = expand(':h:h') let s:is_vim = !has('nvim') let s:is_gvim = s:is_vim && has("gui_running") if get(g:, 'coc_start_at_startup', 1) && !s:is_gvim call coc#rpc#start_server() endif function! CocTagFunc(pattern, flags, info) abort if a:flags !=# 'c' " use standard tag search return v:null endif return coc#rpc#request('getTagList', []) endfunction " Used by popup prompt on vim function! CocPopupCallback(bufnr, arglist) abort if len(a:arglist) == 2 if a:arglist[0] == 'confirm' call coc#rpc#notify('PromptInsert', [a:arglist[1], a:bufnr]) elseif a:arglist[0] == 'exit' execute 'silent! bd! '.a:bufnr "call coc#rpc#notify('PromptUpdate', [a:arglist[1]]) elseif a:arglist[0] == 'change' let text = a:arglist[1] let current = getbufvar(a:bufnr, 'current', '') if text !=# current call setbufvar(a:bufnr, 'current', text) let cursor = term_getcursor(a:bufnr) let info = { \ 'lnum': cursor[0], \ 'col': cursor[1], \ 'line': text, \ 'changedtick': 0 \ } call coc#rpc#notify('CocAutocmd', ['TextChangedI', a:bufnr, info]) endif elseif a:arglist[0] == 'send' call coc#rpc#notify('PromptKeyPress', [a:bufnr, a:arglist[1]]) endif endif endfunction function! CocAction(name, ...) abort if !get(g:, 'coc_service_initialized', 0) throw 'coc.nvim not ready when invoke CocAction "'.a:name.'"' endif return coc#rpc#request(a:name, a:000) endfunction function! CocHasProvider(name) abort return coc#rpc#request('hasProvider', [a:name]) endfunction function! CocActionAsync(name, ...) abort return s:AsyncRequest(a:name, a:000) endfunction function! CocRequest(...) abort return coc#rpc#request('sendRequest', a:000) endfunction function! CocNotify(...) abort return coc#rpc#request('sendNotification', a:000) endfunction function! CocRegisterNotification(id, method, cb) abort call coc#on_notify(a:id, a:method, a:cb) endfunction " Deprecated, use CocRegisterNotification instead function! CocRegistNotification(id, method, cb) abort call coc#on_notify(a:id, a:method, a:cb) endfunction function! CocLocations(id, method, ...) abort let args = [a:id, a:method] + copy(a:000) return coc#rpc#request('findLocations', args) endfunction function! CocLocationsAsync(id, method, ...) abort let args = [a:id, a:method] + copy(a:000) return s:AsyncRequest('findLocations', args) endfunction function! CocRequestAsync(...) return s:AsyncRequest('sendRequest', a:000) endfunction function! s:AsyncRequest(name, args) abort let Cb = empty(a:args)? v:null : a:args[len(a:args) - 1] if type(Cb) == 2 if !coc#rpc#ready() call Cb('service not started', v:null) else call coc#rpc#request_async(a:name, a:args[0:-2], Cb) endif return '' endif call coc#rpc#notify(a:name, a:args) return '' endfunction function! s:CommandList(...) abort let list = coc#rpc#request('commandList', a:000) return join(list, "\n") endfunction function! s:ExtensionList(...) abort let stats = CocAction('extensionStats') call filter(stats, 'v:val["isLocal"] == v:false') let list = map(stats, 'v:val["id"]') return join(list, "\n") endfunction function! s:SearchOptions(...) abort let list = ['-e', '--regexp', '-F', '--fixed-strings', '-L', '--follow', \ '-g', '--glob', '--hidden', '--no-hidden', '--no-ignore-vcs', \ '--word-regexp', '-w', '--smart-case', '-S', '--no-config', \ '--line-regexp', '--no-ignore', '-x'] return join(list, "\n") endfunction function! s:LoadedExtensions(...) abort let list = CocAction('loadedExtensions') return join(list, "\n") endfunction function! s:InstallOptions(...)abort let list = ['-terminal', '-sync'] return join(list, "\n") endfunction function! s:OpenConfig() let home = coc#util#get_config_home() if !isdirectory(home) echohl MoreMsg echom 'Config directory "'.home.'" does not exist, create? (y/n)' echohl None let confirm = nr2char(getchar()) redraw! if !(confirm ==? "y" || confirm ==? "\r") return else call mkdir(home, 'p') end endif execute 'edit '.fnameescape(home.'/coc-settings.json') call coc#rpc#notify('checkJsonExtension', []) endfunction function! s:get_color(item, fallback) abort let t = type(a:item) if t == 1 return a:item endif if t == 4 let item = get(a:item, 'gui', {}) let color = get(item, &background, a:fallback) return type(color) == 1 ? color : a:fallback endif return a:fallback endfunction function! s:AddAnsiGroups() abort let color_map = {} let colors = ['#282828', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#a89984', '#928374'] let names = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', 'grey'] for i in range(0, len(names) - 1) let name = names[i] if exists('g:terminal_ansi_colors') let color_map[name] = s:get_color(get(g:terminal_ansi_colors, i, colors[i]), colors[i]) else let color_map[name] = get(g:, 'terminal_color_'.i, colors[i]) endif endfor try for name in keys(color_map) let foreground = toupper(name[0]).name[1:] let foregroundColor = color_map[name] for key in keys(color_map) let background = toupper(key[0]).key[1:] let backgroundColor = color_map[key] exe 'hi default CocList'.foreground.background.' guifg='.foregroundColor.' guibg='.backgroundColor endfor exe 'hi default CocListFg'.foreground. ' guifg='.foregroundColor. ' ctermfg='.foreground exe 'hi default CocListBg'.foreground. ' guibg='.foregroundColor. ' ctermbg='.foreground endfor catch /.*/ " ignore invalid color endtry endfunction function! s:CreateHighlight(group, fg, bg) abort let cmd = coc#highlight#compose(a:fg, a:bg) if !empty(trim(cmd)) exe 'hi default '.a:group.' '.cmd else exe 'hi default link '.a:group.' '.a:fg endif endfunction function! s:OpenDiagnostics(...) abort let height = get(a:, 1, 0) call coc#rpc#request('fillDiagnostics', [bufnr('%')]) if height execute ':lopen '.height else lopen endif endfunction function! s:Disable() abort if get(g:, 'coc_enabled', 0) == 0 return endif autocmd! coc_nvim call coc#rpc#request('detach', []) echohl MoreMsg echom '[coc.nvim] Event disabled' echohl None let g:coc_enabled = 0 endfunction function! s:Autocmd(...) abort if !get(g:, 'coc_workspace_initialized', 0) return endif call coc#rpc#notify('CocAutocmd', a:000) endfunction function! s:HandleCharInsert(char, bufnr) abort if get(g:, 'coc_feeding_keys', 0) return endif if get(g:, 'coc_disable_space_report', 0) let g:coc_disable_space_report = 0 if a:char ==# ' ' return endif endif call s:Autocmd('InsertCharPre', a:char, a:bufnr) endfunction function! s:HandleTextChangedI(bufnr) abort if get(g:, 'coc_feeding_keys', 0) unlet g:coc_feeding_keys endif call s:Autocmd('TextChangedI', a:bufnr, coc#util#change_info()) endfunction function! s:HandleInsertLeave(bufnr) abort call coc#pum#close() call s:Autocmd('InsertLeave', a:bufnr) endfunction function! s:HandleWinScrolled(winid) abort if getwinvar(a:winid, 'float', 0) call coc#float#nvim_scrollbar(a:winid) endif call s:Autocmd('WinScrolled', a:winid) endfunction function! s:HandleWinClosed(winid) abort call coc#float#on_close(a:winid) call coc#notify#on_close(a:winid) call s:Autocmd('WinClosed', a:winid) endfunction function! s:SyncAutocmd(...) if !get(g:, 'coc_workspace_initialized', 0) return endif call coc#rpc#request('CocAutocmd', a:000) endfunction function! s:VimLeavePre() abort let g:coc_vim_leaving = 1 call s:Autocmd('VimLeavePre') if s:is_vim && exists('$COC_NVIM_REMOTE_ADDRESS') " Helps to avoid connection error. call coc#rpc#close_connection() return endif if get(g:, 'coc_node_env', '') ==# 'test' return endif if s:is_vim call timer_start(1, { -> coc#client#kill('coc')}) endif endfunction function! s:VimEnter() abort if coc#rpc#started() if !exists('$COC_NVIM_REMOTE_ADDRESS') call coc#rpc#notify('VimEnter', [coc#util#path_replace_patterns(), join(globpath(&runtimepath, "", 0, 1), ",")]) endif elseif get(g:, 'coc_start_at_startup', 1) call coc#rpc#start_server() endif call s:Highlight() endfunction function! s:Enable(initialize) if get(g:, 'coc_enabled', 0) == 1 return endif let g:coc_enabled = 1 sign define CocCurrentLine linehl=CocMenuSel sign define CocListCurrent linehl=CocListLine sign define CocTreeSelected linehl=CocTreeSelected if s:is_vim call coc#api#tabpage_ids() endif augroup coc_nvim autocmd! if !v:vim_did_enter autocmd VimEnter * call s:VimEnter() else call s:Highlight() endif if s:is_vim if exists('##DirChanged') autocmd DirChanged * call s:Autocmd('DirChanged', getcwd()) endif if exists('##TerminalOpen') autocmd TerminalOpen * call s:Autocmd('TermOpen', +expand('')) endif autocmd CursorMoved list:///* call coc#list#select(bufnr('%'), line('.')) autocmd TabNew * call coc#api#tabpage_ids() else autocmd DirChanged * call s:Autocmd('DirChanged', get(v:event, 'cwd', '')) autocmd TermOpen * call s:Autocmd('TermOpen', +expand('')) autocmd WinEnter * call coc#float#nvim_win_enter(win_getid()) endif if exists('##CompleteChanged') autocmd CompleteChanged * call timer_start(1, { -> coc#pum#close()}) endif autocmd CursorHold * call coc#float#check_related() if exists('##WinClosed') autocmd WinClosed * call s:HandleWinClosed(+expand('')) elseif exists('##TabEnter') autocmd TabEnter * call coc#notify#reflow() endif if exists('##WinScrolled') autocmd WinScrolled * call s:HandleWinScrolled(+expand('')) endif autocmd TabNew * call s:Autocmd('TabNew', coc#util#tabnr_id(tabpagenr())) autocmd TabClosed * call s:Autocmd('TabClosed', coc#util#tabpages()) autocmd WinLeave * call s:Autocmd('WinLeave', win_getid()) autocmd WinEnter * call s:Autocmd('WinEnter', win_getid()) autocmd BufWinLeave * call s:Autocmd('BufWinLeave', +expand(''), bufwinid(+expand(''))) autocmd BufWinEnter * call s:Autocmd('BufWinEnter', +expand(''), win_getid()) autocmd FileType * call s:Autocmd('FileType', expand(''), +expand('')) autocmd InsertCharPre * call s:HandleCharInsert(v:char, bufnr('%')) if exists('##TextChangedP') autocmd TextChangedP * call s:Autocmd('TextChangedP', +expand(''), coc#util#change_info()) endif autocmd TextChangedI * call s:HandleTextChangedI(+expand('')) autocmd InsertLeave * call s:HandleInsertLeave(+expand('')) autocmd InsertEnter * call s:Autocmd('InsertEnter', +expand('')) autocmd BufHidden * call s:Autocmd('BufHidden', +expand('')) autocmd BufEnter * call s:Autocmd('BufEnter', +expand('')) autocmd TextChanged * call s:Autocmd('TextChanged', +expand(''), getbufvar(+expand(''), 'changedtick')) autocmd BufWritePost * call s:Autocmd('BufWritePost', +expand(''), getbufvar(+expand(''), 'changedtick')) autocmd CursorMoved * call s:Autocmd('CursorMoved', +expand(''), [line('.'), col('.')]) autocmd CursorMovedI * call s:Autocmd('CursorMovedI', +expand(''), [line('.'), col('.')]) autocmd CursorHold * call s:Autocmd('CursorHold', +expand(''), [line('.'), col('.')]) autocmd CursorHoldI * call s:Autocmd('CursorHoldI', +expand(''), [line('.'), col('.')]) autocmd BufNewFile,BufReadPost * call s:Autocmd('BufCreate', +expand('')) autocmd BufUnload * call s:Autocmd('BufUnload', +expand('')) autocmd BufWritePre * call s:SyncAutocmd('BufWritePre', +expand(''), bufname(+expand('')), getbufvar(+expand(''), 'changedtick')) autocmd FocusGained * if mode() !~# '^c' | call s:Autocmd('FocusGained') | endif autocmd FocusLost * call s:Autocmd('FocusLost') autocmd VimResized * call s:Autocmd('VimResized', &columns, &lines) autocmd VimLeavePre * call s:VimLeavePre() autocmd BufReadCmd,FileReadCmd,SourceCmd list://* call coc#list#setup(expand('')) autocmd BufWriteCmd __coc_refactor__* :call coc#rpc#notify('saveRefactor', [+expand('')]) autocmd ColorScheme * call s:Highlight() | call s:Autocmd('ColorScheme') augroup end if a:initialize == 0 call coc#rpc#request('attach', []) echohl MoreMsg echom '[coc.nvim] Event enabled' echohl None endif endfunction function! s:Highlight() abort hi default CocSelectedText ctermfg=Red guifg=#fb4934 guibg=NONE hi default CocCodeLens ctermfg=Gray guifg=#999999 guibg=NONE hi default CocUnderline term=underline cterm=underline gui=underline guisp=#ebdbb2 hi default CocBold term=bold cterm=bold gui=bold hi default CocItalic term=italic cterm=italic gui=italic hi default CocStrikeThrough term=strikethrough cterm=strikethrough gui=strikethrough hi default CocMarkdownLink ctermfg=Blue guifg=#15aabf guibg=NONE hi default CocDisabled guifg=#999999 ctermfg=gray hi default CocSearch ctermfg=Blue guifg=#15aabf guibg=NONE hi default CocLink term=underline cterm=underline gui=underline guisp=#15aabf if coc#highlight#get_contrast('Normal', has('nvim') ? 'NormalFloat' : 'Pmenu') > 2.0 exe 'hi default CocFloating '.coc#highlight#create_bg_command('Normal', &background ==# 'dark' ? -30 : 30) exe 'hi default CocMenuSel '.coc#highlight#create_bg_command('CocFloating', &background ==# 'dark' ? -20 : 20) exe 'hi default CocFloatThumb '.coc#highlight#create_bg_command('CocFloating', &background ==# 'dark' ? -40 : 40) hi default link CocFloatSbar CocFloating else exe 'hi default link CocFloating '.(has('nvim') ? 'NormalFloat' : 'Pmenu') if coc#highlight#get_contrast('CocFloating', 'PmenuSel') > 2.0 exe 'hi default CocMenuSel '.coc#highlight#create_bg_command('CocFloating', &background ==# 'dark' ? -30 : 30) else exe 'hi default CocMenuSel '.coc#highlight#get_hl_command(synIDtrans(hlID('PmenuSel')), 'bg', '237', '#13354A') endif hi default link CocFloatThumb PmenuThumb hi default link CocFloatSbar PmenuSbar endif if coc#highlight#get_contrast('Normal', 'CursorLine') < 1.3 " Avoid color too close exe 'hi default CocListLine '.coc#highlight#create_bg_command('Normal', &background ==# 'dark' ? -20 : 20) else hi default link CocListLine CursorLine endif hi default link CocFloatActive CocSearch hi default link CocFadeOut Conceal hi default link CocMarkdownCode markdownCode hi default link CocMarkdownHeader markdownH1 hi default link CocDeprecatedHighlight CocStrikeThrough hi default link CocUnusedHighlight CocFadeOut hi default link CocListSearch CocSearch hi default link CocListMode ModeMsg hi default link CocListPath Comment hi default link CocHighlightText CursorColumn hi default link CocHoverRange Search hi default link CocCursorRange Search hi default link CocLinkedEditing CocCursorRange hi default link CocHighlightRead CocHighlightText hi default link CocHighlightWrite CocHighlightText " Notification hi default CocNotificationProgress ctermfg=Blue guifg=#15aabf guibg=NONE hi default link CocNotificationButton CocUnderline hi default link CocNotificationError CocErrorFloat hi default link CocNotificationWarning CocWarningFloat hi default link CocNotificationInfo CocInfoFloat " Snippet hi default link CocSnippetVisual Visual " Tree view highlights hi default link CocTreeTitle Title hi default link CocTreeDescription Comment hi default link CocTreeOpenClose CocBold hi default link CocTreeSelected CursorLine hi default link CocSelectedRange CocHighlightText " Symbol highlights hi default link CocSymbolDefault MoreMsg "Pum hi default link CocPumSearch CocSearch hi default link CocPumDetail Comment hi default link CocPumMenu CocFloating hi default link CocPumShortcut Comment hi default link CocPumDeprecated CocStrikeThrough hi default CocVirtualText ctermfg=12 guifg=#504945 hi default link CocPumVirtualText CocVirtualText hi default link CocInputBoxVirtualText CocVirtualText hi default link CocFloatDividingLine CocVirtualText if has('nvim-0.5.0') hi default CocCursorTransparent gui=strikethrough blend=100 endif let sign_colors = { \ 'Error': ['Red', '#ff0000'], \ 'Warn': ['Brown', '#ff922b'], \ 'Info': ['Yellow', '#fab005'], \ 'Hint': ['Blue', '#15aabf'] \ } for name in ['Error', 'Warning', 'Info', 'Hint'] let suffix = name ==# 'Warning' ? 'Warn' : name if hlexists('DiagnosticUnderline'.suffix) exe 'hi default link Coc'.name.'Highlight DiagnosticUnderline'.suffix else exe 'hi default link Coc'.name.'Highlight CocUnderline' endif if hlexists('DiagnosticSign'.suffix) exe 'hi default link Coc'.name.'Sign DiagnosticSign'.suffix else exe 'hi default Coc'.name.'Sign ctermfg='.sign_colors[suffix][0].' guifg='.sign_colors[suffix][1] endif if hlexists('DiagnosticVirtualText'.suffix) exe 'hi default link Coc'.name.'VirtualText DiagnosticVirtualText'.suffix else call s:CreateHighlight('Coc'.name.'VirtualText', 'Coc'.name.'Sign', 'Normal') endif if hlexists('Diagnostic'.suffix) exe 'hi default link Coc'.name.'Float Diagnostic'.suffix else call s:CreateHighlight('Coc'.name.'Float', 'Coc'.name.'Sign', 'CocFloating') endif endfor call s:CreateHighlight('CocInlayHint', 'CocHintSign', 'SignColumn') for name in ['Parameter', 'Type'] exe 'hi default link CocInlayHint'.name.' CocInlayHint' endfor call s:AddAnsiGroups() if get(g:, 'coc_default_semantic_highlight_groups', 1) let hlMap = { \ 'Namespace': ['@namespace', 'Include'], \ 'Type': ['@type', 'Type'], \ 'Class': ['@constructor', 'Special'], \ 'Enum': ['@type', 'Type'], \ 'Interface': ['@type', 'Type'], \ 'Struct': ['@structure', 'Identifier'], \ 'TypeParameter': ['@parameter', 'Identifier'], \ 'Parameter': ['@parameter', 'Identifier'], \ 'Variable': ['@variable', 'Identifier'], \ 'Property': ['@property', 'Identifier'], \ 'EnumMember': ['@property', 'Constant'], \ 'Event': ['@keyword', 'Keyword'], \ 'Function': ['@function', 'Function'], \ 'Method': ['@method', 'Function'], \ 'Macro': ['@constant.macro', 'Define'], \ 'Keyword': ['@keyword', 'Keyword'], \ 'Modifier': ['@storageclass', 'StorageClass'], \ 'Comment': ['@comment', 'Comment'], \ 'String': ['@string', 'String'], \ 'Number': ['@number', 'Number'], \ 'Boolean': ['@boolean', 'Boolean'], \ 'Regexp': ['@string.regex', 'String'], \ 'Operator': ['@operator', 'Operator'], \ 'Decorator': ['@symbol', 'Identifier'], \ 'Deprecated': ['@text.strike', 'CocDeprecatedHighlight'] \ } for [key, value] in items(hlMap) let ts = get(value, 0, '') let fallback = get(value, 1, '') execute 'hi default link CocSem'.key.' '.(coc#highlight#valid(ts) ? ts : fallback) endfor endif let symbolMap = { \ 'Keyword': ['@keyword', 'Keyword'], \ 'Namespace': ['@namespace', 'Include'], \ 'Class': ['@constructor', 'Special'], \ 'Method': ['@method', 'Function'], \ 'Property': ['@property', 'Identifier'], \ 'Text': ['@text', 'CocSymbolDefault'], \ 'Unit': ['@unit', 'CocSymbolDefault'], \ 'Value': ['@value', 'CocSymbolDefault'], \ 'Snippet': ['@snippet', 'CocSymbolDefault'], \ 'Color': ['@color', 'Float'], \ 'Reference': ['@text.reference', 'Constant'], \ 'Folder': ['@folder', 'CocSymbolDefault'], \ 'File': ['@file', 'Statement'], \ 'Module': ['@module', 'Statement'], \ 'Package': ['@package', 'Statement'], \ 'Field': ['@field', 'Identifier'], \ 'Constructor': ['@constructor', 'Special'], \ 'Enum': ['@type', 'CocSymbolDefault'], \ 'Interface': ['@type', 'CocSymbolDefault'], \ 'Function': ['@function', 'Function'], \ 'Variable': ['@variable.builtin', 'Special'], \ 'Constant': ['@constant', 'Constant'], \ 'String': ['@string', 'String'], \ 'Number': ['@number', 'Number'], \ 'Boolean': ['@boolean', 'Boolean'], \ 'Array': ['@array', 'CocSymbolDefault'], \ 'Object': ['@object', 'CocSymbolDefault'], \ 'Key': ['@key', 'Identifier'], \ 'Null': ['@null', 'Type'], \ 'EnumMember': ['@property', 'Identifier'], \ 'Struct': ['@structure', 'Keyword'], \ 'Event': ['@constant', 'Constant'], \ 'Operator': ['@operator', 'Operator'], \ 'TypeParameter': ['@parameter', 'Identifier'], \ } for [key, value] in items(symbolMap) let hlGroup = coc#highlight#valid(value[0]) ? value[0] : get(value, 1, 'CocSymbolDefault') if hlexists(hlGroup) execute 'hi default CocSymbol'.key.' '.coc#highlight#get_hl_command(synIDtrans(hlID(hlGroup)), 'fg', '223', '#ebdbb2') endif endfor endfunction function! s:ShowInfo() if coc#rpc#ready() call coc#rpc#notify('showInfo', []) else let lines = [] echomsg 'coc.nvim service not started, checking environment...' let node = get(g:, 'coc_node_path', $COC_NODE_PATH == '' ? 'node' : $COC_NODE_PATH) if !executable(node) call add(lines, 'Error: '.node.' is not executable!') else let output = trim(system(node . ' --version')) let ms = matchlist(output, 'v\(\d\+\).\(\d\+\).\(\d\+\)') if empty(ms) || str2nr(ms[1]) < 14 || (str2nr(ms[1]) == 14 && str2nr(ms[2]) < 14) call add(lines, 'Error: Node version '.output.' < 14.14.0, please upgrade node.js') endif endif " check bundle let file = s:root.'/build/index.js' if !filereadable(file) call add(lines, 'Error: javascript bundle not found, please compile code of coc.nvim by esbuild.') endif if !empty(lines) botright vnew setl filetype=nofile call setline(1, lines) else if get(g:, 'coc_start_at_startup',1) echohl MoreMsg | echon 'Service stopped for some unknown reason, try :CocStart' | echohl None else echohl MoreMsg | echon 'Start on startup is disabled, try :CocStart' | echohl None endif endif endif endfunction function! s:CursorRangeFromSelected(type, ...) abort " add range by operator call coc#rpc#request('cursorsSelect', [bufnr('%'), 'operator', a:type]) endfunction function! s:FormatFromSelected(type) call CocActionAsync('formatSelected', a:type) endfunction function! s:CodeActionFromSelected(type) call CocActionAsync('codeAction', a:type) endfunction function! s:CodeActionRefactorFromSelected(type) call CocActionAsync('codeAction', a:type, ['refactor'] ,v:true) endfunction command! -nargs=0 CocOutline :call coc#rpc#notify('showOutline', []) command! -nargs=? CocDiagnostics :call s:OpenDiagnostics() command! -nargs=0 CocInfo :call s:ShowInfo() command! -nargs=0 CocOpenLog :call coc#rpc#notify('openLog', []) command! -nargs=0 CocDisable :call s:Disable() command! -nargs=0 CocEnable :call s:Enable(0) command! -nargs=0 CocConfig :call s:OpenConfig() command! -nargs=0 CocLocalConfig :call coc#rpc#notify('openLocalConfig', []) command! -nargs=0 CocRestart :call coc#rpc#restart() command! -nargs=0 CocStart :call coc#rpc#start_server() command! -nargs=0 CocPrintErrors :call coc#rpc#show_errors() command! -nargs=1 -complete=custom,s:LoadedExtensions CocWatch :call coc#rpc#notify('watchExtension', []) command! -nargs=+ -complete=custom,s:SearchOptions CocSearch :call coc#rpc#notify('search', []) command! -nargs=+ -complete=custom,s:ExtensionList CocUninstall :call CocActionAsync('uninstallExtension', ) command! -nargs=* -complete=custom,s:CommandList -range CocCommand :call coc#rpc#notify('runCommand', []) command! -nargs=* -complete=custom,coc#list#options CocList :call coc#rpc#notify('openList', []) command! -nargs=? -complete=custom,coc#list#names CocListResume :call coc#rpc#notify('listResume', []) command! -nargs=? -complete=custom,coc#list#names CocListCancel :call coc#rpc#notify('listCancel', []) command! -nargs=? -complete=custom,coc#list#names CocPrev :call coc#rpc#notify('listPrev', []) command! -nargs=? -complete=custom,coc#list#names CocNext :call coc#rpc#notify('listNext', []) command! -nargs=? -complete=custom,coc#list#names CocFirst :call coc#rpc#notify('listFirst', []) command! -nargs=? -complete=custom,coc#list#names CocLast :call coc#rpc#notify('listLast', []) command! -nargs=0 CocUpdate :call coc#util#update_extensions(1) command! -nargs=0 -bar CocUpdateSync :call coc#util#update_extensions() command! -nargs=* -bar -complete=custom,s:InstallOptions CocInstall :call coc#util#install_extension([]) call s:Enable(1) augroup coc_dynamic_autocmd augroup END augroup coc_dynamic_content augroup END augroup coc_dynamic_option augroup END " Default key-mappings for completion if empty(mapcheck('', 'i')) inoremap coc#pum#visible() ? coc#pum#next(1) : "\" endif if empty(mapcheck('', 'i')) inoremap coc#pum#visible() ? coc#pum#prev(1) : "\" endif if empty(mapcheck('', 'i')) inoremap coc#pum#visible() ? coc#pum#next(0) : "\" endif if empty(mapcheck('', 'i')) inoremap coc#pum#visible() ? coc#pum#prev(0) : "\" endif if empty(mapcheck('', 'i')) inoremap coc#pum#visible() ? coc#pum#cancel() : "\" endif if empty(mapcheck('', 'i')) inoremap coc#pum#visible() ? coc#pum#confirm() : "\" endif if empty(mapcheck('', 'i')) inoremap coc#pum#visible() ? coc#pum#scroll(1) : "\" endif if empty(mapcheck('', 'i')) inoremap coc#pum#visible() ? coc#pum#scroll(0) : "\" endif vnoremap (coc-range-select) :call CocActionAsync('rangeSelect', visualmode(), v:true) vnoremap (coc-range-select-backward) :call CocActionAsync('rangeSelect', visualmode(), v:false) nnoremap (coc-range-select) :call CocActionAsync('rangeSelect', '', v:true) nnoremap (coc-codelens-action) :call CocActionAsync('codeLensAction') vnoremap (coc-format-selected) :call CocActionAsync('formatSelected', visualmode()) vnoremap (coc-codeaction-selected) :call CocActionAsync('codeAction', visualmode()) vnoremap (coc-codeaction-refactor-selected) :call CocActionAsync('codeAction', visualmode(), ['refactor'], v:true) nnoremap (coc-codeaction-selected) :set operatorfunc=CodeActionFromSelectedg@ nnoremap (coc-codeaction-refactor-selected) :set operatorfunc=CodeActionRefactorFromSelectedg@ nnoremap (coc-codeaction) :call CocActionAsync('codeAction', '') nnoremap (coc-codeaction-line) :call CocActionAsync('codeAction', 'currline') nnoremap (coc-codeaction-cursor) :call CocActionAsync('codeAction', 'cursor') nnoremap (coc-codeaction-refactor) :call CocActionAsync('codeAction', 'cursor', ['refactor'], v:true) nnoremap (coc-codeaction-source) :call CocActionAsync('codeAction', '', ['source'], v:true) nnoremap (coc-rename) :call CocActionAsync('rename') nnoremap (coc-format-selected) :set operatorfunc=FormatFromSelectedg@ nnoremap (coc-format) :call CocActionAsync('format') nnoremap (coc-diagnostic-info) :call CocActionAsync('diagnosticInfo') nnoremap (coc-diagnostic-next) :call CocActionAsync('diagnosticNext') nnoremap (coc-diagnostic-prev) :call CocActionAsync('diagnosticPrevious') nnoremap (coc-diagnostic-next-error) :call CocActionAsync('diagnosticNext', 'error') nnoremap (coc-diagnostic-prev-error) :call CocActionAsync('diagnosticPrevious', 'error') nnoremap (coc-definition) :call CocActionAsync('jumpDefinition') nnoremap (coc-declaration) :call CocActionAsync('jumpDeclaration') nnoremap (coc-implementation) :call CocActionAsync('jumpImplementation') nnoremap (coc-type-definition) :call CocActionAsync('jumpTypeDefinition') nnoremap (coc-references) :call CocActionAsync('jumpReferences') nnoremap (coc-references-used) :call CocActionAsync('jumpUsed') nnoremap (coc-openlink) :call CocActionAsync('openLink') nnoremap (coc-fix-current) :call CocActionAsync('doQuickfix') nnoremap (coc-float-hide) :call coc#float#close_all() nnoremap (coc-float-jump) :call coc#float#jump() nnoremap (coc-command-repeat) :call CocAction('repeatCommand') nnoremap (coc-refactor) :call CocActionAsync('refactor') nnoremap (coc-cursors-operator) :set operatorfunc=CursorRangeFromSelectedg@ vnoremap (coc-cursors-range) :call CocAction('cursorsSelect', bufnr('%'), 'range', visualmode()) nnoremap (coc-cursors-word) :call CocAction('cursorsSelect', bufnr('%'), 'word', 'n') nnoremap (coc-cursors-position) :call CocAction('cursorsSelect', bufnr('%'), 'position', 'n') vnoremap (coc-funcobj-i) :call CocAction('selectSymbolRange', v:true, visualmode(), ['Method', 'Function']) vnoremap (coc-funcobj-a) :call CocAction('selectSymbolRange', v:false, visualmode(), ['Method', 'Function']) onoremap (coc-funcobj-i) :call CocAction('selectSymbolRange', v:true, '', ['Method', 'Function']) onoremap (coc-funcobj-a) :call CocAction('selectSymbolRange', v:false, '', ['Method', 'Function']) vnoremap (coc-classobj-i) :call CocAction('selectSymbolRange', v:true, visualmode(), ['Interface', 'Struct', 'Class']) vnoremap (coc-classobj-a) :call CocAction('selectSymbolRange', v:false, visualmode(), ['Interface', 'Struct', 'Class']) onoremap (coc-classobj-i) :call CocAction('selectSymbolRange', v:true, '', ['Interface', 'Struct', 'Class']) onoremap (coc-classobj-a) :call CocAction('selectSymbolRange', v:false, '', ['Interface', 'Struct', 'Class']) ================================================ FILE: bundle/context_filetype.vim/.github/FUNDING.yml ================================================ # These are supported funding model platforms github: Shougo # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] patreon: # Replace with a single Patreon username open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] ================================================ FILE: bundle/context_filetype.vim/LICENSE ================================================ License: MIT license AUTHOR: Shougo Matsushita Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/context_filetype.vim/autoload/context_filetype/defaults.vim ================================================ "============================================================================= " FILE: defaultsvim " AUTHOR: Shougo Matsushita " License: MIT license "============================================================================= let g:context_filetype#defaults#_filetypes = #{ \ asciidoc: [ \ #{ \ start : '^\[source\%(%[^,]*\)\?,\(\h\w*\)\(,.*\)\?\]\s*\n----\s*\n', \ end : '^----\s*$', \ filetype : '\1', \ }, \ #{ \ start : '^\[source\%(%[^,]*\)\?,\(\h\w*\)\(,.*\)\?\]\s*\n', \ end : '^$', \ filetype : '\1', \ }, \ ], \ c: [ \ #{ \ start: '_*asm_*\s\+\h\w*', \ end: '$', \ filetype: 'masm', \ }, \ #{ \ start: '_*asm_*\s*\%(\n\s*\)\?{', \ end: '}', \ filetype: 'masm', \ }, \ #{ \ start: '_*asm_*\s*\%(_*volatile_*\s*\)\?(', \ end: ');', \ filetype: 'gas', \ }, \ ], \ cpp: [ \ #{ \ start: '_*asm_*\s\+\h\w*', \ end: '$', \ filetype: 'masm', \ }, \ #{ \ start: '_*asm_*\s*\%(\n\s*\)\?{', \ end: '}', \ filetype: 'masm', \ }, \ #{ \ start: '_*asm_*\s*\%(_*volatile_*\s*\)\?(', \ end: ');', \ filetype: 'gas', \ }, \ ], \ d: [ \ #{ \ start: 'asm\s*\%(\n\s*\)\?{', \ end: '}', \ filetype: 'masm', \ }, \ ], \ eruby: [ \ #{ \ start: '<%[=#]\?', \ end: '%>', \ filetype: 'ruby', \ }, \ ], \ go: [ \ #{ \ start: '^\s*\%(//\s*\)\?#\s*include\s\+', \ end: '$', \ filetype: 'c', \ }, \ ], \ haml: [ \ #{ \ start : '^\s*-', \ end : '$', \ filetype : 'ruby', \ }, \ #{ \ start : '^\s*\w*=', \ end : '$', \ filetype : 'ruby', \ }, \ #{ \ start : '^:javascript$', \ end : '^\S', \ filetype : 'javascript', \ }, \ #{ \ start : '^:css$', \ end : '^\S', \ filetype : 'css', \ }, \ ], \ help: [ \ #{ \ start: '^>\|\s>$', \ end: '^<\|^\S\|^$', \ filetype: 'vim', \ }, \ ], \ html: [ \ #{ \ start: ']*\)\? type="text/javascript"\%( [^>]*\)\?>', \ end: '', \ filetype: 'javascript', \ }, \ #{ \ start: ']*\)\? type="text/coffeescript"\%( [^>]*\)\?>', \ end: '', \ filetype: 'coffee', \ }, \ #{ \ start: ']*\)\?>', \ end: '', \ filetype: 'javascript', \ }, \ #{ \ start: ']*\)\?>', \ end: '', \ filetype: 'css', \ }, \ #{ \ start: '<[^>]\+ style=\([''"]\)', \ end: '\1', \ filetype: 'css', \ }, \ ], \ int-nyaos: [ \ #{ \ start: '\]*\)\? \%(lang="\%(\(\h\w*\)\)"\)\%( [^>]*\)\?>', \ end: '', \ filetype: '\1', \ }, \ #{ \ start: ']*\)\?>', \ end: '', \ filetype: 'html', \ }, \ #{ \ start: \ ']*\)\? \%(ts\|lang="\%(ts\|typescript\)"\)\%( [^>]*\)\?>', \ end: '', \ filetype: 'typescript', \ }, \ #{ \ start: ']*\)\? \%(lang="\%(\(\h\w*\)\)"\)\%( [^>]*\)\?>', \ end: '', \ filetype: '\1', \ }, \ #{ \ start: ']*\)\?>', \ end: '', \ filetype: 'javascript', \ }, \ #{ \ start: ']*\)\? \%(lang="\%(\(\h\w*\)\)"\)\%( [^>]*\)\?>', \ end: '', \ filetype: '\1', \ }, \ #{ \ start: ']*\)\?>', \ end: '', \ filetype: 'css', \ }, \ #{ \ start: '<\(\h\w*\)>', \ end: '', \ filetype: 'vue-\1', \ }, \ #{ \ start: '<\(\h\w*\) \%(lang="\%(\(\h\w*\)\)"\)\%( [^>]*\)\?>', \ end: '', \ filetype: '\2', \ }, \ ], \ xhtml: [ \ #{ \ start: ']*\)\? type="text/javascript"\%( [^>]*\)\?>', \ end: '', \ filetype: 'javascript', \ }, \ #{ \ start: ']*\)\? type="text/coffeescript"\%( [^>]*\)\?>', \ end: '', \ filetype: 'coffee', \ }, \ #{ \ start: ']*\)\? type="text/css"\%( [^>]*\)\?>', \ end: '', \ filetype: 'css', \ }, \ ], \ } let g:context_filetype#defaults#_same_filetypes = #{ \ cpp: 'c', \ css: 'scss', \ erb: 'ruby,html,xhtml', \ html: 'xhtml', \ htmldjango: 'html', \ less: 'css', \ plaintex: 'bib,tex', \ scss: 'css', \ stylus: 'css', \ tex: 'bib,plaintex', \ vimconsole: 'vim', \ xhtml: 'html,xml', \ xml: 'xhtml', \ } let g:context_filetype#defaults#_ignore_patterns = #{ \ toml: ['^\s*#\s*'], \ } let g:context_filetype#defaults#_comment_patterns = #{ \ toml: [ \ #{ \ start: '^\s*#', \ end: '$', \ }, \ ], \ } ================================================ FILE: bundle/context_filetype.vim/autoload/context_filetype.vim ================================================ "============================================================================= " FILE: context_filetype.vim " AUTHOR: Shougo Matsushita " License: MIT license "============================================================================= if !has('nvim-0.8') && v:version < 802 echohl WarningMsg echomsg 'context_filetype.vim requires Vim 8.2+ or NeoVim 0.8+.' echohl None finish endif let g:context_filetype#filetypes = \ g:->get('context_filetype#filetypes', {}) let g:context_filetype#ignore_composite_filetypes = \ g:->get('context_filetype#ignore_composite_filetypes', {}) let g:context_filetype#same_filetypes = \ g:->get('context_filetype#same_filetypes', {}) let g:context_filetype#ignore_patterns = \ g:->get('context_filetype#ignore_patterns', {}) let g:context_filetype#search_offset = \ g:->get('context_filetype#search_offset', 200) let s:prev_context = {} let s:prev_filetype = '' function! context_filetype#version() abort return printf('%02d%02d', 2, 0)->str2nr() endfunction function! context_filetype#get(...) abort const base_filetype = a:->get(1, &filetype) let filetypes = context_filetype#filetypes() let context = s:get_nest(base_filetype, filetypes) if context.range == s:null_range && !(context->has_key('synname')) let context.filetype = base_filetype endif return context endfunction function! context_filetype#get_filetype(...) abort const base_filetype = a:->get(1, &filetype) let context = #{ \ bufnr: '%'->bufnr(), \ filetype: base_filetype, \ input: s:get_input()->substitute('\w\+$', '', ''), \ linenr: '.'->line(), \ } if context !=# s:prev_context " Renew cache let s:prev_context = context let s:prev_filetype = context_filetype#get(base_filetype).filetype endif return s:prev_filetype endfunction function! context_filetype#get_filetypes(...) abort const filetype = 'context_filetype#get_filetype'->call(a:000) let filetypes = [filetype] if filetype =~# '\.' if g:context_filetype#ignore_composite_filetypes->has_key(filetype) let filetypes = [ \ g:context_filetype#ignore_composite_filetypes[filetype] \ ] else " Set composite filetype. let filetypes += filetype->split('\.') endif endif for ft in filetypes->copy() let filetypes += s:get_same_filetypes(ft) endfor if filetypes->len() > 1 let filetypes = s:uniq(filetypes) endif return filetypes endfunction function! context_filetype#get_same_filetypes(...) abort const filetype = 'context_filetype#get_filetype'->call(a:000) let filetypes = [] for ft in context_filetype#get_filetypes(filetype) let filetypes += s:get_same_filetypes(ft) endfor if filetypes->len() > 1 let filetypes = s:uniq(filetypes) endif return filetypes endfunction function! context_filetype#get_range(...) abort const base_filetype = a:->get(1, &filetype) return context_filetype#get(base_filetype).range endfunction function! context_filetype#default_filetypes() abort return g:context_filetype#defaults#_filetypes->deepcopy() endfunction function! context_filetype#filetypes() abort if 'b:context_filetype_filetypes'->exists() return b:context_filetype_filetypes->deepcopy() endif return g:context_filetype#defaults#_filetypes->deepcopy() \ ->extend(g:context_filetype#filetypes->deepcopy()) endfunction function! context_filetype#ignore_patterns() abort if 'b:context_filetype_ignore_patterns'->exists() return b:context_filetype_ignore_patterns->deepcopy() endif return g:context_filetype#defaults#_ignore_patterns->deepcopy() \ ->extend(g:context_filetype#ignore_patterns->deepcopy()) endfunction function! s:get_same_filetypes(filetype) abort let same_filetypes = g:context_filetype#defaults#_same_filetypes->copy() \ ->extend(g:context_filetype#same_filetypes) const default = same_filetypes->get('_', '') return same_filetypes->get(a:filetype, default)->split(',') endfunction function! s:stopline_forward() abort const stopline_forward = '.'->line() + g:context_filetype#search_offset return (stopline_forward > '$'->line()) ? '$'->line() : stopline_forward endfunction function! s:stopline_back() abort let stopline_back = '.'->line() - g:context_filetype#search_offset return (stopline_back <= 1) ? 1 : stopline_back endfunction " a <= b function! s:pos_less_equal(a, b) abort return a:a[0] == a:b[0] ? a:a[1] <= a:b[1] : a:a[0] <= a:b[0] endfunction function! s:is_in(start, end, pos) abort " start <= pos && pos <= end return s:pos_less_equal(a:start, a:pos) && s:pos_less_equal(a:pos, a:end) endfunction function! s:file_range() abort return [[1, 1], ['$'->line(), '$'->getline()->len() + 1]] endfunction function! s:replace_submatch(pattern, match_list) abort return a:pattern->substitute('\\\@>\(\d\)', \ { m -> a:match_list[m[1]] }, 'g') endfunction function! s:replace_submatch_pattern(pattern, match_list) abort let pattern = '' let backref_end_prev = 0 let backref_start = a:pattern->match('\\\@>\d') let backref_end = backref_start + 2 let magic = '\m' let magic_start = a:pattern->match('\\\@>[vmMV]') while 0 <= backref_start while 0 <= magic_start && magic_start <= backref_end let magic = a:pattern[magic_start : magic_start + 1] let magic_start = a:pattern->match('\\\@>[vmMV]', magic_start + 2) if magic_start == backref_end let backref_end += 2 endif endwhile if backref_start != 0 let pattern ..= a:pattern[backref_end_prev : backref_start - 1] endif let pattern ..= '\V' \ .. a:match_list[a:pattern[backref_start + 1]]->escape('\') \ .. magic let backref_end_prev = backref_end let backref_start = a:pattern->match('\\\@>\d', backref_end_prev) let backref_end = backref_start + 2 endwhile return pattern .. a:pattern[backref_end_prev : -1] endfunction let s:null_pos = [0, 0] let s:null_range = [[0, 0], [0, 0]] function! s:search_range(start_pattern, end_pattern, ignore_pattern) abort let stopline_forward = s:stopline_forward() let stopline_back = s:stopline_back() let cur_text = \ (mode() ==# 'i' ? ('.'->col()-1) : \ '.'->col()) >= '.'->getline()->len() ? \ getline('.') : \ '.'->getline()->matchstr( \ '^.*\%' .. (mode() ==# 'i' ? '.'->col() : '.'->col() - 1) \ .. 'c' .. (mode() ==# 'i' ? '' : '.')) let start_pattern = a:ignore_pattern .. a:start_pattern let curline_pattern = start_pattern .. '\ze.\{-}$' if cur_text =~# curline_pattern let start = ['.'->line(), cur_text->matchend(curline_pattern)] else let start = start_pattern->searchpos('bnceW', stopline_back) endif if start == s:null_pos return s:null_range endif let start[1] += 1 let end_pattern = a:end_pattern if end_pattern =~# '\\\@>\d' let lines = start[0]->getline('.'->line()) let match_list = lines->join("\n")->matchlist(start_pattern) let end_pattern = s:replace_submatch_pattern(end_pattern, match_list) endif let end_forward = end_pattern->searchpos('ncW', stopline_forward) if end_forward == s:null_pos let end_forward = ['$'->line(), '$'->getline()->len() + 1] endi let end_backward = end_pattern->searchpos('bnW', stopline_back) if s:pos_less_equal(start, end_backward) return s:null_range endif let end_forward[1] -= 1 if mode() !=# 'i' && start[1] >= start[0]->getline()->strdisplaywidth() let start[0] += 1 let start[1] = 1 endif if end_forward[1] <= 1 let end_forward[0] -= 1 let len = end_forward[0]->getline()->len() let len = len ? len : 1 let end_forward[1] = len endif return [start, end_forward] endfunction let s:null_context = #{ \ filetype : '', \ range : s:null_range, \ } function! s:get_context(filetype, context_filetypes, search_range) abort let base_filetype = a:filetype->empty() ? 'nothing' : a:filetype let context_filetypes = a:context_filetypes->get(base_filetype, []) if context_filetypes->empty() return s:null_context endif let pos = ['.'->line(), '.'->col()] let ignore_patterns = context_filetype#ignore_patterns() \ ->get(base_filetype, []) let ignore_pattern = ignore_patterns->empty() ? '' : \ '\%(' .. ignore_patterns->join('|') .. '\)\@line(), '.'->col()) let synname = id->synIDattr('name') if synname =~# context.synname_pattern return #{ \ filetype : context.filetype, \ range: s:null_range, \ synname: synname \ } endif endfor continue endif let range = s:search_range(context.start, context.end, ignore_pattern) " Set cursor position let start = range[0] let end = [range[1][0], (mode() ==# 'i') ? range[1][1]+1 : range[1][1]] " start <= pos && pos <= end " search_range[0] <= start && start <= search_range[1] " search_range[0] <= end && end <= search_range[1] if range != s:null_range \ && s:is_in(start, end, pos) \ && s:is_in(a:search_range[0], a:search_range[1], range[0]) \ && s:is_in(a:search_range[0], a:search_range[1], range[1]) let context_filetype = get(context, 'filetype', a:filetype) if context_filetype =~# '\\\@>\d' let stopline_back = s:stopline_back() let lines = searchpos(context.start, 'nbW', stopline_back)[0] \ ->getline('.'->line()) let match_list = lines->join("\n")->matchlist(context.start) let context_filetype = s:replace_submatch(context_filetype, match_list) endif return #{ filetype: context_filetype, range: range } endif endfor return s:null_context endfunction function! s:get_nest_impl(filetype, context_filetypes, prev_context) abort let context = s:get_context(a:filetype, \ a:context_filetypes, a:prev_context.range) if context.range != s:null_range && context.filetype !=# a:filetype return s:get_nest_impl(context.filetype, a:context_filetypes, context) else return a:prev_context endif endfunction function! s:get_nest(filetype, context_filetypes) abort let context = s:get_context( \ a:filetype, a:context_filetypes, s:file_range()) return s:get_nest_impl(context.filetype, a:context_filetypes, context) endfunction function! s:uniq(list) abort let dict = {} for item in a:list if item !=# '' && !(dict->has_key(item)) let dict[item] = item endif endfor return dict->values() endfunction function! s:get_input() abort let mode = mode() let text = '.'->getline() let input = (mode ==# 'i' ? ('.'->col() - 1) : '.'->col()) >= text->len() ? \ text : \ text->matchstr( \ '^.*\%' .. (mode ==# 'i' ? '.'->col() : '.'->col() - 1) \ .. 'c' .. (mode ==# 'i' ? '' : '.')) return input endfunction ================================================ FILE: bundle/context_filetype.vim/doc/context_filetype.jax ================================================ *context_filetype.txt* Vim script の context filetype ライブラリ Version: 2.0 Author : Shougo License: MIT license CONTENTS *context_filetype-contents* 概要 |context_filetype-introduction| インターフェース |context_filetype-interface| 変数 |context_filetype-variables| 関数 |context_filetype-functions| ============================================================================== 概要 *context_filetype-introduction* *context_filetype* はカーソル位置を基準とした、文脈から特定の filetype を判定 する為の Vim script ライブラリです。 コード中に他の言語を埋め込むような言語で利用する事が出来ます。 また、このプラグインは他のプラグインから使用する事を想定して作られています。 必要バージョン * Vim 8.2+ または NeoVim 0.8+. ============================================================================== サポート *context_filetype-support* 各 filetype で対応しているコンテキストの一覧です。 - "c" masm gas - "cpp" masm gas - "d" masm - "eruby" ruby - "help" vim - "html" javascript coffee css - "int-nyaos" lua - "lua" vim - "nyaos" lua - "python" vim - "vim" python ruby lua - "vimshell" vim - "xhtml" javascript coffee css - "markdown" mathjax - "haml" ruby javascript css ============================================================================== インターフェース *context_filetype-interface* ------------------------------------------------------------------------------ 変数 *context_filetype-variables* g:context_filetype#filetypes *g:context_filetype#filetypes* 各 filetype を判定する為の辞書です。 各 filetype に対してリストで設定する事ができます。 "start" : コンテキストの開始パターン "end" : コンテキストの終了パターン "filetype" : 判定を行う filetype "end" または "filetype" に \1 が設定されている場 合は "start" にマッチした値になります。 "start"、"end" パターンは異なるものを指定する必要があります。 > " Examples: let g:context_filetype#filetypes = #{ \ vim : [ \ #{ \ start : '^\s*python <<\s*\(\h\w*\)', \ end : '^\1', \ filetype : 'python', \ }, \ ], \ markdown: [ \ #{ \ start : '^\s*```\s*\(\h\w*\)', \ end : '^\s*```$', \ filetype : '\1', \ }, \ ], \ } < b:context_filetype_filetypes *b:context_filetype_filetypes* バッファ変数版の |g:context_filetype#filetypes| です。 これが設定されている場合、|g:context_filetype#filetypes| は無 視されます。 *g:context_filetype#same_filetypes* g:context_filetype#same_filetypes 各 same filetype を判定する為の辞書です。 各 filetype に対してカンマ区切りの文字列で設定する事ができま す。 > if !('g:context_filetype#same_filetypes'->exists()) let g:context_filetype#same_filetypes = {} endif " In c buffers, completes from cpp and d buffers. let g:context_filetype#same_filetypes.c = 'cpp,d' " In cpp buffers, completes from c buffers. let g:context_filetype#same_filetypes.cpp = 'c' " In gitconfig buffers, completes from all buffers. let g:context_filetype#same_filetypes.gitconfig = '_' " In default, completes from all buffers. let g:context_filetype#same_filetypes._ = '_' < *g:context_filetype#ignore_composite_filetypes* g:context_filetype#ignore_composite_filetypes 複合 filetype を他の filetype に変換する為の辞書です。 > " Examples: let g:context_filetype#ignore_composite_filetypes = #{ \ ruby.spec : 'ruby', \ } < *g:context_filetype#ignore_patterns* g:context_filetype#ignore_patterns 各 filetype を判定するとき、特定のパターンを無視するための辞書 です。 各 filetype に対してリストで設定する事ができます。 コメントアウトを無視するときに便利です。 Note: この機能は遅いです > " Examples: let g:context_filetype#ignore_patterns = #{ \ toml: ['^\s*#\s*'], \ } < *g:context_filetype#search_offset* g:context_filetype#search_offset コンテキストを判定する時にカーソル位置からこの変数に設定され ている行数の範囲のみを対象として判定を行います。 バッファの行数が多くて動作が重く感じる場合はこの値を小さくし て試してみて下さい。 Default: > " カーソル位置から前後 200 行の範囲で判定を行う let g:context_filetype#search_offset = 200 < ------------------------------------------------------------------------------ 関数 *context_filetype-functions* context_filetype#version() *context_filetype#version()* バージョン情報を返す。 Note: このライブラリがインストールされているかどうかの判定を 使用する場合に利用することもできます。 Example: > let has_context_filetype = 0 silent! let has_context_filetype = context_filetype#version() if has_context_filetype " context_filetype.vim が使用出来る場合の処理 else " context_filetype.vim が使用出来ない場合の処理 endif < *context_filetype#default_filetypes()* context_filetype#default_filetypes() デフォルトで設定されている |g:context_filetype#filetypes| の値 を返す。 context_filetype#get([{filetype}]) *context_filetype#get()* カーソル位置のコンテキスト情報を下記のようなフォーマットで返 す。 > #{ filetype: vim, range: [[3, 2], [10, 2]], } < コンテキストの判定には {filetype} が使用され、{filetype} が渡 されなければ 'filetype' の値が使用される。 *context_filetype#get_filetype()* context_filetype#get_filetype([{filetype}]) カーソル位置のコンテキストの filetype を返す。 コンテキストの判定には {filetype} が使用され、{filetype} が渡 されなければ 'filetype' の値が使用される。 コンテキストが見つからなかった場合は {filetype} が返される。 *context_filetype#get_filetypes()* context_filetype#get_filetypes([{filetype}]) カーソル位置のコンテキストの filetype をリスト形式で返す。 この filetype には複合 filetype と same filetype が含まれる。 コンテキストの判定には {filetype} が使用され、{filetype} が渡 されなければ 'filetype' の値が使用される。 context_filetype#get_range([{filetype}]) *context_filetype#get_range()* カーソル位置のコンテキストの範囲を [[{start}], [{end}]] で返 す。 > [[3, 1], [4, 2]] < コンテキストの判定には {filetype} が使用され、{filetype} が渡 されなければ 'filetype' の値が使用される。 コンテキストが見つからなかった場合は [[0,0], [0,0]] が返され る。 ============================================================================== vim:tw=78:ts=8:ft=help:norl:noet:fen:noet: ================================================ FILE: bundle/context_filetype.vim/doc/context_filetype.txt ================================================ *context_filetype.txt* Context filetype library for Vim script Version: 1.0 Author : Shougo License: MIT license CONTENTS *context_filetype-contents* Introduction |context_filetype-introduction| Interface |context_filetype-interface| Variables |context_filetype-variables| Functions |context_filetype-functions| ============================================================================== INTRODUCTION *context_filetype-introduction* *context_filetype* provides functions to find fenced code blocks and their filetype. For example JavaScript blocks inside of HTML. The fenced code is detected by predefined regular expressions. Requirements: * Vim 8.2+ or NeoVim 0.8+. ============================================================================== INTERFACE *context_filetype-interface* ------------------------------------------------------------------------------ VARIABLES *context_filetype-variables* g:context_filetype#filetypes *g:context_filetype#filetypes* It is a dictionary to define context filetypes. The item is a list of dictionaries. The keys and values are below. "filetype" : includes filetype name. "start" : filetype start pattern. "end" : filetype end pattern. Note that "start" and "end" patterns shouldn't be identical. The patterns in "start" and "end" are always interpreted as if 'magic' is set, ignoring the actual value of the 'magic' option. You can use "\0" through "\9" to refer to "start"'s match and sub-matches in "end" and "filetype". > " Examples: if !('g:context_filetype#filetypes'->exists()) let g:context_filetype#filetypes = {} endif let g:context_filetype#filetypes.vim = [ \ #{ \ filetype: 'python', \ start: '^\s*python <<\s*\(\h\w*\)', \ end: '^\1', \ }, \ ] < Because it is complicated, refer to g:context_filetype#defaults#_filetypes for the initial value. b:context_filetype_filetypes *b:context_filetype_filetypes* It is the buffer variable version of |g:context_filetype#filetypes|. If you set it, |g:context_filetype#filetypes| is ignored. *g:context_filetype#same_filetypes* g:context_filetype#same_filetypes It is a dictionary to connect file type mutually. It is effective at time to let you refer to "c" and "cpp" mutually. The value are comma-separated filetypes. If the value contains "_", context_filetype completes from all buffers. If the key is "_", the value will be used for default same filetypes. > if !('g:context_filetype#same_filetypes'->exists()) let g:context_filetype#same_filetypes = {} endif " In c buffers, completes from cpp and d buffers. let g:context_filetype#same_filetypes.c = 'cpp,d' " In cpp buffers, completes from c buffers. let g:context_filetype#same_filetypes.cpp = 'c' " In gitconfig buffers, completes from all buffers. let g:context_filetype#same_filetypes.gitconfig = '_' " In default, completes from all buffers. let g:context_filetype#same_filetypes._ = '_' < Because it is complicated, refer to g:context_filetype#defaults#_same_filetypes for the initial value. *g:context_filetype#ignore_composite_filetypes* g:context_filetype#ignore_composite_filetypes It is a dictionary to ignore composite file type. The dictionary's key is composite filetype and value is filetype. > " Examples: let g:context_filetype#ignore_composite_filetypes = #{ \ ruby.spec : 'ruby', \ } < If you open filetype like "ruby.spec", completion is intended for "ruby" and "spec". But if you only want to complete "ruby" filetype, you can set this variable to ignore "spec". Default value is {}. *g:context_filetype#ignore_patterns* g:context_filetype#ignore_patterns It is a dictionary to ignore start patterns. The dictionary's key is filetype and value is ignore pattern. It is useful to ignore comment outed texts. Note: The feature is slow. > " Examples: let g:context_filetype#ignore_patterns = #{ \ toml: ['^\s*#\s*'], \ } < Because it is complicated, refer to g:context_filetype#defaults#_ignore_patterns for the initial value. *g:context_filetype#search_offset* g:context_filetype#search_offset It is the pattern search offset from current line. Default value is 200. ------------------------------------------------------------------------------ FUNCTIONS *context_filetype-functions* context_filetype#version() *context_filetype#version()* Get version of context filetype library. Note: It is useful for library installation check. context_filetype#get([{filetype}]) *context_filetype#get()* Get completion filetype from {filetype}. If you omit {filetype}, 'filetype' will be used. *context_filetype#get_filetypes()* context_filetype#get_filetypes([{filetype}]) Get completion filetypes from {filetype}. They contains same filetypes and composite filetypes. If you omit {filetype}, 'filetype' will be used. *context_filetype#default_filetypes()* context_filetype#default_filetypes() Get the dictionary of all default filetypes. *context_filetype#filetypes()* context_filetype#filetypes() Get the dictionary of all filetypes with * |b:context_filetype_filetypes| (if defined) or merged dictionary * |context_filetype#default_filetypes()| * |g:context_filetype#filetypes| ============================================================================== vim:tw=78:ts=8:ft=help:norl:noet:fen:noet: ================================================ FILE: bundle/context_filetype.vim/doc/tags-ja ================================================ !_TAG_FILE_ENCODING utf-8 // b:context_filetype_filetypes context_filetype.jax /*b:context_filetype_filetypes* context_filetype context_filetype.jax /*context_filetype* context_filetype#default_filetypes() context_filetype.jax /*context_filetype#default_filetypes()* context_filetype#get() context_filetype.jax /*context_filetype#get()* context_filetype#get_filetype() context_filetype.jax /*context_filetype#get_filetype()* context_filetype#get_filetypes() context_filetype.jax /*context_filetype#get_filetypes()* context_filetype#get_range() context_filetype.jax /*context_filetype#get_range()* context_filetype#version() context_filetype.jax /*context_filetype#version()* context_filetype-contents context_filetype.jax /*context_filetype-contents* context_filetype-functions context_filetype.jax /*context_filetype-functions* context_filetype-interface context_filetype.jax /*context_filetype-interface* context_filetype-introduction context_filetype.jax /*context_filetype-introduction* context_filetype-support context_filetype.jax /*context_filetype-support* context_filetype-variables context_filetype.jax /*context_filetype-variables* context_filetype.txt context_filetype.jax /*context_filetype.txt* g:context_filetype#filetypes context_filetype.jax /*g:context_filetype#filetypes* g:context_filetype#ignore_composite_filetypes context_filetype.jax /*g:context_filetype#ignore_composite_filetypes* g:context_filetype#ignore_patterns context_filetype.jax /*g:context_filetype#ignore_patterns* g:context_filetype#same_filetypes context_filetype.jax /*g:context_filetype#same_filetypes* g:context_filetype#search_offset context_filetype.jax /*g:context_filetype#search_offset* ================================================ FILE: bundle/context_filetype.vim/test/test.vim ================================================ " 使い方 " このファイルを :source する " test_files に保存されているファイルを開き、:ContextFiletypeTest " マッチしない filetype があれば quickfix へと出力される " テストファイルの作り方 " コンテキストが書かれたコード記述する " context_filetype#get() が返してほしい位置で filetype を `filetype` で記述する function! s:checker(filename) try let pos = '.'->getpos() let filetype_pattern = '`\w\+`' let result = '' normal! gg0 while filetype_pattern->search('W') if context_filetype#get_filetype() !=# ''->expand() let result ..= printf("%s:%d: bad context filetype\n", \ a:filename, '.'->line()) endif endwhile cgetexpr result cwindo finally call setpos('.', pos) endtry endfunction command! ContextFiletypeTest call s:checker('%:p'->expand()) ================================================ FILE: bundle/context_filetype.vim/test/test_files/test.html ================================================ ================================================ FILE: bundle/context_filetype.vim/test/test_files/test.md ================================================ `markdown` ```cpp `cpp` ``` ```hoge `hoge` ``` ```vim `vim` python << EOF `python` vim.eval("`vim`") EOF `vim` ruby << EOF `ruby` EOF ``` ```vim ruby << EOF `ruby` EOF ``` ```javascript ``` ```cpp `cpp` ``` ```text `text`本日は晴天なり`text` ``` `markdown` ================================================ FILE: bundle/context_filetype.vim/test/test_files/test.ny ================================================ `nyaos` lua_e " `lua` " `nyaos` lua_e "`lua`" `nyaos` lua_e " print(""`lua`"") " `nyaos` ================================================ FILE: bundle/context_filetype.vim/test/test_files/test.vim ================================================ `vim` python << EOF `python` vim.eval("`vim`") EOF `vim` ruby << EOF `ruby` EOF lua << EOF `lua` EOF `vim` lua << hoge `lua` hoge lua << hoge lua l = vim.eval('`vim`') EOF ruby << EOF `ruby` ================================================ FILE: bundle/coveragepy.vim/.gitignore ================================================ /doc/tags ================================================ FILE: bundle/coveragepy.vim/README.rst ================================================ coveragepy.vim ============== A Vim plugin to help integrate Ned Batchelder's excellent ``coverage.py`` (see: http://nedbatchelder.com/code/coverage/) tool into the editor. Allows you to bring up a buffer with detailed information from a coverage report command and mark each line in your source that is not being covered. You can also use that buffer to navigate into files that have reported missing statements and display the missed lines. Optionally, you can also hide or display the marks as you make progress. Showing a Coverage Report ------------------------- .. image:: https://github.com/alfredodeza/coveragepy.vim/raw/master/extras/session.png Installation ------------ If you have Tim Pope's Pathogen you only need to place the plugin directory inside your bundle dir, otherwise it is a single file that should go into:: vim/ftplugin/python/ Usage ===== This plugin provides a single command: ``Coveragepy`` that accepts a few arguments. Each argument and its usage is described in detail below. Whenever a ``report`` or a ``session`` is called the cursor will be placed on the first uncovered line if any. ``report`` -------- The main action is performed with this command (same as with ``coverage.py``) and when it runs it calls ``coverage.py`` and loads the information into a split buffer. It also collects all the information needed to be able to mark all lines from files that have reported missing coverage statements. To run this command do:: :Coveragepy report ``session`` ----------- This argument toggles the reporting buffer (closes it is open or opens if it is not already there). Makes sense to map it directly as a shortcut as it is completely toggable. A big plus on this session buffer is that you can navigate through the list of reported paths (it actually circles through!) with the arrow keys or j and k. If you want to navigate to a reported path that has missing lines just hit Enter (or Return) and the plugin will go to the previous window and open that selected file and then display the missing lines. ``show`` -------- Shows or hides the actual Vim `sign` marks that display which lines are missing coverage. It is implemented as a toggable argument so it will do the opposite of what is currently shown. It is useful to be able to hide these if you are already aware about the lines that need to be covered and do not want to be visually disturbed by the signs. ``refresh`` -------- Reloads and parses coverage data similar to ``:Coveragepy report`` but does not open report window and only updates line coverage marks (displayed by ``show`` command above). ``version`` ----------- Displays the current plugin version sign configuration ------------------ By default, the character used for identifying uncovered lines is '^', but this can be overridden with the following configuration flag:: g:coveragepy_uncovered_sign In a ``.vimrc`` file or locally in a buffer, changing this value to `-` would look like:: let g:coveragepy_uncovered_sign = '-' Executable auto-detection ------------------------- The plugin tries to detect the right executable name for ``coverage`` in the following order of precedence: * ``coverage`` * ``python-coverage`` * ``python3-coverage`` * ``python2-coverage`` * ``python2.7-coverage`` If none of the above match or if multiple exist but are not suitable for the project (e.g. both python2 and python3 exist), it is possible to force it by using the following configuration flag:: let g:coveragepy_executable = "/path/to/prefered/coverage" License ------- MIT Copyright (c) 2011 Alfredo Deza Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: bundle/coveragepy.vim/doc/coveragepy.txt ================================================ *coveragepy.txt* Runs coverage.py within vim and displays and interactive buffer that allows to mark missing statements. ============================================================================== CONTENTS *Coveragepy-contents* 1. Intro ............................ |CoveragepyIntro| 2. Usage ............................ |CoveragepyUsage| 3. report .......................... |CoveragepyReport| 4. Session .................................. |Session| 5. Show .................................. |ShowNoshow| 6. License ........................ |CoveragepyLicense| 7. Bugs .............................. |CoveragepyBugs| 8. Credits ........................ |CoveragepyCredits| ============================================================================== 1. Intro *CoveragepyIntro* A Vim plugin to help integrate Ned Batchelder's excellent ``coverage.py`` (see: http://nedbatchelder.com/code/coverage/) tool into the editor. Allows you to bring up a buffer with detailed information from a coverage report command and mark each line in your source that is not being covered. You can also use that buffer to navigate into files that have reported missing statements and display the missed lines. Optionally, you can also hide or display the marks as you make progress. ============================================================================== 2. Usage *CoveragepyUsage* This plugin provides a single command:: Coveragepy All arguments are able to be tab-completed. For running tests the plugin provides 3 arguments with an optional one. These arguments are:: report session show version ============================================================================== 3. Report *CoveragepyReport* The main action is performed with this command (same as with ``coverage.py``) and when it runs it calls ``coverage.py`` and loads the information into a split buffer. It also collects all the information needed to be able to mark all lines from files that have reported missing coverage statements. To run this command do:: :Coveragepy report ============================================================================== 4. Session *Session* This argument toggles the reporting buffer (closes it is open or opens if it is not already there). Makes sense to map it directly as a shortcut as it is completely toggable. A big plus on this session buffer is that you can navigate through the list of reported paths (it actually circles through!) with the arrow keys or j and k. If you want to navigate to a reported path that has missing lines just hit Enter (or Return) and the plugin will go to the previous window and open that selected file and then display the missing lines. ============================================================================== 5. Show *Show* Shows or hides the actual Vim `sign` marks that display which lines are missing coverage. The ``show`` command is implemented as a toggable argument, so whenever you call it and the signs are showing it will hide them, if they are not it will show them. It is useful to be able to hide these if you are already aware about the lines that need to be covered and do not want to be visually disturbed by the signs. ============================================================================== 5. License *CoveragepyLicense* MIT Copyright (c) 2011 Alfredo Deza Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ============================================================================== 6. Bugs *CoveragepyBugs* If you find a bug please post it on the issue tracker: https://github.com/alfredodeza/coveragepy.vim/issues ============================================================================== 7. Credits *CoveragepyCredits* Thanks to Ned Batchelder for the awesome ``coverage.py`` tool, continuously making a huge difference in my day to day testing. ============================================================================== ================================================ FILE: bundle/coveragepy.vim/ftplugin/python/coveragepy.vim ================================================ " File: coveragepy.vim " Description: Displays coverage reports from Ned Batchelder's excellent " coverage.py tool " (see: http://nedbatchelder.com/code/coverage ) " Maintainer: Alfredo Deza " License: MIT "============================================================================ if exists("g:loaded_coveragepy") || &cp finish endif function! s:HasCoverage() abort if (g:coveragepy_executable != "") return endif let executable_list = ["coverage", "python-coverage", "python3-coverage", "python2-coverage", "python2.7-coverage"] for executable_name in executable_list if (executable(executable_name) == 1) let g:coveragepy_executable = executable_name break endif endfor if (g:coveragepy_executable == "") echoerr("This plugin needs coverage.py installed and accessible") endif endfunction " Global variables for registering next/previous error let g:coveragepy_last_session = "" let g:coveragepy_marks = [] let g:coveragepy_session_map = {} let g:coveragepy_executable = "" function! s:ToggleSigns() if exists("b:coveragepy_is_displaying") && b:coveragepy_is_displaying call s:ClearSigns() let b:coveragepy_is_displaying = 0 else call s:HighlightMissing() endif endfunction function! s:CoveragepySyntax() abort let b:current_syntax = 'Coveragepy' syn match CoveragepyTitleDecoration "\v\-{2,}" syn match CoveragepyHeaders '\v(^Name\s+|\s*Stmts\s*|\s*Miss\s+|Cover|Missing$)' syn match CoveragepyDelimiter "\v^(\-\-)\s+" syn match CoveragepyPercent "\v(\d+\%\s+)" syn match CoveragepyLineNumbers "\v(\s*\d+,|\d+-\d+,|\d+-\d+$|\d+$)" hi def link CoveragepyFiles Number hi def link CoveragepyHeaders Comment hi def link CoveragepyTitleDecoration Keyword hi def link CoveragepyDelimiter Comment hi def link CoveragepyPercent Boolean hi def link CoveragepyLineNumbers Error endfunction function! s:Echo(msg, ...) abort redraw! let x=&ruler | let y=&showcmd set noruler noshowcmd if (a:0 == 1) echo a:msg else echohl WarningMsg | echo a:msg | echohl None endif let &ruler=x | let &showcmd=y endfun function! s:FindCoverage() abort let found = findfile(".coverage", ".;") if (found !~ '.coverage') return "" endif " Return the actual directory where .coverage is found return fnamemodify(found, ":h") endfunction function! s:ClearSigns() abort execute("sign unplace * group=uncovered buffer=".bufnr('%')) execute("sign unplace * group=branchuncovered buffer=".bufnr('%')) endfunction function! s:SetHighlight() if exists('g:coveragepy_uncovered_sign') let text = g:coveragepy_uncovered_sign else let text = '^' endif highlight default NoCoverage ctermfg=red guifg=#ef0000 highlight default NoBranchCoverage ctermfg=yellow guifg=#ebef00 execute 'sign define uncovered text=' . text . ' texthl=NoCoverage' execute 'sign define branchuncovered text=' . text . ' texthl=NoBranchCoverage' endfunction function! s:HighlightMissing() abort call s:SetHighlight() let b:coveragepy_is_displaying = 1 if (g:coveragepy_session_map == {}) call s:CoveragepyReport() endif call s:ClearSigns() let current_buffer_py = matchlist(expand("%:p"), '\v(.*)(.py)')[0] let current_buffer = matchlist(expand("%:p"), '\v(.*)(.py)')[1] for path in keys(g:coveragepy_session_map) if (current_buffer =~ path) || (current_buffer_py =~ path) for position in g:coveragepy_session_map[path] execute(":sign place ". position ." line=". position ." group=uncovered name=uncovered buffer=".bufnr("%")) endfor for position in g:coveragepy_session_map['BRANCH' . path] execute(":sign place ". position ." line=". position ." group=branchuncovered name=branchuncovered buffer=".bufnr("%")) endfor " FIXME: I had to comment this out because it was no longer correct " after adding branch support "execute g:coveragepy_session_map[path][0] redraw! return endif endfor call s:Echo("Coveragepy ==> 100% covered", 1) endfunction function! s:Strip(input_string) abort return split(a:input_string, " ")[0] endfunction function! s:Roulette(direction) abort let orig_line = line('.') let last_line = line('$') - 3 " if for some reason there is not enough " coverage output return if last_line < 3 return endif " Move to the line we need let move_to = orig_line + a:direction if move_to > last_line let move_to = 3 exe move_to elseif (move_to < 3) && (a:direction == -1) let move_to = last_line exe move_to elseif (move_to < 3) && (a:direction == 1) let move_to = 3 exe move_to else exe move_to endif if move_to == 1 let _num = move_to else let _num = move_to - 1 endif endfunction function! s:CoveragepyReport() abort " Run a report, ignore errors and show missing lines, " which is what we are interested after all :) let original_dir = getcwd() " First try to see if we actually have a .coverage file " to work with let has_coverage = s:FindCoverage() if (has_coverage == "") return 0 else " set the original directory path " as a global let g:coveragepy_path = has_coverage " change dir to where coverage is " and do all the magic we need exe "cd " . has_coverage call s:ClearSigns() let g:coveragepy_last_session = "" " Allow for rcfile if exists("g:coveragepy_rcfile") let s:coveragepy_rcfile=" --rcfile=".resolve(expand(g:coveragepy_rcfile)) else let s:coveragepy_rcfile="" endif let cmd = g:coveragepy_executable." report -m -i".s:coveragepy_rcfile let out = system(cmd) let g:coveragepy_last_session = out call s:ReportParse() " Finally get back to where we initially where exe "cd " . original_dir return 1 endif endfunction function! s:ReportParse() abort " After coverage runs, parse the content so we can get " line numbers mapped to files let path_to_lines = {} for line in split(g:coveragepy_last_session, '\n') if (line =~ '\v(\s*\d+,|\d+-\d+,|\d+-\d+$|\d+$)') && line !~ '\v(100\%)' let path = split(line, ' ')[0] let match_split = split(line, '%') let line_nos = match_split[-1] let all_line_nos = s:LineNumberParse(line_nos) let all_branch_line_nos = s:BranchLineNumberParse(line_nos) let path_to_lines[path] = all_line_nos let path_to_lines['BRANCH' . path] = all_branch_line_nos endif endfor let g:coveragepy_session_map = path_to_lines endfunction function! s:BranchLineNumberParse(numbers) abort " Line numbers will come with a possible comma in them " and lots of extra space. Let's remove them and strip them let parsed_list = [] let splitted = split(a:numbers, ',') for line_no in splitted " only add numbers that are branch-coverage numbers if len(split(line_no, '->')) > 1 if line_no =~ '->-' let split_char = '->-' else let split_char = '->' endif if line_no =~ '-' let split_nos = split(line_no, split_char) let first = s:Strip(split_nos[0]) call add(parsed_list, first) else call add(parsed_list, s:Strip(line_no)) endif endif endfor return parsed_list endfunction function! s:LineNumberParse(numbers) abort " Line numbers will come with a possible comma in them " and lots of extra space. Let's remove them and strip them let parsed_list = [] let splitted = split(a:numbers, ',') for line_no in splitted " only add numbers that are not branch-coverage numbers if len(split(line_no, '->')) == 1 if line_no =~ '-' let split_nos = split(line_no, '-') let first = s:Strip(split_nos[0]) let second = s:Strip(split_nos[1]) for range_no in range(first, second) call add(parsed_list, range_no) endfor else call add(parsed_list, s:Strip(line_no)) endif endif endfor return parsed_list endfunction function! s:ClearAll() abort let bufferL = ['LastSession.coveragepy'] for b in bufferL let _window = bufwinnr(b) if (_window != -1) silent! execute _window . 'wincmd w' silent! execute 'q' endif endfor endfunction function! s:LastSession() abort call s:ClearAll() let winnrback = bufwinnr(expand("%")) if (len(g:coveragepy_last_session) == 0) call s:CoveragepyReport() endif let winnr = bufwinnr('LastSession.coveragepy') silent! execute winnr < 0 ? 'botright new ' . 'LastSession.coveragepy' : winnr . 'wincmd w' setlocal buftype=nowrite bufhidden=wipe nobuflisted noswapfile nowrap number filetype=coveragepy let session = split(g:coveragepy_last_session, '\n') call append(0, session) silent! execute 'resize ' . line('$') silent! execute 'normal gg' silent! execute 'nnoremap q :q! ' nnoremap